From 8bcb5e0eebf76d5668edec8433cfba8c6394632b Mon Sep 17 00:00:00 2001 From: Emily KL <4672118+emilykl@users.noreply.github.com> Date: Wed, 22 Jul 2026 16:09:39 -0400 Subject: [PATCH 01/10] update plotly.js version to v4.0.0-rc.0 and run codegen --- codegen/resources/plot-schema.json | 49612 ++++------ js/package-lock.json | 241 +- js/package.json | 2 +- plotly/graph_objects/__init__.py | 16 +- plotly/graph_objs/__init__.py | 16 +- plotly/graph_objs/_bar.py | 430 +- plotly/graph_objs/_barpolar.py | 362 +- plotly/graph_objs/_box.py | 512 +- plotly/graph_objs/_candlestick.py | 376 +- plotly/graph_objs/_carpet.py | 218 - plotly/graph_objs/_choropleth.py | 375 +- plotly/graph_objs/_choroplethmap.py | 320 +- plotly/graph_objs/_choroplethmapbox.py | 1824 - plotly/graph_objs/_cone.py | 463 +- plotly/graph_objs/_contour.py | 364 +- plotly/graph_objs/_contourcarpet.py | 284 +- plotly/graph_objs/_densitymap.py | 373 +- plotly/graph_objs/_densitymapbox.py | 1798 - plotly/graph_objs/_figure.py | 7998 +- plotly/graph_objs/_figurewidget.py | 7998 +- plotly/graph_objs/_funnel.py | 370 +- plotly/graph_objs/_funnelarea.py | 371 +- plotly/graph_objs/_heatmap.py | 364 +- plotly/graph_objs/_histogram.py | 293 +- plotly/graph_objs/_histogram2d.py | 309 +- plotly/graph_objs/_histogram2dcontour.py | 309 +- plotly/graph_objs/_icicle.py | 370 +- plotly/graph_objs/_image.py | 254 +- plotly/graph_objs/_indicator.py | 110 - plotly/graph_objs/_isosurface.py | 397 +- plotly/graph_objs/_layout.py | 128 - plotly/graph_objs/_mesh3d.py | 535 +- plotly/graph_objs/_ohlc.py | 376 +- plotly/graph_objs/_parcats.py | 88 +- plotly/graph_objs/_parcoords.py | 110 - plotly/graph_objs/_pie.py | 481 +- .../{_scattermapbox.py => _quiver.py} | 1481 +- plotly/graph_objs/_sankey.py | 116 +- plotly/graph_objs/_scatter.py | 349 +- plotly/graph_objs/_scatter3d.py | 382 +- plotly/graph_objs/_scattercarpet.py | 371 +- plotly/graph_objs/_scattergeo.py | 420 +- plotly/graph_objs/_scattergl.py | 349 +- plotly/graph_objs/_scattermap.py | 309 +- plotly/graph_objs/_scatterpolar.py | 337 +- plotly/graph_objs/_scatterpolargl.py | 337 +- plotly/graph_objs/_scattersmith.py | 337 +- plotly/graph_objs/_scatterternary.py | 400 +- plotly/graph_objs/_splom.py | 239 +- plotly/graph_objs/_streamtube.py | 408 +- plotly/graph_objs/_sunburst.py | 370 +- plotly/graph_objs/_surface.py | 392 +- plotly/graph_objs/_table.py | 200 +- plotly/graph_objs/_treemap.py | 370 +- plotly/graph_objs/_violin.py | 310 +- plotly/graph_objs/_volume.py | 397 +- plotly/graph_objs/_waterfall.py | 451 +- plotly/graph_objs/bar/__init__.py | 2 - plotly/graph_objs/bar/_error_x.py | 55 - plotly/graph_objs/bar/_error_y.py | 55 - plotly/graph_objs/bar/_hoverlabel.py | 110 - plotly/graph_objs/bar/_insidetextfont.py | 244 - plotly/graph_objs/bar/_marker.py | 68 +- plotly/graph_objs/bar/_outsidetextfont.py | 244 - plotly/graph_objs/bar/_stream.py | 113 - plotly/graph_objs/bar/_textfont.py | 244 - plotly/graph_objs/bar/hoverlabel/_font.py | 244 - plotly/graph_objs/bar/marker/_colorbar.py | 54 - plotly/graph_objs/bar/marker/_line.py | 64 +- plotly/graph_objs/bar/marker/_pattern.py | 162 - .../graph_objs/bar/marker/colorbar/_title.py | 12 +- plotly/graph_objs/barpolar/__init__.py | 2 - plotly/graph_objs/barpolar/_hoverlabel.py | 110 - plotly/graph_objs/barpolar/_marker.py | 68 +- plotly/graph_objs/barpolar/_stream.py | 114 - .../graph_objs/barpolar/hoverlabel/_font.py | 244 - .../graph_objs/barpolar/marker/_colorbar.py | 54 - plotly/graph_objs/barpolar/marker/_line.py | 64 +- plotly/graph_objs/barpolar/marker/_pattern.py | 162 - .../barpolar/marker/colorbar/_title.py | 12 +- plotly/graph_objs/box/__init__.py | 2 - plotly/graph_objs/box/_hoverlabel.py | 110 - plotly/graph_objs/box/_stream.py | 113 - plotly/graph_objs/box/hoverlabel/_font.py | 244 - plotly/graph_objs/candlestick/__init__.py | 2 - plotly/graph_objs/candlestick/_hoverlabel.py | 110 - plotly/graph_objs/candlestick/_stream.py | 114 - .../candlestick/hoverlabel/_font.py | 244 - plotly/graph_objs/carpet/__init__.py | 2 - plotly/graph_objs/carpet/_aaxis.py | 82 - plotly/graph_objs/carpet/_baxis.py | 82 - plotly/graph_objs/carpet/_stream.py | 113 - plotly/graph_objs/choropleth/__init__.py | 2 - plotly/graph_objs/choropleth/_colorbar.py | 54 - plotly/graph_objs/choropleth/_hoverlabel.py | 110 - plotly/graph_objs/choropleth/_marker.py | 29 +- plotly/graph_objs/choropleth/_stream.py | 114 - .../graph_objs/choropleth/colorbar/_title.py | 12 +- .../graph_objs/choropleth/hoverlabel/_font.py | 244 - plotly/graph_objs/choropleth/marker/_line.py | 56 +- plotly/graph_objs/choroplethmap/__init__.py | 2 - plotly/graph_objs/choroplethmap/_colorbar.py | 54 - .../graph_objs/choroplethmap/_hoverlabel.py | 110 - plotly/graph_objs/choroplethmap/_marker.py | 29 +- plotly/graph_objs/choroplethmap/_stream.py | 114 - .../choroplethmap/colorbar/_title.py | 12 +- .../choroplethmap/hoverlabel/_font.py | 244 - .../graph_objs/choroplethmap/marker/_line.py | 56 +- .../graph_objs/choroplethmapbox/__init__.py | 40 - .../graph_objs/choroplethmapbox/_colorbar.py | 1739 - .../choroplethmapbox/_hoverlabel.py | 366 - .../choroplethmapbox/_legendgrouptitle.py | 104 - plotly/graph_objs/choroplethmapbox/_marker.py | 129 - plotly/graph_objs/choroplethmapbox/_stream.py | 114 - .../colorbar/_tickformatstop.py | 241 - .../choroplethmapbox/colorbar/_title.py | 136 - .../choroplethmapbox/colorbar/title/_font.py | 334 - .../choroplethmapbox/hoverlabel/_font.py | 587 - .../choroplethmapbox/marker/_line.py | 171 - .../choroplethmapbox/selected/__init__.py | 9 - .../choroplethmapbox/unselected/__init__.py | 9 - .../choroplethmapbox/unselected/_marker.py | 80 - plotly/graph_objs/cone/__init__.py | 2 - plotly/graph_objs/cone/_colorbar.py | 54 - plotly/graph_objs/cone/_hoverlabel.py | 110 - plotly/graph_objs/cone/_stream.py | 113 - plotly/graph_objs/cone/colorbar/_title.py | 12 +- plotly/graph_objs/cone/hoverlabel/_font.py | 244 - plotly/graph_objs/contour/__init__.py | 2 - plotly/graph_objs/contour/_colorbar.py | 54 - plotly/graph_objs/contour/_contours.py | 7 +- plotly/graph_objs/contour/_hoverlabel.py | 110 - plotly/graph_objs/contour/_stream.py | 114 - plotly/graph_objs/contour/colorbar/_title.py | 12 +- plotly/graph_objs/contour/hoverlabel/_font.py | 244 - plotly/graph_objs/contourcarpet/__init__.py | 2 - plotly/graph_objs/contourcarpet/_colorbar.py | 54 - plotly/graph_objs/contourcarpet/_contours.py | 7 +- plotly/graph_objs/contourcarpet/_stream.py | 114 - .../contourcarpet/colorbar/_title.py | 12 +- plotly/graph_objs/densitymap/__init__.py | 2 - plotly/graph_objs/densitymap/_colorbar.py | 54 - plotly/graph_objs/densitymap/_hoverlabel.py | 110 - plotly/graph_objs/densitymap/_stream.py | 114 - .../graph_objs/densitymap/colorbar/_title.py | 12 +- .../graph_objs/densitymap/hoverlabel/_font.py | 244 - plotly/graph_objs/densitymapbox/__init__.py | 24 - .../densitymapbox/_legendgrouptitle.py | 104 - plotly/graph_objs/densitymapbox/_stream.py | 114 - .../densitymapbox/colorbar/__init__.py | 16 - .../densitymapbox/colorbar/title/__init__.py | 9 - .../densitymapbox/hoverlabel/_font.py | 587 - .../legendgrouptitle/__init__.py | 9 - plotly/graph_objs/funnel/__init__.py | 2 - plotly/graph_objs/funnel/_hoverlabel.py | 110 - plotly/graph_objs/funnel/_insidetextfont.py | 244 - plotly/graph_objs/funnel/_marker.py | 68 +- plotly/graph_objs/funnel/_outsidetextfont.py | 244 - plotly/graph_objs/funnel/_stream.py | 113 - plotly/graph_objs/funnel/_textfont.py | 244 - plotly/graph_objs/funnel/hoverlabel/_font.py | 244 - plotly/graph_objs/funnel/marker/_colorbar.py | 54 - plotly/graph_objs/funnel/marker/_line.py | 64 +- .../funnel/marker/colorbar/_title.py | 12 +- plotly/graph_objs/funnelarea/__init__.py | 2 - plotly/graph_objs/funnelarea/_domain.py | 12 +- plotly/graph_objs/funnelarea/_hoverlabel.py | 110 - .../graph_objs/funnelarea/_insidetextfont.py | 244 - plotly/graph_objs/funnelarea/_marker.py | 31 +- plotly/graph_objs/funnelarea/_stream.py | 114 - plotly/graph_objs/funnelarea/_textfont.py | 244 - .../graph_objs/funnelarea/hoverlabel/_font.py | 244 - plotly/graph_objs/funnelarea/marker/_line.py | 56 +- .../graph_objs/funnelarea/marker/_pattern.py | 162 - plotly/graph_objs/funnelarea/title/_font.py | 244 - plotly/graph_objs/heatmap/__init__.py | 2 - plotly/graph_objs/heatmap/_colorbar.py | 54 - plotly/graph_objs/heatmap/_hoverlabel.py | 110 - plotly/graph_objs/heatmap/_stream.py | 114 - plotly/graph_objs/heatmap/colorbar/_title.py | 12 +- plotly/graph_objs/heatmap/hoverlabel/_font.py | 244 - plotly/graph_objs/histogram/__init__.py | 2 - plotly/graph_objs/histogram/_error_x.py | 55 - plotly/graph_objs/histogram/_error_y.py | 55 - plotly/graph_objs/histogram/_hoverlabel.py | 110 - plotly/graph_objs/histogram/_marker.py | 68 +- plotly/graph_objs/histogram/_stream.py | 114 - plotly/graph_objs/histogram/_xbins.py | 6 +- plotly/graph_objs/histogram/_ybins.py | 6 +- .../graph_objs/histogram/hoverlabel/_font.py | 244 - .../graph_objs/histogram/marker/_colorbar.py | 54 - plotly/graph_objs/histogram/marker/_line.py | 64 +- .../graph_objs/histogram/marker/_pattern.py | 162 - .../histogram/marker/colorbar/_title.py | 12 +- plotly/graph_objs/histogram2d/__init__.py | 2 - plotly/graph_objs/histogram2d/_colorbar.py | 54 - plotly/graph_objs/histogram2d/_hoverlabel.py | 110 - plotly/graph_objs/histogram2d/_marker.py | 29 +- plotly/graph_objs/histogram2d/_stream.py | 114 - .../graph_objs/histogram2d/colorbar/_title.py | 12 +- .../histogram2d/hoverlabel/_font.py | 244 - .../graph_objs/histogram2dcontour/__init__.py | 2 - .../histogram2dcontour/_colorbar.py | 54 - .../histogram2dcontour/_contours.py | 7 +- .../histogram2dcontour/_hoverlabel.py | 110 - .../graph_objs/histogram2dcontour/_marker.py | 29 +- .../graph_objs/histogram2dcontour/_stream.py | 114 - .../histogram2dcontour/colorbar/_title.py | 12 +- .../histogram2dcontour/hoverlabel/_font.py | 244 - plotly/graph_objs/icicle/__init__.py | 2 - plotly/graph_objs/icicle/_domain.py | 12 +- plotly/graph_objs/icicle/_hoverlabel.py | 110 - plotly/graph_objs/icicle/_insidetextfont.py | 244 - plotly/graph_objs/icicle/_marker.py | 41 +- plotly/graph_objs/icicle/_outsidetextfont.py | 244 - plotly/graph_objs/icicle/_pathbar.py | 12 +- plotly/graph_objs/icicle/_stream.py | 113 - plotly/graph_objs/icicle/_textfont.py | 244 - plotly/graph_objs/icicle/hoverlabel/_font.py | 244 - plotly/graph_objs/icicle/marker/_colorbar.py | 54 - plotly/graph_objs/icicle/marker/_line.py | 56 +- plotly/graph_objs/icicle/marker/_pattern.py | 162 - .../icicle/marker/colorbar/_title.py | 12 +- plotly/graph_objs/icicle/pathbar/_textfont.py | 244 - plotly/graph_objs/image/__init__.py | 7 +- plotly/graph_objs/image/_hoverlabel.py | 110 - plotly/graph_objs/image/_stream.py | 113 - plotly/graph_objs/image/hoverlabel/_font.py | 244 - plotly/graph_objs/indicator/__init__.py | 2 - plotly/graph_objs/indicator/_domain.py | 12 +- plotly/graph_objs/indicator/_stream.py | 114 - plotly/graph_objs/indicator/gauge/_axis.py | 54 - plotly/graph_objs/isosurface/__init__.py | 2 - plotly/graph_objs/isosurface/_colorbar.py | 54 - plotly/graph_objs/isosurface/_hoverlabel.py | 110 - plotly/graph_objs/isosurface/_stream.py | 114 - .../graph_objs/isosurface/colorbar/_title.py | 12 +- .../graph_objs/isosurface/hoverlabel/_font.py | 244 - plotly/graph_objs/isosurface/slices/_x.py | 38 +- plotly/graph_objs/isosurface/slices/_y.py | 38 +- plotly/graph_objs/isosurface/slices/_z.py | 38 +- plotly/graph_objs/layout/__init__.py | 4 - plotly/graph_objs/layout/_annotation.py | 24 +- plotly/graph_objs/layout/_coloraxis.py | 38 +- plotly/graph_objs/layout/_geo.py | 23 +- plotly/graph_objs/layout/_image.py | 12 +- plotly/graph_objs/layout/_map.py | 43 + plotly/graph_objs/layout/_mapbox.py | 452 - plotly/graph_objs/layout/_modebar.py | 89 +- plotly/graph_objs/layout/_selection.py | 12 +- plotly/graph_objs/layout/_shape.py | 66 +- plotly/graph_objs/layout/_xaxis.py | 134 +- plotly/graph_objs/layout/_yaxis.py | 134 +- .../graph_objs/layout/coloraxis/_colorbar.py | 54 - .../layout/coloraxis/colorbar/_title.py | 12 +- plotly/graph_objs/layout/geo/_domain.py | 12 +- plotly/graph_objs/layout/geo/_projection.py | 87 +- plotly/graph_objs/layout/map/_domain.py | 12 +- plotly/graph_objs/layout/map/layer/_line.py | 29 +- plotly/graph_objs/layout/mapbox/__init__.py | 17 - plotly/graph_objs/layout/mapbox/_bounds.py | 160 - plotly/graph_objs/layout/mapbox/_center.py | 104 - plotly/graph_objs/layout/mapbox/_domain.py | 170 - plotly/graph_objs/layout/mapbox/_layer.py | 695 - .../layout/mapbox/layer/__init__.py | 17 - .../graph_objs/layout/mapbox/layer/_circle.py | 82 - .../graph_objs/layout/mapbox/layer/_line.py | 133 - .../graph_objs/layout/mapbox/layer/_symbol.py | 245 - .../layout/mapbox/layer/symbol/_textfont.py | 202 - .../graph_objs/layout/polar/_angularaxis.py | 82 - plotly/graph_objs/layout/polar/_domain.py | 12 +- plotly/graph_objs/layout/polar/_radialaxis.py | 82 - .../polar/radialaxis/_autorangeoptions.py | 57 +- plotly/graph_objs/layout/scene/_domain.py | 12 +- plotly/graph_objs/layout/scene/_xaxis.py | 82 - plotly/graph_objs/layout/scene/_yaxis.py | 82 - plotly/graph_objs/layout/scene/_zaxis.py | 82 - .../layout/scene/xaxis/_autorangeoptions.py | 57 +- .../layout/scene/yaxis/_autorangeoptions.py | 57 +- .../layout/scene/zaxis/_autorangeoptions.py | 57 +- plotly/graph_objs/layout/smith/_domain.py | 12 +- .../graph_objs/layout/smith/_imaginaryaxis.py | 27 - plotly/graph_objs/layout/smith/_realaxis.py | 27 - plotly/graph_objs/layout/template/_data.py | 114 +- .../layout/template/data/__init__.py | 8 +- .../layout/template/data/_choroplethmapbox.py | 1 - .../layout/template/data/_densitymapbox.py | 1 - .../layout/template/data/_quiver.py | 1 + .../layout/template/data/_scattermapbox.py | 1 - plotly/graph_objs/layout/ternary/_aaxis.py | 54 - plotly/graph_objs/layout/ternary/_baxis.py | 54 - plotly/graph_objs/layout/ternary/_caxis.py | 54 - plotly/graph_objs/layout/ternary/_domain.py | 12 +- .../layout/xaxis/_autorangeoptions.py | 57 +- plotly/graph_objs/layout/xaxis/_minor.py | 27 - .../layout/yaxis/_autorangeoptions.py | 57 +- plotly/graph_objs/layout/yaxis/_minor.py | 27 - plotly/graph_objs/mesh3d/__init__.py | 2 - plotly/graph_objs/mesh3d/_colorbar.py | 54 - plotly/graph_objs/mesh3d/_hoverlabel.py | 110 - plotly/graph_objs/mesh3d/_stream.py | 113 - plotly/graph_objs/mesh3d/colorbar/_title.py | 12 +- plotly/graph_objs/mesh3d/hoverlabel/_font.py | 244 - plotly/graph_objs/ohlc/__init__.py | 2 - plotly/graph_objs/ohlc/_hoverlabel.py | 110 - plotly/graph_objs/ohlc/_line.py | 16 +- plotly/graph_objs/ohlc/_stream.py | 113 - plotly/graph_objs/ohlc/hoverlabel/_font.py | 244 - plotly/graph_objs/parcats/__init__.py | 2 - plotly/graph_objs/parcats/_dimension.py | 82 - plotly/graph_objs/parcats/_domain.py | 12 +- plotly/graph_objs/parcats/_line.py | 41 +- plotly/graph_objs/parcats/_stream.py | 114 - plotly/graph_objs/parcats/line/_colorbar.py | 54 - .../parcats/line/colorbar/_title.py | 12 +- plotly/graph_objs/parcoords/__init__.py | 2 - plotly/graph_objs/parcoords/_dimension.py | 81 - plotly/graph_objs/parcoords/_domain.py | 12 +- plotly/graph_objs/parcoords/_line.py | 41 +- plotly/graph_objs/parcoords/_stream.py | 114 - plotly/graph_objs/parcoords/line/_colorbar.py | 54 - .../parcoords/line/colorbar/_title.py | 12 +- plotly/graph_objs/pie/__init__.py | 2 - plotly/graph_objs/pie/_domain.py | 12 +- plotly/graph_objs/pie/_hoverlabel.py | 110 - plotly/graph_objs/pie/_insidetextfont.py | 244 - plotly/graph_objs/pie/_marker.py | 31 +- plotly/graph_objs/pie/_outsidetextfont.py | 244 - plotly/graph_objs/pie/_stream.py | 113 - plotly/graph_objs/pie/_textfont.py | 244 - plotly/graph_objs/pie/hoverlabel/_font.py | 244 - plotly/graph_objs/pie/marker/_line.py | 56 +- plotly/graph_objs/pie/marker/_pattern.py | 162 - plotly/graph_objs/pie/title/_font.py | 244 - .../{scattermapbox => quiver}/__init__.py | 6 - .../{densitymapbox => quiver}/_hoverlabel.py | 124 +- .../_legendgrouptitle.py | 16 +- .../{scattermapbox => quiver}/_marker.py | 442 +- .../{choroplethmapbox => quiver}/_selected.py | 52 +- .../_tickfont.py => quiver/_textfont.py} | 49 +- .../_unselected.py | 52 +- .../title => quiver/hoverlabel}/__init__.py | 0 .../hoverlabel}/_font.py | 41 +- .../legendgrouptitle}/__init__.py | 0 .../legendgrouptitle/_font.py | 12 +- .../marker/__init__.py | 3 +- .../marker}/_colorbar.py | 104 +- plotly/graph_objs/quiver/marker/_line.py | 112 + .../marker}/colorbar/__init__.py | 0 .../marker}/colorbar/_tickfont.py | 10 +- .../marker}/colorbar/_tickformatstop.py | 10 +- .../marker}/colorbar/_title.py | 26 +- .../marker/colorbar/title}/__init__.py | 0 .../marker}/colorbar/title/_font.py | 10 +- .../symbol => quiver/selected}/__init__.py | 4 +- .../selected/_marker.py | 72 +- .../_line.py => quiver/selected/_textfont.py} | 54 +- .../selected}/marker/__init__.py | 0 .../selected/marker/_line.py} | 50 +- .../graph_objs/quiver/unselected/__init__.py | 13 + .../unselected/_marker.py | 78 +- .../unselected/_textfont.py} | 56 +- .../unselected/marker}/__init__.py | 4 +- .../quiver/unselected/marker/_line.py | 80 + plotly/graph_objs/sankey/__init__.py | 2 - plotly/graph_objs/sankey/_domain.py | 12 +- plotly/graph_objs/sankey/_hoverlabel.py | 110 - plotly/graph_objs/sankey/_link.py | 260 +- plotly/graph_objs/sankey/_node.py | 205 +- plotly/graph_objs/sankey/_stream.py | 113 - plotly/graph_objs/sankey/hoverlabel/_font.py | 244 - plotly/graph_objs/sankey/link/_colorscale.py | 38 +- plotly/graph_objs/sankey/link/_hoverlabel.py | 110 - plotly/graph_objs/sankey/link/_line.py | 56 +- .../sankey/link/hoverlabel/_font.py | 244 - plotly/graph_objs/sankey/node/_hoverlabel.py | 110 - plotly/graph_objs/sankey/node/_line.py | 56 +- .../sankey/node/hoverlabel/_font.py | 244 - plotly/graph_objs/scatter/__init__.py | 2 - plotly/graph_objs/scatter/_error_x.py | 55 - plotly/graph_objs/scatter/_error_y.py | 55 - plotly/graph_objs/scatter/_fillpattern.py | 162 - plotly/graph_objs/scatter/_hoverlabel.py | 110 - plotly/graph_objs/scatter/_line.py | 27 - plotly/graph_objs/scatter/_marker.py | 176 +- plotly/graph_objs/scatter/_stream.py | 114 - plotly/graph_objs/scatter/_textfont.py | 244 - plotly/graph_objs/scatter/hoverlabel/_font.py | 244 - plotly/graph_objs/scatter/marker/_colorbar.py | 54 - plotly/graph_objs/scatter/marker/_gradient.py | 56 +- plotly/graph_objs/scatter/marker/_line.py | 91 +- .../scatter/marker/colorbar/_title.py | 12 +- plotly/graph_objs/scatter3d/__init__.py | 2 - plotly/graph_objs/scatter3d/_error_x.py | 55 - plotly/graph_objs/scatter3d/_error_y.py | 55 - plotly/graph_objs/scatter3d/_error_z.py | 55 - plotly/graph_objs/scatter3d/_hoverlabel.py | 110 - plotly/graph_objs/scatter3d/_line.py | 41 +- plotly/graph_objs/scatter3d/_marker.py | 95 +- plotly/graph_objs/scatter3d/_stream.py | 114 - plotly/graph_objs/scatter3d/_textfont.py | 171 +- .../graph_objs/scatter3d/hoverlabel/_font.py | 244 - plotly/graph_objs/scatter3d/line/_colorbar.py | 54 - .../scatter3d/line/colorbar/_title.py | 12 +- .../graph_objs/scatter3d/marker/_colorbar.py | 54 - plotly/graph_objs/scatter3d/marker/_line.py | 37 +- .../scatter3d/marker/colorbar/_title.py | 12 +- plotly/graph_objs/scattercarpet/__init__.py | 2 - .../graph_objs/scattercarpet/_hoverlabel.py | 110 - plotly/graph_objs/scattercarpet/_line.py | 36 +- plotly/graph_objs/scattercarpet/_marker.py | 176 +- plotly/graph_objs/scattercarpet/_stream.py | 114 - plotly/graph_objs/scattercarpet/_textfont.py | 244 - .../scattercarpet/hoverlabel/_font.py | 244 - .../scattercarpet/marker/_colorbar.py | 54 - .../scattercarpet/marker/_gradient.py | 56 +- .../graph_objs/scattercarpet/marker/_line.py | 91 +- .../scattercarpet/marker/colorbar/_title.py | 12 +- plotly/graph_objs/scattergeo/__init__.py | 2 - plotly/graph_objs/scattergeo/_hoverlabel.py | 110 - plotly/graph_objs/scattergeo/_marker.py | 176 +- plotly/graph_objs/scattergeo/_stream.py | 114 - plotly/graph_objs/scattergeo/_textfont.py | 244 - .../graph_objs/scattergeo/hoverlabel/_font.py | 244 - .../graph_objs/scattergeo/marker/_colorbar.py | 54 - .../graph_objs/scattergeo/marker/_gradient.py | 56 +- plotly/graph_objs/scattergeo/marker/_line.py | 91 +- .../scattergeo/marker/colorbar/_title.py | 12 +- plotly/graph_objs/scattergl/__init__.py | 2 - plotly/graph_objs/scattergl/_error_x.py | 55 - plotly/graph_objs/scattergl/_error_y.py | 55 - plotly/graph_objs/scattergl/_hoverlabel.py | 110 - plotly/graph_objs/scattergl/_marker.py | 149 +- plotly/graph_objs/scattergl/_stream.py | 114 - plotly/graph_objs/scattergl/_textfont.py | 171 +- .../graph_objs/scattergl/hoverlabel/_font.py | 244 - .../graph_objs/scattergl/marker/_colorbar.py | 54 - plotly/graph_objs/scattergl/marker/_line.py | 64 +- .../scattergl/marker/colorbar/_title.py | 12 +- plotly/graph_objs/scattermap/__init__.py | 2 - plotly/graph_objs/scattermap/_cluster.py | 117 +- plotly/graph_objs/scattermap/_hoverlabel.py | 110 - plotly/graph_objs/scattermap/_marker.py | 149 +- plotly/graph_objs/scattermap/_stream.py | 114 - .../graph_objs/scattermap/hoverlabel/_font.py | 244 - .../graph_objs/scattermap/marker/_colorbar.py | 54 - .../scattermap/marker/colorbar/_title.py | 12 +- plotly/graph_objs/scattermapbox/_cluster.py | 342 - .../graph_objs/scattermapbox/_hoverlabel.py | 366 - plotly/graph_objs/scattermapbox/_selected.py | 80 - plotly/graph_objs/scattermapbox/_stream.py | 114 - plotly/graph_objs/scattermapbox/_textfont.py | 202 - .../graph_objs/scattermapbox/_unselected.py | 80 - .../scattermapbox/hoverlabel/__init__.py | 9 - .../scattermapbox/hoverlabel/_font.py | 587 - .../legendgrouptitle/__init__.py | 9 - .../scattermapbox/legendgrouptitle/_font.py | 334 - .../scattermapbox/marker/_colorbar.py | 1739 - .../scattermapbox/marker/colorbar/__init__.py | 16 - .../marker/colorbar/_tickfont.py | 334 - .../marker/colorbar/_tickformatstop.py | 241 - .../scattermapbox/marker/colorbar/_title.py | 136 - .../marker/colorbar/title/__init__.py | 9 - .../marker/colorbar/title/_font.py | 334 - .../scattermapbox/selected/__init__.py | 9 - .../scattermapbox/unselected/__init__.py | 9 - plotly/graph_objs/scatterpolar/__init__.py | 2 - plotly/graph_objs/scatterpolar/_hoverlabel.py | 110 - plotly/graph_objs/scatterpolar/_line.py | 36 +- plotly/graph_objs/scatterpolar/_marker.py | 176 +- plotly/graph_objs/scatterpolar/_stream.py | 114 - plotly/graph_objs/scatterpolar/_textfont.py | 244 - .../scatterpolar/hoverlabel/_font.py | 244 - .../scatterpolar/marker/_colorbar.py | 54 - .../scatterpolar/marker/_gradient.py | 56 +- .../graph_objs/scatterpolar/marker/_line.py | 91 +- .../scatterpolar/marker/colorbar/_title.py | 12 +- plotly/graph_objs/scatterpolargl/__init__.py | 2 - .../graph_objs/scatterpolargl/_hoverlabel.py | 110 - plotly/graph_objs/scatterpolargl/_marker.py | 149 +- plotly/graph_objs/scatterpolargl/_stream.py | 114 - plotly/graph_objs/scatterpolargl/_textfont.py | 171 +- .../scatterpolargl/hoverlabel/_font.py | 244 - .../scatterpolargl/marker/_colorbar.py | 54 - .../graph_objs/scatterpolargl/marker/_line.py | 64 +- .../scatterpolargl/marker/colorbar/_title.py | 12 +- plotly/graph_objs/scattersmith/__init__.py | 2 - plotly/graph_objs/scattersmith/_hoverlabel.py | 110 - plotly/graph_objs/scattersmith/_line.py | 36 +- plotly/graph_objs/scattersmith/_marker.py | 176 +- plotly/graph_objs/scattersmith/_stream.py | 114 - plotly/graph_objs/scattersmith/_textfont.py | 244 - .../scattersmith/hoverlabel/_font.py | 244 - .../scattersmith/marker/_colorbar.py | 54 - .../scattersmith/marker/_gradient.py | 56 +- .../graph_objs/scattersmith/marker/_line.py | 91 +- .../scattersmith/marker/colorbar/_title.py | 12 +- plotly/graph_objs/scatterternary/__init__.py | 2 - .../graph_objs/scatterternary/_hoverlabel.py | 110 - plotly/graph_objs/scatterternary/_line.py | 36 +- plotly/graph_objs/scatterternary/_marker.py | 176 +- plotly/graph_objs/scatterternary/_stream.py | 114 - plotly/graph_objs/scatterternary/_textfont.py | 244 - .../scatterternary/hoverlabel/_font.py | 244 - .../scatterternary/marker/_colorbar.py | 54 - .../scatterternary/marker/_gradient.py | 56 +- .../graph_objs/scatterternary/marker/_line.py | 91 +- .../scatterternary/marker/colorbar/_title.py | 12 +- plotly/graph_objs/splom/__init__.py | 2 - plotly/graph_objs/splom/_dimension.py | 36 +- plotly/graph_objs/splom/_hoverlabel.py | 110 - plotly/graph_objs/splom/_marker.py | 149 +- plotly/graph_objs/splom/_stream.py | 113 - plotly/graph_objs/splom/hoverlabel/_font.py | 244 - plotly/graph_objs/splom/marker/_colorbar.py | 54 - plotly/graph_objs/splom/marker/_line.py | 64 +- .../splom/marker/colorbar/_title.py | 12 +- plotly/graph_objs/streamtube/__init__.py | 2 - plotly/graph_objs/streamtube/_colorbar.py | 54 - plotly/graph_objs/streamtube/_hoverlabel.py | 110 - plotly/graph_objs/streamtube/_starts.py | 89 +- plotly/graph_objs/streamtube/_stream.py | 114 - .../graph_objs/streamtube/colorbar/_title.py | 12 +- .../graph_objs/streamtube/hoverlabel/_font.py | 244 - plotly/graph_objs/sunburst/__init__.py | 2 - plotly/graph_objs/sunburst/_domain.py | 12 +- plotly/graph_objs/sunburst/_hoverlabel.py | 110 - plotly/graph_objs/sunburst/_insidetextfont.py | 244 - plotly/graph_objs/sunburst/_marker.py | 41 +- .../graph_objs/sunburst/_outsidetextfont.py | 244 - plotly/graph_objs/sunburst/_stream.py | 114 - plotly/graph_objs/sunburst/_textfont.py | 244 - .../graph_objs/sunburst/hoverlabel/_font.py | 244 - .../graph_objs/sunburst/marker/_colorbar.py | 54 - plotly/graph_objs/sunburst/marker/_line.py | 56 +- plotly/graph_objs/sunburst/marker/_pattern.py | 162 - .../sunburst/marker/colorbar/_title.py | 12 +- plotly/graph_objs/surface/__init__.py | 2 - plotly/graph_objs/surface/_colorbar.py | 54 - plotly/graph_objs/surface/_hoverlabel.py | 110 - plotly/graph_objs/surface/_stream.py | 114 - plotly/graph_objs/surface/colorbar/_title.py | 12 +- plotly/graph_objs/surface/hoverlabel/_font.py | 244 - plotly/graph_objs/table/__init__.py | 2 - plotly/graph_objs/table/_cells.py | 135 - plotly/graph_objs/table/_domain.py | 12 +- plotly/graph_objs/table/_header.py | 135 - plotly/graph_objs/table/_hoverlabel.py | 110 - plotly/graph_objs/table/_stream.py | 113 - plotly/graph_objs/table/cells/_fill.py | 29 +- plotly/graph_objs/table/cells/_font.py | 244 - plotly/graph_objs/table/cells/_line.py | 56 +- plotly/graph_objs/table/header/_fill.py | 29 +- plotly/graph_objs/table/header/_font.py | 244 - plotly/graph_objs/table/header/_line.py | 56 +- plotly/graph_objs/table/hoverlabel/_font.py | 244 - plotly/graph_objs/treemap/__init__.py | 2 - plotly/graph_objs/treemap/_domain.py | 12 +- plotly/graph_objs/treemap/_hoverlabel.py | 110 - plotly/graph_objs/treemap/_insidetextfont.py | 244 - plotly/graph_objs/treemap/_marker.py | 41 +- plotly/graph_objs/treemap/_outsidetextfont.py | 244 - plotly/graph_objs/treemap/_pathbar.py | 12 +- plotly/graph_objs/treemap/_stream.py | 114 - plotly/graph_objs/treemap/_textfont.py | 244 - plotly/graph_objs/treemap/hoverlabel/_font.py | 244 - plotly/graph_objs/treemap/marker/_colorbar.py | 54 - plotly/graph_objs/treemap/marker/_line.py | 56 +- plotly/graph_objs/treemap/marker/_pattern.py | 162 - .../treemap/marker/colorbar/_title.py | 12 +- .../graph_objs/treemap/pathbar/_textfont.py | 244 - plotly/graph_objs/violin/__init__.py | 2 - plotly/graph_objs/violin/_hoverlabel.py | 110 - plotly/graph_objs/violin/_stream.py | 113 - plotly/graph_objs/violin/hoverlabel/_font.py | 244 - plotly/graph_objs/volume/__init__.py | 2 - plotly/graph_objs/volume/_colorbar.py | 54 - plotly/graph_objs/volume/_hoverlabel.py | 110 - plotly/graph_objs/volume/_stream.py | 113 - plotly/graph_objs/volume/colorbar/_title.py | 12 +- plotly/graph_objs/volume/hoverlabel/_font.py | 244 - plotly/graph_objs/volume/slices/_x.py | 38 +- plotly/graph_objs/volume/slices/_y.py | 38 +- plotly/graph_objs/volume/slices/_z.py | 38 +- plotly/graph_objs/waterfall/__init__.py | 2 - plotly/graph_objs/waterfall/_hoverlabel.py | 110 - .../graph_objs/waterfall/_insidetextfont.py | 244 - .../graph_objs/waterfall/_outsidetextfont.py | 244 - plotly/graph_objs/waterfall/_stream.py | 114 - plotly/graph_objs/waterfall/_textfont.py | 244 - .../graph_objs/waterfall/hoverlabel/_font.py | 244 - plotly/offline/_plotlyjs_version.py | 2 +- plotly/package_data/plotly.min.js | 851 +- plotly/validators/_validators.json | 76208 ++++++---------- 594 files changed, 54674 insertions(+), 165215 deletions(-) delete mode 100644 plotly/graph_objs/_choroplethmapbox.py delete mode 100644 plotly/graph_objs/_densitymapbox.py rename plotly/graph_objs/{_scattermapbox.py => _quiver.py} (53%) delete mode 100644 plotly/graph_objs/bar/_stream.py delete mode 100644 plotly/graph_objs/barpolar/_stream.py delete mode 100644 plotly/graph_objs/box/_stream.py delete mode 100644 plotly/graph_objs/candlestick/_stream.py delete mode 100644 plotly/graph_objs/carpet/_stream.py delete mode 100644 plotly/graph_objs/choropleth/_stream.py delete mode 100644 plotly/graph_objs/choroplethmap/_stream.py delete mode 100644 plotly/graph_objs/choroplethmapbox/__init__.py delete mode 100644 plotly/graph_objs/choroplethmapbox/_colorbar.py delete mode 100644 plotly/graph_objs/choroplethmapbox/_hoverlabel.py delete mode 100644 plotly/graph_objs/choroplethmapbox/_legendgrouptitle.py delete mode 100644 plotly/graph_objs/choroplethmapbox/_marker.py delete mode 100644 plotly/graph_objs/choroplethmapbox/_stream.py delete mode 100644 plotly/graph_objs/choroplethmapbox/colorbar/_tickformatstop.py delete mode 100644 plotly/graph_objs/choroplethmapbox/colorbar/_title.py delete mode 100644 plotly/graph_objs/choroplethmapbox/colorbar/title/_font.py delete mode 100644 plotly/graph_objs/choroplethmapbox/hoverlabel/_font.py delete mode 100644 plotly/graph_objs/choroplethmapbox/marker/_line.py delete mode 100644 plotly/graph_objs/choroplethmapbox/selected/__init__.py delete mode 100644 plotly/graph_objs/choroplethmapbox/unselected/__init__.py delete mode 100644 plotly/graph_objs/choroplethmapbox/unselected/_marker.py delete mode 100644 plotly/graph_objs/cone/_stream.py delete mode 100644 plotly/graph_objs/contour/_stream.py delete mode 100644 plotly/graph_objs/contourcarpet/_stream.py delete mode 100644 plotly/graph_objs/densitymap/_stream.py delete mode 100644 plotly/graph_objs/densitymapbox/__init__.py delete mode 100644 plotly/graph_objs/densitymapbox/_legendgrouptitle.py delete mode 100644 plotly/graph_objs/densitymapbox/_stream.py delete mode 100644 plotly/graph_objs/densitymapbox/colorbar/__init__.py delete mode 100644 plotly/graph_objs/densitymapbox/colorbar/title/__init__.py delete mode 100644 plotly/graph_objs/densitymapbox/hoverlabel/_font.py delete mode 100644 plotly/graph_objs/densitymapbox/legendgrouptitle/__init__.py delete mode 100644 plotly/graph_objs/funnel/_stream.py delete mode 100644 plotly/graph_objs/funnelarea/_stream.py delete mode 100644 plotly/graph_objs/heatmap/_stream.py delete mode 100644 plotly/graph_objs/histogram/_stream.py delete mode 100644 plotly/graph_objs/histogram2d/_stream.py delete mode 100644 plotly/graph_objs/histogram2dcontour/_stream.py delete mode 100644 plotly/graph_objs/icicle/_stream.py delete mode 100644 plotly/graph_objs/image/_stream.py delete mode 100644 plotly/graph_objs/indicator/_stream.py delete mode 100644 plotly/graph_objs/isosurface/_stream.py delete mode 100644 plotly/graph_objs/layout/_mapbox.py delete mode 100644 plotly/graph_objs/layout/mapbox/__init__.py delete mode 100644 plotly/graph_objs/layout/mapbox/_bounds.py delete mode 100644 plotly/graph_objs/layout/mapbox/_center.py delete mode 100644 plotly/graph_objs/layout/mapbox/_domain.py delete mode 100644 plotly/graph_objs/layout/mapbox/_layer.py delete mode 100644 plotly/graph_objs/layout/mapbox/layer/__init__.py delete mode 100644 plotly/graph_objs/layout/mapbox/layer/_circle.py delete mode 100644 plotly/graph_objs/layout/mapbox/layer/_line.py delete mode 100644 plotly/graph_objs/layout/mapbox/layer/_symbol.py delete mode 100644 plotly/graph_objs/layout/mapbox/layer/symbol/_textfont.py delete mode 100644 plotly/graph_objs/layout/template/data/_choroplethmapbox.py delete mode 100644 plotly/graph_objs/layout/template/data/_densitymapbox.py create mode 100644 plotly/graph_objs/layout/template/data/_quiver.py delete mode 100644 plotly/graph_objs/layout/template/data/_scattermapbox.py delete mode 100644 plotly/graph_objs/mesh3d/_stream.py delete mode 100644 plotly/graph_objs/ohlc/_stream.py delete mode 100644 plotly/graph_objs/parcats/_stream.py delete mode 100644 plotly/graph_objs/parcoords/_stream.py delete mode 100644 plotly/graph_objs/pie/_stream.py rename plotly/graph_objs/{scattermapbox => quiver}/__init__.py (83%) rename plotly/graph_objs/{densitymapbox => quiver}/_hoverlabel.py (69%) rename plotly/graph_objs/{scattermapbox => quiver}/_legendgrouptitle.py (83%) rename plotly/graph_objs/{scattermapbox => quiver}/_marker.py (61%) rename plotly/graph_objs/{choroplethmapbox => quiver}/_selected.py (51%) rename plotly/graph_objs/{choroplethmapbox/colorbar/_tickfont.py => quiver/_textfont.py} (88%) rename plotly/graph_objs/{choroplethmapbox => quiver}/_unselected.py (51%) rename plotly/graph_objs/{choroplethmapbox/colorbar/title => quiver/hoverlabel}/__init__.py (100%) rename plotly/graph_objs/{choroplethmapbox/legendgrouptitle => quiver/hoverlabel}/_font.py (88%) rename plotly/graph_objs/{choroplethmapbox/hoverlabel => quiver/legendgrouptitle}/__init__.py (100%) rename plotly/graph_objs/{densitymapbox => quiver}/legendgrouptitle/_font.py (96%) rename plotly/graph_objs/{scattermapbox => quiver}/marker/__init__.py (71%) rename plotly/graph_objs/{densitymapbox => quiver/marker}/_colorbar.py (94%) create mode 100644 plotly/graph_objs/quiver/marker/_line.py rename plotly/graph_objs/{choroplethmapbox => quiver/marker}/colorbar/__init__.py (100%) rename plotly/graph_objs/{densitymapbox => quiver/marker}/colorbar/_tickfont.py (97%) rename plotly/graph_objs/{densitymapbox => quiver/marker}/colorbar/_tickformatstop.py (96%) rename plotly/graph_objs/{densitymapbox => quiver/marker}/colorbar/_title.py (81%) rename plotly/graph_objs/{choroplethmapbox/legendgrouptitle => quiver/marker/colorbar/title}/__init__.py (100%) rename plotly/graph_objs/{densitymapbox => quiver/marker}/colorbar/title/_font.py (96%) rename plotly/graph_objs/{layout/mapbox/layer/symbol => quiver/selected}/__init__.py (62%) rename plotly/graph_objs/{scattermapbox => quiver}/selected/_marker.py (57%) rename plotly/graph_objs/{scattermapbox/_line.py => quiver/selected/_textfont.py} (61%) rename plotly/graph_objs/{choroplethmapbox => quiver/selected}/marker/__init__.py (100%) rename plotly/graph_objs/{choroplethmapbox/selected/_marker.py => quiver/selected/marker/_line.py} (52%) create mode 100644 plotly/graph_objs/quiver/unselected/__init__.py rename plotly/graph_objs/{scattermapbox => quiver}/unselected/_marker.py (54%) rename plotly/graph_objs/{layout/mapbox/layer/_fill.py => quiver/unselected/_textfont.py} (50%) rename plotly/graph_objs/{densitymapbox/hoverlabel => quiver/unselected/marker}/__init__.py (80%) create mode 100644 plotly/graph_objs/quiver/unselected/marker/_line.py delete mode 100644 plotly/graph_objs/sankey/_stream.py delete mode 100644 plotly/graph_objs/scatter/_stream.py delete mode 100644 plotly/graph_objs/scatter3d/_stream.py delete mode 100644 plotly/graph_objs/scattercarpet/_stream.py delete mode 100644 plotly/graph_objs/scattergeo/_stream.py delete mode 100644 plotly/graph_objs/scattergl/_stream.py delete mode 100644 plotly/graph_objs/scattermap/_stream.py delete mode 100644 plotly/graph_objs/scattermapbox/_cluster.py delete mode 100644 plotly/graph_objs/scattermapbox/_hoverlabel.py delete mode 100644 plotly/graph_objs/scattermapbox/_selected.py delete mode 100644 plotly/graph_objs/scattermapbox/_stream.py delete mode 100644 plotly/graph_objs/scattermapbox/_textfont.py delete mode 100644 plotly/graph_objs/scattermapbox/_unselected.py delete mode 100644 plotly/graph_objs/scattermapbox/hoverlabel/__init__.py delete mode 100644 plotly/graph_objs/scattermapbox/hoverlabel/_font.py delete mode 100644 plotly/graph_objs/scattermapbox/legendgrouptitle/__init__.py delete mode 100644 plotly/graph_objs/scattermapbox/legendgrouptitle/_font.py delete mode 100644 plotly/graph_objs/scattermapbox/marker/_colorbar.py delete mode 100644 plotly/graph_objs/scattermapbox/marker/colorbar/__init__.py delete mode 100644 plotly/graph_objs/scattermapbox/marker/colorbar/_tickfont.py delete mode 100644 plotly/graph_objs/scattermapbox/marker/colorbar/_tickformatstop.py delete mode 100644 plotly/graph_objs/scattermapbox/marker/colorbar/_title.py delete mode 100644 plotly/graph_objs/scattermapbox/marker/colorbar/title/__init__.py delete mode 100644 plotly/graph_objs/scattermapbox/marker/colorbar/title/_font.py delete mode 100644 plotly/graph_objs/scattermapbox/selected/__init__.py delete mode 100644 plotly/graph_objs/scattermapbox/unselected/__init__.py delete mode 100644 plotly/graph_objs/scatterpolar/_stream.py delete mode 100644 plotly/graph_objs/scatterpolargl/_stream.py delete mode 100644 plotly/graph_objs/scattersmith/_stream.py delete mode 100644 plotly/graph_objs/scatterternary/_stream.py delete mode 100644 plotly/graph_objs/splom/_stream.py delete mode 100644 plotly/graph_objs/streamtube/_stream.py delete mode 100644 plotly/graph_objs/sunburst/_stream.py delete mode 100644 plotly/graph_objs/surface/_stream.py delete mode 100644 plotly/graph_objs/table/_stream.py delete mode 100644 plotly/graph_objs/treemap/_stream.py delete mode 100644 plotly/graph_objs/violin/_stream.py delete mode 100644 plotly/graph_objs/volume/_stream.py delete mode 100644 plotly/graph_objs/waterfall/_stream.py diff --git a/codegen/resources/plot-schema.json b/codegen/resources/plot-schema.json index 318c0578d92..e43f9d2f2d9 100644 --- a/codegen/resources/plot-schema.json +++ b/codegen/resources/plot-schema.json @@ -141,7 +141,7 @@ ] }, "doubleClickDelay": { - "description": "Sets the delay for registering a double-click in ms. This is the time interval (in ms) between first mousedown and 2nd mouseup to constitute a double-click. This setting propagates to all on-subplot double clicks (except for geo, mapbox and map) and on-legend double clicks.", + "description": "Sets the delay for registering a double-click in ms. This is the time interval (in ms) between first mousedown and 2nd mouseup to constitute a double-click. This setting propagates to all on-subplot double clicks (except for geo and map) and on-legend double clicks.", "dflt": 300, "min": 0, "valType": "number" @@ -221,12 +221,6 @@ "min": 0, "valType": "number" }, - "linkText": { - "description": "Sets the text appearing in the `showLink` link.", - "dflt": "Edit chart", - "noBlank": true, - "valType": "string" - }, "locale": { "description": "Which localization should we use? Should be a string like 'en' or 'en-US'.", "dflt": "en-US", @@ -244,11 +238,6 @@ "min": 0, "valType": "integer" }, - "mapboxAccessToken": { - "description": "Mapbox access token (required to plot mapbox trace types) If using an Mapbox Atlas server, set this option to '' so that plotly.js won't attempt to authenticate to the public Mapbox server.", - "dflt": null, - "valType": "string" - }, "modeBarButtons": { "description": "Define fully custom mode bar buttons as nested array, where the outer arrays represents button groups, and the inner arrays have buttons config objects or names of default buttons See ./components/modebar/buttons.js for more info.", "dflt": false, @@ -279,8 +268,8 @@ "valType": "number" }, "plotlyServerURL": { - "description": "When set it determines base URL for the 'Edit in Chart Studio' `showEditInChartStudio`/`showSendToCloud` mode bar button and the showLink/sendData on-graph link. To enable sending your data to Chart Studio Cloud, you need to set both `plotlyServerURL` to 'https://chart-studio.plotly.com' and also set `showSendToCloud` to true.", - "dflt": "", + "description": "Sets the URL for the `sendChartToCloud` modebar button. When clicked, the button will send the chart data to this URL.", + "dflt": "https://cloud.plotly.com/newchart", "valType": "string" }, "queueLength": { @@ -295,7 +284,7 @@ "valType": "boolean" }, "scrollZoom": { - "description": "Determines whether mouse wheel or two-finger scroll zooms is enable. Turned on by default for gl3d, geo, mapbox and map subplots (as these subplot types do not have zoombox via pan), but turned off by default for cartesian subplots. Set `scrollZoom` to *false* to disable scrolling for all subplots.", + "description": "Determines whether mouse wheel or two-finger scroll zooms is enable. Turned on by default for gl3d, geo and map subplots (as these subplot types do not have zoombox via pan), but turned off by default for cartesian subplots. Set `scrollZoom` to *false* to disable scrolling for all subplots.", "dflt": "gl3d+geo+map", "extras": [ true, @@ -305,16 +294,10 @@ "cartesian", "gl3d", "geo", - "mapbox", "map" ], "valType": "flaglist" }, - "sendData": { - "description": "If *showLink* is true, does it contain data just link to a Chart Studio Cloud file?", - "dflt": true, - "valType": "boolean" - }, "setBackground": { "description": "Set function to add the background color (i.e. `layout.paper_color`) to a different container. This function take the graph div as first argument and the current background color as second argument. Alternatively, set to string *opaque* to ensure there is white behind it.", "dflt": "transparent", @@ -330,26 +313,11 @@ "dflt": true, "valType": "boolean" }, - "showEditInChartStudio": { - "description": "Same as `showSendToCloud`, but use a pencil icon instead of a floppy-disk. Note that if both `showSendToCloud` and `showEditInChartStudio` are turned, only `showEditInChartStudio` will be honored.", - "dflt": false, - "valType": "boolean" - }, - "showLink": { - "description": "Determines whether a link to Chart Studio Cloud is displayed at the bottom right corner of resulting graphs. Use with `sendData` and `linkText`.", - "dflt": false, - "valType": "boolean" - }, "showSendToCloud": { - "description": "Should we include a ModeBar button, labeled \"Edit in Chart Studio\", that sends this chart to chart-studio.plotly.com (formerly plot.ly) or another plotly server as specified by `plotlyServerURL` for editing, export, etc? Prior to version 1.43.0 this button was included by default, now it is opt-in using this flag. Note that this button can (depending on `plotlyServerURL` being set) send your data to an external server. However that server does not persist your data until you arrive at the Chart Studio and explicitly click \"Save\".", - "dflt": false, + "description": "Should we include a modebar button that sends this chart to a URL specified by `plotlyServerURL`, for sharing the chart with others? Note that this button will (after a confirmation step) send chart data to an external server.", + "dflt": true, "valType": "boolean" }, - "showSources": { - "description": "Adds a source-displaying function to show sources on the resulting graphs.", - "dflt": false, - "valType": "any" - }, "showTips": { "description": "Determines whether or not tips are shown while interacting with the resulting graphs.", "dflt": true, @@ -372,7 +340,7 @@ "valType": "string" }, "typesetMath": { - "description": "Determines whether math should be typeset or not, when MathJax (either v2 or v3) is present on the page.", + "description": "Determines whether math should be typeset or not, when MathJax (either v3 or v4) is present on the page.", "dflt": true, "valType": "boolean" }, @@ -459,7 +427,7 @@ "requiredOpts": [] }, "color": { - "description": "A string describing color. Supported formats: - hex (e.g. '#d3d3d3') - rgb (e.g. 'rgb(255, 0, 0)') - rgba (e.g. 'rgb(255, 0, 0, 0.5)') - hsl (e.g. 'hsl(0, 100%, 50%)') - hsv (e.g. 'hsv(0, 100%, 100%)') - named colors (full list: http://www.w3.org/TR/css3-color/#svg-color)", + "description": "A string describing color. Supported formats: - hex (e.g. '#d3d3d3', '#d3d3d3aa') - rgb (e.g. 'rgb(255, 0, 0)', 'rgb(255 0 0)') - rgba (e.g. 'rgba(255, 0, 0, 0.5)', 'rgba(255 0 0 / 0.5)') - hsl (e.g. 'hsl(0, 100%, 50%)') - hsla (e.g. 'hsla(0, 100%, 50%, 0.5)') - hwb (e.g. 'hwb(0, 0%, 0%)') - named colors (full list: http://www.w3.org/TR/css3-color/#svg-color)", "otherOpts": [ "dflt", "arrayOk" @@ -499,7 +467,7 @@ ] }, "flaglist": { - "description": "A string representing a combination of flags (order does not matter here). Combine any of the available `flags` with *+*. (e.g. ('lines+markers')). Values in `extras` cannot be combined.", + "description": "A string representing a combination of flags (flag order does not affect the output). Combine any of the available `flags` with *+*. (e.g. ('lines+markers')). Values in `extras` cannot be combined.", "otherOpts": [ "dflt", "extras", @@ -693,7 +661,7 @@ "valType": "any" }, "axref": { - "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, *axref* must be exactly the same as *xref*, otherwise *axref* will revert to *pixel* (explained next). For relative positioning, *axref* can be set to *pixel*, in which case the *ax* value is specified in pixels relative to *x*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, *axref* must be exactly the same as *xref*, otherwise *axref* will revert to *pixel* (explained next). For relative positioning, *axref* can be set to *pixel*, in which case the *ax* value is specified in pixels relative to *x*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", "dflt": "pixel", "editType": "calc", "valType": "enumerated", @@ -708,7 +676,7 @@ "valType": "any" }, "ayref": { - "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, *ayref* must be exactly the same as *yref*, otherwise *ayref* will revert to *pixel* (explained next). For relative positioning, *ayref* can be set to *pixel*, in which case the *ay* value is specified in pixels relative to *y*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", + "description": "Indicates in what coordinates the tail of the annotation (ax,ay) is specified. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, *ayref* must be exactly the same as *yref*, otherwise *ayref* will revert to *pixel* (explained next). For relative positioning, *ayref* can be set to *pixel*, in which case the *ay* value is specified in pixels relative to *y*. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.", "dflt": "pixel", "editType": "calc", "valType": "enumerated", @@ -1076,7 +1044,7 @@ "valType": "any" }, "xref": { - "description": "Sets the annotation's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.", + "description": "Sets the annotation's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.", "editType": "calc", "valType": "enumerated", "values": [ @@ -1113,7 +1081,7 @@ "valType": "any" }, "yref": { - "description": "Sets the annotation's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.", + "description": "Sets the annotation's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.", "editType": "calc", "valType": "enumerated", "values": [ @@ -1643,21 +1611,11 @@ "editType": "colorbars", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "colorbars", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -1758,7 +1716,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -1839,7 +1797,7 @@ } }, "colorscale": { - "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -2147,7 +2105,7 @@ }, "domain": { "column": { - "description": "If there is a layout grid, use the domain for this column in the grid for this geo subplot . Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.", + "description": "If there is a layout grid, use the domain for this column in the grid for this geo subplot. Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.", "dflt": 0, "editType": "plot", "min": 0, @@ -2156,7 +2114,7 @@ "editType": "plot", "role": "object", "row": { - "description": "If there is a layout grid, use the domain for this row in the grid for this geo subplot . Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.", + "description": "If there is a layout grid, use the domain for this row in the grid for this geo subplot. Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both.", "dflt": 0, "editType": "plot", "min": 0, @@ -2211,8 +2169,8 @@ }, "editType": "plot", "fitbounds": { - "description": "Determines if this subplot's view settings are auto-computed to fit trace data. On scoped maps, setting `fitbounds` leads to `center.lon` and `center.lat` getting auto-filled. On maps with a non-clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, and `projection.rotation.lon` getting auto-filled. On maps with a clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, `projection.rotation.lon`, `projection.rotation.lat`, `lonaxis.range` and `lataxis.range` getting auto-filled. If *locations*, only the trace's visible locations are considered in the `fitbounds` computations. If *geojson*, the entire trace input `geojson` (if provided) is considered in the `fitbounds` computations, Defaults to *false*.", - "dflt": false, + "description": "Determines if this subplot's view settings are auto-computed to fit trace data. On scoped maps, setting `fitbounds` leads to `center.lon` and `center.lat` getting auto-filled. On maps with a non-clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, and `projection.rotation.lon` getting auto-filled. On maps with a clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, `projection.rotation.lon`, `projection.rotation.lat`, `lonaxis.range` and `lataxis.range` getting auto-filled. If *locations* (default), only the trace's visible locations are considered in the `fitbounds` computations. If *geojson*, the entire trace input `geojson` (if provided) is considered in the `fitbounds` computations. If *false*, the view settings are used as-is; set this to opt out of auto-fitting.", + "dflt": "locations", "editType": "plot", "valType": "enumerated", "values": [ @@ -2387,6 +2345,20 @@ "valType": "number" }, "editType": "plot", + "maxscale": { + "description": "Sets the maximum zoom level of the map view, relative to `projection.scale`. A `maxscale` of *2* (200%) prevents the user from zooming in beyond twice the base zoom level. Must be greater than or equal to *0*; has no upper bound. Defaults to *null* for no upper bound on zoom.", + "dflt": null, + "editType": "plot", + "min": 0, + "valType": "number" + }, + "minscale": { + "description": "Sets the minimum zoom level of the map view, relative to `projection.scale`. A `minscale` of *0.5* (50%) prevents the user from zooming out beyond half the base zoom level. Must be greater than or equal to *0*; has no upper bound. The default of *0* imposes no lower bound on zoom.", + "dflt": 0, + "editType": "plot", + "min": 0, + "valType": "number" + }, "parallels": { "description": "For conic projection types only. Sets the parallels (tangent, secant) where the cone intersects the sphere.", "editType": "plot", @@ -2812,12 +2784,6 @@ "min": 10, "valType": "number" }, - "hidesources": { - "description": "Determines whether or not a text link citing the data source is placed at the bottom-right cored of the figure. Has only an effect only on graphs that have been generated via forked graphs from the Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise).", - "dflt": false, - "editType": "plot", - "valType": "boolean" - }, "hoveranywhere": { "description": "If true, `plotly_hover` events will fire for any cursor position within the plot area, not just over traces. When the cursor is not over a trace, the event will have an empty `points` array but will include `xvals` and `yvals` with cursor coordinates in data space.", "dflt": false, @@ -3170,7 +3136,7 @@ ] }, "xref": { - "description": "Sets the images's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.", + "description": "Sets the images's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.", "dflt": "paper", "editType": "arraydraw", "valType": "enumerated", @@ -3197,7 +3163,7 @@ ] }, "yref": { - "description": "Sets the images's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.", + "description": "Sets the images's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.", "dflt": "paper", "editType": "arraydraw", "valType": "enumerated", @@ -3777,7 +3743,7 @@ }, "domain": { "column": { - "description": "If there is a layout grid, use the domain for this column in the grid for this map subplot .", + "description": "If there is a layout grid, use the domain for this column in the grid for this map subplot.", "dflt": 0, "editType": "plot", "min": 0, @@ -3786,7 +3752,7 @@ "editType": "plot", "role": "object", "row": { - "description": "If there is a layout grid, use the domain for this row in the grid for this map subplot .", + "description": "If there is a layout grid, use the domain for this row in the grid for this map subplot.", "dflt": 0, "editType": "plot", "min": 0, @@ -3840,6 +3806,16 @@ } }, "editType": "plot", + "fitbounds": { + "description": "Determines if this subplot's view settings are auto-computed to fit trace data. If *locations* (default), the view is auto-fit to the lon/lat coordinates of the visible trace data. If *false*, the view settings are used as-is; set this to opt out of auto-fitting. If `fitbounds` is enabled but a user provides `center` or `zoom`, auto-fit will be skipped.", + "dflt": "locations", + "editType": "plot", + "valType": "enumerated", + "values": [ + false, + "locations" + ] + }, "layers": { "items": { "layer": { @@ -3886,11 +3862,6 @@ "editType": "plot", "valType": "data_array" }, - "dashsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `dash`.", - "editType": "none", - "valType": "string" - }, "editType": "plot", "role": "object", "width": { @@ -4123,411 +4094,6 @@ "valType": "number" } }, - "mapbox": { - "_arrayAttrRegexps": [ - {} - ], - "_isSubplotObj": true, - "accesstoken": { - "description": "Sets the mapbox access token to be used for this mapbox map. Alternatively, the mapbox access token can be set in the configuration options under `mapboxAccessToken`. Note that accessToken are only required when `style` (e.g with values : basic, streets, outdoors, light, dark, satellite, satellite-streets ) and/or a layout layer references the Mapbox server.", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "bearing": { - "description": "Sets the bearing angle of the map in degrees counter-clockwise from North (mapbox.bearing).", - "dflt": 0, - "editType": "plot", - "valType": "number" - }, - "bounds": { - "east": { - "description": "Sets the maximum longitude of the map (in degrees East) if `west`, `south` and `north` are declared.", - "editType": "plot", - "valType": "number" - }, - "editType": "plot", - "north": { - "description": "Sets the maximum latitude of the map (in degrees North) if `east`, `west` and `south` are declared.", - "editType": "plot", - "valType": "number" - }, - "role": "object", - "south": { - "description": "Sets the minimum latitude of the map (in degrees North) if `east`, `west` and `north` are declared.", - "editType": "plot", - "valType": "number" - }, - "west": { - "description": "Sets the minimum longitude of the map (in degrees East) if `east`, `south` and `north` are declared.", - "editType": "plot", - "valType": "number" - } - }, - "center": { - "editType": "plot", - "lat": { - "description": "Sets the latitude of the center of the map (in degrees North).", - "dflt": 0, - "editType": "plot", - "valType": "number" - }, - "lon": { - "description": "Sets the longitude of the center of the map (in degrees East).", - "dflt": 0, - "editType": "plot", - "valType": "number" - }, - "role": "object" - }, - "domain": { - "column": { - "description": "If there is a layout grid, use the domain for this column in the grid for this mapbox subplot .", - "dflt": 0, - "editType": "plot", - "min": 0, - "valType": "integer" - }, - "editType": "plot", - "role": "object", - "row": { - "description": "If there is a layout grid, use the domain for this row in the grid for this mapbox subplot .", - "dflt": 0, - "editType": "plot", - "min": 0, - "valType": "integer" - }, - "x": { - "description": "Sets the horizontal domain of this mapbox subplot (in plot fraction).", - "dflt": [ - 0, - 1 - ], - "editType": "plot", - "items": [ - { - "editType": "plot", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "plot", - "max": 1, - "min": 0, - "valType": "number" - } - ], - "valType": "info_array" - }, - "y": { - "description": "Sets the vertical domain of this mapbox subplot (in plot fraction).", - "dflt": [ - 0, - 1 - ], - "editType": "plot", - "items": [ - { - "editType": "plot", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "plot", - "max": 1, - "min": 0, - "valType": "number" - } - ], - "valType": "info_array" - } - }, - "editType": "plot", - "layers": { - "items": { - "layer": { - "below": { - "description": "Determines if the layer will be inserted before the layer with the specified ID. If omitted or set to '', the layer will be inserted above every existing layer.", - "editType": "plot", - "valType": "string" - }, - "circle": { - "editType": "plot", - "radius": { - "description": "Sets the circle radius (mapbox.layer.paint.circle-radius). Has an effect only when `type` is set to *circle*.", - "dflt": 15, - "editType": "plot", - "valType": "number" - }, - "role": "object" - }, - "color": { - "description": "Sets the primary layer color. If `type` is *circle*, color corresponds to the circle color (mapbox.layer.paint.circle-color) If `type` is *line*, color corresponds to the line color (mapbox.layer.paint.line-color) If `type` is *fill*, color corresponds to the fill color (mapbox.layer.paint.fill-color) If `type` is *symbol*, color corresponds to the icon color (mapbox.layer.paint.icon-color)", - "dflt": "#444", - "editType": "plot", - "valType": "color" - }, - "coordinates": { - "description": "Sets the coordinates array contains [longitude, latitude] pairs for the image corners listed in clockwise order: top left, top right, bottom right, bottom left. Only has an effect for *image* `sourcetype`.", - "editType": "plot", - "valType": "any" - }, - "editType": "plot", - "fill": { - "editType": "plot", - "outlinecolor": { - "description": "Sets the fill outline color (mapbox.layer.paint.fill-outline-color). Has an effect only when `type` is set to *fill*.", - "dflt": "#444", - "editType": "plot", - "valType": "color" - }, - "role": "object" - }, - "line": { - "dash": { - "description": "Sets the length of dashes and gaps (mapbox.layer.paint.line-dasharray). Has an effect only when `type` is set to *line*.", - "editType": "plot", - "valType": "data_array" - }, - "dashsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `dash`.", - "editType": "none", - "valType": "string" - }, - "editType": "plot", - "role": "object", - "width": { - "description": "Sets the line width (mapbox.layer.paint.line-width). Has an effect only when `type` is set to *line*.", - "dflt": 2, - "editType": "plot", - "valType": "number" - } - }, - "maxzoom": { - "description": "Sets the maximum zoom level (mapbox.layer.maxzoom). At zoom levels equal to or greater than the maxzoom, the layer will be hidden.", - "dflt": 24, - "editType": "plot", - "max": 24, - "min": 0, - "valType": "number" - }, - "minzoom": { - "description": "Sets the minimum zoom level (mapbox.layer.minzoom). At zoom levels less than the minzoom, the layer will be hidden.", - "dflt": 0, - "editType": "plot", - "max": 24, - "min": 0, - "valType": "number" - }, - "name": { - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", - "editType": "plot", - "valType": "string" - }, - "opacity": { - "description": "Sets the opacity of the layer. If `type` is *circle*, opacity corresponds to the circle opacity (mapbox.layer.paint.circle-opacity) If `type` is *line*, opacity corresponds to the line opacity (mapbox.layer.paint.line-opacity) If `type` is *fill*, opacity corresponds to the fill opacity (mapbox.layer.paint.fill-opacity) If `type` is *symbol*, opacity corresponds to the icon/text opacity (mapbox.layer.paint.text-opacity)", - "dflt": 1, - "editType": "plot", - "max": 1, - "min": 0, - "valType": "number" - }, - "role": "object", - "source": { - "description": "Sets the source data for this layer (mapbox.layer.source). When `sourcetype` is set to *geojson*, `source` can be a URL to a GeoJSON or a GeoJSON object. When `sourcetype` is set to *vector* or *raster*, `source` can be a URL or an array of tile URLs. When `sourcetype` is set to *image*, `source` can be a URL to an image.", - "editType": "plot", - "valType": "any" - }, - "sourceattribution": { - "description": "Sets the attribution for this source.", - "editType": "plot", - "valType": "string" - }, - "sourcelayer": { - "description": "Specifies the layer to use from a vector tile source (mapbox.layer.source-layer). Required for *vector* source type that supports multiple layers.", - "dflt": "", - "editType": "plot", - "valType": "string" - }, - "sourcetype": { - "description": "Sets the source type for this layer, that is the type of the layer data.", - "dflt": "geojson", - "editType": "plot", - "valType": "enumerated", - "values": [ - "geojson", - "vector", - "raster", - "image" - ] - }, - "symbol": { - "editType": "plot", - "icon": { - "description": "Sets the symbol icon image (mapbox.layer.layout.icon-image). Full list: https://www.mapbox.com/maki-icons/", - "dflt": "marker", - "editType": "plot", - "valType": "string" - }, - "iconsize": { - "description": "Sets the symbol icon size (mapbox.layer.layout.icon-size). Has an effect only when `type` is set to *symbol*.", - "dflt": 10, - "editType": "plot", - "valType": "number" - }, - "placement": { - "description": "Sets the symbol and/or text placement (mapbox.layer.layout.symbol-placement). If `placement` is *point*, the label is placed where the geometry is located If `placement` is *line*, the label is placed along the line of the geometry If `placement` is *line-center*, the label is placed on the center of the geometry", - "dflt": "point", - "editType": "plot", - "valType": "enumerated", - "values": [ - "point", - "line", - "line-center" - ] - }, - "role": "object", - "text": { - "description": "Sets the symbol text (mapbox.layer.layout.text-field).", - "dflt": "", - "editType": "plot", - "valType": "string" - }, - "textfont": { - "color": { - "editType": "plot", - "valType": "color" - }, - "description": "Sets the icon text font (color=mapbox.layer.paint.text-color, size=mapbox.layer.layout.text-size). Has an effect only when `type` is set to *symbol*.", - "editType": "plot", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "dflt": "Open Sans Regular, Arial Unicode MS Regular", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "role": "object", - "size": { - "editType": "plot", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "textposition": { - "arrayOk": false, - "description": "Sets the positions of the `text` elements with respects to the (x,y) coordinates.", - "dflt": "middle center", - "editType": "plot", - "valType": "enumerated", - "values": [ - "top left", - "top center", - "top right", - "middle left", - "middle center", - "middle right", - "bottom left", - "bottom center", - "bottom right" - ] - } - }, - "templateitemname": { - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", - "editType": "plot", - "valType": "string" - }, - "type": { - "description": "Sets the layer type, that is the how the layer data set in `source` will be rendered With `sourcetype` set to *geojson*, the following values are allowed: *circle*, *line*, *fill* and *symbol*. but note that *line* and *fill* are not compatible with Point GeoJSON geometries. With `sourcetype` set to *vector*, the following values are allowed: *circle*, *line*, *fill* and *symbol*. With `sourcetype` set to *raster* or *image*, only the *raster* value is allowed.", - "dflt": "circle", - "editType": "plot", - "valType": "enumerated", - "values": [ - "circle", - "line", - "fill", - "symbol", - "raster" - ] - }, - "visible": { - "description": "Determines whether this layer is displayed", - "dflt": true, - "editType": "plot", - "valType": "boolean" - } - } - }, - "role": "object" - }, - "pitch": { - "description": "Sets the pitch angle of the map (in degrees, where *0* means perpendicular to the surface of the map) (mapbox.pitch).", - "dflt": 0, - "editType": "plot", - "valType": "number" - }, - "role": "object", - "style": { - "description": "Defines the map layers that are rendered by default below the trace layers defined in `data`, which are themselves by default rendered below the layers defined in `layout.mapbox.layers`. These layers can be defined either explicitly as a Mapbox Style object which can contain multiple layer definitions that load data from any public or private Tile Map Service (TMS or XYZ) or Web Map Service (WMS) or implicitly by using one of the built-in style objects which use WMSes which do not require any access tokens, or by using a default Mapbox style or custom Mapbox style URL, both of which require a Mapbox access token Note that Mapbox access token can be set in the `accesstoken` attribute or in the `mapboxAccessToken` config option. Mapbox Style objects are of the form described in the Mapbox GL JS documentation available at https://docs.mapbox.com/mapbox-gl-js/style-spec The built-in plotly.js styles objects are: carto-darkmatter, carto-positron, open-street-map, stamen-terrain, stamen-toner, stamen-watercolor, white-bg The built-in Mapbox styles are: basic, streets, outdoors, light, dark, satellite, satellite-streets Mapbox style URLs are of the form: mapbox://mapbox.mapbox--", - "dflt": "basic", - "editType": "plot", - "valType": "any", - "values": [ - "basic", - "streets", - "outdoors", - "light", - "dark", - "satellite", - "satellite-streets", - "carto-darkmatter", - "carto-positron", - "open-street-map", - "stamen-terrain", - "stamen-toner", - "stamen-watercolor", - "white-bg" - ] - }, - "uirevision": { - "description": "Controls persistence of user-driven changes in the view: `center`, `zoom`, `bearing`, `pitch`. Defaults to `layout.uirevision`.", - "editType": "none", - "valType": "any" - }, - "zoom": { - "description": "Sets the zoom level of the map (mapbox.zoom).", - "dflt": 1, - "editType": "plot", - "valType": "number" - } - }, "margin": { "autoexpand": { "description": "Turns on/off margin expansion computations. Legends, colorbars, updatemenus, sliders, axis rangeselector and rangeslider are allowed to push the margins by defaults.", @@ -4579,11 +4145,6 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "minreducedheight": { "description": "Minimum height of the plot with margin.automargin applied (in px)", "dflt": 64, @@ -4611,11 +4172,6 @@ "editType": "modebar", "valType": "string" }, - "addsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `add`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "description": "Sets the background color of the modebar.", "editType": "modebar", @@ -4639,16 +4195,11 @@ }, "remove": { "arrayOk": true, - "description": "Determines which predefined modebar buttons to remove. Similar to `config.modeBarButtonsToRemove` option. This may include *autoScale2d*, *autoscale*, *editInChartStudio*, *editinchartstudio*, *hoverCompareCartesian*, *hovercompare*, *lasso*, *lasso2d*, *orbitRotation*, *orbitrotation*, *pan*, *pan2d*, *pan3d*, *reset*, *resetCameraDefault3d*, *resetCameraLastSave3d*, *resetGeo*, *resetSankeyGroup*, *resetScale2d*, *resetViewMap*, *resetViewMapbox*, *resetViews*, *resetcameradefault*, *resetcameralastsave*, *resetsankeygroup*, *resetscale*, *resetview*, *resetviews*, *select*, *select2d*, *sendDataToCloud*, *senddatatocloud*, *tableRotation*, *tablerotation*, *toImage*, *toggleHover*, *toggleSpikelines*, *togglehover*, *togglespikelines*, *toimage*, *zoom*, *zoom2d*, *zoom3d*, *zoomIn2d*, *zoomInGeo*, *zoomInMap*, *zoomInMapbox*, *zoomOut2d*, *zoomOutGeo*, *zoomOutMap*, *zoomOutMapbox*, *zoomin*, *zoomout*.", + "description": "Determines which predefined modebar buttons to remove. Similar to `config.modeBarButtonsToRemove` option. This may include *autoScale2d*, *autoscale*, *hoverCompareCartesian*, *hovercompare*, *lasso*, *lasso2d*, *orbitRotation*, *orbitrotation*, *pan*, *pan2d*, *pan3d*, *reset*, *resetCameraDefault3d*, *resetCameraLastSave3d*, *resetGeo*, *resetSankeyGroup*, *resetScale2d*, *resetViewMap*, *resetViews*, *resetcameradefault*, *resetcameralastsave*, *resetsankeygroup*, *resetscale*, *resetview*, *resetviews*, *select*, *select2d*, *sendChartToCloud*, *sendcharttocloud*, *tableRotation*, *tablerotation*, *toImage*, *toggleHover*, *toggleSpikelines*, *togglehover*, *togglespikelines*, *toimage*, *zoom*, *zoom2d*, *zoom3d*, *zoomIn2d*, *zoomInGeo*, *zoomInMap*, *zoomOut2d*, *zoomOutGeo*, *zoomOutMap*, *zoomin*, *zoomout*.", "dflt": "", "editType": "modebar", "valType": "string" }, - "removesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `remove`.", - "editType": "none", - "valType": "string" - }, "role": "object", "uirevision": { "description": "Controls persistence of user-driven changes related to the modebar, including `hovermode`, `dragmode`, and `showspikes` at both the root level and inside subplots. Defaults to `layout.uirevision`.", @@ -5121,11 +4672,6 @@ "editType": "calc", "valType": "data_array" }, - "categoryarraysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `categoryarray`.", - "editType": "none", - "valType": "string" - }, "categoryorder": { "description": "Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean, geometric mean or median of all the values.", "dflt": "trace", @@ -5574,21 +5120,11 @@ "editType": "plot", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "plot", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -5628,7 +5164,7 @@ }, "domain": { "column": { - "description": "If there is a layout grid, use the domain for this column in the grid for this polar subplot .", + "description": "If there is a layout grid, use the domain for this column in the grid for this polar subplot.", "dflt": 0, "editType": "plot", "min": 0, @@ -5637,7 +5173,7 @@ "editType": "plot", "role": "object", "row": { - "description": "If there is a layout grid, use the domain for this row in the grid for this polar subplot .", + "description": "If there is a layout grid, use the domain for this row in the grid for this polar subplot.", "dflt": 0, "editType": "plot", "min": 0, @@ -5747,16 +5283,11 @@ "editType": "plot", "include": { "arrayOk": true, - "description": "Ensure this value is included in autorange.", + "description": "Extends the autorange to include this value or array of values, even when they fall outside the data range. Has no effect on endpoints set by `autorangeoptions.minallowed` or `autorangeoptions.maxallowed`. Subject to `autorangeoptions.clipmin` and `autorangeoptions.clipmax`.", "editType": "plot", "impliedEdits": {}, "valType": "any" }, - "includesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `include`.", - "editType": "none", - "valType": "string" - }, "maxallowed": { "description": "Use this value exactly as autorange maximum.", "editType": "plot", @@ -5824,11 +5355,6 @@ "editType": "calc", "valType": "data_array" }, - "categoryarraysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `categoryarray`.", - "editType": "none", - "valType": "string" - }, "categoryorder": { "description": "Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean, geometric mean or median of all the values.", "dflt": "trace", @@ -6308,21 +5834,11 @@ "editType": "plot", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "plot", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -7060,7 +6576,7 @@ }, "domain": { "column": { - "description": "If there is a layout grid, use the domain for this column in the grid for this scene subplot .", + "description": "If there is a layout grid, use the domain for this column in the grid for this scene subplot.", "dflt": 0, "editType": "plot", "min": 0, @@ -7069,7 +6585,7 @@ "editType": "plot", "role": "object", "row": { - "description": "If there is a layout grid, use the domain for this row in the grid for this scene subplot .", + "description": "If there is a layout grid, use the domain for this row in the grid for this scene subplot.", "dflt": 0, "editType": "plot", "min": 0, @@ -7184,16 +6700,11 @@ "editType": "plot", "include": { "arrayOk": true, - "description": "Ensure this value is included in autorange.", + "description": "Extends the autorange to include this value or array of values, even when they fall outside the data range. Has no effect on endpoints set by `autorangeoptions.minallowed` or `autorangeoptions.maxallowed`. Subject to `autorangeoptions.clipmin` and `autorangeoptions.clipmax`.", "editType": "plot", "impliedEdits": {}, "valType": "any" }, - "includesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `include`.", - "editType": "none", - "valType": "string" - }, "maxallowed": { "description": "Use this value exactly as autorange maximum.", "editType": "plot", @@ -7253,11 +6764,6 @@ "editType": "plot", "valType": "data_array" }, - "categoryarraysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `categoryarray`.", - "editType": "none", - "valType": "string" - }, "categoryorder": { "description": "Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean, geometric mean or median of all the values.", "dflt": "trace", @@ -7734,21 +7240,11 @@ "editType": "plot", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "plot", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -7924,16 +7420,11 @@ "editType": "plot", "include": { "arrayOk": true, - "description": "Ensure this value is included in autorange.", + "description": "Extends the autorange to include this value or array of values, even when they fall outside the data range. Has no effect on endpoints set by `autorangeoptions.minallowed` or `autorangeoptions.maxallowed`. Subject to `autorangeoptions.clipmin` and `autorangeoptions.clipmax`.", "editType": "plot", "impliedEdits": {}, "valType": "any" }, - "includesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `include`.", - "editType": "none", - "valType": "string" - }, "maxallowed": { "description": "Use this value exactly as autorange maximum.", "editType": "plot", @@ -7993,11 +7484,6 @@ "editType": "plot", "valType": "data_array" }, - "categoryarraysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `categoryarray`.", - "editType": "none", - "valType": "string" - }, "categoryorder": { "description": "Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean, geometric mean or median of all the values.", "dflt": "trace", @@ -8474,21 +7960,11 @@ "editType": "plot", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "plot", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -8664,16 +8140,11 @@ "editType": "plot", "include": { "arrayOk": true, - "description": "Ensure this value is included in autorange.", + "description": "Extends the autorange to include this value or array of values, even when they fall outside the data range. Has no effect on endpoints set by `autorangeoptions.minallowed` or `autorangeoptions.maxallowed`. Subject to `autorangeoptions.clipmin` and `autorangeoptions.clipmax`.", "editType": "plot", "impliedEdits": {}, "valType": "any" }, - "includesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `include`.", - "editType": "none", - "valType": "string" - }, "maxallowed": { "description": "Use this value exactly as autorange maximum.", "editType": "plot", @@ -8733,11 +8204,6 @@ "editType": "plot", "valType": "data_array" }, - "categoryarraysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `categoryarray`.", - "editType": "none", - "valType": "string" - }, "categoryorder": { "description": "Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean, geometric mean or median of all the values.", "dflt": "trace", @@ -9214,21 +8680,11 @@ "editType": "plot", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "plot", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -9469,7 +8925,7 @@ "valType": "any" }, "xref": { - "description": "Sets the selection's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.", + "description": "Sets the selection's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.", "editType": "arraydraw", "valType": "enumerated", "values": [ @@ -9488,7 +8944,7 @@ "valType": "any" }, "yref": { - "description": "Sets the selection's x coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.", + "description": "Sets the selection's x coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.", "editType": "arraydraw", "valType": "enumerated", "values": [ @@ -9947,7 +9403,7 @@ }, "xref": { "arrayOk": true, - "description": "Sets the shape's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. If an array of axis IDs is provided, each `x` value will refer to the corresponding axis, e.g., ['x', 'x2'] for a rectangle, line, or circle means `x0` uses the `x` axis and `x1` uses the `x2` axis. Path shapes using an array should have one entry for each x coordinate in the string.", + "description": "Sets the shape's x coordinate axis. If set to a x axis id (e.g. *x* or *x2*), the `x` position refers to a x coordinate. If set to *paper*, the `x` position refers to the distance from the left of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right). If set to a x axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. If an array of axis IDs is provided, each `x` value will refer to the corresponding axis, e.g., ['x', 'x2'] for a rectangle, line, or circle means `x0` uses the `x` axis and `x1` uses the `x2` axis. Path shapes using an array should have one entry for each x coordinate in the string.", "editType": "calc", "valType": "enumerated", "values": [ @@ -9955,11 +9411,6 @@ "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" ] }, - "xrefsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `xref`.", - "editType": "none", - "valType": "string" - }, "xsizemode": { "description": "Sets the shapes's sizing mode along the x axis. If set to *scaled*, `x0`, `x1` and x coordinates within `path` refer to data values on the x axis or a fraction of the plot area's width (`xref` set to *paper*). If set to *pixel*, `xanchor` specifies the x position in terms of data or plot fraction but `x0`, `x1` and x coordinates within `path` are pixels relative to `xanchor`. This way, the shape can have a fixed width while maintaining a position relative to data or plot fraction. Note: `xsizemode` *pixel* is not supported when `xref` is an array.", "dflt": "scaled", @@ -10003,7 +9454,7 @@ }, "yref": { "arrayOk": true, - "description": "Sets the shape's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. If an array of axis IDs is provided, each `y` value will refer to the corresponding axis, e.g., ['y', 'y2'] for a rectangle, line, or circle means `y0` uses the `y` axis and `y1` uses the `y2` axis. Path shapes using an array should have one entry for each y coordinate in the string.", + "description": "Sets the shape's y coordinate axis. If set to a y axis id (e.g. *y* or *y2*), the `y` position refers to a y coordinate. If set to *paper*, the `y` position refers to the distance from the bottom of the plotting area in normalized coordinates where *0* (*1*) corresponds to the bottom (top). If set to a y axis ID followed by *domain* (separated by a space), the position behaves like for *paper*, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. If an array of axis IDs is provided, each `y` value will refer to the corresponding axis, e.g., ['y', 'y2'] for a rectangle, line, or circle means `y0` uses the `y` axis and `y1` uses the `y2` axis. Path shapes using an array should have one entry for each y coordinate in the string.", "editType": "calc", "valType": "enumerated", "values": [ @@ -10011,11 +9462,6 @@ "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" ] }, - "yrefsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `yref`.", - "editType": "none", - "valType": "string" - }, "ysizemode": { "description": "Sets the shapes's sizing mode along the y axis. If set to *scaled*, `y0`, `y1` and y coordinates within `path` refer to data values on the y axis or a fraction of the plot area's height (`yref` set to *paper*). If set to *pixel*, `yanchor` specifies the y position in terms of data or plot fraction but `y0`, `y1` and y coordinates within `path` are pixels relative to `yanchor`. This way, the shape can have a fixed height while maintaining a position relative to data or plot fraction. Note: `ysizemode` *pixel* is not supported when `yref` is an array.", "dflt": "scaled", @@ -10559,7 +10005,7 @@ }, "domain": { "column": { - "description": "If there is a layout grid, use the domain for this column in the grid for this smith subplot .", + "description": "If there is a layout grid, use the domain for this column in the grid for this smith subplot.", "dflt": 0, "editType": "plot", "min": 0, @@ -10568,7 +10014,7 @@ "editType": "plot", "role": "object", "row": { - "description": "If there is a layout grid, use the domain for this row in the grid for this smith subplot .", + "description": "If there is a layout grid, use the domain for this row in the grid for this smith subplot.", "dflt": 0, "editType": "plot", "min": 0, @@ -10870,11 +10316,6 @@ "editType": "plot", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 2, @@ -11160,11 +10601,6 @@ "editType": "plot", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 2, @@ -11583,21 +11019,11 @@ "editType": "plot", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "plot", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -12097,21 +11523,11 @@ "editType": "plot", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "plot", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -12617,21 +12033,11 @@ "editType": "plot", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "plot", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -12745,7 +12151,7 @@ }, "domain": { "column": { - "description": "If there is a layout grid, use the domain for this column in the grid for this ternary subplot .", + "description": "If there is a layout grid, use the domain for this column in the grid for this ternary subplot.", "dflt": 0, "editType": "plot", "min": 0, @@ -12754,7 +12160,7 @@ "editType": "plot", "role": "object", "row": { - "description": "If there is a layout grid, use the domain for this row in the grid for this ternary subplot .", + "description": "If there is a layout grid, use the domain for this row in the grid for this ternary subplot.", "dflt": 0, "editType": "plot", "min": 0, @@ -13602,16 +13008,11 @@ "editType": "plot", "include": { "arrayOk": true, - "description": "Ensure this value is included in autorange.", + "description": "Extends the autorange to include this value or array of values, even when they fall outside the data range. Has no effect on endpoints set by `autorangeoptions.minallowed` or `autorangeoptions.maxallowed`. Subject to `autorangeoptions.clipmin` and `autorangeoptions.clipmax`.", "editType": "plot", "impliedEdits": {}, "valType": "any" }, - "includesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `include`.", - "editType": "none", - "valType": "string" - }, "maxallowed": { "description": "Use this value exactly as autorange maximum.", "editType": "plot", @@ -13679,11 +13080,6 @@ "editType": "calc", "valType": "data_array" }, - "categoryarraysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `categoryarray`.", - "editType": "none", - "valType": "string" - }, "categoryorder": { "description": "Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean, geometric mean or median of all the values.", "dflt": "trace", @@ -14007,11 +13403,6 @@ "editType": "ticks", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "editType": "ticks", @@ -14629,7 +14020,7 @@ ] }, "spikemode": { - "description": "Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on", + "description": "Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on", "dflt": "toaxis", "editType": "none", "flags": [ @@ -14823,11 +14214,6 @@ "editType": "calc", "valType": "integer" }, - "ticklabelindexsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticklabelindex`.", - "editType": "none", - "valType": "string" - }, "ticklabelmode": { "description": "Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an effect for axes of `type` *date* When set to *period*, tick labels are drawn in the middle of the period between ticks.", "dflt": "instant", @@ -14893,7 +14279,7 @@ "valType": "number" }, "tickmode": { - "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided). If *sync*, the number of ticks will sync with the overlayed axis set by `overlaying` property.", + "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided). If *sync*, the number of ticks will sync with the overlayed axis set by `overlaying` property. When no other tick info is provided, overlaying (non-categorical) axes default to *sync*, while other axes default to *auto*.", "editType": "ticks", "impliedEdits": {}, "valType": "enumerated", @@ -14941,21 +14327,11 @@ "editType": "ticks", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "ticks", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -15192,16 +14568,11 @@ "editType": "plot", "include": { "arrayOk": true, - "description": "Ensure this value is included in autorange.", + "description": "Extends the autorange to include this value or array of values, even when they fall outside the data range. Has no effect on endpoints set by `autorangeoptions.minallowed` or `autorangeoptions.maxallowed`. Subject to `autorangeoptions.clipmin` and `autorangeoptions.clipmax`.", "editType": "plot", "impliedEdits": {}, "valType": "any" }, - "includesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `include`.", - "editType": "none", - "valType": "string" - }, "maxallowed": { "description": "Use this value exactly as autorange maximum.", "editType": "plot", @@ -15275,11 +14646,6 @@ "editType": "calc", "valType": "data_array" }, - "categoryarraysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `categoryarray`.", - "editType": "none", - "valType": "string" - }, "categoryorder": { "description": "Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean, geometric mean or median of all the values.", "dflt": "trace", @@ -15603,11 +14969,6 @@ "editType": "ticks", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "editType": "ticks", @@ -15908,7 +15269,7 @@ ] }, "spikemode": { - "description": "Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on", + "description": "Determines the drawing mode for the spike line If *toaxis*, the line is drawn from the data point to the axis the series is plotted on. If *across*, the line is drawn across the entire plot area, and supercedes *toaxis*. If *marker*, then a marker dot is drawn on the axis the series is plotted on", "dflt": "toaxis", "editType": "none", "flags": [ @@ -16102,11 +15463,6 @@ "editType": "calc", "valType": "integer" }, - "ticklabelindexsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticklabelindex`.", - "editType": "none", - "valType": "string" - }, "ticklabelmode": { "description": "Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an effect for axes of `type` *date* When set to *period*, tick labels are drawn in the middle of the period between ticks.", "dflt": "instant", @@ -16172,7 +15528,7 @@ "valType": "number" }, "tickmode": { - "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided). If *sync*, the number of ticks will sync with the overlayed axis set by `overlaying` property.", + "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided). If *sync*, the number of ticks will sync with the overlayed axis set by `overlaying` property. When no other tick info is provided, overlaying (non-categorical) axes default to *sync*, while other axes default to *auto*.", "editType": "ticks", "impliedEdits": {}, "valType": "enumerated", @@ -16220,21 +15576,11 @@ "editType": "ticks", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "ticks", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -16428,11 +15774,6 @@ "editType": "calc", "valType": "any" }, - "basesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `base`.", - "editType": "none", - "valType": "string" - }, "cliponaxis": { "description": "Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to *below traces*.", "dflt": true, @@ -16456,11 +15797,6 @@ "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, "dx": { "anim": true, "description": "Sets the x coordinate step. See `x0` for more info.", @@ -16486,16 +15822,6 @@ "editType": "calc", "valType": "data_array" }, - "arrayminussrc": { - "description": "Sets the source reference on Chart Studio Cloud for `arrayminus`.", - "editType": "none", - "valType": "string" - }, - "arraysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `array`.", - "editType": "none", - "valType": "string" - }, "color": { "description": "Sets the stroke color of the error bars.", "editType": "style", @@ -16579,16 +15905,6 @@ "editType": "calc", "valType": "data_array" }, - "arrayminussrc": { - "description": "Sets the source reference on Chart Studio Cloud for `arrayminus`.", - "editType": "none", - "valType": "string" - }, - "arraysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `array`.", - "editType": "none", - "valType": "string" - }, "color": { "description": "Sets the stroke color of the error bars.", "editType": "style", @@ -16659,7 +15975,7 @@ }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", "dflt": "all", "editType": "none", "extras": [ @@ -16676,11 +15992,6 @@ ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -16694,33 +16005,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -16728,11 +16024,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -16743,11 +16034,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -16763,11 +16049,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -16776,22 +16057,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -16803,11 +16074,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -16821,11 +16087,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -16841,11 +16102,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -16858,11 +16114,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -16873,11 +16124,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -16899,11 +16145,6 @@ "editType": "none", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "hovertext": { "arrayOk": true, "description": "Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.", @@ -16911,22 +16152,12 @@ "editType": "style", "valType": "string" }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, "ids": { "anim": true, "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, "insidetextanchor": { "description": "Determines if texts are kept at center or start/end points in `textposition` *inside* mode.", "dflt": "end", @@ -16944,11 +16175,6 @@ "editType": "style", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used for `text` lying inside the bar.", "editType": "calc", "family": { @@ -16959,11 +16185,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -16979,11 +16200,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -16992,22 +16208,12 @@ "editType": "calc", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "calc", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -17019,11 +16225,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -17037,11 +16238,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -17057,11 +16253,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -17074,11 +16265,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "legend": { @@ -17669,21 +16855,11 @@ "editType": "colorbars", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "colorbars", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -17784,7 +16960,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -17865,7 +17041,7 @@ } }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -17873,11 +17049,6 @@ }, "valType": "colorscale" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "cornerradius": { "description": "Sets the rounding of corners. May be an integer number of pixels, or a percentage of bar width (as a string ending in %). Defaults to `layout.barcornerradius`. In stack or relative barmode, the first trace to set cornerradius is used for the whole stack.", "editType": "calc", @@ -17938,7 +17109,7 @@ "valType": "subplotid" }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -17946,11 +17117,6 @@ }, "valType": "colorscale" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "reversescale": { "description": "Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.", @@ -17967,11 +17133,6 @@ "editType": "style", "min": 0, "valType": "number" - }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" } }, "opacity": { @@ -17983,11 +17144,6 @@ "min": 0, "valType": "number" }, - "opacitysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `opacity`.", - "editType": "none", - "valType": "string" - }, "pattern": { "bgcolor": { "arrayOk": true, @@ -17995,11 +17151,6 @@ "editType": "style", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the pattern within the marker.", "editType": "style", "fgcolor": { @@ -18008,11 +17159,6 @@ "editType": "style", "valType": "color" }, - "fgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `fgcolor`.", - "editType": "none", - "valType": "string" - }, "fgopacity": { "description": "Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.", "editType": "style", @@ -18036,11 +17182,6 @@ "editType": "style", "valType": "string" }, - "pathsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `path`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shape": { "arrayOk": true, @@ -18059,11 +17200,6 @@ "." ] }, - "shapesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shape`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "description": "Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.", @@ -18072,11 +17208,6 @@ "min": 0, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "solidity": { "arrayOk": true, "description": "Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.", @@ -18085,11 +17216,6 @@ "max": 1, "min": 0, "valType": "number" - }, - "soliditysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `solidity`.", - "editType": "none", - "valType": "string" } }, "reversescale": { @@ -18112,11 +17238,6 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", @@ -18135,11 +17256,6 @@ "editType": "calc", "valType": "string" }, - "offsetsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `offset`.", - "editType": "none", - "valType": "string" - }, "opacity": { "description": "Sets the opacity of the trace.", "dflt": 1, @@ -18163,11 +17279,6 @@ "editType": "style", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used for `text` lying outside the bar.", "editType": "calc", "family": { @@ -18178,11 +17289,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -18198,11 +17304,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -18211,22 +17312,12 @@ "editType": "calc", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "calc", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -18238,11 +17329,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -18256,11 +17342,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -18276,11 +17357,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -18293,11 +17369,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "selected": { @@ -18340,25 +17411,6 @@ "editType": "style", "valType": "boolean" }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, "text": { "arrayOk": true, "description": "Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", @@ -18378,11 +17430,6 @@ "editType": "style", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used for `text`.", "editType": "calc", "family": { @@ -18393,11 +17440,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -18413,11 +17455,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -18426,22 +17463,12 @@ "editType": "calc", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "calc", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -18453,11 +17480,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -18471,11 +17493,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -18491,11 +17508,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -18508,11 +17520,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "textposition": { @@ -18528,16 +17535,6 @@ "none" ] }, - "textpositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textposition`.", - "editType": "none", - "valType": "string" - }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, "texttemplate": { "arrayOk": true, "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `value` and `label`.", @@ -18551,11 +17548,6 @@ "editType": "plot", "valType": "any" }, - "texttemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `texttemplate`.", - "editType": "none", - "valType": "string" - }, "type": "bar", "uid": { "anim": true, @@ -18616,11 +17608,6 @@ "min": 0, "valType": "number" }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" - }, "x": { "anim": true, "description": "Sets the x coordinates.", @@ -18665,7 +17652,7 @@ ] }, "xhoverformat": { - "description": "Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", "dflt": "", "editType": "none", "valType": "string" @@ -18692,11 +17679,6 @@ "end" ] }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", - "editType": "none", - "valType": "string" - }, "y": { "anim": true, "description": "Sets the y coordinates.", @@ -18741,7 +17723,7 @@ ] }, "yhoverformat": { - "description": "Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", "dflt": "", "editType": "none", "valType": "string" @@ -18768,11 +17750,6 @@ "end" ] }, - "ysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `y`.", - "editType": "none", - "valType": "string" - }, "zorder": { "description": "Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.", "dflt": 0, @@ -18850,21 +17827,11 @@ "editType": "calc", "valType": "any" }, - "basesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `base`.", - "editType": "none", - "valType": "string" - }, "customdata": { "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, "dr": { "description": "Sets the r coordinate step.", "dflt": 1, @@ -18878,7 +17845,7 @@ }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", "dflt": "all", "editType": "none", "extras": [ @@ -18894,11 +17861,6 @@ ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -18912,33 +17874,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -18946,11 +17893,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -18961,11 +17903,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -18981,11 +17918,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -18994,22 +17926,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -19021,11 +17943,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -19039,11 +17956,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -19059,11 +17971,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -19076,11 +17983,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -19091,11 +17993,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -19117,11 +18014,6 @@ "editType": "none", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "hovertext": { "arrayOk": true, "description": "Same as `text`.", @@ -19129,21 +18021,11 @@ "editType": "style", "valType": "string" }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", @@ -19732,21 +18614,11 @@ "editType": "colorbars", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "colorbars", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -19847,7 +18719,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -19928,7 +18800,7 @@ } }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -19936,11 +18808,6 @@ }, "valType": "colorscale" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "line": { "autocolorscale": { @@ -19996,7 +18863,7 @@ "valType": "subplotid" }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -20004,11 +18871,6 @@ }, "valType": "colorscale" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "reversescale": { "description": "Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.", @@ -20024,11 +18886,6 @@ "editType": "style", "min": 0, "valType": "number" - }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" } }, "opacity": { @@ -20040,11 +18897,6 @@ "min": 0, "valType": "number" }, - "opacitysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `opacity`.", - "editType": "none", - "valType": "string" - }, "pattern": { "bgcolor": { "arrayOk": true, @@ -20052,11 +18904,6 @@ "editType": "style", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the pattern within the marker.", "editType": "style", "fgcolor": { @@ -20065,11 +18912,6 @@ "editType": "style", "valType": "color" }, - "fgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `fgcolor`.", - "editType": "none", - "valType": "string" - }, "fgopacity": { "description": "Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.", "editType": "style", @@ -20093,11 +18935,6 @@ "editType": "style", "valType": "string" }, - "pathsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `path`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shape": { "arrayOk": true, @@ -20116,11 +18953,6 @@ "." ] }, - "shapesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shape`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "description": "Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.", @@ -20129,11 +18961,6 @@ "min": 0, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "solidity": { "arrayOk": true, "description": "Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.", @@ -20142,11 +18969,6 @@ "max": 1, "min": 0, "valType": "number" - }, - "soliditysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `solidity`.", - "editType": "none", - "valType": "string" } }, "reversescale": { @@ -20169,11 +18991,6 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", @@ -20186,11 +19003,6 @@ "editType": "calc", "valType": "number" }, - "offsetsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `offset`.", - "editType": "none", - "valType": "string" - }, "opacity": { "description": "Sets the opacity of the trace.", "dflt": 1, @@ -20210,11 +19022,6 @@ "editType": "calc+clearAxisTypes", "valType": "any" }, - "rsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `r`.", - "editType": "none", - "valType": "string" - }, "selected": { "editType": "style", "marker": { @@ -20255,25 +19062,6 @@ "editType": "style", "valType": "boolean" }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, "subplot": { "description": "Sets a reference between this trace's data coordinates and a polar subplot. If *polar* (the default value), the data refer to `layout.polar`. If *polar2*, the data refer to `layout.polar2`, and so on.", "dflt": "polar", @@ -20287,11 +19075,6 @@ "editType": "calc", "valType": "string" }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, "theta": { "description": "Sets the angular coordinates", "editType": "calc+clearAxisTypes", @@ -20303,11 +19086,6 @@ "editType": "calc+clearAxisTypes", "valType": "any" }, - "thetasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `theta`.", - "editType": "none", - "valType": "string" - }, "thetaunit": { "description": "Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes.", "dflt": "degrees", @@ -20377,11 +19155,6 @@ "editType": "calc", "min": 0, "valType": "number" - }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" } }, "categories": [ @@ -20450,11 +19223,6 @@ "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, "dx": { "description": "Sets the x coordinate step for multi-box traces set using q1/median/q3.", "editType": "calc", @@ -20472,7 +19240,7 @@ }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", "dflt": "all", "editType": "none", "extras": [ @@ -20489,11 +19257,6 @@ ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -20507,33 +19270,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -20541,11 +19289,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -20556,11 +19299,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -20576,11 +19314,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -20589,22 +19322,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -20616,11 +19339,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -20634,11 +19352,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -20654,11 +19367,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -20671,11 +19379,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -20686,11 +19389,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -20722,11 +19420,6 @@ "editType": "none", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "hovertext": { "arrayOk": true, "description": "Same as `text`.", @@ -20734,21 +19427,11 @@ "editType": "style", "valType": "string" }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, "jitter": { "description": "Sets the amount of jitter in the sample points drawn. If *0*, the sample points align along the distribution axis. If *1*, the sample points are drawn in a random jitter of width equal to the width of the box(es).", "editType": "calc", @@ -20900,11 +19583,6 @@ "editType": "calc", "valType": "data_array" }, - "lowerfencesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lowerfence`.", - "editType": "none", - "valType": "string" - }, "marker": { "angle": { "arrayOk": false, @@ -21476,32 +20154,17 @@ "editType": "calc", "valType": "data_array" }, - "meansrc": { - "description": "Sets the source reference on Chart Studio Cloud for `mean`.", - "editType": "none", - "valType": "string" - }, "median": { "description": "Sets the median values. There should be as many items as the number of boxes desired.", "editType": "calc+clearAxisTypes", "valType": "data_array" }, - "mediansrc": { - "description": "Sets the source reference on Chart Studio Cloud for `median`.", - "editType": "none", - "valType": "string" - }, "meta": { "arrayOk": true, "description": "Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.", "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover. For box traces, the name will also be used for the position coordinate, if `x` and `x0` (`y` and `y0` if horizontal) are missing and the position axis is categorical", "editType": "calc+clearAxisTypes", @@ -21517,11 +20180,6 @@ "editType": "calc", "valType": "data_array" }, - "notchspansrc": { - "description": "Sets the source reference on Chart Studio Cloud for `notchspan`.", - "editType": "none", - "valType": "string" - }, "notchwidth": { "description": "Sets the width of the notches relative to the box width. For example, with 0, the notches are as wide as the box(es).", "dflt": 0.25, @@ -21565,21 +20223,11 @@ "editType": "calc+clearAxisTypes", "valType": "data_array" }, - "q1src": { - "description": "Sets the source reference on Chart Studio Cloud for `q1`.", - "editType": "none", - "valType": "string" - }, "q3": { "description": "Sets the Quartile 3 values. There should be as many items as the number of boxes desired.", "editType": "calc+clearAxisTypes", "valType": "data_array" }, - "q3src": { - "description": "Sets the source reference on Chart Studio Cloud for `q3`.", - "editType": "none", - "valType": "string" - }, "quartilemethod": { "description": "Sets the method used to compute the sample's Q1 and Q3 quartiles. The *linear* method uses the 25th percentile for Q1 and 75th percentile for Q3 as computed using method #10 (listed on http://jse.amstat.org/v14n3/langford.html). The *exclusive* method uses the median to divide the ordered dataset into two halves if the sample is odd, it does not include the median in either half - Q1 is then the median of the lower half and Q3 the median of the upper half. The *inclusive* method also uses the median to divide the ordered dataset into two halves but if the sample is odd, it includes the median in both halves - Q1 is then the median of the lower half and Q3 the median of the upper half.", "dflt": "linear", @@ -21603,11 +20251,6 @@ "min": 0, "valType": "number" }, - "sdsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `sd`.", - "editType": "none", - "valType": "string" - }, "selected": { "editType": "style", "marker": { @@ -21660,25 +20303,6 @@ "sd" ] }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, "text": { "arrayOk": true, "description": "Sets the text elements associated with each sample value. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.", @@ -21686,11 +20310,6 @@ "editType": "calc", "valType": "string" }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, "type": "box", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -21733,11 +20352,6 @@ "editType": "calc", "valType": "data_array" }, - "upperfencesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `upperfence`.", - "editType": "none", - "valType": "string" - }, "visible": { "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", "dflt": true, @@ -21805,7 +20419,7 @@ ] }, "xhoverformat": { - "description": "Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", "dflt": "", "editType": "none", "valType": "string" @@ -21832,11 +20446,6 @@ "end" ] }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", - "editType": "none", - "valType": "string" - }, "y": { "description": "Sets the y sample data or coordinates. See overview for more info.", "editType": "calc+clearAxisTypes", @@ -21878,7 +20487,7 @@ ] }, "yhoverformat": { - "description": "Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", "dflt": "", "editType": "none", "valType": "string" @@ -21905,11 +20514,6 @@ "end" ] }, - "ysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `y`.", - "editType": "none", - "valType": "string" - }, "zorder": { "description": "Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.", "dflt": 0, @@ -21968,21 +20572,11 @@ "editType": "calc", "valType": "data_array" }, - "closesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `close`.", - "editType": "none", - "valType": "string" - }, "customdata": { "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, "decreasing": { "editType": "style", "fillcolor": { @@ -22014,14 +20608,9 @@ "editType": "calc", "valType": "data_array" }, - "highsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `high`.", - "editType": "none", - "valType": "string" - }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", "dflt": "all", "editType": "none", "extras": [ @@ -22038,11 +20627,6 @@ ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -22056,33 +20640,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -22090,11 +20659,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -22105,11 +20669,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -22125,11 +20684,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -22138,22 +20692,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -22165,11 +20709,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -22183,11 +20722,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -22203,11 +20737,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -22220,11 +20749,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -22235,11 +20759,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -22267,11 +20786,6 @@ "editType": "none", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "hovertext": { "arrayOk": true, "description": "Same as `text`.", @@ -22279,21 +20793,11 @@ "editType": "calc", "valType": "string" }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, "increasing": { "editType": "style", "fillcolor": { @@ -22459,22 +20963,12 @@ "editType": "calc", "valType": "data_array" }, - "lowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `low`.", - "editType": "none", - "valType": "string" - }, "meta": { "arrayOk": true, "description": "Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.", "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", @@ -22493,11 +20987,6 @@ "editType": "calc", "valType": "data_array" }, - "opensrc": { - "description": "Sets the source reference on Chart Studio Cloud for `open`.", - "editType": "none", - "valType": "string" - }, "selectedpoints": { "description": "Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.", "editType": "calc", @@ -22509,25 +20998,6 @@ "editType": "style", "valType": "boolean" }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, "text": { "arrayOk": true, "description": "Sets hover text elements associated with each sample point. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to this trace's sample points.", @@ -22535,11 +21005,6 @@ "editType": "calc", "valType": "string" }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, "type": "candlestick", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -22606,7 +21071,7 @@ ] }, "xhoverformat": { - "description": "Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", "dflt": "", "editType": "none", "valType": "string" @@ -22633,11 +21098,6 @@ "end" ] }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", - "editType": "none", - "valType": "string" - }, "yaxis": { "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.", "dflt": "y", @@ -22645,7 +21105,7 @@ "valType": "subplotid" }, "yhoverformat": { - "description": "Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", "dflt": "", "editType": "none", "valType": "string" @@ -22693,7 +21153,7 @@ } }, "meta": { - "description": "The candlestick is a style of financial chart describing open, high, low and close for a given `x` coordinate (most likely time). The boxes represent the spread between the `open` and `close` values and the lines represent the spread between the `low` and `high` values Sample points where the close value is higher (lower) then the open value are called increasing (decreasing). By default, increasing candles are drawn in green whereas decreasing are drawn in red." + "description": "The candlestick is a style of financial chart describing open, high, low and close for a given `x` coordinate (most likely time). The boxes represent the spread between the `open` and `close` values and the lines represent the spread between the `low` and `high` values Sample points where the close value is higher (lower) than the open value are called increasing (decreasing). By default, increasing candles are drawn in green whereas decreasing are drawn in red." }, "type": "candlestick" }, @@ -22752,11 +21212,6 @@ "editType": "calc", "valType": "data_array" }, - "categoryarraysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `categoryarray`.", - "editType": "none", - "valType": "string" - }, "categoryorder": { "description": "Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`.", "dflt": "trace", @@ -23234,21 +21689,11 @@ "editType": "calc", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "calc", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "title": { "editType": "calc", "font": { @@ -23367,11 +21812,6 @@ ] } }, - "asrc": { - "description": "Sets the source reference on Chart Studio Cloud for `a`.", - "editType": "none", - "valType": "string" - }, "b": { "description": "A two dimensional array of y coordinates at each carpet point.", "editType": "calc", @@ -23424,11 +21864,6 @@ "editType": "calc", "valType": "data_array" }, - "categoryarraysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `categoryarray`.", - "editType": "none", - "valType": "string" - }, "categoryorder": { "description": "Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`.", "dflt": "trace", @@ -23906,21 +22341,11 @@ "editType": "calc", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "calc", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "title": { "editType": "calc", "font": { @@ -24039,11 +22464,6 @@ ] } }, - "bsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `b`.", - "editType": "none", - "valType": "string" - }, "carpet": { "description": "An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on which they lie", "editType": "calc", @@ -24066,11 +22486,6 @@ "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, "da": { "description": "Sets the a coordinate step. See `a0` for more info.", "dflt": 1, @@ -24181,11 +22596,6 @@ "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", @@ -24309,11 +22719,6 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", @@ -24327,25 +22732,6 @@ "min": 0, "valType": "number" }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, "type": "carpet", "uid": { "anim": true, @@ -24380,11 +22766,6 @@ "editType": "calc+clearAxisTypes", "valType": "subplotid" }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", - "editType": "none", - "valType": "string" - }, "y": { "description": "A two dimensional array of y coordinates at each carpet point.", "editType": "calc+clearAxisTypes", @@ -24396,11 +22777,6 @@ "editType": "calc+clearAxisTypes", "valType": "subplotid" }, - "ysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `y`.", - "editType": "none", - "valType": "string" - }, "zorder": { "description": "Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.", "dflt": 0, @@ -24852,21 +23228,11 @@ "editType": "colorbars", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "colorbars", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -24967,7 +23333,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -25048,7 +23414,7 @@ } }, "colorscale": { - "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -25061,11 +23427,6 @@ "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, "featureidkey": { "description": "Sets the key in GeoJSON features which is used as id to match the items included in the `locations` array. Only has an effect when `geojson` is set. Support nested property, for example *properties.name*.", "dflt": "id", @@ -25085,7 +23446,7 @@ }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", "dflt": "all", "editType": "calc", "extras": [ @@ -25101,11 +23462,6 @@ ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -25119,33 +23475,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -25153,11 +23494,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -25168,11 +23504,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -25188,11 +23519,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -25201,22 +23527,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -25228,11 +23544,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -25246,11 +23557,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -25266,11 +23572,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -25283,11 +23584,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -25298,11 +23594,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -25324,11 +23615,6 @@ "editType": "none", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "hovertext": { "arrayOk": true, "description": "Same as `text`.", @@ -25336,21 +23622,11 @@ "editType": "calc", "valType": "string" }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", @@ -25475,7 +23751,7 @@ "valType": "number" }, "locationmode": { - "description": "The library used by the *country names* `locationmode` option is changing in an upcoming version. Country names in existing plots may not work in the new version. Determines the set of locations used to match entries in `locations` to regions on the map. Values *ISO-3*, *USA-states*, *country names* correspond to features on the base map and value *geojson-id* corresponds to features from a custom GeoJSON linked to the `geojson` attribute. *USA-states* accepts both two-letter abbreviations (e.g. *CA*) and full state names (e.g. *California*).", + "description": "Determines the set of locations used to match entries in `locations` to regions on the map. Values *ISO-3*, *USA-states*, *country names* correspond to features on the base map and value *geojson-id* corresponds to features from a custom GeoJSON linked to the `geojson` attribute. *USA-states* accepts both two-letter abbreviations (e.g. *CA*) and full state names (e.g. *California*).", "dflt": "ISO-3", "editType": "calc", "valType": "enumerated", @@ -25491,11 +23767,6 @@ "editType": "calc", "valType": "data_array" }, - "locationssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `locations`.", - "editType": "none", - "valType": "string" - }, "marker": { "editType": "calc", "line": { @@ -25506,11 +23777,6 @@ "editType": "calc", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "role": "object", "width": { @@ -25520,11 +23786,6 @@ "editType": "calc", "min": 0, "valType": "number" - }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" } }, "opacity": { @@ -25536,11 +23797,6 @@ "min": 0, "valType": "number" }, - "opacitysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `opacity`.", - "editType": "none", - "valType": "string" - }, "role": "object" }, "meta": { @@ -25549,11 +23805,6 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", @@ -25597,25 +23848,6 @@ "editType": "calc", "valType": "boolean" }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, "text": { "arrayOk": true, "description": "Sets the text elements associated with each location.", @@ -25623,11 +23855,6 @@ "editType": "calc", "valType": "string" }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, "type": "choropleth", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -25701,11 +23928,6 @@ "zauto": false }, "valType": "number" - }, - "zsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `z`.", - "editType": "none", - "valType": "string" } }, "categories": [ @@ -26152,21 +24374,11 @@ "editType": "colorbars", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "colorbars", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -26267,7 +24479,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -26348,7 +24560,7 @@ } }, "colorscale": { - "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -26361,11 +24573,6 @@ "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, "featureidkey": { "description": "Sets the key in GeoJSON features which is used as id to match the items included in the `locations` array. Support nested property, for example *properties.name*.", "dflt": "id", @@ -26379,7 +24586,7 @@ }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", "dflt": "all", "editType": "calc", "extras": [ @@ -26395,11 +24602,6 @@ ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -26413,33 +24615,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -26447,11 +24634,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -26462,11 +24644,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -26482,11 +24659,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -26495,22 +24667,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -26522,11 +24684,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -26540,11 +24697,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -26560,11 +24712,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -26577,11 +24724,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -26592,11 +24734,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -26618,11 +24755,6 @@ "editType": "none", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "hovertext": { "arrayOk": true, "description": "Same as `text`.", @@ -26630,21 +24762,11 @@ "editType": "calc", "valType": "string" }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", @@ -26773,11 +24895,6 @@ "editType": "calc", "valType": "data_array" }, - "locationssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `locations`.", - "editType": "none", - "valType": "string" - }, "marker": { "editType": "calc", "line": { @@ -26788,11 +24905,6 @@ "editType": "plot", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "role": "object", "width": { @@ -26802,11 +24914,6 @@ "editType": "plot", "min": 0, "valType": "number" - }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" } }, "opacity": { @@ -26818,11 +24925,6 @@ "min": 0, "valType": "number" }, - "opacitysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `opacity`.", - "editType": "none", - "valType": "string" - }, "role": "object" }, "meta": { @@ -26831,11 +24933,6 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", @@ -26879,25 +24976,6 @@ "editType": "calc", "valType": "boolean" }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, "subplot": { "description": "Sets a reference between this trace's data coordinates and a map subplot. If *map* (the default value), the data refer to `layout.map`. If *map2*, the data refer to `layout.map2`, and so on.", "dflt": "map", @@ -26911,11 +24989,6 @@ "editType": "calc", "valType": "string" }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, "type": "choroplethmap", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -26989,11 +25062,6 @@ "zauto": false }, "valType": "number" - }, - "zsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `z`.", - "editType": "none", - "valType": "string" } }, "categories": [ @@ -27008,9 +25076,21 @@ }, "type": "choroplethmap" }, - "choroplethmapbox": { + "cone": { "animatable": false, "attributes": { + "anchor": { + "description": "Sets the cones' anchor with respect to their x/y/z positions. Note that *cm* denote the cone's center of mass which corresponds to 1/4 from the tail to tip.", + "dflt": "cm", + "editType": "calc", + "valType": "enumerated", + "values": [ + "tip", + "tail", + "cm", + "center" + ] + }, "autocolorscale": { "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", "dflt": true, @@ -27018,10 +25098,37 @@ "impliedEdits": {}, "valType": "boolean" }, - "below": { - "description": "Determines if the choropleth polygons will be inserted before the layer with the specified ID. By default, choroplethmapbox traces are placed above the water layers. If set to '', the layer will be inserted above every existing layer.", - "editType": "plot", - "valType": "string" + "cauto": { + "description": "Determines whether or not the color domain is computed with respect to the input data (here u/v/w norm) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user.", + "dflt": true, + "editType": "calc", + "impliedEdits": {}, + "valType": "boolean" + }, + "cmax": { + "description": "Sets the upper bound of the color domain. Value should have the same units as u/v/w norm and if set, `cmin` must be set as well.", + "dflt": null, + "editType": "calc", + "impliedEdits": { + "cauto": false + }, + "valType": "number" + }, + "cmid": { + "description": "Sets the mid-point of the color domain by scaling `cmin` and/or `cmax` to be equidistant to this point. Value should have the same units as u/v/w norm. Has no effect when `cauto` is `false`.", + "dflt": null, + "editType": "calc", + "impliedEdits": {}, + "valType": "number" + }, + "cmin": { + "description": "Sets the lower bound of the color domain. Value should have the same units as u/v/w norm and if set, `cmax` must be set as well.", + "dflt": null, + "editType": "calc", + "impliedEdits": { + "cauto": false + }, + "valType": "number" }, "coloraxis": { "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", @@ -27442,21 +25549,11 @@ "editType": "colorbars", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "colorbars", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -27557,7 +25654,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -27638,7 +25735,7 @@ } }, "colorscale": { - "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -27651,26 +25748,10 @@ "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, - "featureidkey": { - "description": "Sets the key in GeoJSON features which is used as id to match the items included in the `locations` array. Support nested property, for example *properties.name*.", - "dflt": "id", - "editType": "calc", - "valType": "string" - }, - "geojson": { - "description": "Sets the GeoJSON data associated with this trace. It can be set as a valid GeoJSON object or as a URL string. Note that we only accept GeoJSONs of type *FeatureCollection* or *Feature* with geometries of type *Polygon* or *MultiPolygon*.", - "editType": "calc", - "valType": "any" - }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", - "dflt": "all", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "dflt": "x+y+z+norm+text+name", "editType": "calc", "extras": [ "all", @@ -27678,18 +25759,18 @@ "skip" ], "flags": [ - "location", + "x", + "y", "z", + "u", + "v", + "w", + "norm", "text", "name" ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -27703,33 +25784,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -27737,11 +25803,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -27752,11 +25813,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -27772,11 +25828,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -27785,22 +25836,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -27812,11 +25853,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -27830,11 +25866,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -27850,11 +25881,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -27867,11 +25893,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -27882,11 +25903,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -27897,22 +25913,17 @@ }, "hovertemplate": { "arrayOk": true, - "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `properties` Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", + "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `norm` Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", "dflt": "", - "editType": "none", + "editType": "calc", "valType": "string" }, "hovertemplatefallback": { "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", "dflt": "-", - "editType": "none", + "editType": "calc", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "hovertext": { "arrayOk": true, "description": "Same as `text`.", @@ -27920,21 +25931,11 @@ "editType": "calc", "valType": "string" }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", @@ -28058,62 +26059,93 @@ "min": 0, "valType": "number" }, - "locations": { - "description": "Sets which features found in *geojson* to plot using their feature `id` field.", - "editType": "calc", - "valType": "data_array" - }, - "locationssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `locations`.", - "editType": "none", - "valType": "string" - }, - "marker": { + "lighting": { + "ambient": { + "description": "Ambient light increases overall color visibility but can wash out the image.", + "dflt": 0.8, + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + "diffuse": { + "description": "Represents the extent that incident rays are reflected in a range of angles.", + "dflt": 0.8, + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, "editType": "calc", - "line": { - "color": { - "arrayOk": true, - "description": "Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.", - "dflt": "#444", - "editType": "plot", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, + "facenormalsepsilon": { + "description": "Epsilon for face normals calculation avoids math issues arising from degenerate geometry.", + "dflt": 0.000001, "editType": "calc", - "role": "object", - "width": { - "arrayOk": true, - "description": "Sets the width (in px) of the lines bounding the marker points.", - "dflt": 1, - "editType": "plot", - "min": 0, - "valType": "number" - }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" - } + "max": 1, + "min": 0, + "valType": "number" }, - "opacity": { - "arrayOk": true, - "description": "Sets the opacity of the locations.", - "dflt": 1, - "editType": "plot", + "fresnel": { + "description": "Represents the reflectance as a dependency of the viewing angle; e.g. paper is reflective when viewing it from the edge of the paper (almost 90 degrees), causing shine.", + "dflt": 0.2, + "editType": "calc", + "max": 5, + "min": 0, + "valType": "number" + }, + "role": "object", + "roughness": { + "description": "Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.", + "dflt": 0.5, + "editType": "calc", "max": 1, "min": 0, "valType": "number" }, - "opacitysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `opacity`.", - "editType": "none", - "valType": "string" + "specular": { + "description": "Represents the level that incident rays are reflected in a single direction, causing shine.", + "dflt": 0.05, + "editType": "calc", + "max": 2, + "min": 0, + "valType": "number" }, - "role": "object" + "vertexnormalsepsilon": { + "description": "Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.", + "dflt": 1e-12, + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + } + }, + "lightposition": { + "editType": "calc", + "role": "object", + "x": { + "description": "Numeric vector, representing the X coordinate for each vertex.", + "dflt": 100000, + "editType": "calc", + "max": 100000, + "min": -100000, + "valType": "number" + }, + "y": { + "description": "Numeric vector, representing the Y coordinate for each vertex.", + "dflt": 100000, + "editType": "calc", + "max": 100000, + "min": -100000, + "valType": "number" + }, + "z": { + "description": "Numeric vector, representing the Z coordinate for each vertex.", + "dflt": 0, + "editType": "calc", + "max": 100000, + "min": -100000, + "valType": "number" + } }, "meta": { "arrayOk": true, @@ -28121,41 +26153,30 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", "valType": "string" }, + "opacity": { + "description": "Sets the opacity of the surface. Please note that in the case of using high `opacity` values for example a value greater than or equal to 0.5 on two surfaces (and 0.25 with four surfaces), an overlay of multiple transparent surfaces may not perfectly be sorted in depth by the webgl API. This behavior may be improved in the near future and is subject to change.", + "dflt": 1, + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, "reversescale": { - "description": "Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.", + "description": "Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and `cmax` will correspond to the first color.", "dflt": false, "editType": "plot", "valType": "boolean" }, - "selected": { - "editType": "plot", - "marker": { - "editType": "plot", - "opacity": { - "description": "Sets the marker opacity of selected points.", - "editType": "plot", - "max": 1, - "min": 0, - "valType": "number" - }, - "role": "object" - }, - "role": "object" - }, - "selectedpoints": { - "description": "Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.", - "editType": "calc", - "valType": "any" + "scene": { + "description": "Sets a reference between this trace's 3D coordinate system and a 3D scene. If *scene* (the default value), the (x,y,z) coordinates refer to `layout.scene`. If *scene2*, the (x,y,z) coordinates refer to `layout.scene2`, and so on.", + "dflt": "scene", + "editType": "calc+clearAxisTypes", + "valType": "subplotid" }, "showlegend": { "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", @@ -28169,44 +26190,42 @@ "editType": "calc", "valType": "boolean" }, - "stream": { + "sizemode": { + "description": "Determines whether `sizeref` is set as a *scaled* (i.e unitless) scalar (normalized by the max u/v/w norm in the vector field) or as *absolute* value (in the same units as the vector field). To display sizes in actual vector length use *raw*.", + "dflt": "scaled", "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } + "valType": "enumerated", + "values": [ + "scaled", + "absolute", + "raw" + ] }, - "subplot": { - "description": "mapbox subplots and traces are deprecated! Please consider switching to `map` subplots and traces. Learn more at: https://plotly.com/python/maplibre-migration/ as well as https://plotly.com/javascript/maplibre-migration/ Sets a reference between this trace's data coordinates and a mapbox subplot. If *mapbox* (the default value), the data refer to `layout.mapbox`. If *mapbox2*, the data refer to `layout.mapbox2`, and so on.", - "dflt": "mapbox", + "sizeref": { + "description": "Adjusts the cone size scaling. The size of the cones is determined by their u/v/w norm multiplied a factor and `sizeref`. This factor (computed internally) corresponds to the minimum \"time\" to travel across two successive x/y/z positions at the average velocity of those two successive positions. All cones in a given trace use the same factor. With `sizemode` set to *raw*, its default value is *1*. With `sizemode` set to *scaled*, `sizeref` is unitless, its default value is *0.5*. With `sizemode` set to *absolute*, `sizeref` has the same units as the u/v/w vector field, its the default value is half the sample's maximum vector norm.", "editType": "calc", - "valType": "subplotid" + "min": 0, + "valType": "number" }, "text": { "arrayOk": true, - "description": "Sets the text elements associated with each location.", + "description": "Sets the text elements associated with the cones. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", "dflt": "", "editType": "calc", "valType": "string" }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", + "type": "cone", + "u": { + "description": "Sets the x components of the vector field.", + "editType": "calc", + "valType": "data_array" + }, + "uhoverformat": { + "description": "Sets the hover text formatting rule for `u` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.", + "dflt": "", "editType": "none", "valType": "string" }, - "type": "choroplethmapbox", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", "editType": "plot", @@ -28217,20 +26236,16 @@ "editType": "none", "valType": "any" }, - "unselected": { - "editType": "plot", - "marker": { - "editType": "plot", - "opacity": { - "description": "Sets the marker opacity of unselected points, applied only when a selection exists.", - "editType": "plot", - "max": 1, - "min": 0, - "valType": "number" - }, - "role": "object" - }, - "role": "object" + "v": { + "description": "Sets the y components of the vector field.", + "editType": "calc", + "valType": "data_array" + }, + "vhoverformat": { + "description": "Sets the hover text formatting rule for `v` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.", + "dflt": "", + "editType": "none", + "valType": "string" }, "visible": { "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", @@ -28243,115 +26258,77 @@ "legendonly" ] }, - "z": { - "description": "Sets the color values.", + "w": { + "description": "Sets the z components of the vector field.", "editType": "calc", "valType": "data_array" }, - "zauto": { - "description": "Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" + "whoverformat": { + "description": "Sets the hover text formatting rule for `w` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.", + "dflt": "", + "editType": "none", + "valType": "string" }, - "zmax": { - "description": "Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "zauto": false - }, - "valType": "number" + "x": { + "description": "Sets the x coordinates of the vector field and of the displayed cones.", + "editType": "calc+clearAxisTypes", + "valType": "data_array" }, - "zmid": { - "description": "Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "valType": "number" + "xhoverformat": { + "description": "Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", + "dflt": "", + "editType": "none", + "valType": "string" }, - "zmin": { - "description": "Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "zauto": false - }, - "valType": "number" + "y": { + "description": "Sets the y coordinates of the vector field and of the displayed cones.", + "editType": "calc+clearAxisTypes", + "valType": "data_array" }, - "zsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `z`.", + "yhoverformat": { + "description": "Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", + "dflt": "", "editType": "none", "valType": "string" - } - }, - "categories": [ - "mapbox", - "gl", - "noOpacity", + }, + "z": { + "description": "Sets the z coordinates of the vector field and of the displayed cones.", + "editType": "calc+clearAxisTypes", + "valType": "data_array" + }, + "zhoverformat": { + "description": "Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`.", + "dflt": "", + "editType": "none", + "valType": "string" + } + }, + "categories": [ + "gl3d", "showLegend" ], "meta": { - "description": "*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/ GeoJSON features to be filled are set in `geojson` The data that describes the choropleth value-to-color mapping is set in `locations` and `z`.", - "hr_name": "choropleth_mapbox" + "description": "Use cone traces to visualize vector fields. Specify a vector field using 6 1D arrays, 3 position arrays `x`, `y` and `z` and 3 vector component arrays `u`, `v`, `w`. The cones are drawn exactly at the positions given by `x`, `y` and `z`." }, - "type": "choroplethmapbox" + "type": "cone" }, - "cone": { + "contour": { "animatable": false, "attributes": { - "anchor": { - "description": "Sets the cones' anchor with respect to their x/y/z positions. Note that *cm* denote the cone's center of mass which corresponds to 1/4 from the tail to tip.", - "dflt": "cm", - "editType": "calc", - "valType": "enumerated", - "values": [ - "tip", - "tail", - "cm", - "center" - ] - }, "autocolorscale": { "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", - "dflt": true, + "dflt": false, "editType": "calc", "impliedEdits": {}, "valType": "boolean" }, - "cauto": { - "description": "Determines whether or not the color domain is computed with respect to the input data (here u/v/w norm) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user.", + "autocontour": { + "description": "Determines whether or not the contour level attributes are picked by an algorithm. If *true*, the number of contour levels can be set in `ncontours`. If *false*, set the contour level attributes in `contours`.", "dflt": true, "editType": "calc", "impliedEdits": {}, "valType": "boolean" }, - "cmax": { - "description": "Sets the upper bound of the color domain. Value should have the same units as u/v/w norm and if set, `cmin` must be set as well.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "valType": "number" - }, - "cmid": { - "description": "Sets the mid-point of the color domain by scaling `cmin` and/or `cmax` to be equidistant to this point. Value should have the same units as u/v/w norm. Has no effect when `cauto` is `false`.", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "valType": "number" - }, - "cmin": { - "description": "Sets the lower bound of the color domain. Value should have the same units as u/v/w norm and if set, `cmax` must be set as well.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "valType": "number" - }, "coloraxis": { "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", "dflt": null, @@ -28771,21 +26748,11 @@ "editType": "colorbars", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "colorbars", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -28886,7 +26853,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -28967,7 +26934,7 @@ } }, "colorscale": { - "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -28975,21 +26942,236 @@ }, "valType": "colorscale" }, + "connectgaps": { + "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in. It is defaulted to true if `z` is a one dimensional array otherwise it is defaulted to false.", + "editType": "calc", + "valType": "boolean" + }, + "contours": { + "coloring": { + "description": "Determines the coloring method showing the contour values. If *fill*, coloring is done evenly between each contour level If *heatmap*, a heatmap gradient coloring is applied between each contour level. If *lines*, coloring is done on the contour lines. If *none*, no coloring is applied on this trace.", + "dflt": "fill", + "editType": "calc", + "valType": "enumerated", + "values": [ + "fill", + "heatmap", + "lines", + "none" + ] + }, + "editType": "calc", + "end": { + "description": "Sets the end contour level value. Must be more than `contours.start`", + "dflt": null, + "editType": "plot", + "impliedEdits": { + "^autocontour": false + }, + "valType": "number" + }, + "impliedEdits": { + "autocontour": false, + "role": "object" + }, + "labelfont": { + "color": { + "editType": "style", + "valType": "color" + }, + "description": "Sets the font used for labeling the contour levels. The default color comes from the lines, if shown. The default family and size come from `layout.font`.", + "editType": "plot", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "plot", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "size": { + "editType": "plot", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "labelformat": { + "description": "Sets the contour label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.", + "dflt": "", + "editType": "plot", + "valType": "string" + }, + "operation": { + "description": "Sets the constraint operation. *=* keeps regions equal to `value` *<* and *<=* keep regions less than `value` *>* and *>=* keep regions greater than `value` *[]*, *()*, *[)*, and *(]* keep regions inside `value[0]` to `value[1]` *][*, *)(*, *](*, *)[* keep regions outside `value[0]` to value[1]` Open vs. closed intervals make no difference to constraint display, but all versions are allowed.", + "dflt": "=", + "editType": "calc", + "valType": "enumerated", + "values": [ + "=", + "<", + ">=", + ">", + "<=", + "[]", + "()", + "[)", + "(]", + "][", + ")(", + "](", + ")[" + ] + }, + "role": "object", + "showlabels": { + "description": "Determines whether to label the contour lines with their values.", + "dflt": false, + "editType": "plot", + "valType": "boolean" + }, + "showlines": { + "description": "Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*.", + "dflt": true, + "editType": "plot", + "valType": "boolean" + }, + "size": { + "description": "Sets the step between each contour level. Must be positive.", + "dflt": null, + "editType": "plot", + "impliedEdits": { + "^autocontour": false + }, + "min": 0, + "valType": "number" + }, + "start": { + "description": "Sets the starting contour level value. Must be less than `contours.end`", + "dflt": null, + "editType": "plot", + "impliedEdits": { + "^autocontour": false + }, + "valType": "number" + }, + "type": { + "description": "If `levels`, the data is represented as a contour plot with multiple levels displayed. If `constraint`, the data is represented as constraints with the invalid region shaded as specified by the `operation` and `value` parameters.", + "dflt": "levels", + "editType": "calc", + "valType": "enumerated", + "values": [ + "levels", + "constraint" + ] + }, + "value": { + "description": "Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (`=,<,>=,>,<=`) *value* is expected to be a number. When `operation` is set to one of the interval values (`[],(),[),(],][,)(,](,)[`) *value* is expected to be an array of two numbers where the first is the lower bound and the second is the upper bound.", + "dflt": 0, + "editType": "calc", + "valType": "any" + } + }, "customdata": { "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" + "dx": { + "description": "Sets the x coordinate step. See `x0` for more info.", + "dflt": 1, + "editType": "calc", + "impliedEdits": { + "xtype": "scaled" + }, + "valType": "number" + }, + "dy": { + "description": "Sets the y coordinate step. See `y0` for more info.", + "dflt": 1, + "editType": "calc", + "impliedEdits": { + "ytype": "scaled" + }, + "valType": "number" + }, + "fillcolor": { + "description": "Sets the fill color if `contours.type` is *constraint*. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.", + "editType": "calc", + "valType": "color" }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", - "dflt": "x+y+z+norm+text+name", - "editType": "calc", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "dflt": "all", + "editType": "none", "extras": [ "all", "none", @@ -28999,20 +27181,11 @@ "x", "y", "z", - "u", - "v", - "w", - "norm", "text", "name" ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -29026,33 +27199,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -29060,11 +27218,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -29075,11 +27228,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -29095,11 +27243,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -29108,22 +27251,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -29135,11 +27268,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -29153,11 +27281,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -29173,11 +27296,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -29190,11 +27308,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -29205,11 +27318,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -29218,46 +27326,35 @@ "valType": "boolean" } }, + "hoverongaps": { + "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data have hover labels associated with them.", + "dflt": true, + "editType": "none", + "valType": "boolean" + }, "hovertemplate": { "arrayOk": true, - "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `norm` Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", + "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", "dflt": "", - "editType": "calc", + "editType": "none", "valType": "string" }, "hovertemplatefallback": { "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", "dflt": "-", - "editType": "calc", - "valType": "any" - }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", "editType": "none", - "valType": "string" + "valType": "any" }, "hovertext": { - "arrayOk": true, "description": "Same as `text`.", - "dflt": "", "editType": "calc", - "valType": "string" - }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" + "valType": "data_array" }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", @@ -29381,133 +27478,78 @@ "min": 0, "valType": "number" }, - "lighting": { - "ambient": { - "description": "Ambient light increases overall color visibility but can wash out the image.", - "dflt": 0.8, - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - "diffuse": { - "description": "Represents the extent that incident rays are reflected in a range of angles.", - "dflt": 0.8, - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - "editType": "calc", - "facenormalsepsilon": { - "description": "Epsilon for face normals calculation avoids math issues arising from degenerate geometry.", - "dflt": 0.000001, - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" + "line": { + "color": { + "description": "Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*.", + "editType": "style+colorbars", + "valType": "color" }, - "fresnel": { - "description": "Represents the reflectance as a dependency of the viewing angle; e.g. paper is reflective when viewing it from the edge of the paper (almost 90 degrees), causing shine.", - "dflt": 0.2, - "editType": "calc", - "max": 5, - "min": 0, - "valType": "number" + "dash": { + "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", + "dflt": "solid", + "editType": "style", + "valType": "string", + "values": [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" + ] }, + "editType": "plot", "role": "object", - "roughness": { - "description": "Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.", - "dflt": 0.5, - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - "specular": { - "description": "Represents the level that incident rays are reflected in a single direction, causing shine.", - "dflt": 0.05, - "editType": "calc", - "max": 2, + "smoothing": { + "description": "Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing.", + "dflt": 1, + "editType": "plot", + "max": 1.3, "min": 0, "valType": "number" }, - "vertexnormalsepsilon": { - "description": "Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.", - "dflt": 1e-12, - "editType": "calc", - "max": 1, + "width": { + "description": "Sets the contour line width in (in px) Defaults to *0.5* when `contours.type` is *levels*. Defaults to *2* when `contour.type` is *constraint*.", + "editType": "style+colorbars", "min": 0, "valType": "number" } }, - "lightposition": { - "editType": "calc", - "role": "object", - "x": { - "description": "Numeric vector, representing the X coordinate for each vertex.", - "dflt": 100000, - "editType": "calc", - "max": 100000, - "min": -100000, - "valType": "number" - }, - "y": { - "description": "Numeric vector, representing the Y coordinate for each vertex.", - "dflt": 100000, - "editType": "calc", - "max": 100000, - "min": -100000, - "valType": "number" - }, - "z": { - "description": "Numeric vector, representing the Z coordinate for each vertex.", - "dflt": 0, - "editType": "calc", - "max": 100000, - "min": -100000, - "valType": "number" - } - }, "meta": { "arrayOk": true, "description": "Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.", "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", "valType": "string" }, + "ncontours": { + "description": "Sets the maximum number of contour levels. The actual number of contours will be chosen automatically to be less than or equal to the value of `ncontours`. Has an effect only if `autocontour` is *true* or if `contours.size` is missing.", + "dflt": 15, + "editType": "calc", + "min": 1, + "valType": "integer" + }, "opacity": { - "description": "Sets the opacity of the surface. Please note that in the case of using high `opacity` values for example a value greater than or equal to 0.5 on two surfaces (and 0.25 with four surfaces), an overlay of multiple transparent surfaces may not perfectly be sorted in depth by the webgl API. This behavior may be improved in the near future and is subject to change.", + "description": "Sets the opacity of the trace.", "dflt": 1, - "editType": "calc", + "editType": "style", "max": 1, "min": 0, "valType": "number" }, "reversescale": { - "description": "Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and `cmax` will correspond to the first color.", + "description": "Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.", "dflt": false, "editType": "plot", "valType": "boolean" }, - "scene": { - "description": "Sets a reference between this trace's 3D coordinate system and a 3D scene. If *scene* (the default value), the (x,y,z) coordinates refer to `layout.scene`. If *scene2*, the (x,y,z) coordinates refer to `layout.scene2`, and so on.", - "dflt": "scene", - "editType": "calc+clearAxisTypes", - "valType": "subplotid" - }, "showlegend": { "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", - "dflt": false, + "dflt": true, "editType": "style", "valType": "boolean" }, @@ -29517,66 +27559,121 @@ "editType": "calc", "valType": "boolean" }, - "sizemode": { - "description": "Determines whether `sizeref` is set as a *scaled* (i.e unitless) scalar (normalized by the max u/v/w norm in the vector field) or as *absolute* value (in the same units as the vector field). To display sizes in actual vector length use *raw*.", - "dflt": "scaled", - "editType": "calc", - "valType": "enumerated", - "values": [ - "scaled", - "absolute", - "raw" - ] - }, - "sizeref": { - "description": "Adjusts the cone size scaling. The size of the cones is determined by their u/v/w norm multiplied a factor and `sizeref`. This factor (computed internally) corresponds to the minimum \"time\" to travel across two successive x/y/z positions at the average velocity of those two successive positions. All cones in a given trace use the same factor. With `sizemode` set to *raw*, its default value is *1*. With `sizemode` set to *scaled*, `sizeref` is unitless, its default value is *0.5*. With `sizemode` set to *absolute*, `sizeref` has the same units as the u/v/w vector field, its the default value is half the sample's maximum vector norm.", + "text": { + "description": "Sets the text elements associated with each z value.", "editType": "calc", - "min": 0, - "valType": "number" + "valType": "data_array" }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" + "textfont": { + "color": { + "dflt": "auto", + "editType": "style", + "valType": "color" }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", + "description": "For this trace it only has an effect if `coloring` is set to *heatmap*. Sets the text font.", + "editType": "plot", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "plot", "noBlank": true, "strict": true, "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "size": { + "dflt": "auto", + "editType": "plot", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, - "text": { - "arrayOk": true, - "description": "Sets the text elements associated with the cones. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", + "texttemplate": { + "description": "For this trace it only has an effect if `coloring` is set to *heatmap*. Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `x`, `y`, `z` and `text`.", "dflt": "", - "editType": "calc", + "editType": "plot", "valType": "string" }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" + "texttemplatefallback": { + "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", + "dflt": "-", + "editType": "plot", + "valType": "any" }, - "type": "cone", - "u": { - "description": "Sets the x components of the vector field.", + "transpose": { + "description": "Transposes the z data.", + "dflt": false, "editType": "calc", - "valType": "data_array" - }, - "uhoverformat": { - "description": "Sets the hover text formatting rulefor `u` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.", - "dflt": "", - "editType": "none", - "valType": "string" + "valType": "boolean" }, + "type": "contour", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", "editType": "plot", @@ -29587,22 +27684,6 @@ "editType": "none", "valType": "any" }, - "usrc": { - "description": "Sets the source reference on Chart Studio Cloud for `u`.", - "editType": "none", - "valType": "string" - }, - "v": { - "description": "Sets the y components of the vector field.", - "editType": "calc", - "valType": "data_array" - }, - "vhoverformat": { - "description": "Sets the hover text formatting rulefor `v` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.", - "dflt": "", - "editType": "none", - "valType": "string" - }, "visible": { "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", "dflt": true, @@ -29614,89 +27695,278 @@ "legendonly" ] }, - "vsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `v`.", - "editType": "none", - "valType": "string" - }, - "w": { - "description": "Sets the z components of the vector field.", - "editType": "calc", + "x": { + "description": "Sets the x coordinates.", + "editType": "calc+clearAxisTypes", + "impliedEdits": { + "xtype": "array" + }, "valType": "data_array" }, - "whoverformat": { - "description": "Sets the hover text formatting rulefor `w` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "wsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `w`.", - "editType": "none", - "valType": "string" + "x0": { + "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.", + "dflt": 0, + "editType": "calc+clearAxisTypes", + "impliedEdits": { + "xtype": "scaled" + }, + "valType": "any" }, - "x": { - "description": "Sets the x coordinates of the vector field and of the displayed cones.", + "xaxis": { + "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", + "dflt": "x", "editType": "calc+clearAxisTypes", - "valType": "data_array" + "valType": "subplotid" + }, + "xcalendar": { + "description": "Sets the calendar system to use with `x` date data.", + "dflt": "gregorian", + "editType": "calc", + "valType": "enumerated", + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" + ] }, "xhoverformat": { - "description": "Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", "dflt": "", "editType": "none", "valType": "string" }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", - "editType": "none", - "valType": "string" + "xperiod": { + "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer.", + "dflt": 0, + "editType": "calc", + "impliedEdits": { + "xtype": "scaled" + }, + "valType": "any" + }, + "xperiod0": { + "description": "Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.", + "editType": "calc", + "valType": "any" + }, + "xperiodalignment": { + "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.", + "dflt": "middle", + "editType": "calc", + "impliedEdits": { + "xtype": "scaled" + }, + "valType": "enumerated", + "values": [ + "start", + "middle", + "end" + ] + }, + "xtype": { + "description": "If *array*, the heatmap's x coordinates are given by *x* (the default behavior when `x` is provided). If *scaled*, the heatmap's x coordinates are given by *x0* and *dx* (the default behavior when `x` is not provided).", + "editType": "calc+clearAxisTypes", + "valType": "enumerated", + "values": [ + "array", + "scaled" + ] }, "y": { - "description": "Sets the y coordinates of the vector field and of the displayed cones.", + "description": "Sets the y coordinates.", "editType": "calc+clearAxisTypes", + "impliedEdits": { + "ytype": "array" + }, "valType": "data_array" }, + "y0": { + "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.", + "dflt": 0, + "editType": "calc+clearAxisTypes", + "impliedEdits": { + "ytype": "scaled" + }, + "valType": "any" + }, + "yaxis": { + "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.", + "dflt": "y", + "editType": "calc+clearAxisTypes", + "valType": "subplotid" + }, + "ycalendar": { + "description": "Sets the calendar system to use with `y` date data.", + "dflt": "gregorian", + "editType": "calc", + "valType": "enumerated", + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" + ] + }, "yhoverformat": { - "description": "Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", "dflt": "", "editType": "none", "valType": "string" }, - "ysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `y`.", - "editType": "none", - "valType": "string" + "yperiod": { + "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer.", + "dflt": 0, + "editType": "calc", + "impliedEdits": { + "ytype": "scaled" + }, + "valType": "any" }, - "z": { - "description": "Sets the z coordinates of the vector field and of the displayed cones.", + "yperiod0": { + "description": "Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.", + "editType": "calc", + "valType": "any" + }, + "yperiodalignment": { + "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.", + "dflt": "middle", + "editType": "calc", + "impliedEdits": { + "ytype": "scaled" + }, + "valType": "enumerated", + "values": [ + "start", + "middle", + "end" + ] + }, + "ytype": { + "description": "If *array*, the heatmap's y coordinates are given by *y* (the default behavior when `y` is provided) If *scaled*, the heatmap's y coordinates are given by *y0* and *dy* (the default behavior when `y` is not provided)", "editType": "calc+clearAxisTypes", + "valType": "enumerated", + "values": [ + "array", + "scaled" + ] + }, + "z": { + "description": "Sets the z data.", + "editType": "calc", "valType": "data_array" }, + "zauto": { + "description": "Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.", + "dflt": true, + "editType": "calc", + "impliedEdits": {}, + "valType": "boolean" + }, "zhoverformat": { - "description": "Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.", "dflt": "", "editType": "none", "valType": "string" }, - "zsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `z`.", - "editType": "none", - "valType": "string" + "zmax": { + "description": "Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.", + "dflt": null, + "editType": "calc", + "impliedEdits": { + "zauto": false + }, + "valType": "number" + }, + "zmid": { + "description": "Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.", + "dflt": null, + "editType": "calc", + "impliedEdits": {}, + "valType": "number" + }, + "zmin": { + "description": "Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.", + "dflt": null, + "editType": "calc", + "impliedEdits": { + "zauto": false + }, + "valType": "number" + }, + "zorder": { + "description": "Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.", + "dflt": 0, + "editType": "plot", + "valType": "integer" } }, "categories": [ - "gl3d", + "cartesian", + "svg", + "2dMap", + "contour", "showLegend" ], "meta": { - "description": "Use cone traces to visualize vector fields. Specify a vector field using 6 1D arrays, 3 position arrays `x`, `y` and `z` and 3 vector component arrays `u`, `v`, `w`. The cones are drawn exactly at the positions given by `x`, `y` and `z`." + "description": "The data from which contour lines are computed is set in `z`. Data in `z` must be a {2D array} of numbers. Say that `z` has N rows and M columns, then by default, these N rows correspond to N y coordinates (set in `y` or auto-generated) and the M columns correspond to M x coordinates (set in `x` or auto-generated). By setting `transpose` to *true*, the above behavior is flipped." }, - "type": "cone" + "type": "contour" }, - "contour": { + "contourcarpet": { "animatable": false, "attributes": { - "autocolorscale": { + "a": { + "description": "Sets the x coordinates.", + "editType": "calc+clearAxisTypes", + "impliedEdits": { + "xtype": "array" + }, + "valType": "data_array" + }, + "a0": { + "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.", + "dflt": 0, + "editType": "calc+clearAxisTypes", + "impliedEdits": { + "xtype": "scaled" + }, + "valType": "any" + }, + "atype": { + "description": "If *array*, the heatmap's x coordinates are given by *x* (the default behavior when `x` is provided). If *scaled*, the heatmap's x coordinates are given by *x0* and *dx* (the default behavior when `x` is not provided).", + "editType": "calc+clearAxisTypes", + "valType": "enumerated", + "values": [ + "array", + "scaled" + ] + }, + "autocolorscale": { "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", "dflt": false, "editType": "calc", @@ -29710,6 +27980,37 @@ "impliedEdits": {}, "valType": "boolean" }, + "b": { + "description": "Sets the y coordinates.", + "editType": "calc+clearAxisTypes", + "impliedEdits": { + "ytype": "array" + }, + "valType": "data_array" + }, + "b0": { + "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.", + "dflt": 0, + "editType": "calc+clearAxisTypes", + "impliedEdits": { + "ytype": "scaled" + }, + "valType": "any" + }, + "btype": { + "description": "If *array*, the heatmap's y coordinates are given by *y* (the default behavior when `y` is provided) If *scaled*, the heatmap's y coordinates are given by *y0* and *dy* (the default behavior when `y` is not provided)", + "editType": "calc+clearAxisTypes", + "valType": "enumerated", + "values": [ + "array", + "scaled" + ] + }, + "carpet": { + "description": "The `carpet` of the carpet axes on which this contour trace lies", + "editType": "calc", + "valType": "string" + }, "coloraxis": { "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", "dflt": null, @@ -30129,21 +28430,11 @@ "editType": "colorbars", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "colorbars", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -30244,7 +28535,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -30325,7 +28616,7 @@ } }, "colorscale": { - "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -30333,20 +28624,14 @@ }, "valType": "colorscale" }, - "connectgaps": { - "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in. It is defaulted to true if `z` is a one dimensional array otherwise it is defaulted to false.", - "editType": "calc", - "valType": "boolean" - }, "contours": { "coloring": { - "description": "Determines the coloring method showing the contour values. If *fill*, coloring is done evenly between each contour level If *heatmap*, a heatmap gradient coloring is applied between each contour level. If *lines*, coloring is done on the contour lines. If *none*, no coloring is applied on this trace.", + "description": "Determines the coloring method showing the contour values. If *fill*, coloring is done evenly between each contour level If *lines*, coloring is done on the contour lines. If *none*, no coloring is applied on this trace.", "dflt": "fill", "editType": "calc", "valType": "enumerated", "values": [ "fill", - "heatmap", "lines", "none" ] @@ -30461,7 +28746,7 @@ "valType": "string" }, "operation": { - "description": "Sets the constraint operation. *=* keeps regions equal to `value` *<* and *<=* keep regions less than `value` *>* and *>=* keep regions greater than `value` *[]*, *()*, *[)*, and *(]* keep regions inside `value[0]` to `value[1]` *][*, *)(*, *](*, *)[* keep regions outside `value[0]` to value[1]` Open vs. closed intervals make no difference to constraint display, but all versions are allowed for consistency with filter transforms.", + "description": "Sets the constraint operation. *=* keeps regions equal to `value` *<* and *<=* keep regions less than `value` *>* and *>=* keep regions greater than `value` *[]*, *()*, *[)*, and *(]* keep regions inside `value[0]` to `value[1]` *][*, *)(*, *](*, *)[* keep regions outside `value[0]` to value[1]` Open vs. closed intervals make no difference to constraint display, but all versions are allowed.", "dflt": "=", "editType": "calc", "valType": "enumerated", @@ -30535,12 +28820,7 @@ "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, - "dx": { + "da": { "description": "Sets the x coordinate step. See `x0` for more info.", "dflt": 1, "editType": "calc", @@ -30549,7 +28829,7 @@ }, "valType": "number" }, - "dy": { + "db": { "description": "Sets the y coordinate step. See `y0` for more info.", "dflt": 1, "editType": "calc", @@ -30563,279 +28843,16 @@ "editType": "calc", "valType": "color" }, - "hoverinfo": { - "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", - "dflt": "all", - "editType": "none", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "valType": "flaglist" - }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, - "hoverlabel": { - "align": { - "arrayOk": true, - "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", - "dflt": "auto", - "editType": "none", - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ] - }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, - "bgcolor": { - "arrayOk": true, - "description": "Sets the background color of the hover labels for this trace", - "editType": "none", - "valType": "color" - }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, - "bordercolor": { - "arrayOk": true, - "description": "Sets the border color of the hover labels for this trace.", - "editType": "none", - "valType": "color" - }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, - "editType": "none", - "font": { - "color": { - "arrayOk": true, - "editType": "none", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used in hover labels.", - "editType": "none", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "none", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "none", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "none", - "valType": "string" - }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, - "size": { - "arrayOk": true, - "editType": "none", - "min": 1, - "valType": "number" - }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "none", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "none", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "none", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "none", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } - }, - "namelength": { - "arrayOk": true, - "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", - "dflt": 15, - "editType": "none", - "min": -1, - "valType": "integer" - }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } - }, - "hoverongaps": { - "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data have hover labels associated with them.", - "dflt": true, - "editType": "none", - "valType": "boolean" - }, - "hovertemplate": { - "arrayOk": true, - "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "hovertemplatefallback": { - "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", - "dflt": "-", - "editType": "none", - "valType": "any" - }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "hovertext": { "description": "Same as `text`.", "editType": "calc", "valType": "data_array" }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", @@ -31002,11 +29019,6 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", @@ -31045,145 +29057,18 @@ "editType": "calc", "valType": "boolean" }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, "text": { "description": "Sets the text elements associated with each z value.", "editType": "calc", "valType": "data_array" }, - "textfont": { - "color": { - "dflt": "auto", - "editType": "style", - "valType": "color" - }, - "description": "For this trace it only has an effect if `coloring` is set to *heatmap*. Sets the text font.", - "editType": "plot", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "plot", - "valType": "string" - }, - "size": { - "dflt": "auto", - "editType": "plot", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, - "texttemplate": { - "description": "For this trace it only has an effect if `coloring` is set to *heatmap*. Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `x`, `y`, `z` and `text`.", - "dflt": "", - "editType": "plot", - "valType": "string" - }, - "texttemplatefallback": { - "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", - "dflt": "-", - "editType": "plot", - "valType": "any" - }, "transpose": { "description": "Transposes the z data.", "dflt": false, "editType": "calc", "valType": "boolean" }, - "type": "contour", + "type": "contourcarpet", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", "editType": "plot", @@ -31205,196 +29090,18 @@ "legendonly" ] }, - "x": { - "description": "Sets the x coordinates.", - "editType": "calc+clearAxisTypes", - "impliedEdits": { - "xtype": "array" - }, - "valType": "data_array" - }, - "x0": { - "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.", - "dflt": 0, - "editType": "calc+clearAxisTypes", - "impliedEdits": { - "xtype": "scaled" - }, - "valType": "any" - }, "xaxis": { "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", "dflt": "x", "editType": "calc+clearAxisTypes", "valType": "subplotid" }, - "xcalendar": { - "description": "Sets the calendar system to use with `x` date data.", - "dflt": "gregorian", - "editType": "calc", - "valType": "enumerated", - "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" - ] - }, - "xhoverformat": { - "description": "Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "xperiod": { - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer.", - "dflt": 0, - "editType": "calc", - "impliedEdits": { - "xtype": "scaled" - }, - "valType": "any" - }, - "xperiod0": { - "description": "Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.", - "editType": "calc", - "valType": "any" - }, - "xperiodalignment": { - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.", - "dflt": "middle", - "editType": "calc", - "impliedEdits": { - "xtype": "scaled" - }, - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ] - }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", - "editType": "none", - "valType": "string" - }, - "xtype": { - "description": "If *array*, the heatmap's x coordinates are given by *x* (the default behavior when `x` is provided). If *scaled*, the heatmap's x coordinates are given by *x0* and *dx* (the default behavior when `x` is not provided).", - "editType": "calc+clearAxisTypes", - "valType": "enumerated", - "values": [ - "array", - "scaled" - ] - }, - "y": { - "description": "Sets the y coordinates.", - "editType": "calc+clearAxisTypes", - "impliedEdits": { - "ytype": "array" - }, - "valType": "data_array" - }, - "y0": { - "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.", - "dflt": 0, - "editType": "calc+clearAxisTypes", - "impliedEdits": { - "ytype": "scaled" - }, - "valType": "any" - }, "yaxis": { "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.", "dflt": "y", "editType": "calc+clearAxisTypes", "valType": "subplotid" }, - "ycalendar": { - "description": "Sets the calendar system to use with `y` date data.", - "dflt": "gregorian", - "editType": "calc", - "valType": "enumerated", - "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" - ] - }, - "yhoverformat": { - "description": "Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "yperiod": { - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer.", - "dflt": 0, - "editType": "calc", - "impliedEdits": { - "ytype": "scaled" - }, - "valType": "any" - }, - "yperiod0": { - "description": "Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.", - "editType": "calc", - "valType": "any" - }, - "yperiodalignment": { - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.", - "dflt": "middle", - "editType": "calc", - "impliedEdits": { - "ytype": "scaled" - }, - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ] - }, - "ysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `y`.", - "editType": "none", - "valType": "string" - }, - "ytype": { - "description": "If *array*, the heatmap's y coordinates are given by *y* (the default behavior when `y` is provided) If *scaled*, the heatmap's y coordinates are given by *y0* and *dy* (the default behavior when `y` is not provided)", - "editType": "calc+clearAxisTypes", - "valType": "enumerated", - "values": [ - "array", - "scaled" - ] - }, "z": { "description": "Sets the z data.", "editType": "calc", @@ -31407,16 +29114,10 @@ "impliedEdits": {}, "valType": "boolean" }, - "zhoverformat": { - "description": "Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.", - "dflt": "", - "editType": "none", - "valType": "string" - }, "zmax": { "description": "Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.", "dflt": null, - "editType": "calc", + "editType": "plot", "impliedEdits": { "zauto": false }, @@ -31432,7 +29133,7 @@ "zmin": { "description": "Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.", "dflt": null, - "editType": "calc", + "editType": "plot", "impliedEdits": { "zauto": false }, @@ -31443,107 +29144,39 @@ "dflt": 0, "editType": "plot", "valType": "integer" - }, - "zsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `z`.", - "editType": "none", - "valType": "string" } }, "categories": [ "cartesian", "svg", - "2dMap", + "carpet", "contour", - "showLegend" + "symbols", + "showLegend", + "hasLines", + "carpetDependent", + "noHover", + "noSortingByValue" ], "meta": { - "description": "The data from which contour lines are computed is set in `z`. Data in `z` must be a {2D array} of numbers. Say that `z` has N rows and M columns, then by default, these N rows correspond to N y coordinates (set in `y` or auto-generated) and the M columns correspond to M x coordinates (set in `x` or auto-generated). By setting `transpose` to *true*, the above behavior is flipped." + "description": "Plots contours on either the first carpet axis or the carpet axis with a matching `carpet` attribute. Data `z` is interpreted as matching that of the corresponding carpet axis.", + "hrName": "contour_carpet" }, - "type": "contour" + "type": "contourcarpet" }, - "contourcarpet": { + "densitymap": { "animatable": false, "attributes": { - "a": { - "description": "Sets the x coordinates.", - "editType": "calc+clearAxisTypes", - "impliedEdits": { - "xtype": "array" - }, - "valType": "data_array" - }, - "a0": { - "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.", - "dflt": 0, - "editType": "calc+clearAxisTypes", - "impliedEdits": { - "xtype": "scaled" - }, - "valType": "any" - }, - "asrc": { - "description": "Sets the source reference on Chart Studio Cloud for `a`.", - "editType": "none", - "valType": "string" - }, - "atype": { - "description": "If *array*, the heatmap's x coordinates are given by *x* (the default behavior when `x` is provided). If *scaled*, the heatmap's x coordinates are given by *x0* and *dx* (the default behavior when `x` is not provided).", - "editType": "calc+clearAxisTypes", - "valType": "enumerated", - "values": [ - "array", - "scaled" - ] - }, "autocolorscale": { "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", - "dflt": false, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "autocontour": { - "description": "Determines whether or not the contour level attributes are picked by an algorithm. If *true*, the number of contour levels can be set in `ncontours`. If *false*, set the contour level attributes in `contours`.", "dflt": true, "editType": "calc", "impliedEdits": {}, "valType": "boolean" }, - "b": { - "description": "Sets the y coordinates.", - "editType": "calc+clearAxisTypes", - "impliedEdits": { - "ytype": "array" - }, - "valType": "data_array" - }, - "b0": { - "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.", - "dflt": 0, - "editType": "calc+clearAxisTypes", - "impliedEdits": { - "ytype": "scaled" - }, - "valType": "any" - }, - "bsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `b`.", - "editType": "none", - "valType": "string" - }, - "btype": { - "description": "If *array*, the heatmap's y coordinates are given by *y* (the default behavior when `y` is provided) If *scaled*, the heatmap's y coordinates are given by *y0* and *dy* (the default behavior when `y` is not provided)", - "editType": "calc+clearAxisTypes", - "valType": "enumerated", - "values": [ - "array", - "scaled" - ] - }, - "carpet": { - "description": "The `carpet` of the carpet axes on which this contour trace lies", - "editType": "calc", + "below": { + "description": "Determines if the densitymap trace will be inserted before the layer with the specified ID. By default, densitymap traces are placed below the first layer of type symbol If set to '', the layer will be inserted above every existing layer.", + "editType": "plot", "valType": "string" }, "coloraxis": { @@ -31965,21 +29598,11 @@ "editType": "colorbars", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "colorbars", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -32080,7 +29703,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -32161,7 +29784,7 @@ } }, "colorscale": { - "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -32169,50 +29792,77 @@ }, "valType": "colorscale" }, - "contours": { - "coloring": { - "description": "Determines the coloring method showing the contour values. If *fill*, coloring is done evenly between each contour level If *lines*, coloring is done on the contour lines. If *none*, no coloring is applied on this trace.", - "dflt": "fill", - "editType": "calc", + "customdata": { + "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", + "editType": "calc", + "valType": "data_array" + }, + "hoverinfo": { + "arrayOk": true, + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "dflt": "all", + "editType": "none", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "lon", + "lat", + "z", + "text", + "name" + ], + "valType": "flaglist" + }, + "hoverlabel": { + "align": { + "arrayOk": true, + "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", + "dflt": "auto", + "editType": "none", "valType": "enumerated", "values": [ - "fill", - "lines", - "none" + "left", + "right", + "auto" ] }, - "editType": "calc", - "end": { - "description": "Sets the end contour level value. Must be more than `contours.start`", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "^autocontour": false - }, - "valType": "number" + "bgcolor": { + "arrayOk": true, + "description": "Sets the background color of the hover labels for this trace", + "editType": "none", + "valType": "color" }, - "impliedEdits": { - "autocontour": false, - "role": "object" + "bordercolor": { + "arrayOk": true, + "description": "Sets the border color of the hover labels for this trace.", + "editType": "none", + "valType": "color" }, - "labelfont": { + "editType": "none", + "font": { "color": { - "editType": "style", + "arrayOk": true, + "editType": "none", "valType": "color" }, - "description": "Sets the font used for labeling the contour levels. The default color comes from the lines, if shown. The default family and size come from `layout.font`.", - "editType": "plot", + "description": "Sets the font used in hover labels.", + "editType": "none", "family": { + "arrayOk": true, "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "plot", + "editType": "none", "noBlank": true, "strict": true, "valType": "string" }, "lineposition": { + "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", - "editType": "plot", + "editType": "none", "extras": [ "none" ], @@ -32225,20 +29875,23 @@ }, "role": "object", "shadow": { + "arrayOk": true, "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", - "editType": "plot", + "editType": "none", "valType": "string" }, "size": { - "editType": "plot", + "arrayOk": true, + "editType": "none", "min": 1, "valType": "number" }, "style": { + "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", - "editType": "plot", + "editType": "none", "valType": "enumerated", "values": [ "normal", @@ -32246,9 +29899,10 @@ ] }, "textcase": { + "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", - "editType": "plot", + "editType": "none", "valType": "enumerated", "values": [ "normal", @@ -32258,9 +29912,10 @@ ] }, "variant": { + "arrayOk": true, "description": "Sets the variant of the font.", "dflt": "normal", - "editType": "plot", + "editType": "none", "valType": "enumerated", "values": [ "normal", @@ -32272,9 +29927,10 @@ ] }, "weight": { + "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", - "editType": "plot", + "editType": "none", "extras": [ "normal", "bold" @@ -32284,123 +29940,40 @@ "valType": "integer" } }, - "labelformat": { - "description": "Sets the contour label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.", - "dflt": "", - "editType": "plot", - "valType": "string" - }, - "operation": { - "description": "Sets the constraint operation. *=* keeps regions equal to `value` *<* and *<=* keep regions less than `value` *>* and *>=* keep regions greater than `value` *[]*, *()*, *[)*, and *(]* keep regions inside `value[0]` to `value[1]` *][*, *)(*, *](*, *)[* keep regions outside `value[0]` to value[1]` Open vs. closed intervals make no difference to constraint display, but all versions are allowed for consistency with filter transforms.", - "dflt": "=", - "editType": "calc", - "valType": "enumerated", - "values": [ - "=", - "<", - ">=", - ">", - "<=", - "[]", - "()", - "[)", - "(]", - "][", - ")(", - "](", - ")[" - ] + "namelength": { + "arrayOk": true, + "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", + "dflt": 15, + "editType": "none", + "min": -1, + "valType": "integer" }, "role": "object", - "showlabels": { - "description": "Determines whether to label the contour lines with their values.", - "dflt": false, - "editType": "plot", - "valType": "boolean" - }, - "showlines": { - "description": "Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*.", + "showarrow": { + "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", "dflt": true, - "editType": "plot", + "editType": "none", "valType": "boolean" - }, - "size": { - "description": "Sets the step between each contour level. Must be positive.", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "^autocontour": false - }, - "min": 0, - "valType": "number" - }, - "start": { - "description": "Sets the starting contour level value. Must be less than `contours.end`", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "^autocontour": false - }, - "valType": "number" - }, - "type": { - "description": "If `levels`, the data is represented as a contour plot with multiple levels displayed. If `constraint`, the data is represented as constraints with the invalid region shaded as specified by the `operation` and `value` parameters.", - "dflt": "levels", - "editType": "calc", - "valType": "enumerated", - "values": [ - "levels", - "constraint" - ] - }, - "value": { - "description": "Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (`=,<,>=,>,<=`) *value* is expected to be a number. When `operation` is set to one of the interval values (`[],(),[),(],][,)(,](,)[`) *value* is expected to be an array of two numbers where the first is the lower bound and the second is the upper bound.", - "dflt": 0, - "editType": "calc", - "valType": "any" } }, - "customdata": { - "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", - "editType": "calc", - "valType": "data_array" - }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", + "hovertemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", + "dflt": "", "editType": "none", "valType": "string" }, - "da": { - "description": "Sets the x coordinate step. See `x0` for more info.", - "dflt": 1, - "editType": "calc", - "impliedEdits": { - "xtype": "scaled" - }, - "valType": "number" - }, - "db": { - "description": "Sets the y coordinate step. See `y0` for more info.", - "dflt": 1, - "editType": "calc", - "impliedEdits": { - "ytype": "scaled" - }, - "valType": "number" - }, - "fillcolor": { - "description": "Sets the fill color if `contours.type` is *constraint*. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.", - "editType": "calc", - "valType": "color" + "hovertemplatefallback": { + "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", + "dflt": "-", + "editType": "none", + "valType": "any" }, "hovertext": { - "description": "Same as `text`.", + "arrayOk": true, + "description": "Sets hover text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.", + "dflt": "", "editType": "calc", - "valType": "data_array" - }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", "valType": "string" }, "ids": { @@ -32408,10 +29981,10 @@ "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" + "lat": { + "description": "Sets the latitude coordinates (in degrees North).", + "editType": "calc", + "valType": "data_array" }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", @@ -32536,42 +30109,10 @@ "min": 0, "valType": "number" }, - "line": { - "color": { - "description": "Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*.", - "editType": "style+colorbars", - "valType": "color" - }, - "dash": { - "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", - "dflt": "solid", - "editType": "style", - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ] - }, - "editType": "plot", - "role": "object", - "smoothing": { - "description": "Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing.", - "dflt": 1, - "editType": "plot", - "max": 1.3, - "min": 0, - "valType": "number" - }, - "width": { - "description": "Sets the contour line width in (in px) Defaults to *0.5* when `contours.type` is *levels*. Defaults to *2* when `contour.type` is *constraint*.", - "editType": "style+colorbars", - "min": 0, - "valType": "number" - } + "lon": { + "description": "Sets the longitude coordinates (in degrees East).", + "editType": "calc", + "valType": "data_array" }, "meta": { "arrayOk": true, @@ -32579,23 +30120,11 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", "valType": "string" }, - "ncontours": { - "description": "Sets the maximum number of contour levels. The actual number of contours will be chosen automatically to be less than or equal to the value of `ncontours`. Has an effect only if `autocontour` is *true* or if `contours.size` is missing.", - "dflt": 15, - "editType": "calc", - "min": 1, - "valType": "integer" - }, "opacity": { "description": "Sets the opacity of the trace.", "dflt": 1, @@ -32604,6 +30133,14 @@ "min": 0, "valType": "number" }, + "radius": { + "arrayOk": true, + "description": "Sets the radius of influence of one `lon` / `lat` point in pixels. Increasing the value makes the densitymap trace smoother, but less detailed.", + "dflt": 30, + "editType": "plot", + "min": 1, + "valType": "number" + }, "reversescale": { "description": "Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.", "dflt": false, @@ -32612,7 +30149,7 @@ }, "showlegend": { "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", - "dflt": true, + "dflt": false, "editType": "style", "valType": "boolean" }, @@ -32622,42 +30159,20 @@ "editType": "calc", "valType": "boolean" }, - "stream": { + "subplot": { + "description": "Sets a reference between this trace's data coordinates and a map subplot. If *map* (the default value), the data refer to `layout.map`. If *map2*, the data refer to `layout.map2`, and so on.", + "dflt": "map", "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } + "valType": "subplotid" }, "text": { - "description": "Sets the text elements associated with each z value.", + "arrayOk": true, + "description": "Sets text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", + "dflt": "", "editType": "calc", - "valType": "data_array" - }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", "valType": "string" }, - "transpose": { - "description": "Transposes the z data.", - "dflt": false, - "editType": "calc", - "valType": "boolean" - }, - "type": "contourcarpet", + "type": "densitymap", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", "editType": "plot", @@ -32679,20 +30194,8 @@ "legendonly" ] }, - "xaxis": { - "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "valType": "subplotid" - }, - "yaxis": { - "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "valType": "subplotid" - }, "z": { - "description": "Sets the z data.", + "description": "Sets the points' weight. For example, a value of 10 would be equivalent to having 10 points of weight 1 in the same spot", "editType": "calc", "valType": "data_array" }, @@ -32706,7 +30209,7 @@ "zmax": { "description": "Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.", "dflt": null, - "editType": "plot", + "editType": "calc", "impliedEdits": { "zauto": false }, @@ -32722,272 +30225,182 @@ "zmin": { "description": "Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.", "dflt": null, - "editType": "plot", + "editType": "calc", "impliedEdits": { "zauto": false }, "valType": "number" - }, - "zorder": { - "description": "Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.", - "dflt": 0, - "editType": "plot", - "valType": "integer" - }, - "zsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `z`.", - "editType": "none", - "valType": "string" } }, "categories": [ - "cartesian", - "svg", - "carpet", - "contour", - "symbols", - "showLegend", - "hasLines", - "carpetDependent", - "noHover", - "noSortingByValue" + "map", + "gl", + "showLegend" ], "meta": { - "description": "Plots contours on either the first carpet axis or the carpet axis with a matching `carpet` attribute. Data `z` is interpreted as matching that of the corresponding carpet axis.", - "hrName": "contour_carpet" + "description": "Draws a bivariate kernel density estimation with a Gaussian kernel from `lon` and `lat` coordinates and optional `z` values using a colorscale.", + "hr_name": "density_map" }, - "type": "contourcarpet" + "type": "densitymap" }, - "densitymap": { + "funnel": { "animatable": false, "attributes": { - "autocolorscale": { - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", - "dflt": true, + "alignmentgroup": { + "description": "Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.", + "dflt": "", "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "below": { - "description": "Determines if the densitymap trace will be inserted before the layer with the specified ID. By default, densitymap traces are placed below the first layer of type symbol If set to '', the layer will be inserted above every existing layer.", - "editType": "plot", "valType": "string" }, - "coloraxis": { - "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", - "dflt": null, - "editType": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "valType": "subplotid" + "cliponaxis": { + "description": "Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to *below traces*.", + "dflt": true, + "editType": "plot", + "valType": "boolean" }, - "colorbar": { - "bgcolor": { - "description": "Sets the color of padded area.", - "dflt": "rgba(0,0,0,0)", - "editType": "colorbars", - "valType": "color" - }, - "bordercolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "colorbars", + "connector": { + "editType": "plot", + "fillcolor": { + "description": "Sets the fill color.", + "editType": "style", "valType": "color" }, - "borderwidth": { - "description": "Sets the width (in px) or the border enclosing this color bar.", - "dflt": 0, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "dtick": { - "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" + "line": { + "color": { + "description": "Sets the line color.", + "dflt": "#444", + "editType": "style", + "valType": "color" }, - "valType": "any" - }, - "editType": "colorbars", - "exponentformat": { - "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B. *SI* uses prefixes from \"femto\" f (10^-15) to \"tera\" T (10^12). *SI extended* covers instead the full SI range from \"quecto\" q (10^-30) to \"quetta\" Q (10^30). If *SI* or *SI extended* is used and the exponent is beyond the above ranges, the formatting rule will automatically be switched to the power notation.", - "dflt": "B", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" - ] - }, - "labelalias": { - "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", - "dflt": false, - "editType": "colorbars", - "valType": "any" - }, - "len": { - "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "lenmode": { - "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", - "dflt": "fraction", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ] - }, - "minexponent": { - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", - "dflt": 3, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "nticks": { - "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", - "dflt": 0, - "editType": "colorbars", - "min": 0, - "valType": "integer" - }, - "orientation": { - "description": "Sets the orientation of the colorbar.", - "dflt": "v", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "h", - "v" - ] - }, - "outlinecolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" - }, - "outlinewidth": { - "description": "Sets the width (in px) of the axis line.", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" + "dash": { + "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", + "dflt": "solid", + "editType": "style", + "valType": "string", + "values": [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" + ] + }, + "editType": "style", + "role": "object", + "width": { + "description": "Sets the line width (in px).", + "dflt": 0, + "editType": "plot", + "min": 0, + "valType": "number" + } }, "role": "object", - "separatethousands": { - "description": "If \"true\", even 4-digit integers are separated", - "dflt": false, - "editType": "colorbars", + "visible": { + "description": "Determines if connector regions and lines are drawn.", + "dflt": true, + "editType": "plot", "valType": "boolean" - }, - "showexponent": { - "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", - "dflt": "all", - "editType": "colorbars", + } + }, + "constraintext": { + "description": "Constrain the size of text inside or outside a bar to be no larger than the bar itself.", + "dflt": "both", + "editType": "calc", + "valType": "enumerated", + "values": [ + "inside", + "outside", + "both", + "none" + ] + }, + "customdata": { + "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", + "editType": "calc", + "valType": "data_array" + }, + "dx": { + "description": "Sets the x coordinate step. See `x0` for more info.", + "dflt": 1, + "editType": "calc", + "valType": "number" + }, + "dy": { + "description": "Sets the y coordinate step. See `y0` for more info.", + "dflt": 1, + "editType": "calc", + "valType": "number" + }, + "hoverinfo": { + "arrayOk": true, + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "dflt": "all", + "editType": "none", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "name", + "x", + "y", + "text", + "percent initial", + "percent previous", + "percent total" + ], + "valType": "flaglist" + }, + "hoverlabel": { + "align": { + "arrayOk": true, + "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", + "dflt": "auto", + "editType": "none", "valType": "enumerated", "values": [ - "all", - "first", - "last", - "none" + "left", + "right", + "auto" ] }, - "showticklabels": { - "description": "Determines whether or not the tick labels are drawn.", - "dflt": true, - "editType": "colorbars", - "valType": "boolean" + "bgcolor": { + "arrayOk": true, + "description": "Sets the background color of the hover labels for this trace", + "editType": "none", + "valType": "color" }, - "showtickprefix": { - "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] + "bordercolor": { + "arrayOk": true, + "description": "Sets the border color of the hover labels for this trace.", + "editType": "none", + "valType": "color" }, - "showticksuffix": { - "description": "Same as `showtickprefix` but for tick suffixes.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "thickness": { - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "dflt": 30, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "dflt": "pixels", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ] - }, - "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "valType": "any" - }, - "tickangle": { - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", - "dflt": "auto", - "editType": "colorbars", - "valType": "angle" - }, - "tickcolor": { - "description": "Sets the tick color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" - }, - "tickfont": { + "editType": "none", + "font": { "color": { - "editType": "colorbars", + "arrayOk": true, + "editType": "none", "valType": "color" }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", + "description": "Sets the font used in hover labels.", + "editType": "none", "family": { + "arrayOk": true, "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "colorbars", + "editType": "none", "noBlank": true, "strict": true, "valType": "string" }, "lineposition": { + "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", - "editType": "colorbars", + "editType": "none", "extras": [ "none" ], @@ -33000,20 +30413,23 @@ }, "role": "object", "shadow": { + "arrayOk": true, "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", - "editType": "colorbars", + "editType": "none", "valType": "string" }, "size": { - "editType": "colorbars", + "arrayOk": true, + "editType": "none", "min": 1, "valType": "number" }, "style": { + "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", - "editType": "colorbars", + "editType": "none", "valType": "enumerated", "values": [ "normal", @@ -33021,9 +30437,10 @@ ] }, "textcase": { + "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", - "editType": "colorbars", + "editType": "none", "valType": "enumerated", "values": [ "normal", @@ -33033,9 +30450,10 @@ ] }, "variant": { + "arrayOk": true, "description": "Sets the variant of the font.", "dflt": "normal", - "editType": "colorbars", + "editType": "none", "valType": "enumerated", "values": [ "normal", @@ -33047,9 +30465,10 @@ ] }, "weight": { + "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", - "editType": "colorbars", + "editType": "none", "extras": [ "normal", "bold" @@ -33059,632 +30478,156 @@ "valType": "integer" } }, - "tickformat": { - "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", - "dflt": "", - "editType": "colorbars", - "valType": "string" - }, - "tickformatstops": { - "items": { - "tickformatstop": { - "dtickrange": { - "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", - "editType": "colorbars", - "items": [ - { - "editType": "colorbars", - "valType": "any" - }, - { - "editType": "colorbars", - "valType": "any" - } - ], - "valType": "info_array" - }, - "editType": "colorbars", - "enabled": { - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", - "dflt": true, - "editType": "colorbars", - "valType": "boolean" - }, - "name": { - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", - "editType": "colorbars", - "valType": "string" - }, - "role": "object", - "templateitemname": { - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", - "editType": "colorbars", - "valType": "string" - }, - "value": { - "description": "string - dtickformat for described zoom level, the same as *tickformat*", - "dflt": "", - "editType": "colorbars", - "valType": "string" - } - } - }, - "role": "object" - }, - "ticklabeloverflow": { - "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "allow", - "hide past div", - "hide past domain" - ] - }, - "ticklabelposition": { - "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", - "dflt": "outside", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" - ] - }, - "ticklabelstep": { - "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", - "dflt": 1, - "editType": "colorbars", - "min": 1, + "namelength": { + "arrayOk": true, + "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", + "dflt": 15, + "editType": "none", + "min": -1, "valType": "integer" }, - "ticklen": { - "description": "Sets the tick length (in px).", - "dflt": 5, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "tickmode": { - "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", - "editType": "colorbars", - "impliedEdits": {}, - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ] - }, - "tickprefix": { - "description": "Sets a tick label prefix.", - "dflt": "", - "editType": "colorbars", - "valType": "string" - }, - "ticks": { - "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", - "dflt": "", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ] - }, - "ticksuffix": { - "description": "Sets a tick label suffix.", - "dflt": "", - "editType": "colorbars", - "valType": "string" - }, - "ticktext": { - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "editType": "colorbars", - "valType": "data_array" - }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", + "role": "object", + "showarrow": { + "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", + "dflt": true, "editType": "none", - "valType": "string" - }, - "tickvals": { - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "editType": "colorbars", - "valType": "data_array" + "valType": "boolean" + } + }, + "hovertemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `percentInitial`, `percentPrevious` and `percentTotal`. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", + "dflt": "", + "editType": "none", + "valType": "string" + }, + "hovertemplatefallback": { + "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", + "dflt": "-", + "editType": "none", + "valType": "any" + }, + "hovertext": { + "arrayOk": true, + "description": "Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.", + "dflt": "", + "editType": "style", + "valType": "string" + }, + "ids": { + "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", + "editType": "calc", + "valType": "data_array" + }, + "insidetextanchor": { + "description": "Determines if texts are kept at center or start/end points in `textposition` *inside* mode.", + "dflt": "middle", + "editType": "plot", + "valType": "enumerated", + "values": [ + "end", + "middle", + "start" + ] + }, + "insidetextfont": { + "color": { + "arrayOk": true, + "editType": "style", + "valType": "color" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", + "description": "Sets the font used for `text` lying inside the bar.", + "editType": "calc", + "family": { + "arrayOk": true, + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "calc", + "noBlank": true, + "strict": true, "valType": "string" }, - "tickwidth": { - "description": "Sets the tick width (in px).", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" }, - "title": { - "editType": "colorbars", - "font": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Sets this color bar's title font.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "role": "object", - "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - }, - "text": { - "description": "Sets the title of the color bar.", - "editType": "colorbars", - "valType": "string" - } + "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" }, - "x": { - "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", - "editType": "colorbars", + "size": { + "arrayOk": true, + "editType": "calc", + "min": 1, "valType": "number" }, - "xanchor": { - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", - "editType": "colorbars", + "style": { + "arrayOk": true, + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "calc", "valType": "enumerated", "values": [ - "left", - "center", - "right" + "normal", + "italic" ] }, - "xpad": { - "description": "Sets the amount of padding (in px) along the x direction.", - "dflt": 10, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "xref": { - "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", - "dflt": "paper", - "editType": "colorbars", + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", "valType": "enumerated", "values": [ - "container", - "paper" + "normal", + "word caps", + "upper", + "lower" ] }, - "y": { - "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", - "editType": "colorbars", - "valType": "number" - }, - "yanchor": { - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", - "editType": "colorbars", + "variant": { + "arrayOk": true, + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc", "valType": "enumerated", "values": [ - "top", - "middle", - "bottom" + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] }, - "ypad": { - "description": "Sets the amount of padding (in px) along the y direction.", - "dflt": 10, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "yref": { - "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", - "dflt": "paper", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "container", - "paper" - ] + "weight": { + "arrayOk": true, + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "calc", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, - "colorscale": { - "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "autocolorscale": false - }, - "valType": "colorscale" - }, - "customdata": { - "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", - "editType": "calc", - "valType": "data_array" - }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, - "hoverinfo": { - "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", - "dflt": "all", - "editType": "none", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "lon", - "lat", - "z", - "text", - "name" - ], - "valType": "flaglist" - }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, - "hoverlabel": { - "align": { - "arrayOk": true, - "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", - "dflt": "auto", - "editType": "none", - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ] - }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, - "bgcolor": { - "arrayOk": true, - "description": "Sets the background color of the hover labels for this trace", - "editType": "none", - "valType": "color" - }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, - "bordercolor": { - "arrayOk": true, - "description": "Sets the border color of the hover labels for this trace.", - "editType": "none", - "valType": "color" - }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, - "editType": "none", - "font": { - "color": { - "arrayOk": true, - "editType": "none", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used in hover labels.", - "editType": "none", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "none", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "none", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "none", - "valType": "string" - }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, - "size": { - "arrayOk": true, - "editType": "none", - "min": 1, - "valType": "number" - }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "none", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "none", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "none", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "none", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } - }, - "namelength": { - "arrayOk": true, - "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", - "dflt": 15, - "editType": "none", - "min": -1, - "valType": "integer" - }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } - }, - "hovertemplate": { - "arrayOk": true, - "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "hovertemplatefallback": { - "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", - "dflt": "-", - "editType": "none", - "valType": "any" - }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, - "hovertext": { - "arrayOk": true, - "description": "Sets hover text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, - "ids": { - "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", - "editType": "calc", - "valType": "data_array" - }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, - "lat": { - "description": "Sets the latitude coordinates (in degrees North).", - "editType": "calc", - "valType": "data_array" - }, - "latsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lat`.", - "editType": "none", - "valType": "string" - }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", @@ -33808,648 +30751,255 @@ "min": 0, "valType": "number" }, - "lon": { - "description": "Sets the longitude coordinates (in degrees East).", - "editType": "calc", - "valType": "data_array" - }, - "lonsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lon`.", - "editType": "none", - "valType": "string" - }, - "meta": { - "arrayOk": true, - "description": "Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.", - "editType": "plot", - "valType": "any" - }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, - "name": { - "description": "Sets the trace name. The trace name appears as the legend item and on hover.", - "editType": "style", - "valType": "string" - }, - "opacity": { - "description": "Sets the opacity of the trace.", - "dflt": 1, - "editType": "style", - "max": 1, - "min": 0, - "valType": "number" - }, - "radius": { - "arrayOk": true, - "description": "Sets the radius of influence of one `lon` / `lat` point in pixels. Increasing the value makes the densitymap trace smoother, but less detailed.", - "dflt": 30, - "editType": "plot", - "min": 1, - "valType": "number" - }, - "radiussrc": { - "description": "Sets the source reference on Chart Studio Cloud for `radius`.", - "editType": "none", - "valType": "string" - }, - "reversescale": { - "description": "Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.", - "dflt": false, - "editType": "plot", - "valType": "boolean" - }, - "showlegend": { - "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", - "dflt": false, - "editType": "style", - "valType": "boolean" - }, - "showscale": { - "description": "Determines whether or not a colorbar is displayed for this trace.", - "dflt": true, - "editType": "calc", - "valType": "boolean" - }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, + "marker": { + "autocolorscale": { + "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", + "dflt": true, "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" + "impliedEdits": {}, + "valType": "boolean" }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", + "cauto": { + "description": "Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.", + "dflt": true, "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, - "subplot": { - "description": "Sets a reference between this trace's data coordinates and a map subplot. If *map* (the default value), the data refer to `layout.map`. If *map2*, the data refer to `layout.map2`, and so on.", - "dflt": "map", - "editType": "calc", - "valType": "subplotid" - }, - "text": { - "arrayOk": true, - "description": "Sets text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, - "type": "densitymap", - "uid": { - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", - "editType": "plot", - "valType": "string" - }, - "uirevision": { - "description": "Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.", - "editType": "none", - "valType": "any" - }, - "visible": { - "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", - "dflt": true, - "editType": "calc", - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ] - }, - "z": { - "description": "Sets the points' weight. For example, a value of 10 would be equivalent to having 10 points of weight 1 in the same spot", - "editType": "calc", - "valType": "data_array" - }, - "zauto": { - "description": "Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "zmax": { - "description": "Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "zauto": false - }, - "valType": "number" - }, - "zmid": { - "description": "Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "valType": "number" - }, - "zmin": { - "description": "Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "zauto": false - }, - "valType": "number" - }, - "zsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `z`.", - "editType": "none", - "valType": "string" - } - }, - "categories": [ - "map", - "gl", - "showLegend" - ], - "meta": { - "description": "Draws a bivariate kernel density estimation with a Gaussian kernel from `lon` and `lat` coordinates and optional `z` values using a colorscale.", - "hr_name": "density_map" - }, - "type": "densitymap" - }, - "densitymapbox": { - "animatable": false, - "attributes": { - "autocolorscale": { - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "below": { - "description": "Determines if the densitymapbox trace will be inserted before the layer with the specified ID. By default, densitymapbox traces are placed below the first layer of type symbol If set to '', the layer will be inserted above every existing layer.", - "editType": "plot", - "valType": "string" - }, - "coloraxis": { - "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", - "dflt": null, - "editType": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "valType": "subplotid" - }, - "colorbar": { - "bgcolor": { - "description": "Sets the color of padded area.", - "dflt": "rgba(0,0,0,0)", - "editType": "colorbars", - "valType": "color" + "impliedEdits": {}, + "valType": "boolean" }, - "bordercolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" + "cmax": { + "description": "Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.", + "dflt": null, + "editType": "plot", + "impliedEdits": { + "cauto": false + }, + "valType": "number" }, - "borderwidth": { - "description": "Sets the width (in px) or the border enclosing this color bar.", - "dflt": 0, - "editType": "colorbars", - "min": 0, + "cmid": { + "description": "Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.", + "dflt": null, + "editType": "calc", + "impliedEdits": {}, "valType": "number" }, - "dtick": { - "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", - "editType": "colorbars", + "cmin": { + "description": "Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.", + "dflt": null, + "editType": "plot", "impliedEdits": { - "tickmode": "linear" + "cauto": false }, - "valType": "any" + "valType": "number" }, - "editType": "colorbars", - "exponentformat": { - "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B. *SI* uses prefixes from \"femto\" f (10^-15) to \"tera\" T (10^12). *SI extended* covers instead the full SI range from \"quecto\" q (10^-30) to \"quetta\" Q (10^30). If *SI* or *SI extended* is used and the exponent is beyond the above ranges, the formatting rule will automatically be switched to the power notation.", - "dflt": "B", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" - ] + "color": { + "arrayOk": true, + "description": "Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.", + "editType": "style", + "valType": "color" }, - "labelalias": { - "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", - "dflt": false, - "editType": "colorbars", - "valType": "any" + "coloraxis": { + "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", + "dflt": null, + "editType": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", + "valType": "subplotid" }, - "len": { - "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "lenmode": { - "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", - "dflt": "fraction", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ] - }, - "minexponent": { - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", - "dflt": 3, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "nticks": { - "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", - "dflt": 0, - "editType": "colorbars", - "min": 0, - "valType": "integer" - }, - "orientation": { - "description": "Sets the orientation of the colorbar.", - "dflt": "v", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "h", - "v" - ] - }, - "outlinecolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" - }, - "outlinewidth": { - "description": "Sets the width (in px) of the axis line.", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "role": "object", - "separatethousands": { - "description": "If \"true\", even 4-digit integers are separated", - "dflt": false, - "editType": "colorbars", - "valType": "boolean" - }, - "showexponent": { - "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "showticklabels": { - "description": "Determines whether or not the tick labels are drawn.", - "dflt": true, - "editType": "colorbars", - "valType": "boolean" - }, - "showtickprefix": { - "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "showticksuffix": { - "description": "Same as `showtickprefix` but for tick suffixes.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "thickness": { - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "dflt": 30, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "dflt": "pixels", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ] - }, - "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" + "colorbar": { + "bgcolor": { + "description": "Sets the color of padded area.", + "dflt": "rgba(0,0,0,0)", + "editType": "colorbars", + "valType": "color" }, - "valType": "any" - }, - "tickangle": { - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", - "dflt": "auto", - "editType": "colorbars", - "valType": "angle" - }, - "tickcolor": { - "description": "Sets the tick color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" - }, - "tickfont": { - "color": { + "bordercolor": { + "description": "Sets the axis line color.", + "dflt": "#444", "editType": "colorbars", "valType": "color" }, - "description": "Sets the color bar's tick label font", + "borderwidth": { + "description": "Sets the width (in px) or the border enclosing this color bar.", + "dflt": 0, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "dtick": { + "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", + "editType": "colorbars", + "impliedEdits": { + "tickmode": "linear" + }, + "valType": "any" + }, "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "exponentformat": { + "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B. *SI* uses prefixes from \"femto\" f (10^-15) to \"tera\" T (10^12). *SI extended* covers instead the full SI range from \"quecto\" q (10^-30) to \"quetta\" Q (10^30). If *SI* or *SI extended* is used and the exponent is beyond the above ranges, the formatting rule will automatically be switched to the power notation.", + "dflt": "B", "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" + "valType": "enumerated", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B", + "SI extended" + ] }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", + "labelalias": { + "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", + "dflt": false, "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" + "valType": "any" }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", + "len": { + "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", + "dflt": 1, "editType": "colorbars", - "valType": "string" + "min": 0, + "valType": "number" }, - "size": { + "lenmode": { + "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", + "dflt": "fraction", "editType": "colorbars", - "min": 1, + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "minexponent": { + "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", + "dflt": 3, + "editType": "colorbars", + "min": 0, "valType": "number" }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", + "nticks": { + "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "editType": "colorbars", + "min": 0, + "valType": "integer" + }, + "orientation": { + "description": "Sets the orientation of the colorbar.", + "dflt": "v", "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "italic" + "h", + "v" ] }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", + "outlinecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "editType": "colorbars", + "valType": "color" + }, + "outlinewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "role": "object", + "separatethousands": { + "description": "If \"true\", even 4-digit integers are separated", + "dflt": false, + "editType": "colorbars", + "valType": "boolean" + }, + "showexponent": { + "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", + "dflt": "all", "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "word caps", - "upper", - "lower" + "all", + "first", + "last", + "none" ] }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "editType": "colorbars", + "valType": "boolean" + }, + "showtickprefix": { + "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", + "dflt": "all", "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "all", + "first", + "last", + "none" ] }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "tickformat": { - "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", - "dflt": "", - "editType": "colorbars", - "valType": "string" - }, - "tickformatstops": { - "items": { - "tickformatstop": { - "dtickrange": { - "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", - "editType": "colorbars", - "items": [ - { - "editType": "colorbars", - "valType": "any" - }, - { - "editType": "colorbars", - "valType": "any" - } - ], - "valType": "info_array" - }, - "editType": "colorbars", - "enabled": { - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", - "dflt": true, - "editType": "colorbars", - "valType": "boolean" - }, - "name": { - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", - "editType": "colorbars", - "valType": "string" - }, - "role": "object", - "templateitemname": { - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", - "editType": "colorbars", - "valType": "string" - }, - "value": { - "description": "string - dtickformat for described zoom level, the same as *tickformat*", - "dflt": "", - "editType": "colorbars", - "valType": "string" - } - } + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "role": "object" - }, - "ticklabeloverflow": { - "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "allow", - "hide past div", - "hide past domain" - ] - }, - "ticklabelposition": { - "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", - "dflt": "outside", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" - ] - }, - "ticklabelstep": { - "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", - "dflt": 1, - "editType": "colorbars", - "min": 1, - "valType": "integer" - }, - "ticklen": { - "description": "Sets the tick length (in px).", - "dflt": 5, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "tickmode": { - "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", - "editType": "colorbars", - "impliedEdits": {}, - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ] - }, - "tickprefix": { - "description": "Sets a tick label prefix.", - "dflt": "", - "editType": "colorbars", - "valType": "string" - }, - "ticks": { - "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", - "dflt": "", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ] - }, - "ticksuffix": { - "description": "Sets a tick label suffix.", - "dflt": "", - "editType": "colorbars", - "valType": "string" - }, - "ticktext": { - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "editType": "colorbars", - "valType": "data_array" - }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, - "tickvals": { - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "editType": "colorbars", - "valType": "data_array" - }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, - "tickwidth": { - "description": "Sets the tick width (in px).", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "title": { - "editType": "colorbars", - "font": { + "thickness": { + "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", + "dflt": 30, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "thicknessmode": { + "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", + "dflt": "pixels", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "colorbars", + "impliedEdits": { + "tickmode": "linear" + }, + "valType": "any" + }, + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "editType": "colorbars", + "valType": "angle" + }, + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "editType": "colorbars", + "valType": "color" + }, + "tickfont": { "color": { "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font.", + "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", @@ -34533,535 +31083,460 @@ "valType": "integer" } }, - "role": "object", - "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "tickformat": { + "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", + "dflt": "", + "editType": "colorbars", + "valType": "string" + }, + "tickformatstops": { + "items": { + "tickformatstop": { + "dtickrange": { + "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", + "editType": "colorbars", + "items": [ + { + "editType": "colorbars", + "valType": "any" + }, + { + "editType": "colorbars", + "valType": "any" + } + ], + "valType": "info_array" + }, + "editType": "colorbars", + "enabled": { + "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", + "dflt": true, + "editType": "colorbars", + "valType": "boolean" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "colorbars", + "valType": "string" + }, + "role": "object", + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "colorbars", + "valType": "string" + }, + "value": { + "description": "string - dtickformat for described zoom level, the same as *tickformat*", + "dflt": "", + "editType": "colorbars", + "valType": "string" + } + } + }, + "role": "object" + }, + "ticklabeloverflow": { + "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", "editType": "colorbars", "valType": "enumerated", "values": [ - "right", - "top", - "bottom" + "allow", + "hide past div", + "hide past domain" ] }, - "text": { - "description": "Sets the title of the color bar.", + "ticklabelposition": { + "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", + "dflt": "outside", "editType": "colorbars", - "valType": "string" - } - }, - "x": { - "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", - "editType": "colorbars", - "valType": "number" - }, - "xanchor": { - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ] - }, - "xpad": { - "description": "Sets the amount of padding (in px) along the x direction.", - "dflt": 10, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "xref": { - "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", - "dflt": "paper", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "container", - "paper" - ] - }, - "y": { - "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", - "editType": "colorbars", - "valType": "number" - }, - "yanchor": { - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ] - }, - "ypad": { - "description": "Sets the amount of padding (in px) along the y direction.", - "dflt": 10, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "yref": { - "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", - "dflt": "paper", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "container", - "paper" - ] - } - }, - "colorscale": { - "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "autocolorscale": false - }, - "valType": "colorscale" - }, - "customdata": { - "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", - "editType": "calc", - "valType": "data_array" - }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, - "hoverinfo": { - "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", - "dflt": "all", - "editType": "none", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "lon", - "lat", - "z", - "text", - "name" - ], - "valType": "flaglist" - }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, - "hoverlabel": { - "align": { - "arrayOk": true, - "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", - "dflt": "auto", - "editType": "none", - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ] - }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, - "bgcolor": { - "arrayOk": true, - "description": "Sets the background color of the hover labels for this trace", - "editType": "none", - "valType": "color" - }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, - "bordercolor": { - "arrayOk": true, - "description": "Sets the border color of the hover labels for this trace.", - "editType": "none", - "valType": "color" - }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, - "editType": "none", - "font": { - "color": { - "arrayOk": true, - "editType": "none", - "valType": "color" + "valType": "enumerated", + "values": [ + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom" + ] }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" + "ticklabelstep": { + "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", + "dflt": 1, + "editType": "colorbars", + "min": 1, + "valType": "integer" }, - "description": "Sets the font used in hover labels.", - "editType": "none", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "none", - "noBlank": true, - "strict": true, - "valType": "string" + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, + "editType": "colorbars", + "min": 0, + "valType": "number" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", + "tickmode": { + "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", + "editType": "colorbars", + "impliedEdits": {}, + "valType": "enumerated", + "values": [ + "auto", + "linear", + "array" + ] + }, + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", + "editType": "colorbars", "valType": "string" }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "none", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" + "ticks": { + "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", + "dflt": "", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "" + ] }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "editType": "colorbars", "valType": "string" }, - "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "none", - "valType": "string" + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", + "editType": "colorbars", + "valType": "data_array" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "editType": "colorbars", + "valType": "data_array" }, - "size": { - "arrayOk": true, - "editType": "none", - "min": 1, + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "editType": "colorbars", + "min": 0, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" + "title": { + "editType": "colorbars", + "font": { + "color": { + "editType": "colorbars", + "valType": "color" + }, + "description": "Sets this color bar's title font.", + "editType": "colorbars", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "colorbars", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, + "size": { + "editType": "colorbars", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "colorbars", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "role": "object", + "side": { + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "right", + "top", + "bottom" + ] + }, + "text": { + "description": "Sets the title of the color bar.", + "editType": "colorbars", + "valType": "string" + } }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "none", + "x": { + "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", + "editType": "colorbars", + "valType": "number" + }, + "xanchor": { + "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "italic" + "left", + "center", + "right" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" + "xpad": { + "description": "Sets the amount of padding (in px) along the x direction.", + "dflt": 10, + "editType": "colorbars", + "min": 0, + "valType": "number" }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "none", + "xref": { + "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", + "dflt": "paper", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "word caps", - "upper", - "lower" + "container", + "paper" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" + "y": { + "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", + "editType": "colorbars", + "valType": "number" }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "none", + "yanchor": { + "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "top", + "middle", + "bottom" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" + "ypad": { + "description": "Sets the amount of padding (in px) along the y direction.", + "dflt": 10, + "editType": "colorbars", + "min": 0, + "valType": "number" }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "none", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" + "yref": { + "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", + "dflt": "paper", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "container", + "paper" + ] } }, - "namelength": { - "arrayOk": true, - "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", - "dflt": 15, - "editType": "none", - "min": -1, - "valType": "integer" - }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" + "colorscale": { + "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "dflt": null, + "editType": "calc", + "impliedEdits": { + "autocolorscale": false + }, + "valType": "colorscale" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } - }, - "hovertemplate": { - "arrayOk": true, - "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "hovertemplatefallback": { - "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", - "dflt": "-", - "editType": "none", - "valType": "any" - }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, - "hovertext": { - "arrayOk": true, - "description": "Sets hover text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, - "ids": { - "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", - "editType": "calc", - "valType": "data_array" - }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, - "lat": { - "description": "Sets the latitude coordinates (in degrees North).", "editType": "calc", - "valType": "data_array" - }, - "latsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lat`.", - "editType": "none", - "valType": "string" - }, - "legend": { - "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", - "dflt": "legend", - "editType": "style", - "valType": "subplotid" - }, - "legendgroup": { - "description": "Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.", - "dflt": "", - "editType": "style", - "valType": "string" - }, - "legendgrouptitle": { - "editType": "style", - "font": { - "color": { - "editType": "style", - "valType": "color" + "line": { + "autocolorscale": { + "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", + "dflt": true, + "editType": "calc", + "impliedEdits": {}, + "valType": "boolean" }, - "description": "Sets this legend group's title font.", - "editType": "style", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "style", - "noBlank": true, - "strict": true, - "valType": "string" + "cauto": { + "description": "Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.", + "dflt": true, + "editType": "calc", + "impliedEdits": {}, + "valType": "boolean" }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "style", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" + "cmax": { + "description": "Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.", + "dflt": null, + "editType": "plot", + "impliedEdits": { + "cauto": false + }, + "valType": "number" }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "style", - "valType": "string" + "cmid": { + "description": "Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.", + "dflt": null, + "editType": "calc", + "impliedEdits": {}, + "valType": "number" }, - "size": { - "editType": "style", - "min": 1, + "cmin": { + "description": "Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.", + "dflt": null, + "editType": "plot", + "impliedEdits": { + "cauto": false + }, "valType": "number" }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", + "color": { + "arrayOk": true, + "description": "Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.", "editType": "style", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] + "valType": "color" }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "style", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] + "coloraxis": { + "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", + "dflt": null, + "editType": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", + "valType": "subplotid" }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "style", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] + "colorscale": { + "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "dflt": null, + "editType": "calc", + "impliedEdits": { + "autocolorscale": false + }, + "valType": "colorscale" }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", + "editType": "calc", + "reversescale": { + "description": "Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.", + "dflt": false, + "editType": "plot", + "valType": "boolean" + }, + "role": "object", + "width": { + "arrayOk": true, + "description": "Sets the width (in px) of the lines bounding the marker points.", + "dflt": 0, "editType": "style", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" + "min": 0, + "valType": "number" } }, - "role": "object", - "text": { - "description": "Sets the title of the legend group.", - "dflt": "", + "opacity": { + "arrayOk": true, + "description": "Sets the opacity of the bars.", + "dflt": 1, "editType": "style", - "valType": "string" + "max": 1, + "min": 0, + "valType": "number" + }, + "reversescale": { + "description": "Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.", + "dflt": false, + "editType": "plot", + "valType": "boolean" + }, + "role": "object", + "showscale": { + "description": "Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.", + "dflt": false, + "editType": "calc", + "valType": "boolean" } }, - "legendrank": { - "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", - "dflt": 1000, - "editType": "style", - "valType": "number" - }, - "legendwidth": { - "description": "Sets the width (in px or fraction) of the legend for this trace.", - "editType": "style", - "min": 0, - "valType": "number" - }, - "lon": { - "description": "Sets the longitude coordinates (in degrees East).", - "editType": "calc", - "valType": "data_array" - }, - "lonsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lon`.", - "editType": "none", - "valType": "string" - }, "meta": { "arrayOk": true, "description": "Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.", "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", "valType": "string" }, + "offset": { + "arrayOk": false, + "description": "Shifts the position where the bar is drawn (in position axis units). In *group* barmode, traces that set *offset* will be excluded and drawn in *overlay* mode instead.", + "dflt": null, + "editType": "calc", + "valType": "number" + }, + "offsetgroup": { + "description": "Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.", + "dflt": "", + "editType": "calc", + "valType": "string" + }, "opacity": { "description": "Sets the opacity of the trace.", "dflt": 1, @@ -35070,248 +31545,542 @@ "min": 0, "valType": "number" }, - "radius": { - "arrayOk": true, - "description": "Sets the radius of influence of one `lon` / `lat` point in pixels. Increasing the value makes the densitymapbox trace smoother, but less detailed.", - "dflt": 30, - "editType": "plot", - "min": 1, - "valType": "number" - }, - "radiussrc": { - "description": "Sets the source reference on Chart Studio Cloud for `radius`.", - "editType": "none", - "valType": "string" - }, - "reversescale": { - "description": "Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.", - "dflt": false, - "editType": "plot", - "valType": "boolean" - }, - "showlegend": { - "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", - "dflt": false, - "editType": "style", - "valType": "boolean" - }, - "showscale": { - "description": "Determines whether or not a colorbar is displayed for this trace.", - "dflt": true, - "editType": "calc", - "valType": "boolean" + "orientation": { + "description": "Sets the orientation of the funnels. With *v* (*h*), the value of the each bar spans along the vertical (horizontal). By default funnels are tend to be oriented horizontally; unless only *y* array is presented or orientation is set to *v*. Also regarding graphs including only 'horizontal' funnels, *autorange* on the *y-axis* are set to *reversed*.", + "editType": "calc+clearAxisTypes", + "valType": "enumerated", + "values": [ + "v", + "h" + ] }, - "stream": { + "outsidetextfont": { + "color": { + "arrayOk": true, + "editType": "style", + "valType": "color" + }, + "description": "Sets the font used for `text` lying outside the bar.", "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, + "family": { + "arrayOk": true, + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" }, "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", "editType": "calc", - "noBlank": true, - "strict": true, "valType": "string" + }, + "size": { + "arrayOk": true, + "editType": "calc", + "min": 1, + "valType": "number" + }, + "style": { + "arrayOk": true, + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "arrayOk": true, + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "arrayOk": true, + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "calc", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, - "subplot": { - "description": "mapbox subplots and traces are deprecated! Please consider switching to `map` subplots and traces. Learn more at: https://plotly.com/python/maplibre-migration/ as well as https://plotly.com/javascript/maplibre-migration/ Sets a reference between this trace's data coordinates and a mapbox subplot. If *mapbox* (the default value), the data refer to `layout.mapbox`. If *mapbox2*, the data refer to `layout.mapbox2`, and so on.", - "dflt": "mapbox", + "selectedpoints": { + "description": "Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.", "editType": "calc", - "valType": "subplotid" + "valType": "any" + }, + "showlegend": { + "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", + "dflt": true, + "editType": "style", + "valType": "boolean" }, "text": { "arrayOk": true, - "description": "Sets text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", + "description": "Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", "dflt": "", "editType": "calc", "valType": "string" }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, - "type": "densitymapbox", - "uid": { - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", + "textangle": { + "description": "Sets the angle of the tick labels with respect to the bar. For example, a `tickangle` of -90 draws the tick labels vertically. With *auto* the texts may automatically be rotated to fit with the maximum size in bars.", + "dflt": 0, "editType": "plot", - "valType": "string" - }, - "uirevision": { - "description": "Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.", - "editType": "none", - "valType": "any" - }, - "visible": { - "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", - "dflt": true, - "editType": "calc", - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ] - }, - "z": { - "description": "Sets the points' weight. For example, a value of 10 would be equivalent to having 10 points of weight 1 in the same spot", - "editType": "calc", - "valType": "data_array" - }, - "zauto": { - "description": "Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" + "valType": "angle" }, - "zmax": { - "description": "Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "zauto": false + "textfont": { + "color": { + "arrayOk": true, + "editType": "style", + "valType": "color" }, - "valType": "number" - }, - "zmid": { - "description": "Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "valType": "number" - }, - "zmin": { - "description": "Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.", - "dflt": null, + "description": "Sets the font used for `text`.", "editType": "calc", - "impliedEdits": { - "zauto": false + "family": { + "arrayOk": true, + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "calc", + "noBlank": true, + "strict": true, + "valType": "string" }, - "valType": "number" - }, - "zsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `z`.", - "editType": "none", - "valType": "string" - } - }, - "categories": [ - "mapbox", - "gl", - "showLegend" - ], - "meta": { - "description": "*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/ Draws a bivariate kernel density estimation with a Gaussian kernel from `lon` and `lat` coordinates and optional `z` values using a colorscale.", - "hr_name": "density_mapbox" - }, - "type": "densitymapbox" - }, - "funnel": { - "animatable": false, - "attributes": { - "alignmentgroup": { - "description": "Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "cliponaxis": { - "description": "Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to *below traces*.", - "dflt": true, - "editType": "plot", - "valType": "boolean" - }, - "connector": { - "editType": "plot", - "fillcolor": { - "description": "Sets the fill color.", - "editType": "style", - "valType": "color" - }, - "line": { - "color": { - "description": "Sets the line color.", - "dflt": "#444", - "editType": "style", - "valType": "color" - }, - "dash": { - "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", - "dflt": "solid", - "editType": "style", - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ] - }, - "editType": "style", - "role": "object", - "width": { - "description": "Sets the line width (in px).", - "dflt": 0, - "editType": "plot", - "min": 0, - "valType": "number" - } + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" }, "role": "object", - "visible": { - "description": "Determines if connector regions and lines are drawn.", - "dflt": true, - "editType": "plot", - "valType": "boolean" + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "size": { + "arrayOk": true, + "editType": "calc", + "min": 1, + "valType": "number" + }, + "style": { + "arrayOk": true, + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "arrayOk": true, + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "arrayOk": true, + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "calc", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, - "constraintext": { - "description": "Constrain the size of text inside or outside a bar to be no larger than the bar itself.", - "dflt": "both", + "textinfo": { + "arrayOk": false, + "description": "Determines what trace information appears on the graph. In the case of having multiple funnels, percentages & totals are computed separately (per trace). Flags are rendered in a fixed order; use `texttemplate` if you need explicit control over the rendered string, including the order of fields and surrounding text.", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "label", + "text", + "percent initial", + "percent previous", + "percent total", + "value" + ], + "valType": "flaglist" + }, + "textposition": { + "arrayOk": true, + "description": "Specifies the location of the `text`. *inside* positions `text` inside, next to the bar end (rotated and scaled if needed). *outside* positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. *auto* tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If *none*, no text appears.", + "dflt": "auto", "editType": "calc", "valType": "enumerated", "values": [ "inside", "outside", - "both", + "auto", "none" ] }, - "customdata": { - "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", + "texttemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `percentInitial`, `percentPrevious`, `percentTotal`, `label` and `value`.", + "dflt": "", + "editType": "plot", + "valType": "string" + }, + "texttemplatefallback": { + "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", + "dflt": "-", + "editType": "plot", + "valType": "any" + }, + "type": "funnel", + "uid": { + "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", + "editType": "plot", + "valType": "string" + }, + "uirevision": { + "description": "Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.", + "editType": "none", + "valType": "any" + }, + "visible": { + "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", + "dflt": true, + "editType": "calc", + "valType": "enumerated", + "values": [ + true, + false, + "legendonly" + ] + }, + "width": { + "arrayOk": false, + "description": "Sets the bar width (in position axis units).", + "dflt": null, "editType": "calc", + "min": 0, + "valType": "number" + }, + "x": { + "description": "Sets the x coordinates.", + "editType": "calc+clearAxisTypes", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", + "x0": { + "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.", + "dflt": 0, + "editType": "calc+clearAxisTypes", + "valType": "any" + }, + "xaxis": { + "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", + "dflt": "x", + "editType": "calc+clearAxisTypes", + "valType": "subplotid" + }, + "xhoverformat": { + "description": "Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", + "dflt": "", "editType": "none", "valType": "string" }, - "dx": { - "description": "Sets the x coordinate step. See `x0` for more info.", - "dflt": 1, + "xperiod": { + "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer.", + "dflt": 0, + "editType": "calc", + "valType": "any" + }, + "xperiod0": { + "description": "Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.", + "editType": "calc", + "valType": "any" + }, + "xperiodalignment": { + "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.", + "dflt": "middle", + "editType": "calc", + "valType": "enumerated", + "values": [ + "start", + "middle", + "end" + ] + }, + "y": { + "description": "Sets the y coordinates.", + "editType": "calc+clearAxisTypes", + "valType": "data_array" + }, + "y0": { + "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.", + "dflt": 0, + "editType": "calc+clearAxisTypes", + "valType": "any" + }, + "yaxis": { + "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.", + "dflt": "y", + "editType": "calc+clearAxisTypes", + "valType": "subplotid" + }, + "yhoverformat": { + "description": "Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", + "dflt": "", + "editType": "none", + "valType": "string" + }, + "yperiod": { + "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer.", + "dflt": 0, + "editType": "calc", + "valType": "any" + }, + "yperiod0": { + "description": "Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.", + "editType": "calc", + "valType": "any" + }, + "yperiodalignment": { + "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.", + "dflt": "middle", + "editType": "calc", + "valType": "enumerated", + "values": [ + "start", + "middle", + "end" + ] + }, + "zorder": { + "description": "Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.", + "dflt": 0, + "editType": "plot", + "valType": "integer" + } + }, + "categories": [ + "bar-like", + "cartesian", + "svg", + "oriented", + "showLegend", + "zoomScale" + ], + "layoutAttributes": { + "funnelgap": { + "description": "Sets the gap (in plot fraction) between bars of adjacent location coordinates.", "editType": "calc", + "max": 1, + "min": 0, "valType": "number" }, - "dy": { - "description": "Sets the y coordinate step. See `y0` for more info.", + "funnelgroupgap": { + "description": "Sets the gap (in plot fraction) between bars of the same location coordinate.", + "dflt": 0, + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + "funnelmode": { + "description": "Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars.", + "dflt": "stack", + "editType": "calc", + "valType": "enumerated", + "values": [ + "stack", + "group", + "overlay" + ] + } + }, + "meta": { + "description": "Visualize stages in a process using length-encoded bars. This trace can be used to show data in either a part-to-whole representation wherein each item appears in a single stage, or in a \"drop-off\" representation wherein each item appears in each stage it traversed. See also the \"funnelarea\" trace type for a different approach to visualizing funnel data." + }, + "type": "funnel" + }, + "funnelarea": { + "animatable": false, + "attributes": { + "aspectratio": { + "description": "Sets the ratio between height and width", + "dflt": 1, + "editType": "plot", + "min": 0, + "valType": "number" + }, + "baseratio": { + "description": "Sets the ratio between bottom length and maximum top length.", + "dflt": 0.333, + "editType": "plot", + "max": 1, + "min": 0, + "valType": "number" + }, + "customdata": { + "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", + "editType": "calc", + "valType": "data_array" + }, + "dlabel": { + "description": "Sets the label step. See `label0` for more info.", "dflt": 1, "editType": "calc", "valType": "number" }, + "domain": { + "column": { + "description": "If there is a layout grid, use the domain for this column in the grid for this funnelarea trace.", + "dflt": 0, + "editType": "calc", + "min": 0, + "valType": "integer" + }, + "editType": "calc", + "role": "object", + "row": { + "description": "If there is a layout grid, use the domain for this row in the grid for this funnelarea trace.", + "dflt": 0, + "editType": "calc", + "min": 0, + "valType": "integer" + }, + "x": { + "description": "Sets the horizontal domain of this funnelarea trace (in plot fraction).", + "dflt": [ + 0, + 1 + ], + "editType": "calc", + "items": [ + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + } + ], + "valType": "info_array" + }, + "y": { + "description": "Sets the vertical domain of this funnelarea trace (in plot fraction).", + "dflt": [ + 0, + 1 + ], + "editType": "calc", + "items": [ + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + } + ], + "valType": "info_array" + } + }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. Flags are rendered in a fixed order; use `hovertemplate` if you need explicit control over the rendered string, including the order of fields and surrounding text.", "dflt": "all", "editType": "none", "extras": [ @@ -35320,21 +32089,14 @@ "skip" ], "flags": [ - "name", - "x", - "y", + "label", "text", - "percent initial", - "percent previous", - "percent total" + "value", + "percent", + "name" ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -35348,33 +32110,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -35382,11 +32129,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -35397,11 +32139,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -35417,11 +32154,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -35430,22 +32162,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -35457,11 +32179,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -35475,11 +32192,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -35495,11 +32207,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -35512,11 +32219,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -35527,11 +32229,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -35542,7 +32239,7 @@ }, "hovertemplate": { "arrayOk": true, - "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `percentInitial`, `percentPrevious` and `percentTotal`. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", + "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `label`, `color`, `value`, `text` and `percent`. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", "dflt": "", "editType": "none", "valType": "string" @@ -35553,75 +32250,39 @@ "editType": "none", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "hovertext": { "arrayOk": true, - "description": "Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.", + "description": "Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a *text* flag.", "dflt": "", "editType": "style", "valType": "string" }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, - "insidetextanchor": { - "description": "Determines if texts are kept at center or start/end points in `textposition` *inside* mode.", - "dflt": "middle", - "editType": "plot", - "valType": "enumerated", - "values": [ - "end", - "middle", - "start" - ] - }, "insidetextfont": { "color": { "arrayOk": true, - "editType": "style", + "editType": "plot", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used for `text` lying inside the bar.", - "editType": "calc", + "description": "Sets the font used for `textinfo` lying inside the sector.", + "editType": "plot", "family": { "arrayOk": true, "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "calc", + "editType": "plot", "noBlank": true, "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", - "editType": "calc", + "editType": "plot", "extras": [ "none" ], @@ -35632,56 +32293,36 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", - "editType": "calc", - "valType": "string" - }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", + "editType": "plot", "valType": "string" }, "size": { "arrayOk": true, - "editType": "calc", + "editType": "plot", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", - "editType": "calc", + "editType": "plot", "valType": "enumerated", "values": [ "normal", "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", - "editType": "calc", + "editType": "plot", "valType": "enumerated", "values": [ "normal", @@ -35690,16 +32331,11 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", "dflt": "normal", - "editType": "calc", + "editType": "plot", "valType": "enumerated", "values": [ "normal", @@ -35710,16 +32346,11 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", - "editType": "calc", + "editType": "plot", "extras": [ "normal", "bold" @@ -35727,13 +32358,19 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, + "label0": { + "description": "Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step.", + "dflt": 0, + "editType": "calc", + "valType": "number" + }, + "labels": { + "description": "Sets the sector labels. If `labels` entries are duplicated, we sum associated `values` or simply count occurrences if `values` is not provided. For other array attributes (including color) we use the first non-empty entry among all occurrences of the label.", + "editType": "calc", + "valType": "data_array" + }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", @@ -35858,826 +32495,1427 @@ "valType": "number" }, "marker": { - "autocolorscale": { - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "cauto": { - "description": "Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "cmax": { - "description": "Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "valType": "number" - }, - "cmid": { - "description": "Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.", - "dflt": null, + "colors": { + "description": "Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors.", "editType": "calc", - "impliedEdits": {}, - "valType": "number" + "valType": "data_array" }, - "cmin": { - "description": "Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false + "editType": "calc", + "line": { + "color": { + "arrayOk": true, + "description": "Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.", + "dflt": null, + "editType": "style", + "valType": "color" }, - "valType": "number" - }, - "color": { - "arrayOk": true, - "description": "Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.", - "editType": "style", - "valType": "color" - }, - "coloraxis": { - "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", - "dflt": null, "editType": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "valType": "subplotid" + "role": "object", + "width": { + "arrayOk": true, + "description": "Sets the width (in px) of the line enclosing each sector.", + "dflt": 1, + "editType": "style", + "min": 0, + "valType": "number" + } }, - "colorbar": { + "pattern": { "bgcolor": { - "description": "Sets the color of padded area.", - "dflt": "rgba(0,0,0,0)", - "editType": "colorbars", + "arrayOk": true, + "description": "When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is *overlay*. Otherwise, defaults to a transparent background.", + "editType": "style", "valType": "color" }, - "bordercolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "colorbars", + "description": "Sets the pattern within the marker.", + "editType": "style", + "fgcolor": { + "arrayOk": true, + "description": "When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is *replace*. Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.", + "editType": "style", "valType": "color" }, - "borderwidth": { - "description": "Sets the width (in px) or the border enclosing this color bar.", - "dflt": 0, - "editType": "colorbars", + "fgopacity": { + "description": "Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.", + "editType": "style", + "max": 1, "min": 0, "valType": "number" }, - "dtick": { - "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "valType": "any" - }, - "editType": "colorbars", - "exponentformat": { - "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B. *SI* uses prefixes from \"femto\" f (10^-15) to \"tera\" T (10^12). *SI extended* covers instead the full SI range from \"quecto\" q (10^-30) to \"quetta\" Q (10^30). If *SI* or *SI extended* is used and the exponent is beyond the above ranges, the formatting rule will automatically be switched to the power notation.", - "dflt": "B", - "editType": "colorbars", + "fillmode": { + "description": "Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.", + "dflt": "replace", + "editType": "style", "valType": "enumerated", "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" + "replace", + "overlay" ] }, - "labelalias": { - "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", - "dflt": false, - "editType": "colorbars", - "valType": "any" - }, - "len": { - "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" + "path": { + "arrayOk": true, + "description": "Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.", + "editType": "style", + "valType": "string" }, - "lenmode": { - "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", - "dflt": "fraction", - "editType": "colorbars", + "role": "object", + "shape": { + "arrayOk": true, + "description": "Sets the shape of the pattern fill. By default, no pattern is used for filling the area.", + "dflt": "", + "editType": "style", "valType": "enumerated", "values": [ - "fraction", - "pixels" + "", + "/", + "\\", + "x", + "-", + "|", + "+", + "." ] }, - "minexponent": { - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", - "dflt": 3, - "editType": "colorbars", + "size": { + "arrayOk": true, + "description": "Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.", + "dflt": 8, + "editType": "style", "min": 0, "valType": "number" }, - "nticks": { - "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", - "dflt": 0, - "editType": "colorbars", + "solidity": { + "arrayOk": true, + "description": "Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.", + "dflt": 0.3, + "editType": "style", + "max": 1, "min": 0, - "valType": "integer" - }, - "orientation": { - "description": "Sets the orientation of the colorbar.", - "dflt": "v", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "h", - "v" - ] - }, - "outlinecolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "colorbars", + "valType": "number" + } + }, + "role": "object" + }, + "meta": { + "arrayOk": true, + "description": "Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.", + "editType": "plot", + "valType": "any" + }, + "name": { + "description": "Sets the trace name. The trace name appears as the legend item and on hover.", + "editType": "style", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the trace.", + "dflt": 1, + "editType": "style", + "max": 1, + "min": 0, + "valType": "number" + }, + "scalegroup": { + "description": "If there are multiple funnelareas that should be sized according to their totals, link them by providing a non-empty group id here shared by every trace in the same group.", + "dflt": "", + "editType": "calc", + "valType": "string" + }, + "showlegend": { + "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", + "dflt": true, + "editType": "style", + "valType": "boolean" + }, + "text": { + "description": "Sets text elements associated with each sector. If trace `textinfo` contains a *text* flag, these elements will be seen on the chart. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", + "editType": "plot", + "valType": "data_array" + }, + "textfont": { + "color": { + "arrayOk": true, + "editType": "plot", + "valType": "color" + }, + "description": "Sets the font used for `textinfo`.", + "editType": "plot", + "family": { + "arrayOk": true, + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "plot", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "size": { + "arrayOk": true, + "editType": "plot", + "min": 1, + "valType": "number" + }, + "style": { + "arrayOk": true, + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "arrayOk": true, + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "arrayOk": true, + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "textinfo": { + "description": "Determines what trace information appears on the graph. Flags are rendered in a fixed order; use `texttemplate` if you need explicit control over the rendered string, including the order of fields and surrounding text.", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "label", + "text", + "value", + "percent" + ], + "valType": "flaglist" + }, + "textposition": { + "arrayOk": true, + "description": "Specifies the location of the `textinfo`.", + "dflt": "inside", + "editType": "plot", + "valType": "enumerated", + "values": [ + "inside", + "none" + ] + }, + "texttemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `label`, `color`, `value`, `text` and `percent`.", + "dflt": "", + "editType": "plot", + "valType": "string" + }, + "texttemplatefallback": { + "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", + "dflt": "-", + "editType": "plot", + "valType": "any" + }, + "title": { + "editType": "plot", + "font": { + "color": { + "arrayOk": true, + "editType": "plot", "valType": "color" }, - "outlinewidth": { - "description": "Sets the width (in px) of the axis line.", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" + "description": "Sets the font used for `title`.", + "editType": "plot", + "family": { + "arrayOk": true, + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "plot", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" }, "role": "object", - "separatethousands": { - "description": "If \"true\", even 4-digit integers are separated", - "dflt": false, - "editType": "colorbars", - "valType": "boolean" + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" }, - "showexponent": { - "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", - "dflt": "all", - "editType": "colorbars", + "size": { + "arrayOk": true, + "editType": "plot", + "min": 1, + "valType": "number" + }, + "style": { + "arrayOk": true, + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "plot", "valType": "enumerated", "values": [ - "all", - "first", - "last", - "none" + "normal", + "italic" ] }, - "showticklabels": { - "description": "Determines whether or not the tick labels are drawn.", - "dflt": true, - "editType": "colorbars", - "valType": "boolean" - }, - "showtickprefix": { - "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", - "dflt": "all", - "editType": "colorbars", + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", "valType": "enumerated", "values": [ - "all", - "first", - "last", - "none" - ] - }, - "showticksuffix": { - "description": "Same as `showtickprefix` but for tick suffixes.", - "dflt": "all", - "editType": "colorbars", + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "arrayOk": true, + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "plot", "valType": "enumerated", "values": [ - "all", - "first", - "last", - "none" + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] }, - "thickness": { - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "dflt": 30, + "weight": { + "arrayOk": true, + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "position": { + "description": "Specifies the location of the `title`.", + "dflt": "top center", + "editType": "plot", + "valType": "enumerated", + "values": [ + "top left", + "top center", + "top right" + ] + }, + "role": "object", + "text": { + "description": "Sets the title of the chart. If it is empty, no title is displayed.", + "dflt": "", + "editType": "plot", + "valType": "string" + } + }, + "type": "funnelarea", + "uid": { + "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", + "editType": "plot", + "valType": "string" + }, + "uirevision": { + "description": "Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.", + "editType": "none", + "valType": "any" + }, + "values": { + "description": "Sets the values of the sectors. If omitted, we count occurrences of each label.", + "editType": "calc", + "valType": "data_array" + }, + "visible": { + "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", + "dflt": true, + "editType": "calc", + "valType": "enumerated", + "values": [ + true, + false, + "legendonly" + ] + } + }, + "categories": [ + "pie-like", + "funnelarea", + "showLegend" + ], + "layoutAttributes": { + "extendfunnelareacolors": { + "description": "If `true`, the funnelarea slice colors (whether given by `funnelareacolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.", + "dflt": true, + "editType": "calc", + "valType": "boolean" + }, + "funnelareacolorway": { + "description": "Sets the default funnelarea slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendfunnelareacolors`.", + "editType": "calc", + "valType": "colorlist" + }, + "hiddenlabels": { + "description": "hiddenlabels is the funnelarea & pie chart analog of visible:'legendonly' but it can contain many labels, and can simultaneously hide slices from several pies/funnelarea charts", + "editType": "calc", + "valType": "data_array" + } + }, + "meta": { + "description": "Visualize stages in a process using area-encoded trapezoids. This trace can be used to show data in a part-to-whole representation similar to a \"pie\" trace, wherein each item appears in a single stage. See also the \"funnel\" trace type for a different approach to visualizing funnel data." + }, + "type": "funnelarea" + }, + "heatmap": { + "animatable": false, + "attributes": { + "autocolorscale": { + "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", + "dflt": false, + "editType": "calc", + "impliedEdits": {}, + "valType": "boolean" + }, + "coloraxis": { + "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", + "dflt": null, + "editType": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", + "valType": "subplotid" + }, + "colorbar": { + "bgcolor": { + "description": "Sets the color of padded area.", + "dflt": "rgba(0,0,0,0)", + "editType": "colorbars", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "editType": "colorbars", + "valType": "color" + }, + "borderwidth": { + "description": "Sets the width (in px) or the border enclosing this color bar.", + "dflt": 0, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "dtick": { + "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", + "editType": "colorbars", + "impliedEdits": { + "tickmode": "linear" + }, + "valType": "any" + }, + "editType": "colorbars", + "exponentformat": { + "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B. *SI* uses prefixes from \"femto\" f (10^-15) to \"tera\" T (10^12). *SI extended* covers instead the full SI range from \"quecto\" q (10^-30) to \"quetta\" Q (10^30). If *SI* or *SI extended* is used and the exponent is beyond the above ranges, the formatting rule will automatically be switched to the power notation.", + "dflt": "B", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B", + "SI extended" + ] + }, + "labelalias": { + "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", + "dflt": false, + "editType": "colorbars", + "valType": "any" + }, + "len": { + "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", + "dflt": 1, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "lenmode": { + "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", + "dflt": "fraction", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "minexponent": { + "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", + "dflt": 3, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "nticks": { + "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "editType": "colorbars", + "min": 0, + "valType": "integer" + }, + "orientation": { + "description": "Sets the orientation of the colorbar.", + "dflt": "v", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "h", + "v" + ] + }, + "outlinecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "editType": "colorbars", + "valType": "color" + }, + "outlinewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "role": "object", + "separatethousands": { + "description": "If \"true\", even 4-digit integers are separated", + "dflt": false, + "editType": "colorbars", + "valType": "boolean" + }, + "showexponent": { + "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", + "dflt": "all", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "editType": "colorbars", + "valType": "boolean" + }, + "showtickprefix": { + "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", + "dflt": "all", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "thickness": { + "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", + "dflt": 30, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "thicknessmode": { + "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", + "dflt": "pixels", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "colorbars", + "impliedEdits": { + "tickmode": "linear" + }, + "valType": "any" + }, + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "editType": "colorbars", + "valType": "angle" + }, + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "editType": "colorbars", + "valType": "color" + }, + "tickfont": { + "color": { "editType": "colorbars", - "min": 0, - "valType": "number" + "valType": "color" }, - "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "dflt": "pixels", + "description": "Sets the color bar's tick label font", + "editType": "colorbars", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", "editType": "colorbars", - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ] + "noBlank": true, + "strict": true, + "valType": "string" }, - "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "valType": "any" + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" }, - "tickangle": { - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", - "dflt": "auto", + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", "editType": "colorbars", - "valType": "angle" + "valType": "string" }, - "tickcolor": { - "description": "Sets the tick color.", - "dflt": "#444", + "size": { "editType": "colorbars", - "valType": "color" + "min": 1, + "valType": "number" }, - "tickfont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Sets the color bar's tick label font", + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] }, - "tickformat": { - "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", - "dflt": "", + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", "editType": "colorbars", - "valType": "string" + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, - "tickformatstops": { - "items": { - "tickformatstop": { - "dtickrange": { - "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", - "editType": "colorbars", - "items": [ - { - "editType": "colorbars", - "valType": "any" - }, - { - "editType": "colorbars", - "valType": "any" - } - ], - "valType": "info_array" - }, - "editType": "colorbars", - "enabled": { - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", - "dflt": true, - "editType": "colorbars", - "valType": "boolean" - }, - "name": { - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", - "editType": "colorbars", - "valType": "string" - }, - "role": "object", - "templateitemname": { - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", - "editType": "colorbars", - "valType": "string" - }, - "value": { - "description": "string - dtickformat for described zoom level, the same as *tickformat*", - "dflt": "", - "editType": "colorbars", - "valType": "string" - } - } - }, - "role": "object" - }, - "ticklabeloverflow": { - "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "allow", - "hide past div", - "hide past domain" - ] - }, - "ticklabelposition": { - "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", - "dflt": "outside", + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", "editType": "colorbars", "valType": "enumerated", "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] }, - "ticklabelstep": { - "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", - "dflt": 1, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", "editType": "colorbars", + "extras": [ + "normal", + "bold" + ], + "max": 1000, "min": 1, "valType": "integer" - }, - "ticklen": { - "description": "Sets the tick length (in px).", - "dflt": 5, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "tickmode": { - "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", - "editType": "colorbars", - "impliedEdits": {}, - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ] - }, - "tickprefix": { - "description": "Sets a tick label prefix.", - "dflt": "", - "editType": "colorbars", - "valType": "string" - }, - "ticks": { - "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", - "dflt": "", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ] - }, - "ticksuffix": { - "description": "Sets a tick label suffix.", - "dflt": "", - "editType": "colorbars", - "valType": "string" - }, - "ticktext": { - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "editType": "colorbars", - "valType": "data_array" - }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, - "tickvals": { - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "editType": "colorbars", - "valType": "data_array" - }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, - "tickwidth": { - "description": "Sets the tick width (in px).", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "title": { - "editType": "colorbars", - "font": { - "color": { + } + }, + "tickformat": { + "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", + "dflt": "", + "editType": "colorbars", + "valType": "string" + }, + "tickformatstops": { + "items": { + "tickformatstop": { + "dtickrange": { + "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", "editType": "colorbars", - "valType": "color" + "items": [ + { + "editType": "colorbars", + "valType": "any" + }, + { + "editType": "colorbars", + "valType": "any" + } + ], + "valType": "info_array" }, - "description": "Sets this color bar's title font.", "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "enabled": { + "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", + "dflt": true, "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" + "valType": "boolean" }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" + "valType": "string" }, "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", "editType": "colorbars", "valType": "string" }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", + "value": { + "description": "string - dtickformat for described zoom level, the same as *tickformat*", + "dflt": "", "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" + "valType": "string" } + } + }, + "role": "object" + }, + "ticklabeloverflow": { + "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "allow", + "hide past div", + "hide past domain" + ] + }, + "ticklabelposition": { + "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", + "dflt": "outside", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom" + ] + }, + "ticklabelstep": { + "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", + "dflt": 1, + "editType": "colorbars", + "min": 1, + "valType": "integer" + }, + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "tickmode": { + "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", + "editType": "colorbars", + "impliedEdits": {}, + "valType": "enumerated", + "values": [ + "auto", + "linear", + "array" + ] + }, + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", + "editType": "colorbars", + "valType": "string" + }, + "ticks": { + "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", + "dflt": "", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "" + ] + }, + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "editType": "colorbars", + "valType": "string" + }, + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", + "editType": "colorbars", + "valType": "data_array" + }, + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "editType": "colorbars", + "valType": "data_array" + }, + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "title": { + "editType": "colorbars", + "font": { + "color": { + "editType": "colorbars", + "valType": "color" + }, + "description": "Sets this color bar's title font.", + "editType": "colorbars", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "colorbars", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" }, "role": "object", - "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, + "size": { + "editType": "colorbars", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", "editType": "colorbars", "valType": "enumerated", "values": [ - "right", - "top", - "bottom" + "normal", + "italic" ] }, - "text": { - "description": "Sets the title of the color bar.", + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", "editType": "colorbars", - "valType": "string" + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "colorbars", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, - "x": { - "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", - "editType": "colorbars", - "valType": "number" - }, - "xanchor": { - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ] - }, - "xpad": { - "description": "Sets the amount of padding (in px) along the x direction.", - "dflt": 10, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "xref": { - "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", - "dflt": "paper", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "container", - "paper" - ] - }, - "y": { - "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", - "editType": "colorbars", - "valType": "number" - }, - "yanchor": { - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", + "role": "object", + "side": { + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ + "right", "top", - "middle", "bottom" ] }, - "ypad": { - "description": "Sets the amount of padding (in px) along the y direction.", - "dflt": 10, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "yref": { - "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", - "dflt": "paper", + "text": { + "description": "Sets the title of the color bar.", "editType": "colorbars", - "valType": "enumerated", - "values": [ - "container", - "paper" - ] + "valType": "string" } }, - "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "autocolorscale": false - }, - "valType": "colorscale" + "x": { + "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", + "editType": "colorbars", + "valType": "number" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" + "xanchor": { + "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] }, - "editType": "calc", - "line": { - "autocolorscale": { - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" + "xpad": { + "description": "Sets the amount of padding (in px) along the x direction.", + "dflt": 10, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "xref": { + "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", + "dflt": "paper", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "container", + "paper" + ] + }, + "y": { + "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", + "editType": "colorbars", + "valType": "number" + }, + "yanchor": { + "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "ypad": { + "description": "Sets the amount of padding (in px) along the y direction.", + "dflt": 10, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "yref": { + "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", + "dflt": "paper", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "container", + "paper" + ] + } + }, + "colorscale": { + "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "dflt": null, + "editType": "calc", + "impliedEdits": { + "autocolorscale": false + }, + "valType": "colorscale" + }, + "connectgaps": { + "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in. It is defaulted to true if `z` is a one dimensional array and `zsmooth` is not false; otherwise it is defaulted to false.", + "editType": "calc", + "valType": "boolean" + }, + "customdata": { + "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", + "editType": "calc", + "valType": "data_array" + }, + "dx": { + "description": "Sets the x coordinate step. See `x0` for more info.", + "dflt": 1, + "editType": "calc", + "impliedEdits": { + "xtype": "scaled" + }, + "valType": "number" + }, + "dy": { + "description": "Sets the y coordinate step. See `y0` for more info.", + "dflt": 1, + "editType": "calc", + "impliedEdits": { + "ytype": "scaled" + }, + "valType": "number" + }, + "hoverinfo": { + "arrayOk": true, + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "dflt": "all", + "editType": "none", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ], + "valType": "flaglist" + }, + "hoverlabel": { + "align": { + "arrayOk": true, + "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", + "dflt": "auto", + "editType": "none", + "valType": "enumerated", + "values": [ + "left", + "right", + "auto" + ] + }, + "bgcolor": { + "arrayOk": true, + "description": "Sets the background color of the hover labels for this trace", + "editType": "none", + "valType": "color" + }, + "bordercolor": { + "arrayOk": true, + "description": "Sets the border color of the hover labels for this trace.", + "editType": "none", + "valType": "color" + }, + "editType": "none", + "font": { + "color": { + "arrayOk": true, + "editType": "none", + "valType": "color" }, - "cauto": { - "description": "Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" + "description": "Sets the font used in hover labels.", + "editType": "none", + "family": { + "arrayOk": true, + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "none", + "noBlank": true, + "strict": true, + "valType": "string" }, - "cmax": { - "description": "Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "valType": "number" + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" }, - "cmid": { - "description": "Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "valType": "number" + "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" }, - "cmin": { - "description": "Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, + "size": { + "arrayOk": true, + "editType": "none", + "min": 1, "valType": "number" }, - "color": { + "style": { "arrayOk": true, - "description": "Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.", - "editType": "style", - "valType": "color" + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] }, - "coloraxis": { - "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", - "dflt": null, - "editType": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "valType": "subplotid" + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, - "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "autocolorscale": false - }, - "valType": "colorscale" + "variant": { + "arrayOk": true, + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", + "weight": { + "arrayOk": true, + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", "editType": "none", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "namelength": { + "arrayOk": true, + "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", + "dflt": 15, + "editType": "none", + "min": -1, + "valType": "integer" + }, + "role": "object", + "showarrow": { + "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", + "dflt": true, + "editType": "none", + "valType": "boolean" + } + }, + "hoverongaps": { + "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data have hover labels associated with them.", + "dflt": true, + "editType": "none", + "valType": "boolean" + }, + "hovertemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", + "dflt": "", + "editType": "none", + "valType": "string" + }, + "hovertemplatefallback": { + "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", + "dflt": "-", + "editType": "none", + "valType": "any" + }, + "hovertext": { + "description": "Same as `text`.", + "editType": "calc", + "valType": "data_array" + }, + "ids": { + "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", + "editType": "calc", + "valType": "data_array" + }, + "legend": { + "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", + "dflt": "legend", + "editType": "style", + "valType": "subplotid" + }, + "legendgroup": { + "description": "Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.", + "dflt": "", + "editType": "style", + "valType": "string" + }, + "legendgrouptitle": { + "editType": "style", + "font": { + "color": { + "editType": "style", + "valType": "color" + }, + "description": "Sets this legend group's title font.", + "editType": "style", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "style", + "noBlank": true, + "strict": true, "valType": "string" }, - "editType": "calc", - "reversescale": { - "description": "Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.", - "dflt": false, - "editType": "plot", - "valType": "boolean" + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" }, "role": "object", - "width": { - "arrayOk": true, - "description": "Sets the width (in px) of the lines bounding the marker points.", - "dflt": 0, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", "editType": "style", - "min": 0, + "valType": "string" + }, + "size": { + "editType": "style", + "min": 1, "valType": "number" }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "style", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, - "opacity": { - "arrayOk": true, - "description": "Sets the opacity of the bars.", - "dflt": 1, + "role": "object", + "text": { + "description": "Sets the title of the legend group.", + "dflt": "", "editType": "style", - "max": 1, - "min": 0, - "valType": "number" - }, - "opacitysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `opacity`.", - "editType": "none", "valType": "string" - }, - "reversescale": { - "description": "Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.", - "dflt": false, - "editType": "plot", - "valType": "boolean" - }, - "role": "object", - "showscale": { - "description": "Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.", - "dflt": false, - "editType": "calc", - "valType": "boolean" } }, + "legendrank": { + "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", + "dflt": 1000, + "editType": "style", + "valType": "number" + }, + "legendwidth": { + "description": "Sets the width (in px or fraction) of the legend for this trace.", + "editType": "style", + "min": 0, + "valType": "number" + }, "meta": { "arrayOk": true, "description": "Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.", "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", "valType": "string" }, - "offset": { - "arrayOk": false, - "description": "Shifts the position where the bar is drawn (in position axis units). In *group* barmode, traces that set *offset* will be excluded and drawn in *overlay* mode instead.", - "dflt": null, - "editType": "calc", - "valType": "number" - }, - "offsetgroup": { - "description": "Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, "opacity": { "description": "Sets the opacity of the trace.", "dflt": 1, @@ -36686,232 +33924,48 @@ "min": 0, "valType": "number" }, - "orientation": { - "description": "Sets the orientation of the funnels. With *v* (*h*), the value of the each bar spans along the vertical (horizontal). By default funnels are tend to be oriented horizontally; unless only *y* array is presented or orientation is set to *v*. Also regarding graphs including only 'horizontal' funnels, *autorange* on the *y-axis* are set to *reversed*.", - "editType": "calc+clearAxisTypes", - "valType": "enumerated", - "values": [ - "v", - "h" - ] + "reversescale": { + "description": "Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.", + "dflt": false, + "editType": "plot", + "valType": "boolean" }, - "outsidetextfont": { + "showlegend": { + "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", + "dflt": false, + "editType": "style", + "valType": "boolean" + }, + "showscale": { + "description": "Determines whether or not a colorbar is displayed for this trace.", + "dflt": true, + "editType": "calc", + "valType": "boolean" + }, + "text": { + "description": "Sets the text elements associated with each z value.", + "editType": "calc", + "valType": "data_array" + }, + "textfont": { "color": { - "arrayOk": true, + "dflt": "auto", "editType": "style", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used for `text` lying outside the bar.", - "editType": "calc", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "calc", - "valType": "string" - }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, - "size": { - "arrayOk": true, - "editType": "calc", - "min": 1, - "valType": "number" - }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } - }, - "selectedpoints": { - "description": "Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.", - "editType": "calc", - "valType": "any" - }, - "showlegend": { - "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", - "dflt": true, - "editType": "style", - "valType": "boolean" - }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, - "text": { - "arrayOk": true, - "description": "Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "textangle": { - "description": "Sets the angle of the tick labels with respect to the bar. For example, a `tickangle` of -90 draws the tick labels vertically. With *auto* the texts may automatically be rotated to fit with the maximum size in bars.", - "dflt": 0, + "description": "Sets the text font.", "editType": "plot", - "valType": "angle" - }, - "textfont": { - "color": { - "arrayOk": true, - "editType": "style", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used for `text`.", - "editType": "calc", "family": { - "arrayOk": true, "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "calc", + "editType": "plot", "noBlank": true, "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { - "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", - "editType": "calc", + "editType": "plot", "extras": [ "none" ], @@ -36922,56 +33976,33 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { - "arrayOk": true, "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", - "editType": "calc", - "valType": "string" - }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", + "editType": "plot", "valType": "string" }, "size": { - "arrayOk": true, - "editType": "calc", + "dflt": "auto", + "editType": "plot", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { - "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", - "editType": "calc", + "editType": "plot", "valType": "enumerated", "values": [ "normal", "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { - "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", - "editType": "calc", + "editType": "plot", "valType": "enumerated", "values": [ "normal", @@ -36980,16 +34011,10 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { - "arrayOk": true, "description": "Sets the variant of the font.", "dflt": "normal", - "editType": "calc", + "editType": "plot", "valType": "enumerated", "values": [ "normal", @@ -37000,16 +34025,10 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { - "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", - "editType": "calc", + "editType": "plot", "extras": [ "normal", "bold" @@ -37017,56 +34036,10 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, - "textinfo": { - "arrayOk": false, - "description": "Determines which trace information appear on the graph. In the case of having multiple funnels, percentages & totals are computed separately (per trace).", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "label", - "text", - "percent initial", - "percent previous", - "percent total", - "value" - ], - "valType": "flaglist" - }, - "textposition": { - "arrayOk": true, - "description": "Specifies the location of the `text`. *inside* positions `text` inside, next to the bar end (rotated and scaled if needed). *outside* positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. *auto* tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If *none*, no text appears.", - "dflt": "auto", - "editType": "calc", - "valType": "enumerated", - "values": [ - "inside", - "outside", - "auto", - "none" - ] - }, - "textpositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textposition`.", - "editType": "none", - "valType": "string" - }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, "texttemplate": { - "arrayOk": true, - "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `percentInitial`, `percentPrevious`, `percentTotal`, `label` and `value`.", + "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `x`, `y`, `z` and `text`.", "dflt": "", "editType": "plot", "valType": "string" @@ -37077,12 +34050,13 @@ "editType": "plot", "valType": "any" }, - "texttemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `texttemplate`.", - "editType": "none", - "valType": "string" + "transpose": { + "description": "Transposes the z data.", + "dflt": false, + "editType": "calc", + "valType": "boolean" }, - "type": "funnel", + "type": "heatmap", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", "editType": "plot", @@ -37104,23 +34078,21 @@ "legendonly" ] }, - "width": { - "arrayOk": false, - "description": "Sets the bar width (in position axis units).", - "dflt": null, - "editType": "calc", - "min": 0, - "valType": "number" - }, "x": { "description": "Sets the x coordinates.", "editType": "calc+clearAxisTypes", + "impliedEdits": { + "xtype": "array" + }, "valType": "data_array" }, "x0": { "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.", "dflt": 0, "editType": "calc+clearAxisTypes", + "impliedEdits": { + "xtype": "scaled" + }, "valType": "any" }, "xaxis": { @@ -37129,8 +34101,39 @@ "editType": "calc+clearAxisTypes", "valType": "subplotid" }, + "xcalendar": { + "description": "Sets the calendar system to use with `x` date data.", + "dflt": "gregorian", + "editType": "calc", + "valType": "enumerated", + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" + ] + }, + "xgap": { + "description": "Sets the horizontal gap (in pixels) between bricks.", + "dflt": 0, + "editType": "plot", + "min": 0, + "valType": "number" + }, "xhoverformat": { - "description": "Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", "dflt": "", "editType": "none", "valType": "string" @@ -37139,17 +34142,26 @@ "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer.", "dflt": 0, "editType": "calc", + "impliedEdits": { + "xtype": "scaled" + }, "valType": "any" }, "xperiod0": { "description": "Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.", "editType": "calc", + "impliedEdits": { + "xtype": "scaled" + }, "valType": "any" }, "xperiodalignment": { "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.", "dflt": "middle", "editType": "calc", + "impliedEdits": { + "xtype": "scaled" + }, "valType": "enumerated", "values": [ "start", @@ -37157,20 +34169,30 @@ "end" ] }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", - "editType": "none", - "valType": "string" + "xtype": { + "description": "If *array*, the heatmap's x coordinates are given by *x* (the default behavior when `x` is provided). If *scaled*, the heatmap's x coordinates are given by *x0* and *dx* (the default behavior when `x` is not provided).", + "editType": "calc+clearAxisTypes", + "valType": "enumerated", + "values": [ + "array", + "scaled" + ] }, "y": { "description": "Sets the y coordinates.", "editType": "calc+clearAxisTypes", + "impliedEdits": { + "ytype": "array" + }, "valType": "data_array" }, "y0": { "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.", "dflt": 0, "editType": "calc+clearAxisTypes", + "impliedEdits": { + "ytype": "scaled" + }, "valType": "any" }, "yaxis": { @@ -37179,8 +34201,39 @@ "editType": "calc+clearAxisTypes", "valType": "subplotid" }, + "ycalendar": { + "description": "Sets the calendar system to use with `y` date data.", + "dflt": "gregorian", + "editType": "calc", + "valType": "enumerated", + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" + ] + }, + "ygap": { + "description": "Sets the vertical gap (in pixels) between bricks.", + "dflt": 0, + "editType": "plot", + "min": 0, + "valType": "number" + }, "yhoverformat": { - "description": "Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", "dflt": "", "editType": "none", "valType": "string" @@ -37189,17 +34242,26 @@ "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer.", "dflt": 0, "editType": "calc", + "impliedEdits": { + "ytype": "scaled" + }, "valType": "any" }, "yperiod0": { "description": "Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.", "editType": "calc", + "impliedEdits": { + "ytype": "scaled" + }, "valType": "any" }, "yperiodalignment": { "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.", "dflt": "middle", "editType": "calc", + "impliedEdits": { + "ytype": "scaled" + }, "valType": "enumerated", "values": [ "start", @@ -37207,160 +34269,359 @@ "end" ] }, - "ysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `y`.", + "ytype": { + "description": "If *array*, the heatmap's y coordinates are given by *y* (the default behavior when `y` is provided) If *scaled*, the heatmap's y coordinates are given by *y0* and *dy* (the default behavior when `y` is not provided)", + "editType": "calc+clearAxisTypes", + "valType": "enumerated", + "values": [ + "array", + "scaled" + ] + }, + "z": { + "description": "Sets the z data.", + "editType": "calc", + "valType": "data_array" + }, + "zauto": { + "description": "Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.", + "dflt": true, + "editType": "calc", + "impliedEdits": {}, + "valType": "boolean" + }, + "zhoverformat": { + "description": "Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.", + "dflt": "", "editType": "none", "valType": "string" }, - "zorder": { - "description": "Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.", - "dflt": 0, + "zmax": { + "description": "Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.", + "dflt": null, "editType": "plot", - "valType": "integer" - } - }, - "categories": [ - "bar-like", - "cartesian", - "svg", - "oriented", - "showLegend", - "zoomScale" - ], - "layoutAttributes": { - "funnelgap": { - "description": "Sets the gap (in plot fraction) between bars of adjacent location coordinates.", - "editType": "calc", - "max": 1, - "min": 0, + "impliedEdits": { + "zauto": false + }, "valType": "number" }, - "funnelgroupgap": { - "description": "Sets the gap (in plot fraction) between bars of the same location coordinate.", - "dflt": 0, + "zmid": { + "description": "Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.", + "dflt": null, "editType": "calc", - "max": 1, - "min": 0, + "impliedEdits": {}, "valType": "number" }, - "funnelmode": { - "description": "Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars.", - "dflt": "stack", + "zmin": { + "description": "Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.", + "dflt": null, + "editType": "plot", + "impliedEdits": { + "zauto": false + }, + "valType": "number" + }, + "zorder": { + "description": "Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.", + "dflt": 0, + "editType": "plot", + "valType": "integer" + }, + "zsmooth": { + "description": "Picks a smoothing algorithm use to smooth `z` data.", + "dflt": false, "editType": "calc", "valType": "enumerated", "values": [ - "stack", - "group", - "overlay" + "fast", + "best", + false ] } }, + "categories": [ + "cartesian", + "svg", + "2dMap", + "showLegend" + ], "meta": { - "description": "Visualize stages in a process using length-encoded bars. This trace can be used to show data in either a part-to-whole representation wherein each item appears in a single stage, or in a \"drop-off\" representation wherein each item appears in each stage it traversed. See also the \"funnelarea\" trace type for a different approach to visualizing funnel data." + "description": "The data that describes the heatmap value-to-color mapping is set in `z`. Data in `z` can either be a {2D array} of values (ragged or not) or a 1D array of values. In the case where `z` is a {2D array}, say that `z` has N rows and M columns. Then, by default, the resulting heatmap will have N partitions along the y axis and M partitions along the x axis. In other words, the i-th row/ j-th column cell in `z` is mapped to the i-th partition of the y axis (starting from the bottom of the plot) and the j-th partition of the x-axis (starting from the left of the plot). This behavior can be flipped by using `transpose`. Moreover, `x` (`y`) can be provided with M or M+1 (N or N+1) elements. If M (N), then the coordinates correspond to the center of the heatmap cells and the cells have equal width. If M+1 (N+1), then the coordinates correspond to the edges of the heatmap cells. In the case where `z` is a 1D {array}, the x and y coordinates must be provided in `x` and `y` respectively to form data triplets." }, - "type": "funnel" + "type": "heatmap" }, - "funnelarea": { + "histogram": { "animatable": false, "attributes": { - "aspectratio": { - "description": "Sets the ratio between height and width", - "dflt": 1, - "editType": "plot", - "min": 0, - "valType": "number" + "alignmentgroup": { + "description": "Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.", + "dflt": "", + "editType": "calc", + "valType": "string" }, - "baseratio": { - "description": "Sets the ratio between bottom length and maximum top length.", - "dflt": 0.333, - "editType": "plot", - "max": 1, - "min": 0, - "valType": "number" + "autobinx": { + "description": "Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobinx` is not needed. However, we accept `autobinx: true` or `false` and will update `xbins` accordingly before deleting `autobinx` from the trace.", + "dflt": null, + "editType": "calc", + "valType": "boolean" }, - "customdata": { - "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", + "autobiny": { + "description": "Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobiny` is not needed. However, we accept `autobiny: true` or `false` and will update `ybins` accordingly before deleting `autobiny` from the trace.", + "dflt": null, "editType": "calc", - "valType": "data_array" + "valType": "boolean" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", + "bingroup": { + "description": "Set a group of histogram traces which will have compatible bin settings. Note that traces on the same subplot and with the same *orientation* under `barmode` *stack*, *relative* and *group* are forced into the same bingroup, Using `bingroup`, traces under `barmode` *overlay* and on different axes (of the same axis type) can have compatible bin settings. Note that histogram and histogram2d* trace can share the same `bingroup`", + "dflt": "", + "editType": "calc", "valType": "string" }, - "dlabel": { - "description": "Sets the label step. See `label0` for more info.", - "dflt": 1, - "editType": "calc", - "valType": "number" + "cliponaxis": { + "description": "Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to *below traces*.", + "dflt": true, + "editType": "plot", + "valType": "boolean" }, - "domain": { - "column": { - "description": "If there is a layout grid, use the domain for this column in the grid for this funnelarea trace .", - "dflt": 0, + "constraintext": { + "description": "Constrain the size of text inside or outside a bar to be no larger than the bar itself.", + "dflt": "both", + "editType": "calc", + "valType": "enumerated", + "values": [ + "inside", + "outside", + "both", + "none" + ] + }, + "cumulative": { + "currentbin": { + "description": "Only applies if cumulative is enabled. Sets whether the current bin is included, excluded, or has half of its value included in the current cumulative value. *include* is the default for compatibility with various other tools, however it introduces a half-bin bias to the results. *exclude* makes the opposite half-bin bias, and *half* removes it.", + "dflt": "include", + "editType": "calc", + "valType": "enumerated", + "values": [ + "include", + "exclude", + "half" + ] + }, + "direction": { + "description": "Only applies if cumulative is enabled. If *increasing* (default) we sum all prior bins, so the result increases from left to right. If *decreasing* we sum later bins so the result decreases from left to right.", + "dflt": "increasing", + "editType": "calc", + "valType": "enumerated", + "values": [ + "increasing", + "decreasing" + ] + }, + "editType": "calc", + "enabled": { + "description": "If true, display the cumulative distribution by summing the binned values. Use the `direction` and `centralbin` attributes to tune the accumulation method. Note: in this mode, the *density* `histnorm` settings behave the same as their equivalents without *density*: ** and *density* both rise to the number of data points, and *probability* and *probability density* both rise to the number of sample points.", + "dflt": false, + "editType": "calc", + "valType": "boolean" + }, + "role": "object" + }, + "customdata": { + "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", + "editType": "calc", + "valType": "data_array" + }, + "error_x": { + "array": { + "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", + "editType": "calc", + "valType": "data_array" + }, + "arrayminus": { + "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", + "editType": "calc", + "valType": "data_array" + }, + "color": { + "description": "Sets the stroke color of the error bars.", + "editType": "style", + "valType": "color" + }, + "copy_ystyle": { + "editType": "plot", + "valType": "boolean" + }, + "editType": "calc", + "role": "object", + "symmetric": { + "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", "editType": "calc", + "valType": "boolean" + }, + "thickness": { + "description": "Sets the thickness (in px) of the error bars.", + "dflt": 2, + "editType": "style", + "min": 0, + "valType": "number" + }, + "traceref": { + "dflt": 0, + "editType": "style", + "min": 0, + "valType": "integer" + }, + "tracerefminus": { + "dflt": 0, + "editType": "style", "min": 0, "valType": "integer" }, + "type": { + "description": "Determines the rule used to generate the error bars. If *constant*, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "percent", + "constant", + "sqrt", + "data" + ] + }, + "value": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", + "dflt": 10, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "valueminus": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", + "dflt": 10, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "visible": { + "description": "Determines whether or not this set of error bars is visible.", + "editType": "calc", + "valType": "boolean" + }, + "width": { + "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", + "editType": "plot", + "min": 0, + "valType": "number" + } + }, + "error_y": { + "array": { + "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", + "editType": "calc", + "valType": "data_array" + }, + "arrayminus": { + "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", + "editType": "calc", + "valType": "data_array" + }, + "color": { + "description": "Sets the stroke color of the error bars.", + "editType": "style", + "valType": "color" + }, "editType": "calc", "role": "object", - "row": { - "description": "If there is a layout grid, use the domain for this row in the grid for this funnelarea trace .", - "dflt": 0, + "symmetric": { + "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", "editType": "calc", + "valType": "boolean" + }, + "thickness": { + "description": "Sets the thickness (in px) of the error bars.", + "dflt": 2, + "editType": "style", + "min": 0, + "valType": "number" + }, + "traceref": { + "dflt": 0, + "editType": "style", "min": 0, "valType": "integer" }, - "x": { - "description": "Sets the horizontal domain of this funnelarea trace (in plot fraction).", - "dflt": [ - 0, - 1 - ], + "tracerefminus": { + "dflt": 0, + "editType": "style", + "min": 0, + "valType": "integer" + }, + "type": { + "description": "Determines the rule used to generate the error bars. If *constant*, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.", "editType": "calc", - "items": [ - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - } - ], - "valType": "info_array" + "valType": "enumerated", + "values": [ + "percent", + "constant", + "sqrt", + "data" + ] }, - "y": { - "description": "Sets the vertical domain of this funnelarea trace (in plot fraction).", - "dflt": [ - 0, - 1 - ], + "value": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", + "dflt": 10, "editType": "calc", - "items": [ - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - } - ], - "valType": "info_array" + "min": 0, + "valType": "number" + }, + "valueminus": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", + "dflt": 10, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "visible": { + "description": "Determines whether or not this set of error bars is visible.", + "editType": "calc", + "valType": "boolean" + }, + "width": { + "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", + "editType": "plot", + "min": 0, + "valType": "number" } }, + "histfunc": { + "description": "Specifies the binning function used for this histogram trace. If *count*, the histogram values are computed by counting the number of values lying inside each bin. If *sum*, *avg*, *min*, *max*, the histogram values are computed using the sum, the average, the minimum or the maximum of the values lying inside each bin respectively.", + "dflt": "count", + "editType": "calc", + "valType": "enumerated", + "values": [ + "count", + "sum", + "avg", + "min", + "max" + ] + }, + "histnorm": { + "description": "Specifies the type of normalization used for this histogram trace. If **, the span of each bar corresponds to the number of occurrences (i.e. the number of data points lying inside the bins). If *percent* / *probability*, the span of each bar corresponds to the percentage / fraction of occurrences with respect to the total number of sample points (here, the sum of all bin HEIGHTS equals 100% / 1). If *density*, the span of each bar corresponds to the number of occurrences in a bin divided by the size of the bin interval (here, the sum of all bin AREAS equals the total number of sample points). If *probability density*, the area of each bar corresponds to the probability that an event will fall into the corresponding bin (here, the sum of all bin AREAS equals 1).", + "dflt": "", + "editType": "calc", + "valType": "enumerated", + "values": [ + "", + "percent", + "probability", + "density", + "probability density" + ] + }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", "dflt": "all", "editType": "none", "extras": [ @@ -37369,19 +34630,14 @@ "skip" ], "flags": [ - "label", + "x", + "y", + "z", "text", - "value", - "percent", "name" ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -37395,33 +34651,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -37429,11 +34670,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -37444,11 +34680,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -37464,11 +34695,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -37477,22 +34703,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -37504,11 +34720,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -37522,11 +34733,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -37542,11 +34748,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -37559,11 +34760,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -37574,11 +34770,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -37589,7 +34780,7 @@ }, "hovertemplate": { "arrayOk": true, - "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `label`, `color`, `value`, `text` and `percent`. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", + "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `binNumber` Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", "dflt": "", "editType": "none", "valType": "string" @@ -37600,61 +34791,44 @@ "editType": "none", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "hovertext": { "arrayOk": true, - "description": "Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a *text* flag.", + "description": "Same as `text`.", "dflt": "", "editType": "style", "valType": "string" }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" + "insidetextanchor": { + "description": "Determines if texts are kept at center or start/end points in `textposition` *inside* mode.", + "dflt": "end", + "editType": "plot", + "valType": "enumerated", + "values": [ + "end", + "middle", + "start" + ] }, "insidetextfont": { "color": { - "arrayOk": true, - "editType": "plot", + "editType": "style", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used for `textinfo` lying inside the sector.", + "description": "Sets the font used for `text` lying inside the bar.", "editType": "plot", "family": { - "arrayOk": true, "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", "editType": "plot", "noBlank": true, "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { - "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", "editType": "plot", @@ -37668,37 +34842,19 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { - "arrayOk": true, "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", "editType": "plot", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { - "arrayOk": true, "editType": "plot", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { - "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", "editType": "plot", @@ -37708,13 +34864,7 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { - "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", "editType": "plot", @@ -37726,13 +34876,7 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { - "arrayOk": true, "description": "Sets the variant of the font.", "dflt": "normal", "editType": "plot", @@ -37746,13 +34890,7 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { - "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", @@ -37763,29 +34901,8 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, - "label0": { - "description": "Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step.", - "dflt": 0, - "editType": "calc", - "valType": "number" - }, - "labels": { - "description": "Sets the sector labels. If `labels` entries are duplicated, we sum associated `values` or simply count occurrences if `values` is not provided. For other array attributes (including color) we use the first non-empty entry among all occurrences of the label.", - "editType": "calc", - "valType": "data_array" - }, - "labelssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `labels`.", - "editType": "none", - "valType": "string" - }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", @@ -37910,1097 +35027,254 @@ "valType": "number" }, "marker": { - "colors": { - "description": "Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors.", + "autocolorscale": { + "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", + "dflt": true, "editType": "calc", - "valType": "data_array" + "impliedEdits": {}, + "valType": "boolean" }, - "colorssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `colors`.", - "editType": "none", - "valType": "string" + "cauto": { + "description": "Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.", + "dflt": true, + "editType": "calc", + "impliedEdits": {}, + "valType": "boolean" }, - "editType": "calc", - "line": { - "color": { - "arrayOk": true, - "description": "Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.", - "dflt": null, - "editType": "style", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" + "cmax": { + "description": "Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.", + "dflt": null, + "editType": "plot", + "impliedEdits": { + "cauto": false }, + "valType": "number" + }, + "cmid": { + "description": "Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.", + "dflt": null, "editType": "calc", - "role": "object", - "width": { - "arrayOk": true, - "description": "Sets the width (in px) of the line enclosing each sector.", - "dflt": 1, - "editType": "style", - "min": 0, - "valType": "number" + "impliedEdits": {}, + "valType": "number" + }, + "cmin": { + "description": "Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.", + "dflt": null, + "editType": "plot", + "impliedEdits": { + "cauto": false }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" - } + "valType": "number" }, - "pattern": { + "color": { + "arrayOk": true, + "description": "Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.", + "editType": "style", + "valType": "color" + }, + "coloraxis": { + "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", + "dflt": null, + "editType": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", + "valType": "subplotid" + }, + "colorbar": { "bgcolor": { - "arrayOk": true, - "description": "When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is *overlay*. Otherwise, defaults to a transparent background.", - "editType": "style", + "description": "Sets the color of padded area.", + "dflt": "rgba(0,0,0,0)", + "editType": "colorbars", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the pattern within the marker.", - "editType": "style", - "fgcolor": { - "arrayOk": true, - "description": "When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is *replace*. Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.", - "editType": "style", + "bordercolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "editType": "colorbars", "valType": "color" }, - "fgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `fgcolor`.", - "editType": "none", - "valType": "string" - }, - "fgopacity": { - "description": "Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.", - "editType": "style", - "max": 1, + "borderwidth": { + "description": "Sets the width (in px) or the border enclosing this color bar.", + "dflt": 0, + "editType": "colorbars", "min": 0, "valType": "number" }, - "fillmode": { - "description": "Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.", - "dflt": "replace", - "editType": "style", + "dtick": { + "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", + "editType": "colorbars", + "impliedEdits": { + "tickmode": "linear" + }, + "valType": "any" + }, + "editType": "colorbars", + "exponentformat": { + "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B. *SI* uses prefixes from \"femto\" f (10^-15) to \"tera\" T (10^12). *SI extended* covers instead the full SI range from \"quecto\" q (10^-30) to \"quetta\" Q (10^30). If *SI* or *SI extended* is used and the exponent is beyond the above ranges, the formatting rule will automatically be switched to the power notation.", + "dflt": "B", + "editType": "colorbars", "valType": "enumerated", "values": [ - "replace", - "overlay" + "none", + "e", + "E", + "power", + "SI", + "B", + "SI extended" ] }, - "path": { - "arrayOk": true, - "description": "Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.", - "editType": "style", - "valType": "string" + "labelalias": { + "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", + "dflt": false, + "editType": "colorbars", + "valType": "any" }, - "pathsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `path`.", - "editType": "none", - "valType": "string" + "len": { + "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", + "dflt": 1, + "editType": "colorbars", + "min": 0, + "valType": "number" }, - "role": "object", - "shape": { - "arrayOk": true, - "description": "Sets the shape of the pattern fill. By default, no pattern is used for filling the area.", - "dflt": "", - "editType": "style", + "lenmode": { + "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", + "dflt": "fraction", + "editType": "colorbars", "valType": "enumerated", "values": [ - "", - "/", - "\\", - "x", - "-", - "|", - "+", - "." + "fraction", + "pixels" ] }, - "shapesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shape`.", - "editType": "none", - "valType": "string" - }, - "size": { - "arrayOk": true, - "description": "Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.", - "dflt": 8, - "editType": "style", + "minexponent": { + "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", + "dflt": 3, + "editType": "colorbars", "min": 0, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, - "solidity": { - "arrayOk": true, - "description": "Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.", - "dflt": 0.3, - "editType": "style", - "max": 1, + "nticks": { + "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "editType": "colorbars", "min": 0, - "valType": "number" - }, - "soliditysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `solidity`.", - "editType": "none", - "valType": "string" - } - }, - "role": "object" - }, - "meta": { - "arrayOk": true, - "description": "Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.", - "editType": "plot", - "valType": "any" - }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, - "name": { - "description": "Sets the trace name. The trace name appears as the legend item and on hover.", - "editType": "style", - "valType": "string" - }, - "opacity": { - "description": "Sets the opacity of the trace.", - "dflt": 1, - "editType": "style", - "max": 1, - "min": 0, - "valType": "number" - }, - "scalegroup": { - "description": "If there are multiple funnelareas that should be sized according to their totals, link them by providing a non-empty group id here shared by every trace in the same group.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "showlegend": { - "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", - "dflt": true, - "editType": "style", - "valType": "boolean" - }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, - "text": { - "description": "Sets text elements associated with each sector. If trace `textinfo` contains a *text* flag, these elements will be seen on the chart. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", - "editType": "plot", - "valType": "data_array" - }, - "textfont": { - "color": { - "arrayOk": true, - "editType": "plot", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used for `textinfo`.", - "editType": "plot", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "plot", - "valType": "string" - }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, - "size": { - "arrayOk": true, - "editType": "plot", - "min": 1, - "valType": "number" - }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } - }, - "textinfo": { - "description": "Determines which trace information appear on the graph.", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "label", - "text", - "value", - "percent" - ], - "valType": "flaglist" - }, - "textposition": { - "arrayOk": true, - "description": "Specifies the location of the `textinfo`.", - "dflt": "inside", - "editType": "plot", - "valType": "enumerated", - "values": [ - "inside", - "none" - ] - }, - "textpositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textposition`.", - "editType": "none", - "valType": "string" - }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, - "texttemplate": { - "arrayOk": true, - "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `label`, `color`, `value`, `text` and `percent`.", - "dflt": "", - "editType": "plot", - "valType": "string" - }, - "texttemplatefallback": { - "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", - "dflt": "-", - "editType": "plot", - "valType": "any" - }, - "texttemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `texttemplate`.", - "editType": "none", - "valType": "string" - }, - "title": { - "editType": "plot", - "font": { - "color": { - "arrayOk": true, - "editType": "plot", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used for `title`.", - "editType": "plot", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" + "valType": "integer" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" + "orientation": { + "description": "Sets the orientation of the colorbar.", + "dflt": "v", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "h", + "v" + ] }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" + "outlinecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "editType": "colorbars", + "valType": "color" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" + "outlinewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "editType": "colorbars", + "min": 0, + "valType": "number" }, "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "plot", - "valType": "string" - }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" + "separatethousands": { + "description": "If \"true\", even 4-digit integers are separated", + "dflt": false, + "editType": "colorbars", + "valType": "boolean" }, - "size": { - "arrayOk": true, - "editType": "plot", - "min": 1, - "valType": "number" + "showexponent": { + "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", + "dflt": "all", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "editType": "colorbars", + "valType": "boolean" }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", + "showtickprefix": { + "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", + "dflt": "all", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "italic" + "all", + "first", + "last", + "none" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "plot", + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "word caps", - "upper", - "lower" + "all", + "first", + "last", + "none" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" + "thickness": { + "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", + "dflt": 30, + "editType": "colorbars", + "min": 0, + "valType": "number" }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "plot", + "thicknessmode": { + "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", + "dflt": "pixels", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "fraction", + "pixels" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "colorbars", + "impliedEdits": { + "tickmode": "linear" + }, + "valType": "any" }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "editType": "colorbars", + "valType": "angle" }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } - }, - "position": { - "description": "Specifies the location of the `title`.", - "dflt": "top center", - "editType": "plot", - "valType": "enumerated", - "values": [ - "top left", - "top center", - "top right" - ] - }, - "role": "object", - "text": { - "description": "Sets the title of the chart. If it is empty, no title is displayed.", - "dflt": "", - "editType": "plot", - "valType": "string" - } - }, - "type": "funnelarea", - "uid": { - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", - "editType": "plot", - "valType": "string" - }, - "uirevision": { - "description": "Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.", - "editType": "none", - "valType": "any" - }, - "values": { - "description": "Sets the values of the sectors. If omitted, we count occurrences of each label.", - "editType": "calc", - "valType": "data_array" - }, - "valuessrc": { - "description": "Sets the source reference on Chart Studio Cloud for `values`.", - "editType": "none", - "valType": "string" - }, - "visible": { - "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", - "dflt": true, - "editType": "calc", - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ] - } - }, - "categories": [ - "pie-like", - "funnelarea", - "showLegend" - ], - "layoutAttributes": { - "extendfunnelareacolors": { - "description": "If `true`, the funnelarea slice colors (whether given by `funnelareacolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.", - "dflt": true, - "editType": "calc", - "valType": "boolean" - }, - "funnelareacolorway": { - "description": "Sets the default funnelarea slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendfunnelareacolors`.", - "editType": "calc", - "valType": "colorlist" - }, - "hiddenlabels": { - "description": "hiddenlabels is the funnelarea & pie chart analog of visible:'legendonly' but it can contain many labels, and can simultaneously hide slices from several pies/funnelarea charts", - "editType": "calc", - "valType": "data_array" - }, - "hiddenlabelssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hiddenlabels`.", - "editType": "none", - "valType": "string" - } - }, - "meta": { - "description": "Visualize stages in a process using area-encoded trapezoids. This trace can be used to show data in a part-to-whole representation similar to a \"pie\" trace, wherein each item appears in a single stage. See also the \"funnel\" trace type for a different approach to visualizing funnel data." - }, - "type": "funnelarea" - }, - "heatmap": { - "animatable": false, - "attributes": { - "autocolorscale": { - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", - "dflt": false, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "coloraxis": { - "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", - "dflt": null, - "editType": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "valType": "subplotid" - }, - "colorbar": { - "bgcolor": { - "description": "Sets the color of padded area.", - "dflt": "rgba(0,0,0,0)", - "editType": "colorbars", - "valType": "color" - }, - "bordercolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" - }, - "borderwidth": { - "description": "Sets the width (in px) or the border enclosing this color bar.", - "dflt": 0, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "dtick": { - "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "valType": "any" - }, - "editType": "colorbars", - "exponentformat": { - "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B. *SI* uses prefixes from \"femto\" f (10^-15) to \"tera\" T (10^12). *SI extended* covers instead the full SI range from \"quecto\" q (10^-30) to \"quetta\" Q (10^30). If *SI* or *SI extended* is used and the exponent is beyond the above ranges, the formatting rule will automatically be switched to the power notation.", - "dflt": "B", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" - ] - }, - "labelalias": { - "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", - "dflt": false, - "editType": "colorbars", - "valType": "any" - }, - "len": { - "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "lenmode": { - "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", - "dflt": "fraction", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ] - }, - "minexponent": { - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", - "dflt": 3, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "nticks": { - "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", - "dflt": 0, - "editType": "colorbars", - "min": 0, - "valType": "integer" - }, - "orientation": { - "description": "Sets the orientation of the colorbar.", - "dflt": "v", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "h", - "v" - ] - }, - "outlinecolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" - }, - "outlinewidth": { - "description": "Sets the width (in px) of the axis line.", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "role": "object", - "separatethousands": { - "description": "If \"true\", even 4-digit integers are separated", - "dflt": false, - "editType": "colorbars", - "valType": "boolean" - }, - "showexponent": { - "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "showticklabels": { - "description": "Determines whether or not the tick labels are drawn.", - "dflt": true, - "editType": "colorbars", - "valType": "boolean" - }, - "showtickprefix": { - "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "showticksuffix": { - "description": "Same as `showtickprefix` but for tick suffixes.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "thickness": { - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "dflt": 30, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "dflt": "pixels", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ] - }, - "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "valType": "any" - }, - "tickangle": { - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", - "dflt": "auto", - "editType": "colorbars", - "valType": "angle" - }, - "tickcolor": { - "description": "Sets the tick color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" - }, - "tickfont": { - "color": { + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", "editType": "colorbars", "valType": "color" }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "tickformat": { - "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", - "dflt": "", - "editType": "colorbars", - "valType": "string" - }, - "tickformatstops": { - "items": { - "tickformatstop": { - "dtickrange": { - "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", - "editType": "colorbars", - "items": [ - { - "editType": "colorbars", - "valType": "any" - }, - { - "editType": "colorbars", - "valType": "any" - } - ], - "valType": "info_array" - }, - "editType": "colorbars", - "enabled": { - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", - "dflt": true, - "editType": "colorbars", - "valType": "boolean" - }, - "name": { - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", - "editType": "colorbars", - "valType": "string" - }, - "role": "object", - "templateitemname": { - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", - "editType": "colorbars", - "valType": "string" - }, - "value": { - "description": "string - dtickformat for described zoom level, the same as *tickformat*", - "dflt": "", - "editType": "colorbars", - "valType": "string" - } - } - }, - "role": "object" - }, - "ticklabeloverflow": { - "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "allow", - "hide past div", - "hide past domain" - ] - }, - "ticklabelposition": { - "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", - "dflt": "outside", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" - ] - }, - "ticklabelstep": { - "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", - "dflt": 1, - "editType": "colorbars", - "min": 1, - "valType": "integer" - }, - "ticklen": { - "description": "Sets the tick length (in px).", - "dflt": 5, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "tickmode": { - "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", - "editType": "colorbars", - "impliedEdits": {}, - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ] - }, - "tickprefix": { - "description": "Sets a tick label prefix.", - "dflt": "", - "editType": "colorbars", - "valType": "string" - }, - "ticks": { - "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", - "dflt": "", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ] - }, - "ticksuffix": { - "description": "Sets a tick label suffix.", - "dflt": "", - "editType": "colorbars", - "valType": "string" - }, - "ticktext": { - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "editType": "colorbars", - "valType": "data_array" - }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, - "tickvals": { - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "editType": "colorbars", - "valType": "data_array" - }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, - "tickwidth": { - "description": "Sets the tick width (in px).", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "title": { - "editType": "colorbars", - "font": { + "tickfont": { "color": { "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font.", + "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", @@ -39084,542 +35358,546 @@ "valType": "integer" } }, - "role": "object", - "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", - "editType": "colorbars", + "tickformat": { + "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", + "dflt": "", + "editType": "colorbars", + "valType": "string" + }, + "tickformatstops": { + "items": { + "tickformatstop": { + "dtickrange": { + "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", + "editType": "colorbars", + "items": [ + { + "editType": "colorbars", + "valType": "any" + }, + { + "editType": "colorbars", + "valType": "any" + } + ], + "valType": "info_array" + }, + "editType": "colorbars", + "enabled": { + "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", + "dflt": true, + "editType": "colorbars", + "valType": "boolean" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "colorbars", + "valType": "string" + }, + "role": "object", + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "colorbars", + "valType": "string" + }, + "value": { + "description": "string - dtickformat for described zoom level, the same as *tickformat*", + "dflt": "", + "editType": "colorbars", + "valType": "string" + } + } + }, + "role": "object" + }, + "ticklabeloverflow": { + "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", + "editType": "colorbars", "valType": "enumerated", "values": [ - "right", - "top", - "bottom" + "allow", + "hide past div", + "hide past domain" ] }, - "text": { - "description": "Sets the title of the color bar.", + "ticklabelposition": { + "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", + "dflt": "outside", "editType": "colorbars", - "valType": "string" - } - }, - "x": { - "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", - "editType": "colorbars", - "valType": "number" - }, - "xanchor": { - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ] - }, - "xpad": { - "description": "Sets the amount of padding (in px) along the x direction.", - "dflt": 10, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "xref": { - "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", - "dflt": "paper", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "container", - "paper" - ] - }, - "y": { - "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", - "editType": "colorbars", - "valType": "number" - }, - "yanchor": { - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ] - }, - "ypad": { - "description": "Sets the amount of padding (in px) along the y direction.", - "dflt": 10, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "yref": { - "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", - "dflt": "paper", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "container", - "paper" - ] - } - }, - "colorscale": { - "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "autocolorscale": false - }, - "valType": "colorscale" - }, - "connectgaps": { - "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in. It is defaulted to true if `z` is a one dimensional array and `zsmooth` is not false; otherwise it is defaulted to false.", - "editType": "calc", - "valType": "boolean" - }, - "customdata": { - "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", - "editType": "calc", - "valType": "data_array" - }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, - "dx": { - "description": "Sets the x coordinate step. See `x0` for more info.", - "dflt": 1, - "editType": "calc", - "impliedEdits": { - "xtype": "scaled" - }, - "valType": "number" - }, - "dy": { - "description": "Sets the y coordinate step. See `y0` for more info.", - "dflt": 1, - "editType": "calc", - "impliedEdits": { - "ytype": "scaled" - }, - "valType": "number" - }, - "hoverinfo": { - "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", - "dflt": "all", - "editType": "none", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "valType": "flaglist" - }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, - "hoverlabel": { - "align": { - "arrayOk": true, - "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", - "dflt": "auto", - "editType": "none", - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ] - }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, - "bgcolor": { - "arrayOk": true, - "description": "Sets the background color of the hover labels for this trace", - "editType": "none", - "valType": "color" - }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, - "bordercolor": { - "arrayOk": true, - "description": "Sets the border color of the hover labels for this trace.", - "editType": "none", - "valType": "color" - }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, - "editType": "none", - "font": { - "color": { - "arrayOk": true, - "editType": "none", - "valType": "color" + "valType": "enumerated", + "values": [ + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom" + ] }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" + "ticklabelstep": { + "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", + "dflt": 1, + "editType": "colorbars", + "min": 1, + "valType": "integer" }, - "description": "Sets the font used in hover labels.", - "editType": "none", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "none", - "noBlank": true, - "strict": true, - "valType": "string" + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, + "editType": "colorbars", + "min": 0, + "valType": "number" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", + "tickmode": { + "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", + "editType": "colorbars", + "impliedEdits": {}, + "valType": "enumerated", + "values": [ + "auto", + "linear", + "array" + ] + }, + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", + "editType": "colorbars", "valType": "string" }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "none", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" + "ticks": { + "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", + "dflt": "", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "" + ] }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "editType": "colorbars", "valType": "string" }, - "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "none", - "valType": "string" + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", + "editType": "colorbars", + "valType": "data_array" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "editType": "colorbars", + "valType": "data_array" }, - "size": { - "arrayOk": true, - "editType": "none", - "min": 1, + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "editType": "colorbars", + "min": 0, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" + "title": { + "editType": "colorbars", + "font": { + "color": { + "editType": "colorbars", + "valType": "color" + }, + "description": "Sets this color bar's title font.", + "editType": "colorbars", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "colorbars", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, + "size": { + "editType": "colorbars", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "colorbars", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "role": "object", + "side": { + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "right", + "top", + "bottom" + ] + }, + "text": { + "description": "Sets the title of the color bar.", + "editType": "colorbars", + "valType": "string" + } }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "none", + "x": { + "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", + "editType": "colorbars", + "valType": "number" + }, + "xanchor": { + "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "italic" + "left", + "center", + "right" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" + "xpad": { + "description": "Sets the amount of padding (in px) along the x direction.", + "dflt": 10, + "editType": "colorbars", + "min": 0, + "valType": "number" }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "none", + "xref": { + "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", + "dflt": "paper", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "word caps", - "upper", - "lower" + "container", + "paper" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" + "y": { + "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", + "editType": "colorbars", + "valType": "number" }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "none", + "yanchor": { + "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" + "top", + "middle", + "bottom" + ] }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "none", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" + "ypad": { + "description": "Sets the amount of padding (in px) along the y direction.", + "dflt": 10, + "editType": "colorbars", + "min": 0, + "valType": "number" }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" + "yref": { + "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", + "dflt": "paper", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "container", + "paper" + ] } }, - "namelength": { - "arrayOk": true, - "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", - "dflt": 15, - "editType": "none", - "min": -1, - "valType": "integer" + "colorscale": { + "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "dflt": null, + "editType": "calc", + "impliedEdits": { + "autocolorscale": false + }, + "valType": "colorscale" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" + "cornerradius": { + "description": "Sets the rounding of corners. May be an integer number of pixels, or a percentage of bar width (as a string ending in %). Defaults to `layout.barcornerradius`. In stack or relative barmode, the first trace to set cornerradius is used for the whole stack.", + "editType": "calc", + "valType": "any" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } - }, - "hoverongaps": { - "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data have hover labels associated with them.", - "dflt": true, - "editType": "none", - "valType": "boolean" - }, - "hovertemplate": { - "arrayOk": true, - "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "hovertemplatefallback": { - "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", - "dflt": "-", - "editType": "none", - "valType": "any" - }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, - "hovertext": { - "description": "Same as `text`.", - "editType": "calc", - "valType": "data_array" - }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, - "ids": { - "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", - "valType": "data_array" - }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, - "legend": { - "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", - "dflt": "legend", - "editType": "style", - "valType": "subplotid" - }, - "legendgroup": { - "description": "Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.", - "dflt": "", - "editType": "style", - "valType": "string" - }, - "legendgrouptitle": { - "editType": "style", - "font": { + "line": { + "autocolorscale": { + "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", + "dflt": true, + "editType": "calc", + "impliedEdits": {}, + "valType": "boolean" + }, + "cauto": { + "description": "Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.", + "dflt": true, + "editType": "calc", + "impliedEdits": {}, + "valType": "boolean" + }, + "cmax": { + "description": "Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.", + "dflt": null, + "editType": "plot", + "impliedEdits": { + "cauto": false + }, + "valType": "number" + }, + "cmid": { + "description": "Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.", + "dflt": null, + "editType": "calc", + "impliedEdits": {}, + "valType": "number" + }, + "cmin": { + "description": "Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.", + "dflt": null, + "editType": "plot", + "impliedEdits": { + "cauto": false + }, + "valType": "number" + }, "color": { + "arrayOk": true, + "description": "Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.", "editType": "style", "valType": "color" }, - "description": "Sets this legend group's title font.", - "editType": "style", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "style", - "noBlank": true, - "strict": true, - "valType": "string" + "coloraxis": { + "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", + "dflt": null, + "editType": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", + "valType": "subplotid" }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "style", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" + "colorscale": { + "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "dflt": null, + "editType": "calc", + "impliedEdits": { + "autocolorscale": false + }, + "valType": "colorscale" + }, + "editType": "calc", + "reversescale": { + "description": "Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.", + "dflt": false, + "editType": "plot", + "valType": "boolean" }, "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", + "width": { + "arrayOk": true, + "description": "Sets the width (in px) of the lines bounding the marker points.", + "dflt": 0, "editType": "style", - "valType": "string" + "min": 0, + "valType": "number" + } + }, + "opacity": { + "arrayOk": true, + "description": "Sets the opacity of the bars.", + "dflt": 1, + "editType": "style", + "max": 1, + "min": 0, + "valType": "number" + }, + "pattern": { + "bgcolor": { + "arrayOk": true, + "description": "When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is *overlay*. Otherwise, defaults to a transparent background.", + "editType": "style", + "valType": "color" }, - "size": { + "description": "Sets the pattern within the marker.", + "editType": "style", + "fgcolor": { + "arrayOk": true, + "description": "When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is *replace*. Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.", "editType": "style", - "min": 1, + "valType": "color" + }, + "fgopacity": { + "description": "Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.", + "editType": "style", + "max": 1, + "min": 0, "valType": "number" }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", + "fillmode": { + "description": "Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.", + "dflt": "replace", "editType": "style", "valType": "enumerated", "values": [ - "normal", - "italic" + "replace", + "overlay" ] }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", + "path": { + "arrayOk": true, + "description": "Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.", "editType": "style", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] + "valType": "string" }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", + "role": "object", + "shape": { + "arrayOk": true, + "description": "Sets the shape of the pattern fill. By default, no pattern is used for filling the area.", + "dflt": "", "editType": "style", "valType": "enumerated", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "", + "/", + "\\", + "x", + "-", + "|", + "+", + "." ] }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", + "size": { + "arrayOk": true, + "description": "Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.", + "dflt": 8, "editType": "style", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" + "min": 0, + "valType": "number" + }, + "solidity": { + "arrayOk": true, + "description": "Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.", + "dflt": 0.3, + "editType": "style", + "max": 1, + "min": 0, + "valType": "number" } }, + "reversescale": { + "description": "Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.", + "dflt": false, + "editType": "plot", + "valType": "boolean" + }, "role": "object", - "text": { - "description": "Sets the title of the legend group.", - "dflt": "", - "editType": "style", - "valType": "string" + "showscale": { + "description": "Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.", + "dflt": false, + "editType": "calc", + "valType": "boolean" } }, - "legendrank": { - "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", - "dflt": 1000, - "editType": "style", - "valType": "number" - }, - "legendwidth": { - "description": "Sets the width (in px or fraction) of the legend for this trace.", - "editType": "style", - "min": 0, - "valType": "number" - }, "meta": { "arrayOk": true, "description": "Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.", "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", "valType": "string" }, + "nbinsx": { + "description": "Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `xbins.size` is provided.", + "dflt": 0, + "editType": "calc", + "min": 0, + "valType": "integer" + }, + "nbinsy": { + "description": "Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `ybins.size` is provided.", + "dflt": 0, + "editType": "calc", + "min": 0, + "valType": "integer" + }, + "offsetgroup": { + "description": "Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.", + "dflt": "", + "editType": "calc", + "valType": "string" + }, "opacity": { "description": "Sets the opacity of the trace.", "dflt": 1, @@ -39628,55 +35906,21 @@ "min": 0, "valType": "number" }, - "reversescale": { - "description": "Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.", - "dflt": false, - "editType": "plot", - "valType": "boolean" - }, - "showlegend": { - "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", - "dflt": false, - "editType": "style", - "valType": "boolean" - }, - "showscale": { - "description": "Determines whether or not a colorbar is displayed for this trace.", - "dflt": true, - "editType": "calc", - "valType": "boolean" - }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, - "text": { - "description": "Sets the text elements associated with each z value.", - "editType": "calc", - "valType": "data_array" + "orientation": { + "description": "Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal).", + "editType": "calc+clearAxisTypes", + "valType": "enumerated", + "values": [ + "v", + "h" + ] }, - "textfont": { + "outsidetextfont": { "color": { - "dflt": "auto", "editType": "style", "valType": "color" }, - "description": "Sets the text font.", + "description": "Sets the font used for `text` lying outside the bar.", "editType": "plot", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", @@ -39707,7 +35951,6 @@ "valType": "string" }, "size": { - "dflt": "auto", "editType": "plot", "min": 1, "valType": "number" @@ -39761,74 +36004,254 @@ "valType": "integer" } }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, - "texttemplate": { - "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `x`, `y`, `z` and `text`.", - "dflt": "", - "editType": "plot", - "valType": "string" - }, - "texttemplatefallback": { - "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", - "dflt": "-", - "editType": "plot", - "valType": "any" + "selected": { + "editType": "style", + "marker": { + "color": { + "description": "Sets the marker color of selected points.", + "editType": "style", + "valType": "color" + }, + "editType": "style", + "opacity": { + "description": "Sets the marker opacity of selected points.", + "editType": "style", + "max": 1, + "min": 0, + "valType": "number" + }, + "role": "object" + }, + "role": "object", + "textfont": { + "color": { + "description": "Sets the text font color of selected points.", + "editType": "style", + "valType": "color" + }, + "editType": "style", + "role": "object" + } }, - "transpose": { - "description": "Transposes the z data.", - "dflt": false, + "selectedpoints": { + "description": "Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.", "editType": "calc", - "valType": "boolean" - }, - "type": "heatmap", - "uid": { - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", - "editType": "plot", - "valType": "string" - }, - "uirevision": { - "description": "Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.", - "editType": "none", "valType": "any" }, - "visible": { - "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", + "showlegend": { + "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", "dflt": true, + "editType": "style", + "valType": "boolean" + }, + "text": { + "arrayOk": true, + "description": "Sets hover text elements associated with each bar. If a single string, the same string appears over all bars. If an array of string, the items are mapped in order to the this trace's coordinates.", + "dflt": "", "editType": "calc", - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ] + "valType": "string" }, - "x": { - "description": "Sets the x coordinates.", - "editType": "calc+clearAxisTypes", - "impliedEdits": { - "xtype": "array" - }, - "valType": "data_array" + "textangle": { + "description": "Sets the angle of the tick labels with respect to the bar. For example, a `tickangle` of -90 draws the tick labels vertically. With *auto* the texts may automatically be rotated to fit with the maximum size in bars.", + "dflt": "auto", + "editType": "plot", + "valType": "angle" }, - "x0": { - "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.", - "dflt": 0, - "editType": "calc+clearAxisTypes", - "impliedEdits": { - "xtype": "scaled" + "textfont": { + "color": { + "editType": "style", + "valType": "color" }, - "valType": "any" - }, - "xaxis": { - "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", - "dflt": "x", + "description": "Sets the text font.", + "editType": "plot", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "plot", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "size": { + "editType": "plot", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "textposition": { + "arrayOk": false, + "description": "Specifies the location of the `text`. *inside* positions `text` inside, next to the bar end (rotated and scaled if needed). *outside* positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. *auto* tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If *none*, no text appears.", + "dflt": "auto", + "editType": "calc", + "valType": "enumerated", + "values": [ + "inside", + "outside", + "auto", + "none" + ] + }, + "texttemplate": { + "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `label` and `value`.", + "dflt": "", + "editType": "plot", + "valType": "string" + }, + "texttemplatefallback": { + "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", + "dflt": "-", + "editType": "plot", + "valType": "any" + }, + "type": "histogram", + "uid": { + "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", + "editType": "plot", + "valType": "string" + }, + "uirevision": { + "description": "Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.", + "editType": "none", + "valType": "any" + }, + "unselected": { + "editType": "style", + "marker": { + "color": { + "description": "Sets the marker color of unselected points, applied only when a selection exists.", + "editType": "style", + "valType": "color" + }, + "editType": "style", + "opacity": { + "description": "Sets the marker opacity of unselected points, applied only when a selection exists.", + "editType": "style", + "max": 1, + "min": 0, + "valType": "number" + }, + "role": "object" + }, + "role": "object", + "textfont": { + "color": { + "description": "Sets the text font color of unselected points, applied only when a selection exists.", + "editType": "style", + "valType": "color" + }, + "editType": "style", + "role": "object" + } + }, + "visible": { + "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", + "dflt": true, + "editType": "calc", + "valType": "enumerated", + "values": [ + true, + false, + "legendonly" + ] + }, + "x": { + "description": "Sets the sample data to be binned on the x axis.", + "editType": "calc+clearAxisTypes", + "valType": "data_array" + }, + "xaxis": { + "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", + "dflt": "x", "editType": "calc+clearAxisTypes", "valType": "subplotid" }, + "xbins": { + "editType": "calc", + "end": { + "description": "Sets the end value for the x axis bins. The last bin may not end exactly at this value, we increment the bin edge by `size` from `start` until we reach or exceed `end`. Defaults to the maximum data value. Like `start`, for dates use a date string, and for category data `end` is based on the category serial numbers.", + "editType": "calc", + "valType": "any" + }, + "role": "object", + "size": { + "description": "Sets the size of each x axis bin. Default behavior: If `nbinsx` is 0 or omitted, we choose a nice round bin size such that the number of bins is about the same as the typical number of samples in each bin. If `nbinsx` is provided, we choose a nice round bin size giving no more than that many bins. For date data, use milliseconds or *M* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). If multiple non-overlaying histograms share a subplot, the first explicit `size` is used and all others discarded. If no `size` is provided, the sample data from all traces is combined to determine `size` as described above.", + "editType": "calc", + "valType": "any" + }, + "start": { + "description": "Sets the starting value for the x axis bins. Defaults to the minimum data value, shifted down if necessary to make nice round values and to remove ambiguous bin edges. For example, if most of the data is integers we shift the bin edges 0.5 down, so a `size` of 5 would have a default `start` of -0.5, so it is clear that 0-4 are in the first bin, 5-9 in the second, but continuous data gets a start of 0 and bins [0,5), [5,10) etc. Dates behave similarly, and `start` should be a date string. For category data, `start` is based on the category serial numbers, and defaults to -0.5. If multiple non-overlaying histograms share a subplot, the first explicit `start` is used exactly and all others are shifted down (if necessary) to differ from that one by an integer number of bins.", + "editType": "calc", + "valType": "any" + } + }, "xcalendar": { "description": "Sets the calendar system to use with `x` date data.", "dflt": "gregorian", @@ -39853,87 +36276,42 @@ "ummalqura" ] }, - "xgap": { - "description": "Sets the horizontal gap (in pixels) between bricks.", - "dflt": 0, - "editType": "plot", - "min": 0, - "valType": "number" - }, "xhoverformat": { - "description": "Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", "dflt": "", "editType": "none", "valType": "string" }, - "xperiod": { - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer.", - "dflt": 0, - "editType": "calc", - "impliedEdits": { - "xtype": "scaled" - }, - "valType": "any" - }, - "xperiod0": { - "description": "Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.", - "editType": "calc", - "impliedEdits": { - "xtype": "scaled" - }, - "valType": "any" - }, - "xperiodalignment": { - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.", - "dflt": "middle", - "editType": "calc", - "impliedEdits": { - "xtype": "scaled" - }, - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ] - }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", - "editType": "none", - "valType": "string" - }, - "xtype": { - "description": "If *array*, the heatmap's x coordinates are given by *x* (the default behavior when `x` is provided). If *scaled*, the heatmap's x coordinates are given by *x0* and *dx* (the default behavior when `x` is not provided).", - "editType": "calc+clearAxisTypes", - "valType": "enumerated", - "values": [ - "array", - "scaled" - ] - }, "y": { - "description": "Sets the y coordinates.", + "description": "Sets the sample data to be binned on the y axis.", "editType": "calc+clearAxisTypes", - "impliedEdits": { - "ytype": "array" - }, "valType": "data_array" }, - "y0": { - "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.", - "dflt": 0, - "editType": "calc+clearAxisTypes", - "impliedEdits": { - "ytype": "scaled" - }, - "valType": "any" - }, "yaxis": { "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.", "dflt": "y", "editType": "calc+clearAxisTypes", "valType": "subplotid" }, + "ybins": { + "editType": "calc", + "end": { + "description": "Sets the end value for the y axis bins. The last bin may not end exactly at this value, we increment the bin edge by `size` from `start` until we reach or exceed `end`. Defaults to the maximum data value. Like `start`, for dates use a date string, and for category data `end` is based on the category serial numbers.", + "editType": "calc", + "valType": "any" + }, + "role": "object", + "size": { + "description": "Sets the size of each y axis bin. Default behavior: If `nbinsy` is 0 or omitted, we choose a nice round bin size such that the number of bins is about the same as the typical number of samples in each bin. If `nbinsy` is provided, we choose a nice round bin size giving no more than that many bins. For date data, use milliseconds or *M* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). If multiple non-overlaying histograms share a subplot, the first explicit `size` is used and all others discarded. If no `size` is provided, the sample data from all traces is combined to determine `size` as described above.", + "editType": "calc", + "valType": "any" + }, + "start": { + "description": "Sets the starting value for the y axis bins. Defaults to the minimum data value, shifted down if necessary to make nice round values and to remove ambiguous bin edges. For example, if most of the data is integers we shift the bin edges 0.5 down, so a `size` of 5 would have a default `start` of -0.5, so it is clear that 0-4 are in the first bin, 5-9 in the second, but continuous data gets a start of 0 and bins [0,5), [5,10) etc. Dates behave similarly, and `start` should be a date string. For category data, `start` is based on the category serial numbers, and defaults to -0.5. If multiple non-overlaying histograms share a subplot, the first explicit `start` is used exactly and all others are shifted down (if necessary) to differ from that one by an integer number of bins.", + "editType": "calc", + "valType": "any" + } + }, "ycalendar": { "description": "Sets the calendar system to use with `y` date data.", "dflt": "gregorian", @@ -39958,150 +36336,82 @@ "ummalqura" ] }, - "ygap": { - "description": "Sets the vertical gap (in pixels) between bricks.", - "dflt": 0, - "editType": "plot", - "min": 0, - "valType": "number" - }, "yhoverformat": { - "description": "Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", "dflt": "", "editType": "none", "valType": "string" }, - "yperiod": { - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer.", + "zorder": { + "description": "Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.", "dflt": 0, + "editType": "plot", + "valType": "integer" + } + }, + "categories": [ + "bar-like", + "cartesian", + "svg", + "bar", + "histogram", + "oriented", + "errorBarsOK", + "showLegend" + ], + "layoutAttributes": { + "barcornerradius": { + "description": "Sets the rounding of bar corners. May be an integer number of pixels, or a percentage of bar width (as a string ending in %).", "editType": "calc", - "impliedEdits": { - "ytype": "scaled" - }, "valType": "any" }, - "yperiod0": { - "description": "Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.", + "bargap": { + "description": "Sets the gap (in plot fraction) between bars of adjacent location coordinates.", "editType": "calc", - "impliedEdits": { - "ytype": "scaled" - }, - "valType": "any" + "max": 1, + "min": 0, + "valType": "number" }, - "yperiodalignment": { - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.", - "dflt": "middle", + "bargroupgap": { + "description": "Sets the gap (in plot fraction) between bars of the same location coordinate.", + "dflt": 0, "editType": "calc", - "impliedEdits": { - "ytype": "scaled" - }, - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ] - }, - "ysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `y`.", - "editType": "none", - "valType": "string" + "max": 1, + "min": 0, + "valType": "number" }, - "ytype": { - "description": "If *array*, the heatmap's y coordinates are given by *y* (the default behavior when `y` is provided) If *scaled*, the heatmap's y coordinates are given by *y0* and *dy* (the default behavior when `y` is not provided)", - "editType": "calc+clearAxisTypes", + "barmode": { + "description": "Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *relative*, the bars are stacked on top of one another, with negative values below the axis, positive values above With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars.", + "dflt": "group", + "editType": "calc", "valType": "enumerated", "values": [ - "array", - "scaled" + "stack", + "group", + "overlay", + "relative" ] }, - "z": { - "description": "Sets the z data.", - "editType": "calc", - "valType": "data_array" - }, - "zauto": { - "description": "Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "zhoverformat": { - "description": "Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.", + "barnorm": { + "description": "Sets the normalization for bar traces on the graph. With *fraction*, the value of each bar is divided by the sum of all values at that location coordinate. *percent* is the same but multiplied by 100 to show percentages.", "dflt": "", - "editType": "none", - "valType": "string" - }, - "zmax": { - "description": "Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "zauto": false - }, - "valType": "number" - }, - "zmid": { - "description": "Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "valType": "number" - }, - "zmin": { - "description": "Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "zauto": false - }, - "valType": "number" - }, - "zorder": { - "description": "Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.", - "dflt": 0, - "editType": "plot", - "valType": "integer" - }, - "zsmooth": { - "description": "Picks a smoothing algorithm use to smooth `z` data.", - "dflt": false, "editType": "calc", "valType": "enumerated", "values": [ - "fast", - "best", - false + "", + "fraction", + "percent" ] - }, - "zsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `z`.", - "editType": "none", - "valType": "string" } }, - "categories": [ - "cartesian", - "svg", - "2dMap", - "showLegend" - ], "meta": { - "description": "The data that describes the heatmap value-to-color mapping is set in `z`. Data in `z` can either be a {2D array} of values (ragged or not) or a 1D array of values. In the case where `z` is a {2D array}, say that `z` has N rows and M columns. Then, by default, the resulting heatmap will have N partitions along the y axis and M partitions along the x axis. In other words, the i-th row/ j-th column cell in `z` is mapped to the i-th partition of the y axis (starting from the bottom of the plot) and the j-th partition of the x-axis (starting from the left of the plot). This behavior can be flipped by using `transpose`. Moreover, `x` (`y`) can be provided with M or M+1 (N or N+1) elements. If M (N), then the coordinates correspond to the center of the heatmap cells and the cells have equal width. If M+1 (N+1), then the coordinates correspond to the edges of the heatmap cells. In the case where `z` is a 1D {array}, the x and y coordinates must be provided in `x` and `y` respectively to form data triplets." + "description": "The sample data from which statistics are computed is set in `x` for vertically spanning histograms and in `y` for horizontally spanning histograms. Binning options are set `xbins` and `ybins` respectively if no aggregation data is provided." }, - "type": "heatmap" + "type": "histogram" }, - "histogram": { + "histogram2d": { "animatable": false, "attributes": { - "alignmentgroup": { - "description": "Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, "autobinx": { "description": "Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobinx` is not needed. However, we accept `autobinx: true` or `false` and will update `xbins` accordingly before deleting `autobinx` from the trace.", "dflt": null, @@ -40114,375 +36424,234 @@ "editType": "calc", "valType": "boolean" }, + "autocolorscale": { + "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", + "dflt": false, + "editType": "calc", + "impliedEdits": {}, + "valType": "boolean" + }, "bingroup": { - "description": "Set a group of histogram traces which will have compatible bin settings. Note that traces on the same subplot and with the same *orientation* under `barmode` *stack*, *relative* and *group* are forced into the same bingroup, Using `bingroup`, traces under `barmode` *overlay* and on different axes (of the same axis type) can have compatible bin settings. Note that histogram and histogram2d* trace can share the same `bingroup`", + "description": "Set the `xbingroup` and `ybingroup` default prefix For example, setting a `bingroup` of *1* on two histogram2d traces will make them their x-bins and y-bins match separately.", "dflt": "", "editType": "calc", "valType": "string" }, - "cliponaxis": { - "description": "Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to *below traces*.", - "dflt": true, - "editType": "plot", - "valType": "boolean" - }, - "constraintext": { - "description": "Constrain the size of text inside or outside a bar to be no larger than the bar itself.", - "dflt": "both", + "coloraxis": { + "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", + "dflt": null, "editType": "calc", - "valType": "enumerated", - "values": [ - "inside", - "outside", - "both", - "none" - ] + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", + "valType": "subplotid" }, - "cumulative": { - "currentbin": { - "description": "Only applies if cumulative is enabled. Sets whether the current bin is included, excluded, or has half of its value included in the current cumulative value. *include* is the default for compatibility with various other tools, however it introduces a half-bin bias to the results. *exclude* makes the opposite half-bin bias, and *half* removes it.", - "dflt": "include", - "editType": "calc", - "valType": "enumerated", - "values": [ - "include", - "exclude", - "half" - ] + "colorbar": { + "bgcolor": { + "description": "Sets the color of padded area.", + "dflt": "rgba(0,0,0,0)", + "editType": "colorbars", + "valType": "color" }, - "direction": { - "description": "Only applies if cumulative is enabled. If *increasing* (default) we sum all prior bins, so the result increases from left to right. If *decreasing* we sum later bins so the result decreases from left to right.", - "dflt": "increasing", - "editType": "calc", + "bordercolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "editType": "colorbars", + "valType": "color" + }, + "borderwidth": { + "description": "Sets the width (in px) or the border enclosing this color bar.", + "dflt": 0, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "dtick": { + "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", + "editType": "colorbars", + "impliedEdits": { + "tickmode": "linear" + }, + "valType": "any" + }, + "editType": "colorbars", + "exponentformat": { + "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B. *SI* uses prefixes from \"femto\" f (10^-15) to \"tera\" T (10^12). *SI extended* covers instead the full SI range from \"quecto\" q (10^-30) to \"quetta\" Q (10^30). If *SI* or *SI extended* is used and the exponent is beyond the above ranges, the formatting rule will automatically be switched to the power notation.", + "dflt": "B", + "editType": "colorbars", "valType": "enumerated", "values": [ - "increasing", - "decreasing" + "none", + "e", + "E", + "power", + "SI", + "B", + "SI extended" ] }, - "editType": "calc", - "enabled": { - "description": "If true, display the cumulative distribution by summing the binned values. Use the `direction` and `centralbin` attributes to tune the accumulation method. Note: in this mode, the *density* `histnorm` settings behave the same as their equivalents without *density*: ** and *density* both rise to the number of data points, and *probability* and *probability density* both rise to the number of sample points.", + "labelalias": { + "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", "dflt": false, - "editType": "calc", - "valType": "boolean" - }, - "role": "object" - }, - "customdata": { - "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", - "editType": "calc", - "valType": "data_array" - }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, - "error_x": { - "array": { - "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", - "editType": "calc", - "valType": "data_array" - }, - "arrayminus": { - "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", - "editType": "calc", - "valType": "data_array" - }, - "arrayminussrc": { - "description": "Sets the source reference on Chart Studio Cloud for `arrayminus`.", - "editType": "none", - "valType": "string" - }, - "arraysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `array`.", - "editType": "none", - "valType": "string" - }, - "color": { - "description": "Sets the stroke color of the error bars.", - "editType": "style", - "valType": "color" - }, - "copy_ystyle": { - "editType": "plot", - "valType": "boolean" - }, - "editType": "calc", - "role": "object", - "symmetric": { - "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", - "editType": "calc", - "valType": "boolean" + "editType": "colorbars", + "valType": "any" }, - "thickness": { - "description": "Sets the thickness (in px) of the error bars.", - "dflt": 2, - "editType": "style", + "len": { + "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", + "dflt": 1, + "editType": "colorbars", "min": 0, "valType": "number" }, - "traceref": { - "dflt": 0, - "editType": "style", + "lenmode": { + "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", + "dflt": "fraction", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "minexponent": { + "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", + "dflt": 3, + "editType": "colorbars", "min": 0, - "valType": "integer" + "valType": "number" }, - "tracerefminus": { + "nticks": { + "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", "dflt": 0, - "editType": "style", + "editType": "colorbars", "min": 0, "valType": "integer" }, - "type": { - "description": "Determines the rule used to generate the error bars. If *constant*, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.", - "editType": "calc", + "orientation": { + "description": "Sets the orientation of the colorbar.", + "dflt": "v", + "editType": "colorbars", "valType": "enumerated", "values": [ - "percent", - "constant", - "sqrt", - "data" + "h", + "v" ] }, - "value": { - "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", - "dflt": 10, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "valueminus": { - "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", - "dflt": 10, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "visible": { - "description": "Determines whether or not this set of error bars is visible.", - "editType": "calc", - "valType": "boolean" + "outlinecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "editType": "colorbars", + "valType": "color" }, - "width": { - "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", - "editType": "plot", + "outlinewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "editType": "colorbars", "min": 0, "valType": "number" - } - }, - "error_y": { - "array": { - "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", - "editType": "calc", - "valType": "data_array" - }, - "arrayminus": { - "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", - "editType": "calc", - "valType": "data_array" - }, - "arrayminussrc": { - "description": "Sets the source reference on Chart Studio Cloud for `arrayminus`.", - "editType": "none", - "valType": "string" - }, - "arraysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `array`.", - "editType": "none", - "valType": "string" - }, - "color": { - "description": "Sets the stroke color of the error bars.", - "editType": "style", - "valType": "color" }, - "editType": "calc", "role": "object", - "symmetric": { - "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", - "editType": "calc", + "separatethousands": { + "description": "If \"true\", even 4-digit integers are separated", + "dflt": false, + "editType": "colorbars", "valType": "boolean" }, - "thickness": { - "description": "Sets the thickness (in px) of the error bars.", - "dflt": 2, - "editType": "style", - "min": 0, - "valType": "number" - }, - "traceref": { - "dflt": 0, - "editType": "style", - "min": 0, - "valType": "integer" + "showexponent": { + "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", + "dflt": "all", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "tracerefminus": { - "dflt": 0, - "editType": "style", - "min": 0, - "valType": "integer" + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "editType": "colorbars", + "valType": "boolean" }, - "type": { - "description": "Determines the rule used to generate the error bars. If *constant*, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.", - "editType": "calc", + "showtickprefix": { + "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", + "dflt": "all", + "editType": "colorbars", "valType": "enumerated", "values": [ - "percent", - "constant", - "sqrt", - "data" + "all", + "first", + "last", + "none" ] }, - "value": { - "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", - "dflt": 10, - "editType": "calc", - "min": 0, - "valType": "number" + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "valueminus": { - "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", - "dflt": 10, - "editType": "calc", + "thickness": { + "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", + "dflt": 30, + "editType": "colorbars", "min": 0, "valType": "number" }, - "visible": { - "description": "Determines whether or not this set of error bars is visible.", - "editType": "calc", - "valType": "boolean" - }, - "width": { - "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", - "editType": "plot", - "min": 0, - "valType": "number" - } - }, - "histfunc": { - "description": "Specifies the binning function used for this histogram trace. If *count*, the histogram values are computed by counting the number of values lying inside each bin. If *sum*, *avg*, *min*, *max*, the histogram values are computed using the sum, the average, the minimum or the maximum of the values lying inside each bin respectively.", - "dflt": "count", - "editType": "calc", - "valType": "enumerated", - "values": [ - "count", - "sum", - "avg", - "min", - "max" - ] - }, - "histnorm": { - "description": "Specifies the type of normalization used for this histogram trace. If **, the span of each bar corresponds to the number of occurrences (i.e. the number of data points lying inside the bins). If *percent* / *probability*, the span of each bar corresponds to the percentage / fraction of occurrences with respect to the total number of sample points (here, the sum of all bin HEIGHTS equals 100% / 1). If *density*, the span of each bar corresponds to the number of occurrences in a bin divided by the size of the bin interval (here, the sum of all bin AREAS equals the total number of sample points). If *probability density*, the area of each bar corresponds to the probability that an event will fall into the corresponding bin (here, the sum of all bin AREAS equals 1).", - "dflt": "", - "editType": "calc", - "valType": "enumerated", - "values": [ - "", - "percent", - "probability", - "density", - "probability density" - ] - }, - "hoverinfo": { - "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", - "dflt": "all", - "editType": "none", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "valType": "flaglist" - }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, - "hoverlabel": { - "align": { - "arrayOk": true, - "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", - "dflt": "auto", - "editType": "none", + "thicknessmode": { + "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", + "dflt": "pixels", + "editType": "colorbars", "valType": "enumerated", "values": [ - "left", - "right", - "auto" + "fraction", + "pixels" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, - "bgcolor": { - "arrayOk": true, - "description": "Sets the background color of the hover labels for this trace", - "editType": "none", - "valType": "color" + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "colorbars", + "impliedEdits": { + "tickmode": "linear" + }, + "valType": "any" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "editType": "colorbars", + "valType": "angle" }, - "bordercolor": { - "arrayOk": true, - "description": "Sets the border color of the hover labels for this trace.", - "editType": "none", + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "editType": "colorbars", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, - "editType": "none", - "font": { + "tickfont": { "color": { - "arrayOk": true, - "editType": "none", + "editType": "colorbars", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used in hover labels.", - "editType": "none", + "description": "Sets the color bar's tick label font", + "editType": "colorbars", "family": { - "arrayOk": true, "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "none", + "editType": "colorbars", "noBlank": true, "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { - "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", - "editType": "none", + "editType": "colorbars", "extras": [ "none" ], @@ -40493,56 +36662,32 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { - "arrayOk": true, "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", - "editType": "none", - "valType": "string" - }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", + "editType": "colorbars", "valType": "string" }, "size": { - "arrayOk": true, - "editType": "none", + "editType": "colorbars", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { - "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", - "editType": "none", + "editType": "colorbars", "valType": "enumerated", "values": [ "normal", "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { - "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", - "editType": "none", + "editType": "colorbars", "valType": "enumerated", "values": [ "normal", @@ -40551,16 +36696,10 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { - "arrayOk": true, "description": "Sets the variant of the font.", "dflt": "normal", - "editType": "none", + "editType": "colorbars", "valType": "enumerated", "values": [ "normal", @@ -40571,16 +36710,10 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { - "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", - "editType": "none", + "editType": "colorbars", "extras": [ "normal", "bold" @@ -40588,206 +36721,432 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, - "namelength": { - "arrayOk": true, - "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", - "dflt": 15, - "editType": "none", - "min": -1, + "tickformat": { + "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", + "dflt": "", + "editType": "colorbars", + "valType": "string" + }, + "tickformatstops": { + "items": { + "tickformatstop": { + "dtickrange": { + "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", + "editType": "colorbars", + "items": [ + { + "editType": "colorbars", + "valType": "any" + }, + { + "editType": "colorbars", + "valType": "any" + } + ], + "valType": "info_array" + }, + "editType": "colorbars", + "enabled": { + "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", + "dflt": true, + "editType": "colorbars", + "valType": "boolean" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "colorbars", + "valType": "string" + }, + "role": "object", + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "colorbars", + "valType": "string" + }, + "value": { + "description": "string - dtickformat for described zoom level, the same as *tickformat*", + "dflt": "", + "editType": "colorbars", + "valType": "string" + } + } + }, + "role": "object" + }, + "ticklabeloverflow": { + "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "allow", + "hide past div", + "hide past domain" + ] + }, + "ticklabelposition": { + "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", + "dflt": "outside", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom" + ] + }, + "ticklabelstep": { + "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", + "dflt": 1, + "editType": "colorbars", + "min": 1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "tickmode": { + "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", + "editType": "colorbars", + "impliedEdits": {}, + "valType": "enumerated", + "values": [ + "auto", + "linear", + "array" + ] + }, + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", + "editType": "colorbars", "valType": "string" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } - }, - "hovertemplate": { - "arrayOk": true, - "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `binNumber` Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "hovertemplatefallback": { - "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", - "dflt": "-", - "editType": "none", - "valType": "any" - }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, - "hovertext": { - "arrayOk": true, - "description": "Same as `text`.", - "dflt": "", - "editType": "style", - "valType": "string" - }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, - "ids": { - "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", - "editType": "calc", - "valType": "data_array" - }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, - "insidetextanchor": { - "description": "Determines if texts are kept at center or start/end points in `textposition` *inside* mode.", - "dflt": "end", - "editType": "plot", - "valType": "enumerated", - "values": [ - "end", - "middle", - "start" - ] - }, - "insidetextfont": { - "color": { - "editType": "style", - "valType": "color" + "ticks": { + "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", + "dflt": "", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "" + ] }, - "description": "Sets the font used for `text` lying inside the bar.", - "editType": "plot", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "plot", - "noBlank": true, - "strict": true, + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "editType": "colorbars", "valType": "string" }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", + "editType": "colorbars", + "valType": "data_array" }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "plot", - "valType": "string" + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "editType": "colorbars", + "valType": "data_array" }, - "size": { - "editType": "plot", - "min": 1, + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "editType": "colorbars", + "min": 0, "valType": "number" }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", + "title": { + "editType": "colorbars", + "font": { + "color": { + "editType": "colorbars", + "valType": "color" + }, + "description": "Sets this color bar's title font.", + "editType": "colorbars", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "colorbars", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, + "size": { + "editType": "colorbars", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "colorbars", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "role": "object", + "side": { + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "right", + "top", + "bottom" + ] + }, + "text": { + "description": "Sets the title of the color bar.", + "editType": "colorbars", + "valType": "string" + } + }, + "x": { + "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", + "editType": "colorbars", + "valType": "number" + }, + "xanchor": { + "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "italic" + "left", + "center", + "right" ] }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "plot", + "xpad": { + "description": "Sets the amount of padding (in px) along the x direction.", + "dflt": 10, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "xref": { + "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", + "dflt": "paper", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "word caps", - "upper", - "lower" + "container", + "paper" ] }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "plot", + "y": { + "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", + "editType": "colorbars", + "valType": "number" + }, + "yanchor": { + "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "top", + "middle", + "bottom" ] }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" + "ypad": { + "description": "Sets the amount of padding (in px) along the y direction.", + "dflt": 10, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "yref": { + "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", + "dflt": "paper", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "container", + "paper" + ] } }, - "legend": { - "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", - "dflt": "legend", - "editType": "style", - "valType": "subplotid" + "colorscale": { + "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "dflt": null, + "editType": "calc", + "impliedEdits": { + "autocolorscale": false + }, + "valType": "colorscale" }, - "legendgroup": { - "description": "Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.", + "customdata": { + "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", + "editType": "calc", + "valType": "data_array" + }, + "histfunc": { + "description": "Specifies the binning function used for this histogram trace. If *count*, the histogram values are computed by counting the number of values lying inside each bin. If *sum*, *avg*, *min*, *max*, the histogram values are computed using the sum, the average, the minimum or the maximum of the values lying inside each bin respectively.", + "dflt": "count", + "editType": "calc", + "valType": "enumerated", + "values": [ + "count", + "sum", + "avg", + "min", + "max" + ] + }, + "histnorm": { + "description": "Specifies the type of normalization used for this histogram trace. If **, the span of each bar corresponds to the number of occurrences (i.e. the number of data points lying inside the bins). If *percent* / *probability*, the span of each bar corresponds to the percentage / fraction of occurrences with respect to the total number of sample points (here, the sum of all bin HEIGHTS equals 100% / 1). If *density*, the span of each bar corresponds to the number of occurrences in a bin divided by the size of the bin interval (here, the sum of all bin AREAS equals the total number of sample points). If *probability density*, the area of each bar corresponds to the probability that an event will fall into the corresponding bin (here, the sum of all bin AREAS equals 1).", "dflt": "", - "editType": "style", - "valType": "string" + "editType": "calc", + "valType": "enumerated", + "values": [ + "", + "percent", + "probability", + "density", + "probability density" + ] }, - "legendgrouptitle": { - "editType": "style", + "hoverinfo": { + "arrayOk": true, + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "dflt": "all", + "editType": "none", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ], + "valType": "flaglist" + }, + "hoverlabel": { + "align": { + "arrayOk": true, + "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", + "dflt": "auto", + "editType": "none", + "valType": "enumerated", + "values": [ + "left", + "right", + "auto" + ] + }, + "bgcolor": { + "arrayOk": true, + "description": "Sets the background color of the hover labels for this trace", + "editType": "none", + "valType": "color" + }, + "bordercolor": { + "arrayOk": true, + "description": "Sets the border color of the hover labels for this trace.", + "editType": "none", + "valType": "color" + }, + "editType": "none", "font": { "color": { - "editType": "style", + "arrayOk": true, + "editType": "none", "valType": "color" }, - "description": "Sets this legend group's title font.", - "editType": "style", + "description": "Sets the font used in hover labels.", + "editType": "none", "family": { + "arrayOk": true, "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "style", + "editType": "none", "noBlank": true, "strict": true, "valType": "string" }, "lineposition": { + "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", - "editType": "style", + "editType": "none", "extras": [ "none" ], @@ -40800,20 +37159,23 @@ }, "role": "object", "shadow": { + "arrayOk": true, "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", - "editType": "style", + "editType": "none", "valType": "string" }, "size": { - "editType": "style", + "arrayOk": true, + "editType": "none", "min": 1, "valType": "number" }, "style": { + "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", - "editType": "style", + "editType": "none", "valType": "enumerated", "values": [ "normal", @@ -40821,9 +37183,10 @@ ] }, "textcase": { + "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", - "editType": "style", + "editType": "none", "valType": "enumerated", "values": [ "normal", @@ -40833,9 +37196,10 @@ ] }, "variant": { + "arrayOk": true, "description": "Sets the variant of the font.", "dflt": "normal", - "editType": "style", + "editType": "none", "valType": "enumerated", "values": [ "normal", @@ -40847,9 +37211,10 @@ ] }, "weight": { + "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", - "editType": "style", + "editType": "none", "extras": [ "normal", "bold" @@ -40859,926 +37224,171 @@ "valType": "integer" } }, + "namelength": { + "arrayOk": true, + "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", + "dflt": 15, + "editType": "none", + "min": -1, + "valType": "integer" + }, "role": "object", - "text": { - "description": "Sets the title of the legend group.", - "dflt": "", - "editType": "style", - "valType": "string" + "showarrow": { + "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", + "dflt": true, + "editType": "none", + "valType": "boolean" } }, - "legendrank": { - "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", - "dflt": 1000, + "hovertemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `z` Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", + "dflt": "", + "editType": "none", + "valType": "string" + }, + "hovertemplatefallback": { + "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", + "dflt": "-", + "editType": "none", + "valType": "any" + }, + "ids": { + "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", + "editType": "calc", + "valType": "data_array" + }, + "legend": { + "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", + "dflt": "legend", "editType": "style", - "valType": "number" + "valType": "subplotid" }, - "legendwidth": { - "description": "Sets the width (in px or fraction) of the legend for this trace.", + "legendgroup": { + "description": "Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.", + "dflt": "", "editType": "style", - "min": 0, - "valType": "number" + "valType": "string" }, - "marker": { - "autocolorscale": { - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "cauto": { - "description": "Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "cmax": { - "description": "Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false + "legendgrouptitle": { + "editType": "style", + "font": { + "color": { + "editType": "style", + "valType": "color" }, - "valType": "number" - }, - "cmid": { - "description": "Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "valType": "number" - }, - "cmin": { - "description": "Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "valType": "number" - }, - "color": { - "arrayOk": true, - "description": "Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.", + "description": "Sets this legend group's title font.", "editType": "style", - "valType": "color" - }, - "coloraxis": { - "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", - "dflt": null, - "editType": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "valType": "subplotid" - }, - "colorbar": { - "bgcolor": { - "description": "Sets the color of padded area.", - "dflt": "rgba(0,0,0,0)", - "editType": "colorbars", - "valType": "color" - }, - "bordercolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" - }, - "borderwidth": { - "description": "Sets the width (in px) or the border enclosing this color bar.", - "dflt": 0, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "dtick": { - "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "valType": "any" - }, - "editType": "colorbars", - "exponentformat": { - "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B. *SI* uses prefixes from \"femto\" f (10^-15) to \"tera\" T (10^12). *SI extended* covers instead the full SI range from \"quecto\" q (10^-30) to \"quetta\" Q (10^30). If *SI* or *SI extended* is used and the exponent is beyond the above ranges, the formatting rule will automatically be switched to the power notation.", - "dflt": "B", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" - ] - }, - "labelalias": { - "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", - "dflt": false, - "editType": "colorbars", - "valType": "any" - }, - "len": { - "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "lenmode": { - "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", - "dflt": "fraction", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ] - }, - "minexponent": { - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", - "dflt": 3, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "nticks": { - "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", - "dflt": 0, - "editType": "colorbars", - "min": 0, - "valType": "integer" - }, - "orientation": { - "description": "Sets the orientation of the colorbar.", - "dflt": "v", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "h", - "v" - ] - }, - "outlinecolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" - }, - "outlinewidth": { - "description": "Sets the width (in px) of the axis line.", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "role": "object", - "separatethousands": { - "description": "If \"true\", even 4-digit integers are separated", - "dflt": false, - "editType": "colorbars", - "valType": "boolean" - }, - "showexponent": { - "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "showticklabels": { - "description": "Determines whether or not the tick labels are drawn.", - "dflt": true, - "editType": "colorbars", - "valType": "boolean" + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "style", + "noBlank": true, + "strict": true, + "valType": "string" }, - "showtickprefix": { - "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ "none" - ] + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" }, - "showticksuffix": { - "description": "Same as `showtickprefix` but for tick suffixes.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" }, - "thickness": { - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "dflt": 30, - "editType": "colorbars", - "min": 0, + "size": { + "editType": "style", + "min": 1, "valType": "number" }, - "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "dflt": "pixels", - "editType": "colorbars", + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "style", "valType": "enumerated", "values": [ - "fraction", - "pixels" + "normal", + "italic" ] }, - "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "valType": "any" - }, - "tickangle": { - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", - "dflt": "auto", - "editType": "colorbars", - "valType": "angle" - }, - "tickcolor": { - "description": "Sets the tick color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" - }, - "tickfont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "tickformat": { - "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", - "dflt": "", - "editType": "colorbars", - "valType": "string" - }, - "tickformatstops": { - "items": { - "tickformatstop": { - "dtickrange": { - "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", - "editType": "colorbars", - "items": [ - { - "editType": "colorbars", - "valType": "any" - }, - { - "editType": "colorbars", - "valType": "any" - } - ], - "valType": "info_array" - }, - "editType": "colorbars", - "enabled": { - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", - "dflt": true, - "editType": "colorbars", - "valType": "boolean" - }, - "name": { - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", - "editType": "colorbars", - "valType": "string" - }, - "role": "object", - "templateitemname": { - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", - "editType": "colorbars", - "valType": "string" - }, - "value": { - "description": "string - dtickformat for described zoom level, the same as *tickformat*", - "dflt": "", - "editType": "colorbars", - "valType": "string" - } - } - }, - "role": "object" - }, - "ticklabeloverflow": { - "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", - "editType": "colorbars", + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", "valType": "enumerated", "values": [ - "allow", - "hide past div", - "hide past domain" + "normal", + "word caps", + "upper", + "lower" ] }, - "ticklabelposition": { - "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", - "dflt": "outside", - "editType": "colorbars", + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "style", "valType": "enumerated", "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] }, - "ticklabelstep": { - "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", - "dflt": 1, - "editType": "colorbars", + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "style", + "extras": [ + "normal", + "bold" + ], + "max": 1000, "min": 1, "valType": "integer" - }, - "ticklen": { - "description": "Sets the tick length (in px).", - "dflt": 5, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "tickmode": { - "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", - "editType": "colorbars", - "impliedEdits": {}, - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ] - }, - "tickprefix": { - "description": "Sets a tick label prefix.", - "dflt": "", - "editType": "colorbars", - "valType": "string" - }, - "ticks": { - "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", - "dflt": "", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ] - }, - "ticksuffix": { - "description": "Sets a tick label suffix.", - "dflt": "", - "editType": "colorbars", - "valType": "string" - }, - "ticktext": { - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "editType": "colorbars", - "valType": "data_array" - }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, - "tickvals": { - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "editType": "colorbars", - "valType": "data_array" - }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, - "tickwidth": { - "description": "Sets the tick width (in px).", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "title": { - "editType": "colorbars", - "font": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Sets this color bar's title font.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "role": "object", - "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - }, - "text": { - "description": "Sets the title of the color bar.", - "editType": "colorbars", - "valType": "string" - } - }, - "x": { - "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", - "editType": "colorbars", - "valType": "number" - }, - "xanchor": { - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ] - }, - "xpad": { - "description": "Sets the amount of padding (in px) along the x direction.", - "dflt": 10, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "xref": { - "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", - "dflt": "paper", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "container", - "paper" - ] - }, - "y": { - "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", - "editType": "colorbars", - "valType": "number" - }, - "yanchor": { - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ] - }, - "ypad": { - "description": "Sets the amount of padding (in px) along the y direction.", - "dflt": 10, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "yref": { - "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", - "dflt": "paper", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "container", - "paper" - ] } }, - "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "autocolorscale": false - }, - "valType": "colorscale" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", + "role": "object", + "text": { + "description": "Sets the title of the legend group.", + "dflt": "", + "editType": "style", "valType": "string" - }, - "cornerradius": { - "description": "Sets the rounding of corners. May be an integer number of pixels, or a percentage of bar width (as a string ending in %). Defaults to `layout.barcornerradius`. In stack or relative barmode, the first trace to set cornerradius is used for the whole stack.", + } + }, + "legendrank": { + "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", + "dflt": 1000, + "editType": "style", + "valType": "number" + }, + "legendwidth": { + "description": "Sets the width (in px or fraction) of the legend for this trace.", + "editType": "style", + "min": 0, + "valType": "number" + }, + "marker": { + "color": { + "description": "Sets the aggregation data.", "editType": "calc", - "valType": "any" + "valType": "data_array" }, "editType": "calc", - "line": { - "autocolorscale": { - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "cauto": { - "description": "Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "cmax": { - "description": "Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "valType": "number" - }, - "cmid": { - "description": "Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "valType": "number" - }, - "cmin": { - "description": "Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "valType": "number" - }, - "color": { - "arrayOk": true, - "description": "Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.", - "editType": "style", - "valType": "color" - }, - "coloraxis": { - "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", - "dflt": null, - "editType": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "valType": "subplotid" - }, - "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "autocolorscale": false - }, - "valType": "colorscale" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "editType": "calc", - "reversescale": { - "description": "Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.", - "dflt": false, - "editType": "plot", - "valType": "boolean" - }, - "role": "object", - "width": { - "arrayOk": true, - "description": "Sets the width (in px) of the lines bounding the marker points.", - "dflt": 0, - "editType": "style", - "min": 0, - "valType": "number" - }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" - } - }, - "opacity": { - "arrayOk": true, - "description": "Sets the opacity of the bars.", - "dflt": 1, - "editType": "style", - "max": 1, - "min": 0, - "valType": "number" - }, - "opacitysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `opacity`.", - "editType": "none", - "valType": "string" - }, - "pattern": { - "bgcolor": { - "arrayOk": true, - "description": "When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is *overlay*. Otherwise, defaults to a transparent background.", - "editType": "style", - "valType": "color" - }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the pattern within the marker.", - "editType": "style", - "fgcolor": { - "arrayOk": true, - "description": "When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is *replace*. Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.", - "editType": "style", - "valType": "color" - }, - "fgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `fgcolor`.", - "editType": "none", - "valType": "string" - }, - "fgopacity": { - "description": "Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.", - "editType": "style", - "max": 1, - "min": 0, - "valType": "number" - }, - "fillmode": { - "description": "Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.", - "dflt": "replace", - "editType": "style", - "valType": "enumerated", - "values": [ - "replace", - "overlay" - ] - }, - "path": { - "arrayOk": true, - "description": "Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.", - "editType": "style", - "valType": "string" - }, - "pathsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `path`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "shape": { - "arrayOk": true, - "description": "Sets the shape of the pattern fill. By default, no pattern is used for filling the area.", - "dflt": "", - "editType": "style", - "valType": "enumerated", - "values": [ - "", - "/", - "\\", - "x", - "-", - "|", - "+", - "." - ] - }, - "shapesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shape`.", - "editType": "none", - "valType": "string" - }, - "size": { - "arrayOk": true, - "description": "Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.", - "dflt": 8, - "editType": "style", - "min": 0, - "valType": "number" - }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, - "solidity": { - "arrayOk": true, - "description": "Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.", - "dflt": 0.3, - "editType": "style", - "max": 1, - "min": 0, - "valType": "number" - }, - "soliditysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `solidity`.", - "editType": "none", - "valType": "string" - } - }, - "reversescale": { - "description": "Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.", - "dflt": false, - "editType": "plot", - "valType": "boolean" - }, - "role": "object", - "showscale": { - "description": "Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.", - "dflt": false, - "editType": "calc", - "valType": "boolean" - } + "role": "object" }, "meta": { "arrayOk": true, @@ -41786,11 +37396,6 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", @@ -41810,12 +37415,6 @@ "min": 0, "valType": "integer" }, - "offsetgroup": { - "description": "Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, "opacity": { "description": "Sets the opacity of the trace.", "dflt": 1, @@ -41824,21 +37423,31 @@ "min": 0, "valType": "number" }, - "orientation": { - "description": "Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal).", - "editType": "calc+clearAxisTypes", - "valType": "enumerated", - "values": [ - "v", - "h" - ] + "reversescale": { + "description": "Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.", + "dflt": false, + "editType": "plot", + "valType": "boolean" }, - "outsidetextfont": { + "showlegend": { + "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", + "dflt": false, + "editType": "style", + "valType": "boolean" + }, + "showscale": { + "description": "Determines whether or not a colorbar is displayed for this trace.", + "dflt": true, + "editType": "calc", + "valType": "boolean" + }, + "textfont": { "color": { + "dflt": "auto", "editType": "style", "valType": "color" }, - "description": "Sets the font used for `text` lying outside the bar.", + "description": "Sets the text font.", "editType": "plot", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", @@ -41869,6 +37478,7 @@ "valType": "string" }, "size": { + "dflt": "auto", "editType": "plot", "min": 1, "valType": "number" @@ -41922,247 +37532,39 @@ "valType": "integer" } }, - "selected": { - "editType": "style", - "marker": { - "color": { - "description": "Sets the marker color of selected points.", - "editType": "style", - "valType": "color" - }, - "editType": "style", - "opacity": { - "description": "Sets the marker opacity of selected points.", - "editType": "style", - "max": 1, - "min": 0, - "valType": "number" - }, - "role": "object" - }, - "role": "object", - "textfont": { - "color": { - "description": "Sets the text font color of selected points.", - "editType": "style", - "valType": "color" - }, - "editType": "style", - "role": "object" - } + "texttemplate": { + "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `z`", + "dflt": "", + "editType": "plot", + "valType": "string" }, - "selectedpoints": { - "description": "Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.", - "editType": "calc", + "texttemplatefallback": { + "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", + "dflt": "-", + "editType": "plot", "valType": "any" }, - "showlegend": { - "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", - "dflt": true, - "editType": "style", - "valType": "boolean" + "type": "histogram2d", + "uid": { + "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", + "editType": "plot", + "valType": "string" }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } + "uirevision": { + "description": "Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.", + "editType": "none", + "valType": "any" }, - "text": { - "arrayOk": true, - "description": "Sets hover text elements associated with each bar. If a single string, the same string appears over all bars. If an array of string, the items are mapped in order to the this trace's coordinates.", - "dflt": "", + "visible": { + "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", + "dflt": true, "editType": "calc", - "valType": "string" - }, - "textangle": { - "description": "Sets the angle of the tick labels with respect to the bar. For example, a `tickangle` of -90 draws the tick labels vertically. With *auto* the texts may automatically be rotated to fit with the maximum size in bars.", - "dflt": "auto", - "editType": "plot", - "valType": "angle" - }, - "textfont": { - "color": { - "editType": "style", - "valType": "color" - }, - "description": "Sets the text font.", - "editType": "plot", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "plot", - "valType": "string" - }, - "size": { - "editType": "plot", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "textposition": { - "arrayOk": false, - "description": "Specifies the location of the `text`. *inside* positions `text` inside, next to the bar end (rotated and scaled if needed). *outside* positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. *auto* tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If *none*, no text appears.", - "dflt": "auto", - "editType": "calc", - "valType": "enumerated", - "values": [ - "inside", - "outside", - "auto", - "none" - ] - }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, - "texttemplate": { - "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `label` and `value`.", - "dflt": "", - "editType": "plot", - "valType": "string" - }, - "texttemplatefallback": { - "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", - "dflt": "-", - "editType": "plot", - "valType": "any" - }, - "type": "histogram", - "uid": { - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", - "editType": "plot", - "valType": "string" - }, - "uirevision": { - "description": "Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.", - "editType": "none", - "valType": "any" - }, - "unselected": { - "editType": "style", - "marker": { - "color": { - "description": "Sets the marker color of unselected points, applied only when a selection exists.", - "editType": "style", - "valType": "color" - }, - "editType": "style", - "opacity": { - "description": "Sets the marker opacity of unselected points, applied only when a selection exists.", - "editType": "style", - "max": 1, - "min": 0, - "valType": "number" - }, - "role": "object" - }, - "role": "object", - "textfont": { - "color": { - "description": "Sets the text font color of unselected points, applied only when a selection exists.", - "editType": "style", - "valType": "color" - }, - "editType": "style", - "role": "object" - } - }, - "visible": { - "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", - "dflt": true, - "editType": "calc", - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ] + "valType": "enumerated", + "values": [ + true, + false, + "legendonly" + ] }, "x": { "description": "Sets the sample data to be binned on the x axis.", @@ -42175,6 +37577,12 @@ "editType": "calc+clearAxisTypes", "valType": "subplotid" }, + "xbingroup": { + "description": "Set a group of histogram traces which will have compatible x-bin settings. Using `xbingroup`, histogram2d and histogram2dcontour traces (on axes of the same axis type) can have compatible x-bin settings. Note that the same `xbingroup` value can be used to set (1D) histogram `bingroup`", + "dflt": "", + "editType": "calc", + "valType": "string" + }, "xbins": { "editType": "calc", "end": { @@ -42184,12 +37592,12 @@ }, "role": "object", "size": { - "description": "Sets the size of each x axis bin. Default behavior: If `nbinsx` is 0 or omitted, we choose a nice round bin size such that the number of bins is about the same as the typical number of samples in each bin. If `nbinsx` is provided, we choose a nice round bin size giving no more than that many bins. For date data, use milliseconds or *M* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). If multiple non-overlaying histograms share a subplot, the first explicit `size` is used and all others discarded. If no `size` is provided,the sample data from all traces is combined to determine `size` as described above.", + "description": "Sets the size of each x axis bin. Default behavior: If `nbinsx` is 0 or omitted, we choose a nice round bin size such that the number of bins is about the same as the typical number of samples in each bin. If `nbinsx` is provided, we choose a nice round bin size giving no more than that many bins. For date data, use milliseconds or *M* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). ", "editType": "calc", "valType": "any" }, "start": { - "description": "Sets the starting value for the x axis bins. Defaults to the minimum data value, shifted down if necessary to make nice round values and to remove ambiguous bin edges. For example, if most of the data is integers we shift the bin edges 0.5 down, so a `size` of 5 would have a default `start` of -0.5, so it is clear that 0-4 are in the first bin, 5-9 in the second, but continuous data gets a start of 0 and bins [0,5), [5,10) etc. Dates behave similarly, and `start` should be a date string. For category data, `start` is based on the category serial numbers, and defaults to -0.5. If multiple non-overlaying histograms share a subplot, the first explicit `start` is used exactly and all others are shifted down (if necessary) to differ from that one by an integer number of bins.", + "description": "Sets the starting value for the x axis bins. Defaults to the minimum data value, shifted down if necessary to make nice round values and to remove ambiguous bin edges. For example, if most of the data is integers we shift the bin edges 0.5 down, so a `size` of 5 would have a default `start` of -0.5, so it is clear that 0-4 are in the first bin, 5-9 in the second, but continuous data gets a start of 0 and bins [0,5), [5,10) etc. Dates behave similarly, and `start` should be a date string. For category data, `start` is based on the category serial numbers, and defaults to -0.5. ", "editType": "calc", "valType": "any" } @@ -42218,17 +37626,19 @@ "ummalqura" ] }, + "xgap": { + "description": "Sets the horizontal gap (in pixels) between bricks.", + "dflt": 0, + "editType": "plot", + "min": 0, + "valType": "number" + }, "xhoverformat": { - "description": "Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", "dflt": "", "editType": "none", "valType": "string" }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", - "editType": "none", - "valType": "string" - }, "y": { "description": "Sets the sample data to be binned on the y axis.", "editType": "calc+clearAxisTypes", @@ -42240,6 +37650,12 @@ "editType": "calc+clearAxisTypes", "valType": "subplotid" }, + "ybingroup": { + "description": "Set a group of histogram traces which will have compatible y-bin settings. Using `ybingroup`, histogram2d and histogram2dcontour traces (on axes of the same axis type) can have compatible y-bin settings. Note that the same `ybingroup` value can be used to set (1D) histogram `bingroup`", + "dflt": "", + "editType": "calc", + "valType": "string" + }, "ybins": { "editType": "calc", "end": { @@ -42249,12 +37665,12 @@ }, "role": "object", "size": { - "description": "Sets the size of each y axis bin. Default behavior: If `nbinsy` is 0 or omitted, we choose a nice round bin size such that the number of bins is about the same as the typical number of samples in each bin. If `nbinsy` is provided, we choose a nice round bin size giving no more than that many bins. For date data, use milliseconds or *M* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). If multiple non-overlaying histograms share a subplot, the first explicit `size` is used and all others discarded. If no `size` is provided,the sample data from all traces is combined to determine `size` as described above.", + "description": "Sets the size of each y axis bin. Default behavior: If `nbinsy` is 0 or omitted, we choose a nice round bin size such that the number of bins is about the same as the typical number of samples in each bin. If `nbinsy` is provided, we choose a nice round bin size giving no more than that many bins. For date data, use milliseconds or *M* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). ", "editType": "calc", "valType": "any" }, "start": { - "description": "Sets the starting value for the y axis bins. Defaults to the minimum data value, shifted down if necessary to make nice round values and to remove ambiguous bin edges. For example, if most of the data is integers we shift the bin edges 0.5 down, so a `size` of 5 would have a default `start` of -0.5, so it is clear that 0-4 are in the first bin, 5-9 in the second, but continuous data gets a start of 0 and bins [0,5), [5,10) etc. Dates behave similarly, and `start` should be a date string. For category data, `start` is based on the category serial numbers, and defaults to -0.5. If multiple non-overlaying histograms share a subplot, the first explicit `start` is used exactly and all others are shifted down (if necessary) to differ from that one by an integer number of bins.", + "description": "Sets the starting value for the y axis bins. Defaults to the minimum data value, shifted down if necessary to make nice round values and to remove ambiguous bin edges. For example, if most of the data is integers we shift the bin edges 0.5 down, so a `size` of 5 would have a default `start` of -0.5, so it is clear that 0-4 are in the first bin, 5-9 in the second, but continuous data gets a start of 0 and bins [0,5), [5,10) etc. Dates behave similarly, and `start` should be a date string. For category data, `start` is based on the category serial numbers, and defaults to -0.5. ", "editType": "calc", "valType": "any" } @@ -42283,85 +37699,88 @@ "ummalqura" ] }, + "ygap": { + "description": "Sets the vertical gap (in pixels) between bricks.", + "dflt": 0, + "editType": "plot", + "min": 0, + "valType": "number" + }, "yhoverformat": { - "description": "Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", "dflt": "", "editType": "none", "valType": "string" }, - "ysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `y`.", + "z": { + "description": "Sets the aggregation data.", + "editType": "calc", + "valType": "data_array" + }, + "zauto": { + "description": "Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.", + "dflt": true, + "editType": "calc", + "impliedEdits": {}, + "valType": "boolean" + }, + "zhoverformat": { + "description": "Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.", + "dflt": "", "editType": "none", "valType": "string" }, - "zorder": { - "description": "Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.", - "dflt": 0, + "zmax": { + "description": "Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.", + "dflt": null, "editType": "plot", - "valType": "integer" - } - }, - "categories": [ - "bar-like", - "cartesian", - "svg", - "bar", - "histogram", - "oriented", - "errorBarsOK", - "showLegend" - ], - "layoutAttributes": { - "barcornerradius": { - "description": "Sets the rounding of bar corners. May be an integer number of pixels, or a percentage of bar width (as a string ending in %).", - "editType": "calc", - "valType": "any" - }, - "bargap": { - "description": "Sets the gap (in plot fraction) between bars of adjacent location coordinates.", - "editType": "calc", - "max": 1, - "min": 0, + "impliedEdits": { + "zauto": false + }, "valType": "number" }, - "bargroupgap": { - "description": "Sets the gap (in plot fraction) between bars of the same location coordinate.", - "dflt": 0, + "zmid": { + "description": "Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.", + "dflt": null, "editType": "calc", - "max": 1, - "min": 0, + "impliedEdits": {}, "valType": "number" }, - "barmode": { - "description": "Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *relative*, the bars are stacked on top of one another, with negative values below the axis, positive values above With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to reduce *opacity* to see multiple bars.", - "dflt": "group", - "editType": "calc", - "valType": "enumerated", - "values": [ - "stack", - "group", - "overlay", - "relative" - ] + "zmin": { + "description": "Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.", + "dflt": null, + "editType": "plot", + "impliedEdits": { + "zauto": false + }, + "valType": "number" }, - "barnorm": { - "description": "Sets the normalization for bar traces on the graph. With *fraction*, the value of each bar is divided by the sum of all values at that location coordinate. *percent* is the same but multiplied by 100 to show percentages.", - "dflt": "", + "zsmooth": { + "description": "Picks a smoothing algorithm use to smooth `z` data.", + "dflt": false, "editType": "calc", "valType": "enumerated", "values": [ - "", - "fraction", - "percent" + "fast", + "best", + false ] } }, + "categories": [ + "cartesian", + "svg", + "2dMap", + "histogram", + "showLegend" + ], "meta": { - "description": "The sample data from which statistics are computed is set in `x` for vertically spanning histograms and in `y` for horizontally spanning histograms. Binning options are set `xbins` and `ybins` respectively if no aggregation data is provided." + "description": "The sample data from which statistics are computed is set in `x` and `y` (where `x` and `y` represent marginal distributions, binning is set in `xbins` and `ybins` in this case) or `z` (where `z` represent the 2D distribution and binning set, binning is set by `x` and `y` in this case). The resulting distribution is visualized as a heatmap.", + "hrName": "histogram_2d" }, - "type": "histogram" + "type": "histogram2d" }, - "histogram2d": { + "histogram2dcontour": { "animatable": false, "attributes": { "autobinx": { @@ -42378,7 +37797,14 @@ }, "autocolorscale": { "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", - "dflt": false, + "dflt": true, + "editType": "calc", + "impliedEdits": {}, + "valType": "boolean" + }, + "autocontour": { + "description": "Determines whether or not the contour level attributes are picked by an algorithm. If *true*, the number of contour levels can be set in `ncontours`. If *false*, set the contour level attributes in `contours`.", + "dflt": true, "editType": "calc", "impliedEdits": {}, "valType": "boolean" @@ -42808,21 +38234,11 @@ "editType": "colorbars", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "colorbars", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -42923,7 +38339,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -43004,7 +38420,7 @@ } }, "colorscale": { - "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -43012,16 +38428,203 @@ }, "valType": "colorscale" }, + "contours": { + "coloring": { + "description": "Determines the coloring method showing the contour values. If *fill*, coloring is done evenly between each contour level If *heatmap*, a heatmap gradient coloring is applied between each contour level. If *lines*, coloring is done on the contour lines. If *none*, no coloring is applied on this trace.", + "dflt": "fill", + "editType": "calc", + "valType": "enumerated", + "values": [ + "fill", + "heatmap", + "lines", + "none" + ] + }, + "editType": "calc", + "end": { + "description": "Sets the end contour level value. Must be more than `contours.start`", + "dflt": null, + "editType": "plot", + "impliedEdits": { + "^autocontour": false + }, + "valType": "number" + }, + "impliedEdits": { + "autocontour": false, + "role": "object" + }, + "labelfont": { + "color": { + "editType": "style", + "valType": "color" + }, + "description": "Sets the font used for labeling the contour levels. The default color comes from the lines, if shown. The default family and size come from `layout.font`.", + "editType": "plot", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "plot", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "size": { + "editType": "plot", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "labelformat": { + "description": "Sets the contour label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.", + "dflt": "", + "editType": "plot", + "valType": "string" + }, + "operation": { + "description": "Sets the constraint operation. *=* keeps regions equal to `value` *<* and *<=* keep regions less than `value` *>* and *>=* keep regions greater than `value` *[]*, *()*, *[)*, and *(]* keep regions inside `value[0]` to `value[1]` *][*, *)(*, *](*, *)[* keep regions outside `value[0]` to value[1]` Open vs. closed intervals make no difference to constraint display, but all versions are allowed.", + "dflt": "=", + "editType": "calc", + "valType": "enumerated", + "values": [ + "=", + "<", + ">=", + ">", + "<=", + "[]", + "()", + "[)", + "(]", + "][", + ")(", + "](", + ")[" + ] + }, + "role": "object", + "showlabels": { + "description": "Determines whether to label the contour lines with their values.", + "dflt": false, + "editType": "plot", + "valType": "boolean" + }, + "showlines": { + "description": "Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*.", + "dflt": true, + "editType": "plot", + "valType": "boolean" + }, + "size": { + "description": "Sets the step between each contour level. Must be positive.", + "dflt": null, + "editType": "plot", + "impliedEdits": { + "^autocontour": false + }, + "min": 0, + "valType": "number" + }, + "start": { + "description": "Sets the starting contour level value. Must be less than `contours.end`", + "dflt": null, + "editType": "plot", + "impliedEdits": { + "^autocontour": false + }, + "valType": "number" + }, + "type": { + "description": "If `levels`, the data is represented as a contour plot with multiple levels displayed. If `constraint`, the data is represented as constraints with the invalid region shaded as specified by the `operation` and `value` parameters.", + "dflt": "levels", + "editType": "calc", + "valType": "enumerated", + "values": [ + "levels", + "constraint" + ] + }, + "value": { + "description": "Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (`=,<,>=,>,<=`) *value* is expected to be a number. When `operation` is set to one of the interval values (`[],(),[),(],][,)(,](,)[`) *value* is expected to be an array of two numbers where the first is the lower bound and the second is the upper bound.", + "dflt": 0, + "editType": "calc", + "valType": "any" + } + }, "customdata": { "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, "histfunc": { "description": "Specifies the binning function used for this histogram trace. If *count*, the histogram values are computed by counting the number of values lying inside each bin. If *sum*, *avg*, *min*, *max*, the histogram values are computed using the sum, the average, the minimum or the maximum of the values lying inside each bin respectively.", "dflt": "count", @@ -43050,7 +38653,7 @@ }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", "dflt": "all", "editType": "none", "extras": [ @@ -43067,11 +38670,6 @@ ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -43085,33 +38683,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -43119,11 +38702,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -43134,11 +38712,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -43154,11 +38727,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -43167,22 +38735,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -43194,11 +38752,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -43212,11 +38765,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -43232,11 +38780,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -43249,11 +38792,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -43264,11 +38802,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -43290,21 +38823,11 @@ "editType": "none", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", @@ -43428,17 +38951,50 @@ "min": 0, "valType": "number" }, + "line": { + "color": { + "description": "Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*.", + "editType": "style+colorbars", + "valType": "color" + }, + "dash": { + "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", + "dflt": "solid", + "editType": "style", + "valType": "string", + "values": [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" + ] + }, + "editType": "plot", + "role": "object", + "smoothing": { + "description": "Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing.", + "dflt": 1, + "editType": "plot", + "max": 1.3, + "min": 0, + "valType": "number" + }, + "width": { + "description": "Sets the contour line width in (in px)", + "dflt": 0.5, + "editType": "style+colorbars", + "min": 0, + "valType": "number" + } + }, "marker": { "color": { "description": "Sets the aggregation data.", "editType": "calc", "valType": "data_array" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "role": "object" }, @@ -43448,11 +39004,6 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", @@ -43472,6 +39023,13 @@ "min": 0, "valType": "integer" }, + "ncontours": { + "description": "Sets the maximum number of contour levels. The actual number of contours will be chosen automatically to be less than or equal to the value of `ncontours`. Has an effect only if `autocontour` is *true* or if `contours.size` is missing.", + "dflt": 15, + "editType": "calc", + "min": 1, + "valType": "integer" + }, "opacity": { "description": "Sets the opacity of the trace.", "dflt": 1, @@ -43488,7 +39046,7 @@ }, "showlegend": { "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", - "dflt": false, + "dflt": true, "editType": "style", "valType": "boolean" }, @@ -43498,32 +39056,13 @@ "editType": "calc", "valType": "boolean" }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, "textfont": { "color": { "dflt": "auto", "editType": "style", "valType": "color" }, - "description": "Sets the text font.", + "description": "For this trace it only has an effect if `coloring` is set to *heatmap*. Sets the text font.", "editType": "plot", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", @@ -43609,7 +39148,7 @@ } }, "texttemplate": { - "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `z`", + "description": "For this trace it only has an effect if `coloring` is set to *heatmap*. Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `x`, `y`, `z` and `text`.", "dflt": "", "editType": "plot", "valType": "string" @@ -43620,7 +39159,7 @@ "editType": "plot", "valType": "any" }, - "type": "histogram2d", + "type": "histogram2dcontour", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", "editType": "plot", @@ -43702,24 +39241,12 @@ "ummalqura" ] }, - "xgap": { - "description": "Sets the horizontal gap (in pixels) between bricks.", - "dflt": 0, - "editType": "plot", - "min": 0, - "valType": "number" - }, "xhoverformat": { - "description": "Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", "dflt": "", "editType": "none", "valType": "string" }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", - "editType": "none", - "valType": "string" - }, "y": { "description": "Sets the sample data to be binned on the y axis.", "editType": "calc+clearAxisTypes", @@ -43780,24 +39307,12 @@ "ummalqura" ] }, - "ygap": { - "description": "Sets the vertical gap (in pixels) between bricks.", - "dflt": 0, - "editType": "plot", - "min": 0, - "valType": "number" - }, "yhoverformat": { - "description": "Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", "dflt": "", "editType": "none", "valType": "string" }, - "ysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `y`.", - "editType": "none", - "valType": "string" - }, "z": { "description": "Sets the aggregation data.", "editType": "calc", @@ -43811,7 +39326,7 @@ "valType": "boolean" }, "zhoverformat": { - "description": "Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.", + "description": "Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.", "dflt": "", "editType": "none", "valType": "string" @@ -43819,7 +39334,7 @@ "zmax": { "description": "Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.", "dflt": null, - "editType": "plot", + "editType": "calc", "impliedEdits": { "zauto": false }, @@ -43835,292 +39350,188 @@ "zmin": { "description": "Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.", "dflt": null, - "editType": "plot", + "editType": "calc", "impliedEdits": { "zauto": false }, "valType": "number" - }, - "zsmooth": { - "description": "Picks a smoothing algorithm use to smooth `z` data.", - "dflt": false, - "editType": "calc", - "valType": "enumerated", - "values": [ - "fast", - "best", - false - ] - }, - "zsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `z`.", - "editType": "none", - "valType": "string" } }, "categories": [ "cartesian", "svg", "2dMap", + "contour", "histogram", "showLegend" ], "meta": { - "description": "The sample data from which statistics are computed is set in `x` and `y` (where `x` and `y` represent marginal distributions, binning is set in `xbins` and `ybins` in this case) or `z` (where `z` represent the 2D distribution and binning set, binning is set by `x` and `y` in this case). The resulting distribution is visualized as a heatmap.", - "hrName": "histogram_2d" + "description": "The sample data from which statistics are computed is set in `x` and `y` (where `x` and `y` represent marginal distributions, binning is set in `xbins` and `ybins` in this case) or `z` (where `z` represent the 2D distribution and binning set, binning is set by `x` and `y` in this case). The resulting distribution is visualized as a contour plot.", + "hrName": "histogram_2d_contour" }, - "type": "histogram2d" + "type": "histogram2dcontour" }, - "histogram2dcontour": { - "animatable": false, + "icicle": { + "animatable": true, "attributes": { - "autobinx": { - "description": "Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobinx` is not needed. However, we accept `autobinx: true` or `false` and will update `xbins` accordingly before deleting `autobinx` from the trace.", - "dflt": null, - "editType": "calc", - "valType": "boolean" - }, - "autobiny": { - "description": "Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobiny` is not needed. However, we accept `autobiny: true` or `false` and will update `ybins` accordingly before deleting `autobiny` from the trace.", - "dflt": null, - "editType": "calc", - "valType": "boolean" - }, - "autocolorscale": { - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "autocontour": { - "description": "Determines whether or not the contour level attributes are picked by an algorithm. If *true*, the number of contour levels can be set in `ncontours`. If *false*, set the contour level attributes in `contours`.", - "dflt": true, + "branchvalues": { + "description": "Determines how the items in `values` are summed. When set to *total*, items in `values` are taken to be value of all its descendants. When set to *remainder*, items in `values` corresponding to the root and the branches sectors are taken to be the extra part not part of the sum of the values at their leaves.", + "dflt": "remainder", "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" + "valType": "enumerated", + "values": [ + "remainder", + "total" + ] }, - "bingroup": { - "description": "Set the `xbingroup` and `ybingroup` default prefix For example, setting a `bingroup` of *1* on two histogram2d traces will make them their x-bins and y-bins match separately.", - "dflt": "", + "count": { + "description": "Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0.", + "dflt": "leaves", "editType": "calc", - "valType": "string" + "flags": [ + "branches", + "leaves" + ], + "valType": "flaglist" }, - "coloraxis": { - "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", - "dflt": null, + "customdata": { + "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", "editType": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "valType": "subplotid" + "valType": "data_array" }, - "colorbar": { - "bgcolor": { - "description": "Sets the color of padded area.", - "dflt": "rgba(0,0,0,0)", - "editType": "colorbars", - "valType": "color" - }, - "bordercolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" - }, - "borderwidth": { - "description": "Sets the width (in px) or the border enclosing this color bar.", + "domain": { + "column": { + "description": "If there is a layout grid, use the domain for this column in the grid for this icicle trace.", "dflt": 0, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "dtick": { - "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "valType": "any" - }, - "editType": "colorbars", - "exponentformat": { - "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B. *SI* uses prefixes from \"femto\" f (10^-15) to \"tera\" T (10^12). *SI extended* covers instead the full SI range from \"quecto\" q (10^-30) to \"quetta\" Q (10^30). If *SI* or *SI extended* is used and the exponent is beyond the above ranges, the formatting rule will automatically be switched to the power notation.", - "dflt": "B", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" - ] - }, - "labelalias": { - "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", - "dflt": false, - "editType": "colorbars", - "valType": "any" - }, - "len": { - "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "lenmode": { - "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", - "dflt": "fraction", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ] - }, - "minexponent": { - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", - "dflt": 3, - "editType": "colorbars", + "editType": "calc", "min": 0, - "valType": "number" + "valType": "integer" }, - "nticks": { - "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", + "editType": "calc", + "role": "object", + "row": { + "description": "If there is a layout grid, use the domain for this row in the grid for this icicle trace.", "dflt": 0, - "editType": "colorbars", + "editType": "calc", "min": 0, "valType": "integer" }, - "orientation": { - "description": "Sets the orientation of the colorbar.", - "dflt": "v", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "h", - "v" - ] - }, - "outlinecolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" - }, - "outlinewidth": { - "description": "Sets the width (in px) of the axis line.", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "role": "object", - "separatethousands": { - "description": "If \"true\", even 4-digit integers are separated", - "dflt": false, - "editType": "colorbars", - "valType": "boolean" - }, - "showexponent": { - "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "showticklabels": { - "description": "Determines whether or not the tick labels are drawn.", - "dflt": true, - "editType": "colorbars", - "valType": "boolean" - }, - "showtickprefix": { - "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "showticksuffix": { - "description": "Same as `showtickprefix` but for tick suffixes.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "thickness": { - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "dflt": 30, - "editType": "colorbars", - "min": 0, - "valType": "number" + "x": { + "description": "Sets the horizontal domain of this icicle trace (in plot fraction).", + "dflt": [ + 0, + 1 + ], + "editType": "calc", + "items": [ + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + } + ], + "valType": "info_array" }, - "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "dflt": "pixels", - "editType": "colorbars", + "y": { + "description": "Sets the vertical domain of this icicle trace (in plot fraction).", + "dflt": [ + 0, + 1 + ], + "editType": "calc", + "items": [ + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + } + ], + "valType": "info_array" + } + }, + "hoverinfo": { + "arrayOk": true, + "description": "Determines what trace information appears on hover. Flags are rendered in a fixed order; use `hovertemplate` if you need explicit control over the rendered string, including the order of fields and surrounding text.", + "dflt": "label+text+value+name", + "editType": "none", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "label", + "text", + "value", + "name", + "current path", + "percent root", + "percent entry", + "percent parent" + ], + "valType": "flaglist" + }, + "hoverlabel": { + "align": { + "arrayOk": true, + "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", + "dflt": "auto", + "editType": "none", "valType": "enumerated", "values": [ - "fraction", - "pixels" + "left", + "right", + "auto" ] }, - "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "valType": "any" - }, - "tickangle": { - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", - "dflt": "auto", - "editType": "colorbars", - "valType": "angle" + "bgcolor": { + "arrayOk": true, + "description": "Sets the background color of the hover labels for this trace", + "editType": "none", + "valType": "color" }, - "tickcolor": { - "description": "Sets the tick color.", - "dflt": "#444", - "editType": "colorbars", + "bordercolor": { + "arrayOk": true, + "description": "Sets the border color of the hover labels for this trace.", + "editType": "none", "valType": "color" }, - "tickfont": { + "editType": "none", + "font": { "color": { - "editType": "colorbars", + "arrayOk": true, + "editType": "none", "valType": "color" }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", + "description": "Sets the font used in hover labels.", + "editType": "none", "family": { + "arrayOk": true, "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "colorbars", + "editType": "none", "noBlank": true, "strict": true, "valType": "string" }, "lineposition": { + "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", - "editType": "colorbars", + "editType": "none", "extras": [ "none" ], @@ -44133,20 +39544,23 @@ }, "role": "object", "shadow": { + "arrayOk": true, "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", - "editType": "colorbars", + "editType": "none", "valType": "string" }, "size": { - "editType": "colorbars", + "arrayOk": true, + "editType": "none", "min": 1, "valType": "number" }, "style": { + "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", - "editType": "colorbars", + "editType": "none", "valType": "enumerated", "values": [ "normal", @@ -44154,9 +39568,10 @@ ] }, "textcase": { + "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", - "editType": "colorbars", + "editType": "none", "valType": "enumerated", "values": [ "normal", @@ -44166,9 +39581,10 @@ ] }, "variant": { + "arrayOk": true, "description": "Sets the variant of the font.", "dflt": "normal", - "editType": "colorbars", + "editType": "none", "valType": "enumerated", "values": [ "normal", @@ -44180,9 +39596,10 @@ ] }, "weight": { + "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", - "editType": "colorbars", + "editType": "none", "extras": [ "normal", "bold" @@ -44192,380 +39609,180 @@ "valType": "integer" } }, - "tickformat": { - "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", - "dflt": "", - "editType": "colorbars", - "valType": "string" - }, - "tickformatstops": { - "items": { - "tickformatstop": { - "dtickrange": { - "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", - "editType": "colorbars", - "items": [ - { - "editType": "colorbars", - "valType": "any" - }, - { - "editType": "colorbars", - "valType": "any" - } - ], - "valType": "info_array" - }, - "editType": "colorbars", - "enabled": { - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", - "dflt": true, - "editType": "colorbars", - "valType": "boolean" - }, - "name": { - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", - "editType": "colorbars", - "valType": "string" - }, - "role": "object", - "templateitemname": { - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", - "editType": "colorbars", - "valType": "string" - }, - "value": { - "description": "string - dtickformat for described zoom level, the same as *tickformat*", - "dflt": "", - "editType": "colorbars", - "valType": "string" - } - } - }, - "role": "object" - }, - "ticklabeloverflow": { - "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "allow", - "hide past div", - "hide past domain" - ] - }, - "ticklabelposition": { - "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", - "dflt": "outside", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" - ] - }, - "ticklabelstep": { - "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", - "dflt": 1, - "editType": "colorbars", - "min": 1, + "namelength": { + "arrayOk": true, + "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", + "dflt": 15, + "editType": "none", + "min": -1, "valType": "integer" }, - "ticklen": { - "description": "Sets the tick length (in px).", - "dflt": 5, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "tickmode": { - "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", - "editType": "colorbars", - "impliedEdits": {}, - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ] - }, - "tickprefix": { - "description": "Sets a tick label prefix.", - "dflt": "", - "editType": "colorbars", - "valType": "string" - }, - "ticks": { - "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", - "dflt": "", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ] - }, - "ticksuffix": { - "description": "Sets a tick label suffix.", - "dflt": "", - "editType": "colorbars", - "valType": "string" - }, - "ticktext": { - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "editType": "colorbars", - "valType": "data_array" - }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", + "role": "object", + "showarrow": { + "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", + "dflt": true, "editType": "none", - "valType": "string" - }, - "tickvals": { - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "editType": "colorbars", - "valType": "data_array" + "valType": "boolean" + } + }, + "hovertemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry` and `percentParent`. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", + "dflt": "", + "editType": "none", + "valType": "string" + }, + "hovertemplatefallback": { + "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", + "dflt": "-", + "editType": "none", + "valType": "any" + }, + "hovertext": { + "arrayOk": true, + "description": "Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a *text* flag.", + "dflt": "", + "editType": "style", + "valType": "string" + }, + "ids": { + "anim": true, + "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", + "editType": "calc", + "valType": "data_array" + }, + "insidetextfont": { + "color": { + "arrayOk": true, + "editType": "plot", + "valType": "color" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", + "description": "Sets the font used for `textinfo` lying inside the sector.", + "editType": "plot", + "family": { + "arrayOk": true, + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "plot", + "noBlank": true, + "strict": true, "valType": "string" }, - "tickwidth": { - "description": "Sets the tick width (in px).", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" }, - "title": { - "editType": "colorbars", - "font": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Sets this color bar's title font.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "role": "object", - "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - }, - "text": { - "description": "Sets the title of the color bar.", - "editType": "colorbars", - "valType": "string" - } + "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" }, - "x": { - "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", - "editType": "colorbars", + "size": { + "arrayOk": true, + "editType": "plot", + "min": 1, "valType": "number" }, - "xanchor": { - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", - "editType": "colorbars", + "style": { + "arrayOk": true, + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "plot", "valType": "enumerated", "values": [ - "left", - "center", - "right" + "normal", + "italic" ] }, - "xpad": { - "description": "Sets the amount of padding (in px) along the x direction.", - "dflt": 10, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "xref": { - "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", - "dflt": "paper", - "editType": "colorbars", + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", "valType": "enumerated", "values": [ - "container", - "paper" + "normal", + "word caps", + "upper", + "lower" ] }, - "y": { - "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", - "editType": "colorbars", - "valType": "number" - }, - "yanchor": { - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", - "editType": "colorbars", + "variant": { + "arrayOk": true, + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "plot", "valType": "enumerated", "values": [ - "top", - "middle", - "bottom" + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] }, - "ypad": { - "description": "Sets the amount of padding (in px) along the y direction.", - "dflt": 10, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "yref": { - "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", - "dflt": "paper", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "container", - "paper" - ] + "weight": { + "arrayOk": true, + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, - "colorscale": { - "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", - "dflt": null, + "labels": { + "description": "Sets the labels of each of the sectors.", "editType": "calc", - "impliedEdits": { - "autocolorscale": false - }, - "valType": "colorscale" + "valType": "data_array" }, - "contours": { - "coloring": { - "description": "Determines the coloring method showing the contour values. If *fill*, coloring is done evenly between each contour level If *heatmap*, a heatmap gradient coloring is applied between each contour level. If *lines*, coloring is done on the contour lines. If *none*, no coloring is applied on this trace.", - "dflt": "fill", - "editType": "calc", - "valType": "enumerated", - "values": [ - "fill", - "heatmap", - "lines", - "none" - ] - }, - "editType": "calc", - "end": { - "description": "Sets the end contour level value. Must be more than `contours.start`", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "^autocontour": false - }, + "leaf": { + "editType": "plot", + "opacity": { + "description": "Sets the opacity of the leaves. With colorscale it is defaulted to 1; otherwise it is defaulted to 0.7", + "editType": "style", + "max": 1, + "min": 0, "valType": "number" }, - "impliedEdits": { - "autocontour": false, - "role": "object" - }, - "labelfont": { + "role": "object" + }, + "legend": { + "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", + "dflt": "legend", + "editType": "style", + "valType": "subplotid" + }, + "legendgrouptitle": { + "editType": "style", + "font": { "color": { "editType": "style", "valType": "color" }, - "description": "Sets the font used for labeling the contour levels. The default color comes from the lines, if shown. The default family and size come from `layout.font`.", - "editType": "plot", + "description": "Sets this legend group's title font.", + "editType": "style", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "plot", + "editType": "style", "noBlank": true, "strict": true, "valType": "string" @@ -44573,7 +39790,7 @@ "lineposition": { "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", - "editType": "plot", + "editType": "style", "extras": [ "none" ], @@ -44588,18 +39805,18 @@ "shadow": { "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", - "editType": "plot", + "editType": "style", "valType": "string" }, "size": { - "editType": "plot", + "editType": "style", "min": 1, "valType": "number" }, "style": { "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", - "editType": "plot", + "editType": "style", "valType": "enumerated", "values": [ "normal", @@ -44609,7 +39826,7 @@ "textcase": { "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", - "editType": "plot", + "editType": "style", "valType": "enumerated", "values": [ "normal", @@ -44621,7 +39838,7 @@ "variant": { "description": "Sets the variant of the font.", "dflt": "normal", - "editType": "plot", + "editType": "style", "valType": "enumerated", "values": [ "normal", @@ -44635,7 +39852,7 @@ "weight": { "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", - "editType": "plot", + "editType": "style", "extras": [ "normal", "bold" @@ -44645,652 +39862,845 @@ "valType": "integer" } }, - "labelformat": { - "description": "Sets the contour label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.", + "role": "object", + "text": { + "description": "Sets the title of the legend group.", "dflt": "", - "editType": "plot", + "editType": "style", "valType": "string" - }, - "operation": { - "description": "Sets the constraint operation. *=* keeps regions equal to `value` *<* and *<=* keep regions less than `value` *>* and *>=* keep regions greater than `value` *[]*, *()*, *[)*, and *(]* keep regions inside `value[0]` to `value[1]` *][*, *)(*, *](*, *)[* keep regions outside `value[0]` to value[1]` Open vs. closed intervals make no difference to constraint display, but all versions are allowed for consistency with filter transforms.", - "dflt": "=", + } + }, + "legendrank": { + "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", + "dflt": 1000, + "editType": "style", + "valType": "number" + }, + "legendwidth": { + "description": "Sets the width (in px or fraction) of the legend for this trace.", + "editType": "style", + "min": 0, + "valType": "number" + }, + "level": { + "anim": true, + "description": "Sets the level from which this trace hierarchy is rendered. Set `level` to `''` to start from the root node in the hierarchy. Must be an \"id\" if `ids` is filled in, otherwise plotly attempts to find a matching item in `labels`.", + "editType": "plot", + "valType": "any" + }, + "marker": { + "autocolorscale": { + "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if colors is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", + "dflt": true, "editType": "calc", - "valType": "enumerated", - "values": [ - "=", - "<", - ">=", - ">", - "<=", - "[]", - "()", - "[)", - "(]", - "][", - ")(", - "](", - ")[" - ] - }, - "role": "object", - "showlabels": { - "description": "Determines whether to label the contour lines with their values.", - "dflt": false, - "editType": "plot", + "impliedEdits": {}, "valType": "boolean" }, - "showlines": { - "description": "Determines whether or not the contour lines are drawn. Has an effect only if `contours.coloring` is set to *fill*.", + "cauto": { + "description": "Determines whether or not the color domain is computed with respect to the input data (here colors) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if colors is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.", "dflt": true, - "editType": "plot", + "editType": "calc", + "impliedEdits": {}, "valType": "boolean" }, - "size": { - "description": "Sets the step between each contour level. Must be positive.", + "cmax": { + "description": "Sets the upper bound of the color domain. Has an effect only if colors is set to a numerical array. Value should have the same units as colors and if set, `marker.cmin` must be set as well.", "dflt": null, "editType": "plot", "impliedEdits": { - "^autocontour": false + "cauto": false }, - "min": 0, "valType": "number" }, - "start": { - "description": "Sets the starting contour level value. Must be less than `contours.end`", + "cmid": { + "description": "Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if colors is set to a numerical array. Value should have the same units as colors. Has no effect when `marker.cauto` is `false`.", + "dflt": null, + "editType": "calc", + "impliedEdits": {}, + "valType": "number" + }, + "cmin": { + "description": "Sets the lower bound of the color domain. Has an effect only if colors is set to a numerical array. Value should have the same units as colors and if set, `marker.cmax` must be set as well.", "dflt": null, "editType": "plot", "impliedEdits": { - "^autocontour": false + "cauto": false }, "valType": "number" }, - "type": { - "description": "If `levels`, the data is represented as a contour plot with multiple levels displayed. If `constraint`, the data is represented as constraints with the invalid region shaded as specified by the `operation` and `value` parameters.", - "dflt": "levels", + "coloraxis": { + "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", + "dflt": null, "editType": "calc", - "valType": "enumerated", - "values": [ - "levels", - "constraint" - ] + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", + "valType": "subplotid" }, - "value": { - "description": "Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (`=,<,>=,>,<=`) *value* is expected to be a number. When `operation` is set to one of the interval values (`[],(),[),(],][,)(,](,)[`) *value* is expected to be an array of two numbers where the first is the lower bound and the second is the upper bound.", - "dflt": 0, - "editType": "calc", - "valType": "any" - } - }, - "customdata": { - "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", - "editType": "calc", - "valType": "data_array" - }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, - "histfunc": { - "description": "Specifies the binning function used for this histogram trace. If *count*, the histogram values are computed by counting the number of values lying inside each bin. If *sum*, *avg*, *min*, *max*, the histogram values are computed using the sum, the average, the minimum or the maximum of the values lying inside each bin respectively.", - "dflt": "count", - "editType": "calc", - "valType": "enumerated", - "values": [ - "count", - "sum", - "avg", - "min", - "max" - ] - }, - "histnorm": { - "description": "Specifies the type of normalization used for this histogram trace. If **, the span of each bar corresponds to the number of occurrences (i.e. the number of data points lying inside the bins). If *percent* / *probability*, the span of each bar corresponds to the percentage / fraction of occurrences with respect to the total number of sample points (here, the sum of all bin HEIGHTS equals 100% / 1). If *density*, the span of each bar corresponds to the number of occurrences in a bin divided by the size of the bin interval (here, the sum of all bin AREAS equals the total number of sample points). If *probability density*, the area of each bar corresponds to the probability that an event will fall into the corresponding bin (here, the sum of all bin AREAS equals 1).", - "dflt": "", - "editType": "calc", - "valType": "enumerated", - "values": [ - "", - "percent", - "probability", - "density", - "probability density" - ] - }, - "hoverinfo": { - "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", - "dflt": "all", - "editType": "none", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "valType": "flaglist" - }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, - "hoverlabel": { - "align": { - "arrayOk": true, - "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", - "dflt": "auto", - "editType": "none", - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ] - }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, - "bgcolor": { - "arrayOk": true, - "description": "Sets the background color of the hover labels for this trace", - "editType": "none", - "valType": "color" - }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, - "bordercolor": { - "arrayOk": true, - "description": "Sets the border color of the hover labels for this trace.", - "editType": "none", - "valType": "color" - }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, - "editType": "none", - "font": { - "color": { - "arrayOk": true, - "editType": "none", + "colorbar": { + "bgcolor": { + "description": "Sets the color of padded area.", + "dflt": "rgba(0,0,0,0)", + "editType": "colorbars", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used in hover labels.", - "editType": "none", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "none", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "none", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "none", - "valType": "string" - }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" + "bordercolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "editType": "colorbars", + "valType": "color" }, - "size": { - "arrayOk": true, - "editType": "none", - "min": 1, + "borderwidth": { + "description": "Sets the width (in px) or the border enclosing this color bar.", + "dflt": 0, + "editType": "colorbars", + "min": 0, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" + "dtick": { + "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", + "editType": "colorbars", + "impliedEdits": { + "tickmode": "linear" + }, + "valType": "any" }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "none", + "editType": "colorbars", + "exponentformat": { + "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B. *SI* uses prefixes from \"femto\" f (10^-15) to \"tera\" T (10^12). *SI extended* covers instead the full SI range from \"quecto\" q (10^-30) to \"quetta\" Q (10^30). If *SI* or *SI extended* is used and the exponent is beyond the above ranges, the formatting rule will automatically be switched to the power notation.", + "dflt": "B", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "italic" + "none", + "e", + "E", + "power", + "SI", + "B", + "SI extended" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" + "labelalias": { + "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", + "dflt": false, + "editType": "colorbars", + "valType": "any" }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "none", + "len": { + "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", + "dflt": 1, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "lenmode": { + "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", + "dflt": "fraction", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "word caps", - "upper", - "lower" + "fraction", + "pixels" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" + "minexponent": { + "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", + "dflt": 3, + "editType": "colorbars", + "min": 0, + "valType": "number" }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "none", + "nticks": { + "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "editType": "colorbars", + "min": 0, + "valType": "integer" + }, + "orientation": { + "description": "Sets the orientation of the colorbar.", + "dflt": "v", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "h", + "v" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "none", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } - }, - "namelength": { - "arrayOk": true, - "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", - "dflt": 15, - "editType": "none", - "min": -1, - "valType": "integer" - }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } - }, - "hovertemplate": { - "arrayOk": true, - "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `z` Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "hovertemplatefallback": { - "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", - "dflt": "-", - "editType": "none", - "valType": "any" - }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, - "ids": { - "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", - "editType": "calc", - "valType": "data_array" - }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, - "legend": { - "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", - "dflt": "legend", - "editType": "style", - "valType": "subplotid" - }, - "legendgroup": { - "description": "Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.", - "dflt": "", - "editType": "style", - "valType": "string" - }, - "legendgrouptitle": { - "editType": "style", - "font": { - "color": { - "editType": "style", + "outlinecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "editType": "colorbars", "valType": "color" }, - "description": "Sets this legend group's title font.", - "editType": "style", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "style", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "style", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" + "outlinewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "editType": "colorbars", + "min": 0, + "valType": "number" }, "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "style", - "valType": "string" + "separatethousands": { + "description": "If \"true\", even 4-digit integers are separated", + "dflt": false, + "editType": "colorbars", + "valType": "boolean" }, - "size": { - "editType": "style", - "min": 1, - "valType": "number" + "showexponent": { + "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", + "dflt": "all", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "style", + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "editType": "colorbars", + "valType": "boolean" + }, + "showtickprefix": { + "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", + "dflt": "all", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "italic" + "all", + "first", + "last", + "none" ] }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "style", + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "word caps", - "upper", - "lower" + "all", + "first", + "last", + "none" ] }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "style", + "thickness": { + "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", + "dflt": 30, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "thicknessmode": { + "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", + "dflt": "pixels", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "fraction", + "pixels" ] }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "style", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "role": "object", - "text": { - "description": "Sets the title of the legend group.", - "dflt": "", - "editType": "style", - "valType": "string" - } - }, - "legendrank": { - "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", - "dflt": 1000, - "editType": "style", - "valType": "number" - }, - "legendwidth": { - "description": "Sets the width (in px or fraction) of the legend for this trace.", - "editType": "style", - "min": 0, - "valType": "number" - }, - "line": { - "color": { - "description": "Sets the color of the contour level. Has no effect if `contours.coloring` is set to *lines*.", - "editType": "style+colorbars", - "valType": "color" - }, - "dash": { - "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", - "dflt": "solid", - "editType": "style", - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ] - }, - "editType": "plot", - "role": "object", - "smoothing": { - "description": "Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing.", - "dflt": 1, - "editType": "plot", - "max": 1.3, - "min": 0, - "valType": "number" - }, - "width": { - "description": "Sets the contour line width in (in px)", - "dflt": 0.5, - "editType": "style+colorbars", - "min": 0, - "valType": "number" - } - }, - "marker": { - "color": { - "description": "Sets the aggregation data.", - "editType": "calc", - "valType": "data_array" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "editType": "calc", - "role": "object" - }, - "meta": { - "arrayOk": true, - "description": "Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.", - "editType": "plot", - "valType": "any" - }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, - "name": { - "description": "Sets the trace name. The trace name appears as the legend item and on hover.", - "editType": "style", - "valType": "string" - }, - "nbinsx": { - "description": "Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `xbins.size` is provided.", - "dflt": 0, - "editType": "calc", - "min": 0, - "valType": "integer" - }, - "nbinsy": { - "description": "Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `ybins.size` is provided.", - "dflt": 0, - "editType": "calc", - "min": 0, - "valType": "integer" - }, - "ncontours": { - "description": "Sets the maximum number of contour levels. The actual number of contours will be chosen automatically to be less than or equal to the value of `ncontours`. Has an effect only if `autocontour` is *true* or if `contours.size` is missing.", - "dflt": 15, - "editType": "calc", - "min": 1, - "valType": "integer" - }, - "opacity": { - "description": "Sets the opacity of the trace.", - "dflt": 1, - "editType": "style", - "max": 1, - "min": 0, - "valType": "number" - }, - "reversescale": { - "description": "Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.", - "dflt": false, - "editType": "plot", - "valType": "boolean" - }, - "showlegend": { - "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", - "dflt": true, - "editType": "style", - "valType": "boolean" - }, - "showscale": { - "description": "Determines whether or not a colorbar is displayed for this trace.", - "dflt": true, - "editType": "calc", - "valType": "boolean" - }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "colorbars", + "impliedEdits": { + "tickmode": "linear" + }, + "valType": "any" + }, + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "editType": "colorbars", + "valType": "angle" + }, + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "editType": "colorbars", + "valType": "color" + }, + "tickfont": { + "color": { + "editType": "colorbars", + "valType": "color" + }, + "description": "Sets the color bar's tick label font", + "editType": "colorbars", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "colorbars", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, + "size": { + "editType": "colorbars", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "colorbars", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "tickformat": { + "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", + "dflt": "", + "editType": "colorbars", + "valType": "string" + }, + "tickformatstops": { + "items": { + "tickformatstop": { + "dtickrange": { + "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", + "editType": "colorbars", + "items": [ + { + "editType": "colorbars", + "valType": "any" + }, + { + "editType": "colorbars", + "valType": "any" + } + ], + "valType": "info_array" + }, + "editType": "colorbars", + "enabled": { + "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", + "dflt": true, + "editType": "colorbars", + "valType": "boolean" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "colorbars", + "valType": "string" + }, + "role": "object", + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "colorbars", + "valType": "string" + }, + "value": { + "description": "string - dtickformat for described zoom level, the same as *tickformat*", + "dflt": "", + "editType": "colorbars", + "valType": "string" + } + } + }, + "role": "object" + }, + "ticklabeloverflow": { + "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "allow", + "hide past div", + "hide past domain" + ] + }, + "ticklabelposition": { + "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", + "dflt": "outside", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom" + ] + }, + "ticklabelstep": { + "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", + "dflt": 1, + "editType": "colorbars", + "min": 1, + "valType": "integer" + }, + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "tickmode": { + "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", + "editType": "colorbars", + "impliedEdits": {}, + "valType": "enumerated", + "values": [ + "auto", + "linear", + "array" + ] + }, + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", + "editType": "colorbars", + "valType": "string" + }, + "ticks": { + "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", + "dflt": "", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "" + ] + }, + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "editType": "colorbars", + "valType": "string" + }, + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", + "editType": "colorbars", + "valType": "data_array" + }, + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "editType": "colorbars", + "valType": "data_array" + }, + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "title": { + "editType": "colorbars", + "font": { + "color": { + "editType": "colorbars", + "valType": "color" + }, + "description": "Sets this color bar's title font.", + "editType": "colorbars", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "colorbars", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, + "size": { + "editType": "colorbars", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "colorbars", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "role": "object", + "side": { + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "right", + "top", + "bottom" + ] + }, + "text": { + "description": "Sets the title of the color bar.", + "editType": "colorbars", + "valType": "string" + } + }, + "x": { + "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", + "editType": "colorbars", + "valType": "number" + }, + "xanchor": { + "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "xpad": { + "description": "Sets the amount of padding (in px) along the x direction.", + "dflt": 10, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "xref": { + "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", + "dflt": "paper", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "container", + "paper" + ] + }, + "y": { + "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", + "editType": "colorbars", + "valType": "number" + }, + "yanchor": { + "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "ypad": { + "description": "Sets the amount of padding (in px) along the y direction.", + "dflt": 10, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "yref": { + "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", + "dflt": "paper", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "container", + "paper" + ] + } }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", + "colors": { + "description": "Sets the color of each sector of this trace. If not specified, the default trace color set is used to pick the sector colors.", "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, - "textfont": { - "color": { - "dflt": "auto", - "editType": "style", - "valType": "color" + "valType": "data_array" }, - "description": "For this trace it only has an effect if `coloring` is set to *heatmap*. Sets the text font.", - "editType": "plot", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" + "colorscale": { + "description": "Sets the colorscale. Has an effect only if colors is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "dflt": null, + "editType": "calc", + "impliedEdits": { + "autocolorscale": false + }, + "valType": "colorscale" }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "plot", - "extras": [ + "editType": "calc", + "line": { + "color": { + "arrayOk": true, + "description": "Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.", + "dflt": null, + "editType": "style", + "valType": "color" + }, + "editType": "calc", + "role": "object", + "width": { + "arrayOk": true, + "description": "Sets the width (in px) of the line enclosing each sector.", + "dflt": 1, + "editType": "style", + "min": 0, + "valType": "number" + } + }, + "pattern": { + "bgcolor": { + "arrayOk": true, + "description": "When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is *overlay*. Otherwise, defaults to a transparent background.", + "editType": "style", + "valType": "color" + }, + "description": "Sets the pattern within the marker.", + "editType": "style", + "fgcolor": { + "arrayOk": true, + "description": "When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is *replace*. Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.", + "editType": "style", + "valType": "color" + }, + "fgopacity": { + "description": "Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.", + "editType": "style", + "max": 1, + "min": 0, + "valType": "number" + }, + "fillmode": { + "description": "Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.", + "dflt": "replace", + "editType": "style", + "valType": "enumerated", + "values": [ + "replace", + "overlay" + ] + }, + "path": { + "arrayOk": true, + "description": "Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.", + "editType": "style", + "valType": "string" + }, + "role": "object", + "shape": { + "arrayOk": true, + "description": "Sets the shape of the pattern fill. By default, no pattern is used for filling the area.", + "dflt": "", + "editType": "style", + "valType": "enumerated", + "values": [ + "", + "/", + "\\", + "x", + "-", + "|", + "+", + "." + ] + }, + "size": { + "arrayOk": true, + "description": "Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.", + "dflt": 8, + "editType": "style", + "min": 0, + "valType": "number" + }, + "solidity": { + "arrayOk": true, + "description": "Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.", + "dflt": 0.3, + "editType": "style", + "max": 1, + "min": 0, + "valType": "number" + } + }, + "reversescale": { + "description": "Reverses the color mapping if true. Has an effect only if colors is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.", + "dflt": false, + "editType": "plot", + "valType": "boolean" + }, + "role": "object", + "showscale": { + "description": "Determines whether or not a colorbar is displayed for this trace. Has an effect only if colors is set to a numerical array.", + "dflt": false, + "editType": "calc", + "valType": "boolean" + } + }, + "maxdepth": { + "description": "Sets the number of rendered sectors from any given `level`. Set `maxdepth` to *-1* to render all the levels in the hierarchy.", + "dflt": -1, + "editType": "plot", + "valType": "integer" + }, + "meta": { + "arrayOk": true, + "description": "Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.", + "editType": "plot", + "valType": "any" + }, + "name": { + "description": "Sets the trace name. The trace name appears as the legend item and on hover.", + "editType": "style", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the trace.", + "dflt": 1, + "editType": "style", + "max": 1, + "min": 0, + "valType": "number" + }, + "outsidetextfont": { + "color": { + "arrayOk": true, + "editType": "plot", + "valType": "color" + }, + "description": "Sets the font used for `textinfo` lying outside the sector. This option refers to the root of the hierarchy presented on top left corner of a treemap graph. Please note that if a hierarchy has multiple root nodes, this option won't have any effect and `insidetextfont` would be used.", + "editType": "plot", + "family": { + "arrayOk": true, + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "plot", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ "none" ], "flags": [ @@ -45302,18 +40712,281 @@ }, "role": "object", "shadow": { + "arrayOk": true, "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", "editType": "plot", "valType": "string" }, "size": { - "dflt": "auto", + "arrayOk": true, + "editType": "plot", + "min": 1, + "valType": "number" + }, + "style": { + "arrayOk": true, + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "arrayOk": true, + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "arrayOk": true, + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "parents": { + "description": "Sets the parent sectors for each of the sectors. Empty string items '' are understood to reference the root node in the hierarchy. If `ids` is filled, `parents` items are understood to be \"ids\" themselves. When `ids` is not set, plotly attempts to find matching items in `labels`, but beware they must be unique.", + "editType": "calc", + "valType": "data_array" + }, + "pathbar": { + "edgeshape": { + "description": "Determines which shape is used for edges between `barpath` labels.", + "dflt": ">", + "editType": "plot", + "valType": "enumerated", + "values": [ + ">", + "<", + "|", + "/", + "\\" + ] + }, + "editType": "calc", + "role": "object", + "side": { + "description": "Determines on which side of the treemap the `pathbar` should be presented.", + "dflt": "top", + "editType": "plot", + "valType": "enumerated", + "values": [ + "top", + "bottom" + ] + }, + "textfont": { + "color": { + "arrayOk": true, + "editType": "plot", + "valType": "color" + }, + "description": "Sets the font used inside `pathbar`.", + "editType": "plot", + "family": { + "arrayOk": true, + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "plot", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "size": { + "arrayOk": true, + "editType": "plot", + "min": 1, + "valType": "number" + }, + "style": { + "arrayOk": true, + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "arrayOk": true, + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "arrayOk": true, + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "thickness": { + "description": "Sets the thickness of `pathbar` (in px). If not specified the `pathbar.textfont.size` is used with 3 pixles extra padding on each side.", + "editType": "plot", + "min": 12, + "valType": "number" + }, + "visible": { + "description": "Determines if the path bar is drawn i.e. outside the trace `domain` and with one pixel gap.", + "dflt": true, + "editType": "plot", + "valType": "boolean" + } + }, + "root": { + "color": { + "description": "sets the color of the root node for a sunburst/treemap/icicle trace. this has no effect when a colorscale is used to set the markers.", + "dflt": "rgba(0,0,0,0)", + "editType": "calc", + "valType": "color" + }, + "editType": "calc", + "role": "object" + }, + "sort": { + "description": "Determines whether or not the sectors are reordered from largest to smallest.", + "dflt": true, + "editType": "calc", + "valType": "boolean" + }, + "text": { + "description": "Sets text elements associated with each sector. If trace `textinfo` contains a *text* flag, these elements will be seen on the chart. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", + "editType": "plot", + "valType": "data_array" + }, + "textfont": { + "color": { + "arrayOk": true, + "editType": "plot", + "valType": "color" + }, + "description": "Sets the font used for `textinfo`.", + "editType": "plot", + "family": { + "arrayOk": true, + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "plot", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "size": { + "arrayOk": true, "editType": "plot", "min": 1, "valType": "number" }, "style": { + "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", "editType": "plot", @@ -45324,6 +40997,7 @@ ] }, "textcase": { + "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", "editType": "plot", @@ -45336,6 +41010,7 @@ ] }, "variant": { + "arrayOk": true, "description": "Sets the variant of the font.", "dflt": "normal", "editType": "plot", @@ -45350,6 +41025,7 @@ ] }, "weight": { + "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", @@ -45362,8 +41038,43 @@ "valType": "integer" } }, + "textinfo": { + "description": "Determines what trace information appears on the graph. Flags are rendered in a fixed order; use `texttemplate` if you need explicit control over the rendered string, including the order of fields and surrounding text.", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "label", + "text", + "value", + "current path", + "percent root", + "percent entry", + "percent parent" + ], + "valType": "flaglist" + }, + "textposition": { + "description": "Sets the positions of the `text` elements.", + "dflt": "top left", + "editType": "plot", + "valType": "enumerated", + "values": [ + "top left", + "top center", + "top right", + "middle left", + "middle center", + "middle right", + "bottom left", + "bottom center", + "bottom right" + ] + }, "texttemplate": { - "description": "For this trace it only has an effect if `coloring` is set to *heatmap*. Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `x`, `y`, `z` and `text`.", + "arrayOk": true, + "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`.", "dflt": "", "editType": "plot", "valType": "string" @@ -45374,8 +41085,40 @@ "editType": "plot", "valType": "any" }, - "type": "histogram2dcontour", + "tiling": { + "editType": "calc", + "flip": { + "description": "Determines if the positions obtained from solver are flipped on each axis.", + "dflt": "", + "editType": "plot", + "flags": [ + "x", + "y" + ], + "valType": "flaglist" + }, + "orientation": { + "description": "When set in conjunction with `tiling.flip`, determines on which side the root nodes are drawn in the chart. If `tiling.orientation` is *v* and `tiling.flip` is **, the root nodes appear at the top. If `tiling.orientation` is *v* and `tiling.flip` is *y*, the root nodes appear at the bottom. If `tiling.orientation` is *h* and `tiling.flip` is **, the root nodes appear at the left. If `tiling.orientation` is *h* and `tiling.flip` is *x*, the root nodes appear at the right.", + "dflt": "h", + "editType": "plot", + "valType": "enumerated", + "values": [ + "v", + "h" + ] + }, + "pad": { + "description": "Sets the inner padding (in px).", + "dflt": 0, + "editType": "plot", + "min": 0, + "valType": "number" + }, + "role": "object" + }, + "type": "icicle", "uid": { + "anim": true, "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", "editType": "plot", "valType": "string" @@ -45385,6 +41128,11 @@ "editType": "none", "valType": "any" }, + "values": { + "description": "Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed.", + "editType": "calc", + "valType": "data_array" + }, "visible": { "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", "dflt": true, @@ -45395,313 +41143,63 @@ false, "legendonly" ] + } + }, + "categories": [], + "layoutAttributes": { + "extendiciclecolors": { + "description": "If `true`, the icicle slice colors (whether given by `iciclecolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.", + "dflt": true, + "editType": "calc", + "valType": "boolean" }, - "x": { - "description": "Sets the sample data to be binned on the x axis.", - "editType": "calc+clearAxisTypes", - "valType": "data_array" - }, - "xaxis": { - "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "valType": "subplotid" - }, - "xbingroup": { - "description": "Set a group of histogram traces which will have compatible x-bin settings. Using `xbingroup`, histogram2d and histogram2dcontour traces (on axes of the same axis type) can have compatible x-bin settings. Note that the same `xbingroup` value can be used to set (1D) histogram `bingroup`", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "xbins": { - "editType": "calc", - "end": { - "description": "Sets the end value for the x axis bins. The last bin may not end exactly at this value, we increment the bin edge by `size` from `start` until we reach or exceed `end`. Defaults to the maximum data value. Like `start`, for dates use a date string, and for category data `end` is based on the category serial numbers.", - "editType": "calc", - "valType": "any" - }, - "role": "object", - "size": { - "description": "Sets the size of each x axis bin. Default behavior: If `nbinsx` is 0 or omitted, we choose a nice round bin size such that the number of bins is about the same as the typical number of samples in each bin. If `nbinsx` is provided, we choose a nice round bin size giving no more than that many bins. For date data, use milliseconds or *M* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). ", - "editType": "calc", - "valType": "any" - }, - "start": { - "description": "Sets the starting value for the x axis bins. Defaults to the minimum data value, shifted down if necessary to make nice round values and to remove ambiguous bin edges. For example, if most of the data is integers we shift the bin edges 0.5 down, so a `size` of 5 would have a default `start` of -0.5, so it is clear that 0-4 are in the first bin, 5-9 in the second, but continuous data gets a start of 0 and bins [0,5), [5,10) etc. Dates behave similarly, and `start` should be a date string. For category data, `start` is based on the category serial numbers, and defaults to -0.5. ", - "editType": "calc", - "valType": "any" - } - }, - "xcalendar": { - "description": "Sets the calendar system to use with `x` date data.", - "dflt": "gregorian", - "editType": "calc", - "valType": "enumerated", - "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" - ] - }, - "xhoverformat": { - "description": "Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", - "editType": "none", - "valType": "string" - }, - "y": { - "description": "Sets the sample data to be binned on the y axis.", - "editType": "calc+clearAxisTypes", - "valType": "data_array" - }, - "yaxis": { - "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "valType": "subplotid" - }, - "ybingroup": { - "description": "Set a group of histogram traces which will have compatible y-bin settings. Using `ybingroup`, histogram2d and histogram2dcontour traces (on axes of the same axis type) can have compatible y-bin settings. Note that the same `ybingroup` value can be used to set (1D) histogram `bingroup`", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "ybins": { - "editType": "calc", - "end": { - "description": "Sets the end value for the y axis bins. The last bin may not end exactly at this value, we increment the bin edge by `size` from `start` until we reach or exceed `end`. Defaults to the maximum data value. Like `start`, for dates use a date string, and for category data `end` is based on the category serial numbers.", - "editType": "calc", - "valType": "any" - }, - "role": "object", - "size": { - "description": "Sets the size of each y axis bin. Default behavior: If `nbinsy` is 0 or omitted, we choose a nice round bin size such that the number of bins is about the same as the typical number of samples in each bin. If `nbinsy` is provided, we choose a nice round bin size giving no more than that many bins. For date data, use milliseconds or *M* for months, as in `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). ", - "editType": "calc", - "valType": "any" - }, - "start": { - "description": "Sets the starting value for the y axis bins. Defaults to the minimum data value, shifted down if necessary to make nice round values and to remove ambiguous bin edges. For example, if most of the data is integers we shift the bin edges 0.5 down, so a `size` of 5 would have a default `start` of -0.5, so it is clear that 0-4 are in the first bin, 5-9 in the second, but continuous data gets a start of 0 and bins [0,5), [5,10) etc. Dates behave similarly, and `start` should be a date string. For category data, `start` is based on the category serial numbers, and defaults to -0.5. ", - "editType": "calc", - "valType": "any" - } - }, - "ycalendar": { - "description": "Sets the calendar system to use with `y` date data.", - "dflt": "gregorian", - "editType": "calc", - "valType": "enumerated", - "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" - ] - }, - "yhoverformat": { - "description": "Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "ysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `y`.", - "editType": "none", - "valType": "string" - }, - "z": { - "description": "Sets the aggregation data.", - "editType": "calc", - "valType": "data_array" - }, - "zauto": { - "description": "Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "zhoverformat": { - "description": "Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "zmax": { - "description": "Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "zauto": false - }, - "valType": "number" - }, - "zmid": { - "description": "Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "valType": "number" - }, - "zmin": { - "description": "Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.", - "dflt": null, + "iciclecolorway": { + "description": "Sets the default icicle slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendiciclecolors`.", "editType": "calc", - "impliedEdits": { - "zauto": false - }, - "valType": "number" - }, - "zsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `z`.", - "editType": "none", - "valType": "string" + "valType": "colorlist" } }, - "categories": [ - "cartesian", - "svg", - "2dMap", - "contour", - "histogram", - "showLegend" - ], "meta": { - "description": "The sample data from which statistics are computed is set in `x` and `y` (where `x` and `y` represent marginal distributions, binning is set in `xbins` and `ybins` in this case) or `z` (where `z` represent the 2D distribution and binning set, binning is set by `x` and `y` in this case). The resulting distribution is visualized as a contour plot.", - "hrName": "histogram_2d_contour" + "description": "Visualize hierarchal data from leaves (and/or outer branches) towards root with rectangles. The icicle sectors are determined by the entries in *labels* or *ids* and in *parents*." }, - "type": "histogram2dcontour" + "type": "icicle" }, - "icicle": { - "animatable": true, + "image": { + "animatable": false, "attributes": { - "branchvalues": { - "description": "Determines how the items in `values` are summed. When set to *total*, items in `values` are taken to be value of all its descendants. When set to *remainder*, items in `values` corresponding to the root and the branches sectors are taken to be the extra part not part of the sum of the values at their leaves.", - "dflt": "remainder", + "colormodel": { + "description": "Color model used to map the numerical color components described in `z` into colors. If `source` is specified, this attribute will be set to `rgba256` otherwise it defaults to `rgb`.", "editType": "calc", "valType": "enumerated", "values": [ - "remainder", - "total" + "rgb", + "rgba", + "rgba256", + "hsl", + "hsla" ] }, - "count": { - "description": "Determines default for `values` when it is not provided, by inferring a 1 for each of the *leaves* and/or *branches*, otherwise 0.", - "dflt": "leaves", - "editType": "calc", - "flags": [ - "branches", - "leaves" - ], - "valType": "flaglist" - }, "customdata": { "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" + "dx": { + "description": "Set the pixel's horizontal size.", + "dflt": 1, + "editType": "calc", + "valType": "number" }, - "domain": { - "column": { - "description": "If there is a layout grid, use the domain for this column in the grid for this icicle trace .", - "dflt": 0, - "editType": "calc", - "min": 0, - "valType": "integer" - }, + "dy": { + "description": "Set the pixel's vertical size", + "dflt": 1, "editType": "calc", - "role": "object", - "row": { - "description": "If there is a layout grid, use the domain for this row in the grid for this icicle trace .", - "dflt": 0, - "editType": "calc", - "min": 0, - "valType": "integer" - }, - "x": { - "description": "Sets the horizontal domain of this icicle trace (in plot fraction).", - "dflt": [ - 0, - 1 - ], - "editType": "calc", - "items": [ - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - } - ], - "valType": "info_array" - }, - "y": { - "description": "Sets the vertical domain of this icicle trace (in plot fraction).", - "dflt": [ - 0, - 1 - ], - "editType": "calc", - "items": [ - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - } - ], - "valType": "info_array" - } + "valType": "number" }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", - "dflt": "label+text+value+name", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "dflt": "x+y+z+text+name", "editType": "none", "extras": [ "all", @@ -45709,22 +41207,15 @@ "skip" ], "flags": [ - "label", - "text", - "value", + "x", + "y", + "z", + "color", "name", - "current path", - "percent root", - "percent entry", - "percent parent" + "text" ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -45738,33 +41229,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -45772,11 +41248,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -45787,11 +41258,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -45807,11 +41273,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -45820,22 +41281,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -45847,11 +41298,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -45865,11 +41311,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -45885,11 +41326,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -45902,11 +41338,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -45917,11 +41348,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -45932,7 +41358,7 @@ }, "hovertemplate": { "arrayOk": true, - "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry` and `percentParent`. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", + "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `z`, `color` and `colormodel`. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", "dflt": "", "editType": "none", "valType": "string" @@ -45943,198 +41369,16 @@ "editType": "none", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "hovertext": { - "arrayOk": true, - "description": "Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a *text* flag.", - "dflt": "", - "editType": "style", - "valType": "string" - }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" + "description": "Same as `text`.", + "editType": "plot", + "valType": "data_array" }, "ids": { - "anim": true, "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, - "insidetextfont": { - "color": { - "arrayOk": true, - "editType": "plot", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used for `textinfo` lying inside the sector.", - "editType": "plot", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "plot", - "valType": "string" - }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, - "size": { - "arrayOk": true, - "editType": "plot", - "min": 1, - "valType": "number" - }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } - }, - "labels": { - "description": "Sets the labels of each of the sectors.", - "editType": "calc", - "valType": "data_array" - }, - "labelssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `labels`.", - "editType": "none", - "valType": "string" - }, - "leaf": { - "editType": "plot", - "opacity": { - "description": "Sets the opacity of the leaves. With colorscale it is defaulted to 1; otherwise it is defaulted to 0.7", - "editType": "style", - "max": 1, - "min": 0, - "valType": "number" - }, - "role": "object" - }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", @@ -46252,92 +41496,422 @@ "min": 0, "valType": "number" }, - "level": { - "anim": true, - "description": "Sets the level from which this trace hierarchy is rendered. Set `level` to `''` to start from the root node in the hierarchy. Must be an \"id\" if `ids` is filled in, otherwise plotly attempts to find a matching item in `labels`.", + "meta": { + "arrayOk": true, + "description": "Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.", "editType": "plot", "valType": "any" }, - "marker": { - "autocolorscale": { - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if colors is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "cauto": { - "description": "Determines whether or not the color domain is computed with respect to the input data (here colors) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if colors is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" + "name": { + "description": "Sets the trace name. The trace name appears as the legend item and on hover.", + "editType": "style", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the trace.", + "dflt": 1, + "editType": "style", + "max": 1, + "min": 0, + "valType": "number" + }, + "source": { + "description": "Specifies the data URI of the image to be visualized. The URI consists of \"data:image/[][;base64\\\\],\"", + "editType": "calc", + "valType": "string" + }, + "text": { + "description": "Sets the text elements associated with each z value.", + "editType": "plot", + "valType": "data_array" + }, + "type": "image", + "uid": { + "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", + "editType": "plot", + "valType": "string" + }, + "uirevision": { + "description": "Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.", + "editType": "none", + "valType": "any" + }, + "visible": { + "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", + "dflt": true, + "editType": "calc", + "valType": "enumerated", + "values": [ + true, + false, + "legendonly" + ] + }, + "x0": { + "description": "Set the image's x position. The left edge of the image (or the right edge if the x axis is reversed or dx is negative) will be found at xmin=x0-dx/2", + "dflt": 0, + "editType": "calc+clearAxisTypes", + "valType": "any" + }, + "xaxis": { + "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", + "dflt": "x", + "editType": "calc+clearAxisTypes", + "valType": "subplotid" + }, + "y0": { + "description": "Set the image's y position. The top edge of the image (or the bottom edge if the y axis is NOT reversed or if dy is negative) will be found at ymin=y0-dy/2. By default when an image trace is included, the y axis will be reversed so that the image is right-side-up, but you can disable this by setting yaxis.autorange=true or by providing an explicit y axis range.", + "dflt": 0, + "editType": "calc+clearAxisTypes", + "valType": "any" + }, + "yaxis": { + "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.", + "dflt": "y", + "editType": "calc+clearAxisTypes", + "valType": "subplotid" + }, + "z": { + "description": "A 2-dimensional array in which each element is an array of 3 or 4 numbers representing a color.", + "editType": "calc", + "valType": "data_array" + }, + "zmax": { + "description": "Array defining the higher bound for each color component. Note that the default value will depend on the colormodel. For the `rgb` colormodel, it is [255, 255, 255]. For the `rgba` colormodel, it is [255, 255, 255, 1]. For the `rgba256` colormodel, it is [255, 255, 255, 255]. For the `hsl` colormodel, it is [360, 100, 100]. For the `hsla` colormodel, it is [360, 100, 100, 1].", + "editType": "calc", + "items": [ + { + "editType": "calc", + "valType": "number" + }, + { + "editType": "calc", + "valType": "number" + }, + { + "editType": "calc", + "valType": "number" + }, + { + "editType": "calc", + "valType": "number" + } + ], + "valType": "info_array" + }, + "zmin": { + "description": "Array defining the lower bound for each color component. Note that the default value will depend on the colormodel. For the `rgb` colormodel, it is [0, 0, 0]. For the `rgba` colormodel, it is [0, 0, 0, 0]. For the `rgba256` colormodel, it is [0, 0, 0, 0]. For the `hsl` colormodel, it is [0, 0, 0]. For the `hsla` colormodel, it is [0, 0, 0, 0].", + "editType": "calc", + "items": [ + { + "editType": "calc", + "valType": "number" + }, + { + "editType": "calc", + "valType": "number" + }, + { + "editType": "calc", + "valType": "number" + }, + { + "editType": "calc", + "valType": "number" + } + ], + "valType": "info_array" + }, + "zorder": { + "description": "Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.", + "dflt": 0, + "editType": "plot", + "valType": "integer" + }, + "zsmooth": { + "description": "Picks a smoothing algorithm used to smooth `z` data. This only applies for image traces that use the `source` attribute.", + "dflt": false, + "editType": "plot", + "valType": "enumerated", + "values": [ + "fast", + false + ] + } + }, + "categories": [ + "cartesian", + "svg", + "2dMap", + "noSortingByValue" + ], + "meta": { + "description": "Display an image, i.e. data on a 2D regular raster. By default, when an image is displayed in a subplot, its y axis will be reversed (ie. `autorange: 'reversed'`), constrained to the domain (ie. `constrain: 'domain'`) and it will have the same scale as its x axis (ie. `scaleanchor: 'x,`) in order for pixels to be rendered as squares." + }, + "type": "image" + }, + "indicator": { + "animatable": true, + "attributes": { + "align": { + "description": "Sets the horizontal alignment of the `text` within the box. Note that this attribute has no effect if an angular gauge is displayed: in this case, it is always centered", + "editType": "plot", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "customdata": { + "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", + "editType": "calc", + "valType": "data_array" + }, + "delta": { + "decreasing": { + "color": { + "description": "Sets the color for increasing value.", + "dflt": "#FF4136", + "editType": "plot", + "valType": "color" + }, + "editType": "plot", + "role": "object", + "symbol": { + "description": "Sets the symbol to display for increasing value", + "dflt": "▼", + "editType": "plot", + "valType": "string" + } }, - "cmax": { - "description": "Sets the upper bound of the color domain. Has an effect only if colors is set to a numerical array. Value should have the same units as colors and if set, `marker.cmin` must be set as well.", - "dflt": null, + "editType": "calc", + "font": { + "color": { + "editType": "plot", + "valType": "color" + }, + "description": "Set the font used to display the delta", "editType": "plot", - "impliedEdits": { - "cauto": false + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "plot", + "noBlank": true, + "strict": true, + "valType": "string" }, - "valType": "number" + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "size": { + "editType": "plot", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } }, - "cmid": { - "description": "Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if colors is set to a numerical array. Value should have the same units as colors. Has no effect when `marker.cauto` is `false`.", - "dflt": null, + "increasing": { + "color": { + "description": "Sets the color for increasing value.", + "dflt": "#3D9970", + "editType": "plot", + "valType": "color" + }, + "editType": "plot", + "role": "object", + "symbol": { + "description": "Sets the symbol to display for increasing value", + "dflt": "▲", + "editType": "plot", + "valType": "string" + } + }, + "position": { + "description": "Sets the position of delta with respect to the number.", + "dflt": "bottom", + "editType": "plot", + "valType": "enumerated", + "values": [ + "top", + "bottom", + "left", + "right" + ] + }, + "prefix": { + "description": "Sets a prefix appearing before the delta.", + "dflt": "", + "editType": "plot", + "valType": "string" + }, + "reference": { + "description": "Sets the reference value to compute the delta. By default, it is set to the current value.", "editType": "calc", - "impliedEdits": {}, "valType": "number" }, - "cmin": { - "description": "Sets the lower bound of the color domain. Has an effect only if colors is set to a numerical array. Value should have the same units as colors and if set, `marker.cmax` must be set as well.", - "dflt": null, + "relative": { + "description": "Show relative change", + "dflt": false, "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "valType": "number" + "valType": "boolean" }, - "coloraxis": { - "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", - "dflt": null, + "role": "object", + "suffix": { + "description": "Sets a suffix appearing next to the delta.", + "dflt": "", + "editType": "plot", + "valType": "string" + }, + "valueformat": { + "description": "Sets the value formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.", + "editType": "plot", + "valType": "string" + } + }, + "domain": { + "column": { + "description": "If there is a layout grid, use the domain for this column in the grid for this indicator trace.", + "dflt": 0, "editType": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "valType": "subplotid" + "min": 0, + "valType": "integer" }, - "colorbar": { - "bgcolor": { - "description": "Sets the color of padded area.", - "dflt": "rgba(0,0,0,0)", - "editType": "colorbars", - "valType": "color" - }, - "bordercolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" - }, - "borderwidth": { - "description": "Sets the width (in px) or the border enclosing this color bar.", - "dflt": 0, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, + "editType": "calc", + "role": "object", + "row": { + "description": "If there is a layout grid, use the domain for this row in the grid for this indicator trace.", + "dflt": 0, + "editType": "calc", + "min": 0, + "valType": "integer" + }, + "x": { + "description": "Sets the horizontal domain of this indicator trace (in plot fraction).", + "dflt": [ + 0, + 1 + ], + "editType": "calc", + "items": [ + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + } + ], + "valType": "info_array" + }, + "y": { + "description": "Sets the vertical domain of this indicator trace (in plot fraction).", + "dflt": [ + 0, + 1 + ], + "editType": "calc", + "items": [ + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + } + ], + "valType": "info_array" + } + }, + "gauge": { + "axis": { "dtick": { "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", - "editType": "colorbars", + "editType": "plot", "impliedEdits": { "tickmode": "linear" }, "valType": "any" }, - "editType": "colorbars", + "editType": "plot", "exponentformat": { "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B. *SI* uses prefixes from \"femto\" f (10^-15) to \"tera\" T (10^12). *SI extended* covers instead the full SI range from \"quecto\" q (10^-30) to \"quetta\" Q (10^30). If *SI* or *SI extended* is used and the exponent is beyond the above ranges, the formatting rule will automatically be switched to the power notation.", "dflt": "B", - "editType": "colorbars", + "editType": "plot", "valType": "enumerated", "values": [ "none", @@ -46352,74 +41926,49 @@ "labelalias": { "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", "dflt": false, - "editType": "colorbars", + "editType": "plot", "valType": "any" }, - "len": { - "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "lenmode": { - "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", - "dflt": "fraction", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ] - }, "minexponent": { "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", "dflt": 3, - "editType": "colorbars", + "editType": "plot", "min": 0, "valType": "number" }, "nticks": { "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", "dflt": 0, - "editType": "colorbars", + "editType": "plot", "min": 0, "valType": "integer" }, - "orientation": { - "description": "Sets the orientation of the colorbar.", - "dflt": "v", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "h", - "v" - ] - }, - "outlinecolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" - }, - "outlinewidth": { - "description": "Sets the width (in px) of the axis line.", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" + "range": { + "description": "Sets the range of this axis.", + "editType": "plot", + "items": [ + { + "editType": "plot", + "valType": "number" + }, + { + "editType": "plot", + "valType": "number" + } + ], + "valType": "info_array" }, "role": "object", "separatethousands": { "description": "If \"true\", even 4-digit integers are separated", "dflt": false, - "editType": "colorbars", + "editType": "plot", "valType": "boolean" }, "showexponent": { "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", "dflt": "all", - "editType": "colorbars", + "editType": "plot", "valType": "enumerated", "values": [ "all", @@ -46431,13 +41980,13 @@ "showticklabels": { "description": "Determines whether or not the tick labels are drawn.", "dflt": true, - "editType": "colorbars", + "editType": "plot", "valType": "boolean" }, "showtickprefix": { "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", "dflt": "all", - "editType": "colorbars", + "editType": "plot", "valType": "enumerated", "values": [ "all", @@ -46449,7 +41998,7 @@ "showticksuffix": { "description": "Same as `showtickprefix` but for tick suffixes.", "dflt": "all", - "editType": "colorbars", + "editType": "plot", "valType": "enumerated", "values": [ "all", @@ -46458,26 +42007,9 @@ "none" ] }, - "thickness": { - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "dflt": 30, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "dflt": "pixels", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ] - }, "tick0": { "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", - "editType": "colorbars", + "editType": "plot", "impliedEdits": { "tickmode": "linear" }, @@ -46486,25 +42018,25 @@ "tickangle": { "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", "dflt": "auto", - "editType": "colorbars", + "editType": "plot", "valType": "angle" }, "tickcolor": { "description": "Sets the tick color.", "dflt": "#444", - "editType": "colorbars", + "editType": "plot", "valType": "color" }, "tickfont": { "color": { - "editType": "colorbars", + "editType": "plot", "valType": "color" }, "description": "Sets the color bar's tick label font", - "editType": "colorbars", + "editType": "plot", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "colorbars", + "editType": "plot", "noBlank": true, "strict": true, "valType": "string" @@ -46512,7 +42044,7 @@ "lineposition": { "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", - "editType": "colorbars", + "editType": "plot", "extras": [ "none" ], @@ -46527,18 +42059,18 @@ "shadow": { "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", - "editType": "colorbars", + "editType": "plot", "valType": "string" }, "size": { - "editType": "colorbars", + "editType": "plot", "min": 1, "valType": "number" }, "style": { "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", - "editType": "colorbars", + "editType": "plot", "valType": "enumerated", "values": [ "normal", @@ -46548,7 +42080,7 @@ "textcase": { "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", - "editType": "colorbars", + "editType": "plot", "valType": "enumerated", "values": [ "normal", @@ -46560,7 +42092,7 @@ "variant": { "description": "Sets the variant of the font.", "dflt": "normal", - "editType": "colorbars", + "editType": "plot", "valType": "enumerated", "values": [ "normal", @@ -46574,7 +42106,7 @@ "weight": { "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", - "editType": "colorbars", + "editType": "plot", "extras": [ "normal", "bold" @@ -46587,7 +42119,7 @@ "tickformat": { "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", "dflt": "", - "editType": "colorbars", + "editType": "plot", "valType": "string" }, "tickformatstops": { @@ -46595,92 +42127,64 @@ "tickformatstop": { "dtickrange": { "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", - "editType": "colorbars", + "editType": "plot", "items": [ { - "editType": "colorbars", + "editType": "plot", "valType": "any" }, { - "editType": "colorbars", + "editType": "plot", "valType": "any" } ], "valType": "info_array" }, - "editType": "colorbars", + "editType": "plot", "enabled": { "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", "dflt": true, - "editType": "colorbars", + "editType": "plot", "valType": "boolean" }, "name": { "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", - "editType": "colorbars", + "editType": "plot", "valType": "string" }, "role": "object", "templateitemname": { "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", - "editType": "colorbars", + "editType": "plot", "valType": "string" }, "value": { "description": "string - dtickformat for described zoom level, the same as *tickformat*", "dflt": "", - "editType": "colorbars", + "editType": "plot", "valType": "string" } } }, "role": "object" }, - "ticklabeloverflow": { - "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "allow", - "hide past div", - "hide past domain" - ] - }, - "ticklabelposition": { - "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", - "dflt": "outside", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" - ] - }, "ticklabelstep": { "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", "dflt": 1, - "editType": "colorbars", + "editType": "plot", "min": 1, "valType": "integer" }, "ticklen": { "description": "Sets the tick length (in px).", "dflt": 5, - "editType": "colorbars", + "editType": "plot", "min": 0, "valType": "number" }, "tickmode": { "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", - "editType": "colorbars", + "editType": "plot", "impliedEdits": {}, "valType": "enumerated", "values": [ @@ -46692,13 +42196,13 @@ "tickprefix": { "description": "Sets a tick label prefix.", "dflt": "", - "editType": "colorbars", + "editType": "plot", "valType": "string" }, "ticks": { "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", - "dflt": "", - "editType": "colorbars", + "dflt": "outside", + "editType": "plot", "valType": "enumerated", "values": [ "outside", @@ -46709,381 +42213,322 @@ "ticksuffix": { "description": "Sets a tick label suffix.", "dflt": "", - "editType": "colorbars", + "editType": "plot", "valType": "string" }, "ticktext": { "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "editType": "colorbars", + "editType": "plot", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "editType": "colorbars", + "editType": "plot", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, - "editType": "colorbars", + "editType": "plot", "min": 0, "valType": "number" }, - "title": { - "editType": "colorbars", - "font": { + "visible": { + "description": "A single toggle to hide the axis while preserving interaction like dragging. Default is true when a cheater plot is present on the axis, otherwise false", + "dflt": true, + "editType": "plot", + "valType": "boolean" + } + }, + "bar": { + "color": { + "description": "Sets the background color of the arc.", + "dflt": "green", + "editType": "plot", + "valType": "color" + }, + "description": "Set the appearance of the gauge's value", + "editType": "calc", + "line": { + "color": { + "description": "Sets the color of the line enclosing each sector.", + "dflt": "#444", + "editType": "plot", + "valType": "color" + }, + "editType": "calc", + "role": "object", + "width": { + "description": "Sets the width (in px) of the line enclosing each sector.", + "dflt": 0, + "editType": "plot", + "min": 0, + "valType": "number" + } + }, + "role": "object", + "thickness": { + "description": "Sets the thickness of the bar as a fraction of the total thickness of the gauge.", + "dflt": 1, + "editType": "plot", + "max": 1, + "min": 0, + "valType": "number" + } + }, + "bgcolor": { + "description": "Sets the gauge background color.", + "editType": "plot", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the color of the border enclosing the gauge.", + "dflt": "#444", + "editType": "plot", + "valType": "color" + }, + "borderwidth": { + "description": "Sets the width (in px) of the border enclosing the gauge.", + "dflt": 1, + "editType": "plot", + "min": 0, + "valType": "number" + }, + "description": "The gauge of the Indicator plot.", + "editType": "plot", + "role": "object", + "shape": { + "description": "Set the shape of the gauge", + "dflt": "angular", + "editType": "plot", + "valType": "enumerated", + "values": [ + "angular", + "bullet" + ] + }, + "steps": { + "items": { + "step": { "color": { - "editType": "colorbars", + "description": "Sets the background color of the arc.", + "editType": "plot", "valType": "color" }, - "description": "Sets this color bar's title font.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "colorbars", - "noBlank": true, - "strict": true, + "editType": "calc", + "line": { + "color": { + "description": "Sets the color of the line enclosing each sector.", + "dflt": "#444", + "editType": "plot", + "valType": "color" + }, + "editType": "calc", + "role": "object", + "width": { + "description": "Sets the width (in px) of the line enclosing each sector.", + "dflt": 0, + "editType": "plot", + "min": 0, + "valType": "number" + } + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "none", "valType": "string" }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" + "range": { + "description": "Sets the range of this axis.", + "editType": "plot", + "items": [ + { + "editType": "plot", + "valType": "number" + }, + { + "editType": "plot", + "valType": "number" + } ], - "valType": "flaglist" + "valType": "info_array" }, "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "calc", "valType": "string" }, - "size": { - "editType": "colorbars", - "min": 1, + "thickness": { + "description": "Sets the thickness of the bar as a fraction of the total thickness of the gauge.", + "dflt": 1, + "editType": "plot", + "max": 1, + "min": 0, "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" } + } + }, + "role": "object" + }, + "threshold": { + "editType": "plot", + "line": { + "color": { + "description": "Sets the color of the threshold line.", + "dflt": "#444", + "editType": "plot", + "valType": "color" }, + "editType": "plot", "role": "object", - "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - }, - "text": { - "description": "Sets the title of the color bar.", - "editType": "colorbars", - "valType": "string" + "width": { + "description": "Sets the width (in px) of the threshold line.", + "dflt": 1, + "editType": "plot", + "min": 0, + "valType": "number" } }, - "x": { - "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", - "editType": "colorbars", - "valType": "number" - }, - "xanchor": { - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ] - }, - "xpad": { - "description": "Sets the amount of padding (in px) along the x direction.", - "dflt": 10, - "editType": "colorbars", + "role": "object", + "thickness": { + "description": "Sets the thickness of the threshold line as a fraction of the thickness of the gauge.", + "dflt": 0.85, + "editType": "plot", + "max": 1, "min": 0, "valType": "number" }, - "xref": { - "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", - "dflt": "paper", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "container", - "paper" - ] - }, - "y": { - "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", - "editType": "colorbars", - "valType": "number" - }, - "yanchor": { - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ] - }, - "ypad": { - "description": "Sets the amount of padding (in px) along the y direction.", - "dflt": 10, - "editType": "colorbars", - "min": 0, + "value": { + "description": "Sets a treshold value drawn as a line.", + "dflt": false, + "editType": "calc", "valType": "number" - }, - "yref": { - "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", - "dflt": "paper", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "container", - "paper" - ] } - }, - "colors": { - "description": "Sets the color of each sector of this trace. If not specified, the default trace color set is used to pick the sector colors.", - "editType": "calc", - "valType": "data_array" - }, - "colorscale": { - "description": "Sets the colorscale. Has an effect only if colors is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "autocolorscale": false - }, - "valType": "colorscale" - }, - "colorssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `colors`.", - "editType": "none", - "valType": "string" - }, + } + }, + "ids": { + "anim": true, + "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", - "line": { + "valType": "data_array" + }, + "legend": { + "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", + "dflt": "legend", + "editType": "style", + "valType": "subplotid" + }, + "legendgrouptitle": { + "editType": "style", + "font": { "color": { - "arrayOk": true, - "description": "Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value.", - "dflt": null, "editType": "style", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", + "description": "Sets this legend group's title font.", + "editType": "style", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "style", + "noBlank": true, + "strict": true, "valType": "string" }, - "editType": "calc", - "role": "object", - "width": { - "arrayOk": true, - "description": "Sets the width (in px) of the line enclosing each sector.", - "dflt": 1, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", "editType": "style", - "min": 0, - "valType": "number" + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" - } - }, - "pattern": { - "bgcolor": { - "arrayOk": true, - "description": "When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is *overlay*. Otherwise, defaults to a transparent background.", + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", "editType": "style", - "valType": "color" - }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", "valType": "string" }, - "description": "Sets the pattern within the marker.", - "editType": "style", - "fgcolor": { - "arrayOk": true, - "description": "When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is *replace*. Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.", + "size": { "editType": "style", - "valType": "color" - }, - "fgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `fgcolor`.", - "editType": "none", - "valType": "string" + "min": 1, + "valType": "number" }, - "fgopacity": { - "description": "Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.", - "editType": "style", - "max": 1, - "min": 0, - "valType": "number" - }, - "fillmode": { - "description": "Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.", - "dflt": "replace", + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", "editType": "style", "valType": "enumerated", "values": [ - "replace", - "overlay" + "normal", + "italic" ] }, - "path": { - "arrayOk": true, - "description": "Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.", - "editType": "style", - "valType": "string" - }, - "pathsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `path`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "shape": { - "arrayOk": true, - "description": "Sets the shape of the pattern fill. By default, no pattern is used for filling the area.", - "dflt": "", + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", "editType": "style", "valType": "enumerated", "values": [ - "", - "/", - "\\", - "x", - "-", - "|", - "+", - "." + "normal", + "word caps", + "upper", + "lower" ] }, - "shapesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shape`.", - "editType": "none", - "valType": "string" - }, - "size": { - "arrayOk": true, - "description": "Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.", - "dflt": 8, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", "editType": "style", - "min": 0, - "valType": "number" - }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] }, - "solidity": { - "arrayOk": true, - "description": "Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.", - "dflt": 0.3, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", "editType": "style", - "max": 1, - "min": 0, - "valType": "number" - }, - "soliditysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `solidity`.", - "editType": "none", - "valType": "string" + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, - "reversescale": { - "description": "Reverses the color mapping if true. Has an effect only if colors is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.", - "dflt": false, - "editType": "plot", - "valType": "boolean" - }, "role": "object", - "showscale": { - "description": "Determines whether or not a colorbar is displayed for this trace. Has an effect only if colors is set to a numerical array.", - "dflt": false, - "editType": "calc", - "valType": "boolean" + "text": { + "description": "Sets the title of the legend group.", + "dflt": "", + "editType": "style", + "valType": "string" } }, - "maxdepth": { - "description": "Sets the number of rendered sectors from any given `level`. Set `maxdepth` to *-1* to render all the levels in the hierarchy.", - "dflt": -1, - "editType": "plot", - "valType": "integer" + "legendrank": { + "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", + "dflt": 1000, + "editType": "style", + "valType": "number" + }, + "legendwidth": { + "description": "Sets the width (in px or fraction) of the legend for this trace.", + "editType": "style", + "min": 0, + "valType": "number" }, "meta": { "arrayOk": true, @@ -47091,231 +42536,160 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" + "mode": { + "description": "Determines how the value is displayed on the graph. `number` displays the value numerically in text. `delta` displays the difference to a reference value in text. Finally, `gauge` displays the value graphically on an axis.", + "dflt": "number", + "editType": "calc", + "flags": [ + "number", + "delta", + "gauge" + ], + "valType": "flaglist" }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", "valType": "string" }, - "opacity": { - "description": "Sets the opacity of the trace.", - "dflt": 1, - "editType": "style", - "max": 1, - "min": 0, - "valType": "number" - }, - "outsidetextfont": { - "color": { - "arrayOk": true, - "editType": "plot", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used for `textinfo` lying outside the sector. This option refers to the root of the hierarchy presented on top left corner of a treemap graph. Please note that if a hierarchy has multiple root nodes, this option won't have any effect and `insidetextfont` would be used.", + "number": { "editType": "plot", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "font": { + "color": { + "editType": "plot", + "valType": "color" + }, + "description": "Set the font used to display main number", "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "plot", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "size": { + "editType": "plot", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", + "prefix": { + "description": "Sets a prefix appearing before the number.", + "dflt": "", "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", "valType": "string" }, "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "plot", - "valType": "string" - }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, - "size": { - "arrayOk": true, - "editType": "plot", - "min": 1, - "valType": "number" - }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", + "suffix": { + "description": "Sets a suffix appearing next to the number.", + "dflt": "", "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", "valType": "string" }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", + "valueformat": { + "description": "Sets the value formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.", + "dflt": "", "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", "valType": "string" } }, - "parents": { - "description": "Sets the parent sectors for each of the sectors. Empty string items '' are understood to reference the root node in the hierarchy. If `ids` is filled, `parents` items are understood to be \"ids\" themselves. When `ids` is not set, plotly attempts to find matching items in `labels`, but beware they must be unique.", - "editType": "calc", - "valType": "data_array" - }, - "parentssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `parents`.", - "editType": "none", - "valType": "string" - }, - "pathbar": { - "edgeshape": { - "description": "Determines which shape is used for edges between `barpath` labels.", - "dflt": ">", - "editType": "plot", - "valType": "enumerated", - "values": [ - ">", - "<", - "|", - "/", - "\\" - ] - }, - "editType": "calc", - "role": "object", - "side": { - "description": "Determines on which side of the the treemap the `pathbar` should be presented.", - "dflt": "top", + "title": { + "align": { + "description": "Sets the horizontal alignment of the title. It defaults to `center` except for bullet charts for which it defaults to right.", "editType": "plot", "valType": "enumerated", "values": [ - "top", - "bottom" + "left", + "center", + "right" ] }, - "textfont": { + "editType": "plot", + "font": { "color": { - "arrayOk": true, "editType": "plot", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used inside `pathbar`.", + "description": "Set the font used to display the title", "editType": "plot", "family": { - "arrayOk": true, "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", "editType": "plot", "noBlank": true, "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { - "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", "editType": "plot", @@ -47329,37 +42703,19 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { - "arrayOk": true, "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", "editType": "plot", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { - "arrayOk": true, "editType": "plot", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { - "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", "editType": "plot", @@ -47369,13 +42725,7 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { - "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", "editType": "plot", @@ -47387,13 +42737,7 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { - "arrayOk": true, "description": "Sets the variant of the font.", "dflt": "normal", "editType": "plot", @@ -47407,13 +42751,7 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { - "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", @@ -47424,673 +42762,362 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, - "thickness": { - "description": "Sets the thickness of `pathbar` (in px). If not specified the `pathbar.textfont.size` is used with 3 pixles extra padding on each side.", - "editType": "plot", - "min": 12, - "valType": "number" - }, - "visible": { - "description": "Determines if the path bar is drawn i.e. outside the trace `domain` and with one pixel gap.", - "dflt": true, + "role": "object", + "text": { + "description": "Sets the title of this indicator.", "editType": "plot", - "valType": "boolean" + "valType": "string" } }, - "root": { - "color": { - "description": "sets the color of the root node for a sunburst/treemap/icicle trace. this has no effect when a colorscale is used to set the markers.", - "dflt": "rgba(0,0,0,0)", - "editType": "calc", - "valType": "color" - }, + "type": "indicator", + "uid": { + "anim": true, + "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", + "editType": "plot", + "valType": "string" + }, + "uirevision": { + "description": "Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.", + "editType": "none", + "valType": "any" + }, + "value": { + "anim": true, + "description": "Sets the number to be displayed.", "editType": "calc", - "role": "object" + "valType": "number" }, - "sort": { - "description": "Determines whether or not the sectors are reordered from largest to smallest.", + "visible": { + "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", + "dflt": true, + "editType": "calc", + "valType": "enumerated", + "values": [ + true, + false, + "legendonly" + ] + } + }, + "categories": [ + "svg", + "noOpacity", + "noHover" + ], + "meta": { + "description": "An indicator is used to visualize a single `value` along with some contextual information such as `steps` or a `threshold`, using a combination of three visual elements: a number, a delta, and/or a gauge. Deltas are taken with respect to a `reference`. Gauges can be either angular or bullet (aka linear) gauges." + }, + "type": "indicator" + }, + "isosurface": { + "animatable": false, + "attributes": { + "autocolorscale": { + "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", "dflt": true, "editType": "calc", + "impliedEdits": {}, "valType": "boolean" }, - "stream": { + "caps": { "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", + "x": { "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, - "text": { - "description": "Sets text elements associated with each sector. If trace `textinfo` contains a *text* flag, these elements will be seen on the chart. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", - "editType": "plot", - "valType": "data_array" - }, - "textfont": { - "color": { - "arrayOk": true, - "editType": "plot", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used for `textinfo`.", - "editType": "plot", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" + "fill": { + "description": "Sets the fill ratio of the `caps`. The default fill value of the `caps` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.", + "dflt": 1, + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + "role": "object", + "show": { + "description": "Sets the fill ratio of the `slices`. The default fill value of the x `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.", + "dflt": true, + "editType": "calc", + "valType": "boolean" + } }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" + "y": { + "editType": "calc", + "fill": { + "description": "Sets the fill ratio of the `caps`. The default fill value of the `caps` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.", + "dflt": 1, + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + "role": "object", + "show": { + "description": "Sets the fill ratio of the `slices`. The default fill value of the y `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.", + "dflt": true, + "editType": "calc", + "valType": "boolean" + } }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" + "z": { + "editType": "calc", + "fill": { + "description": "Sets the fill ratio of the `caps`. The default fill value of the `caps` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.", + "dflt": 1, + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + "role": "object", + "show": { + "description": "Sets the fill ratio of the `slices`. The default fill value of the z `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.", + "dflt": true, + "editType": "calc", + "valType": "boolean" + } + } + }, + "cauto": { + "description": "Determines whether or not the color domain is computed with respect to the input data (here `value`) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user.", + "dflt": true, + "editType": "calc", + "impliedEdits": {}, + "valType": "boolean" + }, + "cmax": { + "description": "Sets the upper bound of the color domain. Value should have the same units as `value` and if set, `cmin` must be set as well.", + "dflt": null, + "editType": "calc", + "impliedEdits": { + "cauto": false }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" + "valType": "number" + }, + "cmid": { + "description": "Sets the mid-point of the color domain by scaling `cmin` and/or `cmax` to be equidistant to this point. Value should have the same units as `value`. Has no effect when `cauto` is `false`.", + "dflt": null, + "editType": "calc", + "impliedEdits": {}, + "valType": "number" + }, + "cmin": { + "description": "Sets the lower bound of the color domain. Value should have the same units as `value` and if set, `cmax` must be set as well.", + "dflt": null, + "editType": "calc", + "impliedEdits": { + "cauto": false }, - "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "plot", - "valType": "string" + "valType": "number" + }, + "coloraxis": { + "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", + "dflt": null, + "editType": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", + "valType": "subplotid" + }, + "colorbar": { + "bgcolor": { + "description": "Sets the color of padded area.", + "dflt": "rgba(0,0,0,0)", + "editType": "calc", + "valType": "color" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" + "bordercolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "editType": "calc", + "valType": "color" }, - "size": { - "arrayOk": true, - "editType": "plot", - "min": 1, + "borderwidth": { + "description": "Sets the width (in px) or the border enclosing this color bar.", + "dflt": 0, + "editType": "calc", + "min": 0, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" + "dtick": { + "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", + "editType": "calc", + "impliedEdits": { + "tickmode": "linear" + }, + "valType": "any" }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", + "editType": "calc", + "exponentformat": { + "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B. *SI* uses prefixes from \"femto\" f (10^-15) to \"tera\" T (10^12). *SI extended* covers instead the full SI range from \"quecto\" q (10^-30) to \"quetta\" Q (10^30). If *SI* or *SI extended* is used and the exponent is beyond the above ranges, the formatting rule will automatically be switched to the power notation.", + "dflt": "B", + "editType": "calc", "valType": "enumerated", "values": [ - "normal", - "italic" + "none", + "e", + "E", + "power", + "SI", + "B", + "SI extended" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] + "labelalias": { + "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", + "dflt": false, + "editType": "calc", + "valType": "any" }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" + "len": { + "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", + "dflt": 1, + "editType": "calc", + "min": 0, + "valType": "number" }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "plot", + "lenmode": { + "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", + "dflt": "fraction", + "editType": "calc", "valType": "enumerated", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "fraction", + "pixels" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" + "minexponent": { + "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", + "dflt": 3, + "editType": "calc", + "min": 0, + "valType": "number" }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, + "nticks": { + "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "editType": "calc", + "min": 0, "valType": "integer" }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } - }, - "textinfo": { - "description": "Determines which trace information appear on the graph.", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "label", - "text", - "value", - "current path", - "percent root", - "percent entry", - "percent parent" - ], - "valType": "flaglist" - }, - "textposition": { - "description": "Sets the positions of the `text` elements.", - "dflt": "top left", - "editType": "plot", - "valType": "enumerated", - "values": [ - "top left", - "top center", - "top right", - "middle left", - "middle center", - "middle right", - "bottom left", - "bottom center", - "bottom right" - ] - }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, - "texttemplate": { - "arrayOk": true, - "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`.", - "dflt": "", - "editType": "plot", - "valType": "string" - }, - "texttemplatefallback": { - "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", - "dflt": "-", - "editType": "plot", - "valType": "any" - }, - "texttemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `texttemplate`.", - "editType": "none", - "valType": "string" - }, - "tiling": { - "editType": "calc", - "flip": { - "description": "Determines if the positions obtained from solver are flipped on each axis.", - "dflt": "", - "editType": "plot", - "flags": [ - "x", - "y" - ], - "valType": "flaglist" - }, "orientation": { - "description": "When set in conjunction with `tiling.flip`, determines on which side the root nodes are drawn in the chart. If `tiling.orientation` is *v* and `tiling.flip` is **, the root nodes appear at the top. If `tiling.orientation` is *v* and `tiling.flip` is *y*, the root nodes appear at the bottom. If `tiling.orientation` is *h* and `tiling.flip` is **, the root nodes appear at the left. If `tiling.orientation` is *h* and `tiling.flip` is *x*, the root nodes appear at the right.", - "dflt": "h", - "editType": "plot", + "description": "Sets the orientation of the colorbar.", + "dflt": "v", + "editType": "calc", "valType": "enumerated", "values": [ - "v", - "h" + "h", + "v" ] }, - "pad": { - "description": "Sets the inner padding (in px).", - "dflt": 0, - "editType": "plot", + "outlinecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "editType": "calc", + "valType": "color" + }, + "outlinewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "editType": "calc", "min": 0, "valType": "number" }, - "role": "object" - }, - "type": "icicle", - "uid": { - "anim": true, - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", - "editType": "plot", - "valType": "string" - }, - "uirevision": { - "description": "Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.", - "editType": "none", - "valType": "any" - }, - "values": { - "description": "Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed.", - "editType": "calc", - "valType": "data_array" - }, - "valuessrc": { - "description": "Sets the source reference on Chart Studio Cloud for `values`.", - "editType": "none", - "valType": "string" - }, - "visible": { - "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", - "dflt": true, - "editType": "calc", - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ] - } - }, - "categories": [], - "layoutAttributes": { - "extendiciclecolors": { - "description": "If `true`, the icicle slice colors (whether given by `iciclecolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.", - "dflt": true, - "editType": "calc", - "valType": "boolean" - }, - "iciclecolorway": { - "description": "Sets the default icicle slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendiciclecolors`.", - "editType": "calc", - "valType": "colorlist" - } - }, - "meta": { - "description": "Visualize hierarchal data from leaves (and/or outer branches) towards root with rectangles. The icicle sectors are determined by the entries in *labels* or *ids* and in *parents*." - }, - "type": "icicle" - }, - "image": { - "animatable": false, - "attributes": { - "colormodel": { - "description": "Color model used to map the numerical color components described in `z` into colors. If `source` is specified, this attribute will be set to `rgba256` otherwise it defaults to `rgb`.", - "editType": "calc", - "valType": "enumerated", - "values": [ - "rgb", - "rgba", - "rgba256", - "hsl", - "hsla" - ] - }, - "customdata": { - "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", - "editType": "calc", - "valType": "data_array" - }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, - "dx": { - "description": "Set the pixel's horizontal size.", - "dflt": 1, - "editType": "calc", - "valType": "number" - }, - "dy": { - "description": "Set the pixel's vertical size", - "dflt": 1, - "editType": "calc", - "valType": "number" - }, - "hoverinfo": { - "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", - "dflt": "x+y+z+text+name", - "editType": "none", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "x", - "y", - "z", - "color", - "name", - "text" - ], - "valType": "flaglist" - }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, - "hoverlabel": { - "align": { - "arrayOk": true, - "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", - "dflt": "auto", - "editType": "none", + "role": "object", + "separatethousands": { + "description": "If \"true\", even 4-digit integers are separated", + "dflt": false, + "editType": "calc", + "valType": "boolean" + }, + "showexponent": { + "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", + "dflt": "all", + "editType": "calc", "valType": "enumerated", "values": [ - "left", - "right", - "auto" + "all", + "first", + "last", + "none" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "editType": "calc", + "valType": "boolean" }, - "bgcolor": { - "arrayOk": true, - "description": "Sets the background color of the hover labels for this trace", - "editType": "none", - "valType": "color" + "showtickprefix": { + "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", + "dflt": "all", + "editType": "calc", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "editType": "calc", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "bordercolor": { - "arrayOk": true, - "description": "Sets the border color of the hover labels for this trace.", - "editType": "none", - "valType": "color" + "thickness": { + "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", + "dflt": 30, + "editType": "calc", + "min": 0, + "valType": "number" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" + "thicknessmode": { + "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", + "dflt": "pixels", + "editType": "calc", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] }, - "editType": "none", - "font": { - "color": { - "arrayOk": true, - "editType": "none", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used in hover labels.", - "editType": "none", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "none", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "none", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "none", - "valType": "string" - }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, - "size": { - "arrayOk": true, - "editType": "none", - "min": 1, - "valType": "number" - }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "none", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "none", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "none", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "none", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc", + "impliedEdits": { + "tickmode": "linear" }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } + "valType": "any" }, - "namelength": { - "arrayOk": true, - "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", - "dflt": 15, - "editType": "none", - "min": -1, - "valType": "integer" + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "editType": "calc", + "valType": "angle" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "editType": "calc", + "valType": "color" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } - }, - "hovertemplate": { - "arrayOk": true, - "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `z`, `color` and `colormodel`. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "hovertemplatefallback": { - "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", - "dflt": "-", - "editType": "none", - "valType": "any" - }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, - "hovertext": { - "description": "Same as `text`.", - "editType": "plot", - "valType": "data_array" - }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, - "ids": { - "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", - "editType": "calc", - "valType": "data_array" - }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, - "legend": { - "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", - "dflt": "legend", - "editType": "style", - "valType": "subplotid" - }, - "legendgrouptitle": { - "editType": "style", - "font": { + "tickfont": { "color": { - "editType": "style", + "editType": "calc", "valType": "color" }, - "description": "Sets this legend group's title font.", - "editType": "style", + "description": "Sets the color bar's tick label font", + "editType": "calc", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "style", + "editType": "calc", "noBlank": true, "strict": true, "valType": "string" @@ -48098,7 +43125,7 @@ "lineposition": { "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", - "editType": "style", + "editType": "calc", "extras": [ "none" ], @@ -48113,18 +43140,18 @@ "shadow": { "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", - "editType": "style", + "editType": "calc", "valType": "string" }, "size": { - "editType": "style", + "editType": "calc", "min": 1, "valType": "number" }, "style": { "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", - "editType": "style", + "editType": "calc", "valType": "enumerated", "values": [ "normal", @@ -48134,7 +43161,7 @@ "textcase": { "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", - "editType": "style", + "editType": "calc", "valType": "enumerated", "values": [ "normal", @@ -48146,7 +43173,7 @@ "variant": { "description": "Sets the variant of the font.", "dflt": "normal", - "editType": "style", + "editType": "calc", "valType": "enumerated", "values": [ "normal", @@ -48160,7 +43187,7 @@ "weight": { "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", - "editType": "style", + "editType": "calc", "extras": [ "normal", "bold" @@ -48170,273 +43197,434 @@ "valType": "integer" } }, - "role": "object", - "text": { - "description": "Sets the title of the legend group.", + "tickformat": { + "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", "dflt": "", - "editType": "style", + "editType": "calc", "valType": "string" - } - }, - "legendrank": { - "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", - "dflt": 1000, - "editType": "style", - "valType": "number" - }, - "legendwidth": { - "description": "Sets the width (in px or fraction) of the legend for this trace.", - "editType": "style", - "min": 0, - "valType": "number" - }, - "meta": { - "arrayOk": true, - "description": "Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.", - "editType": "plot", - "valType": "any" - }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, - "name": { - "description": "Sets the trace name. The trace name appears as the legend item and on hover.", - "editType": "style", - "valType": "string" - }, - "opacity": { - "description": "Sets the opacity of the trace.", - "dflt": 1, - "editType": "style", - "max": 1, - "min": 0, - "valType": "number" - }, - "source": { - "description": "Specifies the data URI of the image to be visualized. The URI consists of \"data:image/[][;base64\\\\],\"", - "editType": "calc", - "valType": "string" - }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, + }, + "tickformatstops": { + "items": { + "tickformatstop": { + "dtickrange": { + "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", + "editType": "calc", + "items": [ + { + "editType": "calc", + "valType": "any" + }, + { + "editType": "calc", + "valType": "any" + } + ], + "valType": "info_array" + }, + "editType": "calc", + "enabled": { + "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", + "dflt": true, + "editType": "calc", + "valType": "boolean" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "calc", + "valType": "string" + }, + "role": "object", + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "calc", + "valType": "string" + }, + "value": { + "description": "string - dtickformat for described zoom level, the same as *tickformat*", + "dflt": "", + "editType": "calc", + "valType": "string" + } + } + }, + "role": "object" + }, + "ticklabeloverflow": { + "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "allow", + "hide past div", + "hide past domain" + ] + }, + "ticklabelposition": { + "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", + "dflt": "outside", + "editType": "calc", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom" + ] + }, + "ticklabelstep": { + "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", + "dflt": 1, + "editType": "calc", + "min": 1, + "valType": "integer" + }, + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, "editType": "calc", - "max": 10000, "min": 0, "valType": "number" }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", + "tickmode": { + "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", + "editType": "calc", + "impliedEdits": {}, + "valType": "enumerated", + "values": [ + "auto", + "linear", + "array" + ] + }, + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", "editType": "calc", - "noBlank": true, - "strict": true, "valType": "string" - } - }, - "text": { - "description": "Sets the text elements associated with each z value.", - "editType": "plot", - "valType": "data_array" - }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, - "type": "image", - "uid": { - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", - "editType": "plot", - "valType": "string" - }, - "uirevision": { - "description": "Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.", - "editType": "none", - "valType": "any" - }, - "visible": { - "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", - "dflt": true, - "editType": "calc", - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ] - }, - "x0": { - "description": "Set the image's x position. The left edge of the image (or the right edge if the x axis is reversed or dx is negative) will be found at xmin=x0-dx/2", - "dflt": 0, - "editType": "calc+clearAxisTypes", - "valType": "any" - }, - "xaxis": { - "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "valType": "subplotid" - }, - "y0": { - "description": "Set the image's y position. The top edge of the image (or the bottom edge if the y axis is NOT reversed or if dy is negative) will be found at ymin=y0-dy/2. By default when an image trace is included, the y axis will be reversed so that the image is right-side-up, but you can disable this by setting yaxis.autorange=true or by providing an explicit y axis range.", - "dflt": 0, - "editType": "calc+clearAxisTypes", - "valType": "any" - }, - "yaxis": { - "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "valType": "subplotid" - }, - "z": { - "description": "A 2-dimensional array in which each element is an array of 3 or 4 numbers representing a color.", - "editType": "calc", - "valType": "data_array" - }, - "zmax": { - "description": "Array defining the higher bound for each color component. Note that the default value will depend on the colormodel. For the `rgb` colormodel, it is [255, 255, 255]. For the `rgba` colormodel, it is [255, 255, 255, 1]. For the `rgba256` colormodel, it is [255, 255, 255, 255]. For the `hsl` colormodel, it is [360, 100, 100]. For the `hsla` colormodel, it is [360, 100, 100, 1].", - "editType": "calc", - "items": [ - { - "editType": "calc", - "valType": "number" - }, - { - "editType": "calc", - "valType": "number" - }, - { - "editType": "calc", - "valType": "number" - }, - { + }, + "ticks": { + "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", + "dflt": "", + "editType": "calc", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "" + ] + }, + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "editType": "calc", + "valType": "string" + }, + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", + "editType": "calc", + "valType": "data_array" + }, + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "editType": "calc", + "valType": "data_array" + }, + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "title": { + "editType": "calc", + "font": { + "color": { + "editType": "calc", + "valType": "color" + }, + "description": "Sets this color bar's title font.", "editType": "calc", - "valType": "number" - } - ], - "valType": "info_array" - }, - "zmin": { - "description": "Array defining the lower bound for each color component. Note that the default value will depend on the colormodel. For the `rgb` colormodel, it is [0, 0, 0]. For the `rgba` colormodel, it is [0, 0, 0, 0]. For the `rgba256` colormodel, it is [0, 0, 0, 0]. For the `hsl` colormodel, it is [0, 0, 0]. For the `hsla` colormodel, it is [0, 0, 0, 0].", - "editType": "calc", - "items": [ - { - "editType": "calc", - "valType": "number" - }, - { - "editType": "calc", - "valType": "number" + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "calc", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "size": { + "editType": "calc", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "calc", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } }, - { + "role": "object", + "side": { + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", "editType": "calc", - "valType": "number" + "valType": "enumerated", + "values": [ + "right", + "top", + "bottom" + ] }, - { + "text": { + "description": "Sets the title of the color bar.", "editType": "calc", - "valType": "number" + "valType": "string" } - ], - "valType": "info_array" - }, - "zorder": { - "description": "Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.", - "dflt": 0, - "editType": "plot", - "valType": "integer" + }, + "x": { + "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", + "editType": "calc", + "valType": "number" + }, + "xanchor": { + "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "xpad": { + "description": "Sets the amount of padding (in px) along the x direction.", + "dflt": 10, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "xref": { + "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", + "dflt": "paper", + "editType": "calc", + "valType": "enumerated", + "values": [ + "container", + "paper" + ] + }, + "y": { + "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", + "editType": "calc", + "valType": "number" + }, + "yanchor": { + "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "ypad": { + "description": "Sets the amount of padding (in px) along the y direction.", + "dflt": 10, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "yref": { + "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", + "dflt": "paper", + "editType": "calc", + "valType": "enumerated", + "values": [ + "container", + "paper" + ] + } }, - "zsmooth": { - "description": "Picks a smoothing algorithm used to smooth `z` data. This only applies for image traces that use the `source` attribute.", - "dflt": false, - "editType": "plot", - "valType": "enumerated", - "values": [ - "fast", - false - ] + "colorscale": { + "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "dflt": null, + "editType": "calc", + "impliedEdits": { + "autocolorscale": false + }, + "valType": "colorscale" }, - "zsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `z`.", - "editType": "none", - "valType": "string" - } - }, - "categories": [ - "cartesian", - "svg", - "2dMap", - "noSortingByValue" - ], - "meta": { - "description": "Display an image, i.e. data on a 2D regular raster. By default, when an image is displayed in a subplot, its y axis will be reversed (ie. `autorange: 'reversed'`), constrained to the domain (ie. `constrain: 'domain'`) and it will have the same scale as its x axis (ie. `scaleanchor: 'x,`) in order for pixels to be rendered as squares." - }, - "type": "image" - }, - "indicator": { - "animatable": true, - "attributes": { - "align": { - "description": "Sets the horizontal alignment of the `text` within the box. Note that this attribute has no effect if an angular gauge is displayed: in this case, it is always centered", - "editType": "plot", - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ] + "contour": { + "color": { + "description": "Sets the color of the contour lines.", + "dflt": "#444", + "editType": "calc", + "valType": "color" + }, + "editType": "calc", + "role": "object", + "show": { + "description": "Sets whether or not dynamic contours are shown on hover", + "dflt": false, + "editType": "calc", + "valType": "boolean" + }, + "width": { + "description": "Sets the width of the contour lines.", + "dflt": 2, + "editType": "calc", + "max": 16, + "min": 1, + "valType": "number" + } }, "customdata": { "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" + "flatshading": { + "description": "Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections.", + "dflt": true, + "editType": "calc", + "valType": "boolean" }, - "delta": { - "decreasing": { - "color": { - "description": "Sets the color for increasing value.", - "dflt": "#FF4136", - "editType": "plot", - "valType": "color" - }, - "editType": "plot", - "role": "object", - "symbol": { - "description": "Sets the symbol to display for increasing value", - "dflt": "▼", - "editType": "plot", - "valType": "string" - } - }, + "hoverinfo": { + "arrayOk": true, + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "dflt": "all", "editType": "calc", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ], + "valType": "flaglist" + }, + "hoverlabel": { + "align": { + "arrayOk": true, + "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", + "dflt": "auto", + "editType": "none", + "valType": "enumerated", + "values": [ + "left", + "right", + "auto" + ] + }, + "bgcolor": { + "arrayOk": true, + "description": "Sets the background color of the hover labels for this trace", + "editType": "none", + "valType": "color" + }, + "bordercolor": { + "arrayOk": true, + "description": "Sets the border color of the hover labels for this trace.", + "editType": "none", + "valType": "color" + }, + "editType": "none", "font": { "color": { - "editType": "plot", + "arrayOk": true, + "editType": "none", "valType": "color" }, - "description": "Set the font used to display the delta", - "editType": "plot", + "description": "Sets the font used in hover labels.", + "editType": "none", "family": { + "arrayOk": true, "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "plot", + "editType": "none", "noBlank": true, "strict": true, "valType": "string" }, "lineposition": { + "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", - "editType": "plot", + "editType": "none", "extras": [ "none" ], @@ -48449,20 +43637,23 @@ }, "role": "object", "shadow": { + "arrayOk": true, "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", - "editType": "plot", + "editType": "none", "valType": "string" }, "size": { - "editType": "plot", + "arrayOk": true, + "editType": "none", "min": 1, "valType": "number" }, "style": { + "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", - "editType": "plot", + "editType": "none", "valType": "enumerated", "values": [ "normal", @@ -48470,9 +43661,10 @@ ] }, "textcase": { + "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", - "editType": "plot", + "editType": "none", "valType": "enumerated", "values": [ "normal", @@ -48482,9 +43674,10 @@ ] }, "variant": { + "arrayOk": true, "description": "Sets the variant of the font.", "dflt": "normal", - "editType": "plot", + "editType": "none", "valType": "enumerated", "values": [ "normal", @@ -48496,9 +43689,10 @@ ] }, "weight": { + "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", - "editType": "plot", + "editType": "none", "extras": [ "normal", "bold" @@ -48508,1084 +43702,540 @@ "valType": "integer" } }, - "increasing": { + "namelength": { + "arrayOk": true, + "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", + "dflt": 15, + "editType": "none", + "min": -1, + "valType": "integer" + }, + "role": "object", + "showarrow": { + "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", + "dflt": true, + "editType": "none", + "valType": "boolean" + } + }, + "hovertemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", + "dflt": "", + "editType": "calc", + "valType": "string" + }, + "hovertemplatefallback": { + "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", + "dflt": "-", + "editType": "calc", + "valType": "any" + }, + "hovertext": { + "arrayOk": true, + "description": "Same as `text`.", + "dflt": "", + "editType": "calc", + "valType": "string" + }, + "ids": { + "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", + "editType": "calc", + "valType": "data_array" + }, + "isomax": { + "description": "Sets the maximum boundary for iso-surface plot.", + "editType": "calc", + "valType": "number" + }, + "isomin": { + "description": "Sets the minimum boundary for iso-surface plot.", + "editType": "calc", + "valType": "number" + }, + "legend": { + "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", + "dflt": "legend", + "editType": "style", + "valType": "subplotid" + }, + "legendgroup": { + "description": "Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.", + "dflt": "", + "editType": "style", + "valType": "string" + }, + "legendgrouptitle": { + "editType": "style", + "font": { "color": { - "description": "Sets the color for increasing value.", - "dflt": "#3D9970", - "editType": "plot", + "editType": "style", "valType": "color" }, - "editType": "plot", + "description": "Sets this legend group's title font.", + "editType": "style", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "style", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", - "symbol": { - "description": "Sets the symbol to display for increasing value", - "dflt": "▲", - "editType": "plot", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", "valType": "string" + }, + "size": { + "editType": "style", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "style", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, - "position": { - "description": "Sets the position of delta with respect to the number.", - "dflt": "bottom", - "editType": "plot", - "valType": "enumerated", - "values": [ - "top", - "bottom", - "left", - "right" - ] - }, - "prefix": { - "description": "Sets a prefix appearing before the delta.", + "role": "object", + "text": { + "description": "Sets the title of the legend group.", "dflt": "", - "editType": "plot", + "editType": "style", "valType": "string" - }, - "reference": { - "description": "Sets the reference value to compute the delta. By default, it is set to the current value.", + } + }, + "legendrank": { + "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", + "dflt": 1000, + "editType": "style", + "valType": "number" + }, + "legendwidth": { + "description": "Sets the width (in px or fraction) of the legend for this trace.", + "editType": "style", + "min": 0, + "valType": "number" + }, + "lighting": { + "ambient": { + "description": "Ambient light increases overall color visibility but can wash out the image.", + "dflt": 0.8, "editType": "calc", + "max": 1, + "min": 0, "valType": "number" }, - "relative": { - "description": "Show relative change", - "dflt": false, - "editType": "plot", - "valType": "boolean" - }, - "role": "object", - "suffix": { - "description": "Sets a suffix appearing next to the delta.", - "dflt": "", - "editType": "plot", - "valType": "string" + "diffuse": { + "description": "Represents the extent that incident rays are reflected in a range of angles.", + "dflt": 0.8, + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" }, - "valueformat": { - "description": "Sets the value formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.", - "editType": "plot", - "valType": "string" - } - }, - "domain": { - "column": { - "description": "If there is a layout grid, use the domain for this column in the grid for this indicator trace .", + "editType": "calc", + "facenormalsepsilon": { + "description": "Epsilon for face normals calculation avoids math issues arising from degenerate geometry.", "dflt": 0, "editType": "calc", + "max": 1, "min": 0, - "valType": "integer" + "valType": "number" + }, + "fresnel": { + "description": "Represents the reflectance as a dependency of the viewing angle; e.g. paper is reflective when viewing it from the edge of the paper (almost 90 degrees), causing shine.", + "dflt": 0.2, + "editType": "calc", + "max": 5, + "min": 0, + "valType": "number" }, - "editType": "calc", "role": "object", - "row": { - "description": "If there is a layout grid, use the domain for this row in the grid for this indicator trace .", - "dflt": 0, + "roughness": { + "description": "Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.", + "dflt": 0.5, "editType": "calc", + "max": 1, "min": 0, - "valType": "integer" + "valType": "number" + }, + "specular": { + "description": "Represents the level that incident rays are reflected in a single direction, causing shine.", + "dflt": 0.05, + "editType": "calc", + "max": 2, + "min": 0, + "valType": "number" }, + "vertexnormalsepsilon": { + "description": "Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.", + "dflt": 1e-12, + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + } + }, + "lightposition": { + "editType": "calc", + "role": "object", "x": { - "description": "Sets the horizontal domain of this indicator trace (in plot fraction).", - "dflt": [ - 0, - 1 - ], + "description": "Numeric vector, representing the X coordinate for each vertex.", + "dflt": 100000, "editType": "calc", - "items": [ - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - } - ], - "valType": "info_array" + "max": 100000, + "min": -100000, + "valType": "number" }, "y": { - "description": "Sets the vertical domain of this indicator trace (in plot fraction).", - "dflt": [ - 0, - 1 - ], + "description": "Numeric vector, representing the Y coordinate for each vertex.", + "dflt": 100000, "editType": "calc", - "items": [ - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - } - ], - "valType": "info_array" + "max": 100000, + "min": -100000, + "valType": "number" + }, + "z": { + "description": "Numeric vector, representing the Z coordinate for each vertex.", + "dflt": 0, + "editType": "calc", + "max": 100000, + "min": -100000, + "valType": "number" } }, - "gauge": { - "axis": { - "dtick": { - "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", - "editType": "plot", - "impliedEdits": { - "tickmode": "linear" - }, - "valType": "any" + "meta": { + "arrayOk": true, + "description": "Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.", + "editType": "plot", + "valType": "any" + }, + "name": { + "description": "Sets the trace name. The trace name appears as the legend item and on hover.", + "editType": "style", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the surface. Please note that in the case of using high `opacity` values for example a value greater than or equal to 0.5 on two surfaces (and 0.25 with four surfaces), an overlay of multiple transparent surfaces may not perfectly be sorted in depth by the webgl API. This behavior may be improved in the near future and is subject to change.", + "dflt": 1, + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + "reversescale": { + "description": "Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and `cmax` will correspond to the first color.", + "dflt": false, + "editType": "calc", + "valType": "boolean" + }, + "scene": { + "description": "Sets a reference between this trace's 3D coordinate system and a 3D scene. If *scene* (the default value), the (x,y,z) coordinates refer to `layout.scene`. If *scene2*, the (x,y,z) coordinates refer to `layout.scene2`, and so on.", + "dflt": "scene", + "editType": "calc+clearAxisTypes", + "valType": "subplotid" + }, + "showlegend": { + "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", + "dflt": false, + "editType": "calc", + "valType": "boolean" + }, + "showscale": { + "description": "Determines whether or not a colorbar is displayed for this trace.", + "dflt": true, + "editType": "calc", + "valType": "boolean" + }, + "slices": { + "editType": "calc", + "role": "object", + "x": { + "editType": "calc", + "fill": { + "description": "Sets the fill ratio of the `slices`. The default fill value of the `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.", + "dflt": 1, + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" }, - "editType": "plot", - "exponentformat": { - "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B. *SI* uses prefixes from \"femto\" f (10^-15) to \"tera\" T (10^12). *SI extended* covers instead the full SI range from \"quecto\" q (10^-30) to \"quetta\" Q (10^30). If *SI* or *SI extended* is used and the exponent is beyond the above ranges, the formatting rule will automatically be switched to the power notation.", - "dflt": "B", - "editType": "plot", - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" - ] + "locations": { + "description": "Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis x except start and end.", + "dflt": [], + "editType": "calc", + "valType": "data_array" }, - "labelalias": { - "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", + "role": "object", + "show": { + "description": "Determines whether or not slice planes about the x dimension are drawn.", "dflt": false, - "editType": "plot", - "valType": "any" - }, - "minexponent": { - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", - "dflt": 3, - "editType": "plot", + "editType": "calc", + "valType": "boolean" + } + }, + "y": { + "editType": "calc", + "fill": { + "description": "Sets the fill ratio of the `slices`. The default fill value of the `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.", + "dflt": 1, + "editType": "calc", + "max": 1, "min": 0, "valType": "number" }, - "nticks": { - "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", - "dflt": 0, - "editType": "plot", - "min": 0, - "valType": "integer" - }, - "range": { - "description": "Sets the range of this axis.", - "editType": "plot", - "items": [ - { - "editType": "plot", - "valType": "number" - }, - { - "editType": "plot", - "valType": "number" - } - ], - "valType": "info_array" + "locations": { + "description": "Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis y except start and end.", + "dflt": [], + "editType": "calc", + "valType": "data_array" }, "role": "object", - "separatethousands": { - "description": "If \"true\", even 4-digit integers are separated", + "show": { + "description": "Determines whether or not slice planes about the y dimension are drawn.", "dflt": false, - "editType": "plot", + "editType": "calc", "valType": "boolean" + } + }, + "z": { + "editType": "calc", + "fill": { + "description": "Sets the fill ratio of the `slices`. The default fill value of the `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.", + "dflt": 1, + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" }, - "showexponent": { - "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", - "dflt": "all", - "editType": "plot", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] + "locations": { + "description": "Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis z except start and end.", + "dflt": [], + "editType": "calc", + "valType": "data_array" }, - "showticklabels": { - "description": "Determines whether or not the tick labels are drawn.", - "dflt": true, - "editType": "plot", - "valType": "boolean" - }, - "showtickprefix": { - "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", - "dflt": "all", - "editType": "plot", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "showticksuffix": { - "description": "Same as `showtickprefix` but for tick suffixes.", - "dflt": "all", - "editType": "plot", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", - "editType": "plot", - "impliedEdits": { - "tickmode": "linear" - }, - "valType": "any" - }, - "tickangle": { - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", - "dflt": "auto", - "editType": "plot", - "valType": "angle" - }, - "tickcolor": { - "description": "Sets the tick color.", - "dflt": "#444", - "editType": "plot", - "valType": "color" - }, - "tickfont": { - "color": { - "editType": "plot", - "valType": "color" - }, - "description": "Sets the color bar's tick label font", - "editType": "plot", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "plot", - "valType": "string" - }, - "size": { - "editType": "plot", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "tickformat": { - "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", - "dflt": "", - "editType": "plot", - "valType": "string" - }, - "tickformatstops": { - "items": { - "tickformatstop": { - "dtickrange": { - "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", - "editType": "plot", - "items": [ - { - "editType": "plot", - "valType": "any" - }, - { - "editType": "plot", - "valType": "any" - } - ], - "valType": "info_array" - }, - "editType": "plot", - "enabled": { - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", - "dflt": true, - "editType": "plot", - "valType": "boolean" - }, - "name": { - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", - "editType": "plot", - "valType": "string" - }, - "role": "object", - "templateitemname": { - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", - "editType": "plot", - "valType": "string" - }, - "value": { - "description": "string - dtickformat for described zoom level, the same as *tickformat*", - "dflt": "", - "editType": "plot", - "valType": "string" - } - } - }, - "role": "object" - }, - "ticklabelstep": { - "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", - "dflt": 1, - "editType": "plot", - "min": 1, - "valType": "integer" - }, - "ticklen": { - "description": "Sets the tick length (in px).", - "dflt": 5, - "editType": "plot", - "min": 0, - "valType": "number" - }, - "tickmode": { - "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", - "editType": "plot", - "impliedEdits": {}, - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ] - }, - "tickprefix": { - "description": "Sets a tick label prefix.", - "dflt": "", - "editType": "plot", - "valType": "string" - }, - "ticks": { - "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", - "dflt": "outside", - "editType": "plot", - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ] - }, - "ticksuffix": { - "description": "Sets a tick label suffix.", - "dflt": "", - "editType": "plot", - "valType": "string" - }, - "ticktext": { - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "editType": "plot", - "valType": "data_array" - }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, - "tickvals": { - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "editType": "plot", - "valType": "data_array" - }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, - "tickwidth": { - "description": "Sets the tick width (in px).", - "dflt": 1, - "editType": "plot", - "min": 0, - "valType": "number" - }, - "visible": { - "description": "A single toggle to hide the axis while preserving interaction like dragging. Default is true when a cheater plot is present on the axis, otherwise false", - "dflt": true, - "editType": "plot", + "role": "object", + "show": { + "description": "Determines whether or not slice planes about the z dimension are drawn.", + "dflt": false, + "editType": "calc", "valType": "boolean" } - }, - "bar": { - "color": { - "description": "Sets the background color of the arc.", - "dflt": "green", - "editType": "plot", - "valType": "color" - }, - "description": "Set the appearance of the gauge's value", + } + }, + "spaceframe": { + "editType": "calc", + "fill": { + "description": "Sets the fill ratio of the `spaceframe` elements. The default fill value is 0.15 meaning that only 15% of the area of every faces of tetras would be shaded. Applying a greater `fill` ratio would allow the creation of stronger elements or could be sued to have entirely closed areas (in case of using 1).", + "dflt": 0.15, "editType": "calc", - "line": { - "color": { - "description": "Sets the color of the line enclosing each sector.", - "dflt": "#444", - "editType": "plot", - "valType": "color" - }, - "editType": "calc", - "role": "object", - "width": { - "description": "Sets the width (in px) of the line enclosing each sector.", - "dflt": 0, - "editType": "plot", - "min": 0, - "valType": "number" - } - }, - "role": "object", - "thickness": { - "description": "Sets the thickness of the bar as a fraction of the total thickness of the gauge.", - "dflt": 1, - "editType": "plot", - "max": 1, - "min": 0, - "valType": "number" - } - }, - "bgcolor": { - "description": "Sets the gauge background color.", - "editType": "plot", - "valType": "color" + "max": 1, + "min": 0, + "valType": "number" }, - "bordercolor": { - "description": "Sets the color of the border enclosing the gauge.", - "dflt": "#444", - "editType": "plot", - "valType": "color" + "role": "object", + "show": { + "description": "Displays/hides tetrahedron shapes between minimum and maximum iso-values. Often useful when either caps or surfaces are disabled or filled with values less than 1.", + "dflt": false, + "editType": "calc", + "valType": "boolean" + } + }, + "surface": { + "count": { + "description": "Sets the number of iso-surfaces between minimum and maximum iso-values. By default this value is 2 meaning that only minimum and maximum surfaces would be drawn.", + "dflt": 2, + "editType": "calc", + "min": 1, + "valType": "integer" }, - "borderwidth": { - "description": "Sets the width (in px) of the border enclosing the gauge.", + "editType": "calc", + "fill": { + "description": "Sets the fill ratio of the iso-surface. The default fill value of the surface is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.", "dflt": 1, - "editType": "plot", + "editType": "calc", + "max": 1, "min": 0, "valType": "number" }, - "description": "The gauge of the Indicator plot.", - "editType": "plot", - "role": "object", - "shape": { - "description": "Set the shape of the gauge", - "dflt": "angular", - "editType": "plot", - "valType": "enumerated", - "values": [ - "angular", - "bullet" - ] - }, - "steps": { - "items": { - "step": { - "color": { - "description": "Sets the background color of the arc.", - "editType": "plot", - "valType": "color" - }, - "editType": "calc", - "line": { - "color": { - "description": "Sets the color of the line enclosing each sector.", - "dflt": "#444", - "editType": "plot", - "valType": "color" - }, - "editType": "calc", - "role": "object", - "width": { - "description": "Sets the width (in px) of the line enclosing each sector.", - "dflt": 0, - "editType": "plot", - "min": 0, - "valType": "number" - } - }, - "name": { - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", - "editType": "none", - "valType": "string" - }, - "range": { - "description": "Sets the range of this axis.", - "editType": "plot", - "items": [ - { - "editType": "plot", - "valType": "number" - }, - { - "editType": "plot", - "valType": "number" - } - ], - "valType": "info_array" - }, - "role": "object", - "templateitemname": { - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", - "editType": "calc", - "valType": "string" - }, - "thickness": { - "description": "Sets the thickness of the bar as a fraction of the total thickness of the gauge.", - "dflt": 1, - "editType": "plot", - "max": 1, - "min": 0, - "valType": "number" - } - } - }, - "role": "object" + "pattern": { + "description": "Sets the surface pattern of the iso-surface 3-D sections. The default pattern of the surface is `all` meaning that the rest of surface elements would be shaded. The check options (either 1 or 2) could be used to draw half of the squares on the surface. Using various combinations of capital `A`, `B`, `C`, `D` and `E` may also be used to reduce the number of triangles on the iso-surfaces and creating other patterns of interest.", + "dflt": "all", + "editType": "calc", + "extras": [ + "all", + "odd", + "even" + ], + "flags": [ + "A", + "B", + "C", + "D", + "E" + ], + "valType": "flaglist" }, - "threshold": { - "editType": "plot", - "line": { - "color": { - "description": "Sets the color of the threshold line.", - "dflt": "#444", - "editType": "plot", - "valType": "color" - }, - "editType": "plot", - "role": "object", - "width": { - "description": "Sets the width (in px) of the threshold line.", - "dflt": 1, - "editType": "plot", - "min": 0, - "valType": "number" - } - }, - "role": "object", - "thickness": { - "description": "Sets the thickness of the threshold line as a fraction of the thickness of the gauge.", - "dflt": 0.85, - "editType": "plot", - "max": 1, - "min": 0, - "valType": "number" - }, - "value": { - "description": "Sets a treshold value drawn as a line.", - "dflt": false, - "editType": "calc", - "valType": "number" - } + "role": "object", + "show": { + "description": "Hides/displays surfaces between minimum and maximum iso-values.", + "dflt": true, + "editType": "calc", + "valType": "boolean" } }, - "ids": { - "anim": true, - "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", + "text": { + "arrayOk": true, + "description": "Sets the text elements associated with the vertices. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", + "dflt": "", "editType": "calc", - "valType": "data_array" + "valType": "string" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", + "type": "isosurface", + "uid": { + "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", + "editType": "plot", "valType": "string" }, - "legend": { - "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", - "dflt": "legend", - "editType": "style", - "valType": "subplotid" + "uirevision": { + "description": "Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.", + "editType": "none", + "valType": "any" }, - "legendgrouptitle": { - "editType": "style", - "font": { - "color": { - "editType": "style", - "valType": "color" - }, - "description": "Sets this legend group's title font.", - "editType": "style", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "style", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "style", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "style", - "valType": "string" - }, - "size": { - "editType": "style", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "style", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "style", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "style", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "style", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "role": "object", - "text": { - "description": "Sets the title of the legend group.", - "dflt": "", - "editType": "style", - "valType": "string" - } + "value": { + "description": "Sets the 4th dimension (value) of the vertices.", + "editType": "calc+clearAxisTypes", + "valType": "data_array" }, - "legendrank": { - "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", - "dflt": 1000, - "editType": "style", - "valType": "number" + "valuehoverformat": { + "description": "Sets the hover text formatting rule for `value` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.", + "dflt": "", + "editType": "calc", + "valType": "string" }, - "legendwidth": { - "description": "Sets the width (in px or fraction) of the legend for this trace.", - "editType": "style", - "min": 0, - "valType": "number" + "visible": { + "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", + "dflt": true, + "editType": "calc", + "valType": "enumerated", + "values": [ + true, + false, + "legendonly" + ] }, - "meta": { - "arrayOk": true, - "description": "Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.", - "editType": "plot", - "valType": "any" + "x": { + "description": "Sets the X coordinates of the vertices on X axis.", + "editType": "calc+clearAxisTypes", + "valType": "data_array" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", + "xhoverformat": { + "description": "Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", + "dflt": "", + "editType": "calc", "valType": "string" }, - "mode": { - "description": "Determines how the value is displayed on the graph. `number` displays the value numerically in text. `delta` displays the difference to a reference value in text. Finally, `gauge` displays the value graphically on an axis.", - "dflt": "number", + "y": { + "description": "Sets the Y coordinates of the vertices on Y axis.", + "editType": "calc+clearAxisTypes", + "valType": "data_array" + }, + "yhoverformat": { + "description": "Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", + "dflt": "", "editType": "calc", - "flags": [ - "number", - "delta", - "gauge" - ], - "valType": "flaglist" + "valType": "string" }, - "name": { - "description": "Sets the trace name. The trace name appears as the legend item and on hover.", - "editType": "style", + "z": { + "description": "Sets the Z coordinates of the vertices on Z axis.", + "editType": "calc+clearAxisTypes", + "valType": "data_array" + }, + "zhoverformat": { + "description": "Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`.", + "dflt": "", + "editType": "calc", "valType": "string" + } + }, + "categories": [ + "gl3d", + "showLegend" + ], + "meta": { + "description": "Draws isosurfaces between iso-min and iso-max values with coordinates given by four 1-dimensional arrays containing the `value`, `x`, `y` and `z` of every vertex of a uniform or non-uniform 3-D grid. Horizontal or vertical slices, caps as well as spaceframe between iso-min and iso-max values could also be drawn using this trace." + }, + "type": "isosurface" + }, + "mesh3d": { + "animatable": false, + "attributes": { + "alphahull": { + "description": "Determines how the mesh surface triangles are derived from the set of vertices (points) represented by the `x`, `y` and `z` arrays, if the `i`, `j`, `k` arrays are not supplied. For general use of `mesh3d` it is preferred that `i`, `j`, `k` are supplied. If *-1*, Delaunay triangulation is used, which is mainly suitable if the mesh is a single, more or less layer surface that is perpendicular to `delaunayaxis`. In case the `delaunayaxis` intersects the mesh surface at more than one point it will result triangles that are very long in the dimension of `delaunayaxis`. If *>0*, the alpha-shape algorithm is used. In this case, the positive `alphahull` value signals the use of the alpha-shape algorithm, _and_ its value acts as the parameter for the mesh fitting. If *0*, the convex-hull algorithm is used. It is suitable for convex bodies or if the intention is to enclose the `x`, `y` and `z` point set into a convex hull.", + "dflt": -1, + "editType": "calc", + "valType": "number" }, - "number": { - "editType": "plot", - "font": { - "color": { - "editType": "plot", - "valType": "color" - }, - "description": "Set the font used to display main number", - "editType": "plot", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "plot", - "valType": "string" - }, - "size": { - "editType": "plot", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "prefix": { - "description": "Sets a prefix appearing before the number.", - "dflt": "", - "editType": "plot", - "valType": "string" - }, - "role": "object", - "suffix": { - "description": "Sets a suffix appearing next to the number.", - "dflt": "", - "editType": "plot", - "valType": "string" - }, - "valueformat": { - "description": "Sets the value formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.", - "dflt": "", - "editType": "plot", - "valType": "string" - } - }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, - "title": { - "align": { - "description": "Sets the horizontal alignment of the title. It defaults to `center` except for bullet charts for which it defaults to right.", - "editType": "plot", - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ] - }, - "editType": "plot", - "font": { - "color": { - "editType": "plot", - "valType": "color" - }, - "description": "Set the font used to display the title", - "editType": "plot", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "plot", - "valType": "string" - }, - "size": { - "editType": "plot", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "role": "object", - "text": { - "description": "Sets the title of this indicator.", - "editType": "plot", - "valType": "string" - } - }, - "type": "indicator", - "uid": { - "anim": true, - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", - "editType": "plot", - "valType": "string" - }, - "uirevision": { - "description": "Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.", - "editType": "none", - "valType": "any" - }, - "value": { - "anim": true, - "description": "Sets the number to be displayed.", - "editType": "calc", - "valType": "number" - }, - "visible": { - "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", - "dflt": true, - "editType": "calc", - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ] - } - }, - "categories": [ - "svg", - "noOpacity", - "noHover" - ], - "meta": { - "description": "An indicator is used to visualize a single `value` along with some contextual information such as `steps` or a `threshold`, using a combination of three visual elements: a number, a delta, and/or a gauge. Deltas are taken with respect to a `reference`. Gauges can be either angular or bullet (aka linear) gauges." - }, - "type": "indicator" - }, - "isosurface": { - "animatable": false, - "attributes": { "autocolorscale": { "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", "dflt": true, @@ -49593,73 +44243,15 @@ "impliedEdits": {}, "valType": "boolean" }, - "caps": { - "editType": "calc", - "role": "object", - "x": { - "editType": "calc", - "fill": { - "description": "Sets the fill ratio of the `caps`. The default fill value of the `caps` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.", - "dflt": 1, - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - "role": "object", - "show": { - "description": "Sets the fill ratio of the `slices`. The default fill value of the x `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.", - "dflt": true, - "editType": "calc", - "valType": "boolean" - } - }, - "y": { - "editType": "calc", - "fill": { - "description": "Sets the fill ratio of the `caps`. The default fill value of the `caps` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.", - "dflt": 1, - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - "role": "object", - "show": { - "description": "Sets the fill ratio of the `slices`. The default fill value of the y `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.", - "dflt": true, - "editType": "calc", - "valType": "boolean" - } - }, - "z": { - "editType": "calc", - "fill": { - "description": "Sets the fill ratio of the `caps`. The default fill value of the `caps` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.", - "dflt": 1, - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - "role": "object", - "show": { - "description": "Sets the fill ratio of the `slices`. The default fill value of the z `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.", - "dflt": true, - "editType": "calc", - "valType": "boolean" - } - } - }, "cauto": { - "description": "Determines whether or not the color domain is computed with respect to the input data (here `value`) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user.", + "description": "Determines whether or not the color domain is computed with respect to the input data (here `intensity`) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user.", "dflt": true, "editType": "calc", "impliedEdits": {}, "valType": "boolean" }, "cmax": { - "description": "Sets the upper bound of the color domain. Value should have the same units as `value` and if set, `cmin` must be set as well.", + "description": "Sets the upper bound of the color domain. Value should have the same units as `intensity` and if set, `cmin` must be set as well.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -49668,14 +44260,14 @@ "valType": "number" }, "cmid": { - "description": "Sets the mid-point of the color domain by scaling `cmin` and/or `cmax` to be equidistant to this point. Value should have the same units as `value`. Has no effect when `cauto` is `false`.", + "description": "Sets the mid-point of the color domain by scaling `cmin` and/or `cmax` to be equidistant to this point. Value should have the same units as `intensity`. Has no effect when `cauto` is `false`.", "dflt": null, "editType": "calc", "impliedEdits": {}, "valType": "number" }, "cmin": { - "description": "Sets the lower bound of the color domain. Value should have the same units as `value` and if set, `cmax` must be set as well.", + "description": "Sets the lower bound of the color domain. Value should have the same units as `intensity` and if set, `cmax` must be set as well.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -49683,6 +44275,11 @@ }, "valType": "number" }, + "color": { + "description": "Sets the color of the whole mesh", + "editType": "calc", + "valType": "color" + }, "coloraxis": { "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", "dflt": null, @@ -49694,35 +44291,35 @@ "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", - "editType": "calc", + "editType": "colorbars", "valType": "color" }, "bordercolor": { "description": "Sets the axis line color.", "dflt": "#444", - "editType": "calc", + "editType": "colorbars", "valType": "color" }, "borderwidth": { "description": "Sets the width (in px) or the border enclosing this color bar.", "dflt": 0, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, "dtick": { "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", - "editType": "calc", + "editType": "colorbars", "impliedEdits": { "tickmode": "linear" }, "valType": "any" }, - "editType": "calc", + "editType": "colorbars", "exponentformat": { "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B. *SI* uses prefixes from \"femto\" f (10^-15) to \"tera\" T (10^12). *SI extended* covers instead the full SI range from \"quecto\" q (10^-30) to \"quetta\" Q (10^30). If *SI* or *SI extended* is used and the exponent is beyond the above ranges, the formatting rule will automatically be switched to the power notation.", "dflt": "B", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "none", @@ -49737,20 +44334,20 @@ "labelalias": { "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", "dflt": false, - "editType": "calc", + "editType": "colorbars", "valType": "any" }, "len": { "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", "dflt": 1, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, "lenmode": { "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", "dflt": "fraction", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "fraction", @@ -49760,21 +44357,21 @@ "minexponent": { "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", "dflt": 3, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, "nticks": { "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", "dflt": 0, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "integer" }, "orientation": { "description": "Sets the orientation of the colorbar.", "dflt": "v", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "h", @@ -49784,13 +44381,13 @@ "outlinecolor": { "description": "Sets the axis line color.", "dflt": "#444", - "editType": "calc", + "editType": "colorbars", "valType": "color" }, "outlinewidth": { "description": "Sets the width (in px) of the axis line.", "dflt": 1, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, @@ -49798,13 +44395,13 @@ "separatethousands": { "description": "If \"true\", even 4-digit integers are separated", "dflt": false, - "editType": "calc", + "editType": "colorbars", "valType": "boolean" }, "showexponent": { "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", "dflt": "all", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "all", @@ -49816,13 +44413,13 @@ "showticklabels": { "description": "Determines whether or not the tick labels are drawn.", "dflt": true, - "editType": "calc", + "editType": "colorbars", "valType": "boolean" }, "showtickprefix": { "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", "dflt": "all", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "all", @@ -49834,7 +44431,7 @@ "showticksuffix": { "description": "Same as `showtickprefix` but for tick suffixes.", "dflt": "all", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "all", @@ -49846,14 +44443,14 @@ "thickness": { "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", "dflt": 30, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, "thicknessmode": { "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", "dflt": "pixels", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "fraction", @@ -49862,7 +44459,7 @@ }, "tick0": { "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", - "editType": "calc", + "editType": "colorbars", "impliedEdits": { "tickmode": "linear" }, @@ -49871,25 +44468,25 @@ "tickangle": { "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", "dflt": "auto", - "editType": "calc", + "editType": "colorbars", "valType": "angle" }, "tickcolor": { "description": "Sets the tick color.", "dflt": "#444", - "editType": "calc", + "editType": "colorbars", "valType": "color" }, "tickfont": { "color": { - "editType": "calc", + "editType": "colorbars", "valType": "color" }, "description": "Sets the color bar's tick label font", - "editType": "calc", + "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "calc", + "editType": "colorbars", "noBlank": true, "strict": true, "valType": "string" @@ -49897,7 +44494,7 @@ "lineposition": { "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", - "editType": "calc", + "editType": "colorbars", "extras": [ "none" ], @@ -49912,18 +44509,18 @@ "shadow": { "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", - "editType": "calc", + "editType": "colorbars", "valType": "string" }, "size": { - "editType": "calc", + "editType": "colorbars", "min": 1, "valType": "number" }, "style": { "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "normal", @@ -49933,7 +44530,7 @@ "textcase": { "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "normal", @@ -49945,7 +44542,7 @@ "variant": { "description": "Sets the variant of the font.", "dflt": "normal", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "normal", @@ -49959,7 +44556,7 @@ "weight": { "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", - "editType": "calc", + "editType": "colorbars", "extras": [ "normal", "bold" @@ -49972,7 +44569,7 @@ "tickformat": { "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", "dflt": "", - "editType": "calc", + "editType": "colorbars", "valType": "string" }, "tickformatstops": { @@ -49980,41 +44577,41 @@ "tickformatstop": { "dtickrange": { "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", - "editType": "calc", + "editType": "colorbars", "items": [ { - "editType": "calc", + "editType": "colorbars", "valType": "any" }, { - "editType": "calc", + "editType": "colorbars", "valType": "any" } ], "valType": "info_array" }, - "editType": "calc", + "editType": "colorbars", "enabled": { "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", "dflt": true, - "editType": "calc", + "editType": "colorbars", "valType": "boolean" }, "name": { "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", - "editType": "calc", + "editType": "colorbars", "valType": "string" }, "role": "object", "templateitemname": { "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", - "editType": "calc", + "editType": "colorbars", "valType": "string" }, "value": { "description": "string - dtickformat for described zoom level, the same as *tickformat*", "dflt": "", - "editType": "calc", + "editType": "colorbars", "valType": "string" } } @@ -50023,7 +44620,7 @@ }, "ticklabeloverflow": { "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "allow", @@ -50034,7 +44631,7 @@ "ticklabelposition": { "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", "dflt": "outside", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "outside", @@ -50052,20 +44649,20 @@ "ticklabelstep": { "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", "dflt": 1, - "editType": "calc", + "editType": "colorbars", "min": 1, "valType": "integer" }, "ticklen": { "description": "Sets the tick length (in px).", "dflt": 5, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, "tickmode": { "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", - "editType": "calc", + "editType": "colorbars", "impliedEdits": {}, "valType": "enumerated", "values": [ @@ -50077,13 +44674,13 @@ "tickprefix": { "description": "Sets a tick label prefix.", "dflt": "", - "editType": "calc", + "editType": "colorbars", "valType": "string" }, "ticks": { "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", "dflt": "", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "outside", @@ -50094,48 +44691,38 @@ "ticksuffix": { "description": "Sets a tick label suffix.", "dflt": "", - "editType": "calc", + "editType": "colorbars", "valType": "string" }, "ticktext": { "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "editType": "calc", + "editType": "colorbars", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "editType": "calc", + "editType": "colorbars", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, "title": { - "editType": "calc", + "editType": "colorbars", "font": { "color": { - "editType": "calc", + "editType": "colorbars", "valType": "color" }, "description": "Sets this color bar's title font.", - "editType": "calc", + "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "calc", + "editType": "colorbars", "noBlank": true, "strict": true, "valType": "string" @@ -50143,7 +44730,7 @@ "lineposition": { "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", - "editType": "calc", + "editType": "colorbars", "extras": [ "none" ], @@ -50158,18 +44745,18 @@ "shadow": { "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", - "editType": "calc", + "editType": "colorbars", "valType": "string" }, "size": { - "editType": "calc", + "editType": "colorbars", "min": 1, "valType": "number" }, "style": { "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "normal", @@ -50179,7 +44766,7 @@ "textcase": { "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "normal", @@ -50191,7 +44778,7 @@ "variant": { "description": "Sets the variant of the font.", "dflt": "normal", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "normal", @@ -50205,7 +44792,7 @@ "weight": { "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", - "editType": "calc", + "editType": "colorbars", "extras": [ "normal", "bold" @@ -50217,8 +44804,8 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", - "editType": "calc", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", + "editType": "colorbars", "valType": "enumerated", "values": [ "right", @@ -50228,18 +44815,18 @@ }, "text": { "description": "Sets the title of the color bar.", - "editType": "calc", + "editType": "colorbars", "valType": "string" } }, "x": { "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", - "editType": "calc", + "editType": "colorbars", "valType": "number" }, "xanchor": { "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "left", @@ -50250,14 +44837,14 @@ "xpad": { "description": "Sets the amount of padding (in px) along the x direction.", "dflt": 10, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, "xref": { "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", "dflt": "paper", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "container", @@ -50266,12 +44853,12 @@ }, "y": { "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", - "editType": "calc", + "editType": "colorbars", "valType": "number" }, "yanchor": { "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "top", @@ -50282,14 +44869,14 @@ "ypad": { "description": "Sets the amount of padding (in px) along the y direction.", "dflt": 10, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, "yref": { "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", "dflt": "paper", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "container", @@ -50298,7 +44885,7 @@ } }, "colorscale": { - "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -50335,20 +44922,31 @@ "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, - "flatshading": { - "description": "Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections.", - "dflt": true, + "delaunayaxis": { + "description": "Sets the Delaunay axis, which is the axis that is perpendicular to the surface of the Delaunay triangulation. It has an effect if `i`, `j`, `k` are not provided and `alphahull` is set to indicate Delaunay triangulation.", + "dflt": "z", "editType": "calc", - "valType": "boolean" + "valType": "enumerated", + "values": [ + "x", + "y", + "z" + ] + }, + "facecolor": { + "description": "Sets the color of each face Overrides *color* and *vertexcolor*.", + "editType": "calc", + "valType": "data_array" + }, + "flatshading": { + "description": "Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections.", + "dflt": false, + "editType": "calc", + "valType": "boolean" }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", "dflt": "all", "editType": "calc", "extras": [ @@ -50365,11 +44963,6 @@ ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -50383,33 +44976,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -50417,11 +44995,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -50432,11 +45005,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -50452,11 +45020,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -50465,22 +45028,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -50492,11 +45045,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -50510,11 +45058,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -50530,11 +45073,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -50547,11 +45085,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -50562,11 +45095,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -50588,11 +45116,6 @@ "editType": "calc", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "hovertext": { "arrayOk": true, "description": "Same as `text`.", @@ -50600,30 +45123,40 @@ "editType": "calc", "valType": "string" }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" + "i": { + "description": "A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing the *first* vertex of a triangle. For example, `{i[m], j[m], k[m]}` together represent face m (triangle m) in the mesh, where `i[m] = n` points to the triplet `{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `i` represents a point in space, which is the first vertex of a triangle.", + "editType": "calc", + "valType": "data_array" }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" + "intensity": { + "description": "Sets the intensity values for vertices or cells as defined by `intensitymode`. It can be used for plotting fields on meshes.", + "editType": "calc", + "valType": "data_array" }, - "isomax": { - "description": "Sets the maximum boundary for iso-surface plot.", + "intensitymode": { + "description": "Determines the source of `intensity` values.", + "dflt": "vertex", "editType": "calc", - "valType": "number" + "valType": "enumerated", + "values": [ + "vertex", + "cell" + ] }, - "isomin": { - "description": "Sets the minimum boundary for iso-surface plot.", + "j": { + "description": "A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing the *second* vertex of a triangle. For example, `{i[m], j[m], k[m]}` together represent face m (triangle m) in the mesh, where `j[m] = n` points to the triplet `{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `j` represents a point in space, which is the second vertex of a triangle.", "editType": "calc", - "valType": "number" + "valType": "data_array" + }, + "k": { + "description": "A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing the *third* vertex of a triangle. For example, `{i[m], j[m], k[m]}` together represent face m (triangle m) in the mesh, where `k[m] = n` points to the triplet `{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `k` represents a point in space, which is the third vertex of a triangle.", + "editType": "calc", + "valType": "data_array" }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", @@ -50768,7 +45301,7 @@ "editType": "calc", "facenormalsepsilon": { "description": "Epsilon for face normals calculation avoids math issues arising from degenerate geometry.", - "dflt": 0, + "dflt": 0.000001, "editType": "calc", "max": 1, "min": 0, @@ -50842,11 +45375,6 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", @@ -50863,7 +45391,7 @@ "reversescale": { "description": "Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and `cmax` will correspond to the first color.", "dflt": false, - "editType": "calc", + "editType": "plot", "valType": "boolean" }, "scene": { @@ -50875,7 +45403,7 @@ "showlegend": { "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", "dflt": false, - "editType": "calc", + "editType": "style", "valType": "boolean" }, "showscale": { @@ -50884,177 +45412,6 @@ "editType": "calc", "valType": "boolean" }, - "slices": { - "editType": "calc", - "role": "object", - "x": { - "editType": "calc", - "fill": { - "description": "Sets the fill ratio of the `slices`. The default fill value of the `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.", - "dflt": 1, - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - "locations": { - "description": "Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis x except start and end.", - "dflt": [], - "editType": "calc", - "valType": "data_array" - }, - "locationssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `locations`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "show": { - "description": "Determines whether or not slice planes about the x dimension are drawn.", - "dflt": false, - "editType": "calc", - "valType": "boolean" - } - }, - "y": { - "editType": "calc", - "fill": { - "description": "Sets the fill ratio of the `slices`. The default fill value of the `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.", - "dflt": 1, - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - "locations": { - "description": "Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis y except start and end.", - "dflt": [], - "editType": "calc", - "valType": "data_array" - }, - "locationssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `locations`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "show": { - "description": "Determines whether or not slice planes about the y dimension are drawn.", - "dflt": false, - "editType": "calc", - "valType": "boolean" - } - }, - "z": { - "editType": "calc", - "fill": { - "description": "Sets the fill ratio of the `slices`. The default fill value of the `slices` is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.", - "dflt": 1, - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - "locations": { - "description": "Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis z except start and end.", - "dflt": [], - "editType": "calc", - "valType": "data_array" - }, - "locationssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `locations`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "show": { - "description": "Determines whether or not slice planes about the z dimension are drawn.", - "dflt": false, - "editType": "calc", - "valType": "boolean" - } - } - }, - "spaceframe": { - "editType": "calc", - "fill": { - "description": "Sets the fill ratio of the `spaceframe` elements. The default fill value is 0.15 meaning that only 15% of the area of every faces of tetras would be shaded. Applying a greater `fill` ratio would allow the creation of stronger elements or could be sued to have entirely closed areas (in case of using 1).", - "dflt": 0.15, - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - "role": "object", - "show": { - "description": "Displays/hides tetrahedron shapes between minimum and maximum iso-values. Often useful when either caps or surfaces are disabled or filled with values less than 1.", - "dflt": false, - "editType": "calc", - "valType": "boolean" - } - }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, - "surface": { - "count": { - "description": "Sets the number of iso-surfaces between minimum and maximum iso-values. By default this value is 2 meaning that only minimum and maximum surfaces would be drawn.", - "dflt": 2, - "editType": "calc", - "min": 1, - "valType": "integer" - }, - "editType": "calc", - "fill": { - "description": "Sets the fill ratio of the iso-surface. The default fill value of the surface is 1 meaning that they are entirely shaded. On the other hand Applying a `fill` ratio less than one would allow the creation of openings parallel to the edges.", - "dflt": 1, - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - "pattern": { - "description": "Sets the surface pattern of the iso-surface 3-D sections. The default pattern of the surface is `all` meaning that the rest of surface elements would be shaded. The check options (either 1 or 2) could be used to draw half of the squares on the surface. Using various combinations of capital `A`, `B`, `C`, `D` and `E` may also be used to reduce the number of triangles on the iso-surfaces and creating other patterns of interest.", - "dflt": "all", - "editType": "calc", - "extras": [ - "all", - "odd", - "even" - ], - "flags": [ - "A", - "B", - "C", - "D", - "E" - ], - "valType": "flaglist" - }, - "role": "object", - "show": { - "description": "Hides/displays surfaces between minimum and maximum iso-values.", - "dflt": true, - "editType": "calc", - "valType": "boolean" - } - }, "text": { "arrayOk": true, "description": "Sets the text elements associated with the vertices. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", @@ -51062,12 +45419,7 @@ "editType": "calc", "valType": "string" }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, - "type": "isosurface", + "type": "mesh3d", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", "editType": "plot", @@ -51078,21 +45430,10 @@ "editType": "none", "valType": "any" }, - "value": { - "description": "Sets the 4th dimension (value) of the vertices.", - "editType": "calc+clearAxisTypes", - "valType": "data_array" - }, - "valuehoverformat": { - "description": "Sets the hover text formatting rulefor `value` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.", - "dflt": "", + "vertexcolor": { + "description": "Sets the color of each vertex Overrides *color*. While Red, green and blue colors are in the range of 0 and 255; in the case of having vertex color data in RGBA format, the alpha color should be normalized to be between 0 and 1.", "editType": "calc", - "valType": "string" - }, - "valuesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `value`.", - "editType": "none", - "valType": "string" + "valType": "data_array" }, "visible": { "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", @@ -51106,50 +45447,107 @@ ] }, "x": { - "description": "Sets the X coordinates of the vertices on X axis.", + "description": "Sets the X coordinates of the vertices. The nth element of vectors `x`, `y` and `z` jointly represent the X, Y and Z coordinates of the nth vertex.", "editType": "calc+clearAxisTypes", "valType": "data_array" }, - "xhoverformat": { - "description": "Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", - "dflt": "", + "xcalendar": { + "description": "Sets the calendar system to use with `x` date data.", + "dflt": "gregorian", "editType": "calc", - "valType": "string" + "valType": "enumerated", + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" + ] }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", + "xhoverformat": { + "description": "Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", + "dflt": "", "editType": "none", "valType": "string" }, "y": { - "description": "Sets the Y coordinates of the vertices on Y axis.", + "description": "Sets the Y coordinates of the vertices. The nth element of vectors `x`, `y` and `z` jointly represent the X, Y and Z coordinates of the nth vertex.", "editType": "calc+clearAxisTypes", "valType": "data_array" }, - "yhoverformat": { - "description": "Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", - "dflt": "", + "ycalendar": { + "description": "Sets the calendar system to use with `y` date data.", + "dflt": "gregorian", "editType": "calc", - "valType": "string" + "valType": "enumerated", + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" + ] }, - "ysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `y`.", + "yhoverformat": { + "description": "Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", + "dflt": "", "editType": "none", "valType": "string" }, "z": { - "description": "Sets the Z coordinates of the vertices on Z axis.", + "description": "Sets the Z coordinates of the vertices. The nth element of vectors `x`, `y` and `z` jointly represent the X, Y and Z coordinates of the nth vertex.", "editType": "calc+clearAxisTypes", "valType": "data_array" }, - "zhoverformat": { - "description": "Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`.", - "dflt": "", + "zcalendar": { + "description": "Sets the calendar system to use with `z` date data.", + "dflt": "gregorian", "editType": "calc", - "valType": "string" + "valType": "enumerated", + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" + ] }, - "zsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `z`.", + "zhoverformat": { + "description": "Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`.", + "dflt": "", "editType": "none", "valType": "string" } @@ -51159,270 +45557,312 @@ "showLegend" ], "meta": { - "description": "Draws isosurfaces between iso-min and iso-max values with coordinates given by four 1-dimensional arrays containing the `value`, `x`, `y` and `z` of every vertex of a uniform or non-uniform 3-D grid. Horizontal or vertical slices, caps as well as spaceframe between iso-min and iso-max values could also be drawn using this trace." + "description": "Draws sets of triangles with coordinates given by three 1-dimensional arrays in `x`, `y`, `z` and (1) a sets of `i`, `j`, `k` indices (2) Delaunay triangulation or (3) the Alpha-shape algorithm or (4) the Convex-hull algorithm" }, - "type": "isosurface" + "type": "mesh3d" }, - "mesh3d": { + "ohlc": { "animatable": false, "attributes": { - "alphahull": { - "description": "Determines how the mesh surface triangles are derived from the set of vertices (points) represented by the `x`, `y` and `z` arrays, if the `i`, `j`, `k` arrays are not supplied. For general use of `mesh3d` it is preferred that `i`, `j`, `k` are supplied. If *-1*, Delaunay triangulation is used, which is mainly suitable if the mesh is a single, more or less layer surface that is perpendicular to `delaunayaxis`. In case the `delaunayaxis` intersects the mesh surface at more than one point it will result triangles that are very long in the dimension of `delaunayaxis`. If *>0*, the alpha-shape algorithm is used. In this case, the positive `alphahull` value signals the use of the alpha-shape algorithm, _and_ its value acts as the parameter for the mesh fitting. If *0*, the convex-hull algorithm is used. It is suitable for convex bodies or if the intention is to enclose the `x`, `y` and `z` point set into a convex hull.", - "dflt": -1, - "editType": "calc", - "valType": "number" - }, - "autocolorscale": { - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "cauto": { - "description": "Determines whether or not the color domain is computed with respect to the input data (here `intensity`) or the bounds set in `cmin` and `cmax` Defaults to `false` when `cmin` and `cmax` are set by the user.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "cmax": { - "description": "Sets the upper bound of the color domain. Value should have the same units as `intensity` and if set, `cmin` must be set as well.", - "dflt": null, + "close": { + "description": "Sets the close values.", "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "valType": "number" + "valType": "data_array" }, - "cmid": { - "description": "Sets the mid-point of the color domain by scaling `cmin` and/or `cmax` to be equidistant to this point. Value should have the same units as `intensity`. Has no effect when `cauto` is `false`.", - "dflt": null, + "customdata": { + "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", "editType": "calc", - "impliedEdits": {}, - "valType": "number" + "valType": "data_array" }, - "cmin": { - "description": "Sets the lower bound of the color domain. Value should have the same units as `intensity` and if set, `cmax` must be set as well.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false + "decreasing": { + "editType": "style", + "line": { + "color": { + "description": "Sets the line color.", + "dflt": "#FF4136", + "editType": "style", + "valType": "color" + }, + "dash": { + "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", + "dflt": "solid", + "editType": "style", + "valType": "string", + "values": [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" + ] + }, + "editType": "style", + "role": "object", + "width": { + "description": "Sets the line width (in px).", + "dflt": 2, + "editType": "style", + "min": 0, + "valType": "number" + } }, - "valType": "number" + "role": "object" }, - "color": { - "description": "Sets the color of the whole mesh", + "high": { + "description": "Sets the high values.", "editType": "calc", - "valType": "color" + "valType": "data_array" }, - "coloraxis": { - "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", - "dflt": null, - "editType": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "valType": "subplotid" + "hoverinfo": { + "arrayOk": true, + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "dflt": "all", + "editType": "none", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ], + "valType": "flaglist" }, - "colorbar": { + "hoverlabel": { + "align": { + "arrayOk": true, + "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", + "dflt": "auto", + "editType": "none", + "valType": "enumerated", + "values": [ + "left", + "right", + "auto" + ] + }, "bgcolor": { - "description": "Sets the color of padded area.", - "dflt": "rgba(0,0,0,0)", - "editType": "colorbars", + "arrayOk": true, + "description": "Sets the background color of the hover labels for this trace", + "editType": "none", "valType": "color" }, "bordercolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "colorbars", + "arrayOk": true, + "description": "Sets the border color of the hover labels for this trace.", + "editType": "none", "valType": "color" }, - "borderwidth": { - "description": "Sets the width (in px) or the border enclosing this color bar.", - "dflt": 0, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "dtick": { - "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" + "editType": "none", + "font": { + "color": { + "arrayOk": true, + "editType": "none", + "valType": "color" }, - "valType": "any" - }, - "editType": "colorbars", - "exponentformat": { - "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B. *SI* uses prefixes from \"femto\" f (10^-15) to \"tera\" T (10^12). *SI extended* covers instead the full SI range from \"quecto\" q (10^-30) to \"quetta\" Q (10^30). If *SI* or *SI extended* is used and the exponent is beyond the above ranges, the formatting rule will automatically be switched to the power notation.", - "dflt": "B", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" - ] - }, - "labelalias": { - "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", - "dflt": false, - "editType": "colorbars", - "valType": "any" - }, - "len": { - "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "lenmode": { - "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", - "dflt": "fraction", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ] - }, - "minexponent": { - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", - "dflt": 3, - "editType": "colorbars", - "min": 0, - "valType": "number" + "description": "Sets the font used in hover labels.", + "editType": "none", + "family": { + "arrayOk": true, + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "none", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "size": { + "arrayOk": true, + "editType": "none", + "min": 1, + "valType": "number" + }, + "style": { + "arrayOk": true, + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "arrayOk": true, + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "arrayOk": true, + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "none", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } }, - "nticks": { - "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", - "dflt": 0, - "editType": "colorbars", - "min": 0, + "namelength": { + "arrayOk": true, + "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", + "dflt": 15, + "editType": "none", + "min": -1, "valType": "integer" }, - "orientation": { - "description": "Sets the orientation of the colorbar.", - "dflt": "v", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "h", - "v" - ] - }, - "outlinecolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" - }, - "outlinewidth": { - "description": "Sets the width (in px) of the axis line.", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, "role": "object", - "separatethousands": { - "description": "If \"true\", even 4-digit integers are separated", - "dflt": false, - "editType": "colorbars", - "valType": "boolean" - }, - "showexponent": { - "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "showticklabels": { - "description": "Determines whether or not the tick labels are drawn.", + "showarrow": { + "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", "dflt": true, - "editType": "colorbars", + "editType": "none", "valType": "boolean" }, - "showtickprefix": { - "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "showticksuffix": { - "description": "Same as `showtickprefix` but for tick suffixes.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "thickness": { - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "dflt": 30, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "dflt": "pixels", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ] - }, - "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" + "split": { + "description": "Show hover information (open, close, high, low) in separate labels, rather than a single unified label. Default: *false*. When set to *true*, `hovertemplate` is ignored.", + "dflt": false, + "editType": "style", + "valType": "boolean" + } + }, + "hovertemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `open`, `high`, `low` and `close`. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", + "dflt": "", + "editType": "none", + "valType": "string" + }, + "hovertemplatefallback": { + "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", + "dflt": "-", + "editType": "none", + "valType": "any" + }, + "hovertext": { + "arrayOk": true, + "description": "Same as `text`.", + "dflt": "", + "editType": "calc", + "valType": "string" + }, + "ids": { + "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", + "editType": "calc", + "valType": "data_array" + }, + "increasing": { + "editType": "style", + "line": { + "color": { + "description": "Sets the line color.", + "dflt": "#3D9970", + "editType": "style", + "valType": "color" }, - "valType": "any" - }, - "tickangle": { - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", - "dflt": "auto", - "editType": "colorbars", - "valType": "angle" - }, - "tickcolor": { - "description": "Sets the tick color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" + "dash": { + "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", + "dflt": "solid", + "editType": "style", + "valType": "string", + "values": [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" + ] + }, + "editType": "style", + "role": "object", + "width": { + "description": "Sets the line width (in px).", + "dflt": 2, + "editType": "style", + "min": 0, + "valType": "number" + } }, - "tickfont": { + "role": "object" + }, + "legend": { + "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", + "dflt": "legend", + "editType": "style", + "valType": "subplotid" + }, + "legendgroup": { + "description": "Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.", + "dflt": "", + "editType": "style", + "valType": "string" + }, + "legendgrouptitle": { + "editType": "style", + "font": { "color": { - "editType": "colorbars", + "editType": "style", "valType": "color" }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", + "description": "Sets this legend group's title font.", + "editType": "style", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "colorbars", + "editType": "style", "noBlank": true, "strict": true, "valType": "string" @@ -51430,7 +45870,7 @@ "lineposition": { "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", - "editType": "colorbars", + "editType": "style", "extras": [ "none" ], @@ -51445,18 +45885,18 @@ "shadow": { "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", - "editType": "colorbars", + "editType": "style", "valType": "string" }, "size": { - "editType": "colorbars", + "editType": "style", "min": 1, "valType": "number" }, "style": { "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", - "editType": "colorbars", + "editType": "style", "valType": "enumerated", "values": [ "normal", @@ -51466,7 +45906,7 @@ "textcase": { "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", - "editType": "colorbars", + "editType": "style", "valType": "enumerated", "values": [ "normal", @@ -51478,7 +45918,7 @@ "variant": { "description": "Sets the variant of the font.", "dflt": "normal", - "editType": "colorbars", + "editType": "style", "valType": "enumerated", "values": [ "normal", @@ -51492,7 +45932,7 @@ "weight": { "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", - "editType": "colorbars", + "editType": "style", "extras": [ "normal", "bold" @@ -51502,734 +45942,493 @@ "valType": "integer" } }, - "tickformat": { - "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", + "role": "object", + "text": { + "description": "Sets the title of the legend group.", "dflt": "", - "editType": "colorbars", + "editType": "style", "valType": "string" - }, - "tickformatstops": { - "items": { - "tickformatstop": { - "dtickrange": { - "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", - "editType": "colorbars", - "items": [ - { - "editType": "colorbars", - "valType": "any" - }, - { - "editType": "colorbars", - "valType": "any" - } - ], - "valType": "info_array" - }, - "editType": "colorbars", - "enabled": { - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", - "dflt": true, - "editType": "colorbars", - "valType": "boolean" - }, - "name": { - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", - "editType": "colorbars", - "valType": "string" - }, - "role": "object", - "templateitemname": { - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", - "editType": "colorbars", - "valType": "string" - }, - "value": { - "description": "string - dtickformat for described zoom level, the same as *tickformat*", - "dflt": "", - "editType": "colorbars", - "valType": "string" - } - } - }, - "role": "object" - }, - "ticklabeloverflow": { - "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "allow", - "hide past div", - "hide past domain" - ] - }, - "ticklabelposition": { - "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", - "dflt": "outside", - "editType": "colorbars", - "valType": "enumerated", + } + }, + "legendrank": { + "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", + "dflt": 1000, + "editType": "style", + "valType": "number" + }, + "legendwidth": { + "description": "Sets the width (in px or fraction) of the legend for this trace.", + "editType": "style", + "min": 0, + "valType": "number" + }, + "line": { + "dash": { + "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*). Note that this style setting can also be set per direction via `increasing.line.dash` and `decreasing.line.dash`.", + "dflt": "solid", + "editType": "style", + "valType": "string", "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" ] }, - "ticklabelstep": { - "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", - "dflt": 1, - "editType": "colorbars", - "min": 1, - "valType": "integer" - }, - "ticklen": { - "description": "Sets the tick length (in px).", - "dflt": 5, - "editType": "colorbars", + "editType": "style", + "role": "object", + "width": { + "description": "Sets the line width (in px). Note that this style setting can also be set per direction via `increasing.line.width` and `decreasing.line.width`.", + "dflt": 2, + "editType": "style", "min": 0, "valType": "number" - }, - "tickmode": { - "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", - "editType": "colorbars", - "impliedEdits": {}, - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ] - }, - "tickprefix": { - "description": "Sets a tick label prefix.", - "dflt": "", - "editType": "colorbars", - "valType": "string" - }, - "ticks": { - "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", - "dflt": "", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ] - }, - "ticksuffix": { - "description": "Sets a tick label suffix.", - "dflt": "", - "editType": "colorbars", - "valType": "string" - }, - "ticktext": { - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "editType": "colorbars", - "valType": "data_array" - }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, - "tickvals": { - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "editType": "colorbars", - "valType": "data_array" - }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, - "tickwidth": { - "description": "Sets the tick width (in px).", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "title": { - "editType": "colorbars", - "font": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Sets this color bar's title font.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "role": "object", - "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - }, - "text": { - "description": "Sets the title of the color bar.", - "editType": "colorbars", - "valType": "string" - } - }, - "x": { - "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", - "editType": "colorbars", - "valType": "number" - }, - "xanchor": { - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ] - }, - "xpad": { - "description": "Sets the amount of padding (in px) along the x direction.", - "dflt": 10, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "xref": { - "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", - "dflt": "paper", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "container", - "paper" - ] - }, - "y": { - "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", - "editType": "colorbars", - "valType": "number" - }, - "yanchor": { - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ] - }, - "ypad": { - "description": "Sets the amount of padding (in px) along the y direction.", - "dflt": 10, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "yref": { - "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", - "dflt": "paper", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "container", - "paper" - ] } }, - "colorscale": { - "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", - "dflt": null, + "low": { + "description": "Sets the low values.", "editType": "calc", - "impliedEdits": { - "autocolorscale": false - }, - "valType": "colorscale" + "valType": "data_array" }, - "contour": { - "color": { - "description": "Sets the color of the contour lines.", - "dflt": "#444", - "editType": "calc", - "valType": "color" - }, - "editType": "calc", - "role": "object", - "show": { - "description": "Sets whether or not dynamic contours are shown on hover", - "dflt": false, - "editType": "calc", - "valType": "boolean" - }, - "width": { - "description": "Sets the width of the contour lines.", - "dflt": 2, - "editType": "calc", - "max": 16, - "min": 1, - "valType": "number" - } + "meta": { + "arrayOk": true, + "description": "Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.", + "editType": "plot", + "valType": "any" }, - "customdata": { - "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", + "name": { + "description": "Sets the trace name. The trace name appears as the legend item and on hover.", + "editType": "style", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the trace.", + "dflt": 1, + "editType": "style", + "max": 1, + "min": 0, + "valType": "number" + }, + "open": { + "description": "Sets the open values.", "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", + "selectedpoints": { + "description": "Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.", + "editType": "calc", + "valType": "any" + }, + "showlegend": { + "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", + "dflt": true, + "editType": "style", + "valType": "boolean" + }, + "text": { + "arrayOk": true, + "description": "Sets hover text elements associated with each sample point. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to this trace's sample points.", + "dflt": "", + "editType": "calc", "valType": "string" }, - "delaunayaxis": { - "description": "Sets the Delaunay axis, which is the axis that is perpendicular to the surface of the Delaunay triangulation. It has an effect if `i`, `j`, `k` are not provided and `alphahull` is set to indicate Delaunay triangulation.", - "dflt": "z", + "tickwidth": { + "description": "Sets the width of the open/close tick marks relative to the *x* minimal interval.", + "dflt": 0.3, + "editType": "calc", + "max": 0.5, + "min": 0, + "valType": "number" + }, + "type": "ohlc", + "uid": { + "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", + "editType": "plot", + "valType": "string" + }, + "uirevision": { + "description": "Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.", + "editType": "none", + "valType": "any" + }, + "visible": { + "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", + "dflt": true, "editType": "calc", "valType": "enumerated", "values": [ - "x", - "y", - "z" + true, + false, + "legendonly" ] }, - "facecolor": { - "description": "Sets the color of each face Overrides *color* and *vertexcolor*.", - "editType": "calc", + "x": { + "description": "Sets the x coordinates. If absent, linear coordinate will be generated.", + "editType": "calc+clearAxisTypes", "valType": "data_array" }, - "facecolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `facecolor`.", + "xaxis": { + "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", + "dflt": "x", + "editType": "calc+clearAxisTypes", + "valType": "subplotid" + }, + "xcalendar": { + "description": "Sets the calendar system to use with `x` date data.", + "dflt": "gregorian", + "editType": "calc", + "valType": "enumerated", + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" + ] + }, + "xhoverformat": { + "description": "Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", + "dflt": "", "editType": "none", "valType": "string" }, - "flatshading": { - "description": "Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections.", - "dflt": false, + "xperiod": { + "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer.", + "dflt": 0, "editType": "calc", - "valType": "boolean" + "valType": "any" }, - "hoverinfo": { - "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", - "dflt": "all", + "xperiod0": { + "description": "Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.", "editType": "calc", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "valType": "flaglist" + "valType": "any" + }, + "xperiodalignment": { + "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.", + "dflt": "middle", + "editType": "calc", + "valType": "enumerated", + "values": [ + "start", + "middle", + "end" + ] + }, + "yaxis": { + "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.", + "dflt": "y", + "editType": "calc+clearAxisTypes", + "valType": "subplotid" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", + "yhoverformat": { + "description": "Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", + "dflt": "", "editType": "none", "valType": "string" }, - "hoverlabel": { - "align": { - "arrayOk": true, - "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", - "dflt": "auto", - "editType": "none", - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ] - }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" + "zorder": { + "description": "Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.", + "dflt": 0, + "editType": "plot", + "valType": "integer" + } + }, + "categories": [ + "cartesian", + "svg", + "showLegend" + ], + "meta": { + "description": "The ohlc (short for Open-High-Low-Close) is a style of financial chart describing open, high, low and close for a given `x` coordinate (most likely time). The tip of the lines represent the `low` and `high` values and the horizontal segments represent the `open` and `close` values. Sample points where the close value is higher (lower) than the open value are called increasing (decreasing). By default, increasing items are drawn in green whereas decreasing are drawn in red." + }, + "type": "ohlc" + }, + "parcats": { + "animatable": false, + "attributes": { + "arrangement": { + "description": "Sets the drag interaction mode for categories and dimensions. If `perpendicular`, the categories can only move along a line perpendicular to the paths. If `freeform`, the categories can freely move on the plane. If `fixed`, the categories and dimensions are stationary.", + "dflt": "perpendicular", + "editType": "plot", + "valType": "enumerated", + "values": [ + "perpendicular", + "freeform", + "fixed" + ] + }, + "bundlecolors": { + "description": "Sort paths so that like colors are bundled together within each category.", + "dflt": true, + "editType": "plot", + "valType": "boolean" + }, + "counts": { + "arrayOk": true, + "description": "The number of observations represented by each state. Defaults to 1 so that each state represents one observation", + "dflt": 1, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "dimensions": { + "items": { + "dimension": { + "categoryarray": { + "description": "Sets the order in which categories in this dimension appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.", + "editType": "calc", + "valType": "data_array" + }, + "categoryorder": { + "description": "Specifies the ordering logic for the categories in the dimension. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`.", + "dflt": "trace", + "editType": "calc", + "valType": "enumerated", + "values": [ + "trace", + "category ascending", + "category descending", + "array" + ] + }, + "description": "The dimensions (variables) of the parallel categories diagram.", + "displayindex": { + "description": "The display index of dimension, from left to right, zero indexed, defaults to dimension index.", + "editType": "calc", + "valType": "integer" + }, + "editType": "calc", + "label": { + "description": "The shown name of the dimension.", + "editType": "calc", + "valType": "string" + }, + "role": "object", + "ticktext": { + "description": "Sets alternative tick labels for the categories in this dimension. Only has an effect if `categoryorder` is set to *array*. Should be an array the same length as `categoryarray` Used with `categoryorder`.", + "editType": "calc", + "valType": "data_array" + }, + "values": { + "description": "Dimension values. `values[n]` represents the category value of the `n`th point in the dataset, therefore the `values` vector for all dimensions must be the same (longer vectors will be truncated).", + "dflt": [], + "editType": "calc", + "valType": "data_array" + }, + "visible": { + "description": "Shows the dimension when set to `true` (the default). Hides the dimension for `false`.", + "dflt": true, + "editType": "calc", + "valType": "boolean" + } + } }, - "bgcolor": { - "arrayOk": true, - "description": "Sets the background color of the hover labels for this trace", - "editType": "none", - "valType": "color" + "role": "object" + }, + "domain": { + "column": { + "description": "If there is a layout grid, use the domain for this column in the grid for this parcats trace.", + "dflt": 0, + "editType": "calc", + "min": 0, + "valType": "integer" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, - "bordercolor": { - "arrayOk": true, - "description": "Sets the border color of the hover labels for this trace.", - "editType": "none", - "valType": "color" - }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, - "editType": "none", - "font": { - "color": { - "arrayOk": true, - "editType": "none", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used in hover labels.", - "editType": "none", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "none", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "none", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "none", - "valType": "string" - }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, - "size": { - "arrayOk": true, - "editType": "none", - "min": 1, - "valType": "number" - }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "none", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "none", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "none", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "none", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } - }, - "namelength": { - "arrayOk": true, - "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", - "dflt": 15, - "editType": "none", - "min": -1, + "editType": "calc", + "role": "object", + "row": { + "description": "If there is a layout grid, use the domain for this row in the grid for this parcats trace.", + "dflt": 0, + "editType": "calc", + "min": 0, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" + "x": { + "description": "Sets the horizontal domain of this parcats trace (in plot fraction).", + "dflt": [ + 0, + 1 + ], + "editType": "calc", + "items": [ + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + } + ], + "valType": "info_array" }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" + "y": { + "description": "Sets the vertical domain of this parcats trace (in plot fraction).", + "dflt": [ + 0, + 1 + ], + "editType": "calc", + "items": [ + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + } + ], + "valType": "info_array" } }, + "hoverinfo": { + "arrayOk": false, + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "dflt": "all", + "editType": "plot", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "count", + "probability" + ], + "valType": "flaglist" + }, + "hoveron": { + "description": "Sets the hover interaction mode for the parcats diagram. If `category`, hover interaction take place per category. If `color`, hover interactions take place per color per category. If `dimension`, hover interactions take place across all categories per dimension.", + "dflt": "category", + "editType": "plot", + "valType": "enumerated", + "values": [ + "category", + "color", + "dimension" + ] + }, "hovertemplate": { - "arrayOk": true, - "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", + "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `count`, `probability`, `category`, `categorycount`, `colorcount` and `bandcolorcount`. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", "dflt": "", - "editType": "calc", + "editType": "plot", "valType": "string" }, "hovertemplatefallback": { "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", "dflt": "-", - "editType": "calc", + "editType": "plot", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, - "hovertext": { - "arrayOk": true, - "description": "Same as `text`.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, - "i": { - "description": "A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing the *first* vertex of a triangle. For example, `{i[m], j[m], k[m]}` together represent face m (triangle m) in the mesh, where `i[m] = n` points to the triplet `{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `i` represents a point in space, which is the first vertex of a triangle.", - "editType": "calc", - "valType": "data_array" - }, - "ids": { - "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", - "editType": "calc", - "valType": "data_array" - }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, - "intensity": { - "description": "Sets the intensity values for vertices or cells as defined by `intensitymode`. It can be used for plotting fields on meshes.", - "editType": "calc", - "valType": "data_array" - }, - "intensitymode": { - "description": "Determines the source of `intensity` values.", - "dflt": "vertex", - "editType": "calc", - "valType": "enumerated", - "values": [ - "vertex", - "cell" - ] - }, - "intensitysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `intensity`.", - "editType": "none", - "valType": "string" - }, - "isrc": { - "description": "Sets the source reference on Chart Studio Cloud for `i`.", - "editType": "none", - "valType": "string" - }, - "j": { - "description": "A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing the *second* vertex of a triangle. For example, `{i[m], j[m], k[m]}` together represent face m (triangle m) in the mesh, where `j[m] = n` points to the triplet `{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `j` represents a point in space, which is the second vertex of a triangle.", - "editType": "calc", - "valType": "data_array" - }, - "jsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `j`.", - "editType": "none", - "valType": "string" - }, - "k": { - "description": "A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing the *third* vertex of a triangle. For example, `{i[m], j[m], k[m]}` together represent face m (triangle m) in the mesh, where `k[m] = n` points to the triplet `{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `k` represents a point in space, which is the third vertex of a triangle.", + "labelfont": { + "color": { + "editType": "calc", + "valType": "color" + }, + "description": "Sets the font for the `dimension` labels.", "editType": "calc", - "valType": "data_array" - }, - "ksrc": { - "description": "Sets the source reference on Chart Studio Cloud for `k`.", - "editType": "none", - "valType": "string" - }, - "legend": { - "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", - "dflt": "legend", - "editType": "style", - "valType": "subplotid" - }, - "legendgroup": { - "description": "Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.", - "dflt": "", - "editType": "style", - "valType": "string" + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "calc", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "size": { + "editType": "calc", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "calc", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } }, "legendgrouptitle": { "editType": "style", @@ -52330,968 +46529,819 @@ "valType": "string" } }, - "legendrank": { - "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", - "dflt": 1000, - "editType": "style", - "valType": "number" - }, "legendwidth": { "description": "Sets the width (in px or fraction) of the legend for this trace.", "editType": "style", "min": 0, "valType": "number" }, - "lighting": { - "ambient": { - "description": "Ambient light increases overall color visibility but can wash out the image.", - "dflt": 0.8, - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - "diffuse": { - "description": "Represents the extent that incident rays are reflected in a range of angles.", - "dflt": 0.8, + "line": { + "autocolorscale": { + "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `line.colorscale`. Has an effect only if in `line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", + "dflt": true, "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" + "impliedEdits": {}, + "valType": "boolean" }, - "editType": "calc", - "facenormalsepsilon": { - "description": "Epsilon for face normals calculation avoids math issues arising from degenerate geometry.", - "dflt": 0.000001, + "cauto": { + "description": "Determines whether or not the color domain is computed with respect to the input data (here in `line.color`) or the bounds set in `line.cmin` and `line.cmax` Has an effect only if in `line.color` is set to a numerical array. Defaults to `false` when `line.cmin` and `line.cmax` are set by the user.", + "dflt": true, "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" + "impliedEdits": {}, + "valType": "boolean" }, - "fresnel": { - "description": "Represents the reflectance as a dependency of the viewing angle; e.g. paper is reflective when viewing it from the edge of the paper (almost 90 degrees), causing shine.", - "dflt": 0.2, + "cmax": { + "description": "Sets the upper bound of the color domain. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmin` must be set as well.", + "dflt": null, "editType": "calc", - "max": 5, - "min": 0, + "impliedEdits": { + "cauto": false + }, "valType": "number" }, - "role": "object", - "roughness": { - "description": "Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.", - "dflt": 0.5, + "cmid": { + "description": "Sets the mid-point of the color domain by scaling `line.cmin` and/or `line.cmax` to be equidistant to this point. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color`. Has no effect when `line.cauto` is `false`.", + "dflt": null, "editType": "calc", - "max": 1, - "min": 0, + "impliedEdits": {}, "valType": "number" }, - "specular": { - "description": "Represents the level that incident rays are reflected in a single direction, causing shine.", - "dflt": 0.05, + "cmin": { + "description": "Sets the lower bound of the color domain. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmax` must be set as well.", + "dflt": null, "editType": "calc", - "max": 2, - "min": 0, + "impliedEdits": { + "cauto": false + }, "valType": "number" }, - "vertexnormalsepsilon": { - "description": "Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.", - "dflt": 1e-12, - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - } - }, - "lightposition": { - "editType": "calc", - "role": "object", - "x": { - "description": "Numeric vector, representing the X coordinate for each vertex.", - "dflt": 100000, + "color": { + "arrayOk": true, + "description": "Sets the line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `line.cmin` and `line.cmax` if set.", "editType": "calc", - "max": 100000, - "min": -100000, - "valType": "number" + "valType": "color" }, - "y": { - "description": "Numeric vector, representing the Y coordinate for each vertex.", - "dflt": 100000, + "coloraxis": { + "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", + "dflt": null, "editType": "calc", - "max": 100000, - "min": -100000, - "valType": "number" + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", + "valType": "subplotid" }, - "z": { - "description": "Numeric vector, representing the Z coordinate for each vertex.", - "dflt": 0, - "editType": "calc", - "max": 100000, - "min": -100000, - "valType": "number" - } - }, - "meta": { - "arrayOk": true, - "description": "Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.", - "editType": "plot", - "valType": "any" - }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, - "name": { - "description": "Sets the trace name. The trace name appears as the legend item and on hover.", - "editType": "style", - "valType": "string" - }, - "opacity": { - "description": "Sets the opacity of the surface. Please note that in the case of using high `opacity` values for example a value greater than or equal to 0.5 on two surfaces (and 0.25 with four surfaces), an overlay of multiple transparent surfaces may not perfectly be sorted in depth by the webgl API. This behavior may be improved in the near future and is subject to change.", - "dflt": 1, - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - "reversescale": { - "description": "Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and `cmax` will correspond to the first color.", - "dflt": false, - "editType": "plot", - "valType": "boolean" - }, - "scene": { - "description": "Sets a reference between this trace's 3D coordinate system and a 3D scene. If *scene* (the default value), the (x,y,z) coordinates refer to `layout.scene`. If *scene2*, the (x,y,z) coordinates refer to `layout.scene2`, and so on.", - "dflt": "scene", - "editType": "calc+clearAxisTypes", - "valType": "subplotid" - }, - "showlegend": { - "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", - "dflt": false, - "editType": "style", - "valType": "boolean" - }, - "showscale": { - "description": "Determines whether or not a colorbar is displayed for this trace.", - "dflt": true, - "editType": "calc", - "valType": "boolean" - }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, - "text": { - "arrayOk": true, - "description": "Sets the text elements associated with the vertices. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, - "type": "mesh3d", - "uid": { - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", - "editType": "plot", - "valType": "string" - }, - "uirevision": { - "description": "Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.", - "editType": "none", - "valType": "any" - }, - "vertexcolor": { - "description": "Sets the color of each vertex Overrides *color*. While Red, green and blue colors are in the range of 0 and 255; in the case of having vertex color data in RGBA format, the alpha color should be normalized to be between 0 and 1.", - "editType": "calc", - "valType": "data_array" - }, - "vertexcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `vertexcolor`.", - "editType": "none", - "valType": "string" - }, - "visible": { - "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", - "dflt": true, - "editType": "calc", - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ] - }, - "x": { - "description": "Sets the X coordinates of the vertices. The nth element of vectors `x`, `y` and `z` jointly represent the X, Y and Z coordinates of the nth vertex.", - "editType": "calc+clearAxisTypes", - "valType": "data_array" - }, - "xcalendar": { - "description": "Sets the calendar system to use with `x` date data.", - "dflt": "gregorian", - "editType": "calc", - "valType": "enumerated", - "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" - ] - }, - "xhoverformat": { - "description": "Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", - "editType": "none", - "valType": "string" - }, - "y": { - "description": "Sets the Y coordinates of the vertices. The nth element of vectors `x`, `y` and `z` jointly represent the X, Y and Z coordinates of the nth vertex.", - "editType": "calc+clearAxisTypes", - "valType": "data_array" - }, - "ycalendar": { - "description": "Sets the calendar system to use with `y` date data.", - "dflt": "gregorian", - "editType": "calc", - "valType": "enumerated", - "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" - ] - }, - "yhoverformat": { - "description": "Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "ysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `y`.", - "editType": "none", - "valType": "string" - }, - "z": { - "description": "Sets the Z coordinates of the vertices. The nth element of vectors `x`, `y` and `z` jointly represent the X, Y and Z coordinates of the nth vertex.", - "editType": "calc+clearAxisTypes", - "valType": "data_array" - }, - "zcalendar": { - "description": "Sets the calendar system to use with `z` date data.", - "dflt": "gregorian", - "editType": "calc", - "valType": "enumerated", - "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" - ] - }, - "zhoverformat": { - "description": "Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "zsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `z`.", - "editType": "none", - "valType": "string" - } - }, - "categories": [ - "gl3d", - "showLegend" - ], - "meta": { - "description": "Draws sets of triangles with coordinates given by three 1-dimensional arrays in `x`, `y`, `z` and (1) a sets of `i`, `j`, `k` indices (2) Delaunay triangulation or (3) the Alpha-shape algorithm or (4) the Convex-hull algorithm" - }, - "type": "mesh3d" - }, - "ohlc": { - "animatable": false, - "attributes": { - "close": { - "description": "Sets the close values.", - "editType": "calc", - "valType": "data_array" - }, - "closesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `close`.", - "editType": "none", - "valType": "string" - }, - "customdata": { - "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", - "editType": "calc", - "valType": "data_array" - }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, - "decreasing": { - "editType": "style", - "line": { - "color": { - "description": "Sets the line color.", - "dflt": "#FF4136", - "editType": "style", + "colorbar": { + "bgcolor": { + "description": "Sets the color of padded area.", + "dflt": "rgba(0,0,0,0)", + "editType": "colorbars", "valType": "color" }, - "dash": { - "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", - "dflt": "solid", - "editType": "style", - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ] + "bordercolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "editType": "colorbars", + "valType": "color" }, - "editType": "style", - "role": "object", - "width": { - "description": "Sets the line width (in px).", - "dflt": 2, - "editType": "style", + "borderwidth": { + "description": "Sets the width (in px) or the border enclosing this color bar.", + "dflt": 0, + "editType": "colorbars", "min": 0, "valType": "number" - } - }, - "role": "object" - }, - "high": { - "description": "Sets the high values.", - "editType": "calc", - "valType": "data_array" - }, - "highsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `high`.", - "editType": "none", - "valType": "string" - }, - "hoverinfo": { - "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", - "dflt": "all", - "editType": "none", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "valType": "flaglist" - }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, - "hoverlabel": { - "align": { - "arrayOk": true, - "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", - "dflt": "auto", - "editType": "none", - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ] - }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, - "bgcolor": { - "arrayOk": true, - "description": "Sets the background color of the hover labels for this trace", - "editType": "none", - "valType": "color" - }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, - "bordercolor": { - "arrayOk": true, - "description": "Sets the border color of the hover labels for this trace.", - "editType": "none", - "valType": "color" - }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, - "editType": "none", - "font": { - "color": { - "arrayOk": true, - "editType": "none", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used in hover labels.", - "editType": "none", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "none", - "noBlank": true, - "strict": true, - "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" + "dtick": { + "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", + "editType": "colorbars", + "impliedEdits": { + "tickmode": "linear" + }, + "valType": "any" }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "none", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" + "editType": "colorbars", + "exponentformat": { + "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B. *SI* uses prefixes from \"femto\" f (10^-15) to \"tera\" T (10^12). *SI extended* covers instead the full SI range from \"quecto\" q (10^-30) to \"quetta\" Q (10^30). If *SI* or *SI extended* is used and the exponent is beyond the above ranges, the formatting rule will automatically be switched to the power notation.", + "dflt": "B", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B", + "SI extended" + ] }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" + "labelalias": { + "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", + "dflt": false, + "editType": "colorbars", + "valType": "any" }, - "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "none", - "valType": "string" + "len": { + "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", + "dflt": 1, + "editType": "colorbars", + "min": 0, + "valType": "number" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" + "lenmode": { + "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", + "dflt": "fraction", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] }, - "size": { - "arrayOk": true, - "editType": "none", - "min": 1, + "minexponent": { + "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", + "dflt": 3, + "editType": "colorbars", + "min": 0, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" + "nticks": { + "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "editType": "colorbars", + "min": 0, + "valType": "integer" }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "none", + "orientation": { + "description": "Sets the orientation of the colorbar.", + "dflt": "v", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "italic" + "h", + "v" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" + "outlinecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "editType": "colorbars", + "valType": "color" }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "none", + "outlinewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "role": "object", + "separatethousands": { + "description": "If \"true\", even 4-digit integers are separated", + "dflt": false, + "editType": "colorbars", + "valType": "boolean" + }, + "showexponent": { + "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", + "dflt": "all", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "word caps", - "upper", - "lower" + "all", + "first", + "last", + "none" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "editType": "colorbars", + "valType": "boolean" }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "none", + "showtickprefix": { + "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", + "dflt": "all", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "all", + "first", + "last", + "none" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "none", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } - }, - "namelength": { - "arrayOk": true, - "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", - "dflt": 15, - "editType": "none", - "min": -1, - "valType": "integer" - }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - }, - "split": { - "description": "Show hover information (open, close, high, low) in separate labels, rather than a single unified label. Default: *false*. When set to *true*, `hovertemplate` is ignored.", - "dflt": false, - "editType": "style", - "valType": "boolean" - } - }, - "hovertemplate": { - "arrayOk": true, - "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `open`, `high`, `low` and `close`. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "hovertemplatefallback": { - "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", - "dflt": "-", - "editType": "none", - "valType": "any" - }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, - "hovertext": { - "arrayOk": true, - "description": "Same as `text`.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, - "ids": { - "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", - "editType": "calc", - "valType": "data_array" - }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, - "increasing": { - "editType": "style", - "line": { - "color": { - "description": "Sets the line color.", - "dflt": "#3D9970", - "editType": "style", - "valType": "color" - }, - "dash": { - "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", - "dflt": "solid", - "editType": "style", - "valType": "string", + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "editType": "colorbars", + "valType": "enumerated", "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" + "all", + "first", + "last", + "none" ] }, - "editType": "style", - "role": "object", - "width": { - "description": "Sets the line width (in px).", - "dflt": 2, - "editType": "style", + "thickness": { + "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", + "dflt": 30, + "editType": "colorbars", "min": 0, "valType": "number" - } - }, - "role": "object" - }, - "legend": { - "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", - "dflt": "legend", - "editType": "style", - "valType": "subplotid" - }, - "legendgroup": { - "description": "Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.", - "dflt": "", - "editType": "style", - "valType": "string" - }, - "legendgrouptitle": { - "editType": "style", - "font": { - "color": { - "editType": "style", - "valType": "color" }, - "description": "Sets this legend group's title font.", - "editType": "style", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "style", - "noBlank": true, - "strict": true, - "valType": "string" + "thicknessmode": { + "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", + "dflt": "pixels", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "style", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "colorbars", + "impliedEdits": { + "tickmode": "linear" + }, + "valType": "any" }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "style", + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "editType": "colorbars", + "valType": "angle" + }, + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "editType": "colorbars", + "valType": "color" + }, + "tickfont": { + "color": { + "editType": "colorbars", + "valType": "color" + }, + "description": "Sets the color bar's tick label font", + "editType": "colorbars", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "colorbars", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, + "size": { + "editType": "colorbars", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "colorbars", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "tickformat": { + "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", + "dflt": "", + "editType": "colorbars", "valType": "string" }, - "size": { - "editType": "style", - "min": 1, - "valType": "number" + "tickformatstops": { + "items": { + "tickformatstop": { + "dtickrange": { + "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", + "editType": "colorbars", + "items": [ + { + "editType": "colorbars", + "valType": "any" + }, + { + "editType": "colorbars", + "valType": "any" + } + ], + "valType": "info_array" + }, + "editType": "colorbars", + "enabled": { + "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", + "dflt": true, + "editType": "colorbars", + "valType": "boolean" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "colorbars", + "valType": "string" + }, + "role": "object", + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "colorbars", + "valType": "string" + }, + "value": { + "description": "string - dtickformat for described zoom level, the same as *tickformat*", + "dflt": "", + "editType": "colorbars", + "valType": "string" + } + } + }, + "role": "object" }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "style", + "ticklabeloverflow": { + "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "italic" + "allow", + "hide past div", + "hide past domain" ] }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "style", + "ticklabelposition": { + "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", + "dflt": "outside", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "word caps", - "upper", - "lower" + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom" ] }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "style", + "ticklabelstep": { + "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", + "dflt": 1, + "editType": "colorbars", + "min": 1, + "valType": "integer" + }, + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "tickmode": { + "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", + "editType": "colorbars", + "impliedEdits": {}, "valType": "enumerated", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "auto", + "linear", + "array" ] }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "style", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "role": "object", - "text": { - "description": "Sets the title of the legend group.", - "dflt": "", - "editType": "style", - "valType": "string" - } - }, - "legendrank": { - "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", - "dflt": 1000, - "editType": "style", - "valType": "number" - }, - "legendwidth": { - "description": "Sets the width (in px or fraction) of the legend for this trace.", - "editType": "style", - "min": 0, - "valType": "number" - }, - "line": { - "dash": { - "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*). Note that this style setting can also be set per direction via `increasing.line.dash` and `decreasing.line.dash`.", - "dflt": "solid", - "editType": "style", - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ] - }, - "editType": "style", - "role": "object", - "width": { - "description": "[object Object] Note that this style setting can also be set per direction via `increasing.line.width` and `decreasing.line.width`.", - "dflt": 2, - "editType": "style", - "min": 0, - "valType": "number" - } - }, - "low": { - "description": "Sets the low values.", - "editType": "calc", - "valType": "data_array" - }, - "lowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `low`.", - "editType": "none", - "valType": "string" - }, - "meta": { - "arrayOk": true, - "description": "Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.", - "editType": "plot", - "valType": "any" - }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, - "name": { - "description": "Sets the trace name. The trace name appears as the legend item and on hover.", - "editType": "style", - "valType": "string" - }, - "opacity": { - "description": "Sets the opacity of the trace.", - "dflt": 1, - "editType": "style", - "max": 1, - "min": 0, - "valType": "number" - }, - "open": { - "description": "Sets the open values.", - "editType": "calc", - "valType": "data_array" - }, - "opensrc": { - "description": "Sets the source reference on Chart Studio Cloud for `open`.", - "editType": "none", - "valType": "string" - }, - "selectedpoints": { - "description": "Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.", - "editType": "calc", - "valType": "any" - }, - "showlegend": { - "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", - "dflt": true, - "editType": "style", - "valType": "boolean" - }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", + "editType": "colorbars", + "valType": "string" + }, + "ticks": { + "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", + "dflt": "", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "" + ] + }, + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "editType": "colorbars", + "valType": "string" + }, + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", + "editType": "colorbars", + "valType": "data_array" + }, + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "editType": "colorbars", + "valType": "data_array" + }, + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "title": { + "editType": "colorbars", + "font": { + "color": { + "editType": "colorbars", + "valType": "color" + }, + "description": "Sets this color bar's title font.", + "editType": "colorbars", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "colorbars", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, + "size": { + "editType": "colorbars", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "colorbars", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "role": "object", + "side": { + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "right", + "top", + "bottom" + ] + }, + "text": { + "description": "Sets the title of the color bar.", + "editType": "colorbars", + "valType": "string" + } + }, + "x": { + "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", + "editType": "colorbars", + "valType": "number" + }, + "xanchor": { + "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "xpad": { + "description": "Sets the amount of padding (in px) along the x direction.", + "dflt": 10, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "xref": { + "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", + "dflt": "paper", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "container", + "paper" + ] + }, + "y": { + "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", + "editType": "colorbars", + "valType": "number" + }, + "yanchor": { + "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "ypad": { + "description": "Sets the amount of padding (in px) along the y direction.", + "dflt": 10, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "yref": { + "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", + "dflt": "paper", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "container", + "paper" + ] + } + }, + "colorscale": { + "description": "Sets the colorscale. Has an effect only if in `line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `line.cmin` and `line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "dflt": null, "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" + "impliedEdits": { + "autocolorscale": false + }, + "valType": "colorscale" + }, + "editType": "calc", + "hovertemplate": { + "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `count` and `probability`. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", + "dflt": "", + "editType": "plot", + "valType": "string" + }, + "hovertemplatefallback": { + "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", + "dflt": "-", + "editType": "plot", + "valType": "any" + }, + "reversescale": { + "description": "Reverses the color mapping if true. Has an effect only if in `line.color` is set to a numerical array. If true, `line.cmin` will correspond to the last color in the array and `line.cmax` will correspond to the first color.", + "dflt": false, + "editType": "plot", + "valType": "boolean" }, "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", + "shape": { + "description": "Sets the shape of the paths. If `linear`, paths are composed of straight lines. If `hspline`, paths are composed of horizontal curved splines", + "dflt": "linear", + "editType": "plot", + "valType": "enumerated", + "values": [ + "linear", + "hspline" + ] + }, + "showscale": { + "description": "Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `line.color` is set to a numerical array.", + "dflt": false, "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" + "valType": "boolean" } }, - "text": { + "meta": { "arrayOk": true, - "description": "Sets hover text elements associated with each sample point. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to this trace's sample points.", - "dflt": "", - "editType": "calc", - "valType": "string" + "description": "Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.", + "editType": "plot", + "valType": "any" }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", + "name": { + "description": "Sets the trace name. The trace name appears as the legend item and on hover.", + "editType": "style", "valType": "string" }, - "tickwidth": { - "description": "Sets the width of the open/close tick marks relative to the *x* minimal interval.", - "dflt": 0.3, + "sortpaths": { + "description": "Sets the path sorting algorithm. If `forward`, sort paths based on dimension categories from left to right. If `backward`, sort paths based on dimensions categories from right to left.", + "dflt": "forward", + "editType": "plot", + "valType": "enumerated", + "values": [ + "forward", + "backward" + ] + }, + "tickfont": { + "color": { + "editType": "calc", + "valType": "color" + }, + "description": "Sets the font for the `category` labels.", "editType": "calc", - "max": 0.5, - "min": 0, - "valType": "number" + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "calc", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "auto", + "editType": "calc", + "valType": "string" + }, + "size": { + "editType": "calc", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "calc", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } }, - "type": "ohlc", + "type": "parcats", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", "editType": "plot", @@ -53312,200 +47362,108 @@ false, "legendonly" ] - }, - "x": { - "description": "Sets the x coordinates. If absent, linear coordinate will be generated.", - "editType": "calc+clearAxisTypes", - "valType": "data_array" - }, - "xaxis": { - "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "valType": "subplotid" - }, - "xcalendar": { - "description": "Sets the calendar system to use with `x` date data.", - "dflt": "gregorian", - "editType": "calc", - "valType": "enumerated", - "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" - ] - }, - "xhoverformat": { - "description": "Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "xperiod": { - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer.", - "dflt": 0, - "editType": "calc", - "valType": "any" - }, - "xperiod0": { - "description": "Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.", - "editType": "calc", - "valType": "any" - }, - "xperiodalignment": { - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.", - "dflt": "middle", - "editType": "calc", - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ] - }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", - "editType": "none", - "valType": "string" - }, - "yaxis": { - "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "valType": "subplotid" - }, - "yhoverformat": { - "description": "Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "zorder": { - "description": "Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.", - "dflt": 0, - "editType": "plot", - "valType": "integer" } }, "categories": [ - "cartesian", - "svg", - "showLegend" + "noOpacity" ], "meta": { - "description": "The ohlc (short for Open-High-Low-Close) is a style of financial chart describing open, high, low and close for a given `x` coordinate (most likely time). The tip of the lines represent the `low` and `high` values and the horizontal segments represent the `open` and `close` values. Sample points where the close value is higher (lower) then the open value are called increasing (decreasing). By default, increasing items are drawn in green whereas decreasing are drawn in red." + "description": "Parallel categories diagram for multidimensional categorical data." }, - "type": "ohlc" + "type": "parcats" }, - "parcats": { + "parcoords": { "animatable": false, "attributes": { - "arrangement": { - "description": "Sets the drag interaction mode for categories and dimensions. If `perpendicular`, the categories can only move along a line perpendicular to the paths. If `freeform`, the categories can freely move on the plane. If `fixed`, the categories and dimensions are stationary.", - "dflt": "perpendicular", - "editType": "plot", - "valType": "enumerated", - "values": [ - "perpendicular", - "freeform", - "fixed" - ] - }, - "bundlecolors": { - "description": "Sort paths so that like colors are bundled together within each category.", - "dflt": true, - "editType": "plot", - "valType": "boolean" - }, - "counts": { - "arrayOk": true, - "description": "The number of observations represented by each state. Defaults to 1 so that each state represents one observation", - "dflt": 1, + "customdata": { + "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", "editType": "calc", - "min": 0, - "valType": "number" - }, - "countssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `counts`.", - "editType": "none", - "valType": "string" + "valType": "data_array" }, "dimensions": { "items": { "dimension": { - "categoryarray": { - "description": "Sets the order in which categories in this dimension appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.", - "editType": "calc", - "valType": "data_array" - }, - "categoryarraysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `categoryarray`.", - "editType": "none", - "valType": "string" - }, - "categoryorder": { - "description": "Specifies the ordering logic for the categories in the dimension. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`.", - "dflt": "trace", - "editType": "calc", - "valType": "enumerated", - "values": [ - "trace", - "category ascending", - "category descending", - "array" - ] - }, - "description": "The dimensions (variables) of the parallel categories diagram.", - "displayindex": { - "description": "The display index of dimension, from left to right, zero indexed, defaults to dimension index.", - "editType": "calc", - "valType": "integer" + "constraintrange": { + "description": "The domain range to which the filter on the dimension is constrained. Must be an array of `[fromValue, toValue]` with `fromValue <= toValue`, or if `multiselect` is not disabled, you may give an array of arrays, where each inner array is `[fromValue, toValue]`.", + "dimensions": "1-2", + "editType": "plot", + "freeLength": true, + "items": [ + { + "editType": "plot", + "valType": "any" + }, + { + "editType": "plot", + "valType": "any" + } + ], + "valType": "info_array" }, + "description": "The dimensions (variables) of the parallel coordinates chart. 2..60 dimensions are supported.", "editType": "calc", "label": { "description": "The shown name of the dimension.", - "editType": "calc", + "editType": "plot", + "valType": "string" + }, + "multiselect": { + "description": "Do we allow multiple selection ranges or just a single range?", + "dflt": true, + "editType": "plot", + "valType": "boolean" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "none", "valType": "string" }, + "range": { + "description": "The domain range that represents the full, shown axis extent. Defaults to the `values` extent. Must be an array of `[fromValue, toValue]` with finite numbers as elements.", + "editType": "plot", + "items": [ + { + "editType": "plot", + "valType": "number" + }, + { + "editType": "plot", + "valType": "number" + } + ], + "valType": "info_array" + }, "role": "object", - "ticktext": { - "description": "Sets alternative tick labels for the categories in this dimension. Only has an effect if `categoryorder` is set to *array*. Should be an array the same length as `categoryarray` Used with `categoryorder`.", + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", "editType": "calc", - "valType": "data_array" + "valType": "string" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", + "tickformat": { + "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", + "dflt": "", + "editType": "plot", "valType": "string" }, + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`.", + "editType": "plot", + "valType": "data_array" + }, + "tickvals": { + "description": "Sets the values at which ticks on this axis appear.", + "editType": "plot", + "valType": "data_array" + }, "values": { - "description": "Dimension values. `values[n]` represents the category value of the `n`th point in the dataset, therefore the `values` vector for all dimensions must be the same (longer vectors will be truncated).", - "dflt": [], + "description": "Dimension values. `values[n]` represents the value of the `n`th point in the dataset, therefore the `values` vector for all dimensions must be the same (longer vectors will be truncated). Each value must be a finite number.", "editType": "calc", "valType": "data_array" }, - "valuessrc": { - "description": "Sets the source reference on Chart Studio Cloud for `values`.", - "editType": "none", - "valType": "string" - }, "visible": { "description": "Shows the dimension when set to `true` (the default). Hides the dimension for `false`.", "dflt": true, - "editType": "calc", + "editType": "plot", "valType": "boolean" } } @@ -53514,37 +47472,37 @@ }, "domain": { "column": { - "description": "If there is a layout grid, use the domain for this column in the grid for this parcats trace .", + "description": "If there is a layout grid, use the domain for this column in the grid for this parcoords trace.", "dflt": 0, - "editType": "calc", + "editType": "plot", "min": 0, "valType": "integer" }, - "editType": "calc", + "editType": "plot", "role": "object", "row": { - "description": "If there is a layout grid, use the domain for this row in the grid for this parcats trace .", + "description": "If there is a layout grid, use the domain for this row in the grid for this parcoords trace.", "dflt": 0, - "editType": "calc", + "editType": "plot", "min": 0, "valType": "integer" }, "x": { - "description": "Sets the horizontal domain of this parcats trace (in plot fraction).", + "description": "Sets the horizontal domain of this parcoords trace (in plot fraction).", "dflt": [ 0, 1 ], - "editType": "calc", + "editType": "plot", "items": [ { - "editType": "calc", + "editType": "plot", "max": 1, "min": 0, "valType": "number" }, { - "editType": "calc", + "editType": "plot", "max": 1, "min": 0, "valType": "number" @@ -53553,21 +47511,21 @@ "valType": "info_array" }, "y": { - "description": "Sets the vertical domain of this parcats trace (in plot fraction).", + "description": "Sets the vertical domain of this parcoords trace (in plot fraction).", "dflt": [ 0, 1 ], - "editType": "calc", + "editType": "plot", "items": [ { - "editType": "calc", + "editType": "plot", "max": 1, "min": 0, "valType": "number" }, { - "editType": "calc", + "editType": "plot", "max": 1, "min": 0, "valType": "number" @@ -53576,55 +47534,27 @@ "valType": "info_array" } }, - "hoverinfo": { - "arrayOk": false, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", - "dflt": "all", - "editType": "plot", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "count", - "probability" - ], - "valType": "flaglist" - }, - "hoveron": { - "description": "Sets the hover interaction mode for the parcats diagram. If `category`, hover interaction take place per category. If `color`, hover interactions take place per color per category. If `dimension`, hover interactions take place across all categories per dimension.", - "dflt": "category", - "editType": "plot", - "valType": "enumerated", - "values": [ - "category", - "color", - "dimension" - ] - }, - "hovertemplate": { - "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `count`, `probability`, `category`, `categorycount`, `colorcount` and `bandcolorcount`. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", - "dflt": "", - "editType": "plot", - "valType": "string" + "ids": { + "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", + "editType": "calc", + "valType": "data_array" }, - "hovertemplatefallback": { - "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", - "dflt": "-", + "labelangle": { + "description": "Sets the angle of the labels with respect to the horizontal. For example, a `tickangle` of -90 draws the labels vertically. Tilted labels with *labelangle* may be positioned better inside margins when `labelposition` is set to *bottom*.", + "dflt": 0, "editType": "plot", - "valType": "any" + "valType": "angle" }, "labelfont": { "color": { - "editType": "calc", + "editType": "plot", "valType": "color" }, "description": "Sets the font for the `dimension` labels.", - "editType": "calc", + "editType": "plot", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "calc", + "editType": "plot", "noBlank": true, "strict": true, "valType": "string" @@ -53632,7 +47562,7 @@ "lineposition": { "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", - "editType": "calc", + "editType": "plot", "extras": [ "none" ], @@ -53647,18 +47577,18 @@ "shadow": { "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", - "editType": "calc", + "editType": "plot", "valType": "string" }, "size": { - "editType": "calc", + "editType": "plot", "min": 1, "valType": "number" }, "style": { "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", - "editType": "calc", + "editType": "plot", "valType": "enumerated", "values": [ "normal", @@ -53668,7 +47598,7 @@ "textcase": { "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", - "editType": "calc", + "editType": "plot", "valType": "enumerated", "values": [ "normal", @@ -53680,7 +47610,7 @@ "variant": { "description": "Sets the variant of the font.", "dflt": "normal", - "editType": "calc", + "editType": "plot", "valType": "enumerated", "values": [ "normal", @@ -53694,7 +47624,7 @@ "weight": { "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", - "editType": "calc", + "editType": "plot", "extras": [ "normal", "bold" @@ -53704,6 +47634,22 @@ "valType": "integer" } }, + "labelside": { + "description": "Specifies the location of the `label`. *top* positions labels above, next to the title *bottom* positions labels below the graph Tilted labels with *labelangle* may be positioned better inside margins when `labelposition` is set to *bottom*.", + "dflt": "top", + "editType": "plot", + "valType": "enumerated", + "values": [ + "top", + "bottom" + ] + }, + "legend": { + "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", + "dflt": "legend", + "editType": "style", + "valType": "subplotid" + }, "legendgrouptitle": { "editType": "style", "font": { @@ -53803,6 +47749,12 @@ "valType": "string" } }, + "legendrank": { + "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", + "dflt": 1000, + "editType": "style", + "valType": "number" + }, "legendwidth": { "description": "Sets the width (in px or fraction) of the legend for this trace.", "editType": "style", @@ -53812,7 +47764,7 @@ "line": { "autocolorscale": { "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `line.colorscale`. Has an effect only if in `line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", - "dflt": true, + "dflt": false, "editType": "calc", "impliedEdits": {}, "valType": "boolean" @@ -54274,21 +48226,11 @@ "editType": "colorbars", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "colorbars", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -54389,7 +48331,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -54470,32 +48412,84 @@ } }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `line.cmin` and `line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", - "dflt": null, + "description": "Sets the colorscale. Has an effect only if in `line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `line.cmin` and `line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "dflt": [ + [ + 0, + "#440154" + ], + [ + 0.06274509803921569, + "#48186a" + ], + [ + 0.12549019607843137, + "#472d7b" + ], + [ + 0.18823529411764706, + "#424086" + ], + [ + 0.25098039215686274, + "#3b528b" + ], + [ + 0.3137254901960784, + "#33638d" + ], + [ + 0.3764705882352941, + "#2c728e" + ], + [ + 0.4392156862745098, + "#26828e" + ], + [ + 0.5019607843137255, + "#21918c" + ], + [ + 0.5647058823529412, + "#1fa088" + ], + [ + 0.6274509803921569, + "#28ae80" + ], + [ + 0.6901960784313725, + "#3fbc73" + ], + [ + 0.7529411764705882, + "#5ec962" + ], + [ + 0.8156862745098039, + "#84d44b" + ], + [ + 0.8784313725490196, + "#addc30" + ], + [ + 0.9411764705882353, + "#d8e219" + ], + [ + 1, + "#fde725" + ] + ], "editType": "calc", "impliedEdits": { "autocolorscale": false }, "valType": "colorscale" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", - "hovertemplate": { - "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `count` and `probability`. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", - "dflt": "", - "editType": "plot", - "valType": "string" - }, - "hovertemplatefallback": { - "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", - "dflt": "-", - "editType": "plot", - "valType": "any" - }, "reversescale": { "description": "Reverses the color mapping if true. Has an effect only if in `line.color` is set to a numerical array. If true, `line.cmin` will correspond to the last color in the array and `line.cmax` will correspond to the first color.", "dflt": false, @@ -54503,16 +48497,6 @@ "valType": "boolean" }, "role": "object", - "shape": { - "description": "Sets the shape of the paths. If `linear`, paths are composed of straight lines. If `hspline`, paths are composed of horizontal curved splines", - "dflt": "linear", - "editType": "plot", - "valType": "enumerated", - "values": [ - "linear", - "hspline" - ] - }, "showscale": { "description": "Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `line.color` is set to a numerical array.", "dflt": false, @@ -54526,55 +48510,110 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", "valType": "string" }, - "sortpaths": { - "description": "Sets the path sorting algorithm. If `forward`, sort paths based on dimension categories from left to right. If `backward`, sort paths based on dimensions categories from right to left.", - "dflt": "forward", - "editType": "plot", - "valType": "enumerated", - "values": [ - "forward", - "backward" - ] - }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" + "rangefont": { + "color": { + "editType": "plot", + "valType": "color" }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", + "description": "Sets the font for the `dimension` range values.", + "editType": "plot", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "plot", "noBlank": true, "strict": true, "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "size": { + "editType": "plot", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickfont": { "color": { - "editType": "calc", + "editType": "plot", "valType": "color" }, - "description": "Sets the font for the `category` labels.", - "editType": "calc", + "description": "Sets the font for the `dimension` tick values.", + "editType": "plot", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "calc", + "editType": "plot", "noBlank": true, "strict": true, "valType": "string" @@ -54582,7 +48621,7 @@ "lineposition": { "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", - "editType": "calc", + "editType": "plot", "extras": [ "none" ], @@ -54597,18 +48636,18 @@ "shadow": { "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "auto", - "editType": "calc", + "editType": "plot", "valType": "string" }, "size": { - "editType": "calc", + "editType": "plot", "min": 1, "valType": "number" }, "style": { "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", - "editType": "calc", + "editType": "plot", "valType": "enumerated", "values": [ "normal", @@ -54618,7 +48657,7 @@ "textcase": { "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", - "editType": "calc", + "editType": "plot", "valType": "enumerated", "values": [ "normal", @@ -54630,7 +48669,7 @@ "variant": { "description": "Sets the variant of the font.", "dflt": "normal", - "editType": "calc", + "editType": "plot", "valType": "enumerated", "values": [ "normal", @@ -54644,7 +48683,7 @@ "weight": { "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", - "editType": "calc", + "editType": "plot", "extras": [ "normal", "bold" @@ -54654,7 +48693,7 @@ "valType": "integer" } }, - "type": "parcats", + "type": "parcoords", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", "editType": "plot", @@ -54665,6 +48704,28 @@ "editType": "none", "valType": "any" }, + "unselected": { + "editType": "plot", + "line": { + "color": { + "description": "Sets the base color of unselected lines. in connection with `unselected.line.opacity`.", + "dflt": "#7f7f7f", + "editType": "plot", + "valType": "color" + }, + "editType": "plot", + "opacity": { + "description": "Sets the opacity of unselected lines. The default *auto* decreases the opacity smoothly as the number of lines increases. Use *1* to achieve exact `unselected.line.color`.", + "dflt": "auto", + "editType": "plot", + "max": 1, + "min": 0, + "valType": "number" + }, + "role": "object" + }, + "role": "object" + }, "visible": { "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", "dflt": true, @@ -54678,164 +48739,79 @@ } }, "categories": [ - "noOpacity" + "gl", + "regl", + "noOpacity", + "noHover" ], "meta": { - "description": "Parallel categories diagram for multidimensional categorical data." + "description": "Parallel coordinates for multidimensional exploratory data analysis. The samples are specified in `dimensions`. The colors are set in `line.color`." }, - "type": "parcats" + "type": "parcoords" }, - "parcoords": { + "pie": { "animatable": false, "attributes": { + "automargin": { + "description": "Determines whether outside text labels can push the margins.", + "dflt": false, + "editType": "plot", + "valType": "boolean" + }, "customdata": { "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" + "direction": { + "description": "Specifies the direction at which succeeding sectors follow one another.", + "dflt": "counterclockwise", + "editType": "calc", + "valType": "enumerated", + "values": [ + "clockwise", + "counterclockwise" + ] }, - "dimensions": { - "items": { - "dimension": { - "constraintrange": { - "description": "The domain range to which the filter on the dimension is constrained. Must be an array of `[fromValue, toValue]` with `fromValue <= toValue`, or if `multiselect` is not disabled, you may give an array of arrays, where each inner array is `[fromValue, toValue]`.", - "dimensions": "1-2", - "editType": "plot", - "freeLength": true, - "items": [ - { - "editType": "plot", - "valType": "any" - }, - { - "editType": "plot", - "valType": "any" - } - ], - "valType": "info_array" - }, - "description": "The dimensions (variables) of the parallel coordinates chart. 2..60 dimensions are supported.", - "editType": "calc", - "label": { - "description": "The shown name of the dimension.", - "editType": "plot", - "valType": "string" - }, - "multiselect": { - "description": "Do we allow multiple selection ranges or just a single range?", - "dflt": true, - "editType": "plot", - "valType": "boolean" - }, - "name": { - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", - "editType": "none", - "valType": "string" - }, - "range": { - "description": "The domain range that represents the full, shown axis extent. Defaults to the `values` extent. Must be an array of `[fromValue, toValue]` with finite numbers as elements.", - "editType": "plot", - "items": [ - { - "editType": "plot", - "valType": "number" - }, - { - "editType": "plot", - "valType": "number" - } - ], - "valType": "info_array" - }, - "role": "object", - "templateitemname": { - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", - "editType": "calc", - "valType": "string" - }, - "tickformat": { - "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", - "dflt": "", - "editType": "plot", - "valType": "string" - }, - "ticktext": { - "description": "Sets the text displayed at the ticks position via `tickvals`.", - "editType": "plot", - "valType": "data_array" - }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, - "tickvals": { - "description": "Sets the values at which ticks on this axis appear.", - "editType": "plot", - "valType": "data_array" - }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, - "values": { - "description": "Dimension values. `values[n]` represents the value of the `n`th point in the dataset, therefore the `values` vector for all dimensions must be the same (longer vectors will be truncated). Each value must be a finite number.", - "editType": "calc", - "valType": "data_array" - }, - "valuessrc": { - "description": "Sets the source reference on Chart Studio Cloud for `values`.", - "editType": "none", - "valType": "string" - }, - "visible": { - "description": "Shows the dimension when set to `true` (the default). Hides the dimension for `false`.", - "dflt": true, - "editType": "plot", - "valType": "boolean" - } - } - }, - "role": "object" + "dlabel": { + "description": "Sets the label step. See `label0` for more info.", + "dflt": 1, + "editType": "calc", + "valType": "number" }, "domain": { "column": { - "description": "If there is a layout grid, use the domain for this column in the grid for this parcoords trace .", + "description": "If there is a layout grid, use the domain for this column in the grid for this pie trace.", "dflt": 0, - "editType": "plot", + "editType": "calc", "min": 0, "valType": "integer" }, - "editType": "plot", + "editType": "calc", "role": "object", "row": { - "description": "If there is a layout grid, use the domain for this row in the grid for this parcoords trace .", + "description": "If there is a layout grid, use the domain for this row in the grid for this pie trace.", "dflt": 0, - "editType": "plot", + "editType": "calc", "min": 0, "valType": "integer" }, "x": { - "description": "Sets the horizontal domain of this parcoords trace (in plot fraction).", + "description": "Sets the horizontal domain of this pie trace (in plot fraction).", "dflt": [ 0, 1 ], - "editType": "plot", + "editType": "calc", "items": [ { - "editType": "plot", + "editType": "calc", "max": 1, "min": 0, "valType": "number" }, { - "editType": "plot", + "editType": "calc", "max": 1, "min": 0, "valType": "number" @@ -54844,21 +48820,21 @@ "valType": "info_array" }, "y": { - "description": "Sets the vertical domain of this parcoords trace (in plot fraction).", + "description": "Sets the vertical domain of this pie trace (in plot fraction).", "dflt": [ 0, 1 ], - "editType": "plot", + "editType": "calc", "items": [ { - "editType": "plot", + "editType": "calc", "max": 1, "min": 0, "valType": "number" }, { - "editType": "plot", + "editType": "calc", "max": 1, "min": 0, "valType": "number" @@ -54867,30 +48843,208 @@ "valType": "info_array" } }, - "ids": { - "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", + "hole": { + "description": "Sets the fraction of the radius to cut out of the pie. Use this to make a donut chart.", + "dflt": 0, "editType": "calc", - "valType": "data_array" + "max": 1, + "min": 0, + "valType": "number" + }, + "hoverinfo": { + "arrayOk": true, + "description": "Determines what trace information appears on hover. Flags are rendered in a fixed order; use `hovertemplate` if you need explicit control over the rendered string, including the order of fields and surrounding text.", + "dflt": "all", + "editType": "none", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "label", + "text", + "value", + "percent", + "name" + ], + "valType": "flaglist" + }, + "hoverlabel": { + "align": { + "arrayOk": true, + "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", + "dflt": "auto", + "editType": "none", + "valType": "enumerated", + "values": [ + "left", + "right", + "auto" + ] + }, + "bgcolor": { + "arrayOk": true, + "description": "Sets the background color of the hover labels for this trace", + "editType": "none", + "valType": "color" + }, + "bordercolor": { + "arrayOk": true, + "description": "Sets the border color of the hover labels for this trace.", + "editType": "none", + "valType": "color" + }, + "editType": "none", + "font": { + "color": { + "arrayOk": true, + "editType": "none", + "valType": "color" + }, + "description": "Sets the font used in hover labels.", + "editType": "none", + "family": { + "arrayOk": true, + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "none", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "size": { + "arrayOk": true, + "editType": "none", + "min": 1, + "valType": "number" + }, + "style": { + "arrayOk": true, + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "arrayOk": true, + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "arrayOk": true, + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "none", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "namelength": { + "arrayOk": true, + "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", + "dflt": 15, + "editType": "none", + "min": -1, + "valType": "integer" + }, + "role": "object", + "showarrow": { + "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", + "dflt": true, + "editType": "none", + "valType": "boolean" + } }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", + "hovertemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `label`, `color`, `value`, `percent` and `text`. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", + "dflt": "", "editType": "none", "valType": "string" }, - "labelangle": { - "description": "Sets the angle of the labels with respect to the horizontal. For example, a `tickangle` of -90 draws the labels vertically. Tilted labels with *labelangle* may be positioned better inside margins when `labelposition` is set to *bottom*.", - "dflt": 0, - "editType": "plot", - "valType": "angle" + "hovertemplatefallback": { + "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", + "dflt": "-", + "editType": "none", + "valType": "any" }, - "labelfont": { + "hovertext": { + "arrayOk": true, + "description": "Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a *text* flag.", + "dflt": "", + "editType": "style", + "valType": "string" + }, + "ids": { + "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", + "editType": "calc", + "valType": "data_array" + }, + "insidetextfont": { "color": { + "arrayOk": true, "editType": "plot", "valType": "color" }, - "description": "Sets the font for the `dimension` labels.", + "description": "Sets the font used for `textinfo` lying inside the sector.", "editType": "plot", "family": { + "arrayOk": true, "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", "editType": "plot", "noBlank": true, @@ -54898,6 +49052,7 @@ "valType": "string" }, "lineposition": { + "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", "editType": "plot", @@ -54913,17 +49068,20 @@ }, "role": "object", "shadow": { + "arrayOk": true, "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", "editType": "plot", "valType": "string" }, "size": { + "arrayOk": true, "editType": "plot", "min": 1, "valType": "number" }, "style": { + "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", "editType": "plot", @@ -54934,6 +49092,7 @@ ] }, "textcase": { + "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", "editType": "plot", @@ -54946,6 +49105,7 @@ ] }, "variant": { + "arrayOk": true, "description": "Sets the variant of the font.", "dflt": "normal", "editType": "plot", @@ -54960,6 +49120,7 @@ ] }, "weight": { + "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", @@ -54972,22 +49133,42 @@ "valType": "integer" } }, - "labelside": { - "description": "Specifies the location of the `label`. *top* positions labels above, next to the title *bottom* positions labels below the graph Tilted labels with *labelangle* may be positioned better inside margins when `labelposition` is set to *bottom*.", - "dflt": "top", + "insidetextorientation": { + "description": "Controls the orientation of the text inside chart sectors. When set to *auto*, text may be oriented in any direction in order to be as big as possible in the middle of a sector. The *horizontal* option orients text to be parallel with the bottom of the chart, and may make text smaller in order to achieve that goal. The *radial* option orients text along the radius of the sector. The *tangential* option orients text perpendicular to the radius of the sector.", + "dflt": "auto", "editType": "plot", "valType": "enumerated", "values": [ - "top", - "bottom" + "horizontal", + "radial", + "tangential", + "auto" ] }, + "label0": { + "description": "Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step.", + "dflt": 0, + "editType": "calc", + "valType": "number" + }, + "labels": { + "description": "Sets the sector labels. If `labels` entries are duplicated, we sum associated `values` or simply count occurrences if `values` is not provided. For other array attributes (including color) we use the first non-empty entry among all occurrences of the label.", + "editType": "calc", + "valType": "data_array" + }, "legend": { - "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", + "arrayOk": true, + "description": "Sets the reference to a legend to show the pie slices in. Can be an array if `values` is set. In that case, each entry specifies the legend reference for one slice. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", "editType": "style", "valType": "subplotid" }, + "legendgroup": { + "description": "Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.", + "dflt": "", + "editType": "style", + "valType": "string" + }, "legendgrouptitle": { "editType": "style", "font": { @@ -55088,7 +49269,8 @@ } }, "legendrank": { - "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", + "arrayOk": true, + "description": "Sets the legend rank for this pie. If passed as an array, this will set the legend rank of the individual pie slices. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", "dflt": 1000, "editType": "style", "valType": "number" @@ -55099,1861 +49281,1624 @@ "min": 0, "valType": "number" }, - "line": { - "autocolorscale": { - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `line.colorscale`. Has an effect only if in `line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", - "dflt": false, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "cauto": { - "description": "Determines whether or not the color domain is computed with respect to the input data (here in `line.color`) or the bounds set in `line.cmin` and `line.cmax` Has an effect only if in `line.color` is set to a numerical array. Defaults to `false` when `line.cmin` and `line.cmax` are set by the user.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "cmax": { - "description": "Sets the upper bound of the color domain. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmin` must be set as well.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "valType": "number" - }, - "cmid": { - "description": "Sets the mid-point of the color domain by scaling `line.cmin` and/or `line.cmax` to be equidistant to this point. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color`. Has no effect when `line.cauto` is `false`.", - "dflt": null, + "marker": { + "colors": { + "description": "Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors.", "editType": "calc", - "impliedEdits": {}, - "valType": "number" + "valType": "data_array" }, - "cmin": { - "description": "Sets the lower bound of the color domain. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmax` must be set as well.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false + "editType": "calc", + "line": { + "color": { + "arrayOk": true, + "description": "Sets the color of the line enclosing each sector.", + "dflt": "#444", + "editType": "style", + "valType": "color" }, - "valType": "number" - }, - "color": { - "arrayOk": true, - "description": "Sets the line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `line.cmin` and `line.cmax` if set.", - "editType": "calc", - "valType": "color" - }, - "coloraxis": { - "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", - "dflt": null, "editType": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "valType": "subplotid" + "role": "object", + "width": { + "arrayOk": true, + "description": "Sets the width (in px) of the line enclosing each sector.", + "dflt": 0, + "editType": "style", + "min": 0, + "valType": "number" + } }, - "colorbar": { + "pattern": { "bgcolor": { - "description": "Sets the color of padded area.", - "dflt": "rgba(0,0,0,0)", - "editType": "colorbars", + "arrayOk": true, + "description": "When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is *overlay*. Otherwise, defaults to a transparent background.", + "editType": "style", "valType": "color" }, - "bordercolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "colorbars", + "description": "Sets the pattern within the marker.", + "editType": "style", + "fgcolor": { + "arrayOk": true, + "description": "When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is *replace*. Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.", + "editType": "style", "valType": "color" }, - "borderwidth": { - "description": "Sets the width (in px) or the border enclosing this color bar.", - "dflt": 0, - "editType": "colorbars", + "fgopacity": { + "description": "Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.", + "editType": "style", + "max": 1, "min": 0, "valType": "number" }, - "dtick": { - "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "valType": "any" - }, - "editType": "colorbars", - "exponentformat": { - "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B. *SI* uses prefixes from \"femto\" f (10^-15) to \"tera\" T (10^12). *SI extended* covers instead the full SI range from \"quecto\" q (10^-30) to \"quetta\" Q (10^30). If *SI* or *SI extended* is used and the exponent is beyond the above ranges, the formatting rule will automatically be switched to the power notation.", - "dflt": "B", - "editType": "colorbars", + "fillmode": { + "description": "Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.", + "dflt": "replace", + "editType": "style", "valType": "enumerated", "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" + "replace", + "overlay" ] }, - "labelalias": { - "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", - "dflt": false, - "editType": "colorbars", - "valType": "any" - }, - "len": { - "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" + "path": { + "arrayOk": true, + "description": "Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.", + "editType": "style", + "valType": "string" }, - "lenmode": { - "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", - "dflt": "fraction", - "editType": "colorbars", + "role": "object", + "shape": { + "arrayOk": true, + "description": "Sets the shape of the pattern fill. By default, no pattern is used for filling the area.", + "dflt": "", + "editType": "style", "valType": "enumerated", "values": [ - "fraction", - "pixels" + "", + "/", + "\\", + "x", + "-", + "|", + "+", + "." ] }, - "minexponent": { - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", - "dflt": 3, - "editType": "colorbars", + "size": { + "arrayOk": true, + "description": "Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.", + "dflt": 8, + "editType": "style", "min": 0, "valType": "number" }, - "nticks": { - "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", - "dflt": 0, - "editType": "colorbars", - "min": 0, - "valType": "integer" - }, - "orientation": { - "description": "Sets the orientation of the colorbar.", - "dflt": "v", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "h", - "v" - ] - }, - "outlinecolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" - }, - "outlinewidth": { - "description": "Sets the width (in px) of the axis line.", - "dflt": 1, - "editType": "colorbars", + "solidity": { + "arrayOk": true, + "description": "Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.", + "dflt": 0.3, + "editType": "style", + "max": 1, "min": 0, "valType": "number" + } + }, + "role": "object" + }, + "meta": { + "arrayOk": true, + "description": "Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.", + "editType": "plot", + "valType": "any" + }, + "name": { + "description": "Sets the trace name. The trace name appears as the legend item and on hover.", + "editType": "style", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the trace.", + "dflt": 1, + "editType": "style", + "max": 1, + "min": 0, + "valType": "number" + }, + "outsidetextfont": { + "color": { + "arrayOk": true, + "editType": "plot", + "valType": "color" + }, + "description": "Sets the font used for `textinfo` lying outside the sector.", + "editType": "plot", + "family": { + "arrayOk": true, + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "plot", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "size": { + "arrayOk": true, + "editType": "plot", + "min": 1, + "valType": "number" + }, + "style": { + "arrayOk": true, + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "arrayOk": true, + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "arrayOk": true, + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "pull": { + "arrayOk": true, + "description": "Sets the fraction of larger radius to pull the sectors out from the center. This can be a constant to pull all slices apart from each other equally or an array to highlight one or more slices.", + "dflt": 0, + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + "rotation": { + "description": "Instead of the first slice starting at 12 o'clock, rotate to some other angle.", + "dflt": 0, + "editType": "calc", + "valType": "angle" + }, + "scalegroup": { + "description": "If there are multiple pie charts that should be sized according to their totals, link them by providing a non-empty group id here shared by every trace in the same group.", + "dflt": "", + "editType": "calc", + "valType": "string" + }, + "showlegend": { + "arrayOk": true, + "description": "Determines whether or not items corresponding to the pie slices are shown in the legend. Can be an array if `values` is set. In that case, each entry specifies appearance in the legend for one slice.", + "dflt": true, + "editType": "style", + "valType": "boolean" + }, + "sort": { + "description": "Determines whether or not the sectors are reordered from largest to smallest.", + "dflt": true, + "editType": "calc", + "valType": "boolean" + }, + "text": { + "description": "Sets text elements associated with each sector. If trace `textinfo` contains a *text* flag, these elements will be seen on the chart. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", + "editType": "plot", + "valType": "data_array" + }, + "textfont": { + "color": { + "arrayOk": true, + "editType": "plot", + "valType": "color" + }, + "description": "Sets the font used for `textinfo`.", + "editType": "plot", + "family": { + "arrayOk": true, + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "plot", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "size": { + "arrayOk": true, + "editType": "plot", + "min": 1, + "valType": "number" + }, + "style": { + "arrayOk": true, + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "arrayOk": true, + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "arrayOk": true, + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "textinfo": { + "description": "Determines what trace information appears on the graph. Flags are rendered in a fixed order; use `texttemplate` if you need explicit control over the rendered string, including the order of fields and surrounding text.", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "label", + "text", + "value", + "percent" + ], + "valType": "flaglist" + }, + "textposition": { + "arrayOk": true, + "description": "Specifies the location of the `textinfo`.", + "dflt": "auto", + "editType": "plot", + "valType": "enumerated", + "values": [ + "inside", + "outside", + "auto", + "none" + ] + }, + "texttemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `label`, `color`, `value`, `percent` and `text`.", + "dflt": "", + "editType": "plot", + "valType": "string" + }, + "texttemplatefallback": { + "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", + "dflt": "-", + "editType": "plot", + "valType": "any" + }, + "title": { + "editType": "plot", + "font": { + "color": { + "arrayOk": true, + "editType": "plot", + "valType": "color" }, - "role": "object", - "separatethousands": { - "description": "If \"true\", even 4-digit integers are separated", - "dflt": false, - "editType": "colorbars", - "valType": "boolean" + "description": "Sets the font used for `title`.", + "editType": "plot", + "family": { + "arrayOk": true, + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "plot", + "noBlank": true, + "strict": true, + "valType": "string" }, - "showexponent": { - "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ "none" - ] + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" }, - "showticklabels": { - "description": "Determines whether or not the tick labels are drawn.", - "dflt": true, - "editType": "colorbars", - "valType": "boolean" + "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" }, - "showtickprefix": { - "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", - "dflt": "all", - "editType": "colorbars", + "size": { + "arrayOk": true, + "editType": "plot", + "min": 1, + "valType": "number" + }, + "style": { + "arrayOk": true, + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "plot", "valType": "enumerated", "values": [ - "all", - "first", - "last", - "none" + "normal", + "italic" ] }, - "showticksuffix": { - "description": "Same as `showtickprefix` but for tick suffixes.", - "dflt": "all", - "editType": "colorbars", + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", "valType": "enumerated", "values": [ - "all", - "first", - "last", - "none" + "normal", + "word caps", + "upper", + "lower" ] }, - "thickness": { - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "dflt": 30, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "dflt": "pixels", - "editType": "colorbars", + "variant": { + "arrayOk": true, + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "plot", "valType": "enumerated", "values": [ - "fraction", - "pixels" + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] }, - "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "valType": "any" - }, - "tickangle": { - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", - "dflt": "auto", - "editType": "colorbars", - "valType": "angle" - }, - "tickcolor": { - "description": "Sets the tick color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" - }, - "tickfont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } + "weight": { + "arrayOk": true, + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "position": { + "description": "Specifies the location of the `title`.", + "editType": "plot", + "valType": "enumerated", + "values": [ + "top left", + "top center", + "top right", + "middle center", + "bottom left", + "bottom center", + "bottom right" + ] + }, + "role": "object", + "text": { + "description": "Sets the title of the chart. If it is empty, no title is displayed.", + "dflt": "", + "editType": "plot", + "valType": "string" + } + }, + "type": "pie", + "uid": { + "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", + "editType": "plot", + "valType": "string" + }, + "uirevision": { + "description": "Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.", + "editType": "none", + "valType": "any" + }, + "values": { + "description": "Sets the values of the sectors. If omitted, we count occurrences of each label.", + "editType": "calc", + "valType": "data_array" + }, + "visible": { + "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", + "dflt": true, + "editType": "calc", + "valType": "enumerated", + "values": [ + true, + false, + "legendonly" + ] + } + }, + "categories": [ + "pie-like", + "pie", + "showLegend" + ], + "layoutAttributes": { + "extendpiecolors": { + "description": "If `true`, the pie slice colors (whether given by `piecolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.", + "dflt": true, + "editType": "calc", + "valType": "boolean" + }, + "hiddenlabels": { + "description": "hiddenlabels is the funnelarea & pie chart analog of visible:'legendonly' but it can contain many labels, and can simultaneously hide slices from several pies/funnelarea charts", + "editType": "calc", + "valType": "data_array" + }, + "piecolorway": { + "description": "Sets the default pie slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendpiecolors`.", + "editType": "calc", + "valType": "colorlist" + } + }, + "meta": { + "description": "A data visualized by the sectors of the pie is set in `values`. The sector labels are set in `labels`. The sector colors are set in `marker.colors`" + }, + "type": "pie" + }, + "quiver": { + "animatable": true, + "attributes": { + "anchor": { + "description": "Sets the arrows' anchor with respect to their (x,y) positions. Use *tail* to place (x,y) at the base, *tip* to place (x,y) at the head, or *center* to center the arrow on (x,y).", + "dflt": "tail", + "editType": "calc", + "valType": "enumerated", + "values": [ + "tip", + "tail", + "center" + ] + }, + "anglemode": { + "description": "Sets the mode used to determine the angle of the arrow vectors. If *paper*, u/v are interpreted in pixel coordinates and the rendered vector angle does not change regardless of the axes scales. If *data*, u/v are interpreted in data coordinates and the rendered vector angle may change, e.g. if zooming in along a single axis", + "dflt": "axis", + "editType": "calc", + "valType": "enumerated", + "values": [ + "paper", + "data" + ] + }, + "customdata": { + "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", + "editType": "calc", + "valType": "data_array" + }, + "dx": { + "anim": true, + "description": "Sets the x coordinate step. See `x0` for more info.", + "dflt": 1, + "editType": "calc", + "valType": "number" + }, + "dy": { + "anim": true, + "description": "Sets the y coordinate step. See `y0` for more info.", + "dflt": 1, + "editType": "calc", + "valType": "number" + }, + "hoverinfo": { + "arrayOk": true, + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "dflt": "all", + "editType": "none", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "x", + "y", + "u", + "v", + "text", + "name" + ], + "valType": "flaglist" + }, + "hoverlabel": { + "align": { + "arrayOk": true, + "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", + "dflt": "auto", + "editType": "none", + "valType": "enumerated", + "values": [ + "left", + "right", + "auto" + ] + }, + "bgcolor": { + "arrayOk": true, + "description": "Sets the background color of the hover labels for this trace", + "editType": "none", + "valType": "color" + }, + "bordercolor": { + "arrayOk": true, + "description": "Sets the border color of the hover labels for this trace.", + "editType": "none", + "valType": "color" + }, + "editType": "none", + "font": { + "color": { + "arrayOk": true, + "editType": "none", + "valType": "color" }, - "tickformat": { - "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", - "dflt": "", - "editType": "colorbars", + "description": "Sets the font used in hover labels.", + "editType": "none", + "family": { + "arrayOk": true, + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "none", + "noBlank": true, + "strict": true, "valType": "string" }, - "tickformatstops": { - "items": { - "tickformatstop": { - "dtickrange": { - "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", - "editType": "colorbars", - "items": [ - { - "editType": "colorbars", - "valType": "any" - }, - { - "editType": "colorbars", - "valType": "any" - } - ], - "valType": "info_array" - }, - "editType": "colorbars", - "enabled": { - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", - "dflt": true, - "editType": "colorbars", - "valType": "boolean" - }, - "name": { - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", - "editType": "colorbars", - "valType": "string" - }, - "role": "object", - "templateitemname": { - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", - "editType": "colorbars", - "valType": "string" - }, - "value": { - "description": "string - dtickformat for described zoom level, the same as *tickformat*", - "dflt": "", - "editType": "colorbars", - "valType": "string" - } - } - }, - "role": "object" + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" }, - "ticklabeloverflow": { - "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", - "editType": "colorbars", + "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "size": { + "arrayOk": true, + "editType": "none", + "min": 1, + "valType": "number" + }, + "style": { + "arrayOk": true, + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "none", "valType": "enumerated", "values": [ - "allow", - "hide past div", - "hide past domain" + "normal", + "italic" ] }, - "ticklabelposition": { - "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", - "dflt": "outside", - "editType": "colorbars", + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", "valType": "enumerated", "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" + "normal", + "word caps", + "upper", + "lower" ] }, - "ticklabelstep": { - "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", - "dflt": 1, - "editType": "colorbars", + "variant": { + "arrayOk": true, + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "arrayOk": true, + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "none", + "extras": [ + "normal", + "bold" + ], + "max": 1000, "min": 1, "valType": "integer" + } + }, + "namelength": { + "arrayOk": true, + "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", + "dflt": 15, + "editType": "none", + "min": -1, + "valType": "integer" + }, + "role": "object", + "showarrow": { + "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", + "dflt": true, + "editType": "none", + "valType": "boolean" + } + }, + "hovertemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `x`, `y`, `u`, `v`, `text` and `name`. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", + "dflt": "", + "editType": "none", + "valType": "string" + }, + "ids": { + "anim": true, + "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", + "editType": "calc", + "valType": "data_array" + }, + "legend": { + "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", + "dflt": "legend", + "editType": "style", + "valType": "subplotid" + }, + "legendgroup": { + "description": "Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.", + "dflt": "", + "editType": "style", + "valType": "string" + }, + "legendgrouptitle": { + "editType": "style", + "font": { + "color": { + "editType": "style", + "valType": "color" }, - "ticklen": { - "description": "Sets the tick length (in px).", - "dflt": 5, - "editType": "colorbars", - "min": 0, + "description": "Sets this legend group's title font.", + "editType": "style", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "style", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, + "size": { + "editType": "style", + "min": 1, "valType": "number" }, - "tickmode": { - "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", - "editType": "colorbars", - "impliedEdits": {}, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "style", "valType": "enumerated", "values": [ - "auto", - "linear", - "array" + "normal", + "italic" ] }, - "tickprefix": { - "description": "Sets a tick label prefix.", - "dflt": "", - "editType": "colorbars", - "valType": "string" - }, - "ticks": { - "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", - "dflt": "", - "editType": "colorbars", + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", "valType": "enumerated", "values": [ - "outside", - "inside", - "" + "normal", + "word caps", + "upper", + "lower" ] }, - "ticksuffix": { - "description": "Sets a tick label suffix.", - "dflt": "", - "editType": "colorbars", - "valType": "string" - }, - "ticktext": { - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "editType": "colorbars", - "valType": "data_array" - }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, - "tickvals": { - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "editType": "colorbars", - "valType": "data_array" - }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] }, - "tickwidth": { - "description": "Sets the tick width (in px).", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "style", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "role": "object", + "text": { + "description": "Sets the title of the legend group.", + "dflt": "", + "editType": "style", + "valType": "string" + } + }, + "legendrank": { + "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", + "dflt": 1000, + "editType": "style", + "valType": "number" + }, + "legendwidth": { + "description": "Sets the width (in px or fraction) of the legend for this trace.", + "editType": "style", + "min": 0, + "valType": "number" + }, + "marker": { + "arrowsize": { + "description": "Sets the size of the arrow head relative to `marker.line.width`. A value of 1 (default) gives a head about 3x as wide as the line.", + "dflt": 1, + "editType": "calc", + "min": 0.3, + "valType": "number" + }, + "autocolorscale": { + "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", + "dflt": true, + "editType": "calc", + "impliedEdits": {}, + "valType": "boolean" + }, + "cauto": { + "description": "Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.", + "dflt": true, + "editType": "calc", + "impliedEdits": {}, + "valType": "boolean" + }, + "cmax": { + "description": "Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.", + "dflt": null, + "editType": "calc", + "impliedEdits": { + "cauto": false }, - "title": { + "valType": "number" + }, + "cmid": { + "description": "Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.", + "dflt": null, + "editType": "calc", + "impliedEdits": {}, + "valType": "number" + }, + "cmin": { + "description": "Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.", + "dflt": null, + "editType": "calc", + "impliedEdits": { + "cauto": false + }, + "valType": "number" + }, + "color": { + "arrayOk": true, + "description": "Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.", + "editType": "calc", + "valType": "color" + }, + "coloraxis": { + "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", + "dflt": null, + "editType": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", + "valType": "subplotid" + }, + "colorbar": { + "bgcolor": { + "description": "Sets the color of padded area.", + "dflt": "rgba(0,0,0,0)", "editType": "colorbars", - "font": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Sets this color bar's title font.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "role": "object", - "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - }, - "text": { - "description": "Sets the title of the color bar.", - "editType": "colorbars", - "valType": "string" - } + "valType": "color" }, - "x": { - "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", + "bordercolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "editType": "colorbars", + "valType": "color" + }, + "borderwidth": { + "description": "Sets the width (in px) or the border enclosing this color bar.", + "dflt": 0, "editType": "colorbars", + "min": 0, "valType": "number" }, - "xanchor": { - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", + "dtick": { + "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", + "editType": "colorbars", + "impliedEdits": { + "tickmode": "linear" + }, + "valType": "any" + }, + "editType": "colorbars", + "exponentformat": { + "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B. *SI* uses prefixes from \"femto\" f (10^-15) to \"tera\" T (10^12). *SI extended* covers instead the full SI range from \"quecto\" q (10^-30) to \"quetta\" Q (10^30). If *SI* or *SI extended* is used and the exponent is beyond the above ranges, the formatting rule will automatically be switched to the power notation.", + "dflt": "B", "editType": "colorbars", "valType": "enumerated", "values": [ - "left", - "center", - "right" + "none", + "e", + "E", + "power", + "SI", + "B", + "SI extended" ] }, - "xpad": { - "description": "Sets the amount of padding (in px) along the x direction.", - "dflt": 10, + "labelalias": { + "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", + "dflt": false, + "editType": "colorbars", + "valType": "any" + }, + "len": { + "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", + "dflt": 1, "editType": "colorbars", "min": 0, "valType": "number" }, - "xref": { - "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", - "dflt": "paper", + "lenmode": { + "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", + "dflt": "fraction", "editType": "colorbars", "valType": "enumerated", "values": [ - "container", - "paper" + "fraction", + "pixels" ] }, - "y": { - "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", + "minexponent": { + "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", + "dflt": 3, "editType": "colorbars", + "min": 0, "valType": "number" }, - "yanchor": { - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", + "nticks": { + "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "editType": "colorbars", + "min": 0, + "valType": "integer" + }, + "orientation": { + "description": "Sets the orientation of the colorbar.", + "dflt": "v", "editType": "colorbars", "valType": "enumerated", "values": [ - "top", - "middle", - "bottom" + "h", + "v" ] }, - "ypad": { - "description": "Sets the amount of padding (in px) along the y direction.", - "dflt": 10, + "outlinecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "editType": "colorbars", + "valType": "color" + }, + "outlinewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, "editType": "colorbars", "min": 0, "valType": "number" }, - "yref": { - "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", - "dflt": "paper", + "role": "object", + "separatethousands": { + "description": "If \"true\", even 4-digit integers are separated", + "dflt": false, + "editType": "colorbars", + "valType": "boolean" + }, + "showexponent": { + "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", + "dflt": "all", "editType": "colorbars", "valType": "enumerated", "values": [ - "container", - "paper" + "all", + "first", + "last", + "none" ] - } - }, - "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `line.cmin` and `line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", - "dflt": [ - [ - 0, - "#440154" - ], - [ - 0.06274509803921569, - "#48186a" - ], - [ - 0.12549019607843137, - "#472d7b" - ], - [ - 0.18823529411764706, - "#424086" - ], - [ - 0.25098039215686274, - "#3b528b" - ], - [ - 0.3137254901960784, - "#33638d" - ], - [ - 0.3764705882352941, - "#2c728e" - ], - [ - 0.4392156862745098, - "#26828e" - ], - [ - 0.5019607843137255, - "#21918c" - ], - [ - 0.5647058823529412, - "#1fa088" - ], - [ - 0.6274509803921569, - "#28ae80" - ], - [ - 0.6901960784313725, - "#3fbc73" - ], - [ - 0.7529411764705882, - "#5ec962" - ], - [ - 0.8156862745098039, - "#84d44b" - ], - [ - 0.8784313725490196, - "#addc30" - ], - [ - 0.9411764705882353, - "#d8e219" - ], - [ - 1, - "#fde725" + }, + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "editType": "colorbars", + "valType": "boolean" + }, + "showtickprefix": { + "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", + "dflt": "all", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" ] - ], - "editType": "calc", - "impliedEdits": { - "autocolorscale": false }, - "valType": "colorscale" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "editType": "calc", - "reversescale": { - "description": "Reverses the color mapping if true. Has an effect only if in `line.color` is set to a numerical array. If true, `line.cmin` will correspond to the last color in the array and `line.cmax` will correspond to the first color.", - "dflt": false, - "editType": "plot", - "valType": "boolean" - }, - "role": "object", - "showscale": { - "description": "Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `line.color` is set to a numerical array.", - "dflt": false, - "editType": "calc", - "valType": "boolean" - } - }, - "meta": { - "arrayOk": true, - "description": "Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.", - "editType": "plot", - "valType": "any" - }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, - "name": { - "description": "Sets the trace name. The trace name appears as the legend item and on hover.", - "editType": "style", - "valType": "string" - }, - "rangefont": { - "color": { - "editType": "plot", - "valType": "color" - }, - "description": "Sets the font for the `dimension` range values.", - "editType": "plot", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "plot", - "valType": "string" - }, - "size": { - "editType": "plot", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, - "tickfont": { - "color": { - "editType": "plot", - "valType": "color" - }, - "description": "Sets the font for the `dimension` tick values.", - "editType": "plot", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "auto", - "editType": "plot", - "valType": "string" - }, - "size": { - "editType": "plot", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "type": "parcoords", - "uid": { - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", - "editType": "plot", - "valType": "string" - }, - "uirevision": { - "description": "Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.", - "editType": "none", - "valType": "any" - }, - "unselected": { - "editType": "plot", - "line": { - "color": { - "description": "Sets the base color of unselected lines. in connection with `unselected.line.opacity`.", - "dflt": "#7f7f7f", - "editType": "plot", - "valType": "color" - }, - "editType": "plot", - "opacity": { - "description": "Sets the opacity of unselected lines. The default *auto* decreases the opacity smoothly as the number of lines increases. Use *1* to achieve exact `unselected.line.color`.", - "dflt": "auto", - "editType": "plot", - "max": 1, - "min": 0, - "valType": "number" - }, - "role": "object" - }, - "role": "object" - }, - "visible": { - "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", - "dflt": true, - "editType": "calc", - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ] - } - }, - "categories": [ - "gl", - "regl", - "noOpacity", - "noHover" - ], - "meta": { - "description": "Parallel coordinates for multidimensional exploratory data analysis. The samples are specified in `dimensions`. The colors are set in `line.color`." - }, - "type": "parcoords" - }, - "pie": { - "animatable": false, - "attributes": { - "automargin": { - "description": "Determines whether outside text labels can push the margins.", - "dflt": false, - "editType": "plot", - "valType": "boolean" - }, - "customdata": { - "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", - "editType": "calc", - "valType": "data_array" - }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, - "direction": { - "description": "Specifies the direction at which succeeding sectors follow one another.", - "dflt": "counterclockwise", - "editType": "calc", - "valType": "enumerated", - "values": [ - "clockwise", - "counterclockwise" - ] - }, - "dlabel": { - "description": "Sets the label step. See `label0` for more info.", - "dflt": 1, - "editType": "calc", - "valType": "number" - }, - "domain": { - "column": { - "description": "If there is a layout grid, use the domain for this column in the grid for this pie trace .", - "dflt": 0, - "editType": "calc", - "min": 0, - "valType": "integer" - }, - "editType": "calc", - "role": "object", - "row": { - "description": "If there is a layout grid, use the domain for this row in the grid for this pie trace .", - "dflt": 0, - "editType": "calc", - "min": 0, - "valType": "integer" - }, - "x": { - "description": "Sets the horizontal domain of this pie trace (in plot fraction).", - "dflt": [ - 0, - 1 - ], - "editType": "calc", - "items": [ - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - } - ], - "valType": "info_array" - }, - "y": { - "description": "Sets the vertical domain of this pie trace (in plot fraction).", - "dflt": [ - 0, - 1 - ], - "editType": "calc", - "items": [ - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - } - ], - "valType": "info_array" - } - }, - "hole": { - "description": "Sets the fraction of the radius to cut out of the pie. Use this to make a donut chart.", - "dflt": 0, - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - "hoverinfo": { - "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", - "dflt": "all", - "editType": "none", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "label", - "text", - "value", - "percent", - "name" - ], - "valType": "flaglist" - }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, - "hoverlabel": { - "align": { - "arrayOk": true, - "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", - "dflt": "auto", - "editType": "none", - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ] - }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, - "bgcolor": { - "arrayOk": true, - "description": "Sets the background color of the hover labels for this trace", - "editType": "none", - "valType": "color" - }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, - "bordercolor": { - "arrayOk": true, - "description": "Sets the border color of the hover labels for this trace.", - "editType": "none", - "valType": "color" - }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, - "editType": "none", - "font": { - "color": { - "arrayOk": true, - "editType": "none", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used in hover labels.", - "editType": "none", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "none", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "none", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "none", - "valType": "string" - }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, - "size": { - "arrayOk": true, - "editType": "none", - "min": 1, - "valType": "number" - }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "none", + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "italic" + "all", + "first", + "last", + "none" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" + "thickness": { + "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", + "dflt": 30, + "editType": "colorbars", + "min": 0, + "valType": "number" }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "none", + "thicknessmode": { + "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", + "dflt": "pixels", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "word caps", - "upper", - "lower" + "fraction", + "pixels" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "none", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "colorbars", + "impliedEdits": { + "tickmode": "linear" + }, + "valType": "any" }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "editType": "colorbars", + "valType": "angle" }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "none", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "editType": "colorbars", + "valType": "color" }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } - }, - "namelength": { - "arrayOk": true, - "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", - "dflt": 15, - "editType": "none", - "min": -1, - "valType": "integer" - }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } - }, - "hovertemplate": { - "arrayOk": true, - "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `label`, `color`, `value`, `percent` and `text`. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "hovertemplatefallback": { - "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", - "dflt": "-", - "editType": "none", - "valType": "any" - }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, - "hovertext": { - "arrayOk": true, - "description": "Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a *text* flag.", - "dflt": "", - "editType": "style", - "valType": "string" - }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, - "ids": { - "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", - "editType": "calc", - "valType": "data_array" - }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, - "insidetextfont": { - "color": { - "arrayOk": true, - "editType": "plot", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used for `textinfo` lying inside the sector.", - "editType": "plot", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "plot", - "valType": "string" - }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, - "size": { - "arrayOk": true, - "editType": "plot", - "min": 1, - "valType": "number" - }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } - }, - "insidetextorientation": { - "description": "Controls the orientation of the text inside chart sectors. When set to *auto*, text may be oriented in any direction in order to be as big as possible in the middle of a sector. The *horizontal* option orients text to be parallel with the bottom of the chart, and may make text smaller in order to achieve that goal. The *radial* option orients text along the radius of the sector. The *tangential* option orients text perpendicular to the radius of the sector.", - "dflt": "auto", - "editType": "plot", - "valType": "enumerated", - "values": [ - "horizontal", - "radial", - "tangential", - "auto" - ] - }, - "label0": { - "description": "Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step.", - "dflt": 0, - "editType": "calc", - "valType": "number" - }, - "labels": { - "description": "Sets the sector labels. If `labels` entries are duplicated, we sum associated `values` or simply count occurrences if `values` is not provided. For other array attributes (including color) we use the first non-empty entry among all occurrences of the label.", - "editType": "calc", - "valType": "data_array" - }, - "labelssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `labels`.", - "editType": "none", - "valType": "string" - }, - "legend": { - "arrayOk": true, - "description": "Sets the reference to a legend to show the pie slices in. Can be an array if `values` is set. In that case, each entry specifies the legend reference for one slice. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", - "dflt": "legend", - "editType": "style", - "valType": "subplotid" - }, - "legendgroup": { - "description": "Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.", - "dflt": "", - "editType": "style", - "valType": "string" - }, - "legendgrouptitle": { - "editType": "style", - "font": { - "color": { - "editType": "style", - "valType": "color" - }, - "description": "Sets this legend group's title font.", - "editType": "style", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "style", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "style", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" + "tickfont": { + "color": { + "editType": "colorbars", + "valType": "color" + }, + "description": "Sets the color bar's tick label font", + "editType": "colorbars", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "colorbars", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, + "size": { + "editType": "colorbars", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "colorbars", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "style", + "tickformat": { + "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", + "dflt": "", + "editType": "colorbars", "valType": "string" }, - "size": { - "editType": "style", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "style", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] + "tickformatstops": { + "items": { + "tickformatstop": { + "dtickrange": { + "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", + "editType": "colorbars", + "items": [ + { + "editType": "colorbars", + "valType": "any" + }, + { + "editType": "colorbars", + "valType": "any" + } + ], + "valType": "info_array" + }, + "editType": "colorbars", + "enabled": { + "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", + "dflt": true, + "editType": "colorbars", + "valType": "boolean" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "colorbars", + "valType": "string" + }, + "role": "object", + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "colorbars", + "valType": "string" + }, + "value": { + "description": "string - dtickformat for described zoom level, the same as *tickformat*", + "dflt": "", + "editType": "colorbars", + "valType": "string" + } + } + }, + "role": "object" }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "style", + "ticklabeloverflow": { + "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "word caps", - "upper", - "lower" + "allow", + "hide past div", + "hide past domain" ] }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "style", + "ticklabelposition": { + "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", + "dflt": "outside", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom" ] }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "style", - "extras": [ - "normal", - "bold" - ], - "max": 1000, + "ticklabelstep": { + "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", + "dflt": 1, + "editType": "colorbars", "min": 1, "valType": "integer" - } - }, - "role": "object", - "text": { - "description": "Sets the title of the legend group.", - "dflt": "", - "editType": "style", - "valType": "string" - } - }, - "legendrank": { - "arrayOk": true, - "description": "Sets the legend rank for this pie. If passed as an array, this will set the legend rank of the individual pie slices. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", - "dflt": 1000, - "editType": "style", - "valType": "number" - }, - "legendranksrc": { - "description": "Sets the source reference on Chart Studio Cloud for `legendrank`.", - "editType": "none", - "valType": "string" - }, - "legendsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `legend`.", - "editType": "none", - "valType": "string" - }, - "legendwidth": { - "description": "Sets the width (in px or fraction) of the legend for this trace.", - "editType": "style", - "min": 0, - "valType": "number" - }, - "marker": { - "colors": { - "description": "Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors.", - "editType": "calc", - "valType": "data_array" - }, - "colorssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `colors`.", - "editType": "none", - "valType": "string" - }, - "editType": "calc", - "line": { - "color": { - "arrayOk": true, - "description": "Sets the color of the line enclosing each sector.", - "dflt": "#444", - "editType": "style", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" }, - "editType": "calc", - "role": "object", - "width": { - "arrayOk": true, - "description": "Sets the width (in px) of the line enclosing each sector.", - "dflt": 0, - "editType": "style", + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, + "editType": "colorbars", "min": 0, "valType": "number" }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" - } - }, - "pattern": { - "bgcolor": { - "arrayOk": true, - "description": "When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is *overlay*. Otherwise, defaults to a transparent background.", - "editType": "style", - "valType": "color" + "tickmode": { + "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", + "editType": "colorbars", + "impliedEdits": {}, + "valType": "enumerated", + "values": [ + "auto", + "linear", + "array" + ] }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", + "editType": "colorbars", "valType": "string" }, - "description": "Sets the pattern within the marker.", - "editType": "style", - "fgcolor": { - "arrayOk": true, - "description": "When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is *replace*. Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.", - "editType": "style", - "valType": "color" + "ticks": { + "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", + "dflt": "", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "" + ] }, - "fgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `fgcolor`.", - "editType": "none", + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "editType": "colorbars", "valType": "string" }, - "fgopacity": { - "description": "Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.", - "editType": "style", - "max": 1, + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", + "editType": "colorbars", + "valType": "data_array" + }, + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "editType": "colorbars", + "valType": "data_array" + }, + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "editType": "colorbars", "min": 0, "valType": "number" }, - "fillmode": { - "description": "Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.", - "dflt": "replace", - "editType": "style", + "title": { + "editType": "colorbars", + "font": { + "color": { + "editType": "colorbars", + "valType": "color" + }, + "description": "Sets this color bar's title font.", + "editType": "colorbars", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "colorbars", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, + "size": { + "editType": "colorbars", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "colorbars", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "role": "object", + "side": { + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "right", + "top", + "bottom" + ] + }, + "text": { + "description": "Sets the title of the color bar.", + "editType": "colorbars", + "valType": "string" + } + }, + "x": { + "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", + "editType": "colorbars", + "valType": "number" + }, + "xanchor": { + "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", + "editType": "colorbars", "valType": "enumerated", "values": [ - "replace", - "overlay" + "left", + "center", + "right" ] }, - "path": { - "arrayOk": true, - "description": "Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.", - "editType": "style", - "valType": "string" - }, - "pathsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `path`.", - "editType": "none", - "valType": "string" + "xpad": { + "description": "Sets the amount of padding (in px) along the x direction.", + "dflt": 10, + "editType": "colorbars", + "min": 0, + "valType": "number" }, - "role": "object", - "shape": { - "arrayOk": true, - "description": "Sets the shape of the pattern fill. By default, no pattern is used for filling the area.", - "dflt": "", - "editType": "style", + "xref": { + "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", + "dflt": "paper", + "editType": "colorbars", "valType": "enumerated", "values": [ - "", - "/", - "\\", - "x", - "-", - "|", - "+", - "." + "container", + "paper" ] }, - "shapesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shape`.", - "editType": "none", - "valType": "string" + "y": { + "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", + "editType": "colorbars", + "valType": "number" }, - "size": { - "arrayOk": true, - "description": "Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.", - "dflt": 8, - "editType": "style", + "yanchor": { + "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "ypad": { + "description": "Sets the amount of padding (in px) along the y direction.", + "dflt": 10, + "editType": "colorbars", "min": 0, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" + "yref": { + "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", + "dflt": "paper", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "container", + "paper" + ] + } + }, + "colorscale": { + "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "dflt": null, + "editType": "calc", + "impliedEdits": { + "autocolorscale": false }, - "solidity": { - "arrayOk": true, - "description": "Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.", - "dflt": 0.3, + "valType": "colorscale" + }, + "editType": "calc", + "line": { + "dash": { + "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", + "dflt": "solid", + "editType": "style", + "valType": "string", + "values": [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" + ] + }, + "editType": "style", + "role": "object", + "width": { + "description": "Sets the width (in px) of the arrow lines.", + "dflt": 2, "editType": "style", - "max": 1, "min": 0, "valType": "number" - }, - "soliditysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `solidity`.", - "editType": "none", - "valType": "string" } }, - "role": "object" + "reversescale": { + "description": "Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.", + "dflt": false, + "editType": "plot", + "valType": "boolean" + }, + "role": "object", + "showscale": { + "description": "Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.", + "dflt": true, + "editType": "calc", + "valType": "boolean" + } }, "meta": { "arrayOk": true, @@ -56961,11 +50906,6 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", @@ -56979,37 +50919,94 @@ "min": 0, "valType": "number" }, - "outsidetextfont": { + "selected": { + "editType": "style", + "marker": { + "color": { + "description": "Sets the marker color of selected points.", + "editType": "style", + "valType": "color" + }, + "editType": "style", + "line": { + "editType": "style", + "role": "object", + "width": { + "description": "Sets the line width of selected points.", + "editType": "style", + "min": 0, + "valType": "number" + } + }, + "role": "object" + }, + "role": "object", + "textfont": { + "color": { + "description": "Sets the text font color of selected points, applied only when a selection exists.", + "editType": "style", + "valType": "color" + }, + "editType": "style", + "role": "object" + } + }, + "selectedpoints": { + "description": "Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.", + "editType": "calc", + "valType": "any" + }, + "showlegend": { + "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", + "dflt": true, + "editType": "style", + "valType": "boolean" + }, + "sizemode": { + "description": "Determines whether arrows are drawn according to their raw lengths, or scaled based on the maximum vector length and point density. Note: When `anglemode` is *data* arrows are alwyas scaled and `sizemode` *raw* is ignored.", + "dflt": "scaled", + "editType": "calc", + "valType": "enumerated", + "values": [ + "scaled", + "raw" + ] + }, + "sizeref": { + "description": "Adjusts the arrow size scaling. The arrow length is determined by the vector norm multiplied by `sizeref`, optionally normalized when `sizemode` is *scaled* (`sizeref` is applied after scaling).", + "dflt": 1, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "text": { + "arrayOk": true, + "description": "Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", + "dflt": "", + "editType": "calc", + "valType": "string" + }, + "textfont": { "color": { "arrayOk": true, - "editType": "plot", + "editType": "style", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used for `textinfo` lying outside the sector.", - "editType": "plot", + "description": "Sets the text font.", + "editType": "calc", "family": { "arrayOk": true, "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "plot", + "editType": "calc", "noBlank": true, "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", - "editType": "plot", + "editType": "calc", "extras": [ "none" ], @@ -57020,56 +51017,36 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", - "editType": "plot", - "valType": "string" - }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", + "editType": "calc", "valType": "string" }, "size": { "arrayOk": true, - "editType": "plot", + "editType": "calc", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", - "editType": "plot", + "editType": "calc", "valType": "enumerated", "values": [ "normal", "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", - "editType": "plot", + "editType": "calc", "valType": "enumerated", "values": [ "normal", @@ -57078,16 +51055,11 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", "dflt": "normal", - "editType": "plot", + "editType": "calc", "valType": "enumerated", "values": [ "normal", @@ -57098,16 +51070,11 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", - "editType": "plot", + "editType": "calc", "extras": [ "normal", "bold" @@ -57115,464 +51082,91 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, - "pull": { + "textposition": { "arrayOk": true, - "description": "Sets the fraction of larger radius to pull the sectors out from the center. This can be a constant to pull all slices apart from each other equally or an array to highlight one or more slices.", - "dflt": 0, + "description": "Sets the positions of the `text` elements with respects to the (x,y) coordinates.", + "dflt": "middle center", "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - "pullsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `pull`.", - "editType": "none", - "valType": "string" + "valType": "enumerated", + "values": [ + "top left", + "top center", + "top right", + "middle left", + "middle center", + "middle right", + "bottom left", + "bottom center", + "bottom right" + ] }, - "rotation": { - "description": "Instead of the first slice starting at 12 o'clock, rotate to some other angle.", - "dflt": 0, + "type": "quiver", + "u": { + "anim": true, + "description": "Sets the x components of the arrow vectors.", "editType": "calc", - "valType": "angle" + "valType": "data_array" }, - "scalegroup": { - "description": "If there are multiple pie charts that should be sized according to their totals, link them by providing a non-empty group id here shared by every trace in the same group.", + "uhoverformat": { + "description": "Sets the hover text formatting rule for `u` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.", "dflt": "", - "editType": "calc", + "editType": "none", "valType": "string" }, - "showlegend": { - "arrayOk": true, - "description": "Determines whether or not items corresponding to the pie slices are shown in the legend. Can be an array if `values` is set. In that case, each entry specifies appearance in the legend for one slice.", - "dflt": true, - "editType": "style", - "valType": "boolean" - }, - "showlegendsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `showlegend`.", - "editType": "none", + "uid": { + "anim": true, + "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", + "editType": "plot", "valType": "string" }, - "sort": { - "description": "Determines whether or not the sectors are reordered from largest to smallest.", - "dflt": true, - "editType": "calc", - "valType": "boolean" + "uirevision": { + "description": "Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.", + "editType": "none", + "valType": "any" }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" + "unselected": { + "editType": "style", + "marker": { + "color": { + "description": "Sets the marker color of unselected points, applied only when a selection exists.", + "editType": "style", + "valType": "color" + }, + "editType": "style", + "line": { + "editType": "style", + "role": "object", + "width": { + "description": "Sets the line width of unselected points, applied only when a selection exists.", + "editType": "style", + "min": 0, + "valType": "number" + } + }, + "role": "object" }, "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" + "textfont": { + "color": { + "description": "Sets the text font color of unselected points, applied only when a selection exists.", + "editType": "style", + "valType": "color" + }, + "editType": "style", + "role": "object" } }, - "text": { - "description": "Sets text elements associated with each sector. If trace `textinfo` contains a *text* flag, these elements will be seen on the chart. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", - "editType": "plot", + "v": { + "anim": true, + "description": "Sets the y components of the arrow vectors.", + "editType": "calc", "valType": "data_array" }, - "textfont": { - "color": { - "arrayOk": true, - "editType": "plot", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used for `textinfo`.", - "editType": "plot", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "plot", - "valType": "string" - }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, - "size": { - "arrayOk": true, - "editType": "plot", - "min": 1, - "valType": "number" - }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } - }, - "textinfo": { - "description": "Determines which trace information appear on the graph.", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "label", - "text", - "value", - "percent" - ], - "valType": "flaglist" - }, - "textposition": { - "arrayOk": true, - "description": "Specifies the location of the `textinfo`.", - "dflt": "auto", - "editType": "plot", - "valType": "enumerated", - "values": [ - "inside", - "outside", - "auto", - "none" - ] - }, - "textpositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textposition`.", - "editType": "none", - "valType": "string" - }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, - "texttemplate": { - "arrayOk": true, - "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `label`, `color`, `value`, `percent` and `text`.", + "vhoverformat": { + "description": "Sets the hover text formatting rule for `v` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.", "dflt": "", - "editType": "plot", - "valType": "string" - }, - "texttemplatefallback": { - "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", - "dflt": "-", - "editType": "plot", - "valType": "any" - }, - "texttemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `texttemplate`.", - "editType": "none", - "valType": "string" - }, - "title": { - "editType": "plot", - "font": { - "color": { - "arrayOk": true, - "editType": "plot", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used for `title`.", - "editType": "plot", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "plot", - "valType": "string" - }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, - "size": { - "arrayOk": true, - "editType": "plot", - "min": 1, - "valType": "number" - }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } - }, - "position": { - "description": "Specifies the location of the `title`.", - "editType": "plot", - "valType": "enumerated", - "values": [ - "top left", - "top center", - "top right", - "middle center", - "bottom left", - "bottom center", - "bottom right" - ] - }, - "role": "object", - "text": { - "description": "Sets the title of the chart. If it is empty, no title is displayed.", - "dflt": "", - "editType": "plot", - "valType": "string" - } - }, - "type": "pie", - "uid": { - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", - "editType": "plot", - "valType": "string" - }, - "uirevision": { - "description": "Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.", - "editType": "none", - "valType": "any" - }, - "values": { - "description": "Sets the values of the sectors. If omitted, we count occurrences of each label.", - "editType": "calc", - "valType": "data_array" - }, - "valuessrc": { - "description": "Sets the source reference on Chart Studio Cloud for `values`.", "editType": "none", "valType": "string" }, @@ -57586,40 +51180,69 @@ false, "legendonly" ] - } - }, - "categories": [ - "pie-like", - "pie", - "showLegend" - ], - "layoutAttributes": { - "extendpiecolors": { - "description": "If `true`, the pie slice colors (whether given by `piecolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.", - "dflt": true, - "editType": "calc", - "valType": "boolean" }, - "hiddenlabels": { - "description": "hiddenlabels is the funnelarea & pie chart analog of visible:'legendonly' but it can contain many labels, and can simultaneously hide slices from several pies/funnelarea charts", - "editType": "calc", + "x": { + "anim": true, + "description": "Sets the x coordinates of the arrow locations.", + "editType": "calc+clearAxisTypes", "valType": "data_array" }, - "hiddenlabelssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hiddenlabels`.", + "x0": { + "anim": true, + "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.", + "dflt": 0, + "editType": "calc+clearAxisTypes", + "valType": "any" + }, + "xaxis": { + "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", + "dflt": "x", + "editType": "calc+clearAxisTypes", + "valType": "subplotid" + }, + "xhoverformat": { + "description": "Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", + "dflt": "", "editType": "none", "valType": "string" }, - "piecolorway": { - "description": "Sets the default pie slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendpiecolors`.", - "editType": "calc", - "valType": "colorlist" + "y": { + "anim": true, + "description": "Sets the y coordinates of the arrow locations.", + "editType": "calc+clearAxisTypes", + "valType": "data_array" + }, + "y0": { + "anim": true, + "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.", + "dflt": 0, + "editType": "calc+clearAxisTypes", + "valType": "any" + }, + "yaxis": { + "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.", + "dflt": "y", + "editType": "calc+clearAxisTypes", + "valType": "subplotid" + }, + "yhoverformat": { + "description": "Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", + "dflt": "", + "editType": "none", + "valType": "string" } }, + "categories": [ + "cartesian", + "svg", + "showLegend", + "scatter-like", + "zoomScale" + ], "meta": { - "description": "A data visualized by the sectors of the pie is set in `values`. The sector labels are set in `labels`. The sector colors are set in `marker.colors`" + "description": "The quiver trace type visualizes vector fields using arrows. Specify a vector field using 4 1D arrays: 2 position arrays `x`, `y` and 2 vector component arrays `u`, `v`. The arrows are drawn exactly at the positions given by `x` and `y`. Arrow length and direction are determined by `u` and `v` components." }, - "type": "pie" + "type": "quiver" }, "sankey": { "animatable": false, @@ -57641,14 +51264,9 @@ "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, "domain": { "column": { - "description": "If there is a layout grid, use the domain for this column in the grid for this sankey trace .", + "description": "If there is a layout grid, use the domain for this column in the grid for this sankey trace.", "dflt": 0, "editType": "calc", "min": 0, @@ -57657,7 +51275,7 @@ "editType": "calc", "role": "object", "row": { - "description": "If there is a layout grid, use the domain for this row in the grid for this sankey trace .", + "description": "If there is a layout grid, use the domain for this row in the grid for this sankey trace.", "dflt": 0, "editType": "calc", "min": 0, @@ -57712,7 +51330,7 @@ }, "hoverinfo": { "arrayOk": false, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. Note that this attribute is superseded by `node.hoverinfo` and `node.hoverinfo` for nodes and links respectively.", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. Note that this attribute is superseded by `node.hoverinfo` and `node.hoverinfo` for nodes and links respectively.", "dflt": "all", "editType": "calc", "extras": [ @@ -57736,33 +51354,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "calc", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "calc", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "font": { "color": { @@ -57770,11 +51373,6 @@ "editType": "calc", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "calc", "family": { @@ -57785,11 +51383,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -57805,11 +51398,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -57818,22 +51406,12 @@ "editType": "calc", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "calc", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -57845,11 +51423,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -57863,11 +51436,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -57883,11 +51451,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -57900,11 +51463,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -57915,11 +51473,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -57933,11 +51486,6 @@ "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", @@ -58085,7 +51633,7 @@ "valType": "number" }, "colorscale": { - "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": [ [ 0, @@ -58124,21 +51672,11 @@ }, "role": "object" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "customdata": { "description": "Assigns extra data to each link.", "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, "description": "The links of the Sankey plot.", "editType": "calc", "hovercolor": { @@ -58147,13 +51685,8 @@ "editType": "calc", "valType": "color" }, - "hovercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovercolor`.", - "editType": "none", - "valType": "string" - }, "hoverinfo": { - "description": "Determines which trace information appear when hovering links. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears when hovering links. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", "dflt": "all", "editType": "calc", "valType": "enumerated", @@ -58176,33 +51709,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "calc", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "calc", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "font": { "color": { @@ -58210,11 +51728,6 @@ "editType": "calc", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "calc", "family": { @@ -58225,11 +51738,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -58240,3071 +51748,160 @@ ], "flags": [ "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "calc", - "valType": "string" - }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, - "size": { - "arrayOk": true, - "editType": "calc", - "min": 1, - "valType": "number" - }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } - }, - "namelength": { - "arrayOk": true, - "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", - "dflt": 15, - "editType": "calc", - "min": -1, - "valType": "integer" - }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "calc", - "valType": "boolean" - } - }, - "hovertemplate": { - "arrayOk": true, - "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `value` and `label`. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "hovertemplatefallback": { - "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", - "dflt": "-", - "editType": "calc", - "valType": "any" - }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, - "label": { - "description": "The shown name of the link.", - "dflt": [], - "editType": "calc", - "valType": "data_array" - }, - "labelsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `label`.", - "editType": "none", - "valType": "string" - }, - "line": { - "color": { - "arrayOk": true, - "description": "Sets the color of the `line` around each `link`.", - "dflt": "#444", - "editType": "calc", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "editType": "calc", - "role": "object", - "width": { - "arrayOk": true, - "description": "Sets the width (in px) of the `line` around each `link`.", - "dflt": 0, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" - } - }, - "role": "object", - "source": { - "description": "An integer number `[0..nodes.length - 1]` that represents the source node.", - "dflt": [], - "editType": "calc", - "valType": "data_array" - }, - "sourcesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `source`.", - "editType": "none", - "valType": "string" - }, - "target": { - "description": "An integer number `[0..nodes.length - 1]` that represents the target node.", - "dflt": [], - "editType": "calc", - "valType": "data_array" - }, - "targetsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `target`.", - "editType": "none", - "valType": "string" - }, - "value": { - "description": "A numeric value representing the flow volume value.", - "dflt": [], - "editType": "calc", - "valType": "data_array" - }, - "valuesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `value`.", - "editType": "none", - "valType": "string" - } - }, - "meta": { - "arrayOk": true, - "description": "Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.", - "editType": "plot", - "valType": "any" - }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, - "name": { - "description": "Sets the trace name. The trace name appears as the legend item and on hover.", - "editType": "style", - "valType": "string" - }, - "node": { - "align": { - "description": "Sets the alignment method used to position the nodes along the horizontal axis.", - "dflt": "justify", - "editType": "calc", - "valType": "enumerated", - "values": [ - "justify", - "left", - "right", - "center" - ] - }, - "color": { - "arrayOk": true, - "description": "Sets the `node` color. It can be a single value, or an array for specifying color for each `node`. If `node.color` is omitted, then the default `Plotly` color palette will be cycled through to have a variety of colors. These defaults are not fully opaque, to allow some visibility of what is beneath the node.", - "editType": "calc", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "customdata": { - "description": "Assigns extra data to each node.", - "editType": "calc", - "valType": "data_array" - }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, - "description": "The nodes of the Sankey plot.", - "editType": "calc", - "groups": { - "description": "Groups of nodes. Each group is defined by an array with the indices of the nodes it contains. Multiple groups can be specified.", - "dflt": [], - "dimensions": 2, - "editType": "calc", - "freeLength": true, - "impliedEdits": { - "x": [], - "y": [] - }, - "items": { - "editType": "calc", - "valType": "number" - }, - "valType": "info_array" - }, - "hoverinfo": { - "description": "Determines which trace information appear when hovering nodes. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", - "dflt": "all", - "editType": "calc", - "valType": "enumerated", - "values": [ - "all", - "none", - "skip" - ] - }, - "hoverlabel": { - "align": { - "arrayOk": true, - "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", - "dflt": "auto", - "editType": "calc", - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ] - }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, - "bgcolor": { - "arrayOk": true, - "description": "Sets the background color of the hover labels for this trace", - "editType": "calc", - "valType": "color" - }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, - "bordercolor": { - "arrayOk": true, - "description": "Sets the border color of the hover labels for this trace.", - "editType": "calc", - "valType": "color" - }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, - "editType": "calc", - "font": { - "color": { - "arrayOk": true, - "editType": "calc", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used in hover labels.", - "editType": "calc", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "calc", - "valType": "string" - }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, - "size": { - "arrayOk": true, - "editType": "calc", - "min": 1, - "valType": "number" - }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } - }, - "namelength": { - "arrayOk": true, - "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", - "dflt": 15, - "editType": "calc", - "min": -1, - "valType": "integer" - }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "calc", - "valType": "boolean" - } - }, - "hovertemplate": { - "arrayOk": true, - "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `value` and `label`. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "hovertemplatefallback": { - "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", - "dflt": "-", - "editType": "calc", - "valType": "any" - }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, - "label": { - "description": "The shown name of the node.", - "dflt": [], - "editType": "calc", - "valType": "data_array" - }, - "labelsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `label`.", - "editType": "none", - "valType": "string" - }, - "line": { - "color": { - "arrayOk": true, - "description": "Sets the color of the `line` around each `node`.", - "dflt": "#444", - "editType": "calc", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "editType": "calc", - "role": "object", - "width": { - "arrayOk": true, - "description": "Sets the width (in px) of the `line` around each `node`.", - "dflt": 0.5, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" - } - }, - "pad": { - "arrayOk": false, - "description": "Sets the padding (in px) between the `nodes`.", - "dflt": 20, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "role": "object", - "thickness": { - "arrayOk": false, - "description": "Sets the thickness (in px) of the `nodes`.", - "dflt": 20, - "editType": "calc", - "min": 1, - "valType": "number" - }, - "x": { - "description": "The normalized horizontal position of the node.", - "dflt": [], - "editType": "calc", - "valType": "data_array" - }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", - "editType": "none", - "valType": "string" - }, - "y": { - "description": "The normalized vertical position of the node.", - "dflt": [], - "editType": "calc", - "valType": "data_array" - }, - "ysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `y`.", - "editType": "none", - "valType": "string" - } - }, - "orientation": { - "description": "Sets the orientation of the Sankey diagram.", - "dflt": "h", - "editType": "calc", - "valType": "enumerated", - "values": [ - "v", - "h" - ] - }, - "selectedpoints": { - "description": "Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.", - "editType": "calc", - "valType": "any" - }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, - "textfont": { - "color": { - "editType": "calc", - "valType": "color" - }, - "description": "Sets the font for node labels", - "editType": "calc", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "auto", - "editType": "calc", - "valType": "string" - }, - "size": { - "editType": "calc", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "type": "sankey", - "uid": { - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", - "editType": "plot", - "valType": "string" - }, - "uirevision": { - "description": "Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.", - "editType": "none", - "valType": "any" - }, - "valueformat": { - "description": "Sets the value formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.", - "dflt": ".3s", - "editType": "calc", - "valType": "string" - }, - "valuesuffix": { - "description": "Adds a unit to follow the value in the hover tooltip. Add a space if a separation is necessary from the value.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "visible": { - "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", - "dflt": true, - "editType": "calc", - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ] - } - }, - "categories": [ - "noOpacity" - ], - "meta": { - "description": "Sankey plots for network flow data analysis. The nodes are specified in `nodes` and the links between sources and targets in `links`. The colors are set in `nodes[i].color` and `links[i].color`, otherwise defaults are used." - }, - "type": "sankey" - }, - "scatter": { - "animatable": true, - "attributes": { - "alignmentgroup": { - "description": "Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "cliponaxis": { - "description": "Determines whether or not markers and text nodes are clipped about the subplot axes. To show markers and text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to *below traces*.", - "dflt": true, - "editType": "plot", - "valType": "boolean" - }, - "connectgaps": { - "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.", - "dflt": false, - "editType": "calc", - "valType": "boolean" - }, - "customdata": { - "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", - "editType": "calc", - "valType": "data_array" - }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, - "dx": { - "anim": true, - "description": "Sets the x coordinate step. See `x0` for more info.", - "dflt": 1, - "editType": "calc", - "valType": "number" - }, - "dy": { - "anim": true, - "description": "Sets the y coordinate step. See `y0` for more info.", - "dflt": 1, - "editType": "calc", - "valType": "number" - }, - "error_x": { - "array": { - "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", - "editType": "calc", - "valType": "data_array" - }, - "arrayminus": { - "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", - "editType": "calc", - "valType": "data_array" - }, - "arrayminussrc": { - "description": "Sets the source reference on Chart Studio Cloud for `arrayminus`.", - "editType": "none", - "valType": "string" - }, - "arraysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `array`.", - "editType": "none", - "valType": "string" - }, - "color": { - "description": "Sets the stroke color of the error bars.", - "editType": "style", - "valType": "color" - }, - "copy_ystyle": { - "editType": "plot", - "valType": "boolean" - }, - "editType": "calc", - "role": "object", - "symmetric": { - "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", - "editType": "calc", - "valType": "boolean" - }, - "thickness": { - "description": "Sets the thickness (in px) of the error bars.", - "dflt": 2, - "editType": "style", - "min": 0, - "valType": "number" - }, - "traceref": { - "dflt": 0, - "editType": "style", - "min": 0, - "valType": "integer" - }, - "tracerefminus": { - "dflt": 0, - "editType": "style", - "min": 0, - "valType": "integer" - }, - "type": { - "description": "Determines the rule used to generate the error bars. If *constant*, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.", - "editType": "calc", - "valType": "enumerated", - "values": [ - "percent", - "constant", - "sqrt", - "data" - ] - }, - "value": { - "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", - "dflt": 10, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "valueminus": { - "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", - "dflt": 10, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "visible": { - "description": "Determines whether or not this set of error bars is visible.", - "editType": "calc", - "valType": "boolean" - }, - "width": { - "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", - "editType": "plot", - "min": 0, - "valType": "number" - } - }, - "error_y": { - "array": { - "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", - "editType": "calc", - "valType": "data_array" - }, - "arrayminus": { - "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", - "editType": "calc", - "valType": "data_array" - }, - "arrayminussrc": { - "description": "Sets the source reference on Chart Studio Cloud for `arrayminus`.", - "editType": "none", - "valType": "string" - }, - "arraysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `array`.", - "editType": "none", - "valType": "string" - }, - "color": { - "description": "Sets the stroke color of the error bars.", - "editType": "style", - "valType": "color" - }, - "editType": "calc", - "role": "object", - "symmetric": { - "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", - "editType": "calc", - "valType": "boolean" - }, - "thickness": { - "description": "Sets the thickness (in px) of the error bars.", - "dflt": 2, - "editType": "style", - "min": 0, - "valType": "number" - }, - "traceref": { - "dflt": 0, - "editType": "style", - "min": 0, - "valType": "integer" - }, - "tracerefminus": { - "dflt": 0, - "editType": "style", - "min": 0, - "valType": "integer" - }, - "type": { - "description": "Determines the rule used to generate the error bars. If *constant*, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.", - "editType": "calc", - "valType": "enumerated", - "values": [ - "percent", - "constant", - "sqrt", - "data" - ] - }, - "value": { - "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", - "dflt": 10, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "valueminus": { - "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", - "dflt": 10, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "visible": { - "description": "Determines whether or not this set of error bars is visible.", - "editType": "calc", - "valType": "boolean" - }, - "width": { - "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", - "editType": "plot", - "min": 0, - "valType": "number" - } - }, - "fill": { - "description": "Sets the area to fill with a solid color. Defaults to *none* unless this trace is stacked, then it gets *tonexty* (*tonextx*) if `orientation` is *v* (*h*) Use with `fillcolor` if not *none*. *tozerox* and *tozeroy* fill to x=0 and y=0 respectively. *tonextx* and *tonexty* fill between the endpoints of this trace and the endpoints of the trace before it, connecting those endpoints with straight lines (to make a stacked area graph); if there is no trace before it, they behave like *tozerox* and *tozeroy*. *toself* connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. *tonext* fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like *toself* if there is no trace before it. *tonext* should not be used if one trace does not enclose the other. Traces in a `stackgroup` will only fill to (or be filled to) other traces in the same group. With multiple `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order.", - "editType": "calc", - "valType": "enumerated", - "values": [ - "none", - "tozeroy", - "tozerox", - "tonexty", - "tonextx", - "toself", - "tonext" - ] - }, - "fillcolor": { - "anim": true, - "description": "Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available. If fillgradient is specified, fillcolor is ignored except for setting the background color of the hover label, if any.", - "editType": "style", - "valType": "color" - }, - "fillgradient": { - "colorscale": { - "description": "Sets the fill gradient colors as a color scale. The color scale is interpreted as a gradient applied in the direction specified by *orientation*, from the lowest to the highest value of the scatter plot along that axis, or from the center to the most distant point from it, if orientation is *radial*.", - "editType": "style", - "valType": "colorscale" - }, - "description": "Sets a fill gradient. If not specified, the fillcolor is used instead.", - "editType": "calc", - "role": "object", - "start": { - "description": "Sets the gradient start value. It is given as the absolute position on the axis determined by the orientiation. E.g., if orientation is *horizontal*, the gradient will be horizontal and start from the x-position given by start. If omitted, the gradient starts at the lowest value of the trace along the respective axis. Ignored if orientation is *radial*.", - "editType": "calc", - "valType": "number" - }, - "stop": { - "description": "Sets the gradient end value. It is given as the absolute position on the axis determined by the orientiation. E.g., if orientation is *horizontal*, the gradient will be horizontal and end at the x-position given by end. If omitted, the gradient ends at the highest value of the trace along the respective axis. Ignored if orientation is *radial*.", - "editType": "calc", - "valType": "number" - }, - "type": { - "description": "Sets the type/orientation of the color gradient for the fill. Defaults to *none*.", - "dflt": "none", - "editType": "calc", - "valType": "enumerated", - "values": [ - "radial", - "horizontal", - "vertical", - "none" - ] - } - }, - "fillpattern": { - "bgcolor": { - "arrayOk": true, - "description": "When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is *overlay*. Otherwise, defaults to a transparent background.", - "editType": "style", - "valType": "color" - }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the pattern within the marker.", - "editType": "style", - "fgcolor": { - "arrayOk": true, - "description": "When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is *replace*. Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.", - "editType": "style", - "valType": "color" - }, - "fgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `fgcolor`.", - "editType": "none", - "valType": "string" - }, - "fgopacity": { - "description": "Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.", - "editType": "style", - "max": 1, - "min": 0, - "valType": "number" - }, - "fillmode": { - "description": "Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.", - "dflt": "replace", - "editType": "style", - "valType": "enumerated", - "values": [ - "replace", - "overlay" - ] - }, - "path": { - "arrayOk": true, - "description": "Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.", - "editType": "style", - "valType": "string" - }, - "pathsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `path`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "shape": { - "arrayOk": true, - "description": "Sets the shape of the pattern fill. By default, no pattern is used for filling the area.", - "dflt": "", - "editType": "style", - "valType": "enumerated", - "values": [ - "", - "/", - "\\", - "x", - "-", - "|", - "+", - "." - ] - }, - "shapesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shape`.", - "editType": "none", - "valType": "string" - }, - "size": { - "arrayOk": true, - "description": "Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.", - "dflt": 8, - "editType": "style", - "min": 0, - "valType": "number" - }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, - "solidity": { - "arrayOk": true, - "description": "Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.", - "dflt": 0.3, - "editType": "style", - "max": 1, - "min": 0, - "valType": "number" - }, - "soliditysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `solidity`.", - "editType": "none", - "valType": "string" - } - }, - "groupnorm": { - "description": "Only relevant when `stackgroup` is used, and only the first `groupnorm` found in the `stackgroup` will be used - including if `visible` is *legendonly* but not if it is `false`. Sets the normalization for the sum of this `stackgroup`. With *fraction*, the value of each trace at each location is divided by the sum of all trace values at that location. *percent* is the same but multiplied by 100 to show percentages. If there are multiple subplots, or multiple `stackgroup`s on one subplot, each will be normalized within its own set.", - "dflt": "", - "editType": "calc", - "valType": "enumerated", - "values": [ - "", - "fraction", - "percent" - ] - }, - "hoverinfo": { - "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", - "dflt": "all", - "editType": "none", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "valType": "flaglist" - }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, - "hoverlabel": { - "align": { - "arrayOk": true, - "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", - "dflt": "auto", - "editType": "none", - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ] - }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, - "bgcolor": { - "arrayOk": true, - "description": "Sets the background color of the hover labels for this trace", - "editType": "none", - "valType": "color" - }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, - "bordercolor": { - "arrayOk": true, - "description": "Sets the border color of the hover labels for this trace.", - "editType": "none", - "valType": "color" - }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, - "editType": "none", - "font": { - "color": { - "arrayOk": true, - "editType": "none", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used in hover labels.", - "editType": "none", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "none", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "none", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "none", - "valType": "string" - }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, - "size": { - "arrayOk": true, - "editType": "none", - "min": 1, - "valType": "number" - }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "none", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "none", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "none", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "none", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } - }, - "namelength": { - "arrayOk": true, - "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", - "dflt": 15, - "editType": "none", - "min": -1, - "valType": "integer" - }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } - }, - "hoveron": { - "description": "Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is *toself* or *tonext* and there are no markers or text, then the default is *fills*, otherwise it is *points*.", - "editType": "style", - "flags": [ - "points", - "fills" - ], - "valType": "flaglist" - }, - "hovertemplate": { - "arrayOk": true, - "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "hovertemplatefallback": { - "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", - "dflt": "-", - "editType": "none", - "valType": "any" - }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, - "hovertext": { - "arrayOk": true, - "description": "Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.", - "dflt": "", - "editType": "style", - "valType": "string" - }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, - "ids": { - "anim": true, - "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", - "editType": "calc", - "valType": "data_array" - }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, - "legend": { - "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", - "dflt": "legend", - "editType": "style", - "valType": "subplotid" - }, - "legendgroup": { - "description": "Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.", - "dflt": "", - "editType": "style", - "valType": "string" - }, - "legendgrouptitle": { - "editType": "style", - "font": { - "color": { - "editType": "style", - "valType": "color" - }, - "description": "Sets this legend group's title font.", - "editType": "style", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "style", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "style", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "style", - "valType": "string" - }, - "size": { - "editType": "style", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "style", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "style", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "style", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "style", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "role": "object", - "text": { - "description": "Sets the title of the legend group.", - "dflt": "", - "editType": "style", - "valType": "string" - } - }, - "legendrank": { - "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", - "dflt": 1000, - "editType": "style", - "valType": "number" - }, - "legendwidth": { - "description": "Sets the width (in px or fraction) of the legend for this trace.", - "editType": "style", - "min": 0, - "valType": "number" - }, - "line": { - "backoff": { - "arrayOk": true, - "description": "Sets the line back off from the end point of the nth line segment (in px). This option is useful e.g. to avoid overlap with arrowhead markers. With *auto* the lines would trim before markers if `marker.angleref` is set to *previous*.", - "dflt": "auto", - "editType": "plot", - "min": 0, - "valType": "number" - }, - "backoffsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `backoff`.", - "editType": "none", - "valType": "string" - }, - "color": { - "anim": true, - "description": "Sets the line color.", - "editType": "style", - "valType": "color" - }, - "dash": { - "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", - "dflt": "solid", - "editType": "style", - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ] - }, - "editType": "plot", - "role": "object", - "shape": { - "description": "Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.", - "dflt": "linear", - "editType": "plot", - "valType": "enumerated", - "values": [ - "linear", - "spline", - "hv", - "vh", - "hvh", - "vhv" - ] - }, - "simplify": { - "description": "Simplifies lines by removing nearly-collinear points. When transitioning lines, it may be desirable to disable this so that the number of points along the resulting SVG path is unaffected.", - "dflt": true, - "editType": "plot", - "valType": "boolean" - }, - "smoothing": { - "description": "Has an effect only if `shape` is set to *spline* Sets the amount of smoothing. *0* corresponds to no smoothing (equivalent to a *linear* shape).", - "dflt": 1, - "editType": "plot", - "max": 1.3, - "min": 0, - "valType": "number" - }, - "width": { - "anim": true, - "description": "Sets the line width (in px).", - "dflt": 2, - "editType": "style", - "min": 0, - "valType": "number" - } - }, - "marker": { - "angle": { - "anim": false, - "arrayOk": true, - "description": "Sets the marker angle in respect to `angleref`.", - "dflt": 0, - "editType": "plot", - "valType": "angle" - }, - "angleref": { - "anim": false, - "description": "Sets the reference for marker angle. With *previous*, angle 0 points along the line from the previous point to this one. With *up*, angle 0 points toward the top of the screen.", - "dflt": "up", - "editType": "plot", - "valType": "enumerated", - "values": [ - "previous", - "up" - ] - }, - "anglesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `angle`.", - "editType": "none", - "valType": "string" - }, - "autocolorscale": { - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "cauto": { - "description": "Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "cmax": { - "description": "Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "valType": "number" - }, - "cmid": { - "description": "Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "valType": "number" - }, - "cmin": { - "description": "Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "valType": "number" - }, - "color": { - "anim": true, - "arrayOk": true, - "description": "Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.", - "editType": "style", - "valType": "color" - }, - "coloraxis": { - "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", - "dflt": null, - "editType": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "valType": "subplotid" - }, - "colorbar": { - "bgcolor": { - "description": "Sets the color of padded area.", - "dflt": "rgba(0,0,0,0)", - "editType": "colorbars", - "valType": "color" - }, - "bordercolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" - }, - "borderwidth": { - "description": "Sets the width (in px) or the border enclosing this color bar.", - "dflt": 0, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "dtick": { - "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "valType": "any" - }, - "editType": "colorbars", - "exponentformat": { - "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B. *SI* uses prefixes from \"femto\" f (10^-15) to \"tera\" T (10^12). *SI extended* covers instead the full SI range from \"quecto\" q (10^-30) to \"quetta\" Q (10^30). If *SI* or *SI extended* is used and the exponent is beyond the above ranges, the formatting rule will automatically be switched to the power notation.", - "dflt": "B", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" - ] - }, - "labelalias": { - "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", - "dflt": false, - "editType": "colorbars", - "valType": "any" - }, - "len": { - "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "lenmode": { - "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", - "dflt": "fraction", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ] - }, - "minexponent": { - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", - "dflt": 3, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "nticks": { - "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", - "dflt": 0, - "editType": "colorbars", - "min": 0, - "valType": "integer" - }, - "orientation": { - "description": "Sets the orientation of the colorbar.", - "dflt": "v", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "h", - "v" - ] - }, - "outlinecolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" - }, - "outlinewidth": { - "description": "Sets the width (in px) of the axis line.", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "role": "object", - "separatethousands": { - "description": "If \"true\", even 4-digit integers are separated", - "dflt": false, - "editType": "colorbars", - "valType": "boolean" - }, - "showexponent": { - "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "showticklabels": { - "description": "Determines whether or not the tick labels are drawn.", - "dflt": true, - "editType": "colorbars", - "valType": "boolean" - }, - "showtickprefix": { - "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "showticksuffix": { - "description": "Same as `showtickprefix` but for tick suffixes.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "thickness": { - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "dflt": 30, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "dflt": "pixels", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ] - }, - "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "valType": "any" - }, - "tickangle": { - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", - "dflt": "auto", - "editType": "colorbars", - "valType": "angle" - }, - "tickcolor": { - "description": "Sets the tick color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" - }, - "tickfont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "tickformat": { - "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", - "dflt": "", - "editType": "colorbars", - "valType": "string" - }, - "tickformatstops": { - "items": { - "tickformatstop": { - "dtickrange": { - "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", - "editType": "colorbars", - "items": [ - { - "editType": "colorbars", - "valType": "any" - }, - { - "editType": "colorbars", - "valType": "any" - } - ], - "valType": "info_array" - }, - "editType": "colorbars", - "enabled": { - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", - "dflt": true, - "editType": "colorbars", - "valType": "boolean" - }, - "name": { - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", - "editType": "colorbars", - "valType": "string" - }, - "role": "object", - "templateitemname": { - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", - "editType": "colorbars", - "valType": "string" - }, - "value": { - "description": "string - dtickformat for described zoom level, the same as *tickformat*", - "dflt": "", - "editType": "colorbars", - "valType": "string" - } - } - }, - "role": "object" - }, - "ticklabeloverflow": { - "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "allow", - "hide past div", - "hide past domain" - ] - }, - "ticklabelposition": { - "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", - "dflt": "outside", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" - ] - }, - "ticklabelstep": { - "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", - "dflt": 1, - "editType": "colorbars", - "min": 1, - "valType": "integer" - }, - "ticklen": { - "description": "Sets the tick length (in px).", - "dflt": 5, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "tickmode": { - "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", - "editType": "colorbars", - "impliedEdits": {}, - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ] - }, - "tickprefix": { - "description": "Sets a tick label prefix.", - "dflt": "", - "editType": "colorbars", - "valType": "string" - }, - "ticks": { - "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", - "dflt": "", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ] - }, - "ticksuffix": { - "description": "Sets a tick label suffix.", - "dflt": "", - "editType": "colorbars", - "valType": "string" - }, - "ticktext": { - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "editType": "colorbars", - "valType": "data_array" - }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, - "tickvals": { - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "editType": "colorbars", - "valType": "data_array" - }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, - "tickwidth": { - "description": "Sets the tick width (in px).", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "title": { - "editType": "colorbars", - "font": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Sets this color bar's title font.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "role": "object", - "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - }, - "text": { - "description": "Sets the title of the color bar.", - "editType": "colorbars", - "valType": "string" - } - }, - "x": { - "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", - "editType": "colorbars", - "valType": "number" - }, - "xanchor": { - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ] - }, - "xpad": { - "description": "Sets the amount of padding (in px) along the x direction.", - "dflt": 10, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "xref": { - "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", - "dflt": "paper", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "container", - "paper" - ] - }, - "y": { - "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", - "editType": "colorbars", - "valType": "number" - }, - "yanchor": { - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ] - }, - "ypad": { - "description": "Sets the amount of padding (in px) along the y direction.", - "dflt": 10, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "yref": { - "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", - "dflt": "paper", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "container", - "paper" - ] - } - }, - "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "autocolorscale": false - }, - "valType": "colorscale" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "editType": "calc", - "gradient": { - "color": { - "arrayOk": true, - "description": "Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.", - "editType": "calc", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "editType": "calc", - "role": "object", - "type": { - "arrayOk": true, - "description": "Sets the type of gradient used to fill the markers", - "dflt": "none", - "editType": "calc", - "valType": "enumerated", - "values": [ - "radial", - "horizontal", - "vertical", - "none" - ] - }, - "typesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `type`.", - "editType": "none", - "valType": "string" - } - }, - "line": { - "autocolorscale": { - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "cauto": { - "description": "Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "cmax": { - "description": "Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "valType": "number" - }, - "cmid": { - "description": "Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "valType": "number" - }, - "cmin": { - "description": "Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false - }, - "valType": "number" - }, - "color": { - "anim": true, - "arrayOk": true, - "description": "Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.", - "editType": "style", - "valType": "color" - }, - "coloraxis": { - "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", - "dflt": null, - "editType": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "valType": "subplotid" - }, - "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "autocolorscale": false - }, - "valType": "colorscale" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "dash": { - "arrayOk": true, - "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", - "dflt": "solid", - "editType": "style", - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ] - }, - "dashsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `dash`.", - "editType": "none", - "valType": "string" - }, - "editType": "calc", - "reversescale": { - "description": "Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.", - "dflt": false, - "editType": "plot", - "valType": "boolean" - }, - "role": "object", - "width": { - "anim": true, - "arrayOk": true, - "description": "Sets the width (in px) of the lines bounding the marker points.", - "editType": "style", - "min": 0, - "valType": "number" - }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" - } - }, - "maxdisplayed": { - "description": "Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.", - "dflt": 0, - "editType": "plot", - "min": 0, - "valType": "number" - }, - "opacity": { - "anim": true, - "arrayOk": true, - "description": "Sets the marker opacity.", - "editType": "style", - "max": 1, - "min": 0, - "valType": "number" - }, - "opacitysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `opacity`.", - "editType": "none", - "valType": "string" - }, - "reversescale": { - "description": "Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.", - "dflt": false, - "editType": "plot", - "valType": "boolean" - }, - "role": "object", - "showscale": { - "description": "Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array.", - "dflt": false, - "editType": "calc", - "valType": "boolean" - }, - "size": { - "anim": true, - "arrayOk": true, - "description": "Sets the marker size (in px).", - "dflt": 6, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "sizemin": { - "description": "Has an effect only if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.", - "dflt": 0, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "sizemode": { - "description": "Has an effect only if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.", - "dflt": "diameter", - "editType": "calc", - "valType": "enumerated", - "values": [ - "diameter", - "area" - ] - }, - "sizeref": { - "description": "Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.", - "dflt": 1, - "editType": "calc", - "valType": "number" - }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, - "standoff": { - "anim": true, - "arrayOk": true, - "description": "Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it.", - "dflt": 0, - "editType": "plot", - "min": 0, - "valType": "number" - }, - "standoffsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `standoff`.", - "editType": "none", - "valType": "string" - }, - "symbol": { - "arrayOk": true, - "description": "Sets the marker symbol type. Adding 100 is equivalent to appending *-open* to a symbol name. Adding 200 is equivalent to appending *-dot* to a symbol name. Adding 300 is equivalent to appending *-open-dot* or *dot-open* to a symbol name.", - "dflt": "circle", - "editType": "style", - "valType": "enumerated", - "values": [ - 0, - "0", - "circle", - 100, - "100", - "circle-open", - 200, - "200", - "circle-dot", - 300, - "300", - "circle-open-dot", - 1, - "1", - "square", - 101, - "101", - "square-open", - 201, - "201", - "square-dot", - 301, - "301", - "square-open-dot", - 2, - "2", - "diamond", - 102, - "102", - "diamond-open", - 202, - "202", - "diamond-dot", - 302, - "302", - "diamond-open-dot", - 3, - "3", - "cross", - 103, - "103", - "cross-open", - 203, - "203", - "cross-dot", - 303, - "303", - "cross-open-dot", - 4, - "4", - "x", - 104, - "104", - "x-open", - 204, - "204", - "x-dot", - 304, - "304", - "x-open-dot", - 5, - "5", - "triangle-up", - 105, - "105", - "triangle-up-open", - 205, - "205", - "triangle-up-dot", - 305, - "305", - "triangle-up-open-dot", - 6, - "6", - "triangle-down", - 106, - "106", - "triangle-down-open", - 206, - "206", - "triangle-down-dot", - 306, - "306", - "triangle-down-open-dot", - 7, - "7", - "triangle-left", - 107, - "107", - "triangle-left-open", - 207, - "207", - "triangle-left-dot", - 307, - "307", - "triangle-left-open-dot", - 8, - "8", - "triangle-right", - 108, - "108", - "triangle-right-open", - 208, - "208", - "triangle-right-dot", - 308, - "308", - "triangle-right-open-dot", - 9, - "9", - "triangle-ne", - 109, - "109", - "triangle-ne-open", - 209, - "209", - "triangle-ne-dot", - 309, - "309", - "triangle-ne-open-dot", - 10, - "10", - "triangle-se", - 110, - "110", - "triangle-se-open", - 210, - "210", - "triangle-se-dot", - 310, - "310", - "triangle-se-open-dot", - 11, - "11", - "triangle-sw", - 111, - "111", - "triangle-sw-open", - 211, - "211", - "triangle-sw-dot", - 311, - "311", - "triangle-sw-open-dot", - 12, - "12", - "triangle-nw", - 112, - "112", - "triangle-nw-open", - 212, - "212", - "triangle-nw-dot", - 312, - "312", - "triangle-nw-open-dot", - 13, - "13", - "pentagon", - 113, - "113", - "pentagon-open", - 213, - "213", - "pentagon-dot", - 313, - "313", - "pentagon-open-dot", - 14, - "14", - "hexagon", - 114, - "114", - "hexagon-open", - 214, - "214", - "hexagon-dot", - 314, - "314", - "hexagon-open-dot", - 15, - "15", - "hexagon2", - 115, - "115", - "hexagon2-open", - 215, - "215", - "hexagon2-dot", - 315, - "315", - "hexagon2-open-dot", - 16, - "16", - "octagon", - 116, - "116", - "octagon-open", - 216, - "216", - "octagon-dot", - 316, - "316", - "octagon-open-dot", - 17, - "17", - "star", - 117, - "117", - "star-open", - 217, - "217", - "star-dot", - 317, - "317", - "star-open-dot", - 18, - "18", - "hexagram", - 118, - "118", - "hexagram-open", - 218, - "218", - "hexagram-dot", - 318, - "318", - "hexagram-open-dot", - 19, - "19", - "star-triangle-up", - 119, - "119", - "star-triangle-up-open", - 219, - "219", - "star-triangle-up-dot", - 319, - "319", - "star-triangle-up-open-dot", - 20, - "20", - "star-triangle-down", - 120, - "120", - "star-triangle-down-open", - 220, - "220", - "star-triangle-down-dot", - 320, - "320", - "star-triangle-down-open-dot", - 21, - "21", - "star-square", - 121, - "121", - "star-square-open", - 221, - "221", - "star-square-dot", - 321, - "321", - "star-square-open-dot", - 22, - "22", - "star-diamond", - 122, - "122", - "star-diamond-open", - 222, - "222", - "star-diamond-dot", - 322, - "322", - "star-diamond-open-dot", - 23, - "23", - "diamond-tall", - 123, - "123", - "diamond-tall-open", - 223, - "223", - "diamond-tall-dot", - 323, - "323", - "diamond-tall-open-dot", - 24, - "24", - "diamond-wide", - 124, - "124", - "diamond-wide-open", - 224, - "224", - "diamond-wide-dot", - 324, - "324", - "diamond-wide-open-dot", - 25, - "25", - "hourglass", - 125, - "125", - "hourglass-open", - 26, - "26", - "bowtie", - 126, - "126", - "bowtie-open", - 27, - "27", - "circle-cross", - 127, - "127", - "circle-cross-open", - 28, - "28", - "circle-x", - 128, - "128", - "circle-x-open", - 29, - "29", - "square-cross", - 129, - "129", - "square-cross-open", - 30, - "30", - "square-x", - 130, - "130", - "square-x-open", - 31, - "31", - "diamond-cross", - 131, - "131", - "diamond-cross-open", - 32, - "32", - "diamond-x", - 132, - "132", - "diamond-x-open", - 33, - "33", - "cross-thin", - 133, - "133", - "cross-thin-open", - 34, - "34", - "x-thin", - 134, - "134", - "x-thin-open", - 35, - "35", - "asterisk", - 135, - "135", - "asterisk-open", - 36, - "36", - "hash", - 136, - "136", - "hash-open", - 236, - "236", - "hash-dot", - 336, - "336", - "hash-open-dot", - 37, - "37", - "y-up", - 137, - "137", - "y-up-open", - 38, - "38", - "y-down", - 138, - "138", - "y-down-open", - 39, - "39", - "y-left", - 139, - "139", - "y-left-open", - 40, - "40", - "y-right", - 140, - "140", - "y-right-open", - 41, - "41", - "line-ew", - 141, - "141", - "line-ew-open", - 42, - "42", - "line-ns", - 142, - "142", - "line-ns-open", - 43, - "43", - "line-ne", - 143, - "143", - "line-ne-open", - 44, - "44", - "line-nw", - 144, - "144", - "line-nw-open", - 45, - "45", - "arrow-up", - 145, - "145", - "arrow-up-open", - 46, - "46", - "arrow-down", - 146, - "146", - "arrow-down-open", - 47, - "47", - "arrow-left", - 147, - "147", - "arrow-left-open", - 48, - "48", - "arrow-right", - 148, - "148", - "arrow-right-open", - 49, - "49", - "arrow-bar-up", - 149, - "149", - "arrow-bar-up-open", - 50, - "50", - "arrow-bar-down", - 150, - "150", - "arrow-bar-down-open", - 51, - "51", - "arrow-bar-left", - 151, - "151", - "arrow-bar-left-open", - 52, - "52", - "arrow-bar-right", - 152, - "152", - "arrow-bar-right-open", - 53, - "53", - "arrow", - 153, - "153", - "arrow-open", - 54, - "54", - "arrow-wide", - 154, - "154", - "arrow-wide-open" - ] + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "size": { + "arrayOk": true, + "editType": "calc", + "min": 1, + "valType": "number" + }, + "style": { + "arrayOk": true, + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "arrayOk": true, + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "arrayOk": true, + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "calc", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "namelength": { + "arrayOk": true, + "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", + "dflt": 15, + "editType": "calc", + "min": -1, + "valType": "integer" + }, + "role": "object", + "showarrow": { + "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", + "dflt": true, + "editType": "calc", + "valType": "boolean" + } }, - "symbolsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `symbol`.", - "editType": "none", + "hovertemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `value` and `label`. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", + "dflt": "", + "editType": "calc", "valType": "string" + }, + "hovertemplatefallback": { + "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", + "dflt": "-", + "editType": "calc", + "valType": "any" + }, + "label": { + "description": "The shown name of the link.", + "dflt": [], + "editType": "calc", + "valType": "data_array" + }, + "line": { + "color": { + "arrayOk": true, + "description": "Sets the color of the `line` around each `link`.", + "dflt": "#444", + "editType": "calc", + "valType": "color" + }, + "editType": "calc", + "role": "object", + "width": { + "arrayOk": true, + "description": "Sets the width (in px) of the `line` around each `link`.", + "dflt": 0, + "editType": "calc", + "min": 0, + "valType": "number" + } + }, + "role": "object", + "sort": { + "description": "For `auto` (the default), the order of links attached to each node is determined automatically by the layout. For `input`, the order of links at each node is kept the same as the order in the input array.", + "dflt": "auto", + "editType": "calc", + "valType": "enumerated", + "values": [ + "auto", + "input" + ] + }, + "source": { + "description": "An integer number `[0..nodes.length - 1]` that represents the source node.", + "dflt": [], + "editType": "calc", + "valType": "data_array" + }, + "target": { + "description": "An integer number `[0..nodes.length - 1]` that represents the target node.", + "dflt": [], + "editType": "calc", + "valType": "data_array" + }, + "value": { + "description": "A numeric value representing the flow volume value.", + "dflt": [], + "editType": "calc", + "valType": "data_array" } }, "meta": { @@ -61313,168 +51910,312 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, - "mode": { - "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "lines", - "markers", - "text" - ], - "valType": "flaglist" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", "valType": "string" }, - "offsetgroup": { - "description": "Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "opacity": { - "description": "Sets the opacity of the trace.", - "dflt": 1, - "editType": "style", - "max": 1, - "min": 0, - "valType": "number" - }, - "orientation": { - "description": "Only relevant in the following cases: 1. when `scattermode` is set to *group*. 2. when `stackgroup` is used, and only the first `orientation` found in the `stackgroup` will be used - including if `visible` is *legendonly* but not if it is `false`. Sets the stacking direction. With *v* (*h*), the y (x) values of subsequent traces are added. Also affects the default value of `fill`.", + "node": { + "align": { + "description": "Sets the alignment method used to position the nodes along the horizontal axis.", + "dflt": "justify", + "editType": "calc", + "valType": "enumerated", + "values": [ + "justify", + "left", + "right", + "center" + ] + }, + "color": { + "arrayOk": true, + "description": "Sets the `node` color. It can be a single value, or an array for specifying color for each `node`. If `node.color` is omitted, then the default `Plotly` color palette will be cycled through to have a variety of colors. These defaults are not fully opaque, to allow some visibility of what is beneath the node.", + "editType": "calc", + "valType": "color" + }, + "customdata": { + "description": "Assigns extra data to each node.", + "editType": "calc", + "valType": "data_array" + }, + "description": "The nodes of the Sankey plot.", "editType": "calc", - "valType": "enumerated", - "values": [ - "v", - "h" - ] - }, - "selected": { - "editType": "style", - "marker": { - "color": { - "description": "Sets the marker color of selected points.", - "editType": "style", - "valType": "color" + "groups": { + "description": "Groups of nodes. Each group is defined by an array with the indices of the nodes it contains. Multiple groups can be specified.", + "dflt": [], + "dimensions": 2, + "editType": "calc", + "freeLength": true, + "impliedEdits": { + "x": [], + "y": [] }, - "editType": "style", - "opacity": { - "description": "Sets the marker opacity of selected points.", - "editType": "style", - "max": 1, - "min": 0, + "items": { + "editType": "calc", "valType": "number" }, + "valType": "info_array" + }, + "hoverinfo": { + "description": "Determines what trace information appears when hovering nodes. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "dflt": "all", + "editType": "calc", + "valType": "enumerated", + "values": [ + "all", + "none", + "skip" + ] + }, + "hoverlabel": { + "align": { + "arrayOk": true, + "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", + "dflt": "auto", + "editType": "calc", + "valType": "enumerated", + "values": [ + "left", + "right", + "auto" + ] + }, + "bgcolor": { + "arrayOk": true, + "description": "Sets the background color of the hover labels for this trace", + "editType": "calc", + "valType": "color" + }, + "bordercolor": { + "arrayOk": true, + "description": "Sets the border color of the hover labels for this trace.", + "editType": "calc", + "valType": "color" + }, + "editType": "calc", + "font": { + "color": { + "arrayOk": true, + "editType": "calc", + "valType": "color" + }, + "description": "Sets the font used in hover labels.", + "editType": "calc", + "family": { + "arrayOk": true, + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "calc", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "size": { + "arrayOk": true, + "editType": "calc", + "min": 1, + "valType": "number" + }, + "style": { + "arrayOk": true, + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "arrayOk": true, + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "arrayOk": true, + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "calc", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "namelength": { + "arrayOk": true, + "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", + "dflt": 15, + "editType": "calc", + "min": -1, + "valType": "integer" + }, "role": "object", - "size": { - "description": "Sets the marker size of selected points.", - "editType": "style", - "min": 0, - "valType": "number" + "showarrow": { + "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", + "dflt": true, + "editType": "calc", + "valType": "boolean" } }, - "role": "object", - "textfont": { + "hovertemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `value` and `label`. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", + "dflt": "", + "editType": "calc", + "valType": "string" + }, + "hovertemplatefallback": { + "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", + "dflt": "-", + "editType": "calc", + "valType": "any" + }, + "label": { + "description": "The shown name of the node.", + "dflt": [], + "editType": "calc", + "valType": "data_array" + }, + "line": { "color": { - "description": "Sets the text font color of selected points.", - "editType": "style", + "arrayOk": true, + "description": "Sets the color of the `line` around each `node`.", + "dflt": "#444", + "editType": "calc", "valType": "color" }, - "editType": "style", - "role": "object" - } - }, - "selectedpoints": { - "description": "Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.", - "editType": "calc", - "valType": "any" - }, - "showlegend": { - "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", - "dflt": true, - "editType": "style", - "valType": "boolean" - }, - "stackgaps": { - "description": "Only relevant when `stackgroup` is used, and only the first `stackgaps` found in the `stackgroup` will be used - including if `visible` is *legendonly* but not if it is `false`. Determines how we handle locations at which other traces in this group have data but this one does not. With *infer zero* we insert a zero at these locations. With *interpolate* we linearly interpolate between existing values, and extrapolate a constant beyond the existing values.", - "dflt": "infer zero", - "editType": "calc", - "valType": "enumerated", - "values": [ - "infer zero", - "interpolate" - ] - }, - "stackgroup": { - "description": "Set several scatter traces (on the same subplot) to the same stackgroup in order to add their y values (or their x values if `orientation` is *h*). If blank or omitted this trace will not be stacked. Stacking also turns `fill` on by default, using *tonexty* (*tonextx*) if `orientation` is *h* (*v*) and sets the default `mode` to *lines* irrespective of point count. You can only stack on a numeric (linear or log) axis. Traces in a `stackgroup` will only fill to (or be filled to) other traces in the same group. With multiple `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, "editType": "calc", - "max": 10000, + "role": "object", + "width": { + "arrayOk": true, + "description": "Sets the width (in px) of the `line` around each `node`.", + "dflt": 0.5, + "editType": "calc", + "min": 0, + "valType": "number" + } + }, + "pad": { + "arrayOk": false, + "description": "Sets the padding (in px) between the `nodes`.", + "dflt": 20, + "editType": "calc", "min": 0, "valType": "number" }, "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", + "sort": { + "description": "For `auto` (the default), the vertical order of nodes will be determined automatically by the layout. For `input`, the vertical order of nodes is kept the same as the order in the input array.", + "dflt": "auto", "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" + "valType": "enumerated", + "values": [ + "auto", + "input" + ] + }, + "thickness": { + "arrayOk": false, + "description": "Sets the thickness (in px) of the `nodes`.", + "dflt": 20, + "editType": "calc", + "min": 1, + "valType": "number" + }, + "x": { + "description": "The normalized horizontal position of the node.", + "dflt": [], + "editType": "calc", + "valType": "data_array" + }, + "y": { + "description": "The normalized vertical position of the node.", + "dflt": [], + "editType": "calc", + "valType": "data_array" } }, - "text": { - "arrayOk": true, - "description": "Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", - "dflt": "", + "orientation": { + "description": "Sets the orientation of the Sankey diagram.", + "dflt": "h", "editType": "calc", - "valType": "string" + "valType": "enumerated", + "values": [ + "v", + "h" + ] + }, + "selectedpoints": { + "description": "Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.", + "editType": "calc", + "valType": "any" }, "textfont": { "color": { - "arrayOk": true, - "editType": "style", + "editType": "calc", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the text font.", + "description": "Sets the font for node labels", "editType": "calc", "family": { - "arrayOk": true, "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", "editType": "calc", "noBlank": true, "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { - "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", "editType": "calc", @@ -61488,37 +52229,19 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { - "arrayOk": true, "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", + "dflt": "auto", "editType": "calc", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { - "arrayOk": true, "editType": "calc", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { - "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", "editType": "calc", @@ -61528,13 +52251,7 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { - "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", "editType": "calc", @@ -61544,554 +52261,119 @@ "word caps", "upper", "lower" - ] - }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } - }, - "textposition": { - "arrayOk": true, - "description": "Sets the positions of the `text` elements with respects to the (x,y) coordinates.", - "dflt": "middle center", - "editType": "calc", - "valType": "enumerated", - "values": [ - "top left", - "top center", - "top right", - "middle left", - "middle center", - "middle right", - "bottom left", - "bottom center", - "bottom right" - ] - }, - "textpositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textposition`.", - "editType": "none", - "valType": "string" - }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, - "texttemplate": { - "arrayOk": true, - "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. ", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "texttemplatefallback": { - "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", - "dflt": "-", - "editType": "calc", - "valType": "any" - }, - "texttemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `texttemplate`.", - "editType": "none", - "valType": "string" - }, - "type": "scatter", - "uid": { - "anim": true, - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", - "editType": "plot", - "valType": "string" - }, - "uirevision": { - "description": "Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.", - "editType": "none", - "valType": "any" - }, - "unselected": { - "editType": "style", - "marker": { - "color": { - "description": "Sets the marker color of unselected points, applied only when a selection exists.", - "editType": "style", - "valType": "color" - }, - "editType": "style", - "opacity": { - "description": "Sets the marker opacity of unselected points, applied only when a selection exists.", - "editType": "style", - "max": 1, - "min": 0, - "valType": "number" - }, - "role": "object", - "size": { - "description": "Sets the marker size of unselected points, applied only when a selection exists.", - "editType": "style", - "min": 0, - "valType": "number" - } - }, - "role": "object", - "textfont": { - "color": { - "description": "Sets the text font color of unselected points, applied only when a selection exists.", - "editType": "style", - "valType": "color" - }, - "editType": "style", - "role": "object" - } - }, - "visible": { - "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", - "dflt": true, - "editType": "calc", - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ] - }, - "x": { - "anim": true, - "description": "Sets the x coordinates.", - "editType": "calc+clearAxisTypes", - "valType": "data_array" - }, - "x0": { - "anim": true, - "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.", - "dflt": 0, - "editType": "calc+clearAxisTypes", - "valType": "any" - }, - "xaxis": { - "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "valType": "subplotid" - }, - "xcalendar": { - "description": "Sets the calendar system to use with `x` date data.", - "dflt": "gregorian", - "editType": "calc", - "valType": "enumerated", - "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" - ] - }, - "xhoverformat": { - "description": "Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "xperiod": { - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer.", - "dflt": 0, - "editType": "calc", - "valType": "any" - }, - "xperiod0": { - "description": "Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.", - "editType": "calc", - "valType": "any" - }, - "xperiodalignment": { - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.", - "dflt": "middle", - "editType": "calc", - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ] - }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", - "editType": "none", - "valType": "string" - }, - "y": { - "anim": true, - "description": "Sets the y coordinates.", - "editType": "calc+clearAxisTypes", - "valType": "data_array" - }, - "y0": { - "anim": true, - "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.", - "dflt": 0, - "editType": "calc+clearAxisTypes", - "valType": "any" - }, - "yaxis": { - "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "valType": "subplotid" - }, - "ycalendar": { - "description": "Sets the calendar system to use with `y` date data.", - "dflt": "gregorian", - "editType": "calc", - "valType": "enumerated", - "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" - ] - }, - "yhoverformat": { - "description": "Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "yperiod": { - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer.", - "dflt": 0, - "editType": "calc", - "valType": "any" - }, - "yperiod0": { - "description": "Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.", - "editType": "calc", - "valType": "any" - }, - "yperiodalignment": { - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.", - "dflt": "middle", - "editType": "calc", - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ] - }, - "ysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `y`.", - "editType": "none", - "valType": "string" - }, - "zorder": { - "description": "Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.", - "dflt": 0, - "editType": "plot", - "valType": "integer" - } - }, - "categories": [ - "cartesian", - "svg", - "symbols", - "errorBarsOK", - "showLegend", - "scatter-like", - "zoomScale" - ], - "layoutAttributes": { - "scattergap": { - "description": "Sets the gap (in plot fraction) between scatter points of adjacent location coordinates. Defaults to `bargap`.", - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - "scattermode": { - "description": "Determines how scatter points at the same location coordinate are displayed on the graph. With *group*, the scatter points are plotted next to one another centered around the shared location. With *overlay*, the scatter points are plotted over one another, you might need to reduce *opacity* to see multiple scatter points.", - "dflt": "overlay", - "editType": "calc", - "valType": "enumerated", - "values": [ - "group", - "overlay" - ] - } - }, - "meta": { - "description": "The scatter trace type encompasses line charts, scatter charts, text charts, and bubble charts. The data visualized as scatter point or lines is set in `x` and `y`. Text (appearing either on the chart or on hover only) is via `text`. Bubble charts are achieved by setting `marker.size` and/or `marker.color` to numerical arrays." - }, - "type": "scatter" - }, - "scatter3d": { - "animatable": false, - "attributes": { - "connectgaps": { - "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.", - "dflt": false, - "editType": "calc", - "valType": "boolean" - }, - "customdata": { - "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", - "editType": "calc", - "valType": "data_array" - }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, - "error_x": { - "array": { - "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", - "editType": "calc", - "valType": "data_array" - }, - "arrayminus": { - "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", - "editType": "calc", - "valType": "data_array" - }, - "arrayminussrc": { - "description": "Sets the source reference on Chart Studio Cloud for `arrayminus`.", - "editType": "none", - "valType": "string" - }, - "arraysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `array`.", - "editType": "none", - "valType": "string" - }, - "color": { - "description": "Sets the stroke color of the error bars.", - "editType": "calc", - "valType": "color" - }, - "copy_zstyle": { - "editType": "calc", - "valType": "boolean" - }, - "editType": "calc", - "role": "object", - "symmetric": { - "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", - "editType": "calc", - "valType": "boolean" - }, - "thickness": { - "description": "Sets the thickness (in px) of the error bars.", - "dflt": 2, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "traceref": { - "dflt": 0, - "editType": "calc", - "min": 0, - "valType": "integer" - }, - "tracerefminus": { - "dflt": 0, - "editType": "calc", - "min": 0, - "valType": "integer" - }, - "type": { - "description": "Determines the rule used to generate the error bars. If *constant*, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.", - "editType": "calc", - "valType": "enumerated", - "values": [ - "percent", - "constant", - "sqrt", - "data" - ] - }, - "value": { - "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", - "dflt": 10, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "valueminus": { - "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", - "dflt": 10, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "visible": { - "description": "Determines whether or not this set of error bars is visible.", - "editType": "calc", - "valType": "boolean" - }, - "width": { - "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", - "editType": "calc", - "min": 0, - "valType": "number" - } - }, - "error_y": { - "array": { - "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", - "editType": "calc", - "valType": "data_array" - }, - "arrayminus": { - "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", - "editType": "calc", - "valType": "data_array" - }, - "arrayminussrc": { - "description": "Sets the source reference on Chart Studio Cloud for `arrayminus`.", - "editType": "none", - "valType": "string" - }, - "arraysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `array`.", - "editType": "none", - "valType": "string" - }, - "color": { - "description": "Sets the stroke color of the error bars.", - "editType": "calc", - "valType": "color" - }, - "copy_zstyle": { - "editType": "calc", - "valType": "boolean" - }, - "editType": "calc", - "role": "object", - "symmetric": { - "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", - "editType": "calc", - "valType": "boolean" - }, - "thickness": { - "description": "Sets the thickness (in px) of the error bars.", - "dflt": 2, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "traceref": { - "dflt": 0, - "editType": "calc", - "min": 0, - "valType": "integer" - }, - "tracerefminus": { - "dflt": 0, - "editType": "calc", - "min": 0, - "valType": "integer" + ] }, - "type": { - "description": "Determines the rule used to generate the error bars. If *constant*, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.", + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", "editType": "calc", "valType": "enumerated", "values": [ - "percent", - "constant", - "sqrt", - "data" + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] }, - "value": { - "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", - "dflt": 10, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "valueminus": { - "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", - "dflt": 10, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "visible": { - "description": "Determines whether or not this set of error bars is visible.", - "editType": "calc", - "valType": "boolean" - }, - "width": { - "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", "editType": "calc", - "min": 0, - "valType": "number" + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, - "error_z": { + "type": "sankey", + "uid": { + "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", + "editType": "plot", + "valType": "string" + }, + "uirevision": { + "description": "Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.", + "editType": "none", + "valType": "any" + }, + "valueformat": { + "description": "Sets the value formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.", + "dflt": ".3s", + "editType": "calc", + "valType": "string" + }, + "valuesuffix": { + "description": "Adds a unit to follow the value in the hover tooltip. Add a space if a separation is necessary from the value.", + "dflt": "", + "editType": "calc", + "valType": "string" + }, + "visible": { + "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", + "dflt": true, + "editType": "calc", + "valType": "enumerated", + "values": [ + true, + false, + "legendonly" + ] + } + }, + "categories": [ + "noOpacity" + ], + "meta": { + "description": "Sankey plots for network flow data analysis. The nodes are specified in `nodes` and the links between sources and targets in `links`. The colors are set in `nodes[i].color` and `links[i].color`, otherwise defaults are used." + }, + "type": "sankey" + }, + "scatter": { + "animatable": true, + "attributes": { + "alignmentgroup": { + "description": "Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.", + "dflt": "", + "editType": "calc", + "valType": "string" + }, + "cliponaxis": { + "description": "Determines whether or not markers and text nodes are clipped about the subplot axes. To show markers and text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to *below traces*.", + "dflt": true, + "editType": "plot", + "valType": "boolean" + }, + "connectgaps": { + "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.", + "dflt": false, + "editType": "calc", + "valType": "boolean" + }, + "customdata": { + "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", + "editType": "calc", + "valType": "data_array" + }, + "dx": { + "anim": true, + "description": "Sets the x coordinate step. See `x0` for more info.", + "dflt": 1, + "editType": "calc", + "valType": "number" + }, + "dy": { + "anim": true, + "description": "Sets the y coordinate step. See `y0` for more info.", + "dflt": 1, + "editType": "calc", + "valType": "number" + }, + "error_x": { "array": { "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", "editType": "calc", @@ -62102,21 +52384,15 @@ "editType": "calc", "valType": "data_array" }, - "arrayminussrc": { - "description": "Sets the source reference on Chart Studio Cloud for `arrayminus`.", - "editType": "none", - "valType": "string" - }, - "arraysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `array`.", - "editType": "none", - "valType": "string" - }, "color": { "description": "Sets the stroke color of the error bars.", - "editType": "calc", + "editType": "style", "valType": "color" }, + "copy_ystyle": { + "editType": "plot", + "valType": "boolean" + }, "editType": "calc", "role": "object", "symmetric": { @@ -62127,19 +52403,19 @@ "thickness": { "description": "Sets the thickness (in px) of the error bars.", "dflt": 2, - "editType": "calc", + "editType": "style", "min": 0, "valType": "number" }, "traceref": { "dflt": 0, - "editType": "calc", + "editType": "style", "min": 0, "valType": "integer" }, "tracerefminus": { "dflt": 0, - "editType": "calc", + "editType": "style", "min": 0, "valType": "integer" }, @@ -62156,1133 +52432,651 @@ }, "value": { "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", - "dflt": 10, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "valueminus": { - "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", - "dflt": 10, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "visible": { - "description": "Determines whether or not this set of error bars is visible.", - "editType": "calc", - "valType": "boolean" - }, - "width": { - "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", - "editType": "calc", - "min": 0, - "valType": "number" - } - }, - "hoverinfo": { - "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", - "dflt": "all", - "editType": "calc", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "valType": "flaglist" - }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, - "hoverlabel": { - "align": { - "arrayOk": true, - "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", - "dflt": "auto", - "editType": "none", - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ] - }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, - "bgcolor": { - "arrayOk": true, - "description": "Sets the background color of the hover labels for this trace", - "editType": "none", - "valType": "color" - }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, - "bordercolor": { - "arrayOk": true, - "description": "Sets the border color of the hover labels for this trace.", - "editType": "none", - "valType": "color" - }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, - "editType": "none", - "font": { - "color": { - "arrayOk": true, - "editType": "none", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used in hover labels.", - "editType": "none", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "none", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "none", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "none", - "valType": "string" - }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, - "size": { - "arrayOk": true, - "editType": "none", - "min": 1, - "valType": "number" - }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "none", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "none", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "none", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "none", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } - }, - "namelength": { - "arrayOk": true, - "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", - "dflt": 15, - "editType": "none", - "min": -1, - "valType": "integer" - }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } - }, - "hovertemplate": { - "arrayOk": true, - "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "hovertemplatefallback": { - "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", - "dflt": "-", - "editType": "calc", - "valType": "any" - }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, - "hovertext": { - "arrayOk": true, - "description": "Sets text elements associated with each (x,y,z) triplet. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y,z) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, - "ids": { - "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", - "editType": "calc", - "valType": "data_array" - }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, - "legend": { - "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", - "dflt": "legend", - "editType": "style", - "valType": "subplotid" - }, - "legendgroup": { - "description": "Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.", - "dflt": "", - "editType": "style", - "valType": "string" - }, - "legendgrouptitle": { - "editType": "style", - "font": { - "color": { - "editType": "style", - "valType": "color" - }, - "description": "Sets this legend group's title font.", - "editType": "style", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "style", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "style", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "style", - "valType": "string" - }, - "size": { - "editType": "style", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "style", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "style", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "style", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "style", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } + "dflt": 10, + "editType": "calc", + "min": 0, + "valType": "number" }, - "role": "object", - "text": { - "description": "Sets the title of the legend group.", - "dflt": "", - "editType": "style", - "valType": "string" + "valueminus": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", + "dflt": 10, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "visible": { + "description": "Determines whether or not this set of error bars is visible.", + "editType": "calc", + "valType": "boolean" + }, + "width": { + "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", + "editType": "plot", + "min": 0, + "valType": "number" } }, - "legendrank": { - "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", - "dflt": 1000, - "editType": "style", - "valType": "number" - }, - "legendwidth": { - "description": "Sets the width (in px or fraction) of the legend for this trace.", - "editType": "style", - "min": 0, - "valType": "number" - }, - "line": { - "autocolorscale": { - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `line.colorscale`. Has an effect only if in `line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", - "dflt": true, + "error_y": { + "array": { + "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" + "valType": "data_array" }, - "cauto": { - "description": "Determines whether or not the color domain is computed with respect to the input data (here in `line.color`) or the bounds set in `line.cmin` and `line.cmax` Has an effect only if in `line.color` is set to a numerical array. Defaults to `false` when `line.cmin` and `line.cmax` are set by the user.", - "dflt": true, + "arrayminus": { + "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", + "editType": "calc", + "valType": "data_array" + }, + "color": { + "description": "Sets the stroke color of the error bars.", + "editType": "style", + "valType": "color" + }, + "editType": "calc", + "role": "object", + "symmetric": { + "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", "editType": "calc", - "impliedEdits": {}, "valType": "boolean" }, - "cmax": { - "description": "Sets the upper bound of the color domain. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmin` must be set as well.", - "dflt": null, + "thickness": { + "description": "Sets the thickness (in px) of the error bars.", + "dflt": 2, + "editType": "style", + "min": 0, + "valType": "number" + }, + "traceref": { + "dflt": 0, + "editType": "style", + "min": 0, + "valType": "integer" + }, + "tracerefminus": { + "dflt": 0, + "editType": "style", + "min": 0, + "valType": "integer" + }, + "type": { + "description": "Determines the rule used to generate the error bars. If *constant*, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.", "editType": "calc", - "impliedEdits": { - "cauto": false - }, + "valType": "enumerated", + "values": [ + "percent", + "constant", + "sqrt", + "data" + ] + }, + "value": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", + "dflt": 10, + "editType": "calc", + "min": 0, "valType": "number" }, - "cmid": { - "description": "Sets the mid-point of the color domain by scaling `line.cmin` and/or `line.cmax` to be equidistant to this point. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color`. Has no effect when `line.cauto` is `false`.", - "dflt": null, + "valueminus": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", + "dflt": 10, "editType": "calc", - "impliedEdits": {}, + "min": 0, "valType": "number" }, - "cmin": { - "description": "Sets the lower bound of the color domain. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmax` must be set as well.", - "dflt": null, + "visible": { + "description": "Determines whether or not this set of error bars is visible.", "editType": "calc", - "impliedEdits": { - "cauto": false - }, + "valType": "boolean" + }, + "width": { + "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", + "editType": "plot", + "min": 0, "valType": "number" + } + }, + "fill": { + "description": "Sets the area to fill with a solid color. Defaults to *none* unless this trace is stacked, then it gets *tonexty* (*tonextx*) if `orientation` is *v* (*h*) Use with `fillcolor` if not *none*. *tozerox* and *tozeroy* fill to x=0 and y=0 respectively. *tonextx* and *tonexty* fill between the endpoints of this trace and the endpoints of the trace before it, connecting those endpoints with straight lines (to make a stacked area graph); if there is no trace before it, they behave like *tozerox* and *tozeroy*. *toself* connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. *tonext* fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like *toself* if there is no trace before it. *tonext* should not be used if one trace does not enclose the other. Traces in a `stackgroup` will only fill to (or be filled to) other traces in the same group. With multiple `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "none", + "tozeroy", + "tozerox", + "tonexty", + "tonextx", + "toself", + "tonext" + ] + }, + "fillcolor": { + "anim": true, + "description": "Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available. If fillgradient is specified, fillcolor is ignored except for setting the background color of the hover label, if any.", + "editType": "style", + "valType": "color" + }, + "fillgradient": { + "colorscale": { + "description": "Sets the fill gradient colors as a color scale. The color scale is interpreted as a gradient applied in the direction specified by *orientation*, from the lowest to the highest value of the scatter plot along that axis, or from the center to the most distant point from it, if orientation is *radial*.", + "editType": "style", + "valType": "colorscale" }, - "color": { - "arrayOk": true, - "description": "Sets the line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `line.cmin` and `line.cmax` if set.", + "description": "Sets a fill gradient. If not specified, the fillcolor is used instead.", + "editType": "calc", + "role": "object", + "start": { + "description": "Sets the gradient start value. It is given as the absolute position on the axis determined by the orientiation. E.g., if orientation is *horizontal*, the gradient will be horizontal and start from the x-position given by start. If omitted, the gradient starts at the lowest value of the trace along the respective axis. Ignored if orientation is *radial*.", "editType": "calc", - "valType": "color" + "valType": "number" }, - "coloraxis": { - "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", - "dflt": null, + "stop": { + "description": "Sets the gradient end value. It is given as the absolute position on the axis determined by the orientiation. E.g., if orientation is *horizontal*, the gradient will be horizontal and end at the x-position given by end. If omitted, the gradient ends at the highest value of the trace along the respective axis. Ignored if orientation is *radial*.", "editType": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "valType": "subplotid" + "valType": "number" }, - "colorbar": { - "bgcolor": { - "description": "Sets the color of padded area.", - "dflt": "rgba(0,0,0,0)", - "editType": "calc", - "valType": "color" - }, - "bordercolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "calc", - "valType": "color" - }, - "borderwidth": { - "description": "Sets the width (in px) or the border enclosing this color bar.", - "dflt": 0, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "dtick": { - "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", - "editType": "calc", - "impliedEdits": { - "tickmode": "linear" - }, - "valType": "any" - }, + "type": { + "description": "Sets the type/orientation of the color gradient for the fill. Defaults to *none*.", + "dflt": "none", "editType": "calc", - "exponentformat": { - "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B. *SI* uses prefixes from \"femto\" f (10^-15) to \"tera\" T (10^12). *SI extended* covers instead the full SI range from \"quecto\" q (10^-30) to \"quetta\" Q (10^30). If *SI* or *SI extended* is used and the exponent is beyond the above ranges, the formatting rule will automatically be switched to the power notation.", - "dflt": "B", - "editType": "calc", - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" - ] - }, - "labelalias": { - "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", - "dflt": false, - "editType": "calc", - "valType": "any" - }, - "len": { - "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", - "dflt": 1, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "lenmode": { - "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", - "dflt": "fraction", - "editType": "calc", - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ] - }, - "minexponent": { - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", - "dflt": 3, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "nticks": { - "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", - "dflt": 0, - "editType": "calc", - "min": 0, - "valType": "integer" - }, - "orientation": { - "description": "Sets the orientation of the colorbar.", - "dflt": "v", - "editType": "calc", - "valType": "enumerated", - "values": [ - "h", - "v" - ] - }, - "outlinecolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "calc", - "valType": "color" - }, - "outlinewidth": { - "description": "Sets the width (in px) of the axis line.", - "dflt": 1, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "role": "object", - "separatethousands": { - "description": "If \"true\", even 4-digit integers are separated", - "dflt": false, - "editType": "calc", - "valType": "boolean" - }, - "showexponent": { - "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", - "dflt": "all", - "editType": "calc", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "showticklabels": { - "description": "Determines whether or not the tick labels are drawn.", - "dflt": true, - "editType": "calc", - "valType": "boolean" - }, - "showtickprefix": { - "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", - "dflt": "all", - "editType": "calc", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "showticksuffix": { - "description": "Same as `showtickprefix` but for tick suffixes.", - "dflt": "all", - "editType": "calc", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "thickness": { - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "dflt": 30, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "dflt": "pixels", - "editType": "calc", - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ] - }, - "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", - "editType": "calc", - "impliedEdits": { - "tickmode": "linear" - }, - "valType": "any" - }, - "tickangle": { - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", - "dflt": "auto", - "editType": "calc", - "valType": "angle" - }, - "tickcolor": { - "description": "Sets the tick color.", - "dflt": "#444", - "editType": "calc", - "valType": "color" - }, - "tickfont": { - "color": { - "editType": "calc", - "valType": "color" - }, - "description": "Sets the color bar's tick label font", - "editType": "calc", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "calc", - "valType": "string" - }, - "size": { - "editType": "calc", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } + "valType": "enumerated", + "values": [ + "radial", + "horizontal", + "vertical", + "none" + ] + } + }, + "fillpattern": { + "bgcolor": { + "arrayOk": true, + "description": "When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is *overlay*. Otherwise, defaults to a transparent background.", + "editType": "style", + "valType": "color" + }, + "description": "Sets the pattern within the marker.", + "editType": "style", + "fgcolor": { + "arrayOk": true, + "description": "When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is *replace*. Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.", + "editType": "style", + "valType": "color" + }, + "fgopacity": { + "description": "Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.", + "editType": "style", + "max": 1, + "min": 0, + "valType": "number" + }, + "fillmode": { + "description": "Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.", + "dflt": "replace", + "editType": "style", + "valType": "enumerated", + "values": [ + "replace", + "overlay" + ] + }, + "path": { + "arrayOk": true, + "description": "Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.", + "editType": "style", + "valType": "string" + }, + "role": "object", + "shape": { + "arrayOk": true, + "description": "Sets the shape of the pattern fill. By default, no pattern is used for filling the area.", + "dflt": "", + "editType": "style", + "valType": "enumerated", + "values": [ + "", + "/", + "\\", + "x", + "-", + "|", + "+", + "." + ] + }, + "size": { + "arrayOk": true, + "description": "Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.", + "dflt": 8, + "editType": "style", + "min": 0, + "valType": "number" + }, + "solidity": { + "arrayOk": true, + "description": "Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.", + "dflt": 0.3, + "editType": "style", + "max": 1, + "min": 0, + "valType": "number" + } + }, + "groupnorm": { + "description": "Only relevant when `stackgroup` is used, and only the first `groupnorm` found in the `stackgroup` will be used - including if `visible` is *legendonly* but not if it is `false`. Sets the normalization for the sum of this `stackgroup`. With *fraction*, the value of each trace at each location is divided by the sum of all trace values at that location. *percent* is the same but multiplied by 100 to show percentages. If there are multiple subplots, or multiple `stackgroup`s on one subplot, each will be normalized within its own set.", + "dflt": "", + "editType": "calc", + "valType": "enumerated", + "values": [ + "", + "fraction", + "percent" + ] + }, + "hoverinfo": { + "arrayOk": true, + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "dflt": "all", + "editType": "none", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ], + "valType": "flaglist" + }, + "hoverlabel": { + "align": { + "arrayOk": true, + "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", + "dflt": "auto", + "editType": "none", + "valType": "enumerated", + "values": [ + "left", + "right", + "auto" + ] + }, + "bgcolor": { + "arrayOk": true, + "description": "Sets the background color of the hover labels for this trace", + "editType": "none", + "valType": "color" + }, + "bordercolor": { + "arrayOk": true, + "description": "Sets the border color of the hover labels for this trace.", + "editType": "none", + "valType": "color" + }, + "editType": "none", + "font": { + "color": { + "arrayOk": true, + "editType": "none", + "valType": "color" }, - "tickformat": { - "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", - "dflt": "", - "editType": "calc", + "description": "Sets the font used in hover labels.", + "editType": "none", + "family": { + "arrayOk": true, + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "none", + "noBlank": true, + "strict": true, "valType": "string" }, - "tickformatstops": { - "items": { - "tickformatstop": { - "dtickrange": { - "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", - "editType": "calc", - "items": [ - { - "editType": "calc", - "valType": "any" - }, - { - "editType": "calc", - "valType": "any" - } - ], - "valType": "info_array" - }, - "editType": "calc", - "enabled": { - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", - "dflt": true, - "editType": "calc", - "valType": "boolean" - }, - "name": { - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", - "editType": "calc", - "valType": "string" - }, - "role": "object", - "templateitemname": { - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", - "editType": "calc", - "valType": "string" - }, - "value": { - "description": "string - dtickformat for described zoom level, the same as *tickformat*", - "dflt": "", - "editType": "calc", - "valType": "string" - } - } - }, - "role": "object" - }, - "ticklabeloverflow": { - "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", - "editType": "calc", - "valType": "enumerated", - "values": [ - "allow", - "hide past div", - "hide past domain" - ] + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" }, - "ticklabelposition": { - "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", - "dflt": "outside", - "editType": "calc", - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" - ] + "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" }, - "ticklabelstep": { - "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", - "dflt": 1, - "editType": "calc", + "size": { + "arrayOk": true, + "editType": "none", "min": 1, - "valType": "integer" - }, - "ticklen": { - "description": "Sets the tick length (in px).", - "dflt": 5, - "editType": "calc", - "min": 0, "valType": "number" }, - "tickmode": { - "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", - "editType": "calc", - "impliedEdits": {}, + "style": { + "arrayOk": true, + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "none", "valType": "enumerated", "values": [ - "auto", - "linear", - "array" + "normal", + "italic" ] }, - "tickprefix": { - "description": "Sets a tick label prefix.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "ticks": { - "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", - "dflt": "", - "editType": "calc", + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", "valType": "enumerated", "values": [ - "outside", - "inside", - "" + "normal", + "word caps", + "upper", + "lower" ] }, - "ticksuffix": { - "description": "Sets a tick label suffix.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "ticktext": { - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "editType": "calc", - "valType": "data_array" - }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", + "variant": { + "arrayOk": true, + "description": "Sets the variant of the font.", + "dflt": "normal", "editType": "none", - "valType": "string" - }, - "tickvals": { - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "editType": "calc", - "valType": "data_array" + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", + "weight": { + "arrayOk": true, + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", "editType": "none", - "valType": "string" - }, - "tickwidth": { - "description": "Sets the tick width (in px).", - "dflt": 1, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "title": { - "editType": "calc", - "font": { - "color": { - "editType": "calc", - "valType": "color" - }, - "description": "Sets this color bar's title font.", - "editType": "calc", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "calc", - "valType": "string" - }, - "size": { - "editType": "calc", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "role": "object", - "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", - "editType": "calc", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - }, - "text": { - "description": "Sets the title of the color bar.", - "editType": "calc", - "valType": "string" - } + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "namelength": { + "arrayOk": true, + "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", + "dflt": 15, + "editType": "none", + "min": -1, + "valType": "integer" + }, + "role": "object", + "showarrow": { + "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", + "dflt": true, + "editType": "none", + "valType": "boolean" + } + }, + "hoveron": { + "description": "Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is *toself* or *tonext* and there are no markers or text, then the default is *fills*, otherwise it is *points*.", + "editType": "style", + "flags": [ + "points", + "fills" + ], + "valType": "flaglist" + }, + "hovertemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", + "dflt": "", + "editType": "none", + "valType": "string" + }, + "hovertemplatefallback": { + "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", + "dflt": "-", + "editType": "none", + "valType": "any" + }, + "hovertext": { + "arrayOk": true, + "description": "Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.", + "dflt": "", + "editType": "style", + "valType": "string" + }, + "ids": { + "anim": true, + "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", + "editType": "calc", + "valType": "data_array" + }, + "legend": { + "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", + "dflt": "legend", + "editType": "style", + "valType": "subplotid" + }, + "legendgroup": { + "description": "Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.", + "dflt": "", + "editType": "style", + "valType": "string" + }, + "legendgrouptitle": { + "editType": "style", + "font": { + "color": { + "editType": "style", + "valType": "color" }, - "x": { - "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", - "editType": "calc", - "valType": "number" + "description": "Sets this legend group's title font.", + "editType": "style", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "style", + "noBlank": true, + "strict": true, + "valType": "string" }, - "xanchor": { - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", - "editType": "calc", - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ] + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" }, - "xpad": { - "description": "Sets the amount of padding (in px) along the x direction.", - "dflt": 10, - "editType": "calc", - "min": 0, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, + "size": { + "editType": "style", + "min": 1, "valType": "number" }, - "xref": { - "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", - "dflt": "paper", - "editType": "calc", + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "style", "valType": "enumerated", "values": [ - "container", - "paper" + "normal", + "italic" ] }, - "y": { - "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", - "editType": "calc", - "valType": "number" - }, - "yanchor": { - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", - "editType": "calc", + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", "valType": "enumerated", "values": [ - "top", - "middle", - "bottom" + "normal", + "word caps", + "upper", + "lower" ] }, - "ypad": { - "description": "Sets the amount of padding (in px) along the y direction.", - "dflt": 10, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "yref": { - "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", - "dflt": "paper", - "editType": "calc", + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "style", "valType": "enumerated", "values": [ - "container", - "paper" + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] - } - }, - "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `line.cmin` and `line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "autocolorscale": false }, - "valType": "colorscale" + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "style", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", + "role": "object", + "text": { + "description": "Sets the title of the legend group.", + "dflt": "", + "editType": "style", "valType": "string" + } + }, + "legendrank": { + "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", + "dflt": 1000, + "editType": "style", + "valType": "number" + }, + "legendwidth": { + "description": "Sets the width (in px or fraction) of the legend for this trace.", + "editType": "style", + "min": 0, + "valType": "number" + }, + "line": { + "backoff": { + "arrayOk": true, + "description": "Sets the line back off from the end point of the nth line segment (in px). This option is useful e.g. to avoid overlap with arrowhead markers. With *auto* the lines would trim before markers if `marker.angleref` is set to *previous*.", + "dflt": "auto", + "editType": "plot", + "min": 0, + "valType": "number" + }, + "color": { + "anim": true, + "description": "Sets the line color.", + "editType": "style", + "valType": "color" }, "dash": { - "description": "Sets the dash style of the lines.", + "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", "dflt": "solid", - "editType": "calc", - "valType": "enumerated", + "editType": "style", + "valType": "string", "values": [ - "dash", - "dashdot", + "solid", "dot", + "dash", "longdash", - "longdashdot", - "solid" + "dashdot", + "longdashdot" ] }, - "editType": "calc", - "reversescale": { - "description": "Reverses the color mapping if true. Has an effect only if in `line.color` is set to a numerical array. If true, `line.cmin` will correspond to the last color in the array and `line.cmax` will correspond to the first color.", - "dflt": false, - "editType": "calc", - "valType": "boolean" - }, + "editType": "plot", "role": "object", - "showscale": { - "description": "Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `line.color` is set to a numerical array.", - "dflt": false, - "editType": "calc", + "shape": { + "description": "Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.", + "dflt": "linear", + "editType": "plot", + "valType": "enumerated", + "values": [ + "linear", + "spline", + "hv", + "vh", + "hvh", + "vhv" + ] + }, + "simplify": { + "description": "Simplifies lines by removing nearly-collinear points. When transitioning lines, it may be desirable to disable this so that the number of points along the resulting SVG path is unaffected.", + "dflt": true, + "editType": "plot", "valType": "boolean" }, + "smoothing": { + "description": "Has an effect only if `shape` is set to *spline* Sets the amount of smoothing. *0* corresponds to no smoothing (equivalent to a *linear* shape).", + "dflt": 1, + "editType": "plot", + "max": 1.3, + "min": 0, + "valType": "number" + }, "width": { + "anim": true, "description": "Sets the line width (in px).", "dflt": 2, - "editType": "calc", + "editType": "style", "min": 0, "valType": "number" } }, "marker": { + "angle": { + "anim": false, + "arrayOk": true, + "description": "Sets the marker angle in respect to `angleref`.", + "dflt": 0, + "editType": "plot", + "valType": "angle" + }, + "angleref": { + "anim": false, + "description": "Sets the reference for marker angle. With *previous*, angle 0 points along the line from the previous point to this one. With *up*, angle 0 points toward the top of the screen.", + "dflt": "up", + "editType": "plot", + "valType": "enumerated", + "values": [ + "previous", + "up" + ] + }, "autocolorscale": { "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", "dflt": true, @@ -63300,7 +53094,7 @@ "cmax": { "description": "Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.", "dflt": null, - "editType": "calc", + "editType": "plot", "impliedEdits": { "cauto": false }, @@ -63316,16 +53110,17 @@ "cmin": { "description": "Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.", "dflt": null, - "editType": "calc", + "editType": "plot", "impliedEdits": { "cauto": false }, "valType": "number" }, "color": { + "anim": true, "arrayOk": true, "description": "Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.", - "editType": "calc", + "editType": "style", "valType": "color" }, "coloraxis": { @@ -63339,35 +53134,35 @@ "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", - "editType": "calc", + "editType": "colorbars", "valType": "color" }, "bordercolor": { "description": "Sets the axis line color.", "dflt": "#444", - "editType": "calc", + "editType": "colorbars", "valType": "color" }, "borderwidth": { "description": "Sets the width (in px) or the border enclosing this color bar.", "dflt": 0, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, "dtick": { "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", - "editType": "calc", + "editType": "colorbars", "impliedEdits": { "tickmode": "linear" }, "valType": "any" }, - "editType": "calc", + "editType": "colorbars", "exponentformat": { "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B. *SI* uses prefixes from \"femto\" f (10^-15) to \"tera\" T (10^12). *SI extended* covers instead the full SI range from \"quecto\" q (10^-30) to \"quetta\" Q (10^30). If *SI* or *SI extended* is used and the exponent is beyond the above ranges, the formatting rule will automatically be switched to the power notation.", "dflt": "B", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "none", @@ -63382,20 +53177,20 @@ "labelalias": { "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", "dflt": false, - "editType": "calc", + "editType": "colorbars", "valType": "any" }, "len": { "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", "dflt": 1, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, "lenmode": { "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", "dflt": "fraction", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "fraction", @@ -63405,21 +53200,21 @@ "minexponent": { "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", "dflt": 3, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, "nticks": { "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", "dflt": 0, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "integer" }, "orientation": { "description": "Sets the orientation of the colorbar.", "dflt": "v", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "h", @@ -63429,13 +53224,13 @@ "outlinecolor": { "description": "Sets the axis line color.", "dflt": "#444", - "editType": "calc", + "editType": "colorbars", "valType": "color" }, "outlinewidth": { "description": "Sets the width (in px) of the axis line.", "dflt": 1, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, @@ -63443,13 +53238,13 @@ "separatethousands": { "description": "If \"true\", even 4-digit integers are separated", "dflt": false, - "editType": "calc", + "editType": "colorbars", "valType": "boolean" }, "showexponent": { "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", "dflt": "all", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "all", @@ -63461,13 +53256,13 @@ "showticklabels": { "description": "Determines whether or not the tick labels are drawn.", "dflt": true, - "editType": "calc", + "editType": "colorbars", "valType": "boolean" }, "showtickprefix": { "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", "dflt": "all", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "all", @@ -63479,7 +53274,7 @@ "showticksuffix": { "description": "Same as `showtickprefix` but for tick suffixes.", "dflt": "all", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "all", @@ -63491,14 +53286,14 @@ "thickness": { "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", "dflt": 30, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, "thicknessmode": { "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", "dflt": "pixels", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "fraction", @@ -63507,7 +53302,7 @@ }, "tick0": { "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", - "editType": "calc", + "editType": "colorbars", "impliedEdits": { "tickmode": "linear" }, @@ -63516,25 +53311,25 @@ "tickangle": { "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", "dflt": "auto", - "editType": "calc", + "editType": "colorbars", "valType": "angle" }, "tickcolor": { "description": "Sets the tick color.", "dflt": "#444", - "editType": "calc", + "editType": "colorbars", "valType": "color" }, "tickfont": { "color": { - "editType": "calc", + "editType": "colorbars", "valType": "color" }, "description": "Sets the color bar's tick label font", - "editType": "calc", + "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "calc", + "editType": "colorbars", "noBlank": true, "strict": true, "valType": "string" @@ -63542,7 +53337,7 @@ "lineposition": { "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", - "editType": "calc", + "editType": "colorbars", "extras": [ "none" ], @@ -63557,18 +53352,18 @@ "shadow": { "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", - "editType": "calc", + "editType": "colorbars", "valType": "string" }, "size": { - "editType": "calc", + "editType": "colorbars", "min": 1, "valType": "number" }, "style": { "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "normal", @@ -63578,7 +53373,7 @@ "textcase": { "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "normal", @@ -63590,7 +53385,7 @@ "variant": { "description": "Sets the variant of the font.", "dflt": "normal", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "normal", @@ -63604,7 +53399,7 @@ "weight": { "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", - "editType": "calc", + "editType": "colorbars", "extras": [ "normal", "bold" @@ -63617,7 +53412,7 @@ "tickformat": { "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", "dflt": "", - "editType": "calc", + "editType": "colorbars", "valType": "string" }, "tickformatstops": { @@ -63625,41 +53420,41 @@ "tickformatstop": { "dtickrange": { "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", - "editType": "calc", + "editType": "colorbars", "items": [ { - "editType": "calc", + "editType": "colorbars", "valType": "any" }, { - "editType": "calc", + "editType": "colorbars", "valType": "any" } ], "valType": "info_array" }, - "editType": "calc", + "editType": "colorbars", "enabled": { "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", "dflt": true, - "editType": "calc", + "editType": "colorbars", "valType": "boolean" }, "name": { "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", - "editType": "calc", + "editType": "colorbars", "valType": "string" }, "role": "object", "templateitemname": { "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", - "editType": "calc", + "editType": "colorbars", "valType": "string" }, "value": { "description": "string - dtickformat for described zoom level, the same as *tickformat*", "dflt": "", - "editType": "calc", + "editType": "colorbars", "valType": "string" } } @@ -63668,7 +53463,7 @@ }, "ticklabeloverflow": { "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "allow", @@ -63679,7 +53474,7 @@ "ticklabelposition": { "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", "dflt": "outside", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "outside", @@ -63697,20 +53492,20 @@ "ticklabelstep": { "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", "dflt": 1, - "editType": "calc", + "editType": "colorbars", "min": 1, "valType": "integer" }, "ticklen": { "description": "Sets the tick length (in px).", "dflt": 5, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, "tickmode": { "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", - "editType": "calc", + "editType": "colorbars", "impliedEdits": {}, "valType": "enumerated", "values": [ @@ -63722,13 +53517,13 @@ "tickprefix": { "description": "Sets a tick label prefix.", "dflt": "", - "editType": "calc", + "editType": "colorbars", "valType": "string" }, "ticks": { "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", "dflt": "", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "outside", @@ -63739,48 +53534,38 @@ "ticksuffix": { "description": "Sets a tick label suffix.", "dflt": "", - "editType": "calc", + "editType": "colorbars", "valType": "string" }, "ticktext": { "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "editType": "calc", + "editType": "colorbars", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "editType": "calc", + "editType": "colorbars", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, "title": { - "editType": "calc", + "editType": "colorbars", "font": { "color": { - "editType": "calc", + "editType": "colorbars", "valType": "color" }, "description": "Sets this color bar's title font.", - "editType": "calc", + "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "calc", + "editType": "colorbars", "noBlank": true, "strict": true, "valType": "string" @@ -63788,7 +53573,7 @@ "lineposition": { "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", - "editType": "calc", + "editType": "colorbars", "extras": [ "none" ], @@ -63803,18 +53588,18 @@ "shadow": { "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", - "editType": "calc", + "editType": "colorbars", "valType": "string" }, "size": { - "editType": "calc", + "editType": "colorbars", "min": 1, "valType": "number" }, "style": { "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "normal", @@ -63824,7 +53609,7 @@ "textcase": { "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "normal", @@ -63836,7 +53621,7 @@ "variant": { "description": "Sets the variant of the font.", "dflt": "normal", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "normal", @@ -63850,7 +53635,7 @@ "weight": { "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", - "editType": "calc", + "editType": "colorbars", "extras": [ "normal", "bold" @@ -63862,8 +53647,8 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", - "editType": "calc", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", + "editType": "colorbars", "valType": "enumerated", "values": [ "right", @@ -63873,18 +53658,18 @@ }, "text": { "description": "Sets the title of the color bar.", - "editType": "calc", + "editType": "colorbars", "valType": "string" } }, "x": { "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", - "editType": "calc", + "editType": "colorbars", "valType": "number" }, "xanchor": { "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "left", @@ -63895,14 +53680,14 @@ "xpad": { "description": "Sets the amount of padding (in px) along the x direction.", "dflt": 10, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, "xref": { "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", "dflt": "paper", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "container", @@ -63911,12 +53696,12 @@ }, "y": { "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", - "editType": "calc", + "editType": "colorbars", "valType": "number" }, "yanchor": { "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "top", @@ -63927,14 +53712,14 @@ "ypad": { "description": "Sets the amount of padding (in px) along the y direction.", "dflt": 10, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, "yref": { "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", "dflt": "paper", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "container", @@ -63943,7 +53728,7 @@ } }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -63951,12 +53736,30 @@ }, "valType": "colorscale" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", + "gradient": { + "color": { + "arrayOk": true, + "description": "Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.", + "editType": "calc", + "valType": "color" + }, + "editType": "calc", + "role": "object", + "type": { + "arrayOk": true, + "description": "Sets the type of gradient used to fill the markers", + "dflt": "none", + "editType": "calc", + "valType": "enumerated", + "values": [ + "radial", + "horizontal", + "vertical", + "none" + ] + } + }, "line": { "autocolorscale": { "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", @@ -63975,7 +53778,7 @@ "cmax": { "description": "Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.", "dflt": null, - "editType": "calc", + "editType": "plot", "impliedEdits": { "cauto": false }, @@ -63991,16 +53794,17 @@ "cmin": { "description": "Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.", "dflt": null, - "editType": "calc", + "editType": "plot", "impliedEdits": { "cauto": false }, "valType": "number" }, "color": { + "anim": true, "arrayOk": true, "description": "Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.", - "editType": "calc", + "editType": "style", "valType": "color" }, "coloraxis": { @@ -64011,7 +53815,7 @@ "valType": "subplotid" }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -64019,31 +53823,50 @@ }, "valType": "colorscale" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" + "dash": { + "arrayOk": true, + "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", + "dflt": "solid", + "editType": "style", + "valType": "string", + "values": [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" + ] }, "editType": "calc", "reversescale": { "description": "Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.", "dflt": false, - "editType": "calc", + "editType": "plot", "valType": "boolean" }, "role": "object", "width": { - "arrayOk": false, + "anim": true, + "arrayOk": true, "description": "Sets the width (in px) of the lines bounding the marker points.", - "editType": "calc", + "editType": "style", "min": 0, "valType": "number" } }, + "maxdisplayed": { + "description": "Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.", + "dflt": 0, + "editType": "plot", + "min": 0, + "valType": "number" + }, "opacity": { - "arrayOk": false, - "description": "Sets the marker opacity. Note that the marker opacity for scatter3d traces must be a scalar value for performance reasons. To set a blending opacity value (i.e. which is not transparent), set *marker.color* to an rgba color and use its alpha channel.", - "editType": "calc", + "anim": true, + "arrayOk": true, + "description": "Sets the marker opacity.", + "editType": "style", "max": 1, "min": 0, "valType": "number" @@ -64051,7 +53874,7 @@ "reversescale": { "description": "Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.", "dflt": false, - "editType": "calc", + "editType": "plot", "valType": "boolean" }, "role": "object", @@ -64062,9 +53885,10 @@ "valType": "boolean" }, "size": { + "anim": true, "arrayOk": true, "description": "Sets the marker size (in px).", - "dflt": 8, + "dflt": 6, "editType": "calc", "min": 0, "valType": "number" @@ -64092,32 +53916,509 @@ "editType": "calc", "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" + "standoff": { + "anim": true, + "arrayOk": true, + "description": "Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it.", + "dflt": 0, + "editType": "plot", + "min": 0, + "valType": "number" }, "symbol": { "arrayOk": true, - "description": "Sets the marker symbol type.", + "description": "Sets the marker symbol type. Adding 100 is equivalent to appending *-open* to a symbol name. Adding 200 is equivalent to appending *-dot* to a symbol name. Adding 300 is equivalent to appending *-open-dot* or *dot-open* to a symbol name.", "dflt": "circle", - "editType": "calc", + "editType": "style", "valType": "enumerated", "values": [ + 0, + "0", "circle", + 100, + "100", "circle-open", - "cross", - "diamond", - "diamond-open", + 200, + "200", + "circle-dot", + 300, + "300", + "circle-open-dot", + 1, + "1", "square", + 101, + "101", "square-open", - "x" + 201, + "201", + "square-dot", + 301, + "301", + "square-open-dot", + 2, + "2", + "diamond", + 102, + "102", + "diamond-open", + 202, + "202", + "diamond-dot", + 302, + "302", + "diamond-open-dot", + 3, + "3", + "cross", + 103, + "103", + "cross-open", + 203, + "203", + "cross-dot", + 303, + "303", + "cross-open-dot", + 4, + "4", + "x", + 104, + "104", + "x-open", + 204, + "204", + "x-dot", + 304, + "304", + "x-open-dot", + 5, + "5", + "triangle-up", + 105, + "105", + "triangle-up-open", + 205, + "205", + "triangle-up-dot", + 305, + "305", + "triangle-up-open-dot", + 6, + "6", + "triangle-down", + 106, + "106", + "triangle-down-open", + 206, + "206", + "triangle-down-dot", + 306, + "306", + "triangle-down-open-dot", + 7, + "7", + "triangle-left", + 107, + "107", + "triangle-left-open", + 207, + "207", + "triangle-left-dot", + 307, + "307", + "triangle-left-open-dot", + 8, + "8", + "triangle-right", + 108, + "108", + "triangle-right-open", + 208, + "208", + "triangle-right-dot", + 308, + "308", + "triangle-right-open-dot", + 9, + "9", + "triangle-ne", + 109, + "109", + "triangle-ne-open", + 209, + "209", + "triangle-ne-dot", + 309, + "309", + "triangle-ne-open-dot", + 10, + "10", + "triangle-se", + 110, + "110", + "triangle-se-open", + 210, + "210", + "triangle-se-dot", + 310, + "310", + "triangle-se-open-dot", + 11, + "11", + "triangle-sw", + 111, + "111", + "triangle-sw-open", + 211, + "211", + "triangle-sw-dot", + 311, + "311", + "triangle-sw-open-dot", + 12, + "12", + "triangle-nw", + 112, + "112", + "triangle-nw-open", + 212, + "212", + "triangle-nw-dot", + 312, + "312", + "triangle-nw-open-dot", + 13, + "13", + "pentagon", + 113, + "113", + "pentagon-open", + 213, + "213", + "pentagon-dot", + 313, + "313", + "pentagon-open-dot", + 14, + "14", + "hexagon", + 114, + "114", + "hexagon-open", + 214, + "214", + "hexagon-dot", + 314, + "314", + "hexagon-open-dot", + 15, + "15", + "hexagon2", + 115, + "115", + "hexagon2-open", + 215, + "215", + "hexagon2-dot", + 315, + "315", + "hexagon2-open-dot", + 16, + "16", + "octagon", + 116, + "116", + "octagon-open", + 216, + "216", + "octagon-dot", + 316, + "316", + "octagon-open-dot", + 17, + "17", + "star", + 117, + "117", + "star-open", + 217, + "217", + "star-dot", + 317, + "317", + "star-open-dot", + 18, + "18", + "hexagram", + 118, + "118", + "hexagram-open", + 218, + "218", + "hexagram-dot", + 318, + "318", + "hexagram-open-dot", + 19, + "19", + "star-triangle-up", + 119, + "119", + "star-triangle-up-open", + 219, + "219", + "star-triangle-up-dot", + 319, + "319", + "star-triangle-up-open-dot", + 20, + "20", + "star-triangle-down", + 120, + "120", + "star-triangle-down-open", + 220, + "220", + "star-triangle-down-dot", + 320, + "320", + "star-triangle-down-open-dot", + 21, + "21", + "star-square", + 121, + "121", + "star-square-open", + 221, + "221", + "star-square-dot", + 321, + "321", + "star-square-open-dot", + 22, + "22", + "star-diamond", + 122, + "122", + "star-diamond-open", + 222, + "222", + "star-diamond-dot", + 322, + "322", + "star-diamond-open-dot", + 23, + "23", + "diamond-tall", + 123, + "123", + "diamond-tall-open", + 223, + "223", + "diamond-tall-dot", + 323, + "323", + "diamond-tall-open-dot", + 24, + "24", + "diamond-wide", + 124, + "124", + "diamond-wide-open", + 224, + "224", + "diamond-wide-dot", + 324, + "324", + "diamond-wide-open-dot", + 25, + "25", + "hourglass", + 125, + "125", + "hourglass-open", + 26, + "26", + "bowtie", + 126, + "126", + "bowtie-open", + 27, + "27", + "circle-cross", + 127, + "127", + "circle-cross-open", + 28, + "28", + "circle-x", + 128, + "128", + "circle-x-open", + 29, + "29", + "square-cross", + 129, + "129", + "square-cross-open", + 30, + "30", + "square-x", + 130, + "130", + "square-x-open", + 31, + "31", + "diamond-cross", + 131, + "131", + "diamond-cross-open", + 32, + "32", + "diamond-x", + 132, + "132", + "diamond-x-open", + 33, + "33", + "cross-thin", + 133, + "133", + "cross-thin-open", + 34, + "34", + "x-thin", + 134, + "134", + "x-thin-open", + 35, + "35", + "asterisk", + 135, + "135", + "asterisk-open", + 36, + "36", + "hash", + 136, + "136", + "hash-open", + 236, + "236", + "hash-dot", + 336, + "336", + "hash-open-dot", + 37, + "37", + "y-up", + 137, + "137", + "y-up-open", + 38, + "38", + "y-down", + 138, + "138", + "y-down-open", + 39, + "39", + "y-left", + 139, + "139", + "y-left-open", + 40, + "40", + "y-right", + 140, + "140", + "y-right-open", + 41, + "41", + "line-ew", + 141, + "141", + "line-ew-open", + 42, + "42", + "line-ns", + 142, + "142", + "line-ns-open", + 43, + "43", + "line-ne", + 143, + "143", + "line-ne-open", + 44, + "44", + "line-nw", + 144, + "144", + "line-nw-open", + 45, + "45", + "arrow-up", + 145, + "145", + "arrow-up-open", + 46, + "46", + "arrow-down", + 146, + "146", + "arrow-down-open", + 47, + "47", + "arrow-left", + 147, + "147", + "arrow-left-open", + 48, + "48", + "arrow-right", + 148, + "148", + "arrow-right-open", + 49, + "49", + "arrow-bar-up", + 149, + "149", + "arrow-bar-up-open", + 50, + "50", + "arrow-bar-down", + 150, + "150", + "arrow-bar-down-open", + 51, + "51", + "arrow-bar-left", + 151, + "151", + "arrow-bar-left-open", + 52, + "52", + "arrow-bar-right", + 152, + "152", + "arrow-bar-right-open", + 53, + "53", + "arrow", + 153, + "153", + "arrow-open", + 54, + "54", + "arrow-wide", + 154, + "154", + "arrow-wide-open" ] - }, - "symbolsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `symbol`.", - "editType": "none", - "valType": "string" } }, "meta": { @@ -64126,14 +54427,8 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "mode": { "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.", - "dflt": "lines+markers", "editType": "calc", "extras": [ "none" @@ -64150,101 +54445,68 @@ "editType": "style", "valType": "string" }, + "offsetgroup": { + "description": "Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.", + "dflt": "", + "editType": "calc", + "valType": "string" + }, "opacity": { "description": "Sets the opacity of the trace.", "dflt": 1, - "editType": "calc", + "editType": "style", "max": 1, "min": 0, "valType": "number" }, - "projection": { + "orientation": { + "description": "Only relevant in the following cases: 1. when `scattermode` is set to *group*. 2. when `stackgroup` is used, and only the first `orientation` found in the `stackgroup` will be used - including if `visible` is *legendonly* but not if it is `false`. Sets the stacking direction. With *v* (*h*), the y (x) values of subsequent traces are added. Also affects the default value of `fill`.", "editType": "calc", - "role": "object", - "x": { - "editType": "calc", - "opacity": { - "description": "Sets the projection color.", - "dflt": 1, - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - "role": "object", - "scale": { - "description": "Sets the scale factor determining the size of the projection marker points.", - "dflt": 0.6666666666666666, - "editType": "calc", - "max": 10, - "min": 0, - "valType": "number" - }, - "show": { - "description": "Sets whether or not projections are shown along the x axis.", - "dflt": false, - "editType": "calc", - "valType": "boolean" - } - }, - "y": { - "editType": "calc", - "opacity": { - "description": "Sets the projection color.", - "dflt": 1, - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - "role": "object", - "scale": { - "description": "Sets the scale factor determining the size of the projection marker points.", - "dflt": 0.6666666666666666, - "editType": "calc", - "max": 10, - "min": 0, - "valType": "number" + "valType": "enumerated", + "values": [ + "v", + "h" + ] + }, + "selected": { + "editType": "style", + "marker": { + "color": { + "description": "Sets the marker color of selected points.", + "editType": "style", + "valType": "color" }, - "show": { - "description": "Sets whether or not projections are shown along the y axis.", - "dflt": false, - "editType": "calc", - "valType": "boolean" - } - }, - "z": { - "editType": "calc", + "editType": "style", "opacity": { - "description": "Sets the projection color.", - "dflt": 1, - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - "role": "object", - "scale": { - "description": "Sets the scale factor determining the size of the projection marker points.", - "dflt": 0.6666666666666666, - "editType": "calc", - "max": 10, + "description": "Sets the marker opacity of selected points.", + "editType": "style", + "max": 1, "min": 0, "valType": "number" }, - "show": { - "description": "Sets whether or not projections are shown along the z axis.", - "dflt": false, - "editType": "calc", - "valType": "boolean" + "role": "object", + "size": { + "description": "Sets the marker size of selected points.", + "editType": "style", + "min": 0, + "valType": "number" } + }, + "role": "object", + "textfont": { + "color": { + "description": "Sets the text font color of selected points.", + "editType": "style", + "valType": "color" + }, + "editType": "style", + "role": "object" } }, - "scene": { - "description": "Sets a reference between this trace's 3D coordinate system and a 3D scene. If *scene* (the default value), the (x,y,z) coordinates refer to `layout.scene`. If *scene2*, the (x,y,z) coordinates refer to `layout.scene2`, and so on.", - "dflt": "scene", - "editType": "calc+clearAxisTypes", - "valType": "subplotid" + "selectedpoints": { + "description": "Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.", + "editType": "calc", + "valType": "any" }, "showlegend": { "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", @@ -64252,45 +54514,25 @@ "editType": "style", "valType": "boolean" }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, - "surfaceaxis": { - "description": "If *-1*, the scatter points are not fill with a surface If *0*, *1*, *2*, the scatter points are filled with a Delaunay surface about the x, y, z respectively.", - "dflt": -1, + "stackgaps": { + "description": "Only relevant when `stackgroup` is used, and only the first `stackgaps` found in the `stackgroup` will be used - including if `visible` is *legendonly* but not if it is `false`. Determines how we handle locations at which other traces in this group have data but this one does not. With *infer zero* we insert a zero at these locations. With *interpolate* we linearly interpolate between existing values, and extrapolate a constant beyond the existing values.", + "dflt": "infer zero", "editType": "calc", "valType": "enumerated", "values": [ - -1, - 0, - 1, - 2 + "infer zero", + "interpolate" ] }, - "surfacecolor": { - "description": "Sets the surface fill color.", + "stackgroup": { + "description": "Set several scatter traces (on the same subplot) to the same stackgroup in order to add their y values (or their x values if `orientation` is *h*). If blank or omitted this trace will not be stacked. Stacking also turns `fill` on by default, using *tonexty* (*tonextx*) if `orientation` is *h* (*v*) and sets the default `mode` to *lines* irrespective of point count. You can only stack on a numeric (linear or log) axis. Traces in a `stackgroup` will only fill to (or be filled to) other traces in the same group. With multiple `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order.", + "dflt": "", "editType": "calc", - "valType": "color" + "valType": "string" }, "text": { "arrayOk": true, - "description": "Sets text elements associated with each (x,y,z) triplet. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y,z) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", + "description": "Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", "dflt": "", "editType": "calc", "valType": "string" @@ -64298,14 +54540,9 @@ "textfont": { "color": { "arrayOk": true, - "editType": "calc", + "editType": "style", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the text font.", "editType": "calc", "family": { @@ -64316,23 +54553,35 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "calc", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -64344,10 +54593,18 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, "variant": { "arrayOk": true, @@ -64357,14 +54614,13 @@ "valType": "enumerated", "values": [ "normal", - "small-caps" + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -64377,17 +54633,12 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "textposition": { "arrayOk": true, "description": "Sets the positions of the `text` elements with respects to the (x,y) coordinates.", - "dflt": "top center", + "dflt": "middle center", "editType": "calc", "valType": "enumerated", "values": [ @@ -64402,16 +54653,6 @@ "bottom right" ] }, - "textpositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textposition`.", - "editType": "none", - "valType": "string" - }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, "texttemplate": { "arrayOk": true, "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. ", @@ -64425,13 +54666,9 @@ "editType": "calc", "valType": "any" }, - "texttemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `texttemplate`.", - "editType": "none", - "valType": "string" - }, - "type": "scatter3d", + "type": "scatter", "uid": { + "anim": true, "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", "editType": "plot", "valType": "string" @@ -64441,6 +54678,41 @@ "editType": "none", "valType": "any" }, + "unselected": { + "editType": "style", + "marker": { + "color": { + "description": "Sets the marker color of unselected points, applied only when a selection exists.", + "editType": "style", + "valType": "color" + }, + "editType": "style", + "opacity": { + "description": "Sets the marker opacity of unselected points, applied only when a selection exists.", + "editType": "style", + "max": 1, + "min": 0, + "valType": "number" + }, + "role": "object", + "size": { + "description": "Sets the marker size of unselected points, applied only when a selection exists.", + "editType": "style", + "min": 0, + "valType": "number" + } + }, + "role": "object", + "textfont": { + "color": { + "description": "Sets the text font color of unselected points, applied only when a selection exists.", + "editType": "style", + "valType": "color" + }, + "editType": "style", + "role": "object" + } + }, "visible": { "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", "dflt": true, @@ -64453,10 +54725,24 @@ ] }, "x": { + "anim": true, "description": "Sets the x coordinates.", "editType": "calc+clearAxisTypes", "valType": "data_array" }, + "x0": { + "anim": true, + "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.", + "dflt": 0, + "editType": "calc+clearAxisTypes", + "valType": "any" + }, + "xaxis": { + "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", + "dflt": "x", + "editType": "calc+clearAxisTypes", + "valType": "subplotid" + }, "xcalendar": { "description": "Sets the calendar system to use with `x` date data.", "dflt": "gregorian", @@ -64482,21 +54768,52 @@ ] }, "xhoverformat": { - "description": "Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", "dflt": "", - "editType": "calc", - "valType": "string" - }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", "editType": "none", "valType": "string" }, + "xperiod": { + "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer.", + "dflt": 0, + "editType": "calc", + "valType": "any" + }, + "xperiod0": { + "description": "Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.", + "editType": "calc", + "valType": "any" + }, + "xperiodalignment": { + "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.", + "dflt": "middle", + "editType": "calc", + "valType": "enumerated", + "values": [ + "start", + "middle", + "end" + ] + }, "y": { + "anim": true, "description": "Sets the y coordinates.", "editType": "calc+clearAxisTypes", "valType": "data_array" }, + "y0": { + "anim": true, + "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.", + "dflt": 0, + "editType": "calc+clearAxisTypes", + "valType": "any" + }, + "yaxis": { + "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.", + "dflt": "y", + "editType": "calc+clearAxisTypes", + "valType": "subplotid" + }, "ycalendar": { "description": "Sets the calendar system to use with `y` date data.", "dflt": "gregorian", @@ -64522,97 +54839,76 @@ ] }, "yhoverformat": { - "description": "Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", "dflt": "", - "editType": "calc", - "valType": "string" - }, - "ysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `y`.", "editType": "none", "valType": "string" }, - "z": { - "description": "Sets the z coordinates.", - "editType": "calc+clearAxisTypes", - "valType": "data_array" + "yperiod": { + "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer.", + "dflt": 0, + "editType": "calc", + "valType": "any" }, - "zcalendar": { - "description": "Sets the calendar system to use with `z` date data.", - "dflt": "gregorian", + "yperiod0": { + "description": "Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.", + "editType": "calc", + "valType": "any" + }, + "yperiodalignment": { + "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.", + "dflt": "middle", "editType": "calc", "valType": "enumerated", "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" + "start", + "middle", + "end" ] }, - "zhoverformat": { - "description": "Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "zsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `z`.", - "editType": "none", - "valType": "string" + "zorder": { + "description": "Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.", + "dflt": 0, + "editType": "plot", + "valType": "integer" } }, "categories": [ - "gl3d", + "cartesian", + "svg", "symbols", + "errorBarsOK", "showLegend", - "scatter-like" + "scatter-like", + "zoomScale" ], + "layoutAttributes": { + "scattergap": { + "description": "Sets the gap (in plot fraction) between scatter points of adjacent location coordinates. Defaults to `bargap`.", + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + "scattermode": { + "description": "Determines how scatter points at the same location coordinate are displayed on the graph. With *group*, the scatter points are plotted next to one another centered around the shared location. With *overlay*, the scatter points are plotted over one another, you might need to reduce *opacity* to see multiple scatter points.", + "dflt": "overlay", + "editType": "calc", + "valType": "enumerated", + "values": [ + "group", + "overlay" + ] + } + }, "meta": { - "description": "The data visualized as scatter point or lines in 3D dimension is set in `x`, `y`, `z`. Text (appearing either on the chart or on hover only) is via `text`. Bubble charts are achieved by setting `marker.size` and/or `marker.color` Projections are achieved via `projection`. Surface fills are achieved via `surfaceaxis`.", - "hrName": "scatter_3d" + "description": "The scatter trace type encompasses line charts, scatter charts, text charts, and bubble charts. The data visualized as scatter point or lines is set in `x` and `y`. Text (appearing either on the chart or on hover only) is via `text`. Bubble charts are achieved by setting `marker.size` and/or `marker.color` to numerical arrays." }, - "type": "scatter3d" + "type": "scatter" }, - "scattercarpet": { + "scatter3d": { "animatable": false, "attributes": { - "a": { - "description": "Sets the a-axis coordinates.", - "editType": "calc", - "valType": "data_array" - }, - "asrc": { - "description": "Sets the source reference on Chart Studio Cloud for `a`.", - "editType": "none", - "valType": "string" - }, - "b": { - "description": "Sets the b-axis coordinates.", - "editType": "calc", - "valType": "data_array" - }, - "bsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `b`.", - "editType": "none", - "valType": "string" - }, - "carpet": { - "description": "An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on which they lie", - "editType": "calc", - "valType": "string" - }, "connectgaps": { "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.", "dflt": false, @@ -64624,50 +54920,270 @@ "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" + "error_x": { + "array": { + "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", + "editType": "calc", + "valType": "data_array" + }, + "arrayminus": { + "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", + "editType": "calc", + "valType": "data_array" + }, + "color": { + "description": "Sets the stroke color of the error bars.", + "editType": "calc", + "valType": "color" + }, + "copy_zstyle": { + "editType": "calc", + "valType": "boolean" + }, + "editType": "calc", + "role": "object", + "symmetric": { + "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", + "editType": "calc", + "valType": "boolean" + }, + "thickness": { + "description": "Sets the thickness (in px) of the error bars.", + "dflt": 2, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "traceref": { + "dflt": 0, + "editType": "calc", + "min": 0, + "valType": "integer" + }, + "tracerefminus": { + "dflt": 0, + "editType": "calc", + "min": 0, + "valType": "integer" + }, + "type": { + "description": "Determines the rule used to generate the error bars. If *constant*, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "percent", + "constant", + "sqrt", + "data" + ] + }, + "value": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", + "dflt": 10, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "valueminus": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", + "dflt": 10, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "visible": { + "description": "Determines whether or not this set of error bars is visible.", + "editType": "calc", + "valType": "boolean" + }, + "width": { + "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", + "editType": "calc", + "min": 0, + "valType": "number" + } }, - "fill": { - "description": "Sets the area to fill with a solid color. Use with `fillcolor` if not *none*. scatterternary has a subset of the options available to scatter. *toself* connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. *tonext* fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like *toself* if there is no trace before it. *tonext* should not be used if one trace does not enclose the other.", - "dflt": "none", + "error_y": { + "array": { + "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", + "editType": "calc", + "valType": "data_array" + }, + "arrayminus": { + "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", + "editType": "calc", + "valType": "data_array" + }, + "color": { + "description": "Sets the stroke color of the error bars.", + "editType": "calc", + "valType": "color" + }, + "copy_zstyle": { + "editType": "calc", + "valType": "boolean" + }, + "editType": "calc", + "role": "object", + "symmetric": { + "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", + "editType": "calc", + "valType": "boolean" + }, + "thickness": { + "description": "Sets the thickness (in px) of the error bars.", + "dflt": 2, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "traceref": { + "dflt": 0, + "editType": "calc", + "min": 0, + "valType": "integer" + }, + "tracerefminus": { + "dflt": 0, + "editType": "calc", + "min": 0, + "valType": "integer" + }, + "type": { + "description": "Determines the rule used to generate the error bars. If *constant*, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "percent", + "constant", + "sqrt", + "data" + ] + }, + "value": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", + "dflt": 10, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "valueminus": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", + "dflt": 10, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "visible": { + "description": "Determines whether or not this set of error bars is visible.", + "editType": "calc", + "valType": "boolean" + }, + "width": { + "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", + "editType": "calc", + "min": 0, + "valType": "number" + } + }, + "error_z": { + "array": { + "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", + "editType": "calc", + "valType": "data_array" + }, + "arrayminus": { + "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", + "editType": "calc", + "valType": "data_array" + }, + "color": { + "description": "Sets the stroke color of the error bars.", + "editType": "calc", + "valType": "color" + }, "editType": "calc", - "valType": "enumerated", - "values": [ - "none", - "toself", - "tonext" - ] - }, - "fillcolor": { - "description": "Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.", - "editType": "style", - "valType": "color" + "role": "object", + "symmetric": { + "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", + "editType": "calc", + "valType": "boolean" + }, + "thickness": { + "description": "Sets the thickness (in px) of the error bars.", + "dflt": 2, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "traceref": { + "dflt": 0, + "editType": "calc", + "min": 0, + "valType": "integer" + }, + "tracerefminus": { + "dflt": 0, + "editType": "calc", + "min": 0, + "valType": "integer" + }, + "type": { + "description": "Determines the rule used to generate the error bars. If *constant*, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "percent", + "constant", + "sqrt", + "data" + ] + }, + "value": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", + "dflt": 10, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "valueminus": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", + "dflt": 10, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "visible": { + "description": "Determines whether or not this set of error bars is visible.", + "editType": "calc", + "valType": "boolean" + }, + "width": { + "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", + "editType": "calc", + "min": 0, + "valType": "number" + } }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", "dflt": "all", - "editType": "none", + "editType": "calc", "extras": [ "all", "none", "skip" ], "flags": [ - "a", - "b", + "x", + "y", + "z", "text", "name" ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -64681,33 +55197,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -64715,420 +55216,958 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" + "description": "Sets the font used in hover labels.", + "editType": "none", + "family": { + "arrayOk": true, + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "none", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "size": { + "arrayOk": true, + "editType": "none", + "min": 1, + "valType": "number" + }, + "style": { + "arrayOk": true, + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "arrayOk": true, + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "arrayOk": true, + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "none", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "namelength": { + "arrayOk": true, + "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", + "dflt": 15, + "editType": "none", + "min": -1, + "valType": "integer" + }, + "role": "object", + "showarrow": { + "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", + "dflt": true, + "editType": "none", + "valType": "boolean" + } + }, + "hovertemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", + "dflt": "", + "editType": "calc", + "valType": "string" + }, + "hovertemplatefallback": { + "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", + "dflt": "-", + "editType": "calc", + "valType": "any" + }, + "hovertext": { + "arrayOk": true, + "description": "Sets text elements associated with each (x,y,z) triplet. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y,z) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.", + "dflt": "", + "editType": "calc", + "valType": "string" + }, + "ids": { + "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", + "editType": "calc", + "valType": "data_array" + }, + "legend": { + "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", + "dflt": "legend", + "editType": "style", + "valType": "subplotid" + }, + "legendgroup": { + "description": "Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.", + "dflt": "", + "editType": "style", + "valType": "string" + }, + "legendgrouptitle": { + "editType": "style", + "font": { + "color": { + "editType": "style", + "valType": "color" + }, + "description": "Sets this legend group's title font.", + "editType": "style", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "style", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, + "size": { + "editType": "style", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "style", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "role": "object", + "text": { + "description": "Sets the title of the legend group.", + "dflt": "", + "editType": "style", + "valType": "string" + } + }, + "legendrank": { + "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", + "dflt": 1000, + "editType": "style", + "valType": "number" + }, + "legendwidth": { + "description": "Sets the width (in px or fraction) of the legend for this trace.", + "editType": "style", + "min": 0, + "valType": "number" + }, + "line": { + "autocolorscale": { + "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `line.colorscale`. Has an effect only if in `line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", + "dflt": true, + "editType": "calc", + "impliedEdits": {}, + "valType": "boolean" + }, + "cauto": { + "description": "Determines whether or not the color domain is computed with respect to the input data (here in `line.color`) or the bounds set in `line.cmin` and `line.cmax` Has an effect only if in `line.color` is set to a numerical array. Defaults to `false` when `line.cmin` and `line.cmax` are set by the user.", + "dflt": true, + "editType": "calc", + "impliedEdits": {}, + "valType": "boolean" + }, + "cmax": { + "description": "Sets the upper bound of the color domain. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmin` must be set as well.", + "dflt": null, + "editType": "calc", + "impliedEdits": { + "cauto": false + }, + "valType": "number" + }, + "cmid": { + "description": "Sets the mid-point of the color domain by scaling `line.cmin` and/or `line.cmax` to be equidistant to this point. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color`. Has no effect when `line.cauto` is `false`.", + "dflt": null, + "editType": "calc", + "impliedEdits": {}, + "valType": "number" + }, + "cmin": { + "description": "Sets the lower bound of the color domain. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmax` must be set as well.", + "dflt": null, + "editType": "calc", + "impliedEdits": { + "cauto": false + }, + "valType": "number" + }, + "color": { + "arrayOk": true, + "description": "Sets the line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `line.cmin` and `line.cmax` if set.", + "editType": "calc", + "valType": "color" + }, + "coloraxis": { + "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", + "dflt": null, + "editType": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", + "valType": "subplotid" + }, + "colorbar": { + "bgcolor": { + "description": "Sets the color of padded area.", + "dflt": "rgba(0,0,0,0)", + "editType": "calc", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "editType": "calc", + "valType": "color" + }, + "borderwidth": { + "description": "Sets the width (in px) or the border enclosing this color bar.", + "dflt": 0, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "dtick": { + "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", + "editType": "calc", + "impliedEdits": { + "tickmode": "linear" + }, + "valType": "any" + }, + "editType": "calc", + "exponentformat": { + "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B. *SI* uses prefixes from \"femto\" f (10^-15) to \"tera\" T (10^12). *SI extended* covers instead the full SI range from \"quecto\" q (10^-30) to \"quetta\" Q (10^30). If *SI* or *SI extended* is used and the exponent is beyond the above ranges, the formatting rule will automatically be switched to the power notation.", + "dflt": "B", + "editType": "calc", + "valType": "enumerated", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B", + "SI extended" + ] + }, + "labelalias": { + "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", + "dflt": false, + "editType": "calc", + "valType": "any" + }, + "len": { + "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", + "dflt": 1, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "lenmode": { + "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", + "dflt": "fraction", + "editType": "calc", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "minexponent": { + "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", + "dflt": 3, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "nticks": { + "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "editType": "calc", + "min": 0, + "valType": "integer" + }, + "orientation": { + "description": "Sets the orientation of the colorbar.", + "dflt": "v", + "editType": "calc", + "valType": "enumerated", + "values": [ + "h", + "v" + ] + }, + "outlinecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "editType": "calc", + "valType": "color" + }, + "outlinewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "role": "object", + "separatethousands": { + "description": "If \"true\", even 4-digit integers are separated", + "dflt": false, + "editType": "calc", + "valType": "boolean" + }, + "showexponent": { + "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", + "dflt": "all", + "editType": "calc", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "description": "Sets the font used in hover labels.", - "editType": "none", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "none", - "noBlank": true, - "strict": true, - "valType": "string" + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "editType": "calc", + "valType": "boolean" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" + "showtickprefix": { + "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", + "dflt": "all", + "editType": "calc", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "none", - "extras": [ + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "editType": "calc", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" + ] }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" + "thickness": { + "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", + "dflt": 30, + "editType": "calc", + "min": 0, + "valType": "number" }, - "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "none", - "valType": "string" + "thicknessmode": { + "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", + "dflt": "pixels", + "editType": "calc", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "calc", + "impliedEdits": { + "tickmode": "linear" + }, + "valType": "any" }, - "size": { - "arrayOk": true, - "editType": "none", - "min": 1, - "valType": "number" + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "editType": "calc", + "valType": "angle" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "editType": "calc", + "valType": "color" + }, + "tickfont": { + "color": { + "editType": "calc", + "valType": "color" + }, + "description": "Sets the color bar's tick label font", + "editType": "calc", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "calc", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "size": { + "editType": "calc", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "calc", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "tickformat": { + "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", + "dflt": "", + "editType": "calc", "valType": "string" }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "none", + "tickformatstops": { + "items": { + "tickformatstop": { + "dtickrange": { + "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", + "editType": "calc", + "items": [ + { + "editType": "calc", + "valType": "any" + }, + { + "editType": "calc", + "valType": "any" + } + ], + "valType": "info_array" + }, + "editType": "calc", + "enabled": { + "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", + "dflt": true, + "editType": "calc", + "valType": "boolean" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "calc", + "valType": "string" + }, + "role": "object", + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "calc", + "valType": "string" + }, + "value": { + "description": "string - dtickformat for described zoom level, the same as *tickformat*", + "dflt": "", + "editType": "calc", + "valType": "string" + } + } + }, + "role": "object" + }, + "ticklabeloverflow": { + "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", + "editType": "calc", "valType": "enumerated", "values": [ - "normal", - "italic" + "allow", + "hide past div", + "hide past domain" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" + "ticklabelposition": { + "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", + "dflt": "outside", + "editType": "calc", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom" + ] }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "none", + "ticklabelstep": { + "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", + "dflt": 1, + "editType": "calc", + "min": 1, + "valType": "integer" + }, + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "tickmode": { + "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", + "editType": "calc", + "impliedEdits": {}, "valType": "enumerated", "values": [ - "normal", - "word caps", - "upper", - "lower" + "auto", + "linear", + "array" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", + "editType": "calc", "valType": "string" }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "none", + "ticks": { + "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", + "dflt": "", + "editType": "calc", "valType": "enumerated", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "outside", + "inside", + "" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "editType": "calc", "valType": "string" }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "none", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", + "editType": "calc", + "valType": "data_array" }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } - }, - "namelength": { - "arrayOk": true, - "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", - "dflt": 15, - "editType": "none", - "min": -1, - "valType": "integer" - }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "showarrow": { - "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", - "dflt": true, - "editType": "none", - "valType": "boolean" - } - }, - "hoveron": { - "description": "Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is *toself* or *tonext* and there are no markers or text, then the default is *fills*, otherwise it is *points*.", - "editType": "style", - "flags": [ - "points", - "fills" - ], - "valType": "flaglist" - }, - "hovertemplate": { - "arrayOk": true, - "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "hovertemplatefallback": { - "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", - "dflt": "-", - "editType": "none", - "valType": "any" - }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, - "hovertext": { - "arrayOk": true, - "description": "Sets hover text elements associated with each (a,b) point. If a single string, the same string appears over all the data points. If an array of strings, the items are mapped in order to the the data points in (a,b). To be seen, trace `hoverinfo` must contain a *text* flag.", - "dflt": "", - "editType": "style", - "valType": "string" - }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, - "ids": { - "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", - "editType": "calc", - "valType": "data_array" - }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, - "legend": { - "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", - "dflt": "legend", - "editType": "style", - "valType": "subplotid" - }, - "legendgroup": { - "description": "Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.", - "dflt": "", - "editType": "style", - "valType": "string" - }, - "legendgrouptitle": { - "editType": "style", - "font": { - "color": { - "editType": "style", - "valType": "color" + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "editType": "calc", + "valType": "data_array" }, - "description": "Sets this legend group's title font.", - "editType": "style", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "style", - "noBlank": true, - "strict": true, - "valType": "string" + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "title": { + "editType": "calc", + "font": { + "color": { + "editType": "calc", + "valType": "color" + }, + "description": "Sets this color bar's title font.", + "editType": "calc", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", + "editType": "calc", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "size": { + "editType": "calc", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "calc", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "role": "object", + "side": { + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "right", + "top", + "bottom" + ] + }, + "text": { + "description": "Sets the title of the color bar.", + "editType": "calc", + "valType": "string" + } }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "style", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" + "x": { + "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", + "editType": "calc", + "valType": "number" }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "style", - "valType": "string" + "xanchor": { + "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] }, - "size": { - "editType": "style", - "min": 1, + "xpad": { + "description": "Sets the amount of padding (in px) along the x direction.", + "dflt": 10, + "editType": "calc", + "min": 0, "valType": "number" }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "style", + "xref": { + "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", + "dflt": "paper", + "editType": "calc", "valType": "enumerated", "values": [ - "normal", - "italic" + "container", + "paper" ] }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "style", + "y": { + "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", + "editType": "calc", + "valType": "number" + }, + "yanchor": { + "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", + "editType": "calc", "valType": "enumerated", "values": [ - "normal", - "word caps", - "upper", - "lower" + "top", + "middle", + "bottom" ] }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "style", + "ypad": { + "description": "Sets the amount of padding (in px) along the y direction.", + "dflt": 10, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "yref": { + "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", + "dflt": "paper", + "editType": "calc", "valType": "enumerated", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "container", + "paper" ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "style", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" } }, - "role": "object", - "text": { - "description": "Sets the title of the legend group.", - "dflt": "", - "editType": "style", - "valType": "string" - } - }, - "legendrank": { - "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", - "dflt": 1000, - "editType": "style", - "valType": "number" - }, - "legendwidth": { - "description": "Sets the width (in px or fraction) of the legend for this trace.", - "editType": "style", - "min": 0, - "valType": "number" - }, - "line": { - "backoff": { - "arrayOk": true, - "description": "Sets the line back off from the end point of the nth line segment (in px). This option is useful e.g. to avoid overlap with arrowhead markers. With *auto* the lines would trim before markers if `marker.angleref` is set to *previous*.", - "dflt": "auto", - "editType": "plot", - "min": 0, - "valType": "number" - }, - "backoffsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `backoff`.", - "editType": "none", - "valType": "string" - }, - "color": { - "description": "Sets the line color.", - "editType": "style", - "valType": "color" + "colorscale": { + "description": "Sets the colorscale. Has an effect only if in `line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `line.cmin` and `line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "dflt": null, + "editType": "calc", + "impliedEdits": { + "autocolorscale": false + }, + "valType": "colorscale" }, "dash": { - "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", + "description": "Sets the dash style of the lines.", "dflt": "solid", - "editType": "style", - "valType": "string", + "editType": "calc", + "valType": "enumerated", "values": [ - "solid", - "dot", "dash", - "longdash", "dashdot", - "longdashdot" + "dot", + "longdash", + "longdashdot", + "solid" ] }, "editType": "calc", - "role": "object", - "shape": { - "description": "Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.", - "dflt": "linear", - "editType": "plot", - "valType": "enumerated", - "values": [ - "linear", - "spline" - ] + "reversescale": { + "description": "Reverses the color mapping if true. Has an effect only if in `line.color` is set to a numerical array. If true, `line.cmin` will correspond to the last color in the array and `line.cmax` will correspond to the first color.", + "dflt": false, + "editType": "calc", + "valType": "boolean" }, - "smoothing": { - "description": "Has an effect only if `shape` is set to *spline* Sets the amount of smoothing. *0* corresponds to no smoothing (equivalent to a *linear* shape).", - "dflt": 1, - "editType": "plot", - "max": 1.3, - "min": 0, - "valType": "number" + "role": "object", + "showscale": { + "description": "Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `line.color` is set to a numerical array.", + "dflt": false, + "editType": "calc", + "valType": "boolean" }, "width": { "description": "Sets the line width (in px).", "dflt": 2, - "editType": "style", + "editType": "calc", "min": 0, "valType": "number" } }, "marker": { - "angle": { - "arrayOk": true, - "description": "Sets the marker angle in respect to `angleref`.", - "dflt": 0, - "editType": "plot", - "valType": "angle" - }, - "angleref": { - "description": "Sets the reference for marker angle. With *previous*, angle 0 points along the line from the previous point to this one. With *up*, angle 0 points toward the top of the screen.", - "dflt": "up", - "editType": "plot", - "valType": "enumerated", - "values": [ - "previous", - "up" - ] - }, - "anglesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `angle`.", - "editType": "none", - "valType": "string" - }, "autocolorscale": { "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", "dflt": true, @@ -65146,7 +56185,7 @@ "cmax": { "description": "Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.", "dflt": null, - "editType": "plot", + "editType": "calc", "impliedEdits": { "cauto": false }, @@ -65162,7 +56201,7 @@ "cmin": { "description": "Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.", "dflt": null, - "editType": "plot", + "editType": "calc", "impliedEdits": { "cauto": false }, @@ -65171,7 +56210,7 @@ "color": { "arrayOk": true, "description": "Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.", - "editType": "style", + "editType": "calc", "valType": "color" }, "coloraxis": { @@ -65185,35 +56224,35 @@ "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", - "editType": "colorbars", + "editType": "calc", "valType": "color" }, "bordercolor": { "description": "Sets the axis line color.", "dflt": "#444", - "editType": "colorbars", + "editType": "calc", "valType": "color" }, "borderwidth": { "description": "Sets the width (in px) or the border enclosing this color bar.", "dflt": 0, - "editType": "colorbars", + "editType": "calc", "min": 0, "valType": "number" }, "dtick": { "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", - "editType": "colorbars", + "editType": "calc", "impliedEdits": { "tickmode": "linear" }, "valType": "any" }, - "editType": "colorbars", + "editType": "calc", "exponentformat": { "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B. *SI* uses prefixes from \"femto\" f (10^-15) to \"tera\" T (10^12). *SI extended* covers instead the full SI range from \"quecto\" q (10^-30) to \"quetta\" Q (10^30). If *SI* or *SI extended* is used and the exponent is beyond the above ranges, the formatting rule will automatically be switched to the power notation.", "dflt": "B", - "editType": "colorbars", + "editType": "calc", "valType": "enumerated", "values": [ "none", @@ -65228,20 +56267,20 @@ "labelalias": { "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", "dflt": false, - "editType": "colorbars", + "editType": "calc", "valType": "any" }, "len": { "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", "dflt": 1, - "editType": "colorbars", + "editType": "calc", "min": 0, "valType": "number" }, "lenmode": { "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", "dflt": "fraction", - "editType": "colorbars", + "editType": "calc", "valType": "enumerated", "values": [ "fraction", @@ -65251,21 +56290,21 @@ "minexponent": { "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", "dflt": 3, - "editType": "colorbars", + "editType": "calc", "min": 0, "valType": "number" }, "nticks": { "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", "dflt": 0, - "editType": "colorbars", + "editType": "calc", "min": 0, "valType": "integer" }, "orientation": { "description": "Sets the orientation of the colorbar.", "dflt": "v", - "editType": "colorbars", + "editType": "calc", "valType": "enumerated", "values": [ "h", @@ -65275,13 +56314,13 @@ "outlinecolor": { "description": "Sets the axis line color.", "dflt": "#444", - "editType": "colorbars", + "editType": "calc", "valType": "color" }, "outlinewidth": { "description": "Sets the width (in px) of the axis line.", "dflt": 1, - "editType": "colorbars", + "editType": "calc", "min": 0, "valType": "number" }, @@ -65289,13 +56328,13 @@ "separatethousands": { "description": "If \"true\", even 4-digit integers are separated", "dflt": false, - "editType": "colorbars", + "editType": "calc", "valType": "boolean" }, "showexponent": { "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", "dflt": "all", - "editType": "colorbars", + "editType": "calc", "valType": "enumerated", "values": [ "all", @@ -65307,13 +56346,13 @@ "showticklabels": { "description": "Determines whether or not the tick labels are drawn.", "dflt": true, - "editType": "colorbars", + "editType": "calc", "valType": "boolean" }, "showtickprefix": { "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", "dflt": "all", - "editType": "colorbars", + "editType": "calc", "valType": "enumerated", "values": [ "all", @@ -65325,7 +56364,7 @@ "showticksuffix": { "description": "Same as `showtickprefix` but for tick suffixes.", "dflt": "all", - "editType": "colorbars", + "editType": "calc", "valType": "enumerated", "values": [ "all", @@ -65337,14 +56376,14 @@ "thickness": { "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", "dflt": 30, - "editType": "colorbars", + "editType": "calc", "min": 0, "valType": "number" }, "thicknessmode": { "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", "dflt": "pixels", - "editType": "colorbars", + "editType": "calc", "valType": "enumerated", "values": [ "fraction", @@ -65353,7 +56392,7 @@ }, "tick0": { "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", - "editType": "colorbars", + "editType": "calc", "impliedEdits": { "tickmode": "linear" }, @@ -65362,25 +56401,25 @@ "tickangle": { "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", "dflt": "auto", - "editType": "colorbars", + "editType": "calc", "valType": "angle" }, "tickcolor": { "description": "Sets the tick color.", "dflt": "#444", - "editType": "colorbars", + "editType": "calc", "valType": "color" }, "tickfont": { "color": { - "editType": "colorbars", + "editType": "calc", "valType": "color" }, "description": "Sets the color bar's tick label font", - "editType": "colorbars", + "editType": "calc", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "colorbars", + "editType": "calc", "noBlank": true, "strict": true, "valType": "string" @@ -65388,7 +56427,7 @@ "lineposition": { "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", - "editType": "colorbars", + "editType": "calc", "extras": [ "none" ], @@ -65403,18 +56442,18 @@ "shadow": { "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", - "editType": "colorbars", + "editType": "calc", "valType": "string" }, "size": { - "editType": "colorbars", + "editType": "calc", "min": 1, "valType": "number" }, "style": { "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", - "editType": "colorbars", + "editType": "calc", "valType": "enumerated", "values": [ "normal", @@ -65424,7 +56463,7 @@ "textcase": { "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", - "editType": "colorbars", + "editType": "calc", "valType": "enumerated", "values": [ "normal", @@ -65436,7 +56475,7 @@ "variant": { "description": "Sets the variant of the font.", "dflt": "normal", - "editType": "colorbars", + "editType": "calc", "valType": "enumerated", "values": [ "normal", @@ -65450,7 +56489,7 @@ "weight": { "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", - "editType": "colorbars", + "editType": "calc", "extras": [ "normal", "bold" @@ -65463,7 +56502,7 @@ "tickformat": { "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", "dflt": "", - "editType": "colorbars", + "editType": "calc", "valType": "string" }, "tickformatstops": { @@ -65471,41 +56510,41 @@ "tickformatstop": { "dtickrange": { "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", - "editType": "colorbars", + "editType": "calc", "items": [ { - "editType": "colorbars", + "editType": "calc", "valType": "any" }, { - "editType": "colorbars", + "editType": "calc", "valType": "any" } ], "valType": "info_array" }, - "editType": "colorbars", + "editType": "calc", "enabled": { "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", "dflt": true, - "editType": "colorbars", + "editType": "calc", "valType": "boolean" }, "name": { "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", - "editType": "colorbars", + "editType": "calc", "valType": "string" }, "role": "object", "templateitemname": { "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", - "editType": "colorbars", + "editType": "calc", "valType": "string" }, "value": { "description": "string - dtickformat for described zoom level, the same as *tickformat*", "dflt": "", - "editType": "colorbars", + "editType": "calc", "valType": "string" } } @@ -65514,7 +56553,7 @@ }, "ticklabeloverflow": { "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", - "editType": "colorbars", + "editType": "calc", "valType": "enumerated", "values": [ "allow", @@ -65525,7 +56564,7 @@ "ticklabelposition": { "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", "dflt": "outside", - "editType": "colorbars", + "editType": "calc", "valType": "enumerated", "values": [ "outside", @@ -65543,20 +56582,20 @@ "ticklabelstep": { "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", "dflt": 1, - "editType": "colorbars", + "editType": "calc", "min": 1, "valType": "integer" }, "ticklen": { "description": "Sets the tick length (in px).", "dflt": 5, - "editType": "colorbars", + "editType": "calc", "min": 0, "valType": "number" }, "tickmode": { "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", - "editType": "colorbars", + "editType": "calc", "impliedEdits": {}, "valType": "enumerated", "values": [ @@ -65568,13 +56607,13 @@ "tickprefix": { "description": "Sets a tick label prefix.", "dflt": "", - "editType": "colorbars", + "editType": "calc", "valType": "string" }, "ticks": { "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", "dflt": "", - "editType": "colorbars", + "editType": "calc", "valType": "enumerated", "values": [ "outside", @@ -65585,48 +56624,38 @@ "ticksuffix": { "description": "Sets a tick label suffix.", "dflt": "", - "editType": "colorbars", + "editType": "calc", "valType": "string" }, "ticktext": { "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "editType": "colorbars", + "editType": "calc", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "editType": "colorbars", + "editType": "calc", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, - "editType": "colorbars", + "editType": "calc", "min": 0, "valType": "number" }, "title": { - "editType": "colorbars", + "editType": "calc", "font": { "color": { - "editType": "colorbars", + "editType": "calc", "valType": "color" }, "description": "Sets this color bar's title font.", - "editType": "colorbars", + "editType": "calc", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "colorbars", + "editType": "calc", "noBlank": true, "strict": true, "valType": "string" @@ -65634,7 +56663,7 @@ "lineposition": { "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", - "editType": "colorbars", + "editType": "calc", "extras": [ "none" ], @@ -65649,18 +56678,18 @@ "shadow": { "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", - "editType": "colorbars", + "editType": "calc", "valType": "string" }, "size": { - "editType": "colorbars", + "editType": "calc", "min": 1, "valType": "number" }, "style": { "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", - "editType": "colorbars", + "editType": "calc", "valType": "enumerated", "values": [ "normal", @@ -65670,7 +56699,7 @@ "textcase": { "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", - "editType": "colorbars", + "editType": "calc", "valType": "enumerated", "values": [ "normal", @@ -65682,7 +56711,7 @@ "variant": { "description": "Sets the variant of the font.", "dflt": "normal", - "editType": "colorbars", + "editType": "calc", "valType": "enumerated", "values": [ "normal", @@ -65696,7 +56725,7 @@ "weight": { "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", - "editType": "colorbars", + "editType": "calc", "extras": [ "normal", "bold" @@ -65708,8 +56737,8 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", - "editType": "colorbars", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", + "editType": "calc", "valType": "enumerated", "values": [ "right", @@ -65719,18 +56748,18 @@ }, "text": { "description": "Sets the title of the color bar.", - "editType": "colorbars", + "editType": "calc", "valType": "string" } }, "x": { "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", - "editType": "colorbars", + "editType": "calc", "valType": "number" }, "xanchor": { "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", - "editType": "colorbars", + "editType": "calc", "valType": "enumerated", "values": [ "left", @@ -65741,14 +56770,14 @@ "xpad": { "description": "Sets the amount of padding (in px) along the x direction.", "dflt": 10, - "editType": "colorbars", + "editType": "calc", "min": 0, "valType": "number" }, "xref": { "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", "dflt": "paper", - "editType": "colorbars", + "editType": "calc", "valType": "enumerated", "values": [ "container", @@ -65757,12 +56786,12 @@ }, "y": { "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", - "editType": "colorbars", + "editType": "calc", "valType": "number" }, "yanchor": { "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", - "editType": "colorbars", + "editType": "calc", "valType": "enumerated", "values": [ "top", @@ -65773,14 +56802,14 @@ "ypad": { "description": "Sets the amount of padding (in px) along the y direction.", "dflt": 10, - "editType": "colorbars", + "editType": "calc", "min": 0, "valType": "number" }, "yref": { "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", "dflt": "paper", - "editType": "colorbars", + "editType": "calc", "valType": "enumerated", "values": [ "container", @@ -65789,7 +56818,7 @@ } }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -65797,45 +56826,7 @@ }, "valType": "colorscale" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", - "gradient": { - "color": { - "arrayOk": true, - "description": "Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.", - "editType": "calc", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "editType": "calc", - "role": "object", - "type": { - "arrayOk": true, - "description": "Sets the type of gradient used to fill the markers", - "dflt": "none", - "editType": "calc", - "valType": "enumerated", - "values": [ - "radial", - "horizontal", - "vertical", - "none" - ] - }, - "typesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `type`.", - "editType": "none", - "valType": "string" - } - }, "line": { "autocolorscale": { "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", @@ -65854,7 +56845,7 @@ "cmax": { "description": "Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.", "dflt": null, - "editType": "plot", + "editType": "calc", "impliedEdits": { "cauto": false }, @@ -65870,7 +56861,7 @@ "cmin": { "description": "Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.", "dflt": null, - "editType": "plot", + "editType": "calc", "impliedEdits": { "cauto": false }, @@ -65879,7 +56870,7 @@ "color": { "arrayOk": true, "description": "Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.", - "editType": "style", + "editType": "calc", "valType": "color" }, "coloraxis": { @@ -65890,7 +56881,7 @@ "valType": "subplotid" }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -65898,76 +56889,34 @@ }, "valType": "colorscale" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "dash": { - "arrayOk": true, - "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", - "dflt": "solid", - "editType": "style", - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ] - }, - "dashsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `dash`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "reversescale": { "description": "Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.", "dflt": false, - "editType": "plot", + "editType": "calc", "valType": "boolean" }, "role": "object", "width": { - "arrayOk": true, + "arrayOk": false, "description": "Sets the width (in px) of the lines bounding the marker points.", - "editType": "style", + "editType": "calc", "min": 0, "valType": "number" - }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" } }, - "maxdisplayed": { - "description": "Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.", - "dflt": 0, - "editType": "plot", - "min": 0, - "valType": "number" - }, "opacity": { - "arrayOk": true, - "description": "Sets the marker opacity.", - "editType": "style", + "arrayOk": false, + "description": "Sets the marker opacity. Note that the marker opacity for scatter3d traces must be a scalar value for performance reasons. To set a blending opacity value (i.e. which is not transparent), set *marker.color* to an rgba color and use its alpha channel.", + "editType": "calc", "max": 1, "min": 0, "valType": "number" }, - "opacitysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `opacity`.", - "editType": "none", - "valType": "string" - }, "reversescale": { "description": "Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.", "dflt": false, - "editType": "plot", + "editType": "calc", "valType": "boolean" }, "role": "object", @@ -65980,7 +56929,7 @@ "size": { "arrayOk": true, "description": "Sets the marker size (in px).", - "dflt": 6, + "dflt": 8, "editType": "calc", "min": 0, "valType": "number" @@ -66008,523 +56957,22 @@ "editType": "calc", "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, - "standoff": { - "arrayOk": true, - "description": "Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it.", - "dflt": 0, - "editType": "plot", - "min": 0, - "valType": "number" - }, - "standoffsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `standoff`.", - "editType": "none", - "valType": "string" - }, "symbol": { "arrayOk": true, - "description": "Sets the marker symbol type. Adding 100 is equivalent to appending *-open* to a symbol name. Adding 200 is equivalent to appending *-dot* to a symbol name. Adding 300 is equivalent to appending *-open-dot* or *dot-open* to a symbol name.", + "description": "Sets the marker symbol type.", "dflt": "circle", - "editType": "style", + "editType": "calc", "valType": "enumerated", "values": [ - 0, - "0", "circle", - 100, - "100", "circle-open", - 200, - "200", - "circle-dot", - 300, - "300", - "circle-open-dot", - 1, - "1", - "square", - 101, - "101", - "square-open", - 201, - "201", - "square-dot", - 301, - "301", - "square-open-dot", - 2, - "2", - "diamond", - 102, - "102", - "diamond-open", - 202, - "202", - "diamond-dot", - 302, - "302", - "diamond-open-dot", - 3, - "3", - "cross", - 103, - "103", - "cross-open", - 203, - "203", - "cross-dot", - 303, - "303", - "cross-open-dot", - 4, - "4", - "x", - 104, - "104", - "x-open", - 204, - "204", - "x-dot", - 304, - "304", - "x-open-dot", - 5, - "5", - "triangle-up", - 105, - "105", - "triangle-up-open", - 205, - "205", - "triangle-up-dot", - 305, - "305", - "triangle-up-open-dot", - 6, - "6", - "triangle-down", - 106, - "106", - "triangle-down-open", - 206, - "206", - "triangle-down-dot", - 306, - "306", - "triangle-down-open-dot", - 7, - "7", - "triangle-left", - 107, - "107", - "triangle-left-open", - 207, - "207", - "triangle-left-dot", - 307, - "307", - "triangle-left-open-dot", - 8, - "8", - "triangle-right", - 108, - "108", - "triangle-right-open", - 208, - "208", - "triangle-right-dot", - 308, - "308", - "triangle-right-open-dot", - 9, - "9", - "triangle-ne", - 109, - "109", - "triangle-ne-open", - 209, - "209", - "triangle-ne-dot", - 309, - "309", - "triangle-ne-open-dot", - 10, - "10", - "triangle-se", - 110, - "110", - "triangle-se-open", - 210, - "210", - "triangle-se-dot", - 310, - "310", - "triangle-se-open-dot", - 11, - "11", - "triangle-sw", - 111, - "111", - "triangle-sw-open", - 211, - "211", - "triangle-sw-dot", - 311, - "311", - "triangle-sw-open-dot", - 12, - "12", - "triangle-nw", - 112, - "112", - "triangle-nw-open", - 212, - "212", - "triangle-nw-dot", - 312, - "312", - "triangle-nw-open-dot", - 13, - "13", - "pentagon", - 113, - "113", - "pentagon-open", - 213, - "213", - "pentagon-dot", - 313, - "313", - "pentagon-open-dot", - 14, - "14", - "hexagon", - 114, - "114", - "hexagon-open", - 214, - "214", - "hexagon-dot", - 314, - "314", - "hexagon-open-dot", - 15, - "15", - "hexagon2", - 115, - "115", - "hexagon2-open", - 215, - "215", - "hexagon2-dot", - 315, - "315", - "hexagon2-open-dot", - 16, - "16", - "octagon", - 116, - "116", - "octagon-open", - 216, - "216", - "octagon-dot", - 316, - "316", - "octagon-open-dot", - 17, - "17", - "star", - 117, - "117", - "star-open", - 217, - "217", - "star-dot", - 317, - "317", - "star-open-dot", - 18, - "18", - "hexagram", - 118, - "118", - "hexagram-open", - 218, - "218", - "hexagram-dot", - 318, - "318", - "hexagram-open-dot", - 19, - "19", - "star-triangle-up", - 119, - "119", - "star-triangle-up-open", - 219, - "219", - "star-triangle-up-dot", - 319, - "319", - "star-triangle-up-open-dot", - 20, - "20", - "star-triangle-down", - 120, - "120", - "star-triangle-down-open", - 220, - "220", - "star-triangle-down-dot", - 320, - "320", - "star-triangle-down-open-dot", - 21, - "21", - "star-square", - 121, - "121", - "star-square-open", - 221, - "221", - "star-square-dot", - 321, - "321", - "star-square-open-dot", - 22, - "22", - "star-diamond", - 122, - "122", - "star-diamond-open", - 222, - "222", - "star-diamond-dot", - 322, - "322", - "star-diamond-open-dot", - 23, - "23", - "diamond-tall", - 123, - "123", - "diamond-tall-open", - 223, - "223", - "diamond-tall-dot", - 323, - "323", - "diamond-tall-open-dot", - 24, - "24", - "diamond-wide", - 124, - "124", - "diamond-wide-open", - 224, - "224", - "diamond-wide-dot", - 324, - "324", - "diamond-wide-open-dot", - 25, - "25", - "hourglass", - 125, - "125", - "hourglass-open", - 26, - "26", - "bowtie", - 126, - "126", - "bowtie-open", - 27, - "27", - "circle-cross", - 127, - "127", - "circle-cross-open", - 28, - "28", - "circle-x", - 128, - "128", - "circle-x-open", - 29, - "29", - "square-cross", - 129, - "129", - "square-cross-open", - 30, - "30", - "square-x", - 130, - "130", - "square-x-open", - 31, - "31", - "diamond-cross", - 131, - "131", - "diamond-cross-open", - 32, - "32", - "diamond-x", - 132, - "132", - "diamond-x-open", - 33, - "33", - "cross-thin", - 133, - "133", - "cross-thin-open", - 34, - "34", - "x-thin", - 134, - "134", - "x-thin-open", - 35, - "35", - "asterisk", - 135, - "135", - "asterisk-open", - 36, - "36", - "hash", - 136, - "136", - "hash-open", - 236, - "236", - "hash-dot", - 336, - "336", - "hash-open-dot", - 37, - "37", - "y-up", - 137, - "137", - "y-up-open", - 38, - "38", - "y-down", - 138, - "138", - "y-down-open", - 39, - "39", - "y-left", - 139, - "139", - "y-left-open", - 40, - "40", - "y-right", - 140, - "140", - "y-right-open", - 41, - "41", - "line-ew", - 141, - "141", - "line-ew-open", - 42, - "42", - "line-ns", - 142, - "142", - "line-ns-open", - 43, - "43", - "line-ne", - 143, - "143", - "line-ne-open", - 44, - "44", - "line-nw", - 144, - "144", - "line-nw-open", - 45, - "45", - "arrow-up", - 145, - "145", - "arrow-up-open", - 46, - "46", - "arrow-down", - 146, - "146", - "arrow-down-open", - 47, - "47", - "arrow-left", - 147, - "147", - "arrow-left-open", - 48, - "48", - "arrow-right", - 148, - "148", - "arrow-right-open", - 49, - "49", - "arrow-bar-up", - 149, - "149", - "arrow-bar-up-open", - 50, - "50", - "arrow-bar-down", - 150, - "150", - "arrow-bar-down-open", - 51, - "51", - "arrow-bar-left", - 151, - "151", - "arrow-bar-left-open", - 52, - "52", - "arrow-bar-right", - 152, - "152", - "arrow-bar-right-open", - 53, - "53", - "arrow", - 153, - "153", - "arrow-open", - 54, - "54", - "arrow-wide", - 154, - "154", - "arrow-wide-open" + "cross", + "diamond", + "diamond-open", + "square", + "square-open", + "x" ] - }, - "symbolsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `symbol`.", - "editType": "none", - "valType": "string" } }, "meta": { @@ -66533,14 +56981,9 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "mode": { "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.", - "dflt": "markers", + "dflt": "lines+markers", "editType": "calc", "extras": [ "none" @@ -66560,50 +57003,98 @@ "opacity": { "description": "Sets the opacity of the trace.", "dflt": 1, - "editType": "style", + "editType": "calc", "max": 1, "min": 0, "valType": "number" }, - "selected": { - "editType": "style", - "marker": { - "color": { - "description": "Sets the marker color of selected points.", - "editType": "style", - "valType": "color" + "projection": { + "editType": "calc", + "role": "object", + "x": { + "editType": "calc", + "opacity": { + "description": "Sets the projection color.", + "dflt": 1, + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" }, - "editType": "style", + "role": "object", + "scale": { + "description": "Sets the scale factor determining the size of the projection marker points.", + "dflt": 0.6666666666666666, + "editType": "calc", + "max": 10, + "min": 0, + "valType": "number" + }, + "show": { + "description": "Sets whether or not projections are shown along the x axis.", + "dflt": false, + "editType": "calc", + "valType": "boolean" + } + }, + "y": { + "editType": "calc", "opacity": { - "description": "Sets the marker opacity of selected points.", - "editType": "style", + "description": "Sets the projection color.", + "dflt": 1, + "editType": "calc", "max": 1, "min": 0, "valType": "number" }, "role": "object", - "size": { - "description": "Sets the marker size of selected points.", - "editType": "style", + "scale": { + "description": "Sets the scale factor determining the size of the projection marker points.", + "dflt": 0.6666666666666666, + "editType": "calc", + "max": 10, "min": 0, "valType": "number" + }, + "show": { + "description": "Sets whether or not projections are shown along the y axis.", + "dflt": false, + "editType": "calc", + "valType": "boolean" } }, - "role": "object", - "textfont": { - "color": { - "description": "Sets the text font color of selected points.", - "editType": "style", - "valType": "color" + "z": { + "editType": "calc", + "opacity": { + "description": "Sets the projection color.", + "dflt": 1, + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" }, - "editType": "style", - "role": "object" + "role": "object", + "scale": { + "description": "Sets the scale factor determining the size of the projection marker points.", + "dflt": 0.6666666666666666, + "editType": "calc", + "max": 10, + "min": 0, + "valType": "number" + }, + "show": { + "description": "Sets whether or not projections are shown along the z axis.", + "dflt": false, + "editType": "calc", + "valType": "boolean" + } } }, - "selectedpoints": { - "description": "Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.", - "editType": "calc", - "valType": "any" + "scene": { + "description": "Sets a reference between this trace's 3D coordinate system and a 3D scene. If *scene* (the default value), the (x,y,z) coordinates refer to `layout.scene`. If *scene2*, the (x,y,z) coordinates refer to `layout.scene2`, and so on.", + "dflt": "scene", + "editType": "calc+clearAxisTypes", + "valType": "subplotid" }, "showlegend": { "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", @@ -66611,28 +57102,26 @@ "editType": "style", "valType": "boolean" }, - "stream": { + "surfaceaxis": { + "description": "If *-1*, the scatter points are not fill with a surface If *0*, *1*, *2*, the scatter points are filled with a Delaunay surface about the x, y, z respectively.", + "dflt": -1, "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } + "valType": "enumerated", + "values": [ + -1, + 0, + 1, + 2 + ] + }, + "surfacecolor": { + "description": "Sets the surface fill color.", + "editType": "calc", + "valType": "color" }, "text": { "arrayOk": true, - "description": "Sets text elements associated with each (a,b) point. If a single string, the same string appears over all the data points. If an array of strings, the items are mapped in order to the the data points in (a,b). If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", + "description": "Sets text elements associated with each (x,y,z) triplet. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y,z) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", "dflt": "", "editType": "calc", "valType": "string" @@ -66640,14 +57129,9 @@ "textfont": { "color": { "arrayOk": true, - "editType": "style", + "editType": "calc", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the text font.", "editType": "calc", "family": { @@ -66658,55 +57142,13 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "calc", - "valType": "string" - }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "calc", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -66718,29 +57160,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -66749,18 +57168,9 @@ "valType": "enumerated", "values": [ "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "small-caps" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -66773,17 +57183,12 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "textposition": { "arrayOk": true, "description": "Sets the positions of the `text` elements with respects to the (x,y) coordinates.", - "dflt": "middle center", + "dflt": "top center", "editType": "calc", "valType": "enumerated", "values": [ @@ -66798,35 +57203,20 @@ "bottom right" ] }, - "textpositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textposition`.", - "editType": "none", - "valType": "string" - }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, "texttemplate": { "arrayOk": true, - "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `a`, `b` and `text`.", + "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. ", "dflt": "", - "editType": "plot", + "editType": "calc", "valType": "string" }, "texttemplatefallback": { "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", "dflt": "-", - "editType": "plot", + "editType": "calc", "valType": "any" }, - "texttemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `texttemplate`.", - "editType": "none", - "valType": "string" - }, - "type": "scattercarpet", + "type": "scatter3d", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", "editType": "plot", @@ -66837,41 +57227,6 @@ "editType": "none", "valType": "any" }, - "unselected": { - "editType": "style", - "marker": { - "color": { - "description": "Sets the marker color of unselected points, applied only when a selection exists.", - "editType": "style", - "valType": "color" - }, - "editType": "style", - "opacity": { - "description": "Sets the marker opacity of unselected points, applied only when a selection exists.", - "editType": "style", - "max": 1, - "min": 0, - "valType": "number" - }, - "role": "object", - "size": { - "description": "Sets the marker size of unselected points, applied only when a selection exists.", - "editType": "style", - "min": 0, - "valType": "number" - } - }, - "role": "object", - "textfont": { - "color": { - "description": "Sets the text font color of unselected points, applied only when a selection exists.", - "editType": "style", - "valType": "color" - }, - "editType": "style", - "role": "object" - } - }, "visible": { "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", "dflt": true, @@ -66883,42 +57238,142 @@ "legendonly" ] }, - "xaxis": { - "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", - "dflt": "x", + "x": { + "description": "Sets the x coordinates.", "editType": "calc+clearAxisTypes", - "valType": "subplotid" + "valType": "data_array" }, - "yaxis": { - "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.", - "dflt": "y", + "xcalendar": { + "description": "Sets the calendar system to use with `x` date data.", + "dflt": "gregorian", + "editType": "calc", + "valType": "enumerated", + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" + ] + }, + "xhoverformat": { + "description": "Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", + "dflt": "", + "editType": "calc", + "valType": "string" + }, + "y": { + "description": "Sets the y coordinates.", "editType": "calc+clearAxisTypes", - "valType": "subplotid" + "valType": "data_array" }, - "zorder": { - "description": "Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.", - "dflt": 0, - "editType": "plot", - "valType": "integer" + "ycalendar": { + "description": "Sets the calendar system to use with `y` date data.", + "dflt": "gregorian", + "editType": "calc", + "valType": "enumerated", + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" + ] + }, + "yhoverformat": { + "description": "Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", + "dflt": "", + "editType": "calc", + "valType": "string" + }, + "z": { + "description": "Sets the z coordinates.", + "editType": "calc+clearAxisTypes", + "valType": "data_array" + }, + "zcalendar": { + "description": "Sets the calendar system to use with `z` date data.", + "dflt": "gregorian", + "editType": "calc", + "valType": "enumerated", + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" + ] + }, + "zhoverformat": { + "description": "Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`.", + "dflt": "", + "editType": "calc", + "valType": "string" } }, "categories": [ - "svg", - "carpet", + "gl3d", "symbols", "showLegend", - "carpetDependent", - "zoomScale" + "scatter-like" ], "meta": { - "description": "Plots a scatter trace on either the first carpet axis or the carpet axis with a matching `carpet` attribute.", - "hrName": "scatter_carpet" + "description": "The data visualized as scatter point or lines in 3D dimension is set in `x`, `y`, `z`. Text (appearing either on the chart or on hover only) is via `text`. Bubble charts are achieved by setting `marker.size` and/or `marker.color` Projections are achieved via `projection`. Surface fills are achieved via `surfaceaxis`.", + "hrName": "scatter_3d" }, - "type": "scattercarpet" + "type": "scatter3d" }, - "scattergeo": { + "scattercarpet": { "animatable": false, "attributes": { + "a": { + "description": "Sets the a-axis coordinates.", + "editType": "calc", + "valType": "data_array" + }, + "b": { + "description": "Sets the b-axis coordinates.", + "editType": "calc", + "valType": "data_array" + }, + "carpet": { + "description": "An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on which they lie", + "editType": "calc", + "valType": "string" + }, "connectgaps": { "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.", "dflt": false, @@ -66930,67 +57385,40 @@ "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, - "featureidkey": { - "description": "Sets the key in GeoJSON features which is used as id to match the items included in the `locations` array. Only has an effect when `geojson` is set. Support nested property, for example *properties.name*.", - "dflt": "id", - "editType": "calc", - "valType": "string" - }, "fill": { - "description": "Sets the area to fill with a solid color. Use with `fillcolor` if not *none*. *toself* connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape.", + "description": "Sets the area to fill with a solid color. Use with `fillcolor` if not *none*. scatterternary has a subset of the options available to scatter. *toself* connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. *tonext* fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like *toself* if there is no trace before it. *tonext* should not be used if one trace does not enclose the other.", "dflt": "none", "editType": "calc", "valType": "enumerated", "values": [ "none", - "toself" + "toself", + "tonext" ] }, "fillcolor": { "description": "Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.", - "editType": "calc", + "editType": "style", "valType": "color" }, - "geo": { - "description": "Sets a reference between this trace's geospatial coordinates and a geographic map. If *geo* (the default value), the geospatial coordinates refer to `layout.geo`. If *geo2*, the geospatial coordinates refer to `layout.geo2`, and so on.", - "dflt": "geo", - "editType": "calc", - "valType": "subplotid" - }, - "geojson": { - "description": "Sets optional GeoJSON data associated with this trace. If not given, the features on the base map are used when `locations` is set. It can be set as a valid GeoJSON object or as a URL string. Note that we only accept GeoJSONs of type *FeatureCollection* or *Feature* with geometries of type *Polygon* or *MultiPolygon*.", - "editType": "calc", - "valType": "any" - }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", "dflt": "all", - "editType": "calc", + "editType": "none", "extras": [ "all", "none", "skip" ], "flags": [ - "lon", - "lat", - "location", + "a", + "b", "text", "name" ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -67004,33 +57432,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -67038,11 +57451,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -67053,11 +57461,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -67073,11 +57476,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -67086,22 +57484,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -67113,11 +57501,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -67131,11 +57514,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -67151,11 +57529,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -67168,11 +57541,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -67183,11 +57551,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -67196,34 +57559,33 @@ "valType": "boolean" } }, + "hoveron": { + "description": "Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is *toself* or *tonext* and there are no markers or text, then the default is *fills*, otherwise it is *points*.", + "editType": "style", + "flags": [ + "points", + "fills" + ], + "valType": "flaglist" + }, "hovertemplate": { "arrayOk": true, "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", "dflt": "", - "editType": "calc", + "editType": "none", "valType": "string" }, "hovertemplatefallback": { "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", "dflt": "-", - "editType": "calc", - "valType": "any" - }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", "editType": "none", - "valType": "string" + "valType": "any" }, "hovertext": { "arrayOk": true, - "description": "Sets hover text elements associated with each (lon,lat) pair or item in `locations`. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) or `locations` coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.", + "description": "Sets hover text elements associated with each (a,b) point. If a single string, the same string appears over all the data points. If an array of strings, the items are mapped in order to the data points in (a,b). To be seen, trace `hoverinfo` must contain a *text* flag.", "dflt": "", - "editType": "calc", - "valType": "string" - }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", + "editType": "style", "valType": "string" }, "ids": { @@ -67231,21 +57593,6 @@ "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, - "lat": { - "description": "Sets the latitude coordinates (in degrees North).", - "editType": "calc", - "valType": "data_array" - }, - "latsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lat`.", - "editType": "none", - "valType": "string" - }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", @@ -67370,15 +57717,23 @@ "valType": "number" }, "line": { + "backoff": { + "arrayOk": true, + "description": "Sets the line back off from the end point of the nth line segment (in px). This option is useful e.g. to avoid overlap with arrowhead markers. With *auto* the lines would trim before markers if `marker.angleref` is set to *previous*.", + "dflt": "auto", + "editType": "plot", + "min": 0, + "valType": "number" + }, "color": { "description": "Sets the line color.", - "editType": "calc", + "editType": "style", "valType": "color" }, "dash": { "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", "dflt": "solid", - "editType": "calc", + "editType": "style", "valType": "string", "values": [ "solid", @@ -67391,70 +57746,50 @@ }, "editType": "calc", "role": "object", + "shape": { + "description": "Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.", + "dflt": "linear", + "editType": "plot", + "valType": "enumerated", + "values": [ + "linear", + "spline" + ] + }, + "smoothing": { + "description": "Has an effect only if `shape` is set to *spline* Sets the amount of smoothing. *0* corresponds to no smoothing (equivalent to a *linear* shape).", + "dflt": 1, + "editType": "plot", + "max": 1.3, + "min": 0, + "valType": "number" + }, "width": { "description": "Sets the line width (in px).", "dflt": 2, - "editType": "calc", + "editType": "style", "min": 0, "valType": "number" } }, - "locationmode": { - "description": "The library used by the *country names* `locationmode` option is changing in an upcoming version. Country names in existing plots may not work in the new version. Determines the set of locations used to match entries in `locations` to regions on the map. Values *ISO-3*, *USA-states*, *country names* correspond to features on the base map and value *geojson-id* corresponds to features from a custom GeoJSON linked to the `geojson` attribute. *USA-states* accepts both two-letter abbreviations (e.g. *CA*) and full state names (e.g. *California*).", - "dflt": "ISO-3", - "editType": "calc", - "valType": "enumerated", - "values": [ - "ISO-3", - "USA-states", - "country names", - "geojson-id" - ] - }, - "locations": { - "description": "Sets the coordinates via location IDs or names. Coordinates correspond to the centroid of each location given. See `locationmode` for more info.", - "editType": "calc", - "valType": "data_array" - }, - "locationssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `locations`.", - "editType": "none", - "valType": "string" - }, - "lon": { - "description": "Sets the longitude coordinates (in degrees East).", - "editType": "calc", - "valType": "data_array" - }, - "lonsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lon`.", - "editType": "none", - "valType": "string" - }, "marker": { "angle": { "arrayOk": true, "description": "Sets the marker angle in respect to `angleref`.", "dflt": 0, - "editType": "calc", + "editType": "plot", "valType": "angle" }, "angleref": { - "description": "Sets the reference for marker angle. With *previous*, angle 0 points along the line from the previous point to this one. With *up*, angle 0 points toward the top of the screen. With *north*, angle 0 points north based on the current map projection.", + "description": "Sets the reference for marker angle. With *previous*, angle 0 points along the line from the previous point to this one. With *up*, angle 0 points toward the top of the screen.", "dflt": "up", - "editType": "calc", + "editType": "plot", "valType": "enumerated", "values": [ "previous", - "up", - "north" + "up" ] }, - "anglesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `angle`.", - "editType": "none", - "valType": "string" - }, "autocolorscale": { "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", "dflt": true, @@ -67472,7 +57807,7 @@ "cmax": { "description": "Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.", "dflt": null, - "editType": "calc", + "editType": "plot", "impliedEdits": { "cauto": false }, @@ -67488,7 +57823,7 @@ "cmin": { "description": "Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.", "dflt": null, - "editType": "calc", + "editType": "plot", "impliedEdits": { "cauto": false }, @@ -67497,7 +57832,7 @@ "color": { "arrayOk": true, "description": "Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.", - "editType": "calc", + "editType": "style", "valType": "color" }, "coloraxis": { @@ -67511,35 +57846,35 @@ "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", - "editType": "calc", + "editType": "colorbars", "valType": "color" }, "bordercolor": { "description": "Sets the axis line color.", "dflt": "#444", - "editType": "calc", + "editType": "colorbars", "valType": "color" }, "borderwidth": { "description": "Sets the width (in px) or the border enclosing this color bar.", "dflt": 0, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, "dtick": { "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", - "editType": "calc", + "editType": "colorbars", "impliedEdits": { "tickmode": "linear" }, "valType": "any" }, - "editType": "calc", + "editType": "colorbars", "exponentformat": { "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B. *SI* uses prefixes from \"femto\" f (10^-15) to \"tera\" T (10^12). *SI extended* covers instead the full SI range from \"quecto\" q (10^-30) to \"quetta\" Q (10^30). If *SI* or *SI extended* is used and the exponent is beyond the above ranges, the formatting rule will automatically be switched to the power notation.", "dflt": "B", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "none", @@ -67554,20 +57889,20 @@ "labelalias": { "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", "dflt": false, - "editType": "calc", + "editType": "colorbars", "valType": "any" }, "len": { "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", "dflt": 1, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, "lenmode": { "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", "dflt": "fraction", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "fraction", @@ -67577,21 +57912,21 @@ "minexponent": { "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", "dflt": 3, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, "nticks": { "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", "dflt": 0, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "integer" }, "orientation": { "description": "Sets the orientation of the colorbar.", "dflt": "v", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "h", @@ -67601,13 +57936,13 @@ "outlinecolor": { "description": "Sets the axis line color.", "dflt": "#444", - "editType": "calc", + "editType": "colorbars", "valType": "color" }, "outlinewidth": { "description": "Sets the width (in px) of the axis line.", "dflt": 1, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, @@ -67615,13 +57950,13 @@ "separatethousands": { "description": "If \"true\", even 4-digit integers are separated", "dflt": false, - "editType": "calc", + "editType": "colorbars", "valType": "boolean" }, "showexponent": { "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", "dflt": "all", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "all", @@ -67633,13 +57968,13 @@ "showticklabels": { "description": "Determines whether or not the tick labels are drawn.", "dflt": true, - "editType": "calc", + "editType": "colorbars", "valType": "boolean" }, "showtickprefix": { "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", "dflt": "all", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "all", @@ -67651,7 +57986,7 @@ "showticksuffix": { "description": "Same as `showtickprefix` but for tick suffixes.", "dflt": "all", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "all", @@ -67663,14 +57998,14 @@ "thickness": { "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", "dflt": 30, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, "thicknessmode": { "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", "dflt": "pixels", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "fraction", @@ -67679,7 +58014,7 @@ }, "tick0": { "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", - "editType": "calc", + "editType": "colorbars", "impliedEdits": { "tickmode": "linear" }, @@ -67688,25 +58023,25 @@ "tickangle": { "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", "dflt": "auto", - "editType": "calc", + "editType": "colorbars", "valType": "angle" }, "tickcolor": { "description": "Sets the tick color.", "dflt": "#444", - "editType": "calc", + "editType": "colorbars", "valType": "color" }, "tickfont": { "color": { - "editType": "calc", + "editType": "colorbars", "valType": "color" }, "description": "Sets the color bar's tick label font", - "editType": "calc", + "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "calc", + "editType": "colorbars", "noBlank": true, "strict": true, "valType": "string" @@ -67714,7 +58049,7 @@ "lineposition": { "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", - "editType": "calc", + "editType": "colorbars", "extras": [ "none" ], @@ -67729,18 +58064,18 @@ "shadow": { "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", - "editType": "calc", + "editType": "colorbars", "valType": "string" }, "size": { - "editType": "calc", + "editType": "colorbars", "min": 1, "valType": "number" }, "style": { "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "normal", @@ -67750,7 +58085,7 @@ "textcase": { "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "normal", @@ -67762,7 +58097,7 @@ "variant": { "description": "Sets the variant of the font.", "dflt": "normal", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "normal", @@ -67776,7 +58111,7 @@ "weight": { "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", - "editType": "calc", + "editType": "colorbars", "extras": [ "normal", "bold" @@ -67789,7 +58124,7 @@ "tickformat": { "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", "dflt": "", - "editType": "calc", + "editType": "colorbars", "valType": "string" }, "tickformatstops": { @@ -67797,41 +58132,41 @@ "tickformatstop": { "dtickrange": { "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", - "editType": "calc", + "editType": "colorbars", "items": [ { - "editType": "calc", + "editType": "colorbars", "valType": "any" }, { - "editType": "calc", + "editType": "colorbars", "valType": "any" } ], "valType": "info_array" }, - "editType": "calc", + "editType": "colorbars", "enabled": { "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", "dflt": true, - "editType": "calc", + "editType": "colorbars", "valType": "boolean" }, "name": { "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", - "editType": "calc", + "editType": "colorbars", "valType": "string" }, "role": "object", "templateitemname": { "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", - "editType": "calc", + "editType": "colorbars", "valType": "string" }, "value": { "description": "string - dtickformat for described zoom level, the same as *tickformat*", "dflt": "", - "editType": "calc", + "editType": "colorbars", "valType": "string" } } @@ -67840,7 +58175,7 @@ }, "ticklabeloverflow": { "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "allow", @@ -67851,7 +58186,7 @@ "ticklabelposition": { "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", "dflt": "outside", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "outside", @@ -67869,20 +58204,20 @@ "ticklabelstep": { "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", "dflt": 1, - "editType": "calc", + "editType": "colorbars", "min": 1, "valType": "integer" }, "ticklen": { "description": "Sets the tick length (in px).", "dflt": 5, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, "tickmode": { "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", - "editType": "calc", + "editType": "colorbars", "impliedEdits": {}, "valType": "enumerated", "values": [ @@ -67894,13 +58229,13 @@ "tickprefix": { "description": "Sets a tick label prefix.", "dflt": "", - "editType": "calc", + "editType": "colorbars", "valType": "string" }, "ticks": { "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", "dflt": "", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "outside", @@ -67911,48 +58246,38 @@ "ticksuffix": { "description": "Sets a tick label suffix.", "dflt": "", - "editType": "calc", + "editType": "colorbars", "valType": "string" }, "ticktext": { "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "editType": "calc", + "editType": "colorbars", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "editType": "calc", + "editType": "colorbars", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, "title": { - "editType": "calc", + "editType": "colorbars", "font": { "color": { - "editType": "calc", + "editType": "colorbars", "valType": "color" }, "description": "Sets this color bar's title font.", - "editType": "calc", + "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "editType": "calc", + "editType": "colorbars", "noBlank": true, "strict": true, "valType": "string" @@ -67960,7 +58285,7 @@ "lineposition": { "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", - "editType": "calc", + "editType": "colorbars", "extras": [ "none" ], @@ -67975,18 +58300,18 @@ "shadow": { "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", - "editType": "calc", + "editType": "colorbars", "valType": "string" }, "size": { - "editType": "calc", + "editType": "colorbars", "min": 1, "valType": "number" }, "style": { "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "normal", @@ -67996,7 +58321,7 @@ "textcase": { "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "normal", @@ -68008,7 +58333,7 @@ "variant": { "description": "Sets the variant of the font.", "dflt": "normal", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "normal", @@ -68022,7 +58347,7 @@ "weight": { "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", - "editType": "calc", + "editType": "colorbars", "extras": [ "normal", "bold" @@ -68034,8 +58359,8 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", - "editType": "calc", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", + "editType": "colorbars", "valType": "enumerated", "values": [ "right", @@ -68045,18 +58370,18 @@ }, "text": { "description": "Sets the title of the color bar.", - "editType": "calc", + "editType": "colorbars", "valType": "string" } }, "x": { "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", - "editType": "calc", + "editType": "colorbars", "valType": "number" }, "xanchor": { "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "left", @@ -68067,14 +58392,14 @@ "xpad": { "description": "Sets the amount of padding (in px) along the x direction.", "dflt": 10, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, "xref": { "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", "dflt": "paper", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "container", @@ -68083,12 +58408,12 @@ }, "y": { "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", - "editType": "calc", + "editType": "colorbars", "valType": "number" }, "yanchor": { "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "top", @@ -68099,14 +58424,14 @@ "ypad": { "description": "Sets the amount of padding (in px) along the y direction.", "dflt": 10, - "editType": "calc", + "editType": "colorbars", "min": 0, "valType": "number" }, "yref": { "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", "dflt": "paper", - "editType": "calc", + "editType": "colorbars", "valType": "enumerated", "values": [ "container", @@ -68115,7 +58440,7 @@ } }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -68123,11 +58448,6 @@ }, "valType": "colorscale" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "gradient": { "color": { @@ -68136,11 +58456,6 @@ "editType": "calc", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "role": "object", "type": { @@ -68155,11 +58470,6 @@ "vertical", "none" ] - }, - "typesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `type`.", - "editType": "none", - "valType": "string" } }, "line": { @@ -68180,7 +58490,7 @@ "cmax": { "description": "Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.", "dflt": null, - "editType": "calc", + "editType": "plot", "impliedEdits": { "cauto": false }, @@ -68196,7 +58506,7 @@ "cmin": { "description": "Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.", "dflt": null, - "editType": "calc", + "editType": "plot", "impliedEdits": { "cauto": false }, @@ -68205,7 +58515,7 @@ "color": { "arrayOk": true, "description": "Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.", - "editType": "calc", + "editType": "style", "valType": "color" }, "coloraxis": { @@ -68216,7 +58526,7 @@ "valType": "subplotid" }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -68224,16 +58534,11 @@ }, "valType": "colorscale" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "dash": { "arrayOk": true, "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", "dflt": "solid", - "editType": "calc", + "editType": "style", "valType": "string", "values": [ "solid", @@ -68244,49 +58549,41 @@ "longdashdot" ] }, - "dashsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `dash`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "reversescale": { "description": "Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.", "dflt": false, - "editType": "calc", + "editType": "plot", "valType": "boolean" }, "role": "object", "width": { "arrayOk": true, "description": "Sets the width (in px) of the lines bounding the marker points.", - "editType": "calc", + "editType": "style", "min": 0, "valType": "number" - }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" } }, + "maxdisplayed": { + "description": "Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.", + "dflt": 0, + "editType": "plot", + "min": 0, + "valType": "number" + }, "opacity": { "arrayOk": true, "description": "Sets the marker opacity.", - "editType": "calc", + "editType": "style", "max": 1, "min": 0, "valType": "number" }, - "opacitysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `opacity`.", - "editType": "none", - "valType": "string" - }, "reversescale": { "description": "Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.", "dflt": false, - "editType": "calc", + "editType": "plot", "valType": "boolean" }, "role": "object", @@ -68327,29 +58624,19 @@ "editType": "calc", "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "standoff": { "arrayOk": true, "description": "Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it.", "dflt": 0, - "editType": "calc", + "editType": "plot", "min": 0, "valType": "number" }, - "standoffsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `standoff`.", - "editType": "none", - "valType": "string" - }, "symbol": { "arrayOk": true, "description": "Sets the marker symbol type. Adding 100 is equivalent to appending *-open* to a symbol name. Adding 200 is equivalent to appending *-dot* to a symbol name. Adding 300 is equivalent to appending *-open-dot* or *dot-open* to a symbol name.", "dflt": "circle", - "editType": "calc", + "editType": "style", "valType": "enumerated", "values": [ 0, @@ -68839,11 +59126,6 @@ "154", "arrow-wide-open" ] - }, - "symbolsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `symbol`.", - "editType": "none", - "valType": "string" } }, "meta": { @@ -68852,11 +59134,6 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "mode": { "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.", "dflt": "markers", @@ -68885,17 +59162,17 @@ "valType": "number" }, "selected": { - "editType": "calc", + "editType": "style", "marker": { "color": { "description": "Sets the marker color of selected points.", - "editType": "calc", + "editType": "style", "valType": "color" }, - "editType": "calc", + "editType": "style", "opacity": { "description": "Sets the marker opacity of selected points.", - "editType": "calc", + "editType": "style", "max": 1, "min": 0, "valType": "number" @@ -68903,7 +59180,7 @@ "role": "object", "size": { "description": "Sets the marker size of selected points.", - "editType": "calc", + "editType": "style", "min": 0, "valType": "number" } @@ -68912,10 +59189,10 @@ "textfont": { "color": { "description": "Sets the text font color of selected points.", - "editType": "calc", + "editType": "style", "valType": "color" }, - "editType": "calc", + "editType": "style", "role": "object" } }, @@ -68930,28 +59207,9 @@ "editType": "style", "valType": "boolean" }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, "text": { "arrayOk": true, - "description": "Sets text elements associated with each (lon,lat) pair or item in `locations`. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) or `locations` coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", + "description": "Sets text elements associated with each (a,b) point. If a single string, the same string appears over all the data points. If an array of strings, the items are mapped in order to the data points in (a,b). If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", "dflt": "", "editType": "calc", "valType": "string" @@ -68959,14 +59217,9 @@ "textfont": { "color": { "arrayOk": true, - "editType": "calc", + "editType": "style", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the text font.", "editType": "calc", "family": { @@ -68977,11 +59230,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -68997,11 +59245,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -69010,22 +59253,12 @@ "editType": "calc", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "calc", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -69037,11 +59270,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -69055,11 +59283,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -69075,11 +59298,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -69092,11 +59310,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "textposition": { @@ -69117,35 +59330,20 @@ "bottom right" ] }, - "textpositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textposition`.", - "editType": "none", - "valType": "string" - }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, "texttemplate": { "arrayOk": true, - "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `lat`, `lon`, `location` and `text`.", + "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `a`, `b` and `text`.", "dflt": "", - "editType": "calc", + "editType": "plot", "valType": "string" }, "texttemplatefallback": { "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", "dflt": "-", - "editType": "calc", + "editType": "plot", "valType": "any" }, - "texttemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `texttemplate`.", - "editType": "none", - "valType": "string" - }, - "type": "scattergeo", + "type": "scattercarpet", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", "editType": "plot", @@ -69157,17 +59355,17 @@ "valType": "any" }, "unselected": { - "editType": "calc", + "editType": "style", "marker": { "color": { "description": "Sets the marker color of unselected points, applied only when a selection exists.", - "editType": "calc", + "editType": "style", "valType": "color" }, - "editType": "calc", + "editType": "style", "opacity": { "description": "Sets the marker opacity of unselected points, applied only when a selection exists.", - "editType": "calc", + "editType": "style", "max": 1, "min": 0, "valType": "number" @@ -69175,7 +59373,7 @@ "role": "object", "size": { "description": "Sets the marker size of unselected points, applied only when a selection exists.", - "editType": "calc", + "editType": "style", "min": 0, "valType": "number" } @@ -69184,10 +59382,10 @@ "textfont": { "color": { "description": "Sets the text font color of unselected points, applied only when a selection exists.", - "editType": "calc", + "editType": "style", "valType": "color" }, - "editType": "calc", + "editType": "style", "role": "object" } }, @@ -69201,21 +59399,41 @@ false, "legendonly" ] + }, + "xaxis": { + "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", + "dflt": "x", + "editType": "calc+clearAxisTypes", + "valType": "subplotid" + }, + "yaxis": { + "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.", + "dflt": "y", + "editType": "calc+clearAxisTypes", + "valType": "subplotid" + }, + "zorder": { + "description": "Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.", + "dflt": 0, + "editType": "plot", + "valType": "integer" } }, "categories": [ - "geo", + "svg", + "carpet", "symbols", "showLegend", - "scatter-like" + "carpetDependent", + "zoomScale" ], "meta": { - "description": "The data visualized as scatter point or lines on a geographic map is provided either by longitude/latitude pairs in `lon` and `lat` respectively or by geographic location IDs or names in `locations`.", - "hrName": "scatter_geo" + "description": "Plots a scatter trace on either the first carpet axis or the carpet axis with a matching `carpet` attribute.", + "hrName": "scatter_carpet" }, - "type": "scattergeo" + "type": "scattercarpet" }, - "scattergl": { + "scattergeo": { "animatable": false, "attributes": { "connectgaps": { @@ -69229,218 +59447,20 @@ "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, - "dx": { - "description": "Sets the x coordinate step. See `x0` for more info.", - "dflt": 1, - "editType": "calc", - "valType": "number" - }, - "dy": { - "description": "Sets the y coordinate step. See `y0` for more info.", - "dflt": 1, - "editType": "calc", - "valType": "number" - }, - "error_x": { - "array": { - "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", - "editType": "calc", - "valType": "data_array" - }, - "arrayminus": { - "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", - "editType": "calc", - "valType": "data_array" - }, - "arrayminussrc": { - "description": "Sets the source reference on Chart Studio Cloud for `arrayminus`.", - "editType": "none", - "valType": "string" - }, - "arraysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `array`.", - "editType": "none", - "valType": "string" - }, - "color": { - "description": "Sets the stroke color of the error bars.", - "editType": "calc", - "valType": "color" - }, - "copy_ystyle": { - "editType": "calc", - "valType": "boolean" - }, - "editType": "calc", - "role": "object", - "symmetric": { - "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", - "editType": "calc", - "valType": "boolean" - }, - "thickness": { - "description": "Sets the thickness (in px) of the error bars.", - "dflt": 2, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "traceref": { - "dflt": 0, - "editType": "calc", - "min": 0, - "valType": "integer" - }, - "tracerefminus": { - "dflt": 0, - "editType": "calc", - "min": 0, - "valType": "integer" - }, - "type": { - "description": "Determines the rule used to generate the error bars. If *constant*, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.", - "editType": "calc", - "valType": "enumerated", - "values": [ - "percent", - "constant", - "sqrt", - "data" - ] - }, - "value": { - "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", - "dflt": 10, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "valueminus": { - "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", - "dflt": 10, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "visible": { - "description": "Determines whether or not this set of error bars is visible.", - "editType": "calc", - "valType": "boolean" - }, - "width": { - "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", - "editType": "calc", - "min": 0, - "valType": "number" - } - }, - "error_y": { - "array": { - "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", - "editType": "calc", - "valType": "data_array" - }, - "arrayminus": { - "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", - "editType": "calc", - "valType": "data_array" - }, - "arrayminussrc": { - "description": "Sets the source reference on Chart Studio Cloud for `arrayminus`.", - "editType": "none", - "valType": "string" - }, - "arraysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `array`.", - "editType": "none", - "valType": "string" - }, - "color": { - "description": "Sets the stroke color of the error bars.", - "editType": "calc", - "valType": "color" - }, + "featureidkey": { + "description": "Sets the key in GeoJSON features which is used as id to match the items included in the `locations` array. Only has an effect when `geojson` is set. Support nested property, for example *properties.name*.", + "dflt": "id", "editType": "calc", - "role": "object", - "symmetric": { - "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", - "editType": "calc", - "valType": "boolean" - }, - "thickness": { - "description": "Sets the thickness (in px) of the error bars.", - "dflt": 2, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "traceref": { - "dflt": 0, - "editType": "calc", - "min": 0, - "valType": "integer" - }, - "tracerefminus": { - "dflt": 0, - "editType": "calc", - "min": 0, - "valType": "integer" - }, - "type": { - "description": "Determines the rule used to generate the error bars. If *constant*, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.", - "editType": "calc", - "valType": "enumerated", - "values": [ - "percent", - "constant", - "sqrt", - "data" - ] - }, - "value": { - "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", - "dflt": 10, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "valueminus": { - "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", - "dflt": 10, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "visible": { - "description": "Determines whether or not this set of error bars is visible.", - "editType": "calc", - "valType": "boolean" - }, - "width": { - "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", - "editType": "calc", - "min": 0, - "valType": "number" - } + "valType": "string" }, "fill": { - "description": "Sets the area to fill with a solid color. Defaults to *none* unless this trace is stacked, then it gets *tonexty* (*tonextx*) if `orientation` is *v* (*h*) Use with `fillcolor` if not *none*. *tozerox* and *tozeroy* fill to x=0 and y=0 respectively. *tonextx* and *tonexty* fill between the endpoints of this trace and the endpoints of the trace before it, connecting those endpoints with straight lines (to make a stacked area graph); if there is no trace before it, they behave like *tozerox* and *tozeroy*. *toself* connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. *tonext* fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like *toself* if there is no trace before it. *tonext* should not be used if one trace does not enclose the other. Traces in a `stackgroup` will only fill to (or be filled to) other traces in the same group. With multiple `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order.", + "description": "Sets the area to fill with a solid color. Use with `fillcolor` if not *none*. *toself* connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape.", "dflt": "none", "editType": "calc", "valType": "enumerated", "values": [ "none", - "tozeroy", - "tozerox", - "tonexty", - "tonextx", - "toself", - "tonext" + "toself" ] }, "fillcolor": { @@ -69448,30 +59468,36 @@ "editType": "calc", "valType": "color" }, + "geo": { + "description": "Sets a reference between this trace's geospatial coordinates and a geographic map. If *geo* (the default value), the geospatial coordinates refer to `layout.geo`. If *geo2*, the geospatial coordinates refer to `layout.geo2`, and so on.", + "dflt": "geo", + "editType": "calc", + "valType": "subplotid" + }, + "geojson": { + "description": "Sets optional GeoJSON data associated with this trace. If not given, the features on the base map are used when `locations` is set. It can be set as a valid GeoJSON object or as a URL string. Note that we only accept GeoJSONs of type *FeatureCollection* or *Feature* with geometries of type *Polygon* or *MultiPolygon*.", + "editType": "calc", + "valType": "any" + }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", "dflt": "all", - "editType": "none", + "editType": "calc", "extras": [ "all", "none", "skip" ], "flags": [ - "x", - "y", - "z", + "lon", + "lat", + "location", "text", "name" ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -69485,33 +59511,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -69519,11 +59530,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -69534,11 +59540,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -69554,11 +59555,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -69567,22 +59563,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -69594,11 +59580,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -69612,11 +59593,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -69632,11 +59608,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -69649,11 +59620,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -69664,11 +59630,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -69681,41 +59642,31 @@ "arrayOk": true, "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", "dflt": "", - "editType": "none", + "editType": "calc", "valType": "string" }, "hovertemplatefallback": { "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", "dflt": "-", - "editType": "none", + "editType": "calc", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "hovertext": { "arrayOk": true, - "description": "Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.", + "description": "Sets hover text elements associated with each (lon,lat) pair or item in `locations`. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) or `locations` coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.", "dflt": "", "editType": "calc", "valType": "string" }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" + "lat": { + "description": "Sets the latitude coordinates (in degrees North).", + "editType": "calc", + "valType": "data_array" }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", @@ -69847,34 +59798,21 @@ "valType": "color" }, "dash": { - "description": "Sets the style of the lines.", + "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", "dflt": "solid", "editType": "calc", - "valType": "enumerated", + "valType": "string", "values": [ - "dash", - "dashdot", + "solid", "dot", + "dash", "longdash", - "longdashdot", - "solid" + "dashdot", + "longdashdot" ] }, "editType": "calc", "role": "object", - "shape": { - "description": "Determines the line shape. The values correspond to step-wise line shapes.", - "dflt": "linear", - "editType": "calc", - "valType": "enumerated", - "values": [ - "linear", - "hv", - "vh", - "hvh", - "vhv" - ] - }, "width": { "description": "Sets the line width (in px).", "dflt": 2, @@ -69883,6 +59821,28 @@ "valType": "number" } }, + "locationmode": { + "description": "Determines the set of locations used to match entries in `locations` to regions on the map. Values *ISO-3*, *USA-states*, *country names* correspond to features on the base map and value *geojson-id* corresponds to features from a custom GeoJSON linked to the `geojson` attribute. *USA-states* accepts both two-letter abbreviations (e.g. *CA*) and full state names (e.g. *California*).", + "dflt": "ISO-3", + "editType": "calc", + "valType": "enumerated", + "values": [ + "ISO-3", + "USA-states", + "country names", + "geojson-id" + ] + }, + "locations": { + "description": "Sets the coordinates via location IDs or names. Coordinates correspond to the centroid of each location given. See `locationmode` for more info.", + "editType": "calc", + "valType": "data_array" + }, + "lon": { + "description": "Sets the longitude coordinates (in degrees East).", + "editType": "calc", + "valType": "data_array" + }, "marker": { "angle": { "arrayOk": true, @@ -69891,10 +59851,16 @@ "editType": "calc", "valType": "angle" }, - "anglesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `angle`.", - "editType": "none", - "valType": "string" + "angleref": { + "description": "Sets the reference for marker angle. With *previous*, angle 0 points along the line from the previous point to this one. With *up*, angle 0 points toward the top of the screen. With *north*, angle 0 points north based on the current map projection.", + "dflt": "up", + "editType": "calc", + "valType": "enumerated", + "values": [ + "previous", + "up", + "north" + ] }, "autocolorscale": { "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", @@ -70360,21 +60326,11 @@ "editType": "calc", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "calc", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -70475,7 +60431,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", "editType": "calc", "valType": "enumerated", "values": [ @@ -70556,7 +60512,7 @@ } }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -70564,12 +60520,30 @@ }, "valType": "colorscale" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", + "gradient": { + "color": { + "arrayOk": true, + "description": "Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical.", + "editType": "calc", + "valType": "color" + }, + "editType": "calc", + "role": "object", + "type": { + "arrayOk": true, + "description": "Sets the type of gradient used to fill the markers", + "dflt": "none", + "editType": "calc", + "valType": "enumerated", + "values": [ + "radial", + "horizontal", + "vertical", + "none" + ] + } + }, "line": { "autocolorscale": { "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", @@ -70624,7 +60598,7 @@ "valType": "subplotid" }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -70632,10 +60606,20 @@ }, "valType": "colorscale" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" + "dash": { + "arrayOk": true, + "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", + "dflt": "solid", + "editType": "calc", + "valType": "string", + "values": [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" + ] }, "editType": "calc", "reversescale": { @@ -70651,11 +60635,6 @@ "editType": "calc", "min": 0, "valType": "number" - }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" } }, "opacity": { @@ -70666,11 +60645,6 @@ "min": 0, "valType": "number" }, - "opacitysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `opacity`.", - "editType": "none", - "valType": "string" - }, "reversescale": { "description": "Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.", "dflt": false, @@ -70715,10 +60689,13 @@ "editType": "calc", "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" + "standoff": { + "arrayOk": true, + "description": "Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it.", + "dflt": 0, + "editType": "calc", + "min": 0, + "valType": "number" }, "symbol": { "arrayOk": true, @@ -71214,11 +61191,6 @@ "154", "arrow-wide-open" ] - }, - "symbolsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `symbol`.", - "editType": "none", - "valType": "string" } }, "meta": { @@ -71227,13 +61199,9 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "mode": { - "description": "Determines the drawing mode for this scatter trace.", + "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.", + "dflt": "markers", "editType": "calc", "extras": [ "none" @@ -71253,7 +61221,7 @@ "opacity": { "description": "Sets the opacity of the trace.", "dflt": 1, - "editType": "calc", + "editType": "style", "max": 1, "min": 0, "valType": "number" @@ -71304,28 +61272,9 @@ "editType": "style", "valType": "boolean" }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, "text": { "arrayOk": true, - "description": "Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", + "description": "Sets text elements associated with each (lon,lat) pair or item in `locations`. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) or `locations` coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", "dflt": "", "editType": "calc", "valType": "string" @@ -71336,11 +61285,6 @@ "editType": "calc", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the text font.", "editType": "calc", "family": { @@ -71351,23 +61295,35 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "calc", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -71379,10 +61335,18 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, "variant": { "arrayOk": true, @@ -71392,29 +61356,25 @@ "valType": "enumerated", "values": [ "normal", - "small-caps" + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "textposition": { @@ -71435,19 +61395,9 @@ "bottom right" ] }, - "textpositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textposition`.", - "editType": "none", - "valType": "string" - }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, "texttemplate": { "arrayOk": true, - "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. ", + "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `lat`, `lon`, `location` and `text`.", "dflt": "", "editType": "calc", "valType": "string" @@ -71458,12 +61408,7 @@ "editType": "calc", "valType": "any" }, - "texttemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `texttemplate`.", - "editType": "none", - "valType": "string" - }, - "type": "scattergl", + "type": "scattergeo", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", "editType": "plot", @@ -71519,271 +61464,221 @@ false, "legendonly" ] - }, - "x": { - "description": "Sets the x coordinates.", - "editType": "calc+clearAxisTypes", - "valType": "data_array" - }, - "x0": { - "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.", - "dflt": 0, - "editType": "calc+clearAxisTypes", - "valType": "any" - }, - "xaxis": { - "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "valType": "subplotid" - }, - "xcalendar": { - "description": "Sets the calendar system to use with `x` date data.", - "dflt": "gregorian", - "editType": "calc", - "valType": "enumerated", - "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" - ] - }, - "xhoverformat": { - "description": "Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "xperiod": { - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer.", - "dflt": 0, - "editType": "calc", - "valType": "any" - }, - "xperiod0": { - "description": "Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.", - "editType": "calc", - "valType": "any" - }, - "xperiodalignment": { - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.", - "dflt": "middle", - "editType": "calc", - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ] - }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", - "editType": "none", - "valType": "string" - }, - "y": { - "description": "Sets the y coordinates.", - "editType": "calc+clearAxisTypes", - "valType": "data_array" - }, - "y0": { - "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.", - "dflt": 0, - "editType": "calc+clearAxisTypes", - "valType": "any" - }, - "yaxis": { - "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "valType": "subplotid" - }, - "ycalendar": { - "description": "Sets the calendar system to use with `y` date data.", - "dflt": "gregorian", - "editType": "calc", - "valType": "enumerated", - "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" - ] - }, - "yhoverformat": { - "description": "Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "yperiod": { - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer.", - "dflt": 0, - "editType": "calc", - "valType": "any" - }, - "yperiod0": { - "description": "Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.", - "editType": "calc", - "valType": "any" - }, - "yperiodalignment": { - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.", - "dflt": "middle", - "editType": "calc", - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ] - }, - "ysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `y`.", - "editType": "none", - "valType": "string" } }, "categories": [ - "gl", - "regl", - "cartesian", + "geo", "symbols", - "errorBarsOK", "showLegend", "scatter-like" ], "meta": { - "description": "The data visualized as scatter point or lines is set in `x` and `y` using the WebGL plotting engine. Bubble charts are achieved by setting `marker.size` and/or `marker.color` to a numerical arrays.", - "hrName": "scatter_gl" + "description": "The data visualized as scatter point or lines on a geographic map is provided either by longitude/latitude pairs in `lon` and `lat` respectively or by geographic location IDs or names in `locations`.", + "hrName": "scatter_geo" }, - "type": "scattergl" + "type": "scattergeo" }, - "scattermap": { + "scattergl": { "animatable": false, "attributes": { - "below": { - "description": "Determines if this scattermap trace's layers are to be inserted before the layer with the specified ID. By default, scattermap layers are inserted above all the base layers. To place the scattermap layers above every other layer, set `below` to *''*.", + "connectgaps": { + "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.", + "dflt": false, "editType": "calc", - "valType": "string" + "valType": "boolean" }, - "cluster": { + "customdata": { + "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", + "editType": "calc", + "valType": "data_array" + }, + "dx": { + "description": "Sets the x coordinate step. See `x0` for more info.", + "dflt": 1, + "editType": "calc", + "valType": "number" + }, + "dy": { + "description": "Sets the y coordinate step. See `y0` for more info.", + "dflt": 1, + "editType": "calc", + "valType": "number" + }, + "error_x": { + "array": { + "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", + "editType": "calc", + "valType": "data_array" + }, + "arrayminus": { + "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", + "editType": "calc", + "valType": "data_array" + }, "color": { - "arrayOk": true, - "description": "Sets the color for each cluster step.", + "description": "Sets the stroke color of the error bars.", "editType": "calc", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" + "copy_ystyle": { + "editType": "calc", + "valType": "boolean" }, "editType": "calc", - "enabled": { - "description": "Determines whether clustering is enabled or disabled.", + "role": "object", + "symmetric": { + "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", "editType": "calc", "valType": "boolean" }, - "maxzoom": { - "description": "Sets the maximum zoom level. At zoom levels equal to or greater than this, points will never be clustered.", - "dflt": 24, + "thickness": { + "description": "Sets the thickness (in px) of the error bars.", + "dflt": 2, "editType": "calc", - "max": 24, "min": 0, "valType": "number" }, - "opacity": { - "arrayOk": true, - "description": "Sets the marker opacity.", - "dflt": 1, + "traceref": { + "dflt": 0, + "editType": "calc", + "min": 0, + "valType": "integer" + }, + "tracerefminus": { + "dflt": 0, + "editType": "calc", + "min": 0, + "valType": "integer" + }, + "type": { + "description": "Determines the rule used to generate the error bars. If *constant*, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "percent", + "constant", + "sqrt", + "data" + ] + }, + "value": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", + "dflt": 10, "editType": "calc", - "max": 1, "min": 0, "valType": "number" }, - "opacitysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `opacity`.", - "editType": "none", - "valType": "string" + "valueminus": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", + "dflt": 10, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "visible": { + "description": "Determines whether or not this set of error bars is visible.", + "editType": "calc", + "valType": "boolean" + }, + "width": { + "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", + "editType": "calc", + "min": 0, + "valType": "number" + } + }, + "error_y": { + "array": { + "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", + "editType": "calc", + "valType": "data_array" + }, + "arrayminus": { + "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", + "editType": "calc", + "valType": "data_array" + }, + "color": { + "description": "Sets the stroke color of the error bars.", + "editType": "calc", + "valType": "color" }, + "editType": "calc", "role": "object", - "size": { - "arrayOk": true, - "description": "Sets the size for each cluster step.", - "dflt": 20, + "symmetric": { + "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", + "editType": "calc", + "valType": "boolean" + }, + "thickness": { + "description": "Sets the thickness (in px) of the error bars.", + "dflt": 2, "editType": "calc", "min": 0, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" + "traceref": { + "dflt": 0, + "editType": "calc", + "min": 0, + "valType": "integer" }, - "step": { - "arrayOk": true, - "description": "Sets how many points it takes to create a cluster or advance to the next cluster step. Use this in conjunction with arrays for `size` and / or `color`. If an integer, steps start at multiples of this number. If an array, each step extends from the given value until one less than the next value.", - "dflt": -1, + "tracerefminus": { + "dflt": 0, "editType": "calc", - "min": -1, + "min": 0, + "valType": "integer" + }, + "type": { + "description": "Determines the rule used to generate the error bars. If *constant*, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "percent", + "constant", + "sqrt", + "data" + ] + }, + "value": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", + "dflt": 10, + "editType": "calc", + "min": 0, "valType": "number" }, - "stepsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `step`.", - "editType": "none", - "valType": "string" + "valueminus": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", + "dflt": 10, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "visible": { + "description": "Determines whether or not this set of error bars is visible.", + "editType": "calc", + "valType": "boolean" + }, + "width": { + "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", + "editType": "calc", + "min": 0, + "valType": "number" } }, - "connectgaps": { - "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.", - "dflt": false, - "editType": "calc", - "valType": "boolean" - }, - "customdata": { - "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", - "editType": "calc", - "valType": "data_array" - }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, "fill": { - "description": "Sets the area to fill with a solid color. Use with `fillcolor` if not *none*. *toself* connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape.", + "description": "Sets the area to fill with a solid color. Defaults to *none* unless this trace is stacked, then it gets *tonexty* (*tonextx*) if `orientation` is *v* (*h*) Use with `fillcolor` if not *none*. *tozerox* and *tozeroy* fill to x=0 and y=0 respectively. *tonextx* and *tonexty* fill between the endpoints of this trace and the endpoints of the trace before it, connecting those endpoints with straight lines (to make a stacked area graph); if there is no trace before it, they behave like *tozerox* and *tozeroy*. *toself* connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. *tonext* fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like *toself* if there is no trace before it. *tonext* should not be used if one trace does not enclose the other. Traces in a `stackgroup` will only fill to (or be filled to) other traces in the same group. With multiple `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order.", "dflt": "none", "editType": "calc", "valType": "enumerated", "values": [ "none", - "toself" + "tozeroy", + "tozerox", + "tonexty", + "tonextx", + "toself", + "tonext" ] }, "fillcolor": { @@ -71793,27 +61688,23 @@ }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", "dflt": "all", - "editType": "calc", + "editType": "none", "extras": [ "all", "none", "skip" ], "flags": [ - "lon", - "lat", + "x", + "y", + "z", "text", "name" ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -71827,33 +61718,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -71861,11 +61737,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -71876,11 +61747,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -71896,11 +61762,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -71909,22 +61770,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -71936,11 +61787,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -71954,11 +61800,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -71974,11 +61815,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -71991,11 +61827,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -72006,11 +61837,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -72023,52 +61849,27 @@ "arrayOk": true, "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``.", "dflt": "", - "editType": "calc", + "editType": "none", "valType": "string" }, "hovertemplatefallback": { "description": "Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed.", "dflt": "-", - "editType": "calc", - "valType": "any" - }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", "editType": "none", - "valType": "string" + "valType": "any" }, "hovertext": { "arrayOk": true, - "description": "Sets hover text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.", + "description": "Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.", "dflt": "", "editType": "calc", "valType": "string" }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, - "lat": { - "description": "Sets the latitude coordinates (in degrees North).", - "editType": "calc", - "valType": "data_array" - }, - "latsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lat`.", - "editType": "none", - "valType": "string" - }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", @@ -72198,8 +61999,35 @@ "editType": "calc", "valType": "color" }, + "dash": { + "description": "Sets the style of the lines.", + "dflt": "solid", + "editType": "calc", + "valType": "enumerated", + "values": [ + "dash", + "dashdot", + "dot", + "longdash", + "longdashdot", + "solid" + ] + }, "editType": "calc", "role": "object", + "shape": { + "description": "Determines the line shape. The values correspond to step-wise line shapes.", + "dflt": "linear", + "editType": "calc", + "valType": "enumerated", + "values": [ + "linear", + "hv", + "vh", + "hvh", + "vhv" + ] + }, "width": { "description": "Sets the line width (in px).", "dflt": 2, @@ -72208,34 +62036,13 @@ "valType": "number" } }, - "lon": { - "description": "Sets the longitude coordinates (in degrees East).", - "editType": "calc", - "valType": "data_array" - }, - "lonsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lon`.", - "editType": "none", - "valType": "string" - }, "marker": { - "allowoverlap": { - "description": "Flag to draw all symbols, even if they overlap.", - "dflt": false, - "editType": "calc", - "valType": "boolean" - }, "angle": { "arrayOk": true, - "description": "Sets the marker orientation from true North, in degrees clockwise. When using the *auto* default, no rotation would be applied in perspective views which is different from using a zero angle.", - "dflt": "auto", + "description": "Sets the marker angle in respect to `angleref`.", + "dflt": 0, "editType": "calc", - "valType": "number" - }, - "anglesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `angle`.", - "editType": "none", - "valType": "string" + "valType": "angle" }, "autocolorscale": { "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", @@ -72701,21 +62508,11 @@ "editType": "calc", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "calc", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -72816,7 +62613,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", "editType": "calc", "valType": "enumerated", "values": [ @@ -72897,7 +62694,7 @@ } }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -72905,12 +62702,85 @@ }, "valType": "colorscale" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", + "line": { + "autocolorscale": { + "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.line.colorscale`. Has an effect only if in `marker.line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", + "dflt": true, + "editType": "calc", + "impliedEdits": {}, + "valType": "boolean" + }, + "cauto": { + "description": "Determines whether or not the color domain is computed with respect to the input data (here in `marker.line.color`) or the bounds set in `marker.line.cmin` and `marker.line.cmax` Has an effect only if in `marker.line.color` is set to a numerical array. Defaults to `false` when `marker.line.cmin` and `marker.line.cmax` are set by the user.", + "dflt": true, + "editType": "calc", + "impliedEdits": {}, + "valType": "boolean" + }, + "cmax": { + "description": "Sets the upper bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmin` must be set as well.", + "dflt": null, + "editType": "calc", + "impliedEdits": { + "cauto": false + }, + "valType": "number" + }, + "cmid": { + "description": "Sets the mid-point of the color domain by scaling `marker.line.cmin` and/or `marker.line.cmax` to be equidistant to this point. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color`. Has no effect when `marker.line.cauto` is `false`.", + "dflt": null, + "editType": "calc", + "impliedEdits": {}, + "valType": "number" + }, + "cmin": { + "description": "Sets the lower bound of the color domain. Has an effect only if in `marker.line.color` is set to a numerical array. Value should have the same units as in `marker.line.color` and if set, `marker.line.cmax` must be set as well.", + "dflt": null, + "editType": "calc", + "impliedEdits": { + "cauto": false + }, + "valType": "number" + }, + "color": { + "arrayOk": true, + "description": "Sets the marker.line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set.", + "editType": "calc", + "valType": "color" + }, + "coloraxis": { + "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", + "dflt": null, + "editType": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", + "valType": "subplotid" + }, + "colorscale": { + "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "dflt": null, + "editType": "calc", + "impliedEdits": { + "autocolorscale": false + }, + "valType": "colorscale" + }, + "editType": "calc", + "reversescale": { + "description": "Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.", + "dflt": false, + "editType": "calc", + "valType": "boolean" + }, + "role": "object", + "width": { + "arrayOk": true, + "description": "Sets the width (in px) of the lines bounding the marker points.", + "editType": "calc", + "min": 0, + "valType": "number" + } + }, "opacity": { "arrayOk": true, "description": "Sets the marker opacity.", @@ -72919,11 +62789,6 @@ "min": 0, "valType": "number" }, - "opacitysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `opacity`.", - "editType": "none", - "valType": "string" - }, "reversescale": { "description": "Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.", "dflt": false, @@ -72961,29 +62826,507 @@ "diameter", "area" ] - }, - "sizeref": { - "description": "Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.", - "dflt": 1, - "editType": "calc", - "valType": "number" - }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, - "symbol": { - "arrayOk": true, - "description": "Sets the marker symbol. Full list: https://www.mapbox.com/maki-icons/ Note that the array `marker.color` and `marker.size` are only available for *circle* symbols.", - "dflt": "circle", - "editType": "calc", - "valType": "string" - }, - "symbolsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `symbol`.", - "editType": "none", - "valType": "string" + }, + "sizeref": { + "description": "Has an effect only if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.", + "dflt": 1, + "editType": "calc", + "valType": "number" + }, + "symbol": { + "arrayOk": true, + "description": "Sets the marker symbol type. Adding 100 is equivalent to appending *-open* to a symbol name. Adding 200 is equivalent to appending *-dot* to a symbol name. Adding 300 is equivalent to appending *-open-dot* or *dot-open* to a symbol name.", + "dflt": "circle", + "editType": "calc", + "valType": "enumerated", + "values": [ + 0, + "0", + "circle", + 100, + "100", + "circle-open", + 200, + "200", + "circle-dot", + 300, + "300", + "circle-open-dot", + 1, + "1", + "square", + 101, + "101", + "square-open", + 201, + "201", + "square-dot", + 301, + "301", + "square-open-dot", + 2, + "2", + "diamond", + 102, + "102", + "diamond-open", + 202, + "202", + "diamond-dot", + 302, + "302", + "diamond-open-dot", + 3, + "3", + "cross", + 103, + "103", + "cross-open", + 203, + "203", + "cross-dot", + 303, + "303", + "cross-open-dot", + 4, + "4", + "x", + 104, + "104", + "x-open", + 204, + "204", + "x-dot", + 304, + "304", + "x-open-dot", + 5, + "5", + "triangle-up", + 105, + "105", + "triangle-up-open", + 205, + "205", + "triangle-up-dot", + 305, + "305", + "triangle-up-open-dot", + 6, + "6", + "triangle-down", + 106, + "106", + "triangle-down-open", + 206, + "206", + "triangle-down-dot", + 306, + "306", + "triangle-down-open-dot", + 7, + "7", + "triangle-left", + 107, + "107", + "triangle-left-open", + 207, + "207", + "triangle-left-dot", + 307, + "307", + "triangle-left-open-dot", + 8, + "8", + "triangle-right", + 108, + "108", + "triangle-right-open", + 208, + "208", + "triangle-right-dot", + 308, + "308", + "triangle-right-open-dot", + 9, + "9", + "triangle-ne", + 109, + "109", + "triangle-ne-open", + 209, + "209", + "triangle-ne-dot", + 309, + "309", + "triangle-ne-open-dot", + 10, + "10", + "triangle-se", + 110, + "110", + "triangle-se-open", + 210, + "210", + "triangle-se-dot", + 310, + "310", + "triangle-se-open-dot", + 11, + "11", + "triangle-sw", + 111, + "111", + "triangle-sw-open", + 211, + "211", + "triangle-sw-dot", + 311, + "311", + "triangle-sw-open-dot", + 12, + "12", + "triangle-nw", + 112, + "112", + "triangle-nw-open", + 212, + "212", + "triangle-nw-dot", + 312, + "312", + "triangle-nw-open-dot", + 13, + "13", + "pentagon", + 113, + "113", + "pentagon-open", + 213, + "213", + "pentagon-dot", + 313, + "313", + "pentagon-open-dot", + 14, + "14", + "hexagon", + 114, + "114", + "hexagon-open", + 214, + "214", + "hexagon-dot", + 314, + "314", + "hexagon-open-dot", + 15, + "15", + "hexagon2", + 115, + "115", + "hexagon2-open", + 215, + "215", + "hexagon2-dot", + 315, + "315", + "hexagon2-open-dot", + 16, + "16", + "octagon", + 116, + "116", + "octagon-open", + 216, + "216", + "octagon-dot", + 316, + "316", + "octagon-open-dot", + 17, + "17", + "star", + 117, + "117", + "star-open", + 217, + "217", + "star-dot", + 317, + "317", + "star-open-dot", + 18, + "18", + "hexagram", + 118, + "118", + "hexagram-open", + 218, + "218", + "hexagram-dot", + 318, + "318", + "hexagram-open-dot", + 19, + "19", + "star-triangle-up", + 119, + "119", + "star-triangle-up-open", + 219, + "219", + "star-triangle-up-dot", + 319, + "319", + "star-triangle-up-open-dot", + 20, + "20", + "star-triangle-down", + 120, + "120", + "star-triangle-down-open", + 220, + "220", + "star-triangle-down-dot", + 320, + "320", + "star-triangle-down-open-dot", + 21, + "21", + "star-square", + 121, + "121", + "star-square-open", + 221, + "221", + "star-square-dot", + 321, + "321", + "star-square-open-dot", + 22, + "22", + "star-diamond", + 122, + "122", + "star-diamond-open", + 222, + "222", + "star-diamond-dot", + 322, + "322", + "star-diamond-open-dot", + 23, + "23", + "diamond-tall", + 123, + "123", + "diamond-tall-open", + 223, + "223", + "diamond-tall-dot", + 323, + "323", + "diamond-tall-open-dot", + 24, + "24", + "diamond-wide", + 124, + "124", + "diamond-wide-open", + 224, + "224", + "diamond-wide-dot", + 324, + "324", + "diamond-wide-open-dot", + 25, + "25", + "hourglass", + 125, + "125", + "hourglass-open", + 26, + "26", + "bowtie", + 126, + "126", + "bowtie-open", + 27, + "27", + "circle-cross", + 127, + "127", + "circle-cross-open", + 28, + "28", + "circle-x", + 128, + "128", + "circle-x-open", + 29, + "29", + "square-cross", + 129, + "129", + "square-cross-open", + 30, + "30", + "square-x", + 130, + "130", + "square-x-open", + 31, + "31", + "diamond-cross", + 131, + "131", + "diamond-cross-open", + 32, + "32", + "diamond-x", + 132, + "132", + "diamond-x-open", + 33, + "33", + "cross-thin", + 133, + "133", + "cross-thin-open", + 34, + "34", + "x-thin", + 134, + "134", + "x-thin-open", + 35, + "35", + "asterisk", + 135, + "135", + "asterisk-open", + 36, + "36", + "hash", + 136, + "136", + "hash-open", + 236, + "236", + "hash-dot", + 336, + "336", + "hash-open-dot", + 37, + "37", + "y-up", + 137, + "137", + "y-up-open", + 38, + "38", + "y-down", + 138, + "138", + "y-down-open", + 39, + "39", + "y-left", + 139, + "139", + "y-left-open", + 40, + "40", + "y-right", + 140, + "140", + "y-right-open", + 41, + "41", + "line-ew", + 141, + "141", + "line-ew-open", + 42, + "42", + "line-ns", + 142, + "142", + "line-ns-open", + 43, + "43", + "line-ne", + 143, + "143", + "line-ne-open", + 44, + "44", + "line-nw", + 144, + "144", + "line-nw-open", + 45, + "45", + "arrow-up", + 145, + "145", + "arrow-up-open", + 46, + "46", + "arrow-down", + 146, + "146", + "arrow-down-open", + 47, + "47", + "arrow-left", + 147, + "147", + "arrow-left-open", + 48, + "48", + "arrow-right", + 148, + "148", + "arrow-right-open", + 49, + "49", + "arrow-bar-up", + 149, + "149", + "arrow-bar-up-open", + 50, + "50", + "arrow-bar-down", + 150, + "150", + "arrow-bar-down-open", + 51, + "51", + "arrow-bar-left", + 151, + "151", + "arrow-bar-left-open", + 52, + "52", + "arrow-bar-right", + 152, + "152", + "arrow-bar-right-open", + 53, + "53", + "arrow", + 153, + "153", + "arrow-open", + 54, + "54", + "arrow-wide", + 154, + "154", + "arrow-wide-open" + ] } }, "meta": { @@ -72992,14 +63335,8 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "mode": { - "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover.", - "dflt": "markers", + "description": "Determines the drawing mode for this scatter trace.", "editType": "calc", "extras": [ "none" @@ -73019,7 +63356,7 @@ "opacity": { "description": "Sets the opacity of the trace.", "dflt": 1, - "editType": "style", + "editType": "calc", "max": 1, "min": 0, "valType": "number" @@ -73048,7 +63385,16 @@ "valType": "number" } }, - "role": "object" + "role": "object", + "textfont": { + "color": { + "description": "Sets the text font color of selected points.", + "editType": "calc", + "valType": "color" + }, + "editType": "calc", + "role": "object" + } }, "selectedpoints": { "description": "Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.", @@ -73061,48 +63407,24 @@ "editType": "style", "valType": "boolean" }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, - "subplot": { - "description": "Sets a reference between this trace's data coordinates and a map subplot. If *map* (the default value), the data refer to `layout.map`. If *map2*, the data refer to `layout.map2`, and so on.", - "dflt": "map", - "editType": "calc", - "valType": "subplotid" - }, "text": { "arrayOk": true, - "description": "Sets text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", + "description": "Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", "dflt": "", "editType": "calc", "valType": "string" }, "textfont": { "color": { + "arrayOk": true, "editType": "calc", "valType": "color" }, - "description": "Sets the icon text font (color=map.layer.paint.text-color, size=map.layer.layout.text-size). Has an effect only when `type` is set to *symbol*.", + "description": "Sets the text font.", "editType": "calc", "family": { + "arrayOk": true, "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", - "dflt": "Open Sans Regular, Arial Unicode MS Regular", "editType": "calc", "noBlank": true, "strict": true, @@ -73110,11 +63432,13 @@ }, "role": "object", "size": { + "arrayOk": true, "editType": "calc", "min": 1, "valType": "number" }, "style": { + "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", "editType": "calc", @@ -73124,21 +63448,31 @@ "italic" ] }, + "variant": { + "arrayOk": true, + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "small-caps" + ] + }, "weight": { + "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "extras": [ + "valType": "enumerated", + "values": [ "normal", "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" + ] } }, "textposition": { - "arrayOk": false, + "arrayOk": true, "description": "Sets the positions of the `text` elements with respects to the (x,y) coordinates.", "dflt": "middle center", "editType": "calc", @@ -73155,14 +63489,9 @@ "bottom right" ] }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, "texttemplate": { "arrayOk": true, - "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `lat`, `lon` and `text`.", + "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. ", "dflt": "", "editType": "calc", "valType": "string" @@ -73173,12 +63502,7 @@ "editType": "calc", "valType": "any" }, - "texttemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `texttemplate`.", - "editType": "none", - "valType": "string" - }, - "type": "scattermap", + "type": "scattergl", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", "editType": "plot", @@ -73213,7 +63537,16 @@ "valType": "number" } }, - "role": "object" + "role": "object", + "textfont": { + "color": { + "description": "Sets the text font color of unselected points, applied only when a selection exists.", + "editType": "calc", + "valType": "color" + }, + "editType": "calc", + "role": "object" + } }, "visible": { "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", @@ -73225,26 +63558,166 @@ false, "legendonly" ] + }, + "x": { + "description": "Sets the x coordinates.", + "editType": "calc+clearAxisTypes", + "valType": "data_array" + }, + "x0": { + "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.", + "dflt": 0, + "editType": "calc+clearAxisTypes", + "valType": "any" + }, + "xaxis": { + "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", + "dflt": "x", + "editType": "calc+clearAxisTypes", + "valType": "subplotid" + }, + "xcalendar": { + "description": "Sets the calendar system to use with `x` date data.", + "dflt": "gregorian", + "editType": "calc", + "valType": "enumerated", + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" + ] + }, + "xhoverformat": { + "description": "Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", + "dflt": "", + "editType": "calc", + "valType": "string" + }, + "xperiod": { + "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer.", + "dflt": 0, + "editType": "calc", + "valType": "any" + }, + "xperiod0": { + "description": "Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.", + "editType": "calc", + "valType": "any" + }, + "xperiodalignment": { + "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.", + "dflt": "middle", + "editType": "calc", + "valType": "enumerated", + "values": [ + "start", + "middle", + "end" + ] + }, + "y": { + "description": "Sets the y coordinates.", + "editType": "calc+clearAxisTypes", + "valType": "data_array" + }, + "y0": { + "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.", + "dflt": 0, + "editType": "calc+clearAxisTypes", + "valType": "any" + }, + "yaxis": { + "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.", + "dflt": "y", + "editType": "calc+clearAxisTypes", + "valType": "subplotid" + }, + "ycalendar": { + "description": "Sets the calendar system to use with `y` date data.", + "dflt": "gregorian", + "editType": "calc", + "valType": "enumerated", + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" + ] + }, + "yhoverformat": { + "description": "Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", + "dflt": "", + "editType": "calc", + "valType": "string" + }, + "yperiod": { + "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the y axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer.", + "dflt": 0, + "editType": "calc", + "valType": "any" + }, + "yperiod0": { + "description": "Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.", + "editType": "calc", + "valType": "any" + }, + "yperiodalignment": { + "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the y axis.", + "dflt": "middle", + "editType": "calc", + "valType": "enumerated", + "values": [ + "start", + "middle", + "end" + ] } }, "categories": [ - "map", "gl", + "regl", + "cartesian", "symbols", + "errorBarsOK", "showLegend", "scatter-like" ], "meta": { - "description": "The data visualized as scatter point, lines or marker symbols on a MapLibre GL geographic map is provided by longitude/latitude pairs in `lon` and `lat`.", - "hrName": "scatter_map" + "description": "The data visualized as scatter point or lines is set in `x` and `y` using the WebGL plotting engine. Bubble charts are achieved by setting `marker.size` and/or `marker.color` to a numerical arrays.", + "hrName": "scatter_gl" }, - "type": "scattermap" + "type": "scattergl" }, - "scattermapbox": { + "scattermap": { "animatable": false, "attributes": { "below": { - "description": "Determines if this scattermapbox trace's layers are to be inserted before the layer with the specified ID. By default, scattermapbox layers are inserted above all the base layers. To place the scattermapbox layers above every other layer, set `below` to *''*.", + "description": "Determines if this scattermap trace's layers are to be inserted before the layer with the specified ID. By default, scattermap layers are inserted above all the base layers. To place the scattermap layers above every other layer, set `below` to *''*.", "editType": "calc", "valType": "string" }, @@ -73255,11 +63728,6 @@ "editType": "calc", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "enabled": { "description": "Determines whether clustering is enabled or disabled.", @@ -73283,11 +63751,6 @@ "min": 0, "valType": "number" }, - "opacitysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `opacity`.", - "editType": "none", - "valType": "string" - }, "role": "object", "size": { "arrayOk": true, @@ -73297,11 +63760,6 @@ "min": 0, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "step": { "arrayOk": true, "description": "Sets how many points it takes to create a cluster or advance to the next cluster step. Use this in conjunction with arrays for `size` and / or `color`. If an integer, steps start at multiples of this number. If an array, each step extends from the given value until one less than the next value.", @@ -73309,11 +63767,6 @@ "editType": "calc", "min": -1, "valType": "number" - }, - "stepsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `step`.", - "editType": "none", - "valType": "string" } }, "connectgaps": { @@ -73327,11 +63780,6 @@ "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, "fill": { "description": "Sets the area to fill with a solid color. Use with `fillcolor` if not *none*. *toself* connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape.", "dflt": "none", @@ -73349,7 +63797,7 @@ }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", "dflt": "all", "editType": "calc", "extras": [ @@ -73365,11 +63813,6 @@ ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -73383,33 +63826,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -73417,11 +63845,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -73432,11 +63855,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -73452,11 +63870,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -73465,22 +63878,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -73492,11 +63895,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -73510,11 +63908,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -73530,11 +63923,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -73547,11 +63935,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -73562,11 +63945,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -73588,11 +63966,6 @@ "editType": "calc", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "hovertext": { "arrayOk": true, "description": "Sets hover text elements associated with each (lon,lat) pair If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.", @@ -73600,31 +63973,16 @@ "editType": "calc", "valType": "string" }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, "lat": { "description": "Sets the latitude coordinates (in degrees North).", "editType": "calc", "valType": "data_array" }, - "latsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lat`.", - "editType": "none", - "valType": "string" - }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", @@ -73769,11 +64127,6 @@ "editType": "calc", "valType": "data_array" }, - "lonsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lon`.", - "editType": "none", - "valType": "string" - }, "marker": { "allowoverlap": { "description": "Flag to draw all symbols, even if they overlap.", @@ -73788,11 +64141,6 @@ "editType": "calc", "valType": "number" }, - "anglesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `angle`.", - "editType": "none", - "valType": "string" - }, "autocolorscale": { "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", "dflt": true, @@ -74257,21 +64605,11 @@ "editType": "calc", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "calc", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -74372,7 +64710,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", "editType": "calc", "valType": "enumerated", "values": [ @@ -74453,7 +64791,7 @@ } }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -74461,11 +64799,6 @@ }, "valType": "colorscale" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "opacity": { "arrayOk": true, @@ -74475,11 +64808,6 @@ "min": 0, "valType": "number" }, - "opacitysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `opacity`.", - "editType": "none", - "valType": "string" - }, "reversescale": { "description": "Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.", "dflt": false, @@ -74524,22 +64852,12 @@ "editType": "calc", "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "symbol": { "arrayOk": true, "description": "Sets the marker symbol. Full list: https://www.mapbox.com/maki-icons/ Note that the array `marker.color` and `marker.size` are only available for *circle* symbols.", "dflt": "circle", "editType": "calc", "valType": "string" - }, - "symbolsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `symbol`.", - "editType": "none", - "valType": "string" } }, "meta": { @@ -74548,11 +64866,6 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "mode": { "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover.", "dflt": "markers", @@ -74617,28 +64930,9 @@ "editType": "style", "valType": "boolean" }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, "subplot": { - "description": "mapbox subplots and traces are deprecated! Please consider switching to `map` subplots and traces. Learn more at: https://plotly.com/python/maplibre-migration/ as well as https://plotly.com/javascript/maplibre-migration/ Sets a reference between this trace's data coordinates and a mapbox subplot. If *mapbox* (the default value), the data refer to `layout.mapbox`. If *mapbox2*, the data refer to `layout.mapbox2`, and so on.", - "dflt": "mapbox", + "description": "Sets a reference between this trace's data coordinates and a map subplot. If *map* (the default value), the data refer to `layout.map`. If *map2*, the data refer to `layout.map2`, and so on.", + "dflt": "map", "editType": "calc", "valType": "subplotid" }, @@ -74654,7 +64948,7 @@ "editType": "calc", "valType": "color" }, - "description": "Sets the icon text font (color=mapbox.layer.paint.text-color, size=mapbox.layer.layout.text-size). Has an effect only when `type` is set to *symbol*.", + "description": "Sets the icon text font (color=map.layer.paint.text-color, size=map.layer.layout.text-size). Has an effect only when `type` is set to *symbol*.", "editType": "calc", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font if it is available on the system where it runs. Provide multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available.", @@ -74711,11 +65005,6 @@ "bottom right" ] }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, "texttemplate": { "arrayOk": true, "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `lat`, `lon` and `text`.", @@ -74729,12 +65018,7 @@ "editType": "calc", "valType": "any" }, - "texttemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `texttemplate`.", - "editType": "none", - "valType": "string" - }, - "type": "scattermapbox", + "type": "scattermap", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", "editType": "plot", @@ -74784,17 +65068,17 @@ } }, "categories": [ - "mapbox", + "map", "gl", "symbols", "showLegend", "scatter-like" ], "meta": { - "description": "*scattermapbox* trace is deprecated! Please consider switching to the *scattermap* trace type and `map` subplots. Learn more at: https://plotly.com/python/maplibre-migration/ as well as https://plotly.com/javascript/maplibre-migration/ The data visualized as scatter point, lines or marker symbols on a Mapbox GL geographic map is provided by longitude/latitude pairs in `lon` and `lat`.", - "hrName": "scatter_mapbox" + "description": "The data visualized as scatter point, lines or marker symbols on a MapLibre GL geographic map is provided by longitude/latitude pairs in `lon` and `lat`.", + "hrName": "scatter_map" }, - "type": "scattermapbox" + "type": "scattermap" }, "scatterpolar": { "animatable": false, @@ -74816,11 +65100,6 @@ "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, "dr": { "description": "Sets the r coordinate step.", "dflt": 1, @@ -74850,7 +65129,7 @@ }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", "dflt": "all", "editType": "none", "extras": [ @@ -74866,11 +65145,6 @@ ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -74884,33 +65158,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -74918,11 +65177,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -74933,11 +65187,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -74953,11 +65202,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -74966,22 +65210,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -74993,11 +65227,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -75011,11 +65240,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -75031,11 +65255,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -75048,11 +65267,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -75063,11 +65277,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -75098,11 +65307,6 @@ "editType": "none", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "hovertext": { "arrayOk": true, "description": "Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.", @@ -75110,21 +65314,11 @@ "editType": "style", "valType": "string" }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", @@ -75257,11 +65451,6 @@ "min": 0, "valType": "number" }, - "backoffsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `backoff`.", - "editType": "none", - "valType": "string" - }, "color": { "description": "Sets the line color.", "editType": "style", @@ -75327,11 +65516,6 @@ "up" ] }, - "anglesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `angle`.", - "editType": "none", - "valType": "string" - }, "autocolorscale": { "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", "dflt": true, @@ -75796,21 +65980,11 @@ "editType": "colorbars", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "colorbars", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -75911,7 +66085,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -75992,7 +66166,7 @@ } }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -76000,11 +66174,6 @@ }, "valType": "colorscale" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "gradient": { "color": { @@ -76013,11 +66182,6 @@ "editType": "calc", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "role": "object", "type": { @@ -76032,11 +66196,6 @@ "vertical", "none" ] - }, - "typesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `type`.", - "editType": "none", - "valType": "string" } }, "line": { @@ -76093,7 +66252,7 @@ "valType": "subplotid" }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -76101,11 +66260,6 @@ }, "valType": "colorscale" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "dash": { "arrayOk": true, "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", @@ -76121,11 +66275,6 @@ "longdashdot" ] }, - "dashsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `dash`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "reversescale": { "description": "Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.", @@ -76140,11 +66289,6 @@ "editType": "style", "min": 0, "valType": "number" - }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" } }, "maxdisplayed": { @@ -76162,11 +66306,6 @@ "min": 0, "valType": "number" }, - "opacitysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `opacity`.", - "editType": "none", - "valType": "string" - }, "reversescale": { "description": "Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.", "dflt": false, @@ -76211,11 +66350,6 @@ "editType": "calc", "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "standoff": { "arrayOk": true, "description": "Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it.", @@ -76224,11 +66358,6 @@ "min": 0, "valType": "number" }, - "standoffsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `standoff`.", - "editType": "none", - "valType": "string" - }, "symbol": { "arrayOk": true, "description": "Sets the marker symbol type. Adding 100 is equivalent to appending *-open* to a symbol name. Adding 200 is equivalent to appending *-dot* to a symbol name. Adding 300 is equivalent to appending *-open-dot* or *dot-open* to a symbol name.", @@ -76723,11 +66852,6 @@ "154", "arrow-wide-open" ] - }, - "symbolsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `symbol`.", - "editType": "none", - "valType": "string" } }, "meta": { @@ -76736,11 +66860,6 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "mode": { "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.", "editType": "calc", @@ -76778,11 +66897,6 @@ "editType": "calc+clearAxisTypes", "valType": "any" }, - "rsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `r`.", - "editType": "none", - "valType": "string" - }, "selected": { "editType": "style", "marker": { @@ -76829,25 +66943,6 @@ "editType": "style", "valType": "boolean" }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, "subplot": { "description": "Sets a reference between this trace's data coordinates and a polar subplot. If *polar* (the default value), the data refer to `layout.polar`. If *polar2*, the data refer to `layout.polar2`, and so on.", "dflt": "polar", @@ -76867,11 +66962,6 @@ "editType": "style", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the text font.", "editType": "calc", "family": { @@ -76882,11 +66972,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -76902,11 +66987,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -76915,22 +66995,12 @@ "editType": "calc", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "calc", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -76942,11 +67012,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -76960,11 +67025,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -76980,11 +67040,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -76997,11 +67052,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "textposition": { @@ -77022,16 +67072,6 @@ "bottom right" ] }, - "textpositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textposition`.", - "editType": "none", - "valType": "string" - }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, "texttemplate": { "arrayOk": true, "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `r`, `theta` and `text`.", @@ -77045,11 +67085,6 @@ "editType": "plot", "valType": "any" }, - "texttemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `texttemplate`.", - "editType": "none", - "valType": "string" - }, "theta": { "description": "Sets the angular coordinates", "editType": "calc+clearAxisTypes", @@ -77061,11 +67096,6 @@ "editType": "calc+clearAxisTypes", "valType": "any" }, - "thetasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `theta`.", - "editType": "none", - "valType": "string" - }, "thetaunit": { "description": "Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes.", "dflt": "degrees", @@ -77161,11 +67191,6 @@ "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, "dr": { "description": "Sets the r coordinate step.", "dflt": 1, @@ -77199,7 +67224,7 @@ }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", "dflt": "all", "editType": "none", "extras": [ @@ -77215,11 +67240,6 @@ ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -77233,33 +67253,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -77267,11 +67272,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -77282,11 +67282,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -77302,11 +67297,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -77315,22 +67305,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -77342,11 +67322,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -77360,11 +67335,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -77380,11 +67350,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -77397,11 +67362,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -77412,11 +67372,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -77438,11 +67393,6 @@ "editType": "none", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "hovertext": { "arrayOk": true, "description": "Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.", @@ -77450,21 +67400,11 @@ "editType": "style", "valType": "string" }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", @@ -77626,11 +67566,6 @@ "editType": "calc", "valType": "angle" }, - "anglesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `angle`.", - "editType": "none", - "valType": "string" - }, "autocolorscale": { "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", "dflt": true, @@ -78095,21 +68030,11 @@ "editType": "calc", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "calc", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -78210,7 +68135,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", "editType": "calc", "valType": "enumerated", "values": [ @@ -78291,7 +68216,7 @@ } }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -78299,11 +68224,6 @@ }, "valType": "colorscale" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "line": { "autocolorscale": { @@ -78359,7 +68279,7 @@ "valType": "subplotid" }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -78367,11 +68287,6 @@ }, "valType": "colorscale" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "reversescale": { "description": "Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.", @@ -78386,11 +68301,6 @@ "editType": "calc", "min": 0, "valType": "number" - }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" } }, "opacity": { @@ -78401,11 +68311,6 @@ "min": 0, "valType": "number" }, - "opacitysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `opacity`.", - "editType": "none", - "valType": "string" - }, "reversescale": { "description": "Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.", "dflt": false, @@ -78450,11 +68355,6 @@ "editType": "calc", "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "symbol": { "arrayOk": true, "description": "Sets the marker symbol type. Adding 100 is equivalent to appending *-open* to a symbol name. Adding 200 is equivalent to appending *-dot* to a symbol name. Adding 300 is equivalent to appending *-open-dot* or *dot-open* to a symbol name.", @@ -78949,11 +68849,6 @@ "154", "arrow-wide-open" ] - }, - "symbolsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `symbol`.", - "editType": "none", - "valType": "string" } }, "meta": { @@ -78962,11 +68857,6 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "mode": { "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.", "editType": "calc", @@ -79004,11 +68894,6 @@ "editType": "calc+clearAxisTypes", "valType": "any" }, - "rsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `r`.", - "editType": "none", - "valType": "string" - }, "selected": { "editType": "style", "marker": { @@ -79055,25 +68940,6 @@ "editType": "style", "valType": "boolean" }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, "subplot": { "description": "Sets a reference between this trace's data coordinates and a polar subplot. If *polar* (the default value), the data refer to `layout.polar`. If *polar2*, the data refer to `layout.polar2`, and so on.", "dflt": "polar", @@ -79093,11 +68959,6 @@ "editType": "calc", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the text font.", "editType": "calc", "family": { @@ -79108,11 +68969,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "role": "object", "size": { "arrayOk": true, @@ -79120,11 +68976,6 @@ "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -79136,11 +68987,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -79152,11 +68998,6 @@ "small-caps" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -79167,11 +69008,6 @@ "normal", "bold" ] - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "textposition": { @@ -79192,16 +69028,6 @@ "bottom right" ] }, - "textpositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textposition`.", - "editType": "none", - "valType": "string" - }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, "texttemplate": { "arrayOk": true, "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `r`, `theta` and `text`.", @@ -79215,11 +69041,6 @@ "editType": "plot", "valType": "any" }, - "texttemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `texttemplate`.", - "editType": "none", - "valType": "string" - }, "theta": { "description": "Sets the angular coordinates", "editType": "calc+clearAxisTypes", @@ -79231,11 +69052,6 @@ "editType": "calc+clearAxisTypes", "valType": "any" }, - "thetasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `theta`.", - "editType": "none", - "valType": "string" - }, "thetaunit": { "description": "Sets the unit of input *theta* values. Has an effect only when on *linear* angular axes.", "dflt": "degrees", @@ -79339,11 +69155,6 @@ "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, "fill": { "description": "Sets the area to fill with a solid color. Use with `fillcolor` if not *none*. scattersmith has a subset of the options available to scatter. *toself* connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. *tonext* fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like *toself* if there is no trace before it. *tonext* should not be used if one trace does not enclose the other.", "dflt": "none", @@ -79362,7 +69173,7 @@ }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", "dflt": "all", "editType": "none", "extras": [ @@ -79378,11 +69189,6 @@ ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -79396,33 +69202,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -79430,11 +69221,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -79445,11 +69231,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -79465,11 +69246,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -79478,22 +69254,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -79505,11 +69271,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -79523,11 +69284,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -79543,11 +69299,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -79560,11 +69311,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -79575,11 +69321,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -79610,11 +69351,6 @@ "editType": "none", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "hovertext": { "arrayOk": true, "description": "Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.", @@ -79622,31 +69358,16 @@ "editType": "style", "valType": "string" }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, "imag": { "description": "Sets the imaginary component of the data, in units of normalized impedance such that real=1, imag=0 is the center of the chart.", "editType": "calc+clearAxisTypes", "valType": "data_array" }, - "imagsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `imag`.", - "editType": "none", - "valType": "string" - }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", @@ -79779,11 +69500,6 @@ "min": 0, "valType": "number" }, - "backoffsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `backoff`.", - "editType": "none", - "valType": "string" - }, "color": { "description": "Sets the line color.", "editType": "style", @@ -79849,11 +69565,6 @@ "up" ] }, - "anglesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `angle`.", - "editType": "none", - "valType": "string" - }, "autocolorscale": { "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", "dflt": true, @@ -80318,21 +70029,11 @@ "editType": "colorbars", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "colorbars", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -80433,7 +70134,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -80514,7 +70215,7 @@ } }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -80522,11 +70223,6 @@ }, "valType": "colorscale" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "gradient": { "color": { @@ -80535,11 +70231,6 @@ "editType": "calc", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "role": "object", "type": { @@ -80554,11 +70245,6 @@ "vertical", "none" ] - }, - "typesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `type`.", - "editType": "none", - "valType": "string" } }, "line": { @@ -80615,7 +70301,7 @@ "valType": "subplotid" }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -80623,11 +70309,6 @@ }, "valType": "colorscale" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "dash": { "arrayOk": true, "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", @@ -80643,11 +70324,6 @@ "longdashdot" ] }, - "dashsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `dash`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "reversescale": { "description": "Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.", @@ -80662,11 +70338,6 @@ "editType": "style", "min": 0, "valType": "number" - }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" } }, "maxdisplayed": { @@ -80684,11 +70355,6 @@ "min": 0, "valType": "number" }, - "opacitysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `opacity`.", - "editType": "none", - "valType": "string" - }, "reversescale": { "description": "Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.", "dflt": false, @@ -80733,11 +70399,6 @@ "editType": "calc", "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "standoff": { "arrayOk": true, "description": "Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it.", @@ -80746,11 +70407,6 @@ "min": 0, "valType": "number" }, - "standoffsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `standoff`.", - "editType": "none", - "valType": "string" - }, "symbol": { "arrayOk": true, "description": "Sets the marker symbol type. Adding 100 is equivalent to appending *-open* to a symbol name. Adding 200 is equivalent to appending *-dot* to a symbol name. Adding 300 is equivalent to appending *-open-dot* or *dot-open* to a symbol name.", @@ -81245,11 +70901,6 @@ "154", "arrow-wide-open" ] - }, - "symbolsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `symbol`.", - "editType": "none", - "valType": "string" } }, "meta": { @@ -81258,11 +70909,6 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "mode": { "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.", "editType": "calc", @@ -81294,11 +70940,6 @@ "editType": "calc+clearAxisTypes", "valType": "data_array" }, - "realsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `real`.", - "editType": "none", - "valType": "string" - }, "selected": { "editType": "style", "marker": { @@ -81345,25 +70986,6 @@ "editType": "style", "valType": "boolean" }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, "subplot": { "description": "Sets a reference between this trace's data coordinates and a smith subplot. If *smith* (the default value), the data refer to `layout.smith`. If *smith2*, the data refer to `layout.smith2`, and so on.", "dflt": "smith", @@ -81383,11 +71005,6 @@ "editType": "style", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the text font.", "editType": "calc", "family": { @@ -81398,11 +71015,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -81418,11 +71030,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -81431,22 +71038,12 @@ "editType": "calc", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "calc", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -81458,11 +71055,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -81476,11 +71068,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -81496,11 +71083,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -81513,11 +71095,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "textposition": { @@ -81538,16 +71115,6 @@ "bottom right" ] }, - "textpositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textposition`.", - "editType": "none", - "valType": "string" - }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, "texttemplate": { "arrayOk": true, "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `real`, `imag` and `text`.", @@ -81561,11 +71128,6 @@ "editType": "plot", "valType": "any" }, - "texttemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `texttemplate`.", - "editType": "none", - "valType": "string" - }, "type": "scattersmith", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -81644,21 +71206,11 @@ "editType": "calc", "valType": "data_array" }, - "asrc": { - "description": "Sets the source reference on Chart Studio Cloud for `a`.", - "editType": "none", - "valType": "string" - }, "b": { "description": "Sets the quantity of component `a` in each data point. If `a`, `b`, and `c` are all provided, they need not be normalized, only the relative values matter. If only two arrays are provided they must be normalized to match `ternary.sum`.", "editType": "calc", "valType": "data_array" }, - "bsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `b`.", - "editType": "none", - "valType": "string" - }, "c": { "description": "Sets the quantity of component `a` in each data point. If `a`, `b`, and `c` are all provided, they need not be normalized, only the relative values matter. If only two arrays are provided they must be normalized to match `ternary.sum`.", "editType": "calc", @@ -81676,21 +71228,11 @@ "editType": "calc", "valType": "boolean" }, - "csrc": { - "description": "Sets the source reference on Chart Studio Cloud for `c`.", - "editType": "none", - "valType": "string" - }, "customdata": { "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, "fill": { "description": "Sets the area to fill with a solid color. Use with `fillcolor` if not *none*. scatterternary has a subset of the options available to scatter. *toself* connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. *tonext* fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like *toself* if there is no trace before it. *tonext* should not be used if one trace does not enclose the other.", "dflt": "none", @@ -81709,7 +71251,7 @@ }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", "dflt": "all", "editType": "none", "extras": [ @@ -81726,11 +71268,6 @@ ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -81744,33 +71281,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -81778,11 +71300,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -81793,11 +71310,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -81813,11 +71325,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -81826,22 +71333,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -81853,11 +71350,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -81871,11 +71363,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -81891,11 +71378,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -81908,11 +71390,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -81923,11 +71400,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -81958,33 +71430,18 @@ "editType": "none", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "hovertext": { "arrayOk": true, - "description": "Sets hover text elements associated with each (a,b,c) point. If a single string, the same string appears over all the data points. If an array of strings, the items are mapped in order to the the data points in (a,b,c). To be seen, trace `hoverinfo` must contain a *text* flag.", + "description": "Sets hover text elements associated with each (a,b,c) point. If a single string, the same string appears over all the data points. If an array of strings, the items are mapped in order to the data points in (a,b,c). To be seen, trace `hoverinfo` must contain a *text* flag.", "dflt": "", "editType": "style", "valType": "string" }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", @@ -82117,11 +71574,6 @@ "min": 0, "valType": "number" }, - "backoffsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `backoff`.", - "editType": "none", - "valType": "string" - }, "color": { "description": "Sets the line color.", "editType": "style", @@ -82187,11 +71639,6 @@ "up" ] }, - "anglesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `angle`.", - "editType": "none", - "valType": "string" - }, "autocolorscale": { "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", "dflt": true, @@ -82656,21 +72103,11 @@ "editType": "colorbars", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "colorbars", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -82771,7 +72208,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -82852,7 +72289,7 @@ } }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -82860,11 +72297,6 @@ }, "valType": "colorscale" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "gradient": { "color": { @@ -82873,11 +72305,6 @@ "editType": "calc", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "role": "object", "type": { @@ -82892,11 +72319,6 @@ "vertical", "none" ] - }, - "typesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `type`.", - "editType": "none", - "valType": "string" } }, "line": { @@ -82953,7 +72375,7 @@ "valType": "subplotid" }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -82961,11 +72383,6 @@ }, "valType": "colorscale" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "dash": { "arrayOk": true, "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", @@ -82981,11 +72398,6 @@ "longdashdot" ] }, - "dashsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `dash`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "reversescale": { "description": "Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.", @@ -83000,11 +72412,6 @@ "editType": "style", "min": 0, "valType": "number" - }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" } }, "maxdisplayed": { @@ -83022,11 +72429,6 @@ "min": 0, "valType": "number" }, - "opacitysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `opacity`.", - "editType": "none", - "valType": "string" - }, "reversescale": { "description": "Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.", "dflt": false, @@ -83071,11 +72473,6 @@ "editType": "calc", "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "standoff": { "arrayOk": true, "description": "Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it.", @@ -83084,11 +72481,6 @@ "min": 0, "valType": "number" }, - "standoffsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `standoff`.", - "editType": "none", - "valType": "string" - }, "symbol": { "arrayOk": true, "description": "Sets the marker symbol type. Adding 100 is equivalent to appending *-open* to a symbol name. Adding 200 is equivalent to appending *-dot* to a symbol name. Adding 300 is equivalent to appending *-open-dot* or *dot-open* to a symbol name.", @@ -83583,11 +72975,6 @@ "154", "arrow-wide-open" ] - }, - "symbolsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `symbol`.", - "editType": "none", - "valType": "string" } }, "meta": { @@ -83596,11 +72983,6 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "mode": { "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is *lines+markers*. Otherwise, *lines*.", "dflt": "markers", @@ -83674,25 +73056,6 @@ "editType": "style", "valType": "boolean" }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, "subplot": { "description": "Sets a reference between this trace's data coordinates and a ternary subplot. If *ternary* (the default value), the data refer to `layout.ternary`. If *ternary2*, the data refer to `layout.ternary2`, and so on.", "dflt": "ternary", @@ -83708,7 +73071,7 @@ }, "text": { "arrayOk": true, - "description": "Sets text elements associated with each (a,b,c) point. If a single string, the same string appears over all the data points. If an array of strings, the items are mapped in order to the the data points in (a,b,c). If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", + "description": "Sets text elements associated with each (a,b,c) point. If a single string, the same string appears over all the data points. If an array of strings, the items are mapped in order to the data points in (a,b,c). If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", "dflt": "", "editType": "calc", "valType": "string" @@ -83719,11 +73082,6 @@ "editType": "style", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the text font.", "editType": "calc", "family": { @@ -83734,11 +73092,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -83754,11 +73107,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -83767,22 +73115,12 @@ "editType": "calc", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "calc", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -83794,11 +73132,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -83812,11 +73145,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -83832,11 +73160,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -83849,11 +73172,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "textposition": { @@ -83874,16 +73192,6 @@ "bottom right" ] }, - "textpositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textposition`.", - "editType": "none", - "valType": "string" - }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, "texttemplate": { "arrayOk": true, "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `a`, `b`, `c` and `text`.", @@ -83897,11 +73205,6 @@ "editType": "plot", "valType": "any" }, - "texttemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `texttemplate`.", - "editType": "none", - "valType": "string" - }, "type": "scatterternary", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -83980,11 +73283,6 @@ "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, "diagonal": { "editType": "calc", "role": "object", @@ -84002,7 +73300,7 @@ "editType": "calc+clearAxisTypes", "matches": { "description": "Determines whether or not the x & y axes generated by this dimension match. Equivalent to setting the `matches` axis attribute in the layout with the correct axis id.", - "dflt": false, + "dflt": true, "editType": "calc", "valType": "boolean" }, @@ -84041,11 +73339,6 @@ "editType": "calc+clearAxisTypes", "valType": "data_array" }, - "valuessrc": { - "description": "Sets the source reference on Chart Studio Cloud for `values`.", - "editType": "none", - "valType": "string" - }, "visible": { "description": "Determines whether or not this dimension is shown on the graph. Note that even visible false dimension contribute to the default grid generate by this splom trace.", "dflt": true, @@ -84058,7 +73351,7 @@ }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", "dflt": "all", "editType": "none", "extras": [ @@ -84075,11 +73368,6 @@ ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -84093,33 +73381,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -84127,11 +73400,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -84142,11 +73410,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -84162,11 +73425,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -84175,22 +73433,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -84202,11 +73450,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -84220,11 +73463,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -84240,11 +73478,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -84257,11 +73490,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -84272,11 +73500,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -84298,11 +73521,6 @@ "editType": "none", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "hovertext": { "arrayOk": true, "description": "Same as `text`.", @@ -84310,21 +73528,11 @@ "editType": "calc", "valType": "string" }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", @@ -84456,11 +73664,6 @@ "editType": "plot", "valType": "angle" }, - "anglesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `angle`.", - "editType": "none", - "valType": "string" - }, "autocolorscale": { "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", "dflt": true, @@ -84925,21 +74128,11 @@ "editType": "colorbars", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "colorbars", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -85040,7 +74233,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -85121,7 +74314,7 @@ } }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -85129,11 +74322,6 @@ }, "valType": "colorscale" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "line": { "autocolorscale": { @@ -85189,7 +74377,7 @@ "valType": "subplotid" }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.line.cmin` and `marker.line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -85197,11 +74385,6 @@ }, "valType": "colorscale" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "reversescale": { "description": "Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. If true, `marker.line.cmin` will correspond to the last color in the array and `marker.line.cmax` will correspond to the first color.", @@ -85216,11 +74399,6 @@ "editType": "calc", "min": 0, "valType": "number" - }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" } }, "opacity": { @@ -85231,11 +74409,6 @@ "min": 0, "valType": "number" }, - "opacitysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `opacity`.", - "editType": "none", - "valType": "string" - }, "reversescale": { "description": "Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If true, `marker.cmin` will correspond to the last color in the array and `marker.cmax` will correspond to the first color.", "dflt": false, @@ -85280,11 +74453,6 @@ "editType": "calc", "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "symbol": { "arrayOk": true, "description": "Sets the marker symbol type. Adding 100 is equivalent to appending *-open* to a symbol name. Adding 200 is equivalent to appending *-dot* to a symbol name. Adding 300 is equivalent to appending *-open-dot* or *dot-open* to a symbol name.", @@ -85779,11 +74947,6 @@ "154", "arrow-wide-open" ] - }, - "symbolsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `symbol`.", - "editType": "none", - "valType": "string" } }, "meta": { @@ -85792,11 +74955,6 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", @@ -85859,25 +75017,6 @@ "editType": "calc", "valType": "boolean" }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, "text": { "arrayOk": true, "description": "Sets text elements associated with each (x,y) pair to appear on hover. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates.", @@ -85885,11 +75024,6 @@ "editType": "calc", "valType": "string" }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, "type": "splom", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -85950,7 +75084,7 @@ "valType": "info_array" }, "xhoverformat": { - "description": "Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", "dflt": "", "editType": "none", "valType": "string" @@ -85967,7 +75101,7 @@ "valType": "info_array" }, "yhoverformat": { - "description": "Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", "dflt": "", "editType": "none", "valType": "string" @@ -86447,21 +75581,11 @@ "editType": "colorbars", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "colorbars", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -86562,7 +75686,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -86643,7 +75767,7 @@ } }, "colorscale": { - "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -86656,14 +75780,9 @@ "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", "dflt": "x+y+z+norm+text+name", "editType": "calc", "extras": [ @@ -86685,11 +75804,6 @@ ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -86703,33 +75817,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -86737,11 +75836,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -86752,11 +75846,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -86772,11 +75861,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -86785,22 +75869,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -86812,11 +75886,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -86830,11 +75899,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -86850,11 +75914,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -86867,11 +75926,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -86882,11 +75936,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -86908,11 +75957,6 @@ "editType": "calc", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "hovertext": { "description": "Same as `text`.", "dflt": "", @@ -86924,11 +75968,6 @@ "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", @@ -87153,11 +76192,6 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", @@ -87210,49 +76244,15 @@ "editType": "calc", "valType": "data_array" }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", - "editType": "none", - "valType": "string" - }, "y": { "description": "Sets the y components of the starting position of the streamtubes", "editType": "calc", "valType": "data_array" }, - "ysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `y`.", - "editType": "none", - "valType": "string" - }, "z": { "description": "Sets the z components of the starting position of the streamtubes", "editType": "calc", "valType": "data_array" - }, - "zsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `z`.", - "editType": "none", - "valType": "string" - } - }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" } }, "text": { @@ -87268,7 +76268,7 @@ "valType": "data_array" }, "uhoverformat": { - "description": "Sets the hover text formatting rulefor `u` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.", + "description": "Sets the hover text formatting rule for `u` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.", "dflt": "", "editType": "none", "valType": "string" @@ -87283,18 +76283,13 @@ "editType": "none", "valType": "any" }, - "usrc": { - "description": "Sets the source reference on Chart Studio Cloud for `u`.", - "editType": "none", - "valType": "string" - }, "v": { "description": "Sets the y components of the vector field.", "editType": "calc", "valType": "data_array" }, "vhoverformat": { - "description": "Sets the hover text formatting rulefor `v` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.", + "description": "Sets the hover text formatting rule for `v` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.", "dflt": "", "editType": "none", "valType": "string" @@ -87310,74 +76305,49 @@ "legendonly" ] }, - "vsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `v`.", - "editType": "none", - "valType": "string" - }, "w": { "description": "Sets the z components of the vector field.", "editType": "calc", "valType": "data_array" }, "whoverformat": { - "description": "Sets the hover text formatting rulefor `w` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.", + "description": "Sets the hover text formatting rule for `w` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.", "dflt": "", "editType": "none", "valType": "string" }, - "wsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `w`.", - "editType": "none", - "valType": "string" - }, "x": { "description": "Sets the x coordinates of the vector field.", "editType": "calc+clearAxisTypes", "valType": "data_array" }, "xhoverformat": { - "description": "Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", "dflt": "", "editType": "none", "valType": "string" }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", - "editType": "none", - "valType": "string" - }, "y": { "description": "Sets the y coordinates of the vector field.", "editType": "calc+clearAxisTypes", "valType": "data_array" }, "yhoverformat": { - "description": "Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", "dflt": "", "editType": "none", "valType": "string" }, - "ysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `y`.", - "editType": "none", - "valType": "string" - }, "z": { "description": "Sets the z coordinates of the vector field.", "editType": "calc+clearAxisTypes", "valType": "data_array" }, "zhoverformat": { - "description": "Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`.", "dflt": "", "editType": "none", "valType": "string" - }, - "zsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `z`.", - "editType": "none", - "valType": "string" } }, "categories": [ @@ -87417,14 +76387,9 @@ "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, "domain": { "column": { - "description": "If there is a layout grid, use the domain for this column in the grid for this sunburst trace .", + "description": "If there is a layout grid, use the domain for this column in the grid for this sunburst trace.", "dflt": 0, "editType": "calc", "min": 0, @@ -87433,7 +76398,7 @@ "editType": "calc", "role": "object", "row": { - "description": "If there is a layout grid, use the domain for this row in the grid for this sunburst trace .", + "description": "If there is a layout grid, use the domain for this row in the grid for this sunburst trace.", "dflt": 0, "editType": "calc", "min": 0, @@ -87488,7 +76453,7 @@ }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. Flags are rendered in a fixed order; use `hovertemplate` if you need explicit control over the rendered string, including the order of fields and surrounding text.", "dflt": "label+text+value+name", "editType": "none", "extras": [ @@ -87508,11 +76473,6 @@ ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -87526,33 +76486,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -87560,11 +76505,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -87575,11 +76515,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -87595,11 +76530,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -87608,22 +76538,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -87635,11 +76555,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -87653,11 +76568,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -87673,11 +76583,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -87690,11 +76595,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -87705,11 +76605,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -87731,11 +76626,6 @@ "editType": "none", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "hovertext": { "arrayOk": true, "description": "Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a *text* flag.", @@ -87743,33 +76633,18 @@ "editType": "style", "valType": "string" }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, "ids": { "anim": true, "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, "insidetextfont": { "color": { "arrayOk": true, "editType": "plot", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used for `textinfo` lying inside the sector.", "editType": "plot", "family": { @@ -87780,11 +76655,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -87800,11 +76670,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -87813,22 +76678,12 @@ "editType": "plot", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "plot", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -87840,11 +76695,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -87858,11 +76708,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -87878,11 +76723,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -87895,11 +76735,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "insidetextorientation": { @@ -87919,11 +76754,6 @@ "editType": "calc", "valType": "data_array" }, - "labelssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `labels`.", - "editType": "none", - "valType": "string" - }, "leaf": { "editType": "plot", "opacity": { @@ -88517,21 +77347,11 @@ "editType": "colorbars", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "colorbars", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -88632,7 +77452,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -88718,7 +77538,7 @@ "valType": "data_array" }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if colors is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. Has an effect only if colors is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -88726,11 +77546,6 @@ }, "valType": "colorscale" }, - "colorssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `colors`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "line": { "color": { @@ -88740,11 +77555,6 @@ "editType": "style", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "role": "object", "width": { @@ -88754,11 +77564,6 @@ "editType": "style", "min": 0, "valType": "number" - }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" } }, "pattern": { @@ -88768,11 +77573,6 @@ "editType": "style", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the pattern within the marker.", "editType": "style", "fgcolor": { @@ -88781,11 +77581,6 @@ "editType": "style", "valType": "color" }, - "fgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `fgcolor`.", - "editType": "none", - "valType": "string" - }, "fgopacity": { "description": "Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.", "editType": "style", @@ -88809,11 +77604,6 @@ "editType": "style", "valType": "string" }, - "pathsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `path`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shape": { "arrayOk": true, @@ -88832,11 +77622,6 @@ "." ] }, - "shapesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shape`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "description": "Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.", @@ -88845,11 +77630,6 @@ "min": 0, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "solidity": { "arrayOk": true, "description": "Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.", @@ -88858,11 +77638,6 @@ "max": 1, "min": 0, "valType": "number" - }, - "soliditysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `solidity`.", - "editType": "none", - "valType": "string" } }, "reversescale": { @@ -88891,11 +77666,6 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", @@ -88915,11 +77685,6 @@ "editType": "plot", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used for `textinfo` lying outside the sector. This option refers to the root of the hierarchy presented at the center of a sunburst graph. Please note that if a hierarchy has multiple root nodes, this option won't have any effect and `insidetextfont` would be used.", "editType": "plot", "family": { @@ -88930,11 +77695,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -88950,11 +77710,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -88963,22 +77718,12 @@ "editType": "plot", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "plot", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -88990,11 +77735,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -89008,11 +77748,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -89028,11 +77763,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -89045,11 +77775,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "parents": { @@ -89057,11 +77782,6 @@ "editType": "calc", "valType": "data_array" }, - "parentssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `parents`.", - "editType": "none", - "valType": "string" - }, "root": { "color": { "description": "sets the color of the root node for a sunburst/treemap/icicle trace. this has no effect when a colorscale is used to set the markers.", @@ -89084,25 +77804,6 @@ "editType": "calc", "valType": "boolean" }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, "text": { "description": "Sets text elements associated with each sector. If trace `textinfo` contains a *text* flag, these elements will be seen on the chart. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", "editType": "plot", @@ -89114,11 +77815,6 @@ "editType": "plot", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used for `textinfo`.", "editType": "plot", "family": { @@ -89129,11 +77825,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -89149,11 +77840,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -89162,22 +77848,12 @@ "editType": "plot", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "plot", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -89189,11 +77865,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -89207,11 +77878,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -89227,11 +77893,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -89244,15 +77905,10 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "textinfo": { - "description": "Determines which trace information appear on the graph.", + "description": "Determines what trace information appears on the graph. Flags are rendered in a fixed order; use `texttemplate` if you need explicit control over the rendered string, including the order of fields and surrounding text.", "editType": "plot", "extras": [ "none" @@ -89268,11 +77924,6 @@ ], "valType": "flaglist" }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, "texttemplate": { "arrayOk": true, "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`.", @@ -89286,11 +77937,6 @@ "editType": "plot", "valType": "any" }, - "texttemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `texttemplate`.", - "editType": "none", - "valType": "string" - }, "type": "sunburst", "uid": { "anim": true, @@ -89308,11 +77954,6 @@ "editType": "calc", "valType": "data_array" }, - "valuessrc": { - "description": "Sets the source reference on Chart Studio Cloud for `values`.", - "editType": "none", - "valType": "string" - }, "visible": { "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", "dflt": true, @@ -89805,21 +78446,11 @@ "editType": "calc", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "calc", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -89920,7 +78551,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", "editType": "calc", "valType": "enumerated", "values": [ @@ -90001,7 +78632,7 @@ } }, "colorscale": { - "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -90297,11 +78928,6 @@ "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, "hidesurface": { "description": "Determines whether or not a surface is drawn. For example, set `hidesurface` to *false* `contours.x.show` to *true* and `contours.y.show` to *true* to draw a wire frame plot.", "dflt": false, @@ -90310,7 +78936,7 @@ }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", "dflt": "all", "editType": "calc", "extras": [ @@ -90327,11 +78953,6 @@ ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -90345,33 +78966,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -90379,11 +78985,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -90394,11 +78995,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -90414,11 +79010,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -90427,22 +79018,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -90454,11 +79035,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -90472,11 +79048,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -90492,11 +79063,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -90509,11 +79075,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -90524,11 +79085,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -90550,11 +79106,6 @@ "editType": "calc", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "hovertext": { "arrayOk": true, "description": "Same as `text`.", @@ -90562,21 +79113,11 @@ "editType": "calc", "valType": "string" }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", @@ -90778,11 +79319,6 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", @@ -90825,35 +79361,11 @@ "editType": "calc", "valType": "boolean" }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, "surfacecolor": { "description": "Sets the surface color values, used for setting a color scale independent of `z`.", "editType": "calc", "valType": "data_array" }, - "surfacecolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `surfacecolor`.", - "editType": "none", - "valType": "string" - }, "text": { "arrayOk": true, "description": "Sets the text elements associated with each z value. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", @@ -90861,11 +79373,6 @@ "editType": "calc", "valType": "string" }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, "type": "surface", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -90918,16 +79425,11 @@ ] }, "xhoverformat": { - "description": "Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", "dflt": "", "editType": "calc", "valType": "string" }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", - "editType": "none", - "valType": "string" - }, "y": { "description": "Sets the y coordinates.", "editType": "calc+clearAxisTypes", @@ -90958,16 +79460,11 @@ ] }, "yhoverformat": { - "description": "Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", "dflt": "", "editType": "calc", "valType": "string" }, - "ysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `y`.", - "editType": "none", - "valType": "string" - }, "z": { "description": "Sets the z coordinates.", "editType": "calc+clearAxisTypes", @@ -90998,15 +79495,10 @@ ] }, "zhoverformat": { - "description": "Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`.", "dflt": "", "editType": "calc", "valType": "string" - }, - "zsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `z`.", - "editType": "none", - "valType": "string" } }, "categories": [ @@ -91035,11 +79527,6 @@ "right" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "fill": { "color": { @@ -91049,11 +79536,6 @@ "editType": "calc", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "role": "object" }, @@ -91063,11 +79545,6 @@ "editType": "calc", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "", "editType": "calc", "family": { @@ -91078,11 +79555,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -91098,11 +79570,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -91111,22 +79578,12 @@ "editType": "calc", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "calc", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -91138,11 +79595,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -91156,11 +79608,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -91176,11 +79623,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -91193,11 +79635,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "format": { @@ -91206,11 +79643,6 @@ "editType": "calc", "valType": "data_array" }, - "formatsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `format`.", - "editType": "none", - "valType": "string" - }, "height": { "description": "The height of cells.", "dflt": 20, @@ -91224,11 +79656,6 @@ "editType": "calc", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "role": "object", "width": { @@ -91236,11 +79663,6 @@ "dflt": 1, "editType": "calc", "valType": "number" - }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" } }, "prefix": { @@ -91250,11 +79672,6 @@ "editType": "calc", "valType": "string" }, - "prefixsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `prefix`.", - "editType": "none", - "valType": "string" - }, "role": "object", "suffix": { "arrayOk": true, @@ -91263,21 +79680,11 @@ "editType": "calc", "valType": "string" }, - "suffixsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `suffix`.", - "editType": "none", - "valType": "string" - }, "values": { "description": "Cell values. `values[m][n]` represents the value of the `n`th point in column `m`, therefore the `values[m]` vector length for all columns must be the same (longer vectors will be truncated). Each value must be a finite number or a string.", "dflt": [], "editType": "calc", "valType": "data_array" - }, - "valuessrc": { - "description": "Sets the source reference on Chart Studio Cloud for `values`.", - "editType": "none", - "valType": "string" } }, "columnorder": { @@ -91285,11 +79692,6 @@ "editType": "calc", "valType": "data_array" }, - "columnordersrc": { - "description": "Sets the source reference on Chart Studio Cloud for `columnorder`.", - "editType": "none", - "valType": "string" - }, "columnwidth": { "arrayOk": true, "description": "The width of columns expressed as a ratio. Columns fill the available width in proportion of their specified column widths.", @@ -91297,24 +79699,14 @@ "editType": "calc", "valType": "number" }, - "columnwidthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `columnwidth`.", - "editType": "none", - "valType": "string" - }, "customdata": { "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, "domain": { "column": { - "description": "If there is a layout grid, use the domain for this column in the grid for this table trace .", + "description": "If there is a layout grid, use the domain for this column in the grid for this table trace.", "dflt": 0, "editType": "calc", "min": 0, @@ -91323,7 +79715,7 @@ "editType": "calc", "role": "object", "row": { - "description": "If there is a layout grid, use the domain for this row in the grid for this table trace .", + "description": "If there is a layout grid, use the domain for this row in the grid for this table trace.", "dflt": 0, "editType": "calc", "min": 0, @@ -91390,11 +79782,6 @@ "right" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "fill": { "color": { @@ -91404,11 +79791,6 @@ "editType": "calc", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "role": "object" }, @@ -91418,11 +79800,6 @@ "editType": "calc", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "", "editType": "calc", "family": { @@ -91433,11 +79810,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -91453,11 +79825,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -91466,22 +79833,12 @@ "editType": "calc", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "calc", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -91493,11 +79850,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -91511,11 +79863,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -91531,11 +79878,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -91548,11 +79890,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "format": { @@ -91561,11 +79898,6 @@ "editType": "calc", "valType": "data_array" }, - "formatsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `format`.", - "editType": "none", - "valType": "string" - }, "height": { "description": "The height of cells.", "dflt": 28, @@ -91579,11 +79911,6 @@ "editType": "calc", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "role": "object", "width": { @@ -91591,11 +79918,6 @@ "dflt": 1, "editType": "calc", "valType": "number" - }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" } }, "prefix": { @@ -91605,11 +79927,6 @@ "editType": "calc", "valType": "string" }, - "prefixsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `prefix`.", - "editType": "none", - "valType": "string" - }, "role": "object", "suffix": { "arrayOk": true, @@ -91618,26 +79935,16 @@ "editType": "calc", "valType": "string" }, - "suffixsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `suffix`.", - "editType": "none", - "valType": "string" - }, "values": { "description": "Header cell values. `values[m][n]` represents the value of the `n`th point in column `m`, therefore the `values[m]` vector length for all columns must be the same (longer vectors will be truncated). Each value must be a finite number or a string.", "dflt": [], "editType": "calc", "valType": "data_array" - }, - "valuessrc": { - "description": "Sets the source reference on Chart Studio Cloud for `values`.", - "editType": "none", - "valType": "string" } }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", "dflt": "all", "editType": "none", "extras": [ @@ -91654,11 +79961,6 @@ ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -91672,33 +79974,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -91706,11 +79993,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -91721,11 +80003,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -91741,11 +80018,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -91754,22 +80026,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -91781,11 +80043,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -91799,11 +80056,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -91819,11 +80071,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -91836,11 +80083,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -91851,11 +80093,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -91869,11 +80106,6 @@ "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", @@ -91997,35 +80229,11 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", "valType": "string" }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, "type": "table", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -92085,14 +80293,9 @@ "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, "domain": { "column": { - "description": "If there is a layout grid, use the domain for this column in the grid for this treemap trace .", + "description": "If there is a layout grid, use the domain for this column in the grid for this treemap trace.", "dflt": 0, "editType": "calc", "min": 0, @@ -92101,7 +80304,7 @@ "editType": "calc", "role": "object", "row": { - "description": "If there is a layout grid, use the domain for this row in the grid for this treemap trace .", + "description": "If there is a layout grid, use the domain for this row in the grid for this treemap trace.", "dflt": 0, "editType": "calc", "min": 0, @@ -92156,7 +80359,7 @@ }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. Flags are rendered in a fixed order; use `hovertemplate` if you need explicit control over the rendered string, including the order of fields and surrounding text.", "dflt": "label+text+value+name", "editType": "none", "extras": [ @@ -92176,11 +80379,6 @@ ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -92194,33 +80392,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -92228,11 +80411,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -92243,11 +80421,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -92263,11 +80436,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -92276,22 +80444,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -92303,11 +80461,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -92321,11 +80474,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -92341,11 +80489,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -92358,11 +80501,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -92373,11 +80511,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -92399,11 +80532,6 @@ "editType": "none", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "hovertext": { "arrayOk": true, "description": "Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a *text* flag.", @@ -92411,33 +80539,18 @@ "editType": "style", "valType": "string" }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, "ids": { "anim": true, "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, "insidetextfont": { "color": { "arrayOk": true, "editType": "plot", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used for `textinfo` lying inside the sector.", "editType": "plot", "family": { @@ -92448,11 +80561,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -92468,11 +80576,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -92481,22 +80584,12 @@ "editType": "plot", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "plot", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -92508,11 +80601,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -92526,11 +80614,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -92546,11 +80629,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -92563,11 +80641,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "labels": { @@ -92575,11 +80648,6 @@ "editType": "calc", "valType": "data_array" }, - "labelssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `labels`.", - "editType": "none", - "valType": "string" - }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", @@ -93162,21 +81230,11 @@ "editType": "colorbars", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "colorbars", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -93277,7 +81335,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -93363,7 +81421,7 @@ "valType": "data_array" }, "colorscale": { - "description": "Sets the colorscale. Has an effect only if colors is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. Has an effect only if colors is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -93371,11 +81429,6 @@ }, "valType": "colorscale" }, - "colorssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `colors`.", - "editType": "none", - "valType": "string" - }, "cornerradius": { "description": "Sets the maximum rounding of corners (in px).", "dflt": 0, @@ -93402,11 +81455,6 @@ "editType": "style", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "editType": "calc", "role": "object", "width": { @@ -93416,11 +81464,6 @@ "editType": "style", "min": 0, "valType": "number" - }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" } }, "pad": { @@ -93458,11 +81501,6 @@ "editType": "style", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the pattern within the marker.", "editType": "style", "fgcolor": { @@ -93471,11 +81509,6 @@ "editType": "style", "valType": "color" }, - "fgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `fgcolor`.", - "editType": "none", - "valType": "string" - }, "fgopacity": { "description": "Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.", "editType": "style", @@ -93499,11 +81532,6 @@ "editType": "style", "valType": "string" }, - "pathsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `path`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shape": { "arrayOk": true, @@ -93522,11 +81550,6 @@ "." ] }, - "shapesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shape`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "description": "Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.", @@ -93535,11 +81558,6 @@ "min": 0, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "solidity": { "arrayOk": true, "description": "Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.", @@ -93548,11 +81566,6 @@ "max": 1, "min": 0, "valType": "number" - }, - "soliditysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `solidity`.", - "editType": "none", - "valType": "string" } }, "reversescale": { @@ -93581,11 +81594,6 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", @@ -93605,11 +81613,6 @@ "editType": "plot", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used for `textinfo` lying outside the sector. This option refers to the root of the hierarchy presented on top left corner of a treemap graph. Please note that if a hierarchy has multiple root nodes, this option won't have any effect and `insidetextfont` would be used.", "editType": "plot", "family": { @@ -93620,11 +81623,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -93640,11 +81638,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -93653,22 +81646,12 @@ "editType": "plot", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "plot", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -93680,11 +81663,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -93698,11 +81676,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -93718,11 +81691,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -93735,11 +81703,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "parents": { @@ -93747,11 +81710,6 @@ "editType": "calc", "valType": "data_array" }, - "parentssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `parents`.", - "editType": "none", - "valType": "string" - }, "pathbar": { "edgeshape": { "description": "Determines which shape is used for edges between `barpath` labels.", @@ -93769,7 +81727,7 @@ "editType": "calc", "role": "object", "side": { - "description": "Determines on which side of the the treemap the `pathbar` should be presented.", + "description": "Determines on which side of the treemap the `pathbar` should be presented.", "dflt": "top", "editType": "plot", "valType": "enumerated", @@ -93784,11 +81742,6 @@ "editType": "plot", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used inside `pathbar`.", "editType": "plot", "family": { @@ -93799,11 +81752,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -93819,11 +81767,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -93832,22 +81775,12 @@ "editType": "plot", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "plot", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -93859,11 +81792,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -93877,11 +81805,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -93897,11 +81820,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -93914,11 +81832,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "thickness": { @@ -93950,25 +81863,6 @@ "editType": "calc", "valType": "boolean" }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, "text": { "description": "Sets text elements associated with each sector. If trace `textinfo` contains a *text* flag, these elements will be seen on the chart. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", "editType": "plot", @@ -93980,11 +81874,6 @@ "editType": "plot", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used for `textinfo`.", "editType": "plot", "family": { @@ -93995,11 +81884,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -94015,11 +81899,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -94028,22 +81907,12 @@ "editType": "plot", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "plot", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -94055,11 +81924,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -94073,11 +81937,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -94093,11 +81952,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -94110,15 +81964,10 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "textinfo": { - "description": "Determines which trace information appear on the graph.", + "description": "Determines what trace information appears on the graph. Flags are rendered in a fixed order; use `texttemplate` if you need explicit control over the rendered string, including the order of fields and surrounding text.", "editType": "plot", "extras": [ "none" @@ -94151,11 +82000,6 @@ "bottom right" ] }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, "texttemplate": { "arrayOk": true, "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `currentPath`, `root`, `entry`, `percentRoot`, `percentEntry`, `percentParent`, `label` and `value`.", @@ -94169,11 +82013,6 @@ "editType": "plot", "valType": "any" }, - "texttemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `texttemplate`.", - "editType": "none", - "valType": "string" - }, "tiling": { "editType": "calc", "flip": { @@ -94233,11 +82072,6 @@ "editType": "calc", "valType": "data_array" }, - "valuessrc": { - "description": "Sets the source reference on Chart Studio Cloud for `values`.", - "editType": "none", - "valType": "string" - }, "visible": { "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", "dflt": true, @@ -94327,11 +82161,6 @@ "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, "fillcolor": { "description": "Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.", "editType": "style", @@ -94339,7 +82168,7 @@ }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", "dflt": "all", "editType": "none", "extras": [ @@ -94356,11 +82185,6 @@ ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -94374,33 +82198,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -94408,11 +82217,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -94423,11 +82227,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -94443,11 +82242,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -94456,22 +82250,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -94483,11 +82267,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -94501,11 +82280,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -94521,11 +82295,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -94538,11 +82307,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -94553,11 +82317,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -94593,11 +82352,6 @@ "editType": "none", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "hovertext": { "arrayOk": true, "description": "Same as `text`.", @@ -94605,21 +82359,11 @@ "editType": "style", "valType": "string" }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, "jitter": { "description": "Sets the amount of jitter in the sample points drawn. If *0*, the sample points align along the distribution axis. If *1*, the sample points are drawn in a random jitter of width equal to the width of the violins.", "editType": "calc", @@ -95359,11 +83103,6 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover. For violin traces, the name will also be used for the position coordinate, if `x` and `x0` (`y` and `y0` if horizontal) are missing and the position axis is categorical. Note that the trace name is also used as a default value for attribute `scalegroup` (please see its description for details).", "editType": "calc+clearAxisTypes", @@ -95422,7 +83161,7 @@ ] }, "scalegroup": { - "description": "If there are multiple violins that should be sized according to to some metric (see `scalemode`), link them by providing a non-empty group id here shared by every trace in the same group. If a violin's `width` is undefined, `scalegroup` will default to the trace's name. In this case, violins with the same names will be linked together", + "description": "If there are multiple violins that should be sized according to some metric (see `scalemode`), link them by providing a non-empty group id here shared by every trace in the same group. If a violin's `width` is undefined, `scalegroup` will default to the trace's name. In this case, violins with the same names will be linked together", "dflt": "", "editType": "calc", "valType": "string" @@ -95511,25 +83250,6 @@ "manual" ] }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, "text": { "arrayOk": true, "description": "Sets the text elements associated with each sample value. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.", @@ -95537,11 +83257,6 @@ "editType": "calc", "valType": "string" }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, "type": "violin", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -95614,16 +83329,11 @@ "valType": "subplotid" }, "xhoverformat": { - "description": "Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", "dflt": "", "editType": "none", "valType": "string" }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", - "editType": "none", - "valType": "string" - }, "y": { "description": "Sets the y sample data or coordinates. See overview for more info.", "editType": "calc+clearAxisTypes", @@ -95641,16 +83351,11 @@ "valType": "subplotid" }, "yhoverformat": { - "description": "Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", "dflt": "", "editType": "none", "valType": "string" }, - "ysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `y`.", - "editType": "none", - "valType": "string" - }, "zorder": { "description": "Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.", "dflt": 0, @@ -95697,7 +83402,7 @@ } }, "meta": { - "description": "In vertical (horizontal) violin plots, statistics are computed using `y` (`x`) values. By supplying an `x` (`y`) array, one violin per distinct x (y) value is drawn If no `x` (`y`) {array} is provided, a single violin is drawn. That violin position is then positioned with with `name` or with `x0` (`y0`) if provided." + "description": "In vertical (horizontal) violin plots, statistics are computed using `y` (`x`) values. By supplying an `x` (`y`) array, one violin per distinct x (y) value is drawn If no `x` (`y`) {array} is provided, a single violin is drawn. That violin position is then positioned with `name` or with `x0` (`y0`) if provided." }, "type": "violin" }, @@ -96220,21 +83925,11 @@ "editType": "calc", "valType": "data_array" }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, "tickvals": { "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", "editType": "calc", "valType": "data_array" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "tickwidth": { "description": "Sets the tick width (in px).", "dflt": 1, @@ -96335,7 +84030,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` is *v* and defaults to *right* when `orientation` is *h*.", "editType": "calc", "valType": "enumerated", "values": [ @@ -96416,7 +84111,7 @@ } }, "colorscale": { - "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", "dflt": null, "editType": "calc", "impliedEdits": { @@ -96453,11 +84148,6 @@ "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, "flatshading": { "description": "Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low-poly look via flat reflections.", "dflt": true, @@ -96466,7 +84156,7 @@ }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", "dflt": "all", "editType": "calc", "extras": [ @@ -96483,11 +84173,6 @@ ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -96501,33 +84186,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -96535,11 +84205,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -96550,11 +84215,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -96570,11 +84230,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -96583,22 +84238,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -96610,11 +84255,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -96628,11 +84268,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -96648,11 +84283,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -96665,11 +84295,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -96680,11 +84305,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -96706,11 +84326,6 @@ "editType": "calc", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "hovertext": { "arrayOk": true, "description": "Same as `text`.", @@ -96718,21 +84333,11 @@ "editType": "calc", "valType": "string" }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, "isomax": { "description": "Sets the maximum boundary for iso-surface plot.", "editType": "calc", @@ -96960,11 +84565,6 @@ "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", @@ -97026,11 +84626,6 @@ "editType": "calc", "valType": "data_array" }, - "locationssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `locations`.", - "editType": "none", - "valType": "string" - }, "role": "object", "show": { "description": "Determines whether or not slice planes about the x dimension are drawn.", @@ -97055,11 +84650,6 @@ "editType": "calc", "valType": "data_array" }, - "locationssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `locations`.", - "editType": "none", - "valType": "string" - }, "role": "object", "show": { "description": "Determines whether or not slice planes about the y dimension are drawn.", @@ -97084,11 +84674,6 @@ "editType": "calc", "valType": "data_array" }, - "locationssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `locations`.", - "editType": "none", - "valType": "string" - }, "role": "object", "show": { "description": "Determines whether or not slice planes about the z dimension are drawn.", @@ -97116,25 +84701,6 @@ "valType": "boolean" } }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, "surface": { "count": { "description": "Sets the number of iso-surfaces between minimum and maximum iso-values. By default this value is 2 meaning that only minimum and maximum surfaces would be drawn.", @@ -97185,11 +84751,6 @@ "editType": "calc", "valType": "string" }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, "type": "volume", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", @@ -97207,16 +84768,11 @@ "valType": "data_array" }, "valuehoverformat": { - "description": "Sets the hover text formatting rulefor `value` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.", + "description": "Sets the hover text formatting rule for `value` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format.", "dflt": "", "editType": "calc", "valType": "string" }, - "valuesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `value`.", - "editType": "none", - "valType": "string" - }, "visible": { "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", "dflt": true, @@ -97234,47 +84790,32 @@ "valType": "data_array" }, "xhoverformat": { - "description": "Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", "dflt": "", "editType": "calc", "valType": "string" }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", - "editType": "none", - "valType": "string" - }, "y": { "description": "Sets the Y coordinates of the vertices on Y axis.", "editType": "calc+clearAxisTypes", "valType": "data_array" }, "yhoverformat": { - "description": "Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", "dflt": "", "editType": "calc", "valType": "string" }, - "ysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `y`.", - "editType": "none", - "valType": "string" - }, "z": { "description": "Sets the Z coordinates of the vertices on Z axis.", "editType": "calc+clearAxisTypes", "valType": "data_array" }, "zhoverformat": { - "description": "Sets the hover text formatting rulefor `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`.", "dflt": "", "editType": "calc", "valType": "string" - }, - "zsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `z`.", - "editType": "none", - "valType": "string" } }, "categories": [ @@ -97376,11 +84917,6 @@ "editType": "calc", "valType": "data_array" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, "decreasing": { "editType": "style", "marker": { @@ -97427,7 +84963,7 @@ }, "hoverinfo": { "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "description": "Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", "dflt": "all", "editType": "none", "extras": [ @@ -97446,11 +84982,6 @@ ], "valType": "flaglist" }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, "hoverlabel": { "align": { "arrayOk": true, @@ -97464,33 +84995,18 @@ "auto" ] }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, "bgcolor": { "arrayOk": true, "description": "Sets the background color of the hover labels for this trace", "editType": "none", "valType": "color" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, "bordercolor": { "arrayOk": true, "description": "Sets the border color of the hover labels for this trace.", "editType": "none", "valType": "color" }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, "editType": "none", "font": { "color": { @@ -97498,11 +85014,6 @@ "editType": "none", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used in hover labels.", "editType": "none", "family": { @@ -97513,11 +85024,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -97533,11 +85039,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -97546,22 +85047,12 @@ "editType": "none", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "none", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -97573,11 +85064,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -97591,11 +85077,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -97611,11 +85092,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -97628,11 +85104,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "namelength": { @@ -97643,11 +85114,6 @@ "min": -1, "valType": "integer" }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, "role": "object", "showarrow": { "description": "Sets whether or not to show the hover label arrow/triangle pointing to the data point.", @@ -97669,11 +85135,6 @@ "editType": "none", "valType": "any" }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, "hovertext": { "arrayOk": true, "description": "Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a *text* flag.", @@ -97681,21 +85142,11 @@ "editType": "style", "valType": "string" }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", "valType": "data_array" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, "increasing": { "editType": "style", "marker": { @@ -97745,11 +85196,6 @@ "editType": "style", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used for `text` lying inside the bar.", "editType": "calc", "family": { @@ -97760,11 +85206,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -97780,11 +85221,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -97793,22 +85229,12 @@ "editType": "calc", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "calc", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -97820,11 +85246,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -97838,11 +85259,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -97858,11 +85274,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -97875,11 +85286,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "legend": { @@ -98011,22 +85417,12 @@ "editType": "calc", "valType": "data_array" }, - "measuresrc": { - "description": "Sets the source reference on Chart Studio Cloud for `measure`.", - "editType": "none", - "valType": "string" - }, "meta": { "arrayOk": true, "description": "Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.", "editType": "plot", "valType": "any" }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, "name": { "description": "Sets the trace name. The trace name appears as the legend item and on hover.", "editType": "style", @@ -98045,11 +85441,6 @@ "editType": "calc", "valType": "string" }, - "offsetsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `offset`.", - "editType": "none", - "valType": "string" - }, "opacity": { "description": "Sets the opacity of the trace.", "dflt": 1, @@ -98073,11 +85464,6 @@ "editType": "style", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used for `text` lying outside the bar.", "editType": "calc", "family": { @@ -98088,11 +85474,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -98108,11 +85489,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -98121,22 +85497,12 @@ "editType": "calc", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "calc", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -98148,11 +85514,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -98166,11 +85527,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -98186,11 +85542,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -98203,11 +85554,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "selectedpoints": { @@ -98221,25 +85567,6 @@ "editType": "style", "valType": "boolean" }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, "text": { "arrayOk": true, "description": "Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", @@ -98259,11 +85586,6 @@ "editType": "style", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, "description": "Sets the font used for `text`.", "editType": "calc", "family": { @@ -98274,11 +85596,6 @@ "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", @@ -98294,11 +85611,6 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { "arrayOk": true, @@ -98307,22 +85619,12 @@ "editType": "calc", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { "arrayOk": true, "editType": "calc", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", @@ -98334,11 +85636,6 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", @@ -98352,11 +85649,6 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -98372,11 +85664,6 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", @@ -98389,16 +85676,11 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, "textinfo": { "arrayOk": false, - "description": "Determines which trace information appear on the graph. In the case of having multiple waterfalls, totals are computed separately (per trace).", + "description": "Determines what trace information appears on the graph. In the case of having multiple waterfalls, totals are computed separately (per trace). Flags are rendered in a fixed order; use `texttemplate` if you need explicit control over the rendered string, including the order of fields and surrounding text.", "editType": "plot", "extras": [ "none" @@ -98425,16 +85707,6 @@ "none" ] }, - "textpositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textposition`.", - "editType": "none", - "valType": "string" - }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, "texttemplate": { "arrayOk": true, "description": "Template string used for rendering the information text that appears on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Variables that can't be found will be replaced with the specifier. For example, a template of \"data: %{x}, %{y}\" will result in a value of \"data: 1, %{y}\" if x is 1 and y is missing. Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `initial`, `delta`, `final` and `label`.", @@ -98448,11 +85720,6 @@ "editType": "plot", "valType": "any" }, - "texttemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `texttemplate`.", - "editType": "none", - "valType": "string" - }, "totals": { "editType": "style", "marker": { @@ -98515,11 +85782,6 @@ "min": 0, "valType": "number" }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" - }, "x": { "description": "Sets the x coordinates.", "editType": "calc+clearAxisTypes", @@ -98538,7 +85800,7 @@ "valType": "subplotid" }, "xhoverformat": { - "description": "Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", "dflt": "", "editType": "none", "valType": "string" @@ -98565,11 +85827,6 @@ "end" ] }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", - "editType": "none", - "valType": "string" - }, "y": { "description": "Sets the y coordinates.", "editType": "calc+clearAxisTypes", @@ -98588,7 +85845,7 @@ "valType": "subplotid" }, "yhoverformat": { - "description": "Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", + "description": "Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", "dflt": "", "editType": "none", "valType": "string" @@ -98615,11 +85872,6 @@ "end" ] }, - "ysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `y`.", - "editType": "none", - "valType": "string" - }, "zorder": { "description": "Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.", "dflt": 0, diff --git a/js/package-lock.json b/js/package-lock.json index 338e8f7fd02..9d6b2d8c3cc 100644 --- a/js/package-lock.json +++ b/js/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@lumino/widgets": "~2.4.0", "lodash-es": "^4.17.21", - "plotly.js": "3.6.0" + "plotly.js": "4.0.0-rc.0" }, "devDependencies": { "@jupyterlab/builder": "^4.3.6 || ^3.6.8", @@ -701,11 +701,6 @@ "geojson-rewind": "geojson-rewind" } }, - "node_modules/@mapbox/geojson-types": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@mapbox/geojson-types/-/geojson-types-1.0.2.tgz", - "integrity": "sha512-e9EBqHHv3EORHrSfbR9DqecPNn+AmuAoQxV6aL8Xu30bJMJR1o8PZLZzpk1Wq7/NfCbuhmakHTPYRhoqLsXRnw==" - }, "node_modules/@mapbox/jsonlint-lines-primitives": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz", @@ -714,29 +709,11 @@ "node": ">= 0.6" } }, - "node_modules/@mapbox/mapbox-gl-supported": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-supported/-/mapbox-gl-supported-1.5.0.tgz", - "integrity": "sha512-/PT1P6DNf7vjEEiPkVIRJkvibbqWtqnyGaBz3nfRdcxclNSnSdaLU5tfAgcD7I8Yt5i+L19s406YLl1koLnLbg==", - "peerDependencies": { - "mapbox-gl": ">=0.32.1 <2.0.0" - } - }, "node_modules/@mapbox/point-geometry": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz", "integrity": "sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==" }, - "node_modules/@mapbox/tiny-sdf": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-1.2.5.tgz", - "integrity": "sha512-cD8A/zJlm6fdJOk6DqPUV8mcpyJkRz2x2R+/fYcWDYG3oWbG7/L7Yl/WqQ1VZCjnL9OTIMAn6c+BC5Eru4sQEw==" - }, - "node_modules/@mapbox/unitbezier": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz", - "integrity": "sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA==" - }, "node_modules/@mapbox/vector-tile": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-1.3.1.tgz", @@ -788,12 +765,12 @@ "integrity": "sha512-wvsNmh1GYjyJfyEBPKJLTMzgf2c2bEbSIL50lmqVUi+o1NHaLPi1Lb4v7VxXXJn043BhNyrxUrWI85Q+zmjOVA==" }, "node_modules/@plotly/d3-sankey": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@plotly/d3-sankey/-/d3-sankey-0.7.2.tgz", - "integrity": "sha512-2jdVos1N3mMp3QW0k2q1ph7Gd6j5PY1YihBrwpkFnKqO+cqtZq3AdEYUeSGXMeLsBDQYiqTVcihYfk8vr5tqhw==", + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/@plotly/d3-sankey/-/d3-sankey-0.12.3.tgz", + "integrity": "sha512-GvR0JmTO5bN1iyU3Z4lhq/68De+JAh2NBjNkFWPO6ThExLVrnysxir2riqeDMTgiPbx5iBonAy29/OEd8uak5Q==", + "license": "BSD-3-Clause", "dependencies": { - "d3-array": "1", - "d3-collection": "1", + "d3-array": "1 - 2", "d3-shape": "^1.2.0" } }, @@ -808,38 +785,6 @@ "elementary-circuits-directed-graph": "^1.0.4" } }, - "node_modules/@plotly/mapbox-gl": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/@plotly/mapbox-gl/-/mapbox-gl-1.13.4.tgz", - "integrity": "sha512-sR3/Pe5LqT/fhYgp4rT4aSFf1rTsxMbGiH6Hojc7PH36ny5Bn17iVFUjpzycafETURuFbLZUfjODO8LvSI+5zQ==", - "dependencies": { - "@mapbox/geojson-rewind": "^0.5.2", - "@mapbox/geojson-types": "^1.0.2", - "@mapbox/jsonlint-lines-primitives": "^2.0.2", - "@mapbox/mapbox-gl-supported": "^1.5.0", - "@mapbox/point-geometry": "^0.1.0", - "@mapbox/tiny-sdf": "^1.1.1", - "@mapbox/unitbezier": "^0.0.0", - "@mapbox/vector-tile": "^1.3.1", - "@mapbox/whoots-js": "^3.1.0", - "csscolorparser": "~1.0.3", - "earcut": "^2.2.2", - "geojson-vt": "^3.2.1", - "gl-matrix": "^3.2.1", - "grid-index": "^1.1.0", - "murmurhash-js": "^1.0.0", - "pbf": "^3.2.1", - "potpack": "^1.0.1", - "quickselect": "^2.0.0", - "rw": "^1.3.3", - "supercluster": "^7.1.0", - "tinyqueue": "^2.0.3", - "vt-pbf": "^3.1.1" - }, - "engines": { - "node": ">=6.4.0" - } - }, "node_modules/@plotly/point-cluster": { "version": "3.1.9", "resolved": "https://registry.npmjs.org/@plotly/point-cluster/-/point-cluster-3.1.9.tgz", @@ -876,20 +821,6 @@ "url": "https://opencollective.com/turf" } }, - "node_modules/@turf/bbox": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-7.2.0.tgz", - "integrity": "sha512-wzHEjCXlYZiDludDbXkpBSmv8Zu6tPGLmJ1sXQ6qDwpLE1Ew3mcWqt8AaxfTP5QwDNQa3sf2vvgTEzNbPQkCiA==", - "dependencies": { - "@turf/helpers": "^7.2.0", - "@turf/meta": "^7.2.0", - "@types/geojson": "^7946.0.10", - "tslib": "^2.8.1" - }, - "funding": { - "url": "https://opencollective.com/turf" - } - }, "node_modules/@turf/centroid": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@turf/centroid/-/centroid-7.2.0.tgz", @@ -1523,6 +1454,19 @@ "node": ">=6" } }, + "node_modules/color": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/color/-/color-5.0.3.tgz", + "integrity": "sha512-ezmVcLR3xAVp8kYOm4GS45ZLLgIE6SPAFoduLr6hTDajwb3KZ2F46gulK3XpcwRFb5KKGCSezCBAY4Dw4HsyXA==", + "license": "MIT", + "dependencies": { + "color-convert": "^3.1.3", + "color-string": "^2.1.3" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/color-alpha": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/color-alpha/-/color-alpha-1.0.4.tgz", @@ -1610,6 +1554,48 @@ "resolved": "https://registry.npmjs.org/color-space/-/color-space-2.3.1.tgz", "integrity": "sha512-5DJdKYwoDji3ik/i0xSn+SiwXsfwr+1FEcCMUz2GS5speGCfGSbBMOLd84SDUBOuX8y4CvdFJmOBBJuC4wp7sQ==" }, + "node_modules/color-string": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-2.1.4.tgz", + "integrity": "sha512-Bb6Cq8oq0IjDOe8wJmi4JeNn763Xs9cfrBcaylK1tPypWzyoy2G3l90v9k64kjphl/ZJjPIShFztenRomi8WTg==", + "license": "MIT", + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/color-string/node_modules/color-name": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.1.tgz", + "integrity": "sha512-p2FdgwVx1a9yWBHP2wI0VgShkDpgN4kZISkxdNipGBJWpa5G6b04OINlVWCyJj0JmfvcPrgqt95E9k8yvaOJFg==", + "license": "MIT", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/color/node_modules/color-convert": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.3.tgz", + "integrity": "sha512-fasDH2ont2GqF5HpyO4w0+BcewlhHEZOFn9c1ckZdHpJ56Qb7MHhH/IcJZbBGgvdtwdwNbLvxiBEdg336iA9Sg==", + "license": "MIT", + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/color/node_modules/color-name": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.1.tgz", + "integrity": "sha512-p2FdgwVx1a9yWBHP2wI0VgShkDpgN4kZISkxdNipGBJWpa5G6b04OINlVWCyJj0JmfvcPrgqt95E9k8yvaOJFg==", + "license": "MIT", + "engines": { + "node": ">=12.20" + } + }, "node_modules/colorette": { "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", @@ -1650,10 +1636,14 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, - "node_modules/country-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/country-regex/-/country-regex-1.1.0.tgz", - "integrity": "sha512-iSPlClZP8vX7MC3/u6s3lrDuoQyhQukh5LyABJ3hvfzbQ3Yyayd4fp04zjLnfi267B/B2FkumcWWgrbban7sSA==" + "node_modules/country-iso-search": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/country-iso-search/-/country-iso-search-0.1.1.tgz", + "integrity": "sha512-JJxdoVmgZW3F4DdQ4Jq3NuVfqsk6XoHq8PE8QXNIv1BVwAKyJum2dahC7hsW+v60xwH7pm7g8BwCJ05aUabApg==", + "license": "MIT", + "engines": { + "node": ">=20" + } }, "node_modules/cross-spawn": { "version": "7.0.6", @@ -1771,11 +1761,6 @@ "resolved": "https://registry.npmjs.org/css-system-font-keywords/-/css-system-font-keywords-1.0.0.tgz", "integrity": "sha512-1umTtVd/fXS25ftfjB71eASCrYhilmEsvDEI6wG/QplnmlfmVM5HkZ/ZX46DT5K3eblFPgLUHt5BRCb0YXkSFA==" }, - "node_modules/csscolorparser": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz", - "integrity": "sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w==" - }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", @@ -2450,11 +2435,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/geojson-vt": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-3.2.1.tgz", - "integrity": "sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==" - }, "node_modules/get-canvas-context": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-canvas-context/-/get-canvas-context-1.0.2.tgz", @@ -2745,11 +2725,6 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, - "node_modules/grid-index": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/grid-index/-/grid-index-1.1.0.tgz", - "integrity": "sha512-HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA==" - }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -3142,39 +3117,6 @@ "wrappy": "1" } }, - "node_modules/mapbox-gl": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-1.13.3.tgz", - "integrity": "sha512-p8lJFEiqmEQlyv+DQxFAOG/XPWN0Wp7j/Psq93Zywz7qt9CcUKFYDBOoOEKzqe6gudHVJY8/Bhqw6VDpX2lSBg==", - "peer": true, - "dependencies": { - "@mapbox/geojson-rewind": "^0.5.2", - "@mapbox/geojson-types": "^1.0.2", - "@mapbox/jsonlint-lines-primitives": "^2.0.2", - "@mapbox/mapbox-gl-supported": "^1.5.0", - "@mapbox/point-geometry": "^0.1.0", - "@mapbox/tiny-sdf": "^1.1.1", - "@mapbox/unitbezier": "^0.0.0", - "@mapbox/vector-tile": "^1.3.1", - "@mapbox/whoots-js": "^3.1.0", - "csscolorparser": "~1.0.3", - "earcut": "^2.2.2", - "geojson-vt": "^3.2.1", - "gl-matrix": "^3.2.1", - "grid-index": "^1.1.0", - "murmurhash-js": "^1.0.0", - "pbf": "^3.2.1", - "potpack": "^1.0.1", - "quickselect": "^2.0.0", - "rw": "^1.3.3", - "supercluster": "^7.1.0", - "tinyqueue": "^2.0.3", - "vt-pbf": "^3.1.1" - }, - "engines": { - "node": ">=6.4.0" - } - }, "node_modules/maplibre-gl": { "version": "4.7.1", "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-4.7.1.tgz", @@ -3583,23 +3525,23 @@ } }, "node_modules/plotly.js": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-3.6.0.tgz", - "integrity": "sha512-Fu5IaetcuxaeQPULk4wfIik0MnvIsEb5ynOsPAMfhAnjkPOEDFG7eSb/3ZZq1DW5MwYvZFXaTFHpal4U1Q5Yig==", + "version": "4.0.0-rc.0", + "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-4.0.0-rc.0.tgz", + "integrity": "sha512-dKmF+zZhXzsaKgrwWmuI0B/nkcOW3g4RYM70yCBNKr7xMv0gyN37/YGuw9w/6wyJeCMQsWGocwQO97BFDIC+Tw==", "license": "MIT", "dependencies": { "@plotly/d3": "3.8.2", - "@plotly/d3-sankey": "0.7.2", + "@plotly/d3-sankey": "0.12.3", "@plotly/d3-sankey-circular": "0.33.1", - "@plotly/mapbox-gl": "1.13.4", "@plotly/regl": "^2.1.2", "@turf/area": "^7.1.0", - "@turf/bbox": "^7.1.0", "@turf/centroid": "^7.1.0", + "@turf/meta": "^7.1.0", "base64-arraybuffer": "^1.0.2", + "color": "^5.0.0", "color-normalize": "1.5.0", "color-rgba": "3.0.0", - "country-regex": "^1.1.0", + "country-iso-search": "^0.1.1", "d3-force": "^1.2.1", "d3-format": "^1.4.5", "d3-geo": "^1.12.1", @@ -3627,13 +3569,12 @@ "regl-splom": "^1.0.14", "strongly-connected-components": "^1.0.1", "svg-path-sdf": "^1.1.3", - "tinycolor2": "^1.4.2", "topojson-client": "^3.1.0", "webgl-context": "^2.2.0", "world-calendars": "^1.0.4" }, "engines": { - "node": ">=18.0.0" + "node": ">=22.0.0" } }, "node_modules/point-in-polygon": { @@ -3752,11 +3693,6 @@ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, - "node_modules/potpack": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/potpack/-/potpack-1.0.2.tgz", - "integrity": "sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==" - }, "node_modules/probe-image-size": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-7.2.3.tgz", @@ -4330,19 +4266,6 @@ "webpack": "^5.0.0" } }, - "node_modules/supercluster": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-7.1.5.tgz", - "integrity": "sha512-EulshI3pGUM66o6ZdH3ReiFcvHpM3vAigyK+vcxdjpJyEbIIrtbmBdY23mGgnI24uXiGFvrGq9Gkum/8U7vJWg==", - "dependencies": { - "kdbush": "^3.0.0" - } - }, - "node_modules/supercluster/node_modules/kdbush": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-3.0.0.tgz", - "integrity": "sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==" - }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -4490,16 +4413,6 @@ "xtend": "~4.0.1" } }, - "node_modules/tinycolor2": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", - "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==" - }, - "node_modules/tinyqueue": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-2.0.3.tgz", - "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==" - }, "node_modules/to-float32": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/to-float32/-/to-float32-1.1.0.tgz", diff --git a/js/package.json b/js/package.json index 2b89d2fe0fd..6a47b75a6a8 100644 --- a/js/package.json +++ b/js/package.json @@ -19,7 +19,7 @@ }, "dependencies": { "lodash-es": "^4.17.21", - "plotly.js": "3.6.0", + "plotly.js": "4.0.0-rc.0", "@lumino/widgets": "~2.4.0" }, "devDependencies": { diff --git a/plotly/graph_objects/__init__.py b/plotly/graph_objects/__init__.py index ab87744d0d7..3520885e419 100644 --- a/plotly/graph_objects/__init__.py +++ b/plotly/graph_objects/__init__.py @@ -16,7 +16,6 @@ from ..graph_objs import Scattersmith from ..graph_objs import Scatterpolargl from ..graph_objs import Scatterpolar - from ..graph_objs import Scattermapbox from ..graph_objs import Scattermap from ..graph_objs import Scattergl from ..graph_objs import Scattergeo @@ -24,6 +23,7 @@ from ..graph_objs import Scatter3d from ..graph_objs import Scatter from ..graph_objs import Sankey + from ..graph_objs import Quiver from ..graph_objs import Pie from ..graph_objs import Parcoords from ..graph_objs import Parcats @@ -39,12 +39,10 @@ from ..graph_objs import Heatmap from ..graph_objs import Funnelarea from ..graph_objs import Funnel - from ..graph_objs import Densitymapbox from ..graph_objs import Densitymap from ..graph_objs import Contourcarpet from ..graph_objs import Contour from ..graph_objs import Cone - from ..graph_objs import Choroplethmapbox from ..graph_objs import Choroplethmap from ..graph_objs import Choropleth from ..graph_objs import Carpet @@ -93,7 +91,6 @@ from ..graph_objs import scattersmith from ..graph_objs import scatterpolargl from ..graph_objs import scatterpolar - from ..graph_objs import scattermapbox from ..graph_objs import scattermap from ..graph_objs import scattergl from ..graph_objs import scattergeo @@ -101,6 +98,7 @@ from ..graph_objs import scatter3d from ..graph_objs import scatter from ..graph_objs import sankey + from ..graph_objs import quiver from ..graph_objs import pie from ..graph_objs import parcoords from ..graph_objs import parcats @@ -116,12 +114,10 @@ from ..graph_objs import heatmap from ..graph_objs import funnelarea from ..graph_objs import funnel - from ..graph_objs import densitymapbox from ..graph_objs import densitymap from ..graph_objs import contourcarpet from ..graph_objs import contour from ..graph_objs import cone - from ..graph_objs import choroplethmapbox from ..graph_objs import choroplethmap from ..graph_objs import choropleth from ..graph_objs import carpet @@ -149,7 +145,6 @@ "..graph_objs.scattersmith", "..graph_objs.scatterpolargl", "..graph_objs.scatterpolar", - "..graph_objs.scattermapbox", "..graph_objs.scattermap", "..graph_objs.scattergl", "..graph_objs.scattergeo", @@ -157,6 +152,7 @@ "..graph_objs.scatter3d", "..graph_objs.scatter", "..graph_objs.sankey", + "..graph_objs.quiver", "..graph_objs.pie", "..graph_objs.parcoords", "..graph_objs.parcats", @@ -172,12 +168,10 @@ "..graph_objs.heatmap", "..graph_objs.funnelarea", "..graph_objs.funnel", - "..graph_objs.densitymapbox", "..graph_objs.densitymap", "..graph_objs.contourcarpet", "..graph_objs.contour", "..graph_objs.cone", - "..graph_objs.choroplethmapbox", "..graph_objs.choroplethmap", "..graph_objs.choropleth", "..graph_objs.carpet", @@ -201,7 +195,6 @@ "..graph_objs.Scattersmith", "..graph_objs.Scatterpolargl", "..graph_objs.Scatterpolar", - "..graph_objs.Scattermapbox", "..graph_objs.Scattermap", "..graph_objs.Scattergl", "..graph_objs.Scattergeo", @@ -209,6 +202,7 @@ "..graph_objs.Scatter3d", "..graph_objs.Scatter", "..graph_objs.Sankey", + "..graph_objs.Quiver", "..graph_objs.Pie", "..graph_objs.Parcoords", "..graph_objs.Parcats", @@ -224,12 +218,10 @@ "..graph_objs.Heatmap", "..graph_objs.Funnelarea", "..graph_objs.Funnel", - "..graph_objs.Densitymapbox", "..graph_objs.Densitymap", "..graph_objs.Contourcarpet", "..graph_objs.Contour", "..graph_objs.Cone", - "..graph_objs.Choroplethmapbox", "..graph_objs.Choroplethmap", "..graph_objs.Choropleth", "..graph_objs.Carpet", diff --git a/plotly/graph_objs/__init__.py b/plotly/graph_objs/__init__.py index 57a7317fd57..8b57393953c 100644 --- a/plotly/graph_objs/__init__.py +++ b/plotly/graph_objs/__init__.py @@ -9,12 +9,10 @@ from ._carpet import Carpet from ._choropleth import Choropleth from ._choroplethmap import Choroplethmap - from ._choroplethmapbox import Choroplethmapbox from ._cone import Cone from ._contour import Contour from ._contourcarpet import Contourcarpet from ._densitymap import Densitymap - from ._densitymapbox import Densitymapbox from ._deprecations import AngularAxis from ._deprecations import Annotation from ._deprecations import Annotations @@ -58,6 +56,7 @@ from ._parcats import Parcats from ._parcoords import Parcoords from ._pie import Pie + from ._quiver import Quiver from ._sankey import Sankey from ._scatter import Scatter from ._scatter3d import Scatter3d @@ -65,7 +64,6 @@ from ._scattergeo import Scattergeo from ._scattergl import Scattergl from ._scattermap import Scattermap - from ._scattermapbox import Scattermapbox from ._scatterpolar import Scatterpolar from ._scatterpolargl import Scatterpolargl from ._scattersmith import Scattersmith @@ -86,12 +84,10 @@ from . import carpet from . import choropleth from . import choroplethmap - from . import choroplethmapbox from . import cone from . import contour from . import contourcarpet from . import densitymap - from . import densitymapbox from . import funnel from . import funnelarea from . import heatmap @@ -108,6 +104,7 @@ from . import parcats from . import parcoords from . import pie + from . import quiver from . import sankey from . import scatter from . import scatter3d @@ -115,7 +112,6 @@ from . import scattergeo from . import scattergl from . import scattermap - from . import scattermapbox from . import scatterpolar from . import scatterpolargl from . import scattersmith @@ -142,12 +138,10 @@ ".carpet", ".choropleth", ".choroplethmap", - ".choroplethmapbox", ".cone", ".contour", ".contourcarpet", ".densitymap", - ".densitymapbox", ".funnel", ".funnelarea", ".heatmap", @@ -164,6 +158,7 @@ ".parcats", ".parcoords", ".pie", + ".quiver", ".sankey", ".scatter", ".scatter3d", @@ -171,7 +166,6 @@ ".scattergeo", ".scattergl", ".scattermap", - ".scattermapbox", ".scatterpolar", ".scatterpolargl", ".scattersmith", @@ -194,12 +188,10 @@ "._carpet.Carpet", "._choropleth.Choropleth", "._choroplethmap.Choroplethmap", - "._choroplethmapbox.Choroplethmapbox", "._cone.Cone", "._contour.Contour", "._contourcarpet.Contourcarpet", "._densitymap.Densitymap", - "._densitymapbox.Densitymapbox", "._deprecations.AngularAxis", "._deprecations.Annotation", "._deprecations.Annotations", @@ -243,6 +235,7 @@ "._parcats.Parcats", "._parcoords.Parcoords", "._pie.Pie", + "._quiver.Quiver", "._sankey.Sankey", "._scatter.Scatter", "._scatter3d.Scatter3d", @@ -250,7 +243,6 @@ "._scattergeo.Scattergeo", "._scattergl.Scattergl", "._scattermap.Scattermap", - "._scattermapbox.Scattermapbox", "._scatterpolar.Scatterpolar", "._scatterpolargl.Scatterpolargl", "._scattersmith.Scattersmith", diff --git a/plotly/graph_objs/_bar.py b/plotly/graph_objs/_bar.py index e4dbc5ae657..cb72dd4aed2 100644 --- a/plotly/graph_objs/_bar.py +++ b/plotly/graph_objs/_bar.py @@ -11,25 +11,19 @@ class Bar(_BaseTraceType): _valid_props = { "alignmentgroup", "base", - "basesrc", "cliponaxis", "constraintext", "customdata", - "customdatasrc", "dx", "dy", "error_x", "error_y", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "insidetextanchor", "insidetextfont", "legend", @@ -39,34 +33,27 @@ class Bar(_BaseTraceType): "legendwidth", "marker", "meta", - "metasrc", "name", "offset", "offsetgroup", - "offsetsrc", "opacity", "orientation", "outsidetextfont", "selected", "selectedpoints", "showlegend", - "stream", "text", "textangle", "textfont", "textposition", - "textpositionsrc", - "textsrc", "texttemplate", "texttemplatefallback", - "texttemplatesrc", "type", "uid", "uirevision", "unselected", "visible", "width", - "widthsrc", "x", "x0", "xaxis", @@ -75,7 +62,6 @@ class Bar(_BaseTraceType): "xperiod", "xperiod0", "xperiodalignment", - "xsrc", "y", "y0", "yaxis", @@ -84,7 +70,6 @@ class Bar(_BaseTraceType): "yperiod", "yperiod0", "yperiodalignment", - "ysrc", "zorder", } @@ -128,24 +113,6 @@ def base(self): def base(self, val): self["base"] = val - @property - def basesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `base`. - - The 'basesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["basesrc"] - - @basesrc.setter - def basesrc(self, val): - self["basesrc"] = val - @property def cliponaxis(self): """ @@ -208,25 +175,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def dx(self): """ @@ -304,7 +252,7 @@ def error_y(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -325,25 +273,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -430,25 +359,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -473,25 +383,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -512,24 +403,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def insidetextanchor(self): """ @@ -723,24 +596,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -803,24 +658,6 @@ def offsetgroup(self): def offsetgroup(self, val): self["offsetgroup"] = val - @property - def offsetsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `offset`. - - The 'offsetsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["offsetsrc"] - - @offsetsrc.setter - def offsetsrc(self, val): - self["offsetsrc"] = val - @property def opacity(self): """ @@ -940,25 +777,6 @@ def showlegend(self): def showlegend(self, val): self["showlegend"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.bar.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.bar.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def text(self): """ @@ -1055,43 +873,6 @@ def textposition(self): def textposition(self, val): self["textposition"] = val - @property - def textpositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `textposition`. - - The 'textpositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textpositionsrc"] - - @textpositionsrc.setter - def textpositionsrc(self, val): - self["textpositionsrc"] = val - - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def texttemplate(self): """ @@ -1148,25 +929,6 @@ def texttemplatefallback(self): def texttemplatefallback(self, val): self["texttemplatefallback"] = val - @property - def texttemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `texttemplate`. - - The 'texttemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["texttemplatesrc"] - - @texttemplatesrc.setter - def texttemplatesrc(self, val): - self["texttemplatesrc"] = val - @property def uid(self): """ @@ -1277,24 +1039,6 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def x(self): """ @@ -1380,7 +1124,7 @@ def xcalendar(self, val): @property def xhoverformat(self): """ - Sets the hover text formatting rulefor `x` using d3 formatting + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1467,24 +1211,6 @@ def xperiodalignment(self): def xperiodalignment(self, val): self["xperiodalignment"] = val - @property - def xsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `x`. - - The 'xsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xsrc"] - - @xsrc.setter - def xsrc(self, val): - self["xsrc"] = val - @property def y(self): """ @@ -1570,7 +1296,7 @@ def ycalendar(self, val): @property def yhoverformat(self): """ - Sets the hover text formatting rulefor `y` using d3 formatting + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1657,24 +1383,6 @@ def yperiodalignment(self): def yperiodalignment(self, val): self["yperiodalignment"] = val - @property - def ysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `y`. - - The 'ysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ysrc"] - - @ysrc.setter - def ysrc(self, val): - self["ysrc"] = val - @property def zorder(self): """ @@ -1712,9 +1420,6 @@ def _prop_descriptions(self): units). In "stack" or "relative" barmode, traces that set "base" will be excluded and drawn in "overlay" mode instead. - basesrc - Sets the source reference on Chart Studio Cloud for - `base`. cliponaxis Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines @@ -1728,9 +1433,6 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dx Sets the x coordinate step. See `x0` for more info. dy @@ -1742,13 +1444,10 @@ def _prop_descriptions(self): :class:`plotly.graph_objects.bar.ErrorY` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.bar.Hoverlabel` instance or dict with compatible properties @@ -1792,9 +1491,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over @@ -1802,16 +1498,10 @@ def _prop_descriptions(self): are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextanchor Determines if texts are kept at center or start/end points in `textposition` "inside" mode. @@ -1860,9 +1550,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1875,9 +1562,6 @@ def _prop_descriptions(self): Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up. - offsetsrc - Sets the source reference on Chart Studio Cloud for - `offset`. opacity Sets the opacity of the trace. orientation @@ -1899,9 +1583,6 @@ def _prop_descriptions(self): showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.bar.Stream` instance or - dict with compatible properties text Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the @@ -1928,12 +1609,6 @@ def _prop_descriptions(self): inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1961,9 +1636,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1996,9 +1668,6 @@ def _prop_descriptions(self): visible). width Sets the bar width (in position axis units). - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. x Sets the x coordinates. x0 @@ -2013,7 +1682,7 @@ def _prop_descriptions(self): xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2041,9 +1710,6 @@ def _prop_descriptions(self): xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates. y0 @@ -2058,7 +1724,7 @@ def _prop_descriptions(self): ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2086,9 +1752,6 @@ def _prop_descriptions(self): yperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -2101,25 +1764,19 @@ def __init__( arg=None, alignmentgroup=None, base=None, - basesrc=None, cliponaxis=None, constraintext=None, customdata=None, - customdatasrc=None, dx=None, dy=None, error_x=None, error_y=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, insidetextanchor=None, insidetextfont=None, legend=None, @@ -2129,33 +1786,26 @@ def __init__( legendwidth=None, marker=None, meta=None, - metasrc=None, name=None, offset=None, offsetgroup=None, - offsetsrc=None, opacity=None, orientation=None, outsidetextfont=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, text=None, textangle=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, unselected=None, visible=None, width=None, - widthsrc=None, x=None, x0=None, xaxis=None, @@ -2164,7 +1814,6 @@ def __init__( xperiod=None, xperiod0=None, xperiodalignment=None, - xsrc=None, y=None, y0=None, yaxis=None, @@ -2173,7 +1822,6 @@ def __init__( yperiod=None, yperiod0=None, yperiodalignment=None, - ysrc=None, zorder=None, **kwargs, ): @@ -2200,9 +1848,6 @@ def __init__( units). In "stack" or "relative" barmode, traces that set "base" will be excluded and drawn in "overlay" mode instead. - basesrc - Sets the source reference on Chart Studio Cloud for - `base`. cliponaxis Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines @@ -2216,9 +1861,6 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dx Sets the x coordinate step. See `x0` for more info. dy @@ -2230,13 +1872,10 @@ def __init__( :class:`plotly.graph_objects.bar.ErrorY` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.bar.Hoverlabel` instance or dict with compatible properties @@ -2280,9 +1919,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over @@ -2290,16 +1926,10 @@ def __init__( are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextanchor Determines if texts are kept at center or start/end points in `textposition` "inside" mode. @@ -2348,9 +1978,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -2363,9 +1990,6 @@ def __init__( Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up. - offsetsrc - Sets the source reference on Chart Studio Cloud for - `offset`. opacity Sets the opacity of the trace. orientation @@ -2387,9 +2011,6 @@ def __init__( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.bar.Stream` instance or - dict with compatible properties text Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the @@ -2416,12 +2037,6 @@ def __init__( inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -2449,9 +2064,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -2484,9 +2096,6 @@ def __init__( visible). width Sets the bar width (in position axis units). - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. x Sets the x coordinates. x0 @@ -2501,7 +2110,7 @@ def __init__( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2529,9 +2138,6 @@ def __init__( xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates. y0 @@ -2546,7 +2152,7 @@ def __init__( ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2574,9 +2180,6 @@ def __init__( yperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -2609,25 +2212,19 @@ def __init__( self._set_property("alignmentgroup", arg, alignmentgroup) self._set_property("base", arg, base) - self._set_property("basesrc", arg, basesrc) self._set_property("cliponaxis", arg, cliponaxis) self._set_property("constraintext", arg, constraintext) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("dx", arg, dx) self._set_property("dy", arg, dy) self._set_property("error_x", arg, error_x) self._set_property("error_y", arg, error_y) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("insidetextanchor", arg, insidetextanchor) self._set_property("insidetextfont", arg, insidetextfont) self._set_property("legend", arg, legend) @@ -2637,33 +2234,26 @@ def __init__( self._set_property("legendwidth", arg, legendwidth) self._set_property("marker", arg, marker) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("offset", arg, offset) self._set_property("offsetgroup", arg, offsetgroup) - self._set_property("offsetsrc", arg, offsetsrc) self._set_property("opacity", arg, opacity) self._set_property("orientation", arg, orientation) self._set_property("outsidetextfont", arg, outsidetextfont) self._set_property("selected", arg, selected) self._set_property("selectedpoints", arg, selectedpoints) self._set_property("showlegend", arg, showlegend) - self._set_property("stream", arg, stream) self._set_property("text", arg, text) self._set_property("textangle", arg, textangle) self._set_property("textfont", arg, textfont) self._set_property("textposition", arg, textposition) - self._set_property("textpositionsrc", arg, textpositionsrc) - self._set_property("textsrc", arg, textsrc) self._set_property("texttemplate", arg, texttemplate) self._set_property("texttemplatefallback", arg, texttemplatefallback) - self._set_property("texttemplatesrc", arg, texttemplatesrc) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("unselected", arg, unselected) self._set_property("visible", arg, visible) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._set_property("x", arg, x) self._set_property("x0", arg, x0) self._set_property("xaxis", arg, xaxis) @@ -2672,7 +2262,6 @@ def __init__( self._set_property("xperiod", arg, xperiod) self._set_property("xperiod0", arg, xperiod0) self._set_property("xperiodalignment", arg, xperiodalignment) - self._set_property("xsrc", arg, xsrc) self._set_property("y", arg, y) self._set_property("y0", arg, y0) self._set_property("yaxis", arg, yaxis) @@ -2681,7 +2270,6 @@ def __init__( self._set_property("yperiod", arg, yperiod) self._set_property("yperiod0", arg, yperiod0) self._set_property("yperiodalignment", arg, yperiodalignment) - self._set_property("ysrc", arg, ysrc) self._set_property("zorder", arg, zorder) self._props["type"] = "bar" diff --git a/plotly/graph_objs/_barpolar.py b/plotly/graph_objs/_barpolar.py index 9f414c9adc8..6823111c70e 100644 --- a/plotly/graph_objs/_barpolar.py +++ b/plotly/graph_objs/_barpolar.py @@ -10,21 +10,15 @@ class Barpolar(_BaseTraceType): _path_str = "barpolar" _valid_props = { "base", - "basesrc", "customdata", - "customdatasrc", "dr", "dtheta", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "legend", "legendgroup", "legendgrouptitle", @@ -32,24 +26,18 @@ class Barpolar(_BaseTraceType): "legendwidth", "marker", "meta", - "metasrc", "name", "offset", - "offsetsrc", "opacity", "r", "r0", - "rsrc", "selected", "selectedpoints", "showlegend", - "stream", "subplot", "text", - "textsrc", "theta", "theta0", - "thetasrc", "thetaunit", "type", "uid", @@ -57,7 +45,6 @@ class Barpolar(_BaseTraceType): "unselected", "visible", "width", - "widthsrc", } @property @@ -79,24 +66,6 @@ def base(self): def base(self, val): self["base"] = val - @property - def basesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `base`. - - The 'basesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["basesrc"] - - @basesrc.setter - def basesrc(self, val): - self["basesrc"] = val - @property def customdata(self): """ @@ -118,25 +87,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def dr(self): """ @@ -178,7 +128,7 @@ def dtheta(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -199,25 +149,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -303,25 +234,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -342,25 +254,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -381,24 +274,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def legend(self): """ @@ -551,24 +426,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -609,24 +466,6 @@ def offset(self): def offset(self, val): self["offset"] = val - @property - def offsetsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `offset`. - - The 'offsetsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["offsetsrc"] - - @offsetsrc.setter - def offsetsrc(self, val): - self["offsetsrc"] = val - @property def opacity(self): """ @@ -682,24 +521,6 @@ def r0(self): def r0(self, val): self["r0"] = val - @property - def rsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `r`. - - The 'rsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["rsrc"] - - @rsrc.setter - def rsrc(self, val): - self["rsrc"] = val - @property def selected(self): """ @@ -760,25 +581,6 @@ def showlegend(self): def showlegend(self, val): self["showlegend"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.barpolar.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.barpolar.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def subplot(self): """ @@ -825,24 +627,6 @@ def text(self): def text(self, val): self["text"] = val - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def theta(self): """ @@ -880,24 +664,6 @@ def theta0(self): def theta0(self, val): self["theta0"] = val - @property - def thetasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `theta`. - - The 'thetasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["thetasrc"] - - @thetasrc.setter - def thetasrc(self, val): - self["thetasrc"] = val - @property def thetaunit(self): """ @@ -1028,24 +794,6 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def type(self): return self._props["type"] @@ -1057,17 +805,11 @@ def _prop_descriptions(self): Sets where the bar base is drawn (in radial axis units). In "stack" barmode, traces that set "base" will be excluded and drawn in "overlay" mode instead. - basesrc - Sets the source reference on Chart Studio Cloud for - `base`. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dr Sets the r coordinate step. dtheta @@ -1075,13 +817,10 @@ def _prop_descriptions(self): `dtheta` step equals the subplot's period divided by the length of the `r` coordinates. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.barpolar.Hoverlabel` instance or dict with compatible properties @@ -1124,21 +863,12 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1182,18 +912,12 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. offset Shifts the angular position where the bar is drawn (in "thetatunit" units). - offsetsrc - Sets the source reference on Chart Studio Cloud for - `offset`. opacity Sets the opacity of the trace. r @@ -1202,9 +926,6 @@ def _prop_descriptions(self): Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step. - rsrc - Sets the source reference on Chart Studio Cloud for - `r`. selected :class:`plotly.graph_objects.barpolar.Selected` instance or dict with compatible properties @@ -1218,9 +939,6 @@ def _prop_descriptions(self): showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.barpolar.Stream` instance - or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a polar subplot. If "polar" (the default value), @@ -1231,18 +949,12 @@ def _prop_descriptions(self): single string, the same string appears over all bars. If an array of string, the items are mapped in order to the this trace's coordinates. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. theta Sets the angular coordinates theta0 Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step. - thetasrc - Sets the source reference on Chart Studio Cloud for - `theta`. thetaunit Sets the unit of input "theta" values. Has an effect only when on "linear" angular axes. @@ -1278,30 +990,21 @@ def _prop_descriptions(self): visible). width Sets the bar angular width (in "thetaunit" units). - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. """ def __init__( self, arg=None, base=None, - basesrc=None, customdata=None, - customdatasrc=None, dr=None, dtheta=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -1309,31 +1012,24 @@ def __init__( legendwidth=None, marker=None, meta=None, - metasrc=None, name=None, offset=None, - offsetsrc=None, opacity=None, r=None, r0=None, - rsrc=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, subplot=None, text=None, - textsrc=None, theta=None, theta0=None, - thetasrc=None, thetaunit=None, uid=None, uirevision=None, unselected=None, visible=None, width=None, - widthsrc=None, **kwargs, ): """ @@ -1351,17 +1047,11 @@ def __init__( Sets where the bar base is drawn (in radial axis units). In "stack" barmode, traces that set "base" will be excluded and drawn in "overlay" mode instead. - basesrc - Sets the source reference on Chart Studio Cloud for - `base`. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dr Sets the r coordinate step. dtheta @@ -1369,13 +1059,10 @@ def __init__( `dtheta` step equals the subplot's period divided by the length of the `r` coordinates. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.barpolar.Hoverlabel` instance or dict with compatible properties @@ -1418,21 +1105,12 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1476,18 +1154,12 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. offset Shifts the angular position where the bar is drawn (in "thetatunit" units). - offsetsrc - Sets the source reference on Chart Studio Cloud for - `offset`. opacity Sets the opacity of the trace. r @@ -1496,9 +1168,6 @@ def __init__( Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step. - rsrc - Sets the source reference on Chart Studio Cloud for - `r`. selected :class:`plotly.graph_objects.barpolar.Selected` instance or dict with compatible properties @@ -1512,9 +1181,6 @@ def __init__( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.barpolar.Stream` instance - or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a polar subplot. If "polar" (the default value), @@ -1525,18 +1191,12 @@ def __init__( single string, the same string appears over all bars. If an array of string, the items are mapped in order to the this trace's coordinates. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. theta Sets the angular coordinates theta0 Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step. - thetasrc - Sets the source reference on Chart Studio Cloud for - `theta`. thetaunit Sets the unit of input "theta" values. Has an effect only when on "linear" angular axes. @@ -1572,9 +1232,6 @@ def __init__( visible). width Sets the bar angular width (in "thetaunit" units). - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. Returns ------- @@ -1601,21 +1258,15 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("base", arg, base) - self._set_property("basesrc", arg, basesrc) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("dr", arg, dr) self._set_property("dtheta", arg, dtheta) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) @@ -1623,31 +1274,24 @@ def __init__( self._set_property("legendwidth", arg, legendwidth) self._set_property("marker", arg, marker) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("offset", arg, offset) - self._set_property("offsetsrc", arg, offsetsrc) self._set_property("opacity", arg, opacity) self._set_property("r", arg, r) self._set_property("r0", arg, r0) - self._set_property("rsrc", arg, rsrc) self._set_property("selected", arg, selected) self._set_property("selectedpoints", arg, selectedpoints) self._set_property("showlegend", arg, showlegend) - self._set_property("stream", arg, stream) self._set_property("subplot", arg, subplot) self._set_property("text", arg, text) - self._set_property("textsrc", arg, textsrc) self._set_property("theta", arg, theta) self._set_property("theta0", arg, theta0) - self._set_property("thetasrc", arg, thetasrc) self._set_property("thetaunit", arg, thetaunit) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("unselected", arg, unselected) self._set_property("visible", arg, visible) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._props["type"] = "barpolar" arg.pop("type", None) diff --git a/plotly/graph_objs/_box.py b/plotly/graph_objs/_box.py index 21b8a8a2da8..0dd7727d401 100644 --- a/plotly/graph_objs/_box.py +++ b/plotly/graph_objs/_box.py @@ -13,21 +13,16 @@ class Box(_BaseTraceType): "boxmean", "boxpoints", "customdata", - "customdatasrc", "dx", "dy", "fillcolor", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hoveron", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "jitter", "legend", "legendgroup", @@ -36,45 +31,34 @@ class Box(_BaseTraceType): "legendwidth", "line", "lowerfence", - "lowerfencesrc", "marker", "mean", - "meansrc", "median", - "mediansrc", "meta", - "metasrc", "name", "notched", "notchspan", - "notchspansrc", "notchwidth", "offsetgroup", "opacity", "orientation", "pointpos", "q1", - "q1src", "q3", - "q3src", "quartilemethod", "sd", "sdmultiple", - "sdsrc", "selected", "selectedpoints", "showlegend", "showwhiskers", "sizemode", - "stream", "text", - "textsrc", "type", "uid", "uirevision", "unselected", "upperfence", - "upperfencesrc", "visible", "whiskerwidth", "width", @@ -86,7 +70,6 @@ class Box(_BaseTraceType): "xperiod", "xperiod0", "xperiodalignment", - "xsrc", "y", "y0", "yaxis", @@ -95,7 +78,6 @@ class Box(_BaseTraceType): "yperiod", "yperiod0", "yperiodalignment", - "ysrc", "zorder", } @@ -190,25 +172,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def dx(self): """ @@ -274,7 +237,7 @@ def fillcolor(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -295,25 +258,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -420,25 +364,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -459,25 +384,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -498,24 +404,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def jitter(self): """ @@ -685,25 +573,6 @@ def lowerfence(self): def lowerfence(self, val): self["lowerfence"] = val - @property - def lowerfencesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lowerfence`. - - The 'lowerfencesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["lowerfencesrc"] - - @lowerfencesrc.setter - def lowerfencesrc(self, val): - self["lowerfencesrc"] = val - @property def marker(self): """ @@ -745,24 +614,6 @@ def mean(self): def mean(self, val): self["mean"] = val - @property - def meansrc(self): - """ - Sets the source reference on Chart Studio Cloud for `mean`. - - The 'meansrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["meansrc"] - - @meansrc.setter - def meansrc(self, val): - self["meansrc"] = val - @property def median(self): """ @@ -782,24 +633,6 @@ def median(self): def median(self, val): self["median"] = val - @property - def mediansrc(self): - """ - Sets the source reference on Chart Studio Cloud for `median`. - - The 'mediansrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["mediansrc"] - - @mediansrc.setter - def mediansrc(self, val): - self["mediansrc"] = val - @property def meta(self): """ @@ -826,24 +659,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -915,25 +730,6 @@ def notchspan(self): def notchspan(self, val): self["notchspan"] = val - @property - def notchspansrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `notchspan`. - - The 'notchspansrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["notchspansrc"] - - @notchspansrc.setter - def notchspansrc(self, val): - self["notchspansrc"] = val - @property def notchwidth(self): """ @@ -1053,24 +849,6 @@ def q1(self): def q1(self, val): self["q1"] = val - @property - def q1src(self): - """ - Sets the source reference on Chart Studio Cloud for `q1`. - - The 'q1src' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["q1src"] - - @q1src.setter - def q1src(self, val): - self["q1src"] = val - @property def q3(self): """ @@ -1090,24 +868,6 @@ def q3(self): def q3(self, val): self["q3"] = val - @property - def q3src(self): - """ - Sets the source reference on Chart Studio Cloud for `q3`. - - The 'q3src' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["q3src"] - - @q3src.setter - def q3src(self, val): - self["q3src"] = val - @property def quartilemethod(self): """ @@ -1180,24 +940,6 @@ def sdmultiple(self): def sdmultiple(self, val): self["sdmultiple"] = val - @property - def sdsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `sd`. - - The 'sdsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sdsrc"] - - @sdsrc.setter - def sdsrc(self, val): - self["sdsrc"] = val - @property def selected(self): """ @@ -1300,25 +1042,6 @@ def sizemode(self): def sizemode(self, val): self["sizemode"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.box.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.box.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def text(self): """ @@ -1343,24 +1066,6 @@ def text(self): def text(self, val): self["text"] = val - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def uid(self): """ @@ -1453,25 +1158,6 @@ def upperfence(self): def upperfence(self, val): self["upperfence"] = val - @property - def upperfencesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `upperfence`. - - The 'upperfencesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["upperfencesrc"] - - @upperfencesrc.setter - def upperfencesrc(self, val): - self["upperfencesrc"] = val - @property def visible(self): """ @@ -1618,7 +1304,7 @@ def xcalendar(self, val): @property def xhoverformat(self): """ - Sets the hover text formatting rulefor `x` using d3 formatting + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1705,24 +1391,6 @@ def xperiodalignment(self): def xperiodalignment(self, val): self["xperiodalignment"] = val - @property - def xsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `x`. - - The 'xsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xsrc"] - - @xsrc.setter - def xsrc(self, val): - self["xsrc"] = val - @property def y(self): """ @@ -1809,7 +1477,7 @@ def ycalendar(self, val): @property def yhoverformat(self): """ - Sets the hover text formatting rulefor `y` using d3 formatting + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1896,24 +1564,6 @@ def yperiodalignment(self): def yperiodalignment(self, val): self["yperiodalignment"] = val - @property - def ysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `y`. - - The 'ysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ysrc"] - - @ysrc.setter - def ysrc(self, val): - self["ysrc"] = val - @property def zorder(self): """ @@ -1968,9 +1618,6 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dx Sets the x coordinate step for multi-box traces set using q1/median/q3. @@ -1982,13 +1629,10 @@ def _prop_descriptions(self): variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.box.Hoverlabel` instance or dict with compatible properties @@ -2034,21 +1678,12 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. jitter Sets the amount of jitter in the sample points drawn. If 0, the sample points align along the distribution @@ -2091,9 +1726,6 @@ def _prop_descriptions(self): `lowerfence` is not provided but a sample (in `y` or `x`) is set, we compute the lower as the last sample point below 1.5 times the IQR. - lowerfencesrc - Sets the source reference on Chart Studio Cloud for - `lowerfence`. marker :class:`plotly.graph_objects.box.Marker` instance or dict with compatible properties @@ -2103,15 +1735,9 @@ def _prop_descriptions(self): only under the q1/median/q3 signature. If `mean` is not provided but a sample (in `y` or `x`) is set, we compute the mean for each box using the sample values. - meansrc - Sets the source reference on Chart Studio Cloud for - `mean`. median Sets the median values. There should be as many items as the number of boxes desired. - mediansrc - Sets the source reference on Chart Studio Cloud for - `median`. meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -2125,9 +1751,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. For box traces, the name will @@ -2151,9 +1774,6 @@ def _prop_descriptions(self): q1/median/q3 signature. If `notchspan` is not provided but a sample (in `y` or `x`) is set, we compute it as 1.57 * IQR / sqrt(N), where N is the sample size. - notchspansrc - Sets the source reference on Chart Studio Cloud for - `notchspan`. notchwidth Sets the width of the notches relative to the box width. For example, with 0, the notches are as wide as @@ -2177,15 +1797,9 @@ def _prop_descriptions(self): q1 Sets the Quartile 1 values. There should be as many items as the number of boxes desired. - q1src - Sets the source reference on Chart Studio Cloud for - `q1`. q3 Sets the Quartile 3 values. There should be as many items as the number of boxes desired. - q3src - Sets the source reference on Chart Studio Cloud for - `q3`. quartilemethod Sets the method used to compute the sample's Q1 and Q3 quartiles. The "linear" method uses the 25th percentile @@ -2212,9 +1826,6 @@ def _prop_descriptions(self): Scales the box size when sizemode=sd Allowing boxes to be drawn across any stddev range For example 1-stddev, 3-stddev, 5-stddev - sdsrc - Sets the source reference on Chart Studio Cloud for - `sd`. selected :class:`plotly.graph_objects.box.Selected` instance or dict with compatible properties @@ -2238,9 +1849,6 @@ def _prop_descriptions(self): is drawn between Mean +- Standard Deviation Argument sdmultiple (default 1) to scale the box size So it could be drawn 1-stddev, 3-stddev etc - stream - :class:`plotly.graph_objects.box.Stream` instance or - dict with compatible properties text Sets the text elements associated with each sample value. If a single string, the same string appears over @@ -2248,9 +1856,6 @@ def _prop_descriptions(self): are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -2283,9 +1888,6 @@ def _prop_descriptions(self): `upperfence` is not provided but a sample (in `y` or `x`) is set, we compute the upper as the last sample point above 1.5 times the IQR. - upperfencesrc - Sets the source reference on Chart Studio Cloud for - `upperfence`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -2315,7 +1917,7 @@ def _prop_descriptions(self): xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2343,9 +1945,6 @@ def _prop_descriptions(self): xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y sample data or coordinates. See overview for more info. @@ -2361,7 +1960,7 @@ def _prop_descriptions(self): ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2389,9 +1988,6 @@ def _prop_descriptions(self): yperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -2406,21 +2002,16 @@ def __init__( boxmean=None, boxpoints=None, customdata=None, - customdatasrc=None, dx=None, dy=None, fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hoveron=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, jitter=None, legend=None, legendgroup=None, @@ -2429,44 +2020,33 @@ def __init__( legendwidth=None, line=None, lowerfence=None, - lowerfencesrc=None, marker=None, mean=None, - meansrc=None, median=None, - mediansrc=None, meta=None, - metasrc=None, name=None, notched=None, notchspan=None, - notchspansrc=None, notchwidth=None, offsetgroup=None, opacity=None, orientation=None, pointpos=None, q1=None, - q1src=None, q3=None, - q3src=None, quartilemethod=None, sd=None, sdmultiple=None, - sdsrc=None, selected=None, selectedpoints=None, showlegend=None, showwhiskers=None, sizemode=None, - stream=None, text=None, - textsrc=None, uid=None, uirevision=None, unselected=None, upperfence=None, - upperfencesrc=None, visible=None, whiskerwidth=None, width=None, @@ -2478,7 +2058,6 @@ def __init__( xperiod=None, xperiod0=None, xperiodalignment=None, - xsrc=None, y=None, y0=None, yaxis=None, @@ -2487,7 +2066,6 @@ def __init__( yperiod=None, yperiod0=None, yperiodalignment=None, - ysrc=None, zorder=None, **kwargs, ): @@ -2551,9 +2129,6 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dx Sets the x coordinate step for multi-box traces set using q1/median/q3. @@ -2565,13 +2140,10 @@ def __init__( variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.box.Hoverlabel` instance or dict with compatible properties @@ -2617,21 +2189,12 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. jitter Sets the amount of jitter in the sample points drawn. If 0, the sample points align along the distribution @@ -2674,9 +2237,6 @@ def __init__( `lowerfence` is not provided but a sample (in `y` or `x`) is set, we compute the lower as the last sample point below 1.5 times the IQR. - lowerfencesrc - Sets the source reference on Chart Studio Cloud for - `lowerfence`. marker :class:`plotly.graph_objects.box.Marker` instance or dict with compatible properties @@ -2686,15 +2246,9 @@ def __init__( only under the q1/median/q3 signature. If `mean` is not provided but a sample (in `y` or `x`) is set, we compute the mean for each box using the sample values. - meansrc - Sets the source reference on Chart Studio Cloud for - `mean`. median Sets the median values. There should be as many items as the number of boxes desired. - mediansrc - Sets the source reference on Chart Studio Cloud for - `median`. meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -2708,9 +2262,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. For box traces, the name will @@ -2734,9 +2285,6 @@ def __init__( q1/median/q3 signature. If `notchspan` is not provided but a sample (in `y` or `x`) is set, we compute it as 1.57 * IQR / sqrt(N), where N is the sample size. - notchspansrc - Sets the source reference on Chart Studio Cloud for - `notchspan`. notchwidth Sets the width of the notches relative to the box width. For example, with 0, the notches are as wide as @@ -2760,15 +2308,9 @@ def __init__( q1 Sets the Quartile 1 values. There should be as many items as the number of boxes desired. - q1src - Sets the source reference on Chart Studio Cloud for - `q1`. q3 Sets the Quartile 3 values. There should be as many items as the number of boxes desired. - q3src - Sets the source reference on Chart Studio Cloud for - `q3`. quartilemethod Sets the method used to compute the sample's Q1 and Q3 quartiles. The "linear" method uses the 25th percentile @@ -2795,9 +2337,6 @@ def __init__( Scales the box size when sizemode=sd Allowing boxes to be drawn across any stddev range For example 1-stddev, 3-stddev, 5-stddev - sdsrc - Sets the source reference on Chart Studio Cloud for - `sd`. selected :class:`plotly.graph_objects.box.Selected` instance or dict with compatible properties @@ -2821,9 +2360,6 @@ def __init__( is drawn between Mean +- Standard Deviation Argument sdmultiple (default 1) to scale the box size So it could be drawn 1-stddev, 3-stddev etc - stream - :class:`plotly.graph_objects.box.Stream` instance or - dict with compatible properties text Sets the text elements associated with each sample value. If a single string, the same string appears over @@ -2831,9 +2367,6 @@ def __init__( are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -2866,9 +2399,6 @@ def __init__( `upperfence` is not provided but a sample (in `y` or `x`) is set, we compute the upper as the last sample point above 1.5 times the IQR. - upperfencesrc - Sets the source reference on Chart Studio Cloud for - `upperfence`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -2898,7 +2428,7 @@ def __init__( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2926,9 +2456,6 @@ def __init__( xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y sample data or coordinates. See overview for more info. @@ -2944,7 +2471,7 @@ def __init__( ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2972,9 +2499,6 @@ def __init__( yperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -3009,21 +2533,16 @@ def __init__( self._set_property("boxmean", arg, boxmean) self._set_property("boxpoints", arg, boxpoints) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("dx", arg, dx) self._set_property("dy", arg, dy) self._set_property("fillcolor", arg, fillcolor) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hoveron", arg, hoveron) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("jitter", arg, jitter) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) @@ -3032,44 +2551,33 @@ def __init__( self._set_property("legendwidth", arg, legendwidth) self._set_property("line", arg, line) self._set_property("lowerfence", arg, lowerfence) - self._set_property("lowerfencesrc", arg, lowerfencesrc) self._set_property("marker", arg, marker) self._set_property("mean", arg, mean) - self._set_property("meansrc", arg, meansrc) self._set_property("median", arg, median) - self._set_property("mediansrc", arg, mediansrc) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("notched", arg, notched) self._set_property("notchspan", arg, notchspan) - self._set_property("notchspansrc", arg, notchspansrc) self._set_property("notchwidth", arg, notchwidth) self._set_property("offsetgroup", arg, offsetgroup) self._set_property("opacity", arg, opacity) self._set_property("orientation", arg, orientation) self._set_property("pointpos", arg, pointpos) self._set_property("q1", arg, q1) - self._set_property("q1src", arg, q1src) self._set_property("q3", arg, q3) - self._set_property("q3src", arg, q3src) self._set_property("quartilemethod", arg, quartilemethod) self._set_property("sd", arg, sd) self._set_property("sdmultiple", arg, sdmultiple) - self._set_property("sdsrc", arg, sdsrc) self._set_property("selected", arg, selected) self._set_property("selectedpoints", arg, selectedpoints) self._set_property("showlegend", arg, showlegend) self._set_property("showwhiskers", arg, showwhiskers) self._set_property("sizemode", arg, sizemode) - self._set_property("stream", arg, stream) self._set_property("text", arg, text) - self._set_property("textsrc", arg, textsrc) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("unselected", arg, unselected) self._set_property("upperfence", arg, upperfence) - self._set_property("upperfencesrc", arg, upperfencesrc) self._set_property("visible", arg, visible) self._set_property("whiskerwidth", arg, whiskerwidth) self._set_property("width", arg, width) @@ -3081,7 +2589,6 @@ def __init__( self._set_property("xperiod", arg, xperiod) self._set_property("xperiod0", arg, xperiod0) self._set_property("xperiodalignment", arg, xperiodalignment) - self._set_property("xsrc", arg, xsrc) self._set_property("y", arg, y) self._set_property("y0", arg, y0) self._set_property("yaxis", arg, yaxis) @@ -3090,7 +2597,6 @@ def __init__( self._set_property("yperiod", arg, yperiod) self._set_property("yperiod0", arg, yperiod0) self._set_property("yperiodalignment", arg, yperiodalignment) - self._set_property("ysrc", arg, ysrc) self._set_property("zorder", arg, zorder) self._props["type"] = "box" diff --git a/plotly/graph_objs/_candlestick.py b/plotly/graph_objs/_candlestick.py index 4bba645d347..f6a15ee3180 100644 --- a/plotly/graph_objs/_candlestick.py +++ b/plotly/graph_objs/_candlestick.py @@ -10,22 +10,15 @@ class Candlestick(_BaseTraceType): _path_str = "candlestick" _valid_props = { "close", - "closesrc", "customdata", - "customdatasrc", "decreasing", "high", - "highsrc", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "increasing", "legend", "legendgroup", @@ -34,18 +27,13 @@ class Candlestick(_BaseTraceType): "legendwidth", "line", "low", - "lowsrc", "meta", - "metasrc", "name", "opacity", "open", - "opensrc", "selectedpoints", "showlegend", - "stream", "text", - "textsrc", "type", "uid", "uirevision", @@ -58,7 +46,6 @@ class Candlestick(_BaseTraceType): "xperiod", "xperiod0", "xperiodalignment", - "xsrc", "yaxis", "yhoverformat", "zorder", @@ -82,24 +69,6 @@ def close(self): def close(self, val): self["close"] = val - @property - def closesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `close`. - - The 'closesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["closesrc"] - - @closesrc.setter - def closesrc(self, val): - self["closesrc"] = val - @property def customdata(self): """ @@ -121,25 +90,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def decreasing(self): """ @@ -177,28 +127,10 @@ def high(self): def high(self, val): self["high"] = val - @property - def highsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `high`. - - The 'highsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["highsrc"] - - @highsrc.setter - def highsrc(self, val): - self["highsrc"] = val - @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -219,25 +151,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -324,25 +237,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -363,25 +257,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -402,24 +277,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def increasing(self): """ @@ -583,24 +440,6 @@ def low(self): def low(self, val): self["low"] = val - @property - def lowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `low`. - - The 'lowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["lowsrc"] - - @lowsrc.setter - def lowsrc(self, val): - self["lowsrc"] = val - @property def meta(self): """ @@ -627,24 +466,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -701,24 +522,6 @@ def open(self): def open(self, val): self["open"] = val - @property - def opensrc(self): - """ - Sets the source reference on Chart Studio Cloud for `open`. - - The 'opensrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["opensrc"] - - @opensrc.setter - def opensrc(self, val): - self["opensrc"] = val - @property def selectedpoints(self): """ @@ -760,25 +563,6 @@ def showlegend(self): def showlegend(self, val): self["showlegend"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.candlestick.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.candlestick.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def text(self): """ @@ -802,24 +586,6 @@ def text(self): def text(self, val): self["text"] = val - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def uid(self): """ @@ -978,7 +744,7 @@ def xcalendar(self, val): @property def xhoverformat(self): """ - Sets the hover text formatting rulefor `x` using d3 formatting + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1065,24 +831,6 @@ def xperiodalignment(self): def xperiodalignment(self, val): self["xperiodalignment"] = val - @property - def xsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `x`. - - The 'xsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xsrc"] - - @xsrc.setter - def xsrc(self, val): - self["xsrc"] = val - @property def yaxis(self): """ @@ -1109,7 +857,7 @@ def yaxis(self, val): @property def yhoverformat(self): """ - Sets the hover text formatting rulefor `y` using d3 formatting + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1164,33 +912,21 @@ def _prop_descriptions(self): return """\ close Sets the close values. - closesrc - Sets the source reference on Chart Studio Cloud for - `close`. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. decreasing :class:`plotly.graph_objects.candlestick.Decreasing` instance or dict with compatible properties high Sets the high values. - highsrc - Sets the source reference on Chart Studio Cloud for - `high`. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.candlestick.Hoverlabel` instance or dict with compatible properties @@ -1235,21 +971,12 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. increasing :class:`plotly.graph_objects.candlestick.Increasing` instance or dict with compatible properties @@ -1285,9 +1012,6 @@ def _prop_descriptions(self): or dict with compatible properties low Sets the low values. - lowsrc - Sets the source reference on Chart Studio Cloud for - `low`. meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -1301,9 +1025,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1311,9 +1032,6 @@ def _prop_descriptions(self): Sets the opacity of the trace. open Sets the open values. - opensrc - Sets the source reference on Chart Studio Cloud for - `open`. selectedpoints Array containing integer indices of selected points. Has an effect only for traces that support selections. @@ -1324,17 +1042,11 @@ def _prop_descriptions(self): showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.candlestick.Stream` - instance or dict with compatible properties text Sets hover text elements associated with each sample point. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to this trace's sample points. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1377,7 +1089,7 @@ def _prop_descriptions(self): xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1405,16 +1117,13 @@ def _prop_descriptions(self): xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. yaxis Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1437,22 +1146,15 @@ def __init__( self, arg=None, close=None, - closesrc=None, customdata=None, - customdatasrc=None, decreasing=None, high=None, - highsrc=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, increasing=None, legend=None, legendgroup=None, @@ -1461,18 +1163,13 @@ def __init__( legendwidth=None, line=None, low=None, - lowsrc=None, meta=None, - metasrc=None, name=None, opacity=None, open=None, - opensrc=None, selectedpoints=None, showlegend=None, - stream=None, text=None, - textsrc=None, uid=None, uirevision=None, visible=None, @@ -1484,7 +1181,6 @@ def __init__( xperiod=None, xperiod0=None, xperiodalignment=None, - xsrc=None, yaxis=None, yhoverformat=None, zorder=None, @@ -1498,7 +1194,7 @@ def __init__( time). The boxes represent the spread between the `open` and `close` values and the lines represent the spread between the `low` and `high` values Sample points where the close value is - higher (lower) then the open value are called increasing + higher (lower) than the open value are called increasing (decreasing). By default, increasing candles are drawn in green whereas decreasing are drawn in red. @@ -1509,33 +1205,21 @@ def __init__( an instance of :class:`plotly.graph_objs.Candlestick` close Sets the close values. - closesrc - Sets the source reference on Chart Studio Cloud for - `close`. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. decreasing :class:`plotly.graph_objects.candlestick.Decreasing` instance or dict with compatible properties high Sets the high values. - highsrc - Sets the source reference on Chart Studio Cloud for - `high`. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.candlestick.Hoverlabel` instance or dict with compatible properties @@ -1580,21 +1264,12 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. increasing :class:`plotly.graph_objects.candlestick.Increasing` instance or dict with compatible properties @@ -1630,9 +1305,6 @@ def __init__( or dict with compatible properties low Sets the low values. - lowsrc - Sets the source reference on Chart Studio Cloud for - `low`. meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -1646,9 +1318,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1656,9 +1325,6 @@ def __init__( Sets the opacity of the trace. open Sets the open values. - opensrc - Sets the source reference on Chart Studio Cloud for - `open`. selectedpoints Array containing integer indices of selected points. Has an effect only for traces that support selections. @@ -1669,17 +1335,11 @@ def __init__( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.candlestick.Stream` - instance or dict with compatible properties text Sets hover text elements associated with each sample point. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to this trace's sample points. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1722,7 +1382,7 @@ def __init__( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1750,16 +1410,13 @@ def __init__( xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. yaxis Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1802,22 +1459,15 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("close", arg, close) - self._set_property("closesrc", arg, closesrc) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("decreasing", arg, decreasing) self._set_property("high", arg, high) - self._set_property("highsrc", arg, highsrc) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("increasing", arg, increasing) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) @@ -1826,18 +1476,13 @@ def __init__( self._set_property("legendwidth", arg, legendwidth) self._set_property("line", arg, line) self._set_property("low", arg, low) - self._set_property("lowsrc", arg, lowsrc) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("open", arg, open) - self._set_property("opensrc", arg, opensrc) self._set_property("selectedpoints", arg, selectedpoints) self._set_property("showlegend", arg, showlegend) - self._set_property("stream", arg, stream) self._set_property("text", arg, text) - self._set_property("textsrc", arg, textsrc) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("visible", arg, visible) @@ -1849,7 +1494,6 @@ def __init__( self._set_property("xperiod", arg, xperiod) self._set_property("xperiod0", arg, xperiod0) self._set_property("xperiodalignment", arg, xperiodalignment) - self._set_property("xsrc", arg, xsrc) self._set_property("yaxis", arg, yaxis) self._set_property("yhoverformat", arg, yhoverformat) self._set_property("zorder", arg, zorder) diff --git a/plotly/graph_objs/_carpet.py b/plotly/graph_objs/_carpet.py index d3016872c6c..617c34ab9e1 100644 --- a/plotly/graph_objs/_carpet.py +++ b/plotly/graph_objs/_carpet.py @@ -12,40 +12,32 @@ class Carpet(_BaseTraceType): "a", "a0", "aaxis", - "asrc", "b", "b0", "baxis", - "bsrc", "carpet", "cheaterslope", "color", "customdata", - "customdatasrc", "da", "db", "font", "ids", - "idssrc", "legend", "legendgrouptitle", "legendrank", "legendwidth", "meta", - "metasrc", "name", "opacity", - "stream", "type", "uid", "uirevision", "visible", "x", "xaxis", - "xsrc", "y", "yaxis", - "ysrc", "zorder", } @@ -106,24 +98,6 @@ def aaxis(self): def aaxis(self, val): self["aaxis"] = val - @property - def asrc(self): - """ - Sets the source reference on Chart Studio Cloud for `a`. - - The 'asrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["asrc"] - - @asrc.setter - def asrc(self, val): - self["asrc"] = val - @property def b(self): """ @@ -181,24 +155,6 @@ def baxis(self): def baxis(self, val): self["baxis"] = val - @property - def bsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `b`. - - The 'bsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bsrc"] - - @bsrc.setter - def bsrc(self, val): - self["bsrc"] = val - @property def carpet(self): """ @@ -285,25 +241,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def da(self): """ @@ -381,24 +318,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def legend(self): """ @@ -511,24 +430,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -567,25 +468,6 @@ def opacity(self): def opacity(self, val): self["opacity"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.carpet.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.carpet.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def uid(self): """ @@ -701,24 +583,6 @@ def xaxis(self): def xaxis(self, val): self["xaxis"] = val - @property - def xsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `x`. - - The 'xsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xsrc"] - - @xsrc.setter - def xsrc(self, val): - self["xsrc"] = val - @property def y(self): """ @@ -760,24 +624,6 @@ def yaxis(self): def yaxis(self, val): self["yaxis"] = val - @property - def ysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `y`. - - The 'ysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ysrc"] - - @ysrc.setter - def ysrc(self, val): - self["ysrc"] = val - @property def zorder(self): """ @@ -814,9 +660,6 @@ def _prop_descriptions(self): aaxis :class:`plotly.graph_objects.carpet.Aaxis` instance or dict with compatible properties - asrc - Sets the source reference on Chart Studio Cloud for - `a`. b A two dimensional array of y coordinates at each carpet point. @@ -827,9 +670,6 @@ def _prop_descriptions(self): baxis :class:`plotly.graph_objects.carpet.Baxis` instance or dict with compatible properties - bsrc - Sets the source reference on Chart Studio Cloud for - `b`. carpet An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on @@ -848,9 +688,6 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. da Sets the a coordinate step. See `a0` for more info. db @@ -862,9 +699,6 @@ def _prop_descriptions(self): Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -901,17 +735,11 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. opacity Sets the opacity of the trace. - stream - :class:`plotly.graph_objects.carpet.Stream` instance or - dict with compatible properties uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -948,9 +776,6 @@ def _prop_descriptions(self): a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y A two dimensional array of y coordinates at each carpet point. @@ -959,9 +784,6 @@ def _prop_descriptions(self): a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -975,39 +797,31 @@ def __init__( a=None, a0=None, aaxis=None, - asrc=None, b=None, b0=None, baxis=None, - bsrc=None, carpet=None, cheaterslope=None, color=None, customdata=None, - customdatasrc=None, da=None, db=None, font=None, ids=None, - idssrc=None, legend=None, legendgrouptitle=None, legendrank=None, legendwidth=None, meta=None, - metasrc=None, name=None, opacity=None, - stream=None, uid=None, uirevision=None, visible=None, x=None, xaxis=None, - xsrc=None, y=None, yaxis=None, - ysrc=None, zorder=None, **kwargs, ): @@ -1035,9 +849,6 @@ def __init__( aaxis :class:`plotly.graph_objects.carpet.Aaxis` instance or dict with compatible properties - asrc - Sets the source reference on Chart Studio Cloud for - `a`. b A two dimensional array of y coordinates at each carpet point. @@ -1048,9 +859,6 @@ def __init__( baxis :class:`plotly.graph_objects.carpet.Baxis` instance or dict with compatible properties - bsrc - Sets the source reference on Chart Studio Cloud for - `b`. carpet An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on @@ -1069,9 +877,6 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. da Sets the a coordinate step. See `a0` for more info. db @@ -1083,9 +888,6 @@ def __init__( Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1122,17 +924,11 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. opacity Sets the opacity of the trace. - stream - :class:`plotly.graph_objects.carpet.Stream` instance or - dict with compatible properties uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1169,9 +965,6 @@ def __init__( a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y A two dimensional array of y coordinates at each carpet point. @@ -1180,9 +973,6 @@ def __init__( a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -1216,39 +1006,31 @@ def __init__( self._set_property("a", arg, a) self._set_property("a0", arg, a0) self._set_property("aaxis", arg, aaxis) - self._set_property("asrc", arg, asrc) self._set_property("b", arg, b) self._set_property("b0", arg, b0) self._set_property("baxis", arg, baxis) - self._set_property("bsrc", arg, bsrc) self._set_property("carpet", arg, carpet) self._set_property("cheaterslope", arg, cheaterslope) self._set_property("color", arg, color) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("da", arg, da) self._set_property("db", arg, db) self._set_property("font", arg, font) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("legend", arg, legend) self._set_property("legendgrouptitle", arg, legendgrouptitle) self._set_property("legendrank", arg, legendrank) self._set_property("legendwidth", arg, legendwidth) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) - self._set_property("stream", arg, stream) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("visible", arg, visible) self._set_property("x", arg, x) self._set_property("xaxis", arg, xaxis) - self._set_property("xsrc", arg, xsrc) self._set_property("y", arg, y) self._set_property("yaxis", arg, yaxis) - self._set_property("ysrc", arg, ysrc) self._set_property("zorder", arg, zorder) self._props["type"] = "carpet" diff --git a/plotly/graph_objs/_choropleth.py b/plotly/graph_objs/_choropleth.py index 47b408052a9..cea7f6b316d 100644 --- a/plotly/graph_objs/_choropleth.py +++ b/plotly/graph_objs/_choropleth.py @@ -15,20 +15,15 @@ class Choropleth(_BaseTraceType): "colorbar", "colorscale", "customdata", - "customdatasrc", "featureidkey", "geo", "geojson", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "legend", "legendgroup", "legendgrouptitle", @@ -36,19 +31,15 @@ class Choropleth(_BaseTraceType): "legendwidth", "locationmode", "locations", - "locationssrc", "marker", "meta", - "metasrc", "name", "reversescale", "selected", "selectedpoints", "showlegend", "showscale", - "stream", "text", - "textsrc", "type", "uid", "uirevision", @@ -59,7 +50,6 @@ class Choropleth(_BaseTraceType): "zmax", "zmid", "zmin", - "zsrc", } @property @@ -134,7 +124,7 @@ def colorscale(self): """ Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, - hsv, or named color string. At minimum, a mapping for the + hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. @@ -201,25 +191,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def featureidkey(self): """ @@ -289,7 +260,7 @@ def geojson(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -310,25 +281,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -414,25 +366,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -453,25 +386,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -492,24 +406,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def legend(self): """ @@ -620,16 +516,13 @@ def legendwidth(self, val): @property def locationmode(self): """ - The library used by the *country names* `locationmode` option - is changing in an upcoming version. Country names in existing - plots may not work in the new version. Determines the set of - locations used to match entries in `locations` to regions on - the map. Values "ISO-3", "USA-states", *country names* - correspond to features on the base map and value "geojson-id" - corresponds to features from a custom GeoJSON linked to the - `geojson` attribute. "USA-states" accepts both two-letter - abbreviations (e.g. "CA") and full state names (e.g. - "California"). + Determines the set of locations used to match entries in + `locations` to regions on the map. Values "ISO-3", "USA- + states", *country names* correspond to features on the base map + and value "geojson-id" corresponds to features from a custom + GeoJSON linked to the `geojson` attribute. "USA-states" accepts + both two-letter abbreviations (e.g. "CA") and full state names + (e.g. "California"). The 'locationmode' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -664,25 +557,6 @@ def locations(self): def locations(self, val): self["locations"] = val - @property - def locationssrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `locations`. - - The 'locationssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["locationssrc"] - - @locationssrc.setter - def locationssrc(self, val): - self["locationssrc"] = val - @property def marker(self): """ @@ -728,24 +602,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -865,25 +721,6 @@ def showscale(self): def showscale(self, val): self["showscale"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.choropleth.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.choropleth.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def text(self): """ @@ -904,24 +741,6 @@ def text(self): def text(self, val): self["text"] = val - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def uid(self): """ @@ -1110,24 +929,6 @@ def zmin(self): def zmin(self, val): self["zmin"] = val - @property - def zsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `z`. - - The 'zsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["zsrc"] - - @zsrc.setter - def zsrc(self, val): - self["zsrc"] = val - @property def type(self): return self._props["type"] @@ -1155,23 +956,20 @@ def _prop_descriptions(self): colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. featureidkey Sets the key in GeoJSON features which is used as id to match the items included in the `locations` array. Only @@ -1191,13 +989,10 @@ def _prop_descriptions(self): "FeatureCollection" or "Feature" with geometries of type "Polygon" or "MultiPolygon". hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.choropleth.Hoverlabel` instance or dict with compatible properties @@ -1240,21 +1035,12 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1283,23 +1069,17 @@ def _prop_descriptions(self): Sets the width (in px or fraction) of the legend for this trace. locationmode - The library used by the *country names* `locationmode` - option is changing in an upcoming version. Country - names in existing plots may not work in the new - version. Determines the set of locations used to match - entries in `locations` to regions on the map. Values - "ISO-3", "USA-states", *country names* correspond to - features on the base map and value "geojson-id" - corresponds to features from a custom GeoJSON linked to - the `geojson` attribute. "USA-states" accepts both two- - letter abbreviations (e.g. "CA") and full state names - (e.g. "California"). + Determines the set of locations used to match entries + in `locations` to regions on the map. Values "ISO-3", + "USA-states", *country names* correspond to features on + the base map and value "geojson-id" corresponds to + features from a custom GeoJSON linked to the `geojson` + attribute. "USA-states" accepts both two-letter + abbreviations (e.g. "CA") and full state names (e.g. + "California"). locations Sets the coordinates via location IDs or names. See `locationmode` for more info. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. marker :class:`plotly.graph_objects.choropleth.Marker` instance or dict with compatible properties @@ -1316,9 +1096,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1342,14 +1119,8 @@ def _prop_descriptions(self): showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.choropleth.Stream` - instance or dict with compatible properties text Sets the text elements associated with each location. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1400,9 +1171,6 @@ def _prop_descriptions(self): Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. """ def __init__( @@ -1413,20 +1181,15 @@ def __init__( colorbar=None, colorscale=None, customdata=None, - customdatasrc=None, featureidkey=None, geo=None, geojson=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -1434,19 +1197,15 @@ def __init__( legendwidth=None, locationmode=None, locations=None, - locationssrc=None, marker=None, meta=None, - metasrc=None, name=None, reversescale=None, selected=None, selectedpoints=None, showlegend=None, showscale=None, - stream=None, text=None, - textsrc=None, uid=None, uirevision=None, unselected=None, @@ -1456,7 +1215,6 @@ def __init__( zmax=None, zmid=None, zmin=None, - zsrc=None, **kwargs, ): """ @@ -1491,23 +1249,20 @@ def __init__( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. featureidkey Sets the key in GeoJSON features which is used as id to match the items included in the `locations` array. Only @@ -1527,13 +1282,10 @@ def __init__( "FeatureCollection" or "Feature" with geometries of type "Polygon" or "MultiPolygon". hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.choropleth.Hoverlabel` instance or dict with compatible properties @@ -1576,21 +1328,12 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1619,23 +1362,17 @@ def __init__( Sets the width (in px or fraction) of the legend for this trace. locationmode - The library used by the *country names* `locationmode` - option is changing in an upcoming version. Country - names in existing plots may not work in the new - version. Determines the set of locations used to match - entries in `locations` to regions on the map. Values - "ISO-3", "USA-states", *country names* correspond to - features on the base map and value "geojson-id" - corresponds to features from a custom GeoJSON linked to - the `geojson` attribute. "USA-states" accepts both two- - letter abbreviations (e.g. "CA") and full state names - (e.g. "California"). + Determines the set of locations used to match entries + in `locations` to regions on the map. Values "ISO-3", + "USA-states", *country names* correspond to features on + the base map and value "geojson-id" corresponds to + features from a custom GeoJSON linked to the `geojson` + attribute. "USA-states" accepts both two-letter + abbreviations (e.g. "CA") and full state names (e.g. + "California"). locations Sets the coordinates via location IDs or names. See `locationmode` for more info. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. marker :class:`plotly.graph_objects.choropleth.Marker` instance or dict with compatible properties @@ -1652,9 +1389,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1678,14 +1412,8 @@ def __init__( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.choropleth.Stream` - instance or dict with compatible properties text Sets the text elements associated with each location. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1736,9 +1464,6 @@ def __init__( Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. Returns ------- @@ -1778,20 +1503,15 @@ def __init__( self._set_property("colorbar", arg, colorbar) self._set_property("colorscale", arg, colorscale) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("featureidkey", arg, featureidkey) self._set_property("geo", arg, geo) self._set_property("geojson", arg, geojson) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) @@ -1799,19 +1519,15 @@ def __init__( self._set_property("legendwidth", arg, legendwidth) self._set_property("locationmode", arg, locationmode) self._set_property("locations", arg, locations) - self._set_property("locationssrc", arg, locationssrc) self._set_property("marker", arg, marker) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("reversescale", arg, reversescale) self._set_property("selected", arg, selected) self._set_property("selectedpoints", arg, selectedpoints) self._set_property("showlegend", arg, showlegend) self._set_property("showscale", arg, showscale) - self._set_property("stream", arg, stream) self._set_property("text", arg, text) - self._set_property("textsrc", arg, textsrc) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("unselected", arg, unselected) @@ -1821,7 +1537,6 @@ def __init__( self._set_property("zmax", arg, zmax) self._set_property("zmid", arg, zmid) self._set_property("zmin", arg, zmin) - self._set_property("zsrc", arg, zsrc) self._props["type"] = "choropleth" arg.pop("type", None) diff --git a/plotly/graph_objs/_choroplethmap.py b/plotly/graph_objs/_choroplethmap.py index eb548811ab4..c040ba0617f 100644 --- a/plotly/graph_objs/_choroplethmap.py +++ b/plotly/graph_objs/_choroplethmap.py @@ -15,39 +15,30 @@ class Choroplethmap(_BaseTraceType): "colorbar", "colorscale", "customdata", - "customdatasrc", "featureidkey", "geojson", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "legend", "legendgroup", "legendgrouptitle", "legendrank", "legendwidth", "locations", - "locationssrc", "marker", "meta", - "metasrc", "name", "reversescale", "selected", "selectedpoints", "showlegend", "showscale", - "stream", "subplot", "text", - "textsrc", "type", "uid", "uirevision", @@ -58,7 +49,6 @@ class Choroplethmap(_BaseTraceType): "zmax", "zmid", "zmin", - "zsrc", } @property @@ -155,7 +145,7 @@ def colorscale(self): """ Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, - hsv, or named color string. At minimum, a mapping for the + hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. @@ -222,25 +212,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def featureidkey(self): """ @@ -285,7 +256,7 @@ def geojson(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -306,25 +277,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -411,25 +363,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -450,25 +383,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -489,24 +403,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def legend(self): """ @@ -633,25 +529,6 @@ def locations(self): def locations(self, val): self["locations"] = val - @property - def locationssrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `locations`. - - The 'locationssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["locationssrc"] - - @locationssrc.setter - def locationssrc(self, val): - self["locationssrc"] = val - @property def marker(self): """ @@ -697,24 +574,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -834,25 +693,6 @@ def showscale(self): def showscale(self, val): self["showscale"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.choroplethmap.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.choroplethmap.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def subplot(self): """ @@ -896,24 +736,6 @@ def text(self): def text(self, val): self["text"] = val - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def uid(self): """ @@ -1102,24 +924,6 @@ def zmin(self): def zmin(self, val): self["zmin"] = val - @property - def zsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `z`. - - The 'zsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["zsrc"] - - @zsrc.setter - def zsrc(self, val): - self["zsrc"] = val - @property def type(self): return self._props["type"] @@ -1153,23 +957,20 @@ def _prop_descriptions(self): colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. featureidkey Sets the key in GeoJSON features which is used as id to match the items included in the `locations` array. @@ -1181,13 +982,10 @@ def _prop_descriptions(self): "FeatureCollection" or "Feature" with geometries of type "Polygon" or "MultiPolygon". hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.choroplethmap.Hoverlabel` instance or dict with compatible properties @@ -1231,21 +1029,12 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1276,9 +1065,6 @@ def _prop_descriptions(self): locations Sets which features found in "geojson" to plot using their feature `id` field. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. marker :class:`plotly.graph_objects.choroplethmap.Marker` instance or dict with compatible properties @@ -1295,9 +1081,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1321,9 +1104,6 @@ def _prop_descriptions(self): showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.choroplethmap.Stream` - instance or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a map subplot. If "map" (the default value), the @@ -1331,9 +1111,6 @@ def _prop_descriptions(self): to `layout.map2`, and so on. text Sets the text elements associated with each location. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1384,9 +1161,6 @@ def _prop_descriptions(self): Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. """ def __init__( @@ -1398,39 +1172,30 @@ def __init__( colorbar=None, colorscale=None, customdata=None, - customdatasrc=None, featureidkey=None, geojson=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, legendrank=None, legendwidth=None, locations=None, - locationssrc=None, marker=None, meta=None, - metasrc=None, name=None, reversescale=None, selected=None, selectedpoints=None, showlegend=None, showscale=None, - stream=None, subplot=None, text=None, - textsrc=None, uid=None, uirevision=None, unselected=None, @@ -1440,7 +1205,6 @@ def __init__( zmax=None, zmid=None, zmin=None, - zsrc=None, **kwargs, ): """ @@ -1481,23 +1245,20 @@ def __init__( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. featureidkey Sets the key in GeoJSON features which is used as id to match the items included in the `locations` array. @@ -1509,13 +1270,10 @@ def __init__( "FeatureCollection" or "Feature" with geometries of type "Polygon" or "MultiPolygon". hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.choroplethmap.Hoverlabel` instance or dict with compatible properties @@ -1559,21 +1317,12 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1604,9 +1353,6 @@ def __init__( locations Sets which features found in "geojson" to plot using their feature `id` field. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. marker :class:`plotly.graph_objects.choroplethmap.Marker` instance or dict with compatible properties @@ -1623,9 +1369,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1649,9 +1392,6 @@ def __init__( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.choroplethmap.Stream` - instance or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a map subplot. If "map" (the default value), the @@ -1659,9 +1399,6 @@ def __init__( to `layout.map2`, and so on. text Sets the text elements associated with each location. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1712,9 +1449,6 @@ def __init__( Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. Returns ------- @@ -1746,39 +1480,30 @@ def __init__( self._set_property("colorbar", arg, colorbar) self._set_property("colorscale", arg, colorscale) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("featureidkey", arg, featureidkey) self._set_property("geojson", arg, geojson) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) self._set_property("legendrank", arg, legendrank) self._set_property("legendwidth", arg, legendwidth) self._set_property("locations", arg, locations) - self._set_property("locationssrc", arg, locationssrc) self._set_property("marker", arg, marker) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("reversescale", arg, reversescale) self._set_property("selected", arg, selected) self._set_property("selectedpoints", arg, selectedpoints) self._set_property("showlegend", arg, showlegend) self._set_property("showscale", arg, showscale) - self._set_property("stream", arg, stream) self._set_property("subplot", arg, subplot) self._set_property("text", arg, text) - self._set_property("textsrc", arg, textsrc) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("unselected", arg, unselected) @@ -1788,7 +1513,6 @@ def __init__( self._set_property("zmax", arg, zmax) self._set_property("zmid", arg, zmid) self._set_property("zmin", arg, zmin) - self._set_property("zsrc", arg, zsrc) self._props["type"] = "choroplethmap" arg.pop("type", None) diff --git a/plotly/graph_objs/_choroplethmapbox.py b/plotly/graph_objs/_choroplethmapbox.py deleted file mode 100644 index b89f6f022cd..00000000000 --- a/plotly/graph_objs/_choroplethmapbox.py +++ /dev/null @@ -1,1824 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceType as _BaseTraceType -import copy as _copy -import warnings - - -class Choroplethmapbox(_BaseTraceType): - _parent_path_str = "" - _path_str = "choroplethmapbox" - _valid_props = { - "autocolorscale", - "below", - "coloraxis", - "colorbar", - "colorscale", - "customdata", - "customdatasrc", - "featureidkey", - "geojson", - "hoverinfo", - "hoverinfosrc", - "hoverlabel", - "hovertemplate", - "hovertemplatefallback", - "hovertemplatesrc", - "hovertext", - "hovertextsrc", - "ids", - "idssrc", - "legend", - "legendgroup", - "legendgrouptitle", - "legendrank", - "legendwidth", - "locations", - "locationssrc", - "marker", - "meta", - "metasrc", - "name", - "reversescale", - "selected", - "selectedpoints", - "showlegend", - "showscale", - "stream", - "subplot", - "text", - "textsrc", - "type", - "uid", - "uirevision", - "unselected", - "visible", - "z", - "zauto", - "zmax", - "zmid", - "zmin", - "zsrc", - } - - @property - def autocolorscale(self): - """ - Determines whether the colorscale is a default palette - (`autocolorscale: true`) or the palette determined by - `colorscale`. In case `colorscale` is unspecified or - `autocolorscale` is true, the default palette will be chosen - according to whether numbers in the `color` array are all - positive, all negative or mixed. - - The 'autocolorscale' property is a boolean and must be specified as: - - A boolean value: True or False - - Returns - ------- - bool - """ - return self["autocolorscale"] - - @autocolorscale.setter - def autocolorscale(self, val): - self["autocolorscale"] = val - - @property - def below(self): - """ - Determines if the choropleth polygons will be inserted before - the layer with the specified ID. By default, choroplethmapbox - traces are placed above the water layers. If set to '', the - layer will be inserted above every existing layer. - - The 'below' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["below"] - - @below.setter - def below(self, val): - self["below"] = val - - @property - def coloraxis(self): - """ - Sets a reference to a shared color axis. References to these - shared color axes are "coloraxis", "coloraxis2", "coloraxis3", - etc. Settings for these shared color axes are set in the - layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. - Note that multiple color scales can be linked to the same color - axis. - - The 'coloraxis' property is an identifier of a particular - subplot, of type 'coloraxis', that may be specified as: - - the string 'coloraxis' optionally followed by an integer >= 1 - (e.g. 'coloraxis', 'coloraxis1', 'coloraxis2', 'coloraxis3', etc.) - - Returns - ------- - str - """ - return self["coloraxis"] - - @coloraxis.setter - def coloraxis(self, val): - self["coloraxis"] = val - - @property - def colorbar(self): - """ - The 'colorbar' property is an instance of ColorBar - that may be specified as: - - An instance of :class:`plotly.graph_objs.choroplethmapbox.ColorBar` - - A dict of string/value properties that will be passed - to the ColorBar constructor - - Returns - ------- - plotly.graph_objs.choroplethmapbox.ColorBar - """ - return self["colorbar"] - - @colorbar.setter - def colorbar(self, val): - self["colorbar"] = val - - @property - def colorscale(self): - """ - Sets the colorscale. The colorscale must be an array containing - arrays mapping a normalized value to an rgb, rgba, hex, hsl, - hsv, or named color string. At minimum, a mapping for the - lowest (0) and highest (1) values are required. For example, - `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the - bounds of the colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name string of the - following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric, - Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis, - YlGnBu,YlOrRd. - - The 'colorscale' property is a colorscale and may be - specified as: - - A list of colors that will be spaced evenly to create the colorscale. - Many predefined colorscale lists are included in the sequential, diverging, - and cyclical modules in the plotly.colors package. - - A list of 2-element lists where the first element is the - normalized color level value (starting at 0 and ending at 1), - and the second item is a valid color string. - (e.g. [[0, 'green'], [0.5, 'red'], [1.0, 'rgb(0, 0, 255)']]) - - One of the following named colorscales: - ['aggrnyl', 'agsunset', 'algae', 'amp', 'armyrose', 'balance', - 'blackbody', 'bluered', 'blues', 'blugrn', 'bluyl', 'brbg', - 'brwnyl', 'bugn', 'bupu', 'burg', 'burgyl', 'cividis', 'curl', - 'darkmint', 'deep', 'delta', 'dense', 'earth', 'edge', 'electric', - 'emrld', 'fall', 'geyser', 'gnbu', 'gray', 'greens', 'greys', - 'haline', 'hot', 'hsv', 'ice', 'icefire', 'inferno', 'jet', - 'magenta', 'magma', 'matter', 'mint', 'mrybm', 'mygbm', 'oranges', - 'orrd', 'oryel', 'oxy', 'peach', 'phase', 'picnic', 'pinkyl', - 'piyg', 'plasma', 'plotly3', 'portland', 'prgn', 'pubu', 'pubugn', - 'puor', 'purd', 'purp', 'purples', 'purpor', 'rainbow', 'rdbu', - 'rdgy', 'rdpu', 'rdylbu', 'rdylgn', 'redor', 'reds', 'solar', - 'spectral', 'speed', 'sunset', 'sunsetdark', 'teal', 'tealgrn', - 'tealrose', 'tempo', 'temps', 'thermal', 'tropic', 'turbid', - 'turbo', 'twilight', 'viridis', 'ylgn', 'ylgnbu', 'ylorbr', - 'ylorrd']. - Appending '_r' to a named colorscale reverses it. - - Returns - ------- - str - """ - return self["colorscale"] - - @colorscale.setter - def colorscale(self, val): - self["colorscale"] = val - - @property - def customdata(self): - """ - Assigns extra data each datum. This may be useful when - listening to hover, click and selection events. Note that, - "scatter" traces also appends customdata items in the markers - DOM elements - - The 'customdata' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["customdata"] - - @customdata.setter - def customdata(self, val): - self["customdata"] = val - - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - - @property - def featureidkey(self): - """ - Sets the key in GeoJSON features which is used as id to match - the items included in the `locations` array. Support nested - property, for example "properties.name". - - The 'featureidkey' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["featureidkey"] - - @featureidkey.setter - def featureidkey(self, val): - self["featureidkey"] = val - - @property - def geojson(self): - """ - Sets the GeoJSON data associated with this trace. It can be set - as a valid GeoJSON object or as a URL string. Note that we only - accept GeoJSONs of type "FeatureCollection" or "Feature" with - geometries of type "Polygon" or "MultiPolygon". - - The 'geojson' property accepts values of any type - - Returns - ------- - Any - """ - return self["geojson"] - - @geojson.setter - def geojson(self, val): - self["geojson"] = val - - @property - def hoverinfo(self): - """ - Determines which trace information appear on hover. If `none` - or `skip` are set, no information is displayed upon hovering. - But, if `none` is set, click and hover events are still fired. - - The 'hoverinfo' property is a flaglist and may be specified - as a string containing: - - Any combination of ['location', 'z', 'text', 'name'] joined with '+' characters - (e.g. 'location+z') - OR exactly one of ['all', 'none', 'skip'] (e.g. 'skip') - - A list or array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["hoverinfo"] - - @hoverinfo.setter - def hoverinfo(self, val): - self["hoverinfo"] = val - - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - - @property - def hoverlabel(self): - """ - The 'hoverlabel' property is an instance of Hoverlabel - that may be specified as: - - An instance of :class:`plotly.graph_objs.choroplethmapbox.Hoverlabel` - - A dict of string/value properties that will be passed - to the Hoverlabel constructor - - Returns - ------- - plotly.graph_objs.choroplethmapbox.Hoverlabel - """ - return self["hoverlabel"] - - @hoverlabel.setter - def hoverlabel(self, val): - self["hoverlabel"] = val - - @property - def hovertemplate(self): - """ - Template string used for rendering the information that appear - on hover box. Note that this will override `hoverinfo`. - Variables are inserted using %{variable}, for example "y: %{y}" - as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When - showing info for several points, "xother" will be added to - those with different x positions from the first point. An - underscore before or after "(x|y)other" will add a space on - that side, only when this field is shown. Numbers are formatted - using d3-format's syntax %{variable:d3-format}, for example - "Price: %{y:$.2f}". - https://github.com/d3/d3-format/tree/v1.4.5#d3-format for - details on the formatting syntax. Dates are formatted using - d3-time-format's syntax %{variable|d3-time-format}, for example - "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format for details on the date - formatting syntax. Variables that can't be found will be - replaced with the specifier. For example, a template of "data: - %{x}, %{y}" will result in a value of "data: 1, %{y}" if x is 1 - and y is missing. Variables with an undefined value will be - replaced with the fallback value. The variables available in - `hovertemplate` are the ones emitted as event data described at - this link https://plotly.com/javascript/plotlyjs-events/#event- - data. Additionally, all attributes that can be specified per- - point (the ones that are `arrayOk: true`) are available. - Finally, the template string has access to variable - `properties` Anything contained in tag `` is displayed - in the secondary box, for example - `%{fullData.name}`. To hide the secondary box - completely, use an empty tag ``. - - The 'hovertemplate' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["hovertemplate"] - - @hovertemplate.setter - def hovertemplate(self, val): - self["hovertemplate"] = val - - @property - def hovertemplatefallback(self): - """ - Fallback string that's displayed when a variable referenced in - a template is missing. If the boolean value 'false' is passed - in, the specifier with the missing variable will be displayed. - - The 'hovertemplatefallback' property accepts values of any type - - Returns - ------- - Any - """ - return self["hovertemplatefallback"] - - @hovertemplatefallback.setter - def hovertemplatefallback(self, val): - self["hovertemplatefallback"] = val - - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - - @property - def hovertext(self): - """ - Same as `text`. - - The 'hovertext' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["hovertext"] - - @hovertext.setter - def hovertext(self, val): - self["hovertext"] = val - - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - - @property - def ids(self): - """ - Assigns id labels to each datum. These ids for object constancy - of data points during animation. Should be an array of strings, - not numbers or any other type. - - The 'ids' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["ids"] - - @ids.setter - def ids(self, val): - self["ids"] = val - - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - - @property - def legend(self): - """ - Sets the reference to a legend to show this trace in. - References to these legends are "legend", "legend2", "legend3", - etc. Settings for these legends are set in the layout, under - `layout.legend`, `layout.legend2`, etc. - - The 'legend' property is an identifier of a particular - subplot, of type 'legend', that may be specified as: - - the string 'legend' optionally followed by an integer >= 1 - (e.g. 'legend', 'legend1', 'legend2', 'legend3', etc.) - - Returns - ------- - str - """ - return self["legend"] - - @legend.setter - def legend(self, val): - self["legend"] = val - - @property - def legendgroup(self): - """ - Sets the legend group for this trace. Traces and shapes part of - the same legend group hide/show at the same time when toggling - legend items. - - The 'legendgroup' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["legendgroup"] - - @legendgroup.setter - def legendgroup(self, val): - self["legendgroup"] = val - - @property - def legendgrouptitle(self): - """ - The 'legendgrouptitle' property is an instance of Legendgrouptitle - that may be specified as: - - An instance of :class:`plotly.graph_objs.choroplethmapbox.Legendgrouptitle` - - A dict of string/value properties that will be passed - to the Legendgrouptitle constructor - - Returns - ------- - plotly.graph_objs.choroplethmapbox.Legendgrouptitle - """ - return self["legendgrouptitle"] - - @legendgrouptitle.setter - def legendgrouptitle(self, val): - self["legendgrouptitle"] = val - - @property - def legendrank(self): - """ - Sets the legend rank for this trace. Items and groups with - smaller ranks are presented on top/left side while with - "reversed" `legend.traceorder` they are on bottom/right side. - The default legendrank is 1000, so that you can use ranks less - than 1000 to place certain items before all unranked items, and - ranks greater than 1000 to go after all unranked items. When - having unranked or equal rank items shapes would be displayed - after traces i.e. according to their order in data and layout. - - The 'legendrank' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["legendrank"] - - @legendrank.setter - def legendrank(self, val): - self["legendrank"] = val - - @property - def legendwidth(self): - """ - Sets the width (in px or fraction) of the legend for this - trace. - - The 'legendwidth' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["legendwidth"] - - @legendwidth.setter - def legendwidth(self, val): - self["legendwidth"] = val - - @property - def locations(self): - """ - Sets which features found in "geojson" to plot using their - feature `id` field. - - The 'locations' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["locations"] - - @locations.setter - def locations(self, val): - self["locations"] = val - - @property - def locationssrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `locations`. - - The 'locationssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["locationssrc"] - - @locationssrc.setter - def locationssrc(self, val): - self["locationssrc"] = val - - @property - def marker(self): - """ - The 'marker' property is an instance of Marker - that may be specified as: - - An instance of :class:`plotly.graph_objs.choroplethmapbox.Marker` - - A dict of string/value properties that will be passed - to the Marker constructor - - Returns - ------- - plotly.graph_objs.choroplethmapbox.Marker - """ - return self["marker"] - - @marker.setter - def marker(self, val): - self["marker"] = val - - @property - def meta(self): - """ - Assigns extra meta information associated with this trace that - can be used in various text attributes. Attributes such as - trace `name`, graph, axis and colorbar `title.text`, annotation - `text` `rangeselector`, `updatemenues` and `sliders` `label` - text all support `meta`. To access the trace `meta` values in - an attribute in the same trace, simply use `%{meta[i]}` where - `i` is the index or key of the `meta` item in question. To - access trace `meta` in layout attributes, use - `%{data[n[.meta[i]}` where `i` is the index or key of the - `meta` and `n` is the trace index. - - The 'meta' property accepts values of any type - - Returns - ------- - Any|numpy.ndarray - """ - return self["meta"] - - @meta.setter - def meta(self, val): - self["meta"] = val - - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - - @property - def name(self): - """ - Sets the trace name. The trace name appears as the legend item - and on hover. - - The 'name' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["name"] - - @name.setter - def name(self, val): - self["name"] = val - - @property - def reversescale(self): - """ - Reverses the color mapping if true. If true, `zmin` will - correspond to the last color in the array and `zmax` will - correspond to the first color. - - The 'reversescale' property is a boolean and must be specified as: - - A boolean value: True or False - - Returns - ------- - bool - """ - return self["reversescale"] - - @reversescale.setter - def reversescale(self, val): - self["reversescale"] = val - - @property - def selected(self): - """ - The 'selected' property is an instance of Selected - that may be specified as: - - An instance of :class:`plotly.graph_objs.choroplethmapbox.Selected` - - A dict of string/value properties that will be passed - to the Selected constructor - - Returns - ------- - plotly.graph_objs.choroplethmapbox.Selected - """ - return self["selected"] - - @selected.setter - def selected(self, val): - self["selected"] = val - - @property - def selectedpoints(self): - """ - Array containing integer indices of selected points. Has an - effect only for traces that support selections. Note that an - empty array means an empty selection where the `unselected` are - turned on for all points, whereas, any other non-array values - means no selection all where the `selected` and `unselected` - styles have no effect. - - The 'selectedpoints' property accepts values of any type - - Returns - ------- - Any - """ - return self["selectedpoints"] - - @selectedpoints.setter - def selectedpoints(self, val): - self["selectedpoints"] = val - - @property - def showlegend(self): - """ - Determines whether or not an item corresponding to this trace - is shown in the legend. - - The 'showlegend' property is a boolean and must be specified as: - - A boolean value: True or False - - Returns - ------- - bool - """ - return self["showlegend"] - - @showlegend.setter - def showlegend(self, val): - self["showlegend"] = val - - @property - def showscale(self): - """ - Determines whether or not a colorbar is displayed for this - trace. - - The 'showscale' property is a boolean and must be specified as: - - A boolean value: True or False - - Returns - ------- - bool - """ - return self["showscale"] - - @showscale.setter - def showscale(self, val): - self["showscale"] = val - - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.choroplethmapbox.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.choroplethmapbox.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - - @property - def subplot(self): - """ - mapbox subplots and traces are deprecated! Please consider - switching to `map` subplots and traces. Learn more at: - https://plotly.com/python/maplibre-migration/ as well as - https://plotly.com/javascript/maplibre-migration/ Sets a - reference between this trace's data coordinates and a mapbox - subplot. If "mapbox" (the default value), the data refer to - `layout.mapbox`. If "mapbox2", the data refer to - `layout.mapbox2`, and so on. - - The 'subplot' property is an identifier of a particular - subplot, of type 'mapbox', that may be specified as: - - the string 'mapbox' optionally followed by an integer >= 1 - (e.g. 'mapbox', 'mapbox1', 'mapbox2', 'mapbox3', etc.) - - Returns - ------- - str - """ - return self["subplot"] - - @subplot.setter - def subplot(self, val): - self["subplot"] = val - - @property - def text(self): - """ - Sets the text elements associated with each location. - - The 'text' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["text"] - - @text.setter - def text(self, val): - self["text"] = val - - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - - @property - def uid(self): - """ - Assign an id to this trace, Use this to provide object - constancy between traces during animations and transitions. - - The 'uid' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["uid"] - - @uid.setter - def uid(self, val): - self["uid"] = val - - @property - def uirevision(self): - """ - Controls persistence of some user-driven changes to the trace: - `constraintrange` in `parcoords` traces, as well as some - `editable: true` modifications such as `name` and - `colorbar.title`. Defaults to `layout.uirevision`. Note that - other user-driven trace attribute changes are controlled by - `layout` attributes: `trace.visible` is controlled by - `layout.legend.uirevision`, `selectedpoints` is controlled by - `layout.selectionrevision`, and `colorbar.(x|y)` (accessible - with `config: {editable: true}`) is controlled by - `layout.editrevision`. Trace changes are tracked by `uid`, - which only falls back on trace index if no `uid` is provided. - So if your app can add/remove traces before the end of the - `data` array, such that the same trace has a different index, - you can still preserve user-driven changes if you give each - trace a `uid` that stays with it as it moves. - - The 'uirevision' property accepts values of any type - - Returns - ------- - Any - """ - return self["uirevision"] - - @uirevision.setter - def uirevision(self, val): - self["uirevision"] = val - - @property - def unselected(self): - """ - The 'unselected' property is an instance of Unselected - that may be specified as: - - An instance of :class:`plotly.graph_objs.choroplethmapbox.Unselected` - - A dict of string/value properties that will be passed - to the Unselected constructor - - Returns - ------- - plotly.graph_objs.choroplethmapbox.Unselected - """ - return self["unselected"] - - @unselected.setter - def unselected(self, val): - self["unselected"] = val - - @property - def visible(self): - """ - Determines whether or not this trace is visible. If - "legendonly", the trace is not drawn, but can appear as a - legend item (provided that the legend itself is visible). - - The 'visible' property is an enumeration that may be specified as: - - One of the following enumeration values: - [True, False, 'legendonly'] - - Returns - ------- - Any - """ - return self["visible"] - - @visible.setter - def visible(self, val): - self["visible"] = val - - @property - def z(self): - """ - Sets the color values. - - The 'z' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["z"] - - @z.setter - def z(self, val): - self["z"] = val - - @property - def zauto(self): - """ - Determines whether or not the color domain is computed with - respect to the input data (here in `z`) or the bounds set in - `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` - are set by the user. - - The 'zauto' property is a boolean and must be specified as: - - A boolean value: True or False - - Returns - ------- - bool - """ - return self["zauto"] - - @zauto.setter - def zauto(self, val): - self["zauto"] = val - - @property - def zmax(self): - """ - Sets the upper bound of the color domain. Value should have the - same units as in `z` and if set, `zmin` must be set as well. - - The 'zmax' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["zmax"] - - @zmax.setter - def zmax(self, val): - self["zmax"] = val - - @property - def zmid(self): - """ - Sets the mid-point of the color domain by scaling `zmin` and/or - `zmax` to be equidistant to this point. Value should have the - same units as in `z`. Has no effect when `zauto` is `false`. - - The 'zmid' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["zmid"] - - @zmid.setter - def zmid(self, val): - self["zmid"] = val - - @property - def zmin(self): - """ - Sets the lower bound of the color domain. Value should have the - same units as in `z` and if set, `zmax` must be set as well. - - The 'zmin' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["zmin"] - - @zmin.setter - def zmin(self, val): - self["zmin"] = val - - @property - def zsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `z`. - - The 'zsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["zsrc"] - - @zsrc.setter - def zsrc(self, val): - self["zsrc"] = val - - @property - def type(self): - return self._props["type"] - - @property - def _prop_descriptions(self): - return """\ - autocolorscale - Determines whether the colorscale is a default palette - (`autocolorscale: true`) or the palette determined by - `colorscale`. In case `colorscale` is unspecified or - `autocolorscale` is true, the default palette will be - chosen according to whether numbers in the `color` - array are all positive, all negative or mixed. - below - Determines if the choropleth polygons will be inserted - before the layer with the specified ID. By default, - choroplethmapbox traces are placed above the water - layers. If set to '', the layer will be inserted above - every existing layer. - coloraxis - Sets a reference to a shared color axis. References to - these shared color axes are "coloraxis", "coloraxis2", - "coloraxis3", etc. Settings for these shared color axes - are set in the layout, under `layout.coloraxis`, - `layout.coloraxis2`, etc. Note that multiple color - scales can be linked to the same color axis. - colorbar - :class:`plotly.graph_objects.choroplethmapbox.ColorBar` - instance or dict with compatible properties - colorscale - Sets the colorscale. The colorscale must be an array - containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - customdata - Assigns extra data each datum. This may be useful when - listening to hover, click and selection events. Note - that, "scatter" traces also appends customdata items in - the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - featureidkey - Sets the key in GeoJSON features which is used as id to - match the items included in the `locations` array. - Support nested property, for example "properties.name". - geojson - Sets the GeoJSON data associated with this trace. It - can be set as a valid GeoJSON object or as a URL - string. Note that we only accept GeoJSONs of type - "FeatureCollection" or "Feature" with geometries of - type "Polygon" or "MultiPolygon". - hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - hoverlabel - :class:`plotly.graph_objects.choroplethmapbox.Hoverlabe - l` instance or dict with compatible properties - hovertemplate - Template string used for rendering the information that - appear on hover box. Note that this will override - `hoverinfo`. Variables are inserted using %{variable}, - for example "y: %{y}" as well as %{xother}, {%_xother}, - {%_xother_}, {%xother_}. When showing info for several - points, "xother" will be added to those with different - x positions from the first point. An underscore before - or after "(x|y)other" will add a space on that side, - only when this field is shown. Numbers are formatted - using d3-format's syntax %{variable:d3-format}, for - example "Price: %{y:$.2f}". - https://github.com/d3/d3-format/tree/v1.4.5#d3-format - for details on the formatting syntax. Dates are - formatted using d3-time-format's syntax - %{variable|d3-time-format}, for example "Day: - %{2019-01-01|%A}". https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format for details on the - date formatting syntax. Variables that can't be found - will be replaced with the specifier. For example, a - template of "data: %{x}, %{y}" will result in a value - of "data: 1, %{y}" if x is 1 and y is missing. - Variables with an undefined value will be replaced with - the fallback value. The variables available in - `hovertemplate` are the ones emitted as event data - described at this link - https://plotly.com/javascript/plotlyjs-events/#event- - data. Additionally, all attributes that can be - specified per-point (the ones that are `arrayOk: true`) - are available. Finally, the template string has access - to variable `properties` Anything contained in tag - `` is displayed in the secondary box, for - example `%{fullData.name}`. To hide the - secondary box completely, use an empty tag - ``. - hovertemplatefallback - Fallback string that's displayed when a variable - referenced in a template is missing. If the boolean - value 'false' is passed in, the specifier with the - missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - hovertext - Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. - ids - Assigns id labels to each datum. These ids for object - constancy of data points during animation. Should be an - array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. - legend - Sets the reference to a legend to show this trace in. - References to these legends are "legend", "legend2", - "legend3", etc. Settings for these legends are set in - the layout, under `layout.legend`, `layout.legend2`, - etc. - legendgroup - Sets the legend group for this trace. Traces and shapes - part of the same legend group hide/show at the same - time when toggling legend items. - legendgrouptitle - :class:`plotly.graph_objects.choroplethmapbox.Legendgro - uptitle` instance or dict with compatible properties - legendrank - Sets the legend rank for this trace. Items and groups - with smaller ranks are presented on top/left side while - with "reversed" `legend.traceorder` they are on - bottom/right side. The default legendrank is 1000, so - that you can use ranks less than 1000 to place certain - items before all unranked items, and ranks greater than - 1000 to go after all unranked items. When having - unranked or equal rank items shapes would be displayed - after traces i.e. according to their order in data and - layout. - legendwidth - Sets the width (in px or fraction) of the legend for - this trace. - locations - Sets which features found in "geojson" to plot using - their feature `id` field. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. - marker - :class:`plotly.graph_objects.choroplethmapbox.Marker` - instance or dict with compatible properties - meta - Assigns extra meta information associated with this - trace that can be used in various text attributes. - Attributes such as trace `name`, graph, axis and - colorbar `title.text`, annotation `text` - `rangeselector`, `updatemenues` and `sliders` `label` - text all support `meta`. To access the trace `meta` - values in an attribute in the same trace, simply use - `%{meta[i]}` where `i` is the index or key of the - `meta` item in question. To access trace `meta` in - layout attributes, use `%{data[n[.meta[i]}` where `i` - is the index or key of the `meta` and `n` is the trace - index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. - name - Sets the trace name. The trace name appears as the - legend item and on hover. - reversescale - Reverses the color mapping if true. If true, `zmin` - will correspond to the last color in the array and - `zmax` will correspond to the first color. - selected - :class:`plotly.graph_objects.choroplethmapbox.Selected` - instance or dict with compatible properties - selectedpoints - Array containing integer indices of selected points. - Has an effect only for traces that support selections. - Note that an empty array means an empty selection where - the `unselected` are turned on for all points, whereas, - any other non-array values means no selection all where - the `selected` and `unselected` styles have no effect. - showlegend - Determines whether or not an item corresponding to this - trace is shown in the legend. - showscale - Determines whether or not a colorbar is displayed for - this trace. - stream - :class:`plotly.graph_objects.choroplethmapbox.Stream` - instance or dict with compatible properties - subplot - mapbox subplots and traces are deprecated! Please - consider switching to `map` subplots and traces. Learn - more at: https://plotly.com/python/maplibre-migration/ - as well as https://plotly.com/javascript/maplibre- - migration/ Sets a reference between this trace's data - coordinates and a mapbox subplot. If "mapbox" (the - default value), the data refer to `layout.mapbox`. If - "mapbox2", the data refer to `layout.mapbox2`, and so - on. - text - Sets the text elements associated with each location. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. - uid - Assign an id to this trace, Use this to provide object - constancy between traces during animations and - transitions. - uirevision - Controls persistence of some user-driven changes to the - trace: `constraintrange` in `parcoords` traces, as well - as some `editable: true` modifications such as `name` - and `colorbar.title`. Defaults to `layout.uirevision`. - Note that other user-driven trace attribute changes are - controlled by `layout` attributes: `trace.visible` is - controlled by `layout.legend.uirevision`, - `selectedpoints` is controlled by - `layout.selectionrevision`, and `colorbar.(x|y)` - (accessible with `config: {editable: true}`) is - controlled by `layout.editrevision`. Trace changes are - tracked by `uid`, which only falls back on trace index - if no `uid` is provided. So if your app can add/remove - traces before the end of the `data` array, such that - the same trace has a different index, you can still - preserve user-driven changes if you give each trace a - `uid` that stays with it as it moves. - unselected - :class:`plotly.graph_objects.choroplethmapbox.Unselecte - d` instance or dict with compatible properties - visible - Determines whether or not this trace is visible. If - "legendonly", the trace is not drawn, but can appear as - a legend item (provided that the legend itself is - visible). - z - Sets the color values. - zauto - Determines whether or not the color domain is computed - with respect to the input data (here in `z`) or the - bounds set in `zmin` and `zmax` Defaults to `false` - when `zmin` and `zmax` are set by the user. - zmax - Sets the upper bound of the color domain. Value should - have the same units as in `z` and if set, `zmin` must - be set as well. - zmid - Sets the mid-point of the color domain by scaling - `zmin` and/or `zmax` to be equidistant to this point. - Value should have the same units as in `z`. Has no - effect when `zauto` is `false`. - zmin - Sets the lower bound of the color domain. Value should - have the same units as in `z` and if set, `zmax` must - be set as well. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. - """ - - def __init__( - self, - arg=None, - autocolorscale=None, - below=None, - coloraxis=None, - colorbar=None, - colorscale=None, - customdata=None, - customdatasrc=None, - featureidkey=None, - geojson=None, - hoverinfo=None, - hoverinfosrc=None, - hoverlabel=None, - hovertemplate=None, - hovertemplatefallback=None, - hovertemplatesrc=None, - hovertext=None, - hovertextsrc=None, - ids=None, - idssrc=None, - legend=None, - legendgroup=None, - legendgrouptitle=None, - legendrank=None, - legendwidth=None, - locations=None, - locationssrc=None, - marker=None, - meta=None, - metasrc=None, - name=None, - reversescale=None, - selected=None, - selectedpoints=None, - showlegend=None, - showscale=None, - stream=None, - subplot=None, - text=None, - textsrc=None, - uid=None, - uirevision=None, - unselected=None, - visible=None, - z=None, - zauto=None, - zmax=None, - zmid=None, - zmin=None, - zsrc=None, - **kwargs, - ): - """ - Construct a new Choroplethmapbox object - - "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/ - GeoJSON features to be filled are set in `geojson` The data - that describes the choropleth value-to-color mapping is set in - `locations` and `z`. - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.Choroplethmapbox` - autocolorscale - Determines whether the colorscale is a default palette - (`autocolorscale: true`) or the palette determined by - `colorscale`. In case `colorscale` is unspecified or - `autocolorscale` is true, the default palette will be - chosen according to whether numbers in the `color` - array are all positive, all negative or mixed. - below - Determines if the choropleth polygons will be inserted - before the layer with the specified ID. By default, - choroplethmapbox traces are placed above the water - layers. If set to '', the layer will be inserted above - every existing layer. - coloraxis - Sets a reference to a shared color axis. References to - these shared color axes are "coloraxis", "coloraxis2", - "coloraxis3", etc. Settings for these shared color axes - are set in the layout, under `layout.coloraxis`, - `layout.coloraxis2`, etc. Note that multiple color - scales can be linked to the same color axis. - colorbar - :class:`plotly.graph_objects.choroplethmapbox.ColorBar` - instance or dict with compatible properties - colorscale - Sets the colorscale. The colorscale must be an array - containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - customdata - Assigns extra data each datum. This may be useful when - listening to hover, click and selection events. Note - that, "scatter" traces also appends customdata items in - the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - featureidkey - Sets the key in GeoJSON features which is used as id to - match the items included in the `locations` array. - Support nested property, for example "properties.name". - geojson - Sets the GeoJSON data associated with this trace. It - can be set as a valid GeoJSON object or as a URL - string. Note that we only accept GeoJSONs of type - "FeatureCollection" or "Feature" with geometries of - type "Polygon" or "MultiPolygon". - hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - hoverlabel - :class:`plotly.graph_objects.choroplethmapbox.Hoverlabe - l` instance or dict with compatible properties - hovertemplate - Template string used for rendering the information that - appear on hover box. Note that this will override - `hoverinfo`. Variables are inserted using %{variable}, - for example "y: %{y}" as well as %{xother}, {%_xother}, - {%_xother_}, {%xother_}. When showing info for several - points, "xother" will be added to those with different - x positions from the first point. An underscore before - or after "(x|y)other" will add a space on that side, - only when this field is shown. Numbers are formatted - using d3-format's syntax %{variable:d3-format}, for - example "Price: %{y:$.2f}". - https://github.com/d3/d3-format/tree/v1.4.5#d3-format - for details on the formatting syntax. Dates are - formatted using d3-time-format's syntax - %{variable|d3-time-format}, for example "Day: - %{2019-01-01|%A}". https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format for details on the - date formatting syntax. Variables that can't be found - will be replaced with the specifier. For example, a - template of "data: %{x}, %{y}" will result in a value - of "data: 1, %{y}" if x is 1 and y is missing. - Variables with an undefined value will be replaced with - the fallback value. The variables available in - `hovertemplate` are the ones emitted as event data - described at this link - https://plotly.com/javascript/plotlyjs-events/#event- - data. Additionally, all attributes that can be - specified per-point (the ones that are `arrayOk: true`) - are available. Finally, the template string has access - to variable `properties` Anything contained in tag - `` is displayed in the secondary box, for - example `%{fullData.name}`. To hide the - secondary box completely, use an empty tag - ``. - hovertemplatefallback - Fallback string that's displayed when a variable - referenced in a template is missing. If the boolean - value 'false' is passed in, the specifier with the - missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - hovertext - Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. - ids - Assigns id labels to each datum. These ids for object - constancy of data points during animation. Should be an - array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. - legend - Sets the reference to a legend to show this trace in. - References to these legends are "legend", "legend2", - "legend3", etc. Settings for these legends are set in - the layout, under `layout.legend`, `layout.legend2`, - etc. - legendgroup - Sets the legend group for this trace. Traces and shapes - part of the same legend group hide/show at the same - time when toggling legend items. - legendgrouptitle - :class:`plotly.graph_objects.choroplethmapbox.Legendgro - uptitle` instance or dict with compatible properties - legendrank - Sets the legend rank for this trace. Items and groups - with smaller ranks are presented on top/left side while - with "reversed" `legend.traceorder` they are on - bottom/right side. The default legendrank is 1000, so - that you can use ranks less than 1000 to place certain - items before all unranked items, and ranks greater than - 1000 to go after all unranked items. When having - unranked or equal rank items shapes would be displayed - after traces i.e. according to their order in data and - layout. - legendwidth - Sets the width (in px or fraction) of the legend for - this trace. - locations - Sets which features found in "geojson" to plot using - their feature `id` field. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. - marker - :class:`plotly.graph_objects.choroplethmapbox.Marker` - instance or dict with compatible properties - meta - Assigns extra meta information associated with this - trace that can be used in various text attributes. - Attributes such as trace `name`, graph, axis and - colorbar `title.text`, annotation `text` - `rangeselector`, `updatemenues` and `sliders` `label` - text all support `meta`. To access the trace `meta` - values in an attribute in the same trace, simply use - `%{meta[i]}` where `i` is the index or key of the - `meta` item in question. To access trace `meta` in - layout attributes, use `%{data[n[.meta[i]}` where `i` - is the index or key of the `meta` and `n` is the trace - index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. - name - Sets the trace name. The trace name appears as the - legend item and on hover. - reversescale - Reverses the color mapping if true. If true, `zmin` - will correspond to the last color in the array and - `zmax` will correspond to the first color. - selected - :class:`plotly.graph_objects.choroplethmapbox.Selected` - instance or dict with compatible properties - selectedpoints - Array containing integer indices of selected points. - Has an effect only for traces that support selections. - Note that an empty array means an empty selection where - the `unselected` are turned on for all points, whereas, - any other non-array values means no selection all where - the `selected` and `unselected` styles have no effect. - showlegend - Determines whether or not an item corresponding to this - trace is shown in the legend. - showscale - Determines whether or not a colorbar is displayed for - this trace. - stream - :class:`plotly.graph_objects.choroplethmapbox.Stream` - instance or dict with compatible properties - subplot - mapbox subplots and traces are deprecated! Please - consider switching to `map` subplots and traces. Learn - more at: https://plotly.com/python/maplibre-migration/ - as well as https://plotly.com/javascript/maplibre- - migration/ Sets a reference between this trace's data - coordinates and a mapbox subplot. If "mapbox" (the - default value), the data refer to `layout.mapbox`. If - "mapbox2", the data refer to `layout.mapbox2`, and so - on. - text - Sets the text elements associated with each location. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. - uid - Assign an id to this trace, Use this to provide object - constancy between traces during animations and - transitions. - uirevision - Controls persistence of some user-driven changes to the - trace: `constraintrange` in `parcoords` traces, as well - as some `editable: true` modifications such as `name` - and `colorbar.title`. Defaults to `layout.uirevision`. - Note that other user-driven trace attribute changes are - controlled by `layout` attributes: `trace.visible` is - controlled by `layout.legend.uirevision`, - `selectedpoints` is controlled by - `layout.selectionrevision`, and `colorbar.(x|y)` - (accessible with `config: {editable: true}`) is - controlled by `layout.editrevision`. Trace changes are - tracked by `uid`, which only falls back on trace index - if no `uid` is provided. So if your app can add/remove - traces before the end of the `data` array, such that - the same trace has a different index, you can still - preserve user-driven changes if you give each trace a - `uid` that stays with it as it moves. - unselected - :class:`plotly.graph_objects.choroplethmapbox.Unselecte - d` instance or dict with compatible properties - visible - Determines whether or not this trace is visible. If - "legendonly", the trace is not drawn, but can appear as - a legend item (provided that the legend itself is - visible). - z - Sets the color values. - zauto - Determines whether or not the color domain is computed - with respect to the input data (here in `z`) or the - bounds set in `zmin` and `zmax` Defaults to `false` - when `zmin` and `zmax` are set by the user. - zmax - Sets the upper bound of the color domain. Value should - have the same units as in `z` and if set, `zmin` must - be set as well. - zmid - Sets the mid-point of the color domain by scaling - `zmin` and/or `zmax` to be equidistant to this point. - Value should have the same units as in `z`. Has no - effect when `zauto` is `false`. - zmin - Sets the lower bound of the color domain. Value should - have the same units as in `z` and if set, `zmax` must - be set as well. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. - - Returns - ------- - Choroplethmapbox - """ - super().__init__("choroplethmapbox") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.Choroplethmapbox -constructor must be a dict or -an instance of :class:`plotly.graph_objs.Choroplethmapbox`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("autocolorscale", arg, autocolorscale) - self._set_property("below", arg, below) - self._set_property("coloraxis", arg, coloraxis) - self._set_property("colorbar", arg, colorbar) - self._set_property("colorscale", arg, colorscale) - self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) - self._set_property("featureidkey", arg, featureidkey) - self._set_property("geojson", arg, geojson) - self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) - self._set_property("hoverlabel", arg, hoverlabel) - self._set_property("hovertemplate", arg, hovertemplate) - self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) - self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) - self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) - self._set_property("legend", arg, legend) - self._set_property("legendgroup", arg, legendgroup) - self._set_property("legendgrouptitle", arg, legendgrouptitle) - self._set_property("legendrank", arg, legendrank) - self._set_property("legendwidth", arg, legendwidth) - self._set_property("locations", arg, locations) - self._set_property("locationssrc", arg, locationssrc) - self._set_property("marker", arg, marker) - self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) - self._set_property("name", arg, name) - self._set_property("reversescale", arg, reversescale) - self._set_property("selected", arg, selected) - self._set_property("selectedpoints", arg, selectedpoints) - self._set_property("showlegend", arg, showlegend) - self._set_property("showscale", arg, showscale) - self._set_property("stream", arg, stream) - self._set_property("subplot", arg, subplot) - self._set_property("text", arg, text) - self._set_property("textsrc", arg, textsrc) - self._set_property("uid", arg, uid) - self._set_property("uirevision", arg, uirevision) - self._set_property("unselected", arg, unselected) - self._set_property("visible", arg, visible) - self._set_property("z", arg, z) - self._set_property("zauto", arg, zauto) - self._set_property("zmax", arg, zmax) - self._set_property("zmid", arg, zmid) - self._set_property("zmin", arg, zmin) - self._set_property("zsrc", arg, zsrc) - - self._props["type"] = "choroplethmapbox" - arg.pop("type", None) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False - - warnings.warn( - "*choroplethmapbox* is deprecated!" - + " Use *choroplethmap* instead." - + " Learn more at: https://plotly.com/python/mapbox-to-maplibre/", - stacklevel=2, - category=DeprecationWarning, - ) diff --git a/plotly/graph_objs/_cone.py b/plotly/graph_objs/_cone.py index 29de7ce02f9..61893be9c41 100644 --- a/plotly/graph_objs/_cone.py +++ b/plotly/graph_objs/_cone.py @@ -19,17 +19,12 @@ class Cone(_BaseTraceType): "colorbar", "colorscale", "customdata", - "customdatasrc", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "legend", "legendgroup", "legendgrouptitle", @@ -38,7 +33,6 @@ class Cone(_BaseTraceType): "lighting", "lightposition", "meta", - "metasrc", "name", "opacity", "reversescale", @@ -47,31 +41,23 @@ class Cone(_BaseTraceType): "showscale", "sizemode", "sizeref", - "stream", "text", - "textsrc", "type", "u", "uhoverformat", "uid", "uirevision", - "usrc", "v", "vhoverformat", "visible", - "vsrc", "w", "whoverformat", - "wsrc", "x", "xhoverformat", - "xsrc", "y", "yhoverformat", - "ysrc", "z", "zhoverformat", - "zsrc", } @property @@ -249,7 +235,7 @@ def colorscale(self): """ Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, - hsv, or named color string. At minimum, a mapping for the + hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. @@ -316,29 +302,10 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -359,25 +326,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -464,25 +412,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -503,25 +432,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -542,24 +452,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def legend(self): """ @@ -731,24 +623,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -924,25 +798,6 @@ def sizeref(self): def sizeref(self, val): self["sizeref"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.cone.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.cone.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def text(self): """ @@ -965,24 +820,6 @@ def text(self): def text(self, val): self["text"] = val - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def u(self): """ @@ -1004,7 +841,7 @@ def u(self, val): @property def uhoverformat(self): """ - Sets the hover text formatting rulefor `u` using d3 formatting + Sets the hover text formatting rule for `u` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By @@ -1075,24 +912,6 @@ def uirevision(self): def uirevision(self, val): self["uirevision"] = val - @property - def usrc(self): - """ - Sets the source reference on Chart Studio Cloud for `u`. - - The 'usrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["usrc"] - - @usrc.setter - def usrc(self, val): - self["usrc"] = val - @property def v(self): """ @@ -1114,7 +933,7 @@ def v(self, val): @property def vhoverformat(self): """ - Sets the hover text formatting rulefor `v` using d3 formatting + Sets the hover text formatting rule for `v` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By @@ -1155,24 +974,6 @@ def visible(self): def visible(self, val): self["visible"] = val - @property - def vsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `v`. - - The 'vsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["vsrc"] - - @vsrc.setter - def vsrc(self, val): - self["vsrc"] = val - @property def w(self): """ @@ -1194,7 +995,7 @@ def w(self, val): @property def whoverformat(self): """ - Sets the hover text formatting rulefor `w` using d3 formatting + Sets the hover text formatting rule for `w` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By @@ -1214,24 +1015,6 @@ def whoverformat(self): def whoverformat(self, val): self["whoverformat"] = val - @property - def wsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `w`. - - The 'wsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["wsrc"] - - @wsrc.setter - def wsrc(self, val): - self["wsrc"] = val - @property def x(self): """ @@ -1254,7 +1037,7 @@ def x(self, val): @property def xhoverformat(self): """ - Sets the hover text formatting rulefor `x` using d3 formatting + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1280,24 +1063,6 @@ def xhoverformat(self): def xhoverformat(self, val): self["xhoverformat"] = val - @property - def xsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `x`. - - The 'xsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xsrc"] - - @xsrc.setter - def xsrc(self, val): - self["xsrc"] = val - @property def y(self): """ @@ -1320,7 +1085,7 @@ def y(self, val): @property def yhoverformat(self): """ - Sets the hover text formatting rulefor `y` using d3 formatting + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1346,24 +1111,6 @@ def yhoverformat(self): def yhoverformat(self, val): self["yhoverformat"] = val - @property - def ysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `y`. - - The 'ysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ysrc"] - - @ysrc.setter - def ysrc(self, val): - self["ysrc"] = val - @property def z(self): """ @@ -1386,7 +1133,7 @@ def z(self, val): @property def zhoverformat(self): """ - Sets the hover text formatting rulefor `z` using d3 formatting + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1412,24 +1159,6 @@ def zhoverformat(self): def zhoverformat(self, val): self["zhoverformat"] = val - @property - def zsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `z`. - - The 'zsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["zsrc"] - - @zsrc.setter - def zsrc(self, val): - self["zsrc"] = val - @property def type(self): return self._props["type"] @@ -1479,31 +1208,25 @@ def _prop_descriptions(self): colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.cone.Hoverlabel` instance or dict with compatible properties @@ -1547,21 +1270,12 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1608,9 +1322,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1657,21 +1368,15 @@ def _prop_descriptions(self): 0.5. With `sizemode` set to "absolute", `sizeref` has the same units as the u/v/w vector field, its the default value is half the sample's maximum vector norm. - stream - :class:`plotly.graph_objects.cone.Stream` instance or - dict with compatible properties text Sets the text elements associated with the cones. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. u Sets the x components of the vector field. uhoverformat - Sets the hover text formatting rulefor `u` using d3 + Sets the hover text formatting rule for `u` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values @@ -1698,13 +1403,10 @@ def _prop_descriptions(self): the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves. - usrc - Sets the source reference on Chart Studio Cloud for - `u`. v Sets the y components of the vector field. vhoverformat - Sets the hover text formatting rulefor `v` using d3 + Sets the hover text formatting rule for `v` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values @@ -1714,25 +1416,19 @@ def _prop_descriptions(self): "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). - vsrc - Sets the source reference on Chart Studio Cloud for - `v`. w Sets the z components of the vector field. whoverformat - Sets the hover text formatting rulefor `w` using d3 + Sets the hover text formatting rule for `w` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format. - wsrc - Sets the source reference on Chart Studio Cloud for - `w`. x Sets the x coordinates of the vector field and of the displayed cones. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1744,14 +1440,11 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates of the vector field and of the displayed cones. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1763,14 +1456,11 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the z coordinates of the vector field and of the displayed cones. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1782,9 +1472,6 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. """ def __init__( @@ -1800,17 +1487,12 @@ def __init__( colorbar=None, colorscale=None, customdata=None, - customdatasrc=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -1819,7 +1501,6 @@ def __init__( lighting=None, lightposition=None, meta=None, - metasrc=None, name=None, opacity=None, reversescale=None, @@ -1828,30 +1509,22 @@ def __init__( showscale=None, sizemode=None, sizeref=None, - stream=None, text=None, - textsrc=None, u=None, uhoverformat=None, uid=None, uirevision=None, - usrc=None, v=None, vhoverformat=None, visible=None, - vsrc=None, w=None, whoverformat=None, - wsrc=None, x=None, xhoverformat=None, - xsrc=None, y=None, yhoverformat=None, - ysrc=None, z=None, zhoverformat=None, - zsrc=None, **kwargs, ): """ @@ -1909,31 +1582,25 @@ def __init__( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.cone.Hoverlabel` instance or dict with compatible properties @@ -1977,21 +1644,12 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -2038,9 +1696,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -2087,21 +1742,15 @@ def __init__( 0.5. With `sizemode` set to "absolute", `sizeref` has the same units as the u/v/w vector field, its the default value is half the sample's maximum vector norm. - stream - :class:`plotly.graph_objects.cone.Stream` instance or - dict with compatible properties text Sets the text elements associated with the cones. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. u Sets the x components of the vector field. uhoverformat - Sets the hover text formatting rulefor `u` using d3 + Sets the hover text formatting rule for `u` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values @@ -2128,13 +1777,10 @@ def __init__( the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves. - usrc - Sets the source reference on Chart Studio Cloud for - `u`. v Sets the y components of the vector field. vhoverformat - Sets the hover text formatting rulefor `v` using d3 + Sets the hover text formatting rule for `v` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values @@ -2144,25 +1790,19 @@ def __init__( "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). - vsrc - Sets the source reference on Chart Studio Cloud for - `v`. w Sets the z components of the vector field. whoverformat - Sets the hover text formatting rulefor `w` using d3 + Sets the hover text formatting rule for `w` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format. - wsrc - Sets the source reference on Chart Studio Cloud for - `w`. x Sets the x coordinates of the vector field and of the displayed cones. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2174,14 +1814,11 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates of the vector field and of the displayed cones. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2193,14 +1830,11 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the z coordinates of the vector field and of the displayed cones. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2212,9 +1846,6 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. Returns ------- @@ -2250,17 +1881,12 @@ def __init__( self._set_property("colorbar", arg, colorbar) self._set_property("colorscale", arg, colorscale) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) @@ -2269,7 +1895,6 @@ def __init__( self._set_property("lighting", arg, lighting) self._set_property("lightposition", arg, lightposition) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("reversescale", arg, reversescale) @@ -2278,30 +1903,22 @@ def __init__( self._set_property("showscale", arg, showscale) self._set_property("sizemode", arg, sizemode) self._set_property("sizeref", arg, sizeref) - self._set_property("stream", arg, stream) self._set_property("text", arg, text) - self._set_property("textsrc", arg, textsrc) self._set_property("u", arg, u) self._set_property("uhoverformat", arg, uhoverformat) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) - self._set_property("usrc", arg, usrc) self._set_property("v", arg, v) self._set_property("vhoverformat", arg, vhoverformat) self._set_property("visible", arg, visible) - self._set_property("vsrc", arg, vsrc) self._set_property("w", arg, w) self._set_property("whoverformat", arg, whoverformat) - self._set_property("wsrc", arg, wsrc) self._set_property("x", arg, x) self._set_property("xhoverformat", arg, xhoverformat) - self._set_property("xsrc", arg, xsrc) self._set_property("y", arg, y) self._set_property("yhoverformat", arg, yhoverformat) - self._set_property("ysrc", arg, ysrc) self._set_property("z", arg, z) self._set_property("zhoverformat", arg, zhoverformat) - self._set_property("zsrc", arg, zsrc) self._props["type"] = "cone" arg.pop("type", None) diff --git a/plotly/graph_objs/_contour.py b/plotly/graph_objs/_contour.py index 11579162293..98e428f1201 100644 --- a/plotly/graph_objs/_contour.py +++ b/plotly/graph_objs/_contour.py @@ -17,21 +17,16 @@ class Contour(_BaseTraceType): "connectgaps", "contours", "customdata", - "customdatasrc", "dx", "dy", "fillcolor", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hoverongaps", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "legend", "legendgroup", "legendgrouptitle", @@ -39,17 +34,14 @@ class Contour(_BaseTraceType): "legendwidth", "line", "meta", - "metasrc", "name", "ncontours", "opacity", "reversescale", "showlegend", "showscale", - "stream", "text", "textfont", - "textsrc", "texttemplate", "texttemplatefallback", "transpose", @@ -65,7 +57,6 @@ class Contour(_BaseTraceType): "xperiod", "xperiod0", "xperiodalignment", - "xsrc", "xtype", "y", "y0", @@ -75,7 +66,6 @@ class Contour(_BaseTraceType): "yperiod", "yperiod0", "yperiodalignment", - "ysrc", "ytype", "z", "zauto", @@ -84,7 +74,6 @@ class Contour(_BaseTraceType): "zmid", "zmin", "zorder", - "zsrc", } @property @@ -180,7 +169,7 @@ def colorscale(self): """ Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, - hsv, or named color string. At minimum, a mapping for the + hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. @@ -286,25 +275,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def dx(self): """ @@ -370,7 +340,7 @@ def fillcolor(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -391,25 +361,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -514,25 +465,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -551,25 +483,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -590,24 +503,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def legend(self): """ @@ -760,24 +655,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -896,25 +773,6 @@ def showscale(self): def showscale(self, val): self["showscale"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.contour.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.contour.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def text(self): """ @@ -955,24 +813,6 @@ def textfont(self): def textfont(self, val): self["textfont"] = val - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def texttemplate(self): """ @@ -1204,7 +1044,7 @@ def xcalendar(self, val): @property def xhoverformat(self): """ - Sets the hover text formatting rulefor `x` using d3 formatting + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1291,24 +1131,6 @@ def xperiodalignment(self): def xperiodalignment(self, val): self["xperiodalignment"] = val - @property - def xsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `x`. - - The 'xsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xsrc"] - - @xsrc.setter - def xsrc(self, val): - self["xsrc"] = val - @property def xtype(self): """ @@ -1416,7 +1238,7 @@ def ycalendar(self, val): @property def yhoverformat(self): """ - Sets the hover text formatting rulefor `y` using d3 formatting + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1503,24 +1325,6 @@ def yperiodalignment(self): def yperiodalignment(self, val): self["yperiodalignment"] = val - @property - def ysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `y`. - - The 'ysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ysrc"] - - @ysrc.setter - def ysrc(self, val): - self["ysrc"] = val - @property def ytype(self): """ @@ -1585,7 +1389,7 @@ def zauto(self, val): @property def zhoverformat(self): """ - Sets the hover text formatting rulefor `z` using d3 formatting + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By @@ -1683,24 +1487,6 @@ def zorder(self): def zorder(self, val): self["zorder"] = val - @property - def zsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `z`. - - The 'zsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["zsrc"] - - @zsrc.setter - def zsrc(self, val): - self["zsrc"] = val - @property def type(self): return self._props["type"] @@ -1733,15 +1519,15 @@ def _prop_descriptions(self): colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. connectgaps Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in. It is defaulted @@ -1755,9 +1541,6 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dx Sets the x coordinate step. See `x0` for more info. dy @@ -1768,13 +1551,10 @@ def _prop_descriptions(self): color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.contour.Hoverlabel` instance or dict with compatible properties @@ -1821,21 +1601,12 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1879,9 +1650,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1903,17 +1671,11 @@ def _prop_descriptions(self): showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.contour.Stream` instance - or dict with compatible properties text Sets the text elements associated with each z value. textfont For this trace it only has an effect if `coloring` is set to "heatmap". Sets the text font. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate For this trace it only has an effect if `coloring` is set to "heatmap". Template string used for rendering @@ -1985,7 +1747,7 @@ def _prop_descriptions(self): xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2013,9 +1775,6 @@ def _prop_descriptions(self): xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. xtype If "array", the heatmap's x coordinates are given by "x" (the default behavior when `x` is provided). If @@ -2036,7 +1795,7 @@ def _prop_descriptions(self): ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2064,9 +1823,6 @@ def _prop_descriptions(self): yperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. ytype If "array", the heatmap's y coordinates are given by "y" (the default behavior when `y` is provided) If @@ -2081,7 +1837,7 @@ def _prop_descriptions(self): bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values @@ -2104,9 +1860,6 @@ def _prop_descriptions(self): relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. """ def __init__( @@ -2120,21 +1873,16 @@ def __init__( connectgaps=None, contours=None, customdata=None, - customdatasrc=None, dx=None, dy=None, fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hoverongaps=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -2142,17 +1890,14 @@ def __init__( legendwidth=None, line=None, meta=None, - metasrc=None, name=None, ncontours=None, opacity=None, reversescale=None, showlegend=None, showscale=None, - stream=None, text=None, textfont=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, transpose=None, @@ -2167,7 +1912,6 @@ def __init__( xperiod=None, xperiod0=None, xperiodalignment=None, - xsrc=None, xtype=None, y=None, y0=None, @@ -2177,7 +1921,6 @@ def __init__( yperiod=None, yperiod0=None, yperiodalignment=None, - ysrc=None, ytype=None, z=None, zauto=None, @@ -2186,7 +1929,6 @@ def __init__( zmid=None, zmin=None, zorder=None, - zsrc=None, **kwargs, ): """ @@ -2230,15 +1972,15 @@ def __init__( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. connectgaps Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in. It is defaulted @@ -2252,9 +1994,6 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dx Sets the x coordinate step. See `x0` for more info. dy @@ -2265,13 +2004,10 @@ def __init__( color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.contour.Hoverlabel` instance or dict with compatible properties @@ -2318,21 +2054,12 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -2376,9 +2103,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -2400,17 +2124,11 @@ def __init__( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.contour.Stream` instance - or dict with compatible properties text Sets the text elements associated with each z value. textfont For this trace it only has an effect if `coloring` is set to "heatmap". Sets the text font. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate For this trace it only has an effect if `coloring` is set to "heatmap". Template string used for rendering @@ -2482,7 +2200,7 @@ def __init__( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2510,9 +2228,6 @@ def __init__( xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. xtype If "array", the heatmap's x coordinates are given by "x" (the default behavior when `x` is provided). If @@ -2533,7 +2248,7 @@ def __init__( ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2561,9 +2276,6 @@ def __init__( yperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. ytype If "array", the heatmap's y coordinates are given by "y" (the default behavior when `y` is provided) If @@ -2578,7 +2290,7 @@ def __init__( bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values @@ -2601,9 +2313,6 @@ def __init__( relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. Returns ------- @@ -2637,21 +2346,16 @@ def __init__( self._set_property("connectgaps", arg, connectgaps) self._set_property("contours", arg, contours) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("dx", arg, dx) self._set_property("dy", arg, dy) self._set_property("fillcolor", arg, fillcolor) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hoverongaps", arg, hoverongaps) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) @@ -2659,17 +2363,14 @@ def __init__( self._set_property("legendwidth", arg, legendwidth) self._set_property("line", arg, line) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("ncontours", arg, ncontours) self._set_property("opacity", arg, opacity) self._set_property("reversescale", arg, reversescale) self._set_property("showlegend", arg, showlegend) self._set_property("showscale", arg, showscale) - self._set_property("stream", arg, stream) self._set_property("text", arg, text) self._set_property("textfont", arg, textfont) - self._set_property("textsrc", arg, textsrc) self._set_property("texttemplate", arg, texttemplate) self._set_property("texttemplatefallback", arg, texttemplatefallback) self._set_property("transpose", arg, transpose) @@ -2684,7 +2385,6 @@ def __init__( self._set_property("xperiod", arg, xperiod) self._set_property("xperiod0", arg, xperiod0) self._set_property("xperiodalignment", arg, xperiodalignment) - self._set_property("xsrc", arg, xsrc) self._set_property("xtype", arg, xtype) self._set_property("y", arg, y) self._set_property("y0", arg, y0) @@ -2694,7 +2394,6 @@ def __init__( self._set_property("yperiod", arg, yperiod) self._set_property("yperiod0", arg, yperiod0) self._set_property("yperiodalignment", arg, yperiodalignment) - self._set_property("ysrc", arg, ysrc) self._set_property("ytype", arg, ytype) self._set_property("z", arg, z) self._set_property("zauto", arg, zauto) @@ -2703,7 +2402,6 @@ def __init__( self._set_property("zmid", arg, zmid) self._set_property("zmin", arg, zmin) self._set_property("zorder", arg, zorder) - self._set_property("zsrc", arg, zsrc) self._props["type"] = "contour" arg.pop("type", None) diff --git a/plotly/graph_objs/_contourcarpet.py b/plotly/graph_objs/_contourcarpet.py index 3d2eebada21..91f6866dd91 100644 --- a/plotly/graph_objs/_contourcarpet.py +++ b/plotly/graph_objs/_contourcarpet.py @@ -11,13 +11,11 @@ class Contourcarpet(_BaseTraceType): _valid_props = { "a", "a0", - "asrc", "atype", "autocolorscale", "autocontour", "b", "b0", - "bsrc", "btype", "carpet", "coloraxis", @@ -25,14 +23,11 @@ class Contourcarpet(_BaseTraceType): "colorscale", "contours", "customdata", - "customdatasrc", "da", "db", "fillcolor", "hovertext", - "hovertextsrc", "ids", - "idssrc", "legend", "legendgroup", "legendgrouptitle", @@ -40,16 +35,13 @@ class Contourcarpet(_BaseTraceType): "legendwidth", "line", "meta", - "metasrc", "name", "ncontours", "opacity", "reversescale", "showlegend", "showscale", - "stream", "text", - "textsrc", "transpose", "type", "uid", @@ -63,7 +55,6 @@ class Contourcarpet(_BaseTraceType): "zmid", "zmin", "zorder", - "zsrc", } @property @@ -103,24 +94,6 @@ def a0(self): def a0(self, val): self["a0"] = val - @property - def asrc(self): - """ - Sets the source reference on Chart Studio Cloud for `a`. - - The 'asrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["asrc"] - - @asrc.setter - def asrc(self, val): - self["asrc"] = val - @property def atype(self): """ @@ -224,24 +197,6 @@ def b0(self): def b0(self, val): self["b0"] = val - @property - def bsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `b`. - - The 'bsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bsrc"] - - @bsrc.setter - def bsrc(self, val): - self["bsrc"] = val - @property def btype(self): """ @@ -333,7 +288,7 @@ def colorscale(self): """ Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, - hsv, or named color string. At minimum, a mapping for the + hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. @@ -419,25 +374,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def da(self): """ @@ -518,25 +454,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -557,24 +474,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def legend(self): """ @@ -727,24 +626,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -863,25 +744,6 @@ def showscale(self): def showscale(self, val): self["showscale"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.contourcarpet.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.contourcarpet.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def text(self): """ @@ -900,24 +762,6 @@ def text(self): def text(self, val): self["text"] = val - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def transpose(self): """ @@ -1171,24 +1015,6 @@ def zorder(self): def zorder(self, val): self["zorder"] = val - @property - def zsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `z`. - - The 'zsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["zsrc"] - - @zsrc.setter - def zsrc(self, val): - self["zsrc"] = val - @property def type(self): return self._props["type"] @@ -1202,9 +1028,6 @@ def _prop_descriptions(self): Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step. - asrc - Sets the source reference on Chart Studio Cloud for - `a`. atype If "array", the heatmap's x coordinates are given by "x" (the default behavior when `x` is provided). If @@ -1229,9 +1052,6 @@ def _prop_descriptions(self): Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step. - bsrc - Sets the source reference on Chart Studio Cloud for - `b`. btype If "array", the heatmap's y coordinates are given by "y" (the default behavior when `y` is provided) If @@ -1254,15 +1074,15 @@ def _prop_descriptions(self): colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. contours :class:`plotly.graph_objects.contourcarpet.Contours` instance or dict with compatible properties @@ -1271,9 +1091,6 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. da Sets the x coordinate step. See `x0` for more info. db @@ -1285,16 +1102,10 @@ def _prop_descriptions(self): available. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1338,9 +1149,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1362,14 +1170,8 @@ def _prop_descriptions(self): showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.contourcarpet.Stream` - instance or dict with compatible properties text Sets the text elements associated with each z value. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. transpose Transposes the z data. uid @@ -1434,9 +1236,6 @@ def _prop_descriptions(self): relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. """ def __init__( @@ -1444,13 +1243,11 @@ def __init__( arg=None, a=None, a0=None, - asrc=None, atype=None, autocolorscale=None, autocontour=None, b=None, b0=None, - bsrc=None, btype=None, carpet=None, coloraxis=None, @@ -1458,14 +1255,11 @@ def __init__( colorscale=None, contours=None, customdata=None, - customdatasrc=None, da=None, db=None, fillcolor=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -1473,16 +1267,13 @@ def __init__( legendwidth=None, line=None, meta=None, - metasrc=None, name=None, ncontours=None, opacity=None, reversescale=None, showlegend=None, showscale=None, - stream=None, text=None, - textsrc=None, transpose=None, uid=None, uirevision=None, @@ -1495,7 +1286,6 @@ def __init__( zmid=None, zmin=None, zorder=None, - zsrc=None, **kwargs, ): """ @@ -1516,9 +1306,6 @@ def __init__( Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step. - asrc - Sets the source reference on Chart Studio Cloud for - `a`. atype If "array", the heatmap's x coordinates are given by "x" (the default behavior when `x` is provided). If @@ -1543,9 +1330,6 @@ def __init__( Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step. - bsrc - Sets the source reference on Chart Studio Cloud for - `b`. btype If "array", the heatmap's y coordinates are given by "y" (the default behavior when `y` is provided) If @@ -1568,15 +1352,15 @@ def __init__( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. contours :class:`plotly.graph_objects.contourcarpet.Contours` instance or dict with compatible properties @@ -1585,9 +1369,6 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. da Sets the x coordinate step. See `x0` for more info. db @@ -1599,16 +1380,10 @@ def __init__( available. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1652,9 +1427,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1676,14 +1448,8 @@ def __init__( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.contourcarpet.Stream` - instance or dict with compatible properties text Sets the text elements associated with each z value. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. transpose Transposes the z data. uid @@ -1748,9 +1514,6 @@ def __init__( relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. Returns ------- @@ -1778,13 +1541,11 @@ def __init__( self._set_property("a", arg, a) self._set_property("a0", arg, a0) - self._set_property("asrc", arg, asrc) self._set_property("atype", arg, atype) self._set_property("autocolorscale", arg, autocolorscale) self._set_property("autocontour", arg, autocontour) self._set_property("b", arg, b) self._set_property("b0", arg, b0) - self._set_property("bsrc", arg, bsrc) self._set_property("btype", arg, btype) self._set_property("carpet", arg, carpet) self._set_property("coloraxis", arg, coloraxis) @@ -1792,14 +1553,11 @@ def __init__( self._set_property("colorscale", arg, colorscale) self._set_property("contours", arg, contours) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("da", arg, da) self._set_property("db", arg, db) self._set_property("fillcolor", arg, fillcolor) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) @@ -1807,16 +1565,13 @@ def __init__( self._set_property("legendwidth", arg, legendwidth) self._set_property("line", arg, line) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("ncontours", arg, ncontours) self._set_property("opacity", arg, opacity) self._set_property("reversescale", arg, reversescale) self._set_property("showlegend", arg, showlegend) self._set_property("showscale", arg, showscale) - self._set_property("stream", arg, stream) self._set_property("text", arg, text) - self._set_property("textsrc", arg, textsrc) self._set_property("transpose", arg, transpose) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) @@ -1829,7 +1584,6 @@ def __init__( self._set_property("zmid", arg, zmid) self._set_property("zmin", arg, zmin) self._set_property("zorder", arg, zorder) - self._set_property("zsrc", arg, zsrc) self._props["type"] = "contourcarpet" arg.pop("type", None) diff --git a/plotly/graph_objs/_densitymap.py b/plotly/graph_objs/_densitymap.py index c659825168c..8d7b401bb0c 100644 --- a/plotly/graph_objs/_densitymap.py +++ b/plotly/graph_objs/_densitymap.py @@ -15,39 +15,28 @@ class Densitymap(_BaseTraceType): "colorbar", "colorscale", "customdata", - "customdatasrc", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "lat", - "latsrc", "legend", "legendgroup", "legendgrouptitle", "legendrank", "legendwidth", "lon", - "lonsrc", "meta", - "metasrc", "name", "opacity", "radius", - "radiussrc", "reversescale", "showlegend", "showscale", - "stream", "subplot", "text", - "textsrc", "type", "uid", "uirevision", @@ -57,7 +46,6 @@ class Densitymap(_BaseTraceType): "zmax", "zmid", "zmin", - "zsrc", } @property @@ -154,7 +142,7 @@ def colorscale(self): """ Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, - hsv, or named color string. At minimum, a mapping for the + hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. @@ -221,29 +209,10 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -264,25 +233,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -368,25 +318,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -411,25 +342,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -450,24 +362,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def lat(self): """ @@ -486,24 +380,6 @@ def lat(self): def lat(self, val): self["lat"] = val - @property - def latsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `lat`. - - The 'latsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["latsrc"] - - @latsrc.setter - def latsrc(self, val): - self["latsrc"] = val - @property def legend(self): """ @@ -629,24 +505,6 @@ def lon(self): def lon(self, val): self["lon"] = val - @property - def lonsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `lon`. - - The 'lonsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["lonsrc"] - - @lonsrc.setter - def lonsrc(self, val): - self["lonsrc"] = val - @property def meta(self): """ @@ -673,24 +531,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -750,24 +590,6 @@ def radius(self): def radius(self, val): self["radius"] = val - @property - def radiussrc(self): - """ - Sets the source reference on Chart Studio Cloud for `radius`. - - The 'radiussrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["radiussrc"] - - @radiussrc.setter - def radiussrc(self, val): - self["radiussrc"] = val - @property def reversescale(self): """ @@ -826,25 +648,6 @@ def showscale(self): def showscale(self, val): self["showscale"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.densitymap.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.densitymap.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def subplot(self): """ @@ -893,24 +696,6 @@ def text(self): def text(self, val): self["text"] = val - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def uid(self): """ @@ -1081,24 +866,6 @@ def zmin(self): def zmin(self, val): self["zmin"] = val - @property - def zsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `z`. - - The 'zsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["zsrc"] - - @zsrc.setter - def zsrc(self, val): - self["zsrc"] = val - @property def type(self): return self._props["type"] @@ -1132,31 +899,25 @@ def _prop_descriptions(self): colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.densitymap.Hoverlabel` instance or dict with compatible properties @@ -1199,9 +960,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (lon,lat) pair If a single string, the same string appears over @@ -1209,21 +967,12 @@ def _prop_descriptions(self): are mapped in order to the this trace's (lon,lat) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. lat Sets the latitude coordinates (in degrees North). - latsrc - Sets the source reference on Chart Studio Cloud for - `lat`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1253,9 +1002,6 @@ def _prop_descriptions(self): this trace. lon Sets the longitude coordinates (in degrees East). - lonsrc - Sets the source reference on Chart Studio Cloud for - `lon`. meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -1269,9 +1015,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1281,9 +1024,6 @@ def _prop_descriptions(self): Sets the radius of influence of one `lon` / `lat` point in pixels. Increasing the value makes the densitymap trace smoother, but less detailed. - radiussrc - Sets the source reference on Chart Studio Cloud for - `radius`. reversescale Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and @@ -1294,9 +1034,6 @@ def _prop_descriptions(self): showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.densitymap.Stream` - instance or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a map subplot. If "map" (the default value), the @@ -1310,9 +1047,6 @@ def _prop_descriptions(self): coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1362,9 +1096,6 @@ def _prop_descriptions(self): Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. """ def __init__( @@ -1376,39 +1107,28 @@ def __init__( colorbar=None, colorscale=None, customdata=None, - customdatasrc=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, lat=None, - latsrc=None, legend=None, legendgroup=None, legendgrouptitle=None, legendrank=None, legendwidth=None, lon=None, - lonsrc=None, meta=None, - metasrc=None, name=None, opacity=None, radius=None, - radiussrc=None, reversescale=None, showlegend=None, showscale=None, - stream=None, subplot=None, text=None, - textsrc=None, uid=None, uirevision=None, visible=None, @@ -1417,7 +1137,6 @@ def __init__( zmax=None, zmid=None, zmin=None, - zsrc=None, **kwargs, ): """ @@ -1458,31 +1177,25 @@ def __init__( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.densitymap.Hoverlabel` instance or dict with compatible properties @@ -1525,9 +1238,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (lon,lat) pair If a single string, the same string appears over @@ -1535,21 +1245,12 @@ def __init__( are mapped in order to the this trace's (lon,lat) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. lat Sets the latitude coordinates (in degrees North). - latsrc - Sets the source reference on Chart Studio Cloud for - `lat`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1579,9 +1280,6 @@ def __init__( this trace. lon Sets the longitude coordinates (in degrees East). - lonsrc - Sets the source reference on Chart Studio Cloud for - `lon`. meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -1595,9 +1293,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1607,9 +1302,6 @@ def __init__( Sets the radius of influence of one `lon` / `lat` point in pixels. Increasing the value makes the densitymap trace smoother, but less detailed. - radiussrc - Sets the source reference on Chart Studio Cloud for - `radius`. reversescale Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and @@ -1620,9 +1312,6 @@ def __init__( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.densitymap.Stream` - instance or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a map subplot. If "map" (the default value), the @@ -1636,9 +1325,6 @@ def __init__( coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1688,9 +1374,6 @@ def __init__( Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. Returns ------- @@ -1722,39 +1405,28 @@ def __init__( self._set_property("colorbar", arg, colorbar) self._set_property("colorscale", arg, colorscale) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("lat", arg, lat) - self._set_property("latsrc", arg, latsrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) self._set_property("legendrank", arg, legendrank) self._set_property("legendwidth", arg, legendwidth) self._set_property("lon", arg, lon) - self._set_property("lonsrc", arg, lonsrc) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("radius", arg, radius) - self._set_property("radiussrc", arg, radiussrc) self._set_property("reversescale", arg, reversescale) self._set_property("showlegend", arg, showlegend) self._set_property("showscale", arg, showscale) - self._set_property("stream", arg, stream) self._set_property("subplot", arg, subplot) self._set_property("text", arg, text) - self._set_property("textsrc", arg, textsrc) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("visible", arg, visible) @@ -1763,7 +1435,6 @@ def __init__( self._set_property("zmax", arg, zmax) self._set_property("zmid", arg, zmid) self._set_property("zmin", arg, zmin) - self._set_property("zsrc", arg, zsrc) self._props["type"] = "densitymap" arg.pop("type", None) diff --git a/plotly/graph_objs/_densitymapbox.py b/plotly/graph_objs/_densitymapbox.py deleted file mode 100644 index b3fb169b53a..00000000000 --- a/plotly/graph_objs/_densitymapbox.py +++ /dev/null @@ -1,1798 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceType as _BaseTraceType -import copy as _copy -import warnings - - -class Densitymapbox(_BaseTraceType): - _parent_path_str = "" - _path_str = "densitymapbox" - _valid_props = { - "autocolorscale", - "below", - "coloraxis", - "colorbar", - "colorscale", - "customdata", - "customdatasrc", - "hoverinfo", - "hoverinfosrc", - "hoverlabel", - "hovertemplate", - "hovertemplatefallback", - "hovertemplatesrc", - "hovertext", - "hovertextsrc", - "ids", - "idssrc", - "lat", - "latsrc", - "legend", - "legendgroup", - "legendgrouptitle", - "legendrank", - "legendwidth", - "lon", - "lonsrc", - "meta", - "metasrc", - "name", - "opacity", - "radius", - "radiussrc", - "reversescale", - "showlegend", - "showscale", - "stream", - "subplot", - "text", - "textsrc", - "type", - "uid", - "uirevision", - "visible", - "z", - "zauto", - "zmax", - "zmid", - "zmin", - "zsrc", - } - - @property - def autocolorscale(self): - """ - Determines whether the colorscale is a default palette - (`autocolorscale: true`) or the palette determined by - `colorscale`. In case `colorscale` is unspecified or - `autocolorscale` is true, the default palette will be chosen - according to whether numbers in the `color` array are all - positive, all negative or mixed. - - The 'autocolorscale' property is a boolean and must be specified as: - - A boolean value: True or False - - Returns - ------- - bool - """ - return self["autocolorscale"] - - @autocolorscale.setter - def autocolorscale(self, val): - self["autocolorscale"] = val - - @property - def below(self): - """ - Determines if the densitymapbox trace will be inserted before - the layer with the specified ID. By default, densitymapbox - traces are placed below the first layer of type symbol If set - to '', the layer will be inserted above every existing layer. - - The 'below' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["below"] - - @below.setter - def below(self, val): - self["below"] = val - - @property - def coloraxis(self): - """ - Sets a reference to a shared color axis. References to these - shared color axes are "coloraxis", "coloraxis2", "coloraxis3", - etc. Settings for these shared color axes are set in the - layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. - Note that multiple color scales can be linked to the same color - axis. - - The 'coloraxis' property is an identifier of a particular - subplot, of type 'coloraxis', that may be specified as: - - the string 'coloraxis' optionally followed by an integer >= 1 - (e.g. 'coloraxis', 'coloraxis1', 'coloraxis2', 'coloraxis3', etc.) - - Returns - ------- - str - """ - return self["coloraxis"] - - @coloraxis.setter - def coloraxis(self, val): - self["coloraxis"] = val - - @property - def colorbar(self): - """ - The 'colorbar' property is an instance of ColorBar - that may be specified as: - - An instance of :class:`plotly.graph_objs.densitymapbox.ColorBar` - - A dict of string/value properties that will be passed - to the ColorBar constructor - - Returns - ------- - plotly.graph_objs.densitymapbox.ColorBar - """ - return self["colorbar"] - - @colorbar.setter - def colorbar(self, val): - self["colorbar"] = val - - @property - def colorscale(self): - """ - Sets the colorscale. The colorscale must be an array containing - arrays mapping a normalized value to an rgb, rgba, hex, hsl, - hsv, or named color string. At minimum, a mapping for the - lowest (0) and highest (1) values are required. For example, - `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the - bounds of the colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name string of the - following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric, - Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis, - YlGnBu,YlOrRd. - - The 'colorscale' property is a colorscale and may be - specified as: - - A list of colors that will be spaced evenly to create the colorscale. - Many predefined colorscale lists are included in the sequential, diverging, - and cyclical modules in the plotly.colors package. - - A list of 2-element lists where the first element is the - normalized color level value (starting at 0 and ending at 1), - and the second item is a valid color string. - (e.g. [[0, 'green'], [0.5, 'red'], [1.0, 'rgb(0, 0, 255)']]) - - One of the following named colorscales: - ['aggrnyl', 'agsunset', 'algae', 'amp', 'armyrose', 'balance', - 'blackbody', 'bluered', 'blues', 'blugrn', 'bluyl', 'brbg', - 'brwnyl', 'bugn', 'bupu', 'burg', 'burgyl', 'cividis', 'curl', - 'darkmint', 'deep', 'delta', 'dense', 'earth', 'edge', 'electric', - 'emrld', 'fall', 'geyser', 'gnbu', 'gray', 'greens', 'greys', - 'haline', 'hot', 'hsv', 'ice', 'icefire', 'inferno', 'jet', - 'magenta', 'magma', 'matter', 'mint', 'mrybm', 'mygbm', 'oranges', - 'orrd', 'oryel', 'oxy', 'peach', 'phase', 'picnic', 'pinkyl', - 'piyg', 'plasma', 'plotly3', 'portland', 'prgn', 'pubu', 'pubugn', - 'puor', 'purd', 'purp', 'purples', 'purpor', 'rainbow', 'rdbu', - 'rdgy', 'rdpu', 'rdylbu', 'rdylgn', 'redor', 'reds', 'solar', - 'spectral', 'speed', 'sunset', 'sunsetdark', 'teal', 'tealgrn', - 'tealrose', 'tempo', 'temps', 'thermal', 'tropic', 'turbid', - 'turbo', 'twilight', 'viridis', 'ylgn', 'ylgnbu', 'ylorbr', - 'ylorrd']. - Appending '_r' to a named colorscale reverses it. - - Returns - ------- - str - """ - return self["colorscale"] - - @colorscale.setter - def colorscale(self, val): - self["colorscale"] = val - - @property - def customdata(self): - """ - Assigns extra data each datum. This may be useful when - listening to hover, click and selection events. Note that, - "scatter" traces also appends customdata items in the markers - DOM elements - - The 'customdata' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["customdata"] - - @customdata.setter - def customdata(self, val): - self["customdata"] = val - - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - - @property - def hoverinfo(self): - """ - Determines which trace information appear on hover. If `none` - or `skip` are set, no information is displayed upon hovering. - But, if `none` is set, click and hover events are still fired. - - The 'hoverinfo' property is a flaglist and may be specified - as a string containing: - - Any combination of ['lon', 'lat', 'z', 'text', 'name'] joined with '+' characters - (e.g. 'lon+lat') - OR exactly one of ['all', 'none', 'skip'] (e.g. 'skip') - - A list or array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["hoverinfo"] - - @hoverinfo.setter - def hoverinfo(self, val): - self["hoverinfo"] = val - - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - - @property - def hoverlabel(self): - """ - The 'hoverlabel' property is an instance of Hoverlabel - that may be specified as: - - An instance of :class:`plotly.graph_objs.densitymapbox.Hoverlabel` - - A dict of string/value properties that will be passed - to the Hoverlabel constructor - - Returns - ------- - plotly.graph_objs.densitymapbox.Hoverlabel - """ - return self["hoverlabel"] - - @hoverlabel.setter - def hoverlabel(self, val): - self["hoverlabel"] = val - - @property - def hovertemplate(self): - """ - Template string used for rendering the information that appear - on hover box. Note that this will override `hoverinfo`. - Variables are inserted using %{variable}, for example "y: %{y}" - as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When - showing info for several points, "xother" will be added to - those with different x positions from the first point. An - underscore before or after "(x|y)other" will add a space on - that side, only when this field is shown. Numbers are formatted - using d3-format's syntax %{variable:d3-format}, for example - "Price: %{y:$.2f}". - https://github.com/d3/d3-format/tree/v1.4.5#d3-format for - details on the formatting syntax. Dates are formatted using - d3-time-format's syntax %{variable|d3-time-format}, for example - "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format for details on the date - formatting syntax. Variables that can't be found will be - replaced with the specifier. For example, a template of "data: - %{x}, %{y}" will result in a value of "data: 1, %{y}" if x is 1 - and y is missing. Variables with an undefined value will be - replaced with the fallback value. The variables available in - `hovertemplate` are the ones emitted as event data described at - this link https://plotly.com/javascript/plotlyjs-events/#event- - data. Additionally, all attributes that can be specified per- - point (the ones that are `arrayOk: true`) are available. - Anything contained in tag `` is displayed in the - secondary box, for example `%{fullData.name}`. - To hide the secondary box completely, use an empty tag - ``. - - The 'hovertemplate' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["hovertemplate"] - - @hovertemplate.setter - def hovertemplate(self, val): - self["hovertemplate"] = val - - @property - def hovertemplatefallback(self): - """ - Fallback string that's displayed when a variable referenced in - a template is missing. If the boolean value 'false' is passed - in, the specifier with the missing variable will be displayed. - - The 'hovertemplatefallback' property accepts values of any type - - Returns - ------- - Any - """ - return self["hovertemplatefallback"] - - @hovertemplatefallback.setter - def hovertemplatefallback(self, val): - self["hovertemplatefallback"] = val - - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - - @property - def hovertext(self): - """ - Sets hover text elements associated with each (lon,lat) pair If - a single string, the same string appears over all the data - points. If an array of string, the items are mapped in order to - the this trace's (lon,lat) coordinates. To be seen, trace - `hoverinfo` must contain a "text" flag. - - The 'hovertext' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["hovertext"] - - @hovertext.setter - def hovertext(self, val): - self["hovertext"] = val - - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - - @property - def ids(self): - """ - Assigns id labels to each datum. These ids for object constancy - of data points during animation. Should be an array of strings, - not numbers or any other type. - - The 'ids' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["ids"] - - @ids.setter - def ids(self, val): - self["ids"] = val - - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - - @property - def lat(self): - """ - Sets the latitude coordinates (in degrees North). - - The 'lat' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["lat"] - - @lat.setter - def lat(self, val): - self["lat"] = val - - @property - def latsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `lat`. - - The 'latsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["latsrc"] - - @latsrc.setter - def latsrc(self, val): - self["latsrc"] = val - - @property - def legend(self): - """ - Sets the reference to a legend to show this trace in. - References to these legends are "legend", "legend2", "legend3", - etc. Settings for these legends are set in the layout, under - `layout.legend`, `layout.legend2`, etc. - - The 'legend' property is an identifier of a particular - subplot, of type 'legend', that may be specified as: - - the string 'legend' optionally followed by an integer >= 1 - (e.g. 'legend', 'legend1', 'legend2', 'legend3', etc.) - - Returns - ------- - str - """ - return self["legend"] - - @legend.setter - def legend(self, val): - self["legend"] = val - - @property - def legendgroup(self): - """ - Sets the legend group for this trace. Traces and shapes part of - the same legend group hide/show at the same time when toggling - legend items. - - The 'legendgroup' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["legendgroup"] - - @legendgroup.setter - def legendgroup(self, val): - self["legendgroup"] = val - - @property - def legendgrouptitle(self): - """ - The 'legendgrouptitle' property is an instance of Legendgrouptitle - that may be specified as: - - An instance of :class:`plotly.graph_objs.densitymapbox.Legendgrouptitle` - - A dict of string/value properties that will be passed - to the Legendgrouptitle constructor - - Returns - ------- - plotly.graph_objs.densitymapbox.Legendgrouptitle - """ - return self["legendgrouptitle"] - - @legendgrouptitle.setter - def legendgrouptitle(self, val): - self["legendgrouptitle"] = val - - @property - def legendrank(self): - """ - Sets the legend rank for this trace. Items and groups with - smaller ranks are presented on top/left side while with - "reversed" `legend.traceorder` they are on bottom/right side. - The default legendrank is 1000, so that you can use ranks less - than 1000 to place certain items before all unranked items, and - ranks greater than 1000 to go after all unranked items. When - having unranked or equal rank items shapes would be displayed - after traces i.e. according to their order in data and layout. - - The 'legendrank' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["legendrank"] - - @legendrank.setter - def legendrank(self, val): - self["legendrank"] = val - - @property - def legendwidth(self): - """ - Sets the width (in px or fraction) of the legend for this - trace. - - The 'legendwidth' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["legendwidth"] - - @legendwidth.setter - def legendwidth(self, val): - self["legendwidth"] = val - - @property - def lon(self): - """ - Sets the longitude coordinates (in degrees East). - - The 'lon' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["lon"] - - @lon.setter - def lon(self, val): - self["lon"] = val - - @property - def lonsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `lon`. - - The 'lonsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["lonsrc"] - - @lonsrc.setter - def lonsrc(self, val): - self["lonsrc"] = val - - @property - def meta(self): - """ - Assigns extra meta information associated with this trace that - can be used in various text attributes. Attributes such as - trace `name`, graph, axis and colorbar `title.text`, annotation - `text` `rangeselector`, `updatemenues` and `sliders` `label` - text all support `meta`. To access the trace `meta` values in - an attribute in the same trace, simply use `%{meta[i]}` where - `i` is the index or key of the `meta` item in question. To - access trace `meta` in layout attributes, use - `%{data[n[.meta[i]}` where `i` is the index or key of the - `meta` and `n` is the trace index. - - The 'meta' property accepts values of any type - - Returns - ------- - Any|numpy.ndarray - """ - return self["meta"] - - @meta.setter - def meta(self, val): - self["meta"] = val - - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - - @property - def name(self): - """ - Sets the trace name. The trace name appears as the legend item - and on hover. - - The 'name' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["name"] - - @name.setter - def name(self, val): - self["name"] = val - - @property - def opacity(self): - """ - Sets the opacity of the trace. - - The 'opacity' property is a number and may be specified as: - - An int or float in the interval [0, 1] - - Returns - ------- - int|float - """ - return self["opacity"] - - @opacity.setter - def opacity(self, val): - self["opacity"] = val - - @property - def radius(self): - """ - Sets the radius of influence of one `lon` / `lat` point in - pixels. Increasing the value makes the densitymapbox trace - smoother, but less detailed. - - The 'radius' property is a number and may be specified as: - - An int or float in the interval [1, inf] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - int|float|numpy.ndarray - """ - return self["radius"] - - @radius.setter - def radius(self, val): - self["radius"] = val - - @property - def radiussrc(self): - """ - Sets the source reference on Chart Studio Cloud for `radius`. - - The 'radiussrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["radiussrc"] - - @radiussrc.setter - def radiussrc(self, val): - self["radiussrc"] = val - - @property - def reversescale(self): - """ - Reverses the color mapping if true. If true, `zmin` will - correspond to the last color in the array and `zmax` will - correspond to the first color. - - The 'reversescale' property is a boolean and must be specified as: - - A boolean value: True or False - - Returns - ------- - bool - """ - return self["reversescale"] - - @reversescale.setter - def reversescale(self, val): - self["reversescale"] = val - - @property - def showlegend(self): - """ - Determines whether or not an item corresponding to this trace - is shown in the legend. - - The 'showlegend' property is a boolean and must be specified as: - - A boolean value: True or False - - Returns - ------- - bool - """ - return self["showlegend"] - - @showlegend.setter - def showlegend(self, val): - self["showlegend"] = val - - @property - def showscale(self): - """ - Determines whether or not a colorbar is displayed for this - trace. - - The 'showscale' property is a boolean and must be specified as: - - A boolean value: True or False - - Returns - ------- - bool - """ - return self["showscale"] - - @showscale.setter - def showscale(self, val): - self["showscale"] = val - - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.densitymapbox.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.densitymapbox.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - - @property - def subplot(self): - """ - mapbox subplots and traces are deprecated! Please consider - switching to `map` subplots and traces. Learn more at: - https://plotly.com/python/maplibre-migration/ as well as - https://plotly.com/javascript/maplibre-migration/ Sets a - reference between this trace's data coordinates and a mapbox - subplot. If "mapbox" (the default value), the data refer to - `layout.mapbox`. If "mapbox2", the data refer to - `layout.mapbox2`, and so on. - - The 'subplot' property is an identifier of a particular - subplot, of type 'mapbox', that may be specified as: - - the string 'mapbox' optionally followed by an integer >= 1 - (e.g. 'mapbox', 'mapbox1', 'mapbox2', 'mapbox3', etc.) - - Returns - ------- - str - """ - return self["subplot"] - - @subplot.setter - def subplot(self, val): - self["subplot"] = val - - @property - def text(self): - """ - Sets text elements associated with each (lon,lat) pair If a - single string, the same string appears over all the data - points. If an array of string, the items are mapped in order to - the this trace's (lon,lat) coordinates. If trace `hoverinfo` - contains a "text" flag and "hovertext" is not set, these - elements will be seen in the hover labels. - - The 'text' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["text"] - - @text.setter - def text(self, val): - self["text"] = val - - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - - @property - def uid(self): - """ - Assign an id to this trace, Use this to provide object - constancy between traces during animations and transitions. - - The 'uid' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["uid"] - - @uid.setter - def uid(self, val): - self["uid"] = val - - @property - def uirevision(self): - """ - Controls persistence of some user-driven changes to the trace: - `constraintrange` in `parcoords` traces, as well as some - `editable: true` modifications such as `name` and - `colorbar.title`. Defaults to `layout.uirevision`. Note that - other user-driven trace attribute changes are controlled by - `layout` attributes: `trace.visible` is controlled by - `layout.legend.uirevision`, `selectedpoints` is controlled by - `layout.selectionrevision`, and `colorbar.(x|y)` (accessible - with `config: {editable: true}`) is controlled by - `layout.editrevision`. Trace changes are tracked by `uid`, - which only falls back on trace index if no `uid` is provided. - So if your app can add/remove traces before the end of the - `data` array, such that the same trace has a different index, - you can still preserve user-driven changes if you give each - trace a `uid` that stays with it as it moves. - - The 'uirevision' property accepts values of any type - - Returns - ------- - Any - """ - return self["uirevision"] - - @uirevision.setter - def uirevision(self, val): - self["uirevision"] = val - - @property - def visible(self): - """ - Determines whether or not this trace is visible. If - "legendonly", the trace is not drawn, but can appear as a - legend item (provided that the legend itself is visible). - - The 'visible' property is an enumeration that may be specified as: - - One of the following enumeration values: - [True, False, 'legendonly'] - - Returns - ------- - Any - """ - return self["visible"] - - @visible.setter - def visible(self, val): - self["visible"] = val - - @property - def z(self): - """ - Sets the points' weight. For example, a value of 10 would be - equivalent to having 10 points of weight 1 in the same spot - - The 'z' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["z"] - - @z.setter - def z(self, val): - self["z"] = val - - @property - def zauto(self): - """ - Determines whether or not the color domain is computed with - respect to the input data (here in `z`) or the bounds set in - `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` - are set by the user. - - The 'zauto' property is a boolean and must be specified as: - - A boolean value: True or False - - Returns - ------- - bool - """ - return self["zauto"] - - @zauto.setter - def zauto(self, val): - self["zauto"] = val - - @property - def zmax(self): - """ - Sets the upper bound of the color domain. Value should have the - same units as in `z` and if set, `zmin` must be set as well. - - The 'zmax' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["zmax"] - - @zmax.setter - def zmax(self, val): - self["zmax"] = val - - @property - def zmid(self): - """ - Sets the mid-point of the color domain by scaling `zmin` and/or - `zmax` to be equidistant to this point. Value should have the - same units as in `z`. Has no effect when `zauto` is `false`. - - The 'zmid' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["zmid"] - - @zmid.setter - def zmid(self, val): - self["zmid"] = val - - @property - def zmin(self): - """ - Sets the lower bound of the color domain. Value should have the - same units as in `z` and if set, `zmax` must be set as well. - - The 'zmin' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["zmin"] - - @zmin.setter - def zmin(self, val): - self["zmin"] = val - - @property - def zsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `z`. - - The 'zsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["zsrc"] - - @zsrc.setter - def zsrc(self, val): - self["zsrc"] = val - - @property - def type(self): - return self._props["type"] - - @property - def _prop_descriptions(self): - return """\ - autocolorscale - Determines whether the colorscale is a default palette - (`autocolorscale: true`) or the palette determined by - `colorscale`. In case `colorscale` is unspecified or - `autocolorscale` is true, the default palette will be - chosen according to whether numbers in the `color` - array are all positive, all negative or mixed. - below - Determines if the densitymapbox trace will be inserted - before the layer with the specified ID. By default, - densitymapbox traces are placed below the first layer - of type symbol If set to '', the layer will be inserted - above every existing layer. - coloraxis - Sets a reference to a shared color axis. References to - these shared color axes are "coloraxis", "coloraxis2", - "coloraxis3", etc. Settings for these shared color axes - are set in the layout, under `layout.coloraxis`, - `layout.coloraxis2`, etc. Note that multiple color - scales can be linked to the same color axis. - colorbar - :class:`plotly.graph_objects.densitymapbox.ColorBar` - instance or dict with compatible properties - colorscale - Sets the colorscale. The colorscale must be an array - containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - customdata - Assigns extra data each datum. This may be useful when - listening to hover, click and selection events. Note - that, "scatter" traces also appends customdata items in - the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - hoverlabel - :class:`plotly.graph_objects.densitymapbox.Hoverlabel` - instance or dict with compatible properties - hovertemplate - Template string used for rendering the information that - appear on hover box. Note that this will override - `hoverinfo`. Variables are inserted using %{variable}, - for example "y: %{y}" as well as %{xother}, {%_xother}, - {%_xother_}, {%xother_}. When showing info for several - points, "xother" will be added to those with different - x positions from the first point. An underscore before - or after "(x|y)other" will add a space on that side, - only when this field is shown. Numbers are formatted - using d3-format's syntax %{variable:d3-format}, for - example "Price: %{y:$.2f}". - https://github.com/d3/d3-format/tree/v1.4.5#d3-format - for details on the formatting syntax. Dates are - formatted using d3-time-format's syntax - %{variable|d3-time-format}, for example "Day: - %{2019-01-01|%A}". https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format for details on the - date formatting syntax. Variables that can't be found - will be replaced with the specifier. For example, a - template of "data: %{x}, %{y}" will result in a value - of "data: 1, %{y}" if x is 1 and y is missing. - Variables with an undefined value will be replaced with - the fallback value. The variables available in - `hovertemplate` are the ones emitted as event data - described at this link - https://plotly.com/javascript/plotlyjs-events/#event- - data. Additionally, all attributes that can be - specified per-point (the ones that are `arrayOk: true`) - are available. Anything contained in tag `` is - displayed in the secondary box, for example - `%{fullData.name}`. To hide the - secondary box completely, use an empty tag - ``. - hovertemplatefallback - Fallback string that's displayed when a variable - referenced in a template is missing. If the boolean - value 'false' is passed in, the specifier with the - missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - hovertext - Sets hover text elements associated with each (lon,lat) - pair If a single string, the same string appears over - all the data points. If an array of string, the items - are mapped in order to the this trace's (lon,lat) - coordinates. To be seen, trace `hoverinfo` must contain - a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. - ids - Assigns id labels to each datum. These ids for object - constancy of data points during animation. Should be an - array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. - lat - Sets the latitude coordinates (in degrees North). - latsrc - Sets the source reference on Chart Studio Cloud for - `lat`. - legend - Sets the reference to a legend to show this trace in. - References to these legends are "legend", "legend2", - "legend3", etc. Settings for these legends are set in - the layout, under `layout.legend`, `layout.legend2`, - etc. - legendgroup - Sets the legend group for this trace. Traces and shapes - part of the same legend group hide/show at the same - time when toggling legend items. - legendgrouptitle - :class:`plotly.graph_objects.densitymapbox.Legendgroupt - itle` instance or dict with compatible properties - legendrank - Sets the legend rank for this trace. Items and groups - with smaller ranks are presented on top/left side while - with "reversed" `legend.traceorder` they are on - bottom/right side. The default legendrank is 1000, so - that you can use ranks less than 1000 to place certain - items before all unranked items, and ranks greater than - 1000 to go after all unranked items. When having - unranked or equal rank items shapes would be displayed - after traces i.e. according to their order in data and - layout. - legendwidth - Sets the width (in px or fraction) of the legend for - this trace. - lon - Sets the longitude coordinates (in degrees East). - lonsrc - Sets the source reference on Chart Studio Cloud for - `lon`. - meta - Assigns extra meta information associated with this - trace that can be used in various text attributes. - Attributes such as trace `name`, graph, axis and - colorbar `title.text`, annotation `text` - `rangeselector`, `updatemenues` and `sliders` `label` - text all support `meta`. To access the trace `meta` - values in an attribute in the same trace, simply use - `%{meta[i]}` where `i` is the index or key of the - `meta` item in question. To access trace `meta` in - layout attributes, use `%{data[n[.meta[i]}` where `i` - is the index or key of the `meta` and `n` is the trace - index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. - name - Sets the trace name. The trace name appears as the - legend item and on hover. - opacity - Sets the opacity of the trace. - radius - Sets the radius of influence of one `lon` / `lat` point - in pixels. Increasing the value makes the densitymapbox - trace smoother, but less detailed. - radiussrc - Sets the source reference on Chart Studio Cloud for - `radius`. - reversescale - Reverses the color mapping if true. If true, `zmin` - will correspond to the last color in the array and - `zmax` will correspond to the first color. - showlegend - Determines whether or not an item corresponding to this - trace is shown in the legend. - showscale - Determines whether or not a colorbar is displayed for - this trace. - stream - :class:`plotly.graph_objects.densitymapbox.Stream` - instance or dict with compatible properties - subplot - mapbox subplots and traces are deprecated! Please - consider switching to `map` subplots and traces. Learn - more at: https://plotly.com/python/maplibre-migration/ - as well as https://plotly.com/javascript/maplibre- - migration/ Sets a reference between this trace's data - coordinates and a mapbox subplot. If "mapbox" (the - default value), the data refer to `layout.mapbox`. If - "mapbox2", the data refer to `layout.mapbox2`, and so - on. - text - Sets text elements associated with each (lon,lat) pair - If a single string, the same string appears over all - the data points. If an array of string, the items are - mapped in order to the this trace's (lon,lat) - coordinates. If trace `hoverinfo` contains a "text" - flag and "hovertext" is not set, these elements will be - seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. - uid - Assign an id to this trace, Use this to provide object - constancy between traces during animations and - transitions. - uirevision - Controls persistence of some user-driven changes to the - trace: `constraintrange` in `parcoords` traces, as well - as some `editable: true` modifications such as `name` - and `colorbar.title`. Defaults to `layout.uirevision`. - Note that other user-driven trace attribute changes are - controlled by `layout` attributes: `trace.visible` is - controlled by `layout.legend.uirevision`, - `selectedpoints` is controlled by - `layout.selectionrevision`, and `colorbar.(x|y)` - (accessible with `config: {editable: true}`) is - controlled by `layout.editrevision`. Trace changes are - tracked by `uid`, which only falls back on trace index - if no `uid` is provided. So if your app can add/remove - traces before the end of the `data` array, such that - the same trace has a different index, you can still - preserve user-driven changes if you give each trace a - `uid` that stays with it as it moves. - visible - Determines whether or not this trace is visible. If - "legendonly", the trace is not drawn, but can appear as - a legend item (provided that the legend itself is - visible). - z - Sets the points' weight. For example, a value of 10 - would be equivalent to having 10 points of weight 1 in - the same spot - zauto - Determines whether or not the color domain is computed - with respect to the input data (here in `z`) or the - bounds set in `zmin` and `zmax` Defaults to `false` - when `zmin` and `zmax` are set by the user. - zmax - Sets the upper bound of the color domain. Value should - have the same units as in `z` and if set, `zmin` must - be set as well. - zmid - Sets the mid-point of the color domain by scaling - `zmin` and/or `zmax` to be equidistant to this point. - Value should have the same units as in `z`. Has no - effect when `zauto` is `false`. - zmin - Sets the lower bound of the color domain. Value should - have the same units as in `z` and if set, `zmax` must - be set as well. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. - """ - - def __init__( - self, - arg=None, - autocolorscale=None, - below=None, - coloraxis=None, - colorbar=None, - colorscale=None, - customdata=None, - customdatasrc=None, - hoverinfo=None, - hoverinfosrc=None, - hoverlabel=None, - hovertemplate=None, - hovertemplatefallback=None, - hovertemplatesrc=None, - hovertext=None, - hovertextsrc=None, - ids=None, - idssrc=None, - lat=None, - latsrc=None, - legend=None, - legendgroup=None, - legendgrouptitle=None, - legendrank=None, - legendwidth=None, - lon=None, - lonsrc=None, - meta=None, - metasrc=None, - name=None, - opacity=None, - radius=None, - radiussrc=None, - reversescale=None, - showlegend=None, - showscale=None, - stream=None, - subplot=None, - text=None, - textsrc=None, - uid=None, - uirevision=None, - visible=None, - z=None, - zauto=None, - zmax=None, - zmid=None, - zmin=None, - zsrc=None, - **kwargs, - ): - """ - Construct a new Densitymapbox object - - "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/ Draws a - bivariate kernel density estimation with a Gaussian kernel from - `lon` and `lat` coordinates and optional `z` values using a - colorscale. - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.Densitymapbox` - autocolorscale - Determines whether the colorscale is a default palette - (`autocolorscale: true`) or the palette determined by - `colorscale`. In case `colorscale` is unspecified or - `autocolorscale` is true, the default palette will be - chosen according to whether numbers in the `color` - array are all positive, all negative or mixed. - below - Determines if the densitymapbox trace will be inserted - before the layer with the specified ID. By default, - densitymapbox traces are placed below the first layer - of type symbol If set to '', the layer will be inserted - above every existing layer. - coloraxis - Sets a reference to a shared color axis. References to - these shared color axes are "coloraxis", "coloraxis2", - "coloraxis3", etc. Settings for these shared color axes - are set in the layout, under `layout.coloraxis`, - `layout.coloraxis2`, etc. Note that multiple color - scales can be linked to the same color axis. - colorbar - :class:`plotly.graph_objects.densitymapbox.ColorBar` - instance or dict with compatible properties - colorscale - Sets the colorscale. The colorscale must be an array - containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - customdata - Assigns extra data each datum. This may be useful when - listening to hover, click and selection events. Note - that, "scatter" traces also appends customdata items in - the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - hoverlabel - :class:`plotly.graph_objects.densitymapbox.Hoverlabel` - instance or dict with compatible properties - hovertemplate - Template string used for rendering the information that - appear on hover box. Note that this will override - `hoverinfo`. Variables are inserted using %{variable}, - for example "y: %{y}" as well as %{xother}, {%_xother}, - {%_xother_}, {%xother_}. When showing info for several - points, "xother" will be added to those with different - x positions from the first point. An underscore before - or after "(x|y)other" will add a space on that side, - only when this field is shown. Numbers are formatted - using d3-format's syntax %{variable:d3-format}, for - example "Price: %{y:$.2f}". - https://github.com/d3/d3-format/tree/v1.4.5#d3-format - for details on the formatting syntax. Dates are - formatted using d3-time-format's syntax - %{variable|d3-time-format}, for example "Day: - %{2019-01-01|%A}". https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format for details on the - date formatting syntax. Variables that can't be found - will be replaced with the specifier. For example, a - template of "data: %{x}, %{y}" will result in a value - of "data: 1, %{y}" if x is 1 and y is missing. - Variables with an undefined value will be replaced with - the fallback value. The variables available in - `hovertemplate` are the ones emitted as event data - described at this link - https://plotly.com/javascript/plotlyjs-events/#event- - data. Additionally, all attributes that can be - specified per-point (the ones that are `arrayOk: true`) - are available. Anything contained in tag `` is - displayed in the secondary box, for example - `%{fullData.name}`. To hide the - secondary box completely, use an empty tag - ``. - hovertemplatefallback - Fallback string that's displayed when a variable - referenced in a template is missing. If the boolean - value 'false' is passed in, the specifier with the - missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - hovertext - Sets hover text elements associated with each (lon,lat) - pair If a single string, the same string appears over - all the data points. If an array of string, the items - are mapped in order to the this trace's (lon,lat) - coordinates. To be seen, trace `hoverinfo` must contain - a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. - ids - Assigns id labels to each datum. These ids for object - constancy of data points during animation. Should be an - array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. - lat - Sets the latitude coordinates (in degrees North). - latsrc - Sets the source reference on Chart Studio Cloud for - `lat`. - legend - Sets the reference to a legend to show this trace in. - References to these legends are "legend", "legend2", - "legend3", etc. Settings for these legends are set in - the layout, under `layout.legend`, `layout.legend2`, - etc. - legendgroup - Sets the legend group for this trace. Traces and shapes - part of the same legend group hide/show at the same - time when toggling legend items. - legendgrouptitle - :class:`plotly.graph_objects.densitymapbox.Legendgroupt - itle` instance or dict with compatible properties - legendrank - Sets the legend rank for this trace. Items and groups - with smaller ranks are presented on top/left side while - with "reversed" `legend.traceorder` they are on - bottom/right side. The default legendrank is 1000, so - that you can use ranks less than 1000 to place certain - items before all unranked items, and ranks greater than - 1000 to go after all unranked items. When having - unranked or equal rank items shapes would be displayed - after traces i.e. according to their order in data and - layout. - legendwidth - Sets the width (in px or fraction) of the legend for - this trace. - lon - Sets the longitude coordinates (in degrees East). - lonsrc - Sets the source reference on Chart Studio Cloud for - `lon`. - meta - Assigns extra meta information associated with this - trace that can be used in various text attributes. - Attributes such as trace `name`, graph, axis and - colorbar `title.text`, annotation `text` - `rangeselector`, `updatemenues` and `sliders` `label` - text all support `meta`. To access the trace `meta` - values in an attribute in the same trace, simply use - `%{meta[i]}` where `i` is the index or key of the - `meta` item in question. To access trace `meta` in - layout attributes, use `%{data[n[.meta[i]}` where `i` - is the index or key of the `meta` and `n` is the trace - index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. - name - Sets the trace name. The trace name appears as the - legend item and on hover. - opacity - Sets the opacity of the trace. - radius - Sets the radius of influence of one `lon` / `lat` point - in pixels. Increasing the value makes the densitymapbox - trace smoother, but less detailed. - radiussrc - Sets the source reference on Chart Studio Cloud for - `radius`. - reversescale - Reverses the color mapping if true. If true, `zmin` - will correspond to the last color in the array and - `zmax` will correspond to the first color. - showlegend - Determines whether or not an item corresponding to this - trace is shown in the legend. - showscale - Determines whether or not a colorbar is displayed for - this trace. - stream - :class:`plotly.graph_objects.densitymapbox.Stream` - instance or dict with compatible properties - subplot - mapbox subplots and traces are deprecated! Please - consider switching to `map` subplots and traces. Learn - more at: https://plotly.com/python/maplibre-migration/ - as well as https://plotly.com/javascript/maplibre- - migration/ Sets a reference between this trace's data - coordinates and a mapbox subplot. If "mapbox" (the - default value), the data refer to `layout.mapbox`. If - "mapbox2", the data refer to `layout.mapbox2`, and so - on. - text - Sets text elements associated with each (lon,lat) pair - If a single string, the same string appears over all - the data points. If an array of string, the items are - mapped in order to the this trace's (lon,lat) - coordinates. If trace `hoverinfo` contains a "text" - flag and "hovertext" is not set, these elements will be - seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. - uid - Assign an id to this trace, Use this to provide object - constancy between traces during animations and - transitions. - uirevision - Controls persistence of some user-driven changes to the - trace: `constraintrange` in `parcoords` traces, as well - as some `editable: true` modifications such as `name` - and `colorbar.title`. Defaults to `layout.uirevision`. - Note that other user-driven trace attribute changes are - controlled by `layout` attributes: `trace.visible` is - controlled by `layout.legend.uirevision`, - `selectedpoints` is controlled by - `layout.selectionrevision`, and `colorbar.(x|y)` - (accessible with `config: {editable: true}`) is - controlled by `layout.editrevision`. Trace changes are - tracked by `uid`, which only falls back on trace index - if no `uid` is provided. So if your app can add/remove - traces before the end of the `data` array, such that - the same trace has a different index, you can still - preserve user-driven changes if you give each trace a - `uid` that stays with it as it moves. - visible - Determines whether or not this trace is visible. If - "legendonly", the trace is not drawn, but can appear as - a legend item (provided that the legend itself is - visible). - z - Sets the points' weight. For example, a value of 10 - would be equivalent to having 10 points of weight 1 in - the same spot - zauto - Determines whether or not the color domain is computed - with respect to the input data (here in `z`) or the - bounds set in `zmin` and `zmax` Defaults to `false` - when `zmin` and `zmax` are set by the user. - zmax - Sets the upper bound of the color domain. Value should - have the same units as in `z` and if set, `zmin` must - be set as well. - zmid - Sets the mid-point of the color domain by scaling - `zmin` and/or `zmax` to be equidistant to this point. - Value should have the same units as in `z`. Has no - effect when `zauto` is `false`. - zmin - Sets the lower bound of the color domain. Value should - have the same units as in `z` and if set, `zmax` must - be set as well. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. - - Returns - ------- - Densitymapbox - """ - super().__init__("densitymapbox") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.Densitymapbox -constructor must be a dict or -an instance of :class:`plotly.graph_objs.Densitymapbox`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("autocolorscale", arg, autocolorscale) - self._set_property("below", arg, below) - self._set_property("coloraxis", arg, coloraxis) - self._set_property("colorbar", arg, colorbar) - self._set_property("colorscale", arg, colorscale) - self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) - self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) - self._set_property("hoverlabel", arg, hoverlabel) - self._set_property("hovertemplate", arg, hovertemplate) - self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) - self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) - self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) - self._set_property("lat", arg, lat) - self._set_property("latsrc", arg, latsrc) - self._set_property("legend", arg, legend) - self._set_property("legendgroup", arg, legendgroup) - self._set_property("legendgrouptitle", arg, legendgrouptitle) - self._set_property("legendrank", arg, legendrank) - self._set_property("legendwidth", arg, legendwidth) - self._set_property("lon", arg, lon) - self._set_property("lonsrc", arg, lonsrc) - self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) - self._set_property("name", arg, name) - self._set_property("opacity", arg, opacity) - self._set_property("radius", arg, radius) - self._set_property("radiussrc", arg, radiussrc) - self._set_property("reversescale", arg, reversescale) - self._set_property("showlegend", arg, showlegend) - self._set_property("showscale", arg, showscale) - self._set_property("stream", arg, stream) - self._set_property("subplot", arg, subplot) - self._set_property("text", arg, text) - self._set_property("textsrc", arg, textsrc) - self._set_property("uid", arg, uid) - self._set_property("uirevision", arg, uirevision) - self._set_property("visible", arg, visible) - self._set_property("z", arg, z) - self._set_property("zauto", arg, zauto) - self._set_property("zmax", arg, zmax) - self._set_property("zmid", arg, zmid) - self._set_property("zmin", arg, zmin) - self._set_property("zsrc", arg, zsrc) - - self._props["type"] = "densitymapbox" - arg.pop("type", None) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False - - warnings.warn( - "*densitymapbox* is deprecated!" - + " Use *densitymap* instead." - + " Learn more at: https://plotly.com/python/mapbox-to-maplibre/", - stacklevel=2, - category=DeprecationWarning, - ) diff --git a/plotly/graph_objs/_figure.py b/plotly/graph_objs/_figure.py index fb6a200a3f0..22b68f46be9 100644 --- a/plotly/graph_objs/_figure.py +++ b/plotly/graph_objs/_figure.py @@ -24,16 +24,15 @@ def __init__( - The 'type' property specifies the trace type One of: ['bar', 'barpolar', 'box', 'candlestick', 'carpet', 'choropleth', 'choroplethmap', - 'choroplethmapbox', 'cone', 'contour', - 'contourcarpet', 'densitymap', - 'densitymapbox', 'funnel', 'funnelarea', + 'cone', 'contour', 'contourcarpet', + 'densitymap', 'funnel', 'funnelarea', 'heatmap', 'histogram', 'histogram2d', 'histogram2dcontour', 'icicle', 'image', 'indicator', 'isosurface', 'mesh3d', 'ohlc', - 'parcats', 'parcoords', 'pie', 'sankey', - 'scatter', 'scatter3d', 'scattercarpet', - 'scattergeo', 'scattergl', 'scattermap', - 'scattermapbox', 'scatterpolar', + 'parcats', 'parcoords', 'pie', 'quiver', + 'sankey', 'scatter', 'scatter3d', + 'scattercarpet', 'scattergeo', 'scattergl', + 'scattermap', 'scatterpolar', 'scatterpolargl', 'scattersmith', 'scatterternary', 'splom', 'streamtube', 'sunburst', 'surface', 'table', 'treemap', @@ -652,25 +651,19 @@ def add_bar( self, alignmentgroup=None, base=None, - basesrc=None, cliponaxis=None, constraintext=None, customdata=None, - customdatasrc=None, dx=None, dy=None, error_x=None, error_y=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, insidetextanchor=None, insidetextfont=None, legend=None, @@ -680,33 +673,26 @@ def add_bar( legendwidth=None, marker=None, meta=None, - metasrc=None, name=None, offset=None, offsetgroup=None, - offsetsrc=None, opacity=None, orientation=None, outsidetextfont=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, text=None, textangle=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, unselected=None, visible=None, width=None, - widthsrc=None, x=None, x0=None, xaxis=None, @@ -715,7 +701,6 @@ def add_bar( xperiod=None, xperiod0=None, xperiodalignment=None, - xsrc=None, y=None, y0=None, yaxis=None, @@ -724,7 +709,6 @@ def add_bar( yperiod=None, yperiod0=None, yperiodalignment=None, - ysrc=None, zorder=None, row=None, col=None, @@ -751,9 +735,6 @@ def add_bar( units). In "stack" or "relative" barmode, traces that set "base" will be excluded and drawn in "overlay" mode instead. - basesrc - Sets the source reference on Chart Studio Cloud for - `base`. cliponaxis Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines @@ -767,9 +748,6 @@ def add_bar( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dx Sets the x coordinate step. See `x0` for more info. dy @@ -781,13 +759,10 @@ def add_bar( :class:`plotly.graph_objects.bar.ErrorY` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.bar.Hoverlabel` instance or dict with compatible properties @@ -831,9 +806,6 @@ def add_bar( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over @@ -841,16 +813,10 @@ def add_bar( are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextanchor Determines if texts are kept at center or start/end points in `textposition` "inside" mode. @@ -899,9 +865,6 @@ def add_bar( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -914,9 +877,6 @@ def add_bar( Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up. - offsetsrc - Sets the source reference on Chart Studio Cloud for - `offset`. opacity Sets the opacity of the trace. orientation @@ -938,9 +898,6 @@ def add_bar( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.bar.Stream` instance or - dict with compatible properties text Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the @@ -967,12 +924,6 @@ def add_bar( inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1000,9 +951,6 @@ def add_bar( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1035,9 +983,6 @@ def add_bar( visible). width Sets the bar width (in position axis units). - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. x Sets the x coordinates. x0 @@ -1052,7 +997,7 @@ def add_bar( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1080,9 +1025,6 @@ def add_bar( xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates. y0 @@ -1097,7 +1039,7 @@ def add_bar( ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1125,9 +1067,6 @@ def add_bar( yperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -1163,25 +1102,19 @@ def add_bar( new_trace = Bar( alignmentgroup=alignmentgroup, base=base, - basesrc=basesrc, cliponaxis=cliponaxis, constraintext=constraintext, customdata=customdata, - customdatasrc=customdatasrc, dx=dx, dy=dy, error_x=error_x, error_y=error_y, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, insidetextanchor=insidetextanchor, insidetextfont=insidetextfont, legend=legend, @@ -1191,33 +1124,26 @@ def add_bar( legendwidth=legendwidth, marker=marker, meta=meta, - metasrc=metasrc, name=name, offset=offset, offsetgroup=offsetgroup, - offsetsrc=offsetsrc, opacity=opacity, orientation=orientation, outsidetextfont=outsidetextfont, selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, text=text, textangle=textangle, textfont=textfont, textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, uid=uid, uirevision=uirevision, unselected=unselected, visible=visible, width=width, - widthsrc=widthsrc, x=x, x0=x0, xaxis=xaxis, @@ -1226,7 +1152,6 @@ def add_bar( xperiod=xperiod, xperiod0=xperiod0, xperiodalignment=xperiodalignment, - xsrc=xsrc, y=y, y0=y0, yaxis=yaxis, @@ -1235,7 +1160,6 @@ def add_bar( yperiod=yperiod, yperiod0=yperiod0, yperiodalignment=yperiodalignment, - ysrc=ysrc, zorder=zorder, **kwargs, ) @@ -1244,21 +1168,15 @@ def add_bar( def add_barpolar( self, base=None, - basesrc=None, customdata=None, - customdatasrc=None, dr=None, dtheta=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -1266,31 +1184,24 @@ def add_barpolar( legendwidth=None, marker=None, meta=None, - metasrc=None, name=None, offset=None, - offsetsrc=None, opacity=None, r=None, r0=None, - rsrc=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, subplot=None, text=None, - textsrc=None, theta=None, theta0=None, - thetasrc=None, thetaunit=None, uid=None, uirevision=None, unselected=None, visible=None, width=None, - widthsrc=None, row=None, col=None, **kwargs, @@ -1307,17 +1218,11 @@ def add_barpolar( Sets where the bar base is drawn (in radial axis units). In "stack" barmode, traces that set "base" will be excluded and drawn in "overlay" mode instead. - basesrc - Sets the source reference on Chart Studio Cloud for - `base`. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dr Sets the r coordinate step. dtheta @@ -1325,13 +1230,10 @@ def add_barpolar( `dtheta` step equals the subplot's period divided by the length of the `r` coordinates. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.barpolar.Hoverlabel` instance or dict with compatible properties @@ -1374,21 +1276,12 @@ def add_barpolar( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1432,18 +1325,12 @@ def add_barpolar( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. offset Shifts the angular position where the bar is drawn (in "thetatunit" units). - offsetsrc - Sets the source reference on Chart Studio Cloud for - `offset`. opacity Sets the opacity of the trace. r @@ -1452,9 +1339,6 @@ def add_barpolar( Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step. - rsrc - Sets the source reference on Chart Studio Cloud for - `r`. selected :class:`plotly.graph_objects.barpolar.Selected` instance or dict with compatible properties @@ -1468,9 +1352,6 @@ def add_barpolar( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.barpolar.Stream` instance - or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a polar subplot. If "polar" (the default value), @@ -1481,18 +1362,12 @@ def add_barpolar( single string, the same string appears over all bars. If an array of string, the items are mapped in order to the this trace's coordinates. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. theta Sets the angular coordinates theta0 Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step. - thetasrc - Sets the source reference on Chart Studio Cloud for - `theta`. thetaunit Sets the unit of input "theta" values. Has an effect only when on "linear" angular axes. @@ -1528,9 +1403,6 @@ def add_barpolar( visible). width Sets the bar angular width (in "thetaunit" units). - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -1550,21 +1422,15 @@ def add_barpolar( new_trace = Barpolar( base=base, - basesrc=basesrc, customdata=customdata, - customdatasrc=customdatasrc, dr=dr, dtheta=dtheta, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -1572,31 +1438,24 @@ def add_barpolar( legendwidth=legendwidth, marker=marker, meta=meta, - metasrc=metasrc, name=name, offset=offset, - offsetsrc=offsetsrc, opacity=opacity, r=r, r0=r0, - rsrc=rsrc, selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, subplot=subplot, text=text, - textsrc=textsrc, theta=theta, theta0=theta0, - thetasrc=thetasrc, thetaunit=thetaunit, uid=uid, uirevision=uirevision, unselected=unselected, visible=visible, width=width, - widthsrc=widthsrc, **kwargs, ) return self.add_trace(new_trace, row=row, col=col) @@ -1607,21 +1466,16 @@ def add_box( boxmean=None, boxpoints=None, customdata=None, - customdatasrc=None, dx=None, dy=None, fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hoveron=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, jitter=None, legend=None, legendgroup=None, @@ -1630,44 +1484,33 @@ def add_box( legendwidth=None, line=None, lowerfence=None, - lowerfencesrc=None, marker=None, mean=None, - meansrc=None, median=None, - mediansrc=None, meta=None, - metasrc=None, name=None, notched=None, notchspan=None, - notchspansrc=None, notchwidth=None, offsetgroup=None, opacity=None, orientation=None, pointpos=None, q1=None, - q1src=None, q3=None, - q3src=None, quartilemethod=None, sd=None, sdmultiple=None, - sdsrc=None, selected=None, selectedpoints=None, showlegend=None, showwhiskers=None, sizemode=None, - stream=None, text=None, - textsrc=None, uid=None, uirevision=None, unselected=None, upperfence=None, - upperfencesrc=None, visible=None, whiskerwidth=None, width=None, @@ -1679,7 +1522,6 @@ def add_box( xperiod=None, xperiod0=None, xperiodalignment=None, - xsrc=None, y=None, y0=None, yaxis=None, @@ -1688,7 +1530,6 @@ def add_box( yperiod=None, yperiod0=None, yperiodalignment=None, - ysrc=None, zorder=None, row=None, col=None, @@ -1752,9 +1593,6 @@ def add_box( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dx Sets the x coordinate step for multi-box traces set using q1/median/q3. @@ -1766,13 +1604,10 @@ def add_box( variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.box.Hoverlabel` instance or dict with compatible properties @@ -1818,21 +1653,12 @@ def add_box( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. jitter Sets the amount of jitter in the sample points drawn. If 0, the sample points align along the distribution @@ -1875,9 +1701,6 @@ def add_box( `lowerfence` is not provided but a sample (in `y` or `x`) is set, we compute the lower as the last sample point below 1.5 times the IQR. - lowerfencesrc - Sets the source reference on Chart Studio Cloud for - `lowerfence`. marker :class:`plotly.graph_objects.box.Marker` instance or dict with compatible properties @@ -1887,15 +1710,9 @@ def add_box( only under the q1/median/q3 signature. If `mean` is not provided but a sample (in `y` or `x`) is set, we compute the mean for each box using the sample values. - meansrc - Sets the source reference on Chart Studio Cloud for - `mean`. median Sets the median values. There should be as many items as the number of boxes desired. - mediansrc - Sets the source reference on Chart Studio Cloud for - `median`. meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -1909,9 +1726,6 @@ def add_box( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. For box traces, the name will @@ -1935,9 +1749,6 @@ def add_box( q1/median/q3 signature. If `notchspan` is not provided but a sample (in `y` or `x`) is set, we compute it as 1.57 * IQR / sqrt(N), where N is the sample size. - notchspansrc - Sets the source reference on Chart Studio Cloud for - `notchspan`. notchwidth Sets the width of the notches relative to the box width. For example, with 0, the notches are as wide as @@ -1961,15 +1772,9 @@ def add_box( q1 Sets the Quartile 1 values. There should be as many items as the number of boxes desired. - q1src - Sets the source reference on Chart Studio Cloud for - `q1`. q3 Sets the Quartile 3 values. There should be as many items as the number of boxes desired. - q3src - Sets the source reference on Chart Studio Cloud for - `q3`. quartilemethod Sets the method used to compute the sample's Q1 and Q3 quartiles. The "linear" method uses the 25th percentile @@ -1996,9 +1801,6 @@ def add_box( Scales the box size when sizemode=sd Allowing boxes to be drawn across any stddev range For example 1-stddev, 3-stddev, 5-stddev - sdsrc - Sets the source reference on Chart Studio Cloud for - `sd`. selected :class:`plotly.graph_objects.box.Selected` instance or dict with compatible properties @@ -2022,9 +1824,6 @@ def add_box( is drawn between Mean +- Standard Deviation Argument sdmultiple (default 1) to scale the box size So it could be drawn 1-stddev, 3-stddev etc - stream - :class:`plotly.graph_objects.box.Stream` instance or - dict with compatible properties text Sets the text elements associated with each sample value. If a single string, the same string appears over @@ -2032,9 +1831,6 @@ def add_box( are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -2067,9 +1863,6 @@ def add_box( `upperfence` is not provided but a sample (in `y` or `x`) is set, we compute the upper as the last sample point above 1.5 times the IQR. - upperfencesrc - Sets the source reference on Chart Studio Cloud for - `upperfence`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -2099,7 +1892,7 @@ def add_box( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2127,9 +1920,6 @@ def add_box( xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y sample data or coordinates. See overview for more info. @@ -2145,7 +1935,7 @@ def add_box( ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2173,9 +1963,6 @@ def add_box( yperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -2213,21 +2000,16 @@ def add_box( boxmean=boxmean, boxpoints=boxpoints, customdata=customdata, - customdatasrc=customdatasrc, dx=dx, dy=dy, fillcolor=fillcolor, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hoveron=hoveron, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, jitter=jitter, legend=legend, legendgroup=legendgroup, @@ -2236,44 +2018,33 @@ def add_box( legendwidth=legendwidth, line=line, lowerfence=lowerfence, - lowerfencesrc=lowerfencesrc, marker=marker, mean=mean, - meansrc=meansrc, median=median, - mediansrc=mediansrc, meta=meta, - metasrc=metasrc, name=name, notched=notched, notchspan=notchspan, - notchspansrc=notchspansrc, notchwidth=notchwidth, offsetgroup=offsetgroup, opacity=opacity, orientation=orientation, pointpos=pointpos, q1=q1, - q1src=q1src, q3=q3, - q3src=q3src, quartilemethod=quartilemethod, sd=sd, sdmultiple=sdmultiple, - sdsrc=sdsrc, selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, showwhiskers=showwhiskers, sizemode=sizemode, - stream=stream, text=text, - textsrc=textsrc, uid=uid, uirevision=uirevision, unselected=unselected, upperfence=upperfence, - upperfencesrc=upperfencesrc, visible=visible, whiskerwidth=whiskerwidth, width=width, @@ -2285,7 +2056,6 @@ def add_box( xperiod=xperiod, xperiod0=xperiod0, xperiodalignment=xperiodalignment, - xsrc=xsrc, y=y, y0=y0, yaxis=yaxis, @@ -2294,7 +2064,6 @@ def add_box( yperiod=yperiod, yperiod0=yperiod0, yperiodalignment=yperiodalignment, - ysrc=ysrc, zorder=zorder, **kwargs, ) @@ -2303,22 +2072,15 @@ def add_box( def add_candlestick( self, close=None, - closesrc=None, customdata=None, - customdatasrc=None, decreasing=None, high=None, - highsrc=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, increasing=None, legend=None, legendgroup=None, @@ -2327,18 +2089,13 @@ def add_candlestick( legendwidth=None, line=None, low=None, - lowsrc=None, meta=None, - metasrc=None, name=None, opacity=None, open=None, - opensrc=None, selectedpoints=None, showlegend=None, - stream=None, text=None, - textsrc=None, uid=None, uirevision=None, visible=None, @@ -2350,7 +2107,6 @@ def add_candlestick( xperiod=None, xperiod0=None, xperiodalignment=None, - xsrc=None, yaxis=None, yhoverformat=None, zorder=None, @@ -2367,7 +2123,7 @@ def add_candlestick( time). The boxes represent the spread between the `open` and `close` values and the lines represent the spread between the `low` and `high` values Sample points where the close value is - higher (lower) then the open value are called increasing + higher (lower) than the open value are called increasing (decreasing). By default, increasing candles are drawn in green whereas decreasing are drawn in red. @@ -2375,33 +2131,21 @@ def add_candlestick( ---------- close Sets the close values. - closesrc - Sets the source reference on Chart Studio Cloud for - `close`. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. decreasing :class:`plotly.graph_objects.candlestick.Decreasing` instance or dict with compatible properties high Sets the high values. - highsrc - Sets the source reference on Chart Studio Cloud for - `high`. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.candlestick.Hoverlabel` instance or dict with compatible properties @@ -2446,21 +2190,12 @@ def add_candlestick( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. increasing :class:`plotly.graph_objects.candlestick.Increasing` instance or dict with compatible properties @@ -2496,9 +2231,6 @@ def add_candlestick( or dict with compatible properties low Sets the low values. - lowsrc - Sets the source reference on Chart Studio Cloud for - `low`. meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -2512,9 +2244,6 @@ def add_candlestick( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -2522,9 +2251,6 @@ def add_candlestick( Sets the opacity of the trace. open Sets the open values. - opensrc - Sets the source reference on Chart Studio Cloud for - `open`. selectedpoints Array containing integer indices of selected points. Has an effect only for traces that support selections. @@ -2535,17 +2261,11 @@ def add_candlestick( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.candlestick.Stream` - instance or dict with compatible properties text Sets hover text elements associated with each sample point. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to this trace's sample points. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -2588,7 +2308,7 @@ def add_candlestick( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2616,16 +2336,13 @@ def add_candlestick( xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. yaxis Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2671,22 +2388,15 @@ def add_candlestick( new_trace = Candlestick( close=close, - closesrc=closesrc, customdata=customdata, - customdatasrc=customdatasrc, decreasing=decreasing, high=high, - highsrc=highsrc, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, increasing=increasing, legend=legend, legendgroup=legendgroup, @@ -2695,18 +2405,13 @@ def add_candlestick( legendwidth=legendwidth, line=line, low=low, - lowsrc=lowsrc, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, open=open, - opensrc=opensrc, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, text=text, - textsrc=textsrc, uid=uid, uirevision=uirevision, visible=visible, @@ -2718,7 +2423,6 @@ def add_candlestick( xperiod=xperiod, xperiod0=xperiod0, xperiodalignment=xperiodalignment, - xsrc=xsrc, yaxis=yaxis, yhoverformat=yhoverformat, zorder=zorder, @@ -2731,39 +2435,31 @@ def add_carpet( a=None, a0=None, aaxis=None, - asrc=None, b=None, b0=None, baxis=None, - bsrc=None, carpet=None, cheaterslope=None, color=None, customdata=None, - customdatasrc=None, da=None, db=None, font=None, ids=None, - idssrc=None, legend=None, legendgrouptitle=None, legendrank=None, legendwidth=None, meta=None, - metasrc=None, name=None, opacity=None, - stream=None, uid=None, uirevision=None, visible=None, x=None, xaxis=None, - xsrc=None, y=None, yaxis=None, - ysrc=None, zorder=None, row=None, col=None, @@ -2791,9 +2487,6 @@ def add_carpet( aaxis :class:`plotly.graph_objects.carpet.Aaxis` instance or dict with compatible properties - asrc - Sets the source reference on Chart Studio Cloud for - `a`. b A two dimensional array of y coordinates at each carpet point. @@ -2804,9 +2497,6 @@ def add_carpet( baxis :class:`plotly.graph_objects.carpet.Baxis` instance or dict with compatible properties - bsrc - Sets the source reference on Chart Studio Cloud for - `b`. carpet An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on @@ -2825,9 +2515,6 @@ def add_carpet( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. da Sets the a coordinate step. See `a0` for more info. db @@ -2839,9 +2526,6 @@ def add_carpet( Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -2878,17 +2562,11 @@ def add_carpet( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. opacity Sets the opacity of the trace. - stream - :class:`plotly.graph_objects.carpet.Stream` instance or - dict with compatible properties uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -2925,9 +2603,6 @@ def add_carpet( a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y A two dimensional array of y coordinates at each carpet point. @@ -2936,9 +2611,6 @@ def add_carpet( a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -2975,39 +2647,31 @@ def add_carpet( a=a, a0=a0, aaxis=aaxis, - asrc=asrc, b=b, b0=b0, baxis=baxis, - bsrc=bsrc, carpet=carpet, cheaterslope=cheaterslope, color=color, customdata=customdata, - customdatasrc=customdatasrc, da=da, db=db, font=font, ids=ids, - idssrc=idssrc, legend=legend, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, - stream=stream, uid=uid, uirevision=uirevision, visible=visible, x=x, xaxis=xaxis, - xsrc=xsrc, y=y, yaxis=yaxis, - ysrc=ysrc, zorder=zorder, **kwargs, ) @@ -3020,20 +2684,15 @@ def add_choropleth( colorbar=None, colorscale=None, customdata=None, - customdatasrc=None, featureidkey=None, geo=None, geojson=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -3041,19 +2700,15 @@ def add_choropleth( legendwidth=None, locationmode=None, locations=None, - locationssrc=None, marker=None, meta=None, - metasrc=None, name=None, reversescale=None, selected=None, selectedpoints=None, showlegend=None, showscale=None, - stream=None, text=None, - textsrc=None, uid=None, uirevision=None, unselected=None, @@ -3063,7 +2718,6 @@ def add_choropleth( zmax=None, zmid=None, zmin=None, - zsrc=None, row=None, col=None, **kwargs, @@ -3097,23 +2751,20 @@ def add_choropleth( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. featureidkey Sets the key in GeoJSON features which is used as id to match the items included in the `locations` array. Only @@ -3133,13 +2784,10 @@ def add_choropleth( "FeatureCollection" or "Feature" with geometries of type "Polygon" or "MultiPolygon". hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.choropleth.Hoverlabel` instance or dict with compatible properties @@ -3182,21 +2830,12 @@ def add_choropleth( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -3225,23 +2864,17 @@ def add_choropleth( Sets the width (in px or fraction) of the legend for this trace. locationmode - The library used by the *country names* `locationmode` - option is changing in an upcoming version. Country - names in existing plots may not work in the new - version. Determines the set of locations used to match - entries in `locations` to regions on the map. Values - "ISO-3", "USA-states", *country names* correspond to - features on the base map and value "geojson-id" - corresponds to features from a custom GeoJSON linked to - the `geojson` attribute. "USA-states" accepts both two- - letter abbreviations (e.g. "CA") and full state names - (e.g. "California"). + Determines the set of locations used to match entries + in `locations` to regions on the map. Values "ISO-3", + "USA-states", *country names* correspond to features on + the base map and value "geojson-id" corresponds to + features from a custom GeoJSON linked to the `geojson` + attribute. "USA-states" accepts both two-letter + abbreviations (e.g. "CA") and full state names (e.g. + "California"). locations Sets the coordinates via location IDs or names. See `locationmode` for more info. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. marker :class:`plotly.graph_objects.choropleth.Marker` instance or dict with compatible properties @@ -3258,9 +2891,6 @@ def add_choropleth( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -3284,14 +2914,8 @@ def add_choropleth( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.choropleth.Stream` - instance or dict with compatible properties text Sets the text elements associated with each location. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -3342,9 +2966,6 @@ def add_choropleth( Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -3368,20 +2989,15 @@ def add_choropleth( colorbar=colorbar, colorscale=colorscale, customdata=customdata, - customdatasrc=customdatasrc, featureidkey=featureidkey, geo=geo, geojson=geojson, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -3389,19 +3005,15 @@ def add_choropleth( legendwidth=legendwidth, locationmode=locationmode, locations=locations, - locationssrc=locationssrc, marker=marker, meta=meta, - metasrc=metasrc, name=name, reversescale=reversescale, selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, showscale=showscale, - stream=stream, text=text, - textsrc=textsrc, uid=uid, uirevision=uirevision, unselected=unselected, @@ -3411,7 +3023,6 @@ def add_choropleth( zmax=zmax, zmid=zmid, zmin=zmin, - zsrc=zsrc, **kwargs, ) return self.add_trace(new_trace, row=row, col=col) @@ -3424,39 +3035,30 @@ def add_choroplethmap( colorbar=None, colorscale=None, customdata=None, - customdatasrc=None, featureidkey=None, geojson=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, legendrank=None, legendwidth=None, locations=None, - locationssrc=None, marker=None, meta=None, - metasrc=None, name=None, reversescale=None, selected=None, selectedpoints=None, showlegend=None, showscale=None, - stream=None, subplot=None, text=None, - textsrc=None, uid=None, uirevision=None, unselected=None, @@ -3466,7 +3068,6 @@ def add_choroplethmap( zmax=None, zmid=None, zmin=None, - zsrc=None, row=None, col=None, **kwargs, @@ -3506,23 +3107,20 @@ def add_choroplethmap( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. featureidkey Sets the key in GeoJSON features which is used as id to match the items included in the `locations` array. @@ -3534,13 +3132,10 @@ def add_choroplethmap( "FeatureCollection" or "Feature" with geometries of type "Polygon" or "MultiPolygon". hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.choroplethmap.Hoverlabel` instance or dict with compatible properties @@ -3584,21 +3179,12 @@ def add_choroplethmap( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -3629,9 +3215,6 @@ def add_choroplethmap( locations Sets which features found in "geojson" to plot using their feature `id` field. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. marker :class:`plotly.graph_objects.choroplethmap.Marker` instance or dict with compatible properties @@ -3648,9 +3231,6 @@ def add_choroplethmap( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -3674,9 +3254,6 @@ def add_choroplethmap( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.choroplethmap.Stream` - instance or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a map subplot. If "map" (the default value), the @@ -3684,9 +3261,6 @@ def add_choroplethmap( to `layout.map2`, and so on. text Sets the text elements associated with each location. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -3737,9 +3311,6 @@ def add_choroplethmap( Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -3764,39 +3335,30 @@ def add_choroplethmap( colorbar=colorbar, colorscale=colorscale, customdata=customdata, - customdatasrc=customdatasrc, featureidkey=featureidkey, geojson=geojson, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, locations=locations, - locationssrc=locationssrc, marker=marker, meta=meta, - metasrc=metasrc, name=name, reversescale=reversescale, selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, showscale=showscale, - stream=stream, subplot=subplot, text=text, - textsrc=textsrc, uid=uid, uirevision=uirevision, unselected=unselected, @@ -3806,79 +3368,78 @@ def add_choroplethmap( zmax=zmax, zmid=zmid, zmin=zmin, - zsrc=zsrc, **kwargs, ) return self.add_trace(new_trace, row=row, col=col) - def add_choroplethmapbox( + def add_cone( self, + anchor=None, autocolorscale=None, - below=None, + cauto=None, + cmax=None, + cmid=None, + cmin=None, coloraxis=None, colorbar=None, colorscale=None, customdata=None, - customdatasrc=None, - featureidkey=None, - geojson=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, legendrank=None, legendwidth=None, - locations=None, - locationssrc=None, - marker=None, + lighting=None, + lightposition=None, meta=None, - metasrc=None, name=None, + opacity=None, reversescale=None, - selected=None, - selectedpoints=None, + scene=None, showlegend=None, showscale=None, - stream=None, - subplot=None, + sizemode=None, + sizeref=None, text=None, - textsrc=None, + u=None, + uhoverformat=None, uid=None, uirevision=None, - unselected=None, + v=None, + vhoverformat=None, visible=None, + w=None, + whoverformat=None, + x=None, + xhoverformat=None, + y=None, + yhoverformat=None, z=None, - zauto=None, - zmax=None, - zmid=None, - zmin=None, - zsrc=None, + zhoverformat=None, row=None, col=None, **kwargs, ) -> "Figure": """ - Add a new Choroplethmapbox trace + Add a new Cone trace - "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/ - GeoJSON features to be filled are set in `geojson` The data - that describes the choropleth value-to-color mapping is set in - `locations` and `z`. + Use cone traces to visualize vector fields. Specify a vector + field using 6 1D arrays, 3 position arrays `x`, `y` and `z` and + 3 vector component arrays `u`, `v`, `w`. The cones are drawn + exactly at the positions given by `x`, `y` and `z`. Parameters ---------- + anchor + Sets the cones' anchor with respect to their x/y/z + positions. Note that "cm" denote the cone's center of + mass which corresponds to 1/4 from the tail to tip. autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -3886,12 +3447,24 @@ def add_choroplethmapbox( `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed. - below - Determines if the choropleth polygons will be inserted - before the layer with the specified ID. By default, - choroplethmapbox traces are placed above the water - layers. If set to '', the layer will be inserted above - every existing layer. + cauto + Determines whether or not the color domain is computed + with respect to the input data (here u/v/w norm) or the + bounds set in `cmin` and `cmax` Defaults to `false` + when `cmin` and `cmax` are set by the user. + cmax + Sets the upper bound of the color domain. Value should + have the same units as u/v/w norm and if set, `cmin` + must be set as well. + cmid + Sets the mid-point of the color domain by scaling + `cmin` and/or `cmax` to be equidistant to this point. + Value should have the same units as u/v/w norm. Has no + effect when `cauto` is `false`. + cmin + Sets the lower bound of the color domain. Value should + have the same units as u/v/w norm and if set, `cmax` + must be set as well. coloraxis Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", @@ -3900,49 +3473,33 @@ def add_choroplethmapbox( `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis. colorbar - :class:`plotly.graph_objects.choroplethmapbox.ColorBar` - instance or dict with compatible properties + :class:`plotly.graph_objects.cone.ColorBar` instance or + dict with compatible properties colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - featureidkey - Sets the key in GeoJSON features which is used as id to - match the items included in the `locations` array. - Support nested property, for example "properties.name". - geojson - Sets the GeoJSON data associated with this trace. It - can be set as a valid GeoJSON object or as a URL - string. Note that we only accept GeoJSONs of type - "FeatureCollection" or "Feature" with geometries of - type "Polygon" or "MultiPolygon". hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel - :class:`plotly.graph_objects.choroplethmapbox.Hoverlabe - l` instance or dict with compatible properties + :class:`plotly.graph_objects.cone.Hoverlabel` instance + or dict with compatible properties hovertemplate Template string used for rendering the information that appear on hover box. Note that this will override @@ -3973,9 +3530,9 @@ def add_choroplethmapbox( data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access - to variable `properties` Anything contained in tag - `` is displayed in the secondary box, for - example `%{fullData.name}`. To hide the + to variable `norm` Anything contained in tag `` + is displayed in the secondary box, for example + `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``. hovertemplatefallback @@ -3983,21 +3540,12 @@ def add_choroplethmapbox( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -4009,8 +3557,8 @@ def add_choroplethmapbox( part of the same legend group hide/show at the same time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.choroplethmapbox.Legendgro - uptitle` instance or dict with compatible properties + :class:`plotly.graph_objects.cone.Legendgrouptitle` + instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while @@ -4025,14 +3573,11 @@ def add_choroplethmapbox( legendwidth Sets the width (in px or fraction) of the legend for this trace. - locations - Sets which features found in "geojson" to plot using - their feature `id` field. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. - marker - :class:`plotly.graph_objects.choroplethmapbox.Marker` + lighting + :class:`plotly.graph_objects.cone.Lighting` instance or + dict with compatible properties + lightposition + :class:`plotly.graph_objects.cone.Lightposition` instance or dict with compatible properties meta Assigns extra meta information associated with this @@ -4047,50 +3592,65 @@ def add_choroplethmapbox( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. + opacity + Sets the opacity of the surface. Please note that in + the case of using high `opacity` values for example a + value greater than or equal to 0.5 on two surfaces (and + 0.25 with four surfaces), an overlay of multiple + transparent surfaces may not perfectly be sorted in + depth by the webgl API. This behavior may be improved + in the near future and is subject to change. reversescale - Reverses the color mapping if true. If true, `zmin` + Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and - `zmax` will correspond to the first color. - selected - :class:`plotly.graph_objects.choroplethmapbox.Selected` - instance or dict with compatible properties - selectedpoints - Array containing integer indices of selected points. - Has an effect only for traces that support selections. - Note that an empty array means an empty selection where - the `unselected` are turned on for all points, whereas, - any other non-array values means no selection all where - the `selected` and `unselected` styles have no effect. + `cmax` will correspond to the first color. + scene + Sets a reference between this trace's 3D coordinate + system and a 3D scene. If "scene" (the default value), + the (x,y,z) coordinates refer to `layout.scene`. If + "scene2", the (x,y,z) coordinates refer to + `layout.scene2`, and so on. showlegend Determines whether or not an item corresponding to this trace is shown in the legend. showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.choroplethmapbox.Stream` - instance or dict with compatible properties - subplot - mapbox subplots and traces are deprecated! Please - consider switching to `map` subplots and traces. Learn - more at: https://plotly.com/python/maplibre-migration/ - as well as https://plotly.com/javascript/maplibre- - migration/ Sets a reference between this trace's data - coordinates and a mapbox subplot. If "mapbox" (the - default value), the data refer to `layout.mapbox`. If - "mapbox2", the data refer to `layout.mapbox2`, and so - on. + sizemode + Determines whether `sizeref` is set as a "scaled" (i.e + unitless) scalar (normalized by the max u/v/w norm in + the vector field) or as "absolute" value (in the same + units as the vector field). To display sizes in actual + vector length use "raw". + sizeref + Adjusts the cone size scaling. The size of the cones is + determined by their u/v/w norm multiplied a factor and + `sizeref`. This factor (computed internally) + corresponds to the minimum "time" to travel across two + successive x/y/z positions at the average velocity of + those two successive positions. All cones in a given + trace use the same factor. With `sizemode` set to + "raw", its default value is 1. With `sizemode` set to + "scaled", `sizeref` is unitless, its default value is + 0.5. With `sizemode` set to "absolute", `sizeref` has + the same units as the u/v/w vector field, its the + default value is half the sample's maximum vector norm. text - Sets the text elements associated with each location. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. + Sets the text elements associated with the cones. If + trace `hoverinfo` contains a "text" flag and + "hovertext" is not set, these elements will be seen in + the hover labels. + u + Sets the x components of the vector field. + uhoverformat + Sets the hover text formatting rule for `u` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: https://github.com/d + 3/d3-format/tree/v1.4.5#d3-format.By default the values + are formatted using generic number format. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -4113,37 +3673,75 @@ def add_choroplethmapbox( the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves. - unselected - :class:`plotly.graph_objects.choroplethmapbox.Unselecte - d` instance or dict with compatible properties + v + Sets the y components of the vector field. + vhoverformat + Sets the hover text formatting rule for `v` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: https://github.com/d + 3/d3-format/tree/v1.4.5#d3-format.By default the values + are formatted using generic number format. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). + w + Sets the z components of the vector field. + whoverformat + Sets the hover text formatting rule for `w` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: https://github.com/d + 3/d3-format/tree/v1.4.5#d3-format.By default the values + are formatted using generic number format. + x + Sets the x coordinates of the vector field and of the + displayed cones. + xhoverformat + Sets the hover text formatting rule for `x` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. + And for dates see: https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format. We add two items to + d3's date formatter: "%h" for half of the year as a + decimal number as well as "%{n}f" for fractional + seconds with n digits. For example, *2016-10-13 + 09:15:23.456* with tickformat "%H~%M~%S.%2f" would + display *09~15~23.46*By default the values are + formatted using `xaxis.hoverformat`. + y + Sets the y coordinates of the vector field and of the + displayed cones. + yhoverformat + Sets the hover text formatting rule for `y` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. + And for dates see: https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format. We add two items to + d3's date formatter: "%h" for half of the year as a + decimal number as well as "%{n}f" for fractional + seconds with n digits. For example, *2016-10-13 + 09:15:23.456* with tickformat "%H~%M~%S.%2f" would + display *09~15~23.46*By default the values are + formatted using `yaxis.hoverformat`. z - Sets the color values. - zauto - Determines whether or not the color domain is computed - with respect to the input data (here in `z`) or the - bounds set in `zmin` and `zmax` Defaults to `false` - when `zmin` and `zmax` are set by the user. - zmax - Sets the upper bound of the color domain. Value should - have the same units as in `z` and if set, `zmin` must - be set as well. - zmid - Sets the mid-point of the color domain by scaling - `zmin` and/or `zmax` to be equidistant to this point. - Value should have the same units as in `z`. Has no - effect when `zauto` is `false`. - zmin - Sets the lower bound of the color domain. Value should - have the same units as in `z` and if set, `zmax` must - be set as well. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. + Sets the z coordinates of the vector field and of the + displayed cones. + zhoverformat + Sets the hover text formatting rule for `z` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. + And for dates see: https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format. We add two items to + d3's date formatter: "%h" for half of the year as a + decimal number as well as "%{n}f" for fractional + seconds with n digits. For example, *2016-10-13 + 09:15:23.456* with tickformat "%H~%M~%S.%2f" would + display *09~15~23.46*By default the values are + formatted using `zaxis.hoverformat`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -4159,144 +3757,145 @@ def add_choroplethmapbox( ------- Figure """ - from plotly.graph_objs import Choroplethmapbox + from plotly.graph_objs import Cone - new_trace = Choroplethmapbox( - autocolorscale=autocolorscale, - below=below, + new_trace = Cone( + anchor=anchor, + autocolorscale=autocolorscale, + cauto=cauto, + cmax=cmax, + cmid=cmid, + cmin=cmin, coloraxis=coloraxis, colorbar=colorbar, colorscale=colorscale, customdata=customdata, - customdatasrc=customdatasrc, - featureidkey=featureidkey, - geojson=geojson, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, - locations=locations, - locationssrc=locationssrc, - marker=marker, + lighting=lighting, + lightposition=lightposition, meta=meta, - metasrc=metasrc, name=name, + opacity=opacity, reversescale=reversescale, - selected=selected, - selectedpoints=selectedpoints, + scene=scene, showlegend=showlegend, showscale=showscale, - stream=stream, - subplot=subplot, + sizemode=sizemode, + sizeref=sizeref, text=text, - textsrc=textsrc, + u=u, + uhoverformat=uhoverformat, uid=uid, uirevision=uirevision, - unselected=unselected, + v=v, + vhoverformat=vhoverformat, visible=visible, + w=w, + whoverformat=whoverformat, + x=x, + xhoverformat=xhoverformat, + y=y, + yhoverformat=yhoverformat, z=z, - zauto=zauto, - zmax=zmax, - zmid=zmid, - zmin=zmin, - zsrc=zsrc, + zhoverformat=zhoverformat, **kwargs, ) return self.add_trace(new_trace, row=row, col=col) - def add_cone( + def add_contour( self, - anchor=None, autocolorscale=None, - cauto=None, - cmax=None, - cmid=None, - cmin=None, + autocontour=None, coloraxis=None, colorbar=None, colorscale=None, + connectgaps=None, + contours=None, customdata=None, - customdatasrc=None, + dx=None, + dy=None, + fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, + hoverongaps=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, legendrank=None, legendwidth=None, - lighting=None, - lightposition=None, + line=None, meta=None, - metasrc=None, name=None, + ncontours=None, opacity=None, reversescale=None, - scene=None, showlegend=None, showscale=None, - sizemode=None, - sizeref=None, - stream=None, text=None, - textsrc=None, - u=None, - uhoverformat=None, + textfont=None, + texttemplate=None, + texttemplatefallback=None, + transpose=None, uid=None, uirevision=None, - usrc=None, - v=None, - vhoverformat=None, visible=None, - vsrc=None, - w=None, - whoverformat=None, - wsrc=None, x=None, + x0=None, + xaxis=None, + xcalendar=None, xhoverformat=None, - xsrc=None, + xperiod=None, + xperiod0=None, + xperiodalignment=None, + xtype=None, y=None, + y0=None, + yaxis=None, + ycalendar=None, yhoverformat=None, - ysrc=None, + yperiod=None, + yperiod0=None, + yperiodalignment=None, + ytype=None, z=None, + zauto=None, zhoverformat=None, - zsrc=None, + zmax=None, + zmid=None, + zmin=None, + zorder=None, row=None, col=None, + secondary_y=None, **kwargs, ) -> "Figure": """ - Add a new Cone trace + Add a new Contour trace - Use cone traces to visualize vector fields. Specify a vector - field using 6 1D arrays, 3 position arrays `x`, `y` and `z` and - 3 vector component arrays `u`, `v`, `w`. The cones are drawn - exactly at the positions given by `x`, `y` and `z`. + The data from which contour lines are computed is set in `z`. + Data in `z` must be a 2D list of numbers. Say that `z` has N + rows and M columns, then by default, these N rows correspond to + N y coordinates (set in `y` or auto-generated) and the M + columns correspond to M x coordinates (set in `x` or auto- + generated). By setting `transpose` to True, the above behavior + is flipped. Parameters ---------- - anchor - Sets the cones' anchor with respect to their x/y/z - positions. Note that "cm" denote the cone's center of - mass which corresponds to 1/4 from the tail to tip. autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -4304,24 +3903,11 @@ def add_cone( `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed. - cauto - Determines whether or not the color domain is computed - with respect to the input data (here u/v/w norm) or the - bounds set in `cmin` and `cmax` Defaults to `false` - when `cmin` and `cmax` are set by the user. - cmax - Sets the upper bound of the color domain. Value should - have the same units as u/v/w norm and if set, `cmin` - must be set as well. - cmid - Sets the mid-point of the color domain by scaling - `cmin` and/or `cmax` to be equidistant to this point. - Value should have the same units as u/v/w norm. Has no - effect when `cauto` is `false`. - cmin - Sets the lower bound of the color domain. Value should - have the same units as u/v/w norm and if set, `cmax` - must be set as well. + autocontour + Determines whether or not the contour level attributes + are picked by an algorithm. If True, the number of + contour levels can be set in `ncontours`. If False, set + the contour level attributes in `contours`. coloraxis Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", @@ -4330,39 +3916,54 @@ def add_cone( `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis. colorbar - :class:`plotly.graph_objects.cone.ColorBar` instance or - dict with compatible properties + :class:`plotly.graph_objects.contour.ColorBar` instance + or dict with compatible properties colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + connectgaps + Determines whether or not gaps (i.e. {nan} or missing + values) in the `z` data are filled in. It is defaulted + to true if `z` is a one dimensional array otherwise it + is defaulted to false. + contours + :class:`plotly.graph_objects.contour.Contours` instance + or dict with compatible properties customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. + dx + Sets the x coordinate step. See `x0` for more info. + dy + Sets the y coordinate step. See `y0` for more info. + fillcolor + Sets the fill color if `contours.type` is "constraint". + Defaults to a half-transparent variant of the line + color, marker color, or marker line color, whichever is + available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel - :class:`plotly.graph_objects.cone.Hoverlabel` instance - or dict with compatible properties + :class:`plotly.graph_objects.contour.Hoverlabel` + instance or dict with compatible properties + hoverongaps + Determines whether or not gaps (i.e. {nan} or missing + values) in the `z` data have hover labels associated + with them. hovertemplate Template string used for rendering the information that appear on hover box. Note that this will override @@ -4392,9 +3993,8 @@ def add_cone( https://plotly.com/javascript/plotlyjs-events/#event- data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) - are available. Finally, the template string has access - to variable `norm` Anything contained in tag `` - is displayed in the secondary box, for example + are available. Anything contained in tag `` is + displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``. @@ -4403,21 +4003,12 @@ def add_cone( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -4429,7 +4020,7 @@ def add_cone( part of the same legend group hide/show at the same time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.cone.Legendgrouptitle` + :class:`plotly.graph_objects.contour.Legendgrouptitle` instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups @@ -4445,12 +4036,9 @@ def add_cone( legendwidth Sets the width (in px or fraction) of the legend for this trace. - lighting - :class:`plotly.graph_objects.cone.Lighting` instance or + line + :class:`plotly.graph_objects.contour.Line` instance or dict with compatible properties - lightposition - :class:`plotly.graph_objects.cone.Lightposition` - instance or dict with compatible properties meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -4464,131 +4052,104 @@ def add_cone( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. + ncontours + Sets the maximum number of contour levels. The actual + number of contours will be chosen automatically to be + less than or equal to the value of `ncontours`. Has an + effect only if `autocontour` is True or if + `contours.size` is missing. opacity - Sets the opacity of the surface. Please note that in - the case of using high `opacity` values for example a - value greater than or equal to 0.5 on two surfaces (and - 0.25 with four surfaces), an overlay of multiple - transparent surfaces may not perfectly be sorted in - depth by the webgl API. This behavior may be improved - in the near future and is subject to change. + Sets the opacity of the trace. reversescale - Reverses the color mapping if true. If true, `cmin` + Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and - `cmax` will correspond to the first color. - scene - Sets a reference between this trace's 3D coordinate - system and a 3D scene. If "scene" (the default value), - the (x,y,z) coordinates refer to `layout.scene`. If - "scene2", the (x,y,z) coordinates refer to - `layout.scene2`, and so on. + `zmax` will correspond to the first color. showlegend Determines whether or not an item corresponding to this trace is shown in the legend. showscale Determines whether or not a colorbar is displayed for this trace. - sizemode - Determines whether `sizeref` is set as a "scaled" (i.e - unitless) scalar (normalized by the max u/v/w norm in - the vector field) or as "absolute" value (in the same - units as the vector field). To display sizes in actual - vector length use "raw". - sizeref - Adjusts the cone size scaling. The size of the cones is - determined by their u/v/w norm multiplied a factor and - `sizeref`. This factor (computed internally) - corresponds to the minimum "time" to travel across two - successive x/y/z positions at the average velocity of - those two successive positions. All cones in a given - trace use the same factor. With `sizemode` set to - "raw", its default value is 1. With `sizemode` set to - "scaled", `sizeref` is unitless, its default value is - 0.5. With `sizemode` set to "absolute", `sizeref` has - the same units as the u/v/w vector field, its the - default value is half the sample's maximum vector norm. - stream - :class:`plotly.graph_objects.cone.Stream` instance or - dict with compatible properties text - Sets the text elements associated with the cones. If - trace `hoverinfo` contains a "text" flag and - "hovertext" is not set, these elements will be seen in - the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. - u - Sets the x components of the vector field. - uhoverformat - Sets the hover text formatting rulefor `u` using d3 - formatting mini-languages which are very similar to - those in Python. For numbers, see: https://github.com/d - 3/d3-format/tree/v1.4.5#d3-format.By default the values - are formatted using generic number format. - uid - Assign an id to this trace, Use this to provide object - constancy between traces during animations and - transitions. - uirevision - Controls persistence of some user-driven changes to the - trace: `constraintrange` in `parcoords` traces, as well - as some `editable: true` modifications such as `name` - and `colorbar.title`. Defaults to `layout.uirevision`. - Note that other user-driven trace attribute changes are - controlled by `layout` attributes: `trace.visible` is - controlled by `layout.legend.uirevision`, - `selectedpoints` is controlled by - `layout.selectionrevision`, and `colorbar.(x|y)` - (accessible with `config: {editable: true}`) is - controlled by `layout.editrevision`. Trace changes are - tracked by `uid`, which only falls back on trace index - if no `uid` is provided. So if your app can add/remove - traces before the end of the `data` array, such that - the same trace has a different index, you can still - preserve user-driven changes if you give each trace a - `uid` that stays with it as it moves. - usrc - Sets the source reference on Chart Studio Cloud for - `u`. - v - Sets the y components of the vector field. - vhoverformat - Sets the hover text formatting rulefor `v` using d3 - formatting mini-languages which are very similar to - those in Python. For numbers, see: https://github.com/d - 3/d3-format/tree/v1.4.5#d3-format.By default the values - are formatted using generic number format. + Sets the text elements associated with each z value. + textfont + For this trace it only has an effect if `coloring` is + set to "heatmap". Sets the text font. + texttemplate + For this trace it only has an effect if `coloring` is + set to "heatmap". Template string used for rendering + the information text that appears on points. Note that + this will override `textinfo`. Variables are inserted + using %{variable}, for example "y: %{y}". Numbers are + formatted using d3-format's syntax + %{variable:d3-format}, for example "Price: %{y:$.2f}". + https://github.com/d3/d3-format/tree/v1.4.5#d3-format + for details on the formatting syntax. Dates are + formatted using d3-time-format's syntax + %{variable|d3-time-format}, for example "Day: + %{2019-01-01|%A}". https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format for details on the + date formatting syntax. Variables that can't be found + will be replaced with the specifier. For example, a + template of "data: %{x}, %{y}" will result in a value + of "data: 1, %{y}" if x is 1 and y is missing. + Variables with an undefined value will be replaced with + the fallback value. All attributes that can be + specified per-point (the ones that are `arrayOk: true`) + are available. Finally, the template string has access + to variables `x`, `y`, `z` and `text`. + texttemplatefallback + Fallback string that's displayed when a variable + referenced in a template is missing. If the boolean + value 'false' is passed in, the specifier with the + missing variable will be displayed. + transpose + Transposes the z data. + uid + Assign an id to this trace, Use this to provide object + constancy between traces during animations and + transitions. + uirevision + Controls persistence of some user-driven changes to the + trace: `constraintrange` in `parcoords` traces, as well + as some `editable: true` modifications such as `name` + and `colorbar.title`. Defaults to `layout.uirevision`. + Note that other user-driven trace attribute changes are + controlled by `layout` attributes: `trace.visible` is + controlled by `layout.legend.uirevision`, + `selectedpoints` is controlled by + `layout.selectionrevision`, and `colorbar.(x|y)` + (accessible with `config: {editable: true}`) is + controlled by `layout.editrevision`. Trace changes are + tracked by `uid`, which only falls back on trace index + if no `uid` is provided. So if your app can add/remove + traces before the end of the `data` array, such that + the same trace has a different index, you can still + preserve user-driven changes if you give each trace a + `uid` that stays with it as it moves. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). - vsrc - Sets the source reference on Chart Studio Cloud for - `v`. - w - Sets the z components of the vector field. - whoverformat - Sets the hover text formatting rulefor `w` using d3 - formatting mini-languages which are very similar to - those in Python. For numbers, see: https://github.com/d - 3/d3-format/tree/v1.4.5#d3-format.By default the values - are formatted using generic number format. - wsrc - Sets the source reference on Chart Studio Cloud for - `w`. x - Sets the x coordinates of the vector field and of the - displayed cones. + Sets the x coordinates. + x0 + Alternate to `x`. Builds a linear space of x + coordinates. Use with `dx` where `x0` is the starting + coordinate and `dx` the step. + xaxis + Sets a reference between this trace's x coordinates and + a 2D cartesian x axis. If "x" (the default value), the + x coordinates refer to `layout.xaxis`. If "x2", the x + coordinates refer to `layout.xaxis2`, and so on. + xcalendar + Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -4600,14 +4161,43 @@ def add_cone( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. + xperiod + Only relevant when the axis `type` is "date". Sets the + period positioning in milliseconds or "M" on the x + axis. Special values in the form of "M" could be + used to declare the number of months. In this case `n` + must be a positive integer. + xperiod0 + Only relevant when the axis `type` is "date". Sets the + base for period positioning in milliseconds or date + string on the x0 axis. When `x0period` is round number + of weeks, the `x0period0` by default would be on a + Sunday i.e. 2000-01-02, otherwise it would be at + 2000-01-01. + xperiodalignment + Only relevant when the axis `type` is "date". Sets the + alignment of data points on the x axis. + xtype + If "array", the heatmap's x coordinates are given by + "x" (the default behavior when `x` is provided). If + "scaled", the heatmap's x coordinates are given by "x0" + and "dx" (the default behavior when `x` is not + provided). y - Sets the y coordinates of the vector field and of the - displayed cones. + Sets the y coordinates. + y0 + Alternate to `y`. Builds a linear space of y + coordinates. Use with `dy` where `y0` is the starting + coordinate and `dy` the step. + yaxis + Sets a reference between this trace's y coordinates and + a 2D cartesian y axis. If "y" (the default value), the + y coordinates refer to `layout.yaxis`. If "y2", the y + coordinates refer to `layout.yaxis2`, and so on. + ycalendar + Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -4619,28 +4209,59 @@ def add_cone( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. + yperiod + Only relevant when the axis `type` is "date". Sets the + period positioning in milliseconds or "M" on the y + axis. Special values in the form of "M" could be + used to declare the number of months. In this case `n` + must be a positive integer. + yperiod0 + Only relevant when the axis `type` is "date". Sets the + base for period positioning in milliseconds or date + string on the y0 axis. When `y0period` is round number + of weeks, the `y0period0` by default would be on a + Sunday i.e. 2000-01-02, otherwise it would be at + 2000-01-01. + yperiodalignment + Only relevant when the axis `type` is "date". Sets the + alignment of data points on the y axis. + ytype + If "array", the heatmap's y coordinates are given by + "y" (the default behavior when `y` is provided) If + "scaled", the heatmap's y coordinates are given by "y0" + and "dy" (the default behavior when `y` is not + provided) z - Sets the z coordinates of the vector field and of the - displayed cones. + Sets the z data. + zauto + Determines whether or not the color domain is computed + with respect to the input data (here in `z`) or the + bounds set in `zmin` and `zmax` Defaults to `false` + when `zmin` and `zmax` are set by the user. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to - those in Python. For numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - And for dates see: https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two items to - d3's date formatter: "%h" for half of the year as a - decimal number as well as "%{n}f" for fractional - seconds with n digits. For example, *2016-10-13 - 09:15:23.456* with tickformat "%H~%M~%S.%2f" would - display *09~15~23.46*By default the values are - formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. + those in Python. For numbers, see: https://github.com/d + 3/d3-format/tree/v1.4.5#d3-format.By default the values + are formatted using generic number format. + zmax + Sets the upper bound of the color domain. Value should + have the same units as in `z` and if set, `zmin` must + be set as well. + zmid + Sets the mid-point of the color domain by scaling + `zmin` and/or `zmax` to be equidistant to this point. + Value should have the same units as in `z`. Has no + effect when `zauto` is `false`. + zmin + Sets the lower bound of the color domain. Value should + have the same units as in `z` and if set, `zmax` must + be set as well. + zorder + Sets the layer on which this trace is displayed, + relative to other SVG traces on the same subplot. SVG + traces with higher `zorder` appear in front of those + with lower `zorder`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -4651,105 +4272,113 @@ def add_cone( added. Only valid if figure was created using `plotly.tools.make_subplots`.If 'all', addresses all columns in the specified row(s). + secondary_y: boolean or None (default None) + If True, associate this trace with the secondary y-axis of the + subplot at the specified row and col. Only valid if all of the + following conditions are satisfied: + * The figure was created using `plotly.subplots.make_subplots`. + * The row and col arguments are not None + * The subplot at the specified row and col has type xy + (which is the default) and secondary_y True. These + properties are specified in the specs argument to + make_subplots. See the make_subplots docstring for more info. Returns ------- Figure """ - from plotly.graph_objs import Cone + from plotly.graph_objs import Contour - new_trace = Cone( - anchor=anchor, + new_trace = Contour( autocolorscale=autocolorscale, - cauto=cauto, - cmax=cmax, - cmid=cmid, - cmin=cmin, + autocontour=autocontour, coloraxis=coloraxis, colorbar=colorbar, colorscale=colorscale, + connectgaps=connectgaps, + contours=contours, customdata=customdata, - customdatasrc=customdatasrc, + dx=dx, + dy=dy, + fillcolor=fillcolor, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, + hoverongaps=hoverongaps, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, - lighting=lighting, - lightposition=lightposition, + line=line, meta=meta, - metasrc=metasrc, name=name, + ncontours=ncontours, opacity=opacity, reversescale=reversescale, - scene=scene, showlegend=showlegend, showscale=showscale, - sizemode=sizemode, - sizeref=sizeref, - stream=stream, text=text, - textsrc=textsrc, - u=u, - uhoverformat=uhoverformat, + textfont=textfont, + texttemplate=texttemplate, + texttemplatefallback=texttemplatefallback, + transpose=transpose, uid=uid, uirevision=uirevision, - usrc=usrc, - v=v, - vhoverformat=vhoverformat, visible=visible, - vsrc=vsrc, - w=w, - whoverformat=whoverformat, - wsrc=wsrc, x=x, + x0=x0, + xaxis=xaxis, + xcalendar=xcalendar, xhoverformat=xhoverformat, - xsrc=xsrc, + xperiod=xperiod, + xperiod0=xperiod0, + xperiodalignment=xperiodalignment, + xtype=xtype, y=y, + y0=y0, + yaxis=yaxis, + ycalendar=ycalendar, yhoverformat=yhoverformat, - ysrc=ysrc, + yperiod=yperiod, + yperiod0=yperiod0, + yperiodalignment=yperiodalignment, + ytype=ytype, z=z, + zauto=zauto, zhoverformat=zhoverformat, - zsrc=zsrc, + zmax=zmax, + zmid=zmid, + zmin=zmin, + zorder=zorder, **kwargs, ) - return self.add_trace(new_trace, row=row, col=col) + return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) - def add_contour( + def add_contourcarpet( self, + a=None, + a0=None, + atype=None, autocolorscale=None, autocontour=None, + b=None, + b0=None, + btype=None, + carpet=None, coloraxis=None, colorbar=None, colorscale=None, - connectgaps=None, contours=None, customdata=None, - customdatasrc=None, - dx=None, - dy=None, + da=None, + db=None, fillcolor=None, - hoverinfo=None, - hoverinfosrc=None, - hoverlabel=None, - hoverongaps=None, - hovertemplate=None, - hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -4757,69 +4386,51 @@ def add_contour( legendwidth=None, line=None, meta=None, - metasrc=None, name=None, ncontours=None, opacity=None, reversescale=None, showlegend=None, showscale=None, - stream=None, text=None, - textfont=None, - textsrc=None, - texttemplate=None, - texttemplatefallback=None, transpose=None, uid=None, uirevision=None, visible=None, - x=None, - x0=None, xaxis=None, - xcalendar=None, - xhoverformat=None, - xperiod=None, - xperiod0=None, - xperiodalignment=None, - xsrc=None, - xtype=None, - y=None, - y0=None, yaxis=None, - ycalendar=None, - yhoverformat=None, - yperiod=None, - yperiod0=None, - yperiodalignment=None, - ysrc=None, - ytype=None, z=None, zauto=None, - zhoverformat=None, zmax=None, zmid=None, zmin=None, zorder=None, - zsrc=None, row=None, col=None, secondary_y=None, **kwargs, ) -> "Figure": """ - Add a new Contour trace + Add a new Contourcarpet trace - The data from which contour lines are computed is set in `z`. - Data in `z` must be a 2D list of numbers. Say that `z` has N - rows and M columns, then by default, these N rows correspond to - N y coordinates (set in `y` or auto-generated) and the M - columns correspond to M x coordinates (set in `x` or auto- - generated). By setting `transpose` to True, the above behavior - is flipped. + Plots contours on either the first carpet axis or the carpet + axis with a matching `carpet` attribute. Data `z` is + interpreted as matching that of the corresponding carpet axis. Parameters ---------- + a + Sets the x coordinates. + a0 + Alternate to `x`. Builds a linear space of x + coordinates. Use with `dx` where `x0` is the starting + coordinate and `dx` the step. + atype + If "array", the heatmap's x coordinates are given by + "x" (the default behavior when `x` is provided). If + "scaled", the heatmap's x coordinates are given by "x0" + and "dx" (the default behavior when `x` is not + provided). autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -4832,6 +4443,21 @@ def add_contour( are picked by an algorithm. If True, the number of contour levels can be set in `ncontours`. If False, set the contour level attributes in `contours`. + b + Sets the y coordinates. + b0 + Alternate to `y`. Builds a linear space of y + coordinates. Use with `dy` where `y0` is the starting + coordinate and `dy` the step. + btype + If "array", the heatmap's y coordinates are given by + "y" (the default behavior when `y` is provided) If + "scaled", the heatmap's y coordinates are given by "y0" + and "dy" (the default behavior when `y` is not + provided) + carpet + The `carpet` of the carpet axes on which this contour + trace lies coloraxis Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", @@ -4840,114 +4466,43 @@ def add_contour( `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis. colorbar - :class:`plotly.graph_objects.contour.ColorBar` instance - or dict with compatible properties + :class:`plotly.graph_objects.contourcarpet.ColorBar` + instance or dict with compatible properties colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - connectgaps - Determines whether or not gaps (i.e. {nan} or missing - values) in the `z` data are filled in. It is defaulted - to true if `z` is a one dimensional array otherwise it - is defaulted to false. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. contours - :class:`plotly.graph_objects.contour.Contours` instance - or dict with compatible properties + :class:`plotly.graph_objects.contourcarpet.Contours` + instance or dict with compatible properties customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - dx + da Sets the x coordinate step. See `x0` for more info. - dy + db Sets the y coordinate step. See `y0` for more info. fillcolor Sets the fill color if `contours.type` is "constraint". Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available. - hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - hoverlabel - :class:`plotly.graph_objects.contour.Hoverlabel` - instance or dict with compatible properties - hoverongaps - Determines whether or not gaps (i.e. {nan} or missing - values) in the `z` data have hover labels associated - with them. - hovertemplate - Template string used for rendering the information that - appear on hover box. Note that this will override - `hoverinfo`. Variables are inserted using %{variable}, - for example "y: %{y}" as well as %{xother}, {%_xother}, - {%_xother_}, {%xother_}. When showing info for several - points, "xother" will be added to those with different - x positions from the first point. An underscore before - or after "(x|y)other" will add a space on that side, - only when this field is shown. Numbers are formatted - using d3-format's syntax %{variable:d3-format}, for - example "Price: %{y:$.2f}". - https://github.com/d3/d3-format/tree/v1.4.5#d3-format - for details on the formatting syntax. Dates are - formatted using d3-time-format's syntax - %{variable|d3-time-format}, for example "Day: - %{2019-01-01|%A}". https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format for details on the - date formatting syntax. Variables that can't be found - will be replaced with the specifier. For example, a - template of "data: %{x}, %{y}" will result in a value - of "data: 1, %{y}" if x is 1 and y is missing. - Variables with an undefined value will be replaced with - the fallback value. The variables available in - `hovertemplate` are the ones emitted as event data - described at this link - https://plotly.com/javascript/plotlyjs-events/#event- - data. Additionally, all attributes that can be - specified per-point (the ones that are `arrayOk: true`) - are available. Anything contained in tag `` is - displayed in the secondary box, for example - `%{fullData.name}`. To hide the - secondary box completely, use an empty tag - ``. - hovertemplatefallback - Fallback string that's displayed when a variable - referenced in a template is missing. If the boolean - value 'false' is passed in, the specifier with the - missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -4959,8 +4514,8 @@ def add_contour( part of the same legend group hide/show at the same time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.contour.Legendgrouptitle` - instance or dict with compatible properties + :class:`plotly.graph_objects.contourcarpet.Legendgroupt + itle` instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while @@ -4976,8 +4531,8 @@ def add_contour( Sets the width (in px or fraction) of the legend for this trace. line - :class:`plotly.graph_objects.contour.Line` instance or - dict with compatible properties + :class:`plotly.graph_objects.contourcarpet.Line` + instance or dict with compatible properties meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -4991,9 +4546,6 @@ def add_contour( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -5015,45 +4567,8 @@ def add_contour( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.contour.Stream` instance - or dict with compatible properties text Sets the text elements associated with each z value. - textfont - For this trace it only has an effect if `coloring` is - set to "heatmap". Sets the text font. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. - texttemplate - For this trace it only has an effect if `coloring` is - set to "heatmap". Template string used for rendering - the information text that appears on points. Note that - this will override `textinfo`. Variables are inserted - using %{variable}, for example "y: %{y}". Numbers are - formatted using d3-format's syntax - %{variable:d3-format}, for example "Price: %{y:$.2f}". - https://github.com/d3/d3-format/tree/v1.4.5#d3-format - for details on the formatting syntax. Dates are - formatted using d3-time-format's syntax - %{variable|d3-time-format}, for example "Day: - %{2019-01-01|%A}". https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format for details on the - date formatting syntax. Variables that can't be found - will be replaced with the specifier. For example, a - template of "data: %{x}, %{y}" will result in a value - of "data: 1, %{y}" if x is 1 and y is missing. - Variables with an undefined value will be replaced with - the fallback value. All attributes that can be - specified per-point (the ones that are `arrayOk: true`) - are available. Finally, the template string has access - to variables `x`, `y`, `z` and `text`. - texttemplatefallback - Fallback string that's displayed when a variable - referenced in a template is missing. If the boolean - value 'false' is passed in, the specifier with the - missing variable will be displayed. transpose Transposes the z data. uid @@ -5083,108 +4598,16 @@ def add_contour( "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). - x - Sets the x coordinates. - x0 - Alternate to `x`. Builds a linear space of x - coordinates. Use with `dx` where `x0` is the starting - coordinate and `dx` the step. xaxis Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on. - xcalendar - Sets the calendar system to use with `x` date data. - xhoverformat - Sets the hover text formatting rulefor `x` using d3 - formatting mini-languages which are very similar to - those in Python. For numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - And for dates see: https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two items to - d3's date formatter: "%h" for half of the year as a - decimal number as well as "%{n}f" for fractional - seconds with n digits. For example, *2016-10-13 - 09:15:23.456* with tickformat "%H~%M~%S.%2f" would - display *09~15~23.46*By default the values are - formatted using `xaxis.hoverformat`. - xperiod - Only relevant when the axis `type` is "date". Sets the - period positioning in milliseconds or "M" on the x - axis. Special values in the form of "M" could be - used to declare the number of months. In this case `n` - must be a positive integer. - xperiod0 - Only relevant when the axis `type` is "date". Sets the - base for period positioning in milliseconds or date - string on the x0 axis. When `x0period` is round number - of weeks, the `x0period0` by default would be on a - Sunday i.e. 2000-01-02, otherwise it would be at - 2000-01-01. - xperiodalignment - Only relevant when the axis `type` is "date". Sets the - alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. - xtype - If "array", the heatmap's x coordinates are given by - "x" (the default behavior when `x` is provided). If - "scaled", the heatmap's x coordinates are given by "x0" - and "dx" (the default behavior when `x` is not - provided). - y - Sets the y coordinates. - y0 - Alternate to `y`. Builds a linear space of y - coordinates. Use with `dy` where `y0` is the starting - coordinate and `dy` the step. yaxis Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on. - ycalendar - Sets the calendar system to use with `y` date data. - yhoverformat - Sets the hover text formatting rulefor `y` using d3 - formatting mini-languages which are very similar to - those in Python. For numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - And for dates see: https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two items to - d3's date formatter: "%h" for half of the year as a - decimal number as well as "%{n}f" for fractional - seconds with n digits. For example, *2016-10-13 - 09:15:23.456* with tickformat "%H~%M~%S.%2f" would - display *09~15~23.46*By default the values are - formatted using `yaxis.hoverformat`. - yperiod - Only relevant when the axis `type` is "date". Sets the - period positioning in milliseconds or "M" on the y - axis. Special values in the form of "M" could be - used to declare the number of months. In this case `n` - must be a positive integer. - yperiod0 - Only relevant when the axis `type` is "date". Sets the - base for period positioning in milliseconds or date - string on the y0 axis. When `y0period` is round number - of weeks, the `y0period0` by default would be on a - Sunday i.e. 2000-01-02, otherwise it would be at - 2000-01-01. - yperiodalignment - Only relevant when the axis `type` is "date". Sets the - alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. - ytype - If "array", the heatmap's y coordinates are given by - "y" (the default behavior when `y` is provided) If - "scaled", the heatmap's y coordinates are given by "y0" - and "dy" (the default behavior when `y` is not - provided) z Sets the z data. zauto @@ -5192,12 +4615,6 @@ def add_contour( with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user. - zhoverformat - Sets the hover text formatting rulefor `z` using d3 - formatting mini-languages which are very similar to - those in Python. For numbers, see: https://github.com/d - 3/d3-format/tree/v1.4.5#d3-format.By default the values - are formatted using generic number format. zmax Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must @@ -5216,9 +4633,6 @@ def add_contour( relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -5244,32 +4658,28 @@ def add_contour( ------- Figure """ - from plotly.graph_objs import Contour + from plotly.graph_objs import Contourcarpet - new_trace = Contour( + new_trace = Contourcarpet( + a=a, + a0=a0, + atype=atype, autocolorscale=autocolorscale, autocontour=autocontour, + b=b, + b0=b0, + btype=btype, + carpet=carpet, coloraxis=coloraxis, colorbar=colorbar, colorscale=colorscale, - connectgaps=connectgaps, contours=contours, customdata=customdata, - customdatasrc=customdatasrc, - dx=dx, - dy=dy, + da=da, + db=db, fillcolor=fillcolor, - hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, - hoverlabel=hoverlabel, - hoverongaps=hoverongaps, - hovertemplate=hovertemplate, - hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -5277,140 +4687,80 @@ def add_contour( legendwidth=legendwidth, line=line, meta=meta, - metasrc=metasrc, name=name, ncontours=ncontours, opacity=opacity, reversescale=reversescale, showlegend=showlegend, showscale=showscale, - stream=stream, text=text, - textfont=textfont, - textsrc=textsrc, - texttemplate=texttemplate, - texttemplatefallback=texttemplatefallback, transpose=transpose, uid=uid, uirevision=uirevision, visible=visible, - x=x, - x0=x0, xaxis=xaxis, - xcalendar=xcalendar, - xhoverformat=xhoverformat, - xperiod=xperiod, - xperiod0=xperiod0, - xperiodalignment=xperiodalignment, - xsrc=xsrc, - xtype=xtype, - y=y, - y0=y0, yaxis=yaxis, - ycalendar=ycalendar, - yhoverformat=yhoverformat, - yperiod=yperiod, - yperiod0=yperiod0, - yperiodalignment=yperiodalignment, - ysrc=ysrc, - ytype=ytype, z=z, zauto=zauto, - zhoverformat=zhoverformat, zmax=zmax, zmid=zmid, zmin=zmin, zorder=zorder, - zsrc=zsrc, **kwargs, ) return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) - def add_contourcarpet( + def add_densitymap( self, - a=None, - a0=None, - asrc=None, - atype=None, autocolorscale=None, - autocontour=None, - b=None, - b0=None, - bsrc=None, - btype=None, - carpet=None, + below=None, coloraxis=None, colorbar=None, colorscale=None, - contours=None, customdata=None, - customdatasrc=None, - da=None, - db=None, - fillcolor=None, + hoverinfo=None, + hoverlabel=None, + hovertemplate=None, + hovertemplatefallback=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, + lat=None, legend=None, legendgroup=None, legendgrouptitle=None, legendrank=None, legendwidth=None, - line=None, + lon=None, meta=None, - metasrc=None, name=None, - ncontours=None, opacity=None, + radius=None, reversescale=None, showlegend=None, showscale=None, - stream=None, + subplot=None, text=None, - textsrc=None, - transpose=None, uid=None, uirevision=None, visible=None, - xaxis=None, - yaxis=None, z=None, zauto=None, zmax=None, zmid=None, zmin=None, - zorder=None, - zsrc=None, row=None, col=None, - secondary_y=None, **kwargs, ) -> "Figure": """ - Add a new Contourcarpet trace + Add a new Densitymap trace - Plots contours on either the first carpet axis or the carpet - axis with a matching `carpet` attribute. Data `z` is - interpreted as matching that of the corresponding carpet axis. + Draws a bivariate kernel density estimation with a Gaussian + kernel from `lon` and `lat` coordinates and optional `z` values + using a colorscale. Parameters ---------- - a - Sets the x coordinates. - a0 - Alternate to `x`. Builds a linear space of x - coordinates. Use with `dx` where `x0` is the starting - coordinate and `dx` the step. - asrc - Sets the source reference on Chart Studio Cloud for - `a`. - atype - If "array", the heatmap's x coordinates are given by - "x" (the default behavior when `x` is provided). If - "scaled", the heatmap's x coordinates are given by "x0" - and "dx" (the default behavior when `x` is not - provided). autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -5418,29 +4768,12 @@ def add_contourcarpet( `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed. - autocontour - Determines whether or not the contour level attributes - are picked by an algorithm. If True, the number of - contour levels can be set in `ncontours`. If False, set - the contour level attributes in `contours`. - b - Sets the y coordinates. - b0 - Alternate to `y`. Builds a linear space of y - coordinates. Use with `dy` where `y0` is the starting - coordinate and `dy` the step. - bsrc - Sets the source reference on Chart Studio Cloud for - `b`. - btype - If "array", the heatmap's y coordinates are given by - "y" (the default behavior when `y` is provided) If - "scaled", the heatmap's y coordinates are given by "y0" - and "dy" (the default behavior when `y` is not - provided) - carpet - The `carpet` of the carpet axes on which this contour - trace lies + below + Determines if the densitymap trace will be inserted + before the layer with the specified ID. By default, + densitymap traces are placed below the first layer of + type symbol If set to '', the layer will be inserted + above every existing layer. coloraxis Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", @@ -5449,52 +4782,85 @@ def add_contourcarpet( `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis. colorbar - :class:`plotly.graph_objects.contourcarpet.ColorBar` + :class:`plotly.graph_objects.densitymap.ColorBar` instance or dict with compatible properties colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - contours - :class:`plotly.graph_objects.contourcarpet.Contours` - instance or dict with compatible properties + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - da - Sets the x coordinate step. See `x0` for more info. - db - Sets the y coordinate step. See `y0` for more info. - fillcolor - Sets the fill color if `contours.type` is "constraint". - Defaults to a half-transparent variant of the line - color, marker color, or marker line color, whichever is - available. + hoverinfo + Determines what trace information appears on hover. If + `none` or `skip` are set, no information is displayed + upon hovering. But, if `none` is set, click and hover + events are still fired. + hoverlabel + :class:`plotly.graph_objects.densitymap.Hoverlabel` + instance or dict with compatible properties + hovertemplate + Template string used for rendering the information that + appear on hover box. Note that this will override + `hoverinfo`. Variables are inserted using %{variable}, + for example "y: %{y}" as well as %{xother}, {%_xother}, + {%_xother_}, {%xother_}. When showing info for several + points, "xother" will be added to those with different + x positions from the first point. An underscore before + or after "(x|y)other" will add a space on that side, + only when this field is shown. Numbers are formatted + using d3-format's syntax %{variable:d3-format}, for + example "Price: %{y:$.2f}". + https://github.com/d3/d3-format/tree/v1.4.5#d3-format + for details on the formatting syntax. Dates are + formatted using d3-time-format's syntax + %{variable|d3-time-format}, for example "Day: + %{2019-01-01|%A}". https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format for details on the + date formatting syntax. Variables that can't be found + will be replaced with the specifier. For example, a + template of "data: %{x}, %{y}" will result in a value + of "data: 1, %{y}" if x is 1 and y is missing. + Variables with an undefined value will be replaced with + the fallback value. The variables available in + `hovertemplate` are the ones emitted as event data + described at this link + https://plotly.com/javascript/plotlyjs-events/#event- + data. Additionally, all attributes that can be + specified per-point (the ones that are `arrayOk: true`) + are available. Anything contained in tag `` is + displayed in the secondary box, for example + `%{fullData.name}`. To hide the + secondary box completely, use an empty tag + ``. + hovertemplatefallback + Fallback string that's displayed when a variable + referenced in a template is missing. If the boolean + value 'false' is passed in, the specifier with the + missing variable will be displayed. hovertext - Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. + Sets hover text elements associated with each (lon,lat) + pair If a single string, the same string appears over + all the data points. If an array of string, the items + are mapped in order to the this trace's (lon,lat) + coordinates. To be seen, trace `hoverinfo` must contain + a "text" flag. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. + lat + Sets the latitude coordinates (in degrees North). legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -5506,8 +4872,8 @@ def add_contourcarpet( part of the same legend group hide/show at the same time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.contourcarpet.Legendgroupt - itle` instance or dict with compatible properties + :class:`plotly.graph_objects.densitymap.Legendgrouptitl + e` instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while @@ -5522,9 +4888,8 @@ def add_contourcarpet( legendwidth Sets the width (in px or fraction) of the legend for this trace. - line - :class:`plotly.graph_objects.contourcarpet.Line` - instance or dict with compatible properties + lon + Sets the longitude coordinates (in degrees East). meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -5538,20 +4903,15 @@ def add_contourcarpet( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. - ncontours - Sets the maximum number of contour levels. The actual - number of contours will be chosen automatically to be - less than or equal to the value of `ncontours`. Has an - effect only if `autocontour` is True or if - `contours.size` is missing. opacity Sets the opacity of the trace. + radius + Sets the radius of influence of one `lon` / `lat` point + in pixels. Increasing the value makes the densitymap + trace smoother, but less detailed. reversescale Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and @@ -5562,16 +4922,19 @@ def add_contourcarpet( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.contourcarpet.Stream` - instance or dict with compatible properties + subplot + Sets a reference between this trace's data coordinates + and a map subplot. If "map" (the default value), the + data refer to `layout.map`. If "map2", the data refer + to `layout.map2`, and so on. text - Sets the text elements associated with each z value. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. - transpose - Transposes the z data. + Sets text elements associated with each (lon,lat) pair + If a single string, the same string appears over all + the data points. If an array of string, the items are + mapped in order to the this trace's (lon,lat) + coordinates. If trace `hoverinfo` contains a "text" + flag and "hovertext" is not set, these elements will be + seen in the hover labels. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -5599,18 +4962,10 @@ def add_contourcarpet( "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). - xaxis - Sets a reference between this trace's x coordinates and - a 2D cartesian x axis. If "x" (the default value), the - x coordinates refer to `layout.xaxis`. If "x2", the x - coordinates refer to `layout.xaxis2`, and so on. - yaxis - Sets a reference between this trace's y coordinates and - a 2D cartesian y axis. If "y" (the default value), the - y coordinates refer to `layout.yaxis`. If "y2", the y - coordinates refer to `layout.yaxis2`, and so on. z - Sets the z data. + Sets the points' weight. For example, a value of 10 + would be equivalent to having 10 points of weight 1 in + the same spot zauto Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the @@ -5629,14 +4984,6 @@ def add_contourcarpet( Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well. - zorder - Sets the layer on which this trace is displayed, - relative to other SVG traces on the same subplot. SVG - traces with higher `zorder` appear in front of those - with lower `zorder`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -5647,198 +4994,161 @@ def add_contourcarpet( added. Only valid if figure was created using `plotly.tools.make_subplots`.If 'all', addresses all columns in the specified row(s). - secondary_y: boolean or None (default None) - If True, associate this trace with the secondary y-axis of the - subplot at the specified row and col. Only valid if all of the - following conditions are satisfied: - * The figure was created using `plotly.subplots.make_subplots`. - * The row and col arguments are not None - * The subplot at the specified row and col has type xy - (which is the default) and secondary_y True. These - properties are specified in the specs argument to - make_subplots. See the make_subplots docstring for more info. Returns ------- Figure """ - from plotly.graph_objs import Contourcarpet + from plotly.graph_objs import Densitymap - new_trace = Contourcarpet( - a=a, - a0=a0, - asrc=asrc, - atype=atype, + new_trace = Densitymap( autocolorscale=autocolorscale, - autocontour=autocontour, - b=b, - b0=b0, - bsrc=bsrc, - btype=btype, - carpet=carpet, + below=below, coloraxis=coloraxis, colorbar=colorbar, colorscale=colorscale, - contours=contours, customdata=customdata, - customdatasrc=customdatasrc, - da=da, - db=db, - fillcolor=fillcolor, + hoverinfo=hoverinfo, + hoverlabel=hoverlabel, + hovertemplate=hovertemplate, + hovertemplatefallback=hovertemplatefallback, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, + lat=lat, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, - line=line, + lon=lon, meta=meta, - metasrc=metasrc, name=name, - ncontours=ncontours, opacity=opacity, + radius=radius, reversescale=reversescale, showlegend=showlegend, showscale=showscale, - stream=stream, + subplot=subplot, text=text, - textsrc=textsrc, - transpose=transpose, uid=uid, uirevision=uirevision, visible=visible, - xaxis=xaxis, - yaxis=yaxis, z=z, zauto=zauto, zmax=zmax, zmid=zmid, zmin=zmin, - zorder=zorder, - zsrc=zsrc, **kwargs, ) - return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) + return self.add_trace(new_trace, row=row, col=col) - def add_densitymap( + def add_funnel( self, - autocolorscale=None, - below=None, - coloraxis=None, - colorbar=None, - colorscale=None, + alignmentgroup=None, + cliponaxis=None, + connector=None, + constraintext=None, customdata=None, - customdatasrc=None, + dx=None, + dy=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, - lat=None, - latsrc=None, + insidetextanchor=None, + insidetextfont=None, legend=None, legendgroup=None, legendgrouptitle=None, legendrank=None, legendwidth=None, - lon=None, - lonsrc=None, + marker=None, meta=None, - metasrc=None, name=None, + offset=None, + offsetgroup=None, opacity=None, - radius=None, - radiussrc=None, - reversescale=None, + orientation=None, + outsidetextfont=None, + selectedpoints=None, showlegend=None, - showscale=None, - stream=None, - subplot=None, text=None, - textsrc=None, + textangle=None, + textfont=None, + textinfo=None, + textposition=None, + texttemplate=None, + texttemplatefallback=None, uid=None, uirevision=None, visible=None, - z=None, - zauto=None, - zmax=None, - zmid=None, - zmin=None, - zsrc=None, + width=None, + x=None, + x0=None, + xaxis=None, + xhoverformat=None, + xperiod=None, + xperiod0=None, + xperiodalignment=None, + y=None, + y0=None, + yaxis=None, + yhoverformat=None, + yperiod=None, + yperiod0=None, + yperiodalignment=None, + zorder=None, row=None, col=None, + secondary_y=None, **kwargs, ) -> "Figure": """ - Add a new Densitymap trace + Add a new Funnel trace - Draws a bivariate kernel density estimation with a Gaussian - kernel from `lon` and `lat` coordinates and optional `z` values - using a colorscale. + Visualize stages in a process using length-encoded bars. This + trace can be used to show data in either a part-to-whole + representation wherein each item appears in a single stage, or + in a "drop-off" representation wherein each item appears in + each stage it traversed. See also the "funnelarea" trace type + for a different approach to visualizing funnel data. Parameters ---------- - autocolorscale - Determines whether the colorscale is a default palette - (`autocolorscale: true`) or the palette determined by - `colorscale`. In case `colorscale` is unspecified or - `autocolorscale` is true, the default palette will be - chosen according to whether numbers in the `color` - array are all positive, all negative or mixed. - below - Determines if the densitymap trace will be inserted - before the layer with the specified ID. By default, - densitymap traces are placed below the first layer of - type symbol If set to '', the layer will be inserted - above every existing layer. - coloraxis - Sets a reference to a shared color axis. References to - these shared color axes are "coloraxis", "coloraxis2", - "coloraxis3", etc. Settings for these shared color axes - are set in the layout, under `layout.coloraxis`, - `layout.coloraxis2`, etc. Note that multiple color - scales can be linked to the same color axis. - colorbar - :class:`plotly.graph_objects.densitymap.ColorBar` - instance or dict with compatible properties - colorscale - Sets the colorscale. The colorscale must be an array - containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + alignmentgroup + Set several traces linked to the same position axis or + matching axes to the same alignmentgroup. This controls + whether bars compute their positional range dependently + or independently. + cliponaxis + Determines whether the text nodes are clipped about the + subplot axes. To show the text nodes above axis lines + and tick labels, make sure to set `xaxis.layer` and + `yaxis.layer` to *below traces*. + connector + :class:`plotly.graph_objects.funnel.Connector` instance + or dict with compatible properties + constraintext + Constrain the size of text inside or outside a bar to + be no larger than the bar itself. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. + dx + Sets the x coordinate step. See `x0` for more info. + dy + Sets the y coordinate step. See `y0` for more info. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel - :class:`plotly.graph_objects.densitymap.Hoverlabel` + :class:`plotly.graph_objects.funnel.Hoverlabel` instance or dict with compatible properties hovertemplate Template string used for rendering the information that @@ -5869,7 +5179,9 @@ def add_densitymap( https://plotly.com/javascript/plotlyjs-events/#event- data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) - are available. Anything contained in tag `` is + are available. Finally, the template string has access + to variables `percentInitial`, `percentPrevious` and + `percentTotal`. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag @@ -5879,31 +5191,22 @@ def add_densitymap( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext - Sets hover text elements associated with each (lon,lat) - pair If a single string, the same string appears over + Sets hover text elements associated with each (x,y) + pair. If a single string, the same string appears over all the data points. If an array of string, the items - are mapped in order to the this trace's (lon,lat) + are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. - lat - Sets the latitude coordinates (in degrees North). - latsrc - Sets the source reference on Chart Studio Cloud for - `lat`. + insidetextanchor + Determines if texts are kept at center or start/end + points in `textposition` "inside" mode. + insidetextfont + Sets the font used for `text` lying inside the bar. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -5915,8 +5218,8 @@ def add_densitymap( part of the same legend group hide/show at the same time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.densitymap.Legendgrouptitl - e` instance or dict with compatible properties + :class:`plotly.graph_objects.funnel.Legendgrouptitle` + instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while @@ -5931,11 +5234,9 @@ def add_densitymap( legendwidth Sets the width (in px or fraction) of the legend for this trace. - lon - Sets the longitude coordinates (in degrees East). - lonsrc - Sets the source reference on Chart Studio Cloud for - `lon`. + marker + :class:`plotly.graph_objects.funnel.Marker` instance or + dict with compatible properties meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -5949,848 +5250,40 @@ def add_densitymap( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. + offset + Shifts the position where the bar is drawn (in position + axis units). In "group" barmode, traces that set + "offset" will be excluded and drawn in "overlay" mode + instead. + offsetgroup + Set several traces linked to the same position axis or + matching axes to the same offsetgroup where bars of the + same position coordinate will line up. opacity Sets the opacity of the trace. - radius - Sets the radius of influence of one `lon` / `lat` point - in pixels. Increasing the value makes the densitymap - trace smoother, but less detailed. - radiussrc - Sets the source reference on Chart Studio Cloud for - `radius`. - reversescale - Reverses the color mapping if true. If true, `zmin` - will correspond to the last color in the array and - `zmax` will correspond to the first color. + orientation + Sets the orientation of the funnels. With "v" ("h"), + the value of the each bar spans along the vertical + (horizontal). By default funnels are tend to be + oriented horizontally; unless only "y" array is + presented or orientation is set to "v". Also regarding + graphs including only 'horizontal' funnels, "autorange" + on the "y-axis" are set to "reversed". + outsidetextfont + Sets the font used for `text` lying outside the bar. + selectedpoints + Array containing integer indices of selected points. + Has an effect only for traces that support selections. + Note that an empty array means an empty selection where + the `unselected` are turned on for all points, whereas, + any other non-array values means no selection all where + the `selected` and `unselected` styles have no effect. showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - showscale - Determines whether or not a colorbar is displayed for - this trace. - stream - :class:`plotly.graph_objects.densitymap.Stream` - instance or dict with compatible properties - subplot - Sets a reference between this trace's data coordinates - and a map subplot. If "map" (the default value), the - data refer to `layout.map`. If "map2", the data refer - to `layout.map2`, and so on. - text - Sets text elements associated with each (lon,lat) pair - If a single string, the same string appears over all - the data points. If an array of string, the items are - mapped in order to the this trace's (lon,lat) - coordinates. If trace `hoverinfo` contains a "text" - flag and "hovertext" is not set, these elements will be - seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. - uid - Assign an id to this trace, Use this to provide object - constancy between traces during animations and - transitions. - uirevision - Controls persistence of some user-driven changes to the - trace: `constraintrange` in `parcoords` traces, as well - as some `editable: true` modifications such as `name` - and `colorbar.title`. Defaults to `layout.uirevision`. - Note that other user-driven trace attribute changes are - controlled by `layout` attributes: `trace.visible` is - controlled by `layout.legend.uirevision`, - `selectedpoints` is controlled by - `layout.selectionrevision`, and `colorbar.(x|y)` - (accessible with `config: {editable: true}`) is - controlled by `layout.editrevision`. Trace changes are - tracked by `uid`, which only falls back on trace index - if no `uid` is provided. So if your app can add/remove - traces before the end of the `data` array, such that - the same trace has a different index, you can still - preserve user-driven changes if you give each trace a - `uid` that stays with it as it moves. - visible - Determines whether or not this trace is visible. If - "legendonly", the trace is not drawn, but can appear as - a legend item (provided that the legend itself is - visible). - z - Sets the points' weight. For example, a value of 10 - would be equivalent to having 10 points of weight 1 in - the same spot - zauto - Determines whether or not the color domain is computed - with respect to the input data (here in `z`) or the - bounds set in `zmin` and `zmax` Defaults to `false` - when `zmin` and `zmax` are set by the user. - zmax - Sets the upper bound of the color domain. Value should - have the same units as in `z` and if set, `zmin` must - be set as well. - zmid - Sets the mid-point of the color domain by scaling - `zmin` and/or `zmax` to be equidistant to this point. - Value should have the same units as in `z`. Has no - effect when `zauto` is `false`. - zmin - Sets the lower bound of the color domain. Value should - have the same units as in `z` and if set, `zmax` must - be set as well. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. - row : 'all', int or None (default) - Subplot row index (starting from 1) for the trace to be - added. Only valid if figure was created using - `plotly.tools.make_subplots`.If 'all', addresses all - rows in the specified column(s). - col : 'all', int or None (default) - Subplot col index (starting from 1) for the trace to be - added. Only valid if figure was created using - `plotly.tools.make_subplots`.If 'all', addresses all - columns in the specified row(s). - - Returns - ------- - Figure - """ - from plotly.graph_objs import Densitymap - - new_trace = Densitymap( - autocolorscale=autocolorscale, - below=below, - coloraxis=coloraxis, - colorbar=colorbar, - colorscale=colorscale, - customdata=customdata, - customdatasrc=customdatasrc, - hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, - hoverlabel=hoverlabel, - hovertemplate=hovertemplate, - hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, - hovertext=hovertext, - hovertextsrc=hovertextsrc, - ids=ids, - idssrc=idssrc, - lat=lat, - latsrc=latsrc, - legend=legend, - legendgroup=legendgroup, - legendgrouptitle=legendgrouptitle, - legendrank=legendrank, - legendwidth=legendwidth, - lon=lon, - lonsrc=lonsrc, - meta=meta, - metasrc=metasrc, - name=name, - opacity=opacity, - radius=radius, - radiussrc=radiussrc, - reversescale=reversescale, - showlegend=showlegend, - showscale=showscale, - stream=stream, - subplot=subplot, - text=text, - textsrc=textsrc, - uid=uid, - uirevision=uirevision, - visible=visible, - z=z, - zauto=zauto, - zmax=zmax, - zmid=zmid, - zmin=zmin, - zsrc=zsrc, - **kwargs, - ) - return self.add_trace(new_trace, row=row, col=col) - - def add_densitymapbox( - self, - autocolorscale=None, - below=None, - coloraxis=None, - colorbar=None, - colorscale=None, - customdata=None, - customdatasrc=None, - hoverinfo=None, - hoverinfosrc=None, - hoverlabel=None, - hovertemplate=None, - hovertemplatefallback=None, - hovertemplatesrc=None, - hovertext=None, - hovertextsrc=None, - ids=None, - idssrc=None, - lat=None, - latsrc=None, - legend=None, - legendgroup=None, - legendgrouptitle=None, - legendrank=None, - legendwidth=None, - lon=None, - lonsrc=None, - meta=None, - metasrc=None, - name=None, - opacity=None, - radius=None, - radiussrc=None, - reversescale=None, - showlegend=None, - showscale=None, - stream=None, - subplot=None, - text=None, - textsrc=None, - uid=None, - uirevision=None, - visible=None, - z=None, - zauto=None, - zmax=None, - zmid=None, - zmin=None, - zsrc=None, - row=None, - col=None, - **kwargs, - ) -> "Figure": - """ - Add a new Densitymapbox trace - - "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/ Draws a - bivariate kernel density estimation with a Gaussian kernel from - `lon` and `lat` coordinates and optional `z` values using a - colorscale. - - Parameters - ---------- - autocolorscale - Determines whether the colorscale is a default palette - (`autocolorscale: true`) or the palette determined by - `colorscale`. In case `colorscale` is unspecified or - `autocolorscale` is true, the default palette will be - chosen according to whether numbers in the `color` - array are all positive, all negative or mixed. - below - Determines if the densitymapbox trace will be inserted - before the layer with the specified ID. By default, - densitymapbox traces are placed below the first layer - of type symbol If set to '', the layer will be inserted - above every existing layer. - coloraxis - Sets a reference to a shared color axis. References to - these shared color axes are "coloraxis", "coloraxis2", - "coloraxis3", etc. Settings for these shared color axes - are set in the layout, under `layout.coloraxis`, - `layout.coloraxis2`, etc. Note that multiple color - scales can be linked to the same color axis. - colorbar - :class:`plotly.graph_objects.densitymapbox.ColorBar` - instance or dict with compatible properties - colorscale - Sets the colorscale. The colorscale must be an array - containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - customdata - Assigns extra data each datum. This may be useful when - listening to hover, click and selection events. Note - that, "scatter" traces also appends customdata items in - the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - hoverlabel - :class:`plotly.graph_objects.densitymapbox.Hoverlabel` - instance or dict with compatible properties - hovertemplate - Template string used for rendering the information that - appear on hover box. Note that this will override - `hoverinfo`. Variables are inserted using %{variable}, - for example "y: %{y}" as well as %{xother}, {%_xother}, - {%_xother_}, {%xother_}. When showing info for several - points, "xother" will be added to those with different - x positions from the first point. An underscore before - or after "(x|y)other" will add a space on that side, - only when this field is shown. Numbers are formatted - using d3-format's syntax %{variable:d3-format}, for - example "Price: %{y:$.2f}". - https://github.com/d3/d3-format/tree/v1.4.5#d3-format - for details on the formatting syntax. Dates are - formatted using d3-time-format's syntax - %{variable|d3-time-format}, for example "Day: - %{2019-01-01|%A}". https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format for details on the - date formatting syntax. Variables that can't be found - will be replaced with the specifier. For example, a - template of "data: %{x}, %{y}" will result in a value - of "data: 1, %{y}" if x is 1 and y is missing. - Variables with an undefined value will be replaced with - the fallback value. The variables available in - `hovertemplate` are the ones emitted as event data - described at this link - https://plotly.com/javascript/plotlyjs-events/#event- - data. Additionally, all attributes that can be - specified per-point (the ones that are `arrayOk: true`) - are available. Anything contained in tag `` is - displayed in the secondary box, for example - `%{fullData.name}`. To hide the - secondary box completely, use an empty tag - ``. - hovertemplatefallback - Fallback string that's displayed when a variable - referenced in a template is missing. If the boolean - value 'false' is passed in, the specifier with the - missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - hovertext - Sets hover text elements associated with each (lon,lat) - pair If a single string, the same string appears over - all the data points. If an array of string, the items - are mapped in order to the this trace's (lon,lat) - coordinates. To be seen, trace `hoverinfo` must contain - a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. - ids - Assigns id labels to each datum. These ids for object - constancy of data points during animation. Should be an - array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. - lat - Sets the latitude coordinates (in degrees North). - latsrc - Sets the source reference on Chart Studio Cloud for - `lat`. - legend - Sets the reference to a legend to show this trace in. - References to these legends are "legend", "legend2", - "legend3", etc. Settings for these legends are set in - the layout, under `layout.legend`, `layout.legend2`, - etc. - legendgroup - Sets the legend group for this trace. Traces and shapes - part of the same legend group hide/show at the same - time when toggling legend items. - legendgrouptitle - :class:`plotly.graph_objects.densitymapbox.Legendgroupt - itle` instance or dict with compatible properties - legendrank - Sets the legend rank for this trace. Items and groups - with smaller ranks are presented on top/left side while - with "reversed" `legend.traceorder` they are on - bottom/right side. The default legendrank is 1000, so - that you can use ranks less than 1000 to place certain - items before all unranked items, and ranks greater than - 1000 to go after all unranked items. When having - unranked or equal rank items shapes would be displayed - after traces i.e. according to their order in data and - layout. - legendwidth - Sets the width (in px or fraction) of the legend for - this trace. - lon - Sets the longitude coordinates (in degrees East). - lonsrc - Sets the source reference on Chart Studio Cloud for - `lon`. - meta - Assigns extra meta information associated with this - trace that can be used in various text attributes. - Attributes such as trace `name`, graph, axis and - colorbar `title.text`, annotation `text` - `rangeselector`, `updatemenues` and `sliders` `label` - text all support `meta`. To access the trace `meta` - values in an attribute in the same trace, simply use - `%{meta[i]}` where `i` is the index or key of the - `meta` item in question. To access trace `meta` in - layout attributes, use `%{data[n[.meta[i]}` where `i` - is the index or key of the `meta` and `n` is the trace - index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. - name - Sets the trace name. The trace name appears as the - legend item and on hover. - opacity - Sets the opacity of the trace. - radius - Sets the radius of influence of one `lon` / `lat` point - in pixels. Increasing the value makes the densitymapbox - trace smoother, but less detailed. - radiussrc - Sets the source reference on Chart Studio Cloud for - `radius`. - reversescale - Reverses the color mapping if true. If true, `zmin` - will correspond to the last color in the array and - `zmax` will correspond to the first color. - showlegend - Determines whether or not an item corresponding to this - trace is shown in the legend. - showscale - Determines whether or not a colorbar is displayed for - this trace. - stream - :class:`plotly.graph_objects.densitymapbox.Stream` - instance or dict with compatible properties - subplot - mapbox subplots and traces are deprecated! Please - consider switching to `map` subplots and traces. Learn - more at: https://plotly.com/python/maplibre-migration/ - as well as https://plotly.com/javascript/maplibre- - migration/ Sets a reference between this trace's data - coordinates and a mapbox subplot. If "mapbox" (the - default value), the data refer to `layout.mapbox`. If - "mapbox2", the data refer to `layout.mapbox2`, and so - on. - text - Sets text elements associated with each (lon,lat) pair - If a single string, the same string appears over all - the data points. If an array of string, the items are - mapped in order to the this trace's (lon,lat) - coordinates. If trace `hoverinfo` contains a "text" - flag and "hovertext" is not set, these elements will be - seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. - uid - Assign an id to this trace, Use this to provide object - constancy between traces during animations and - transitions. - uirevision - Controls persistence of some user-driven changes to the - trace: `constraintrange` in `parcoords` traces, as well - as some `editable: true` modifications such as `name` - and `colorbar.title`. Defaults to `layout.uirevision`. - Note that other user-driven trace attribute changes are - controlled by `layout` attributes: `trace.visible` is - controlled by `layout.legend.uirevision`, - `selectedpoints` is controlled by - `layout.selectionrevision`, and `colorbar.(x|y)` - (accessible with `config: {editable: true}`) is - controlled by `layout.editrevision`. Trace changes are - tracked by `uid`, which only falls back on trace index - if no `uid` is provided. So if your app can add/remove - traces before the end of the `data` array, such that - the same trace has a different index, you can still - preserve user-driven changes if you give each trace a - `uid` that stays with it as it moves. - visible - Determines whether or not this trace is visible. If - "legendonly", the trace is not drawn, but can appear as - a legend item (provided that the legend itself is - visible). - z - Sets the points' weight. For example, a value of 10 - would be equivalent to having 10 points of weight 1 in - the same spot - zauto - Determines whether or not the color domain is computed - with respect to the input data (here in `z`) or the - bounds set in `zmin` and `zmax` Defaults to `false` - when `zmin` and `zmax` are set by the user. - zmax - Sets the upper bound of the color domain. Value should - have the same units as in `z` and if set, `zmin` must - be set as well. - zmid - Sets the mid-point of the color domain by scaling - `zmin` and/or `zmax` to be equidistant to this point. - Value should have the same units as in `z`. Has no - effect when `zauto` is `false`. - zmin - Sets the lower bound of the color domain. Value should - have the same units as in `z` and if set, `zmax` must - be set as well. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. - row : 'all', int or None (default) - Subplot row index (starting from 1) for the trace to be - added. Only valid if figure was created using - `plotly.tools.make_subplots`.If 'all', addresses all - rows in the specified column(s). - col : 'all', int or None (default) - Subplot col index (starting from 1) for the trace to be - added. Only valid if figure was created using - `plotly.tools.make_subplots`.If 'all', addresses all - columns in the specified row(s). - - Returns - ------- - Figure - """ - from plotly.graph_objs import Densitymapbox - - new_trace = Densitymapbox( - autocolorscale=autocolorscale, - below=below, - coloraxis=coloraxis, - colorbar=colorbar, - colorscale=colorscale, - customdata=customdata, - customdatasrc=customdatasrc, - hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, - hoverlabel=hoverlabel, - hovertemplate=hovertemplate, - hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, - hovertext=hovertext, - hovertextsrc=hovertextsrc, - ids=ids, - idssrc=idssrc, - lat=lat, - latsrc=latsrc, - legend=legend, - legendgroup=legendgroup, - legendgrouptitle=legendgrouptitle, - legendrank=legendrank, - legendwidth=legendwidth, - lon=lon, - lonsrc=lonsrc, - meta=meta, - metasrc=metasrc, - name=name, - opacity=opacity, - radius=radius, - radiussrc=radiussrc, - reversescale=reversescale, - showlegend=showlegend, - showscale=showscale, - stream=stream, - subplot=subplot, - text=text, - textsrc=textsrc, - uid=uid, - uirevision=uirevision, - visible=visible, - z=z, - zauto=zauto, - zmax=zmax, - zmid=zmid, - zmin=zmin, - zsrc=zsrc, - **kwargs, - ) - return self.add_trace(new_trace, row=row, col=col) - - def add_funnel( - self, - alignmentgroup=None, - cliponaxis=None, - connector=None, - constraintext=None, - customdata=None, - customdatasrc=None, - dx=None, - dy=None, - hoverinfo=None, - hoverinfosrc=None, - hoverlabel=None, - hovertemplate=None, - hovertemplatefallback=None, - hovertemplatesrc=None, - hovertext=None, - hovertextsrc=None, - ids=None, - idssrc=None, - insidetextanchor=None, - insidetextfont=None, - legend=None, - legendgroup=None, - legendgrouptitle=None, - legendrank=None, - legendwidth=None, - marker=None, - meta=None, - metasrc=None, - name=None, - offset=None, - offsetgroup=None, - opacity=None, - orientation=None, - outsidetextfont=None, - selectedpoints=None, - showlegend=None, - stream=None, - text=None, - textangle=None, - textfont=None, - textinfo=None, - textposition=None, - textpositionsrc=None, - textsrc=None, - texttemplate=None, - texttemplatefallback=None, - texttemplatesrc=None, - uid=None, - uirevision=None, - visible=None, - width=None, - x=None, - x0=None, - xaxis=None, - xhoverformat=None, - xperiod=None, - xperiod0=None, - xperiodalignment=None, - xsrc=None, - y=None, - y0=None, - yaxis=None, - yhoverformat=None, - yperiod=None, - yperiod0=None, - yperiodalignment=None, - ysrc=None, - zorder=None, - row=None, - col=None, - secondary_y=None, - **kwargs, - ) -> "Figure": - """ - Add a new Funnel trace - - Visualize stages in a process using length-encoded bars. This - trace can be used to show data in either a part-to-whole - representation wherein each item appears in a single stage, or - in a "drop-off" representation wherein each item appears in - each stage it traversed. See also the "funnelarea" trace type - for a different approach to visualizing funnel data. - - Parameters - ---------- - alignmentgroup - Set several traces linked to the same position axis or - matching axes to the same alignmentgroup. This controls - whether bars compute their positional range dependently - or independently. - cliponaxis - Determines whether the text nodes are clipped about the - subplot axes. To show the text nodes above axis lines - and tick labels, make sure to set `xaxis.layer` and - `yaxis.layer` to *below traces*. - connector - :class:`plotly.graph_objects.funnel.Connector` instance - or dict with compatible properties - constraintext - Constrain the size of text inside or outside a bar to - be no larger than the bar itself. - customdata - Assigns extra data each datum. This may be useful when - listening to hover, click and selection events. Note - that, "scatter" traces also appends customdata items in - the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - dx - Sets the x coordinate step. See `x0` for more info. - dy - Sets the y coordinate step. See `y0` for more info. - hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - hoverlabel - :class:`plotly.graph_objects.funnel.Hoverlabel` - instance or dict with compatible properties - hovertemplate - Template string used for rendering the information that - appear on hover box. Note that this will override - `hoverinfo`. Variables are inserted using %{variable}, - for example "y: %{y}" as well as %{xother}, {%_xother}, - {%_xother_}, {%xother_}. When showing info for several - points, "xother" will be added to those with different - x positions from the first point. An underscore before - or after "(x|y)other" will add a space on that side, - only when this field is shown. Numbers are formatted - using d3-format's syntax %{variable:d3-format}, for - example "Price: %{y:$.2f}". - https://github.com/d3/d3-format/tree/v1.4.5#d3-format - for details on the formatting syntax. Dates are - formatted using d3-time-format's syntax - %{variable|d3-time-format}, for example "Day: - %{2019-01-01|%A}". https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format for details on the - date formatting syntax. Variables that can't be found - will be replaced with the specifier. For example, a - template of "data: %{x}, %{y}" will result in a value - of "data: 1, %{y}" if x is 1 and y is missing. - Variables with an undefined value will be replaced with - the fallback value. The variables available in - `hovertemplate` are the ones emitted as event data - described at this link - https://plotly.com/javascript/plotlyjs-events/#event- - data. Additionally, all attributes that can be - specified per-point (the ones that are `arrayOk: true`) - are available. Finally, the template string has access - to variables `percentInitial`, `percentPrevious` and - `percentTotal`. Anything contained in tag `` is - displayed in the secondary box, for example - `%{fullData.name}`. To hide the - secondary box completely, use an empty tag - ``. - hovertemplatefallback - Fallback string that's displayed when a variable - referenced in a template is missing. If the boolean - value 'false' is passed in, the specifier with the - missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - hovertext - Sets hover text elements associated with each (x,y) - pair. If a single string, the same string appears over - all the data points. If an array of string, the items - are mapped in order to the this trace's (x,y) - coordinates. To be seen, trace `hoverinfo` must contain - a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. - ids - Assigns id labels to each datum. These ids for object - constancy of data points during animation. Should be an - array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. - insidetextanchor - Determines if texts are kept at center or start/end - points in `textposition` "inside" mode. - insidetextfont - Sets the font used for `text` lying inside the bar. - legend - Sets the reference to a legend to show this trace in. - References to these legends are "legend", "legend2", - "legend3", etc. Settings for these legends are set in - the layout, under `layout.legend`, `layout.legend2`, - etc. - legendgroup - Sets the legend group for this trace. Traces and shapes - part of the same legend group hide/show at the same - time when toggling legend items. - legendgrouptitle - :class:`plotly.graph_objects.funnel.Legendgrouptitle` - instance or dict with compatible properties - legendrank - Sets the legend rank for this trace. Items and groups - with smaller ranks are presented on top/left side while - with "reversed" `legend.traceorder` they are on - bottom/right side. The default legendrank is 1000, so - that you can use ranks less than 1000 to place certain - items before all unranked items, and ranks greater than - 1000 to go after all unranked items. When having - unranked or equal rank items shapes would be displayed - after traces i.e. according to their order in data and - layout. - legendwidth - Sets the width (in px or fraction) of the legend for - this trace. - marker - :class:`plotly.graph_objects.funnel.Marker` instance or - dict with compatible properties - meta - Assigns extra meta information associated with this - trace that can be used in various text attributes. - Attributes such as trace `name`, graph, axis and - colorbar `title.text`, annotation `text` - `rangeselector`, `updatemenues` and `sliders` `label` - text all support `meta`. To access the trace `meta` - values in an attribute in the same trace, simply use - `%{meta[i]}` where `i` is the index or key of the - `meta` item in question. To access trace `meta` in - layout attributes, use `%{data[n[.meta[i]}` where `i` - is the index or key of the `meta` and `n` is the trace - index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. - name - Sets the trace name. The trace name appears as the - legend item and on hover. - offset - Shifts the position where the bar is drawn (in position - axis units). In "group" barmode, traces that set - "offset" will be excluded and drawn in "overlay" mode - instead. - offsetgroup - Set several traces linked to the same position axis or - matching axes to the same offsetgroup where bars of the - same position coordinate will line up. - opacity - Sets the opacity of the trace. - orientation - Sets the orientation of the funnels. With "v" ("h"), - the value of the each bar spans along the vertical - (horizontal). By default funnels are tend to be - oriented horizontally; unless only "y" array is - presented or orientation is set to "v". Also regarding - graphs including only 'horizontal' funnels, "autorange" - on the "y-axis" are set to "reversed". - outsidetextfont - Sets the font used for `text` lying outside the bar. - selectedpoints - Array containing integer indices of selected points. - Has an effect only for traces that support selections. - Note that an empty array means an empty selection where - the `unselected` are turned on for all points, whereas, - any other non-array values means no selection all where - the `selected` and `unselected` styles have no effect. - showlegend - Determines whether or not an item corresponding to this - trace is shown in the legend. - stream - :class:`plotly.graph_objects.funnel.Stream` instance or - dict with compatible properties text Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the @@ -6808,9 +5301,12 @@ def add_funnel( textfont Sets the font used for `text`. textinfo - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. In the case of having multiple funnels, percentages & - totals are computed separately (per trace). + totals are computed separately (per trace). Flags are + rendered in a fixed order; use `texttemplate` if you + need explicit control over the rendered string, + including the order of fields and surrounding text. textposition Specifies the location of the `text`. "inside" positions `text` inside, next to the bar end (rotated @@ -6821,12 +5317,6 @@ def add_funnel( inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -6855,9 +5345,6 @@ def add_funnel( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -6899,7 +5386,7 @@ def add_funnel( x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -6927,9 +5414,6 @@ def add_funnel( xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates. y0 @@ -6942,7 +5426,7 @@ def add_funnel( y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -6970,9 +5454,6 @@ def add_funnel( yperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -7011,19 +5492,14 @@ def add_funnel( connector=connector, constraintext=constraintext, customdata=customdata, - customdatasrc=customdatasrc, dx=dx, dy=dy, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, insidetextanchor=insidetextanchor, insidetextfont=insidetextfont, legend=legend, @@ -7033,7 +5509,6 @@ def add_funnel( legendwidth=legendwidth, marker=marker, meta=meta, - metasrc=metasrc, name=name, offset=offset, offsetgroup=offsetgroup, @@ -7042,17 +5517,13 @@ def add_funnel( outsidetextfont=outsidetextfont, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, text=text, textangle=textangle, textfont=textfont, textinfo=textinfo, textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, uid=uid, uirevision=uirevision, visible=visible, @@ -7064,7 +5535,6 @@ def add_funnel( xperiod=xperiod, xperiod0=xperiod0, xperiodalignment=xperiodalignment, - xsrc=xsrc, y=y, y0=y0, yaxis=yaxis, @@ -7072,7 +5542,6 @@ def add_funnel( yperiod=yperiod, yperiod0=yperiod0, yperiodalignment=yperiodalignment, - ysrc=ysrc, zorder=zorder, **kwargs, ) @@ -7083,23 +5552,17 @@ def add_funnelarea( aspectratio=None, baseratio=None, customdata=None, - customdatasrc=None, dlabel=None, domain=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, insidetextfont=None, label0=None, labels=None, - labelssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -7107,26 +5570,20 @@ def add_funnelarea( legendwidth=None, marker=None, meta=None, - metasrc=None, name=None, opacity=None, scalegroup=None, showlegend=None, - stream=None, text=None, textfont=None, textinfo=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, title=None, uid=None, uirevision=None, values=None, - valuessrc=None, visible=None, row=None, col=None, @@ -7153,22 +5610,17 @@ def add_funnelarea( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dlabel Sets the label step. See `label0` for more info. domain :class:`plotly.graph_objects.funnelarea.Domain` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. + Determines what trace information appears on hover. + Flags are rendered in a fixed order; use + `hovertemplate` if you need explicit control over the + rendered string, including the order of fields and + surrounding text. hoverlabel :class:`plotly.graph_objects.funnelarea.Hoverlabel` instance or dict with compatible properties @@ -7213,25 +5665,16 @@ def add_funnelarea( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextfont Sets the font used for `textinfo` lying inside the sector. @@ -7245,9 +5688,6 @@ def add_funnelarea( occurrences if `values` is not provided. For other array attributes (including color) we use the first non-empty entry among all occurrences of the label. - labelssrc - Sets the source reference on Chart Studio Cloud for - `labels`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -7291,9 +5731,6 @@ def add_funnelarea( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -7307,9 +5744,6 @@ def add_funnelarea( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.funnelarea.Stream` - instance or dict with compatible properties text Sets text elements associated with each sector. If trace `textinfo` contains a "text" flag, these elements @@ -7319,15 +5753,12 @@ def add_funnelarea( textfont Sets the font used for `textinfo`. textinfo - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. + Flags are rendered in a fixed order; use `texttemplate` + if you need explicit control over the rendered string, + including the order of fields and surrounding text. textposition Specifies the location of the `textinfo`. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -7356,9 +5787,6 @@ def add_funnelarea( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. title :class:`plotly.graph_objects.funnelarea.Title` instance or dict with compatible properties @@ -7387,9 +5815,6 @@ def add_funnelarea( values Sets the values of the sectors. If omitted, we count occurrences of each label. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -7416,23 +5841,17 @@ def add_funnelarea( aspectratio=aspectratio, baseratio=baseratio, customdata=customdata, - customdatasrc=customdatasrc, dlabel=dlabel, domain=domain, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, insidetextfont=insidetextfont, label0=label0, labels=labels, - labelssrc=labelssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -7440,26 +5859,20 @@ def add_funnelarea( legendwidth=legendwidth, marker=marker, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, scalegroup=scalegroup, showlegend=showlegend, - stream=stream, text=text, textfont=textfont, textinfo=textinfo, textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, title=title, uid=uid, uirevision=uirevision, values=values, - valuessrc=valuessrc, visible=visible, **kwargs, ) @@ -7473,36 +5886,28 @@ def add_heatmap( colorscale=None, connectgaps=None, customdata=None, - customdatasrc=None, dx=None, dy=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hoverongaps=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, legendrank=None, legendwidth=None, meta=None, - metasrc=None, name=None, opacity=None, reversescale=None, showlegend=None, showscale=None, - stream=None, text=None, textfont=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, transpose=None, @@ -7518,7 +5923,6 @@ def add_heatmap( xperiod=None, xperiod0=None, xperiodalignment=None, - xsrc=None, xtype=None, y=None, y0=None, @@ -7529,7 +5933,6 @@ def add_heatmap( yperiod=None, yperiod0=None, yperiodalignment=None, - ysrc=None, ytype=None, z=None, zauto=None, @@ -7539,7 +5942,6 @@ def add_heatmap( zmin=None, zorder=None, zsmooth=None, - zsrc=None, row=None, col=None, secondary_y=None, @@ -7588,15 +5990,15 @@ def add_heatmap( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. connectgaps Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in. It is defaulted @@ -7607,21 +6009,15 @@ def add_heatmap( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dx Sets the x coordinate step. See `x0` for more info. dy Sets the y coordinate step. See `y0` for more info. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.heatmap.Hoverlabel` instance or dict with compatible properties @@ -7668,21 +6064,12 @@ def add_heatmap( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -7723,9 +6110,6 @@ def add_heatmap( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -7741,16 +6125,10 @@ def add_heatmap( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.heatmap.Stream` instance - or dict with compatible properties text Sets the text elements associated with each z value. textfont Sets the text font. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -7823,7 +6201,7 @@ def add_heatmap( xgap Sets the horizontal gap (in pixels) between bricks. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -7851,9 +6229,6 @@ def add_heatmap( xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. xtype If "array", the heatmap's x coordinates are given by "x" (the default behavior when `x` is provided). If @@ -7876,7 +6251,7 @@ def add_heatmap( ygap Sets the vertical gap (in pixels) between bricks. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -7904,9 +6279,6 @@ def add_heatmap( yperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. ytype If "array", the heatmap's y coordinates are given by "y" (the default behavior when `y` is provided) If @@ -7921,7 +6293,7 @@ def add_heatmap( bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values @@ -7946,9 +6318,6 @@ def add_heatmap( with lower `zorder`. zsmooth Picks a smoothing algorithm use to smooth `z` data. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -7983,36 +6352,28 @@ def add_heatmap( colorscale=colorscale, connectgaps=connectgaps, customdata=customdata, - customdatasrc=customdatasrc, dx=dx, dy=dy, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hoverongaps=hoverongaps, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, reversescale=reversescale, showlegend=showlegend, showscale=showscale, - stream=stream, text=text, textfont=textfont, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, transpose=transpose, @@ -8028,7 +6389,6 @@ def add_heatmap( xperiod=xperiod, xperiod0=xperiod0, xperiodalignment=xperiodalignment, - xsrc=xsrc, xtype=xtype, y=y, y0=y0, @@ -8039,7 +6399,6 @@ def add_heatmap( yperiod=yperiod, yperiod0=yperiod0, yperiodalignment=yperiodalignment, - ysrc=ysrc, ytype=ytype, z=z, zauto=zauto, @@ -8049,7 +6408,6 @@ def add_heatmap( zmin=zmin, zorder=zorder, zsmooth=zsmooth, - zsrc=zsrc, **kwargs, ) return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) @@ -8064,21 +6422,16 @@ def add_histogram( constraintext=None, cumulative=None, customdata=None, - customdatasrc=None, error_x=None, error_y=None, histfunc=None, histnorm=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, insidetextanchor=None, insidetextfont=None, legend=None, @@ -8088,7 +6441,6 @@ def add_histogram( legendwidth=None, marker=None, meta=None, - metasrc=None, name=None, nbinsx=None, nbinsy=None, @@ -8099,12 +6451,10 @@ def add_histogram( selected=None, selectedpoints=None, showlegend=None, - stream=None, text=None, textangle=None, textfont=None, textposition=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, uid=None, @@ -8116,13 +6466,11 @@ def add_histogram( xbins=None, xcalendar=None, xhoverformat=None, - xsrc=None, y=None, yaxis=None, ybins=None, ycalendar=None, yhoverformat=None, - ysrc=None, zorder=None, row=None, col=None, @@ -8182,9 +6530,6 @@ def add_histogram( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. error_x :class:`plotly.graph_objects.histogram.ErrorX` instance or dict with compatible properties @@ -8217,13 +6562,10 @@ def add_histogram( corresponding bin (here, the sum of all bin AREAS equals 1). hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.histogram.Hoverlabel` instance or dict with compatible properties @@ -8267,21 +6609,12 @@ def add_histogram( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextanchor Determines if texts are kept at center or start/end points in `textposition` "inside" mode. @@ -8330,9 +6663,6 @@ def add_histogram( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -8373,9 +6703,6 @@ def add_histogram( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.histogram.Stream` instance - or dict with compatible properties text Sets hover text elements associated with each bar. If a single string, the same string appears over all bars. @@ -8399,9 +6726,6 @@ def add_histogram( inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -8472,7 +6796,7 @@ def add_histogram( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -8484,9 +6808,6 @@ def add_histogram( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the sample data to be binned on the y axis. yaxis @@ -8500,7 +6821,7 @@ def add_histogram( ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -8512,9 +6833,6 @@ def add_histogram( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -8556,21 +6874,16 @@ def add_histogram( constraintext=constraintext, cumulative=cumulative, customdata=customdata, - customdatasrc=customdatasrc, error_x=error_x, error_y=error_y, histfunc=histfunc, histnorm=histnorm, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, insidetextanchor=insidetextanchor, insidetextfont=insidetextfont, legend=legend, @@ -8580,7 +6893,6 @@ def add_histogram( legendwidth=legendwidth, marker=marker, meta=meta, - metasrc=metasrc, name=name, nbinsx=nbinsx, nbinsy=nbinsy, @@ -8591,12 +6903,10 @@ def add_histogram( selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, text=text, textangle=textangle, textfont=textfont, textposition=textposition, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, uid=uid, @@ -8608,13 +6918,11 @@ def add_histogram( xbins=xbins, xcalendar=xcalendar, xhoverformat=xhoverformat, - xsrc=xsrc, y=y, yaxis=yaxis, ybins=ybins, ycalendar=ycalendar, yhoverformat=yhoverformat, - ysrc=ysrc, zorder=zorder, **kwargs, ) @@ -8630,17 +6938,13 @@ def add_histogram2d( colorbar=None, colorscale=None, customdata=None, - customdatasrc=None, histfunc=None, histnorm=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -8648,7 +6952,6 @@ def add_histogram2d( legendwidth=None, marker=None, meta=None, - metasrc=None, name=None, nbinsx=None, nbinsy=None, @@ -8656,7 +6959,6 @@ def add_histogram2d( reversescale=None, showlegend=None, showscale=None, - stream=None, textfont=None, texttemplate=None, texttemplatefallback=None, @@ -8670,7 +6972,6 @@ def add_histogram2d( xcalendar=None, xgap=None, xhoverformat=None, - xsrc=None, y=None, yaxis=None, ybingroup=None, @@ -8678,7 +6979,6 @@ def add_histogram2d( ycalendar=None, ygap=None, yhoverformat=None, - ysrc=None, z=None, zauto=None, zhoverformat=None, @@ -8686,7 +6986,6 @@ def add_histogram2d( zmid=None, zmin=None, zsmooth=None, - zsrc=None, row=None, col=None, secondary_y=None, @@ -8741,23 +7040,20 @@ def add_histogram2d( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. histfunc Specifies the binning function used for this histogram trace. If "count", the histogram values are computed by @@ -8784,13 +7080,10 @@ def add_histogram2d( corresponding bin (here, the sum of all bin AREAS equals 1). hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.histogram2d.Hoverlabel` instance or dict with compatible properties @@ -8834,16 +7127,10 @@ def add_histogram2d( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -8887,9 +7174,6 @@ def add_histogram2d( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -8917,9 +7201,6 @@ def add_histogram2d( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.histogram2d.Stream` - instance or dict with compatible properties textfont Sets the text font. texttemplate @@ -8998,7 +7279,7 @@ def add_histogram2d( xgap Sets the horizontal gap (in pixels) between bricks. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -9010,9 +7291,6 @@ def add_histogram2d( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the sample data to be binned on the y axis. yaxis @@ -9035,7 +7313,7 @@ def add_histogram2d( ygap Sets the vertical gap (in pixels) between bricks. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -9047,9 +7325,6 @@ def add_histogram2d( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the aggregation data. zauto @@ -9058,7 +7333,7 @@ def add_histogram2d( bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values @@ -9078,9 +7353,6 @@ def add_histogram2d( be set as well. zsmooth Picks a smoothing algorithm use to smooth `z` data. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -9117,17 +7389,13 @@ def add_histogram2d( colorbar=colorbar, colorscale=colorscale, customdata=customdata, - customdatasrc=customdatasrc, histfunc=histfunc, histnorm=histnorm, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -9135,7 +7403,6 @@ def add_histogram2d( legendwidth=legendwidth, marker=marker, meta=meta, - metasrc=metasrc, name=name, nbinsx=nbinsx, nbinsy=nbinsy, @@ -9143,7 +7410,6 @@ def add_histogram2d( reversescale=reversescale, showlegend=showlegend, showscale=showscale, - stream=stream, textfont=textfont, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, @@ -9157,7 +7423,6 @@ def add_histogram2d( xcalendar=xcalendar, xgap=xgap, xhoverformat=xhoverformat, - xsrc=xsrc, y=y, yaxis=yaxis, ybingroup=ybingroup, @@ -9165,7 +7430,6 @@ def add_histogram2d( ycalendar=ycalendar, ygap=ygap, yhoverformat=yhoverformat, - ysrc=ysrc, z=z, zauto=zauto, zhoverformat=zhoverformat, @@ -9173,7 +7437,6 @@ def add_histogram2d( zmid=zmid, zmin=zmin, zsmooth=zsmooth, - zsrc=zsrc, **kwargs, ) return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) @@ -9190,17 +7453,13 @@ def add_histogram2dcontour( colorscale=None, contours=None, customdata=None, - customdatasrc=None, histfunc=None, histnorm=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -9209,7 +7468,6 @@ def add_histogram2dcontour( line=None, marker=None, meta=None, - metasrc=None, name=None, nbinsx=None, nbinsy=None, @@ -9218,7 +7476,6 @@ def add_histogram2dcontour( reversescale=None, showlegend=None, showscale=None, - stream=None, textfont=None, texttemplate=None, texttemplatefallback=None, @@ -9231,21 +7488,18 @@ def add_histogram2dcontour( xbins=None, xcalendar=None, xhoverformat=None, - xsrc=None, y=None, yaxis=None, ybingroup=None, ybins=None, ycalendar=None, yhoverformat=None, - ysrc=None, z=None, zauto=None, zhoverformat=None, zmax=None, zmid=None, zmin=None, - zsrc=None, row=None, col=None, secondary_y=None, @@ -9305,15 +7559,15 @@ def add_histogram2dcontour( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. contours :class:`plotly.graph_objects.histogram2dcontour.Contour s` instance or dict with compatible properties @@ -9322,9 +7576,6 @@ def add_histogram2dcontour( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. histfunc Specifies the binning function used for this histogram trace. If "count", the histogram values are computed by @@ -9351,13 +7602,10 @@ def add_histogram2dcontour( corresponding bin (here, the sum of all bin AREAS equals 1). hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.histogram2dcontour.Hoverla bel` instance or dict with compatible properties @@ -9401,16 +7649,10 @@ def add_histogram2dcontour( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -9457,9 +7699,6 @@ def add_histogram2dcontour( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -9493,9 +7732,6 @@ def add_histogram2dcontour( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.histogram2dcontour.Stream` - instance or dict with compatible properties textfont For this trace it only has an effect if `coloring` is set to "heatmap". Sets the text font. @@ -9574,7 +7810,7 @@ def add_histogram2dcontour( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -9586,9 +7822,6 @@ def add_histogram2dcontour( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the sample data to be binned on the y axis. yaxis @@ -9609,7 +7842,7 @@ def add_histogram2dcontour( ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -9621,9 +7854,6 @@ def add_histogram2dcontour( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the aggregation data. zauto @@ -9632,7 +7862,7 @@ def add_histogram2dcontour( bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values @@ -9650,9 +7880,6 @@ def add_histogram2dcontour( Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -9691,17 +7918,13 @@ def add_histogram2dcontour( colorscale=colorscale, contours=contours, customdata=customdata, - customdatasrc=customdatasrc, histfunc=histfunc, histnorm=histnorm, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -9710,7 +7933,6 @@ def add_histogram2dcontour( line=line, marker=marker, meta=meta, - metasrc=metasrc, name=name, nbinsx=nbinsx, nbinsy=nbinsy, @@ -9719,7 +7941,6 @@ def add_histogram2dcontour( reversescale=reversescale, showlegend=showlegend, showscale=showscale, - stream=stream, textfont=textfont, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, @@ -9732,21 +7953,18 @@ def add_histogram2dcontour( xbins=xbins, xcalendar=xcalendar, xhoverformat=xhoverformat, - xsrc=xsrc, y=y, yaxis=yaxis, ybingroup=ybingroup, ybins=ybins, ycalendar=ycalendar, yhoverformat=yhoverformat, - ysrc=ysrc, z=z, zauto=zauto, zhoverformat=zhoverformat, zmax=zmax, zmid=zmid, zmin=zmin, - zsrc=zsrc, **kwargs, ) return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) @@ -9756,21 +7974,15 @@ def add_icicle( branchvalues=None, count=None, customdata=None, - customdatasrc=None, domain=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, insidetextfont=None, labels=None, - labelssrc=None, leaf=None, legend=None, legendgrouptitle=None, @@ -9780,29 +7992,23 @@ def add_icicle( marker=None, maxdepth=None, meta=None, - metasrc=None, name=None, opacity=None, outsidetextfont=None, parents=None, - parentssrc=None, pathbar=None, root=None, sort=None, - stream=None, text=None, textfont=None, textinfo=None, textposition=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, tiling=None, uid=None, uirevision=None, values=None, - valuessrc=None, visible=None, row=None, col=None, @@ -9833,20 +8039,15 @@ def add_icicle( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. domain :class:`plotly.graph_objects.icicle.Domain` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. + Determines what trace information appears on hover. + Flags are rendered in a fixed order; use + `hovertemplate` if you need explicit control over the + rendered string, including the order of fields and + surrounding text. hoverlabel :class:`plotly.graph_objects.icicle.Hoverlabel` instance or dict with compatible properties @@ -9892,33 +8093,21 @@ def add_icicle( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextfont Sets the font used for `textinfo` lying inside the sector. labels Sets the labels of each of the sectors. - labelssrc - Sets the source reference on Chart Studio Cloud for - `labels`. leaf :class:`plotly.graph_objects.icicle.Leaf` instance or dict with compatible properties @@ -9971,9 +8160,6 @@ def add_icicle( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -9993,9 +8179,6 @@ def add_icicle( items are understood to be "ids" themselves. When `ids` is not set, plotly attempts to find matching items in `labels`, but beware they must be unique. - parentssrc - Sets the source reference on Chart Studio Cloud for - `parents`. pathbar :class:`plotly.graph_objects.icicle.Pathbar` instance or dict with compatible properties @@ -10005,9 +8188,6 @@ def add_icicle( sort Determines whether or not the sectors are reordered from largest to smallest. - stream - :class:`plotly.graph_objects.icicle.Stream` instance or - dict with compatible properties text Sets text elements associated with each sector. If trace `textinfo` contains a "text" flag, these elements @@ -10017,12 +8197,12 @@ def add_icicle( textfont Sets the font used for `textinfo`. textinfo - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. + Flags are rendered in a fixed order; use `texttemplate` + if you need explicit control over the rendered string, + including the order of fields and surrounding text. textposition Sets the positions of the `text` elements. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -10052,9 +8232,6 @@ def add_icicle( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. tiling :class:`plotly.graph_objects.icicle.Tiling` instance or dict with compatible properties @@ -10084,9 +8261,6 @@ def add_icicle( Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -10113,21 +8287,15 @@ def add_icicle( branchvalues=branchvalues, count=count, customdata=customdata, - customdatasrc=customdatasrc, domain=domain, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, insidetextfont=insidetextfont, labels=labels, - labelssrc=labelssrc, leaf=leaf, legend=legend, legendgrouptitle=legendgrouptitle, @@ -10137,29 +8305,23 @@ def add_icicle( marker=marker, maxdepth=maxdepth, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, outsidetextfont=outsidetextfont, parents=parents, - parentssrc=parentssrc, pathbar=pathbar, root=root, sort=sort, - stream=stream, text=text, textfont=textfont, textinfo=textinfo, textposition=textposition, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, tiling=tiling, uid=uid, uirevision=uirevision, values=values, - valuessrc=valuessrc, visible=visible, **kwargs, ) @@ -10169,31 +8331,23 @@ def add_image( self, colormodel=None, customdata=None, - customdatasrc=None, dx=None, dy=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgrouptitle=None, legendrank=None, legendwidth=None, meta=None, - metasrc=None, name=None, opacity=None, source=None, - stream=None, text=None, - textsrc=None, uid=None, uirevision=None, visible=None, @@ -10206,7 +8360,6 @@ def add_image( zmin=None, zorder=None, zsmooth=None, - zsrc=None, row=None, col=None, secondary_y=None, @@ -10234,21 +8387,15 @@ def add_image( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dx Set the pixel's horizontal size. dy Set the pixel's vertical size hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.image.Hoverlabel` instance or dict with compatible properties @@ -10293,21 +8440,12 @@ def add_image( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -10344,9 +8482,6 @@ def add_image( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -10356,14 +8491,8 @@ def add_image( Specifies the data URI of the image to be visualized. The URI consists of "data:image/[][;base64\\]," - stream - :class:`plotly.graph_objects.image.Stream` instance or - dict with compatible properties text Sets the text elements associated with each z value. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -10443,9 +8572,6 @@ def add_image( Picks a smoothing algorithm used to smooth `z` data. This only applies for image traces that use the `source` attribute. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -10476,31 +8602,23 @@ def add_image( new_trace = Image( colormodel=colormodel, customdata=customdata, - customdatasrc=customdatasrc, dx=dx, dy=dy, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, source=source, - stream=stream, text=text, - textsrc=textsrc, uid=uid, uirevision=uirevision, visible=visible, @@ -10513,7 +8631,6 @@ def add_image( zmin=zmin, zorder=zorder, zsmooth=zsmooth, - zsrc=zsrc, **kwargs, ) return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) @@ -10522,22 +8639,18 @@ def add_indicator( self, align=None, customdata=None, - customdatasrc=None, delta=None, domain=None, gauge=None, ids=None, - idssrc=None, legend=None, legendgrouptitle=None, legendrank=None, legendwidth=None, meta=None, - metasrc=None, mode=None, name=None, number=None, - stream=None, title=None, uid=None, uirevision=None, @@ -10569,9 +8682,6 @@ def add_indicator( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. delta :class:`plotly.graph_objects.indicator.Delta` instance or dict with compatible properties @@ -10584,9 +8694,6 @@ def add_indicator( Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -10623,9 +8730,6 @@ def add_indicator( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines how the value is displayed on the graph. `number` displays the value numerically in text. @@ -10638,9 +8742,6 @@ def add_indicator( number :class:`plotly.graph_objects.indicator.Number` instance or dict with compatible properties - stream - :class:`plotly.graph_objects.indicator.Stream` instance - or dict with compatible properties title :class:`plotly.graph_objects.indicator.Title` instance or dict with compatible properties @@ -10693,22 +8794,18 @@ def add_indicator( new_trace = Indicator( align=align, customdata=customdata, - customdatasrc=customdatasrc, delta=delta, domain=domain, gauge=gauge, ids=ids, - idssrc=idssrc, legend=legend, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, meta=meta, - metasrc=metasrc, mode=mode, name=name, number=number, - stream=stream, title=title, uid=uid, uirevision=uirevision, @@ -10731,18 +8828,13 @@ def add_isosurface( colorscale=None, contour=None, customdata=None, - customdatasrc=None, flatshading=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, isomax=None, isomin=None, legend=None, @@ -10753,7 +8845,6 @@ def add_isosurface( lighting=None, lightposition=None, meta=None, - metasrc=None, name=None, opacity=None, reversescale=None, @@ -10762,25 +8853,19 @@ def add_isosurface( showscale=None, slices=None, spaceframe=None, - stream=None, surface=None, text=None, - textsrc=None, uid=None, uirevision=None, value=None, valuehoverformat=None, - valuesrc=None, visible=None, x=None, xhoverformat=None, - xsrc=None, y=None, yhoverformat=None, - ysrc=None, z=None, zhoverformat=None, - zsrc=None, row=None, col=None, **kwargs, @@ -10838,15 +8923,15 @@ def add_isosurface( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. contour :class:`plotly.graph_objects.isosurface.Contour` instance or dict with compatible properties @@ -10855,21 +8940,15 @@ def add_isosurface( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. flatshading Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low- poly look via flat reflections. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.isosurface.Hoverlabel` instance or dict with compatible properties @@ -10912,21 +8991,12 @@ def add_isosurface( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. isomax Sets the maximum boundary for iso-surface plot. isomin @@ -10977,9 +9047,6 @@ def add_isosurface( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -11013,9 +9080,6 @@ def add_isosurface( spaceframe :class:`plotly.graph_objects.isosurface.Spaceframe` instance or dict with compatible properties - stream - :class:`plotly.graph_objects.isosurface.Stream` - instance or dict with compatible properties surface :class:`plotly.graph_objects.isosurface.Surface` instance or dict with compatible properties @@ -11024,9 +9088,6 @@ def add_isosurface( trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -11052,14 +9113,11 @@ def add_isosurface( value Sets the 4th dimension (value) of the vertices. valuehoverformat - Sets the hover text formatting rulefor `value` using + Sets the hover text formatting rule for `value` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format. - valuesrc - Sets the source reference on Chart Studio Cloud for - `value`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -11068,7 +9126,7 @@ def add_isosurface( x Sets the X coordinates of the vertices on X axis. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -11080,13 +9138,10 @@ def add_isosurface( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the Y coordinates of the vertices on Y axis. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -11098,13 +9153,10 @@ def add_isosurface( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the Z coordinates of the vertices on Z axis. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -11116,9 +9168,6 @@ def add_isosurface( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -11148,18 +9197,13 @@ def add_isosurface( colorscale=colorscale, contour=contour, customdata=customdata, - customdatasrc=customdatasrc, flatshading=flatshading, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, isomax=isomax, isomin=isomin, legend=legend, @@ -11170,7 +9214,6 @@ def add_isosurface( lighting=lighting, lightposition=lightposition, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, reversescale=reversescale, @@ -11179,25 +9222,19 @@ def add_isosurface( showscale=showscale, slices=slices, spaceframe=spaceframe, - stream=stream, surface=surface, text=text, - textsrc=textsrc, uid=uid, uirevision=uirevision, value=value, valuehoverformat=valuehoverformat, - valuesrc=valuesrc, visible=visible, x=x, xhoverformat=xhoverformat, - xsrc=xsrc, y=y, yhoverformat=yhoverformat, - ysrc=ysrc, z=z, zhoverformat=zhoverformat, - zsrc=zsrc, **kwargs, ) return self.add_trace(new_trace, row=row, col=col) @@ -11216,30 +9253,20 @@ def add_mesh3d( colorscale=None, contour=None, customdata=None, - customdatasrc=None, delaunayaxis=None, facecolor=None, - facecolorsrc=None, flatshading=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, i=None, ids=None, - idssrc=None, intensity=None, intensitymode=None, - intensitysrc=None, - isrc=None, j=None, - jsrc=None, k=None, - ksrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -11248,33 +9275,26 @@ def add_mesh3d( lighting=None, lightposition=None, meta=None, - metasrc=None, name=None, opacity=None, reversescale=None, scene=None, showlegend=None, showscale=None, - stream=None, text=None, - textsrc=None, uid=None, uirevision=None, vertexcolor=None, - vertexcolorsrc=None, visible=None, x=None, xcalendar=None, xhoverformat=None, - xsrc=None, y=None, ycalendar=None, yhoverformat=None, - ysrc=None, z=None, zcalendar=None, zhoverformat=None, - zsrc=None, row=None, col=None, **kwargs, @@ -11348,15 +9368,15 @@ def add_mesh3d( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. contour :class:`plotly.graph_objects.mesh3d.Contour` instance or dict with compatible properties @@ -11365,9 +9385,6 @@ def add_mesh3d( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. delaunayaxis Sets the Delaunay axis, which is the axis that is perpendicular to the surface of the Delaunay @@ -11377,21 +9394,15 @@ def add_mesh3d( facecolor Sets the color of each face Overrides "color" and "vertexcolor". - facecolorsrc - Sets the source reference on Chart Studio Cloud for - `facecolor`. flatshading Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low- poly look via flat reflections. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.mesh3d.Hoverlabel` instance or dict with compatible properties @@ -11434,14 +9445,8 @@ def add_mesh3d( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. i A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing @@ -11455,33 +9460,21 @@ def add_mesh3d( Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. intensity Sets the intensity values for vertices or cells as defined by `intensitymode`. It can be used for plotting fields on meshes. intensitymode Determines the source of `intensity` values. - intensitysrc - Sets the source reference on Chart Studio Cloud for - `intensity`. - isrc - Sets the source reference on Chart Studio Cloud for - `i`. j A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing the "second" vertex of a triangle. For example, `{i[m], - j[m], k[m]}` together represent face m (triangle m) in + j[m], k[m]}` together represent face m (triangle m) in the mesh, where `j[m] = n` points to the triplet `{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `j` represents a point in space, which is the second vertex of a triangle. - jsrc - Sets the source reference on Chart Studio Cloud for - `j`. k A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing @@ -11491,9 +9484,6 @@ def add_mesh3d( `{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `k` represents a point in space, which is the third vertex of a triangle. - ksrc - Sets the source reference on Chart Studio Cloud for - `k`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -11540,9 +9530,6 @@ def add_mesh3d( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -11570,17 +9557,11 @@ def add_mesh3d( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.mesh3d.Stream` instance or - dict with compatible properties text Sets the text elements associated with the vertices. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -11609,9 +9590,6 @@ def add_mesh3d( 255; in the case of having vertex color data in RGBA format, the alpha color should be normalized to be between 0 and 1. - vertexcolorsrc - Sets the source reference on Chart Studio Cloud for - `vertexcolor`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -11624,7 +9602,7 @@ def add_mesh3d( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -11636,9 +9614,6 @@ def add_mesh3d( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the Y coordinates of the vertices. The nth element of vectors `x`, `y` and `z` jointly represent the X, Y @@ -11646,7 +9621,7 @@ def add_mesh3d( ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -11658,9 +9633,6 @@ def add_mesh3d( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the Z coordinates of the vertices. The nth element of vectors `x`, `y` and `z` jointly represent the X, Y @@ -11668,7 +9640,7 @@ def add_mesh3d( zcalendar Sets the calendar system to use with `z` date data. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -11680,9 +9652,6 @@ def add_mesh3d( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -11713,30 +9682,20 @@ def add_mesh3d( colorscale=colorscale, contour=contour, customdata=customdata, - customdatasrc=customdatasrc, delaunayaxis=delaunayaxis, facecolor=facecolor, - facecolorsrc=facecolorsrc, flatshading=flatshading, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, i=i, ids=ids, - idssrc=idssrc, intensity=intensity, intensitymode=intensitymode, - intensitysrc=intensitysrc, - isrc=isrc, j=j, - jsrc=jsrc, k=k, - ksrc=ksrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -11745,33 +9704,26 @@ def add_mesh3d( lighting=lighting, lightposition=lightposition, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, reversescale=reversescale, scene=scene, showlegend=showlegend, showscale=showscale, - stream=stream, text=text, - textsrc=textsrc, uid=uid, uirevision=uirevision, vertexcolor=vertexcolor, - vertexcolorsrc=vertexcolorsrc, visible=visible, x=x, xcalendar=xcalendar, xhoverformat=xhoverformat, - xsrc=xsrc, y=y, ycalendar=ycalendar, yhoverformat=yhoverformat, - ysrc=ysrc, z=z, zcalendar=zcalendar, zhoverformat=zhoverformat, - zsrc=zsrc, **kwargs, ) return self.add_trace(new_trace, row=row, col=col) @@ -11779,22 +9731,15 @@ def add_mesh3d( def add_ohlc( self, close=None, - closesrc=None, customdata=None, - customdatasrc=None, decreasing=None, high=None, - highsrc=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, increasing=None, legend=None, legendgroup=None, @@ -11803,18 +9748,13 @@ def add_ohlc( legendwidth=None, line=None, low=None, - lowsrc=None, meta=None, - metasrc=None, name=None, opacity=None, open=None, - opensrc=None, selectedpoints=None, showlegend=None, - stream=None, text=None, - textsrc=None, tickwidth=None, uid=None, uirevision=None, @@ -11826,7 +9766,6 @@ def add_ohlc( xperiod=None, xperiod0=None, xperiodalignment=None, - xsrc=None, yaxis=None, yhoverformat=None, zorder=None, @@ -11843,7 +9782,7 @@ def add_ohlc( given `x` coordinate (most likely time). The tip of the lines represent the `low` and `high` values and the horizontal segments represent the `open` and `close` values. Sample points - where the close value is higher (lower) then the open value are + where the close value is higher (lower) than the open value are called increasing (decreasing). By default, increasing items are drawn in green whereas decreasing are drawn in red. @@ -11851,33 +9790,21 @@ def add_ohlc( ---------- close Sets the close values. - closesrc - Sets the source reference on Chart Studio Cloud for - `close`. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. decreasing :class:`plotly.graph_objects.ohlc.Decreasing` instance or dict with compatible properties high Sets the high values. - highsrc - Sets the source reference on Chart Studio Cloud for - `high`. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.ohlc.Hoverlabel` instance or dict with compatible properties @@ -11922,21 +9849,12 @@ def add_ohlc( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. increasing :class:`plotly.graph_objects.ohlc.Increasing` instance or dict with compatible properties @@ -11972,9 +9890,6 @@ def add_ohlc( dict with compatible properties low Sets the low values. - lowsrc - Sets the source reference on Chart Studio Cloud for - `low`. meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -11988,9 +9903,6 @@ def add_ohlc( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -11998,9 +9910,6 @@ def add_ohlc( Sets the opacity of the trace. open Sets the open values. - opensrc - Sets the source reference on Chart Studio Cloud for - `open`. selectedpoints Array containing integer indices of selected points. Has an effect only for traces that support selections. @@ -12011,17 +9920,11 @@ def add_ohlc( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.ohlc.Stream` instance or - dict with compatible properties text Sets hover text elements associated with each sample point. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to this trace's sample points. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. tickwidth Sets the width of the open/close tick marks relative to the "x" minimal interval. @@ -12063,7 +9966,7 @@ def add_ohlc( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -12091,16 +9994,13 @@ def add_ohlc( xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. yaxis Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -12146,22 +10046,15 @@ def add_ohlc( new_trace = Ohlc( close=close, - closesrc=closesrc, customdata=customdata, - customdatasrc=customdatasrc, decreasing=decreasing, high=high, - highsrc=highsrc, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, increasing=increasing, legend=legend, legendgroup=legendgroup, @@ -12170,18 +10063,13 @@ def add_ohlc( legendwidth=legendwidth, line=line, low=low, - lowsrc=lowsrc, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, open=open, - opensrc=opensrc, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, text=text, - textsrc=textsrc, tickwidth=tickwidth, uid=uid, uirevision=uirevision, @@ -12193,7 +10081,6 @@ def add_ohlc( xperiod=xperiod, xperiod0=xperiod0, xperiodalignment=xperiodalignment, - xsrc=xsrc, yaxis=yaxis, yhoverformat=yhoverformat, zorder=zorder, @@ -12206,7 +10093,6 @@ def add_parcats( arrangement=None, bundlecolors=None, counts=None, - countssrc=None, dimensions=None, dimensiondefaults=None, domain=None, @@ -12219,10 +10105,8 @@ def add_parcats( legendwidth=None, line=None, meta=None, - metasrc=None, name=None, sortpaths=None, - stream=None, tickfont=None, uid=None, uirevision=None, @@ -12253,9 +10137,6 @@ def add_parcats( The number of observations represented by each state. Defaults to 1 so that each state represents one observation - countssrc - Sets the source reference on Chart Studio Cloud for - `counts`. dimensions The dimensions (variables) of the parallel categories diagram. @@ -12268,7 +10149,7 @@ def add_parcats( :class:`plotly.graph_objects.parcats.Domain` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -12345,9 +10226,6 @@ def add_parcats( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -12356,9 +10234,6 @@ def add_parcats( paths based on dimension categories from left to right. If `backward`, sort paths based on dimensions categories from right to left. - stream - :class:`plotly.graph_objects.parcats.Stream` instance - or dict with compatible properties tickfont Sets the font for the `category` labels. uid @@ -12409,7 +10284,6 @@ def add_parcats( arrangement=arrangement, bundlecolors=bundlecolors, counts=counts, - countssrc=countssrc, dimensions=dimensions, dimensiondefaults=dimensiondefaults, domain=domain, @@ -12422,10 +10296,8 @@ def add_parcats( legendwidth=legendwidth, line=line, meta=meta, - metasrc=metasrc, name=name, sortpaths=sortpaths, - stream=stream, tickfont=tickfont, uid=uid, uirevision=uirevision, @@ -12437,12 +10309,10 @@ def add_parcats( def add_parcoords( self, customdata=None, - customdatasrc=None, dimensions=None, dimensiondefaults=None, domain=None, ids=None, - idssrc=None, labelangle=None, labelfont=None, labelside=None, @@ -12452,10 +10322,8 @@ def add_parcoords( legendwidth=None, line=None, meta=None, - metasrc=None, name=None, rangefont=None, - stream=None, tickfont=None, uid=None, uirevision=None, @@ -12479,9 +10347,6 @@ def add_parcoords( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dimensions The dimensions (variables) of the parallel coordinates chart. 2..60 dimensions are supported. @@ -12497,9 +10362,6 @@ def add_parcoords( Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. labelangle Sets the angle of the labels with respect to the horizontal. For example, a `tickangle` of -90 draws the @@ -12553,17 +10415,11 @@ def add_parcoords( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. rangefont Sets the font for the `dimension` range values. - stream - :class:`plotly.graph_objects.parcoords.Stream` instance - or dict with compatible properties tickfont Sets the font for the `dimension` tick values. uid @@ -12615,12 +10471,10 @@ def add_parcoords( new_trace = Parcoords( customdata=customdata, - customdatasrc=customdatasrc, dimensions=dimensions, dimensiondefaults=dimensiondefaults, domain=domain, ids=ids, - idssrc=idssrc, labelangle=labelangle, labelfont=labelfont, labelside=labelside, @@ -12630,10 +10484,8 @@ def add_parcoords( legendwidth=legendwidth, line=line, meta=meta, - metasrc=metasrc, name=name, rangefont=rangefont, - stream=stream, tickfont=tickfont, uid=uid, uirevision=uirevision, @@ -12647,61 +10499,45 @@ def add_pie( self, automargin=None, customdata=None, - customdatasrc=None, direction=None, dlabel=None, domain=None, hole=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, insidetextfont=None, insidetextorientation=None, label0=None, labels=None, - labelssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, legendrank=None, - legendranksrc=None, - legendsrc=None, legendwidth=None, marker=None, meta=None, - metasrc=None, name=None, opacity=None, outsidetextfont=None, pull=None, - pullsrc=None, rotation=None, scalegroup=None, showlegend=None, - showlegendsrc=None, sort=None, - stream=None, text=None, textfont=None, textinfo=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, title=None, uid=None, uirevision=None, values=None, - valuessrc=None, visible=None, row=None, col=None, @@ -12724,9 +10560,6 @@ def add_pie( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. direction Specifies the direction at which succeeding sectors follow one another. @@ -12739,13 +10572,11 @@ def add_pie( Sets the fraction of the radius to cut out of the pie. Use this to make a donut chart. hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. + Determines what trace information appears on hover. + Flags are rendered in a fixed order; use + `hovertemplate` if you need explicit control over the + rendered string, including the order of fields and + surrounding text. hoverlabel :class:`plotly.graph_objects.pie.Hoverlabel` instance or dict with compatible properties @@ -12790,25 +10621,16 @@ def add_pie( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextfont Sets the font used for `textinfo` lying inside the sector. @@ -12832,9 +10654,6 @@ def add_pie( occurrences if `values` is not provided. For other array attributes (including color) we use the first non-empty entry among all occurrences of the label. - labelssrc - Sets the source reference on Chart Studio Cloud for - `labels`. legend Sets the reference to a legend to show the pie slices in. Can be an array if `values` is set. In that case, @@ -12862,12 +10681,6 @@ def add_pie( all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout. - legendranksrc - Sets the source reference on Chart Studio Cloud for - `legendrank`. - legendsrc - Sets the source reference on Chart Studio Cloud for - `legend`. legendwidth Sets the width (in px or fraction) of the legend for this trace. @@ -12887,9 +10700,6 @@ def add_pie( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -12903,9 +10713,6 @@ def add_pie( out from the center. This can be a constant to pull all slices apart from each other equally or an array to highlight one or more slices. - pullsrc - Sets the source reference on Chart Studio Cloud for - `pull`. rotation Instead of the first slice starting at 12 o'clock, rotate to some other angle. @@ -12919,15 +10726,9 @@ def add_pie( pie slices are shown in the legend. Can be an array if `values` is set. In that case, each entry specifies appearance in the legend for one slice. - showlegendsrc - Sets the source reference on Chart Studio Cloud for - `showlegend`. sort Determines whether or not the sectors are reordered from largest to smallest. - stream - :class:`plotly.graph_objects.pie.Stream` instance or - dict with compatible properties text Sets text elements associated with each sector. If trace `textinfo` contains a "text" flag, these elements @@ -12937,15 +10738,12 @@ def add_pie( textfont Sets the font used for `textinfo`. textinfo - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. + Flags are rendered in a fixed order; use `texttemplate` + if you need explicit control over the rendered string, + including the order of fields and surrounding text. textposition Specifies the location of the `textinfo`. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -12974,9 +10772,6 @@ def add_pie( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. title :class:`plotly.graph_objects.pie.Title` instance or dict with compatible properties @@ -13005,9 +10800,6 @@ def add_pie( values Sets the values of the sectors. If omitted, we count occurrences of each label. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -13033,152 +10825,192 @@ def add_pie( new_trace = Pie( automargin=automargin, customdata=customdata, - customdatasrc=customdatasrc, direction=direction, dlabel=dlabel, domain=domain, hole=hole, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, insidetextfont=insidetextfont, insidetextorientation=insidetextorientation, label0=label0, labels=labels, - labelssrc=labelssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, legendrank=legendrank, - legendranksrc=legendranksrc, - legendsrc=legendsrc, legendwidth=legendwidth, marker=marker, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, outsidetextfont=outsidetextfont, pull=pull, - pullsrc=pullsrc, rotation=rotation, scalegroup=scalegroup, showlegend=showlegend, - showlegendsrc=showlegendsrc, sort=sort, - stream=stream, text=text, textfont=textfont, textinfo=textinfo, textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, title=title, uid=uid, uirevision=uirevision, values=values, - valuessrc=valuessrc, visible=visible, **kwargs, ) return self.add_trace(new_trace, row=row, col=col) - def add_sankey( + def add_quiver( self, - arrangement=None, + anchor=None, + anglemode=None, customdata=None, - customdatasrc=None, - domain=None, + dx=None, + dy=None, hoverinfo=None, hoverlabel=None, + hovertemplate=None, ids=None, - idssrc=None, legend=None, + legendgroup=None, legendgrouptitle=None, legendrank=None, legendwidth=None, - link=None, + marker=None, meta=None, - metasrc=None, name=None, - node=None, - orientation=None, + opacity=None, + selected=None, selectedpoints=None, - stream=None, + showlegend=None, + sizemode=None, + sizeref=None, + text=None, textfont=None, + textposition=None, + u=None, + uhoverformat=None, uid=None, uirevision=None, - valueformat=None, - valuesuffix=None, + unselected=None, + v=None, + vhoverformat=None, visible=None, + x=None, + x0=None, + xaxis=None, + xhoverformat=None, + y=None, + y0=None, + yaxis=None, + yhoverformat=None, row=None, col=None, + secondary_y=None, **kwargs, ) -> "Figure": """ - Add a new Sankey trace + Add a new Quiver trace - Sankey plots for network flow data analysis. The nodes are - specified in `nodes` and the links between sources and targets - in `links`. The colors are set in `nodes[i].color` and - `links[i].color`, otherwise defaults are used. + The quiver trace type visualizes vector fields using arrows. + Specify a vector field using 4 1D arrays: 2 position arrays + `x`, `y` and 2 vector component arrays `u`, `v`. The arrows are + drawn exactly at the positions given by `x` and `y`. Arrow + length and direction are determined by `u` and `v` components. Parameters ---------- - arrangement - If value is `snap` (the default), the node arrangement - is assisted by automatic snapping of elements to - preserve space between nodes specified via `nodepad`. - If value is `perpendicular`, the nodes can only move - along a line perpendicular to the flow. If value is - `freeform`, the nodes can freely move on the plane. If - value is `fixed`, the nodes are stationary. + anchor + Sets the arrows' anchor with respect to their (x,y) + positions. Use "tail" to place (x,y) at the base, "tip" + to place (x,y) at the head, or "center" to center the + arrow on (x,y). + anglemode + Sets the mode used to determine the angle of the arrow + vectors. If "paper", u/v are interpreted in pixel + coordinates and the rendered vector angle does not + change regardless of the axes scales. If "data", u/v + are interpreted in data coordinates and the rendered + vector angle may change, e.g. if zooming in along a + single axis customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in - the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - domain - :class:`plotly.graph_objects.sankey.Domain` instance or - dict with compatible properties + the markers DOM elements + dx + Sets the x coordinate step. See `x0` for more info. + dy + Sets the y coordinate step. See `y0` for more info. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover - events are still fired. Note that this attribute is - superseded by `node.hoverinfo` and `node.hoverinfo` for - nodes and links respectively. + events are still fired. hoverlabel - :class:`plotly.graph_objects.sankey.Hoverlabel` + :class:`plotly.graph_objects.quiver.Hoverlabel` instance or dict with compatible properties + hovertemplate + Template string used for rendering the information that + appear on hover box. Note that this will override + `hoverinfo`. Variables are inserted using %{variable}, + for example "y: %{y}" as well as %{xother}, {%_xother}, + {%_xother_}, {%xother_}. When showing info for several + points, "xother" will be added to those with different + x positions from the first point. An underscore before + or after "(x|y)other" will add a space on that side, + only when this field is shown. Numbers are formatted + using d3-format's syntax %{variable:d3-format}, for + example "Price: %{y:$.2f}". + https://github.com/d3/d3-format/tree/v1.4.5#d3-format + for details on the formatting syntax. Dates are + formatted using d3-time-format's syntax + %{variable|d3-time-format}, for example "Day: + %{2019-01-01|%A}". https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format for details on the + date formatting syntax. Variables that can't be found + will be replaced with the specifier. For example, a + template of "data: %{x}, %{y}" will result in a value + of "data: 1, %{y}" if x is 1 and y is missing. + Variables with an undefined value will be replaced with + the fallback value. The variables available in + `hovertemplate` are the ones emitted as event data + described at this link + https://plotly.com/javascript/plotlyjs-events/#event- + data. Additionally, all attributes that can be + specified per-point (the ones that are `arrayOk: true`) + are available. Finally, the template string has access + to variables `x`, `y`, `u`, `v`, `text` and `name`. + Anything contained in tag `` is displayed in the + secondary box, for example + `%{fullData.name}`. To hide the + secondary box completely, use an empty tag + ``. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc. + legendgroup + Sets the legend group for this trace. Traces and shapes + part of the same legend group hide/show at the same + time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.sankey.Legendgrouptitle` + :class:`plotly.graph_objects.quiver.Legendgrouptitle` instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups @@ -13194,8 +11026,9 @@ def add_sankey( legendwidth Sets the width (in px or fraction) of the legend for this trace. - link - The links of the Sankey plot. + marker + :class:`plotly.graph_objects.quiver.Marker` instance or + dict with compatible properties meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -13209,16 +11042,14 @@ def add_sankey( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. - node - The nodes of the Sankey plot. - orientation - Sets the orientation of the Sankey diagram. + opacity + Sets the opacity of the trace. + selected + :class:`plotly.graph_objects.quiver.Selected` instance + or dict with compatible properties selectedpoints Array containing integer indices of selected points. Has an effect only for traces that support selections. @@ -13226,11 +11057,41 @@ def add_sankey( the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect. - stream - :class:`plotly.graph_objects.sankey.Stream` instance or - dict with compatible properties + showlegend + Determines whether or not an item corresponding to this + trace is shown in the legend. + sizemode + Determines whether arrows are drawn according to their + raw lengths, or scaled based on the maximum vector + length and point density. Note: When `anglemode` is + "data" arrows are alwyas scaled and `sizemode` "raw" is + ignored. + sizeref + Adjusts the arrow size scaling. The arrow length is + determined by the vector norm multiplied by `sizeref`, + optionally normalized when `sizemode` is "scaled" + (`sizeref` is applied after scaling). + text + Sets text elements associated with each (x,y) pair. If + a single string, the same string appears over all the + data points. If an array of string, the items are + mapped in order to the this trace's (x,y) coordinates. + If trace `hoverinfo` contains a "text" flag and + "hovertext" is not set, these elements will be seen in + the hover labels. textfont - Sets the font for node labels + Sets the text font. + textposition + Sets the positions of the `text` elements with respects + to the (x,y) coordinates. + u + Sets the x components of the arrow vectors. + uhoverformat + Sets the hover text formatting rule for `u` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: https://github.com/d + 3/d3-format/tree/v1.4.5#d3-format.By default the values + are formatted using generic number format. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -13253,20 +11114,70 @@ def add_sankey( the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves. - valueformat - Sets the value formatting rule using d3 formatting - mini-languages which are very similar to those in - Python. For numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - valuesuffix - Adds a unit to follow the value in the hover tooltip. - Add a space if a separation is necessary from the - value. + unselected + :class:`plotly.graph_objects.quiver.Unselected` + instance or dict with compatible properties + v + Sets the y components of the arrow vectors. + vhoverformat + Sets the hover text formatting rule for `v` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: https://github.com/d + 3/d3-format/tree/v1.4.5#d3-format.By default the values + are formatted using generic number format. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). + x + Sets the x coordinates of the arrow locations. + x0 + Alternate to `x`. Builds a linear space of x + coordinates. Use with `dx` where `x0` is the starting + coordinate and `dx` the step. + xaxis + Sets a reference between this trace's x coordinates and + a 2D cartesian x axis. If "x" (the default value), the + x coordinates refer to `layout.xaxis`. If "x2", the x + coordinates refer to `layout.xaxis2`, and so on. + xhoverformat + Sets the hover text formatting rule for `x` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. + And for dates see: https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format. We add two items to + d3's date formatter: "%h" for half of the year as a + decimal number as well as "%{n}f" for fractional + seconds with n digits. For example, *2016-10-13 + 09:15:23.456* with tickformat "%H~%M~%S.%2f" would + display *09~15~23.46*By default the values are + formatted using `xaxis.hoverformat`. + y + Sets the y coordinates of the arrow locations. + y0 + Alternate to `y`. Builds a linear space of y + coordinates. Use with `dy` where `y0` is the starting + coordinate and `dy` the step. + yaxis + Sets a reference between this trace's y coordinates and + a 2D cartesian y axis. If "y" (the default value), the + y coordinates refer to `layout.yaxis`. If "y2", the y + coordinates refer to `layout.yaxis2`, and so on. + yhoverformat + Sets the hover text formatting rule for `y` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. + And for dates see: https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format. We add two items to + d3's date formatter: "%h" for half of the year as a + decimal number as well as "%{n}f" for fractional + seconds with n digits. For example, *2016-10-13 + 09:15:23.456* with tickformat "%H~%M~%S.%2f" would + display *09~15~23.46*By default the values are + formatted using `yaxis.hoverformat`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -13277,304 +11188,146 @@ def add_sankey( added. Only valid if figure was created using `plotly.tools.make_subplots`.If 'all', addresses all columns in the specified row(s). + secondary_y: boolean or None (default None) + If True, associate this trace with the secondary y-axis of the + subplot at the specified row and col. Only valid if all of the + following conditions are satisfied: + * The figure was created using `plotly.subplots.make_subplots`. + * The row and col arguments are not None + * The subplot at the specified row and col has type xy + (which is the default) and secondary_y True. These + properties are specified in the specs argument to + make_subplots. See the make_subplots docstring for more info. Returns ------- Figure """ - from plotly.graph_objs import Sankey + from plotly.graph_objs import Quiver - new_trace = Sankey( - arrangement=arrangement, + new_trace = Quiver( + anchor=anchor, + anglemode=anglemode, customdata=customdata, - customdatasrc=customdatasrc, - domain=domain, + dx=dx, + dy=dy, hoverinfo=hoverinfo, hoverlabel=hoverlabel, + hovertemplate=hovertemplate, ids=ids, - idssrc=idssrc, legend=legend, + legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, - link=link, + marker=marker, meta=meta, - metasrc=metasrc, name=name, - node=node, - orientation=orientation, + opacity=opacity, + selected=selected, selectedpoints=selectedpoints, - stream=stream, + showlegend=showlegend, + sizemode=sizemode, + sizeref=sizeref, + text=text, textfont=textfont, + textposition=textposition, + u=u, + uhoverformat=uhoverformat, uid=uid, uirevision=uirevision, - valueformat=valueformat, - valuesuffix=valuesuffix, + unselected=unselected, + v=v, + vhoverformat=vhoverformat, visible=visible, + x=x, + x0=x0, + xaxis=xaxis, + xhoverformat=xhoverformat, + y=y, + y0=y0, + yaxis=yaxis, + yhoverformat=yhoverformat, **kwargs, ) - return self.add_trace(new_trace, row=row, col=col) + return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) - def add_scatter( + def add_sankey( self, - alignmentgroup=None, - cliponaxis=None, - connectgaps=None, + arrangement=None, customdata=None, - customdatasrc=None, - dx=None, - dy=None, - error_x=None, - error_y=None, - fill=None, - fillcolor=None, - fillgradient=None, - fillpattern=None, - groupnorm=None, + domain=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, - hoveron=None, - hovertemplate=None, - hovertemplatefallback=None, - hovertemplatesrc=None, - hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, - legendgroup=None, legendgrouptitle=None, legendrank=None, - legendwidth=None, - line=None, - marker=None, - meta=None, - metasrc=None, - mode=None, - name=None, - offsetgroup=None, - opacity=None, - orientation=None, - selected=None, - selectedpoints=None, - showlegend=None, - stackgaps=None, - stackgroup=None, - stream=None, - text=None, - textfont=None, - textposition=None, - textpositionsrc=None, - textsrc=None, - texttemplate=None, - texttemplatefallback=None, - texttemplatesrc=None, - uid=None, - uirevision=None, - unselected=None, - visible=None, - x=None, - x0=None, - xaxis=None, - xcalendar=None, - xhoverformat=None, - xperiod=None, - xperiod0=None, - xperiodalignment=None, - xsrc=None, - y=None, - y0=None, - yaxis=None, - ycalendar=None, - yhoverformat=None, - yperiod=None, - yperiod0=None, - yperiodalignment=None, - ysrc=None, - zorder=None, + legendwidth=None, + link=None, + meta=None, + name=None, + node=None, + orientation=None, + selectedpoints=None, + textfont=None, + uid=None, + uirevision=None, + valueformat=None, + valuesuffix=None, + visible=None, row=None, col=None, - secondary_y=None, **kwargs, ) -> "Figure": """ - Add a new Scatter trace + Add a new Sankey trace - The scatter trace type encompasses line charts, scatter charts, - text charts, and bubble charts. The data visualized as scatter - point or lines is set in `x` and `y`. Text (appearing either on - the chart or on hover only) is via `text`. Bubble charts are - achieved by setting `marker.size` and/or `marker.color` to - numerical arrays. + Sankey plots for network flow data analysis. The nodes are + specified in `nodes` and the links between sources and targets + in `links`. The colors are set in `nodes[i].color` and + `links[i].color`, otherwise defaults are used. Parameters ---------- - alignmentgroup - Set several traces linked to the same position axis or - matching axes to the same alignmentgroup. This controls - whether bars compute their positional range dependently - or independently. - cliponaxis - Determines whether or not markers and text nodes are - clipped about the subplot axes. To show markers and - text nodes above axis lines and tick labels, make sure - to set `xaxis.layer` and `yaxis.layer` to *below - traces*. - connectgaps - Determines whether or not gaps (i.e. {nan} or missing - values) in the provided data arrays are connected. + arrangement + If value is `snap` (the default), the node arrangement + is assisted by automatic snapping of elements to + preserve space between nodes specified via `nodepad`. + If value is `perpendicular`, the nodes can only move + along a line perpendicular to the flow. If value is + `freeform`, the nodes can freely move on the plane. If + value is `fixed`, the nodes are stationary. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - dx - Sets the x coordinate step. See `x0` for more info. - dy - Sets the y coordinate step. See `y0` for more info. - error_x - :class:`plotly.graph_objects.scatter.ErrorX` instance - or dict with compatible properties - error_y - :class:`plotly.graph_objects.scatter.ErrorY` instance - or dict with compatible properties - fill - Sets the area to fill with a solid color. Defaults to - "none" unless this trace is stacked, then it gets - "tonexty" ("tonextx") if `orientation` is "v" ("h") Use - with `fillcolor` if not "none". "tozerox" and "tozeroy" - fill to x=0 and y=0 respectively. "tonextx" and - "tonexty" fill between the endpoints of this trace and - the endpoints of the trace before it, connecting those - endpoints with straight lines (to make a stacked area - graph); if there is no trace before it, they behave - like "tozerox" and "tozeroy". "toself" connects the - endpoints of the trace (or each segment of the trace if - it has gaps) into a closed shape. "tonext" fills the - space between two traces if one completely encloses the - other (eg consecutive contour lines), and behaves like - "toself" if there is no trace before it. "tonext" - should not be used if one trace does not enclose the - other. Traces in a `stackgroup` will only fill to (or - be filled to) other traces in the same group. With - multiple `stackgroup`s or some traces stacked and some - not, if fill-linked traces are not already consecutive, - the later ones will be pushed down in the drawing - order. - fillcolor - Sets the fill color. Defaults to a half-transparent - variant of the line color, marker color, or marker line - color, whichever is available. If fillgradient is - specified, fillcolor is ignored except for setting the - background color of the hover label, if any. - fillgradient - Sets a fill gradient. If not specified, the fillcolor - is used instead. - fillpattern - Sets the pattern within the marker. - groupnorm - Only relevant when `stackgroup` is used, and only the - first `groupnorm` found in the `stackgroup` will be - used - including if `visible` is "legendonly" but not - if it is `false`. Sets the normalization for the sum of - this `stackgroup`. With "fraction", the value of each - trace at each location is divided by the sum of all - trace values at that location. "percent" is the same - but multiplied by 100 to show percentages. If there are - multiple subplots, or multiple `stackgroup`s on one - subplot, each will be normalized within its own set. + domain + :class:`plotly.graph_objects.sankey.Domain` instance or + dict with compatible properties hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. + events are still fired. Note that this attribute is + superseded by `node.hoverinfo` and `node.hoverinfo` for + nodes and links respectively. hoverlabel - :class:`plotly.graph_objects.scatter.Hoverlabel` + :class:`plotly.graph_objects.sankey.Hoverlabel` instance or dict with compatible properties - hoveron - Do the hover effects highlight individual points - (markers or line points) or do they highlight filled - regions? If the fill is "toself" or "tonext" and there - are no markers or text, then the default is "fills", - otherwise it is "points". - hovertemplate - Template string used for rendering the information that - appear on hover box. Note that this will override - `hoverinfo`. Variables are inserted using %{variable}, - for example "y: %{y}" as well as %{xother}, {%_xother}, - {%_xother_}, {%xother_}. When showing info for several - points, "xother" will be added to those with different - x positions from the first point. An underscore before - or after "(x|y)other" will add a space on that side, - only when this field is shown. Numbers are formatted - using d3-format's syntax %{variable:d3-format}, for - example "Price: %{y:$.2f}". - https://github.com/d3/d3-format/tree/v1.4.5#d3-format - for details on the formatting syntax. Dates are - formatted using d3-time-format's syntax - %{variable|d3-time-format}, for example "Day: - %{2019-01-01|%A}". https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format for details on the - date formatting syntax. Variables that can't be found - will be replaced with the specifier. For example, a - template of "data: %{x}, %{y}" will result in a value - of "data: 1, %{y}" if x is 1 and y is missing. - Variables with an undefined value will be replaced with - the fallback value. The variables available in - `hovertemplate` are the ones emitted as event data - described at this link - https://plotly.com/javascript/plotlyjs-events/#event- - data. Additionally, all attributes that can be - specified per-point (the ones that are `arrayOk: true`) - are available. Anything contained in tag `` is - displayed in the secondary box, for example - `%{fullData.name}`. To hide the - secondary box completely, use an empty tag - ``. - hovertemplatefallback - Fallback string that's displayed when a variable - referenced in a template is missing. If the boolean - value 'false' is passed in, the specifier with the - missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - hovertext - Sets hover text elements associated with each (x,y) - pair. If a single string, the same string appears over - all the data points. If an array of string, the items - are mapped in order to the this trace's (x,y) - coordinates. To be seen, trace `hoverinfo` must contain - a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc. - legendgroup - Sets the legend group for this trace. Traces and shapes - part of the same legend group hide/show at the same - time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.scatter.Legendgrouptitle` + :class:`plotly.graph_objects.sankey.Legendgrouptitle` instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups @@ -13590,141 +11343,37 @@ def add_scatter( legendwidth Sets the width (in px or fraction) of the legend for this trace. - line - :class:`plotly.graph_objects.scatter.Line` instance or - dict with compatible properties - marker - :class:`plotly.graph_objects.scatter.Marker` instance - or dict with compatible properties + link + The links of the Sankey plot. meta Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` - text all support `meta`. To access the trace `meta` - values in an attribute in the same trace, simply use - `%{meta[i]}` where `i` is the index or key of the - `meta` item in question. To access trace `meta` in - layout attributes, use `%{data[n[.meta[i]}` where `i` - is the index or key of the `meta` and `n` is the trace - index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. - mode - Determines the drawing mode for this scatter trace. If - the provided `mode` includes "text" then the `text` - elements appear at the coordinates. Otherwise, the - `text` elements appear on hover. If there are less than - 20 points and the trace is not stacked then the default - is "lines+markers". Otherwise, "lines". - name - Sets the trace name. The trace name appears as the - legend item and on hover. - offsetgroup - Set several traces linked to the same position axis or - matching axes to the same offsetgroup where bars of the - same position coordinate will line up. - opacity - Sets the opacity of the trace. - orientation - Only relevant in the following cases: 1. when - `scattermode` is set to "group". 2. when `stackgroup` - is used, and only the first `orientation` found in the - `stackgroup` will be used - including if `visible` is - "legendonly" but not if it is `false`. Sets the - stacking direction. With "v" ("h"), the y (x) values of - subsequent traces are added. Also affects the default - value of `fill`. - selected - :class:`plotly.graph_objects.scatter.Selected` instance - or dict with compatible properties - selectedpoints - Array containing integer indices of selected points. - Has an effect only for traces that support selections. - Note that an empty array means an empty selection where - the `unselected` are turned on for all points, whereas, - any other non-array values means no selection all where - the `selected` and `unselected` styles have no effect. - showlegend - Determines whether or not an item corresponding to this - trace is shown in the legend. - stackgaps - Only relevant when `stackgroup` is used, and only the - first `stackgaps` found in the `stackgroup` will be - used - including if `visible` is "legendonly" but not - if it is `false`. Determines how we handle locations at - which other traces in this group have data but this one - does not. With *infer zero* we insert a zero at these - locations. With "interpolate" we linearly interpolate - between existing values, and extrapolate a constant - beyond the existing values. - stackgroup - Set several scatter traces (on the same subplot) to the - same stackgroup in order to add their y values (or - their x values if `orientation` is "h"). If blank or - omitted this trace will not be stacked. Stacking also - turns `fill` on by default, using "tonexty" ("tonextx") - if `orientation` is "h" ("v") and sets the default - `mode` to "lines" irrespective of point count. You can - only stack on a numeric (linear or log) axis. Traces in - a `stackgroup` will only fill to (or be filled to) - other traces in the same group. With multiple - `stackgroup`s or some traces stacked and some not, if - fill-linked traces are not already consecutive, the - later ones will be pushed down in the drawing order. - stream - :class:`plotly.graph_objects.scatter.Stream` instance - or dict with compatible properties - text - Sets text elements associated with each (x,y) pair. If - a single string, the same string appears over all the - data points. If an array of string, the items are - mapped in order to the this trace's (x,y) coordinates. - If trace `hoverinfo` contains a "text" flag and - "hovertext" is not set, these elements will be seen in - the hover labels. + text all support `meta`. To access the trace `meta` + values in an attribute in the same trace, simply use + `%{meta[i]}` where `i` is the index or key of the + `meta` item in question. To access trace `meta` in + layout attributes, use `%{data[n[.meta[i]}` where `i` + is the index or key of the `meta` and `n` is the trace + index. + name + Sets the trace name. The trace name appears as the + legend item and on hover. + node + The nodes of the Sankey plot. + orientation + Sets the orientation of the Sankey diagram. + selectedpoints + Array containing integer indices of selected points. + Has an effect only for traces that support selections. + Note that an empty array means an empty selection where + the `unselected` are turned on for all points, whereas, + any other non-array values means no selection all where + the `selected` and `unselected` styles have no effect. textfont - Sets the text font. - textposition - Sets the positions of the `text` elements with respects - to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. - texttemplate - Template string used for rendering the information text - that appears on points. Note that this will override - `textinfo`. Variables are inserted using %{variable}, - for example "y: %{y}". Numbers are formatted using - d3-format's syntax %{variable:d3-format}, for example - "Price: %{y:$.2f}". - https://github.com/d3/d3-format/tree/v1.4.5#d3-format - for details on the formatting syntax. Dates are - formatted using d3-time-format's syntax - %{variable|d3-time-format}, for example "Day: - %{2019-01-01|%A}". https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format for details on the - date formatting syntax. Variables that can't be found - will be replaced with the specifier. For example, a - template of "data: %{x}, %{y}" will result in a value - of "data: 1, %{y}" if x is 1 and y is missing. - Variables with an undefined value will be replaced with - the fallback value. All attributes that can be - specified per-point (the ones that are `arrayOk: true`) - are available. - texttemplatefallback - Fallback string that's displayed when a variable - referenced in a template is missing. If the boolean - value 'false' is passed in, the specifier with the - missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. + Sets the font for node labels uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -13747,109 +11396,20 @@ def add_scatter( the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves. - unselected - :class:`plotly.graph_objects.scatter.Unselected` - instance or dict with compatible properties + valueformat + Sets the value formatting rule using d3 formatting + mini-languages which are very similar to those in + Python. For numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. + valuesuffix + Adds a unit to follow the value in the hover tooltip. + Add a space if a separation is necessary from the + value. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). - x - Sets the x coordinates. - x0 - Alternate to `x`. Builds a linear space of x - coordinates. Use with `dx` where `x0` is the starting - coordinate and `dx` the step. - xaxis - Sets a reference between this trace's x coordinates and - a 2D cartesian x axis. If "x" (the default value), the - x coordinates refer to `layout.xaxis`. If "x2", the x - coordinates refer to `layout.xaxis2`, and so on. - xcalendar - Sets the calendar system to use with `x` date data. - xhoverformat - Sets the hover text formatting rulefor `x` using d3 - formatting mini-languages which are very similar to - those in Python. For numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - And for dates see: https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two items to - d3's date formatter: "%h" for half of the year as a - decimal number as well as "%{n}f" for fractional - seconds with n digits. For example, *2016-10-13 - 09:15:23.456* with tickformat "%H~%M~%S.%2f" would - display *09~15~23.46*By default the values are - formatted using `xaxis.hoverformat`. - xperiod - Only relevant when the axis `type` is "date". Sets the - period positioning in milliseconds or "M" on the x - axis. Special values in the form of "M" could be - used to declare the number of months. In this case `n` - must be a positive integer. - xperiod0 - Only relevant when the axis `type` is "date". Sets the - base for period positioning in milliseconds or date - string on the x0 axis. When `x0period` is round number - of weeks, the `x0period0` by default would be on a - Sunday i.e. 2000-01-02, otherwise it would be at - 2000-01-01. - xperiodalignment - Only relevant when the axis `type` is "date". Sets the - alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. - y - Sets the y coordinates. - y0 - Alternate to `y`. Builds a linear space of y - coordinates. Use with `dy` where `y0` is the starting - coordinate and `dy` the step. - yaxis - Sets a reference between this trace's y coordinates and - a 2D cartesian y axis. If "y" (the default value), the - y coordinates refer to `layout.yaxis`. If "y2", the y - coordinates refer to `layout.yaxis2`, and so on. - ycalendar - Sets the calendar system to use with `y` date data. - yhoverformat - Sets the hover text formatting rulefor `y` using d3 - formatting mini-languages which are very similar to - those in Python. For numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - And for dates see: https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two items to - d3's date formatter: "%h" for half of the year as a - decimal number as well as "%{n}f" for fractional - seconds with n digits. For example, *2016-10-13 - 09:15:23.456* with tickformat "%H~%M~%S.%2f" would - display *09~15~23.46*By default the values are - formatted using `yaxis.hoverformat`. - yperiod - Only relevant when the axis `type` is "date". Sets the - period positioning in milliseconds or "M" on the y - axis. Special values in the form of "M" could be - used to declare the number of months. In this case `n` - must be a positive integer. - yperiod0 - Only relevant when the axis `type` is "date". Sets the - base for period positioning in milliseconds or date - string on the y0 axis. When `y0period` is round number - of weeks, the `y0period0` by default would be on a - Sunday i.e. 2000-01-02, otherwise it would be at - 2000-01-01. - yperiodalignment - Only relevant when the axis `type` is "date". Sets the - alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. - zorder - Sets the layer on which this trace is displayed, - relative to other SVG traces on the same subplot. SVG - traces with higher `zorder` appear in front of those - with lower `zorder`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -13860,122 +11420,62 @@ def add_scatter( added. Only valid if figure was created using `plotly.tools.make_subplots`.If 'all', addresses all columns in the specified row(s). - secondary_y: boolean or None (default None) - If True, associate this trace with the secondary y-axis of the - subplot at the specified row and col. Only valid if all of the - following conditions are satisfied: - * The figure was created using `plotly.subplots.make_subplots`. - * The row and col arguments are not None - * The subplot at the specified row and col has type xy - (which is the default) and secondary_y True. These - properties are specified in the specs argument to - make_subplots. See the make_subplots docstring for more info. Returns ------- Figure """ - from plotly.graph_objs import Scatter + from plotly.graph_objs import Sankey - new_trace = Scatter( - alignmentgroup=alignmentgroup, - cliponaxis=cliponaxis, - connectgaps=connectgaps, + new_trace = Sankey( + arrangement=arrangement, customdata=customdata, - customdatasrc=customdatasrc, - dx=dx, - dy=dy, - error_x=error_x, - error_y=error_y, - fill=fill, - fillcolor=fillcolor, - fillgradient=fillgradient, - fillpattern=fillpattern, - groupnorm=groupnorm, + domain=domain, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, - hoveron=hoveron, - hovertemplate=hovertemplate, - hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, - hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, - legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, - line=line, - marker=marker, + link=link, meta=meta, - metasrc=metasrc, - mode=mode, name=name, - offsetgroup=offsetgroup, - opacity=opacity, + node=node, orientation=orientation, - selected=selected, selectedpoints=selectedpoints, - showlegend=showlegend, - stackgaps=stackgaps, - stackgroup=stackgroup, - stream=stream, - text=text, textfont=textfont, - textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, - texttemplate=texttemplate, - texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, uid=uid, uirevision=uirevision, - unselected=unselected, + valueformat=valueformat, + valuesuffix=valuesuffix, visible=visible, - x=x, - x0=x0, - xaxis=xaxis, - xcalendar=xcalendar, - xhoverformat=xhoverformat, - xperiod=xperiod, - xperiod0=xperiod0, - xperiodalignment=xperiodalignment, - xsrc=xsrc, - y=y, - y0=y0, - yaxis=yaxis, - ycalendar=ycalendar, - yhoverformat=yhoverformat, - yperiod=yperiod, - yperiod0=yperiod0, - yperiodalignment=yperiodalignment, - ysrc=ysrc, - zorder=zorder, **kwargs, ) - return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) + return self.add_trace(new_trace, row=row, col=col) - def add_scatter3d( + def add_scatter( self, + alignmentgroup=None, + cliponaxis=None, connectgaps=None, customdata=None, - customdatasrc=None, + dx=None, + dy=None, error_x=None, error_y=None, - error_z=None, + fill=None, + fillcolor=None, + fillgradient=None, + fillpattern=None, + groupnorm=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, + hoveron=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -13984,55 +11484,70 @@ def add_scatter3d( line=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, + offsetgroup=None, opacity=None, - projection=None, - scene=None, + orientation=None, + selected=None, + selectedpoints=None, showlegend=None, - stream=None, - surfaceaxis=None, - surfacecolor=None, + stackgaps=None, + stackgroup=None, text=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, + unselected=None, visible=None, x=None, + x0=None, + xaxis=None, xcalendar=None, xhoverformat=None, - xsrc=None, + xperiod=None, + xperiod0=None, + xperiodalignment=None, y=None, + y0=None, + yaxis=None, ycalendar=None, yhoverformat=None, - ysrc=None, - z=None, - zcalendar=None, - zhoverformat=None, - zsrc=None, + yperiod=None, + yperiod0=None, + yperiodalignment=None, + zorder=None, row=None, col=None, + secondary_y=None, **kwargs, ) -> "Figure": """ - Add a new Scatter3d trace + Add a new Scatter trace - The data visualized as scatter point or lines in 3D dimension - is set in `x`, `y`, `z`. Text (appearing either on the chart or - on hover only) is via `text`. Bubble charts are achieved by - setting `marker.size` and/or `marker.color` Projections are - achieved via `projection`. Surface fills are achieved via - `surfaceaxis`. + The scatter trace type encompasses line charts, scatter charts, + text charts, and bubble charts. The data visualized as scatter + point or lines is set in `x` and `y`. Text (appearing either on + the chart or on hover only) is via `text`. Bubble charts are + achieved by setting `marker.size` and/or `marker.color` to + numerical arrays. Parameters ---------- + alignmentgroup + Set several traces linked to the same position axis or + matching axes to the same alignmentgroup. This controls + whether bars compute their positional range dependently + or independently. + cliponaxis + Determines whether or not markers and text nodes are + clipped about the subplot axes. To show markers and + text nodes above axis lines and tick labels, make sure + to set `xaxis.layer` and `yaxis.layer` to *below + traces*. connectgaps Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. @@ -14041,29 +11556,75 @@ def add_scatter3d( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. + dx + Sets the x coordinate step. See `x0` for more info. + dy + Sets the y coordinate step. See `y0` for more info. error_x - :class:`plotly.graph_objects.scatter3d.ErrorX` instance + :class:`plotly.graph_objects.scatter.ErrorX` instance or dict with compatible properties error_y - :class:`plotly.graph_objects.scatter3d.ErrorY` instance - or dict with compatible properties - error_z - :class:`plotly.graph_objects.scatter3d.ErrorZ` instance + :class:`plotly.graph_objects.scatter.ErrorY` instance or dict with compatible properties + fill + Sets the area to fill with a solid color. Defaults to + "none" unless this trace is stacked, then it gets + "tonexty" ("tonextx") if `orientation` is "v" ("h") Use + with `fillcolor` if not "none". "tozerox" and "tozeroy" + fill to x=0 and y=0 respectively. "tonextx" and + "tonexty" fill between the endpoints of this trace and + the endpoints of the trace before it, connecting those + endpoints with straight lines (to make a stacked area + graph); if there is no trace before it, they behave + like "tozerox" and "tozeroy". "toself" connects the + endpoints of the trace (or each segment of the trace if + it has gaps) into a closed shape. "tonext" fills the + space between two traces if one completely encloses the + other (eg consecutive contour lines), and behaves like + "toself" if there is no trace before it. "tonext" + should not be used if one trace does not enclose the + other. Traces in a `stackgroup` will only fill to (or + be filled to) other traces in the same group. With + multiple `stackgroup`s or some traces stacked and some + not, if fill-linked traces are not already consecutive, + the later ones will be pushed down in the drawing + order. + fillcolor + Sets the fill color. Defaults to a half-transparent + variant of the line color, marker color, or marker line + color, whichever is available. If fillgradient is + specified, fillcolor is ignored except for setting the + background color of the hover label, if any. + fillgradient + Sets a fill gradient. If not specified, the fillcolor + is used instead. + fillpattern + Sets the pattern within the marker. + groupnorm + Only relevant when `stackgroup` is used, and only the + first `groupnorm` found in the `stackgroup` will be + used - including if `visible` is "legendonly" but not + if it is `false`. Sets the normalization for the sum of + this `stackgroup`. With "fraction", the value of each + trace at each location is divided by the sum of all + trace values at that location. "percent" is the same + but multiplied by 100 to show percentages. If there are + multiple subplots, or multiple `stackgroup`s on one + subplot, each will be normalized within its own set. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel - :class:`plotly.graph_objects.scatter3d.Hoverlabel` + :class:`plotly.graph_objects.scatter.Hoverlabel` instance or dict with compatible properties + hoveron + Do the hover effects highlight individual points + (markers or line points) or do they highlight filled + regions? If the fill is "toself" or "tonext" and there + are no markers or text, then the default is "fills", + otherwise it is "points". hovertemplate Template string used for rendering the information that appear on hover box. Note that this will override @@ -14103,26 +11664,17 @@ def add_scatter3d( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext - Sets text elements associated with each (x,y,z) - triplet. If a single string, the same string appears - over all the data points. If an array of string, the - items are mapped in order to the this trace's (x,y,z) + Sets hover text elements associated with each (x,y) + pair. If a single string, the same string appears over + all the data points. If an array of string, the items + are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -14134,8 +11686,8 @@ def add_scatter3d( part of the same legend group hide/show at the same time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.scatter3d.Legendgrouptitle - ` instance or dict with compatible properties + :class:`plotly.graph_objects.scatter.Legendgrouptitle` + instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while @@ -14151,10 +11703,10 @@ def add_scatter3d( Sets the width (in px or fraction) of the legend for this trace. line - :class:`plotly.graph_objects.scatter3d.Line` instance - or dict with compatible properties + :class:`plotly.graph_objects.scatter.Line` instance or + dict with compatible properties marker - :class:`plotly.graph_objects.scatter3d.Marker` instance + :class:`plotly.graph_objects.scatter.Marker` instance or dict with compatible properties meta Assigns extra meta information associated with this @@ -14169,9 +11721,6 @@ def add_scatter3d( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -14182,48 +11731,71 @@ def add_scatter3d( name Sets the trace name. The trace name appears as the legend item and on hover. + offsetgroup + Set several traces linked to the same position axis or + matching axes to the same offsetgroup where bars of the + same position coordinate will line up. opacity Sets the opacity of the trace. - projection - :class:`plotly.graph_objects.scatter3d.Projection` - instance or dict with compatible properties - scene - Sets a reference between this trace's 3D coordinate - system and a 3D scene. If "scene" (the default value), - the (x,y,z) coordinates refer to `layout.scene`. If - "scene2", the (x,y,z) coordinates refer to - `layout.scene2`, and so on. + orientation + Only relevant in the following cases: 1. when + `scattermode` is set to "group". 2. when `stackgroup` + is used, and only the first `orientation` found in the + `stackgroup` will be used - including if `visible` is + "legendonly" but not if it is `false`. Sets the + stacking direction. With "v" ("h"), the y (x) values of + subsequent traces are added. Also affects the default + value of `fill`. + selected + :class:`plotly.graph_objects.scatter.Selected` instance + or dict with compatible properties + selectedpoints + Array containing integer indices of selected points. + Has an effect only for traces that support selections. + Note that an empty array means an empty selection where + the `unselected` are turned on for all points, whereas, + any other non-array values means no selection all where + the `selected` and `unselected` styles have no effect. showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scatter3d.Stream` instance - or dict with compatible properties - surfaceaxis - If "-1", the scatter points are not fill with a surface - If 0, 1, 2, the scatter points are filled with a - Delaunay surface about the x, y, z respectively. - surfacecolor - Sets the surface fill color. + stackgaps + Only relevant when `stackgroup` is used, and only the + first `stackgaps` found in the `stackgroup` will be + used - including if `visible` is "legendonly" but not + if it is `false`. Determines how we handle locations at + which other traces in this group have data but this one + does not. With *infer zero* we insert a zero at these + locations. With "interpolate" we linearly interpolate + between existing values, and extrapolate a constant + beyond the existing values. + stackgroup + Set several scatter traces (on the same subplot) to the + same stackgroup in order to add their y values (or + their x values if `orientation` is "h"). If blank or + omitted this trace will not be stacked. Stacking also + turns `fill` on by default, using "tonexty" ("tonextx") + if `orientation` is "h" ("v") and sets the default + `mode` to "lines" irrespective of point count. You can + only stack on a numeric (linear or log) axis. Traces in + a `stackgroup` will only fill to (or be filled to) + other traces in the same group. With multiple + `stackgroup`s or some traces stacked and some not, if + fill-linked traces are not already consecutive, the + later ones will be pushed down in the drawing order. text - Sets text elements associated with each (x,y,z) - triplet. If a single string, the same string appears - over all the data points. If an array of string, the - items are mapped in order to the this trace's (x,y,z) - coordinates. If trace `hoverinfo` contains a "text" - flag and "hovertext" is not set, these elements will be - seen in the hover labels. + Sets text elements associated with each (x,y) pair. If + a single string, the same string appears over all the + data points. If an array of string, the items are + mapped in order to the this trace's (x,y) coordinates. + If trace `hoverinfo` contains a "text" flag and + "hovertext" is not set, these elements will be seen in + the hover labels. textfont Sets the text font. textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -14250,9 +11822,6 @@ def add_scatter3d( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -14275,6 +11844,9 @@ def add_scatter3d( the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves. + unselected + :class:`plotly.graph_objects.scatter.Unselected` + instance or dict with compatible properties visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -14282,10 +11854,19 @@ def add_scatter3d( visible). x Sets the x coordinates. + x0 + Alternate to `x`. Builds a linear space of x + coordinates. Use with `dx` where `x0` is the starting + coordinate and `dx` the step. + xaxis + Sets a reference between this trace's x coordinates and + a 2D cartesian x axis. If "x" (the default value), the + x coordinates refer to `layout.xaxis`. If "x2", the x + coordinates refer to `layout.xaxis2`, and so on. xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -14297,15 +11878,37 @@ def add_scatter3d( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. + xperiod + Only relevant when the axis `type` is "date". Sets the + period positioning in milliseconds or "M" on the x + axis. Special values in the form of "M" could be + used to declare the number of months. In this case `n` + must be a positive integer. + xperiod0 + Only relevant when the axis `type` is "date". Sets the + base for period positioning in milliseconds or date + string on the x0 axis. When `x0period` is round number + of weeks, the `x0period0` by default would be on a + Sunday i.e. 2000-01-02, otherwise it would be at + 2000-01-01. + xperiodalignment + Only relevant when the axis `type` is "date". Sets the + alignment of data points on the x axis. y Sets the y coordinates. + y0 + Alternate to `y`. Builds a linear space of y + coordinates. Use with `dy` where `y0` is the starting + coordinate and `dy` the step. + yaxis + Sets a reference between this trace's y coordinates and + a 2D cartesian y axis. If "y" (the default value), the + y coordinates refer to `layout.yaxis`. If "y2", the y + coordinates refer to `layout.yaxis2`, and so on. ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -14317,29 +11920,27 @@ def add_scatter3d( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. - z - Sets the z coordinates. - zcalendar - Sets the calendar system to use with `z` date data. - zhoverformat - Sets the hover text formatting rulefor `z` using d3 - formatting mini-languages which are very similar to - those in Python. For numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - And for dates see: https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two items to - d3's date formatter: "%h" for half of the year as a - decimal number as well as "%{n}f" for fractional - seconds with n digits. For example, *2016-10-13 - 09:15:23.456* with tickformat "%H~%M~%S.%2f" would - display *09~15~23.46*By default the values are - formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. + yperiod + Only relevant when the axis `type` is "date". Sets the + period positioning in milliseconds or "M" on the y + axis. Special values in the form of "M" could be + used to declare the number of months. In this case `n` + must be a positive integer. + yperiod0 + Only relevant when the axis `type` is "date". Sets the + base for period positioning in milliseconds or date + string on the y0 axis. When `y0period` is round number + of weeks, the `y0period0` by default would be on a + Sunday i.e. 2000-01-02, otherwise it would be at + 2000-01-01. + yperiodalignment + Only relevant when the axis `type` is "date". Sets the + alignment of data points on the y axis. + zorder + Sets the layer on which this trace is displayed, + relative to other SVG traces on the same subplot. SVG + traces with higher `zorder` appear in front of those + with lower `zorder`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -14350,30 +11951,44 @@ def add_scatter3d( added. Only valid if figure was created using `plotly.tools.make_subplots`.If 'all', addresses all columns in the specified row(s). + secondary_y: boolean or None (default None) + If True, associate this trace with the secondary y-axis of the + subplot at the specified row and col. Only valid if all of the + following conditions are satisfied: + * The figure was created using `plotly.subplots.make_subplots`. + * The row and col arguments are not None + * The subplot at the specified row and col has type xy + (which is the default) and secondary_y True. These + properties are specified in the specs argument to + make_subplots. See the make_subplots docstring for more info. Returns ------- Figure """ - from plotly.graph_objs import Scatter3d + from plotly.graph_objs import Scatter - new_trace = Scatter3d( + new_trace = Scatter( + alignmentgroup=alignmentgroup, + cliponaxis=cliponaxis, connectgaps=connectgaps, customdata=customdata, - customdatasrc=customdatasrc, + dx=dx, + dy=dy, error_x=error_x, error_y=error_y, - error_z=error_z, + fill=fill, + fillcolor=fillcolor, + fillgradient=fillgradient, + fillpattern=fillpattern, + groupnorm=groupnorm, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, + hoveron=hoveron, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -14382,66 +11997,59 @@ def add_scatter3d( line=line, marker=marker, meta=meta, - metasrc=metasrc, mode=mode, name=name, + offsetgroup=offsetgroup, opacity=opacity, - projection=projection, - scene=scene, + orientation=orientation, + selected=selected, + selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, - surfaceaxis=surfaceaxis, - surfacecolor=surfacecolor, + stackgaps=stackgaps, + stackgroup=stackgroup, text=text, textfont=textfont, textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, uid=uid, uirevision=uirevision, + unselected=unselected, visible=visible, x=x, + x0=x0, + xaxis=xaxis, xcalendar=xcalendar, xhoverformat=xhoverformat, - xsrc=xsrc, + xperiod=xperiod, + xperiod0=xperiod0, + xperiodalignment=xperiodalignment, y=y, + y0=y0, + yaxis=yaxis, ycalendar=ycalendar, yhoverformat=yhoverformat, - ysrc=ysrc, - z=z, - zcalendar=zcalendar, - zhoverformat=zhoverformat, - zsrc=zsrc, + yperiod=yperiod, + yperiod0=yperiod0, + yperiodalignment=yperiodalignment, + zorder=zorder, **kwargs, ) - return self.add_trace(new_trace, row=row, col=col) + return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) - def add_scattercarpet( + def add_scatter3d( self, - a=None, - asrc=None, - b=None, - bsrc=None, - carpet=None, connectgaps=None, customdata=None, - customdatasrc=None, - fill=None, - fillcolor=None, + error_x=None, + error_y=None, + error_z=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, - hoveron=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -14450,56 +12058,47 @@ def add_scattercarpet( line=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, - selected=None, - selectedpoints=None, + projection=None, + scene=None, showlegend=None, - stream=None, + surfaceaxis=None, + surfacecolor=None, text=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, - unselected=None, visible=None, - xaxis=None, - yaxis=None, - zorder=None, + x=None, + xcalendar=None, + xhoverformat=None, + y=None, + ycalendar=None, + yhoverformat=None, + z=None, + zcalendar=None, + zhoverformat=None, row=None, col=None, - secondary_y=None, **kwargs, ) -> "Figure": """ - Add a new Scattercarpet trace + Add a new Scatter3d trace - Plots a scatter trace on either the first carpet axis or the - carpet axis with a matching `carpet` attribute. + The data visualized as scatter point or lines in 3D dimension + is set in `x`, `y`, `z`. Text (appearing either on the chart or + on hover only) is via `text`. Bubble charts are achieved by + setting `marker.size` and/or `marker.color` Projections are + achieved via `projection`. Surface fills are achieved via + `surfaceaxis`. Parameters ---------- - a - Sets the a-axis coordinates. - asrc - Sets the source reference on Chart Studio Cloud for - `a`. - b - Sets the b-axis coordinates. - bsrc - Sets the source reference on Chart Studio Cloud for - `b`. - carpet - An identifier for this carpet, so that `scattercarpet` - and `contourcarpet` traces can specify a carpet plot on - which they lie connectgaps Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. @@ -14508,41 +12107,23 @@ def add_scattercarpet( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - fill - Sets the area to fill with a solid color. Use with - `fillcolor` if not "none". scatterternary has a subset - of the options available to scatter. "toself" connects - the endpoints of the trace (or each segment of the - trace if it has gaps) into a closed shape. "tonext" - fills the space between two traces if one completely - encloses the other (eg consecutive contour lines), and - behaves like "toself" if there is no trace before it. - "tonext" should not be used if one trace does not - enclose the other. - fillcolor - Sets the fill color. Defaults to a half-transparent - variant of the line color, marker color, or marker line - color, whichever is available. + error_x + :class:`plotly.graph_objects.scatter3d.ErrorX` instance + or dict with compatible properties + error_y + :class:`plotly.graph_objects.scatter3d.ErrorY` instance + or dict with compatible properties + error_z + :class:`plotly.graph_objects.scatter3d.ErrorZ` instance + or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel - :class:`plotly.graph_objects.scattercarpet.Hoverlabel` + :class:`plotly.graph_objects.scatter3d.Hoverlabel` instance or dict with compatible properties - hoveron - Do the hover effects highlight individual points - (markers or line points) or do they highlight filled - regions? If the fill is "toself" or "tonext" and there - are no markers or text, then the default is "fills", - otherwise it is "points". hovertemplate Template string used for rendering the information that appear on hover box. Note that this will override @@ -14582,25 +12163,17 @@ def add_scattercarpet( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext - Sets hover text elements associated with each (a,b) - point. If a single string, the same string appears over - all the data points. If an array of strings, the items - are mapped in order to the the data points in (a,b). To - be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. + Sets text elements associated with each (x,y,z) + triplet. If a single string, the same string appears + over all the data points. If an array of string, the + items are mapped in order to the this trace's (x,y,z) + coordinates. To be seen, trace `hoverinfo` must contain + a "text" flag. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -14612,8 +12185,8 @@ def add_scattercarpet( part of the same legend group hide/show at the same time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.scattercarpet.Legendgroupt - itle` instance or dict with compatible properties + :class:`plotly.graph_objects.scatter3d.Legendgrouptitle + ` instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while @@ -14629,11 +12202,11 @@ def add_scattercarpet( Sets the width (in px or fraction) of the legend for this trace. line - :class:`plotly.graph_objects.scattercarpet.Line` - instance or dict with compatible properties + :class:`plotly.graph_objects.scatter3d.Line` instance + or dict with compatible properties marker - :class:`plotly.graph_objects.scattercarpet.Marker` - instance or dict with compatible properties + :class:`plotly.graph_objects.scatter3d.Marker` instance + or dict with compatible properties meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -14647,9 +12220,6 @@ def add_scattercarpet( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -14662,41 +12232,37 @@ def add_scattercarpet( legend item and on hover. opacity Sets the opacity of the trace. - selected - :class:`plotly.graph_objects.scattercarpet.Selected` + projection + :class:`plotly.graph_objects.scatter3d.Projection` instance or dict with compatible properties - selectedpoints - Array containing integer indices of selected points. - Has an effect only for traces that support selections. - Note that an empty array means an empty selection where - the `unselected` are turned on for all points, whereas, - any other non-array values means no selection all where - the `selected` and `unselected` styles have no effect. + scene + Sets a reference between this trace's 3D coordinate + system and a 3D scene. If "scene" (the default value), + the (x,y,z) coordinates refer to `layout.scene`. If + "scene2", the (x,y,z) coordinates refer to + `layout.scene2`, and so on. showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scattercarpet.Stream` - instance or dict with compatible properties + surfaceaxis + If "-1", the scatter points are not fill with a surface + If 0, 1, 2, the scatter points are filled with a + Delaunay surface about the x, y, z respectively. + surfacecolor + Sets the surface fill color. text - Sets text elements associated with each (a,b) point. If - a single string, the same string appears over all the - data points. If an array of strings, the items are - mapped in order to the the data points in (a,b). If - trace `hoverinfo` contains a "text" flag and - "hovertext" is not set, these elements will be seen in - the hover labels. + Sets text elements associated with each (x,y,z) + triplet. If a single string, the same string appears + over all the data points. If an array of string, the + items are mapped in order to the this trace's (x,y,z) + coordinates. If trace `hoverinfo` contains a "text" + flag and "hovertext" is not set, these elements will be + seen in the hover labels. textfont Sets the text font. textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -14717,16 +12283,12 @@ def add_scattercarpet( Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) - are available. Finally, the template string has access - to variables `a`, `b` and `text`. + are available. texttemplatefallback Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -14749,29 +12311,62 @@ def add_scattercarpet( the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves. - unselected - :class:`plotly.graph_objects.scattercarpet.Unselected` - instance or dict with compatible properties visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). - xaxis - Sets a reference between this trace's x coordinates and - a 2D cartesian x axis. If "x" (the default value), the - x coordinates refer to `layout.xaxis`. If "x2", the x - coordinates refer to `layout.xaxis2`, and so on. - yaxis - Sets a reference between this trace's y coordinates and - a 2D cartesian y axis. If "y" (the default value), the - y coordinates refer to `layout.yaxis`. If "y2", the y - coordinates refer to `layout.yaxis2`, and so on. - zorder - Sets the layer on which this trace is displayed, - relative to other SVG traces on the same subplot. SVG - traces with higher `zorder` appear in front of those - with lower `zorder`. + x + Sets the x coordinates. + xcalendar + Sets the calendar system to use with `x` date data. + xhoverformat + Sets the hover text formatting rule for `x` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. + And for dates see: https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format. We add two items to + d3's date formatter: "%h" for half of the year as a + decimal number as well as "%{n}f" for fractional + seconds with n digits. For example, *2016-10-13 + 09:15:23.456* with tickformat "%H~%M~%S.%2f" would + display *09~15~23.46*By default the values are + formatted using `xaxis.hoverformat`. + y + Sets the y coordinates. + ycalendar + Sets the calendar system to use with `y` date data. + yhoverformat + Sets the hover text formatting rule for `y` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. + And for dates see: https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format. We add two items to + d3's date formatter: "%h" for half of the year as a + decimal number as well as "%{n}f" for fractional + seconds with n digits. For example, *2016-10-13 + 09:15:23.456* with tickformat "%H~%M~%S.%2f" would + display *09~15~23.46*By default the values are + formatted using `yaxis.hoverformat`. + z + Sets the z coordinates. + zcalendar + Sets the calendar system to use with `z` date data. + zhoverformat + Sets the hover text formatting rule for `z` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. + And for dates see: https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format. We add two items to + d3's date formatter: "%h" for half of the year as a + decimal number as well as "%{n}f" for fractional + seconds with n digits. For example, *2016-10-13 + 09:15:23.456* with tickformat "%H~%M~%S.%2f" would + display *09~15~23.46*By default the values are + formatted using `zaxis.hoverformat`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -14782,45 +12377,25 @@ def add_scattercarpet( added. Only valid if figure was created using `plotly.tools.make_subplots`.If 'all', addresses all columns in the specified row(s). - secondary_y: boolean or None (default None) - If True, associate this trace with the secondary y-axis of the - subplot at the specified row and col. Only valid if all of the - following conditions are satisfied: - * The figure was created using `plotly.subplots.make_subplots`. - * The row and col arguments are not None - * The subplot at the specified row and col has type xy - (which is the default) and secondary_y True. These - properties are specified in the specs argument to - make_subplots. See the make_subplots docstring for more info. Returns ------- Figure """ - from plotly.graph_objs import Scattercarpet + from plotly.graph_objs import Scatter3d - new_trace = Scattercarpet( - a=a, - asrc=asrc, - b=b, - bsrc=bsrc, - carpet=carpet, + new_trace = Scatter3d( connectgaps=connectgaps, customdata=customdata, - customdatasrc=customdatasrc, - fill=fill, - fillcolor=fillcolor, + error_x=error_x, + error_y=error_y, + error_z=error_z, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, - hoveron=hoveron, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -14829,102 +12404,98 @@ def add_scattercarpet( line=line, marker=marker, meta=meta, - metasrc=metasrc, mode=mode, name=name, opacity=opacity, - selected=selected, - selectedpoints=selectedpoints, + projection=projection, + scene=scene, showlegend=showlegend, - stream=stream, + surfaceaxis=surfaceaxis, + surfacecolor=surfacecolor, text=text, textfont=textfont, textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, uid=uid, uirevision=uirevision, - unselected=unselected, visible=visible, - xaxis=xaxis, - yaxis=yaxis, - zorder=zorder, + x=x, + xcalendar=xcalendar, + xhoverformat=xhoverformat, + y=y, + ycalendar=ycalendar, + yhoverformat=yhoverformat, + z=z, + zcalendar=zcalendar, + zhoverformat=zhoverformat, **kwargs, ) - return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) + return self.add_trace(new_trace, row=row, col=col) - def add_scattergeo( + def add_scattercarpet( self, + a=None, + b=None, + carpet=None, connectgaps=None, customdata=None, - customdatasrc=None, - featureidkey=None, fill=None, fillcolor=None, - geo=None, - geojson=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, + hoveron=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, - lat=None, - latsrc=None, legend=None, legendgroup=None, legendgrouptitle=None, legendrank=None, legendwidth=None, line=None, - locationmode=None, - locations=None, - locationssrc=None, - lon=None, - lonsrc=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, text=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, unselected=None, visible=None, + xaxis=None, + yaxis=None, + zorder=None, row=None, col=None, + secondary_y=None, **kwargs, ) -> "Figure": """ - Add a new Scattergeo trace + Add a new Scattercarpet trace - The data visualized as scatter point or lines on a geographic - map is provided either by longitude/latitude pairs in `lon` and - `lat` respectively or by geographic location IDs or names in - `locations`. + Plots a scatter trace on either the first carpet axis or the + carpet axis with a matching `carpet` attribute. Parameters ---------- + a + Sets the a-axis coordinates. + b + Sets the b-axis coordinates. + carpet + An identifier for this carpet, so that `scattercarpet` + and `contourcarpet` traces can specify a carpet plot on + which they lie connectgaps Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. @@ -14933,48 +12504,35 @@ def add_scattergeo( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - featureidkey - Sets the key in GeoJSON features which is used as id to - match the items included in the `locations` array. Only - has an effect when `geojson` is set. Support nested - property, for example "properties.name". fill Sets the area to fill with a solid color. Use with - `fillcolor` if not "none". "toself" connects the - endpoints of the trace (or each segment of the trace if - it has gaps) into a closed shape. + `fillcolor` if not "none". scatterternary has a subset + of the options available to scatter. "toself" connects + the endpoints of the trace (or each segment of the + trace if it has gaps) into a closed shape. "tonext" + fills the space between two traces if one completely + encloses the other (eg consecutive contour lines), and + behaves like "toself" if there is no trace before it. + "tonext" should not be used if one trace does not + enclose the other. fillcolor Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available. - geo - Sets a reference between this trace's geospatial - coordinates and a geographic map. If "geo" (the default - value), the geospatial coordinates refer to - `layout.geo`. If "geo2", the geospatial coordinates - refer to `layout.geo2`, and so on. - geojson - Sets optional GeoJSON data associated with this trace. - If not given, the features on the base map are used - when `locations` is set. It can be set as a valid - GeoJSON object or as a URL string. Note that we only - accept GeoJSONs of type "FeatureCollection" or - "Feature" with geometries of type "Polygon" or - "MultiPolygon". hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel - :class:`plotly.graph_objects.scattergeo.Hoverlabel` + :class:`plotly.graph_objects.scattercarpet.Hoverlabel` instance or dict with compatible properties + hoveron + Do the hover effects highlight individual points + (markers or line points) or do they highlight filled + regions? If the fill is "toself" or "tonext" and there + are no markers or text, then the default is "fills", + otherwise it is "points". hovertemplate Template string used for rendering the information that appear on hover box. Note that this will override @@ -15014,31 +12572,16 @@ def add_scattergeo( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext - Sets hover text elements associated with each (lon,lat) - pair or item in `locations`. If a single string, the - same string appears over all the data points. If an - array of string, the items are mapped in order to the - this trace's (lon,lat) or `locations` coordinates. To - be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. + Sets hover text elements associated with each (a,b) + point. If a single string, the same string appears over + all the data points. If an array of strings, the items + are mapped in order to the data points in (a,b). To be + seen, trace `hoverinfo` must contain a "text" flag. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. - lat - Sets the latitude coordinates (in degrees North). - latsrc - Sets the source reference on Chart Studio Cloud for - `lat`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -15050,8 +12593,8 @@ def add_scattergeo( part of the same legend group hide/show at the same time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.scattergeo.Legendgrouptitl - e` instance or dict with compatible properties + :class:`plotly.graph_objects.scattercarpet.Legendgroupt + itle` instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while @@ -15067,34 +12610,10 @@ def add_scattergeo( Sets the width (in px or fraction) of the legend for this trace. line - :class:`plotly.graph_objects.scattergeo.Line` instance - or dict with compatible properties - locationmode - The library used by the *country names* `locationmode` - option is changing in an upcoming version. Country - names in existing plots may not work in the new - version. Determines the set of locations used to match - entries in `locations` to regions on the map. Values - "ISO-3", "USA-states", *country names* correspond to - features on the base map and value "geojson-id" - corresponds to features from a custom GeoJSON linked to - the `geojson` attribute. "USA-states" accepts both two- - letter abbreviations (e.g. "CA") and full state names - (e.g. "California"). - locations - Sets the coordinates via location IDs or names. - Coordinates correspond to the centroid of each location - given. See `locationmode` for more info. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. - lon - Sets the longitude coordinates (in degrees East). - lonsrc - Sets the source reference on Chart Studio Cloud for - `lon`. + :class:`plotly.graph_objects.scattercarpet.Line` + instance or dict with compatible properties marker - :class:`plotly.graph_objects.scattergeo.Marker` + :class:`plotly.graph_objects.scattercarpet.Marker` instance or dict with compatible properties meta Assigns extra meta information associated with this @@ -15109,9 +12628,6 @@ def add_scattergeo( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -15125,7 +12641,7 @@ def add_scattergeo( opacity Sets the opacity of the trace. selected - :class:`plotly.graph_objects.scattergeo.Selected` + :class:`plotly.graph_objects.scattercarpet.Selected` instance or dict with compatible properties selectedpoints Array containing integer indices of selected points. @@ -15137,15 +12653,11 @@ def add_scattergeo( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scattergeo.Stream` - instance or dict with compatible properties text - Sets text elements associated with each (lon,lat) pair - or item in `locations`. If a single string, the same - string appears over all the data points. If an array of - string, the items are mapped in order to the this - trace's (lon,lat) or `locations` coordinates. If trace + Sets text elements associated with each (a,b) point. If + a single string, the same string appears over all the + data points. If an array of strings, the items are + mapped in order to the data points in (a,b). If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels. @@ -15154,12 +12666,6 @@ def add_scattergeo( textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -15181,15 +12687,12 @@ def add_scattergeo( the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access - to variables `lat`, `lon`, `location` and `text`. + to variables `a`, `b` and `text`. texttemplatefallback Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -15213,13 +12716,28 @@ def add_scattergeo( preserve user-driven changes if you give each trace a `uid` that stays with it as it moves. unselected - :class:`plotly.graph_objects.scattergeo.Unselected` + :class:`plotly.graph_objects.scattercarpet.Unselected` instance or dict with compatible properties visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). + xaxis + Sets a reference between this trace's x coordinates and + a 2D cartesian x axis. If "x" (the default value), the + x coordinates refer to `layout.xaxis`. If "x2", the x + coordinates refer to `layout.xaxis2`, and so on. + yaxis + Sets a reference between this trace's y coordinates and + a 2D cartesian y axis. If "y" (the default value), the + y coordinates refer to `layout.yaxis`. If "y2", the y + coordinates refer to `layout.yaxis2`, and so on. + zorder + Sets the layer on which this trace is displayed, + relative to other SVG traces on the same subplot. SVG + traces with higher `zorder` appear in front of those + with lower `zorder`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -15230,150 +12748,121 @@ def add_scattergeo( added. Only valid if figure was created using `plotly.tools.make_subplots`.If 'all', addresses all columns in the specified row(s). + secondary_y: boolean or None (default None) + If True, associate this trace with the secondary y-axis of the + subplot at the specified row and col. Only valid if all of the + following conditions are satisfied: + * The figure was created using `plotly.subplots.make_subplots`. + * The row and col arguments are not None + * The subplot at the specified row and col has type xy + (which is the default) and secondary_y True. These + properties are specified in the specs argument to + make_subplots. See the make_subplots docstring for more info. Returns ------- Figure """ - from plotly.graph_objs import Scattergeo + from plotly.graph_objs import Scattercarpet - new_trace = Scattergeo( + new_trace = Scattercarpet( + a=a, + b=b, + carpet=carpet, connectgaps=connectgaps, customdata=customdata, - customdatasrc=customdatasrc, - featureidkey=featureidkey, fill=fill, fillcolor=fillcolor, - geo=geo, - geojson=geojson, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, + hoveron=hoveron, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, - lat=lat, - latsrc=latsrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, line=line, - locationmode=locationmode, - locations=locations, - locationssrc=locationssrc, - lon=lon, - lonsrc=lonsrc, marker=marker, meta=meta, - metasrc=metasrc, mode=mode, name=name, opacity=opacity, selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, text=text, textfont=textfont, textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, uid=uid, uirevision=uirevision, unselected=unselected, visible=visible, + xaxis=xaxis, + yaxis=yaxis, + zorder=zorder, **kwargs, ) - return self.add_trace(new_trace, row=row, col=col) + return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) - def add_scattergl( + def add_scattergeo( self, connectgaps=None, customdata=None, - customdatasrc=None, - dx=None, - dy=None, - error_x=None, - error_y=None, + featureidkey=None, fill=None, fillcolor=None, + geo=None, + geojson=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, + lat=None, legend=None, legendgroup=None, legendgrouptitle=None, legendrank=None, legendwidth=None, line=None, + locationmode=None, + locations=None, + lon=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, text=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, unselected=None, visible=None, - x=None, - x0=None, - xaxis=None, - xcalendar=None, - xhoverformat=None, - xperiod=None, - xperiod0=None, - xperiodalignment=None, - xsrc=None, - y=None, - y0=None, - yaxis=None, - ycalendar=None, - yhoverformat=None, - yperiod=None, - yperiod0=None, - yperiodalignment=None, - ysrc=None, row=None, col=None, - secondary_y=None, **kwargs, ) -> "Figure": - """ - Add a new Scattergl trace - - The data visualized as scatter point or lines is set in `x` and - `y` using the WebGL plotting engine. Bubble charts are achieved - by setting `marker.size` and/or `marker.color` to a numerical - arrays. + """ + Add a new Scattergeo trace + + The data visualized as scatter point or lines on a geographic + map is provided either by longitude/latitude pairs in `lon` and + `lat` respectively or by geographic location IDs or names in + `locations`. Parameters ---------- @@ -15385,56 +12874,41 @@ def add_scattergl( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - dx - Sets the x coordinate step. See `x0` for more info. - dy - Sets the y coordinate step. See `y0` for more info. - error_x - :class:`plotly.graph_objects.scattergl.ErrorX` instance - or dict with compatible properties - error_y - :class:`plotly.graph_objects.scattergl.ErrorY` instance - or dict with compatible properties + featureidkey + Sets the key in GeoJSON features which is used as id to + match the items included in the `locations` array. Only + has an effect when `geojson` is set. Support nested + property, for example "properties.name". fill - Sets the area to fill with a solid color. Defaults to - "none" unless this trace is stacked, then it gets - "tonexty" ("tonextx") if `orientation` is "v" ("h") Use - with `fillcolor` if not "none". "tozerox" and "tozeroy" - fill to x=0 and y=0 respectively. "tonextx" and - "tonexty" fill between the endpoints of this trace and - the endpoints of the trace before it, connecting those - endpoints with straight lines (to make a stacked area - graph); if there is no trace before it, they behave - like "tozerox" and "tozeroy". "toself" connects the + Sets the area to fill with a solid color. Use with + `fillcolor` if not "none". "toself" connects the endpoints of the trace (or each segment of the trace if - it has gaps) into a closed shape. "tonext" fills the - space between two traces if one completely encloses the - other (eg consecutive contour lines), and behaves like - "toself" if there is no trace before it. "tonext" - should not be used if one trace does not enclose the - other. Traces in a `stackgroup` will only fill to (or - be filled to) other traces in the same group. With - multiple `stackgroup`s or some traces stacked and some - not, if fill-linked traces are not already consecutive, - the later ones will be pushed down in the drawing - order. + it has gaps) into a closed shape. fillcolor Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available. + geo + Sets a reference between this trace's geospatial + coordinates and a geographic map. If "geo" (the default + value), the geospatial coordinates refer to + `layout.geo`. If "geo2", the geospatial coordinates + refer to `layout.geo2`, and so on. + geojson + Sets optional GeoJSON data associated with this trace. + If not given, the features on the base map are used + when `locations` is set. It can be set as a valid + GeoJSON object or as a URL string. Note that we only + accept GeoJSONs of type "FeatureCollection" or + "Feature" with geometries of type "Polygon" or + "MultiPolygon". hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel - :class:`plotly.graph_objects.scattergl.Hoverlabel` + :class:`plotly.graph_objects.scattergeo.Hoverlabel` instance or dict with compatible properties hovertemplate Template string used for rendering the information that @@ -15475,26 +12949,19 @@ def add_scattergl( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext - Sets hover text elements associated with each (x,y) - pair. If a single string, the same string appears over - all the data points. If an array of string, the items - are mapped in order to the this trace's (x,y) - coordinates. To be seen, trace `hoverinfo` must contain - a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. + Sets hover text elements associated with each (lon,lat) + pair or item in `locations`. If a single string, the + same string appears over all the data points. If an + array of string, the items are mapped in order to the + this trace's (lon,lat) or `locations` coordinates. To + be seen, trace `hoverinfo` must contain a "text" flag. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. + lat + Sets the latitude coordinates (in degrees North). legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -15506,8 +12973,8 @@ def add_scattergl( part of the same legend group hide/show at the same time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.scattergl.Legendgrouptitle - ` instance or dict with compatible properties + :class:`plotly.graph_objects.scattergeo.Legendgrouptitl + e` instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while @@ -15523,11 +12990,26 @@ def add_scattergl( Sets the width (in px or fraction) of the legend for this trace. line - :class:`plotly.graph_objects.scattergl.Line` instance + :class:`plotly.graph_objects.scattergeo.Line` instance or dict with compatible properties + locationmode + Determines the set of locations used to match entries + in `locations` to regions on the map. Values "ISO-3", + "USA-states", *country names* correspond to features on + the base map and value "geojson-id" corresponds to + features from a custom GeoJSON linked to the `geojson` + attribute. "USA-states" accepts both two-letter + abbreviations (e.g. "CA") and full state names (e.g. + "California"). + locations + Sets the coordinates via location IDs or names. + Coordinates correspond to the centroid of each location + given. See `locationmode` for more info. + lon + Sets the longitude coordinates (in degrees East). marker - :class:`plotly.graph_objects.scattergl.Marker` instance - or dict with compatible properties + :class:`plotly.graph_objects.scattergeo.Marker` + instance or dict with compatible properties meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -15541,18 +13023,20 @@ def add_scattergl( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode - Determines the drawing mode for this scatter trace. + Determines the drawing mode for this scatter trace. If + the provided `mode` includes "text" then the `text` + elements appear at the coordinates. Otherwise, the + `text` elements appear on hover. If there are less than + 20 points and the trace is not stacked then the default + is "lines+markers". Otherwise, "lines". name Sets the trace name. The trace name appears as the legend item and on hover. opacity Sets the opacity of the trace. selected - :class:`plotly.graph_objects.scattergl.Selected` + :class:`plotly.graph_objects.scattergeo.Selected` instance or dict with compatible properties selectedpoints Array containing integer indices of selected points. @@ -15564,177 +13048,77 @@ def add_scattergl( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scattergl.Stream` instance - or dict with compatible properties text - Sets text elements associated with each (x,y) pair. If - a single string, the same string appears over all the - data points. If an array of string, the items are - mapped in order to the this trace's (x,y) coordinates. - If trace `hoverinfo` contains a "text" flag and - "hovertext" is not set, these elements will be seen in - the hover labels. + Sets text elements associated with each (lon,lat) pair + or item in `locations`. If a single string, the same + string appears over all the data points. If an array of + string, the items are mapped in order to the this + trace's (lon,lat) or `locations` coordinates. If trace + `hoverinfo` contains a "text" flag and "hovertext" is + not set, these elements will be seen in the hover + labels. textfont Sets the text font. textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate - Template string used for rendering the information text - that appears on points. Note that this will override - `textinfo`. Variables are inserted using %{variable}, - for example "y: %{y}". Numbers are formatted using - d3-format's syntax %{variable:d3-format}, for example - "Price: %{y:$.2f}". - https://github.com/d3/d3-format/tree/v1.4.5#d3-format - for details on the formatting syntax. Dates are - formatted using d3-time-format's syntax - %{variable|d3-time-format}, for example "Day: - %{2019-01-01|%A}". https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format for details on the - date formatting syntax. Variables that can't be found - will be replaced with the specifier. For example, a - template of "data: %{x}, %{y}" will result in a value - of "data: 1, %{y}" if x is 1 and y is missing. - Variables with an undefined value will be replaced with - the fallback value. All attributes that can be - specified per-point (the ones that are `arrayOk: true`) - are available. - texttemplatefallback - Fallback string that's displayed when a variable - referenced in a template is missing. If the boolean - value 'false' is passed in, the specifier with the - missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. - uid - Assign an id to this trace, Use this to provide object - constancy between traces during animations and - transitions. - uirevision - Controls persistence of some user-driven changes to the - trace: `constraintrange` in `parcoords` traces, as well - as some `editable: true` modifications such as `name` - and `colorbar.title`. Defaults to `layout.uirevision`. - Note that other user-driven trace attribute changes are - controlled by `layout` attributes: `trace.visible` is - controlled by `layout.legend.uirevision`, - `selectedpoints` is controlled by - `layout.selectionrevision`, and `colorbar.(x|y)` - (accessible with `config: {editable: true}`) is - controlled by `layout.editrevision`. Trace changes are - tracked by `uid`, which only falls back on trace index - if no `uid` is provided. So if your app can add/remove - traces before the end of the `data` array, such that - the same trace has a different index, you can still - preserve user-driven changes if you give each trace a - `uid` that stays with it as it moves. - unselected - :class:`plotly.graph_objects.scattergl.Unselected` - instance or dict with compatible properties - visible - Determines whether or not this trace is visible. If - "legendonly", the trace is not drawn, but can appear as - a legend item (provided that the legend itself is - visible). - x - Sets the x coordinates. - x0 - Alternate to `x`. Builds a linear space of x - coordinates. Use with `dx` where `x0` is the starting - coordinate and `dx` the step. - xaxis - Sets a reference between this trace's x coordinates and - a 2D cartesian x axis. If "x" (the default value), the - x coordinates refer to `layout.xaxis`. If "x2", the x - coordinates refer to `layout.xaxis2`, and so on. - xcalendar - Sets the calendar system to use with `x` date data. - xhoverformat - Sets the hover text formatting rulefor `x` using d3 - formatting mini-languages which are very similar to - those in Python. For numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - And for dates see: https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two items to - d3's date formatter: "%h" for half of the year as a - decimal number as well as "%{n}f" for fractional - seconds with n digits. For example, *2016-10-13 - 09:15:23.456* with tickformat "%H~%M~%S.%2f" would - display *09~15~23.46*By default the values are - formatted using `xaxis.hoverformat`. - xperiod - Only relevant when the axis `type` is "date". Sets the - period positioning in milliseconds or "M" on the x - axis. Special values in the form of "M" could be - used to declare the number of months. In this case `n` - must be a positive integer. - xperiod0 - Only relevant when the axis `type` is "date". Sets the - base for period positioning in milliseconds or date - string on the x0 axis. When `x0period` is round number - of weeks, the `x0period0` by default would be on a - Sunday i.e. 2000-01-02, otherwise it would be at - 2000-01-01. - xperiodalignment - Only relevant when the axis `type` is "date". Sets the - alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. - y - Sets the y coordinates. - y0 - Alternate to `y`. Builds a linear space of y - coordinates. Use with `dy` where `y0` is the starting - coordinate and `dy` the step. - yaxis - Sets a reference between this trace's y coordinates and - a 2D cartesian y axis. If "y" (the default value), the - y coordinates refer to `layout.yaxis`. If "y2", the y - coordinates refer to `layout.yaxis2`, and so on. - ycalendar - Sets the calendar system to use with `y` date data. - yhoverformat - Sets the hover text formatting rulefor `y` using d3 - formatting mini-languages which are very similar to - those in Python. For numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - And for dates see: https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two items to - d3's date formatter: "%h" for half of the year as a - decimal number as well as "%{n}f" for fractional - seconds with n digits. For example, *2016-10-13 - 09:15:23.456* with tickformat "%H~%M~%S.%2f" would - display *09~15~23.46*By default the values are - formatted using `yaxis.hoverformat`. - yperiod - Only relevant when the axis `type` is "date". Sets the - period positioning in milliseconds or "M" on the y - axis. Special values in the form of "M" could be - used to declare the number of months. In this case `n` - must be a positive integer. - yperiod0 - Only relevant when the axis `type` is "date". Sets the - base for period positioning in milliseconds or date - string on the y0 axis. When `y0period` is round number - of weeks, the `y0period0` by default would be on a - Sunday i.e. 2000-01-02, otherwise it would be at - 2000-01-01. - yperiodalignment - Only relevant when the axis `type` is "date". Sets the - alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. + Template string used for rendering the information text + that appears on points. Note that this will override + `textinfo`. Variables are inserted using %{variable}, + for example "y: %{y}". Numbers are formatted using + d3-format's syntax %{variable:d3-format}, for example + "Price: %{y:$.2f}". + https://github.com/d3/d3-format/tree/v1.4.5#d3-format + for details on the formatting syntax. Dates are + formatted using d3-time-format's syntax + %{variable|d3-time-format}, for example "Day: + %{2019-01-01|%A}". https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format for details on the + date formatting syntax. Variables that can't be found + will be replaced with the specifier. For example, a + template of "data: %{x}, %{y}" will result in a value + of "data: 1, %{y}" if x is 1 and y is missing. + Variables with an undefined value will be replaced with + the fallback value. All attributes that can be + specified per-point (the ones that are `arrayOk: true`) + are available. Finally, the template string has access + to variables `lat`, `lon`, `location` and `text`. + texttemplatefallback + Fallback string that's displayed when a variable + referenced in a template is missing. If the boolean + value 'false' is passed in, the specifier with the + missing variable will be displayed. + uid + Assign an id to this trace, Use this to provide object + constancy between traces during animations and + transitions. + uirevision + Controls persistence of some user-driven changes to the + trace: `constraintrange` in `parcoords` traces, as well + as some `editable: true` modifications such as `name` + and `colorbar.title`. Defaults to `layout.uirevision`. + Note that other user-driven trace attribute changes are + controlled by `layout` attributes: `trace.visible` is + controlled by `layout.legend.uirevision`, + `selectedpoints` is controlled by + `layout.selectionrevision`, and `colorbar.(x|y)` + (accessible with `config: {editable: true}`) is + controlled by `layout.editrevision`. Trace changes are + tracked by `uid`, which only falls back on trace index + if no `uid` is provided. So if your app can add/remove + traces before the end of the `data` array, such that + the same trace has a different index, you can still + preserve user-driven changes if you give each trace a + `uid` that stays with it as it moves. + unselected + :class:`plotly.graph_objects.scattergeo.Unselected` + instance or dict with compatible properties + visible + Determines whether or not this trace is visible. If + "legendonly", the trace is not drawn, but can appear as + a legend item (provided that the legend itself is + visible). row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -15745,166 +13129,128 @@ def add_scattergl( added. Only valid if figure was created using `plotly.tools.make_subplots`.If 'all', addresses all columns in the specified row(s). - secondary_y: boolean or None (default None) - If True, associate this trace with the secondary y-axis of the - subplot at the specified row and col. Only valid if all of the - following conditions are satisfied: - * The figure was created using `plotly.subplots.make_subplots`. - * The row and col arguments are not None - * The subplot at the specified row and col has type xy - (which is the default) and secondary_y True. These - properties are specified in the specs argument to - make_subplots. See the make_subplots docstring for more info. Returns ------- Figure """ - from plotly.graph_objs import Scattergl + from plotly.graph_objs import Scattergeo - new_trace = Scattergl( + new_trace = Scattergeo( connectgaps=connectgaps, customdata=customdata, - customdatasrc=customdatasrc, - dx=dx, - dy=dy, - error_x=error_x, - error_y=error_y, + featureidkey=featureidkey, fill=fill, fillcolor=fillcolor, + geo=geo, + geojson=geojson, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, + lat=lat, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, line=line, + locationmode=locationmode, + locations=locations, + lon=lon, marker=marker, meta=meta, - metasrc=metasrc, mode=mode, name=name, opacity=opacity, selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, text=text, textfont=textfont, textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, uid=uid, uirevision=uirevision, unselected=unselected, visible=visible, - x=x, - x0=x0, - xaxis=xaxis, - xcalendar=xcalendar, - xhoverformat=xhoverformat, - xperiod=xperiod, - xperiod0=xperiod0, - xperiodalignment=xperiodalignment, - xsrc=xsrc, - y=y, - y0=y0, - yaxis=yaxis, - ycalendar=ycalendar, - yhoverformat=yhoverformat, - yperiod=yperiod, - yperiod0=yperiod0, - yperiodalignment=yperiodalignment, - ysrc=ysrc, **kwargs, ) - return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) + return self.add_trace(new_trace, row=row, col=col) - def add_scattermap( + def add_scattergl( self, - below=None, - cluster=None, connectgaps=None, customdata=None, - customdatasrc=None, + dx=None, + dy=None, + error_x=None, + error_y=None, fill=None, fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, - lat=None, - latsrc=None, legend=None, legendgroup=None, legendgrouptitle=None, legendrank=None, legendwidth=None, line=None, - lon=None, - lonsrc=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, - subplot=None, text=None, textfont=None, textposition=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, unselected=None, visible=None, + x=None, + x0=None, + xaxis=None, + xcalendar=None, + xhoverformat=None, + xperiod=None, + xperiod0=None, + xperiodalignment=None, + y=None, + y0=None, + yaxis=None, + ycalendar=None, + yhoverformat=None, + yperiod=None, + yperiod0=None, + yperiodalignment=None, row=None, col=None, + secondary_y=None, **kwargs, ) -> "Figure": """ - Add a new Scattermap trace + Add a new Scattergl trace - The data visualized as scatter point, lines or marker symbols - on a MapLibre GL geographic map is provided by - longitude/latitude pairs in `lon` and `lat`. + The data visualized as scatter point or lines is set in `x` and + `y` using the WebGL plotting engine. Bubble charts are achieved + by setting `marker.size` and/or `marker.color` to a numerical + arrays. Parameters ---------- - below - Determines if this scattermap trace's layers are to be - inserted before the layer with the specified ID. By - default, scattermap layers are inserted above all the - base layers. To place the scattermap layers above every - other layer, set `below` to "''". - cluster - :class:`plotly.graph_objects.scattermap.Cluster` - instance or dict with compatible properties connectgaps Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. @@ -15913,28 +13259,50 @@ def add_scattermap( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. + dx + Sets the x coordinate step. See `x0` for more info. + dy + Sets the y coordinate step. See `y0` for more info. + error_x + :class:`plotly.graph_objects.scattergl.ErrorX` instance + or dict with compatible properties + error_y + :class:`plotly.graph_objects.scattergl.ErrorY` instance + or dict with compatible properties fill - Sets the area to fill with a solid color. Use with - `fillcolor` if not "none". "toself" connects the + Sets the area to fill with a solid color. Defaults to + "none" unless this trace is stacked, then it gets + "tonexty" ("tonextx") if `orientation` is "v" ("h") Use + with `fillcolor` if not "none". "tozerox" and "tozeroy" + fill to x=0 and y=0 respectively. "tonextx" and + "tonexty" fill between the endpoints of this trace and + the endpoints of the trace before it, connecting those + endpoints with straight lines (to make a stacked area + graph); if there is no trace before it, they behave + like "tozerox" and "tozeroy". "toself" connects the endpoints of the trace (or each segment of the trace if - it has gaps) into a closed shape. + it has gaps) into a closed shape. "tonext" fills the + space between two traces if one completely encloses the + other (eg consecutive contour lines), and behaves like + "toself" if there is no trace before it. "tonext" + should not be used if one trace does not enclose the + other. Traces in a `stackgroup` will only fill to (or + be filled to) other traces in the same group. With + multiple `stackgroup`s or some traces stacked and some + not, if fill-linked traces are not already consecutive, + the later ones will be pushed down in the drawing + order. fillcolor Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel - :class:`plotly.graph_objects.scattermap.Hoverlabel` + :class:`plotly.graph_objects.scattergl.Hoverlabel` instance or dict with compatible properties hovertemplate Template string used for rendering the information that @@ -15975,31 +13343,17 @@ def add_scattermap( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext - Sets hover text elements associated with each (lon,lat) - pair If a single string, the same string appears over + Sets hover text elements associated with each (x,y) + pair. If a single string, the same string appears over all the data points. If an array of string, the items - are mapped in order to the this trace's (lon,lat) + are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. - lat - Sets the latitude coordinates (in degrees North). - latsrc - Sets the source reference on Chart Studio Cloud for - `lat`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -16011,8 +13365,8 @@ def add_scattermap( part of the same legend group hide/show at the same time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.scattermap.Legendgrouptitl - e` instance or dict with compatible properties + :class:`plotly.graph_objects.scattergl.Legendgrouptitle + ` instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while @@ -16028,16 +13382,11 @@ def add_scattermap( Sets the width (in px or fraction) of the legend for this trace. line - :class:`plotly.graph_objects.scattermap.Line` instance + :class:`plotly.graph_objects.scattergl.Line` instance or dict with compatible properties - lon - Sets the longitude coordinates (in degrees East). - lonsrc - Sets the source reference on Chart Studio Cloud for - `lon`. marker - :class:`plotly.graph_objects.scattermap.Marker` - instance or dict with compatible properties + :class:`plotly.graph_objects.scattergl.Marker` instance + or dict with compatible properties meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -16051,21 +13400,15 @@ def add_scattermap( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode - Determines the drawing mode for this scatter trace. If - the provided `mode` includes "text" then the `text` - elements appear at the coordinates. Otherwise, the - `text` elements appear on hover. + Determines the drawing mode for this scatter trace. name Sets the trace name. The trace name appears as the legend item and on hover. opacity Sets the opacity of the trace. selected - :class:`plotly.graph_objects.scattermap.Selected` + :class:`plotly.graph_objects.scattergl.Selected` instance or dict with compatible properties selectedpoints Array containing integer indices of selected points. @@ -16077,32 +13420,19 @@ def add_scattermap( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scattermap.Stream` - instance or dict with compatible properties - subplot - Sets a reference between this trace's data coordinates - and a map subplot. If "map" (the default value), the - data refer to `layout.map`. If "map2", the data refer - to `layout.map2`, and so on. text - Sets text elements associated with each (lon,lat) pair - If a single string, the same string appears over all - the data points. If an array of string, the items are - mapped in order to the this trace's (lon,lat) - coordinates. If trace `hoverinfo` contains a "text" - flag and "hovertext" is not set, these elements will be - seen in the hover labels. + Sets text elements associated with each (x,y) pair. If + a single string, the same string appears over all the + data points. If an array of string, the items are + mapped in order to the this trace's (x,y) coordinates. + If trace `hoverinfo` contains a "text" flag and + "hovertext" is not set, these elements will be seen in + the hover labels. textfont - Sets the icon text font (color=map.layer.paint.text- - color, size=map.layer.layout.text-size). Has an effect - only when `type` is set to "symbol". + Sets the text font. textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -16123,16 +13453,12 @@ def add_scattermap( Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) - are available. Finally, the template string has access - to variables `lat`, `lon` and `text`. + are available. texttemplatefallback Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -16156,13 +13482,97 @@ def add_scattermap( preserve user-driven changes if you give each trace a `uid` that stays with it as it moves. unselected - :class:`plotly.graph_objects.scattermap.Unselected` + :class:`plotly.graph_objects.scattergl.Unselected` instance or dict with compatible properties visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). + x + Sets the x coordinates. + x0 + Alternate to `x`. Builds a linear space of x + coordinates. Use with `dx` where `x0` is the starting + coordinate and `dx` the step. + xaxis + Sets a reference between this trace's x coordinates and + a 2D cartesian x axis. If "x" (the default value), the + x coordinates refer to `layout.xaxis`. If "x2", the x + coordinates refer to `layout.xaxis2`, and so on. + xcalendar + Sets the calendar system to use with `x` date data. + xhoverformat + Sets the hover text formatting rule for `x` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. + And for dates see: https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format. We add two items to + d3's date formatter: "%h" for half of the year as a + decimal number as well as "%{n}f" for fractional + seconds with n digits. For example, *2016-10-13 + 09:15:23.456* with tickformat "%H~%M~%S.%2f" would + display *09~15~23.46*By default the values are + formatted using `xaxis.hoverformat`. + xperiod + Only relevant when the axis `type` is "date". Sets the + period positioning in milliseconds or "M" on the x + axis. Special values in the form of "M" could be + used to declare the number of months. In this case `n` + must be a positive integer. + xperiod0 + Only relevant when the axis `type` is "date". Sets the + base for period positioning in milliseconds or date + string on the x0 axis. When `x0period` is round number + of weeks, the `x0period0` by default would be on a + Sunday i.e. 2000-01-02, otherwise it would be at + 2000-01-01. + xperiodalignment + Only relevant when the axis `type` is "date". Sets the + alignment of data points on the x axis. + y + Sets the y coordinates. + y0 + Alternate to `y`. Builds a linear space of y + coordinates. Use with `dy` where `y0` is the starting + coordinate and `dy` the step. + yaxis + Sets a reference between this trace's y coordinates and + a 2D cartesian y axis. If "y" (the default value), the + y coordinates refer to `layout.yaxis`. If "y2", the y + coordinates refer to `layout.yaxis2`, and so on. + ycalendar + Sets the calendar system to use with `y` date data. + yhoverformat + Sets the hover text formatting rule for `y` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. + And for dates see: https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format. We add two items to + d3's date formatter: "%h" for half of the year as a + decimal number as well as "%{n}f" for fractional + seconds with n digits. For example, *2016-10-13 + 09:15:23.456* with tickformat "%H~%M~%S.%2f" would + display *09~15~23.46*By default the values are + formatted using `yaxis.hoverformat`. + yperiod + Only relevant when the axis `type` is "date". Sets the + period positioning in milliseconds or "M" on the y + axis. Special values in the form of "M" could be + used to declare the number of months. In this case `n` + must be a positive integer. + yperiod0 + Only relevant when the axis `type` is "date". Sets the + base for period positioning in milliseconds or date + string on the y0 axis. When `y0period` is round number + of weeks, the `y0period0` by default would be on a + Sunday i.e. 2000-01-02, otherwise it would be at + 2000-01-01. + yperiodalignment + Only relevant when the axis `type` is "date". Sets the + alignment of data points on the y axis. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -16173,88 +13583,96 @@ def add_scattermap( added. Only valid if figure was created using `plotly.tools.make_subplots`.If 'all', addresses all columns in the specified row(s). + secondary_y: boolean or None (default None) + If True, associate this trace with the secondary y-axis of the + subplot at the specified row and col. Only valid if all of the + following conditions are satisfied: + * The figure was created using `plotly.subplots.make_subplots`. + * The row and col arguments are not None + * The subplot at the specified row and col has type xy + (which is the default) and secondary_y True. These + properties are specified in the specs argument to + make_subplots. See the make_subplots docstring for more info. Returns ------- Figure """ - from plotly.graph_objs import Scattermap + from plotly.graph_objs import Scattergl - new_trace = Scattermap( - below=below, - cluster=cluster, + new_trace = Scattergl( connectgaps=connectgaps, customdata=customdata, - customdatasrc=customdatasrc, + dx=dx, + dy=dy, + error_x=error_x, + error_y=error_y, fill=fill, fillcolor=fillcolor, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, - lat=lat, - latsrc=latsrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, line=line, - lon=lon, - lonsrc=lonsrc, marker=marker, meta=meta, - metasrc=metasrc, mode=mode, name=name, opacity=opacity, selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, - subplot=subplot, text=text, textfont=textfont, textposition=textposition, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, uid=uid, uirevision=uirevision, unselected=unselected, visible=visible, + x=x, + x0=x0, + xaxis=xaxis, + xcalendar=xcalendar, + xhoverformat=xhoverformat, + xperiod=xperiod, + xperiod0=xperiod0, + xperiodalignment=xperiodalignment, + y=y, + y0=y0, + yaxis=yaxis, + ycalendar=ycalendar, + yhoverformat=yhoverformat, + yperiod=yperiod, + yperiod0=yperiod0, + yperiodalignment=yperiodalignment, **kwargs, ) - return self.add_trace(new_trace, row=row, col=col) + return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) - def add_scattermapbox( + def add_scattermap( self, below=None, cluster=None, connectgaps=None, customdata=None, - customdatasrc=None, fill=None, fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, lat=None, - latsrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -16262,25 +13680,20 @@ def add_scattermapbox( legendwidth=None, line=None, lon=None, - lonsrc=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, subplot=None, text=None, textfont=None, textposition=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, unselected=None, @@ -16290,26 +13703,22 @@ def add_scattermapbox( **kwargs, ) -> "Figure": """ - Add a new Scattermapbox trace + Add a new Scattermap trace - "scattermapbox" trace is deprecated! Please consider switching - to the "scattermap" trace type and `map` subplots. Learn more - at: https://plotly.com/python/maplibre-migration/ as well as - https://plotly.com/javascript/maplibre-migration/ The data - visualized as scatter point, lines or marker symbols on a - Mapbox GL geographic map is provided by longitude/latitude - pairs in `lon` and `lat`. + The data visualized as scatter point, lines or marker symbols + on a MapLibre GL geographic map is provided by + longitude/latitude pairs in `lon` and `lat`. Parameters ---------- below - Determines if this scattermapbox trace's layers are to - be inserted before the layer with the specified ID. By - default, scattermapbox layers are inserted above all - the base layers. To place the scattermapbox layers - above every other layer, set `below` to "''". + Determines if this scattermap trace's layers are to be + inserted before the layer with the specified ID. By + default, scattermap layers are inserted above all the + base layers. To place the scattermap layers above every + other layer, set `below` to "''". cluster - :class:`plotly.graph_objects.scattermapbox.Cluster` + :class:`plotly.graph_objects.scattermap.Cluster` instance or dict with compatible properties connectgaps Determines whether or not gaps (i.e. {nan} or missing @@ -16319,9 +13728,6 @@ def add_scattermapbox( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. fill Sets the area to fill with a solid color. Use with `fillcolor` if not "none". "toself" connects the @@ -16332,15 +13738,12 @@ def add_scattermapbox( variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel - :class:`plotly.graph_objects.scattermapbox.Hoverlabel` + :class:`plotly.graph_objects.scattermap.Hoverlabel` instance or dict with compatible properties hovertemplate Template string used for rendering the information that @@ -16381,9 +13784,6 @@ def add_scattermapbox( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (lon,lat) pair If a single string, the same string appears over @@ -16391,21 +13791,12 @@ def add_scattermapbox( are mapped in order to the this trace's (lon,lat) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. lat Sets the latitude coordinates (in degrees North). - latsrc - Sets the source reference on Chart Studio Cloud for - `lat`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -16417,8 +13808,8 @@ def add_scattermapbox( part of the same legend group hide/show at the same time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.scattermapbox.Legendgroupt - itle` instance or dict with compatible properties + :class:`plotly.graph_objects.scattermap.Legendgrouptitl + e` instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while @@ -16434,15 +13825,12 @@ def add_scattermapbox( Sets the width (in px or fraction) of the legend for this trace. line - :class:`plotly.graph_objects.scattermapbox.Line` - instance or dict with compatible properties + :class:`plotly.graph_objects.scattermap.Line` instance + or dict with compatible properties lon Sets the longitude coordinates (in degrees East). - lonsrc - Sets the source reference on Chart Studio Cloud for - `lon`. marker - :class:`plotly.graph_objects.scattermapbox.Marker` + :class:`plotly.graph_objects.scattermap.Marker` instance or dict with compatible properties meta Assigns extra meta information associated with this @@ -16457,9 +13845,6 @@ def add_scattermapbox( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -16471,7 +13856,7 @@ def add_scattermapbox( opacity Sets the opacity of the trace. selected - :class:`plotly.graph_objects.scattermapbox.Selected` + :class:`plotly.graph_objects.scattermap.Selected` instance or dict with compatible properties selectedpoints Array containing integer indices of selected points. @@ -16483,19 +13868,11 @@ def add_scattermapbox( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scattermapbox.Stream` - instance or dict with compatible properties subplot - mapbox subplots and traces are deprecated! Please - consider switching to `map` subplots and traces. Learn - more at: https://plotly.com/python/maplibre-migration/ - as well as https://plotly.com/javascript/maplibre- - migration/ Sets a reference between this trace's data - coordinates and a mapbox subplot. If "mapbox" (the - default value), the data refer to `layout.mapbox`. If - "mapbox2", the data refer to `layout.mapbox2`, and so - on. + Sets a reference between this trace's data coordinates + and a map subplot. If "map" (the default value), the + data refer to `layout.map`. If "map2", the data refer + to `layout.map2`, and so on. text Sets text elements associated with each (lon,lat) pair If a single string, the same string appears over all @@ -16505,15 +13882,12 @@ def add_scattermapbox( flag and "hovertext" is not set, these elements will be seen in the hover labels. textfont - Sets the icon text font (color=mapbox.layer.paint.text- - color, size=mapbox.layer.layout.text-size). Has an - effect only when `type` is set to "symbol". + Sets the icon text font (color=map.layer.paint.text- + color, size=map.layer.layout.text-size). Has an effect + only when `type` is set to "symbol". textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -16541,9 +13915,6 @@ def add_scattermapbox( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -16567,7 +13938,7 @@ def add_scattermapbox( preserve user-driven changes if you give each trace a `uid` that stays with it as it moves. unselected - :class:`plotly.graph_objects.scattermapbox.Unselected` + :class:`plotly.graph_objects.scattermap.Unselected` instance or dict with compatible properties visible Determines whether or not this trace is visible. If @@ -16589,28 +13960,22 @@ def add_scattermapbox( ------- Figure """ - from plotly.graph_objs import Scattermapbox + from plotly.graph_objs import Scattermap - new_trace = Scattermapbox( + new_trace = Scattermap( below=below, cluster=cluster, connectgaps=connectgaps, customdata=customdata, - customdatasrc=customdatasrc, fill=fill, fillcolor=fillcolor, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, lat=lat, - latsrc=latsrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -16618,25 +13983,20 @@ def add_scattermapbox( legendwidth=legendwidth, line=line, lon=lon, - lonsrc=lonsrc, marker=marker, meta=meta, - metasrc=metasrc, mode=mode, name=name, opacity=opacity, selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, subplot=subplot, text=text, textfont=textfont, textposition=textposition, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, uid=uid, uirevision=uirevision, unselected=unselected, @@ -16650,22 +14010,17 @@ def add_scatterpolar( cliponaxis=None, connectgaps=None, customdata=None, - customdatasrc=None, dr=None, dtheta=None, fill=None, fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hoveron=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -16674,29 +14029,22 @@ def add_scatterpolar( line=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, r=None, r0=None, - rsrc=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, subplot=None, text=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, theta=None, theta0=None, - thetasrc=None, thetaunit=None, uid=None, uirevision=None, @@ -16733,9 +14081,6 @@ def add_scatterpolar( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dr Sets the r coordinate step. dtheta @@ -16758,13 +14103,10 @@ def add_scatterpolar( variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scatterpolar.Hoverlabel` instance or dict with compatible properties @@ -16813,9 +14155,6 @@ def add_scatterpolar( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over @@ -16823,16 +14162,10 @@ def add_scatterpolar( are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -16879,9 +14212,6 @@ def add_scatterpolar( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -16900,9 +14230,6 @@ def add_scatterpolar( Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step. - rsrc - Sets the source reference on Chart Studio Cloud for - `r`. selected :class:`plotly.graph_objects.scatterpolar.Selected` instance or dict with compatible properties @@ -16916,9 +14243,6 @@ def add_scatterpolar( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scatterpolar.Stream` - instance or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a polar subplot. If "polar" (the default value), @@ -16937,12 +14261,6 @@ def add_scatterpolar( textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -16970,18 +14288,12 @@ def add_scatterpolar( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. theta Sets the angular coordinates theta0 Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step. - thetasrc - Sets the source reference on Chart Studio Cloud for - `theta`. thetaunit Sets the unit of input "theta" values. Has an effect only when on "linear" angular axes. @@ -17036,22 +14348,17 @@ def add_scatterpolar( cliponaxis=cliponaxis, connectgaps=connectgaps, customdata=customdata, - customdatasrc=customdatasrc, dr=dr, dtheta=dtheta, fill=fill, fillcolor=fillcolor, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hoveron=hoveron, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -17060,29 +14367,22 @@ def add_scatterpolar( line=line, marker=marker, meta=meta, - metasrc=metasrc, mode=mode, name=name, opacity=opacity, r=r, r0=r0, - rsrc=rsrc, selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, subplot=subplot, text=text, textfont=textfont, textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, theta=theta, theta0=theta0, - thetasrc=thetasrc, thetaunit=thetaunit, uid=uid, uirevision=uirevision, @@ -17096,21 +14396,16 @@ def add_scatterpolargl( self, connectgaps=None, customdata=None, - customdatasrc=None, dr=None, dtheta=None, fill=None, fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -17119,29 +14414,22 @@ def add_scatterpolargl( line=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, r=None, r0=None, - rsrc=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, subplot=None, text=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, theta=None, theta0=None, - thetasrc=None, thetaunit=None, uid=None, uirevision=None, @@ -17171,9 +14459,6 @@ def add_scatterpolargl( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dr Sets the r coordinate step. dtheta @@ -17208,13 +14493,10 @@ def add_scatterpolargl( variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scatterpolargl.Hoverlabel` instance or dict with compatible properties @@ -17257,9 +14539,6 @@ def add_scatterpolargl( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over @@ -17267,16 +14546,10 @@ def add_scatterpolargl( are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -17323,9 +14596,6 @@ def add_scatterpolargl( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -17344,9 +14614,6 @@ def add_scatterpolargl( Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step. - rsrc - Sets the source reference on Chart Studio Cloud for - `r`. selected :class:`plotly.graph_objects.scatterpolargl.Selected` instance or dict with compatible properties @@ -17360,9 +14627,6 @@ def add_scatterpolargl( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scatterpolargl.Stream` - instance or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a polar subplot. If "polar" (the default value), @@ -17381,12 +14645,6 @@ def add_scatterpolargl( textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -17414,18 +14672,12 @@ def add_scatterpolargl( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. theta Sets the angular coordinates theta0 Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step. - thetasrc - Sets the source reference on Chart Studio Cloud for - `theta`. thetaunit Sets the unit of input "theta" values. Has an effect only when on "linear" angular axes. @@ -17479,21 +14731,16 @@ def add_scatterpolargl( new_trace = Scatterpolargl( connectgaps=connectgaps, customdata=customdata, - customdatasrc=customdatasrc, dr=dr, dtheta=dtheta, fill=fill, fillcolor=fillcolor, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -17502,29 +14749,22 @@ def add_scatterpolargl( line=line, marker=marker, meta=meta, - metasrc=metasrc, mode=mode, name=name, opacity=opacity, r=r, r0=r0, - rsrc=rsrc, selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, subplot=subplot, text=text, textfont=textfont, textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, theta=theta, theta0=theta0, - thetasrc=thetasrc, thetaunit=thetaunit, uid=uid, uirevision=uirevision, @@ -17539,22 +14779,16 @@ def add_scattersmith( cliponaxis=None, connectgaps=None, customdata=None, - customdatasrc=None, fill=None, fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hoveron=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, imag=None, - imagsrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -17563,25 +14797,19 @@ def add_scattersmith( line=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, real=None, - realsrc=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, subplot=None, text=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, unselected=None, @@ -17617,9 +14845,6 @@ def add_scattersmith( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. fill Sets the area to fill with a solid color. Use with `fillcolor` if not "none". scattersmith has a subset of @@ -17636,13 +14861,10 @@ def add_scattersmith( variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scattersmith.Hoverlabel` instance or dict with compatible properties @@ -17691,9 +14913,6 @@ def add_scattersmith( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over @@ -17701,23 +14920,14 @@ def add_scattersmith( are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. imag Sets the imaginary component of the data, in units of normalized impedance such that real=1, imag=0 is the center of the chart. - imagsrc - Sets the source reference on Chart Studio Cloud for - `imag`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -17764,9 +14974,6 @@ def add_scattersmith( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -17783,9 +14990,6 @@ def add_scattersmith( Sets the real component of the data, in units of normalized impedance such that real=1, imag=0 is the center of the chart. - realsrc - Sets the source reference on Chart Studio Cloud for - `real`. selected :class:`plotly.graph_objects.scattersmith.Selected` instance or dict with compatible properties @@ -17799,9 +15003,6 @@ def add_scattersmith( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scattersmith.Stream` - instance or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a smith subplot. If "smith" (the default value), @@ -17820,12 +15021,6 @@ def add_scattersmith( textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -17853,9 +15048,6 @@ def add_scattersmith( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -17907,22 +15099,16 @@ def add_scattersmith( cliponaxis=cliponaxis, connectgaps=connectgaps, customdata=customdata, - customdatasrc=customdatasrc, fill=fill, fillcolor=fillcolor, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hoveron=hoveron, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, imag=imag, - imagsrc=imagsrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -17931,25 +15117,19 @@ def add_scattersmith( line=line, marker=marker, meta=meta, - metasrc=metasrc, mode=mode, name=name, opacity=opacity, real=real, - realsrc=realsrc, selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, subplot=subplot, text=text, textfont=textfont, textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, uid=uid, uirevision=uirevision, unselected=unselected, @@ -17961,28 +15141,20 @@ def add_scattersmith( def add_scatterternary( self, a=None, - asrc=None, b=None, - bsrc=None, c=None, cliponaxis=None, connectgaps=None, - csrc=None, customdata=None, - customdatasrc=None, fill=None, fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hoveron=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -17991,24 +15163,19 @@ def add_scatterternary( line=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, subplot=None, sum=None, text=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, unselected=None, @@ -18032,18 +15199,12 @@ def add_scatterternary( normalized, only the relative values matter. If only two arrays are provided they must be normalized to match `ternary.sum`. - asrc - Sets the source reference on Chart Studio Cloud for - `a`. b Sets the quantity of component `a` in each data point. If `a`, `b`, and `c` are all provided, they need not be normalized, only the relative values matter. If only two arrays are provided they must be normalized to match `ternary.sum`. - bsrc - Sets the source reference on Chart Studio Cloud for - `b`. c Sets the quantity of component `a` in each data point. If `a`, `b`, and `c` are all provided, they need not be @@ -18059,17 +15220,11 @@ def add_scatterternary( connectgaps Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. - csrc - Sets the source reference on Chart Studio Cloud for - `c`. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. fill Sets the area to fill with a solid color. Use with `fillcolor` if not "none". scatterternary has a subset @@ -18086,13 +15241,10 @@ def add_scatterternary( variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scatterternary.Hoverlabel` instance or dict with compatible properties @@ -18141,26 +15293,16 @@ def add_scatterternary( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (a,b,c) point. If a single string, the same string appears over all the data points. If an array of strings, the items - are mapped in order to the the data points in (a,b,c). - To be seen, trace `hoverinfo` must contain a "text" - flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. + are mapped in order to the data points in (a,b,c). To + be seen, trace `hoverinfo` must contain a "text" flag. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -18207,9 +15349,6 @@ def add_scatterternary( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -18235,9 +15374,6 @@ def add_scatterternary( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scatterternary.Stream` - instance or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a ternary subplot. If "ternary" (the default @@ -18254,21 +15390,15 @@ def add_scatterternary( Sets text elements associated with each (a,b,c) point. If a single string, the same string appears over all the data points. If an array of strings, the items are - mapped in order to the the data points in (a,b,c). If - trace `hoverinfo` contains a "text" flag and - "hovertext" is not set, these elements will be seen in - the hover labels. + mapped in order to the data points in (a,b,c). If trace + `hoverinfo` contains a "text" flag and "hovertext" is + not set, these elements will be seen in the hover + labels. textfont Sets the text font. textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -18296,9 +15426,6 @@ def add_scatterternary( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -18348,28 +15475,20 @@ def add_scatterternary( new_trace = Scatterternary( a=a, - asrc=asrc, b=b, - bsrc=bsrc, c=c, cliponaxis=cliponaxis, connectgaps=connectgaps, - csrc=csrc, customdata=customdata, - customdatasrc=customdatasrc, fill=fill, fillcolor=fillcolor, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hoveron=hoveron, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -18378,24 +15497,19 @@ def add_scatterternary( line=line, marker=marker, meta=meta, - metasrc=metasrc, mode=mode, name=name, opacity=opacity, selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, subplot=subplot, sum=sum, text=text, textfont=textfont, textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, uid=uid, uirevision=uirevision, unselected=unselected, @@ -18407,20 +15521,15 @@ def add_scatterternary( def add_splom( self, customdata=None, - customdatasrc=None, diagonal=None, dimensions=None, dimensiondefaults=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -18428,7 +15537,6 @@ def add_splom( legendwidth=None, marker=None, meta=None, - metasrc=None, name=None, opacity=None, selected=None, @@ -18436,9 +15544,7 @@ def add_splom( showlegend=None, showlowerhalf=None, showupperhalf=None, - stream=None, text=None, - textsrc=None, uid=None, uirevision=None, unselected=None, @@ -18469,9 +15575,6 @@ def add_splom( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. diagonal :class:`plotly.graph_objects.splom.Diagonal` instance or dict with compatible properties @@ -18485,13 +15588,10 @@ def add_splom( default property values to use for elements of splom.dimensions hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.splom.Hoverlabel` instance or dict with compatible properties @@ -18534,21 +15634,12 @@ def add_splom( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -18592,9 +15683,6 @@ def add_splom( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -18619,18 +15707,12 @@ def add_splom( showupperhalf Determines whether or not subplots on the upper half from the diagonal are displayed. - stream - :class:`plotly.graph_objects.splom.Stream` instance or - dict with compatible properties text Sets text elements associated with each (x,y) pair to appear on hover. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -18670,7 +15752,7 @@ def add_splom( false, this splom trace will generate one less x-axis and one less y-axis. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -18691,7 +15773,7 @@ def add_splom( false, this splom trace will generate one less x-axis and one less y-axis. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -18722,20 +15804,15 @@ def add_splom( new_trace = Splom( customdata=customdata, - customdatasrc=customdatasrc, diagonal=diagonal, dimensions=dimensions, dimensiondefaults=dimensiondefaults, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -18743,7 +15820,6 @@ def add_splom( legendwidth=legendwidth, marker=marker, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, selected=selected, @@ -18751,9 +15827,7 @@ def add_splom( showlegend=showlegend, showlowerhalf=showlowerhalf, showupperhalf=showupperhalf, - stream=stream, text=text, - textsrc=textsrc, uid=uid, uirevision=uirevision, unselected=unselected, @@ -18777,16 +15851,12 @@ def add_streamtube( colorbar=None, colorscale=None, customdata=None, - customdatasrc=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -18796,7 +15866,6 @@ def add_streamtube( lightposition=None, maxdisplayed=None, meta=None, - metasrc=None, name=None, opacity=None, reversescale=None, @@ -18805,29 +15874,22 @@ def add_streamtube( showscale=None, sizeref=None, starts=None, - stream=None, text=None, u=None, uhoverformat=None, uid=None, uirevision=None, - usrc=None, v=None, vhoverformat=None, visible=None, - vsrc=None, w=None, whoverformat=None, - wsrc=None, x=None, xhoverformat=None, - xsrc=None, y=None, yhoverformat=None, - ysrc=None, z=None, zhoverformat=None, - zsrc=None, row=None, col=None, **kwargs, @@ -18885,31 +15947,25 @@ def add_streamtube( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.streamtube.Hoverlabel` instance or dict with compatible properties @@ -18955,18 +16011,12 @@ def add_streamtube( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -19016,9 +16066,6 @@ def add_streamtube( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -19053,9 +16100,6 @@ def add_streamtube( starts :class:`plotly.graph_objects.streamtube.Starts` instance or dict with compatible properties - stream - :class:`plotly.graph_objects.streamtube.Stream` - instance or dict with compatible properties text Sets a text element associated with this trace. If trace `hoverinfo` contains a "text" flag, this text @@ -19064,7 +16108,7 @@ def add_streamtube( u Sets the x components of the vector field. uhoverformat - Sets the hover text formatting rulefor `u` using d3 + Sets the hover text formatting rule for `u` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values @@ -19091,13 +16135,10 @@ def add_streamtube( the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves. - usrc - Sets the source reference on Chart Studio Cloud for - `u`. v Sets the y components of the vector field. vhoverformat - Sets the hover text formatting rulefor `v` using d3 + Sets the hover text formatting rule for `v` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values @@ -19107,24 +16148,18 @@ def add_streamtube( "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). - vsrc - Sets the source reference on Chart Studio Cloud for - `v`. w Sets the z components of the vector field. whoverformat - Sets the hover text formatting rulefor `w` using d3 + Sets the hover text formatting rule for `w` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format. - wsrc - Sets the source reference on Chart Studio Cloud for - `w`. x Sets the x coordinates of the vector field. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -19136,13 +16171,10 @@ def add_streamtube( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates of the vector field. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -19154,13 +16186,10 @@ def add_streamtube( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the z coordinates of the vector field. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -19172,9 +16201,6 @@ def add_streamtube( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -19202,16 +16228,12 @@ def add_streamtube( colorbar=colorbar, colorscale=colorscale, customdata=customdata, - customdatasrc=customdatasrc, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -19221,7 +16243,6 @@ def add_streamtube( lightposition=lightposition, maxdisplayed=maxdisplayed, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, reversescale=reversescale, @@ -19230,29 +16251,22 @@ def add_streamtube( showscale=showscale, sizeref=sizeref, starts=starts, - stream=stream, text=text, u=u, uhoverformat=uhoverformat, uid=uid, uirevision=uirevision, - usrc=usrc, v=v, vhoverformat=vhoverformat, visible=visible, - vsrc=vsrc, w=w, whoverformat=whoverformat, - wsrc=wsrc, x=x, xhoverformat=xhoverformat, - xsrc=xsrc, y=y, yhoverformat=yhoverformat, - ysrc=ysrc, z=z, zhoverformat=zhoverformat, - zsrc=zsrc, **kwargs, ) return self.add_trace(new_trace, row=row, col=col) @@ -19262,22 +16276,16 @@ def add_sunburst( branchvalues=None, count=None, customdata=None, - customdatasrc=None, domain=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, insidetextfont=None, insidetextorientation=None, labels=None, - labelssrc=None, leaf=None, legend=None, legendgrouptitle=None, @@ -19287,27 +16295,21 @@ def add_sunburst( marker=None, maxdepth=None, meta=None, - metasrc=None, name=None, opacity=None, outsidetextfont=None, parents=None, - parentssrc=None, root=None, rotation=None, sort=None, - stream=None, text=None, textfont=None, textinfo=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, values=None, - valuessrc=None, visible=None, row=None, col=None, @@ -19338,20 +16340,15 @@ def add_sunburst( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. domain :class:`plotly.graph_objects.sunburst.Domain` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. + Determines what trace information appears on hover. + Flags are rendered in a fixed order; use + `hovertemplate` if you need explicit control over the + rendered string, including the order of fields and + surrounding text. hoverlabel :class:`plotly.graph_objects.sunburst.Hoverlabel` instance or dict with compatible properties @@ -19397,25 +16394,16 @@ def add_sunburst( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextfont Sets the font used for `textinfo` lying inside the sector. @@ -19431,9 +16419,6 @@ def add_sunburst( perpendicular to the radius of the sector. labels Sets the labels of each of the sectors. - labelssrc - Sets the source reference on Chart Studio Cloud for - `labels`. leaf :class:`plotly.graph_objects.sunburst.Leaf` instance or dict with compatible properties @@ -19486,9 +16471,6 @@ def add_sunburst( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -19508,9 +16490,6 @@ def add_sunburst( items are understood to be "ids" themselves. When `ids` is not set, plotly attempts to find matching items in `labels`, but beware they must be unique. - parentssrc - Sets the source reference on Chart Studio Cloud for - `parents`. root :class:`plotly.graph_objects.sunburst.Root` instance or dict with compatible properties @@ -19520,9 +16499,6 @@ def add_sunburst( sort Determines whether or not the sectors are reordered from largest to smallest. - stream - :class:`plotly.graph_objects.sunburst.Stream` instance - or dict with compatible properties text Sets text elements associated with each sector. If trace `textinfo` contains a "text" flag, these elements @@ -19532,10 +16508,10 @@ def add_sunburst( textfont Sets the font used for `textinfo`. textinfo - Determines which trace information appear on the graph. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. + Determines what trace information appears on the graph. + Flags are rendered in a fixed order; use `texttemplate` + if you need explicit control over the rendered string, + including the order of fields and surrounding text. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -19565,9 +16541,6 @@ def add_sunburst( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -19594,9 +16567,6 @@ def add_sunburst( Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -19623,22 +16593,16 @@ def add_sunburst( branchvalues=branchvalues, count=count, customdata=customdata, - customdatasrc=customdatasrc, domain=domain, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, insidetextfont=insidetextfont, insidetextorientation=insidetextorientation, labels=labels, - labelssrc=labelssrc, leaf=leaf, legend=legend, legendgrouptitle=legendgrouptitle, @@ -19648,27 +16612,21 @@ def add_sunburst( marker=marker, maxdepth=maxdepth, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, outsidetextfont=outsidetextfont, parents=parents, - parentssrc=parentssrc, root=root, rotation=rotation, sort=sort, - stream=stream, text=text, textfont=textfont, textinfo=textinfo, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, uid=uid, uirevision=uirevision, values=values, - valuessrc=valuessrc, visible=visible, **kwargs, ) @@ -19687,18 +16645,13 @@ def add_surface( connectgaps=None, contours=None, customdata=None, - customdatasrc=None, hidesurface=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -19707,7 +16660,6 @@ def add_surface( lighting=None, lightposition=None, meta=None, - metasrc=None, name=None, opacity=None, opacityscale=None, @@ -19715,26 +16667,20 @@ def add_surface( scene=None, showlegend=None, showscale=None, - stream=None, surfacecolor=None, - surfacecolorsrc=None, text=None, - textsrc=None, uid=None, uirevision=None, visible=None, x=None, xcalendar=None, xhoverformat=None, - xsrc=None, y=None, ycalendar=None, yhoverformat=None, - ysrc=None, z=None, zcalendar=None, zhoverformat=None, - zsrc=None, row=None, col=None, **kwargs, @@ -19792,15 +16738,15 @@ def add_surface( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. connectgaps Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in. @@ -19812,22 +16758,16 @@ def add_surface( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. hidesurface Determines whether or not a surface is drawn. For example, set `hidesurface` to False `contours.x.show` to True and `contours.y.show` to True to draw a wire frame plot. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.surface.Hoverlabel` instance or dict with compatible properties @@ -19870,21 +16810,12 @@ def add_surface( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -19931,9 +16862,6 @@ def add_surface( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -19972,23 +16900,14 @@ def add_surface( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.surface.Stream` instance - or dict with compatible properties surfacecolor Sets the surface color values, used for setting a color scale independent of `z`. - surfacecolorsrc - Sets the source reference on Chart Studio Cloud for - `surfacecolor`. text Sets the text elements associated with each z value. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -20021,7 +16940,7 @@ def add_surface( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -20033,15 +16952,12 @@ def add_surface( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates. ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -20053,15 +16969,12 @@ def add_surface( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the z coordinates. zcalendar Sets the calendar system to use with `z` date data. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -20073,9 +16986,6 @@ def add_surface( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -20105,18 +17015,13 @@ def add_surface( connectgaps=connectgaps, contours=contours, customdata=customdata, - customdatasrc=customdatasrc, hidesurface=hidesurface, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -20125,7 +17030,6 @@ def add_surface( lighting=lighting, lightposition=lightposition, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, opacityscale=opacityscale, @@ -20133,26 +17037,20 @@ def add_surface( scene=scene, showlegend=showlegend, showscale=showscale, - stream=stream, surfacecolor=surfacecolor, - surfacecolorsrc=surfacecolorsrc, text=text, - textsrc=textsrc, uid=uid, uirevision=uirevision, visible=visible, x=x, xcalendar=xcalendar, xhoverformat=xhoverformat, - xsrc=xsrc, y=y, ycalendar=ycalendar, yhoverformat=yhoverformat, - ysrc=ysrc, z=z, zcalendar=zcalendar, zhoverformat=zhoverformat, - zsrc=zsrc, **kwargs, ) return self.add_trace(new_trace, row=row, col=col) @@ -20161,26 +17059,19 @@ def add_table( self, cells=None, columnorder=None, - columnordersrc=None, columnwidth=None, - columnwidthsrc=None, customdata=None, - customdatasrc=None, domain=None, header=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, ids=None, - idssrc=None, legend=None, legendgrouptitle=None, legendrank=None, legendwidth=None, meta=None, - metasrc=None, name=None, - stream=None, uid=None, uirevision=None, visible=None, @@ -20207,24 +17098,15 @@ def add_table( example, a value `2` at position `0` means that column index `0` in the data will be rendered as the third column, as columns have an index base of zero. - columnordersrc - Sets the source reference on Chart Studio Cloud for - `columnorder`. columnwidth The width of columns expressed as a ratio. Columns fill the available width in proportion of their specified column widths. - columnwidthsrc - Sets the source reference on Chart Studio Cloud for - `columnwidth`. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. domain :class:`plotly.graph_objects.table.Domain` instance or dict with compatible properties @@ -20232,13 +17114,10 @@ def add_table( :class:`plotly.graph_objects.table.Header` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.table.Hoverlabel` instance or dict with compatible properties @@ -20246,9 +17125,6 @@ def add_table( Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -20285,15 +17161,9 @@ def add_table( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. - stream - :class:`plotly.graph_objects.table.Stream` instance or - dict with compatible properties uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -20341,26 +17211,19 @@ def add_table( new_trace = Table( cells=cells, columnorder=columnorder, - columnordersrc=columnordersrc, columnwidth=columnwidth, - columnwidthsrc=columnwidthsrc, customdata=customdata, - customdatasrc=customdatasrc, domain=domain, header=header, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, ids=ids, - idssrc=idssrc, legend=legend, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, meta=meta, - metasrc=metasrc, name=name, - stream=stream, uid=uid, uirevision=uirevision, visible=visible, @@ -20373,21 +17236,15 @@ def add_treemap( branchvalues=None, count=None, customdata=None, - customdatasrc=None, domain=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, insidetextfont=None, labels=None, - labelssrc=None, legend=None, legendgrouptitle=None, legendrank=None, @@ -20396,29 +17253,23 @@ def add_treemap( marker=None, maxdepth=None, meta=None, - metasrc=None, name=None, opacity=None, outsidetextfont=None, parents=None, - parentssrc=None, pathbar=None, root=None, sort=None, - stream=None, text=None, textfont=None, textinfo=None, textposition=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, tiling=None, uid=None, uirevision=None, values=None, - valuessrc=None, visible=None, row=None, col=None, @@ -20450,20 +17301,15 @@ def add_treemap( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. domain :class:`plotly.graph_objects.treemap.Domain` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. + Determines what trace information appears on hover. + Flags are rendered in a fixed order; use + `hovertemplate` if you need explicit control over the + rendered string, including the order of fields and + surrounding text. hoverlabel :class:`plotly.graph_objects.treemap.Hoverlabel` instance or dict with compatible properties @@ -20509,33 +17355,21 @@ def add_treemap( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextfont Sets the font used for `textinfo` lying inside the sector. labels Sets the labels of each of the sectors. - labelssrc - Sets the source reference on Chart Studio Cloud for - `labels`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -20585,9 +17419,6 @@ def add_treemap( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -20607,9 +17438,6 @@ def add_treemap( items are understood to be "ids" themselves. When `ids` is not set, plotly attempts to find matching items in `labels`, but beware they must be unique. - parentssrc - Sets the source reference on Chart Studio Cloud for - `parents`. pathbar :class:`plotly.graph_objects.treemap.Pathbar` instance or dict with compatible properties @@ -20619,9 +17447,6 @@ def add_treemap( sort Determines whether or not the sectors are reordered from largest to smallest. - stream - :class:`plotly.graph_objects.treemap.Stream` instance - or dict with compatible properties text Sets text elements associated with each sector. If trace `textinfo` contains a "text" flag, these elements @@ -20631,12 +17456,12 @@ def add_treemap( textfont Sets the font used for `textinfo`. textinfo - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. + Flags are rendered in a fixed order; use `texttemplate` + if you need explicit control over the rendered string, + including the order of fields and surrounding text. textposition Sets the positions of the `text` elements. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -20666,9 +17491,6 @@ def add_treemap( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. tiling :class:`plotly.graph_objects.treemap.Tiling` instance or dict with compatible properties @@ -20698,9 +17520,6 @@ def add_treemap( Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -20727,21 +17546,15 @@ def add_treemap( branchvalues=branchvalues, count=count, customdata=customdata, - customdatasrc=customdatasrc, domain=domain, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, insidetextfont=insidetextfont, labels=labels, - labelssrc=labelssrc, legend=legend, legendgrouptitle=legendgrouptitle, legendrank=legendrank, @@ -20750,29 +17563,23 @@ def add_treemap( marker=marker, maxdepth=maxdepth, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, outsidetextfont=outsidetextfont, parents=parents, - parentssrc=parentssrc, pathbar=pathbar, root=root, sort=sort, - stream=stream, text=text, textfont=textfont, textinfo=textinfo, textposition=textposition, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, tiling=tiling, uid=uid, uirevision=uirevision, values=values, - valuessrc=valuessrc, visible=visible, **kwargs, ) @@ -20784,19 +17591,14 @@ def add_violin( bandwidth=None, box=None, customdata=None, - customdatasrc=None, fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hoveron=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, jitter=None, legend=None, legendgroup=None, @@ -20807,7 +17609,6 @@ def add_violin( marker=None, meanline=None, meta=None, - metasrc=None, name=None, offsetgroup=None, opacity=None, @@ -20823,9 +17624,7 @@ def add_violin( side=None, span=None, spanmode=None, - stream=None, text=None, - textsrc=None, uid=None, uirevision=None, unselected=None, @@ -20835,12 +17634,10 @@ def add_violin( x0=None, xaxis=None, xhoverformat=None, - xsrc=None, y=None, y0=None, yaxis=None, yhoverformat=None, - ysrc=None, zorder=None, row=None, col=None, @@ -20854,8 +17651,7 @@ def add_violin( using `y` (`x`) values. By supplying an `x` (`y`) array, one violin per distinct x (y) value is drawn If no `x` (`y`) list is provided, a single violin is drawn. That violin position is - then positioned with with `name` or with `x0` (`y0`) if - provided. + then positioned with `name` or with `x0` (`y0`) if provided. Parameters ---------- @@ -20876,21 +17672,15 @@ def add_violin( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. fillcolor Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.violin.Hoverlabel` instance or dict with compatible properties @@ -20937,21 +17727,12 @@ def add_violin( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. jitter Sets the amount of jitter in the sample points drawn. If 0, the sample points align along the distribution @@ -21006,9 +17787,6 @@ def add_violin( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. For violin traces, the name @@ -21061,9 +17839,9 @@ def add_violin( and Q3 the median of the upper half. scalegroup If there are multiple violins that should be sized - according to to some metric (see `scalemode`), link - them by providing a non-empty group id here shared by - every trace in the same group. If a violin's `width` is + according to some metric (see `scalemode`), link them + by providing a non-empty group id here shared by every + trace in the same group. If a violin's `width` is undefined, `scalegroup` will default to the trace's name. In this case, violins with the same names will be linked together @@ -21104,9 +17882,6 @@ def add_violin( sample's minimum to its maximum value. For custom span settings, use mode "manual" and fill in the `span` attribute. - stream - :class:`plotly.graph_objects.violin.Stream` instance or - dict with compatible properties text Sets the text elements associated with each sample value. If a single string, the same string appears over @@ -21114,9 +17889,6 @@ def add_violin( are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -21165,7 +17937,7 @@ def add_violin( x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -21177,9 +17949,6 @@ def add_violin( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y sample data or coordinates. See overview for more info. @@ -21193,7 +17962,7 @@ def add_violin( y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -21205,9 +17974,6 @@ def add_violin( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -21245,19 +18011,14 @@ def add_violin( bandwidth=bandwidth, box=box, customdata=customdata, - customdatasrc=customdatasrc, fillcolor=fillcolor, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hoveron=hoveron, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, jitter=jitter, legend=legend, legendgroup=legendgroup, @@ -21268,7 +18029,6 @@ def add_violin( marker=marker, meanline=meanline, meta=meta, - metasrc=metasrc, name=name, offsetgroup=offsetgroup, opacity=opacity, @@ -21284,9 +18044,7 @@ def add_violin( side=side, span=span, spanmode=spanmode, - stream=stream, text=text, - textsrc=textsrc, uid=uid, uirevision=uirevision, unselected=unselected, @@ -21296,12 +18054,10 @@ def add_violin( x0=x0, xaxis=xaxis, xhoverformat=xhoverformat, - xsrc=xsrc, y=y, y0=y0, yaxis=yaxis, yhoverformat=yhoverformat, - ysrc=ysrc, zorder=zorder, **kwargs, ) @@ -21320,18 +18076,13 @@ def add_volume( colorscale=None, contour=None, customdata=None, - customdatasrc=None, flatshading=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, isomax=None, isomin=None, legend=None, @@ -21342,7 +18093,6 @@ def add_volume( lighting=None, lightposition=None, meta=None, - metasrc=None, name=None, opacity=None, opacityscale=None, @@ -21352,25 +18102,19 @@ def add_volume( showscale=None, slices=None, spaceframe=None, - stream=None, surface=None, text=None, - textsrc=None, uid=None, uirevision=None, value=None, valuehoverformat=None, - valuesrc=None, visible=None, x=None, xhoverformat=None, - xsrc=None, y=None, yhoverformat=None, - ysrc=None, z=None, zhoverformat=None, - zsrc=None, row=None, col=None, **kwargs, @@ -21428,15 +18172,15 @@ def add_volume( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. contour :class:`plotly.graph_objects.volume.Contour` instance or dict with compatible properties @@ -21445,21 +18189,15 @@ def add_volume( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. flatshading Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low- poly look via flat reflections. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.volume.Hoverlabel` instance or dict with compatible properties @@ -21502,21 +18240,12 @@ def add_volume( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. isomax Sets the maximum boundary for iso-surface plot. isomin @@ -21567,9 +18296,6 @@ def add_volume( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -21614,9 +18340,6 @@ def add_volume( spaceframe :class:`plotly.graph_objects.volume.Spaceframe` instance or dict with compatible properties - stream - :class:`plotly.graph_objects.volume.Stream` instance or - dict with compatible properties surface :class:`plotly.graph_objects.volume.Surface` instance or dict with compatible properties @@ -21625,9 +18348,6 @@ def add_volume( trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -21653,14 +18373,11 @@ def add_volume( value Sets the 4th dimension (value) of the vertices. valuehoverformat - Sets the hover text formatting rulefor `value` using + Sets the hover text formatting rule for `value` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format. - valuesrc - Sets the source reference on Chart Studio Cloud for - `value`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -21669,7 +18386,7 @@ def add_volume( x Sets the X coordinates of the vertices on X axis. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -21681,13 +18398,10 @@ def add_volume( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the Y coordinates of the vertices on Y axis. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -21699,13 +18413,10 @@ def add_volume( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the Z coordinates of the vertices on Z axis. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -21717,9 +18428,6 @@ def add_volume( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -21749,18 +18457,13 @@ def add_volume( colorscale=colorscale, contour=contour, customdata=customdata, - customdatasrc=customdatasrc, flatshading=flatshading, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, isomax=isomax, isomin=isomin, legend=legend, @@ -21771,7 +18474,6 @@ def add_volume( lighting=lighting, lightposition=lightposition, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, opacityscale=opacityscale, @@ -21781,25 +18483,19 @@ def add_volume( showscale=showscale, slices=slices, spaceframe=spaceframe, - stream=stream, surface=surface, text=text, - textsrc=textsrc, uid=uid, uirevision=uirevision, value=value, valuehoverformat=valuehoverformat, - valuesrc=valuesrc, visible=visible, x=x, xhoverformat=xhoverformat, - xsrc=xsrc, y=y, yhoverformat=yhoverformat, - ysrc=ysrc, z=z, zhoverformat=zhoverformat, - zsrc=zsrc, **kwargs, ) return self.add_trace(new_trace, row=row, col=col) @@ -21812,20 +18508,15 @@ def add_waterfall( connector=None, constraintext=None, customdata=None, - customdatasrc=None, decreasing=None, dx=None, dy=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, increasing=None, insidetextanchor=None, insidetextfont=None, @@ -21835,35 +18526,27 @@ def add_waterfall( legendrank=None, legendwidth=None, measure=None, - measuresrc=None, meta=None, - metasrc=None, name=None, offset=None, offsetgroup=None, - offsetsrc=None, opacity=None, orientation=None, outsidetextfont=None, selectedpoints=None, showlegend=None, - stream=None, text=None, textangle=None, textfont=None, textinfo=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, totals=None, uid=None, uirevision=None, visible=None, width=None, - widthsrc=None, x=None, x0=None, xaxis=None, @@ -21871,7 +18554,6 @@ def add_waterfall( xperiod=None, xperiod0=None, xperiodalignment=None, - xsrc=None, y=None, y0=None, yaxis=None, @@ -21879,7 +18561,6 @@ def add_waterfall( yperiod=None, yperiod0=None, yperiodalignment=None, - ysrc=None, zorder=None, row=None, col=None, @@ -21922,9 +18603,6 @@ def add_waterfall( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. decreasing :class:`plotly.graph_objects.waterfall.Decreasing` instance or dict with compatible properties @@ -21933,13 +18611,10 @@ def add_waterfall( dy Sets the y coordinate step. See `y0` for more info. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.waterfall.Hoverlabel` instance or dict with compatible properties @@ -21984,9 +18659,6 @@ def add_waterfall( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over @@ -21994,16 +18666,10 @@ def add_waterfall( are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. increasing :class:`plotly.graph_objects.waterfall.Increasing` instance or dict with compatible properties @@ -22045,9 +18711,6 @@ def add_waterfall( possible to use 'total' to compute the sums. Also 'absolute' could be applied to reset the computed total or to declare an initial value where needed. - measuresrc - Sets the source reference on Chart Studio Cloud for - `measure`. meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -22061,9 +18724,6 @@ def add_waterfall( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -22076,9 +18736,6 @@ def add_waterfall( Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up. - offsetsrc - Sets the source reference on Chart Studio Cloud for - `offset`. opacity Sets the opacity of the trace. orientation @@ -22097,9 +18754,6 @@ def add_waterfall( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.waterfall.Stream` instance - or dict with compatible properties text Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the @@ -22117,9 +18771,12 @@ def add_waterfall( textfont Sets the font used for `text`. textinfo - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. In the case of having multiple waterfalls, totals are - computed separately (per trace). + computed separately (per trace). Flags are rendered in + a fixed order; use `texttemplate` if you need explicit + control over the rendered string, including the order + of fields and surrounding text. textposition Specifies the location of the `text`. "inside" positions `text` inside, next to the bar end (rotated @@ -22130,12 +18787,6 @@ def add_waterfall( inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -22163,9 +18814,6 @@ def add_waterfall( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. totals :class:`plotly.graph_objects.waterfall.Totals` instance or dict with compatible properties @@ -22198,9 +18846,6 @@ def add_waterfall( visible). width Sets the bar width (in position axis units). - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. x Sets the x coordinates. x0 @@ -22213,7 +18858,7 @@ def add_waterfall( x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -22241,9 +18886,6 @@ def add_waterfall( xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates. y0 @@ -22256,7 +18898,7 @@ def add_waterfall( y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -22284,9 +18926,6 @@ def add_waterfall( yperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -22326,20 +18965,15 @@ def add_waterfall( connector=connector, constraintext=constraintext, customdata=customdata, - customdatasrc=customdatasrc, decreasing=decreasing, dx=dx, dy=dy, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, increasing=increasing, insidetextanchor=insidetextanchor, insidetextfont=insidetextfont, @@ -22349,35 +18983,27 @@ def add_waterfall( legendrank=legendrank, legendwidth=legendwidth, measure=measure, - measuresrc=measuresrc, meta=meta, - metasrc=metasrc, name=name, offset=offset, offsetgroup=offsetgroup, - offsetsrc=offsetsrc, opacity=opacity, orientation=orientation, outsidetextfont=outsidetextfont, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, text=text, textangle=textangle, textfont=textfont, textinfo=textinfo, textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, totals=totals, uid=uid, uirevision=uirevision, visible=visible, width=width, - widthsrc=widthsrc, x=x, x0=x0, xaxis=xaxis, @@ -22385,7 +19011,6 @@ def add_waterfall( xperiod=xperiod, xperiod0=xperiod0, xperiodalignment=xperiodalignment, - xsrc=xsrc, y=y, y0=y0, yaxis=yaxis, @@ -22393,7 +19018,6 @@ def add_waterfall( yperiod=yperiod, yperiod0=yperiod0, yperiodalignment=yperiodalignment, - ysrc=ysrc, zorder=zorder, **kwargs, ) @@ -22847,118 +19471,6 @@ def update_maps( return self - def select_mapboxes(self, selector=None, row=None, col=None): - """ - Select mapbox subplot objects from a particular subplot cell - and/or mapbox subplot objects that satisfy custom selection - criteria. - - Parameters - ---------- - selector: dict, function, or None (default None) - Dict to use as selection criteria. - mapbox objects will be selected if they contain - properties corresponding to all of the dictionary's keys, with - values that exactly match the supplied values. If None - (the default), all mapbox objects are selected. If a - function, it must be a function accepting a single argument and - returning a boolean. The function will be called on each - mapbox and those for which the function returned True will - be in the selection. - row, col: int or None (default None) - Subplot row and column index of mapbox objects to select. - To select mapbox objects by row and column, the Figure - must have been created using plotly.subplots.make_subplots. - If None (the default), all mapbox objects are selected. - Returns - ------- - generator - Generator that iterates through all of the mapbox - objects that satisfy all of the specified selection criteria - """ - - return self._select_layout_subplots_by_prefix("mapbox", selector, row, col) - - def for_each_mapbox(self, fn, selector=None, row=None, col=None) -> "Figure": - """ - Apply a function to all mapbox objects that satisfy the - specified selection criteria - - Parameters - ---------- - fn: - Function that inputs a single mapbox object. - selector: dict, function, or None (default None) - Dict to use as selection criteria. - mapbox objects will be selected if they contain - properties corresponding to all of the dictionary's keys, with - values that exactly match the supplied values. If None - (the default), all mapbox objects are selected. If a - function, it must be a function accepting a single argument and - returning a boolean. The function will be called on each - mapbox and those for which the function returned True will - be in the selection. - row, col: int or None (default None) - Subplot row and column index of mapbox objects to select. - To select mapbox objects by row and column, the Figure - must have been created using plotly.subplots.make_subplots. - If None (the default), all mapbox objects are selected. - Returns - ------- - self - Returns the Figure object that the method was called on - """ - for obj in self.select_mapboxes(selector=selector, row=row, col=col): - fn(obj) - - return self - - def update_mapboxes( - self, patch=None, selector=None, overwrite=False, row=None, col=None, **kwargs - ) -> "Figure": - """ - Perform a property update operation on all mapbox objects - that satisfy the specified selection criteria - - Parameters - ---------- - patch: dict - Dictionary of property updates to be applied to all - mapbox objects that satisfy the selection criteria. - selector: dict, function, or None (default None) - Dict to use as selection criteria. - mapbox objects will be selected if they contain - properties corresponding to all of the dictionary's keys, with - values that exactly match the supplied values. If None - (the default), all mapbox objects are selected. If a - function, it must be a function accepting a single argument and - returning a boolean. The function will be called on each - mapbox and those for which the function returned True will - be in the selection. - overwrite: bool - If True, overwrite existing properties. If False, apply updates - to existing properties recursively, preserving existing - properties that are not specified in the update operation. - row, col: int or None (default None) - Subplot row and column index of mapbox objects to select. - To select mapbox objects by row and column, the Figure - must have been created using plotly.subplots.make_subplots. - If None (the default), all mapbox objects are selected. - **kwargs - Additional property updates to apply to each selected - mapbox object. If a property is specified in - both patch and in **kwargs then the one in **kwargs - takes precedence. - Returns - ------- - self - Returns the Figure object that the method was called on - """ - for obj in self.select_mapboxes(selector=selector, row=row, col=col): - obj.update(patch, overwrite=overwrite, **kwargs) - - return self - def select_polars(self, selector=None, row=None, col=None): """ Select polar subplot objects from a particular subplot cell @@ -23944,7 +20456,7 @@ def add_annotation( like for "paper", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the - domain of the second x axis and a x position of 0.5 + domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, "axref" must be @@ -23977,7 +20489,7 @@ def add_annotation( like for "paper", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the - domain of the second y axis and a y position of 0.5 + domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, "ayref" must be @@ -24137,7 +20649,7 @@ def add_annotation( like for "paper", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the - domain of the second x axis and a x position of 0.5 + domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. xshift @@ -24179,7 +20691,7 @@ def add_annotation( like for "paper", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the - domain of the second y axis and a y position of 0.5 + domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. yshift @@ -24517,7 +21029,7 @@ def add_layout_image( like for "paper", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the - domain of the second x axis and a x position of 0.5 + domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. y @@ -24537,7 +21049,7 @@ def add_layout_image( like for "paper", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the - domain of the second y axis and a y position of 0.5 + domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. row @@ -24828,7 +21340,7 @@ def add_selection( like for "paper", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the - domain of the second x axis and a x position of 0.5 + domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. y0 @@ -24846,7 +21358,7 @@ def add_selection( like for "paper", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the - domain of the second y axis and a y position of 0.5 + domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. row @@ -25082,7 +21594,6 @@ def add_shape( x1shift=None, xanchor=None, xref=None, - xrefsrc=None, xsizemode=None, y0=None, y0shift=None, @@ -25090,7 +21601,6 @@ def add_shape( y1shift=None, yanchor=None, yref=None, - yrefsrc=None, ysizemode=None, row=None, col=None, @@ -25253,7 +21763,7 @@ def add_shape( like for "paper", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the - domain of the second x axis and a x position of 0.5 + domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. If an array of axis IDs is provided, each `x` value will refer to the @@ -25261,9 +21771,6 @@ def add_shape( line, or circle means `x0` uses the `x` axis and `x1` uses the `x2` axis. Path shapes using an array should have one entry for each x coordinate in the string. - xrefsrc - Sets the source reference on Chart Studio Cloud for - `xref`. xsizemode Sets the shapes's sizing mode along the x axis. If set to "scaled", `x0`, `x1` and x coordinates within `path` @@ -25310,7 +21817,7 @@ def add_shape( like for "paper", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the - domain of the second y axis and a y position of 0.5 + domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. If an array of axis IDs is provided, each `y` value will refer to the @@ -25318,9 +21825,6 @@ def add_shape( line, or circle means `y0` uses the `y` axis and `y1` uses the `y2` axis. Path shapes using an array should have one entry for each y coordinate in the string. - yrefsrc - Sets the source reference on Chart Studio Cloud for - `yref`. ysizemode Sets the shapes's sizing mode along the y axis. If set to "scaled", `y0`, `y1` and y coordinates within `path` @@ -25377,7 +21881,6 @@ def add_shape( x1shift=x1shift, xanchor=xanchor, xref=xref, - xrefsrc=xrefsrc, xsizemode=xsizemode, y0=y0, y0shift=y0shift, @@ -25385,7 +21888,6 @@ def add_shape( y1shift=y1shift, yanchor=yanchor, yref=yref, - yrefsrc=yrefsrc, ysizemode=ysizemode, **kwargs, ) diff --git a/plotly/graph_objs/_figurewidget.py b/plotly/graph_objs/_figurewidget.py index d605b579e59..c77308f7068 100644 --- a/plotly/graph_objs/_figurewidget.py +++ b/plotly/graph_objs/_figurewidget.py @@ -24,16 +24,15 @@ def __init__( - The 'type' property specifies the trace type One of: ['bar', 'barpolar', 'box', 'candlestick', 'carpet', 'choropleth', 'choroplethmap', - 'choroplethmapbox', 'cone', 'contour', - 'contourcarpet', 'densitymap', - 'densitymapbox', 'funnel', 'funnelarea', + 'cone', 'contour', 'contourcarpet', + 'densitymap', 'funnel', 'funnelarea', 'heatmap', 'histogram', 'histogram2d', 'histogram2dcontour', 'icicle', 'image', 'indicator', 'isosurface', 'mesh3d', 'ohlc', - 'parcats', 'parcoords', 'pie', 'sankey', - 'scatter', 'scatter3d', 'scattercarpet', - 'scattergeo', 'scattergl', 'scattermap', - 'scattermapbox', 'scatterpolar', + 'parcats', 'parcoords', 'pie', 'quiver', + 'sankey', 'scatter', 'scatter3d', + 'scattercarpet', 'scattergeo', 'scattergl', + 'scattermap', 'scatterpolar', 'scatterpolargl', 'scattersmith', 'scatterternary', 'splom', 'streamtube', 'sunburst', 'surface', 'table', 'treemap', @@ -654,25 +653,19 @@ def add_bar( self, alignmentgroup=None, base=None, - basesrc=None, cliponaxis=None, constraintext=None, customdata=None, - customdatasrc=None, dx=None, dy=None, error_x=None, error_y=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, insidetextanchor=None, insidetextfont=None, legend=None, @@ -682,33 +675,26 @@ def add_bar( legendwidth=None, marker=None, meta=None, - metasrc=None, name=None, offset=None, offsetgroup=None, - offsetsrc=None, opacity=None, orientation=None, outsidetextfont=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, text=None, textangle=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, unselected=None, visible=None, width=None, - widthsrc=None, x=None, x0=None, xaxis=None, @@ -717,7 +703,6 @@ def add_bar( xperiod=None, xperiod0=None, xperiodalignment=None, - xsrc=None, y=None, y0=None, yaxis=None, @@ -726,7 +711,6 @@ def add_bar( yperiod=None, yperiod0=None, yperiodalignment=None, - ysrc=None, zorder=None, row=None, col=None, @@ -753,9 +737,6 @@ def add_bar( units). In "stack" or "relative" barmode, traces that set "base" will be excluded and drawn in "overlay" mode instead. - basesrc - Sets the source reference on Chart Studio Cloud for - `base`. cliponaxis Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines @@ -769,9 +750,6 @@ def add_bar( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dx Sets the x coordinate step. See `x0` for more info. dy @@ -783,13 +761,10 @@ def add_bar( :class:`plotly.graph_objects.bar.ErrorY` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.bar.Hoverlabel` instance or dict with compatible properties @@ -833,9 +808,6 @@ def add_bar( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over @@ -843,16 +815,10 @@ def add_bar( are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextanchor Determines if texts are kept at center or start/end points in `textposition` "inside" mode. @@ -901,9 +867,6 @@ def add_bar( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -916,9 +879,6 @@ def add_bar( Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up. - offsetsrc - Sets the source reference on Chart Studio Cloud for - `offset`. opacity Sets the opacity of the trace. orientation @@ -940,9 +900,6 @@ def add_bar( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.bar.Stream` instance or - dict with compatible properties text Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the @@ -969,12 +926,6 @@ def add_bar( inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1002,9 +953,6 @@ def add_bar( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1037,9 +985,6 @@ def add_bar( visible). width Sets the bar width (in position axis units). - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. x Sets the x coordinates. x0 @@ -1054,7 +999,7 @@ def add_bar( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1082,9 +1027,6 @@ def add_bar( xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates. y0 @@ -1099,7 +1041,7 @@ def add_bar( ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1127,9 +1069,6 @@ def add_bar( yperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -1165,25 +1104,19 @@ def add_bar( new_trace = Bar( alignmentgroup=alignmentgroup, base=base, - basesrc=basesrc, cliponaxis=cliponaxis, constraintext=constraintext, customdata=customdata, - customdatasrc=customdatasrc, dx=dx, dy=dy, error_x=error_x, error_y=error_y, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, insidetextanchor=insidetextanchor, insidetextfont=insidetextfont, legend=legend, @@ -1193,33 +1126,26 @@ def add_bar( legendwidth=legendwidth, marker=marker, meta=meta, - metasrc=metasrc, name=name, offset=offset, offsetgroup=offsetgroup, - offsetsrc=offsetsrc, opacity=opacity, orientation=orientation, outsidetextfont=outsidetextfont, selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, text=text, textangle=textangle, textfont=textfont, textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, uid=uid, uirevision=uirevision, unselected=unselected, visible=visible, width=width, - widthsrc=widthsrc, x=x, x0=x0, xaxis=xaxis, @@ -1228,7 +1154,6 @@ def add_bar( xperiod=xperiod, xperiod0=xperiod0, xperiodalignment=xperiodalignment, - xsrc=xsrc, y=y, y0=y0, yaxis=yaxis, @@ -1237,7 +1162,6 @@ def add_bar( yperiod=yperiod, yperiod0=yperiod0, yperiodalignment=yperiodalignment, - ysrc=ysrc, zorder=zorder, **kwargs, ) @@ -1246,21 +1170,15 @@ def add_bar( def add_barpolar( self, base=None, - basesrc=None, customdata=None, - customdatasrc=None, dr=None, dtheta=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -1268,31 +1186,24 @@ def add_barpolar( legendwidth=None, marker=None, meta=None, - metasrc=None, name=None, offset=None, - offsetsrc=None, opacity=None, r=None, r0=None, - rsrc=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, subplot=None, text=None, - textsrc=None, theta=None, theta0=None, - thetasrc=None, thetaunit=None, uid=None, uirevision=None, unselected=None, visible=None, width=None, - widthsrc=None, row=None, col=None, **kwargs, @@ -1309,17 +1220,11 @@ def add_barpolar( Sets where the bar base is drawn (in radial axis units). In "stack" barmode, traces that set "base" will be excluded and drawn in "overlay" mode instead. - basesrc - Sets the source reference on Chart Studio Cloud for - `base`. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dr Sets the r coordinate step. dtheta @@ -1327,13 +1232,10 @@ def add_barpolar( `dtheta` step equals the subplot's period divided by the length of the `r` coordinates. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.barpolar.Hoverlabel` instance or dict with compatible properties @@ -1376,21 +1278,12 @@ def add_barpolar( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1434,18 +1327,12 @@ def add_barpolar( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. offset Shifts the angular position where the bar is drawn (in "thetatunit" units). - offsetsrc - Sets the source reference on Chart Studio Cloud for - `offset`. opacity Sets the opacity of the trace. r @@ -1454,9 +1341,6 @@ def add_barpolar( Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step. - rsrc - Sets the source reference on Chart Studio Cloud for - `r`. selected :class:`plotly.graph_objects.barpolar.Selected` instance or dict with compatible properties @@ -1470,9 +1354,6 @@ def add_barpolar( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.barpolar.Stream` instance - or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a polar subplot. If "polar" (the default value), @@ -1483,18 +1364,12 @@ def add_barpolar( single string, the same string appears over all bars. If an array of string, the items are mapped in order to the this trace's coordinates. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. theta Sets the angular coordinates theta0 Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step. - thetasrc - Sets the source reference on Chart Studio Cloud for - `theta`. thetaunit Sets the unit of input "theta" values. Has an effect only when on "linear" angular axes. @@ -1530,9 +1405,6 @@ def add_barpolar( visible). width Sets the bar angular width (in "thetaunit" units). - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -1552,21 +1424,15 @@ def add_barpolar( new_trace = Barpolar( base=base, - basesrc=basesrc, customdata=customdata, - customdatasrc=customdatasrc, dr=dr, dtheta=dtheta, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -1574,31 +1440,24 @@ def add_barpolar( legendwidth=legendwidth, marker=marker, meta=meta, - metasrc=metasrc, name=name, offset=offset, - offsetsrc=offsetsrc, opacity=opacity, r=r, r0=r0, - rsrc=rsrc, selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, subplot=subplot, text=text, - textsrc=textsrc, theta=theta, theta0=theta0, - thetasrc=thetasrc, thetaunit=thetaunit, uid=uid, uirevision=uirevision, unselected=unselected, visible=visible, width=width, - widthsrc=widthsrc, **kwargs, ) return self.add_trace(new_trace, row=row, col=col) @@ -1609,21 +1468,16 @@ def add_box( boxmean=None, boxpoints=None, customdata=None, - customdatasrc=None, dx=None, dy=None, fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hoveron=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, jitter=None, legend=None, legendgroup=None, @@ -1632,44 +1486,33 @@ def add_box( legendwidth=None, line=None, lowerfence=None, - lowerfencesrc=None, marker=None, mean=None, - meansrc=None, median=None, - mediansrc=None, meta=None, - metasrc=None, name=None, notched=None, notchspan=None, - notchspansrc=None, notchwidth=None, offsetgroup=None, opacity=None, orientation=None, pointpos=None, q1=None, - q1src=None, q3=None, - q3src=None, quartilemethod=None, sd=None, sdmultiple=None, - sdsrc=None, selected=None, selectedpoints=None, showlegend=None, showwhiskers=None, sizemode=None, - stream=None, text=None, - textsrc=None, uid=None, uirevision=None, unselected=None, upperfence=None, - upperfencesrc=None, visible=None, whiskerwidth=None, width=None, @@ -1681,7 +1524,6 @@ def add_box( xperiod=None, xperiod0=None, xperiodalignment=None, - xsrc=None, y=None, y0=None, yaxis=None, @@ -1690,7 +1532,6 @@ def add_box( yperiod=None, yperiod0=None, yperiodalignment=None, - ysrc=None, zorder=None, row=None, col=None, @@ -1754,9 +1595,6 @@ def add_box( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dx Sets the x coordinate step for multi-box traces set using q1/median/q3. @@ -1768,13 +1606,10 @@ def add_box( variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.box.Hoverlabel` instance or dict with compatible properties @@ -1820,21 +1655,12 @@ def add_box( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. jitter Sets the amount of jitter in the sample points drawn. If 0, the sample points align along the distribution @@ -1877,9 +1703,6 @@ def add_box( `lowerfence` is not provided but a sample (in `y` or `x`) is set, we compute the lower as the last sample point below 1.5 times the IQR. - lowerfencesrc - Sets the source reference on Chart Studio Cloud for - `lowerfence`. marker :class:`plotly.graph_objects.box.Marker` instance or dict with compatible properties @@ -1889,15 +1712,9 @@ def add_box( only under the q1/median/q3 signature. If `mean` is not provided but a sample (in `y` or `x`) is set, we compute the mean for each box using the sample values. - meansrc - Sets the source reference on Chart Studio Cloud for - `mean`. median Sets the median values. There should be as many items as the number of boxes desired. - mediansrc - Sets the source reference on Chart Studio Cloud for - `median`. meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -1911,9 +1728,6 @@ def add_box( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. For box traces, the name will @@ -1937,9 +1751,6 @@ def add_box( q1/median/q3 signature. If `notchspan` is not provided but a sample (in `y` or `x`) is set, we compute it as 1.57 * IQR / sqrt(N), where N is the sample size. - notchspansrc - Sets the source reference on Chart Studio Cloud for - `notchspan`. notchwidth Sets the width of the notches relative to the box width. For example, with 0, the notches are as wide as @@ -1963,15 +1774,9 @@ def add_box( q1 Sets the Quartile 1 values. There should be as many items as the number of boxes desired. - q1src - Sets the source reference on Chart Studio Cloud for - `q1`. q3 Sets the Quartile 3 values. There should be as many items as the number of boxes desired. - q3src - Sets the source reference on Chart Studio Cloud for - `q3`. quartilemethod Sets the method used to compute the sample's Q1 and Q3 quartiles. The "linear" method uses the 25th percentile @@ -1998,9 +1803,6 @@ def add_box( Scales the box size when sizemode=sd Allowing boxes to be drawn across any stddev range For example 1-stddev, 3-stddev, 5-stddev - sdsrc - Sets the source reference on Chart Studio Cloud for - `sd`. selected :class:`plotly.graph_objects.box.Selected` instance or dict with compatible properties @@ -2024,9 +1826,6 @@ def add_box( is drawn between Mean +- Standard Deviation Argument sdmultiple (default 1) to scale the box size So it could be drawn 1-stddev, 3-stddev etc - stream - :class:`plotly.graph_objects.box.Stream` instance or - dict with compatible properties text Sets the text elements associated with each sample value. If a single string, the same string appears over @@ -2034,9 +1833,6 @@ def add_box( are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -2069,9 +1865,6 @@ def add_box( `upperfence` is not provided but a sample (in `y` or `x`) is set, we compute the upper as the last sample point above 1.5 times the IQR. - upperfencesrc - Sets the source reference on Chart Studio Cloud for - `upperfence`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -2101,7 +1894,7 @@ def add_box( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2129,9 +1922,6 @@ def add_box( xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y sample data or coordinates. See overview for more info. @@ -2147,7 +1937,7 @@ def add_box( ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2175,9 +1965,6 @@ def add_box( yperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -2215,21 +2002,16 @@ def add_box( boxmean=boxmean, boxpoints=boxpoints, customdata=customdata, - customdatasrc=customdatasrc, dx=dx, dy=dy, fillcolor=fillcolor, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hoveron=hoveron, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, jitter=jitter, legend=legend, legendgroup=legendgroup, @@ -2238,44 +2020,33 @@ def add_box( legendwidth=legendwidth, line=line, lowerfence=lowerfence, - lowerfencesrc=lowerfencesrc, marker=marker, mean=mean, - meansrc=meansrc, median=median, - mediansrc=mediansrc, meta=meta, - metasrc=metasrc, name=name, notched=notched, notchspan=notchspan, - notchspansrc=notchspansrc, notchwidth=notchwidth, offsetgroup=offsetgroup, opacity=opacity, orientation=orientation, pointpos=pointpos, q1=q1, - q1src=q1src, q3=q3, - q3src=q3src, quartilemethod=quartilemethod, sd=sd, sdmultiple=sdmultiple, - sdsrc=sdsrc, selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, showwhiskers=showwhiskers, sizemode=sizemode, - stream=stream, text=text, - textsrc=textsrc, uid=uid, uirevision=uirevision, unselected=unselected, upperfence=upperfence, - upperfencesrc=upperfencesrc, visible=visible, whiskerwidth=whiskerwidth, width=width, @@ -2287,7 +2058,6 @@ def add_box( xperiod=xperiod, xperiod0=xperiod0, xperiodalignment=xperiodalignment, - xsrc=xsrc, y=y, y0=y0, yaxis=yaxis, @@ -2296,7 +2066,6 @@ def add_box( yperiod=yperiod, yperiod0=yperiod0, yperiodalignment=yperiodalignment, - ysrc=ysrc, zorder=zorder, **kwargs, ) @@ -2305,22 +2074,15 @@ def add_box( def add_candlestick( self, close=None, - closesrc=None, customdata=None, - customdatasrc=None, decreasing=None, high=None, - highsrc=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, increasing=None, legend=None, legendgroup=None, @@ -2329,18 +2091,13 @@ def add_candlestick( legendwidth=None, line=None, low=None, - lowsrc=None, meta=None, - metasrc=None, name=None, opacity=None, open=None, - opensrc=None, selectedpoints=None, showlegend=None, - stream=None, text=None, - textsrc=None, uid=None, uirevision=None, visible=None, @@ -2352,7 +2109,6 @@ def add_candlestick( xperiod=None, xperiod0=None, xperiodalignment=None, - xsrc=None, yaxis=None, yhoverformat=None, zorder=None, @@ -2369,7 +2125,7 @@ def add_candlestick( time). The boxes represent the spread between the `open` and `close` values and the lines represent the spread between the `low` and `high` values Sample points where the close value is - higher (lower) then the open value are called increasing + higher (lower) than the open value are called increasing (decreasing). By default, increasing candles are drawn in green whereas decreasing are drawn in red. @@ -2377,33 +2133,21 @@ def add_candlestick( ---------- close Sets the close values. - closesrc - Sets the source reference on Chart Studio Cloud for - `close`. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. decreasing :class:`plotly.graph_objects.candlestick.Decreasing` instance or dict with compatible properties high Sets the high values. - highsrc - Sets the source reference on Chart Studio Cloud for - `high`. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.candlestick.Hoverlabel` instance or dict with compatible properties @@ -2448,21 +2192,12 @@ def add_candlestick( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. increasing :class:`plotly.graph_objects.candlestick.Increasing` instance or dict with compatible properties @@ -2498,9 +2233,6 @@ def add_candlestick( or dict with compatible properties low Sets the low values. - lowsrc - Sets the source reference on Chart Studio Cloud for - `low`. meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -2514,9 +2246,6 @@ def add_candlestick( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -2524,9 +2253,6 @@ def add_candlestick( Sets the opacity of the trace. open Sets the open values. - opensrc - Sets the source reference on Chart Studio Cloud for - `open`. selectedpoints Array containing integer indices of selected points. Has an effect only for traces that support selections. @@ -2537,17 +2263,11 @@ def add_candlestick( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.candlestick.Stream` - instance or dict with compatible properties text Sets hover text elements associated with each sample point. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to this trace's sample points. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -2590,7 +2310,7 @@ def add_candlestick( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2618,16 +2338,13 @@ def add_candlestick( xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. yaxis Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2673,22 +2390,15 @@ def add_candlestick( new_trace = Candlestick( close=close, - closesrc=closesrc, customdata=customdata, - customdatasrc=customdatasrc, decreasing=decreasing, high=high, - highsrc=highsrc, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, increasing=increasing, legend=legend, legendgroup=legendgroup, @@ -2697,18 +2407,13 @@ def add_candlestick( legendwidth=legendwidth, line=line, low=low, - lowsrc=lowsrc, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, open=open, - opensrc=opensrc, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, text=text, - textsrc=textsrc, uid=uid, uirevision=uirevision, visible=visible, @@ -2720,7 +2425,6 @@ def add_candlestick( xperiod=xperiod, xperiod0=xperiod0, xperiodalignment=xperiodalignment, - xsrc=xsrc, yaxis=yaxis, yhoverformat=yhoverformat, zorder=zorder, @@ -2733,39 +2437,31 @@ def add_carpet( a=None, a0=None, aaxis=None, - asrc=None, b=None, b0=None, baxis=None, - bsrc=None, carpet=None, cheaterslope=None, color=None, customdata=None, - customdatasrc=None, da=None, db=None, font=None, ids=None, - idssrc=None, legend=None, legendgrouptitle=None, legendrank=None, legendwidth=None, meta=None, - metasrc=None, name=None, opacity=None, - stream=None, uid=None, uirevision=None, visible=None, x=None, xaxis=None, - xsrc=None, y=None, yaxis=None, - ysrc=None, zorder=None, row=None, col=None, @@ -2793,9 +2489,6 @@ def add_carpet( aaxis :class:`plotly.graph_objects.carpet.Aaxis` instance or dict with compatible properties - asrc - Sets the source reference on Chart Studio Cloud for - `a`. b A two dimensional array of y coordinates at each carpet point. @@ -2806,9 +2499,6 @@ def add_carpet( baxis :class:`plotly.graph_objects.carpet.Baxis` instance or dict with compatible properties - bsrc - Sets the source reference on Chart Studio Cloud for - `b`. carpet An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on @@ -2827,9 +2517,6 @@ def add_carpet( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. da Sets the a coordinate step. See `a0` for more info. db @@ -2841,9 +2528,6 @@ def add_carpet( Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -2880,17 +2564,11 @@ def add_carpet( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. opacity Sets the opacity of the trace. - stream - :class:`plotly.graph_objects.carpet.Stream` instance or - dict with compatible properties uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -2927,9 +2605,6 @@ def add_carpet( a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y A two dimensional array of y coordinates at each carpet point. @@ -2938,9 +2613,6 @@ def add_carpet( a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -2977,39 +2649,31 @@ def add_carpet( a=a, a0=a0, aaxis=aaxis, - asrc=asrc, b=b, b0=b0, baxis=baxis, - bsrc=bsrc, carpet=carpet, cheaterslope=cheaterslope, color=color, customdata=customdata, - customdatasrc=customdatasrc, da=da, db=db, font=font, ids=ids, - idssrc=idssrc, legend=legend, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, - stream=stream, uid=uid, uirevision=uirevision, visible=visible, x=x, xaxis=xaxis, - xsrc=xsrc, y=y, yaxis=yaxis, - ysrc=ysrc, zorder=zorder, **kwargs, ) @@ -3022,20 +2686,15 @@ def add_choropleth( colorbar=None, colorscale=None, customdata=None, - customdatasrc=None, featureidkey=None, geo=None, geojson=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -3043,19 +2702,15 @@ def add_choropleth( legendwidth=None, locationmode=None, locations=None, - locationssrc=None, marker=None, meta=None, - metasrc=None, name=None, reversescale=None, selected=None, selectedpoints=None, showlegend=None, showscale=None, - stream=None, text=None, - textsrc=None, uid=None, uirevision=None, unselected=None, @@ -3065,7 +2720,6 @@ def add_choropleth( zmax=None, zmid=None, zmin=None, - zsrc=None, row=None, col=None, **kwargs, @@ -3099,23 +2753,20 @@ def add_choropleth( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. featureidkey Sets the key in GeoJSON features which is used as id to match the items included in the `locations` array. Only @@ -3135,13 +2786,10 @@ def add_choropleth( "FeatureCollection" or "Feature" with geometries of type "Polygon" or "MultiPolygon". hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.choropleth.Hoverlabel` instance or dict with compatible properties @@ -3184,21 +2832,12 @@ def add_choropleth( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -3227,23 +2866,17 @@ def add_choropleth( Sets the width (in px or fraction) of the legend for this trace. locationmode - The library used by the *country names* `locationmode` - option is changing in an upcoming version. Country - names in existing plots may not work in the new - version. Determines the set of locations used to match - entries in `locations` to regions on the map. Values - "ISO-3", "USA-states", *country names* correspond to - features on the base map and value "geojson-id" - corresponds to features from a custom GeoJSON linked to - the `geojson` attribute. "USA-states" accepts both two- - letter abbreviations (e.g. "CA") and full state names - (e.g. "California"). + Determines the set of locations used to match entries + in `locations` to regions on the map. Values "ISO-3", + "USA-states", *country names* correspond to features on + the base map and value "geojson-id" corresponds to + features from a custom GeoJSON linked to the `geojson` + attribute. "USA-states" accepts both two-letter + abbreviations (e.g. "CA") and full state names (e.g. + "California"). locations Sets the coordinates via location IDs or names. See `locationmode` for more info. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. marker :class:`plotly.graph_objects.choropleth.Marker` instance or dict with compatible properties @@ -3260,9 +2893,6 @@ def add_choropleth( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -3286,14 +2916,8 @@ def add_choropleth( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.choropleth.Stream` - instance or dict with compatible properties text Sets the text elements associated with each location. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -3344,9 +2968,6 @@ def add_choropleth( Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -3370,20 +2991,15 @@ def add_choropleth( colorbar=colorbar, colorscale=colorscale, customdata=customdata, - customdatasrc=customdatasrc, featureidkey=featureidkey, geo=geo, geojson=geojson, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -3391,19 +3007,15 @@ def add_choropleth( legendwidth=legendwidth, locationmode=locationmode, locations=locations, - locationssrc=locationssrc, marker=marker, meta=meta, - metasrc=metasrc, name=name, reversescale=reversescale, selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, showscale=showscale, - stream=stream, text=text, - textsrc=textsrc, uid=uid, uirevision=uirevision, unselected=unselected, @@ -3413,7 +3025,6 @@ def add_choropleth( zmax=zmax, zmid=zmid, zmin=zmin, - zsrc=zsrc, **kwargs, ) return self.add_trace(new_trace, row=row, col=col) @@ -3426,39 +3037,30 @@ def add_choroplethmap( colorbar=None, colorscale=None, customdata=None, - customdatasrc=None, featureidkey=None, geojson=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, legendrank=None, legendwidth=None, locations=None, - locationssrc=None, marker=None, meta=None, - metasrc=None, name=None, reversescale=None, selected=None, selectedpoints=None, showlegend=None, showscale=None, - stream=None, subplot=None, text=None, - textsrc=None, uid=None, uirevision=None, unselected=None, @@ -3468,7 +3070,6 @@ def add_choroplethmap( zmax=None, zmid=None, zmin=None, - zsrc=None, row=None, col=None, **kwargs, @@ -3508,23 +3109,20 @@ def add_choroplethmap( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. featureidkey Sets the key in GeoJSON features which is used as id to match the items included in the `locations` array. @@ -3536,13 +3134,10 @@ def add_choroplethmap( "FeatureCollection" or "Feature" with geometries of type "Polygon" or "MultiPolygon". hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.choroplethmap.Hoverlabel` instance or dict with compatible properties @@ -3586,21 +3181,12 @@ def add_choroplethmap( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -3631,9 +3217,6 @@ def add_choroplethmap( locations Sets which features found in "geojson" to plot using their feature `id` field. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. marker :class:`plotly.graph_objects.choroplethmap.Marker` instance or dict with compatible properties @@ -3650,9 +3233,6 @@ def add_choroplethmap( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -3676,9 +3256,6 @@ def add_choroplethmap( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.choroplethmap.Stream` - instance or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a map subplot. If "map" (the default value), the @@ -3686,9 +3263,6 @@ def add_choroplethmap( to `layout.map2`, and so on. text Sets the text elements associated with each location. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -3739,9 +3313,6 @@ def add_choroplethmap( Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -3766,39 +3337,30 @@ def add_choroplethmap( colorbar=colorbar, colorscale=colorscale, customdata=customdata, - customdatasrc=customdatasrc, featureidkey=featureidkey, geojson=geojson, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, locations=locations, - locationssrc=locationssrc, marker=marker, meta=meta, - metasrc=metasrc, name=name, reversescale=reversescale, selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, showscale=showscale, - stream=stream, subplot=subplot, text=text, - textsrc=textsrc, uid=uid, uirevision=uirevision, unselected=unselected, @@ -3808,79 +3370,78 @@ def add_choroplethmap( zmax=zmax, zmid=zmid, zmin=zmin, - zsrc=zsrc, **kwargs, ) return self.add_trace(new_trace, row=row, col=col) - def add_choroplethmapbox( + def add_cone( self, + anchor=None, autocolorscale=None, - below=None, + cauto=None, + cmax=None, + cmid=None, + cmin=None, coloraxis=None, colorbar=None, colorscale=None, customdata=None, - customdatasrc=None, - featureidkey=None, - geojson=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, legendrank=None, legendwidth=None, - locations=None, - locationssrc=None, - marker=None, + lighting=None, + lightposition=None, meta=None, - metasrc=None, name=None, + opacity=None, reversescale=None, - selected=None, - selectedpoints=None, + scene=None, showlegend=None, showscale=None, - stream=None, - subplot=None, + sizemode=None, + sizeref=None, text=None, - textsrc=None, + u=None, + uhoverformat=None, uid=None, uirevision=None, - unselected=None, + v=None, + vhoverformat=None, visible=None, + w=None, + whoverformat=None, + x=None, + xhoverformat=None, + y=None, + yhoverformat=None, z=None, - zauto=None, - zmax=None, - zmid=None, - zmin=None, - zsrc=None, + zhoverformat=None, row=None, col=None, **kwargs, ) -> "FigureWidget": """ - Add a new Choroplethmapbox trace + Add a new Cone trace - "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/ - GeoJSON features to be filled are set in `geojson` The data - that describes the choropleth value-to-color mapping is set in - `locations` and `z`. + Use cone traces to visualize vector fields. Specify a vector + field using 6 1D arrays, 3 position arrays `x`, `y` and `z` and + 3 vector component arrays `u`, `v`, `w`. The cones are drawn + exactly at the positions given by `x`, `y` and `z`. Parameters ---------- + anchor + Sets the cones' anchor with respect to their x/y/z + positions. Note that "cm" denote the cone's center of + mass which corresponds to 1/4 from the tail to tip. autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -3888,12 +3449,24 @@ def add_choroplethmapbox( `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed. - below - Determines if the choropleth polygons will be inserted - before the layer with the specified ID. By default, - choroplethmapbox traces are placed above the water - layers. If set to '', the layer will be inserted above - every existing layer. + cauto + Determines whether or not the color domain is computed + with respect to the input data (here u/v/w norm) or the + bounds set in `cmin` and `cmax` Defaults to `false` + when `cmin` and `cmax` are set by the user. + cmax + Sets the upper bound of the color domain. Value should + have the same units as u/v/w norm and if set, `cmin` + must be set as well. + cmid + Sets the mid-point of the color domain by scaling + `cmin` and/or `cmax` to be equidistant to this point. + Value should have the same units as u/v/w norm. Has no + effect when `cauto` is `false`. + cmin + Sets the lower bound of the color domain. Value should + have the same units as u/v/w norm and if set, `cmax` + must be set as well. coloraxis Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", @@ -3902,49 +3475,33 @@ def add_choroplethmapbox( `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis. colorbar - :class:`plotly.graph_objects.choroplethmapbox.ColorBar` - instance or dict with compatible properties + :class:`plotly.graph_objects.cone.ColorBar` instance or + dict with compatible properties colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - featureidkey - Sets the key in GeoJSON features which is used as id to - match the items included in the `locations` array. - Support nested property, for example "properties.name". - geojson - Sets the GeoJSON data associated with this trace. It - can be set as a valid GeoJSON object or as a URL - string. Note that we only accept GeoJSONs of type - "FeatureCollection" or "Feature" with geometries of - type "Polygon" or "MultiPolygon". hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel - :class:`plotly.graph_objects.choroplethmapbox.Hoverlabe - l` instance or dict with compatible properties + :class:`plotly.graph_objects.cone.Hoverlabel` instance + or dict with compatible properties hovertemplate Template string used for rendering the information that appear on hover box. Note that this will override @@ -3975,9 +3532,9 @@ def add_choroplethmapbox( data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access - to variable `properties` Anything contained in tag - `` is displayed in the secondary box, for - example `%{fullData.name}`. To hide the + to variable `norm` Anything contained in tag `` + is displayed in the secondary box, for example + `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``. hovertemplatefallback @@ -3985,21 +3542,12 @@ def add_choroplethmapbox( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -4011,8 +3559,8 @@ def add_choroplethmapbox( part of the same legend group hide/show at the same time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.choroplethmapbox.Legendgro - uptitle` instance or dict with compatible properties + :class:`plotly.graph_objects.cone.Legendgrouptitle` + instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while @@ -4027,14 +3575,11 @@ def add_choroplethmapbox( legendwidth Sets the width (in px or fraction) of the legend for this trace. - locations - Sets which features found in "geojson" to plot using - their feature `id` field. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. - marker - :class:`plotly.graph_objects.choroplethmapbox.Marker` + lighting + :class:`plotly.graph_objects.cone.Lighting` instance or + dict with compatible properties + lightposition + :class:`plotly.graph_objects.cone.Lightposition` instance or dict with compatible properties meta Assigns extra meta information associated with this @@ -4049,50 +3594,65 @@ def add_choroplethmapbox( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. + opacity + Sets the opacity of the surface. Please note that in + the case of using high `opacity` values for example a + value greater than or equal to 0.5 on two surfaces (and + 0.25 with four surfaces), an overlay of multiple + transparent surfaces may not perfectly be sorted in + depth by the webgl API. This behavior may be improved + in the near future and is subject to change. reversescale - Reverses the color mapping if true. If true, `zmin` + Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and - `zmax` will correspond to the first color. - selected - :class:`plotly.graph_objects.choroplethmapbox.Selected` - instance or dict with compatible properties - selectedpoints - Array containing integer indices of selected points. - Has an effect only for traces that support selections. - Note that an empty array means an empty selection where - the `unselected` are turned on for all points, whereas, - any other non-array values means no selection all where - the `selected` and `unselected` styles have no effect. + `cmax` will correspond to the first color. + scene + Sets a reference between this trace's 3D coordinate + system and a 3D scene. If "scene" (the default value), + the (x,y,z) coordinates refer to `layout.scene`. If + "scene2", the (x,y,z) coordinates refer to + `layout.scene2`, and so on. showlegend Determines whether or not an item corresponding to this trace is shown in the legend. showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.choroplethmapbox.Stream` - instance or dict with compatible properties - subplot - mapbox subplots and traces are deprecated! Please - consider switching to `map` subplots and traces. Learn - more at: https://plotly.com/python/maplibre-migration/ - as well as https://plotly.com/javascript/maplibre- - migration/ Sets a reference between this trace's data - coordinates and a mapbox subplot. If "mapbox" (the - default value), the data refer to `layout.mapbox`. If - "mapbox2", the data refer to `layout.mapbox2`, and so - on. + sizemode + Determines whether `sizeref` is set as a "scaled" (i.e + unitless) scalar (normalized by the max u/v/w norm in + the vector field) or as "absolute" value (in the same + units as the vector field). To display sizes in actual + vector length use "raw". + sizeref + Adjusts the cone size scaling. The size of the cones is + determined by their u/v/w norm multiplied a factor and + `sizeref`. This factor (computed internally) + corresponds to the minimum "time" to travel across two + successive x/y/z positions at the average velocity of + those two successive positions. All cones in a given + trace use the same factor. With `sizemode` set to + "raw", its default value is 1. With `sizemode` set to + "scaled", `sizeref` is unitless, its default value is + 0.5. With `sizemode` set to "absolute", `sizeref` has + the same units as the u/v/w vector field, its the + default value is half the sample's maximum vector norm. text - Sets the text elements associated with each location. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. + Sets the text elements associated with the cones. If + trace `hoverinfo` contains a "text" flag and + "hovertext" is not set, these elements will be seen in + the hover labels. + u + Sets the x components of the vector field. + uhoverformat + Sets the hover text formatting rule for `u` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: https://github.com/d + 3/d3-format/tree/v1.4.5#d3-format.By default the values + are formatted using generic number format. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -4115,37 +3675,75 @@ def add_choroplethmapbox( the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves. - unselected - :class:`plotly.graph_objects.choroplethmapbox.Unselecte - d` instance or dict with compatible properties + v + Sets the y components of the vector field. + vhoverformat + Sets the hover text formatting rule for `v` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: https://github.com/d + 3/d3-format/tree/v1.4.5#d3-format.By default the values + are formatted using generic number format. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). + w + Sets the z components of the vector field. + whoverformat + Sets the hover text formatting rule for `w` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: https://github.com/d + 3/d3-format/tree/v1.4.5#d3-format.By default the values + are formatted using generic number format. + x + Sets the x coordinates of the vector field and of the + displayed cones. + xhoverformat + Sets the hover text formatting rule for `x` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. + And for dates see: https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format. We add two items to + d3's date formatter: "%h" for half of the year as a + decimal number as well as "%{n}f" for fractional + seconds with n digits. For example, *2016-10-13 + 09:15:23.456* with tickformat "%H~%M~%S.%2f" would + display *09~15~23.46*By default the values are + formatted using `xaxis.hoverformat`. + y + Sets the y coordinates of the vector field and of the + displayed cones. + yhoverformat + Sets the hover text formatting rule for `y` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. + And for dates see: https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format. We add two items to + d3's date formatter: "%h" for half of the year as a + decimal number as well as "%{n}f" for fractional + seconds with n digits. For example, *2016-10-13 + 09:15:23.456* with tickformat "%H~%M~%S.%2f" would + display *09~15~23.46*By default the values are + formatted using `yaxis.hoverformat`. z - Sets the color values. - zauto - Determines whether or not the color domain is computed - with respect to the input data (here in `z`) or the - bounds set in `zmin` and `zmax` Defaults to `false` - when `zmin` and `zmax` are set by the user. - zmax - Sets the upper bound of the color domain. Value should - have the same units as in `z` and if set, `zmin` must - be set as well. - zmid - Sets the mid-point of the color domain by scaling - `zmin` and/or `zmax` to be equidistant to this point. - Value should have the same units as in `z`. Has no - effect when `zauto` is `false`. - zmin - Sets the lower bound of the color domain. Value should - have the same units as in `z` and if set, `zmax` must - be set as well. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. + Sets the z coordinates of the vector field and of the + displayed cones. + zhoverformat + Sets the hover text formatting rule for `z` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. + And for dates see: https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format. We add two items to + d3's date formatter: "%h" for half of the year as a + decimal number as well as "%{n}f" for fractional + seconds with n digits. For example, *2016-10-13 + 09:15:23.456* with tickformat "%H~%M~%S.%2f" would + display *09~15~23.46*By default the values are + formatted using `zaxis.hoverformat`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -4161,144 +3759,145 @@ def add_choroplethmapbox( ------- FigureWidget """ - from plotly.graph_objs import Choroplethmapbox + from plotly.graph_objs import Cone - new_trace = Choroplethmapbox( - autocolorscale=autocolorscale, - below=below, + new_trace = Cone( + anchor=anchor, + autocolorscale=autocolorscale, + cauto=cauto, + cmax=cmax, + cmid=cmid, + cmin=cmin, coloraxis=coloraxis, colorbar=colorbar, colorscale=colorscale, customdata=customdata, - customdatasrc=customdatasrc, - featureidkey=featureidkey, - geojson=geojson, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, - locations=locations, - locationssrc=locationssrc, - marker=marker, + lighting=lighting, + lightposition=lightposition, meta=meta, - metasrc=metasrc, name=name, + opacity=opacity, reversescale=reversescale, - selected=selected, - selectedpoints=selectedpoints, + scene=scene, showlegend=showlegend, showscale=showscale, - stream=stream, - subplot=subplot, + sizemode=sizemode, + sizeref=sizeref, text=text, - textsrc=textsrc, + u=u, + uhoverformat=uhoverformat, uid=uid, uirevision=uirevision, - unselected=unselected, + v=v, + vhoverformat=vhoverformat, visible=visible, + w=w, + whoverformat=whoverformat, + x=x, + xhoverformat=xhoverformat, + y=y, + yhoverformat=yhoverformat, z=z, - zauto=zauto, - zmax=zmax, - zmid=zmid, - zmin=zmin, - zsrc=zsrc, + zhoverformat=zhoverformat, **kwargs, ) return self.add_trace(new_trace, row=row, col=col) - def add_cone( + def add_contour( self, - anchor=None, autocolorscale=None, - cauto=None, - cmax=None, - cmid=None, - cmin=None, + autocontour=None, coloraxis=None, colorbar=None, colorscale=None, + connectgaps=None, + contours=None, customdata=None, - customdatasrc=None, + dx=None, + dy=None, + fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, + hoverongaps=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, legendrank=None, legendwidth=None, - lighting=None, - lightposition=None, + line=None, meta=None, - metasrc=None, name=None, + ncontours=None, opacity=None, reversescale=None, - scene=None, showlegend=None, showscale=None, - sizemode=None, - sizeref=None, - stream=None, text=None, - textsrc=None, - u=None, - uhoverformat=None, + textfont=None, + texttemplate=None, + texttemplatefallback=None, + transpose=None, uid=None, uirevision=None, - usrc=None, - v=None, - vhoverformat=None, visible=None, - vsrc=None, - w=None, - whoverformat=None, - wsrc=None, x=None, + x0=None, + xaxis=None, + xcalendar=None, xhoverformat=None, - xsrc=None, + xperiod=None, + xperiod0=None, + xperiodalignment=None, + xtype=None, y=None, + y0=None, + yaxis=None, + ycalendar=None, yhoverformat=None, - ysrc=None, + yperiod=None, + yperiod0=None, + yperiodalignment=None, + ytype=None, z=None, + zauto=None, zhoverformat=None, - zsrc=None, + zmax=None, + zmid=None, + zmin=None, + zorder=None, row=None, col=None, + secondary_y=None, **kwargs, ) -> "FigureWidget": """ - Add a new Cone trace + Add a new Contour trace - Use cone traces to visualize vector fields. Specify a vector - field using 6 1D arrays, 3 position arrays `x`, `y` and `z` and - 3 vector component arrays `u`, `v`, `w`. The cones are drawn - exactly at the positions given by `x`, `y` and `z`. + The data from which contour lines are computed is set in `z`. + Data in `z` must be a 2D list of numbers. Say that `z` has N + rows and M columns, then by default, these N rows correspond to + N y coordinates (set in `y` or auto-generated) and the M + columns correspond to M x coordinates (set in `x` or auto- + generated). By setting `transpose` to True, the above behavior + is flipped. Parameters ---------- - anchor - Sets the cones' anchor with respect to their x/y/z - positions. Note that "cm" denote the cone's center of - mass which corresponds to 1/4 from the tail to tip. autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -4306,24 +3905,11 @@ def add_cone( `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed. - cauto - Determines whether or not the color domain is computed - with respect to the input data (here u/v/w norm) or the - bounds set in `cmin` and `cmax` Defaults to `false` - when `cmin` and `cmax` are set by the user. - cmax - Sets the upper bound of the color domain. Value should - have the same units as u/v/w norm and if set, `cmin` - must be set as well. - cmid - Sets the mid-point of the color domain by scaling - `cmin` and/or `cmax` to be equidistant to this point. - Value should have the same units as u/v/w norm. Has no - effect when `cauto` is `false`. - cmin - Sets the lower bound of the color domain. Value should - have the same units as u/v/w norm and if set, `cmax` - must be set as well. + autocontour + Determines whether or not the contour level attributes + are picked by an algorithm. If True, the number of + contour levels can be set in `ncontours`. If False, set + the contour level attributes in `contours`. coloraxis Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", @@ -4332,39 +3918,54 @@ def add_cone( `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis. colorbar - :class:`plotly.graph_objects.cone.ColorBar` instance or - dict with compatible properties + :class:`plotly.graph_objects.contour.ColorBar` instance + or dict with compatible properties colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + connectgaps + Determines whether or not gaps (i.e. {nan} or missing + values) in the `z` data are filled in. It is defaulted + to true if `z` is a one dimensional array otherwise it + is defaulted to false. + contours + :class:`plotly.graph_objects.contour.Contours` instance + or dict with compatible properties customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. + dx + Sets the x coordinate step. See `x0` for more info. + dy + Sets the y coordinate step. See `y0` for more info. + fillcolor + Sets the fill color if `contours.type` is "constraint". + Defaults to a half-transparent variant of the line + color, marker color, or marker line color, whichever is + available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel - :class:`plotly.graph_objects.cone.Hoverlabel` instance - or dict with compatible properties + :class:`plotly.graph_objects.contour.Hoverlabel` + instance or dict with compatible properties + hoverongaps + Determines whether or not gaps (i.e. {nan} or missing + values) in the `z` data have hover labels associated + with them. hovertemplate Template string used for rendering the information that appear on hover box. Note that this will override @@ -4394,9 +3995,8 @@ def add_cone( https://plotly.com/javascript/plotlyjs-events/#event- data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) - are available. Finally, the template string has access - to variable `norm` Anything contained in tag `` - is displayed in the secondary box, for example + are available. Anything contained in tag `` is + displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``. @@ -4405,21 +4005,12 @@ def add_cone( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -4431,7 +4022,7 @@ def add_cone( part of the same legend group hide/show at the same time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.cone.Legendgrouptitle` + :class:`plotly.graph_objects.contour.Legendgrouptitle` instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups @@ -4447,12 +4038,9 @@ def add_cone( legendwidth Sets the width (in px or fraction) of the legend for this trace. - lighting - :class:`plotly.graph_objects.cone.Lighting` instance or + line + :class:`plotly.graph_objects.contour.Line` instance or dict with compatible properties - lightposition - :class:`plotly.graph_objects.cone.Lightposition` - instance or dict with compatible properties meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -4466,131 +4054,104 @@ def add_cone( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. + ncontours + Sets the maximum number of contour levels. The actual + number of contours will be chosen automatically to be + less than or equal to the value of `ncontours`. Has an + effect only if `autocontour` is True or if + `contours.size` is missing. opacity - Sets the opacity of the surface. Please note that in - the case of using high `opacity` values for example a - value greater than or equal to 0.5 on two surfaces (and - 0.25 with four surfaces), an overlay of multiple - transparent surfaces may not perfectly be sorted in - depth by the webgl API. This behavior may be improved - in the near future and is subject to change. + Sets the opacity of the trace. reversescale - Reverses the color mapping if true. If true, `cmin` + Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and - `cmax` will correspond to the first color. - scene - Sets a reference between this trace's 3D coordinate - system and a 3D scene. If "scene" (the default value), - the (x,y,z) coordinates refer to `layout.scene`. If - "scene2", the (x,y,z) coordinates refer to - `layout.scene2`, and so on. + `zmax` will correspond to the first color. showlegend Determines whether or not an item corresponding to this trace is shown in the legend. showscale Determines whether or not a colorbar is displayed for this trace. - sizemode - Determines whether `sizeref` is set as a "scaled" (i.e - unitless) scalar (normalized by the max u/v/w norm in - the vector field) or as "absolute" value (in the same - units as the vector field). To display sizes in actual - vector length use "raw". - sizeref - Adjusts the cone size scaling. The size of the cones is - determined by their u/v/w norm multiplied a factor and - `sizeref`. This factor (computed internally) - corresponds to the minimum "time" to travel across two - successive x/y/z positions at the average velocity of - those two successive positions. All cones in a given - trace use the same factor. With `sizemode` set to - "raw", its default value is 1. With `sizemode` set to - "scaled", `sizeref` is unitless, its default value is - 0.5. With `sizemode` set to "absolute", `sizeref` has - the same units as the u/v/w vector field, its the - default value is half the sample's maximum vector norm. - stream - :class:`plotly.graph_objects.cone.Stream` instance or - dict with compatible properties text - Sets the text elements associated with the cones. If - trace `hoverinfo` contains a "text" flag and - "hovertext" is not set, these elements will be seen in - the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. - u - Sets the x components of the vector field. - uhoverformat - Sets the hover text formatting rulefor `u` using d3 - formatting mini-languages which are very similar to - those in Python. For numbers, see: https://github.com/d - 3/d3-format/tree/v1.4.5#d3-format.By default the values - are formatted using generic number format. - uid - Assign an id to this trace, Use this to provide object - constancy between traces during animations and - transitions. - uirevision - Controls persistence of some user-driven changes to the - trace: `constraintrange` in `parcoords` traces, as well - as some `editable: true` modifications such as `name` - and `colorbar.title`. Defaults to `layout.uirevision`. - Note that other user-driven trace attribute changes are - controlled by `layout` attributes: `trace.visible` is - controlled by `layout.legend.uirevision`, - `selectedpoints` is controlled by - `layout.selectionrevision`, and `colorbar.(x|y)` - (accessible with `config: {editable: true}`) is - controlled by `layout.editrevision`. Trace changes are - tracked by `uid`, which only falls back on trace index - if no `uid` is provided. So if your app can add/remove - traces before the end of the `data` array, such that - the same trace has a different index, you can still - preserve user-driven changes if you give each trace a - `uid` that stays with it as it moves. - usrc - Sets the source reference on Chart Studio Cloud for - `u`. - v - Sets the y components of the vector field. - vhoverformat - Sets the hover text formatting rulefor `v` using d3 - formatting mini-languages which are very similar to - those in Python. For numbers, see: https://github.com/d - 3/d3-format/tree/v1.4.5#d3-format.By default the values - are formatted using generic number format. + Sets the text elements associated with each z value. + textfont + For this trace it only has an effect if `coloring` is + set to "heatmap". Sets the text font. + texttemplate + For this trace it only has an effect if `coloring` is + set to "heatmap". Template string used for rendering + the information text that appears on points. Note that + this will override `textinfo`. Variables are inserted + using %{variable}, for example "y: %{y}". Numbers are + formatted using d3-format's syntax + %{variable:d3-format}, for example "Price: %{y:$.2f}". + https://github.com/d3/d3-format/tree/v1.4.5#d3-format + for details on the formatting syntax. Dates are + formatted using d3-time-format's syntax + %{variable|d3-time-format}, for example "Day: + %{2019-01-01|%A}". https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format for details on the + date formatting syntax. Variables that can't be found + will be replaced with the specifier. For example, a + template of "data: %{x}, %{y}" will result in a value + of "data: 1, %{y}" if x is 1 and y is missing. + Variables with an undefined value will be replaced with + the fallback value. All attributes that can be + specified per-point (the ones that are `arrayOk: true`) + are available. Finally, the template string has access + to variables `x`, `y`, `z` and `text`. + texttemplatefallback + Fallback string that's displayed when a variable + referenced in a template is missing. If the boolean + value 'false' is passed in, the specifier with the + missing variable will be displayed. + transpose + Transposes the z data. + uid + Assign an id to this trace, Use this to provide object + constancy between traces during animations and + transitions. + uirevision + Controls persistence of some user-driven changes to the + trace: `constraintrange` in `parcoords` traces, as well + as some `editable: true` modifications such as `name` + and `colorbar.title`. Defaults to `layout.uirevision`. + Note that other user-driven trace attribute changes are + controlled by `layout` attributes: `trace.visible` is + controlled by `layout.legend.uirevision`, + `selectedpoints` is controlled by + `layout.selectionrevision`, and `colorbar.(x|y)` + (accessible with `config: {editable: true}`) is + controlled by `layout.editrevision`. Trace changes are + tracked by `uid`, which only falls back on trace index + if no `uid` is provided. So if your app can add/remove + traces before the end of the `data` array, such that + the same trace has a different index, you can still + preserve user-driven changes if you give each trace a + `uid` that stays with it as it moves. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). - vsrc - Sets the source reference on Chart Studio Cloud for - `v`. - w - Sets the z components of the vector field. - whoverformat - Sets the hover text formatting rulefor `w` using d3 - formatting mini-languages which are very similar to - those in Python. For numbers, see: https://github.com/d - 3/d3-format/tree/v1.4.5#d3-format.By default the values - are formatted using generic number format. - wsrc - Sets the source reference on Chart Studio Cloud for - `w`. x - Sets the x coordinates of the vector field and of the - displayed cones. + Sets the x coordinates. + x0 + Alternate to `x`. Builds a linear space of x + coordinates. Use with `dx` where `x0` is the starting + coordinate and `dx` the step. + xaxis + Sets a reference between this trace's x coordinates and + a 2D cartesian x axis. If "x" (the default value), the + x coordinates refer to `layout.xaxis`. If "x2", the x + coordinates refer to `layout.xaxis2`, and so on. + xcalendar + Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -4602,14 +4163,43 @@ def add_cone( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. + xperiod + Only relevant when the axis `type` is "date". Sets the + period positioning in milliseconds or "M" on the x + axis. Special values in the form of "M" could be + used to declare the number of months. In this case `n` + must be a positive integer. + xperiod0 + Only relevant when the axis `type` is "date". Sets the + base for period positioning in milliseconds or date + string on the x0 axis. When `x0period` is round number + of weeks, the `x0period0` by default would be on a + Sunday i.e. 2000-01-02, otherwise it would be at + 2000-01-01. + xperiodalignment + Only relevant when the axis `type` is "date". Sets the + alignment of data points on the x axis. + xtype + If "array", the heatmap's x coordinates are given by + "x" (the default behavior when `x` is provided). If + "scaled", the heatmap's x coordinates are given by "x0" + and "dx" (the default behavior when `x` is not + provided). y - Sets the y coordinates of the vector field and of the - displayed cones. + Sets the y coordinates. + y0 + Alternate to `y`. Builds a linear space of y + coordinates. Use with `dy` where `y0` is the starting + coordinate and `dy` the step. + yaxis + Sets a reference between this trace's y coordinates and + a 2D cartesian y axis. If "y" (the default value), the + y coordinates refer to `layout.yaxis`. If "y2", the y + coordinates refer to `layout.yaxis2`, and so on. + ycalendar + Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -4621,28 +4211,59 @@ def add_cone( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. + yperiod + Only relevant when the axis `type` is "date". Sets the + period positioning in milliseconds or "M" on the y + axis. Special values in the form of "M" could be + used to declare the number of months. In this case `n` + must be a positive integer. + yperiod0 + Only relevant when the axis `type` is "date". Sets the + base for period positioning in milliseconds or date + string on the y0 axis. When `y0period` is round number + of weeks, the `y0period0` by default would be on a + Sunday i.e. 2000-01-02, otherwise it would be at + 2000-01-01. + yperiodalignment + Only relevant when the axis `type` is "date". Sets the + alignment of data points on the y axis. + ytype + If "array", the heatmap's y coordinates are given by + "y" (the default behavior when `y` is provided) If + "scaled", the heatmap's y coordinates are given by "y0" + and "dy" (the default behavior when `y` is not + provided) z - Sets the z coordinates of the vector field and of the - displayed cones. + Sets the z data. + zauto + Determines whether or not the color domain is computed + with respect to the input data (here in `z`) or the + bounds set in `zmin` and `zmax` Defaults to `false` + when `zmin` and `zmax` are set by the user. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to - those in Python. For numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - And for dates see: https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two items to - d3's date formatter: "%h" for half of the year as a - decimal number as well as "%{n}f" for fractional - seconds with n digits. For example, *2016-10-13 - 09:15:23.456* with tickformat "%H~%M~%S.%2f" would - display *09~15~23.46*By default the values are - formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. + those in Python. For numbers, see: https://github.com/d + 3/d3-format/tree/v1.4.5#d3-format.By default the values + are formatted using generic number format. + zmax + Sets the upper bound of the color domain. Value should + have the same units as in `z` and if set, `zmin` must + be set as well. + zmid + Sets the mid-point of the color domain by scaling + `zmin` and/or `zmax` to be equidistant to this point. + Value should have the same units as in `z`. Has no + effect when `zauto` is `false`. + zmin + Sets the lower bound of the color domain. Value should + have the same units as in `z` and if set, `zmax` must + be set as well. + zorder + Sets the layer on which this trace is displayed, + relative to other SVG traces on the same subplot. SVG + traces with higher `zorder` appear in front of those + with lower `zorder`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -4653,105 +4274,113 @@ def add_cone( added. Only valid if figure was created using `plotly.tools.make_subplots`.If 'all', addresses all columns in the specified row(s). + secondary_y: boolean or None (default None) + If True, associate this trace with the secondary y-axis of the + subplot at the specified row and col. Only valid if all of the + following conditions are satisfied: + * The figure was created using `plotly.subplots.make_subplots`. + * The row and col arguments are not None + * The subplot at the specified row and col has type xy + (which is the default) and secondary_y True. These + properties are specified in the specs argument to + make_subplots. See the make_subplots docstring for more info. Returns ------- FigureWidget """ - from plotly.graph_objs import Cone + from plotly.graph_objs import Contour - new_trace = Cone( - anchor=anchor, + new_trace = Contour( autocolorscale=autocolorscale, - cauto=cauto, - cmax=cmax, - cmid=cmid, - cmin=cmin, + autocontour=autocontour, coloraxis=coloraxis, colorbar=colorbar, colorscale=colorscale, + connectgaps=connectgaps, + contours=contours, customdata=customdata, - customdatasrc=customdatasrc, + dx=dx, + dy=dy, + fillcolor=fillcolor, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, + hoverongaps=hoverongaps, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, - lighting=lighting, - lightposition=lightposition, + line=line, meta=meta, - metasrc=metasrc, name=name, + ncontours=ncontours, opacity=opacity, reversescale=reversescale, - scene=scene, showlegend=showlegend, showscale=showscale, - sizemode=sizemode, - sizeref=sizeref, - stream=stream, text=text, - textsrc=textsrc, - u=u, - uhoverformat=uhoverformat, + textfont=textfont, + texttemplate=texttemplate, + texttemplatefallback=texttemplatefallback, + transpose=transpose, uid=uid, uirevision=uirevision, - usrc=usrc, - v=v, - vhoverformat=vhoverformat, visible=visible, - vsrc=vsrc, - w=w, - whoverformat=whoverformat, - wsrc=wsrc, x=x, + x0=x0, + xaxis=xaxis, + xcalendar=xcalendar, xhoverformat=xhoverformat, - xsrc=xsrc, + xperiod=xperiod, + xperiod0=xperiod0, + xperiodalignment=xperiodalignment, + xtype=xtype, y=y, + y0=y0, + yaxis=yaxis, + ycalendar=ycalendar, yhoverformat=yhoverformat, - ysrc=ysrc, + yperiod=yperiod, + yperiod0=yperiod0, + yperiodalignment=yperiodalignment, + ytype=ytype, z=z, + zauto=zauto, zhoverformat=zhoverformat, - zsrc=zsrc, + zmax=zmax, + zmid=zmid, + zmin=zmin, + zorder=zorder, **kwargs, ) - return self.add_trace(new_trace, row=row, col=col) + return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) - def add_contour( + def add_contourcarpet( self, + a=None, + a0=None, + atype=None, autocolorscale=None, autocontour=None, + b=None, + b0=None, + btype=None, + carpet=None, coloraxis=None, colorbar=None, colorscale=None, - connectgaps=None, contours=None, customdata=None, - customdatasrc=None, - dx=None, - dy=None, + da=None, + db=None, fillcolor=None, - hoverinfo=None, - hoverinfosrc=None, - hoverlabel=None, - hoverongaps=None, - hovertemplate=None, - hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -4759,69 +4388,51 @@ def add_contour( legendwidth=None, line=None, meta=None, - metasrc=None, name=None, ncontours=None, opacity=None, reversescale=None, showlegend=None, showscale=None, - stream=None, text=None, - textfont=None, - textsrc=None, - texttemplate=None, - texttemplatefallback=None, transpose=None, uid=None, uirevision=None, visible=None, - x=None, - x0=None, xaxis=None, - xcalendar=None, - xhoverformat=None, - xperiod=None, - xperiod0=None, - xperiodalignment=None, - xsrc=None, - xtype=None, - y=None, - y0=None, yaxis=None, - ycalendar=None, - yhoverformat=None, - yperiod=None, - yperiod0=None, - yperiodalignment=None, - ysrc=None, - ytype=None, z=None, zauto=None, - zhoverformat=None, zmax=None, zmid=None, zmin=None, zorder=None, - zsrc=None, row=None, col=None, secondary_y=None, **kwargs, ) -> "FigureWidget": """ - Add a new Contour trace + Add a new Contourcarpet trace - The data from which contour lines are computed is set in `z`. - Data in `z` must be a 2D list of numbers. Say that `z` has N - rows and M columns, then by default, these N rows correspond to - N y coordinates (set in `y` or auto-generated) and the M - columns correspond to M x coordinates (set in `x` or auto- - generated). By setting `transpose` to True, the above behavior - is flipped. + Plots contours on either the first carpet axis or the carpet + axis with a matching `carpet` attribute. Data `z` is + interpreted as matching that of the corresponding carpet axis. Parameters ---------- + a + Sets the x coordinates. + a0 + Alternate to `x`. Builds a linear space of x + coordinates. Use with `dx` where `x0` is the starting + coordinate and `dx` the step. + atype + If "array", the heatmap's x coordinates are given by + "x" (the default behavior when `x` is provided). If + "scaled", the heatmap's x coordinates are given by "x0" + and "dx" (the default behavior when `x` is not + provided). autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -4834,6 +4445,21 @@ def add_contour( are picked by an algorithm. If True, the number of contour levels can be set in `ncontours`. If False, set the contour level attributes in `contours`. + b + Sets the y coordinates. + b0 + Alternate to `y`. Builds a linear space of y + coordinates. Use with `dy` where `y0` is the starting + coordinate and `dy` the step. + btype + If "array", the heatmap's y coordinates are given by + "y" (the default behavior when `y` is provided) If + "scaled", the heatmap's y coordinates are given by "y0" + and "dy" (the default behavior when `y` is not + provided) + carpet + The `carpet` of the carpet axes on which this contour + trace lies coloraxis Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", @@ -4842,114 +4468,43 @@ def add_contour( `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis. colorbar - :class:`plotly.graph_objects.contour.ColorBar` instance - or dict with compatible properties + :class:`plotly.graph_objects.contourcarpet.ColorBar` + instance or dict with compatible properties colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - connectgaps - Determines whether or not gaps (i.e. {nan} or missing - values) in the `z` data are filled in. It is defaulted - to true if `z` is a one dimensional array otherwise it - is defaulted to false. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. contours - :class:`plotly.graph_objects.contour.Contours` instance - or dict with compatible properties + :class:`plotly.graph_objects.contourcarpet.Contours` + instance or dict with compatible properties customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - dx + da Sets the x coordinate step. See `x0` for more info. - dy + db Sets the y coordinate step. See `y0` for more info. fillcolor Sets the fill color if `contours.type` is "constraint". Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available. - hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - hoverlabel - :class:`plotly.graph_objects.contour.Hoverlabel` - instance or dict with compatible properties - hoverongaps - Determines whether or not gaps (i.e. {nan} or missing - values) in the `z` data have hover labels associated - with them. - hovertemplate - Template string used for rendering the information that - appear on hover box. Note that this will override - `hoverinfo`. Variables are inserted using %{variable}, - for example "y: %{y}" as well as %{xother}, {%_xother}, - {%_xother_}, {%xother_}. When showing info for several - points, "xother" will be added to those with different - x positions from the first point. An underscore before - or after "(x|y)other" will add a space on that side, - only when this field is shown. Numbers are formatted - using d3-format's syntax %{variable:d3-format}, for - example "Price: %{y:$.2f}". - https://github.com/d3/d3-format/tree/v1.4.5#d3-format - for details on the formatting syntax. Dates are - formatted using d3-time-format's syntax - %{variable|d3-time-format}, for example "Day: - %{2019-01-01|%A}". https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format for details on the - date formatting syntax. Variables that can't be found - will be replaced with the specifier. For example, a - template of "data: %{x}, %{y}" will result in a value - of "data: 1, %{y}" if x is 1 and y is missing. - Variables with an undefined value will be replaced with - the fallback value. The variables available in - `hovertemplate` are the ones emitted as event data - described at this link - https://plotly.com/javascript/plotlyjs-events/#event- - data. Additionally, all attributes that can be - specified per-point (the ones that are `arrayOk: true`) - are available. Anything contained in tag `` is - displayed in the secondary box, for example - `%{fullData.name}`. To hide the - secondary box completely, use an empty tag - ``. - hovertemplatefallback - Fallback string that's displayed when a variable - referenced in a template is missing. If the boolean - value 'false' is passed in, the specifier with the - missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -4961,8 +4516,8 @@ def add_contour( part of the same legend group hide/show at the same time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.contour.Legendgrouptitle` - instance or dict with compatible properties + :class:`plotly.graph_objects.contourcarpet.Legendgroupt + itle` instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while @@ -4978,8 +4533,8 @@ def add_contour( Sets the width (in px or fraction) of the legend for this trace. line - :class:`plotly.graph_objects.contour.Line` instance or - dict with compatible properties + :class:`plotly.graph_objects.contourcarpet.Line` + instance or dict with compatible properties meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -4993,9 +4548,6 @@ def add_contour( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -5017,45 +4569,8 @@ def add_contour( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.contour.Stream` instance - or dict with compatible properties text Sets the text elements associated with each z value. - textfont - For this trace it only has an effect if `coloring` is - set to "heatmap". Sets the text font. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. - texttemplate - For this trace it only has an effect if `coloring` is - set to "heatmap". Template string used for rendering - the information text that appears on points. Note that - this will override `textinfo`. Variables are inserted - using %{variable}, for example "y: %{y}". Numbers are - formatted using d3-format's syntax - %{variable:d3-format}, for example "Price: %{y:$.2f}". - https://github.com/d3/d3-format/tree/v1.4.5#d3-format - for details on the formatting syntax. Dates are - formatted using d3-time-format's syntax - %{variable|d3-time-format}, for example "Day: - %{2019-01-01|%A}". https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format for details on the - date formatting syntax. Variables that can't be found - will be replaced with the specifier. For example, a - template of "data: %{x}, %{y}" will result in a value - of "data: 1, %{y}" if x is 1 and y is missing. - Variables with an undefined value will be replaced with - the fallback value. All attributes that can be - specified per-point (the ones that are `arrayOk: true`) - are available. Finally, the template string has access - to variables `x`, `y`, `z` and `text`. - texttemplatefallback - Fallback string that's displayed when a variable - referenced in a template is missing. If the boolean - value 'false' is passed in, the specifier with the - missing variable will be displayed. transpose Transposes the z data. uid @@ -5085,108 +4600,16 @@ def add_contour( "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). - x - Sets the x coordinates. - x0 - Alternate to `x`. Builds a linear space of x - coordinates. Use with `dx` where `x0` is the starting - coordinate and `dx` the step. xaxis Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on. - xcalendar - Sets the calendar system to use with `x` date data. - xhoverformat - Sets the hover text formatting rulefor `x` using d3 - formatting mini-languages which are very similar to - those in Python. For numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - And for dates see: https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two items to - d3's date formatter: "%h" for half of the year as a - decimal number as well as "%{n}f" for fractional - seconds with n digits. For example, *2016-10-13 - 09:15:23.456* with tickformat "%H~%M~%S.%2f" would - display *09~15~23.46*By default the values are - formatted using `xaxis.hoverformat`. - xperiod - Only relevant when the axis `type` is "date". Sets the - period positioning in milliseconds or "M" on the x - axis. Special values in the form of "M" could be - used to declare the number of months. In this case `n` - must be a positive integer. - xperiod0 - Only relevant when the axis `type` is "date". Sets the - base for period positioning in milliseconds or date - string on the x0 axis. When `x0period` is round number - of weeks, the `x0period0` by default would be on a - Sunday i.e. 2000-01-02, otherwise it would be at - 2000-01-01. - xperiodalignment - Only relevant when the axis `type` is "date". Sets the - alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. - xtype - If "array", the heatmap's x coordinates are given by - "x" (the default behavior when `x` is provided). If - "scaled", the heatmap's x coordinates are given by "x0" - and "dx" (the default behavior when `x` is not - provided). - y - Sets the y coordinates. - y0 - Alternate to `y`. Builds a linear space of y - coordinates. Use with `dy` where `y0` is the starting - coordinate and `dy` the step. yaxis Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on. - ycalendar - Sets the calendar system to use with `y` date data. - yhoverformat - Sets the hover text formatting rulefor `y` using d3 - formatting mini-languages which are very similar to - those in Python. For numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - And for dates see: https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two items to - d3's date formatter: "%h" for half of the year as a - decimal number as well as "%{n}f" for fractional - seconds with n digits. For example, *2016-10-13 - 09:15:23.456* with tickformat "%H~%M~%S.%2f" would - display *09~15~23.46*By default the values are - formatted using `yaxis.hoverformat`. - yperiod - Only relevant when the axis `type` is "date". Sets the - period positioning in milliseconds or "M" on the y - axis. Special values in the form of "M" could be - used to declare the number of months. In this case `n` - must be a positive integer. - yperiod0 - Only relevant when the axis `type` is "date". Sets the - base for period positioning in milliseconds or date - string on the y0 axis. When `y0period` is round number - of weeks, the `y0period0` by default would be on a - Sunday i.e. 2000-01-02, otherwise it would be at - 2000-01-01. - yperiodalignment - Only relevant when the axis `type` is "date". Sets the - alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. - ytype - If "array", the heatmap's y coordinates are given by - "y" (the default behavior when `y` is provided) If - "scaled", the heatmap's y coordinates are given by "y0" - and "dy" (the default behavior when `y` is not - provided) z Sets the z data. zauto @@ -5194,12 +4617,6 @@ def add_contour( with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user. - zhoverformat - Sets the hover text formatting rulefor `z` using d3 - formatting mini-languages which are very similar to - those in Python. For numbers, see: https://github.com/d - 3/d3-format/tree/v1.4.5#d3-format.By default the values - are formatted using generic number format. zmax Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must @@ -5218,9 +4635,6 @@ def add_contour( relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -5246,32 +4660,28 @@ def add_contour( ------- FigureWidget """ - from plotly.graph_objs import Contour + from plotly.graph_objs import Contourcarpet - new_trace = Contour( + new_trace = Contourcarpet( + a=a, + a0=a0, + atype=atype, autocolorscale=autocolorscale, autocontour=autocontour, + b=b, + b0=b0, + btype=btype, + carpet=carpet, coloraxis=coloraxis, colorbar=colorbar, colorscale=colorscale, - connectgaps=connectgaps, contours=contours, customdata=customdata, - customdatasrc=customdatasrc, - dx=dx, - dy=dy, + da=da, + db=db, fillcolor=fillcolor, - hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, - hoverlabel=hoverlabel, - hoverongaps=hoverongaps, - hovertemplate=hovertemplate, - hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -5279,140 +4689,80 @@ def add_contour( legendwidth=legendwidth, line=line, meta=meta, - metasrc=metasrc, name=name, ncontours=ncontours, opacity=opacity, reversescale=reversescale, showlegend=showlegend, showscale=showscale, - stream=stream, text=text, - textfont=textfont, - textsrc=textsrc, - texttemplate=texttemplate, - texttemplatefallback=texttemplatefallback, transpose=transpose, uid=uid, uirevision=uirevision, visible=visible, - x=x, - x0=x0, xaxis=xaxis, - xcalendar=xcalendar, - xhoverformat=xhoverformat, - xperiod=xperiod, - xperiod0=xperiod0, - xperiodalignment=xperiodalignment, - xsrc=xsrc, - xtype=xtype, - y=y, - y0=y0, yaxis=yaxis, - ycalendar=ycalendar, - yhoverformat=yhoverformat, - yperiod=yperiod, - yperiod0=yperiod0, - yperiodalignment=yperiodalignment, - ysrc=ysrc, - ytype=ytype, z=z, zauto=zauto, - zhoverformat=zhoverformat, zmax=zmax, zmid=zmid, zmin=zmin, zorder=zorder, - zsrc=zsrc, **kwargs, ) return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) - def add_contourcarpet( + def add_densitymap( self, - a=None, - a0=None, - asrc=None, - atype=None, autocolorscale=None, - autocontour=None, - b=None, - b0=None, - bsrc=None, - btype=None, - carpet=None, + below=None, coloraxis=None, colorbar=None, colorscale=None, - contours=None, customdata=None, - customdatasrc=None, - da=None, - db=None, - fillcolor=None, + hoverinfo=None, + hoverlabel=None, + hovertemplate=None, + hovertemplatefallback=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, + lat=None, legend=None, legendgroup=None, legendgrouptitle=None, legendrank=None, legendwidth=None, - line=None, + lon=None, meta=None, - metasrc=None, name=None, - ncontours=None, opacity=None, + radius=None, reversescale=None, showlegend=None, showscale=None, - stream=None, + subplot=None, text=None, - textsrc=None, - transpose=None, uid=None, uirevision=None, visible=None, - xaxis=None, - yaxis=None, z=None, zauto=None, zmax=None, zmid=None, zmin=None, - zorder=None, - zsrc=None, row=None, col=None, - secondary_y=None, **kwargs, ) -> "FigureWidget": """ - Add a new Contourcarpet trace + Add a new Densitymap trace - Plots contours on either the first carpet axis or the carpet - axis with a matching `carpet` attribute. Data `z` is - interpreted as matching that of the corresponding carpet axis. + Draws a bivariate kernel density estimation with a Gaussian + kernel from `lon` and `lat` coordinates and optional `z` values + using a colorscale. Parameters ---------- - a - Sets the x coordinates. - a0 - Alternate to `x`. Builds a linear space of x - coordinates. Use with `dx` where `x0` is the starting - coordinate and `dx` the step. - asrc - Sets the source reference on Chart Studio Cloud for - `a`. - atype - If "array", the heatmap's x coordinates are given by - "x" (the default behavior when `x` is provided). If - "scaled", the heatmap's x coordinates are given by "x0" - and "dx" (the default behavior when `x` is not - provided). autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -5420,29 +4770,12 @@ def add_contourcarpet( `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed. - autocontour - Determines whether or not the contour level attributes - are picked by an algorithm. If True, the number of - contour levels can be set in `ncontours`. If False, set - the contour level attributes in `contours`. - b - Sets the y coordinates. - b0 - Alternate to `y`. Builds a linear space of y - coordinates. Use with `dy` where `y0` is the starting - coordinate and `dy` the step. - bsrc - Sets the source reference on Chart Studio Cloud for - `b`. - btype - If "array", the heatmap's y coordinates are given by - "y" (the default behavior when `y` is provided) If - "scaled", the heatmap's y coordinates are given by "y0" - and "dy" (the default behavior when `y` is not - provided) - carpet - The `carpet` of the carpet axes on which this contour - trace lies + below + Determines if the densitymap trace will be inserted + before the layer with the specified ID. By default, + densitymap traces are placed below the first layer of + type symbol If set to '', the layer will be inserted + above every existing layer. coloraxis Sets a reference to a shared color axis. References to these shared color axes are "coloraxis", "coloraxis2", @@ -5451,52 +4784,85 @@ def add_contourcarpet( `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis. colorbar - :class:`plotly.graph_objects.contourcarpet.ColorBar` + :class:`plotly.graph_objects.densitymap.ColorBar` instance or dict with compatible properties colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - contours - :class:`plotly.graph_objects.contourcarpet.Contours` - instance or dict with compatible properties + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - da - Sets the x coordinate step. See `x0` for more info. - db - Sets the y coordinate step. See `y0` for more info. - fillcolor - Sets the fill color if `contours.type` is "constraint". - Defaults to a half-transparent variant of the line - color, marker color, or marker line color, whichever is - available. + hoverinfo + Determines what trace information appears on hover. If + `none` or `skip` are set, no information is displayed + upon hovering. But, if `none` is set, click and hover + events are still fired. + hoverlabel + :class:`plotly.graph_objects.densitymap.Hoverlabel` + instance or dict with compatible properties + hovertemplate + Template string used for rendering the information that + appear on hover box. Note that this will override + `hoverinfo`. Variables are inserted using %{variable}, + for example "y: %{y}" as well as %{xother}, {%_xother}, + {%_xother_}, {%xother_}. When showing info for several + points, "xother" will be added to those with different + x positions from the first point. An underscore before + or after "(x|y)other" will add a space on that side, + only when this field is shown. Numbers are formatted + using d3-format's syntax %{variable:d3-format}, for + example "Price: %{y:$.2f}". + https://github.com/d3/d3-format/tree/v1.4.5#d3-format + for details on the formatting syntax. Dates are + formatted using d3-time-format's syntax + %{variable|d3-time-format}, for example "Day: + %{2019-01-01|%A}". https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format for details on the + date formatting syntax. Variables that can't be found + will be replaced with the specifier. For example, a + template of "data: %{x}, %{y}" will result in a value + of "data: 1, %{y}" if x is 1 and y is missing. + Variables with an undefined value will be replaced with + the fallback value. The variables available in + `hovertemplate` are the ones emitted as event data + described at this link + https://plotly.com/javascript/plotlyjs-events/#event- + data. Additionally, all attributes that can be + specified per-point (the ones that are `arrayOk: true`) + are available. Anything contained in tag `` is + displayed in the secondary box, for example + `%{fullData.name}`. To hide the + secondary box completely, use an empty tag + ``. + hovertemplatefallback + Fallback string that's displayed when a variable + referenced in a template is missing. If the boolean + value 'false' is passed in, the specifier with the + missing variable will be displayed. hovertext - Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. + Sets hover text elements associated with each (lon,lat) + pair If a single string, the same string appears over + all the data points. If an array of string, the items + are mapped in order to the this trace's (lon,lat) + coordinates. To be seen, trace `hoverinfo` must contain + a "text" flag. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. + lat + Sets the latitude coordinates (in degrees North). legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -5508,8 +4874,8 @@ def add_contourcarpet( part of the same legend group hide/show at the same time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.contourcarpet.Legendgroupt - itle` instance or dict with compatible properties + :class:`plotly.graph_objects.densitymap.Legendgrouptitl + e` instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while @@ -5524,9 +4890,8 @@ def add_contourcarpet( legendwidth Sets the width (in px or fraction) of the legend for this trace. - line - :class:`plotly.graph_objects.contourcarpet.Line` - instance or dict with compatible properties + lon + Sets the longitude coordinates (in degrees East). meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -5540,20 +4905,15 @@ def add_contourcarpet( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. - ncontours - Sets the maximum number of contour levels. The actual - number of contours will be chosen automatically to be - less than or equal to the value of `ncontours`. Has an - effect only if `autocontour` is True or if - `contours.size` is missing. opacity Sets the opacity of the trace. + radius + Sets the radius of influence of one `lon` / `lat` point + in pixels. Increasing the value makes the densitymap + trace smoother, but less detailed. reversescale Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and @@ -5564,16 +4924,19 @@ def add_contourcarpet( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.contourcarpet.Stream` - instance or dict with compatible properties + subplot + Sets a reference between this trace's data coordinates + and a map subplot. If "map" (the default value), the + data refer to `layout.map`. If "map2", the data refer + to `layout.map2`, and so on. text - Sets the text elements associated with each z value. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. - transpose - Transposes the z data. + Sets text elements associated with each (lon,lat) pair + If a single string, the same string appears over all + the data points. If an array of string, the items are + mapped in order to the this trace's (lon,lat) + coordinates. If trace `hoverinfo` contains a "text" + flag and "hovertext" is not set, these elements will be + seen in the hover labels. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -5601,18 +4964,10 @@ def add_contourcarpet( "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). - xaxis - Sets a reference between this trace's x coordinates and - a 2D cartesian x axis. If "x" (the default value), the - x coordinates refer to `layout.xaxis`. If "x2", the x - coordinates refer to `layout.xaxis2`, and so on. - yaxis - Sets a reference between this trace's y coordinates and - a 2D cartesian y axis. If "y" (the default value), the - y coordinates refer to `layout.yaxis`. If "y2", the y - coordinates refer to `layout.yaxis2`, and so on. z - Sets the z data. + Sets the points' weight. For example, a value of 10 + would be equivalent to having 10 points of weight 1 in + the same spot zauto Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the @@ -5631,14 +4986,6 @@ def add_contourcarpet( Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well. - zorder - Sets the layer on which this trace is displayed, - relative to other SVG traces on the same subplot. SVG - traces with higher `zorder` appear in front of those - with lower `zorder`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -5649,198 +4996,161 @@ def add_contourcarpet( added. Only valid if figure was created using `plotly.tools.make_subplots`.If 'all', addresses all columns in the specified row(s). - secondary_y: boolean or None (default None) - If True, associate this trace with the secondary y-axis of the - subplot at the specified row and col. Only valid if all of the - following conditions are satisfied: - * The figure was created using `plotly.subplots.make_subplots`. - * The row and col arguments are not None - * The subplot at the specified row and col has type xy - (which is the default) and secondary_y True. These - properties are specified in the specs argument to - make_subplots. See the make_subplots docstring for more info. Returns ------- FigureWidget """ - from plotly.graph_objs import Contourcarpet + from plotly.graph_objs import Densitymap - new_trace = Contourcarpet( - a=a, - a0=a0, - asrc=asrc, - atype=atype, + new_trace = Densitymap( autocolorscale=autocolorscale, - autocontour=autocontour, - b=b, - b0=b0, - bsrc=bsrc, - btype=btype, - carpet=carpet, + below=below, coloraxis=coloraxis, colorbar=colorbar, colorscale=colorscale, - contours=contours, customdata=customdata, - customdatasrc=customdatasrc, - da=da, - db=db, - fillcolor=fillcolor, + hoverinfo=hoverinfo, + hoverlabel=hoverlabel, + hovertemplate=hovertemplate, + hovertemplatefallback=hovertemplatefallback, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, + lat=lat, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, - line=line, + lon=lon, meta=meta, - metasrc=metasrc, name=name, - ncontours=ncontours, opacity=opacity, + radius=radius, reversescale=reversescale, showlegend=showlegend, showscale=showscale, - stream=stream, + subplot=subplot, text=text, - textsrc=textsrc, - transpose=transpose, uid=uid, uirevision=uirevision, visible=visible, - xaxis=xaxis, - yaxis=yaxis, z=z, zauto=zauto, zmax=zmax, zmid=zmid, zmin=zmin, - zorder=zorder, - zsrc=zsrc, **kwargs, ) - return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) + return self.add_trace(new_trace, row=row, col=col) - def add_densitymap( + def add_funnel( self, - autocolorscale=None, - below=None, - coloraxis=None, - colorbar=None, - colorscale=None, + alignmentgroup=None, + cliponaxis=None, + connector=None, + constraintext=None, customdata=None, - customdatasrc=None, + dx=None, + dy=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, - lat=None, - latsrc=None, + insidetextanchor=None, + insidetextfont=None, legend=None, legendgroup=None, legendgrouptitle=None, legendrank=None, legendwidth=None, - lon=None, - lonsrc=None, + marker=None, meta=None, - metasrc=None, name=None, + offset=None, + offsetgroup=None, opacity=None, - radius=None, - radiussrc=None, - reversescale=None, + orientation=None, + outsidetextfont=None, + selectedpoints=None, showlegend=None, - showscale=None, - stream=None, - subplot=None, text=None, - textsrc=None, + textangle=None, + textfont=None, + textinfo=None, + textposition=None, + texttemplate=None, + texttemplatefallback=None, uid=None, uirevision=None, visible=None, - z=None, - zauto=None, - zmax=None, - zmid=None, - zmin=None, - zsrc=None, + width=None, + x=None, + x0=None, + xaxis=None, + xhoverformat=None, + xperiod=None, + xperiod0=None, + xperiodalignment=None, + y=None, + y0=None, + yaxis=None, + yhoverformat=None, + yperiod=None, + yperiod0=None, + yperiodalignment=None, + zorder=None, row=None, col=None, + secondary_y=None, **kwargs, ) -> "FigureWidget": """ - Add a new Densitymap trace + Add a new Funnel trace - Draws a bivariate kernel density estimation with a Gaussian - kernel from `lon` and `lat` coordinates and optional `z` values - using a colorscale. + Visualize stages in a process using length-encoded bars. This + trace can be used to show data in either a part-to-whole + representation wherein each item appears in a single stage, or + in a "drop-off" representation wherein each item appears in + each stage it traversed. See also the "funnelarea" trace type + for a different approach to visualizing funnel data. Parameters ---------- - autocolorscale - Determines whether the colorscale is a default palette - (`autocolorscale: true`) or the palette determined by - `colorscale`. In case `colorscale` is unspecified or - `autocolorscale` is true, the default palette will be - chosen according to whether numbers in the `color` - array are all positive, all negative or mixed. - below - Determines if the densitymap trace will be inserted - before the layer with the specified ID. By default, - densitymap traces are placed below the first layer of - type symbol If set to '', the layer will be inserted - above every existing layer. - coloraxis - Sets a reference to a shared color axis. References to - these shared color axes are "coloraxis", "coloraxis2", - "coloraxis3", etc. Settings for these shared color axes - are set in the layout, under `layout.coloraxis`, - `layout.coloraxis2`, etc. Note that multiple color - scales can be linked to the same color axis. - colorbar - :class:`plotly.graph_objects.densitymap.ColorBar` - instance or dict with compatible properties - colorscale - Sets the colorscale. The colorscale must be an array - containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + alignmentgroup + Set several traces linked to the same position axis or + matching axes to the same alignmentgroup. This controls + whether bars compute their positional range dependently + or independently. + cliponaxis + Determines whether the text nodes are clipped about the + subplot axes. To show the text nodes above axis lines + and tick labels, make sure to set `xaxis.layer` and + `yaxis.layer` to *below traces*. + connector + :class:`plotly.graph_objects.funnel.Connector` instance + or dict with compatible properties + constraintext + Constrain the size of text inside or outside a bar to + be no larger than the bar itself. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. + dx + Sets the x coordinate step. See `x0` for more info. + dy + Sets the y coordinate step. See `y0` for more info. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel - :class:`plotly.graph_objects.densitymap.Hoverlabel` + :class:`plotly.graph_objects.funnel.Hoverlabel` instance or dict with compatible properties hovertemplate Template string used for rendering the information that @@ -5871,7 +5181,9 @@ def add_densitymap( https://plotly.com/javascript/plotlyjs-events/#event- data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) - are available. Anything contained in tag `` is + are available. Finally, the template string has access + to variables `percentInitial`, `percentPrevious` and + `percentTotal`. Anything contained in tag `` is displayed in the secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag @@ -5881,31 +5193,22 @@ def add_densitymap( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext - Sets hover text elements associated with each (lon,lat) - pair If a single string, the same string appears over + Sets hover text elements associated with each (x,y) + pair. If a single string, the same string appears over all the data points. If an array of string, the items - are mapped in order to the this trace's (lon,lat) + are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. - lat - Sets the latitude coordinates (in degrees North). - latsrc - Sets the source reference on Chart Studio Cloud for - `lat`. + insidetextanchor + Determines if texts are kept at center or start/end + points in `textposition` "inside" mode. + insidetextfont + Sets the font used for `text` lying inside the bar. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -5917,8 +5220,8 @@ def add_densitymap( part of the same legend group hide/show at the same time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.densitymap.Legendgrouptitl - e` instance or dict with compatible properties + :class:`plotly.graph_objects.funnel.Legendgrouptitle` + instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while @@ -5933,11 +5236,9 @@ def add_densitymap( legendwidth Sets the width (in px or fraction) of the legend for this trace. - lon - Sets the longitude coordinates (in degrees East). - lonsrc - Sets the source reference on Chart Studio Cloud for - `lon`. + marker + :class:`plotly.graph_objects.funnel.Marker` instance or + dict with compatible properties meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -5951,848 +5252,40 @@ def add_densitymap( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. + offset + Shifts the position where the bar is drawn (in position + axis units). In "group" barmode, traces that set + "offset" will be excluded and drawn in "overlay" mode + instead. + offsetgroup + Set several traces linked to the same position axis or + matching axes to the same offsetgroup where bars of the + same position coordinate will line up. opacity Sets the opacity of the trace. - radius - Sets the radius of influence of one `lon` / `lat` point - in pixels. Increasing the value makes the densitymap - trace smoother, but less detailed. - radiussrc - Sets the source reference on Chart Studio Cloud for - `radius`. - reversescale - Reverses the color mapping if true. If true, `zmin` - will correspond to the last color in the array and - `zmax` will correspond to the first color. + orientation + Sets the orientation of the funnels. With "v" ("h"), + the value of the each bar spans along the vertical + (horizontal). By default funnels are tend to be + oriented horizontally; unless only "y" array is + presented or orientation is set to "v". Also regarding + graphs including only 'horizontal' funnels, "autorange" + on the "y-axis" are set to "reversed". + outsidetextfont + Sets the font used for `text` lying outside the bar. + selectedpoints + Array containing integer indices of selected points. + Has an effect only for traces that support selections. + Note that an empty array means an empty selection where + the `unselected` are turned on for all points, whereas, + any other non-array values means no selection all where + the `selected` and `unselected` styles have no effect. showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - showscale - Determines whether or not a colorbar is displayed for - this trace. - stream - :class:`plotly.graph_objects.densitymap.Stream` - instance or dict with compatible properties - subplot - Sets a reference between this trace's data coordinates - and a map subplot. If "map" (the default value), the - data refer to `layout.map`. If "map2", the data refer - to `layout.map2`, and so on. - text - Sets text elements associated with each (lon,lat) pair - If a single string, the same string appears over all - the data points. If an array of string, the items are - mapped in order to the this trace's (lon,lat) - coordinates. If trace `hoverinfo` contains a "text" - flag and "hovertext" is not set, these elements will be - seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. - uid - Assign an id to this trace, Use this to provide object - constancy between traces during animations and - transitions. - uirevision - Controls persistence of some user-driven changes to the - trace: `constraintrange` in `parcoords` traces, as well - as some `editable: true` modifications such as `name` - and `colorbar.title`. Defaults to `layout.uirevision`. - Note that other user-driven trace attribute changes are - controlled by `layout` attributes: `trace.visible` is - controlled by `layout.legend.uirevision`, - `selectedpoints` is controlled by - `layout.selectionrevision`, and `colorbar.(x|y)` - (accessible with `config: {editable: true}`) is - controlled by `layout.editrevision`. Trace changes are - tracked by `uid`, which only falls back on trace index - if no `uid` is provided. So if your app can add/remove - traces before the end of the `data` array, such that - the same trace has a different index, you can still - preserve user-driven changes if you give each trace a - `uid` that stays with it as it moves. - visible - Determines whether or not this trace is visible. If - "legendonly", the trace is not drawn, but can appear as - a legend item (provided that the legend itself is - visible). - z - Sets the points' weight. For example, a value of 10 - would be equivalent to having 10 points of weight 1 in - the same spot - zauto - Determines whether or not the color domain is computed - with respect to the input data (here in `z`) or the - bounds set in `zmin` and `zmax` Defaults to `false` - when `zmin` and `zmax` are set by the user. - zmax - Sets the upper bound of the color domain. Value should - have the same units as in `z` and if set, `zmin` must - be set as well. - zmid - Sets the mid-point of the color domain by scaling - `zmin` and/or `zmax` to be equidistant to this point. - Value should have the same units as in `z`. Has no - effect when `zauto` is `false`. - zmin - Sets the lower bound of the color domain. Value should - have the same units as in `z` and if set, `zmax` must - be set as well. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. - row : 'all', int or None (default) - Subplot row index (starting from 1) for the trace to be - added. Only valid if figure was created using - `plotly.tools.make_subplots`.If 'all', addresses all - rows in the specified column(s). - col : 'all', int or None (default) - Subplot col index (starting from 1) for the trace to be - added. Only valid if figure was created using - `plotly.tools.make_subplots`.If 'all', addresses all - columns in the specified row(s). - - Returns - ------- - FigureWidget - """ - from plotly.graph_objs import Densitymap - - new_trace = Densitymap( - autocolorscale=autocolorscale, - below=below, - coloraxis=coloraxis, - colorbar=colorbar, - colorscale=colorscale, - customdata=customdata, - customdatasrc=customdatasrc, - hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, - hoverlabel=hoverlabel, - hovertemplate=hovertemplate, - hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, - hovertext=hovertext, - hovertextsrc=hovertextsrc, - ids=ids, - idssrc=idssrc, - lat=lat, - latsrc=latsrc, - legend=legend, - legendgroup=legendgroup, - legendgrouptitle=legendgrouptitle, - legendrank=legendrank, - legendwidth=legendwidth, - lon=lon, - lonsrc=lonsrc, - meta=meta, - metasrc=metasrc, - name=name, - opacity=opacity, - radius=radius, - radiussrc=radiussrc, - reversescale=reversescale, - showlegend=showlegend, - showscale=showscale, - stream=stream, - subplot=subplot, - text=text, - textsrc=textsrc, - uid=uid, - uirevision=uirevision, - visible=visible, - z=z, - zauto=zauto, - zmax=zmax, - zmid=zmid, - zmin=zmin, - zsrc=zsrc, - **kwargs, - ) - return self.add_trace(new_trace, row=row, col=col) - - def add_densitymapbox( - self, - autocolorscale=None, - below=None, - coloraxis=None, - colorbar=None, - colorscale=None, - customdata=None, - customdatasrc=None, - hoverinfo=None, - hoverinfosrc=None, - hoverlabel=None, - hovertemplate=None, - hovertemplatefallback=None, - hovertemplatesrc=None, - hovertext=None, - hovertextsrc=None, - ids=None, - idssrc=None, - lat=None, - latsrc=None, - legend=None, - legendgroup=None, - legendgrouptitle=None, - legendrank=None, - legendwidth=None, - lon=None, - lonsrc=None, - meta=None, - metasrc=None, - name=None, - opacity=None, - radius=None, - radiussrc=None, - reversescale=None, - showlegend=None, - showscale=None, - stream=None, - subplot=None, - text=None, - textsrc=None, - uid=None, - uirevision=None, - visible=None, - z=None, - zauto=None, - zmax=None, - zmid=None, - zmin=None, - zsrc=None, - row=None, - col=None, - **kwargs, - ) -> "FigureWidget": - """ - Add a new Densitymapbox trace - - "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/ Draws a - bivariate kernel density estimation with a Gaussian kernel from - `lon` and `lat` coordinates and optional `z` values using a - colorscale. - - Parameters - ---------- - autocolorscale - Determines whether the colorscale is a default palette - (`autocolorscale: true`) or the palette determined by - `colorscale`. In case `colorscale` is unspecified or - `autocolorscale` is true, the default palette will be - chosen according to whether numbers in the `color` - array are all positive, all negative or mixed. - below - Determines if the densitymapbox trace will be inserted - before the layer with the specified ID. By default, - densitymapbox traces are placed below the first layer - of type symbol If set to '', the layer will be inserted - above every existing layer. - coloraxis - Sets a reference to a shared color axis. References to - these shared color axes are "coloraxis", "coloraxis2", - "coloraxis3", etc. Settings for these shared color axes - are set in the layout, under `layout.coloraxis`, - `layout.coloraxis2`, etc. Note that multiple color - scales can be linked to the same color axis. - colorbar - :class:`plotly.graph_objects.densitymapbox.ColorBar` - instance or dict with compatible properties - colorscale - Sets the colorscale. The colorscale must be an array - containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - customdata - Assigns extra data each datum. This may be useful when - listening to hover, click and selection events. Note - that, "scatter" traces also appends customdata items in - the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - hoverlabel - :class:`plotly.graph_objects.densitymapbox.Hoverlabel` - instance or dict with compatible properties - hovertemplate - Template string used for rendering the information that - appear on hover box. Note that this will override - `hoverinfo`. Variables are inserted using %{variable}, - for example "y: %{y}" as well as %{xother}, {%_xother}, - {%_xother_}, {%xother_}. When showing info for several - points, "xother" will be added to those with different - x positions from the first point. An underscore before - or after "(x|y)other" will add a space on that side, - only when this field is shown. Numbers are formatted - using d3-format's syntax %{variable:d3-format}, for - example "Price: %{y:$.2f}". - https://github.com/d3/d3-format/tree/v1.4.5#d3-format - for details on the formatting syntax. Dates are - formatted using d3-time-format's syntax - %{variable|d3-time-format}, for example "Day: - %{2019-01-01|%A}". https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format for details on the - date formatting syntax. Variables that can't be found - will be replaced with the specifier. For example, a - template of "data: %{x}, %{y}" will result in a value - of "data: 1, %{y}" if x is 1 and y is missing. - Variables with an undefined value will be replaced with - the fallback value. The variables available in - `hovertemplate` are the ones emitted as event data - described at this link - https://plotly.com/javascript/plotlyjs-events/#event- - data. Additionally, all attributes that can be - specified per-point (the ones that are `arrayOk: true`) - are available. Anything contained in tag `` is - displayed in the secondary box, for example - `%{fullData.name}`. To hide the - secondary box completely, use an empty tag - ``. - hovertemplatefallback - Fallback string that's displayed when a variable - referenced in a template is missing. If the boolean - value 'false' is passed in, the specifier with the - missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - hovertext - Sets hover text elements associated with each (lon,lat) - pair If a single string, the same string appears over - all the data points. If an array of string, the items - are mapped in order to the this trace's (lon,lat) - coordinates. To be seen, trace `hoverinfo` must contain - a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. - ids - Assigns id labels to each datum. These ids for object - constancy of data points during animation. Should be an - array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. - lat - Sets the latitude coordinates (in degrees North). - latsrc - Sets the source reference on Chart Studio Cloud for - `lat`. - legend - Sets the reference to a legend to show this trace in. - References to these legends are "legend", "legend2", - "legend3", etc. Settings for these legends are set in - the layout, under `layout.legend`, `layout.legend2`, - etc. - legendgroup - Sets the legend group for this trace. Traces and shapes - part of the same legend group hide/show at the same - time when toggling legend items. - legendgrouptitle - :class:`plotly.graph_objects.densitymapbox.Legendgroupt - itle` instance or dict with compatible properties - legendrank - Sets the legend rank for this trace. Items and groups - with smaller ranks are presented on top/left side while - with "reversed" `legend.traceorder` they are on - bottom/right side. The default legendrank is 1000, so - that you can use ranks less than 1000 to place certain - items before all unranked items, and ranks greater than - 1000 to go after all unranked items. When having - unranked or equal rank items shapes would be displayed - after traces i.e. according to their order in data and - layout. - legendwidth - Sets the width (in px or fraction) of the legend for - this trace. - lon - Sets the longitude coordinates (in degrees East). - lonsrc - Sets the source reference on Chart Studio Cloud for - `lon`. - meta - Assigns extra meta information associated with this - trace that can be used in various text attributes. - Attributes such as trace `name`, graph, axis and - colorbar `title.text`, annotation `text` - `rangeselector`, `updatemenues` and `sliders` `label` - text all support `meta`. To access the trace `meta` - values in an attribute in the same trace, simply use - `%{meta[i]}` where `i` is the index or key of the - `meta` item in question. To access trace `meta` in - layout attributes, use `%{data[n[.meta[i]}` where `i` - is the index or key of the `meta` and `n` is the trace - index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. - name - Sets the trace name. The trace name appears as the - legend item and on hover. - opacity - Sets the opacity of the trace. - radius - Sets the radius of influence of one `lon` / `lat` point - in pixels. Increasing the value makes the densitymapbox - trace smoother, but less detailed. - radiussrc - Sets the source reference on Chart Studio Cloud for - `radius`. - reversescale - Reverses the color mapping if true. If true, `zmin` - will correspond to the last color in the array and - `zmax` will correspond to the first color. - showlegend - Determines whether or not an item corresponding to this - trace is shown in the legend. - showscale - Determines whether or not a colorbar is displayed for - this trace. - stream - :class:`plotly.graph_objects.densitymapbox.Stream` - instance or dict with compatible properties - subplot - mapbox subplots and traces are deprecated! Please - consider switching to `map` subplots and traces. Learn - more at: https://plotly.com/python/maplibre-migration/ - as well as https://plotly.com/javascript/maplibre- - migration/ Sets a reference between this trace's data - coordinates and a mapbox subplot. If "mapbox" (the - default value), the data refer to `layout.mapbox`. If - "mapbox2", the data refer to `layout.mapbox2`, and so - on. - text - Sets text elements associated with each (lon,lat) pair - If a single string, the same string appears over all - the data points. If an array of string, the items are - mapped in order to the this trace's (lon,lat) - coordinates. If trace `hoverinfo` contains a "text" - flag and "hovertext" is not set, these elements will be - seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. - uid - Assign an id to this trace, Use this to provide object - constancy between traces during animations and - transitions. - uirevision - Controls persistence of some user-driven changes to the - trace: `constraintrange` in `parcoords` traces, as well - as some `editable: true` modifications such as `name` - and `colorbar.title`. Defaults to `layout.uirevision`. - Note that other user-driven trace attribute changes are - controlled by `layout` attributes: `trace.visible` is - controlled by `layout.legend.uirevision`, - `selectedpoints` is controlled by - `layout.selectionrevision`, and `colorbar.(x|y)` - (accessible with `config: {editable: true}`) is - controlled by `layout.editrevision`. Trace changes are - tracked by `uid`, which only falls back on trace index - if no `uid` is provided. So if your app can add/remove - traces before the end of the `data` array, such that - the same trace has a different index, you can still - preserve user-driven changes if you give each trace a - `uid` that stays with it as it moves. - visible - Determines whether or not this trace is visible. If - "legendonly", the trace is not drawn, but can appear as - a legend item (provided that the legend itself is - visible). - z - Sets the points' weight. For example, a value of 10 - would be equivalent to having 10 points of weight 1 in - the same spot - zauto - Determines whether or not the color domain is computed - with respect to the input data (here in `z`) or the - bounds set in `zmin` and `zmax` Defaults to `false` - when `zmin` and `zmax` are set by the user. - zmax - Sets the upper bound of the color domain. Value should - have the same units as in `z` and if set, `zmin` must - be set as well. - zmid - Sets the mid-point of the color domain by scaling - `zmin` and/or `zmax` to be equidistant to this point. - Value should have the same units as in `z`. Has no - effect when `zauto` is `false`. - zmin - Sets the lower bound of the color domain. Value should - have the same units as in `z` and if set, `zmax` must - be set as well. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. - row : 'all', int or None (default) - Subplot row index (starting from 1) for the trace to be - added. Only valid if figure was created using - `plotly.tools.make_subplots`.If 'all', addresses all - rows in the specified column(s). - col : 'all', int or None (default) - Subplot col index (starting from 1) for the trace to be - added. Only valid if figure was created using - `plotly.tools.make_subplots`.If 'all', addresses all - columns in the specified row(s). - - Returns - ------- - FigureWidget - """ - from plotly.graph_objs import Densitymapbox - - new_trace = Densitymapbox( - autocolorscale=autocolorscale, - below=below, - coloraxis=coloraxis, - colorbar=colorbar, - colorscale=colorscale, - customdata=customdata, - customdatasrc=customdatasrc, - hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, - hoverlabel=hoverlabel, - hovertemplate=hovertemplate, - hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, - hovertext=hovertext, - hovertextsrc=hovertextsrc, - ids=ids, - idssrc=idssrc, - lat=lat, - latsrc=latsrc, - legend=legend, - legendgroup=legendgroup, - legendgrouptitle=legendgrouptitle, - legendrank=legendrank, - legendwidth=legendwidth, - lon=lon, - lonsrc=lonsrc, - meta=meta, - metasrc=metasrc, - name=name, - opacity=opacity, - radius=radius, - radiussrc=radiussrc, - reversescale=reversescale, - showlegend=showlegend, - showscale=showscale, - stream=stream, - subplot=subplot, - text=text, - textsrc=textsrc, - uid=uid, - uirevision=uirevision, - visible=visible, - z=z, - zauto=zauto, - zmax=zmax, - zmid=zmid, - zmin=zmin, - zsrc=zsrc, - **kwargs, - ) - return self.add_trace(new_trace, row=row, col=col) - - def add_funnel( - self, - alignmentgroup=None, - cliponaxis=None, - connector=None, - constraintext=None, - customdata=None, - customdatasrc=None, - dx=None, - dy=None, - hoverinfo=None, - hoverinfosrc=None, - hoverlabel=None, - hovertemplate=None, - hovertemplatefallback=None, - hovertemplatesrc=None, - hovertext=None, - hovertextsrc=None, - ids=None, - idssrc=None, - insidetextanchor=None, - insidetextfont=None, - legend=None, - legendgroup=None, - legendgrouptitle=None, - legendrank=None, - legendwidth=None, - marker=None, - meta=None, - metasrc=None, - name=None, - offset=None, - offsetgroup=None, - opacity=None, - orientation=None, - outsidetextfont=None, - selectedpoints=None, - showlegend=None, - stream=None, - text=None, - textangle=None, - textfont=None, - textinfo=None, - textposition=None, - textpositionsrc=None, - textsrc=None, - texttemplate=None, - texttemplatefallback=None, - texttemplatesrc=None, - uid=None, - uirevision=None, - visible=None, - width=None, - x=None, - x0=None, - xaxis=None, - xhoverformat=None, - xperiod=None, - xperiod0=None, - xperiodalignment=None, - xsrc=None, - y=None, - y0=None, - yaxis=None, - yhoverformat=None, - yperiod=None, - yperiod0=None, - yperiodalignment=None, - ysrc=None, - zorder=None, - row=None, - col=None, - secondary_y=None, - **kwargs, - ) -> "FigureWidget": - """ - Add a new Funnel trace - - Visualize stages in a process using length-encoded bars. This - trace can be used to show data in either a part-to-whole - representation wherein each item appears in a single stage, or - in a "drop-off" representation wherein each item appears in - each stage it traversed. See also the "funnelarea" trace type - for a different approach to visualizing funnel data. - - Parameters - ---------- - alignmentgroup - Set several traces linked to the same position axis or - matching axes to the same alignmentgroup. This controls - whether bars compute their positional range dependently - or independently. - cliponaxis - Determines whether the text nodes are clipped about the - subplot axes. To show the text nodes above axis lines - and tick labels, make sure to set `xaxis.layer` and - `yaxis.layer` to *below traces*. - connector - :class:`plotly.graph_objects.funnel.Connector` instance - or dict with compatible properties - constraintext - Constrain the size of text inside or outside a bar to - be no larger than the bar itself. - customdata - Assigns extra data each datum. This may be useful when - listening to hover, click and selection events. Note - that, "scatter" traces also appends customdata items in - the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - dx - Sets the x coordinate step. See `x0` for more info. - dy - Sets the y coordinate step. See `y0` for more info. - hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - hoverlabel - :class:`plotly.graph_objects.funnel.Hoverlabel` - instance or dict with compatible properties - hovertemplate - Template string used for rendering the information that - appear on hover box. Note that this will override - `hoverinfo`. Variables are inserted using %{variable}, - for example "y: %{y}" as well as %{xother}, {%_xother}, - {%_xother_}, {%xother_}. When showing info for several - points, "xother" will be added to those with different - x positions from the first point. An underscore before - or after "(x|y)other" will add a space on that side, - only when this field is shown. Numbers are formatted - using d3-format's syntax %{variable:d3-format}, for - example "Price: %{y:$.2f}". - https://github.com/d3/d3-format/tree/v1.4.5#d3-format - for details on the formatting syntax. Dates are - formatted using d3-time-format's syntax - %{variable|d3-time-format}, for example "Day: - %{2019-01-01|%A}". https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format for details on the - date formatting syntax. Variables that can't be found - will be replaced with the specifier. For example, a - template of "data: %{x}, %{y}" will result in a value - of "data: 1, %{y}" if x is 1 and y is missing. - Variables with an undefined value will be replaced with - the fallback value. The variables available in - `hovertemplate` are the ones emitted as event data - described at this link - https://plotly.com/javascript/plotlyjs-events/#event- - data. Additionally, all attributes that can be - specified per-point (the ones that are `arrayOk: true`) - are available. Finally, the template string has access - to variables `percentInitial`, `percentPrevious` and - `percentTotal`. Anything contained in tag `` is - displayed in the secondary box, for example - `%{fullData.name}`. To hide the - secondary box completely, use an empty tag - ``. - hovertemplatefallback - Fallback string that's displayed when a variable - referenced in a template is missing. If the boolean - value 'false' is passed in, the specifier with the - missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - hovertext - Sets hover text elements associated with each (x,y) - pair. If a single string, the same string appears over - all the data points. If an array of string, the items - are mapped in order to the this trace's (x,y) - coordinates. To be seen, trace `hoverinfo` must contain - a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. - ids - Assigns id labels to each datum. These ids for object - constancy of data points during animation. Should be an - array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. - insidetextanchor - Determines if texts are kept at center or start/end - points in `textposition` "inside" mode. - insidetextfont - Sets the font used for `text` lying inside the bar. - legend - Sets the reference to a legend to show this trace in. - References to these legends are "legend", "legend2", - "legend3", etc. Settings for these legends are set in - the layout, under `layout.legend`, `layout.legend2`, - etc. - legendgroup - Sets the legend group for this trace. Traces and shapes - part of the same legend group hide/show at the same - time when toggling legend items. - legendgrouptitle - :class:`plotly.graph_objects.funnel.Legendgrouptitle` - instance or dict with compatible properties - legendrank - Sets the legend rank for this trace. Items and groups - with smaller ranks are presented on top/left side while - with "reversed" `legend.traceorder` they are on - bottom/right side. The default legendrank is 1000, so - that you can use ranks less than 1000 to place certain - items before all unranked items, and ranks greater than - 1000 to go after all unranked items. When having - unranked or equal rank items shapes would be displayed - after traces i.e. according to their order in data and - layout. - legendwidth - Sets the width (in px or fraction) of the legend for - this trace. - marker - :class:`plotly.graph_objects.funnel.Marker` instance or - dict with compatible properties - meta - Assigns extra meta information associated with this - trace that can be used in various text attributes. - Attributes such as trace `name`, graph, axis and - colorbar `title.text`, annotation `text` - `rangeselector`, `updatemenues` and `sliders` `label` - text all support `meta`. To access the trace `meta` - values in an attribute in the same trace, simply use - `%{meta[i]}` where `i` is the index or key of the - `meta` item in question. To access trace `meta` in - layout attributes, use `%{data[n[.meta[i]}` where `i` - is the index or key of the `meta` and `n` is the trace - index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. - name - Sets the trace name. The trace name appears as the - legend item and on hover. - offset - Shifts the position where the bar is drawn (in position - axis units). In "group" barmode, traces that set - "offset" will be excluded and drawn in "overlay" mode - instead. - offsetgroup - Set several traces linked to the same position axis or - matching axes to the same offsetgroup where bars of the - same position coordinate will line up. - opacity - Sets the opacity of the trace. - orientation - Sets the orientation of the funnels. With "v" ("h"), - the value of the each bar spans along the vertical - (horizontal). By default funnels are tend to be - oriented horizontally; unless only "y" array is - presented or orientation is set to "v". Also regarding - graphs including only 'horizontal' funnels, "autorange" - on the "y-axis" are set to "reversed". - outsidetextfont - Sets the font used for `text` lying outside the bar. - selectedpoints - Array containing integer indices of selected points. - Has an effect only for traces that support selections. - Note that an empty array means an empty selection where - the `unselected` are turned on for all points, whereas, - any other non-array values means no selection all where - the `selected` and `unselected` styles have no effect. - showlegend - Determines whether or not an item corresponding to this - trace is shown in the legend. - stream - :class:`plotly.graph_objects.funnel.Stream` instance or - dict with compatible properties text Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the @@ -6810,9 +5303,12 @@ def add_funnel( textfont Sets the font used for `text`. textinfo - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. In the case of having multiple funnels, percentages & - totals are computed separately (per trace). + totals are computed separately (per trace). Flags are + rendered in a fixed order; use `texttemplate` if you + need explicit control over the rendered string, + including the order of fields and surrounding text. textposition Specifies the location of the `text`. "inside" positions `text` inside, next to the bar end (rotated @@ -6823,12 +5319,6 @@ def add_funnel( inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -6857,9 +5347,6 @@ def add_funnel( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -6901,7 +5388,7 @@ def add_funnel( x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -6929,9 +5416,6 @@ def add_funnel( xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates. y0 @@ -6944,7 +5428,7 @@ def add_funnel( y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -6972,9 +5456,6 @@ def add_funnel( yperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -7013,19 +5494,14 @@ def add_funnel( connector=connector, constraintext=constraintext, customdata=customdata, - customdatasrc=customdatasrc, dx=dx, dy=dy, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, insidetextanchor=insidetextanchor, insidetextfont=insidetextfont, legend=legend, @@ -7035,7 +5511,6 @@ def add_funnel( legendwidth=legendwidth, marker=marker, meta=meta, - metasrc=metasrc, name=name, offset=offset, offsetgroup=offsetgroup, @@ -7044,17 +5519,13 @@ def add_funnel( outsidetextfont=outsidetextfont, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, text=text, textangle=textangle, textfont=textfont, textinfo=textinfo, textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, uid=uid, uirevision=uirevision, visible=visible, @@ -7066,7 +5537,6 @@ def add_funnel( xperiod=xperiod, xperiod0=xperiod0, xperiodalignment=xperiodalignment, - xsrc=xsrc, y=y, y0=y0, yaxis=yaxis, @@ -7074,7 +5544,6 @@ def add_funnel( yperiod=yperiod, yperiod0=yperiod0, yperiodalignment=yperiodalignment, - ysrc=ysrc, zorder=zorder, **kwargs, ) @@ -7085,23 +5554,17 @@ def add_funnelarea( aspectratio=None, baseratio=None, customdata=None, - customdatasrc=None, dlabel=None, domain=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, insidetextfont=None, label0=None, labels=None, - labelssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -7109,26 +5572,20 @@ def add_funnelarea( legendwidth=None, marker=None, meta=None, - metasrc=None, name=None, opacity=None, scalegroup=None, showlegend=None, - stream=None, text=None, textfont=None, textinfo=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, title=None, uid=None, uirevision=None, values=None, - valuessrc=None, visible=None, row=None, col=None, @@ -7155,22 +5612,17 @@ def add_funnelarea( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dlabel Sets the label step. See `label0` for more info. domain :class:`plotly.graph_objects.funnelarea.Domain` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. + Determines what trace information appears on hover. + Flags are rendered in a fixed order; use + `hovertemplate` if you need explicit control over the + rendered string, including the order of fields and + surrounding text. hoverlabel :class:`plotly.graph_objects.funnelarea.Hoverlabel` instance or dict with compatible properties @@ -7215,25 +5667,16 @@ def add_funnelarea( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextfont Sets the font used for `textinfo` lying inside the sector. @@ -7247,9 +5690,6 @@ def add_funnelarea( occurrences if `values` is not provided. For other array attributes (including color) we use the first non-empty entry among all occurrences of the label. - labelssrc - Sets the source reference on Chart Studio Cloud for - `labels`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -7293,9 +5733,6 @@ def add_funnelarea( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -7309,9 +5746,6 @@ def add_funnelarea( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.funnelarea.Stream` - instance or dict with compatible properties text Sets text elements associated with each sector. If trace `textinfo` contains a "text" flag, these elements @@ -7321,15 +5755,12 @@ def add_funnelarea( textfont Sets the font used for `textinfo`. textinfo - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. + Flags are rendered in a fixed order; use `texttemplate` + if you need explicit control over the rendered string, + including the order of fields and surrounding text. textposition Specifies the location of the `textinfo`. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -7358,9 +5789,6 @@ def add_funnelarea( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. title :class:`plotly.graph_objects.funnelarea.Title` instance or dict with compatible properties @@ -7389,9 +5817,6 @@ def add_funnelarea( values Sets the values of the sectors. If omitted, we count occurrences of each label. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -7418,23 +5843,17 @@ def add_funnelarea( aspectratio=aspectratio, baseratio=baseratio, customdata=customdata, - customdatasrc=customdatasrc, dlabel=dlabel, domain=domain, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, insidetextfont=insidetextfont, label0=label0, labels=labels, - labelssrc=labelssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -7442,26 +5861,20 @@ def add_funnelarea( legendwidth=legendwidth, marker=marker, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, scalegroup=scalegroup, showlegend=showlegend, - stream=stream, text=text, textfont=textfont, textinfo=textinfo, textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, title=title, uid=uid, uirevision=uirevision, values=values, - valuessrc=valuessrc, visible=visible, **kwargs, ) @@ -7475,36 +5888,28 @@ def add_heatmap( colorscale=None, connectgaps=None, customdata=None, - customdatasrc=None, dx=None, dy=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hoverongaps=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, legendrank=None, legendwidth=None, meta=None, - metasrc=None, name=None, opacity=None, reversescale=None, showlegend=None, showscale=None, - stream=None, text=None, textfont=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, transpose=None, @@ -7520,7 +5925,6 @@ def add_heatmap( xperiod=None, xperiod0=None, xperiodalignment=None, - xsrc=None, xtype=None, y=None, y0=None, @@ -7531,7 +5935,6 @@ def add_heatmap( yperiod=None, yperiod0=None, yperiodalignment=None, - ysrc=None, ytype=None, z=None, zauto=None, @@ -7541,7 +5944,6 @@ def add_heatmap( zmin=None, zorder=None, zsmooth=None, - zsrc=None, row=None, col=None, secondary_y=None, @@ -7590,15 +5992,15 @@ def add_heatmap( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. connectgaps Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in. It is defaulted @@ -7609,21 +6011,15 @@ def add_heatmap( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dx Sets the x coordinate step. See `x0` for more info. dy Sets the y coordinate step. See `y0` for more info. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.heatmap.Hoverlabel` instance or dict with compatible properties @@ -7670,21 +6066,12 @@ def add_heatmap( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -7725,9 +6112,6 @@ def add_heatmap( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -7743,16 +6127,10 @@ def add_heatmap( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.heatmap.Stream` instance - or dict with compatible properties text Sets the text elements associated with each z value. textfont Sets the text font. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -7825,7 +6203,7 @@ def add_heatmap( xgap Sets the horizontal gap (in pixels) between bricks. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -7853,9 +6231,6 @@ def add_heatmap( xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. xtype If "array", the heatmap's x coordinates are given by "x" (the default behavior when `x` is provided). If @@ -7878,7 +6253,7 @@ def add_heatmap( ygap Sets the vertical gap (in pixels) between bricks. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -7906,9 +6281,6 @@ def add_heatmap( yperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. ytype If "array", the heatmap's y coordinates are given by "y" (the default behavior when `y` is provided) If @@ -7923,7 +6295,7 @@ def add_heatmap( bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values @@ -7948,9 +6320,6 @@ def add_heatmap( with lower `zorder`. zsmooth Picks a smoothing algorithm use to smooth `z` data. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -7985,36 +6354,28 @@ def add_heatmap( colorscale=colorscale, connectgaps=connectgaps, customdata=customdata, - customdatasrc=customdatasrc, dx=dx, dy=dy, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hoverongaps=hoverongaps, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, reversescale=reversescale, showlegend=showlegend, showscale=showscale, - stream=stream, text=text, textfont=textfont, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, transpose=transpose, @@ -8030,7 +6391,6 @@ def add_heatmap( xperiod=xperiod, xperiod0=xperiod0, xperiodalignment=xperiodalignment, - xsrc=xsrc, xtype=xtype, y=y, y0=y0, @@ -8041,7 +6401,6 @@ def add_heatmap( yperiod=yperiod, yperiod0=yperiod0, yperiodalignment=yperiodalignment, - ysrc=ysrc, ytype=ytype, z=z, zauto=zauto, @@ -8051,7 +6410,6 @@ def add_heatmap( zmin=zmin, zorder=zorder, zsmooth=zsmooth, - zsrc=zsrc, **kwargs, ) return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) @@ -8066,21 +6424,16 @@ def add_histogram( constraintext=None, cumulative=None, customdata=None, - customdatasrc=None, error_x=None, error_y=None, histfunc=None, histnorm=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, insidetextanchor=None, insidetextfont=None, legend=None, @@ -8090,7 +6443,6 @@ def add_histogram( legendwidth=None, marker=None, meta=None, - metasrc=None, name=None, nbinsx=None, nbinsy=None, @@ -8101,12 +6453,10 @@ def add_histogram( selected=None, selectedpoints=None, showlegend=None, - stream=None, text=None, textangle=None, textfont=None, textposition=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, uid=None, @@ -8118,13 +6468,11 @@ def add_histogram( xbins=None, xcalendar=None, xhoverformat=None, - xsrc=None, y=None, yaxis=None, ybins=None, ycalendar=None, yhoverformat=None, - ysrc=None, zorder=None, row=None, col=None, @@ -8184,9 +6532,6 @@ def add_histogram( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. error_x :class:`plotly.graph_objects.histogram.ErrorX` instance or dict with compatible properties @@ -8219,13 +6564,10 @@ def add_histogram( corresponding bin (here, the sum of all bin AREAS equals 1). hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.histogram.Hoverlabel` instance or dict with compatible properties @@ -8269,21 +6611,12 @@ def add_histogram( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextanchor Determines if texts are kept at center or start/end points in `textposition` "inside" mode. @@ -8332,9 +6665,6 @@ def add_histogram( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -8375,9 +6705,6 @@ def add_histogram( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.histogram.Stream` instance - or dict with compatible properties text Sets hover text elements associated with each bar. If a single string, the same string appears over all bars. @@ -8401,9 +6728,6 @@ def add_histogram( inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -8474,7 +6798,7 @@ def add_histogram( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -8486,9 +6810,6 @@ def add_histogram( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the sample data to be binned on the y axis. yaxis @@ -8502,7 +6823,7 @@ def add_histogram( ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -8514,9 +6835,6 @@ def add_histogram( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -8558,21 +6876,16 @@ def add_histogram( constraintext=constraintext, cumulative=cumulative, customdata=customdata, - customdatasrc=customdatasrc, error_x=error_x, error_y=error_y, histfunc=histfunc, histnorm=histnorm, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, insidetextanchor=insidetextanchor, insidetextfont=insidetextfont, legend=legend, @@ -8582,7 +6895,6 @@ def add_histogram( legendwidth=legendwidth, marker=marker, meta=meta, - metasrc=metasrc, name=name, nbinsx=nbinsx, nbinsy=nbinsy, @@ -8593,12 +6905,10 @@ def add_histogram( selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, text=text, textangle=textangle, textfont=textfont, textposition=textposition, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, uid=uid, @@ -8610,13 +6920,11 @@ def add_histogram( xbins=xbins, xcalendar=xcalendar, xhoverformat=xhoverformat, - xsrc=xsrc, y=y, yaxis=yaxis, ybins=ybins, ycalendar=ycalendar, yhoverformat=yhoverformat, - ysrc=ysrc, zorder=zorder, **kwargs, ) @@ -8632,17 +6940,13 @@ def add_histogram2d( colorbar=None, colorscale=None, customdata=None, - customdatasrc=None, histfunc=None, histnorm=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -8650,7 +6954,6 @@ def add_histogram2d( legendwidth=None, marker=None, meta=None, - metasrc=None, name=None, nbinsx=None, nbinsy=None, @@ -8658,7 +6961,6 @@ def add_histogram2d( reversescale=None, showlegend=None, showscale=None, - stream=None, textfont=None, texttemplate=None, texttemplatefallback=None, @@ -8672,7 +6974,6 @@ def add_histogram2d( xcalendar=None, xgap=None, xhoverformat=None, - xsrc=None, y=None, yaxis=None, ybingroup=None, @@ -8680,7 +6981,6 @@ def add_histogram2d( ycalendar=None, ygap=None, yhoverformat=None, - ysrc=None, z=None, zauto=None, zhoverformat=None, @@ -8688,7 +6988,6 @@ def add_histogram2d( zmid=None, zmin=None, zsmooth=None, - zsrc=None, row=None, col=None, secondary_y=None, @@ -8743,23 +7042,20 @@ def add_histogram2d( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. histfunc Specifies the binning function used for this histogram trace. If "count", the histogram values are computed by @@ -8786,13 +7082,10 @@ def add_histogram2d( corresponding bin (here, the sum of all bin AREAS equals 1). hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.histogram2d.Hoverlabel` instance or dict with compatible properties @@ -8836,16 +7129,10 @@ def add_histogram2d( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -8889,9 +7176,6 @@ def add_histogram2d( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -8919,9 +7203,6 @@ def add_histogram2d( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.histogram2d.Stream` - instance or dict with compatible properties textfont Sets the text font. texttemplate @@ -9000,7 +7281,7 @@ def add_histogram2d( xgap Sets the horizontal gap (in pixels) between bricks. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -9012,9 +7293,6 @@ def add_histogram2d( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the sample data to be binned on the y axis. yaxis @@ -9037,7 +7315,7 @@ def add_histogram2d( ygap Sets the vertical gap (in pixels) between bricks. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -9049,9 +7327,6 @@ def add_histogram2d( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the aggregation data. zauto @@ -9060,7 +7335,7 @@ def add_histogram2d( bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values @@ -9080,9 +7355,6 @@ def add_histogram2d( be set as well. zsmooth Picks a smoothing algorithm use to smooth `z` data. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -9119,17 +7391,13 @@ def add_histogram2d( colorbar=colorbar, colorscale=colorscale, customdata=customdata, - customdatasrc=customdatasrc, histfunc=histfunc, histnorm=histnorm, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -9137,7 +7405,6 @@ def add_histogram2d( legendwidth=legendwidth, marker=marker, meta=meta, - metasrc=metasrc, name=name, nbinsx=nbinsx, nbinsy=nbinsy, @@ -9145,7 +7412,6 @@ def add_histogram2d( reversescale=reversescale, showlegend=showlegend, showscale=showscale, - stream=stream, textfont=textfont, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, @@ -9159,7 +7425,6 @@ def add_histogram2d( xcalendar=xcalendar, xgap=xgap, xhoverformat=xhoverformat, - xsrc=xsrc, y=y, yaxis=yaxis, ybingroup=ybingroup, @@ -9167,7 +7432,6 @@ def add_histogram2d( ycalendar=ycalendar, ygap=ygap, yhoverformat=yhoverformat, - ysrc=ysrc, z=z, zauto=zauto, zhoverformat=zhoverformat, @@ -9175,7 +7439,6 @@ def add_histogram2d( zmid=zmid, zmin=zmin, zsmooth=zsmooth, - zsrc=zsrc, **kwargs, ) return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) @@ -9192,17 +7455,13 @@ def add_histogram2dcontour( colorscale=None, contours=None, customdata=None, - customdatasrc=None, histfunc=None, histnorm=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -9211,7 +7470,6 @@ def add_histogram2dcontour( line=None, marker=None, meta=None, - metasrc=None, name=None, nbinsx=None, nbinsy=None, @@ -9220,7 +7478,6 @@ def add_histogram2dcontour( reversescale=None, showlegend=None, showscale=None, - stream=None, textfont=None, texttemplate=None, texttemplatefallback=None, @@ -9233,21 +7490,18 @@ def add_histogram2dcontour( xbins=None, xcalendar=None, xhoverformat=None, - xsrc=None, y=None, yaxis=None, ybingroup=None, ybins=None, ycalendar=None, yhoverformat=None, - ysrc=None, z=None, zauto=None, zhoverformat=None, zmax=None, zmid=None, zmin=None, - zsrc=None, row=None, col=None, secondary_y=None, @@ -9307,15 +7561,15 @@ def add_histogram2dcontour( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. contours :class:`plotly.graph_objects.histogram2dcontour.Contour s` instance or dict with compatible properties @@ -9324,9 +7578,6 @@ def add_histogram2dcontour( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. histfunc Specifies the binning function used for this histogram trace. If "count", the histogram values are computed by @@ -9353,13 +7604,10 @@ def add_histogram2dcontour( corresponding bin (here, the sum of all bin AREAS equals 1). hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.histogram2dcontour.Hoverla bel` instance or dict with compatible properties @@ -9403,16 +7651,10 @@ def add_histogram2dcontour( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -9459,9 +7701,6 @@ def add_histogram2dcontour( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -9495,9 +7734,6 @@ def add_histogram2dcontour( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.histogram2dcontour.Stream` - instance or dict with compatible properties textfont For this trace it only has an effect if `coloring` is set to "heatmap". Sets the text font. @@ -9576,7 +7812,7 @@ def add_histogram2dcontour( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -9588,9 +7824,6 @@ def add_histogram2dcontour( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the sample data to be binned on the y axis. yaxis @@ -9611,7 +7844,7 @@ def add_histogram2dcontour( ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -9623,9 +7856,6 @@ def add_histogram2dcontour( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the aggregation data. zauto @@ -9634,7 +7864,7 @@ def add_histogram2dcontour( bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values @@ -9652,9 +7882,6 @@ def add_histogram2dcontour( Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -9693,17 +7920,13 @@ def add_histogram2dcontour( colorscale=colorscale, contours=contours, customdata=customdata, - customdatasrc=customdatasrc, histfunc=histfunc, histnorm=histnorm, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -9712,7 +7935,6 @@ def add_histogram2dcontour( line=line, marker=marker, meta=meta, - metasrc=metasrc, name=name, nbinsx=nbinsx, nbinsy=nbinsy, @@ -9721,7 +7943,6 @@ def add_histogram2dcontour( reversescale=reversescale, showlegend=showlegend, showscale=showscale, - stream=stream, textfont=textfont, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, @@ -9734,21 +7955,18 @@ def add_histogram2dcontour( xbins=xbins, xcalendar=xcalendar, xhoverformat=xhoverformat, - xsrc=xsrc, y=y, yaxis=yaxis, ybingroup=ybingroup, ybins=ybins, ycalendar=ycalendar, yhoverformat=yhoverformat, - ysrc=ysrc, z=z, zauto=zauto, zhoverformat=zhoverformat, zmax=zmax, zmid=zmid, zmin=zmin, - zsrc=zsrc, **kwargs, ) return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) @@ -9758,21 +7976,15 @@ def add_icicle( branchvalues=None, count=None, customdata=None, - customdatasrc=None, domain=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, insidetextfont=None, labels=None, - labelssrc=None, leaf=None, legend=None, legendgrouptitle=None, @@ -9782,29 +7994,23 @@ def add_icicle( marker=None, maxdepth=None, meta=None, - metasrc=None, name=None, opacity=None, outsidetextfont=None, parents=None, - parentssrc=None, pathbar=None, root=None, sort=None, - stream=None, text=None, textfont=None, textinfo=None, textposition=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, tiling=None, uid=None, uirevision=None, values=None, - valuessrc=None, visible=None, row=None, col=None, @@ -9835,20 +8041,15 @@ def add_icicle( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. domain :class:`plotly.graph_objects.icicle.Domain` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. + Determines what trace information appears on hover. + Flags are rendered in a fixed order; use + `hovertemplate` if you need explicit control over the + rendered string, including the order of fields and + surrounding text. hoverlabel :class:`plotly.graph_objects.icicle.Hoverlabel` instance or dict with compatible properties @@ -9894,33 +8095,21 @@ def add_icicle( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextfont Sets the font used for `textinfo` lying inside the sector. labels Sets the labels of each of the sectors. - labelssrc - Sets the source reference on Chart Studio Cloud for - `labels`. leaf :class:`plotly.graph_objects.icicle.Leaf` instance or dict with compatible properties @@ -9973,9 +8162,6 @@ def add_icicle( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -9995,9 +8181,6 @@ def add_icicle( items are understood to be "ids" themselves. When `ids` is not set, plotly attempts to find matching items in `labels`, but beware they must be unique. - parentssrc - Sets the source reference on Chart Studio Cloud for - `parents`. pathbar :class:`plotly.graph_objects.icicle.Pathbar` instance or dict with compatible properties @@ -10007,9 +8190,6 @@ def add_icicle( sort Determines whether or not the sectors are reordered from largest to smallest. - stream - :class:`plotly.graph_objects.icicle.Stream` instance or - dict with compatible properties text Sets text elements associated with each sector. If trace `textinfo` contains a "text" flag, these elements @@ -10019,12 +8199,12 @@ def add_icicle( textfont Sets the font used for `textinfo`. textinfo - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. + Flags are rendered in a fixed order; use `texttemplate` + if you need explicit control over the rendered string, + including the order of fields and surrounding text. textposition Sets the positions of the `text` elements. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -10054,9 +8234,6 @@ def add_icicle( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. tiling :class:`plotly.graph_objects.icicle.Tiling` instance or dict with compatible properties @@ -10086,9 +8263,6 @@ def add_icicle( Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -10115,21 +8289,15 @@ def add_icicle( branchvalues=branchvalues, count=count, customdata=customdata, - customdatasrc=customdatasrc, domain=domain, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, insidetextfont=insidetextfont, labels=labels, - labelssrc=labelssrc, leaf=leaf, legend=legend, legendgrouptitle=legendgrouptitle, @@ -10139,29 +8307,23 @@ def add_icicle( marker=marker, maxdepth=maxdepth, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, outsidetextfont=outsidetextfont, parents=parents, - parentssrc=parentssrc, pathbar=pathbar, root=root, sort=sort, - stream=stream, text=text, textfont=textfont, textinfo=textinfo, textposition=textposition, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, tiling=tiling, uid=uid, uirevision=uirevision, values=values, - valuessrc=valuessrc, visible=visible, **kwargs, ) @@ -10171,31 +8333,23 @@ def add_image( self, colormodel=None, customdata=None, - customdatasrc=None, dx=None, dy=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgrouptitle=None, legendrank=None, legendwidth=None, meta=None, - metasrc=None, name=None, opacity=None, source=None, - stream=None, text=None, - textsrc=None, uid=None, uirevision=None, visible=None, @@ -10208,7 +8362,6 @@ def add_image( zmin=None, zorder=None, zsmooth=None, - zsrc=None, row=None, col=None, secondary_y=None, @@ -10236,21 +8389,15 @@ def add_image( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dx Set the pixel's horizontal size. dy Set the pixel's vertical size hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.image.Hoverlabel` instance or dict with compatible properties @@ -10295,21 +8442,12 @@ def add_image( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -10346,9 +8484,6 @@ def add_image( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -10358,14 +8493,8 @@ def add_image( Specifies the data URI of the image to be visualized. The URI consists of "data:image/[][;base64\\]," - stream - :class:`plotly.graph_objects.image.Stream` instance or - dict with compatible properties text Sets the text elements associated with each z value. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -10445,9 +8574,6 @@ def add_image( Picks a smoothing algorithm used to smooth `z` data. This only applies for image traces that use the `source` attribute. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -10478,31 +8604,23 @@ def add_image( new_trace = Image( colormodel=colormodel, customdata=customdata, - customdatasrc=customdatasrc, dx=dx, dy=dy, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, source=source, - stream=stream, text=text, - textsrc=textsrc, uid=uid, uirevision=uirevision, visible=visible, @@ -10515,7 +8633,6 @@ def add_image( zmin=zmin, zorder=zorder, zsmooth=zsmooth, - zsrc=zsrc, **kwargs, ) return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) @@ -10524,22 +8641,18 @@ def add_indicator( self, align=None, customdata=None, - customdatasrc=None, delta=None, domain=None, gauge=None, ids=None, - idssrc=None, legend=None, legendgrouptitle=None, legendrank=None, legendwidth=None, meta=None, - metasrc=None, mode=None, name=None, number=None, - stream=None, title=None, uid=None, uirevision=None, @@ -10571,9 +8684,6 @@ def add_indicator( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. delta :class:`plotly.graph_objects.indicator.Delta` instance or dict with compatible properties @@ -10586,9 +8696,6 @@ def add_indicator( Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -10625,9 +8732,6 @@ def add_indicator( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines how the value is displayed on the graph. `number` displays the value numerically in text. @@ -10640,9 +8744,6 @@ def add_indicator( number :class:`plotly.graph_objects.indicator.Number` instance or dict with compatible properties - stream - :class:`plotly.graph_objects.indicator.Stream` instance - or dict with compatible properties title :class:`plotly.graph_objects.indicator.Title` instance or dict with compatible properties @@ -10695,22 +8796,18 @@ def add_indicator( new_trace = Indicator( align=align, customdata=customdata, - customdatasrc=customdatasrc, delta=delta, domain=domain, gauge=gauge, ids=ids, - idssrc=idssrc, legend=legend, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, meta=meta, - metasrc=metasrc, mode=mode, name=name, number=number, - stream=stream, title=title, uid=uid, uirevision=uirevision, @@ -10733,18 +8830,13 @@ def add_isosurface( colorscale=None, contour=None, customdata=None, - customdatasrc=None, flatshading=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, isomax=None, isomin=None, legend=None, @@ -10755,7 +8847,6 @@ def add_isosurface( lighting=None, lightposition=None, meta=None, - metasrc=None, name=None, opacity=None, reversescale=None, @@ -10764,25 +8855,19 @@ def add_isosurface( showscale=None, slices=None, spaceframe=None, - stream=None, surface=None, text=None, - textsrc=None, uid=None, uirevision=None, value=None, valuehoverformat=None, - valuesrc=None, visible=None, x=None, xhoverformat=None, - xsrc=None, y=None, yhoverformat=None, - ysrc=None, z=None, zhoverformat=None, - zsrc=None, row=None, col=None, **kwargs, @@ -10840,15 +8925,15 @@ def add_isosurface( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. contour :class:`plotly.graph_objects.isosurface.Contour` instance or dict with compatible properties @@ -10857,21 +8942,15 @@ def add_isosurface( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. flatshading Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low- poly look via flat reflections. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.isosurface.Hoverlabel` instance or dict with compatible properties @@ -10914,21 +8993,12 @@ def add_isosurface( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. isomax Sets the maximum boundary for iso-surface plot. isomin @@ -10979,9 +9049,6 @@ def add_isosurface( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -11015,9 +9082,6 @@ def add_isosurface( spaceframe :class:`plotly.graph_objects.isosurface.Spaceframe` instance or dict with compatible properties - stream - :class:`plotly.graph_objects.isosurface.Stream` - instance or dict with compatible properties surface :class:`plotly.graph_objects.isosurface.Surface` instance or dict with compatible properties @@ -11026,9 +9090,6 @@ def add_isosurface( trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -11054,14 +9115,11 @@ def add_isosurface( value Sets the 4th dimension (value) of the vertices. valuehoverformat - Sets the hover text formatting rulefor `value` using + Sets the hover text formatting rule for `value` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format. - valuesrc - Sets the source reference on Chart Studio Cloud for - `value`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -11070,7 +9128,7 @@ def add_isosurface( x Sets the X coordinates of the vertices on X axis. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -11082,13 +9140,10 @@ def add_isosurface( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the Y coordinates of the vertices on Y axis. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -11100,13 +9155,10 @@ def add_isosurface( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the Z coordinates of the vertices on Z axis. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -11118,9 +9170,6 @@ def add_isosurface( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -11150,18 +9199,13 @@ def add_isosurface( colorscale=colorscale, contour=contour, customdata=customdata, - customdatasrc=customdatasrc, flatshading=flatshading, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, isomax=isomax, isomin=isomin, legend=legend, @@ -11172,7 +9216,6 @@ def add_isosurface( lighting=lighting, lightposition=lightposition, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, reversescale=reversescale, @@ -11181,25 +9224,19 @@ def add_isosurface( showscale=showscale, slices=slices, spaceframe=spaceframe, - stream=stream, surface=surface, text=text, - textsrc=textsrc, uid=uid, uirevision=uirevision, value=value, valuehoverformat=valuehoverformat, - valuesrc=valuesrc, visible=visible, x=x, xhoverformat=xhoverformat, - xsrc=xsrc, y=y, yhoverformat=yhoverformat, - ysrc=ysrc, z=z, zhoverformat=zhoverformat, - zsrc=zsrc, **kwargs, ) return self.add_trace(new_trace, row=row, col=col) @@ -11218,30 +9255,20 @@ def add_mesh3d( colorscale=None, contour=None, customdata=None, - customdatasrc=None, delaunayaxis=None, facecolor=None, - facecolorsrc=None, flatshading=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, i=None, ids=None, - idssrc=None, intensity=None, intensitymode=None, - intensitysrc=None, - isrc=None, j=None, - jsrc=None, k=None, - ksrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -11250,33 +9277,26 @@ def add_mesh3d( lighting=None, lightposition=None, meta=None, - metasrc=None, name=None, opacity=None, reversescale=None, scene=None, showlegend=None, showscale=None, - stream=None, text=None, - textsrc=None, uid=None, uirevision=None, vertexcolor=None, - vertexcolorsrc=None, visible=None, x=None, xcalendar=None, xhoverformat=None, - xsrc=None, y=None, ycalendar=None, yhoverformat=None, - ysrc=None, z=None, zcalendar=None, zhoverformat=None, - zsrc=None, row=None, col=None, **kwargs, @@ -11350,15 +9370,15 @@ def add_mesh3d( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. contour :class:`plotly.graph_objects.mesh3d.Contour` instance or dict with compatible properties @@ -11367,9 +9387,6 @@ def add_mesh3d( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. delaunayaxis Sets the Delaunay axis, which is the axis that is perpendicular to the surface of the Delaunay @@ -11379,21 +9396,15 @@ def add_mesh3d( facecolor Sets the color of each face Overrides "color" and "vertexcolor". - facecolorsrc - Sets the source reference on Chart Studio Cloud for - `facecolor`. flatshading Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low- poly look via flat reflections. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.mesh3d.Hoverlabel` instance or dict with compatible properties @@ -11436,14 +9447,8 @@ def add_mesh3d( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. i A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing @@ -11457,33 +9462,21 @@ def add_mesh3d( Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. intensity Sets the intensity values for vertices or cells as defined by `intensitymode`. It can be used for plotting fields on meshes. intensitymode Determines the source of `intensity` values. - intensitysrc - Sets the source reference on Chart Studio Cloud for - `intensity`. - isrc - Sets the source reference on Chart Studio Cloud for - `i`. j A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing the "second" vertex of a triangle. For example, `{i[m], - j[m], k[m]}` together represent face m (triangle m) in + j[m], k[m]}` together represent face m (triangle m) in the mesh, where `j[m] = n` points to the triplet `{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `j` represents a point in space, which is the second vertex of a triangle. - jsrc - Sets the source reference on Chart Studio Cloud for - `j`. k A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing @@ -11493,9 +9486,6 @@ def add_mesh3d( `{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `k` represents a point in space, which is the third vertex of a triangle. - ksrc - Sets the source reference on Chart Studio Cloud for - `k`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -11542,9 +9532,6 @@ def add_mesh3d( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -11572,17 +9559,11 @@ def add_mesh3d( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.mesh3d.Stream` instance or - dict with compatible properties text Sets the text elements associated with the vertices. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -11611,9 +9592,6 @@ def add_mesh3d( 255; in the case of having vertex color data in RGBA format, the alpha color should be normalized to be between 0 and 1. - vertexcolorsrc - Sets the source reference on Chart Studio Cloud for - `vertexcolor`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -11626,7 +9604,7 @@ def add_mesh3d( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -11638,9 +9616,6 @@ def add_mesh3d( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the Y coordinates of the vertices. The nth element of vectors `x`, `y` and `z` jointly represent the X, Y @@ -11648,7 +9623,7 @@ def add_mesh3d( ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -11660,9 +9635,6 @@ def add_mesh3d( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the Z coordinates of the vertices. The nth element of vectors `x`, `y` and `z` jointly represent the X, Y @@ -11670,7 +9642,7 @@ def add_mesh3d( zcalendar Sets the calendar system to use with `z` date data. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -11682,9 +9654,6 @@ def add_mesh3d( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -11715,30 +9684,20 @@ def add_mesh3d( colorscale=colorscale, contour=contour, customdata=customdata, - customdatasrc=customdatasrc, delaunayaxis=delaunayaxis, facecolor=facecolor, - facecolorsrc=facecolorsrc, flatshading=flatshading, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, i=i, ids=ids, - idssrc=idssrc, intensity=intensity, intensitymode=intensitymode, - intensitysrc=intensitysrc, - isrc=isrc, j=j, - jsrc=jsrc, k=k, - ksrc=ksrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -11747,33 +9706,26 @@ def add_mesh3d( lighting=lighting, lightposition=lightposition, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, reversescale=reversescale, scene=scene, showlegend=showlegend, showscale=showscale, - stream=stream, text=text, - textsrc=textsrc, uid=uid, uirevision=uirevision, vertexcolor=vertexcolor, - vertexcolorsrc=vertexcolorsrc, visible=visible, x=x, xcalendar=xcalendar, xhoverformat=xhoverformat, - xsrc=xsrc, y=y, ycalendar=ycalendar, yhoverformat=yhoverformat, - ysrc=ysrc, z=z, zcalendar=zcalendar, zhoverformat=zhoverformat, - zsrc=zsrc, **kwargs, ) return self.add_trace(new_trace, row=row, col=col) @@ -11781,22 +9733,15 @@ def add_mesh3d( def add_ohlc( self, close=None, - closesrc=None, customdata=None, - customdatasrc=None, decreasing=None, high=None, - highsrc=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, increasing=None, legend=None, legendgroup=None, @@ -11805,18 +9750,13 @@ def add_ohlc( legendwidth=None, line=None, low=None, - lowsrc=None, meta=None, - metasrc=None, name=None, opacity=None, open=None, - opensrc=None, selectedpoints=None, showlegend=None, - stream=None, text=None, - textsrc=None, tickwidth=None, uid=None, uirevision=None, @@ -11828,7 +9768,6 @@ def add_ohlc( xperiod=None, xperiod0=None, xperiodalignment=None, - xsrc=None, yaxis=None, yhoverformat=None, zorder=None, @@ -11845,7 +9784,7 @@ def add_ohlc( given `x` coordinate (most likely time). The tip of the lines represent the `low` and `high` values and the horizontal segments represent the `open` and `close` values. Sample points - where the close value is higher (lower) then the open value are + where the close value is higher (lower) than the open value are called increasing (decreasing). By default, increasing items are drawn in green whereas decreasing are drawn in red. @@ -11853,33 +9792,21 @@ def add_ohlc( ---------- close Sets the close values. - closesrc - Sets the source reference on Chart Studio Cloud for - `close`. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. decreasing :class:`plotly.graph_objects.ohlc.Decreasing` instance or dict with compatible properties high Sets the high values. - highsrc - Sets the source reference on Chart Studio Cloud for - `high`. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.ohlc.Hoverlabel` instance or dict with compatible properties @@ -11924,21 +9851,12 @@ def add_ohlc( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. increasing :class:`plotly.graph_objects.ohlc.Increasing` instance or dict with compatible properties @@ -11974,9 +9892,6 @@ def add_ohlc( dict with compatible properties low Sets the low values. - lowsrc - Sets the source reference on Chart Studio Cloud for - `low`. meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -11990,9 +9905,6 @@ def add_ohlc( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -12000,9 +9912,6 @@ def add_ohlc( Sets the opacity of the trace. open Sets the open values. - opensrc - Sets the source reference on Chart Studio Cloud for - `open`. selectedpoints Array containing integer indices of selected points. Has an effect only for traces that support selections. @@ -12013,17 +9922,11 @@ def add_ohlc( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.ohlc.Stream` instance or - dict with compatible properties text Sets hover text elements associated with each sample point. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to this trace's sample points. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. tickwidth Sets the width of the open/close tick marks relative to the "x" minimal interval. @@ -12065,7 +9968,7 @@ def add_ohlc( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -12093,16 +9996,13 @@ def add_ohlc( xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. yaxis Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -12148,22 +10048,15 @@ def add_ohlc( new_trace = Ohlc( close=close, - closesrc=closesrc, customdata=customdata, - customdatasrc=customdatasrc, decreasing=decreasing, high=high, - highsrc=highsrc, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, increasing=increasing, legend=legend, legendgroup=legendgroup, @@ -12172,18 +10065,13 @@ def add_ohlc( legendwidth=legendwidth, line=line, low=low, - lowsrc=lowsrc, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, open=open, - opensrc=opensrc, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, text=text, - textsrc=textsrc, tickwidth=tickwidth, uid=uid, uirevision=uirevision, @@ -12195,7 +10083,6 @@ def add_ohlc( xperiod=xperiod, xperiod0=xperiod0, xperiodalignment=xperiodalignment, - xsrc=xsrc, yaxis=yaxis, yhoverformat=yhoverformat, zorder=zorder, @@ -12208,7 +10095,6 @@ def add_parcats( arrangement=None, bundlecolors=None, counts=None, - countssrc=None, dimensions=None, dimensiondefaults=None, domain=None, @@ -12221,10 +10107,8 @@ def add_parcats( legendwidth=None, line=None, meta=None, - metasrc=None, name=None, sortpaths=None, - stream=None, tickfont=None, uid=None, uirevision=None, @@ -12255,9 +10139,6 @@ def add_parcats( The number of observations represented by each state. Defaults to 1 so that each state represents one observation - countssrc - Sets the source reference on Chart Studio Cloud for - `counts`. dimensions The dimensions (variables) of the parallel categories diagram. @@ -12270,7 +10151,7 @@ def add_parcats( :class:`plotly.graph_objects.parcats.Domain` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -12347,9 +10228,6 @@ def add_parcats( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -12358,9 +10236,6 @@ def add_parcats( paths based on dimension categories from left to right. If `backward`, sort paths based on dimensions categories from right to left. - stream - :class:`plotly.graph_objects.parcats.Stream` instance - or dict with compatible properties tickfont Sets the font for the `category` labels. uid @@ -12411,7 +10286,6 @@ def add_parcats( arrangement=arrangement, bundlecolors=bundlecolors, counts=counts, - countssrc=countssrc, dimensions=dimensions, dimensiondefaults=dimensiondefaults, domain=domain, @@ -12424,10 +10298,8 @@ def add_parcats( legendwidth=legendwidth, line=line, meta=meta, - metasrc=metasrc, name=name, sortpaths=sortpaths, - stream=stream, tickfont=tickfont, uid=uid, uirevision=uirevision, @@ -12439,12 +10311,10 @@ def add_parcats( def add_parcoords( self, customdata=None, - customdatasrc=None, dimensions=None, dimensiondefaults=None, domain=None, ids=None, - idssrc=None, labelangle=None, labelfont=None, labelside=None, @@ -12454,10 +10324,8 @@ def add_parcoords( legendwidth=None, line=None, meta=None, - metasrc=None, name=None, rangefont=None, - stream=None, tickfont=None, uid=None, uirevision=None, @@ -12481,9 +10349,6 @@ def add_parcoords( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dimensions The dimensions (variables) of the parallel coordinates chart. 2..60 dimensions are supported. @@ -12499,9 +10364,6 @@ def add_parcoords( Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. labelangle Sets the angle of the labels with respect to the horizontal. For example, a `tickangle` of -90 draws the @@ -12555,17 +10417,11 @@ def add_parcoords( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. rangefont Sets the font for the `dimension` range values. - stream - :class:`plotly.graph_objects.parcoords.Stream` instance - or dict with compatible properties tickfont Sets the font for the `dimension` tick values. uid @@ -12617,12 +10473,10 @@ def add_parcoords( new_trace = Parcoords( customdata=customdata, - customdatasrc=customdatasrc, dimensions=dimensions, dimensiondefaults=dimensiondefaults, domain=domain, ids=ids, - idssrc=idssrc, labelangle=labelangle, labelfont=labelfont, labelside=labelside, @@ -12632,10 +10486,8 @@ def add_parcoords( legendwidth=legendwidth, line=line, meta=meta, - metasrc=metasrc, name=name, rangefont=rangefont, - stream=stream, tickfont=tickfont, uid=uid, uirevision=uirevision, @@ -12649,61 +10501,45 @@ def add_pie( self, automargin=None, customdata=None, - customdatasrc=None, direction=None, dlabel=None, domain=None, hole=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, insidetextfont=None, insidetextorientation=None, label0=None, labels=None, - labelssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, legendrank=None, - legendranksrc=None, - legendsrc=None, legendwidth=None, marker=None, meta=None, - metasrc=None, name=None, opacity=None, outsidetextfont=None, pull=None, - pullsrc=None, rotation=None, scalegroup=None, showlegend=None, - showlegendsrc=None, sort=None, - stream=None, text=None, textfont=None, textinfo=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, title=None, uid=None, uirevision=None, values=None, - valuessrc=None, visible=None, row=None, col=None, @@ -12726,9 +10562,6 @@ def add_pie( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. direction Specifies the direction at which succeeding sectors follow one another. @@ -12741,13 +10574,11 @@ def add_pie( Sets the fraction of the radius to cut out of the pie. Use this to make a donut chart. hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. + Determines what trace information appears on hover. + Flags are rendered in a fixed order; use + `hovertemplate` if you need explicit control over the + rendered string, including the order of fields and + surrounding text. hoverlabel :class:`plotly.graph_objects.pie.Hoverlabel` instance or dict with compatible properties @@ -12792,25 +10623,16 @@ def add_pie( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextfont Sets the font used for `textinfo` lying inside the sector. @@ -12834,9 +10656,6 @@ def add_pie( occurrences if `values` is not provided. For other array attributes (including color) we use the first non-empty entry among all occurrences of the label. - labelssrc - Sets the source reference on Chart Studio Cloud for - `labels`. legend Sets the reference to a legend to show the pie slices in. Can be an array if `values` is set. In that case, @@ -12864,12 +10683,6 @@ def add_pie( all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout. - legendranksrc - Sets the source reference on Chart Studio Cloud for - `legendrank`. - legendsrc - Sets the source reference on Chart Studio Cloud for - `legend`. legendwidth Sets the width (in px or fraction) of the legend for this trace. @@ -12889,9 +10702,6 @@ def add_pie( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -12905,9 +10715,6 @@ def add_pie( out from the center. This can be a constant to pull all slices apart from each other equally or an array to highlight one or more slices. - pullsrc - Sets the source reference on Chart Studio Cloud for - `pull`. rotation Instead of the first slice starting at 12 o'clock, rotate to some other angle. @@ -12921,15 +10728,9 @@ def add_pie( pie slices are shown in the legend. Can be an array if `values` is set. In that case, each entry specifies appearance in the legend for one slice. - showlegendsrc - Sets the source reference on Chart Studio Cloud for - `showlegend`. sort Determines whether or not the sectors are reordered from largest to smallest. - stream - :class:`plotly.graph_objects.pie.Stream` instance or - dict with compatible properties text Sets text elements associated with each sector. If trace `textinfo` contains a "text" flag, these elements @@ -12939,15 +10740,12 @@ def add_pie( textfont Sets the font used for `textinfo`. textinfo - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. + Flags are rendered in a fixed order; use `texttemplate` + if you need explicit control over the rendered string, + including the order of fields and surrounding text. textposition Specifies the location of the `textinfo`. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -12976,9 +10774,6 @@ def add_pie( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. title :class:`plotly.graph_objects.pie.Title` instance or dict with compatible properties @@ -13007,9 +10802,6 @@ def add_pie( values Sets the values of the sectors. If omitted, we count occurrences of each label. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -13035,152 +10827,192 @@ def add_pie( new_trace = Pie( automargin=automargin, customdata=customdata, - customdatasrc=customdatasrc, direction=direction, dlabel=dlabel, domain=domain, hole=hole, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, insidetextfont=insidetextfont, insidetextorientation=insidetextorientation, label0=label0, labels=labels, - labelssrc=labelssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, legendrank=legendrank, - legendranksrc=legendranksrc, - legendsrc=legendsrc, legendwidth=legendwidth, marker=marker, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, outsidetextfont=outsidetextfont, pull=pull, - pullsrc=pullsrc, rotation=rotation, scalegroup=scalegroup, showlegend=showlegend, - showlegendsrc=showlegendsrc, sort=sort, - stream=stream, text=text, textfont=textfont, textinfo=textinfo, textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, title=title, uid=uid, uirevision=uirevision, values=values, - valuessrc=valuessrc, visible=visible, **kwargs, ) return self.add_trace(new_trace, row=row, col=col) - def add_sankey( + def add_quiver( self, - arrangement=None, + anchor=None, + anglemode=None, customdata=None, - customdatasrc=None, - domain=None, + dx=None, + dy=None, hoverinfo=None, hoverlabel=None, + hovertemplate=None, ids=None, - idssrc=None, legend=None, + legendgroup=None, legendgrouptitle=None, legendrank=None, legendwidth=None, - link=None, + marker=None, meta=None, - metasrc=None, name=None, - node=None, - orientation=None, + opacity=None, + selected=None, selectedpoints=None, - stream=None, + showlegend=None, + sizemode=None, + sizeref=None, + text=None, textfont=None, + textposition=None, + u=None, + uhoverformat=None, uid=None, uirevision=None, - valueformat=None, - valuesuffix=None, + unselected=None, + v=None, + vhoverformat=None, visible=None, + x=None, + x0=None, + xaxis=None, + xhoverformat=None, + y=None, + y0=None, + yaxis=None, + yhoverformat=None, row=None, col=None, + secondary_y=None, **kwargs, ) -> "FigureWidget": """ - Add a new Sankey trace + Add a new Quiver trace - Sankey plots for network flow data analysis. The nodes are - specified in `nodes` and the links between sources and targets - in `links`. The colors are set in `nodes[i].color` and - `links[i].color`, otherwise defaults are used. + The quiver trace type visualizes vector fields using arrows. + Specify a vector field using 4 1D arrays: 2 position arrays + `x`, `y` and 2 vector component arrays `u`, `v`. The arrows are + drawn exactly at the positions given by `x` and `y`. Arrow + length and direction are determined by `u` and `v` components. Parameters ---------- - arrangement - If value is `snap` (the default), the node arrangement - is assisted by automatic snapping of elements to - preserve space between nodes specified via `nodepad`. - If value is `perpendicular`, the nodes can only move - along a line perpendicular to the flow. If value is - `freeform`, the nodes can freely move on the plane. If - value is `fixed`, the nodes are stationary. + anchor + Sets the arrows' anchor with respect to their (x,y) + positions. Use "tail" to place (x,y) at the base, "tip" + to place (x,y) at the head, or "center" to center the + arrow on (x,y). + anglemode + Sets the mode used to determine the angle of the arrow + vectors. If "paper", u/v are interpreted in pixel + coordinates and the rendered vector angle does not + change regardless of the axes scales. If "data", u/v + are interpreted in data coordinates and the rendered + vector angle may change, e.g. if zooming in along a + single axis customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in - the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - domain - :class:`plotly.graph_objects.sankey.Domain` instance or - dict with compatible properties + the markers DOM elements + dx + Sets the x coordinate step. See `x0` for more info. + dy + Sets the y coordinate step. See `y0` for more info. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover - events are still fired. Note that this attribute is - superseded by `node.hoverinfo` and `node.hoverinfo` for - nodes and links respectively. + events are still fired. hoverlabel - :class:`plotly.graph_objects.sankey.Hoverlabel` + :class:`plotly.graph_objects.quiver.Hoverlabel` instance or dict with compatible properties + hovertemplate + Template string used for rendering the information that + appear on hover box. Note that this will override + `hoverinfo`. Variables are inserted using %{variable}, + for example "y: %{y}" as well as %{xother}, {%_xother}, + {%_xother_}, {%xother_}. When showing info for several + points, "xother" will be added to those with different + x positions from the first point. An underscore before + or after "(x|y)other" will add a space on that side, + only when this field is shown. Numbers are formatted + using d3-format's syntax %{variable:d3-format}, for + example "Price: %{y:$.2f}". + https://github.com/d3/d3-format/tree/v1.4.5#d3-format + for details on the formatting syntax. Dates are + formatted using d3-time-format's syntax + %{variable|d3-time-format}, for example "Day: + %{2019-01-01|%A}". https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format for details on the + date formatting syntax. Variables that can't be found + will be replaced with the specifier. For example, a + template of "data: %{x}, %{y}" will result in a value + of "data: 1, %{y}" if x is 1 and y is missing. + Variables with an undefined value will be replaced with + the fallback value. The variables available in + `hovertemplate` are the ones emitted as event data + described at this link + https://plotly.com/javascript/plotlyjs-events/#event- + data. Additionally, all attributes that can be + specified per-point (the ones that are `arrayOk: true`) + are available. Finally, the template string has access + to variables `x`, `y`, `u`, `v`, `text` and `name`. + Anything contained in tag `` is displayed in the + secondary box, for example + `%{fullData.name}`. To hide the + secondary box completely, use an empty tag + ``. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc. + legendgroup + Sets the legend group for this trace. Traces and shapes + part of the same legend group hide/show at the same + time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.sankey.Legendgrouptitle` + :class:`plotly.graph_objects.quiver.Legendgrouptitle` instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups @@ -13196,8 +11028,9 @@ def add_sankey( legendwidth Sets the width (in px or fraction) of the legend for this trace. - link - The links of the Sankey plot. + marker + :class:`plotly.graph_objects.quiver.Marker` instance or + dict with compatible properties meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -13211,16 +11044,14 @@ def add_sankey( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. - node - The nodes of the Sankey plot. - orientation - Sets the orientation of the Sankey diagram. + opacity + Sets the opacity of the trace. + selected + :class:`plotly.graph_objects.quiver.Selected` instance + or dict with compatible properties selectedpoints Array containing integer indices of selected points. Has an effect only for traces that support selections. @@ -13228,11 +11059,41 @@ def add_sankey( the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect. - stream - :class:`plotly.graph_objects.sankey.Stream` instance or - dict with compatible properties + showlegend + Determines whether or not an item corresponding to this + trace is shown in the legend. + sizemode + Determines whether arrows are drawn according to their + raw lengths, or scaled based on the maximum vector + length and point density. Note: When `anglemode` is + "data" arrows are alwyas scaled and `sizemode` "raw" is + ignored. + sizeref + Adjusts the arrow size scaling. The arrow length is + determined by the vector norm multiplied by `sizeref`, + optionally normalized when `sizemode` is "scaled" + (`sizeref` is applied after scaling). + text + Sets text elements associated with each (x,y) pair. If + a single string, the same string appears over all the + data points. If an array of string, the items are + mapped in order to the this trace's (x,y) coordinates. + If trace `hoverinfo` contains a "text" flag and + "hovertext" is not set, these elements will be seen in + the hover labels. textfont - Sets the font for node labels + Sets the text font. + textposition + Sets the positions of the `text` elements with respects + to the (x,y) coordinates. + u + Sets the x components of the arrow vectors. + uhoverformat + Sets the hover text formatting rule for `u` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: https://github.com/d + 3/d3-format/tree/v1.4.5#d3-format.By default the values + are formatted using generic number format. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -13255,20 +11116,70 @@ def add_sankey( the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves. - valueformat - Sets the value formatting rule using d3 formatting - mini-languages which are very similar to those in - Python. For numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - valuesuffix - Adds a unit to follow the value in the hover tooltip. - Add a space if a separation is necessary from the - value. + unselected + :class:`plotly.graph_objects.quiver.Unselected` + instance or dict with compatible properties + v + Sets the y components of the arrow vectors. + vhoverformat + Sets the hover text formatting rule for `v` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: https://github.com/d + 3/d3-format/tree/v1.4.5#d3-format.By default the values + are formatted using generic number format. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). + x + Sets the x coordinates of the arrow locations. + x0 + Alternate to `x`. Builds a linear space of x + coordinates. Use with `dx` where `x0` is the starting + coordinate and `dx` the step. + xaxis + Sets a reference between this trace's x coordinates and + a 2D cartesian x axis. If "x" (the default value), the + x coordinates refer to `layout.xaxis`. If "x2", the x + coordinates refer to `layout.xaxis2`, and so on. + xhoverformat + Sets the hover text formatting rule for `x` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. + And for dates see: https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format. We add two items to + d3's date formatter: "%h" for half of the year as a + decimal number as well as "%{n}f" for fractional + seconds with n digits. For example, *2016-10-13 + 09:15:23.456* with tickformat "%H~%M~%S.%2f" would + display *09~15~23.46*By default the values are + formatted using `xaxis.hoverformat`. + y + Sets the y coordinates of the arrow locations. + y0 + Alternate to `y`. Builds a linear space of y + coordinates. Use with `dy` where `y0` is the starting + coordinate and `dy` the step. + yaxis + Sets a reference between this trace's y coordinates and + a 2D cartesian y axis. If "y" (the default value), the + y coordinates refer to `layout.yaxis`. If "y2", the y + coordinates refer to `layout.yaxis2`, and so on. + yhoverformat + Sets the hover text formatting rule for `y` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. + And for dates see: https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format. We add two items to + d3's date formatter: "%h" for half of the year as a + decimal number as well as "%{n}f" for fractional + seconds with n digits. For example, *2016-10-13 + 09:15:23.456* with tickformat "%H~%M~%S.%2f" would + display *09~15~23.46*By default the values are + formatted using `yaxis.hoverformat`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -13279,304 +11190,146 @@ def add_sankey( added. Only valid if figure was created using `plotly.tools.make_subplots`.If 'all', addresses all columns in the specified row(s). + secondary_y: boolean or None (default None) + If True, associate this trace with the secondary y-axis of the + subplot at the specified row and col. Only valid if all of the + following conditions are satisfied: + * The figure was created using `plotly.subplots.make_subplots`. + * The row and col arguments are not None + * The subplot at the specified row and col has type xy + (which is the default) and secondary_y True. These + properties are specified in the specs argument to + make_subplots. See the make_subplots docstring for more info. Returns ------- FigureWidget """ - from plotly.graph_objs import Sankey + from plotly.graph_objs import Quiver - new_trace = Sankey( - arrangement=arrangement, + new_trace = Quiver( + anchor=anchor, + anglemode=anglemode, customdata=customdata, - customdatasrc=customdatasrc, - domain=domain, + dx=dx, + dy=dy, hoverinfo=hoverinfo, hoverlabel=hoverlabel, + hovertemplate=hovertemplate, ids=ids, - idssrc=idssrc, legend=legend, + legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, - link=link, + marker=marker, meta=meta, - metasrc=metasrc, name=name, - node=node, - orientation=orientation, + opacity=opacity, + selected=selected, selectedpoints=selectedpoints, - stream=stream, + showlegend=showlegend, + sizemode=sizemode, + sizeref=sizeref, + text=text, textfont=textfont, + textposition=textposition, + u=u, + uhoverformat=uhoverformat, uid=uid, uirevision=uirevision, - valueformat=valueformat, - valuesuffix=valuesuffix, + unselected=unselected, + v=v, + vhoverformat=vhoverformat, visible=visible, + x=x, + x0=x0, + xaxis=xaxis, + xhoverformat=xhoverformat, + y=y, + y0=y0, + yaxis=yaxis, + yhoverformat=yhoverformat, **kwargs, ) - return self.add_trace(new_trace, row=row, col=col) + return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) - def add_scatter( + def add_sankey( self, - alignmentgroup=None, - cliponaxis=None, - connectgaps=None, + arrangement=None, customdata=None, - customdatasrc=None, - dx=None, - dy=None, - error_x=None, - error_y=None, - fill=None, - fillcolor=None, - fillgradient=None, - fillpattern=None, - groupnorm=None, + domain=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, - hoveron=None, - hovertemplate=None, - hovertemplatefallback=None, - hovertemplatesrc=None, - hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, - legendgroup=None, legendgrouptitle=None, legendrank=None, - legendwidth=None, - line=None, - marker=None, - meta=None, - metasrc=None, - mode=None, - name=None, - offsetgroup=None, - opacity=None, - orientation=None, - selected=None, - selectedpoints=None, - showlegend=None, - stackgaps=None, - stackgroup=None, - stream=None, - text=None, - textfont=None, - textposition=None, - textpositionsrc=None, - textsrc=None, - texttemplate=None, - texttemplatefallback=None, - texttemplatesrc=None, - uid=None, - uirevision=None, - unselected=None, - visible=None, - x=None, - x0=None, - xaxis=None, - xcalendar=None, - xhoverformat=None, - xperiod=None, - xperiod0=None, - xperiodalignment=None, - xsrc=None, - y=None, - y0=None, - yaxis=None, - ycalendar=None, - yhoverformat=None, - yperiod=None, - yperiod0=None, - yperiodalignment=None, - ysrc=None, - zorder=None, + legendwidth=None, + link=None, + meta=None, + name=None, + node=None, + orientation=None, + selectedpoints=None, + textfont=None, + uid=None, + uirevision=None, + valueformat=None, + valuesuffix=None, + visible=None, row=None, col=None, - secondary_y=None, **kwargs, ) -> "FigureWidget": """ - Add a new Scatter trace + Add a new Sankey trace - The scatter trace type encompasses line charts, scatter charts, - text charts, and bubble charts. The data visualized as scatter - point or lines is set in `x` and `y`. Text (appearing either on - the chart or on hover only) is via `text`. Bubble charts are - achieved by setting `marker.size` and/or `marker.color` to - numerical arrays. + Sankey plots for network flow data analysis. The nodes are + specified in `nodes` and the links between sources and targets + in `links`. The colors are set in `nodes[i].color` and + `links[i].color`, otherwise defaults are used. Parameters ---------- - alignmentgroup - Set several traces linked to the same position axis or - matching axes to the same alignmentgroup. This controls - whether bars compute their positional range dependently - or independently. - cliponaxis - Determines whether or not markers and text nodes are - clipped about the subplot axes. To show markers and - text nodes above axis lines and tick labels, make sure - to set `xaxis.layer` and `yaxis.layer` to *below - traces*. - connectgaps - Determines whether or not gaps (i.e. {nan} or missing - values) in the provided data arrays are connected. + arrangement + If value is `snap` (the default), the node arrangement + is assisted by automatic snapping of elements to + preserve space between nodes specified via `nodepad`. + If value is `perpendicular`, the nodes can only move + along a line perpendicular to the flow. If value is + `freeform`, the nodes can freely move on the plane. If + value is `fixed`, the nodes are stationary. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - dx - Sets the x coordinate step. See `x0` for more info. - dy - Sets the y coordinate step. See `y0` for more info. - error_x - :class:`plotly.graph_objects.scatter.ErrorX` instance - or dict with compatible properties - error_y - :class:`plotly.graph_objects.scatter.ErrorY` instance - or dict with compatible properties - fill - Sets the area to fill with a solid color. Defaults to - "none" unless this trace is stacked, then it gets - "tonexty" ("tonextx") if `orientation` is "v" ("h") Use - with `fillcolor` if not "none". "tozerox" and "tozeroy" - fill to x=0 and y=0 respectively. "tonextx" and - "tonexty" fill between the endpoints of this trace and - the endpoints of the trace before it, connecting those - endpoints with straight lines (to make a stacked area - graph); if there is no trace before it, they behave - like "tozerox" and "tozeroy". "toself" connects the - endpoints of the trace (or each segment of the trace if - it has gaps) into a closed shape. "tonext" fills the - space between two traces if one completely encloses the - other (eg consecutive contour lines), and behaves like - "toself" if there is no trace before it. "tonext" - should not be used if one trace does not enclose the - other. Traces in a `stackgroup` will only fill to (or - be filled to) other traces in the same group. With - multiple `stackgroup`s or some traces stacked and some - not, if fill-linked traces are not already consecutive, - the later ones will be pushed down in the drawing - order. - fillcolor - Sets the fill color. Defaults to a half-transparent - variant of the line color, marker color, or marker line - color, whichever is available. If fillgradient is - specified, fillcolor is ignored except for setting the - background color of the hover label, if any. - fillgradient - Sets a fill gradient. If not specified, the fillcolor - is used instead. - fillpattern - Sets the pattern within the marker. - groupnorm - Only relevant when `stackgroup` is used, and only the - first `groupnorm` found in the `stackgroup` will be - used - including if `visible` is "legendonly" but not - if it is `false`. Sets the normalization for the sum of - this `stackgroup`. With "fraction", the value of each - trace at each location is divided by the sum of all - trace values at that location. "percent" is the same - but multiplied by 100 to show percentages. If there are - multiple subplots, or multiple `stackgroup`s on one - subplot, each will be normalized within its own set. + domain + :class:`plotly.graph_objects.sankey.Domain` instance or + dict with compatible properties hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. + events are still fired. Note that this attribute is + superseded by `node.hoverinfo` and `node.hoverinfo` for + nodes and links respectively. hoverlabel - :class:`plotly.graph_objects.scatter.Hoverlabel` + :class:`plotly.graph_objects.sankey.Hoverlabel` instance or dict with compatible properties - hoveron - Do the hover effects highlight individual points - (markers or line points) or do they highlight filled - regions? If the fill is "toself" or "tonext" and there - are no markers or text, then the default is "fills", - otherwise it is "points". - hovertemplate - Template string used for rendering the information that - appear on hover box. Note that this will override - `hoverinfo`. Variables are inserted using %{variable}, - for example "y: %{y}" as well as %{xother}, {%_xother}, - {%_xother_}, {%xother_}. When showing info for several - points, "xother" will be added to those with different - x positions from the first point. An underscore before - or after "(x|y)other" will add a space on that side, - only when this field is shown. Numbers are formatted - using d3-format's syntax %{variable:d3-format}, for - example "Price: %{y:$.2f}". - https://github.com/d3/d3-format/tree/v1.4.5#d3-format - for details on the formatting syntax. Dates are - formatted using d3-time-format's syntax - %{variable|d3-time-format}, for example "Day: - %{2019-01-01|%A}". https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format for details on the - date formatting syntax. Variables that can't be found - will be replaced with the specifier. For example, a - template of "data: %{x}, %{y}" will result in a value - of "data: 1, %{y}" if x is 1 and y is missing. - Variables with an undefined value will be replaced with - the fallback value. The variables available in - `hovertemplate` are the ones emitted as event data - described at this link - https://plotly.com/javascript/plotlyjs-events/#event- - data. Additionally, all attributes that can be - specified per-point (the ones that are `arrayOk: true`) - are available. Anything contained in tag `` is - displayed in the secondary box, for example - `%{fullData.name}`. To hide the - secondary box completely, use an empty tag - ``. - hovertemplatefallback - Fallback string that's displayed when a variable - referenced in a template is missing. If the boolean - value 'false' is passed in, the specifier with the - missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - hovertext - Sets hover text elements associated with each (x,y) - pair. If a single string, the same string appears over - all the data points. If an array of string, the items - are mapped in order to the this trace's (x,y) - coordinates. To be seen, trace `hoverinfo` must contain - a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", "legend3", etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc. - legendgroup - Sets the legend group for this trace. Traces and shapes - part of the same legend group hide/show at the same - time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.scatter.Legendgrouptitle` + :class:`plotly.graph_objects.sankey.Legendgrouptitle` instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups @@ -13592,141 +11345,37 @@ def add_scatter( legendwidth Sets the width (in px or fraction) of the legend for this trace. - line - :class:`plotly.graph_objects.scatter.Line` instance or - dict with compatible properties - marker - :class:`plotly.graph_objects.scatter.Marker` instance - or dict with compatible properties + link + The links of the Sankey plot. meta Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` - text all support `meta`. To access the trace `meta` - values in an attribute in the same trace, simply use - `%{meta[i]}` where `i` is the index or key of the - `meta` item in question. To access trace `meta` in - layout attributes, use `%{data[n[.meta[i]}` where `i` - is the index or key of the `meta` and `n` is the trace - index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. - mode - Determines the drawing mode for this scatter trace. If - the provided `mode` includes "text" then the `text` - elements appear at the coordinates. Otherwise, the - `text` elements appear on hover. If there are less than - 20 points and the trace is not stacked then the default - is "lines+markers". Otherwise, "lines". - name - Sets the trace name. The trace name appears as the - legend item and on hover. - offsetgroup - Set several traces linked to the same position axis or - matching axes to the same offsetgroup where bars of the - same position coordinate will line up. - opacity - Sets the opacity of the trace. - orientation - Only relevant in the following cases: 1. when - `scattermode` is set to "group". 2. when `stackgroup` - is used, and only the first `orientation` found in the - `stackgroup` will be used - including if `visible` is - "legendonly" but not if it is `false`. Sets the - stacking direction. With "v" ("h"), the y (x) values of - subsequent traces are added. Also affects the default - value of `fill`. - selected - :class:`plotly.graph_objects.scatter.Selected` instance - or dict with compatible properties - selectedpoints - Array containing integer indices of selected points. - Has an effect only for traces that support selections. - Note that an empty array means an empty selection where - the `unselected` are turned on for all points, whereas, - any other non-array values means no selection all where - the `selected` and `unselected` styles have no effect. - showlegend - Determines whether or not an item corresponding to this - trace is shown in the legend. - stackgaps - Only relevant when `stackgroup` is used, and only the - first `stackgaps` found in the `stackgroup` will be - used - including if `visible` is "legendonly" but not - if it is `false`. Determines how we handle locations at - which other traces in this group have data but this one - does not. With *infer zero* we insert a zero at these - locations. With "interpolate" we linearly interpolate - between existing values, and extrapolate a constant - beyond the existing values. - stackgroup - Set several scatter traces (on the same subplot) to the - same stackgroup in order to add their y values (or - their x values if `orientation` is "h"). If blank or - omitted this trace will not be stacked. Stacking also - turns `fill` on by default, using "tonexty" ("tonextx") - if `orientation` is "h" ("v") and sets the default - `mode` to "lines" irrespective of point count. You can - only stack on a numeric (linear or log) axis. Traces in - a `stackgroup` will only fill to (or be filled to) - other traces in the same group. With multiple - `stackgroup`s or some traces stacked and some not, if - fill-linked traces are not already consecutive, the - later ones will be pushed down in the drawing order. - stream - :class:`plotly.graph_objects.scatter.Stream` instance - or dict with compatible properties - text - Sets text elements associated with each (x,y) pair. If - a single string, the same string appears over all the - data points. If an array of string, the items are - mapped in order to the this trace's (x,y) coordinates. - If trace `hoverinfo` contains a "text" flag and - "hovertext" is not set, these elements will be seen in - the hover labels. + text all support `meta`. To access the trace `meta` + values in an attribute in the same trace, simply use + `%{meta[i]}` where `i` is the index or key of the + `meta` item in question. To access trace `meta` in + layout attributes, use `%{data[n[.meta[i]}` where `i` + is the index or key of the `meta` and `n` is the trace + index. + name + Sets the trace name. The trace name appears as the + legend item and on hover. + node + The nodes of the Sankey plot. + orientation + Sets the orientation of the Sankey diagram. + selectedpoints + Array containing integer indices of selected points. + Has an effect only for traces that support selections. + Note that an empty array means an empty selection where + the `unselected` are turned on for all points, whereas, + any other non-array values means no selection all where + the `selected` and `unselected` styles have no effect. textfont - Sets the text font. - textposition - Sets the positions of the `text` elements with respects - to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. - texttemplate - Template string used for rendering the information text - that appears on points. Note that this will override - `textinfo`. Variables are inserted using %{variable}, - for example "y: %{y}". Numbers are formatted using - d3-format's syntax %{variable:d3-format}, for example - "Price: %{y:$.2f}". - https://github.com/d3/d3-format/tree/v1.4.5#d3-format - for details on the formatting syntax. Dates are - formatted using d3-time-format's syntax - %{variable|d3-time-format}, for example "Day: - %{2019-01-01|%A}". https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format for details on the - date formatting syntax. Variables that can't be found - will be replaced with the specifier. For example, a - template of "data: %{x}, %{y}" will result in a value - of "data: 1, %{y}" if x is 1 and y is missing. - Variables with an undefined value will be replaced with - the fallback value. All attributes that can be - specified per-point (the ones that are `arrayOk: true`) - are available. - texttemplatefallback - Fallback string that's displayed when a variable - referenced in a template is missing. If the boolean - value 'false' is passed in, the specifier with the - missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. + Sets the font for node labels uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -13749,109 +11398,20 @@ def add_scatter( the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves. - unselected - :class:`plotly.graph_objects.scatter.Unselected` - instance or dict with compatible properties + valueformat + Sets the value formatting rule using d3 formatting + mini-languages which are very similar to those in + Python. For numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. + valuesuffix + Adds a unit to follow the value in the hover tooltip. + Add a space if a separation is necessary from the + value. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). - x - Sets the x coordinates. - x0 - Alternate to `x`. Builds a linear space of x - coordinates. Use with `dx` where `x0` is the starting - coordinate and `dx` the step. - xaxis - Sets a reference between this trace's x coordinates and - a 2D cartesian x axis. If "x" (the default value), the - x coordinates refer to `layout.xaxis`. If "x2", the x - coordinates refer to `layout.xaxis2`, and so on. - xcalendar - Sets the calendar system to use with `x` date data. - xhoverformat - Sets the hover text formatting rulefor `x` using d3 - formatting mini-languages which are very similar to - those in Python. For numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - And for dates see: https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two items to - d3's date formatter: "%h" for half of the year as a - decimal number as well as "%{n}f" for fractional - seconds with n digits. For example, *2016-10-13 - 09:15:23.456* with tickformat "%H~%M~%S.%2f" would - display *09~15~23.46*By default the values are - formatted using `xaxis.hoverformat`. - xperiod - Only relevant when the axis `type` is "date". Sets the - period positioning in milliseconds or "M" on the x - axis. Special values in the form of "M" could be - used to declare the number of months. In this case `n` - must be a positive integer. - xperiod0 - Only relevant when the axis `type` is "date". Sets the - base for period positioning in milliseconds or date - string on the x0 axis. When `x0period` is round number - of weeks, the `x0period0` by default would be on a - Sunday i.e. 2000-01-02, otherwise it would be at - 2000-01-01. - xperiodalignment - Only relevant when the axis `type` is "date". Sets the - alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. - y - Sets the y coordinates. - y0 - Alternate to `y`. Builds a linear space of y - coordinates. Use with `dy` where `y0` is the starting - coordinate and `dy` the step. - yaxis - Sets a reference between this trace's y coordinates and - a 2D cartesian y axis. If "y" (the default value), the - y coordinates refer to `layout.yaxis`. If "y2", the y - coordinates refer to `layout.yaxis2`, and so on. - ycalendar - Sets the calendar system to use with `y` date data. - yhoverformat - Sets the hover text formatting rulefor `y` using d3 - formatting mini-languages which are very similar to - those in Python. For numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - And for dates see: https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two items to - d3's date formatter: "%h" for half of the year as a - decimal number as well as "%{n}f" for fractional - seconds with n digits. For example, *2016-10-13 - 09:15:23.456* with tickformat "%H~%M~%S.%2f" would - display *09~15~23.46*By default the values are - formatted using `yaxis.hoverformat`. - yperiod - Only relevant when the axis `type` is "date". Sets the - period positioning in milliseconds or "M" on the y - axis. Special values in the form of "M" could be - used to declare the number of months. In this case `n` - must be a positive integer. - yperiod0 - Only relevant when the axis `type` is "date". Sets the - base for period positioning in milliseconds or date - string on the y0 axis. When `y0period` is round number - of weeks, the `y0period0` by default would be on a - Sunday i.e. 2000-01-02, otherwise it would be at - 2000-01-01. - yperiodalignment - Only relevant when the axis `type` is "date". Sets the - alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. - zorder - Sets the layer on which this trace is displayed, - relative to other SVG traces on the same subplot. SVG - traces with higher `zorder` appear in front of those - with lower `zorder`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -13862,122 +11422,62 @@ def add_scatter( added. Only valid if figure was created using `plotly.tools.make_subplots`.If 'all', addresses all columns in the specified row(s). - secondary_y: boolean or None (default None) - If True, associate this trace with the secondary y-axis of the - subplot at the specified row and col. Only valid if all of the - following conditions are satisfied: - * The figure was created using `plotly.subplots.make_subplots`. - * The row and col arguments are not None - * The subplot at the specified row and col has type xy - (which is the default) and secondary_y True. These - properties are specified in the specs argument to - make_subplots. See the make_subplots docstring for more info. Returns ------- FigureWidget """ - from plotly.graph_objs import Scatter + from plotly.graph_objs import Sankey - new_trace = Scatter( - alignmentgroup=alignmentgroup, - cliponaxis=cliponaxis, - connectgaps=connectgaps, + new_trace = Sankey( + arrangement=arrangement, customdata=customdata, - customdatasrc=customdatasrc, - dx=dx, - dy=dy, - error_x=error_x, - error_y=error_y, - fill=fill, - fillcolor=fillcolor, - fillgradient=fillgradient, - fillpattern=fillpattern, - groupnorm=groupnorm, + domain=domain, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, - hoveron=hoveron, - hovertemplate=hovertemplate, - hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, - hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, - legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, - line=line, - marker=marker, + link=link, meta=meta, - metasrc=metasrc, - mode=mode, name=name, - offsetgroup=offsetgroup, - opacity=opacity, + node=node, orientation=orientation, - selected=selected, selectedpoints=selectedpoints, - showlegend=showlegend, - stackgaps=stackgaps, - stackgroup=stackgroup, - stream=stream, - text=text, textfont=textfont, - textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, - texttemplate=texttemplate, - texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, uid=uid, uirevision=uirevision, - unselected=unselected, + valueformat=valueformat, + valuesuffix=valuesuffix, visible=visible, - x=x, - x0=x0, - xaxis=xaxis, - xcalendar=xcalendar, - xhoverformat=xhoverformat, - xperiod=xperiod, - xperiod0=xperiod0, - xperiodalignment=xperiodalignment, - xsrc=xsrc, - y=y, - y0=y0, - yaxis=yaxis, - ycalendar=ycalendar, - yhoverformat=yhoverformat, - yperiod=yperiod, - yperiod0=yperiod0, - yperiodalignment=yperiodalignment, - ysrc=ysrc, - zorder=zorder, **kwargs, ) - return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) + return self.add_trace(new_trace, row=row, col=col) - def add_scatter3d( + def add_scatter( self, + alignmentgroup=None, + cliponaxis=None, connectgaps=None, customdata=None, - customdatasrc=None, + dx=None, + dy=None, error_x=None, error_y=None, - error_z=None, + fill=None, + fillcolor=None, + fillgradient=None, + fillpattern=None, + groupnorm=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, + hoveron=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -13986,55 +11486,70 @@ def add_scatter3d( line=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, + offsetgroup=None, opacity=None, - projection=None, - scene=None, + orientation=None, + selected=None, + selectedpoints=None, showlegend=None, - stream=None, - surfaceaxis=None, - surfacecolor=None, + stackgaps=None, + stackgroup=None, text=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, + unselected=None, visible=None, x=None, + x0=None, + xaxis=None, xcalendar=None, xhoverformat=None, - xsrc=None, + xperiod=None, + xperiod0=None, + xperiodalignment=None, y=None, + y0=None, + yaxis=None, ycalendar=None, yhoverformat=None, - ysrc=None, - z=None, - zcalendar=None, - zhoverformat=None, - zsrc=None, + yperiod=None, + yperiod0=None, + yperiodalignment=None, + zorder=None, row=None, col=None, + secondary_y=None, **kwargs, ) -> "FigureWidget": """ - Add a new Scatter3d trace + Add a new Scatter trace - The data visualized as scatter point or lines in 3D dimension - is set in `x`, `y`, `z`. Text (appearing either on the chart or - on hover only) is via `text`. Bubble charts are achieved by - setting `marker.size` and/or `marker.color` Projections are - achieved via `projection`. Surface fills are achieved via - `surfaceaxis`. + The scatter trace type encompasses line charts, scatter charts, + text charts, and bubble charts. The data visualized as scatter + point or lines is set in `x` and `y`. Text (appearing either on + the chart or on hover only) is via `text`. Bubble charts are + achieved by setting `marker.size` and/or `marker.color` to + numerical arrays. Parameters ---------- + alignmentgroup + Set several traces linked to the same position axis or + matching axes to the same alignmentgroup. This controls + whether bars compute their positional range dependently + or independently. + cliponaxis + Determines whether or not markers and text nodes are + clipped about the subplot axes. To show markers and + text nodes above axis lines and tick labels, make sure + to set `xaxis.layer` and `yaxis.layer` to *below + traces*. connectgaps Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. @@ -14043,29 +11558,75 @@ def add_scatter3d( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. + dx + Sets the x coordinate step. See `x0` for more info. + dy + Sets the y coordinate step. See `y0` for more info. error_x - :class:`plotly.graph_objects.scatter3d.ErrorX` instance + :class:`plotly.graph_objects.scatter.ErrorX` instance or dict with compatible properties error_y - :class:`plotly.graph_objects.scatter3d.ErrorY` instance - or dict with compatible properties - error_z - :class:`plotly.graph_objects.scatter3d.ErrorZ` instance + :class:`plotly.graph_objects.scatter.ErrorY` instance or dict with compatible properties + fill + Sets the area to fill with a solid color. Defaults to + "none" unless this trace is stacked, then it gets + "tonexty" ("tonextx") if `orientation` is "v" ("h") Use + with `fillcolor` if not "none". "tozerox" and "tozeroy" + fill to x=0 and y=0 respectively. "tonextx" and + "tonexty" fill between the endpoints of this trace and + the endpoints of the trace before it, connecting those + endpoints with straight lines (to make a stacked area + graph); if there is no trace before it, they behave + like "tozerox" and "tozeroy". "toself" connects the + endpoints of the trace (or each segment of the trace if + it has gaps) into a closed shape. "tonext" fills the + space between two traces if one completely encloses the + other (eg consecutive contour lines), and behaves like + "toself" if there is no trace before it. "tonext" + should not be used if one trace does not enclose the + other. Traces in a `stackgroup` will only fill to (or + be filled to) other traces in the same group. With + multiple `stackgroup`s or some traces stacked and some + not, if fill-linked traces are not already consecutive, + the later ones will be pushed down in the drawing + order. + fillcolor + Sets the fill color. Defaults to a half-transparent + variant of the line color, marker color, or marker line + color, whichever is available. If fillgradient is + specified, fillcolor is ignored except for setting the + background color of the hover label, if any. + fillgradient + Sets a fill gradient. If not specified, the fillcolor + is used instead. + fillpattern + Sets the pattern within the marker. + groupnorm + Only relevant when `stackgroup` is used, and only the + first `groupnorm` found in the `stackgroup` will be + used - including if `visible` is "legendonly" but not + if it is `false`. Sets the normalization for the sum of + this `stackgroup`. With "fraction", the value of each + trace at each location is divided by the sum of all + trace values at that location. "percent" is the same + but multiplied by 100 to show percentages. If there are + multiple subplots, or multiple `stackgroup`s on one + subplot, each will be normalized within its own set. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel - :class:`plotly.graph_objects.scatter3d.Hoverlabel` + :class:`plotly.graph_objects.scatter.Hoverlabel` instance or dict with compatible properties + hoveron + Do the hover effects highlight individual points + (markers or line points) or do they highlight filled + regions? If the fill is "toself" or "tonext" and there + are no markers or text, then the default is "fills", + otherwise it is "points". hovertemplate Template string used for rendering the information that appear on hover box. Note that this will override @@ -14105,26 +11666,17 @@ def add_scatter3d( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext - Sets text elements associated with each (x,y,z) - triplet. If a single string, the same string appears - over all the data points. If an array of string, the - items are mapped in order to the this trace's (x,y,z) + Sets hover text elements associated with each (x,y) + pair. If a single string, the same string appears over + all the data points. If an array of string, the items + are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -14136,8 +11688,8 @@ def add_scatter3d( part of the same legend group hide/show at the same time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.scatter3d.Legendgrouptitle - ` instance or dict with compatible properties + :class:`plotly.graph_objects.scatter.Legendgrouptitle` + instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while @@ -14153,10 +11705,10 @@ def add_scatter3d( Sets the width (in px or fraction) of the legend for this trace. line - :class:`plotly.graph_objects.scatter3d.Line` instance - or dict with compatible properties + :class:`plotly.graph_objects.scatter.Line` instance or + dict with compatible properties marker - :class:`plotly.graph_objects.scatter3d.Marker` instance + :class:`plotly.graph_objects.scatter.Marker` instance or dict with compatible properties meta Assigns extra meta information associated with this @@ -14171,9 +11723,6 @@ def add_scatter3d( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -14184,48 +11733,71 @@ def add_scatter3d( name Sets the trace name. The trace name appears as the legend item and on hover. + offsetgroup + Set several traces linked to the same position axis or + matching axes to the same offsetgroup where bars of the + same position coordinate will line up. opacity Sets the opacity of the trace. - projection - :class:`plotly.graph_objects.scatter3d.Projection` - instance or dict with compatible properties - scene - Sets a reference between this trace's 3D coordinate - system and a 3D scene. If "scene" (the default value), - the (x,y,z) coordinates refer to `layout.scene`. If - "scene2", the (x,y,z) coordinates refer to - `layout.scene2`, and so on. + orientation + Only relevant in the following cases: 1. when + `scattermode` is set to "group". 2. when `stackgroup` + is used, and only the first `orientation` found in the + `stackgroup` will be used - including if `visible` is + "legendonly" but not if it is `false`. Sets the + stacking direction. With "v" ("h"), the y (x) values of + subsequent traces are added. Also affects the default + value of `fill`. + selected + :class:`plotly.graph_objects.scatter.Selected` instance + or dict with compatible properties + selectedpoints + Array containing integer indices of selected points. + Has an effect only for traces that support selections. + Note that an empty array means an empty selection where + the `unselected` are turned on for all points, whereas, + any other non-array values means no selection all where + the `selected` and `unselected` styles have no effect. showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scatter3d.Stream` instance - or dict with compatible properties - surfaceaxis - If "-1", the scatter points are not fill with a surface - If 0, 1, 2, the scatter points are filled with a - Delaunay surface about the x, y, z respectively. - surfacecolor - Sets the surface fill color. + stackgaps + Only relevant when `stackgroup` is used, and only the + first `stackgaps` found in the `stackgroup` will be + used - including if `visible` is "legendonly" but not + if it is `false`. Determines how we handle locations at + which other traces in this group have data but this one + does not. With *infer zero* we insert a zero at these + locations. With "interpolate" we linearly interpolate + between existing values, and extrapolate a constant + beyond the existing values. + stackgroup + Set several scatter traces (on the same subplot) to the + same stackgroup in order to add their y values (or + their x values if `orientation` is "h"). If blank or + omitted this trace will not be stacked. Stacking also + turns `fill` on by default, using "tonexty" ("tonextx") + if `orientation` is "h" ("v") and sets the default + `mode` to "lines" irrespective of point count. You can + only stack on a numeric (linear or log) axis. Traces in + a `stackgroup` will only fill to (or be filled to) + other traces in the same group. With multiple + `stackgroup`s or some traces stacked and some not, if + fill-linked traces are not already consecutive, the + later ones will be pushed down in the drawing order. text - Sets text elements associated with each (x,y,z) - triplet. If a single string, the same string appears - over all the data points. If an array of string, the - items are mapped in order to the this trace's (x,y,z) - coordinates. If trace `hoverinfo` contains a "text" - flag and "hovertext" is not set, these elements will be - seen in the hover labels. + Sets text elements associated with each (x,y) pair. If + a single string, the same string appears over all the + data points. If an array of string, the items are + mapped in order to the this trace's (x,y) coordinates. + If trace `hoverinfo` contains a "text" flag and + "hovertext" is not set, these elements will be seen in + the hover labels. textfont Sets the text font. textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -14252,9 +11824,6 @@ def add_scatter3d( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -14277,6 +11846,9 @@ def add_scatter3d( the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves. + unselected + :class:`plotly.graph_objects.scatter.Unselected` + instance or dict with compatible properties visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -14284,10 +11856,19 @@ def add_scatter3d( visible). x Sets the x coordinates. + x0 + Alternate to `x`. Builds a linear space of x + coordinates. Use with `dx` where `x0` is the starting + coordinate and `dx` the step. + xaxis + Sets a reference between this trace's x coordinates and + a 2D cartesian x axis. If "x" (the default value), the + x coordinates refer to `layout.xaxis`. If "x2", the x + coordinates refer to `layout.xaxis2`, and so on. xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -14299,15 +11880,37 @@ def add_scatter3d( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. + xperiod + Only relevant when the axis `type` is "date". Sets the + period positioning in milliseconds or "M" on the x + axis. Special values in the form of "M" could be + used to declare the number of months. In this case `n` + must be a positive integer. + xperiod0 + Only relevant when the axis `type` is "date". Sets the + base for period positioning in milliseconds or date + string on the x0 axis. When `x0period` is round number + of weeks, the `x0period0` by default would be on a + Sunday i.e. 2000-01-02, otherwise it would be at + 2000-01-01. + xperiodalignment + Only relevant when the axis `type` is "date". Sets the + alignment of data points on the x axis. y Sets the y coordinates. + y0 + Alternate to `y`. Builds a linear space of y + coordinates. Use with `dy` where `y0` is the starting + coordinate and `dy` the step. + yaxis + Sets a reference between this trace's y coordinates and + a 2D cartesian y axis. If "y" (the default value), the + y coordinates refer to `layout.yaxis`. If "y2", the y + coordinates refer to `layout.yaxis2`, and so on. ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -14319,29 +11922,27 @@ def add_scatter3d( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. - z - Sets the z coordinates. - zcalendar - Sets the calendar system to use with `z` date data. - zhoverformat - Sets the hover text formatting rulefor `z` using d3 - formatting mini-languages which are very similar to - those in Python. For numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - And for dates see: https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two items to - d3's date formatter: "%h" for half of the year as a - decimal number as well as "%{n}f" for fractional - seconds with n digits. For example, *2016-10-13 - 09:15:23.456* with tickformat "%H~%M~%S.%2f" would - display *09~15~23.46*By default the values are - formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. + yperiod + Only relevant when the axis `type` is "date". Sets the + period positioning in milliseconds or "M" on the y + axis. Special values in the form of "M" could be + used to declare the number of months. In this case `n` + must be a positive integer. + yperiod0 + Only relevant when the axis `type` is "date". Sets the + base for period positioning in milliseconds or date + string on the y0 axis. When `y0period` is round number + of weeks, the `y0period0` by default would be on a + Sunday i.e. 2000-01-02, otherwise it would be at + 2000-01-01. + yperiodalignment + Only relevant when the axis `type` is "date". Sets the + alignment of data points on the y axis. + zorder + Sets the layer on which this trace is displayed, + relative to other SVG traces on the same subplot. SVG + traces with higher `zorder` appear in front of those + with lower `zorder`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -14352,30 +11953,44 @@ def add_scatter3d( added. Only valid if figure was created using `plotly.tools.make_subplots`.If 'all', addresses all columns in the specified row(s). + secondary_y: boolean or None (default None) + If True, associate this trace with the secondary y-axis of the + subplot at the specified row and col. Only valid if all of the + following conditions are satisfied: + * The figure was created using `plotly.subplots.make_subplots`. + * The row and col arguments are not None + * The subplot at the specified row and col has type xy + (which is the default) and secondary_y True. These + properties are specified in the specs argument to + make_subplots. See the make_subplots docstring for more info. Returns ------- FigureWidget """ - from plotly.graph_objs import Scatter3d + from plotly.graph_objs import Scatter - new_trace = Scatter3d( + new_trace = Scatter( + alignmentgroup=alignmentgroup, + cliponaxis=cliponaxis, connectgaps=connectgaps, customdata=customdata, - customdatasrc=customdatasrc, + dx=dx, + dy=dy, error_x=error_x, error_y=error_y, - error_z=error_z, + fill=fill, + fillcolor=fillcolor, + fillgradient=fillgradient, + fillpattern=fillpattern, + groupnorm=groupnorm, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, + hoveron=hoveron, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -14384,66 +11999,59 @@ def add_scatter3d( line=line, marker=marker, meta=meta, - metasrc=metasrc, mode=mode, name=name, + offsetgroup=offsetgroup, opacity=opacity, - projection=projection, - scene=scene, + orientation=orientation, + selected=selected, + selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, - surfaceaxis=surfaceaxis, - surfacecolor=surfacecolor, + stackgaps=stackgaps, + stackgroup=stackgroup, text=text, textfont=textfont, textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, uid=uid, uirevision=uirevision, + unselected=unselected, visible=visible, x=x, + x0=x0, + xaxis=xaxis, xcalendar=xcalendar, xhoverformat=xhoverformat, - xsrc=xsrc, + xperiod=xperiod, + xperiod0=xperiod0, + xperiodalignment=xperiodalignment, y=y, + y0=y0, + yaxis=yaxis, ycalendar=ycalendar, yhoverformat=yhoverformat, - ysrc=ysrc, - z=z, - zcalendar=zcalendar, - zhoverformat=zhoverformat, - zsrc=zsrc, + yperiod=yperiod, + yperiod0=yperiod0, + yperiodalignment=yperiodalignment, + zorder=zorder, **kwargs, ) - return self.add_trace(new_trace, row=row, col=col) + return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) - def add_scattercarpet( + def add_scatter3d( self, - a=None, - asrc=None, - b=None, - bsrc=None, - carpet=None, connectgaps=None, customdata=None, - customdatasrc=None, - fill=None, - fillcolor=None, + error_x=None, + error_y=None, + error_z=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, - hoveron=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -14452,56 +12060,47 @@ def add_scattercarpet( line=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, - selected=None, - selectedpoints=None, + projection=None, + scene=None, showlegend=None, - stream=None, + surfaceaxis=None, + surfacecolor=None, text=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, - unselected=None, visible=None, - xaxis=None, - yaxis=None, - zorder=None, + x=None, + xcalendar=None, + xhoverformat=None, + y=None, + ycalendar=None, + yhoverformat=None, + z=None, + zcalendar=None, + zhoverformat=None, row=None, col=None, - secondary_y=None, **kwargs, ) -> "FigureWidget": """ - Add a new Scattercarpet trace + Add a new Scatter3d trace - Plots a scatter trace on either the first carpet axis or the - carpet axis with a matching `carpet` attribute. + The data visualized as scatter point or lines in 3D dimension + is set in `x`, `y`, `z`. Text (appearing either on the chart or + on hover only) is via `text`. Bubble charts are achieved by + setting `marker.size` and/or `marker.color` Projections are + achieved via `projection`. Surface fills are achieved via + `surfaceaxis`. Parameters ---------- - a - Sets the a-axis coordinates. - asrc - Sets the source reference on Chart Studio Cloud for - `a`. - b - Sets the b-axis coordinates. - bsrc - Sets the source reference on Chart Studio Cloud for - `b`. - carpet - An identifier for this carpet, so that `scattercarpet` - and `contourcarpet` traces can specify a carpet plot on - which they lie connectgaps Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. @@ -14510,41 +12109,23 @@ def add_scattercarpet( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - fill - Sets the area to fill with a solid color. Use with - `fillcolor` if not "none". scatterternary has a subset - of the options available to scatter. "toself" connects - the endpoints of the trace (or each segment of the - trace if it has gaps) into a closed shape. "tonext" - fills the space between two traces if one completely - encloses the other (eg consecutive contour lines), and - behaves like "toself" if there is no trace before it. - "tonext" should not be used if one trace does not - enclose the other. - fillcolor - Sets the fill color. Defaults to a half-transparent - variant of the line color, marker color, or marker line - color, whichever is available. + error_x + :class:`plotly.graph_objects.scatter3d.ErrorX` instance + or dict with compatible properties + error_y + :class:`plotly.graph_objects.scatter3d.ErrorY` instance + or dict with compatible properties + error_z + :class:`plotly.graph_objects.scatter3d.ErrorZ` instance + or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel - :class:`plotly.graph_objects.scattercarpet.Hoverlabel` + :class:`plotly.graph_objects.scatter3d.Hoverlabel` instance or dict with compatible properties - hoveron - Do the hover effects highlight individual points - (markers or line points) or do they highlight filled - regions? If the fill is "toself" or "tonext" and there - are no markers or text, then the default is "fills", - otherwise it is "points". hovertemplate Template string used for rendering the information that appear on hover box. Note that this will override @@ -14584,25 +12165,17 @@ def add_scattercarpet( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext - Sets hover text elements associated with each (a,b) - point. If a single string, the same string appears over - all the data points. If an array of strings, the items - are mapped in order to the the data points in (a,b). To - be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. + Sets text elements associated with each (x,y,z) + triplet. If a single string, the same string appears + over all the data points. If an array of string, the + items are mapped in order to the this trace's (x,y,z) + coordinates. To be seen, trace `hoverinfo` must contain + a "text" flag. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -14614,8 +12187,8 @@ def add_scattercarpet( part of the same legend group hide/show at the same time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.scattercarpet.Legendgroupt - itle` instance or dict with compatible properties + :class:`plotly.graph_objects.scatter3d.Legendgrouptitle + ` instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while @@ -14631,11 +12204,11 @@ def add_scattercarpet( Sets the width (in px or fraction) of the legend for this trace. line - :class:`plotly.graph_objects.scattercarpet.Line` - instance or dict with compatible properties + :class:`plotly.graph_objects.scatter3d.Line` instance + or dict with compatible properties marker - :class:`plotly.graph_objects.scattercarpet.Marker` - instance or dict with compatible properties + :class:`plotly.graph_objects.scatter3d.Marker` instance + or dict with compatible properties meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -14649,9 +12222,6 @@ def add_scattercarpet( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -14664,41 +12234,37 @@ def add_scattercarpet( legend item and on hover. opacity Sets the opacity of the trace. - selected - :class:`plotly.graph_objects.scattercarpet.Selected` + projection + :class:`plotly.graph_objects.scatter3d.Projection` instance or dict with compatible properties - selectedpoints - Array containing integer indices of selected points. - Has an effect only for traces that support selections. - Note that an empty array means an empty selection where - the `unselected` are turned on for all points, whereas, - any other non-array values means no selection all where - the `selected` and `unselected` styles have no effect. + scene + Sets a reference between this trace's 3D coordinate + system and a 3D scene. If "scene" (the default value), + the (x,y,z) coordinates refer to `layout.scene`. If + "scene2", the (x,y,z) coordinates refer to + `layout.scene2`, and so on. showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scattercarpet.Stream` - instance or dict with compatible properties + surfaceaxis + If "-1", the scatter points are not fill with a surface + If 0, 1, 2, the scatter points are filled with a + Delaunay surface about the x, y, z respectively. + surfacecolor + Sets the surface fill color. text - Sets text elements associated with each (a,b) point. If - a single string, the same string appears over all the - data points. If an array of strings, the items are - mapped in order to the the data points in (a,b). If - trace `hoverinfo` contains a "text" flag and - "hovertext" is not set, these elements will be seen in - the hover labels. + Sets text elements associated with each (x,y,z) + triplet. If a single string, the same string appears + over all the data points. If an array of string, the + items are mapped in order to the this trace's (x,y,z) + coordinates. If trace `hoverinfo` contains a "text" + flag and "hovertext" is not set, these elements will be + seen in the hover labels. textfont Sets the text font. textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -14719,16 +12285,12 @@ def add_scattercarpet( Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) - are available. Finally, the template string has access - to variables `a`, `b` and `text`. + are available. texttemplatefallback Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -14751,29 +12313,62 @@ def add_scattercarpet( the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves. - unselected - :class:`plotly.graph_objects.scattercarpet.Unselected` - instance or dict with compatible properties visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). - xaxis - Sets a reference between this trace's x coordinates and - a 2D cartesian x axis. If "x" (the default value), the - x coordinates refer to `layout.xaxis`. If "x2", the x - coordinates refer to `layout.xaxis2`, and so on. - yaxis - Sets a reference between this trace's y coordinates and - a 2D cartesian y axis. If "y" (the default value), the - y coordinates refer to `layout.yaxis`. If "y2", the y - coordinates refer to `layout.yaxis2`, and so on. - zorder - Sets the layer on which this trace is displayed, - relative to other SVG traces on the same subplot. SVG - traces with higher `zorder` appear in front of those - with lower `zorder`. + x + Sets the x coordinates. + xcalendar + Sets the calendar system to use with `x` date data. + xhoverformat + Sets the hover text formatting rule for `x` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. + And for dates see: https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format. We add two items to + d3's date formatter: "%h" for half of the year as a + decimal number as well as "%{n}f" for fractional + seconds with n digits. For example, *2016-10-13 + 09:15:23.456* with tickformat "%H~%M~%S.%2f" would + display *09~15~23.46*By default the values are + formatted using `xaxis.hoverformat`. + y + Sets the y coordinates. + ycalendar + Sets the calendar system to use with `y` date data. + yhoverformat + Sets the hover text formatting rule for `y` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. + And for dates see: https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format. We add two items to + d3's date formatter: "%h" for half of the year as a + decimal number as well as "%{n}f" for fractional + seconds with n digits. For example, *2016-10-13 + 09:15:23.456* with tickformat "%H~%M~%S.%2f" would + display *09~15~23.46*By default the values are + formatted using `yaxis.hoverformat`. + z + Sets the z coordinates. + zcalendar + Sets the calendar system to use with `z` date data. + zhoverformat + Sets the hover text formatting rule for `z` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. + And for dates see: https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format. We add two items to + d3's date formatter: "%h" for half of the year as a + decimal number as well as "%{n}f" for fractional + seconds with n digits. For example, *2016-10-13 + 09:15:23.456* with tickformat "%H~%M~%S.%2f" would + display *09~15~23.46*By default the values are + formatted using `zaxis.hoverformat`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -14784,45 +12379,25 @@ def add_scattercarpet( added. Only valid if figure was created using `plotly.tools.make_subplots`.If 'all', addresses all columns in the specified row(s). - secondary_y: boolean or None (default None) - If True, associate this trace with the secondary y-axis of the - subplot at the specified row and col. Only valid if all of the - following conditions are satisfied: - * The figure was created using `plotly.subplots.make_subplots`. - * The row and col arguments are not None - * The subplot at the specified row and col has type xy - (which is the default) and secondary_y True. These - properties are specified in the specs argument to - make_subplots. See the make_subplots docstring for more info. Returns ------- FigureWidget """ - from plotly.graph_objs import Scattercarpet + from plotly.graph_objs import Scatter3d - new_trace = Scattercarpet( - a=a, - asrc=asrc, - b=b, - bsrc=bsrc, - carpet=carpet, + new_trace = Scatter3d( connectgaps=connectgaps, customdata=customdata, - customdatasrc=customdatasrc, - fill=fill, - fillcolor=fillcolor, + error_x=error_x, + error_y=error_y, + error_z=error_z, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, - hoveron=hoveron, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -14831,102 +12406,98 @@ def add_scattercarpet( line=line, marker=marker, meta=meta, - metasrc=metasrc, mode=mode, name=name, opacity=opacity, - selected=selected, - selectedpoints=selectedpoints, + projection=projection, + scene=scene, showlegend=showlegend, - stream=stream, + surfaceaxis=surfaceaxis, + surfacecolor=surfacecolor, text=text, textfont=textfont, textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, uid=uid, uirevision=uirevision, - unselected=unselected, visible=visible, - xaxis=xaxis, - yaxis=yaxis, - zorder=zorder, + x=x, + xcalendar=xcalendar, + xhoverformat=xhoverformat, + y=y, + ycalendar=ycalendar, + yhoverformat=yhoverformat, + z=z, + zcalendar=zcalendar, + zhoverformat=zhoverformat, **kwargs, ) - return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) + return self.add_trace(new_trace, row=row, col=col) - def add_scattergeo( + def add_scattercarpet( self, + a=None, + b=None, + carpet=None, connectgaps=None, customdata=None, - customdatasrc=None, - featureidkey=None, fill=None, fillcolor=None, - geo=None, - geojson=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, + hoveron=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, - lat=None, - latsrc=None, legend=None, legendgroup=None, legendgrouptitle=None, legendrank=None, legendwidth=None, line=None, - locationmode=None, - locations=None, - locationssrc=None, - lon=None, - lonsrc=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, text=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, unselected=None, visible=None, + xaxis=None, + yaxis=None, + zorder=None, row=None, col=None, + secondary_y=None, **kwargs, ) -> "FigureWidget": """ - Add a new Scattergeo trace + Add a new Scattercarpet trace - The data visualized as scatter point or lines on a geographic - map is provided either by longitude/latitude pairs in `lon` and - `lat` respectively or by geographic location IDs or names in - `locations`. + Plots a scatter trace on either the first carpet axis or the + carpet axis with a matching `carpet` attribute. Parameters ---------- + a + Sets the a-axis coordinates. + b + Sets the b-axis coordinates. + carpet + An identifier for this carpet, so that `scattercarpet` + and `contourcarpet` traces can specify a carpet plot on + which they lie connectgaps Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. @@ -14935,48 +12506,35 @@ def add_scattergeo( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - featureidkey - Sets the key in GeoJSON features which is used as id to - match the items included in the `locations` array. Only - has an effect when `geojson` is set. Support nested - property, for example "properties.name". fill Sets the area to fill with a solid color. Use with - `fillcolor` if not "none". "toself" connects the - endpoints of the trace (or each segment of the trace if - it has gaps) into a closed shape. + `fillcolor` if not "none". scatterternary has a subset + of the options available to scatter. "toself" connects + the endpoints of the trace (or each segment of the + trace if it has gaps) into a closed shape. "tonext" + fills the space between two traces if one completely + encloses the other (eg consecutive contour lines), and + behaves like "toself" if there is no trace before it. + "tonext" should not be used if one trace does not + enclose the other. fillcolor Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available. - geo - Sets a reference between this trace's geospatial - coordinates and a geographic map. If "geo" (the default - value), the geospatial coordinates refer to - `layout.geo`. If "geo2", the geospatial coordinates - refer to `layout.geo2`, and so on. - geojson - Sets optional GeoJSON data associated with this trace. - If not given, the features on the base map are used - when `locations` is set. It can be set as a valid - GeoJSON object or as a URL string. Note that we only - accept GeoJSONs of type "FeatureCollection" or - "Feature" with geometries of type "Polygon" or - "MultiPolygon". hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel - :class:`plotly.graph_objects.scattergeo.Hoverlabel` + :class:`plotly.graph_objects.scattercarpet.Hoverlabel` instance or dict with compatible properties + hoveron + Do the hover effects highlight individual points + (markers or line points) or do they highlight filled + regions? If the fill is "toself" or "tonext" and there + are no markers or text, then the default is "fills", + otherwise it is "points". hovertemplate Template string used for rendering the information that appear on hover box. Note that this will override @@ -15016,31 +12574,16 @@ def add_scattergeo( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext - Sets hover text elements associated with each (lon,lat) - pair or item in `locations`. If a single string, the - same string appears over all the data points. If an - array of string, the items are mapped in order to the - this trace's (lon,lat) or `locations` coordinates. To - be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. + Sets hover text elements associated with each (a,b) + point. If a single string, the same string appears over + all the data points. If an array of strings, the items + are mapped in order to the data points in (a,b). To be + seen, trace `hoverinfo` must contain a "text" flag. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. - lat - Sets the latitude coordinates (in degrees North). - latsrc - Sets the source reference on Chart Studio Cloud for - `lat`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -15052,8 +12595,8 @@ def add_scattergeo( part of the same legend group hide/show at the same time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.scattergeo.Legendgrouptitl - e` instance or dict with compatible properties + :class:`plotly.graph_objects.scattercarpet.Legendgroupt + itle` instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while @@ -15069,34 +12612,10 @@ def add_scattergeo( Sets the width (in px or fraction) of the legend for this trace. line - :class:`plotly.graph_objects.scattergeo.Line` instance - or dict with compatible properties - locationmode - The library used by the *country names* `locationmode` - option is changing in an upcoming version. Country - names in existing plots may not work in the new - version. Determines the set of locations used to match - entries in `locations` to regions on the map. Values - "ISO-3", "USA-states", *country names* correspond to - features on the base map and value "geojson-id" - corresponds to features from a custom GeoJSON linked to - the `geojson` attribute. "USA-states" accepts both two- - letter abbreviations (e.g. "CA") and full state names - (e.g. "California"). - locations - Sets the coordinates via location IDs or names. - Coordinates correspond to the centroid of each location - given. See `locationmode` for more info. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. - lon - Sets the longitude coordinates (in degrees East). - lonsrc - Sets the source reference on Chart Studio Cloud for - `lon`. + :class:`plotly.graph_objects.scattercarpet.Line` + instance or dict with compatible properties marker - :class:`plotly.graph_objects.scattergeo.Marker` + :class:`plotly.graph_objects.scattercarpet.Marker` instance or dict with compatible properties meta Assigns extra meta information associated with this @@ -15111,9 +12630,6 @@ def add_scattergeo( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -15127,7 +12643,7 @@ def add_scattergeo( opacity Sets the opacity of the trace. selected - :class:`plotly.graph_objects.scattergeo.Selected` + :class:`plotly.graph_objects.scattercarpet.Selected` instance or dict with compatible properties selectedpoints Array containing integer indices of selected points. @@ -15139,15 +12655,11 @@ def add_scattergeo( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scattergeo.Stream` - instance or dict with compatible properties text - Sets text elements associated with each (lon,lat) pair - or item in `locations`. If a single string, the same - string appears over all the data points. If an array of - string, the items are mapped in order to the this - trace's (lon,lat) or `locations` coordinates. If trace + Sets text elements associated with each (a,b) point. If + a single string, the same string appears over all the + data points. If an array of strings, the items are + mapped in order to the data points in (a,b). If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels. @@ -15156,12 +12668,6 @@ def add_scattergeo( textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -15183,15 +12689,12 @@ def add_scattergeo( the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access - to variables `lat`, `lon`, `location` and `text`. + to variables `a`, `b` and `text`. texttemplatefallback Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -15215,13 +12718,28 @@ def add_scattergeo( preserve user-driven changes if you give each trace a `uid` that stays with it as it moves. unselected - :class:`plotly.graph_objects.scattergeo.Unselected` + :class:`plotly.graph_objects.scattercarpet.Unselected` instance or dict with compatible properties visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). + xaxis + Sets a reference between this trace's x coordinates and + a 2D cartesian x axis. If "x" (the default value), the + x coordinates refer to `layout.xaxis`. If "x2", the x + coordinates refer to `layout.xaxis2`, and so on. + yaxis + Sets a reference between this trace's y coordinates and + a 2D cartesian y axis. If "y" (the default value), the + y coordinates refer to `layout.yaxis`. If "y2", the y + coordinates refer to `layout.yaxis2`, and so on. + zorder + Sets the layer on which this trace is displayed, + relative to other SVG traces on the same subplot. SVG + traces with higher `zorder` appear in front of those + with lower `zorder`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -15232,150 +12750,121 @@ def add_scattergeo( added. Only valid if figure was created using `plotly.tools.make_subplots`.If 'all', addresses all columns in the specified row(s). + secondary_y: boolean or None (default None) + If True, associate this trace with the secondary y-axis of the + subplot at the specified row and col. Only valid if all of the + following conditions are satisfied: + * The figure was created using `plotly.subplots.make_subplots`. + * The row and col arguments are not None + * The subplot at the specified row and col has type xy + (which is the default) and secondary_y True. These + properties are specified in the specs argument to + make_subplots. See the make_subplots docstring for more info. Returns ------- FigureWidget """ - from plotly.graph_objs import Scattergeo + from plotly.graph_objs import Scattercarpet - new_trace = Scattergeo( + new_trace = Scattercarpet( + a=a, + b=b, + carpet=carpet, connectgaps=connectgaps, customdata=customdata, - customdatasrc=customdatasrc, - featureidkey=featureidkey, fill=fill, fillcolor=fillcolor, - geo=geo, - geojson=geojson, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, + hoveron=hoveron, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, - lat=lat, - latsrc=latsrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, line=line, - locationmode=locationmode, - locations=locations, - locationssrc=locationssrc, - lon=lon, - lonsrc=lonsrc, marker=marker, meta=meta, - metasrc=metasrc, mode=mode, name=name, opacity=opacity, selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, text=text, textfont=textfont, textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, uid=uid, uirevision=uirevision, unselected=unselected, visible=visible, + xaxis=xaxis, + yaxis=yaxis, + zorder=zorder, **kwargs, ) - return self.add_trace(new_trace, row=row, col=col) + return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) - def add_scattergl( + def add_scattergeo( self, connectgaps=None, customdata=None, - customdatasrc=None, - dx=None, - dy=None, - error_x=None, - error_y=None, + featureidkey=None, fill=None, fillcolor=None, + geo=None, + geojson=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, + lat=None, legend=None, legendgroup=None, legendgrouptitle=None, legendrank=None, legendwidth=None, line=None, + locationmode=None, + locations=None, + lon=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, text=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, unselected=None, visible=None, - x=None, - x0=None, - xaxis=None, - xcalendar=None, - xhoverformat=None, - xperiod=None, - xperiod0=None, - xperiodalignment=None, - xsrc=None, - y=None, - y0=None, - yaxis=None, - ycalendar=None, - yhoverformat=None, - yperiod=None, - yperiod0=None, - yperiodalignment=None, - ysrc=None, row=None, col=None, - secondary_y=None, **kwargs, ) -> "FigureWidget": - """ - Add a new Scattergl trace - - The data visualized as scatter point or lines is set in `x` and - `y` using the WebGL plotting engine. Bubble charts are achieved - by setting `marker.size` and/or `marker.color` to a numerical - arrays. + """ + Add a new Scattergeo trace + + The data visualized as scatter point or lines on a geographic + map is provided either by longitude/latitude pairs in `lon` and + `lat` respectively or by geographic location IDs or names in + `locations`. Parameters ---------- @@ -15387,56 +12876,41 @@ def add_scattergl( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - dx - Sets the x coordinate step. See `x0` for more info. - dy - Sets the y coordinate step. See `y0` for more info. - error_x - :class:`plotly.graph_objects.scattergl.ErrorX` instance - or dict with compatible properties - error_y - :class:`plotly.graph_objects.scattergl.ErrorY` instance - or dict with compatible properties + featureidkey + Sets the key in GeoJSON features which is used as id to + match the items included in the `locations` array. Only + has an effect when `geojson` is set. Support nested + property, for example "properties.name". fill - Sets the area to fill with a solid color. Defaults to - "none" unless this trace is stacked, then it gets - "tonexty" ("tonextx") if `orientation` is "v" ("h") Use - with `fillcolor` if not "none". "tozerox" and "tozeroy" - fill to x=0 and y=0 respectively. "tonextx" and - "tonexty" fill between the endpoints of this trace and - the endpoints of the trace before it, connecting those - endpoints with straight lines (to make a stacked area - graph); if there is no trace before it, they behave - like "tozerox" and "tozeroy". "toself" connects the + Sets the area to fill with a solid color. Use with + `fillcolor` if not "none". "toself" connects the endpoints of the trace (or each segment of the trace if - it has gaps) into a closed shape. "tonext" fills the - space between two traces if one completely encloses the - other (eg consecutive contour lines), and behaves like - "toself" if there is no trace before it. "tonext" - should not be used if one trace does not enclose the - other. Traces in a `stackgroup` will only fill to (or - be filled to) other traces in the same group. With - multiple `stackgroup`s or some traces stacked and some - not, if fill-linked traces are not already consecutive, - the later ones will be pushed down in the drawing - order. + it has gaps) into a closed shape. fillcolor Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available. + geo + Sets a reference between this trace's geospatial + coordinates and a geographic map. If "geo" (the default + value), the geospatial coordinates refer to + `layout.geo`. If "geo2", the geospatial coordinates + refer to `layout.geo2`, and so on. + geojson + Sets optional GeoJSON data associated with this trace. + If not given, the features on the base map are used + when `locations` is set. It can be set as a valid + GeoJSON object or as a URL string. Note that we only + accept GeoJSONs of type "FeatureCollection" or + "Feature" with geometries of type "Polygon" or + "MultiPolygon". hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel - :class:`plotly.graph_objects.scattergl.Hoverlabel` + :class:`plotly.graph_objects.scattergeo.Hoverlabel` instance or dict with compatible properties hovertemplate Template string used for rendering the information that @@ -15477,26 +12951,19 @@ def add_scattergl( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext - Sets hover text elements associated with each (x,y) - pair. If a single string, the same string appears over - all the data points. If an array of string, the items - are mapped in order to the this trace's (x,y) - coordinates. To be seen, trace `hoverinfo` must contain - a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. + Sets hover text elements associated with each (lon,lat) + pair or item in `locations`. If a single string, the + same string appears over all the data points. If an + array of string, the items are mapped in order to the + this trace's (lon,lat) or `locations` coordinates. To + be seen, trace `hoverinfo` must contain a "text" flag. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. + lat + Sets the latitude coordinates (in degrees North). legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -15508,8 +12975,8 @@ def add_scattergl( part of the same legend group hide/show at the same time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.scattergl.Legendgrouptitle - ` instance or dict with compatible properties + :class:`plotly.graph_objects.scattergeo.Legendgrouptitl + e` instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while @@ -15525,11 +12992,26 @@ def add_scattergl( Sets the width (in px or fraction) of the legend for this trace. line - :class:`plotly.graph_objects.scattergl.Line` instance + :class:`plotly.graph_objects.scattergeo.Line` instance or dict with compatible properties + locationmode + Determines the set of locations used to match entries + in `locations` to regions on the map. Values "ISO-3", + "USA-states", *country names* correspond to features on + the base map and value "geojson-id" corresponds to + features from a custom GeoJSON linked to the `geojson` + attribute. "USA-states" accepts both two-letter + abbreviations (e.g. "CA") and full state names (e.g. + "California"). + locations + Sets the coordinates via location IDs or names. + Coordinates correspond to the centroid of each location + given. See `locationmode` for more info. + lon + Sets the longitude coordinates (in degrees East). marker - :class:`plotly.graph_objects.scattergl.Marker` instance - or dict with compatible properties + :class:`plotly.graph_objects.scattergeo.Marker` + instance or dict with compatible properties meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -15543,18 +13025,20 @@ def add_scattergl( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode - Determines the drawing mode for this scatter trace. + Determines the drawing mode for this scatter trace. If + the provided `mode` includes "text" then the `text` + elements appear at the coordinates. Otherwise, the + `text` elements appear on hover. If there are less than + 20 points and the trace is not stacked then the default + is "lines+markers". Otherwise, "lines". name Sets the trace name. The trace name appears as the legend item and on hover. opacity Sets the opacity of the trace. selected - :class:`plotly.graph_objects.scattergl.Selected` + :class:`plotly.graph_objects.scattergeo.Selected` instance or dict with compatible properties selectedpoints Array containing integer indices of selected points. @@ -15566,177 +13050,77 @@ def add_scattergl( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scattergl.Stream` instance - or dict with compatible properties text - Sets text elements associated with each (x,y) pair. If - a single string, the same string appears over all the - data points. If an array of string, the items are - mapped in order to the this trace's (x,y) coordinates. - If trace `hoverinfo` contains a "text" flag and - "hovertext" is not set, these elements will be seen in - the hover labels. + Sets text elements associated with each (lon,lat) pair + or item in `locations`. If a single string, the same + string appears over all the data points. If an array of + string, the items are mapped in order to the this + trace's (lon,lat) or `locations` coordinates. If trace + `hoverinfo` contains a "text" flag and "hovertext" is + not set, these elements will be seen in the hover + labels. textfont Sets the text font. textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate - Template string used for rendering the information text - that appears on points. Note that this will override - `textinfo`. Variables are inserted using %{variable}, - for example "y: %{y}". Numbers are formatted using - d3-format's syntax %{variable:d3-format}, for example - "Price: %{y:$.2f}". - https://github.com/d3/d3-format/tree/v1.4.5#d3-format - for details on the formatting syntax. Dates are - formatted using d3-time-format's syntax - %{variable|d3-time-format}, for example "Day: - %{2019-01-01|%A}". https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format for details on the - date formatting syntax. Variables that can't be found - will be replaced with the specifier. For example, a - template of "data: %{x}, %{y}" will result in a value - of "data: 1, %{y}" if x is 1 and y is missing. - Variables with an undefined value will be replaced with - the fallback value. All attributes that can be - specified per-point (the ones that are `arrayOk: true`) - are available. - texttemplatefallback - Fallback string that's displayed when a variable - referenced in a template is missing. If the boolean - value 'false' is passed in, the specifier with the - missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. - uid - Assign an id to this trace, Use this to provide object - constancy between traces during animations and - transitions. - uirevision - Controls persistence of some user-driven changes to the - trace: `constraintrange` in `parcoords` traces, as well - as some `editable: true` modifications such as `name` - and `colorbar.title`. Defaults to `layout.uirevision`. - Note that other user-driven trace attribute changes are - controlled by `layout` attributes: `trace.visible` is - controlled by `layout.legend.uirevision`, - `selectedpoints` is controlled by - `layout.selectionrevision`, and `colorbar.(x|y)` - (accessible with `config: {editable: true}`) is - controlled by `layout.editrevision`. Trace changes are - tracked by `uid`, which only falls back on trace index - if no `uid` is provided. So if your app can add/remove - traces before the end of the `data` array, such that - the same trace has a different index, you can still - preserve user-driven changes if you give each trace a - `uid` that stays with it as it moves. - unselected - :class:`plotly.graph_objects.scattergl.Unselected` - instance or dict with compatible properties - visible - Determines whether or not this trace is visible. If - "legendonly", the trace is not drawn, but can appear as - a legend item (provided that the legend itself is - visible). - x - Sets the x coordinates. - x0 - Alternate to `x`. Builds a linear space of x - coordinates. Use with `dx` where `x0` is the starting - coordinate and `dx` the step. - xaxis - Sets a reference between this trace's x coordinates and - a 2D cartesian x axis. If "x" (the default value), the - x coordinates refer to `layout.xaxis`. If "x2", the x - coordinates refer to `layout.xaxis2`, and so on. - xcalendar - Sets the calendar system to use with `x` date data. - xhoverformat - Sets the hover text formatting rulefor `x` using d3 - formatting mini-languages which are very similar to - those in Python. For numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - And for dates see: https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two items to - d3's date formatter: "%h" for half of the year as a - decimal number as well as "%{n}f" for fractional - seconds with n digits. For example, *2016-10-13 - 09:15:23.456* with tickformat "%H~%M~%S.%2f" would - display *09~15~23.46*By default the values are - formatted using `xaxis.hoverformat`. - xperiod - Only relevant when the axis `type` is "date". Sets the - period positioning in milliseconds or "M" on the x - axis. Special values in the form of "M" could be - used to declare the number of months. In this case `n` - must be a positive integer. - xperiod0 - Only relevant when the axis `type` is "date". Sets the - base for period positioning in milliseconds or date - string on the x0 axis. When `x0period` is round number - of weeks, the `x0period0` by default would be on a - Sunday i.e. 2000-01-02, otherwise it would be at - 2000-01-01. - xperiodalignment - Only relevant when the axis `type` is "date". Sets the - alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. - y - Sets the y coordinates. - y0 - Alternate to `y`. Builds a linear space of y - coordinates. Use with `dy` where `y0` is the starting - coordinate and `dy` the step. - yaxis - Sets a reference between this trace's y coordinates and - a 2D cartesian y axis. If "y" (the default value), the - y coordinates refer to `layout.yaxis`. If "y2", the y - coordinates refer to `layout.yaxis2`, and so on. - ycalendar - Sets the calendar system to use with `y` date data. - yhoverformat - Sets the hover text formatting rulefor `y` using d3 - formatting mini-languages which are very similar to - those in Python. For numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - And for dates see: https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two items to - d3's date formatter: "%h" for half of the year as a - decimal number as well as "%{n}f" for fractional - seconds with n digits. For example, *2016-10-13 - 09:15:23.456* with tickformat "%H~%M~%S.%2f" would - display *09~15~23.46*By default the values are - formatted using `yaxis.hoverformat`. - yperiod - Only relevant when the axis `type` is "date". Sets the - period positioning in milliseconds or "M" on the y - axis. Special values in the form of "M" could be - used to declare the number of months. In this case `n` - must be a positive integer. - yperiod0 - Only relevant when the axis `type` is "date". Sets the - base for period positioning in milliseconds or date - string on the y0 axis. When `y0period` is round number - of weeks, the `y0period0` by default would be on a - Sunday i.e. 2000-01-02, otherwise it would be at - 2000-01-01. - yperiodalignment - Only relevant when the axis `type` is "date". Sets the - alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. + Template string used for rendering the information text + that appears on points. Note that this will override + `textinfo`. Variables are inserted using %{variable}, + for example "y: %{y}". Numbers are formatted using + d3-format's syntax %{variable:d3-format}, for example + "Price: %{y:$.2f}". + https://github.com/d3/d3-format/tree/v1.4.5#d3-format + for details on the formatting syntax. Dates are + formatted using d3-time-format's syntax + %{variable|d3-time-format}, for example "Day: + %{2019-01-01|%A}". https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format for details on the + date formatting syntax. Variables that can't be found + will be replaced with the specifier. For example, a + template of "data: %{x}, %{y}" will result in a value + of "data: 1, %{y}" if x is 1 and y is missing. + Variables with an undefined value will be replaced with + the fallback value. All attributes that can be + specified per-point (the ones that are `arrayOk: true`) + are available. Finally, the template string has access + to variables `lat`, `lon`, `location` and `text`. + texttemplatefallback + Fallback string that's displayed when a variable + referenced in a template is missing. If the boolean + value 'false' is passed in, the specifier with the + missing variable will be displayed. + uid + Assign an id to this trace, Use this to provide object + constancy between traces during animations and + transitions. + uirevision + Controls persistence of some user-driven changes to the + trace: `constraintrange` in `parcoords` traces, as well + as some `editable: true` modifications such as `name` + and `colorbar.title`. Defaults to `layout.uirevision`. + Note that other user-driven trace attribute changes are + controlled by `layout` attributes: `trace.visible` is + controlled by `layout.legend.uirevision`, + `selectedpoints` is controlled by + `layout.selectionrevision`, and `colorbar.(x|y)` + (accessible with `config: {editable: true}`) is + controlled by `layout.editrevision`. Trace changes are + tracked by `uid`, which only falls back on trace index + if no `uid` is provided. So if your app can add/remove + traces before the end of the `data` array, such that + the same trace has a different index, you can still + preserve user-driven changes if you give each trace a + `uid` that stays with it as it moves. + unselected + :class:`plotly.graph_objects.scattergeo.Unselected` + instance or dict with compatible properties + visible + Determines whether or not this trace is visible. If + "legendonly", the trace is not drawn, but can appear as + a legend item (provided that the legend itself is + visible). row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -15747,166 +13131,128 @@ def add_scattergl( added. Only valid if figure was created using `plotly.tools.make_subplots`.If 'all', addresses all columns in the specified row(s). - secondary_y: boolean or None (default None) - If True, associate this trace with the secondary y-axis of the - subplot at the specified row and col. Only valid if all of the - following conditions are satisfied: - * The figure was created using `plotly.subplots.make_subplots`. - * The row and col arguments are not None - * The subplot at the specified row and col has type xy - (which is the default) and secondary_y True. These - properties are specified in the specs argument to - make_subplots. See the make_subplots docstring for more info. Returns ------- FigureWidget """ - from plotly.graph_objs import Scattergl + from plotly.graph_objs import Scattergeo - new_trace = Scattergl( + new_trace = Scattergeo( connectgaps=connectgaps, customdata=customdata, - customdatasrc=customdatasrc, - dx=dx, - dy=dy, - error_x=error_x, - error_y=error_y, + featureidkey=featureidkey, fill=fill, fillcolor=fillcolor, + geo=geo, + geojson=geojson, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, + lat=lat, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, line=line, + locationmode=locationmode, + locations=locations, + lon=lon, marker=marker, meta=meta, - metasrc=metasrc, mode=mode, name=name, opacity=opacity, selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, text=text, textfont=textfont, textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, uid=uid, uirevision=uirevision, unselected=unselected, visible=visible, - x=x, - x0=x0, - xaxis=xaxis, - xcalendar=xcalendar, - xhoverformat=xhoverformat, - xperiod=xperiod, - xperiod0=xperiod0, - xperiodalignment=xperiodalignment, - xsrc=xsrc, - y=y, - y0=y0, - yaxis=yaxis, - ycalendar=ycalendar, - yhoverformat=yhoverformat, - yperiod=yperiod, - yperiod0=yperiod0, - yperiodalignment=yperiodalignment, - ysrc=ysrc, **kwargs, ) - return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) + return self.add_trace(new_trace, row=row, col=col) - def add_scattermap( + def add_scattergl( self, - below=None, - cluster=None, connectgaps=None, customdata=None, - customdatasrc=None, + dx=None, + dy=None, + error_x=None, + error_y=None, fill=None, fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, - lat=None, - latsrc=None, legend=None, legendgroup=None, legendgrouptitle=None, legendrank=None, legendwidth=None, line=None, - lon=None, - lonsrc=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, - subplot=None, text=None, textfont=None, textposition=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, unselected=None, visible=None, + x=None, + x0=None, + xaxis=None, + xcalendar=None, + xhoverformat=None, + xperiod=None, + xperiod0=None, + xperiodalignment=None, + y=None, + y0=None, + yaxis=None, + ycalendar=None, + yhoverformat=None, + yperiod=None, + yperiod0=None, + yperiodalignment=None, row=None, col=None, + secondary_y=None, **kwargs, ) -> "FigureWidget": """ - Add a new Scattermap trace + Add a new Scattergl trace - The data visualized as scatter point, lines or marker symbols - on a MapLibre GL geographic map is provided by - longitude/latitude pairs in `lon` and `lat`. + The data visualized as scatter point or lines is set in `x` and + `y` using the WebGL plotting engine. Bubble charts are achieved + by setting `marker.size` and/or `marker.color` to a numerical + arrays. Parameters ---------- - below - Determines if this scattermap trace's layers are to be - inserted before the layer with the specified ID. By - default, scattermap layers are inserted above all the - base layers. To place the scattermap layers above every - other layer, set `below` to "''". - cluster - :class:`plotly.graph_objects.scattermap.Cluster` - instance or dict with compatible properties connectgaps Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. @@ -15915,28 +13261,50 @@ def add_scattermap( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. + dx + Sets the x coordinate step. See `x0` for more info. + dy + Sets the y coordinate step. See `y0` for more info. + error_x + :class:`plotly.graph_objects.scattergl.ErrorX` instance + or dict with compatible properties + error_y + :class:`plotly.graph_objects.scattergl.ErrorY` instance + or dict with compatible properties fill - Sets the area to fill with a solid color. Use with - `fillcolor` if not "none". "toself" connects the + Sets the area to fill with a solid color. Defaults to + "none" unless this trace is stacked, then it gets + "tonexty" ("tonextx") if `orientation` is "v" ("h") Use + with `fillcolor` if not "none". "tozerox" and "tozeroy" + fill to x=0 and y=0 respectively. "tonextx" and + "tonexty" fill between the endpoints of this trace and + the endpoints of the trace before it, connecting those + endpoints with straight lines (to make a stacked area + graph); if there is no trace before it, they behave + like "tozerox" and "tozeroy". "toself" connects the endpoints of the trace (or each segment of the trace if - it has gaps) into a closed shape. + it has gaps) into a closed shape. "tonext" fills the + space between two traces if one completely encloses the + other (eg consecutive contour lines), and behaves like + "toself" if there is no trace before it. "tonext" + should not be used if one trace does not enclose the + other. Traces in a `stackgroup` will only fill to (or + be filled to) other traces in the same group. With + multiple `stackgroup`s or some traces stacked and some + not, if fill-linked traces are not already consecutive, + the later ones will be pushed down in the drawing + order. fillcolor Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel - :class:`plotly.graph_objects.scattermap.Hoverlabel` + :class:`plotly.graph_objects.scattergl.Hoverlabel` instance or dict with compatible properties hovertemplate Template string used for rendering the information that @@ -15977,31 +13345,17 @@ def add_scattermap( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext - Sets hover text elements associated with each (lon,lat) - pair If a single string, the same string appears over + Sets hover text elements associated with each (x,y) + pair. If a single string, the same string appears over all the data points. If an array of string, the items - are mapped in order to the this trace's (lon,lat) + are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. - lat - Sets the latitude coordinates (in degrees North). - latsrc - Sets the source reference on Chart Studio Cloud for - `lat`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -16013,8 +13367,8 @@ def add_scattermap( part of the same legend group hide/show at the same time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.scattermap.Legendgrouptitl - e` instance or dict with compatible properties + :class:`plotly.graph_objects.scattergl.Legendgrouptitle + ` instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while @@ -16030,16 +13384,11 @@ def add_scattermap( Sets the width (in px or fraction) of the legend for this trace. line - :class:`plotly.graph_objects.scattermap.Line` instance + :class:`plotly.graph_objects.scattergl.Line` instance or dict with compatible properties - lon - Sets the longitude coordinates (in degrees East). - lonsrc - Sets the source reference on Chart Studio Cloud for - `lon`. marker - :class:`plotly.graph_objects.scattermap.Marker` - instance or dict with compatible properties + :class:`plotly.graph_objects.scattergl.Marker` instance + or dict with compatible properties meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -16053,21 +13402,15 @@ def add_scattermap( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode - Determines the drawing mode for this scatter trace. If - the provided `mode` includes "text" then the `text` - elements appear at the coordinates. Otherwise, the - `text` elements appear on hover. + Determines the drawing mode for this scatter trace. name Sets the trace name. The trace name appears as the legend item and on hover. opacity Sets the opacity of the trace. selected - :class:`plotly.graph_objects.scattermap.Selected` + :class:`plotly.graph_objects.scattergl.Selected` instance or dict with compatible properties selectedpoints Array containing integer indices of selected points. @@ -16079,32 +13422,19 @@ def add_scattermap( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scattermap.Stream` - instance or dict with compatible properties - subplot - Sets a reference between this trace's data coordinates - and a map subplot. If "map" (the default value), the - data refer to `layout.map`. If "map2", the data refer - to `layout.map2`, and so on. text - Sets text elements associated with each (lon,lat) pair - If a single string, the same string appears over all - the data points. If an array of string, the items are - mapped in order to the this trace's (lon,lat) - coordinates. If trace `hoverinfo` contains a "text" - flag and "hovertext" is not set, these elements will be - seen in the hover labels. + Sets text elements associated with each (x,y) pair. If + a single string, the same string appears over all the + data points. If an array of string, the items are + mapped in order to the this trace's (x,y) coordinates. + If trace `hoverinfo` contains a "text" flag and + "hovertext" is not set, these elements will be seen in + the hover labels. textfont - Sets the icon text font (color=map.layer.paint.text- - color, size=map.layer.layout.text-size). Has an effect - only when `type` is set to "symbol". + Sets the text font. textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -16125,16 +13455,12 @@ def add_scattermap( Variables with an undefined value will be replaced with the fallback value. All attributes that can be specified per-point (the ones that are `arrayOk: true`) - are available. Finally, the template string has access - to variables `lat`, `lon` and `text`. + are available. texttemplatefallback Fallback string that's displayed when a variable referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -16158,13 +13484,97 @@ def add_scattermap( preserve user-driven changes if you give each trace a `uid` that stays with it as it moves. unselected - :class:`plotly.graph_objects.scattermap.Unselected` + :class:`plotly.graph_objects.scattergl.Unselected` instance or dict with compatible properties visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). + x + Sets the x coordinates. + x0 + Alternate to `x`. Builds a linear space of x + coordinates. Use with `dx` where `x0` is the starting + coordinate and `dx` the step. + xaxis + Sets a reference between this trace's x coordinates and + a 2D cartesian x axis. If "x" (the default value), the + x coordinates refer to `layout.xaxis`. If "x2", the x + coordinates refer to `layout.xaxis2`, and so on. + xcalendar + Sets the calendar system to use with `x` date data. + xhoverformat + Sets the hover text formatting rule for `x` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. + And for dates see: https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format. We add two items to + d3's date formatter: "%h" for half of the year as a + decimal number as well as "%{n}f" for fractional + seconds with n digits. For example, *2016-10-13 + 09:15:23.456* with tickformat "%H~%M~%S.%2f" would + display *09~15~23.46*By default the values are + formatted using `xaxis.hoverformat`. + xperiod + Only relevant when the axis `type` is "date". Sets the + period positioning in milliseconds or "M" on the x + axis. Special values in the form of "M" could be + used to declare the number of months. In this case `n` + must be a positive integer. + xperiod0 + Only relevant when the axis `type` is "date". Sets the + base for period positioning in milliseconds or date + string on the x0 axis. When `x0period` is round number + of weeks, the `x0period0` by default would be on a + Sunday i.e. 2000-01-02, otherwise it would be at + 2000-01-01. + xperiodalignment + Only relevant when the axis `type` is "date". Sets the + alignment of data points on the x axis. + y + Sets the y coordinates. + y0 + Alternate to `y`. Builds a linear space of y + coordinates. Use with `dy` where `y0` is the starting + coordinate and `dy` the step. + yaxis + Sets a reference between this trace's y coordinates and + a 2D cartesian y axis. If "y" (the default value), the + y coordinates refer to `layout.yaxis`. If "y2", the y + coordinates refer to `layout.yaxis2`, and so on. + ycalendar + Sets the calendar system to use with `y` date data. + yhoverformat + Sets the hover text formatting rule for `y` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. + And for dates see: https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format. We add two items to + d3's date formatter: "%h" for half of the year as a + decimal number as well as "%{n}f" for fractional + seconds with n digits. For example, *2016-10-13 + 09:15:23.456* with tickformat "%H~%M~%S.%2f" would + display *09~15~23.46*By default the values are + formatted using `yaxis.hoverformat`. + yperiod + Only relevant when the axis `type` is "date". Sets the + period positioning in milliseconds or "M" on the y + axis. Special values in the form of "M" could be + used to declare the number of months. In this case `n` + must be a positive integer. + yperiod0 + Only relevant when the axis `type` is "date". Sets the + base for period positioning in milliseconds or date + string on the y0 axis. When `y0period` is round number + of weeks, the `y0period0` by default would be on a + Sunday i.e. 2000-01-02, otherwise it would be at + 2000-01-01. + yperiodalignment + Only relevant when the axis `type` is "date". Sets the + alignment of data points on the y axis. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -16175,88 +13585,96 @@ def add_scattermap( added. Only valid if figure was created using `plotly.tools.make_subplots`.If 'all', addresses all columns in the specified row(s). + secondary_y: boolean or None (default None) + If True, associate this trace with the secondary y-axis of the + subplot at the specified row and col. Only valid if all of the + following conditions are satisfied: + * The figure was created using `plotly.subplots.make_subplots`. + * The row and col arguments are not None + * The subplot at the specified row and col has type xy + (which is the default) and secondary_y True. These + properties are specified in the specs argument to + make_subplots. See the make_subplots docstring for more info. Returns ------- FigureWidget """ - from plotly.graph_objs import Scattermap + from plotly.graph_objs import Scattergl - new_trace = Scattermap( - below=below, - cluster=cluster, + new_trace = Scattergl( connectgaps=connectgaps, customdata=customdata, - customdatasrc=customdatasrc, + dx=dx, + dy=dy, + error_x=error_x, + error_y=error_y, fill=fill, fillcolor=fillcolor, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, - lat=lat, - latsrc=latsrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, line=line, - lon=lon, - lonsrc=lonsrc, marker=marker, meta=meta, - metasrc=metasrc, mode=mode, name=name, opacity=opacity, selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, - subplot=subplot, text=text, textfont=textfont, textposition=textposition, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, uid=uid, uirevision=uirevision, unselected=unselected, visible=visible, + x=x, + x0=x0, + xaxis=xaxis, + xcalendar=xcalendar, + xhoverformat=xhoverformat, + xperiod=xperiod, + xperiod0=xperiod0, + xperiodalignment=xperiodalignment, + y=y, + y0=y0, + yaxis=yaxis, + ycalendar=ycalendar, + yhoverformat=yhoverformat, + yperiod=yperiod, + yperiod0=yperiod0, + yperiodalignment=yperiodalignment, **kwargs, ) - return self.add_trace(new_trace, row=row, col=col) + return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) - def add_scattermapbox( + def add_scattermap( self, below=None, cluster=None, connectgaps=None, customdata=None, - customdatasrc=None, fill=None, fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, lat=None, - latsrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -16264,25 +13682,20 @@ def add_scattermapbox( legendwidth=None, line=None, lon=None, - lonsrc=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, subplot=None, text=None, textfont=None, textposition=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, unselected=None, @@ -16292,26 +13705,22 @@ def add_scattermapbox( **kwargs, ) -> "FigureWidget": """ - Add a new Scattermapbox trace + Add a new Scattermap trace - "scattermapbox" trace is deprecated! Please consider switching - to the "scattermap" trace type and `map` subplots. Learn more - at: https://plotly.com/python/maplibre-migration/ as well as - https://plotly.com/javascript/maplibre-migration/ The data - visualized as scatter point, lines or marker symbols on a - Mapbox GL geographic map is provided by longitude/latitude - pairs in `lon` and `lat`. + The data visualized as scatter point, lines or marker symbols + on a MapLibre GL geographic map is provided by + longitude/latitude pairs in `lon` and `lat`. Parameters ---------- below - Determines if this scattermapbox trace's layers are to - be inserted before the layer with the specified ID. By - default, scattermapbox layers are inserted above all - the base layers. To place the scattermapbox layers - above every other layer, set `below` to "''". + Determines if this scattermap trace's layers are to be + inserted before the layer with the specified ID. By + default, scattermap layers are inserted above all the + base layers. To place the scattermap layers above every + other layer, set `below` to "''". cluster - :class:`plotly.graph_objects.scattermapbox.Cluster` + :class:`plotly.graph_objects.scattermap.Cluster` instance or dict with compatible properties connectgaps Determines whether or not gaps (i.e. {nan} or missing @@ -16321,9 +13730,6 @@ def add_scattermapbox( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. fill Sets the area to fill with a solid color. Use with `fillcolor` if not "none". "toself" connects the @@ -16334,15 +13740,12 @@ def add_scattermapbox( variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel - :class:`plotly.graph_objects.scattermapbox.Hoverlabel` + :class:`plotly.graph_objects.scattermap.Hoverlabel` instance or dict with compatible properties hovertemplate Template string used for rendering the information that @@ -16383,9 +13786,6 @@ def add_scattermapbox( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (lon,lat) pair If a single string, the same string appears over @@ -16393,21 +13793,12 @@ def add_scattermapbox( are mapped in order to the this trace's (lon,lat) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. lat Sets the latitude coordinates (in degrees North). - latsrc - Sets the source reference on Chart Studio Cloud for - `lat`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -16419,8 +13810,8 @@ def add_scattermapbox( part of the same legend group hide/show at the same time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.scattermapbox.Legendgroupt - itle` instance or dict with compatible properties + :class:`plotly.graph_objects.scattermap.Legendgrouptitl + e` instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while @@ -16436,15 +13827,12 @@ def add_scattermapbox( Sets the width (in px or fraction) of the legend for this trace. line - :class:`plotly.graph_objects.scattermapbox.Line` - instance or dict with compatible properties + :class:`plotly.graph_objects.scattermap.Line` instance + or dict with compatible properties lon Sets the longitude coordinates (in degrees East). - lonsrc - Sets the source reference on Chart Studio Cloud for - `lon`. marker - :class:`plotly.graph_objects.scattermapbox.Marker` + :class:`plotly.graph_objects.scattermap.Marker` instance or dict with compatible properties meta Assigns extra meta information associated with this @@ -16459,9 +13847,6 @@ def add_scattermapbox( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -16473,7 +13858,7 @@ def add_scattermapbox( opacity Sets the opacity of the trace. selected - :class:`plotly.graph_objects.scattermapbox.Selected` + :class:`plotly.graph_objects.scattermap.Selected` instance or dict with compatible properties selectedpoints Array containing integer indices of selected points. @@ -16485,19 +13870,11 @@ def add_scattermapbox( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scattermapbox.Stream` - instance or dict with compatible properties subplot - mapbox subplots and traces are deprecated! Please - consider switching to `map` subplots and traces. Learn - more at: https://plotly.com/python/maplibre-migration/ - as well as https://plotly.com/javascript/maplibre- - migration/ Sets a reference between this trace's data - coordinates and a mapbox subplot. If "mapbox" (the - default value), the data refer to `layout.mapbox`. If - "mapbox2", the data refer to `layout.mapbox2`, and so - on. + Sets a reference between this trace's data coordinates + and a map subplot. If "map" (the default value), the + data refer to `layout.map`. If "map2", the data refer + to `layout.map2`, and so on. text Sets text elements associated with each (lon,lat) pair If a single string, the same string appears over all @@ -16507,15 +13884,12 @@ def add_scattermapbox( flag and "hovertext" is not set, these elements will be seen in the hover labels. textfont - Sets the icon text font (color=mapbox.layer.paint.text- - color, size=mapbox.layer.layout.text-size). Has an - effect only when `type` is set to "symbol". + Sets the icon text font (color=map.layer.paint.text- + color, size=map.layer.layout.text-size). Has an effect + only when `type` is set to "symbol". textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -16543,9 +13917,6 @@ def add_scattermapbox( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -16569,7 +13940,7 @@ def add_scattermapbox( preserve user-driven changes if you give each trace a `uid` that stays with it as it moves. unselected - :class:`plotly.graph_objects.scattermapbox.Unselected` + :class:`plotly.graph_objects.scattermap.Unselected` instance or dict with compatible properties visible Determines whether or not this trace is visible. If @@ -16591,28 +13962,22 @@ def add_scattermapbox( ------- FigureWidget """ - from plotly.graph_objs import Scattermapbox + from plotly.graph_objs import Scattermap - new_trace = Scattermapbox( + new_trace = Scattermap( below=below, cluster=cluster, connectgaps=connectgaps, customdata=customdata, - customdatasrc=customdatasrc, fill=fill, fillcolor=fillcolor, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, lat=lat, - latsrc=latsrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -16620,25 +13985,20 @@ def add_scattermapbox( legendwidth=legendwidth, line=line, lon=lon, - lonsrc=lonsrc, marker=marker, meta=meta, - metasrc=metasrc, mode=mode, name=name, opacity=opacity, selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, subplot=subplot, text=text, textfont=textfont, textposition=textposition, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, uid=uid, uirevision=uirevision, unselected=unselected, @@ -16652,22 +14012,17 @@ def add_scatterpolar( cliponaxis=None, connectgaps=None, customdata=None, - customdatasrc=None, dr=None, dtheta=None, fill=None, fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hoveron=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -16676,29 +14031,22 @@ def add_scatterpolar( line=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, r=None, r0=None, - rsrc=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, subplot=None, text=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, theta=None, theta0=None, - thetasrc=None, thetaunit=None, uid=None, uirevision=None, @@ -16735,9 +14083,6 @@ def add_scatterpolar( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dr Sets the r coordinate step. dtheta @@ -16760,13 +14105,10 @@ def add_scatterpolar( variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scatterpolar.Hoverlabel` instance or dict with compatible properties @@ -16815,9 +14157,6 @@ def add_scatterpolar( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over @@ -16825,16 +14164,10 @@ def add_scatterpolar( are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -16881,9 +14214,6 @@ def add_scatterpolar( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -16902,9 +14232,6 @@ def add_scatterpolar( Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step. - rsrc - Sets the source reference on Chart Studio Cloud for - `r`. selected :class:`plotly.graph_objects.scatterpolar.Selected` instance or dict with compatible properties @@ -16918,9 +14245,6 @@ def add_scatterpolar( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scatterpolar.Stream` - instance or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a polar subplot. If "polar" (the default value), @@ -16939,12 +14263,6 @@ def add_scatterpolar( textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -16972,18 +14290,12 @@ def add_scatterpolar( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. theta Sets the angular coordinates theta0 Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step. - thetasrc - Sets the source reference on Chart Studio Cloud for - `theta`. thetaunit Sets the unit of input "theta" values. Has an effect only when on "linear" angular axes. @@ -17038,22 +14350,17 @@ def add_scatterpolar( cliponaxis=cliponaxis, connectgaps=connectgaps, customdata=customdata, - customdatasrc=customdatasrc, dr=dr, dtheta=dtheta, fill=fill, fillcolor=fillcolor, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hoveron=hoveron, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -17062,29 +14369,22 @@ def add_scatterpolar( line=line, marker=marker, meta=meta, - metasrc=metasrc, mode=mode, name=name, opacity=opacity, r=r, r0=r0, - rsrc=rsrc, selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, subplot=subplot, text=text, textfont=textfont, textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, theta=theta, theta0=theta0, - thetasrc=thetasrc, thetaunit=thetaunit, uid=uid, uirevision=uirevision, @@ -17098,21 +14398,16 @@ def add_scatterpolargl( self, connectgaps=None, customdata=None, - customdatasrc=None, dr=None, dtheta=None, fill=None, fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -17121,29 +14416,22 @@ def add_scatterpolargl( line=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, r=None, r0=None, - rsrc=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, subplot=None, text=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, theta=None, theta0=None, - thetasrc=None, thetaunit=None, uid=None, uirevision=None, @@ -17173,9 +14461,6 @@ def add_scatterpolargl( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dr Sets the r coordinate step. dtheta @@ -17210,13 +14495,10 @@ def add_scatterpolargl( variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scatterpolargl.Hoverlabel` instance or dict with compatible properties @@ -17259,9 +14541,6 @@ def add_scatterpolargl( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over @@ -17269,16 +14548,10 @@ def add_scatterpolargl( are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -17325,9 +14598,6 @@ def add_scatterpolargl( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -17346,9 +14616,6 @@ def add_scatterpolargl( Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step. - rsrc - Sets the source reference on Chart Studio Cloud for - `r`. selected :class:`plotly.graph_objects.scatterpolargl.Selected` instance or dict with compatible properties @@ -17362,9 +14629,6 @@ def add_scatterpolargl( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scatterpolargl.Stream` - instance or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a polar subplot. If "polar" (the default value), @@ -17383,12 +14647,6 @@ def add_scatterpolargl( textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -17416,18 +14674,12 @@ def add_scatterpolargl( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. theta Sets the angular coordinates theta0 Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step. - thetasrc - Sets the source reference on Chart Studio Cloud for - `theta`. thetaunit Sets the unit of input "theta" values. Has an effect only when on "linear" angular axes. @@ -17481,21 +14733,16 @@ def add_scatterpolargl( new_trace = Scatterpolargl( connectgaps=connectgaps, customdata=customdata, - customdatasrc=customdatasrc, dr=dr, dtheta=dtheta, fill=fill, fillcolor=fillcolor, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -17504,29 +14751,22 @@ def add_scatterpolargl( line=line, marker=marker, meta=meta, - metasrc=metasrc, mode=mode, name=name, opacity=opacity, r=r, r0=r0, - rsrc=rsrc, selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, subplot=subplot, text=text, textfont=textfont, textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, theta=theta, theta0=theta0, - thetasrc=thetasrc, thetaunit=thetaunit, uid=uid, uirevision=uirevision, @@ -17541,22 +14781,16 @@ def add_scattersmith( cliponaxis=None, connectgaps=None, customdata=None, - customdatasrc=None, fill=None, fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hoveron=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, imag=None, - imagsrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -17565,25 +14799,19 @@ def add_scattersmith( line=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, real=None, - realsrc=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, subplot=None, text=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, unselected=None, @@ -17619,9 +14847,6 @@ def add_scattersmith( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. fill Sets the area to fill with a solid color. Use with `fillcolor` if not "none". scattersmith has a subset of @@ -17638,13 +14863,10 @@ def add_scattersmith( variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scattersmith.Hoverlabel` instance or dict with compatible properties @@ -17693,9 +14915,6 @@ def add_scattersmith( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over @@ -17703,23 +14922,14 @@ def add_scattersmith( are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. imag Sets the imaginary component of the data, in units of normalized impedance such that real=1, imag=0 is the center of the chart. - imagsrc - Sets the source reference on Chart Studio Cloud for - `imag`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -17766,9 +14976,6 @@ def add_scattersmith( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -17785,9 +14992,6 @@ def add_scattersmith( Sets the real component of the data, in units of normalized impedance such that real=1, imag=0 is the center of the chart. - realsrc - Sets the source reference on Chart Studio Cloud for - `real`. selected :class:`plotly.graph_objects.scattersmith.Selected` instance or dict with compatible properties @@ -17801,9 +15005,6 @@ def add_scattersmith( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scattersmith.Stream` - instance or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a smith subplot. If "smith" (the default value), @@ -17822,12 +15023,6 @@ def add_scattersmith( textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -17855,9 +15050,6 @@ def add_scattersmith( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -17909,22 +15101,16 @@ def add_scattersmith( cliponaxis=cliponaxis, connectgaps=connectgaps, customdata=customdata, - customdatasrc=customdatasrc, fill=fill, fillcolor=fillcolor, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hoveron=hoveron, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, imag=imag, - imagsrc=imagsrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -17933,25 +15119,19 @@ def add_scattersmith( line=line, marker=marker, meta=meta, - metasrc=metasrc, mode=mode, name=name, opacity=opacity, real=real, - realsrc=realsrc, selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, subplot=subplot, text=text, textfont=textfont, textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, uid=uid, uirevision=uirevision, unselected=unselected, @@ -17963,28 +15143,20 @@ def add_scattersmith( def add_scatterternary( self, a=None, - asrc=None, b=None, - bsrc=None, c=None, cliponaxis=None, connectgaps=None, - csrc=None, customdata=None, - customdatasrc=None, fill=None, fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hoveron=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -17993,24 +15165,19 @@ def add_scatterternary( line=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, subplot=None, sum=None, text=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, unselected=None, @@ -18034,18 +15201,12 @@ def add_scatterternary( normalized, only the relative values matter. If only two arrays are provided they must be normalized to match `ternary.sum`. - asrc - Sets the source reference on Chart Studio Cloud for - `a`. b Sets the quantity of component `a` in each data point. If `a`, `b`, and `c` are all provided, they need not be normalized, only the relative values matter. If only two arrays are provided they must be normalized to match `ternary.sum`. - bsrc - Sets the source reference on Chart Studio Cloud for - `b`. c Sets the quantity of component `a` in each data point. If `a`, `b`, and `c` are all provided, they need not be @@ -18061,17 +15222,11 @@ def add_scatterternary( connectgaps Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. - csrc - Sets the source reference on Chart Studio Cloud for - `c`. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. fill Sets the area to fill with a solid color. Use with `fillcolor` if not "none". scatterternary has a subset @@ -18088,13 +15243,10 @@ def add_scatterternary( variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scatterternary.Hoverlabel` instance or dict with compatible properties @@ -18143,26 +15295,16 @@ def add_scatterternary( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (a,b,c) point. If a single string, the same string appears over all the data points. If an array of strings, the items - are mapped in order to the the data points in (a,b,c). - To be seen, trace `hoverinfo` must contain a "text" - flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. + are mapped in order to the data points in (a,b,c). To + be seen, trace `hoverinfo` must contain a "text" flag. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -18209,9 +15351,6 @@ def add_scatterternary( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -18237,9 +15376,6 @@ def add_scatterternary( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scatterternary.Stream` - instance or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a ternary subplot. If "ternary" (the default @@ -18256,21 +15392,15 @@ def add_scatterternary( Sets text elements associated with each (a,b,c) point. If a single string, the same string appears over all the data points. If an array of strings, the items are - mapped in order to the the data points in (a,b,c). If - trace `hoverinfo` contains a "text" flag and - "hovertext" is not set, these elements will be seen in - the hover labels. + mapped in order to the data points in (a,b,c). If trace + `hoverinfo` contains a "text" flag and "hovertext" is + not set, these elements will be seen in the hover + labels. textfont Sets the text font. textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -18298,9 +15428,6 @@ def add_scatterternary( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -18350,28 +15477,20 @@ def add_scatterternary( new_trace = Scatterternary( a=a, - asrc=asrc, b=b, - bsrc=bsrc, c=c, cliponaxis=cliponaxis, connectgaps=connectgaps, - csrc=csrc, customdata=customdata, - customdatasrc=customdatasrc, fill=fill, fillcolor=fillcolor, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hoveron=hoveron, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -18380,24 +15499,19 @@ def add_scatterternary( line=line, marker=marker, meta=meta, - metasrc=metasrc, mode=mode, name=name, opacity=opacity, selected=selected, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, subplot=subplot, sum=sum, text=text, textfont=textfont, textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, uid=uid, uirevision=uirevision, unselected=unselected, @@ -18409,20 +15523,15 @@ def add_scatterternary( def add_splom( self, customdata=None, - customdatasrc=None, diagonal=None, dimensions=None, dimensiondefaults=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -18430,7 +15539,6 @@ def add_splom( legendwidth=None, marker=None, meta=None, - metasrc=None, name=None, opacity=None, selected=None, @@ -18438,9 +15546,7 @@ def add_splom( showlegend=None, showlowerhalf=None, showupperhalf=None, - stream=None, text=None, - textsrc=None, uid=None, uirevision=None, unselected=None, @@ -18471,9 +15577,6 @@ def add_splom( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. diagonal :class:`plotly.graph_objects.splom.Diagonal` instance or dict with compatible properties @@ -18487,13 +15590,10 @@ def add_splom( default property values to use for elements of splom.dimensions hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.splom.Hoverlabel` instance or dict with compatible properties @@ -18536,21 +15636,12 @@ def add_splom( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -18594,9 +15685,6 @@ def add_splom( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -18621,18 +15709,12 @@ def add_splom( showupperhalf Determines whether or not subplots on the upper half from the diagonal are displayed. - stream - :class:`plotly.graph_objects.splom.Stream` instance or - dict with compatible properties text Sets text elements associated with each (x,y) pair to appear on hover. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -18672,7 +15754,7 @@ def add_splom( false, this splom trace will generate one less x-axis and one less y-axis. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -18693,7 +15775,7 @@ def add_splom( false, this splom trace will generate one less x-axis and one less y-axis. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -18724,20 +15806,15 @@ def add_splom( new_trace = Splom( customdata=customdata, - customdatasrc=customdatasrc, diagonal=diagonal, dimensions=dimensions, dimensiondefaults=dimensiondefaults, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -18745,7 +15822,6 @@ def add_splom( legendwidth=legendwidth, marker=marker, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, selected=selected, @@ -18753,9 +15829,7 @@ def add_splom( showlegend=showlegend, showlowerhalf=showlowerhalf, showupperhalf=showupperhalf, - stream=stream, text=text, - textsrc=textsrc, uid=uid, uirevision=uirevision, unselected=unselected, @@ -18779,16 +15853,12 @@ def add_streamtube( colorbar=None, colorscale=None, customdata=None, - customdatasrc=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -18798,7 +15868,6 @@ def add_streamtube( lightposition=None, maxdisplayed=None, meta=None, - metasrc=None, name=None, opacity=None, reversescale=None, @@ -18807,29 +15876,22 @@ def add_streamtube( showscale=None, sizeref=None, starts=None, - stream=None, text=None, u=None, uhoverformat=None, uid=None, uirevision=None, - usrc=None, v=None, vhoverformat=None, visible=None, - vsrc=None, w=None, whoverformat=None, - wsrc=None, x=None, xhoverformat=None, - xsrc=None, y=None, yhoverformat=None, - ysrc=None, z=None, zhoverformat=None, - zsrc=None, row=None, col=None, **kwargs, @@ -18887,31 +15949,25 @@ def add_streamtube( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.streamtube.Hoverlabel` instance or dict with compatible properties @@ -18957,18 +16013,12 @@ def add_streamtube( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -19018,9 +16068,6 @@ def add_streamtube( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -19055,9 +16102,6 @@ def add_streamtube( starts :class:`plotly.graph_objects.streamtube.Starts` instance or dict with compatible properties - stream - :class:`plotly.graph_objects.streamtube.Stream` - instance or dict with compatible properties text Sets a text element associated with this trace. If trace `hoverinfo` contains a "text" flag, this text @@ -19066,7 +16110,7 @@ def add_streamtube( u Sets the x components of the vector field. uhoverformat - Sets the hover text formatting rulefor `u` using d3 + Sets the hover text formatting rule for `u` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values @@ -19093,13 +16137,10 @@ def add_streamtube( the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves. - usrc - Sets the source reference on Chart Studio Cloud for - `u`. v Sets the y components of the vector field. vhoverformat - Sets the hover text formatting rulefor `v` using d3 + Sets the hover text formatting rule for `v` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values @@ -19109,24 +16150,18 @@ def add_streamtube( "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). - vsrc - Sets the source reference on Chart Studio Cloud for - `v`. w Sets the z components of the vector field. whoverformat - Sets the hover text formatting rulefor `w` using d3 + Sets the hover text formatting rule for `w` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format. - wsrc - Sets the source reference on Chart Studio Cloud for - `w`. x Sets the x coordinates of the vector field. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -19138,13 +16173,10 @@ def add_streamtube( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates of the vector field. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -19156,13 +16188,10 @@ def add_streamtube( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the z coordinates of the vector field. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -19174,9 +16203,6 @@ def add_streamtube( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -19204,16 +16230,12 @@ def add_streamtube( colorbar=colorbar, colorscale=colorscale, customdata=customdata, - customdatasrc=customdatasrc, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -19223,7 +16245,6 @@ def add_streamtube( lightposition=lightposition, maxdisplayed=maxdisplayed, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, reversescale=reversescale, @@ -19232,29 +16253,22 @@ def add_streamtube( showscale=showscale, sizeref=sizeref, starts=starts, - stream=stream, text=text, u=u, uhoverformat=uhoverformat, uid=uid, uirevision=uirevision, - usrc=usrc, v=v, vhoverformat=vhoverformat, visible=visible, - vsrc=vsrc, w=w, whoverformat=whoverformat, - wsrc=wsrc, x=x, xhoverformat=xhoverformat, - xsrc=xsrc, y=y, yhoverformat=yhoverformat, - ysrc=ysrc, z=z, zhoverformat=zhoverformat, - zsrc=zsrc, **kwargs, ) return self.add_trace(new_trace, row=row, col=col) @@ -19264,22 +16278,16 @@ def add_sunburst( branchvalues=None, count=None, customdata=None, - customdatasrc=None, domain=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, insidetextfont=None, insidetextorientation=None, labels=None, - labelssrc=None, leaf=None, legend=None, legendgrouptitle=None, @@ -19289,27 +16297,21 @@ def add_sunburst( marker=None, maxdepth=None, meta=None, - metasrc=None, name=None, opacity=None, outsidetextfont=None, parents=None, - parentssrc=None, root=None, rotation=None, sort=None, - stream=None, text=None, textfont=None, textinfo=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, values=None, - valuessrc=None, visible=None, row=None, col=None, @@ -19340,20 +16342,15 @@ def add_sunburst( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. domain :class:`plotly.graph_objects.sunburst.Domain` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. + Determines what trace information appears on hover. + Flags are rendered in a fixed order; use + `hovertemplate` if you need explicit control over the + rendered string, including the order of fields and + surrounding text. hoverlabel :class:`plotly.graph_objects.sunburst.Hoverlabel` instance or dict with compatible properties @@ -19399,25 +16396,16 @@ def add_sunburst( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextfont Sets the font used for `textinfo` lying inside the sector. @@ -19433,9 +16421,6 @@ def add_sunburst( perpendicular to the radius of the sector. labels Sets the labels of each of the sectors. - labelssrc - Sets the source reference on Chart Studio Cloud for - `labels`. leaf :class:`plotly.graph_objects.sunburst.Leaf` instance or dict with compatible properties @@ -19488,9 +16473,6 @@ def add_sunburst( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -19510,9 +16492,6 @@ def add_sunburst( items are understood to be "ids" themselves. When `ids` is not set, plotly attempts to find matching items in `labels`, but beware they must be unique. - parentssrc - Sets the source reference on Chart Studio Cloud for - `parents`. root :class:`plotly.graph_objects.sunburst.Root` instance or dict with compatible properties @@ -19522,9 +16501,6 @@ def add_sunburst( sort Determines whether or not the sectors are reordered from largest to smallest. - stream - :class:`plotly.graph_objects.sunburst.Stream` instance - or dict with compatible properties text Sets text elements associated with each sector. If trace `textinfo` contains a "text" flag, these elements @@ -19534,10 +16510,10 @@ def add_sunburst( textfont Sets the font used for `textinfo`. textinfo - Determines which trace information appear on the graph. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. + Determines what trace information appears on the graph. + Flags are rendered in a fixed order; use `texttemplate` + if you need explicit control over the rendered string, + including the order of fields and surrounding text. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -19567,9 +16543,6 @@ def add_sunburst( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -19596,9 +16569,6 @@ def add_sunburst( Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -19625,22 +16595,16 @@ def add_sunburst( branchvalues=branchvalues, count=count, customdata=customdata, - customdatasrc=customdatasrc, domain=domain, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, insidetextfont=insidetextfont, insidetextorientation=insidetextorientation, labels=labels, - labelssrc=labelssrc, leaf=leaf, legend=legend, legendgrouptitle=legendgrouptitle, @@ -19650,27 +16614,21 @@ def add_sunburst( marker=marker, maxdepth=maxdepth, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, outsidetextfont=outsidetextfont, parents=parents, - parentssrc=parentssrc, root=root, rotation=rotation, sort=sort, - stream=stream, text=text, textfont=textfont, textinfo=textinfo, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, uid=uid, uirevision=uirevision, values=values, - valuessrc=valuessrc, visible=visible, **kwargs, ) @@ -19689,18 +16647,13 @@ def add_surface( connectgaps=None, contours=None, customdata=None, - customdatasrc=None, hidesurface=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -19709,7 +16662,6 @@ def add_surface( lighting=None, lightposition=None, meta=None, - metasrc=None, name=None, opacity=None, opacityscale=None, @@ -19717,26 +16669,20 @@ def add_surface( scene=None, showlegend=None, showscale=None, - stream=None, surfacecolor=None, - surfacecolorsrc=None, text=None, - textsrc=None, uid=None, uirevision=None, visible=None, x=None, xcalendar=None, xhoverformat=None, - xsrc=None, y=None, ycalendar=None, yhoverformat=None, - ysrc=None, z=None, zcalendar=None, zhoverformat=None, - zsrc=None, row=None, col=None, **kwargs, @@ -19794,15 +16740,15 @@ def add_surface( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. connectgaps Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in. @@ -19814,22 +16760,16 @@ def add_surface( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. hidesurface Determines whether or not a surface is drawn. For example, set `hidesurface` to False `contours.x.show` to True and `contours.y.show` to True to draw a wire frame plot. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.surface.Hoverlabel` instance or dict with compatible properties @@ -19872,21 +16812,12 @@ def add_surface( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -19933,9 +16864,6 @@ def add_surface( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -19974,23 +16902,14 @@ def add_surface( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.surface.Stream` instance - or dict with compatible properties surfacecolor Sets the surface color values, used for setting a color scale independent of `z`. - surfacecolorsrc - Sets the source reference on Chart Studio Cloud for - `surfacecolor`. text Sets the text elements associated with each z value. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -20023,7 +16942,7 @@ def add_surface( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -20035,15 +16954,12 @@ def add_surface( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates. ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -20055,15 +16971,12 @@ def add_surface( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the z coordinates. zcalendar Sets the calendar system to use with `z` date data. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -20075,9 +16988,6 @@ def add_surface( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -20107,18 +17017,13 @@ def add_surface( connectgaps=connectgaps, contours=contours, customdata=customdata, - customdatasrc=customdatasrc, hidesurface=hidesurface, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, legend=legend, legendgroup=legendgroup, legendgrouptitle=legendgrouptitle, @@ -20127,7 +17032,6 @@ def add_surface( lighting=lighting, lightposition=lightposition, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, opacityscale=opacityscale, @@ -20135,26 +17039,20 @@ def add_surface( scene=scene, showlegend=showlegend, showscale=showscale, - stream=stream, surfacecolor=surfacecolor, - surfacecolorsrc=surfacecolorsrc, text=text, - textsrc=textsrc, uid=uid, uirevision=uirevision, visible=visible, x=x, xcalendar=xcalendar, xhoverformat=xhoverformat, - xsrc=xsrc, y=y, ycalendar=ycalendar, yhoverformat=yhoverformat, - ysrc=ysrc, z=z, zcalendar=zcalendar, zhoverformat=zhoverformat, - zsrc=zsrc, **kwargs, ) return self.add_trace(new_trace, row=row, col=col) @@ -20163,26 +17061,19 @@ def add_table( self, cells=None, columnorder=None, - columnordersrc=None, columnwidth=None, - columnwidthsrc=None, customdata=None, - customdatasrc=None, domain=None, header=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, ids=None, - idssrc=None, legend=None, legendgrouptitle=None, legendrank=None, legendwidth=None, meta=None, - metasrc=None, name=None, - stream=None, uid=None, uirevision=None, visible=None, @@ -20209,24 +17100,15 @@ def add_table( example, a value `2` at position `0` means that column index `0` in the data will be rendered as the third column, as columns have an index base of zero. - columnordersrc - Sets the source reference on Chart Studio Cloud for - `columnorder`. columnwidth The width of columns expressed as a ratio. Columns fill the available width in proportion of their specified column widths. - columnwidthsrc - Sets the source reference on Chart Studio Cloud for - `columnwidth`. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. domain :class:`plotly.graph_objects.table.Domain` instance or dict with compatible properties @@ -20234,13 +17116,10 @@ def add_table( :class:`plotly.graph_objects.table.Header` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.table.Hoverlabel` instance or dict with compatible properties @@ -20248,9 +17127,6 @@ def add_table( Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -20287,15 +17163,9 @@ def add_table( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. - stream - :class:`plotly.graph_objects.table.Stream` instance or - dict with compatible properties uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -20343,26 +17213,19 @@ def add_table( new_trace = Table( cells=cells, columnorder=columnorder, - columnordersrc=columnordersrc, columnwidth=columnwidth, - columnwidthsrc=columnwidthsrc, customdata=customdata, - customdatasrc=customdatasrc, domain=domain, header=header, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, ids=ids, - idssrc=idssrc, legend=legend, legendgrouptitle=legendgrouptitle, legendrank=legendrank, legendwidth=legendwidth, meta=meta, - metasrc=metasrc, name=name, - stream=stream, uid=uid, uirevision=uirevision, visible=visible, @@ -20375,21 +17238,15 @@ def add_treemap( branchvalues=None, count=None, customdata=None, - customdatasrc=None, domain=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, insidetextfont=None, labels=None, - labelssrc=None, legend=None, legendgrouptitle=None, legendrank=None, @@ -20398,29 +17255,23 @@ def add_treemap( marker=None, maxdepth=None, meta=None, - metasrc=None, name=None, opacity=None, outsidetextfont=None, parents=None, - parentssrc=None, pathbar=None, root=None, sort=None, - stream=None, text=None, textfont=None, textinfo=None, textposition=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, tiling=None, uid=None, uirevision=None, values=None, - valuessrc=None, visible=None, row=None, col=None, @@ -20452,20 +17303,15 @@ def add_treemap( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. domain :class:`plotly.graph_objects.treemap.Domain` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. + Determines what trace information appears on hover. + Flags are rendered in a fixed order; use + `hovertemplate` if you need explicit control over the + rendered string, including the order of fields and + surrounding text. hoverlabel :class:`plotly.graph_objects.treemap.Hoverlabel` instance or dict with compatible properties @@ -20511,33 +17357,21 @@ def add_treemap( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextfont Sets the font used for `textinfo` lying inside the sector. labels Sets the labels of each of the sectors. - labelssrc - Sets the source reference on Chart Studio Cloud for - `labels`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -20587,9 +17421,6 @@ def add_treemap( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -20609,9 +17440,6 @@ def add_treemap( items are understood to be "ids" themselves. When `ids` is not set, plotly attempts to find matching items in `labels`, but beware they must be unique. - parentssrc - Sets the source reference on Chart Studio Cloud for - `parents`. pathbar :class:`plotly.graph_objects.treemap.Pathbar` instance or dict with compatible properties @@ -20621,9 +17449,6 @@ def add_treemap( sort Determines whether or not the sectors are reordered from largest to smallest. - stream - :class:`plotly.graph_objects.treemap.Stream` instance - or dict with compatible properties text Sets text elements associated with each sector. If trace `textinfo` contains a "text" flag, these elements @@ -20633,12 +17458,12 @@ def add_treemap( textfont Sets the font used for `textinfo`. textinfo - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. + Flags are rendered in a fixed order; use `texttemplate` + if you need explicit control over the rendered string, + including the order of fields and surrounding text. textposition Sets the positions of the `text` elements. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -20668,9 +17493,6 @@ def add_treemap( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. tiling :class:`plotly.graph_objects.treemap.Tiling` instance or dict with compatible properties @@ -20700,9 +17522,6 @@ def add_treemap( Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -20729,21 +17548,15 @@ def add_treemap( branchvalues=branchvalues, count=count, customdata=customdata, - customdatasrc=customdatasrc, domain=domain, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, insidetextfont=insidetextfont, labels=labels, - labelssrc=labelssrc, legend=legend, legendgrouptitle=legendgrouptitle, legendrank=legendrank, @@ -20752,29 +17565,23 @@ def add_treemap( marker=marker, maxdepth=maxdepth, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, outsidetextfont=outsidetextfont, parents=parents, - parentssrc=parentssrc, pathbar=pathbar, root=root, sort=sort, - stream=stream, text=text, textfont=textfont, textinfo=textinfo, textposition=textposition, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, tiling=tiling, uid=uid, uirevision=uirevision, values=values, - valuessrc=valuessrc, visible=visible, **kwargs, ) @@ -20786,19 +17593,14 @@ def add_violin( bandwidth=None, box=None, customdata=None, - customdatasrc=None, fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hoveron=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, jitter=None, legend=None, legendgroup=None, @@ -20809,7 +17611,6 @@ def add_violin( marker=None, meanline=None, meta=None, - metasrc=None, name=None, offsetgroup=None, opacity=None, @@ -20825,9 +17626,7 @@ def add_violin( side=None, span=None, spanmode=None, - stream=None, text=None, - textsrc=None, uid=None, uirevision=None, unselected=None, @@ -20837,12 +17636,10 @@ def add_violin( x0=None, xaxis=None, xhoverformat=None, - xsrc=None, y=None, y0=None, yaxis=None, yhoverformat=None, - ysrc=None, zorder=None, row=None, col=None, @@ -20856,8 +17653,7 @@ def add_violin( using `y` (`x`) values. By supplying an `x` (`y`) array, one violin per distinct x (y) value is drawn If no `x` (`y`) list is provided, a single violin is drawn. That violin position is - then positioned with with `name` or with `x0` (`y0`) if - provided. + then positioned with `name` or with `x0` (`y0`) if provided. Parameters ---------- @@ -20878,21 +17674,15 @@ def add_violin( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. fillcolor Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.violin.Hoverlabel` instance or dict with compatible properties @@ -20939,21 +17729,12 @@ def add_violin( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. jitter Sets the amount of jitter in the sample points drawn. If 0, the sample points align along the distribution @@ -21008,9 +17789,6 @@ def add_violin( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. For violin traces, the name @@ -21063,9 +17841,9 @@ def add_violin( and Q3 the median of the upper half. scalegroup If there are multiple violins that should be sized - according to to some metric (see `scalemode`), link - them by providing a non-empty group id here shared by - every trace in the same group. If a violin's `width` is + according to some metric (see `scalemode`), link them + by providing a non-empty group id here shared by every + trace in the same group. If a violin's `width` is undefined, `scalegroup` will default to the trace's name. In this case, violins with the same names will be linked together @@ -21106,9 +17884,6 @@ def add_violin( sample's minimum to its maximum value. For custom span settings, use mode "manual" and fill in the `span` attribute. - stream - :class:`plotly.graph_objects.violin.Stream` instance or - dict with compatible properties text Sets the text elements associated with each sample value. If a single string, the same string appears over @@ -21116,9 +17891,6 @@ def add_violin( are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -21167,7 +17939,7 @@ def add_violin( x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -21179,9 +17951,6 @@ def add_violin( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y sample data or coordinates. See overview for more info. @@ -21195,7 +17964,7 @@ def add_violin( y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -21207,9 +17976,6 @@ def add_violin( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -21247,19 +18013,14 @@ def add_violin( bandwidth=bandwidth, box=box, customdata=customdata, - customdatasrc=customdatasrc, fillcolor=fillcolor, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hoveron=hoveron, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, jitter=jitter, legend=legend, legendgroup=legendgroup, @@ -21270,7 +18031,6 @@ def add_violin( marker=marker, meanline=meanline, meta=meta, - metasrc=metasrc, name=name, offsetgroup=offsetgroup, opacity=opacity, @@ -21286,9 +18046,7 @@ def add_violin( side=side, span=span, spanmode=spanmode, - stream=stream, text=text, - textsrc=textsrc, uid=uid, uirevision=uirevision, unselected=unselected, @@ -21298,12 +18056,10 @@ def add_violin( x0=x0, xaxis=xaxis, xhoverformat=xhoverformat, - xsrc=xsrc, y=y, y0=y0, yaxis=yaxis, yhoverformat=yhoverformat, - ysrc=ysrc, zorder=zorder, **kwargs, ) @@ -21322,18 +18078,13 @@ def add_volume( colorscale=None, contour=None, customdata=None, - customdatasrc=None, flatshading=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, isomax=None, isomin=None, legend=None, @@ -21344,7 +18095,6 @@ def add_volume( lighting=None, lightposition=None, meta=None, - metasrc=None, name=None, opacity=None, opacityscale=None, @@ -21354,25 +18104,19 @@ def add_volume( showscale=None, slices=None, spaceframe=None, - stream=None, surface=None, text=None, - textsrc=None, uid=None, uirevision=None, value=None, valuehoverformat=None, - valuesrc=None, visible=None, x=None, xhoverformat=None, - xsrc=None, y=None, yhoverformat=None, - ysrc=None, z=None, zhoverformat=None, - zsrc=None, row=None, col=None, **kwargs, @@ -21430,15 +18174,15 @@ def add_volume( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. contour :class:`plotly.graph_objects.volume.Contour` instance or dict with compatible properties @@ -21447,21 +18191,15 @@ def add_volume( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. flatshading Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low- poly look via flat reflections. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.volume.Hoverlabel` instance or dict with compatible properties @@ -21504,21 +18242,12 @@ def add_volume( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. isomax Sets the maximum boundary for iso-surface plot. isomin @@ -21569,9 +18298,6 @@ def add_volume( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -21616,9 +18342,6 @@ def add_volume( spaceframe :class:`plotly.graph_objects.volume.Spaceframe` instance or dict with compatible properties - stream - :class:`plotly.graph_objects.volume.Stream` instance or - dict with compatible properties surface :class:`plotly.graph_objects.volume.Surface` instance or dict with compatible properties @@ -21627,9 +18350,6 @@ def add_volume( trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -21655,14 +18375,11 @@ def add_volume( value Sets the 4th dimension (value) of the vertices. valuehoverformat - Sets the hover text formatting rulefor `value` using + Sets the hover text formatting rule for `value` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format. - valuesrc - Sets the source reference on Chart Studio Cloud for - `value`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -21671,7 +18388,7 @@ def add_volume( x Sets the X coordinates of the vertices on X axis. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -21683,13 +18400,10 @@ def add_volume( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the Y coordinates of the vertices on Y axis. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -21701,13 +18415,10 @@ def add_volume( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the Z coordinates of the vertices on Z axis. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -21719,9 +18430,6 @@ def add_volume( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. row : 'all', int or None (default) Subplot row index (starting from 1) for the trace to be added. Only valid if figure was created using @@ -21751,18 +18459,13 @@ def add_volume( colorscale=colorscale, contour=contour, customdata=customdata, - customdatasrc=customdatasrc, flatshading=flatshading, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, isomax=isomax, isomin=isomin, legend=legend, @@ -21773,7 +18476,6 @@ def add_volume( lighting=lighting, lightposition=lightposition, meta=meta, - metasrc=metasrc, name=name, opacity=opacity, opacityscale=opacityscale, @@ -21783,25 +18485,19 @@ def add_volume( showscale=showscale, slices=slices, spaceframe=spaceframe, - stream=stream, surface=surface, text=text, - textsrc=textsrc, uid=uid, uirevision=uirevision, value=value, valuehoverformat=valuehoverformat, - valuesrc=valuesrc, visible=visible, x=x, xhoverformat=xhoverformat, - xsrc=xsrc, y=y, yhoverformat=yhoverformat, - ysrc=ysrc, z=z, zhoverformat=zhoverformat, - zsrc=zsrc, **kwargs, ) return self.add_trace(new_trace, row=row, col=col) @@ -21814,20 +18510,15 @@ def add_waterfall( connector=None, constraintext=None, customdata=None, - customdatasrc=None, decreasing=None, dx=None, dy=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, increasing=None, insidetextanchor=None, insidetextfont=None, @@ -21837,35 +18528,27 @@ def add_waterfall( legendrank=None, legendwidth=None, measure=None, - measuresrc=None, meta=None, - metasrc=None, name=None, offset=None, offsetgroup=None, - offsetsrc=None, opacity=None, orientation=None, outsidetextfont=None, selectedpoints=None, showlegend=None, - stream=None, text=None, textangle=None, textfont=None, textinfo=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, totals=None, uid=None, uirevision=None, visible=None, width=None, - widthsrc=None, x=None, x0=None, xaxis=None, @@ -21873,7 +18556,6 @@ def add_waterfall( xperiod=None, xperiod0=None, xperiodalignment=None, - xsrc=None, y=None, y0=None, yaxis=None, @@ -21881,7 +18563,6 @@ def add_waterfall( yperiod=None, yperiod0=None, yperiodalignment=None, - ysrc=None, zorder=None, row=None, col=None, @@ -21924,9 +18605,6 @@ def add_waterfall( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. decreasing :class:`plotly.graph_objects.waterfall.Decreasing` instance or dict with compatible properties @@ -21935,13 +18613,10 @@ def add_waterfall( dy Sets the y coordinate step. See `y0` for more info. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.waterfall.Hoverlabel` instance or dict with compatible properties @@ -21986,9 +18661,6 @@ def add_waterfall( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over @@ -21996,16 +18668,10 @@ def add_waterfall( are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. increasing :class:`plotly.graph_objects.waterfall.Increasing` instance or dict with compatible properties @@ -22047,9 +18713,6 @@ def add_waterfall( possible to use 'total' to compute the sums. Also 'absolute' could be applied to reset the computed total or to declare an initial value where needed. - measuresrc - Sets the source reference on Chart Studio Cloud for - `measure`. meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -22063,9 +18726,6 @@ def add_waterfall( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -22078,9 +18738,6 @@ def add_waterfall( Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up. - offsetsrc - Sets the source reference on Chart Studio Cloud for - `offset`. opacity Sets the opacity of the trace. orientation @@ -22099,9 +18756,6 @@ def add_waterfall( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.waterfall.Stream` instance - or dict with compatible properties text Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the @@ -22119,9 +18773,12 @@ def add_waterfall( textfont Sets the font used for `text`. textinfo - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. In the case of having multiple waterfalls, totals are - computed separately (per trace). + computed separately (per trace). Flags are rendered in + a fixed order; use `texttemplate` if you need explicit + control over the rendered string, including the order + of fields and surrounding text. textposition Specifies the location of the `text`. "inside" positions `text` inside, next to the bar end (rotated @@ -22132,12 +18789,6 @@ def add_waterfall( inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -22165,9 +18816,6 @@ def add_waterfall( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. totals :class:`plotly.graph_objects.waterfall.Totals` instance or dict with compatible properties @@ -22200,9 +18848,6 @@ def add_waterfall( visible). width Sets the bar width (in position axis units). - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. x Sets the x coordinates. x0 @@ -22215,7 +18860,7 @@ def add_waterfall( x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -22243,9 +18888,6 @@ def add_waterfall( xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates. y0 @@ -22258,7 +18900,7 @@ def add_waterfall( y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -22286,9 +18928,6 @@ def add_waterfall( yperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -22328,20 +18967,15 @@ def add_waterfall( connector=connector, constraintext=constraintext, customdata=customdata, - customdatasrc=customdatasrc, decreasing=decreasing, dx=dx, dy=dy, hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, hoverlabel=hoverlabel, hovertemplate=hovertemplate, hovertemplatefallback=hovertemplatefallback, - hovertemplatesrc=hovertemplatesrc, hovertext=hovertext, - hovertextsrc=hovertextsrc, ids=ids, - idssrc=idssrc, increasing=increasing, insidetextanchor=insidetextanchor, insidetextfont=insidetextfont, @@ -22351,35 +18985,27 @@ def add_waterfall( legendrank=legendrank, legendwidth=legendwidth, measure=measure, - measuresrc=measuresrc, meta=meta, - metasrc=metasrc, name=name, offset=offset, offsetgroup=offsetgroup, - offsetsrc=offsetsrc, opacity=opacity, orientation=orientation, outsidetextfont=outsidetextfont, selectedpoints=selectedpoints, showlegend=showlegend, - stream=stream, text=text, textangle=textangle, textfont=textfont, textinfo=textinfo, textposition=textposition, - textpositionsrc=textpositionsrc, - textsrc=textsrc, texttemplate=texttemplate, texttemplatefallback=texttemplatefallback, - texttemplatesrc=texttemplatesrc, totals=totals, uid=uid, uirevision=uirevision, visible=visible, width=width, - widthsrc=widthsrc, x=x, x0=x0, xaxis=xaxis, @@ -22387,7 +19013,6 @@ def add_waterfall( xperiod=xperiod, xperiod0=xperiod0, xperiodalignment=xperiodalignment, - xsrc=xsrc, y=y, y0=y0, yaxis=yaxis, @@ -22395,7 +19020,6 @@ def add_waterfall( yperiod=yperiod, yperiod0=yperiod0, yperiodalignment=yperiodalignment, - ysrc=ysrc, zorder=zorder, **kwargs, ) @@ -22851,118 +19475,6 @@ def update_maps( return self - def select_mapboxes(self, selector=None, row=None, col=None): - """ - Select mapbox subplot objects from a particular subplot cell - and/or mapbox subplot objects that satisfy custom selection - criteria. - - Parameters - ---------- - selector: dict, function, or None (default None) - Dict to use as selection criteria. - mapbox objects will be selected if they contain - properties corresponding to all of the dictionary's keys, with - values that exactly match the supplied values. If None - (the default), all mapbox objects are selected. If a - function, it must be a function accepting a single argument and - returning a boolean. The function will be called on each - mapbox and those for which the function returned True will - be in the selection. - row, col: int or None (default None) - Subplot row and column index of mapbox objects to select. - To select mapbox objects by row and column, the Figure - must have been created using plotly.subplots.make_subplots. - If None (the default), all mapbox objects are selected. - Returns - ------- - generator - Generator that iterates through all of the mapbox - objects that satisfy all of the specified selection criteria - """ - - return self._select_layout_subplots_by_prefix("mapbox", selector, row, col) - - def for_each_mapbox(self, fn, selector=None, row=None, col=None) -> "FigureWidget": - """ - Apply a function to all mapbox objects that satisfy the - specified selection criteria - - Parameters - ---------- - fn: - Function that inputs a single mapbox object. - selector: dict, function, or None (default None) - Dict to use as selection criteria. - mapbox objects will be selected if they contain - properties corresponding to all of the dictionary's keys, with - values that exactly match the supplied values. If None - (the default), all mapbox objects are selected. If a - function, it must be a function accepting a single argument and - returning a boolean. The function will be called on each - mapbox and those for which the function returned True will - be in the selection. - row, col: int or None (default None) - Subplot row and column index of mapbox objects to select. - To select mapbox objects by row and column, the Figure - must have been created using plotly.subplots.make_subplots. - If None (the default), all mapbox objects are selected. - Returns - ------- - self - Returns the FigureWidget object that the method was called on - """ - for obj in self.select_mapboxes(selector=selector, row=row, col=col): - fn(obj) - - return self - - def update_mapboxes( - self, patch=None, selector=None, overwrite=False, row=None, col=None, **kwargs - ) -> "FigureWidget": - """ - Perform a property update operation on all mapbox objects - that satisfy the specified selection criteria - - Parameters - ---------- - patch: dict - Dictionary of property updates to be applied to all - mapbox objects that satisfy the selection criteria. - selector: dict, function, or None (default None) - Dict to use as selection criteria. - mapbox objects will be selected if they contain - properties corresponding to all of the dictionary's keys, with - values that exactly match the supplied values. If None - (the default), all mapbox objects are selected. If a - function, it must be a function accepting a single argument and - returning a boolean. The function will be called on each - mapbox and those for which the function returned True will - be in the selection. - overwrite: bool - If True, overwrite existing properties. If False, apply updates - to existing properties recursively, preserving existing - properties that are not specified in the update operation. - row, col: int or None (default None) - Subplot row and column index of mapbox objects to select. - To select mapbox objects by row and column, the Figure - must have been created using plotly.subplots.make_subplots. - If None (the default), all mapbox objects are selected. - **kwargs - Additional property updates to apply to each selected - mapbox object. If a property is specified in - both patch and in **kwargs then the one in **kwargs - takes precedence. - Returns - ------- - self - Returns the FigureWidget object that the method was called on - """ - for obj in self.select_mapboxes(selector=selector, row=row, col=col): - obj.update(patch, overwrite=overwrite, **kwargs) - - return self - def select_polars(self, selector=None, row=None, col=None): """ Select polar subplot objects from a particular subplot cell @@ -23948,7 +20460,7 @@ def add_annotation( like for "paper", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the - domain of the second x axis and a x position of 0.5 + domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, "axref" must be @@ -23981,7 +20493,7 @@ def add_annotation( like for "paper", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the - domain of the second y axis and a y position of 0.5 + domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, "ayref" must be @@ -24141,7 +20653,7 @@ def add_annotation( like for "paper", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the - domain of the second x axis and a x position of 0.5 + domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. xshift @@ -24183,7 +20695,7 @@ def add_annotation( like for "paper", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the - domain of the second y axis and a y position of 0.5 + domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. yshift @@ -24521,7 +21033,7 @@ def add_layout_image( like for "paper", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the - domain of the second x axis and a x position of 0.5 + domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. y @@ -24541,7 +21053,7 @@ def add_layout_image( like for "paper", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the - domain of the second y axis and a y position of 0.5 + domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. row @@ -24832,7 +21344,7 @@ def add_selection( like for "paper", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the - domain of the second x axis and a x position of 0.5 + domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. y0 @@ -24850,7 +21362,7 @@ def add_selection( like for "paper", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the - domain of the second y axis and a y position of 0.5 + domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. row @@ -25086,7 +21598,6 @@ def add_shape( x1shift=None, xanchor=None, xref=None, - xrefsrc=None, xsizemode=None, y0=None, y0shift=None, @@ -25094,7 +21605,6 @@ def add_shape( y1shift=None, yanchor=None, yref=None, - yrefsrc=None, ysizemode=None, row=None, col=None, @@ -25257,7 +21767,7 @@ def add_shape( like for "paper", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the - domain of the second x axis and a x position of 0.5 + domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. If an array of axis IDs is provided, each `x` value will refer to the @@ -25265,9 +21775,6 @@ def add_shape( line, or circle means `x0` uses the `x` axis and `x1` uses the `x2` axis. Path shapes using an array should have one entry for each x coordinate in the string. - xrefsrc - Sets the source reference on Chart Studio Cloud for - `xref`. xsizemode Sets the shapes's sizing mode along the x axis. If set to "scaled", `x0`, `x1` and x coordinates within `path` @@ -25314,7 +21821,7 @@ def add_shape( like for "paper", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the - domain of the second y axis and a y position of 0.5 + domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. If an array of axis IDs is provided, each `y` value will refer to the @@ -25322,9 +21829,6 @@ def add_shape( line, or circle means `y0` uses the `y` axis and `y1` uses the `y2` axis. Path shapes using an array should have one entry for each y coordinate in the string. - yrefsrc - Sets the source reference on Chart Studio Cloud for - `yref`. ysizemode Sets the shapes's sizing mode along the y axis. If set to "scaled", `y0`, `y1` and y coordinates within `path` @@ -25381,7 +21885,6 @@ def add_shape( x1shift=x1shift, xanchor=xanchor, xref=xref, - xrefsrc=xrefsrc, xsizemode=xsizemode, y0=y0, y0shift=y0shift, @@ -25389,7 +21892,6 @@ def add_shape( y1shift=y1shift, yanchor=yanchor, yref=yref, - yrefsrc=yrefsrc, ysizemode=ysizemode, **kwargs, ) diff --git a/plotly/graph_objs/_funnel.py b/plotly/graph_objs/_funnel.py index 6fdd11b7d44..8d98e6b715c 100644 --- a/plotly/graph_objs/_funnel.py +++ b/plotly/graph_objs/_funnel.py @@ -14,19 +14,14 @@ class Funnel(_BaseTraceType): "connector", "constraintext", "customdata", - "customdatasrc", "dx", "dy", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "insidetextanchor", "insidetextfont", "legend", @@ -36,7 +31,6 @@ class Funnel(_BaseTraceType): "legendwidth", "marker", "meta", - "metasrc", "name", "offset", "offsetgroup", @@ -45,17 +39,13 @@ class Funnel(_BaseTraceType): "outsidetextfont", "selectedpoints", "showlegend", - "stream", "text", "textangle", "textfont", "textinfo", "textposition", - "textpositionsrc", - "textsrc", "texttemplate", "texttemplatefallback", - "texttemplatesrc", "type", "uid", "uirevision", @@ -68,7 +58,6 @@ class Funnel(_BaseTraceType): "xperiod", "xperiod0", "xperiodalignment", - "xsrc", "y", "y0", "yaxis", @@ -76,7 +65,6 @@ class Funnel(_BaseTraceType): "yperiod", "yperiod0", "yperiodalignment", - "ysrc", "zorder", } @@ -182,25 +170,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def dx(self): """ @@ -240,7 +209,7 @@ def dy(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -261,25 +230,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -367,25 +317,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -410,25 +341,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -449,24 +361,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def insidetextanchor(self): """ @@ -660,24 +554,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -843,25 +719,6 @@ def showlegend(self): def showlegend(self, val): self["showlegend"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.funnel.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.funnel.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def text(self): """ @@ -934,9 +791,12 @@ def textfont(self, val): @property def textinfo(self): """ - Determines which trace information appear on the graph. In the + Determines what trace information appears on the graph. In the case of having multiple funnels, percentages & totals are - computed separately (per trace). + computed separately (per trace). Flags are rendered in a fixed + order; use `texttemplate` if you need explicit control over the + rendered string, including the order of fields and surrounding + text. The 'textinfo' property is a flaglist and may be specified as a string containing: @@ -981,43 +841,6 @@ def textposition(self): def textposition(self, val): self["textposition"] = val - @property - def textpositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `textposition`. - - The 'textpositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textpositionsrc"] - - @textpositionsrc.setter - def textpositionsrc(self, val): - self["textpositionsrc"] = val - - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def texttemplate(self): """ @@ -1075,25 +898,6 @@ def texttemplatefallback(self): def texttemplatefallback(self, val): self["texttemplatefallback"] = val - @property - def texttemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `texttemplate`. - - The 'texttemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["texttemplatesrc"] - - @texttemplatesrc.setter - def texttemplatesrc(self, val): - self["texttemplatesrc"] = val - @property def uid(self): """ @@ -1247,7 +1051,7 @@ def xaxis(self, val): @property def xhoverformat(self): """ - Sets the hover text formatting rulefor `x` using d3 formatting + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1334,24 +1138,6 @@ def xperiodalignment(self): def xperiodalignment(self, val): self["xperiodalignment"] = val - @property - def xsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `x`. - - The 'xsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xsrc"] - - @xsrc.setter - def xsrc(self, val): - self["xsrc"] = val - @property def y(self): """ @@ -1415,7 +1201,7 @@ def yaxis(self, val): @property def yhoverformat(self): """ - Sets the hover text formatting rulefor `y` using d3 formatting + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1502,24 +1288,6 @@ def yperiodalignment(self): def yperiodalignment(self, val): self["yperiodalignment"] = val - @property - def ysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `y`. - - The 'ysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ysrc"] - - @ysrc.setter - def ysrc(self, val): - self["ysrc"] = val - @property def zorder(self): """ @@ -1568,21 +1336,15 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dx Sets the x coordinate step. See `x0` for more info. dy Sets the y coordinate step. See `y0` for more info. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.funnel.Hoverlabel` instance or dict with compatible properties @@ -1627,9 +1389,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over @@ -1637,16 +1396,10 @@ def _prop_descriptions(self): are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextanchor Determines if texts are kept at center or start/end points in `textposition` "inside" mode. @@ -1695,9 +1448,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1732,9 +1482,6 @@ def _prop_descriptions(self): showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.funnel.Stream` instance or - dict with compatible properties text Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the @@ -1752,9 +1499,12 @@ def _prop_descriptions(self): textfont Sets the font used for `text`. textinfo - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. In the case of having multiple funnels, percentages & - totals are computed separately (per trace). + totals are computed separately (per trace). Flags are + rendered in a fixed order; use `texttemplate` if you + need explicit control over the rendered string, + including the order of fields and surrounding text. textposition Specifies the location of the `text`. "inside" positions `text` inside, next to the bar end (rotated @@ -1765,12 +1515,6 @@ def _prop_descriptions(self): inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1799,9 +1543,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1843,7 +1584,7 @@ def _prop_descriptions(self): x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1871,9 +1612,6 @@ def _prop_descriptions(self): xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates. y0 @@ -1886,7 +1624,7 @@ def _prop_descriptions(self): y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1914,9 +1652,6 @@ def _prop_descriptions(self): yperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -1932,19 +1667,14 @@ def __init__( connector=None, constraintext=None, customdata=None, - customdatasrc=None, dx=None, dy=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, insidetextanchor=None, insidetextfont=None, legend=None, @@ -1954,7 +1684,6 @@ def __init__( legendwidth=None, marker=None, meta=None, - metasrc=None, name=None, offset=None, offsetgroup=None, @@ -1963,17 +1692,13 @@ def __init__( outsidetextfont=None, selectedpoints=None, showlegend=None, - stream=None, text=None, textangle=None, textfont=None, textinfo=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, visible=None, @@ -1985,7 +1710,6 @@ def __init__( xperiod=None, xperiod0=None, xperiodalignment=None, - xsrc=None, y=None, y0=None, yaxis=None, @@ -1993,7 +1717,6 @@ def __init__( yperiod=None, yperiod0=None, yperiodalignment=None, - ysrc=None, zorder=None, **kwargs, ): @@ -2033,21 +1756,15 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dx Sets the x coordinate step. See `x0` for more info. dy Sets the y coordinate step. See `y0` for more info. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.funnel.Hoverlabel` instance or dict with compatible properties @@ -2092,9 +1809,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over @@ -2102,16 +1816,10 @@ def __init__( are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextanchor Determines if texts are kept at center or start/end points in `textposition` "inside" mode. @@ -2160,9 +1868,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -2197,9 +1902,6 @@ def __init__( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.funnel.Stream` instance or - dict with compatible properties text Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the @@ -2217,9 +1919,12 @@ def __init__( textfont Sets the font used for `text`. textinfo - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. In the case of having multiple funnels, percentages & - totals are computed separately (per trace). + totals are computed separately (per trace). Flags are + rendered in a fixed order; use `texttemplate` if you + need explicit control over the rendered string, + including the order of fields and surrounding text. textposition Specifies the location of the `text`. "inside" positions `text` inside, next to the bar end (rotated @@ -2230,12 +1935,6 @@ def __init__( inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -2264,9 +1963,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -2308,7 +2004,7 @@ def __init__( x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2336,9 +2032,6 @@ def __init__( xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates. y0 @@ -2351,7 +2044,7 @@ def __init__( y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2379,9 +2072,6 @@ def __init__( yperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -2417,19 +2107,14 @@ def __init__( self._set_property("connector", arg, connector) self._set_property("constraintext", arg, constraintext) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("dx", arg, dx) self._set_property("dy", arg, dy) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("insidetextanchor", arg, insidetextanchor) self._set_property("insidetextfont", arg, insidetextfont) self._set_property("legend", arg, legend) @@ -2439,7 +2124,6 @@ def __init__( self._set_property("legendwidth", arg, legendwidth) self._set_property("marker", arg, marker) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("offset", arg, offset) self._set_property("offsetgroup", arg, offsetgroup) @@ -2448,17 +2132,13 @@ def __init__( self._set_property("outsidetextfont", arg, outsidetextfont) self._set_property("selectedpoints", arg, selectedpoints) self._set_property("showlegend", arg, showlegend) - self._set_property("stream", arg, stream) self._set_property("text", arg, text) self._set_property("textangle", arg, textangle) self._set_property("textfont", arg, textfont) self._set_property("textinfo", arg, textinfo) self._set_property("textposition", arg, textposition) - self._set_property("textpositionsrc", arg, textpositionsrc) - self._set_property("textsrc", arg, textsrc) self._set_property("texttemplate", arg, texttemplate) self._set_property("texttemplatefallback", arg, texttemplatefallback) - self._set_property("texttemplatesrc", arg, texttemplatesrc) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("visible", arg, visible) @@ -2470,7 +2150,6 @@ def __init__( self._set_property("xperiod", arg, xperiod) self._set_property("xperiod0", arg, xperiod0) self._set_property("xperiodalignment", arg, xperiodalignment) - self._set_property("xsrc", arg, xsrc) self._set_property("y", arg, y) self._set_property("y0", arg, y0) self._set_property("yaxis", arg, yaxis) @@ -2478,7 +2157,6 @@ def __init__( self._set_property("yperiod", arg, yperiod) self._set_property("yperiod0", arg, yperiod0) self._set_property("yperiodalignment", arg, yperiodalignment) - self._set_property("ysrc", arg, ysrc) self._set_property("zorder", arg, zorder) self._props["type"] = "funnel" diff --git a/plotly/graph_objs/_funnelarea.py b/plotly/graph_objs/_funnelarea.py index a3db350eb99..0e309158cdd 100644 --- a/plotly/graph_objs/_funnelarea.py +++ b/plotly/graph_objs/_funnelarea.py @@ -12,23 +12,17 @@ class Funnelarea(_BaseTraceType): "aspectratio", "baseratio", "customdata", - "customdatasrc", "dlabel", "domain", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "insidetextfont", "label0", "labels", - "labelssrc", "legend", "legendgroup", "legendgrouptitle", @@ -36,27 +30,21 @@ class Funnelarea(_BaseTraceType): "legendwidth", "marker", "meta", - "metasrc", "name", "opacity", "scalegroup", "showlegend", - "stream", "text", "textfont", "textinfo", "textposition", - "textpositionsrc", - "textsrc", "texttemplate", "texttemplatefallback", - "texttemplatesrc", "title", "type", "uid", "uirevision", "values", - "valuessrc", "visible", } @@ -117,25 +105,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def dlabel(self): """ @@ -176,9 +145,10 @@ def domain(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` - or `skip` are set, no information is displayed upon hovering. - But, if `none` is set, click and hover events are still fired. + Determines what trace information appears on hover. Flags are + rendered in a fixed order; use `hovertemplate` if you need + explicit control over the rendered string, including the order + of fields and surrounding text. The 'hoverinfo' property is a flaglist and may be specified as a string containing: @@ -197,25 +167,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -302,25 +253,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -345,25 +277,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -384,24 +297,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def insidetextfont(self): """ @@ -465,24 +360,6 @@ def labels(self): def labels(self, val): self["labels"] = val - @property - def labelssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `labels`. - - The 'labelssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["labelssrc"] - - @labelssrc.setter - def labelssrc(self, val): - self["labelssrc"] = val - @property def legend(self): """ @@ -635,24 +512,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -731,25 +590,6 @@ def showlegend(self): def showlegend(self, val): self["showlegend"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.funnelarea.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.funnelarea.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def text(self): """ @@ -796,7 +636,10 @@ def textfont(self, val): @property def textinfo(self): """ - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. Flags + are rendered in a fixed order; use `texttemplate` if you need + explicit control over the rendered string, including the order + of fields and surrounding text. The 'textinfo' property is a flaglist and may be specified as a string containing: @@ -834,43 +677,6 @@ def textposition(self): def textposition(self, val): self["textposition"] = val - @property - def textpositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `textposition`. - - The 'textpositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textpositionsrc"] - - @textpositionsrc.setter - def textpositionsrc(self, val): - self["textpositionsrc"] = val - - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def texttemplate(self): """ @@ -927,25 +733,6 @@ def texttemplatefallback(self): def texttemplatefallback(self, val): self["texttemplatefallback"] = val - @property - def texttemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `texttemplate`. - - The 'texttemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["texttemplatesrc"] - - @texttemplatesrc.setter - def texttemplatesrc(self, val): - self["texttemplatesrc"] = val - @property def title(self): """ @@ -1035,24 +822,6 @@ def values(self): def values(self, val): self["values"] = val - @property - def valuessrc(self): - """ - Sets the source reference on Chart Studio Cloud for `values`. - - The 'valuessrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["valuessrc"] - - @valuessrc.setter - def valuessrc(self, val): - self["valuessrc"] = val - @property def visible(self): """ @@ -1091,22 +860,17 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dlabel Sets the label step. See `label0` for more info. domain :class:`plotly.graph_objects.funnelarea.Domain` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. + Determines what trace information appears on hover. + Flags are rendered in a fixed order; use + `hovertemplate` if you need explicit control over the + rendered string, including the order of fields and + surrounding text. hoverlabel :class:`plotly.graph_objects.funnelarea.Hoverlabel` instance or dict with compatible properties @@ -1151,25 +915,16 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextfont Sets the font used for `textinfo` lying inside the sector. @@ -1183,9 +938,6 @@ def _prop_descriptions(self): occurrences if `values` is not provided. For other array attributes (including color) we use the first non-empty entry among all occurrences of the label. - labelssrc - Sets the source reference on Chart Studio Cloud for - `labels`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1229,9 +981,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1245,9 +994,6 @@ def _prop_descriptions(self): showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.funnelarea.Stream` - instance or dict with compatible properties text Sets text elements associated with each sector. If trace `textinfo` contains a "text" flag, these elements @@ -1257,15 +1003,12 @@ def _prop_descriptions(self): textfont Sets the font used for `textinfo`. textinfo - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. + Flags are rendered in a fixed order; use `texttemplate` + if you need explicit control over the rendered string, + including the order of fields and surrounding text. textposition Specifies the location of the `textinfo`. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1294,9 +1037,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. title :class:`plotly.graph_objects.funnelarea.Title` instance or dict with compatible properties @@ -1325,9 +1065,6 @@ def _prop_descriptions(self): values Sets the values of the sectors. If omitted, we count occurrences of each label. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -1341,23 +1078,17 @@ def __init__( aspectratio=None, baseratio=None, customdata=None, - customdatasrc=None, dlabel=None, domain=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, insidetextfont=None, label0=None, labels=None, - labelssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -1365,26 +1096,20 @@ def __init__( legendwidth=None, marker=None, meta=None, - metasrc=None, name=None, opacity=None, scalegroup=None, showlegend=None, - stream=None, text=None, textfont=None, textinfo=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, title=None, uid=None, uirevision=None, values=None, - valuessrc=None, visible=None, **kwargs, ): @@ -1412,22 +1137,17 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dlabel Sets the label step. See `label0` for more info. domain :class:`plotly.graph_objects.funnelarea.Domain` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. + Determines what trace information appears on hover. + Flags are rendered in a fixed order; use + `hovertemplate` if you need explicit control over the + rendered string, including the order of fields and + surrounding text. hoverlabel :class:`plotly.graph_objects.funnelarea.Hoverlabel` instance or dict with compatible properties @@ -1472,25 +1192,16 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextfont Sets the font used for `textinfo` lying inside the sector. @@ -1504,9 +1215,6 @@ def __init__( occurrences if `values` is not provided. For other array attributes (including color) we use the first non-empty entry among all occurrences of the label. - labelssrc - Sets the source reference on Chart Studio Cloud for - `labels`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1550,9 +1258,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1566,9 +1271,6 @@ def __init__( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.funnelarea.Stream` - instance or dict with compatible properties text Sets text elements associated with each sector. If trace `textinfo` contains a "text" flag, these elements @@ -1578,15 +1280,12 @@ def __init__( textfont Sets the font used for `textinfo`. textinfo - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. + Flags are rendered in a fixed order; use `texttemplate` + if you need explicit control over the rendered string, + including the order of fields and surrounding text. textposition Specifies the location of the `textinfo`. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1615,9 +1314,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. title :class:`plotly.graph_objects.funnelarea.Title` instance or dict with compatible properties @@ -1646,9 +1342,6 @@ def __init__( values Sets the values of the sectors. If omitted, we count occurrences of each label. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -1682,23 +1375,17 @@ def __init__( self._set_property("aspectratio", arg, aspectratio) self._set_property("baseratio", arg, baseratio) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("dlabel", arg, dlabel) self._set_property("domain", arg, domain) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("insidetextfont", arg, insidetextfont) self._set_property("label0", arg, label0) self._set_property("labels", arg, labels) - self._set_property("labelssrc", arg, labelssrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) @@ -1706,26 +1393,20 @@ def __init__( self._set_property("legendwidth", arg, legendwidth) self._set_property("marker", arg, marker) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("scalegroup", arg, scalegroup) self._set_property("showlegend", arg, showlegend) - self._set_property("stream", arg, stream) self._set_property("text", arg, text) self._set_property("textfont", arg, textfont) self._set_property("textinfo", arg, textinfo) self._set_property("textposition", arg, textposition) - self._set_property("textpositionsrc", arg, textpositionsrc) - self._set_property("textsrc", arg, textsrc) self._set_property("texttemplate", arg, texttemplate) self._set_property("texttemplatefallback", arg, texttemplatefallback) - self._set_property("texttemplatesrc", arg, texttemplatesrc) self._set_property("title", arg, title) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("values", arg, values) - self._set_property("valuessrc", arg, valuessrc) self._set_property("visible", arg, visible) self._props["type"] = "funnelarea" diff --git a/plotly/graph_objs/_heatmap.py b/plotly/graph_objs/_heatmap.py index 8007a4bf739..e21353a700b 100644 --- a/plotly/graph_objs/_heatmap.py +++ b/plotly/graph_objs/_heatmap.py @@ -15,36 +15,28 @@ class Heatmap(_BaseTraceType): "colorscale", "connectgaps", "customdata", - "customdatasrc", "dx", "dy", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hoverongaps", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "legend", "legendgroup", "legendgrouptitle", "legendrank", "legendwidth", "meta", - "metasrc", "name", "opacity", "reversescale", "showlegend", "showscale", - "stream", "text", "textfont", - "textsrc", "texttemplate", "texttemplatefallback", "transpose", @@ -61,7 +53,6 @@ class Heatmap(_BaseTraceType): "xperiod", "xperiod0", "xperiodalignment", - "xsrc", "xtype", "y", "y0", @@ -72,7 +63,6 @@ class Heatmap(_BaseTraceType): "yperiod", "yperiod0", "yperiodalignment", - "ysrc", "ytype", "z", "zauto", @@ -82,7 +72,6 @@ class Heatmap(_BaseTraceType): "zmin", "zorder", "zsmooth", - "zsrc", } @property @@ -157,7 +146,7 @@ def colorscale(self): """ Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, - hsv, or named color string. At minimum, a mapping for the + hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. @@ -245,25 +234,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def dx(self): """ @@ -303,7 +273,7 @@ def dy(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -324,25 +294,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -447,25 +398,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -484,25 +416,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -523,24 +436,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def legend(self): """ @@ -674,24 +569,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -788,25 +665,6 @@ def showscale(self): def showscale(self, val): self["showscale"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.heatmap.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.heatmap.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def text(self): """ @@ -846,24 +704,6 @@ def textfont(self): def textfont(self, val): self["textfont"] = val - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def texttemplate(self): """ @@ -1112,7 +952,7 @@ def xgap(self, val): @property def xhoverformat(self): """ - Sets the hover text formatting rulefor `x` using d3 formatting + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1199,24 +1039,6 @@ def xperiodalignment(self): def xperiodalignment(self, val): self["xperiodalignment"] = val - @property - def xsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `x`. - - The 'xsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xsrc"] - - @xsrc.setter - def xsrc(self, val): - self["xsrc"] = val - @property def xtype(self): """ @@ -1342,7 +1164,7 @@ def ygap(self, val): @property def yhoverformat(self): """ - Sets the hover text formatting rulefor `y` using d3 formatting + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1429,24 +1251,6 @@ def yperiodalignment(self): def yperiodalignment(self, val): self["yperiodalignment"] = val - @property - def ysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `y`. - - The 'ysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ysrc"] - - @ysrc.setter - def ysrc(self, val): - self["ysrc"] = val - @property def ytype(self): """ @@ -1511,7 +1315,7 @@ def zauto(self, val): @property def zhoverformat(self): """ - Sets the hover text formatting rulefor `z` using d3 formatting + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By @@ -1628,24 +1432,6 @@ def zsmooth(self): def zsmooth(self, val): self["zsmooth"] = val - @property - def zsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `z`. - - The 'zsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["zsrc"] - - @zsrc.setter - def zsrc(self, val): - self["zsrc"] = val - @property def type(self): return self._props["type"] @@ -1673,15 +1459,15 @@ def _prop_descriptions(self): colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. connectgaps Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in. It is defaulted @@ -1692,21 +1478,15 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dx Sets the x coordinate step. See `x0` for more info. dy Sets the y coordinate step. See `y0` for more info. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.heatmap.Hoverlabel` instance or dict with compatible properties @@ -1753,21 +1533,12 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1808,9 +1579,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1826,16 +1594,10 @@ def _prop_descriptions(self): showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.heatmap.Stream` instance - or dict with compatible properties text Sets the text elements associated with each z value. textfont Sets the text font. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1908,7 +1670,7 @@ def _prop_descriptions(self): xgap Sets the horizontal gap (in pixels) between bricks. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1936,9 +1698,6 @@ def _prop_descriptions(self): xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. xtype If "array", the heatmap's x coordinates are given by "x" (the default behavior when `x` is provided). If @@ -1961,7 +1720,7 @@ def _prop_descriptions(self): ygap Sets the vertical gap (in pixels) between bricks. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1989,9 +1748,6 @@ def _prop_descriptions(self): yperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. ytype If "array", the heatmap's y coordinates are given by "y" (the default behavior when `y` is provided) If @@ -2006,7 +1762,7 @@ def _prop_descriptions(self): bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values @@ -2031,9 +1787,6 @@ def _prop_descriptions(self): with lower `zorder`. zsmooth Picks a smoothing algorithm use to smooth `z` data. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. """ def __init__( @@ -2045,36 +1798,28 @@ def __init__( colorscale=None, connectgaps=None, customdata=None, - customdatasrc=None, dx=None, dy=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hoverongaps=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, legendrank=None, legendwidth=None, meta=None, - metasrc=None, name=None, opacity=None, reversescale=None, showlegend=None, showscale=None, - stream=None, text=None, textfont=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, transpose=None, @@ -2090,7 +1835,6 @@ def __init__( xperiod=None, xperiod0=None, xperiodalignment=None, - xsrc=None, xtype=None, y=None, y0=None, @@ -2101,7 +1845,6 @@ def __init__( yperiod=None, yperiod0=None, yperiodalignment=None, - ysrc=None, ytype=None, z=None, zauto=None, @@ -2111,7 +1854,6 @@ def __init__( zmin=None, zorder=None, zsmooth=None, - zsrc=None, **kwargs, ): """ @@ -2160,15 +1902,15 @@ def __init__( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. connectgaps Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in. It is defaulted @@ -2179,21 +1921,15 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dx Sets the x coordinate step. See `x0` for more info. dy Sets the y coordinate step. See `y0` for more info. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.heatmap.Hoverlabel` instance or dict with compatible properties @@ -2240,21 +1976,12 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -2295,9 +2022,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -2313,16 +2037,10 @@ def __init__( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.heatmap.Stream` instance - or dict with compatible properties text Sets the text elements associated with each z value. textfont Sets the text font. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -2395,7 +2113,7 @@ def __init__( xgap Sets the horizontal gap (in pixels) between bricks. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2423,9 +2141,6 @@ def __init__( xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. xtype If "array", the heatmap's x coordinates are given by "x" (the default behavior when `x` is provided). If @@ -2448,7 +2163,7 @@ def __init__( ygap Sets the vertical gap (in pixels) between bricks. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2476,9 +2191,6 @@ def __init__( yperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. ytype If "array", the heatmap's y coordinates are given by "y" (the default behavior when `y` is provided) If @@ -2493,7 +2205,7 @@ def __init__( bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values @@ -2518,9 +2230,6 @@ def __init__( with lower `zorder`. zsmooth Picks a smoothing algorithm use to smooth `z` data. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. Returns ------- @@ -2552,36 +2261,28 @@ def __init__( self._set_property("colorscale", arg, colorscale) self._set_property("connectgaps", arg, connectgaps) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("dx", arg, dx) self._set_property("dy", arg, dy) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hoverongaps", arg, hoverongaps) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) self._set_property("legendrank", arg, legendrank) self._set_property("legendwidth", arg, legendwidth) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("reversescale", arg, reversescale) self._set_property("showlegend", arg, showlegend) self._set_property("showscale", arg, showscale) - self._set_property("stream", arg, stream) self._set_property("text", arg, text) self._set_property("textfont", arg, textfont) - self._set_property("textsrc", arg, textsrc) self._set_property("texttemplate", arg, texttemplate) self._set_property("texttemplatefallback", arg, texttemplatefallback) self._set_property("transpose", arg, transpose) @@ -2597,7 +2298,6 @@ def __init__( self._set_property("xperiod", arg, xperiod) self._set_property("xperiod0", arg, xperiod0) self._set_property("xperiodalignment", arg, xperiodalignment) - self._set_property("xsrc", arg, xsrc) self._set_property("xtype", arg, xtype) self._set_property("y", arg, y) self._set_property("y0", arg, y0) @@ -2608,7 +2308,6 @@ def __init__( self._set_property("yperiod", arg, yperiod) self._set_property("yperiod0", arg, yperiod0) self._set_property("yperiodalignment", arg, yperiodalignment) - self._set_property("ysrc", arg, ysrc) self._set_property("ytype", arg, ytype) self._set_property("z", arg, z) self._set_property("zauto", arg, zauto) @@ -2618,7 +2317,6 @@ def __init__( self._set_property("zmin", arg, zmin) self._set_property("zorder", arg, zorder) self._set_property("zsmooth", arg, zsmooth) - self._set_property("zsrc", arg, zsrc) self._props["type"] = "heatmap" arg.pop("type", None) diff --git a/plotly/graph_objs/_histogram.py b/plotly/graph_objs/_histogram.py index 922238c292f..340933a6b7d 100644 --- a/plotly/graph_objs/_histogram.py +++ b/plotly/graph_objs/_histogram.py @@ -17,21 +17,16 @@ class Histogram(_BaseTraceType): "constraintext", "cumulative", "customdata", - "customdatasrc", "error_x", "error_y", "histfunc", "histnorm", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "insidetextanchor", "insidetextfont", "legend", @@ -41,7 +36,6 @@ class Histogram(_BaseTraceType): "legendwidth", "marker", "meta", - "metasrc", "name", "nbinsx", "nbinsy", @@ -52,12 +46,10 @@ class Histogram(_BaseTraceType): "selected", "selectedpoints", "showlegend", - "stream", "text", "textangle", "textfont", "textposition", - "textsrc", "texttemplate", "texttemplatefallback", "type", @@ -70,13 +62,11 @@ class Histogram(_BaseTraceType): "xbins", "xcalendar", "xhoverformat", - "xsrc", "y", "yaxis", "ybins", "ycalendar", "yhoverformat", - "ysrc", "zorder", } @@ -249,25 +239,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def error_x(self): """ @@ -365,7 +336,7 @@ def histnorm(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -386,25 +357,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -491,25 +443,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -530,25 +463,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -569,24 +483,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def insidetextanchor(self): """ @@ -780,24 +676,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -1002,25 +880,6 @@ def showlegend(self): def showlegend(self, val): self["showlegend"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.histogram.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.histogram.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def text(self): """ @@ -1114,24 +973,6 @@ def textposition(self): def textposition(self, val): self["textposition"] = val - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def texttemplate(self): """ @@ -1363,7 +1204,7 @@ def xcalendar(self, val): @property def xhoverformat(self): """ - Sets the hover text formatting rulefor `x` using d3 formatting + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1389,24 +1230,6 @@ def xhoverformat(self): def xhoverformat(self, val): self["xhoverformat"] = val - @property - def xsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `x`. - - The 'xsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xsrc"] - - @xsrc.setter - def xsrc(self, val): - self["xsrc"] = val - @property def y(self): """ @@ -1492,7 +1315,7 @@ def ycalendar(self, val): @property def yhoverformat(self): """ - Sets the hover text formatting rulefor `y` using d3 formatting + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1518,24 +1341,6 @@ def yhoverformat(self): def yhoverformat(self, val): self["yhoverformat"] = val - @property - def ysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `y`. - - The 'ysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ysrc"] - - @ysrc.setter - def ysrc(self, val): - self["ysrc"] = val - @property def zorder(self): """ @@ -1605,9 +1410,6 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. error_x :class:`plotly.graph_objects.histogram.ErrorX` instance or dict with compatible properties @@ -1640,13 +1442,10 @@ def _prop_descriptions(self): corresponding bin (here, the sum of all bin AREAS equals 1). hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.histogram.Hoverlabel` instance or dict with compatible properties @@ -1690,21 +1489,12 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextanchor Determines if texts are kept at center or start/end points in `textposition` "inside" mode. @@ -1753,9 +1543,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1796,9 +1583,6 @@ def _prop_descriptions(self): showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.histogram.Stream` instance - or dict with compatible properties text Sets hover text elements associated with each bar. If a single string, the same string appears over all bars. @@ -1822,9 +1606,6 @@ def _prop_descriptions(self): inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1895,7 +1676,7 @@ def _prop_descriptions(self): xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1907,9 +1688,6 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the sample data to be binned on the y axis. yaxis @@ -1923,7 +1701,7 @@ def _prop_descriptions(self): ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1935,9 +1713,6 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -1956,21 +1731,16 @@ def __init__( constraintext=None, cumulative=None, customdata=None, - customdatasrc=None, error_x=None, error_y=None, histfunc=None, histnorm=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, insidetextanchor=None, insidetextfont=None, legend=None, @@ -1980,7 +1750,6 @@ def __init__( legendwidth=None, marker=None, meta=None, - metasrc=None, name=None, nbinsx=None, nbinsy=None, @@ -1991,12 +1760,10 @@ def __init__( selected=None, selectedpoints=None, showlegend=None, - stream=None, text=None, textangle=None, textfont=None, textposition=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, uid=None, @@ -2008,13 +1775,11 @@ def __init__( xbins=None, xcalendar=None, xhoverformat=None, - xsrc=None, y=None, yaxis=None, ybins=None, ycalendar=None, yhoverformat=None, - ysrc=None, zorder=None, **kwargs, ): @@ -2074,9 +1839,6 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. error_x :class:`plotly.graph_objects.histogram.ErrorX` instance or dict with compatible properties @@ -2109,13 +1871,10 @@ def __init__( corresponding bin (here, the sum of all bin AREAS equals 1). hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.histogram.Hoverlabel` instance or dict with compatible properties @@ -2159,21 +1918,12 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextanchor Determines if texts are kept at center or start/end points in `textposition` "inside" mode. @@ -2222,9 +1972,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -2265,9 +2012,6 @@ def __init__( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.histogram.Stream` instance - or dict with compatible properties text Sets hover text elements associated with each bar. If a single string, the same string appears over all bars. @@ -2291,9 +2035,6 @@ def __init__( inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -2364,7 +2105,7 @@ def __init__( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2376,9 +2117,6 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the sample data to be binned on the y axis. yaxis @@ -2392,7 +2130,7 @@ def __init__( ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2404,9 +2142,6 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -2445,21 +2180,16 @@ def __init__( self._set_property("constraintext", arg, constraintext) self._set_property("cumulative", arg, cumulative) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("error_x", arg, error_x) self._set_property("error_y", arg, error_y) self._set_property("histfunc", arg, histfunc) self._set_property("histnorm", arg, histnorm) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("insidetextanchor", arg, insidetextanchor) self._set_property("insidetextfont", arg, insidetextfont) self._set_property("legend", arg, legend) @@ -2469,7 +2199,6 @@ def __init__( self._set_property("legendwidth", arg, legendwidth) self._set_property("marker", arg, marker) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("nbinsx", arg, nbinsx) self._set_property("nbinsy", arg, nbinsy) @@ -2480,12 +2209,10 @@ def __init__( self._set_property("selected", arg, selected) self._set_property("selectedpoints", arg, selectedpoints) self._set_property("showlegend", arg, showlegend) - self._set_property("stream", arg, stream) self._set_property("text", arg, text) self._set_property("textangle", arg, textangle) self._set_property("textfont", arg, textfont) self._set_property("textposition", arg, textposition) - self._set_property("textsrc", arg, textsrc) self._set_property("texttemplate", arg, texttemplate) self._set_property("texttemplatefallback", arg, texttemplatefallback) self._set_property("uid", arg, uid) @@ -2497,13 +2224,11 @@ def __init__( self._set_property("xbins", arg, xbins) self._set_property("xcalendar", arg, xcalendar) self._set_property("xhoverformat", arg, xhoverformat) - self._set_property("xsrc", arg, xsrc) self._set_property("y", arg, y) self._set_property("yaxis", arg, yaxis) self._set_property("ybins", arg, ybins) self._set_property("ycalendar", arg, ycalendar) self._set_property("yhoverformat", arg, yhoverformat) - self._set_property("ysrc", arg, ysrc) self._set_property("zorder", arg, zorder) self._props["type"] = "histogram" diff --git a/plotly/graph_objs/_histogram2d.py b/plotly/graph_objs/_histogram2d.py index 531fae8677a..bc7b5dd07ef 100644 --- a/plotly/graph_objs/_histogram2d.py +++ b/plotly/graph_objs/_histogram2d.py @@ -17,17 +17,13 @@ class Histogram2d(_BaseTraceType): "colorbar", "colorscale", "customdata", - "customdatasrc", "histfunc", "histnorm", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "ids", - "idssrc", "legend", "legendgroup", "legendgrouptitle", @@ -35,7 +31,6 @@ class Histogram2d(_BaseTraceType): "legendwidth", "marker", "meta", - "metasrc", "name", "nbinsx", "nbinsy", @@ -43,7 +38,6 @@ class Histogram2d(_BaseTraceType): "reversescale", "showlegend", "showscale", - "stream", "textfont", "texttemplate", "texttemplatefallback", @@ -58,7 +52,6 @@ class Histogram2d(_BaseTraceType): "xcalendar", "xgap", "xhoverformat", - "xsrc", "y", "yaxis", "ybingroup", @@ -66,7 +59,6 @@ class Histogram2d(_BaseTraceType): "ycalendar", "ygap", "yhoverformat", - "ysrc", "z", "zauto", "zhoverformat", @@ -74,7 +66,6 @@ class Histogram2d(_BaseTraceType): "zmid", "zmin", "zsmooth", - "zsrc", } @property @@ -212,7 +203,7 @@ def colorscale(self): """ Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, - hsv, or named color string. At minimum, a mapping for the + hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. @@ -279,25 +270,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def histfunc(self): """ @@ -357,7 +329,7 @@ def histnorm(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -378,25 +350,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -483,25 +436,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def ids(self): """ @@ -522,24 +456,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def legend(self): """ @@ -692,24 +608,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -850,25 +748,6 @@ def showscale(self): def showscale(self, val): self["showscale"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.histogram2d.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.histogram2d.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def textfont(self): """ @@ -1143,7 +1022,7 @@ def xgap(self, val): @property def xhoverformat(self): """ - Sets the hover text formatting rulefor `x` using d3 formatting + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1169,24 +1048,6 @@ def xhoverformat(self): def xhoverformat(self, val): self["xhoverformat"] = val - @property - def xsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `x`. - - The 'xsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xsrc"] - - @xsrc.setter - def xsrc(self, val): - self["xsrc"] = val - @property def y(self): """ @@ -1313,7 +1174,7 @@ def ygap(self, val): @property def yhoverformat(self): """ - Sets the hover text formatting rulefor `y` using d3 formatting + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1339,24 +1200,6 @@ def yhoverformat(self): def yhoverformat(self, val): self["yhoverformat"] = val - @property - def ysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `y`. - - The 'ysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ysrc"] - - @ysrc.setter - def ysrc(self, val): - self["ysrc"] = val - @property def z(self): """ @@ -1399,7 +1242,7 @@ def zauto(self, val): @property def zhoverformat(self): """ - Sets the hover text formatting rulefor `z` using d3 formatting + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By @@ -1496,24 +1339,6 @@ def zsmooth(self): def zsmooth(self, val): self["zsmooth"] = val - @property - def zsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `z`. - - The 'zsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["zsrc"] - - @zsrc.setter - def zsrc(self, val): - self["zsrc"] = val - @property def type(self): return self._props["type"] @@ -1558,23 +1383,20 @@ def _prop_descriptions(self): colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. histfunc Specifies the binning function used for this histogram trace. If "count", the histogram values are computed by @@ -1601,13 +1423,10 @@ def _prop_descriptions(self): corresponding bin (here, the sum of all bin AREAS equals 1). hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.histogram2d.Hoverlabel` instance or dict with compatible properties @@ -1651,16 +1470,10 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1704,9 +1517,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1734,9 +1544,6 @@ def _prop_descriptions(self): showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.histogram2d.Stream` - instance or dict with compatible properties textfont Sets the text font. texttemplate @@ -1815,7 +1622,7 @@ def _prop_descriptions(self): xgap Sets the horizontal gap (in pixels) between bricks. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1827,9 +1634,6 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the sample data to be binned on the y axis. yaxis @@ -1852,7 +1656,7 @@ def _prop_descriptions(self): ygap Sets the vertical gap (in pixels) between bricks. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1864,9 +1668,6 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the aggregation data. zauto @@ -1875,7 +1676,7 @@ def _prop_descriptions(self): bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values @@ -1895,9 +1696,6 @@ def _prop_descriptions(self): be set as well. zsmooth Picks a smoothing algorithm use to smooth `z` data. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. """ def __init__( @@ -1911,17 +1709,13 @@ def __init__( colorbar=None, colorscale=None, customdata=None, - customdatasrc=None, histfunc=None, histnorm=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -1929,7 +1723,6 @@ def __init__( legendwidth=None, marker=None, meta=None, - metasrc=None, name=None, nbinsx=None, nbinsy=None, @@ -1937,7 +1730,6 @@ def __init__( reversescale=None, showlegend=None, showscale=None, - stream=None, textfont=None, texttemplate=None, texttemplatefallback=None, @@ -1951,7 +1743,6 @@ def __init__( xcalendar=None, xgap=None, xhoverformat=None, - xsrc=None, y=None, yaxis=None, ybingroup=None, @@ -1959,7 +1750,6 @@ def __init__( ycalendar=None, ygap=None, yhoverformat=None, - ysrc=None, z=None, zauto=None, zhoverformat=None, @@ -1967,7 +1757,6 @@ def __init__( zmid=None, zmin=None, zsmooth=None, - zsrc=None, **kwargs, ): """ @@ -2022,23 +1811,20 @@ def __init__( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. histfunc Specifies the binning function used for this histogram trace. If "count", the histogram values are computed by @@ -2065,13 +1851,10 @@ def __init__( corresponding bin (here, the sum of all bin AREAS equals 1). hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.histogram2d.Hoverlabel` instance or dict with compatible properties @@ -2115,16 +1898,10 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -2168,9 +1945,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -2198,9 +1972,6 @@ def __init__( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.histogram2d.Stream` - instance or dict with compatible properties textfont Sets the text font. texttemplate @@ -2279,7 +2050,7 @@ def __init__( xgap Sets the horizontal gap (in pixels) between bricks. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2291,9 +2062,6 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the sample data to be binned on the y axis. yaxis @@ -2316,7 +2084,7 @@ def __init__( ygap Sets the vertical gap (in pixels) between bricks. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2328,9 +2096,6 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the aggregation data. zauto @@ -2339,7 +2104,7 @@ def __init__( bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values @@ -2359,9 +2124,6 @@ def __init__( be set as well. zsmooth Picks a smoothing algorithm use to smooth `z` data. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. Returns ------- @@ -2395,17 +2157,13 @@ def __init__( self._set_property("colorbar", arg, colorbar) self._set_property("colorscale", arg, colorscale) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("histfunc", arg, histfunc) self._set_property("histnorm", arg, histnorm) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) @@ -2413,7 +2171,6 @@ def __init__( self._set_property("legendwidth", arg, legendwidth) self._set_property("marker", arg, marker) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("nbinsx", arg, nbinsx) self._set_property("nbinsy", arg, nbinsy) @@ -2421,7 +2178,6 @@ def __init__( self._set_property("reversescale", arg, reversescale) self._set_property("showlegend", arg, showlegend) self._set_property("showscale", arg, showscale) - self._set_property("stream", arg, stream) self._set_property("textfont", arg, textfont) self._set_property("texttemplate", arg, texttemplate) self._set_property("texttemplatefallback", arg, texttemplatefallback) @@ -2435,7 +2191,6 @@ def __init__( self._set_property("xcalendar", arg, xcalendar) self._set_property("xgap", arg, xgap) self._set_property("xhoverformat", arg, xhoverformat) - self._set_property("xsrc", arg, xsrc) self._set_property("y", arg, y) self._set_property("yaxis", arg, yaxis) self._set_property("ybingroup", arg, ybingroup) @@ -2443,7 +2198,6 @@ def __init__( self._set_property("ycalendar", arg, ycalendar) self._set_property("ygap", arg, ygap) self._set_property("yhoverformat", arg, yhoverformat) - self._set_property("ysrc", arg, ysrc) self._set_property("z", arg, z) self._set_property("zauto", arg, zauto) self._set_property("zhoverformat", arg, zhoverformat) @@ -2451,7 +2205,6 @@ def __init__( self._set_property("zmid", arg, zmid) self._set_property("zmin", arg, zmin) self._set_property("zsmooth", arg, zsmooth) - self._set_property("zsrc", arg, zsrc) self._props["type"] = "histogram2d" arg.pop("type", None) diff --git a/plotly/graph_objs/_histogram2dcontour.py b/plotly/graph_objs/_histogram2dcontour.py index 461e8fd50e6..c722978d32b 100644 --- a/plotly/graph_objs/_histogram2dcontour.py +++ b/plotly/graph_objs/_histogram2dcontour.py @@ -19,17 +19,13 @@ class Histogram2dContour(_BaseTraceType): "colorscale", "contours", "customdata", - "customdatasrc", "histfunc", "histnorm", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "ids", - "idssrc", "legend", "legendgroup", "legendgrouptitle", @@ -38,7 +34,6 @@ class Histogram2dContour(_BaseTraceType): "line", "marker", "meta", - "metasrc", "name", "nbinsx", "nbinsy", @@ -47,7 +42,6 @@ class Histogram2dContour(_BaseTraceType): "reversescale", "showlegend", "showscale", - "stream", "textfont", "texttemplate", "texttemplatefallback", @@ -61,21 +55,18 @@ class Histogram2dContour(_BaseTraceType): "xbins", "xcalendar", "xhoverformat", - "xsrc", "y", "yaxis", "ybingroup", "ybins", "ycalendar", "yhoverformat", - "ysrc", "z", "zauto", "zhoverformat", "zmax", "zmid", "zmin", - "zsrc", } @property @@ -234,7 +225,7 @@ def colorscale(self): """ Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, - hsv, or named color string. At minimum, a mapping for the + hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. @@ -320,25 +311,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def histfunc(self): """ @@ -398,7 +370,7 @@ def histnorm(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -419,25 +391,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -524,25 +477,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def ids(self): """ @@ -563,24 +497,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def legend(self): """ @@ -752,24 +668,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -932,25 +830,6 @@ def showscale(self): def showscale(self, val): self["showscale"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.histogram2dcontour.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.histogram2dcontour.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def textfont(self): """ @@ -1209,7 +1088,7 @@ def xcalendar(self, val): @property def xhoverformat(self): """ - Sets the hover text formatting rulefor `x` using d3 formatting + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1235,24 +1114,6 @@ def xhoverformat(self): def xhoverformat(self, val): self["xhoverformat"] = val - @property - def xsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `x`. - - The 'xsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xsrc"] - - @xsrc.setter - def xsrc(self, val): - self["xsrc"] = val - @property def y(self): """ @@ -1361,7 +1222,7 @@ def ycalendar(self, val): @property def yhoverformat(self): """ - Sets the hover text formatting rulefor `y` using d3 formatting + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1387,24 +1248,6 @@ def yhoverformat(self): def yhoverformat(self, val): self["yhoverformat"] = val - @property - def ysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `y`. - - The 'ysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ysrc"] - - @ysrc.setter - def ysrc(self, val): - self["ysrc"] = val - @property def z(self): """ @@ -1447,7 +1290,7 @@ def zauto(self, val): @property def zhoverformat(self): """ - Sets the hover text formatting rulefor `z` using d3 formatting + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By @@ -1525,24 +1368,6 @@ def zmin(self): def zmin(self, val): self["zmin"] = val - @property - def zsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `z`. - - The 'zsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["zsrc"] - - @zsrc.setter - def zsrc(self, val): - self["zsrc"] = val - @property def type(self): return self._props["type"] @@ -1592,15 +1417,15 @@ def _prop_descriptions(self): colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. contours :class:`plotly.graph_objects.histogram2dcontour.Contour s` instance or dict with compatible properties @@ -1609,9 +1434,6 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. histfunc Specifies the binning function used for this histogram trace. If "count", the histogram values are computed by @@ -1638,13 +1460,10 @@ def _prop_descriptions(self): corresponding bin (here, the sum of all bin AREAS equals 1). hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.histogram2dcontour.Hoverla bel` instance or dict with compatible properties @@ -1688,16 +1507,10 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1744,9 +1557,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1780,9 +1590,6 @@ def _prop_descriptions(self): showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.histogram2dcontour.Stream` - instance or dict with compatible properties textfont For this trace it only has an effect if `coloring` is set to "heatmap". Sets the text font. @@ -1861,7 +1668,7 @@ def _prop_descriptions(self): xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1873,9 +1680,6 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the sample data to be binned on the y axis. yaxis @@ -1896,7 +1700,7 @@ def _prop_descriptions(self): ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1908,9 +1712,6 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the aggregation data. zauto @@ -1919,7 +1720,7 @@ def _prop_descriptions(self): bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values @@ -1937,9 +1738,6 @@ def _prop_descriptions(self): Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. """ def __init__( @@ -1955,17 +1753,13 @@ def __init__( colorscale=None, contours=None, customdata=None, - customdatasrc=None, histfunc=None, histnorm=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -1974,7 +1768,6 @@ def __init__( line=None, marker=None, meta=None, - metasrc=None, name=None, nbinsx=None, nbinsy=None, @@ -1983,7 +1776,6 @@ def __init__( reversescale=None, showlegend=None, showscale=None, - stream=None, textfont=None, texttemplate=None, texttemplatefallback=None, @@ -1996,21 +1788,18 @@ def __init__( xbins=None, xcalendar=None, xhoverformat=None, - xsrc=None, y=None, yaxis=None, ybingroup=None, ybins=None, ycalendar=None, yhoverformat=None, - ysrc=None, z=None, zauto=None, zhoverformat=None, zmax=None, zmid=None, zmin=None, - zsrc=None, **kwargs, ): """ @@ -2071,15 +1860,15 @@ def __init__( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `zmin` and + `zmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. contours :class:`plotly.graph_objects.histogram2dcontour.Contour s` instance or dict with compatible properties @@ -2088,9 +1877,6 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. histfunc Specifies the binning function used for this histogram trace. If "count", the histogram values are computed by @@ -2117,13 +1903,10 @@ def __init__( corresponding bin (here, the sum of all bin AREAS equals 1). hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.histogram2dcontour.Hoverla bel` instance or dict with compatible properties @@ -2167,16 +1950,10 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -2223,9 +2000,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -2259,9 +2033,6 @@ def __init__( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.histogram2dcontour.Stream` - instance or dict with compatible properties textfont For this trace it only has an effect if `coloring` is set to "heatmap". Sets the text font. @@ -2340,7 +2111,7 @@ def __init__( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2352,9 +2123,6 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the sample data to be binned on the y axis. yaxis @@ -2375,7 +2143,7 @@ def __init__( ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2387,9 +2155,6 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the aggregation data. zauto @@ -2398,7 +2163,7 @@ def __init__( bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values @@ -2416,9 +2181,6 @@ def __init__( Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. Returns ------- @@ -2454,17 +2216,13 @@ def __init__( self._set_property("colorscale", arg, colorscale) self._set_property("contours", arg, contours) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("histfunc", arg, histfunc) self._set_property("histnorm", arg, histnorm) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) @@ -2473,7 +2231,6 @@ def __init__( self._set_property("line", arg, line) self._set_property("marker", arg, marker) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("nbinsx", arg, nbinsx) self._set_property("nbinsy", arg, nbinsy) @@ -2482,7 +2239,6 @@ def __init__( self._set_property("reversescale", arg, reversescale) self._set_property("showlegend", arg, showlegend) self._set_property("showscale", arg, showscale) - self._set_property("stream", arg, stream) self._set_property("textfont", arg, textfont) self._set_property("texttemplate", arg, texttemplate) self._set_property("texttemplatefallback", arg, texttemplatefallback) @@ -2495,21 +2251,18 @@ def __init__( self._set_property("xbins", arg, xbins) self._set_property("xcalendar", arg, xcalendar) self._set_property("xhoverformat", arg, xhoverformat) - self._set_property("xsrc", arg, xsrc) self._set_property("y", arg, y) self._set_property("yaxis", arg, yaxis) self._set_property("ybingroup", arg, ybingroup) self._set_property("ybins", arg, ybins) self._set_property("ycalendar", arg, ycalendar) self._set_property("yhoverformat", arg, yhoverformat) - self._set_property("ysrc", arg, ysrc) self._set_property("z", arg, z) self._set_property("zauto", arg, zauto) self._set_property("zhoverformat", arg, zhoverformat) self._set_property("zmax", arg, zmax) self._set_property("zmid", arg, zmid) self._set_property("zmin", arg, zmin) - self._set_property("zsrc", arg, zsrc) self._props["type"] = "histogram2dcontour" arg.pop("type", None) diff --git a/plotly/graph_objs/_icicle.py b/plotly/graph_objs/_icicle.py index ea4f0a79c37..7c5f73388fc 100644 --- a/plotly/graph_objs/_icicle.py +++ b/plotly/graph_objs/_icicle.py @@ -12,21 +12,15 @@ class Icicle(_BaseTraceType): "branchvalues", "count", "customdata", - "customdatasrc", "domain", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "insidetextfont", "labels", - "labelssrc", "leaf", "legend", "legendgrouptitle", @@ -36,30 +30,24 @@ class Icicle(_BaseTraceType): "marker", "maxdepth", "meta", - "metasrc", "name", "opacity", "outsidetextfont", "parents", - "parentssrc", "pathbar", "root", "sort", - "stream", "text", "textfont", "textinfo", "textposition", - "textsrc", "texttemplate", "texttemplatefallback", - "texttemplatesrc", "tiling", "type", "uid", "uirevision", "values", - "valuessrc", "visible", } @@ -130,25 +118,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def domain(self): """ @@ -171,9 +140,10 @@ def domain(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` - or `skip` are set, no information is displayed upon hovering. - But, if `none` is set, click and hover events are still fired. + Determines what trace information appears on hover. Flags are + rendered in a fixed order; use `hovertemplate` if you need + explicit control over the rendered string, including the order + of fields and surrounding text. The 'hoverinfo' property is a flaglist and may be specified as a string containing: @@ -192,25 +162,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -298,25 +249,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -341,25 +273,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -380,24 +293,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def insidetextfont(self): """ @@ -437,24 +332,6 @@ def labels(self): def labels(self, val): self["labels"] = val - @property - def labelssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `labels`. - - The 'labelssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["labelssrc"] - - @labelssrc.setter - def labelssrc(self, val): - self["labelssrc"] = val - @property def leaf(self): """ @@ -644,24 +521,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -748,24 +607,6 @@ def parents(self): def parents(self, val): self["parents"] = val - @property - def parentssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `parents`. - - The 'parentssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["parentssrc"] - - @parentssrc.setter - def parentssrc(self, val): - self["parentssrc"] = val - @property def pathbar(self): """ @@ -823,25 +664,6 @@ def sort(self): def sort(self, val): self["sort"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.icicle.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.icicle.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def text(self): """ @@ -888,7 +710,10 @@ def textfont(self, val): @property def textinfo(self): """ - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. Flags + are rendered in a fixed order; use `texttemplate` if you need + explicit control over the rendered string, including the order + of fields and surrounding text. The 'textinfo' property is a flaglist and may be specified as a string containing: @@ -927,24 +752,6 @@ def textposition(self): def textposition(self, val): self["textposition"] = val - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def texttemplate(self): """ @@ -1002,25 +809,6 @@ def texttemplatefallback(self): def texttemplatefallback(self, val): self["texttemplatefallback"] = val - @property - def texttemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `texttemplate`. - - The 'texttemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["texttemplatesrc"] - - @texttemplatesrc.setter - def texttemplatesrc(self, val): - self["texttemplatesrc"] = val - @property def tiling(self): """ @@ -1110,24 +898,6 @@ def values(self): def values(self, val): self["values"] = val - @property - def valuessrc(self): - """ - Sets the source reference on Chart Studio Cloud for `values`. - - The 'valuessrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["valuessrc"] - - @valuessrc.setter - def valuessrc(self, val): - self["valuessrc"] = val - @property def visible(self): """ @@ -1172,20 +942,15 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. domain :class:`plotly.graph_objects.icicle.Domain` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. + Determines what trace information appears on hover. + Flags are rendered in a fixed order; use + `hovertemplate` if you need explicit control over the + rendered string, including the order of fields and + surrounding text. hoverlabel :class:`plotly.graph_objects.icicle.Hoverlabel` instance or dict with compatible properties @@ -1231,33 +996,21 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextfont Sets the font used for `textinfo` lying inside the sector. labels Sets the labels of each of the sectors. - labelssrc - Sets the source reference on Chart Studio Cloud for - `labels`. leaf :class:`plotly.graph_objects.icicle.Leaf` instance or dict with compatible properties @@ -1310,9 +1063,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1332,9 +1082,6 @@ def _prop_descriptions(self): items are understood to be "ids" themselves. When `ids` is not set, plotly attempts to find matching items in `labels`, but beware they must be unique. - parentssrc - Sets the source reference on Chart Studio Cloud for - `parents`. pathbar :class:`plotly.graph_objects.icicle.Pathbar` instance or dict with compatible properties @@ -1344,9 +1091,6 @@ def _prop_descriptions(self): sort Determines whether or not the sectors are reordered from largest to smallest. - stream - :class:`plotly.graph_objects.icicle.Stream` instance or - dict with compatible properties text Sets text elements associated with each sector. If trace `textinfo` contains a "text" flag, these elements @@ -1356,12 +1100,12 @@ def _prop_descriptions(self): textfont Sets the font used for `textinfo`. textinfo - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. + Flags are rendered in a fixed order; use `texttemplate` + if you need explicit control over the rendered string, + including the order of fields and surrounding text. textposition Sets the positions of the `text` elements. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1391,9 +1135,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. tiling :class:`plotly.graph_objects.icicle.Tiling` instance or dict with compatible properties @@ -1423,9 +1164,6 @@ def _prop_descriptions(self): Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -1439,21 +1177,15 @@ def __init__( branchvalues=None, count=None, customdata=None, - customdatasrc=None, domain=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, insidetextfont=None, labels=None, - labelssrc=None, leaf=None, legend=None, legendgrouptitle=None, @@ -1463,29 +1195,23 @@ def __init__( marker=None, maxdepth=None, meta=None, - metasrc=None, name=None, opacity=None, outsidetextfont=None, parents=None, - parentssrc=None, pathbar=None, root=None, sort=None, - stream=None, text=None, textfont=None, textinfo=None, textposition=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, tiling=None, uid=None, uirevision=None, values=None, - valuessrc=None, visible=None, **kwargs, ): @@ -1517,20 +1243,15 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. domain :class:`plotly.graph_objects.icicle.Domain` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. + Determines what trace information appears on hover. + Flags are rendered in a fixed order; use + `hovertemplate` if you need explicit control over the + rendered string, including the order of fields and + surrounding text. hoverlabel :class:`plotly.graph_objects.icicle.Hoverlabel` instance or dict with compatible properties @@ -1576,33 +1297,21 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextfont Sets the font used for `textinfo` lying inside the sector. labels Sets the labels of each of the sectors. - labelssrc - Sets the source reference on Chart Studio Cloud for - `labels`. leaf :class:`plotly.graph_objects.icicle.Leaf` instance or dict with compatible properties @@ -1655,9 +1364,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1677,9 +1383,6 @@ def __init__( items are understood to be "ids" themselves. When `ids` is not set, plotly attempts to find matching items in `labels`, but beware they must be unique. - parentssrc - Sets the source reference on Chart Studio Cloud for - `parents`. pathbar :class:`plotly.graph_objects.icicle.Pathbar` instance or dict with compatible properties @@ -1689,9 +1392,6 @@ def __init__( sort Determines whether or not the sectors are reordered from largest to smallest. - stream - :class:`plotly.graph_objects.icicle.Stream` instance or - dict with compatible properties text Sets text elements associated with each sector. If trace `textinfo` contains a "text" flag, these elements @@ -1701,12 +1401,12 @@ def __init__( textfont Sets the font used for `textinfo`. textinfo - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. + Flags are rendered in a fixed order; use `texttemplate` + if you need explicit control over the rendered string, + including the order of fields and surrounding text. textposition Sets the positions of the `text` elements. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1736,9 +1436,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. tiling :class:`plotly.graph_objects.icicle.Tiling` instance or dict with compatible properties @@ -1768,9 +1465,6 @@ def __init__( Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -1804,21 +1498,15 @@ def __init__( self._set_property("branchvalues", arg, branchvalues) self._set_property("count", arg, count) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("domain", arg, domain) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("insidetextfont", arg, insidetextfont) self._set_property("labels", arg, labels) - self._set_property("labelssrc", arg, labelssrc) self._set_property("leaf", arg, leaf) self._set_property("legend", arg, legend) self._set_property("legendgrouptitle", arg, legendgrouptitle) @@ -1828,29 +1516,23 @@ def __init__( self._set_property("marker", arg, marker) self._set_property("maxdepth", arg, maxdepth) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("outsidetextfont", arg, outsidetextfont) self._set_property("parents", arg, parents) - self._set_property("parentssrc", arg, parentssrc) self._set_property("pathbar", arg, pathbar) self._set_property("root", arg, root) self._set_property("sort", arg, sort) - self._set_property("stream", arg, stream) self._set_property("text", arg, text) self._set_property("textfont", arg, textfont) self._set_property("textinfo", arg, textinfo) self._set_property("textposition", arg, textposition) - self._set_property("textsrc", arg, textsrc) self._set_property("texttemplate", arg, texttemplate) self._set_property("texttemplatefallback", arg, texttemplatefallback) - self._set_property("texttemplatesrc", arg, texttemplatesrc) self._set_property("tiling", arg, tiling) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("values", arg, values) - self._set_property("valuessrc", arg, valuessrc) self._set_property("visible", arg, visible) self._props["type"] = "icicle" diff --git a/plotly/graph_objs/_image.py b/plotly/graph_objs/_image.py index ec8d8add22e..b859fda1c6e 100644 --- a/plotly/graph_objs/_image.py +++ b/plotly/graph_objs/_image.py @@ -11,31 +11,23 @@ class Image(_BaseTraceType): _valid_props = { "colormodel", "customdata", - "customdatasrc", "dx", "dy", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "legend", "legendgrouptitle", "legendrank", "legendwidth", "meta", - "metasrc", "name", "opacity", "source", - "stream", "text", - "textsrc", "type", "uid", "uirevision", @@ -49,7 +41,6 @@ class Image(_BaseTraceType): "zmin", "zorder", "zsmooth", - "zsrc", } @property @@ -95,25 +86,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def dx(self): """ @@ -153,7 +125,7 @@ def dy(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -174,25 +146,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -279,25 +232,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -316,25 +250,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -355,24 +270,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def legend(self): """ @@ -485,24 +382,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -562,25 +441,6 @@ def source(self): def source(self, val): self["source"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.image.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.image.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def text(self): """ @@ -599,24 +459,6 @@ def text(self): def text(self, val): self["text"] = val - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def uid(self): """ @@ -900,24 +742,6 @@ def zsmooth(self): def zsmooth(self, val): self["zsmooth"] = val - @property - def zsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `z`. - - The 'zsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["zsrc"] - - @zsrc.setter - def zsrc(self, val): - self["zsrc"] = val - @property def type(self): return self._props["type"] @@ -935,21 +759,15 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dx Set the pixel's horizontal size. dy Set the pixel's vertical size hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.image.Hoverlabel` instance or dict with compatible properties @@ -994,21 +812,12 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1045,9 +854,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1057,14 +863,8 @@ def _prop_descriptions(self): Specifies the data URI of the image to be visualized. The URI consists of "data:image/[][;base64\\]," - stream - :class:`plotly.graph_objects.image.Stream` instance or - dict with compatible properties text Sets the text elements associated with each z value. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1144,9 +944,6 @@ def _prop_descriptions(self): Picks a smoothing algorithm used to smooth `z` data. This only applies for image traces that use the `source` attribute. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. """ def __init__( @@ -1154,31 +951,23 @@ def __init__( arg=None, colormodel=None, customdata=None, - customdatasrc=None, dx=None, dy=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgrouptitle=None, legendrank=None, legendwidth=None, meta=None, - metasrc=None, name=None, opacity=None, source=None, - stream=None, text=None, - textsrc=None, uid=None, uirevision=None, visible=None, @@ -1191,7 +980,6 @@ def __init__( zmin=None, zorder=None, zsmooth=None, - zsrc=None, **kwargs, ): """ @@ -1219,21 +1007,15 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dx Set the pixel's horizontal size. dy Set the pixel's vertical size hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.image.Hoverlabel` instance or dict with compatible properties @@ -1278,21 +1060,12 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1329,9 +1102,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1341,14 +1111,8 @@ def __init__( Specifies the data URI of the image to be visualized. The URI consists of "data:image/[][;base64\\]," - stream - :class:`plotly.graph_objects.image.Stream` instance or - dict with compatible properties text Sets the text elements associated with each z value. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1428,9 +1192,6 @@ def __init__( Picks a smoothing algorithm used to smooth `z` data. This only applies for image traces that use the `source` attribute. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. Returns ------- @@ -1458,31 +1219,23 @@ def __init__( self._set_property("colormodel", arg, colormodel) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("dx", arg, dx) self._set_property("dy", arg, dy) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("legend", arg, legend) self._set_property("legendgrouptitle", arg, legendgrouptitle) self._set_property("legendrank", arg, legendrank) self._set_property("legendwidth", arg, legendwidth) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("source", arg, source) - self._set_property("stream", arg, stream) self._set_property("text", arg, text) - self._set_property("textsrc", arg, textsrc) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("visible", arg, visible) @@ -1495,7 +1248,6 @@ def __init__( self._set_property("zmin", arg, zmin) self._set_property("zorder", arg, zorder) self._set_property("zsmooth", arg, zsmooth) - self._set_property("zsrc", arg, zsrc) self._props["type"] = "image" arg.pop("type", None) diff --git a/plotly/graph_objs/_indicator.py b/plotly/graph_objs/_indicator.py index e54f53442e7..bbe2665ddb2 100644 --- a/plotly/graph_objs/_indicator.py +++ b/plotly/graph_objs/_indicator.py @@ -11,22 +11,18 @@ class Indicator(_BaseTraceType): _valid_props = { "align", "customdata", - "customdatasrc", "delta", "domain", "gauge", "ids", - "idssrc", "legend", "legendgrouptitle", "legendrank", "legendwidth", "meta", - "metasrc", "mode", "name", "number", - "stream", "title", "type", "uid", @@ -77,25 +73,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def delta(self): """ @@ -175,24 +152,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def legend(self): """ @@ -305,24 +264,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def mode(self): """ @@ -385,25 +326,6 @@ def number(self): def number(self, val): self["number"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.indicator.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.indicator.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def title(self): """ @@ -530,9 +452,6 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. delta :class:`plotly.graph_objects.indicator.Delta` instance or dict with compatible properties @@ -545,9 +464,6 @@ def _prop_descriptions(self): Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -584,9 +500,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines how the value is displayed on the graph. `number` displays the value numerically in text. @@ -599,9 +512,6 @@ def _prop_descriptions(self): number :class:`plotly.graph_objects.indicator.Number` instance or dict with compatible properties - stream - :class:`plotly.graph_objects.indicator.Stream` instance - or dict with compatible properties title :class:`plotly.graph_objects.indicator.Title` instance or dict with compatible properties @@ -641,22 +551,18 @@ def __init__( arg=None, align=None, customdata=None, - customdatasrc=None, delta=None, domain=None, gauge=None, ids=None, - idssrc=None, legend=None, legendgrouptitle=None, legendrank=None, legendwidth=None, meta=None, - metasrc=None, mode=None, name=None, number=None, - stream=None, title=None, uid=None, uirevision=None, @@ -689,9 +595,6 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. delta :class:`plotly.graph_objects.indicator.Delta` instance or dict with compatible properties @@ -704,9 +607,6 @@ def __init__( Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -743,9 +643,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines how the value is displayed on the graph. `number` displays the value numerically in text. @@ -758,9 +655,6 @@ def __init__( number :class:`plotly.graph_objects.indicator.Number` instance or dict with compatible properties - stream - :class:`plotly.graph_objects.indicator.Stream` instance - or dict with compatible properties title :class:`plotly.graph_objects.indicator.Title` instance or dict with compatible properties @@ -820,22 +714,18 @@ def __init__( self._set_property("align", arg, align) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("delta", arg, delta) self._set_property("domain", arg, domain) self._set_property("gauge", arg, gauge) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("legend", arg, legend) self._set_property("legendgrouptitle", arg, legendgrouptitle) self._set_property("legendrank", arg, legendrank) self._set_property("legendwidth", arg, legendwidth) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("mode", arg, mode) self._set_property("name", arg, name) self._set_property("number", arg, number) - self._set_property("stream", arg, stream) self._set_property("title", arg, title) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) diff --git a/plotly/graph_objs/_isosurface.py b/plotly/graph_objs/_isosurface.py index f68216dcfbd..9eb55c5e44e 100644 --- a/plotly/graph_objs/_isosurface.py +++ b/plotly/graph_objs/_isosurface.py @@ -20,18 +20,13 @@ class Isosurface(_BaseTraceType): "colorscale", "contour", "customdata", - "customdatasrc", "flatshading", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "isomax", "isomin", "legend", @@ -42,7 +37,6 @@ class Isosurface(_BaseTraceType): "lighting", "lightposition", "meta", - "metasrc", "name", "opacity", "reversescale", @@ -51,26 +45,20 @@ class Isosurface(_BaseTraceType): "showscale", "slices", "spaceframe", - "stream", "surface", "text", - "textsrc", "type", "uid", "uirevision", "value", "valuehoverformat", - "valuesrc", "visible", "x", "xhoverformat", - "xsrc", "y", "yhoverformat", - "ysrc", "z", "zhoverformat", - "zsrc", } @property @@ -243,7 +231,7 @@ def colorscale(self): """ Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, - hsv, or named color string. At minimum, a mapping for the + hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. @@ -329,25 +317,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def flatshading(self): """ @@ -371,7 +340,7 @@ def flatshading(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -392,25 +361,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -496,25 +446,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -535,25 +466,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -574,24 +486,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def isomax(self): """ @@ -799,24 +693,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -979,25 +855,6 @@ def spaceframe(self): def spaceframe(self, val): self["spaceframe"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.isosurface.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.isosurface.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def surface(self): """ @@ -1039,24 +896,6 @@ def text(self): def text(self, val): self["text"] = val - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def uid(self): """ @@ -1129,7 +968,7 @@ def value(self, val): @property def valuehoverformat(self): """ - Sets the hover text formatting rulefor `value` using d3 + Sets the hover text formatting rule for `value` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By @@ -1149,24 +988,6 @@ def valuehoverformat(self): def valuehoverformat(self, val): self["valuehoverformat"] = val - @property - def valuesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `value`. - - The 'valuesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["valuesrc"] - - @valuesrc.setter - def valuesrc(self, val): - self["valuesrc"] = val - @property def visible(self): """ @@ -1209,7 +1030,7 @@ def x(self, val): @property def xhoverformat(self): """ - Sets the hover text formatting rulefor `x` using d3 formatting + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1235,24 +1056,6 @@ def xhoverformat(self): def xhoverformat(self, val): self["xhoverformat"] = val - @property - def xsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `x`. - - The 'xsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xsrc"] - - @xsrc.setter - def xsrc(self, val): - self["xsrc"] = val - @property def y(self): """ @@ -1274,7 +1077,7 @@ def y(self, val): @property def yhoverformat(self): """ - Sets the hover text formatting rulefor `y` using d3 formatting + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1300,24 +1103,6 @@ def yhoverformat(self): def yhoverformat(self, val): self["yhoverformat"] = val - @property - def ysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `y`. - - The 'ysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ysrc"] - - @ysrc.setter - def ysrc(self, val): - self["ysrc"] = val - @property def z(self): """ @@ -1339,7 +1124,7 @@ def z(self, val): @property def zhoverformat(self): """ - Sets the hover text formatting rulefor `z` using d3 formatting + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1365,24 +1150,6 @@ def zhoverformat(self): def zhoverformat(self, val): self["zhoverformat"] = val - @property - def zsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `z`. - - The 'zsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["zsrc"] - - @zsrc.setter - def zsrc(self, val): - self["zsrc"] = val - @property def type(self): return self._props["type"] @@ -1431,15 +1198,15 @@ def _prop_descriptions(self): colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. contour :class:`plotly.graph_objects.isosurface.Contour` instance or dict with compatible properties @@ -1448,21 +1215,15 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. flatshading Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low- poly look via flat reflections. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.isosurface.Hoverlabel` instance or dict with compatible properties @@ -1505,21 +1266,12 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. isomax Sets the maximum boundary for iso-surface plot. isomin @@ -1570,9 +1322,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1606,9 +1355,6 @@ def _prop_descriptions(self): spaceframe :class:`plotly.graph_objects.isosurface.Spaceframe` instance or dict with compatible properties - stream - :class:`plotly.graph_objects.isosurface.Stream` - instance or dict with compatible properties surface :class:`plotly.graph_objects.isosurface.Surface` instance or dict with compatible properties @@ -1617,9 +1363,6 @@ def _prop_descriptions(self): trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1645,14 +1388,11 @@ def _prop_descriptions(self): value Sets the 4th dimension (value) of the vertices. valuehoverformat - Sets the hover text formatting rulefor `value` using + Sets the hover text formatting rule for `value` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format. - valuesrc - Sets the source reference on Chart Studio Cloud for - `value`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -1661,7 +1401,7 @@ def _prop_descriptions(self): x Sets the X coordinates of the vertices on X axis. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1673,13 +1413,10 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the Y coordinates of the vertices on Y axis. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1691,13 +1428,10 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the Z coordinates of the vertices on Z axis. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1709,9 +1443,6 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. """ def __init__( @@ -1728,18 +1459,13 @@ def __init__( colorscale=None, contour=None, customdata=None, - customdatasrc=None, flatshading=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, isomax=None, isomin=None, legend=None, @@ -1750,7 +1476,6 @@ def __init__( lighting=None, lightposition=None, meta=None, - metasrc=None, name=None, opacity=None, reversescale=None, @@ -1759,25 +1484,19 @@ def __init__( showscale=None, slices=None, spaceframe=None, - stream=None, surface=None, text=None, - textsrc=None, uid=None, uirevision=None, value=None, valuehoverformat=None, - valuesrc=None, visible=None, x=None, xhoverformat=None, - xsrc=None, y=None, yhoverformat=None, - ysrc=None, z=None, zhoverformat=None, - zsrc=None, **kwargs, ): """ @@ -1836,15 +1555,15 @@ def __init__( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. contour :class:`plotly.graph_objects.isosurface.Contour` instance or dict with compatible properties @@ -1853,21 +1572,15 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. flatshading Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low- poly look via flat reflections. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.isosurface.Hoverlabel` instance or dict with compatible properties @@ -1910,21 +1623,12 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. isomax Sets the maximum boundary for iso-surface plot. isomin @@ -1975,9 +1679,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -2011,9 +1712,6 @@ def __init__( spaceframe :class:`plotly.graph_objects.isosurface.Spaceframe` instance or dict with compatible properties - stream - :class:`plotly.graph_objects.isosurface.Stream` - instance or dict with compatible properties surface :class:`plotly.graph_objects.isosurface.Surface` instance or dict with compatible properties @@ -2022,9 +1720,6 @@ def __init__( trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -2050,14 +1745,11 @@ def __init__( value Sets the 4th dimension (value) of the vertices. valuehoverformat - Sets the hover text formatting rulefor `value` using + Sets the hover text formatting rule for `value` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format. - valuesrc - Sets the source reference on Chart Studio Cloud for - `value`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -2066,7 +1758,7 @@ def __init__( x Sets the X coordinates of the vertices on X axis. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2078,13 +1770,10 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the Y coordinates of the vertices on Y axis. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2096,13 +1785,10 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the Z coordinates of the vertices on Z axis. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2114,9 +1800,6 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. Returns ------- @@ -2153,18 +1836,13 @@ def __init__( self._set_property("colorscale", arg, colorscale) self._set_property("contour", arg, contour) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("flatshading", arg, flatshading) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("isomax", arg, isomax) self._set_property("isomin", arg, isomin) self._set_property("legend", arg, legend) @@ -2175,7 +1853,6 @@ def __init__( self._set_property("lighting", arg, lighting) self._set_property("lightposition", arg, lightposition) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("reversescale", arg, reversescale) @@ -2184,25 +1861,19 @@ def __init__( self._set_property("showscale", arg, showscale) self._set_property("slices", arg, slices) self._set_property("spaceframe", arg, spaceframe) - self._set_property("stream", arg, stream) self._set_property("surface", arg, surface) self._set_property("text", arg, text) - self._set_property("textsrc", arg, textsrc) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("value", arg, value) self._set_property("valuehoverformat", arg, valuehoverformat) - self._set_property("valuesrc", arg, valuesrc) self._set_property("visible", arg, visible) self._set_property("x", arg, x) self._set_property("xhoverformat", arg, xhoverformat) - self._set_property("xsrc", arg, xsrc) self._set_property("y", arg, y) self._set_property("yhoverformat", arg, yhoverformat) - self._set_property("ysrc", arg, ysrc) self._set_property("z", arg, z) self._set_property("zhoverformat", arg, zhoverformat) - self._set_property("zsrc", arg, zsrc) self._props["type"] = "isosurface" arg.pop("type", None) diff --git a/plotly/graph_objs/_layout.py b/plotly/graph_objs/_layout.py index abd1743d50c..631bbd6d385 100644 --- a/plotly/graph_objs/_layout.py +++ b/plotly/graph_objs/_layout.py @@ -11,7 +11,6 @@ class Layout(_BaseLayoutType): "geo", "legend", "map", - "mapbox", "polar", "scene", "smith", @@ -40,7 +39,6 @@ def _subplotid_validators(self): "geo": ValidatorCache.get_validator("layout", "geo"), "legend": ValidatorCache.get_validator("layout", "legend"), "map": ValidatorCache.get_validator("layout", "map"), - "mapbox": ValidatorCache.get_validator("layout", "mapbox"), "polar": ValidatorCache.get_validator("layout", "polar"), "scene": ValidatorCache.get_validator("layout", "scene"), "smith": ValidatorCache.get_validator("layout", "smith"), @@ -93,8 +91,6 @@ def _subplot_re_match(self, prop): "grid", "height", "hiddenlabels", - "hiddenlabelssrc", - "hidesources", "hoveranywhere", "hoverdistance", "hoverlabel", @@ -106,10 +102,8 @@ def _subplot_re_match(self, prop): "images", "legend", "map", - "mapbox", "margin", "meta", - "metasrc", "minreducedheight", "minreducedwidth", "modebar", @@ -973,47 +967,6 @@ def hiddenlabels(self): def hiddenlabels(self, val): self["hiddenlabels"] = val - @property - def hiddenlabelssrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hiddenlabels`. - - The 'hiddenlabelssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hiddenlabelssrc"] - - @hiddenlabelssrc.setter - def hiddenlabelssrc(self, val): - self["hiddenlabelssrc"] = val - - @property - def hidesources(self): - """ - Determines whether or not a text link citing the data source is - placed at the bottom-right cored of the figure. Has only an - effect only on graphs that have been generated via forked - graphs from the Chart Studio Cloud (at https://chart- - studio.plotly.com or on-premise). - - The 'hidesources' property is a boolean and must be specified as: - - A boolean value: True or False - - Returns - ------- - bool - """ - return self["hidesources"] - - @hidesources.setter - def hidesources(self, val): - self["hidesources"] = val - @property def hoveranywhere(self): """ @@ -1260,25 +1213,6 @@ def map(self): def map(self, val): self["map"] = val - @property - def mapbox(self): - """ - The 'mapbox' property is an instance of Mapbox - that may be specified as: - - An instance of :class:`plotly.graph_objs.layout.Mapbox` - - A dict of string/value properties that will be passed - to the Mapbox constructor - - Returns - ------- - plotly.graph_objs.layout.Mapbox - """ - return self["mapbox"] - - @mapbox.setter - def mapbox(self, val): - self["mapbox"] = val - @property def margin(self): """ @@ -1322,24 +1256,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def minreducedheight(self): """ @@ -2473,16 +2389,6 @@ def _prop_descriptions(self): visible:'legendonly' but it can contain many labels, and can simultaneously hide slices from several pies/funnelarea charts - hiddenlabelssrc - Sets the source reference on Chart Studio Cloud for - `hiddenlabels`. - hidesources - Determines whether or not a text link citing the data - source is placed at the bottom-right cored of the - figure. Has only an effect only on graphs that have - been generated via forked graphs from the Chart Studio - Cloud (at https://chart-studio.plotly.com or on- - premise). hoveranywhere If true, `plotly_hover` events will fire for any cursor position within the plot area, not just over traces. @@ -2549,9 +2455,6 @@ def _prop_descriptions(self): map :class:`plotly.graph_objects.layout.Map` instance or dict with compatible properties - mapbox - :class:`plotly.graph_objects.layout.Mapbox` instance or - dict with compatible properties margin :class:`plotly.graph_objects.layout.Margin` instance or dict with compatible properties @@ -2566,9 +2469,6 @@ def _prop_descriptions(self): `meta` item in question. `meta` can also be an object for example `{key: value}` which can be accessed %{meta[key]}. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. minreducedheight Minimum height of the plot with margin.automargin applied (in px) @@ -2819,8 +2719,6 @@ def __init__( grid=None, height=None, hiddenlabels=None, - hiddenlabelssrc=None, - hidesources=None, hoveranywhere=None, hoverdistance=None, hoverlabel=None, @@ -2832,10 +2730,8 @@ def __init__( imagedefaults=None, legend=None, map=None, - mapbox=None, margin=None, meta=None, - metasrc=None, minreducedheight=None, minreducedwidth=None, modebar=None, @@ -3096,16 +2992,6 @@ def __init__( visible:'legendonly' but it can contain many labels, and can simultaneously hide slices from several pies/funnelarea charts - hiddenlabelssrc - Sets the source reference on Chart Studio Cloud for - `hiddenlabels`. - hidesources - Determines whether or not a text link citing the data - source is placed at the bottom-right cored of the - figure. Has only an effect only on graphs that have - been generated via forked graphs from the Chart Studio - Cloud (at https://chart-studio.plotly.com or on- - premise). hoveranywhere If true, `plotly_hover` events will fire for any cursor position within the plot area, not just over traces. @@ -3172,9 +3058,6 @@ def __init__( map :class:`plotly.graph_objects.layout.Map` instance or dict with compatible properties - mapbox - :class:`plotly.graph_objects.layout.Mapbox` instance or - dict with compatible properties margin :class:`plotly.graph_objects.layout.Margin` instance or dict with compatible properties @@ -3189,9 +3072,6 @@ def __init__( `meta` item in question. `meta` can also be an object for example `{key: value}` which can be accessed %{meta[key]}. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. minreducedheight Minimum height of the plot with margin.automargin applied (in px) @@ -3448,8 +3328,6 @@ def __init__( "grid", "height", "hiddenlabels", - "hiddenlabelssrc", - "hidesources", "hoveranywhere", "hoverdistance", "hoverlabel", @@ -3461,10 +3339,8 @@ def __init__( "images", "legend", "map", - "mapbox", "margin", "meta", - "metasrc", "minreducedheight", "minreducedwidth", "modebar", @@ -3563,8 +3439,6 @@ def __init__( self._set_property("grid", arg, grid) self._set_property("height", arg, height) self._set_property("hiddenlabels", arg, hiddenlabels) - self._set_property("hiddenlabelssrc", arg, hiddenlabelssrc) - self._set_property("hidesources", arg, hidesources) self._set_property("hoveranywhere", arg, hoveranywhere) self._set_property("hoverdistance", arg, hoverdistance) self._set_property("hoverlabel", arg, hoverlabel) @@ -3576,10 +3450,8 @@ def __init__( self._set_property("imagedefaults", arg, imagedefaults) self._set_property("legend", arg, legend) self._set_property("map", arg, map) - self._set_property("mapbox", arg, mapbox) self._set_property("margin", arg, margin) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("minreducedheight", arg, minreducedheight) self._set_property("minreducedwidth", arg, minreducedwidth) self._set_property("modebar", arg, modebar) diff --git a/plotly/graph_objs/_mesh3d.py b/plotly/graph_objs/_mesh3d.py index 231b7300a85..6b207443fc0 100644 --- a/plotly/graph_objs/_mesh3d.py +++ b/plotly/graph_objs/_mesh3d.py @@ -21,30 +21,20 @@ class Mesh3d(_BaseTraceType): "colorscale", "contour", "customdata", - "customdatasrc", "delaunayaxis", "facecolor", - "facecolorsrc", "flatshading", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "i", "ids", - "idssrc", "intensity", "intensitymode", - "intensitysrc", - "isrc", "j", - "jsrc", "k", - "ksrc", "legend", "legendgroup", "legendgrouptitle", @@ -53,34 +43,27 @@ class Mesh3d(_BaseTraceType): "lighting", "lightposition", "meta", - "metasrc", "name", "opacity", "reversescale", "scene", "showlegend", "showscale", - "stream", "text", - "textsrc", "type", "uid", "uirevision", "vertexcolor", - "vertexcolorsrc", "visible", "x", "xcalendar", "xhoverformat", - "xsrc", "y", "ycalendar", "yhoverformat", - "ysrc", "z", "zcalendar", "zhoverformat", - "zsrc", } @property @@ -294,7 +277,7 @@ def colorscale(self): """ Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, - hsv, or named color string. At minimum, a mapping for the + hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. @@ -380,25 +363,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def delaunayaxis(self): """ @@ -440,25 +404,6 @@ def facecolor(self): def facecolor(self, val): self["facecolor"] = val - @property - def facecolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `facecolor`. - - The 'facecolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["facecolorsrc"] - - @facecolorsrc.setter - def facecolorsrc(self, val): - self["facecolorsrc"] = val - @property def flatshading(self): """ @@ -482,7 +427,7 @@ def flatshading(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -503,25 +448,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -607,25 +533,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -646,25 +553,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def i(self): """ @@ -709,24 +597,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def intensity(self): """ @@ -765,43 +635,6 @@ def intensitymode(self): def intensitymode(self, val): self["intensitymode"] = val - @property - def intensitysrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `intensity`. - - The 'intensitysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["intensitysrc"] - - @intensitysrc.setter - def intensitysrc(self, val): - self["intensitysrc"] = val - - @property - def isrc(self): - """ - Sets the source reference on Chart Studio Cloud for `i`. - - The 'isrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["isrc"] - - @isrc.setter - def isrc(self, val): - self["isrc"] = val - @property def j(self): """ @@ -826,24 +659,6 @@ def j(self): def j(self, val): self["j"] = val - @property - def jsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `j`. - - The 'jsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["jsrc"] - - @jsrc.setter - def jsrc(self, val): - self["jsrc"] = val - @property def k(self): """ @@ -851,7 +666,7 @@ def k(self): the length of the vertex vectors, representing the "third" vertex of a triangle. For example, `{i[m], j[m], k[m]}` together represent face m (triangle m) in the mesh, where `k[m] - = n` points to the triplet `{x[n], y[n], z[n]}` in the vertex + = n` points to the triplet `{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `k` represents a point in space, which is the third vertex of a triangle. @@ -868,24 +683,6 @@ def k(self): def k(self, val): self["k"] = val - @property - def ksrc(self): - """ - Sets the source reference on Chart Studio Cloud for `k`. - - The 'ksrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ksrc"] - - @ksrc.setter - def ksrc(self, val): - self["ksrc"] = val - @property def legend(self): """ @@ -1057,24 +854,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -1199,25 +978,6 @@ def showscale(self): def showscale(self, val): self["showscale"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.mesh3d.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.mesh3d.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def text(self): """ @@ -1240,24 +1000,6 @@ def text(self): def text(self, val): self["text"] = val - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def uid(self): """ @@ -1330,25 +1072,6 @@ def vertexcolor(self): def vertexcolor(self, val): self["vertexcolor"] = val - @property - def vertexcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `vertexcolor`. - - The 'vertexcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["vertexcolorsrc"] - - @vertexcolorsrc.setter - def vertexcolorsrc(self, val): - self["vertexcolorsrc"] = val - @property def visible(self): """ @@ -1415,7 +1138,7 @@ def xcalendar(self, val): @property def xhoverformat(self): """ - Sets the hover text formatting rulefor `x` using d3 formatting + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1441,24 +1164,6 @@ def xhoverformat(self): def xhoverformat(self, val): self["xhoverformat"] = val - @property - def xsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `x`. - - The 'xsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xsrc"] - - @xsrc.setter - def xsrc(self, val): - self["xsrc"] = val - @property def y(self): """ @@ -1504,7 +1209,7 @@ def ycalendar(self, val): @property def yhoverformat(self): """ - Sets the hover text formatting rulefor `y` using d3 formatting + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1530,24 +1235,6 @@ def yhoverformat(self): def yhoverformat(self, val): self["yhoverformat"] = val - @property - def ysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `y`. - - The 'ysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ysrc"] - - @ysrc.setter - def ysrc(self, val): - self["ysrc"] = val - @property def z(self): """ @@ -1593,7 +1280,7 @@ def zcalendar(self, val): @property def zhoverformat(self): """ - Sets the hover text formatting rulefor `z` using d3 formatting + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1619,24 +1306,6 @@ def zhoverformat(self): def zhoverformat(self, val): self["zhoverformat"] = val - @property - def zsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `z`. - - The 'zsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["zsrc"] - - @zsrc.setter - def zsrc(self, val): - self["zsrc"] = val - @property def type(self): return self._props["type"] @@ -1703,15 +1372,15 @@ def _prop_descriptions(self): colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. contour :class:`plotly.graph_objects.mesh3d.Contour` instance or dict with compatible properties @@ -1720,9 +1389,6 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. delaunayaxis Sets the Delaunay axis, which is the axis that is perpendicular to the surface of the Delaunay @@ -1732,21 +1398,15 @@ def _prop_descriptions(self): facecolor Sets the color of each face Overrides "color" and "vertexcolor". - facecolorsrc - Sets the source reference on Chart Studio Cloud for - `facecolor`. flatshading Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low- poly look via flat reflections. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.mesh3d.Hoverlabel` instance or dict with compatible properties @@ -1789,14 +1449,8 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. i A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing @@ -1810,33 +1464,21 @@ def _prop_descriptions(self): Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. intensity Sets the intensity values for vertices or cells as defined by `intensitymode`. It can be used for plotting fields on meshes. intensitymode Determines the source of `intensity` values. - intensitysrc - Sets the source reference on Chart Studio Cloud for - `intensity`. - isrc - Sets the source reference on Chart Studio Cloud for - `i`. j A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing the "second" vertex of a triangle. For example, `{i[m], - j[m], k[m]}` together represent face m (triangle m) in + j[m], k[m]}` together represent face m (triangle m) in the mesh, where `j[m] = n` points to the triplet `{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `j` represents a point in space, which is the second vertex of a triangle. - jsrc - Sets the source reference on Chart Studio Cloud for - `j`. k A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing @@ -1846,9 +1488,6 @@ def _prop_descriptions(self): `{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `k` represents a point in space, which is the third vertex of a triangle. - ksrc - Sets the source reference on Chart Studio Cloud for - `k`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1895,9 +1534,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1925,17 +1561,11 @@ def _prop_descriptions(self): showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.mesh3d.Stream` instance or - dict with compatible properties text Sets the text elements associated with the vertices. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1964,9 +1594,6 @@ def _prop_descriptions(self): 255; in the case of having vertex color data in RGBA format, the alpha color should be normalized to be between 0 and 1. - vertexcolorsrc - Sets the source reference on Chart Studio Cloud for - `vertexcolor`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -1979,7 +1606,7 @@ def _prop_descriptions(self): xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1991,9 +1618,6 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the Y coordinates of the vertices. The nth element of vectors `x`, `y` and `z` jointly represent the X, Y @@ -2001,7 +1625,7 @@ def _prop_descriptions(self): ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2013,9 +1637,6 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the Z coordinates of the vertices. The nth element of vectors `x`, `y` and `z` jointly represent the X, Y @@ -2023,7 +1644,7 @@ def _prop_descriptions(self): zcalendar Sets the calendar system to use with `z` date data. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2035,9 +1656,6 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. """ def __init__( @@ -2055,30 +1673,20 @@ def __init__( colorscale=None, contour=None, customdata=None, - customdatasrc=None, delaunayaxis=None, facecolor=None, - facecolorsrc=None, flatshading=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, i=None, ids=None, - idssrc=None, intensity=None, intensitymode=None, - intensitysrc=None, - isrc=None, j=None, - jsrc=None, k=None, - ksrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -2087,33 +1695,26 @@ def __init__( lighting=None, lightposition=None, meta=None, - metasrc=None, name=None, opacity=None, reversescale=None, scene=None, showlegend=None, showscale=None, - stream=None, text=None, - textsrc=None, uid=None, uirevision=None, vertexcolor=None, - vertexcolorsrc=None, visible=None, x=None, xcalendar=None, xhoverformat=None, - xsrc=None, y=None, ycalendar=None, yhoverformat=None, - ysrc=None, z=None, zcalendar=None, zhoverformat=None, - zsrc=None, **kwargs, ): """ @@ -2188,15 +1789,15 @@ def __init__( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. contour :class:`plotly.graph_objects.mesh3d.Contour` instance or dict with compatible properties @@ -2205,9 +1806,6 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. delaunayaxis Sets the Delaunay axis, which is the axis that is perpendicular to the surface of the Delaunay @@ -2217,21 +1815,15 @@ def __init__( facecolor Sets the color of each face Overrides "color" and "vertexcolor". - facecolorsrc - Sets the source reference on Chart Studio Cloud for - `facecolor`. flatshading Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low- poly look via flat reflections. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.mesh3d.Hoverlabel` instance or dict with compatible properties @@ -2274,14 +1866,8 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. i A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing @@ -2295,33 +1881,21 @@ def __init__( Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. intensity Sets the intensity values for vertices or cells as defined by `intensitymode`. It can be used for plotting fields on meshes. intensitymode Determines the source of `intensity` values. - intensitysrc - Sets the source reference on Chart Studio Cloud for - `intensity`. - isrc - Sets the source reference on Chart Studio Cloud for - `i`. j A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing the "second" vertex of a triangle. For example, `{i[m], - j[m], k[m]}` together represent face m (triangle m) in + j[m], k[m]}` together represent face m (triangle m) in the mesh, where `j[m] = n` points to the triplet `{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `j` represents a point in space, which is the second vertex of a triangle. - jsrc - Sets the source reference on Chart Studio Cloud for - `j`. k A vector of vertex indices, i.e. integer values between 0 and the length of the vertex vectors, representing @@ -2331,9 +1905,6 @@ def __init__( `{x[n], y[n], z[n]}` in the vertex arrays. Therefore, each element in `k` represents a point in space, which is the third vertex of a triangle. - ksrc - Sets the source reference on Chart Studio Cloud for - `k`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -2380,9 +1951,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -2410,17 +1978,11 @@ def __init__( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.mesh3d.Stream` instance or - dict with compatible properties text Sets the text elements associated with the vertices. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -2449,9 +2011,6 @@ def __init__( 255; in the case of having vertex color data in RGBA format, the alpha color should be normalized to be between 0 and 1. - vertexcolorsrc - Sets the source reference on Chart Studio Cloud for - `vertexcolor`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -2464,7 +2023,7 @@ def __init__( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2476,9 +2035,6 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the Y coordinates of the vertices. The nth element of vectors `x`, `y` and `z` jointly represent the X, Y @@ -2486,7 +2042,7 @@ def __init__( ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2498,9 +2054,6 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the Z coordinates of the vertices. The nth element of vectors `x`, `y` and `z` jointly represent the X, Y @@ -2508,7 +2061,7 @@ def __init__( zcalendar Sets the calendar system to use with `z` date data. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2520,9 +2073,6 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. Returns ------- @@ -2560,30 +2110,20 @@ def __init__( self._set_property("colorscale", arg, colorscale) self._set_property("contour", arg, contour) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("delaunayaxis", arg, delaunayaxis) self._set_property("facecolor", arg, facecolor) - self._set_property("facecolorsrc", arg, facecolorsrc) self._set_property("flatshading", arg, flatshading) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("i", arg, i) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("intensity", arg, intensity) self._set_property("intensitymode", arg, intensitymode) - self._set_property("intensitysrc", arg, intensitysrc) - self._set_property("isrc", arg, isrc) self._set_property("j", arg, j) - self._set_property("jsrc", arg, jsrc) self._set_property("k", arg, k) - self._set_property("ksrc", arg, ksrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) @@ -2592,33 +2132,26 @@ def __init__( self._set_property("lighting", arg, lighting) self._set_property("lightposition", arg, lightposition) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("reversescale", arg, reversescale) self._set_property("scene", arg, scene) self._set_property("showlegend", arg, showlegend) self._set_property("showscale", arg, showscale) - self._set_property("stream", arg, stream) self._set_property("text", arg, text) - self._set_property("textsrc", arg, textsrc) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("vertexcolor", arg, vertexcolor) - self._set_property("vertexcolorsrc", arg, vertexcolorsrc) self._set_property("visible", arg, visible) self._set_property("x", arg, x) self._set_property("xcalendar", arg, xcalendar) self._set_property("xhoverformat", arg, xhoverformat) - self._set_property("xsrc", arg, xsrc) self._set_property("y", arg, y) self._set_property("ycalendar", arg, ycalendar) self._set_property("yhoverformat", arg, yhoverformat) - self._set_property("ysrc", arg, ysrc) self._set_property("z", arg, z) self._set_property("zcalendar", arg, zcalendar) self._set_property("zhoverformat", arg, zhoverformat) - self._set_property("zsrc", arg, zsrc) self._props["type"] = "mesh3d" arg.pop("type", None) diff --git a/plotly/graph_objs/_ohlc.py b/plotly/graph_objs/_ohlc.py index ea91e9c352e..c9c470d7605 100644 --- a/plotly/graph_objs/_ohlc.py +++ b/plotly/graph_objs/_ohlc.py @@ -10,22 +10,15 @@ class Ohlc(_BaseTraceType): _path_str = "ohlc" _valid_props = { "close", - "closesrc", "customdata", - "customdatasrc", "decreasing", "high", - "highsrc", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "increasing", "legend", "legendgroup", @@ -34,18 +27,13 @@ class Ohlc(_BaseTraceType): "legendwidth", "line", "low", - "lowsrc", "meta", - "metasrc", "name", "opacity", "open", - "opensrc", "selectedpoints", "showlegend", - "stream", "text", - "textsrc", "tickwidth", "type", "uid", @@ -58,7 +46,6 @@ class Ohlc(_BaseTraceType): "xperiod", "xperiod0", "xperiodalignment", - "xsrc", "yaxis", "yhoverformat", "zorder", @@ -82,24 +69,6 @@ def close(self): def close(self, val): self["close"] = val - @property - def closesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `close`. - - The 'closesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["closesrc"] - - @closesrc.setter - def closesrc(self, val): - self["closesrc"] = val - @property def customdata(self): """ @@ -121,25 +90,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def decreasing(self): """ @@ -177,28 +127,10 @@ def high(self): def high(self, val): self["high"] = val - @property - def highsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `high`. - - The 'highsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["highsrc"] - - @highsrc.setter - def highsrc(self, val): - self["highsrc"] = val - @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -219,25 +151,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -324,25 +237,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -363,25 +257,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -402,24 +277,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def increasing(self): """ @@ -583,24 +440,6 @@ def low(self): def low(self, val): self["low"] = val - @property - def lowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `low`. - - The 'lowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["lowsrc"] - - @lowsrc.setter - def lowsrc(self, val): - self["lowsrc"] = val - @property def meta(self): """ @@ -627,24 +466,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -701,24 +522,6 @@ def open(self): def open(self, val): self["open"] = val - @property - def opensrc(self): - """ - Sets the source reference on Chart Studio Cloud for `open`. - - The 'opensrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["opensrc"] - - @opensrc.setter - def opensrc(self, val): - self["opensrc"] = val - @property def selectedpoints(self): """ @@ -760,25 +563,6 @@ def showlegend(self): def showlegend(self, val): self["showlegend"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.ohlc.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.ohlc.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def text(self): """ @@ -802,24 +586,6 @@ def text(self): def text(self, val): self["text"] = val - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def tickwidth(self): """ @@ -978,7 +744,7 @@ def xcalendar(self, val): @property def xhoverformat(self): """ - Sets the hover text formatting rulefor `x` using d3 formatting + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1065,24 +831,6 @@ def xperiodalignment(self): def xperiodalignment(self, val): self["xperiodalignment"] = val - @property - def xsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `x`. - - The 'xsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xsrc"] - - @xsrc.setter - def xsrc(self, val): - self["xsrc"] = val - @property def yaxis(self): """ @@ -1109,7 +857,7 @@ def yaxis(self, val): @property def yhoverformat(self): """ - Sets the hover text formatting rulefor `y` using d3 formatting + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1164,33 +912,21 @@ def _prop_descriptions(self): return """\ close Sets the close values. - closesrc - Sets the source reference on Chart Studio Cloud for - `close`. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. decreasing :class:`plotly.graph_objects.ohlc.Decreasing` instance or dict with compatible properties high Sets the high values. - highsrc - Sets the source reference on Chart Studio Cloud for - `high`. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.ohlc.Hoverlabel` instance or dict with compatible properties @@ -1235,21 +971,12 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. increasing :class:`plotly.graph_objects.ohlc.Increasing` instance or dict with compatible properties @@ -1285,9 +1012,6 @@ def _prop_descriptions(self): dict with compatible properties low Sets the low values. - lowsrc - Sets the source reference on Chart Studio Cloud for - `low`. meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -1301,9 +1025,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1311,9 +1032,6 @@ def _prop_descriptions(self): Sets the opacity of the trace. open Sets the open values. - opensrc - Sets the source reference on Chart Studio Cloud for - `open`. selectedpoints Array containing integer indices of selected points. Has an effect only for traces that support selections. @@ -1324,17 +1042,11 @@ def _prop_descriptions(self): showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.ohlc.Stream` instance or - dict with compatible properties text Sets hover text elements associated with each sample point. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to this trace's sample points. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. tickwidth Sets the width of the open/close tick marks relative to the "x" minimal interval. @@ -1376,7 +1088,7 @@ def _prop_descriptions(self): xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1404,16 +1116,13 @@ def _prop_descriptions(self): xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. yaxis Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1436,22 +1145,15 @@ def __init__( self, arg=None, close=None, - closesrc=None, customdata=None, - customdatasrc=None, decreasing=None, high=None, - highsrc=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, increasing=None, legend=None, legendgroup=None, @@ -1460,18 +1162,13 @@ def __init__( legendwidth=None, line=None, low=None, - lowsrc=None, meta=None, - metasrc=None, name=None, opacity=None, open=None, - opensrc=None, selectedpoints=None, showlegend=None, - stream=None, text=None, - textsrc=None, tickwidth=None, uid=None, uirevision=None, @@ -1483,7 +1180,6 @@ def __init__( xperiod=None, xperiod0=None, xperiodalignment=None, - xsrc=None, yaxis=None, yhoverformat=None, zorder=None, @@ -1497,7 +1193,7 @@ def __init__( given `x` coordinate (most likely time). The tip of the lines represent the `low` and `high` values and the horizontal segments represent the `open` and `close` values. Sample points - where the close value is higher (lower) then the open value are + where the close value is higher (lower) than the open value are called increasing (decreasing). By default, increasing items are drawn in green whereas decreasing are drawn in red. @@ -1508,33 +1204,21 @@ def __init__( an instance of :class:`plotly.graph_objs.Ohlc` close Sets the close values. - closesrc - Sets the source reference on Chart Studio Cloud for - `close`. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. decreasing :class:`plotly.graph_objects.ohlc.Decreasing` instance or dict with compatible properties high Sets the high values. - highsrc - Sets the source reference on Chart Studio Cloud for - `high`. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.ohlc.Hoverlabel` instance or dict with compatible properties @@ -1579,21 +1263,12 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. increasing :class:`plotly.graph_objects.ohlc.Increasing` instance or dict with compatible properties @@ -1629,9 +1304,6 @@ def __init__( dict with compatible properties low Sets the low values. - lowsrc - Sets the source reference on Chart Studio Cloud for - `low`. meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -1645,9 +1317,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1655,9 +1324,6 @@ def __init__( Sets the opacity of the trace. open Sets the open values. - opensrc - Sets the source reference on Chart Studio Cloud for - `open`. selectedpoints Array containing integer indices of selected points. Has an effect only for traces that support selections. @@ -1668,17 +1334,11 @@ def __init__( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.ohlc.Stream` instance or - dict with compatible properties text Sets hover text elements associated with each sample point. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to this trace's sample points. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. tickwidth Sets the width of the open/close tick marks relative to the "x" minimal interval. @@ -1720,7 +1380,7 @@ def __init__( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1748,16 +1408,13 @@ def __init__( xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. yaxis Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1800,22 +1457,15 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("close", arg, close) - self._set_property("closesrc", arg, closesrc) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("decreasing", arg, decreasing) self._set_property("high", arg, high) - self._set_property("highsrc", arg, highsrc) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("increasing", arg, increasing) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) @@ -1824,18 +1474,13 @@ def __init__( self._set_property("legendwidth", arg, legendwidth) self._set_property("line", arg, line) self._set_property("low", arg, low) - self._set_property("lowsrc", arg, lowsrc) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("open", arg, open) - self._set_property("opensrc", arg, opensrc) self._set_property("selectedpoints", arg, selectedpoints) self._set_property("showlegend", arg, showlegend) - self._set_property("stream", arg, stream) self._set_property("text", arg, text) - self._set_property("textsrc", arg, textsrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) @@ -1847,7 +1492,6 @@ def __init__( self._set_property("xperiod", arg, xperiod) self._set_property("xperiod0", arg, xperiod0) self._set_property("xperiodalignment", arg, xperiodalignment) - self._set_property("xsrc", arg, xsrc) self._set_property("yaxis", arg, yaxis) self._set_property("yhoverformat", arg, yhoverformat) self._set_property("zorder", arg, zorder) diff --git a/plotly/graph_objs/_parcats.py b/plotly/graph_objs/_parcats.py index 2c444dd54eb..b0962888d73 100644 --- a/plotly/graph_objs/_parcats.py +++ b/plotly/graph_objs/_parcats.py @@ -12,7 +12,6 @@ class Parcats(_BaseTraceType): "arrangement", "bundlecolors", "counts", - "countssrc", "dimensiondefaults", "dimensions", "domain", @@ -25,10 +24,8 @@ class Parcats(_BaseTraceType): "legendwidth", "line", "meta", - "metasrc", "name", "sortpaths", - "stream", "tickfont", "type", "uid", @@ -98,24 +95,6 @@ def counts(self): def counts(self, val): self["counts"] = val - @property - def countssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `counts`. - - The 'countssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["countssrc"] - - @countssrc.setter - def countssrc(self, val): - self["countssrc"] = val - @property def dimensions(self): """ @@ -183,7 +162,7 @@ def domain(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -397,24 +376,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -456,25 +417,6 @@ def sortpaths(self): def sortpaths(self, val): self["sortpaths"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.parcats.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.parcats.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def tickfont(self): """ @@ -589,9 +531,6 @@ def _prop_descriptions(self): The number of observations represented by each state. Defaults to 1 so that each state represents one observation - countssrc - Sets the source reference on Chart Studio Cloud for - `counts`. dimensions The dimensions (variables) of the parallel categories diagram. @@ -604,7 +543,7 @@ def _prop_descriptions(self): :class:`plotly.graph_objects.parcats.Domain` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -681,9 +620,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -692,9 +628,6 @@ def _prop_descriptions(self): paths based on dimension categories from left to right. If `backward`, sort paths based on dimensions categories from right to left. - stream - :class:`plotly.graph_objects.parcats.Stream` instance - or dict with compatible properties tickfont Sets the font for the `category` labels. uid @@ -732,7 +665,6 @@ def __init__( arrangement=None, bundlecolors=None, counts=None, - countssrc=None, dimensions=None, dimensiondefaults=None, domain=None, @@ -745,10 +677,8 @@ def __init__( legendwidth=None, line=None, meta=None, - metasrc=None, name=None, sortpaths=None, - stream=None, tickfont=None, uid=None, uirevision=None, @@ -780,9 +710,6 @@ def __init__( The number of observations represented by each state. Defaults to 1 so that each state represents one observation - countssrc - Sets the source reference on Chart Studio Cloud for - `counts`. dimensions The dimensions (variables) of the parallel categories diagram. @@ -795,7 +722,7 @@ def __init__( :class:`plotly.graph_objects.parcats.Domain` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -872,9 +799,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -883,9 +807,6 @@ def __init__( paths based on dimension categories from left to right. If `backward`, sort paths based on dimensions categories from right to left. - stream - :class:`plotly.graph_objects.parcats.Stream` instance - or dict with compatible properties tickfont Sets the font for the `category` labels. uid @@ -943,7 +864,6 @@ def __init__( self._set_property("arrangement", arg, arrangement) self._set_property("bundlecolors", arg, bundlecolors) self._set_property("counts", arg, counts) - self._set_property("countssrc", arg, countssrc) self._set_property("dimensions", arg, dimensions) self._set_property("dimensiondefaults", arg, dimensiondefaults) self._set_property("domain", arg, domain) @@ -956,10 +876,8 @@ def __init__( self._set_property("legendwidth", arg, legendwidth) self._set_property("line", arg, line) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("sortpaths", arg, sortpaths) - self._set_property("stream", arg, stream) self._set_property("tickfont", arg, tickfont) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) diff --git a/plotly/graph_objs/_parcoords.py b/plotly/graph_objs/_parcoords.py index b2ab85ef2b7..be68ec1b502 100644 --- a/plotly/graph_objs/_parcoords.py +++ b/plotly/graph_objs/_parcoords.py @@ -10,12 +10,10 @@ class Parcoords(_BaseTraceType): _path_str = "parcoords" _valid_props = { "customdata", - "customdatasrc", "dimensiondefaults", "dimensions", "domain", "ids", - "idssrc", "labelangle", "labelfont", "labelside", @@ -25,10 +23,8 @@ class Parcoords(_BaseTraceType): "legendwidth", "line", "meta", - "metasrc", "name", "rangefont", - "stream", "tickfont", "type", "uid", @@ -58,25 +54,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def dimensions(self): """ @@ -162,24 +139,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def labelangle(self): """ @@ -377,24 +336,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -436,25 +377,6 @@ def rangefont(self): def rangefont(self, val): self["rangefont"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.parcoords.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.parcoords.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def tickfont(self): """ @@ -579,9 +501,6 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dimensions The dimensions (variables) of the parallel coordinates chart. 2..60 dimensions are supported. @@ -597,9 +516,6 @@ def _prop_descriptions(self): Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. labelangle Sets the angle of the labels with respect to the horizontal. For example, a `tickangle` of -90 draws the @@ -653,17 +569,11 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. rangefont Sets the font for the `dimension` range values. - stream - :class:`plotly.graph_objects.parcoords.Stream` instance - or dict with compatible properties tickfont Sets the font for the `dimension` tick values. uid @@ -702,12 +612,10 @@ def __init__( self, arg=None, customdata=None, - customdatasrc=None, dimensions=None, dimensiondefaults=None, domain=None, ids=None, - idssrc=None, labelangle=None, labelfont=None, labelside=None, @@ -717,10 +625,8 @@ def __init__( legendwidth=None, line=None, meta=None, - metasrc=None, name=None, rangefont=None, - stream=None, tickfont=None, uid=None, uirevision=None, @@ -745,9 +651,6 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dimensions The dimensions (variables) of the parallel coordinates chart. 2..60 dimensions are supported. @@ -763,9 +666,6 @@ def __init__( Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. labelangle Sets the angle of the labels with respect to the horizontal. For example, a `tickangle` of -90 draws the @@ -819,17 +719,11 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. rangefont Sets the font for the `dimension` range values. - stream - :class:`plotly.graph_objects.parcoords.Stream` instance - or dict with compatible properties tickfont Sets the font for the `dimension` tick values. uid @@ -888,12 +782,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("dimensions", arg, dimensions) self._set_property("dimensiondefaults", arg, dimensiondefaults) self._set_property("domain", arg, domain) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("labelangle", arg, labelangle) self._set_property("labelfont", arg, labelfont) self._set_property("labelside", arg, labelside) @@ -903,10 +795,8 @@ def __init__( self._set_property("legendwidth", arg, legendwidth) self._set_property("line", arg, line) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("rangefont", arg, rangefont) - self._set_property("stream", arg, stream) self._set_property("tickfont", arg, tickfont) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) diff --git a/plotly/graph_objs/_pie.py b/plotly/graph_objs/_pie.py index 7afb00a3d34..08d2d862424 100644 --- a/plotly/graph_objs/_pie.py +++ b/plotly/graph_objs/_pie.py @@ -11,62 +11,46 @@ class Pie(_BaseTraceType): _valid_props = { "automargin", "customdata", - "customdatasrc", "direction", "dlabel", "domain", "hole", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "insidetextfont", "insidetextorientation", "label0", "labels", - "labelssrc", "legend", "legendgroup", "legendgrouptitle", "legendrank", - "legendranksrc", - "legendsrc", "legendwidth", "marker", "meta", - "metasrc", "name", "opacity", "outsidetextfont", "pull", - "pullsrc", "rotation", "scalegroup", "showlegend", - "showlegendsrc", "sort", - "stream", "text", "textfont", "textinfo", "textposition", - "textpositionsrc", - "textsrc", "texttemplate", "texttemplatefallback", - "texttemplatesrc", "title", "type", "uid", "uirevision", "values", - "valuessrc", "visible", } @@ -109,25 +93,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def direction(self): """ @@ -207,9 +172,10 @@ def hole(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` - or `skip` are set, no information is displayed upon hovering. - But, if `none` is set, click and hover events are still fired. + Determines what trace information appears on hover. Flags are + rendered in a fixed order; use `hovertemplate` if you need + explicit control over the rendered string, including the order + of fields and surrounding text. The 'hoverinfo' property is a flaglist and may be specified as a string containing: @@ -228,25 +194,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -333,25 +280,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -376,25 +304,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -415,24 +324,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def insidetextfont(self): """ @@ -522,24 +413,6 @@ def labels(self): def labels(self, val): self["labels"] = val - @property - def labelssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `labels`. - - The 'labelssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["labelssrc"] - - @labelssrc.setter - def labelssrc(self, val): - self["labelssrc"] = val - @property def legend(self): """ @@ -634,43 +507,6 @@ def legendrank(self): def legendrank(self, val): self["legendrank"] = val - @property - def legendranksrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `legendrank`. - - The 'legendranksrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["legendranksrc"] - - @legendranksrc.setter - def legendranksrc(self, val): - self["legendranksrc"] = val - - @property - def legendsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `legend`. - - The 'legendsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["legendsrc"] - - @legendsrc.setter - def legendsrc(self, val): - self["legendsrc"] = val - @property def legendwidth(self): """ @@ -735,24 +571,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -834,24 +652,6 @@ def pull(self): def pull(self, val): self["pull"] = val - @property - def pullsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `pull`. - - The 'pullsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["pullsrc"] - - @pullsrc.setter - def pullsrc(self, val): - self["pullsrc"] = val - @property def rotation(self): """ @@ -916,25 +716,6 @@ def showlegend(self): def showlegend(self, val): self["showlegend"] = val - @property - def showlegendsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `showlegend`. - - The 'showlegendsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["showlegendsrc"] - - @showlegendsrc.setter - def showlegendsrc(self, val): - self["showlegendsrc"] = val - @property def sort(self): """ @@ -954,25 +735,6 @@ def sort(self): def sort(self, val): self["sort"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.pie.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.pie.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def text(self): """ @@ -1019,7 +781,10 @@ def textfont(self, val): @property def textinfo(self): """ - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. Flags + are rendered in a fixed order; use `texttemplate` if you need + explicit control over the rendered string, including the order + of fields and surrounding text. The 'textinfo' property is a flaglist and may be specified as a string containing: @@ -1057,43 +822,6 @@ def textposition(self): def textposition(self, val): self["textposition"] = val - @property - def textpositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `textposition`. - - The 'textpositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textpositionsrc"] - - @textpositionsrc.setter - def textpositionsrc(self, val): - self["textpositionsrc"] = val - - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def texttemplate(self): """ @@ -1150,25 +878,6 @@ def texttemplatefallback(self): def texttemplatefallback(self, val): self["texttemplatefallback"] = val - @property - def texttemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `texttemplate`. - - The 'texttemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["texttemplatesrc"] - - @texttemplatesrc.setter - def texttemplatesrc(self, val): - self["texttemplatesrc"] = val - @property def title(self): """ @@ -1258,24 +967,6 @@ def values(self): def values(self, val): self["values"] = val - @property - def valuessrc(self): - """ - Sets the source reference on Chart Studio Cloud for `values`. - - The 'valuessrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["valuessrc"] - - @valuessrc.setter - def valuessrc(self, val): - self["valuessrc"] = val - @property def visible(self): """ @@ -1312,9 +1003,6 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. direction Specifies the direction at which succeeding sectors follow one another. @@ -1327,13 +1015,11 @@ def _prop_descriptions(self): Sets the fraction of the radius to cut out of the pie. Use this to make a donut chart. hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. + Determines what trace information appears on hover. + Flags are rendered in a fixed order; use + `hovertemplate` if you need explicit control over the + rendered string, including the order of fields and + surrounding text. hoverlabel :class:`plotly.graph_objects.pie.Hoverlabel` instance or dict with compatible properties @@ -1378,25 +1064,16 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextfont Sets the font used for `textinfo` lying inside the sector. @@ -1420,9 +1097,6 @@ def _prop_descriptions(self): occurrences if `values` is not provided. For other array attributes (including color) we use the first non-empty entry among all occurrences of the label. - labelssrc - Sets the source reference on Chart Studio Cloud for - `labels`. legend Sets the reference to a legend to show the pie slices in. Can be an array if `values` is set. In that case, @@ -1450,12 +1124,6 @@ def _prop_descriptions(self): all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout. - legendranksrc - Sets the source reference on Chart Studio Cloud for - `legendrank`. - legendsrc - Sets the source reference on Chart Studio Cloud for - `legend`. legendwidth Sets the width (in px or fraction) of the legend for this trace. @@ -1475,9 +1143,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1491,9 +1156,6 @@ def _prop_descriptions(self): out from the center. This can be a constant to pull all slices apart from each other equally or an array to highlight one or more slices. - pullsrc - Sets the source reference on Chart Studio Cloud for - `pull`. rotation Instead of the first slice starting at 12 o'clock, rotate to some other angle. @@ -1507,15 +1169,9 @@ def _prop_descriptions(self): pie slices are shown in the legend. Can be an array if `values` is set. In that case, each entry specifies appearance in the legend for one slice. - showlegendsrc - Sets the source reference on Chart Studio Cloud for - `showlegend`. sort Determines whether or not the sectors are reordered from largest to smallest. - stream - :class:`plotly.graph_objects.pie.Stream` instance or - dict with compatible properties text Sets text elements associated with each sector. If trace `textinfo` contains a "text" flag, these elements @@ -1525,15 +1181,12 @@ def _prop_descriptions(self): textfont Sets the font used for `textinfo`. textinfo - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. + Flags are rendered in a fixed order; use `texttemplate` + if you need explicit control over the rendered string, + including the order of fields and surrounding text. textposition Specifies the location of the `textinfo`. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1562,9 +1215,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. title :class:`plotly.graph_objects.pie.Title` instance or dict with compatible properties @@ -1593,9 +1243,6 @@ def _prop_descriptions(self): values Sets the values of the sectors. If omitted, we count occurrences of each label. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -1608,61 +1255,45 @@ def __init__( arg=None, automargin=None, customdata=None, - customdatasrc=None, direction=None, dlabel=None, domain=None, hole=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, insidetextfont=None, insidetextorientation=None, label0=None, labels=None, - labelssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, legendrank=None, - legendranksrc=None, - legendsrc=None, legendwidth=None, marker=None, meta=None, - metasrc=None, name=None, opacity=None, outsidetextfont=None, pull=None, - pullsrc=None, rotation=None, scalegroup=None, showlegend=None, - showlegendsrc=None, sort=None, - stream=None, text=None, textfont=None, textinfo=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, title=None, uid=None, uirevision=None, values=None, - valuessrc=None, visible=None, **kwargs, ): @@ -1686,9 +1317,6 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. direction Specifies the direction at which succeeding sectors follow one another. @@ -1701,13 +1329,11 @@ def __init__( Sets the fraction of the radius to cut out of the pie. Use this to make a donut chart. hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. + Determines what trace information appears on hover. + Flags are rendered in a fixed order; use + `hovertemplate` if you need explicit control over the + rendered string, including the order of fields and + surrounding text. hoverlabel :class:`plotly.graph_objects.pie.Hoverlabel` instance or dict with compatible properties @@ -1752,25 +1378,16 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextfont Sets the font used for `textinfo` lying inside the sector. @@ -1794,9 +1411,6 @@ def __init__( occurrences if `values` is not provided. For other array attributes (including color) we use the first non-empty entry among all occurrences of the label. - labelssrc - Sets the source reference on Chart Studio Cloud for - `labels`. legend Sets the reference to a legend to show the pie slices in. Can be an array if `values` is set. In that case, @@ -1824,12 +1438,6 @@ def __init__( all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout. - legendranksrc - Sets the source reference on Chart Studio Cloud for - `legendrank`. - legendsrc - Sets the source reference on Chart Studio Cloud for - `legend`. legendwidth Sets the width (in px or fraction) of the legend for this trace. @@ -1849,9 +1457,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1865,9 +1470,6 @@ def __init__( out from the center. This can be a constant to pull all slices apart from each other equally or an array to highlight one or more slices. - pullsrc - Sets the source reference on Chart Studio Cloud for - `pull`. rotation Instead of the first slice starting at 12 o'clock, rotate to some other angle. @@ -1881,15 +1483,9 @@ def __init__( pie slices are shown in the legend. Can be an array if `values` is set. In that case, each entry specifies appearance in the legend for one slice. - showlegendsrc - Sets the source reference on Chart Studio Cloud for - `showlegend`. sort Determines whether or not the sectors are reordered from largest to smallest. - stream - :class:`plotly.graph_objects.pie.Stream` instance or - dict with compatible properties text Sets text elements associated with each sector. If trace `textinfo` contains a "text" flag, these elements @@ -1899,15 +1495,12 @@ def __init__( textfont Sets the font used for `textinfo`. textinfo - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. + Flags are rendered in a fixed order; use `texttemplate` + if you need explicit control over the rendered string, + including the order of fields and surrounding text. textposition Specifies the location of the `textinfo`. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1936,9 +1529,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. title :class:`plotly.graph_objects.pie.Title` instance or dict with compatible properties @@ -1967,9 +1557,6 @@ def __init__( values Sets the values of the sectors. If omitted, we count occurrences of each label. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -2002,61 +1589,45 @@ def __init__( self._set_property("automargin", arg, automargin) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("direction", arg, direction) self._set_property("dlabel", arg, dlabel) self._set_property("domain", arg, domain) self._set_property("hole", arg, hole) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("insidetextfont", arg, insidetextfont) self._set_property("insidetextorientation", arg, insidetextorientation) self._set_property("label0", arg, label0) self._set_property("labels", arg, labels) - self._set_property("labelssrc", arg, labelssrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) self._set_property("legendrank", arg, legendrank) - self._set_property("legendranksrc", arg, legendranksrc) - self._set_property("legendsrc", arg, legendsrc) self._set_property("legendwidth", arg, legendwidth) self._set_property("marker", arg, marker) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("outsidetextfont", arg, outsidetextfont) self._set_property("pull", arg, pull) - self._set_property("pullsrc", arg, pullsrc) self._set_property("rotation", arg, rotation) self._set_property("scalegroup", arg, scalegroup) self._set_property("showlegend", arg, showlegend) - self._set_property("showlegendsrc", arg, showlegendsrc) self._set_property("sort", arg, sort) - self._set_property("stream", arg, stream) self._set_property("text", arg, text) self._set_property("textfont", arg, textfont) self._set_property("textinfo", arg, textinfo) self._set_property("textposition", arg, textposition) - self._set_property("textpositionsrc", arg, textpositionsrc) - self._set_property("textsrc", arg, textsrc) self._set_property("texttemplate", arg, texttemplate) self._set_property("texttemplatefallback", arg, texttemplatefallback) - self._set_property("texttemplatesrc", arg, texttemplatesrc) self._set_property("title", arg, title) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("values", arg, values) - self._set_property("valuessrc", arg, valuessrc) self._set_property("visible", arg, visible) self._props["type"] = "pie" diff --git a/plotly/graph_objs/_scattermapbox.py b/plotly/graph_objs/_quiver.py similarity index 53% rename from plotly/graph_objs/_scattermapbox.py rename to plotly/graph_objs/_quiver.py index e6fe0cef217..9afafa1cdc9 100644 --- a/plotly/graph_objs/_scattermapbox.py +++ b/plotly/graph_objs/_quiver.py @@ -3,125 +3,101 @@ from plotly.basedatatypes import BaseTraceType as _BaseTraceType import copy as _copy -import warnings -class Scattermapbox(_BaseTraceType): +class Quiver(_BaseTraceType): _parent_path_str = "" - _path_str = "scattermapbox" + _path_str = "quiver" _valid_props = { - "below", - "cluster", - "connectgaps", + "anchor", + "anglemode", "customdata", - "customdatasrc", - "fill", - "fillcolor", + "dx", + "dy", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", - "hovertemplatefallback", - "hovertemplatesrc", - "hovertext", - "hovertextsrc", "ids", - "idssrc", - "lat", - "latsrc", "legend", "legendgroup", "legendgrouptitle", "legendrank", "legendwidth", - "line", - "lon", - "lonsrc", "marker", "meta", - "metasrc", - "mode", "name", "opacity", "selected", "selectedpoints", "showlegend", - "stream", - "subplot", + "sizemode", + "sizeref", "text", "textfont", "textposition", - "textsrc", - "texttemplate", - "texttemplatefallback", - "texttemplatesrc", "type", + "u", + "uhoverformat", "uid", "uirevision", "unselected", + "v", + "vhoverformat", "visible", + "x", + "x0", + "xaxis", + "xhoverformat", + "y", + "y0", + "yaxis", + "yhoverformat", } @property - def below(self): + def anchor(self): """ - Determines if this scattermapbox trace's layers are to be - inserted before the layer with the specified ID. By default, - scattermapbox layers are inserted above all the base layers. To - place the scattermapbox layers above every other layer, set - `below` to "''". + Sets the arrows' anchor with respect to their (x,y) positions. + Use "tail" to place (x,y) at the base, "tip" to place (x,y) at + the head, or "center" to center the arrow on (x,y). - The 'below' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["below"] - - @below.setter - def below(self, val): - self["below"] = val - - @property - def cluster(self): - """ - The 'cluster' property is an instance of Cluster - that may be specified as: - - An instance of :class:`plotly.graph_objs.scattermapbox.Cluster` - - A dict of string/value properties that will be passed - to the Cluster constructor + The 'anchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['tip', 'tail', 'center'] Returns ------- - plotly.graph_objs.scattermapbox.Cluster + Any """ - return self["cluster"] + return self["anchor"] - @cluster.setter - def cluster(self, val): - self["cluster"] = val + @anchor.setter + def anchor(self, val): + self["anchor"] = val @property - def connectgaps(self): + def anglemode(self): """ - Determines whether or not gaps (i.e. {nan} or missing values) - in the provided data arrays are connected. + Sets the mode used to determine the angle of the arrow vectors. + If "paper", u/v are interpreted in pixel coordinates and the + rendered vector angle does not change regardless of the axes + scales. If "data", u/v are interpreted in data coordinates and + the rendered vector angle may change, e.g. if zooming in along + a single axis - The 'connectgaps' property is a boolean and must be specified as: - - A boolean value: True or False + The 'anglemode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['paper', 'data'] Returns ------- - bool + Any """ - return self["connectgaps"] + return self["anglemode"] - @connectgaps.setter - def connectgaps(self, val): - self["connectgaps"] = val + @anglemode.setter + def anglemode(self, val): + self["anglemode"] = val @property def customdata(self): @@ -145,80 +121,52 @@ def customdata(self, val): self["customdata"] = val @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - - @property - def fill(self): + def dx(self): """ - Sets the area to fill with a solid color. Use with `fillcolor` - if not "none". "toself" connects the endpoints of the trace (or - each segment of the trace if it has gaps) into a closed shape. + Sets the x coordinate step. See `x0` for more info. - The 'fill' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['none', 'toself'] + The 'dx' property is a number and may be specified as: + - An int or float Returns ------- - Any + int|float """ - return self["fill"] + return self["dx"] - @fill.setter - def fill(self, val): - self["fill"] = val + @dx.setter + def dx(self, val): + self["dx"] = val @property - def fillcolor(self): + def dy(self): """ - Sets the fill color. Defaults to a half-transparent variant of - the line color, marker color, or marker line color, whichever - is available. + Sets the y coordinate step. See `y0` for more info. - The 'fillcolor' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: see https://plotly.com/python/css-colors/ for a list + The 'dy' property is a number and may be specified as: + - An int or float Returns ------- - str + int|float """ - return self["fillcolor"] + return self["dy"] - @fillcolor.setter - def fillcolor(self, val): - self["fillcolor"] = val + @dy.setter + def dy(self, val): + self["dy"] = val @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. The 'hoverinfo' property is a flaglist and may be specified as a string containing: - - Any combination of ['lon', 'lat', 'text', 'name'] joined with '+' characters - (e.g. 'lon+lat') + - Any combination of ['x', 'y', 'u', 'v', 'text', 'name'] joined with '+' characters + (e.g. 'x+y') OR exactly one of ['all', 'none', 'skip'] (e.g. 'skip') - A list or array of the above @@ -232,37 +180,18 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ The 'hoverlabel' property is an instance of Hoverlabel that may be specified as: - - An instance of :class:`plotly.graph_objs.scattermapbox.Hoverlabel` + - An instance of :class:`plotly.graph_objs.quiver.Hoverlabel` - A dict of string/value properties that will be passed to the Hoverlabel constructor Returns ------- - plotly.graph_objs.scattermapbox.Hoverlabel + plotly.graph_objs.quiver.Hoverlabel """ return self["hoverlabel"] @@ -297,10 +226,11 @@ def hovertemplate(self): this link https://plotly.com/javascript/plotlyjs-events/#event- data. Additionally, all attributes that can be specified per- point (the ones that are `arrayOk: true`) are available. - Anything contained in tag `` is displayed in the - secondary box, for example `%{fullData.name}`. - To hide the secondary box completely, use an empty tag - ``. + Finally, the template string has access to variables `x`, `y`, + `u`, `v`, `text` and `name`. Anything contained in tag + `` is displayed in the secondary box, for example + `%{fullData.name}`. To hide the secondary box + completely, use an empty tag ``. The 'hovertemplate' property is a string and must be specified as: - A string @@ -317,87 +247,6 @@ def hovertemplate(self): def hovertemplate(self, val): self["hovertemplate"] = val - @property - def hovertemplatefallback(self): - """ - Fallback string that's displayed when a variable referenced in - a template is missing. If the boolean value 'false' is passed - in, the specifier with the missing variable will be displayed. - - The 'hovertemplatefallback' property accepts values of any type - - Returns - ------- - Any - """ - return self["hovertemplatefallback"] - - @hovertemplatefallback.setter - def hovertemplatefallback(self, val): - self["hovertemplatefallback"] = val - - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - - @property - def hovertext(self): - """ - Sets hover text elements associated with each (lon,lat) pair If - a single string, the same string appears over all the data - points. If an array of string, the items are mapped in order to - the this trace's (lon,lat) coordinates. To be seen, trace - `hoverinfo` must contain a "text" flag. - - The 'hovertext' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["hovertext"] - - @hovertext.setter - def hovertext(self, val): - self["hovertext"] = val - - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -418,60 +267,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - - @property - def lat(self): - """ - Sets the latitude coordinates (in degrees North). - - The 'lat' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["lat"] - - @lat.setter - def lat(self, val): - self["lat"] = val - - @property - def latsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `lat`. - - The 'latsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["latsrc"] - - @latsrc.setter - def latsrc(self, val): - self["latsrc"] = val - @property def legend(self): """ @@ -521,13 +316,13 @@ def legendgrouptitle(self): """ The 'legendgrouptitle' property is an instance of Legendgrouptitle that may be specified as: - - An instance of :class:`plotly.graph_objs.scattermapbox.Legendgrouptitle` + - An instance of :class:`plotly.graph_objs.quiver.Legendgrouptitle` - A dict of string/value properties that will be passed to the Legendgrouptitle constructor Returns ------- - plotly.graph_objs.scattermapbox.Legendgrouptitle + plotly.graph_objs.quiver.Legendgrouptitle """ return self["legendgrouptitle"] @@ -579,73 +374,18 @@ def legendwidth(self): def legendwidth(self, val): self["legendwidth"] = val - @property - def line(self): - """ - The 'line' property is an instance of Line - that may be specified as: - - An instance of :class:`plotly.graph_objs.scattermapbox.Line` - - A dict of string/value properties that will be passed - to the Line constructor - - Returns - ------- - plotly.graph_objs.scattermapbox.Line - """ - return self["line"] - - @line.setter - def line(self, val): - self["line"] = val - - @property - def lon(self): - """ - Sets the longitude coordinates (in degrees East). - - The 'lon' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["lon"] - - @lon.setter - def lon(self, val): - self["lon"] = val - - @property - def lonsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `lon`. - - The 'lonsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["lonsrc"] - - @lonsrc.setter - def lonsrc(self, val): - self["lonsrc"] = val - @property def marker(self): """ The 'marker' property is an instance of Marker that may be specified as: - - An instance of :class:`plotly.graph_objs.scattermapbox.Marker` + - An instance of :class:`plotly.graph_objs.quiver.Marker` - A dict of string/value properties that will be passed to the Marker constructor Returns ------- - plotly.graph_objs.scattermapbox.Marker + plotly.graph_objs.quiver.Marker """ return self["marker"] @@ -679,48 +419,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - - @property - def mode(self): - """ - Determines the drawing mode for this scatter trace. If the - provided `mode` includes "text" then the `text` elements appear - at the coordinates. Otherwise, the `text` elements appear on - hover. - - The 'mode' property is a flaglist and may be specified - as a string containing: - - Any combination of ['lines', 'markers', 'text'] joined with '+' characters - (e.g. 'lines+markers') - OR exactly one of ['none'] (e.g. 'none') - - Returns - ------- - Any - """ - return self["mode"] - - @mode.setter - def mode(self, val): - self["mode"] = val - @property def name(self): """ @@ -764,13 +462,13 @@ def selected(self): """ The 'selected' property is an instance of Selected that may be specified as: - - An instance of :class:`plotly.graph_objs.scattermapbox.Selected` + - An instance of :class:`plotly.graph_objs.quiver.Selected` - A dict of string/value properties that will be passed to the Selected constructor Returns ------- - plotly.graph_objs.scattermapbox.Selected + plotly.graph_objs.quiver.Selected """ return self["selected"] @@ -820,60 +518,57 @@ def showlegend(self, val): self["showlegend"] = val @property - def stream(self): + def sizemode(self): """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.scattermapbox.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor + Determines whether arrows are drawn according to their raw + lengths, or scaled based on the maximum vector length and point + density. Note: When `anglemode` is "data" arrows are alwyas + scaled and `sizemode` "raw" is ignored. + + The 'sizemode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['scaled', 'raw'] Returns ------- - plotly.graph_objs.scattermapbox.Stream + Any """ - return self["stream"] + return self["sizemode"] - @stream.setter - def stream(self, val): - self["stream"] = val + @sizemode.setter + def sizemode(self, val): + self["sizemode"] = val @property - def subplot(self): - """ - mapbox subplots and traces are deprecated! Please consider - switching to `map` subplots and traces. Learn more at: - https://plotly.com/python/maplibre-migration/ as well as - https://plotly.com/javascript/maplibre-migration/ Sets a - reference between this trace's data coordinates and a mapbox - subplot. If "mapbox" (the default value), the data refer to - `layout.mapbox`. If "mapbox2", the data refer to - `layout.mapbox2`, and so on. - - The 'subplot' property is an identifier of a particular - subplot, of type 'mapbox', that may be specified as: - - the string 'mapbox' optionally followed by an integer >= 1 - (e.g. 'mapbox', 'mapbox1', 'mapbox2', 'mapbox3', etc.) + def sizeref(self): + """ + Adjusts the arrow size scaling. The arrow length is determined + by the vector norm multiplied by `sizeref`, optionally + normalized when `sizemode` is "scaled" (`sizeref` is applied + after scaling). + + The 'sizeref' property is a number and may be specified as: + - An int or float in the interval [0, inf] Returns ------- - str + int|float """ - return self["subplot"] + return self["sizeref"] - @subplot.setter - def subplot(self, val): - self["subplot"] = val + @sizeref.setter + def sizeref(self, val): + self["sizeref"] = val @property def text(self): """ - Sets text elements associated with each (lon,lat) pair If a - single string, the same string appears over all the data - points. If an array of string, the items are mapped in order to - the this trace's (lon,lat) coordinates. If trace `hoverinfo` - contains a "text" flag and "hovertext" is not set, these - elements will be seen in the hover labels. + Sets text elements associated with each (x,y) pair. If a single + string, the same string appears over all the data points. If an + array of string, the items are mapped in order to the this + trace's (x,y) coordinates. If trace `hoverinfo` contains a + "text" flag and "hovertext" is not set, these elements will be + seen in the hover labels. The 'text' property is a string and must be specified as: - A string @@ -893,19 +588,17 @@ def text(self, val): @property def textfont(self): """ - Sets the icon text font (color=mapbox.layer.paint.text-color, - size=mapbox.layer.layout.text-size). Has an effect only when - `type` is set to "symbol". + Sets the text font. The 'textfont' property is an instance of Textfont that may be specified as: - - An instance of :class:`plotly.graph_objs.scattermapbox.Textfont` + - An instance of :class:`plotly.graph_objs.quiver.Textfont` - A dict of string/value properties that will be passed to the Textfont constructor Returns ------- - plotly.graph_objs.scattermapbox.Textfont + plotly.graph_objs.quiver.Textfont """ return self["textfont"] @@ -924,10 +617,11 @@ def textposition(self): ['top left', 'top center', 'top right', 'middle left', 'middle center', 'middle right', 'bottom left', 'bottom center', 'bottom right'] + - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any + Any|numpy.ndarray """ return self["textposition"] @@ -936,97 +630,45 @@ def textposition(self, val): self["textposition"] = val @property - def textsrc(self): + def u(self): """ - Sets the source reference on Chart Studio Cloud for `text`. + Sets the x components of the arrow vectors. - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object + The 'u' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series Returns ------- - str + numpy.ndarray """ - return self["textsrc"] + return self["u"] - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val + @u.setter + def u(self, val): + self["u"] = val @property - def texttemplate(self): + def uhoverformat(self): """ - Template string used for rendering the information text that - appears on points. Note that this will override `textinfo`. - Variables are inserted using %{variable}, for example "y: - %{y}". Numbers are formatted using d3-format's syntax - %{variable:d3-format}, for example "Price: %{y:$.2f}". - https://github.com/d3/d3-format/tree/v1.4.5#d3-format for - details on the formatting syntax. Dates are formatted using - d3-time-format's syntax %{variable|d3-time-format}, for example - "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format for details on the date - formatting syntax. Variables that can't be found will be - replaced with the specifier. For example, a template of "data: - %{x}, %{y}" will result in a value of "data: 1, %{y}" if x is 1 - and y is missing. Variables with an undefined value will be - replaced with the fallback value. All attributes that can be - specified per-point (the ones that are `arrayOk: true`) are - available. Finally, the template string has access to variables - `lat`, `lon` and `text`. + Sets the hover text formatting rule for `u` using d3 formatting + mini-languages which are very similar to those in Python. For + numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By + default the values are formatted using generic number format. - The 'texttemplate' property is a string and must be specified as: + The 'uhoverformat' property is a string and must be specified as: - A string - A number that will be converted to a string - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["texttemplate"] - - @texttemplate.setter - def texttemplate(self, val): - self["texttemplate"] = val - - @property - def texttemplatefallback(self): - """ - Fallback string that's displayed when a variable referenced in - a template is missing. If the boolean value 'false' is passed - in, the specifier with the missing variable will be displayed. - - The 'texttemplatefallback' property accepts values of any type - - Returns - ------- - Any - """ - return self["texttemplatefallback"] - - @texttemplatefallback.setter - def texttemplatefallback(self, val): - self["texttemplatefallback"] = val - - @property - def texttemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `texttemplate`. - - The 'texttemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object Returns ------- str """ - return self["texttemplatesrc"] + return self["uhoverformat"] - @texttemplatesrc.setter - def texttemplatesrc(self, val): - self["texttemplatesrc"] = val + @uhoverformat.setter + def uhoverformat(self, val): + self["uhoverformat"] = val @property def uid(self): @@ -1084,13 +726,13 @@ def unselected(self): """ The 'unselected' property is an instance of Unselected that may be specified as: - - An instance of :class:`plotly.graph_objs.scattermapbox.Unselected` + - An instance of :class:`plotly.graph_objs.quiver.Unselected` - A dict of string/value properties that will be passed to the Unselected constructor Returns ------- - plotly.graph_objs.scattermapbox.Unselected + plotly.graph_objs.quiver.Unselected """ return self["unselected"] @@ -1098,6 +740,47 @@ def unselected(self): def unselected(self, val): self["unselected"] = val + @property + def v(self): + """ + Sets the y components of the arrow vectors. + + The 'v' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["v"] + + @v.setter + def v(self, val): + self["v"] = val + + @property + def vhoverformat(self): + """ + Sets the hover text formatting rule for `v` using d3 formatting + mini-languages which are very similar to those in Python. For + numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By + default the values are formatted using generic number format. + + The 'vhoverformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["vhoverformat"] + + @vhoverformat.setter + def vhoverformat(self, val): + self["vhoverformat"] = val + @property def visible(self): """ @@ -1119,6 +802,184 @@ def visible(self): def visible(self, val): self["visible"] = val + @property + def x(self): + """ + Sets the x coordinates of the arrow locations. + + The 'x' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["x"] + + @x.setter + def x(self, val): + self["x"] = val + + @property + def x0(self): + """ + Alternate to `x`. Builds a linear space of x coordinates. Use + with `dx` where `x0` is the starting coordinate and `dx` the + step. + + The 'x0' property accepts values of any type + + Returns + ------- + Any + """ + return self["x0"] + + @x0.setter + def x0(self, val): + self["x0"] = val + + @property + def xaxis(self): + """ + Sets a reference between this trace's x coordinates and a 2D + cartesian x axis. If "x" (the default value), the x coordinates + refer to `layout.xaxis`. If "x2", the x coordinates refer to + `layout.xaxis2`, and so on. + + The 'xaxis' property is an identifier of a particular + subplot, of type 'x', that may be specified as: + - the string 'x' optionally followed by an integer >= 1 + (e.g. 'x', 'x1', 'x2', 'x3', etc.) + + Returns + ------- + str + """ + return self["xaxis"] + + @xaxis.setter + def xaxis(self, val): + self["xaxis"] = val + + @property + def xhoverformat(self): + """ + Sets the hover text formatting rule for `x` using d3 formatting + mini-languages which are very similar to those in Python. For + numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for + dates see: https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format. We add two items to d3's date + formatter: "%h" for half of the year as a decimal number as + well as "%{n}f" for fractional seconds with n digits. For + example, *2016-10-13 09:15:23.456* with tickformat + "%H~%M~%S.%2f" would display *09~15~23.46*By default the values + are formatted using `xaxis.hoverformat`. + + The 'xhoverformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["xhoverformat"] + + @xhoverformat.setter + def xhoverformat(self, val): + self["xhoverformat"] = val + + @property + def y(self): + """ + Sets the y coordinates of the arrow locations. + + The 'y' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["y"] + + @y.setter + def y(self, val): + self["y"] = val + + @property + def y0(self): + """ + Alternate to `y`. Builds a linear space of y coordinates. Use + with `dy` where `y0` is the starting coordinate and `dy` the + step. + + The 'y0' property accepts values of any type + + Returns + ------- + Any + """ + return self["y0"] + + @y0.setter + def y0(self, val): + self["y0"] = val + + @property + def yaxis(self): + """ + Sets a reference between this trace's y coordinates and a 2D + cartesian y axis. If "y" (the default value), the y coordinates + refer to `layout.yaxis`. If "y2", the y coordinates refer to + `layout.yaxis2`, and so on. + + The 'yaxis' property is an identifier of a particular + subplot, of type 'y', that may be specified as: + - the string 'y' optionally followed by an integer >= 1 + (e.g. 'y', 'y1', 'y2', 'y3', etc.) + + Returns + ------- + str + """ + return self["yaxis"] + + @yaxis.setter + def yaxis(self, val): + self["yaxis"] = val + + @property + def yhoverformat(self): + """ + Sets the hover text formatting rule for `y` using d3 formatting + mini-languages which are very similar to those in Python. For + numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for + dates see: https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format. We add two items to d3's date + formatter: "%h" for half of the year as a decimal number as + well as "%{n}f" for fractional seconds with n digits. For + example, *2016-10-13 09:15:23.456* with tickformat + "%H~%M~%S.%2f" would display *09~15~23.46*By default the values + are formatted using `yaxis.hoverformat`. + + The 'yhoverformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["yhoverformat"] + + @yhoverformat.setter + def yhoverformat(self, val): + self["yhoverformat"] = val + @property def type(self): return self._props["type"] @@ -1126,45 +987,35 @@ def type(self): @property def _prop_descriptions(self): return """\ - below - Determines if this scattermapbox trace's layers are to - be inserted before the layer with the specified ID. By - default, scattermapbox layers are inserted above all - the base layers. To place the scattermapbox layers - above every other layer, set `below` to "''". - cluster - :class:`plotly.graph_objects.scattermapbox.Cluster` - instance or dict with compatible properties - connectgaps - Determines whether or not gaps (i.e. {nan} or missing - values) in the provided data arrays are connected. + anchor + Sets the arrows' anchor with respect to their (x,y) + positions. Use "tail" to place (x,y) at the base, "tip" + to place (x,y) at the head, or "center" to center the + arrow on (x,y). + anglemode + Sets the mode used to determine the angle of the arrow + vectors. If "paper", u/v are interpreted in pixel + coordinates and the rendered vector angle does not + change regardless of the axes scales. If "data", u/v + are interpreted in data coordinates and the rendered + vector angle may change, e.g. if zooming in along a + single axis customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - fill - Sets the area to fill with a solid color. Use with - `fillcolor` if not "none". "toself" connects the - endpoints of the trace (or each segment of the trace if - it has gaps) into a closed shape. - fillcolor - Sets the fill color. Defaults to a half-transparent - variant of the line color, marker color, or marker line - color, whichever is available. + dx + Sets the x coordinate step. See `x0` for more info. + dy + Sets the y coordinate step. See `y0` for more info. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel - :class:`plotly.graph_objects.scattermapbox.Hoverlabel` + :class:`plotly.graph_objects.quiver.Hoverlabel` instance or dict with compatible properties hovertemplate Template string used for rendering the information that @@ -1195,41 +1046,17 @@ def _prop_descriptions(self): https://plotly.com/javascript/plotlyjs-events/#event- data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) - are available. Anything contained in tag `` is - displayed in the secondary box, for example + are available. Finally, the template string has access + to variables `x`, `y`, `u`, `v`, `text` and `name`. + Anything contained in tag `` is displayed in the + secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``. - hovertemplatefallback - Fallback string that's displayed when a variable - referenced in a template is missing. If the boolean - value 'false' is passed in, the specifier with the - missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - hovertext - Sets hover text elements associated with each (lon,lat) - pair If a single string, the same string appears over - all the data points. If an array of string, the items - are mapped in order to the this trace's (lon,lat) - coordinates. To be seen, trace `hoverinfo` must contain - a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. - lat - Sets the latitude coordinates (in degrees North). - latsrc - Sets the source reference on Chart Studio Cloud for - `lat`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1241,8 +1068,8 @@ def _prop_descriptions(self): part of the same legend group hide/show at the same time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.scattermapbox.Legendgroupt - itle` instance or dict with compatible properties + :class:`plotly.graph_objects.quiver.Legendgrouptitle` + instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while @@ -1257,17 +1084,9 @@ def _prop_descriptions(self): legendwidth Sets the width (in px or fraction) of the legend for this trace. - line - :class:`plotly.graph_objects.scattermapbox.Line` - instance or dict with compatible properties - lon - Sets the longitude coordinates (in degrees East). - lonsrc - Sets the source reference on Chart Studio Cloud for - `lon`. marker - :class:`plotly.graph_objects.scattermapbox.Marker` - instance or dict with compatible properties + :class:`plotly.graph_objects.quiver.Marker` instance or + dict with compatible properties meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -1281,22 +1100,14 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. - mode - Determines the drawing mode for this scatter trace. If - the provided `mode` includes "text" then the `text` - elements appear at the coordinates. Otherwise, the - `text` elements appear on hover. name Sets the trace name. The trace name appears as the legend item and on hover. opacity Sets the opacity of the trace. selected - :class:`plotly.graph_objects.scattermapbox.Selected` - instance or dict with compatible properties + :class:`plotly.graph_objects.quiver.Selected` instance + or dict with compatible properties selectedpoints Array containing integer indices of selected points. Has an effect only for traces that support selections. @@ -1307,67 +1118,38 @@ def _prop_descriptions(self): showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scattermapbox.Stream` - instance or dict with compatible properties - subplot - mapbox subplots and traces are deprecated! Please - consider switching to `map` subplots and traces. Learn - more at: https://plotly.com/python/maplibre-migration/ - as well as https://plotly.com/javascript/maplibre- - migration/ Sets a reference between this trace's data - coordinates and a mapbox subplot. If "mapbox" (the - default value), the data refer to `layout.mapbox`. If - "mapbox2", the data refer to `layout.mapbox2`, and so - on. + sizemode + Determines whether arrows are drawn according to their + raw lengths, or scaled based on the maximum vector + length and point density. Note: When `anglemode` is + "data" arrows are alwyas scaled and `sizemode` "raw" is + ignored. + sizeref + Adjusts the arrow size scaling. The arrow length is + determined by the vector norm multiplied by `sizeref`, + optionally normalized when `sizemode` is "scaled" + (`sizeref` is applied after scaling). text - Sets text elements associated with each (lon,lat) pair - If a single string, the same string appears over all - the data points. If an array of string, the items are - mapped in order to the this trace's (lon,lat) - coordinates. If trace `hoverinfo` contains a "text" - flag and "hovertext" is not set, these elements will be - seen in the hover labels. + Sets text elements associated with each (x,y) pair. If + a single string, the same string appears over all the + data points. If an array of string, the items are + mapped in order to the this trace's (x,y) coordinates. + If trace `hoverinfo` contains a "text" flag and + "hovertext" is not set, these elements will be seen in + the hover labels. textfont - Sets the icon text font (color=mapbox.layer.paint.text- - color, size=mapbox.layer.layout.text-size). Has an - effect only when `type` is set to "symbol". + Sets the text font. textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. - texttemplate - Template string used for rendering the information text - that appears on points. Note that this will override - `textinfo`. Variables are inserted using %{variable}, - for example "y: %{y}". Numbers are formatted using - d3-format's syntax %{variable:d3-format}, for example - "Price: %{y:$.2f}". - https://github.com/d3/d3-format/tree/v1.4.5#d3-format - for details on the formatting syntax. Dates are - formatted using d3-time-format's syntax - %{variable|d3-time-format}, for example "Day: - %{2019-01-01|%A}". https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format for details on the - date formatting syntax. Variables that can't be found - will be replaced with the specifier. For example, a - template of "data: %{x}, %{y}" will result in a value - of "data: 1, %{y}" if x is 1 and y is missing. - Variables with an undefined value will be replaced with - the fallback value. All attributes that can be - specified per-point (the ones that are `arrayOk: true`) - are available. Finally, the template string has access - to variables `lat`, `lon` and `text`. - texttemplatefallback - Fallback string that's displayed when a variable - referenced in a template is missing. If the boolean - value 'false' is passed in, the specifier with the - missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. + u + Sets the x components of the arrow vectors. + uhoverformat + Sets the hover text formatting rule for `u` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: https://github.com/d + 3/d3-format/tree/v1.4.5#d3-format.By default the values + are formatted using generic number format. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1391,124 +1173,161 @@ def _prop_descriptions(self): preserve user-driven changes if you give each trace a `uid` that stays with it as it moves. unselected - :class:`plotly.graph_objects.scattermapbox.Unselected` + :class:`plotly.graph_objects.quiver.Unselected` instance or dict with compatible properties + v + Sets the y components of the arrow vectors. + vhoverformat + Sets the hover text formatting rule for `v` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: https://github.com/d + 3/d3-format/tree/v1.4.5#d3-format.By default the values + are formatted using generic number format. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). + x + Sets the x coordinates of the arrow locations. + x0 + Alternate to `x`. Builds a linear space of x + coordinates. Use with `dx` where `x0` is the starting + coordinate and `dx` the step. + xaxis + Sets a reference between this trace's x coordinates and + a 2D cartesian x axis. If "x" (the default value), the + x coordinates refer to `layout.xaxis`. If "x2", the x + coordinates refer to `layout.xaxis2`, and so on. + xhoverformat + Sets the hover text formatting rule for `x` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. + And for dates see: https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format. We add two items to + d3's date formatter: "%h" for half of the year as a + decimal number as well as "%{n}f" for fractional + seconds with n digits. For example, *2016-10-13 + 09:15:23.456* with tickformat "%H~%M~%S.%2f" would + display *09~15~23.46*By default the values are + formatted using `xaxis.hoverformat`. + y + Sets the y coordinates of the arrow locations. + y0 + Alternate to `y`. Builds a linear space of y + coordinates. Use with `dy` where `y0` is the starting + coordinate and `dy` the step. + yaxis + Sets a reference between this trace's y coordinates and + a 2D cartesian y axis. If "y" (the default value), the + y coordinates refer to `layout.yaxis`. If "y2", the y + coordinates refer to `layout.yaxis2`, and so on. + yhoverformat + Sets the hover text formatting rule for `y` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. + And for dates see: https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format. We add two items to + d3's date formatter: "%h" for half of the year as a + decimal number as well as "%{n}f" for fractional + seconds with n digits. For example, *2016-10-13 + 09:15:23.456* with tickformat "%H~%M~%S.%2f" would + display *09~15~23.46*By default the values are + formatted using `yaxis.hoverformat`. """ def __init__( self, arg=None, - below=None, - cluster=None, - connectgaps=None, + anchor=None, + anglemode=None, customdata=None, - customdatasrc=None, - fill=None, - fillcolor=None, + dx=None, + dy=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, - hovertemplatefallback=None, - hovertemplatesrc=None, - hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, - lat=None, - latsrc=None, legend=None, legendgroup=None, legendgrouptitle=None, legendrank=None, legendwidth=None, - line=None, - lon=None, - lonsrc=None, marker=None, meta=None, - metasrc=None, - mode=None, name=None, opacity=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, - subplot=None, + sizemode=None, + sizeref=None, text=None, textfont=None, textposition=None, - textsrc=None, - texttemplate=None, - texttemplatefallback=None, - texttemplatesrc=None, + u=None, + uhoverformat=None, uid=None, uirevision=None, unselected=None, + v=None, + vhoverformat=None, visible=None, + x=None, + x0=None, + xaxis=None, + xhoverformat=None, + y=None, + y0=None, + yaxis=None, + yhoverformat=None, **kwargs, ): """ - Construct a new Scattermapbox object + Construct a new Quiver object - "scattermapbox" trace is deprecated! Please consider switching - to the "scattermap" trace type and `map` subplots. Learn more - at: https://plotly.com/python/maplibre-migration/ as well as - https://plotly.com/javascript/maplibre-migration/ The data - visualized as scatter point, lines or marker symbols on a - Mapbox GL geographic map is provided by longitude/latitude - pairs in `lon` and `lat`. + The quiver trace type visualizes vector fields using arrows. + Specify a vector field using 4 1D arrays: 2 position arrays + `x`, `y` and 2 vector component arrays `u`, `v`. The arrows are + drawn exactly at the positions given by `x` and `y`. Arrow + length and direction are determined by `u` and `v` components. Parameters ---------- arg dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.Scattermapbox` - below - Determines if this scattermapbox trace's layers are to - be inserted before the layer with the specified ID. By - default, scattermapbox layers are inserted above all - the base layers. To place the scattermapbox layers - above every other layer, set `below` to "''". - cluster - :class:`plotly.graph_objects.scattermapbox.Cluster` - instance or dict with compatible properties - connectgaps - Determines whether or not gaps (i.e. {nan} or missing - values) in the provided data arrays are connected. + an instance of :class:`plotly.graph_objs.Quiver` + anchor + Sets the arrows' anchor with respect to their (x,y) + positions. Use "tail" to place (x,y) at the base, "tip" + to place (x,y) at the head, or "center" to center the + arrow on (x,y). + anglemode + Sets the mode used to determine the angle of the arrow + vectors. If "paper", u/v are interpreted in pixel + coordinates and the rendered vector angle does not + change regardless of the axes scales. If "data", u/v + are interpreted in data coordinates and the rendered + vector angle may change, e.g. if zooming in along a + single axis customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - fill - Sets the area to fill with a solid color. Use with - `fillcolor` if not "none". "toself" connects the - endpoints of the trace (or each segment of the trace if - it has gaps) into a closed shape. - fillcolor - Sets the fill color. Defaults to a half-transparent - variant of the line color, marker color, or marker line - color, whichever is available. + dx + Sets the x coordinate step. See `x0` for more info. + dy + Sets the y coordinate step. See `y0` for more info. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel - :class:`plotly.graph_objects.scattermapbox.Hoverlabel` + :class:`plotly.graph_objects.quiver.Hoverlabel` instance or dict with compatible properties hovertemplate Template string used for rendering the information that @@ -1539,41 +1358,17 @@ def __init__( https://plotly.com/javascript/plotlyjs-events/#event- data. Additionally, all attributes that can be specified per-point (the ones that are `arrayOk: true`) - are available. Anything contained in tag `` is - displayed in the secondary box, for example + are available. Finally, the template string has access + to variables `x`, `y`, `u`, `v`, `text` and `name`. + Anything contained in tag `` is displayed in the + secondary box, for example `%{fullData.name}`. To hide the secondary box completely, use an empty tag ``. - hovertemplatefallback - Fallback string that's displayed when a variable - referenced in a template is missing. If the boolean - value 'false' is passed in, the specifier with the - missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - hovertext - Sets hover text elements associated with each (lon,lat) - pair If a single string, the same string appears over - all the data points. If an array of string, the items - are mapped in order to the this trace's (lon,lat) - coordinates. To be seen, trace `hoverinfo` must contain - a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. - lat - Sets the latitude coordinates (in degrees North). - latsrc - Sets the source reference on Chart Studio Cloud for - `lat`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1585,8 +1380,8 @@ def __init__( part of the same legend group hide/show at the same time when toggling legend items. legendgrouptitle - :class:`plotly.graph_objects.scattermapbox.Legendgroupt - itle` instance or dict with compatible properties + :class:`plotly.graph_objects.quiver.Legendgrouptitle` + instance or dict with compatible properties legendrank Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while @@ -1601,17 +1396,9 @@ def __init__( legendwidth Sets the width (in px or fraction) of the legend for this trace. - line - :class:`plotly.graph_objects.scattermapbox.Line` - instance or dict with compatible properties - lon - Sets the longitude coordinates (in degrees East). - lonsrc - Sets the source reference on Chart Studio Cloud for - `lon`. marker - :class:`plotly.graph_objects.scattermapbox.Marker` - instance or dict with compatible properties + :class:`plotly.graph_objects.quiver.Marker` instance or + dict with compatible properties meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -1625,22 +1412,14 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. - mode - Determines the drawing mode for this scatter trace. If - the provided `mode` includes "text" then the `text` - elements appear at the coordinates. Otherwise, the - `text` elements appear on hover. name Sets the trace name. The trace name appears as the legend item and on hover. opacity Sets the opacity of the trace. selected - :class:`plotly.graph_objects.scattermapbox.Selected` - instance or dict with compatible properties + :class:`plotly.graph_objects.quiver.Selected` instance + or dict with compatible properties selectedpoints Array containing integer indices of selected points. Has an effect only for traces that support selections. @@ -1651,67 +1430,38 @@ def __init__( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scattermapbox.Stream` - instance or dict with compatible properties - subplot - mapbox subplots and traces are deprecated! Please - consider switching to `map` subplots and traces. Learn - more at: https://plotly.com/python/maplibre-migration/ - as well as https://plotly.com/javascript/maplibre- - migration/ Sets a reference between this trace's data - coordinates and a mapbox subplot. If "mapbox" (the - default value), the data refer to `layout.mapbox`. If - "mapbox2", the data refer to `layout.mapbox2`, and so - on. + sizemode + Determines whether arrows are drawn according to their + raw lengths, or scaled based on the maximum vector + length and point density. Note: When `anglemode` is + "data" arrows are alwyas scaled and `sizemode` "raw" is + ignored. + sizeref + Adjusts the arrow size scaling. The arrow length is + determined by the vector norm multiplied by `sizeref`, + optionally normalized when `sizemode` is "scaled" + (`sizeref` is applied after scaling). text - Sets text elements associated with each (lon,lat) pair - If a single string, the same string appears over all - the data points. If an array of string, the items are - mapped in order to the this trace's (lon,lat) - coordinates. If trace `hoverinfo` contains a "text" - flag and "hovertext" is not set, these elements will be - seen in the hover labels. + Sets text elements associated with each (x,y) pair. If + a single string, the same string appears over all the + data points. If an array of string, the items are + mapped in order to the this trace's (x,y) coordinates. + If trace `hoverinfo` contains a "text" flag and + "hovertext" is not set, these elements will be seen in + the hover labels. textfont - Sets the icon text font (color=mapbox.layer.paint.text- - color, size=mapbox.layer.layout.text-size). Has an - effect only when `type` is set to "symbol". + Sets the text font. textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. - texttemplate - Template string used for rendering the information text - that appears on points. Note that this will override - `textinfo`. Variables are inserted using %{variable}, - for example "y: %{y}". Numbers are formatted using - d3-format's syntax %{variable:d3-format}, for example - "Price: %{y:$.2f}". - https://github.com/d3/d3-format/tree/v1.4.5#d3-format - for details on the formatting syntax. Dates are - formatted using d3-time-format's syntax - %{variable|d3-time-format}, for example "Day: - %{2019-01-01|%A}". https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format for details on the - date formatting syntax. Variables that can't be found - will be replaced with the specifier. For example, a - template of "data: %{x}, %{y}" will result in a value - of "data: 1, %{y}" if x is 1 and y is missing. - Variables with an undefined value will be replaced with - the fallback value. All attributes that can be - specified per-point (the ones that are `arrayOk: true`) - are available. Finally, the template string has access - to variables `lat`, `lon` and `text`. - texttemplatefallback - Fallback string that's displayed when a variable - referenced in a template is missing. If the boolean - value 'false' is passed in, the specifier with the - missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. + u + Sets the x components of the arrow vectors. + uhoverformat + Sets the hover text formatting rule for `u` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: https://github.com/d + 3/d3-format/tree/v1.4.5#d3-format.By default the values + are formatted using generic number format. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1735,19 +1485,75 @@ def __init__( preserve user-driven changes if you give each trace a `uid` that stays with it as it moves. unselected - :class:`plotly.graph_objects.scattermapbox.Unselected` + :class:`plotly.graph_objects.quiver.Unselected` instance or dict with compatible properties + v + Sets the y components of the arrow vectors. + vhoverformat + Sets the hover text formatting rule for `v` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: https://github.com/d + 3/d3-format/tree/v1.4.5#d3-format.By default the values + are formatted using generic number format. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). + x + Sets the x coordinates of the arrow locations. + x0 + Alternate to `x`. Builds a linear space of x + coordinates. Use with `dx` where `x0` is the starting + coordinate and `dx` the step. + xaxis + Sets a reference between this trace's x coordinates and + a 2D cartesian x axis. If "x" (the default value), the + x coordinates refer to `layout.xaxis`. If "x2", the x + coordinates refer to `layout.xaxis2`, and so on. + xhoverformat + Sets the hover text formatting rule for `x` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. + And for dates see: https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format. We add two items to + d3's date formatter: "%h" for half of the year as a + decimal number as well as "%{n}f" for fractional + seconds with n digits. For example, *2016-10-13 + 09:15:23.456* with tickformat "%H~%M~%S.%2f" would + display *09~15~23.46*By default the values are + formatted using `xaxis.hoverformat`. + y + Sets the y coordinates of the arrow locations. + y0 + Alternate to `y`. Builds a linear space of y + coordinates. Use with `dy` where `y0` is the starting + coordinate and `dy` the step. + yaxis + Sets a reference between this trace's y coordinates and + a 2D cartesian y axis. If "y" (the default value), the + y coordinates refer to `layout.yaxis`. If "y2", the y + coordinates refer to `layout.yaxis2`, and so on. + yhoverformat + Sets the hover text formatting rule for `y` using d3 + formatting mini-languages which are very similar to + those in Python. For numbers, see: + https://github.com/d3/d3-format/tree/v1.4.5#d3-format. + And for dates see: https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format. We add two items to + d3's date formatter: "%h" for half of the year as a + decimal number as well as "%{n}f" for fractional + seconds with n digits. For example, *2016-10-13 + 09:15:23.456* with tickformat "%H~%M~%S.%2f" would + display *09~15~23.46*By default the values are + formatted using `yaxis.hoverformat`. Returns ------- - Scattermapbox + Quiver """ - super().__init__("scattermapbox") + super().__init__("quiver") if "_parent" in kwargs: self._parent = kwargs["_parent"] return @@ -1760,72 +1566,57 @@ def __init__( arg = _copy.copy(arg) else: raise ValueError("""\ -The first argument to the plotly.graph_objs.Scattermapbox +The first argument to the plotly.graph_objs.Quiver constructor must be a dict or -an instance of :class:`plotly.graph_objs.Scattermapbox`""") +an instance of :class:`plotly.graph_objs.Quiver`""") self._skip_invalid = kwargs.pop("skip_invalid", False) self._validate = kwargs.pop("_validate", True) - self._set_property("below", arg, below) - self._set_property("cluster", arg, cluster) - self._set_property("connectgaps", arg, connectgaps) + self._set_property("anchor", arg, anchor) + self._set_property("anglemode", arg, anglemode) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) - self._set_property("fill", arg, fill) - self._set_property("fillcolor", arg, fillcolor) + self._set_property("dx", arg, dx) + self._set_property("dy", arg, dy) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) - self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) - self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) - self._set_property("lat", arg, lat) - self._set_property("latsrc", arg, latsrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) self._set_property("legendrank", arg, legendrank) self._set_property("legendwidth", arg, legendwidth) - self._set_property("line", arg, line) - self._set_property("lon", arg, lon) - self._set_property("lonsrc", arg, lonsrc) self._set_property("marker", arg, marker) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) - self._set_property("mode", arg, mode) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("selected", arg, selected) self._set_property("selectedpoints", arg, selectedpoints) self._set_property("showlegend", arg, showlegend) - self._set_property("stream", arg, stream) - self._set_property("subplot", arg, subplot) + self._set_property("sizemode", arg, sizemode) + self._set_property("sizeref", arg, sizeref) self._set_property("text", arg, text) self._set_property("textfont", arg, textfont) self._set_property("textposition", arg, textposition) - self._set_property("textsrc", arg, textsrc) - self._set_property("texttemplate", arg, texttemplate) - self._set_property("texttemplatefallback", arg, texttemplatefallback) - self._set_property("texttemplatesrc", arg, texttemplatesrc) + self._set_property("u", arg, u) + self._set_property("uhoverformat", arg, uhoverformat) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("unselected", arg, unselected) + self._set_property("v", arg, v) + self._set_property("vhoverformat", arg, vhoverformat) self._set_property("visible", arg, visible) - - self._props["type"] = "scattermapbox" + self._set_property("x", arg, x) + self._set_property("x0", arg, x0) + self._set_property("xaxis", arg, xaxis) + self._set_property("xhoverformat", arg, xhoverformat) + self._set_property("y", arg, y) + self._set_property("y0", arg, y0) + self._set_property("yaxis", arg, yaxis) + self._set_property("yhoverformat", arg, yhoverformat) + + self._props["type"] = "quiver" arg.pop("type", None) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False - - warnings.warn( - "*scattermapbox* is deprecated!" - + " Use *scattermap* instead." - + " Learn more at: https://plotly.com/python/mapbox-to-maplibre/", - stacklevel=2, - category=DeprecationWarning, - ) diff --git a/plotly/graph_objs/_sankey.py b/plotly/graph_objs/_sankey.py index f32d44f6fdd..6f48f93515f 100644 --- a/plotly/graph_objs/_sankey.py +++ b/plotly/graph_objs/_sankey.py @@ -11,24 +11,20 @@ class Sankey(_BaseTraceType): _valid_props = { "arrangement", "customdata", - "customdatasrc", "domain", "hoverinfo", "hoverlabel", "ids", - "idssrc", "legend", "legendgrouptitle", "legendrank", "legendwidth", "link", "meta", - "metasrc", "name", "node", "orientation", "selectedpoints", - "stream", "textfont", "type", "uid", @@ -84,25 +80,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def domain(self): """ @@ -125,7 +102,7 @@ def domain(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. Note that this attribute is superseded by `node.hoverinfo` and @@ -186,24 +163,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def legend(self): """ @@ -337,24 +296,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -437,25 +378,6 @@ def selectedpoints(self): def selectedpoints(self, val): self["selectedpoints"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.sankey.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.sankey.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def textfont(self): """ @@ -611,14 +533,11 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. domain :class:`plotly.graph_objects.sankey.Domain` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. Note that this attribute is @@ -631,9 +550,6 @@ def _prop_descriptions(self): Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -672,9 +588,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -689,9 +602,6 @@ def _prop_descriptions(self): the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect. - stream - :class:`plotly.graph_objects.sankey.Stream` instance or - dict with compatible properties textfont Sets the font for node labels uid @@ -737,24 +647,20 @@ def __init__( arg=None, arrangement=None, customdata=None, - customdatasrc=None, domain=None, hoverinfo=None, hoverlabel=None, ids=None, - idssrc=None, legend=None, legendgrouptitle=None, legendrank=None, legendwidth=None, link=None, meta=None, - metasrc=None, name=None, node=None, orientation=None, selectedpoints=None, - stream=None, textfont=None, uid=None, uirevision=None, @@ -789,14 +695,11 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. domain :class:`plotly.graph_objects.sankey.Domain` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. Note that this attribute is @@ -809,9 +712,6 @@ def __init__( Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -850,9 +750,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -867,9 +764,6 @@ def __init__( the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect. - stream - :class:`plotly.graph_objects.sankey.Stream` instance or - dict with compatible properties textfont Sets the font for node labels uid @@ -935,24 +829,20 @@ def __init__( self._set_property("arrangement", arg, arrangement) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("domain", arg, domain) self._set_property("hoverinfo", arg, hoverinfo) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("legend", arg, legend) self._set_property("legendgrouptitle", arg, legendgrouptitle) self._set_property("legendrank", arg, legendrank) self._set_property("legendwidth", arg, legendwidth) self._set_property("link", arg, link) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("node", arg, node) self._set_property("orientation", arg, orientation) self._set_property("selectedpoints", arg, selectedpoints) - self._set_property("stream", arg, stream) self._set_property("textfont", arg, textfont) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) diff --git a/plotly/graph_objs/_scatter.py b/plotly/graph_objs/_scatter.py index 0babb5ebb36..f46b0473368 100644 --- a/plotly/graph_objs/_scatter.py +++ b/plotly/graph_objs/_scatter.py @@ -13,7 +13,6 @@ class Scatter(_BaseTraceType): "cliponaxis", "connectgaps", "customdata", - "customdatasrc", "dx", "dy", "error_x", @@ -24,16 +23,12 @@ class Scatter(_BaseTraceType): "fillpattern", "groupnorm", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hoveron", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "legend", "legendgroup", "legendgrouptitle", @@ -42,7 +37,6 @@ class Scatter(_BaseTraceType): "line", "marker", "meta", - "metasrc", "mode", "name", "offsetgroup", @@ -53,15 +47,11 @@ class Scatter(_BaseTraceType): "showlegend", "stackgaps", "stackgroup", - "stream", "text", "textfont", "textposition", - "textpositionsrc", - "textsrc", "texttemplate", "texttemplatefallback", - "texttemplatesrc", "type", "uid", "uirevision", @@ -75,7 +65,6 @@ class Scatter(_BaseTraceType): "xperiod", "xperiod0", "xperiodalignment", - "xsrc", "y", "y0", "yaxis", @@ -84,7 +73,6 @@ class Scatter(_BaseTraceType): "yperiod", "yperiod0", "yperiodalignment", - "ysrc", "zorder", } @@ -170,25 +158,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def dx(self): """ @@ -400,7 +369,7 @@ def groupnorm(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -421,25 +390,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -548,25 +498,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -591,25 +522,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -630,24 +542,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def legend(self): """ @@ -819,24 +713,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def mode(self): """ @@ -1063,25 +939,6 @@ def stackgroup(self): def stackgroup(self, val): self["stackgroup"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.scatter.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.scatter.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def text(self): """ @@ -1151,43 +1008,6 @@ def textposition(self): def textposition(self, val): self["textposition"] = val - @property - def textpositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `textposition`. - - The 'textpositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textpositionsrc"] - - @textpositionsrc.setter - def textpositionsrc(self, val): - self["textpositionsrc"] = val - - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def texttemplate(self): """ @@ -1243,25 +1063,6 @@ def texttemplatefallback(self): def texttemplatefallback(self, val): self["texttemplatefallback"] = val - @property - def texttemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `texttemplate`. - - The 'texttemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["texttemplatesrc"] - - @texttemplatesrc.setter - def texttemplatesrc(self, val): - self["texttemplatesrc"] = val - @property def uid(self): """ @@ -1438,7 +1239,7 @@ def xcalendar(self, val): @property def xhoverformat(self): """ - Sets the hover text formatting rulefor `x` using d3 formatting + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1525,24 +1326,6 @@ def xperiodalignment(self): def xperiodalignment(self, val): self["xperiodalignment"] = val - @property - def xsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `x`. - - The 'xsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xsrc"] - - @xsrc.setter - def xsrc(self, val): - self["xsrc"] = val - @property def y(self): """ @@ -1628,7 +1411,7 @@ def ycalendar(self, val): @property def yhoverformat(self): """ - Sets the hover text formatting rulefor `y` using d3 formatting + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1715,24 +1498,6 @@ def yperiodalignment(self): def yperiodalignment(self, val): self["yperiodalignment"] = val - @property - def ysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `y`. - - The 'ysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ysrc"] - - @ysrc.setter - def ysrc(self, val): - self["ysrc"] = val - @property def zorder(self): """ @@ -1779,9 +1544,6 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dx Sets the x coordinate step. See `x0` for more info. dy @@ -1838,13 +1600,10 @@ def _prop_descriptions(self): multiple subplots, or multiple `stackgroup`s on one subplot, each will be normalized within its own set. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scatter.Hoverlabel` instance or dict with compatible properties @@ -1893,9 +1652,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over @@ -1903,16 +1659,10 @@ def _prop_descriptions(self): are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1959,9 +1709,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -2024,9 +1771,6 @@ def _prop_descriptions(self): `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order. - stream - :class:`plotly.graph_objects.scatter.Stream` instance - or dict with compatible properties text Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the @@ -2040,12 +1784,6 @@ def _prop_descriptions(self): textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -2072,9 +1810,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -2119,7 +1854,7 @@ def _prop_descriptions(self): xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2147,9 +1882,6 @@ def _prop_descriptions(self): xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates. y0 @@ -2164,7 +1896,7 @@ def _prop_descriptions(self): ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2192,9 +1924,6 @@ def _prop_descriptions(self): yperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -2209,7 +1938,6 @@ def __init__( cliponaxis=None, connectgaps=None, customdata=None, - customdatasrc=None, dx=None, dy=None, error_x=None, @@ -2220,16 +1948,12 @@ def __init__( fillpattern=None, groupnorm=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hoveron=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -2238,7 +1962,6 @@ def __init__( line=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, offsetgroup=None, @@ -2249,15 +1972,11 @@ def __init__( showlegend=None, stackgaps=None, stackgroup=None, - stream=None, text=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, unselected=None, @@ -2270,7 +1989,6 @@ def __init__( xperiod=None, xperiod0=None, xperiodalignment=None, - xsrc=None, y=None, y0=None, yaxis=None, @@ -2279,7 +1997,6 @@ def __init__( yperiod=None, yperiod0=None, yperiodalignment=None, - ysrc=None, zorder=None, **kwargs, ): @@ -2317,9 +2034,6 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dx Sets the x coordinate step. See `x0` for more info. dy @@ -2376,13 +2090,10 @@ def __init__( multiple subplots, or multiple `stackgroup`s on one subplot, each will be normalized within its own set. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scatter.Hoverlabel` instance or dict with compatible properties @@ -2431,9 +2142,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over @@ -2441,16 +2149,10 @@ def __init__( are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -2497,9 +2199,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -2562,9 +2261,6 @@ def __init__( `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order. - stream - :class:`plotly.graph_objects.scatter.Stream` instance - or dict with compatible properties text Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the @@ -2578,12 +2274,6 @@ def __init__( textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -2610,9 +2300,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -2657,7 +2344,7 @@ def __init__( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2685,9 +2372,6 @@ def __init__( xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates. y0 @@ -2702,7 +2386,7 @@ def __init__( ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2730,9 +2414,6 @@ def __init__( yperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -2767,7 +2448,6 @@ def __init__( self._set_property("cliponaxis", arg, cliponaxis) self._set_property("connectgaps", arg, connectgaps) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("dx", arg, dx) self._set_property("dy", arg, dy) self._set_property("error_x", arg, error_x) @@ -2778,16 +2458,12 @@ def __init__( self._set_property("fillpattern", arg, fillpattern) self._set_property("groupnorm", arg, groupnorm) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hoveron", arg, hoveron) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) @@ -2796,7 +2472,6 @@ def __init__( self._set_property("line", arg, line) self._set_property("marker", arg, marker) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("mode", arg, mode) self._set_property("name", arg, name) self._set_property("offsetgroup", arg, offsetgroup) @@ -2807,15 +2482,11 @@ def __init__( self._set_property("showlegend", arg, showlegend) self._set_property("stackgaps", arg, stackgaps) self._set_property("stackgroup", arg, stackgroup) - self._set_property("stream", arg, stream) self._set_property("text", arg, text) self._set_property("textfont", arg, textfont) self._set_property("textposition", arg, textposition) - self._set_property("textpositionsrc", arg, textpositionsrc) - self._set_property("textsrc", arg, textsrc) self._set_property("texttemplate", arg, texttemplate) self._set_property("texttemplatefallback", arg, texttemplatefallback) - self._set_property("texttemplatesrc", arg, texttemplatesrc) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("unselected", arg, unselected) @@ -2828,7 +2499,6 @@ def __init__( self._set_property("xperiod", arg, xperiod) self._set_property("xperiod0", arg, xperiod0) self._set_property("xperiodalignment", arg, xperiodalignment) - self._set_property("xsrc", arg, xsrc) self._set_property("y", arg, y) self._set_property("y0", arg, y0) self._set_property("yaxis", arg, yaxis) @@ -2837,7 +2507,6 @@ def __init__( self._set_property("yperiod", arg, yperiod) self._set_property("yperiod0", arg, yperiod0) self._set_property("yperiodalignment", arg, yperiodalignment) - self._set_property("ysrc", arg, ysrc) self._set_property("zorder", arg, zorder) self._props["type"] = "scatter" diff --git a/plotly/graph_objs/_scatter3d.py b/plotly/graph_objs/_scatter3d.py index 8247116c7da..ae2a96b6f12 100644 --- a/plotly/graph_objs/_scatter3d.py +++ b/plotly/graph_objs/_scatter3d.py @@ -11,20 +11,15 @@ class Scatter3d(_BaseTraceType): _valid_props = { "connectgaps", "customdata", - "customdatasrc", "error_x", "error_y", "error_z", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "legend", "legendgroup", "legendgrouptitle", @@ -33,24 +28,19 @@ class Scatter3d(_BaseTraceType): "line", "marker", "meta", - "metasrc", "mode", "name", "opacity", "projection", "scene", "showlegend", - "stream", "surfaceaxis", "surfacecolor", "text", "textfont", "textposition", - "textpositionsrc", - "textsrc", "texttemplate", "texttemplatefallback", - "texttemplatesrc", "type", "uid", "uirevision", @@ -58,15 +48,12 @@ class Scatter3d(_BaseTraceType): "x", "xcalendar", "xhoverformat", - "xsrc", "y", "ycalendar", "yhoverformat", - "ysrc", "z", "zcalendar", "zhoverformat", - "zsrc", } @property @@ -109,25 +96,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def error_x(self): """ @@ -188,7 +156,7 @@ def error_z(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -209,25 +177,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -313,25 +262,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -356,25 +286,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -395,24 +306,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def legend(self): """ @@ -584,24 +477,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def mode(self): """ @@ -727,25 +602,6 @@ def showlegend(self): def showlegend(self, val): self["showlegend"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.scatter3d.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.scatter3d.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def surfaceaxis(self): """ @@ -858,43 +714,6 @@ def textposition(self): def textposition(self, val): self["textposition"] = val - @property - def textpositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `textposition`. - - The 'textpositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textpositionsrc"] - - @textpositionsrc.setter - def textpositionsrc(self, val): - self["textpositionsrc"] = val - - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def texttemplate(self): """ @@ -950,25 +769,6 @@ def texttemplatefallback(self): def texttemplatefallback(self, val): self["texttemplatefallback"] = val - @property - def texttemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `texttemplate`. - - The 'texttemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["texttemplatesrc"] - - @texttemplatesrc.setter - def texttemplatesrc(self, val): - self["texttemplatesrc"] = val - @property def uid(self): """ @@ -1084,7 +884,7 @@ def xcalendar(self, val): @property def xhoverformat(self): """ - Sets the hover text formatting rulefor `x` using d3 formatting + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1110,24 +910,6 @@ def xhoverformat(self): def xhoverformat(self, val): self["xhoverformat"] = val - @property - def xsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `x`. - - The 'xsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xsrc"] - - @xsrc.setter - def xsrc(self, val): - self["xsrc"] = val - @property def y(self): """ @@ -1171,7 +953,7 @@ def ycalendar(self, val): @property def yhoverformat(self): """ - Sets the hover text formatting rulefor `y` using d3 formatting + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1197,24 +979,6 @@ def yhoverformat(self): def yhoverformat(self, val): self["yhoverformat"] = val - @property - def ysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `y`. - - The 'ysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ysrc"] - - @ysrc.setter - def ysrc(self, val): - self["ysrc"] = val - @property def z(self): """ @@ -1258,7 +1022,7 @@ def zcalendar(self, val): @property def zhoverformat(self): """ - Sets the hover text formatting rulefor `z` using d3 formatting + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1284,24 +1048,6 @@ def zhoverformat(self): def zhoverformat(self, val): self["zhoverformat"] = val - @property - def zsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `z`. - - The 'zsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["zsrc"] - - @zsrc.setter - def zsrc(self, val): - self["zsrc"] = val - @property def type(self): return self._props["type"] @@ -1317,9 +1063,6 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. error_x :class:`plotly.graph_objects.scatter3d.ErrorX` instance or dict with compatible properties @@ -1330,13 +1073,10 @@ def _prop_descriptions(self): :class:`plotly.graph_objects.scatter3d.ErrorZ` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scatter3d.Hoverlabel` instance or dict with compatible properties @@ -1379,9 +1119,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets text elements associated with each (x,y,z) triplet. If a single string, the same string appears @@ -1389,16 +1126,10 @@ def _prop_descriptions(self): items are mapped in order to the this trace's (x,y,z) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1445,9 +1176,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -1472,9 +1200,6 @@ def _prop_descriptions(self): showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scatter3d.Stream` instance - or dict with compatible properties surfaceaxis If "-1", the scatter points are not fill with a surface If 0, 1, 2, the scatter points are filled with a @@ -1494,12 +1219,6 @@ def _prop_descriptions(self): textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1526,9 +1245,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1561,7 +1277,7 @@ def _prop_descriptions(self): xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1573,15 +1289,12 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates. ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1593,15 +1306,12 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the z coordinates. zcalendar Sets the calendar system to use with `z` date data. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1613,9 +1323,6 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. """ def __init__( @@ -1623,20 +1330,15 @@ def __init__( arg=None, connectgaps=None, customdata=None, - customdatasrc=None, error_x=None, error_y=None, error_z=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -1645,39 +1347,31 @@ def __init__( line=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, projection=None, scene=None, showlegend=None, - stream=None, surfaceaxis=None, surfacecolor=None, text=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, visible=None, x=None, xcalendar=None, xhoverformat=None, - xsrc=None, y=None, ycalendar=None, yhoverformat=None, - ysrc=None, z=None, zcalendar=None, zhoverformat=None, - zsrc=None, **kwargs, ): """ @@ -1703,9 +1397,6 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. error_x :class:`plotly.graph_objects.scatter3d.ErrorX` instance or dict with compatible properties @@ -1716,13 +1407,10 @@ def __init__( :class:`plotly.graph_objects.scatter3d.ErrorZ` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scatter3d.Hoverlabel` instance or dict with compatible properties @@ -1765,9 +1453,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets text elements associated with each (x,y,z) triplet. If a single string, the same string appears @@ -1775,16 +1460,10 @@ def __init__( items are mapped in order to the this trace's (x,y,z) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1831,9 +1510,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -1858,9 +1534,6 @@ def __init__( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scatter3d.Stream` instance - or dict with compatible properties surfaceaxis If "-1", the scatter points are not fill with a surface If 0, 1, 2, the scatter points are filled with a @@ -1880,12 +1553,6 @@ def __init__( textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1912,9 +1579,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1947,7 +1611,7 @@ def __init__( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1959,15 +1623,12 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates. ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1979,15 +1640,12 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the z coordinates. zcalendar Sets the calendar system to use with `z` date data. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1999,9 +1657,6 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. Returns ------- @@ -2029,20 +1684,15 @@ def __init__( self._set_property("connectgaps", arg, connectgaps) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("error_x", arg, error_x) self._set_property("error_y", arg, error_y) self._set_property("error_z", arg, error_z) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) @@ -2051,39 +1701,31 @@ def __init__( self._set_property("line", arg, line) self._set_property("marker", arg, marker) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("mode", arg, mode) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("projection", arg, projection) self._set_property("scene", arg, scene) self._set_property("showlegend", arg, showlegend) - self._set_property("stream", arg, stream) self._set_property("surfaceaxis", arg, surfaceaxis) self._set_property("surfacecolor", arg, surfacecolor) self._set_property("text", arg, text) self._set_property("textfont", arg, textfont) self._set_property("textposition", arg, textposition) - self._set_property("textpositionsrc", arg, textpositionsrc) - self._set_property("textsrc", arg, textsrc) self._set_property("texttemplate", arg, texttemplate) self._set_property("texttemplatefallback", arg, texttemplatefallback) - self._set_property("texttemplatesrc", arg, texttemplatesrc) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("visible", arg, visible) self._set_property("x", arg, x) self._set_property("xcalendar", arg, xcalendar) self._set_property("xhoverformat", arg, xhoverformat) - self._set_property("xsrc", arg, xsrc) self._set_property("y", arg, y) self._set_property("ycalendar", arg, ycalendar) self._set_property("yhoverformat", arg, yhoverformat) - self._set_property("ysrc", arg, ysrc) self._set_property("z", arg, z) self._set_property("zcalendar", arg, zcalendar) self._set_property("zhoverformat", arg, zhoverformat) - self._set_property("zsrc", arg, zsrc) self._props["type"] = "scatter3d" arg.pop("type", None) diff --git a/plotly/graph_objs/_scattercarpet.py b/plotly/graph_objs/_scattercarpet.py index 9c225d1f570..40c7bc427bf 100644 --- a/plotly/graph_objs/_scattercarpet.py +++ b/plotly/graph_objs/_scattercarpet.py @@ -10,26 +10,19 @@ class Scattercarpet(_BaseTraceType): _path_str = "scattercarpet" _valid_props = { "a", - "asrc", "b", - "bsrc", "carpet", "connectgaps", "customdata", - "customdatasrc", "fill", "fillcolor", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hoveron", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "legend", "legendgroup", "legendgrouptitle", @@ -38,22 +31,17 @@ class Scattercarpet(_BaseTraceType): "line", "marker", "meta", - "metasrc", "mode", "name", "opacity", "selected", "selectedpoints", "showlegend", - "stream", "text", "textfont", "textposition", - "textpositionsrc", - "textsrc", "texttemplate", "texttemplatefallback", - "texttemplatesrc", "type", "uid", "uirevision", @@ -82,24 +70,6 @@ def a(self): def a(self, val): self["a"] = val - @property - def asrc(self): - """ - Sets the source reference on Chart Studio Cloud for `a`. - - The 'asrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["asrc"] - - @asrc.setter - def asrc(self, val): - self["asrc"] = val - @property def b(self): """ @@ -118,24 +88,6 @@ def b(self): def b(self, val): self["b"] = val - @property - def bsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `b`. - - The 'bsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bsrc"] - - @bsrc.setter - def bsrc(self, val): - self["bsrc"] = val - @property def carpet(self): """ @@ -197,25 +149,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def fill(self): """ @@ -270,7 +203,7 @@ def fillcolor(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -291,25 +224,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -418,33 +332,14 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ Sets hover text elements associated with each (a,b) point. If a single string, the same string appears over all the data points. If an array of strings, the items are mapped in order - to the the data points in (a,b). To be seen, trace `hoverinfo` - must contain a "text" flag. + to the data points in (a,b). To be seen, trace `hoverinfo` must + contain a "text" flag. The 'hovertext' property is a string and must be specified as: - A string @@ -461,25 +356,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -500,24 +376,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def legend(self): """ @@ -689,24 +547,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def mode(self): """ @@ -831,34 +671,15 @@ def showlegend(self): def showlegend(self, val): self["showlegend"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.scattercarpet.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.scattercarpet.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def text(self): """ Sets text elements associated with each (a,b) point. If a single string, the same string appears over all the data points. If an array of strings, the items are mapped in order - to the the data points in (a,b). If trace `hoverinfo` contains - a "text" flag and "hovertext" is not set, these elements will - be seen in the hover labels. + to the data points in (a,b). If trace `hoverinfo` contains a + "text" flag and "hovertext" is not set, these elements will be + seen in the hover labels. The 'text' property is a string and must be specified as: - A string @@ -919,43 +740,6 @@ def textposition(self): def textposition(self, val): self["textposition"] = val - @property - def textpositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `textposition`. - - The 'textpositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textpositionsrc"] - - @textpositionsrc.setter - def textpositionsrc(self, val): - self["textpositionsrc"] = val - - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def texttemplate(self): """ @@ -1012,25 +796,6 @@ def texttemplatefallback(self): def texttemplatefallback(self, val): self["texttemplatefallback"] = val - @property - def texttemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `texttemplate`. - - The 'texttemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["texttemplatesrc"] - - @texttemplatesrc.setter - def texttemplatesrc(self, val): - self["texttemplatesrc"] = val - @property def uid(self): """ @@ -1197,14 +962,8 @@ def _prop_descriptions(self): return """\ a Sets the a-axis coordinates. - asrc - Sets the source reference on Chart Studio Cloud for - `a`. b Sets the b-axis coordinates. - bsrc - Sets the source reference on Chart Studio Cloud for - `b`. carpet An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on @@ -1217,9 +976,6 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. fill Sets the area to fill with a solid color. Use with `fillcolor` if not "none". scatterternary has a subset @@ -1236,13 +992,10 @@ def _prop_descriptions(self): variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scattercarpet.Hoverlabel` instance or dict with compatible properties @@ -1291,25 +1044,16 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (a,b) point. If a single string, the same string appears over all the data points. If an array of strings, the items - are mapped in order to the the data points in (a,b). To - be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. + are mapped in order to the data points in (a,b). To be + seen, trace `hoverinfo` must contain a "text" flag. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1356,9 +1100,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -1384,28 +1125,19 @@ def _prop_descriptions(self): showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scattercarpet.Stream` - instance or dict with compatible properties text Sets text elements associated with each (a,b) point. If a single string, the same string appears over all the data points. If an array of strings, the items are - mapped in order to the the data points in (a,b). If - trace `hoverinfo` contains a "text" flag and - "hovertext" is not set, these elements will be seen in - the hover labels. + mapped in order to the data points in (a,b). If trace + `hoverinfo` contains a "text" flag and "hovertext" is + not set, these elements will be seen in the hover + labels. textfont Sets the text font. textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1433,9 +1165,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1487,26 +1216,19 @@ def __init__( self, arg=None, a=None, - asrc=None, b=None, - bsrc=None, carpet=None, connectgaps=None, customdata=None, - customdatasrc=None, fill=None, fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hoveron=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -1515,22 +1237,17 @@ def __init__( line=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, text=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, unselected=None, @@ -1553,14 +1270,8 @@ def __init__( an instance of :class:`plotly.graph_objs.Scattercarpet` a Sets the a-axis coordinates. - asrc - Sets the source reference on Chart Studio Cloud for - `a`. b Sets the b-axis coordinates. - bsrc - Sets the source reference on Chart Studio Cloud for - `b`. carpet An identifier for this carpet, so that `scattercarpet` and `contourcarpet` traces can specify a carpet plot on @@ -1573,9 +1284,6 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. fill Sets the area to fill with a solid color. Use with `fillcolor` if not "none". scatterternary has a subset @@ -1592,13 +1300,10 @@ def __init__( variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scattercarpet.Hoverlabel` instance or dict with compatible properties @@ -1647,25 +1352,16 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (a,b) point. If a single string, the same string appears over all the data points. If an array of strings, the items - are mapped in order to the the data points in (a,b). To - be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. + are mapped in order to the data points in (a,b). To be + seen, trace `hoverinfo` must contain a "text" flag. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1712,9 +1408,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -1740,28 +1433,19 @@ def __init__( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scattercarpet.Stream` - instance or dict with compatible properties text Sets text elements associated with each (a,b) point. If a single string, the same string appears over all the data points. If an array of strings, the items are - mapped in order to the the data points in (a,b). If - trace `hoverinfo` contains a "text" flag and - "hovertext" is not set, these elements will be seen in - the hover labels. + mapped in order to the data points in (a,b). If trace + `hoverinfo` contains a "text" flag and "hovertext" is + not set, these elements will be seen in the hover + labels. textfont Sets the text font. textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1789,9 +1473,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1863,26 +1544,19 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("a", arg, a) - self._set_property("asrc", arg, asrc) self._set_property("b", arg, b) - self._set_property("bsrc", arg, bsrc) self._set_property("carpet", arg, carpet) self._set_property("connectgaps", arg, connectgaps) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("fill", arg, fill) self._set_property("fillcolor", arg, fillcolor) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hoveron", arg, hoveron) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) @@ -1891,22 +1565,17 @@ def __init__( self._set_property("line", arg, line) self._set_property("marker", arg, marker) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("mode", arg, mode) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("selected", arg, selected) self._set_property("selectedpoints", arg, selectedpoints) self._set_property("showlegend", arg, showlegend) - self._set_property("stream", arg, stream) self._set_property("text", arg, text) self._set_property("textfont", arg, textfont) self._set_property("textposition", arg, textposition) - self._set_property("textpositionsrc", arg, textpositionsrc) - self._set_property("textsrc", arg, textsrc) self._set_property("texttemplate", arg, texttemplate) self._set_property("texttemplatefallback", arg, texttemplatefallback) - self._set_property("texttemplatesrc", arg, texttemplatesrc) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("unselected", arg, unselected) diff --git a/plotly/graph_objs/_scattergeo.py b/plotly/graph_objs/_scattergeo.py index 2c62519f0ed..ff3af5a3bbd 100644 --- a/plotly/graph_objs/_scattergeo.py +++ b/plotly/graph_objs/_scattergeo.py @@ -12,24 +12,18 @@ class Scattergeo(_BaseTraceType): _valid_props = { "connectgaps", "customdata", - "customdatasrc", "featureidkey", "fill", "fillcolor", "geo", "geojson", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "lat", - "latsrc", "legend", "legendgroup", "legendgrouptitle", @@ -38,27 +32,20 @@ class Scattergeo(_BaseTraceType): "line", "locationmode", "locations", - "locationssrc", "lon", - "lonsrc", "marker", "meta", - "metasrc", "mode", "name", "opacity", "selected", "selectedpoints", "showlegend", - "stream", "text", "textfont", "textposition", - "textpositionsrc", - "textsrc", "texttemplate", "texttemplatefallback", - "texttemplatesrc", "type", "uid", "uirevision", @@ -106,25 +93,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def featureidkey(self): """ @@ -240,7 +208,7 @@ def geojson(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -261,25 +229,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -365,25 +314,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -409,25 +339,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -448,24 +359,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def lat(self): """ @@ -484,24 +377,6 @@ def lat(self): def lat(self, val): self["lat"] = val - @property - def latsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `lat`. - - The 'latsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["latsrc"] - - @latsrc.setter - def latsrc(self, val): - self["latsrc"] = val - @property def legend(self): """ @@ -631,16 +506,13 @@ def line(self, val): @property def locationmode(self): """ - The library used by the *country names* `locationmode` option - is changing in an upcoming version. Country names in existing - plots may not work in the new version. Determines the set of - locations used to match entries in `locations` to regions on - the map. Values "ISO-3", "USA-states", *country names* - correspond to features on the base map and value "geojson-id" - corresponds to features from a custom GeoJSON linked to the - `geojson` attribute. "USA-states" accepts both two-letter - abbreviations (e.g. "CA") and full state names (e.g. - "California"). + Determines the set of locations used to match entries in + `locations` to regions on the map. Values "ISO-3", "USA- + states", *country names* correspond to features on the base map + and value "geojson-id" corresponds to features from a custom + GeoJSON linked to the `geojson` attribute. "USA-states" accepts + both two-letter abbreviations (e.g. "CA") and full state names + (e.g. "California"). The 'locationmode' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -676,25 +548,6 @@ def locations(self): def locations(self, val): self["locations"] = val - @property - def locationssrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `locations`. - - The 'locationssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["locationssrc"] - - @locationssrc.setter - def locationssrc(self, val): - self["locationssrc"] = val - @property def lon(self): """ @@ -713,24 +566,6 @@ def lon(self): def lon(self, val): self["lon"] = val - @property - def lonsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `lon`. - - The 'lonsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["lonsrc"] - - @lonsrc.setter - def lonsrc(self, val): - self["lonsrc"] = val - @property def marker(self): """ @@ -776,24 +611,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def mode(self): """ @@ -918,25 +735,6 @@ def showlegend(self): def showlegend(self, val): self["showlegend"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.scattergeo.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.scattergeo.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def text(self): """ @@ -1007,43 +805,6 @@ def textposition(self): def textposition(self, val): self["textposition"] = val - @property - def textpositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `textposition`. - - The 'textpositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textpositionsrc"] - - @textpositionsrc.setter - def textpositionsrc(self, val): - self["textpositionsrc"] = val - - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def texttemplate(self): """ @@ -1100,25 +861,6 @@ def texttemplatefallback(self): def texttemplatefallback(self, val): self["texttemplatefallback"] = val - @property - def texttemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `texttemplate`. - - The 'texttemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["texttemplatesrc"] - - @texttemplatesrc.setter - def texttemplatesrc(self, val): - self["texttemplatesrc"] = val - @property def uid(self): """ @@ -1225,9 +967,6 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. featureidkey Sets the key in GeoJSON features which is used as id to match the items included in the `locations` array. Only @@ -1257,13 +996,10 @@ def _prop_descriptions(self): "Feature" with geometries of type "Polygon" or "MultiPolygon". hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scattergeo.Hoverlabel` instance or dict with compatible properties @@ -1306,9 +1042,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (lon,lat) pair or item in `locations`. If a single string, the @@ -1316,21 +1049,12 @@ def _prop_descriptions(self): array of string, the items are mapped in order to the this trace's (lon,lat) or `locations` coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. lat Sets the latitude coordinates (in degrees North). - latsrc - Sets the source reference on Chart Studio Cloud for - `lat`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1362,29 +1086,20 @@ def _prop_descriptions(self): :class:`plotly.graph_objects.scattergeo.Line` instance or dict with compatible properties locationmode - The library used by the *country names* `locationmode` - option is changing in an upcoming version. Country - names in existing plots may not work in the new - version. Determines the set of locations used to match - entries in `locations` to regions on the map. Values - "ISO-3", "USA-states", *country names* correspond to - features on the base map and value "geojson-id" - corresponds to features from a custom GeoJSON linked to - the `geojson` attribute. "USA-states" accepts both two- - letter abbreviations (e.g. "CA") and full state names - (e.g. "California"). + Determines the set of locations used to match entries + in `locations` to regions on the map. Values "ISO-3", + "USA-states", *country names* correspond to features on + the base map and value "geojson-id" corresponds to + features from a custom GeoJSON linked to the `geojson` + attribute. "USA-states" accepts both two-letter + abbreviations (e.g. "CA") and full state names (e.g. + "California"). locations Sets the coordinates via location IDs or names. Coordinates correspond to the centroid of each location given. See `locationmode` for more info. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. lon Sets the longitude coordinates (in degrees East). - lonsrc - Sets the source reference on Chart Studio Cloud for - `lon`. marker :class:`plotly.graph_objects.scattergeo.Marker` instance or dict with compatible properties @@ -1401,9 +1116,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -1429,9 +1141,6 @@ def _prop_descriptions(self): showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scattergeo.Stream` - instance or dict with compatible properties text Sets text elements associated with each (lon,lat) pair or item in `locations`. If a single string, the same @@ -1446,12 +1155,6 @@ def _prop_descriptions(self): textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1479,9 +1182,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1519,24 +1219,18 @@ def __init__( arg=None, connectgaps=None, customdata=None, - customdatasrc=None, featureidkey=None, fill=None, fillcolor=None, geo=None, geojson=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, lat=None, - latsrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -1545,27 +1239,20 @@ def __init__( line=None, locationmode=None, locations=None, - locationssrc=None, lon=None, - lonsrc=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, text=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, unselected=None, @@ -1593,9 +1280,6 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. featureidkey Sets the key in GeoJSON features which is used as id to match the items included in the `locations` array. Only @@ -1625,13 +1309,10 @@ def __init__( "Feature" with geometries of type "Polygon" or "MultiPolygon". hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scattergeo.Hoverlabel` instance or dict with compatible properties @@ -1674,9 +1355,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (lon,lat) pair or item in `locations`. If a single string, the @@ -1684,21 +1362,12 @@ def __init__( array of string, the items are mapped in order to the this trace's (lon,lat) or `locations` coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. lat Sets the latitude coordinates (in degrees North). - latsrc - Sets the source reference on Chart Studio Cloud for - `lat`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1730,29 +1399,20 @@ def __init__( :class:`plotly.graph_objects.scattergeo.Line` instance or dict with compatible properties locationmode - The library used by the *country names* `locationmode` - option is changing in an upcoming version. Country - names in existing plots may not work in the new - version. Determines the set of locations used to match - entries in `locations` to regions on the map. Values - "ISO-3", "USA-states", *country names* correspond to - features on the base map and value "geojson-id" - corresponds to features from a custom GeoJSON linked to - the `geojson` attribute. "USA-states" accepts both two- - letter abbreviations (e.g. "CA") and full state names - (e.g. "California"). + Determines the set of locations used to match entries + in `locations` to regions on the map. Values "ISO-3", + "USA-states", *country names* correspond to features on + the base map and value "geojson-id" corresponds to + features from a custom GeoJSON linked to the `geojson` + attribute. "USA-states" accepts both two-letter + abbreviations (e.g. "CA") and full state names (e.g. + "California"). locations Sets the coordinates via location IDs or names. Coordinates correspond to the centroid of each location given. See `locationmode` for more info. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. lon Sets the longitude coordinates (in degrees East). - lonsrc - Sets the source reference on Chart Studio Cloud for - `lon`. marker :class:`plotly.graph_objects.scattergeo.Marker` instance or dict with compatible properties @@ -1769,9 +1429,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -1797,9 +1454,6 @@ def __init__( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scattergeo.Stream` - instance or dict with compatible properties text Sets text elements associated with each (lon,lat) pair or item in `locations`. If a single string, the same @@ -1814,12 +1468,6 @@ def __init__( textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1847,9 +1495,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1916,24 +1561,18 @@ def __init__( self._set_property("connectgaps", arg, connectgaps) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("featureidkey", arg, featureidkey) self._set_property("fill", arg, fill) self._set_property("fillcolor", arg, fillcolor) self._set_property("geo", arg, geo) self._set_property("geojson", arg, geojson) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("lat", arg, lat) - self._set_property("latsrc", arg, latsrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) @@ -1942,27 +1581,20 @@ def __init__( self._set_property("line", arg, line) self._set_property("locationmode", arg, locationmode) self._set_property("locations", arg, locations) - self._set_property("locationssrc", arg, locationssrc) self._set_property("lon", arg, lon) - self._set_property("lonsrc", arg, lonsrc) self._set_property("marker", arg, marker) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("mode", arg, mode) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("selected", arg, selected) self._set_property("selectedpoints", arg, selectedpoints) self._set_property("showlegend", arg, showlegend) - self._set_property("stream", arg, stream) self._set_property("text", arg, text) self._set_property("textfont", arg, textfont) self._set_property("textposition", arg, textposition) - self._set_property("textpositionsrc", arg, textpositionsrc) - self._set_property("textsrc", arg, textsrc) self._set_property("texttemplate", arg, texttemplate) self._set_property("texttemplatefallback", arg, texttemplatefallback) - self._set_property("texttemplatesrc", arg, texttemplatesrc) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("unselected", arg, unselected) diff --git a/plotly/graph_objs/_scattergl.py b/plotly/graph_objs/_scattergl.py index e2054bc71ca..7811c1cd0bd 100644 --- a/plotly/graph_objs/_scattergl.py +++ b/plotly/graph_objs/_scattergl.py @@ -11,7 +11,6 @@ class Scattergl(_BaseTraceType): _valid_props = { "connectgaps", "customdata", - "customdatasrc", "dx", "dy", "error_x", @@ -19,15 +18,11 @@ class Scattergl(_BaseTraceType): "fill", "fillcolor", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "legend", "legendgroup", "legendgrouptitle", @@ -36,22 +31,17 @@ class Scattergl(_BaseTraceType): "line", "marker", "meta", - "metasrc", "mode", "name", "opacity", "selected", "selectedpoints", "showlegend", - "stream", "text", "textfont", "textposition", - "textpositionsrc", - "textsrc", "texttemplate", "texttemplatefallback", - "texttemplatesrc", "type", "uid", "uirevision", @@ -65,7 +55,6 @@ class Scattergl(_BaseTraceType): "xperiod", "xperiod0", "xperiodalignment", - "xsrc", "y", "y0", "yaxis", @@ -74,7 +63,6 @@ class Scattergl(_BaseTraceType): "yperiod", "yperiod0", "yperiodalignment", - "ysrc", } @property @@ -117,25 +105,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def dx(self): """ @@ -275,7 +244,7 @@ def fillcolor(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -296,25 +265,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -400,25 +350,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -443,25 +374,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -482,24 +394,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def legend(self): """ @@ -671,24 +565,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def mode(self): """ @@ -808,25 +684,6 @@ def showlegend(self): def showlegend(self, val): self["showlegend"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.scattergl.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.scattergl.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def text(self): """ @@ -896,43 +753,6 @@ def textposition(self): def textposition(self, val): self["textposition"] = val - @property - def textpositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `textposition`. - - The 'textpositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textpositionsrc"] - - @textpositionsrc.setter - def textpositionsrc(self, val): - self["textpositionsrc"] = val - - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def texttemplate(self): """ @@ -988,25 +808,6 @@ def texttemplatefallback(self): def texttemplatefallback(self, val): self["texttemplatefallback"] = val - @property - def texttemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `texttemplate`. - - The 'texttemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["texttemplatesrc"] - - @texttemplatesrc.setter - def texttemplatesrc(self, val): - self["texttemplatesrc"] = val - @property def uid(self): """ @@ -1183,7 +984,7 @@ def xcalendar(self, val): @property def xhoverformat(self): """ - Sets the hover text formatting rulefor `x` using d3 formatting + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1270,24 +1071,6 @@ def xperiodalignment(self): def xperiodalignment(self, val): self["xperiodalignment"] = val - @property - def xsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `x`. - - The 'xsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xsrc"] - - @xsrc.setter - def xsrc(self, val): - self["xsrc"] = val - @property def y(self): """ @@ -1373,7 +1156,7 @@ def ycalendar(self, val): @property def yhoverformat(self): """ - Sets the hover text formatting rulefor `y` using d3 formatting + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1460,24 +1243,6 @@ def yperiodalignment(self): def yperiodalignment(self, val): self["yperiodalignment"] = val - @property - def ysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `y`. - - The 'ysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ysrc"] - - @ysrc.setter - def ysrc(self, val): - self["ysrc"] = val - @property def type(self): return self._props["type"] @@ -1493,9 +1258,6 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dx Sets the x coordinate step. See `x0` for more info. dy @@ -1534,13 +1296,10 @@ def _prop_descriptions(self): variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scattergl.Hoverlabel` instance or dict with compatible properties @@ -1583,9 +1342,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over @@ -1593,16 +1349,10 @@ def _prop_descriptions(self): are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1649,9 +1399,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. name @@ -1672,9 +1419,6 @@ def _prop_descriptions(self): showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scattergl.Stream` instance - or dict with compatible properties text Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the @@ -1688,12 +1432,6 @@ def _prop_descriptions(self): textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1720,9 +1458,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1767,7 +1502,7 @@ def _prop_descriptions(self): xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1795,9 +1530,6 @@ def _prop_descriptions(self): xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates. y0 @@ -1812,7 +1544,7 @@ def _prop_descriptions(self): ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1840,9 +1572,6 @@ def _prop_descriptions(self): yperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. """ def __init__( @@ -1850,7 +1579,6 @@ def __init__( arg=None, connectgaps=None, customdata=None, - customdatasrc=None, dx=None, dy=None, error_x=None, @@ -1858,15 +1586,11 @@ def __init__( fill=None, fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -1875,22 +1599,17 @@ def __init__( line=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, text=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, unselected=None, @@ -1903,7 +1622,6 @@ def __init__( xperiod=None, xperiod0=None, xperiodalignment=None, - xsrc=None, y=None, y0=None, yaxis=None, @@ -1912,7 +1630,6 @@ def __init__( yperiod=None, yperiod0=None, yperiodalignment=None, - ysrc=None, **kwargs, ): """ @@ -1936,9 +1653,6 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dx Sets the x coordinate step. See `x0` for more info. dy @@ -1977,13 +1691,10 @@ def __init__( variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scattergl.Hoverlabel` instance or dict with compatible properties @@ -2026,9 +1737,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over @@ -2036,16 +1744,10 @@ def __init__( are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -2092,9 +1794,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. name @@ -2115,9 +1814,6 @@ def __init__( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scattergl.Stream` instance - or dict with compatible properties text Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the @@ -2131,12 +1827,6 @@ def __init__( textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -2163,9 +1853,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -2210,7 +1897,7 @@ def __init__( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2238,9 +1925,6 @@ def __init__( xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates. y0 @@ -2255,7 +1939,7 @@ def __init__( ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2283,9 +1967,6 @@ def __init__( yperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. Returns ------- @@ -2313,7 +1994,6 @@ def __init__( self._set_property("connectgaps", arg, connectgaps) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("dx", arg, dx) self._set_property("dy", arg, dy) self._set_property("error_x", arg, error_x) @@ -2321,15 +2001,11 @@ def __init__( self._set_property("fill", arg, fill) self._set_property("fillcolor", arg, fillcolor) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) @@ -2338,22 +2014,17 @@ def __init__( self._set_property("line", arg, line) self._set_property("marker", arg, marker) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("mode", arg, mode) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("selected", arg, selected) self._set_property("selectedpoints", arg, selectedpoints) self._set_property("showlegend", arg, showlegend) - self._set_property("stream", arg, stream) self._set_property("text", arg, text) self._set_property("textfont", arg, textfont) self._set_property("textposition", arg, textposition) - self._set_property("textpositionsrc", arg, textpositionsrc) - self._set_property("textsrc", arg, textsrc) self._set_property("texttemplate", arg, texttemplate) self._set_property("texttemplatefallback", arg, texttemplatefallback) - self._set_property("texttemplatesrc", arg, texttemplatesrc) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("unselected", arg, unselected) @@ -2366,7 +2037,6 @@ def __init__( self._set_property("xperiod", arg, xperiod) self._set_property("xperiod0", arg, xperiod0) self._set_property("xperiodalignment", arg, xperiodalignment) - self._set_property("xsrc", arg, xsrc) self._set_property("y", arg, y) self._set_property("y0", arg, y0) self._set_property("yaxis", arg, yaxis) @@ -2375,7 +2045,6 @@ def __init__( self._set_property("yperiod", arg, yperiod) self._set_property("yperiod0", arg, yperiod0) self._set_property("yperiodalignment", arg, yperiodalignment) - self._set_property("ysrc", arg, ysrc) self._props["type"] = "scattergl" arg.pop("type", None) diff --git a/plotly/graph_objs/_scattermap.py b/plotly/graph_objs/_scattermap.py index 9d55304baca..2628d415135 100644 --- a/plotly/graph_objs/_scattermap.py +++ b/plotly/graph_objs/_scattermap.py @@ -13,21 +13,15 @@ class Scattermap(_BaseTraceType): "cluster", "connectgaps", "customdata", - "customdatasrc", "fill", "fillcolor", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "lat", - "latsrc", "legend", "legendgroup", "legendgrouptitle", @@ -35,25 +29,20 @@ class Scattermap(_BaseTraceType): "legendwidth", "line", "lon", - "lonsrc", "marker", "meta", - "metasrc", "mode", "name", "opacity", "selected", "selectedpoints", "showlegend", - "stream", "subplot", "text", "textfont", "textposition", - "textsrc", "texttemplate", "texttemplatefallback", - "texttemplatesrc", "type", "uid", "uirevision", @@ -142,25 +131,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def fill(self): """ @@ -209,7 +179,7 @@ def fillcolor(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -230,25 +200,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -334,25 +285,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -377,25 +309,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -416,24 +329,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def lat(self): """ @@ -452,24 +347,6 @@ def lat(self): def lat(self, val): self["lat"] = val - @property - def latsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `lat`. - - The 'latsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["latsrc"] - - @latsrc.setter - def latsrc(self, val): - self["latsrc"] = val - @property def legend(self): """ @@ -614,24 +491,6 @@ def lon(self): def lon(self, val): self["lon"] = val - @property - def lonsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `lon`. - - The 'lonsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["lonsrc"] - - @lonsrc.setter - def lonsrc(self, val): - self["lonsrc"] = val - @property def marker(self): """ @@ -677,24 +536,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def mode(self): """ @@ -817,25 +658,6 @@ def showlegend(self): def showlegend(self, val): self["showlegend"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.scattermap.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.scattermap.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def subplot(self): """ @@ -929,24 +751,6 @@ def textposition(self): def textposition(self, val): self["textposition"] = val - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def texttemplate(self): """ @@ -1003,25 +807,6 @@ def texttemplatefallback(self): def texttemplatefallback(self, val): self["texttemplatefallback"] = val - @property - def texttemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `texttemplate`. - - The 'texttemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["texttemplatesrc"] - - @texttemplatesrc.setter - def texttemplatesrc(self, val): - self["texttemplatesrc"] = val - @property def uid(self): """ @@ -1137,9 +922,6 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. fill Sets the area to fill with a solid color. Use with `fillcolor` if not "none". "toself" connects the @@ -1150,13 +932,10 @@ def _prop_descriptions(self): variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scattermap.Hoverlabel` instance or dict with compatible properties @@ -1199,9 +978,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (lon,lat) pair If a single string, the same string appears over @@ -1209,21 +985,12 @@ def _prop_descriptions(self): are mapped in order to the this trace's (lon,lat) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. lat Sets the latitude coordinates (in degrees North). - latsrc - Sets the source reference on Chart Studio Cloud for - `lat`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1256,9 +1023,6 @@ def _prop_descriptions(self): or dict with compatible properties lon Sets the longitude coordinates (in degrees East). - lonsrc - Sets the source reference on Chart Studio Cloud for - `lon`. marker :class:`plotly.graph_objects.scattermap.Marker` instance or dict with compatible properties @@ -1275,9 +1039,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -1301,9 +1062,6 @@ def _prop_descriptions(self): showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scattermap.Stream` - instance or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a map subplot. If "map" (the default value), the @@ -1324,9 +1082,6 @@ def _prop_descriptions(self): textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1354,9 +1109,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1396,21 +1148,15 @@ def __init__( cluster=None, connectgaps=None, customdata=None, - customdatasrc=None, fill=None, fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, lat=None, - latsrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -1418,25 +1164,20 @@ def __init__( legendwidth=None, line=None, lon=None, - lonsrc=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, subplot=None, text=None, textfont=None, textposition=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, unselected=None, @@ -1472,9 +1213,6 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. fill Sets the area to fill with a solid color. Use with `fillcolor` if not "none". "toself" connects the @@ -1485,13 +1223,10 @@ def __init__( variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scattermap.Hoverlabel` instance or dict with compatible properties @@ -1534,9 +1269,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (lon,lat) pair If a single string, the same string appears over @@ -1544,21 +1276,12 @@ def __init__( are mapped in order to the this trace's (lon,lat) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. lat Sets the latitude coordinates (in degrees North). - latsrc - Sets the source reference on Chart Studio Cloud for - `lat`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1591,9 +1314,6 @@ def __init__( or dict with compatible properties lon Sets the longitude coordinates (in degrees East). - lonsrc - Sets the source reference on Chart Studio Cloud for - `lon`. marker :class:`plotly.graph_objects.scattermap.Marker` instance or dict with compatible properties @@ -1610,9 +1330,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -1636,9 +1353,6 @@ def __init__( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scattermap.Stream` - instance or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a map subplot. If "map" (the default value), the @@ -1659,9 +1373,6 @@ def __init__( textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1689,9 +1400,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1751,21 +1459,15 @@ def __init__( self._set_property("cluster", arg, cluster) self._set_property("connectgaps", arg, connectgaps) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("fill", arg, fill) self._set_property("fillcolor", arg, fillcolor) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("lat", arg, lat) - self._set_property("latsrc", arg, latsrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) @@ -1773,25 +1475,20 @@ def __init__( self._set_property("legendwidth", arg, legendwidth) self._set_property("line", arg, line) self._set_property("lon", arg, lon) - self._set_property("lonsrc", arg, lonsrc) self._set_property("marker", arg, marker) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("mode", arg, mode) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("selected", arg, selected) self._set_property("selectedpoints", arg, selectedpoints) self._set_property("showlegend", arg, showlegend) - self._set_property("stream", arg, stream) self._set_property("subplot", arg, subplot) self._set_property("text", arg, text) self._set_property("textfont", arg, textfont) self._set_property("textposition", arg, textposition) - self._set_property("textsrc", arg, textsrc) self._set_property("texttemplate", arg, texttemplate) self._set_property("texttemplatefallback", arg, texttemplatefallback) - self._set_property("texttemplatesrc", arg, texttemplatesrc) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("unselected", arg, unselected) diff --git a/plotly/graph_objs/_scatterpolar.py b/plotly/graph_objs/_scatterpolar.py index f982f739659..7848c06f398 100644 --- a/plotly/graph_objs/_scatterpolar.py +++ b/plotly/graph_objs/_scatterpolar.py @@ -12,22 +12,17 @@ class Scatterpolar(_BaseTraceType): "cliponaxis", "connectgaps", "customdata", - "customdatasrc", "dr", "dtheta", "fill", "fillcolor", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hoveron", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "legend", "legendgroup", "legendgrouptitle", @@ -36,29 +31,22 @@ class Scatterpolar(_BaseTraceType): "line", "marker", "meta", - "metasrc", "mode", "name", "opacity", "r", "r0", - "rsrc", "selected", "selectedpoints", "showlegend", - "stream", "subplot", "text", "textfont", "textposition", - "textpositionsrc", - "textsrc", "texttemplate", "texttemplatefallback", - "texttemplatesrc", "theta", "theta0", - "thetasrc", "thetaunit", "type", "uid", @@ -128,25 +116,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def dr(self): """ @@ -239,7 +208,7 @@ def fillcolor(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -260,25 +229,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -387,25 +337,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -430,25 +361,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -469,24 +381,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def legend(self): """ @@ -658,24 +552,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def mode(self): """ @@ -777,24 +653,6 @@ def r0(self): def r0(self, val): self["r0"] = val - @property - def rsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `r`. - - The 'rsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["rsrc"] - - @rsrc.setter - def rsrc(self, val): - self["rsrc"] = val - @property def selected(self): """ @@ -855,25 +713,6 @@ def showlegend(self): def showlegend(self, val): self["showlegend"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.scatterpolar.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.scatterpolar.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def subplot(self): """ @@ -966,43 +805,6 @@ def textposition(self): def textposition(self, val): self["textposition"] = val - @property - def textpositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `textposition`. - - The 'textpositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textpositionsrc"] - - @textpositionsrc.setter - def textpositionsrc(self, val): - self["textpositionsrc"] = val - - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def texttemplate(self): """ @@ -1059,25 +861,6 @@ def texttemplatefallback(self): def texttemplatefallback(self, val): self["texttemplatefallback"] = val - @property - def texttemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `texttemplate`. - - The 'texttemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["texttemplatesrc"] - - @texttemplatesrc.setter - def texttemplatesrc(self, val): - self["texttemplatesrc"] = val - @property def theta(self): """ @@ -1115,24 +898,6 @@ def theta0(self): def theta0(self, val): self["theta0"] = val - @property - def thetasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `theta`. - - The 'thetasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["thetasrc"] - - @thetasrc.setter - def thetasrc(self, val): - self["thetasrc"] = val - @property def thetaunit(self): """ @@ -1265,9 +1030,6 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dr Sets the r coordinate step. dtheta @@ -1290,13 +1052,10 @@ def _prop_descriptions(self): variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scatterpolar.Hoverlabel` instance or dict with compatible properties @@ -1345,9 +1104,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over @@ -1355,16 +1111,10 @@ def _prop_descriptions(self): are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1411,9 +1161,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -1432,9 +1179,6 @@ def _prop_descriptions(self): Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step. - rsrc - Sets the source reference on Chart Studio Cloud for - `r`. selected :class:`plotly.graph_objects.scatterpolar.Selected` instance or dict with compatible properties @@ -1448,9 +1192,6 @@ def _prop_descriptions(self): showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scatterpolar.Stream` - instance or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a polar subplot. If "polar" (the default value), @@ -1469,12 +1210,6 @@ def _prop_descriptions(self): textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1502,18 +1237,12 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. theta Sets the angular coordinates theta0 Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step. - thetasrc - Sets the source reference on Chart Studio Cloud for - `theta`. thetaunit Sets the unit of input "theta" values. Has an effect only when on "linear" angular axes. @@ -1555,22 +1284,17 @@ def __init__( cliponaxis=None, connectgaps=None, customdata=None, - customdatasrc=None, dr=None, dtheta=None, fill=None, fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hoveron=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -1579,29 +1303,22 @@ def __init__( line=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, r=None, r0=None, - rsrc=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, subplot=None, text=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, theta=None, theta0=None, - thetasrc=None, thetaunit=None, uid=None, uirevision=None, @@ -1639,9 +1356,6 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dr Sets the r coordinate step. dtheta @@ -1664,13 +1378,10 @@ def __init__( variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scatterpolar.Hoverlabel` instance or dict with compatible properties @@ -1719,9 +1430,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over @@ -1729,16 +1437,10 @@ def __init__( are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1785,9 +1487,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -1806,9 +1505,6 @@ def __init__( Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step. - rsrc - Sets the source reference on Chart Studio Cloud for - `r`. selected :class:`plotly.graph_objects.scatterpolar.Selected` instance or dict with compatible properties @@ -1822,9 +1518,6 @@ def __init__( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scatterpolar.Stream` - instance or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a polar subplot. If "polar" (the default value), @@ -1843,12 +1536,6 @@ def __init__( textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1876,18 +1563,12 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. theta Sets the angular coordinates theta0 Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step. - thetasrc - Sets the source reference on Chart Studio Cloud for - `theta`. thetaunit Sets the unit of input "theta" values. Has an effect only when on "linear" angular axes. @@ -1949,22 +1630,17 @@ def __init__( self._set_property("cliponaxis", arg, cliponaxis) self._set_property("connectgaps", arg, connectgaps) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("dr", arg, dr) self._set_property("dtheta", arg, dtheta) self._set_property("fill", arg, fill) self._set_property("fillcolor", arg, fillcolor) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hoveron", arg, hoveron) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) @@ -1973,29 +1649,22 @@ def __init__( self._set_property("line", arg, line) self._set_property("marker", arg, marker) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("mode", arg, mode) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("r", arg, r) self._set_property("r0", arg, r0) - self._set_property("rsrc", arg, rsrc) self._set_property("selected", arg, selected) self._set_property("selectedpoints", arg, selectedpoints) self._set_property("showlegend", arg, showlegend) - self._set_property("stream", arg, stream) self._set_property("subplot", arg, subplot) self._set_property("text", arg, text) self._set_property("textfont", arg, textfont) self._set_property("textposition", arg, textposition) - self._set_property("textpositionsrc", arg, textpositionsrc) - self._set_property("textsrc", arg, textsrc) self._set_property("texttemplate", arg, texttemplate) self._set_property("texttemplatefallback", arg, texttemplatefallback) - self._set_property("texttemplatesrc", arg, texttemplatesrc) self._set_property("theta", arg, theta) self._set_property("theta0", arg, theta0) - self._set_property("thetasrc", arg, thetasrc) self._set_property("thetaunit", arg, thetaunit) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) diff --git a/plotly/graph_objs/_scatterpolargl.py b/plotly/graph_objs/_scatterpolargl.py index 0205d08dbcf..8c620ca3a0c 100644 --- a/plotly/graph_objs/_scatterpolargl.py +++ b/plotly/graph_objs/_scatterpolargl.py @@ -11,21 +11,16 @@ class Scatterpolargl(_BaseTraceType): _valid_props = { "connectgaps", "customdata", - "customdatasrc", "dr", "dtheta", "fill", "fillcolor", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "legend", "legendgroup", "legendgrouptitle", @@ -34,29 +29,22 @@ class Scatterpolargl(_BaseTraceType): "line", "marker", "meta", - "metasrc", "mode", "name", "opacity", "r", "r0", - "rsrc", "selected", "selectedpoints", "showlegend", - "stream", "subplot", "text", "textfont", "textposition", - "textpositionsrc", - "textsrc", "texttemplate", "texttemplatefallback", - "texttemplatesrc", "theta", "theta0", - "thetasrc", "thetaunit", "type", "uid", @@ -105,25 +93,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def dr(self): """ @@ -227,7 +196,7 @@ def fillcolor(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -248,25 +217,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -352,25 +302,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -395,25 +326,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -434,24 +346,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def legend(self): """ @@ -623,24 +517,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def mode(self): """ @@ -742,24 +618,6 @@ def r0(self): def r0(self, val): self["r0"] = val - @property - def rsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `r`. - - The 'rsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["rsrc"] - - @rsrc.setter - def rsrc(self, val): - self["rsrc"] = val - @property def selected(self): """ @@ -820,25 +678,6 @@ def showlegend(self): def showlegend(self, val): self["showlegend"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.scatterpolargl.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.scatterpolargl.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def subplot(self): """ @@ -931,43 +770,6 @@ def textposition(self): def textposition(self, val): self["textposition"] = val - @property - def textpositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `textposition`. - - The 'textpositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textpositionsrc"] - - @textpositionsrc.setter - def textpositionsrc(self, val): - self["textpositionsrc"] = val - - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def texttemplate(self): """ @@ -1024,25 +826,6 @@ def texttemplatefallback(self): def texttemplatefallback(self, val): self["texttemplatefallback"] = val - @property - def texttemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `texttemplate`. - - The 'texttemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["texttemplatesrc"] - - @texttemplatesrc.setter - def texttemplatesrc(self, val): - self["texttemplatesrc"] = val - @property def theta(self): """ @@ -1080,24 +863,6 @@ def theta0(self): def theta0(self, val): self["theta0"] = val - @property - def thetasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `theta`. - - The 'thetasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["thetasrc"] - - @thetasrc.setter - def thetasrc(self, val): - self["thetasrc"] = val - @property def thetaunit(self): """ @@ -1224,9 +989,6 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dr Sets the r coordinate step. dtheta @@ -1261,13 +1023,10 @@ def _prop_descriptions(self): variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scatterpolargl.Hoverlabel` instance or dict with compatible properties @@ -1310,9 +1069,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over @@ -1320,16 +1076,10 @@ def _prop_descriptions(self): are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1376,9 +1126,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -1397,9 +1144,6 @@ def _prop_descriptions(self): Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step. - rsrc - Sets the source reference on Chart Studio Cloud for - `r`. selected :class:`plotly.graph_objects.scatterpolargl.Selected` instance or dict with compatible properties @@ -1413,9 +1157,6 @@ def _prop_descriptions(self): showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scatterpolargl.Stream` - instance or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a polar subplot. If "polar" (the default value), @@ -1434,12 +1175,6 @@ def _prop_descriptions(self): textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1467,18 +1202,12 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. theta Sets the angular coordinates theta0 Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step. - thetasrc - Sets the source reference on Chart Studio Cloud for - `theta`. thetaunit Sets the unit of input "theta" values. Has an effect only when on "linear" angular axes. @@ -1519,21 +1248,16 @@ def __init__( arg=None, connectgaps=None, customdata=None, - customdatasrc=None, dr=None, dtheta=None, fill=None, fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -1542,29 +1266,22 @@ def __init__( line=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, r=None, r0=None, - rsrc=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, subplot=None, text=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, theta=None, theta0=None, - thetasrc=None, thetaunit=None, uid=None, uirevision=None, @@ -1596,9 +1313,6 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. dr Sets the r coordinate step. dtheta @@ -1633,13 +1347,10 @@ def __init__( variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scatterpolargl.Hoverlabel` instance or dict with compatible properties @@ -1682,9 +1393,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over @@ -1692,16 +1400,10 @@ def __init__( are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1748,9 +1450,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -1769,9 +1468,6 @@ def __init__( Alternate to `r`. Builds a linear space of r coordinates. Use with `dr` where `r0` is the starting coordinate and `dr` the step. - rsrc - Sets the source reference on Chart Studio Cloud for - `r`. selected :class:`plotly.graph_objects.scatterpolargl.Selected` instance or dict with compatible properties @@ -1785,9 +1481,6 @@ def __init__( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scatterpolargl.Stream` - instance or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a polar subplot. If "polar" (the default value), @@ -1806,12 +1499,6 @@ def __init__( textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1839,18 +1526,12 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. theta Sets the angular coordinates theta0 Alternate to `theta`. Builds a linear space of theta coordinates. Use with `dtheta` where `theta0` is the starting coordinate and `dtheta` the step. - thetasrc - Sets the source reference on Chart Studio Cloud for - `theta`. thetaunit Sets the unit of input "theta" values. Has an effect only when on "linear" angular axes. @@ -1911,21 +1592,16 @@ def __init__( self._set_property("connectgaps", arg, connectgaps) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("dr", arg, dr) self._set_property("dtheta", arg, dtheta) self._set_property("fill", arg, fill) self._set_property("fillcolor", arg, fillcolor) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) @@ -1934,29 +1610,22 @@ def __init__( self._set_property("line", arg, line) self._set_property("marker", arg, marker) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("mode", arg, mode) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("r", arg, r) self._set_property("r0", arg, r0) - self._set_property("rsrc", arg, rsrc) self._set_property("selected", arg, selected) self._set_property("selectedpoints", arg, selectedpoints) self._set_property("showlegend", arg, showlegend) - self._set_property("stream", arg, stream) self._set_property("subplot", arg, subplot) self._set_property("text", arg, text) self._set_property("textfont", arg, textfont) self._set_property("textposition", arg, textposition) - self._set_property("textpositionsrc", arg, textpositionsrc) - self._set_property("textsrc", arg, textsrc) self._set_property("texttemplate", arg, texttemplate) self._set_property("texttemplatefallback", arg, texttemplatefallback) - self._set_property("texttemplatesrc", arg, texttemplatesrc) self._set_property("theta", arg, theta) self._set_property("theta0", arg, theta0) - self._set_property("thetasrc", arg, thetasrc) self._set_property("thetaunit", arg, thetaunit) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) diff --git a/plotly/graph_objs/_scattersmith.py b/plotly/graph_objs/_scattersmith.py index 7d9fa8e76a1..ca7861a1bc4 100644 --- a/plotly/graph_objs/_scattersmith.py +++ b/plotly/graph_objs/_scattersmith.py @@ -12,22 +12,16 @@ class Scattersmith(_BaseTraceType): "cliponaxis", "connectgaps", "customdata", - "customdatasrc", "fill", "fillcolor", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hoveron", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "imag", - "imagsrc", "legend", "legendgroup", "legendgrouptitle", @@ -36,25 +30,19 @@ class Scattersmith(_BaseTraceType): "line", "marker", "meta", - "metasrc", "mode", "name", "opacity", "real", - "realsrc", "selected", "selectedpoints", "showlegend", - "stream", "subplot", "text", "textfont", "textposition", - "textpositionsrc", - "textsrc", "texttemplate", "texttemplatefallback", - "texttemplatesrc", "type", "uid", "uirevision", @@ -123,25 +111,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def fill(self): """ @@ -196,7 +165,7 @@ def fillcolor(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -217,25 +186,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -344,25 +294,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -387,25 +318,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -426,24 +338,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def imag(self): """ @@ -464,24 +358,6 @@ def imag(self): def imag(self, val): self["imag"] = val - @property - def imagsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `imag`. - - The 'imagsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["imagsrc"] - - @imagsrc.setter - def imagsrc(self, val): - self["imagsrc"] = val - @property def legend(self): """ @@ -653,24 +529,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def mode(self): """ @@ -754,24 +612,6 @@ def real(self): def real(self, val): self["real"] = val - @property - def realsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `real`. - - The 'realsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["realsrc"] - - @realsrc.setter - def realsrc(self, val): - self["realsrc"] = val - @property def selected(self): """ @@ -832,25 +672,6 @@ def showlegend(self): def showlegend(self, val): self["showlegend"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.scattersmith.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.scattersmith.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def subplot(self): """ @@ -943,43 +764,6 @@ def textposition(self): def textposition(self, val): self["textposition"] = val - @property - def textpositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `textposition`. - - The 'textpositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textpositionsrc"] - - @textpositionsrc.setter - def textpositionsrc(self, val): - self["textpositionsrc"] = val - - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def texttemplate(self): """ @@ -1036,25 +820,6 @@ def texttemplatefallback(self): def texttemplatefallback(self, val): self["texttemplatefallback"] = val - @property - def texttemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `texttemplate`. - - The 'texttemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["texttemplatesrc"] - - @texttemplatesrc.setter - def texttemplatesrc(self, val): - self["texttemplatesrc"] = val - @property def uid(self): """ @@ -1167,9 +932,6 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. fill Sets the area to fill with a solid color. Use with `fillcolor` if not "none". scattersmith has a subset of @@ -1186,13 +948,10 @@ def _prop_descriptions(self): variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scattersmith.Hoverlabel` instance or dict with compatible properties @@ -1241,9 +1000,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over @@ -1251,23 +1007,14 @@ def _prop_descriptions(self): are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. imag Sets the imaginary component of the data, in units of normalized impedance such that real=1, imag=0 is the center of the chart. - imagsrc - Sets the source reference on Chart Studio Cloud for - `imag`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1314,9 +1061,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -1333,9 +1077,6 @@ def _prop_descriptions(self): Sets the real component of the data, in units of normalized impedance such that real=1, imag=0 is the center of the chart. - realsrc - Sets the source reference on Chart Studio Cloud for - `real`. selected :class:`plotly.graph_objects.scattersmith.Selected` instance or dict with compatible properties @@ -1349,9 +1090,6 @@ def _prop_descriptions(self): showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scattersmith.Stream` - instance or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a smith subplot. If "smith" (the default value), @@ -1370,12 +1108,6 @@ def _prop_descriptions(self): textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1403,9 +1135,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1444,22 +1173,16 @@ def __init__( cliponaxis=None, connectgaps=None, customdata=None, - customdatasrc=None, fill=None, fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hoveron=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, imag=None, - imagsrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -1468,25 +1191,19 @@ def __init__( line=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, real=None, - realsrc=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, subplot=None, text=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, unselected=None, @@ -1523,9 +1240,6 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. fill Sets the area to fill with a solid color. Use with `fillcolor` if not "none". scattersmith has a subset of @@ -1542,13 +1256,10 @@ def __init__( variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scattersmith.Hoverlabel` instance or dict with compatible properties @@ -1597,9 +1308,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over @@ -1607,23 +1315,14 @@ def __init__( are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. imag Sets the imaginary component of the data, in units of normalized impedance such that real=1, imag=0 is the center of the chart. - imagsrc - Sets the source reference on Chart Studio Cloud for - `imag`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1670,9 +1369,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -1689,9 +1385,6 @@ def __init__( Sets the real component of the data, in units of normalized impedance such that real=1, imag=0 is the center of the chart. - realsrc - Sets the source reference on Chart Studio Cloud for - `real`. selected :class:`plotly.graph_objects.scattersmith.Selected` instance or dict with compatible properties @@ -1705,9 +1398,6 @@ def __init__( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scattersmith.Stream` - instance or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a smith subplot. If "smith" (the default value), @@ -1726,12 +1416,6 @@ def __init__( textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1759,9 +1443,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1820,22 +1501,16 @@ def __init__( self._set_property("cliponaxis", arg, cliponaxis) self._set_property("connectgaps", arg, connectgaps) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("fill", arg, fill) self._set_property("fillcolor", arg, fillcolor) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hoveron", arg, hoveron) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("imag", arg, imag) - self._set_property("imagsrc", arg, imagsrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) @@ -1844,25 +1519,19 @@ def __init__( self._set_property("line", arg, line) self._set_property("marker", arg, marker) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("mode", arg, mode) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("real", arg, real) - self._set_property("realsrc", arg, realsrc) self._set_property("selected", arg, selected) self._set_property("selectedpoints", arg, selectedpoints) self._set_property("showlegend", arg, showlegend) - self._set_property("stream", arg, stream) self._set_property("subplot", arg, subplot) self._set_property("text", arg, text) self._set_property("textfont", arg, textfont) self._set_property("textposition", arg, textposition) - self._set_property("textpositionsrc", arg, textpositionsrc) - self._set_property("textsrc", arg, textsrc) self._set_property("texttemplate", arg, texttemplate) self._set_property("texttemplatefallback", arg, texttemplatefallback) - self._set_property("texttemplatesrc", arg, texttemplatesrc) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("unselected", arg, unselected) diff --git a/plotly/graph_objs/_scatterternary.py b/plotly/graph_objs/_scatterternary.py index 2e80db08384..4bc80e35bd2 100644 --- a/plotly/graph_objs/_scatterternary.py +++ b/plotly/graph_objs/_scatterternary.py @@ -10,28 +10,20 @@ class Scatterternary(_BaseTraceType): _path_str = "scatterternary" _valid_props = { "a", - "asrc", "b", - "bsrc", "c", "cliponaxis", "connectgaps", - "csrc", "customdata", - "customdatasrc", "fill", "fillcolor", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hoveron", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "legend", "legendgroup", "legendgrouptitle", @@ -40,24 +32,19 @@ class Scatterternary(_BaseTraceType): "line", "marker", "meta", - "metasrc", "mode", "name", "opacity", "selected", "selectedpoints", "showlegend", - "stream", "subplot", "sum", "text", "textfont", "textposition", - "textpositionsrc", - "textsrc", "texttemplate", "texttemplatefallback", - "texttemplatesrc", "type", "uid", "uirevision", @@ -86,24 +73,6 @@ def a(self): def a(self, val): self["a"] = val - @property - def asrc(self): - """ - Sets the source reference on Chart Studio Cloud for `a`. - - The 'asrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["asrc"] - - @asrc.setter - def asrc(self, val): - self["asrc"] = val - @property def b(self): """ @@ -125,24 +94,6 @@ def b(self): def b(self, val): self["b"] = val - @property - def bsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `b`. - - The 'bsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bsrc"] - - @bsrc.setter - def bsrc(self, val): - self["bsrc"] = val - @property def c(self): """ @@ -204,24 +155,6 @@ def connectgaps(self): def connectgaps(self, val): self["connectgaps"] = val - @property - def csrc(self): - """ - Sets the source reference on Chart Studio Cloud for `c`. - - The 'csrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["csrc"] - - @csrc.setter - def csrc(self, val): - self["csrc"] = val - @property def customdata(self): """ @@ -243,25 +176,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def fill(self): """ @@ -316,7 +230,7 @@ def fillcolor(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -337,25 +251,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -464,33 +359,14 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ Sets hover text elements associated with each (a,b,c) point. If a single string, the same string appears over all the data points. If an array of strings, the items are mapped in order - to the the data points in (a,b,c). To be seen, trace - `hoverinfo` must contain a "text" flag. + to the data points in (a,b,c). To be seen, trace `hoverinfo` + must contain a "text" flag. The 'hovertext' property is a string and must be specified as: - A string @@ -507,25 +383,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -546,24 +403,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def legend(self): """ @@ -735,24 +574,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def mode(self): """ @@ -877,25 +698,6 @@ def showlegend(self): def showlegend(self, val): self["showlegend"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.scatterternary.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.scatterternary.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def subplot(self): """ @@ -947,9 +749,9 @@ def text(self): Sets text elements associated with each (a,b,c) point. If a single string, the same string appears over all the data points. If an array of strings, the items are mapped in order - to the the data points in (a,b,c). If trace `hoverinfo` - contains a "text" flag and "hovertext" is not set, these - elements will be seen in the hover labels. + to the data points in (a,b,c). If trace `hoverinfo` contains a + "text" flag and "hovertext" is not set, these elements will be + seen in the hover labels. The 'text' property is a string and must be specified as: - A string @@ -1010,43 +812,6 @@ def textposition(self): def textposition(self, val): self["textposition"] = val - @property - def textpositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `textposition`. - - The 'textpositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textpositionsrc"] - - @textpositionsrc.setter - def textpositionsrc(self, val): - self["textpositionsrc"] = val - - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def texttemplate(self): """ @@ -1103,25 +868,6 @@ def texttemplatefallback(self): def texttemplatefallback(self, val): self["texttemplatefallback"] = val - @property - def texttemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `texttemplate`. - - The 'texttemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["texttemplatesrc"] - - @texttemplatesrc.setter - def texttemplatesrc(self, val): - self["texttemplatesrc"] = val - @property def uid(self): """ @@ -1226,18 +972,12 @@ def _prop_descriptions(self): normalized, only the relative values matter. If only two arrays are provided they must be normalized to match `ternary.sum`. - asrc - Sets the source reference on Chart Studio Cloud for - `a`. b Sets the quantity of component `a` in each data point. If `a`, `b`, and `c` are all provided, they need not be normalized, only the relative values matter. If only two arrays are provided they must be normalized to match `ternary.sum`. - bsrc - Sets the source reference on Chart Studio Cloud for - `b`. c Sets the quantity of component `a` in each data point. If `a`, `b`, and `c` are all provided, they need not be @@ -1253,17 +993,11 @@ def _prop_descriptions(self): connectgaps Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. - csrc - Sets the source reference on Chart Studio Cloud for - `c`. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. fill Sets the area to fill with a solid color. Use with `fillcolor` if not "none". scatterternary has a subset @@ -1280,13 +1014,10 @@ def _prop_descriptions(self): variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scatterternary.Hoverlabel` instance or dict with compatible properties @@ -1335,26 +1066,16 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (a,b,c) point. If a single string, the same string appears over all the data points. If an array of strings, the items - are mapped in order to the the data points in (a,b,c). - To be seen, trace `hoverinfo` must contain a "text" - flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. + are mapped in order to the data points in (a,b,c). To + be seen, trace `hoverinfo` must contain a "text" flag. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1401,9 +1122,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -1429,9 +1147,6 @@ def _prop_descriptions(self): showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scatterternary.Stream` - instance or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a ternary subplot. If "ternary" (the default @@ -1448,21 +1163,15 @@ def _prop_descriptions(self): Sets text elements associated with each (a,b,c) point. If a single string, the same string appears over all the data points. If an array of strings, the items are - mapped in order to the the data points in (a,b,c). If - trace `hoverinfo` contains a "text" flag and - "hovertext" is not set, these elements will be seen in - the hover labels. + mapped in order to the data points in (a,b,c). If trace + `hoverinfo` contains a "text" flag and "hovertext" is + not set, these elements will be seen in the hover + labels. textfont Sets the text font. textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1490,9 +1199,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1529,28 +1235,20 @@ def __init__( self, arg=None, a=None, - asrc=None, b=None, - bsrc=None, c=None, cliponaxis=None, connectgaps=None, - csrc=None, customdata=None, - customdatasrc=None, fill=None, fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hoveron=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -1559,24 +1257,19 @@ def __init__( line=None, marker=None, meta=None, - metasrc=None, mode=None, name=None, opacity=None, selected=None, selectedpoints=None, showlegend=None, - stream=None, subplot=None, sum=None, text=None, textfont=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, unselected=None, @@ -1602,18 +1295,12 @@ def __init__( normalized, only the relative values matter. If only two arrays are provided they must be normalized to match `ternary.sum`. - asrc - Sets the source reference on Chart Studio Cloud for - `a`. b Sets the quantity of component `a` in each data point. If `a`, `b`, and `c` are all provided, they need not be normalized, only the relative values matter. If only two arrays are provided they must be normalized to match `ternary.sum`. - bsrc - Sets the source reference on Chart Studio Cloud for - `b`. c Sets the quantity of component `a` in each data point. If `a`, `b`, and `c` are all provided, they need not be @@ -1629,17 +1316,11 @@ def __init__( connectgaps Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected. - csrc - Sets the source reference on Chart Studio Cloud for - `c`. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. fill Sets the area to fill with a solid color. Use with `fillcolor` if not "none". scatterternary has a subset @@ -1656,13 +1337,10 @@ def __init__( variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.scatterternary.Hoverlabel` instance or dict with compatible properties @@ -1711,26 +1389,16 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (a,b,c) point. If a single string, the same string appears over all the data points. If an array of strings, the items - are mapped in order to the the data points in (a,b,c). - To be seen, trace `hoverinfo` must contain a "text" - flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. + are mapped in order to the data points in (a,b,c). To + be seen, trace `hoverinfo` must contain a "text" flag. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1777,9 +1445,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. mode Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` @@ -1805,9 +1470,6 @@ def __init__( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.scatterternary.Stream` - instance or dict with compatible properties subplot Sets a reference between this trace's data coordinates and a ternary subplot. If "ternary" (the default @@ -1824,21 +1486,15 @@ def __init__( Sets text elements associated with each (a,b,c) point. If a single string, the same string appears over all the data points. If an array of strings, the items are - mapped in order to the the data points in (a,b,c). If - trace `hoverinfo` contains a "text" flag and - "hovertext" is not set, these elements will be seen in - the hover labels. + mapped in order to the data points in (a,b,c). If trace + `hoverinfo` contains a "text" flag and "hovertext" is + not set, these elements will be seen in the hover + labels. textfont Sets the text font. textposition Sets the positions of the `text` elements with respects to the (x,y) coordinates. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1866,9 +1522,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1925,28 +1578,20 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("a", arg, a) - self._set_property("asrc", arg, asrc) self._set_property("b", arg, b) - self._set_property("bsrc", arg, bsrc) self._set_property("c", arg, c) self._set_property("cliponaxis", arg, cliponaxis) self._set_property("connectgaps", arg, connectgaps) - self._set_property("csrc", arg, csrc) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("fill", arg, fill) self._set_property("fillcolor", arg, fillcolor) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hoveron", arg, hoveron) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) @@ -1955,24 +1600,19 @@ def __init__( self._set_property("line", arg, line) self._set_property("marker", arg, marker) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("mode", arg, mode) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("selected", arg, selected) self._set_property("selectedpoints", arg, selectedpoints) self._set_property("showlegend", arg, showlegend) - self._set_property("stream", arg, stream) self._set_property("subplot", arg, subplot) self._set_property("sum", arg, sum) self._set_property("text", arg, text) self._set_property("textfont", arg, textfont) self._set_property("textposition", arg, textposition) - self._set_property("textpositionsrc", arg, textpositionsrc) - self._set_property("textsrc", arg, textsrc) self._set_property("texttemplate", arg, texttemplate) self._set_property("texttemplatefallback", arg, texttemplatefallback) - self._set_property("texttemplatesrc", arg, texttemplatesrc) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("unselected", arg, unselected) diff --git a/plotly/graph_objs/_splom.py b/plotly/graph_objs/_splom.py index c80229a7044..a5d9f57a1a2 100644 --- a/plotly/graph_objs/_splom.py +++ b/plotly/graph_objs/_splom.py @@ -10,20 +10,15 @@ class Splom(_BaseTraceType): _path_str = "splom" _valid_props = { "customdata", - "customdatasrc", "diagonal", "dimensiondefaults", "dimensions", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "legend", "legendgroup", "legendgrouptitle", @@ -31,7 +26,6 @@ class Splom(_BaseTraceType): "legendwidth", "marker", "meta", - "metasrc", "name", "opacity", "selected", @@ -39,9 +33,7 @@ class Splom(_BaseTraceType): "showlegend", "showlowerhalf", "showupperhalf", - "stream", "text", - "textsrc", "type", "uid", "uirevision", @@ -74,25 +66,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def diagonal(self): """ @@ -157,7 +130,7 @@ def dimensiondefaults(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -178,25 +151,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -282,25 +236,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -321,25 +256,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -360,24 +276,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def legend(self): """ @@ -530,24 +428,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -684,25 +564,6 @@ def showupperhalf(self): def showupperhalf(self, val): self["showupperhalf"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.splom.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.splom.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def text(self): """ @@ -726,24 +587,6 @@ def text(self): def text(self, val): self["text"] = val - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def uid(self): """ @@ -865,7 +708,7 @@ def xaxes(self, val): @property def xhoverformat(self): """ - Sets the hover text formatting rulefor `x` using d3 formatting + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -921,7 +764,7 @@ def yaxes(self, val): @property def yhoverformat(self): """ - Sets the hover text formatting rulefor `y` using d3 formatting + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -959,9 +802,6 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. diagonal :class:`plotly.graph_objects.splom.Diagonal` instance or dict with compatible properties @@ -975,13 +815,10 @@ def _prop_descriptions(self): default property values to use for elements of splom.dimensions hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.splom.Hoverlabel` instance or dict with compatible properties @@ -1024,21 +861,12 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1082,9 +910,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1109,18 +934,12 @@ def _prop_descriptions(self): showupperhalf Determines whether or not subplots on the upper half from the diagonal are displayed. - stream - :class:`plotly.graph_objects.splom.Stream` instance or - dict with compatible properties text Sets text elements associated with each (x,y) pair to appear on hover. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1160,7 +979,7 @@ def _prop_descriptions(self): false, this splom trace will generate one less x-axis and one less y-axis. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1181,7 +1000,7 @@ def _prop_descriptions(self): false, this splom trace will generate one less x-axis and one less y-axis. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1199,20 +1018,15 @@ def __init__( self, arg=None, customdata=None, - customdatasrc=None, diagonal=None, dimensions=None, dimensiondefaults=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -1220,7 +1034,6 @@ def __init__( legendwidth=None, marker=None, meta=None, - metasrc=None, name=None, opacity=None, selected=None, @@ -1228,9 +1041,7 @@ def __init__( showlegend=None, showlowerhalf=None, showupperhalf=None, - stream=None, text=None, - textsrc=None, uid=None, uirevision=None, unselected=None, @@ -1262,9 +1073,6 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. diagonal :class:`plotly.graph_objects.splom.Diagonal` instance or dict with compatible properties @@ -1278,13 +1086,10 @@ def __init__( default property values to use for elements of splom.dimensions hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.splom.Hoverlabel` instance or dict with compatible properties @@ -1327,21 +1132,12 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1385,9 +1181,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1412,18 +1205,12 @@ def __init__( showupperhalf Determines whether or not subplots on the upper half from the diagonal are displayed. - stream - :class:`plotly.graph_objects.splom.Stream` instance or - dict with compatible properties text Sets text elements associated with each (x,y) pair to appear on hover. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1463,7 +1250,7 @@ def __init__( false, this splom trace will generate one less x-axis and one less y-axis. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1484,7 +1271,7 @@ def __init__( false, this splom trace will generate one less x-axis and one less y-axis. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1522,20 +1309,15 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("diagonal", arg, diagonal) self._set_property("dimensions", arg, dimensions) self._set_property("dimensiondefaults", arg, dimensiondefaults) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) @@ -1543,7 +1325,6 @@ def __init__( self._set_property("legendwidth", arg, legendwidth) self._set_property("marker", arg, marker) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("selected", arg, selected) @@ -1551,9 +1332,7 @@ def __init__( self._set_property("showlegend", arg, showlegend) self._set_property("showlowerhalf", arg, showlowerhalf) self._set_property("showupperhalf", arg, showupperhalf) - self._set_property("stream", arg, stream) self._set_property("text", arg, text) - self._set_property("textsrc", arg, textsrc) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("unselected", arg, unselected) diff --git a/plotly/graph_objs/_streamtube.py b/plotly/graph_objs/_streamtube.py index c19a753910d..cf67e3f3c02 100644 --- a/plotly/graph_objs/_streamtube.py +++ b/plotly/graph_objs/_streamtube.py @@ -18,16 +18,12 @@ class Streamtube(_BaseTraceType): "colorbar", "colorscale", "customdata", - "customdatasrc", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", "ids", - "idssrc", "legend", "legendgroup", "legendgrouptitle", @@ -37,7 +33,6 @@ class Streamtube(_BaseTraceType): "lightposition", "maxdisplayed", "meta", - "metasrc", "name", "opacity", "reversescale", @@ -46,30 +41,23 @@ class Streamtube(_BaseTraceType): "showscale", "sizeref", "starts", - "stream", "text", "type", "u", "uhoverformat", "uid", "uirevision", - "usrc", "v", "vhoverformat", "visible", - "vsrc", "w", "whoverformat", - "wsrc", "x", "xhoverformat", - "xsrc", "y", "yhoverformat", - "ysrc", "z", "zhoverformat", - "zsrc", } @property @@ -226,7 +214,7 @@ def colorscale(self): """ Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, - hsv, or named color string. At minimum, a mapping for the + hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. @@ -293,29 +281,10 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -336,25 +305,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -442,25 +392,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -500,24 +431,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def legend(self): """ @@ -708,24 +621,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -889,25 +784,6 @@ def starts(self): def starts(self, val): self["starts"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.streamtube.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.streamtube.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def text(self): """ @@ -951,7 +827,7 @@ def u(self, val): @property def uhoverformat(self): """ - Sets the hover text formatting rulefor `u` using d3 formatting + Sets the hover text formatting rule for `u` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By @@ -1022,24 +898,6 @@ def uirevision(self): def uirevision(self, val): self["uirevision"] = val - @property - def usrc(self): - """ - Sets the source reference on Chart Studio Cloud for `u`. - - The 'usrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["usrc"] - - @usrc.setter - def usrc(self, val): - self["usrc"] = val - @property def v(self): """ @@ -1061,7 +919,7 @@ def v(self, val): @property def vhoverformat(self): """ - Sets the hover text formatting rulefor `v` using d3 formatting + Sets the hover text formatting rule for `v` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By @@ -1102,24 +960,6 @@ def visible(self): def visible(self, val): self["visible"] = val - @property - def vsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `v`. - - The 'vsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["vsrc"] - - @vsrc.setter - def vsrc(self, val): - self["vsrc"] = val - @property def w(self): """ @@ -1141,7 +981,7 @@ def w(self, val): @property def whoverformat(self): """ - Sets the hover text formatting rulefor `w` using d3 formatting + Sets the hover text formatting rule for `w` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By @@ -1161,24 +1001,6 @@ def whoverformat(self): def whoverformat(self, val): self["whoverformat"] = val - @property - def wsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `w`. - - The 'wsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["wsrc"] - - @wsrc.setter - def wsrc(self, val): - self["wsrc"] = val - @property def x(self): """ @@ -1200,7 +1022,7 @@ def x(self, val): @property def xhoverformat(self): """ - Sets the hover text formatting rulefor `x` using d3 formatting + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1226,24 +1048,6 @@ def xhoverformat(self): def xhoverformat(self, val): self["xhoverformat"] = val - @property - def xsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `x`. - - The 'xsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xsrc"] - - @xsrc.setter - def xsrc(self, val): - self["xsrc"] = val - @property def y(self): """ @@ -1265,7 +1069,7 @@ def y(self, val): @property def yhoverformat(self): """ - Sets the hover text formatting rulefor `y` using d3 formatting + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1291,24 +1095,6 @@ def yhoverformat(self): def yhoverformat(self, val): self["yhoverformat"] = val - @property - def ysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `y`. - - The 'ysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ysrc"] - - @ysrc.setter - def ysrc(self, val): - self["ysrc"] = val - @property def z(self): """ @@ -1330,7 +1116,7 @@ def z(self, val): @property def zhoverformat(self): """ - Sets the hover text formatting rulefor `z` using d3 formatting + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1356,24 +1142,6 @@ def zhoverformat(self): def zhoverformat(self, val): self["zhoverformat"] = val - @property - def zsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `z`. - - The 'zsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["zsrc"] - - @zsrc.setter - def zsrc(self, val): - self["zsrc"] = val - @property def type(self): return self._props["type"] @@ -1419,31 +1187,25 @@ def _prop_descriptions(self): colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.streamtube.Hoverlabel` instance or dict with compatible properties @@ -1489,18 +1251,12 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1550,9 +1306,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1587,9 +1340,6 @@ def _prop_descriptions(self): starts :class:`plotly.graph_objects.streamtube.Starts` instance or dict with compatible properties - stream - :class:`plotly.graph_objects.streamtube.Stream` - instance or dict with compatible properties text Sets a text element associated with this trace. If trace `hoverinfo` contains a "text" flag, this text @@ -1598,7 +1348,7 @@ def _prop_descriptions(self): u Sets the x components of the vector field. uhoverformat - Sets the hover text formatting rulefor `u` using d3 + Sets the hover text formatting rule for `u` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values @@ -1625,13 +1375,10 @@ def _prop_descriptions(self): the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves. - usrc - Sets the source reference on Chart Studio Cloud for - `u`. v Sets the y components of the vector field. vhoverformat - Sets the hover text formatting rulefor `v` using d3 + Sets the hover text formatting rule for `v` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values @@ -1641,24 +1388,18 @@ def _prop_descriptions(self): "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). - vsrc - Sets the source reference on Chart Studio Cloud for - `v`. w Sets the z components of the vector field. whoverformat - Sets the hover text formatting rulefor `w` using d3 + Sets the hover text formatting rule for `w` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format. - wsrc - Sets the source reference on Chart Studio Cloud for - `w`. x Sets the x coordinates of the vector field. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1670,13 +1411,10 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates of the vector field. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1688,13 +1426,10 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the z coordinates of the vector field. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1706,9 +1441,6 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. """ def __init__( @@ -1723,16 +1455,12 @@ def __init__( colorbar=None, colorscale=None, customdata=None, - customdatasrc=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -1742,7 +1470,6 @@ def __init__( lightposition=None, maxdisplayed=None, meta=None, - metasrc=None, name=None, opacity=None, reversescale=None, @@ -1751,29 +1478,22 @@ def __init__( showscale=None, sizeref=None, starts=None, - stream=None, text=None, u=None, uhoverformat=None, uid=None, uirevision=None, - usrc=None, v=None, vhoverformat=None, visible=None, - vsrc=None, w=None, whoverformat=None, - wsrc=None, x=None, xhoverformat=None, - xsrc=None, y=None, yhoverformat=None, - ysrc=None, z=None, zhoverformat=None, - zsrc=None, **kwargs, ): """ @@ -1832,31 +1552,25 @@ def __init__( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.streamtube.Hoverlabel` instance or dict with compatible properties @@ -1902,18 +1616,12 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1963,9 +1671,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -2000,9 +1705,6 @@ def __init__( starts :class:`plotly.graph_objects.streamtube.Starts` instance or dict with compatible properties - stream - :class:`plotly.graph_objects.streamtube.Stream` - instance or dict with compatible properties text Sets a text element associated with this trace. If trace `hoverinfo` contains a "text" flag, this text @@ -2011,7 +1713,7 @@ def __init__( u Sets the x components of the vector field. uhoverformat - Sets the hover text formatting rulefor `u` using d3 + Sets the hover text formatting rule for `u` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values @@ -2038,13 +1740,10 @@ def __init__( the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves. - usrc - Sets the source reference on Chart Studio Cloud for - `u`. v Sets the y components of the vector field. vhoverformat - Sets the hover text formatting rulefor `v` using d3 + Sets the hover text formatting rule for `v` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values @@ -2054,24 +1753,18 @@ def __init__( "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). - vsrc - Sets the source reference on Chart Studio Cloud for - `v`. w Sets the z components of the vector field. whoverformat - Sets the hover text formatting rulefor `w` using d3 + Sets the hover text formatting rule for `w` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format. - wsrc - Sets the source reference on Chart Studio Cloud for - `w`. x Sets the x coordinates of the vector field. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2083,13 +1776,10 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates of the vector field. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2101,13 +1791,10 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the z coordinates of the vector field. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2119,9 +1806,6 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. Returns ------- @@ -2156,16 +1840,12 @@ def __init__( self._set_property("colorbar", arg, colorbar) self._set_property("colorscale", arg, colorscale) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) @@ -2175,7 +1855,6 @@ def __init__( self._set_property("lightposition", arg, lightposition) self._set_property("maxdisplayed", arg, maxdisplayed) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("reversescale", arg, reversescale) @@ -2184,29 +1863,22 @@ def __init__( self._set_property("showscale", arg, showscale) self._set_property("sizeref", arg, sizeref) self._set_property("starts", arg, starts) - self._set_property("stream", arg, stream) self._set_property("text", arg, text) self._set_property("u", arg, u) self._set_property("uhoverformat", arg, uhoverformat) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) - self._set_property("usrc", arg, usrc) self._set_property("v", arg, v) self._set_property("vhoverformat", arg, vhoverformat) self._set_property("visible", arg, visible) - self._set_property("vsrc", arg, vsrc) self._set_property("w", arg, w) self._set_property("whoverformat", arg, whoverformat) - self._set_property("wsrc", arg, wsrc) self._set_property("x", arg, x) self._set_property("xhoverformat", arg, xhoverformat) - self._set_property("xsrc", arg, xsrc) self._set_property("y", arg, y) self._set_property("yhoverformat", arg, yhoverformat) - self._set_property("ysrc", arg, ysrc) self._set_property("z", arg, z) self._set_property("zhoverformat", arg, zhoverformat) - self._set_property("zsrc", arg, zsrc) self._props["type"] = "streamtube" arg.pop("type", None) diff --git a/plotly/graph_objs/_sunburst.py b/plotly/graph_objs/_sunburst.py index db02fbc1db8..4005d889c72 100644 --- a/plotly/graph_objs/_sunburst.py +++ b/plotly/graph_objs/_sunburst.py @@ -12,22 +12,16 @@ class Sunburst(_BaseTraceType): "branchvalues", "count", "customdata", - "customdatasrc", "domain", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "insidetextfont", "insidetextorientation", "labels", - "labelssrc", "leaf", "legend", "legendgrouptitle", @@ -37,28 +31,22 @@ class Sunburst(_BaseTraceType): "marker", "maxdepth", "meta", - "metasrc", "name", "opacity", "outsidetextfont", "parents", - "parentssrc", "root", "rotation", "sort", - "stream", "text", "textfont", "textinfo", - "textsrc", "texttemplate", "texttemplatefallback", - "texttemplatesrc", "type", "uid", "uirevision", "values", - "valuessrc", "visible", } @@ -129,25 +117,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def domain(self): """ @@ -170,9 +139,10 @@ def domain(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` - or `skip` are set, no information is displayed upon hovering. - But, if `none` is set, click and hover events are still fired. + Determines what trace information appears on hover. Flags are + rendered in a fixed order; use `hovertemplate` if you need + explicit control over the rendered string, including the order + of fields and surrounding text. The 'hoverinfo' property is a flaglist and may be specified as a string containing: @@ -191,25 +161,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -297,25 +248,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -340,25 +272,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -379,24 +292,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def insidetextfont(self): """ @@ -462,24 +357,6 @@ def labels(self): def labels(self, val): self["labels"] = val - @property - def labelssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `labels`. - - The 'labelssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["labelssrc"] - - @labelssrc.setter - def labelssrc(self, val): - self["labelssrc"] = val - @property def leaf(self): """ @@ -669,24 +546,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -773,24 +632,6 @@ def parents(self): def parents(self, val): self["parents"] = val - @property - def parentssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `parents`. - - The 'parentssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["parentssrc"] - - @parentssrc.setter - def parentssrc(self, val): - self["parentssrc"] = val - @property def root(self): """ @@ -850,25 +691,6 @@ def sort(self): def sort(self, val): self["sort"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.sunburst.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.sunburst.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def text(self): """ @@ -915,7 +737,10 @@ def textfont(self, val): @property def textinfo(self): """ - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. Flags + are rendered in a fixed order; use `texttemplate` if you need + explicit control over the rendered string, including the order + of fields and surrounding text. The 'textinfo' property is a flaglist and may be specified as a string containing: @@ -933,24 +758,6 @@ def textinfo(self): def textinfo(self, val): self["textinfo"] = val - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def texttemplate(self): """ @@ -1008,25 +815,6 @@ def texttemplatefallback(self): def texttemplatefallback(self, val): self["texttemplatefallback"] = val - @property - def texttemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `texttemplate`. - - The 'texttemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["texttemplatesrc"] - - @texttemplatesrc.setter - def texttemplatesrc(self, val): - self["texttemplatesrc"] = val - @property def uid(self): """ @@ -1097,24 +885,6 @@ def values(self): def values(self, val): self["values"] = val - @property - def valuessrc(self): - """ - Sets the source reference on Chart Studio Cloud for `values`. - - The 'valuessrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["valuessrc"] - - @valuessrc.setter - def valuessrc(self, val): - self["valuessrc"] = val - @property def visible(self): """ @@ -1159,20 +929,15 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. domain :class:`plotly.graph_objects.sunburst.Domain` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. + Determines what trace information appears on hover. + Flags are rendered in a fixed order; use + `hovertemplate` if you need explicit control over the + rendered string, including the order of fields and + surrounding text. hoverlabel :class:`plotly.graph_objects.sunburst.Hoverlabel` instance or dict with compatible properties @@ -1218,25 +983,16 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextfont Sets the font used for `textinfo` lying inside the sector. @@ -1252,9 +1008,6 @@ def _prop_descriptions(self): perpendicular to the radius of the sector. labels Sets the labels of each of the sectors. - labelssrc - Sets the source reference on Chart Studio Cloud for - `labels`. leaf :class:`plotly.graph_objects.sunburst.Leaf` instance or dict with compatible properties @@ -1307,9 +1060,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1329,9 +1079,6 @@ def _prop_descriptions(self): items are understood to be "ids" themselves. When `ids` is not set, plotly attempts to find matching items in `labels`, but beware they must be unique. - parentssrc - Sets the source reference on Chart Studio Cloud for - `parents`. root :class:`plotly.graph_objects.sunburst.Root` instance or dict with compatible properties @@ -1341,9 +1088,6 @@ def _prop_descriptions(self): sort Determines whether or not the sectors are reordered from largest to smallest. - stream - :class:`plotly.graph_objects.sunburst.Stream` instance - or dict with compatible properties text Sets text elements associated with each sector. If trace `textinfo` contains a "text" flag, these elements @@ -1353,10 +1097,10 @@ def _prop_descriptions(self): textfont Sets the font used for `textinfo`. textinfo - Determines which trace information appear on the graph. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. + Determines what trace information appears on the graph. + Flags are rendered in a fixed order; use `texttemplate` + if you need explicit control over the rendered string, + including the order of fields and surrounding text. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1386,9 +1130,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1415,9 +1156,6 @@ def _prop_descriptions(self): Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -1431,22 +1169,16 @@ def __init__( branchvalues=None, count=None, customdata=None, - customdatasrc=None, domain=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, insidetextfont=None, insidetextorientation=None, labels=None, - labelssrc=None, leaf=None, legend=None, legendgrouptitle=None, @@ -1456,27 +1188,21 @@ def __init__( marker=None, maxdepth=None, meta=None, - metasrc=None, name=None, opacity=None, outsidetextfont=None, parents=None, - parentssrc=None, root=None, rotation=None, sort=None, - stream=None, text=None, textfont=None, textinfo=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, uid=None, uirevision=None, values=None, - valuessrc=None, visible=None, **kwargs, ): @@ -1508,20 +1234,15 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. domain :class:`plotly.graph_objects.sunburst.Domain` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. + Determines what trace information appears on hover. + Flags are rendered in a fixed order; use + `hovertemplate` if you need explicit control over the + rendered string, including the order of fields and + surrounding text. hoverlabel :class:`plotly.graph_objects.sunburst.Hoverlabel` instance or dict with compatible properties @@ -1567,25 +1288,16 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextfont Sets the font used for `textinfo` lying inside the sector. @@ -1601,9 +1313,6 @@ def __init__( perpendicular to the radius of the sector. labels Sets the labels of each of the sectors. - labelssrc - Sets the source reference on Chart Studio Cloud for - `labels`. leaf :class:`plotly.graph_objects.sunburst.Leaf` instance or dict with compatible properties @@ -1656,9 +1365,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1678,9 +1384,6 @@ def __init__( items are understood to be "ids" themselves. When `ids` is not set, plotly attempts to find matching items in `labels`, but beware they must be unique. - parentssrc - Sets the source reference on Chart Studio Cloud for - `parents`. root :class:`plotly.graph_objects.sunburst.Root` instance or dict with compatible properties @@ -1690,9 +1393,6 @@ def __init__( sort Determines whether or not the sectors are reordered from largest to smallest. - stream - :class:`plotly.graph_objects.sunburst.Stream` instance - or dict with compatible properties text Sets text elements associated with each sector. If trace `textinfo` contains a "text" flag, these elements @@ -1702,10 +1402,10 @@ def __init__( textfont Sets the font used for `textinfo`. textinfo - Determines which trace information appear on the graph. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. + Determines what trace information appears on the graph. + Flags are rendered in a fixed order; use `texttemplate` + if you need explicit control over the rendered string, + including the order of fields and surrounding text. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1735,9 +1435,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1764,9 +1461,6 @@ def __init__( Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -1800,22 +1494,16 @@ def __init__( self._set_property("branchvalues", arg, branchvalues) self._set_property("count", arg, count) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("domain", arg, domain) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("insidetextfont", arg, insidetextfont) self._set_property("insidetextorientation", arg, insidetextorientation) self._set_property("labels", arg, labels) - self._set_property("labelssrc", arg, labelssrc) self._set_property("leaf", arg, leaf) self._set_property("legend", arg, legend) self._set_property("legendgrouptitle", arg, legendgrouptitle) @@ -1825,27 +1513,21 @@ def __init__( self._set_property("marker", arg, marker) self._set_property("maxdepth", arg, maxdepth) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("outsidetextfont", arg, outsidetextfont) self._set_property("parents", arg, parents) - self._set_property("parentssrc", arg, parentssrc) self._set_property("root", arg, root) self._set_property("rotation", arg, rotation) self._set_property("sort", arg, sort) - self._set_property("stream", arg, stream) self._set_property("text", arg, text) self._set_property("textfont", arg, textfont) self._set_property("textinfo", arg, textinfo) - self._set_property("textsrc", arg, textsrc) self._set_property("texttemplate", arg, texttemplate) self._set_property("texttemplatefallback", arg, texttemplatefallback) - self._set_property("texttemplatesrc", arg, texttemplatesrc) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("values", arg, values) - self._set_property("valuessrc", arg, valuessrc) self._set_property("visible", arg, visible) self._props["type"] = "sunburst" diff --git a/plotly/graph_objs/_surface.py b/plotly/graph_objs/_surface.py index 8a1dddc8b71..5af06ead482 100644 --- a/plotly/graph_objs/_surface.py +++ b/plotly/graph_objs/_surface.py @@ -20,18 +20,13 @@ class Surface(_BaseTraceType): "connectgaps", "contours", "customdata", - "customdatasrc", "hidesurface", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "legend", "legendgroup", "legendgrouptitle", @@ -40,7 +35,6 @@ class Surface(_BaseTraceType): "lighting", "lightposition", "meta", - "metasrc", "name", "opacity", "opacityscale", @@ -48,11 +42,8 @@ class Surface(_BaseTraceType): "scene", "showlegend", "showscale", - "stream", "surfacecolor", - "surfacecolorsrc", "text", - "textsrc", "type", "uid", "uirevision", @@ -60,15 +51,12 @@ class Surface(_BaseTraceType): "x", "xcalendar", "xhoverformat", - "xsrc", "y", "ycalendar", "yhoverformat", - "ysrc", "z", "zcalendar", "zhoverformat", - "zsrc", } @property @@ -225,7 +213,7 @@ def colorscale(self): """ Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, - hsv, or named color string. At minimum, a mapping for the + hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. @@ -330,25 +318,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def hidesurface(self): """ @@ -372,7 +341,7 @@ def hidesurface(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -393,25 +362,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -497,25 +447,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -536,25 +467,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -575,24 +487,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def legend(self): """ @@ -764,24 +658,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -931,25 +807,6 @@ def showscale(self): def showscale(self, val): self["showscale"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.surface.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.surface.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def surfacecolor(self): """ @@ -969,25 +826,6 @@ def surfacecolor(self): def surfacecolor(self, val): self["surfacecolor"] = val - @property - def surfacecolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `surfacecolor`. - - The 'surfacecolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["surfacecolorsrc"] - - @surfacecolorsrc.setter - def surfacecolorsrc(self, val): - self["surfacecolorsrc"] = val - @property def text(self): """ @@ -1010,24 +848,6 @@ def text(self): def text(self, val): self["text"] = val - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def uid(self): """ @@ -1143,7 +963,7 @@ def xcalendar(self, val): @property def xhoverformat(self): """ - Sets the hover text formatting rulefor `x` using d3 formatting + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1169,24 +989,6 @@ def xhoverformat(self): def xhoverformat(self, val): self["xhoverformat"] = val - @property - def xsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `x`. - - The 'xsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xsrc"] - - @xsrc.setter - def xsrc(self, val): - self["xsrc"] = val - @property def y(self): """ @@ -1230,7 +1032,7 @@ def ycalendar(self, val): @property def yhoverformat(self): """ - Sets the hover text formatting rulefor `y` using d3 formatting + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1256,24 +1058,6 @@ def yhoverformat(self): def yhoverformat(self, val): self["yhoverformat"] = val - @property - def ysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `y`. - - The 'ysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ysrc"] - - @ysrc.setter - def ysrc(self, val): - self["ysrc"] = val - @property def z(self): """ @@ -1317,7 +1101,7 @@ def zcalendar(self, val): @property def zhoverformat(self): """ - Sets the hover text formatting rulefor `z` using d3 formatting + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1343,24 +1127,6 @@ def zhoverformat(self): def zhoverformat(self, val): self["zhoverformat"] = val - @property - def zsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `z`. - - The 'zsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["zsrc"] - - @zsrc.setter - def zsrc(self, val): - self["zsrc"] = val - @property def type(self): return self._props["type"] @@ -1406,15 +1172,15 @@ def _prop_descriptions(self): colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. connectgaps Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in. @@ -1426,22 +1192,16 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. hidesurface Determines whether or not a surface is drawn. For example, set `hidesurface` to False `contours.x.show` to True and `contours.y.show` to True to draw a wire frame plot. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.surface.Hoverlabel` instance or dict with compatible properties @@ -1484,21 +1244,12 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1545,9 +1296,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1586,23 +1334,14 @@ def _prop_descriptions(self): showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.surface.Stream` instance - or dict with compatible properties surfacecolor Sets the surface color values, used for setting a color scale independent of `z`. - surfacecolorsrc - Sets the source reference on Chart Studio Cloud for - `surfacecolor`. text Sets the text elements associated with each z value. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1635,7 +1374,7 @@ def _prop_descriptions(self): xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1647,15 +1386,12 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates. ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1667,15 +1403,12 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the z coordinates. zcalendar Sets the calendar system to use with `z` date data. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1687,9 +1420,6 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. """ def __init__( @@ -1706,18 +1436,13 @@ def __init__( connectgaps=None, contours=None, customdata=None, - customdatasrc=None, hidesurface=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, legend=None, legendgroup=None, legendgrouptitle=None, @@ -1726,7 +1451,6 @@ def __init__( lighting=None, lightposition=None, meta=None, - metasrc=None, name=None, opacity=None, opacityscale=None, @@ -1734,26 +1458,20 @@ def __init__( scene=None, showlegend=None, showscale=None, - stream=None, surfacecolor=None, - surfacecolorsrc=None, text=None, - textsrc=None, uid=None, uirevision=None, visible=None, x=None, xcalendar=None, xhoverformat=None, - xsrc=None, y=None, ycalendar=None, yhoverformat=None, - ysrc=None, z=None, zcalendar=None, zhoverformat=None, - zsrc=None, **kwargs, ): """ @@ -1812,15 +1530,15 @@ def __init__( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. connectgaps Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in. @@ -1832,22 +1550,16 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. hidesurface Determines whether or not a surface is drawn. For example, set `hidesurface` to False `contours.x.show` to True and `contours.y.show` to True to draw a wire frame plot. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.surface.Hoverlabel` instance or dict with compatible properties @@ -1890,21 +1602,12 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1951,9 +1654,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1992,23 +1692,14 @@ def __init__( showscale Determines whether or not a colorbar is displayed for this trace. - stream - :class:`plotly.graph_objects.surface.Stream` instance - or dict with compatible properties surfacecolor Sets the surface color values, used for setting a color scale independent of `z`. - surfacecolorsrc - Sets the source reference on Chart Studio Cloud for - `surfacecolor`. text Sets the text elements associated with each z value. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -2041,7 +1732,7 @@ def __init__( xcalendar Sets the calendar system to use with `x` date data. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2053,15 +1744,12 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates. ycalendar Sets the calendar system to use with `y` date data. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2073,15 +1761,12 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the z coordinates. zcalendar Sets the calendar system to use with `z` date data. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2093,9 +1778,6 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. Returns ------- @@ -2132,18 +1814,13 @@ def __init__( self._set_property("connectgaps", arg, connectgaps) self._set_property("contours", arg, contours) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("hidesurface", arg, hidesurface) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) self._set_property("legendgrouptitle", arg, legendgrouptitle) @@ -2152,7 +1829,6 @@ def __init__( self._set_property("lighting", arg, lighting) self._set_property("lightposition", arg, lightposition) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("opacityscale", arg, opacityscale) @@ -2160,26 +1836,20 @@ def __init__( self._set_property("scene", arg, scene) self._set_property("showlegend", arg, showlegend) self._set_property("showscale", arg, showscale) - self._set_property("stream", arg, stream) self._set_property("surfacecolor", arg, surfacecolor) - self._set_property("surfacecolorsrc", arg, surfacecolorsrc) self._set_property("text", arg, text) - self._set_property("textsrc", arg, textsrc) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("visible", arg, visible) self._set_property("x", arg, x) self._set_property("xcalendar", arg, xcalendar) self._set_property("xhoverformat", arg, xhoverformat) - self._set_property("xsrc", arg, xsrc) self._set_property("y", arg, y) self._set_property("ycalendar", arg, ycalendar) self._set_property("yhoverformat", arg, yhoverformat) - self._set_property("ysrc", arg, ysrc) self._set_property("z", arg, z) self._set_property("zcalendar", arg, zcalendar) self._set_property("zhoverformat", arg, zhoverformat) - self._set_property("zsrc", arg, zsrc) self._props["type"] = "surface" arg.pop("type", None) diff --git a/plotly/graph_objs/_table.py b/plotly/graph_objs/_table.py index e58ec78d7d5..1e02f3df574 100644 --- a/plotly/graph_objs/_table.py +++ b/plotly/graph_objs/_table.py @@ -11,26 +11,19 @@ class Table(_BaseTraceType): _valid_props = { "cells", "columnorder", - "columnordersrc", "columnwidth", - "columnwidthsrc", "customdata", - "customdatasrc", "domain", "header", "hoverinfo", - "hoverinfosrc", "hoverlabel", "ids", - "idssrc", "legend", "legendgrouptitle", "legendrank", "legendwidth", "meta", - "metasrc", "name", - "stream", "type", "uid", "uirevision", @@ -77,25 +70,6 @@ def columnorder(self): def columnorder(self, val): self["columnorder"] = val - @property - def columnordersrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `columnorder`. - - The 'columnordersrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["columnordersrc"] - - @columnordersrc.setter - def columnordersrc(self, val): - self["columnordersrc"] = val - @property def columnwidth(self): """ @@ -116,25 +90,6 @@ def columnwidth(self): def columnwidth(self, val): self["columnwidth"] = val - @property - def columnwidthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `columnwidth`. - - The 'columnwidthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["columnwidthsrc"] - - @columnwidthsrc.setter - def columnwidthsrc(self, val): - self["columnwidthsrc"] = val - @property def customdata(self): """ @@ -156,25 +111,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def domain(self): """ @@ -216,7 +152,7 @@ def header(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -237,25 +173,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -295,24 +212,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def legend(self): """ @@ -425,24 +324,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -463,25 +344,6 @@ def name(self): def name(self, val): self["name"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.table.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.table.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def uid(self): """ @@ -569,24 +431,15 @@ def _prop_descriptions(self): example, a value `2` at position `0` means that column index `0` in the data will be rendered as the third column, as columns have an index base of zero. - columnordersrc - Sets the source reference on Chart Studio Cloud for - `columnorder`. columnwidth The width of columns expressed as a ratio. Columns fill the available width in proportion of their specified column widths. - columnwidthsrc - Sets the source reference on Chart Studio Cloud for - `columnwidth`. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. domain :class:`plotly.graph_objects.table.Domain` instance or dict with compatible properties @@ -594,13 +447,10 @@ def _prop_descriptions(self): :class:`plotly.graph_objects.table.Header` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.table.Hoverlabel` instance or dict with compatible properties @@ -608,9 +458,6 @@ def _prop_descriptions(self): Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -647,15 +494,9 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. - stream - :class:`plotly.graph_objects.table.Stream` instance or - dict with compatible properties uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -690,26 +531,19 @@ def __init__( arg=None, cells=None, columnorder=None, - columnordersrc=None, columnwidth=None, - columnwidthsrc=None, customdata=None, - customdatasrc=None, domain=None, header=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, ids=None, - idssrc=None, legend=None, legendgrouptitle=None, legendrank=None, legendwidth=None, meta=None, - metasrc=None, name=None, - stream=None, uid=None, uirevision=None, visible=None, @@ -737,24 +571,15 @@ def __init__( example, a value `2` at position `0` means that column index `0` in the data will be rendered as the third column, as columns have an index base of zero. - columnordersrc - Sets the source reference on Chart Studio Cloud for - `columnorder`. columnwidth The width of columns expressed as a ratio. Columns fill the available width in proportion of their specified column widths. - columnwidthsrc - Sets the source reference on Chart Studio Cloud for - `columnwidth`. customdata Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. domain :class:`plotly.graph_objects.table.Domain` instance or dict with compatible properties @@ -762,13 +587,10 @@ def __init__( :class:`plotly.graph_objects.table.Header` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.table.Hoverlabel` instance or dict with compatible properties @@ -776,9 +598,6 @@ def __init__( Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -815,15 +634,9 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. - stream - :class:`plotly.graph_objects.table.Stream` instance or - dict with compatible properties uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -878,26 +691,19 @@ def __init__( self._set_property("cells", arg, cells) self._set_property("columnorder", arg, columnorder) - self._set_property("columnordersrc", arg, columnordersrc) self._set_property("columnwidth", arg, columnwidth) - self._set_property("columnwidthsrc", arg, columnwidthsrc) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("domain", arg, domain) self._set_property("header", arg, header) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("legend", arg, legend) self._set_property("legendgrouptitle", arg, legendgrouptitle) self._set_property("legendrank", arg, legendrank) self._set_property("legendwidth", arg, legendwidth) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) - self._set_property("stream", arg, stream) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("visible", arg, visible) diff --git a/plotly/graph_objs/_treemap.py b/plotly/graph_objs/_treemap.py index daf4db605c1..368562edf95 100644 --- a/plotly/graph_objs/_treemap.py +++ b/plotly/graph_objs/_treemap.py @@ -12,21 +12,15 @@ class Treemap(_BaseTraceType): "branchvalues", "count", "customdata", - "customdatasrc", "domain", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "insidetextfont", "labels", - "labelssrc", "legend", "legendgrouptitle", "legendrank", @@ -35,30 +29,24 @@ class Treemap(_BaseTraceType): "marker", "maxdepth", "meta", - "metasrc", "name", "opacity", "outsidetextfont", "parents", - "parentssrc", "pathbar", "root", "sort", - "stream", "text", "textfont", "textinfo", "textposition", - "textsrc", "texttemplate", "texttemplatefallback", - "texttemplatesrc", "tiling", "type", "uid", "uirevision", "values", - "valuessrc", "visible", } @@ -129,25 +117,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def domain(self): """ @@ -170,9 +139,10 @@ def domain(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` - or `skip` are set, no information is displayed upon hovering. - But, if `none` is set, click and hover events are still fired. + Determines what trace information appears on hover. Flags are + rendered in a fixed order; use `hovertemplate` if you need + explicit control over the rendered string, including the order + of fields and surrounding text. The 'hoverinfo' property is a flaglist and may be specified as a string containing: @@ -191,25 +161,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -297,25 +248,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -340,25 +272,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -379,24 +292,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def insidetextfont(self): """ @@ -436,24 +331,6 @@ def labels(self): def labels(self, val): self["labels"] = val - @property - def labelssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `labels`. - - The 'labelssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["labelssrc"] - - @labelssrc.setter - def labelssrc(self, val): - self["labelssrc"] = val - @property def legend(self): """ @@ -624,24 +501,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -728,24 +587,6 @@ def parents(self): def parents(self, val): self["parents"] = val - @property - def parentssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `parents`. - - The 'parentssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["parentssrc"] - - @parentssrc.setter - def parentssrc(self, val): - self["parentssrc"] = val - @property def pathbar(self): """ @@ -803,25 +644,6 @@ def sort(self): def sort(self, val): self["sort"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.treemap.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.treemap.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def text(self): """ @@ -868,7 +690,10 @@ def textfont(self, val): @property def textinfo(self): """ - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. Flags + are rendered in a fixed order; use `texttemplate` if you need + explicit control over the rendered string, including the order + of fields and surrounding text. The 'textinfo' property is a flaglist and may be specified as a string containing: @@ -907,24 +732,6 @@ def textposition(self): def textposition(self, val): self["textposition"] = val - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def texttemplate(self): """ @@ -982,25 +789,6 @@ def texttemplatefallback(self): def texttemplatefallback(self, val): self["texttemplatefallback"] = val - @property - def texttemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `texttemplate`. - - The 'texttemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["texttemplatesrc"] - - @texttemplatesrc.setter - def texttemplatesrc(self, val): - self["texttemplatesrc"] = val - @property def tiling(self): """ @@ -1090,24 +878,6 @@ def values(self): def values(self, val): self["values"] = val - @property - def valuessrc(self): - """ - Sets the source reference on Chart Studio Cloud for `values`. - - The 'valuessrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["valuessrc"] - - @valuessrc.setter - def valuessrc(self, val): - self["valuessrc"] = val - @property def visible(self): """ @@ -1152,20 +922,15 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. domain :class:`plotly.graph_objects.treemap.Domain` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. + Determines what trace information appears on hover. + Flags are rendered in a fixed order; use + `hovertemplate` if you need explicit control over the + rendered string, including the order of fields and + surrounding text. hoverlabel :class:`plotly.graph_objects.treemap.Hoverlabel` instance or dict with compatible properties @@ -1211,33 +976,21 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextfont Sets the font used for `textinfo` lying inside the sector. labels Sets the labels of each of the sectors. - labelssrc - Sets the source reference on Chart Studio Cloud for - `labels`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1287,9 +1040,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1309,9 +1059,6 @@ def _prop_descriptions(self): items are understood to be "ids" themselves. When `ids` is not set, plotly attempts to find matching items in `labels`, but beware they must be unique. - parentssrc - Sets the source reference on Chart Studio Cloud for - `parents`. pathbar :class:`plotly.graph_objects.treemap.Pathbar` instance or dict with compatible properties @@ -1321,9 +1068,6 @@ def _prop_descriptions(self): sort Determines whether or not the sectors are reordered from largest to smallest. - stream - :class:`plotly.graph_objects.treemap.Stream` instance - or dict with compatible properties text Sets text elements associated with each sector. If trace `textinfo` contains a "text" flag, these elements @@ -1333,12 +1077,12 @@ def _prop_descriptions(self): textfont Sets the font used for `textinfo`. textinfo - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. + Flags are rendered in a fixed order; use `texttemplate` + if you need explicit control over the rendered string, + including the order of fields and surrounding text. textposition Sets the positions of the `text` elements. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1368,9 +1112,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. tiling :class:`plotly.graph_objects.treemap.Tiling` instance or dict with compatible properties @@ -1400,9 +1141,6 @@ def _prop_descriptions(self): Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -1416,21 +1154,15 @@ def __init__( branchvalues=None, count=None, customdata=None, - customdatasrc=None, domain=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, insidetextfont=None, labels=None, - labelssrc=None, legend=None, legendgrouptitle=None, legendrank=None, @@ -1439,29 +1171,23 @@ def __init__( marker=None, maxdepth=None, meta=None, - metasrc=None, name=None, opacity=None, outsidetextfont=None, parents=None, - parentssrc=None, pathbar=None, root=None, sort=None, - stream=None, text=None, textfont=None, textinfo=None, textposition=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, tiling=None, uid=None, uirevision=None, values=None, - valuessrc=None, visible=None, **kwargs, ): @@ -1494,20 +1220,15 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. domain :class:`plotly.graph_objects.treemap.Domain` instance or dict with compatible properties hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. + Determines what trace information appears on hover. + Flags are rendered in a fixed order; use + `hovertemplate` if you need explicit control over the + rendered string, including the order of fields and + surrounding text. hoverlabel :class:`plotly.graph_objects.treemap.Hoverlabel` instance or dict with compatible properties @@ -1553,33 +1274,21 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. insidetextfont Sets the font used for `textinfo` lying inside the sector. labels Sets the labels of each of the sectors. - labelssrc - Sets the source reference on Chart Studio Cloud for - `labels`. legend Sets the reference to a legend to show this trace in. References to these legends are "legend", "legend2", @@ -1629,9 +1338,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1651,9 +1357,6 @@ def __init__( items are understood to be "ids" themselves. When `ids` is not set, plotly attempts to find matching items in `labels`, but beware they must be unique. - parentssrc - Sets the source reference on Chart Studio Cloud for - `parents`. pathbar :class:`plotly.graph_objects.treemap.Pathbar` instance or dict with compatible properties @@ -1663,9 +1366,6 @@ def __init__( sort Determines whether or not the sectors are reordered from largest to smallest. - stream - :class:`plotly.graph_objects.treemap.Stream` instance - or dict with compatible properties text Sets text elements associated with each sector. If trace `textinfo` contains a "text" flag, these elements @@ -1675,12 +1375,12 @@ def __init__( textfont Sets the font used for `textinfo`. textinfo - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. + Flags are rendered in a fixed order; use `texttemplate` + if you need explicit control over the rendered string, + including the order of fields and surrounding text. textposition Sets the positions of the `text` elements. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1710,9 +1410,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. tiling :class:`plotly.graph_objects.treemap.Tiling` instance or dict with compatible properties @@ -1742,9 +1439,6 @@ def __init__( Sets the values associated with each of the sectors. Use with `branchvalues` to determine how the values are summed. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -1778,21 +1472,15 @@ def __init__( self._set_property("branchvalues", arg, branchvalues) self._set_property("count", arg, count) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("domain", arg, domain) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("insidetextfont", arg, insidetextfont) self._set_property("labels", arg, labels) - self._set_property("labelssrc", arg, labelssrc) self._set_property("legend", arg, legend) self._set_property("legendgrouptitle", arg, legendgrouptitle) self._set_property("legendrank", arg, legendrank) @@ -1801,29 +1489,23 @@ def __init__( self._set_property("marker", arg, marker) self._set_property("maxdepth", arg, maxdepth) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("outsidetextfont", arg, outsidetextfont) self._set_property("parents", arg, parents) - self._set_property("parentssrc", arg, parentssrc) self._set_property("pathbar", arg, pathbar) self._set_property("root", arg, root) self._set_property("sort", arg, sort) - self._set_property("stream", arg, stream) self._set_property("text", arg, text) self._set_property("textfont", arg, textfont) self._set_property("textinfo", arg, textinfo) self._set_property("textposition", arg, textposition) - self._set_property("textsrc", arg, textsrc) self._set_property("texttemplate", arg, texttemplate) self._set_property("texttemplatefallback", arg, texttemplatefallback) - self._set_property("texttemplatesrc", arg, texttemplatesrc) self._set_property("tiling", arg, tiling) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("values", arg, values) - self._set_property("valuessrc", arg, valuessrc) self._set_property("visible", arg, visible) self._props["type"] = "treemap" diff --git a/plotly/graph_objs/_violin.py b/plotly/graph_objs/_violin.py index bc20c2cee89..513abe71cde 100644 --- a/plotly/graph_objs/_violin.py +++ b/plotly/graph_objs/_violin.py @@ -13,19 +13,14 @@ class Violin(_BaseTraceType): "bandwidth", "box", "customdata", - "customdatasrc", "fillcolor", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hoveron", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "jitter", "legend", "legendgroup", @@ -36,7 +31,6 @@ class Violin(_BaseTraceType): "marker", "meanline", "meta", - "metasrc", "name", "offsetgroup", "opacity", @@ -52,9 +46,7 @@ class Violin(_BaseTraceType): "side", "span", "spanmode", - "stream", "text", - "textsrc", "type", "uid", "uirevision", @@ -65,12 +57,10 @@ class Violin(_BaseTraceType): "x0", "xaxis", "xhoverformat", - "xsrc", "y", "y0", "yaxis", "yhoverformat", - "ysrc", "zorder", } @@ -155,25 +145,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def fillcolor(self): """ @@ -201,7 +172,7 @@ def fillcolor(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -222,25 +193,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -349,25 +301,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -388,25 +321,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -427,24 +341,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def jitter(self): """ @@ -656,24 +552,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -840,7 +718,7 @@ def quartilemethod(self, val): def scalegroup(self): """ If there are multiple violins that should be sized according to - to some metric (see `scalemode`), link them by providing a non- + some metric (see `scalemode`), link them by providing a non- empty group id here shared by every trace in the same group. If a violin's `width` is undefined, `scalegroup` will default to the trace's name. In this case, violins with the same names @@ -1012,25 +890,6 @@ def spanmode(self): def spanmode(self, val): self["spanmode"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.violin.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.violin.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def text(self): """ @@ -1055,24 +914,6 @@ def text(self): def text(self, val): self["text"] = val - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def uid(self): """ @@ -1248,7 +1089,7 @@ def xaxis(self, val): @property def xhoverformat(self): """ - Sets the hover text formatting rulefor `x` using d3 formatting + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1274,24 +1115,6 @@ def xhoverformat(self): def xhoverformat(self, val): self["xhoverformat"] = val - @property - def xsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `x`. - - The 'xsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xsrc"] - - @xsrc.setter - def xsrc(self, val): - self["xsrc"] = val - @property def y(self): """ @@ -1356,7 +1179,7 @@ def yaxis(self, val): @property def yhoverformat(self): """ - Sets the hover text formatting rulefor `y` using d3 formatting + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1382,24 +1205,6 @@ def yhoverformat(self): def yhoverformat(self, val): self["yhoverformat"] = val - @property - def ysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `y`. - - The 'ysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ysrc"] - - @ysrc.setter - def ysrc(self, val): - self["ysrc"] = val - @property def zorder(self): """ @@ -1444,21 +1249,15 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. fillcolor Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.violin.Hoverlabel` instance or dict with compatible properties @@ -1505,21 +1304,12 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. jitter Sets the amount of jitter in the sample points drawn. If 0, the sample points align along the distribution @@ -1574,9 +1364,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. For violin traces, the name @@ -1629,9 +1416,9 @@ def _prop_descriptions(self): and Q3 the median of the upper half. scalegroup If there are multiple violins that should be sized - according to to some metric (see `scalemode`), link - them by providing a non-empty group id here shared by - every trace in the same group. If a violin's `width` is + according to some metric (see `scalemode`), link them + by providing a non-empty group id here shared by every + trace in the same group. If a violin's `width` is undefined, `scalegroup` will default to the trace's name. In this case, violins with the same names will be linked together @@ -1672,9 +1459,6 @@ def _prop_descriptions(self): sample's minimum to its maximum value. For custom span settings, use mode "manual" and fill in the `span` attribute. - stream - :class:`plotly.graph_objects.violin.Stream` instance or - dict with compatible properties text Sets the text elements associated with each sample value. If a single string, the same string appears over @@ -1682,9 +1466,6 @@ def _prop_descriptions(self): are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1733,7 +1514,7 @@ def _prop_descriptions(self): x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1745,9 +1526,6 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y sample data or coordinates. See overview for more info. @@ -1761,7 +1539,7 @@ def _prop_descriptions(self): y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1773,9 +1551,6 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -1790,19 +1565,14 @@ def __init__( bandwidth=None, box=None, customdata=None, - customdatasrc=None, fillcolor=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hoveron=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, jitter=None, legend=None, legendgroup=None, @@ -1813,7 +1583,6 @@ def __init__( marker=None, meanline=None, meta=None, - metasrc=None, name=None, offsetgroup=None, opacity=None, @@ -1829,9 +1598,7 @@ def __init__( side=None, span=None, spanmode=None, - stream=None, text=None, - textsrc=None, uid=None, uirevision=None, unselected=None, @@ -1841,12 +1608,10 @@ def __init__( x0=None, xaxis=None, xhoverformat=None, - xsrc=None, y=None, y0=None, yaxis=None, yhoverformat=None, - ysrc=None, zorder=None, **kwargs, ): @@ -1857,8 +1622,7 @@ def __init__( using `y` (`x`) values. By supplying an `x` (`y`) array, one violin per distinct x (y) value is drawn If no `x` (`y`) list is provided, a single violin is drawn. That violin position is - then positioned with with `name` or with `x0` (`y0`) if - provided. + then positioned with `name` or with `x0` (`y0`) if provided. Parameters ---------- @@ -1882,21 +1646,15 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. fillcolor Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.violin.Hoverlabel` instance or dict with compatible properties @@ -1943,21 +1701,12 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. jitter Sets the amount of jitter in the sample points drawn. If 0, the sample points align along the distribution @@ -2012,9 +1761,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. For violin traces, the name @@ -2067,9 +1813,9 @@ def __init__( and Q3 the median of the upper half. scalegroup If there are multiple violins that should be sized - according to to some metric (see `scalemode`), link - them by providing a non-empty group id here shared by - every trace in the same group. If a violin's `width` is + according to some metric (see `scalemode`), link them + by providing a non-empty group id here shared by every + trace in the same group. If a violin's `width` is undefined, `scalegroup` will default to the trace's name. In this case, violins with the same names will be linked together @@ -2110,9 +1856,6 @@ def __init__( sample's minimum to its maximum value. For custom span settings, use mode "manual" and fill in the `span` attribute. - stream - :class:`plotly.graph_objects.violin.Stream` instance or - dict with compatible properties text Sets the text elements associated with each sample value. If a single string, the same string appears over @@ -2120,9 +1863,6 @@ def __init__( are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -2171,7 +1911,7 @@ def __init__( x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2183,9 +1923,6 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y sample data or coordinates. See overview for more info. @@ -2199,7 +1936,7 @@ def __init__( y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2211,9 +1948,6 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -2248,19 +1982,14 @@ def __init__( self._set_property("bandwidth", arg, bandwidth) self._set_property("box", arg, box) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("fillcolor", arg, fillcolor) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hoveron", arg, hoveron) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("jitter", arg, jitter) self._set_property("legend", arg, legend) self._set_property("legendgroup", arg, legendgroup) @@ -2271,7 +2000,6 @@ def __init__( self._set_property("marker", arg, marker) self._set_property("meanline", arg, meanline) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("offsetgroup", arg, offsetgroup) self._set_property("opacity", arg, opacity) @@ -2287,9 +2015,7 @@ def __init__( self._set_property("side", arg, side) self._set_property("span", arg, span) self._set_property("spanmode", arg, spanmode) - self._set_property("stream", arg, stream) self._set_property("text", arg, text) - self._set_property("textsrc", arg, textsrc) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("unselected", arg, unselected) @@ -2299,12 +2025,10 @@ def __init__( self._set_property("x0", arg, x0) self._set_property("xaxis", arg, xaxis) self._set_property("xhoverformat", arg, xhoverformat) - self._set_property("xsrc", arg, xsrc) self._set_property("y", arg, y) self._set_property("y0", arg, y0) self._set_property("yaxis", arg, yaxis) self._set_property("yhoverformat", arg, yhoverformat) - self._set_property("ysrc", arg, ysrc) self._set_property("zorder", arg, zorder) self._props["type"] = "violin" diff --git a/plotly/graph_objs/_volume.py b/plotly/graph_objs/_volume.py index 28edde3a074..7394966f535 100644 --- a/plotly/graph_objs/_volume.py +++ b/plotly/graph_objs/_volume.py @@ -20,18 +20,13 @@ class Volume(_BaseTraceType): "colorscale", "contour", "customdata", - "customdatasrc", "flatshading", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "isomax", "isomin", "legend", @@ -42,7 +37,6 @@ class Volume(_BaseTraceType): "lighting", "lightposition", "meta", - "metasrc", "name", "opacity", "opacityscale", @@ -52,26 +46,20 @@ class Volume(_BaseTraceType): "showscale", "slices", "spaceframe", - "stream", "surface", "text", - "textsrc", "type", "uid", "uirevision", "value", "valuehoverformat", - "valuesrc", "visible", "x", "xhoverformat", - "xsrc", "y", "yhoverformat", - "ysrc", "z", "zhoverformat", - "zsrc", } @property @@ -244,7 +232,7 @@ def colorscale(self): """ Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, - hsv, or named color string. At minimum, a mapping for the + hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. @@ -330,25 +318,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def flatshading(self): """ @@ -372,7 +341,7 @@ def flatshading(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -393,25 +362,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -497,25 +447,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -536,25 +467,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -575,24 +487,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def isomax(self): """ @@ -800,24 +694,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -1005,25 +881,6 @@ def spaceframe(self): def spaceframe(self, val): self["spaceframe"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.volume.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.volume.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def surface(self): """ @@ -1065,24 +922,6 @@ def text(self): def text(self, val): self["text"] = val - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def uid(self): """ @@ -1155,7 +994,7 @@ def value(self, val): @property def valuehoverformat(self): """ - Sets the hover text formatting rulefor `value` using d3 + Sets the hover text formatting rule for `value` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format.By @@ -1175,24 +1014,6 @@ def valuehoverformat(self): def valuehoverformat(self, val): self["valuehoverformat"] = val - @property - def valuesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `value`. - - The 'valuesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["valuesrc"] - - @valuesrc.setter - def valuesrc(self, val): - self["valuesrc"] = val - @property def visible(self): """ @@ -1235,7 +1056,7 @@ def x(self, val): @property def xhoverformat(self): """ - Sets the hover text formatting rulefor `x` using d3 formatting + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1261,24 +1082,6 @@ def xhoverformat(self): def xhoverformat(self, val): self["xhoverformat"] = val - @property - def xsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `x`. - - The 'xsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xsrc"] - - @xsrc.setter - def xsrc(self, val): - self["xsrc"] = val - @property def y(self): """ @@ -1300,7 +1103,7 @@ def y(self, val): @property def yhoverformat(self): """ - Sets the hover text formatting rulefor `y` using d3 formatting + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1326,24 +1129,6 @@ def yhoverformat(self): def yhoverformat(self, val): self["yhoverformat"] = val - @property - def ysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `y`. - - The 'ysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ysrc"] - - @ysrc.setter - def ysrc(self, val): - self["ysrc"] = val - @property def z(self): """ @@ -1365,7 +1150,7 @@ def z(self, val): @property def zhoverformat(self): """ - Sets the hover text formatting rulefor `z` using d3 formatting + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1391,24 +1176,6 @@ def zhoverformat(self): def zhoverformat(self, val): self["zhoverformat"] = val - @property - def zsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `z`. - - The 'zsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["zsrc"] - - @zsrc.setter - def zsrc(self, val): - self["zsrc"] = val - @property def type(self): return self._props["type"] @@ -1457,15 +1224,15 @@ def _prop_descriptions(self): colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. contour :class:`plotly.graph_objects.volume.Contour` instance or dict with compatible properties @@ -1474,21 +1241,15 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. flatshading Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low- poly look via flat reflections. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.volume.Hoverlabel` instance or dict with compatible properties @@ -1531,21 +1292,12 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. isomax Sets the maximum boundary for iso-surface plot. isomin @@ -1596,9 +1348,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1643,9 +1392,6 @@ def _prop_descriptions(self): spaceframe :class:`plotly.graph_objects.volume.Spaceframe` instance or dict with compatible properties - stream - :class:`plotly.graph_objects.volume.Stream` instance or - dict with compatible properties surface :class:`plotly.graph_objects.volume.Surface` instance or dict with compatible properties @@ -1654,9 +1400,6 @@ def _prop_descriptions(self): trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -1682,14 +1425,11 @@ def _prop_descriptions(self): value Sets the 4th dimension (value) of the vertices. valuehoverformat - Sets the hover text formatting rulefor `value` using + Sets the hover text formatting rule for `value` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format. - valuesrc - Sets the source reference on Chart Studio Cloud for - `value`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -1698,7 +1438,7 @@ def _prop_descriptions(self): x Sets the X coordinates of the vertices on X axis. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1710,13 +1450,10 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the Y coordinates of the vertices on Y axis. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1728,13 +1465,10 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the Z coordinates of the vertices on Z axis. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -1746,9 +1480,6 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. """ def __init__( @@ -1765,18 +1496,13 @@ def __init__( colorscale=None, contour=None, customdata=None, - customdatasrc=None, flatshading=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, isomax=None, isomin=None, legend=None, @@ -1787,7 +1513,6 @@ def __init__( lighting=None, lightposition=None, meta=None, - metasrc=None, name=None, opacity=None, opacityscale=None, @@ -1797,25 +1522,19 @@ def __init__( showscale=None, slices=None, spaceframe=None, - stream=None, surface=None, text=None, - textsrc=None, uid=None, uirevision=None, value=None, valuehoverformat=None, - valuesrc=None, visible=None, x=None, xhoverformat=None, - xsrc=None, y=None, yhoverformat=None, - ysrc=None, z=None, zhoverformat=None, - zsrc=None, **kwargs, ): """ @@ -1874,15 +1593,15 @@ def __init__( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. contour :class:`plotly.graph_objects.volume.Contour` instance or dict with compatible properties @@ -1891,21 +1610,15 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. flatshading Determines whether or not normal smoothing is applied to the meshes, creating meshes with an angular, low- poly look via flat reflections. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.volume.Hoverlabel` instance or dict with compatible properties @@ -1948,21 +1661,12 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Same as `text`. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. isomax Sets the maximum boundary for iso-surface plot. isomin @@ -2013,9 +1717,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -2060,9 +1761,6 @@ def __init__( spaceframe :class:`plotly.graph_objects.volume.Spaceframe` instance or dict with compatible properties - stream - :class:`plotly.graph_objects.volume.Stream` instance or - dict with compatible properties surface :class:`plotly.graph_objects.volume.Surface` instance or dict with compatible properties @@ -2071,9 +1769,6 @@ def __init__( trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -2099,14 +1794,11 @@ def __init__( value Sets the 4th dimension (value) of the vertices. valuehoverformat - Sets the hover text formatting rulefor `value` using + Sets the hover text formatting rule for `value` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d 3/d3-format/tree/v1.4.5#d3-format.By default the values are formatted using generic number format. - valuesrc - Sets the source reference on Chart Studio Cloud for - `value`. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as @@ -2115,7 +1807,7 @@ def __init__( x Sets the X coordinates of the vertices on X axis. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2127,13 +1819,10 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the Y coordinates of the vertices on Y axis. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2145,13 +1834,10 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the Z coordinates of the vertices on Z axis. zhoverformat - Sets the hover text formatting rulefor `z` using d3 + Sets the hover text formatting rule for `z` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2163,9 +1849,6 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display *09~15~23.46*By default the values are formatted using `zaxis.hoverformat`. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. Returns ------- @@ -2202,18 +1885,13 @@ def __init__( self._set_property("colorscale", arg, colorscale) self._set_property("contour", arg, contour) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("flatshading", arg, flatshading) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("isomax", arg, isomax) self._set_property("isomin", arg, isomin) self._set_property("legend", arg, legend) @@ -2224,7 +1902,6 @@ def __init__( self._set_property("lighting", arg, lighting) self._set_property("lightposition", arg, lightposition) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("opacity", arg, opacity) self._set_property("opacityscale", arg, opacityscale) @@ -2234,25 +1911,19 @@ def __init__( self._set_property("showscale", arg, showscale) self._set_property("slices", arg, slices) self._set_property("spaceframe", arg, spaceframe) - self._set_property("stream", arg, stream) self._set_property("surface", arg, surface) self._set_property("text", arg, text) - self._set_property("textsrc", arg, textsrc) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("value", arg, value) self._set_property("valuehoverformat", arg, valuehoverformat) - self._set_property("valuesrc", arg, valuesrc) self._set_property("visible", arg, visible) self._set_property("x", arg, x) self._set_property("xhoverformat", arg, xhoverformat) - self._set_property("xsrc", arg, xsrc) self._set_property("y", arg, y) self._set_property("yhoverformat", arg, yhoverformat) - self._set_property("ysrc", arg, ysrc) self._set_property("z", arg, z) self._set_property("zhoverformat", arg, zhoverformat) - self._set_property("zsrc", arg, zsrc) self._props["type"] = "volume" arg.pop("type", None) diff --git a/plotly/graph_objs/_waterfall.py b/plotly/graph_objs/_waterfall.py index 2e085b60cdd..a6790cc59a1 100644 --- a/plotly/graph_objs/_waterfall.py +++ b/plotly/graph_objs/_waterfall.py @@ -15,20 +15,15 @@ class Waterfall(_BaseTraceType): "connector", "constraintext", "customdata", - "customdatasrc", "decreasing", "dx", "dy", "hoverinfo", - "hoverinfosrc", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "hovertext", - "hovertextsrc", "ids", - "idssrc", "increasing", "insidetextanchor", "insidetextfont", @@ -38,36 +33,28 @@ class Waterfall(_BaseTraceType): "legendrank", "legendwidth", "measure", - "measuresrc", "meta", - "metasrc", "name", "offset", "offsetgroup", - "offsetsrc", "opacity", "orientation", "outsidetextfont", "selectedpoints", "showlegend", - "stream", "text", "textangle", "textfont", "textinfo", "textposition", - "textpositionsrc", - "textsrc", "texttemplate", "texttemplatefallback", - "texttemplatesrc", "totals", "type", "uid", "uirevision", "visible", "width", - "widthsrc", "x", "x0", "xaxis", @@ -75,7 +62,6 @@ class Waterfall(_BaseTraceType): "xperiod", "xperiod0", "xperiodalignment", - "xsrc", "y", "y0", "yaxis", @@ -83,7 +69,6 @@ class Waterfall(_BaseTraceType): "yperiod", "yperiod0", "yperiodalignment", - "ysrc", "zorder", } @@ -207,25 +192,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def decreasing(self): """ @@ -284,7 +250,7 @@ def dy(self, val): @property def hoverinfo(self): """ - Determines which trace information appear on hover. If `none` + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -305,25 +271,6 @@ def hoverinfo(self): def hoverinfo(self, val): self["hoverinfo"] = val - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - @property def hoverlabel(self): """ @@ -410,25 +357,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def hovertext(self): """ @@ -453,25 +381,6 @@ def hovertext(self): def hovertext(self, val): self["hovertext"] = val - @property - def hovertextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertext`. - - The 'hovertextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertextsrc"] - - @hovertextsrc.setter - def hovertextsrc(self, val): - self["hovertextsrc"] = val - @property def ids(self): """ @@ -492,24 +401,6 @@ def ids(self): def ids(self, val): self["ids"] = val - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - @property def increasing(self): """ @@ -699,24 +590,6 @@ def measure(self): def measure(self, val): self["measure"] = val - @property - def measuresrc(self): - """ - Sets the source reference on Chart Studio Cloud for `measure`. - - The 'measuresrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["measuresrc"] - - @measuresrc.setter - def measuresrc(self, val): - self["measuresrc"] = val - @property def meta(self): """ @@ -743,24 +616,6 @@ def meta(self): def meta(self, val): self["meta"] = val - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - @property def name(self): """ @@ -823,24 +678,6 @@ def offsetgroup(self): def offsetgroup(self, val): self["offsetgroup"] = val - @property - def offsetsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `offset`. - - The 'offsetsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["offsetsrc"] - - @offsetsrc.setter - def offsetsrc(self, val): - self["offsetsrc"] = val - @property def opacity(self): """ @@ -941,25 +778,6 @@ def showlegend(self): def showlegend(self, val): self["showlegend"] = val - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.waterfall.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Returns - ------- - plotly.graph_objs.waterfall.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - @property def text(self): """ @@ -1032,9 +850,12 @@ def textfont(self, val): @property def textinfo(self): """ - Determines which trace information appear on the graph. In the + Determines what trace information appears on the graph. In the case of having multiple waterfalls, totals are computed - separately (per trace). + separately (per trace). Flags are rendered in a fixed order; + use `texttemplate` if you need explicit control over the + rendered string, including the order of fields and surrounding + text. The 'textinfo' property is a flaglist and may be specified as a string containing: @@ -1079,43 +900,6 @@ def textposition(self): def textposition(self, val): self["textposition"] = val - @property - def textpositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `textposition`. - - The 'textpositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textpositionsrc"] - - @textpositionsrc.setter - def textpositionsrc(self, val): - self["textpositionsrc"] = val - - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - @property def texttemplate(self): """ @@ -1172,25 +956,6 @@ def texttemplatefallback(self): def texttemplatefallback(self, val): self["texttemplatefallback"] = val - @property - def texttemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `texttemplate`. - - The 'texttemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["texttemplatesrc"] - - @texttemplatesrc.setter - def texttemplatesrc(self, val): - self["texttemplatesrc"] = val - @property def totals(self): """ @@ -1301,24 +1066,6 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def x(self): """ @@ -1382,7 +1129,7 @@ def xaxis(self, val): @property def xhoverformat(self): """ - Sets the hover text formatting rulefor `x` using d3 formatting + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1469,24 +1216,6 @@ def xperiodalignment(self): def xperiodalignment(self, val): self["xperiodalignment"] = val - @property - def xsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `x`. - - The 'xsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xsrc"] - - @xsrc.setter - def xsrc(self, val): - self["xsrc"] = val - @property def y(self): """ @@ -1550,7 +1279,7 @@ def yaxis(self, val): @property def yhoverformat(self): """ - Sets the hover text formatting rulefor `y` using d3 formatting + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for @@ -1637,24 +1366,6 @@ def yperiodalignment(self): def yperiodalignment(self, val): self["yperiodalignment"] = val - @property - def ysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `y`. - - The 'ysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ysrc"] - - @ysrc.setter - def ysrc(self, val): - self["ysrc"] = val - @property def zorder(self): """ @@ -1706,9 +1417,6 @@ def _prop_descriptions(self): listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. decreasing :class:`plotly.graph_objects.waterfall.Decreasing` instance or dict with compatible properties @@ -1717,13 +1425,10 @@ def _prop_descriptions(self): dy Sets the y coordinate step. See `y0` for more info. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.waterfall.Hoverlabel` instance or dict with compatible properties @@ -1768,9 +1473,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over @@ -1778,16 +1480,10 @@ def _prop_descriptions(self): are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. increasing :class:`plotly.graph_objects.waterfall.Increasing` instance or dict with compatible properties @@ -1829,9 +1525,6 @@ def _prop_descriptions(self): possible to use 'total' to compute the sums. Also 'absolute' could be applied to reset the computed total or to declare an initial value where needed. - measuresrc - Sets the source reference on Chart Studio Cloud for - `measure`. meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -1845,9 +1538,6 @@ def _prop_descriptions(self): layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -1860,9 +1550,6 @@ def _prop_descriptions(self): Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up. - offsetsrc - Sets the source reference on Chart Studio Cloud for - `offset`. opacity Sets the opacity of the trace. orientation @@ -1881,9 +1568,6 @@ def _prop_descriptions(self): showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.waterfall.Stream` instance - or dict with compatible properties text Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the @@ -1901,9 +1585,12 @@ def _prop_descriptions(self): textfont Sets the font used for `text`. textinfo - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. In the case of having multiple waterfalls, totals are - computed separately (per trace). + computed separately (per trace). Flags are rendered in + a fixed order; use `texttemplate` if you need explicit + control over the rendered string, including the order + of fields and surrounding text. textposition Specifies the location of the `text`. "inside" positions `text` inside, next to the bar end (rotated @@ -1914,12 +1601,6 @@ def _prop_descriptions(self): inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -1947,9 +1628,6 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. totals :class:`plotly.graph_objects.waterfall.Totals` instance or dict with compatible properties @@ -1982,9 +1660,6 @@ def _prop_descriptions(self): visible). width Sets the bar width (in position axis units). - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. x Sets the x coordinates. x0 @@ -1997,7 +1672,7 @@ def _prop_descriptions(self): x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2025,9 +1700,6 @@ def _prop_descriptions(self): xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates. y0 @@ -2040,7 +1712,7 @@ def _prop_descriptions(self): y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2068,9 +1740,6 @@ def _prop_descriptions(self): yperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -2087,20 +1756,15 @@ def __init__( connector=None, constraintext=None, customdata=None, - customdatasrc=None, decreasing=None, dx=None, dy=None, hoverinfo=None, - hoverinfosrc=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, hovertext=None, - hovertextsrc=None, ids=None, - idssrc=None, increasing=None, insidetextanchor=None, insidetextfont=None, @@ -2110,35 +1774,27 @@ def __init__( legendrank=None, legendwidth=None, measure=None, - measuresrc=None, meta=None, - metasrc=None, name=None, offset=None, offsetgroup=None, - offsetsrc=None, opacity=None, orientation=None, outsidetextfont=None, selectedpoints=None, showlegend=None, - stream=None, text=None, textangle=None, textfont=None, textinfo=None, textposition=None, - textpositionsrc=None, - textsrc=None, texttemplate=None, texttemplatefallback=None, - texttemplatesrc=None, totals=None, uid=None, uirevision=None, visible=None, width=None, - widthsrc=None, x=None, x0=None, xaxis=None, @@ -2146,7 +1802,6 @@ def __init__( xperiod=None, xperiod0=None, xperiodalignment=None, - xsrc=None, y=None, y0=None, yaxis=None, @@ -2154,7 +1809,6 @@ def __init__( yperiod=None, yperiod0=None, yperiodalignment=None, - ysrc=None, zorder=None, **kwargs, ): @@ -2197,9 +1851,6 @@ def __init__( listening to hover, click and selection events. Note that, "scatter" traces also appends customdata items in the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. decreasing :class:`plotly.graph_objects.waterfall.Decreasing` instance or dict with compatible properties @@ -2208,13 +1859,10 @@ def __init__( dy Sets the y coordinate step. See `y0` for more info. hoverinfo - Determines which trace information appear on hover. If + Determines what trace information appears on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. hoverlabel :class:`plotly.graph_objects.waterfall.Hoverlabel` instance or dict with compatible properties @@ -2259,9 +1907,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. hovertext Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over @@ -2269,16 +1914,10 @@ def __init__( are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag. - hovertextsrc - Sets the source reference on Chart Studio Cloud for - `hovertext`. ids Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. increasing :class:`plotly.graph_objects.waterfall.Increasing` instance or dict with compatible properties @@ -2320,9 +1959,6 @@ def __init__( possible to use 'total' to compute the sums. Also 'absolute' could be applied to reset the computed total or to declare an initial value where needed. - measuresrc - Sets the source reference on Chart Studio Cloud for - `measure`. meta Assigns extra meta information associated with this trace that can be used in various text attributes. @@ -2336,9 +1972,6 @@ def __init__( layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. name Sets the trace name. The trace name appears as the legend item and on hover. @@ -2351,9 +1984,6 @@ def __init__( Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up. - offsetsrc - Sets the source reference on Chart Studio Cloud for - `offset`. opacity Sets the opacity of the trace. orientation @@ -2372,9 +2002,6 @@ def __init__( showlegend Determines whether or not an item corresponding to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.waterfall.Stream` instance - or dict with compatible properties text Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the @@ -2392,9 +2019,12 @@ def __init__( textfont Sets the font used for `text`. textinfo - Determines which trace information appear on the graph. + Determines what trace information appears on the graph. In the case of having multiple waterfalls, totals are - computed separately (per trace). + computed separately (per trace). Flags are rendered in + a fixed order; use `texttemplate` if you need explicit + control over the rendered string, including the order + of fields and surrounding text. textposition Specifies the location of the `text`. "inside" positions `text` inside, next to the bar end (rotated @@ -2405,12 +2035,6 @@ def __init__( inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears. - textpositionsrc - Sets the source reference on Chart Studio Cloud for - `textposition`. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. texttemplate Template string used for rendering the information text that appears on points. Note that this will override @@ -2438,9 +2062,6 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - texttemplatesrc - Sets the source reference on Chart Studio Cloud for - `texttemplate`. totals :class:`plotly.graph_objects.waterfall.Totals` instance or dict with compatible properties @@ -2473,9 +2094,6 @@ def __init__( visible). width Sets the bar width (in position axis units). - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. x Sets the x coordinates. x0 @@ -2488,7 +2106,7 @@ def __init__( x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on. xhoverformat - Sets the hover text formatting rulefor `x` using d3 + Sets the hover text formatting rule for `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2516,9 +2134,6 @@ def __init__( xperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y coordinates. y0 @@ -2531,7 +2146,7 @@ def __init__( y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on. yhoverformat - Sets the hover text formatting rulefor `y` using d3 + Sets the hover text formatting rule for `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. @@ -2559,9 +2174,6 @@ def __init__( yperiodalignment Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. zorder Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG @@ -2598,20 +2210,15 @@ def __init__( self._set_property("connector", arg, connector) self._set_property("constraintext", arg, constraintext) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("decreasing", arg, decreasing) self._set_property("dx", arg, dx) self._set_property("dy", arg, dy) self._set_property("hoverinfo", arg, hoverinfo) - self._set_property("hoverinfosrc", arg, hoverinfosrc) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("hovertext", arg, hovertext) - self._set_property("hovertextsrc", arg, hovertextsrc) self._set_property("ids", arg, ids) - self._set_property("idssrc", arg, idssrc) self._set_property("increasing", arg, increasing) self._set_property("insidetextanchor", arg, insidetextanchor) self._set_property("insidetextfont", arg, insidetextfont) @@ -2621,35 +2228,27 @@ def __init__( self._set_property("legendrank", arg, legendrank) self._set_property("legendwidth", arg, legendwidth) self._set_property("measure", arg, measure) - self._set_property("measuresrc", arg, measuresrc) self._set_property("meta", arg, meta) - self._set_property("metasrc", arg, metasrc) self._set_property("name", arg, name) self._set_property("offset", arg, offset) self._set_property("offsetgroup", arg, offsetgroup) - self._set_property("offsetsrc", arg, offsetsrc) self._set_property("opacity", arg, opacity) self._set_property("orientation", arg, orientation) self._set_property("outsidetextfont", arg, outsidetextfont) self._set_property("selectedpoints", arg, selectedpoints) self._set_property("showlegend", arg, showlegend) - self._set_property("stream", arg, stream) self._set_property("text", arg, text) self._set_property("textangle", arg, textangle) self._set_property("textfont", arg, textfont) self._set_property("textinfo", arg, textinfo) self._set_property("textposition", arg, textposition) - self._set_property("textpositionsrc", arg, textpositionsrc) - self._set_property("textsrc", arg, textsrc) self._set_property("texttemplate", arg, texttemplate) self._set_property("texttemplatefallback", arg, texttemplatefallback) - self._set_property("texttemplatesrc", arg, texttemplatesrc) self._set_property("totals", arg, totals) self._set_property("uid", arg, uid) self._set_property("uirevision", arg, uirevision) self._set_property("visible", arg, visible) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._set_property("x", arg, x) self._set_property("x0", arg, x0) self._set_property("xaxis", arg, xaxis) @@ -2657,7 +2256,6 @@ def __init__( self._set_property("xperiod", arg, xperiod) self._set_property("xperiod0", arg, xperiod0) self._set_property("xperiodalignment", arg, xperiodalignment) - self._set_property("xsrc", arg, xsrc) self._set_property("y", arg, y) self._set_property("y0", arg, y0) self._set_property("yaxis", arg, yaxis) @@ -2665,7 +2263,6 @@ def __init__( self._set_property("yperiod", arg, yperiod) self._set_property("yperiod0", arg, yperiod0) self._set_property("yperiodalignment", arg, yperiodalignment) - self._set_property("ysrc", arg, ysrc) self._set_property("zorder", arg, zorder) self._props["type"] = "waterfall" diff --git a/plotly/graph_objs/bar/__init__.py b/plotly/graph_objs/bar/__init__.py index 3b22b71d4c3..9e1ad21f955 100644 --- a/plotly/graph_objs/bar/__init__.py +++ b/plotly/graph_objs/bar/__init__.py @@ -10,7 +10,6 @@ from ._marker import Marker from ._outsidetextfont import Outsidetextfont from ._selected import Selected - from ._stream import Stream from ._textfont import Textfont from ._unselected import Unselected from . import hoverlabel @@ -33,7 +32,6 @@ "._marker.Marker", "._outsidetextfont.Outsidetextfont", "._selected.Selected", - "._stream.Stream", "._textfont.Textfont", "._unselected.Unselected", ], diff --git a/plotly/graph_objs/bar/_error_x.py b/plotly/graph_objs/bar/_error_x.py index 43a21e51d1b..a8f967c4359 100644 --- a/plotly/graph_objs/bar/_error_x.py +++ b/plotly/graph_objs/bar/_error_x.py @@ -11,8 +11,6 @@ class ErrorX(_BaseTraceHierarchyType): _valid_props = { "array", "arrayminus", - "arrayminussrc", - "arraysrc", "color", "copy_ystyle", "symmetric", @@ -65,43 +63,6 @@ def arrayminus(self): def arrayminus(self, val): self["arrayminus"] = val - @property - def arrayminussrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - - The 'arrayminussrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["arrayminussrc"] - - @arrayminussrc.setter - def arrayminussrc(self, val): - self["arrayminussrc"] = val - - @property - def arraysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `array`. - - The 'arraysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["arraysrc"] - - @arraysrc.setter - def arraysrc(self, val): - self["arraysrc"] = val - @property def color(self): """ @@ -327,12 +288,6 @@ def _prop_descriptions(self): bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data. - arrayminussrc - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - arraysrc - Sets the source reference on Chart Studio Cloud for - `array`. color Sets the stroke color of the error bars. copy_ystyle @@ -380,8 +335,6 @@ def __init__( arg=None, array=None, arrayminus=None, - arrayminussrc=None, - arraysrc=None, color=None, copy_ystyle=None, symmetric=None, @@ -412,12 +365,6 @@ def __init__( bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data. - arrayminussrc - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - arraysrc - Sets the source reference on Chart Studio Cloud for - `array`. color Sets the stroke color of the error bars. copy_ystyle @@ -485,8 +432,6 @@ def __init__( self._set_property("array", arg, array) self._set_property("arrayminus", arg, arrayminus) - self._set_property("arrayminussrc", arg, arrayminussrc) - self._set_property("arraysrc", arg, arraysrc) self._set_property("color", arg, color) self._set_property("copy_ystyle", arg, copy_ystyle) self._set_property("symmetric", arg, symmetric) diff --git a/plotly/graph_objs/bar/_error_y.py b/plotly/graph_objs/bar/_error_y.py index 4a3713ca562..514bfe755a7 100644 --- a/plotly/graph_objs/bar/_error_y.py +++ b/plotly/graph_objs/bar/_error_y.py @@ -11,8 +11,6 @@ class ErrorY(_BaseTraceHierarchyType): _valid_props = { "array", "arrayminus", - "arrayminussrc", - "arraysrc", "color", "symmetric", "thickness", @@ -64,43 +62,6 @@ def arrayminus(self): def arrayminus(self, val): self["arrayminus"] = val - @property - def arrayminussrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - - The 'arrayminussrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["arrayminussrc"] - - @arrayminussrc.setter - def arrayminussrc(self, val): - self["arrayminussrc"] = val - - @property - def arraysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `array`. - - The 'arraysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["arraysrc"] - - @arraysrc.setter - def arraysrc(self, val): - self["arraysrc"] = val - @property def color(self): """ @@ -310,12 +271,6 @@ def _prop_descriptions(self): bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data. - arrayminussrc - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - arraysrc - Sets the source reference on Chart Studio Cloud for - `array`. color Sets the stroke color of the error bars. symmetric @@ -361,8 +316,6 @@ def __init__( arg=None, array=None, arrayminus=None, - arrayminussrc=None, - arraysrc=None, color=None, symmetric=None, thickness=None, @@ -392,12 +345,6 @@ def __init__( bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data. - arrayminussrc - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - arraysrc - Sets the source reference on Chart Studio Cloud for - `array`. color Sets the stroke color of the error bars. symmetric @@ -463,8 +410,6 @@ def __init__( self._set_property("array", arg, array) self._set_property("arrayminus", arg, arrayminus) - self._set_property("arrayminussrc", arg, arrayminussrc) - self._set_property("arraysrc", arg, arraysrc) self._set_property("color", arg, color) self._set_property("symmetric", arg, symmetric) self._set_property("thickness", arg, thickness) diff --git a/plotly/graph_objs/bar/_hoverlabel.py b/plotly/graph_objs/bar/_hoverlabel.py index ac799319088..fac069c97b3 100644 --- a/plotly/graph_objs/bar/_hoverlabel.py +++ b/plotly/graph_objs/bar/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "bar.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/bar/_insidetextfont.py b/plotly/graph_objs/bar/_insidetextfont.py index f6c2d04b4ff..2c3809255cb 100644 --- a/plotly/graph_objs/bar/_insidetextfont.py +++ b/plotly/graph_objs/bar/_insidetextfont.py @@ -10,23 +10,14 @@ class Insidetextfont(_BaseTraceHierarchyType): _path_str = "bar.insidetextfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.bar.Insidetextfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/bar/_marker.py b/plotly/graph_objs/bar/_marker.py index a1fc12688db..da46ee159fa 100644 --- a/plotly/graph_objs/bar/_marker.py +++ b/plotly/graph_objs/bar/_marker.py @@ -18,11 +18,9 @@ class Marker(_BaseTraceHierarchyType): "coloraxis", "colorbar", "colorscale", - "colorsrc", "cornerradius", "line", "opacity", - "opacitysrc", "pattern", "reversescale", "showscale", @@ -217,9 +215,9 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, - hex, hsl, hsv, or named color string. At minimum, a mapping for - the lowest (0) and highest (1) values are required. For - example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To + hex, hsl, hsla, hwb, or named color string. At minimum, a + mapping for the lowest (0) and highest (1) values are required. + For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,B @@ -263,24 +261,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def cornerradius(self): """ @@ -340,24 +320,6 @@ def opacity(self): def opacity(self, val): self["opacity"] = val - @property - def opacitysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `opacity`. - - The 'opacitysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["opacitysrc"] - - @opacitysrc.setter - def opacitysrc(self, val): - self["opacitysrc"] = val - @property def pattern(self): """ @@ -476,8 +438,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -486,9 +448,6 @@ def _prop_descriptions(self): following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. cornerradius Sets the rounding of corners. May be an integer number of pixels, or a percentage of bar width (as a string @@ -500,9 +459,6 @@ def _prop_descriptions(self): or dict with compatible properties opacity Sets the opacity of the bars. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. pattern Sets the pattern within the marker. reversescale @@ -529,11 +485,9 @@ def __init__( coloraxis=None, colorbar=None, colorscale=None, - colorsrc=None, cornerradius=None, line=None, opacity=None, - opacitysrc=None, pattern=None, reversescale=None, showscale=None, @@ -600,8 +554,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -610,9 +564,6 @@ def __init__( following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. cornerradius Sets the rounding of corners. May be an integer number of pixels, or a percentage of bar width (as a string @@ -624,9 +575,6 @@ def __init__( or dict with compatible properties opacity Sets the opacity of the bars. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. pattern Sets the pattern within the marker. reversescale @@ -673,11 +621,9 @@ def __init__( self._set_property("coloraxis", arg, coloraxis) self._set_property("colorbar", arg, colorbar) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("cornerradius", arg, cornerradius) self._set_property("line", arg, line) self._set_property("opacity", arg, opacity) - self._set_property("opacitysrc", arg, opacitysrc) self._set_property("pattern", arg, pattern) self._set_property("reversescale", arg, reversescale) self._set_property("showscale", arg, showscale) diff --git a/plotly/graph_objs/bar/_outsidetextfont.py b/plotly/graph_objs/bar/_outsidetextfont.py index b809d7604af..64ea33a0f2f 100644 --- a/plotly/graph_objs/bar/_outsidetextfont.py +++ b/plotly/graph_objs/bar/_outsidetextfont.py @@ -10,23 +10,14 @@ class Outsidetextfont(_BaseTraceHierarchyType): _path_str = "bar.outsidetextfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.bar.Outsidetextfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/bar/_stream.py b/plotly/graph_objs/bar/_stream.py deleted file mode 100644 index c4d3c055326..00000000000 --- a/plotly/graph_objs/bar/_stream.py +++ /dev/null @@ -1,113 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "bar" - _path_str = "bar.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.bar.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.bar.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.bar.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/bar/_textfont.py b/plotly/graph_objs/bar/_textfont.py index f62d23e24f7..18e9ab76e6d 100644 --- a/plotly/graph_objs/bar/_textfont.py +++ b/plotly/graph_objs/bar/_textfont.py @@ -10,23 +10,14 @@ class Textfont(_BaseTraceHierarchyType): _path_str = "bar.textfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -483,9 +275,6 @@ def __init__( an instance of :class:`plotly.graph_objs.bar.Textfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -493,52 +282,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -565,22 +330,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/bar/hoverlabel/_font.py b/plotly/graph_objs/bar/hoverlabel/_font.py index 860b5fb3b07..7d6d640c7e5 100644 --- a/plotly/graph_objs/bar/hoverlabel/_font.py +++ b/plotly/graph_objs/bar/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "bar.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.bar.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/bar/marker/_colorbar.py b/plotly/graph_objs/bar/marker/_colorbar.py index 7ee5476ee7d..e391d3161b1 100644 --- a/plotly/graph_objs/bar/marker/_colorbar.py +++ b/plotly/graph_objs/bar/marker/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -842,24 +840,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -879,24 +859,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1292,16 +1254,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1392,9 +1348,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1601,16 +1555,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1721,9 +1669,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/bar/marker/_line.py b/plotly/graph_objs/bar/marker/_line.py index 16afb497a21..56c28eaeba9 100644 --- a/plotly/graph_objs/bar/marker/_line.py +++ b/plotly/graph_objs/bar/marker/_line.py @@ -17,10 +17,8 @@ class Line(_BaseTraceHierarchyType): "color", "coloraxis", "colorscale", - "colorsrc", "reversescale", "width", - "widthsrc", } @property @@ -194,7 +192,7 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value - to an rgb, rgba, hex, hsl, hsv, or named color string. At + to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in @@ -241,24 +239,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def reversescale(self): """ @@ -300,24 +280,6 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def _prop_descriptions(self): return """\ @@ -374,8 +336,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -384,9 +346,6 @@ def _prop_descriptions(self): string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -396,9 +355,6 @@ def _prop_descriptions(self): width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. """ def __init__( @@ -412,10 +368,8 @@ def __init__( color=None, coloraxis=None, colorscale=None, - colorsrc=None, reversescale=None, width=None, - widthsrc=None, **kwargs, ): """ @@ -480,8 +434,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -490,9 +444,6 @@ def __init__( string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -502,9 +453,6 @@ def __init__( width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. Returns ------- @@ -538,9 +486,7 @@ def __init__( self._set_property("color", arg, color) self._set_property("coloraxis", arg, coloraxis) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("reversescale", arg, reversescale) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/bar/marker/_pattern.py b/plotly/graph_objs/bar/marker/_pattern.py index ce8bd8a10ae..2c09b30df16 100644 --- a/plotly/graph_objs/bar/marker/_pattern.py +++ b/plotly/graph_objs/bar/marker/_pattern.py @@ -10,19 +10,13 @@ class Pattern(_BaseTraceHierarchyType): _path_str = "bar.marker.pattern" _valid_props = { "bgcolor", - "bgcolorsrc", "fgcolor", - "fgcolorsrc", "fgopacity", "fillmode", "path", - "pathsrc", "shape", - "shapesrc", "size", - "sizesrc", "solidity", - "soliditysrc", } @property @@ -51,24 +45,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def fgcolor(self): """ @@ -95,24 +71,6 @@ def fgcolor(self): def fgcolor(self, val): self["fgcolor"] = val - @property - def fgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `fgcolor`. - - The 'fgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["fgcolorsrc"] - - @fgcolorsrc.setter - def fgcolorsrc(self, val): - self["fgcolorsrc"] = val - @property def fgopacity(self): """ @@ -174,24 +132,6 @@ def path(self): def path(self, val): self["path"] = val - @property - def pathsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `path`. - - The 'pathsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["pathsrc"] - - @pathsrc.setter - def pathsrc(self, val): - self["pathsrc"] = val - @property def shape(self): """ @@ -213,24 +153,6 @@ def shape(self): def shape(self, val): self["shape"] = val - @property - def shapesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shape`. - - The 'shapesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shapesrc"] - - @shapesrc.setter - def shapesrc(self, val): - self["shapesrc"] = val - @property def size(self): """ @@ -251,24 +173,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def solidity(self): """ @@ -291,24 +195,6 @@ def solidity(self): def solidity(self, val): self["solidity"] = val - @property - def soliditysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `solidity`. - - The 'soliditysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["soliditysrc"] - - @soliditysrc.setter - def soliditysrc(self, val): - self["soliditysrc"] = val - @property def _prop_descriptions(self): return """\ @@ -317,18 +203,12 @@ def _prop_descriptions(self): background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background. - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. fgcolor When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`. - fgcolorsrc - Sets the source reference on Chart Studio Cloud for - `fgcolor`. fgopacity Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". @@ -341,50 +221,32 @@ def _prop_descriptions(self): `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color. - pathsrc - Sets the source reference on Chart Studio Cloud for - `path`. shape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. - shapesrc - Sets the source reference on Chart Studio Cloud for - `shape`. size Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. solidity Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern. - soliditysrc - Sets the source reference on Chart Studio Cloud for - `solidity`. """ def __init__( self, arg=None, bgcolor=None, - bgcolorsrc=None, fgcolor=None, - fgcolorsrc=None, fgopacity=None, fillmode=None, path=None, - pathsrc=None, shape=None, - shapesrc=None, size=None, - sizesrc=None, solidity=None, - soliditysrc=None, **kwargs, ): """ @@ -403,18 +265,12 @@ def __init__( background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background. - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. fgcolor When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`. - fgcolorsrc - Sets the source reference on Chart Studio Cloud for - `fgcolor`. fgopacity Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". @@ -427,31 +283,19 @@ def __init__( `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color. - pathsrc - Sets the source reference on Chart Studio Cloud for - `path`. shape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. - shapesrc - Sets the source reference on Chart Studio Cloud for - `shape`. size Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. solidity Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern. - soliditysrc - Sets the source reference on Chart Studio Cloud for - `solidity`. Returns ------- @@ -478,18 +322,12 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("fgcolor", arg, fgcolor) - self._set_property("fgcolorsrc", arg, fgcolorsrc) self._set_property("fgopacity", arg, fgopacity) self._set_property("fillmode", arg, fillmode) self._set_property("path", arg, path) - self._set_property("pathsrc", arg, pathsrc) self._set_property("shape", arg, shape) - self._set_property("shapesrc", arg, shapesrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("solidity", arg, solidity) - self._set_property("soliditysrc", arg, soliditysrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/bar/marker/colorbar/_title.py b/plotly/graph_objs/bar/marker/colorbar/_title.py index ac2a569886b..973c73b92c1 100644 --- a/plotly/graph_objs/bar/marker/colorbar/_title.py +++ b/plotly/graph_objs/bar/marker/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/barpolar/__init__.py b/plotly/graph_objs/barpolar/__init__.py index 12dab9a5643..09b41eb862b 100644 --- a/plotly/graph_objs/barpolar/__init__.py +++ b/plotly/graph_objs/barpolar/__init__.py @@ -6,7 +6,6 @@ from ._legendgrouptitle import Legendgrouptitle from ._marker import Marker from ._selected import Selected - from ._stream import Stream from ._unselected import Unselected from . import hoverlabel from . import legendgrouptitle @@ -24,7 +23,6 @@ "._legendgrouptitle.Legendgrouptitle", "._marker.Marker", "._selected.Selected", - "._stream.Stream", "._unselected.Unselected", ], ) diff --git a/plotly/graph_objs/barpolar/_hoverlabel.py b/plotly/graph_objs/barpolar/_hoverlabel.py index 249aa0de4a4..2164bd97a12 100644 --- a/plotly/graph_objs/barpolar/_hoverlabel.py +++ b/plotly/graph_objs/barpolar/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "barpolar.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/barpolar/_marker.py b/plotly/graph_objs/barpolar/_marker.py index 97977f391ac..c7d2f2d8680 100644 --- a/plotly/graph_objs/barpolar/_marker.py +++ b/plotly/graph_objs/barpolar/_marker.py @@ -18,10 +18,8 @@ class Marker(_BaseTraceHierarchyType): "coloraxis", "colorbar", "colorscale", - "colorsrc", "line", "opacity", - "opacitysrc", "pattern", "reversescale", "showscale", @@ -216,9 +214,9 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, - hex, hsl, hsv, or named color string. At minimum, a mapping for - the lowest (0) and highest (1) values are required. For - example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To + hex, hsl, hsla, hwb, or named color string. At minimum, a + mapping for the lowest (0) and highest (1) values are required. + For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,B @@ -262,24 +260,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def line(self): """ @@ -318,24 +298,6 @@ def opacity(self): def opacity(self, val): self["opacity"] = val - @property - def opacitysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `opacity`. - - The 'opacitysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["opacitysrc"] - - @opacitysrc.setter - def opacitysrc(self, val): - self["opacitysrc"] = val - @property def pattern(self): """ @@ -454,8 +416,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -464,17 +426,11 @@ def _prop_descriptions(self): following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. line :class:`plotly.graph_objects.barpolar.marker.Line` instance or dict with compatible properties opacity Sets the opacity of the bars. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. pattern Sets the pattern within the marker. reversescale @@ -501,10 +457,8 @@ def __init__( coloraxis=None, colorbar=None, colorscale=None, - colorsrc=None, line=None, opacity=None, - opacitysrc=None, pattern=None, reversescale=None, showscale=None, @@ -572,8 +526,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -582,17 +536,11 @@ def __init__( following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. line :class:`plotly.graph_objects.barpolar.marker.Line` instance or dict with compatible properties opacity Sets the opacity of the bars. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. pattern Sets the pattern within the marker. reversescale @@ -639,10 +587,8 @@ def __init__( self._set_property("coloraxis", arg, coloraxis) self._set_property("colorbar", arg, colorbar) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("line", arg, line) self._set_property("opacity", arg, opacity) - self._set_property("opacitysrc", arg, opacitysrc) self._set_property("pattern", arg, pattern) self._set_property("reversescale", arg, reversescale) self._set_property("showscale", arg, showscale) diff --git a/plotly/graph_objs/barpolar/_stream.py b/plotly/graph_objs/barpolar/_stream.py deleted file mode 100644 index 8640dbb62d1..00000000000 --- a/plotly/graph_objs/barpolar/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "barpolar" - _path_str = "barpolar.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.barpolar.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.barpolar.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.barpolar.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/barpolar/hoverlabel/_font.py b/plotly/graph_objs/barpolar/hoverlabel/_font.py index dfa7d25a97a..56b158407b8 100644 --- a/plotly/graph_objs/barpolar/hoverlabel/_font.py +++ b/plotly/graph_objs/barpolar/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "barpolar.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.barpolar.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/barpolar/marker/_colorbar.py b/plotly/graph_objs/barpolar/marker/_colorbar.py index 096a6550b12..df14abb68f8 100644 --- a/plotly/graph_objs/barpolar/marker/_colorbar.py +++ b/plotly/graph_objs/barpolar/marker/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/barpolar/marker/_line.py b/plotly/graph_objs/barpolar/marker/_line.py index 6df343506da..62babe43526 100644 --- a/plotly/graph_objs/barpolar/marker/_line.py +++ b/plotly/graph_objs/barpolar/marker/_line.py @@ -17,10 +17,8 @@ class Line(_BaseTraceHierarchyType): "color", "coloraxis", "colorscale", - "colorsrc", "reversescale", "width", - "widthsrc", } @property @@ -194,7 +192,7 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value - to an rgb, rgba, hex, hsl, hsv, or named color string. At + to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in @@ -241,24 +239,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def reversescale(self): """ @@ -300,24 +280,6 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def _prop_descriptions(self): return """\ @@ -374,8 +336,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -384,9 +346,6 @@ def _prop_descriptions(self): string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -396,9 +355,6 @@ def _prop_descriptions(self): width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. """ def __init__( @@ -412,10 +368,8 @@ def __init__( color=None, coloraxis=None, colorscale=None, - colorsrc=None, reversescale=None, width=None, - widthsrc=None, **kwargs, ): """ @@ -480,8 +434,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -490,9 +444,6 @@ def __init__( string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -502,9 +453,6 @@ def __init__( width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. Returns ------- @@ -538,9 +486,7 @@ def __init__( self._set_property("color", arg, color) self._set_property("coloraxis", arg, coloraxis) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("reversescale", arg, reversescale) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/barpolar/marker/_pattern.py b/plotly/graph_objs/barpolar/marker/_pattern.py index 94329f6afb4..7a23986b28c 100644 --- a/plotly/graph_objs/barpolar/marker/_pattern.py +++ b/plotly/graph_objs/barpolar/marker/_pattern.py @@ -10,19 +10,13 @@ class Pattern(_BaseTraceHierarchyType): _path_str = "barpolar.marker.pattern" _valid_props = { "bgcolor", - "bgcolorsrc", "fgcolor", - "fgcolorsrc", "fgopacity", "fillmode", "path", - "pathsrc", "shape", - "shapesrc", "size", - "sizesrc", "solidity", - "soliditysrc", } @property @@ -51,24 +45,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def fgcolor(self): """ @@ -95,24 +71,6 @@ def fgcolor(self): def fgcolor(self, val): self["fgcolor"] = val - @property - def fgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `fgcolor`. - - The 'fgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["fgcolorsrc"] - - @fgcolorsrc.setter - def fgcolorsrc(self, val): - self["fgcolorsrc"] = val - @property def fgopacity(self): """ @@ -174,24 +132,6 @@ def path(self): def path(self, val): self["path"] = val - @property - def pathsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `path`. - - The 'pathsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["pathsrc"] - - @pathsrc.setter - def pathsrc(self, val): - self["pathsrc"] = val - @property def shape(self): """ @@ -213,24 +153,6 @@ def shape(self): def shape(self, val): self["shape"] = val - @property - def shapesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shape`. - - The 'shapesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shapesrc"] - - @shapesrc.setter - def shapesrc(self, val): - self["shapesrc"] = val - @property def size(self): """ @@ -251,24 +173,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def solidity(self): """ @@ -291,24 +195,6 @@ def solidity(self): def solidity(self, val): self["solidity"] = val - @property - def soliditysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `solidity`. - - The 'soliditysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["soliditysrc"] - - @soliditysrc.setter - def soliditysrc(self, val): - self["soliditysrc"] = val - @property def _prop_descriptions(self): return """\ @@ -317,18 +203,12 @@ def _prop_descriptions(self): background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background. - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. fgcolor When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`. - fgcolorsrc - Sets the source reference on Chart Studio Cloud for - `fgcolor`. fgopacity Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". @@ -341,50 +221,32 @@ def _prop_descriptions(self): `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color. - pathsrc - Sets the source reference on Chart Studio Cloud for - `path`. shape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. - shapesrc - Sets the source reference on Chart Studio Cloud for - `shape`. size Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. solidity Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern. - soliditysrc - Sets the source reference on Chart Studio Cloud for - `solidity`. """ def __init__( self, arg=None, bgcolor=None, - bgcolorsrc=None, fgcolor=None, - fgcolorsrc=None, fgopacity=None, fillmode=None, path=None, - pathsrc=None, shape=None, - shapesrc=None, size=None, - sizesrc=None, solidity=None, - soliditysrc=None, **kwargs, ): """ @@ -403,18 +265,12 @@ def __init__( background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background. - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. fgcolor When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`. - fgcolorsrc - Sets the source reference on Chart Studio Cloud for - `fgcolor`. fgopacity Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". @@ -427,31 +283,19 @@ def __init__( `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color. - pathsrc - Sets the source reference on Chart Studio Cloud for - `path`. shape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. - shapesrc - Sets the source reference on Chart Studio Cloud for - `shape`. size Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. solidity Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern. - soliditysrc - Sets the source reference on Chart Studio Cloud for - `solidity`. Returns ------- @@ -478,18 +322,12 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("fgcolor", arg, fgcolor) - self._set_property("fgcolorsrc", arg, fgcolorsrc) self._set_property("fgopacity", arg, fgopacity) self._set_property("fillmode", arg, fillmode) self._set_property("path", arg, path) - self._set_property("pathsrc", arg, pathsrc) self._set_property("shape", arg, shape) - self._set_property("shapesrc", arg, shapesrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("solidity", arg, solidity) - self._set_property("soliditysrc", arg, soliditysrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/barpolar/marker/colorbar/_title.py b/plotly/graph_objs/barpolar/marker/colorbar/_title.py index 6c674fb8cd7..7b4b65a7bc1 100644 --- a/plotly/graph_objs/barpolar/marker/colorbar/_title.py +++ b/plotly/graph_objs/barpolar/marker/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/box/__init__.py b/plotly/graph_objs/box/__init__.py index f9bb46ff8ab..035d5c83404 100644 --- a/plotly/graph_objs/box/__init__.py +++ b/plotly/graph_objs/box/__init__.py @@ -7,7 +7,6 @@ from ._line import Line from ._marker import Marker from ._selected import Selected - from ._stream import Stream from ._unselected import Unselected from . import hoverlabel from . import legendgrouptitle @@ -26,7 +25,6 @@ "._line.Line", "._marker.Marker", "._selected.Selected", - "._stream.Stream", "._unselected.Unselected", ], ) diff --git a/plotly/graph_objs/box/_hoverlabel.py b/plotly/graph_objs/box/_hoverlabel.py index 732f4e220e7..67a512e2c0e 100644 --- a/plotly/graph_objs/box/_hoverlabel.py +++ b/plotly/graph_objs/box/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "box.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/box/_stream.py b/plotly/graph_objs/box/_stream.py deleted file mode 100644 index b6cd0eb667c..00000000000 --- a/plotly/graph_objs/box/_stream.py +++ /dev/null @@ -1,113 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "box" - _path_str = "box.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.box.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.box.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.box.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/box/hoverlabel/_font.py b/plotly/graph_objs/box/hoverlabel/_font.py index 35c05e4fe5c..e4fcb443dec 100644 --- a/plotly/graph_objs/box/hoverlabel/_font.py +++ b/plotly/graph_objs/box/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "box.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.box.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/candlestick/__init__.py b/plotly/graph_objs/candlestick/__init__.py index 464258ceedc..9fa41f48004 100644 --- a/plotly/graph_objs/candlestick/__init__.py +++ b/plotly/graph_objs/candlestick/__init__.py @@ -7,7 +7,6 @@ from ._increasing import Increasing from ._legendgrouptitle import Legendgrouptitle from ._line import Line - from ._stream import Stream from . import decreasing from . import hoverlabel from . import increasing @@ -24,6 +23,5 @@ "._increasing.Increasing", "._legendgrouptitle.Legendgrouptitle", "._line.Line", - "._stream.Stream", ], ) diff --git a/plotly/graph_objs/candlestick/_hoverlabel.py b/plotly/graph_objs/candlestick/_hoverlabel.py index 76c515d85f9..27206a5d319 100644 --- a/plotly/graph_objs/candlestick/_hoverlabel.py +++ b/plotly/graph_objs/candlestick/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "candlestick.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", "split", } @@ -44,24 +40,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -85,24 +63,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -126,25 +86,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -191,25 +132,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -256,21 +178,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -281,9 +194,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -298,14 +208,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, split=None, **kwargs, @@ -323,21 +229,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -348,9 +245,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -385,14 +279,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._set_property("split", arg, split) self._process_kwargs(**dict(arg, **kwargs)) diff --git a/plotly/graph_objs/candlestick/_stream.py b/plotly/graph_objs/candlestick/_stream.py deleted file mode 100644 index 1242e424bba..00000000000 --- a/plotly/graph_objs/candlestick/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "candlestick" - _path_str = "candlestick.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.candlestick.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.candlestick.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.candlestick.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/candlestick/hoverlabel/_font.py b/plotly/graph_objs/candlestick/hoverlabel/_font.py index 24e77fafed3..0f1c55b6c13 100644 --- a/plotly/graph_objs/candlestick/hoverlabel/_font.py +++ b/plotly/graph_objs/candlestick/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "candlestick.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.candlestick.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/carpet/__init__.py b/plotly/graph_objs/carpet/__init__.py index 38c554d4e05..ada1da2c91c 100644 --- a/plotly/graph_objs/carpet/__init__.py +++ b/plotly/graph_objs/carpet/__init__.py @@ -6,7 +6,6 @@ from ._baxis import Baxis from ._font import Font from ._legendgrouptitle import Legendgrouptitle - from ._stream import Stream from . import aaxis from . import baxis from . import legendgrouptitle @@ -21,6 +20,5 @@ "._baxis.Baxis", "._font.Font", "._legendgrouptitle.Legendgrouptitle", - "._stream.Stream", ], ) diff --git a/plotly/graph_objs/carpet/_aaxis.py b/plotly/graph_objs/carpet/_aaxis.py index e05bfa851dd..e3f30f2fcc2 100644 --- a/plotly/graph_objs/carpet/_aaxis.py +++ b/plotly/graph_objs/carpet/_aaxis.py @@ -14,7 +14,6 @@ class Aaxis(_BaseTraceHierarchyType): "autorange", "autotypenumbers", "categoryarray", - "categoryarraysrc", "categoryorder", "cheatertype", "color", @@ -62,9 +61,7 @@ class Aaxis(_BaseTraceHierarchyType): "tickprefix", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "title", "type", } @@ -170,25 +167,6 @@ def categoryarray(self): def categoryarray(self, val): self["categoryarray"] = val - @property - def categoryarraysrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `categoryarray`. - - The 'categoryarraysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["categoryarraysrc"] - - @categoryarraysrc.setter - def categoryarraysrc(self, val): - self["categoryarraysrc"] = val - @property def categoryorder(self): """ @@ -1160,24 +1138,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -1197,24 +1157,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def title(self): """ @@ -1277,9 +1219,6 @@ def _prop_descriptions(self): Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to "array". Used with `categoryorder`. - categoryarraysrc - Sets the source reference on Chart Studio Cloud for - `categoryarray`. categoryorder Specifies the ordering logic for the case of categorical variables. By default, plotly uses "trace", @@ -1457,16 +1396,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. title :class:`plotly.graph_objects.carpet.aaxis.Title` instance or dict with compatible properties @@ -1484,7 +1417,6 @@ def __init__( autorange=None, autotypenumbers=None, categoryarray=None, - categoryarraysrc=None, categoryorder=None, cheatertype=None, color=None, @@ -1532,9 +1464,7 @@ def __init__( tickprefix=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, title=None, type=None, **kwargs, @@ -1566,9 +1496,6 @@ def __init__( Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to "array". Used with `categoryorder`. - categoryarraysrc - Sets the source reference on Chart Studio Cloud for - `categoryarray`. categoryorder Specifies the ordering logic for the case of categorical variables. By default, plotly uses "trace", @@ -1746,16 +1673,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. title :class:`plotly.graph_objects.carpet.aaxis.Title` instance or dict with compatible properties @@ -1793,7 +1714,6 @@ def __init__( self._set_property("autorange", arg, autorange) self._set_property("autotypenumbers", arg, autotypenumbers) self._set_property("categoryarray", arg, categoryarray) - self._set_property("categoryarraysrc", arg, categoryarraysrc) self._set_property("categoryorder", arg, categoryorder) self._set_property("cheatertype", arg, cheatertype) self._set_property("color", arg, color) @@ -1841,9 +1761,7 @@ def __init__( self._set_property("tickprefix", arg, tickprefix) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("title", arg, title) self._set_property("type", arg, type) self._process_kwargs(**dict(arg, **kwargs)) diff --git a/plotly/graph_objs/carpet/_baxis.py b/plotly/graph_objs/carpet/_baxis.py index 7da6623392a..9988d444bc1 100644 --- a/plotly/graph_objs/carpet/_baxis.py +++ b/plotly/graph_objs/carpet/_baxis.py @@ -14,7 +14,6 @@ class Baxis(_BaseTraceHierarchyType): "autorange", "autotypenumbers", "categoryarray", - "categoryarraysrc", "categoryorder", "cheatertype", "color", @@ -62,9 +61,7 @@ class Baxis(_BaseTraceHierarchyType): "tickprefix", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "title", "type", } @@ -170,25 +167,6 @@ def categoryarray(self): def categoryarray(self, val): self["categoryarray"] = val - @property - def categoryarraysrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `categoryarray`. - - The 'categoryarraysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["categoryarraysrc"] - - @categoryarraysrc.setter - def categoryarraysrc(self, val): - self["categoryarraysrc"] = val - @property def categoryorder(self): """ @@ -1160,24 +1138,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -1197,24 +1157,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def title(self): """ @@ -1277,9 +1219,6 @@ def _prop_descriptions(self): Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to "array". Used with `categoryorder`. - categoryarraysrc - Sets the source reference on Chart Studio Cloud for - `categoryarray`. categoryorder Specifies the ordering logic for the case of categorical variables. By default, plotly uses "trace", @@ -1457,16 +1396,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. title :class:`plotly.graph_objects.carpet.baxis.Title` instance or dict with compatible properties @@ -1484,7 +1417,6 @@ def __init__( autorange=None, autotypenumbers=None, categoryarray=None, - categoryarraysrc=None, categoryorder=None, cheatertype=None, color=None, @@ -1532,9 +1464,7 @@ def __init__( tickprefix=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, title=None, type=None, **kwargs, @@ -1566,9 +1496,6 @@ def __init__( Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to "array". Used with `categoryorder`. - categoryarraysrc - Sets the source reference on Chart Studio Cloud for - `categoryarray`. categoryorder Specifies the ordering logic for the case of categorical variables. By default, plotly uses "trace", @@ -1746,16 +1673,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. title :class:`plotly.graph_objects.carpet.baxis.Title` instance or dict with compatible properties @@ -1793,7 +1714,6 @@ def __init__( self._set_property("autorange", arg, autorange) self._set_property("autotypenumbers", arg, autotypenumbers) self._set_property("categoryarray", arg, categoryarray) - self._set_property("categoryarraysrc", arg, categoryarraysrc) self._set_property("categoryorder", arg, categoryorder) self._set_property("cheatertype", arg, cheatertype) self._set_property("color", arg, color) @@ -1841,9 +1761,7 @@ def __init__( self._set_property("tickprefix", arg, tickprefix) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("title", arg, title) self._set_property("type", arg, type) self._process_kwargs(**dict(arg, **kwargs)) diff --git a/plotly/graph_objs/carpet/_stream.py b/plotly/graph_objs/carpet/_stream.py deleted file mode 100644 index 47c3ae79196..00000000000 --- a/plotly/graph_objs/carpet/_stream.py +++ /dev/null @@ -1,113 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "carpet" - _path_str = "carpet.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.carpet.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.carpet.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.carpet.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/choropleth/__init__.py b/plotly/graph_objs/choropleth/__init__.py index bbdf79a35a7..a7eda3735c7 100644 --- a/plotly/graph_objs/choropleth/__init__.py +++ b/plotly/graph_objs/choropleth/__init__.py @@ -7,7 +7,6 @@ from ._legendgrouptitle import Legendgrouptitle from ._marker import Marker from ._selected import Selected - from ._stream import Stream from ._unselected import Unselected from . import colorbar from . import hoverlabel @@ -34,7 +33,6 @@ "._legendgrouptitle.Legendgrouptitle", "._marker.Marker", "._selected.Selected", - "._stream.Stream", "._unselected.Unselected", ], ) diff --git a/plotly/graph_objs/choropleth/_colorbar.py b/plotly/graph_objs/choropleth/_colorbar.py index 7ff7c25b367..0fbf6b60619 100644 --- a/plotly/graph_objs/choropleth/_colorbar.py +++ b/plotly/graph_objs/choropleth/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -842,24 +840,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -879,24 +859,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1292,16 +1254,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1392,9 +1348,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1601,16 +1555,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1721,9 +1669,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/choropleth/_hoverlabel.py b/plotly/graph_objs/choropleth/_hoverlabel.py index cdc8f9d37ec..34b50394fcd 100644 --- a/plotly/graph_objs/choropleth/_hoverlabel.py +++ b/plotly/graph_objs/choropleth/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "choropleth.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/choropleth/_marker.py b/plotly/graph_objs/choropleth/_marker.py index 212bde1253a..88713c98459 100644 --- a/plotly/graph_objs/choropleth/_marker.py +++ b/plotly/graph_objs/choropleth/_marker.py @@ -8,7 +8,7 @@ class Marker(_BaseTraceHierarchyType): _parent_path_str = "choropleth" _path_str = "choropleth.marker" - _valid_props = {"line", "opacity", "opacitysrc"} + _valid_props = {"line", "opacity"} @property def line(self): @@ -48,24 +48,6 @@ def opacity(self): def opacity(self, val): self["opacity"] = val - @property - def opacitysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `opacity`. - - The 'opacitysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["opacitysrc"] - - @opacitysrc.setter - def opacitysrc(self, val): - self["opacitysrc"] = val - @property def _prop_descriptions(self): return """\ @@ -74,12 +56,9 @@ def _prop_descriptions(self): instance or dict with compatible properties opacity Sets the opacity of the locations. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. """ - def __init__(self, arg=None, line=None, opacity=None, opacitysrc=None, **kwargs): + def __init__(self, arg=None, line=None, opacity=None, **kwargs): """ Construct a new Marker object @@ -94,9 +73,6 @@ def __init__(self, arg=None, line=None, opacity=None, opacitysrc=None, **kwargs) instance or dict with compatible properties opacity Sets the opacity of the locations. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. Returns ------- @@ -124,6 +100,5 @@ def __init__(self, arg=None, line=None, opacity=None, opacitysrc=None, **kwargs) self._set_property("line", arg, line) self._set_property("opacity", arg, opacity) - self._set_property("opacitysrc", arg, opacitysrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/choropleth/_stream.py b/plotly/graph_objs/choropleth/_stream.py deleted file mode 100644 index 84624f89331..00000000000 --- a/plotly/graph_objs/choropleth/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "choropleth" - _path_str = "choropleth.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.choropleth.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.choropleth.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.choropleth.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/choropleth/colorbar/_title.py b/plotly/graph_objs/choropleth/colorbar/_title.py index 1ae8cfce3d5..13594b80158 100644 --- a/plotly/graph_objs/choropleth/colorbar/_title.py +++ b/plotly/graph_objs/choropleth/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/choropleth/hoverlabel/_font.py b/plotly/graph_objs/choropleth/hoverlabel/_font.py index 7c7dbcf3bb1..9da2fa7fd30 100644 --- a/plotly/graph_objs/choropleth/hoverlabel/_font.py +++ b/plotly/graph_objs/choropleth/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "choropleth.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.choropleth.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/choropleth/marker/_line.py b/plotly/graph_objs/choropleth/marker/_line.py index bf9d861776f..a17658a5916 100644 --- a/plotly/graph_objs/choropleth/marker/_line.py +++ b/plotly/graph_objs/choropleth/marker/_line.py @@ -8,7 +8,7 @@ class Line(_BaseTraceHierarchyType): _parent_path_str = "choropleth.marker" _path_str = "choropleth.marker.line" - _valid_props = {"color", "colorsrc", "width", "widthsrc"} + _valid_props = {"color", "width"} @property def color(self): @@ -36,24 +36,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def width(self): """ @@ -73,24 +55,6 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def _prop_descriptions(self): return """\ @@ -100,20 +64,12 @@ def _prop_descriptions(self): to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. """ - def __init__( - self, arg=None, color=None, colorsrc=None, width=None, widthsrc=None, **kwargs - ): + def __init__(self, arg=None, color=None, width=None, **kwargs): """ Construct a new Line object @@ -129,15 +85,9 @@ def __init__( to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. Returns ------- @@ -164,8 +114,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/choroplethmap/__init__.py b/plotly/graph_objs/choroplethmap/__init__.py index bbdf79a35a7..a7eda3735c7 100644 --- a/plotly/graph_objs/choroplethmap/__init__.py +++ b/plotly/graph_objs/choroplethmap/__init__.py @@ -7,7 +7,6 @@ from ._legendgrouptitle import Legendgrouptitle from ._marker import Marker from ._selected import Selected - from ._stream import Stream from ._unselected import Unselected from . import colorbar from . import hoverlabel @@ -34,7 +33,6 @@ "._legendgrouptitle.Legendgrouptitle", "._marker.Marker", "._selected.Selected", - "._stream.Stream", "._unselected.Unselected", ], ) diff --git a/plotly/graph_objs/choroplethmap/_colorbar.py b/plotly/graph_objs/choroplethmap/_colorbar.py index b1dfb0ea518..e56051c5962 100644 --- a/plotly/graph_objs/choroplethmap/_colorbar.py +++ b/plotly/graph_objs/choroplethmap/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/choroplethmap/_hoverlabel.py b/plotly/graph_objs/choroplethmap/_hoverlabel.py index 9a0b9532582..ab0591ebd12 100644 --- a/plotly/graph_objs/choroplethmap/_hoverlabel.py +++ b/plotly/graph_objs/choroplethmap/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "choroplethmap.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/choroplethmap/_marker.py b/plotly/graph_objs/choroplethmap/_marker.py index 0f7f498b928..9d515b675e8 100644 --- a/plotly/graph_objs/choroplethmap/_marker.py +++ b/plotly/graph_objs/choroplethmap/_marker.py @@ -8,7 +8,7 @@ class Marker(_BaseTraceHierarchyType): _parent_path_str = "choroplethmap" _path_str = "choroplethmap.marker" - _valid_props = {"line", "opacity", "opacitysrc"} + _valid_props = {"line", "opacity"} @property def line(self): @@ -48,24 +48,6 @@ def opacity(self): def opacity(self, val): self["opacity"] = val - @property - def opacitysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `opacity`. - - The 'opacitysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["opacitysrc"] - - @opacitysrc.setter - def opacitysrc(self, val): - self["opacitysrc"] = val - @property def _prop_descriptions(self): return """\ @@ -74,12 +56,9 @@ def _prop_descriptions(self): instance or dict with compatible properties opacity Sets the opacity of the locations. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. """ - def __init__(self, arg=None, line=None, opacity=None, opacitysrc=None, **kwargs): + def __init__(self, arg=None, line=None, opacity=None, **kwargs): """ Construct a new Marker object @@ -94,9 +73,6 @@ def __init__(self, arg=None, line=None, opacity=None, opacitysrc=None, **kwargs) instance or dict with compatible properties opacity Sets the opacity of the locations. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. Returns ------- @@ -124,6 +100,5 @@ def __init__(self, arg=None, line=None, opacity=None, opacitysrc=None, **kwargs) self._set_property("line", arg, line) self._set_property("opacity", arg, opacity) - self._set_property("opacitysrc", arg, opacitysrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/choroplethmap/_stream.py b/plotly/graph_objs/choroplethmap/_stream.py deleted file mode 100644 index 348b27d9642..00000000000 --- a/plotly/graph_objs/choroplethmap/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "choroplethmap" - _path_str = "choroplethmap.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.choroplethmap.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.choroplethmap.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.choroplethmap.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/choroplethmap/colorbar/_title.py b/plotly/graph_objs/choroplethmap/colorbar/_title.py index c5f12b32500..5d4302f4709 100644 --- a/plotly/graph_objs/choroplethmap/colorbar/_title.py +++ b/plotly/graph_objs/choroplethmap/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/choroplethmap/hoverlabel/_font.py b/plotly/graph_objs/choroplethmap/hoverlabel/_font.py index cf449e177f1..a696c29af11 100644 --- a/plotly/graph_objs/choroplethmap/hoverlabel/_font.py +++ b/plotly/graph_objs/choroplethmap/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "choroplethmap.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/choroplethmap/marker/_line.py b/plotly/graph_objs/choroplethmap/marker/_line.py index 77c79282b00..412f3cd3208 100644 --- a/plotly/graph_objs/choroplethmap/marker/_line.py +++ b/plotly/graph_objs/choroplethmap/marker/_line.py @@ -8,7 +8,7 @@ class Line(_BaseTraceHierarchyType): _parent_path_str = "choroplethmap.marker" _path_str = "choroplethmap.marker.line" - _valid_props = {"color", "colorsrc", "width", "widthsrc"} + _valid_props = {"color", "width"} @property def color(self): @@ -36,24 +36,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def width(self): """ @@ -73,24 +55,6 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def _prop_descriptions(self): return """\ @@ -100,20 +64,12 @@ def _prop_descriptions(self): to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. """ - def __init__( - self, arg=None, color=None, colorsrc=None, width=None, widthsrc=None, **kwargs - ): + def __init__(self, arg=None, color=None, width=None, **kwargs): """ Construct a new Line object @@ -129,15 +85,9 @@ def __init__( to the colorscale relative to the max and min values of the array or relative to `marker.line.cmin` and `marker.line.cmax` if set. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. Returns ------- @@ -164,8 +114,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/choroplethmapbox/__init__.py b/plotly/graph_objs/choroplethmapbox/__init__.py deleted file mode 100644 index bbdf79a35a7..00000000000 --- a/plotly/graph_objs/choroplethmapbox/__init__.py +++ /dev/null @@ -1,40 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - from ._colorbar import ColorBar - from ._hoverlabel import Hoverlabel - from ._legendgrouptitle import Legendgrouptitle - from ._marker import Marker - from ._selected import Selected - from ._stream import Stream - from ._unselected import Unselected - from . import colorbar - from . import hoverlabel - from . import legendgrouptitle - from . import marker - from . import selected - from . import unselected -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, - [ - ".colorbar", - ".hoverlabel", - ".legendgrouptitle", - ".marker", - ".selected", - ".unselected", - ], - [ - "._colorbar.ColorBar", - "._hoverlabel.Hoverlabel", - "._legendgrouptitle.Legendgrouptitle", - "._marker.Marker", - "._selected.Selected", - "._stream.Stream", - "._unselected.Unselected", - ], - ) diff --git a/plotly/graph_objs/choroplethmapbox/_colorbar.py b/plotly/graph_objs/choroplethmapbox/_colorbar.py deleted file mode 100644 index bd4371c8dcf..00000000000 --- a/plotly/graph_objs/choroplethmapbox/_colorbar.py +++ /dev/null @@ -1,1739 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class ColorBar(_BaseTraceHierarchyType): - _parent_path_str = "choroplethmapbox" - _path_str = "choroplethmapbox.colorbar" - _valid_props = { - "bgcolor", - "bordercolor", - "borderwidth", - "dtick", - "exponentformat", - "labelalias", - "len", - "lenmode", - "minexponent", - "nticks", - "orientation", - "outlinecolor", - "outlinewidth", - "separatethousands", - "showexponent", - "showticklabels", - "showtickprefix", - "showticksuffix", - "thickness", - "thicknessmode", - "tick0", - "tickangle", - "tickcolor", - "tickfont", - "tickformat", - "tickformatstopdefaults", - "tickformatstops", - "ticklabeloverflow", - "ticklabelposition", - "ticklabelstep", - "ticklen", - "tickmode", - "tickprefix", - "ticks", - "ticksuffix", - "ticktext", - "ticktextsrc", - "tickvals", - "tickvalssrc", - "tickwidth", - "title", - "x", - "xanchor", - "xpad", - "xref", - "y", - "yanchor", - "ypad", - "yref", - } - - @property - def bgcolor(self): - """ - Sets the color of padded area. - - The 'bgcolor' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: see https://plotly.com/python/css-colors/ for a list - - Returns - ------- - str - """ - return self["bgcolor"] - - @bgcolor.setter - def bgcolor(self, val): - self["bgcolor"] = val - - @property - def bordercolor(self): - """ - Sets the axis line color. - - The 'bordercolor' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: see https://plotly.com/python/css-colors/ for a list - - Returns - ------- - str - """ - return self["bordercolor"] - - @bordercolor.setter - def bordercolor(self, val): - self["bordercolor"] = val - - @property - def borderwidth(self): - """ - Sets the width (in px) or the border enclosing this color bar. - - The 'borderwidth' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["borderwidth"] - - @borderwidth.setter - def borderwidth(self, val): - self["borderwidth"] = val - - @property - def dtick(self): - """ - Sets the step in-between ticks on this axis. Use with `tick0`. - Must be a positive number, or special strings available to - "log" and "date" axes. If the axis `type` is "log", then ticks - are set every 10^(n*dtick) where n is the tick number. For - example, to set a tick mark at 1, 10, 100, 1000, ... set dtick - to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. - To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to - log_10(5), or 0.69897000433. "log" has several special values; - "L", where `f` is a positive number, gives ticks linearly - spaced in value (but not position). For example `tick0` = 0.1, - `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To - show powers of 10 plus small digits between, use "D1" (all - digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and - "D2". If the axis `type` is "date", then you must convert the - time to milliseconds. For example, to set the interval between - ticks to one day, set `dtick` to 86400000.0. "date" also has - special values "M" gives ticks spaced by a number of months. - `n` must be a positive integer. To set ticks on the 15th of - every third month, set `tick0` to "2000-01-15" and `dtick` to - "M3". To set ticks every 4 years, set `dtick` to "M48" - - The 'dtick' property accepts values of any type - - Returns - ------- - Any - """ - return self["dtick"] - - @dtick.setter - def dtick(self, val): - self["dtick"] = val - - @property - def exponentformat(self): - """ - Determines a formatting rule for the tick exponents. For - example, consider the number 1,000,000,000. If "none", it - appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If - "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If - "B", 1B. "SI" uses prefixes from "femto" f (10^-15) to "tera" T - (10^12). *SI extended* covers instead the full SI range from - "quecto" q (10^-30) to "quetta" Q (10^30). If "SI" or *SI - extended* is used and the exponent is beyond the above ranges, - the formatting rule will automatically be switched to the power - notation. - - The 'exponentformat' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['none', 'e', 'E', 'power', 'SI', 'B', 'SI extended'] - - Returns - ------- - Any - """ - return self["exponentformat"] - - @exponentformat.setter - def exponentformat(self, val): - self["exponentformat"] = val - - @property - def labelalias(self): - """ - Replacement text for specific tick or hover labels. For example - using {US: 'USA', CA: 'Canada'} changes US to USA and CA to - Canada. The labels we would have shown must match the keys - exactly, after adding any tickprefix or ticksuffix. For - negative numbers the minus sign symbol used (U+2212) is wider - than the regular ascii dash. That means you need to use −1 - instead of -1. labelalias can be used with any axis type, and - both keys (if needed) and values (if desired) can include html- - like tags or MathJax. - - The 'labelalias' property accepts values of any type - - Returns - ------- - Any - """ - return self["labelalias"] - - @labelalias.setter - def labelalias(self, val): - self["labelalias"] = val - - @property - def len(self): - """ - Sets the length of the color bar This measure excludes the - padding of both ends. That is, the color bar length is this - length minus the padding on both ends. - - The 'len' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["len"] - - @len.setter - def len(self, val): - self["len"] = val - - @property - def lenmode(self): - """ - Determines whether this color bar's length (i.e. the measure in - the color variation direction) is set in units of plot - "fraction" or in *pixels. Use `len` to set the value. - - The 'lenmode' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['fraction', 'pixels'] - - Returns - ------- - Any - """ - return self["lenmode"] - - @lenmode.setter - def lenmode(self, val): - self["lenmode"] = val - - @property - def minexponent(self): - """ - Hide SI prefix for 10^n if |n| is below this number. This only - has an effect when `tickformat` is "SI" or "B". - - The 'minexponent' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["minexponent"] - - @minexponent.setter - def minexponent(self, val): - self["minexponent"] = val - - @property - def nticks(self): - """ - Specifies the maximum number of ticks for the particular axis. - The actual number of ticks will be chosen automatically to be - less than or equal to `nticks`. Has an effect only if - `tickmode` is set to "auto". - - The 'nticks' property is an integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [0, 9223372036854775807] - - Returns - ------- - int - """ - return self["nticks"] - - @nticks.setter - def nticks(self, val): - self["nticks"] = val - - @property - def orientation(self): - """ - Sets the orientation of the colorbar. - - The 'orientation' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['h', 'v'] - - Returns - ------- - Any - """ - return self["orientation"] - - @orientation.setter - def orientation(self, val): - self["orientation"] = val - - @property - def outlinecolor(self): - """ - Sets the axis line color. - - The 'outlinecolor' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: see https://plotly.com/python/css-colors/ for a list - - Returns - ------- - str - """ - return self["outlinecolor"] - - @outlinecolor.setter - def outlinecolor(self, val): - self["outlinecolor"] = val - - @property - def outlinewidth(self): - """ - Sets the width (in px) of the axis line. - - The 'outlinewidth' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["outlinewidth"] - - @outlinewidth.setter - def outlinewidth(self, val): - self["outlinewidth"] = val - - @property - def separatethousands(self): - """ - If "true", even 4-digit integers are separated - - The 'separatethousands' property is a boolean and must be specified as: - - A boolean value: True or False - - Returns - ------- - bool - """ - return self["separatethousands"] - - @separatethousands.setter - def separatethousands(self, val): - self["separatethousands"] = val - - @property - def showexponent(self): - """ - If "all", all exponents are shown besides their significands. - If "first", only the exponent of the first tick is shown. If - "last", only the exponent of the last tick is shown. If "none", - no exponents appear. - - The 'showexponent' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['all', 'first', 'last', 'none'] - - Returns - ------- - Any - """ - return self["showexponent"] - - @showexponent.setter - def showexponent(self, val): - self["showexponent"] = val - - @property - def showticklabels(self): - """ - Determines whether or not the tick labels are drawn. - - The 'showticklabels' property is a boolean and must be specified as: - - A boolean value: True or False - - Returns - ------- - bool - """ - return self["showticklabels"] - - @showticklabels.setter - def showticklabels(self, val): - self["showticklabels"] = val - - @property - def showtickprefix(self): - """ - If "all", all tick labels are displayed with a prefix. If - "first", only the first tick is displayed with a prefix. If - "last", only the last tick is displayed with a suffix. If - "none", tick prefixes are hidden. - - The 'showtickprefix' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['all', 'first', 'last', 'none'] - - Returns - ------- - Any - """ - return self["showtickprefix"] - - @showtickprefix.setter - def showtickprefix(self, val): - self["showtickprefix"] = val - - @property - def showticksuffix(self): - """ - Same as `showtickprefix` but for tick suffixes. - - The 'showticksuffix' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['all', 'first', 'last', 'none'] - - Returns - ------- - Any - """ - return self["showticksuffix"] - - @showticksuffix.setter - def showticksuffix(self, val): - self["showticksuffix"] = val - - @property - def thickness(self): - """ - Sets the thickness of the color bar This measure excludes the - size of the padding, ticks and labels. - - The 'thickness' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["thickness"] - - @thickness.setter - def thickness(self, val): - self["thickness"] = val - - @property - def thicknessmode(self): - """ - Determines whether this color bar's thickness (i.e. the measure - in the constant color direction) is set in units of plot - "fraction" or in "pixels". Use `thickness` to set the value. - - The 'thicknessmode' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['fraction', 'pixels'] - - Returns - ------- - Any - """ - return self["thicknessmode"] - - @thicknessmode.setter - def thicknessmode(self, val): - self["thicknessmode"] = val - - @property - def tick0(self): - """ - Sets the placement of the first tick on this axis. Use with - `dtick`. If the axis `type` is "log", then you must take the - log of your starting tick (e.g. to set the starting tick to - 100, set the `tick0` to 2) except when `dtick`=*L* (see - `dtick` for more info). If the axis `type` is "date", it should - be a date string, like date data. If the axis `type` is - "category", it should be a number, using the scale where each - category is assigned a serial number from zero in the order it - appears. - - The 'tick0' property accepts values of any type - - Returns - ------- - Any - """ - return self["tick0"] - - @tick0.setter - def tick0(self, val): - self["tick0"] = val - - @property - def tickangle(self): - """ - Sets the angle of the tick labels with respect to the - horizontal. For example, a `tickangle` of -90 draws the tick - labels vertically. - - The 'tickangle' property is a angle (in degrees) that may be - specified as a number between -180 and 180. - Numeric values outside this range are converted to the equivalent value - (e.g. 270 is converted to -90). - - Returns - ------- - int|float - """ - return self["tickangle"] - - @tickangle.setter - def tickangle(self, val): - self["tickangle"] = val - - @property - def tickcolor(self): - """ - Sets the tick color. - - The 'tickcolor' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: see https://plotly.com/python/css-colors/ for a list - - Returns - ------- - str - """ - return self["tickcolor"] - - @tickcolor.setter - def tickcolor(self, val): - self["tickcolor"] = val - - @property - def tickfont(self): - """ - Sets the color bar's tick label font - - The 'tickfont' property is an instance of Tickfont - that may be specified as: - - An instance of :class:`plotly.graph_objs.choroplethmapbox.colorbar.Tickfont` - - A dict of string/value properties that will be passed - to the Tickfont constructor - - Returns - ------- - plotly.graph_objs.choroplethmapbox.colorbar.Tickfont - """ - return self["tickfont"] - - @tickfont.setter - def tickfont(self, val): - self["tickfont"] = val - - @property - def tickformat(self): - """ - Sets the tick label formatting rule using d3 formatting mini- - languages which are very similar to those in Python. For - numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for - dates see: https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two items to d3's date - formatter: "%h" for half of the year as a decimal number as - well as "%{n}f" for fractional seconds with n digits. For - example, *2016-10-13 09:15:23.456* with tickformat - "%H~%M~%S.%2f" would display "09~15~23.46" - - The 'tickformat' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["tickformat"] - - @tickformat.setter - def tickformat(self, val): - self["tickformat"] = val - - @property - def tickformatstops(self): - """ - The 'tickformatstops' property is a tuple of instances of - Tickformatstop that may be specified as: - - A list or tuple of instances of plotly.graph_objs.choroplethmapbox.colorbar.Tickformatstop - - A list or tuple of dicts of string/value properties that - will be passed to the Tickformatstop constructor - - Returns - ------- - tuple[plotly.graph_objs.choroplethmapbox.colorbar.Tickformatstop] - """ - return self["tickformatstops"] - - @tickformatstops.setter - def tickformatstops(self, val): - self["tickformatstops"] = val - - @property - def tickformatstopdefaults(self): - """ - When used in a template (as layout.template.data.choroplethmapb - ox.colorbar.tickformatstopdefaults), sets the default property - values to use for elements of - choroplethmapbox.colorbar.tickformatstops - - The 'tickformatstopdefaults' property is an instance of Tickformatstop - that may be specified as: - - An instance of :class:`plotly.graph_objs.choroplethmapbox.colorbar.Tickformatstop` - - A dict of string/value properties that will be passed - to the Tickformatstop constructor - - Returns - ------- - plotly.graph_objs.choroplethmapbox.colorbar.Tickformatstop - """ - return self["tickformatstopdefaults"] - - @tickformatstopdefaults.setter - def tickformatstopdefaults(self, val): - self["tickformatstopdefaults"] = val - - @property - def ticklabeloverflow(self): - """ - Determines how we handle tick labels that would overflow either - the graph div or the domain of the axis. The default value for - inside tick labels is *hide past domain*. In other cases the - default is *hide past div*. - - The 'ticklabeloverflow' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['allow', 'hide past div', 'hide past domain'] - - Returns - ------- - Any - """ - return self["ticklabeloverflow"] - - @ticklabeloverflow.setter - def ticklabeloverflow(self, val): - self["ticklabeloverflow"] = val - - @property - def ticklabelposition(self): - """ - Determines where tick labels are drawn relative to the ticks. - Left and right options are used when `orientation` is "h", top - and bottom when `orientation` is "v". - - The 'ticklabelposition' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['outside', 'inside', 'outside top', 'inside top', - 'outside left', 'inside left', 'outside right', 'inside - right', 'outside bottom', 'inside bottom'] - - Returns - ------- - Any - """ - return self["ticklabelposition"] - - @ticklabelposition.setter - def ticklabelposition(self, val): - self["ticklabelposition"] = val - - @property - def ticklabelstep(self): - """ - Sets the spacing between tick labels as compared to the spacing - between ticks. A value of 1 (default) means each tick gets a - label. A value of 2 means shows every 2nd label. A larger value - n means only every nth tick is labeled. `tick0` determines - which labels are shown. Not implemented for axes with `type` - "log" or "multicategory", or when `tickmode` is "array". - - The 'ticklabelstep' property is an integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [1, 9223372036854775807] - - Returns - ------- - int - """ - return self["ticklabelstep"] - - @ticklabelstep.setter - def ticklabelstep(self, val): - self["ticklabelstep"] = val - - @property - def ticklen(self): - """ - Sets the tick length (in px). - - The 'ticklen' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["ticklen"] - - @ticklen.setter - def ticklen(self, val): - self["ticklen"] = val - - @property - def tickmode(self): - """ - Sets the tick mode for this axis. If "auto", the number of - ticks is set via `nticks`. If "linear", the placement of the - ticks is determined by a starting position `tick0` and a tick - step `dtick` ("linear" is the default value if `tick0` and - `dtick` are provided). If "array", the placement of the ticks - is set via `tickvals` and the tick text is `ticktext`. ("array" - is the default value if `tickvals` is provided). - - The 'tickmode' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['auto', 'linear', 'array'] - - Returns - ------- - Any - """ - return self["tickmode"] - - @tickmode.setter - def tickmode(self, val): - self["tickmode"] = val - - @property - def tickprefix(self): - """ - Sets a tick label prefix. - - The 'tickprefix' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["tickprefix"] - - @tickprefix.setter - def tickprefix(self, val): - self["tickprefix"] = val - - @property - def ticks(self): - """ - Determines whether ticks are drawn or not. If "", this axis' - ticks are not drawn. If "outside" ("inside"), this axis' are - drawn outside (inside) the axis lines. - - The 'ticks' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['outside', 'inside', ''] - - Returns - ------- - Any - """ - return self["ticks"] - - @ticks.setter - def ticks(self, val): - self["ticks"] = val - - @property - def ticksuffix(self): - """ - Sets a tick label suffix. - - The 'ticksuffix' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["ticksuffix"] - - @ticksuffix.setter - def ticksuffix(self, val): - self["ticksuffix"] = val - - @property - def ticktext(self): - """ - Sets the text displayed at the ticks position via `tickvals`. - Only has an effect if `tickmode` is set to "array". Used with - `tickvals`. - - The 'ticktext' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["ticktext"] - - @ticktext.setter - def ticktext(self, val): - self["ticktext"] = val - - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - - @property - def tickvals(self): - """ - Sets the values at which ticks on this axis appear. Only has an - effect if `tickmode` is set to "array". Used with `ticktext`. - - The 'tickvals' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["tickvals"] - - @tickvals.setter - def tickvals(self, val): - self["tickvals"] = val - - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - - @property - def tickwidth(self): - """ - Sets the tick width (in px). - - The 'tickwidth' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["tickwidth"] - - @tickwidth.setter - def tickwidth(self, val): - self["tickwidth"] = val - - @property - def title(self): - """ - The 'title' property is an instance of Title - that may be specified as: - - An instance of :class:`plotly.graph_objs.choroplethmapbox.colorbar.Title` - - A dict of string/value properties that will be passed - to the Title constructor - - Returns - ------- - plotly.graph_objs.choroplethmapbox.colorbar.Title - """ - return self["title"] - - @title.setter - def title(self, val): - self["title"] = val - - @property - def x(self): - """ - Sets the x position with respect to `xref` of the color bar (in - plot fraction). When `xref` is "paper", defaults to 1.02 when - `orientation` is "v" and 0.5 when `orientation` is "h". When - `xref` is "container", defaults to 1 when `orientation` is "v" - and 0.5 when `orientation` is "h". Must be between 0 and 1 if - `xref` is "container" and between "-2" and 3 if `xref` is - "paper". - - The 'x' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["x"] - - @x.setter - def x(self, val): - self["x"] = val - - @property - def xanchor(self): - """ - Sets this color bar's horizontal position anchor. This anchor - binds the `x` position to the "left", "center" or "right" of - the color bar. Defaults to "left" when `orientation` is "v" and - "center" when `orientation` is "h". - - The 'xanchor' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['left', 'center', 'right'] - - Returns - ------- - Any - """ - return self["xanchor"] - - @xanchor.setter - def xanchor(self, val): - self["xanchor"] = val - - @property - def xpad(self): - """ - Sets the amount of padding (in px) along the x direction. - - The 'xpad' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["xpad"] - - @xpad.setter - def xpad(self, val): - self["xpad"] = val - - @property - def xref(self): - """ - Sets the container `x` refers to. "container" spans the entire - `width` of the plot. "paper" refers to the width of the - plotting area only. - - The 'xref' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['container', 'paper'] - - Returns - ------- - Any - """ - return self["xref"] - - @xref.setter - def xref(self, val): - self["xref"] = val - - @property - def y(self): - """ - Sets the y position with respect to `yref` of the color bar (in - plot fraction). When `yref` is "paper", defaults to 0.5 when - `orientation` is "v" and 1.02 when `orientation` is "h". When - `yref` is "container", defaults to 0.5 when `orientation` is - "v" and 1 when `orientation` is "h". Must be between 0 and 1 if - `yref` is "container" and between "-2" and 3 if `yref` is - "paper". - - The 'y' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["y"] - - @y.setter - def y(self, val): - self["y"] = val - - @property - def yanchor(self): - """ - Sets this color bar's vertical position anchor This anchor - binds the `y` position to the "top", "middle" or "bottom" of - the color bar. Defaults to "middle" when `orientation` is "v" - and "bottom" when `orientation` is "h". - - The 'yanchor' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['top', 'middle', 'bottom'] - - Returns - ------- - Any - """ - return self["yanchor"] - - @yanchor.setter - def yanchor(self, val): - self["yanchor"] = val - - @property - def ypad(self): - """ - Sets the amount of padding (in px) along the y direction. - - The 'ypad' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["ypad"] - - @ypad.setter - def ypad(self, val): - self["ypad"] = val - - @property - def yref(self): - """ - Sets the container `y` refers to. "container" spans the entire - `height` of the plot. "paper" refers to the height of the - plotting area only. - - The 'yref' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['container', 'paper'] - - Returns - ------- - Any - """ - return self["yref"] - - @yref.setter - def yref(self, val): - self["yref"] = val - - @property - def _prop_descriptions(self): - return """\ - bgcolor - Sets the color of padded area. - bordercolor - Sets the axis line color. - borderwidth - Sets the width (in px) or the border enclosing this - color bar. - dtick - Sets the step in-between ticks on this axis. Use with - `tick0`. Must be a positive number, or special strings - available to "log" and "date" axes. If the axis `type` - is "log", then ticks are set every 10^(n*dtick) where n - is the tick number. For example, to set a tick mark at - 1, 10, 100, 1000, ... set dtick to 1. To set tick marks - at 1, 100, 10000, ... set dtick to 2. To set tick marks - at 1, 5, 25, 125, 625, 3125, ... set dtick to - log_10(5), or 0.69897000433. "log" has several special - values; "L", where `f` is a positive number, gives - ticks linearly spaced in value (but not position). For - example `tick0` = 0.1, `dtick` = "L0.5" will put ticks - at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus - small digits between, use "D1" (all digits) or "D2" - (only 2 and 5). `tick0` is ignored for "D1" and "D2". - If the axis `type` is "date", then you must convert the - time to milliseconds. For example, to set the interval - between ticks to one day, set `dtick` to 86400000.0. - "date" also has special values "M" gives ticks - spaced by a number of months. `n` must be a positive - integer. To set ticks on the 15th of every third month, - set `tick0` to "2000-01-15" and `dtick` to "M3". To set - ticks every 4 years, set `dtick` to "M48" - exponentformat - Determines a formatting rule for the tick exponents. - For example, consider the number 1,000,000,000. If - "none", it appears as 1,000,000,000. If "e", 1e+9. If - "E", 1E+9. If "power", 1x10^9 (with 9 in a super - script). If "SI", 1G. If "B", 1B. "SI" uses prefixes - from "femto" f (10^-15) to "tera" T (10^12). *SI - extended* covers instead the full SI range from - "quecto" q (10^-30) to "quetta" Q (10^30). If "SI" or - *SI extended* is used and the exponent is beyond the - above ranges, the formatting rule will automatically be - switched to the power notation. - labelalias - Replacement text for specific tick or hover labels. For - example using {US: 'USA', CA: 'Canada'} changes US to - USA and CA to Canada. The labels we would have shown - must match the keys exactly, after adding any - tickprefix or ticksuffix. For negative numbers the - minus sign symbol used (U+2212) is wider than the - regular ascii dash. That means you need to use −1 - instead of -1. labelalias can be used with any axis - type, and both keys (if needed) and values (if desired) - can include html-like tags or MathJax. - len - Sets the length of the color bar This measure excludes - the padding of both ends. That is, the color bar length - is this length minus the padding on both ends. - lenmode - Determines whether this color bar's length (i.e. the - measure in the color variation direction) is set in - units of plot "fraction" or in *pixels. Use `len` to - set the value. - minexponent - Hide SI prefix for 10^n if |n| is below this number. - This only has an effect when `tickformat` is "SI" or - "B". - nticks - Specifies the maximum number of ticks for the - particular axis. The actual number of ticks will be - chosen automatically to be less than or equal to - `nticks`. Has an effect only if `tickmode` is set to - "auto". - orientation - Sets the orientation of the colorbar. - outlinecolor - Sets the axis line color. - outlinewidth - Sets the width (in px) of the axis line. - separatethousands - If "true", even 4-digit integers are separated - showexponent - If "all", all exponents are shown besides their - significands. If "first", only the exponent of the - first tick is shown. If "last", only the exponent of - the last tick is shown. If "none", no exponents appear. - showticklabels - Determines whether or not the tick labels are drawn. - showtickprefix - If "all", all tick labels are displayed with a prefix. - If "first", only the first tick is displayed with a - prefix. If "last", only the last tick is displayed with - a suffix. If "none", tick prefixes are hidden. - showticksuffix - Same as `showtickprefix` but for tick suffixes. - thickness - Sets the thickness of the color bar This measure - excludes the size of the padding, ticks and labels. - thicknessmode - Determines whether this color bar's thickness (i.e. the - measure in the constant color direction) is set in - units of plot "fraction" or in "pixels". Use - `thickness` to set the value. - tick0 - Sets the placement of the first tick on this axis. Use - with `dtick`. If the axis `type` is "log", then you - must take the log of your starting tick (e.g. to set - the starting tick to 100, set the `tick0` to 2) except - when `dtick`=*L* (see `dtick` for more info). If the - axis `type` is "date", it should be a date string, like - date data. If the axis `type` is "category", it should - be a number, using the scale where each category is - assigned a serial number from zero in the order it - appears. - tickangle - Sets the angle of the tick labels with respect to the - horizontal. For example, a `tickangle` of -90 draws the - tick labels vertically. - tickcolor - Sets the tick color. - tickfont - Sets the color bar's tick label font - tickformat - Sets the tick label formatting rule using d3 formatting - mini-languages which are very similar to those in - Python. For numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - And for dates see: https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two items to - d3's date formatter: "%h" for half of the year as a - decimal number as well as "%{n}f" for fractional - seconds with n digits. For example, *2016-10-13 - 09:15:23.456* with tickformat "%H~%M~%S.%2f" would - display "09~15~23.46" - tickformatstops - A tuple of :class:`plotly.graph_objects.choroplethmapbo - x.colorbar.Tickformatstop` instances or dicts with - compatible properties - tickformatstopdefaults - When used in a template (as layout.template.data.chorop - lethmapbox.colorbar.tickformatstopdefaults), sets the - default property values to use for elements of - choroplethmapbox.colorbar.tickformatstops - ticklabeloverflow - Determines how we handle tick labels that would - overflow either the graph div or the domain of the - axis. The default value for inside tick labels is *hide - past domain*. In other cases the default is *hide past - div*. - ticklabelposition - Determines where tick labels are drawn relative to the - ticks. Left and right options are used when - `orientation` is "h", top and bottom when `orientation` - is "v". - ticklabelstep - Sets the spacing between tick labels as compared to the - spacing between ticks. A value of 1 (default) means - each tick gets a label. A value of 2 means shows every - 2nd label. A larger value n means only every nth tick - is labeled. `tick0` determines which labels are shown. - Not implemented for axes with `type` "log" or - "multicategory", or when `tickmode` is "array". - ticklen - Sets the tick length (in px). - tickmode - Sets the tick mode for this axis. If "auto", the number - of ticks is set via `nticks`. If "linear", the - placement of the ticks is determined by a starting - position `tick0` and a tick step `dtick` ("linear" is - the default value if `tick0` and `dtick` are provided). - If "array", the placement of the ticks is set via - `tickvals` and the tick text is `ticktext`. ("array" is - the default value if `tickvals` is provided). - tickprefix - Sets a tick label prefix. - ticks - Determines whether ticks are drawn or not. If "", this - axis' ticks are not drawn. If "outside" ("inside"), - this axis' are drawn outside (inside) the axis lines. - ticksuffix - Sets a tick label suffix. - ticktext - Sets the text displayed at the ticks position via - `tickvals`. Only has an effect if `tickmode` is set to - "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. - tickvals - Sets the values at which ticks on this axis appear. - Only has an effect if `tickmode` is set to "array". - Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. - tickwidth - Sets the tick width (in px). - title - :class:`plotly.graph_objects.choroplethmapbox.colorbar. - Title` instance or dict with compatible properties - x - Sets the x position with respect to `xref` of the color - bar (in plot fraction). When `xref` is "paper", - defaults to 1.02 when `orientation` is "v" and 0.5 when - `orientation` is "h". When `xref` is "container", - defaults to 1 when `orientation` is "v" and 0.5 when - `orientation` is "h". Must be between 0 and 1 if `xref` - is "container" and between "-2" and 3 if `xref` is - "paper". - xanchor - Sets this color bar's horizontal position anchor. This - anchor binds the `x` position to the "left", "center" - or "right" of the color bar. Defaults to "left" when - `orientation` is "v" and "center" when `orientation` is - "h". - xpad - Sets the amount of padding (in px) along the x - direction. - xref - Sets the container `x` refers to. "container" spans the - entire `width` of the plot. "paper" refers to the width - of the plotting area only. - y - Sets the y position with respect to `yref` of the color - bar (in plot fraction). When `yref` is "paper", - defaults to 0.5 when `orientation` is "v" and 1.02 when - `orientation` is "h". When `yref` is "container", - defaults to 0.5 when `orientation` is "v" and 1 when - `orientation` is "h". Must be between 0 and 1 if `yref` - is "container" and between "-2" and 3 if `yref` is - "paper". - yanchor - Sets this color bar's vertical position anchor This - anchor binds the `y` position to the "top", "middle" or - "bottom" of the color bar. Defaults to "middle" when - `orientation` is "v" and "bottom" when `orientation` is - "h". - ypad - Sets the amount of padding (in px) along the y - direction. - yref - Sets the container `y` refers to. "container" spans the - entire `height` of the plot. "paper" refers to the - height of the plotting area only. - """ - - def __init__( - self, - arg=None, - bgcolor=None, - bordercolor=None, - borderwidth=None, - dtick=None, - exponentformat=None, - labelalias=None, - len=None, - lenmode=None, - minexponent=None, - nticks=None, - orientation=None, - outlinecolor=None, - outlinewidth=None, - separatethousands=None, - showexponent=None, - showticklabels=None, - showtickprefix=None, - showticksuffix=None, - thickness=None, - thicknessmode=None, - tick0=None, - tickangle=None, - tickcolor=None, - tickfont=None, - tickformat=None, - tickformatstops=None, - tickformatstopdefaults=None, - ticklabeloverflow=None, - ticklabelposition=None, - ticklabelstep=None, - ticklen=None, - tickmode=None, - tickprefix=None, - ticks=None, - ticksuffix=None, - ticktext=None, - ticktextsrc=None, - tickvals=None, - tickvalssrc=None, - tickwidth=None, - title=None, - x=None, - xanchor=None, - xpad=None, - xref=None, - y=None, - yanchor=None, - ypad=None, - yref=None, - **kwargs, - ): - """ - Construct a new ColorBar object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.choroplethmapbox.ColorBar` - bgcolor - Sets the color of padded area. - bordercolor - Sets the axis line color. - borderwidth - Sets the width (in px) or the border enclosing this - color bar. - dtick - Sets the step in-between ticks on this axis. Use with - `tick0`. Must be a positive number, or special strings - available to "log" and "date" axes. If the axis `type` - is "log", then ticks are set every 10^(n*dtick) where n - is the tick number. For example, to set a tick mark at - 1, 10, 100, 1000, ... set dtick to 1. To set tick marks - at 1, 100, 10000, ... set dtick to 2. To set tick marks - at 1, 5, 25, 125, 625, 3125, ... set dtick to - log_10(5), or 0.69897000433. "log" has several special - values; "L", where `f` is a positive number, gives - ticks linearly spaced in value (but not position). For - example `tick0` = 0.1, `dtick` = "L0.5" will put ticks - at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus - small digits between, use "D1" (all digits) or "D2" - (only 2 and 5). `tick0` is ignored for "D1" and "D2". - If the axis `type` is "date", then you must convert the - time to milliseconds. For example, to set the interval - between ticks to one day, set `dtick` to 86400000.0. - "date" also has special values "M" gives ticks - spaced by a number of months. `n` must be a positive - integer. To set ticks on the 15th of every third month, - set `tick0` to "2000-01-15" and `dtick` to "M3". To set - ticks every 4 years, set `dtick` to "M48" - exponentformat - Determines a formatting rule for the tick exponents. - For example, consider the number 1,000,000,000. If - "none", it appears as 1,000,000,000. If "e", 1e+9. If - "E", 1E+9. If "power", 1x10^9 (with 9 in a super - script). If "SI", 1G. If "B", 1B. "SI" uses prefixes - from "femto" f (10^-15) to "tera" T (10^12). *SI - extended* covers instead the full SI range from - "quecto" q (10^-30) to "quetta" Q (10^30). If "SI" or - *SI extended* is used and the exponent is beyond the - above ranges, the formatting rule will automatically be - switched to the power notation. - labelalias - Replacement text for specific tick or hover labels. For - example using {US: 'USA', CA: 'Canada'} changes US to - USA and CA to Canada. The labels we would have shown - must match the keys exactly, after adding any - tickprefix or ticksuffix. For negative numbers the - minus sign symbol used (U+2212) is wider than the - regular ascii dash. That means you need to use −1 - instead of -1. labelalias can be used with any axis - type, and both keys (if needed) and values (if desired) - can include html-like tags or MathJax. - len - Sets the length of the color bar This measure excludes - the padding of both ends. That is, the color bar length - is this length minus the padding on both ends. - lenmode - Determines whether this color bar's length (i.e. the - measure in the color variation direction) is set in - units of plot "fraction" or in *pixels. Use `len` to - set the value. - minexponent - Hide SI prefix for 10^n if |n| is below this number. - This only has an effect when `tickformat` is "SI" or - "B". - nticks - Specifies the maximum number of ticks for the - particular axis. The actual number of ticks will be - chosen automatically to be less than or equal to - `nticks`. Has an effect only if `tickmode` is set to - "auto". - orientation - Sets the orientation of the colorbar. - outlinecolor - Sets the axis line color. - outlinewidth - Sets the width (in px) of the axis line. - separatethousands - If "true", even 4-digit integers are separated - showexponent - If "all", all exponents are shown besides their - significands. If "first", only the exponent of the - first tick is shown. If "last", only the exponent of - the last tick is shown. If "none", no exponents appear. - showticklabels - Determines whether or not the tick labels are drawn. - showtickprefix - If "all", all tick labels are displayed with a prefix. - If "first", only the first tick is displayed with a - prefix. If "last", only the last tick is displayed with - a suffix. If "none", tick prefixes are hidden. - showticksuffix - Same as `showtickprefix` but for tick suffixes. - thickness - Sets the thickness of the color bar This measure - excludes the size of the padding, ticks and labels. - thicknessmode - Determines whether this color bar's thickness (i.e. the - measure in the constant color direction) is set in - units of plot "fraction" or in "pixels". Use - `thickness` to set the value. - tick0 - Sets the placement of the first tick on this axis. Use - with `dtick`. If the axis `type` is "log", then you - must take the log of your starting tick (e.g. to set - the starting tick to 100, set the `tick0` to 2) except - when `dtick`=*L* (see `dtick` for more info). If the - axis `type` is "date", it should be a date string, like - date data. If the axis `type` is "category", it should - be a number, using the scale where each category is - assigned a serial number from zero in the order it - appears. - tickangle - Sets the angle of the tick labels with respect to the - horizontal. For example, a `tickangle` of -90 draws the - tick labels vertically. - tickcolor - Sets the tick color. - tickfont - Sets the color bar's tick label font - tickformat - Sets the tick label formatting rule using d3 formatting - mini-languages which are very similar to those in - Python. For numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - And for dates see: https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two items to - d3's date formatter: "%h" for half of the year as a - decimal number as well as "%{n}f" for fractional - seconds with n digits. For example, *2016-10-13 - 09:15:23.456* with tickformat "%H~%M~%S.%2f" would - display "09~15~23.46" - tickformatstops - A tuple of :class:`plotly.graph_objects.choroplethmapbo - x.colorbar.Tickformatstop` instances or dicts with - compatible properties - tickformatstopdefaults - When used in a template (as layout.template.data.chorop - lethmapbox.colorbar.tickformatstopdefaults), sets the - default property values to use for elements of - choroplethmapbox.colorbar.tickformatstops - ticklabeloverflow - Determines how we handle tick labels that would - overflow either the graph div or the domain of the - axis. The default value for inside tick labels is *hide - past domain*. In other cases the default is *hide past - div*. - ticklabelposition - Determines where tick labels are drawn relative to the - ticks. Left and right options are used when - `orientation` is "h", top and bottom when `orientation` - is "v". - ticklabelstep - Sets the spacing between tick labels as compared to the - spacing between ticks. A value of 1 (default) means - each tick gets a label. A value of 2 means shows every - 2nd label. A larger value n means only every nth tick - is labeled. `tick0` determines which labels are shown. - Not implemented for axes with `type` "log" or - "multicategory", or when `tickmode` is "array". - ticklen - Sets the tick length (in px). - tickmode - Sets the tick mode for this axis. If "auto", the number - of ticks is set via `nticks`. If "linear", the - placement of the ticks is determined by a starting - position `tick0` and a tick step `dtick` ("linear" is - the default value if `tick0` and `dtick` are provided). - If "array", the placement of the ticks is set via - `tickvals` and the tick text is `ticktext`. ("array" is - the default value if `tickvals` is provided). - tickprefix - Sets a tick label prefix. - ticks - Determines whether ticks are drawn or not. If "", this - axis' ticks are not drawn. If "outside" ("inside"), - this axis' are drawn outside (inside) the axis lines. - ticksuffix - Sets a tick label suffix. - ticktext - Sets the text displayed at the ticks position via - `tickvals`. Only has an effect if `tickmode` is set to - "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. - tickvals - Sets the values at which ticks on this axis appear. - Only has an effect if `tickmode` is set to "array". - Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. - tickwidth - Sets the tick width (in px). - title - :class:`plotly.graph_objects.choroplethmapbox.colorbar. - Title` instance or dict with compatible properties - x - Sets the x position with respect to `xref` of the color - bar (in plot fraction). When `xref` is "paper", - defaults to 1.02 when `orientation` is "v" and 0.5 when - `orientation` is "h". When `xref` is "container", - defaults to 1 when `orientation` is "v" and 0.5 when - `orientation` is "h". Must be between 0 and 1 if `xref` - is "container" and between "-2" and 3 if `xref` is - "paper". - xanchor - Sets this color bar's horizontal position anchor. This - anchor binds the `x` position to the "left", "center" - or "right" of the color bar. Defaults to "left" when - `orientation` is "v" and "center" when `orientation` is - "h". - xpad - Sets the amount of padding (in px) along the x - direction. - xref - Sets the container `x` refers to. "container" spans the - entire `width` of the plot. "paper" refers to the width - of the plotting area only. - y - Sets the y position with respect to `yref` of the color - bar (in plot fraction). When `yref` is "paper", - defaults to 0.5 when `orientation` is "v" and 1.02 when - `orientation` is "h". When `yref` is "container", - defaults to 0.5 when `orientation` is "v" and 1 when - `orientation` is "h". Must be between 0 and 1 if `yref` - is "container" and between "-2" and 3 if `yref` is - "paper". - yanchor - Sets this color bar's vertical position anchor This - anchor binds the `y` position to the "top", "middle" or - "bottom" of the color bar. Defaults to "middle" when - `orientation` is "v" and "bottom" when `orientation` is - "h". - ypad - Sets the amount of padding (in px) along the y - direction. - yref - Sets the container `y` refers to. "container" spans the - entire `height` of the plot. "paper" refers to the - height of the plotting area only. - - Returns - ------- - ColorBar - """ - super().__init__("colorbar") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.choroplethmapbox.ColorBar -constructor must be a dict or -an instance of :class:`plotly.graph_objs.choroplethmapbox.ColorBar`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("bgcolor", arg, bgcolor) - self._set_property("bordercolor", arg, bordercolor) - self._set_property("borderwidth", arg, borderwidth) - self._set_property("dtick", arg, dtick) - self._set_property("exponentformat", arg, exponentformat) - self._set_property("labelalias", arg, labelalias) - self._set_property("len", arg, len) - self._set_property("lenmode", arg, lenmode) - self._set_property("minexponent", arg, minexponent) - self._set_property("nticks", arg, nticks) - self._set_property("orientation", arg, orientation) - self._set_property("outlinecolor", arg, outlinecolor) - self._set_property("outlinewidth", arg, outlinewidth) - self._set_property("separatethousands", arg, separatethousands) - self._set_property("showexponent", arg, showexponent) - self._set_property("showticklabels", arg, showticklabels) - self._set_property("showtickprefix", arg, showtickprefix) - self._set_property("showticksuffix", arg, showticksuffix) - self._set_property("thickness", arg, thickness) - self._set_property("thicknessmode", arg, thicknessmode) - self._set_property("tick0", arg, tick0) - self._set_property("tickangle", arg, tickangle) - self._set_property("tickcolor", arg, tickcolor) - self._set_property("tickfont", arg, tickfont) - self._set_property("tickformat", arg, tickformat) - self._set_property("tickformatstops", arg, tickformatstops) - self._set_property("tickformatstopdefaults", arg, tickformatstopdefaults) - self._set_property("ticklabeloverflow", arg, ticklabeloverflow) - self._set_property("ticklabelposition", arg, ticklabelposition) - self._set_property("ticklabelstep", arg, ticklabelstep) - self._set_property("ticklen", arg, ticklen) - self._set_property("tickmode", arg, tickmode) - self._set_property("tickprefix", arg, tickprefix) - self._set_property("ticks", arg, ticks) - self._set_property("ticksuffix", arg, ticksuffix) - self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) - self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) - self._set_property("tickwidth", arg, tickwidth) - self._set_property("title", arg, title) - self._set_property("x", arg, x) - self._set_property("xanchor", arg, xanchor) - self._set_property("xpad", arg, xpad) - self._set_property("xref", arg, xref) - self._set_property("y", arg, y) - self._set_property("yanchor", arg, yanchor) - self._set_property("ypad", arg, ypad) - self._set_property("yref", arg, yref) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/choroplethmapbox/_hoverlabel.py b/plotly/graph_objs/choroplethmapbox/_hoverlabel.py deleted file mode 100644 index 38871a7f7df..00000000000 --- a/plotly/graph_objs/choroplethmapbox/_hoverlabel.py +++ /dev/null @@ -1,366 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Hoverlabel(_BaseTraceHierarchyType): - _parent_path_str = "choroplethmapbox" - _path_str = "choroplethmapbox.hoverlabel" - _valid_props = { - "align", - "alignsrc", - "bgcolor", - "bgcolorsrc", - "bordercolor", - "bordercolorsrc", - "font", - "namelength", - "namelengthsrc", - "showarrow", - } - - @property - def align(self): - """ - Sets the horizontal alignment of the text content within hover - label box. Has an effect only if the hover label text spans - more two or more lines - - The 'align' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['left', 'right', 'auto'] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["align"] - - @align.setter - def align(self, val): - self["align"] = val - - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - - @property - def bgcolor(self): - """ - Sets the background color of the hover labels for this trace - - The 'bgcolor' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: see https://plotly.com/python/css-colors/ for a list - - A list or array of any of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["bgcolor"] - - @bgcolor.setter - def bgcolor(self, val): - self["bgcolor"] = val - - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - - @property - def bordercolor(self): - """ - Sets the border color of the hover labels for this trace. - - The 'bordercolor' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: see https://plotly.com/python/css-colors/ for a list - - A list or array of any of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["bordercolor"] - - @bordercolor.setter - def bordercolor(self, val): - self["bordercolor"] = val - - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - - @property - def font(self): - """ - Sets the font used in hover labels. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.choroplethmapbox.hoverlabel.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Returns - ------- - plotly.graph_objs.choroplethmapbox.hoverlabel.Font - """ - return self["font"] - - @font.setter - def font(self, val): - self["font"] = val - - @property - def namelength(self): - """ - Sets the default length (in number of characters) of the trace - name in the hover labels for all traces. -1 shows the whole - name regardless of length. 0-3 shows the first 0-3 characters, - and an integer >3 will show the whole name if it is less than - that many characters, but if it is longer, will truncate to - `namelength - 3` characters and add an ellipsis. - - The 'namelength' property is an integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [-1, 9223372036854775807] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - int|numpy.ndarray - """ - return self["namelength"] - - @namelength.setter - def namelength(self, val): - self["namelength"] = val - - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - - @property - def showarrow(self): - """ - Sets whether or not to show the hover label arrow/triangle - pointing to the data point. - - The 'showarrow' property is a boolean and must be specified as: - - A boolean value: True or False - - Returns - ------- - bool - """ - return self["showarrow"] - - @showarrow.setter - def showarrow(self, val): - self["showarrow"] = val - - @property - def _prop_descriptions(self): - return """\ - align - Sets the horizontal alignment of the text content - within hover label box. Has an effect only if the hover - label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. - bgcolor - Sets the background color of the hover labels for this - trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. - bordercolor - Sets the border color of the hover labels for this - trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - font - Sets the font used in hover labels. - namelength - Sets the default length (in number of characters) of - the trace name in the hover labels for all traces. -1 - shows the whole name regardless of length. 0-3 shows - the first 0-3 characters, and an integer >3 will show - the whole name if it is less than that many characters, - but if it is longer, will truncate to `namelength - 3` - characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. - showarrow - Sets whether or not to show the hover label - arrow/triangle pointing to the data point. - """ - - def __init__( - self, - arg=None, - align=None, - alignsrc=None, - bgcolor=None, - bgcolorsrc=None, - bordercolor=None, - bordercolorsrc=None, - font=None, - namelength=None, - namelengthsrc=None, - showarrow=None, - **kwargs, - ): - """ - Construct a new Hoverlabel object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.choroplethmapbox.Hoverlabel` - align - Sets the horizontal alignment of the text content - within hover label box. Has an effect only if the hover - label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. - bgcolor - Sets the background color of the hover labels for this - trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. - bordercolor - Sets the border color of the hover labels for this - trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - font - Sets the font used in hover labels. - namelength - Sets the default length (in number of characters) of - the trace name in the hover labels for all traces. -1 - shows the whole name regardless of length. 0-3 shows - the first 0-3 characters, and an integer >3 will show - the whole name if it is less than that many characters, - but if it is longer, will truncate to `namelength - 3` - characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. - showarrow - Sets whether or not to show the hover label - arrow/triangle pointing to the data point. - - Returns - ------- - Hoverlabel - """ - super().__init__("hoverlabel") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.choroplethmapbox.Hoverlabel -constructor must be a dict or -an instance of :class:`plotly.graph_objs.choroplethmapbox.Hoverlabel`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) - self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) - self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) - self._set_property("font", arg, font) - self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) - self._set_property("showarrow", arg, showarrow) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/choroplethmapbox/_legendgrouptitle.py b/plotly/graph_objs/choroplethmapbox/_legendgrouptitle.py deleted file mode 100644 index 24455318cdf..00000000000 --- a/plotly/graph_objs/choroplethmapbox/_legendgrouptitle.py +++ /dev/null @@ -1,104 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Legendgrouptitle(_BaseTraceHierarchyType): - _parent_path_str = "choroplethmapbox" - _path_str = "choroplethmapbox.legendgrouptitle" - _valid_props = {"font", "text"} - - @property - def font(self): - """ - Sets this legend group's title font. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.choroplethmapbox.legendgrouptitle.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Returns - ------- - plotly.graph_objs.choroplethmapbox.legendgrouptitle.Font - """ - return self["font"] - - @font.setter - def font(self, val): - self["font"] = val - - @property - def text(self): - """ - Sets the title of the legend group. - - The 'text' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["text"] - - @text.setter - def text(self, val): - self["text"] = val - - @property - def _prop_descriptions(self): - return """\ - font - Sets this legend group's title font. - text - Sets the title of the legend group. - """ - - def __init__(self, arg=None, font=None, text=None, **kwargs): - """ - Construct a new Legendgrouptitle object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.choroplethmapb - ox.Legendgrouptitle` - font - Sets this legend group's title font. - text - Sets the title of the legend group. - - Returns - ------- - Legendgrouptitle - """ - super().__init__("legendgrouptitle") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.choroplethmapbox.Legendgrouptitle -constructor must be a dict or -an instance of :class:`plotly.graph_objs.choroplethmapbox.Legendgrouptitle`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("font", arg, font) - self._set_property("text", arg, text) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/choroplethmapbox/_marker.py b/plotly/graph_objs/choroplethmapbox/_marker.py deleted file mode 100644 index d4b24d4d30c..00000000000 --- a/plotly/graph_objs/choroplethmapbox/_marker.py +++ /dev/null @@ -1,129 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Marker(_BaseTraceHierarchyType): - _parent_path_str = "choroplethmapbox" - _path_str = "choroplethmapbox.marker" - _valid_props = {"line", "opacity", "opacitysrc"} - - @property - def line(self): - """ - The 'line' property is an instance of Line - that may be specified as: - - An instance of :class:`plotly.graph_objs.choroplethmapbox.marker.Line` - - A dict of string/value properties that will be passed - to the Line constructor - - Returns - ------- - plotly.graph_objs.choroplethmapbox.marker.Line - """ - return self["line"] - - @line.setter - def line(self, val): - self["line"] = val - - @property - def opacity(self): - """ - Sets the opacity of the locations. - - The 'opacity' property is a number and may be specified as: - - An int or float in the interval [0, 1] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - int|float|numpy.ndarray - """ - return self["opacity"] - - @opacity.setter - def opacity(self, val): - self["opacity"] = val - - @property - def opacitysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `opacity`. - - The 'opacitysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["opacitysrc"] - - @opacitysrc.setter - def opacitysrc(self, val): - self["opacitysrc"] = val - - @property - def _prop_descriptions(self): - return """\ - line - :class:`plotly.graph_objects.choroplethmapbox.marker.Li - ne` instance or dict with compatible properties - opacity - Sets the opacity of the locations. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. - """ - - def __init__(self, arg=None, line=None, opacity=None, opacitysrc=None, **kwargs): - """ - Construct a new Marker object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.choroplethmapbox.Marker` - line - :class:`plotly.graph_objects.choroplethmapbox.marker.Li - ne` instance or dict with compatible properties - opacity - Sets the opacity of the locations. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. - - Returns - ------- - Marker - """ - super().__init__("marker") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.choroplethmapbox.Marker -constructor must be a dict or -an instance of :class:`plotly.graph_objs.choroplethmapbox.Marker`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("line", arg, line) - self._set_property("opacity", arg, opacity) - self._set_property("opacitysrc", arg, opacitysrc) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/choroplethmapbox/_stream.py b/plotly/graph_objs/choroplethmapbox/_stream.py deleted file mode 100644 index 1698554caf7..00000000000 --- a/plotly/graph_objs/choroplethmapbox/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "choroplethmapbox" - _path_str = "choroplethmapbox.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.choroplethmapbox.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.choroplethmapbox.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.choroplethmapbox.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/choroplethmapbox/colorbar/_tickformatstop.py b/plotly/graph_objs/choroplethmapbox/colorbar/_tickformatstop.py deleted file mode 100644 index 8a0c64df381..00000000000 --- a/plotly/graph_objs/choroplethmapbox/colorbar/_tickformatstop.py +++ /dev/null @@ -1,241 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Tickformatstop(_BaseTraceHierarchyType): - _parent_path_str = "choroplethmapbox.colorbar" - _path_str = "choroplethmapbox.colorbar.tickformatstop" - _valid_props = {"dtickrange", "enabled", "name", "templateitemname", "value"} - - @property - def dtickrange(self): - """ - range [*min*, *max*], where "min", "max" - dtick values which - describe some zoom level, it is possible to omit "min" or "max" - value by passing "null" - - The 'dtickrange' property is an info array that may be specified as: - - * a list or tuple of 2 elements where: - (0) The 'dtickrange[0]' property accepts values of any type - (1) The 'dtickrange[1]' property accepts values of any type - - Returns - ------- - list - """ - return self["dtickrange"] - - @dtickrange.setter - def dtickrange(self, val): - self["dtickrange"] = val - - @property - def enabled(self): - """ - Determines whether or not this stop is used. If `false`, this - stop is ignored even within its `dtickrange`. - - The 'enabled' property is a boolean and must be specified as: - - A boolean value: True or False - - Returns - ------- - bool - """ - return self["enabled"] - - @enabled.setter - def enabled(self, val): - self["enabled"] = val - - @property - def name(self): - """ - When used in a template, named items are created in the output - figure in addition to any items the figure already has in this - array. You can modify these items in the output figure by - making your own item with `templateitemname` matching this - `name` alongside your modifications (including `visible: false` - or `enabled: false` to hide it). Has no effect outside of a - template. - - The 'name' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["name"] - - @name.setter - def name(self, val): - self["name"] = val - - @property - def templateitemname(self): - """ - Used to refer to a named item in this array in the template. - Named items from the template will be created even without a - matching item in the input figure, but you can modify one by - making an item with `templateitemname` matching its `name`, - alongside your modifications (including `visible: false` or - `enabled: false` to hide it). If there is no template or no - matching item, this item will be hidden unless you explicitly - show it with `visible: true`. - - The 'templateitemname' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["templateitemname"] - - @templateitemname.setter - def templateitemname(self, val): - self["templateitemname"] = val - - @property - def value(self): - """ - string - dtickformat for described zoom level, the same as - "tickformat" - - The 'value' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["value"] - - @value.setter - def value(self, val): - self["value"] = val - - @property - def _prop_descriptions(self): - return """\ - dtickrange - range [*min*, *max*], where "min", "max" - dtick values - which describe some zoom level, it is possible to omit - "min" or "max" value by passing "null" - enabled - Determines whether or not this stop is used. If - `false`, this stop is ignored even within its - `dtickrange`. - name - When used in a template, named items are created in the - output figure in addition to any items the figure - already has in this array. You can modify these items - in the output figure by making your own item with - `templateitemname` matching this `name` alongside your - modifications (including `visible: false` or `enabled: - false` to hide it). Has no effect outside of a - template. - templateitemname - Used to refer to a named item in this array in the - template. Named items from the template will be created - even without a matching item in the input figure, but - you can modify one by making an item with - `templateitemname` matching its `name`, alongside your - modifications (including `visible: false` or `enabled: - false` to hide it). If there is no template or no - matching item, this item will be hidden unless you - explicitly show it with `visible: true`. - value - string - dtickformat for described zoom level, the same - as "tickformat" - """ - - def __init__( - self, - arg=None, - dtickrange=None, - enabled=None, - name=None, - templateitemname=None, - value=None, - **kwargs, - ): - """ - Construct a new Tickformatstop object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.choroplethmapb - ox.colorbar.Tickformatstop` - dtickrange - range [*min*, *max*], where "min", "max" - dtick values - which describe some zoom level, it is possible to omit - "min" or "max" value by passing "null" - enabled - Determines whether or not this stop is used. If - `false`, this stop is ignored even within its - `dtickrange`. - name - When used in a template, named items are created in the - output figure in addition to any items the figure - already has in this array. You can modify these items - in the output figure by making your own item with - `templateitemname` matching this `name` alongside your - modifications (including `visible: false` or `enabled: - false` to hide it). Has no effect outside of a - template. - templateitemname - Used to refer to a named item in this array in the - template. Named items from the template will be created - even without a matching item in the input figure, but - you can modify one by making an item with - `templateitemname` matching its `name`, alongside your - modifications (including `visible: false` or `enabled: - false` to hide it). If there is no template or no - matching item, this item will be hidden unless you - explicitly show it with `visible: true`. - value - string - dtickformat for described zoom level, the same - as "tickformat" - - Returns - ------- - Tickformatstop - """ - super().__init__("tickformatstops") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.choroplethmapbox.colorbar.Tickformatstop -constructor must be a dict or -an instance of :class:`plotly.graph_objs.choroplethmapbox.colorbar.Tickformatstop`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("dtickrange", arg, dtickrange) - self._set_property("enabled", arg, enabled) - self._set_property("name", arg, name) - self._set_property("templateitemname", arg, templateitemname) - self._set_property("value", arg, value) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/choroplethmapbox/colorbar/_title.py b/plotly/graph_objs/choroplethmapbox/colorbar/_title.py deleted file mode 100644 index f96e32ecdfb..00000000000 --- a/plotly/graph_objs/choroplethmapbox/colorbar/_title.py +++ /dev/null @@ -1,136 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Title(_BaseTraceHierarchyType): - _parent_path_str = "choroplethmapbox.colorbar" - _path_str = "choroplethmapbox.colorbar.title" - _valid_props = {"font", "side", "text"} - - @property - def font(self): - """ - Sets this color bar's title font. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.choroplethmapbox.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Returns - ------- - plotly.graph_objs.choroplethmapbox.colorbar.title.Font - """ - return self["font"] - - @font.setter - def font(self, val): - self["font"] = val - - @property - def side(self): - """ - Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - Any - """ - return self["side"] - - @side.setter - def side(self, val): - self["side"] = val - - @property - def text(self): - """ - Sets the title of the color bar. - - The 'text' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["text"] - - @text.setter - def text(self, val): - self["text"] = val - - @property - def _prop_descriptions(self): - return """\ - font - Sets this color bar's title font. - side - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". - text - Sets the title of the color bar. - """ - - def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): - """ - Construct a new Title object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.choroplethmapb - ox.colorbar.Title` - font - Sets this color bar's title font. - side - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". - text - Sets the title of the color bar. - - Returns - ------- - Title - """ - super().__init__("title") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.choroplethmapbox.colorbar.Title -constructor must be a dict or -an instance of :class:`plotly.graph_objs.choroplethmapbox.colorbar.Title`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("font", arg, font) - self._set_property("side", arg, side) - self._set_property("text", arg, text) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/choroplethmapbox/colorbar/title/_font.py b/plotly/graph_objs/choroplethmapbox/colorbar/title/_font.py deleted file mode 100644 index 66740f0432f..00000000000 --- a/plotly/graph_objs/choroplethmapbox/colorbar/title/_font.py +++ /dev/null @@ -1,334 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Font(_BaseTraceHierarchyType): - _parent_path_str = "choroplethmapbox.colorbar.title" - _path_str = "choroplethmapbox.colorbar.title.font" - _valid_props = { - "color", - "family", - "lineposition", - "shadow", - "size", - "style", - "textcase", - "variant", - "weight", - } - - @property - def color(self): - """ - The 'color' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: see https://plotly.com/python/css-colors/ for a list - - Returns - ------- - str - """ - return self["color"] - - @color.setter - def color(self, val): - self["color"] = val - - @property - def family(self): - """ - HTML font family - the typeface that will be applied by the web - browser. The web browser can only apply a font if it is - available on the system where it runs. Provide multiple font - families, separated by commas, to indicate the order in which - to apply fonts if they aren't available. - - The 'family' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["family"] - - @family.setter - def family(self, val): - self["family"] = val - - @property - def lineposition(self): - """ - Sets the kind of decoration line(s) with text, such as an - "under", "over" or "through" as well as combinations e.g. - "under+over", etc. - - The 'lineposition' property is a flaglist and may be specified - as a string containing: - - Any combination of ['under', 'over', 'through'] joined with '+' characters - (e.g. 'under+over') - OR exactly one of ['none'] (e.g. 'none') - - Returns - ------- - Any - """ - return self["lineposition"] - - @lineposition.setter - def lineposition(self, val): - self["lineposition"] = val - - @property - def shadow(self): - """ - Sets the shape and color of the shadow behind text. "auto" - places minimal shadow and applies contrast text font color. See - https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow - for additional options. - - The 'shadow' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["shadow"] - - @shadow.setter - def shadow(self, val): - self["shadow"] = val - - @property - def size(self): - """ - The 'size' property is a number and may be specified as: - - An int or float in the interval [1, inf] - - Returns - ------- - int|float - """ - return self["size"] - - @size.setter - def size(self, val): - self["size"] = val - - @property - def style(self): - """ - Sets whether a font should be styled with a normal or italic - face from its family. - - The 'style' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'italic'] - - Returns - ------- - Any - """ - return self["style"] - - @style.setter - def style(self, val): - self["style"] = val - - @property - def textcase(self): - """ - Sets capitalization of text. It can be used to make text appear - in all-uppercase or all-lowercase, or with each word - capitalized. - - The 'textcase' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'word caps', 'upper', 'lower'] - - Returns - ------- - Any - """ - return self["textcase"] - - @textcase.setter - def textcase(self, val): - self["textcase"] = val - - @property - def variant(self): - """ - Sets the variant of the font. - - The 'variant' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'small-caps', 'all-small-caps', - 'all-petite-caps', 'petite-caps', 'unicase'] - - Returns - ------- - Any - """ - return self["variant"] - - @variant.setter - def variant(self, val): - self["variant"] = val - - @property - def weight(self): - """ - Sets the weight (or boldness) of the font. - - The 'weight' property is an integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [1, 1000] - OR exactly one of ['normal', 'bold'] (e.g. 'bold') - - Returns - ------- - int - """ - return self["weight"] - - @weight.setter - def weight(self, val): - self["weight"] = val - - @property - def _prop_descriptions(self): - return """\ - color - - family - HTML font family - the typeface that will be applied by - the web browser. The web browser can only apply a font - if it is available on the system where it runs. Provide - multiple font families, separated by commas, to - indicate the order in which to apply fonts if they - aren't available. - lineposition - Sets the kind of decoration line(s) with text, such as - an "under", "over" or "through" as well as combinations - e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind text. - "auto" places minimal shadow and applies contrast text - font color. See https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional options. - size - - style - Sets whether a font should be styled with a normal or - italic face from its family. - textcase - Sets capitalization of text. It can be used to make - text appear in all-uppercase or all-lowercase, or with - each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - """ - - def __init__( - self, - arg=None, - color=None, - family=None, - lineposition=None, - shadow=None, - size=None, - style=None, - textcase=None, - variant=None, - weight=None, - **kwargs, - ): - """ - Construct a new Font object - - Sets this color bar's title font. - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.choroplethmapb - ox.colorbar.title.Font` - color - - family - HTML font family - the typeface that will be applied by - the web browser. The web browser can only apply a font - if it is available on the system where it runs. Provide - multiple font families, separated by commas, to - indicate the order in which to apply fonts if they - aren't available. - lineposition - Sets the kind of decoration line(s) with text, such as - an "under", "over" or "through" as well as combinations - e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind text. - "auto" places minimal shadow and applies contrast text - font color. See https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional options. - size - - style - Sets whether a font should be styled with a normal or - italic face from its family. - textcase - Sets capitalization of text. It can be used to make - text appear in all-uppercase or all-lowercase, or with - each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - Font - """ - super().__init__("font") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.choroplethmapbox.colorbar.title.Font -constructor must be a dict or -an instance of :class:`plotly.graph_objs.choroplethmapbox.colorbar.title.Font`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("color", arg, color) - self._set_property("family", arg, family) - self._set_property("lineposition", arg, lineposition) - self._set_property("shadow", arg, shadow) - self._set_property("size", arg, size) - self._set_property("style", arg, style) - self._set_property("textcase", arg, textcase) - self._set_property("variant", arg, variant) - self._set_property("weight", arg, weight) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/choroplethmapbox/hoverlabel/_font.py b/plotly/graph_objs/choroplethmapbox/hoverlabel/_font.py deleted file mode 100644 index 7c70a534fbf..00000000000 --- a/plotly/graph_objs/choroplethmapbox/hoverlabel/_font.py +++ /dev/null @@ -1,587 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Font(_BaseTraceHierarchyType): - _parent_path_str = "choroplethmapbox.hoverlabel" - _path_str = "choroplethmapbox.hoverlabel.font" - _valid_props = { - "color", - "colorsrc", - "family", - "familysrc", - "lineposition", - "linepositionsrc", - "shadow", - "shadowsrc", - "size", - "sizesrc", - "style", - "stylesrc", - "textcase", - "textcasesrc", - "variant", - "variantsrc", - "weight", - "weightsrc", - } - - @property - def color(self): - """ - The 'color' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: see https://plotly.com/python/css-colors/ for a list - - A list or array of any of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["color"] - - @color.setter - def color(self, val): - self["color"] = val - - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - - @property - def family(self): - """ - HTML font family - the typeface that will be applied by the web - browser. The web browser can only apply a font if it is - available on the system where it runs. Provide multiple font - families, separated by commas, to indicate the order in which - to apply fonts if they aren't available. - - The 'family' property is a string and must be specified as: - - A non-empty string - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["family"] - - @family.setter - def family(self, val): - self["family"] = val - - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - - @property - def lineposition(self): - """ - Sets the kind of decoration line(s) with text, such as an - "under", "over" or "through" as well as combinations e.g. - "under+over", etc. - - The 'lineposition' property is a flaglist and may be specified - as a string containing: - - Any combination of ['under', 'over', 'through'] joined with '+' characters - (e.g. 'under+over') - OR exactly one of ['none'] (e.g. 'none') - - A list or array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["lineposition"] - - @lineposition.setter - def lineposition(self, val): - self["lineposition"] = val - - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - - @property - def shadow(self): - """ - Sets the shape and color of the shadow behind text. "auto" - places minimal shadow and applies contrast text font color. See - https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow - for additional options. - - The 'shadow' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["shadow"] - - @shadow.setter - def shadow(self, val): - self["shadow"] = val - - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - - @property - def size(self): - """ - The 'size' property is a number and may be specified as: - - An int or float in the interval [1, inf] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - int|float|numpy.ndarray - """ - return self["size"] - - @size.setter - def size(self, val): - self["size"] = val - - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - - @property - def style(self): - """ - Sets whether a font should be styled with a normal or italic - face from its family. - - The 'style' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'italic'] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["style"] - - @style.setter - def style(self, val): - self["style"] = val - - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - - @property - def textcase(self): - """ - Sets capitalization of text. It can be used to make text appear - in all-uppercase or all-lowercase, or with each word - capitalized. - - The 'textcase' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'word caps', 'upper', 'lower'] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["textcase"] - - @textcase.setter - def textcase(self, val): - self["textcase"] = val - - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - - @property - def variant(self): - """ - Sets the variant of the font. - - The 'variant' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'small-caps', 'all-small-caps', - 'all-petite-caps', 'petite-caps', 'unicase'] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["variant"] - - @variant.setter - def variant(self, val): - self["variant"] = val - - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - - @property - def weight(self): - """ - Sets the weight (or boldness) of the font. - - The 'weight' property is an integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [1, 1000] - OR exactly one of ['normal', 'bold'] (e.g. 'bold') - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - int|numpy.ndarray - """ - return self["weight"] - - @weight.setter - def weight(self, val): - self["weight"] = val - - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - - @property - def _prop_descriptions(self): - return """\ - color - - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. - family - HTML font family - the typeface that will be applied by - the web browser. The web browser can only apply a font - if it is available on the system where it runs. Provide - multiple font families, separated by commas, to - indicate the order in which to apply fonts if they - aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. - lineposition - Sets the kind of decoration line(s) with text, such as - an "under", "over" or "through" as well as combinations - e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. - shadow - Sets the shape and color of the shadow behind text. - "auto" places minimal shadow and applies contrast text - font color. See https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. - size - - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. - style - Sets whether a font should be styled with a normal or - italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. - textcase - Sets capitalization of text. It can be used to make - text appear in all-uppercase or all-lowercase, or with - each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. - variant - Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. - weight - Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. - """ - - def __init__( - self, - arg=None, - color=None, - colorsrc=None, - family=None, - familysrc=None, - lineposition=None, - linepositionsrc=None, - shadow=None, - shadowsrc=None, - size=None, - sizesrc=None, - style=None, - stylesrc=None, - textcase=None, - textcasesrc=None, - variant=None, - variantsrc=None, - weight=None, - weightsrc=None, - **kwargs, - ): - """ - Construct a new Font object - - Sets the font used in hover labels. - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.choroplethmapb - ox.hoverlabel.Font` - color - - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. - family - HTML font family - the typeface that will be applied by - the web browser. The web browser can only apply a font - if it is available on the system where it runs. Provide - multiple font families, separated by commas, to - indicate the order in which to apply fonts if they - aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. - lineposition - Sets the kind of decoration line(s) with text, such as - an "under", "over" or "through" as well as combinations - e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. - shadow - Sets the shape and color of the shadow behind text. - "auto" places minimal shadow and applies contrast text - font color. See https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. - size - - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. - style - Sets whether a font should be styled with a normal or - italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. - textcase - Sets capitalization of text. It can be used to make - text appear in all-uppercase or all-lowercase, or with - each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. - variant - Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. - weight - Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. - - Returns - ------- - Font - """ - super().__init__("font") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.choroplethmapbox.hoverlabel.Font -constructor must be a dict or -an instance of :class:`plotly.graph_objs.choroplethmapbox.hoverlabel.Font`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) - self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) - self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) - self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) - self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) - self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) - self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) - self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) - self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/choroplethmapbox/marker/_line.py b/plotly/graph_objs/choroplethmapbox/marker/_line.py deleted file mode 100644 index 47d10d322db..00000000000 --- a/plotly/graph_objs/choroplethmapbox/marker/_line.py +++ /dev/null @@ -1,171 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Line(_BaseTraceHierarchyType): - _parent_path_str = "choroplethmapbox.marker" - _path_str = "choroplethmapbox.marker.line" - _valid_props = {"color", "colorsrc", "width", "widthsrc"} - - @property - def color(self): - """ - Sets the marker.line color. It accepts either a specific color - or an array of numbers that are mapped to the colorscale - relative to the max and min values of the array or relative to - `marker.line.cmin` and `marker.line.cmax` if set. - - The 'color' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: see https://plotly.com/python/css-colors/ for a list - - A list or array of any of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["color"] - - @color.setter - def color(self, val): - self["color"] = val - - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - - @property - def width(self): - """ - Sets the width (in px) of the lines bounding the marker points. - - The 'width' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - int|float|numpy.ndarray - """ - return self["width"] - - @width.setter - def width(self, val): - self["width"] = val - - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - - @property - def _prop_descriptions(self): - return """\ - color - Sets the marker.line color. It accepts either a - specific color or an array of numbers that are mapped - to the colorscale relative to the max and min values of - the array or relative to `marker.line.cmin` and - `marker.line.cmax` if set. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. - width - Sets the width (in px) of the lines bounding the marker - points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. - """ - - def __init__( - self, arg=None, color=None, colorsrc=None, width=None, widthsrc=None, **kwargs - ): - """ - Construct a new Line object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.choroplethmapbox.marker.Line` - color - Sets the marker.line color. It accepts either a - specific color or an array of numbers that are mapped - to the colorscale relative to the max and min values of - the array or relative to `marker.line.cmin` and - `marker.line.cmax` if set. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. - width - Sets the width (in px) of the lines bounding the marker - points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. - - Returns - ------- - Line - """ - super().__init__("line") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.choroplethmapbox.marker.Line -constructor must be a dict or -an instance of :class:`plotly.graph_objs.choroplethmapbox.marker.Line`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) - self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/choroplethmapbox/selected/__init__.py b/plotly/graph_objs/choroplethmapbox/selected/__init__.py deleted file mode 100644 index b4ba7bf2614..00000000000 --- a/plotly/graph_objs/choroplethmapbox/selected/__init__.py +++ /dev/null @@ -1,9 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - from ._marker import Marker -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._marker.Marker"]) diff --git a/plotly/graph_objs/choroplethmapbox/unselected/__init__.py b/plotly/graph_objs/choroplethmapbox/unselected/__init__.py deleted file mode 100644 index b4ba7bf2614..00000000000 --- a/plotly/graph_objs/choroplethmapbox/unselected/__init__.py +++ /dev/null @@ -1,9 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - from ._marker import Marker -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._marker.Marker"]) diff --git a/plotly/graph_objs/choroplethmapbox/unselected/_marker.py b/plotly/graph_objs/choroplethmapbox/unselected/_marker.py deleted file mode 100644 index 5da2bb2173f..00000000000 --- a/plotly/graph_objs/choroplethmapbox/unselected/_marker.py +++ /dev/null @@ -1,80 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Marker(_BaseTraceHierarchyType): - _parent_path_str = "choroplethmapbox.unselected" - _path_str = "choroplethmapbox.unselected.marker" - _valid_props = {"opacity"} - - @property - def opacity(self): - """ - Sets the marker opacity of unselected points, applied only when - a selection exists. - - The 'opacity' property is a number and may be specified as: - - An int or float in the interval [0, 1] - - Returns - ------- - int|float - """ - return self["opacity"] - - @opacity.setter - def opacity(self, val): - self["opacity"] = val - - @property - def _prop_descriptions(self): - return """\ - opacity - Sets the marker opacity of unselected points, applied - only when a selection exists. - """ - - def __init__(self, arg=None, opacity=None, **kwargs): - """ - Construct a new Marker object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.choroplethmapb - ox.unselected.Marker` - opacity - Sets the marker opacity of unselected points, applied - only when a selection exists. - - Returns - ------- - Marker - """ - super().__init__("marker") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.choroplethmapbox.unselected.Marker -constructor must be a dict or -an instance of :class:`plotly.graph_objs.choroplethmapbox.unselected.Marker`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("opacity", arg, opacity) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/cone/__init__.py b/plotly/graph_objs/cone/__init__.py index c523ad166ac..d293993fed7 100644 --- a/plotly/graph_objs/cone/__init__.py +++ b/plotly/graph_objs/cone/__init__.py @@ -7,7 +7,6 @@ from ._legendgrouptitle import Legendgrouptitle from ._lighting import Lighting from ._lightposition import Lightposition - from ._stream import Stream from . import colorbar from . import hoverlabel from . import legendgrouptitle @@ -23,6 +22,5 @@ "._legendgrouptitle.Legendgrouptitle", "._lighting.Lighting", "._lightposition.Lightposition", - "._stream.Stream", ], ) diff --git a/plotly/graph_objs/cone/_colorbar.py b/plotly/graph_objs/cone/_colorbar.py index a6809f96651..d88108ad9cb 100644 --- a/plotly/graph_objs/cone/_colorbar.py +++ b/plotly/graph_objs/cone/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1601,16 +1555,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1721,9 +1669,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/cone/_hoverlabel.py b/plotly/graph_objs/cone/_hoverlabel.py index cb23f67494a..a0a7a1e16df 100644 --- a/plotly/graph_objs/cone/_hoverlabel.py +++ b/plotly/graph_objs/cone/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "cone.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/cone/_stream.py b/plotly/graph_objs/cone/_stream.py deleted file mode 100644 index 6660a2ba385..00000000000 --- a/plotly/graph_objs/cone/_stream.py +++ /dev/null @@ -1,113 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "cone" - _path_str = "cone.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.cone.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.cone.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.cone.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/cone/colorbar/_title.py b/plotly/graph_objs/cone/colorbar/_title.py index 66d5ec4d1b7..81977f1fd2c 100644 --- a/plotly/graph_objs/cone/colorbar/_title.py +++ b/plotly/graph_objs/cone/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/cone/hoverlabel/_font.py b/plotly/graph_objs/cone/hoverlabel/_font.py index b74670be1e3..1d7a336d73b 100644 --- a/plotly/graph_objs/cone/hoverlabel/_font.py +++ b/plotly/graph_objs/cone/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "cone.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.cone.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/contour/__init__.py b/plotly/graph_objs/contour/__init__.py index 335ba2577d1..b05e4046a22 100644 --- a/plotly/graph_objs/contour/__init__.py +++ b/plotly/graph_objs/contour/__init__.py @@ -7,7 +7,6 @@ from ._hoverlabel import Hoverlabel from ._legendgrouptitle import Legendgrouptitle from ._line import Line - from ._stream import Stream from ._textfont import Textfont from . import colorbar from . import contours @@ -25,7 +24,6 @@ "._hoverlabel.Hoverlabel", "._legendgrouptitle.Legendgrouptitle", "._line.Line", - "._stream.Stream", "._textfont.Textfont", ], ) diff --git a/plotly/graph_objs/contour/_colorbar.py b/plotly/graph_objs/contour/_colorbar.py index 8f59b945705..8f239ba11c2 100644 --- a/plotly/graph_objs/contour/_colorbar.py +++ b/plotly/graph_objs/contour/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/contour/_contours.py b/plotly/graph_objs/contour/_contours.py index 6668dbcc7c2..55e3058bb61 100644 --- a/plotly/graph_objs/contour/_contours.py +++ b/plotly/graph_objs/contour/_contours.py @@ -118,8 +118,7 @@ def operation(self): "(]" keep regions inside `value[0]` to `value[1]` "][", ")(", "](", ")[" keep regions outside `value[0]` to value[1]` Open vs. closed intervals make no difference to constraint display, - but all versions are allowed for consistency with filter - transforms. + but all versions are allowed. The 'operation' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -286,7 +285,7 @@ def _prop_descriptions(self): `value[1]` "][", ")(", "](", ")[" keep regions outside `value[0]` to value[1]` Open vs. closed intervals make no difference to constraint display, but all versions - are allowed for consistency with filter transforms. + are allowed. showlabels Determines whether to label the contour lines with their values. @@ -368,7 +367,7 @@ def __init__( `value[1]` "][", ")(", "](", ")[" keep regions outside `value[0]` to value[1]` Open vs. closed intervals make no difference to constraint display, but all versions - are allowed for consistency with filter transforms. + are allowed. showlabels Determines whether to label the contour lines with their values. diff --git a/plotly/graph_objs/contour/_hoverlabel.py b/plotly/graph_objs/contour/_hoverlabel.py index b1208941b31..4d5ab5a4d88 100644 --- a/plotly/graph_objs/contour/_hoverlabel.py +++ b/plotly/graph_objs/contour/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "contour.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/contour/_stream.py b/plotly/graph_objs/contour/_stream.py deleted file mode 100644 index 0fc45b640b5..00000000000 --- a/plotly/graph_objs/contour/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "contour" - _path_str = "contour.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.contour.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.contour.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.contour.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/contour/colorbar/_title.py b/plotly/graph_objs/contour/colorbar/_title.py index 111d8484db6..dc015442ca9 100644 --- a/plotly/graph_objs/contour/colorbar/_title.py +++ b/plotly/graph_objs/contour/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/contour/hoverlabel/_font.py b/plotly/graph_objs/contour/hoverlabel/_font.py index cb2e5b2ea83..f5410360ede 100644 --- a/plotly/graph_objs/contour/hoverlabel/_font.py +++ b/plotly/graph_objs/contour/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "contour.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.contour.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/contourcarpet/__init__.py b/plotly/graph_objs/contourcarpet/__init__.py index 8d9cb5e22a8..f35c19600e4 100644 --- a/plotly/graph_objs/contourcarpet/__init__.py +++ b/plotly/graph_objs/contourcarpet/__init__.py @@ -6,7 +6,6 @@ from ._contours import Contours from ._legendgrouptitle import Legendgrouptitle from ._line import Line - from ._stream import Stream from . import colorbar from . import contours from . import legendgrouptitle @@ -21,6 +20,5 @@ "._contours.Contours", "._legendgrouptitle.Legendgrouptitle", "._line.Line", - "._stream.Stream", ], ) diff --git a/plotly/graph_objs/contourcarpet/_colorbar.py b/plotly/graph_objs/contourcarpet/_colorbar.py index aeea1b3d195..1bfd3bcee40 100644 --- a/plotly/graph_objs/contourcarpet/_colorbar.py +++ b/plotly/graph_objs/contourcarpet/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/contourcarpet/_contours.py b/plotly/graph_objs/contourcarpet/_contours.py index 86a7e221a4b..9c7b894cea3 100644 --- a/plotly/graph_objs/contourcarpet/_contours.py +++ b/plotly/graph_objs/contourcarpet/_contours.py @@ -117,8 +117,7 @@ def operation(self): "(]" keep regions inside `value[0]` to `value[1]` "][", ")(", "](", ")[" keep regions outside `value[0]` to value[1]` Open vs. closed intervals make no difference to constraint display, - but all versions are allowed for consistency with filter - transforms. + but all versions are allowed. The 'operation' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -284,7 +283,7 @@ def _prop_descriptions(self): `value[1]` "][", ")(", "](", ")[" keep regions outside `value[0]` to value[1]` Open vs. closed intervals make no difference to constraint display, but all versions - are allowed for consistency with filter transforms. + are allowed. showlabels Determines whether to label the contour lines with their values. @@ -365,7 +364,7 @@ def __init__( `value[1]` "][", ")(", "](", ")[" keep regions outside `value[0]` to value[1]` Open vs. closed intervals make no difference to constraint display, but all versions - are allowed for consistency with filter transforms. + are allowed. showlabels Determines whether to label the contour lines with their values. diff --git a/plotly/graph_objs/contourcarpet/_stream.py b/plotly/graph_objs/contourcarpet/_stream.py deleted file mode 100644 index cc8c3f79c40..00000000000 --- a/plotly/graph_objs/contourcarpet/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "contourcarpet" - _path_str = "contourcarpet.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.contourcarpet.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.contourcarpet.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.contourcarpet.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/contourcarpet/colorbar/_title.py b/plotly/graph_objs/contourcarpet/colorbar/_title.py index 879af1dbfb3..56e23460ed6 100644 --- a/plotly/graph_objs/contourcarpet/colorbar/_title.py +++ b/plotly/graph_objs/contourcarpet/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/densitymap/__init__.py b/plotly/graph_objs/densitymap/__init__.py index 7740f6eb1b9..694395b3f45 100644 --- a/plotly/graph_objs/densitymap/__init__.py +++ b/plotly/graph_objs/densitymap/__init__.py @@ -5,7 +5,6 @@ from ._colorbar import ColorBar from ._hoverlabel import Hoverlabel from ._legendgrouptitle import Legendgrouptitle - from ._stream import Stream from . import colorbar from . import hoverlabel from . import legendgrouptitle @@ -19,6 +18,5 @@ "._colorbar.ColorBar", "._hoverlabel.Hoverlabel", "._legendgrouptitle.Legendgrouptitle", - "._stream.Stream", ], ) diff --git a/plotly/graph_objs/densitymap/_colorbar.py b/plotly/graph_objs/densitymap/_colorbar.py index 361eeb8e638..7f8857b1b1b 100644 --- a/plotly/graph_objs/densitymap/_colorbar.py +++ b/plotly/graph_objs/densitymap/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -842,24 +840,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -879,24 +859,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1292,16 +1254,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1392,9 +1348,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1601,16 +1555,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1721,9 +1669,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/densitymap/_hoverlabel.py b/plotly/graph_objs/densitymap/_hoverlabel.py index d47197b759b..4c8eb4ea8bd 100644 --- a/plotly/graph_objs/densitymap/_hoverlabel.py +++ b/plotly/graph_objs/densitymap/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "densitymap.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/densitymap/_stream.py b/plotly/graph_objs/densitymap/_stream.py deleted file mode 100644 index d46b6419b76..00000000000 --- a/plotly/graph_objs/densitymap/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "densitymap" - _path_str = "densitymap.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.densitymap.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.densitymap.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.densitymap.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/densitymap/colorbar/_title.py b/plotly/graph_objs/densitymap/colorbar/_title.py index caf12d6e568..44b505880b7 100644 --- a/plotly/graph_objs/densitymap/colorbar/_title.py +++ b/plotly/graph_objs/densitymap/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/densitymap/hoverlabel/_font.py b/plotly/graph_objs/densitymap/hoverlabel/_font.py index 45584a7f107..23f1ac077ec 100644 --- a/plotly/graph_objs/densitymap/hoverlabel/_font.py +++ b/plotly/graph_objs/densitymap/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "densitymap.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.densitymap.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/densitymapbox/__init__.py b/plotly/graph_objs/densitymapbox/__init__.py deleted file mode 100644 index 7740f6eb1b9..00000000000 --- a/plotly/graph_objs/densitymapbox/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - from ._colorbar import ColorBar - from ._hoverlabel import Hoverlabel - from ._legendgrouptitle import Legendgrouptitle - from ._stream import Stream - from . import colorbar - from . import hoverlabel - from . import legendgrouptitle -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, - [".colorbar", ".hoverlabel", ".legendgrouptitle"], - [ - "._colorbar.ColorBar", - "._hoverlabel.Hoverlabel", - "._legendgrouptitle.Legendgrouptitle", - "._stream.Stream", - ], - ) diff --git a/plotly/graph_objs/densitymapbox/_legendgrouptitle.py b/plotly/graph_objs/densitymapbox/_legendgrouptitle.py deleted file mode 100644 index 79528e32177..00000000000 --- a/plotly/graph_objs/densitymapbox/_legendgrouptitle.py +++ /dev/null @@ -1,104 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Legendgrouptitle(_BaseTraceHierarchyType): - _parent_path_str = "densitymapbox" - _path_str = "densitymapbox.legendgrouptitle" - _valid_props = {"font", "text"} - - @property - def font(self): - """ - Sets this legend group's title font. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.densitymapbox.legendgrouptitle.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Returns - ------- - plotly.graph_objs.densitymapbox.legendgrouptitle.Font - """ - return self["font"] - - @font.setter - def font(self, val): - self["font"] = val - - @property - def text(self): - """ - Sets the title of the legend group. - - The 'text' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["text"] - - @text.setter - def text(self, val): - self["text"] = val - - @property - def _prop_descriptions(self): - return """\ - font - Sets this legend group's title font. - text - Sets the title of the legend group. - """ - - def __init__(self, arg=None, font=None, text=None, **kwargs): - """ - Construct a new Legendgrouptitle object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.densitymapbox. - Legendgrouptitle` - font - Sets this legend group's title font. - text - Sets the title of the legend group. - - Returns - ------- - Legendgrouptitle - """ - super().__init__("legendgrouptitle") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.densitymapbox.Legendgrouptitle -constructor must be a dict or -an instance of :class:`plotly.graph_objs.densitymapbox.Legendgrouptitle`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("font", arg, font) - self._set_property("text", arg, text) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/densitymapbox/_stream.py b/plotly/graph_objs/densitymapbox/_stream.py deleted file mode 100644 index 9949ce71cdf..00000000000 --- a/plotly/graph_objs/densitymapbox/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "densitymapbox" - _path_str = "densitymapbox.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.densitymapbox.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.densitymapbox.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.densitymapbox.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/densitymapbox/colorbar/__init__.py b/plotly/graph_objs/densitymapbox/colorbar/__init__.py deleted file mode 100644 index 4690d3cc738..00000000000 --- a/plotly/graph_objs/densitymapbox/colorbar/__init__.py +++ /dev/null @@ -1,16 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - from ._tickfont import Tickfont - from ._tickformatstop import Tickformatstop - from ._title import Title - from . import title -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, - [".title"], - ["._tickfont.Tickfont", "._tickformatstop.Tickformatstop", "._title.Title"], - ) diff --git a/plotly/graph_objs/densitymapbox/colorbar/title/__init__.py b/plotly/graph_objs/densitymapbox/colorbar/title/__init__.py deleted file mode 100644 index 56f600d3458..00000000000 --- a/plotly/graph_objs/densitymapbox/colorbar/title/__init__.py +++ /dev/null @@ -1,9 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - from ._font import Font -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/plotly/graph_objs/densitymapbox/hoverlabel/_font.py b/plotly/graph_objs/densitymapbox/hoverlabel/_font.py deleted file mode 100644 index 5ddcdc549f8..00000000000 --- a/plotly/graph_objs/densitymapbox/hoverlabel/_font.py +++ /dev/null @@ -1,587 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Font(_BaseTraceHierarchyType): - _parent_path_str = "densitymapbox.hoverlabel" - _path_str = "densitymapbox.hoverlabel.font" - _valid_props = { - "color", - "colorsrc", - "family", - "familysrc", - "lineposition", - "linepositionsrc", - "shadow", - "shadowsrc", - "size", - "sizesrc", - "style", - "stylesrc", - "textcase", - "textcasesrc", - "variant", - "variantsrc", - "weight", - "weightsrc", - } - - @property - def color(self): - """ - The 'color' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: see https://plotly.com/python/css-colors/ for a list - - A list or array of any of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["color"] - - @color.setter - def color(self, val): - self["color"] = val - - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - - @property - def family(self): - """ - HTML font family - the typeface that will be applied by the web - browser. The web browser can only apply a font if it is - available on the system where it runs. Provide multiple font - families, separated by commas, to indicate the order in which - to apply fonts if they aren't available. - - The 'family' property is a string and must be specified as: - - A non-empty string - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["family"] - - @family.setter - def family(self, val): - self["family"] = val - - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - - @property - def lineposition(self): - """ - Sets the kind of decoration line(s) with text, such as an - "under", "over" or "through" as well as combinations e.g. - "under+over", etc. - - The 'lineposition' property is a flaglist and may be specified - as a string containing: - - Any combination of ['under', 'over', 'through'] joined with '+' characters - (e.g. 'under+over') - OR exactly one of ['none'] (e.g. 'none') - - A list or array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["lineposition"] - - @lineposition.setter - def lineposition(self, val): - self["lineposition"] = val - - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - - @property - def shadow(self): - """ - Sets the shape and color of the shadow behind text. "auto" - places minimal shadow and applies contrast text font color. See - https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow - for additional options. - - The 'shadow' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["shadow"] - - @shadow.setter - def shadow(self, val): - self["shadow"] = val - - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - - @property - def size(self): - """ - The 'size' property is a number and may be specified as: - - An int or float in the interval [1, inf] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - int|float|numpy.ndarray - """ - return self["size"] - - @size.setter - def size(self, val): - self["size"] = val - - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - - @property - def style(self): - """ - Sets whether a font should be styled with a normal or italic - face from its family. - - The 'style' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'italic'] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["style"] - - @style.setter - def style(self, val): - self["style"] = val - - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - - @property - def textcase(self): - """ - Sets capitalization of text. It can be used to make text appear - in all-uppercase or all-lowercase, or with each word - capitalized. - - The 'textcase' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'word caps', 'upper', 'lower'] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["textcase"] - - @textcase.setter - def textcase(self, val): - self["textcase"] = val - - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - - @property - def variant(self): - """ - Sets the variant of the font. - - The 'variant' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'small-caps', 'all-small-caps', - 'all-petite-caps', 'petite-caps', 'unicase'] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["variant"] - - @variant.setter - def variant(self, val): - self["variant"] = val - - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - - @property - def weight(self): - """ - Sets the weight (or boldness) of the font. - - The 'weight' property is an integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [1, 1000] - OR exactly one of ['normal', 'bold'] (e.g. 'bold') - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - int|numpy.ndarray - """ - return self["weight"] - - @weight.setter - def weight(self, val): - self["weight"] = val - - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - - @property - def _prop_descriptions(self): - return """\ - color - - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. - family - HTML font family - the typeface that will be applied by - the web browser. The web browser can only apply a font - if it is available on the system where it runs. Provide - multiple font families, separated by commas, to - indicate the order in which to apply fonts if they - aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. - lineposition - Sets the kind of decoration line(s) with text, such as - an "under", "over" or "through" as well as combinations - e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. - shadow - Sets the shape and color of the shadow behind text. - "auto" places minimal shadow and applies contrast text - font color. See https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. - size - - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. - style - Sets whether a font should be styled with a normal or - italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. - textcase - Sets capitalization of text. It can be used to make - text appear in all-uppercase or all-lowercase, or with - each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. - variant - Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. - weight - Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. - """ - - def __init__( - self, - arg=None, - color=None, - colorsrc=None, - family=None, - familysrc=None, - lineposition=None, - linepositionsrc=None, - shadow=None, - shadowsrc=None, - size=None, - sizesrc=None, - style=None, - stylesrc=None, - textcase=None, - textcasesrc=None, - variant=None, - variantsrc=None, - weight=None, - weightsrc=None, - **kwargs, - ): - """ - Construct a new Font object - - Sets the font used in hover labels. - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.densitymapbox. - hoverlabel.Font` - color - - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. - family - HTML font family - the typeface that will be applied by - the web browser. The web browser can only apply a font - if it is available on the system where it runs. Provide - multiple font families, separated by commas, to - indicate the order in which to apply fonts if they - aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. - lineposition - Sets the kind of decoration line(s) with text, such as - an "under", "over" or "through" as well as combinations - e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. - shadow - Sets the shape and color of the shadow behind text. - "auto" places minimal shadow and applies contrast text - font color. See https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. - size - - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. - style - Sets whether a font should be styled with a normal or - italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. - textcase - Sets capitalization of text. It can be used to make - text appear in all-uppercase or all-lowercase, or with - each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. - variant - Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. - weight - Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. - - Returns - ------- - Font - """ - super().__init__("font") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.densitymapbox.hoverlabel.Font -constructor must be a dict or -an instance of :class:`plotly.graph_objs.densitymapbox.hoverlabel.Font`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) - self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) - self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) - self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) - self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) - self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) - self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) - self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) - self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/densitymapbox/legendgrouptitle/__init__.py b/plotly/graph_objs/densitymapbox/legendgrouptitle/__init__.py deleted file mode 100644 index 56f600d3458..00000000000 --- a/plotly/graph_objs/densitymapbox/legendgrouptitle/__init__.py +++ /dev/null @@ -1,9 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - from ._font import Font -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/plotly/graph_objs/funnel/__init__.py b/plotly/graph_objs/funnel/__init__.py index e488b006333..cafd241dd44 100644 --- a/plotly/graph_objs/funnel/__init__.py +++ b/plotly/graph_objs/funnel/__init__.py @@ -8,7 +8,6 @@ from ._legendgrouptitle import Legendgrouptitle from ._marker import Marker from ._outsidetextfont import Outsidetextfont - from ._stream import Stream from ._textfont import Textfont from . import connector from . import hoverlabel @@ -27,7 +26,6 @@ "._legendgrouptitle.Legendgrouptitle", "._marker.Marker", "._outsidetextfont.Outsidetextfont", - "._stream.Stream", "._textfont.Textfont", ], ) diff --git a/plotly/graph_objs/funnel/_hoverlabel.py b/plotly/graph_objs/funnel/_hoverlabel.py index 4fb5507fc6a..e8343269f40 100644 --- a/plotly/graph_objs/funnel/_hoverlabel.py +++ b/plotly/graph_objs/funnel/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "funnel.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/funnel/_insidetextfont.py b/plotly/graph_objs/funnel/_insidetextfont.py index 29c8db44f63..9c1a111f4a1 100644 --- a/plotly/graph_objs/funnel/_insidetextfont.py +++ b/plotly/graph_objs/funnel/_insidetextfont.py @@ -10,23 +10,14 @@ class Insidetextfont(_BaseTraceHierarchyType): _path_str = "funnel.insidetextfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.funnel.Insidetextfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/funnel/_marker.py b/plotly/graph_objs/funnel/_marker.py index 88774bd8c5b..925d5435d2d 100644 --- a/plotly/graph_objs/funnel/_marker.py +++ b/plotly/graph_objs/funnel/_marker.py @@ -18,10 +18,8 @@ class Marker(_BaseTraceHierarchyType): "coloraxis", "colorbar", "colorscale", - "colorsrc", "line", "opacity", - "opacitysrc", "reversescale", "showscale", } @@ -215,9 +213,9 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, - hex, hsl, hsv, or named color string. At minimum, a mapping for - the lowest (0) and highest (1) values are required. For - example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To + hex, hsl, hsla, hwb, or named color string. At minimum, a + mapping for the lowest (0) and highest (1) values are required. + For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,B @@ -261,24 +259,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def line(self): """ @@ -317,24 +297,6 @@ def opacity(self): def opacity(self, val): self["opacity"] = val - @property - def opacitysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `opacity`. - - The 'opacitysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["opacitysrc"] - - @opacitysrc.setter - def opacitysrc(self, val): - self["opacitysrc"] = val - @property def reversescale(self): """ @@ -432,8 +394,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -442,17 +404,11 @@ def _prop_descriptions(self): following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. line :class:`plotly.graph_objects.funnel.marker.Line` instance or dict with compatible properties opacity Sets the opacity of the bars. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If @@ -477,10 +433,8 @@ def __init__( coloraxis=None, colorbar=None, colorscale=None, - colorsrc=None, line=None, opacity=None, - opacitysrc=None, reversescale=None, showscale=None, **kwargs, @@ -546,8 +500,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -556,17 +510,11 @@ def __init__( following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. line :class:`plotly.graph_objects.funnel.marker.Line` instance or dict with compatible properties opacity Sets the opacity of the bars. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If @@ -611,10 +559,8 @@ def __init__( self._set_property("coloraxis", arg, coloraxis) self._set_property("colorbar", arg, colorbar) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("line", arg, line) self._set_property("opacity", arg, opacity) - self._set_property("opacitysrc", arg, opacitysrc) self._set_property("reversescale", arg, reversescale) self._set_property("showscale", arg, showscale) self._process_kwargs(**dict(arg, **kwargs)) diff --git a/plotly/graph_objs/funnel/_outsidetextfont.py b/plotly/graph_objs/funnel/_outsidetextfont.py index 0b30278990b..213d3432cbd 100644 --- a/plotly/graph_objs/funnel/_outsidetextfont.py +++ b/plotly/graph_objs/funnel/_outsidetextfont.py @@ -10,23 +10,14 @@ class Outsidetextfont(_BaseTraceHierarchyType): _path_str = "funnel.outsidetextfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.funnel.Outsidetextfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/funnel/_stream.py b/plotly/graph_objs/funnel/_stream.py deleted file mode 100644 index a9b62adcaf4..00000000000 --- a/plotly/graph_objs/funnel/_stream.py +++ /dev/null @@ -1,113 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "funnel" - _path_str = "funnel.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.funnel.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.funnel.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.funnel.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/funnel/_textfont.py b/plotly/graph_objs/funnel/_textfont.py index 8ecb9045683..5ae9b7fa1ee 100644 --- a/plotly/graph_objs/funnel/_textfont.py +++ b/plotly/graph_objs/funnel/_textfont.py @@ -10,23 +10,14 @@ class Textfont(_BaseTraceHierarchyType): _path_str = "funnel.textfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.funnel.Textfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/funnel/hoverlabel/_font.py b/plotly/graph_objs/funnel/hoverlabel/_font.py index d0e99ebc0c0..59b9a51c8fc 100644 --- a/plotly/graph_objs/funnel/hoverlabel/_font.py +++ b/plotly/graph_objs/funnel/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "funnel.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.funnel.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/funnel/marker/_colorbar.py b/plotly/graph_objs/funnel/marker/_colorbar.py index 6951c578a2a..86a4575815f 100644 --- a/plotly/graph_objs/funnel/marker/_colorbar.py +++ b/plotly/graph_objs/funnel/marker/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/funnel/marker/_line.py b/plotly/graph_objs/funnel/marker/_line.py index b1ecca569a5..aae3814c01f 100644 --- a/plotly/graph_objs/funnel/marker/_line.py +++ b/plotly/graph_objs/funnel/marker/_line.py @@ -17,10 +17,8 @@ class Line(_BaseTraceHierarchyType): "color", "coloraxis", "colorscale", - "colorsrc", "reversescale", "width", - "widthsrc", } @property @@ -194,7 +192,7 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value - to an rgb, rgba, hex, hsl, hsv, or named color string. At + to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in @@ -241,24 +239,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def reversescale(self): """ @@ -300,24 +280,6 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def _prop_descriptions(self): return """\ @@ -374,8 +336,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -384,9 +346,6 @@ def _prop_descriptions(self): string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -396,9 +355,6 @@ def _prop_descriptions(self): width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. """ def __init__( @@ -412,10 +368,8 @@ def __init__( color=None, coloraxis=None, colorscale=None, - colorsrc=None, reversescale=None, width=None, - widthsrc=None, **kwargs, ): """ @@ -480,8 +434,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -490,9 +444,6 @@ def __init__( string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -502,9 +453,6 @@ def __init__( width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. Returns ------- @@ -538,9 +486,7 @@ def __init__( self._set_property("color", arg, color) self._set_property("coloraxis", arg, coloraxis) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("reversescale", arg, reversescale) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/funnel/marker/colorbar/_title.py b/plotly/graph_objs/funnel/marker/colorbar/_title.py index 0b75fba89ae..6d026819119 100644 --- a/plotly/graph_objs/funnel/marker/colorbar/_title.py +++ b/plotly/graph_objs/funnel/marker/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/funnelarea/__init__.py b/plotly/graph_objs/funnelarea/__init__.py index 639ccf42d07..55830c55f20 100644 --- a/plotly/graph_objs/funnelarea/__init__.py +++ b/plotly/graph_objs/funnelarea/__init__.py @@ -7,7 +7,6 @@ from ._insidetextfont import Insidetextfont from ._legendgrouptitle import Legendgrouptitle from ._marker import Marker - from ._stream import Stream from ._textfont import Textfont from ._title import Title from . import hoverlabel @@ -26,7 +25,6 @@ "._insidetextfont.Insidetextfont", "._legendgrouptitle.Legendgrouptitle", "._marker.Marker", - "._stream.Stream", "._textfont.Textfont", "._title.Title", ], diff --git a/plotly/graph_objs/funnelarea/_domain.py b/plotly/graph_objs/funnelarea/_domain.py index 1da78250beb..acd8c996558 100644 --- a/plotly/graph_objs/funnelarea/_domain.py +++ b/plotly/graph_objs/funnelarea/_domain.py @@ -14,7 +14,7 @@ class Domain(_BaseTraceHierarchyType): def column(self): """ If there is a layout grid, use the domain for this column in - the grid for this funnelarea trace . + the grid for this funnelarea trace. The 'column' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -34,7 +34,7 @@ def column(self, val): def row(self): """ If there is a layout grid, use the domain for this row in the - grid for this funnelarea trace . + grid for this funnelarea trace. The 'row' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -103,10 +103,10 @@ def _prop_descriptions(self): return """\ column If there is a layout grid, use the domain for this - column in the grid for this funnelarea trace . + column in the grid for this funnelarea trace. row If there is a layout grid, use the domain for this row - in the grid for this funnelarea trace . + in the grid for this funnelarea trace. x Sets the horizontal domain of this funnelarea trace (in plot fraction). @@ -127,10 +127,10 @@ def __init__(self, arg=None, column=None, row=None, x=None, y=None, **kwargs): :class:`plotly.graph_objs.funnelarea.Domain` column If there is a layout grid, use the domain for this - column in the grid for this funnelarea trace . + column in the grid for this funnelarea trace. row If there is a layout grid, use the domain for this row - in the grid for this funnelarea trace . + in the grid for this funnelarea trace. x Sets the horizontal domain of this funnelarea trace (in plot fraction). diff --git a/plotly/graph_objs/funnelarea/_hoverlabel.py b/plotly/graph_objs/funnelarea/_hoverlabel.py index 5b32097e33e..8e274e33883 100644 --- a/plotly/graph_objs/funnelarea/_hoverlabel.py +++ b/plotly/graph_objs/funnelarea/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "funnelarea.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/funnelarea/_insidetextfont.py b/plotly/graph_objs/funnelarea/_insidetextfont.py index b94dc2b88c6..9dbcc24f1ac 100644 --- a/plotly/graph_objs/funnelarea/_insidetextfont.py +++ b/plotly/graph_objs/funnelarea/_insidetextfont.py @@ -10,23 +10,14 @@ class Insidetextfont(_BaseTraceHierarchyType): _path_str = "funnelarea.insidetextfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.funnelarea.Insidetextfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/funnelarea/_marker.py b/plotly/graph_objs/funnelarea/_marker.py index ca38cf77518..efa417a7ca5 100644 --- a/plotly/graph_objs/funnelarea/_marker.py +++ b/plotly/graph_objs/funnelarea/_marker.py @@ -8,7 +8,7 @@ class Marker(_BaseTraceHierarchyType): _parent_path_str = "funnelarea" _path_str = "funnelarea.marker" - _valid_props = {"colors", "colorssrc", "line", "pattern"} + _valid_props = {"colors", "line", "pattern"} @property def colors(self): @@ -29,24 +29,6 @@ def colors(self): def colors(self, val): self["colors"] = val - @property - def colorssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `colors`. - - The 'colorssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorssrc"] - - @colorssrc.setter - def colorssrc(self, val): - self["colorssrc"] = val - @property def line(self): """ @@ -94,9 +76,6 @@ def _prop_descriptions(self): Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors. - colorssrc - Sets the source reference on Chart Studio Cloud for - `colors`. line :class:`plotly.graph_objects.funnelarea.marker.Line` instance or dict with compatible properties @@ -104,9 +83,7 @@ def _prop_descriptions(self): Sets the pattern within the marker. """ - def __init__( - self, arg=None, colors=None, colorssrc=None, line=None, pattern=None, **kwargs - ): + def __init__(self, arg=None, colors=None, line=None, pattern=None, **kwargs): """ Construct a new Marker object @@ -120,9 +97,6 @@ def __init__( Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors. - colorssrc - Sets the source reference on Chart Studio Cloud for - `colors`. line :class:`plotly.graph_objects.funnelarea.marker.Line` instance or dict with compatible properties @@ -154,7 +128,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("colors", arg, colors) - self._set_property("colorssrc", arg, colorssrc) self._set_property("line", arg, line) self._set_property("pattern", arg, pattern) self._process_kwargs(**dict(arg, **kwargs)) diff --git a/plotly/graph_objs/funnelarea/_stream.py b/plotly/graph_objs/funnelarea/_stream.py deleted file mode 100644 index c271022efe4..00000000000 --- a/plotly/graph_objs/funnelarea/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "funnelarea" - _path_str = "funnelarea.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.funnelarea.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.funnelarea.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.funnelarea.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/funnelarea/_textfont.py b/plotly/graph_objs/funnelarea/_textfont.py index b6141fba899..bd59b5cd463 100644 --- a/plotly/graph_objs/funnelarea/_textfont.py +++ b/plotly/graph_objs/funnelarea/_textfont.py @@ -10,23 +10,14 @@ class Textfont(_BaseTraceHierarchyType): _path_str = "funnelarea.textfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.funnelarea.Textfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/funnelarea/hoverlabel/_font.py b/plotly/graph_objs/funnelarea/hoverlabel/_font.py index 0170e819672..588eb05a9f6 100644 --- a/plotly/graph_objs/funnelarea/hoverlabel/_font.py +++ b/plotly/graph_objs/funnelarea/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "funnelarea.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.funnelarea.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/funnelarea/marker/_line.py b/plotly/graph_objs/funnelarea/marker/_line.py index a8d25f05151..bc08186c474 100644 --- a/plotly/graph_objs/funnelarea/marker/_line.py +++ b/plotly/graph_objs/funnelarea/marker/_line.py @@ -8,7 +8,7 @@ class Line(_BaseTraceHierarchyType): _parent_path_str = "funnelarea.marker" _path_str = "funnelarea.marker.line" - _valid_props = {"color", "colorsrc", "width", "widthsrc"} + _valid_props = {"color", "width"} @property def color(self): @@ -34,24 +34,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def width(self): """ @@ -71,44 +53,18 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def _prop_descriptions(self): return """\ color Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. width Sets the width (in px) of the line enclosing each sector. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. """ - def __init__( - self, arg=None, color=None, colorsrc=None, width=None, widthsrc=None, **kwargs - ): + def __init__(self, arg=None, color=None, width=None, **kwargs): """ Construct a new Line object @@ -121,15 +77,9 @@ def __init__( color Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. width Sets the width (in px) of the line enclosing each sector. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. Returns ------- @@ -156,8 +106,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/funnelarea/marker/_pattern.py b/plotly/graph_objs/funnelarea/marker/_pattern.py index cf447b7bc4e..4672882caac 100644 --- a/plotly/graph_objs/funnelarea/marker/_pattern.py +++ b/plotly/graph_objs/funnelarea/marker/_pattern.py @@ -10,19 +10,13 @@ class Pattern(_BaseTraceHierarchyType): _path_str = "funnelarea.marker.pattern" _valid_props = { "bgcolor", - "bgcolorsrc", "fgcolor", - "fgcolorsrc", "fgopacity", "fillmode", "path", - "pathsrc", "shape", - "shapesrc", "size", - "sizesrc", "solidity", - "soliditysrc", } @property @@ -51,24 +45,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def fgcolor(self): """ @@ -95,24 +71,6 @@ def fgcolor(self): def fgcolor(self, val): self["fgcolor"] = val - @property - def fgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `fgcolor`. - - The 'fgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["fgcolorsrc"] - - @fgcolorsrc.setter - def fgcolorsrc(self, val): - self["fgcolorsrc"] = val - @property def fgopacity(self): """ @@ -174,24 +132,6 @@ def path(self): def path(self, val): self["path"] = val - @property - def pathsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `path`. - - The 'pathsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["pathsrc"] - - @pathsrc.setter - def pathsrc(self, val): - self["pathsrc"] = val - @property def shape(self): """ @@ -213,24 +153,6 @@ def shape(self): def shape(self, val): self["shape"] = val - @property - def shapesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shape`. - - The 'shapesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shapesrc"] - - @shapesrc.setter - def shapesrc(self, val): - self["shapesrc"] = val - @property def size(self): """ @@ -251,24 +173,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def solidity(self): """ @@ -291,24 +195,6 @@ def solidity(self): def solidity(self, val): self["solidity"] = val - @property - def soliditysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `solidity`. - - The 'soliditysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["soliditysrc"] - - @soliditysrc.setter - def soliditysrc(self, val): - self["soliditysrc"] = val - @property def _prop_descriptions(self): return """\ @@ -317,18 +203,12 @@ def _prop_descriptions(self): background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background. - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. fgcolor When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`. - fgcolorsrc - Sets the source reference on Chart Studio Cloud for - `fgcolor`. fgopacity Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". @@ -341,50 +221,32 @@ def _prop_descriptions(self): `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color. - pathsrc - Sets the source reference on Chart Studio Cloud for - `path`. shape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. - shapesrc - Sets the source reference on Chart Studio Cloud for - `shape`. size Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. solidity Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern. - soliditysrc - Sets the source reference on Chart Studio Cloud for - `solidity`. """ def __init__( self, arg=None, bgcolor=None, - bgcolorsrc=None, fgcolor=None, - fgcolorsrc=None, fgopacity=None, fillmode=None, path=None, - pathsrc=None, shape=None, - shapesrc=None, size=None, - sizesrc=None, solidity=None, - soliditysrc=None, **kwargs, ): """ @@ -403,18 +265,12 @@ def __init__( background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background. - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. fgcolor When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`. - fgcolorsrc - Sets the source reference on Chart Studio Cloud for - `fgcolor`. fgopacity Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". @@ -427,31 +283,19 @@ def __init__( `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color. - pathsrc - Sets the source reference on Chart Studio Cloud for - `path`. shape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. - shapesrc - Sets the source reference on Chart Studio Cloud for - `shape`. size Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. solidity Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern. - soliditysrc - Sets the source reference on Chart Studio Cloud for - `solidity`. Returns ------- @@ -478,18 +322,12 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("fgcolor", arg, fgcolor) - self._set_property("fgcolorsrc", arg, fgcolorsrc) self._set_property("fgopacity", arg, fgopacity) self._set_property("fillmode", arg, fillmode) self._set_property("path", arg, path) - self._set_property("pathsrc", arg, pathsrc) self._set_property("shape", arg, shape) - self._set_property("shapesrc", arg, shapesrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("solidity", arg, solidity) - self._set_property("soliditysrc", arg, soliditysrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/funnelarea/title/_font.py b/plotly/graph_objs/funnelarea/title/_font.py index 880a746aec9..2b7260c95be 100644 --- a/plotly/graph_objs/funnelarea/title/_font.py +++ b/plotly/graph_objs/funnelarea/title/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "funnelarea.title.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.funnelarea.title.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/heatmap/__init__.py b/plotly/graph_objs/heatmap/__init__.py index 4ae98098fb9..4f4ae91e307 100644 --- a/plotly/graph_objs/heatmap/__init__.py +++ b/plotly/graph_objs/heatmap/__init__.py @@ -5,7 +5,6 @@ from ._colorbar import ColorBar from ._hoverlabel import Hoverlabel from ._legendgrouptitle import Legendgrouptitle - from ._stream import Stream from ._textfont import Textfont from . import colorbar from . import hoverlabel @@ -20,7 +19,6 @@ "._colorbar.ColorBar", "._hoverlabel.Hoverlabel", "._legendgrouptitle.Legendgrouptitle", - "._stream.Stream", "._textfont.Textfont", ], ) diff --git a/plotly/graph_objs/heatmap/_colorbar.py b/plotly/graph_objs/heatmap/_colorbar.py index 6ad91b72442..8d151e33e11 100644 --- a/plotly/graph_objs/heatmap/_colorbar.py +++ b/plotly/graph_objs/heatmap/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/heatmap/_hoverlabel.py b/plotly/graph_objs/heatmap/_hoverlabel.py index 1a5392a23e6..10c8d5330a3 100644 --- a/plotly/graph_objs/heatmap/_hoverlabel.py +++ b/plotly/graph_objs/heatmap/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "heatmap.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/heatmap/_stream.py b/plotly/graph_objs/heatmap/_stream.py deleted file mode 100644 index 776d1b30d6e..00000000000 --- a/plotly/graph_objs/heatmap/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "heatmap" - _path_str = "heatmap.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.heatmap.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.heatmap.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.heatmap.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/heatmap/colorbar/_title.py b/plotly/graph_objs/heatmap/colorbar/_title.py index f36276776da..4fe496d1230 100644 --- a/plotly/graph_objs/heatmap/colorbar/_title.py +++ b/plotly/graph_objs/heatmap/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/heatmap/hoverlabel/_font.py b/plotly/graph_objs/heatmap/hoverlabel/_font.py index 23ada6d8b04..70004b95af4 100644 --- a/plotly/graph_objs/heatmap/hoverlabel/_font.py +++ b/plotly/graph_objs/heatmap/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "heatmap.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.heatmap.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/histogram/__init__.py b/plotly/graph_objs/histogram/__init__.py index ba70e4a9991..814f0f64fb0 100644 --- a/plotly/graph_objs/histogram/__init__.py +++ b/plotly/graph_objs/histogram/__init__.py @@ -11,7 +11,6 @@ from ._marker import Marker from ._outsidetextfont import Outsidetextfont from ._selected import Selected - from ._stream import Stream from ._textfont import Textfont from ._unselected import Unselected from ._xbins import XBins @@ -37,7 +36,6 @@ "._marker.Marker", "._outsidetextfont.Outsidetextfont", "._selected.Selected", - "._stream.Stream", "._textfont.Textfont", "._unselected.Unselected", "._xbins.XBins", diff --git a/plotly/graph_objs/histogram/_error_x.py b/plotly/graph_objs/histogram/_error_x.py index 69e0b16e8dc..55e0c9a04c5 100644 --- a/plotly/graph_objs/histogram/_error_x.py +++ b/plotly/graph_objs/histogram/_error_x.py @@ -11,8 +11,6 @@ class ErrorX(_BaseTraceHierarchyType): _valid_props = { "array", "arrayminus", - "arrayminussrc", - "arraysrc", "color", "copy_ystyle", "symmetric", @@ -65,43 +63,6 @@ def arrayminus(self): def arrayminus(self, val): self["arrayminus"] = val - @property - def arrayminussrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - - The 'arrayminussrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["arrayminussrc"] - - @arrayminussrc.setter - def arrayminussrc(self, val): - self["arrayminussrc"] = val - - @property - def arraysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `array`. - - The 'arraysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["arraysrc"] - - @arraysrc.setter - def arraysrc(self, val): - self["arraysrc"] = val - @property def color(self): """ @@ -327,12 +288,6 @@ def _prop_descriptions(self): bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data. - arrayminussrc - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - arraysrc - Sets the source reference on Chart Studio Cloud for - `array`. color Sets the stroke color of the error bars. copy_ystyle @@ -380,8 +335,6 @@ def __init__( arg=None, array=None, arrayminus=None, - arrayminussrc=None, - arraysrc=None, color=None, copy_ystyle=None, symmetric=None, @@ -413,12 +366,6 @@ def __init__( bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data. - arrayminussrc - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - arraysrc - Sets the source reference on Chart Studio Cloud for - `array`. color Sets the stroke color of the error bars. copy_ystyle @@ -486,8 +433,6 @@ def __init__( self._set_property("array", arg, array) self._set_property("arrayminus", arg, arrayminus) - self._set_property("arrayminussrc", arg, arrayminussrc) - self._set_property("arraysrc", arg, arraysrc) self._set_property("color", arg, color) self._set_property("copy_ystyle", arg, copy_ystyle) self._set_property("symmetric", arg, symmetric) diff --git a/plotly/graph_objs/histogram/_error_y.py b/plotly/graph_objs/histogram/_error_y.py index 0d23105ca8c..958955269da 100644 --- a/plotly/graph_objs/histogram/_error_y.py +++ b/plotly/graph_objs/histogram/_error_y.py @@ -11,8 +11,6 @@ class ErrorY(_BaseTraceHierarchyType): _valid_props = { "array", "arrayminus", - "arrayminussrc", - "arraysrc", "color", "symmetric", "thickness", @@ -64,43 +62,6 @@ def arrayminus(self): def arrayminus(self, val): self["arrayminus"] = val - @property - def arrayminussrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - - The 'arrayminussrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["arrayminussrc"] - - @arrayminussrc.setter - def arrayminussrc(self, val): - self["arrayminussrc"] = val - - @property - def arraysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `array`. - - The 'arraysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["arraysrc"] - - @arraysrc.setter - def arraysrc(self, val): - self["arraysrc"] = val - @property def color(self): """ @@ -310,12 +271,6 @@ def _prop_descriptions(self): bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data. - arrayminussrc - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - arraysrc - Sets the source reference on Chart Studio Cloud for - `array`. color Sets the stroke color of the error bars. symmetric @@ -361,8 +316,6 @@ def __init__( arg=None, array=None, arrayminus=None, - arrayminussrc=None, - arraysrc=None, color=None, symmetric=None, thickness=None, @@ -393,12 +346,6 @@ def __init__( bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data. - arrayminussrc - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - arraysrc - Sets the source reference on Chart Studio Cloud for - `array`. color Sets the stroke color of the error bars. symmetric @@ -464,8 +411,6 @@ def __init__( self._set_property("array", arg, array) self._set_property("arrayminus", arg, arrayminus) - self._set_property("arrayminussrc", arg, arrayminussrc) - self._set_property("arraysrc", arg, arraysrc) self._set_property("color", arg, color) self._set_property("symmetric", arg, symmetric) self._set_property("thickness", arg, thickness) diff --git a/plotly/graph_objs/histogram/_hoverlabel.py b/plotly/graph_objs/histogram/_hoverlabel.py index a457d91415d..1d6a0e5da37 100644 --- a/plotly/graph_objs/histogram/_hoverlabel.py +++ b/plotly/graph_objs/histogram/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "histogram.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/histogram/_marker.py b/plotly/graph_objs/histogram/_marker.py index 6f8a4ee8b76..a4b2f58e33c 100644 --- a/plotly/graph_objs/histogram/_marker.py +++ b/plotly/graph_objs/histogram/_marker.py @@ -18,11 +18,9 @@ class Marker(_BaseTraceHierarchyType): "coloraxis", "colorbar", "colorscale", - "colorsrc", "cornerradius", "line", "opacity", - "opacitysrc", "pattern", "reversescale", "showscale", @@ -217,9 +215,9 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, - hex, hsl, hsv, or named color string. At minimum, a mapping for - the lowest (0) and highest (1) values are required. For - example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To + hex, hsl, hsla, hwb, or named color string. At minimum, a + mapping for the lowest (0) and highest (1) values are required. + For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,B @@ -263,24 +261,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def cornerradius(self): """ @@ -340,24 +320,6 @@ def opacity(self): def opacity(self, val): self["opacity"] = val - @property - def opacitysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `opacity`. - - The 'opacitysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["opacitysrc"] - - @opacitysrc.setter - def opacitysrc(self, val): - self["opacitysrc"] = val - @property def pattern(self): """ @@ -476,8 +438,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -486,9 +448,6 @@ def _prop_descriptions(self): following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. cornerradius Sets the rounding of corners. May be an integer number of pixels, or a percentage of bar width (as a string @@ -500,9 +459,6 @@ def _prop_descriptions(self): instance or dict with compatible properties opacity Sets the opacity of the bars. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. pattern Sets the pattern within the marker. reversescale @@ -529,11 +485,9 @@ def __init__( coloraxis=None, colorbar=None, colorscale=None, - colorsrc=None, cornerradius=None, line=None, opacity=None, - opacitysrc=None, pattern=None, reversescale=None, showscale=None, @@ -601,8 +555,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -611,9 +565,6 @@ def __init__( following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. cornerradius Sets the rounding of corners. May be an integer number of pixels, or a percentage of bar width (as a string @@ -625,9 +576,6 @@ def __init__( instance or dict with compatible properties opacity Sets the opacity of the bars. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. pattern Sets the pattern within the marker. reversescale @@ -674,11 +622,9 @@ def __init__( self._set_property("coloraxis", arg, coloraxis) self._set_property("colorbar", arg, colorbar) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("cornerradius", arg, cornerradius) self._set_property("line", arg, line) self._set_property("opacity", arg, opacity) - self._set_property("opacitysrc", arg, opacitysrc) self._set_property("pattern", arg, pattern) self._set_property("reversescale", arg, reversescale) self._set_property("showscale", arg, showscale) diff --git a/plotly/graph_objs/histogram/_stream.py b/plotly/graph_objs/histogram/_stream.py deleted file mode 100644 index 1249bc9317d..00000000000 --- a/plotly/graph_objs/histogram/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "histogram" - _path_str = "histogram.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.histogram.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.histogram.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.histogram.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/histogram/_xbins.py b/plotly/graph_objs/histogram/_xbins.py index a0dd1a5ae8b..71959e4f4a3 100644 --- a/plotly/graph_objs/histogram/_xbins.py +++ b/plotly/graph_objs/histogram/_xbins.py @@ -44,7 +44,7 @@ def size(self): `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). If multiple non-overlaying histograms share a subplot, the first explicit `size` is used - and all others discarded. If no `size` is provided,the sample + and all others discarded. If no `size` is provided, the sample data from all traces is combined to determine `size` as described above. @@ -111,7 +111,7 @@ def _prop_descriptions(self): together (always defaults to 1). If multiple non- overlaying histograms share a subplot, the first explicit `size` is used and all others discarded. If no - `size` is provided,the sample data from all traces is + `size` is provided, the sample data from all traces is combined to determine `size` as described above. start Sets the starting value for the x axis bins. Defaults @@ -160,7 +160,7 @@ def __init__(self, arg=None, end=None, size=None, start=None, **kwargs): together (always defaults to 1). If multiple non- overlaying histograms share a subplot, the first explicit `size` is used and all others discarded. If no - `size` is provided,the sample data from all traces is + `size` is provided, the sample data from all traces is combined to determine `size` as described above. start Sets the starting value for the x axis bins. Defaults diff --git a/plotly/graph_objs/histogram/_ybins.py b/plotly/graph_objs/histogram/_ybins.py index 1c0975de182..7c930113635 100644 --- a/plotly/graph_objs/histogram/_ybins.py +++ b/plotly/graph_objs/histogram/_ybins.py @@ -44,7 +44,7 @@ def size(self): `axis.dtick`. For category data, the number of categories to bin together (always defaults to 1). If multiple non-overlaying histograms share a subplot, the first explicit `size` is used - and all others discarded. If no `size` is provided,the sample + and all others discarded. If no `size` is provided, the sample data from all traces is combined to determine `size` as described above. @@ -111,7 +111,7 @@ def _prop_descriptions(self): together (always defaults to 1). If multiple non- overlaying histograms share a subplot, the first explicit `size` is used and all others discarded. If no - `size` is provided,the sample data from all traces is + `size` is provided, the sample data from all traces is combined to determine `size` as described above. start Sets the starting value for the y axis bins. Defaults @@ -160,7 +160,7 @@ def __init__(self, arg=None, end=None, size=None, start=None, **kwargs): together (always defaults to 1). If multiple non- overlaying histograms share a subplot, the first explicit `size` is used and all others discarded. If no - `size` is provided,the sample data from all traces is + `size` is provided, the sample data from all traces is combined to determine `size` as described above. start Sets the starting value for the y axis bins. Defaults diff --git a/plotly/graph_objs/histogram/hoverlabel/_font.py b/plotly/graph_objs/histogram/hoverlabel/_font.py index af8f7eb1194..ff7f1010321 100644 --- a/plotly/graph_objs/histogram/hoverlabel/_font.py +++ b/plotly/graph_objs/histogram/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "histogram.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.histogram.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/histogram/marker/_colorbar.py b/plotly/graph_objs/histogram/marker/_colorbar.py index ad6d5eedaf0..23800c46e1f 100644 --- a/plotly/graph_objs/histogram/marker/_colorbar.py +++ b/plotly/graph_objs/histogram/marker/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/histogram/marker/_line.py b/plotly/graph_objs/histogram/marker/_line.py index d1eaa9f732c..d3b0dc8ac72 100644 --- a/plotly/graph_objs/histogram/marker/_line.py +++ b/plotly/graph_objs/histogram/marker/_line.py @@ -17,10 +17,8 @@ class Line(_BaseTraceHierarchyType): "color", "coloraxis", "colorscale", - "colorsrc", "reversescale", "width", - "widthsrc", } @property @@ -194,7 +192,7 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value - to an rgb, rgba, hex, hsl, hsv, or named color string. At + to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in @@ -241,24 +239,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def reversescale(self): """ @@ -300,24 +280,6 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def _prop_descriptions(self): return """\ @@ -374,8 +336,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -384,9 +346,6 @@ def _prop_descriptions(self): string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -396,9 +355,6 @@ def _prop_descriptions(self): width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. """ def __init__( @@ -412,10 +368,8 @@ def __init__( color=None, coloraxis=None, colorscale=None, - colorsrc=None, reversescale=None, width=None, - widthsrc=None, **kwargs, ): """ @@ -480,8 +434,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -490,9 +444,6 @@ def __init__( string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -502,9 +453,6 @@ def __init__( width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. Returns ------- @@ -538,9 +486,7 @@ def __init__( self._set_property("color", arg, color) self._set_property("coloraxis", arg, coloraxis) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("reversescale", arg, reversescale) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/histogram/marker/_pattern.py b/plotly/graph_objs/histogram/marker/_pattern.py index bfc03a0367a..cb60c3722c7 100644 --- a/plotly/graph_objs/histogram/marker/_pattern.py +++ b/plotly/graph_objs/histogram/marker/_pattern.py @@ -10,19 +10,13 @@ class Pattern(_BaseTraceHierarchyType): _path_str = "histogram.marker.pattern" _valid_props = { "bgcolor", - "bgcolorsrc", "fgcolor", - "fgcolorsrc", "fgopacity", "fillmode", "path", - "pathsrc", "shape", - "shapesrc", "size", - "sizesrc", "solidity", - "soliditysrc", } @property @@ -51,24 +45,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def fgcolor(self): """ @@ -95,24 +71,6 @@ def fgcolor(self): def fgcolor(self, val): self["fgcolor"] = val - @property - def fgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `fgcolor`. - - The 'fgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["fgcolorsrc"] - - @fgcolorsrc.setter - def fgcolorsrc(self, val): - self["fgcolorsrc"] = val - @property def fgopacity(self): """ @@ -174,24 +132,6 @@ def path(self): def path(self, val): self["path"] = val - @property - def pathsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `path`. - - The 'pathsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["pathsrc"] - - @pathsrc.setter - def pathsrc(self, val): - self["pathsrc"] = val - @property def shape(self): """ @@ -213,24 +153,6 @@ def shape(self): def shape(self, val): self["shape"] = val - @property - def shapesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shape`. - - The 'shapesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shapesrc"] - - @shapesrc.setter - def shapesrc(self, val): - self["shapesrc"] = val - @property def size(self): """ @@ -251,24 +173,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def solidity(self): """ @@ -291,24 +195,6 @@ def solidity(self): def solidity(self, val): self["solidity"] = val - @property - def soliditysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `solidity`. - - The 'soliditysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["soliditysrc"] - - @soliditysrc.setter - def soliditysrc(self, val): - self["soliditysrc"] = val - @property def _prop_descriptions(self): return """\ @@ -317,18 +203,12 @@ def _prop_descriptions(self): background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background. - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. fgcolor When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`. - fgcolorsrc - Sets the source reference on Chart Studio Cloud for - `fgcolor`. fgopacity Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". @@ -341,50 +221,32 @@ def _prop_descriptions(self): `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color. - pathsrc - Sets the source reference on Chart Studio Cloud for - `path`. shape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. - shapesrc - Sets the source reference on Chart Studio Cloud for - `shape`. size Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. solidity Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern. - soliditysrc - Sets the source reference on Chart Studio Cloud for - `solidity`. """ def __init__( self, arg=None, bgcolor=None, - bgcolorsrc=None, fgcolor=None, - fgcolorsrc=None, fgopacity=None, fillmode=None, path=None, - pathsrc=None, shape=None, - shapesrc=None, size=None, - sizesrc=None, solidity=None, - soliditysrc=None, **kwargs, ): """ @@ -403,18 +265,12 @@ def __init__( background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background. - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. fgcolor When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`. - fgcolorsrc - Sets the source reference on Chart Studio Cloud for - `fgcolor`. fgopacity Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". @@ -427,31 +283,19 @@ def __init__( `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color. - pathsrc - Sets the source reference on Chart Studio Cloud for - `path`. shape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. - shapesrc - Sets the source reference on Chart Studio Cloud for - `shape`. size Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. solidity Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern. - soliditysrc - Sets the source reference on Chart Studio Cloud for - `solidity`. Returns ------- @@ -478,18 +322,12 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("fgcolor", arg, fgcolor) - self._set_property("fgcolorsrc", arg, fgcolorsrc) self._set_property("fgopacity", arg, fgopacity) self._set_property("fillmode", arg, fillmode) self._set_property("path", arg, path) - self._set_property("pathsrc", arg, pathsrc) self._set_property("shape", arg, shape) - self._set_property("shapesrc", arg, shapesrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("solidity", arg, solidity) - self._set_property("soliditysrc", arg, soliditysrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/histogram/marker/colorbar/_title.py b/plotly/graph_objs/histogram/marker/colorbar/_title.py index f7b5a88ca12..8f5bef79a65 100644 --- a/plotly/graph_objs/histogram/marker/colorbar/_title.py +++ b/plotly/graph_objs/histogram/marker/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/histogram2d/__init__.py b/plotly/graph_objs/histogram2d/__init__.py index 780e8d1b647..294fdcdb7aa 100644 --- a/plotly/graph_objs/histogram2d/__init__.py +++ b/plotly/graph_objs/histogram2d/__init__.py @@ -6,7 +6,6 @@ from ._hoverlabel import Hoverlabel from ._legendgrouptitle import Legendgrouptitle from ._marker import Marker - from ._stream import Stream from ._textfont import Textfont from ._xbins import XBins from ._ybins import YBins @@ -24,7 +23,6 @@ "._hoverlabel.Hoverlabel", "._legendgrouptitle.Legendgrouptitle", "._marker.Marker", - "._stream.Stream", "._textfont.Textfont", "._xbins.XBins", "._ybins.YBins", diff --git a/plotly/graph_objs/histogram2d/_colorbar.py b/plotly/graph_objs/histogram2d/_colorbar.py index e3806ecc4a5..c3a52db0045 100644 --- a/plotly/graph_objs/histogram2d/_colorbar.py +++ b/plotly/graph_objs/histogram2d/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/histogram2d/_hoverlabel.py b/plotly/graph_objs/histogram2d/_hoverlabel.py index bb2b0a21b2e..cfd93aa9f87 100644 --- a/plotly/graph_objs/histogram2d/_hoverlabel.py +++ b/plotly/graph_objs/histogram2d/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "histogram2d.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/histogram2d/_marker.py b/plotly/graph_objs/histogram2d/_marker.py index c433bacac9b..e6e5ea0c89e 100644 --- a/plotly/graph_objs/histogram2d/_marker.py +++ b/plotly/graph_objs/histogram2d/_marker.py @@ -8,7 +8,7 @@ class Marker(_BaseTraceHierarchyType): _parent_path_str = "histogram2d" _path_str = "histogram2d.marker" - _valid_props = {"color", "colorsrc"} + _valid_props = {"color"} @property def color(self): @@ -28,35 +28,14 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def _prop_descriptions(self): return """\ color Sets the aggregation data. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. """ - def __init__(self, arg=None, color=None, colorsrc=None, **kwargs): + def __init__(self, arg=None, color=None, **kwargs): """ Construct a new Marker object @@ -68,9 +47,6 @@ def __init__(self, arg=None, color=None, colorsrc=None, **kwargs): :class:`plotly.graph_objs.histogram2d.Marker` color Sets the aggregation data. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. Returns ------- @@ -97,6 +73,5 @@ def __init__(self, arg=None, color=None, colorsrc=None, **kwargs): self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/histogram2d/_stream.py b/plotly/graph_objs/histogram2d/_stream.py deleted file mode 100644 index 7d45c686739..00000000000 --- a/plotly/graph_objs/histogram2d/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "histogram2d" - _path_str = "histogram2d.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.histogram2d.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.histogram2d.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.histogram2d.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/histogram2d/colorbar/_title.py b/plotly/graph_objs/histogram2d/colorbar/_title.py index a941eb63da3..47b7d583d7e 100644 --- a/plotly/graph_objs/histogram2d/colorbar/_title.py +++ b/plotly/graph_objs/histogram2d/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/histogram2d/hoverlabel/_font.py b/plotly/graph_objs/histogram2d/hoverlabel/_font.py index 1977f6f1c70..57bda1098b1 100644 --- a/plotly/graph_objs/histogram2d/hoverlabel/_font.py +++ b/plotly/graph_objs/histogram2d/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "histogram2d.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.histogram2d.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/histogram2dcontour/__init__.py b/plotly/graph_objs/histogram2dcontour/__init__.py index 406ff7199e0..a9bea09839a 100644 --- a/plotly/graph_objs/histogram2dcontour/__init__.py +++ b/plotly/graph_objs/histogram2dcontour/__init__.py @@ -8,7 +8,6 @@ from ._legendgrouptitle import Legendgrouptitle from ._line import Line from ._marker import Marker - from ._stream import Stream from ._textfont import Textfont from ._xbins import XBins from ._ybins import YBins @@ -29,7 +28,6 @@ "._legendgrouptitle.Legendgrouptitle", "._line.Line", "._marker.Marker", - "._stream.Stream", "._textfont.Textfont", "._xbins.XBins", "._ybins.YBins", diff --git a/plotly/graph_objs/histogram2dcontour/_colorbar.py b/plotly/graph_objs/histogram2dcontour/_colorbar.py index d120ed8e5e7..b87b176a73d 100644 --- a/plotly/graph_objs/histogram2dcontour/_colorbar.py +++ b/plotly/graph_objs/histogram2dcontour/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/histogram2dcontour/_contours.py b/plotly/graph_objs/histogram2dcontour/_contours.py index 3ba60716af1..a3ad04aad67 100644 --- a/plotly/graph_objs/histogram2dcontour/_contours.py +++ b/plotly/graph_objs/histogram2dcontour/_contours.py @@ -118,8 +118,7 @@ def operation(self): "(]" keep regions inside `value[0]` to `value[1]` "][", ")(", "](", ")[" keep regions outside `value[0]` to value[1]` Open vs. closed intervals make no difference to constraint display, - but all versions are allowed for consistency with filter - transforms. + but all versions are allowed. The 'operation' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -286,7 +285,7 @@ def _prop_descriptions(self): `value[1]` "][", ")(", "](", ")[" keep regions outside `value[0]` to value[1]` Open vs. closed intervals make no difference to constraint display, but all versions - are allowed for consistency with filter transforms. + are allowed. showlabels Determines whether to label the contour lines with their values. @@ -368,7 +367,7 @@ def __init__( `value[1]` "][", ")(", "](", ")[" keep regions outside `value[0]` to value[1]` Open vs. closed intervals make no difference to constraint display, but all versions - are allowed for consistency with filter transforms. + are allowed. showlabels Determines whether to label the contour lines with their values. diff --git a/plotly/graph_objs/histogram2dcontour/_hoverlabel.py b/plotly/graph_objs/histogram2dcontour/_hoverlabel.py index 1b7b86e5608..3e84253aa1a 100644 --- a/plotly/graph_objs/histogram2dcontour/_hoverlabel.py +++ b/plotly/graph_objs/histogram2dcontour/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "histogram2dcontour.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/histogram2dcontour/_marker.py b/plotly/graph_objs/histogram2dcontour/_marker.py index 146412afab9..e7d2558f098 100644 --- a/plotly/graph_objs/histogram2dcontour/_marker.py +++ b/plotly/graph_objs/histogram2dcontour/_marker.py @@ -8,7 +8,7 @@ class Marker(_BaseTraceHierarchyType): _parent_path_str = "histogram2dcontour" _path_str = "histogram2dcontour.marker" - _valid_props = {"color", "colorsrc"} + _valid_props = {"color"} @property def color(self): @@ -28,35 +28,14 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def _prop_descriptions(self): return """\ color Sets the aggregation data. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. """ - def __init__(self, arg=None, color=None, colorsrc=None, **kwargs): + def __init__(self, arg=None, color=None, **kwargs): """ Construct a new Marker object @@ -68,9 +47,6 @@ def __init__(self, arg=None, color=None, colorsrc=None, **kwargs): :class:`plotly.graph_objs.histogram2dcontour.Marker` color Sets the aggregation data. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. Returns ------- @@ -97,6 +73,5 @@ def __init__(self, arg=None, color=None, colorsrc=None, **kwargs): self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/histogram2dcontour/_stream.py b/plotly/graph_objs/histogram2dcontour/_stream.py deleted file mode 100644 index 59dbafd4991..00000000000 --- a/plotly/graph_objs/histogram2dcontour/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "histogram2dcontour" - _path_str = "histogram2dcontour.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.histogram2dcontour.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.histogram2dcontour.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.histogram2dcontour.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/histogram2dcontour/colorbar/_title.py b/plotly/graph_objs/histogram2dcontour/colorbar/_title.py index 52f41a1d264..37cb6c2b7d9 100644 --- a/plotly/graph_objs/histogram2dcontour/colorbar/_title.py +++ b/plotly/graph_objs/histogram2dcontour/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/histogram2dcontour/hoverlabel/_font.py b/plotly/graph_objs/histogram2dcontour/hoverlabel/_font.py index 30babef2a17..c0fbbe3cb4b 100644 --- a/plotly/graph_objs/histogram2dcontour/hoverlabel/_font.py +++ b/plotly/graph_objs/histogram2dcontour/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "histogram2dcontour.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( tour.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/icicle/__init__.py b/plotly/graph_objs/icicle/__init__.py index 4450c0c07b0..6e3596c2ae6 100644 --- a/plotly/graph_objs/icicle/__init__.py +++ b/plotly/graph_objs/icicle/__init__.py @@ -11,7 +11,6 @@ from ._outsidetextfont import Outsidetextfont from ._pathbar import Pathbar from ._root import Root - from ._stream import Stream from ._textfont import Textfont from ._tiling import Tiling from . import hoverlabel @@ -34,7 +33,6 @@ "._outsidetextfont.Outsidetextfont", "._pathbar.Pathbar", "._root.Root", - "._stream.Stream", "._textfont.Textfont", "._tiling.Tiling", ], diff --git a/plotly/graph_objs/icicle/_domain.py b/plotly/graph_objs/icicle/_domain.py index b6136f2b9f5..331e0e4d6e8 100644 --- a/plotly/graph_objs/icicle/_domain.py +++ b/plotly/graph_objs/icicle/_domain.py @@ -14,7 +14,7 @@ class Domain(_BaseTraceHierarchyType): def column(self): """ If there is a layout grid, use the domain for this column in - the grid for this icicle trace . + the grid for this icicle trace. The 'column' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -34,7 +34,7 @@ def column(self, val): def row(self): """ If there is a layout grid, use the domain for this row in the - grid for this icicle trace . + grid for this icicle trace. The 'row' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -103,10 +103,10 @@ def _prop_descriptions(self): return """\ column If there is a layout grid, use the domain for this - column in the grid for this icicle trace . + column in the grid for this icicle trace. row If there is a layout grid, use the domain for this row - in the grid for this icicle trace . + in the grid for this icicle trace. x Sets the horizontal domain of this icicle trace (in plot fraction). @@ -126,10 +126,10 @@ def __init__(self, arg=None, column=None, row=None, x=None, y=None, **kwargs): an instance of :class:`plotly.graph_objs.icicle.Domain` column If there is a layout grid, use the domain for this - column in the grid for this icicle trace . + column in the grid for this icicle trace. row If there is a layout grid, use the domain for this row - in the grid for this icicle trace . + in the grid for this icicle trace. x Sets the horizontal domain of this icicle trace (in plot fraction). diff --git a/plotly/graph_objs/icicle/_hoverlabel.py b/plotly/graph_objs/icicle/_hoverlabel.py index b306ad6feec..ea081e387b8 100644 --- a/plotly/graph_objs/icicle/_hoverlabel.py +++ b/plotly/graph_objs/icicle/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "icicle.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/icicle/_insidetextfont.py b/plotly/graph_objs/icicle/_insidetextfont.py index 419dd4de3d3..b14184c1ba5 100644 --- a/plotly/graph_objs/icicle/_insidetextfont.py +++ b/plotly/graph_objs/icicle/_insidetextfont.py @@ -10,23 +10,14 @@ class Insidetextfont(_BaseTraceHierarchyType): _path_str = "icicle.insidetextfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.icicle.Insidetextfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/icicle/_marker.py b/plotly/graph_objs/icicle/_marker.py index 10bbf6cd64b..deb17479ff4 100644 --- a/plotly/graph_objs/icicle/_marker.py +++ b/plotly/graph_objs/icicle/_marker.py @@ -18,7 +18,6 @@ class Marker(_BaseTraceHierarchyType): "colorbar", "colors", "colorscale", - "colorssrc", "line", "pattern", "reversescale", @@ -202,7 +201,7 @@ def colorscale(self): Sets the colorscale. Has an effect only if colors is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, - hsv, or named color string. At minimum, a mapping for the + hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and @@ -248,24 +247,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `colors`. - - The 'colorssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorssrc"] - - @colorssrc.setter - def colorssrc(self, val): - self["colorssrc"] = val - @property def line(self): """ @@ -400,9 +381,9 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if colors is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to - an rgb, rgba, hex, hsl, hsv, or named color string. At - minimum, a mapping for the lowest (0) and highest (1) - values are required. For example, `[[0, + an rgb, rgba, hex, hsl, hsla, hwb, or named color + string. At minimum, a mapping for the lowest (0) and + highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, @@ -410,9 +391,6 @@ def _prop_descriptions(self): following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorssrc - Sets the source reference on Chart Studio Cloud for - `colors`. line :class:`plotly.graph_objects.icicle.marker.Line` instance or dict with compatible properties @@ -442,7 +420,6 @@ def __init__( colorbar=None, colors=None, colorscale=None, - colorssrc=None, line=None, pattern=None, reversescale=None, @@ -507,9 +484,9 @@ def __init__( Sets the colorscale. Has an effect only if colors is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to - an rgb, rgba, hex, hsl, hsv, or named color string. At - minimum, a mapping for the lowest (0) and highest (1) - values are required. For example, `[[0, + an rgb, rgba, hex, hsl, hsla, hwb, or named color + string. At minimum, a mapping for the lowest (0) and + highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, @@ -517,9 +494,6 @@ def __init__( following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorssrc - Sets the source reference on Chart Studio Cloud for - `colors`. line :class:`plotly.graph_objects.icicle.marker.Line` instance or dict with compatible properties @@ -569,7 +543,6 @@ def __init__( self._set_property("colorbar", arg, colorbar) self._set_property("colors", arg, colors) self._set_property("colorscale", arg, colorscale) - self._set_property("colorssrc", arg, colorssrc) self._set_property("line", arg, line) self._set_property("pattern", arg, pattern) self._set_property("reversescale", arg, reversescale) diff --git a/plotly/graph_objs/icicle/_outsidetextfont.py b/plotly/graph_objs/icicle/_outsidetextfont.py index eb70680dbe3..a7e3fe97792 100644 --- a/plotly/graph_objs/icicle/_outsidetextfont.py +++ b/plotly/graph_objs/icicle/_outsidetextfont.py @@ -10,23 +10,14 @@ class Outsidetextfont(_BaseTraceHierarchyType): _path_str = "icicle.outsidetextfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -488,9 +280,6 @@ def __init__( :class:`plotly.graph_objs.icicle.Outsidetextfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -498,52 +287,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -570,22 +335,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/icicle/_pathbar.py b/plotly/graph_objs/icicle/_pathbar.py index edc657baa12..6083fd1c626 100644 --- a/plotly/graph_objs/icicle/_pathbar.py +++ b/plotly/graph_objs/icicle/_pathbar.py @@ -33,8 +33,8 @@ def edgeshape(self, val): @property def side(self): """ - Determines on which side of the the treemap the `pathbar` - should be presented. + Determines on which side of the treemap the `pathbar` should be + presented. The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -117,8 +117,8 @@ def _prop_descriptions(self): Determines which shape is used for edges between `barpath` labels. side - Determines on which side of the the treemap the - `pathbar` should be presented. + Determines on which side of the treemap the `pathbar` + should be presented. textfont Sets the font used inside `pathbar`. thickness @@ -153,8 +153,8 @@ def __init__( Determines which shape is used for edges between `barpath` labels. side - Determines on which side of the the treemap the - `pathbar` should be presented. + Determines on which side of the treemap the `pathbar` + should be presented. textfont Sets the font used inside `pathbar`. thickness diff --git a/plotly/graph_objs/icicle/_stream.py b/plotly/graph_objs/icicle/_stream.py deleted file mode 100644 index 10fa9d921a6..00000000000 --- a/plotly/graph_objs/icicle/_stream.py +++ /dev/null @@ -1,113 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "icicle" - _path_str = "icicle.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.icicle.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.icicle.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.icicle.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/icicle/_textfont.py b/plotly/graph_objs/icicle/_textfont.py index 3c3655263c6..8e6f9e79b77 100644 --- a/plotly/graph_objs/icicle/_textfont.py +++ b/plotly/graph_objs/icicle/_textfont.py @@ -10,23 +10,14 @@ class Textfont(_BaseTraceHierarchyType): _path_str = "icicle.textfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.icicle.Textfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/icicle/hoverlabel/_font.py b/plotly/graph_objs/icicle/hoverlabel/_font.py index 3da46e745b2..3eaa38ebf80 100644 --- a/plotly/graph_objs/icicle/hoverlabel/_font.py +++ b/plotly/graph_objs/icicle/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "icicle.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.icicle.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/icicle/marker/_colorbar.py b/plotly/graph_objs/icicle/marker/_colorbar.py index 34c5cb63ec0..0bd5d7275a1 100644 --- a/plotly/graph_objs/icicle/marker/_colorbar.py +++ b/plotly/graph_objs/icicle/marker/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/icicle/marker/_line.py b/plotly/graph_objs/icicle/marker/_line.py index ea00cd59025..3ec0684107c 100644 --- a/plotly/graph_objs/icicle/marker/_line.py +++ b/plotly/graph_objs/icicle/marker/_line.py @@ -8,7 +8,7 @@ class Line(_BaseTraceHierarchyType): _parent_path_str = "icicle.marker" _path_str = "icicle.marker.line" - _valid_props = {"color", "colorsrc", "width", "widthsrc"} + _valid_props = {"color", "width"} @property def color(self): @@ -34,24 +34,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def width(self): """ @@ -71,44 +53,18 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def _prop_descriptions(self): return """\ color Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. width Sets the width (in px) of the line enclosing each sector. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. """ - def __init__( - self, arg=None, color=None, colorsrc=None, width=None, widthsrc=None, **kwargs - ): + def __init__(self, arg=None, color=None, width=None, **kwargs): """ Construct a new Line object @@ -121,15 +77,9 @@ def __init__( color Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. width Sets the width (in px) of the line enclosing each sector. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. Returns ------- @@ -156,8 +106,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/icicle/marker/_pattern.py b/plotly/graph_objs/icicle/marker/_pattern.py index ac85c878504..d8cd86930f4 100644 --- a/plotly/graph_objs/icicle/marker/_pattern.py +++ b/plotly/graph_objs/icicle/marker/_pattern.py @@ -10,19 +10,13 @@ class Pattern(_BaseTraceHierarchyType): _path_str = "icicle.marker.pattern" _valid_props = { "bgcolor", - "bgcolorsrc", "fgcolor", - "fgcolorsrc", "fgopacity", "fillmode", "path", - "pathsrc", "shape", - "shapesrc", "size", - "sizesrc", "solidity", - "soliditysrc", } @property @@ -51,24 +45,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def fgcolor(self): """ @@ -95,24 +71,6 @@ def fgcolor(self): def fgcolor(self, val): self["fgcolor"] = val - @property - def fgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `fgcolor`. - - The 'fgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["fgcolorsrc"] - - @fgcolorsrc.setter - def fgcolorsrc(self, val): - self["fgcolorsrc"] = val - @property def fgopacity(self): """ @@ -174,24 +132,6 @@ def path(self): def path(self, val): self["path"] = val - @property - def pathsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `path`. - - The 'pathsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["pathsrc"] - - @pathsrc.setter - def pathsrc(self, val): - self["pathsrc"] = val - @property def shape(self): """ @@ -213,24 +153,6 @@ def shape(self): def shape(self, val): self["shape"] = val - @property - def shapesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shape`. - - The 'shapesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shapesrc"] - - @shapesrc.setter - def shapesrc(self, val): - self["shapesrc"] = val - @property def size(self): """ @@ -251,24 +173,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def solidity(self): """ @@ -291,24 +195,6 @@ def solidity(self): def solidity(self, val): self["solidity"] = val - @property - def soliditysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `solidity`. - - The 'soliditysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["soliditysrc"] - - @soliditysrc.setter - def soliditysrc(self, val): - self["soliditysrc"] = val - @property def _prop_descriptions(self): return """\ @@ -317,18 +203,12 @@ def _prop_descriptions(self): background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background. - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. fgcolor When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`. - fgcolorsrc - Sets the source reference on Chart Studio Cloud for - `fgcolor`. fgopacity Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". @@ -341,50 +221,32 @@ def _prop_descriptions(self): `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color. - pathsrc - Sets the source reference on Chart Studio Cloud for - `path`. shape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. - shapesrc - Sets the source reference on Chart Studio Cloud for - `shape`. size Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. solidity Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern. - soliditysrc - Sets the source reference on Chart Studio Cloud for - `solidity`. """ def __init__( self, arg=None, bgcolor=None, - bgcolorsrc=None, fgcolor=None, - fgcolorsrc=None, fgopacity=None, fillmode=None, path=None, - pathsrc=None, shape=None, - shapesrc=None, size=None, - sizesrc=None, solidity=None, - soliditysrc=None, **kwargs, ): """ @@ -403,18 +265,12 @@ def __init__( background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background. - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. fgcolor When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`. - fgcolorsrc - Sets the source reference on Chart Studio Cloud for - `fgcolor`. fgopacity Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". @@ -427,31 +283,19 @@ def __init__( `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color. - pathsrc - Sets the source reference on Chart Studio Cloud for - `path`. shape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. - shapesrc - Sets the source reference on Chart Studio Cloud for - `shape`. size Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. solidity Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern. - soliditysrc - Sets the source reference on Chart Studio Cloud for - `solidity`. Returns ------- @@ -478,18 +322,12 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("fgcolor", arg, fgcolor) - self._set_property("fgcolorsrc", arg, fgcolorsrc) self._set_property("fgopacity", arg, fgopacity) self._set_property("fillmode", arg, fillmode) self._set_property("path", arg, path) - self._set_property("pathsrc", arg, pathsrc) self._set_property("shape", arg, shape) - self._set_property("shapesrc", arg, shapesrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("solidity", arg, solidity) - self._set_property("soliditysrc", arg, soliditysrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/icicle/marker/colorbar/_title.py b/plotly/graph_objs/icicle/marker/colorbar/_title.py index 0e4f9ec7320..bdf5a37f2be 100644 --- a/plotly/graph_objs/icicle/marker/colorbar/_title.py +++ b/plotly/graph_objs/icicle/marker/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/icicle/pathbar/_textfont.py b/plotly/graph_objs/icicle/pathbar/_textfont.py index fe6aefdd078..b370c2794ad 100644 --- a/plotly/graph_objs/icicle/pathbar/_textfont.py +++ b/plotly/graph_objs/icicle/pathbar/_textfont.py @@ -10,23 +10,14 @@ class Textfont(_BaseTraceHierarchyType): _path_str = "icicle.pathbar.textfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.icicle.pathbar.Textfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/image/__init__.py b/plotly/graph_objs/image/__init__.py index 7dc94b890c9..b8df1f28d01 100644 --- a/plotly/graph_objs/image/__init__.py +++ b/plotly/graph_objs/image/__init__.py @@ -4,7 +4,6 @@ if TYPE_CHECKING: from ._hoverlabel import Hoverlabel from ._legendgrouptitle import Legendgrouptitle - from ._stream import Stream from . import hoverlabel from . import legendgrouptitle else: @@ -13,9 +12,5 @@ __all__, __getattr__, __dir__ = relative_import( __name__, [".hoverlabel", ".legendgrouptitle"], - [ - "._hoverlabel.Hoverlabel", - "._legendgrouptitle.Legendgrouptitle", - "._stream.Stream", - ], + ["._hoverlabel.Hoverlabel", "._legendgrouptitle.Legendgrouptitle"], ) diff --git a/plotly/graph_objs/image/_hoverlabel.py b/plotly/graph_objs/image/_hoverlabel.py index dea1227cade..e5f0702bcb9 100644 --- a/plotly/graph_objs/image/_hoverlabel.py +++ b/plotly/graph_objs/image/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "image.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/image/_stream.py b/plotly/graph_objs/image/_stream.py deleted file mode 100644 index 7c0a3d32d4e..00000000000 --- a/plotly/graph_objs/image/_stream.py +++ /dev/null @@ -1,113 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "image" - _path_str = "image.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.image.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.image.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.image.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/image/hoverlabel/_font.py b/plotly/graph_objs/image/hoverlabel/_font.py index 2fd6ef82b05..ea3233ae64e 100644 --- a/plotly/graph_objs/image/hoverlabel/_font.py +++ b/plotly/graph_objs/image/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "image.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.image.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/indicator/__init__.py b/plotly/graph_objs/indicator/__init__.py index d1ed63eda09..7159f029aeb 100644 --- a/plotly/graph_objs/indicator/__init__.py +++ b/plotly/graph_objs/indicator/__init__.py @@ -7,7 +7,6 @@ from ._gauge import Gauge from ._legendgrouptitle import Legendgrouptitle from ._number import Number - from ._stream import Stream from ._title import Title from . import delta from . import gauge @@ -26,7 +25,6 @@ "._gauge.Gauge", "._legendgrouptitle.Legendgrouptitle", "._number.Number", - "._stream.Stream", "._title.Title", ], ) diff --git a/plotly/graph_objs/indicator/_domain.py b/plotly/graph_objs/indicator/_domain.py index 00b9ae77850..56de862c1d8 100644 --- a/plotly/graph_objs/indicator/_domain.py +++ b/plotly/graph_objs/indicator/_domain.py @@ -14,7 +14,7 @@ class Domain(_BaseTraceHierarchyType): def column(self): """ If there is a layout grid, use the domain for this column in - the grid for this indicator trace . + the grid for this indicator trace. The 'column' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -34,7 +34,7 @@ def column(self, val): def row(self): """ If there is a layout grid, use the domain for this row in the - grid for this indicator trace . + grid for this indicator trace. The 'row' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -103,10 +103,10 @@ def _prop_descriptions(self): return """\ column If there is a layout grid, use the domain for this - column in the grid for this indicator trace . + column in the grid for this indicator trace. row If there is a layout grid, use the domain for this row - in the grid for this indicator trace . + in the grid for this indicator trace. x Sets the horizontal domain of this indicator trace (in plot fraction). @@ -127,10 +127,10 @@ def __init__(self, arg=None, column=None, row=None, x=None, y=None, **kwargs): :class:`plotly.graph_objs.indicator.Domain` column If there is a layout grid, use the domain for this - column in the grid for this indicator trace . + column in the grid for this indicator trace. row If there is a layout grid, use the domain for this row - in the grid for this indicator trace . + in the grid for this indicator trace. x Sets the horizontal domain of this indicator trace (in plot fraction). diff --git a/plotly/graph_objs/indicator/_stream.py b/plotly/graph_objs/indicator/_stream.py deleted file mode 100644 index 0b793d04650..00000000000 --- a/plotly/graph_objs/indicator/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "indicator" - _path_str = "indicator.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.indicator.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.indicator.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.indicator.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/indicator/gauge/_axis.py b/plotly/graph_objs/indicator/gauge/_axis.py index 391b299f996..caf4e315352 100644 --- a/plotly/graph_objs/indicator/gauge/_axis.py +++ b/plotly/graph_objs/indicator/gauge/_axis.py @@ -34,9 +34,7 @@ class Axis(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "visible", } @@ -600,24 +598,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -637,24 +617,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -842,16 +804,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). visible @@ -888,9 +844,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, visible=None, **kwargs, @@ -1050,16 +1004,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). visible @@ -1116,9 +1064,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("visible", arg, visible) self._process_kwargs(**dict(arg, **kwargs)) diff --git a/plotly/graph_objs/isosurface/__init__.py b/plotly/graph_objs/isosurface/__init__.py index 27f503c0406..2e686e6f9dd 100644 --- a/plotly/graph_objs/isosurface/__init__.py +++ b/plotly/graph_objs/isosurface/__init__.py @@ -11,7 +11,6 @@ from ._lightposition import Lightposition from ._slices import Slices from ._spaceframe import Spaceframe - from ._stream import Stream from ._surface import Surface from . import caps from . import colorbar @@ -34,7 +33,6 @@ "._lightposition.Lightposition", "._slices.Slices", "._spaceframe.Spaceframe", - "._stream.Stream", "._surface.Surface", ], ) diff --git a/plotly/graph_objs/isosurface/_colorbar.py b/plotly/graph_objs/isosurface/_colorbar.py index a9fe84b7e01..e3276a88b30 100644 --- a/plotly/graph_objs/isosurface/_colorbar.py +++ b/plotly/graph_objs/isosurface/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -842,24 +840,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -879,24 +859,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1292,16 +1254,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1392,9 +1348,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1601,16 +1555,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1721,9 +1669,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/isosurface/_hoverlabel.py b/plotly/graph_objs/isosurface/_hoverlabel.py index f8dc0cb3473..ca7311401a4 100644 --- a/plotly/graph_objs/isosurface/_hoverlabel.py +++ b/plotly/graph_objs/isosurface/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "isosurface.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/isosurface/_stream.py b/plotly/graph_objs/isosurface/_stream.py deleted file mode 100644 index ee2809fa7bc..00000000000 --- a/plotly/graph_objs/isosurface/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "isosurface" - _path_str = "isosurface.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.isosurface.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.isosurface.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.isosurface.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/isosurface/colorbar/_title.py b/plotly/graph_objs/isosurface/colorbar/_title.py index c19b2b5ecc5..0040b0c01f4 100644 --- a/plotly/graph_objs/isosurface/colorbar/_title.py +++ b/plotly/graph_objs/isosurface/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/isosurface/hoverlabel/_font.py b/plotly/graph_objs/isosurface/hoverlabel/_font.py index 26f995a422b..f2d6f1d9eaa 100644 --- a/plotly/graph_objs/isosurface/hoverlabel/_font.py +++ b/plotly/graph_objs/isosurface/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "isosurface.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.isosurface.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/isosurface/slices/_x.py b/plotly/graph_objs/isosurface/slices/_x.py index 9aa0648a240..98ec05ed8ff 100644 --- a/plotly/graph_objs/isosurface/slices/_x.py +++ b/plotly/graph_objs/isosurface/slices/_x.py @@ -8,7 +8,7 @@ class X(_BaseTraceHierarchyType): _parent_path_str = "isosurface.slices" _path_str = "isosurface.slices.x" - _valid_props = {"fill", "locations", "locationssrc", "show"} + _valid_props = {"fill", "locations", "show"} @property def fill(self): @@ -51,25 +51,6 @@ def locations(self): def locations(self, val): self["locations"] = val - @property - def locationssrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `locations`. - - The 'locationssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["locationssrc"] - - @locationssrc.setter - def locationssrc(self, val): - self["locationssrc"] = val - @property def show(self): """ @@ -102,23 +83,12 @@ def _prop_descriptions(self): Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis x except start and end. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. show Determines whether or not slice planes about the x dimension are drawn. """ - def __init__( - self, - arg=None, - fill=None, - locations=None, - locationssrc=None, - show=None, - **kwargs, - ): + def __init__(self, arg=None, fill=None, locations=None, show=None, **kwargs): """ Construct a new X object @@ -138,9 +108,6 @@ def __init__( Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis x except start and end. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. show Determines whether or not slice planes about the x dimension are drawn. @@ -171,7 +138,6 @@ def __init__( self._set_property("fill", arg, fill) self._set_property("locations", arg, locations) - self._set_property("locationssrc", arg, locationssrc) self._set_property("show", arg, show) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/isosurface/slices/_y.py b/plotly/graph_objs/isosurface/slices/_y.py index b775a1bb4a7..aea9f2afac3 100644 --- a/plotly/graph_objs/isosurface/slices/_y.py +++ b/plotly/graph_objs/isosurface/slices/_y.py @@ -8,7 +8,7 @@ class Y(_BaseTraceHierarchyType): _parent_path_str = "isosurface.slices" _path_str = "isosurface.slices.y" - _valid_props = {"fill", "locations", "locationssrc", "show"} + _valid_props = {"fill", "locations", "show"} @property def fill(self): @@ -51,25 +51,6 @@ def locations(self): def locations(self, val): self["locations"] = val - @property - def locationssrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `locations`. - - The 'locationssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["locationssrc"] - - @locationssrc.setter - def locationssrc(self, val): - self["locationssrc"] = val - @property def show(self): """ @@ -102,23 +83,12 @@ def _prop_descriptions(self): Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis y except start and end. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. show Determines whether or not slice planes about the y dimension are drawn. """ - def __init__( - self, - arg=None, - fill=None, - locations=None, - locationssrc=None, - show=None, - **kwargs, - ): + def __init__(self, arg=None, fill=None, locations=None, show=None, **kwargs): """ Construct a new Y object @@ -138,9 +108,6 @@ def __init__( Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis y except start and end. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. show Determines whether or not slice planes about the y dimension are drawn. @@ -171,7 +138,6 @@ def __init__( self._set_property("fill", arg, fill) self._set_property("locations", arg, locations) - self._set_property("locationssrc", arg, locationssrc) self._set_property("show", arg, show) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/isosurface/slices/_z.py b/plotly/graph_objs/isosurface/slices/_z.py index b554acb5075..2d38b44434c 100644 --- a/plotly/graph_objs/isosurface/slices/_z.py +++ b/plotly/graph_objs/isosurface/slices/_z.py @@ -8,7 +8,7 @@ class Z(_BaseTraceHierarchyType): _parent_path_str = "isosurface.slices" _path_str = "isosurface.slices.z" - _valid_props = {"fill", "locations", "locationssrc", "show"} + _valid_props = {"fill", "locations", "show"} @property def fill(self): @@ -51,25 +51,6 @@ def locations(self): def locations(self, val): self["locations"] = val - @property - def locationssrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `locations`. - - The 'locationssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["locationssrc"] - - @locationssrc.setter - def locationssrc(self, val): - self["locationssrc"] = val - @property def show(self): """ @@ -102,23 +83,12 @@ def _prop_descriptions(self): Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis z except start and end. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. show Determines whether or not slice planes about the z dimension are drawn. """ - def __init__( - self, - arg=None, - fill=None, - locations=None, - locationssrc=None, - show=None, - **kwargs, - ): + def __init__(self, arg=None, fill=None, locations=None, show=None, **kwargs): """ Construct a new Z object @@ -138,9 +108,6 @@ def __init__( Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis z except start and end. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. show Determines whether or not slice planes about the z dimension are drawn. @@ -171,7 +138,6 @@ def __init__( self._set_property("fill", arg, fill) self._set_property("locations", arg, locations) - self._set_property("locationssrc", arg, locationssrc) self._set_property("show", arg, show) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/layout/__init__.py b/plotly/graph_objs/layout/__init__.py index 9fe6cadd55c..5b04bcdfed1 100644 --- a/plotly/graph_objs/layout/__init__.py +++ b/plotly/graph_objs/layout/__init__.py @@ -14,7 +14,6 @@ from ._image import Image from ._legend import Legend from ._map import Map - from ._mapbox import Mapbox from ._margin import Margin from ._modebar import Modebar from ._newselection import Newselection @@ -40,7 +39,6 @@ from . import hoverlabel from . import legend from . import map - from . import mapbox from . import newselection from . import newshape from . import polar @@ -68,7 +66,6 @@ ".hoverlabel", ".legend", ".map", - ".mapbox", ".newselection", ".newshape", ".polar", @@ -97,7 +94,6 @@ "._image.Image", "._legend.Legend", "._map.Map", - "._mapbox.Mapbox", "._margin.Margin", "._modebar.Modebar", "._newselection.Newselection", diff --git a/plotly/graph_objs/layout/_annotation.py b/plotly/graph_objs/layout/_annotation.py index 655336c5ad6..aad9079f49f 100644 --- a/plotly/graph_objs/layout/_annotation.py +++ b/plotly/graph_objs/layout/_annotation.py @@ -210,7 +210,7 @@ def axref(self): (separated by a space), the position behaves like for "paper", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* - refers to the domain of the second x axis and a x position of + refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, "axref" must be exactly the same as @@ -272,7 +272,7 @@ def ayref(self): (separated by a space), the position behaves like for "paper", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* - refers to the domain of the second y axis and a y position of + refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, "ayref" must be exactly the same as @@ -869,7 +869,7 @@ def xref(self): behaves like for "paper", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second - x axis and a x position of 0.5 refers to the point between the + x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. The 'xref' property is an enumeration that may be specified as: @@ -987,7 +987,7 @@ def yref(self): behaves like for "paper", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second - y axis and a y position of 0.5 refers to the point between the + y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. The 'yref' property is an enumeration that may be specified as: @@ -1066,7 +1066,7 @@ def _prop_descriptions(self): like for "paper", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the - domain of the second x axis and a x position of 0.5 + domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, "axref" must be @@ -1099,7 +1099,7 @@ def _prop_descriptions(self): like for "paper", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the - domain of the second y axis and a y position of 0.5 + domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, "ayref" must be @@ -1259,7 +1259,7 @@ def _prop_descriptions(self): like for "paper", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the - domain of the second x axis and a x position of 0.5 + domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. xshift @@ -1301,7 +1301,7 @@ def _prop_descriptions(self): like for "paper", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the - domain of the second y axis and a y position of 0.5 + domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. yshift @@ -1404,7 +1404,7 @@ def __init__( like for "paper", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the - domain of the second x axis and a x position of 0.5 + domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. In order for absolute positioning of the arrow to work, "axref" must be @@ -1437,7 +1437,7 @@ def __init__( like for "paper", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the - domain of the second y axis and a y position of 0.5 + domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. In order for absolute positioning of the arrow to work, "ayref" must be @@ -1597,7 +1597,7 @@ def __init__( like for "paper", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the - domain of the second x axis and a x position of 0.5 + domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. xshift @@ -1639,7 +1639,7 @@ def __init__( like for "paper", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the - domain of the second y axis and a y position of 0.5 + domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. yshift diff --git a/plotly/graph_objs/layout/_coloraxis.py b/plotly/graph_objs/layout/_coloraxis.py index 0b4ec2edad6..d7266aa2f75 100644 --- a/plotly/graph_objs/layout/_coloraxis.py +++ b/plotly/graph_objs/layout/_coloraxis.py @@ -149,7 +149,7 @@ def colorscale(self): """ Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, - hsv, or named color string. At minimum, a mapping for the + hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. @@ -269,15 +269,15 @@ def _prop_descriptions(self): colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. reversescale Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and @@ -342,15 +342,15 @@ def __init__( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. reversescale Reverses the color mapping if true. If true, `cmin` will correspond to the last color in the array and diff --git a/plotly/graph_objs/layout/_geo.py b/plotly/graph_objs/layout/_geo.py index bee07ae6512..633644da29b 100644 --- a/plotly/graph_objs/layout/_geo.py +++ b/plotly/graph_objs/layout/_geo.py @@ -195,10 +195,11 @@ def fitbounds(self): `fitbounds` leads to `center.lon`, `center.lat`, `projection.rotation.lon`, `projection.rotation.lat`, `lonaxis.range` and `lataxis.range` getting auto-filled. If - "locations", only the trace's visible locations are considered - in the `fitbounds` computations. If "geojson", the entire trace - input `geojson` (if provided) is considered in the `fitbounds` - computations, Defaults to False. + "locations" (default), only the trace's visible locations are + considered in the `fitbounds` computations. If "geojson", the + entire trace input `geojson` (if provided) is considered in the + `fitbounds` computations. If False, the view settings are used + as-is; set this to opt out of auto-fitting. The 'fitbounds' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -709,11 +710,12 @@ def _prop_descriptions(self): `fitbounds` leads to `center.lon`, `center.lat`, `projection.rotation.lon`, `projection.rotation.lat`, `lonaxis.range` and `lataxis.range` getting auto- - filled. If "locations", only the trace's visible - locations are considered in the `fitbounds` + filled. If "locations" (default), only the trace's + visible locations are considered in the `fitbounds` computations. If "geojson", the entire trace input `geojson` (if provided) is considered in the - `fitbounds` computations, Defaults to False. + `fitbounds` computations. If False, the view settings + are used as-is; set this to opt out of auto-fitting. framecolor Sets the color the frame. framewidth @@ -845,11 +847,12 @@ def __init__( `fitbounds` leads to `center.lon`, `center.lat`, `projection.rotation.lon`, `projection.rotation.lat`, `lonaxis.range` and `lataxis.range` getting auto- - filled. If "locations", only the trace's visible - locations are considered in the `fitbounds` + filled. If "locations" (default), only the trace's + visible locations are considered in the `fitbounds` computations. If "geojson", the entire trace input `geojson` (if provided) is considered in the - `fitbounds` computations, Defaults to False. + `fitbounds` computations. If False, the view settings + are used as-is; set this to opt out of auto-fitting. framecolor Sets the color the frame. framewidth diff --git a/plotly/graph_objs/layout/_image.py b/plotly/graph_objs/layout/_image.py index 943ff247797..667121c1bb6 100644 --- a/plotly/graph_objs/layout/_image.py +++ b/plotly/graph_objs/layout/_image.py @@ -273,7 +273,7 @@ def xref(self): behaves like for "paper", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second - x axis and a x position of 0.5 refers to the point between the + x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. The 'xref' property is an enumeration that may be specified as: @@ -342,7 +342,7 @@ def yref(self): behaves like for "paper", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second - y axis and a y position of 0.5 refers to the point between the + y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. The 'yref' property is an enumeration that may be specified as: @@ -426,7 +426,7 @@ def _prop_descriptions(self): like for "paper", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the - domain of the second x axis and a x position of 0.5 + domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. y @@ -446,7 +446,7 @@ def _prop_descriptions(self): like for "paper", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the - domain of the second y axis and a y position of 0.5 + domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. """ @@ -541,7 +541,7 @@ def __init__( like for "paper", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the - domain of the second x axis and a x position of 0.5 + domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. y @@ -561,7 +561,7 @@ def __init__( like for "paper", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the - domain of the second y axis and a y position of 0.5 + domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. diff --git a/plotly/graph_objs/layout/_map.py b/plotly/graph_objs/layout/_map.py index f54257cd6fe..c9c9333512e 100644 --- a/plotly/graph_objs/layout/_map.py +++ b/plotly/graph_objs/layout/_map.py @@ -13,6 +13,7 @@ class Map(_BaseLayoutHierarchyType): "bounds", "center", "domain", + "fitbounds", "layerdefaults", "layers", "pitch", @@ -97,6 +98,30 @@ def domain(self): def domain(self, val): self["domain"] = val + @property + def fitbounds(self): + """ + Determines if this subplot's view settings are auto-computed to + fit trace data. If "locations" (default), the view is auto-fit + to the lon/lat coordinates of the visible trace data. If False, + the view settings are used as-is; set this to opt out of auto- + fitting. If `fitbounds` is enabled but a user provides `center` + or `zoom`, auto-fit will be skipped. + + The 'fitbounds' property is an enumeration that may be specified as: + - One of the following enumeration values: + [False, 'locations'] + + Returns + ------- + Any + """ + return self["fitbounds"] + + @fitbounds.setter + def fitbounds(self, val): + self["fitbounds"] = val + @property def layers(self): """ @@ -242,6 +267,14 @@ def _prop_descriptions(self): domain :class:`plotly.graph_objects.layout.map.Domain` instance or dict with compatible properties + fitbounds + Determines if this subplot's view settings are auto- + computed to fit trace data. If "locations" (default), + the view is auto-fit to the lon/lat coordinates of the + visible trace data. If False, the view settings are + used as-is; set this to opt out of auto-fitting. If + `fitbounds` is enabled but a user provides `center` or + `zoom`, auto-fit will be skipped. layers A tuple of :class:`plotly.graph_objects.layout.map.Layer` @@ -288,6 +321,7 @@ def __init__( bounds=None, center=None, domain=None, + fitbounds=None, layers=None, layerdefaults=None, pitch=None, @@ -316,6 +350,14 @@ def __init__( domain :class:`plotly.graph_objects.layout.map.Domain` instance or dict with compatible properties + fitbounds + Determines if this subplot's view settings are auto- + computed to fit trace data. If "locations" (default), + the view is auto-fit to the lon/lat coordinates of the + visible trace data. If False, the view settings are + used as-is; set this to opt out of auto-fitting. If + `fitbounds` is enabled but a user provides `center` or + `zoom`, auto-fit will be skipped. layers A tuple of :class:`plotly.graph_objects.layout.map.Layer` @@ -382,6 +424,7 @@ def __init__( self._set_property("bounds", arg, bounds) self._set_property("center", arg, center) self._set_property("domain", arg, domain) + self._set_property("fitbounds", arg, fitbounds) self._set_property("layers", arg, layers) self._set_property("layerdefaults", arg, layerdefaults) self._set_property("pitch", arg, pitch) diff --git a/plotly/graph_objs/layout/_mapbox.py b/plotly/graph_objs/layout/_mapbox.py deleted file mode 100644 index b0f5e4e4c3d..00000000000 --- a/plotly/graph_objs/layout/_mapbox.py +++ /dev/null @@ -1,452 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType -import copy as _copy - - -class Mapbox(_BaseLayoutHierarchyType): - _parent_path_str = "layout" - _path_str = "layout.mapbox" - _valid_props = { - "accesstoken", - "bearing", - "bounds", - "center", - "domain", - "layerdefaults", - "layers", - "pitch", - "style", - "uirevision", - "zoom", - } - - @property - def accesstoken(self): - """ - Sets the mapbox access token to be used for this mapbox map. - Alternatively, the mapbox access token can be set in the - configuration options under `mapboxAccessToken`. Note that - accessToken are only required when `style` (e.g with values : - basic, streets, outdoors, light, dark, satellite, satellite- - streets ) and/or a layout layer references the Mapbox server. - - The 'accesstoken' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["accesstoken"] - - @accesstoken.setter - def accesstoken(self, val): - self["accesstoken"] = val - - @property - def bearing(self): - """ - Sets the bearing angle of the map in degrees counter-clockwise - from North (mapbox.bearing). - - The 'bearing' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["bearing"] - - @bearing.setter - def bearing(self, val): - self["bearing"] = val - - @property - def bounds(self): - """ - The 'bounds' property is an instance of Bounds - that may be specified as: - - An instance of :class:`plotly.graph_objs.layout.mapbox.Bounds` - - A dict of string/value properties that will be passed - to the Bounds constructor - - Returns - ------- - plotly.graph_objs.layout.mapbox.Bounds - """ - return self["bounds"] - - @bounds.setter - def bounds(self, val): - self["bounds"] = val - - @property - def center(self): - """ - The 'center' property is an instance of Center - that may be specified as: - - An instance of :class:`plotly.graph_objs.layout.mapbox.Center` - - A dict of string/value properties that will be passed - to the Center constructor - - Returns - ------- - plotly.graph_objs.layout.mapbox.Center - """ - return self["center"] - - @center.setter - def center(self, val): - self["center"] = val - - @property - def domain(self): - """ - The 'domain' property is an instance of Domain - that may be specified as: - - An instance of :class:`plotly.graph_objs.layout.mapbox.Domain` - - A dict of string/value properties that will be passed - to the Domain constructor - - Returns - ------- - plotly.graph_objs.layout.mapbox.Domain - """ - return self["domain"] - - @domain.setter - def domain(self, val): - self["domain"] = val - - @property - def layers(self): - """ - The 'layers' property is a tuple of instances of - Layer that may be specified as: - - A list or tuple of instances of plotly.graph_objs.layout.mapbox.Layer - - A list or tuple of dicts of string/value properties that - will be passed to the Layer constructor - - Returns - ------- - tuple[plotly.graph_objs.layout.mapbox.Layer] - """ - return self["layers"] - - @layers.setter - def layers(self, val): - self["layers"] = val - - @property - def layerdefaults(self): - """ - When used in a template (as - layout.template.layout.mapbox.layerdefaults), sets the default - property values to use for elements of layout.mapbox.layers - - The 'layerdefaults' property is an instance of Layer - that may be specified as: - - An instance of :class:`plotly.graph_objs.layout.mapbox.Layer` - - A dict of string/value properties that will be passed - to the Layer constructor - - Returns - ------- - plotly.graph_objs.layout.mapbox.Layer - """ - return self["layerdefaults"] - - @layerdefaults.setter - def layerdefaults(self, val): - self["layerdefaults"] = val - - @property - def pitch(self): - """ - Sets the pitch angle of the map (in degrees, where 0 means - perpendicular to the surface of the map) (mapbox.pitch). - - The 'pitch' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["pitch"] - - @pitch.setter - def pitch(self, val): - self["pitch"] = val - - @property - def style(self): - """ - Defines the map layers that are rendered by default below the - trace layers defined in `data`, which are themselves by default - rendered below the layers defined in `layout.mapbox.layers`. - These layers can be defined either explicitly as a Mapbox Style - object which can contain multiple layer definitions that load - data from any public or private Tile Map Service (TMS or XYZ) - or Web Map Service (WMS) or implicitly by using one of the - built-in style objects which use WMSes which do not require any - access tokens, or by using a default Mapbox style or custom - Mapbox style URL, both of which require a Mapbox access token - Note that Mapbox access token can be set in the `accesstoken` - attribute or in the `mapboxAccessToken` config option. Mapbox - Style objects are of the form described in the Mapbox GL JS - documentation available at https://docs.mapbox.com/mapbox-gl- - js/style-spec The built-in plotly.js styles objects are: - carto-darkmatter, carto-positron, open-street-map, stamen- - terrain, stamen-toner, stamen-watercolor, white-bg The built- - in Mapbox styles are: basic, streets, outdoors, light, dark, - satellite, satellite-streets Mapbox style URLs are of the - form: mapbox://mapbox.mapbox-- - - The 'style' property accepts values of any type - - Returns - ------- - Any - """ - return self["style"] - - @style.setter - def style(self, val): - self["style"] = val - - @property - def uirevision(self): - """ - Controls persistence of user-driven changes in the view: - `center`, `zoom`, `bearing`, `pitch`. Defaults to - `layout.uirevision`. - - The 'uirevision' property accepts values of any type - - Returns - ------- - Any - """ - return self["uirevision"] - - @uirevision.setter - def uirevision(self, val): - self["uirevision"] = val - - @property - def zoom(self): - """ - Sets the zoom level of the map (mapbox.zoom). - - The 'zoom' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["zoom"] - - @zoom.setter - def zoom(self, val): - self["zoom"] = val - - @property - def _prop_descriptions(self): - return """\ - accesstoken - Sets the mapbox access token to be used for this mapbox - map. Alternatively, the mapbox access token can be set - in the configuration options under `mapboxAccessToken`. - Note that accessToken are only required when `style` - (e.g with values : basic, streets, outdoors, light, - dark, satellite, satellite-streets ) and/or a layout - layer references the Mapbox server. - bearing - Sets the bearing angle of the map in degrees counter- - clockwise from North (mapbox.bearing). - bounds - :class:`plotly.graph_objects.layout.mapbox.Bounds` - instance or dict with compatible properties - center - :class:`plotly.graph_objects.layout.mapbox.Center` - instance or dict with compatible properties - domain - :class:`plotly.graph_objects.layout.mapbox.Domain` - instance or dict with compatible properties - layers - A tuple of - :class:`plotly.graph_objects.layout.mapbox.Layer` - instances or dicts with compatible properties - layerdefaults - When used in a template (as - layout.template.layout.mapbox.layerdefaults), sets the - default property values to use for elements of - layout.mapbox.layers - pitch - Sets the pitch angle of the map (in degrees, where 0 - means perpendicular to the surface of the map) - (mapbox.pitch). - style - Defines the map layers that are rendered by default - below the trace layers defined in `data`, which are - themselves by default rendered below the layers defined - in `layout.mapbox.layers`. These layers can be defined - either explicitly as a Mapbox Style object which can - contain multiple layer definitions that load data from - any public or private Tile Map Service (TMS or XYZ) or - Web Map Service (WMS) or implicitly by using one of the - built-in style objects which use WMSes which do not - require any access tokens, or by using a default Mapbox - style or custom Mapbox style URL, both of which require - a Mapbox access token Note that Mapbox access token - can be set in the `accesstoken` attribute or in the - `mapboxAccessToken` config option. Mapbox Style - objects are of the form described in the Mapbox GL JS - documentation available at - https://docs.mapbox.com/mapbox-gl-js/style-spec The - built-in plotly.js styles objects are: carto- - darkmatter, carto-positron, open-street-map, stamen- - terrain, stamen-toner, stamen-watercolor, white-bg The - built-in Mapbox styles are: basic, streets, outdoors, - light, dark, satellite, satellite-streets Mapbox style - URLs are of the form: - mapbox://mapbox.mapbox-- - uirevision - Controls persistence of user-driven changes in the - view: `center`, `zoom`, `bearing`, `pitch`. Defaults to - `layout.uirevision`. - zoom - Sets the zoom level of the map (mapbox.zoom). - """ - - def __init__( - self, - arg=None, - accesstoken=None, - bearing=None, - bounds=None, - center=None, - domain=None, - layers=None, - layerdefaults=None, - pitch=None, - style=None, - uirevision=None, - zoom=None, - **kwargs, - ): - """ - Construct a new Mapbox object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.layout.Mapbox` - accesstoken - Sets the mapbox access token to be used for this mapbox - map. Alternatively, the mapbox access token can be set - in the configuration options under `mapboxAccessToken`. - Note that accessToken are only required when `style` - (e.g with values : basic, streets, outdoors, light, - dark, satellite, satellite-streets ) and/or a layout - layer references the Mapbox server. - bearing - Sets the bearing angle of the map in degrees counter- - clockwise from North (mapbox.bearing). - bounds - :class:`plotly.graph_objects.layout.mapbox.Bounds` - instance or dict with compatible properties - center - :class:`plotly.graph_objects.layout.mapbox.Center` - instance or dict with compatible properties - domain - :class:`plotly.graph_objects.layout.mapbox.Domain` - instance or dict with compatible properties - layers - A tuple of - :class:`plotly.graph_objects.layout.mapbox.Layer` - instances or dicts with compatible properties - layerdefaults - When used in a template (as - layout.template.layout.mapbox.layerdefaults), sets the - default property values to use for elements of - layout.mapbox.layers - pitch - Sets the pitch angle of the map (in degrees, where 0 - means perpendicular to the surface of the map) - (mapbox.pitch). - style - Defines the map layers that are rendered by default - below the trace layers defined in `data`, which are - themselves by default rendered below the layers defined - in `layout.mapbox.layers`. These layers can be defined - either explicitly as a Mapbox Style object which can - contain multiple layer definitions that load data from - any public or private Tile Map Service (TMS or XYZ) or - Web Map Service (WMS) or implicitly by using one of the - built-in style objects which use WMSes which do not - require any access tokens, or by using a default Mapbox - style or custom Mapbox style URL, both of which require - a Mapbox access token Note that Mapbox access token - can be set in the `accesstoken` attribute or in the - `mapboxAccessToken` config option. Mapbox Style - objects are of the form described in the Mapbox GL JS - documentation available at - https://docs.mapbox.com/mapbox-gl-js/style-spec The - built-in plotly.js styles objects are: carto- - darkmatter, carto-positron, open-street-map, stamen- - terrain, stamen-toner, stamen-watercolor, white-bg The - built-in Mapbox styles are: basic, streets, outdoors, - light, dark, satellite, satellite-streets Mapbox style - URLs are of the form: - mapbox://mapbox.mapbox-- - uirevision - Controls persistence of user-driven changes in the - view: `center`, `zoom`, `bearing`, `pitch`. Defaults to - `layout.uirevision`. - zoom - Sets the zoom level of the map (mapbox.zoom). - - Returns - ------- - Mapbox - """ - super().__init__("mapbox") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.layout.Mapbox -constructor must be a dict or -an instance of :class:`plotly.graph_objs.layout.Mapbox`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("accesstoken", arg, accesstoken) - self._set_property("bearing", arg, bearing) - self._set_property("bounds", arg, bounds) - self._set_property("center", arg, center) - self._set_property("domain", arg, domain) - self._set_property("layers", arg, layers) - self._set_property("layerdefaults", arg, layerdefaults) - self._set_property("pitch", arg, pitch) - self._set_property("style", arg, style) - self._set_property("uirevision", arg, uirevision) - self._set_property("zoom", arg, zoom) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/layout/_modebar.py b/plotly/graph_objs/layout/_modebar.py index 34b9180f290..2924d83b7bc 100644 --- a/plotly/graph_objs/layout/_modebar.py +++ b/plotly/graph_objs/layout/_modebar.py @@ -11,12 +11,10 @@ class Modebar(_BaseLayoutHierarchyType): _valid_props = { "activecolor", "add", - "addsrc", "bgcolor", "color", "orientation", "remove", - "removesrc", "uirevision", } @@ -69,24 +67,6 @@ def add(self): def add(self, val): self["add"] = val - @property - def addsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `add`. - - The 'addsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["addsrc"] - - @addsrc.setter - def addsrc(self, val): - self["addsrc"] = val - @property def bgcolor(self): """ @@ -155,20 +135,19 @@ def remove(self): """ Determines which predefined modebar buttons to remove. Similar to `config.modeBarButtonsToRemove` option. This may include - "autoScale2d", "autoscale", "editInChartStudio", - "editinchartstudio", "hoverCompareCartesian", "hovercompare", - "lasso", "lasso2d", "orbitRotation", "orbitrotation", "pan", - "pan2d", "pan3d", "reset", "resetCameraDefault3d", - "resetCameraLastSave3d", "resetGeo", "resetSankeyGroup", - "resetScale2d", "resetViewMap", "resetViewMapbox", + "autoScale2d", "autoscale", "hoverCompareCartesian", + "hovercompare", "lasso", "lasso2d", "orbitRotation", + "orbitrotation", "pan", "pan2d", "pan3d", "reset", + "resetCameraDefault3d", "resetCameraLastSave3d", "resetGeo", + "resetSankeyGroup", "resetScale2d", "resetViewMap", "resetViews", "resetcameradefault", "resetcameralastsave", "resetsankeygroup", "resetscale", "resetview", "resetviews", - "select", "select2d", "sendDataToCloud", "senddatatocloud", + "select", "select2d", "sendChartToCloud", "sendcharttocloud", "tableRotation", "tablerotation", "toImage", "toggleHover", "toggleSpikelines", "togglehover", "togglespikelines", "toimage", "zoom", "zoom2d", "zoom3d", "zoomIn2d", "zoomInGeo", - "zoomInMap", "zoomInMapbox", "zoomOut2d", "zoomOutGeo", - "zoomOutMap", "zoomOutMapbox", "zoomin", "zoomout". + "zoomInMap", "zoomOut2d", "zoomOutGeo", "zoomOutMap", "zoomin", + "zoomout". The 'remove' property is a string and must be specified as: - A string @@ -185,24 +164,6 @@ def remove(self): def remove(self, val): self["remove"] = val - @property - def removesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `remove`. - - The 'removesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["removesrc"] - - @removesrc.setter - def removesrc(self, val): - self["removesrc"] = val - @property def uirevision(self): """ @@ -238,9 +199,6 @@ def _prop_descriptions(self): "hovercompare", "togglehover", "togglespikelines", "drawline", "drawopenpath", "drawclosedpath", "drawcircle", "drawrect", "eraseshape". - addsrc - Sets the source reference on Chart Studio Cloud for - `add`. bgcolor Sets the background color of the modebar. color @@ -251,25 +209,21 @@ def _prop_descriptions(self): Determines which predefined modebar buttons to remove. Similar to `config.modeBarButtonsToRemove` option. This may include "autoScale2d", "autoscale", - "editInChartStudio", "editinchartstudio", "hoverCompareCartesian", "hovercompare", "lasso", "lasso2d", "orbitRotation", "orbitrotation", "pan", "pan2d", "pan3d", "reset", "resetCameraDefault3d", "resetCameraLastSave3d", "resetGeo", "resetSankeyGroup", "resetScale2d", "resetViewMap", - "resetViewMapbox", "resetViews", "resetcameradefault", + "resetViews", "resetcameradefault", "resetcameralastsave", "resetsankeygroup", "resetscale", "resetview", "resetviews", "select", - "select2d", "sendDataToCloud", "senddatatocloud", + "select2d", "sendChartToCloud", "sendcharttocloud", "tableRotation", "tablerotation", "toImage", "toggleHover", "toggleSpikelines", "togglehover", "togglespikelines", "toimage", "zoom", "zoom2d", "zoom3d", "zoomIn2d", "zoomInGeo", "zoomInMap", - "zoomInMapbox", "zoomOut2d", "zoomOutGeo", - "zoomOutMap", "zoomOutMapbox", "zoomin", "zoomout". - removesrc - Sets the source reference on Chart Studio Cloud for - `remove`. + "zoomOut2d", "zoomOutGeo", "zoomOutMap", "zoomin", + "zoomout". uirevision Controls persistence of user-driven changes related to the modebar, including `hovermode`, `dragmode`, and @@ -282,12 +236,10 @@ def __init__( arg=None, activecolor=None, add=None, - addsrc=None, bgcolor=None, color=None, orientation=None, remove=None, - removesrc=None, uirevision=None, **kwargs, ): @@ -312,9 +264,6 @@ def __init__( "hovercompare", "togglehover", "togglespikelines", "drawline", "drawopenpath", "drawclosedpath", "drawcircle", "drawrect", "eraseshape". - addsrc - Sets the source reference on Chart Studio Cloud for - `add`. bgcolor Sets the background color of the modebar. color @@ -325,25 +274,21 @@ def __init__( Determines which predefined modebar buttons to remove. Similar to `config.modeBarButtonsToRemove` option. This may include "autoScale2d", "autoscale", - "editInChartStudio", "editinchartstudio", "hoverCompareCartesian", "hovercompare", "lasso", "lasso2d", "orbitRotation", "orbitrotation", "pan", "pan2d", "pan3d", "reset", "resetCameraDefault3d", "resetCameraLastSave3d", "resetGeo", "resetSankeyGroup", "resetScale2d", "resetViewMap", - "resetViewMapbox", "resetViews", "resetcameradefault", + "resetViews", "resetcameradefault", "resetcameralastsave", "resetsankeygroup", "resetscale", "resetview", "resetviews", "select", - "select2d", "sendDataToCloud", "senddatatocloud", + "select2d", "sendChartToCloud", "sendcharttocloud", "tableRotation", "tablerotation", "toImage", "toggleHover", "toggleSpikelines", "togglehover", "togglespikelines", "toimage", "zoom", "zoom2d", "zoom3d", "zoomIn2d", "zoomInGeo", "zoomInMap", - "zoomInMapbox", "zoomOut2d", "zoomOutGeo", - "zoomOutMap", "zoomOutMapbox", "zoomin", "zoomout". - removesrc - Sets the source reference on Chart Studio Cloud for - `remove`. + "zoomOut2d", "zoomOutGeo", "zoomOutMap", "zoomin", + "zoomout". uirevision Controls persistence of user-driven changes related to the modebar, including `hovermode`, `dragmode`, and @@ -376,12 +321,10 @@ def __init__( self._set_property("activecolor", arg, activecolor) self._set_property("add", arg, add) - self._set_property("addsrc", arg, addsrc) self._set_property("bgcolor", arg, bgcolor) self._set_property("color", arg, color) self._set_property("orientation", arg, orientation) self._set_property("remove", arg, remove) - self._set_property("removesrc", arg, removesrc) self._set_property("uirevision", arg, uirevision) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/layout/_selection.py b/plotly/graph_objs/layout/_selection.py index 3ebf7419c32..a5ac1788bfb 100644 --- a/plotly/graph_objs/layout/_selection.py +++ b/plotly/graph_objs/layout/_selection.py @@ -199,7 +199,7 @@ def xref(self): behaves like for "paper", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the domain of the second - x axis and a x position of 0.5 refers to the point between the + x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. The 'xref' property is an enumeration that may be specified as: @@ -264,7 +264,7 @@ def yref(self): behaves like for "paper", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second - y axis and a y position of 0.5 refers to the point between the + y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. The 'yref' property is an enumeration that may be specified as: @@ -334,7 +334,7 @@ def _prop_descriptions(self): like for "paper", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the - domain of the second x axis and a x position of 0.5 + domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. y0 @@ -352,7 +352,7 @@ def _prop_descriptions(self): like for "paper", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the - domain of the second y axis and a y position of 0.5 + domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. """ @@ -431,7 +431,7 @@ def __init__( like for "paper", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the - domain of the second x axis and a x position of 0.5 + domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. y0 @@ -449,7 +449,7 @@ def __init__( like for "paper", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the - domain of the second y axis and a y position of 0.5 + domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. diff --git a/plotly/graph_objs/layout/_shape.py b/plotly/graph_objs/layout/_shape.py index 3426d79f3ec..7f7bf288c27 100644 --- a/plotly/graph_objs/layout/_shape.py +++ b/plotly/graph_objs/layout/_shape.py @@ -33,7 +33,6 @@ class Shape(_BaseLayoutHierarchyType): "x1shift", "xanchor", "xref", - "xrefsrc", "xsizemode", "y0", "y0shift", @@ -41,7 +40,6 @@ class Shape(_BaseLayoutHierarchyType): "y1shift", "yanchor", "yref", - "yrefsrc", "ysizemode", } @@ -558,7 +556,7 @@ def xref(self): by "domain" (separated by a space), the position behaves like for "paper", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., - *x2 domain* refers to the domain of the second x axis and a x + *x2 domain* refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. If an array of axis IDs is provided, each `x` value will refer to the corresponding @@ -584,24 +582,6 @@ def xref(self): def xref(self, val): self["xref"] = val - @property - def xrefsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `xref`. - - The 'xrefsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xrefsrc"] - - @xrefsrc.setter - def xrefsrc(self, val): - self["xrefsrc"] = val - @property def xsizemode(self): """ @@ -740,7 +720,7 @@ def yref(self): behaves like for "paper", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the domain of the second - y axis and a y position of 0.5 refers to the point between the + y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. If an array of axis IDs is provided, each `y` value will refer to the corresponding axis, e.g., ['y', 'y2'] for a rectangle, line, or @@ -765,24 +745,6 @@ def yref(self): def yref(self, val): self["yref"] = val - @property - def yrefsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `yref`. - - The 'yrefsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["yrefsrc"] - - @yrefsrc.setter - def yrefsrc(self, val): - self["yrefsrc"] = val - @property def ysizemode(self): """ @@ -961,7 +923,7 @@ def _prop_descriptions(self): like for "paper", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the - domain of the second x axis and a x position of 0.5 + domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. If an array of axis IDs is provided, each `x` value will refer to the @@ -969,9 +931,6 @@ def _prop_descriptions(self): line, or circle means `x0` uses the `x` axis and `x1` uses the `x2` axis. Path shapes using an array should have one entry for each x coordinate in the string. - xrefsrc - Sets the source reference on Chart Studio Cloud for - `xref`. xsizemode Sets the shapes's sizing mode along the x axis. If set to "scaled", `x0`, `x1` and x coordinates within `path` @@ -1018,7 +977,7 @@ def _prop_descriptions(self): like for "paper", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the - domain of the second y axis and a y position of 0.5 + domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. If an array of axis IDs is provided, each `y` value will refer to the @@ -1026,9 +985,6 @@ def _prop_descriptions(self): line, or circle means `y0` uses the `y` axis and `y1` uses the `y2` axis. Path shapes using an array should have one entry for each y coordinate in the string. - yrefsrc - Sets the source reference on Chart Studio Cloud for - `yref`. ysizemode Sets the shapes's sizing mode along the y axis. If set to "scaled", `y0`, `y1` and y coordinates within `path` @@ -1070,7 +1026,6 @@ def __init__( x1shift=None, xanchor=None, xref=None, - xrefsrc=None, xsizemode=None, y0=None, y0shift=None, @@ -1078,7 +1033,6 @@ def __init__( y1shift=None, yanchor=None, yref=None, - yrefsrc=None, ysizemode=None, **kwargs, ): @@ -1238,7 +1192,7 @@ def __init__( like for "paper", but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., *x2 domain* refers to the - domain of the second x axis and a x position of 0.5 + domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis. If an array of axis IDs is provided, each `x` value will refer to the @@ -1246,9 +1200,6 @@ def __init__( line, or circle means `x0` uses the `x` axis and `x1` uses the `x2` axis. Path shapes using an array should have one entry for each x coordinate in the string. - xrefsrc - Sets the source reference on Chart Studio Cloud for - `xref`. xsizemode Sets the shapes's sizing mode along the x axis. If set to "scaled", `x0`, `x1` and x coordinates within `path` @@ -1295,7 +1246,7 @@ def __init__( like for "paper", but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., *y2 domain* refers to the - domain of the second y axis and a y position of 0.5 + domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis. If an array of axis IDs is provided, each `y` value will refer to the @@ -1303,9 +1254,6 @@ def __init__( line, or circle means `y0` uses the `y` axis and `y1` uses the `y2` axis. Path shapes using an array should have one entry for each y coordinate in the string. - yrefsrc - Sets the source reference on Chart Studio Cloud for - `yref`. ysizemode Sets the shapes's sizing mode along the y axis. If set to "scaled", `y0`, `y1` and y coordinates within `path` @@ -1367,7 +1315,6 @@ def __init__( self._set_property("x1shift", arg, x1shift) self._set_property("xanchor", arg, xanchor) self._set_property("xref", arg, xref) - self._set_property("xrefsrc", arg, xrefsrc) self._set_property("xsizemode", arg, xsizemode) self._set_property("y0", arg, y0) self._set_property("y0shift", arg, y0shift) @@ -1375,7 +1322,6 @@ def __init__( self._set_property("y1shift", arg, y1shift) self._set_property("yanchor", arg, yanchor) self._set_property("yref", arg, yref) - self._set_property("yrefsrc", arg, yrefsrc) self._set_property("ysizemode", arg, ysizemode) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/layout/_xaxis.py b/plotly/graph_objs/layout/_xaxis.py index e04ba73306e..31b0f00192c 100644 --- a/plotly/graph_objs/layout/_xaxis.py +++ b/plotly/graph_objs/layout/_xaxis.py @@ -17,7 +17,6 @@ class XAxis(_BaseLayoutHierarchyType): "autotypenumbers", "calendar", "categoryarray", - "categoryarraysrc", "categoryorder", "color", "constrain", @@ -79,7 +78,6 @@ class XAxis(_BaseLayoutHierarchyType): "tickformatstopdefaults", "tickformatstops", "ticklabelindex", - "ticklabelindexsrc", "ticklabelmode", "ticklabeloverflow", "ticklabelposition", @@ -93,9 +91,7 @@ class XAxis(_BaseLayoutHierarchyType): "tickson", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "type", @@ -293,25 +289,6 @@ def categoryarray(self): def categoryarray(self, val): self["categoryarray"] = val - @property - def categoryarraysrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `categoryarray`. - - The 'categoryarraysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["categoryarraysrc"] - - @categoryarraysrc.setter - def categoryarraysrc(self, val): - self["categoryarraysrc"] = val - @property def categoryorder(self): """ @@ -1457,7 +1434,7 @@ def spikedash(self, val): def spikemode(self): """ Determines the drawing mode for the spike line If "toaxis", the - line is drawn from the data point to the axis the series is + line is drawn from the data point to the axis the series is plotted on. If "across", the line is drawn across the entire plot area, and supercedes "toaxis". If "marker", then a marker dot is drawn on the axis the series is plotted on @@ -1702,25 +1679,6 @@ def ticklabelindex(self): def ticklabelindex(self, val): self["ticklabelindex"] = val - @property - def ticklabelindexsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `ticklabelindex`. - - The 'ticklabelindexsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticklabelindexsrc"] - - @ticklabelindexsrc.setter - def ticklabelindexsrc(self, val): - self["ticklabelindexsrc"] = val - @property def ticklabelmode(self): """ @@ -1894,7 +1852,9 @@ def tickmode(self): is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided). If "sync", the number of ticks will sync with the overlayed axis set by - `overlaying` property. + `overlaying` property. When no other tick info is provided, + overlaying (non-categorical) axes default to "sync", while + other axes default to "auto". The 'tickmode' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -2012,24 +1972,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -2049,24 +1991,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -2313,9 +2237,6 @@ def _prop_descriptions(self): Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to "array". Used with `categoryorder`. - categoryarraysrc - Sets the source reference on Chart Studio Cloud for - `categoryarray`. categoryorder Specifies the ordering logic for the case of categorical variables. By default, plotly uses "trace", @@ -2617,8 +2538,8 @@ def _prop_descriptions(self): spikemode Determines the drawing mode for the spike line If "toaxis", the line is drawn from the data point to the - axis the series is plotted on. If "across", the line - is drawn across the entire plot area, and supercedes + axis the series is plotted on. If "across", the line is + drawn across the entire plot area, and supercedes "toaxis". If "marker", then a marker dot is drawn on the axis the series is plotted on spikesnap @@ -2676,9 +2597,6 @@ def _prop_descriptions(self): "period" if you want to label the period that ends with each major tick instead of the period that begins there. - ticklabelindexsrc - Sets the source reference on Chart Studio Cloud for - `ticklabelindex`. ticklabelmode Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an @@ -2738,7 +2656,10 @@ def _prop_descriptions(self): `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided). If "sync", the number of ticks will sync with the - overlayed axis set by `overlaying` property. + overlayed axis set by `overlaying` property. When no + other tick info is provided, overlaying (non- + categorical) axes default to "sync", while other axes + default to "auto". tickprefix Sets a tick label prefix. ticks @@ -2758,16 +2679,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -2817,7 +2732,6 @@ def __init__( autotypenumbers=None, calendar=None, categoryarray=None, - categoryarraysrc=None, categoryorder=None, color=None, constrain=None, @@ -2879,7 +2793,6 @@ def __init__( tickformatstops=None, tickformatstopdefaults=None, ticklabelindex=None, - ticklabelindexsrc=None, ticklabelmode=None, ticklabeloverflow=None, ticklabelposition=None, @@ -2893,9 +2806,7 @@ def __init__( tickson=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, type=None, @@ -2958,9 +2869,6 @@ def __init__( Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to "array". Used with `categoryorder`. - categoryarraysrc - Sets the source reference on Chart Studio Cloud for - `categoryarray`. categoryorder Specifies the ordering logic for the case of categorical variables. By default, plotly uses "trace", @@ -3262,8 +3170,8 @@ def __init__( spikemode Determines the drawing mode for the spike line If "toaxis", the line is drawn from the data point to the - axis the series is plotted on. If "across", the line - is drawn across the entire plot area, and supercedes + axis the series is plotted on. If "across", the line is + drawn across the entire plot area, and supercedes "toaxis". If "marker", then a marker dot is drawn on the axis the series is plotted on spikesnap @@ -3321,9 +3229,6 @@ def __init__( "period" if you want to label the period that ends with each major tick instead of the period that begins there. - ticklabelindexsrc - Sets the source reference on Chart Studio Cloud for - `ticklabelindex`. ticklabelmode Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an @@ -3383,7 +3288,10 @@ def __init__( `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided). If "sync", the number of ticks will sync with the - overlayed axis set by `overlaying` property. + overlayed axis set by `overlaying` property. When no + other tick info is provided, overlaying (non- + categorical) axes default to "sync", while other axes + default to "auto". tickprefix Sets a tick label prefix. ticks @@ -3403,16 +3311,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -3482,7 +3384,6 @@ def __init__( self._set_property("autotypenumbers", arg, autotypenumbers) self._set_property("calendar", arg, calendar) self._set_property("categoryarray", arg, categoryarray) - self._set_property("categoryarraysrc", arg, categoryarraysrc) self._set_property("categoryorder", arg, categoryorder) self._set_property("color", arg, color) self._set_property("constrain", arg, constrain) @@ -3544,7 +3445,6 @@ def __init__( self._set_property("tickformatstops", arg, tickformatstops) self._set_property("tickformatstopdefaults", arg, tickformatstopdefaults) self._set_property("ticklabelindex", arg, ticklabelindex) - self._set_property("ticklabelindexsrc", arg, ticklabelindexsrc) self._set_property("ticklabelmode", arg, ticklabelmode) self._set_property("ticklabeloverflow", arg, ticklabeloverflow) self._set_property("ticklabelposition", arg, ticklabelposition) @@ -3558,9 +3458,7 @@ def __init__( self._set_property("tickson", arg, tickson) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("type", arg, type) diff --git a/plotly/graph_objs/layout/_yaxis.py b/plotly/graph_objs/layout/_yaxis.py index 2d2a094ad2e..8d3a9b9df6a 100644 --- a/plotly/graph_objs/layout/_yaxis.py +++ b/plotly/graph_objs/layout/_yaxis.py @@ -18,7 +18,6 @@ class YAxis(_BaseLayoutHierarchyType): "autotypenumbers", "calendar", "categoryarray", - "categoryarraysrc", "categoryorder", "color", "constrain", @@ -79,7 +78,6 @@ class YAxis(_BaseLayoutHierarchyType): "tickformatstopdefaults", "tickformatstops", "ticklabelindex", - "ticklabelindexsrc", "ticklabelmode", "ticklabeloverflow", "ticklabelposition", @@ -93,9 +91,7 @@ class YAxis(_BaseLayoutHierarchyType): "tickson", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "type", @@ -315,25 +311,6 @@ def categoryarray(self): def categoryarray(self, val): self["categoryarray"] = val - @property - def categoryarraysrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `categoryarray`. - - The 'categoryarraysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["categoryarraysrc"] - - @categoryarraysrc.setter - def categoryarraysrc(self, val): - self["categoryarraysrc"] = val - @property def categoryorder(self): """ @@ -1465,7 +1442,7 @@ def spikedash(self, val): def spikemode(self): """ Determines the drawing mode for the spike line If "toaxis", the - line is drawn from the data point to the axis the series is + line is drawn from the data point to the axis the series is plotted on. If "across", the line is drawn across the entire plot area, and supercedes "toaxis". If "marker", then a marker dot is drawn on the axis the series is plotted on @@ -1710,25 +1687,6 @@ def ticklabelindex(self): def ticklabelindex(self, val): self["ticklabelindex"] = val - @property - def ticklabelindexsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `ticklabelindex`. - - The 'ticklabelindexsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticklabelindexsrc"] - - @ticklabelindexsrc.setter - def ticklabelindexsrc(self, val): - self["ticklabelindexsrc"] = val - @property def ticklabelmode(self): """ @@ -1902,7 +1860,9 @@ def tickmode(self): is set via `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided). If "sync", the number of ticks will sync with the overlayed axis set by - `overlaying` property. + `overlaying` property. When no other tick info is provided, + overlaying (non-categorical) axes default to "sync", while + other axes default to "auto". The 'tickmode' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -2020,24 +1980,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -2057,24 +1999,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -2328,9 +2252,6 @@ def _prop_descriptions(self): Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to "array". Used with `categoryorder`. - categoryarraysrc - Sets the source reference on Chart Studio Cloud for - `categoryarray`. categoryorder Specifies the ordering logic for the case of categorical variables. By default, plotly uses "trace", @@ -2635,8 +2556,8 @@ def _prop_descriptions(self): spikemode Determines the drawing mode for the spike line If "toaxis", the line is drawn from the data point to the - axis the series is plotted on. If "across", the line - is drawn across the entire plot area, and supercedes + axis the series is plotted on. If "across", the line is + drawn across the entire plot area, and supercedes "toaxis". If "marker", then a marker dot is drawn on the axis the series is plotted on spikesnap @@ -2694,9 +2615,6 @@ def _prop_descriptions(self): "period" if you want to label the period that ends with each major tick instead of the period that begins there. - ticklabelindexsrc - Sets the source reference on Chart Studio Cloud for - `ticklabelindex`. ticklabelmode Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an @@ -2756,7 +2674,10 @@ def _prop_descriptions(self): `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided). If "sync", the number of ticks will sync with the - overlayed axis set by `overlaying` property. + overlayed axis set by `overlaying` property. When no + other tick info is provided, overlaying (non- + categorical) axes default to "sync", while other axes + default to "auto". tickprefix Sets a tick label prefix. ticks @@ -2776,16 +2697,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -2836,7 +2751,6 @@ def __init__( autotypenumbers=None, calendar=None, categoryarray=None, - categoryarraysrc=None, categoryorder=None, color=None, constrain=None, @@ -2897,7 +2811,6 @@ def __init__( tickformatstops=None, tickformatstopdefaults=None, ticklabelindex=None, - ticklabelindexsrc=None, ticklabelmode=None, ticklabeloverflow=None, ticklabelposition=None, @@ -2911,9 +2824,7 @@ def __init__( tickson=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, type=None, @@ -2983,9 +2894,6 @@ def __init__( Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to "array". Used with `categoryorder`. - categoryarraysrc - Sets the source reference on Chart Studio Cloud for - `categoryarray`. categoryorder Specifies the ordering logic for the case of categorical variables. By default, plotly uses "trace", @@ -3290,8 +3198,8 @@ def __init__( spikemode Determines the drawing mode for the spike line If "toaxis", the line is drawn from the data point to the - axis the series is plotted on. If "across", the line - is drawn across the entire plot area, and supercedes + axis the series is plotted on. If "across", the line is + drawn across the entire plot area, and supercedes "toaxis". If "marker", then a marker dot is drawn on the axis the series is plotted on spikesnap @@ -3349,9 +3257,6 @@ def __init__( "period" if you want to label the period that ends with each major tick instead of the period that begins there. - ticklabelindexsrc - Sets the source reference on Chart Studio Cloud for - `ticklabelindex`. ticklabelmode Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an @@ -3411,7 +3316,10 @@ def __init__( `tickvals` and the tick text is `ticktext`. ("array" is the default value if `tickvals` is provided). If "sync", the number of ticks will sync with the - overlayed axis set by `overlaying` property. + overlayed axis set by `overlaying` property. When no + other tick info is provided, overlaying (non- + categorical) axes default to "sync", while other axes + default to "auto". tickprefix Sets a tick label prefix. ticks @@ -3431,16 +3339,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -3511,7 +3413,6 @@ def __init__( self._set_property("autotypenumbers", arg, autotypenumbers) self._set_property("calendar", arg, calendar) self._set_property("categoryarray", arg, categoryarray) - self._set_property("categoryarraysrc", arg, categoryarraysrc) self._set_property("categoryorder", arg, categoryorder) self._set_property("color", arg, color) self._set_property("constrain", arg, constrain) @@ -3572,7 +3473,6 @@ def __init__( self._set_property("tickformatstops", arg, tickformatstops) self._set_property("tickformatstopdefaults", arg, tickformatstopdefaults) self._set_property("ticklabelindex", arg, ticklabelindex) - self._set_property("ticklabelindexsrc", arg, ticklabelindexsrc) self._set_property("ticklabelmode", arg, ticklabelmode) self._set_property("ticklabeloverflow", arg, ticklabeloverflow) self._set_property("ticklabelposition", arg, ticklabelposition) @@ -3586,9 +3486,7 @@ def __init__( self._set_property("tickson", arg, tickson) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("type", arg, type) diff --git a/plotly/graph_objs/layout/coloraxis/_colorbar.py b/plotly/graph_objs/layout/coloraxis/_colorbar.py index bda8c40be85..8c3767800d5 100644 --- a/plotly/graph_objs/layout/coloraxis/_colorbar.py +++ b/plotly/graph_objs/layout/coloraxis/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseLayoutHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/layout/coloraxis/colorbar/_title.py b/plotly/graph_objs/layout/coloraxis/colorbar/_title.py index 3f906c72dc3..e7d9a86f754 100644 --- a/plotly/graph_objs/layout/coloraxis/colorbar/_title.py +++ b/plotly/graph_objs/layout/coloraxis/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/layout/geo/_domain.py b/plotly/graph_objs/layout/geo/_domain.py index baafe790617..01da25396dd 100644 --- a/plotly/graph_objs/layout/geo/_domain.py +++ b/plotly/graph_objs/layout/geo/_domain.py @@ -14,7 +14,7 @@ class Domain(_BaseLayoutHierarchyType): def column(self): """ If there is a layout grid, use the domain for this column in - the grid for this geo subplot . Note that geo subplots are + the grid for this geo subplot. Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both. @@ -37,7 +37,7 @@ def column(self, val): def row(self): """ If there is a layout grid, use the domain for this row in the - grid for this geo subplot . Note that geo subplots are + grid for this geo subplot. Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both. @@ -113,13 +113,13 @@ def _prop_descriptions(self): return """\ column If there is a layout grid, use the domain for this - column in the grid for this geo subplot . Note that geo + column in the grid for this geo subplot. Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both. row If there is a layout grid, use the domain for this row - in the grid for this geo subplot . Note that geo + in the grid for this geo subplot. Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both. @@ -149,13 +149,13 @@ def __init__(self, arg=None, column=None, row=None, x=None, y=None, **kwargs): :class:`plotly.graph_objs.layout.geo.Domain` column If there is a layout grid, use the domain for this - column in the grid for this geo subplot . Note that geo + column in the grid for this geo subplot. Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both. row If there is a layout grid, use the domain for this row - in the grid for this geo subplot . Note that geo + in the grid for this geo subplot. Note that geo subplots are constrained by domain. In general, when `projection.scale` is set to 1. a map will fit either its x or y domain, but not both. diff --git a/plotly/graph_objs/layout/geo/_projection.py b/plotly/graph_objs/layout/geo/_projection.py index fb8a53981be..1e402a4d4af 100644 --- a/plotly/graph_objs/layout/geo/_projection.py +++ b/plotly/graph_objs/layout/geo/_projection.py @@ -8,7 +8,16 @@ class Projection(_BaseLayoutHierarchyType): _parent_path_str = "layout.geo" _path_str = "layout.geo.projection" - _valid_props = {"distance", "parallels", "rotation", "scale", "tilt", "type"} + _valid_props = { + "distance", + "maxscale", + "minscale", + "parallels", + "rotation", + "scale", + "tilt", + "type", + } @property def distance(self): @@ -30,6 +39,50 @@ def distance(self): def distance(self, val): self["distance"] = val + @property + def maxscale(self): + """ + Sets the maximum zoom level of the map view, relative to + `projection.scale`. A `maxscale` of 2 (200%) prevents the user + from zooming in beyond twice the base zoom level. Must be + greater than or equal to *0*; has no upper bound. Defaults to + "null" for no upper bound on zoom. + + The 'maxscale' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["maxscale"] + + @maxscale.setter + def maxscale(self, val): + self["maxscale"] = val + + @property + def minscale(self): + """ + Sets the minimum zoom level of the map view, relative to + `projection.scale`. A `minscale` of 0.5 (50%) prevents the user + from zooming out beyond half the base zoom level. Must be + greater than or equal to *0*; has no upper bound. The default + of 0 imposes no lower bound on zoom. + + The 'minscale' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["minscale"] + + @minscale.setter + def minscale(self, val): + self["minscale"] = val + @property def parallels(self): """ @@ -160,6 +213,20 @@ def _prop_descriptions(self): For satellite projection type only. Sets the distance from the center of the sphere to the point of view as a proportion of the sphere’s radius. + maxscale + Sets the maximum zoom level of the map view, relative + to `projection.scale`. A `maxscale` of 2 (200%) + prevents the user from zooming in beyond twice the base + zoom level. Must be greater than or equal to *0*; has + no upper bound. Defaults to "null" for no upper bound + on zoom. + minscale + Sets the minimum zoom level of the map view, relative + to `projection.scale`. A `minscale` of 0.5 (50%) + prevents the user from zooming out beyond half the base + zoom level. Must be greater than or equal to *0*; has + no upper bound. The default of 0 imposes no lower bound + on zoom. parallels For conic projection types only. Sets the parallels (tangent, secant) where the cone intersects the sphere. @@ -181,6 +248,8 @@ def __init__( self, arg=None, distance=None, + maxscale=None, + minscale=None, parallels=None, rotation=None, scale=None, @@ -201,6 +270,20 @@ def __init__( For satellite projection type only. Sets the distance from the center of the sphere to the point of view as a proportion of the sphere’s radius. + maxscale + Sets the maximum zoom level of the map view, relative + to `projection.scale`. A `maxscale` of 2 (200%) + prevents the user from zooming in beyond twice the base + zoom level. Must be greater than or equal to *0*; has + no upper bound. Defaults to "null" for no upper bound + on zoom. + minscale + Sets the minimum zoom level of the map view, relative + to `projection.scale`. A `minscale` of 0.5 (50%) + prevents the user from zooming out beyond half the base + zoom level. Must be greater than or equal to *0*; has + no upper bound. The default of 0 imposes no lower bound + on zoom. parallels For conic projection types only. Sets the parallels (tangent, secant) where the cone intersects the sphere. @@ -242,6 +325,8 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("distance", arg, distance) + self._set_property("maxscale", arg, maxscale) + self._set_property("minscale", arg, minscale) self._set_property("parallels", arg, parallels) self._set_property("rotation", arg, rotation) self._set_property("scale", arg, scale) diff --git a/plotly/graph_objs/layout/map/_domain.py b/plotly/graph_objs/layout/map/_domain.py index 085d7153a33..a9696f8c42c 100644 --- a/plotly/graph_objs/layout/map/_domain.py +++ b/plotly/graph_objs/layout/map/_domain.py @@ -14,7 +14,7 @@ class Domain(_BaseLayoutHierarchyType): def column(self): """ If there is a layout grid, use the domain for this column in - the grid for this map subplot . + the grid for this map subplot. The 'column' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -34,7 +34,7 @@ def column(self, val): def row(self): """ If there is a layout grid, use the domain for this row in the - grid for this map subplot . + grid for this map subplot. The 'row' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -103,10 +103,10 @@ def _prop_descriptions(self): return """\ column If there is a layout grid, use the domain for this - column in the grid for this map subplot . + column in the grid for this map subplot. row If there is a layout grid, use the domain for this row - in the grid for this map subplot . + in the grid for this map subplot. x Sets the horizontal domain of this map subplot (in plot fraction). @@ -127,10 +127,10 @@ def __init__(self, arg=None, column=None, row=None, x=None, y=None, **kwargs): :class:`plotly.graph_objs.layout.map.Domain` column If there is a layout grid, use the domain for this - column in the grid for this map subplot . + column in the grid for this map subplot. row If there is a layout grid, use the domain for this row - in the grid for this map subplot . + in the grid for this map subplot. x Sets the horizontal domain of this map subplot (in plot fraction). diff --git a/plotly/graph_objs/layout/map/layer/_line.py b/plotly/graph_objs/layout/map/layer/_line.py index 369be5f2189..65351907fdc 100644 --- a/plotly/graph_objs/layout/map/layer/_line.py +++ b/plotly/graph_objs/layout/map/layer/_line.py @@ -8,7 +8,7 @@ class Line(_BaseLayoutHierarchyType): _parent_path_str = "layout.map.layer" _path_str = "layout.map.layer.line" - _valid_props = {"dash", "dashsrc", "width"} + _valid_props = {"dash", "width"} @property def dash(self): @@ -29,24 +29,6 @@ def dash(self): def dash(self, val): self["dash"] = val - @property - def dashsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `dash`. - - The 'dashsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["dashsrc"] - - @dashsrc.setter - def dashsrc(self, val): - self["dashsrc"] = val - @property def width(self): """ @@ -73,15 +55,12 @@ def _prop_descriptions(self): Sets the length of dashes and gaps (map.layer.paint.line-dasharray). Has an effect only when `type` is set to "line". - dashsrc - Sets the source reference on Chart Studio Cloud for - `dash`. width Sets the line width (map.layer.paint.line-width). Has an effect only when `type` is set to "line". """ - def __init__(self, arg=None, dash=None, dashsrc=None, width=None, **kwargs): + def __init__(self, arg=None, dash=None, width=None, **kwargs): """ Construct a new Line object @@ -95,9 +74,6 @@ def __init__(self, arg=None, dash=None, dashsrc=None, width=None, **kwargs): Sets the length of dashes and gaps (map.layer.paint.line-dasharray). Has an effect only when `type` is set to "line". - dashsrc - Sets the source reference on Chart Studio Cloud for - `dash`. width Sets the line width (map.layer.paint.line-width). Has an effect only when `type` is set to "line". @@ -127,7 +103,6 @@ def __init__(self, arg=None, dash=None, dashsrc=None, width=None, **kwargs): self._validate = kwargs.pop("_validate", True) self._set_property("dash", arg, dash) - self._set_property("dashsrc", arg, dashsrc) self._set_property("width", arg, width) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/layout/mapbox/__init__.py b/plotly/graph_objs/layout/mapbox/__init__.py deleted file mode 100644 index 929c41c9e14..00000000000 --- a/plotly/graph_objs/layout/mapbox/__init__.py +++ /dev/null @@ -1,17 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - from ._bounds import Bounds - from ._center import Center - from ._domain import Domain - from ._layer import Layer - from . import layer -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, - [".layer"], - ["._bounds.Bounds", "._center.Center", "._domain.Domain", "._layer.Layer"], - ) diff --git a/plotly/graph_objs/layout/mapbox/_bounds.py b/plotly/graph_objs/layout/mapbox/_bounds.py deleted file mode 100644 index 0179224f263..00000000000 --- a/plotly/graph_objs/layout/mapbox/_bounds.py +++ /dev/null @@ -1,160 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType -import copy as _copy - - -class Bounds(_BaseLayoutHierarchyType): - _parent_path_str = "layout.mapbox" - _path_str = "layout.mapbox.bounds" - _valid_props = {"east", "north", "south", "west"} - - @property - def east(self): - """ - Sets the maximum longitude of the map (in degrees East) if - `west`, `south` and `north` are declared. - - The 'east' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["east"] - - @east.setter - def east(self, val): - self["east"] = val - - @property - def north(self): - """ - Sets the maximum latitude of the map (in degrees North) if - `east`, `west` and `south` are declared. - - The 'north' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["north"] - - @north.setter - def north(self, val): - self["north"] = val - - @property - def south(self): - """ - Sets the minimum latitude of the map (in degrees North) if - `east`, `west` and `north` are declared. - - The 'south' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["south"] - - @south.setter - def south(self, val): - self["south"] = val - - @property - def west(self): - """ - Sets the minimum longitude of the map (in degrees East) if - `east`, `south` and `north` are declared. - - The 'west' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["west"] - - @west.setter - def west(self, val): - self["west"] = val - - @property - def _prop_descriptions(self): - return """\ - east - Sets the maximum longitude of the map (in degrees East) - if `west`, `south` and `north` are declared. - north - Sets the maximum latitude of the map (in degrees North) - if `east`, `west` and `south` are declared. - south - Sets the minimum latitude of the map (in degrees North) - if `east`, `west` and `north` are declared. - west - Sets the minimum longitude of the map (in degrees East) - if `east`, `south` and `north` are declared. - """ - - def __init__( - self, arg=None, east=None, north=None, south=None, west=None, **kwargs - ): - """ - Construct a new Bounds object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.layout.mapbox.Bounds` - east - Sets the maximum longitude of the map (in degrees East) - if `west`, `south` and `north` are declared. - north - Sets the maximum latitude of the map (in degrees North) - if `east`, `west` and `south` are declared. - south - Sets the minimum latitude of the map (in degrees North) - if `east`, `west` and `north` are declared. - west - Sets the minimum longitude of the map (in degrees East) - if `east`, `south` and `north` are declared. - - Returns - ------- - Bounds - """ - super().__init__("bounds") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.layout.mapbox.Bounds -constructor must be a dict or -an instance of :class:`plotly.graph_objs.layout.mapbox.Bounds`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("east", arg, east) - self._set_property("north", arg, north) - self._set_property("south", arg, south) - self._set_property("west", arg, west) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/layout/mapbox/_center.py b/plotly/graph_objs/layout/mapbox/_center.py deleted file mode 100644 index c3a23805f3f..00000000000 --- a/plotly/graph_objs/layout/mapbox/_center.py +++ /dev/null @@ -1,104 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType -import copy as _copy - - -class Center(_BaseLayoutHierarchyType): - _parent_path_str = "layout.mapbox" - _path_str = "layout.mapbox.center" - _valid_props = {"lat", "lon"} - - @property - def lat(self): - """ - Sets the latitude of the center of the map (in degrees North). - - The 'lat' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["lat"] - - @lat.setter - def lat(self, val): - self["lat"] = val - - @property - def lon(self): - """ - Sets the longitude of the center of the map (in degrees East). - - The 'lon' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["lon"] - - @lon.setter - def lon(self, val): - self["lon"] = val - - @property - def _prop_descriptions(self): - return """\ - lat - Sets the latitude of the center of the map (in degrees - North). - lon - Sets the longitude of the center of the map (in degrees - East). - """ - - def __init__(self, arg=None, lat=None, lon=None, **kwargs): - """ - Construct a new Center object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.layout.mapbox.Center` - lat - Sets the latitude of the center of the map (in degrees - North). - lon - Sets the longitude of the center of the map (in degrees - East). - - Returns - ------- - Center - """ - super().__init__("center") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.layout.mapbox.Center -constructor must be a dict or -an instance of :class:`plotly.graph_objs.layout.mapbox.Center`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("lat", arg, lat) - self._set_property("lon", arg, lon) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/layout/mapbox/_domain.py b/plotly/graph_objs/layout/mapbox/_domain.py deleted file mode 100644 index 48119def202..00000000000 --- a/plotly/graph_objs/layout/mapbox/_domain.py +++ /dev/null @@ -1,170 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType -import copy as _copy - - -class Domain(_BaseLayoutHierarchyType): - _parent_path_str = "layout.mapbox" - _path_str = "layout.mapbox.domain" - _valid_props = {"column", "row", "x", "y"} - - @property - def column(self): - """ - If there is a layout grid, use the domain for this column in - the grid for this mapbox subplot . - - The 'column' property is an integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [0, 9223372036854775807] - - Returns - ------- - int - """ - return self["column"] - - @column.setter - def column(self, val): - self["column"] = val - - @property - def row(self): - """ - If there is a layout grid, use the domain for this row in the - grid for this mapbox subplot . - - The 'row' property is an integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [0, 9223372036854775807] - - Returns - ------- - int - """ - return self["row"] - - @row.setter - def row(self, val): - self["row"] = val - - @property - def x(self): - """ - Sets the horizontal domain of this mapbox subplot (in plot - fraction). - - The 'x' property is an info array that may be specified as: - - * a list or tuple of 2 elements where: - (0) The 'x[0]' property is a number and may be specified as: - - An int or float in the interval [0, 1] - (1) The 'x[1]' property is a number and may be specified as: - - An int or float in the interval [0, 1] - - Returns - ------- - list - """ - return self["x"] - - @x.setter - def x(self, val): - self["x"] = val - - @property - def y(self): - """ - Sets the vertical domain of this mapbox subplot (in plot - fraction). - - The 'y' property is an info array that may be specified as: - - * a list or tuple of 2 elements where: - (0) The 'y[0]' property is a number and may be specified as: - - An int or float in the interval [0, 1] - (1) The 'y[1]' property is a number and may be specified as: - - An int or float in the interval [0, 1] - - Returns - ------- - list - """ - return self["y"] - - @y.setter - def y(self, val): - self["y"] = val - - @property - def _prop_descriptions(self): - return """\ - column - If there is a layout grid, use the domain for this - column in the grid for this mapbox subplot . - row - If there is a layout grid, use the domain for this row - in the grid for this mapbox subplot . - x - Sets the horizontal domain of this mapbox subplot (in - plot fraction). - y - Sets the vertical domain of this mapbox subplot (in - plot fraction). - """ - - def __init__(self, arg=None, column=None, row=None, x=None, y=None, **kwargs): - """ - Construct a new Domain object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.layout.mapbox.Domain` - column - If there is a layout grid, use the domain for this - column in the grid for this mapbox subplot . - row - If there is a layout grid, use the domain for this row - in the grid for this mapbox subplot . - x - Sets the horizontal domain of this mapbox subplot (in - plot fraction). - y - Sets the vertical domain of this mapbox subplot (in - plot fraction). - - Returns - ------- - Domain - """ - super().__init__("domain") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.layout.mapbox.Domain -constructor must be a dict or -an instance of :class:`plotly.graph_objs.layout.mapbox.Domain`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("column", arg, column) - self._set_property("row", arg, row) - self._set_property("x", arg, x) - self._set_property("y", arg, y) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/layout/mapbox/_layer.py b/plotly/graph_objs/layout/mapbox/_layer.py deleted file mode 100644 index 2380f6aadaf..00000000000 --- a/plotly/graph_objs/layout/mapbox/_layer.py +++ /dev/null @@ -1,695 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType -import copy as _copy - - -class Layer(_BaseLayoutHierarchyType): - _parent_path_str = "layout.mapbox" - _path_str = "layout.mapbox.layer" - _valid_props = { - "below", - "circle", - "color", - "coordinates", - "fill", - "line", - "maxzoom", - "minzoom", - "name", - "opacity", - "source", - "sourceattribution", - "sourcelayer", - "sourcetype", - "symbol", - "templateitemname", - "type", - "visible", - } - - @property - def below(self): - """ - Determines if the layer will be inserted before the layer with - the specified ID. If omitted or set to '', the layer will be - inserted above every existing layer. - - The 'below' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["below"] - - @below.setter - def below(self, val): - self["below"] = val - - @property - def circle(self): - """ - The 'circle' property is an instance of Circle - that may be specified as: - - An instance of :class:`plotly.graph_objs.layout.mapbox.layer.Circle` - - A dict of string/value properties that will be passed - to the Circle constructor - - Returns - ------- - plotly.graph_objs.layout.mapbox.layer.Circle - """ - return self["circle"] - - @circle.setter - def circle(self, val): - self["circle"] = val - - @property - def color(self): - """ - Sets the primary layer color. If `type` is "circle", color - corresponds to the circle color (mapbox.layer.paint.circle- - color) If `type` is "line", color corresponds to the line color - (mapbox.layer.paint.line-color) If `type` is "fill", color - corresponds to the fill color (mapbox.layer.paint.fill-color) - If `type` is "symbol", color corresponds to the icon color - (mapbox.layer.paint.icon-color) - - The 'color' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: see https://plotly.com/python/css-colors/ for a list - - Returns - ------- - str - """ - return self["color"] - - @color.setter - def color(self, val): - self["color"] = val - - @property - def coordinates(self): - """ - Sets the coordinates array contains [longitude, latitude] pairs - for the image corners listed in clockwise order: top left, top - right, bottom right, bottom left. Only has an effect for - "image" `sourcetype`. - - The 'coordinates' property accepts values of any type - - Returns - ------- - Any - """ - return self["coordinates"] - - @coordinates.setter - def coordinates(self, val): - self["coordinates"] = val - - @property - def fill(self): - """ - The 'fill' property is an instance of Fill - that may be specified as: - - An instance of :class:`plotly.graph_objs.layout.mapbox.layer.Fill` - - A dict of string/value properties that will be passed - to the Fill constructor - - Returns - ------- - plotly.graph_objs.layout.mapbox.layer.Fill - """ - return self["fill"] - - @fill.setter - def fill(self, val): - self["fill"] = val - - @property - def line(self): - """ - The 'line' property is an instance of Line - that may be specified as: - - An instance of :class:`plotly.graph_objs.layout.mapbox.layer.Line` - - A dict of string/value properties that will be passed - to the Line constructor - - Returns - ------- - plotly.graph_objs.layout.mapbox.layer.Line - """ - return self["line"] - - @line.setter - def line(self, val): - self["line"] = val - - @property - def maxzoom(self): - """ - Sets the maximum zoom level (mapbox.layer.maxzoom). At zoom - levels equal to or greater than the maxzoom, the layer will be - hidden. - - The 'maxzoom' property is a number and may be specified as: - - An int or float in the interval [0, 24] - - Returns - ------- - int|float - """ - return self["maxzoom"] - - @maxzoom.setter - def maxzoom(self, val): - self["maxzoom"] = val - - @property - def minzoom(self): - """ - Sets the minimum zoom level (mapbox.layer.minzoom). At zoom - levels less than the minzoom, the layer will be hidden. - - The 'minzoom' property is a number and may be specified as: - - An int or float in the interval [0, 24] - - Returns - ------- - int|float - """ - return self["minzoom"] - - @minzoom.setter - def minzoom(self, val): - self["minzoom"] = val - - @property - def name(self): - """ - When used in a template, named items are created in the output - figure in addition to any items the figure already has in this - array. You can modify these items in the output figure by - making your own item with `templateitemname` matching this - `name` alongside your modifications (including `visible: false` - or `enabled: false` to hide it). Has no effect outside of a - template. - - The 'name' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["name"] - - @name.setter - def name(self, val): - self["name"] = val - - @property - def opacity(self): - """ - Sets the opacity of the layer. If `type` is "circle", opacity - corresponds to the circle opacity (mapbox.layer.paint.circle- - opacity) If `type` is "line", opacity corresponds to the line - opacity (mapbox.layer.paint.line-opacity) If `type` is "fill", - opacity corresponds to the fill opacity - (mapbox.layer.paint.fill-opacity) If `type` is "symbol", - opacity corresponds to the icon/text opacity - (mapbox.layer.paint.text-opacity) - - The 'opacity' property is a number and may be specified as: - - An int or float in the interval [0, 1] - - Returns - ------- - int|float - """ - return self["opacity"] - - @opacity.setter - def opacity(self, val): - self["opacity"] = val - - @property - def source(self): - """ - Sets the source data for this layer (mapbox.layer.source). When - `sourcetype` is set to "geojson", `source` can be a URL to a - GeoJSON or a GeoJSON object. When `sourcetype` is set to - "vector" or "raster", `source` can be a URL or an array of tile - URLs. When `sourcetype` is set to "image", `source` can be a - URL to an image. - - The 'source' property accepts values of any type - - Returns - ------- - Any - """ - return self["source"] - - @source.setter - def source(self, val): - self["source"] = val - - @property - def sourceattribution(self): - """ - Sets the attribution for this source. - - The 'sourceattribution' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["sourceattribution"] - - @sourceattribution.setter - def sourceattribution(self, val): - self["sourceattribution"] = val - - @property - def sourcelayer(self): - """ - Specifies the layer to use from a vector tile source - (mapbox.layer.source-layer). Required for "vector" source type - that supports multiple layers. - - The 'sourcelayer' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["sourcelayer"] - - @sourcelayer.setter - def sourcelayer(self, val): - self["sourcelayer"] = val - - @property - def sourcetype(self): - """ - Sets the source type for this layer, that is the type of the - layer data. - - The 'sourcetype' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['geojson', 'vector', 'raster', 'image'] - - Returns - ------- - Any - """ - return self["sourcetype"] - - @sourcetype.setter - def sourcetype(self, val): - self["sourcetype"] = val - - @property - def symbol(self): - """ - The 'symbol' property is an instance of Symbol - that may be specified as: - - An instance of :class:`plotly.graph_objs.layout.mapbox.layer.Symbol` - - A dict of string/value properties that will be passed - to the Symbol constructor - - Returns - ------- - plotly.graph_objs.layout.mapbox.layer.Symbol - """ - return self["symbol"] - - @symbol.setter - def symbol(self, val): - self["symbol"] = val - - @property - def templateitemname(self): - """ - Used to refer to a named item in this array in the template. - Named items from the template will be created even without a - matching item in the input figure, but you can modify one by - making an item with `templateitemname` matching its `name`, - alongside your modifications (including `visible: false` or - `enabled: false` to hide it). If there is no template or no - matching item, this item will be hidden unless you explicitly - show it with `visible: true`. - - The 'templateitemname' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["templateitemname"] - - @templateitemname.setter - def templateitemname(self, val): - self["templateitemname"] = val - - @property - def type(self): - """ - Sets the layer type, that is the how the layer data set in - `source` will be rendered With `sourcetype` set to "geojson", - the following values are allowed: "circle", "line", "fill" and - "symbol". but note that "line" and "fill" are not compatible - with Point GeoJSON geometries. With `sourcetype` set to - "vector", the following values are allowed: "circle", "line", - "fill" and "symbol". With `sourcetype` set to "raster" or - "image", only the "raster" value is allowed. - - The 'type' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['circle', 'line', 'fill', 'symbol', 'raster'] - - Returns - ------- - Any - """ - return self["type"] - - @type.setter - def type(self, val): - self["type"] = val - - @property - def visible(self): - """ - Determines whether this layer is displayed - - The 'visible' property is a boolean and must be specified as: - - A boolean value: True or False - - Returns - ------- - bool - """ - return self["visible"] - - @visible.setter - def visible(self, val): - self["visible"] = val - - @property - def _prop_descriptions(self): - return """\ - below - Determines if the layer will be inserted before the - layer with the specified ID. If omitted or set to '', - the layer will be inserted above every existing layer. - circle - :class:`plotly.graph_objects.layout.mapbox.layer.Circle - ` instance or dict with compatible properties - color - Sets the primary layer color. If `type` is "circle", - color corresponds to the circle color - (mapbox.layer.paint.circle-color) If `type` is "line", - color corresponds to the line color - (mapbox.layer.paint.line-color) If `type` is "fill", - color corresponds to the fill color - (mapbox.layer.paint.fill-color) If `type` is "symbol", - color corresponds to the icon color - (mapbox.layer.paint.icon-color) - coordinates - Sets the coordinates array contains [longitude, - latitude] pairs for the image corners listed in - clockwise order: top left, top right, bottom right, - bottom left. Only has an effect for "image" - `sourcetype`. - fill - :class:`plotly.graph_objects.layout.mapbox.layer.Fill` - instance or dict with compatible properties - line - :class:`plotly.graph_objects.layout.mapbox.layer.Line` - instance or dict with compatible properties - maxzoom - Sets the maximum zoom level (mapbox.layer.maxzoom). At - zoom levels equal to or greater than the maxzoom, the - layer will be hidden. - minzoom - Sets the minimum zoom level (mapbox.layer.minzoom). At - zoom levels less than the minzoom, the layer will be - hidden. - name - When used in a template, named items are created in the - output figure in addition to any items the figure - already has in this array. You can modify these items - in the output figure by making your own item with - `templateitemname` matching this `name` alongside your - modifications (including `visible: false` or `enabled: - false` to hide it). Has no effect outside of a - template. - opacity - Sets the opacity of the layer. If `type` is "circle", - opacity corresponds to the circle opacity - (mapbox.layer.paint.circle-opacity) If `type` is - "line", opacity corresponds to the line opacity - (mapbox.layer.paint.line-opacity) If `type` is "fill", - opacity corresponds to the fill opacity - (mapbox.layer.paint.fill-opacity) If `type` is - "symbol", opacity corresponds to the icon/text opacity - (mapbox.layer.paint.text-opacity) - source - Sets the source data for this layer - (mapbox.layer.source). When `sourcetype` is set to - "geojson", `source` can be a URL to a GeoJSON or a - GeoJSON object. When `sourcetype` is set to "vector" or - "raster", `source` can be a URL or an array of tile - URLs. When `sourcetype` is set to "image", `source` can - be a URL to an image. - sourceattribution - Sets the attribution for this source. - sourcelayer - Specifies the layer to use from a vector tile source - (mapbox.layer.source-layer). Required for "vector" - source type that supports multiple layers. - sourcetype - Sets the source type for this layer, that is the type - of the layer data. - symbol - :class:`plotly.graph_objects.layout.mapbox.layer.Symbol - ` instance or dict with compatible properties - templateitemname - Used to refer to a named item in this array in the - template. Named items from the template will be created - even without a matching item in the input figure, but - you can modify one by making an item with - `templateitemname` matching its `name`, alongside your - modifications (including `visible: false` or `enabled: - false` to hide it). If there is no template or no - matching item, this item will be hidden unless you - explicitly show it with `visible: true`. - type - Sets the layer type, that is the how the layer data set - in `source` will be rendered With `sourcetype` set to - "geojson", the following values are allowed: "circle", - "line", "fill" and "symbol". but note that "line" and - "fill" are not compatible with Point GeoJSON - geometries. With `sourcetype` set to "vector", the - following values are allowed: "circle", "line", "fill" - and "symbol". With `sourcetype` set to "raster" or - "image", only the "raster" value is allowed. - visible - Determines whether this layer is displayed - """ - - def __init__( - self, - arg=None, - below=None, - circle=None, - color=None, - coordinates=None, - fill=None, - line=None, - maxzoom=None, - minzoom=None, - name=None, - opacity=None, - source=None, - sourceattribution=None, - sourcelayer=None, - sourcetype=None, - symbol=None, - templateitemname=None, - type=None, - visible=None, - **kwargs, - ): - """ - Construct a new Layer object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.layout.mapbox.Layer` - below - Determines if the layer will be inserted before the - layer with the specified ID. If omitted or set to '', - the layer will be inserted above every existing layer. - circle - :class:`plotly.graph_objects.layout.mapbox.layer.Circle - ` instance or dict with compatible properties - color - Sets the primary layer color. If `type` is "circle", - color corresponds to the circle color - (mapbox.layer.paint.circle-color) If `type` is "line", - color corresponds to the line color - (mapbox.layer.paint.line-color) If `type` is "fill", - color corresponds to the fill color - (mapbox.layer.paint.fill-color) If `type` is "symbol", - color corresponds to the icon color - (mapbox.layer.paint.icon-color) - coordinates - Sets the coordinates array contains [longitude, - latitude] pairs for the image corners listed in - clockwise order: top left, top right, bottom right, - bottom left. Only has an effect for "image" - `sourcetype`. - fill - :class:`plotly.graph_objects.layout.mapbox.layer.Fill` - instance or dict with compatible properties - line - :class:`plotly.graph_objects.layout.mapbox.layer.Line` - instance or dict with compatible properties - maxzoom - Sets the maximum zoom level (mapbox.layer.maxzoom). At - zoom levels equal to or greater than the maxzoom, the - layer will be hidden. - minzoom - Sets the minimum zoom level (mapbox.layer.minzoom). At - zoom levels less than the minzoom, the layer will be - hidden. - name - When used in a template, named items are created in the - output figure in addition to any items the figure - already has in this array. You can modify these items - in the output figure by making your own item with - `templateitemname` matching this `name` alongside your - modifications (including `visible: false` or `enabled: - false` to hide it). Has no effect outside of a - template. - opacity - Sets the opacity of the layer. If `type` is "circle", - opacity corresponds to the circle opacity - (mapbox.layer.paint.circle-opacity) If `type` is - "line", opacity corresponds to the line opacity - (mapbox.layer.paint.line-opacity) If `type` is "fill", - opacity corresponds to the fill opacity - (mapbox.layer.paint.fill-opacity) If `type` is - "symbol", opacity corresponds to the icon/text opacity - (mapbox.layer.paint.text-opacity) - source - Sets the source data for this layer - (mapbox.layer.source). When `sourcetype` is set to - "geojson", `source` can be a URL to a GeoJSON or a - GeoJSON object. When `sourcetype` is set to "vector" or - "raster", `source` can be a URL or an array of tile - URLs. When `sourcetype` is set to "image", `source` can - be a URL to an image. - sourceattribution - Sets the attribution for this source. - sourcelayer - Specifies the layer to use from a vector tile source - (mapbox.layer.source-layer). Required for "vector" - source type that supports multiple layers. - sourcetype - Sets the source type for this layer, that is the type - of the layer data. - symbol - :class:`plotly.graph_objects.layout.mapbox.layer.Symbol - ` instance or dict with compatible properties - templateitemname - Used to refer to a named item in this array in the - template. Named items from the template will be created - even without a matching item in the input figure, but - you can modify one by making an item with - `templateitemname` matching its `name`, alongside your - modifications (including `visible: false` or `enabled: - false` to hide it). If there is no template or no - matching item, this item will be hidden unless you - explicitly show it with `visible: true`. - type - Sets the layer type, that is the how the layer data set - in `source` will be rendered With `sourcetype` set to - "geojson", the following values are allowed: "circle", - "line", "fill" and "symbol". but note that "line" and - "fill" are not compatible with Point GeoJSON - geometries. With `sourcetype` set to "vector", the - following values are allowed: "circle", "line", "fill" - and "symbol". With `sourcetype` set to "raster" or - "image", only the "raster" value is allowed. - visible - Determines whether this layer is displayed - - Returns - ------- - Layer - """ - super().__init__("layers") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.layout.mapbox.Layer -constructor must be a dict or -an instance of :class:`plotly.graph_objs.layout.mapbox.Layer`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("below", arg, below) - self._set_property("circle", arg, circle) - self._set_property("color", arg, color) - self._set_property("coordinates", arg, coordinates) - self._set_property("fill", arg, fill) - self._set_property("line", arg, line) - self._set_property("maxzoom", arg, maxzoom) - self._set_property("minzoom", arg, minzoom) - self._set_property("name", arg, name) - self._set_property("opacity", arg, opacity) - self._set_property("source", arg, source) - self._set_property("sourceattribution", arg, sourceattribution) - self._set_property("sourcelayer", arg, sourcelayer) - self._set_property("sourcetype", arg, sourcetype) - self._set_property("symbol", arg, symbol) - self._set_property("templateitemname", arg, templateitemname) - self._set_property("type", arg, type) - self._set_property("visible", arg, visible) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/layout/mapbox/layer/__init__.py b/plotly/graph_objs/layout/mapbox/layer/__init__.py deleted file mode 100644 index 2d86fbd3b00..00000000000 --- a/plotly/graph_objs/layout/mapbox/layer/__init__.py +++ /dev/null @@ -1,17 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - from ._circle import Circle - from ._fill import Fill - from ._line import Line - from ._symbol import Symbol - from . import symbol -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, - [".symbol"], - ["._circle.Circle", "._fill.Fill", "._line.Line", "._symbol.Symbol"], - ) diff --git a/plotly/graph_objs/layout/mapbox/layer/_circle.py b/plotly/graph_objs/layout/mapbox/layer/_circle.py deleted file mode 100644 index 74ba8191cb3..00000000000 --- a/plotly/graph_objs/layout/mapbox/layer/_circle.py +++ /dev/null @@ -1,82 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType -import copy as _copy - - -class Circle(_BaseLayoutHierarchyType): - _parent_path_str = "layout.mapbox.layer" - _path_str = "layout.mapbox.layer.circle" - _valid_props = {"radius"} - - @property - def radius(self): - """ - Sets the circle radius (mapbox.layer.paint.circle-radius). Has - an effect only when `type` is set to "circle". - - The 'radius' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["radius"] - - @radius.setter - def radius(self, val): - self["radius"] = val - - @property - def _prop_descriptions(self): - return """\ - radius - Sets the circle radius (mapbox.layer.paint.circle- - radius). Has an effect only when `type` is set to - "circle". - """ - - def __init__(self, arg=None, radius=None, **kwargs): - """ - Construct a new Circle object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.layout.mapbox.layer.Circle` - radius - Sets the circle radius (mapbox.layer.paint.circle- - radius). Has an effect only when `type` is set to - "circle". - - Returns - ------- - Circle - """ - super().__init__("circle") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.layout.mapbox.layer.Circle -constructor must be a dict or -an instance of :class:`plotly.graph_objs.layout.mapbox.layer.Circle`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("radius", arg, radius) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/layout/mapbox/layer/_line.py b/plotly/graph_objs/layout/mapbox/layer/_line.py deleted file mode 100644 index 1ca3ca3aaa8..00000000000 --- a/plotly/graph_objs/layout/mapbox/layer/_line.py +++ /dev/null @@ -1,133 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType -import copy as _copy - - -class Line(_BaseLayoutHierarchyType): - _parent_path_str = "layout.mapbox.layer" - _path_str = "layout.mapbox.layer.line" - _valid_props = {"dash", "dashsrc", "width"} - - @property - def dash(self): - """ - Sets the length of dashes and gaps (mapbox.layer.paint.line- - dasharray). Has an effect only when `type` is set to "line". - - The 'dash' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["dash"] - - @dash.setter - def dash(self, val): - self["dash"] = val - - @property - def dashsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `dash`. - - The 'dashsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["dashsrc"] - - @dashsrc.setter - def dashsrc(self, val): - self["dashsrc"] = val - - @property - def width(self): - """ - Sets the line width (mapbox.layer.paint.line-width). Has an - effect only when `type` is set to "line". - - The 'width' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["width"] - - @width.setter - def width(self, val): - self["width"] = val - - @property - def _prop_descriptions(self): - return """\ - dash - Sets the length of dashes and gaps - (mapbox.layer.paint.line-dasharray). Has an effect only - when `type` is set to "line". - dashsrc - Sets the source reference on Chart Studio Cloud for - `dash`. - width - Sets the line width (mapbox.layer.paint.line-width). - Has an effect only when `type` is set to "line". - """ - - def __init__(self, arg=None, dash=None, dashsrc=None, width=None, **kwargs): - """ - Construct a new Line object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.layout.mapbox.layer.Line` - dash - Sets the length of dashes and gaps - (mapbox.layer.paint.line-dasharray). Has an effect only - when `type` is set to "line". - dashsrc - Sets the source reference on Chart Studio Cloud for - `dash`. - width - Sets the line width (mapbox.layer.paint.line-width). - Has an effect only when `type` is set to "line". - - Returns - ------- - Line - """ - super().__init__("line") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.layout.mapbox.layer.Line -constructor must be a dict or -an instance of :class:`plotly.graph_objs.layout.mapbox.layer.Line`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("dash", arg, dash) - self._set_property("dashsrc", arg, dashsrc) - self._set_property("width", arg, width) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/layout/mapbox/layer/_symbol.py b/plotly/graph_objs/layout/mapbox/layer/_symbol.py deleted file mode 100644 index 506e36adf5e..00000000000 --- a/plotly/graph_objs/layout/mapbox/layer/_symbol.py +++ /dev/null @@ -1,245 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType -import copy as _copy - - -class Symbol(_BaseLayoutHierarchyType): - _parent_path_str = "layout.mapbox.layer" - _path_str = "layout.mapbox.layer.symbol" - _valid_props = {"icon", "iconsize", "placement", "text", "textfont", "textposition"} - - @property - def icon(self): - """ - Sets the symbol icon image (mapbox.layer.layout.icon-image). - Full list: https://www.mapbox.com/maki-icons/ - - The 'icon' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["icon"] - - @icon.setter - def icon(self, val): - self["icon"] = val - - @property - def iconsize(self): - """ - Sets the symbol icon size (mapbox.layer.layout.icon-size). Has - an effect only when `type` is set to "symbol". - - The 'iconsize' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["iconsize"] - - @iconsize.setter - def iconsize(self, val): - self["iconsize"] = val - - @property - def placement(self): - """ - Sets the symbol and/or text placement - (mapbox.layer.layout.symbol-placement). If `placement` is - "point", the label is placed where the geometry is located If - `placement` is "line", the label is placed along the line of - the geometry If `placement` is "line-center", the label is - placed on the center of the geometry - - The 'placement' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['point', 'line', 'line-center'] - - Returns - ------- - Any - """ - return self["placement"] - - @placement.setter - def placement(self, val): - self["placement"] = val - - @property - def text(self): - """ - Sets the symbol text (mapbox.layer.layout.text-field). - - The 'text' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["text"] - - @text.setter - def text(self, val): - self["text"] = val - - @property - def textfont(self): - """ - Sets the icon text font (color=mapbox.layer.paint.text-color, - size=mapbox.layer.layout.text-size). Has an effect only when - `type` is set to "symbol". - - The 'textfont' property is an instance of Textfont - that may be specified as: - - An instance of :class:`plotly.graph_objs.layout.mapbox.layer.symbol.Textfont` - - A dict of string/value properties that will be passed - to the Textfont constructor - - Returns - ------- - plotly.graph_objs.layout.mapbox.layer.symbol.Textfont - """ - return self["textfont"] - - @textfont.setter - def textfont(self, val): - self["textfont"] = val - - @property - def textposition(self): - """ - Sets the positions of the `text` elements with respects to the - (x,y) coordinates. - - The 'textposition' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['top left', 'top center', 'top right', 'middle left', - 'middle center', 'middle right', 'bottom left', 'bottom - center', 'bottom right'] - - Returns - ------- - Any - """ - return self["textposition"] - - @textposition.setter - def textposition(self, val): - self["textposition"] = val - - @property - def _prop_descriptions(self): - return """\ - icon - Sets the symbol icon image (mapbox.layer.layout.icon- - image). Full list: https://www.mapbox.com/maki-icons/ - iconsize - Sets the symbol icon size (mapbox.layer.layout.icon- - size). Has an effect only when `type` is set to - "symbol". - placement - Sets the symbol and/or text placement - (mapbox.layer.layout.symbol-placement). If `placement` - is "point", the label is placed where the geometry is - located If `placement` is "line", the label is placed - along the line of the geometry If `placement` is "line- - center", the label is placed on the center of the - geometry - text - Sets the symbol text (mapbox.layer.layout.text-field). - textfont - Sets the icon text font (color=mapbox.layer.paint.text- - color, size=mapbox.layer.layout.text-size). Has an - effect only when `type` is set to "symbol". - textposition - Sets the positions of the `text` elements with respects - to the (x,y) coordinates. - """ - - def __init__( - self, - arg=None, - icon=None, - iconsize=None, - placement=None, - text=None, - textfont=None, - textposition=None, - **kwargs, - ): - """ - Construct a new Symbol object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.layout.mapbox.layer.Symbol` - icon - Sets the symbol icon image (mapbox.layer.layout.icon- - image). Full list: https://www.mapbox.com/maki-icons/ - iconsize - Sets the symbol icon size (mapbox.layer.layout.icon- - size). Has an effect only when `type` is set to - "symbol". - placement - Sets the symbol and/or text placement - (mapbox.layer.layout.symbol-placement). If `placement` - is "point", the label is placed where the geometry is - located If `placement` is "line", the label is placed - along the line of the geometry If `placement` is "line- - center", the label is placed on the center of the - geometry - text - Sets the symbol text (mapbox.layer.layout.text-field). - textfont - Sets the icon text font (color=mapbox.layer.paint.text- - color, size=mapbox.layer.layout.text-size). Has an - effect only when `type` is set to "symbol". - textposition - Sets the positions of the `text` elements with respects - to the (x,y) coordinates. - - Returns - ------- - Symbol - """ - super().__init__("symbol") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.layout.mapbox.layer.Symbol -constructor must be a dict or -an instance of :class:`plotly.graph_objs.layout.mapbox.layer.Symbol`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("icon", arg, icon) - self._set_property("iconsize", arg, iconsize) - self._set_property("placement", arg, placement) - self._set_property("text", arg, text) - self._set_property("textfont", arg, textfont) - self._set_property("textposition", arg, textposition) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/layout/mapbox/layer/symbol/_textfont.py b/plotly/graph_objs/layout/mapbox/layer/symbol/_textfont.py deleted file mode 100644 index d2ae719c6d7..00000000000 --- a/plotly/graph_objs/layout/mapbox/layer/symbol/_textfont.py +++ /dev/null @@ -1,202 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType -import copy as _copy - - -class Textfont(_BaseLayoutHierarchyType): - _parent_path_str = "layout.mapbox.layer.symbol" - _path_str = "layout.mapbox.layer.symbol.textfont" - _valid_props = {"color", "family", "size", "style", "weight"} - - @property - def color(self): - """ - The 'color' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: see https://plotly.com/python/css-colors/ for a list - - Returns - ------- - str - """ - return self["color"] - - @color.setter - def color(self, val): - self["color"] = val - - @property - def family(self): - """ - HTML font family - the typeface that will be applied by the web - browser. The web browser can only apply a font if it is - available on the system where it runs. Provide multiple font - families, separated by commas, to indicate the order in which - to apply fonts if they aren't available. - - The 'family' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["family"] - - @family.setter - def family(self, val): - self["family"] = val - - @property - def size(self): - """ - The 'size' property is a number and may be specified as: - - An int or float in the interval [1, inf] - - Returns - ------- - int|float - """ - return self["size"] - - @size.setter - def size(self, val): - self["size"] = val - - @property - def style(self): - """ - Sets whether a font should be styled with a normal or italic - face from its family. - - The 'style' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'italic'] - - Returns - ------- - Any - """ - return self["style"] - - @style.setter - def style(self, val): - self["style"] = val - - @property - def weight(self): - """ - Sets the weight (or boldness) of the font. - - The 'weight' property is an integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [1, 1000] - OR exactly one of ['normal', 'bold'] (e.g. 'bold') - - Returns - ------- - int - """ - return self["weight"] - - @weight.setter - def weight(self, val): - self["weight"] = val - - @property - def _prop_descriptions(self): - return """\ - color - - family - HTML font family - the typeface that will be applied by - the web browser. The web browser can only apply a font - if it is available on the system where it runs. Provide - multiple font families, separated by commas, to - indicate the order in which to apply fonts if they - aren't available. - size - - style - Sets whether a font should be styled with a normal or - italic face from its family. - weight - Sets the weight (or boldness) of the font. - """ - - def __init__( - self, - arg=None, - color=None, - family=None, - size=None, - style=None, - weight=None, - **kwargs, - ): - """ - Construct a new Textfont object - - Sets the icon text font (color=mapbox.layer.paint.text-color, - size=mapbox.layer.layout.text-size). Has an effect only when - `type` is set to "symbol". - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.layout.mapbox. - layer.symbol.Textfont` - color - - family - HTML font family - the typeface that will be applied by - the web browser. The web browser can only apply a font - if it is available on the system where it runs. Provide - multiple font families, separated by commas, to - indicate the order in which to apply fonts if they - aren't available. - size - - style - Sets whether a font should be styled with a normal or - italic face from its family. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - Textfont - """ - super().__init__("textfont") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.layout.mapbox.layer.symbol.Textfont -constructor must be a dict or -an instance of :class:`plotly.graph_objs.layout.mapbox.layer.symbol.Textfont`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("color", arg, color) - self._set_property("family", arg, family) - self._set_property("size", arg, size) - self._set_property("style", arg, style) - self._set_property("weight", arg, weight) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/layout/polar/_angularaxis.py b/plotly/graph_objs/layout/polar/_angularaxis.py index 8515457e2fe..077e513481a 100644 --- a/plotly/graph_objs/layout/polar/_angularaxis.py +++ b/plotly/graph_objs/layout/polar/_angularaxis.py @@ -11,7 +11,6 @@ class AngularAxis(_BaseLayoutHierarchyType): _valid_props = { "autotypenumbers", "categoryarray", - "categoryarraysrc", "categoryorder", "color", "direction", @@ -52,9 +51,7 @@ class AngularAxis(_BaseLayoutHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "type", "uirevision", @@ -103,25 +100,6 @@ def categoryarray(self): def categoryarray(self, val): self["categoryarray"] = val - @property - def categoryarraysrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `categoryarray`. - - The 'categoryarraysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["categoryarraysrc"] - - @categoryarraysrc.setter - def categoryarraysrc(self, val): - self["categoryarraysrc"] = val - @property def categoryorder(self): """ @@ -1019,24 +997,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -1056,24 +1016,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1165,9 +1107,6 @@ def _prop_descriptions(self): Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to "array". Used with `categoryorder`. - categoryarraysrc - Sets the source reference on Chart Studio Cloud for - `categoryarray`. categoryorder Specifies the ordering logic for the case of categorical variables. By default, plotly uses "trace", @@ -1395,16 +1334,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). type @@ -1426,7 +1359,6 @@ def __init__( arg=None, autotypenumbers=None, categoryarray=None, - categoryarraysrc=None, categoryorder=None, color=None, direction=None, @@ -1467,9 +1399,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, type=None, uirevision=None, @@ -1495,9 +1425,6 @@ def __init__( Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to "array". Used with `categoryorder`. - categoryarraysrc - Sets the source reference on Chart Studio Cloud for - `categoryarray`. categoryorder Specifies the ordering logic for the case of categorical variables. By default, plotly uses "trace", @@ -1725,16 +1652,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). type @@ -1776,7 +1697,6 @@ def __init__( self._set_property("autotypenumbers", arg, autotypenumbers) self._set_property("categoryarray", arg, categoryarray) - self._set_property("categoryarraysrc", arg, categoryarraysrc) self._set_property("categoryorder", arg, categoryorder) self._set_property("color", arg, color) self._set_property("direction", arg, direction) @@ -1817,9 +1737,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("type", arg, type) self._set_property("uirevision", arg, uirevision) diff --git a/plotly/graph_objs/layout/polar/_domain.py b/plotly/graph_objs/layout/polar/_domain.py index 2f2499d03fb..3130f984ade 100644 --- a/plotly/graph_objs/layout/polar/_domain.py +++ b/plotly/graph_objs/layout/polar/_domain.py @@ -14,7 +14,7 @@ class Domain(_BaseLayoutHierarchyType): def column(self): """ If there is a layout grid, use the domain for this column in - the grid for this polar subplot . + the grid for this polar subplot. The 'column' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -34,7 +34,7 @@ def column(self, val): def row(self): """ If there is a layout grid, use the domain for this row in the - grid for this polar subplot . + grid for this polar subplot. The 'row' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -103,10 +103,10 @@ def _prop_descriptions(self): return """\ column If there is a layout grid, use the domain for this - column in the grid for this polar subplot . + column in the grid for this polar subplot. row If there is a layout grid, use the domain for this row - in the grid for this polar subplot . + in the grid for this polar subplot. x Sets the horizontal domain of this polar subplot (in plot fraction). @@ -127,10 +127,10 @@ def __init__(self, arg=None, column=None, row=None, x=None, y=None, **kwargs): :class:`plotly.graph_objs.layout.polar.Domain` column If there is a layout grid, use the domain for this - column in the grid for this polar subplot . + column in the grid for this polar subplot. row If there is a layout grid, use the domain for this row - in the grid for this polar subplot . + in the grid for this polar subplot. x Sets the horizontal domain of this polar subplot (in plot fraction). diff --git a/plotly/graph_objs/layout/polar/_radialaxis.py b/plotly/graph_objs/layout/polar/_radialaxis.py index e7a12d5fa7e..a84049509e6 100644 --- a/plotly/graph_objs/layout/polar/_radialaxis.py +++ b/plotly/graph_objs/layout/polar/_radialaxis.py @@ -16,7 +16,6 @@ class RadialAxis(_BaseLayoutHierarchyType): "autotypenumbers", "calendar", "categoryarray", - "categoryarraysrc", "categoryorder", "color", "dtick", @@ -58,9 +57,7 @@ class RadialAxis(_BaseLayoutHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "type", @@ -231,25 +228,6 @@ def categoryarray(self): def categoryarray(self, val): self["categoryarray"] = val - @property - def categoryarraysrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `categoryarray`. - - The 'categoryarraysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["categoryarraysrc"] - - @categoryarraysrc.setter - def categoryarraysrc(self, val): - self["categoryarraysrc"] = val - @property def categoryorder(self): """ @@ -1171,24 +1149,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -1208,24 +1168,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1367,9 +1309,6 @@ def _prop_descriptions(self): Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to "array". Used with `categoryorder`. - categoryarraysrc - Sets the source reference on Chart Studio Cloud for - `categoryarray`. categoryorder Specifies the ordering logic for the case of categorical variables. By default, plotly uses "trace", @@ -1606,16 +1545,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1646,7 +1579,6 @@ def __init__( autotypenumbers=None, calendar=None, categoryarray=None, - categoryarraysrc=None, categoryorder=None, color=None, dtick=None, @@ -1688,9 +1620,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, type=None, @@ -1748,9 +1678,6 @@ def __init__( Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to "array". Used with `categoryorder`. - categoryarraysrc - Sets the source reference on Chart Studio Cloud for - `categoryarray`. categoryorder Specifies the ordering logic for the case of categorical variables. By default, plotly uses "trace", @@ -1987,16 +1914,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -2047,7 +1968,6 @@ def __init__( self._set_property("autotypenumbers", arg, autotypenumbers) self._set_property("calendar", arg, calendar) self._set_property("categoryarray", arg, categoryarray) - self._set_property("categoryarraysrc", arg, categoryarraysrc) self._set_property("categoryorder", arg, categoryorder) self._set_property("color", arg, color) self._set_property("dtick", arg, dtick) @@ -2089,9 +2009,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("type", arg, type) diff --git a/plotly/graph_objs/layout/polar/radialaxis/_autorangeoptions.py b/plotly/graph_objs/layout/polar/radialaxis/_autorangeoptions.py index 0c12c55e9da..711d22f52ae 100644 --- a/plotly/graph_objs/layout/polar/radialaxis/_autorangeoptions.py +++ b/plotly/graph_objs/layout/polar/radialaxis/_autorangeoptions.py @@ -8,14 +8,7 @@ class Autorangeoptions(_BaseLayoutHierarchyType): _parent_path_str = "layout.polar.radialaxis" _path_str = "layout.polar.radialaxis.autorangeoptions" - _valid_props = { - "clipmax", - "clipmin", - "include", - "includesrc", - "maxallowed", - "minallowed", - } + _valid_props = {"clipmax", "clipmin", "include", "maxallowed", "minallowed"} @property def clipmax(self): @@ -56,7 +49,11 @@ def clipmin(self, val): @property def include(self): """ - Ensure this value is included in autorange. + Extends the autorange to include this value or array of values, + even when they fall outside the data range. Has no effect on + endpoints set by `autorangeoptions.minallowed` or + `autorangeoptions.maxallowed`. Subject to + `autorangeoptions.clipmin` and `autorangeoptions.clipmax`. The 'include' property accepts values of any type @@ -70,24 +67,6 @@ def include(self): def include(self, val): self["include"] = val - @property - def includesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `include`. - - The 'includesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["includesrc"] - - @includesrc.setter - def includesrc(self, val): - self["includesrc"] = val - @property def maxallowed(self): """ @@ -134,10 +113,13 @@ def _prop_descriptions(self): Has no effect when `autorangeoptions.minallowed` is provided. include - Ensure this value is included in autorange. - includesrc - Sets the source reference on Chart Studio Cloud for - `include`. + Extends the autorange to include this value or array of + values, even when they fall outside the data range. Has + no effect on endpoints set by + `autorangeoptions.minallowed` or + `autorangeoptions.maxallowed`. Subject to + `autorangeoptions.clipmin` and + `autorangeoptions.clipmax`. maxallowed Use this value exactly as autorange maximum. minallowed @@ -150,7 +132,6 @@ def __init__( clipmax=None, clipmin=None, include=None, - includesrc=None, maxallowed=None, minallowed=None, **kwargs, @@ -173,10 +154,13 @@ def __init__( Has no effect when `autorangeoptions.minallowed` is provided. include - Ensure this value is included in autorange. - includesrc - Sets the source reference on Chart Studio Cloud for - `include`. + Extends the autorange to include this value or array of + values, even when they fall outside the data range. Has + no effect on endpoints set by + `autorangeoptions.minallowed` or + `autorangeoptions.maxallowed`. Subject to + `autorangeoptions.clipmin` and + `autorangeoptions.clipmax`. maxallowed Use this value exactly as autorange maximum. minallowed @@ -209,7 +193,6 @@ def __init__( self._set_property("clipmax", arg, clipmax) self._set_property("clipmin", arg, clipmin) self._set_property("include", arg, include) - self._set_property("includesrc", arg, includesrc) self._set_property("maxallowed", arg, maxallowed) self._set_property("minallowed", arg, minallowed) self._process_kwargs(**dict(arg, **kwargs)) diff --git a/plotly/graph_objs/layout/scene/_domain.py b/plotly/graph_objs/layout/scene/_domain.py index 9b12872d62b..614fb5fc66a 100644 --- a/plotly/graph_objs/layout/scene/_domain.py +++ b/plotly/graph_objs/layout/scene/_domain.py @@ -14,7 +14,7 @@ class Domain(_BaseLayoutHierarchyType): def column(self): """ If there is a layout grid, use the domain for this column in - the grid for this scene subplot . + the grid for this scene subplot. The 'column' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -34,7 +34,7 @@ def column(self, val): def row(self): """ If there is a layout grid, use the domain for this row in the - grid for this scene subplot . + grid for this scene subplot. The 'row' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -103,10 +103,10 @@ def _prop_descriptions(self): return """\ column If there is a layout grid, use the domain for this - column in the grid for this scene subplot . + column in the grid for this scene subplot. row If there is a layout grid, use the domain for this row - in the grid for this scene subplot . + in the grid for this scene subplot. x Sets the horizontal domain of this scene subplot (in plot fraction). @@ -127,10 +127,10 @@ def __init__(self, arg=None, column=None, row=None, x=None, y=None, **kwargs): :class:`plotly.graph_objs.layout.scene.Domain` column If there is a layout grid, use the domain for this - column in the grid for this scene subplot . + column in the grid for this scene subplot. row If there is a layout grid, use the domain for this row - in the grid for this scene subplot . + in the grid for this scene subplot. x Sets the horizontal domain of this scene subplot (in plot fraction). diff --git a/plotly/graph_objs/layout/scene/_xaxis.py b/plotly/graph_objs/layout/scene/_xaxis.py index 4978f08c8b8..15f3544f1db 100644 --- a/plotly/graph_objs/layout/scene/_xaxis.py +++ b/plotly/graph_objs/layout/scene/_xaxis.py @@ -15,7 +15,6 @@ class XAxis(_BaseLayoutHierarchyType): "backgroundcolor", "calendar", "categoryarray", - "categoryarraysrc", "categoryorder", "color", "dtick", @@ -59,9 +58,7 @@ class XAxis(_BaseLayoutHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "type", @@ -208,25 +205,6 @@ def categoryarray(self): def categoryarray(self, val): self["categoryarray"] = val - @property - def categoryarraysrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `categoryarray`. - - The 'categoryarraysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["categoryarraysrc"] - - @categoryarraysrc.setter - def categoryarraysrc(self, val): - self["categoryarraysrc"] = val - @property def categoryorder(self): """ @@ -1173,24 +1151,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -1210,24 +1170,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1401,9 +1343,6 @@ def _prop_descriptions(self): Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to "array". Used with `categoryorder`. - categoryarraysrc - Sets the source reference on Chart Studio Cloud for - `categoryarray`. categoryorder Specifies the ordering logic for the case of categorical variables. By default, plotly uses "trace", @@ -1635,16 +1574,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1677,7 +1610,6 @@ def __init__( backgroundcolor=None, calendar=None, categoryarray=None, - categoryarraysrc=None, categoryorder=None, color=None, dtick=None, @@ -1721,9 +1653,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, type=None, @@ -1774,9 +1704,6 @@ def __init__( Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to "array". Used with `categoryorder`. - categoryarraysrc - Sets the source reference on Chart Studio Cloud for - `categoryarray`. categoryorder Specifies the ordering logic for the case of categorical variables. By default, plotly uses "trace", @@ -2008,16 +1935,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -2070,7 +1991,6 @@ def __init__( self._set_property("backgroundcolor", arg, backgroundcolor) self._set_property("calendar", arg, calendar) self._set_property("categoryarray", arg, categoryarray) - self._set_property("categoryarraysrc", arg, categoryarraysrc) self._set_property("categoryorder", arg, categoryorder) self._set_property("color", arg, color) self._set_property("dtick", arg, dtick) @@ -2114,9 +2034,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("type", arg, type) diff --git a/plotly/graph_objs/layout/scene/_yaxis.py b/plotly/graph_objs/layout/scene/_yaxis.py index d4eb81a8c3c..11c28f9ad13 100644 --- a/plotly/graph_objs/layout/scene/_yaxis.py +++ b/plotly/graph_objs/layout/scene/_yaxis.py @@ -15,7 +15,6 @@ class YAxis(_BaseLayoutHierarchyType): "backgroundcolor", "calendar", "categoryarray", - "categoryarraysrc", "categoryorder", "color", "dtick", @@ -59,9 +58,7 @@ class YAxis(_BaseLayoutHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "type", @@ -208,25 +205,6 @@ def categoryarray(self): def categoryarray(self, val): self["categoryarray"] = val - @property - def categoryarraysrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `categoryarray`. - - The 'categoryarraysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["categoryarraysrc"] - - @categoryarraysrc.setter - def categoryarraysrc(self, val): - self["categoryarraysrc"] = val - @property def categoryorder(self): """ @@ -1173,24 +1151,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -1210,24 +1170,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1401,9 +1343,6 @@ def _prop_descriptions(self): Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to "array". Used with `categoryorder`. - categoryarraysrc - Sets the source reference on Chart Studio Cloud for - `categoryarray`. categoryorder Specifies the ordering logic for the case of categorical variables. By default, plotly uses "trace", @@ -1635,16 +1574,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1677,7 +1610,6 @@ def __init__( backgroundcolor=None, calendar=None, categoryarray=None, - categoryarraysrc=None, categoryorder=None, color=None, dtick=None, @@ -1721,9 +1653,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, type=None, @@ -1774,9 +1704,6 @@ def __init__( Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to "array". Used with `categoryorder`. - categoryarraysrc - Sets the source reference on Chart Studio Cloud for - `categoryarray`. categoryorder Specifies the ordering logic for the case of categorical variables. By default, plotly uses "trace", @@ -2008,16 +1935,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -2070,7 +1991,6 @@ def __init__( self._set_property("backgroundcolor", arg, backgroundcolor) self._set_property("calendar", arg, calendar) self._set_property("categoryarray", arg, categoryarray) - self._set_property("categoryarraysrc", arg, categoryarraysrc) self._set_property("categoryorder", arg, categoryorder) self._set_property("color", arg, color) self._set_property("dtick", arg, dtick) @@ -2114,9 +2034,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("type", arg, type) diff --git a/plotly/graph_objs/layout/scene/_zaxis.py b/plotly/graph_objs/layout/scene/_zaxis.py index 935c41554e5..d44da2997e6 100644 --- a/plotly/graph_objs/layout/scene/_zaxis.py +++ b/plotly/graph_objs/layout/scene/_zaxis.py @@ -15,7 +15,6 @@ class ZAxis(_BaseLayoutHierarchyType): "backgroundcolor", "calendar", "categoryarray", - "categoryarraysrc", "categoryorder", "color", "dtick", @@ -59,9 +58,7 @@ class ZAxis(_BaseLayoutHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "type", @@ -208,25 +205,6 @@ def categoryarray(self): def categoryarray(self, val): self["categoryarray"] = val - @property - def categoryarraysrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `categoryarray`. - - The 'categoryarraysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["categoryarraysrc"] - - @categoryarraysrc.setter - def categoryarraysrc(self, val): - self["categoryarraysrc"] = val - @property def categoryorder(self): """ @@ -1173,24 +1151,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -1210,24 +1170,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1401,9 +1343,6 @@ def _prop_descriptions(self): Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to "array". Used with `categoryorder`. - categoryarraysrc - Sets the source reference on Chart Studio Cloud for - `categoryarray`. categoryorder Specifies the ordering logic for the case of categorical variables. By default, plotly uses "trace", @@ -1635,16 +1574,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1677,7 +1610,6 @@ def __init__( backgroundcolor=None, calendar=None, categoryarray=None, - categoryarraysrc=None, categoryorder=None, color=None, dtick=None, @@ -1721,9 +1653,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, type=None, @@ -1774,9 +1704,6 @@ def __init__( Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to "array". Used with `categoryorder`. - categoryarraysrc - Sets the source reference on Chart Studio Cloud for - `categoryarray`. categoryorder Specifies the ordering logic for the case of categorical variables. By default, plotly uses "trace", @@ -2008,16 +1935,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -2070,7 +1991,6 @@ def __init__( self._set_property("backgroundcolor", arg, backgroundcolor) self._set_property("calendar", arg, calendar) self._set_property("categoryarray", arg, categoryarray) - self._set_property("categoryarraysrc", arg, categoryarraysrc) self._set_property("categoryorder", arg, categoryorder) self._set_property("color", arg, color) self._set_property("dtick", arg, dtick) @@ -2114,9 +2034,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("type", arg, type) diff --git a/plotly/graph_objs/layout/scene/xaxis/_autorangeoptions.py b/plotly/graph_objs/layout/scene/xaxis/_autorangeoptions.py index 707a38eb4e5..83796899b54 100644 --- a/plotly/graph_objs/layout/scene/xaxis/_autorangeoptions.py +++ b/plotly/graph_objs/layout/scene/xaxis/_autorangeoptions.py @@ -8,14 +8,7 @@ class Autorangeoptions(_BaseLayoutHierarchyType): _parent_path_str = "layout.scene.xaxis" _path_str = "layout.scene.xaxis.autorangeoptions" - _valid_props = { - "clipmax", - "clipmin", - "include", - "includesrc", - "maxallowed", - "minallowed", - } + _valid_props = {"clipmax", "clipmin", "include", "maxallowed", "minallowed"} @property def clipmax(self): @@ -56,7 +49,11 @@ def clipmin(self, val): @property def include(self): """ - Ensure this value is included in autorange. + Extends the autorange to include this value or array of values, + even when they fall outside the data range. Has no effect on + endpoints set by `autorangeoptions.minallowed` or + `autorangeoptions.maxallowed`. Subject to + `autorangeoptions.clipmin` and `autorangeoptions.clipmax`. The 'include' property accepts values of any type @@ -70,24 +67,6 @@ def include(self): def include(self, val): self["include"] = val - @property - def includesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `include`. - - The 'includesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["includesrc"] - - @includesrc.setter - def includesrc(self, val): - self["includesrc"] = val - @property def maxallowed(self): """ @@ -134,10 +113,13 @@ def _prop_descriptions(self): Has no effect when `autorangeoptions.minallowed` is provided. include - Ensure this value is included in autorange. - includesrc - Sets the source reference on Chart Studio Cloud for - `include`. + Extends the autorange to include this value or array of + values, even when they fall outside the data range. Has + no effect on endpoints set by + `autorangeoptions.minallowed` or + `autorangeoptions.maxallowed`. Subject to + `autorangeoptions.clipmin` and + `autorangeoptions.clipmax`. maxallowed Use this value exactly as autorange maximum. minallowed @@ -150,7 +132,6 @@ def __init__( clipmax=None, clipmin=None, include=None, - includesrc=None, maxallowed=None, minallowed=None, **kwargs, @@ -173,10 +154,13 @@ def __init__( Has no effect when `autorangeoptions.minallowed` is provided. include - Ensure this value is included in autorange. - includesrc - Sets the source reference on Chart Studio Cloud for - `include`. + Extends the autorange to include this value or array of + values, even when they fall outside the data range. Has + no effect on endpoints set by + `autorangeoptions.minallowed` or + `autorangeoptions.maxallowed`. Subject to + `autorangeoptions.clipmin` and + `autorangeoptions.clipmax`. maxallowed Use this value exactly as autorange maximum. minallowed @@ -209,7 +193,6 @@ def __init__( self._set_property("clipmax", arg, clipmax) self._set_property("clipmin", arg, clipmin) self._set_property("include", arg, include) - self._set_property("includesrc", arg, includesrc) self._set_property("maxallowed", arg, maxallowed) self._set_property("minallowed", arg, minallowed) self._process_kwargs(**dict(arg, **kwargs)) diff --git a/plotly/graph_objs/layout/scene/yaxis/_autorangeoptions.py b/plotly/graph_objs/layout/scene/yaxis/_autorangeoptions.py index 1f57deff9a8..3b0c3d292e2 100644 --- a/plotly/graph_objs/layout/scene/yaxis/_autorangeoptions.py +++ b/plotly/graph_objs/layout/scene/yaxis/_autorangeoptions.py @@ -8,14 +8,7 @@ class Autorangeoptions(_BaseLayoutHierarchyType): _parent_path_str = "layout.scene.yaxis" _path_str = "layout.scene.yaxis.autorangeoptions" - _valid_props = { - "clipmax", - "clipmin", - "include", - "includesrc", - "maxallowed", - "minallowed", - } + _valid_props = {"clipmax", "clipmin", "include", "maxallowed", "minallowed"} @property def clipmax(self): @@ -56,7 +49,11 @@ def clipmin(self, val): @property def include(self): """ - Ensure this value is included in autorange. + Extends the autorange to include this value or array of values, + even when they fall outside the data range. Has no effect on + endpoints set by `autorangeoptions.minallowed` or + `autorangeoptions.maxallowed`. Subject to + `autorangeoptions.clipmin` and `autorangeoptions.clipmax`. The 'include' property accepts values of any type @@ -70,24 +67,6 @@ def include(self): def include(self, val): self["include"] = val - @property - def includesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `include`. - - The 'includesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["includesrc"] - - @includesrc.setter - def includesrc(self, val): - self["includesrc"] = val - @property def maxallowed(self): """ @@ -134,10 +113,13 @@ def _prop_descriptions(self): Has no effect when `autorangeoptions.minallowed` is provided. include - Ensure this value is included in autorange. - includesrc - Sets the source reference on Chart Studio Cloud for - `include`. + Extends the autorange to include this value or array of + values, even when they fall outside the data range. Has + no effect on endpoints set by + `autorangeoptions.minallowed` or + `autorangeoptions.maxallowed`. Subject to + `autorangeoptions.clipmin` and + `autorangeoptions.clipmax`. maxallowed Use this value exactly as autorange maximum. minallowed @@ -150,7 +132,6 @@ def __init__( clipmax=None, clipmin=None, include=None, - includesrc=None, maxallowed=None, minallowed=None, **kwargs, @@ -173,10 +154,13 @@ def __init__( Has no effect when `autorangeoptions.minallowed` is provided. include - Ensure this value is included in autorange. - includesrc - Sets the source reference on Chart Studio Cloud for - `include`. + Extends the autorange to include this value or array of + values, even when they fall outside the data range. Has + no effect on endpoints set by + `autorangeoptions.minallowed` or + `autorangeoptions.maxallowed`. Subject to + `autorangeoptions.clipmin` and + `autorangeoptions.clipmax`. maxallowed Use this value exactly as autorange maximum. minallowed @@ -209,7 +193,6 @@ def __init__( self._set_property("clipmax", arg, clipmax) self._set_property("clipmin", arg, clipmin) self._set_property("include", arg, include) - self._set_property("includesrc", arg, includesrc) self._set_property("maxallowed", arg, maxallowed) self._set_property("minallowed", arg, minallowed) self._process_kwargs(**dict(arg, **kwargs)) diff --git a/plotly/graph_objs/layout/scene/zaxis/_autorangeoptions.py b/plotly/graph_objs/layout/scene/zaxis/_autorangeoptions.py index ca4a8db91b4..545110da5dd 100644 --- a/plotly/graph_objs/layout/scene/zaxis/_autorangeoptions.py +++ b/plotly/graph_objs/layout/scene/zaxis/_autorangeoptions.py @@ -8,14 +8,7 @@ class Autorangeoptions(_BaseLayoutHierarchyType): _parent_path_str = "layout.scene.zaxis" _path_str = "layout.scene.zaxis.autorangeoptions" - _valid_props = { - "clipmax", - "clipmin", - "include", - "includesrc", - "maxallowed", - "minallowed", - } + _valid_props = {"clipmax", "clipmin", "include", "maxallowed", "minallowed"} @property def clipmax(self): @@ -56,7 +49,11 @@ def clipmin(self, val): @property def include(self): """ - Ensure this value is included in autorange. + Extends the autorange to include this value or array of values, + even when they fall outside the data range. Has no effect on + endpoints set by `autorangeoptions.minallowed` or + `autorangeoptions.maxallowed`. Subject to + `autorangeoptions.clipmin` and `autorangeoptions.clipmax`. The 'include' property accepts values of any type @@ -70,24 +67,6 @@ def include(self): def include(self, val): self["include"] = val - @property - def includesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `include`. - - The 'includesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["includesrc"] - - @includesrc.setter - def includesrc(self, val): - self["includesrc"] = val - @property def maxallowed(self): """ @@ -134,10 +113,13 @@ def _prop_descriptions(self): Has no effect when `autorangeoptions.minallowed` is provided. include - Ensure this value is included in autorange. - includesrc - Sets the source reference on Chart Studio Cloud for - `include`. + Extends the autorange to include this value or array of + values, even when they fall outside the data range. Has + no effect on endpoints set by + `autorangeoptions.minallowed` or + `autorangeoptions.maxallowed`. Subject to + `autorangeoptions.clipmin` and + `autorangeoptions.clipmax`. maxallowed Use this value exactly as autorange maximum. minallowed @@ -150,7 +132,6 @@ def __init__( clipmax=None, clipmin=None, include=None, - includesrc=None, maxallowed=None, minallowed=None, **kwargs, @@ -173,10 +154,13 @@ def __init__( Has no effect when `autorangeoptions.minallowed` is provided. include - Ensure this value is included in autorange. - includesrc - Sets the source reference on Chart Studio Cloud for - `include`. + Extends the autorange to include this value or array of + values, even when they fall outside the data range. Has + no effect on endpoints set by + `autorangeoptions.minallowed` or + `autorangeoptions.maxallowed`. Subject to + `autorangeoptions.clipmin` and + `autorangeoptions.clipmax`. maxallowed Use this value exactly as autorange maximum. minallowed @@ -209,7 +193,6 @@ def __init__( self._set_property("clipmax", arg, clipmax) self._set_property("clipmin", arg, clipmin) self._set_property("include", arg, include) - self._set_property("includesrc", arg, includesrc) self._set_property("maxallowed", arg, maxallowed) self._set_property("minallowed", arg, minallowed) self._process_kwargs(**dict(arg, **kwargs)) diff --git a/plotly/graph_objs/layout/smith/_domain.py b/plotly/graph_objs/layout/smith/_domain.py index 5ce5f308eea..723a59675db 100644 --- a/plotly/graph_objs/layout/smith/_domain.py +++ b/plotly/graph_objs/layout/smith/_domain.py @@ -14,7 +14,7 @@ class Domain(_BaseLayoutHierarchyType): def column(self): """ If there is a layout grid, use the domain for this column in - the grid for this smith subplot . + the grid for this smith subplot. The 'column' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -34,7 +34,7 @@ def column(self, val): def row(self): """ If there is a layout grid, use the domain for this row in the - grid for this smith subplot . + grid for this smith subplot. The 'row' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -103,10 +103,10 @@ def _prop_descriptions(self): return """\ column If there is a layout grid, use the domain for this - column in the grid for this smith subplot . + column in the grid for this smith subplot. row If there is a layout grid, use the domain for this row - in the grid for this smith subplot . + in the grid for this smith subplot. x Sets the horizontal domain of this smith subplot (in plot fraction). @@ -127,10 +127,10 @@ def __init__(self, arg=None, column=None, row=None, x=None, y=None, **kwargs): :class:`plotly.graph_objs.layout.smith.Domain` column If there is a layout grid, use the domain for this - column in the grid for this smith subplot . + column in the grid for this smith subplot. row If there is a layout grid, use the domain for this row - in the grid for this smith subplot . + in the grid for this smith subplot. x Sets the horizontal domain of this smith subplot (in plot fraction). diff --git a/plotly/graph_objs/layout/smith/_imaginaryaxis.py b/plotly/graph_objs/layout/smith/_imaginaryaxis.py index 90ab43a8f92..3ed62d72c94 100644 --- a/plotly/graph_objs/layout/smith/_imaginaryaxis.py +++ b/plotly/graph_objs/layout/smith/_imaginaryaxis.py @@ -31,7 +31,6 @@ class Imaginaryaxis(_BaseLayoutHierarchyType): "ticks", "ticksuffix", "tickvals", - "tickvalssrc", "tickwidth", "visible", } @@ -505,24 +504,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -658,9 +639,6 @@ def _prop_descriptions(self): Sets the values at which ticks on this axis appear. Defaults to `realaxis.tickvals` plus the same as negatives and zero. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). visible @@ -694,7 +672,6 @@ def __init__( ticks=None, ticksuffix=None, tickvals=None, - tickvalssrc=None, tickwidth=None, visible=None, **kwargs, @@ -802,9 +779,6 @@ def __init__( Sets the values at which ticks on this axis appear. Defaults to `realaxis.tickvals` plus the same as negatives and zero. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). visible @@ -858,7 +832,6 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("visible", arg, visible) self._process_kwargs(**dict(arg, **kwargs)) diff --git a/plotly/graph_objs/layout/smith/_realaxis.py b/plotly/graph_objs/layout/smith/_realaxis.py index 0e9fc48520a..883deb1d183 100644 --- a/plotly/graph_objs/layout/smith/_realaxis.py +++ b/plotly/graph_objs/layout/smith/_realaxis.py @@ -33,7 +33,6 @@ class Realaxis(_BaseLayoutHierarchyType): "ticks", "ticksuffix", "tickvals", - "tickvalssrc", "tickwidth", "visible", } @@ -548,24 +547,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -706,9 +687,6 @@ def _prop_descriptions(self): Sets a tick label suffix. tickvals Sets the values at which ticks on this axis appear. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). visible @@ -744,7 +722,6 @@ def __init__( ticks=None, ticksuffix=None, tickvals=None, - tickvalssrc=None, tickwidth=None, visible=None, **kwargs, @@ -857,9 +834,6 @@ def __init__( Sets a tick label suffix. tickvals Sets the values at which ticks on this axis appear. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). visible @@ -915,7 +889,6 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("visible", arg, visible) self._process_kwargs(**dict(arg, **kwargs)) diff --git a/plotly/graph_objs/layout/template/_data.py b/plotly/graph_objs/layout/template/_data.py index ef3b5f69395..e182a40f5b9 100644 --- a/plotly/graph_objs/layout/template/_data.py +++ b/plotly/graph_objs/layout/template/_data.py @@ -16,12 +16,10 @@ class Data(_BaseLayoutHierarchyType): "carpet", "choropleth", "choroplethmap", - "choroplethmapbox", "cone", "contour", "contourcarpet", "densitymap", - "densitymapbox", "funnel", "funnelarea", "heatmap", @@ -37,6 +35,7 @@ class Data(_BaseLayoutHierarchyType): "parcats", "parcoords", "pie", + "quiver", "sankey", "scatter", "scatter3d", @@ -44,7 +43,6 @@ class Data(_BaseLayoutHierarchyType): "scattergeo", "scattergl", "scattermap", - "scattermapbox", "scatterpolar", "scatterpolargl", "scattersmith", @@ -155,25 +153,6 @@ def carpet(self): def carpet(self, val): self["carpet"] = val - @property - def choroplethmapbox(self): - """ - The 'choroplethmapbox' property is a tuple of instances of - Choroplethmapbox that may be specified as: - - A list or tuple of instances of plotly.graph_objs.layout.template.data.Choroplethmapbox - - A list or tuple of dicts of string/value properties that - will be passed to the Choroplethmapbox constructor - - Returns - ------- - tuple[plotly.graph_objs.layout.template.data.Choroplethmapbox] - """ - return self["choroplethmapbox"] - - @choroplethmapbox.setter - def choroplethmapbox(self, val): - self["choroplethmapbox"] = val - @property def choroplethmap(self): """ @@ -269,25 +248,6 @@ def contour(self): def contour(self, val): self["contour"] = val - @property - def densitymapbox(self): - """ - The 'densitymapbox' property is a tuple of instances of - Densitymapbox that may be specified as: - - A list or tuple of instances of plotly.graph_objs.layout.template.data.Densitymapbox - - A list or tuple of dicts of string/value properties that - will be passed to the Densitymapbox constructor - - Returns - ------- - tuple[plotly.graph_objs.layout.template.data.Densitymapbox] - """ - return self["densitymapbox"] - - @densitymapbox.setter - def densitymapbox(self, val): - self["densitymapbox"] = val - @property def densitymap(self): """ @@ -592,6 +552,25 @@ def pie(self): def pie(self, val): self["pie"] = val + @property + def quiver(self): + """ + The 'quiver' property is a tuple of instances of + Quiver that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Quiver + - A list or tuple of dicts of string/value properties that + will be passed to the Quiver constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Quiver] + """ + return self["quiver"] + + @quiver.setter + def quiver(self, val): + self["quiver"] = val + @property def sankey(self): """ @@ -687,25 +666,6 @@ def scattergl(self): def scattergl(self, val): self["scattergl"] = val - @property - def scattermapbox(self): - """ - The 'scattermapbox' property is a tuple of instances of - Scattermapbox that may be specified as: - - A list or tuple of instances of plotly.graph_objs.layout.template.data.Scattermapbox - - A list or tuple of dicts of string/value properties that - will be passed to the Scattermapbox constructor - - Returns - ------- - tuple[plotly.graph_objs.layout.template.data.Scattermapbox] - """ - return self["scattermapbox"] - - @scattermapbox.setter - def scattermapbox(self, val): - self["scattermapbox"] = val - @property def scattermap(self): """ @@ -1009,10 +969,6 @@ def _prop_descriptions(self): carpet A tuple of :class:`plotly.graph_objects.Carpet` instances or dicts with compatible properties - choroplethmapbox - A tuple of - :class:`plotly.graph_objects.Choroplethmapbox` - instances or dicts with compatible properties choroplethmap A tuple of :class:`plotly.graph_objects.Choroplethmap` instances or dicts with compatible properties @@ -1028,9 +984,6 @@ def _prop_descriptions(self): contour A tuple of :class:`plotly.graph_objects.Contour` instances or dicts with compatible properties - densitymapbox - A tuple of :class:`plotly.graph_objects.Densitymapbox` - instances or dicts with compatible properties densitymap A tuple of :class:`plotly.graph_objects.Densitymap` instances or dicts with compatible properties @@ -1080,6 +1033,9 @@ def _prop_descriptions(self): pie A tuple of :class:`plotly.graph_objects.Pie` instances or dicts with compatible properties + quiver + A tuple of :class:`plotly.graph_objects.Quiver` + instances or dicts with compatible properties sankey A tuple of :class:`plotly.graph_objects.Sankey` instances or dicts with compatible properties @@ -1095,9 +1051,6 @@ def _prop_descriptions(self): scattergl A tuple of :class:`plotly.graph_objects.Scattergl` instances or dicts with compatible properties - scattermapbox - A tuple of :class:`plotly.graph_objects.Scattermapbox` - instances or dicts with compatible properties scattermap A tuple of :class:`plotly.graph_objects.Scattermap` instances or dicts with compatible properties @@ -1153,13 +1106,11 @@ def __init__( box=None, candlestick=None, carpet=None, - choroplethmapbox=None, choroplethmap=None, choropleth=None, cone=None, contourcarpet=None, contour=None, - densitymapbox=None, densitymap=None, funnelarea=None, funnel=None, @@ -1176,12 +1127,12 @@ def __init__( parcats=None, parcoords=None, pie=None, + quiver=None, sankey=None, scatter3d=None, scattercarpet=None, scattergeo=None, scattergl=None, - scattermapbox=None, scattermap=None, scatterpolargl=None, scatterpolar=None, @@ -1223,10 +1174,6 @@ def __init__( carpet A tuple of :class:`plotly.graph_objects.Carpet` instances or dicts with compatible properties - choroplethmapbox - A tuple of - :class:`plotly.graph_objects.Choroplethmapbox` - instances or dicts with compatible properties choroplethmap A tuple of :class:`plotly.graph_objects.Choroplethmap` instances or dicts with compatible properties @@ -1242,9 +1189,6 @@ def __init__( contour A tuple of :class:`plotly.graph_objects.Contour` instances or dicts with compatible properties - densitymapbox - A tuple of :class:`plotly.graph_objects.Densitymapbox` - instances or dicts with compatible properties densitymap A tuple of :class:`plotly.graph_objects.Densitymap` instances or dicts with compatible properties @@ -1294,6 +1238,9 @@ def __init__( pie A tuple of :class:`plotly.graph_objects.Pie` instances or dicts with compatible properties + quiver + A tuple of :class:`plotly.graph_objects.Quiver` + instances or dicts with compatible properties sankey A tuple of :class:`plotly.graph_objects.Sankey` instances or dicts with compatible properties @@ -1309,9 +1256,6 @@ def __init__( scattergl A tuple of :class:`plotly.graph_objects.Scattergl` instances or dicts with compatible properties - scattermapbox - A tuple of :class:`plotly.graph_objects.Scattermapbox` - instances or dicts with compatible properties scattermap A tuple of :class:`plotly.graph_objects.Scattermap` instances or dicts with compatible properties @@ -1387,13 +1331,11 @@ def __init__( self._set_property("box", arg, box) self._set_property("candlestick", arg, candlestick) self._set_property("carpet", arg, carpet) - self._set_property("choroplethmapbox", arg, choroplethmapbox) self._set_property("choroplethmap", arg, choroplethmap) self._set_property("choropleth", arg, choropleth) self._set_property("cone", arg, cone) self._set_property("contourcarpet", arg, contourcarpet) self._set_property("contour", arg, contour) - self._set_property("densitymapbox", arg, densitymapbox) self._set_property("densitymap", arg, densitymap) self._set_property("funnelarea", arg, funnelarea) self._set_property("funnel", arg, funnel) @@ -1410,12 +1352,12 @@ def __init__( self._set_property("parcats", arg, parcats) self._set_property("parcoords", arg, parcoords) self._set_property("pie", arg, pie) + self._set_property("quiver", arg, quiver) self._set_property("sankey", arg, sankey) self._set_property("scatter3d", arg, scatter3d) self._set_property("scattercarpet", arg, scattercarpet) self._set_property("scattergeo", arg, scattergeo) self._set_property("scattergl", arg, scattergl) - self._set_property("scattermapbox", arg, scattermapbox) self._set_property("scattermap", arg, scattermap) self._set_property("scatterpolargl", arg, scatterpolargl) self._set_property("scatterpolar", arg, scatterpolar) diff --git a/plotly/graph_objs/layout/template/data/__init__.py b/plotly/graph_objs/layout/template/data/__init__.py index 1ce619ded30..2ebd3a70c6f 100644 --- a/plotly/graph_objs/layout/template/data/__init__.py +++ b/plotly/graph_objs/layout/template/data/__init__.py @@ -9,12 +9,10 @@ from ._carpet import Carpet from ._choropleth import Choropleth from ._choroplethmap import Choroplethmap - from ._choroplethmapbox import Choroplethmapbox from ._cone import Cone from ._contour import Contour from ._contourcarpet import Contourcarpet from ._densitymap import Densitymap - from ._densitymapbox import Densitymapbox from ._funnel import Funnel from ._funnelarea import Funnelarea from ._heatmap import Heatmap @@ -30,6 +28,7 @@ from ._parcats import Parcats from ._parcoords import Parcoords from ._pie import Pie + from ._quiver import Quiver from ._sankey import Sankey from ._scatter import Scatter from ._scatter3d import Scatter3d @@ -37,7 +36,6 @@ from ._scattergeo import Scattergeo from ._scattergl import Scattergl from ._scattermap import Scattermap - from ._scattermapbox import Scattermapbox from ._scatterpolar import Scatterpolar from ._scatterpolargl import Scatterpolargl from ._scattersmith import Scattersmith @@ -65,12 +63,10 @@ "._carpet.Carpet", "._choropleth.Choropleth", "._choroplethmap.Choroplethmap", - "._choroplethmapbox.Choroplethmapbox", "._cone.Cone", "._contour.Contour", "._contourcarpet.Contourcarpet", "._densitymap.Densitymap", - "._densitymapbox.Densitymapbox", "._funnel.Funnel", "._funnelarea.Funnelarea", "._heatmap.Heatmap", @@ -86,6 +82,7 @@ "._parcats.Parcats", "._parcoords.Parcoords", "._pie.Pie", + "._quiver.Quiver", "._sankey.Sankey", "._scatter.Scatter", "._scatter3d.Scatter3d", @@ -93,7 +90,6 @@ "._scattergeo.Scattergeo", "._scattergl.Scattergl", "._scattermap.Scattermap", - "._scattermapbox.Scattermapbox", "._scatterpolar.Scatterpolar", "._scatterpolargl.Scatterpolargl", "._scattersmith.Scattersmith", diff --git a/plotly/graph_objs/layout/template/data/_choroplethmapbox.py b/plotly/graph_objs/layout/template/data/_choroplethmapbox.py deleted file mode 100644 index 220b93564e7..00000000000 --- a/plotly/graph_objs/layout/template/data/_choroplethmapbox.py +++ /dev/null @@ -1 +0,0 @@ -from plotly.graph_objs import Choroplethmapbox diff --git a/plotly/graph_objs/layout/template/data/_densitymapbox.py b/plotly/graph_objs/layout/template/data/_densitymapbox.py deleted file mode 100644 index d655b21ab3f..00000000000 --- a/plotly/graph_objs/layout/template/data/_densitymapbox.py +++ /dev/null @@ -1 +0,0 @@ -from plotly.graph_objs import Densitymapbox diff --git a/plotly/graph_objs/layout/template/data/_quiver.py b/plotly/graph_objs/layout/template/data/_quiver.py new file mode 100644 index 00000000000..d0c486c2b91 --- /dev/null +++ b/plotly/graph_objs/layout/template/data/_quiver.py @@ -0,0 +1 @@ +from plotly.graph_objs import Quiver diff --git a/plotly/graph_objs/layout/template/data/_scattermapbox.py b/plotly/graph_objs/layout/template/data/_scattermapbox.py deleted file mode 100644 index 6c3333aa945..00000000000 --- a/plotly/graph_objs/layout/template/data/_scattermapbox.py +++ /dev/null @@ -1 +0,0 @@ -from plotly.graph_objs import Scattermapbox diff --git a/plotly/graph_objs/layout/ternary/_aaxis.py b/plotly/graph_objs/layout/ternary/_aaxis.py index 6396dee6424..1986a850027 100644 --- a/plotly/graph_objs/layout/ternary/_aaxis.py +++ b/plotly/graph_objs/layout/ternary/_aaxis.py @@ -44,9 +44,7 @@ class Aaxis(_BaseLayoutHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "uirevision", @@ -826,24 +824,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -863,24 +843,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1133,16 +1095,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1192,9 +1148,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, uirevision=None, @@ -1402,16 +1356,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1481,9 +1429,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("uirevision", arg, uirevision) diff --git a/plotly/graph_objs/layout/ternary/_baxis.py b/plotly/graph_objs/layout/ternary/_baxis.py index d5d55bde7fa..73530050b31 100644 --- a/plotly/graph_objs/layout/ternary/_baxis.py +++ b/plotly/graph_objs/layout/ternary/_baxis.py @@ -44,9 +44,7 @@ class Baxis(_BaseLayoutHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "uirevision", @@ -826,24 +824,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -863,24 +843,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1133,16 +1095,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1192,9 +1148,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, uirevision=None, @@ -1402,16 +1356,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1481,9 +1429,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("uirevision", arg, uirevision) diff --git a/plotly/graph_objs/layout/ternary/_caxis.py b/plotly/graph_objs/layout/ternary/_caxis.py index d68b5cc2291..e01ed712b60 100644 --- a/plotly/graph_objs/layout/ternary/_caxis.py +++ b/plotly/graph_objs/layout/ternary/_caxis.py @@ -44,9 +44,7 @@ class Caxis(_BaseLayoutHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "uirevision", @@ -826,24 +824,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -863,24 +843,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1133,16 +1095,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1192,9 +1148,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, uirevision=None, @@ -1402,16 +1356,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1481,9 +1429,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("uirevision", arg, uirevision) diff --git a/plotly/graph_objs/layout/ternary/_domain.py b/plotly/graph_objs/layout/ternary/_domain.py index 73347e7ecf2..417bb184fef 100644 --- a/plotly/graph_objs/layout/ternary/_domain.py +++ b/plotly/graph_objs/layout/ternary/_domain.py @@ -14,7 +14,7 @@ class Domain(_BaseLayoutHierarchyType): def column(self): """ If there is a layout grid, use the domain for this column in - the grid for this ternary subplot . + the grid for this ternary subplot. The 'column' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -34,7 +34,7 @@ def column(self, val): def row(self): """ If there is a layout grid, use the domain for this row in the - grid for this ternary subplot . + grid for this ternary subplot. The 'row' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -103,10 +103,10 @@ def _prop_descriptions(self): return """\ column If there is a layout grid, use the domain for this - column in the grid for this ternary subplot . + column in the grid for this ternary subplot. row If there is a layout grid, use the domain for this row - in the grid for this ternary subplot . + in the grid for this ternary subplot. x Sets the horizontal domain of this ternary subplot (in plot fraction). @@ -127,10 +127,10 @@ def __init__(self, arg=None, column=None, row=None, x=None, y=None, **kwargs): :class:`plotly.graph_objs.layout.ternary.Domain` column If there is a layout grid, use the domain for this - column in the grid for this ternary subplot . + column in the grid for this ternary subplot. row If there is a layout grid, use the domain for this row - in the grid for this ternary subplot . + in the grid for this ternary subplot. x Sets the horizontal domain of this ternary subplot (in plot fraction). diff --git a/plotly/graph_objs/layout/xaxis/_autorangeoptions.py b/plotly/graph_objs/layout/xaxis/_autorangeoptions.py index e16114be60a..30dd8c2bc34 100644 --- a/plotly/graph_objs/layout/xaxis/_autorangeoptions.py +++ b/plotly/graph_objs/layout/xaxis/_autorangeoptions.py @@ -8,14 +8,7 @@ class Autorangeoptions(_BaseLayoutHierarchyType): _parent_path_str = "layout.xaxis" _path_str = "layout.xaxis.autorangeoptions" - _valid_props = { - "clipmax", - "clipmin", - "include", - "includesrc", - "maxallowed", - "minallowed", - } + _valid_props = {"clipmax", "clipmin", "include", "maxallowed", "minallowed"} @property def clipmax(self): @@ -56,7 +49,11 @@ def clipmin(self, val): @property def include(self): """ - Ensure this value is included in autorange. + Extends the autorange to include this value or array of values, + even when they fall outside the data range. Has no effect on + endpoints set by `autorangeoptions.minallowed` or + `autorangeoptions.maxallowed`. Subject to + `autorangeoptions.clipmin` and `autorangeoptions.clipmax`. The 'include' property accepts values of any type @@ -70,24 +67,6 @@ def include(self): def include(self, val): self["include"] = val - @property - def includesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `include`. - - The 'includesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["includesrc"] - - @includesrc.setter - def includesrc(self, val): - self["includesrc"] = val - @property def maxallowed(self): """ @@ -134,10 +113,13 @@ def _prop_descriptions(self): Has no effect when `autorangeoptions.minallowed` is provided. include - Ensure this value is included in autorange. - includesrc - Sets the source reference on Chart Studio Cloud for - `include`. + Extends the autorange to include this value or array of + values, even when they fall outside the data range. Has + no effect on endpoints set by + `autorangeoptions.minallowed` or + `autorangeoptions.maxallowed`. Subject to + `autorangeoptions.clipmin` and + `autorangeoptions.clipmax`. maxallowed Use this value exactly as autorange maximum. minallowed @@ -150,7 +132,6 @@ def __init__( clipmax=None, clipmin=None, include=None, - includesrc=None, maxallowed=None, minallowed=None, **kwargs, @@ -173,10 +154,13 @@ def __init__( Has no effect when `autorangeoptions.minallowed` is provided. include - Ensure this value is included in autorange. - includesrc - Sets the source reference on Chart Studio Cloud for - `include`. + Extends the autorange to include this value or array of + values, even when they fall outside the data range. Has + no effect on endpoints set by + `autorangeoptions.minallowed` or + `autorangeoptions.maxallowed`. Subject to + `autorangeoptions.clipmin` and + `autorangeoptions.clipmax`. maxallowed Use this value exactly as autorange maximum. minallowed @@ -209,7 +193,6 @@ def __init__( self._set_property("clipmax", arg, clipmax) self._set_property("clipmin", arg, clipmin) self._set_property("include", arg, include) - self._set_property("includesrc", arg, includesrc) self._set_property("maxallowed", arg, maxallowed) self._set_property("minallowed", arg, minallowed) self._process_kwargs(**dict(arg, **kwargs)) diff --git a/plotly/graph_objs/layout/xaxis/_minor.py b/plotly/graph_objs/layout/xaxis/_minor.py index e52618df741..7e473f85160 100644 --- a/plotly/graph_objs/layout/xaxis/_minor.py +++ b/plotly/graph_objs/layout/xaxis/_minor.py @@ -21,7 +21,6 @@ class Minor(_BaseLayoutHierarchyType): "tickmode", "ticks", "tickvals", - "tickvalssrc", "tickwidth", } @@ -296,24 +295,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -409,9 +390,6 @@ def _prop_descriptions(self): Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). """ @@ -431,7 +409,6 @@ def __init__( tickmode=None, ticks=None, tickvals=None, - tickvalssrc=None, tickwidth=None, **kwargs, ): @@ -518,9 +495,6 @@ def __init__( Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). @@ -560,7 +534,6 @@ def __init__( self._set_property("tickmode", arg, tickmode) self._set_property("ticks", arg, ticks) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/layout/yaxis/_autorangeoptions.py b/plotly/graph_objs/layout/yaxis/_autorangeoptions.py index 722feb1d2f7..8997e6a9326 100644 --- a/plotly/graph_objs/layout/yaxis/_autorangeoptions.py +++ b/plotly/graph_objs/layout/yaxis/_autorangeoptions.py @@ -8,14 +8,7 @@ class Autorangeoptions(_BaseLayoutHierarchyType): _parent_path_str = "layout.yaxis" _path_str = "layout.yaxis.autorangeoptions" - _valid_props = { - "clipmax", - "clipmin", - "include", - "includesrc", - "maxallowed", - "minallowed", - } + _valid_props = {"clipmax", "clipmin", "include", "maxallowed", "minallowed"} @property def clipmax(self): @@ -56,7 +49,11 @@ def clipmin(self, val): @property def include(self): """ - Ensure this value is included in autorange. + Extends the autorange to include this value or array of values, + even when they fall outside the data range. Has no effect on + endpoints set by `autorangeoptions.minallowed` or + `autorangeoptions.maxallowed`. Subject to + `autorangeoptions.clipmin` and `autorangeoptions.clipmax`. The 'include' property accepts values of any type @@ -70,24 +67,6 @@ def include(self): def include(self, val): self["include"] = val - @property - def includesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `include`. - - The 'includesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["includesrc"] - - @includesrc.setter - def includesrc(self, val): - self["includesrc"] = val - @property def maxallowed(self): """ @@ -134,10 +113,13 @@ def _prop_descriptions(self): Has no effect when `autorangeoptions.minallowed` is provided. include - Ensure this value is included in autorange. - includesrc - Sets the source reference on Chart Studio Cloud for - `include`. + Extends the autorange to include this value or array of + values, even when they fall outside the data range. Has + no effect on endpoints set by + `autorangeoptions.minallowed` or + `autorangeoptions.maxallowed`. Subject to + `autorangeoptions.clipmin` and + `autorangeoptions.clipmax`. maxallowed Use this value exactly as autorange maximum. minallowed @@ -150,7 +132,6 @@ def __init__( clipmax=None, clipmin=None, include=None, - includesrc=None, maxallowed=None, minallowed=None, **kwargs, @@ -173,10 +154,13 @@ def __init__( Has no effect when `autorangeoptions.minallowed` is provided. include - Ensure this value is included in autorange. - includesrc - Sets the source reference on Chart Studio Cloud for - `include`. + Extends the autorange to include this value or array of + values, even when they fall outside the data range. Has + no effect on endpoints set by + `autorangeoptions.minallowed` or + `autorangeoptions.maxallowed`. Subject to + `autorangeoptions.clipmin` and + `autorangeoptions.clipmax`. maxallowed Use this value exactly as autorange maximum. minallowed @@ -209,7 +193,6 @@ def __init__( self._set_property("clipmax", arg, clipmax) self._set_property("clipmin", arg, clipmin) self._set_property("include", arg, include) - self._set_property("includesrc", arg, includesrc) self._set_property("maxallowed", arg, maxallowed) self._set_property("minallowed", arg, minallowed) self._process_kwargs(**dict(arg, **kwargs)) diff --git a/plotly/graph_objs/layout/yaxis/_minor.py b/plotly/graph_objs/layout/yaxis/_minor.py index 808260db711..193469620e8 100644 --- a/plotly/graph_objs/layout/yaxis/_minor.py +++ b/plotly/graph_objs/layout/yaxis/_minor.py @@ -21,7 +21,6 @@ class Minor(_BaseLayoutHierarchyType): "tickmode", "ticks", "tickvals", - "tickvalssrc", "tickwidth", } @@ -296,24 +295,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -409,9 +390,6 @@ def _prop_descriptions(self): Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). """ @@ -431,7 +409,6 @@ def __init__( tickmode=None, ticks=None, tickvals=None, - tickvalssrc=None, tickwidth=None, **kwargs, ): @@ -518,9 +495,6 @@ def __init__( Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). @@ -560,7 +534,6 @@ def __init__( self._set_property("tickmode", arg, tickmode) self._set_property("ticks", arg, ticks) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/mesh3d/__init__.py b/plotly/graph_objs/mesh3d/__init__.py index b818b1a4607..72552b14187 100644 --- a/plotly/graph_objs/mesh3d/__init__.py +++ b/plotly/graph_objs/mesh3d/__init__.py @@ -8,7 +8,6 @@ from ._legendgrouptitle import Legendgrouptitle from ._lighting import Lighting from ._lightposition import Lightposition - from ._stream import Stream from . import colorbar from . import hoverlabel from . import legendgrouptitle @@ -25,6 +24,5 @@ "._legendgrouptitle.Legendgrouptitle", "._lighting.Lighting", "._lightposition.Lightposition", - "._stream.Stream", ], ) diff --git a/plotly/graph_objs/mesh3d/_colorbar.py b/plotly/graph_objs/mesh3d/_colorbar.py index fc1ebb01147..d96d35e325f 100644 --- a/plotly/graph_objs/mesh3d/_colorbar.py +++ b/plotly/graph_objs/mesh3d/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/mesh3d/_hoverlabel.py b/plotly/graph_objs/mesh3d/_hoverlabel.py index a5d1a015720..7848aae1ebf 100644 --- a/plotly/graph_objs/mesh3d/_hoverlabel.py +++ b/plotly/graph_objs/mesh3d/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "mesh3d.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/mesh3d/_stream.py b/plotly/graph_objs/mesh3d/_stream.py deleted file mode 100644 index b3b00d69d04..00000000000 --- a/plotly/graph_objs/mesh3d/_stream.py +++ /dev/null @@ -1,113 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "mesh3d" - _path_str = "mesh3d.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.mesh3d.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.mesh3d.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.mesh3d.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/mesh3d/colorbar/_title.py b/plotly/graph_objs/mesh3d/colorbar/_title.py index 19426d4f399..74c62f913ad 100644 --- a/plotly/graph_objs/mesh3d/colorbar/_title.py +++ b/plotly/graph_objs/mesh3d/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/mesh3d/hoverlabel/_font.py b/plotly/graph_objs/mesh3d/hoverlabel/_font.py index 915686f878e..dae9e269d78 100644 --- a/plotly/graph_objs/mesh3d/hoverlabel/_font.py +++ b/plotly/graph_objs/mesh3d/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "mesh3d.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.mesh3d.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/ohlc/__init__.py b/plotly/graph_objs/ohlc/__init__.py index 464258ceedc..9fa41f48004 100644 --- a/plotly/graph_objs/ohlc/__init__.py +++ b/plotly/graph_objs/ohlc/__init__.py @@ -7,7 +7,6 @@ from ._increasing import Increasing from ._legendgrouptitle import Legendgrouptitle from ._line import Line - from ._stream import Stream from . import decreasing from . import hoverlabel from . import increasing @@ -24,6 +23,5 @@ "._increasing.Increasing", "._legendgrouptitle.Legendgrouptitle", "._line.Line", - "._stream.Stream", ], ) diff --git a/plotly/graph_objs/ohlc/_hoverlabel.py b/plotly/graph_objs/ohlc/_hoverlabel.py index 5fdfaf33c40..03de586c68e 100644 --- a/plotly/graph_objs/ohlc/_hoverlabel.py +++ b/plotly/graph_objs/ohlc/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "ohlc.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", "split", } @@ -44,24 +40,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -85,24 +63,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -126,25 +86,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -191,25 +132,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -256,21 +178,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -281,9 +194,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -298,14 +208,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, split=None, **kwargs, @@ -323,21 +229,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -348,9 +245,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -385,14 +279,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._set_property("split", arg, split) self._process_kwargs(**dict(arg, **kwargs)) diff --git a/plotly/graph_objs/ohlc/_line.py b/plotly/graph_objs/ohlc/_line.py index 0090896dd64..aa415e3e077 100644 --- a/plotly/graph_objs/ohlc/_line.py +++ b/plotly/graph_objs/ohlc/_line.py @@ -39,8 +39,8 @@ def dash(self, val): @property def width(self): """ - [object Object] Note that this style setting can also be set - per direction via `increasing.line.width` and + Sets the line width (in px). Note that this style setting can + also be set per direction via `increasing.line.width` and `decreasing.line.width`. The 'width' property is a number and may be specified as: @@ -67,9 +67,9 @@ def _prop_descriptions(self): also be set per direction via `increasing.line.dash` and `decreasing.line.dash`. width - [object Object] Note that this style setting can also - be set per direction via `increasing.line.width` and - `decreasing.line.width`. + Sets the line width (in px). Note that this style + setting can also be set per direction via + `increasing.line.width` and `decreasing.line.width`. """ def __init__(self, arg=None, dash=None, width=None, **kwargs): @@ -89,9 +89,9 @@ def __init__(self, arg=None, dash=None, width=None, **kwargs): also be set per direction via `increasing.line.dash` and `decreasing.line.dash`. width - [object Object] Note that this style setting can also - be set per direction via `increasing.line.width` and - `decreasing.line.width`. + Sets the line width (in px). Note that this style + setting can also be set per direction via + `increasing.line.width` and `decreasing.line.width`. Returns ------- diff --git a/plotly/graph_objs/ohlc/_stream.py b/plotly/graph_objs/ohlc/_stream.py deleted file mode 100644 index 5e753fbde7d..00000000000 --- a/plotly/graph_objs/ohlc/_stream.py +++ /dev/null @@ -1,113 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "ohlc" - _path_str = "ohlc.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.ohlc.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.ohlc.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.ohlc.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/ohlc/hoverlabel/_font.py b/plotly/graph_objs/ohlc/hoverlabel/_font.py index f2c5c5fb511..a870ddbd552 100644 --- a/plotly/graph_objs/ohlc/hoverlabel/_font.py +++ b/plotly/graph_objs/ohlc/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "ohlc.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.ohlc.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/parcats/__init__.py b/plotly/graph_objs/parcats/__init__.py index 5289c29f547..ec808af0ea3 100644 --- a/plotly/graph_objs/parcats/__init__.py +++ b/plotly/graph_objs/parcats/__init__.py @@ -7,7 +7,6 @@ from ._labelfont import Labelfont from ._legendgrouptitle import Legendgrouptitle from ._line import Line - from ._stream import Stream from ._tickfont import Tickfont from . import legendgrouptitle from . import line @@ -23,7 +22,6 @@ "._labelfont.Labelfont", "._legendgrouptitle.Legendgrouptitle", "._line.Line", - "._stream.Stream", "._tickfont.Tickfont", ], ) diff --git a/plotly/graph_objs/parcats/_dimension.py b/plotly/graph_objs/parcats/_dimension.py index 673ae153d1b..8a9f70d430c 100644 --- a/plotly/graph_objs/parcats/_dimension.py +++ b/plotly/graph_objs/parcats/_dimension.py @@ -10,14 +10,11 @@ class Dimension(_BaseTraceHierarchyType): _path_str = "parcats.dimension" _valid_props = { "categoryarray", - "categoryarraysrc", "categoryorder", "displayindex", "label", "ticktext", - "ticktextsrc", "values", - "valuessrc", "visible", } @@ -41,25 +38,6 @@ def categoryarray(self): def categoryarray(self, val): self["categoryarray"] = val - @property - def categoryarraysrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `categoryarray`. - - The 'categoryarraysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["categoryarraysrc"] - - @categoryarraysrc.setter - def categoryarraysrc(self, val): - self["categoryarraysrc"] = val - @property def categoryorder(self): """ @@ -149,24 +127,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def values(self): """ @@ -188,24 +148,6 @@ def values(self): def values(self, val): self["values"] = val - @property - def valuessrc(self): - """ - Sets the source reference on Chart Studio Cloud for `values`. - - The 'valuessrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["valuessrc"] - - @valuessrc.setter - def valuessrc(self, val): - self["valuessrc"] = val - @property def visible(self): """ @@ -232,9 +174,6 @@ def _prop_descriptions(self): Sets the order in which categories in this dimension appear. Only has an effect if `categoryorder` is set to "array". Used with `categoryorder`. - categoryarraysrc - Sets the source reference on Chart Studio Cloud for - `categoryarray`. categoryorder Specifies the ordering logic for the categories in the dimension. By default, plotly uses "trace", which @@ -258,17 +197,11 @@ def _prop_descriptions(self): dimension. Only has an effect if `categoryorder` is set to "array". Should be an array the same length as `categoryarray` Used with `categoryorder`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. values Dimension values. `values[n]` represents the category value of the `n`th point in the dataset, therefore the `values` vector for all dimensions must be the same (longer vectors will be truncated). - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. visible Shows the dimension when set to `true` (the default). Hides the dimension for `false`. @@ -278,14 +211,11 @@ def __init__( self, arg=None, categoryarray=None, - categoryarraysrc=None, categoryorder=None, displayindex=None, label=None, ticktext=None, - ticktextsrc=None, values=None, - valuessrc=None, visible=None, **kwargs, ): @@ -304,9 +234,6 @@ def __init__( Sets the order in which categories in this dimension appear. Only has an effect if `categoryorder` is set to "array". Used with `categoryorder`. - categoryarraysrc - Sets the source reference on Chart Studio Cloud for - `categoryarray`. categoryorder Specifies the ordering logic for the categories in the dimension. By default, plotly uses "trace", which @@ -330,17 +257,11 @@ def __init__( dimension. Only has an effect if `categoryorder` is set to "array". Should be an array the same length as `categoryarray` Used with `categoryorder`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. values Dimension values. `values[n]` represents the category value of the `n`th point in the dataset, therefore the `values` vector for all dimensions must be the same (longer vectors will be truncated). - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. visible Shows the dimension when set to `true` (the default). Hides the dimension for `false`. @@ -370,14 +291,11 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("categoryarray", arg, categoryarray) - self._set_property("categoryarraysrc", arg, categoryarraysrc) self._set_property("categoryorder", arg, categoryorder) self._set_property("displayindex", arg, displayindex) self._set_property("label", arg, label) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("values", arg, values) - self._set_property("valuessrc", arg, valuessrc) self._set_property("visible", arg, visible) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/parcats/_domain.py b/plotly/graph_objs/parcats/_domain.py index 20827f30679..d45650776dc 100644 --- a/plotly/graph_objs/parcats/_domain.py +++ b/plotly/graph_objs/parcats/_domain.py @@ -14,7 +14,7 @@ class Domain(_BaseTraceHierarchyType): def column(self): """ If there is a layout grid, use the domain for this column in - the grid for this parcats trace . + the grid for this parcats trace. The 'column' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -34,7 +34,7 @@ def column(self, val): def row(self): """ If there is a layout grid, use the domain for this row in the - grid for this parcats trace . + grid for this parcats trace. The 'row' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -103,10 +103,10 @@ def _prop_descriptions(self): return """\ column If there is a layout grid, use the domain for this - column in the grid for this parcats trace . + column in the grid for this parcats trace. row If there is a layout grid, use the domain for this row - in the grid for this parcats trace . + in the grid for this parcats trace. x Sets the horizontal domain of this parcats trace (in plot fraction). @@ -127,10 +127,10 @@ def __init__(self, arg=None, column=None, row=None, x=None, y=None, **kwargs): :class:`plotly.graph_objs.parcats.Domain` column If there is a layout grid, use the domain for this - column in the grid for this parcats trace . + column in the grid for this parcats trace. row If there is a layout grid, use the domain for this row - in the grid for this parcats trace . + in the grid for this parcats trace. x Sets the horizontal domain of this parcats trace (in plot fraction). diff --git a/plotly/graph_objs/parcats/_line.py b/plotly/graph_objs/parcats/_line.py index 7080c271639..dea9e13ab09 100644 --- a/plotly/graph_objs/parcats/_line.py +++ b/plotly/graph_objs/parcats/_line.py @@ -18,7 +18,6 @@ class Line(_BaseTraceHierarchyType): "coloraxis", "colorbar", "colorscale", - "colorsrc", "hovertemplate", "hovertemplatefallback", "reversescale", @@ -214,9 +213,9 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, - hex, hsl, hsv, or named color string. At minimum, a mapping for - the lowest (0) and highest (1) values are required. For - example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To + hex, hsl, hsla, hwb, or named color string. At minimum, a + mapping for the lowest (0) and highest (1) values are required. + For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `line.cmin` and `line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered, @@ -260,24 +259,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def hovertemplate(self): """ @@ -462,8 +443,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -472,9 +453,6 @@ def _prop_descriptions(self): following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. hovertemplate Template string used for rendering the information that appear on hover box. Note that this will override @@ -544,7 +522,6 @@ def __init__( coloraxis=None, colorbar=None, colorscale=None, - colorsrc=None, hovertemplate=None, hovertemplatefallback=None, reversescale=None, @@ -613,8 +590,8 @@ def __init__( Sets the colorscale. Has an effect only if in `line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -623,9 +600,6 @@ def __init__( following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. hovertemplate Template string used for rendering the information that appear on hover box. Note that this will override @@ -715,7 +689,6 @@ def __init__( self._set_property("coloraxis", arg, coloraxis) self._set_property("colorbar", arg, colorbar) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) self._set_property("reversescale", arg, reversescale) diff --git a/plotly/graph_objs/parcats/_stream.py b/plotly/graph_objs/parcats/_stream.py deleted file mode 100644 index 8d0707800b6..00000000000 --- a/plotly/graph_objs/parcats/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "parcats" - _path_str = "parcats.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.parcats.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.parcats.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.parcats.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/parcats/line/_colorbar.py b/plotly/graph_objs/parcats/line/_colorbar.py index b9f55a0e249..f33b196d241 100644 --- a/plotly/graph_objs/parcats/line/_colorbar.py +++ b/plotly/graph_objs/parcats/line/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/parcats/line/colorbar/_title.py b/plotly/graph_objs/parcats/line/colorbar/_title.py index ec906492ca2..f884893b084 100644 --- a/plotly/graph_objs/parcats/line/colorbar/_title.py +++ b/plotly/graph_objs/parcats/line/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/parcoords/__init__.py b/plotly/graph_objs/parcoords/__init__.py index 53ed7641b1c..0f5fc431d0a 100644 --- a/plotly/graph_objs/parcoords/__init__.py +++ b/plotly/graph_objs/parcoords/__init__.py @@ -8,7 +8,6 @@ from ._legendgrouptitle import Legendgrouptitle from ._line import Line from ._rangefont import Rangefont - from ._stream import Stream from ._tickfont import Tickfont from ._unselected import Unselected from . import legendgrouptitle @@ -27,7 +26,6 @@ "._legendgrouptitle.Legendgrouptitle", "._line.Line", "._rangefont.Rangefont", - "._stream.Stream", "._tickfont.Tickfont", "._unselected.Unselected", ], diff --git a/plotly/graph_objs/parcoords/_dimension.py b/plotly/graph_objs/parcoords/_dimension.py index 2fff5f12e3a..31d36ec3b84 100644 --- a/plotly/graph_objs/parcoords/_dimension.py +++ b/plotly/graph_objs/parcoords/_dimension.py @@ -17,11 +17,8 @@ class Dimension(_BaseTraceHierarchyType): "templateitemname", "tickformat", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "values", - "valuessrc", "visible", } @@ -213,24 +210,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -249,24 +228,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def values(self): """ @@ -288,24 +249,6 @@ def values(self): def values(self, val): self["values"] = val - @property - def valuessrc(self): - """ - Sets the source reference on Chart Studio Cloud for `values`. - - The 'valuessrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["valuessrc"] - - @valuessrc.setter - def valuessrc(self, val): - self["valuessrc"] = val - @property def visible(self): """ @@ -379,23 +322,14 @@ def _prop_descriptions(self): ticktext Sets the text displayed at the ticks position via `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. values Dimension values. `values[n]` represents the value of the `n`th point in the dataset, therefore the `values` vector for all dimensions must be the same (longer vectors will be truncated). Each value must be a finite number. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. visible Shows the dimension when set to `true` (the default). Hides the dimension for `false`. @@ -412,11 +346,8 @@ def __init__( templateitemname=None, tickformat=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, values=None, - valuessrc=None, visible=None, **kwargs, ): @@ -483,23 +414,14 @@ def __init__( ticktext Sets the text displayed at the ticks position via `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. values Dimension values. `values[n]` represents the value of the `n`th point in the dataset, therefore the `values` vector for all dimensions must be the same (longer vectors will be truncated). Each value must be a finite number. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. visible Shows the dimension when set to `true` (the default). Hides the dimension for `false`. @@ -536,11 +458,8 @@ def __init__( self._set_property("templateitemname", arg, templateitemname) self._set_property("tickformat", arg, tickformat) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("values", arg, values) - self._set_property("valuessrc", arg, valuessrc) self._set_property("visible", arg, visible) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/parcoords/_domain.py b/plotly/graph_objs/parcoords/_domain.py index af095e7c0c8..00f452da7aa 100644 --- a/plotly/graph_objs/parcoords/_domain.py +++ b/plotly/graph_objs/parcoords/_domain.py @@ -14,7 +14,7 @@ class Domain(_BaseTraceHierarchyType): def column(self): """ If there is a layout grid, use the domain for this column in - the grid for this parcoords trace . + the grid for this parcoords trace. The 'column' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -34,7 +34,7 @@ def column(self, val): def row(self): """ If there is a layout grid, use the domain for this row in the - grid for this parcoords trace . + grid for this parcoords trace. The 'row' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -103,10 +103,10 @@ def _prop_descriptions(self): return """\ column If there is a layout grid, use the domain for this - column in the grid for this parcoords trace . + column in the grid for this parcoords trace. row If there is a layout grid, use the domain for this row - in the grid for this parcoords trace . + in the grid for this parcoords trace. x Sets the horizontal domain of this parcoords trace (in plot fraction). @@ -127,10 +127,10 @@ def __init__(self, arg=None, column=None, row=None, x=None, y=None, **kwargs): :class:`plotly.graph_objs.parcoords.Domain` column If there is a layout grid, use the domain for this - column in the grid for this parcoords trace . + column in the grid for this parcoords trace. row If there is a layout grid, use the domain for this row - in the grid for this parcoords trace . + in the grid for this parcoords trace. x Sets the horizontal domain of this parcoords trace (in plot fraction). diff --git a/plotly/graph_objs/parcoords/_line.py b/plotly/graph_objs/parcoords/_line.py index 5d6799395d2..73943178912 100644 --- a/plotly/graph_objs/parcoords/_line.py +++ b/plotly/graph_objs/parcoords/_line.py @@ -18,7 +18,6 @@ class Line(_BaseTraceHierarchyType): "coloraxis", "colorbar", "colorscale", - "colorsrc", "reversescale", "showscale", } @@ -211,9 +210,9 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, - hex, hsl, hsv, or named color string. At minimum, a mapping for - the lowest (0) and highest (1) values are required. For - example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To + hex, hsl, hsla, hwb, or named color string. At minimum, a + mapping for the lowest (0) and highest (1) values are required. + For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `line.cmin` and `line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered, @@ -257,24 +256,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def reversescale(self): """ @@ -372,8 +353,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -382,9 +363,6 @@ def _prop_descriptions(self): following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. reversescale Reverses the color mapping if true. Has an effect only if in `line.color` is set to a numerical array. If @@ -409,7 +387,6 @@ def __init__( coloraxis=None, colorbar=None, colorscale=None, - colorsrc=None, reversescale=None, showscale=None, **kwargs, @@ -476,8 +453,8 @@ def __init__( Sets the colorscale. Has an effect only if in `line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -486,9 +463,6 @@ def __init__( following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. reversescale Reverses the color mapping if true. Has an effect only if in `line.color` is set to a numerical array. If @@ -533,7 +507,6 @@ def __init__( self._set_property("coloraxis", arg, coloraxis) self._set_property("colorbar", arg, colorbar) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("reversescale", arg, reversescale) self._set_property("showscale", arg, showscale) self._process_kwargs(**dict(arg, **kwargs)) diff --git a/plotly/graph_objs/parcoords/_stream.py b/plotly/graph_objs/parcoords/_stream.py deleted file mode 100644 index a3753b10e52..00000000000 --- a/plotly/graph_objs/parcoords/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "parcoords" - _path_str = "parcoords.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.parcoords.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.parcoords.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.parcoords.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/parcoords/line/_colorbar.py b/plotly/graph_objs/parcoords/line/_colorbar.py index fad941627e4..0d7aab7aefc 100644 --- a/plotly/graph_objs/parcoords/line/_colorbar.py +++ b/plotly/graph_objs/parcoords/line/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/parcoords/line/colorbar/_title.py b/plotly/graph_objs/parcoords/line/colorbar/_title.py index caa26b02d39..e9d7ffe4864 100644 --- a/plotly/graph_objs/parcoords/line/colorbar/_title.py +++ b/plotly/graph_objs/parcoords/line/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/pie/__init__.py b/plotly/graph_objs/pie/__init__.py index 444418210f4..5fbcca06fa8 100644 --- a/plotly/graph_objs/pie/__init__.py +++ b/plotly/graph_objs/pie/__init__.py @@ -8,7 +8,6 @@ from ._legendgrouptitle import Legendgrouptitle from ._marker import Marker from ._outsidetextfont import Outsidetextfont - from ._stream import Stream from ._textfont import Textfont from ._title import Title from . import hoverlabel @@ -28,7 +27,6 @@ "._legendgrouptitle.Legendgrouptitle", "._marker.Marker", "._outsidetextfont.Outsidetextfont", - "._stream.Stream", "._textfont.Textfont", "._title.Title", ], diff --git a/plotly/graph_objs/pie/_domain.py b/plotly/graph_objs/pie/_domain.py index 8f964987251..4e005086ccc 100644 --- a/plotly/graph_objs/pie/_domain.py +++ b/plotly/graph_objs/pie/_domain.py @@ -14,7 +14,7 @@ class Domain(_BaseTraceHierarchyType): def column(self): """ If there is a layout grid, use the domain for this column in - the grid for this pie trace . + the grid for this pie trace. The 'column' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -34,7 +34,7 @@ def column(self, val): def row(self): """ If there is a layout grid, use the domain for this row in the - grid for this pie trace . + grid for this pie trace. The 'row' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -102,10 +102,10 @@ def _prop_descriptions(self): return """\ column If there is a layout grid, use the domain for this - column in the grid for this pie trace . + column in the grid for this pie trace. row If there is a layout grid, use the domain for this row - in the grid for this pie trace . + in the grid for this pie trace. x Sets the horizontal domain of this pie trace (in plot fraction). @@ -125,10 +125,10 @@ def __init__(self, arg=None, column=None, row=None, x=None, y=None, **kwargs): an instance of :class:`plotly.graph_objs.pie.Domain` column If there is a layout grid, use the domain for this - column in the grid for this pie trace . + column in the grid for this pie trace. row If there is a layout grid, use the domain for this row - in the grid for this pie trace . + in the grid for this pie trace. x Sets the horizontal domain of this pie trace (in plot fraction). diff --git a/plotly/graph_objs/pie/_hoverlabel.py b/plotly/graph_objs/pie/_hoverlabel.py index feb3e810716..e54ada45361 100644 --- a/plotly/graph_objs/pie/_hoverlabel.py +++ b/plotly/graph_objs/pie/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "pie.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/pie/_insidetextfont.py b/plotly/graph_objs/pie/_insidetextfont.py index b8ef543dec0..3141959fb32 100644 --- a/plotly/graph_objs/pie/_insidetextfont.py +++ b/plotly/graph_objs/pie/_insidetextfont.py @@ -10,23 +10,14 @@ class Insidetextfont(_BaseTraceHierarchyType): _path_str = "pie.insidetextfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.pie.Insidetextfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/pie/_marker.py b/plotly/graph_objs/pie/_marker.py index 49f04435733..5eb08bd2c3a 100644 --- a/plotly/graph_objs/pie/_marker.py +++ b/plotly/graph_objs/pie/_marker.py @@ -8,7 +8,7 @@ class Marker(_BaseTraceHierarchyType): _parent_path_str = "pie" _path_str = "pie.marker" - _valid_props = {"colors", "colorssrc", "line", "pattern"} + _valid_props = {"colors", "line", "pattern"} @property def colors(self): @@ -29,24 +29,6 @@ def colors(self): def colors(self, val): self["colors"] = val - @property - def colorssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `colors`. - - The 'colorssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorssrc"] - - @colorssrc.setter - def colorssrc(self, val): - self["colorssrc"] = val - @property def line(self): """ @@ -94,9 +76,6 @@ def _prop_descriptions(self): Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors. - colorssrc - Sets the source reference on Chart Studio Cloud for - `colors`. line :class:`plotly.graph_objects.pie.marker.Line` instance or dict with compatible properties @@ -104,9 +83,7 @@ def _prop_descriptions(self): Sets the pattern within the marker. """ - def __init__( - self, arg=None, colors=None, colorssrc=None, line=None, pattern=None, **kwargs - ): + def __init__(self, arg=None, colors=None, line=None, pattern=None, **kwargs): """ Construct a new Marker object @@ -119,9 +96,6 @@ def __init__( Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors. - colorssrc - Sets the source reference on Chart Studio Cloud for - `colors`. line :class:`plotly.graph_objects.pie.marker.Line` instance or dict with compatible properties @@ -153,7 +127,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("colors", arg, colors) - self._set_property("colorssrc", arg, colorssrc) self._set_property("line", arg, line) self._set_property("pattern", arg, pattern) self._process_kwargs(**dict(arg, **kwargs)) diff --git a/plotly/graph_objs/pie/_outsidetextfont.py b/plotly/graph_objs/pie/_outsidetextfont.py index ff52b272b2c..a339b93071d 100644 --- a/plotly/graph_objs/pie/_outsidetextfont.py +++ b/plotly/graph_objs/pie/_outsidetextfont.py @@ -10,23 +10,14 @@ class Outsidetextfont(_BaseTraceHierarchyType): _path_str = "pie.outsidetextfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.pie.Outsidetextfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/pie/_stream.py b/plotly/graph_objs/pie/_stream.py deleted file mode 100644 index d8187aaea60..00000000000 --- a/plotly/graph_objs/pie/_stream.py +++ /dev/null @@ -1,113 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "pie" - _path_str = "pie.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.pie.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.pie.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.pie.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/pie/_textfont.py b/plotly/graph_objs/pie/_textfont.py index b02780755fa..656c74248b0 100644 --- a/plotly/graph_objs/pie/_textfont.py +++ b/plotly/graph_objs/pie/_textfont.py @@ -10,23 +10,14 @@ class Textfont(_BaseTraceHierarchyType): _path_str = "pie.textfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -483,9 +275,6 @@ def __init__( an instance of :class:`plotly.graph_objs.pie.Textfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -493,52 +282,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -565,22 +330,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/pie/hoverlabel/_font.py b/plotly/graph_objs/pie/hoverlabel/_font.py index 61070cced84..e48ea40e8c5 100644 --- a/plotly/graph_objs/pie/hoverlabel/_font.py +++ b/plotly/graph_objs/pie/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "pie.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.pie.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/pie/marker/_line.py b/plotly/graph_objs/pie/marker/_line.py index 3fdf9ce39ed..126048dd078 100644 --- a/plotly/graph_objs/pie/marker/_line.py +++ b/plotly/graph_objs/pie/marker/_line.py @@ -8,7 +8,7 @@ class Line(_BaseTraceHierarchyType): _parent_path_str = "pie.marker" _path_str = "pie.marker.line" - _valid_props = {"color", "colorsrc", "width", "widthsrc"} + _valid_props = {"color", "width"} @property def color(self): @@ -33,24 +33,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def width(self): """ @@ -70,43 +52,17 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def _prop_descriptions(self): return """\ color Sets the color of the line enclosing each sector. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. width Sets the width (in px) of the line enclosing each sector. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. """ - def __init__( - self, arg=None, color=None, colorsrc=None, width=None, widthsrc=None, **kwargs - ): + def __init__(self, arg=None, color=None, width=None, **kwargs): """ Construct a new Line object @@ -118,15 +74,9 @@ def __init__( :class:`plotly.graph_objs.pie.marker.Line` color Sets the color of the line enclosing each sector. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. width Sets the width (in px) of the line enclosing each sector. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. Returns ------- @@ -153,8 +103,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/pie/marker/_pattern.py b/plotly/graph_objs/pie/marker/_pattern.py index 1a273043e05..43d506d531a 100644 --- a/plotly/graph_objs/pie/marker/_pattern.py +++ b/plotly/graph_objs/pie/marker/_pattern.py @@ -10,19 +10,13 @@ class Pattern(_BaseTraceHierarchyType): _path_str = "pie.marker.pattern" _valid_props = { "bgcolor", - "bgcolorsrc", "fgcolor", - "fgcolorsrc", "fgopacity", "fillmode", "path", - "pathsrc", "shape", - "shapesrc", "size", - "sizesrc", "solidity", - "soliditysrc", } @property @@ -51,24 +45,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def fgcolor(self): """ @@ -95,24 +71,6 @@ def fgcolor(self): def fgcolor(self, val): self["fgcolor"] = val - @property - def fgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `fgcolor`. - - The 'fgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["fgcolorsrc"] - - @fgcolorsrc.setter - def fgcolorsrc(self, val): - self["fgcolorsrc"] = val - @property def fgopacity(self): """ @@ -174,24 +132,6 @@ def path(self): def path(self, val): self["path"] = val - @property - def pathsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `path`. - - The 'pathsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["pathsrc"] - - @pathsrc.setter - def pathsrc(self, val): - self["pathsrc"] = val - @property def shape(self): """ @@ -213,24 +153,6 @@ def shape(self): def shape(self, val): self["shape"] = val - @property - def shapesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shape`. - - The 'shapesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shapesrc"] - - @shapesrc.setter - def shapesrc(self, val): - self["shapesrc"] = val - @property def size(self): """ @@ -251,24 +173,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def solidity(self): """ @@ -291,24 +195,6 @@ def solidity(self): def solidity(self, val): self["solidity"] = val - @property - def soliditysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `solidity`. - - The 'soliditysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["soliditysrc"] - - @soliditysrc.setter - def soliditysrc(self, val): - self["soliditysrc"] = val - @property def _prop_descriptions(self): return """\ @@ -317,18 +203,12 @@ def _prop_descriptions(self): background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background. - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. fgcolor When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`. - fgcolorsrc - Sets the source reference on Chart Studio Cloud for - `fgcolor`. fgopacity Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". @@ -341,50 +221,32 @@ def _prop_descriptions(self): `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color. - pathsrc - Sets the source reference on Chart Studio Cloud for - `path`. shape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. - shapesrc - Sets the source reference on Chart Studio Cloud for - `shape`. size Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. solidity Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern. - soliditysrc - Sets the source reference on Chart Studio Cloud for - `solidity`. """ def __init__( self, arg=None, bgcolor=None, - bgcolorsrc=None, fgcolor=None, - fgcolorsrc=None, fgopacity=None, fillmode=None, path=None, - pathsrc=None, shape=None, - shapesrc=None, size=None, - sizesrc=None, solidity=None, - soliditysrc=None, **kwargs, ): """ @@ -403,18 +265,12 @@ def __init__( background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background. - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. fgcolor When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`. - fgcolorsrc - Sets the source reference on Chart Studio Cloud for - `fgcolor`. fgopacity Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". @@ -427,31 +283,19 @@ def __init__( `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color. - pathsrc - Sets the source reference on Chart Studio Cloud for - `path`. shape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. - shapesrc - Sets the source reference on Chart Studio Cloud for - `shape`. size Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. solidity Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern. - soliditysrc - Sets the source reference on Chart Studio Cloud for - `solidity`. Returns ------- @@ -478,18 +322,12 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("fgcolor", arg, fgcolor) - self._set_property("fgcolorsrc", arg, fgcolorsrc) self._set_property("fgopacity", arg, fgopacity) self._set_property("fillmode", arg, fillmode) self._set_property("path", arg, path) - self._set_property("pathsrc", arg, pathsrc) self._set_property("shape", arg, shape) - self._set_property("shapesrc", arg, shapesrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("solidity", arg, solidity) - self._set_property("soliditysrc", arg, soliditysrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/pie/title/_font.py b/plotly/graph_objs/pie/title/_font.py index a99135220dc..d6d69f05c0d 100644 --- a/plotly/graph_objs/pie/title/_font.py +++ b/plotly/graph_objs/pie/title/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "pie.title.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.pie.title.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattermapbox/__init__.py b/plotly/graph_objs/quiver/__init__.py similarity index 83% rename from plotly/graph_objs/scattermapbox/__init__.py rename to plotly/graph_objs/quiver/__init__.py index aaeb5c0f63a..c0306bd340d 100644 --- a/plotly/graph_objs/scattermapbox/__init__.py +++ b/plotly/graph_objs/quiver/__init__.py @@ -2,13 +2,10 @@ from typing import TYPE_CHECKING if TYPE_CHECKING: - from ._cluster import Cluster from ._hoverlabel import Hoverlabel from ._legendgrouptitle import Legendgrouptitle - from ._line import Line from ._marker import Marker from ._selected import Selected - from ._stream import Stream from ._textfont import Textfont from ._unselected import Unselected from . import hoverlabel @@ -23,13 +20,10 @@ __name__, [".hoverlabel", ".legendgrouptitle", ".marker", ".selected", ".unselected"], [ - "._cluster.Cluster", "._hoverlabel.Hoverlabel", "._legendgrouptitle.Legendgrouptitle", - "._line.Line", "._marker.Marker", "._selected.Selected", - "._stream.Stream", "._textfont.Textfont", "._unselected.Unselected", ], diff --git a/plotly/graph_objs/densitymapbox/_hoverlabel.py b/plotly/graph_objs/quiver/_hoverlabel.py similarity index 69% rename from plotly/graph_objs/densitymapbox/_hoverlabel.py rename to plotly/graph_objs/quiver/_hoverlabel.py index 57c094b7188..308a486091b 100644 --- a/plotly/graph_objs/densitymapbox/_hoverlabel.py +++ b/plotly/graph_objs/quiver/_hoverlabel.py @@ -6,18 +6,14 @@ class Hoverlabel(_BaseTraceHierarchyType): - _parent_path_str = "densitymapbox" - _path_str = "densitymapbox.hoverlabel" + _parent_path_str = "quiver" + _path_str = "quiver.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -151,13 +92,13 @@ def font(self): The 'font' property is an instance of Font that may be specified as: - - An instance of :class:`plotly.graph_objs.densitymapbox.hoverlabel.Font` + - An instance of :class:`plotly.graph_objs.quiver.hoverlabel.Font` - A dict of string/value properties that will be passed to the Font constructor Returns ------- - plotly.graph_objs.densitymapbox.hoverlabel.Font + plotly.graph_objs.quiver.hoverlabel.Font """ return self["font"] @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -291,26 +197,17 @@ def __init__( arg dict of properties compatible with this constructor or an instance of - :class:`plotly.graph_objs.densitymapbox.Hoverlabel` + :class:`plotly.graph_objs.quiver.Hoverlabel` align Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -345,22 +239,18 @@ def __init__( arg = _copy.copy(arg) else: raise ValueError("""\ -The first argument to the plotly.graph_objs.densitymapbox.Hoverlabel +The first argument to the plotly.graph_objs.quiver.Hoverlabel constructor must be a dict or -an instance of :class:`plotly.graph_objs.densitymapbox.Hoverlabel`""") +an instance of :class:`plotly.graph_objs.quiver.Hoverlabel`""") self._skip_invalid = kwargs.pop("skip_invalid", False) self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattermapbox/_legendgrouptitle.py b/plotly/graph_objs/quiver/_legendgrouptitle.py similarity index 83% rename from plotly/graph_objs/scattermapbox/_legendgrouptitle.py rename to plotly/graph_objs/quiver/_legendgrouptitle.py index 754d1beca6e..732739917a9 100644 --- a/plotly/graph_objs/scattermapbox/_legendgrouptitle.py +++ b/plotly/graph_objs/quiver/_legendgrouptitle.py @@ -6,8 +6,8 @@ class Legendgrouptitle(_BaseTraceHierarchyType): - _parent_path_str = "scattermapbox" - _path_str = "scattermapbox.legendgrouptitle" + _parent_path_str = "quiver" + _path_str = "quiver.legendgrouptitle" _valid_props = {"font", "text"} @property @@ -17,13 +17,13 @@ def font(self): The 'font' property is an instance of Font that may be specified as: - - An instance of :class:`plotly.graph_objs.scattermapbox.legendgrouptitle.Font` + - An instance of :class:`plotly.graph_objs.quiver.legendgrouptitle.Font` - A dict of string/value properties that will be passed to the Font constructor Returns ------- - plotly.graph_objs.scattermapbox.legendgrouptitle.Font + plotly.graph_objs.quiver.legendgrouptitle.Font """ return self["font"] @@ -67,8 +67,8 @@ def __init__(self, arg=None, font=None, text=None, **kwargs): ---------- arg dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.scattermapbox. - Legendgrouptitle` + an instance of + :class:`plotly.graph_objs.quiver.Legendgrouptitle` font Sets this legend group's title font. text @@ -91,9 +91,9 @@ def __init__(self, arg=None, font=None, text=None, **kwargs): arg = _copy.copy(arg) else: raise ValueError("""\ -The first argument to the plotly.graph_objs.scattermapbox.Legendgrouptitle +The first argument to the plotly.graph_objs.quiver.Legendgrouptitle constructor must be a dict or -an instance of :class:`plotly.graph_objs.scattermapbox.Legendgrouptitle`""") +an instance of :class:`plotly.graph_objs.quiver.Legendgrouptitle`""") self._skip_invalid = kwargs.pop("skip_invalid", False) self._validate = kwargs.pop("_validate", True) diff --git a/plotly/graph_objs/scattermapbox/_marker.py b/plotly/graph_objs/quiver/_marker.py similarity index 61% rename from plotly/graph_objs/scattermapbox/_marker.py rename to plotly/graph_objs/quiver/_marker.py index 8238d0b4bb3..c2375d3c6d4 100644 --- a/plotly/graph_objs/scattermapbox/_marker.py +++ b/plotly/graph_objs/quiver/_marker.py @@ -6,12 +6,10 @@ class Marker(_BaseTraceHierarchyType): - _parent_path_str = "scattermapbox" - _path_str = "scattermapbox.marker" + _parent_path_str = "quiver" + _path_str = "quiver.marker" _valid_props = { - "allowoverlap", - "angle", - "anglesrc", + "arrowsize", "autocolorscale", "cauto", "cmax", @@ -21,77 +19,30 @@ class Marker(_BaseTraceHierarchyType): "coloraxis", "colorbar", "colorscale", - "colorsrc", - "opacity", - "opacitysrc", + "line", "reversescale", "showscale", - "size", - "sizemin", - "sizemode", - "sizeref", - "sizesrc", - "symbol", - "symbolsrc", } @property - def allowoverlap(self): + def arrowsize(self): """ - Flag to draw all symbols, even if they overlap. + Sets the size of the arrow head relative to + `marker.line.width`. A value of 1 (default) gives a head about + 3x as wide as the line. - The 'allowoverlap' property is a boolean and must be specified as: - - A boolean value: True or False + The 'arrowsize' property is a number and may be specified as: + - An int or float in the interval [0.3, inf] Returns ------- - bool - """ - return self["allowoverlap"] - - @allowoverlap.setter - def allowoverlap(self, val): - self["allowoverlap"] = val - - @property - def angle(self): - """ - Sets the marker orientation from true North, in degrees - clockwise. When using the "auto" default, no rotation would be - applied in perspective views which is different from using a - zero angle. - - The 'angle' property is a number and may be specified as: - - An int or float - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - int|float|numpy.ndarray - """ - return self["angle"] - - @angle.setter - def angle(self, val): - self["angle"] = val - - @property - def anglesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `angle`. - - The 'anglesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str + int|float """ - return self["anglesrc"] + return self["arrowsize"] - @anglesrc.setter - def anglesrc(self, val): - self["anglesrc"] = val + @arrowsize.setter + def arrowsize(self, val): + self["arrowsize"] = val @property def autocolorscale(self): @@ -219,7 +170,7 @@ def color(self): - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - A named CSS color: see https://plotly.com/python/css-colors/ for a list - A number that will be interpreted as a color - according to scattermapbox.marker.colorscale + according to quiver.marker.colorscale - A list or array of any of the above Returns @@ -262,13 +213,13 @@ def colorbar(self): """ The 'colorbar' property is an instance of ColorBar that may be specified as: - - An instance of :class:`plotly.graph_objs.scattermapbox.marker.ColorBar` + - An instance of :class:`plotly.graph_objs.quiver.marker.ColorBar` - A dict of string/value properties that will be passed to the ColorBar constructor Returns ------- - plotly.graph_objs.scattermapbox.marker.ColorBar + plotly.graph_objs.quiver.marker.ColorBar """ return self["colorbar"] @@ -282,9 +233,9 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, - hex, hsl, hsv, or named color string. At minimum, a mapping for - the lowest (0) and highest (1) values are required. For - example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To + hex, hsl, hsla, hwb, or named color string. At minimum, a + mapping for the lowest (0) and highest (1) values are required. + For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,B @@ -329,59 +280,23 @@ def colorscale(self, val): self["colorscale"] = val @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - - @property - def opacity(self): + def line(self): """ - Sets the marker opacity. - - The 'opacity' property is a number and may be specified as: - - An int or float in the interval [0, 1] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - int|float|numpy.ndarray - """ - return self["opacity"] - - @opacity.setter - def opacity(self, val): - self["opacity"] = val - - @property - def opacitysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `opacity`. - - The 'opacitysrc' property must be specified as a string or - as a plotly.grid_objs.Column object + The 'line' property is an instance of Line + that may be specified as: + - An instance of :class:`plotly.graph_objs.quiver.marker.Line` + - A dict of string/value properties that will be passed + to the Line constructor Returns ------- - str + plotly.graph_objs.quiver.marker.Line """ - return self["opacitysrc"] + return self["line"] - @opacitysrc.setter - def opacitysrc(self, val): - self["opacitysrc"] = val + @line.setter + def line(self, val): + self["line"] = val @property def reversescale(self): @@ -424,157 +339,13 @@ def showscale(self): def showscale(self, val): self["showscale"] = val - @property - def size(self): - """ - Sets the marker size (in px). - - The 'size' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - int|float|numpy.ndarray - """ - return self["size"] - - @size.setter - def size(self, val): - self["size"] = val - - @property - def sizemin(self): - """ - Has an effect only if `marker.size` is set to a numerical - array. Sets the minimum size (in px) of the rendered marker - points. - - The 'sizemin' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["sizemin"] - - @sizemin.setter - def sizemin(self, val): - self["sizemin"] = val - - @property - def sizemode(self): - """ - Has an effect only if `marker.size` is set to a numerical - array. Sets the rule for which the data in `size` is converted - to pixels. - - The 'sizemode' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['diameter', 'area'] - - Returns - ------- - Any - """ - return self["sizemode"] - - @sizemode.setter - def sizemode(self, val): - self["sizemode"] = val - - @property - def sizeref(self): - """ - Has an effect only if `marker.size` is set to a numerical - array. Sets the scale factor used to determine the rendered - size of marker points. Use with `sizemin` and `sizemode`. - - The 'sizeref' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["sizeref"] - - @sizeref.setter - def sizeref(self, val): - self["sizeref"] = val - - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - - @property - def symbol(self): - """ - Sets the marker symbol. Full list: https://www.mapbox.com/maki- - icons/ Note that the array `marker.color` and `marker.size` are - only available for "circle" symbols. - - The 'symbol' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["symbol"] - - @symbol.setter - def symbol(self, val): - self["symbol"] = val - - @property - def symbolsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `symbol`. - - The 'symbolsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["symbolsrc"] - - @symbolsrc.setter - def symbolsrc(self, val): - self["symbolsrc"] = val - @property def _prop_descriptions(self): return """\ - allowoverlap - Flag to draw all symbols, even if they overlap. - angle - Sets the marker orientation from true North, in degrees - clockwise. When using the "auto" default, no rotation - would be applied in perspective views which is - different from using a zero angle. - anglesrc - Sets the source reference on Chart Studio Cloud for - `angle`. + arrowsize + Sets the size of the arrow head relative to + `marker.line.width`. A value of 1 (default) gives a + head about 3x as wide as the line. autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -622,14 +393,14 @@ def _prop_descriptions(self): `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis. colorbar - :class:`plotly.graph_objects.scattermapbox.marker.Color - Bar` instance or dict with compatible properties + :class:`plotly.graph_objects.quiver.marker.ColorBar` + instance or dict with compatible properties colorscale Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -638,14 +409,9 @@ def _prop_descriptions(self): following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. - opacity - Sets the marker opacity. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. + line + :class:`plotly.graph_objects.quiver.marker.Line` + instance or dict with compatible properties reversescale Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If @@ -656,40 +422,12 @@ def _prop_descriptions(self): Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array. - size - Sets the marker size (in px). - sizemin - Has an effect only if `marker.size` is set to a - numerical array. Sets the minimum size (in px) of the - rendered marker points. - sizemode - Has an effect only if `marker.size` is set to a - numerical array. Sets the rule for which the data in - `size` is converted to pixels. - sizeref - Has an effect only if `marker.size` is set to a - numerical array. Sets the scale factor used to - determine the rendered size of marker points. Use with - `sizemin` and `sizemode`. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. - symbol - Sets the marker symbol. Full list: - https://www.mapbox.com/maki-icons/ Note that the array - `marker.color` and `marker.size` are only available for - "circle" symbols. - symbolsrc - Sets the source reference on Chart Studio Cloud for - `symbol`. """ def __init__( self, arg=None, - allowoverlap=None, - angle=None, - anglesrc=None, + arrowsize=None, autocolorscale=None, cauto=None, cmax=None, @@ -699,18 +437,9 @@ def __init__( coloraxis=None, colorbar=None, colorscale=None, - colorsrc=None, - opacity=None, - opacitysrc=None, + line=None, reversescale=None, showscale=None, - size=None, - sizemin=None, - sizemode=None, - sizeref=None, - sizesrc=None, - symbol=None, - symbolsrc=None, **kwargs, ): """ @@ -720,18 +449,11 @@ def __init__( ---------- arg dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.scattermapbox.Marker` - allowoverlap - Flag to draw all symbols, even if they overlap. - angle - Sets the marker orientation from true North, in degrees - clockwise. When using the "auto" default, no rotation - would be applied in perspective views which is - different from using a zero angle. - anglesrc - Sets the source reference on Chart Studio Cloud for - `angle`. + an instance of :class:`plotly.graph_objs.quiver.Marker` + arrowsize + Sets the size of the arrow head relative to + `marker.line.width`. A value of 1 (default) gives a + head about 3x as wide as the line. autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -779,14 +501,14 @@ def __init__( `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis. colorbar - :class:`plotly.graph_objects.scattermapbox.marker.Color - Bar` instance or dict with compatible properties + :class:`plotly.graph_objects.quiver.marker.ColorBar` + instance or dict with compatible properties colorscale Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -795,14 +517,9 @@ def __init__( following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. - opacity - Sets the marker opacity. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. + line + :class:`plotly.graph_objects.quiver.marker.Line` + instance or dict with compatible properties reversescale Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If @@ -813,32 +530,6 @@ def __init__( Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `marker.color` is set to a numerical array. - size - Sets the marker size (in px). - sizemin - Has an effect only if `marker.size` is set to a - numerical array. Sets the minimum size (in px) of the - rendered marker points. - sizemode - Has an effect only if `marker.size` is set to a - numerical array. Sets the rule for which the data in - `size` is converted to pixels. - sizeref - Has an effect only if `marker.size` is set to a - numerical array. Sets the scale factor used to - determine the rendered size of marker points. Use with - `sizemin` and `sizemode`. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. - symbol - Sets the marker symbol. Full list: - https://www.mapbox.com/maki-icons/ Note that the array - `marker.color` and `marker.size` are only available for - "circle" symbols. - symbolsrc - Sets the source reference on Chart Studio Cloud for - `symbol`. Returns ------- @@ -857,16 +548,14 @@ def __init__( arg = _copy.copy(arg) else: raise ValueError("""\ -The first argument to the plotly.graph_objs.scattermapbox.Marker +The first argument to the plotly.graph_objs.quiver.Marker constructor must be a dict or -an instance of :class:`plotly.graph_objs.scattermapbox.Marker`""") +an instance of :class:`plotly.graph_objs.quiver.Marker`""") self._skip_invalid = kwargs.pop("skip_invalid", False) self._validate = kwargs.pop("_validate", True) - self._set_property("allowoverlap", arg, allowoverlap) - self._set_property("angle", arg, angle) - self._set_property("anglesrc", arg, anglesrc) + self._set_property("arrowsize", arg, arrowsize) self._set_property("autocolorscale", arg, autocolorscale) self._set_property("cauto", arg, cauto) self._set_property("cmax", arg, cmax) @@ -876,17 +565,8 @@ def __init__( self._set_property("coloraxis", arg, coloraxis) self._set_property("colorbar", arg, colorbar) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) - self._set_property("opacity", arg, opacity) - self._set_property("opacitysrc", arg, opacitysrc) + self._set_property("line", arg, line) self._set_property("reversescale", arg, reversescale) self._set_property("showscale", arg, showscale) - self._set_property("size", arg, size) - self._set_property("sizemin", arg, sizemin) - self._set_property("sizemode", arg, sizemode) - self._set_property("sizeref", arg, sizeref) - self._set_property("sizesrc", arg, sizesrc) - self._set_property("symbol", arg, symbol) - self._set_property("symbolsrc", arg, symbolsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/choroplethmapbox/_selected.py b/plotly/graph_objs/quiver/_selected.py similarity index 51% rename from plotly/graph_objs/choroplethmapbox/_selected.py rename to plotly/graph_objs/quiver/_selected.py index d7c4b130092..28cb591316f 100644 --- a/plotly/graph_objs/choroplethmapbox/_selected.py +++ b/plotly/graph_objs/quiver/_selected.py @@ -6,22 +6,22 @@ class Selected(_BaseTraceHierarchyType): - _parent_path_str = "choroplethmapbox" - _path_str = "choroplethmapbox.selected" - _valid_props = {"marker"} + _parent_path_str = "quiver" + _path_str = "quiver.selected" + _valid_props = {"marker", "textfont"} @property def marker(self): """ The 'marker' property is an instance of Marker that may be specified as: - - An instance of :class:`plotly.graph_objs.choroplethmapbox.selected.Marker` + - An instance of :class:`plotly.graph_objs.quiver.selected.Marker` - A dict of string/value properties that will be passed to the Marker constructor Returns ------- - plotly.graph_objs.choroplethmapbox.selected.Marker + plotly.graph_objs.quiver.selected.Marker """ return self["marker"] @@ -29,15 +29,37 @@ def marker(self): def marker(self, val): self["marker"] = val + @property + def textfont(self): + """ + The 'textfont' property is an instance of Textfont + that may be specified as: + - An instance of :class:`plotly.graph_objs.quiver.selected.Textfont` + - A dict of string/value properties that will be passed + to the Textfont constructor + + Returns + ------- + plotly.graph_objs.quiver.selected.Textfont + """ + return self["textfont"] + + @textfont.setter + def textfont(self, val): + self["textfont"] = val + @property def _prop_descriptions(self): return """\ marker - :class:`plotly.graph_objects.choroplethmapbox.selected. - Marker` instance or dict with compatible properties + :class:`plotly.graph_objects.quiver.selected.Marker` + instance or dict with compatible properties + textfont + :class:`plotly.graph_objects.quiver.selected.Textfont` + instance or dict with compatible properties """ - def __init__(self, arg=None, marker=None, **kwargs): + def __init__(self, arg=None, marker=None, textfont=None, **kwargs): """ Construct a new Selected object @@ -46,10 +68,13 @@ def __init__(self, arg=None, marker=None, **kwargs): arg dict of properties compatible with this constructor or an instance of - :class:`plotly.graph_objs.choroplethmapbox.Selected` + :class:`plotly.graph_objs.quiver.Selected` marker - :class:`plotly.graph_objects.choroplethmapbox.selected. - Marker` instance or dict with compatible properties + :class:`plotly.graph_objects.quiver.selected.Marker` + instance or dict with compatible properties + textfont + :class:`plotly.graph_objects.quiver.selected.Textfont` + instance or dict with compatible properties Returns ------- @@ -68,13 +93,14 @@ def __init__(self, arg=None, marker=None, **kwargs): arg = _copy.copy(arg) else: raise ValueError("""\ -The first argument to the plotly.graph_objs.choroplethmapbox.Selected +The first argument to the plotly.graph_objs.quiver.Selected constructor must be a dict or -an instance of :class:`plotly.graph_objs.choroplethmapbox.Selected`""") +an instance of :class:`plotly.graph_objs.quiver.Selected`""") self._skip_invalid = kwargs.pop("skip_invalid", False) self._validate = kwargs.pop("_validate", True) self._set_property("marker", arg, marker) + self._set_property("textfont", arg, textfont) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/choroplethmapbox/colorbar/_tickfont.py b/plotly/graph_objs/quiver/_textfont.py similarity index 88% rename from plotly/graph_objs/choroplethmapbox/colorbar/_tickfont.py rename to plotly/graph_objs/quiver/_textfont.py index 02e8616983d..41ae5a7c6f9 100644 --- a/plotly/graph_objs/choroplethmapbox/colorbar/_tickfont.py +++ b/plotly/graph_objs/quiver/_textfont.py @@ -5,9 +5,9 @@ import copy as _copy -class Tickfont(_BaseTraceHierarchyType): - _parent_path_str = "choroplethmapbox.colorbar" - _path_str = "choroplethmapbox.colorbar.tickfont" +class Textfont(_BaseTraceHierarchyType): + _parent_path_str = "quiver" + _path_str = "quiver.textfont" _valid_props = { "color", "family", @@ -29,10 +29,11 @@ def color(self): - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - A named CSS color: see https://plotly.com/python/css-colors/ for a list + - A list or array of any of the above Returns ------- - str + str|numpy.ndarray """ return self["color"] @@ -51,10 +52,11 @@ def family(self): The 'family' property is a string and must be specified as: - A non-empty string + - A tuple, list, or one-dimensional numpy array of the above Returns ------- - str + str|numpy.ndarray """ return self["family"] @@ -74,10 +76,11 @@ def lineposition(self): - Any combination of ['under', 'over', 'through'] joined with '+' characters (e.g. 'under+over') OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above Returns ------- - Any + Any|numpy.ndarray """ return self["lineposition"] @@ -96,10 +99,11 @@ def shadow(self): The 'shadow' property is a string and must be specified as: - A string - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above Returns ------- - str + str|numpy.ndarray """ return self["shadow"] @@ -112,10 +116,11 @@ def size(self): """ The 'size' property is a number and may be specified as: - An int or float in the interval [1, inf] + - A tuple, list, or one-dimensional numpy array of the above Returns ------- - int|float + int|float|numpy.ndarray """ return self["size"] @@ -132,10 +137,11 @@ def style(self): The 'style' property is an enumeration that may be specified as: - One of the following enumeration values: ['normal', 'italic'] + - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any + Any|numpy.ndarray """ return self["style"] @@ -153,10 +159,11 @@ def textcase(self): The 'textcase' property is an enumeration that may be specified as: - One of the following enumeration values: ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any + Any|numpy.ndarray """ return self["textcase"] @@ -173,10 +180,11 @@ def variant(self): - One of the following enumeration values: ['normal', 'small-caps', 'all-small-caps', 'all-petite-caps', 'petite-caps', 'unicase'] + - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any + Any|numpy.ndarray """ return self["variant"] @@ -193,10 +201,11 @@ def weight(self): - An int (or float that will be cast to an int) in the interval [1, 1000] OR exactly one of ['normal', 'bold'] (e.g. 'bold') + - A tuple, list, or one-dimensional numpy array of the above Returns ------- - int + int|numpy.ndarray """ return self["weight"] @@ -255,16 +264,16 @@ def __init__( **kwargs, ): """ - Construct a new Tickfont object + Construct a new Textfont object - Sets the color bar's tick label font + Sets the text font. Parameters ---------- arg dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.choroplethmapb - ox.colorbar.Tickfont` + an instance of + :class:`plotly.graph_objs.quiver.Textfont` color family @@ -299,9 +308,9 @@ def __init__( Returns ------- - Tickfont + Textfont """ - super().__init__("tickfont") + super().__init__("textfont") if "_parent" in kwargs: self._parent = kwargs["_parent"] return @@ -314,9 +323,9 @@ def __init__( arg = _copy.copy(arg) else: raise ValueError("""\ -The first argument to the plotly.graph_objs.choroplethmapbox.colorbar.Tickfont +The first argument to the plotly.graph_objs.quiver.Textfont constructor must be a dict or -an instance of :class:`plotly.graph_objs.choroplethmapbox.colorbar.Tickfont`""") +an instance of :class:`plotly.graph_objs.quiver.Textfont`""") self._skip_invalid = kwargs.pop("skip_invalid", False) self._validate = kwargs.pop("_validate", True) diff --git a/plotly/graph_objs/choroplethmapbox/_unselected.py b/plotly/graph_objs/quiver/_unselected.py similarity index 51% rename from plotly/graph_objs/choroplethmapbox/_unselected.py rename to plotly/graph_objs/quiver/_unselected.py index ad22ba4cdaf..0a5635dcb04 100644 --- a/plotly/graph_objs/choroplethmapbox/_unselected.py +++ b/plotly/graph_objs/quiver/_unselected.py @@ -6,22 +6,22 @@ class Unselected(_BaseTraceHierarchyType): - _parent_path_str = "choroplethmapbox" - _path_str = "choroplethmapbox.unselected" - _valid_props = {"marker"} + _parent_path_str = "quiver" + _path_str = "quiver.unselected" + _valid_props = {"marker", "textfont"} @property def marker(self): """ The 'marker' property is an instance of Marker that may be specified as: - - An instance of :class:`plotly.graph_objs.choroplethmapbox.unselected.Marker` + - An instance of :class:`plotly.graph_objs.quiver.unselected.Marker` - A dict of string/value properties that will be passed to the Marker constructor Returns ------- - plotly.graph_objs.choroplethmapbox.unselected.Marker + plotly.graph_objs.quiver.unselected.Marker """ return self["marker"] @@ -29,15 +29,37 @@ def marker(self): def marker(self, val): self["marker"] = val + @property + def textfont(self): + """ + The 'textfont' property is an instance of Textfont + that may be specified as: + - An instance of :class:`plotly.graph_objs.quiver.unselected.Textfont` + - A dict of string/value properties that will be passed + to the Textfont constructor + + Returns + ------- + plotly.graph_objs.quiver.unselected.Textfont + """ + return self["textfont"] + + @textfont.setter + def textfont(self, val): + self["textfont"] = val + @property def _prop_descriptions(self): return """\ marker - :class:`plotly.graph_objects.choroplethmapbox.unselecte - d.Marker` instance or dict with compatible properties + :class:`plotly.graph_objects.quiver.unselected.Marker` + instance or dict with compatible properties + textfont + :class:`plotly.graph_objects.quiver.unselected.Textfont + ` instance or dict with compatible properties """ - def __init__(self, arg=None, marker=None, **kwargs): + def __init__(self, arg=None, marker=None, textfont=None, **kwargs): """ Construct a new Unselected object @@ -46,10 +68,13 @@ def __init__(self, arg=None, marker=None, **kwargs): arg dict of properties compatible with this constructor or an instance of - :class:`plotly.graph_objs.choroplethmapbox.Unselected` + :class:`plotly.graph_objs.quiver.Unselected` marker - :class:`plotly.graph_objects.choroplethmapbox.unselecte - d.Marker` instance or dict with compatible properties + :class:`plotly.graph_objects.quiver.unselected.Marker` + instance or dict with compatible properties + textfont + :class:`plotly.graph_objects.quiver.unselected.Textfont + ` instance or dict with compatible properties Returns ------- @@ -68,13 +93,14 @@ def __init__(self, arg=None, marker=None, **kwargs): arg = _copy.copy(arg) else: raise ValueError("""\ -The first argument to the plotly.graph_objs.choroplethmapbox.Unselected +The first argument to the plotly.graph_objs.quiver.Unselected constructor must be a dict or -an instance of :class:`plotly.graph_objs.choroplethmapbox.Unselected`""") +an instance of :class:`plotly.graph_objs.quiver.Unselected`""") self._skip_invalid = kwargs.pop("skip_invalid", False) self._validate = kwargs.pop("_validate", True) self._set_property("marker", arg, marker) + self._set_property("textfont", arg, textfont) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/choroplethmapbox/colorbar/title/__init__.py b/plotly/graph_objs/quiver/hoverlabel/__init__.py similarity index 100% rename from plotly/graph_objs/choroplethmapbox/colorbar/title/__init__.py rename to plotly/graph_objs/quiver/hoverlabel/__init__.py diff --git a/plotly/graph_objs/choroplethmapbox/legendgrouptitle/_font.py b/plotly/graph_objs/quiver/hoverlabel/_font.py similarity index 88% rename from plotly/graph_objs/choroplethmapbox/legendgrouptitle/_font.py rename to plotly/graph_objs/quiver/hoverlabel/_font.py index e6a72dbb488..f3cd1aeb94f 100644 --- a/plotly/graph_objs/choroplethmapbox/legendgrouptitle/_font.py +++ b/plotly/graph_objs/quiver/hoverlabel/_font.py @@ -6,8 +6,8 @@ class Font(_BaseTraceHierarchyType): - _parent_path_str = "choroplethmapbox.legendgrouptitle" - _path_str = "choroplethmapbox.legendgrouptitle.font" + _parent_path_str = "quiver.hoverlabel" + _path_str = "quiver.hoverlabel.font" _valid_props = { "color", "family", @@ -29,10 +29,11 @@ def color(self): - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - A named CSS color: see https://plotly.com/python/css-colors/ for a list + - A list or array of any of the above Returns ------- - str + str|numpy.ndarray """ return self["color"] @@ -51,10 +52,11 @@ def family(self): The 'family' property is a string and must be specified as: - A non-empty string + - A tuple, list, or one-dimensional numpy array of the above Returns ------- - str + str|numpy.ndarray """ return self["family"] @@ -74,10 +76,11 @@ def lineposition(self): - Any combination of ['under', 'over', 'through'] joined with '+' characters (e.g. 'under+over') OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above Returns ------- - Any + Any|numpy.ndarray """ return self["lineposition"] @@ -96,10 +99,11 @@ def shadow(self): The 'shadow' property is a string and must be specified as: - A string - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above Returns ------- - str + str|numpy.ndarray """ return self["shadow"] @@ -112,10 +116,11 @@ def size(self): """ The 'size' property is a number and may be specified as: - An int or float in the interval [1, inf] + - A tuple, list, or one-dimensional numpy array of the above Returns ------- - int|float + int|float|numpy.ndarray """ return self["size"] @@ -132,10 +137,11 @@ def style(self): The 'style' property is an enumeration that may be specified as: - One of the following enumeration values: ['normal', 'italic'] + - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any + Any|numpy.ndarray """ return self["style"] @@ -153,10 +159,11 @@ def textcase(self): The 'textcase' property is an enumeration that may be specified as: - One of the following enumeration values: ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any + Any|numpy.ndarray """ return self["textcase"] @@ -173,10 +180,11 @@ def variant(self): - One of the following enumeration values: ['normal', 'small-caps', 'all-small-caps', 'all-petite-caps', 'petite-caps', 'unicase'] + - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any + Any|numpy.ndarray """ return self["variant"] @@ -193,10 +201,11 @@ def weight(self): - An int (or float that will be cast to an int) in the interval [1, 1000] OR exactly one of ['normal', 'bold'] (e.g. 'bold') + - A tuple, list, or one-dimensional numpy array of the above Returns ------- - int + int|numpy.ndarray """ return self["weight"] @@ -257,14 +266,14 @@ def __init__( """ Construct a new Font object - Sets this legend group's title font. + Sets the font used in hover labels. Parameters ---------- arg dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.choroplethmapb - ox.legendgrouptitle.Font` + an instance of + :class:`plotly.graph_objs.quiver.hoverlabel.Font` color family @@ -314,9 +323,9 @@ def __init__( arg = _copy.copy(arg) else: raise ValueError("""\ -The first argument to the plotly.graph_objs.choroplethmapbox.legendgrouptitle.Font +The first argument to the plotly.graph_objs.quiver.hoverlabel.Font constructor must be a dict or -an instance of :class:`plotly.graph_objs.choroplethmapbox.legendgrouptitle.Font`""") +an instance of :class:`plotly.graph_objs.quiver.hoverlabel.Font`""") self._skip_invalid = kwargs.pop("skip_invalid", False) self._validate = kwargs.pop("_validate", True) diff --git a/plotly/graph_objs/choroplethmapbox/hoverlabel/__init__.py b/plotly/graph_objs/quiver/legendgrouptitle/__init__.py similarity index 100% rename from plotly/graph_objs/choroplethmapbox/hoverlabel/__init__.py rename to plotly/graph_objs/quiver/legendgrouptitle/__init__.py diff --git a/plotly/graph_objs/densitymapbox/legendgrouptitle/_font.py b/plotly/graph_objs/quiver/legendgrouptitle/_font.py similarity index 96% rename from plotly/graph_objs/densitymapbox/legendgrouptitle/_font.py rename to plotly/graph_objs/quiver/legendgrouptitle/_font.py index 49e1851be4d..3bb8c3f9a79 100644 --- a/plotly/graph_objs/densitymapbox/legendgrouptitle/_font.py +++ b/plotly/graph_objs/quiver/legendgrouptitle/_font.py @@ -6,8 +6,8 @@ class Font(_BaseTraceHierarchyType): - _parent_path_str = "densitymapbox.legendgrouptitle" - _path_str = "densitymapbox.legendgrouptitle.font" + _parent_path_str = "quiver.legendgrouptitle" + _path_str = "quiver.legendgrouptitle.font" _valid_props = { "color", "family", @@ -263,8 +263,8 @@ def __init__( ---------- arg dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.densitymapbox. - legendgrouptitle.Font` + an instance of + :class:`plotly.graph_objs.quiver.legendgrouptitle.Font` color family @@ -314,9 +314,9 @@ def __init__( arg = _copy.copy(arg) else: raise ValueError("""\ -The first argument to the plotly.graph_objs.densitymapbox.legendgrouptitle.Font +The first argument to the plotly.graph_objs.quiver.legendgrouptitle.Font constructor must be a dict or -an instance of :class:`plotly.graph_objs.densitymapbox.legendgrouptitle.Font`""") +an instance of :class:`plotly.graph_objs.quiver.legendgrouptitle.Font`""") self._skip_invalid = kwargs.pop("skip_invalid", False) self._validate = kwargs.pop("_validate", True) diff --git a/plotly/graph_objs/scattermapbox/marker/__init__.py b/plotly/graph_objs/quiver/marker/__init__.py similarity index 71% rename from plotly/graph_objs/scattermapbox/marker/__init__.py rename to plotly/graph_objs/quiver/marker/__init__.py index 5e06f9a263f..e0fbf0e0e68 100644 --- a/plotly/graph_objs/scattermapbox/marker/__init__.py +++ b/plotly/graph_objs/quiver/marker/__init__.py @@ -3,10 +3,11 @@ if TYPE_CHECKING: from ._colorbar import ColorBar + from ._line import Line from . import colorbar else: from _plotly_utils.importers import relative_import __all__, __getattr__, __dir__ = relative_import( - __name__, [".colorbar"], ["._colorbar.ColorBar"] + __name__, [".colorbar"], ["._colorbar.ColorBar", "._line.Line"] ) diff --git a/plotly/graph_objs/densitymapbox/_colorbar.py b/plotly/graph_objs/quiver/marker/_colorbar.py similarity index 94% rename from plotly/graph_objs/densitymapbox/_colorbar.py rename to plotly/graph_objs/quiver/marker/_colorbar.py index 90ebc99d354..ed7280350b0 100644 --- a/plotly/graph_objs/densitymapbox/_colorbar.py +++ b/plotly/graph_objs/quiver/marker/_colorbar.py @@ -6,8 +6,8 @@ class ColorBar(_BaseTraceHierarchyType): - _parent_path_str = "densitymapbox" - _path_str = "densitymapbox.colorbar" + _parent_path_str = "quiver.marker" + _path_str = "quiver.marker.colorbar" _valid_props = { "bgcolor", "bordercolor", @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -567,13 +565,13 @@ def tickfont(self): The 'tickfont' property is an instance of Tickfont that may be specified as: - - An instance of :class:`plotly.graph_objs.densitymapbox.colorbar.Tickfont` + - An instance of :class:`plotly.graph_objs.quiver.marker.colorbar.Tickfont` - A dict of string/value properties that will be passed to the Tickfont constructor Returns ------- - plotly.graph_objs.densitymapbox.colorbar.Tickfont + plotly.graph_objs.quiver.marker.colorbar.Tickfont """ return self["tickfont"] @@ -614,13 +612,13 @@ def tickformatstops(self): """ The 'tickformatstops' property is a tuple of instances of Tickformatstop that may be specified as: - - A list or tuple of instances of plotly.graph_objs.densitymapbox.colorbar.Tickformatstop + - A list or tuple of instances of plotly.graph_objs.quiver.marker.colorbar.Tickformatstop - A list or tuple of dicts of string/value properties that will be passed to the Tickformatstop constructor Returns ------- - tuple[plotly.graph_objs.densitymapbox.colorbar.Tickformatstop] + tuple[plotly.graph_objs.quiver.marker.colorbar.Tickformatstop] """ return self["tickformatstops"] @@ -631,20 +629,20 @@ def tickformatstops(self, val): @property def tickformatstopdefaults(self): """ - When used in a template (as layout.template.data.densitymapbox. + When used in a template (as layout.template.data.quiver.marker. colorbar.tickformatstopdefaults), sets the default property values to use for elements of - densitymapbox.colorbar.tickformatstops + quiver.marker.colorbar.tickformatstops The 'tickformatstopdefaults' property is an instance of Tickformatstop that may be specified as: - - An instance of :class:`plotly.graph_objs.densitymapbox.colorbar.Tickformatstop` + - An instance of :class:`plotly.graph_objs.quiver.marker.colorbar.Tickformatstop` - A dict of string/value properties that will be passed to the Tickformatstop constructor Returns ------- - plotly.graph_objs.densitymapbox.colorbar.Tickformatstop + plotly.graph_objs.quiver.marker.colorbar.Tickformatstop """ return self["tickformatstopdefaults"] @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -921,13 +883,13 @@ def title(self): """ The 'title' property is an instance of Title that may be specified as: - - An instance of :class:`plotly.graph_objs.densitymapbox.colorbar.Title` + - An instance of :class:`plotly.graph_objs.quiver.marker.colorbar.Title` - A dict of string/value properties that will be passed to the Title constructor Returns ------- - plotly.graph_objs.densitymapbox.colorbar.Title + plotly.graph_objs.quiver.marker.colorbar.Title """ return self["title"] @@ -1243,14 +1205,14 @@ def _prop_descriptions(self): 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display "09~15~23.46" tickformatstops - A tuple of :class:`plotly.graph_objects.densitymapbox.c + A tuple of :class:`plotly.graph_objects.quiver.marker.c olorbar.Tickformatstop` instances or dicts with compatible properties tickformatstopdefaults - When used in a template (as layout.template.data.densit - ymapbox.colorbar.tickformatstopdefaults), sets the + When used in a template (as layout.template.data.quiver + .marker.colorbar.tickformatstopdefaults), sets the default property values to use for elements of - densitymapbox.colorbar.tickformatstops + quiver.marker.colorbar.tickformatstops ticklabeloverflow Determines how we handle tick labels that would overflow either the graph div or the domain of the @@ -1293,20 +1255,14 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title - :class:`plotly.graph_objects.densitymapbox.colorbar.Tit + :class:`plotly.graph_objects.quiver.marker.colorbar.Tit le` instance or dict with compatible properties x Sets the x position with respect to `xref` of the color @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1416,7 +1370,7 @@ def __init__( arg dict of properties compatible with this constructor or an instance of - :class:`plotly.graph_objs.densitymapbox.ColorBar` + :class:`plotly.graph_objs.quiver.marker.ColorBar` bgcolor Sets the color of padded area. bordercolor @@ -1552,14 +1506,14 @@ def __init__( 09:15:23.456* with tickformat "%H~%M~%S.%2f" would display "09~15~23.46" tickformatstops - A tuple of :class:`plotly.graph_objects.densitymapbox.c + A tuple of :class:`plotly.graph_objects.quiver.marker.c olorbar.Tickformatstop` instances or dicts with compatible properties tickformatstopdefaults - When used in a template (as layout.template.data.densit - ymapbox.colorbar.tickformatstopdefaults), sets the + When used in a template (as layout.template.data.quiver + .marker.colorbar.tickformatstopdefaults), sets the default property values to use for elements of - densitymapbox.colorbar.tickformatstops + quiver.marker.colorbar.tickformatstops ticklabeloverflow Determines how we handle tick labels that would overflow either the graph div or the domain of the @@ -1602,20 +1556,14 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title - :class:`plotly.graph_objects.densitymapbox.colorbar.Tit + :class:`plotly.graph_objects.quiver.marker.colorbar.Tit le` instance or dict with compatible properties x Sets the x position with respect to `xref` of the color @@ -1679,9 +1627,9 @@ def __init__( arg = _copy.copy(arg) else: raise ValueError("""\ -The first argument to the plotly.graph_objs.densitymapbox.ColorBar +The first argument to the plotly.graph_objs.quiver.marker.ColorBar constructor must be a dict or -an instance of :class:`plotly.graph_objs.densitymapbox.ColorBar`""") +an instance of :class:`plotly.graph_objs.quiver.marker.ColorBar`""") self._skip_invalid = kwargs.pop("skip_invalid", False) self._validate = kwargs.pop("_validate", True) @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/quiver/marker/_line.py b/plotly/graph_objs/quiver/marker/_line.py new file mode 100644 index 00000000000..0fdadbc41fd --- /dev/null +++ b/plotly/graph_objs/quiver/marker/_line.py @@ -0,0 +1,112 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType +import copy as _copy + + +class Line(_BaseTraceHierarchyType): + _parent_path_str = "quiver.marker" + _path_str = "quiver.marker.line" + _valid_props = {"dash", "width"} + + @property + def dash(self): + """ + Sets the dash style of lines. Set to a dash type string + ("solid", "dot", "dash", "longdash", "dashdot", or + "longdashdot") or a dash length list in px (eg + "5px,10px,2px,2px"). + + The 'dash' property is an enumeration that may be specified as: + - One of the following dash styles: + ['solid', 'dot', 'dash', 'longdash', 'dashdot', 'longdashdot'] + - A string containing a dash length list in pixels or percentages + (e.g. '5px 10px 2px 2px', '5, 10, 2, 2', '10% 20% 40%', etc.) + + Returns + ------- + str + """ + return self["dash"] + + @dash.setter + def dash(self, val): + self["dash"] = val + + @property + def width(self): + """ + Sets the width (in px) of the arrow lines. + + The 'width' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["width"] + + @width.setter + def width(self, val): + self["width"] = val + + @property + def _prop_descriptions(self): + return """\ + dash + Sets the dash style of lines. Set to a dash type string + ("solid", "dot", "dash", "longdash", "dashdot", or + "longdashdot") or a dash length list in px (eg + "5px,10px,2px,2px"). + width + Sets the width (in px) of the arrow lines. + """ + + def __init__(self, arg=None, dash=None, width=None, **kwargs): + """ + Construct a new Line object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.quiver.marker.Line` + dash + Sets the dash style of lines. Set to a dash type string + ("solid", "dot", "dash", "longdash", "dashdot", or + "longdashdot") or a dash length list in px (eg + "5px,10px,2px,2px"). + width + Sets the width (in px) of the arrow lines. + + Returns + ------- + Line + """ + super().__init__("line") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + if arg is None: + arg = {} + elif isinstance(arg, self.__class__): + arg = arg.to_plotly_json() + elif isinstance(arg, dict): + arg = _copy.copy(arg) + else: + raise ValueError("""\ +The first argument to the plotly.graph_objs.quiver.marker.Line +constructor must be a dict or +an instance of :class:`plotly.graph_objs.quiver.marker.Line`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("dash", arg, dash) + self._set_property("width", arg, width) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/plotly/graph_objs/choroplethmapbox/colorbar/__init__.py b/plotly/graph_objs/quiver/marker/colorbar/__init__.py similarity index 100% rename from plotly/graph_objs/choroplethmapbox/colorbar/__init__.py rename to plotly/graph_objs/quiver/marker/colorbar/__init__.py diff --git a/plotly/graph_objs/densitymapbox/colorbar/_tickfont.py b/plotly/graph_objs/quiver/marker/colorbar/_tickfont.py similarity index 97% rename from plotly/graph_objs/densitymapbox/colorbar/_tickfont.py rename to plotly/graph_objs/quiver/marker/colorbar/_tickfont.py index 26fbfb9c656..e53e207b469 100644 --- a/plotly/graph_objs/densitymapbox/colorbar/_tickfont.py +++ b/plotly/graph_objs/quiver/marker/colorbar/_tickfont.py @@ -6,8 +6,8 @@ class Tickfont(_BaseTraceHierarchyType): - _parent_path_str = "densitymapbox.colorbar" - _path_str = "densitymapbox.colorbar.tickfont" + _parent_path_str = "quiver.marker.colorbar" + _path_str = "quiver.marker.colorbar.tickfont" _valid_props = { "color", "family", @@ -263,7 +263,7 @@ def __init__( ---------- arg dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.densitymapbox. + an instance of :class:`plotly.graph_objs.quiver.marker. colorbar.Tickfont` color @@ -314,9 +314,9 @@ def __init__( arg = _copy.copy(arg) else: raise ValueError("""\ -The first argument to the plotly.graph_objs.densitymapbox.colorbar.Tickfont +The first argument to the plotly.graph_objs.quiver.marker.colorbar.Tickfont constructor must be a dict or -an instance of :class:`plotly.graph_objs.densitymapbox.colorbar.Tickfont`""") +an instance of :class:`plotly.graph_objs.quiver.marker.colorbar.Tickfont`""") self._skip_invalid = kwargs.pop("skip_invalid", False) self._validate = kwargs.pop("_validate", True) diff --git a/plotly/graph_objs/densitymapbox/colorbar/_tickformatstop.py b/plotly/graph_objs/quiver/marker/colorbar/_tickformatstop.py similarity index 96% rename from plotly/graph_objs/densitymapbox/colorbar/_tickformatstop.py rename to plotly/graph_objs/quiver/marker/colorbar/_tickformatstop.py index c22587b0b8e..dbc559d7e28 100644 --- a/plotly/graph_objs/densitymapbox/colorbar/_tickformatstop.py +++ b/plotly/graph_objs/quiver/marker/colorbar/_tickformatstop.py @@ -6,8 +6,8 @@ class Tickformatstop(_BaseTraceHierarchyType): - _parent_path_str = "densitymapbox.colorbar" - _path_str = "densitymapbox.colorbar.tickformatstop" + _parent_path_str = "quiver.marker.colorbar" + _path_str = "quiver.marker.colorbar.tickformatstop" _valid_props = {"dtickrange", "enabled", "name", "templateitemname", "value"} @property @@ -175,7 +175,7 @@ def __init__( ---------- arg dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.densitymapbox. + an instance of :class:`plotly.graph_objs.quiver.marker. colorbar.Tickformatstop` dtickrange range [*min*, *max*], where "min", "max" - dtick values @@ -225,9 +225,9 @@ def __init__( arg = _copy.copy(arg) else: raise ValueError("""\ -The first argument to the plotly.graph_objs.densitymapbox.colorbar.Tickformatstop +The first argument to the plotly.graph_objs.quiver.marker.colorbar.Tickformatstop constructor must be a dict or -an instance of :class:`plotly.graph_objs.densitymapbox.colorbar.Tickformatstop`""") +an instance of :class:`plotly.graph_objs.quiver.marker.colorbar.Tickformatstop`""") self._skip_invalid = kwargs.pop("skip_invalid", False) self._validate = kwargs.pop("_validate", True) diff --git a/plotly/graph_objs/densitymapbox/colorbar/_title.py b/plotly/graph_objs/quiver/marker/colorbar/_title.py similarity index 81% rename from plotly/graph_objs/densitymapbox/colorbar/_title.py rename to plotly/graph_objs/quiver/marker/colorbar/_title.py index b281eb60d18..d52fa33cc5d 100644 --- a/plotly/graph_objs/densitymapbox/colorbar/_title.py +++ b/plotly/graph_objs/quiver/marker/colorbar/_title.py @@ -6,8 +6,8 @@ class Title(_BaseTraceHierarchyType): - _parent_path_str = "densitymapbox.colorbar" - _path_str = "densitymapbox.colorbar.title" + _parent_path_str = "quiver.marker.colorbar" + _path_str = "quiver.marker.colorbar.title" _valid_props = {"font", "side", "text"} @property @@ -17,13 +17,13 @@ def font(self): The 'font' property is an instance of Font that may be specified as: - - An instance of :class:`plotly.graph_objs.densitymapbox.colorbar.title.Font` + - An instance of :class:`plotly.graph_objs.quiver.marker.colorbar.title.Font` - A dict of string/value properties that will be passed to the Font constructor Returns ------- - plotly.graph_objs.densitymapbox.colorbar.title.Font + plotly.graph_objs.quiver.marker.colorbar.title.Font """ return self["font"] @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -94,14 +94,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): arg dict of properties compatible with this constructor or an instance of - :class:`plotly.graph_objs.densitymapbox.colorbar.Title` + :class:`plotly.graph_objs.quiver.marker.colorbar.Title` font Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. @@ -122,9 +122,9 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): arg = _copy.copy(arg) else: raise ValueError("""\ -The first argument to the plotly.graph_objs.densitymapbox.colorbar.Title +The first argument to the plotly.graph_objs.quiver.marker.colorbar.Title constructor must be a dict or -an instance of :class:`plotly.graph_objs.densitymapbox.colorbar.Title`""") +an instance of :class:`plotly.graph_objs.quiver.marker.colorbar.Title`""") self._skip_invalid = kwargs.pop("skip_invalid", False) self._validate = kwargs.pop("_validate", True) diff --git a/plotly/graph_objs/choroplethmapbox/legendgrouptitle/__init__.py b/plotly/graph_objs/quiver/marker/colorbar/title/__init__.py similarity index 100% rename from plotly/graph_objs/choroplethmapbox/legendgrouptitle/__init__.py rename to plotly/graph_objs/quiver/marker/colorbar/title/__init__.py diff --git a/plotly/graph_objs/densitymapbox/colorbar/title/_font.py b/plotly/graph_objs/quiver/marker/colorbar/title/_font.py similarity index 96% rename from plotly/graph_objs/densitymapbox/colorbar/title/_font.py rename to plotly/graph_objs/quiver/marker/colorbar/title/_font.py index b5c6c9a596d..1c5d8a0ec73 100644 --- a/plotly/graph_objs/densitymapbox/colorbar/title/_font.py +++ b/plotly/graph_objs/quiver/marker/colorbar/title/_font.py @@ -6,8 +6,8 @@ class Font(_BaseTraceHierarchyType): - _parent_path_str = "densitymapbox.colorbar.title" - _path_str = "densitymapbox.colorbar.title.font" + _parent_path_str = "quiver.marker.colorbar.title" + _path_str = "quiver.marker.colorbar.title.font" _valid_props = { "color", "family", @@ -263,7 +263,7 @@ def __init__( ---------- arg dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.densitymapbox. + an instance of :class:`plotly.graph_objs.quiver.marker. colorbar.title.Font` color @@ -314,9 +314,9 @@ def __init__( arg = _copy.copy(arg) else: raise ValueError("""\ -The first argument to the plotly.graph_objs.densitymapbox.colorbar.title.Font +The first argument to the plotly.graph_objs.quiver.marker.colorbar.title.Font constructor must be a dict or -an instance of :class:`plotly.graph_objs.densitymapbox.colorbar.title.Font`""") +an instance of :class:`plotly.graph_objs.quiver.marker.colorbar.title.Font`""") self._skip_invalid = kwargs.pop("skip_invalid", False) self._validate = kwargs.pop("_validate", True) diff --git a/plotly/graph_objs/layout/mapbox/layer/symbol/__init__.py b/plotly/graph_objs/quiver/selected/__init__.py similarity index 62% rename from plotly/graph_objs/layout/mapbox/layer/symbol/__init__.py rename to plotly/graph_objs/quiver/selected/__init__.py index a7130990d9c..d3b21bcbda0 100644 --- a/plotly/graph_objs/layout/mapbox/layer/symbol/__init__.py +++ b/plotly/graph_objs/quiver/selected/__init__.py @@ -2,10 +2,12 @@ from typing import TYPE_CHECKING if TYPE_CHECKING: + from ._marker import Marker from ._textfont import Textfont + from . import marker else: from _plotly_utils.importers import relative_import __all__, __getattr__, __dir__ = relative_import( - __name__, [], ["._textfont.Textfont"] + __name__, [".marker"], ["._marker.Marker", "._textfont.Textfont"] ) diff --git a/plotly/graph_objs/scattermapbox/selected/_marker.py b/plotly/graph_objs/quiver/selected/_marker.py similarity index 57% rename from plotly/graph_objs/scattermapbox/selected/_marker.py rename to plotly/graph_objs/quiver/selected/_marker.py index 14bd5d4d4f1..f168b27e91e 100644 --- a/plotly/graph_objs/scattermapbox/selected/_marker.py +++ b/plotly/graph_objs/quiver/selected/_marker.py @@ -6,9 +6,9 @@ class Marker(_BaseTraceHierarchyType): - _parent_path_str = "scattermapbox.selected" - _path_str = "scattermapbox.selected.marker" - _valid_props = {"color", "opacity", "size"} + _parent_path_str = "quiver.selected" + _path_str = "quiver.selected.marker" + _valid_props = {"color", "line"} @property def color(self): @@ -33,53 +33,35 @@ def color(self, val): self["color"] = val @property - def opacity(self): + def line(self): """ - Sets the marker opacity of selected points. - - The 'opacity' property is a number and may be specified as: - - An int or float in the interval [0, 1] - - Returns - ------- - int|float - """ - return self["opacity"] - - @opacity.setter - def opacity(self, val): - self["opacity"] = val - - @property - def size(self): - """ - Sets the marker size of selected points. - - The 'size' property is a number and may be specified as: - - An int or float in the interval [0, inf] + The 'line' property is an instance of Line + that may be specified as: + - An instance of :class:`plotly.graph_objs.quiver.selected.marker.Line` + - A dict of string/value properties that will be passed + to the Line constructor Returns ------- - int|float + plotly.graph_objs.quiver.selected.marker.Line """ - return self["size"] + return self["line"] - @size.setter - def size(self, val): - self["size"] = val + @line.setter + def line(self, val): + self["line"] = val @property def _prop_descriptions(self): return """\ color Sets the marker color of selected points. - opacity - Sets the marker opacity of selected points. - size - Sets the marker size of selected points. + line + :class:`plotly.graph_objects.quiver.selected.marker.Lin + e` instance or dict with compatible properties """ - def __init__(self, arg=None, color=None, opacity=None, size=None, **kwargs): + def __init__(self, arg=None, color=None, line=None, **kwargs): """ Construct a new Marker object @@ -87,14 +69,13 @@ def __init__(self, arg=None, color=None, opacity=None, size=None, **kwargs): ---------- arg dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.scattermapbox. - selected.Marker` + an instance of + :class:`plotly.graph_objs.quiver.selected.Marker` color Sets the marker color of selected points. - opacity - Sets the marker opacity of selected points. - size - Sets the marker size of selected points. + line + :class:`plotly.graph_objects.quiver.selected.marker.Lin + e` instance or dict with compatible properties Returns ------- @@ -113,15 +94,14 @@ def __init__(self, arg=None, color=None, opacity=None, size=None, **kwargs): arg = _copy.copy(arg) else: raise ValueError("""\ -The first argument to the plotly.graph_objs.scattermapbox.selected.Marker +The first argument to the plotly.graph_objs.quiver.selected.Marker constructor must be a dict or -an instance of :class:`plotly.graph_objs.scattermapbox.selected.Marker`""") +an instance of :class:`plotly.graph_objs.quiver.selected.Marker`""") self._skip_invalid = kwargs.pop("skip_invalid", False) self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("opacity", arg, opacity) - self._set_property("size", arg, size) + self._set_property("line", arg, line) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattermapbox/_line.py b/plotly/graph_objs/quiver/selected/_textfont.py similarity index 61% rename from plotly/graph_objs/scattermapbox/_line.py rename to plotly/graph_objs/quiver/selected/_textfont.py index 16aa69c59d0..2f7e33b5b28 100644 --- a/plotly/graph_objs/scattermapbox/_line.py +++ b/plotly/graph_objs/quiver/selected/_textfont.py @@ -5,15 +5,16 @@ import copy as _copy -class Line(_BaseTraceHierarchyType): - _parent_path_str = "scattermapbox" - _path_str = "scattermapbox.line" - _valid_props = {"color", "width"} +class Textfont(_BaseTraceHierarchyType): + _parent_path_str = "quiver.selected" + _path_str = "quiver.selected.textfont" + _valid_props = {"color"} @property def color(self): """ - Sets the line color. + Sets the text font color of selected points, applied only when + a selection exists. The 'color' property is a color and may be specified as: - A hex string (e.g. '#ff0000') @@ -32,53 +33,33 @@ def color(self): def color(self, val): self["color"] = val - @property - def width(self): - """ - Sets the line width (in px). - - The 'width' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["width"] - - @width.setter - def width(self, val): - self["width"] = val - @property def _prop_descriptions(self): return """\ color - Sets the line color. - width - Sets the line width (in px). + Sets the text font color of selected points, applied + only when a selection exists. """ - def __init__(self, arg=None, color=None, width=None, **kwargs): + def __init__(self, arg=None, color=None, **kwargs): """ - Construct a new Line object + Construct a new Textfont object Parameters ---------- arg dict of properties compatible with this constructor or an instance of - :class:`plotly.graph_objs.scattermapbox.Line` + :class:`plotly.graph_objs.quiver.selected.Textfont` color - Sets the line color. - width - Sets the line width (in px). + Sets the text font color of selected points, applied + only when a selection exists. Returns ------- - Line + Textfont """ - super().__init__("line") + super().__init__("textfont") if "_parent" in kwargs: self._parent = kwargs["_parent"] return @@ -91,14 +72,13 @@ def __init__(self, arg=None, color=None, width=None, **kwargs): arg = _copy.copy(arg) else: raise ValueError("""\ -The first argument to the plotly.graph_objs.scattermapbox.Line +The first argument to the plotly.graph_objs.quiver.selected.Textfont constructor must be a dict or -an instance of :class:`plotly.graph_objs.scattermapbox.Line`""") +an instance of :class:`plotly.graph_objs.quiver.selected.Textfont`""") self._skip_invalid = kwargs.pop("skip_invalid", False) self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("width", arg, width) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/choroplethmapbox/marker/__init__.py b/plotly/graph_objs/quiver/selected/marker/__init__.py similarity index 100% rename from plotly/graph_objs/choroplethmapbox/marker/__init__.py rename to plotly/graph_objs/quiver/selected/marker/__init__.py diff --git a/plotly/graph_objs/choroplethmapbox/selected/_marker.py b/plotly/graph_objs/quiver/selected/marker/_line.py similarity index 52% rename from plotly/graph_objs/choroplethmapbox/selected/_marker.py rename to plotly/graph_objs/quiver/selected/marker/_line.py index 4b7a35defba..61f2916c40f 100644 --- a/plotly/graph_objs/choroplethmapbox/selected/_marker.py +++ b/plotly/graph_objs/quiver/selected/marker/_line.py @@ -5,54 +5,54 @@ import copy as _copy -class Marker(_BaseTraceHierarchyType): - _parent_path_str = "choroplethmapbox.selected" - _path_str = "choroplethmapbox.selected.marker" - _valid_props = {"opacity"} +class Line(_BaseTraceHierarchyType): + _parent_path_str = "quiver.selected.marker" + _path_str = "quiver.selected.marker.line" + _valid_props = {"width"} @property - def opacity(self): + def width(self): """ - Sets the marker opacity of selected points. + Sets the line width of selected points. - The 'opacity' property is a number and may be specified as: - - An int or float in the interval [0, 1] + The 'width' property is a number and may be specified as: + - An int or float in the interval [0, inf] Returns ------- int|float """ - return self["opacity"] + return self["width"] - @opacity.setter - def opacity(self, val): - self["opacity"] = val + @width.setter + def width(self, val): + self["width"] = val @property def _prop_descriptions(self): return """\ - opacity - Sets the marker opacity of selected points. + width + Sets the line width of selected points. """ - def __init__(self, arg=None, opacity=None, **kwargs): + def __init__(self, arg=None, width=None, **kwargs): """ - Construct a new Marker object + Construct a new Line object Parameters ---------- arg dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.choroplethmapb - ox.selected.Marker` - opacity - Sets the marker opacity of selected points. + an instance of + :class:`plotly.graph_objs.quiver.selected.marker.Line` + width + Sets the line width of selected points. Returns ------- - Marker + Line """ - super().__init__("marker") + super().__init__("line") if "_parent" in kwargs: self._parent = kwargs["_parent"] return @@ -65,13 +65,13 @@ def __init__(self, arg=None, opacity=None, **kwargs): arg = _copy.copy(arg) else: raise ValueError("""\ -The first argument to the plotly.graph_objs.choroplethmapbox.selected.Marker +The first argument to the plotly.graph_objs.quiver.selected.marker.Line constructor must be a dict or -an instance of :class:`plotly.graph_objs.choroplethmapbox.selected.Marker`""") +an instance of :class:`plotly.graph_objs.quiver.selected.marker.Line`""") self._skip_invalid = kwargs.pop("skip_invalid", False) self._validate = kwargs.pop("_validate", True) - self._set_property("opacity", arg, opacity) + self._set_property("width", arg, width) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/quiver/unselected/__init__.py b/plotly/graph_objs/quiver/unselected/__init__.py new file mode 100644 index 00000000000..d3b21bcbda0 --- /dev/null +++ b/plotly/graph_objs/quiver/unselected/__init__.py @@ -0,0 +1,13 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._marker import Marker + from ._textfont import Textfont + from . import marker +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, [".marker"], ["._marker.Marker", "._textfont.Textfont"] + ) diff --git a/plotly/graph_objs/scattermapbox/unselected/_marker.py b/plotly/graph_objs/quiver/unselected/_marker.py similarity index 54% rename from plotly/graph_objs/scattermapbox/unselected/_marker.py rename to plotly/graph_objs/quiver/unselected/_marker.py index 2bbe8a6ab1e..7158595e08c 100644 --- a/plotly/graph_objs/scattermapbox/unselected/_marker.py +++ b/plotly/graph_objs/quiver/unselected/_marker.py @@ -6,9 +6,9 @@ class Marker(_BaseTraceHierarchyType): - _parent_path_str = "scattermapbox.unselected" - _path_str = "scattermapbox.unselected.marker" - _valid_props = {"color", "opacity", "size"} + _parent_path_str = "quiver.unselected" + _path_str = "quiver.unselected.marker" + _valid_props = {"color", "line"} @property def color(self): @@ -34,42 +34,23 @@ def color(self, val): self["color"] = val @property - def opacity(self): + def line(self): """ - Sets the marker opacity of unselected points, applied only when - a selection exists. - - The 'opacity' property is a number and may be specified as: - - An int or float in the interval [0, 1] + The 'line' property is an instance of Line + that may be specified as: + - An instance of :class:`plotly.graph_objs.quiver.unselected.marker.Line` + - A dict of string/value properties that will be passed + to the Line constructor Returns ------- - int|float + plotly.graph_objs.quiver.unselected.marker.Line """ - return self["opacity"] + return self["line"] - @opacity.setter - def opacity(self, val): - self["opacity"] = val - - @property - def size(self): - """ - Sets the marker size of unselected points, applied only when a - selection exists. - - The 'size' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["size"] - - @size.setter - def size(self, val): - self["size"] = val + @line.setter + def line(self, val): + self["line"] = val @property def _prop_descriptions(self): @@ -77,15 +58,12 @@ def _prop_descriptions(self): color Sets the marker color of unselected points, applied only when a selection exists. - opacity - Sets the marker opacity of unselected points, applied - only when a selection exists. - size - Sets the marker size of unselected points, applied only - when a selection exists. + line + :class:`plotly.graph_objects.quiver.unselected.marker.L + ine` instance or dict with compatible properties """ - def __init__(self, arg=None, color=None, opacity=None, size=None, **kwargs): + def __init__(self, arg=None, color=None, line=None, **kwargs): """ Construct a new Marker object @@ -93,17 +71,14 @@ def __init__(self, arg=None, color=None, opacity=None, size=None, **kwargs): ---------- arg dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.scattermapbox. - unselected.Marker` + an instance of + :class:`plotly.graph_objs.quiver.unselected.Marker` color Sets the marker color of unselected points, applied only when a selection exists. - opacity - Sets the marker opacity of unselected points, applied - only when a selection exists. - size - Sets the marker size of unselected points, applied only - when a selection exists. + line + :class:`plotly.graph_objects.quiver.unselected.marker.L + ine` instance or dict with compatible properties Returns ------- @@ -122,15 +97,14 @@ def __init__(self, arg=None, color=None, opacity=None, size=None, **kwargs): arg = _copy.copy(arg) else: raise ValueError("""\ -The first argument to the plotly.graph_objs.scattermapbox.unselected.Marker +The first argument to the plotly.graph_objs.quiver.unselected.Marker constructor must be a dict or -an instance of :class:`plotly.graph_objs.scattermapbox.unselected.Marker`""") +an instance of :class:`plotly.graph_objs.quiver.unselected.Marker`""") self._skip_invalid = kwargs.pop("skip_invalid", False) self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("opacity", arg, opacity) - self._set_property("size", arg, size) + self._set_property("line", arg, line) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/layout/mapbox/layer/_fill.py b/plotly/graph_objs/quiver/unselected/_textfont.py similarity index 50% rename from plotly/graph_objs/layout/mapbox/layer/_fill.py rename to plotly/graph_objs/quiver/unselected/_textfont.py index d7ae63c27cb..569ae37b114 100644 --- a/plotly/graph_objs/layout/mapbox/layer/_fill.py +++ b/plotly/graph_objs/quiver/unselected/_textfont.py @@ -1,22 +1,22 @@ # --- THIS FILE IS AUTO-GENERATED --- # Modifications will be overwitten the next time code generation run. -from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType import copy as _copy -class Fill(_BaseLayoutHierarchyType): - _parent_path_str = "layout.mapbox.layer" - _path_str = "layout.mapbox.layer.fill" - _valid_props = {"outlinecolor"} +class Textfont(_BaseTraceHierarchyType): + _parent_path_str = "quiver.unselected" + _path_str = "quiver.unselected.textfont" + _valid_props = {"color"} @property - def outlinecolor(self): + def color(self): """ - Sets the fill outline color (mapbox.layer.paint.fill-outline- - color). Has an effect only when `type` is set to "fill". + Sets the text font color of unselected points, applied only + when a selection exists. - The 'outlinecolor' property is a color and may be specified as: + The 'color' property is a color and may be specified as: - A hex string (e.g. '#ff0000') - An rgb/rgba string (e.g. 'rgb(255,0,0)') - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') @@ -27,41 +27,39 @@ def outlinecolor(self): ------- str """ - return self["outlinecolor"] + return self["color"] - @outlinecolor.setter - def outlinecolor(self, val): - self["outlinecolor"] = val + @color.setter + def color(self, val): + self["color"] = val @property def _prop_descriptions(self): return """\ - outlinecolor - Sets the fill outline color (mapbox.layer.paint.fill- - outline-color). Has an effect only when `type` is set - to "fill". + color + Sets the text font color of unselected points, applied + only when a selection exists. """ - def __init__(self, arg=None, outlinecolor=None, **kwargs): + def __init__(self, arg=None, color=None, **kwargs): """ - Construct a new Fill object + Construct a new Textfont object Parameters ---------- arg dict of properties compatible with this constructor or an instance of - :class:`plotly.graph_objs.layout.mapbox.layer.Fill` - outlinecolor - Sets the fill outline color (mapbox.layer.paint.fill- - outline-color). Has an effect only when `type` is set - to "fill". + :class:`plotly.graph_objs.quiver.unselected.Textfont` + color + Sets the text font color of unselected points, applied + only when a selection exists. Returns ------- - Fill + Textfont """ - super().__init__("fill") + super().__init__("textfont") if "_parent" in kwargs: self._parent = kwargs["_parent"] return @@ -74,13 +72,13 @@ def __init__(self, arg=None, outlinecolor=None, **kwargs): arg = _copy.copy(arg) else: raise ValueError("""\ -The first argument to the plotly.graph_objs.layout.mapbox.layer.Fill +The first argument to the plotly.graph_objs.quiver.unselected.Textfont constructor must be a dict or -an instance of :class:`plotly.graph_objs.layout.mapbox.layer.Fill`""") +an instance of :class:`plotly.graph_objs.quiver.unselected.Textfont`""") self._skip_invalid = kwargs.pop("skip_invalid", False) self._validate = kwargs.pop("_validate", True) - self._set_property("outlinecolor", arg, outlinecolor) + self._set_property("color", arg, color) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/densitymapbox/hoverlabel/__init__.py b/plotly/graph_objs/quiver/unselected/marker/__init__.py similarity index 80% rename from plotly/graph_objs/densitymapbox/hoverlabel/__init__.py rename to plotly/graph_objs/quiver/unselected/marker/__init__.py index 56f600d3458..33e42c00733 100644 --- a/plotly/graph_objs/densitymapbox/hoverlabel/__init__.py +++ b/plotly/graph_objs/quiver/unselected/marker/__init__.py @@ -2,8 +2,8 @@ from typing import TYPE_CHECKING if TYPE_CHECKING: - from ._font import Font + from ._line import Line else: from _plotly_utils.importers import relative_import - __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) + __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._line.Line"]) diff --git a/plotly/graph_objs/quiver/unselected/marker/_line.py b/plotly/graph_objs/quiver/unselected/marker/_line.py new file mode 100644 index 00000000000..64808bf25c1 --- /dev/null +++ b/plotly/graph_objs/quiver/unselected/marker/_line.py @@ -0,0 +1,80 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType +import copy as _copy + + +class Line(_BaseTraceHierarchyType): + _parent_path_str = "quiver.unselected.marker" + _path_str = "quiver.unselected.marker.line" + _valid_props = {"width"} + + @property + def width(self): + """ + Sets the line width of unselected points, applied only when a + selection exists. + + The 'width' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["width"] + + @width.setter + def width(self, val): + self["width"] = val + + @property + def _prop_descriptions(self): + return """\ + width + Sets the line width of unselected points, applied only + when a selection exists. + """ + + def __init__(self, arg=None, width=None, **kwargs): + """ + Construct a new Line object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.quiver.unselec + ted.marker.Line` + width + Sets the line width of unselected points, applied only + when a selection exists. + + Returns + ------- + Line + """ + super().__init__("line") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + if arg is None: + arg = {} + elif isinstance(arg, self.__class__): + arg = arg.to_plotly_json() + elif isinstance(arg, dict): + arg = _copy.copy(arg) + else: + raise ValueError("""\ +The first argument to the plotly.graph_objs.quiver.unselected.marker.Line +constructor must be a dict or +an instance of :class:`plotly.graph_objs.quiver.unselected.marker.Line`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("width", arg, width) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/plotly/graph_objs/sankey/__init__.py b/plotly/graph_objs/sankey/__init__.py index 257626f7958..7b39d65a519 100644 --- a/plotly/graph_objs/sankey/__init__.py +++ b/plotly/graph_objs/sankey/__init__.py @@ -7,7 +7,6 @@ from ._legendgrouptitle import Legendgrouptitle from ._link import Link from ._node import Node - from ._stream import Stream from ._textfont import Textfont from . import hoverlabel from . import legendgrouptitle @@ -25,7 +24,6 @@ "._legendgrouptitle.Legendgrouptitle", "._link.Link", "._node.Node", - "._stream.Stream", "._textfont.Textfont", ], ) diff --git a/plotly/graph_objs/sankey/_domain.py b/plotly/graph_objs/sankey/_domain.py index c4b9d910a33..b769b743830 100644 --- a/plotly/graph_objs/sankey/_domain.py +++ b/plotly/graph_objs/sankey/_domain.py @@ -14,7 +14,7 @@ class Domain(_BaseTraceHierarchyType): def column(self): """ If there is a layout grid, use the domain for this column in - the grid for this sankey trace . + the grid for this sankey trace. The 'column' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -34,7 +34,7 @@ def column(self, val): def row(self): """ If there is a layout grid, use the domain for this row in the - grid for this sankey trace . + grid for this sankey trace. The 'row' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -103,10 +103,10 @@ def _prop_descriptions(self): return """\ column If there is a layout grid, use the domain for this - column in the grid for this sankey trace . + column in the grid for this sankey trace. row If there is a layout grid, use the domain for this row - in the grid for this sankey trace . + in the grid for this sankey trace. x Sets the horizontal domain of this sankey trace (in plot fraction). @@ -126,10 +126,10 @@ def __init__(self, arg=None, column=None, row=None, x=None, y=None, **kwargs): an instance of :class:`plotly.graph_objs.sankey.Domain` column If there is a layout grid, use the domain for this - column in the grid for this sankey trace . + column in the grid for this sankey trace. row If there is a layout grid, use the domain for this row - in the grid for this sankey trace . + in the grid for this sankey trace. x Sets the horizontal domain of this sankey trace (in plot fraction). diff --git a/plotly/graph_objs/sankey/_hoverlabel.py b/plotly/graph_objs/sankey/_hoverlabel.py index 3bfba032341..e29c4affb02 100644 --- a/plotly/graph_objs/sankey/_hoverlabel.py +++ b/plotly/graph_objs/sankey/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "sankey.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/sankey/_link.py b/plotly/graph_objs/sankey/_link.py index df844e57973..bc024e43171 100644 --- a/plotly/graph_objs/sankey/_link.py +++ b/plotly/graph_objs/sankey/_link.py @@ -13,25 +13,18 @@ class Link(_BaseTraceHierarchyType): "color", "colorscaledefaults", "colorscales", - "colorsrc", "customdata", - "customdatasrc", "hovercolor", - "hovercolorsrc", "hoverinfo", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "label", - "labelsrc", "line", + "sort", "source", - "sourcesrc", "target", - "targetsrc", "value", - "valuesrc", } @property @@ -121,24 +114,6 @@ def colorscaledefaults(self): def colorscaledefaults(self, val): self["colorscaledefaults"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def customdata(self): """ @@ -157,25 +132,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def hovercolor(self): """ @@ -202,29 +158,10 @@ def hovercolor(self): def hovercolor(self, val): self["hovercolor"] = val - @property - def hovercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovercolor`. - - The 'hovercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovercolorsrc"] - - @hovercolorsrc.setter - def hovercolorsrc(self, val): - self["hovercolorsrc"] = val - @property def hoverinfo(self): """ - Determines which trace information appear when hovering links. + Determines what trace information appears when hovering links. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -329,25 +266,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def label(self): """ @@ -366,24 +284,6 @@ def label(self): def label(self, val): self["label"] = val - @property - def labelsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `label`. - - The 'labelsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["labelsrc"] - - @labelsrc.setter - def labelsrc(self, val): - self["labelsrc"] = val - @property def line(self): """ @@ -403,6 +303,28 @@ def line(self): def line(self, val): self["line"] = val + @property + def sort(self): + """ + For `auto` (the default), the order of links attached to each + node is determined automatically by the layout. For `input`, + the order of links at each node is kept the same as the order + in the input array. + + The 'sort' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'input'] + + Returns + ------- + Any + """ + return self["sort"] + + @sort.setter + def sort(self, val): + self["sort"] = val + @property def source(self): """ @@ -422,24 +344,6 @@ def source(self): def source(self, val): self["source"] = val - @property - def sourcesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `source`. - - The 'sourcesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sourcesrc"] - - @sourcesrc.setter - def sourcesrc(self, val): - self["sourcesrc"] = val - @property def target(self): """ @@ -459,24 +363,6 @@ def target(self): def target(self, val): self["target"] = val - @property - def targetsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `target`. - - The 'targetsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["targetsrc"] - - @targetsrc.setter - def targetsrc(self, val): - self["targetsrc"] = val - @property def value(self): """ @@ -495,24 +381,6 @@ def value(self): def value(self, val): self["value"] = val - @property - def valuesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `value`. - - The 'valuesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["valuesrc"] - - @valuesrc.setter - def valuesrc(self, val): - self["valuesrc"] = val - @property def _prop_descriptions(self): return """\ @@ -533,25 +401,16 @@ def _prop_descriptions(self): layout.template.data.sankey.link.colorscaledefaults), sets the default property values to use for elements of sankey.link.colorscales - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. customdata Assigns extra data to each link. - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. hovercolor Sets the `link` hover color. It can be a single value, or an array for specifying hover colors for each `link`. If `link.hovercolor` is omitted, then by default, links will become slightly more opaque when hovered over. - hovercolorsrc - Sets the source reference on Chart Studio Cloud for - `hovercolor`. hoverinfo - Determines which trace information appear when hovering + Determines what trace information appears when hovering links. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -598,34 +457,24 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. label The shown name of the link. - labelsrc - Sets the source reference on Chart Studio Cloud for - `label`. line :class:`plotly.graph_objects.sankey.link.Line` instance or dict with compatible properties + sort + For `auto` (the default), the order of links attached + to each node is determined automatically by the layout. + For `input`, the order of links at each node is kept + the same as the order in the input array. source An integer number `[0..nodes.length - 1]` that represents the source node. - sourcesrc - Sets the source reference on Chart Studio Cloud for - `source`. target An integer number `[0..nodes.length - 1]` that represents the target node. - targetsrc - Sets the source reference on Chart Studio Cloud for - `target`. value A numeric value representing the flow volume value. - valuesrc - Sets the source reference on Chart Studio Cloud for - `value`. """ def __init__( @@ -635,25 +484,18 @@ def __init__( color=None, colorscales=None, colorscaledefaults=None, - colorsrc=None, customdata=None, - customdatasrc=None, hovercolor=None, - hovercolorsrc=None, hoverinfo=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, label=None, - labelsrc=None, line=None, + sort=None, source=None, - sourcesrc=None, target=None, - targetsrc=None, value=None, - valuesrc=None, **kwargs, ): """ @@ -683,25 +525,16 @@ def __init__( layout.template.data.sankey.link.colorscaledefaults), sets the default property values to use for elements of sankey.link.colorscales - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. customdata Assigns extra data to each link. - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. hovercolor Sets the `link` hover color. It can be a single value, or an array for specifying hover colors for each `link`. If `link.hovercolor` is omitted, then by default, links will become slightly more opaque when hovered over. - hovercolorsrc - Sets the source reference on Chart Studio Cloud for - `hovercolor`. hoverinfo - Determines which trace information appear when hovering + Determines what trace information appears when hovering links. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -748,34 +581,24 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. label The shown name of the link. - labelsrc - Sets the source reference on Chart Studio Cloud for - `label`. line :class:`plotly.graph_objects.sankey.link.Line` instance or dict with compatible properties + sort + For `auto` (the default), the order of links attached + to each node is determined automatically by the layout. + For `input`, the order of links at each node is kept + the same as the order in the input array. source An integer number `[0..nodes.length - 1]` that represents the source node. - sourcesrc - Sets the source reference on Chart Studio Cloud for - `source`. target An integer number `[0..nodes.length - 1]` that represents the target node. - targetsrc - Sets the source reference on Chart Studio Cloud for - `target`. value A numeric value representing the flow volume value. - valuesrc - Sets the source reference on Chart Studio Cloud for - `value`. Returns ------- @@ -805,24 +628,17 @@ def __init__( self._set_property("color", arg, color) self._set_property("colorscales", arg, colorscales) self._set_property("colorscaledefaults", arg, colorscaledefaults) - self._set_property("colorsrc", arg, colorsrc) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("hovercolor", arg, hovercolor) - self._set_property("hovercolorsrc", arg, hovercolorsrc) self._set_property("hoverinfo", arg, hoverinfo) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("label", arg, label) - self._set_property("labelsrc", arg, labelsrc) self._set_property("line", arg, line) + self._set_property("sort", arg, sort) self._set_property("source", arg, source) - self._set_property("sourcesrc", arg, sourcesrc) self._set_property("target", arg, target) - self._set_property("targetsrc", arg, targetsrc) self._set_property("value", arg, value) - self._set_property("valuesrc", arg, valuesrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/sankey/_node.py b/plotly/graph_objs/sankey/_node.py index 94a1baa2318..204d5fa1df7 100644 --- a/plotly/graph_objs/sankey/_node.py +++ b/plotly/graph_objs/sankey/_node.py @@ -11,24 +11,19 @@ class Node(_BaseTraceHierarchyType): _valid_props = { "align", "color", - "colorsrc", "customdata", - "customdatasrc", "groups", "hoverinfo", "hoverlabel", "hovertemplate", "hovertemplatefallback", - "hovertemplatesrc", "label", - "labelsrc", "line", "pad", + "sort", "thickness", "x", - "xsrc", "y", - "ysrc", } @property @@ -79,24 +74,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def customdata(self): """ @@ -115,25 +92,6 @@ def customdata(self): def customdata(self, val): self["customdata"] = val - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - @property def groups(self): """ @@ -159,7 +117,7 @@ def groups(self, val): @property def hoverinfo(self): """ - Determines which trace information appear when hovering nodes. + Determines what trace information appears when hovering nodes. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -264,25 +222,6 @@ def hovertemplatefallback(self): def hovertemplatefallback(self, val): self["hovertemplatefallback"] = val - @property - def hovertemplatesrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. - - The 'hovertemplatesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hovertemplatesrc"] - - @hovertemplatesrc.setter - def hovertemplatesrc(self, val): - self["hovertemplatesrc"] = val - @property def label(self): """ @@ -301,24 +240,6 @@ def label(self): def label(self, val): self["label"] = val - @property - def labelsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `label`. - - The 'labelsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["labelsrc"] - - @labelsrc.setter - def labelsrc(self, val): - self["labelsrc"] = val - @property def line(self): """ @@ -356,6 +277,28 @@ def pad(self): def pad(self, val): self["pad"] = val + @property + def sort(self): + """ + For `auto` (the default), the vertical order of nodes will be + determined automatically by the layout. For `input`, the + vertical order of nodes is kept the same as the order in the + input array. + + The 'sort' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'input'] + + Returns + ------- + Any + """ + return self["sort"] + + @sort.setter + def sort(self, val): + self["sort"] = val + @property def thickness(self): """ @@ -392,24 +335,6 @@ def x(self): def x(self, val): self["x"] = val - @property - def xsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `x`. - - The 'xsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xsrc"] - - @xsrc.setter - def xsrc(self, val): - self["xsrc"] = val - @property def y(self): """ @@ -428,24 +353,6 @@ def y(self): def y(self, val): self["y"] = val - @property - def ysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `y`. - - The 'ysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ysrc"] - - @ysrc.setter - def ysrc(self, val): - self["ysrc"] = val - @property def _prop_descriptions(self): return """\ @@ -459,20 +366,14 @@ def _prop_descriptions(self): color palette will be cycled through to have a variety of colors. These defaults are not fully opaque, to allow some visibility of what is beneath the node. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. customdata Assigns extra data to each node. - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. groups Groups of nodes. Each group is defined by an array with the indices of the nodes it contains. Multiple groups can be specified. hoverinfo - Determines which trace information appear when hovering + Determines what trace information appears when hovering nodes. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -519,31 +420,24 @@ def _prop_descriptions(self): referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. label The shown name of the node. - labelsrc - Sets the source reference on Chart Studio Cloud for - `label`. line :class:`plotly.graph_objects.sankey.node.Line` instance or dict with compatible properties pad Sets the padding (in px) between the `nodes`. + sort + For `auto` (the default), the vertical order of nodes + will be determined automatically by the layout. For + `input`, the vertical order of nodes is kept the same + as the order in the input array. thickness Sets the thickness (in px) of the `nodes`. x The normalized horizontal position of the node. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y The normalized vertical position of the node. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. """ def __init__( @@ -551,24 +445,19 @@ def __init__( arg=None, align=None, color=None, - colorsrc=None, customdata=None, - customdatasrc=None, groups=None, hoverinfo=None, hoverlabel=None, hovertemplate=None, hovertemplatefallback=None, - hovertemplatesrc=None, label=None, - labelsrc=None, line=None, pad=None, + sort=None, thickness=None, x=None, - xsrc=None, y=None, - ysrc=None, **kwargs, ): """ @@ -591,20 +480,14 @@ def __init__( color palette will be cycled through to have a variety of colors. These defaults are not fully opaque, to allow some visibility of what is beneath the node. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. customdata Assigns extra data to each node. - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. groups Groups of nodes. Each group is defined by an array with the indices of the nodes it contains. Multiple groups can be specified. hoverinfo - Determines which trace information appear when hovering + Determines what trace information appears when hovering nodes. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. @@ -651,31 +534,24 @@ def __init__( referenced in a template is missing. If the boolean value 'false' is passed in, the specifier with the missing variable will be displayed. - hovertemplatesrc - Sets the source reference on Chart Studio Cloud for - `hovertemplate`. label The shown name of the node. - labelsrc - Sets the source reference on Chart Studio Cloud for - `label`. line :class:`plotly.graph_objects.sankey.node.Line` instance or dict with compatible properties pad Sets the padding (in px) between the `nodes`. + sort + For `auto` (the default), the vertical order of nodes + will be determined automatically by the layout. For + `input`, the vertical order of nodes is kept the same + as the order in the input array. thickness Sets the thickness (in px) of the `nodes`. x The normalized horizontal position of the node. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y The normalized vertical position of the node. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. Returns ------- @@ -703,23 +579,18 @@ def __init__( self._set_property("align", arg, align) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("customdata", arg, customdata) - self._set_property("customdatasrc", arg, customdatasrc) self._set_property("groups", arg, groups) self._set_property("hoverinfo", arg, hoverinfo) self._set_property("hoverlabel", arg, hoverlabel) self._set_property("hovertemplate", arg, hovertemplate) self._set_property("hovertemplatefallback", arg, hovertemplatefallback) - self._set_property("hovertemplatesrc", arg, hovertemplatesrc) self._set_property("label", arg, label) - self._set_property("labelsrc", arg, labelsrc) self._set_property("line", arg, line) self._set_property("pad", arg, pad) + self._set_property("sort", arg, sort) self._set_property("thickness", arg, thickness) self._set_property("x", arg, x) - self._set_property("xsrc", arg, xsrc) self._set_property("y", arg, y) - self._set_property("ysrc", arg, ysrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/sankey/_stream.py b/plotly/graph_objs/sankey/_stream.py deleted file mode 100644 index 542d7c1f8ea..00000000000 --- a/plotly/graph_objs/sankey/_stream.py +++ /dev/null @@ -1,113 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "sankey" - _path_str = "sankey.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.sankey.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.sankey.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.sankey.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/sankey/hoverlabel/_font.py b/plotly/graph_objs/sankey/hoverlabel/_font.py index ceea018fd22..c3cb342f7ed 100644 --- a/plotly/graph_objs/sankey/hoverlabel/_font.py +++ b/plotly/graph_objs/sankey/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "sankey.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.sankey.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/sankey/link/_colorscale.py b/plotly/graph_objs/sankey/link/_colorscale.py index 61d0934d00d..f2f08e58820 100644 --- a/plotly/graph_objs/sankey/link/_colorscale.py +++ b/plotly/graph_objs/sankey/link/_colorscale.py @@ -51,7 +51,7 @@ def colorscale(self): """ Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, - hsv, or named color string. At minimum, a mapping for the + hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `cmin` and `cmax`. @@ -178,15 +178,15 @@ def _prop_descriptions(self): colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. label The label of the links to color based on their concentration within a flow. @@ -238,15 +238,15 @@ def __init__( colorscale Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `cmin` and `cmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. + rgba, hex, hsl, hsla, hwb, or named color string. At + minimum, a mapping for the lowest (0) and highest (1) + values are required. For example, `[[0, + 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the + bounds of the colorscale in color space, use `cmin` and + `cmax`. Alternatively, `colorscale` may be a palette + name string of the following list: Blackbody,Bluered,Bl + ues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic, + Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. label The label of the links to color based on their concentration within a flow. diff --git a/plotly/graph_objs/sankey/link/_hoverlabel.py b/plotly/graph_objs/sankey/link/_hoverlabel.py index 10a5f31d35b..02beb63f586 100644 --- a/plotly/graph_objs/sankey/link/_hoverlabel.py +++ b/plotly/graph_objs/sankey/link/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "sankey.link.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/sankey/link/_line.py b/plotly/graph_objs/sankey/link/_line.py index feb0d9edcc4..66900dad604 100644 --- a/plotly/graph_objs/sankey/link/_line.py +++ b/plotly/graph_objs/sankey/link/_line.py @@ -8,7 +8,7 @@ class Line(_BaseTraceHierarchyType): _parent_path_str = "sankey.link" _path_str = "sankey.link.line" - _valid_props = {"color", "colorsrc", "width", "widthsrc"} + _valid_props = {"color", "width"} @property def color(self): @@ -33,24 +33,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def width(self): """ @@ -70,43 +52,17 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def _prop_descriptions(self): return """\ color Sets the color of the `line` around each `link`. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. width Sets the width (in px) of the `line` around each `link`. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. """ - def __init__( - self, arg=None, color=None, colorsrc=None, width=None, widthsrc=None, **kwargs - ): + def __init__(self, arg=None, color=None, width=None, **kwargs): """ Construct a new Line object @@ -118,15 +74,9 @@ def __init__( :class:`plotly.graph_objs.sankey.link.Line` color Sets the color of the `line` around each `link`. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. width Sets the width (in px) of the `line` around each `link`. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. Returns ------- @@ -153,8 +103,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/sankey/link/hoverlabel/_font.py b/plotly/graph_objs/sankey/link/hoverlabel/_font.py index 88bc5bacbb0..baf13d62435 100644 --- a/plotly/graph_objs/sankey/link/hoverlabel/_font.py +++ b/plotly/graph_objs/sankey/link/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "sankey.link.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.sankey.link.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/sankey/node/_hoverlabel.py b/plotly/graph_objs/sankey/node/_hoverlabel.py index 99d1a7f5f83..fd107d1947d 100644 --- a/plotly/graph_objs/sankey/node/_hoverlabel.py +++ b/plotly/graph_objs/sankey/node/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "sankey.node.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/sankey/node/_line.py b/plotly/graph_objs/sankey/node/_line.py index d3855f241a0..4f26ef57785 100644 --- a/plotly/graph_objs/sankey/node/_line.py +++ b/plotly/graph_objs/sankey/node/_line.py @@ -8,7 +8,7 @@ class Line(_BaseTraceHierarchyType): _parent_path_str = "sankey.node" _path_str = "sankey.node.line" - _valid_props = {"color", "colorsrc", "width", "widthsrc"} + _valid_props = {"color", "width"} @property def color(self): @@ -33,24 +33,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def width(self): """ @@ -70,43 +52,17 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def _prop_descriptions(self): return """\ color Sets the color of the `line` around each `node`. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. width Sets the width (in px) of the `line` around each `node`. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. """ - def __init__( - self, arg=None, color=None, colorsrc=None, width=None, widthsrc=None, **kwargs - ): + def __init__(self, arg=None, color=None, width=None, **kwargs): """ Construct a new Line object @@ -118,15 +74,9 @@ def __init__( :class:`plotly.graph_objs.sankey.node.Line` color Sets the color of the `line` around each `node`. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. width Sets the width (in px) of the `line` around each `node`. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. Returns ------- @@ -153,8 +103,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/sankey/node/hoverlabel/_font.py b/plotly/graph_objs/sankey/node/hoverlabel/_font.py index 8ba27133892..fc53fba2f9e 100644 --- a/plotly/graph_objs/sankey/node/hoverlabel/_font.py +++ b/plotly/graph_objs/sankey/node/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "sankey.node.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.sankey.node.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatter/__init__.py b/plotly/graph_objs/scatter/__init__.py index c4452eb5a13..9e807ceb1fd 100644 --- a/plotly/graph_objs/scatter/__init__.py +++ b/plotly/graph_objs/scatter/__init__.py @@ -11,7 +11,6 @@ from ._line import Line from ._marker import Marker from ._selected import Selected - from ._stream import Stream from ._textfont import Textfont from ._unselected import Unselected from . import hoverlabel @@ -35,7 +34,6 @@ "._line.Line", "._marker.Marker", "._selected.Selected", - "._stream.Stream", "._textfont.Textfont", "._unselected.Unselected", ], diff --git a/plotly/graph_objs/scatter/_error_x.py b/plotly/graph_objs/scatter/_error_x.py index 88b61752b60..098c7faa1d3 100644 --- a/plotly/graph_objs/scatter/_error_x.py +++ b/plotly/graph_objs/scatter/_error_x.py @@ -11,8 +11,6 @@ class ErrorX(_BaseTraceHierarchyType): _valid_props = { "array", "arrayminus", - "arrayminussrc", - "arraysrc", "color", "copy_ystyle", "symmetric", @@ -65,43 +63,6 @@ def arrayminus(self): def arrayminus(self, val): self["arrayminus"] = val - @property - def arrayminussrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - - The 'arrayminussrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["arrayminussrc"] - - @arrayminussrc.setter - def arrayminussrc(self, val): - self["arrayminussrc"] = val - - @property - def arraysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `array`. - - The 'arraysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["arraysrc"] - - @arraysrc.setter - def arraysrc(self, val): - self["arraysrc"] = val - @property def color(self): """ @@ -327,12 +288,6 @@ def _prop_descriptions(self): bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data. - arrayminussrc - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - arraysrc - Sets the source reference on Chart Studio Cloud for - `array`. color Sets the stroke color of the error bars. copy_ystyle @@ -380,8 +335,6 @@ def __init__( arg=None, array=None, arrayminus=None, - arrayminussrc=None, - arraysrc=None, color=None, copy_ystyle=None, symmetric=None, @@ -413,12 +366,6 @@ def __init__( bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data. - arrayminussrc - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - arraysrc - Sets the source reference on Chart Studio Cloud for - `array`. color Sets the stroke color of the error bars. copy_ystyle @@ -486,8 +433,6 @@ def __init__( self._set_property("array", arg, array) self._set_property("arrayminus", arg, arrayminus) - self._set_property("arrayminussrc", arg, arrayminussrc) - self._set_property("arraysrc", arg, arraysrc) self._set_property("color", arg, color) self._set_property("copy_ystyle", arg, copy_ystyle) self._set_property("symmetric", arg, symmetric) diff --git a/plotly/graph_objs/scatter/_error_y.py b/plotly/graph_objs/scatter/_error_y.py index 6dfbaa6e7e2..bd1ee609e63 100644 --- a/plotly/graph_objs/scatter/_error_y.py +++ b/plotly/graph_objs/scatter/_error_y.py @@ -11,8 +11,6 @@ class ErrorY(_BaseTraceHierarchyType): _valid_props = { "array", "arrayminus", - "arrayminussrc", - "arraysrc", "color", "symmetric", "thickness", @@ -64,43 +62,6 @@ def arrayminus(self): def arrayminus(self, val): self["arrayminus"] = val - @property - def arrayminussrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - - The 'arrayminussrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["arrayminussrc"] - - @arrayminussrc.setter - def arrayminussrc(self, val): - self["arrayminussrc"] = val - - @property - def arraysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `array`. - - The 'arraysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["arraysrc"] - - @arraysrc.setter - def arraysrc(self, val): - self["arraysrc"] = val - @property def color(self): """ @@ -310,12 +271,6 @@ def _prop_descriptions(self): bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data. - arrayminussrc - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - arraysrc - Sets the source reference on Chart Studio Cloud for - `array`. color Sets the stroke color of the error bars. symmetric @@ -361,8 +316,6 @@ def __init__( arg=None, array=None, arrayminus=None, - arrayminussrc=None, - arraysrc=None, color=None, symmetric=None, thickness=None, @@ -393,12 +346,6 @@ def __init__( bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data. - arrayminussrc - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - arraysrc - Sets the source reference on Chart Studio Cloud for - `array`. color Sets the stroke color of the error bars. symmetric @@ -464,8 +411,6 @@ def __init__( self._set_property("array", arg, array) self._set_property("arrayminus", arg, arrayminus) - self._set_property("arrayminussrc", arg, arrayminussrc) - self._set_property("arraysrc", arg, arraysrc) self._set_property("color", arg, color) self._set_property("symmetric", arg, symmetric) self._set_property("thickness", arg, thickness) diff --git a/plotly/graph_objs/scatter/_fillpattern.py b/plotly/graph_objs/scatter/_fillpattern.py index db963840855..465207df170 100644 --- a/plotly/graph_objs/scatter/_fillpattern.py +++ b/plotly/graph_objs/scatter/_fillpattern.py @@ -10,19 +10,13 @@ class Fillpattern(_BaseTraceHierarchyType): _path_str = "scatter.fillpattern" _valid_props = { "bgcolor", - "bgcolorsrc", "fgcolor", - "fgcolorsrc", "fgopacity", "fillmode", "path", - "pathsrc", "shape", - "shapesrc", "size", - "sizesrc", "solidity", - "soliditysrc", } @property @@ -51,24 +45,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def fgcolor(self): """ @@ -95,24 +71,6 @@ def fgcolor(self): def fgcolor(self, val): self["fgcolor"] = val - @property - def fgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `fgcolor`. - - The 'fgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["fgcolorsrc"] - - @fgcolorsrc.setter - def fgcolorsrc(self, val): - self["fgcolorsrc"] = val - @property def fgopacity(self): """ @@ -174,24 +132,6 @@ def path(self): def path(self, val): self["path"] = val - @property - def pathsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `path`. - - The 'pathsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["pathsrc"] - - @pathsrc.setter - def pathsrc(self, val): - self["pathsrc"] = val - @property def shape(self): """ @@ -213,24 +153,6 @@ def shape(self): def shape(self, val): self["shape"] = val - @property - def shapesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shape`. - - The 'shapesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shapesrc"] - - @shapesrc.setter - def shapesrc(self, val): - self["shapesrc"] = val - @property def size(self): """ @@ -251,24 +173,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def solidity(self): """ @@ -291,24 +195,6 @@ def solidity(self): def solidity(self, val): self["solidity"] = val - @property - def soliditysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `solidity`. - - The 'soliditysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["soliditysrc"] - - @soliditysrc.setter - def soliditysrc(self, val): - self["soliditysrc"] = val - @property def _prop_descriptions(self): return """\ @@ -317,18 +203,12 @@ def _prop_descriptions(self): background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background. - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. fgcolor When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`. - fgcolorsrc - Sets the source reference on Chart Studio Cloud for - `fgcolor`. fgopacity Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". @@ -341,50 +221,32 @@ def _prop_descriptions(self): `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color. - pathsrc - Sets the source reference on Chart Studio Cloud for - `path`. shape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. - shapesrc - Sets the source reference on Chart Studio Cloud for - `shape`. size Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. solidity Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern. - soliditysrc - Sets the source reference on Chart Studio Cloud for - `solidity`. """ def __init__( self, arg=None, bgcolor=None, - bgcolorsrc=None, fgcolor=None, - fgcolorsrc=None, fgopacity=None, fillmode=None, path=None, - pathsrc=None, shape=None, - shapesrc=None, size=None, - sizesrc=None, solidity=None, - soliditysrc=None, **kwargs, ): """ @@ -403,18 +265,12 @@ def __init__( background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background. - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. fgcolor When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`. - fgcolorsrc - Sets the source reference on Chart Studio Cloud for - `fgcolor`. fgopacity Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". @@ -427,31 +283,19 @@ def __init__( `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color. - pathsrc - Sets the source reference on Chart Studio Cloud for - `path`. shape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. - shapesrc - Sets the source reference on Chart Studio Cloud for - `shape`. size Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. solidity Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern. - soliditysrc - Sets the source reference on Chart Studio Cloud for - `solidity`. Returns ------- @@ -478,18 +322,12 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("fgcolor", arg, fgcolor) - self._set_property("fgcolorsrc", arg, fgcolorsrc) self._set_property("fgopacity", arg, fgopacity) self._set_property("fillmode", arg, fillmode) self._set_property("path", arg, path) - self._set_property("pathsrc", arg, pathsrc) self._set_property("shape", arg, shape) - self._set_property("shapesrc", arg, shapesrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("solidity", arg, solidity) - self._set_property("soliditysrc", arg, soliditysrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatter/_hoverlabel.py b/plotly/graph_objs/scatter/_hoverlabel.py index 38c3bda85c2..061a4e65603 100644 --- a/plotly/graph_objs/scatter/_hoverlabel.py +++ b/plotly/graph_objs/scatter/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "scatter.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatter/_line.py b/plotly/graph_objs/scatter/_line.py index dd4f7ec8dc7..9cd4646e1c2 100644 --- a/plotly/graph_objs/scatter/_line.py +++ b/plotly/graph_objs/scatter/_line.py @@ -10,7 +10,6 @@ class Line(_BaseTraceHierarchyType): _path_str = "scatter.line" _valid_props = { "backoff", - "backoffsrc", "color", "dash", "shape", @@ -41,24 +40,6 @@ def backoff(self): def backoff(self, val): self["backoff"] = val - @property - def backoffsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `backoff`. - - The 'backoffsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["backoffsrc"] - - @backoffsrc.setter - def backoffsrc(self, val): - self["backoffsrc"] = val - @property def color(self): """ @@ -194,9 +175,6 @@ def _prop_descriptions(self): avoid overlap with arrowhead markers. With "auto" the lines would trim before markers if `marker.angleref` is set to "previous". - backoffsrc - Sets the source reference on Chart Studio Cloud for - `backoff`. color Sets the line color. dash @@ -225,7 +203,6 @@ def __init__( self, arg=None, backoff=None, - backoffsrc=None, color=None, dash=None, shape=None, @@ -248,9 +225,6 @@ def __init__( avoid overlap with arrowhead markers. With "auto" the lines would trim before markers if `marker.angleref` is set to "previous". - backoffsrc - Sets the source reference on Chart Studio Cloud for - `backoff`. color Sets the line color. dash @@ -299,7 +273,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("backoff", arg, backoff) - self._set_property("backoffsrc", arg, backoffsrc) self._set_property("color", arg, color) self._set_property("dash", arg, dash) self._set_property("shape", arg, shape) diff --git a/plotly/graph_objs/scatter/_marker.py b/plotly/graph_objs/scatter/_marker.py index 639d5ad3a36..2cabc6f4a93 100644 --- a/plotly/graph_objs/scatter/_marker.py +++ b/plotly/graph_objs/scatter/_marker.py @@ -11,7 +11,6 @@ class Marker(_BaseTraceHierarchyType): _valid_props = { "angle", "angleref", - "anglesrc", "autocolorscale", "cauto", "cmax", @@ -21,23 +20,18 @@ class Marker(_BaseTraceHierarchyType): "coloraxis", "colorbar", "colorscale", - "colorsrc", "gradient", "line", "maxdisplayed", "opacity", - "opacitysrc", "reversescale", "showscale", "size", "sizemin", "sizemode", "sizeref", - "sizesrc", "standoff", - "standoffsrc", "symbol", - "symbolsrc", } @property @@ -81,24 +75,6 @@ def angleref(self): def angleref(self, val): self["angleref"] = val - @property - def anglesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `angle`. - - The 'anglesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["anglesrc"] - - @anglesrc.setter - def anglesrc(self, val): - self["anglesrc"] = val - @property def autocolorscale(self): """ @@ -288,9 +264,9 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, - hex, hsl, hsv, or named color string. At minimum, a mapping for - the lowest (0) and highest (1) values are required. For - example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To + hex, hsl, hsla, hwb, or named color string. At minimum, a + mapping for the lowest (0) and highest (1) values are required. + For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,B @@ -334,24 +310,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def gradient(self): """ @@ -428,24 +386,6 @@ def opacity(self): def opacity(self, val): self["opacity"] = val - @property - def opacitysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `opacity`. - - The 'opacitysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["opacitysrc"] - - @opacitysrc.setter - def opacitysrc(self, val): - self["opacitysrc"] = val - @property def reversescale(self): """ @@ -567,24 +507,6 @@ def sizeref(self): def sizeref(self, val): self["sizeref"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def standoff(self): """ @@ -607,24 +529,6 @@ def standoff(self): def standoff(self, val): self["standoff"] = val - @property - def standoffsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `standoff`. - - The 'standoffsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["standoffsrc"] - - @standoffsrc.setter - def standoffsrc(self, val): - self["standoffsrc"] = val - @property def symbol(self): """ @@ -736,24 +640,6 @@ def symbol(self): def symbol(self, val): self["symbol"] = val - @property - def symbolsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `symbol`. - - The 'symbolsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["symbolsrc"] - - @symbolsrc.setter - def symbolsrc(self, val): - self["symbolsrc"] = val - @property def _prop_descriptions(self): return """\ @@ -764,9 +650,6 @@ def _prop_descriptions(self): angle 0 points along the line from the previous point to this one. With "up", angle 0 points toward the top of the screen. - anglesrc - Sets the source reference on Chart Studio Cloud for - `angle`. autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -820,8 +703,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -830,9 +713,6 @@ def _prop_descriptions(self): following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. gradient :class:`plotly.graph_objects.scatter.marker.Gradient` instance or dict with compatible properties @@ -844,9 +724,6 @@ def _prop_descriptions(self): graph. 0 corresponds to no limit. opacity Sets the marker opacity. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If @@ -872,26 +749,17 @@ def _prop_descriptions(self): numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. standoff Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it. - standoffsrc - Sets the source reference on Chart Studio Cloud for - `standoff`. symbol Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot- open" to a symbol name. - symbolsrc - Sets the source reference on Chart Studio Cloud for - `symbol`. """ def __init__( @@ -899,7 +767,6 @@ def __init__( arg=None, angle=None, angleref=None, - anglesrc=None, autocolorscale=None, cauto=None, cmax=None, @@ -909,23 +776,18 @@ def __init__( coloraxis=None, colorbar=None, colorscale=None, - colorsrc=None, gradient=None, line=None, maxdisplayed=None, opacity=None, - opacitysrc=None, reversescale=None, showscale=None, size=None, sizemin=None, sizemode=None, sizeref=None, - sizesrc=None, standoff=None, - standoffsrc=None, symbol=None, - symbolsrc=None, **kwargs, ): """ @@ -944,9 +806,6 @@ def __init__( angle 0 points along the line from the previous point to this one. With "up", angle 0 points toward the top of the screen. - anglesrc - Sets the source reference on Chart Studio Cloud for - `angle`. autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -1000,8 +859,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -1010,9 +869,6 @@ def __init__( following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. gradient :class:`plotly.graph_objects.scatter.marker.Gradient` instance or dict with compatible properties @@ -1024,9 +880,6 @@ def __init__( graph. 0 corresponds to no limit. opacity Sets the marker opacity. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If @@ -1052,26 +905,17 @@ def __init__( numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. standoff Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it. - standoffsrc - Sets the source reference on Chart Studio Cloud for - `standoff`. symbol Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot- open" to a symbol name. - symbolsrc - Sets the source reference on Chart Studio Cloud for - `symbol`. Returns ------- @@ -1099,7 +943,6 @@ def __init__( self._set_property("angle", arg, angle) self._set_property("angleref", arg, angleref) - self._set_property("anglesrc", arg, anglesrc) self._set_property("autocolorscale", arg, autocolorscale) self._set_property("cauto", arg, cauto) self._set_property("cmax", arg, cmax) @@ -1109,22 +952,17 @@ def __init__( self._set_property("coloraxis", arg, coloraxis) self._set_property("colorbar", arg, colorbar) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("gradient", arg, gradient) self._set_property("line", arg, line) self._set_property("maxdisplayed", arg, maxdisplayed) self._set_property("opacity", arg, opacity) - self._set_property("opacitysrc", arg, opacitysrc) self._set_property("reversescale", arg, reversescale) self._set_property("showscale", arg, showscale) self._set_property("size", arg, size) self._set_property("sizemin", arg, sizemin) self._set_property("sizemode", arg, sizemode) self._set_property("sizeref", arg, sizeref) - self._set_property("sizesrc", arg, sizesrc) self._set_property("standoff", arg, standoff) - self._set_property("standoffsrc", arg, standoffsrc) self._set_property("symbol", arg, symbol) - self._set_property("symbolsrc", arg, symbolsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatter/_stream.py b/plotly/graph_objs/scatter/_stream.py deleted file mode 100644 index 6ba740d92e7..00000000000 --- a/plotly/graph_objs/scatter/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "scatter" - _path_str = "scatter.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.scatter.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.scatter.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.scatter.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/scatter/_textfont.py b/plotly/graph_objs/scatter/_textfont.py index 5f7f5308f02..906c3a875f4 100644 --- a/plotly/graph_objs/scatter/_textfont.py +++ b/plotly/graph_objs/scatter/_textfont.py @@ -10,23 +10,14 @@ class Textfont(_BaseTraceHierarchyType): _path_str = "scatter.textfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.scatter.Textfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatter/hoverlabel/_font.py b/plotly/graph_objs/scatter/hoverlabel/_font.py index a38d674f98f..87ab0784de4 100644 --- a/plotly/graph_objs/scatter/hoverlabel/_font.py +++ b/plotly/graph_objs/scatter/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "scatter.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.scatter.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatter/marker/_colorbar.py b/plotly/graph_objs/scatter/marker/_colorbar.py index f31dc0869f2..d172526a0f8 100644 --- a/plotly/graph_objs/scatter/marker/_colorbar.py +++ b/plotly/graph_objs/scatter/marker/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/scatter/marker/_gradient.py b/plotly/graph_objs/scatter/marker/_gradient.py index 129ea674922..45c6c11f404 100644 --- a/plotly/graph_objs/scatter/marker/_gradient.py +++ b/plotly/graph_objs/scatter/marker/_gradient.py @@ -8,7 +8,7 @@ class Gradient(_BaseTraceHierarchyType): _parent_path_str = "scatter.marker" _path_str = "scatter.marker.gradient" - _valid_props = {"color", "colorsrc", "type", "typesrc"} + _valid_props = {"color", "type"} @property def color(self): @@ -34,24 +34,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def type(self): """ @@ -72,24 +54,6 @@ def type(self): def type(self, val): self["type"] = val - @property - def typesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `type`. - - The 'typesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["typesrc"] - - @typesrc.setter - def typesrc(self, val): - self["typesrc"] = val - @property def _prop_descriptions(self): return """\ @@ -97,19 +61,11 @@ def _prop_descriptions(self): Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. type Sets the type of gradient used to fill the markers - typesrc - Sets the source reference on Chart Studio Cloud for - `type`. """ - def __init__( - self, arg=None, color=None, colorsrc=None, type=None, typesrc=None, **kwargs - ): + def __init__(self, arg=None, color=None, type=None, **kwargs): """ Construct a new Gradient object @@ -123,14 +79,8 @@ def __init__( Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. type Sets the type of gradient used to fill the markers - typesrc - Sets the source reference on Chart Studio Cloud for - `type`. Returns ------- @@ -157,8 +107,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("type", arg, type) - self._set_property("typesrc", arg, typesrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatter/marker/_line.py b/plotly/graph_objs/scatter/marker/_line.py index 02bb0e6efc3..b2829a87266 100644 --- a/plotly/graph_objs/scatter/marker/_line.py +++ b/plotly/graph_objs/scatter/marker/_line.py @@ -17,12 +17,9 @@ class Line(_BaseTraceHierarchyType): "color", "coloraxis", "colorscale", - "colorsrc", "dash", - "dashsrc", "reversescale", "width", - "widthsrc", } @property @@ -196,7 +193,7 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value - to an rgb, rgba, hex, hsl, hsv, or named color string. At + to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in @@ -243,24 +240,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def dash(self): """ @@ -285,24 +264,6 @@ def dash(self): def dash(self, val): self["dash"] = val - @property - def dashsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `dash`. - - The 'dashsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["dashsrc"] - - @dashsrc.setter - def dashsrc(self, val): - self["dashsrc"] = val - @property def reversescale(self): """ @@ -344,24 +305,6 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def _prop_descriptions(self): return """\ @@ -418,8 +361,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -428,17 +371,11 @@ def _prop_descriptions(self): string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. dash Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px"). - dashsrc - Sets the source reference on Chart Studio Cloud for - `dash`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -448,9 +385,6 @@ def _prop_descriptions(self): width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. """ def __init__( @@ -464,12 +398,9 @@ def __init__( color=None, coloraxis=None, colorscale=None, - colorsrc=None, dash=None, - dashsrc=None, reversescale=None, width=None, - widthsrc=None, **kwargs, ): """ @@ -534,8 +465,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -544,17 +475,11 @@ def __init__( string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. dash Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px"). - dashsrc - Sets the source reference on Chart Studio Cloud for - `dash`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -564,9 +489,6 @@ def __init__( width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. Returns ------- @@ -600,11 +522,8 @@ def __init__( self._set_property("color", arg, color) self._set_property("coloraxis", arg, coloraxis) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("dash", arg, dash) - self._set_property("dashsrc", arg, dashsrc) self._set_property("reversescale", arg, reversescale) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatter/marker/colorbar/_title.py b/plotly/graph_objs/scatter/marker/colorbar/_title.py index 381a749dae3..70313cb09b8 100644 --- a/plotly/graph_objs/scatter/marker/colorbar/_title.py +++ b/plotly/graph_objs/scatter/marker/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/scatter3d/__init__.py b/plotly/graph_objs/scatter3d/__init__.py index e28bc4407c1..30245e98958 100644 --- a/plotly/graph_objs/scatter3d/__init__.py +++ b/plotly/graph_objs/scatter3d/__init__.py @@ -10,7 +10,6 @@ from ._line import Line from ._marker import Marker from ._projection import Projection - from ._stream import Stream from ._textfont import Textfont from . import hoverlabel from . import legendgrouptitle @@ -32,7 +31,6 @@ "._line.Line", "._marker.Marker", "._projection.Projection", - "._stream.Stream", "._textfont.Textfont", ], ) diff --git a/plotly/graph_objs/scatter3d/_error_x.py b/plotly/graph_objs/scatter3d/_error_x.py index 9a0a22ac515..ebf64683f20 100644 --- a/plotly/graph_objs/scatter3d/_error_x.py +++ b/plotly/graph_objs/scatter3d/_error_x.py @@ -11,8 +11,6 @@ class ErrorX(_BaseTraceHierarchyType): _valid_props = { "array", "arrayminus", - "arrayminussrc", - "arraysrc", "color", "copy_zstyle", "symmetric", @@ -65,43 +63,6 @@ def arrayminus(self): def arrayminus(self, val): self["arrayminus"] = val - @property - def arrayminussrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - - The 'arrayminussrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["arrayminussrc"] - - @arrayminussrc.setter - def arrayminussrc(self, val): - self["arrayminussrc"] = val - - @property - def arraysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `array`. - - The 'arraysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["arraysrc"] - - @arraysrc.setter - def arraysrc(self, val): - self["arraysrc"] = val - @property def color(self): """ @@ -327,12 +288,6 @@ def _prop_descriptions(self): bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data. - arrayminussrc - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - arraysrc - Sets the source reference on Chart Studio Cloud for - `array`. color Sets the stroke color of the error bars. copy_zstyle @@ -380,8 +335,6 @@ def __init__( arg=None, array=None, arrayminus=None, - arrayminussrc=None, - arraysrc=None, color=None, copy_zstyle=None, symmetric=None, @@ -413,12 +366,6 @@ def __init__( bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data. - arrayminussrc - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - arraysrc - Sets the source reference on Chart Studio Cloud for - `array`. color Sets the stroke color of the error bars. copy_zstyle @@ -486,8 +433,6 @@ def __init__( self._set_property("array", arg, array) self._set_property("arrayminus", arg, arrayminus) - self._set_property("arrayminussrc", arg, arrayminussrc) - self._set_property("arraysrc", arg, arraysrc) self._set_property("color", arg, color) self._set_property("copy_zstyle", arg, copy_zstyle) self._set_property("symmetric", arg, symmetric) diff --git a/plotly/graph_objs/scatter3d/_error_y.py b/plotly/graph_objs/scatter3d/_error_y.py index 261cfa80520..56b5951947e 100644 --- a/plotly/graph_objs/scatter3d/_error_y.py +++ b/plotly/graph_objs/scatter3d/_error_y.py @@ -11,8 +11,6 @@ class ErrorY(_BaseTraceHierarchyType): _valid_props = { "array", "arrayminus", - "arrayminussrc", - "arraysrc", "color", "copy_zstyle", "symmetric", @@ -65,43 +63,6 @@ def arrayminus(self): def arrayminus(self, val): self["arrayminus"] = val - @property - def arrayminussrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - - The 'arrayminussrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["arrayminussrc"] - - @arrayminussrc.setter - def arrayminussrc(self, val): - self["arrayminussrc"] = val - - @property - def arraysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `array`. - - The 'arraysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["arraysrc"] - - @arraysrc.setter - def arraysrc(self, val): - self["arraysrc"] = val - @property def color(self): """ @@ -327,12 +288,6 @@ def _prop_descriptions(self): bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data. - arrayminussrc - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - arraysrc - Sets the source reference on Chart Studio Cloud for - `array`. color Sets the stroke color of the error bars. copy_zstyle @@ -380,8 +335,6 @@ def __init__( arg=None, array=None, arrayminus=None, - arrayminussrc=None, - arraysrc=None, color=None, copy_zstyle=None, symmetric=None, @@ -413,12 +366,6 @@ def __init__( bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data. - arrayminussrc - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - arraysrc - Sets the source reference on Chart Studio Cloud for - `array`. color Sets the stroke color of the error bars. copy_zstyle @@ -486,8 +433,6 @@ def __init__( self._set_property("array", arg, array) self._set_property("arrayminus", arg, arrayminus) - self._set_property("arrayminussrc", arg, arrayminussrc) - self._set_property("arraysrc", arg, arraysrc) self._set_property("color", arg, color) self._set_property("copy_zstyle", arg, copy_zstyle) self._set_property("symmetric", arg, symmetric) diff --git a/plotly/graph_objs/scatter3d/_error_z.py b/plotly/graph_objs/scatter3d/_error_z.py index 006dbcc4f04..b402e1b4eca 100644 --- a/plotly/graph_objs/scatter3d/_error_z.py +++ b/plotly/graph_objs/scatter3d/_error_z.py @@ -11,8 +11,6 @@ class ErrorZ(_BaseTraceHierarchyType): _valid_props = { "array", "arrayminus", - "arrayminussrc", - "arraysrc", "color", "symmetric", "thickness", @@ -64,43 +62,6 @@ def arrayminus(self): def arrayminus(self, val): self["arrayminus"] = val - @property - def arrayminussrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - - The 'arrayminussrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["arrayminussrc"] - - @arrayminussrc.setter - def arrayminussrc(self, val): - self["arrayminussrc"] = val - - @property - def arraysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `array`. - - The 'arraysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["arraysrc"] - - @arraysrc.setter - def arraysrc(self, val): - self["arraysrc"] = val - @property def color(self): """ @@ -310,12 +271,6 @@ def _prop_descriptions(self): bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data. - arrayminussrc - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - arraysrc - Sets the source reference on Chart Studio Cloud for - `array`. color Sets the stroke color of the error bars. symmetric @@ -361,8 +316,6 @@ def __init__( arg=None, array=None, arrayminus=None, - arrayminussrc=None, - arraysrc=None, color=None, symmetric=None, thickness=None, @@ -393,12 +346,6 @@ def __init__( bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data. - arrayminussrc - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - arraysrc - Sets the source reference on Chart Studio Cloud for - `array`. color Sets the stroke color of the error bars. symmetric @@ -464,8 +411,6 @@ def __init__( self._set_property("array", arg, array) self._set_property("arrayminus", arg, arrayminus) - self._set_property("arrayminussrc", arg, arrayminussrc) - self._set_property("arraysrc", arg, arraysrc) self._set_property("color", arg, color) self._set_property("symmetric", arg, symmetric) self._set_property("thickness", arg, thickness) diff --git a/plotly/graph_objs/scatter3d/_hoverlabel.py b/plotly/graph_objs/scatter3d/_hoverlabel.py index 81421671701..702a7e74df0 100644 --- a/plotly/graph_objs/scatter3d/_hoverlabel.py +++ b/plotly/graph_objs/scatter3d/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "scatter3d.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatter3d/_line.py b/plotly/graph_objs/scatter3d/_line.py index 1f2c3c46553..403f21411f4 100644 --- a/plotly/graph_objs/scatter3d/_line.py +++ b/plotly/graph_objs/scatter3d/_line.py @@ -18,7 +18,6 @@ class Line(_BaseTraceHierarchyType): "coloraxis", "colorbar", "colorscale", - "colorsrc", "dash", "reversescale", "showscale", @@ -213,9 +212,9 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, - hex, hsl, hsv, or named color string. At minimum, a mapping for - the lowest (0) and highest (1) values are required. For - example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To + hex, hsl, hsla, hwb, or named color string. At minimum, a + mapping for the lowest (0) and highest (1) values are required. + For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `line.cmin` and `line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered, @@ -259,24 +258,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def dash(self): """ @@ -412,8 +393,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -422,9 +403,6 @@ def _prop_descriptions(self): following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. dash Sets the dash style of the lines. reversescale @@ -453,7 +431,6 @@ def __init__( coloraxis=None, colorbar=None, colorscale=None, - colorsrc=None, dash=None, reversescale=None, showscale=None, @@ -522,8 +499,8 @@ def __init__( Sets the colorscale. Has an effect only if in `line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -532,9 +509,6 @@ def __init__( following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. dash Sets the dash style of the lines. reversescale @@ -583,7 +557,6 @@ def __init__( self._set_property("coloraxis", arg, coloraxis) self._set_property("colorbar", arg, colorbar) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("dash", arg, dash) self._set_property("reversescale", arg, reversescale) self._set_property("showscale", arg, showscale) diff --git a/plotly/graph_objs/scatter3d/_marker.py b/plotly/graph_objs/scatter3d/_marker.py index 2f9344723ef..d6d8b7fe0a9 100644 --- a/plotly/graph_objs/scatter3d/_marker.py +++ b/plotly/graph_objs/scatter3d/_marker.py @@ -18,7 +18,6 @@ class Marker(_BaseTraceHierarchyType): "coloraxis", "colorbar", "colorscale", - "colorsrc", "line", "opacity", "reversescale", @@ -27,9 +26,7 @@ class Marker(_BaseTraceHierarchyType): "sizemin", "sizemode", "sizeref", - "sizesrc", "symbol", - "symbolsrc", } @property @@ -221,9 +218,9 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, - hex, hsl, hsv, or named color string. At minimum, a mapping for - the lowest (0) and highest (1) values are required. For - example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To + hex, hsl, hsla, hwb, or named color string. At minimum, a + mapping for the lowest (0) and highest (1) values are required. + For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,B @@ -267,24 +264,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def line(self): """ @@ -447,24 +426,6 @@ def sizeref(self): def sizeref(self, val): self["sizeref"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def symbol(self): """ @@ -486,24 +447,6 @@ def symbol(self): def symbol(self, val): self["symbol"] = val - @property - def symbolsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `symbol`. - - The 'symbolsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["symbolsrc"] - - @symbolsrc.setter - def symbolsrc(self, val): - self["symbolsrc"] = val - @property def _prop_descriptions(self): return """\ @@ -560,8 +503,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -570,9 +513,6 @@ def _prop_descriptions(self): following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. line :class:`plotly.graph_objects.scatter3d.marker.Line` instance or dict with compatible properties @@ -607,14 +547,8 @@ def _prop_descriptions(self): numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. symbol Sets the marker symbol type. - symbolsrc - Sets the source reference on Chart Studio Cloud for - `symbol`. """ def __init__( @@ -629,7 +563,6 @@ def __init__( coloraxis=None, colorbar=None, colorscale=None, - colorsrc=None, line=None, opacity=None, reversescale=None, @@ -638,9 +571,7 @@ def __init__( sizemin=None, sizemode=None, sizeref=None, - sizesrc=None, symbol=None, - symbolsrc=None, **kwargs, ): """ @@ -705,8 +636,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -715,9 +646,6 @@ def __init__( following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. line :class:`plotly.graph_objects.scatter3d.marker.Line` instance or dict with compatible properties @@ -752,14 +680,8 @@ def __init__( numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. symbol Sets the marker symbol type. - symbolsrc - Sets the source reference on Chart Studio Cloud for - `symbol`. Returns ------- @@ -794,7 +716,6 @@ def __init__( self._set_property("coloraxis", arg, coloraxis) self._set_property("colorbar", arg, colorbar) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("line", arg, line) self._set_property("opacity", arg, opacity) self._set_property("reversescale", arg, reversescale) @@ -803,8 +724,6 @@ def __init__( self._set_property("sizemin", arg, sizemin) self._set_property("sizemode", arg, sizemode) self._set_property("sizeref", arg, sizeref) - self._set_property("sizesrc", arg, sizesrc) self._set_property("symbol", arg, symbol) - self._set_property("symbolsrc", arg, symbolsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatter3d/_stream.py b/plotly/graph_objs/scatter3d/_stream.py deleted file mode 100644 index 382456ff05e..00000000000 --- a/plotly/graph_objs/scatter3d/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "scatter3d" - _path_str = "scatter3d.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.scatter3d.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.scatter3d.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.scatter3d.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/scatter3d/_textfont.py b/plotly/graph_objs/scatter3d/_textfont.py index 5e50fa11c89..194fc8cd8e8 100644 --- a/plotly/graph_objs/scatter3d/_textfont.py +++ b/plotly/graph_objs/scatter3d/_textfont.py @@ -8,20 +8,7 @@ class Textfont(_BaseTraceHierarchyType): _parent_path_str = "scatter3d" _path_str = "scatter3d.textfont" - _valid_props = { - "color", - "colorsrc", - "family", - "familysrc", - "size", - "sizesrc", - "style", - "stylesrc", - "variant", - "variantsrc", - "weight", - "weightsrc", - } + _valid_props = {"color", "family", "size", "style", "variant", "weight"} @property def color(self): @@ -44,24 +31,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -85,24 +54,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def size(self): """ @@ -120,24 +71,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -159,24 +92,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def variant(self): """ @@ -197,24 +112,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -236,32 +133,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -269,47 +145,26 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -325,9 +180,6 @@ def __init__( :class:`plotly.graph_objs.scatter3d.Textfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -335,30 +187,15 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -385,16 +222,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatter3d/hoverlabel/_font.py b/plotly/graph_objs/scatter3d/hoverlabel/_font.py index 8a94a4e1a3c..187f7c21535 100644 --- a/plotly/graph_objs/scatter3d/hoverlabel/_font.py +++ b/plotly/graph_objs/scatter3d/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "scatter3d.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.scatter3d.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatter3d/line/_colorbar.py b/plotly/graph_objs/scatter3d/line/_colorbar.py index 759d614a318..a2eb684e9fa 100644 --- a/plotly/graph_objs/scatter3d/line/_colorbar.py +++ b/plotly/graph_objs/scatter3d/line/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/scatter3d/line/colorbar/_title.py b/plotly/graph_objs/scatter3d/line/colorbar/_title.py index 7bcfe28e383..6fd249fb091 100644 --- a/plotly/graph_objs/scatter3d/line/colorbar/_title.py +++ b/plotly/graph_objs/scatter3d/line/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/scatter3d/marker/_colorbar.py b/plotly/graph_objs/scatter3d/marker/_colorbar.py index 5f126d2e344..9224c80cfa8 100644 --- a/plotly/graph_objs/scatter3d/marker/_colorbar.py +++ b/plotly/graph_objs/scatter3d/marker/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/scatter3d/marker/_line.py b/plotly/graph_objs/scatter3d/marker/_line.py index 34860068f64..ce432b24c48 100644 --- a/plotly/graph_objs/scatter3d/marker/_line.py +++ b/plotly/graph_objs/scatter3d/marker/_line.py @@ -17,7 +17,6 @@ class Line(_BaseTraceHierarchyType): "color", "coloraxis", "colorscale", - "colorsrc", "reversescale", "width", } @@ -193,7 +192,7 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value - to an rgb, rgba, hex, hsl, hsv, or named color string. At + to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in @@ -240,24 +239,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def reversescale(self): """ @@ -354,8 +335,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -364,9 +345,6 @@ def _prop_descriptions(self): string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -389,7 +367,6 @@ def __init__( color=None, coloraxis=None, colorscale=None, - colorsrc=None, reversescale=None, width=None, **kwargs, @@ -456,8 +433,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -466,9 +443,6 @@ def __init__( string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -511,7 +485,6 @@ def __init__( self._set_property("color", arg, color) self._set_property("coloraxis", arg, coloraxis) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("reversescale", arg, reversescale) self._set_property("width", arg, width) self._process_kwargs(**dict(arg, **kwargs)) diff --git a/plotly/graph_objs/scatter3d/marker/colorbar/_title.py b/plotly/graph_objs/scatter3d/marker/colorbar/_title.py index 1b2aafe1c98..f6b672e32cf 100644 --- a/plotly/graph_objs/scatter3d/marker/colorbar/_title.py +++ b/plotly/graph_objs/scatter3d/marker/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/scattercarpet/__init__.py b/plotly/graph_objs/scattercarpet/__init__.py index 55ee707f4ed..e1e03ecab6a 100644 --- a/plotly/graph_objs/scattercarpet/__init__.py +++ b/plotly/graph_objs/scattercarpet/__init__.py @@ -7,7 +7,6 @@ from ._line import Line from ._marker import Marker from ._selected import Selected - from ._stream import Stream from ._textfont import Textfont from ._unselected import Unselected from . import hoverlabel @@ -27,7 +26,6 @@ "._line.Line", "._marker.Marker", "._selected.Selected", - "._stream.Stream", "._textfont.Textfont", "._unselected.Unselected", ], diff --git a/plotly/graph_objs/scattercarpet/_hoverlabel.py b/plotly/graph_objs/scattercarpet/_hoverlabel.py index db471ef68f9..5a0bb1cded8 100644 --- a/plotly/graph_objs/scattercarpet/_hoverlabel.py +++ b/plotly/graph_objs/scattercarpet/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "scattercarpet.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattercarpet/_line.py b/plotly/graph_objs/scattercarpet/_line.py index 0aa2e06cd2a..b9dd71939a8 100644 --- a/plotly/graph_objs/scattercarpet/_line.py +++ b/plotly/graph_objs/scattercarpet/_line.py @@ -8,15 +8,7 @@ class Line(_BaseTraceHierarchyType): _parent_path_str = "scattercarpet" _path_str = "scattercarpet.line" - _valid_props = { - "backoff", - "backoffsrc", - "color", - "dash", - "shape", - "smoothing", - "width", - } + _valid_props = {"backoff", "color", "dash", "shape", "smoothing", "width"} @property def backoff(self): @@ -40,24 +32,6 @@ def backoff(self): def backoff(self, val): self["backoff"] = val - @property - def backoffsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `backoff`. - - The 'backoffsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["backoffsrc"] - - @backoffsrc.setter - def backoffsrc(self, val): - self["backoffsrc"] = val - @property def color(self): """ @@ -172,9 +146,6 @@ def _prop_descriptions(self): avoid overlap with arrowhead markers. With "auto" the lines would trim before markers if `marker.angleref` is set to "previous". - backoffsrc - Sets the source reference on Chart Studio Cloud for - `backoff`. color Sets the line color. dash @@ -198,7 +169,6 @@ def __init__( self, arg=None, backoff=None, - backoffsrc=None, color=None, dash=None, shape=None, @@ -221,9 +191,6 @@ def __init__( avoid overlap with arrowhead markers. With "auto" the lines would trim before markers if `marker.angleref` is set to "previous". - backoffsrc - Sets the source reference on Chart Studio Cloud for - `backoff`. color Sets the line color. dash @@ -267,7 +234,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("backoff", arg, backoff) - self._set_property("backoffsrc", arg, backoffsrc) self._set_property("color", arg, color) self._set_property("dash", arg, dash) self._set_property("shape", arg, shape) diff --git a/plotly/graph_objs/scattercarpet/_marker.py b/plotly/graph_objs/scattercarpet/_marker.py index dfb9a3afab3..dbc5837553e 100644 --- a/plotly/graph_objs/scattercarpet/_marker.py +++ b/plotly/graph_objs/scattercarpet/_marker.py @@ -11,7 +11,6 @@ class Marker(_BaseTraceHierarchyType): _valid_props = { "angle", "angleref", - "anglesrc", "autocolorscale", "cauto", "cmax", @@ -21,23 +20,18 @@ class Marker(_BaseTraceHierarchyType): "coloraxis", "colorbar", "colorscale", - "colorsrc", "gradient", "line", "maxdisplayed", "opacity", - "opacitysrc", "reversescale", "showscale", "size", "sizemin", "sizemode", "sizeref", - "sizesrc", "standoff", - "standoffsrc", "symbol", - "symbolsrc", } @property @@ -81,24 +75,6 @@ def angleref(self): def angleref(self, val): self["angleref"] = val - @property - def anglesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `angle`. - - The 'anglesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["anglesrc"] - - @anglesrc.setter - def anglesrc(self, val): - self["anglesrc"] = val - @property def autocolorscale(self): """ @@ -288,9 +264,9 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, - hex, hsl, hsv, or named color string. At minimum, a mapping for - the lowest (0) and highest (1) values are required. For - example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To + hex, hsl, hsla, hwb, or named color string. At minimum, a + mapping for the lowest (0) and highest (1) values are required. + For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,B @@ -334,24 +310,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def gradient(self): """ @@ -428,24 +386,6 @@ def opacity(self): def opacity(self, val): self["opacity"] = val - @property - def opacitysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `opacity`. - - The 'opacitysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["opacitysrc"] - - @opacitysrc.setter - def opacitysrc(self, val): - self["opacitysrc"] = val - @property def reversescale(self): """ @@ -567,24 +507,6 @@ def sizeref(self): def sizeref(self, val): self["sizeref"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def standoff(self): """ @@ -607,24 +529,6 @@ def standoff(self): def standoff(self, val): self["standoff"] = val - @property - def standoffsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `standoff`. - - The 'standoffsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["standoffsrc"] - - @standoffsrc.setter - def standoffsrc(self, val): - self["standoffsrc"] = val - @property def symbol(self): """ @@ -736,24 +640,6 @@ def symbol(self): def symbol(self, val): self["symbol"] = val - @property - def symbolsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `symbol`. - - The 'symbolsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["symbolsrc"] - - @symbolsrc.setter - def symbolsrc(self, val): - self["symbolsrc"] = val - @property def _prop_descriptions(self): return """\ @@ -764,9 +650,6 @@ def _prop_descriptions(self): angle 0 points along the line from the previous point to this one. With "up", angle 0 points toward the top of the screen. - anglesrc - Sets the source reference on Chart Studio Cloud for - `angle`. autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -820,8 +703,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -830,9 +713,6 @@ def _prop_descriptions(self): following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. gradient :class:`plotly.graph_objects.scattercarpet.marker.Gradi ent` instance or dict with compatible properties @@ -844,9 +724,6 @@ def _prop_descriptions(self): graph. 0 corresponds to no limit. opacity Sets the marker opacity. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If @@ -872,26 +749,17 @@ def _prop_descriptions(self): numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. standoff Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it. - standoffsrc - Sets the source reference on Chart Studio Cloud for - `standoff`. symbol Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot- open" to a symbol name. - symbolsrc - Sets the source reference on Chart Studio Cloud for - `symbol`. """ def __init__( @@ -899,7 +767,6 @@ def __init__( arg=None, angle=None, angleref=None, - anglesrc=None, autocolorscale=None, cauto=None, cmax=None, @@ -909,23 +776,18 @@ def __init__( coloraxis=None, colorbar=None, colorscale=None, - colorsrc=None, gradient=None, line=None, maxdisplayed=None, opacity=None, - opacitysrc=None, reversescale=None, showscale=None, size=None, sizemin=None, sizemode=None, sizeref=None, - sizesrc=None, standoff=None, - standoffsrc=None, symbol=None, - symbolsrc=None, **kwargs, ): """ @@ -944,9 +806,6 @@ def __init__( angle 0 points along the line from the previous point to this one. With "up", angle 0 points toward the top of the screen. - anglesrc - Sets the source reference on Chart Studio Cloud for - `angle`. autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -1000,8 +859,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -1010,9 +869,6 @@ def __init__( following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. gradient :class:`plotly.graph_objects.scattercarpet.marker.Gradi ent` instance or dict with compatible properties @@ -1024,9 +880,6 @@ def __init__( graph. 0 corresponds to no limit. opacity Sets the marker opacity. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If @@ -1052,26 +905,17 @@ def __init__( numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. standoff Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it. - standoffsrc - Sets the source reference on Chart Studio Cloud for - `standoff`. symbol Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot- open" to a symbol name. - symbolsrc - Sets the source reference on Chart Studio Cloud for - `symbol`. Returns ------- @@ -1099,7 +943,6 @@ def __init__( self._set_property("angle", arg, angle) self._set_property("angleref", arg, angleref) - self._set_property("anglesrc", arg, anglesrc) self._set_property("autocolorscale", arg, autocolorscale) self._set_property("cauto", arg, cauto) self._set_property("cmax", arg, cmax) @@ -1109,22 +952,17 @@ def __init__( self._set_property("coloraxis", arg, coloraxis) self._set_property("colorbar", arg, colorbar) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("gradient", arg, gradient) self._set_property("line", arg, line) self._set_property("maxdisplayed", arg, maxdisplayed) self._set_property("opacity", arg, opacity) - self._set_property("opacitysrc", arg, opacitysrc) self._set_property("reversescale", arg, reversescale) self._set_property("showscale", arg, showscale) self._set_property("size", arg, size) self._set_property("sizemin", arg, sizemin) self._set_property("sizemode", arg, sizemode) self._set_property("sizeref", arg, sizeref) - self._set_property("sizesrc", arg, sizesrc) self._set_property("standoff", arg, standoff) - self._set_property("standoffsrc", arg, standoffsrc) self._set_property("symbol", arg, symbol) - self._set_property("symbolsrc", arg, symbolsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattercarpet/_stream.py b/plotly/graph_objs/scattercarpet/_stream.py deleted file mode 100644 index d1b93a857fd..00000000000 --- a/plotly/graph_objs/scattercarpet/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "scattercarpet" - _path_str = "scattercarpet.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.scattercarpet.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.scattercarpet.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.scattercarpet.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/scattercarpet/_textfont.py b/plotly/graph_objs/scattercarpet/_textfont.py index 3e93f237b76..a9e110117a3 100644 --- a/plotly/graph_objs/scattercarpet/_textfont.py +++ b/plotly/graph_objs/scattercarpet/_textfont.py @@ -10,23 +10,14 @@ class Textfont(_BaseTraceHierarchyType): _path_str = "scattercarpet.textfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.scattercarpet.Textfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattercarpet/hoverlabel/_font.py b/plotly/graph_objs/scattercarpet/hoverlabel/_font.py index f8688fdf7bd..ec01299b4f6 100644 --- a/plotly/graph_objs/scattercarpet/hoverlabel/_font.py +++ b/plotly/graph_objs/scattercarpet/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "scattercarpet.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattercarpet/marker/_colorbar.py b/plotly/graph_objs/scattercarpet/marker/_colorbar.py index 71cb7f90a13..40e68dfac31 100644 --- a/plotly/graph_objs/scattercarpet/marker/_colorbar.py +++ b/plotly/graph_objs/scattercarpet/marker/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/scattercarpet/marker/_gradient.py b/plotly/graph_objs/scattercarpet/marker/_gradient.py index 1fe30ae5a37..69c39131e5a 100644 --- a/plotly/graph_objs/scattercarpet/marker/_gradient.py +++ b/plotly/graph_objs/scattercarpet/marker/_gradient.py @@ -8,7 +8,7 @@ class Gradient(_BaseTraceHierarchyType): _parent_path_str = "scattercarpet.marker" _path_str = "scattercarpet.marker.gradient" - _valid_props = {"color", "colorsrc", "type", "typesrc"} + _valid_props = {"color", "type"} @property def color(self): @@ -34,24 +34,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def type(self): """ @@ -72,24 +54,6 @@ def type(self): def type(self, val): self["type"] = val - @property - def typesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `type`. - - The 'typesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["typesrc"] - - @typesrc.setter - def typesrc(self, val): - self["typesrc"] = val - @property def _prop_descriptions(self): return """\ @@ -97,19 +61,11 @@ def _prop_descriptions(self): Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. type Sets the type of gradient used to fill the markers - typesrc - Sets the source reference on Chart Studio Cloud for - `type`. """ - def __init__( - self, arg=None, color=None, colorsrc=None, type=None, typesrc=None, **kwargs - ): + def __init__(self, arg=None, color=None, type=None, **kwargs): """ Construct a new Gradient object @@ -123,14 +79,8 @@ def __init__( Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. type Sets the type of gradient used to fill the markers - typesrc - Sets the source reference on Chart Studio Cloud for - `type`. Returns ------- @@ -157,8 +107,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("type", arg, type) - self._set_property("typesrc", arg, typesrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattercarpet/marker/_line.py b/plotly/graph_objs/scattercarpet/marker/_line.py index 65d7b34eb5d..76c4d0e8e3b 100644 --- a/plotly/graph_objs/scattercarpet/marker/_line.py +++ b/plotly/graph_objs/scattercarpet/marker/_line.py @@ -17,12 +17,9 @@ class Line(_BaseTraceHierarchyType): "color", "coloraxis", "colorscale", - "colorsrc", "dash", - "dashsrc", "reversescale", "width", - "widthsrc", } @property @@ -196,7 +193,7 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value - to an rgb, rgba, hex, hsl, hsv, or named color string. At + to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in @@ -243,24 +240,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def dash(self): """ @@ -285,24 +264,6 @@ def dash(self): def dash(self, val): self["dash"] = val - @property - def dashsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `dash`. - - The 'dashsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["dashsrc"] - - @dashsrc.setter - def dashsrc(self, val): - self["dashsrc"] = val - @property def reversescale(self): """ @@ -344,24 +305,6 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def _prop_descriptions(self): return """\ @@ -418,8 +361,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -428,17 +371,11 @@ def _prop_descriptions(self): string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. dash Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px"). - dashsrc - Sets the source reference on Chart Studio Cloud for - `dash`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -448,9 +385,6 @@ def _prop_descriptions(self): width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. """ def __init__( @@ -464,12 +398,9 @@ def __init__( color=None, coloraxis=None, colorscale=None, - colorsrc=None, dash=None, - dashsrc=None, reversescale=None, width=None, - widthsrc=None, **kwargs, ): """ @@ -534,8 +465,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -544,17 +475,11 @@ def __init__( string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. dash Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px"). - dashsrc - Sets the source reference on Chart Studio Cloud for - `dash`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -564,9 +489,6 @@ def __init__( width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. Returns ------- @@ -600,11 +522,8 @@ def __init__( self._set_property("color", arg, color) self._set_property("coloraxis", arg, coloraxis) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("dash", arg, dash) - self._set_property("dashsrc", arg, dashsrc) self._set_property("reversescale", arg, reversescale) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattercarpet/marker/colorbar/_title.py b/plotly/graph_objs/scattercarpet/marker/colorbar/_title.py index c8032d91253..7aae2c6e2f2 100644 --- a/plotly/graph_objs/scattercarpet/marker/colorbar/_title.py +++ b/plotly/graph_objs/scattercarpet/marker/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/scattergeo/__init__.py b/plotly/graph_objs/scattergeo/__init__.py index 55ee707f4ed..e1e03ecab6a 100644 --- a/plotly/graph_objs/scattergeo/__init__.py +++ b/plotly/graph_objs/scattergeo/__init__.py @@ -7,7 +7,6 @@ from ._line import Line from ._marker import Marker from ._selected import Selected - from ._stream import Stream from ._textfont import Textfont from ._unselected import Unselected from . import hoverlabel @@ -27,7 +26,6 @@ "._line.Line", "._marker.Marker", "._selected.Selected", - "._stream.Stream", "._textfont.Textfont", "._unselected.Unselected", ], diff --git a/plotly/graph_objs/scattergeo/_hoverlabel.py b/plotly/graph_objs/scattergeo/_hoverlabel.py index ff4413d3e7e..966a10b9303 100644 --- a/plotly/graph_objs/scattergeo/_hoverlabel.py +++ b/plotly/graph_objs/scattergeo/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "scattergeo.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattergeo/_marker.py b/plotly/graph_objs/scattergeo/_marker.py index 0ea1ab62272..2be868b2d31 100644 --- a/plotly/graph_objs/scattergeo/_marker.py +++ b/plotly/graph_objs/scattergeo/_marker.py @@ -11,7 +11,6 @@ class Marker(_BaseTraceHierarchyType): _valid_props = { "angle", "angleref", - "anglesrc", "autocolorscale", "cauto", "cmax", @@ -21,22 +20,17 @@ class Marker(_BaseTraceHierarchyType): "coloraxis", "colorbar", "colorscale", - "colorsrc", "gradient", "line", "opacity", - "opacitysrc", "reversescale", "showscale", "size", "sizemin", "sizemode", "sizeref", - "sizesrc", "standoff", - "standoffsrc", "symbol", - "symbolsrc", } @property @@ -82,24 +76,6 @@ def angleref(self): def angleref(self, val): self["angleref"] = val - @property - def anglesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `angle`. - - The 'anglesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["anglesrc"] - - @anglesrc.setter - def anglesrc(self, val): - self["anglesrc"] = val - @property def autocolorscale(self): """ @@ -289,9 +265,9 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, - hex, hsl, hsv, or named color string. At minimum, a mapping for - the lowest (0) and highest (1) values are required. For - example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To + hex, hsl, hsla, hwb, or named color string. At minimum, a + mapping for the lowest (0) and highest (1) values are required. + For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,B @@ -335,24 +311,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def gradient(self): """ @@ -410,24 +368,6 @@ def opacity(self): def opacity(self, val): self["opacity"] = val - @property - def opacitysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `opacity`. - - The 'opacitysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["opacitysrc"] - - @opacitysrc.setter - def opacitysrc(self, val): - self["opacitysrc"] = val - @property def reversescale(self): """ @@ -549,24 +489,6 @@ def sizeref(self): def sizeref(self, val): self["sizeref"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def standoff(self): """ @@ -589,24 +511,6 @@ def standoff(self): def standoff(self, val): self["standoff"] = val - @property - def standoffsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `standoff`. - - The 'standoffsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["standoffsrc"] - - @standoffsrc.setter - def standoffsrc(self, val): - self["standoffsrc"] = val - @property def symbol(self): """ @@ -718,24 +622,6 @@ def symbol(self): def symbol(self, val): self["symbol"] = val - @property - def symbolsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `symbol`. - - The 'symbolsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["symbolsrc"] - - @symbolsrc.setter - def symbolsrc(self, val): - self["symbolsrc"] = val - @property def _prop_descriptions(self): return """\ @@ -747,9 +633,6 @@ def _prop_descriptions(self): to this one. With "up", angle 0 points toward the top of the screen. With "north", angle 0 points north based on the current map projection. - anglesrc - Sets the source reference on Chart Studio Cloud for - `angle`. autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -803,8 +686,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -813,9 +696,6 @@ def _prop_descriptions(self): following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. gradient :class:`plotly.graph_objects.scattergeo.marker.Gradient ` instance or dict with compatible properties @@ -824,9 +704,6 @@ def _prop_descriptions(self): instance or dict with compatible properties opacity Sets the marker opacity. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If @@ -852,26 +729,17 @@ def _prop_descriptions(self): numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. standoff Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it. - standoffsrc - Sets the source reference on Chart Studio Cloud for - `standoff`. symbol Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot- open" to a symbol name. - symbolsrc - Sets the source reference on Chart Studio Cloud for - `symbol`. """ def __init__( @@ -879,7 +747,6 @@ def __init__( arg=None, angle=None, angleref=None, - anglesrc=None, autocolorscale=None, cauto=None, cmax=None, @@ -889,22 +756,17 @@ def __init__( coloraxis=None, colorbar=None, colorscale=None, - colorsrc=None, gradient=None, line=None, opacity=None, - opacitysrc=None, reversescale=None, showscale=None, size=None, sizemin=None, sizemode=None, sizeref=None, - sizesrc=None, standoff=None, - standoffsrc=None, symbol=None, - symbolsrc=None, **kwargs, ): """ @@ -924,9 +786,6 @@ def __init__( to this one. With "up", angle 0 points toward the top of the screen. With "north", angle 0 points north based on the current map projection. - anglesrc - Sets the source reference on Chart Studio Cloud for - `angle`. autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -980,8 +839,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -990,9 +849,6 @@ def __init__( following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. gradient :class:`plotly.graph_objects.scattergeo.marker.Gradient ` instance or dict with compatible properties @@ -1001,9 +857,6 @@ def __init__( instance or dict with compatible properties opacity Sets the marker opacity. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If @@ -1029,26 +882,17 @@ def __init__( numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. standoff Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it. - standoffsrc - Sets the source reference on Chart Studio Cloud for - `standoff`. symbol Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot- open" to a symbol name. - symbolsrc - Sets the source reference on Chart Studio Cloud for - `symbol`. Returns ------- @@ -1076,7 +920,6 @@ def __init__( self._set_property("angle", arg, angle) self._set_property("angleref", arg, angleref) - self._set_property("anglesrc", arg, anglesrc) self._set_property("autocolorscale", arg, autocolorscale) self._set_property("cauto", arg, cauto) self._set_property("cmax", arg, cmax) @@ -1086,21 +929,16 @@ def __init__( self._set_property("coloraxis", arg, coloraxis) self._set_property("colorbar", arg, colorbar) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("gradient", arg, gradient) self._set_property("line", arg, line) self._set_property("opacity", arg, opacity) - self._set_property("opacitysrc", arg, opacitysrc) self._set_property("reversescale", arg, reversescale) self._set_property("showscale", arg, showscale) self._set_property("size", arg, size) self._set_property("sizemin", arg, sizemin) self._set_property("sizemode", arg, sizemode) self._set_property("sizeref", arg, sizeref) - self._set_property("sizesrc", arg, sizesrc) self._set_property("standoff", arg, standoff) - self._set_property("standoffsrc", arg, standoffsrc) self._set_property("symbol", arg, symbol) - self._set_property("symbolsrc", arg, symbolsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattergeo/_stream.py b/plotly/graph_objs/scattergeo/_stream.py deleted file mode 100644 index 18aea3ecb12..00000000000 --- a/plotly/graph_objs/scattergeo/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "scattergeo" - _path_str = "scattergeo.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.scattergeo.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.scattergeo.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.scattergeo.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/scattergeo/_textfont.py b/plotly/graph_objs/scattergeo/_textfont.py index 38ad264b343..5bfe83cf116 100644 --- a/plotly/graph_objs/scattergeo/_textfont.py +++ b/plotly/graph_objs/scattergeo/_textfont.py @@ -10,23 +10,14 @@ class Textfont(_BaseTraceHierarchyType): _path_str = "scattergeo.textfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.scattergeo.Textfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattergeo/hoverlabel/_font.py b/plotly/graph_objs/scattergeo/hoverlabel/_font.py index 6bd8188e1e1..de3a68ecfbb 100644 --- a/plotly/graph_objs/scattergeo/hoverlabel/_font.py +++ b/plotly/graph_objs/scattergeo/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "scattergeo.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.scattergeo.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattergeo/marker/_colorbar.py b/plotly/graph_objs/scattergeo/marker/_colorbar.py index 7fe47265e88..d4a19128c55 100644 --- a/plotly/graph_objs/scattergeo/marker/_colorbar.py +++ b/plotly/graph_objs/scattergeo/marker/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/scattergeo/marker/_gradient.py b/plotly/graph_objs/scattergeo/marker/_gradient.py index abda79fad72..6f2dac8b100 100644 --- a/plotly/graph_objs/scattergeo/marker/_gradient.py +++ b/plotly/graph_objs/scattergeo/marker/_gradient.py @@ -8,7 +8,7 @@ class Gradient(_BaseTraceHierarchyType): _parent_path_str = "scattergeo.marker" _path_str = "scattergeo.marker.gradient" - _valid_props = {"color", "colorsrc", "type", "typesrc"} + _valid_props = {"color", "type"} @property def color(self): @@ -34,24 +34,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def type(self): """ @@ -72,24 +54,6 @@ def type(self): def type(self, val): self["type"] = val - @property - def typesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `type`. - - The 'typesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["typesrc"] - - @typesrc.setter - def typesrc(self, val): - self["typesrc"] = val - @property def _prop_descriptions(self): return """\ @@ -97,19 +61,11 @@ def _prop_descriptions(self): Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. type Sets the type of gradient used to fill the markers - typesrc - Sets the source reference on Chart Studio Cloud for - `type`. """ - def __init__( - self, arg=None, color=None, colorsrc=None, type=None, typesrc=None, **kwargs - ): + def __init__(self, arg=None, color=None, type=None, **kwargs): """ Construct a new Gradient object @@ -123,14 +79,8 @@ def __init__( Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. type Sets the type of gradient used to fill the markers - typesrc - Sets the source reference on Chart Studio Cloud for - `type`. Returns ------- @@ -157,8 +107,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("type", arg, type) - self._set_property("typesrc", arg, typesrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattergeo/marker/_line.py b/plotly/graph_objs/scattergeo/marker/_line.py index 646d160fc8a..410f068f9e8 100644 --- a/plotly/graph_objs/scattergeo/marker/_line.py +++ b/plotly/graph_objs/scattergeo/marker/_line.py @@ -17,12 +17,9 @@ class Line(_BaseTraceHierarchyType): "color", "coloraxis", "colorscale", - "colorsrc", "dash", - "dashsrc", "reversescale", "width", - "widthsrc", } @property @@ -196,7 +193,7 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value - to an rgb, rgba, hex, hsl, hsv, or named color string. At + to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in @@ -243,24 +240,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def dash(self): """ @@ -285,24 +264,6 @@ def dash(self): def dash(self, val): self["dash"] = val - @property - def dashsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `dash`. - - The 'dashsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["dashsrc"] - - @dashsrc.setter - def dashsrc(self, val): - self["dashsrc"] = val - @property def reversescale(self): """ @@ -344,24 +305,6 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def _prop_descriptions(self): return """\ @@ -418,8 +361,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -428,17 +371,11 @@ def _prop_descriptions(self): string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. dash Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px"). - dashsrc - Sets the source reference on Chart Studio Cloud for - `dash`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -448,9 +385,6 @@ def _prop_descriptions(self): width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. """ def __init__( @@ -464,12 +398,9 @@ def __init__( color=None, coloraxis=None, colorscale=None, - colorsrc=None, dash=None, - dashsrc=None, reversescale=None, width=None, - widthsrc=None, **kwargs, ): """ @@ -534,8 +465,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -544,17 +475,11 @@ def __init__( string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. dash Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px"). - dashsrc - Sets the source reference on Chart Studio Cloud for - `dash`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -564,9 +489,6 @@ def __init__( width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. Returns ------- @@ -600,11 +522,8 @@ def __init__( self._set_property("color", arg, color) self._set_property("coloraxis", arg, coloraxis) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("dash", arg, dash) - self._set_property("dashsrc", arg, dashsrc) self._set_property("reversescale", arg, reversescale) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattergeo/marker/colorbar/_title.py b/plotly/graph_objs/scattergeo/marker/colorbar/_title.py index 8ca1156adc0..15310433298 100644 --- a/plotly/graph_objs/scattergeo/marker/colorbar/_title.py +++ b/plotly/graph_objs/scattergeo/marker/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/scattergl/__init__.py b/plotly/graph_objs/scattergl/__init__.py index f3ca4ee76d5..90169aca1a1 100644 --- a/plotly/graph_objs/scattergl/__init__.py +++ b/plotly/graph_objs/scattergl/__init__.py @@ -9,7 +9,6 @@ from ._line import Line from ._marker import Marker from ._selected import Selected - from ._stream import Stream from ._textfont import Textfont from ._unselected import Unselected from . import hoverlabel @@ -31,7 +30,6 @@ "._line.Line", "._marker.Marker", "._selected.Selected", - "._stream.Stream", "._textfont.Textfont", "._unselected.Unselected", ], diff --git a/plotly/graph_objs/scattergl/_error_x.py b/plotly/graph_objs/scattergl/_error_x.py index 77693af4576..746d7ccd121 100644 --- a/plotly/graph_objs/scattergl/_error_x.py +++ b/plotly/graph_objs/scattergl/_error_x.py @@ -11,8 +11,6 @@ class ErrorX(_BaseTraceHierarchyType): _valid_props = { "array", "arrayminus", - "arrayminussrc", - "arraysrc", "color", "copy_ystyle", "symmetric", @@ -65,43 +63,6 @@ def arrayminus(self): def arrayminus(self, val): self["arrayminus"] = val - @property - def arrayminussrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - - The 'arrayminussrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["arrayminussrc"] - - @arrayminussrc.setter - def arrayminussrc(self, val): - self["arrayminussrc"] = val - - @property - def arraysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `array`. - - The 'arraysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["arraysrc"] - - @arraysrc.setter - def arraysrc(self, val): - self["arraysrc"] = val - @property def color(self): """ @@ -327,12 +288,6 @@ def _prop_descriptions(self): bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data. - arrayminussrc - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - arraysrc - Sets the source reference on Chart Studio Cloud for - `array`. color Sets the stroke color of the error bars. copy_ystyle @@ -380,8 +335,6 @@ def __init__( arg=None, array=None, arrayminus=None, - arrayminussrc=None, - arraysrc=None, color=None, copy_ystyle=None, symmetric=None, @@ -413,12 +366,6 @@ def __init__( bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data. - arrayminussrc - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - arraysrc - Sets the source reference on Chart Studio Cloud for - `array`. color Sets the stroke color of the error bars. copy_ystyle @@ -486,8 +433,6 @@ def __init__( self._set_property("array", arg, array) self._set_property("arrayminus", arg, arrayminus) - self._set_property("arrayminussrc", arg, arrayminussrc) - self._set_property("arraysrc", arg, arraysrc) self._set_property("color", arg, color) self._set_property("copy_ystyle", arg, copy_ystyle) self._set_property("symmetric", arg, symmetric) diff --git a/plotly/graph_objs/scattergl/_error_y.py b/plotly/graph_objs/scattergl/_error_y.py index 4ca452222e8..36f2d75b0a5 100644 --- a/plotly/graph_objs/scattergl/_error_y.py +++ b/plotly/graph_objs/scattergl/_error_y.py @@ -11,8 +11,6 @@ class ErrorY(_BaseTraceHierarchyType): _valid_props = { "array", "arrayminus", - "arrayminussrc", - "arraysrc", "color", "symmetric", "thickness", @@ -64,43 +62,6 @@ def arrayminus(self): def arrayminus(self, val): self["arrayminus"] = val - @property - def arrayminussrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - - The 'arrayminussrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["arrayminussrc"] - - @arrayminussrc.setter - def arrayminussrc(self, val): - self["arrayminussrc"] = val - - @property - def arraysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `array`. - - The 'arraysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["arraysrc"] - - @arraysrc.setter - def arraysrc(self, val): - self["arraysrc"] = val - @property def color(self): """ @@ -310,12 +271,6 @@ def _prop_descriptions(self): bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data. - arrayminussrc - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - arraysrc - Sets the source reference on Chart Studio Cloud for - `array`. color Sets the stroke color of the error bars. symmetric @@ -361,8 +316,6 @@ def __init__( arg=None, array=None, arrayminus=None, - arrayminussrc=None, - arraysrc=None, color=None, symmetric=None, thickness=None, @@ -393,12 +346,6 @@ def __init__( bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data. - arrayminussrc - Sets the source reference on Chart Studio Cloud for - `arrayminus`. - arraysrc - Sets the source reference on Chart Studio Cloud for - `array`. color Sets the stroke color of the error bars. symmetric @@ -464,8 +411,6 @@ def __init__( self._set_property("array", arg, array) self._set_property("arrayminus", arg, arrayminus) - self._set_property("arrayminussrc", arg, arrayminussrc) - self._set_property("arraysrc", arg, arraysrc) self._set_property("color", arg, color) self._set_property("symmetric", arg, symmetric) self._set_property("thickness", arg, thickness) diff --git a/plotly/graph_objs/scattergl/_hoverlabel.py b/plotly/graph_objs/scattergl/_hoverlabel.py index 7bf3c86bcb0..ac554e4b2f3 100644 --- a/plotly/graph_objs/scattergl/_hoverlabel.py +++ b/plotly/graph_objs/scattergl/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "scattergl.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattergl/_marker.py b/plotly/graph_objs/scattergl/_marker.py index 89d2af3b0ab..8a24762d24c 100644 --- a/plotly/graph_objs/scattergl/_marker.py +++ b/plotly/graph_objs/scattergl/_marker.py @@ -10,7 +10,6 @@ class Marker(_BaseTraceHierarchyType): _path_str = "scattergl.marker" _valid_props = { "angle", - "anglesrc", "autocolorscale", "cauto", "cmax", @@ -20,19 +19,15 @@ class Marker(_BaseTraceHierarchyType): "coloraxis", "colorbar", "colorscale", - "colorsrc", "line", "opacity", - "opacitysrc", "reversescale", "showscale", "size", "sizemin", "sizemode", "sizeref", - "sizesrc", "symbol", - "symbolsrc", } @property @@ -55,24 +50,6 @@ def angle(self): def angle(self, val): self["angle"] = val - @property - def anglesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `angle`. - - The 'anglesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["anglesrc"] - - @anglesrc.setter - def anglesrc(self, val): - self["anglesrc"] = val - @property def autocolorscale(self): """ @@ -262,9 +239,9 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, - hex, hsl, hsv, or named color string. At minimum, a mapping for - the lowest (0) and highest (1) values are required. For - example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To + hex, hsl, hsla, hwb, or named color string. At minimum, a + mapping for the lowest (0) and highest (1) values are required. + For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,B @@ -308,24 +285,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def line(self): """ @@ -364,24 +323,6 @@ def opacity(self): def opacity(self, val): self["opacity"] = val - @property - def opacitysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `opacity`. - - The 'opacitysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["opacitysrc"] - - @opacitysrc.setter - def opacitysrc(self, val): - self["opacitysrc"] = val - @property def reversescale(self): """ @@ -503,24 +444,6 @@ def sizeref(self): def sizeref(self, val): self["sizeref"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def symbol(self): """ @@ -632,32 +555,11 @@ def symbol(self): def symbol(self, val): self["symbol"] = val - @property - def symbolsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `symbol`. - - The 'symbolsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["symbolsrc"] - - @symbolsrc.setter - def symbolsrc(self, val): - self["symbolsrc"] = val - @property def _prop_descriptions(self): return """\ angle Sets the marker angle in respect to `angleref`. - anglesrc - Sets the source reference on Chart Studio Cloud for - `angle`. autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -711,8 +613,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -721,17 +623,11 @@ def _prop_descriptions(self): following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. line :class:`plotly.graph_objects.scattergl.marker.Line` instance or dict with compatible properties opacity Sets the marker opacity. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If @@ -757,25 +653,18 @@ def _prop_descriptions(self): numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. symbol Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot- open" to a symbol name. - symbolsrc - Sets the source reference on Chart Studio Cloud for - `symbol`. """ def __init__( self, arg=None, angle=None, - anglesrc=None, autocolorscale=None, cauto=None, cmax=None, @@ -785,19 +674,15 @@ def __init__( coloraxis=None, colorbar=None, colorscale=None, - colorsrc=None, line=None, opacity=None, - opacitysrc=None, reversescale=None, showscale=None, size=None, sizemin=None, sizemode=None, sizeref=None, - sizesrc=None, symbol=None, - symbolsrc=None, **kwargs, ): """ @@ -811,9 +696,6 @@ def __init__( :class:`plotly.graph_objs.scattergl.Marker` angle Sets the marker angle in respect to `angleref`. - anglesrc - Sets the source reference on Chart Studio Cloud for - `angle`. autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -867,8 +749,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -877,17 +759,11 @@ def __init__( following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. line :class:`plotly.graph_objects.scattergl.marker.Line` instance or dict with compatible properties opacity Sets the marker opacity. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If @@ -913,18 +789,12 @@ def __init__( numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. symbol Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot- open" to a symbol name. - symbolsrc - Sets the source reference on Chart Studio Cloud for - `symbol`. Returns ------- @@ -951,7 +821,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("angle", arg, angle) - self._set_property("anglesrc", arg, anglesrc) self._set_property("autocolorscale", arg, autocolorscale) self._set_property("cauto", arg, cauto) self._set_property("cmax", arg, cmax) @@ -961,18 +830,14 @@ def __init__( self._set_property("coloraxis", arg, coloraxis) self._set_property("colorbar", arg, colorbar) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("line", arg, line) self._set_property("opacity", arg, opacity) - self._set_property("opacitysrc", arg, opacitysrc) self._set_property("reversescale", arg, reversescale) self._set_property("showscale", arg, showscale) self._set_property("size", arg, size) self._set_property("sizemin", arg, sizemin) self._set_property("sizemode", arg, sizemode) self._set_property("sizeref", arg, sizeref) - self._set_property("sizesrc", arg, sizesrc) self._set_property("symbol", arg, symbol) - self._set_property("symbolsrc", arg, symbolsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattergl/_stream.py b/plotly/graph_objs/scattergl/_stream.py deleted file mode 100644 index 108cc9b4184..00000000000 --- a/plotly/graph_objs/scattergl/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "scattergl" - _path_str = "scattergl.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.scattergl.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.scattergl.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.scattergl.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/scattergl/_textfont.py b/plotly/graph_objs/scattergl/_textfont.py index ccc8e03f156..4518a894ccb 100644 --- a/plotly/graph_objs/scattergl/_textfont.py +++ b/plotly/graph_objs/scattergl/_textfont.py @@ -8,20 +8,7 @@ class Textfont(_BaseTraceHierarchyType): _parent_path_str = "scattergl" _path_str = "scattergl.textfont" - _valid_props = { - "color", - "colorsrc", - "family", - "familysrc", - "size", - "sizesrc", - "style", - "stylesrc", - "variant", - "variantsrc", - "weight", - "weightsrc", - } + _valid_props = {"color", "family", "size", "style", "variant", "weight"} @property def color(self): @@ -44,24 +31,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -85,24 +54,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def size(self): """ @@ -120,24 +71,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -159,24 +92,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def variant(self): """ @@ -197,24 +112,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -235,32 +132,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -268,47 +144,26 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -324,9 +179,6 @@ def __init__( :class:`plotly.graph_objs.scattergl.Textfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -334,30 +186,15 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -384,16 +221,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattergl/hoverlabel/_font.py b/plotly/graph_objs/scattergl/hoverlabel/_font.py index 217d4b20809..4fdf76997d9 100644 --- a/plotly/graph_objs/scattergl/hoverlabel/_font.py +++ b/plotly/graph_objs/scattergl/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "scattergl.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.scattergl.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattergl/marker/_colorbar.py b/plotly/graph_objs/scattergl/marker/_colorbar.py index 56ec049de24..635235dacbc 100644 --- a/plotly/graph_objs/scattergl/marker/_colorbar.py +++ b/plotly/graph_objs/scattergl/marker/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/scattergl/marker/_line.py b/plotly/graph_objs/scattergl/marker/_line.py index e841871b7b8..5d03a6cb796 100644 --- a/plotly/graph_objs/scattergl/marker/_line.py +++ b/plotly/graph_objs/scattergl/marker/_line.py @@ -17,10 +17,8 @@ class Line(_BaseTraceHierarchyType): "color", "coloraxis", "colorscale", - "colorsrc", "reversescale", "width", - "widthsrc", } @property @@ -194,7 +192,7 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value - to an rgb, rgba, hex, hsl, hsv, or named color string. At + to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in @@ -241,24 +239,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def reversescale(self): """ @@ -300,24 +280,6 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def _prop_descriptions(self): return """\ @@ -374,8 +336,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -384,9 +346,6 @@ def _prop_descriptions(self): string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -396,9 +355,6 @@ def _prop_descriptions(self): width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. """ def __init__( @@ -412,10 +368,8 @@ def __init__( color=None, coloraxis=None, colorscale=None, - colorsrc=None, reversescale=None, width=None, - widthsrc=None, **kwargs, ): """ @@ -480,8 +434,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -490,9 +444,6 @@ def __init__( string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -502,9 +453,6 @@ def __init__( width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. Returns ------- @@ -538,9 +486,7 @@ def __init__( self._set_property("color", arg, color) self._set_property("coloraxis", arg, coloraxis) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("reversescale", arg, reversescale) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattergl/marker/colorbar/_title.py b/plotly/graph_objs/scattergl/marker/colorbar/_title.py index 48a038460dc..788cae51300 100644 --- a/plotly/graph_objs/scattergl/marker/colorbar/_title.py +++ b/plotly/graph_objs/scattergl/marker/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/scattermap/__init__.py b/plotly/graph_objs/scattermap/__init__.py index aaeb5c0f63a..7160d1c0063 100644 --- a/plotly/graph_objs/scattermap/__init__.py +++ b/plotly/graph_objs/scattermap/__init__.py @@ -8,7 +8,6 @@ from ._line import Line from ._marker import Marker from ._selected import Selected - from ._stream import Stream from ._textfont import Textfont from ._unselected import Unselected from . import hoverlabel @@ -29,7 +28,6 @@ "._line.Line", "._marker.Marker", "._selected.Selected", - "._stream.Stream", "._textfont.Textfont", "._unselected.Unselected", ], diff --git a/plotly/graph_objs/scattermap/_cluster.py b/plotly/graph_objs/scattermap/_cluster.py index bd66fd02c53..b15b7c8781c 100644 --- a/plotly/graph_objs/scattermap/_cluster.py +++ b/plotly/graph_objs/scattermap/_cluster.py @@ -8,18 +8,7 @@ class Cluster(_BaseTraceHierarchyType): _parent_path_str = "scattermap" _path_str = "scattermap.cluster" - _valid_props = { - "color", - "colorsrc", - "enabled", - "maxzoom", - "opacity", - "opacitysrc", - "size", - "sizesrc", - "step", - "stepsrc", - } + _valid_props = {"color", "enabled", "maxzoom", "opacity", "size", "step"} @property def color(self): @@ -44,24 +33,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def enabled(self): """ @@ -118,24 +89,6 @@ def opacity(self): def opacity(self, val): self["opacity"] = val - @property - def opacitysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `opacity`. - - The 'opacitysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["opacitysrc"] - - @opacitysrc.setter - def opacitysrc(self, val): - self["opacitysrc"] = val - @property def size(self): """ @@ -155,24 +108,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def step(self): """ @@ -196,32 +131,11 @@ def step(self): def step(self, val): self["step"] = val - @property - def stepsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `step`. - - The 'stepsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stepsrc"] - - @stepsrc.setter - def stepsrc(self, val): - self["stepsrc"] = val - @property def _prop_descriptions(self): return """\ color Sets the color for each cluster step. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. enabled Determines whether clustering is enabled or disabled. maxzoom @@ -229,14 +143,8 @@ def _prop_descriptions(self): greater than this, points will never be clustered. opacity Sets the marker opacity. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. size Sets the size for each cluster step. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. step Sets how many points it takes to create a cluster or advance to the next cluster step. Use this in @@ -244,24 +152,17 @@ def _prop_descriptions(self): an integer, steps start at multiples of this number. If an array, each step extends from the given value until one less than the next value. - stepsrc - Sets the source reference on Chart Studio Cloud for - `step`. """ def __init__( self, arg=None, color=None, - colorsrc=None, enabled=None, maxzoom=None, opacity=None, - opacitysrc=None, size=None, - sizesrc=None, step=None, - stepsrc=None, **kwargs, ): """ @@ -275,9 +176,6 @@ def __init__( :class:`plotly.graph_objs.scattermap.Cluster` color Sets the color for each cluster step. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. enabled Determines whether clustering is enabled or disabled. maxzoom @@ -285,14 +183,8 @@ def __init__( greater than this, points will never be clustered. opacity Sets the marker opacity. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. size Sets the size for each cluster step. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. step Sets how many points it takes to create a cluster or advance to the next cluster step. Use this in @@ -300,9 +192,6 @@ def __init__( an integer, steps start at multiples of this number. If an array, each step extends from the given value until one less than the next value. - stepsrc - Sets the source reference on Chart Studio Cloud for - `step`. Returns ------- @@ -329,14 +218,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("enabled", arg, enabled) self._set_property("maxzoom", arg, maxzoom) self._set_property("opacity", arg, opacity) - self._set_property("opacitysrc", arg, opacitysrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("step", arg, step) - self._set_property("stepsrc", arg, stepsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattermap/_hoverlabel.py b/plotly/graph_objs/scattermap/_hoverlabel.py index 4f2cc2780b5..7fefc285070 100644 --- a/plotly/graph_objs/scattermap/_hoverlabel.py +++ b/plotly/graph_objs/scattermap/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "scattermap.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattermap/_marker.py b/plotly/graph_objs/scattermap/_marker.py index 98d0d00d04b..3bf5f351aa4 100644 --- a/plotly/graph_objs/scattermap/_marker.py +++ b/plotly/graph_objs/scattermap/_marker.py @@ -11,7 +11,6 @@ class Marker(_BaseTraceHierarchyType): _valid_props = { "allowoverlap", "angle", - "anglesrc", "autocolorscale", "cauto", "cmax", @@ -21,18 +20,14 @@ class Marker(_BaseTraceHierarchyType): "coloraxis", "colorbar", "colorscale", - "colorsrc", "opacity", - "opacitysrc", "reversescale", "showscale", "size", "sizemin", "sizemode", "sizeref", - "sizesrc", "symbol", - "symbolsrc", } @property @@ -75,24 +70,6 @@ def angle(self): def angle(self, val): self["angle"] = val - @property - def anglesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `angle`. - - The 'anglesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["anglesrc"] - - @anglesrc.setter - def anglesrc(self, val): - self["anglesrc"] = val - @property def autocolorscale(self): """ @@ -282,9 +259,9 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, - hex, hsl, hsv, or named color string. At minimum, a mapping for - the lowest (0) and highest (1) values are required. For - example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To + hex, hsl, hsla, hwb, or named color string. At minimum, a + mapping for the lowest (0) and highest (1) values are required. + For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,B @@ -328,24 +305,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def opacity(self): """ @@ -365,24 +324,6 @@ def opacity(self): def opacity(self, val): self["opacity"] = val - @property - def opacitysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `opacity`. - - The 'opacitysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["opacitysrc"] - - @opacitysrc.setter - def opacitysrc(self, val): - self["opacitysrc"] = val - @property def reversescale(self): """ @@ -504,24 +445,6 @@ def sizeref(self): def sizeref(self, val): self["sizeref"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def symbol(self): """ @@ -544,24 +467,6 @@ def symbol(self): def symbol(self, val): self["symbol"] = val - @property - def symbolsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `symbol`. - - The 'symbolsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["symbolsrc"] - - @symbolsrc.setter - def symbolsrc(self, val): - self["symbolsrc"] = val - @property def _prop_descriptions(self): return """\ @@ -572,9 +477,6 @@ def _prop_descriptions(self): clockwise. When using the "auto" default, no rotation would be applied in perspective views which is different from using a zero angle. - anglesrc - Sets the source reference on Chart Studio Cloud for - `angle`. autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -628,8 +530,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -638,14 +540,8 @@ def _prop_descriptions(self): following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. opacity Sets the marker opacity. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If @@ -671,17 +567,11 @@ def _prop_descriptions(self): numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. symbol Sets the marker symbol. Full list: https://www.mapbox.com/maki-icons/ Note that the array `marker.color` and `marker.size` are only available for "circle" symbols. - symbolsrc - Sets the source reference on Chart Studio Cloud for - `symbol`. """ def __init__( @@ -689,7 +579,6 @@ def __init__( arg=None, allowoverlap=None, angle=None, - anglesrc=None, autocolorscale=None, cauto=None, cmax=None, @@ -699,18 +588,14 @@ def __init__( coloraxis=None, colorbar=None, colorscale=None, - colorsrc=None, opacity=None, - opacitysrc=None, reversescale=None, showscale=None, size=None, sizemin=None, sizemode=None, sizeref=None, - sizesrc=None, symbol=None, - symbolsrc=None, **kwargs, ): """ @@ -729,9 +614,6 @@ def __init__( clockwise. When using the "auto" default, no rotation would be applied in perspective views which is different from using a zero angle. - anglesrc - Sets the source reference on Chart Studio Cloud for - `angle`. autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -785,8 +667,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -795,14 +677,8 @@ def __init__( following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. opacity Sets the marker opacity. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If @@ -828,17 +704,11 @@ def __init__( numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. symbol Sets the marker symbol. Full list: https://www.mapbox.com/maki-icons/ Note that the array `marker.color` and `marker.size` are only available for "circle" symbols. - symbolsrc - Sets the source reference on Chart Studio Cloud for - `symbol`. Returns ------- @@ -866,7 +736,6 @@ def __init__( self._set_property("allowoverlap", arg, allowoverlap) self._set_property("angle", arg, angle) - self._set_property("anglesrc", arg, anglesrc) self._set_property("autocolorscale", arg, autocolorscale) self._set_property("cauto", arg, cauto) self._set_property("cmax", arg, cmax) @@ -876,17 +745,13 @@ def __init__( self._set_property("coloraxis", arg, coloraxis) self._set_property("colorbar", arg, colorbar) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("opacity", arg, opacity) - self._set_property("opacitysrc", arg, opacitysrc) self._set_property("reversescale", arg, reversescale) self._set_property("showscale", arg, showscale) self._set_property("size", arg, size) self._set_property("sizemin", arg, sizemin) self._set_property("sizemode", arg, sizemode) self._set_property("sizeref", arg, sizeref) - self._set_property("sizesrc", arg, sizesrc) self._set_property("symbol", arg, symbol) - self._set_property("symbolsrc", arg, symbolsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattermap/_stream.py b/plotly/graph_objs/scattermap/_stream.py deleted file mode 100644 index cb82bb8b98f..00000000000 --- a/plotly/graph_objs/scattermap/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "scattermap" - _path_str = "scattermap.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.scattermap.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.scattermap.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.scattermap.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/scattermap/hoverlabel/_font.py b/plotly/graph_objs/scattermap/hoverlabel/_font.py index 587704caa10..e3589d8c65d 100644 --- a/plotly/graph_objs/scattermap/hoverlabel/_font.py +++ b/plotly/graph_objs/scattermap/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "scattermap.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.scattermap.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattermap/marker/_colorbar.py b/plotly/graph_objs/scattermap/marker/_colorbar.py index 73d2b31e4bd..4d5b2d9d7b3 100644 --- a/plotly/graph_objs/scattermap/marker/_colorbar.py +++ b/plotly/graph_objs/scattermap/marker/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/scattermap/marker/colorbar/_title.py b/plotly/graph_objs/scattermap/marker/colorbar/_title.py index 3fd7257df47..c4de1c774c2 100644 --- a/plotly/graph_objs/scattermap/marker/colorbar/_title.py +++ b/plotly/graph_objs/scattermap/marker/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/scattermapbox/_cluster.py b/plotly/graph_objs/scattermapbox/_cluster.py deleted file mode 100644 index da20f28f59e..00000000000 --- a/plotly/graph_objs/scattermapbox/_cluster.py +++ /dev/null @@ -1,342 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Cluster(_BaseTraceHierarchyType): - _parent_path_str = "scattermapbox" - _path_str = "scattermapbox.cluster" - _valid_props = { - "color", - "colorsrc", - "enabled", - "maxzoom", - "opacity", - "opacitysrc", - "size", - "sizesrc", - "step", - "stepsrc", - } - - @property - def color(self): - """ - Sets the color for each cluster step. - - The 'color' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: see https://plotly.com/python/css-colors/ for a list - - A list or array of any of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["color"] - - @color.setter - def color(self, val): - self["color"] = val - - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - - @property - def enabled(self): - """ - Determines whether clustering is enabled or disabled. - - The 'enabled' property is a boolean and must be specified as: - - A boolean value: True or False - - Returns - ------- - bool - """ - return self["enabled"] - - @enabled.setter - def enabled(self, val): - self["enabled"] = val - - @property - def maxzoom(self): - """ - Sets the maximum zoom level. At zoom levels equal to or greater - than this, points will never be clustered. - - The 'maxzoom' property is a number and may be specified as: - - An int or float in the interval [0, 24] - - Returns - ------- - int|float - """ - return self["maxzoom"] - - @maxzoom.setter - def maxzoom(self, val): - self["maxzoom"] = val - - @property - def opacity(self): - """ - Sets the marker opacity. - - The 'opacity' property is a number and may be specified as: - - An int or float in the interval [0, 1] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - int|float|numpy.ndarray - """ - return self["opacity"] - - @opacity.setter - def opacity(self, val): - self["opacity"] = val - - @property - def opacitysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `opacity`. - - The 'opacitysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["opacitysrc"] - - @opacitysrc.setter - def opacitysrc(self, val): - self["opacitysrc"] = val - - @property - def size(self): - """ - Sets the size for each cluster step. - - The 'size' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - int|float|numpy.ndarray - """ - return self["size"] - - @size.setter - def size(self, val): - self["size"] = val - - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - - @property - def step(self): - """ - Sets how many points it takes to create a cluster or advance to - the next cluster step. Use this in conjunction with arrays for - `size` and / or `color`. If an integer, steps start at - multiples of this number. If an array, each step extends from - the given value until one less than the next value. - - The 'step' property is a number and may be specified as: - - An int or float in the interval [-1, inf] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - int|float|numpy.ndarray - """ - return self["step"] - - @step.setter - def step(self, val): - self["step"] = val - - @property - def stepsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `step`. - - The 'stepsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stepsrc"] - - @stepsrc.setter - def stepsrc(self, val): - self["stepsrc"] = val - - @property - def _prop_descriptions(self): - return """\ - color - Sets the color for each cluster step. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. - enabled - Determines whether clustering is enabled or disabled. - maxzoom - Sets the maximum zoom level. At zoom levels equal to or - greater than this, points will never be clustered. - opacity - Sets the marker opacity. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. - size - Sets the size for each cluster step. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. - step - Sets how many points it takes to create a cluster or - advance to the next cluster step. Use this in - conjunction with arrays for `size` and / or `color`. If - an integer, steps start at multiples of this number. If - an array, each step extends from the given value until - one less than the next value. - stepsrc - Sets the source reference on Chart Studio Cloud for - `step`. - """ - - def __init__( - self, - arg=None, - color=None, - colorsrc=None, - enabled=None, - maxzoom=None, - opacity=None, - opacitysrc=None, - size=None, - sizesrc=None, - step=None, - stepsrc=None, - **kwargs, - ): - """ - Construct a new Cluster object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.scattermapbox.Cluster` - color - Sets the color for each cluster step. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. - enabled - Determines whether clustering is enabled or disabled. - maxzoom - Sets the maximum zoom level. At zoom levels equal to or - greater than this, points will never be clustered. - opacity - Sets the marker opacity. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. - size - Sets the size for each cluster step. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. - step - Sets how many points it takes to create a cluster or - advance to the next cluster step. Use this in - conjunction with arrays for `size` and / or `color`. If - an integer, steps start at multiples of this number. If - an array, each step extends from the given value until - one less than the next value. - stepsrc - Sets the source reference on Chart Studio Cloud for - `step`. - - Returns - ------- - Cluster - """ - super().__init__("cluster") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.scattermapbox.Cluster -constructor must be a dict or -an instance of :class:`plotly.graph_objs.scattermapbox.Cluster`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) - self._set_property("enabled", arg, enabled) - self._set_property("maxzoom", arg, maxzoom) - self._set_property("opacity", arg, opacity) - self._set_property("opacitysrc", arg, opacitysrc) - self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) - self._set_property("step", arg, step) - self._set_property("stepsrc", arg, stepsrc) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/scattermapbox/_hoverlabel.py b/plotly/graph_objs/scattermapbox/_hoverlabel.py deleted file mode 100644 index fde9deb0ebf..00000000000 --- a/plotly/graph_objs/scattermapbox/_hoverlabel.py +++ /dev/null @@ -1,366 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Hoverlabel(_BaseTraceHierarchyType): - _parent_path_str = "scattermapbox" - _path_str = "scattermapbox.hoverlabel" - _valid_props = { - "align", - "alignsrc", - "bgcolor", - "bgcolorsrc", - "bordercolor", - "bordercolorsrc", - "font", - "namelength", - "namelengthsrc", - "showarrow", - } - - @property - def align(self): - """ - Sets the horizontal alignment of the text content within hover - label box. Has an effect only if the hover label text spans - more two or more lines - - The 'align' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['left', 'right', 'auto'] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["align"] - - @align.setter - def align(self, val): - self["align"] = val - - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - - @property - def bgcolor(self): - """ - Sets the background color of the hover labels for this trace - - The 'bgcolor' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: see https://plotly.com/python/css-colors/ for a list - - A list or array of any of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["bgcolor"] - - @bgcolor.setter - def bgcolor(self, val): - self["bgcolor"] = val - - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - - @property - def bordercolor(self): - """ - Sets the border color of the hover labels for this trace. - - The 'bordercolor' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: see https://plotly.com/python/css-colors/ for a list - - A list or array of any of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["bordercolor"] - - @bordercolor.setter - def bordercolor(self, val): - self["bordercolor"] = val - - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - - @property - def font(self): - """ - Sets the font used in hover labels. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.scattermapbox.hoverlabel.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Returns - ------- - plotly.graph_objs.scattermapbox.hoverlabel.Font - """ - return self["font"] - - @font.setter - def font(self, val): - self["font"] = val - - @property - def namelength(self): - """ - Sets the default length (in number of characters) of the trace - name in the hover labels for all traces. -1 shows the whole - name regardless of length. 0-3 shows the first 0-3 characters, - and an integer >3 will show the whole name if it is less than - that many characters, but if it is longer, will truncate to - `namelength - 3` characters and add an ellipsis. - - The 'namelength' property is an integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [-1, 9223372036854775807] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - int|numpy.ndarray - """ - return self["namelength"] - - @namelength.setter - def namelength(self, val): - self["namelength"] = val - - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - - @property - def showarrow(self): - """ - Sets whether or not to show the hover label arrow/triangle - pointing to the data point. - - The 'showarrow' property is a boolean and must be specified as: - - A boolean value: True or False - - Returns - ------- - bool - """ - return self["showarrow"] - - @showarrow.setter - def showarrow(self, val): - self["showarrow"] = val - - @property - def _prop_descriptions(self): - return """\ - align - Sets the horizontal alignment of the text content - within hover label box. Has an effect only if the hover - label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. - bgcolor - Sets the background color of the hover labels for this - trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. - bordercolor - Sets the border color of the hover labels for this - trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - font - Sets the font used in hover labels. - namelength - Sets the default length (in number of characters) of - the trace name in the hover labels for all traces. -1 - shows the whole name regardless of length. 0-3 shows - the first 0-3 characters, and an integer >3 will show - the whole name if it is less than that many characters, - but if it is longer, will truncate to `namelength - 3` - characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. - showarrow - Sets whether or not to show the hover label - arrow/triangle pointing to the data point. - """ - - def __init__( - self, - arg=None, - align=None, - alignsrc=None, - bgcolor=None, - bgcolorsrc=None, - bordercolor=None, - bordercolorsrc=None, - font=None, - namelength=None, - namelengthsrc=None, - showarrow=None, - **kwargs, - ): - """ - Construct a new Hoverlabel object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.scattermapbox.Hoverlabel` - align - Sets the horizontal alignment of the text content - within hover label box. Has an effect only if the hover - label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. - bgcolor - Sets the background color of the hover labels for this - trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. - bordercolor - Sets the border color of the hover labels for this - trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - font - Sets the font used in hover labels. - namelength - Sets the default length (in number of characters) of - the trace name in the hover labels for all traces. -1 - shows the whole name regardless of length. 0-3 shows - the first 0-3 characters, and an integer >3 will show - the whole name if it is less than that many characters, - but if it is longer, will truncate to `namelength - 3` - characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. - showarrow - Sets whether or not to show the hover label - arrow/triangle pointing to the data point. - - Returns - ------- - Hoverlabel - """ - super().__init__("hoverlabel") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.scattermapbox.Hoverlabel -constructor must be a dict or -an instance of :class:`plotly.graph_objs.scattermapbox.Hoverlabel`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) - self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) - self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) - self._set_property("font", arg, font) - self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) - self._set_property("showarrow", arg, showarrow) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/scattermapbox/_selected.py b/plotly/graph_objs/scattermapbox/_selected.py deleted file mode 100644 index e2f96038ea5..00000000000 --- a/plotly/graph_objs/scattermapbox/_selected.py +++ /dev/null @@ -1,80 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Selected(_BaseTraceHierarchyType): - _parent_path_str = "scattermapbox" - _path_str = "scattermapbox.selected" - _valid_props = {"marker"} - - @property - def marker(self): - """ - The 'marker' property is an instance of Marker - that may be specified as: - - An instance of :class:`plotly.graph_objs.scattermapbox.selected.Marker` - - A dict of string/value properties that will be passed - to the Marker constructor - - Returns - ------- - plotly.graph_objs.scattermapbox.selected.Marker - """ - return self["marker"] - - @marker.setter - def marker(self, val): - self["marker"] = val - - @property - def _prop_descriptions(self): - return """\ - marker - :class:`plotly.graph_objects.scattermapbox.selected.Mar - ker` instance or dict with compatible properties - """ - - def __init__(self, arg=None, marker=None, **kwargs): - """ - Construct a new Selected object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.scattermapbox.Selected` - marker - :class:`plotly.graph_objects.scattermapbox.selected.Mar - ker` instance or dict with compatible properties - - Returns - ------- - Selected - """ - super().__init__("selected") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.scattermapbox.Selected -constructor must be a dict or -an instance of :class:`plotly.graph_objs.scattermapbox.Selected`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("marker", arg, marker) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/scattermapbox/_stream.py b/plotly/graph_objs/scattermapbox/_stream.py deleted file mode 100644 index d28443da472..00000000000 --- a/plotly/graph_objs/scattermapbox/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "scattermapbox" - _path_str = "scattermapbox.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.scattermapbox.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.scattermapbox.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.scattermapbox.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/scattermapbox/_textfont.py b/plotly/graph_objs/scattermapbox/_textfont.py deleted file mode 100644 index 2a4bf688cdb..00000000000 --- a/plotly/graph_objs/scattermapbox/_textfont.py +++ /dev/null @@ -1,202 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Textfont(_BaseTraceHierarchyType): - _parent_path_str = "scattermapbox" - _path_str = "scattermapbox.textfont" - _valid_props = {"color", "family", "size", "style", "weight"} - - @property - def color(self): - """ - The 'color' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: see https://plotly.com/python/css-colors/ for a list - - Returns - ------- - str - """ - return self["color"] - - @color.setter - def color(self, val): - self["color"] = val - - @property - def family(self): - """ - HTML font family - the typeface that will be applied by the web - browser. The web browser can only apply a font if it is - available on the system where it runs. Provide multiple font - families, separated by commas, to indicate the order in which - to apply fonts if they aren't available. - - The 'family' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["family"] - - @family.setter - def family(self, val): - self["family"] = val - - @property - def size(self): - """ - The 'size' property is a number and may be specified as: - - An int or float in the interval [1, inf] - - Returns - ------- - int|float - """ - return self["size"] - - @size.setter - def size(self, val): - self["size"] = val - - @property - def style(self): - """ - Sets whether a font should be styled with a normal or italic - face from its family. - - The 'style' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'italic'] - - Returns - ------- - Any - """ - return self["style"] - - @style.setter - def style(self, val): - self["style"] = val - - @property - def weight(self): - """ - Sets the weight (or boldness) of the font. - - The 'weight' property is an integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [1, 1000] - OR exactly one of ['normal', 'bold'] (e.g. 'bold') - - Returns - ------- - int - """ - return self["weight"] - - @weight.setter - def weight(self, val): - self["weight"] = val - - @property - def _prop_descriptions(self): - return """\ - color - - family - HTML font family - the typeface that will be applied by - the web browser. The web browser can only apply a font - if it is available on the system where it runs. Provide - multiple font families, separated by commas, to - indicate the order in which to apply fonts if they - aren't available. - size - - style - Sets whether a font should be styled with a normal or - italic face from its family. - weight - Sets the weight (or boldness) of the font. - """ - - def __init__( - self, - arg=None, - color=None, - family=None, - size=None, - style=None, - weight=None, - **kwargs, - ): - """ - Construct a new Textfont object - - Sets the icon text font (color=mapbox.layer.paint.text-color, - size=mapbox.layer.layout.text-size). Has an effect only when - `type` is set to "symbol". - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.scattermapbox.Textfont` - color - - family - HTML font family - the typeface that will be applied by - the web browser. The web browser can only apply a font - if it is available on the system where it runs. Provide - multiple font families, separated by commas, to - indicate the order in which to apply fonts if they - aren't available. - size - - style - Sets whether a font should be styled with a normal or - italic face from its family. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - Textfont - """ - super().__init__("textfont") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.scattermapbox.Textfont -constructor must be a dict or -an instance of :class:`plotly.graph_objs.scattermapbox.Textfont`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("color", arg, color) - self._set_property("family", arg, family) - self._set_property("size", arg, size) - self._set_property("style", arg, style) - self._set_property("weight", arg, weight) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/scattermapbox/_unselected.py b/plotly/graph_objs/scattermapbox/_unselected.py deleted file mode 100644 index 4d670647ac7..00000000000 --- a/plotly/graph_objs/scattermapbox/_unselected.py +++ /dev/null @@ -1,80 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Unselected(_BaseTraceHierarchyType): - _parent_path_str = "scattermapbox" - _path_str = "scattermapbox.unselected" - _valid_props = {"marker"} - - @property - def marker(self): - """ - The 'marker' property is an instance of Marker - that may be specified as: - - An instance of :class:`plotly.graph_objs.scattermapbox.unselected.Marker` - - A dict of string/value properties that will be passed - to the Marker constructor - - Returns - ------- - plotly.graph_objs.scattermapbox.unselected.Marker - """ - return self["marker"] - - @marker.setter - def marker(self, val): - self["marker"] = val - - @property - def _prop_descriptions(self): - return """\ - marker - :class:`plotly.graph_objects.scattermapbox.unselected.M - arker` instance or dict with compatible properties - """ - - def __init__(self, arg=None, marker=None, **kwargs): - """ - Construct a new Unselected object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.scattermapbox.Unselected` - marker - :class:`plotly.graph_objects.scattermapbox.unselected.M - arker` instance or dict with compatible properties - - Returns - ------- - Unselected - """ - super().__init__("unselected") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.scattermapbox.Unselected -constructor must be a dict or -an instance of :class:`plotly.graph_objs.scattermapbox.Unselected`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("marker", arg, marker) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/scattermapbox/hoverlabel/__init__.py b/plotly/graph_objs/scattermapbox/hoverlabel/__init__.py deleted file mode 100644 index 56f600d3458..00000000000 --- a/plotly/graph_objs/scattermapbox/hoverlabel/__init__.py +++ /dev/null @@ -1,9 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - from ._font import Font -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/plotly/graph_objs/scattermapbox/hoverlabel/_font.py b/plotly/graph_objs/scattermapbox/hoverlabel/_font.py deleted file mode 100644 index b31000d1484..00000000000 --- a/plotly/graph_objs/scattermapbox/hoverlabel/_font.py +++ /dev/null @@ -1,587 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Font(_BaseTraceHierarchyType): - _parent_path_str = "scattermapbox.hoverlabel" - _path_str = "scattermapbox.hoverlabel.font" - _valid_props = { - "color", - "colorsrc", - "family", - "familysrc", - "lineposition", - "linepositionsrc", - "shadow", - "shadowsrc", - "size", - "sizesrc", - "style", - "stylesrc", - "textcase", - "textcasesrc", - "variant", - "variantsrc", - "weight", - "weightsrc", - } - - @property - def color(self): - """ - The 'color' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: see https://plotly.com/python/css-colors/ for a list - - A list or array of any of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["color"] - - @color.setter - def color(self, val): - self["color"] = val - - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - - @property - def family(self): - """ - HTML font family - the typeface that will be applied by the web - browser. The web browser can only apply a font if it is - available on the system where it runs. Provide multiple font - families, separated by commas, to indicate the order in which - to apply fonts if they aren't available. - - The 'family' property is a string and must be specified as: - - A non-empty string - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["family"] - - @family.setter - def family(self, val): - self["family"] = val - - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - - @property - def lineposition(self): - """ - Sets the kind of decoration line(s) with text, such as an - "under", "over" or "through" as well as combinations e.g. - "under+over", etc. - - The 'lineposition' property is a flaglist and may be specified - as a string containing: - - Any combination of ['under', 'over', 'through'] joined with '+' characters - (e.g. 'under+over') - OR exactly one of ['none'] (e.g. 'none') - - A list or array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["lineposition"] - - @lineposition.setter - def lineposition(self, val): - self["lineposition"] = val - - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - - @property - def shadow(self): - """ - Sets the shape and color of the shadow behind text. "auto" - places minimal shadow and applies contrast text font color. See - https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow - for additional options. - - The 'shadow' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["shadow"] - - @shadow.setter - def shadow(self, val): - self["shadow"] = val - - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - - @property - def size(self): - """ - The 'size' property is a number and may be specified as: - - An int or float in the interval [1, inf] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - int|float|numpy.ndarray - """ - return self["size"] - - @size.setter - def size(self, val): - self["size"] = val - - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - - @property - def style(self): - """ - Sets whether a font should be styled with a normal or italic - face from its family. - - The 'style' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'italic'] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["style"] - - @style.setter - def style(self, val): - self["style"] = val - - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - - @property - def textcase(self): - """ - Sets capitalization of text. It can be used to make text appear - in all-uppercase or all-lowercase, or with each word - capitalized. - - The 'textcase' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'word caps', 'upper', 'lower'] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["textcase"] - - @textcase.setter - def textcase(self, val): - self["textcase"] = val - - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - - @property - def variant(self): - """ - Sets the variant of the font. - - The 'variant' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'small-caps', 'all-small-caps', - 'all-petite-caps', 'petite-caps', 'unicase'] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["variant"] - - @variant.setter - def variant(self, val): - self["variant"] = val - - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - - @property - def weight(self): - """ - Sets the weight (or boldness) of the font. - - The 'weight' property is an integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [1, 1000] - OR exactly one of ['normal', 'bold'] (e.g. 'bold') - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - int|numpy.ndarray - """ - return self["weight"] - - @weight.setter - def weight(self, val): - self["weight"] = val - - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - - @property - def _prop_descriptions(self): - return """\ - color - - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. - family - HTML font family - the typeface that will be applied by - the web browser. The web browser can only apply a font - if it is available on the system where it runs. Provide - multiple font families, separated by commas, to - indicate the order in which to apply fonts if they - aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. - lineposition - Sets the kind of decoration line(s) with text, such as - an "under", "over" or "through" as well as combinations - e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. - shadow - Sets the shape and color of the shadow behind text. - "auto" places minimal shadow and applies contrast text - font color. See https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. - size - - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. - style - Sets whether a font should be styled with a normal or - italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. - textcase - Sets capitalization of text. It can be used to make - text appear in all-uppercase or all-lowercase, or with - each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. - variant - Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. - weight - Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. - """ - - def __init__( - self, - arg=None, - color=None, - colorsrc=None, - family=None, - familysrc=None, - lineposition=None, - linepositionsrc=None, - shadow=None, - shadowsrc=None, - size=None, - sizesrc=None, - style=None, - stylesrc=None, - textcase=None, - textcasesrc=None, - variant=None, - variantsrc=None, - weight=None, - weightsrc=None, - **kwargs, - ): - """ - Construct a new Font object - - Sets the font used in hover labels. - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.scattermapbox. - hoverlabel.Font` - color - - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. - family - HTML font family - the typeface that will be applied by - the web browser. The web browser can only apply a font - if it is available on the system where it runs. Provide - multiple font families, separated by commas, to - indicate the order in which to apply fonts if they - aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. - lineposition - Sets the kind of decoration line(s) with text, such as - an "under", "over" or "through" as well as combinations - e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. - shadow - Sets the shape and color of the shadow behind text. - "auto" places minimal shadow and applies contrast text - font color. See https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. - size - - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. - style - Sets whether a font should be styled with a normal or - italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. - textcase - Sets capitalization of text. It can be used to make - text appear in all-uppercase or all-lowercase, or with - each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. - variant - Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. - weight - Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. - - Returns - ------- - Font - """ - super().__init__("font") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.scattermapbox.hoverlabel.Font -constructor must be a dict or -an instance of :class:`plotly.graph_objs.scattermapbox.hoverlabel.Font`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) - self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) - self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) - self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) - self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) - self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) - self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) - self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) - self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/scattermapbox/legendgrouptitle/__init__.py b/plotly/graph_objs/scattermapbox/legendgrouptitle/__init__.py deleted file mode 100644 index 56f600d3458..00000000000 --- a/plotly/graph_objs/scattermapbox/legendgrouptitle/__init__.py +++ /dev/null @@ -1,9 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - from ._font import Font -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/plotly/graph_objs/scattermapbox/legendgrouptitle/_font.py b/plotly/graph_objs/scattermapbox/legendgrouptitle/_font.py deleted file mode 100644 index 897ccc16ce5..00000000000 --- a/plotly/graph_objs/scattermapbox/legendgrouptitle/_font.py +++ /dev/null @@ -1,334 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Font(_BaseTraceHierarchyType): - _parent_path_str = "scattermapbox.legendgrouptitle" - _path_str = "scattermapbox.legendgrouptitle.font" - _valid_props = { - "color", - "family", - "lineposition", - "shadow", - "size", - "style", - "textcase", - "variant", - "weight", - } - - @property - def color(self): - """ - The 'color' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: see https://plotly.com/python/css-colors/ for a list - - Returns - ------- - str - """ - return self["color"] - - @color.setter - def color(self, val): - self["color"] = val - - @property - def family(self): - """ - HTML font family - the typeface that will be applied by the web - browser. The web browser can only apply a font if it is - available on the system where it runs. Provide multiple font - families, separated by commas, to indicate the order in which - to apply fonts if they aren't available. - - The 'family' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["family"] - - @family.setter - def family(self, val): - self["family"] = val - - @property - def lineposition(self): - """ - Sets the kind of decoration line(s) with text, such as an - "under", "over" or "through" as well as combinations e.g. - "under+over", etc. - - The 'lineposition' property is a flaglist and may be specified - as a string containing: - - Any combination of ['under', 'over', 'through'] joined with '+' characters - (e.g. 'under+over') - OR exactly one of ['none'] (e.g. 'none') - - Returns - ------- - Any - """ - return self["lineposition"] - - @lineposition.setter - def lineposition(self, val): - self["lineposition"] = val - - @property - def shadow(self): - """ - Sets the shape and color of the shadow behind text. "auto" - places minimal shadow and applies contrast text font color. See - https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow - for additional options. - - The 'shadow' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["shadow"] - - @shadow.setter - def shadow(self, val): - self["shadow"] = val - - @property - def size(self): - """ - The 'size' property is a number and may be specified as: - - An int or float in the interval [1, inf] - - Returns - ------- - int|float - """ - return self["size"] - - @size.setter - def size(self, val): - self["size"] = val - - @property - def style(self): - """ - Sets whether a font should be styled with a normal or italic - face from its family. - - The 'style' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'italic'] - - Returns - ------- - Any - """ - return self["style"] - - @style.setter - def style(self, val): - self["style"] = val - - @property - def textcase(self): - """ - Sets capitalization of text. It can be used to make text appear - in all-uppercase or all-lowercase, or with each word - capitalized. - - The 'textcase' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'word caps', 'upper', 'lower'] - - Returns - ------- - Any - """ - return self["textcase"] - - @textcase.setter - def textcase(self, val): - self["textcase"] = val - - @property - def variant(self): - """ - Sets the variant of the font. - - The 'variant' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'small-caps', 'all-small-caps', - 'all-petite-caps', 'petite-caps', 'unicase'] - - Returns - ------- - Any - """ - return self["variant"] - - @variant.setter - def variant(self, val): - self["variant"] = val - - @property - def weight(self): - """ - Sets the weight (or boldness) of the font. - - The 'weight' property is an integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [1, 1000] - OR exactly one of ['normal', 'bold'] (e.g. 'bold') - - Returns - ------- - int - """ - return self["weight"] - - @weight.setter - def weight(self, val): - self["weight"] = val - - @property - def _prop_descriptions(self): - return """\ - color - - family - HTML font family - the typeface that will be applied by - the web browser. The web browser can only apply a font - if it is available on the system where it runs. Provide - multiple font families, separated by commas, to - indicate the order in which to apply fonts if they - aren't available. - lineposition - Sets the kind of decoration line(s) with text, such as - an "under", "over" or "through" as well as combinations - e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind text. - "auto" places minimal shadow and applies contrast text - font color. See https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional options. - size - - style - Sets whether a font should be styled with a normal or - italic face from its family. - textcase - Sets capitalization of text. It can be used to make - text appear in all-uppercase or all-lowercase, or with - each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - """ - - def __init__( - self, - arg=None, - color=None, - family=None, - lineposition=None, - shadow=None, - size=None, - style=None, - textcase=None, - variant=None, - weight=None, - **kwargs, - ): - """ - Construct a new Font object - - Sets this legend group's title font. - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.scattermapbox. - legendgrouptitle.Font` - color - - family - HTML font family - the typeface that will be applied by - the web browser. The web browser can only apply a font - if it is available on the system where it runs. Provide - multiple font families, separated by commas, to - indicate the order in which to apply fonts if they - aren't available. - lineposition - Sets the kind of decoration line(s) with text, such as - an "under", "over" or "through" as well as combinations - e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind text. - "auto" places minimal shadow and applies contrast text - font color. See https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional options. - size - - style - Sets whether a font should be styled with a normal or - italic face from its family. - textcase - Sets capitalization of text. It can be used to make - text appear in all-uppercase or all-lowercase, or with - each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - Font - """ - super().__init__("font") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.scattermapbox.legendgrouptitle.Font -constructor must be a dict or -an instance of :class:`plotly.graph_objs.scattermapbox.legendgrouptitle.Font`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("color", arg, color) - self._set_property("family", arg, family) - self._set_property("lineposition", arg, lineposition) - self._set_property("shadow", arg, shadow) - self._set_property("size", arg, size) - self._set_property("style", arg, style) - self._set_property("textcase", arg, textcase) - self._set_property("variant", arg, variant) - self._set_property("weight", arg, weight) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/scattermapbox/marker/_colorbar.py b/plotly/graph_objs/scattermapbox/marker/_colorbar.py deleted file mode 100644 index c2e4859f270..00000000000 --- a/plotly/graph_objs/scattermapbox/marker/_colorbar.py +++ /dev/null @@ -1,1739 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class ColorBar(_BaseTraceHierarchyType): - _parent_path_str = "scattermapbox.marker" - _path_str = "scattermapbox.marker.colorbar" - _valid_props = { - "bgcolor", - "bordercolor", - "borderwidth", - "dtick", - "exponentformat", - "labelalias", - "len", - "lenmode", - "minexponent", - "nticks", - "orientation", - "outlinecolor", - "outlinewidth", - "separatethousands", - "showexponent", - "showticklabels", - "showtickprefix", - "showticksuffix", - "thickness", - "thicknessmode", - "tick0", - "tickangle", - "tickcolor", - "tickfont", - "tickformat", - "tickformatstopdefaults", - "tickformatstops", - "ticklabeloverflow", - "ticklabelposition", - "ticklabelstep", - "ticklen", - "tickmode", - "tickprefix", - "ticks", - "ticksuffix", - "ticktext", - "ticktextsrc", - "tickvals", - "tickvalssrc", - "tickwidth", - "title", - "x", - "xanchor", - "xpad", - "xref", - "y", - "yanchor", - "ypad", - "yref", - } - - @property - def bgcolor(self): - """ - Sets the color of padded area. - - The 'bgcolor' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: see https://plotly.com/python/css-colors/ for a list - - Returns - ------- - str - """ - return self["bgcolor"] - - @bgcolor.setter - def bgcolor(self, val): - self["bgcolor"] = val - - @property - def bordercolor(self): - """ - Sets the axis line color. - - The 'bordercolor' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: see https://plotly.com/python/css-colors/ for a list - - Returns - ------- - str - """ - return self["bordercolor"] - - @bordercolor.setter - def bordercolor(self, val): - self["bordercolor"] = val - - @property - def borderwidth(self): - """ - Sets the width (in px) or the border enclosing this color bar. - - The 'borderwidth' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["borderwidth"] - - @borderwidth.setter - def borderwidth(self, val): - self["borderwidth"] = val - - @property - def dtick(self): - """ - Sets the step in-between ticks on this axis. Use with `tick0`. - Must be a positive number, or special strings available to - "log" and "date" axes. If the axis `type` is "log", then ticks - are set every 10^(n*dtick) where n is the tick number. For - example, to set a tick mark at 1, 10, 100, 1000, ... set dtick - to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. - To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to - log_10(5), or 0.69897000433. "log" has several special values; - "L", where `f` is a positive number, gives ticks linearly - spaced in value (but not position). For example `tick0` = 0.1, - `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To - show powers of 10 plus small digits between, use "D1" (all - digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and - "D2". If the axis `type` is "date", then you must convert the - time to milliseconds. For example, to set the interval between - ticks to one day, set `dtick` to 86400000.0. "date" also has - special values "M" gives ticks spaced by a number of months. - `n` must be a positive integer. To set ticks on the 15th of - every third month, set `tick0` to "2000-01-15" and `dtick` to - "M3". To set ticks every 4 years, set `dtick` to "M48" - - The 'dtick' property accepts values of any type - - Returns - ------- - Any - """ - return self["dtick"] - - @dtick.setter - def dtick(self, val): - self["dtick"] = val - - @property - def exponentformat(self): - """ - Determines a formatting rule for the tick exponents. For - example, consider the number 1,000,000,000. If "none", it - appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If - "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If - "B", 1B. "SI" uses prefixes from "femto" f (10^-15) to "tera" T - (10^12). *SI extended* covers instead the full SI range from - "quecto" q (10^-30) to "quetta" Q (10^30). If "SI" or *SI - extended* is used and the exponent is beyond the above ranges, - the formatting rule will automatically be switched to the power - notation. - - The 'exponentformat' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['none', 'e', 'E', 'power', 'SI', 'B', 'SI extended'] - - Returns - ------- - Any - """ - return self["exponentformat"] - - @exponentformat.setter - def exponentformat(self, val): - self["exponentformat"] = val - - @property - def labelalias(self): - """ - Replacement text for specific tick or hover labels. For example - using {US: 'USA', CA: 'Canada'} changes US to USA and CA to - Canada. The labels we would have shown must match the keys - exactly, after adding any tickprefix or ticksuffix. For - negative numbers the minus sign symbol used (U+2212) is wider - than the regular ascii dash. That means you need to use −1 - instead of -1. labelalias can be used with any axis type, and - both keys (if needed) and values (if desired) can include html- - like tags or MathJax. - - The 'labelalias' property accepts values of any type - - Returns - ------- - Any - """ - return self["labelalias"] - - @labelalias.setter - def labelalias(self, val): - self["labelalias"] = val - - @property - def len(self): - """ - Sets the length of the color bar This measure excludes the - padding of both ends. That is, the color bar length is this - length minus the padding on both ends. - - The 'len' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["len"] - - @len.setter - def len(self, val): - self["len"] = val - - @property - def lenmode(self): - """ - Determines whether this color bar's length (i.e. the measure in - the color variation direction) is set in units of plot - "fraction" or in *pixels. Use `len` to set the value. - - The 'lenmode' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['fraction', 'pixels'] - - Returns - ------- - Any - """ - return self["lenmode"] - - @lenmode.setter - def lenmode(self, val): - self["lenmode"] = val - - @property - def minexponent(self): - """ - Hide SI prefix for 10^n if |n| is below this number. This only - has an effect when `tickformat` is "SI" or "B". - - The 'minexponent' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["minexponent"] - - @minexponent.setter - def minexponent(self, val): - self["minexponent"] = val - - @property - def nticks(self): - """ - Specifies the maximum number of ticks for the particular axis. - The actual number of ticks will be chosen automatically to be - less than or equal to `nticks`. Has an effect only if - `tickmode` is set to "auto". - - The 'nticks' property is an integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [0, 9223372036854775807] - - Returns - ------- - int - """ - return self["nticks"] - - @nticks.setter - def nticks(self, val): - self["nticks"] = val - - @property - def orientation(self): - """ - Sets the orientation of the colorbar. - - The 'orientation' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['h', 'v'] - - Returns - ------- - Any - """ - return self["orientation"] - - @orientation.setter - def orientation(self, val): - self["orientation"] = val - - @property - def outlinecolor(self): - """ - Sets the axis line color. - - The 'outlinecolor' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: see https://plotly.com/python/css-colors/ for a list - - Returns - ------- - str - """ - return self["outlinecolor"] - - @outlinecolor.setter - def outlinecolor(self, val): - self["outlinecolor"] = val - - @property - def outlinewidth(self): - """ - Sets the width (in px) of the axis line. - - The 'outlinewidth' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["outlinewidth"] - - @outlinewidth.setter - def outlinewidth(self, val): - self["outlinewidth"] = val - - @property - def separatethousands(self): - """ - If "true", even 4-digit integers are separated - - The 'separatethousands' property is a boolean and must be specified as: - - A boolean value: True or False - - Returns - ------- - bool - """ - return self["separatethousands"] - - @separatethousands.setter - def separatethousands(self, val): - self["separatethousands"] = val - - @property - def showexponent(self): - """ - If "all", all exponents are shown besides their significands. - If "first", only the exponent of the first tick is shown. If - "last", only the exponent of the last tick is shown. If "none", - no exponents appear. - - The 'showexponent' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['all', 'first', 'last', 'none'] - - Returns - ------- - Any - """ - return self["showexponent"] - - @showexponent.setter - def showexponent(self, val): - self["showexponent"] = val - - @property - def showticklabels(self): - """ - Determines whether or not the tick labels are drawn. - - The 'showticklabels' property is a boolean and must be specified as: - - A boolean value: True or False - - Returns - ------- - bool - """ - return self["showticklabels"] - - @showticklabels.setter - def showticklabels(self, val): - self["showticklabels"] = val - - @property - def showtickprefix(self): - """ - If "all", all tick labels are displayed with a prefix. If - "first", only the first tick is displayed with a prefix. If - "last", only the last tick is displayed with a suffix. If - "none", tick prefixes are hidden. - - The 'showtickprefix' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['all', 'first', 'last', 'none'] - - Returns - ------- - Any - """ - return self["showtickprefix"] - - @showtickprefix.setter - def showtickprefix(self, val): - self["showtickprefix"] = val - - @property - def showticksuffix(self): - """ - Same as `showtickprefix` but for tick suffixes. - - The 'showticksuffix' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['all', 'first', 'last', 'none'] - - Returns - ------- - Any - """ - return self["showticksuffix"] - - @showticksuffix.setter - def showticksuffix(self, val): - self["showticksuffix"] = val - - @property - def thickness(self): - """ - Sets the thickness of the color bar This measure excludes the - size of the padding, ticks and labels. - - The 'thickness' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["thickness"] - - @thickness.setter - def thickness(self, val): - self["thickness"] = val - - @property - def thicknessmode(self): - """ - Determines whether this color bar's thickness (i.e. the measure - in the constant color direction) is set in units of plot - "fraction" or in "pixels". Use `thickness` to set the value. - - The 'thicknessmode' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['fraction', 'pixels'] - - Returns - ------- - Any - """ - return self["thicknessmode"] - - @thicknessmode.setter - def thicknessmode(self, val): - self["thicknessmode"] = val - - @property - def tick0(self): - """ - Sets the placement of the first tick on this axis. Use with - `dtick`. If the axis `type` is "log", then you must take the - log of your starting tick (e.g. to set the starting tick to - 100, set the `tick0` to 2) except when `dtick`=*L* (see - `dtick` for more info). If the axis `type` is "date", it should - be a date string, like date data. If the axis `type` is - "category", it should be a number, using the scale where each - category is assigned a serial number from zero in the order it - appears. - - The 'tick0' property accepts values of any type - - Returns - ------- - Any - """ - return self["tick0"] - - @tick0.setter - def tick0(self, val): - self["tick0"] = val - - @property - def tickangle(self): - """ - Sets the angle of the tick labels with respect to the - horizontal. For example, a `tickangle` of -90 draws the tick - labels vertically. - - The 'tickangle' property is a angle (in degrees) that may be - specified as a number between -180 and 180. - Numeric values outside this range are converted to the equivalent value - (e.g. 270 is converted to -90). - - Returns - ------- - int|float - """ - return self["tickangle"] - - @tickangle.setter - def tickangle(self, val): - self["tickangle"] = val - - @property - def tickcolor(self): - """ - Sets the tick color. - - The 'tickcolor' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: see https://plotly.com/python/css-colors/ for a list - - Returns - ------- - str - """ - return self["tickcolor"] - - @tickcolor.setter - def tickcolor(self, val): - self["tickcolor"] = val - - @property - def tickfont(self): - """ - Sets the color bar's tick label font - - The 'tickfont' property is an instance of Tickfont - that may be specified as: - - An instance of :class:`plotly.graph_objs.scattermapbox.marker.colorbar.Tickfont` - - A dict of string/value properties that will be passed - to the Tickfont constructor - - Returns - ------- - plotly.graph_objs.scattermapbox.marker.colorbar.Tickfont - """ - return self["tickfont"] - - @tickfont.setter - def tickfont(self, val): - self["tickfont"] = val - - @property - def tickformat(self): - """ - Sets the tick label formatting rule using d3 formatting mini- - languages which are very similar to those in Python. For - numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for - dates see: https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two items to d3's date - formatter: "%h" for half of the year as a decimal number as - well as "%{n}f" for fractional seconds with n digits. For - example, *2016-10-13 09:15:23.456* with tickformat - "%H~%M~%S.%2f" would display "09~15~23.46" - - The 'tickformat' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["tickformat"] - - @tickformat.setter - def tickformat(self, val): - self["tickformat"] = val - - @property - def tickformatstops(self): - """ - The 'tickformatstops' property is a tuple of instances of - Tickformatstop that may be specified as: - - A list or tuple of instances of plotly.graph_objs.scattermapbox.marker.colorbar.Tickformatstop - - A list or tuple of dicts of string/value properties that - will be passed to the Tickformatstop constructor - - Returns - ------- - tuple[plotly.graph_objs.scattermapbox.marker.colorbar.Tickformatstop] - """ - return self["tickformatstops"] - - @tickformatstops.setter - def tickformatstops(self, val): - self["tickformatstops"] = val - - @property - def tickformatstopdefaults(self): - """ - When used in a template (as layout.template.data.scattermapbox. - marker.colorbar.tickformatstopdefaults), sets the default - property values to use for elements of - scattermapbox.marker.colorbar.tickformatstops - - The 'tickformatstopdefaults' property is an instance of Tickformatstop - that may be specified as: - - An instance of :class:`plotly.graph_objs.scattermapbox.marker.colorbar.Tickformatstop` - - A dict of string/value properties that will be passed - to the Tickformatstop constructor - - Returns - ------- - plotly.graph_objs.scattermapbox.marker.colorbar.Tickformatstop - """ - return self["tickformatstopdefaults"] - - @tickformatstopdefaults.setter - def tickformatstopdefaults(self, val): - self["tickformatstopdefaults"] = val - - @property - def ticklabeloverflow(self): - """ - Determines how we handle tick labels that would overflow either - the graph div or the domain of the axis. The default value for - inside tick labels is *hide past domain*. In other cases the - default is *hide past div*. - - The 'ticklabeloverflow' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['allow', 'hide past div', 'hide past domain'] - - Returns - ------- - Any - """ - return self["ticklabeloverflow"] - - @ticklabeloverflow.setter - def ticklabeloverflow(self, val): - self["ticklabeloverflow"] = val - - @property - def ticklabelposition(self): - """ - Determines where tick labels are drawn relative to the ticks. - Left and right options are used when `orientation` is "h", top - and bottom when `orientation` is "v". - - The 'ticklabelposition' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['outside', 'inside', 'outside top', 'inside top', - 'outside left', 'inside left', 'outside right', 'inside - right', 'outside bottom', 'inside bottom'] - - Returns - ------- - Any - """ - return self["ticklabelposition"] - - @ticklabelposition.setter - def ticklabelposition(self, val): - self["ticklabelposition"] = val - - @property - def ticklabelstep(self): - """ - Sets the spacing between tick labels as compared to the spacing - between ticks. A value of 1 (default) means each tick gets a - label. A value of 2 means shows every 2nd label. A larger value - n means only every nth tick is labeled. `tick0` determines - which labels are shown. Not implemented for axes with `type` - "log" or "multicategory", or when `tickmode` is "array". - - The 'ticklabelstep' property is an integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [1, 9223372036854775807] - - Returns - ------- - int - """ - return self["ticklabelstep"] - - @ticklabelstep.setter - def ticklabelstep(self, val): - self["ticklabelstep"] = val - - @property - def ticklen(self): - """ - Sets the tick length (in px). - - The 'ticklen' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["ticklen"] - - @ticklen.setter - def ticklen(self, val): - self["ticklen"] = val - - @property - def tickmode(self): - """ - Sets the tick mode for this axis. If "auto", the number of - ticks is set via `nticks`. If "linear", the placement of the - ticks is determined by a starting position `tick0` and a tick - step `dtick` ("linear" is the default value if `tick0` and - `dtick` are provided). If "array", the placement of the ticks - is set via `tickvals` and the tick text is `ticktext`. ("array" - is the default value if `tickvals` is provided). - - The 'tickmode' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['auto', 'linear', 'array'] - - Returns - ------- - Any - """ - return self["tickmode"] - - @tickmode.setter - def tickmode(self, val): - self["tickmode"] = val - - @property - def tickprefix(self): - """ - Sets a tick label prefix. - - The 'tickprefix' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["tickprefix"] - - @tickprefix.setter - def tickprefix(self, val): - self["tickprefix"] = val - - @property - def ticks(self): - """ - Determines whether ticks are drawn or not. If "", this axis' - ticks are not drawn. If "outside" ("inside"), this axis' are - drawn outside (inside) the axis lines. - - The 'ticks' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['outside', 'inside', ''] - - Returns - ------- - Any - """ - return self["ticks"] - - @ticks.setter - def ticks(self, val): - self["ticks"] = val - - @property - def ticksuffix(self): - """ - Sets a tick label suffix. - - The 'ticksuffix' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["ticksuffix"] - - @ticksuffix.setter - def ticksuffix(self, val): - self["ticksuffix"] = val - - @property - def ticktext(self): - """ - Sets the text displayed at the ticks position via `tickvals`. - Only has an effect if `tickmode` is set to "array". Used with - `tickvals`. - - The 'ticktext' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["ticktext"] - - @ticktext.setter - def ticktext(self, val): - self["ticktext"] = val - - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - - @property - def tickvals(self): - """ - Sets the values at which ticks on this axis appear. Only has an - effect if `tickmode` is set to "array". Used with `ticktext`. - - The 'tickvals' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["tickvals"] - - @tickvals.setter - def tickvals(self, val): - self["tickvals"] = val - - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - - @property - def tickwidth(self): - """ - Sets the tick width (in px). - - The 'tickwidth' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["tickwidth"] - - @tickwidth.setter - def tickwidth(self, val): - self["tickwidth"] = val - - @property - def title(self): - """ - The 'title' property is an instance of Title - that may be specified as: - - An instance of :class:`plotly.graph_objs.scattermapbox.marker.colorbar.Title` - - A dict of string/value properties that will be passed - to the Title constructor - - Returns - ------- - plotly.graph_objs.scattermapbox.marker.colorbar.Title - """ - return self["title"] - - @title.setter - def title(self, val): - self["title"] = val - - @property - def x(self): - """ - Sets the x position with respect to `xref` of the color bar (in - plot fraction). When `xref` is "paper", defaults to 1.02 when - `orientation` is "v" and 0.5 when `orientation` is "h". When - `xref` is "container", defaults to 1 when `orientation` is "v" - and 0.5 when `orientation` is "h". Must be between 0 and 1 if - `xref` is "container" and between "-2" and 3 if `xref` is - "paper". - - The 'x' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["x"] - - @x.setter - def x(self, val): - self["x"] = val - - @property - def xanchor(self): - """ - Sets this color bar's horizontal position anchor. This anchor - binds the `x` position to the "left", "center" or "right" of - the color bar. Defaults to "left" when `orientation` is "v" and - "center" when `orientation` is "h". - - The 'xanchor' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['left', 'center', 'right'] - - Returns - ------- - Any - """ - return self["xanchor"] - - @xanchor.setter - def xanchor(self, val): - self["xanchor"] = val - - @property - def xpad(self): - """ - Sets the amount of padding (in px) along the x direction. - - The 'xpad' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["xpad"] - - @xpad.setter - def xpad(self, val): - self["xpad"] = val - - @property - def xref(self): - """ - Sets the container `x` refers to. "container" spans the entire - `width` of the plot. "paper" refers to the width of the - plotting area only. - - The 'xref' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['container', 'paper'] - - Returns - ------- - Any - """ - return self["xref"] - - @xref.setter - def xref(self, val): - self["xref"] = val - - @property - def y(self): - """ - Sets the y position with respect to `yref` of the color bar (in - plot fraction). When `yref` is "paper", defaults to 0.5 when - `orientation` is "v" and 1.02 when `orientation` is "h". When - `yref` is "container", defaults to 0.5 when `orientation` is - "v" and 1 when `orientation` is "h". Must be between 0 and 1 if - `yref` is "container" and between "-2" and 3 if `yref` is - "paper". - - The 'y' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["y"] - - @y.setter - def y(self, val): - self["y"] = val - - @property - def yanchor(self): - """ - Sets this color bar's vertical position anchor This anchor - binds the `y` position to the "top", "middle" or "bottom" of - the color bar. Defaults to "middle" when `orientation` is "v" - and "bottom" when `orientation` is "h". - - The 'yanchor' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['top', 'middle', 'bottom'] - - Returns - ------- - Any - """ - return self["yanchor"] - - @yanchor.setter - def yanchor(self, val): - self["yanchor"] = val - - @property - def ypad(self): - """ - Sets the amount of padding (in px) along the y direction. - - The 'ypad' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["ypad"] - - @ypad.setter - def ypad(self, val): - self["ypad"] = val - - @property - def yref(self): - """ - Sets the container `y` refers to. "container" spans the entire - `height` of the plot. "paper" refers to the height of the - plotting area only. - - The 'yref' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['container', 'paper'] - - Returns - ------- - Any - """ - return self["yref"] - - @yref.setter - def yref(self, val): - self["yref"] = val - - @property - def _prop_descriptions(self): - return """\ - bgcolor - Sets the color of padded area. - bordercolor - Sets the axis line color. - borderwidth - Sets the width (in px) or the border enclosing this - color bar. - dtick - Sets the step in-between ticks on this axis. Use with - `tick0`. Must be a positive number, or special strings - available to "log" and "date" axes. If the axis `type` - is "log", then ticks are set every 10^(n*dtick) where n - is the tick number. For example, to set a tick mark at - 1, 10, 100, 1000, ... set dtick to 1. To set tick marks - at 1, 100, 10000, ... set dtick to 2. To set tick marks - at 1, 5, 25, 125, 625, 3125, ... set dtick to - log_10(5), or 0.69897000433. "log" has several special - values; "L", where `f` is a positive number, gives - ticks linearly spaced in value (but not position). For - example `tick0` = 0.1, `dtick` = "L0.5" will put ticks - at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus - small digits between, use "D1" (all digits) or "D2" - (only 2 and 5). `tick0` is ignored for "D1" and "D2". - If the axis `type` is "date", then you must convert the - time to milliseconds. For example, to set the interval - between ticks to one day, set `dtick` to 86400000.0. - "date" also has special values "M" gives ticks - spaced by a number of months. `n` must be a positive - integer. To set ticks on the 15th of every third month, - set `tick0` to "2000-01-15" and `dtick` to "M3". To set - ticks every 4 years, set `dtick` to "M48" - exponentformat - Determines a formatting rule for the tick exponents. - For example, consider the number 1,000,000,000. If - "none", it appears as 1,000,000,000. If "e", 1e+9. If - "E", 1E+9. If "power", 1x10^9 (with 9 in a super - script). If "SI", 1G. If "B", 1B. "SI" uses prefixes - from "femto" f (10^-15) to "tera" T (10^12). *SI - extended* covers instead the full SI range from - "quecto" q (10^-30) to "quetta" Q (10^30). If "SI" or - *SI extended* is used and the exponent is beyond the - above ranges, the formatting rule will automatically be - switched to the power notation. - labelalias - Replacement text for specific tick or hover labels. For - example using {US: 'USA', CA: 'Canada'} changes US to - USA and CA to Canada. The labels we would have shown - must match the keys exactly, after adding any - tickprefix or ticksuffix. For negative numbers the - minus sign symbol used (U+2212) is wider than the - regular ascii dash. That means you need to use −1 - instead of -1. labelalias can be used with any axis - type, and both keys (if needed) and values (if desired) - can include html-like tags or MathJax. - len - Sets the length of the color bar This measure excludes - the padding of both ends. That is, the color bar length - is this length minus the padding on both ends. - lenmode - Determines whether this color bar's length (i.e. the - measure in the color variation direction) is set in - units of plot "fraction" or in *pixels. Use `len` to - set the value. - minexponent - Hide SI prefix for 10^n if |n| is below this number. - This only has an effect when `tickformat` is "SI" or - "B". - nticks - Specifies the maximum number of ticks for the - particular axis. The actual number of ticks will be - chosen automatically to be less than or equal to - `nticks`. Has an effect only if `tickmode` is set to - "auto". - orientation - Sets the orientation of the colorbar. - outlinecolor - Sets the axis line color. - outlinewidth - Sets the width (in px) of the axis line. - separatethousands - If "true", even 4-digit integers are separated - showexponent - If "all", all exponents are shown besides their - significands. If "first", only the exponent of the - first tick is shown. If "last", only the exponent of - the last tick is shown. If "none", no exponents appear. - showticklabels - Determines whether or not the tick labels are drawn. - showtickprefix - If "all", all tick labels are displayed with a prefix. - If "first", only the first tick is displayed with a - prefix. If "last", only the last tick is displayed with - a suffix. If "none", tick prefixes are hidden. - showticksuffix - Same as `showtickprefix` but for tick suffixes. - thickness - Sets the thickness of the color bar This measure - excludes the size of the padding, ticks and labels. - thicknessmode - Determines whether this color bar's thickness (i.e. the - measure in the constant color direction) is set in - units of plot "fraction" or in "pixels". Use - `thickness` to set the value. - tick0 - Sets the placement of the first tick on this axis. Use - with `dtick`. If the axis `type` is "log", then you - must take the log of your starting tick (e.g. to set - the starting tick to 100, set the `tick0` to 2) except - when `dtick`=*L* (see `dtick` for more info). If the - axis `type` is "date", it should be a date string, like - date data. If the axis `type` is "category", it should - be a number, using the scale where each category is - assigned a serial number from zero in the order it - appears. - tickangle - Sets the angle of the tick labels with respect to the - horizontal. For example, a `tickangle` of -90 draws the - tick labels vertically. - tickcolor - Sets the tick color. - tickfont - Sets the color bar's tick label font - tickformat - Sets the tick label formatting rule using d3 formatting - mini-languages which are very similar to those in - Python. For numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - And for dates see: https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two items to - d3's date formatter: "%h" for half of the year as a - decimal number as well as "%{n}f" for fractional - seconds with n digits. For example, *2016-10-13 - 09:15:23.456* with tickformat "%H~%M~%S.%2f" would - display "09~15~23.46" - tickformatstops - A tuple of :class:`plotly.graph_objects.scattermapbox.m - arker.colorbar.Tickformatstop` instances or dicts with - compatible properties - tickformatstopdefaults - When used in a template (as layout.template.data.scatte - rmapbox.marker.colorbar.tickformatstopdefaults), sets - the default property values to use for elements of - scattermapbox.marker.colorbar.tickformatstops - ticklabeloverflow - Determines how we handle tick labels that would - overflow either the graph div or the domain of the - axis. The default value for inside tick labels is *hide - past domain*. In other cases the default is *hide past - div*. - ticklabelposition - Determines where tick labels are drawn relative to the - ticks. Left and right options are used when - `orientation` is "h", top and bottom when `orientation` - is "v". - ticklabelstep - Sets the spacing between tick labels as compared to the - spacing between ticks. A value of 1 (default) means - each tick gets a label. A value of 2 means shows every - 2nd label. A larger value n means only every nth tick - is labeled. `tick0` determines which labels are shown. - Not implemented for axes with `type` "log" or - "multicategory", or when `tickmode` is "array". - ticklen - Sets the tick length (in px). - tickmode - Sets the tick mode for this axis. If "auto", the number - of ticks is set via `nticks`. If "linear", the - placement of the ticks is determined by a starting - position `tick0` and a tick step `dtick` ("linear" is - the default value if `tick0` and `dtick` are provided). - If "array", the placement of the ticks is set via - `tickvals` and the tick text is `ticktext`. ("array" is - the default value if `tickvals` is provided). - tickprefix - Sets a tick label prefix. - ticks - Determines whether ticks are drawn or not. If "", this - axis' ticks are not drawn. If "outside" ("inside"), - this axis' are drawn outside (inside) the axis lines. - ticksuffix - Sets a tick label suffix. - ticktext - Sets the text displayed at the ticks position via - `tickvals`. Only has an effect if `tickmode` is set to - "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. - tickvals - Sets the values at which ticks on this axis appear. - Only has an effect if `tickmode` is set to "array". - Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. - tickwidth - Sets the tick width (in px). - title - :class:`plotly.graph_objects.scattermapbox.marker.color - bar.Title` instance or dict with compatible properties - x - Sets the x position with respect to `xref` of the color - bar (in plot fraction). When `xref` is "paper", - defaults to 1.02 when `orientation` is "v" and 0.5 when - `orientation` is "h". When `xref` is "container", - defaults to 1 when `orientation` is "v" and 0.5 when - `orientation` is "h". Must be between 0 and 1 if `xref` - is "container" and between "-2" and 3 if `xref` is - "paper". - xanchor - Sets this color bar's horizontal position anchor. This - anchor binds the `x` position to the "left", "center" - or "right" of the color bar. Defaults to "left" when - `orientation` is "v" and "center" when `orientation` is - "h". - xpad - Sets the amount of padding (in px) along the x - direction. - xref - Sets the container `x` refers to. "container" spans the - entire `width` of the plot. "paper" refers to the width - of the plotting area only. - y - Sets the y position with respect to `yref` of the color - bar (in plot fraction). When `yref` is "paper", - defaults to 0.5 when `orientation` is "v" and 1.02 when - `orientation` is "h". When `yref` is "container", - defaults to 0.5 when `orientation` is "v" and 1 when - `orientation` is "h". Must be between 0 and 1 if `yref` - is "container" and between "-2" and 3 if `yref` is - "paper". - yanchor - Sets this color bar's vertical position anchor This - anchor binds the `y` position to the "top", "middle" or - "bottom" of the color bar. Defaults to "middle" when - `orientation` is "v" and "bottom" when `orientation` is - "h". - ypad - Sets the amount of padding (in px) along the y - direction. - yref - Sets the container `y` refers to. "container" spans the - entire `height` of the plot. "paper" refers to the - height of the plotting area only. - """ - - def __init__( - self, - arg=None, - bgcolor=None, - bordercolor=None, - borderwidth=None, - dtick=None, - exponentformat=None, - labelalias=None, - len=None, - lenmode=None, - minexponent=None, - nticks=None, - orientation=None, - outlinecolor=None, - outlinewidth=None, - separatethousands=None, - showexponent=None, - showticklabels=None, - showtickprefix=None, - showticksuffix=None, - thickness=None, - thicknessmode=None, - tick0=None, - tickangle=None, - tickcolor=None, - tickfont=None, - tickformat=None, - tickformatstops=None, - tickformatstopdefaults=None, - ticklabeloverflow=None, - ticklabelposition=None, - ticklabelstep=None, - ticklen=None, - tickmode=None, - tickprefix=None, - ticks=None, - ticksuffix=None, - ticktext=None, - ticktextsrc=None, - tickvals=None, - tickvalssrc=None, - tickwidth=None, - title=None, - x=None, - xanchor=None, - xpad=None, - xref=None, - y=None, - yanchor=None, - ypad=None, - yref=None, - **kwargs, - ): - """ - Construct a new ColorBar object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.scattermapbox. - marker.ColorBar` - bgcolor - Sets the color of padded area. - bordercolor - Sets the axis line color. - borderwidth - Sets the width (in px) or the border enclosing this - color bar. - dtick - Sets the step in-between ticks on this axis. Use with - `tick0`. Must be a positive number, or special strings - available to "log" and "date" axes. If the axis `type` - is "log", then ticks are set every 10^(n*dtick) where n - is the tick number. For example, to set a tick mark at - 1, 10, 100, 1000, ... set dtick to 1. To set tick marks - at 1, 100, 10000, ... set dtick to 2. To set tick marks - at 1, 5, 25, 125, 625, 3125, ... set dtick to - log_10(5), or 0.69897000433. "log" has several special - values; "L", where `f` is a positive number, gives - ticks linearly spaced in value (but not position). For - example `tick0` = 0.1, `dtick` = "L0.5" will put ticks - at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus - small digits between, use "D1" (all digits) or "D2" - (only 2 and 5). `tick0` is ignored for "D1" and "D2". - If the axis `type` is "date", then you must convert the - time to milliseconds. For example, to set the interval - between ticks to one day, set `dtick` to 86400000.0. - "date" also has special values "M" gives ticks - spaced by a number of months. `n` must be a positive - integer. To set ticks on the 15th of every third month, - set `tick0` to "2000-01-15" and `dtick` to "M3". To set - ticks every 4 years, set `dtick` to "M48" - exponentformat - Determines a formatting rule for the tick exponents. - For example, consider the number 1,000,000,000. If - "none", it appears as 1,000,000,000. If "e", 1e+9. If - "E", 1E+9. If "power", 1x10^9 (with 9 in a super - script). If "SI", 1G. If "B", 1B. "SI" uses prefixes - from "femto" f (10^-15) to "tera" T (10^12). *SI - extended* covers instead the full SI range from - "quecto" q (10^-30) to "quetta" Q (10^30). If "SI" or - *SI extended* is used and the exponent is beyond the - above ranges, the formatting rule will automatically be - switched to the power notation. - labelalias - Replacement text for specific tick or hover labels. For - example using {US: 'USA', CA: 'Canada'} changes US to - USA and CA to Canada. The labels we would have shown - must match the keys exactly, after adding any - tickprefix or ticksuffix. For negative numbers the - minus sign symbol used (U+2212) is wider than the - regular ascii dash. That means you need to use −1 - instead of -1. labelalias can be used with any axis - type, and both keys (if needed) and values (if desired) - can include html-like tags or MathJax. - len - Sets the length of the color bar This measure excludes - the padding of both ends. That is, the color bar length - is this length minus the padding on both ends. - lenmode - Determines whether this color bar's length (i.e. the - measure in the color variation direction) is set in - units of plot "fraction" or in *pixels. Use `len` to - set the value. - minexponent - Hide SI prefix for 10^n if |n| is below this number. - This only has an effect when `tickformat` is "SI" or - "B". - nticks - Specifies the maximum number of ticks for the - particular axis. The actual number of ticks will be - chosen automatically to be less than or equal to - `nticks`. Has an effect only if `tickmode` is set to - "auto". - orientation - Sets the orientation of the colorbar. - outlinecolor - Sets the axis line color. - outlinewidth - Sets the width (in px) of the axis line. - separatethousands - If "true", even 4-digit integers are separated - showexponent - If "all", all exponents are shown besides their - significands. If "first", only the exponent of the - first tick is shown. If "last", only the exponent of - the last tick is shown. If "none", no exponents appear. - showticklabels - Determines whether or not the tick labels are drawn. - showtickprefix - If "all", all tick labels are displayed with a prefix. - If "first", only the first tick is displayed with a - prefix. If "last", only the last tick is displayed with - a suffix. If "none", tick prefixes are hidden. - showticksuffix - Same as `showtickprefix` but for tick suffixes. - thickness - Sets the thickness of the color bar This measure - excludes the size of the padding, ticks and labels. - thicknessmode - Determines whether this color bar's thickness (i.e. the - measure in the constant color direction) is set in - units of plot "fraction" or in "pixels". Use - `thickness` to set the value. - tick0 - Sets the placement of the first tick on this axis. Use - with `dtick`. If the axis `type` is "log", then you - must take the log of your starting tick (e.g. to set - the starting tick to 100, set the `tick0` to 2) except - when `dtick`=*L* (see `dtick` for more info). If the - axis `type` is "date", it should be a date string, like - date data. If the axis `type` is "category", it should - be a number, using the scale where each category is - assigned a serial number from zero in the order it - appears. - tickangle - Sets the angle of the tick labels with respect to the - horizontal. For example, a `tickangle` of -90 draws the - tick labels vertically. - tickcolor - Sets the tick color. - tickfont - Sets the color bar's tick label font - tickformat - Sets the tick label formatting rule using d3 formatting - mini-languages which are very similar to those in - Python. For numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - And for dates see: https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two items to - d3's date formatter: "%h" for half of the year as a - decimal number as well as "%{n}f" for fractional - seconds with n digits. For example, *2016-10-13 - 09:15:23.456* with tickformat "%H~%M~%S.%2f" would - display "09~15~23.46" - tickformatstops - A tuple of :class:`plotly.graph_objects.scattermapbox.m - arker.colorbar.Tickformatstop` instances or dicts with - compatible properties - tickformatstopdefaults - When used in a template (as layout.template.data.scatte - rmapbox.marker.colorbar.tickformatstopdefaults), sets - the default property values to use for elements of - scattermapbox.marker.colorbar.tickformatstops - ticklabeloverflow - Determines how we handle tick labels that would - overflow either the graph div or the domain of the - axis. The default value for inside tick labels is *hide - past domain*. In other cases the default is *hide past - div*. - ticklabelposition - Determines where tick labels are drawn relative to the - ticks. Left and right options are used when - `orientation` is "h", top and bottom when `orientation` - is "v". - ticklabelstep - Sets the spacing between tick labels as compared to the - spacing between ticks. A value of 1 (default) means - each tick gets a label. A value of 2 means shows every - 2nd label. A larger value n means only every nth tick - is labeled. `tick0` determines which labels are shown. - Not implemented for axes with `type` "log" or - "multicategory", or when `tickmode` is "array". - ticklen - Sets the tick length (in px). - tickmode - Sets the tick mode for this axis. If "auto", the number - of ticks is set via `nticks`. If "linear", the - placement of the ticks is determined by a starting - position `tick0` and a tick step `dtick` ("linear" is - the default value if `tick0` and `dtick` are provided). - If "array", the placement of the ticks is set via - `tickvals` and the tick text is `ticktext`. ("array" is - the default value if `tickvals` is provided). - tickprefix - Sets a tick label prefix. - ticks - Determines whether ticks are drawn or not. If "", this - axis' ticks are not drawn. If "outside" ("inside"), - this axis' are drawn outside (inside) the axis lines. - ticksuffix - Sets a tick label suffix. - ticktext - Sets the text displayed at the ticks position via - `tickvals`. Only has an effect if `tickmode` is set to - "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. - tickvals - Sets the values at which ticks on this axis appear. - Only has an effect if `tickmode` is set to "array". - Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. - tickwidth - Sets the tick width (in px). - title - :class:`plotly.graph_objects.scattermapbox.marker.color - bar.Title` instance or dict with compatible properties - x - Sets the x position with respect to `xref` of the color - bar (in plot fraction). When `xref` is "paper", - defaults to 1.02 when `orientation` is "v" and 0.5 when - `orientation` is "h". When `xref` is "container", - defaults to 1 when `orientation` is "v" and 0.5 when - `orientation` is "h". Must be between 0 and 1 if `xref` - is "container" and between "-2" and 3 if `xref` is - "paper". - xanchor - Sets this color bar's horizontal position anchor. This - anchor binds the `x` position to the "left", "center" - or "right" of the color bar. Defaults to "left" when - `orientation` is "v" and "center" when `orientation` is - "h". - xpad - Sets the amount of padding (in px) along the x - direction. - xref - Sets the container `x` refers to. "container" spans the - entire `width` of the plot. "paper" refers to the width - of the plotting area only. - y - Sets the y position with respect to `yref` of the color - bar (in plot fraction). When `yref` is "paper", - defaults to 0.5 when `orientation` is "v" and 1.02 when - `orientation` is "h". When `yref` is "container", - defaults to 0.5 when `orientation` is "v" and 1 when - `orientation` is "h". Must be between 0 and 1 if `yref` - is "container" and between "-2" and 3 if `yref` is - "paper". - yanchor - Sets this color bar's vertical position anchor This - anchor binds the `y` position to the "top", "middle" or - "bottom" of the color bar. Defaults to "middle" when - `orientation` is "v" and "bottom" when `orientation` is - "h". - ypad - Sets the amount of padding (in px) along the y - direction. - yref - Sets the container `y` refers to. "container" spans the - entire `height` of the plot. "paper" refers to the - height of the plotting area only. - - Returns - ------- - ColorBar - """ - super().__init__("colorbar") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.scattermapbox.marker.ColorBar -constructor must be a dict or -an instance of :class:`plotly.graph_objs.scattermapbox.marker.ColorBar`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("bgcolor", arg, bgcolor) - self._set_property("bordercolor", arg, bordercolor) - self._set_property("borderwidth", arg, borderwidth) - self._set_property("dtick", arg, dtick) - self._set_property("exponentformat", arg, exponentformat) - self._set_property("labelalias", arg, labelalias) - self._set_property("len", arg, len) - self._set_property("lenmode", arg, lenmode) - self._set_property("minexponent", arg, minexponent) - self._set_property("nticks", arg, nticks) - self._set_property("orientation", arg, orientation) - self._set_property("outlinecolor", arg, outlinecolor) - self._set_property("outlinewidth", arg, outlinewidth) - self._set_property("separatethousands", arg, separatethousands) - self._set_property("showexponent", arg, showexponent) - self._set_property("showticklabels", arg, showticklabels) - self._set_property("showtickprefix", arg, showtickprefix) - self._set_property("showticksuffix", arg, showticksuffix) - self._set_property("thickness", arg, thickness) - self._set_property("thicknessmode", arg, thicknessmode) - self._set_property("tick0", arg, tick0) - self._set_property("tickangle", arg, tickangle) - self._set_property("tickcolor", arg, tickcolor) - self._set_property("tickfont", arg, tickfont) - self._set_property("tickformat", arg, tickformat) - self._set_property("tickformatstops", arg, tickformatstops) - self._set_property("tickformatstopdefaults", arg, tickformatstopdefaults) - self._set_property("ticklabeloverflow", arg, ticklabeloverflow) - self._set_property("ticklabelposition", arg, ticklabelposition) - self._set_property("ticklabelstep", arg, ticklabelstep) - self._set_property("ticklen", arg, ticklen) - self._set_property("tickmode", arg, tickmode) - self._set_property("tickprefix", arg, tickprefix) - self._set_property("ticks", arg, ticks) - self._set_property("ticksuffix", arg, ticksuffix) - self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) - self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) - self._set_property("tickwidth", arg, tickwidth) - self._set_property("title", arg, title) - self._set_property("x", arg, x) - self._set_property("xanchor", arg, xanchor) - self._set_property("xpad", arg, xpad) - self._set_property("xref", arg, xref) - self._set_property("y", arg, y) - self._set_property("yanchor", arg, yanchor) - self._set_property("ypad", arg, ypad) - self._set_property("yref", arg, yref) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/scattermapbox/marker/colorbar/__init__.py b/plotly/graph_objs/scattermapbox/marker/colorbar/__init__.py deleted file mode 100644 index 4690d3cc738..00000000000 --- a/plotly/graph_objs/scattermapbox/marker/colorbar/__init__.py +++ /dev/null @@ -1,16 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - from ._tickfont import Tickfont - from ._tickformatstop import Tickformatstop - from ._title import Title - from . import title -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, - [".title"], - ["._tickfont.Tickfont", "._tickformatstop.Tickformatstop", "._title.Title"], - ) diff --git a/plotly/graph_objs/scattermapbox/marker/colorbar/_tickfont.py b/plotly/graph_objs/scattermapbox/marker/colorbar/_tickfont.py deleted file mode 100644 index d8c58cbbd71..00000000000 --- a/plotly/graph_objs/scattermapbox/marker/colorbar/_tickfont.py +++ /dev/null @@ -1,334 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Tickfont(_BaseTraceHierarchyType): - _parent_path_str = "scattermapbox.marker.colorbar" - _path_str = "scattermapbox.marker.colorbar.tickfont" - _valid_props = { - "color", - "family", - "lineposition", - "shadow", - "size", - "style", - "textcase", - "variant", - "weight", - } - - @property - def color(self): - """ - The 'color' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: see https://plotly.com/python/css-colors/ for a list - - Returns - ------- - str - """ - return self["color"] - - @color.setter - def color(self, val): - self["color"] = val - - @property - def family(self): - """ - HTML font family - the typeface that will be applied by the web - browser. The web browser can only apply a font if it is - available on the system where it runs. Provide multiple font - families, separated by commas, to indicate the order in which - to apply fonts if they aren't available. - - The 'family' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["family"] - - @family.setter - def family(self, val): - self["family"] = val - - @property - def lineposition(self): - """ - Sets the kind of decoration line(s) with text, such as an - "under", "over" or "through" as well as combinations e.g. - "under+over", etc. - - The 'lineposition' property is a flaglist and may be specified - as a string containing: - - Any combination of ['under', 'over', 'through'] joined with '+' characters - (e.g. 'under+over') - OR exactly one of ['none'] (e.g. 'none') - - Returns - ------- - Any - """ - return self["lineposition"] - - @lineposition.setter - def lineposition(self, val): - self["lineposition"] = val - - @property - def shadow(self): - """ - Sets the shape and color of the shadow behind text. "auto" - places minimal shadow and applies contrast text font color. See - https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow - for additional options. - - The 'shadow' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["shadow"] - - @shadow.setter - def shadow(self, val): - self["shadow"] = val - - @property - def size(self): - """ - The 'size' property is a number and may be specified as: - - An int or float in the interval [1, inf] - - Returns - ------- - int|float - """ - return self["size"] - - @size.setter - def size(self, val): - self["size"] = val - - @property - def style(self): - """ - Sets whether a font should be styled with a normal or italic - face from its family. - - The 'style' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'italic'] - - Returns - ------- - Any - """ - return self["style"] - - @style.setter - def style(self, val): - self["style"] = val - - @property - def textcase(self): - """ - Sets capitalization of text. It can be used to make text appear - in all-uppercase or all-lowercase, or with each word - capitalized. - - The 'textcase' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'word caps', 'upper', 'lower'] - - Returns - ------- - Any - """ - return self["textcase"] - - @textcase.setter - def textcase(self, val): - self["textcase"] = val - - @property - def variant(self): - """ - Sets the variant of the font. - - The 'variant' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'small-caps', 'all-small-caps', - 'all-petite-caps', 'petite-caps', 'unicase'] - - Returns - ------- - Any - """ - return self["variant"] - - @variant.setter - def variant(self, val): - self["variant"] = val - - @property - def weight(self): - """ - Sets the weight (or boldness) of the font. - - The 'weight' property is an integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [1, 1000] - OR exactly one of ['normal', 'bold'] (e.g. 'bold') - - Returns - ------- - int - """ - return self["weight"] - - @weight.setter - def weight(self, val): - self["weight"] = val - - @property - def _prop_descriptions(self): - return """\ - color - - family - HTML font family - the typeface that will be applied by - the web browser. The web browser can only apply a font - if it is available on the system where it runs. Provide - multiple font families, separated by commas, to - indicate the order in which to apply fonts if they - aren't available. - lineposition - Sets the kind of decoration line(s) with text, such as - an "under", "over" or "through" as well as combinations - e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind text. - "auto" places minimal shadow and applies contrast text - font color. See https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional options. - size - - style - Sets whether a font should be styled with a normal or - italic face from its family. - textcase - Sets capitalization of text. It can be used to make - text appear in all-uppercase or all-lowercase, or with - each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - """ - - def __init__( - self, - arg=None, - color=None, - family=None, - lineposition=None, - shadow=None, - size=None, - style=None, - textcase=None, - variant=None, - weight=None, - **kwargs, - ): - """ - Construct a new Tickfont object - - Sets the color bar's tick label font - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.scattermapbox. - marker.colorbar.Tickfont` - color - - family - HTML font family - the typeface that will be applied by - the web browser. The web browser can only apply a font - if it is available on the system where it runs. Provide - multiple font families, separated by commas, to - indicate the order in which to apply fonts if they - aren't available. - lineposition - Sets the kind of decoration line(s) with text, such as - an "under", "over" or "through" as well as combinations - e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind text. - "auto" places minimal shadow and applies contrast text - font color. See https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional options. - size - - style - Sets whether a font should be styled with a normal or - italic face from its family. - textcase - Sets capitalization of text. It can be used to make - text appear in all-uppercase or all-lowercase, or with - each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - Tickfont - """ - super().__init__("tickfont") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.scattermapbox.marker.colorbar.Tickfont -constructor must be a dict or -an instance of :class:`plotly.graph_objs.scattermapbox.marker.colorbar.Tickfont`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("color", arg, color) - self._set_property("family", arg, family) - self._set_property("lineposition", arg, lineposition) - self._set_property("shadow", arg, shadow) - self._set_property("size", arg, size) - self._set_property("style", arg, style) - self._set_property("textcase", arg, textcase) - self._set_property("variant", arg, variant) - self._set_property("weight", arg, weight) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/scattermapbox/marker/colorbar/_tickformatstop.py b/plotly/graph_objs/scattermapbox/marker/colorbar/_tickformatstop.py deleted file mode 100644 index 389874e110b..00000000000 --- a/plotly/graph_objs/scattermapbox/marker/colorbar/_tickformatstop.py +++ /dev/null @@ -1,241 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Tickformatstop(_BaseTraceHierarchyType): - _parent_path_str = "scattermapbox.marker.colorbar" - _path_str = "scattermapbox.marker.colorbar.tickformatstop" - _valid_props = {"dtickrange", "enabled", "name", "templateitemname", "value"} - - @property - def dtickrange(self): - """ - range [*min*, *max*], where "min", "max" - dtick values which - describe some zoom level, it is possible to omit "min" or "max" - value by passing "null" - - The 'dtickrange' property is an info array that may be specified as: - - * a list or tuple of 2 elements where: - (0) The 'dtickrange[0]' property accepts values of any type - (1) The 'dtickrange[1]' property accepts values of any type - - Returns - ------- - list - """ - return self["dtickrange"] - - @dtickrange.setter - def dtickrange(self, val): - self["dtickrange"] = val - - @property - def enabled(self): - """ - Determines whether or not this stop is used. If `false`, this - stop is ignored even within its `dtickrange`. - - The 'enabled' property is a boolean and must be specified as: - - A boolean value: True or False - - Returns - ------- - bool - """ - return self["enabled"] - - @enabled.setter - def enabled(self, val): - self["enabled"] = val - - @property - def name(self): - """ - When used in a template, named items are created in the output - figure in addition to any items the figure already has in this - array. You can modify these items in the output figure by - making your own item with `templateitemname` matching this - `name` alongside your modifications (including `visible: false` - or `enabled: false` to hide it). Has no effect outside of a - template. - - The 'name' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["name"] - - @name.setter - def name(self, val): - self["name"] = val - - @property - def templateitemname(self): - """ - Used to refer to a named item in this array in the template. - Named items from the template will be created even without a - matching item in the input figure, but you can modify one by - making an item with `templateitemname` matching its `name`, - alongside your modifications (including `visible: false` or - `enabled: false` to hide it). If there is no template or no - matching item, this item will be hidden unless you explicitly - show it with `visible: true`. - - The 'templateitemname' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["templateitemname"] - - @templateitemname.setter - def templateitemname(self, val): - self["templateitemname"] = val - - @property - def value(self): - """ - string - dtickformat for described zoom level, the same as - "tickformat" - - The 'value' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["value"] - - @value.setter - def value(self, val): - self["value"] = val - - @property - def _prop_descriptions(self): - return """\ - dtickrange - range [*min*, *max*], where "min", "max" - dtick values - which describe some zoom level, it is possible to omit - "min" or "max" value by passing "null" - enabled - Determines whether or not this stop is used. If - `false`, this stop is ignored even within its - `dtickrange`. - name - When used in a template, named items are created in the - output figure in addition to any items the figure - already has in this array. You can modify these items - in the output figure by making your own item with - `templateitemname` matching this `name` alongside your - modifications (including `visible: false` or `enabled: - false` to hide it). Has no effect outside of a - template. - templateitemname - Used to refer to a named item in this array in the - template. Named items from the template will be created - even without a matching item in the input figure, but - you can modify one by making an item with - `templateitemname` matching its `name`, alongside your - modifications (including `visible: false` or `enabled: - false` to hide it). If there is no template or no - matching item, this item will be hidden unless you - explicitly show it with `visible: true`. - value - string - dtickformat for described zoom level, the same - as "tickformat" - """ - - def __init__( - self, - arg=None, - dtickrange=None, - enabled=None, - name=None, - templateitemname=None, - value=None, - **kwargs, - ): - """ - Construct a new Tickformatstop object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.scattermapbox. - marker.colorbar.Tickformatstop` - dtickrange - range [*min*, *max*], where "min", "max" - dtick values - which describe some zoom level, it is possible to omit - "min" or "max" value by passing "null" - enabled - Determines whether or not this stop is used. If - `false`, this stop is ignored even within its - `dtickrange`. - name - When used in a template, named items are created in the - output figure in addition to any items the figure - already has in this array. You can modify these items - in the output figure by making your own item with - `templateitemname` matching this `name` alongside your - modifications (including `visible: false` or `enabled: - false` to hide it). Has no effect outside of a - template. - templateitemname - Used to refer to a named item in this array in the - template. Named items from the template will be created - even without a matching item in the input figure, but - you can modify one by making an item with - `templateitemname` matching its `name`, alongside your - modifications (including `visible: false` or `enabled: - false` to hide it). If there is no template or no - matching item, this item will be hidden unless you - explicitly show it with `visible: true`. - value - string - dtickformat for described zoom level, the same - as "tickformat" - - Returns - ------- - Tickformatstop - """ - super().__init__("tickformatstops") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.scattermapbox.marker.colorbar.Tickformatstop -constructor must be a dict or -an instance of :class:`plotly.graph_objs.scattermapbox.marker.colorbar.Tickformatstop`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("dtickrange", arg, dtickrange) - self._set_property("enabled", arg, enabled) - self._set_property("name", arg, name) - self._set_property("templateitemname", arg, templateitemname) - self._set_property("value", arg, value) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/scattermapbox/marker/colorbar/_title.py b/plotly/graph_objs/scattermapbox/marker/colorbar/_title.py deleted file mode 100644 index d3846cef4f7..00000000000 --- a/plotly/graph_objs/scattermapbox/marker/colorbar/_title.py +++ /dev/null @@ -1,136 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Title(_BaseTraceHierarchyType): - _parent_path_str = "scattermapbox.marker.colorbar" - _path_str = "scattermapbox.marker.colorbar.title" - _valid_props = {"font", "side", "text"} - - @property - def font(self): - """ - Sets this color bar's title font. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.scattermapbox.marker.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Returns - ------- - plotly.graph_objs.scattermapbox.marker.colorbar.title.Font - """ - return self["font"] - - @font.setter - def font(self, val): - self["font"] = val - - @property - def side(self): - """ - Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - Any - """ - return self["side"] - - @side.setter - def side(self, val): - self["side"] = val - - @property - def text(self): - """ - Sets the title of the color bar. - - The 'text' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["text"] - - @text.setter - def text(self, val): - self["text"] = val - - @property - def _prop_descriptions(self): - return """\ - font - Sets this color bar's title font. - side - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". - text - Sets the title of the color bar. - """ - - def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): - """ - Construct a new Title object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.scattermapbox. - marker.colorbar.Title` - font - Sets this color bar's title font. - side - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". - text - Sets the title of the color bar. - - Returns - ------- - Title - """ - super().__init__("title") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.scattermapbox.marker.colorbar.Title -constructor must be a dict or -an instance of :class:`plotly.graph_objs.scattermapbox.marker.colorbar.Title`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("font", arg, font) - self._set_property("side", arg, side) - self._set_property("text", arg, text) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/scattermapbox/marker/colorbar/title/__init__.py b/plotly/graph_objs/scattermapbox/marker/colorbar/title/__init__.py deleted file mode 100644 index 56f600d3458..00000000000 --- a/plotly/graph_objs/scattermapbox/marker/colorbar/title/__init__.py +++ /dev/null @@ -1,9 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - from ._font import Font -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/plotly/graph_objs/scattermapbox/marker/colorbar/title/_font.py b/plotly/graph_objs/scattermapbox/marker/colorbar/title/_font.py deleted file mode 100644 index 7e328d9f3bb..00000000000 --- a/plotly/graph_objs/scattermapbox/marker/colorbar/title/_font.py +++ /dev/null @@ -1,334 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Font(_BaseTraceHierarchyType): - _parent_path_str = "scattermapbox.marker.colorbar.title" - _path_str = "scattermapbox.marker.colorbar.title.font" - _valid_props = { - "color", - "family", - "lineposition", - "shadow", - "size", - "style", - "textcase", - "variant", - "weight", - } - - @property - def color(self): - """ - The 'color' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: see https://plotly.com/python/css-colors/ for a list - - Returns - ------- - str - """ - return self["color"] - - @color.setter - def color(self, val): - self["color"] = val - - @property - def family(self): - """ - HTML font family - the typeface that will be applied by the web - browser. The web browser can only apply a font if it is - available on the system where it runs. Provide multiple font - families, separated by commas, to indicate the order in which - to apply fonts if they aren't available. - - The 'family' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["family"] - - @family.setter - def family(self, val): - self["family"] = val - - @property - def lineposition(self): - """ - Sets the kind of decoration line(s) with text, such as an - "under", "over" or "through" as well as combinations e.g. - "under+over", etc. - - The 'lineposition' property is a flaglist and may be specified - as a string containing: - - Any combination of ['under', 'over', 'through'] joined with '+' characters - (e.g. 'under+over') - OR exactly one of ['none'] (e.g. 'none') - - Returns - ------- - Any - """ - return self["lineposition"] - - @lineposition.setter - def lineposition(self, val): - self["lineposition"] = val - - @property - def shadow(self): - """ - Sets the shape and color of the shadow behind text. "auto" - places minimal shadow and applies contrast text font color. See - https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow - for additional options. - - The 'shadow' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["shadow"] - - @shadow.setter - def shadow(self, val): - self["shadow"] = val - - @property - def size(self): - """ - The 'size' property is a number and may be specified as: - - An int or float in the interval [1, inf] - - Returns - ------- - int|float - """ - return self["size"] - - @size.setter - def size(self, val): - self["size"] = val - - @property - def style(self): - """ - Sets whether a font should be styled with a normal or italic - face from its family. - - The 'style' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'italic'] - - Returns - ------- - Any - """ - return self["style"] - - @style.setter - def style(self, val): - self["style"] = val - - @property - def textcase(self): - """ - Sets capitalization of text. It can be used to make text appear - in all-uppercase or all-lowercase, or with each word - capitalized. - - The 'textcase' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'word caps', 'upper', 'lower'] - - Returns - ------- - Any - """ - return self["textcase"] - - @textcase.setter - def textcase(self, val): - self["textcase"] = val - - @property - def variant(self): - """ - Sets the variant of the font. - - The 'variant' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'small-caps', 'all-small-caps', - 'all-petite-caps', 'petite-caps', 'unicase'] - - Returns - ------- - Any - """ - return self["variant"] - - @variant.setter - def variant(self, val): - self["variant"] = val - - @property - def weight(self): - """ - Sets the weight (or boldness) of the font. - - The 'weight' property is an integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [1, 1000] - OR exactly one of ['normal', 'bold'] (e.g. 'bold') - - Returns - ------- - int - """ - return self["weight"] - - @weight.setter - def weight(self, val): - self["weight"] = val - - @property - def _prop_descriptions(self): - return """\ - color - - family - HTML font family - the typeface that will be applied by - the web browser. The web browser can only apply a font - if it is available on the system where it runs. Provide - multiple font families, separated by commas, to - indicate the order in which to apply fonts if they - aren't available. - lineposition - Sets the kind of decoration line(s) with text, such as - an "under", "over" or "through" as well as combinations - e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind text. - "auto" places minimal shadow and applies contrast text - font color. See https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional options. - size - - style - Sets whether a font should be styled with a normal or - italic face from its family. - textcase - Sets capitalization of text. It can be used to make - text appear in all-uppercase or all-lowercase, or with - each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - """ - - def __init__( - self, - arg=None, - color=None, - family=None, - lineposition=None, - shadow=None, - size=None, - style=None, - textcase=None, - variant=None, - weight=None, - **kwargs, - ): - """ - Construct a new Font object - - Sets this color bar's title font. - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.scattermapbox. - marker.colorbar.title.Font` - color - - family - HTML font family - the typeface that will be applied by - the web browser. The web browser can only apply a font - if it is available on the system where it runs. Provide - multiple font families, separated by commas, to - indicate the order in which to apply fonts if they - aren't available. - lineposition - Sets the kind of decoration line(s) with text, such as - an "under", "over" or "through" as well as combinations - e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind text. - "auto" places minimal shadow and applies contrast text - font color. See https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional options. - size - - style - Sets whether a font should be styled with a normal or - italic face from its family. - textcase - Sets capitalization of text. It can be used to make - text appear in all-uppercase or all-lowercase, or with - each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - Font - """ - super().__init__("font") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.scattermapbox.marker.colorbar.title.Font -constructor must be a dict or -an instance of :class:`plotly.graph_objs.scattermapbox.marker.colorbar.title.Font`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("color", arg, color) - self._set_property("family", arg, family) - self._set_property("lineposition", arg, lineposition) - self._set_property("shadow", arg, shadow) - self._set_property("size", arg, size) - self._set_property("style", arg, style) - self._set_property("textcase", arg, textcase) - self._set_property("variant", arg, variant) - self._set_property("weight", arg, weight) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/scattermapbox/selected/__init__.py b/plotly/graph_objs/scattermapbox/selected/__init__.py deleted file mode 100644 index b4ba7bf2614..00000000000 --- a/plotly/graph_objs/scattermapbox/selected/__init__.py +++ /dev/null @@ -1,9 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - from ._marker import Marker -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._marker.Marker"]) diff --git a/plotly/graph_objs/scattermapbox/unselected/__init__.py b/plotly/graph_objs/scattermapbox/unselected/__init__.py deleted file mode 100644 index b4ba7bf2614..00000000000 --- a/plotly/graph_objs/scattermapbox/unselected/__init__.py +++ /dev/null @@ -1,9 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - from ._marker import Marker -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._marker.Marker"]) diff --git a/plotly/graph_objs/scatterpolar/__init__.py b/plotly/graph_objs/scatterpolar/__init__.py index 55ee707f4ed..e1e03ecab6a 100644 --- a/plotly/graph_objs/scatterpolar/__init__.py +++ b/plotly/graph_objs/scatterpolar/__init__.py @@ -7,7 +7,6 @@ from ._line import Line from ._marker import Marker from ._selected import Selected - from ._stream import Stream from ._textfont import Textfont from ._unselected import Unselected from . import hoverlabel @@ -27,7 +26,6 @@ "._line.Line", "._marker.Marker", "._selected.Selected", - "._stream.Stream", "._textfont.Textfont", "._unselected.Unselected", ], diff --git a/plotly/graph_objs/scatterpolar/_hoverlabel.py b/plotly/graph_objs/scatterpolar/_hoverlabel.py index 3f6cd712bd6..296fcfed42f 100644 --- a/plotly/graph_objs/scatterpolar/_hoverlabel.py +++ b/plotly/graph_objs/scatterpolar/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "scatterpolar.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatterpolar/_line.py b/plotly/graph_objs/scatterpolar/_line.py index ae3d3f229ab..64860db19a1 100644 --- a/plotly/graph_objs/scatterpolar/_line.py +++ b/plotly/graph_objs/scatterpolar/_line.py @@ -8,15 +8,7 @@ class Line(_BaseTraceHierarchyType): _parent_path_str = "scatterpolar" _path_str = "scatterpolar.line" - _valid_props = { - "backoff", - "backoffsrc", - "color", - "dash", - "shape", - "smoothing", - "width", - } + _valid_props = {"backoff", "color", "dash", "shape", "smoothing", "width"} @property def backoff(self): @@ -40,24 +32,6 @@ def backoff(self): def backoff(self, val): self["backoff"] = val - @property - def backoffsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `backoff`. - - The 'backoffsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["backoffsrc"] - - @backoffsrc.setter - def backoffsrc(self, val): - self["backoffsrc"] = val - @property def color(self): """ @@ -172,9 +146,6 @@ def _prop_descriptions(self): avoid overlap with arrowhead markers. With "auto" the lines would trim before markers if `marker.angleref` is set to "previous". - backoffsrc - Sets the source reference on Chart Studio Cloud for - `backoff`. color Sets the line color. dash @@ -198,7 +169,6 @@ def __init__( self, arg=None, backoff=None, - backoffsrc=None, color=None, dash=None, shape=None, @@ -221,9 +191,6 @@ def __init__( avoid overlap with arrowhead markers. With "auto" the lines would trim before markers if `marker.angleref` is set to "previous". - backoffsrc - Sets the source reference on Chart Studio Cloud for - `backoff`. color Sets the line color. dash @@ -267,7 +234,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("backoff", arg, backoff) - self._set_property("backoffsrc", arg, backoffsrc) self._set_property("color", arg, color) self._set_property("dash", arg, dash) self._set_property("shape", arg, shape) diff --git a/plotly/graph_objs/scatterpolar/_marker.py b/plotly/graph_objs/scatterpolar/_marker.py index d8b1256c0b6..bfa92fefd42 100644 --- a/plotly/graph_objs/scatterpolar/_marker.py +++ b/plotly/graph_objs/scatterpolar/_marker.py @@ -11,7 +11,6 @@ class Marker(_BaseTraceHierarchyType): _valid_props = { "angle", "angleref", - "anglesrc", "autocolorscale", "cauto", "cmax", @@ -21,23 +20,18 @@ class Marker(_BaseTraceHierarchyType): "coloraxis", "colorbar", "colorscale", - "colorsrc", "gradient", "line", "maxdisplayed", "opacity", - "opacitysrc", "reversescale", "showscale", "size", "sizemin", "sizemode", "sizeref", - "sizesrc", "standoff", - "standoffsrc", "symbol", - "symbolsrc", } @property @@ -81,24 +75,6 @@ def angleref(self): def angleref(self, val): self["angleref"] = val - @property - def anglesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `angle`. - - The 'anglesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["anglesrc"] - - @anglesrc.setter - def anglesrc(self, val): - self["anglesrc"] = val - @property def autocolorscale(self): """ @@ -288,9 +264,9 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, - hex, hsl, hsv, or named color string. At minimum, a mapping for - the lowest (0) and highest (1) values are required. For - example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To + hex, hsl, hsla, hwb, or named color string. At minimum, a + mapping for the lowest (0) and highest (1) values are required. + For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,B @@ -334,24 +310,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def gradient(self): """ @@ -428,24 +386,6 @@ def opacity(self): def opacity(self, val): self["opacity"] = val - @property - def opacitysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `opacity`. - - The 'opacitysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["opacitysrc"] - - @opacitysrc.setter - def opacitysrc(self, val): - self["opacitysrc"] = val - @property def reversescale(self): """ @@ -567,24 +507,6 @@ def sizeref(self): def sizeref(self, val): self["sizeref"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def standoff(self): """ @@ -607,24 +529,6 @@ def standoff(self): def standoff(self, val): self["standoff"] = val - @property - def standoffsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `standoff`. - - The 'standoffsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["standoffsrc"] - - @standoffsrc.setter - def standoffsrc(self, val): - self["standoffsrc"] = val - @property def symbol(self): """ @@ -736,24 +640,6 @@ def symbol(self): def symbol(self, val): self["symbol"] = val - @property - def symbolsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `symbol`. - - The 'symbolsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["symbolsrc"] - - @symbolsrc.setter - def symbolsrc(self, val): - self["symbolsrc"] = val - @property def _prop_descriptions(self): return """\ @@ -764,9 +650,6 @@ def _prop_descriptions(self): angle 0 points along the line from the previous point to this one. With "up", angle 0 points toward the top of the screen. - anglesrc - Sets the source reference on Chart Studio Cloud for - `angle`. autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -820,8 +703,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -830,9 +713,6 @@ def _prop_descriptions(self): following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. gradient :class:`plotly.graph_objects.scatterpolar.marker.Gradie nt` instance or dict with compatible properties @@ -844,9 +724,6 @@ def _prop_descriptions(self): graph. 0 corresponds to no limit. opacity Sets the marker opacity. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If @@ -872,26 +749,17 @@ def _prop_descriptions(self): numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. standoff Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it. - standoffsrc - Sets the source reference on Chart Studio Cloud for - `standoff`. symbol Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot- open" to a symbol name. - symbolsrc - Sets the source reference on Chart Studio Cloud for - `symbol`. """ def __init__( @@ -899,7 +767,6 @@ def __init__( arg=None, angle=None, angleref=None, - anglesrc=None, autocolorscale=None, cauto=None, cmax=None, @@ -909,23 +776,18 @@ def __init__( coloraxis=None, colorbar=None, colorscale=None, - colorsrc=None, gradient=None, line=None, maxdisplayed=None, opacity=None, - opacitysrc=None, reversescale=None, showscale=None, size=None, sizemin=None, sizemode=None, sizeref=None, - sizesrc=None, standoff=None, - standoffsrc=None, symbol=None, - symbolsrc=None, **kwargs, ): """ @@ -944,9 +806,6 @@ def __init__( angle 0 points along the line from the previous point to this one. With "up", angle 0 points toward the top of the screen. - anglesrc - Sets the source reference on Chart Studio Cloud for - `angle`. autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -1000,8 +859,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -1010,9 +869,6 @@ def __init__( following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. gradient :class:`plotly.graph_objects.scatterpolar.marker.Gradie nt` instance or dict with compatible properties @@ -1024,9 +880,6 @@ def __init__( graph. 0 corresponds to no limit. opacity Sets the marker opacity. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If @@ -1052,26 +905,17 @@ def __init__( numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. standoff Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it. - standoffsrc - Sets the source reference on Chart Studio Cloud for - `standoff`. symbol Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot- open" to a symbol name. - symbolsrc - Sets the source reference on Chart Studio Cloud for - `symbol`. Returns ------- @@ -1099,7 +943,6 @@ def __init__( self._set_property("angle", arg, angle) self._set_property("angleref", arg, angleref) - self._set_property("anglesrc", arg, anglesrc) self._set_property("autocolorscale", arg, autocolorscale) self._set_property("cauto", arg, cauto) self._set_property("cmax", arg, cmax) @@ -1109,22 +952,17 @@ def __init__( self._set_property("coloraxis", arg, coloraxis) self._set_property("colorbar", arg, colorbar) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("gradient", arg, gradient) self._set_property("line", arg, line) self._set_property("maxdisplayed", arg, maxdisplayed) self._set_property("opacity", arg, opacity) - self._set_property("opacitysrc", arg, opacitysrc) self._set_property("reversescale", arg, reversescale) self._set_property("showscale", arg, showscale) self._set_property("size", arg, size) self._set_property("sizemin", arg, sizemin) self._set_property("sizemode", arg, sizemode) self._set_property("sizeref", arg, sizeref) - self._set_property("sizesrc", arg, sizesrc) self._set_property("standoff", arg, standoff) - self._set_property("standoffsrc", arg, standoffsrc) self._set_property("symbol", arg, symbol) - self._set_property("symbolsrc", arg, symbolsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatterpolar/_stream.py b/plotly/graph_objs/scatterpolar/_stream.py deleted file mode 100644 index 094bc94d926..00000000000 --- a/plotly/graph_objs/scatterpolar/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "scatterpolar" - _path_str = "scatterpolar.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.scatterpolar.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.scatterpolar.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.scatterpolar.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/scatterpolar/_textfont.py b/plotly/graph_objs/scatterpolar/_textfont.py index 5661944187b..b06ae8287e2 100644 --- a/plotly/graph_objs/scatterpolar/_textfont.py +++ b/plotly/graph_objs/scatterpolar/_textfont.py @@ -10,23 +10,14 @@ class Textfont(_BaseTraceHierarchyType): _path_str = "scatterpolar.textfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.scatterpolar.Textfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatterpolar/hoverlabel/_font.py b/plotly/graph_objs/scatterpolar/hoverlabel/_font.py index 843c3f6e6f5..8b0db1970b4 100644 --- a/plotly/graph_objs/scatterpolar/hoverlabel/_font.py +++ b/plotly/graph_objs/scatterpolar/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "scatterpolar.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.scatterpolar.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatterpolar/marker/_colorbar.py b/plotly/graph_objs/scatterpolar/marker/_colorbar.py index 44366c981d4..50a08c0dedb 100644 --- a/plotly/graph_objs/scatterpolar/marker/_colorbar.py +++ b/plotly/graph_objs/scatterpolar/marker/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/scatterpolar/marker/_gradient.py b/plotly/graph_objs/scatterpolar/marker/_gradient.py index 2688228cfbd..2da0df097ae 100644 --- a/plotly/graph_objs/scatterpolar/marker/_gradient.py +++ b/plotly/graph_objs/scatterpolar/marker/_gradient.py @@ -8,7 +8,7 @@ class Gradient(_BaseTraceHierarchyType): _parent_path_str = "scatterpolar.marker" _path_str = "scatterpolar.marker.gradient" - _valid_props = {"color", "colorsrc", "type", "typesrc"} + _valid_props = {"color", "type"} @property def color(self): @@ -34,24 +34,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def type(self): """ @@ -72,24 +54,6 @@ def type(self): def type(self, val): self["type"] = val - @property - def typesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `type`. - - The 'typesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["typesrc"] - - @typesrc.setter - def typesrc(self, val): - self["typesrc"] = val - @property def _prop_descriptions(self): return """\ @@ -97,19 +61,11 @@ def _prop_descriptions(self): Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. type Sets the type of gradient used to fill the markers - typesrc - Sets the source reference on Chart Studio Cloud for - `type`. """ - def __init__( - self, arg=None, color=None, colorsrc=None, type=None, typesrc=None, **kwargs - ): + def __init__(self, arg=None, color=None, type=None, **kwargs): """ Construct a new Gradient object @@ -123,14 +79,8 @@ def __init__( Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. type Sets the type of gradient used to fill the markers - typesrc - Sets the source reference on Chart Studio Cloud for - `type`. Returns ------- @@ -157,8 +107,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("type", arg, type) - self._set_property("typesrc", arg, typesrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatterpolar/marker/_line.py b/plotly/graph_objs/scatterpolar/marker/_line.py index 5ec32d0b765..b0df5fa7e62 100644 --- a/plotly/graph_objs/scatterpolar/marker/_line.py +++ b/plotly/graph_objs/scatterpolar/marker/_line.py @@ -17,12 +17,9 @@ class Line(_BaseTraceHierarchyType): "color", "coloraxis", "colorscale", - "colorsrc", "dash", - "dashsrc", "reversescale", "width", - "widthsrc", } @property @@ -196,7 +193,7 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value - to an rgb, rgba, hex, hsl, hsv, or named color string. At + to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in @@ -243,24 +240,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def dash(self): """ @@ -285,24 +264,6 @@ def dash(self): def dash(self, val): self["dash"] = val - @property - def dashsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `dash`. - - The 'dashsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["dashsrc"] - - @dashsrc.setter - def dashsrc(self, val): - self["dashsrc"] = val - @property def reversescale(self): """ @@ -344,24 +305,6 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def _prop_descriptions(self): return """\ @@ -418,8 +361,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -428,17 +371,11 @@ def _prop_descriptions(self): string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. dash Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px"). - dashsrc - Sets the source reference on Chart Studio Cloud for - `dash`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -448,9 +385,6 @@ def _prop_descriptions(self): width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. """ def __init__( @@ -464,12 +398,9 @@ def __init__( color=None, coloraxis=None, colorscale=None, - colorsrc=None, dash=None, - dashsrc=None, reversescale=None, width=None, - widthsrc=None, **kwargs, ): """ @@ -534,8 +465,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -544,17 +475,11 @@ def __init__( string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. dash Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px"). - dashsrc - Sets the source reference on Chart Studio Cloud for - `dash`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -564,9 +489,6 @@ def __init__( width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. Returns ------- @@ -600,11 +522,8 @@ def __init__( self._set_property("color", arg, color) self._set_property("coloraxis", arg, coloraxis) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("dash", arg, dash) - self._set_property("dashsrc", arg, dashsrc) self._set_property("reversescale", arg, reversescale) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatterpolar/marker/colorbar/_title.py b/plotly/graph_objs/scatterpolar/marker/colorbar/_title.py index 84d013239a6..b7fbf7c5221 100644 --- a/plotly/graph_objs/scatterpolar/marker/colorbar/_title.py +++ b/plotly/graph_objs/scatterpolar/marker/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/scatterpolargl/__init__.py b/plotly/graph_objs/scatterpolargl/__init__.py index 55ee707f4ed..e1e03ecab6a 100644 --- a/plotly/graph_objs/scatterpolargl/__init__.py +++ b/plotly/graph_objs/scatterpolargl/__init__.py @@ -7,7 +7,6 @@ from ._line import Line from ._marker import Marker from ._selected import Selected - from ._stream import Stream from ._textfont import Textfont from ._unselected import Unselected from . import hoverlabel @@ -27,7 +26,6 @@ "._line.Line", "._marker.Marker", "._selected.Selected", - "._stream.Stream", "._textfont.Textfont", "._unselected.Unselected", ], diff --git a/plotly/graph_objs/scatterpolargl/_hoverlabel.py b/plotly/graph_objs/scatterpolargl/_hoverlabel.py index 6a9ceae3c1e..b5815964f41 100644 --- a/plotly/graph_objs/scatterpolargl/_hoverlabel.py +++ b/plotly/graph_objs/scatterpolargl/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "scatterpolargl.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatterpolargl/_marker.py b/plotly/graph_objs/scatterpolargl/_marker.py index 58de2f153f8..712d2c06f6f 100644 --- a/plotly/graph_objs/scatterpolargl/_marker.py +++ b/plotly/graph_objs/scatterpolargl/_marker.py @@ -10,7 +10,6 @@ class Marker(_BaseTraceHierarchyType): _path_str = "scatterpolargl.marker" _valid_props = { "angle", - "anglesrc", "autocolorscale", "cauto", "cmax", @@ -20,19 +19,15 @@ class Marker(_BaseTraceHierarchyType): "coloraxis", "colorbar", "colorscale", - "colorsrc", "line", "opacity", - "opacitysrc", "reversescale", "showscale", "size", "sizemin", "sizemode", "sizeref", - "sizesrc", "symbol", - "symbolsrc", } @property @@ -55,24 +50,6 @@ def angle(self): def angle(self, val): self["angle"] = val - @property - def anglesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `angle`. - - The 'anglesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["anglesrc"] - - @anglesrc.setter - def anglesrc(self, val): - self["anglesrc"] = val - @property def autocolorscale(self): """ @@ -262,9 +239,9 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, - hex, hsl, hsv, or named color string. At minimum, a mapping for - the lowest (0) and highest (1) values are required. For - example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To + hex, hsl, hsla, hwb, or named color string. At minimum, a + mapping for the lowest (0) and highest (1) values are required. + For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,B @@ -308,24 +285,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def line(self): """ @@ -364,24 +323,6 @@ def opacity(self): def opacity(self, val): self["opacity"] = val - @property - def opacitysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `opacity`. - - The 'opacitysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["opacitysrc"] - - @opacitysrc.setter - def opacitysrc(self, val): - self["opacitysrc"] = val - @property def reversescale(self): """ @@ -503,24 +444,6 @@ def sizeref(self): def sizeref(self, val): self["sizeref"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def symbol(self): """ @@ -632,32 +555,11 @@ def symbol(self): def symbol(self, val): self["symbol"] = val - @property - def symbolsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `symbol`. - - The 'symbolsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["symbolsrc"] - - @symbolsrc.setter - def symbolsrc(self, val): - self["symbolsrc"] = val - @property def _prop_descriptions(self): return """\ angle Sets the marker angle in respect to `angleref`. - anglesrc - Sets the source reference on Chart Studio Cloud for - `angle`. autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -711,8 +613,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -721,17 +623,11 @@ def _prop_descriptions(self): following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. line :class:`plotly.graph_objects.scatterpolargl.marker.Line ` instance or dict with compatible properties opacity Sets the marker opacity. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If @@ -757,25 +653,18 @@ def _prop_descriptions(self): numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. symbol Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot- open" to a symbol name. - symbolsrc - Sets the source reference on Chart Studio Cloud for - `symbol`. """ def __init__( self, arg=None, angle=None, - anglesrc=None, autocolorscale=None, cauto=None, cmax=None, @@ -785,19 +674,15 @@ def __init__( coloraxis=None, colorbar=None, colorscale=None, - colorsrc=None, line=None, opacity=None, - opacitysrc=None, reversescale=None, showscale=None, size=None, sizemin=None, sizemode=None, sizeref=None, - sizesrc=None, symbol=None, - symbolsrc=None, **kwargs, ): """ @@ -811,9 +696,6 @@ def __init__( :class:`plotly.graph_objs.scatterpolargl.Marker` angle Sets the marker angle in respect to `angleref`. - anglesrc - Sets the source reference on Chart Studio Cloud for - `angle`. autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -867,8 +749,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -877,17 +759,11 @@ def __init__( following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. line :class:`plotly.graph_objects.scatterpolargl.marker.Line ` instance or dict with compatible properties opacity Sets the marker opacity. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If @@ -913,18 +789,12 @@ def __init__( numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. symbol Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot- open" to a symbol name. - symbolsrc - Sets the source reference on Chart Studio Cloud for - `symbol`. Returns ------- @@ -951,7 +821,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("angle", arg, angle) - self._set_property("anglesrc", arg, anglesrc) self._set_property("autocolorscale", arg, autocolorscale) self._set_property("cauto", arg, cauto) self._set_property("cmax", arg, cmax) @@ -961,18 +830,14 @@ def __init__( self._set_property("coloraxis", arg, coloraxis) self._set_property("colorbar", arg, colorbar) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("line", arg, line) self._set_property("opacity", arg, opacity) - self._set_property("opacitysrc", arg, opacitysrc) self._set_property("reversescale", arg, reversescale) self._set_property("showscale", arg, showscale) self._set_property("size", arg, size) self._set_property("sizemin", arg, sizemin) self._set_property("sizemode", arg, sizemode) self._set_property("sizeref", arg, sizeref) - self._set_property("sizesrc", arg, sizesrc) self._set_property("symbol", arg, symbol) - self._set_property("symbolsrc", arg, symbolsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatterpolargl/_stream.py b/plotly/graph_objs/scatterpolargl/_stream.py deleted file mode 100644 index 8b011988053..00000000000 --- a/plotly/graph_objs/scatterpolargl/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "scatterpolargl" - _path_str = "scatterpolargl.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.scatterpolargl.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.scatterpolargl.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.scatterpolargl.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/scatterpolargl/_textfont.py b/plotly/graph_objs/scatterpolargl/_textfont.py index 93fd42e137d..9b4f28aff3c 100644 --- a/plotly/graph_objs/scatterpolargl/_textfont.py +++ b/plotly/graph_objs/scatterpolargl/_textfont.py @@ -8,20 +8,7 @@ class Textfont(_BaseTraceHierarchyType): _parent_path_str = "scatterpolargl" _path_str = "scatterpolargl.textfont" - _valid_props = { - "color", - "colorsrc", - "family", - "familysrc", - "size", - "sizesrc", - "style", - "stylesrc", - "variant", - "variantsrc", - "weight", - "weightsrc", - } + _valid_props = {"color", "family", "size", "style", "variant", "weight"} @property def color(self): @@ -44,24 +31,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -85,24 +54,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def size(self): """ @@ -120,24 +71,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -159,24 +92,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def variant(self): """ @@ -197,24 +112,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -235,32 +132,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -268,47 +144,26 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -324,9 +179,6 @@ def __init__( :class:`plotly.graph_objs.scatterpolargl.Textfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -334,30 +186,15 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -384,16 +221,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatterpolargl/hoverlabel/_font.py b/plotly/graph_objs/scatterpolargl/hoverlabel/_font.py index 800008a9d89..003cec8b927 100644 --- a/plotly/graph_objs/scatterpolargl/hoverlabel/_font.py +++ b/plotly/graph_objs/scatterpolargl/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "scatterpolargl.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( .hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatterpolargl/marker/_colorbar.py b/plotly/graph_objs/scatterpolargl/marker/_colorbar.py index 0132c9ab402..d8fa1335e34 100644 --- a/plotly/graph_objs/scatterpolargl/marker/_colorbar.py +++ b/plotly/graph_objs/scatterpolargl/marker/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/scatterpolargl/marker/_line.py b/plotly/graph_objs/scatterpolargl/marker/_line.py index c0c4da09fa8..b2dc6e8eef3 100644 --- a/plotly/graph_objs/scatterpolargl/marker/_line.py +++ b/plotly/graph_objs/scatterpolargl/marker/_line.py @@ -17,10 +17,8 @@ class Line(_BaseTraceHierarchyType): "color", "coloraxis", "colorscale", - "colorsrc", "reversescale", "width", - "widthsrc", } @property @@ -194,7 +192,7 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value - to an rgb, rgba, hex, hsl, hsv, or named color string. At + to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in @@ -241,24 +239,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def reversescale(self): """ @@ -300,24 +280,6 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def _prop_descriptions(self): return """\ @@ -374,8 +336,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -384,9 +346,6 @@ def _prop_descriptions(self): string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -396,9 +355,6 @@ def _prop_descriptions(self): width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. """ def __init__( @@ -412,10 +368,8 @@ def __init__( color=None, coloraxis=None, colorscale=None, - colorsrc=None, reversescale=None, width=None, - widthsrc=None, **kwargs, ): """ @@ -480,8 +434,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -490,9 +444,6 @@ def __init__( string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -502,9 +453,6 @@ def __init__( width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. Returns ------- @@ -538,9 +486,7 @@ def __init__( self._set_property("color", arg, color) self._set_property("coloraxis", arg, coloraxis) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("reversescale", arg, reversescale) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatterpolargl/marker/colorbar/_title.py b/plotly/graph_objs/scatterpolargl/marker/colorbar/_title.py index 808e58bfcc3..20fd71ea3c0 100644 --- a/plotly/graph_objs/scatterpolargl/marker/colorbar/_title.py +++ b/plotly/graph_objs/scatterpolargl/marker/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/scattersmith/__init__.py b/plotly/graph_objs/scattersmith/__init__.py index 55ee707f4ed..e1e03ecab6a 100644 --- a/plotly/graph_objs/scattersmith/__init__.py +++ b/plotly/graph_objs/scattersmith/__init__.py @@ -7,7 +7,6 @@ from ._line import Line from ._marker import Marker from ._selected import Selected - from ._stream import Stream from ._textfont import Textfont from ._unselected import Unselected from . import hoverlabel @@ -27,7 +26,6 @@ "._line.Line", "._marker.Marker", "._selected.Selected", - "._stream.Stream", "._textfont.Textfont", "._unselected.Unselected", ], diff --git a/plotly/graph_objs/scattersmith/_hoverlabel.py b/plotly/graph_objs/scattersmith/_hoverlabel.py index 20a67ec768d..a3356cab0d6 100644 --- a/plotly/graph_objs/scattersmith/_hoverlabel.py +++ b/plotly/graph_objs/scattersmith/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "scattersmith.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattersmith/_line.py b/plotly/graph_objs/scattersmith/_line.py index 4c7aa71bf6f..1274a637d29 100644 --- a/plotly/graph_objs/scattersmith/_line.py +++ b/plotly/graph_objs/scattersmith/_line.py @@ -8,15 +8,7 @@ class Line(_BaseTraceHierarchyType): _parent_path_str = "scattersmith" _path_str = "scattersmith.line" - _valid_props = { - "backoff", - "backoffsrc", - "color", - "dash", - "shape", - "smoothing", - "width", - } + _valid_props = {"backoff", "color", "dash", "shape", "smoothing", "width"} @property def backoff(self): @@ -40,24 +32,6 @@ def backoff(self): def backoff(self, val): self["backoff"] = val - @property - def backoffsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `backoff`. - - The 'backoffsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["backoffsrc"] - - @backoffsrc.setter - def backoffsrc(self, val): - self["backoffsrc"] = val - @property def color(self): """ @@ -172,9 +146,6 @@ def _prop_descriptions(self): avoid overlap with arrowhead markers. With "auto" the lines would trim before markers if `marker.angleref` is set to "previous". - backoffsrc - Sets the source reference on Chart Studio Cloud for - `backoff`. color Sets the line color. dash @@ -198,7 +169,6 @@ def __init__( self, arg=None, backoff=None, - backoffsrc=None, color=None, dash=None, shape=None, @@ -221,9 +191,6 @@ def __init__( avoid overlap with arrowhead markers. With "auto" the lines would trim before markers if `marker.angleref` is set to "previous". - backoffsrc - Sets the source reference on Chart Studio Cloud for - `backoff`. color Sets the line color. dash @@ -267,7 +234,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("backoff", arg, backoff) - self._set_property("backoffsrc", arg, backoffsrc) self._set_property("color", arg, color) self._set_property("dash", arg, dash) self._set_property("shape", arg, shape) diff --git a/plotly/graph_objs/scattersmith/_marker.py b/plotly/graph_objs/scattersmith/_marker.py index d9da69cac13..636d6ba44bf 100644 --- a/plotly/graph_objs/scattersmith/_marker.py +++ b/plotly/graph_objs/scattersmith/_marker.py @@ -11,7 +11,6 @@ class Marker(_BaseTraceHierarchyType): _valid_props = { "angle", "angleref", - "anglesrc", "autocolorscale", "cauto", "cmax", @@ -21,23 +20,18 @@ class Marker(_BaseTraceHierarchyType): "coloraxis", "colorbar", "colorscale", - "colorsrc", "gradient", "line", "maxdisplayed", "opacity", - "opacitysrc", "reversescale", "showscale", "size", "sizemin", "sizemode", "sizeref", - "sizesrc", "standoff", - "standoffsrc", "symbol", - "symbolsrc", } @property @@ -81,24 +75,6 @@ def angleref(self): def angleref(self, val): self["angleref"] = val - @property - def anglesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `angle`. - - The 'anglesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["anglesrc"] - - @anglesrc.setter - def anglesrc(self, val): - self["anglesrc"] = val - @property def autocolorscale(self): """ @@ -288,9 +264,9 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, - hex, hsl, hsv, or named color string. At minimum, a mapping for - the lowest (0) and highest (1) values are required. For - example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To + hex, hsl, hsla, hwb, or named color string. At minimum, a + mapping for the lowest (0) and highest (1) values are required. + For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,B @@ -334,24 +310,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def gradient(self): """ @@ -428,24 +386,6 @@ def opacity(self): def opacity(self, val): self["opacity"] = val - @property - def opacitysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `opacity`. - - The 'opacitysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["opacitysrc"] - - @opacitysrc.setter - def opacitysrc(self, val): - self["opacitysrc"] = val - @property def reversescale(self): """ @@ -567,24 +507,6 @@ def sizeref(self): def sizeref(self, val): self["sizeref"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def standoff(self): """ @@ -607,24 +529,6 @@ def standoff(self): def standoff(self, val): self["standoff"] = val - @property - def standoffsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `standoff`. - - The 'standoffsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["standoffsrc"] - - @standoffsrc.setter - def standoffsrc(self, val): - self["standoffsrc"] = val - @property def symbol(self): """ @@ -736,24 +640,6 @@ def symbol(self): def symbol(self, val): self["symbol"] = val - @property - def symbolsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `symbol`. - - The 'symbolsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["symbolsrc"] - - @symbolsrc.setter - def symbolsrc(self, val): - self["symbolsrc"] = val - @property def _prop_descriptions(self): return """\ @@ -764,9 +650,6 @@ def _prop_descriptions(self): angle 0 points along the line from the previous point to this one. With "up", angle 0 points toward the top of the screen. - anglesrc - Sets the source reference on Chart Studio Cloud for - `angle`. autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -820,8 +703,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -830,9 +713,6 @@ def _prop_descriptions(self): following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. gradient :class:`plotly.graph_objects.scattersmith.marker.Gradie nt` instance or dict with compatible properties @@ -844,9 +724,6 @@ def _prop_descriptions(self): graph. 0 corresponds to no limit. opacity Sets the marker opacity. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If @@ -872,26 +749,17 @@ def _prop_descriptions(self): numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. standoff Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it. - standoffsrc - Sets the source reference on Chart Studio Cloud for - `standoff`. symbol Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot- open" to a symbol name. - symbolsrc - Sets the source reference on Chart Studio Cloud for - `symbol`. """ def __init__( @@ -899,7 +767,6 @@ def __init__( arg=None, angle=None, angleref=None, - anglesrc=None, autocolorscale=None, cauto=None, cmax=None, @@ -909,23 +776,18 @@ def __init__( coloraxis=None, colorbar=None, colorscale=None, - colorsrc=None, gradient=None, line=None, maxdisplayed=None, opacity=None, - opacitysrc=None, reversescale=None, showscale=None, size=None, sizemin=None, sizemode=None, sizeref=None, - sizesrc=None, standoff=None, - standoffsrc=None, symbol=None, - symbolsrc=None, **kwargs, ): """ @@ -944,9 +806,6 @@ def __init__( angle 0 points along the line from the previous point to this one. With "up", angle 0 points toward the top of the screen. - anglesrc - Sets the source reference on Chart Studio Cloud for - `angle`. autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -1000,8 +859,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -1010,9 +869,6 @@ def __init__( following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. gradient :class:`plotly.graph_objects.scattersmith.marker.Gradie nt` instance or dict with compatible properties @@ -1024,9 +880,6 @@ def __init__( graph. 0 corresponds to no limit. opacity Sets the marker opacity. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If @@ -1052,26 +905,17 @@ def __init__( numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. standoff Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it. - standoffsrc - Sets the source reference on Chart Studio Cloud for - `standoff`. symbol Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot- open" to a symbol name. - symbolsrc - Sets the source reference on Chart Studio Cloud for - `symbol`. Returns ------- @@ -1099,7 +943,6 @@ def __init__( self._set_property("angle", arg, angle) self._set_property("angleref", arg, angleref) - self._set_property("anglesrc", arg, anglesrc) self._set_property("autocolorscale", arg, autocolorscale) self._set_property("cauto", arg, cauto) self._set_property("cmax", arg, cmax) @@ -1109,22 +952,17 @@ def __init__( self._set_property("coloraxis", arg, coloraxis) self._set_property("colorbar", arg, colorbar) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("gradient", arg, gradient) self._set_property("line", arg, line) self._set_property("maxdisplayed", arg, maxdisplayed) self._set_property("opacity", arg, opacity) - self._set_property("opacitysrc", arg, opacitysrc) self._set_property("reversescale", arg, reversescale) self._set_property("showscale", arg, showscale) self._set_property("size", arg, size) self._set_property("sizemin", arg, sizemin) self._set_property("sizemode", arg, sizemode) self._set_property("sizeref", arg, sizeref) - self._set_property("sizesrc", arg, sizesrc) self._set_property("standoff", arg, standoff) - self._set_property("standoffsrc", arg, standoffsrc) self._set_property("symbol", arg, symbol) - self._set_property("symbolsrc", arg, symbolsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattersmith/_stream.py b/plotly/graph_objs/scattersmith/_stream.py deleted file mode 100644 index 184e762945e..00000000000 --- a/plotly/graph_objs/scattersmith/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "scattersmith" - _path_str = "scattersmith.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.scattersmith.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.scattersmith.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.scattersmith.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/scattersmith/_textfont.py b/plotly/graph_objs/scattersmith/_textfont.py index 24cf86f5883..d1029680ec9 100644 --- a/plotly/graph_objs/scattersmith/_textfont.py +++ b/plotly/graph_objs/scattersmith/_textfont.py @@ -10,23 +10,14 @@ class Textfont(_BaseTraceHierarchyType): _path_str = "scattersmith.textfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.scattersmith.Textfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattersmith/hoverlabel/_font.py b/plotly/graph_objs/scattersmith/hoverlabel/_font.py index 82074b1face..a4c0cefa9d0 100644 --- a/plotly/graph_objs/scattersmith/hoverlabel/_font.py +++ b/plotly/graph_objs/scattersmith/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "scattersmith.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.scattersmith.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattersmith/marker/_colorbar.py b/plotly/graph_objs/scattersmith/marker/_colorbar.py index 8a95dfe4a89..44d338c8dd6 100644 --- a/plotly/graph_objs/scattersmith/marker/_colorbar.py +++ b/plotly/graph_objs/scattersmith/marker/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/scattersmith/marker/_gradient.py b/plotly/graph_objs/scattersmith/marker/_gradient.py index 32e158b365b..71f819dc5d1 100644 --- a/plotly/graph_objs/scattersmith/marker/_gradient.py +++ b/plotly/graph_objs/scattersmith/marker/_gradient.py @@ -8,7 +8,7 @@ class Gradient(_BaseTraceHierarchyType): _parent_path_str = "scattersmith.marker" _path_str = "scattersmith.marker.gradient" - _valid_props = {"color", "colorsrc", "type", "typesrc"} + _valid_props = {"color", "type"} @property def color(self): @@ -34,24 +34,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def type(self): """ @@ -72,24 +54,6 @@ def type(self): def type(self, val): self["type"] = val - @property - def typesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `type`. - - The 'typesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["typesrc"] - - @typesrc.setter - def typesrc(self, val): - self["typesrc"] = val - @property def _prop_descriptions(self): return """\ @@ -97,19 +61,11 @@ def _prop_descriptions(self): Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. type Sets the type of gradient used to fill the markers - typesrc - Sets the source reference on Chart Studio Cloud for - `type`. """ - def __init__( - self, arg=None, color=None, colorsrc=None, type=None, typesrc=None, **kwargs - ): + def __init__(self, arg=None, color=None, type=None, **kwargs): """ Construct a new Gradient object @@ -123,14 +79,8 @@ def __init__( Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. type Sets the type of gradient used to fill the markers - typesrc - Sets the source reference on Chart Studio Cloud for - `type`. Returns ------- @@ -157,8 +107,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("type", arg, type) - self._set_property("typesrc", arg, typesrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattersmith/marker/_line.py b/plotly/graph_objs/scattersmith/marker/_line.py index 3766a954f2a..bf78022166d 100644 --- a/plotly/graph_objs/scattersmith/marker/_line.py +++ b/plotly/graph_objs/scattersmith/marker/_line.py @@ -17,12 +17,9 @@ class Line(_BaseTraceHierarchyType): "color", "coloraxis", "colorscale", - "colorsrc", "dash", - "dashsrc", "reversescale", "width", - "widthsrc", } @property @@ -196,7 +193,7 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value - to an rgb, rgba, hex, hsl, hsv, or named color string. At + to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in @@ -243,24 +240,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def dash(self): """ @@ -285,24 +264,6 @@ def dash(self): def dash(self, val): self["dash"] = val - @property - def dashsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `dash`. - - The 'dashsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["dashsrc"] - - @dashsrc.setter - def dashsrc(self, val): - self["dashsrc"] = val - @property def reversescale(self): """ @@ -344,24 +305,6 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def _prop_descriptions(self): return """\ @@ -418,8 +361,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -428,17 +371,11 @@ def _prop_descriptions(self): string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. dash Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px"). - dashsrc - Sets the source reference on Chart Studio Cloud for - `dash`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -448,9 +385,6 @@ def _prop_descriptions(self): width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. """ def __init__( @@ -464,12 +398,9 @@ def __init__( color=None, coloraxis=None, colorscale=None, - colorsrc=None, dash=None, - dashsrc=None, reversescale=None, width=None, - widthsrc=None, **kwargs, ): """ @@ -534,8 +465,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -544,17 +475,11 @@ def __init__( string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. dash Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px"). - dashsrc - Sets the source reference on Chart Studio Cloud for - `dash`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -564,9 +489,6 @@ def __init__( width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. Returns ------- @@ -600,11 +522,8 @@ def __init__( self._set_property("color", arg, color) self._set_property("coloraxis", arg, coloraxis) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("dash", arg, dash) - self._set_property("dashsrc", arg, dashsrc) self._set_property("reversescale", arg, reversescale) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scattersmith/marker/colorbar/_title.py b/plotly/graph_objs/scattersmith/marker/colorbar/_title.py index 61f1a365aa9..a3248a7c26f 100644 --- a/plotly/graph_objs/scattersmith/marker/colorbar/_title.py +++ b/plotly/graph_objs/scattersmith/marker/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/scatterternary/__init__.py b/plotly/graph_objs/scatterternary/__init__.py index 55ee707f4ed..e1e03ecab6a 100644 --- a/plotly/graph_objs/scatterternary/__init__.py +++ b/plotly/graph_objs/scatterternary/__init__.py @@ -7,7 +7,6 @@ from ._line import Line from ._marker import Marker from ._selected import Selected - from ._stream import Stream from ._textfont import Textfont from ._unselected import Unselected from . import hoverlabel @@ -27,7 +26,6 @@ "._line.Line", "._marker.Marker", "._selected.Selected", - "._stream.Stream", "._textfont.Textfont", "._unselected.Unselected", ], diff --git a/plotly/graph_objs/scatterternary/_hoverlabel.py b/plotly/graph_objs/scatterternary/_hoverlabel.py index c361c5b3d3b..d31222227ed 100644 --- a/plotly/graph_objs/scatterternary/_hoverlabel.py +++ b/plotly/graph_objs/scatterternary/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "scatterternary.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatterternary/_line.py b/plotly/graph_objs/scatterternary/_line.py index 015e0971125..732c554d290 100644 --- a/plotly/graph_objs/scatterternary/_line.py +++ b/plotly/graph_objs/scatterternary/_line.py @@ -8,15 +8,7 @@ class Line(_BaseTraceHierarchyType): _parent_path_str = "scatterternary" _path_str = "scatterternary.line" - _valid_props = { - "backoff", - "backoffsrc", - "color", - "dash", - "shape", - "smoothing", - "width", - } + _valid_props = {"backoff", "color", "dash", "shape", "smoothing", "width"} @property def backoff(self): @@ -40,24 +32,6 @@ def backoff(self): def backoff(self, val): self["backoff"] = val - @property - def backoffsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `backoff`. - - The 'backoffsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["backoffsrc"] - - @backoffsrc.setter - def backoffsrc(self, val): - self["backoffsrc"] = val - @property def color(self): """ @@ -172,9 +146,6 @@ def _prop_descriptions(self): avoid overlap with arrowhead markers. With "auto" the lines would trim before markers if `marker.angleref` is set to "previous". - backoffsrc - Sets the source reference on Chart Studio Cloud for - `backoff`. color Sets the line color. dash @@ -198,7 +169,6 @@ def __init__( self, arg=None, backoff=None, - backoffsrc=None, color=None, dash=None, shape=None, @@ -221,9 +191,6 @@ def __init__( avoid overlap with arrowhead markers. With "auto" the lines would trim before markers if `marker.angleref` is set to "previous". - backoffsrc - Sets the source reference on Chart Studio Cloud for - `backoff`. color Sets the line color. dash @@ -267,7 +234,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("backoff", arg, backoff) - self._set_property("backoffsrc", arg, backoffsrc) self._set_property("color", arg, color) self._set_property("dash", arg, dash) self._set_property("shape", arg, shape) diff --git a/plotly/graph_objs/scatterternary/_marker.py b/plotly/graph_objs/scatterternary/_marker.py index e6f4844c4f7..a08179c2d27 100644 --- a/plotly/graph_objs/scatterternary/_marker.py +++ b/plotly/graph_objs/scatterternary/_marker.py @@ -11,7 +11,6 @@ class Marker(_BaseTraceHierarchyType): _valid_props = { "angle", "angleref", - "anglesrc", "autocolorscale", "cauto", "cmax", @@ -21,23 +20,18 @@ class Marker(_BaseTraceHierarchyType): "coloraxis", "colorbar", "colorscale", - "colorsrc", "gradient", "line", "maxdisplayed", "opacity", - "opacitysrc", "reversescale", "showscale", "size", "sizemin", "sizemode", "sizeref", - "sizesrc", "standoff", - "standoffsrc", "symbol", - "symbolsrc", } @property @@ -81,24 +75,6 @@ def angleref(self): def angleref(self, val): self["angleref"] = val - @property - def anglesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `angle`. - - The 'anglesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["anglesrc"] - - @anglesrc.setter - def anglesrc(self, val): - self["anglesrc"] = val - @property def autocolorscale(self): """ @@ -288,9 +264,9 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, - hex, hsl, hsv, or named color string. At minimum, a mapping for - the lowest (0) and highest (1) values are required. For - example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To + hex, hsl, hsla, hwb, or named color string. At minimum, a + mapping for the lowest (0) and highest (1) values are required. + For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,B @@ -334,24 +310,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def gradient(self): """ @@ -428,24 +386,6 @@ def opacity(self): def opacity(self, val): self["opacity"] = val - @property - def opacitysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `opacity`. - - The 'opacitysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["opacitysrc"] - - @opacitysrc.setter - def opacitysrc(self, val): - self["opacitysrc"] = val - @property def reversescale(self): """ @@ -567,24 +507,6 @@ def sizeref(self): def sizeref(self, val): self["sizeref"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def standoff(self): """ @@ -607,24 +529,6 @@ def standoff(self): def standoff(self, val): self["standoff"] = val - @property - def standoffsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `standoff`. - - The 'standoffsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["standoffsrc"] - - @standoffsrc.setter - def standoffsrc(self, val): - self["standoffsrc"] = val - @property def symbol(self): """ @@ -736,24 +640,6 @@ def symbol(self): def symbol(self, val): self["symbol"] = val - @property - def symbolsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `symbol`. - - The 'symbolsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["symbolsrc"] - - @symbolsrc.setter - def symbolsrc(self, val): - self["symbolsrc"] = val - @property def _prop_descriptions(self): return """\ @@ -764,9 +650,6 @@ def _prop_descriptions(self): angle 0 points along the line from the previous point to this one. With "up", angle 0 points toward the top of the screen. - anglesrc - Sets the source reference on Chart Studio Cloud for - `angle`. autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -820,8 +703,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -830,9 +713,6 @@ def _prop_descriptions(self): following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. gradient :class:`plotly.graph_objects.scatterternary.marker.Grad ient` instance or dict with compatible properties @@ -844,9 +724,6 @@ def _prop_descriptions(self): graph. 0 corresponds to no limit. opacity Sets the marker opacity. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If @@ -872,26 +749,17 @@ def _prop_descriptions(self): numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. standoff Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it. - standoffsrc - Sets the source reference on Chart Studio Cloud for - `standoff`. symbol Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot- open" to a symbol name. - symbolsrc - Sets the source reference on Chart Studio Cloud for - `symbol`. """ def __init__( @@ -899,7 +767,6 @@ def __init__( arg=None, angle=None, angleref=None, - anglesrc=None, autocolorscale=None, cauto=None, cmax=None, @@ -909,23 +776,18 @@ def __init__( coloraxis=None, colorbar=None, colorscale=None, - colorsrc=None, gradient=None, line=None, maxdisplayed=None, opacity=None, - opacitysrc=None, reversescale=None, showscale=None, size=None, sizemin=None, sizemode=None, sizeref=None, - sizesrc=None, standoff=None, - standoffsrc=None, symbol=None, - symbolsrc=None, **kwargs, ): """ @@ -944,9 +806,6 @@ def __init__( angle 0 points along the line from the previous point to this one. With "up", angle 0 points toward the top of the screen. - anglesrc - Sets the source reference on Chart Studio Cloud for - `angle`. autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -1000,8 +859,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -1010,9 +869,6 @@ def __init__( following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. gradient :class:`plotly.graph_objects.scatterternary.marker.Grad ient` instance or dict with compatible properties @@ -1024,9 +880,6 @@ def __init__( graph. 0 corresponds to no limit. opacity Sets the marker opacity. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If @@ -1052,26 +905,17 @@ def __init__( numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. standoff Moves the marker away from the data point in the direction of `angle` (in px). This can be useful for example if you have another marker at this location and you want to point an arrowhead marker at it. - standoffsrc - Sets the source reference on Chart Studio Cloud for - `standoff`. symbol Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot- open" to a symbol name. - symbolsrc - Sets the source reference on Chart Studio Cloud for - `symbol`. Returns ------- @@ -1099,7 +943,6 @@ def __init__( self._set_property("angle", arg, angle) self._set_property("angleref", arg, angleref) - self._set_property("anglesrc", arg, anglesrc) self._set_property("autocolorscale", arg, autocolorscale) self._set_property("cauto", arg, cauto) self._set_property("cmax", arg, cmax) @@ -1109,22 +952,17 @@ def __init__( self._set_property("coloraxis", arg, coloraxis) self._set_property("colorbar", arg, colorbar) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("gradient", arg, gradient) self._set_property("line", arg, line) self._set_property("maxdisplayed", arg, maxdisplayed) self._set_property("opacity", arg, opacity) - self._set_property("opacitysrc", arg, opacitysrc) self._set_property("reversescale", arg, reversescale) self._set_property("showscale", arg, showscale) self._set_property("size", arg, size) self._set_property("sizemin", arg, sizemin) self._set_property("sizemode", arg, sizemode) self._set_property("sizeref", arg, sizeref) - self._set_property("sizesrc", arg, sizesrc) self._set_property("standoff", arg, standoff) - self._set_property("standoffsrc", arg, standoffsrc) self._set_property("symbol", arg, symbol) - self._set_property("symbolsrc", arg, symbolsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatterternary/_stream.py b/plotly/graph_objs/scatterternary/_stream.py deleted file mode 100644 index 54c0e1e0135..00000000000 --- a/plotly/graph_objs/scatterternary/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "scatterternary" - _path_str = "scatterternary.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.scatterternary.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.scatterternary.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.scatterternary.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/scatterternary/_textfont.py b/plotly/graph_objs/scatterternary/_textfont.py index 9ea28bb1584..94fb8fd45b2 100644 --- a/plotly/graph_objs/scatterternary/_textfont.py +++ b/plotly/graph_objs/scatterternary/_textfont.py @@ -10,23 +10,14 @@ class Textfont(_BaseTraceHierarchyType): _path_str = "scatterternary.textfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.scatterternary.Textfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatterternary/hoverlabel/_font.py b/plotly/graph_objs/scatterternary/hoverlabel/_font.py index bec5931f24b..aeb78258182 100644 --- a/plotly/graph_objs/scatterternary/hoverlabel/_font.py +++ b/plotly/graph_objs/scatterternary/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "scatterternary.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( .hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatterternary/marker/_colorbar.py b/plotly/graph_objs/scatterternary/marker/_colorbar.py index cd69d0221b3..a0ff1777eb1 100644 --- a/plotly/graph_objs/scatterternary/marker/_colorbar.py +++ b/plotly/graph_objs/scatterternary/marker/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/scatterternary/marker/_gradient.py b/plotly/graph_objs/scatterternary/marker/_gradient.py index fb803bc01a2..1bc4e86ccb0 100644 --- a/plotly/graph_objs/scatterternary/marker/_gradient.py +++ b/plotly/graph_objs/scatterternary/marker/_gradient.py @@ -8,7 +8,7 @@ class Gradient(_BaseTraceHierarchyType): _parent_path_str = "scatterternary.marker" _path_str = "scatterternary.marker.gradient" - _valid_props = {"color", "colorsrc", "type", "typesrc"} + _valid_props = {"color", "type"} @property def color(self): @@ -34,24 +34,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def type(self): """ @@ -72,24 +54,6 @@ def type(self): def type(self, val): self["type"] = val - @property - def typesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `type`. - - The 'typesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["typesrc"] - - @typesrc.setter - def typesrc(self, val): - self["typesrc"] = val - @property def _prop_descriptions(self): return """\ @@ -97,19 +61,11 @@ def _prop_descriptions(self): Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. type Sets the type of gradient used to fill the markers - typesrc - Sets the source reference on Chart Studio Cloud for - `type`. """ - def __init__( - self, arg=None, color=None, colorsrc=None, type=None, typesrc=None, **kwargs - ): + def __init__(self, arg=None, color=None, type=None, **kwargs): """ Construct a new Gradient object @@ -123,14 +79,8 @@ def __init__( Sets the final color of the gradient fill: the center color for radial, the right for horizontal, or the bottom for vertical. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. type Sets the type of gradient used to fill the markers - typesrc - Sets the source reference on Chart Studio Cloud for - `type`. Returns ------- @@ -157,8 +107,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("type", arg, type) - self._set_property("typesrc", arg, typesrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatterternary/marker/_line.py b/plotly/graph_objs/scatterternary/marker/_line.py index 4366dd38add..272268f3cc8 100644 --- a/plotly/graph_objs/scatterternary/marker/_line.py +++ b/plotly/graph_objs/scatterternary/marker/_line.py @@ -17,12 +17,9 @@ class Line(_BaseTraceHierarchyType): "color", "coloraxis", "colorscale", - "colorsrc", "dash", - "dashsrc", "reversescale", "width", - "widthsrc", } @property @@ -196,7 +193,7 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value - to an rgb, rgba, hex, hsl, hsv, or named color string. At + to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in @@ -243,24 +240,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def dash(self): """ @@ -285,24 +264,6 @@ def dash(self): def dash(self, val): self["dash"] = val - @property - def dashsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `dash`. - - The 'dashsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["dashsrc"] - - @dashsrc.setter - def dashsrc(self, val): - self["dashsrc"] = val - @property def reversescale(self): """ @@ -344,24 +305,6 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def _prop_descriptions(self): return """\ @@ -418,8 +361,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -428,17 +371,11 @@ def _prop_descriptions(self): string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. dash Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px"). - dashsrc - Sets the source reference on Chart Studio Cloud for - `dash`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -448,9 +385,6 @@ def _prop_descriptions(self): width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. """ def __init__( @@ -464,12 +398,9 @@ def __init__( color=None, coloraxis=None, colorscale=None, - colorsrc=None, dash=None, - dashsrc=None, reversescale=None, width=None, - widthsrc=None, **kwargs, ): """ @@ -534,8 +465,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -544,17 +475,11 @@ def __init__( string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. dash Sets the dash style of lines. Set to a dash type string ("solid", "dot", "dash", "longdash", "dashdot", or "longdashdot") or a dash length list in px (eg "5px,10px,2px,2px"). - dashsrc - Sets the source reference on Chart Studio Cloud for - `dash`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -564,9 +489,6 @@ def __init__( width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. Returns ------- @@ -600,11 +522,8 @@ def __init__( self._set_property("color", arg, color) self._set_property("coloraxis", arg, coloraxis) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("dash", arg, dash) - self._set_property("dashsrc", arg, dashsrc) self._set_property("reversescale", arg, reversescale) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/scatterternary/marker/colorbar/_title.py b/plotly/graph_objs/scatterternary/marker/colorbar/_title.py index 835128fd3a5..0bf92caf3c9 100644 --- a/plotly/graph_objs/scatterternary/marker/colorbar/_title.py +++ b/plotly/graph_objs/scatterternary/marker/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/splom/__init__.py b/plotly/graph_objs/splom/__init__.py index 200342cb23a..84161a655a4 100644 --- a/plotly/graph_objs/splom/__init__.py +++ b/plotly/graph_objs/splom/__init__.py @@ -8,7 +8,6 @@ from ._legendgrouptitle import Legendgrouptitle from ._marker import Marker from ._selected import Selected - from ._stream import Stream from ._unselected import Unselected from . import dimension from . import hoverlabel @@ -36,7 +35,6 @@ "._legendgrouptitle.Legendgrouptitle", "._marker.Marker", "._selected.Selected", - "._stream.Stream", "._unselected.Unselected", ], ) diff --git a/plotly/graph_objs/splom/_dimension.py b/plotly/graph_objs/splom/_dimension.py index 14f8d5e28b1..8e1eded4193 100644 --- a/plotly/graph_objs/splom/_dimension.py +++ b/plotly/graph_objs/splom/_dimension.py @@ -8,15 +8,7 @@ class Dimension(_BaseTraceHierarchyType): _parent_path_str = "splom" _path_str = "splom.dimension" - _valid_props = { - "axis", - "label", - "name", - "templateitemname", - "values", - "valuessrc", - "visible", - } + _valid_props = {"axis", "label", "name", "templateitemname", "values", "visible"} @property def axis(self): @@ -125,24 +117,6 @@ def values(self): def values(self, val): self["values"] = val - @property - def valuessrc(self): - """ - Sets the source reference on Chart Studio Cloud for `values`. - - The 'valuessrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["valuessrc"] - - @valuessrc.setter - def valuessrc(self, val): - self["valuessrc"] = val - @property def visible(self): """ @@ -192,9 +166,6 @@ def _prop_descriptions(self): explicitly show it with `visible: true`. values Sets the dimension values to be plotted. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. visible Determines whether or not this dimension is shown on the graph. Note that even visible false dimension @@ -210,7 +181,6 @@ def __init__( name=None, templateitemname=None, values=None, - valuessrc=None, visible=None, **kwargs, ): @@ -249,9 +219,6 @@ def __init__( explicitly show it with `visible: true`. values Sets the dimension values to be plotted. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. visible Determines whether or not this dimension is shown on the graph. Note that even visible false dimension @@ -287,7 +254,6 @@ def __init__( self._set_property("name", arg, name) self._set_property("templateitemname", arg, templateitemname) self._set_property("values", arg, values) - self._set_property("valuessrc", arg, valuessrc) self._set_property("visible", arg, visible) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/splom/_hoverlabel.py b/plotly/graph_objs/splom/_hoverlabel.py index 3966a6b1253..d34dfaa2038 100644 --- a/plotly/graph_objs/splom/_hoverlabel.py +++ b/plotly/graph_objs/splom/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "splom.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/splom/_marker.py b/plotly/graph_objs/splom/_marker.py index f42ce026a62..11a1bf7e764 100644 --- a/plotly/graph_objs/splom/_marker.py +++ b/plotly/graph_objs/splom/_marker.py @@ -10,7 +10,6 @@ class Marker(_BaseTraceHierarchyType): _path_str = "splom.marker" _valid_props = { "angle", - "anglesrc", "autocolorscale", "cauto", "cmax", @@ -20,19 +19,15 @@ class Marker(_BaseTraceHierarchyType): "coloraxis", "colorbar", "colorscale", - "colorsrc", "line", "opacity", - "opacitysrc", "reversescale", "showscale", "size", "sizemin", "sizemode", "sizeref", - "sizesrc", "symbol", - "symbolsrc", } @property @@ -55,24 +50,6 @@ def angle(self): def angle(self, val): self["angle"] = val - @property - def anglesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `angle`. - - The 'anglesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["anglesrc"] - - @anglesrc.setter - def anglesrc(self, val): - self["anglesrc"] = val - @property def autocolorscale(self): """ @@ -262,9 +239,9 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, - hex, hsl, hsv, or named color string. At minimum, a mapping for - the lowest (0) and highest (1) values are required. For - example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To + hex, hsl, hsla, hwb, or named color string. At minimum, a + mapping for the lowest (0) and highest (1) values are required. + For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,B @@ -308,24 +285,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def line(self): """ @@ -364,24 +323,6 @@ def opacity(self): def opacity(self, val): self["opacity"] = val - @property - def opacitysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `opacity`. - - The 'opacitysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["opacitysrc"] - - @opacitysrc.setter - def opacitysrc(self, val): - self["opacitysrc"] = val - @property def reversescale(self): """ @@ -503,24 +444,6 @@ def sizeref(self): def sizeref(self, val): self["sizeref"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def symbol(self): """ @@ -632,32 +555,11 @@ def symbol(self): def symbol(self, val): self["symbol"] = val - @property - def symbolsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `symbol`. - - The 'symbolsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["symbolsrc"] - - @symbolsrc.setter - def symbolsrc(self, val): - self["symbolsrc"] = val - @property def _prop_descriptions(self): return """\ angle Sets the marker angle in respect to `angleref`. - anglesrc - Sets the source reference on Chart Studio Cloud for - `angle`. autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -711,8 +613,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -721,17 +623,11 @@ def _prop_descriptions(self): following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. line :class:`plotly.graph_objects.splom.marker.Line` instance or dict with compatible properties opacity Sets the marker opacity. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If @@ -757,25 +653,18 @@ def _prop_descriptions(self): numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. symbol Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot- open" to a symbol name. - symbolsrc - Sets the source reference on Chart Studio Cloud for - `symbol`. """ def __init__( self, arg=None, angle=None, - anglesrc=None, autocolorscale=None, cauto=None, cmax=None, @@ -785,19 +674,15 @@ def __init__( coloraxis=None, colorbar=None, colorscale=None, - colorsrc=None, line=None, opacity=None, - opacitysrc=None, reversescale=None, showscale=None, size=None, sizemin=None, sizemode=None, sizeref=None, - sizesrc=None, symbol=None, - symbolsrc=None, **kwargs, ): """ @@ -810,9 +695,6 @@ def __init__( an instance of :class:`plotly.graph_objs.splom.Marker` angle Sets the marker angle in respect to `angleref`. - anglesrc - Sets the source reference on Chart Studio Cloud for - `angle`. autocolorscale Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by @@ -866,8 +748,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -876,17 +758,11 @@ def __init__( following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. line :class:`plotly.graph_objects.splom.marker.Line` instance or dict with compatible properties opacity Sets the marker opacity. - opacitysrc - Sets the source reference on Chart Studio Cloud for - `opacity`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.color` is set to a numerical array. If @@ -912,18 +788,12 @@ def __init__( numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. symbol Sets the marker symbol type. Adding 100 is equivalent to appending "-open" to a symbol name. Adding 200 is equivalent to appending "-dot" to a symbol name. Adding 300 is equivalent to appending "-open-dot" or "dot- open" to a symbol name. - symbolsrc - Sets the source reference on Chart Studio Cloud for - `symbol`. Returns ------- @@ -950,7 +820,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("angle", arg, angle) - self._set_property("anglesrc", arg, anglesrc) self._set_property("autocolorscale", arg, autocolorscale) self._set_property("cauto", arg, cauto) self._set_property("cmax", arg, cmax) @@ -960,18 +829,14 @@ def __init__( self._set_property("coloraxis", arg, coloraxis) self._set_property("colorbar", arg, colorbar) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("line", arg, line) self._set_property("opacity", arg, opacity) - self._set_property("opacitysrc", arg, opacitysrc) self._set_property("reversescale", arg, reversescale) self._set_property("showscale", arg, showscale) self._set_property("size", arg, size) self._set_property("sizemin", arg, sizemin) self._set_property("sizemode", arg, sizemode) self._set_property("sizeref", arg, sizeref) - self._set_property("sizesrc", arg, sizesrc) self._set_property("symbol", arg, symbol) - self._set_property("symbolsrc", arg, symbolsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/splom/_stream.py b/plotly/graph_objs/splom/_stream.py deleted file mode 100644 index 169722514fb..00000000000 --- a/plotly/graph_objs/splom/_stream.py +++ /dev/null @@ -1,113 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "splom" - _path_str = "splom.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.splom.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.splom.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.splom.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/splom/hoverlabel/_font.py b/plotly/graph_objs/splom/hoverlabel/_font.py index 71bbf738004..5e7af60437a 100644 --- a/plotly/graph_objs/splom/hoverlabel/_font.py +++ b/plotly/graph_objs/splom/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "splom.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.splom.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/splom/marker/_colorbar.py b/plotly/graph_objs/splom/marker/_colorbar.py index e94feb4362b..f56b1920d5e 100644 --- a/plotly/graph_objs/splom/marker/_colorbar.py +++ b/plotly/graph_objs/splom/marker/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/splom/marker/_line.py b/plotly/graph_objs/splom/marker/_line.py index 2c52ce95355..219b1a800f9 100644 --- a/plotly/graph_objs/splom/marker/_line.py +++ b/plotly/graph_objs/splom/marker/_line.py @@ -17,10 +17,8 @@ class Line(_BaseTraceHierarchyType): "color", "coloraxis", "colorscale", - "colorsrc", "reversescale", "width", - "widthsrc", } @property @@ -194,7 +192,7 @@ def colorscale(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value - to an rgb, rgba, hex, hsl, hsv, or named color string. At + to an rgb, rgba, hex, hsl, hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in @@ -241,24 +239,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def reversescale(self): """ @@ -300,24 +280,6 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def _prop_descriptions(self): return """\ @@ -374,8 +336,8 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -384,9 +346,6 @@ def _prop_descriptions(self): string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -396,9 +355,6 @@ def _prop_descriptions(self): width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. """ def __init__( @@ -412,10 +368,8 @@ def __init__( color=None, coloraxis=None, colorscale=None, - colorsrc=None, reversescale=None, width=None, - widthsrc=None, **kwargs, ): """ @@ -480,8 +434,8 @@ def __init__( Sets the colorscale. Has an effect only if in `marker.line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a - normalized value to an rgb, rgba, hex, hsl, hsv, or - named color string. At minimum, a mapping for the + normalized value to an rgb, rgba, hex, hsl, hsla, hwb, + or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, @@ -490,9 +444,6 @@ def __init__( string of the following list: Blackbody,Bluered,Blues,C ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. reversescale Reverses the color mapping if true. Has an effect only if in `marker.line.color` is set to a numerical array. @@ -502,9 +453,6 @@ def __init__( width Sets the width (in px) of the lines bounding the marker points. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. Returns ------- @@ -538,9 +486,7 @@ def __init__( self._set_property("color", arg, color) self._set_property("coloraxis", arg, coloraxis) self._set_property("colorscale", arg, colorscale) - self._set_property("colorsrc", arg, colorsrc) self._set_property("reversescale", arg, reversescale) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/splom/marker/colorbar/_title.py b/plotly/graph_objs/splom/marker/colorbar/_title.py index 4f4078979a1..1e12c5bfd75 100644 --- a/plotly/graph_objs/splom/marker/colorbar/_title.py +++ b/plotly/graph_objs/splom/marker/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/streamtube/__init__.py b/plotly/graph_objs/streamtube/__init__.py index d141858f537..08e955dc771 100644 --- a/plotly/graph_objs/streamtube/__init__.py +++ b/plotly/graph_objs/streamtube/__init__.py @@ -8,7 +8,6 @@ from ._lighting import Lighting from ._lightposition import Lightposition from ._starts import Starts - from ._stream import Stream from . import colorbar from . import hoverlabel from . import legendgrouptitle @@ -25,6 +24,5 @@ "._lighting.Lighting", "._lightposition.Lightposition", "._starts.Starts", - "._stream.Stream", ], ) diff --git a/plotly/graph_objs/streamtube/_colorbar.py b/plotly/graph_objs/streamtube/_colorbar.py index c5f99dbf04e..71d36f7e761 100644 --- a/plotly/graph_objs/streamtube/_colorbar.py +++ b/plotly/graph_objs/streamtube/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -842,24 +840,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -879,24 +859,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1292,16 +1254,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1392,9 +1348,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1601,16 +1555,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1721,9 +1669,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/streamtube/_hoverlabel.py b/plotly/graph_objs/streamtube/_hoverlabel.py index a52bf2676ba..d5456608233 100644 --- a/plotly/graph_objs/streamtube/_hoverlabel.py +++ b/plotly/graph_objs/streamtube/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "streamtube.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/streamtube/_starts.py b/plotly/graph_objs/streamtube/_starts.py index eccda6490de..125b4702d2c 100644 --- a/plotly/graph_objs/streamtube/_starts.py +++ b/plotly/graph_objs/streamtube/_starts.py @@ -8,7 +8,7 @@ class Starts(_BaseTraceHierarchyType): _parent_path_str = "streamtube" _path_str = "streamtube.starts" - _valid_props = {"x", "xsrc", "y", "ysrc", "z", "zsrc"} + _valid_props = {"x", "y", "z"} @property def x(self): @@ -29,24 +29,6 @@ def x(self): def x(self, val): self["x"] = val - @property - def xsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `x`. - - The 'xsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xsrc"] - - @xsrc.setter - def xsrc(self, val): - self["xsrc"] = val - @property def y(self): """ @@ -66,24 +48,6 @@ def y(self): def y(self, val): self["y"] = val - @property - def ysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `y`. - - The 'ysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ysrc"] - - @ysrc.setter - def ysrc(self, val): - self["ysrc"] = val - @property def z(self): """ @@ -103,58 +67,21 @@ def z(self): def z(self, val): self["z"] = val - @property - def zsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `z`. - - The 'zsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["zsrc"] - - @zsrc.setter - def zsrc(self, val): - self["zsrc"] = val - @property def _prop_descriptions(self): return """\ x Sets the x components of the starting position of the streamtubes - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y components of the starting position of the streamtubes - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the z components of the starting position of the streamtubes - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. """ - def __init__( - self, - arg=None, - x=None, - xsrc=None, - y=None, - ysrc=None, - z=None, - zsrc=None, - **kwargs, - ): + def __init__(self, arg=None, x=None, y=None, z=None, **kwargs): """ Construct a new Starts object @@ -167,21 +94,12 @@ def __init__( x Sets the x components of the starting position of the streamtubes - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. y Sets the y components of the starting position of the streamtubes - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. z Sets the z components of the starting position of the streamtubes - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. Returns ------- @@ -208,10 +126,7 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("x", arg, x) - self._set_property("xsrc", arg, xsrc) self._set_property("y", arg, y) - self._set_property("ysrc", arg, ysrc) self._set_property("z", arg, z) - self._set_property("zsrc", arg, zsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/streamtube/_stream.py b/plotly/graph_objs/streamtube/_stream.py deleted file mode 100644 index 46d9371fa70..00000000000 --- a/plotly/graph_objs/streamtube/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "streamtube" - _path_str = "streamtube.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.streamtube.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.streamtube.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.streamtube.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/streamtube/colorbar/_title.py b/plotly/graph_objs/streamtube/colorbar/_title.py index e9b903a4b0d..77c2be7200d 100644 --- a/plotly/graph_objs/streamtube/colorbar/_title.py +++ b/plotly/graph_objs/streamtube/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/streamtube/hoverlabel/_font.py b/plotly/graph_objs/streamtube/hoverlabel/_font.py index 7d27a7734d3..0fb932f5818 100644 --- a/plotly/graph_objs/streamtube/hoverlabel/_font.py +++ b/plotly/graph_objs/streamtube/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "streamtube.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.streamtube.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/sunburst/__init__.py b/plotly/graph_objs/sunburst/__init__.py index 69c0dee79ac..a2aebf16a1f 100644 --- a/plotly/graph_objs/sunburst/__init__.py +++ b/plotly/graph_objs/sunburst/__init__.py @@ -10,7 +10,6 @@ from ._marker import Marker from ._outsidetextfont import Outsidetextfont from ._root import Root - from ._stream import Stream from ._textfont import Textfont from . import hoverlabel from . import legendgrouptitle @@ -30,7 +29,6 @@ "._marker.Marker", "._outsidetextfont.Outsidetextfont", "._root.Root", - "._stream.Stream", "._textfont.Textfont", ], ) diff --git a/plotly/graph_objs/sunburst/_domain.py b/plotly/graph_objs/sunburst/_domain.py index df01486841a..9e006941ef2 100644 --- a/plotly/graph_objs/sunburst/_domain.py +++ b/plotly/graph_objs/sunburst/_domain.py @@ -14,7 +14,7 @@ class Domain(_BaseTraceHierarchyType): def column(self): """ If there is a layout grid, use the domain for this column in - the grid for this sunburst trace . + the grid for this sunburst trace. The 'column' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -34,7 +34,7 @@ def column(self, val): def row(self): """ If there is a layout grid, use the domain for this row in the - grid for this sunburst trace . + grid for this sunburst trace. The 'row' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -103,10 +103,10 @@ def _prop_descriptions(self): return """\ column If there is a layout grid, use the domain for this - column in the grid for this sunburst trace . + column in the grid for this sunburst trace. row If there is a layout grid, use the domain for this row - in the grid for this sunburst trace . + in the grid for this sunburst trace. x Sets the horizontal domain of this sunburst trace (in plot fraction). @@ -127,10 +127,10 @@ def __init__(self, arg=None, column=None, row=None, x=None, y=None, **kwargs): :class:`plotly.graph_objs.sunburst.Domain` column If there is a layout grid, use the domain for this - column in the grid for this sunburst trace . + column in the grid for this sunburst trace. row If there is a layout grid, use the domain for this row - in the grid for this sunburst trace . + in the grid for this sunburst trace. x Sets the horizontal domain of this sunburst trace (in plot fraction). diff --git a/plotly/graph_objs/sunburst/_hoverlabel.py b/plotly/graph_objs/sunburst/_hoverlabel.py index 1e75e90dcae..39fcd321caf 100644 --- a/plotly/graph_objs/sunburst/_hoverlabel.py +++ b/plotly/graph_objs/sunburst/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "sunburst.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/sunburst/_insidetextfont.py b/plotly/graph_objs/sunburst/_insidetextfont.py index 641ab2fc23c..c5cf2f63188 100644 --- a/plotly/graph_objs/sunburst/_insidetextfont.py +++ b/plotly/graph_objs/sunburst/_insidetextfont.py @@ -10,23 +10,14 @@ class Insidetextfont(_BaseTraceHierarchyType): _path_str = "sunburst.insidetextfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.sunburst.Insidetextfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/sunburst/_marker.py b/plotly/graph_objs/sunburst/_marker.py index df5e4c80b47..b7b346764cb 100644 --- a/plotly/graph_objs/sunburst/_marker.py +++ b/plotly/graph_objs/sunburst/_marker.py @@ -18,7 +18,6 @@ class Marker(_BaseTraceHierarchyType): "colorbar", "colors", "colorscale", - "colorssrc", "line", "pattern", "reversescale", @@ -202,7 +201,7 @@ def colorscale(self): Sets the colorscale. Has an effect only if colors is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, - hsv, or named color string. At minimum, a mapping for the + hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and @@ -248,24 +247,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `colors`. - - The 'colorssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorssrc"] - - @colorssrc.setter - def colorssrc(self, val): - self["colorssrc"] = val - @property def line(self): """ @@ -400,9 +381,9 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if colors is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to - an rgb, rgba, hex, hsl, hsv, or named color string. At - minimum, a mapping for the lowest (0) and highest (1) - values are required. For example, `[[0, + an rgb, rgba, hex, hsl, hsla, hwb, or named color + string. At minimum, a mapping for the lowest (0) and + highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, @@ -410,9 +391,6 @@ def _prop_descriptions(self): following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorssrc - Sets the source reference on Chart Studio Cloud for - `colors`. line :class:`plotly.graph_objects.sunburst.marker.Line` instance or dict with compatible properties @@ -442,7 +420,6 @@ def __init__( colorbar=None, colors=None, colorscale=None, - colorssrc=None, line=None, pattern=None, reversescale=None, @@ -508,9 +485,9 @@ def __init__( Sets the colorscale. Has an effect only if colors is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to - an rgb, rgba, hex, hsl, hsv, or named color string. At - minimum, a mapping for the lowest (0) and highest (1) - values are required. For example, `[[0, + an rgb, rgba, hex, hsl, hsla, hwb, or named color + string. At minimum, a mapping for the lowest (0) and + highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, @@ -518,9 +495,6 @@ def __init__( following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorssrc - Sets the source reference on Chart Studio Cloud for - `colors`. line :class:`plotly.graph_objects.sunburst.marker.Line` instance or dict with compatible properties @@ -570,7 +544,6 @@ def __init__( self._set_property("colorbar", arg, colorbar) self._set_property("colors", arg, colors) self._set_property("colorscale", arg, colorscale) - self._set_property("colorssrc", arg, colorssrc) self._set_property("line", arg, line) self._set_property("pattern", arg, pattern) self._set_property("reversescale", arg, reversescale) diff --git a/plotly/graph_objs/sunburst/_outsidetextfont.py b/plotly/graph_objs/sunburst/_outsidetextfont.py index 46c3f9e3402..b81607edca8 100644 --- a/plotly/graph_objs/sunburst/_outsidetextfont.py +++ b/plotly/graph_objs/sunburst/_outsidetextfont.py @@ -10,23 +10,14 @@ class Outsidetextfont(_BaseTraceHierarchyType): _path_str = "sunburst.outsidetextfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -488,9 +280,6 @@ def __init__( :class:`plotly.graph_objs.sunburst.Outsidetextfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -498,52 +287,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -570,22 +335,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/sunburst/_stream.py b/plotly/graph_objs/sunburst/_stream.py deleted file mode 100644 index 5680641b503..00000000000 --- a/plotly/graph_objs/sunburst/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "sunburst" - _path_str = "sunburst.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.sunburst.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.sunburst.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.sunburst.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/sunburst/_textfont.py b/plotly/graph_objs/sunburst/_textfont.py index a4ba94bd20b..c7780faa777 100644 --- a/plotly/graph_objs/sunburst/_textfont.py +++ b/plotly/graph_objs/sunburst/_textfont.py @@ -10,23 +10,14 @@ class Textfont(_BaseTraceHierarchyType): _path_str = "sunburst.textfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.sunburst.Textfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/sunburst/hoverlabel/_font.py b/plotly/graph_objs/sunburst/hoverlabel/_font.py index c2330c686a4..423e35147c0 100644 --- a/plotly/graph_objs/sunburst/hoverlabel/_font.py +++ b/plotly/graph_objs/sunburst/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "sunburst.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.sunburst.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/sunburst/marker/_colorbar.py b/plotly/graph_objs/sunburst/marker/_colorbar.py index b054e3e7cba..0e948dedff4 100644 --- a/plotly/graph_objs/sunburst/marker/_colorbar.py +++ b/plotly/graph_objs/sunburst/marker/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/sunburst/marker/_line.py b/plotly/graph_objs/sunburst/marker/_line.py index a14be3b9ec9..386709f93fa 100644 --- a/plotly/graph_objs/sunburst/marker/_line.py +++ b/plotly/graph_objs/sunburst/marker/_line.py @@ -8,7 +8,7 @@ class Line(_BaseTraceHierarchyType): _parent_path_str = "sunburst.marker" _path_str = "sunburst.marker.line" - _valid_props = {"color", "colorsrc", "width", "widthsrc"} + _valid_props = {"color", "width"} @property def color(self): @@ -34,24 +34,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def width(self): """ @@ -71,44 +53,18 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def _prop_descriptions(self): return """\ color Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. width Sets the width (in px) of the line enclosing each sector. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. """ - def __init__( - self, arg=None, color=None, colorsrc=None, width=None, widthsrc=None, **kwargs - ): + def __init__(self, arg=None, color=None, width=None, **kwargs): """ Construct a new Line object @@ -121,15 +77,9 @@ def __init__( color Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. width Sets the width (in px) of the line enclosing each sector. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. Returns ------- @@ -156,8 +106,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/sunburst/marker/_pattern.py b/plotly/graph_objs/sunburst/marker/_pattern.py index 1db7bb09044..2707dba010f 100644 --- a/plotly/graph_objs/sunburst/marker/_pattern.py +++ b/plotly/graph_objs/sunburst/marker/_pattern.py @@ -10,19 +10,13 @@ class Pattern(_BaseTraceHierarchyType): _path_str = "sunburst.marker.pattern" _valid_props = { "bgcolor", - "bgcolorsrc", "fgcolor", - "fgcolorsrc", "fgopacity", "fillmode", "path", - "pathsrc", "shape", - "shapesrc", "size", - "sizesrc", "solidity", - "soliditysrc", } @property @@ -51,24 +45,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def fgcolor(self): """ @@ -95,24 +71,6 @@ def fgcolor(self): def fgcolor(self, val): self["fgcolor"] = val - @property - def fgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `fgcolor`. - - The 'fgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["fgcolorsrc"] - - @fgcolorsrc.setter - def fgcolorsrc(self, val): - self["fgcolorsrc"] = val - @property def fgopacity(self): """ @@ -174,24 +132,6 @@ def path(self): def path(self, val): self["path"] = val - @property - def pathsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `path`. - - The 'pathsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["pathsrc"] - - @pathsrc.setter - def pathsrc(self, val): - self["pathsrc"] = val - @property def shape(self): """ @@ -213,24 +153,6 @@ def shape(self): def shape(self, val): self["shape"] = val - @property - def shapesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shape`. - - The 'shapesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shapesrc"] - - @shapesrc.setter - def shapesrc(self, val): - self["shapesrc"] = val - @property def size(self): """ @@ -251,24 +173,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def solidity(self): """ @@ -291,24 +195,6 @@ def solidity(self): def solidity(self, val): self["solidity"] = val - @property - def soliditysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `solidity`. - - The 'soliditysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["soliditysrc"] - - @soliditysrc.setter - def soliditysrc(self, val): - self["soliditysrc"] = val - @property def _prop_descriptions(self): return """\ @@ -317,18 +203,12 @@ def _prop_descriptions(self): background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background. - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. fgcolor When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`. - fgcolorsrc - Sets the source reference on Chart Studio Cloud for - `fgcolor`. fgopacity Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". @@ -341,50 +221,32 @@ def _prop_descriptions(self): `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color. - pathsrc - Sets the source reference on Chart Studio Cloud for - `path`. shape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. - shapesrc - Sets the source reference on Chart Studio Cloud for - `shape`. size Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. solidity Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern. - soliditysrc - Sets the source reference on Chart Studio Cloud for - `solidity`. """ def __init__( self, arg=None, bgcolor=None, - bgcolorsrc=None, fgcolor=None, - fgcolorsrc=None, fgopacity=None, fillmode=None, path=None, - pathsrc=None, shape=None, - shapesrc=None, size=None, - sizesrc=None, solidity=None, - soliditysrc=None, **kwargs, ): """ @@ -403,18 +265,12 @@ def __init__( background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background. - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. fgcolor When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`. - fgcolorsrc - Sets the source reference on Chart Studio Cloud for - `fgcolor`. fgopacity Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". @@ -427,31 +283,19 @@ def __init__( `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color. - pathsrc - Sets the source reference on Chart Studio Cloud for - `path`. shape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. - shapesrc - Sets the source reference on Chart Studio Cloud for - `shape`. size Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. solidity Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern. - soliditysrc - Sets the source reference on Chart Studio Cloud for - `solidity`. Returns ------- @@ -478,18 +322,12 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("fgcolor", arg, fgcolor) - self._set_property("fgcolorsrc", arg, fgcolorsrc) self._set_property("fgopacity", arg, fgopacity) self._set_property("fillmode", arg, fillmode) self._set_property("path", arg, path) - self._set_property("pathsrc", arg, pathsrc) self._set_property("shape", arg, shape) - self._set_property("shapesrc", arg, shapesrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("solidity", arg, solidity) - self._set_property("soliditysrc", arg, soliditysrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/sunburst/marker/colorbar/_title.py b/plotly/graph_objs/sunburst/marker/colorbar/_title.py index c824761b035..39d0e261550 100644 --- a/plotly/graph_objs/sunburst/marker/colorbar/_title.py +++ b/plotly/graph_objs/sunburst/marker/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/surface/__init__.py b/plotly/graph_objs/surface/__init__.py index f0a5e461c01..f3f8765fed3 100644 --- a/plotly/graph_objs/surface/__init__.py +++ b/plotly/graph_objs/surface/__init__.py @@ -8,7 +8,6 @@ from ._legendgrouptitle import Legendgrouptitle from ._lighting import Lighting from ._lightposition import Lightposition - from ._stream import Stream from . import colorbar from . import contours from . import hoverlabel @@ -26,6 +25,5 @@ "._legendgrouptitle.Legendgrouptitle", "._lighting.Lighting", "._lightposition.Lightposition", - "._stream.Stream", ], ) diff --git a/plotly/graph_objs/surface/_colorbar.py b/plotly/graph_objs/surface/_colorbar.py index c0966cb1dc0..22c8892e24f 100644 --- a/plotly/graph_objs/surface/_colorbar.py +++ b/plotly/graph_objs/surface/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/surface/_hoverlabel.py b/plotly/graph_objs/surface/_hoverlabel.py index b6febd42e5c..e4b151c3eaa 100644 --- a/plotly/graph_objs/surface/_hoverlabel.py +++ b/plotly/graph_objs/surface/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "surface.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/surface/_stream.py b/plotly/graph_objs/surface/_stream.py deleted file mode 100644 index 70b86026949..00000000000 --- a/plotly/graph_objs/surface/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "surface" - _path_str = "surface.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.surface.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.surface.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.surface.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/surface/colorbar/_title.py b/plotly/graph_objs/surface/colorbar/_title.py index 4728e3469bb..7872b68bb54 100644 --- a/plotly/graph_objs/surface/colorbar/_title.py +++ b/plotly/graph_objs/surface/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/surface/hoverlabel/_font.py b/plotly/graph_objs/surface/hoverlabel/_font.py index 77c1512323f..f78522b0e9c 100644 --- a/plotly/graph_objs/surface/hoverlabel/_font.py +++ b/plotly/graph_objs/surface/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "surface.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.surface.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/table/__init__.py b/plotly/graph_objs/table/__init__.py index 4442a1ae9a9..d08f5d69ebf 100644 --- a/plotly/graph_objs/table/__init__.py +++ b/plotly/graph_objs/table/__init__.py @@ -7,7 +7,6 @@ from ._header import Header from ._hoverlabel import Hoverlabel from ._legendgrouptitle import Legendgrouptitle - from ._stream import Stream from . import cells from . import header from . import hoverlabel @@ -24,6 +23,5 @@ "._header.Header", "._hoverlabel.Hoverlabel", "._legendgrouptitle.Legendgrouptitle", - "._stream.Stream", ], ) diff --git a/plotly/graph_objs/table/_cells.py b/plotly/graph_objs/table/_cells.py index 083afdd03ca..0644397847c 100644 --- a/plotly/graph_objs/table/_cells.py +++ b/plotly/graph_objs/table/_cells.py @@ -10,19 +10,14 @@ class Cells(_BaseTraceHierarchyType): _path_str = "table.cells" _valid_props = { "align", - "alignsrc", "fill", "font", "format", - "formatsrc", "height", "line", "prefix", - "prefixsrc", "suffix", - "suffixsrc", "values", - "valuessrc", } @property @@ -48,24 +43,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def fill(self): """ @@ -125,24 +102,6 @@ def format(self): def format(self, val): self["format"] = val - @property - def formatsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `format`. - - The 'formatsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["formatsrc"] - - @formatsrc.setter - def formatsrc(self, val): - self["formatsrc"] = val - @property def height(self): """ @@ -200,24 +159,6 @@ def prefix(self): def prefix(self, val): self["prefix"] = val - @property - def prefixsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `prefix`. - - The 'prefixsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["prefixsrc"] - - @prefixsrc.setter - def prefixsrc(self, val): - self["prefixsrc"] = val - @property def suffix(self): """ @@ -238,24 +179,6 @@ def suffix(self): def suffix(self, val): self["suffix"] = val - @property - def suffixsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `suffix`. - - The 'suffixsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["suffixsrc"] - - @suffixsrc.setter - def suffixsrc(self, val): - self["suffixsrc"] = val - @property def values(self): """ @@ -277,24 +200,6 @@ def values(self): def values(self, val): self["values"] = val - @property - def valuessrc(self): - """ - Sets the source reference on Chart Studio Cloud for `values`. - - The 'valuessrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["valuessrc"] - - @valuessrc.setter - def valuessrc(self, val): - self["valuessrc"] = val - @property def _prop_descriptions(self): return """\ @@ -304,9 +209,6 @@ def _prop_descriptions(self): lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width. - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. fill :class:`plotly.graph_objects.table.cells.Fill` instance or dict with compatible properties @@ -318,9 +220,6 @@ def _prop_descriptions(self): mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - formatsrc - Sets the source reference on Chart Studio Cloud for - `format`. height The height of cells. line @@ -328,42 +227,28 @@ def _prop_descriptions(self): or dict with compatible properties prefix Prefix for cell values. - prefixsrc - Sets the source reference on Chart Studio Cloud for - `prefix`. suffix Suffix for cell values. - suffixsrc - Sets the source reference on Chart Studio Cloud for - `suffix`. values Cell values. `values[m][n]` represents the value of the `n`th point in column `m`, therefore the `values[m]` vector length for all columns must be the same (longer vectors will be truncated). Each value must be a finite number or a string. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. """ def __init__( self, arg=None, align=None, - alignsrc=None, fill=None, font=None, format=None, - formatsrc=None, height=None, line=None, prefix=None, - prefixsrc=None, suffix=None, - suffixsrc=None, values=None, - valuessrc=None, **kwargs, ): """ @@ -380,9 +265,6 @@ def __init__( lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width. - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. fill :class:`plotly.graph_objects.table.cells.Fill` instance or dict with compatible properties @@ -394,9 +276,6 @@ def __init__( mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - formatsrc - Sets the source reference on Chart Studio Cloud for - `format`. height The height of cells. line @@ -404,23 +283,14 @@ def __init__( or dict with compatible properties prefix Prefix for cell values. - prefixsrc - Sets the source reference on Chart Studio Cloud for - `prefix`. suffix Suffix for cell values. - suffixsrc - Sets the source reference on Chart Studio Cloud for - `suffix`. values Cell values. `values[m][n]` represents the value of the `n`th point in column `m`, therefore the `values[m]` vector length for all columns must be the same (longer vectors will be truncated). Each value must be a finite number or a string. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. Returns ------- @@ -447,18 +317,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("fill", arg, fill) self._set_property("font", arg, font) self._set_property("format", arg, format) - self._set_property("formatsrc", arg, formatsrc) self._set_property("height", arg, height) self._set_property("line", arg, line) self._set_property("prefix", arg, prefix) - self._set_property("prefixsrc", arg, prefixsrc) self._set_property("suffix", arg, suffix) - self._set_property("suffixsrc", arg, suffixsrc) self._set_property("values", arg, values) - self._set_property("valuessrc", arg, valuessrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/table/_domain.py b/plotly/graph_objs/table/_domain.py index d92b8885724..4789efaef0d 100644 --- a/plotly/graph_objs/table/_domain.py +++ b/plotly/graph_objs/table/_domain.py @@ -14,7 +14,7 @@ class Domain(_BaseTraceHierarchyType): def column(self): """ If there is a layout grid, use the domain for this column in - the grid for this table trace . + the grid for this table trace. The 'column' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -34,7 +34,7 @@ def column(self, val): def row(self): """ If there is a layout grid, use the domain for this row in the - grid for this table trace . + grid for this table trace. The 'row' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -103,10 +103,10 @@ def _prop_descriptions(self): return """\ column If there is a layout grid, use the domain for this - column in the grid for this table trace . + column in the grid for this table trace. row If there is a layout grid, use the domain for this row - in the grid for this table trace . + in the grid for this table trace. x Sets the horizontal domain of this table trace (in plot fraction). @@ -126,10 +126,10 @@ def __init__(self, arg=None, column=None, row=None, x=None, y=None, **kwargs): an instance of :class:`plotly.graph_objs.table.Domain` column If there is a layout grid, use the domain for this - column in the grid for this table trace . + column in the grid for this table trace. row If there is a layout grid, use the domain for this row - in the grid for this table trace . + in the grid for this table trace. x Sets the horizontal domain of this table trace (in plot fraction). diff --git a/plotly/graph_objs/table/_header.py b/plotly/graph_objs/table/_header.py index 5a4f6f6bac3..c5a80ed742a 100644 --- a/plotly/graph_objs/table/_header.py +++ b/plotly/graph_objs/table/_header.py @@ -10,19 +10,14 @@ class Header(_BaseTraceHierarchyType): _path_str = "table.header" _valid_props = { "align", - "alignsrc", "fill", "font", "format", - "formatsrc", "height", "line", "prefix", - "prefixsrc", "suffix", - "suffixsrc", "values", - "valuessrc", } @property @@ -48,24 +43,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def fill(self): """ @@ -125,24 +102,6 @@ def format(self): def format(self, val): self["format"] = val - @property - def formatsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `format`. - - The 'formatsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["formatsrc"] - - @formatsrc.setter - def formatsrc(self, val): - self["formatsrc"] = val - @property def height(self): """ @@ -200,24 +159,6 @@ def prefix(self): def prefix(self, val): self["prefix"] = val - @property - def prefixsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `prefix`. - - The 'prefixsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["prefixsrc"] - - @prefixsrc.setter - def prefixsrc(self, val): - self["prefixsrc"] = val - @property def suffix(self): """ @@ -238,24 +179,6 @@ def suffix(self): def suffix(self, val): self["suffix"] = val - @property - def suffixsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `suffix`. - - The 'suffixsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["suffixsrc"] - - @suffixsrc.setter - def suffixsrc(self, val): - self["suffixsrc"] = val - @property def values(self): """ @@ -277,24 +200,6 @@ def values(self): def values(self, val): self["values"] = val - @property - def valuessrc(self): - """ - Sets the source reference on Chart Studio Cloud for `values`. - - The 'valuessrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["valuessrc"] - - @valuessrc.setter - def valuessrc(self, val): - self["valuessrc"] = val - @property def _prop_descriptions(self): return """\ @@ -304,9 +209,6 @@ def _prop_descriptions(self): lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width. - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. fill :class:`plotly.graph_objects.table.header.Fill` instance or dict with compatible properties @@ -318,9 +220,6 @@ def _prop_descriptions(self): mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - formatsrc - Sets the source reference on Chart Studio Cloud for - `format`. height The height of cells. line @@ -328,42 +227,28 @@ def _prop_descriptions(self): instance or dict with compatible properties prefix Prefix for cell values. - prefixsrc - Sets the source reference on Chart Studio Cloud for - `prefix`. suffix Suffix for cell values. - suffixsrc - Sets the source reference on Chart Studio Cloud for - `suffix`. values Header cell values. `values[m][n]` represents the value of the `n`th point in column `m`, therefore the `values[m]` vector length for all columns must be the same (longer vectors will be truncated). Each value must be a finite number or a string. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. """ def __init__( self, arg=None, align=None, - alignsrc=None, fill=None, font=None, format=None, - formatsrc=None, height=None, line=None, prefix=None, - prefixsrc=None, suffix=None, - suffixsrc=None, values=None, - valuessrc=None, **kwargs, ): """ @@ -380,9 +265,6 @@ def __init__( lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width. - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. fill :class:`plotly.graph_objects.table.header.Fill` instance or dict with compatible properties @@ -394,9 +276,6 @@ def __init__( mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - formatsrc - Sets the source reference on Chart Studio Cloud for - `format`. height The height of cells. line @@ -404,23 +283,14 @@ def __init__( instance or dict with compatible properties prefix Prefix for cell values. - prefixsrc - Sets the source reference on Chart Studio Cloud for - `prefix`. suffix Suffix for cell values. - suffixsrc - Sets the source reference on Chart Studio Cloud for - `suffix`. values Header cell values. `values[m][n]` represents the value of the `n`th point in column `m`, therefore the `values[m]` vector length for all columns must be the same (longer vectors will be truncated). Each value must be a finite number or a string. - valuessrc - Sets the source reference on Chart Studio Cloud for - `values`. Returns ------- @@ -447,18 +317,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("fill", arg, fill) self._set_property("font", arg, font) self._set_property("format", arg, format) - self._set_property("formatsrc", arg, formatsrc) self._set_property("height", arg, height) self._set_property("line", arg, line) self._set_property("prefix", arg, prefix) - self._set_property("prefixsrc", arg, prefixsrc) self._set_property("suffix", arg, suffix) - self._set_property("suffixsrc", arg, suffixsrc) self._set_property("values", arg, values) - self._set_property("valuessrc", arg, valuessrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/table/_hoverlabel.py b/plotly/graph_objs/table/_hoverlabel.py index 8b519cfc7ac..3ea66251d83 100644 --- a/plotly/graph_objs/table/_hoverlabel.py +++ b/plotly/graph_objs/table/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "table.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/table/_stream.py b/plotly/graph_objs/table/_stream.py deleted file mode 100644 index 24b93ee4d9d..00000000000 --- a/plotly/graph_objs/table/_stream.py +++ /dev/null @@ -1,113 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "table" - _path_str = "table.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.table.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.table.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.table.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/table/cells/_fill.py b/plotly/graph_objs/table/cells/_fill.py index 7767853d5a6..f2260593d09 100644 --- a/plotly/graph_objs/table/cells/_fill.py +++ b/plotly/graph_objs/table/cells/_fill.py @@ -8,7 +8,7 @@ class Fill(_BaseTraceHierarchyType): _parent_path_str = "table.cells" _path_str = "table.cells.fill" - _valid_props = {"color", "colorsrc"} + _valid_props = {"color"} @property def color(self): @@ -34,36 +34,15 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def _prop_descriptions(self): return """\ color Sets the cell fill color. It accepts either a specific color or an array of colors or a 2D array of colors. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. """ - def __init__(self, arg=None, color=None, colorsrc=None, **kwargs): + def __init__(self, arg=None, color=None, **kwargs): """ Construct a new Fill object @@ -76,9 +55,6 @@ def __init__(self, arg=None, color=None, colorsrc=None, **kwargs): color Sets the cell fill color. It accepts either a specific color or an array of colors or a 2D array of colors. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. Returns ------- @@ -105,6 +81,5 @@ def __init__(self, arg=None, color=None, colorsrc=None, **kwargs): self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/table/cells/_font.py b/plotly/graph_objs/table/cells/_font.py index d6344fc14af..21d6e3ba5b0 100644 --- a/plotly/graph_objs/table/cells/_font.py +++ b/plotly/graph_objs/table/cells/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "table.cells.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -482,9 +274,6 @@ def __init__( :class:`plotly.graph_objs.table.cells.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -492,52 +281,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -564,22 +329,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/table/cells/_line.py b/plotly/graph_objs/table/cells/_line.py index 91583312423..bee0e57f857 100644 --- a/plotly/graph_objs/table/cells/_line.py +++ b/plotly/graph_objs/table/cells/_line.py @@ -8,7 +8,7 @@ class Line(_BaseTraceHierarchyType): _parent_path_str = "table.cells" _path_str = "table.cells.line" - _valid_props = {"color", "colorsrc", "width", "widthsrc"} + _valid_props = {"color", "width"} @property def color(self): @@ -31,24 +31,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def width(self): """ @@ -66,42 +48,16 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. width - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. """ - def __init__( - self, arg=None, color=None, colorsrc=None, width=None, widthsrc=None, **kwargs - ): + def __init__(self, arg=None, color=None, width=None, **kwargs): """ Construct a new Line object @@ -113,14 +69,8 @@ def __init__( :class:`plotly.graph_objs.table.cells.Line` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. width - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. Returns ------- @@ -147,8 +97,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/table/header/_fill.py b/plotly/graph_objs/table/header/_fill.py index 156dd952433..8b409e9beac 100644 --- a/plotly/graph_objs/table/header/_fill.py +++ b/plotly/graph_objs/table/header/_fill.py @@ -8,7 +8,7 @@ class Fill(_BaseTraceHierarchyType): _parent_path_str = "table.header" _path_str = "table.header.fill" - _valid_props = {"color", "colorsrc"} + _valid_props = {"color"} @property def color(self): @@ -34,36 +34,15 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def _prop_descriptions(self): return """\ color Sets the cell fill color. It accepts either a specific color or an array of colors or a 2D array of colors. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. """ - def __init__(self, arg=None, color=None, colorsrc=None, **kwargs): + def __init__(self, arg=None, color=None, **kwargs): """ Construct a new Fill object @@ -76,9 +55,6 @@ def __init__(self, arg=None, color=None, colorsrc=None, **kwargs): color Sets the cell fill color. It accepts either a specific color or an array of colors or a 2D array of colors. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. Returns ------- @@ -105,6 +81,5 @@ def __init__(self, arg=None, color=None, colorsrc=None, **kwargs): self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/table/header/_font.py b/plotly/graph_objs/table/header/_font.py index ef70ce781f3..ac3cb7ff2e2 100644 --- a/plotly/graph_objs/table/header/_font.py +++ b/plotly/graph_objs/table/header/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "table.header.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -482,9 +274,6 @@ def __init__( :class:`plotly.graph_objs.table.header.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -492,52 +281,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -564,22 +329,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/table/header/_line.py b/plotly/graph_objs/table/header/_line.py index 0c7e311e8e6..7a3dc1e5e9b 100644 --- a/plotly/graph_objs/table/header/_line.py +++ b/plotly/graph_objs/table/header/_line.py @@ -8,7 +8,7 @@ class Line(_BaseTraceHierarchyType): _parent_path_str = "table.header" _path_str = "table.header.line" - _valid_props = {"color", "colorsrc", "width", "widthsrc"} + _valid_props = {"color", "width"} @property def color(self): @@ -31,24 +31,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def width(self): """ @@ -66,42 +48,16 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. width - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. """ - def __init__( - self, arg=None, color=None, colorsrc=None, width=None, widthsrc=None, **kwargs - ): + def __init__(self, arg=None, color=None, width=None, **kwargs): """ Construct a new Line object @@ -113,14 +69,8 @@ def __init__( :class:`plotly.graph_objs.table.header.Line` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. width - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. Returns ------- @@ -147,8 +97,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/table/hoverlabel/_font.py b/plotly/graph_objs/table/hoverlabel/_font.py index 0e0ad4b34a3..92c4b6da9dd 100644 --- a/plotly/graph_objs/table/hoverlabel/_font.py +++ b/plotly/graph_objs/table/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "table.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.table.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/treemap/__init__.py b/plotly/graph_objs/treemap/__init__.py index 2387dd37901..c19ca9bfa41 100644 --- a/plotly/graph_objs/treemap/__init__.py +++ b/plotly/graph_objs/treemap/__init__.py @@ -10,7 +10,6 @@ from ._outsidetextfont import Outsidetextfont from ._pathbar import Pathbar from ._root import Root - from ._stream import Stream from ._textfont import Textfont from ._tiling import Tiling from . import hoverlabel @@ -32,7 +31,6 @@ "._outsidetextfont.Outsidetextfont", "._pathbar.Pathbar", "._root.Root", - "._stream.Stream", "._textfont.Textfont", "._tiling.Tiling", ], diff --git a/plotly/graph_objs/treemap/_domain.py b/plotly/graph_objs/treemap/_domain.py index 4fea2804dd9..1d5c474cc21 100644 --- a/plotly/graph_objs/treemap/_domain.py +++ b/plotly/graph_objs/treemap/_domain.py @@ -14,7 +14,7 @@ class Domain(_BaseTraceHierarchyType): def column(self): """ If there is a layout grid, use the domain for this column in - the grid for this treemap trace . + the grid for this treemap trace. The 'column' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -34,7 +34,7 @@ def column(self, val): def row(self): """ If there is a layout grid, use the domain for this row in the - grid for this treemap trace . + grid for this treemap trace. The 'row' property is an integer and may be specified as: - An int (or float that will be cast to an int) @@ -103,10 +103,10 @@ def _prop_descriptions(self): return """\ column If there is a layout grid, use the domain for this - column in the grid for this treemap trace . + column in the grid for this treemap trace. row If there is a layout grid, use the domain for this row - in the grid for this treemap trace . + in the grid for this treemap trace. x Sets the horizontal domain of this treemap trace (in plot fraction). @@ -127,10 +127,10 @@ def __init__(self, arg=None, column=None, row=None, x=None, y=None, **kwargs): :class:`plotly.graph_objs.treemap.Domain` column If there is a layout grid, use the domain for this - column in the grid for this treemap trace . + column in the grid for this treemap trace. row If there is a layout grid, use the domain for this row - in the grid for this treemap trace . + in the grid for this treemap trace. x Sets the horizontal domain of this treemap trace (in plot fraction). diff --git a/plotly/graph_objs/treemap/_hoverlabel.py b/plotly/graph_objs/treemap/_hoverlabel.py index 7626c0b34da..c922cfd8073 100644 --- a/plotly/graph_objs/treemap/_hoverlabel.py +++ b/plotly/graph_objs/treemap/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "treemap.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/treemap/_insidetextfont.py b/plotly/graph_objs/treemap/_insidetextfont.py index 96bd430a6f6..1af7646ee3e 100644 --- a/plotly/graph_objs/treemap/_insidetextfont.py +++ b/plotly/graph_objs/treemap/_insidetextfont.py @@ -10,23 +10,14 @@ class Insidetextfont(_BaseTraceHierarchyType): _path_str = "treemap.insidetextfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.treemap.Insidetextfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/treemap/_marker.py b/plotly/graph_objs/treemap/_marker.py index 7fb375d147c..f42c3a8df96 100644 --- a/plotly/graph_objs/treemap/_marker.py +++ b/plotly/graph_objs/treemap/_marker.py @@ -18,7 +18,6 @@ class Marker(_BaseTraceHierarchyType): "colorbar", "colors", "colorscale", - "colorssrc", "cornerradius", "depthfade", "line", @@ -205,7 +204,7 @@ def colorscale(self): Sets the colorscale. Has an effect only if colors is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, - hsv, or named color string. At minimum, a mapping for the + hsla, hwb, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and @@ -251,24 +250,6 @@ def colorscale(self): def colorscale(self, val): self["colorscale"] = val - @property - def colorssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `colors`. - - The 'colorssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorssrc"] - - @colorssrc.setter - def colorssrc(self, val): - self["colorssrc"] = val - @property def cornerradius(self): """ @@ -466,9 +447,9 @@ def _prop_descriptions(self): Sets the colorscale. Has an effect only if colors is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to - an rgb, rgba, hex, hsl, hsv, or named color string. At - minimum, a mapping for the lowest (0) and highest (1) - values are required. For example, `[[0, + an rgb, rgba, hex, hsl, hsla, hwb, or named color + string. At minimum, a mapping for the lowest (0) and + highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, @@ -476,9 +457,6 @@ def _prop_descriptions(self): following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorssrc - Sets the source reference on Chart Studio Cloud for - `colors`. cornerradius Sets the maximum rounding of corners (in px). depthfade @@ -523,7 +501,6 @@ def __init__( colorbar=None, colors=None, colorscale=None, - colorssrc=None, cornerradius=None, depthfade=None, line=None, @@ -592,9 +569,9 @@ def __init__( Sets the colorscale. Has an effect only if colors is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to - an rgb, rgba, hex, hsl, hsv, or named color string. At - minimum, a mapping for the lowest (0) and highest (1) - values are required. For example, `[[0, + an rgb, rgba, hex, hsl, hsla, hwb, or named color + string. At minimum, a mapping for the lowest (0) and + highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `marker.cmin` and `marker.cmax`. Alternatively, @@ -602,9 +579,6 @@ def __init__( following list: Blackbody,Bluered,Blues,Cividis,Earth,E lectric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,Rd Bu,Reds,Viridis,YlGnBu,YlOrRd. - colorssrc - Sets the source reference on Chart Studio Cloud for - `colors`. cornerradius Sets the maximum rounding of corners (in px). depthfade @@ -669,7 +643,6 @@ def __init__( self._set_property("colorbar", arg, colorbar) self._set_property("colors", arg, colors) self._set_property("colorscale", arg, colorscale) - self._set_property("colorssrc", arg, colorssrc) self._set_property("cornerradius", arg, cornerradius) self._set_property("depthfade", arg, depthfade) self._set_property("line", arg, line) diff --git a/plotly/graph_objs/treemap/_outsidetextfont.py b/plotly/graph_objs/treemap/_outsidetextfont.py index 4fc50d14b49..504f6737d17 100644 --- a/plotly/graph_objs/treemap/_outsidetextfont.py +++ b/plotly/graph_objs/treemap/_outsidetextfont.py @@ -10,23 +10,14 @@ class Outsidetextfont(_BaseTraceHierarchyType): _path_str = "treemap.outsidetextfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -488,9 +280,6 @@ def __init__( :class:`plotly.graph_objs.treemap.Outsidetextfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -498,52 +287,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -570,22 +335,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/treemap/_pathbar.py b/plotly/graph_objs/treemap/_pathbar.py index 3243811b535..331df61dae8 100644 --- a/plotly/graph_objs/treemap/_pathbar.py +++ b/plotly/graph_objs/treemap/_pathbar.py @@ -33,8 +33,8 @@ def edgeshape(self, val): @property def side(self): """ - Determines on which side of the the treemap the `pathbar` - should be presented. + Determines on which side of the treemap the `pathbar` should be + presented. The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -117,8 +117,8 @@ def _prop_descriptions(self): Determines which shape is used for edges between `barpath` labels. side - Determines on which side of the the treemap the - `pathbar` should be presented. + Determines on which side of the treemap the `pathbar` + should be presented. textfont Sets the font used inside `pathbar`. thickness @@ -153,8 +153,8 @@ def __init__( Determines which shape is used for edges between `barpath` labels. side - Determines on which side of the the treemap the - `pathbar` should be presented. + Determines on which side of the treemap the `pathbar` + should be presented. textfont Sets the font used inside `pathbar`. thickness diff --git a/plotly/graph_objs/treemap/_stream.py b/plotly/graph_objs/treemap/_stream.py deleted file mode 100644 index 54bbfd73c23..00000000000 --- a/plotly/graph_objs/treemap/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "treemap" - _path_str = "treemap.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.treemap.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.treemap.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.treemap.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/treemap/_textfont.py b/plotly/graph_objs/treemap/_textfont.py index 90b5d4b4e31..34a94b45ca8 100644 --- a/plotly/graph_objs/treemap/_textfont.py +++ b/plotly/graph_objs/treemap/_textfont.py @@ -10,23 +10,14 @@ class Textfont(_BaseTraceHierarchyType): _path_str = "treemap.textfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.treemap.Textfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/treemap/hoverlabel/_font.py b/plotly/graph_objs/treemap/hoverlabel/_font.py index 78a32e5e73a..5eddd26f25c 100644 --- a/plotly/graph_objs/treemap/hoverlabel/_font.py +++ b/plotly/graph_objs/treemap/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "treemap.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.treemap.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/treemap/marker/_colorbar.py b/plotly/graph_objs/treemap/marker/_colorbar.py index 293312ece80..ccdc027c5a7 100644 --- a/plotly/graph_objs/treemap/marker/_colorbar.py +++ b/plotly/graph_objs/treemap/marker/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/treemap/marker/_line.py b/plotly/graph_objs/treemap/marker/_line.py index 59f149a389f..0a2879a829c 100644 --- a/plotly/graph_objs/treemap/marker/_line.py +++ b/plotly/graph_objs/treemap/marker/_line.py @@ -8,7 +8,7 @@ class Line(_BaseTraceHierarchyType): _parent_path_str = "treemap.marker" _path_str = "treemap.marker.line" - _valid_props = {"color", "colorsrc", "width", "widthsrc"} + _valid_props = {"color", "width"} @property def color(self): @@ -34,24 +34,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def width(self): """ @@ -71,44 +53,18 @@ def width(self): def width(self, val): self["width"] = val - @property - def widthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `width`. - - The 'widthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["widthsrc"] - - @widthsrc.setter - def widthsrc(self, val): - self["widthsrc"] = val - @property def _prop_descriptions(self): return """\ color Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. width Sets the width (in px) of the line enclosing each sector. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. """ - def __init__( - self, arg=None, color=None, colorsrc=None, width=None, widthsrc=None, **kwargs - ): + def __init__(self, arg=None, color=None, width=None, **kwargs): """ Construct a new Line object @@ -121,15 +77,9 @@ def __init__( color Sets the color of the line enclosing each sector. Defaults to the `paper_bgcolor` value. - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. width Sets the width (in px) of the line enclosing each sector. - widthsrc - Sets the source reference on Chart Studio Cloud for - `width`. Returns ------- @@ -156,8 +106,6 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("width", arg, width) - self._set_property("widthsrc", arg, widthsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/treemap/marker/_pattern.py b/plotly/graph_objs/treemap/marker/_pattern.py index 57d4fc4883c..86b8c7ab879 100644 --- a/plotly/graph_objs/treemap/marker/_pattern.py +++ b/plotly/graph_objs/treemap/marker/_pattern.py @@ -10,19 +10,13 @@ class Pattern(_BaseTraceHierarchyType): _path_str = "treemap.marker.pattern" _valid_props = { "bgcolor", - "bgcolorsrc", "fgcolor", - "fgcolorsrc", "fgopacity", "fillmode", "path", - "pathsrc", "shape", - "shapesrc", "size", - "sizesrc", "solidity", - "soliditysrc", } @property @@ -51,24 +45,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def fgcolor(self): """ @@ -95,24 +71,6 @@ def fgcolor(self): def fgcolor(self, val): self["fgcolor"] = val - @property - def fgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `fgcolor`. - - The 'fgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["fgcolorsrc"] - - @fgcolorsrc.setter - def fgcolorsrc(self, val): - self["fgcolorsrc"] = val - @property def fgopacity(self): """ @@ -174,24 +132,6 @@ def path(self): def path(self, val): self["path"] = val - @property - def pathsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `path`. - - The 'pathsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["pathsrc"] - - @pathsrc.setter - def pathsrc(self, val): - self["pathsrc"] = val - @property def shape(self): """ @@ -213,24 +153,6 @@ def shape(self): def shape(self, val): self["shape"] = val - @property - def shapesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shape`. - - The 'shapesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shapesrc"] - - @shapesrc.setter - def shapesrc(self, val): - self["shapesrc"] = val - @property def size(self): """ @@ -251,24 +173,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def solidity(self): """ @@ -291,24 +195,6 @@ def solidity(self): def solidity(self, val): self["solidity"] = val - @property - def soliditysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `solidity`. - - The 'soliditysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["soliditysrc"] - - @soliditysrc.setter - def soliditysrc(self, val): - self["soliditysrc"] = val - @property def _prop_descriptions(self): return """\ @@ -317,18 +203,12 @@ def _prop_descriptions(self): background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background. - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. fgcolor When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`. - fgcolorsrc - Sets the source reference on Chart Studio Cloud for - `fgcolor`. fgopacity Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". @@ -341,50 +221,32 @@ def _prop_descriptions(self): `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color. - pathsrc - Sets the source reference on Chart Studio Cloud for - `path`. shape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. - shapesrc - Sets the source reference on Chart Studio Cloud for - `shape`. size Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. solidity Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern. - soliditysrc - Sets the source reference on Chart Studio Cloud for - `solidity`. """ def __init__( self, arg=None, bgcolor=None, - bgcolorsrc=None, fgcolor=None, - fgcolorsrc=None, fgopacity=None, fillmode=None, path=None, - pathsrc=None, shape=None, - shapesrc=None, size=None, - sizesrc=None, solidity=None, - soliditysrc=None, **kwargs, ): """ @@ -403,18 +265,12 @@ def __init__( background pattern fill. Defaults to a `marker.color` background when `fillmode` is "overlay". Otherwise, defaults to a transparent background. - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. fgcolor When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is "replace". Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`. - fgcolorsrc - Sets the source reference on Chart Studio Cloud for - `fgcolor`. fgopacity Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". @@ -427,31 +283,19 @@ def __init__( `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color. - pathsrc - Sets the source reference on Chart Studio Cloud for - `path`. shape Sets the shape of the pattern fill. By default, no pattern is used for filling the area. - shapesrc - Sets the source reference on Chart Studio Cloud for - `shape`. size Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern. - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. solidity Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern. - soliditysrc - Sets the source reference on Chart Studio Cloud for - `solidity`. Returns ------- @@ -478,18 +322,12 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("fgcolor", arg, fgcolor) - self._set_property("fgcolorsrc", arg, fgcolorsrc) self._set_property("fgopacity", arg, fgopacity) self._set_property("fillmode", arg, fillmode) self._set_property("path", arg, path) - self._set_property("pathsrc", arg, pathsrc) self._set_property("shape", arg, shape) - self._set_property("shapesrc", arg, shapesrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("solidity", arg, solidity) - self._set_property("soliditysrc", arg, soliditysrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/treemap/marker/colorbar/_title.py b/plotly/graph_objs/treemap/marker/colorbar/_title.py index 9e1633f7248..a681f3729f3 100644 --- a/plotly/graph_objs/treemap/marker/colorbar/_title.py +++ b/plotly/graph_objs/treemap/marker/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/treemap/pathbar/_textfont.py b/plotly/graph_objs/treemap/pathbar/_textfont.py index b07821f5f05..2290b242d71 100644 --- a/plotly/graph_objs/treemap/pathbar/_textfont.py +++ b/plotly/graph_objs/treemap/pathbar/_textfont.py @@ -10,23 +10,14 @@ class Textfont(_BaseTraceHierarchyType): _path_str = "treemap.pathbar.textfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.treemap.pathbar.Textfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/violin/__init__.py b/plotly/graph_objs/violin/__init__.py index bcd588d164b..38f76482188 100644 --- a/plotly/graph_objs/violin/__init__.py +++ b/plotly/graph_objs/violin/__init__.py @@ -9,7 +9,6 @@ from ._marker import Marker from ._meanline import Meanline from ._selected import Selected - from ._stream import Stream from ._unselected import Unselected from . import box from . import hoverlabel @@ -38,7 +37,6 @@ "._marker.Marker", "._meanline.Meanline", "._selected.Selected", - "._stream.Stream", "._unselected.Unselected", ], ) diff --git a/plotly/graph_objs/violin/_hoverlabel.py b/plotly/graph_objs/violin/_hoverlabel.py index 5e9f7d965db..0847a4a1782 100644 --- a/plotly/graph_objs/violin/_hoverlabel.py +++ b/plotly/graph_objs/violin/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "violin.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/violin/_stream.py b/plotly/graph_objs/violin/_stream.py deleted file mode 100644 index 959e45539e7..00000000000 --- a/plotly/graph_objs/violin/_stream.py +++ /dev/null @@ -1,113 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "violin" - _path_str = "violin.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.violin.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.violin.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.violin.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/violin/hoverlabel/_font.py b/plotly/graph_objs/violin/hoverlabel/_font.py index 21cbe22b75c..ef310f8ed2c 100644 --- a/plotly/graph_objs/violin/hoverlabel/_font.py +++ b/plotly/graph_objs/violin/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "violin.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.violin.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/volume/__init__.py b/plotly/graph_objs/volume/__init__.py index 27f503c0406..2e686e6f9dd 100644 --- a/plotly/graph_objs/volume/__init__.py +++ b/plotly/graph_objs/volume/__init__.py @@ -11,7 +11,6 @@ from ._lightposition import Lightposition from ._slices import Slices from ._spaceframe import Spaceframe - from ._stream import Stream from ._surface import Surface from . import caps from . import colorbar @@ -34,7 +33,6 @@ "._lightposition.Lightposition", "._slices.Slices", "._spaceframe.Spaceframe", - "._stream.Stream", "._surface.Surface", ], ) diff --git a/plotly/graph_objs/volume/_colorbar.py b/plotly/graph_objs/volume/_colorbar.py index d740b7b00a5..820ed2ce28d 100644 --- a/plotly/graph_objs/volume/_colorbar.py +++ b/plotly/graph_objs/volume/_colorbar.py @@ -45,9 +45,7 @@ class ColorBar(_BaseTraceHierarchyType): "ticks", "ticksuffix", "ticktext", - "ticktextsrc", "tickvals", - "tickvalssrc", "tickwidth", "title", "x", @@ -843,24 +841,6 @@ def ticktext(self): def ticktext(self, val): self["ticktext"] = val - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - @property def tickvals(self): """ @@ -880,24 +860,6 @@ def tickvals(self): def tickvals(self, val): self["tickvals"] = val - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - @property def tickwidth(self): """ @@ -1293,16 +1255,10 @@ def _prop_descriptions(self): Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1393,9 +1349,7 @@ def __init__( ticks=None, ticksuffix=None, ticktext=None, - ticktextsrc=None, tickvals=None, - tickvalssrc=None, tickwidth=None, title=None, x=None, @@ -1602,16 +1556,10 @@ def __init__( Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. tickvals Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. tickwidth Sets the tick width (in px). title @@ -1722,9 +1670,7 @@ def __init__( self._set_property("ticks", arg, ticks) self._set_property("ticksuffix", arg, ticksuffix) self._set_property("ticktext", arg, ticktext) - self._set_property("ticktextsrc", arg, ticktextsrc) self._set_property("tickvals", arg, tickvals) - self._set_property("tickvalssrc", arg, tickvalssrc) self._set_property("tickwidth", arg, tickwidth) self._set_property("title", arg, title) self._set_property("x", arg, x) diff --git a/plotly/graph_objs/volume/_hoverlabel.py b/plotly/graph_objs/volume/_hoverlabel.py index 9dd7ef8d5ae..8a9818b8af2 100644 --- a/plotly/graph_objs/volume/_hoverlabel.py +++ b/plotly/graph_objs/volume/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "volume.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/volume/_stream.py b/plotly/graph_objs/volume/_stream.py deleted file mode 100644 index 272624b252a..00000000000 --- a/plotly/graph_objs/volume/_stream.py +++ /dev/null @@ -1,113 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "volume" - _path_str = "volume.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.volume.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.volume.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.volume.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/volume/colorbar/_title.py b/plotly/graph_objs/volume/colorbar/_title.py index 17a9258c40f..dcf4f17d688 100644 --- a/plotly/graph_objs/volume/colorbar/_title.py +++ b/plotly/graph_objs/volume/colorbar/_title.py @@ -35,8 +35,8 @@ def font(self, val): def side(self): """ Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". + the color bar. Defaults to "top" when `orientation` is "v" and + defaults to "right" when `orientation` is "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -79,8 +79,8 @@ def _prop_descriptions(self): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. """ @@ -100,8 +100,8 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". + `orientation` is "v" and defaults to "right" when + `orientation` is "h". text Sets the title of the color bar. diff --git a/plotly/graph_objs/volume/hoverlabel/_font.py b/plotly/graph_objs/volume/hoverlabel/_font.py index 3bc57d5b68a..8880e513644 100644 --- a/plotly/graph_objs/volume/hoverlabel/_font.py +++ b/plotly/graph_objs/volume/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "volume.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.volume.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/volume/slices/_x.py b/plotly/graph_objs/volume/slices/_x.py index d3d69c095d0..887169dbf69 100644 --- a/plotly/graph_objs/volume/slices/_x.py +++ b/plotly/graph_objs/volume/slices/_x.py @@ -8,7 +8,7 @@ class X(_BaseTraceHierarchyType): _parent_path_str = "volume.slices" _path_str = "volume.slices.x" - _valid_props = {"fill", "locations", "locationssrc", "show"} + _valid_props = {"fill", "locations", "show"} @property def fill(self): @@ -51,25 +51,6 @@ def locations(self): def locations(self, val): self["locations"] = val - @property - def locationssrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `locations`. - - The 'locationssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["locationssrc"] - - @locationssrc.setter - def locationssrc(self, val): - self["locationssrc"] = val - @property def show(self): """ @@ -102,23 +83,12 @@ def _prop_descriptions(self): Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis x except start and end. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. show Determines whether or not slice planes about the x dimension are drawn. """ - def __init__( - self, - arg=None, - fill=None, - locations=None, - locationssrc=None, - show=None, - **kwargs, - ): + def __init__(self, arg=None, fill=None, locations=None, show=None, **kwargs): """ Construct a new X object @@ -138,9 +108,6 @@ def __init__( Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis x except start and end. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. show Determines whether or not slice planes about the x dimension are drawn. @@ -171,7 +138,6 @@ def __init__( self._set_property("fill", arg, fill) self._set_property("locations", arg, locations) - self._set_property("locationssrc", arg, locationssrc) self._set_property("show", arg, show) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/volume/slices/_y.py b/plotly/graph_objs/volume/slices/_y.py index 02268eb86c4..c27430e351b 100644 --- a/plotly/graph_objs/volume/slices/_y.py +++ b/plotly/graph_objs/volume/slices/_y.py @@ -8,7 +8,7 @@ class Y(_BaseTraceHierarchyType): _parent_path_str = "volume.slices" _path_str = "volume.slices.y" - _valid_props = {"fill", "locations", "locationssrc", "show"} + _valid_props = {"fill", "locations", "show"} @property def fill(self): @@ -51,25 +51,6 @@ def locations(self): def locations(self, val): self["locations"] = val - @property - def locationssrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `locations`. - - The 'locationssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["locationssrc"] - - @locationssrc.setter - def locationssrc(self, val): - self["locationssrc"] = val - @property def show(self): """ @@ -102,23 +83,12 @@ def _prop_descriptions(self): Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis y except start and end. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. show Determines whether or not slice planes about the y dimension are drawn. """ - def __init__( - self, - arg=None, - fill=None, - locations=None, - locationssrc=None, - show=None, - **kwargs, - ): + def __init__(self, arg=None, fill=None, locations=None, show=None, **kwargs): """ Construct a new Y object @@ -138,9 +108,6 @@ def __init__( Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis y except start and end. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. show Determines whether or not slice planes about the y dimension are drawn. @@ -171,7 +138,6 @@ def __init__( self._set_property("fill", arg, fill) self._set_property("locations", arg, locations) - self._set_property("locationssrc", arg, locationssrc) self._set_property("show", arg, show) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/volume/slices/_z.py b/plotly/graph_objs/volume/slices/_z.py index 871a163b8f8..83e133f94df 100644 --- a/plotly/graph_objs/volume/slices/_z.py +++ b/plotly/graph_objs/volume/slices/_z.py @@ -8,7 +8,7 @@ class Z(_BaseTraceHierarchyType): _parent_path_str = "volume.slices" _path_str = "volume.slices.z" - _valid_props = {"fill", "locations", "locationssrc", "show"} + _valid_props = {"fill", "locations", "show"} @property def fill(self): @@ -51,25 +51,6 @@ def locations(self): def locations(self, val): self["locations"] = val - @property - def locationssrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `locations`. - - The 'locationssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["locationssrc"] - - @locationssrc.setter - def locationssrc(self, val): - self["locationssrc"] = val - @property def show(self): """ @@ -102,23 +83,12 @@ def _prop_descriptions(self): Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis z except start and end. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. show Determines whether or not slice planes about the z dimension are drawn. """ - def __init__( - self, - arg=None, - fill=None, - locations=None, - locationssrc=None, - show=None, - **kwargs, - ): + def __init__(self, arg=None, fill=None, locations=None, show=None, **kwargs): """ Construct a new Z object @@ -138,9 +108,6 @@ def __init__( Specifies the location(s) of slices on the axis. When not specified slices would be created for all points of the axis z except start and end. - locationssrc - Sets the source reference on Chart Studio Cloud for - `locations`. show Determines whether or not slice planes about the z dimension are drawn. @@ -171,7 +138,6 @@ def __init__( self._set_property("fill", arg, fill) self._set_property("locations", arg, locations) - self._set_property("locationssrc", arg, locationssrc) self._set_property("show", arg, show) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/waterfall/__init__.py b/plotly/graph_objs/waterfall/__init__.py index e6bb5e4e4e4..b6f70b821cd 100644 --- a/plotly/graph_objs/waterfall/__init__.py +++ b/plotly/graph_objs/waterfall/__init__.py @@ -9,7 +9,6 @@ from ._insidetextfont import Insidetextfont from ._legendgrouptitle import Legendgrouptitle from ._outsidetextfont import Outsidetextfont - from ._stream import Stream from ._textfont import Textfont from ._totals import Totals from . import connector @@ -39,7 +38,6 @@ "._insidetextfont.Insidetextfont", "._legendgrouptitle.Legendgrouptitle", "._outsidetextfont.Outsidetextfont", - "._stream.Stream", "._textfont.Textfont", "._totals.Totals", ], diff --git a/plotly/graph_objs/waterfall/_hoverlabel.py b/plotly/graph_objs/waterfall/_hoverlabel.py index ae38a89d2d3..f8e9a46dd29 100644 --- a/plotly/graph_objs/waterfall/_hoverlabel.py +++ b/plotly/graph_objs/waterfall/_hoverlabel.py @@ -10,14 +10,10 @@ class Hoverlabel(_BaseTraceHierarchyType): _path_str = "waterfall.hoverlabel" _valid_props = { "align", - "alignsrc", "bgcolor", - "bgcolorsrc", "bordercolor", - "bordercolorsrc", "font", "namelength", - "namelengthsrc", "showarrow", } @@ -43,24 +39,6 @@ def align(self): def align(self, val): self["align"] = val - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - @property def bgcolor(self): """ @@ -84,24 +62,6 @@ def bgcolor(self): def bgcolor(self, val): self["bgcolor"] = val - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - @property def bordercolor(self): """ @@ -125,25 +85,6 @@ def bordercolor(self): def bordercolor(self, val): self["bordercolor"] = val - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - @property def font(self): """ @@ -190,25 +131,6 @@ def namelength(self): def namelength(self, val): self["namelength"] = val - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - @property def showarrow(self): """ @@ -235,21 +157,12 @@ def _prop_descriptions(self): Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -260,9 +173,6 @@ def _prop_descriptions(self): the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -272,14 +182,10 @@ def __init__( self, arg=None, align=None, - alignsrc=None, bgcolor=None, - bgcolorsrc=None, bordercolor=None, - bordercolorsrc=None, font=None, namelength=None, - namelengthsrc=None, showarrow=None, **kwargs, ): @@ -296,21 +202,12 @@ def __init__( Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. bgcolor Sets the background color of the hover labels for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. bordercolor Sets the border color of the hover labels for this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. font Sets the font used in hover labels. namelength @@ -321,9 +218,6 @@ def __init__( the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. showarrow Sets whether or not to show the hover label arrow/triangle pointing to the data point. @@ -353,14 +247,10 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("align", arg, align) - self._set_property("alignsrc", arg, alignsrc) self._set_property("bgcolor", arg, bgcolor) - self._set_property("bgcolorsrc", arg, bgcolorsrc) self._set_property("bordercolor", arg, bordercolor) - self._set_property("bordercolorsrc", arg, bordercolorsrc) self._set_property("font", arg, font) self._set_property("namelength", arg, namelength) - self._set_property("namelengthsrc", arg, namelengthsrc) self._set_property("showarrow", arg, showarrow) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/waterfall/_insidetextfont.py b/plotly/graph_objs/waterfall/_insidetextfont.py index 3a5678b9f88..6782e61459d 100644 --- a/plotly/graph_objs/waterfall/_insidetextfont.py +++ b/plotly/graph_objs/waterfall/_insidetextfont.py @@ -10,23 +10,14 @@ class Insidetextfont(_BaseTraceHierarchyType): _path_str = "waterfall.insidetextfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.waterfall.Insidetextfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/waterfall/_outsidetextfont.py b/plotly/graph_objs/waterfall/_outsidetextfont.py index e4c0ec0ba71..522518c6fde 100644 --- a/plotly/graph_objs/waterfall/_outsidetextfont.py +++ b/plotly/graph_objs/waterfall/_outsidetextfont.py @@ -10,23 +10,14 @@ class Outsidetextfont(_BaseTraceHierarchyType): _path_str = "waterfall.outsidetextfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.waterfall.Outsidetextfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/waterfall/_stream.py b/plotly/graph_objs/waterfall/_stream.py deleted file mode 100644 index 488e44dfcec..00000000000 --- a/plotly/graph_objs/waterfall/_stream.py +++ /dev/null @@ -1,114 +0,0 @@ -# --- THIS FILE IS AUTO-GENERATED --- -# Modifications will be overwitten the next time code generation run. - -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - _parent_path_str = "waterfall" - _path_str = "waterfall.stream" - _valid_props = {"maxpoints", "token"} - - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.waterfall.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super().__init__("stream") - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError("""\ -The first argument to the plotly.graph_objs.waterfall.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.waterfall.Stream`""") - - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - self._set_property("maxpoints", arg, maxpoints) - self._set_property("token", arg, token) - self._process_kwargs(**dict(arg, **kwargs)) - self._skip_invalid = False diff --git a/plotly/graph_objs/waterfall/_textfont.py b/plotly/graph_objs/waterfall/_textfont.py index 8115036747c..3b6e1092ab1 100644 --- a/plotly/graph_objs/waterfall/_textfont.py +++ b/plotly/graph_objs/waterfall/_textfont.py @@ -10,23 +10,14 @@ class Textfont(_BaseTraceHierarchyType): _path_str = "waterfall.textfont" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.waterfall.Textfont` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/graph_objs/waterfall/hoverlabel/_font.py b/plotly/graph_objs/waterfall/hoverlabel/_font.py index 5b4d6eb9cf3..c6885d8cc67 100644 --- a/plotly/graph_objs/waterfall/hoverlabel/_font.py +++ b/plotly/graph_objs/waterfall/hoverlabel/_font.py @@ -10,23 +10,14 @@ class Font(_BaseTraceHierarchyType): _path_str = "waterfall.hoverlabel.font" _valid_props = { "color", - "colorsrc", "family", - "familysrc", "lineposition", - "linepositionsrc", "shadow", - "shadowsrc", "size", - "sizesrc", "style", - "stylesrc", "textcase", - "textcasesrc", "variant", - "variantsrc", "weight", - "weightsrc", } @property @@ -50,24 +41,6 @@ def color(self): def color(self, val): self["color"] = val - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - @property def family(self): """ @@ -91,24 +64,6 @@ def family(self): def family(self, val): self["family"] = val - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - @property def lineposition(self): """ @@ -133,25 +88,6 @@ def lineposition(self): def lineposition(self, val): self["lineposition"] = val - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - @property def shadow(self): """ @@ -175,24 +111,6 @@ def shadow(self): def shadow(self, val): self["shadow"] = val - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - @property def size(self): """ @@ -210,24 +128,6 @@ def size(self): def size(self, val): self["size"] = val - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - @property def style(self): """ @@ -249,24 +149,6 @@ def style(self): def style(self, val): self["style"] = val - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - @property def textcase(self): """ @@ -289,24 +171,6 @@ def textcase(self): def textcase(self, val): self["textcase"] = val - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - @property def variant(self): """ @@ -328,24 +192,6 @@ def variant(self): def variant(self, val): self["variant"] = val - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - @property def weight(self): """ @@ -367,32 +213,11 @@ def weight(self): def weight(self, val): self["weight"] = val - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - @property def _prop_descriptions(self): return """\ color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -400,75 +225,42 @@ def _prop_descriptions(self): multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. """ def __init__( self, arg=None, color=None, - colorsrc=None, family=None, - familysrc=None, lineposition=None, - linepositionsrc=None, shadow=None, - shadowsrc=None, size=None, - sizesrc=None, style=None, - stylesrc=None, textcase=None, - textcasesrc=None, variant=None, - variantsrc=None, weight=None, - weightsrc=None, **kwargs, ): """ @@ -484,9 +276,6 @@ def __init__( :class:`plotly.graph_objs.waterfall.hoverlabel.Font` color - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. family HTML font family - the typeface that will be applied by the web browser. The web browser can only apply a font @@ -494,52 +283,28 @@ def __init__( multiple font families, separated by commas, to indicate the order in which to apply fonts if they aren't available. - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. lineposition Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. shadow Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en- US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. size - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. style Sets whether a font should be styled with a normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. textcase Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. variant Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. weight Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. Returns ------- @@ -566,22 +331,13 @@ def __init__( self._validate = kwargs.pop("_validate", True) self._set_property("color", arg, color) - self._set_property("colorsrc", arg, colorsrc) self._set_property("family", arg, family) - self._set_property("familysrc", arg, familysrc) self._set_property("lineposition", arg, lineposition) - self._set_property("linepositionsrc", arg, linepositionsrc) self._set_property("shadow", arg, shadow) - self._set_property("shadowsrc", arg, shadowsrc) self._set_property("size", arg, size) - self._set_property("sizesrc", arg, sizesrc) self._set_property("style", arg, style) - self._set_property("stylesrc", arg, stylesrc) self._set_property("textcase", arg, textcase) - self._set_property("textcasesrc", arg, textcasesrc) self._set_property("variant", arg, variant) - self._set_property("variantsrc", arg, variantsrc) self._set_property("weight", arg, weight) - self._set_property("weightsrc", arg, weightsrc) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/plotly/offline/_plotlyjs_version.py b/plotly/offline/_plotlyjs_version.py index 92ff52c8216..96f077c781b 100644 --- a/plotly/offline/_plotlyjs_version.py +++ b/plotly/offline/_plotlyjs_version.py @@ -1,3 +1,3 @@ # DO NOT EDIT # This file is generated by the updatebundle commands.py command -__plotlyjs_version__ = "3.6.0" +__plotlyjs_version__ = "4.0.0-rc.0" diff --git a/plotly/package_data/plotly.min.js b/plotly/package_data/plotly.min.js index 4e34b1e3cb0..29cab2b31e7 100644 --- a/plotly/package_data/plotly.min.js +++ b/plotly/package_data/plotly.min.js @@ -1,5 +1,5 @@ /** -* plotly.js v3.6.0 +* plotly.js v4.0.0-rc.0 * Copyright 2012-2026, Plotly, Inc. * All rights reserved. * Licensed under the MIT license @@ -12,93 +12,93 @@ root.moduleName = factory(); } } (typeof self !== "undefined" ? self : this, () => { -"use strict";var Plotly=(()=>{var wtt=Object.create;var FS=Object.defineProperty,Ttt=Object.defineProperties,Att=Object.getOwnPropertyDescriptor,Stt=Object.getOwnPropertyDescriptors,Mtt=Object.getOwnPropertyNames,g6=Object.getOwnPropertySymbols,Ett=Object.getPrototypeOf,Mq=Object.prototype.hasOwnProperty,gee=Object.prototype.propertyIsEnumerable;var pee=(e,t,r)=>t in e?FS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,_g=(e,t)=>{for(var r in t||(t={}))Mq.call(t,r)&&pee(e,r,t[r]);if(g6)for(var r of g6(t))gee.call(t,r)&&pee(e,r,t[r]);return e},j1=(e,t)=>Ttt(e,Stt(t));var mee=(e,t)=>{var r={};for(var n in e)Mq.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&g6)for(var n of g6(e))t.indexOf(n)<0&&gee.call(e,n)&&(r[n]=e[n]);return r};var gu=(e,t)=>()=>(e&&(t=e(e=0)),t);var ye=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),yee=(e,t)=>{for(var r in t)FS(e,r,{get:t[r],enumerable:!0})},_ee=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Mtt(t))!Mq.call(e,i)&&i!==r&&FS(e,i,{get:()=>t[i],enumerable:!(n=Att(t,i))||n.enumerable});return e};var ktt=(e,t,r)=>(r=e!=null?wtt(Ett(e)):{},_ee(t||!e||!e.__esModule?FS(r,"default",{value:e,enumerable:!0}):r,e)),gb=e=>_ee(FS({},"__esModule",{value:!0}),e);var m6=ye(xee=>{"use strict";xee.version="3.6.0"});var wee=ye((bee,y6)=>{(function(t,r,n){r[t]=r[t]||n(),typeof y6!="undefined"&&y6.exports&&(y6.exports=r[t])})("Promise",typeof window!="undefined"?window:bee,function(){"use strict";var t,r,n,i=Object.prototype.toString,a=typeof setImmediate!="undefined"?function(k){return setImmediate(k)}:setTimeout;try{Object.defineProperty({},"x",{}),t=function(k,M,T,L){return Object.defineProperty(k,M,{value:T,writable:!0,configurable:L!==!1})}}catch(p){t=function(M,T,L){return M[T]=L,M}}n=function(){var k,M,T;function L(x,C){this.fn=x,this.self=C,this.next=void 0}return{add:function(C,S){T=new L(C,S),M?M.next=T:k=T,M=T,T=void 0},drain:function(){var C=k;for(k=M=r=void 0;C;)C.fn.call(C.self),C=C.next}}}();function o(p,k){n.add(p,k),r||(r=a(n.drain))}function s(p){var k,M=typeof p;return p!=null&&(M=="object"||M=="function")&&(k=p.then),typeof k=="function"?k:!1}function l(){for(var p=0;p0&&o(l,M))}catch(T){f.call(new d(M),T)}}}function f(p){var k=this;k.triggered||(k.triggered=!0,k.def&&(k=k.def),k.msg=p,k.state=2,k.chain.length>0&&o(l,k))}function h(p,k,M,T){for(var L=0;L{(function(){var e={version:"3.8.2"},t=[].slice,r=function(X){return t.call(X)},n=self.document;function i(X){return X&&(X.ownerDocument||X.document||X).documentElement}function a(X){return X&&(X.ownerDocument&&X.ownerDocument.defaultView||X.document&&X||X.defaultView)}if(n)try{r(n.documentElement.childNodes)[0].nodeType}catch(X){r=function(se){for(var Te=se.length,qe=new Array(Te);Te--;)qe[Te]=se[Te];return qe}}if(Date.now||(Date.now=function(){return+new Date}),n)try{n.createElement("DIV").style.setProperty("opacity",0,"")}catch(X){var o=this.Element.prototype,s=o.setAttribute,l=o.setAttributeNS,u=this.CSSStyleDeclaration.prototype,c=u.setProperty;o.setAttribute=function(se,Te){s.call(this,se,Te+"")},o.setAttributeNS=function(se,Te,qe){l.call(this,se,Te,qe+"")},u.setProperty=function(se,Te,qe){c.call(this,se,Te+"",qe)}}e.ascending=f;function f(X,se){return Xse?1:X>=se?0:NaN}e.descending=function(X,se){return seX?1:se>=X?0:NaN},e.min=function(X,se){var Te=-1,qe=X.length,Ve,Ye;if(arguments.length===1){for(;++Te=Ye){Ve=Ye;break}for(;++TeYe&&(Ve=Ye)}else{for(;++Te=Ye){Ve=Ye;break}for(;++TeYe&&(Ve=Ye)}return Ve},e.max=function(X,se){var Te=-1,qe=X.length,Ve,Ye;if(arguments.length===1){for(;++Te=Ye){Ve=Ye;break}for(;++TeVe&&(Ve=Ye)}else{for(;++Te=Ye){Ve=Ye;break}for(;++TeVe&&(Ve=Ye)}return Ve},e.extent=function(X,se){var Te=-1,qe=X.length,Ve,Ye,Pt;if(arguments.length===1){for(;++Te=Ye){Ve=Pt=Ye;break}for(;++TeYe&&(Ve=Ye),Pt=Ye){Ve=Pt=Ye;break}for(;++TeYe&&(Ve=Ye),Pt1)return Pt/(Xt-1)},e.deviation=function(){var X=e.variance.apply(this,arguments);return X&&Math.sqrt(X)};function v(X){return{left:function(se,Te,qe,Ve){for(arguments.length<3&&(qe=0),arguments.length<4&&(Ve=se.length);qe>>1;X(se[Ye],Te)<0?qe=Ye+1:Ve=Ye}return qe},right:function(se,Te,qe,Ve){for(arguments.length<3&&(qe=0),arguments.length<4&&(Ve=se.length);qe>>1;X(se[Ye],Te)>0?Ve=Ye:qe=Ye+1}return qe}}}var m=v(f);e.bisectLeft=m.left,e.bisect=e.bisectRight=m.right,e.bisector=function(X){return v(X.length===1?function(se,Te){return f(X(se),Te)}:X)},e.shuffle=function(X,se,Te){(qe=arguments.length)<3&&(Te=X.length,qe<2&&(se=0));for(var qe=Te-se,Ve,Ye;qe;)Ye=Math.random()*qe--|0,Ve=X[qe+se],X[qe+se]=X[Ye+se],X[Ye+se]=Ve;return X},e.permute=function(X,se){for(var Te=se.length,qe=new Array(Te);Te--;)qe[Te]=X[se[Te]];return qe},e.pairs=function(X){for(var se=0,Te=X.length-1,qe,Ve=X[0],Ye=new Array(Te<0?0:Te);se=0;)for(Pt=X[se],Te=Pt.length;--Te>=0;)Ye[--Ve]=Pt[Te];return Ye};var p=Math.abs;e.range=function(X,se,Te){if(arguments.length<3&&(Te=1,arguments.length<2&&(se=X,X=0)),(se-X)/Te===1/0)throw new Error("infinite range");var qe=[],Ve=k(p(Te)),Ye=-1,Pt;if(X*=Ve,se*=Ve,Te*=Ve,Te<0)for(;(Pt=X+Te*++Ye)>se;)qe.push(Pt/Ve);else for(;(Pt=X+Te*++Ye)=se.length)return Ve?Ve.call(X,Xt):qe?Xt.sort(qe):Xt;for(var pr=-1,Ur=Xt.length,zr=se[dr++],gi,xi,Wr,ii=new T,di;++pr=se.length)return ot;var dr=[],pr=Te[Xt++];return ot.forEach(function(Ur,zr){dr.push({key:Ur,values:Pt(zr,Xt)})}),pr?dr.sort(function(Ur,zr){return pr(Ur.key,zr.key)}):dr}return X.map=function(ot,Xt){return Ye(Xt,ot,0)},X.entries=function(ot){return Pt(Ye(e.map,ot,0),0)},X.key=function(ot){return se.push(ot),X},X.sortKeys=function(ot){return Te[se.length-1]=ot,X},X.sortValues=function(ot){return qe=ot,X},X.rollup=function(ot){return Ve=ot,X},X},e.set=function(X){var se=new V;if(X)for(var Te=0,qe=X.length;Te=0&&(qe=X.slice(Te+1),X=X.slice(0,Te)),X)return arguments.length<2?this[X].on(qe):this[X].on(qe,se);if(arguments.length===2){if(se==null)for(X in this)this.hasOwnProperty(X)&&this[X].on(qe,null);return this}};function ae(X){var se=[],Te=new T;function qe(){for(var Ve=se,Ye=-1,Pt=Ve.length,ot;++Ye=0&&(Te=X.slice(0,se))!=="xmlns"&&(X=X.slice(se+1)),He.hasOwnProperty(Te)?{space:He[Te],local:X}:X}},Le.attr=function(X,se){if(arguments.length<2){if(typeof X=="string"){var Te=this.node();return X=e.ns.qualify(X),X.local?Te.getAttributeNS(X.space,X.local):Te.getAttribute(X)}for(se in X)this.each(lt(se,X[se]));return this}return this.each(lt(X,se))};function lt(X,se){X=e.ns.qualify(X);function Te(){this.removeAttribute(X)}function qe(){this.removeAttributeNS(X.space,X.local)}function Ve(){this.setAttribute(X,se)}function Ye(){this.setAttributeNS(X.space,X.local,se)}function Pt(){var Xt=se.apply(this,arguments);Xt==null?this.removeAttribute(X):this.setAttribute(X,Xt)}function ot(){var Xt=se.apply(this,arguments);Xt==null?this.removeAttributeNS(X.space,X.local):this.setAttributeNS(X.space,X.local,Xt)}return se==null?X.local?qe:Te:typeof se=="function"?X.local?ot:Pt:X.local?Ye:Ve}function mt(X){return X.trim().replace(/\s+/g," ")}Le.classed=function(X,se){if(arguments.length<2){if(typeof X=="string"){var Te=this.node(),qe=(X=at(X)).length,Ve=-1;if(se=Te.classList){for(;++Ve=0;)(Ye=Te[qe])&&(Ve&&Ve!==Ye.nextSibling&&Ve.parentNode.insertBefore(Ye,Ve),Ve=Ye);return this},Le.sort=function(X){X=rt.apply(this,arguments);for(var se=-1,Te=this.length;++se=se&&(se=Ve+1);!(Xt=Pt[se])&&++se0&&(X=X.slice(0,Ve));var Pt=jt.get(X);Pt&&(X=Pt,Ye=mr);function ot(){var pr=this[qe];pr&&(this.removeEventListener(X,pr,pr.$),delete this[qe])}function Xt(){var pr=Ye(se,r(arguments));ot.call(this),this.addEventListener(X,this[qe]=pr,pr.$=Te),pr._=se}function dr(){var pr=new RegExp("^__on([^.]+)"+e.requote(X)+"$"),Ur;for(var zr in this)if(Ur=zr.match(pr)){var gi=this[zr];this.removeEventListener(Ur[1],gi,gi.$),delete this[zr]}}return Ve?se?Xt:ot:se?H:dr}var jt=e.map({mouseenter:"mouseover",mouseleave:"mouseout"});n&&jt.forEach(function(X){"on"+X in n&&jt.remove(X)});function or(X,se){return function(Te){var qe=e.event;e.event=Te,se[0]=this.__data__;try{X.apply(this,se)}finally{e.event=qe}}}function mr(X,se){var Te=or(X,se);return function(qe){var Ve=this,Ye=qe.relatedTarget;(!Ye||Ye!==Ve&&!(Ye.compareDocumentPosition(Ve)&8))&&Te.call(Ve,qe)}}var Ar,ei=0;function qr(X){var se=".dragsuppress-"+ ++ei,Te="click"+se,qe=e.select(a(X)).on("touchmove"+se,_e).on("dragstart"+se,_e).on("selectstart"+se,_e);if(Ar==null&&(Ar="onselectstart"in X?!1:j(X.style,"userSelect")),Ar){var Ve=i(X).style,Ye=Ve[Ar];Ve[Ar]="none"}return function(Pt){if(qe.on(se,null),Ar&&(Ve[Ar]=Ye),Pt){var ot=function(){qe.on(Te,null)};qe.on(Te,function(){_e(),ot()},!0),setTimeout(ot,0)}}}e.mouse=function(X){return gt(X,Ee())};var jr=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function gt(X,se){se.changedTouches&&(se=se.changedTouches[0]);var Te=X.ownerSVGElement||X;if(Te.createSVGPoint){var qe=Te.createSVGPoint();if(jr<0){var Ve=a(X);if(Ve.scrollX||Ve.scrollY){Te=e.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var Ye=Te[0][0].getScreenCTM();jr=!(Ye.f||Ye.e),Te.remove()}}return jr?(qe.x=se.pageX,qe.y=se.pageY):(qe.x=se.clientX,qe.y=se.clientY),qe=qe.matrixTransform(X.getScreenCTM().inverse()),[qe.x,qe.y]}var Pt=X.getBoundingClientRect();return[se.clientX-Pt.left-X.clientLeft,se.clientY-Pt.top-X.clientTop]}e.touch=function(X,se,Te){if(arguments.length<3&&(Te=se,se=Ee().changedTouches),se){for(var qe=0,Ve=se.length,Ye;qe0?1:X<0?-1:0}function Ir(X,se,Te){return(se[0]-X[0])*(Te[1]-X[1])-(se[1]-X[1])*(Te[0]-X[0])}function Yr(X){return X>1?0:X<-1?et:Math.acos(X)}function _i(X){return X>1?Kt:X<-1?-Kt:Math.asin(X)}function Pi(X){return((X=Math.exp(X))-1/X)/2}function ai(X){return((X=Math.exp(X))+1/X)/2}function mi(X){return((X=Math.exp(2*X))-1)/(X+1)}function un(X){return(X=Math.sin(X/2))*X}var Fn=Math.SQRT2,An=2,Hn=4;e.interpolateZoom=function(X,se){var Te=X[0],qe=X[1],Ve=X[2],Ye=se[0],Pt=se[1],ot=se[2],Xt=Ye-Te,dr=Pt-qe,pr=Xt*Xt+dr*dr,Ur,zr;if(pr0&&(Un=Un.transition().duration(Pt)),Un.call(Ti.event)}function Ea(){ii&&ii.domain(Wr.range().map(function(Un){return(Un-X.x)/X.k}).map(Wr.invert)),Li&&Li.domain(di.range().map(function(Un){return(Un-X.y)/X.k}).map(di.invert))}function Ia(Un){ot++||Un({type:"zoomstart"})}function yo(Un){Ea(),Un({type:"zoom",scale:X.k,translate:[X.x,X.y]})}function Da(Un){--ot||(Un({type:"zoomend"}),Te=null)}function go(){var Un=this,ja=xi.of(Un,arguments),Fo=0,Uo=e.select(a(Un)).on(dr,bu).on(pr,dl),$s=Qr(e.mouse(Un)),Sl=qr(Un);fa.call(Un),Ia(ja);function bu(){Fo=1,Bn(e.mouse(Un),$s),yo(ja)}function dl(){Uo.on(dr,null).on(pr,null),Sl(Fo),Da(ja)}}function Is(){var Un=this,ja=xi.of(Un,arguments),Fo={},Uo=0,$s,Sl=".zoom-"+e.event.changedTouches[0].identifier,bu="touchmove"+Sl,dl="touchend"+Sl,Sc=[],Me=e.select(Un),bt=qr(Un);Lr(),Ia(ja),Me.on(Xt,null).on(zr,Lr);function Ot(){var Nr=e.touches(Un);return $s=X.k,Nr.forEach(function(vi){vi.identifier in Fo&&(Fo[vi.identifier]=Qr(vi))}),Nr}function Lr(){var Nr=e.event.target;e.select(Nr).on(bu,Vr).on(dl,Or),Sc.push(Nr);for(var vi=e.event.changedTouches,Ni=0,qi=vi.length;Ni1){var Qi=Si[0],ji=Si[1],oi=Qi[0]-ji[0],Tr=Qi[1]-ji[1];Uo=oi*oi+Tr*Tr}}function Vr(){var Nr=e.touches(Un),vi,Ni,qi,Si;fa.call(Un);for(var Vn=0,Qi=Nr.length;Vn1?1:se,Te=Te<0?0:Te>1?1:Te,Ve=Te<=.5?Te*(1+se):Te+se-Te*se,qe=2*Te-Ve;function Ye(ot){return ot>360?ot-=360:ot<0&&(ot+=360),ot<60?qe+(Ve-qe)*ot/60:ot<180?Ve:ot<240?qe+(Ve-qe)*(240-ot)/60:qe}function Pt(ot){return Math.round(Ye(ot)*255)}return new Wa(Pt(X+120),Pt(X),Pt(X-120))}e.hcl=ir;function ir(X,se,Te){return this instanceof ir?(this.h=+X,this.c=+se,void(this.l=+Te)):arguments.length<2?X instanceof ir?new ir(X.h,X.c,X.l):X instanceof ti?Mn(X.l,X.a,X.b):Mn((X=Gn((X=e.rgb(X)).r,X.g,X.b)).l,X.a,X.b):new ir(X,se,Te)}var wr=ir.prototype=new Jn;wr.brighter=function(X){return new ir(this.h,this.c,Math.min(100,this.l+$r*(arguments.length?X:1)))},wr.darker=function(X){return new ir(this.h,this.c,Math.max(0,this.l-$r*(arguments.length?X:1)))},wr.rgb=function(){return Xr(this.h,this.c,this.l).rgb()};function Xr(X,se,Te){return isNaN(X)&&(X=0),isNaN(se)&&(se=0),new ti(Te,Math.cos(X*=Qt)*se,Math.sin(X)*se)}e.lab=ti;function ti(X,se,Te){return this instanceof ti?(this.l=+X,this.a=+se,void(this.b=+Te)):arguments.length<2?X instanceof ti?new ti(X.l,X.a,X.b):X instanceof ir?Xr(X.h,X.c,X.l):Gn((X=Wa(X)).r,X.g,X.b):new ti(X,se,Te)}var $r=18,Ri=.95047,Zi=1,en=1.08883,fn=ti.prototype=new Jn;fn.brighter=function(X){return new ti(Math.min(100,this.l+$r*(arguments.length?X:1)),this.a,this.b)},fn.darker=function(X){return new ti(Math.max(0,this.l-$r*(arguments.length?X:1)),this.a,this.b)},fn.rgb=function(){return yn(this.l,this.a,this.b)};function yn(X,se,Te){var qe=(X+16)/116,Ve=qe+se/500,Ye=qe-Te/200;return Ve=Ba(Ve)*Ri,qe=Ba(qe)*Zi,Ye=Ba(Ye)*en,new Wa(ma(3.2404542*Ve-1.5371385*qe-.4985314*Ye),ma(-.969266*Ve+1.8760108*qe+.041556*Ye),ma(.0556434*Ve-.2040259*qe+1.0572252*Ye))}function Mn(X,se,Te){return X>0?new ir(Math.atan2(Te,se)*Mr,Math.sqrt(se*se+Te*Te),X):new ir(NaN,NaN,X)}function Ba(X){return X>.206893034?X*X*X:(X-4/29)/7.787037}function ua(X){return X>.008856?Math.pow(X,1/3):7.787037*X+4/29}function ma(X){return Math.round(255*(X<=.00304?12.92*X:1.055*Math.pow(X,1/2.4)-.055))}e.rgb=Wa;function Wa(X,se,Te){return this instanceof Wa?(this.r=~~X,this.g=~~se,void(this.b=~~Te)):arguments.length<2?X instanceof Wa?new Wa(X.r,X.g,X.b):Ha(""+X,Wa,tr):new Wa(X,se,Te)}function Fa(X){return new Wa(X>>16,X>>8&255,X&255)}function Xo(X){return Fa(X)+""}var da=Wa.prototype=new Jn;da.brighter=function(X){X=Math.pow(.7,arguments.length?X:1);var se=this.r,Te=this.g,qe=this.b,Ve=30;return!se&&!Te&&!qe?new Wa(Ve,Ve,Ve):(se&&se>4,qe=qe>>4|qe,Ve=Xt&240,Ve=Ve>>4|Ve,Ye=Xt&15,Ye=Ye<<4|Ye):X.length===7&&(qe=(Xt&16711680)>>16,Ve=(Xt&65280)>>8,Ye=Xt&255)),se(qe,Ve,Ye))}function vo(X,se,Te){var qe=Math.min(X/=255,se/=255,Te/=255),Ve=Math.max(X,se,Te),Ye=Ve-qe,Pt,ot,Xt=(Ve+qe)/2;return Ye?(ot=Xt<.5?Ye/(Ve+qe):Ye/(2-Ve-qe),X==Ve?Pt=(se-Te)/Ye+(se0&&Xt<1?0:Pt),new Gt(Pt,ot,Xt)}function Gn(X,se,Te){X=Ct(X),se=Ct(se),Te=Ct(Te);var qe=ua((.4124564*X+.3575761*se+.1804375*Te)/Ri),Ve=ua((.2126729*X+.7151522*se+.072175*Te)/Zi),Ye=ua((.0193339*X+.119192*se+.9503041*Te)/en);return ti(116*Ve-16,500*(qe-Ve),200*(Ve-Ye))}function Ct(X){return(X/=255)<=.04045?X/12.92:Math.pow((X+.055)/1.055,2.4)}function Sr(X){var se=parseFloat(X);return X.charAt(X.length-1)==="%"?Math.round(se*2.55):se}var Jr=e.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});Jr.forEach(function(X,se){Jr.set(X,Fa(se))});function hi(X){return typeof X=="function"?X:function(){return X}}e.functor=hi,e.xhr=hn(G);function hn(X){return function(se,Te,qe){return arguments.length===2&&typeof Te=="function"&&(qe=Te,Te=null),Sn(se,Te,X,qe)}}function Sn(X,se,Te,qe){var Ve={},Ye=e.dispatch("beforesend","progress","load","error"),Pt={},ot=new XMLHttpRequest,Xt=null;self.XDomainRequest&&!("withCredentials"in ot)&&/^(http(s)?:)?\/\//.test(X)&&(ot=new XDomainRequest),"onload"in ot?ot.onload=ot.onerror=dr:ot.onreadystatechange=function(){ot.readyState>3&&dr()};function dr(){var pr=ot.status,Ur;if(!pr&&ki(ot)||pr>=200&&pr<300||pr===304){try{Ur=Te.call(Ve,ot)}catch(zr){Ye.error.call(Ve,zr);return}Ye.load.call(Ve,Ur)}else Ye.error.call(Ve,ot)}return ot.onprogress=function(pr){var Ur=e.event;e.event=pr;try{Ye.progress.call(Ve,ot)}finally{e.event=Ur}},Ve.header=function(pr,Ur){return pr=(pr+"").toLowerCase(),arguments.length<2?Pt[pr]:(Ur==null?delete Pt[pr]:Pt[pr]=Ur+"",Ve)},Ve.mimeType=function(pr){return arguments.length?(se=pr==null?null:pr+"",Ve):se},Ve.responseType=function(pr){return arguments.length?(Xt=pr,Ve):Xt},Ve.response=function(pr){return Te=pr,Ve},["get","post"].forEach(function(pr){Ve[pr]=function(){return Ve.send.apply(Ve,[pr].concat(r(arguments)))}}),Ve.send=function(pr,Ur,zr){if(arguments.length===2&&typeof Ur=="function"&&(zr=Ur,Ur=null),ot.open(pr,X,!0),se!=null&&!("accept"in Pt)&&(Pt.accept=se+",*/*"),ot.setRequestHeader)for(var gi in Pt)ot.setRequestHeader(gi,Pt[gi]);return se!=null&&ot.overrideMimeType&&ot.overrideMimeType(se),Xt!=null&&(ot.responseType=Xt),zr!=null&&Ve.on("error",zr).on("load",function(xi){zr(null,xi)}),Ye.beforesend.call(Ve,ot),ot.send(Ur==null?null:Ur),Ve},Ve.abort=function(){return ot.abort(),Ve},e.rebind(Ve,Ye,"on"),qe==null?Ve:Ve.get(En(qe))}function En(X){return X.length===1?function(se,Te){X(se==null?Te:null)}:X}function ki(X){var se=X.responseType;return se&&se!=="text"?X.response:X.responseText}e.dsv=function(X,se){var Te=new RegExp('["'+X+` -]`),qe=X.charCodeAt(0);function Ve(dr,pr,Ur){arguments.length<3&&(Ur=pr,pr=null);var zr=Sn(dr,se,pr==null?Ye:Pt(pr),Ur);return zr.row=function(gi){return arguments.length?zr.response((pr=gi)==null?Ye:Pt(gi)):pr},zr}function Ye(dr){return Ve.parse(dr.responseText)}function Pt(dr){return function(pr){return Ve.parse(pr.responseText,dr)}}Ve.parse=function(dr,pr){var Ur;return Ve.parseRows(dr,function(zr,gi){if(Ur)return Ur(zr,gi-1);var xi=function(Wr){for(var ii={},di=zr.length,Li=0;Li=xi)return zr;if(Li)return Li=!1,Ur;var Pn=Wr;if(dr.charCodeAt(Pn)===34){for(var kn=Pn;kn++24?(isFinite(se)&&(clearTimeout(Ma),Ma=setTimeout(po,se)),ea=0):(ea=1,_o(po))}e.timer.flush=function(){Lo(),ko()};function Lo(){for(var X=Date.now(),se=_n;se;)X>=se.t&&se.c(X-se.t)&&(se.c=null),se=se.n;return X}function ko(){for(var X,se=_n,Te=1/0;se;)se.c?(se.t=0;--ot)Wr.push(Ve[dr[Ur[ot]][2]]);for(ot=+gi;ot1&&Ir(X[Te[qe-2]],X[Te[qe-1]],X[Ve])<=0;)--qe;Te[qe++]=Ve}return Te.slice(0,qe)}function ul(X,se){return X[0]-se[0]||X[1]-se[1]}e.geom.polygon=function(X){return re(X,zl),X};var zl=e.geom.polygon.prototype=[];zl.area=function(){for(var X=-1,se=this.length,Te,qe=this[se-1],Ve=0;++XJe)ot=ot.L;else if(Pt=se-xo(ot,Te),Pt>Je){if(!ot.R){qe=ot;break}ot=ot.R}else{Ye>-Je?(qe=ot.P,Ve=ot):Pt>-Je?(qe=ot,Ve=ot.N):qe=Ve=ot;break}var Xt=bs(X);if(zs.insert(qe,Xt),!(!qe&&!Ve)){if(qe===Ve){qo(qe),Ve=bs(qe.site),zs.insert(Xt,Ve),Xt.edge=Ve.edge=nf(qe.site,Xt.site),oa(qe),oa(Ve);return}if(!Ve){Xt.edge=nf(qe.site,Xt.site);return}qo(qe),qo(Ve);var dr=qe.site,pr=dr.x,Ur=dr.y,zr=X.x-pr,gi=X.y-Ur,xi=Ve.site,Wr=xi.x-pr,ii=xi.y-Ur,di=2*(zr*ii-gi*Wr),Li=zr*zr+gi*gi,Ti=Wr*Wr+ii*ii,Qr={x:(ii*Li-gi*Ti)/di+pr,y:(zr*Ti-Wr*Li)/di+Ur};pl(Ve.edge,dr,xi,Qr),Xt.edge=nf(dr,X,null,Qr),Ve.edge=nf(X,xi,null,Qr),oa(qe),oa(Ve)}}function ql(X,se){var Te=X.site,qe=Te.x,Ve=Te.y,Ye=Ve-se;if(!Ye)return qe;var Pt=X.P;if(!Pt)return-1/0;Te=Pt.site;var ot=Te.x,Xt=Te.y,dr=Xt-se;if(!dr)return ot;var pr=ot-qe,Ur=1/Ye-1/dr,zr=pr/dr;return Ur?(-zr+Math.sqrt(zr*zr-2*Ur*(pr*pr/(-2*dr)-Xt+dr/2+Ve-Ye/2)))/Ur+qe:(qe+ot)/2}function xo(X,se){var Te=X.N;if(Te)return ql(Te,se);var qe=X.site;return qe.y===se?qe.x:1/0}function Kl(X){this.site=X,this.edges=[]}Kl.prototype.prepare=function(){for(var X=this.edges,se=X.length,Te;se--;)Te=X[se].edge,(!Te.b||!Te.a)&&X.splice(se,1);return X.sort(Hl),X.length};function Ns(X){for(var se=X[0][0],Te=X[1][0],qe=X[0][1],Ve=X[1][1],Ye,Pt,ot,Xt,dr=Ks,pr=dr.length,Ur,zr,gi,xi,Wr,ii;pr--;)if(Ur=dr[pr],!(!Ur||!Ur.prepare()))for(gi=Ur.edges,xi=gi.length,zr=0;zrJe||p(Xt-Pt)>Je)&&(gi.splice(zr,0,new Zc(Vf(Ur.site,ii,p(ot-se)Je?{x:se,y:p(Ye-se)Je?{x:p(Pt-Ve)Je?{x:Te,y:p(Ye-Te)Je?{x:p(Pt-qe)=-We)){var zr=Xt*Xt+dr*dr,gi=pr*pr+ii*ii,xi=(ii*zr-dr*gi)/Ur,Wr=(Xt*gi-pr*zr)/Ur,ii=Wr+ot,di=Su.pop()||new ac;di.arc=X,di.site=Ve,di.x=xi+Pt,di.y=ii+Math.sqrt(xi*xi+Wr*Wr),di.cy=ii,X.circle=di;for(var Li=null,Ti=Yl._;Ti;)if(di.y0)){if(Wr/=gi,gi<0){if(Wr0){if(Wr>zr)return;Wr>Ur&&(Ur=Wr)}if(Wr=Te-ot,!(!gi&&Wr<0)){if(Wr/=gi,gi<0){if(Wr>zr)return;Wr>Ur&&(Ur=Wr)}else if(gi>0){if(Wr0)){if(Wr/=xi,xi<0){if(Wr0){if(Wr>zr)return;Wr>Ur&&(Ur=Wr)}if(Wr=qe-Xt,!(!xi&&Wr<0)){if(Wr/=xi,xi<0){if(Wr>zr)return;Wr>Ur&&(Ur=Wr)}else if(xi>0){if(Wr0&&(Ve.a={x:ot+Ur*gi,y:Xt+Ur*xi}),zr<1&&(Ve.b={x:ot+zr*gi,y:Xt+zr*xi}),Ve}}}}}}function Ol(X){for(var se=cl,Te=Oo(X[0][0],X[0][1],X[1][0],X[1][1]),qe=se.length,Ve;qe--;)Ve=se[qe],(!Pc(Ve,X)||!Te(Ve)||p(Ve.a.x-Ve.b.x)=Ye)return;if(pr>zr){if(!qe)qe={x:xi,y:Pt};else if(qe.y>=ot)return;Te={x:xi,y:ot}}else{if(!qe)qe={x:xi,y:ot};else if(qe.y1)if(pr>zr){if(!qe)qe={x:(Pt-di)/ii,y:Pt};else if(qe.y>=ot)return;Te={x:(ot-di)/ii,y:ot}}else{if(!qe)qe={x:(ot-di)/ii,y:ot};else if(qe.y=Ye)return;Te={x:Ye,y:ii*Ye+di}}else{if(!qe)qe={x:Ye,y:ii*Ye+di};else if(qe.x=pr&&di.x<=zr&&di.y>=Ur&&di.y<=gi?[[pr,gi],[zr,gi],[zr,Ur],[pr,Ur]]:[];Li.point=Xt[Wr]}),dr}function ot(Xt){return Xt.map(function(dr,pr){return{x:Math.round(qe(dr,pr)/Je)*Je,y:Math.round(Ve(dr,pr)/Je)*Je,i:pr}})}return Pt.links=function(Xt){return sc(ot(Xt)).edges.filter(function(dr){return dr.l&&dr.r}).map(function(dr){return{source:Xt[dr.l.i],target:Xt[dr.r.i]}})},Pt.triangles=function(Xt){var dr=[];return sc(ot(Xt)).cells.forEach(function(pr,Ur){for(var zr=pr.site,gi=pr.edges.sort(Hl),xi=-1,Wr=gi.length,ii,di,Li=gi[Wr-1].edge,Ti=Li.l===zr?Li.r:Li.l;++xiTi&&(Ti=pr.x),pr.y>Qr&&(Qr=pr.y),gi.push(pr.x),xi.push(pr.y);else for(Wr=0;WrTi&&(Ti=Pn),kn>Qr&&(Qr=kn),gi.push(Pn),xi.push(kn)}var Bn=Ti-di,na=Qr-Li;Bn>na?Qr=Li+Bn:Ti=di+na;function Ea(Da,go,Is,Ms,Xs,Un,ja,Fo){if(!(isNaN(Is)||isNaN(Ms)))if(Da.leaf){var Uo=Da.x,$s=Da.y;if(Uo!=null)if(p(Uo-Is)+p($s-Ms)<.01)Ia(Da,go,Is,Ms,Xs,Un,ja,Fo);else{var Sl=Da.point;Da.x=Da.y=Da.point=null,Ia(Da,Sl,Uo,$s,Xs,Un,ja,Fo),Ia(Da,go,Is,Ms,Xs,Un,ja,Fo)}else Da.x=Is,Da.y=Ms,Da.point=go}else Ia(Da,go,Is,Ms,Xs,Un,ja,Fo)}function Ia(Da,go,Is,Ms,Xs,Un,ja,Fo){var Uo=(Xs+ja)*.5,$s=(Un+Fo)*.5,Sl=Is>=Uo,bu=Ms>=$s,dl=bu<<1|Sl;Da.leaf=!1,Da=Da.nodes[dl]||(Da.nodes[dl]=$l()),Sl?Xs=Uo:ja=Uo,bu?Un=$s:Fo=$s,Ea(Da,go,Is,Ms,Xs,Un,ja,Fo)}var yo=$l();if(yo.add=function(Da){Ea(yo,Da,+Ur(Da,++Wr),+zr(Da,Wr),di,Li,Ti,Qr)},yo.visit=function(Da){fl(Da,yo,di,Li,Ti,Qr)},yo.find=function(Da){return lc(yo,Da[0],Da[1],di,Li,Ti,Qr)},Wr=-1,se==null){for(;++WrYe||zr>Pt||gi=Pn,na=Te>=kn,Ea=na<<1|Bn,Ia=Ea+4;EaTe&&(Ye=se.slice(Te,Ye),ot[Pt]?ot[Pt]+=Ye:ot[++Pt]=Ye),(qe=qe[0])===(Ve=Ve[0])?ot[Pt]?ot[Pt]+=Ve:ot[++Pt]=Ve:(ot[++Pt]=null,Xt.push({i:Pt,x:Hs(qe,Ve)})),Te=uc.lastIndex;return Te=0&&!(qe=e.interpolators[Te](X,se)););return qe}e.interpolators=[function(X,se){var Te=typeof se;return(Te==="string"?Jr.has(se.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(se)?Fu:Go:se instanceof Jn?Fu:Array.isArray(se)?Gu:Te==="object"&&isNaN(se)?Es:Hs)(X,se)}],e.interpolateArray=Gu;function Gu(X,se){var Te=[],qe=[],Ve=X.length,Ye=se.length,Pt=Math.min(X.length,se.length),ot;for(ot=0;ot=0?X.slice(0,se):X,qe=se>=0?X.slice(se+1):"in";return Te=od.get(Te)||Os,qe=Po.get(qe)||G,sd(qe(Te.apply(null,t.call(arguments,1))))};function sd(X){return function(se){return se<=0?0:se>=1?1:X(se)}}function Ko(X){return function(se){return 1-X(1-se)}}function Pa(X){return function(se){return .5*(se<.5?X(2*se):2-X(2-2*se))}}function of(X){return X*X}function Hu(X){return X*X*X}function bl(X){if(X<=0)return 0;if(X>=1)return 1;var se=X*X,Te=se*X;return 4*(X<.5?Te:3*(X-se)+Te-.75)}function Hf(X){return function(se){return Math.pow(se,X)}}function Ic(X){return 1-Math.cos(X*Kt)}function yf(X){return Math.pow(2,10*(X-1))}function Bl(X){return 1-Math.sqrt(1-X*X)}function Ah(X,se){var Te;return arguments.length<2&&(se=.45),arguments.length?Te=se/xt*Math.asin(1/X):(X=1,Te=se/4),function(qe){return 1+X*Math.pow(2,-10*qe)*Math.sin((qe-Te)*xt/se)}}function Qf(X){return X||(X=1.70158),function(se){return se*se*((X+1)*se-X)}}function _f(X){return X<1/2.75?7.5625*X*X:X<2/2.75?7.5625*(X-=1.5/2.75)*X+.75:X<2.5/2.75?7.5625*(X-=2.25/2.75)*X+.9375:7.5625*(X-=2.625/2.75)*X+.984375}e.interpolateHcl=Yc;function Yc(X,se){X=e.hcl(X),se=e.hcl(se);var Te=X.h,qe=X.c,Ve=X.l,Ye=se.h-Te,Pt=se.c-qe,ot=se.l-Ve;return isNaN(Pt)&&(Pt=0,qe=isNaN(qe)?se.c:qe),isNaN(Ye)?(Ye=0,Te=isNaN(Te)?se.h:Te):Ye>180?Ye-=360:Ye<-180&&(Ye+=360),function(Xt){return Xr(Te+Ye*Xt,qe+Pt*Xt,Ve+ot*Xt)+""}}e.interpolateHsl=eh;function eh(X,se){X=e.hsl(X),se=e.hsl(se);var Te=X.h,qe=X.s,Ve=X.l,Ye=se.h-Te,Pt=se.s-qe,ot=se.l-Ve;return isNaN(Pt)&&(Pt=0,qe=isNaN(qe)?se.s:qe),isNaN(Ye)?(Ye=0,Te=isNaN(Te)?se.h:Te):Ye>180?Ye-=360:Ye<-180&&(Ye+=360),function(Xt){return tr(Te+Ye*Xt,qe+Pt*Xt,Ve+ot*Xt)+""}}e.interpolateLab=th;function th(X,se){X=e.lab(X),se=e.lab(se);var Te=X.l,qe=X.a,Ve=X.b,Ye=se.l-Te,Pt=se.a-qe,ot=se.b-Ve;return function(Xt){return yn(Te+Ye*Xt,qe+Pt*Xt,Ve+ot*Xt)+""}}e.interpolateRound=ju;function ju(X,se){return se-=X,function(Te){return Math.round(X+se*Te)}}e.transform=function(X){var se=n.createElementNS(e.ns.prefix.svg,"g");return(e.transform=function(Te){if(Te!=null){se.setAttribute("transform",Te);var qe=se.transform.baseVal.consolidate()}return new jf(qe?qe.matrix:Kc)})(X)};function jf(X){var se=[X.a,X.b],Te=[X.c,X.d],qe=sf(se),Ve=cc(se,Te),Ye=sf(Nl(Te,se,-Ve))||0;se[0]*Te[1]180?se+=360:se-X>180&&(X+=360),qe.push({i:Te.push(Rc(Te)+"rotate(",null,")")-2,x:Hs(X,se)})):se&&Te.push(Rc(Te)+"rotate("+se+")")}function Wh(X,se,Te,qe){X!==se?qe.push({i:Te.push(Rc(Te)+"skewX(",null,")")-2,x:Hs(X,se)}):se&&Te.push(Rc(Te)+"skewX("+se+")")}function rh(X,se,Te,qe){if(X[0]!==se[0]||X[1]!==se[1]){var Ve=Te.push(Rc(Te)+"scale(",null,",",null,")");qe.push({i:Ve-4,x:Hs(X[0],se[0])},{i:Ve-2,x:Hs(X[1],se[1])})}else(se[0]!==1||se[1]!==1)&&Te.push(Rc(Te)+"scale("+se+")")}function lf(X,se){var Te=[],qe=[];return X=e.transform(X),se=e.transform(se),gs(X.translate,se.translate,Te,qe),Wf(X.rotate,se.rotate,Te,qe),Wh(X.skew,se.skew,Te,qe),rh(X.scale,se.scale,Te,qe),X=se=null,function(Ve){for(var Ye=-1,Pt=qe.length,ot;++Ye0?Ye=Qr:(Te.c=null,Te.t=NaN,Te=null,se.end({type:"end",alpha:Ye=0})):Qr>0&&(se.start({type:"start",alpha:Ye=Qr}),Te=No(X.tick)),X):Ye},X.start=function(){var Qr,Pn=gi.length,kn=xi.length,Bn=qe[0],na=qe[1],Ea,Ia;for(Qr=0;Qr=0;)Ye.push(pr=dr[Xt]),pr.parent=ot,pr.depth=ot.depth+1;Te&&(ot.value=0),ot.children=dr}else Te&&(ot.value=+Te.call(qe,ot,ot.depth)||0),delete ot.children;return wc(Ve,function(Ur){var zr,gi;X&&(zr=Ur.children)&&zr.sort(X),Te&&(gi=Ur.parent)&&(gi.value+=Ur.value)}),Pt}return qe.sort=function(Ve){return arguments.length?(X=Ve,qe):X},qe.children=function(Ve){return arguments.length?(se=Ve,qe):se},qe.value=function(Ve){return arguments.length?(Te=Ve,qe):Te},qe.revalue=function(Ve){return Te&&(Fc(Ve,function(Ye){Ye.children&&(Ye.value=0)}),wc(Ve,function(Ye){var Pt;Ye.children||(Ye.value=+Te.call(qe,Ye,Ye.depth)||0),(Pt=Ye.parent)&&(Pt.value+=Ye.value)})),Ve},qe};function zu(X,se){return e.rebind(X,se,"sort","children","value"),X.nodes=X,X.links=qu,X}function Fc(X,se){for(var Te=[X];(X=Te.pop())!=null;)if(se(X),(Ve=X.children)&&(qe=Ve.length))for(var qe,Ve;--qe>=0;)Te.push(Ve[qe])}function wc(X,se){for(var Te=[X],qe=[];(X=Te.pop())!=null;)if(qe.push(X),(Pt=X.children)&&(Ye=Pt.length))for(var Ve=-1,Ye,Pt;++VeVe&&(Ve=ot),qe.push(ot)}for(Pt=0;Ptqe&&(Te=se,qe=Ve);return Te}function Us(X){return X.reduce(wf,0)}function wf(X,se){return X+se[1]}e.layout.histogram=function(){var X=!0,se=Number,Te=Rf,qe=zc;function Ve(Ye,zr){for(var ot=[],Xt=Ye.map(se,this),dr=Te.call(this,Xt,zr),pr=qe.call(this,dr,Xt,zr),Ur,zr=-1,gi=Xt.length,xi=pr.length-1,Wr=X?1:1/gi,ii;++zr0)for(zr=-1;++zr=dr[0]&&ii<=dr[1]&&(Ur=ot[e.bisect(pr,ii,1,xi)-1],Ur.y+=Wr,Ur.push(Ye[zr]));return ot}return Ve.value=function(Ye){return arguments.length?(se=Ye,Ve):se},Ve.range=function(Ye){return arguments.length?(Te=hi(Ye),Ve):Te},Ve.bins=function(Ye){return arguments.length?(qe=typeof Ye=="number"?function(Pt){return Wu(Pt,Ye)}:hi(Ye),Ve):qe},Ve.frequency=function(Ye){return arguments.length?(X=!!Ye,Ve):X},Ve};function zc(X,se){return Wu(X,Math.ceil(Math.log(se.length)/Math.LN2+1))}function Wu(X,se){for(var Te=-1,qe=+X[0],Ve=(X[1]-qe)/se,Ye=[];++Te<=se;)Ye[Te]=Ve*Te+qe;return Ye}function Rf(X){return[e.min(X),e.max(X)]}e.layout.pack=function(){var X=e.layout.hierarchy().sort(Xu),se=0,Te=[1,1],qe;function Ve(Ye,Pt){var ot=X.call(this,Ye,Pt),Xt=ot[0],dr=Te[0],pr=Te[1],Ur=qe==null?Math.sqrt:typeof qe=="function"?qe:function(){return qe};if(Xt.x=Xt.y=0,wc(Xt,function(gi){gi.r=+Ur(gi.value)}),wc(Xt,ah),se){var zr=se*(qe?1:Math.max(2*Xt.r/dr,2*Xt.r/pr))/2;wc(Xt,function(gi){gi.r+=zr}),wc(Xt,ah),wc(Xt,function(gi){gi.r-=zr})}return Tc(Xt,dr/2,pr/2,qe?1:1/Math.max(2*Xt.r/dr,2*Xt.r/pr)),ot}return Ve.size=function(Ye){return arguments.length?(Te=Ye,Ve):Te},Ve.radius=function(Ye){return arguments.length?(qe=Ye==null||typeof Ye=="function"?Ye:+Ye,Ve):qe},Ve.padding=function(Ye){return arguments.length?(se=+Ye,Ve):se},zu(Ve,X)};function Xu(X,se){return X.value-se.value}function cf(X,se){var Te=X._pack_next;X._pack_next=se,se._pack_prev=X,se._pack_next=Te,Te._pack_prev=se}function Zf(X,se){X._pack_next=se,se._pack_prev=X}function Wl(X,se){var Te=se.x-X.x,qe=se.y-X.y,Ve=X.r+se.r;return .999*Ve*Ve>Te*Te+qe*qe}function ah(X){if(!(se=X.children)||!(zr=se.length))return;var se,Te=1/0,qe=-1/0,Ve=1/0,Ye=-1/0,Pt,ot,Xt,dr,pr,Ur,zr;function gi(Qr){Te=Math.min(Qr.x-Qr.r,Te),qe=Math.max(Qr.x+Qr.r,qe),Ve=Math.min(Qr.y-Qr.r,Ve),Ye=Math.max(Qr.y+Qr.r,Ye)}if(se.forEach(Zu),Pt=se[0],Pt.x=-Pt.r,Pt.y=0,gi(Pt),zr>1&&(ot=se[1],ot.x=ot.r,ot.y=0,gi(ot),zr>2))for(Xt=se[2],wl(Pt,ot,Xt),gi(Xt),cf(Pt,Xt),Pt._pack_prev=Xt,cf(Xt,ot),ot=Pt._pack_next,dr=3;drii.x&&(ii=Pn),Pn.depth>di.depth&&(di=Pn)});var Li=se(Wr,ii)/2-Wr.x,Ti=Te[0]/(ii.x+se(ii,Wr)/2+Li),Qr=Te[1]/(di.depth||1);Fc(gi,function(Pn){Pn.x=(Pn.x+Li)*Ti,Pn.y=Pn.depth*Qr})}return zr}function Ye(pr){for(var Ur={A:null,children:[pr]},zr=[Ur],gi;(gi=zr.pop())!=null;)for(var xi=gi.children,Wr,ii=0,di=xi.length;ii0&&(fc(kt(Wr,pr,zr),pr,Pn),di+=Pn,Li+=Pn),Ti+=Wr.m,di+=gi.m,Qr+=ii.m,Li+=xi.m;Wr&&!ff(xi)&&(xi.t=Wr,xi.m+=Ti-Li),gi&&!Oc(ii)&&(ii.t=gi,ii.m+=di-Qr,zr=pr)}return zr}function dr(pr){pr.x*=Te[0],pr.y=pr.depth*Te[1]}return Ve.separation=function(pr){return arguments.length?(se=pr,Ve):se},Ve.size=function(pr){return arguments.length?(qe=(Te=pr)==null?dr:null,Ve):qe?null:Te},Ve.nodeSize=function(pr){return arguments.length?(qe=(Te=pr)==null?null:dr,Ve):qe?Te:null},zu(Ve,X)};function vu(X,se){return X.parent==se.parent?1:2}function Oc(X){var se=X.children;return se.length?se[0]:X.t}function ff(X){var se=X.children,Te;return(Te=se.length)?se[Te-1]:X.t}function fc(X,se,Te){var qe=Te/(se.i-X.i);se.c-=qe,se.s+=Te,X.c+=qe,se.z+=Te,se.m+=Te}function Bc(X){for(var se=0,Te=0,qe=X.children,Ve=qe.length,Ye;--Ve>=0;)Ye=qe[Ve],Ye.z+=se,Ye.m+=se,se+=Ye.s+(Te+=Ye.c)}function kt(X,se,Te){return X.a.parent===se.parent?X.a:Te}e.layout.cluster=function(){var X=e.layout.hierarchy().sort(null).value(null),se=vu,Te=[1,1],qe=!1;function Ve(Ye,Pt){var ot=X.call(this,Ye,Pt),Xt=ot[0],dr,pr=0;wc(Xt,function(Wr){var ii=Wr.children;ii&&ii.length?(Wr.x=Er(ii),Wr.y=Zt(ii)):(Wr.x=dr?pr+=se(Wr,dr):0,Wr.y=0,dr=Wr)});var Ur=xr(Xt),zr=Kr(Xt),gi=Ur.x-se(Ur,zr)/2,xi=zr.x+se(zr,Ur)/2;return wc(Xt,qe?function(Wr){Wr.x=(Wr.x-Xt.x)*Te[0],Wr.y=(Xt.y-Wr.y)*Te[1]}:function(Wr){Wr.x=(Wr.x-gi)/(xi-gi)*Te[0],Wr.y=(1-(Xt.y?Wr.y/Xt.y:1))*Te[1]}),ot}return Ve.separation=function(Ye){return arguments.length?(se=Ye,Ve):se},Ve.size=function(Ye){return arguments.length?(qe=(Te=Ye)==null,Ve):qe?null:Te},Ve.nodeSize=function(Ye){return arguments.length?(qe=(Te=Ye)!=null,Ve):qe?Te:null},zu(Ve,X)};function Zt(X){return 1+e.max(X,function(se){return se.y})}function Er(X){return X.reduce(function(se,Te){return se+Te.x},0)/X.length}function xr(X){var se=X.children;return se&&se.length?xr(se[0]):X}function Kr(X){var se=X.children,Te;return se&&(Te=se.length)?Kr(se[Te-1]):X}e.layout.treemap=function(){var X=e.layout.hierarchy(),se=Math.round,Te=[1,1],qe=null,Ve=Mi,Ye=!1,Pt,ot="squarify",Xt=.5*(1+Math.sqrt(5));function dr(Wr,ii){for(var di=-1,Li=Wr.length,Ti,Qr;++di0;)Li.push(Qr=Ti[na-1]),Li.area+=Qr.area,ot!=="squarify"||(kn=zr(Li,Bn))<=Pn?(Ti.pop(),Pn=kn):(Li.area-=Li.pop().area,gi(Li,Bn,di,!1),Bn=Math.min(di.dx,di.dy),Li.length=Li.area=0,Pn=1/0);Li.length&&(gi(Li,Bn,di,!0),Li.length=Li.area=0),ii.forEach(pr)}}function Ur(Wr){var ii=Wr.children;if(ii&&ii.length){var di=Ve(Wr),Li=ii.slice(),Ti,Qr=[];for(dr(Li,di.dx*di.dy/Wr.value),Qr.area=0;Ti=Li.pop();)Qr.push(Ti),Qr.area+=Ti.area,Ti.z!=null&&(gi(Qr,Ti.z?di.dx:di.dy,di,!Li.length),Qr.length=Qr.area=0);ii.forEach(Ur)}}function zr(Wr,ii){for(var di=Wr.area,Li,Ti=0,Qr=1/0,Pn=-1,kn=Wr.length;++PnTi&&(Ti=Li));return di*=di,ii*=ii,di?Math.max(ii*Ti*Xt/di,di/(ii*Qr*Xt)):1/0}function gi(Wr,ii,di,Li){var Ti=-1,Qr=Wr.length,Pn=di.x,kn=di.y,Bn=ii?se(Wr.area/ii):0,na;if(ii==di.dx){for((Li||Bn>di.dy)&&(Bn=di.dy);++Tidi.dx)&&(Bn=di.dx);++Ti1);return X+se*qe*Math.sqrt(-2*Math.log(Ye)/Ye)}},logNormal:function(){var X=e.random.normal.apply(e,arguments);return function(){return Math.exp(X())}},bates:function(X){var se=e.random.irwinHall(X);return function(){return se()/X}},irwinHall:function(X){return function(){for(var se=0,Te=0;Te2?Fi:On,dr=qe?Mu:Sh;return Ve=Xt(X,se,dr,Te),Ye=Xt(se,X,dr,xl),ot}function ot(Xt){return Ve(Xt)}return ot.invert=function(Xt){return Ye(Xt)},ot.domain=function(Xt){return arguments.length?(X=Xt.map(Number),Pt()):X},ot.range=function(Xt){return arguments.length?(se=Xt,Pt()):se},ot.rangeRound=function(Xt){return ot.range(Xt).interpolate(ju)},ot.clamp=function(Xt){return arguments.length?(qe=Xt,Pt()):qe},ot.interpolate=function(Xt){return arguments.length?(Te=Xt,Pt()):Te},ot.ticks=function(Xt){return Ua(X,Xt)},ot.tickFormat=function(Xt,dr){return d3_scale_linearTickFormat(X,Xt,dr)},ot.nice=function(Xt){return Ra(X,Xt),Pt()},ot.copy=function(){return ta(X,se,Te,qe)},Pt()}function Ca(X,se){return e.rebind(X,se,"range","rangeRound","interpolate","clamp")}function Ra(X,se){return Yi(X,$i(La(X,se)[2])),Yi(X,$i(La(X,se)[2])),X}function La(X,se){se==null&&(se=10);var Te=dn(X),qe=Te[1]-Te[0],Ve=Math.pow(10,Math.floor(Math.log(qe/se)/Math.LN10)),Ye=se/qe*Ve;return Ye<=.15?Ve*=10:Ye<=.35?Ve*=5:Ye<=.75&&(Ve*=2),Te[0]=Math.ceil(Te[0]/Ve)*Ve,Te[1]=Math.floor(Te[1]/Ve)*Ve+Ve*.5,Te[2]=Ve,Te}function Ua(X,se){return e.range.apply(e,La(X,se))}var Zn={s:1,g:1,p:1,r:1,e:1};function Dn(X){return-Math.floor(Math.log(X)/Math.LN10+.01)}function Ka(X,se){var Te=Dn(se[2]);return X in Zn?Math.abs(Te-Dn(Math.max(p(se[0]),p(se[1]))))+ +(X!=="e"):Te-(X==="%")*2}e.scale.log=function(){return bo(e.scale.linear().domain([0,1]),10,!0,[1,10])};function bo(X,se,Te,qe){function Ve(ot){return(Te?Math.log(ot<0?0:ot):-Math.log(ot>0?0:-ot))/Math.log(se)}function Ye(ot){return Te?Math.pow(se,ot):-Math.pow(se,-ot)}function Pt(ot){return X(Ve(ot))}return Pt.invert=function(ot){return Ye(X.invert(ot))},Pt.domain=function(ot){return arguments.length?(Te=ot[0]>=0,X.domain((qe=ot.map(Number)).map(Ve)),Pt):qe},Pt.base=function(ot){return arguments.length?(se=+ot,X.domain(qe.map(Ve)),Pt):se},Pt.nice=function(){var ot=Yi(qe.map(Ve),Te?Math:Zo);return X.domain(ot),qe=ot.map(Ye),Pt},Pt.ticks=function(){var ot=dn(qe),Xt=[],dr=ot[0],pr=ot[1],Ur=Math.floor(Ve(dr)),zr=Math.ceil(Ve(pr)),gi=se%1?2:se;if(isFinite(zr-Ur)){if(Te){for(;Ur0;xi--)Xt.push(Ye(Ur)*xi);for(Ur=0;Xt[Ur]pr;zr--);Xt=Xt.slice(Ur,zr)}return Xt},Pt.copy=function(){return bo(X.copy(),se,Te,qe)},Ca(Pt,X)}var Zo={floor:function(X){return-Math.ceil(-X)},ceil:function(X){return-Math.floor(-X)}};e.scale.pow=function(){return Ss(e.scale.linear(),1,[0,1])};function Ss(X,se,Te){var qe=as(se),Ve=as(1/se);function Ye(Pt){return X(qe(Pt))}return Ye.invert=function(Pt){return Ve(X.invert(Pt))},Ye.domain=function(Pt){return arguments.length?(X.domain((Te=Pt.map(Number)).map(qe)),Ye):Te},Ye.ticks=function(Pt){return Ua(Te,Pt)},Ye.tickFormat=function(Pt,ot){return d3_scale_linearTickFormat(Te,Pt,ot)},Ye.nice=function(Pt){return Ye.domain(Ra(Te,Pt))},Ye.exponent=function(Pt){return arguments.length?(qe=as(se=Pt),Ve=as(1/se),X.domain(Te.map(qe)),Ye):se},Ye.copy=function(){return Ss(X.copy(),se,Te)},Ca(Ye,X)}function as(X){return function(se){return se<0?-Math.pow(-se,X):Math.pow(se,X)}}e.scale.sqrt=function(){return e.scale.pow().exponent(.5)},e.scale.ordinal=function(){return ws([],{t:"range",a:[[]]})};function ws(X,se){var Te,qe,Ve;function Ye(ot){return qe[((Te.get(ot)||(se.t==="range"?Te.set(ot,X.push(ot)):NaN))-1)%qe.length]}function Pt(ot,Xt){return e.range(X.length).map(function(dr){return ot+Xt*dr})}return Ye.domain=function(ot){if(!arguments.length)return X;X=[],Te=new T;for(var Xt=-1,dr=ot.length,pr;++Xt0?Te[Ye-1]:X[0],Yezr?0:1;if(pr=At)return Xt(pr,xi)+(dr?Xt(dr,1-xi):"")+"Z";var Wr,ii,di,Li,Ti=0,Qr=0,Pn,kn,Bn,na,Ea,Ia,yo,Da,go=[];if((Li=(+Pt.apply(this,arguments)||0)/2)&&(di=qe===Cu?Math.sqrt(dr*dr+pr*pr):+qe.apply(this,arguments),xi||(Qr*=-1),pr&&(Qr=_i(di/pr*Math.sin(Li))),dr&&(Ti=_i(di/dr*Math.sin(Li)))),pr){Pn=pr*Math.cos(Ur+Qr),kn=pr*Math.sin(Ur+Qr),Bn=pr*Math.cos(zr-Qr),na=pr*Math.sin(zr-Qr);var Is=Math.abs(zr-Ur-2*Qr)<=et?0:1;if(Qr&&Ac(Pn,kn,Bn,na)===xi^Is){var Ms=(Ur+zr)/2;Pn=pr*Math.cos(Ms),kn=pr*Math.sin(Ms),Bn=na=null}}else Pn=kn=0;if(dr){Ea=dr*Math.cos(zr-Ti),Ia=dr*Math.sin(zr-Ti),yo=dr*Math.cos(Ur+Ti),Da=dr*Math.sin(Ur+Ti);var Xs=Math.abs(Ur-zr+2*Ti)<=et?0:1;if(Ti&&Ac(Ea,Ia,yo,Da)===1-xi^Xs){var Un=(Ur+zr)/2;Ea=dr*Math.cos(Un),Ia=dr*Math.sin(Un),yo=Da=null}}else Ea=Ia=0;if(gi>Je&&(Wr=Math.min(Math.abs(pr-dr)/2,+Te.apply(this,arguments)))>.001){ii=dr0?0:1}function Va(X,se,Te,qe,Ve){var Ye=X[0]-se[0],Pt=X[1]-se[1],ot=(Ve?qe:-qe)/Math.sqrt(Ye*Ye+Pt*Pt),Xt=ot*Pt,dr=-ot*Ye,pr=X[0]+Xt,Ur=X[1]+dr,zr=se[0]+Xt,gi=se[1]+dr,xi=(pr+zr)/2,Wr=(Ur+gi)/2,ii=zr-pr,di=gi-Ur,Li=ii*ii+di*di,Ti=Te-qe,Qr=pr*gi-zr*Ur,Pn=(di<0?-1:1)*Math.sqrt(Math.max(0,Ti*Ti*Li-Qr*Qr)),kn=(Qr*di-ii*Pn)/Li,Bn=(-Qr*ii-di*Pn)/Li,na=(Qr*di+ii*Pn)/Li,Ea=(-Qr*ii+di*Pn)/Li,Ia=kn-xi,yo=Bn-Wr,Da=na-xi,go=Ea-Wr;return Ia*Ia+yo*yo>Da*Da+go*go&&(kn=na,Bn=Ea),[[kn-Xt,Bn-dr],[kn*Te/Ti,Bn*Te/Ti]]}function oo(){return!0}function Vc(X){var se=Ds,Te=Fs,qe=oo,Ve=Ku,Ye=Ve.key,Pt=.7;function ot(Xt){var dr=[],pr=[],Ur=-1,zr=Xt.length,gi,xi=hi(se),Wr=hi(Te);function ii(){dr.push("M",Ve(X(pr),Pt))}for(;++Ur1?X.join("L"):X+"Z"}function ue(X){return X.join("L")+"Z"}function w(X){for(var se=0,Te=X.length,qe=X[0],Ve=[qe[0],",",qe[1]];++se1&&Ve.push("H",qe[0]),Ve.join("")}function B(X){for(var se=0,Te=X.length,qe=X[0],Ve=[qe[0],",",qe[1]];++se1){ot=se[1],Ye=X[Xt],Xt++,qe+="C"+(Ve[0]+Pt[0])+","+(Ve[1]+Pt[1])+","+(Ye[0]-ot[0])+","+(Ye[1]-ot[1])+","+Ye[0]+","+Ye[1];for(var dr=2;dr9&&(Ye=Te*3/Math.sqrt(Ye),Pt[ot]=Ye*qe,Pt[ot+1]=Ye*Ve));for(ot=-1;++ot<=Xt;)Ye=(X[Math.min(Xt,ot+1)][0]-X[Math.max(0,ot-1)][0])/(6*(1+Pt[ot]*Pt[ot])),se.push([Ye||0,Pt[ot]*Ye||0]);return se}function qt(X){return X.length<3?Ku(X):X[0]+Ze(X,nt(X))}e.svg.line.radial=function(){var X=Vc(Wt);return X.radius=X.x,delete X.x,X.angle=X.y,delete X.y,X};function Wt(X){for(var se,Te=-1,qe=X.length,Ve,Ye;++Teet)+",1 "+Ur}function dr(pr,Ur,zr,gi){return"Q 0,0 "+gi}return Ye.radius=function(pr){return arguments.length?(Te=hi(pr),Ye):Te},Ye.source=function(pr){return arguments.length?(X=hi(pr),Ye):X},Ye.target=function(pr){return arguments.length?(se=hi(pr),Ye):se},Ye.startAngle=function(pr){return arguments.length?(qe=hi(pr),Ye):qe},Ye.endAngle=function(pr){return arguments.length?(Ve=hi(pr),Ye):Ve},Ye};function Fr(X){return X.radius}e.svg.diagonal=function(){var X=fr,se=br,Te=Hr;function qe(Ve,Ye){var Pt=X.call(this,Ve,Ye),ot=se.call(this,Ve,Ye),Xt=(Pt.y+ot.y)/2,dr=[Pt,{x:Pt.x,y:Xt},{x:ot.x,y:Xt},ot];return dr=dr.map(Te),"M"+dr[0]+"C"+dr[1]+" "+dr[2]+" "+dr[3]}return qe.source=function(Ve){return arguments.length?(X=hi(Ve),qe):X},qe.target=function(Ve){return arguments.length?(se=hi(Ve),qe):se},qe.projection=function(Ve){return arguments.length?(Te=Ve,qe):Te},qe};function Hr(X){return[X.x,X.y]}e.svg.diagonal.radial=function(){var X=e.svg.diagonal(),se=Hr,Te=X.projection;return X.projection=function(qe){return arguments.length?Te(ri(se=qe)):se},X};function ri(X){return function(){var se=X.apply(this,arguments),Te=se[0],qe=se[1]-Kt;return[Te*Math.cos(qe),Te*Math.sin(qe)]}}e.svg.symbol=function(){var X=cn,se=Ci;function Te(qe,Ve){return(Ln.get(X.call(this,qe,Ve))||sn)(se.call(this,qe,Ve))}return Te.type=function(qe){return arguments.length?(X=hi(qe),Te):X},Te.size=function(qe){return arguments.length?(se=hi(qe),Te):se},Te};function Ci(){return 64}function cn(){return"circle"}function sn(X){var se=Math.sqrt(X/et);return"M0,"+se+"A"+se+","+se+" 0 1,1 0,"+-se+"A"+se+","+se+" 0 1,1 0,"+se+"Z"}var Ln=e.map({circle:sn,cross:function(X){var se=Math.sqrt(X/5)/2;return"M"+-3*se+","+-se+"H"+-se+"V"+-3*se+"H"+se+"V"+-se+"H"+3*se+"V"+se+"H"+se+"V"+3*se+"H"+-se+"V"+se+"H"+-3*se+"Z"},diamond:function(X){var se=Math.sqrt(X/(2*Aa)),Te=se*Aa;return"M0,"+-se+"L"+Te+",0 0,"+se+" "+-Te+",0Z"},square:function(X){var se=Math.sqrt(X)/2;return"M"+-se+","+-se+"L"+se+","+-se+" "+se+","+se+" "+-se+","+se+"Z"},"triangle-down":function(X){var se=Math.sqrt(X/Yn),Te=se*Yn/2;return"M0,"+Te+"L"+se+","+-Te+" "+-se+","+-Te+"Z"},"triangle-up":function(X){var se=Math.sqrt(X/Yn),Te=se*Yn/2;return"M0,"+-Te+"L"+se+","+Te+" "+-se+","+Te+"Z"}});e.svg.symbolTypes=Ln.keys();var Yn=Math.sqrt(3),Aa=Math.tan(30*Qt);Le.transition=function(X){for(var se=Bo||++mo,Te=To(X),qe=[],Ve,Ye,Pt=Ps||{time:Date.now(),ease:bl,delay:0,duration:250},ot=-1,Xt=this.length;++ot0;)Ur[--Li].call(X,di);if(ii>=1)return Pt.event&&Pt.event.end.call(X,X.__data__,se),--Ye.count?delete Ye[qe]:delete X[Te],1}Pt||(ot=Ve.time,Xt=No(zr,0,ot),Pt=Ye[qe]={tween:new T,time:ot,timer:Xt,delay:Ve.delay,duration:Ve.duration,ease:Ve.ease,index:se},Ve=null,++Ye.count)}e.svg.axis=function(){var X=e.scale.linear(),se=Ul,Te=6,qe=6,Ve=3,Ye=[10],Pt=null,ot;function Xt(dr){dr.each(function(){var pr=e.select(this),Ur=this.__chart__||X,zr=this.__chart__=X.copy(),gi=Pt==null?zr.ticks?zr.ticks.apply(zr,Ye):zr.domain():Pt,xi=ot==null?zr.tickFormat?zr.tickFormat.apply(zr,Ye):G:ot,Wr=pr.selectAll(".tick").data(gi,zr),ii=Wr.enter().insert("g",".domain").attr("class","tick").style("opacity",Je),di=e.transition(Wr.exit()).style("opacity",Je).remove(),Li=e.transition(Wr.order()).style("opacity",1),Ti=Math.max(Te,0)+Ve,Qr,Pn=wn(zr),kn=pr.selectAll(".domain").data([0]),Bn=(kn.enter().append("path").attr("class","domain"),e.transition(kn));ii.append("line"),ii.append("text");var na=ii.select("line"),Ea=Li.select("line"),Ia=Wr.select("text").text(xi),yo=ii.select("text"),Da=Li.select("text"),go=se==="top"||se==="left"?-1:1,Is,Ms,Xs,Un;if(se==="bottom"||se==="top"?(Qr=au,Is="x",Xs="y",Ms="x2",Un="y2",Ia.attr("dy",go<0?"0em":".71em").style("text-anchor","middle"),Bn.attr("d","M"+Pn[0]+","+go*qe+"V0H"+Pn[1]+"V"+go*qe)):(Qr=Js,Is="y",Xs="x",Ms="y2",Un="x2",Ia.attr("dy",".32em").style("text-anchor",go<0?"end":"start"),Bn.attr("d","M"+go*qe+","+Pn[0]+"H0V"+Pn[1]+"H"+go*qe)),na.attr(Un,go*Te),yo.attr(Xs,go*Ti),Ea.attr(Ms,0).attr(Un,go*Te),Da.attr(Is,0).attr(Xs,go*Ti),zr.rangeBand){var ja=zr,Fo=ja.rangeBand()/2;Ur=zr=function(Uo){return ja(Uo)+Fo}}else Ur.rangeBand?Ur=zr:di.call(Qr,zr,Ur);ii.call(Qr,Ur,zr),Li.call(Qr,zr,zr)})}return Xt.scale=function(dr){return arguments.length?(X=dr,Xt):X},Xt.orient=function(dr){return arguments.length?(se=dr in Lu?dr+"":Ul,Xt):se},Xt.ticks=function(){return arguments.length?(Ye=r(arguments),Xt):Ye},Xt.tickValues=function(dr){return arguments.length?(Pt=dr,Xt):Pt},Xt.tickFormat=function(dr){return arguments.length?(ot=dr,Xt):ot},Xt.tickSize=function(dr){var pr=arguments.length;return pr?(Te=+dr,qe=+arguments[pr-1],Xt):Te},Xt.innerTickSize=function(dr){return arguments.length?(Te=+dr,Xt):Te},Xt.outerTickSize=function(dr){return arguments.length?(qe=+dr,Xt):qe},Xt.tickPadding=function(dr){return arguments.length?(Ve=+dr,Xt):Ve},Xt.tickSubdivide=function(){return arguments.length&&Xt},Xt};var Ul="bottom",Lu={top:1,right:1,bottom:1,left:1};function au(X,se,Te){X.attr("transform",function(qe){var Ve=se(qe);return"translate("+(isFinite(Ve)?Ve:Te(qe))+",0)"})}function Js(X,se,Te){X.attr("transform",function(qe){var Ve=se(qe);return"translate(0,"+(isFinite(Ve)?Ve:Te(qe))+")"})}e.svg.brush=function(){var X=Ce(pr,"brushstart","brush","brushend"),se=null,Te=null,qe=[0,0],Ve=[0,0],Ye,Pt,ot=!0,Xt=!0,dr=dc[0];function pr(Wr){Wr.each(function(){var ii=e.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",xi).on("touchstart.brush",xi),di=ii.selectAll(".background").data([0]);di.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),ii.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var Li=ii.selectAll(".resize").data(dr,G);Li.exit().remove(),Li.enter().append("g").attr("class",function(kn){return"resize "+kn}).style("cursor",function(kn){return eu[kn]}).append("rect").attr("x",function(kn){return/[ew]$/.test(kn)?-3:null}).attr("y",function(kn){return/^[ns]/.test(kn)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),Li.style("display",pr.empty()?"none":null);var Ti=e.transition(ii),Qr=e.transition(di),Pn;se&&(Pn=wn(se),Qr.attr("x",Pn[0]).attr("width",Pn[1]-Pn[0]),zr(Ti)),Te&&(Pn=wn(Te),Qr.attr("y",Pn[0]).attr("height",Pn[1]-Pn[0]),gi(Ti)),Ur(Ti)})}pr.event=function(Wr){Wr.each(function(){var ii=X.of(this,arguments),di={x:qe,y:Ve,i:Ye,j:Pt},Li=this.__chart__||di;this.__chart__=di,Bo?e.select(this).transition().each("start.brush",function(){Ye=Li.i,Pt=Li.j,qe=Li.x,Ve=Li.y,ii({type:"brushstart"})}).tween("brush:brush",function(){var Ti=Gu(qe,di.x),Qr=Gu(Ve,di.y);return Ye=Pt=null,function(Pn){qe=di.x=Ti(Pn),Ve=di.y=Qr(Pn),ii({type:"brush",mode:"resize"})}}).each("end.brush",function(){Ye=di.i,Pt=di.j,ii({type:"brush",mode:"resize"}),ii({type:"brushend"})}):(ii({type:"brushstart"}),ii({type:"brush",mode:"resize"}),ii({type:"brushend"}))})};function Ur(Wr){Wr.selectAll(".resize").attr("transform",function(ii){return"translate("+qe[+/e$/.test(ii)]+","+Ve[+/^s/.test(ii)]+")"})}function zr(Wr){Wr.select(".extent").attr("x",qe[0]),Wr.selectAll(".extent,.n>rect,.s>rect").attr("width",qe[1]-qe[0])}function gi(Wr){Wr.select(".extent").attr("y",Ve[0]),Wr.selectAll(".extent,.e>rect,.w>rect").attr("height",Ve[1]-Ve[0])}function xi(){var Wr=this,ii=e.select(e.event.target),di=X.of(Wr,arguments),Li=e.select(Wr),Ti=ii.datum(),Qr=!/^(n|s)$/.test(Ti)&&se,Pn=!/^(e|w)$/.test(Ti)&&Te,kn=ii.classed("extent"),Bn=qr(Wr),na,Ea=e.mouse(Wr),Ia,yo=e.select(a(Wr)).on("keydown.brush",Is).on("keyup.brush",Ms);if(e.event.changedTouches?yo.on("touchmove.brush",Xs).on("touchend.brush",ja):yo.on("mousemove.brush",Xs).on("mouseup.brush",ja),Li.interrupt().selectAll("*").interrupt(),kn)Ea[0]=qe[0]-Ea[0],Ea[1]=Ve[0]-Ea[1];else if(Ti){var Da=+/w$/.test(Ti),go=+/^n/.test(Ti);Ia=[qe[1-Da]-Ea[0],Ve[1-go]-Ea[1]],Ea[0]=qe[Da],Ea[1]=Ve[go]}else e.event.altKey&&(na=Ea.slice());Li.style("pointer-events","none").selectAll(".resize").style("display",null),e.select("body").style("cursor",ii.style("cursor")),di({type:"brushstart"}),Xs();function Is(){e.event.keyCode==32&&(kn||(na=null,Ea[0]-=qe[1],Ea[1]-=Ve[1],kn=2),_e())}function Ms(){e.event.keyCode==32&&kn==2&&(Ea[0]+=qe[1],Ea[1]+=Ve[1],kn=0,_e())}function Xs(){var Fo=e.mouse(Wr),Uo=!1;Ia&&(Fo[0]+=Ia[0],Fo[1]+=Ia[1]),kn||(e.event.altKey?(na||(na=[(qe[0]+qe[1])/2,(Ve[0]+Ve[1])/2]),Ea[0]=qe[+(Fo[0]{(function(e,t){typeof x6=="object"&&typeof Tee!="undefined"?t(x6):(e=e||self,t(e.d3=e.d3||{}))})(x6,function(e){"use strict";var t=new Date,r=new Date;function n(Ae,rt,St,Tt){function dt(Et){return Ae(Et=arguments.length===0?new Date:new Date(+Et)),Et}return dt.floor=function(Et){return Ae(Et=new Date(+Et)),Et},dt.ceil=function(Et){return Ae(Et=new Date(Et-1)),rt(Et,1),Ae(Et),Et},dt.round=function(Et){var pt=dt(Et),jt=dt.ceil(Et);return Et-pt0))return or;do or.push(mr=new Date(+Et)),rt(Et,jt),Ae(Et);while(mr=pt)for(;Ae(pt),!Et(pt);)pt.setTime(pt-1)},function(pt,jt){if(pt>=pt)if(jt<0)for(;++jt<=0;)for(;rt(pt,-1),!Et(pt););else for(;--jt>=0;)for(;rt(pt,1),!Et(pt););})},St&&(dt.count=function(Et,pt){return t.setTime(+Et),r.setTime(+pt),Ae(t),Ae(r),Math.floor(St(t,r))},dt.every=function(Et){return Et=Math.floor(Et),!isFinite(Et)||!(Et>0)?null:Et>1?dt.filter(Tt?function(pt){return Tt(pt)%Et===0}:function(pt){return dt.count(0,pt)%Et===0}):dt}),dt}var i=n(function(){},function(Ae,rt){Ae.setTime(+Ae+rt)},function(Ae,rt){return rt-Ae});i.every=function(Ae){return Ae=Math.floor(Ae),!isFinite(Ae)||!(Ae>0)?null:Ae>1?n(function(rt){rt.setTime(Math.floor(rt/Ae)*Ae)},function(rt,St){rt.setTime(+rt+St*Ae)},function(rt,St){return(St-rt)/Ae}):i};var a=i.range,o=1e3,s=6e4,l=36e5,u=864e5,c=6048e5,f=n(function(Ae){Ae.setTime(Ae-Ae.getMilliseconds())},function(Ae,rt){Ae.setTime(+Ae+rt*o)},function(Ae,rt){return(rt-Ae)/o},function(Ae){return Ae.getUTCSeconds()}),h=f.range,d=n(function(Ae){Ae.setTime(Ae-Ae.getMilliseconds()-Ae.getSeconds()*o)},function(Ae,rt){Ae.setTime(+Ae+rt*s)},function(Ae,rt){return(rt-Ae)/s},function(Ae){return Ae.getMinutes()}),v=d.range,m=n(function(Ae){Ae.setTime(Ae-Ae.getMilliseconds()-Ae.getSeconds()*o-Ae.getMinutes()*s)},function(Ae,rt){Ae.setTime(+Ae+rt*l)},function(Ae,rt){return(rt-Ae)/l},function(Ae){return Ae.getHours()}),b=m.range,p=n(function(Ae){Ae.setHours(0,0,0,0)},function(Ae,rt){Ae.setDate(Ae.getDate()+rt)},function(Ae,rt){return(rt-Ae-(rt.getTimezoneOffset()-Ae.getTimezoneOffset())*s)/u},function(Ae){return Ae.getDate()-1}),k=p.range;function M(Ae){return n(function(rt){rt.setDate(rt.getDate()-(rt.getDay()+7-Ae)%7),rt.setHours(0,0,0,0)},function(rt,St){rt.setDate(rt.getDate()+St*7)},function(rt,St){return(St-rt-(St.getTimezoneOffset()-rt.getTimezoneOffset())*s)/c})}var T=M(0),L=M(1),x=M(2),C=M(3),S=M(4),g=M(5),P=M(6),E=T.range,z=L.range,q=x.range,V=C.range,G=S.range,Z=g.range,j=P.range,N=n(function(Ae){Ae.setDate(1),Ae.setHours(0,0,0,0)},function(Ae,rt){Ae.setMonth(Ae.getMonth()+rt)},function(Ae,rt){return rt.getMonth()-Ae.getMonth()+(rt.getFullYear()-Ae.getFullYear())*12},function(Ae){return Ae.getMonth()}),H=N.range,ie=n(function(Ae){Ae.setMonth(0,1),Ae.setHours(0,0,0,0)},function(Ae,rt){Ae.setFullYear(Ae.getFullYear()+rt)},function(Ae,rt){return rt.getFullYear()-Ae.getFullYear()},function(Ae){return Ae.getFullYear()});ie.every=function(Ae){return!isFinite(Ae=Math.floor(Ae))||!(Ae>0)?null:n(function(rt){rt.setFullYear(Math.floor(rt.getFullYear()/Ae)*Ae),rt.setMonth(0,1),rt.setHours(0,0,0,0)},function(rt,St){rt.setFullYear(rt.getFullYear()+St*Ae)})};var ae=ie.range,_e=n(function(Ae){Ae.setUTCSeconds(0,0)},function(Ae,rt){Ae.setTime(+Ae+rt*s)},function(Ae,rt){return(rt-Ae)/s},function(Ae){return Ae.getUTCMinutes()}),Ee=_e.range,Ce=n(function(Ae){Ae.setUTCMinutes(0,0,0)},function(Ae,rt){Ae.setTime(+Ae+rt*l)},function(Ae,rt){return(rt-Ae)/l},function(Ae){return Ae.getUTCHours()}),ge=Ce.range,re=n(function(Ae){Ae.setUTCHours(0,0,0,0)},function(Ae,rt){Ae.setUTCDate(Ae.getUTCDate()+rt)},function(Ae,rt){return(rt-Ae)/u},function(Ae){return Ae.getUTCDate()-1}),Se=re.range;function ke(Ae){return n(function(rt){rt.setUTCDate(rt.getUTCDate()-(rt.getUTCDay()+7-Ae)%7),rt.setUTCHours(0,0,0,0)},function(rt,St){rt.setUTCDate(rt.getUTCDate()+St*7)},function(rt,St){return(St-rt)/c})}var be=ke(0),Be=ke(1),Le=ke(2),me=ke(3),Pe=ke(4),ce=ke(5),He=ke(6),lt=be.range,mt=Be.range,Ht=Le.range,at=me.range,ct=Pe.range,ar=ce.range,Vt=He.range,rr=n(function(Ae){Ae.setUTCDate(1),Ae.setUTCHours(0,0,0,0)},function(Ae,rt){Ae.setUTCMonth(Ae.getUTCMonth()+rt)},function(Ae,rt){return rt.getUTCMonth()-Ae.getUTCMonth()+(rt.getUTCFullYear()-Ae.getUTCFullYear())*12},function(Ae){return Ae.getUTCMonth()}),tt=rr.range,je=n(function(Ae){Ae.setUTCMonth(0,1),Ae.setUTCHours(0,0,0,0)},function(Ae,rt){Ae.setUTCFullYear(Ae.getUTCFullYear()+rt)},function(Ae,rt){return rt.getUTCFullYear()-Ae.getUTCFullYear()},function(Ae){return Ae.getUTCFullYear()});je.every=function(Ae){return!isFinite(Ae=Math.floor(Ae))||!(Ae>0)?null:n(function(rt){rt.setUTCFullYear(Math.floor(rt.getUTCFullYear()/Ae)*Ae),rt.setUTCMonth(0,1),rt.setUTCHours(0,0,0,0)},function(rt,St){rt.setUTCFullYear(rt.getUTCFullYear()+St*Ae)})};var Ue=je.range;e.timeDay=p,e.timeDays=k,e.timeFriday=g,e.timeFridays=Z,e.timeHour=m,e.timeHours=b,e.timeInterval=n,e.timeMillisecond=i,e.timeMilliseconds=a,e.timeMinute=d,e.timeMinutes=v,e.timeMonday=L,e.timeMondays=z,e.timeMonth=N,e.timeMonths=H,e.timeSaturday=P,e.timeSaturdays=j,e.timeSecond=f,e.timeSeconds=h,e.timeSunday=T,e.timeSundays=E,e.timeThursday=S,e.timeThursdays=G,e.timeTuesday=x,e.timeTuesdays=q,e.timeWednesday=C,e.timeWednesdays=V,e.timeWeek=T,e.timeWeeks=E,e.timeYear=ie,e.timeYears=ae,e.utcDay=re,e.utcDays=Se,e.utcFriday=ce,e.utcFridays=ar,e.utcHour=Ce,e.utcHours=ge,e.utcMillisecond=i,e.utcMilliseconds=a,e.utcMinute=_e,e.utcMinutes=Ee,e.utcMonday=Be,e.utcMondays=mt,e.utcMonth=rr,e.utcMonths=tt,e.utcSaturday=He,e.utcSaturdays=Vt,e.utcSecond=f,e.utcSeconds=h,e.utcSunday=be,e.utcSundays=lt,e.utcThursday=Pe,e.utcThursdays=ct,e.utcTuesday=Le,e.utcTuesdays=Ht,e.utcWednesday=me,e.utcWednesdays=at,e.utcWeek=be,e.utcWeeks=lt,e.utcYear=je,e.utcYears=Ue,Object.defineProperty(e,"__esModule",{value:!0})})});var d3=ye((b6,Aee)=>{(function(e,t){typeof b6=="object"&&typeof Aee!="undefined"?t(b6,Eq()):(e=e||self,t(e.d3=e.d3||{},e.d3))})(b6,function(e,t){"use strict";function r(Ge){if(0<=Ge.y&&Ge.y<100){var Je=new Date(-1,Ge.m,Ge.d,Ge.H,Ge.M,Ge.S,Ge.L);return Je.setFullYear(Ge.y),Je}return new Date(Ge.y,Ge.m,Ge.d,Ge.H,Ge.M,Ge.S,Ge.L)}function n(Ge){if(0<=Ge.y&&Ge.y<100){var Je=new Date(Date.UTC(-1,Ge.m,Ge.d,Ge.H,Ge.M,Ge.S,Ge.L));return Je.setUTCFullYear(Ge.y),Je}return new Date(Date.UTC(Ge.y,Ge.m,Ge.d,Ge.H,Ge.M,Ge.S,Ge.L))}function i(Ge,Je,We){return{y:Ge,m:Je,d:We,H:0,M:0,S:0,L:0}}function a(Ge){var Je=Ge.dateTime,We=Ge.date,et=Ge.time,xt=Ge.periods,At=Ge.days,Kt=Ge.shortDays,Qt=Ge.months,Mr=Ge.shortMonths,Gr=h(xt),Ir=d(xt),Yr=h(At),_i=d(At),Pi=h(Kt),ai=d(Kt),mi=h(Qt),un=d(Qt),Fn=h(Mr),An=d(Mr),Hn={a:Zi,A:en,b:fn,B:yn,c:null,d:N,e:N,f:Ee,H,I:ie,j:ae,L:_e,m:Ce,M:ge,p:Mn,q:Ba,Q:pt,s:jt,S:re,u:Se,U:ke,V:be,w:Be,W:Le,x:null,X:null,y:me,Y:Pe,Z:ce,"%":Et},Qn={a:ua,A:ma,b:Wa,B:Fa,c:null,d:He,e:He,f:ct,H:lt,I:mt,j:Ht,L:at,m:ar,M:Vt,p:Xo,q:da,Q:pt,s:jt,S:rr,u:tt,U:je,V:Ue,w:Ae,W:rt,x:null,X:null,y:St,Y:Tt,Z:dt,"%":Et},Vi={a:tr,A:ir,b:wr,B:Xr,c:ti,d:S,e:S,f:V,H:P,I:P,j:g,L:q,m:C,M:E,p:wt,q:x,Q:Z,s:j,S:z,u:m,U:b,V:p,w:v,W:k,x:$r,X:Ri,y:T,Y:M,Z:L,"%":G};Hn.x=Kn(We,Hn),Hn.X=Kn(et,Hn),Hn.c=Kn(Je,Hn),Qn.x=Kn(We,Qn),Qn.X=Kn(et,Qn),Qn.c=Kn(Je,Qn);function Kn(jn,Ha){return function(vo){var Gn=[],Ct=-1,Sr=0,Jr=jn.length,hi,hn,Sn;for(vo instanceof Date||(vo=new Date(+vo));++Ct53)return null;"w"in Gn||(Gn.w=1),"Z"in Gn?(Sr=n(i(Gn.y,0,1)),Jr=Sr.getUTCDay(),Sr=Jr>4||Jr===0?t.utcMonday.ceil(Sr):t.utcMonday(Sr),Sr=t.utcDay.offset(Sr,(Gn.V-1)*7),Gn.y=Sr.getUTCFullYear(),Gn.m=Sr.getUTCMonth(),Gn.d=Sr.getUTCDate()+(Gn.w+6)%7):(Sr=r(i(Gn.y,0,1)),Jr=Sr.getDay(),Sr=Jr>4||Jr===0?t.timeMonday.ceil(Sr):t.timeMonday(Sr),Sr=t.timeDay.offset(Sr,(Gn.V-1)*7),Gn.y=Sr.getFullYear(),Gn.m=Sr.getMonth(),Gn.d=Sr.getDate()+(Gn.w+6)%7)}else("W"in Gn||"U"in Gn)&&("w"in Gn||(Gn.w="u"in Gn?Gn.u%7:"W"in Gn?1:0),Jr="Z"in Gn?n(i(Gn.y,0,1)).getUTCDay():r(i(Gn.y,0,1)).getDay(),Gn.m=0,Gn.d="W"in Gn?(Gn.w+6)%7+Gn.W*7-(Jr+5)%7:Gn.w+Gn.U*7-(Jr+6)%7);return"Z"in Gn?(Gn.H+=Gn.Z/100|0,Gn.M+=Gn.Z%100,n(Gn)):r(Gn)}}function Gt(jn,Ha,vo,Gn){for(var Ct=0,Sr=Ha.length,Jr=vo.length,hi,hn;Ct=Jr)return-1;if(hi=Ha.charCodeAt(Ct++),hi===37){if(hi=Ha.charAt(Ct++),hn=Vi[hi in o?Ha.charAt(Ct++):hi],!hn||(Gn=hn(jn,vo,Gn))<0)return-1}else if(hi!=vo.charCodeAt(Gn++))return-1}return Gn}function wt(jn,Ha,vo){var Gn=Gr.exec(Ha.slice(vo));return Gn?(jn.p=Ir[Gn[0].toLowerCase()],vo+Gn[0].length):-1}function tr(jn,Ha,vo){var Gn=Pi.exec(Ha.slice(vo));return Gn?(jn.w=ai[Gn[0].toLowerCase()],vo+Gn[0].length):-1}function ir(jn,Ha,vo){var Gn=Yr.exec(Ha.slice(vo));return Gn?(jn.w=_i[Gn[0].toLowerCase()],vo+Gn[0].length):-1}function wr(jn,Ha,vo){var Gn=Fn.exec(Ha.slice(vo));return Gn?(jn.m=An[Gn[0].toLowerCase()],vo+Gn[0].length):-1}function Xr(jn,Ha,vo){var Gn=mi.exec(Ha.slice(vo));return Gn?(jn.m=un[Gn[0].toLowerCase()],vo+Gn[0].length):-1}function ti(jn,Ha,vo){return Gt(jn,Je,Ha,vo)}function $r(jn,Ha,vo){return Gt(jn,We,Ha,vo)}function Ri(jn,Ha,vo){return Gt(jn,et,Ha,vo)}function Zi(jn){return Kt[jn.getDay()]}function en(jn){return At[jn.getDay()]}function fn(jn){return Mr[jn.getMonth()]}function yn(jn){return Qt[jn.getMonth()]}function Mn(jn){return xt[+(jn.getHours()>=12)]}function Ba(jn){return 1+~~(jn.getMonth()/3)}function ua(jn){return Kt[jn.getUTCDay()]}function ma(jn){return At[jn.getUTCDay()]}function Wa(jn){return Mr[jn.getUTCMonth()]}function Fa(jn){return Qt[jn.getUTCMonth()]}function Xo(jn){return xt[+(jn.getUTCHours()>=12)]}function da(jn){return 1+~~(jn.getUTCMonth()/3)}return{format:function(jn){var Ha=Kn(jn+="",Hn);return Ha.toString=function(){return jn},Ha},parse:function(jn){var Ha=Jn(jn+="",!1);return Ha.toString=function(){return jn},Ha},utcFormat:function(jn){var Ha=Kn(jn+="",Qn);return Ha.toString=function(){return jn},Ha},utcParse:function(jn){var Ha=Jn(jn+="",!0);return Ha.toString=function(){return jn},Ha}}}var o={"-":"",_:" ",0:"0"},s=/^\s*\d+/,l=/^%/,u=/[\\^$*+?|[\]().{}]/g;function c(Ge,Je,We){var et=Ge<0?"-":"",xt=(et?-Ge:Ge)+"",At=xt.length;return et+(At68?1900:2e3),We+et[0].length):-1}function L(Ge,Je,We){var et=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(Je.slice(We,We+6));return et?(Ge.Z=et[1]?0:-(et[2]+(et[3]||"00")),We+et[0].length):-1}function x(Ge,Je,We){var et=s.exec(Je.slice(We,We+1));return et?(Ge.q=et[0]*3-3,We+et[0].length):-1}function C(Ge,Je,We){var et=s.exec(Je.slice(We,We+2));return et?(Ge.m=et[0]-1,We+et[0].length):-1}function S(Ge,Je,We){var et=s.exec(Je.slice(We,We+2));return et?(Ge.d=+et[0],We+et[0].length):-1}function g(Ge,Je,We){var et=s.exec(Je.slice(We,We+3));return et?(Ge.m=0,Ge.d=+et[0],We+et[0].length):-1}function P(Ge,Je,We){var et=s.exec(Je.slice(We,We+2));return et?(Ge.H=+et[0],We+et[0].length):-1}function E(Ge,Je,We){var et=s.exec(Je.slice(We,We+2));return et?(Ge.M=+et[0],We+et[0].length):-1}function z(Ge,Je,We){var et=s.exec(Je.slice(We,We+2));return et?(Ge.S=+et[0],We+et[0].length):-1}function q(Ge,Je,We){var et=s.exec(Je.slice(We,We+3));return et?(Ge.L=+et[0],We+et[0].length):-1}function V(Ge,Je,We){var et=s.exec(Je.slice(We,We+6));return et?(Ge.L=Math.floor(et[0]/1e3),We+et[0].length):-1}function G(Ge,Je,We){var et=l.exec(Je.slice(We,We+1));return et?We+et[0].length:-1}function Z(Ge,Je,We){var et=s.exec(Je.slice(We));return et?(Ge.Q=+et[0],We+et[0].length):-1}function j(Ge,Je,We){var et=s.exec(Je.slice(We));return et?(Ge.s=+et[0],We+et[0].length):-1}function N(Ge,Je){return c(Ge.getDate(),Je,2)}function H(Ge,Je){return c(Ge.getHours(),Je,2)}function ie(Ge,Je){return c(Ge.getHours()%12||12,Je,2)}function ae(Ge,Je){return c(1+t.timeDay.count(t.timeYear(Ge),Ge),Je,3)}function _e(Ge,Je){return c(Ge.getMilliseconds(),Je,3)}function Ee(Ge,Je){return _e(Ge,Je)+"000"}function Ce(Ge,Je){return c(Ge.getMonth()+1,Je,2)}function ge(Ge,Je){return c(Ge.getMinutes(),Je,2)}function re(Ge,Je){return c(Ge.getSeconds(),Je,2)}function Se(Ge){var Je=Ge.getDay();return Je===0?7:Je}function ke(Ge,Je){return c(t.timeSunday.count(t.timeYear(Ge)-1,Ge),Je,2)}function be(Ge,Je){var We=Ge.getDay();return Ge=We>=4||We===0?t.timeThursday(Ge):t.timeThursday.ceil(Ge),c(t.timeThursday.count(t.timeYear(Ge),Ge)+(t.timeYear(Ge).getDay()===4),Je,2)}function Be(Ge){return Ge.getDay()}function Le(Ge,Je){return c(t.timeMonday.count(t.timeYear(Ge)-1,Ge),Je,2)}function me(Ge,Je){return c(Ge.getFullYear()%100,Je,2)}function Pe(Ge,Je){return c(Ge.getFullYear()%1e4,Je,4)}function ce(Ge){var Je=Ge.getTimezoneOffset();return(Je>0?"-":(Je*=-1,"+"))+c(Je/60|0,"0",2)+c(Je%60,"0",2)}function He(Ge,Je){return c(Ge.getUTCDate(),Je,2)}function lt(Ge,Je){return c(Ge.getUTCHours(),Je,2)}function mt(Ge,Je){return c(Ge.getUTCHours()%12||12,Je,2)}function Ht(Ge,Je){return c(1+t.utcDay.count(t.utcYear(Ge),Ge),Je,3)}function at(Ge,Je){return c(Ge.getUTCMilliseconds(),Je,3)}function ct(Ge,Je){return at(Ge,Je)+"000"}function ar(Ge,Je){return c(Ge.getUTCMonth()+1,Je,2)}function Vt(Ge,Je){return c(Ge.getUTCMinutes(),Je,2)}function rr(Ge,Je){return c(Ge.getUTCSeconds(),Je,2)}function tt(Ge){var Je=Ge.getUTCDay();return Je===0?7:Je}function je(Ge,Je){return c(t.utcSunday.count(t.utcYear(Ge)-1,Ge),Je,2)}function Ue(Ge,Je){var We=Ge.getUTCDay();return Ge=We>=4||We===0?t.utcThursday(Ge):t.utcThursday.ceil(Ge),c(t.utcThursday.count(t.utcYear(Ge),Ge)+(t.utcYear(Ge).getUTCDay()===4),Je,2)}function Ae(Ge){return Ge.getUTCDay()}function rt(Ge,Je){return c(t.utcMonday.count(t.utcYear(Ge)-1,Ge),Je,2)}function St(Ge,Je){return c(Ge.getUTCFullYear()%100,Je,2)}function Tt(Ge,Je){return c(Ge.getUTCFullYear()%1e4,Je,4)}function dt(){return"+0000"}function Et(){return"%"}function pt(Ge){return+Ge}function jt(Ge){return Math.floor(+Ge/1e3)}var or;mr({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 mr(Ge){return or=a(Ge),e.timeFormat=or.format,e.timeParse=or.parse,e.utcFormat=or.utcFormat,e.utcParse=or.utcParse,or}var Ar="%Y-%m-%dT%H:%M:%S.%LZ";function ei(Ge){return Ge.toISOString()}var qr=Date.prototype.toISOString?ei:e.utcFormat(Ar);function jr(Ge){var Je=new Date(Ge);return isNaN(Je)?null:Je}var gt=+new Date("2000-01-01T00:00:00.000Z")?jr:e.utcParse(Ar);e.isoFormat=qr,e.isoParse=gt,e.timeFormatDefaultLocale=mr,e.timeFormatLocale=a,Object.defineProperty(e,"__esModule",{value:!0})})});var kq=ye((w6,See)=>{(function(e,t){typeof w6=="object"&&typeof See!="undefined"?t(w6):(e=typeof globalThis!="undefined"?globalThis:e||self,t(e.d3=e.d3||{}))})(w6,function(e){"use strict";function t(C){return Math.abs(C=Math.round(C))>=1e21?C.toLocaleString("en").replace(/,/g,""):C.toString(10)}function r(C,S){if((g=(C=S?C.toExponential(S-1):C.toExponential()).indexOf("e"))<0)return null;var g,P=C.slice(0,g);return[P.length>1?P[0]+P.slice(2):P,+C.slice(g+1)]}function n(C){return C=r(Math.abs(C)),C?C[1]:NaN}function i(C,S){return function(g,P){for(var E=g.length,z=[],q=0,V=C[0],G=0;E>0&&V>0&&(G+V+1>P&&(V=Math.max(1,P-G)),z.push(g.substring(E-=V,E+V)),!((G+=V+1)>P));)V=C[q=(q+1)%C.length];return z.reverse().join(S)}}function a(C){return function(S){return S.replace(/[0-9]/g,function(g){return C[+g]})}}var o=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function s(C){if(!(S=o.exec(C)))throw new Error("invalid format: "+C);var S;return new l({fill:S[1],align:S[2],sign:S[3],symbol:S[4],zero:S[5],width:S[6],comma:S[7],precision:S[8]&&S[8].slice(1),trim:S[9],type:S[10]})}s.prototype=l.prototype;function l(C){this.fill=C.fill===void 0?" ":C.fill+"",this.align=C.align===void 0?">":C.align+"",this.sign=C.sign===void 0?"-":C.sign+"",this.symbol=C.symbol===void 0?"":C.symbol+"",this.zero=!!C.zero,this.width=C.width===void 0?void 0:+C.width,this.comma=!!C.comma,this.precision=C.precision===void 0?void 0:+C.precision,this.trim=!!C.trim,this.type=C.type===void 0?"":C.type+""}l.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 u(C){e:for(var S=C.length,g=1,P=-1,E;g0&&(P=0);break}return P>0?C.slice(0,P)+C.slice(E+1):C}var c;function f(C,S){var g=r(C,S);if(!g)return C+"";var P=g[0],E=g[1],z=E-(c=Math.max(-8,Math.min(8,Math.floor(E/3)))*3)+1,q=P.length;return z===q?P:z>q?P+new Array(z-q+1).join("0"):z>0?P.slice(0,z)+"."+P.slice(z):"0."+new Array(1-z).join("0")+r(C,Math.max(0,S+z-1))[0]}function h(C,S){var g=r(C,S);if(!g)return C+"";var P=g[0],E=g[1];return E<0?"0."+new Array(-E).join("0")+P:P.length>E+1?P.slice(0,E+1)+"."+P.slice(E+1):P+new Array(E-P.length+2).join("0")}var d={"%":function(C,S){return(C*100).toFixed(S)},b:function(C){return Math.round(C).toString(2)},c:function(C){return C+""},d:t,e:function(C,S){return C.toExponential(S)},f:function(C,S){return C.toFixed(S)},g:function(C,S){return C.toPrecision(S)},o:function(C){return Math.round(C).toString(8)},p:function(C,S){return h(C*100,S)},r:h,s:f,X:function(C){return Math.round(C).toString(16).toUpperCase()},x:function(C){return Math.round(C).toString(16)}};function v(C){return C}var m=Array.prototype.map,b=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function p(C){var S=C.grouping===void 0||C.thousands===void 0?v:i(m.call(C.grouping,Number),C.thousands+""),g=C.currency===void 0?"":C.currency[0]+"",P=C.currency===void 0?"":C.currency[1]+"",E=C.decimal===void 0?".":C.decimal+"",z=C.numerals===void 0?v:a(m.call(C.numerals,String)),q=C.percent===void 0?"%":C.percent+"",V=C.minus===void 0?"-":C.minus+"",G=C.nan===void 0?"NaN":C.nan+"";function Z(N){N=s(N);var H=N.fill,ie=N.align,ae=N.sign,_e=N.symbol,Ee=N.zero,Ce=N.width,ge=N.comma,re=N.precision,Se=N.trim,ke=N.type;ke==="n"?(ge=!0,ke="g"):d[ke]||(re===void 0&&(re=12),Se=!0,ke="g"),(Ee||H==="0"&&ie==="=")&&(Ee=!0,H="0",ie="=");var be=_e==="$"?g:_e==="#"&&/[boxX]/.test(ke)?"0"+ke.toLowerCase():"",Be=_e==="$"?P:/[%p]/.test(ke)?q:"",Le=d[ke],me=/[defgprs%]/.test(ke);re=re===void 0?6:/[gprs]/.test(ke)?Math.max(1,Math.min(21,re)):Math.max(0,Math.min(20,re));function Pe(ce){var He=be,lt=Be,mt,Ht,at;if(ke==="c")lt=Le(ce)+lt,ce="";else{ce=+ce;var ct=ce<0||1/ce<0;if(ce=isNaN(ce)?G:Le(Math.abs(ce),re),Se&&(ce=u(ce)),ct&&+ce==0&&ae!=="+"&&(ct=!1),He=(ct?ae==="("?ae:V:ae==="-"||ae==="("?"":ae)+He,lt=(ke==="s"?b[8+c/3]:"")+lt+(ct&&ae==="("?")":""),me){for(mt=-1,Ht=ce.length;++mtat||at>57){lt=(at===46?E+ce.slice(mt+1):ce.slice(mt))+lt,ce=ce.slice(0,mt);break}}}ge&&!Ee&&(ce=S(ce,1/0));var ar=He.length+ce.length+lt.length,Vt=ar>1)+He+ce+lt+Vt.slice(ar);break;default:ce=Vt+He+ce+lt;break}return z(ce)}return Pe.toString=function(){return N+""},Pe}function j(N,H){var ie=Z((N=s(N),N.type="f",N)),ae=Math.max(-8,Math.min(8,Math.floor(n(H)/3)))*3,_e=Math.pow(10,-ae),Ee=b[8+ae/3];return function(Ce){return ie(_e*Ce)+Ee}}return{format:Z,formatPrefix:j}}var k;M({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"});function M(C){return k=p(C),e.format=k.format,e.formatPrefix=k.formatPrefix,k}function T(C){return Math.max(0,-n(Math.abs(C)))}function L(C,S){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(n(S)/3)))*3-n(Math.abs(C)))}function x(C,S){return C=Math.abs(C),S=Math.abs(S)-C,Math.max(0,n(S)-n(C))+1}e.FormatSpecifier=l,e.formatDefaultLocale=M,e.formatLocale=p,e.formatSpecifier=s,e.precisionFixed=T,e.precisionPrefix=L,e.precisionRound=x,Object.defineProperty(e,"__esModule",{value:!0})})});var Eee=ye((Mrr,Mee)=>{"use strict";Mee.exports=function(e){for(var t=e.length,r,n=0;n13)&&r!==32&&r!==133&&r!==160&&r!==5760&&r!==6158&&(r<8192||r>8205)&&r!==8232&&r!==8233&&r!==8239&&r!==8287&&r!==8288&&r!==12288&&r!==65279)return!1;return!0}});var Eo=ye((Err,kee)=>{"use strict";var Ctt=Eee();kee.exports=function(e){var t=typeof e;if(t==="string"){var r=e;if(e=+e,e===0&&Ctt(r))return!1}else if(t!=="number")return!1;return e-e<1}});var fs=ye((krr,Cee)=>{"use strict";Cee.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"}});var Cq=ye((T6,Lee)=>{(function(e,t){typeof T6=="object"&&typeof Lee!="undefined"?t(T6):(e=typeof globalThis!="undefined"?globalThis:e||self,t(e["base64-arraybuffer"]={}))})(T6,function(e){"use strict";for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r=typeof Uint8Array=="undefined"?[]:new Uint8Array(256),n=0;n>2],c+=t[(s[l]&3)<<4|s[l+1]>>4],c+=t[(s[l+1]&15)<<2|s[l+2]>>6],c+=t[s[l+2]&63];return u%3===2?c=c.substring(0,c.length-1)+"=":u%3===1&&(c=c.substring(0,c.length-2)+"=="),c},a=function(o){var s=o.length*.75,l=o.length,u,c=0,f,h,d,v;o[o.length-1]==="="&&(s--,o[o.length-2]==="="&&s--);var m=new ArrayBuffer(s),b=new Uint8Array(m);for(u=0;u>4,b[c++]=(h&15)<<4|d>>2,b[c++]=(d&3)<<6|v&63;return m};e.decode=a,e.encode=i,Object.defineProperty(e,"__esModule",{value:!0})})});var Ay=ye((Crr,Pee)=>{"use strict";Pee.exports=function(t){return window&&window.process&&window.process.versions?Object.prototype.toString.call(t)==="[object Object]":Object.prototype.toString.call(t)==="[object Object]"&&Object.getPrototypeOf(t).hasOwnProperty("hasOwnProperty")}});var Yd=ye(xg=>{"use strict";var Ltt=Cq().decode,Ptt=Ay(),Lq=Array.isArray,Itt=ArrayBuffer,Rtt=DataView;function Iee(e){return Itt.isView(e)&&!(e instanceof Rtt)}xg.isTypedArray=Iee;function A6(e){return Lq(e)||Iee(e)}xg.isArrayOrTypedArray=A6;function Dtt(e){return!A6(e[0])}xg.isArray1D=Dtt;xg.ensureArray=function(e,t){return Lq(e)||(e=[]),e.length=t,e};var Ld={u1c:typeof Uint8ClampedArray=="undefined"?void 0:Uint8ClampedArray,i1:typeof Int8Array=="undefined"?void 0:Int8Array,u1:typeof Uint8Array=="undefined"?void 0:Uint8Array,i2:typeof Int16Array=="undefined"?void 0:Int16Array,u2:typeof Uint16Array=="undefined"?void 0:Uint16Array,i4:typeof Int32Array=="undefined"?void 0:Int32Array,u4:typeof Uint32Array=="undefined"?void 0:Uint32Array,f4:typeof Float32Array=="undefined"?void 0:Float32Array,f8:typeof Float64Array=="undefined"?void 0:Float64Array};Ld.uint8c=Ld.u1c;Ld.uint8=Ld.u1;Ld.int8=Ld.i1;Ld.uint16=Ld.u2;Ld.int16=Ld.i2;Ld.uint32=Ld.u4;Ld.int32=Ld.i4;Ld.float32=Ld.f4;Ld.float64=Ld.f8;function Pq(e){return e.constructor===ArrayBuffer}xg.isArrayBuffer=Pq;xg.decodeTypedArraySpec=function(e){var t=[],r=Ftt(e),n=r.dtype,i=Ld[n];if(!i)throw new Error('Error in dtype: "'+n+'"');var a=i.BYTES_PER_ELEMENT,o=r.bdata;Pq(o)||(o=Ltt(o));var s=r.shape===void 0?[o.byteLength/a]:(""+r.shape).split(",");s.reverse();var l=s.length,u,c,f=+s[0],h=a*f,d=0;if(l===1)t=new i(o);else if(l===2)for(u=+s[1],c=0;c{"use strict";var Dee=Eo(),Rq=Yd().isArrayOrTypedArray;Oee.exports=function(t,r){if(Dee(r))r=String(r);else if(typeof r!="string"||r.slice(-4)==="[-1]")throw"bad property string";var n=r.split("."),i,a,o,s;for(s=0;s{"use strict";var v3=zS(),Ntt=/^\w*$/,Utt=0,Bee=1,S6=2,Nee=3,mb=4;Uee.exports=function(t,r,n,i){n=n||"name",i=i||"value";var a,o,s,l={};r&&r.length?(s=v3(t,r),o=s.get()):o=t,r=r||"";var u={};if(o)for(a=0;a2)return l[d]=l[d]|S6,f.set(h,null);if(c){for(a=d;a{"use strict";var Vtt=/^(.*)(\.[^\.\[\]]+|\[\d\])$/,Gtt=/^[^\.\[\]]+$/;Gee.exports=function(e,t){for(;t;){var r=e.match(Vtt);if(r)e=r[1];else if(e.match(Gtt))e="";else throw new Error("bad relativeAttr call:"+[e,t]);if(t.charAt(0)==="^")t=t.slice(1);else break}return e&&t.charAt(0)!=="["?e+"."+t:e+t}});var M6=ye((Drr,jee)=>{"use strict";var Htt=Eo();jee.exports=function(t,r){if(t>0)return Math.log(t)/Math.LN10;var n=Math.log(Math.min(r[0],r[1]))/Math.LN10;return Htt(n)||(n=Math.log(Math.max(r[0],r[1]))/Math.LN10-6),n}});var Zee=ye((Frr,Xee)=>{"use strict";var Wee=Yd().isArrayOrTypedArray,qS=Ay();Xee.exports=function e(t,r){for(var n in r){var i=r[n],a=t[n];if(a!==i)if(n.charAt(0)==="_"||typeof i=="function"){if(n in t)continue;t[n]=i}else if(Wee(i)&&Wee(a)&&qS(i[0])){if(n==="customdata"||n==="ids")continue;for(var o=Math.min(i.length,a.length),s=0;s{"use strict";function jtt(e,t){var r=e%t;return r<0?r+t:r}function Wtt(e,t){return Math.abs(e)>t/2?e-Math.round(e/t)*t:e}Yee.exports={mod:jtt,modHalf:Wtt}});var fd=ye((qrr,E6)=>{(function(e){var t=/^\s+/,r=/\s+$/,n=0,i=e.round,a=e.min,o=e.max,s=e.random;function l(me,Pe){if(me=me||"",Pe=Pe||{},me instanceof l)return me;if(!(this instanceof l))return new l(me,Pe);var ce=u(me);this._originalInput=me,this._r=ce.r,this._g=ce.g,this._b=ce.b,this._a=ce.a,this._roundA=i(100*this._a)/100,this._format=Pe.format||ce.format,this._gradientType=Pe.gradientType,this._r<1&&(this._r=i(this._r)),this._g<1&&(this._g=i(this._g)),this._b<1&&(this._b=i(this._b)),this._ok=ce.ok,this._tc_id=n++}l.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 me=this.toRgb();return(me.r*299+me.g*587+me.b*114)/1e3},getLuminance:function(){var me=this.toRgb(),Pe,ce,He,lt,mt,Ht;return Pe=me.r/255,ce=me.g/255,He=me.b/255,Pe<=.03928?lt=Pe/12.92:lt=e.pow((Pe+.055)/1.055,2.4),ce<=.03928?mt=ce/12.92:mt=e.pow((ce+.055)/1.055,2.4),He<=.03928?Ht=He/12.92:Ht=e.pow((He+.055)/1.055,2.4),.2126*lt+.7152*mt+.0722*Ht},setAlpha:function(me){return this._a=N(me),this._roundA=i(100*this._a)/100,this},toHsv:function(){var me=d(this._r,this._g,this._b);return{h:me.h*360,s:me.s,v:me.v,a:this._a}},toHsvString:function(){var me=d(this._r,this._g,this._b),Pe=i(me.h*360),ce=i(me.s*100),He=i(me.v*100);return this._a==1?"hsv("+Pe+", "+ce+"%, "+He+"%)":"hsva("+Pe+", "+ce+"%, "+He+"%, "+this._roundA+")"},toHsl:function(){var me=f(this._r,this._g,this._b);return{h:me.h*360,s:me.s,l:me.l,a:this._a}},toHslString:function(){var me=f(this._r,this._g,this._b),Pe=i(me.h*360),ce=i(me.s*100),He=i(me.l*100);return this._a==1?"hsl("+Pe+", "+ce+"%, "+He+"%)":"hsla("+Pe+", "+ce+"%, "+He+"%, "+this._roundA+")"},toHex:function(me){return m(this._r,this._g,this._b,me)},toHexString:function(me){return"#"+this.toHex(me)},toHex8:function(me){return b(this._r,this._g,this._b,this._a,me)},toHex8String:function(me){return"#"+this.toHex8(me)},toRgb:function(){return{r:i(this._r),g:i(this._g),b:i(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+i(this._r)+", "+i(this._g)+", "+i(this._b)+")":"rgba("+i(this._r)+", "+i(this._g)+", "+i(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:i(H(this._r,255)*100)+"%",g:i(H(this._g,255)*100)+"%",b:i(H(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+i(H(this._r,255)*100)+"%, "+i(H(this._g,255)*100)+"%, "+i(H(this._b,255)*100)+"%)":"rgba("+i(H(this._r,255)*100)+"%, "+i(H(this._g,255)*100)+"%, "+i(H(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:Z[m(this._r,this._g,this._b,!0)]||!1},toFilter:function(me){var Pe="#"+p(this._r,this._g,this._b,this._a),ce=Pe,He=this._gradientType?"GradientType = 1, ":"";if(me){var lt=l(me);ce="#"+p(lt._r,lt._g,lt._b,lt._a)}return"progid:DXImageTransform.Microsoft.gradient("+He+"startColorstr="+Pe+",endColorstr="+ce+")"},toString:function(me){var Pe=!!me;me=me||this._format;var ce=!1,He=this._a<1&&this._a>=0,lt=!Pe&&He&&(me==="hex"||me==="hex6"||me==="hex3"||me==="hex4"||me==="hex8"||me==="name");return lt?me==="name"&&this._a===0?this.toName():this.toRgbString():(me==="rgb"&&(ce=this.toRgbString()),me==="prgb"&&(ce=this.toPercentageRgbString()),(me==="hex"||me==="hex6")&&(ce=this.toHexString()),me==="hex3"&&(ce=this.toHexString(!0)),me==="hex4"&&(ce=this.toHex8String(!0)),me==="hex8"&&(ce=this.toHex8String()),me==="name"&&(ce=this.toName()),me==="hsl"&&(ce=this.toHslString()),me==="hsv"&&(ce=this.toHsvString()),ce||this.toHexString())},clone:function(){return l(this.toString())},_applyModification:function(me,Pe){var ce=me.apply(null,[this].concat([].slice.call(Pe)));return this._r=ce._r,this._g=ce._g,this._b=ce._b,this.setAlpha(ce._a),this},lighten:function(){return this._applyModification(L,arguments)},brighten:function(){return this._applyModification(x,arguments)},darken:function(){return this._applyModification(C,arguments)},desaturate:function(){return this._applyModification(k,arguments)},saturate:function(){return this._applyModification(M,arguments)},greyscale:function(){return this._applyModification(T,arguments)},spin:function(){return this._applyModification(S,arguments)},_applyCombination:function(me,Pe){return me.apply(null,[this].concat([].slice.call(Pe)))},analogous:function(){return this._applyCombination(q,arguments)},complement:function(){return this._applyCombination(g,arguments)},monochromatic:function(){return this._applyCombination(V,arguments)},splitcomplement:function(){return this._applyCombination(z,arguments)},triad:function(){return this._applyCombination(P,arguments)},tetrad:function(){return this._applyCombination(E,arguments)}},l.fromRatio=function(me,Pe){if(typeof me=="object"){var ce={};for(var He in me)me.hasOwnProperty(He)&&(He==="a"?ce[He]=me[He]:ce[He]=ge(me[He]));me=ce}return l(me,Pe)};function u(me){var Pe={r:0,g:0,b:0},ce=1,He=null,lt=null,mt=null,Ht=!1,at=!1;return typeof me=="string"&&(me=Be(me)),typeof me=="object"&&(be(me.r)&&be(me.g)&&be(me.b)?(Pe=c(me.r,me.g,me.b),Ht=!0,at=String(me.r).substr(-1)==="%"?"prgb":"rgb"):be(me.h)&&be(me.s)&&be(me.v)?(He=ge(me.s),lt=ge(me.v),Pe=v(me.h,He,lt),Ht=!0,at="hsv"):be(me.h)&&be(me.s)&&be(me.l)&&(He=ge(me.s),mt=ge(me.l),Pe=h(me.h,He,mt),Ht=!0,at="hsl"),me.hasOwnProperty("a")&&(ce=me.a)),ce=N(ce),{ok:Ht,format:me.format||at,r:a(255,o(Pe.r,0)),g:a(255,o(Pe.g,0)),b:a(255,o(Pe.b,0)),a:ce}}function c(me,Pe,ce){return{r:H(me,255)*255,g:H(Pe,255)*255,b:H(ce,255)*255}}function f(me,Pe,ce){me=H(me,255),Pe=H(Pe,255),ce=H(ce,255);var He=o(me,Pe,ce),lt=a(me,Pe,ce),mt,Ht,at=(He+lt)/2;if(He==lt)mt=Ht=0;else{var ct=He-lt;switch(Ht=at>.5?ct/(2-He-lt):ct/(He+lt),He){case me:mt=(Pe-ce)/ct+(Pe1&&(rr-=1),rr<1/6?ar+(Vt-ar)*6*rr:rr<1/2?Vt:rr<2/3?ar+(Vt-ar)*(2/3-rr)*6:ar}if(Pe===0)He=lt=mt=ce;else{var at=ce<.5?ce*(1+Pe):ce+Pe-ce*Pe,ct=2*ce-at;He=Ht(ct,at,me+1/3),lt=Ht(ct,at,me),mt=Ht(ct,at,me-1/3)}return{r:He*255,g:lt*255,b:mt*255}}function d(me,Pe,ce){me=H(me,255),Pe=H(Pe,255),ce=H(ce,255);var He=o(me,Pe,ce),lt=a(me,Pe,ce),mt,Ht,at=He,ct=He-lt;if(Ht=He===0?0:ct/He,He==lt)mt=0;else{switch(He){case me:mt=(Pe-ce)/ct+(Pe>1)+720)%360;--Pe;)He.h=(He.h+lt)%360,mt.push(l(He));return mt}function V(me,Pe){Pe=Pe||6;for(var ce=l(me).toHsv(),He=ce.h,lt=ce.s,mt=ce.v,Ht=[],at=1/Pe;Pe--;)Ht.push(l({h:He,s:lt,v:mt})),mt=(mt+at)%1;return Ht}l.mix=function(me,Pe,ce){ce=ce===0?0:ce||50;var He=l(me).toRgb(),lt=l(Pe).toRgb(),mt=ce/100,Ht={r:(lt.r-He.r)*mt+He.r,g:(lt.g-He.g)*mt+He.g,b:(lt.b-He.b)*mt+He.b,a:(lt.a-He.a)*mt+He.a};return l(Ht)},l.readability=function(me,Pe){var ce=l(me),He=l(Pe);return(e.max(ce.getLuminance(),He.getLuminance())+.05)/(e.min(ce.getLuminance(),He.getLuminance())+.05)},l.isReadable=function(me,Pe,ce){var He=l.readability(me,Pe),lt,mt;switch(mt=!1,lt=Le(ce),lt.level+lt.size){case"AAsmall":case"AAAlarge":mt=He>=4.5;break;case"AAlarge":mt=He>=3;break;case"AAAsmall":mt=He>=7;break}return mt},l.mostReadable=function(me,Pe,ce){var He=null,lt=0,mt,Ht,at,ct;ce=ce||{},Ht=ce.includeFallbackColors,at=ce.level,ct=ce.size;for(var ar=0;arlt&&(lt=mt,He=l(Pe[ar]));return l.isReadable(me,He,{level:at,size:ct})||!Ht?He:(ce.includeFallbackColors=!1,l.mostReadable(me,["#fff","#000"],ce))};var G=l.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"},Z=l.hexNames=j(G);function j(me){var Pe={};for(var ce in me)me.hasOwnProperty(ce)&&(Pe[me[ce]]=ce);return Pe}function N(me){return me=parseFloat(me),(isNaN(me)||me<0||me>1)&&(me=1),me}function H(me,Pe){_e(me)&&(me="100%");var ce=Ee(me);return me=a(Pe,o(0,parseFloat(me))),ce&&(me=parseInt(me*Pe,10)/100),e.abs(me-Pe)<1e-6?1:me%Pe/parseFloat(Pe)}function ie(me){return a(1,o(0,me))}function ae(me){return parseInt(me,16)}function _e(me){return typeof me=="string"&&me.indexOf(".")!=-1&&parseFloat(me)===1}function Ee(me){return typeof me=="string"&&me.indexOf("%")!=-1}function Ce(me){return me.length==1?"0"+me:""+me}function ge(me){return me<=1&&(me=me*100+"%"),me}function re(me){return e.round(parseFloat(me)*255).toString(16)}function Se(me){return ae(me)/255}var ke=function(){var me="[-\\+]?\\d+%?",Pe="[-\\+]?\\d*\\.\\d+%?",ce="(?:"+Pe+")|(?:"+me+")",He="[\\s|\\(]+("+ce+")[,|\\s]+("+ce+")[,|\\s]+("+ce+")\\s*\\)?",lt="[\\s|\\(]+("+ce+")[,|\\s]+("+ce+")[,|\\s]+("+ce+")[,|\\s]+("+ce+")\\s*\\)?";return{CSS_UNIT:new RegExp(ce),rgb:new RegExp("rgb"+He),rgba:new RegExp("rgba"+lt),hsl:new RegExp("hsl"+He),hsla:new RegExp("hsla"+lt),hsv:new RegExp("hsv"+He),hsva:new RegExp("hsva"+lt),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 be(me){return!!ke.CSS_UNIT.exec(me)}function Be(me){me=me.replace(t,"").replace(r,"").toLowerCase();var Pe=!1;if(G[me])me=G[me],Pe=!0;else if(me=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var ce;return(ce=ke.rgb.exec(me))?{r:ce[1],g:ce[2],b:ce[3]}:(ce=ke.rgba.exec(me))?{r:ce[1],g:ce[2],b:ce[3],a:ce[4]}:(ce=ke.hsl.exec(me))?{h:ce[1],s:ce[2],l:ce[3]}:(ce=ke.hsla.exec(me))?{h:ce[1],s:ce[2],l:ce[3],a:ce[4]}:(ce=ke.hsv.exec(me))?{h:ce[1],s:ce[2],v:ce[3]}:(ce=ke.hsva.exec(me))?{h:ce[1],s:ce[2],v:ce[3],a:ce[4]}:(ce=ke.hex8.exec(me))?{r:ae(ce[1]),g:ae(ce[2]),b:ae(ce[3]),a:Se(ce[4]),format:Pe?"name":"hex8"}:(ce=ke.hex6.exec(me))?{r:ae(ce[1]),g:ae(ce[2]),b:ae(ce[3]),format:Pe?"name":"hex"}:(ce=ke.hex4.exec(me))?{r:ae(ce[1]+""+ce[1]),g:ae(ce[2]+""+ce[2]),b:ae(ce[3]+""+ce[3]),a:Se(ce[4]+""+ce[4]),format:Pe?"name":"hex8"}:(ce=ke.hex3.exec(me))?{r:ae(ce[1]+""+ce[1]),g:ae(ce[2]+""+ce[2]),b:ae(ce[3]+""+ce[3]),format:Pe?"name":"hex"}:!1}function Le(me){var Pe,ce;return me=me||{level:"AA",size:"small"},Pe=(me.level||"AA").toUpperCase(),ce=(me.size||"small").toLowerCase(),Pe!=="AA"&&Pe!=="AAA"&&(Pe="AA"),ce!=="small"&&ce!=="large"&&(ce="small"),{level:Pe,size:ce}}typeof E6!="undefined"&&E6.exports?E6.exports=l:window.tinycolor=l})(Math)});var Ao=ye(NS=>{"use strict";var Kee=Ay(),OS=Array.isArray;function Xtt(e,t){var r,n;for(r=0;r{"use strict";Jee.exports=function(e){var t=e.variantValues,r=e.editType,n=e.colorEditType;n===void 0&&(n=r);var i={editType:r,valType:"integer",min:1,max:1e3,extras:["normal","bold"],dflt:"normal"};e.noNumericWeightValues&&(i.valType="enumerated",i.values=i.extras,i.extras=void 0,i.min=void 0,i.max=void 0);var a={family:{valType:"string",noBlank:!0,strict:!0,editType:r},size:{valType:"number",min:1,editType:r},color:{valType:"color",editType:n},weight:i,style:{editType:r,valType:"enumerated",values:["normal","italic"],dflt:"normal"},variant:e.noFontVariant?void 0:{editType:r,valType:"enumerated",values:t||["normal","small-caps","all-small-caps","all-petite-caps","petite-caps","unicase"],dflt:"normal"},textcase:e.noFontTextcase?void 0:{editType:r,valType:"enumerated",values:["normal","word caps","upper","lower"],dflt:"normal"},lineposition:e.noFontLineposition?void 0:{editType:r,valType:"flaglist",flags:["under","over","through"],extras:["none"],dflt:"none"},shadow:e.noFontShadow?void 0:{editType:r,valType:"string",dflt:e.autoShadowDflt?"auto":"none"},editType:r};return e.autoSize&&(a.size.dflt="auto"),e.autoColor&&(a.color.dflt="auto"),e.arrayOk&&(a.family.arrayOk=!0,a.weight.arrayOk=!0,a.style.arrayOk=!0,e.noFontVariant||(a.variant.arrayOk=!0),e.noFontTextcase||(a.textcase.arrayOk=!0),e.noFontLineposition||(a.lineposition.arrayOk=!0),e.noFontShadow||(a.shadow.arrayOk=!0),a.size.arrayOk=!0,a.color.arrayOk=!0),a}});var US=ye((Nrr,$ee)=>{"use strict";$ee.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:"Arial, sans-serif",HOVERMINTIME:50,HOVERID:"-hover"}});var W1=ye((Urr,tte)=>{"use strict";var Qee=US(),ete=ec(),Dq=ete({editType:"none"});Dq.family.dflt=Qee.HOVERFONT;Dq.size.dflt=Qee.HOVERFONTSIZE;tte.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"]},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","drawclosedpath","drawopenpath","drawline","drawrect","drawcircle","orbit","turntable",!1],dflt:"zoom",editType:"modebar"},hovermode:{valType:"enumerated",values:["x","y","closest",!1,"x unified","y unified"],dflt:"closest",editType:"modebar"},hoversort:{valType:"enumerated",values:["trace","value descending","value ascending"],dflt:"trace",editType:"none"},hoversubplots:{valType:"enumerated",values:["single","overlaying","axis"],dflt:"overlaying",editType:"none"},hoveranywhere:{valType:"boolean",dflt:!1,editType:"none"},clickanywhere:{valType:"boolean",dflt:!1,editType:"none"},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none"},spikedistance:{valType:"integer",min:-1,dflt:-1,editType:"none"},hoverlabel:{bgcolor:{valType:"color",editType:"none"},bordercolor:{valType:"color",editType:"none"},font:Dq,grouptitlefont:ete({editType:"none"}),align:{valType:"enumerated",values:["left","right","auto"],dflt:"auto",editType:"none"},namelength:{valType:"integer",min:-1,dflt:15,editType:"none"},showarrow:{valType:"boolean",dflt:!0,editType:"none"},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",editType:"none"}}});var g3=ye((Vrr,rte)=>{"use strict";var Ztt=ec(),VS=W1().hoverlabel,GS=Ao().extendFlat;rte.exports={hoverlabel:{bgcolor:GS({},VS.bgcolor,{arrayOk:!0}),bordercolor:GS({},VS.bordercolor,{arrayOk:!0}),font:Ztt({arrayOk:!0,editType:"none"}),align:GS({},VS.align,{arrayOk:!0}),namelength:GS({},VS.namelength,{arrayOk:!0}),showarrow:GS({},VS.showarrow),editType:"none"}}});var Gl=ye((Grr,ite)=>{"use strict";var Ytt=ec(),Ktt=g3();ite.exports={type:{valType:"enumerated",values:[],dflt:"scatter",editType:"calc+clearAxisTypes",_noTemplating:!0},visible:{valType:"enumerated",values:[!0,!1,"legendonly"],dflt:!0,editType:"calc"},showlegend:{valType:"boolean",dflt:!0,editType:"style"},legend:{valType:"subplotid",dflt:"legend",editType:"style"},legendgroup:{valType:"string",dflt:"",editType:"style"},legendgrouptitle:{text:{valType:"string",dflt:"",editType:"style"},font:Ytt({editType:"style"}),editType:"style"},legendrank:{valType:"number",dflt:1e3,editType:"style"},legendwidth:{valType:"number",min:0,editType:"style"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"style"},name:{valType:"string",editType:"style"},uid:{valType:"string",editType:"plot",anim:!0},ids:{valType:"data_array",editType:"calc",anim:!0},customdata:{valType:"data_array",editType:"calc"},meta:{valType:"any",arrayOk:!0,editType:"plot"},selectedpoints:{valType:"any",editType:"calc"},hoverinfo:{valType:"flaglist",flags:["x","y","z","text","name"],extras:["all","none","skip"],arrayOk:!0,dflt:"all",editType:"none"},hoverlabel:Ktt.hoverlabel,stream:{token:{valType:"string",noBlank:!0,strict:!0,editType:"calc"},maxpoints:{valType:"number",min:0,max:1e4,dflt:500,editType:"calc"},editType:"calc"},uirevision:{valType:"any",editType:"none"}}});var yb=ye((Hrr,ote)=>{"use strict";var Jtt=fd(),k6={Greys:[[0,"rgb(0,0,0)"],[1,"rgb(255,255,255)"]],YlGnBu:[[0,"rgb(8,29,88)"],[.125,"rgb(37,52,148)"],[.25,"rgb(34,94,168)"],[.375,"rgb(29,145,192)"],[.5,"rgb(65,182,196)"],[.625,"rgb(127,205,187)"],[.75,"rgb(199,233,180)"],[.875,"rgb(237,248,217)"],[1,"rgb(255,255,217)"]],Greens:[[0,"rgb(0,68,27)"],[.125,"rgb(0,109,44)"],[.25,"rgb(35,139,69)"],[.375,"rgb(65,171,93)"],[.5,"rgb(116,196,118)"],[.625,"rgb(161,217,155)"],[.75,"rgb(199,233,192)"],[.875,"rgb(229,245,224)"],[1,"rgb(247,252,245)"]],YlOrRd:[[0,"rgb(128,0,38)"],[.125,"rgb(189,0,38)"],[.25,"rgb(227,26,28)"],[.375,"rgb(252,78,42)"],[.5,"rgb(253,141,60)"],[.625,"rgb(254,178,76)"],[.75,"rgb(254,217,118)"],[.875,"rgb(255,237,160)"],[1,"rgb(255,255,204)"]],Bluered:[[0,"rgb(0,0,255)"],[1,"rgb(255,0,0)"]],RdBu:[[0,"rgb(5,10,172)"],[.35,"rgb(106,137,247)"],[.5,"rgb(190,190,190)"],[.6,"rgb(220,170,132)"],[.7,"rgb(230,145,90)"],[1,"rgb(178,10,28)"]],Reds:[[0,"rgb(220,220,220)"],[.2,"rgb(245,195,157)"],[.4,"rgb(245,160,105)"],[1,"rgb(178,10,28)"]],Blues:[[0,"rgb(5,10,172)"],[.35,"rgb(40,60,190)"],[.5,"rgb(70,100,245)"],[.6,"rgb(90,120,245)"],[.7,"rgb(106,137,247)"],[1,"rgb(220,220,220)"]],Picnic:[[0,"rgb(0,0,255)"],[.1,"rgb(51,153,255)"],[.2,"rgb(102,204,255)"],[.3,"rgb(153,204,255)"],[.4,"rgb(204,204,255)"],[.5,"rgb(255,255,255)"],[.6,"rgb(255,204,255)"],[.7,"rgb(255,153,255)"],[.8,"rgb(255,102,204)"],[.9,"rgb(255,102,102)"],[1,"rgb(255,0,0)"]],Rainbow:[[0,"rgb(150,0,90)"],[.125,"rgb(0,0,200)"],[.25,"rgb(0,25,255)"],[.375,"rgb(0,152,255)"],[.5,"rgb(44,255,150)"],[.625,"rgb(151,255,0)"],[.75,"rgb(255,234,0)"],[.875,"rgb(255,111,0)"],[1,"rgb(255,0,0)"]],Portland:[[0,"rgb(12,51,131)"],[.25,"rgb(10,136,186)"],[.5,"rgb(242,211,56)"],[.75,"rgb(242,143,56)"],[1,"rgb(217,30,30)"]],Jet:[[0,"rgb(0,0,131)"],[.125,"rgb(0,60,170)"],[.375,"rgb(5,255,255)"],[.625,"rgb(255,255,0)"],[.875,"rgb(250,0,0)"],[1,"rgb(128,0,0)"]],Hot:[[0,"rgb(0,0,0)"],[.3,"rgb(230,0,0)"],[.6,"rgb(255,210,0)"],[1,"rgb(255,255,255)"]],Blackbody:[[0,"rgb(0,0,0)"],[.2,"rgb(230,0,0)"],[.4,"rgb(230,210,0)"],[.7,"rgb(255,255,255)"],[1,"rgb(160,200,255)"]],Earth:[[0,"rgb(0,0,130)"],[.1,"rgb(0,180,180)"],[.2,"rgb(40,210,40)"],[.4,"rgb(230,230,50)"],[.6,"rgb(120,70,20)"],[1,"rgb(255,255,255)"]],Electric:[[0,"rgb(0,0,0)"],[.15,"rgb(30,0,100)"],[.4,"rgb(120,0,100)"],[.6,"rgb(160,90,0)"],[.8,"rgb(230,200,0)"],[1,"rgb(255,250,220)"]],Viridis:[[0,"#440154"],[.06274509803921569,"#48186a"],[.12549019607843137,"#472d7b"],[.18823529411764706,"#424086"],[.25098039215686274,"#3b528b"],[.3137254901960784,"#33638d"],[.3764705882352941,"#2c728e"],[.4392156862745098,"#26828e"],[.5019607843137255,"#21918c"],[.5647058823529412,"#1fa088"],[.6274509803921569,"#28ae80"],[.6901960784313725,"#3fbc73"],[.7529411764705882,"#5ec962"],[.8156862745098039,"#84d44b"],[.8784313725490196,"#addc30"],[.9411764705882353,"#d8e219"],[1,"#fde725"]],Cividis:[[0,"rgb(0,32,76)"],[.058824,"rgb(0,42,102)"],[.117647,"rgb(0,52,110)"],[.176471,"rgb(39,63,108)"],[.235294,"rgb(60,74,107)"],[.294118,"rgb(76,85,107)"],[.352941,"rgb(91,95,109)"],[.411765,"rgb(104,106,112)"],[.470588,"rgb(117,117,117)"],[.529412,"rgb(131,129,120)"],[.588235,"rgb(146,140,120)"],[.647059,"rgb(161,152,118)"],[.705882,"rgb(176,165,114)"],[.764706,"rgb(192,177,109)"],[.823529,"rgb(209,191,102)"],[.882353,"rgb(225,204,92)"],[.941176,"rgb(243,219,79)"],[1,"rgb(255,233,69)"]]},nte=k6.RdBu;function $tt(e,t){if(t||(t=nte),!e)return t;function r(){try{e=k6[e]||JSON.parse(e)}catch(n){e=t}}return typeof e=="string"&&(r(),typeof e=="string"&&r()),ate(e)?e:t}function ate(e){var t=0;if(!Array.isArray(e)||e.length<2||!e[0]||!e[e.length-1]||+e[0][0]!=0||+e[e.length-1][0]!=1)return!1;for(var r=0;r{"use strict";_b.defaults=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"];_b.defaultLine="#444";_b.lightLine="#eee";_b.background="#fff";_b.borderLine="#BEC8D9";_b.lightFraction=100*10/11});var ka=ye((Wrr,ste)=>{"use strict";var wp=fd(),ert=Eo(),trt=Yd().isTypedArray,hd=ste.exports={},C6=Ih();hd.defaults=C6.defaults;var rrt=hd.defaultLine=C6.defaultLine;hd.lightLine=C6.lightLine;var zq=hd.background=C6.background;hd.tinyRGB=function(e){var t=e.toRgb();return"rgb("+Math.round(t.r)+", "+Math.round(t.g)+", "+Math.round(t.b)+")"};hd.rgb=function(e){return hd.tinyRGB(wp(e))};hd.opacity=function(e){return e?wp(e).getAlpha():0};hd.addOpacity=function(e,t){var r=wp(e).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+t+")"};hd.combine=function(e,t){var r=wp(e).toRgb();if(r.a===1)return wp(e).toRgbString();var n=wp(t||zq).toRgb(),i=n.a===1?n:{r:255*(1-n.a)+n.r*n.a,g:255*(1-n.a)+n.g*n.a,b:255*(1-n.a)+n.b*n.a},a={r:i.r*(1-r.a)+r.r*r.a,g:i.g*(1-r.a)+r.g*r.a,b:i.b*(1-r.a)+r.b*r.a};return wp(a).toRgbString()};hd.interpolate=function(e,t,r){var n=wp(e).toRgb(),i=wp(t).toRgb(),a={r:r*n.r+(1-r)*i.r,g:r*n.g+(1-r)*i.g,b:r*n.b+(1-r)*i.b};return wp(a).toRgbString()};hd.contrast=function(e,t,r){var n=wp(e);n.getAlpha()!==1&&(n=wp(hd.combine(e,zq)));var i=n.isDark()?t?n.lighten(t):zq:r?n.darken(r):rrt;return i.toString()};hd.stroke=function(e,t){var r=wp(t);e.style({stroke:hd.tinyRGB(r),"stroke-opacity":r.getAlpha()})};hd.fill=function(e,t){var r=wp(t);e.style({fill:hd.tinyRGB(r),"fill-opacity":r.getAlpha()})};hd.clean=function(e){if(!(!e||typeof e!="object")){var t=Object.keys(e),r,n,i,a;for(r=0;r=0)))return e;if(a===3)n[a]>1&&(n[a]=1);else if(n[a]>=1)return e}var o=Math.round(n[0]*255)+", "+Math.round(n[1]*255)+", "+Math.round(n[2]*255);return i?"rgba("+o+", "+n[3]+")":"rgb("+o+")"}});var X1=ye((Xrr,lte)=>{"use strict";lte.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}});var m3=ye(ute=>{"use strict";ute.counter=function(e,t,r,n){var i=(t||"")+(r?"":"$"),a=n===!1?"":"^";return e==="xy"?new RegExp(a+"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?"+i):new RegExp(a+e+"([2-9]|[1-9][0-9]+)?"+i)}});var dte=ye(Tp=>{"use strict";var qq=Eo(),cte=fd(),fte=Ao().extendFlat,irt=Gl(),nrt=yb(),art=ka(),ort=X1().DESELECTDIM,y3=zS(),hte=m3().counter,srt=p3().modHalf,bg=Yd().isArrayOrTypedArray,Z1=Yd().isTypedArraySpec,Y1=Yd().decodeTypedArraySpec;Tp.valObjectMeta={data_array:{coerceFunction:function(e,t,r){t.set(bg(e)?e:Z1(e)?Y1(e):r)}},enumerated:{coerceFunction:function(e,t,r,n){n.coerceNumber&&(e=+e),n.values.indexOf(e)===-1?t.set(r):t.set(e)},validateFunction:function(e,t){t.coerceNumber&&(e=+e);for(var r=t.values,n=0;na===!0||a===!1;i(e)||n.arrayOk&&Array.isArray(e)&&e.length>0&&e.every(i)?t.set(e):t.set(r)}},number:{coerceFunction:function(e,t,r,n){Z1(e)&&(e=Y1(e)),!qq(e)||n.min!==void 0&&en.max?t.set(r):t.set(+e)}},integer:{coerceFunction:function(e,t,r,n){if((n.extras||[]).indexOf(e)!==-1){t.set(e);return}Z1(e)&&(e=Y1(e)),e%1||!qq(e)||n.min!==void 0&&en.max?t.set(r):t.set(+e)}},string:{coerceFunction:function(e,t,r,n){if(typeof e!="string"){var i=typeof e=="number";n.strict===!0||!i?t.set(r):t.set(String(e))}else n.noBlank&&!e?t.set(r):t.set(e)}},color:{coerceFunction:function(e,t,r){Z1(e)&&(e=Y1(e)),cte(e).isValid()?t.set(e):t.set(r)}},colorlist:{coerceFunction:function(e,t,r){function n(i){return cte(i).isValid()}!Array.isArray(e)||!e.length?t.set(r):e.every(n)?t.set(e):t.set(r)}},colorscale:{coerceFunction:function(e,t,r){t.set(nrt.get(e,r))}},angle:{coerceFunction:function(e,t,r){Z1(e)&&(e=Y1(e)),e==="auto"?t.set("auto"):qq(e)?t.set(srt(+e,360)):t.set(r)}},subplotid:{coerceFunction:function(e,t,r,n){var i=n.regex||hte(r);let a=o=>typeof o=="string"&&i.test(o);a(e)||n.arrayOk&&bg(e)&&e.length>0&&e.every(a)?t.set(e):t.set(r)},validateFunction:function(e,t){var r=t.dflt;return e===r?!0:typeof e!="string"?!1:!!hte(r).test(e)}},flaglist:{coerceFunction:function(e,t,r,n){if((n.extras||[]).indexOf(e)!==-1){t.set(e);return}if(typeof e!="string"){t.set(r);return}for(var i=e.split("+"),a=0;a{"use strict";var vte={staticPlot:{valType:"boolean",dflt:!1},typesetMath:{valType:"boolean",dflt:!0},plotlyServerURL:{valType:"string",dflt:""},editable:{valType:"boolean",dflt:!1},edits:{annotationPosition:{valType:"boolean",dflt:!1},annotationTail:{valType:"boolean",dflt:!1},annotationText:{valType:"boolean",dflt:!1},axisTitleText:{valType:"boolean",dflt:!1},colorbarPosition:{valType:"boolean",dflt:!1},colorbarTitleText:{valType:"boolean",dflt:!1},legendPosition:{valType:"boolean",dflt:!1},legendText:{valType:"boolean",dflt:!1},shapePosition:{valType:"boolean",dflt:!1},titleText:{valType:"boolean",dflt:!1}},editSelection:{valType:"boolean",dflt:!0},autosizable:{valType:"boolean",dflt:!1},responsive:{valType:"boolean",dflt:!1},fillFrame:{valType:"boolean",dflt:!1},frameMargins:{valType:"number",dflt:0,min:0,max:.5},scrollZoom:{valType:"flaglist",flags:["cartesian","gl3d","geo","mapbox","map"],extras:[!0,!1],dflt:"gl3d+geo+map"},doubleClick:{valType:"enumerated",values:[!1,"reset","autosize","reset+autosize"],dflt:"reset+autosize"},doubleClickDelay:{valType:"number",dflt:300,min:0},showAxisDragHandles:{valType:"boolean",dflt:!0},showAxisRangeEntryBoxes:{valType:"boolean",dflt:!0},showTips:{valType:"boolean",dflt:!0},displayNotifier:{valType:"boolean",dflt:!0},showLink:{valType:"boolean",dflt:!1},linkText:{valType:"string",dflt:"Edit chart",noBlank:!0},sendData:{valType:"boolean",dflt:!0},showSources:{valType:"any",dflt:!1},displayModeBar:{valType:"enumerated",values:["hover",!0,!1],dflt:"hover"},showSendToCloud:{valType:"boolean",dflt:!1},showEditInChartStudio:{valType:"boolean",dflt:!1},modeBarButtonsToRemove:{valType:"any",dflt:[]},modeBarButtonsToAdd:{valType:"any",dflt:[]},modeBarButtons:{valType:"any",dflt:!1},toImageButtonOptions:{valType:"any",dflt:{}},displaylogo:{valType:"boolean",dflt:!0},watermark:{valType:"boolean",dflt:!1},plotGlPixelRatio:{valType:"number",dflt:2,min:1,max:4},setBackground:{valType:"any",dflt:"transparent"},topojsonURL:{valType:"string",noBlank:!0,dflt:"https://cdn.plot.ly/un/"},mapboxAccessToken:{valType:"string",dflt:null},logging:{valType:"integer",min:0,max:2,dflt:1},notifyOnLogging:{valType:"integer",min:0,max:2,dflt:0},queueLength:{valType:"integer",min:0,dflt:0},locale:{valType:"string",dflt:"en-US"},locales:{valType:"any",dflt:{}}},pte={};function gte(e,t){for(var r in e){var n=e[r];n.valType?t[r]=n.dflt:(t[r]||(t[r]={}),gte(n,t[r]))}}gte(vte,pte);mte.exports={configAttributes:vte,dfltConfig:pte}});var Bq=ye((Jrr,yte)=>{"use strict";var Oq=qa(),lrt=Eo(),HS=[];yte.exports=function(e,t,r){var s;if(((s=r==null?void 0:r._context)==null?void 0:s.displayNotifier)===!1||HS.indexOf(e)!==-1)return;HS.push(e);var n=1e3;lrt(t)?n=t:t==="long"&&(n=3e3);var i=Oq.select("body").selectAll(".plotly-notifier").data([0]);i.enter().append("div").classed("plotly-notifier",!0);var a=i.selectAll(".notifier-note").data(HS);function o(l){l.duration(700).style("opacity",0).each("end",function(u){var c=HS.indexOf(u);c!==-1&&HS.splice(c,1),Oq.select(this).remove()})}a.enter().append("div").classed("notifier-note",!0).style("opacity",0).each(function(l){var u=Oq.select(this);u.append("button").classed("notifier-close",!0).html("×").on("click",function(){u.transition().call(o)});for(var c=u.append("p"),f=l.split(//g),h=0;h{"use strict";var _3=xb().dfltConfig,Nq=Bq(),Uq=_te.exports={};Uq.log=function(){var e;if(_3.logging>1){var t=["LOG:"];for(e=0;e1){var r=[];for(e=0;e"),"long")}};Uq.warn=function(){var e;if(_3.logging>0){var t=["WARN:"];for(e=0;e0){var r=[];for(e=0;e"),"stick")}};Uq.error=function(){var e;if(_3.logging>0){var t=["ERROR:"];for(e=0;e0){var r=[];for(e=0;e"),"stick")}}});var P6=ye((Qrr,xte)=>{"use strict";xte.exports=function(){}});var Vq=ye((eir,bte)=>{"use strict";bte.exports=function(t,r){if(r instanceof RegExp){for(var n=r.toString(),i=0;i{wte.exports=urt;function urt(){var e=new Float32Array(16);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Ste=ye((rir,Ate)=>{Ate.exports=crt;function crt(e){var t=new Float32Array(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}});var Ete=ye((iir,Mte)=>{Mte.exports=frt;function frt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var Gq=ye((nir,kte)=>{kte.exports=hrt;function hrt(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Lte=ye((air,Cte)=>{Cte.exports=drt;function drt(e,t){if(e===t){var r=t[1],n=t[2],i=t[3],a=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}});var Ite=ye((oir,Pte)=>{Pte.exports=vrt;function vrt(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],f=t[9],h=t[10],d=t[11],v=t[12],m=t[13],b=t[14],p=t[15],k=r*s-n*o,M=r*l-i*o,T=r*u-a*o,L=n*l-i*s,x=n*u-a*s,C=i*u-a*l,S=c*m-f*v,g=c*b-h*v,P=c*p-d*v,E=f*b-h*m,z=f*p-d*m,q=h*p-d*b,V=k*q-M*z+T*E+L*P-x*g+C*S;return V?(V=1/V,e[0]=(s*q-l*z+u*E)*V,e[1]=(i*z-n*q-a*E)*V,e[2]=(m*C-b*x+p*L)*V,e[3]=(h*x-f*C-d*L)*V,e[4]=(l*P-o*q-u*g)*V,e[5]=(r*q-i*P+a*g)*V,e[6]=(b*T-v*C-p*M)*V,e[7]=(c*C-h*T+d*M)*V,e[8]=(o*z-s*P+u*S)*V,e[9]=(n*P-r*z-a*S)*V,e[10]=(v*x-m*T+p*k)*V,e[11]=(f*T-c*x-d*k)*V,e[12]=(s*g-o*E-l*S)*V,e[13]=(r*E-n*g+i*S)*V,e[14]=(m*M-v*L-b*k)*V,e[15]=(c*L-f*M+h*k)*V,e):null}});var Dte=ye((sir,Rte)=>{Rte.exports=prt;function prt(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],f=t[9],h=t[10],d=t[11],v=t[12],m=t[13],b=t[14],p=t[15];return e[0]=s*(h*p-d*b)-f*(l*p-u*b)+m*(l*d-u*h),e[1]=-(n*(h*p-d*b)-f*(i*p-a*b)+m*(i*d-a*h)),e[2]=n*(l*p-u*b)-s*(i*p-a*b)+m*(i*u-a*l),e[3]=-(n*(l*d-u*h)-s*(i*d-a*h)+f*(i*u-a*l)),e[4]=-(o*(h*p-d*b)-c*(l*p-u*b)+v*(l*d-u*h)),e[5]=r*(h*p-d*b)-c*(i*p-a*b)+v*(i*d-a*h),e[6]=-(r*(l*p-u*b)-o*(i*p-a*b)+v*(i*u-a*l)),e[7]=r*(l*d-u*h)-o*(i*d-a*h)+c*(i*u-a*l),e[8]=o*(f*p-d*m)-c*(s*p-u*m)+v*(s*d-u*f),e[9]=-(r*(f*p-d*m)-c*(n*p-a*m)+v*(n*d-a*f)),e[10]=r*(s*p-u*m)-o*(n*p-a*m)+v*(n*u-a*s),e[11]=-(r*(s*d-u*f)-o*(n*d-a*f)+c*(n*u-a*s)),e[12]=-(o*(f*b-h*m)-c*(s*b-l*m)+v*(s*h-l*f)),e[13]=r*(f*b-h*m)-c*(n*b-i*m)+v*(n*h-i*f),e[14]=-(r*(s*b-l*m)-o*(n*b-i*m)+v*(n*l-i*s)),e[15]=r*(s*h-l*f)-o*(n*h-i*f)+c*(n*l-i*s),e}});var zte=ye((lir,Fte)=>{Fte.exports=grt;function grt(e){var t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],f=e[10],h=e[11],d=e[12],v=e[13],m=e[14],b=e[15],p=t*o-r*a,k=t*s-n*a,M=t*l-i*a,T=r*s-n*o,L=r*l-i*o,x=n*l-i*s,C=u*v-c*d,S=u*m-f*d,g=u*b-h*d,P=c*m-f*v,E=c*b-h*v,z=f*b-h*m;return p*z-k*E+M*P+T*g-L*S+x*C}});var Ote=ye((uir,qte)=>{qte.exports=mrt;function mrt(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],f=t[8],h=t[9],d=t[10],v=t[11],m=t[12],b=t[13],p=t[14],k=t[15],M=r[0],T=r[1],L=r[2],x=r[3];return e[0]=M*n+T*s+L*f+x*m,e[1]=M*i+T*l+L*h+x*b,e[2]=M*a+T*u+L*d+x*p,e[3]=M*o+T*c+L*v+x*k,M=r[4],T=r[5],L=r[6],x=r[7],e[4]=M*n+T*s+L*f+x*m,e[5]=M*i+T*l+L*h+x*b,e[6]=M*a+T*u+L*d+x*p,e[7]=M*o+T*c+L*v+x*k,M=r[8],T=r[9],L=r[10],x=r[11],e[8]=M*n+T*s+L*f+x*m,e[9]=M*i+T*l+L*h+x*b,e[10]=M*a+T*u+L*d+x*p,e[11]=M*o+T*c+L*v+x*k,M=r[12],T=r[13],L=r[14],x=r[15],e[12]=M*n+T*s+L*f+x*m,e[13]=M*i+T*l+L*h+x*b,e[14]=M*a+T*u+L*d+x*p,e[15]=M*o+T*c+L*v+x*k,e}});var Nte=ye((cir,Bte)=>{Bte.exports=yrt;function yrt(e,t,r){var n=r[0],i=r[1],a=r[2],o,s,l,u,c,f,h,d,v,m,b,p;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*a+t[12],e[13]=t[1]*n+t[5]*i+t[9]*a+t[13],e[14]=t[2]*n+t[6]*i+t[10]*a+t[14],e[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],l=t[2],u=t[3],c=t[4],f=t[5],h=t[6],d=t[7],v=t[8],m=t[9],b=t[10],p=t[11],e[0]=o,e[1]=s,e[2]=l,e[3]=u,e[4]=c,e[5]=f,e[6]=h,e[7]=d,e[8]=v,e[9]=m,e[10]=b,e[11]=p,e[12]=o*n+c*i+v*a+t[12],e[13]=s*n+f*i+m*a+t[13],e[14]=l*n+h*i+b*a+t[14],e[15]=u*n+d*i+p*a+t[15]),e}});var Vte=ye((fir,Ute)=>{Ute.exports=_rt;function _rt(e,t,r){var n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var Hte=ye((hir,Gte)=>{Gte.exports=xrt;function xrt(e,t,r,n){var i=n[0],a=n[1],o=n[2],s=Math.sqrt(i*i+a*a+o*o),l,u,c,f,h,d,v,m,b,p,k,M,T,L,x,C,S,g,P,E,z,q,V,G;return Math.abs(s)<1e-6?null:(s=1/s,i*=s,a*=s,o*=s,l=Math.sin(r),u=Math.cos(r),c=1-u,f=t[0],h=t[1],d=t[2],v=t[3],m=t[4],b=t[5],p=t[6],k=t[7],M=t[8],T=t[9],L=t[10],x=t[11],C=i*i*c+u,S=a*i*c+o*l,g=o*i*c-a*l,P=i*a*c-o*l,E=a*a*c+u,z=o*a*c+i*l,q=i*o*c+a*l,V=a*o*c-i*l,G=o*o*c+u,e[0]=f*C+m*S+M*g,e[1]=h*C+b*S+T*g,e[2]=d*C+p*S+L*g,e[3]=v*C+k*S+x*g,e[4]=f*P+m*E+M*z,e[5]=h*P+b*E+T*z,e[6]=d*P+p*E+L*z,e[7]=v*P+k*E+x*z,e[8]=f*q+m*V+M*G,e[9]=h*q+b*V+T*G,e[10]=d*q+p*V+L*G,e[11]=v*q+k*V+x*G,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}});var Wte=ye((dir,jte)=>{jte.exports=brt;function brt(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],f=t[10],h=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+u*n,e[5]=o*i+c*n,e[6]=s*i+f*n,e[7]=l*i+h*n,e[8]=u*i-a*n,e[9]=c*i-o*n,e[10]=f*i-s*n,e[11]=h*i-l*n,e}});var Zte=ye((vir,Xte)=>{Xte.exports=wrt;function wrt(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],u=t[8],c=t[9],f=t[10],h=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-u*n,e[1]=o*i-c*n,e[2]=s*i-f*n,e[3]=l*i-h*n,e[8]=a*n+u*i,e[9]=o*n+c*i,e[10]=s*n+f*i,e[11]=l*n+h*i,e}});var Kte=ye((pir,Yte)=>{Yte.exports=Trt;function Trt(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],u=t[4],c=t[5],f=t[6],h=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+u*n,e[1]=o*i+c*n,e[2]=s*i+f*n,e[3]=l*i+h*n,e[4]=u*i-a*n,e[5]=c*i-o*n,e[6]=f*i-s*n,e[7]=h*i-l*n,e}});var $te=ye((gir,Jte)=>{Jte.exports=Art;function Art(e,t,r){var n,i,a,o=r[0],s=r[1],l=r[2],u=Math.sqrt(o*o+s*s+l*l);return Math.abs(u)<1e-6?null:(u=1/u,o*=u,s*=u,l*=u,n=Math.sin(t),i=Math.cos(t),a=1-i,e[0]=o*o*a+i,e[1]=s*o*a+l*n,e[2]=l*o*a-s*n,e[3]=0,e[4]=o*s*a-l*n,e[5]=s*s*a+i,e[6]=l*s*a+o*n,e[7]=0,e[8]=o*l*a+s*n,e[9]=s*l*a-o*n,e[10]=l*l*a+i,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}});var ere=ye((mir,Qte)=>{Qte.exports=Srt;function Srt(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,l=i+i,u=a+a,c=n*s,f=n*l,h=n*u,d=i*l,v=i*u,m=a*u,b=o*s,p=o*l,k=o*u;return e[0]=1-(d+m),e[1]=f+k,e[2]=h-p,e[3]=0,e[4]=f-k,e[5]=1-(c+m),e[6]=v+b,e[7]=0,e[8]=h+p,e[9]=v-b,e[10]=1-(c+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}});var rre=ye((yir,tre)=>{tre.exports=Mrt;function Mrt(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var nre=ye((_ir,ire)=>{ire.exports=Ert;function Ert(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}});var ore=ye((xir,are)=>{are.exports=krt;function krt(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var lre=ye((bir,sre)=>{sre.exports=Crt;function Crt(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var cre=ye((wir,ure)=>{ure.exports=Lrt;function Lrt(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var hre=ye((Tir,fre)=>{fre.exports=Prt;function Prt(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,f=n*s,h=i*o,d=i*s,v=i*l,m=a*o,b=a*s,p=a*l;return e[0]=1-f-v,e[1]=c+p,e[2]=h-b,e[3]=0,e[4]=c-p,e[5]=1-u-v,e[6]=d+m,e[7]=0,e[8]=h+b,e[9]=d-m,e[10]=1-u-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var vre=ye((Air,dre)=>{dre.exports=Irt;function Irt(e,t,r,n,i,a,o){var s=1/(r-t),l=1/(i-n),u=1/(a-o);return e[0]=a*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*l,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*l,e[10]=(o+a)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*u,e[15]=0,e}});var gre=ye((Sir,pre)=>{pre.exports=Rrt;function Rrt(e,t,r,n,i){var a=1/Math.tan(t/2),o=1/(n-i);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=(i+n)*o,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*i*n*o,e[15]=0,e}});var yre=ye((Mir,mre)=>{mre.exports=Drt;function Drt(e,t,r,n){var i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return e[0]=l,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=u,e[6]=0,e[7]=0,e[8]=-((o-s)*l*.5),e[9]=(i-a)*u*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}});var xre=ye((Eir,_re)=>{_re.exports=Frt;function Frt(e,t,r,n,i,a,o){var s=1/(t-r),l=1/(n-i),u=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*l,e[14]=(o+a)*u,e[15]=1,e}});var wre=ye((kir,bre)=>{var zrt=Gq();bre.exports=qrt;function qrt(e,t,r,n){var i,a,o,s,l,u,c,f,h,d,v=t[0],m=t[1],b=t[2],p=n[0],k=n[1],M=n[2],T=r[0],L=r[1],x=r[2];return Math.abs(v-T)<1e-6&&Math.abs(m-L)<1e-6&&Math.abs(b-x)<1e-6?zrt(e):(c=v-T,f=m-L,h=b-x,d=1/Math.sqrt(c*c+f*f+h*h),c*=d,f*=d,h*=d,i=k*h-M*f,a=M*c-p*h,o=p*f-k*c,d=Math.sqrt(i*i+a*a+o*o),d?(d=1/d,i*=d,a*=d,o*=d):(i=0,a=0,o=0),s=f*o-h*a,l=h*i-c*o,u=c*a-f*i,d=Math.sqrt(s*s+l*l+u*u),d?(d=1/d,s*=d,l*=d,u*=d):(s=0,l=0,u=0),e[0]=i,e[1]=s,e[2]=c,e[3]=0,e[4]=a,e[5]=l,e[6]=f,e[7]=0,e[8]=o,e[9]=u,e[10]=h,e[11]=0,e[12]=-(i*v+a*m+o*b),e[13]=-(s*v+l*m+u*b),e[14]=-(c*v+f*m+h*b),e[15]=1,e)}});var Are=ye((Cir,Tre)=>{Tre.exports=Ort;function Ort(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"}});var Hq=ye((Lir,Sre)=>{Sre.exports={create:Tte(),clone:Ste(),copy:Ete(),identity:Gq(),transpose:Lte(),invert:Ite(),adjoint:Dte(),determinant:zte(),multiply:Ote(),translate:Nte(),scale:Vte(),rotate:Hte(),rotateX:Wte(),rotateY:Zte(),rotateZ:Kte(),fromRotation:$te(),fromRotationTranslation:ere(),fromScaling:rre(),fromTranslation:nre(),fromXRotation:ore(),fromYRotation:lre(),fromZRotation:cre(),fromQuat:hre(),frustum:vre(),perspective:gre(),perspectiveFromFieldOfView:yre(),ortho:xre(),lookAt:wre(),str:Are()}});var I6=ye(fh=>{"use strict";var Brt=Hq();fh.init2dArray=function(e,t){for(var r=new Array(e),n=0;n{"use strict";var Nrt=qa(),Mre=K1(),Urt=I6(),Vrt=Hq();function Grt(e){var t;if(typeof e=="string"){if(t=document.getElementById(e),t===null)throw new Error("No DOM element with id '"+e+"' exists on the page.");return t}else if(e==null)throw new Error("DOM element provided is null or undefined");return e}function Hrt(e){var t=Nrt.select(e);return t.node()instanceof HTMLElement&&t.size()&&t.classed("js-plotly-plot")}function Ere(e){var t=e&&e.parentNode;t&&t.removeChild(e)}function jrt(e,t){kre("global",e,t)}function kre(e,t,r){var n="plotly.js-style-"+e,i=document.getElementById(n);if(!(i&&i.matches(".no-inline-styles"))){i||(i=document.createElement("style"),i.setAttribute("id",n),i.appendChild(document.createTextNode("")),document.head.appendChild(i));var a=i.sheet;a?a.insertRule?a.insertRule(t+"{"+r+"}",0):a.addRule?a.addRule(t,r,0):Mre.warn("addStyleRule failed"):Mre.warn("Cannot addRelatedStyleRule, probably due to strict CSP...")}}function Wrt(e){var t="plotly.js-style-"+e,r=document.getElementById(t);r&&Ere(r)}function Xrt(e,t,r,n,i,a){var o=n.split(":"),s=i.split(":"),l="data-btn-style-event-added";a||(a=document),a.querySelectorAll(e).forEach(function(u){u.getAttribute(l)||(u.addEventListener("mouseenter",function(){var c=this.querySelector(r);c&&(c.style[o[0]]=o[1])}),u.addEventListener("mouseleave",function(){var c=this.querySelector(r);c&&(t&&this.matches(t)?c.style[o[0]]=o[1]:c.style[s[0]]=s[1])}),u.setAttribute(l,!0))})}function Zrt(e){var t=Lre(e),r=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return t.forEach(function(n){var i=Cre(n);if(i){var a=Urt.convertCssMatrix(i);r=Vrt.multiply(r,r,a)}}),r}function Cre(e){var t=window.getComputedStyle(e,null),r=t.getPropertyValue("-webkit-transform")||t.getPropertyValue("-moz-transform")||t.getPropertyValue("-ms-transform")||t.getPropertyValue("-o-transform")||t.getPropertyValue("transform");return r==="none"?null:r.replace("matrix","").replace("3d","").slice(1,-1).split(",").map(function(n){return+n})}function Lre(e){for(var t=[];Yrt(e);)t.push(e),e=e.parentNode,typeof ShadowRoot=="function"&&e instanceof ShadowRoot&&(e=e.host);return t}function Yrt(e){return e&&(e instanceof Element||e instanceof HTMLElement)}function Krt(e,t){return e&&t&&e.top===t.top&&e.left===t.left&&e.right===t.right&&e.bottom===t.bottom}Pre.exports={getGraphDiv:Grt,isPlotDiv:Hrt,removeElement:Ere,addStyleRule:jrt,addRelatedStyleRule:kre,deleteRelatedStyleRule:Wrt,setStyleOnHover:Xrt,getFullTransformMatrix:Zrt,getElementTransformMatrix:Cre,getElementAndAncestors:Lre,equalDomRects:Krt}});var WS=ye((Rir,Ire)=>{"use strict";Ire.exports={mode:{valType:"enumerated",dflt:"afterall",values:["immediate","next","afterall"]},direction:{valType:"enumerated",values:["forward","reverse"],dflt:"forward"},fromcurrent:{valType:"boolean",dflt:!1},frame:{duration:{valType:"number",min:0,dflt:500},redraw:{valType:"boolean",dflt:!0}},transition:{duration:{valType:"number",min:0,dflt:500,editType:"none"},easing:{valType:"enumerated",dflt:"cubic-in-out",values:["linear","quad","cubic","sin","exp","circle","elastic","back","bounce","linear-in","quad-in","cubic-in","sin-in","exp-in","circle-in","elastic-in","back-in","bounce-in","linear-out","quad-out","cubic-out","sin-out","exp-out","circle-out","elastic-out","back-out","bounce-out","linear-in-out","quad-in-out","cubic-in-out","sin-in-out","exp-in-out","circle-in-out","elastic-in-out","back-in-out","bounce-in-out"],editType:"none"},ordering:{valType:"enumerated",values:["layout first","traces first"],dflt:"layout first",editType:"none"}}}});var mc=ye((Dir,Bre)=>{"use strict";var Dre=Ao().extendFlat,Jrt=Ay(),Fre={valType:"flaglist",extras:["none"],flags:["calc","clearAxisTypes","plot","style","markerSize","colorbars"]},zre={valType:"flaglist",extras:["none"],flags:["calc","plot","legend","ticks","axrange","layoutstyle","modebar","camera","arraydraw","colorbars"]},$rt=Fre.flags.slice().concat(["fullReplot"]),Qrt=zre.flags.slice().concat("layoutReplot");Bre.exports={traces:Fre,layout:zre,traceFlags:function(){return Rre($rt)},layoutFlags:function(){return Rre(Qrt)},update:function(e,t){var r=t.editType;if(r&&r!=="none")for(var n=r.split("+"),i=0;i{"use strict";jq.dash={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"};jq.pattern={shape:{valType:"enumerated",values:["","/","\\","x","-","|","+","."],dflt:"",arrayOk:!0,editType:"style"},path:{valType:"string",arrayOk:!0,editType:"style"},fillmode:{valType:"enumerated",values:["replace","overlay"],dflt:"replace",editType:"style"},bgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgopacity:{valType:"number",editType:"style",min:0,max:1},size:{valType:"number",min:0,dflt:8,arrayOk:!0,editType:"style"},solidity:{valType:"number",min:0,max:1,dflt:.3,arrayOk:!0,editType:"style"},editType:"style"}});var Wq=ye((zir,Nre)=>{"use strict";Nre.exports={FORMAT_LINK:"https://github.com/d3/d3-format/tree/v1.4.5#d3-format",DATE_FORMAT_LINK:"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format"}});var Ll=ye(x3=>{"use strict";var{DATE_FORMAT_LINK:eit,FORMAT_LINK:tit}=Wq(),rit=["Variables that can't be found will be replaced with the specifier.",'For example, a template of "data: %{x}, %{y}" will result in a value of "data: 1, %{y}" if x is 1 and y is missing.',"Variables with an undefined value will be replaced with the fallback value."].join(" ");function iit({supportOther:e}={}){return["Variables are inserted using %{variable},",'for example "y: %{y}"'+(e?" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown.":"."),`Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}".`,tit,"for details on the formatting syntax.",`Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}".`,eit,"for details on the date formatting syntax.",rit].join(" ")}x3.templateFormatStringDescription=iit;x3.hovertemplateAttrs=({editType:e="none",arrayOk:t}={},r={})=>_g({valType:"string",dflt:"",editType:e},t!==!1?{arrayOk:!0}:{});x3.texttemplateAttrs=({editType:e="calc",arrayOk:t}={},r={})=>_g({valType:"string",dflt:"",editType:e},t!==!1?{arrayOk:!0}:{});x3.shapeTexttemplateAttrs=({editType:e="arraydraw",newshape:t}={},r={})=>({valType:"string",dflt:"",editType:e});x3.templatefallbackAttrs=({editType:e="none"}={})=>({valType:"any",dflt:"-",editType:e})});var F6=ye((Bir,Wre)=>{"use strict";function J1(e,t){return t?t.d2l(e):e}function Ure(e,t){return t?t.l2d(e):e}function nit(e){return e.x0}function ait(e){return e.x1}function oit(e){return e.y0}function sit(e){return e.y1}function Vre(e){return e.x0shift||0}function Gre(e){return e.x1shift||0}function Hre(e){return e.y0shift||0}function jre(e){return e.y1shift||0}function R6(e,t){return J1(e.x1,t)+Gre(e)-J1(e.x0,t)-Vre(e)}function D6(e,t,r){return J1(e.y1,r)+jre(e)-J1(e.y0,r)-Hre(e)}function lit(e,t){return Math.abs(R6(e,t))}function uit(e,t,r){return Math.abs(D6(e,t,r))}function cit(e,t,r){return e.type!=="line"?void 0:Math.sqrt(Math.pow(R6(e,t),2)+Math.pow(D6(e,t,r),2))}function fit(e,t){return Ure((J1(e.x1,t)+Gre(e)+J1(e.x0,t)+Vre(e))/2,t)}function hit(e,t,r){return Ure((J1(e.y1,r)+jre(e)+J1(e.y0,r)+Hre(e))/2,r)}function dit(e,t,r){return e.type!=="line"?void 0:D6(e,t,r)/R6(e,t)}var vit=["x0","x1","y0","y1","dy","height","ycenter"],pit=["x0","x1","y0","y1","dx","width","xcenter"];Wre.exports={x0:nit,x1:ait,y0:oit,y1:sit,slope:dit,dx:R6,dy:D6,width:lit,height:uit,length:cit,xcenter:fit,ycenter:hit,simpleXVariables:vit,simpleYVariables:pit}});var Yre=ye((Nir,Zre)=>{"use strict";var git=mc().overrideAll,bb=Gl(),Xre=ec(),mit=Pd().dash,$1=Ao().extendFlat,{shapeTexttemplateAttrs:yit,templatefallbackAttrs:_it}=Ll(),xit=F6();Zre.exports=git({newshape:{visible:$1({},bb.visible,{}),showlegend:{valType:"boolean",dflt:!1},legend:$1({},bb.legend,{}),legendgroup:$1({},bb.legendgroup,{}),legendgrouptitle:{text:$1({},bb.legendgrouptitle.text,{}),font:Xre({})},legendrank:$1({},bb.legendrank,{}),legendwidth:$1({},bb.legendwidth,{}),line:{color:{valType:"color"},width:{valType:"number",min:0,dflt:4},dash:$1({},mit,{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:$1({},bb.name,{}),label:{text:{valType:"string",dflt:""},texttemplate:yit({newshape:!0},{keys:Object.keys(xit)}),texttemplatefallback:_it({editType:"arraydraw"}),font:Xre({}),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")});var Jre=ye((Uir,Kre)=>{"use strict";var bit=Pd().dash,wit=Ao().extendFlat;Kre.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:wit({},bit,{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"}}});var z6=ye((Vir,$re)=>{"use strict";$re.exports=function(e){var t=e.editType;return{t:{valType:"number",dflt:0,editType:t},r:{valType:"number",dflt:0,editType:t},b:{valType:"number",dflt:0,editType:t},l:{valType:"number",dflt:0,editType:t},editType:t}}});var b3=ye((Gir,rie)=>{"use strict";var Xq=ec(),Tit=WS(),q6=Ih(),Qre=Yre(),eie=Jre(),Ait=z6(),tie=Ao().extendFlat,O6=Xq({editType:"calc"});O6.family.dflt='"Open Sans", verdana, arial, sans-serif';O6.size.dflt=12;O6.color.dflt=q6.defaultLine;rie.exports={font:O6,title:{text:{valType:"string",editType:"layoutstyle"},font:Xq({editType:"layoutstyle"}),subtitle:{text:{valType:"string",editType:"layoutstyle"},font:Xq({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:tie(Ait({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:q6.background,editType:"plot"},plot_bgcolor:{valType:"color",dflt:q6.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:q6.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:Qre.newshape,activeshape:Qre.activeshape,newselection:eie.newselection,activeselection:eie.activeselection,meta:{valType:"any",arrayOk:!0,editType:"plot"},transition:tie({},Tit.transition,{editType:"none"})}});var iie=ye(()=>{(function(){if(!document.getElementById("8431bff7cc77ea8693f8122c6e0981316b936a0a4930625e08b1512d134062bc")){var e=document.createElement("style");e.id="8431bff7cc77ea8693f8122c6e0981316b936a0a4930625e08b1512d134062bc",e.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(e)}})()});var Oa=ye(el=>{"use strict";var w3=K1(),nie=P6(),aie=Vq(),Sit=Ay(),Mit=jS().addStyleRule,oie=Ao(),Eit=Gl(),kit=b3(),Cit=oie.extendFlat,Zq=oie.extendDeepAll;el.modules={};el.allCategories={};el.allTypes=[];el.subplotsRegistry={};el.componentsRegistry={};el.layoutArrayContainers=[];el.layoutArrayRegexes=[];el.traceLayoutAttributes={};el.localeRegistry={};el.apiMethodRegistry={};el.collectableSubplotTypes=null;el.register=function(t){if(el.collectableSubplotTypes=null,t)t&&!Array.isArray(t)&&(t=[t]);else throw new Error("No argument passed to Plotly.register.");for(var r=0;r{"use strict";var Fit=d3().timeFormat,mie=Eo(),Yq=K1(),e_=p3().mod,S3=fs(),_0=S3.BADNUM,Ap=S3.ONEDAY,XS=S3.ONEHOUR,Q1=S3.ONEMIN,A3=S3.ONESEC,ZS=S3.EPOCHJD,Sy=Oa(),fie=d3().utcFormat,zit=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\d)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m,qit=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\di?)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m,hie=new Date().getFullYear()-70;function My(e){return e&&Sy.componentsRegistry.calendars&&typeof e=="string"&&e!=="gregorian"}hh.dateTick0=function(e,t){var r=Oit(e,!!t);if(t<2)return r;var n=hh.dateTime2ms(r,e);return n+=Ap*(t-1),hh.ms2DateTime(n,0,e)};function Oit(e,t){return My(e)?t?Sy.getComponentMethod("calendars","CANONICAL_SUNDAY")[e]:Sy.getComponentMethod("calendars","CANONICAL_TICK")[e]:t?"2000-01-02":"2000-01-01"}hh.dfltRange=function(e){return My(e)?Sy.getComponentMethod("calendars","DFLTRANGE")[e]:["2000-01-01","2001-01-01"]};hh.isJSDate=function(e){return typeof e=="object"&&e!==null&&typeof e.getTime=="function"};var N6,U6;hh.dateTime2ms=function(e,t){if(hh.isJSDate(e)){var r=e.getTimezoneOffset()*Q1,n=(e.getUTCMinutes()-e.getMinutes())*Q1+(e.getUTCSeconds()-e.getSeconds())*A3+(e.getUTCMilliseconds()-e.getMilliseconds());if(n){var i=3*Q1;r=r-i/2+e_(n-r+i/2,i)}return e=Number(e)-r,e>=N6&&e<=U6?e:_0}if(typeof e!="string"&&typeof e!="number")return _0;e=String(e);var a=My(t),o=e.charAt(0);a&&(o==="G"||o==="g")&&(e=e.slice(1),t="");var s=a&&t.slice(0,7)==="chinese",l=e.match(s?qit:zit);if(!l)return _0;var u=l[1],c=l[3]||"1",f=Number(l[5]||1),h=Number(l[7]||0),d=Number(l[9]||0),v=Number(l[11]||0);if(a){if(u.length===2)return _0;u=Number(u);var m;try{var b=Sy.getComponentMethod("calendars","getCal")(t);if(s){var p=c.charAt(c.length-1)==="i";c=parseInt(c,10),m=b.newDate(u,b.toMonthIndex(u,c,p),f)}else m=b.newDate(u,Number(c),f)}catch(M){return _0}return m?(m.toJD()-ZS)*Ap+h*XS+d*Q1+v*A3:_0}u.length===2?u=(Number(u)+2e3-hie)%100+hie:u=Number(u),c-=1;var k=new Date(Date.UTC(2e3,c,f,h,d));return k.setUTCFullYear(u),k.getUTCMonth()!==c||k.getUTCDate()!==f?_0:k.getTime()+v*A3};N6=hh.MIN_MS=hh.dateTime2ms("-9999");U6=hh.MAX_MS=hh.dateTime2ms("9999-12-31 23:59:59.9999");hh.isDateTime=function(e,t){return hh.dateTime2ms(e,t)!==_0};function T3(e,t){return String(e+Math.pow(10,t)).slice(1)}var B6=90*Ap,die=3*XS,vie=5*Q1;hh.ms2DateTime=function(e,t,r){if(typeof e!="number"||!(e>=N6&&e<=U6))return _0;t||(t=0);var n=Math.floor(e_(e+.05,1)*10),i=Math.round(e-n/10),a,o,s,l,u,c;if(My(r)){var f=Math.floor(i/Ap)+ZS,h=Math.floor(e_(e,Ap));try{a=Sy.getComponentMethod("calendars","getCal")(r).fromJD(f).formatDate("yyyy-mm-dd")}catch(d){a=fie("G%Y-%m-%d")(new Date(i))}if(a.charAt(0)==="-")for(;a.length<11;)a="-0"+a.slice(1);else for(;a.length<10;)a="0"+a;o=t=N6+Ap&&e<=U6-Ap))return _0;var t=Math.floor(e_(e+.05,1)*10),r=new Date(Math.round(e-t/10)),n=Fit("%Y-%m-%d")(r),i=r.getHours(),a=r.getMinutes(),o=r.getSeconds(),s=r.getUTCMilliseconds()*10+t;return yie(n,i,a,o,s)};function yie(e,t,r,n,i){if((t||r||n||i)&&(e+=" "+T3(t,2)+":"+T3(r,2),(n||i)&&(e+=":"+T3(n,2),i))){for(var a=4;i%10===0;)a-=1,i/=10;e+="."+T3(i,a)}return e}hh.cleanDate=function(e,t,r){if(e===_0)return t;if(hh.isJSDate(e)||typeof e=="number"&&isFinite(e)){if(My(r))return Yq.error("JS Dates and milliseconds are incompatible with world calendars",e),t;if(e=hh.ms2DateTimeLocal(+e),!e&&t!==void 0)return t}else if(!hh.isDateTime(e,r))return Yq.error("unrecognized date",e),t;return e};var Bit=/%\d?f/g,Nit=/%h/g,Uit={1:"1",2:"1",3:"2",4:"2"};function pie(e,t,r,n){e=e.replace(Bit,function(a){var o=Math.min(+a.charAt(1)||6,6),s=(t/1e3%1+2).toFixed(o).slice(2).replace(/0+$/,"")||"0";return s});var i=new Date(Math.floor(t+.05));if(e=e.replace(Nit,function(){return Uit[r("%q")(i)]}),My(n))try{e=Sy.getComponentMethod("calendars","worldCalFmt")(e,t,n)}catch(a){return"Invalid"}return r(e)(i)}var Vit=[59,59.9,59.99,59.999,59.9999];function Git(e,t){var r=e_(e+.05,Ap),n=T3(Math.floor(r/XS),2)+":"+T3(e_(Math.floor(r/Q1),60),2);if(t!=="M"){mie(t)||(t=0);var i=Math.min(e_(e/A3,60),Vit[t]),a=(100+i).toFixed(t).slice(1);t>0&&(a=a.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+a}return n}hh.formatDate=function(e,t,r,n,i,a){if(i=My(i)&&i,!t)if(r==="y")t=a.year;else if(r==="m")t=a.month;else if(r==="d")t=a.dayMonth+` -`+a.year;else return Git(e,r)+` -`+pie(a.dayMonthYear,e,n,i);return pie(t,e,n,i)};var gie=3*Ap;hh.incrementMonth=function(e,t,r){r=My(r)&&r;var n=e_(e,Ap);if(e=Math.round(e-n),r)try{var i=Math.round(e/Ap)+ZS,a=Sy.getComponentMethod("calendars","getCal")(r),o=a.fromJD(i);return t%12?a.add(o,t,"m"):a.add(o,t/12,"y"),(o.toJD()-ZS)*Ap+n}catch(l){Yq.error("invalid ms "+e+" in calendar "+r)}var s=new Date(e+gie);return s.setUTCMonth(s.getUTCMonth()+t)+n-gie};hh.findExactDates=function(e,t){for(var r=0,n=0,i=0,a=0,o,s,l=My(t)&&Sy.getComponentMethod("calendars","getCal")(t),u=0;u{"use strict";xie.exports=function(t){return t}});var V6=ye(Ey=>{"use strict";var Hit=Eo(),jit=K1(),Wit=YS(),Xit=fs().BADNUM,Kq=1e-9;Ey.findBin=function(e,t,r){if(Hit(t.start))return r?Math.ceil((e-t.start)/t.size-Kq)-1:Math.floor((e-t.start)/t.size+Kq);var n=0,i=t.length,a=0,o=i>1?(t[i-1]-t[0])/(i-1):1,s,l;for(o>=0?l=r?Zit:Yit:l=r?Jit:Kit,e+=o*Kq*(r?-1:1)*(o>=0?1:-1);n90&&jit.log("Long binary search..."),n-1};function Zit(e,t){return et}function Jit(e,t){return e>=t}Ey.sorterAsc=function(e,t){return e-t};Ey.sorterDes=function(e,t){return t-e};Ey.distinctVals=function(e){var t=e.slice();t.sort(Ey.sorterAsc);var r;for(r=t.length-1;r>-1&&t[r]===Xit;r--);for(var n=t[r]-t[0]||1,i=n/(r||1)/1e4,a=[],o,s=0;s<=r;s++){var l=t[s],u=l-o;o===void 0?(a.push(l),o=l):u>i&&(n=Math.min(n,u),a.push(l),o=l)}return{vals:a,minDiff:n}};Ey.roundUp=function(e,t,r){for(var n=0,i=t.length-1,a,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;n0&&(n=1),r&&n)return e.sort(t)}return n?e:e.reverse()};Ey.findIndexOfMin=function(e,t){t=t||Wit;for(var r=1/0,n,i=0;i{"use strict";bie.exports=function(t){return Object.keys(t).sort()}});var wie=ye(dh=>{"use strict";var KS=Eo(),$it=Yd().isArrayOrTypedArray;dh.aggNums=function(e,t,r,n){var i,a;if((!n||n>r.length)&&(n=r.length),KS(t)||(t=!1),$it(r[0])){for(a=new Array(n),i=0;ie.length-1)return e[e.length-1];var r=t%1;return r*e[Math.ceil(t)]+(1-r)*e[Math.floor(t)]}});var Eie=ye(($ir,Mie)=>{"use strict";var Tie=p3(),Jq=Tie.mod,Qit=Tie.modHalf,JS=Math.PI,r_=2*JS;function ent(e){return e/180*JS}function tnt(e){return e/JS*180}function $q(e){return Math.abs(e[1]-e[0])>r_-1e-14}function Aie(e,t){return Qit(t-e,r_)}function rnt(e,t){return Math.abs(Aie(e,t))}function Sie(e,t){if($q(t))return!0;var r,n;t[0]n&&(n+=r_);var i=Jq(e,r_),a=i+r_;return i>=r&&i<=n||a>=r&&a<=n}function int(e,t,r,n){if(!Sie(t,n))return!1;var i,a;return r[0]=i&&e<=a}function Qq(e,t,r,n,i,a,o){i=i||0,a=a||0;var s=$q([r,n]),l,u,c,f,h;s?(l=0,u=JS,c=r_):r{"use strict";wb.isLeftAnchor=function(t){return t.xanchor==="left"||t.xanchor==="auto"&&t.x<=1/3};wb.isCenterAnchor=function(t){return t.xanchor==="center"||t.xanchor==="auto"&&t.x>1/3&&t.x<2/3};wb.isRightAnchor=function(t){return t.xanchor==="right"||t.xanchor==="auto"&&t.x>=2/3};wb.isTopAnchor=function(t){return t.yanchor==="top"||t.yanchor==="auto"&&t.y>=2/3};wb.isMiddleAnchor=function(t){return t.yanchor==="middle"||t.yanchor==="auto"&&t.y>1/3&&t.y<2/3};wb.isBottomAnchor=function(t){return t.yanchor==="bottom"||t.yanchor==="auto"&&t.y<=1/3}});var Pie=ye(Tb=>{"use strict";var eO=p3().mod;Tb.segmentsIntersect=Lie;function Lie(e,t,r,n,i,a,o,s){var l=r-e,u=i-e,c=o-i,f=n-t,h=a-t,d=s-a,v=l*d-c*f;if(v===0)return null;var m=(u*d-c*h)/v,b=(u*f-l*h)/v;return b<0||b>1||m<0||m>1?null:{x:e+l*m,y:t+f*m}}Tb.segmentDistance=function(t,r,n,i,a,o,s,l){if(Lie(t,r,n,i,a,o,s,l))return 0;var u=n-t,c=i-r,f=s-a,h=l-o,d=u*u+c*c,v=f*f+h*h,m=Math.min(G6(u,c,d,a-t,o-r),G6(u,c,d,s-t,l-r),G6(f,h,v,t-a,r-o),G6(f,h,v,n-a,i-o));return Math.sqrt(m)};function G6(e,t,r,n,i){var a=n*e+i*t;if(a<0)return n*n+i*i;if(a>r){var o=n-e,s=i-t;return o*o+s*s}else{var l=n*t-i*e;return l*l/r}}var H6,tO,Cie;Tb.getTextLocation=function(t,r,n,i){if((t!==tO||i!==Cie)&&(H6={},tO=t,Cie=i),H6[n])return H6[n];var a=t.getPointAtLength(eO(n-i/2,r)),o=t.getPointAtLength(eO(n+i/2,r)),s=Math.atan((o.y-a.y)/(o.x-a.x)),l=t.getPointAtLength(eO(n,r)),u=(l.x*4+a.x+o.x)/6,c=(l.y*4+a.y+o.y)/6,f={x:u,y:c,theta:s};return H6[n]=f,f};Tb.clearLocationCache=function(){tO=null};Tb.getVisibleSegment=function(t,r,n){var i=r.left,a=r.right,o=r.top,s=r.bottom,l=0,u=t.getTotalLength(),c=u,f,h;function d(m){var b=t.getPointAtLength(m);m===0?f=b:m===u&&(h=b);var p=b.xa?b.x-a:0,k=b.ys?b.y-s:0;return Math.sqrt(p*p+k*k)}for(var v=d(l);v;){if(l+=v+n,l>c)return;v=d(l)}for(v=d(c);v;){if(c-=v+n,l>c)return;v=d(c)}return{min:l,max:c,len:c-l,total:u,isClosed:l===0&&c===u&&Math.abs(f.x-h.x)<.1&&Math.abs(f.y-h.y)<.1}};Tb.findPointOnPath=function(t,r,n,i){i=i||{};for(var a=i.pathLength||t.getTotalLength(),o=i.tolerance||.001,s=i.iterationLimit||30,l=t.getPointAtLength(0)[n]>t.getPointAtLength(a)[n]?-1:1,u=0,c=0,f=a,h,d,v;u0?f=h:c=h,u++}return d}});var j6=ye($S=>{"use strict";var ky={};$S.throttle=function(t,r,n){var i=ky[t],a=Date.now();if(!i){for(var o in ky)ky[o].tsi.ts+r){s();return}i.timer=setTimeout(function(){s(),i.timer=null},r)};$S.done=function(e){var t=ky[e];return!t||!t.timer?Promise.resolve():new Promise(function(r){var n=t.onDone;t.onDone=function(){n&&n(),r(),t.onDone=null}})};$S.clear=function(e){if(e)Iie(ky[e]),delete ky[e];else for(var t in ky)$S.clear(t)};function Iie(e){e&&e.timer!==null&&(clearTimeout(e.timer),e.timer=null)}});var Die=ye((rnr,Rie)=>{"use strict";Rie.exports=function(t){t._responsiveChartHandler&&(window.removeEventListener("resize",t._responsiveChartHandler),delete t._responsiveChartHandler)}});var Fie=ye((inr,W6)=>{"use strict";W6.exports=rO;W6.exports.isMobile=rO;W6.exports.default=rO;var snt=/(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,lnt=/CrOS/,unt=/android|ipad|playbook|silk/i;function rO(e){e||(e={});let t=e.ua;if(!t&&typeof navigator!="undefined"&&(t=navigator.userAgent),t&&t.headers&&typeof t.headers["user-agent"]=="string"&&(t=t.headers["user-agent"]),typeof t!="string")return!1;let r=snt.test(t)&&!lnt.test(t)||!!e.tablet&&unt.test(t);return!r&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&t.indexOf("Macintosh")!==-1&&t.indexOf("Safari")!==-1&&(r=!0),r}});var qie=ye((nnr,zie)=>{"use strict";var cnt=Eo(),fnt=Fie();zie.exports=function(t){var r;if(t&&t.hasOwnProperty("userAgent")?r=t.userAgent:r=hnt(),typeof r!="string")return!0;var n=fnt({ua:{headers:{"user-agent":r}},tablet:!0,featureDetect:!1});if(!n)for(var i=r.split(" "),a=1;a-1;s--){var l=i[s];if(l.slice(0,8)==="Version/"){var u=l.slice(8).split(".")[0];if(cnt(u)&&(u=+u),u>=13)return!0}}}return n};function hnt(){var e;return typeof navigator!="undefined"&&(e=navigator.userAgent),e&&e.headers&&typeof e.headers["user-agent"]=="string"&&(e=e.headers["user-agent"]),e}});var Bie=ye((anr,Oie)=>{"use strict";var dnt=qa();Oie.exports=function(t,r,n){var i=t.selectAll("g."+n.replace(/\s/g,".")).data(r,function(o){return o[0].trace.uid});i.exit().remove(),i.enter().append("g").attr("class",n),i.order();var a=t.classed("rangeplot")?"nodeRangePlot3":"node3";return i.each(function(o){o[0][a]=dnt.select(this)}),i}});var Uie=ye((onr,Nie)=>{"use strict";var vnt=Oa();Nie.exports=function(t,r){for(var n=t._context.locale,i=0;i<2;i++){for(var a=t._context.locales,o=0;o<2;o++){var s=(a[n]||{}).dictionary;if(s){var l=s[r];if(l)return l}a=vnt.localeRegistry}var u=n.split("-")[0];if(u===n)break;n=u}return r}});var iO=ye((snr,Vie)=>{"use strict";Vie.exports=function(t){for(var r={},n=[],i=0,a=0;a{"use strict";Gie.exports=function(t){for(var r=mnt(t)?gnt:pnt,n=[],i=0;i{"use strict";jie.exports=function(t,r){if(!r)return t;var n=1/Math.abs(r),i=n>1?(n*t+n*r)/n:t+r,a=String(i).length;if(a>16){var o=String(r).length,s=String(t).length;if(a>=s+o){var l=parseFloat(i).toPrecision(12);l.indexOf("e+")===-1&&(i=+l)}}return i}});var Zie=ye((cnr,Xie)=>{"use strict";var ynt=Eo(),_nt=fs().BADNUM,xnt=/^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g;Xie.exports=function(t){return typeof t=="string"&&(t=t.replace(xnt,"")),ynt(t)?Number(t):_nt}});var Pr=ye((fnr,sne)=>{"use strict";var QS=qa(),bnt=d3().utcFormat,wnt=kq().format,ene=Eo(),tne=fs(),rne=tne.FP_SAFE,Tnt=-rne,Yie=tne.BADNUM,Ai=sne.exports={};Ai.adjustFormat=function(t){return!t||/^\d[.]\df/.test(t)||/[.]\d%/.test(t)?t:t==="0.f"?"~f":/^\d%/.test(t)?"~%":/^\ds/.test(t)?"~s":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?"~"+t:t};var Kie={};Ai.warnBadFormat=function(e){var t=String(e);Kie[t]||(Kie[t]=1,Ai.warn('encountered bad format: "'+t+'"'))};Ai.noFormat=function(e){return String(e)};Ai.numberFormat=function(e){var t;try{t=wnt(Ai.adjustFormat(e))}catch(r){return Ai.warnBadFormat(e),Ai.noFormat}return t};Ai.nestedProperty=zS();Ai.keyedContainer=Vee();Ai.relativeAttr=Hee();Ai.isPlainObject=Ay();Ai.toLogRange=M6();Ai.relinkPrivateKeys=Zee();var i_=Yd();Ai.isArrayBuffer=i_.isArrayBuffer;Ai.isTypedArray=i_.isTypedArray;Ai.isArrayOrTypedArray=i_.isArrayOrTypedArray;Ai.isArray1D=i_.isArray1D;Ai.ensureArray=i_.ensureArray;Ai.concat=i_.concat;Ai.maxRowLength=i_.maxRowLength;Ai.minRowLength=i_.minRowLength;var ine=p3();Ai.mod=ine.mod;Ai.modHalf=ine.modHalf;var n_=dte();Ai.valObjectMeta=n_.valObjectMeta;Ai.coerce=n_.coerce;Ai.coerce2=n_.coerce2;Ai.coerceFont=n_.coerceFont;Ai.coercePattern=n_.coercePattern;Ai.coerceHoverinfo=n_.coerceHoverinfo;Ai.coerceSelectionMarkerOpacity=n_.coerceSelectionMarkerOpacity;Ai.validate=n_.validate;var jp=_ie();Ai.dateTime2ms=jp.dateTime2ms;Ai.isDateTime=jp.isDateTime;Ai.ms2DateTime=jp.ms2DateTime;Ai.ms2DateTimeLocal=jp.ms2DateTimeLocal;Ai.cleanDate=jp.cleanDate;Ai.isJSDate=jp.isJSDate;Ai.formatDate=jp.formatDate;Ai.incrementMonth=jp.incrementMonth;Ai.dateTick0=jp.dateTick0;Ai.dfltRange=jp.dfltRange;Ai.findExactDates=jp.findExactDates;Ai.MIN_MS=jp.MIN_MS;Ai.MAX_MS=jp.MAX_MS;var Ab=V6();Ai.findBin=Ab.findBin;Ai.sorterAsc=Ab.sorterAsc;Ai.sorterDes=Ab.sorterDes;Ai.distinctVals=Ab.distinctVals;Ai.roundUp=Ab.roundUp;Ai.sort=Ab.sort;Ai.findIndexOfMin=Ab.findIndexOfMin;Ai.sortObjectKeys=t_();var Cy=wie();Ai.aggNums=Cy.aggNums;Ai.len=Cy.len;Ai.mean=Cy.mean;Ai.geometricMean=Cy.geometricMean;Ai.median=Cy.median;Ai.midRange=Cy.midRange;Ai.variance=Cy.variance;Ai.stdev=Cy.stdev;Ai.interp=Cy.interp;var wg=I6();Ai.init2dArray=wg.init2dArray;Ai.transposeRagged=wg.transposeRagged;Ai.dot=wg.dot;Ai.translationMatrix=wg.translationMatrix;Ai.rotationMatrix=wg.rotationMatrix;Ai.rotationXYMatrix=wg.rotationXYMatrix;Ai.apply3DTransform=wg.apply3DTransform;Ai.apply2DTransform=wg.apply2DTransform;Ai.apply2DTransform2=wg.apply2DTransform2;Ai.convertCssMatrix=wg.convertCssMatrix;Ai.inverseTransformMatrix=wg.inverseTransformMatrix;var gm=Eie();Ai.deg2rad=gm.deg2rad;Ai.rad2deg=gm.rad2deg;Ai.angleDelta=gm.angleDelta;Ai.angleDist=gm.angleDist;Ai.isFullCircle=gm.isFullCircle;Ai.isAngleInsideSector=gm.isAngleInsideSector;Ai.isPtInsideSector=gm.isPtInsideSector;Ai.pathArc=gm.pathArc;Ai.pathSector=gm.pathSector;Ai.pathAnnulus=gm.pathAnnulus;var E3=kie();Ai.isLeftAnchor=E3.isLeftAnchor;Ai.isCenterAnchor=E3.isCenterAnchor;Ai.isRightAnchor=E3.isRightAnchor;Ai.isTopAnchor=E3.isTopAnchor;Ai.isMiddleAnchor=E3.isMiddleAnchor;Ai.isBottomAnchor=E3.isBottomAnchor;var k3=Pie();Ai.segmentsIntersect=k3.segmentsIntersect;Ai.segmentDistance=k3.segmentDistance;Ai.getTextLocation=k3.getTextLocation;Ai.clearLocationCache=k3.clearLocationCache;Ai.getVisibleSegment=k3.getVisibleSegment;Ai.findPointOnPath=k3.findPointOnPath;var Y6=Ao();Ai.extendFlat=Y6.extendFlat;Ai.extendDeep=Y6.extendDeep;Ai.extendDeepAll=Y6.extendDeepAll;Ai.extendDeepNoArrays=Y6.extendDeepNoArrays;var nO=K1();Ai.log=nO.log;Ai.warn=nO.warn;Ai.error=nO.error;var Ant=m3();Ai.counterRegex=Ant.counter;var aO=j6();Ai.throttle=aO.throttle;Ai.throttleDone=aO.done;Ai.clearThrottle=aO.clear;var Tg=jS();Ai.getGraphDiv=Tg.getGraphDiv;Ai.isPlotDiv=Tg.isPlotDiv;Ai.removeElement=Tg.removeElement;Ai.addStyleRule=Tg.addStyleRule;Ai.addRelatedStyleRule=Tg.addRelatedStyleRule;Ai.deleteRelatedStyleRule=Tg.deleteRelatedStyleRule;Ai.setStyleOnHover=Tg.setStyleOnHover;Ai.getFullTransformMatrix=Tg.getFullTransformMatrix;Ai.getElementTransformMatrix=Tg.getElementTransformMatrix;Ai.getElementAndAncestors=Tg.getElementAndAncestors;Ai.equalDomRects=Tg.equalDomRects;Ai.clearResponsive=Die();Ai.preserveDrawingBuffer=qie();Ai.makeTraceGroups=Bie();Ai._=Uie();Ai.notifier=Bq();Ai.filterUnique=iO();Ai.filterVisible=Hie();Ai.pushUnique=Vq();Ai.increment=Wie();Ai.cleanNumber=Zie();Ai.ensureNumber=function(t){return ene(t)?(t=Number(t),t>rne||t=t?!1:ene(e)&&e>=0&&e%1===0};Ai.noop=P6();Ai.identity=YS();Ai.repeat=function(e,t){for(var r=new Array(t),n=0;nr?Math.max(r,Math.min(t,e)):Math.max(t,Math.min(r,e))};Ai.bBoxIntersect=function(e,t,r){return r=r||0,e.left<=t.right+r&&t.left<=e.right+r&&e.top<=t.bottom+r&&t.top<=e.bottom+r};Ai.simpleMap=function(e,t,r,n,i){for(var a=e.length,o=new Array(a),s=0;s=Math.pow(2,r)?i>10?(Ai.warn("randstr failed uniqueness"),o):e(t,r,n,(i||0)+1):o};Ai.OptionControl=function(e,t){e||(e={}),t||(t="opt");var r={};return r.optionList=[],r._newoption=function(n){n[t]=e,r[n.name]=n,r.optionList.push(n)},r["_"+t]=e,r};Ai.smooth=function(e,t){if(t=Math.round(t)||0,t<2)return e;var r=e.length,n=2*r,i=2*t-1,a=new Array(i),o=new Array(r),s,l,u,c;for(s=0;s=n&&(u-=n*Math.floor(u/n)),u<0?u=-1-u:u>=r&&(u=n-1-u),c+=e[u]*a[l];o[s]=c}return o};Ai.syncOrAsync=function(e,t,r){var n,i;function a(){return Ai.syncOrAsync(e,t,r)}for(;e.length;)if(i=e.splice(0,1)[0],n=i(t),n&&n.then)return n.then(a);return r&&r(t)};Ai.stripTrailingSlash=function(e){return e.slice(-1)==="/"?e.slice(0,-1):e};Ai.noneOrAll=function(e,t,r){if(e){var n=!1,i=!0,a,o;for(a=0;a0?i:0})};Ai.fillArray=function(e,t,r,n){if(n=n||Ai.identity,Ai.isArrayOrTypedArray(e))for(var i=0;iEnt.test(window.navigator.userAgent);var knt=/Firefox\/(\d+)\.\d+/;Ai.getFirefoxVersion=function(){var e=knt.exec(window.navigator.userAgent);if(e&&e.length===2){var t=parseInt(e[1]);if(!isNaN(t))return t}return null};Ai.isD3Selection=function(e){return e instanceof QS.selection};Ai.ensureSingle=function(e,t,r,n){var i=e.select(t+(r?"."+r:""));if(i.size())return i;var a=e.append(t);return r&&a.classed(r,!0),n&&a.call(n),a};Ai.ensureSingleById=function(e,t,r,n){var i=e.select(t+"#"+r);if(i.size())return i;var a=e.append(t).attr("id",r);return n&&a.call(n),a};Ai.objectFromPath=function(e,t){for(var r=e.split("."),n,i=n={},a=0;a1?i+o[1]:"";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+a+"$2");return s+l};Ai.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var one=/^\w*$/;Ai.templateString=function(e,t){var r={};return e.replace(Ai.TEMPLATE_STRING_REGEX,function(n,i){var a;return one.test(i)?a=t[i]:(r[i]=r[i]||Ai.nestedProperty(t,i).get,a=r[i](!0)),a!==void 0?a:""})};var Pnt={max:10,count:0,name:"hovertemplate"};Ai.hovertemplateString=e=>oO(j1(_g({},e),{opts:Pnt}));var Int={max:10,count:0,name:"texttemplate"};Ai.texttemplateString=e=>oO(j1(_g({},e),{opts:Int}));var Rnt=/^(\S+)([\*\/])(-?\d+(\.\d+)?)$/;function Dnt(e){var t=e.match(Rnt);return t?{key:t[1],op:t[2],number:Number(t[3])}:{key:e,op:null,number:null}}var Fnt={max:10,count:0,name:"texttemplate",parseMultDiv:!0};Ai.texttemplateStringForShapes=e=>oO(j1(_g({},e),{opts:Fnt}));var Jie=/^[:|\|]/;function oO({data:e=[],locale:t,fallback:r,labels:n={},opts:i,template:a}){return a.replace(Ai.TEMPLATE_STRING_REGEX,(o,s,l)=>{let u=["xother","yother"].includes(s),c=["_xother","_yother"].includes(s),f=["_xother_","_yother_"].includes(s),h=["xother_","yother_"].includes(s),d=u||c||h||f;(c||f)&&(s=s.substring(1)),(h||f)&&(s=s.substring(0,s.length-1));let v=null,m=null;if(i.parseMultDiv){var b=Dnt(s);s=b.key,v=b.op,m=b.number}let p;if(d){if(n[s]===void 0)return"";p=n[s]}else for(let L of e)if(L){if(L.hasOwnProperty(s)){p=L[s];break}if(one.test(s)||(p=Ai.nestedProperty(L,s).get(!0)),p!==void 0)break}if(p===void 0){let{count:L,max:x,name:C}=i,S=r===!1?o:r;return L=Z6&&o<=$ie,u=s>=Z6&&s<=$ie;if(l&&(n=10*n+o-Z6),u&&(i=10*i+s-Z6),!l||!u){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var M3=2e9;Ai.seedPseudoRandom=function(){M3=2e9};Ai.pseudoRandom=function(){var e=M3;return M3=(69069*M3+1)%4294967296,Math.abs(M3-e)<429496729?Ai.pseudoRandom():M3/4294967296};Ai.fillText=function(e,t,r){var n=Array.isArray(r)?function(o){r.push(o)}:function(o){r.text=o},i=Ai.extractOption(e,t,"htx","hovertext");if(Ai.isValidTextValue(i))return n(i);var a=Ai.extractOption(e,t,"tx","text");if(Ai.isValidTextValue(a))return n(a)};Ai.isValidTextValue=function(e){return e||e===0};Ai.formatPercent=function(e,t){t=t||0;for(var r=(Math.round(100*e*Math.pow(10,t))*Math.pow(.1,t)).toFixed(t)+"%",n=0;n1&&(u=1):u=0,Ai.strTranslate(i-u*(r+o),a-u*(n+s))+Ai.strScale(u)+(l?"rotate("+l+(t?"":" "+r+" "+n)+")":"")};Ai.setTransormAndDisplay=function(e,t){e.attr("transform",Ai.getTextTransform(t)),e.style("display",t.scale?null:"none")};Ai.ensureUniformFontSize=function(e,t){var r=Ai.extendFlat({},t);return r.size=Math.max(t.size,e._fullLayout.uniformtext.minsize||0),r};Ai.join2=function(e,t,r){var n=e.length;return n>1?e.slice(0,-1).join(t)+r+e[n-1]:e.join(t)};Ai.bigFont=function(e){return Math.round(1.2*e)};var Qie=Ai.getFirefoxVersion(),znt=Qie!==null&&Qie<86;Ai.getPositionFromD3Event=function(){return znt?[QS.event.layerX,QS.event.layerY]:[QS.event.offsetX,QS.event.offsetY]}});var cne=ye(()=>{"use strict";var qnt=Pr(),lne={"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(sO in lne)une=sO.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier"),qnt.addStyleRule(une,lne[sO]);var une,sO});var lO=ye((pnr,fne)=>{fne.exports=!0});var cO=ye((gnr,hne)=>{"use strict";var Ont=lO(),uO;typeof window.matchMedia=="function"?uO=!window.matchMedia("(hover: none)").matches:uO=Ont;hne.exports=uO});var Sb=ye((mnr,fO)=>{"use strict";var C3=typeof Reflect=="object"?Reflect:null,dne=C3&&typeof C3.apply=="function"?C3.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},K6;C3&&typeof C3.ownKeys=="function"?K6=C3.ownKeys:Object.getOwnPropertySymbols?K6=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:K6=function(t){return Object.getOwnPropertyNames(t)};function Bnt(e){console&&console.warn&&console.warn(e)}var pne=Number.isNaN||function(t){return t!==t};function Jc(){Jc.init.call(this)}fO.exports=Jc;fO.exports.once=Gnt;Jc.EventEmitter=Jc;Jc.prototype._events=void 0;Jc.prototype._eventsCount=0;Jc.prototype._maxListeners=void 0;var vne=10;function J6(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(Jc,"defaultMaxListeners",{enumerable:!0,get:function(){return vne},set:function(e){if(typeof e!="number"||e<0||pne(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");vne=e}});Jc.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};Jc.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||pne(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function gne(e){return e._maxListeners===void 0?Jc.defaultMaxListeners:e._maxListeners}Jc.prototype.getMaxListeners=function(){return gne(this)};Jc.prototype.emit=function(t){for(var r=[],n=1;n0&&(o=r[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=a[t];if(l===void 0)return!1;if(typeof l=="function")dne(l,this,r);else for(var u=l.length,c=bne(l,u),n=0;n0&&o.length>i&&!o.warned){o.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=o.length,Bnt(s)}return e}Jc.prototype.addListener=function(t,r){return mne(this,t,r,!1)};Jc.prototype.on=Jc.prototype.addListener;Jc.prototype.prependListener=function(t,r){return mne(this,t,r,!0)};function Nnt(){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 yne(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=Nnt.bind(n);return i.listener=r,n.wrapFn=i,i}Jc.prototype.once=function(t,r){return J6(r),this.on(t,yne(this,t,r)),this};Jc.prototype.prependOnceListener=function(t,r){return J6(r),this.prependListener(t,yne(this,t,r)),this};Jc.prototype.removeListener=function(t,r){var n,i,a,o,s;if(J6(r),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,n.listener||r));else if(typeof n!="function"){for(a=-1,o=n.length-1;o>=0;o--)if(n[o]===r||n[o].listener===r){s=n[o].listener,a=o;break}if(a<0)return this;a===0?n.shift():Unt(n,a),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,s||r)}return this};Jc.prototype.off=Jc.prototype.removeListener;Jc.prototype.removeAllListeners=function(t){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var a=Object.keys(n),o;for(i=0;i=0;i--)this.removeListener(t,r[i]);return this};function _ne(e,t,r){var n=e._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?Vnt(i):bne(i,i.length)}Jc.prototype.listeners=function(t){return _ne(this,t,!0)};Jc.prototype.rawListeners=function(t){return _ne(this,t,!1)};Jc.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):xne.call(e,t)};Jc.prototype.listenerCount=xne;function xne(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}Jc.prototype.eventNames=function(){return this._eventsCount>0?K6(this._events):[]};function bne(e,t){for(var r=new Array(t),n=0;n{"use strict";var hO=Sb().EventEmitter,jnt={init:function(e){if(e._ev instanceof hO)return e;var t=new hO,r=new hO;return e._ev=t,e._internalEv=r,e.on=t.on.bind(t),e.once=t.once.bind(t),e.removeListener=t.removeListener.bind(t),e.removeAllListeners=t.removeAllListeners.bind(t),e._internalOn=r.on.bind(r),e._internalOnce=r.once.bind(r),e._removeInternalListener=r.removeListener.bind(r),e._removeAllInternalListeners=r.removeAllListeners.bind(r),e.emit=function(n,i){t.emit(n,i),r.emit(n,i)},typeof e.addEventListener=="function"&&e.addEventListener("wheel",()=>{},{passive:!0}),e},triggerHandler:function(e,t,r){var n,i=e._ev;if(!i)return;var a=i._events[t];if(!a)return;function o(l){if(l.listener){if(i.removeListener(t,l.listener),!l.fired)return l.fired=!0,l.listener.apply(i,[r])}else return l.apply(i,[r])}a=Array.isArray(a)?a:[a];var s;for(s=0;s{"use strict";var Ane=Pr(),Wnt=xb().dfltConfig;function Xnt(e,t){for(var r=[],n,i=0;iWnt.queueLength&&(e.undoQueue.queue.shift(),e.undoQueue.index--)};Ly.startSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!0,e.undoQueue.beginSequence=!0};Ly.stopSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!1,e.undoQueue.beginSequence=!1};Ly.undo=function(t){var r,n;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,n=0;n=t.undoQueue.queue.length)){for(r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,n=0;n{"use strict";Ene.exports={_isLinkedToArray:"frames_entry",group:{valType:"string"},name:{valType:"string"},traces:{valType:"any"},baseframe:{valType:"string"},data:{valType:"any"},layout:{valType:"any"}}});var R3=ye(ed=>{"use strict";var x0=Oa(),eM=Pr(),Q6=Gl(),vO=b3(),Znt=dO(),Ynt=WS(),Knt=xb().configAttributes,kne=mc(),Ag=eM.extendDeepAll,P3=eM.isPlainObject,Jnt=eM.isArrayOrTypedArray,eL=eM.nestedProperty,$nt=eM.valObjectMeta,pO="_isSubplotObj",tL="_isLinkedToArray",Qnt="_arrayAttrRegexps",Lne="_deprecated",gO=[pO,tL,Qnt,Lne];ed.IS_SUBPLOT_OBJ=pO;ed.IS_LINKED_TO_ARRAY=tL;ed.DEPRECATED=Lne;ed.UNDERSCORE_ATTRS=gO;ed.get=function(){var e={};return x0.allTypes.forEach(function(t){e[t]=tat(t)}),{defs:{valObjects:$nt,metaKeys:gO.concat(["description","role","editType","impliedEdits"]),editType:{traces:kne.traces,layout:kne.layout},impliedEdits:{}},traces:e,layout:rat(),frames:iat(),animation:I3(Ynt),config:I3(Knt)}};ed.crawl=function(e,t,r,n){var i=r||0;n=n||"",Object.keys(e).forEach(function(a){var o=e[a];if(gO.indexOf(a)===-1){var s=(n?n+".":"")+a;t(o,a,e,i,s),!ed.isValObject(o)&&P3(o)&&a!=="impliedEdits"&&ed.crawl(o,t,i+1,s)}})};ed.isValObject=function(e){return e&&e.valType!==void 0};ed.findArrayAttributes=function(e){var t=[],r=[],n=[],i,a;function o(l,u,c,f){r=r.slice(0,f).concat([u]),n=n.slice(0,f).concat([l&&l._isLinkedToArray]);var h=l&&(l.valType==="data_array"||l.arrayOk===!0)&&!(r[f-1]==="colorbar"&&(u==="ticktext"||u==="tickvals"));h&&s(i,0,"")}function s(l,u,c){var f=l[r[u]],h=c+r[u];if(u===r.length-1)Jnt(f)&&t.push(a+h);else if(n[u]){if(Array.isArray(f))for(var d=0;d=a.length)return!1;if(e.dimensions===2){if(r++,t.length===r)return e;var o=t[r];if(!$6(o))return!1;e=a[i][o]}else e=a[i]}else e=a}}return e}function $6(e){return e===Math.round(e)&&e>=0}function tat(e){var t,r;t=x0.modules[e]._module,r=t.basePlotModule;var n={};n.type=null;var i=Ag({},Q6),a=Ag({},t.attributes);ed.crawl(a,function(l,u,c,f,h){eL(i,h).set(void 0),l===void 0&&eL(a,h).set(void 0)}),Ag(n,i),x0.traceIs(e,"noOpacity")&&delete n.opacity,x0.traceIs(e,"showLegend")||(delete n.showlegend,delete n.legendgroup),x0.traceIs(e,"noHover")&&(delete n.hoverinfo,delete n.hoverlabel),t.selectPoints||delete n.selectedpoints,Ag(n,a),r.attributes&&Ag(n,r.attributes),n.type=e;var o={meta:t.meta||{},categories:t.categories||{},animatable:!!t.animatable,type:e,attributes:I3(n)};if(t.layoutAttributes){var s={};Ag(s,t.layoutAttributes),o.layoutAttributes=I3(s)}return t.animatable||ed.crawl(o,function(l){ed.isValObject(l)&&"anim"in l&&delete l.anim}),o}function rat(){var e={},t,r;Ag(e,vO);for(t in x0.subplotsRegistry)if(r=x0.subplotsRegistry[t],!!r.layoutAttributes)if(Array.isArray(r.attr))for(var n=0;n{"use strict";var D3=Pr(),lat=Gl(),a_="templateitemname",mO={name:{valType:"string",editType:"none"}};mO[a_]={valType:"string",editType:"calc"};Mb.templatedArray=function(e,t){return t._isLinkedToArray=e,t.name=mO.name,t[a_]=mO[a_],t};Mb.traceTemplater=function(e){var t={},r,n;for(r in e)n=e[r],Array.isArray(n)&&n.length&&(t[r]=0);function i(a){r=D3.coerce(a,{},lat,"type");var o={type:r,_template:null};if(r in t){n=e[r];var s=t[r]%n.length;t[r]++,o._template=n[s]}return o}return{newTrace:i}};Mb.newContainer=function(e,t,r){var n=e._template,i=n&&(n[t]||r&&n[r]);D3.isPlainObject(i)||(i=null);var a=e[t]={_template:i};return a};Mb.arrayTemplater=function(e,t,r){var n=e._template,i=n&&n[Rne(t)],a=n&&n[t];(!Array.isArray(a)||!a.length)&&(a=[]);var o={};function s(u){var c={name:u.name,_input:u},f=c[a_]=u[a_];if(!Ine(f))return c._template=i,c;for(var h=0;h=n&&(r._input||{})._templateitemname;a&&(i=n);var o=t+"["+i+"]",s;function l(){s={},a&&(s[o]={},s[o][a_]=a)}l();function u(d,v){s[d]=v}function c(d,v){a?D3.nestedProperty(s[o],d).set(v):s[o+"."+d]=v}function f(){var d=s;return l(),d}function h(d,v){d&&c(d,v);var m=f();for(var b in m)D3.nestedProperty(e,b).set(m[b])}return{modifyBase:u,modifyItem:c,getUpdateObj:f,applyUpdate:h}}});var Rh=ye((Tnr,Dne)=>{"use strict";var tM=m3().counter;Dne.exports={idRegex:{x:tM("x","( domain)?"),y:tM("y","( domain)?")},attrRegex:tM("[xy]axis"),xAxisMatch:tM("xaxis"),yAxisMatch:tM("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"}});var df=ye(Sp=>{"use strict";var uat=Oa(),yO=Rh();Sp.id2name=function(t){if(!(typeof t!="string"||!t.match(yO.AX_ID_PATTERN))){var r=t.split(" ")[0].slice(1);return r==="1"&&(r=""),t.charAt(0)+"axis"+r}};Sp.name2id=function(t){if(t.match(yO.AX_NAME_PATTERN)){var r=t.slice(5);return r==="1"&&(r=""),t.charAt(0)+r}};Sp.cleanId=function(t,r,n){var i=/( domain)$/.test(t);if(!(typeof t!="string"||!t.match(yO.AX_ID_PATTERN))&&!(r&&t.charAt(0)!==r)&&!(i&&!n)){var a=t.split(" ")[0].slice(1).replace(/^0+/,"");return a==="1"&&(a=""),t.charAt(0)+a+(i&&n?" domain":"")}};Sp.list=function(e,t,r){var n=e._fullLayout;if(!n)return[];var i=Sp.listIds(e,t),a=new Array(i.length),o;for(o=0;on?1:-1:+(e.slice(1)||1)-+(t.slice(1)||1)};Sp.ref2id=function(e){return/^[xyz]/.test(e)?e.split(" ")[0]:!1};function Fne(e,t){if(t&&t.length){for(var r=0;r{"use strict";function cat(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(".outline-controllers").remove()}function fat(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(".select-outline").remove(),e._fullLayout._outlining=!1}zne.exports={clearOutlineControllers:cat,clearOutline:fat}});var rL=ye((Mnr,qne)=>{"use strict";qne.exports={scattermode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},scattergap:{valType:"number",min:0,max:1,editType:"calc"}}});var Id=ye(nL=>{"use strict";var iL=Oa(),Enr=Rh().SUBPLOT_PATTERN;nL.getSubplotCalcData=function(e,t,r){var n=iL.subplotsRegistry[t];if(!n)return[];for(var i=n.attr,a=[],o=0;o{"use strict";var hat=Oa(),F3=Pr();Eb.manageCommandObserver=function(e,t,r,n){var i={},a=!0;t&&t._commandObserver&&(i=t._commandObserver),i.cache||(i.cache={}),i.lookupTable={};var o=Eb.hasSimpleAPICommandBindings(e,r,i.lookupTable);if(t&&t._commandObserver){if(o)return i;if(t._commandObserver.remove)return t._commandObserver.remove(),t._commandObserver=null,i}if(o){One(e,o,i.cache),i.check=function(){if(a){var c=One(e,o,i.cache);return c.changed&&n&&i.lookupTable[c.value]!==void 0&&(i.disable(),Promise.resolve(n({value:c.value,type:o.type,prop:o.prop,traces:o.traces,index:i.lookupTable[c.value]})).then(i.enable,i.enable)),c.changed}};for(var s=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],l=0;l0?".":"")+i;F3.isPlainObject(a)?_O(a,t,o,n+1):t(o,i,a)}})}});var Mc=ye((Lnr,tae)=>{"use strict";var Zne=qa(),vat=d3().timeFormatLocale,pat=kq().formatLocale,rM=Eo(),gat=Cq(),Xl=Oa(),Yne=R3(),mat=vl(),Na=Pr(),Kne=ka(),Vne=fs().BADNUM,Mp=df(),yat=o_().clearOutline,_at=rL(),xO=WS(),xat=dO(),bat=Id().getModuleCalcData,Gne=Na.relinkPrivateKeys,kb=Na._,xa=tae.exports={};Na.extendFlat(xa,Xl);xa.attributes=Gl();xa.attributes.type.values=xa.allTypes;xa.fontAttrs=ec();xa.layoutAttributes=b3();var oL=Une();xa.executeAPICommand=oL.executeAPICommand;xa.computeAPICommandBindings=oL.computeAPICommandBindings;xa.manageCommandObserver=oL.manageCommandObserver;xa.hasSimpleAPICommandBindings=oL.hasSimpleAPICommandBindings;xa.redrawText=function(e){return e=Na.getGraphDiv(e),new Promise(function(t){setTimeout(function(){e._fullLayout&&(Xl.getComponentMethod("annotations","draw")(e),Xl.getComponentMethod("legend","draw")(e),Xl.getComponentMethod("colorbar","draw")(e),t(xa.previousPromises(e)))},300)})};xa.resize=function(e){e=Na.getGraphDiv(e);var t,r=new Promise(function(n,i){(!e||Na.isHidden(e))&&i(new Error("Resize must be passed a displayed plot div element.")),e._redrawTimer&&clearTimeout(e._redrawTimer),e._resolveResize&&(t=e._resolveResize),e._resolveResize=n,e._redrawTimer=setTimeout(function(){if(!e.layout||e.layout.width&&e.layout.height||Na.isHidden(e)){n(e);return}delete e.layout.width,delete e.layout.height;var a=e.changed;e.autoplay=!0,Xl.call("relayout",e,{autosize:!0}).then(function(){e.changed=a,e._resolveResize===n&&(delete e._resolveResize,n(e))})},100)});return t&&t(r),r};xa.previousPromises=function(e){if((e._promises||[]).length)return Promise.all(e._promises).then(function(){e._promises=[]})};xa.addLinks=function(e){if(!(!e._context.showLink&&!e._context.showSources)){var t=e._fullLayout,r=Na.ensureSingle(t._paper,"text","js-plot-link-container",function(l){l.style({"font-family":'"Open Sans", Arial, sans-serif',"font-size":"12px",fill:Kne.defaultLine,"pointer-events":"all"}).each(function(){var u=Zne.select(this);u.append("tspan").classed("js-link-to-tool",!0),u.append("tspan").classed("js-link-spacer",!0),u.append("tspan").classed("js-sourcelinks",!0)})}),n=r.node(),i={y:t._paper.attr("height")-9};document.body.contains(n)&&n.getComputedTextLength()>=t.width-20?(i["text-anchor"]="start",i.x=5):(i["text-anchor"]="end",i.x=t._paper.attr("width")-7),r.attr(i);var a=r.select(".js-link-to-tool"),o=r.select(".js-link-spacer"),s=r.select(".js-sourcelinks");e._context.showSources&&e._context.showSources(e),e._context.showLink&&wat(e,a),o.text(a.text()&&s.text()?" - ":"")}};function wat(e,t){t.text("");var r=t.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(e._context.linkText+" \xBB");if(e._context.sendData)r.on("click",function(){xa.sendDataToCloud(e)});else{var n=window.location.pathname.split("/"),i=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+i})}}xa.sendDataToCloud=function(e){var t=(window.PLOTLYENV||{}).BASE_URL||e._context.plotlyServerURL;if(t){e.emit("plotly_beforeexport");var r=Zne.select(e).append("div").attr("id","hiddenform").style("display","none"),n=r.append("form").attr({action:t+"/external",method:"post",target:"_blank"}),i=n.append("input").attr({type:"text",name:"data"});return i.node().value=xa.graphJson(e,!1,"keepdata"),n.node().submit(),r.remove(),e.emit("plotly_afterexport"),!1}};var Tat=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],Aat=["year","month","dayMonth","dayMonthYear"];xa.supplyDefaults=function(e,t){var r=t&&t.skipUpdateCalc,n=e._fullLayout||{};if(n._skipDefaults){delete n._skipDefaults;return}var i=e._fullLayout={},a=e.layout||{},o=e._fullData||[],s=e._fullData=[],l=e.data||[],u=e.calcdata||[],c=e._context||{},f;e._transitionData||xa.createTransitionData(e),i._dfltTitle={plot:kb(e,"Click to enter Plot title"),subtitle:kb(e,"Click to enter Plot subtitle"),x:kb(e,"Click to enter X axis title"),y:kb(e,"Click to enter Y axis title"),colorbar:kb(e,"Click to enter Colorscale title"),annotation:kb(e,"new text")},i._traceWord=kb(e,"trace");var h=Hne(e,Tat);if(i._mapboxAccessToken=c.mapboxAccessToken,n._initialAutoSizeIsDone){var d=n.width,v=n.height;xa.supplyLayoutGlobalDefaults(a,i,h),a.width||(i.width=d),a.height||(i.height=v),xa.sanitizeMargins(i)}else{xa.supplyLayoutGlobalDefaults(a,i,h);var m=!a.width||!a.height,b=i.autosize,p=c.autosizable,k=m&&(b||p);k?xa.plotAutoSize(e,a,i):m&&xa.sanitizeMargins(i),!b&&m&&(a.width=i.width,a.height=i.height)}i._d3locale=Eat(h,i.separators),i._extraFormat=Hne(e,Aat),i._initialAutoSizeIsDone=!0,i._dataLength=l.length,i._modules=[],i._visibleModules=[],i._basePlotModules=[];var M=i._subplots=Mat(),T=i._splomAxes={x:{},y:{}},L=i._splomSubplots={};i._splomGridDflt={},i._scatterStackOpts={},i._firstScatter={},i._alignmentOpts={},i._colorAxes={},i._requestRangeslider={},i._traceUids=Sat(o,l),xa.supplyDataDefaults(l,s,a,i);var x=Object.keys(T.x),C=Object.keys(T.y);if(x.length>1&&C.length>1){for(Xl.getComponentMethod("grid","sizeDefaults")(a,i),f=0;f15&&C.length>15&&i.shapes.length===0&&i.images.length===0,xa.linkSubplots(s,i,o,n),xa.cleanPlot(s,i,o,n);var z=!!(n._has&&n._has("cartesian")),q=!!(i._has&&i._has("cartesian")),V=z,G=q;V&&!G?n._bgLayer.remove():G&&!V&&(i._shouldCreateBgLayer=!0),n._zoomlayer&&!e._dragging&&yat({_fullLayout:n}),kat(s,i),Gne(i,n),Xl.getComponentMethod("colorscale","crossTraceDefaults")(s,i),i._preGUI||(i._preGUI={}),i._tracePreGUI||(i._tracePreGUI={});var Z=i._tracePreGUI,j={},N;for(N in Z)j[N]="old";for(f=0;f0){var c=1-2*a;o=Math.round(c*o),s=Math.round(c*s)}}var f=xa.layoutAttributes.width.min,h=xa.layoutAttributes.height.min;o1,v=!r.height&&Math.abs(n.height-s)>1;(v||d)&&(d&&(n.width=o),v&&(n.height=s)),t._initialAutoSize||(t._initialAutoSize={width:o,height:s}),xa.sanitizeMargins(n)};xa.supplyLayoutModuleDefaults=function(e,t,r,n){var i=Xl.componentsRegistry,a=t._basePlotModules,o,s,l,u=Xl.subplotsRegistry.cartesian;for(o in i)l=i[o],l.includeBasePlot&&l.includeBasePlot(e,t);a.length||a.push(u),t._has("cartesian")&&(Xl.getComponentMethod("grid","contentDefaults")(e,t),u.finalizeSubplots(e,t));for(var c in t._subplots)t._subplots[c].sort(Na.subplotSort);for(s=0;s1&&(r.l/=b,r.r/=b)}if(h){var p=(r.t+r.b)/h;p>1&&(r.t/=p,r.b/=p)}var k=r.xl!==void 0?r.xl:r.x,M=r.xr!==void 0?r.xr:r.x,T=r.yt!==void 0?r.yt:r.y,L=r.yb!==void 0?r.yb:r.y;d[t]={l:{val:k,size:r.l+m},r:{val:M,size:r.r+m},b:{val:L,size:r.b+m},t:{val:T,size:r.t+m}},v[t]=1}if(!n._replotting)return xa.doAutoMargin(e)}};function Lat(e){if("_redrawFromAutoMarginCount"in e._fullLayout)return!1;var t=Mp.list(e,"",!0);for(var r in t)if(t[r].autoshift||t[r].shift)return!0;return!1}xa.doAutoMargin=function(e){var t=e._fullLayout,r=t.width,n=t.height;t._size||(t._size={}),Jne(t);var i=t._size,a=t.margin,o={t:0,b:0,l:0,r:0},s=Na.extendFlat({},i),l=a.l,u=a.r,c=a.t,f=a.b,h=t._pushmargin,d=t._pushmarginIds,v=t.minreducedwidth,m=t.minreducedheight;if(a.autoexpand!==!1){for(var b in h)d[b]||delete h[b];var p=e._fullLayout._reservedMargin;for(var k in p)for(var M in p[k]){var T=p[k][M];o[M]=Math.max(o[M],T)}h.base={l:{val:0,size:l},r:{val:1,size:u},t:{val:1,size:c},b:{val:0,size:f}};for(var L in o){var x=0;for(var C in h)C!=="base"&&rM(h[C][L].size)&&(x=h[C][L].size>x?h[C][L].size:x);var S=Math.max(0,a[L]-x);o[L]=Math.max(0,o[L]-S)}for(var g in h){var P=h[g].l||{},E=h[g].b||{},z=P.val,q=P.size,V=E.val,G=E.size,Z=r-o.r-o.l,j=n-o.t-o.b;for(var N in h){if(rM(q)&&h[N].r){var H=h[N].r.val,ie=h[N].r.size;if(H>z){var ae=(q*H+(ie-Z)*z)/(H-z),_e=(ie*(1-z)+(q-Z)*(1-H))/(H-z);ae+_e>l+u&&(l=ae,u=_e)}}if(rM(G)&&h[N].t){var Ee=h[N].t.val,Ce=h[N].t.size;if(Ee>V){var ge=(G*Ee+(Ce-j)*V)/(Ee-V),re=(Ce*(1-V)+(G-j)*(1-Ee))/(Ee-V);ge+re>f+c&&(f=ge,c=re)}}}}}var Se=Na.constrain(r-a.l-a.r,$ne,v),ke=Na.constrain(n-a.t-a.b,Qne,m),be=Math.max(0,r-Se),Be=Math.max(0,n-ke);if(be){var Le=(l+u)/be;Le>1&&(l/=Le,u/=Le)}if(Be){var me=(f+c)/Be;me>1&&(f/=me,c/=me)}if(i.l=Math.round(l)+o.l,i.r=Math.round(u)+o.r,i.t=Math.round(c)+o.t,i.b=Math.round(f)+o.b,i.p=Math.round(a.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!t._replotting&&(xa.didMarginChange(s,i)||Lat(e))){"_redrawFromAutoMarginCount"in t?t._redrawFromAutoMarginCount++:t._redrawFromAutoMarginCount=1;var Pe=3*(1+Object.keys(d).length);if(t._redrawFromAutoMarginCount1)return!0}return!1};xa.graphJson=function(e,t,r,n,i,a){(i&&t&&!e._fullData||i&&!t&&!e._fullLayout)&&xa.supplyDefaults(e);var o=i?e._fullData:e.data,s=i?e._fullLayout:e.layout,l=(e._transitionData||{})._frames;function u(h,d){if(typeof h=="function")return d?"_function_":null;if(Na.isPlainObject(h)){var v={},m;return Object.keys(h).sort().forEach(function(M){if(["_","["].indexOf(M.charAt(0))===-1){if(typeof h[M]=="function"){d&&(v[M]="_function");return}if(r==="keepdata"){if(M.slice(-3)==="src")return}else if(r==="keepstream"){if(m=h[M+"src"],typeof m=="string"&&m.indexOf(":")>0&&!Na.isPlainObject(h.stream))return}else if(r!=="keepall"&&(m=h[M+"src"],typeof m=="string"&&m.indexOf(":")>0))return;v[M]=u(h[M],d)}}),v}var b=Array.isArray(h),p=Na.isTypedArray(h);if((b||p)&&h.dtype&&h.shape){var k=h.bdata;return u({dtype:h.dtype,shape:h.shape,bdata:Na.isArrayBuffer(k)?gat.encode(k):k},d)}return b?h.map(function(M){return u(M,d)}):p?Na.simpleMap(h,Na.identity):Na.isJSDate(h)?Na.ms2DateTimeLocal(+h):h}var c={data:(o||[]).map(function(h){var d=u(h);return t&&delete d.fit,d})};if(!t&&(c.layout=u(s),i)){var f=s._size;c.layout.computed={margin:{b:f.b,l:f.l,r:f.r,t:f.t}}}return l&&(c.frames=u(l)),a&&(c.config=u(e._context,!0)),n==="object"?c:JSON.stringify(c)};xa.modifyFrames=function(e,t){var r,n,i,a=e._transitionData._frames,o=e._transitionData._frameHash;for(r=0;r0&&(e._transitioningWithDuration=!0),e._transitionData._interruptCallbacks.push(function(){n=!0}),r.redraw&&e._transitionData._interruptCallbacks.push(function(){return Xl.call("redraw",e)}),e._transitionData._interruptCallbacks.push(function(){e.emit("plotly_transitioninterrupted",[])});var h=0,d=0;function v(){return h++,function(){d++,!n&&d===h&&s(f)}}r.runFn(v),setTimeout(v())})}function s(f){if(e._transitionData)return a(e._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(r.redraw)return Xl.call("redraw",e)}).then(function(){e._transitioning=!1,e._transitioningWithDuration=!1,e.emit("plotly_transitioned",[])}).then(f)}function l(){if(e._transitionData)return e._transitioning=!1,i(e._transitionData._interruptCallbacks)}var u=[xa.previousPromises,l,r.prepareFn,xa.rehover,xa.reselect,o],c=Na.syncOrAsync(u,e);return(!c||!c.then)&&(c=Promise.resolve()),c.then(function(){return e})}xa.doCalcdata=function(e,t){var r=Mp.list(e),n=e._fullData,i=e._fullLayout,a,o,s,l,u=new Array(n.length),c=(e.calcdata||[]).slice();for(e.calcdata=u,i._numBoxes=0,i._numViolins=0,i._violinScaleGroupStats={},e._hmpixcount=0,e._hmlumcount=0,i._piecolormap={},i._sunburstcolormap={},i._treemapcolormap={},i._iciclecolormap={},i._funnelareacolormap={},s=0;s=0;l--)if(L[l].enabled){a._indexToPoints=L[l]._indexToPoints;break}o&&o.calc&&(T=o.calc(e,a))}(!Array.isArray(T)||!T[0])&&(T=[{x:Vne,y:Vne}]),T[0].t||(T[0].t={}),T[0].trace=a,u[k]=T}}for(Wne(r,n,i),s=0;s{"use strict";Cb.xmlns="http://www.w3.org/2000/xmlns/";Cb.svg="http://www.w3.org/2000/svg";Cb.xlink="http://www.w3.org/1999/xlink";Cb.svgAttrs={xmlns:Cb.svg,"xmlns:xlink":Cb.xlink}});var Dh=ye((Inr,rae)=>{"use strict";rae.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}});var Zl=ye(b0=>{"use strict";var Fh=qa(),Py=Pr(),Dat=Py.strTranslate,bO=Wp(),Fat=Dh().LINE_SPACING,zat=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;b0.convertToTspans=function(e,t,r){var n=e.text(),i=!e.attr("data-notex")&&t&&t._context.typesetMath&&typeof MathJax!="undefined"&&n.match(zat),a=Fh.select(e.node().parentNode);if(a.empty())return;var o=e.attr("class")?e.attr("class").split(" ")[0]:"text";o+="-math",a.selectAll("svg."+o).remove(),a.selectAll("g."+o+"-group").remove(),e.style("display",null).attr({"data-unformatted":n,"data-math":"N"});function s(){a.empty()||(o=e.attr("class")+"-math",a.select("svg."+o).remove()),e.text("").style("white-space","pre");var l=Yat(e.node(),n);l&&e.style("pointer-events","all"),b0.positionText(e),r&&r.call(e)}return i?(t&&t._promises||[]).push(new Promise(function(l){e.style("display","none");var u=parseInt(e.node().style.fontSize,10),c={fontSize:u};Nat(i[2],c,function(f,h,d){a.selectAll("svg."+o).remove(),a.selectAll("g."+o+"-group").remove();var v=f&&f.select("svg");if(!v||!v.node()){s(),l();return}var m=a.append("g").classed(o+"-group",!0).attr({"pointer-events":"none","data-unformatted":n,"data-math":"Y"});m.node().appendChild(v.node()),h&&h.node()&&v.node().insertBefore(h.node().cloneNode(!0),v.node().firstChild);var b=d.width,p=d.height;v.attr({class:o,height:p,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var k=e.node().style.fill||"black",M=v.select("g");M.attr({fill:k,stroke:k});var T=M.node().getBoundingClientRect(),L=T.width,x=T.height;(L>b||x>p)&&(v.style("overflow","hidden"),T=v.node().getBoundingClientRect(),L=T.width,x=T.height);var C=+e.attr("x"),S=+e.attr("y"),g=u||e.node().getBoundingClientRect().height,P=-g/4;if(o[0]==="y")m.attr({transform:"rotate("+[-90,C,S]+")"+Dat(-L/2,P-x/2)});else if(o[0]==="l")S=P-x/2;else if(o[0]==="a"&&o.indexOf("atitle")!==0)C=0,S=P;else{var E=e.attr("text-anchor");C=C-L*(E==="middle"?.5:E==="end"?1:0),S=S+P-x/2}v.attr({x:C,y:S}),r&&r.call(e,m),l(m)})})):s(),e};var qat=/(<|<|<)/g,Oat=/(>|>|>)/g;function Bat(e){return e.replace(qat,"\\lt ").replace(Oat,"\\gt ")}var iae=[["$","$"],["\\(","\\)"]];function Nat(e,t,r){var n=parseInt((MathJax.version||"").split(".")[0]);if(n!==2&&n!==3){Py.warn("No MathJax version:",MathJax.version);return}var i,a,o,s,l=function(){return a=Py.extendDeepAll({},MathJax.Hub.config),o=MathJax.Hub.processSectionDelay,MathJax.Hub.processSectionDelay!==void 0&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:iae},displayAlign:"left"})},u=function(){a=Py.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=iae},c=function(){if(i=MathJax.Hub.config.menuSettings.renderer,i!=="SVG")return MathJax.Hub.setRenderer("SVG")},f=function(){i=MathJax.config.startup.output,i!=="svg"&&(MathJax.config.startup.output="svg")},h=function(){var k="math-output-"+Py.randstr({},64);s=Fh.select("body").append("div").attr({id:k}).style({visibility:"hidden",position:"absolute","font-size":t.fontSize+"px"}).text(Bat(e));var M=s.node();return n===2?MathJax.Hub.Typeset(M):MathJax.typeset([M])},d=function(){var k=s.select(n===2?".MathJax_SVG":".MathJax"),M=!k.empty()&&s.select("svg").node();if(!M)Py.log("There was an error in the tex syntax.",e),r();else{var T=M.getBoundingClientRect(),L;n===2?L=Fh.select("body").select("#MathJax_SVG_glyphs"):L=k.select("defs"),r(k,L,T)}s.remove()},v=function(){if(i!=="SVG")return MathJax.Hub.setRenderer(i)},m=function(){i!=="svg"&&(MathJax.config.startup.output=i)},b=function(){return o!==void 0&&(MathJax.Hub.processSectionDelay=o),MathJax.Hub.Config(a)},p=function(){MathJax.config=a};n===2?MathJax.Hub.Queue(l,c,h,d,v,b):n===3&&(u(),f(),MathJax.startup.defaultReady(),MathJax.startup.promise.then(function(){h(),d(),m(),p()}))}var sae={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"},Uat={sub:"0.3em",sup:"-0.6em"},Vat={sub:"-0.21em",sup:"0.42em"},nae="\u200B",aae=["http:","https:","mailto:","",void 0,":"],lae=b0.NEWLINES=/(\r\n?|\n)/g,TO=/(<[^<>]*>)/,AO=/<(\/?)([^ >]*)(\s+(.*))?>/i,Gat=//i;b0.BR_TAG_ALL=//gi;var uae=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,cae=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,fae=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,Hat=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function Lb(e,t){if(!e)return null;var r=e.match(t),n=r&&(r[3]||r[4]);return n&&sL(n)}var jat=/(^|;)\s*color:/;b0.plainText=function(e,t){t=t||{};for(var r=t.len!==void 0&&t.len!==-1?t.len:1/0,n=t.allowedTags!==void 0?t.allowedTags:["br"],i="...",a=i.length,o=e.split(TO),s=[],l="",u=0,c=0;ca?s.push(f.slice(0,Math.max(0,m-a))+i):s.push(f.slice(0,m));break}l=""}}return s.join("")};var Wat={mu:"\u03BC",amp:"&",lt:"<",gt:">",nbsp:"\xA0",times:"\xD7",plusmn:"\xB1",deg:"\xB0"},Xat=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function sL(e){return e.replace(Xat,function(t,r){var n;return r.charAt(0)==="#"?n=Zat(r.charAt(1)==="x"?parseInt(r.slice(2),16):parseInt(r.slice(1),10)):n=Wat[r],n||t})}b0.convertEntities=sL;function Zat(e){if(!(e>1114111)){var t=String.fromCodePoint;if(t)return t(e);var r=String.fromCharCode;return e<=65535?r(e):r((e>>10)+55232,e%1024+56320)}}function Yat(e,t){t=t.replace(lae," ");var r=!1,n=[],i,a=-1;function o(){a++;var x=document.createElementNS(bO.svg,"tspan");Fh.select(x).attr({class:"line",dy:a*Fat+"em"}),e.appendChild(x),i=x;var C=n;if(n=[{node:x}],C.length>1)for(var S=1;S.",t);return}var C=n.pop();x!==C.type&&Py.log("Start tag <"+C.type+"> doesnt match end tag <"+x+">. Pretending it did match.",t),i=n[n.length-1].node}var c=Gat.test(t);c?o():(i=e,n=[{node:e}]);for(var f=t.split(TO),h=0;h{"use strict";var Kat=qa(),uL=fd(),nM=Eo(),lL=Pr(),dae=ka(),Jat=yb().isValid;function $at(e,t,r){var n=t?lL.nestedProperty(e,t).get()||{}:e,i=n[r||"color"];i&&i._inputArray&&(i=i._inputArray);var a=!1;if(lL.isArrayOrTypedArray(i)){for(var o=0;o=0;n--,i++){var a=e[n];r[i]=[1-a[0],a[1]]}return r}function _ae(e,t){t=t||{};for(var r=e.domain,n=e.range,i=n.length,a=new Array(i),o=0;o{"use strict";var bae=Wq(),eot=bae.FORMAT_LINK,tot=bae.DATE_FORMAT_LINK;function rot(e,t){return{valType:"string",dflt:"",editType:"none",description:(t?SO:wae)("hover text",e)+["By default the values are formatted using "+(t?"generic number format":"`"+e+"axis.hoverformat`")+"."].join(" ")}}function SO(e,t){return["Sets the "+e+" formatting rule"+(t?"for `"+t+"` ":""),"using d3 formatting mini-languages","which are very similar to those in Python. For numbers, see: "+eot+"."].join(" ")}function wae(e,t){return SO(e,t)+[" And for dates see: "+tot+".","We add two items to d3's date formatter:","*%h* for half of the year as a decimal number as well as","*%{n}f* for fractional seconds","with n digits. For example, *2016-10-13 09:15:23.456* with tickformat","*%H~%M~%S.%2f* would display *09~15~23.46*"].join(" ")}Tae.exports={axisHoverFormat:rot,descriptionOnlyNumbers:SO,descriptionWithDates:wae}});var Rd=ye((qnr,Nae)=>{"use strict";var Aae=ec(),z3=Ih(),Bae=Pd().dash,EO=Ao().extendFlat,Sae=vl().templatedArray,znr=Ll().templateFormatStringDescription,Mae=vf().descriptionWithDates,iot=fs().ONEDAY,mm=Rh(),not=mm.HOUR_PATTERN,aot=mm.WEEKDAY_PATTERN,MO={valType:"enumerated",values:["auto","linear","array"],editType:"ticks",impliedEdits:{tick0:void 0,dtick:void 0}},oot=EO({},MO,{values:MO.values.slice().concat(["sync"])});function Eae(e){return{valType:"integer",min:0,dflt:e?5:0,editType:"ticks"}}var kae={valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"}},Cae={valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"}},Lae={valType:"data_array",editType:"ticks"},Pae={valType:"enumerated",values:["outside","inside",""],editType:"ticks"};function Iae(e){var t={valType:"number",min:0,editType:"ticks"};return e||(t.dflt=5),t}function Rae(e){var t={valType:"number",min:0,editType:"ticks"};return e||(t.dflt=1),t}var Dae={valType:"color",dflt:z3.defaultLine,editType:"ticks"},Fae={valType:"color",dflt:z3.lightLine,editType:"ticks"};function zae(e){var t={valType:"number",min:0,editType:"ticks"};return e||(t.dflt=1),t}var qae=EO({},Bae,{editType:"ticks"}),Oae={valType:"boolean",editType:"ticks"};Nae.exports={visible:{valType:"boolean",editType:"plot"},color:{valType:"color",dflt:z3.defaultLine,editType:"ticks"},title:{text:{valType:"string",editType:"ticks"},font:Aae({editType:"ticks"}),standoff:{valType:"number",min:0,editType:"ticks"},editType:"ticks"},type:{valType:"enumerated",values:["-","linear","log","date","category","multicategory"],dflt:"-",editType:"calc",_noTemplating:!0},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc"},autorange:{valType:"enumerated",values:[!0,!1,"reversed","min reversed","max reversed","min","max"],dflt:!0,editType:"axrange",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},autorangeoptions:{minallowed:{valType:"any",editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},maxallowed:{valType:"any",editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},clipmin:{valType:"any",editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},clipmax:{valType:"any",editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},include:{valType:"any",arrayOk:!0,editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},editType:"plot"},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"plot"},range:{valType:"info_array",items:[{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0},{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0}],editType:"axrange",impliedEdits:{autorange:!1},anim:!0},minallowed:{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},maxallowed:{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},fixedrange:{valType:"boolean",dflt:!1,editType:"calc"},modebardisable:{valType:"flaglist",flags:["autoscale","zoominout"],extras:["none"],dflt:"none",editType:"modebar"},insiderange:{valType:"info_array",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},scaleanchor:{valType:"enumerated",values:[mm.idRegex.x.toString(),mm.idRegex.y.toString(),!1],editType:"plot"},scaleratio:{valType:"number",min:0,dflt:1,editType:"plot"},constrain:{valType:"enumerated",values:["range","domain"],editType:"plot"},constraintoward:{valType:"enumerated",values:["left","center","right","top","middle","bottom"],editType:"plot"},matches:{valType:"enumerated",values:[mm.idRegex.x.toString(),mm.idRegex.y.toString()],editType:"calc"},rangebreaks:Sae("rangebreak",{enabled:{valType:"boolean",dflt:!0,editType:"calc"},bounds:{valType:"info_array",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}],editType:"calc"},pattern:{valType:"enumerated",values:[aot,not,""],editType:"calc"},values:{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"any",editType:"calc"}},dvalue:{valType:"number",editType:"calc",min:0,dflt:iot},editType:"calc"}),tickmode:oot,nticks:Eae(),tick0:kae,dtick:Cae,ticklabelstep:{valType:"integer",min:1,dflt:1,editType:"ticks"},tickvals:Lae,ticktext:{valType:"data_array",editType:"ticks"},ticks:Pae,tickson:{valType:"enumerated",values:["labels","boundaries"],dflt:"labels",editType:"ticks"},ticklabelmode:{valType:"enumerated",values:["instant","period"],dflt:"instant",editType:"ticks"},ticklabelposition:{valType:"enumerated",values:["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"],dflt:"outside",editType:"calc"},ticklabeloverflow:{valType:"enumerated",values:["allow","hide past div","hide past domain"],editType:"calc"},ticklabelshift:{valType:"integer",dflt:0,editType:"ticks"},ticklabelstandoff:{valType:"integer",dflt:0,editType:"ticks"},ticklabelindex:{valType:"integer",arrayOk:!0,editType:"calc"},mirror:{valType:"enumerated",values:[!0,"ticks",!1,"all","allticks"],dflt:!1,editType:"ticks+layoutstyle"},ticklen:Iae(),tickwidth:Rae(),tickcolor:Dae,showticklabels:{valType:"boolean",dflt:!0,editType:"ticks"},labelalias:{valType:"any",dflt:!1,editType:"ticks"},automargin:{valType:"flaglist",flags:["height","width","left","right","top","bottom"],extras:[!0,!1],dflt:!1,editType:"ticks"},showspikes:{valType:"boolean",dflt:!1,editType:"modebar"},spikecolor:{valType:"color",dflt:null,editType:"none"},spikethickness:{valType:"number",dflt:3,editType:"none"},spikedash:EO({},Bae,{dflt:"dash",editType:"none"}),spikemode:{valType:"flaglist",flags:["toaxis","across","marker"],dflt:"toaxis",editType:"none"},spikesnap:{valType:"enumerated",values:["data","cursor","hovered data"],dflt:"hovered data",editType:"none"},tickfont:Aae({editType:"ticks"}),tickangle:{valType:"angle",dflt:"auto",editType:"ticks"},autotickangles:{valType:"info_array",freeLength:!0,items:{valType:"angle"},dflt:[0,30,90],editType:"ticks"},tickprefix:{valType:"string",dflt:"",editType:"ticks"},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},ticksuffix:{valType:"string",dflt:"",editType:"ticks"},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B","SI extended"],dflt:"B",editType:"ticks"},minexponent:{valType:"number",dflt:3,min:0,editType:"ticks"},separatethousands:{valType:"boolean",dflt:!1,editType:"ticks"},tickformat:{valType:"string",dflt:"",editType:"ticks",description:Mae("tick label")},tickformatstops:Sae("tickformatstop",{enabled:{valType:"boolean",dflt:!0,editType:"ticks"},dtickrange:{valType:"info_array",items:[{valType:"any",editType:"ticks"},{valType:"any",editType:"ticks"}],editType:"ticks"},value:{valType:"string",dflt:"",editType:"ticks"},editType:"ticks"}),hoverformat:{valType:"string",dflt:"",editType:"none",description:Mae("hover text")},unifiedhovertitle:{text:{valType:"string",dflt:"",editType:"none"},editType:"none"},showline:{valType:"boolean",dflt:!1,editType:"ticks+layoutstyle"},linecolor:{valType:"color",dflt:z3.defaultLine,editType:"layoutstyle"},linewidth:{valType:"number",min:0,dflt:1,editType:"ticks+layoutstyle"},showgrid:Oae,gridcolor:Fae,gridwidth:zae(),griddash:qae,zeroline:{valType:"boolean",editType:"ticks"},zerolinecolor:{valType:"color",dflt:z3.defaultLine,editType:"ticks"},zerolinelayer:{valType:"enumerated",values:["above traces","below traces"],dflt:"below traces",editType:"plot"},zerolinewidth:{valType:"number",dflt:1,editType:"ticks"},showdividers:{valType:"boolean",dflt:!0,editType:"ticks"},dividercolor:{valType:"color",dflt:z3.defaultLine,editType:"ticks"},dividerwidth:{valType:"number",dflt:1,editType:"ticks"},anchor:{valType:"enumerated",values:["free",mm.idRegex.x.toString(),mm.idRegex.y.toString()],editType:"plot"},side:{valType:"enumerated",values:["top","bottom","left","right"],editType:"plot"},overlaying:{valType:"enumerated",values:["free",mm.idRegex.x.toString(),mm.idRegex.y.toString()],editType:"plot"},minor:{tickmode:MO,nticks:Eae("minor"),tick0:kae,dtick:Cae,tickvals:Lae,ticks:Pae,ticklen:Iae("minor"),tickwidth:Rae("minor"),tickcolor:Dae,gridcolor:Fae,gridwidth:zae("minor"),griddash:qae,showgrid:Oae,editType:"ticks"},minorloglabels:{valType:"enumerated",values:["small digits","complete","none"],dflt:"small digits",editType:"calc"},layer:{valType:"enumerated",values:["above traces","below traces"],dflt:"above traces",editType:"plot"},domain:{valType:"info_array",items:[{valType:"number",min:0,max:1,editType:"plot"},{valType:"number",min:0,max:1,editType:"plot"}],dflt:[0,1],editType:"plot"},position:{valType:"number",min:0,max:1,dflt:0,editType:"plot"},autoshift:{valType:"boolean",dflt:!1,editType:"plot"},shift:{valType:"number",editType:"plot"},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","geometric mean ascending","geometric mean descending","median ascending","median descending"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},uirevision:{valType:"any",editType:"none"},editType:"calc"}});var cL=ye((Onr,Gae)=>{"use strict";var $c=Rd(),Uae=ec(),Vae=Ao().extendFlat,sot=mc().overrideAll;Gae.exports=sot({orientation:{valType:"enumerated",values:["h","v"],dflt:"v"},thicknessmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"pixels"},thickness:{valType:"number",min:0,dflt:30},lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number"},xref:{valType:"enumerated",dflt:"paper",values:["container","paper"],editType:"layoutstyle"},xanchor:{valType:"enumerated",values:["left","center","right"]},xpad:{valType:"number",min:0,dflt:10},y:{valType:"number"},yref:{valType:"enumerated",dflt:"paper",values:["container","paper"],editType:"layoutstyle"},yanchor:{valType:"enumerated",values:["top","middle","bottom"]},ypad:{valType:"number",min:0,dflt:10},outlinecolor:$c.linecolor,outlinewidth:$c.linewidth,bordercolor:$c.linecolor,borderwidth:{valType:"number",min:0,dflt:0},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)"},tickmode:$c.minor.tickmode,nticks:$c.nticks,tick0:$c.tick0,dtick:$c.dtick,tickvals:$c.tickvals,ticktext:$c.ticktext,ticks:Vae({},$c.ticks,{dflt:""}),ticklabeloverflow:Vae({},$c.ticklabeloverflow,{}),ticklabelposition:{valType:"enumerated",values:["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"],dflt:"outside"},ticklen:$c.ticklen,tickwidth:$c.tickwidth,tickcolor:$c.tickcolor,ticklabelstep:$c.ticklabelstep,showticklabels:$c.showticklabels,labelalias:$c.labelalias,tickfont:Uae({}),tickangle:$c.tickangle,tickformat:$c.tickformat,tickformatstops:$c.tickformatstops,tickprefix:$c.tickprefix,showtickprefix:$c.showtickprefix,ticksuffix:$c.ticksuffix,showticksuffix:$c.showticksuffix,separatethousands:$c.separatethousands,exponentformat:$c.exponentformat,minexponent:$c.minexponent,showexponent:$c.showexponent,title:{text:{valType:"string"},font:Uae({}),side:{valType:"enumerated",values:["right","top","bottom"]}}},"colorbars","from-root")});var Tu=ye((Nnr,jae)=>{"use strict";var lot=cL(),uot=m3().counter,cot=t_(),Hae=yb().scales,Bnr=cot(Hae);function fL(e){return"`"+e+"`"}jae.exports=function(t,r){t=t||"",r=r||{};var n=r.cLetter||"c",i="onlyIfNumerical"in r?r.onlyIfNumerical:!!t,a="noScale"in r?r.noScale:t==="marker.line",o="showScaleDflt"in r?r.showScaleDflt:n==="z",s=typeof r.colorscaleDflt=="string"?Hae[r.colorscaleDflt]:null,l=r.editTypeOverride||"",u=t?t+".":"",c,f;"colorAttr"in r?(c=r.colorAttr,f=r.colorAttr):(c={z:"z",c:"color"}[n],f="in "+fL(u+c));var h=i?" Has an effect only if "+f+" is set to a numerical array.":"",d=n+"auto",v=n+"min",m=n+"max",b=n+"mid",p=fL(u+d),k=fL(u+v),M=fL(u+m),T=k+" and "+M,L={};L[v]=L[m]=void 0;var x={};x[d]=!1;var C={};return c==="color"&&(C.color={valType:"color",arrayOk:!0,editType:l||"style"},r.anim&&(C.color.anim=!0)),C[d]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:L},C[v]={valType:"number",dflt:null,editType:l||"plot",impliedEdits:x},C[m]={valType:"number",dflt:null,editType:l||"plot",impliedEdits:x},C[b]={valType:"number",dflt:null,editType:"calc",impliedEdits:L},C.colorscale={valType:"colorscale",editType:"calc",dflt:s,impliedEdits:{autocolorscale:!1}},C.autocolorscale={valType:"boolean",dflt:r.autoColorDflt!==!1,editType:"calc",impliedEdits:{colorscale:void 0}},C.reversescale={valType:"boolean",dflt:!1,editType:"plot"},a||(C.showscale={valType:"boolean",dflt:o,editType:"calc"},C.colorbar=lot),r.noColorAxis||(C.coloraxis={valType:"subplotid",regex:uot("coloraxis"),dflt:null,editType:"calc"}),C}});var CO=ye((Unr,Wae)=>{"use strict";var fot=Ao().extendFlat,hot=Tu(),kO=yb().scales;Wae.exports={editType:"calc",colorscale:{editType:"calc",sequential:{valType:"colorscale",dflt:kO.Reds,editType:"calc"},sequentialminus:{valType:"colorscale",dflt:kO.Blues,editType:"calc"},diverging:{valType:"colorscale",dflt:kO.RdBu,editType:"calc"}},coloraxis:fot({_isSubplotObj:!0,editType:"calc"},hot("",{colorAttr:"corresponding trace color array(s)",noColorAxis:!0,showScaleDflt:!0}))}});var LO=ye((Vnr,Xae)=>{"use strict";var dot=Pr();Xae.exports=function(t){return dot.isPlainObject(t.colorbar)}});var RO=ye(IO=>{"use strict";var PO=Eo(),Zae=Pr(),Yae=fs(),vot=Yae.ONEDAY,pot=Yae.ONEWEEK;IO.dtick=function(e,t){var r=t==="log",n=t==="date",i=t==="category",a=n?vot:1;if(!e)return a;if(PO(e))return e=Number(e),e<=0?a:i?Math.max(1,Math.round(e)):n?Math.max(.1,e):e;if(typeof e!="string"||!(n||r))return a;var o=e.charAt(0),s=e.slice(1);return s=PO(s)?Number(s):0,s<=0||!(n&&o==="M"&&s===Math.round(s)||r&&o==="L"||r&&o==="D"&&(s===1||s===2))?a:e};IO.tick0=function(e,t,r,n){if(t==="date")return Zae.cleanDate(e,Zae.dateTick0(r,n%pot===0?1:0));if(!(n==="D1"||n==="D2"))return PO(e)?Number(e):0}});var Pb=ye((Hnr,Jae)=>{"use strict";var Kae=RO(),got=Pr().isArrayOrTypedArray,mot=Yd().isTypedArraySpec,yot=Yd().decodeTypedArraySpec;Jae.exports=function(t,r,n,i,a){a||(a={});var o=a.isMinor,s=o?t.minor||{}:t,l=o?r.minor:r,u=o?"minor.":"";function c(k){var M=s[k];return mot(M)&&(M=yot(M)),M!==void 0?M:(l._template||{})[k]}var f=c("tick0"),h=c("dtick"),d=c("tickvals"),v=got(d)?"array":h?"linear":"auto",m=n(u+"tickmode",v);if(m==="auto"||m==="sync")n(u+"nticks");else if(m==="linear"){var b=l.dtick=Kae.dtick(h,i);l.tick0=Kae.tick0(f,i,r.calendar,b)}else if(i!=="multicategory"){var p=n(u+"tickvals");p===void 0?l.tickmode="auto":o||n("ticktext")}}});var q3=ye((jnr,Qae)=>{"use strict";var DO=Pr(),$ae=Rd();Qae.exports=function(t,r,n,i){var a=i.isMinor,o=a?t.minor||{}:t,s=a?r.minor:r,l=a?$ae.minor:$ae,u=a?"minor.":"",c=DO.coerce2(o,s,l,"ticklen",a?(r.ticklen||5)*.6:void 0),f=DO.coerce2(o,s,l,"tickwidth",a?r.tickwidth||1:void 0),h=DO.coerce2(o,s,l,"tickcolor",(a?r.tickcolor:void 0)||s.color),d=n(u+"ticks",!a&&i.outerTicks||c||f||h?"outside":"");d||(delete s.ticklen,delete s.tickwidth,delete s.tickcolor)}});var FO=ye((Wnr,eoe)=>{"use strict";eoe.exports=function(t){var r=["showexponent","showtickprefix","showticksuffix"],n=r.filter(function(a){return t[a]!==void 0}),i=function(a){return t[a]===t[n[0]]};if(n.every(i)||n.length===1)return t[n[0]]}});var Kd=ye((Xnr,toe)=>{"use strict";var hL=Pr(),_ot=vl();toe.exports=function(t,r,n){var i=n.name,a=n.inclusionAttr||"visible",o=r[i],s=hL.isArrayOrTypedArray(t[i])?t[i]:[],l=r[i]=[],u=_ot.arrayTemplater(r,i,a),c,f;for(c=0;c{"use strict";var zO=Pr(),xot=ka().contrast,roe=Rd(),bot=FO(),wot=Kd();ioe.exports=function(t,r,n,i,a){a||(a={});var o=n("labelalias");zO.isPlainObject(o)||delete r.labelalias;var s=bot(t),l=n("showticklabels");if(l){a.noTicklabelshift||n("ticklabelshift"),a.noTicklabelstandoff||n("ticklabelstandoff");var u=a.font||{},c=r.color,f=r.ticklabelposition||"",h=f.indexOf("inside")!==-1?xot(a.bgColor):c&&c!==roe.color.dflt?c:u.color;if(zO.coerceFont(n,"tickfont",u,{overrideDflt:{color:h}}),!a.noTicklabelstep&&i!=="multicategory"&&i!=="log"&&n("ticklabelstep"),!a.noAng){var d=n("tickangle");!a.noAutotickangles&&d==="auto"&&n("autotickangles")}if(i!=="category"){var v=n("tickformat");wot(t,r,{name:"tickformatstops",inclusionAttr:"enabled",handleItemDefaults:Tot}),r.tickformatstops.length||delete r.tickformatstops,!a.noExp&&!v&&i!=="date"&&(n("showexponent",s),n("exponentformat"),n("minexponent"),n("separatethousands"))}!a.noMinorloglabels&&i==="log"&&n("minorloglabels")}};function Tot(e,t){function r(i,a){return zO.coerce(e,t,roe.tickformatstops,i,a)}var n=r("enabled");n&&(r("dtickrange"),r("value"))}});var l_=ye((Ynr,noe)=>{"use strict";var Aot=FO();noe.exports=function(t,r,n,i,a){a||(a={});var o=a.tickSuffixDflt,s=Aot(t),l=n("tickprefix");l&&n("showtickprefix",s);var u=n("ticksuffix",o);u&&n("showticksuffix",s)}});var qO=ye((Knr,aoe)=>{"use strict";var u_=Pr(),Sot=vl(),Mot=Pb(),Eot=q3(),kot=s_(),Cot=l_(),Lot=cL();aoe.exports=function(t,r,n){var i=Sot.newContainer(r,"colorbar"),a=t.colorbar||{};function o(E,z){return u_.coerce(a,i,Lot,E,z)}var s=n.margin||{t:0,b:0,l:0,r:0},l=n.width-s.l-s.r,u=n.height-s.t-s.b,c=o("orientation"),f=c==="v",h=o("thicknessmode");o("thickness",h==="fraction"?30/(f?l:u):30);var d=o("lenmode");o("len",d==="fraction"?1:f?u:l);var v=o("yref"),m=o("xref"),b=v==="paper",p=m==="paper",k,M,T,L="left";f?(T="middle",L=p?"left":"right",k=p?1.02:1,M=.5):(T=b?"bottom":"top",L="center",k=.5,M=b?1.02:1),u_.coerce(a,i,{x:{valType:"number",min:p?-2:0,max:p?3:1,dflt:k}},"x"),u_.coerce(a,i,{y:{valType:"number",min:b?-2:0,max:b?3:1,dflt:M}},"y"),o("xanchor",L),o("xpad"),o("yanchor",T),o("ypad"),u_.noneOrAll(a,i,["x","y"]),o("outlinecolor"),o("outlinewidth"),o("bordercolor"),o("borderwidth"),o("bgcolor");var x=u_.coerce(a,i,{ticklabelposition:{valType:"enumerated",dflt:"outside",values:f?["outside","inside","outside top","inside top","outside bottom","inside bottom"]:["outside","inside","outside left","inside left","outside right","inside right"]}},"ticklabelposition");o("ticklabeloverflow",x.indexOf("inside")!==-1?"hide past domain":"hide past div"),Mot(a,i,o,"linear");var C=n.font,S={noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,outerTicks:!1,font:C};x.indexOf("inside")!==-1&&(S.bgColor="black"),Cot(a,i,o,"linear",S),kot(a,i,o,"linear",S),Eot(a,i,o,"linear",S),o("title.text",n._dfltTitle.colorbar);var g=i.showticklabels?i.tickfont:C,P=u_.extendFlat({},C,{family:g.family,size:u_.bigFont(g.size)});u_.coerceFont(o,"title.font",P),o("title.side",f?"top":"right")}});var td=ye((Jnr,loe)=>{"use strict";var ooe=Eo(),BO=Pr(),Pot=LO(),Iot=qO(),soe=yb().isValid,Rot=Oa().traceIs;function OO(e,t){var r=t.slice(0,t.length-1);return t?BO.nestedProperty(e,r).get()||{}:e}loe.exports=function e(t,r,n,i,a){var o=a.prefix,s=a.cLetter,l="_module"in r,u=OO(t,o),c=OO(r,o),f=OO(r._template||{},o)||{},h=function(){return delete t.coloraxis,delete r.coloraxis,e(t,r,n,i,a)};if(l){var d=n._colorAxes||{},v=i(o+"coloraxis");if(v){var m=Rot(r,"contour")&&BO.nestedProperty(r,"contours.coloring").get()||"heatmap",b=d[v];b?(b[2].push(h),b[0]!==m&&(b[0]=!1,BO.warn(["Ignoring coloraxis:",v,"setting","as it is linked to incompatible colorscales."].join(" ")))):d[v]=[m,r,[h]];return}}var p=u[s+"min"],k=u[s+"max"],M=ooe(p)&&ooe(k)&&p{"use strict";var uoe=Pr(),Dot=vl(),coe=CO(),Fot=td();foe.exports=function(t,r){function n(f,h){return uoe.coerce(t,r,coe,f,h)}n("colorscale.sequential"),n("colorscale.sequentialminus"),n("colorscale.diverging");var i=r._colorAxes,a,o;function s(f,h){return uoe.coerce(a,o,coe.coloraxis,f,h)}for(var l in i){var u=i[l];if(u[0])a=t[l]||{},o=Dot.newContainer(r,l,"coloraxis"),o._name=l,Fot(a,o,r,s,{prefix:"",cLetter:"c"});else{for(var c=0;c{"use strict";var zot=Pr(),qot=pv().hasColorscale,Oot=pv().extractOpts;doe.exports=function(t,r){function n(c,f){var h=c["_"+f];h!==void 0&&(c[f]=h)}function i(c,f){var h=f.container?zot.nestedProperty(c,f.container).get():c;if(h)if(h.coloraxis)h._colorAx=r[h.coloraxis];else{var d=Oot(h),v=d.auto;(v||d.min===void 0)&&n(h,f.min),(v||d.max===void 0)&&n(h,f.max),d.autocolorscale&&n(h,"colorscale")}}for(var a=0;a{"use strict";var poe=Eo(),NO=Pr(),Bot=pv().extractOpts;goe.exports=function(t,r,n){var i=t._fullLayout,a=n.vals,o=n.containerStr,s=o?NO.nestedProperty(r,o).get():r,l=Bot(s),u=l.auto!==!1,c=l.min,f=l.max,h=l.mid,d=function(){return NO.aggNums(Math.min,null,a)},v=function(){return NO.aggNums(Math.max,null,a)};if(c===void 0?c=d():u&&(s._colorAx&&poe(c)?c=Math.min(c,d()):c=d()),f===void 0?f=v():u&&(s._colorAx&&poe(f)?f=Math.max(f,v()):f=v()),u&&h!==void 0&&(f-h>h-c?c=h-(f-h):f-h=0?m=i.colorscale.sequential:m=i.colorscale.sequentialminus,l._sync("colorscale",m)}}});var tc=ye((tar,moe)=>{"use strict";var dL=yb(),O3=pv();moe.exports={moduleType:"component",name:"colorscale",attributes:Tu(),layoutAttributes:CO(),supplyLayoutDefaults:hoe(),handleDefaults:td(),crossTraceDefaults:voe(),calc:gv(),scales:dL.scales,defaultScale:dL.defaultScale,getScale:dL.get,isValidScale:dL.isValid,hasColorscale:O3.hasColorscale,extractOpts:O3.extractOpts,extractScale:O3.extractScale,flipScale:O3.flipScale,makeColorScaleFunc:O3.makeColorScaleFunc,makeColorScaleFuncFromTrace:O3.makeColorScaleFuncFromTrace}});var Ru=ye((rar,_oe)=>{"use strict";var yoe=Pr(),Not=Yd().isTypedArraySpec;_oe.exports={hasLines:function(e){return e.visible&&e.mode&&e.mode.indexOf("lines")!==-1},hasMarkers:function(e){return e.visible&&(e.mode&&e.mode.indexOf("markers")!==-1||e.type==="splom")},hasText:function(e){return e.visible&&e.mode&&e.mode.indexOf("text")!==-1},isBubble:function(e){var t=e.marker;return yoe.isPlainObject(t)&&(yoe.isArrayOrTypedArray(t.size)||Not(t.size))}}});var B3=ye((iar,xoe)=>{"use strict";var Uot=Eo();xoe.exports=function(t,r){r||(r=2);var n=t.marker,i=n.sizeref||1,a=n.sizemin||0,o=n.sizemode==="area"?function(s){return Math.sqrt(s/i)}:function(s){return s/i};return function(s){var l=o(s/r);return Uot(l)&&l>0?Math.max(l,a):0}}});var ip=ye(mv=>{"use strict";var vL=Pr();mv.getSubplot=function(e){return e.subplot||e.xaxis+e.yaxis||e.geo};mv.isTraceInSubplots=function(e,t){if(e.type==="splom"){for(var r=e.xaxes||[],n=e.yaxes||[],i=0;i=0&&r.index{Toe.exports=Wot;var UO={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},jot=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function Wot(e){var t=[];return e.replace(jot,function(r,n,i){var a=n.toLowerCase();for(i=Zot(i),a=="m"&&i.length>2&&(t.push([n].concat(i.splice(0,2))),a="l",n=n=="m"?"l":"L");;){if(i.length==UO[a])return i.unshift(n),t.push(i);if(i.length{"use strict";var Yot=aM(),ca=function(e,t){return t?Math.round(e*(t=Math.pow(10,t)))/t:Math.round(e)},hs="M0,0Z",Aoe=Math.sqrt(2),c_=Math.sqrt(3),VO=Math.PI,GO=Math.cos,HO=Math.sin;Coe.exports={circle:{n:0,f:function(e,t,r){if(ds(t))return hs;var n=ca(e,2),i="M"+n+",0A"+n+","+n+" 0 1,1 0,-"+n+"A"+n+","+n+" 0 0,1 "+n+",0Z";return r?vs(t,r,i):i}},square:{n:1,f:function(e,t,r){if(ds(t))return hs;var n=ca(e,2);return vs(t,r,"M"+n+","+n+"H-"+n+"V-"+n+"H"+n+"Z")}},diamond:{n:2,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*1.3,2);return vs(t,r,"M"+n+",0L0,"+n+"L-"+n+",0L0,-"+n+"Z")}},cross:{n:3,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*.4,2),i=ca(e*1.2,2);return vs(t,r,"M"+i+","+n+"H"+n+"V"+i+"H-"+n+"V"+n+"H-"+i+"V-"+n+"H-"+n+"V-"+i+"H"+n+"V-"+n+"H"+i+"Z")}},x:{n:4,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*.8/Aoe,2),i="l"+n+","+n,a="l"+n+",-"+n,o="l-"+n+",-"+n,s="l-"+n+","+n;return vs(t,r,"M0,"+n+i+a+o+a+o+s+o+s+i+s+i+"Z")}},"triangle-up":{n:5,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*2/c_,2),i=ca(e/2,2),a=ca(e,2);return vs(t,r,"M-"+n+","+i+"H"+n+"L0,-"+a+"Z")}},"triangle-down":{n:6,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*2/c_,2),i=ca(e/2,2),a=ca(e,2);return vs(t,r,"M-"+n+",-"+i+"H"+n+"L0,"+a+"Z")}},"triangle-left":{n:7,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*2/c_,2),i=ca(e/2,2),a=ca(e,2);return vs(t,r,"M"+i+",-"+n+"V"+n+"L-"+a+",0Z")}},"triangle-right":{n:8,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*2/c_,2),i=ca(e/2,2),a=ca(e,2);return vs(t,r,"M-"+i+",-"+n+"V"+n+"L"+a+",0Z")}},"triangle-ne":{n:9,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*.6,2),i=ca(e*1.2,2);return vs(t,r,"M-"+i+",-"+n+"H"+n+"V"+i+"Z")}},"triangle-se":{n:10,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*.6,2),i=ca(e*1.2,2);return vs(t,r,"M"+n+",-"+i+"V"+n+"H-"+i+"Z")}},"triangle-sw":{n:11,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*.6,2),i=ca(e*1.2,2);return vs(t,r,"M"+i+","+n+"H-"+n+"V-"+i+"Z")}},"triangle-nw":{n:12,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*.6,2),i=ca(e*1.2,2);return vs(t,r,"M-"+n+","+i+"V-"+n+"H"+i+"Z")}},pentagon:{n:13,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*.951,2),i=ca(e*.588,2),a=ca(-e,2),o=ca(e*-.309,2),s=ca(e*.809,2);return vs(t,r,"M"+n+","+o+"L"+i+","+s+"H-"+i+"L-"+n+","+o+"L0,"+a+"Z")}},hexagon:{n:14,f:function(e,t,r){if(ds(t))return hs;var n=ca(e,2),i=ca(e/2,2),a=ca(e*c_/2,2);return vs(t,r,"M"+a+",-"+i+"V"+i+"L0,"+n+"L-"+a+","+i+"V-"+i+"L0,-"+n+"Z")}},hexagon2:{n:15,f:function(e,t,r){if(ds(t))return hs;var n=ca(e,2),i=ca(e/2,2),a=ca(e*c_/2,2);return vs(t,r,"M-"+i+","+a+"H"+i+"L"+n+",0L"+i+",-"+a+"H-"+i+"L-"+n+",0Z")}},octagon:{n:16,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*.924,2),i=ca(e*.383,2);return vs(t,r,"M-"+i+",-"+n+"H"+i+"L"+n+",-"+i+"V"+i+"L"+i+","+n+"H-"+i+"L-"+n+","+i+"V-"+i+"Z")}},star:{n:17,f:function(e,t,r){if(ds(t))return hs;var n=e*1.4,i=ca(n*.225,2),a=ca(n*.951,2),o=ca(n*.363,2),s=ca(n*.588,2),l=ca(-n,2),u=ca(n*-.309,2),c=ca(n*.118,2),f=ca(n*.809,2),h=ca(n*.382,2);return vs(t,r,"M"+i+","+u+"H"+a+"L"+o+","+c+"L"+s+","+f+"L0,"+h+"L-"+s+","+f+"L-"+o+","+c+"L-"+a+","+u+"H-"+i+"L0,"+l+"Z")}},hexagram:{n:18,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*.66,2),i=ca(e*.38,2),a=ca(e*.76,2);return vs(t,r,"M-"+a+",0l-"+i+",-"+n+"h"+a+"l"+i+",-"+n+"l"+i+","+n+"h"+a+"l-"+i+","+n+"l"+i+","+n+"h-"+a+"l-"+i+","+n+"l-"+i+",-"+n+"h-"+a+"Z")}},"star-triangle-up":{n:19,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*c_*.8,2),i=ca(e*.8,2),a=ca(e*1.6,2),o=ca(e*4,2),s="A "+o+","+o+" 0 0 1 ";return vs(t,r,"M-"+n+","+i+s+n+","+i+s+"0,-"+a+s+"-"+n+","+i+"Z")}},"star-triangle-down":{n:20,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*c_*.8,2),i=ca(e*.8,2),a=ca(e*1.6,2),o=ca(e*4,2),s="A "+o+","+o+" 0 0 1 ";return vs(t,r,"M"+n+",-"+i+s+"-"+n+",-"+i+s+"0,"+a+s+n+",-"+i+"Z")}},"star-square":{n:21,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*1.1,2),i=ca(e*2,2),a="A "+i+","+i+" 0 0 1 ";return vs(t,r,"M-"+n+",-"+n+a+"-"+n+","+n+a+n+","+n+a+n+",-"+n+a+"-"+n+",-"+n+"Z")}},"star-diamond":{n:22,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*1.4,2),i=ca(e*1.9,2),a="A "+i+","+i+" 0 0 1 ";return vs(t,r,"M-"+n+",0"+a+"0,"+n+a+n+",0"+a+"0,-"+n+a+"-"+n+",0Z")}},"diamond-tall":{n:23,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*.7,2),i=ca(e*1.4,2);return vs(t,r,"M0,"+i+"L"+n+",0L0,-"+i+"L-"+n+",0Z")}},"diamond-wide":{n:24,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*1.4,2),i=ca(e*.7,2);return vs(t,r,"M0,"+i+"L"+n+",0L0,-"+i+"L-"+n+",0Z")}},hourglass:{n:25,f:function(e,t,r){if(ds(t))return hs;var n=ca(e,2);return vs(t,r,"M"+n+","+n+"H-"+n+"L"+n+",-"+n+"H-"+n+"Z")},noDot:!0},bowtie:{n:26,f:function(e,t,r){if(ds(t))return hs;var n=ca(e,2);return vs(t,r,"M"+n+","+n+"V-"+n+"L-"+n+","+n+"V-"+n+"Z")},noDot:!0},"circle-cross":{n:27,f:function(e,t,r){if(ds(t))return hs;var n=ca(e,2);return vs(t,r,"M0,"+n+"V-"+n+"M"+n+",0H-"+n+"M"+n+",0A"+n+","+n+" 0 1,1 0,-"+n+"A"+n+","+n+" 0 0,1 "+n+",0Z")},needLine:!0,noDot:!0},"circle-x":{n:28,f:function(e,t,r){if(ds(t))return hs;var n=ca(e,2),i=ca(e/Aoe,2);return vs(t,r,"M"+i+","+i+"L-"+i+",-"+i+"M"+i+",-"+i+"L-"+i+","+i+"M"+n+",0A"+n+","+n+" 0 1,1 0,-"+n+"A"+n+","+n+" 0 0,1 "+n+",0Z")},needLine:!0,noDot:!0},"square-cross":{n:29,f:function(e,t,r){if(ds(t))return hs;var n=ca(e,2);return vs(t,r,"M0,"+n+"V-"+n+"M"+n+",0H-"+n+"M"+n+","+n+"H-"+n+"V-"+n+"H"+n+"Z")},needLine:!0,noDot:!0},"square-x":{n:30,f:function(e,t,r){if(ds(t))return hs;var n=ca(e,2);return vs(t,r,"M"+n+","+n+"L-"+n+",-"+n+"M"+n+",-"+n+"L-"+n+","+n+"M"+n+","+n+"H-"+n+"V-"+n+"H"+n+"Z")},needLine:!0,noDot:!0},"diamond-cross":{n:31,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*1.3,2);return vs(t,r,"M"+n+",0L0,"+n+"L-"+n+",0L0,-"+n+"ZM0,-"+n+"V"+n+"M-"+n+",0H"+n)},needLine:!0,noDot:!0},"diamond-x":{n:32,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*1.3,2),i=ca(e*.65,2);return vs(t,r,"M"+n+",0L0,"+n+"L-"+n+",0L0,-"+n+"ZM-"+i+",-"+i+"L"+i+","+i+"M-"+i+","+i+"L"+i+",-"+i)},needLine:!0,noDot:!0},"cross-thin":{n:33,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*1.4,2);return vs(t,r,"M0,"+n+"V-"+n+"M"+n+",0H-"+n)},needLine:!0,noDot:!0,noFill:!0},"x-thin":{n:34,f:function(e,t,r){if(ds(t))return hs;var n=ca(e,2);return vs(t,r,"M"+n+","+n+"L-"+n+",-"+n+"M"+n+",-"+n+"L-"+n+","+n)},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*1.2,2),i=ca(e*.85,2);return vs(t,r,"M0,"+n+"V-"+n+"M"+n+",0H-"+n+"M"+i+","+i+"L-"+i+",-"+i+"M"+i+",-"+i+"L-"+i+","+i)},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(e,t,r){if(ds(t))return hs;var n=ca(e/2,2),i=ca(e,2);return vs(t,r,"M"+n+","+i+"V-"+i+"M"+(n-i)+",-"+i+"V"+i+"M"+i+","+n+"H-"+i+"M-"+i+","+(n-i)+"H"+i)},needLine:!0,noFill:!0},"y-up":{n:37,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*1.2,2),i=ca(e*1.6,2),a=ca(e*.8,2);return vs(t,r,"M-"+n+","+a+"L0,0M"+n+","+a+"L0,0M0,-"+i+"L0,0")},needLine:!0,noDot:!0,noFill:!0},"y-down":{n:38,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*1.2,2),i=ca(e*1.6,2),a=ca(e*.8,2);return vs(t,r,"M-"+n+",-"+a+"L0,0M"+n+",-"+a+"L0,0M0,"+i+"L0,0")},needLine:!0,noDot:!0,noFill:!0},"y-left":{n:39,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*1.2,2),i=ca(e*1.6,2),a=ca(e*.8,2);return vs(t,r,"M"+a+","+n+"L0,0M"+a+",-"+n+"L0,0M-"+i+",0L0,0")},needLine:!0,noDot:!0,noFill:!0},"y-right":{n:40,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*1.2,2),i=ca(e*1.6,2),a=ca(e*.8,2);return vs(t,r,"M-"+a+","+n+"L0,0M-"+a+",-"+n+"L0,0M"+i+",0L0,0")},needLine:!0,noDot:!0,noFill:!0},"line-ew":{n:41,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*1.4,2);return vs(t,r,"M"+n+",0H-"+n)},needLine:!0,noDot:!0,noFill:!0},"line-ns":{n:42,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*1.4,2);return vs(t,r,"M0,"+n+"V-"+n)},needLine:!0,noDot:!0,noFill:!0},"line-ne":{n:43,f:function(e,t,r){if(ds(t))return hs;var n=ca(e,2);return vs(t,r,"M"+n+",-"+n+"L-"+n+","+n)},needLine:!0,noDot:!0,noFill:!0},"line-nw":{n:44,f:function(e,t,r){if(ds(t))return hs;var n=ca(e,2);return vs(t,r,"M"+n+","+n+"L-"+n+",-"+n)},needLine:!0,noDot:!0,noFill:!0},"arrow-up":{n:45,f:function(e,t,r){if(ds(t))return hs;var n=ca(e,2),i=ca(e*2,2);return vs(t,r,"M0,0L-"+n+","+i+"H"+n+"Z")},backoff:1,noDot:!0},"arrow-down":{n:46,f:function(e,t,r){if(ds(t))return hs;var n=ca(e,2),i=ca(e*2,2);return vs(t,r,"M0,0L-"+n+",-"+i+"H"+n+"Z")},noDot:!0},"arrow-left":{n:47,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*2,2),i=ca(e,2);return vs(t,r,"M0,0L"+n+",-"+i+"V"+i+"Z")},noDot:!0},"arrow-right":{n:48,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*2,2),i=ca(e,2);return vs(t,r,"M0,0L-"+n+",-"+i+"V"+i+"Z")},noDot:!0},"arrow-bar-up":{n:49,f:function(e,t,r){if(ds(t))return hs;var n=ca(e,2),i=ca(e*2,2);return vs(t,r,"M-"+n+",0H"+n+"M0,0L-"+n+","+i+"H"+n+"Z")},backoff:1,needLine:!0,noDot:!0},"arrow-bar-down":{n:50,f:function(e,t,r){if(ds(t))return hs;var n=ca(e,2),i=ca(e*2,2);return vs(t,r,"M-"+n+",0H"+n+"M0,0L-"+n+",-"+i+"H"+n+"Z")},needLine:!0,noDot:!0},"arrow-bar-left":{n:51,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*2,2),i=ca(e,2);return vs(t,r,"M0,-"+i+"V"+i+"M0,0L"+n+",-"+i+"V"+i+"Z")},needLine:!0,noDot:!0},"arrow-bar-right":{n:52,f:function(e,t,r){if(ds(t))return hs;var n=ca(e*2,2),i=ca(e,2);return vs(t,r,"M0,-"+i+"V"+i+"M0,0L-"+n+",-"+i+"V"+i+"Z")},needLine:!0,noDot:!0},arrow:{n:53,f:function(e,t,r){if(ds(t))return hs;var n=VO/2.5,i=2*e*GO(n),a=2*e*HO(n);return vs(t,r,"M0,0L"+-i+","+a+"L"+i+","+a+"Z")},backoff:.9,noDot:!0},"arrow-wide":{n:54,f:function(e,t,r){if(ds(t))return hs;var n=VO/4,i=2*e*GO(n),a=2*e*HO(n);return vs(t,r,"M0,0L"+-i+","+a+"A "+2*e+","+2*e+" 0 0 1 "+i+","+a+"Z")},backoff:.4,noDot:!0}};function ds(e){return e===null}var Soe,Moe,Eoe,koe;function vs(e,t,r){if((!e||e%360===0)&&!t)return r;if(Eoe===e&&koe===t&&Soe===r)return Moe;Eoe=e,koe=t,Soe=r;function n(b,p){var k=GO(b),M=HO(b),T=p[0],L=p[1]+(t||0);return[T*k-L*M,T*M+L*k]}for(var i=e/180*VO,a=0,o=0,s=Yot(r),l="",u=0;u{"use strict";var dd=qa(),Du=Pr(),Kot=Du.numberFormat,Fb=Eo(),KO=fd(),gL=Oa(),Jd=ka(),Jot=tc(),sM=Du.strTranslate,mL=Zl(),$ot=Wp(),Qot=Dh(),est=Qot.LINE_SPACING,Noe=X1().DESELECTDIM,tst=Ru(),rst=B3(),ist=ip().appendArrayPointValue,Ta=Koe.exports={};Ta.font=function(e,t){var r=t.variant,n=t.style,i=t.weight,a=t.color,o=t.size,s=t.family,l=t.shadow,u=t.lineposition,c=t.textcase;s&&e.style("font-family",s),o+1&&e.style("font-size",o+"px"),a&&e.call(Jd.fill,a),i&&e.style("font-weight",i),n&&e.style("font-style",n),r&&e.style("font-variant",r),c&&e.style("text-transform",jO(ast(c))),l&&e.style("text-shadow",l==="auto"?mL.makeTextShadow(Jd.contrast(a)):jO(l)),u&&e.style("text-decoration-line",jO(ost(u)))};function jO(e){return e==="none"?void 0:e}var nst={normal:"none",lower:"lowercase",upper:"uppercase","word caps":"capitalize"};function ast(e){return nst[e]}function ost(e){return e.replace("under","underline").replace("over","overline").replace("through","line-through").split("+").join(" ")}Ta.setPosition=function(e,t,r){e.attr("x",t).attr("y",r)};Ta.setSize=function(e,t,r){e.attr("width",t).attr("height",r)};Ta.setRect=function(e,t,r,n,i){e.call(Ta.setPosition,t,r).call(Ta.setSize,n,i)};Ta.translatePoint=function(e,t,r,n){var i=r.c2p(e.x),a=n.c2p(e.y);if(Fb(i)&&Fb(a)&&t.node())t.node().nodeName==="text"?t.attr("x",i).attr("y",a):t.attr("transform",sM(i,a));else return!1;return!0};Ta.translatePoints=function(e,t,r){e.each(function(n){var i=dd.select(this);Ta.translatePoint(n,i,t,r)})};Ta.hideOutsideRangePoint=function(e,t,r,n,i,a){t.attr("display",r.isPtWithinRange(e,i)&&n.isPtWithinRange(e,a)?null:"none")};Ta.hideOutsideRangePoints=function(e,t){if(t._hasClipOnAxisFalse){var r=t.xaxis,n=t.yaxis;e.each(function(i){var a=i[0].trace,o=a.xcalendar,s=a.ycalendar,l=gL.traceIs(a,"bar-like")?".bartext":".point,.textpoint";e.selectAll(l).each(function(u){Ta.hideOutsideRangePoint(u,dd.select(this),r,n,o,s)})})}};Ta.crispRound=function(e,t,r){return!t||!Fb(t)?r||0:e._context.staticPlot?t:t<1?1:Math.round(t)};Ta.singleLineStyle=function(e,t,r,n,i){t.style("fill","none");var a=(((e||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||"";Jd.stroke(t,n||a.color),Ta.dashLine(t,s,o)};Ta.lineGroupStyle=function(e,t,r,n){e.style("fill","none").each(function(i){var a=(((i||[])[0]||{}).trace||{}).line||{},o=t||a.width||0,s=n||a.dash||"";dd.select(this).call(Jd.stroke,r||a.color).call(Ta.dashLine,s,o)})};Ta.dashLine=function(e,t,r){r=+r||0,t=Ta.dashStyle(t,r),e.style({"stroke-dasharray":t,"stroke-width":r+"px"})};Ta.dashStyle=function(e,t){t=+t||1;var r=Math.max(t,3);return e==="solid"?e="":e==="dot"?e=r+"px,"+r+"px":e==="dash"?e=3*r+"px,"+3*r+"px":e==="longdash"?e=5*r+"px,"+5*r+"px":e==="dashdot"?e=3*r+"px,"+r+"px,"+r+"px,"+r+"px":e==="longdashdot"&&(e=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),e};function Uoe(e,t,r,n){var i=t.fillpattern,a=t.fillgradient,o=Ta.getPatternAttr,s=i&&(o(i.shape,0,"")||o(i.path,0,""));if(s){var l=o(i.bgcolor,0,null),u=o(i.fgcolor,0,null),c=i.fgopacity,f=o(i.size,0,8),h=o(i.solidity,0,.3),d=t.uid;Ta.pattern(e,"point",r,d,s,f,h,void 0,i.fillmode,l,u,c)}else if(a&&a.type!=="none"){var v=a.type,m="scatterfill-"+t.uid;if(n&&(m="legendfill-"+t.uid),!n&&(a.start!==void 0||a.stop!==void 0)){var b,p;v==="horizontal"?(b={x:a.start,y:0},p={x:a.stop,y:0}):v==="vertical"&&(b={x:0,y:a.start},p={x:0,y:a.stop}),b.x=t._xA.c2p(b.x===void 0?t._extremes.x.min[0].val:b.x,!0),b.y=t._yA.c2p(b.y===void 0?t._extremes.y.min[0].val:b.y,!0),p.x=t._xA.c2p(p.x===void 0?t._extremes.x.max[0].val:p.x,!0),p.y=t._yA.c2p(p.y===void 0?t._extremes.y.max[0].val:p.y,!0),e.call(Hoe,r,m,"linear",a.colorscale,"fill",b,p,!0,!1)}else v==="horizontal"&&(v=v+"reversed"),e.call(Ta.gradient,r,m,v,a.colorscale,"fill")}else t.fillcolor&&e.call(Jd.fill,t.fillcolor)}Ta.singleFillStyle=function(e,t){var r=dd.select(e.node()),n=r.data(),i=((n[0]||[])[0]||{}).trace||{};Uoe(e,i,t,!1)};Ta.fillGroupStyle=function(e,t,r){e.style("stroke-width",0).each(function(n){var i=dd.select(this);n[0].trace&&Uoe(i,n[0].trace,t,r)})};var Poe=Loe();Ta.symbolNames=[];Ta.symbolFuncs=[];Ta.symbolBackOffs=[];Ta.symbolNeedLines={};Ta.symbolNoDot={};Ta.symbolNoFill={};Ta.symbolList=[];Object.keys(Poe).forEach(function(e){var t=Poe[e],r=t.n;Ta.symbolList.push(r,String(r),e,r+100,String(r+100),e+"-open"),Ta.symbolNames[r]=e,Ta.symbolFuncs[r]=t.f,Ta.symbolBackOffs[r]=t.backoff||0,t.needLine&&(Ta.symbolNeedLines[r]=!0),t.noDot?Ta.symbolNoDot[r]=!0:Ta.symbolList.push(r+200,String(r+200),e+"-dot",r+300,String(r+300),e+"-open-dot"),t.noFill&&(Ta.symbolNoFill[r]=!0)});var sst=Ta.symbolNames.length,lst="M0,0.5L0.5,0L0,-0.5L-0.5,0Z";Ta.symbolNumber=function(e){if(Fb(e))e=+e;else if(typeof e=="string"){var t=0;e.indexOf("-open")>0&&(t=100,e=e.replace("-open","")),e.indexOf("-dot")>0&&(t+=200,e=e.replace("-dot","")),e=Ta.symbolNames.indexOf(e),e>=0&&(e+=t)}return e%100>=sst||e>=400?0:Math.floor(Math.max(e,0))};function Voe(e,t,r,n){var i=e%100;return Ta.symbolFuncs[i](t,r,n)+(e>=200?lst:"")}var Ioe=Kot("~f"),Goe={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}};Ta.gradient=function(e,t,r,n,i,a){var o=Goe[n];return Hoe(e,t,r,o.type,i,a,o.start,o.stop,!1,o.reversed)};function Hoe(e,t,r,n,i,a,o,s,l,u){var c=i.length,f;n==="linear"?f={node:"linearGradient",attrs:{x1:o.x,y1:o.y,x2:s.x,y2:s.y,gradientUnits:l?"userSpaceOnUse":"objectBoundingBox"},reversed:u}:n==="radial"&&(f={node:"radialGradient",reversed:u});for(var h=new Array(c),d=0;d=0&&e.i===void 0&&(e.i=a.i),t.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(e):e.mo===void 0?o.opacity:e.mo),n.ms2mrc){var l;e.ms==="various"||o.size==="various"?l=3:l=n.ms2mrc(e.ms),e.mrc=l,n.selectedSizeFn&&(l=e.mrc=n.selectedSizeFn(e));var u=Ta.symbolNumber(e.mx||o.symbol)||0;e.om=u%200>=100;var c=QO(e,r),f=$O(e,r);t.attr("d",Voe(u,l,c,f))}var h=!1,d,v,m;if(e.so)m=s.outlierwidth,v=s.outliercolor,d=o.outliercolor;else{var b=(s||{}).width;m=(e.mlw+1||b+1||(e.trace?(e.trace.marker.line||{}).width:0)+1)-1||0,"mlc"in e?v=e.mlcc=n.lineScale(e.mlc):Du.isArrayOrTypedArray(s.color)?v=Jd.defaultLine:v=s.color,Du.isArrayOrTypedArray(o.color)&&(d=Jd.defaultLine,h=!0),"mc"in e?d=e.mcc=n.markerScale(e.mc):d=o.color||o.colors||"rgba(0,0,0,0)",n.selectedColorFn&&(d=n.selectedColorFn(e))}let p=e.mld||(s||{}).dash;if(p&&Ta.dashLine(t,p,m),e.om)t.call(Jd.stroke,d).style({"stroke-width":(m||1)+"px",fill:"none"});else{t.style("stroke-width",(e.isBlank?0:m)+"px");var k=o.gradient,M=e.mgt;M?h=!0:M=k&&k.type,Du.isArrayOrTypedArray(M)&&(M=M[0],Goe[M]||(M=0));var T=o.pattern,L=Ta.getPatternAttr,x=T&&(L(T.shape,e.i,"")||L(T.path,e.i,""));if(M&&M!=="none"){var C=e.mgc;C?h=!0:C=k.color;var S=r.uid;h&&(S+="-"+e.i),Ta.gradient(t,i,S,M,[[0,C],[1,d]],"fill")}else if(x){var g=!1,P=T.fgcolor;!P&&a&&a.color&&(P=a.color,g=!0);var E=L(P,e.i,a&&a.color||null),z=L(T.bgcolor,e.i,null),q=T.fgopacity,V=L(T.size,e.i,8),G=L(T.solidity,e.i,.3);g=g||e.mcc||Du.isArrayOrTypedArray(T.shape)||Du.isArrayOrTypedArray(T.path)||Du.isArrayOrTypedArray(T.bgcolor)||Du.isArrayOrTypedArray(T.fgcolor)||Du.isArrayOrTypedArray(T.size)||Du.isArrayOrTypedArray(T.solidity);var Z=r.uid;g&&(Z+="-"+e.i),Ta.pattern(t,"point",i,Z,x,V,G,e.mcc,T.fillmode,z,E,q)}else Du.isArrayOrTypedArray(d)?Jd.fill(t,d[e.i]):Jd.fill(t,d);m&&Jd.stroke(t,v)}};Ta.makePointStyleFns=function(e){var t={},r=e.marker;return t.markerScale=Ta.tryColorscale(r,""),t.lineScale=Ta.tryColorscale(r,"line"),gL.traceIs(e,"symbols")&&(t.ms2mrc=tst.isBubble(e)?rst(e):function(){return(r.size||6)/2}),e.selectedpoints&&Du.extendFlat(t,Ta.makeSelectedPointStyleFns(e)),t};Ta.makeSelectedPointStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},i=e.marker||{},a=r.marker||{},o=n.marker||{},s=i.opacity,l=a.opacity,u=o.opacity,c=l!==void 0,f=u!==void 0;(Du.isArrayOrTypedArray(s)||c||f)&&(t.selectedOpacityFn=function(T){var L=T.mo===void 0?i.opacity:T.mo;return T.selected?c?l:L:f?u:Noe*L});var h=i.color,d=a.color,v=o.color;(d||v)&&(t.selectedColorFn=function(T){var L=T.mcc||h;return T.selected?d||L:v||L});var m=i.size,b=a.size,p=o.size,k=b!==void 0,M=p!==void 0;return gL.traceIs(e,"symbols")&&(k||M)&&(t.selectedSizeFn=function(T){var L=T.mrc||m/2;return T.selected?k?b/2:L:M?p/2:L}),t};Ta.makeSelectedTextStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},i=e.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,u=o.color;return t.selectedTextColorFn=function(c){var f=c.tc||s;return c.selected?l||f:u||(l?f:Jd.addOpacity(f,Noe))},t};Ta.selectedPointStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=Ta.makeSelectedPointStyleFns(t),n=t.marker||{},i=[];r.selectedOpacityFn&&i.push(function(a,o){a.style("opacity",r.selectedOpacityFn(o))}),r.selectedColorFn&&i.push(function(a,o){Jd.fill(a,r.selectedColorFn(o))}),r.selectedSizeFn&&i.push(function(a,o){var s=o.mx||n.symbol||0,l=r.selectedSizeFn(o);a.attr("d",Voe(Ta.symbolNumber(s),l,QO(o,t),$O(o,t))),o.mrc2=l}),i.length&&e.each(function(a){for(var o=dd.select(this),s=0;s0?r:0}Ta.textPointStyle=function(e,t,r){if(e.size()){var n;if(t.selectedpoints){var i=Ta.makeSelectedTextStyleFns(t);n=i.selectedTextColorFn}var a=t.texttemplate,o=r._fullLayout;e.each(function(s){var l=dd.select(this),u=a?Du.extractOption(s,t,"txt","texttemplate"):Du.extractOption(s,t,"tx","text");if(!u&&u!==0){l.remove();return}if(a){var c=t._module.formatLabels,f=c?c(s,t,o):{},h={};ist(h,t,s.i),u=Du.texttemplateString({data:[h,s,t._meta],fallback:t.texttemplatefallback,labels:f,locale:o._d3locale,template:u})}var d=s.tp||t.textposition,v=Woe(s,t),m=n?n(s):s.tc||t.textfont.color;l.call(Ta.font,{family:s.tf||t.textfont.family,weight:s.tw||t.textfont.weight,style:s.ty||t.textfont.style,variant:s.tv||t.textfont.variant,textcase:s.tC||t.textfont.textcase,lineposition:s.tE||t.textfont.lineposition,shadow:s.tS||t.textfont.shadow,size:v,color:m}).text(u).call(mL.convertToTspans,r).call(joe,d,v,s.mrc)})}};Ta.selectedTextStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=Ta.makeSelectedTextStyleFns(t);e.each(function(n){var i=dd.select(this),a=r.selectedTextColorFn(n),o=n.tp||t.textposition,s=Woe(n,t);Jd.fill(i,a);var l=gL.traceIs(t,"bar-like");joe(i,o,s,n.mrc2||n.mrc,l)})}};var Roe=.5;Ta.smoothopen=function(e,t){if(e.length<3)return"M"+e.join("L");var r="M"+e[0],n=[],i;for(i=1;i=l||T>=c&&T<=l)&&(L<=f&&L>=u||L>=f&&L<=u)&&(e=[T,L])}return e}Ta.applyBackoff=Yoe;Ta.makeTester=function(){var e=Du.ensureSingleById(dd.select("body"),"svg","js-plotly-tester",function(r){r.attr($ot.svgAttrs).style({position:"absolute",left:"-10000px",top:"-10000px",width:"9000px",height:"9000px","z-index":"1"})}),t=Du.ensureSingle(e,"path","js-reference-point",function(r){r.attr("d","M0,0H1V1H0Z").style({"stroke-width":0,fill:"black"})});Ta.tester=e,Ta.testref=t};Ta.savedBBoxes={};var XO=0,fst=1e4;Ta.bBox=function(e,t,r){r||(r=Doe(e));var n;if(r){if(n=Ta.savedBBoxes[r],n)return Du.extendFlat({},n)}else if(e.childNodes.length===1){var i=e.childNodes[0];if(r=Doe(i),r){var a=+i.getAttribute("x")||0,o=+i.getAttribute("y")||0,s=i.getAttribute("transform");if(!s){var l=Ta.bBox(i,!1,r);return a&&(l.left+=a,l.right+=a),o&&(l.top+=o,l.bottom+=o),l}if(r+="~"+a+"~"+o+"~"+s,n=Ta.savedBBoxes[r],n)return Du.extendFlat({},n)}}var u,c;t?u=e:(c=Ta.tester.node(),u=e.cloneNode(!0),c.appendChild(u)),dd.select(u).attr("transform",null).call(mL.positionText,0,0);var f=u.getBoundingClientRect(),h=Ta.testref.node().getBoundingClientRect();t||c.removeChild(u);var d={height:f.height,width:f.width,left:f.left-h.left,top:f.top-h.top,right:f.right-h.left,bottom:f.bottom-h.top};return XO>=fst&&(Ta.savedBBoxes={},XO=0),r&&(Ta.savedBBoxes[r]=d),XO++,Du.extendFlat({},d)};function Doe(e){var t=e.getAttribute("data-unformatted");if(t!==null)return t+e.getAttribute("data-math")+e.getAttribute("text-anchor")+e.getAttribute("style")}Ta.setClipUrl=function(e,t,r){e.attr("clip-path",JO(t,r))};function JO(e,t){if(!e)return null;var r=t._context,n=r._exportedPlot?"":r._baseUrl||"";return n?"url('"+n+"#"+e+"')":"url(#"+e+")"}Ta.getTranslate=function(e){var t=/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,r=e.attr?"attr":"getAttribute",n=e[r]("transform")||"",i=n.replace(t,function(a,o,s){return[o,s].join(" ")}).split(" ");return{x:+i[0]||0,y:+i[1]||0}};Ta.setTranslate=function(e,t,r){var n=/(\btranslate\(.*?\);?)/,i=e.attr?"attr":"getAttribute",a=e.attr?"attr":"setAttribute",o=e[i]("transform")||"";return t=t||0,r=r||0,o=o.replace(n,"").trim(),o+=sM(t,r),o=o.trim(),e[a]("transform",o),o};Ta.getScale=function(e){var t=/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,r=e.attr?"attr":"getAttribute",n=e[r]("transform")||"",i=n.replace(t,function(a,o,s){return[o,s].join(" ")}).split(" ");return{x:+i[0]||1,y:+i[1]||1}};Ta.setScale=function(e,t,r){var n=/(\bscale\(.*?\);?)/,i=e.attr?"attr":"getAttribute",a=e.attr?"attr":"setAttribute",o=e[i]("transform")||"";return t=t||1,r=r||1,o=o.replace(n,"").trim(),o+="scale("+t+","+r+")",o=o.trim(),e[a]("transform",o),o};var hst=/\s*sc.*/;Ta.setPointGroupScale=function(e,t,r){if(t=t||1,r=r||1,!!e){var n=t===1&&r===1?"":"scale("+t+","+r+")";e.each(function(){var i=(this.getAttribute("transform")||"").replace(hst,"");i+=n,i=i.trim(),this.setAttribute("transform",i)})}};var dst=/translate\([^)]*\)\s*$/;Ta.setTextPointsScale=function(e,t,r){e&&e.each(function(){var n,i=dd.select(this),a=i.select("text");if(a.node()){var o=parseFloat(a.attr("x")||0),s=parseFloat(a.attr("y")||0),l=(i.attr("transform")||"").match(dst);t===1&&r===1?n=[]:n=[sM(o,s),"scale("+t+","+r+")",sM(-o,-s)],l&&n.push(l),i.attr("transform",n.join(""))}})};function $O(e,t){var r;return e&&(r=e.mf),r===void 0&&(r=t.marker&&t.marker.standoff||0),!t._geo&&!t._xA?-r:r}Ta.getMarkerStandoff=$O;var oM=Math.atan2,Ib=Math.cos,U3=Math.sin;function Foe(e,t){var r=t[0],n=t[1];return[r*Ib(e)-n*U3(e),r*U3(e)+n*Ib(e)]}var zoe,qoe,Ooe,Boe,ZO,YO;function QO(e,t){var r=e.ma;r===void 0&&(r=t.marker.angle,(!r||Du.isArrayOrTypedArray(r))&&(r=0));var n,i,a=t.marker.angleref;if(a==="previous"||a==="north"){if(t._geo){var o=t._geo.project(e.lonlat);n=o[0],i=o[1]}else{var s=t._xA,l=t._yA;if(s&&l)n=s.c2p(e.x),i=l.c2p(e.y);else return 90}if(t._geo){var u=e.lonlat[0],c=e.lonlat[1],f=t._geo.project([u,c+1e-5]),h=t._geo.project([u+1e-5,c]),d=oM(h[1]-i,h[0]-n),v=oM(f[1]-i,f[0]-n),m;if(a==="north")m=r/180*Math.PI;else if(a==="previous"){var b=u/180*Math.PI,p=c/180*Math.PI,k=zoe/180*Math.PI,M=qoe/180*Math.PI,T=k-b,L=Ib(M)*U3(T),x=U3(M)*Ib(p)-Ib(M)*U3(p)*Ib(T);m=-oM(L,x)-Math.PI,zoe=u,qoe=c}var C=Foe(d,[Ib(m),0]),S=Foe(v,[U3(m),0]);r=oM(C[1]+S[1],C[0]+S[0])/Math.PI*180,a==="previous"&&!(YO===t.uid&&e.i===ZO+1)&&(r=null)}if(a==="previous"&&!t._geo)if(YO===t.uid&&e.i===ZO+1&&Fb(n)&&Fb(i)){var g=n-Ooe,P=i-Boe,E=t.line&&t.line.shape||"",z=E.slice(E.length-1);z==="h"&&(P=0),z==="v"&&(g=0),r+=oM(P,g)/Math.PI*180+90}else r=null}return Ooe=n,Boe=i,ZO=e.i,YO=t.uid,r}Ta.getMarkerAngle=QO});var qb=ye((lar,ese)=>{"use strict";var V3=qa(),vst=Eo(),pst=Mc(),eB=Oa(),zb=Pr(),Joe=zb.strTranslate,yL=So(),_L=ka(),G3=Zl(),$oe=X1(),gst=Dh().OPPOSITE_SIDE,Qoe=/ [XY][0-9]* /,tB=1.6,rB=1.6;function mst(e,t,r){var n=e._fullLayout,i=r.propContainer,a=r.propName,o=r.placeholder,s=r.traceIndex,l=r.avoid||{},u=r.attributes,c=r.transform,f=r.containerGroup,h=1,d=i.title,v=(d&&d.text?d.text:"").trim(),m=!1,b=d&&d.font?d.font:{},p=b.family,k=b.size,M=b.color,T=b.weight,L=b.style,x=b.variant,C=b.textcase,S=b.lineposition,g=b.shadow,P=r.subtitlePropName,E=!!P,z=r.subtitlePlaceholder,q=(i.title||{}).subtitle||{text:"",font:{}},V=(q.text||"").trim(),G=!1,Z=1,j=q.font,N=j.family,H=j.size,ie=j.color,ae=j.weight,_e=j.style,Ee=j.variant,Ce=j.textcase,ge=j.lineposition,re=j.shadow,Se;a==="title.text"?Se="titleText":a.indexOf("axis")!==-1?Se="axisTitleText":a.indexOf("colorbar")!==-1&&(Se="colorbarTitleText");var ke=e._context.edits[Se];function be(Vt,rr){return Vt===void 0||rr===void 0?!1:Vt.replace(Qoe," % ")===rr.replace(Qoe," % ")}v===""?h=0:be(v,o)&&(ke||(v=""),h=.2,m=!0),E&&(V===""?Z=0:be(V,z)&&(ke||(V=""),Z=.2,G=!0)),r._meta?v=zb.templateString(v,r._meta):n._meta&&(v=zb.templateString(v,n._meta));var Be=v||V||ke,Le;f||(f=zb.ensureSingle(n._infolayer,"g","g-"+t),Le=n._hColorbarMoveTitle);var me=f.selectAll("text."+t).data(Be?[0]:[]);me.enter().append("text"),me.text(v).attr("class",t),me.exit().remove();var Pe=null,ce=t+"-subtitle",He=V||ke;if(E&&(Pe=f.selectAll("text."+ce).data(He?[0]:[]),Pe.enter().append("text"),Pe.text(V).attr("class",ce),Pe.exit().remove()),!Be)return f;function lt(Vt,rr){zb.syncOrAsync([mt,Ht],{title:Vt,subtitle:rr})}function mt(Vt){var rr=Vt.title,tt=Vt.subtitle,je;!c&&Le&&(c={}),c?(je="",c.rotate&&(je+="rotate("+[c.rotate,u.x,u.y]+")"),(c.offset||Le)&&(je+=Joe(0,(c.offset||0)-(Le||0)))):je=null,rr.attr("transform",je);function Ue(Et){if(Et){var pt=V3.select(Et.node().parentNode).select("."+ce);if(!pt.empty()){var jt=Et.node().getBBox();if(jt.height){var or=jt.y+jt.height+tB*H;pt.attr("y",or)}}}}if(rr.style("opacity",h*_L.opacity(M)).call(yL.font,{color:_L.rgb(M),size:V3.round(k,2),family:p,weight:T,style:L,variant:x,textcase:C,shadow:g,lineposition:S}).attr(u).call(G3.convertToTspans,e,Ue),tt&&!tt.empty()){var Ae=f.select("."+t+"-math-group"),rt=rr.node().getBBox(),St=Ae.node()?Ae.node().getBBox():void 0,Tt=St?St.y+St.height+tB*H:rt.y+rt.height+rB*H,dt=zb.extendFlat({},u,{y:Tt});tt.attr("transform",je),tt.style("opacity",Z*_L.opacity(ie)).call(yL.font,{color:_L.rgb(ie),size:V3.round(H,2),family:N,weight:ae,style:_e,variant:Ee,textcase:Ce,shadow:re,lineposition:ge}).attr(dt).call(G3.convertToTspans,e)}return pst.previousPromises(e)}function Ht(Vt){var rr=Vt.title,tt=V3.select(rr.node().parentNode);if(l&&l.selection&&l.side&&v){tt.attr("transform",null);var je=gst[l.side],Ue=l.side==="left"||l.side==="top"?-1:1,Ae=vst(l.pad)?l.pad:2,rt=yL.bBox(tt.node()),St={t:0,b:0,l:0,r:0},Tt=e._fullLayout._reservedMargin;for(var dt in Tt)for(var Et in Tt[dt]){var pt=Tt[dt][Et];St[Et]=Math.max(St[Et],pt)}var jt={left:St.l,top:St.t,right:n.width-St.r,bottom:n.height-St.b},or=l.maxShift||Ue*(jt[l.side]-rt[l.side]),mr=0;if(or<0)mr=or;else{var Ar=l.offsetLeft||0,ei=l.offsetTop||0;rt.left-=Ar,rt.right-=Ar,rt.top-=ei,rt.bottom-=ei,l.selection.each(function(){var jr=yL.bBox(this);zb.bBoxIntersect(rt,jr,Ae)&&(mr=Math.max(mr,Ue*(jr[l.side]-rt[je])+Ae))}),mr=Math.min(or,mr),i._titleScoot=Math.abs(mr)}if(mr>0||or<0){var qr={left:[-mr,0],right:[mr,0],top:[0,-mr],bottom:[0,mr]}[l.side];tt.attr("transform",Joe(qr[0],qr[1]))}}}me.call(lt,Pe);function at(Vt,rr){Vt.text(rr).on("mouseover.opacity",function(){V3.select(this).transition().duration($oe.SHOW_PLACEHOLDER).style("opacity",1)}).on("mouseout.opacity",function(){V3.select(this).transition().duration($oe.HIDE_PLACEHOLDER).style("opacity",0)})}if(ke&&(v?me.on(".opacity",null):(at(me,o),m=!0),me.call(G3.makeEditable,{gd:e}).on("edit",function(Vt){s!==void 0?eB.call("_guiRestyle",e,a,Vt,s):eB.call("_guiRelayout",e,a,Vt)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(lt)}).on("input",function(Vt){this.text(Vt||" ").call(G3.positionText,u.x,u.y)}),E)){if(E&&!v){var ct=me.node().getBBox(),ar=ct.y+ct.height+rB*H;Pe.attr("y",ar)}V?Pe.on(".opacity",null):(at(Pe,z),G=!0),Pe.call(G3.makeEditable,{gd:e}).on("edit",function(Vt){eB.call("_guiRelayout",e,"title.subtitle.text",Vt)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(lt)}).on("input",function(Vt){this.text(Vt||" ").call(G3.positionText,Pe.attr("x"),Pe.attr("y"))})}return me.classed("js-placeholder",m),Pe&&!Pe.empty()&&Pe.classed("js-placeholder",G),f}ese.exports={draw:mst,SUBTITLE_PADDING_EM:rB,SUBTITLE_PADDING_MATHJAX_EM:tB}});var xm=ye((uar,ase)=>{"use strict";var yst=qa(),_st=d3().utcFormat,yc=Pr(),xst=yc.numberFormat,ym=Eo(),f_=yc.cleanNumber,bst=yc.ms2DateTime,tse=yc.dateTime2ms,_m=yc.ensureNumber,rse=yc.isArrayOrTypedArray,h_=fs(),xL=h_.FP_SAFE,Sg=h_.BADNUM,wst=h_.LOG_CLIP,Tst=h_.ONEWEEK,bL=h_.ONEDAY,wL=h_.ONEHOUR,ise=h_.ONEMIN,nse=h_.ONESEC,TL=df(),ML=Rh(),AL=ML.HOUR_PATTERN,SL=ML.WEEKDAY_PATTERN;function lM(e){return Math.pow(10,e)}function iB(e){return e!=null}ase.exports=function(t,r){r=r||{};var n=t._id||"x",i=n.charAt(0);function a(T,L){if(T>0)return Math.log(T)/Math.LN10;if(T<=0&&L&&t.range&&t.range.length===2){var x=t.range[0],C=t.range[1];return .5*(x+C-2*wst*Math.abs(x-C))}else return Sg}function o(T,L,x,C){if((C||{}).msUTC&&ym(T))return+T;var S=tse(T,x||t.calendar);if(S===Sg)if(ym(T)){T=+T;var g=Math.floor(yc.mod(T+.05,1)*10),P=Math.round(T-g/10);S=tse(new Date(P))+g/10}else return Sg;return S}function s(T,L,x){return bst(T,L,x||t.calendar)}function l(T){return t._categories[Math.round(T)]}function u(T){if(iB(T)){if(t._categoriesMap===void 0&&(t._categoriesMap={}),t._categoriesMap[T]!==void 0)return t._categoriesMap[T];t._categories.push(typeof T=="number"?String(T):T);var L=t._categories.length-1;return t._categoriesMap[T]=L,L}return Sg}function c(T,L){for(var x=new Array(L),C=0;Ct.range[1]&&(x=!x);for(var C=x?-1:1,S=C*T,g=0,P=0;Pz)g=P+1;else{g=S<(E+z)/2?P:P+1;break}}var q=t._B[g]||0;return isFinite(q)?v(T,t._m2,q):0},p=function(T){var L=t._rangebreaks.length;if(!L)return m(T,t._m,t._b);for(var x=0,C=0;Ct._rangebreaks[C].pmax&&(x=C+1);return m(T,t._m2,t._B[x])}}t.c2l=t.type==="log"?a:_m,t.l2c=t.type==="log"?lM:_m,t.l2p=b,t.p2l=p,t.c2p=t.type==="log"?function(T,L){return b(a(T,L))}:b,t.p2c=t.type==="log"?function(T){return lM(p(T))}:p,["linear","-"].indexOf(t.type)!==-1?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=f_,t.c2d=t.c2r=t.l2d=t.l2r=_m,t.d2p=t.r2p=function(T){return t.l2p(f_(T))},t.p2d=t.p2r=p,t.cleanPos=_m):t.type==="log"?(t.d2r=t.d2l=function(T,L){return a(f_(T),L)},t.r2d=t.r2c=function(T){return lM(f_(T))},t.d2c=t.r2l=f_,t.c2d=t.l2r=_m,t.c2r=a,t.l2d=lM,t.d2p=function(T,L){return t.l2p(t.d2r(T,L))},t.p2d=function(T){return lM(p(T))},t.r2p=function(T){return t.l2p(f_(T))},t.p2r=p,t.cleanPos=_m):t.type==="date"?(t.d2r=t.r2d=yc.identity,t.d2c=t.r2c=t.d2l=t.r2l=o,t.c2d=t.c2r=t.l2d=t.l2r=s,t.d2p=t.r2p=function(T,L,x){return t.l2p(o(T,0,x))},t.p2d=t.p2r=function(T,L,x){return s(p(T),L,x)},t.cleanPos=function(T){return yc.cleanDate(T,Sg,t.calendar)}):t.type==="category"?(t.d2c=t.d2l=u,t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(T){var L=d(T);return L!==void 0?L:t.fraction2r(.5)},t.l2r=t.c2r=_m,t.r2l=d,t.d2p=function(T){return t.l2p(t.r2c(T))},t.p2d=function(T){return l(p(T))},t.r2p=t.d2p,t.p2r=p,t.cleanPos=function(T){return typeof T=="string"&&T!==""?T:_m(T)}):t.type==="multicategory"&&(t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(T){var L=h(T);return L!==void 0?L:t.fraction2r(.5)},t.r2c_just_indices=f,t.l2r=t.c2r=_m,t.r2l=h,t.d2p=function(T){return t.l2p(t.r2c(T))},t.p2d=function(T){return l(p(T))},t.r2p=t.d2p,t.p2r=p,t.cleanPos=function(T){return Array.isArray(T)||typeof T=="string"&&T!==""?T:_m(T)},t.setupMultiCategory=function(T){var L=t._traceIndices,x,C,S=t._matchGroup;if(S&&t._categories.length===0){for(var g in S)if(g!==n){var P=r[TL.id2name(g)];L=L.concat(P._traceIndices)}}var E=[[0,{}],[0,{}]],z=[];for(x=0;xP[1]&&(C[g?0:1]=x,S[1]=P[1]),S[0]>=S[1])if(L!==void 0){var E=P[0]+1;x!==void 0&&(E=Math.min(E,P[1])),C[g?0:1]=t.l2r(E)}else x!==void 0&&(C[g?1:0]=t.l2r(P[1]-1))}},t.cleanRange=function(T,L){t._cleanRange(T,L),t.limitRange(T)},t._cleanRange=function(T,L){L||(L={}),T||(T="range");var x=yc.nestedProperty(t,T).get(),C,S;if(t.type==="date"?S=yc.dfltRange(t.calendar):i==="y"?S=ML.DFLTRANGEY:t._name==="realaxis"?S=[0,1]:S=L.dfltRange||ML.DFLTRANGEX,S=S.slice(),(t.rangemode==="tozero"||t.rangemode==="nonnegative")&&(S[0]=0),!x||x.length!==2){yc.nestedProperty(t,T).set(S);return}var g=x[0]===null,P=x[1]===null;for(t.type==="date"&&!t.autorange&&(x[0]=yc.cleanDate(x[0],Sg,t.calendar),x[1]=yc.cleanDate(x[1],Sg,t.calendar)),C=0;C<2;C++)if(t.type==="date"){if(!yc.isDateTime(x[C],t.calendar)){t[T]=S;break}if(t.r2l(x[0])===t.r2l(x[1])){var E=yc.constrain(t.r2l(x[0]),yc.MIN_MS+1e3,yc.MAX_MS-1e3);x[0]=t.l2r(E-1e3),x[1]=t.l2r(E+1e3);break}}else{if(!ym(x[C]))if(!(g||P)&&ym(x[1-C]))x[C]=x[1-C]*(C?10:.1);else{t[T]=S;break}if(x[C]<-xL?x[C]=-xL:x[C]>xL&&(x[C]=xL),x[0]===x[1]){var z=Math.max(1,Math.abs(x[0]*1e-6));x[0]-=z,x[1]+=z}}},t.setScale=function(T){var L=r._size;if(t.overlaying){var x=TL.getFromId({_fullLayout:r},t.overlaying);t.domain=x.domain}var C=T&&t._r?"_r":"range",S=t.calendar;t.cleanRange(C);var g=t.r2l(t[C][0],S),P=t.r2l(t[C][1],S),E=i==="y";if(E?(t._offset=L.t+(1-t.domain[1])*L.h,t._length=L.h*(t.domain[1]-t.domain[0]),t._m=t._length/(g-P),t._b=-t._m*P):(t._offset=L.l+t.domain[0]*L.w,t._length=L.w*(t.domain[1]-t.domain[0]),t._m=t._length/(P-g),t._b=-t._m*g),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks){var z,q;if(t._rangebreaks=t.locateBreaks(Math.min(g,P),Math.max(g,P)),t._rangebreaks.length){for(z=0;zP&&(V=!V),V&&t._rangebreaks.reverse();var G=V?-1:1;for(t._m2=G*t._length/(Math.abs(P-g)-t._lBreaks),t._B.push(-t._m2*(E?P:g)),z=0;zS&&(S+=7,gS&&(S+=24,g=C&&g=C&&T=re.min&&(_ere.max&&(re.max=Ee),Ce=!1)}Ce&&P.push({min:_e,max:Ee})}};for(x=0;x{"use strict";var ose=Eo(),nB=Pr(),Ast=fs().BADNUM,EL=nB.isArrayOrTypedArray,Sst=nB.isDateTime,Mst=nB.cleanNumber,sse=Math.round;use.exports=function(t,r,n){var i=t,a=n.noMultiCategory;if(EL(i)&&!i.length)return"-";if(!a&&Pst(i))return"multicategory";if(a&&Array.isArray(i[0])){for(var o=[],s=0;sa*2}function lse(e){return Math.max(1,(e-1)/1e3)}function Lst(e,t){for(var r=e.length,n=lse(r),i=0,a=0,o={},s=0;si*2}function Pst(e){return EL(e[0])&&EL(e[1])}});var Mg=ye((far,mse)=>{"use strict";var Ist=qa(),dse=Eo(),d_=Pr(),kL=fs().FP_SAFE,Rst=Oa(),Dst=So(),vse=df(),Fst=vse.getFromId,zst=vse.isLinked;mse.exports={applyAutorangeOptions:gse,getAutoRange:aB,makePadFn:oB,doAutoRange:Ost,findExtremes:Bst,concatExtremes:uB};function aB(e,t){var r,n,i=[],a=e._fullLayout,o=oB(a,t,0),s=oB(a,t,1),l=uB(e,t),u=l.min,c=l.max;if(u.length===0||c.length===0)return d_.simpleMap(t.range,t.r2l);var f=u[0].val,h=c[0].val;for(r=1;r0&&(P=M-o(x)-s(C),P>T?E/P>L&&(S=x,g=C,L=E/P):E/M>L&&(S={val:x.val,nopad:1},g={val:C.val,nopad:1},L=E/M));function z(j,N){return Math.max(j,s(N))}if(f===h){var q=f-1,V=f+1;if(p)if(f===0)i=[0,1];else{var G=(f>0?c:u).reduce(z,0),Z=f/(1-Math.min(.5,G/M));i=f>0?[0,Z]:[Z,0]}else k?i=[Math.max(0,q),Math.max(1,V)]:i=[q,V]}else p?(S.val>=0&&(S={val:0,nopad:1}),g.val<=0&&(g={val:0,nopad:1})):k&&(S.val-L*o(S)<0&&(S={val:0,nopad:1}),g.val<=0&&(g={val:1,nopad:1})),L=(g.val-S.val-cse(t,x.val,C.val))/(M-o(S)-s(g)),i=[S.val-L*o(S),g.val+L*s(g)];return i=gse(i,t),t.limitRange&&t.limitRange(),v&&i.reverse(),d_.simpleMap(i,t.l2r||Number)}function cse(e,t,r){var n=0;if(e.rangebreaks)for(var i=e.locateBreaks(t,r),a=0;a0?r.ppadplus:r.ppadminus)||r.ppad||0),x=T((e._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),C=T(r.vpadplus||r.vpad),S=T(r.vpadminus||r.vpad);if(!u){if(k=1/0,M=-1/0,l)for(f=0;f0&&(k=h),h>M&&h-kL&&(k=h),h>M&&h=E;f--)P(f);return{min:n,max:i,opts:r}}function sB(e,t,r,n){pse(e,t,r,n,Nst)}function lB(e,t,r,n){pse(e,t,r,n,Ust)}function pse(e,t,r,n,i){for(var a=n.tozero,o=n.extrapad,s=!0,l=0;l=r&&(u.extrapad||!o)){s=!1;break}else i(t,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(e.splice(l,1),l--)}if(s){var c=a&&t===0;e.push({val:t,pad:c?0:r,extrapad:c?!1:o})}}function hse(e){return dse(e)&&Math.abs(e)=t}function Vst(e,t){var r=t.autorangeoptions;return r&&r.minallowed!==void 0&&CL(t,r.minallowed,r.maxallowed)?r.minallowed:r&&r.clipmin!==void 0&&CL(t,r.clipmin,r.clipmax)?Math.max(e,t.d2l(r.clipmin)):e}function Gst(e,t){var r=t.autorangeoptions;return r&&r.maxallowed!==void 0&&CL(t,r.minallowed,r.maxallowed)?r.maxallowed:r&&r.clipmax!==void 0&&CL(t,r.clipmin,r.clipmax)?Math.min(e,t.d2l(r.clipmax)):e}function CL(e,t,r){return t!==void 0&&r!==void 0?(t=e.d2l(t),r=e.d2l(r),t=l&&(a=l,r=l),o<=l&&(o=l,n=l)}}return r=Vst(r,t),n=Gst(n,t),[r,n]}});var ho=ye((dar,Nse)=>{"use strict";var w0=qa(),zh=Eo(),j3=Mc(),cM=Oa(),Wo=Pr(),W3=Wo.strTranslate,Ob=Zl(),Hst=qb(),fM=ka(),Xp=So(),jst=Rd(),yse=RO(),har=Rh(),$d=fs(),Wst=$d.ONEMAXYEAR,IL=$d.ONEAVGYEAR,RL=$d.ONEMINYEAR,Xst=$d.ONEMAXQUARTER,dB=$d.ONEAVGQUARTER,DL=$d.ONEMINQUARTER,Zst=$d.ONEMAXMONTH,X3=$d.ONEAVGMONTH,FL=$d.ONEMINMONTH,Zp=$d.ONEWEEK,qv=$d.ONEDAY,v_=qv/2,wm=$d.ONEHOUR,hM=$d.ONEMIN,zL=$d.ONESEC,Yst=$d.ONEMILLI,Kst=$d.ONEMICROSEC,Bb=$d.MINUS_SIGN,OL=$d.BADNUM,vB={K:"zeroline"},pB={K:"gridline",L:"path"},gB={K:"minor-gridline",L:"path"},Cse={K:"tick",L:"path"},_se={K:"tick",L:"text"},xse={width:["x","r","l","xl","xr"],height:["y","t","b","yt","yb"],right:["r","xr"],left:["l","xl"],top:["t","yt"],bottom:["b","yb"]},BL=Dh(),uM=BL.MID_SHIFT,Nb=BL.CAP_SHIFT,dM=BL.LINE_SPACING,Jst=BL.OPPOSITE_SIDE,qL=3,$n=Nse.exports={};$n.setConvert=xm();var $st=H3(),Tm=df(),Qst=Tm.idSort,elt=Tm.isLinked;$n.id2name=Tm.id2name;$n.name2id=Tm.name2id;$n.cleanId=Tm.cleanId;$n.list=Tm.list;$n.listIds=Tm.listIds;$n.getFromId=Tm.getFromId;$n.getFromTrace=Tm.getFromTrace;var Lse=Mg();$n.getAutoRange=Lse.getAutoRange;$n.findExtremes=Lse.findExtremes;var tlt=1e-4;function xB(e){var t=(e[1]-e[0])*tlt;return[e[0]-t,e[1]+t]}$n.coerceRef=function(e,t,r,n,i,a){var o=n.charAt(n.length-1),s=r._fullLayout._subplots[o+"axis"],l=n+"ref",u={};return i||(i=s[0]||(typeof a=="string"?a:a[0])),a||(a=i),s=s.concat(s.map(function(c){return c+" domain"})),u[l]={valType:"enumerated",values:s.concat(a?typeof a=="string"?[a]:a:[]),dflt:i},Wo.coerce(e,t,u,l)};$n.coerceRefArray=function(e,t,r,n,i,a,o){let s=n.charAt(n.length-1);var l=r._fullLayout._subplots[s+"axis"];let u=n+"ref";var c=e[u];i||(i=l[0]||(typeof a=="string"?a:a[0])),l=l.concat(l.map(h=>h+" domain")),l=l.concat(a||[]),c.length>o?(Wo.warn("Array attribute "+u+" has more entries than expected, truncating to "+o),c=c.slice(0,o)):c.length2e-6||((r-e._forceTick0)/e._minDtick%1+1.000001)%1>2e-6)&&(e._minDtick=0))};$n.saveRangeInitial=function(e,t){for(var r=$n.list(e,"",!0),n=!1,i=0;if*.3||u(n)||u(i))){var h=r.dtick/2;e+=e+ho){var s=Number(r.slice(1));a.exactYears>o&&s%12===0?e=$n.tickIncrement(e,"M6","reverse")+qv*1.5:a.exactMonths>o?e=$n.tickIncrement(e,"M1","reverse")+qv*15.5:e-=v_;var l=$n.tickIncrement(e,r);if(l<=n)return l}return e}$n.prepMinorTicks=function(e,t,r){var f,h;if(!((f=t.minor)!=null&&f.dtick)){delete e.dtick;var n=t.dtick&&zh(t._tmin),i;if(n){var a=$n.tickIncrement(t._tmin,t.dtick,!0);i=[t._tmin,a*.99+t._tmin*.01]}else{var o=Wo.simpleMap(t.range,t.r2l);i=[o[0],.8*o[0]+.2*o[1]]}if(e.range=Wo.simpleMap(i,t.l2r),e._isMinor=!0,$n.prepTicks(e,r),n){var s=zh(t.dtick),l=zh(e.dtick),u=s?t.dtick:+t.dtick.substring(1),c=l?e.dtick:+e.dtick.substring(1);s&&l?cB(u,c)?u===2*Zp&&c===2*qv&&(e.dtick=Zp):u===2*Zp&&c===3*qv?e.dtick=Zp:u===Zp&&!(t._input.minor||{}).nticks?e.dtick=qv:Tse(u/c,2.5)?e.dtick=u/2:e.dtick=u:String(t.dtick).charAt(0)==="M"?l?e.dtick="M1":cB(u,c)?u>=12&&c===2&&(e.dtick="M3"):e.dtick=t.dtick:String(e.dtick).charAt(0)==="L"?String(t.dtick).charAt(0)==="L"?cB(u,c)||(e.dtick=Tse(u/c,2.5)?t.dtick/2:t.dtick):e.dtick="D1":e.dtick==="D2"&&+t.dtick>1&&(e.dtick=1)}e.range=t.range}((h=t.minor)==null?void 0:h._tick0Init)===void 0&&(e.tick0=t.tick0)};function cB(e,t){return Math.abs((e/t+.5)%1-.5)<.001}function Tse(e,t){return Math.abs(e/t-1)<.001}$n.prepTicks=function(e,t){var r=Wo.simpleMap(e.range,e.r2l,void 0,void 0,t);if(e.tickmode==="auto"||!e.dtick){var n=e.nticks,i;n||(e.type==="category"||e.type==="multicategory"?(i=e.tickfont?Wo.bigFont(e.tickfont.size||12):15,n=e._length/i):(i=e._id.charAt(0)==="y"?40:80,n=Wo.constrain(e._length/i,4,9)+1),e._name==="radialaxis"&&(n*=2)),e.minor&&e.minor.tickmode!=="array"||e.tickmode==="array"&&(n*=100),e._roughDTick=Math.abs(r[1]-r[0])/n,$n.autoTicks(e,e._roughDTick),e._minDtick>0&&e.dtick0?(a=n-1,o=n):(a=n,o=n);var s=e[a].value,l=e[o].value,u=Math.abs(l-s),c=r||u,f=0;c>=RL?u>=RL&&u<=Wst?f=u:f=IL:r===dB&&c>=DL?u>=DL&&u<=Xst?f=u:f=dB:c>=FL?u>=FL&&u<=Zst?f=u:f=X3:r===Zp&&c>=Zp?f=Zp:c>=qv?f=qv:r===v_&&c>=v_?f=v_:r===wm&&c>=wm&&(f=wm);var h;f>=u&&(f=u,h=!0);var d=i+f;if(t.rangebreaks&&f>0){for(var v=84,m=0,b=0;bZp&&(f=u)}(f>0||n===0)&&(e[n].periodX=i+f/2)}}$n.calcTicks=function(t,r){for(var n=t.type,i=t.calendar,a=t.ticklabelstep,o=t.ticklabelmode==="period",s=t.range[0]>t.range[1],l=!t.ticklabelindex||Wo.isArrayOrTypedArray(t.ticklabelindex)?t.ticklabelindex:[t.ticklabelindex],u=Wo.simpleMap(t.range,t.r2l,void 0,void 0,r),c=u[1]=(T?0:1);L--){var x=!L;L?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):T&&(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var C=L?t:Wo.extendFlat({},t,T?t.minor:{minor:{}});if(x?$n.prepMinorTicks(C,t,r):$n.prepTicks(C,r),C.tickmode==="array"){L?(b=[],v=Ase(t,!x)):(p=[],m=Ase(t,!x));continue}if(C.tickmode==="sync"){b=[],v=slt(t);continue}var S=xB(u),g=S[0],P=S[1],E=zh(C.dtick),z=n==="log"&&!(E||C.dtick.charAt(0)==="L"),q=$n.tickFirst(C,r);if(L){if(t._tmin=q,q=P:G<=P;G=$n.tickIncrement(G,N,c,i)){if(L&&Z++,C.rangebreaks&&!c){if(G=h)break}if(b.length>d||G===V)break;V=G;var H={value:G};L?(z&&G!==(G|0)&&(H.simpleLabel=!0),a>1&&Z%a&&(H.skipLabel=!0),b.push(H)):(H.minor=!0,p.push(H))}}if(!p||p.length<3)l=!1;else{var ie=(p[2].value-p[1].value)*(s?-1:1);Ilt(ie,t.tickformat)||(l=!1,p=p.slice(1))}if(!l)k=b;else{var ae=b.concat(p);o&&b.length&&(ae=ae.slice(1)),ae=ae.sort(function(Vt,rr){return Vt.value-rr.value}).filter(function(Vt,rr,tt){return rr===0||Vt.value!==tt[rr-1].value});var _e=ae.map(function(Vt,rr){return Vt.minor===void 0&&!Vt.skipLabel?rr:null}).filter(function(Vt){return Vt!==null});_e.forEach(function(Vt){l.map(function(rr){var tt=Vt+rr;tt>=0&&tt-1;Le--){if(b[Le].drop){b.splice(Le,1);continue}b[Le].value=hB(b[Le].value,t);var He=t.c2p(b[Le].value);(me?ce>He-Pe:ceh||jeh&&(tt.periodX=h),jei&&hIL)t/=IL,n=i(10),e.dtick="M"+12*bm(t,n,LL);else if(a>X3)t/=X3,e.dtick="M"+bm(t,1,Sse);else if(a>qv){if(e.dtick=bm(t,qv,e._hasDayOfWeekBreaks?[1,2,7,14]:llt),!r){var o=$n.getTickFormat(e),s=e.ticklabelmode==="period";s&&(e._rawTick0=e.tick0),/%[uVW]/.test(o)?e.tick0=Wo.dateTick0(e.calendar,2):e.tick0=Wo.dateTick0(e.calendar,1),s&&(e._dowTick0=e.tick0)}}else a>wm?e.dtick=bm(t,wm,Sse):a>hM?e.dtick=bm(t,hM,Mse):a>zL?e.dtick=bm(t,zL,Mse):(n=i(10),e.dtick=bm(t,n,LL))}else if(e.type==="log"){e.tick0=0;var l=Wo.simpleMap(e.range,e.r2l);if(e._isMinor&&(t*=1.5),t>.7)e.dtick=Math.ceil(t);else if(Math.abs(l[1]-l[0])<1){var u=1.5*Math.abs((l[1]-l[0])/t);t=Math.abs(Math.pow(10,l[1])-Math.pow(10,l[0]))/u,n=i(10),e.dtick="L"+bm(t,n,LL)}else e.dtick=t>.3?"D2":"D1"}else e.type==="category"||e.type==="multicategory"?(e.tick0=0,e.dtick=Math.ceil(Math.max(t,1))):AB(e)?(e.tick0=0,n=1,e.dtick=bm(t,n,ult)):(e.tick0=0,n=i(10),e.dtick=bm(t,n,LL));if(e.dtick===0&&(e.dtick=1),!zh(e.dtick)&&typeof e.dtick!="string"){var c=e.dtick;throw e.dtick=1,"ax.dtick error: "+String(c)}};function Dse(e){var t=e.dtick;if(e._tickexponent=0,!zh(t)&&typeof t!="string"&&(t=1),(e.type==="category"||e.type==="multicategory")&&(e._tickround=null),e.type==="date"){var r=e.r2l(e.tick0),n=e.l2r(r).replace(/(^-|i)/g,""),i=n.length;if(String(t).charAt(0)==="M")i>10||n.slice(5)!=="01-01"?e._tickround="d":e._tickround=+t.slice(1)%12===0?"y":"m";else if(t>=qv&&i<=10||t>=qv*15)e._tickround="d";else if(t>=hM&&i<=16||t>=wm)e._tickround="M";else if(t>=zL&&i<=19||t>=hM)e._tickround="S";else{var a=e.l2r(r+t).replace(/^-/,"").length;e._tickround=Math.max(i,a)-20,e._tickround<0&&(e._tickround=4)}}else if(zh(t)||t.charAt(0)==="L"){var o=e.range.map(e.r2d||Number);zh(t)||(t=Number(t.slice(1))),e._tickround=2-Math.floor(Math.log(t)/Math.LN10+.01);var s=Math.max(Math.abs(o[0]),Math.abs(o[1])),l=Math.floor(Math.log(s)/Math.LN10+.01),u=e.minexponent===void 0?3:e.minexponent;Math.abs(l)>u&&(Z3(e.exponentformat)&&e.exponentformat!=="SI extended"&&!bB(l)||Z3(e.exponentformat)&&e.exponentformat==="SI extended"&&!wB(l)?e._tickexponent=3*Math.round((l-1)/3):e._tickexponent=l)}else e._tickround=null}$n.tickIncrement=function(e,t,r,n){var i=r?-1:1;if(zh(t))return Wo.increment(e,i*t);var a=t.charAt(0),o=i*Number(t.slice(1));if(a==="M")return Wo.incrementMonth(e,o,n);if(a==="L")return Math.log(Math.pow(10,e)+o)/Math.LN10;if(a==="D"){var s=t==="D2"?Rse:Ise,l=e+i*.01,u=Wo.roundUp(Wo.mod(l,1),s,r);return Math.floor(l)+Math.log(w0.round(Math.pow(10,u),1))/Math.LN10}throw"unrecognized dtick "+String(t)};$n.tickFirst=function(e,t){var r=e.r2l||Number,n=Wo.simpleMap(e.range,r,void 0,void 0,t),i=n[1]=0&&p<=e._length?b:null};if(a&&Wo.isArrayOrTypedArray(e.ticktext)){var f=Wo.simpleMap(e.range,e.r2l),h=(Math.abs(f[1]-f[0])-(e._lBreaks||0))/1e4;for(u=0;u"+s;else{var u=pM(e),c=e._trueSide||e.side;(!u&&c==="top"||u&&c==="bottom")&&(o+="
")}t.text=o}function flt(e,t,r,n,i){var a=e.dtick,o=t.x,s=e.tickformat,l=typeof a=="string"&&a.charAt(0);if(i==="never"&&(i=""),n&&l!=="L"&&(a="L3",l="L"),s||l==="L")t.text=vM(Math.pow(10,o),e,i,n);else if(zh(a)||l==="D"&&(e.minorloglabels==="complete"||Wo.mod(o+.01,1)<.1)){var u;e.minorloglabels==="complete"&&!(Wo.mod(o+.01,1)<.1)&&(u=!0,t.fontSize*=.75);var c=Math.pow(10,o).toExponential(0),f=c.split("e"),h=+f[1],d=Math.abs(h),v=e.exponentformat;v==="power"||Z3(v)&&v!=="SI extended"&&bB(h)||Z3(v)&&v==="SI extended"&&wB(h)?(t.text=f[0],d>0&&(t.text+="x10"),t.text==="1x10"&&(t.text="10"),h!==0&&h!==1&&(t.text+=""+(h>0?"":Bb)+d+""),t.fontSize*=1.25):(v==="e"||v==="E")&&d>2?t.text=f[0]+v+(h>0?"+":Bb)+d:(t.text=vM(Math.pow(10,o),e,"","fakehover"),a==="D1"&&e._id.charAt(0)==="y"&&(t.dy-=t.fontSize/6))}else if(l==="D")t.text=e.minorloglabels==="none"?"":String(Math.round(Math.pow(10,Wo.mod(o,1)))),t.fontSize*=.75;else throw"unrecognized dtick "+String(a);if(e.dtick==="D1"){var m=String(t.text).charAt(0);(m==="0"||m==="1")&&(e._id.charAt(0)==="y"?t.dx-=t.fontSize/4:(t.dy+=t.fontSize/2,t.dx+=(e.range[1]>e.range[0]?1:-1)*t.fontSize*(o<0?.5:.25)))}}function hlt(e,t){var r=e._categories[Math.round(t.x)];r===void 0&&(r=""),t.text=String(r)}function dlt(e,t,r){var n=Math.round(t.x),i=e._categories[n]||[],a=i[1]===void 0?"":String(i[1]),o=i[0]===void 0?"":String(i[0]);r?t.text=o+" - "+a:(t.text=a,t.text2=o)}function vlt(e,t,r,n,i){i==="never"?i="":e.showexponent==="all"&&Math.abs(t.x/e.dtick)<1e-6&&(i="hide"),t.text=vM(t.x,e,i,n)}function plt(e,t,r,n,i){if(e.thetaunit==="radians"&&!r){var a=t.x/180;if(a===0)t.text="0";else{var o=glt(a);if(o[1]>=100)t.text=vM(Wo.deg2rad(t.x),e,i,n);else{var s=t.x<0;o[1]===1?o[0]===1?t.text="\u03C0":t.text=o[0]+"\u03C0":t.text=["",o[0],"","\u2044","",o[1],"","\u03C0"].join(""),s&&(t.text=Bb+t.text)}}}else t.text=vM(t.x,e,i,n)}function glt(e){function t(s,l){return Math.abs(s-l)<=1e-6}function r(s,l){return t(l,0)?s:r(l,s%l)}function n(s){for(var l=1;!t(Math.round(s*l)/l,s);)l*=10;return l}var i=n(e),a=e*i,o=Math.abs(r(a,i));return[Math.round(a/o),Math.round(i/o)]}var zse=["f","p","n","\u03BC","m","","k","M","G","T"],mlt=["q","r","y","z","a",...zse,"P","E","Z","Y","R","Q"],Z3=e=>["SI","SI extended","B"].includes(e);function bB(e){return e>14||e<-15}function wB(e){return e>32||e<-30}function ylt(e,t){return Z3(t)?!!(t==="SI extended"&&wB(e)||t!=="SI extended"&&bB(e)):!1}function vM(e,t,r,n){var i=e<0,a=t._tickround,o=r||t.exponentformat||"B",s=t._tickexponent,l=$n.getTickFormat(t),u=t.separatethousands;if(n){var c={exponentformat:o,minexponent:t.minexponent,dtick:t.showexponent==="none"?t.dtick:zh(e)&&Math.abs(e)||1,range:t.showexponent==="none"?t.range.map(t.r2d):[0,e||1]};Dse(c),a=(Number(c._tickround)||0)+4,s=c._tickexponent,t.hoverformat&&(l=t.hoverformat)}if(l)return t._numFormat(l)(e).replace(/-/g,Bb);var f=Math.pow(10,-a)/2;if(o==="none"&&(s=0),e=Math.abs(e),e"+v+"":o==="B"&&s===9?e+="B":Z3(o)&&(e+=o==="SI extended"?mlt[s/3+10]:zse[s/3+5])}return i?Bb+e:e}$n.getTickFormat=function(e){var t;function r(l){return typeof l!="string"?l:Number(l.replace("M",""))*X3}function n(l,u){var c=["L","D"];if(typeof l==typeof u){if(typeof l=="number")return l-u;var f=c.indexOf(l.charAt(0)),h=c.indexOf(u.charAt(0));return f===h?Number(l.replace(/(L|D)/g,""))-Number(u.replace(/(L|D)/g,"")):f-h}else return typeof l=="number"?1:-1}function i(l,u,c){var f=c||function(v){return v},h=u[0],d=u[1];return(!h&&typeof h!="number"||f(h)<=f(l))&&(!d&&typeof d!="number"||f(d)>=f(l))}function a(l,u){var c=u[0]===null,f=u[1]===null,h=n(l,u[0])>=0,d=n(l,u[1])<=0;return(c||h)&&(f||d)}var o,s;if(e.tickformatstops&&e.tickformatstops.length>0)switch(e.type){case"date":case"linear":{for(t=0;t=0&&i.unshift(i.splice(c,1).shift())}});var s={false:{left:0,right:0}};return Wo.syncOrAsync(i.map(function(l){return function(){if(l){var u=$n.getFromId(e,l);r||(r={}),r.axShifts=s,r.overlayingShiftedAx=o;var c=$n.drawOne(e,u,r);return u._shiftPusher&&_B(u,u._fullDepth||0,s,!0),u._r=u.range.slice(),u._rl=Wo.simpleMap(u._r,u.r2l),c}}}))};$n.drawOne=function(e,t,r){r=r||{};var n=r.axShifts||{},i=r.overlayingShiftedAx||[],a,o,s;t.setScale();var l=e._fullLayout,u=t._id,c=u.charAt(0),f=$n.counterLetter(u),h=l._plots[t._mainSubplot],d=t.zerolinelayer==="above traces";if(!h)return;if(t._shiftPusher=t.autoshift||i.indexOf(t._id)!==-1||i.indexOf(t.overlaying)!==-1,t._shiftPusher&t.anchor==="free"){var v=t.linewidth/2||0;t.ticks==="inside"&&(v+=t.ticklen),_B(t,v,n,!0),_B(t,t.shift||0,n,!1)}(r.skipTitle!==!0||t._shift===void 0)&&(t._shift=Plt(t,n));var m=h[c+"axislayer"],b=t._mainLinePosition,p=b+=t._shift,k=t._mainMirrorPosition,M=t._vals=$n.calcTicks(t),T=[t.mirror,p,k].join("_");for(a=0;a0?tt.bottom-Vt:0,rr))));var rt=0,St=0;if(t._shiftPusher&&(rt=Math.max(rr,tt.height>0?ct==="l"?Vt-tt.left:tt.right-Vt:0),t.title.text!==l._dfltTitle[c]&&(St=(t._titleStandoff||0)+(t._titleScoot||0),ct==="l"&&(St+=kse(t))),t._fullDepth=Math.max(rt,St)),t.automargin){je={x:0,y:0,r:0,l:0,t:0,b:0};var Tt=[0,1],dt=typeof t._shift=="number"?t._shift:0;if(c==="x"){if(ct==="b"?je[ct]=t._depth:(je[ct]=t._depth=Math.max(tt.width>0?Vt-tt.top:0,rr),Tt.reverse()),tt.width>0){var Et=tt.right-(t._offset+t._length);Et>0&&(je.xr=1,je.r=Et);var pt=t._offset-tt.left;pt>0&&(je.xl=0,je.l=pt)}}else if(ct==="l"?(t._depth=Math.max(tt.height>0?Vt-tt.left:0,rr),je[ct]=t._depth-dt):(t._depth=Math.max(tt.height>0?tt.right-Vt:0,rr),je[ct]=t._depth+dt,Tt.reverse()),tt.height>0){var jt=tt.bottom-(t._offset+t._length);jt>0&&(je.yb=0,je.b=jt);var or=t._offset-tt.top;or>0&&(je.yt=1,je.t=or)}je[f]=t.anchor==="free"?t.position:t._anchorAxis.domain[Tt[0]],t.title.text!==l._dfltTitle[c]&&(je[ct]+=kse(t)+(t.title.standoff||0)),t.mirror&&t.anchor!=="free"&&(Ue={x:0,y:0,r:0,l:0,t:0,b:0},Ue[ar]=t.linewidth,t.mirror&&t.mirror!==!0&&(Ue[ar]+=rr),t.mirror===!0||t.mirror==="ticks"?Ue[f]=t._anchorAxis.domain[Tt[1]]:(t.mirror==="all"||t.mirror==="allticks")&&(Ue[f]=[t._counterDomainMin,t._counterDomainMax][Tt[1]]))}at&&(Ae=cM.getComponentMethod("rangeslider","autoMarginOpts")(e,t)),typeof t.automargin=="string"&&(Ese(je,t.automargin),Ese(Ue,t.automargin)),j3.autoMargin(e,TB(t),je),j3.autoMargin(e,Ose(t),Ue),j3.autoMargin(e,Bse(t),Ae)}),Wo.syncOrAsync(mt)}};function Ese(e,t){if(e){var r=Object.keys(xse).reduce(function(n,i){return t.indexOf(i)!==-1&&xse[i].forEach(function(a){n[a]=1}),n},{});Object.keys(e).forEach(function(n){r[n]||(n.length===1?e[n]=0:delete e[n])})}}function _lt(e,t){var r=[],n,i=function(a,o){var s=a.xbnd[o];s!==null&&r.push(Wo.extendFlat({},a,{x:s}))};if(t.length){for(n=0;ne.range[1],s=e.ticklabelposition&&e.ticklabelposition.indexOf("inside")!==-1,l=!s;if(r){var u=o?-1:1;r=r*u}if(n){var c=e.side,f=s&&(c==="top"||c==="left")||l&&(c==="bottom"||c==="right")?1:-1;n=n*f}return e._id.charAt(0)==="x"?function(h){return W3(i+e._offset+e.l2p(mB(h))+r,a+n)}:function(h){return W3(a+n,i+e._offset+e.l2p(mB(h))+r)}};function mB(e){return e.periodX!==void 0?e.periodX:e.x}function Tlt(e){var t=e.ticklabelposition||"",r=e.tickson||"",n=function(v){return t.indexOf(v)!==-1},i=n("top"),a=n("left"),o=n("right"),s=n("bottom"),l=n("inside"),u=r!=="boundaries"&&(s||a||i||o);if(!u&&!l)return[0,0];var c=e.side,f=u?(e.tickwidth||0)/2:0,h=qL,d=e.tickfont?e.tickfont.size:12;return(s||i)&&(f+=d*Nb,h+=(e.linewidth||0)/2),(a||o)&&(f+=(e.linewidth||0)/2,h+=qL),l&&c==="top"&&(h-=d*(1-Nb)),(a||i)&&(f=-f),(c==="bottom"||c==="right")&&(h=-h),[u?f:0,l?h:0]}$n.makeTickPath=function(e,t,r,n){n||(n={});var i=n.minor;if(i&&!e.minor)return"";var a=n.len!==void 0?n.len:i?e.minor.ticklen:e.ticklen,o=e._id.charAt(0),s=(e.linewidth||1)/2;return o==="x"?"M0,"+(t+s*r)+"v"+a*r:"M"+(t+s*r)+",0h"+a*r};$n.makeLabelFns=function(e,t,r){var n=e.ticklabelposition||"",i=e.tickson||"",a=function(q){return n.indexOf(q)!==-1},o=a("top"),s=a("left"),l=a("right"),u=a("bottom"),c=i!=="boundaries"&&(u||s||o||l),f=a("inside"),h=n==="inside"&&e.ticks==="inside"||!f&&e.ticks==="outside"&&i!=="boundaries",d=0,v=0,m=h?e.ticklen:0;if(f?m*=-1:c&&(m=0),h&&(d+=m,r)){var b=Wo.deg2rad(r);d=m*Math.cos(b)+1,v=m*Math.sin(b)}e.showticklabels&&(h||e.showline)&&(d+=.2*e.tickfont.size),d+=(e.linewidth||1)/2*(f?-1:1);var p={labelStandoff:d,labelShift:v},k,M,T,L,x=0,C=e.side,S=e._id.charAt(0),g=e.tickangle,P;if(S==="x")P=!f&&C==="bottom"||f&&C==="top",L=P?1:-1,f&&(L*=-1),k=v*L,M=t+d*L,T=P?1:-.2,Math.abs(g)===90&&(f?T+=uM:g===-90&&C==="bottom"?T=Nb:g===90&&C==="top"?T=uM:T=.5,x=uM/2*(g/90)),p.xFn=function(q){return q.dx+k+x*q.fontSize},p.yFn=function(q){return q.dy+M+q.fontSize*T},p.anchorFn=function(q,V){if(c){if(s)return"end";if(l)return"start"}return!zh(V)||V===0||V===180?"middle":V*L<0!==f?"end":"start"},p.heightFn=function(q,V,G){return V<-60||V>60?-.5*G:e.side==="top"!==f?-G:0};else if(S==="y"){if(P=!f&&C==="left"||f&&C==="right",L=P?1:-1,f&&(L*=-1),k=d,M=v*L,T=0,!f&&Math.abs(g)===90&&(g===-90&&C==="left"||g===90&&C==="right"?T=Nb:T=.5),f){var E=zh(g)?+g:0;if(E!==0){var z=Wo.deg2rad(E);x=Math.abs(Math.sin(z))*Nb*L,T=0}}p.xFn=function(q){return q.dx+t-(k+q.fontSize*T)*L+x*q.fontSize},p.yFn=function(q){return q.dy+M+q.fontSize*uM},p.anchorFn=function(q,V){return zh(V)&&Math.abs(V)===90?"middle":P?"end":"start"},p.heightFn=function(q,V,G){return e.side==="right"&&(V*=-1),V<-30?-G:V<30?-.5*G:0}}return p};function NL(e){return[e.text,e.x,e.axInfo,e.font,e.fontSize,e.fontColor].join("_")}$n.drawTicks=function(e,t,r){r=r||{};var n=t._id+"tick",i=[].concat(t.minor&&t.minor.ticks?r.vals.filter(function(o){return o.minor&&!o.noTick}):[]).concat(t.ticks?r.vals.filter(function(o){return!o.minor&&!o.noTick}):[]),a=r.layer.selectAll("path."+n).data(i,NL);a.exit().remove(),a.enter().append("path").classed(n,1).classed("ticks",1).classed("crisp",r.crisp!==!1).each(function(o){return fM.stroke(w0.select(this),o.minor?t.minor.tickcolor:t.tickcolor)}).style("stroke-width",function(o){return Xp.crispRound(e,o.minor?t.minor.tickwidth:t.tickwidth,1)+"px"}).attr("d",r.path).style("display",null),UL(t,[Cse]),a.attr("transform",r.transFn)};$n.drawGrid=function(e,t,r){if(r=r||{},t.tickmode!=="sync"){var n=t._id+"grid",i=t.minor&&t.minor.showgrid,a=i?r.vals.filter(function(p){return p.minor}):[],o=t.showgrid?r.vals.filter(function(p){return!p.minor}):[],s=r.counterAxis;if(s&&$n.shouldShowZeroLine(e,t,s))for(var l=t.tickmode==="array",u=0;u=0;v--){var m=v?h:d;if(m){var b=m.selectAll("path."+n).data(v?o:a,NL);b.exit().remove(),b.enter().append("path").classed(n,1).classed("crisp",r.crisp!==!1),b.attr("transform",r.transFn).attr("d",r.path).each(function(p){return fM.stroke(w0.select(this),p.minor?t.minor.gridcolor:t.gridcolor||"#ddd")}).style("stroke-dasharray",function(p){return Xp.dashStyle(p.minor?t.minor.griddash:t.griddash,p.minor?t.minor.gridwidth:t.gridwidth)}).style("stroke-width",function(p){return(p.minor?f:t._gw)+"px"}).style("display",null),typeof r.path=="function"&&b.attr("d",r.path)}}UL(t,[pB,gB])}};$n.drawZeroLine=function(e,t,r){r=r||r;var n=t._id+"zl",i=$n.shouldShowZeroLine(e,t,r.counterAxis),a=r.layer.selectAll("path."+n).data(i?[{x:0,id:t._id}]:[]);a.exit().remove(),a.enter().append("path").classed(n,1).classed("zl",1).classed("crisp",r.crisp!==!1).each(function(){r.layer.selectAll("path").sort(function(o,s){return Qst(o.id,s.id)})}),a.attr("transform",r.transFn).attr("d",r.path).call(fM.stroke,t.zerolinecolor||fM.defaultLine).style("stroke-width",Xp.crispRound(e,t.zerolinewidth,t._gw||1)+"px").style("display",null),UL(t,[vB])};$n.drawLabels=function(e,t,r){r=r||{};var n=e._fullLayout,i=t._id,a=t.zerolinelayer==="above traces",o=r.cls||i+"tick",s=r.vals.filter(function(H){return H.text}),l=r.labelFns,u=r.secondary?0:t.tickangle,c=(t._prevTickAngles||{})[o],f=r.layer.selectAll("g."+o).data(t.showticklabels?s:[],NL),h=[];f.enter().append("g").classed(o,1).append("text").attr("text-anchor","middle").each(function(H){var ie=w0.select(this),ae=e._promises.length;ie.call(Ob.positionText,l.xFn(H),l.yFn(H)).call(Xp.font,{family:H.font,size:H.fontSize,color:H.fontColor,weight:H.fontWeight,style:H.fontStyle,variant:H.fontVariant,textcase:H.fontTextcase,lineposition:H.fontLineposition,shadow:H.fontShadow}).text(H.text).call(Ob.convertToTspans,e),e._promises[ae]?h.push(e._promises.pop().then(function(){d(ie,u)})):d(ie,u)}),UL(t,[_se]),f.exit().remove(),r.repositionOnUpdate&&f.each(function(H){w0.select(this).select("text").call(Ob.positionText,l.xFn(H),l.yFn(H))});function d(H,ie){H.each(function(ae){var _e=w0.select(this),Ee=_e.select(".text-math-group"),Ce=l.anchorFn(ae,ie),ge=r.transFn.call(_e.node(),ae)+(zh(ie)&&+ie!=0?" rotate("+ie+","+l.xFn(ae)+","+(l.yFn(ae)-ae.fontSize/2)+")":""),re=Ob.lineCount(_e),Se=dM*ae.fontSize,ke=l.heightFn(ae,zh(ie)?+ie:0,(re-1)*Se);if(ke&&(ge+=W3(0,ke)),Ee.empty()){var be=_e.select("text");be.attr({transform:ge,"text-anchor":Ce}),be.style("display",null),t._adjustTickLabelsOverflow&&t._adjustTickLabelsOverflow()}else{var Be=Xp.bBox(Ee.node()).width,Le=Be*{end:-.5,start:.5}[Ce];Ee.attr("transform",ge+W3(Le,0))}})}t._adjustTickLabelsOverflow=function(){var H=t.ticklabeloverflow;if(!(!H||H==="allow")){var ie=H.indexOf("hide")!==-1,ae=t._id.charAt(0)==="x",_e=0,Ee=ae?e._fullLayout.width:e._fullLayout.height;if(H.indexOf("domain")!==-1){var Ce=Wo.simpleMap(t.range,t.r2l);_e=t.l2p(Ce[0])+t._offset,Ee=t.l2p(Ce[1])+t._offset}var ge=Math.min(_e,Ee),re=Math.max(_e,Ee),Se=t.side,ke=1/0,be=-1/0;f.each(function(Pe){var ce=w0.select(this),He=ce.select(".text-math-group");if(He.empty()){var lt=Xp.bBox(ce.node()),mt=0;ae?(lt.right>re||lt.leftre||lt.top+(t.tickangle?0:Pe.fontSize/4)t["_visibleLabelMin_"+Ce._id]?ce.style("display","none"):re.K==="tick"&&!ge&&ce.node().style.display!=="none"&&ce.style("display",null)})})})})},d(f,c+1?c:u);function v(){return h.length&&Promise.all(h)}var m=null;function b(){if(d(f,u),s.length&&t.autotickangles&&(t.type!=="log"||String(t.dtick).charAt(0)!=="D")){m=t.autotickangles[0];var H=0,ie=[],ae,_e=1;f.each(function(je){H=Math.max(H,je.fontSize);var Ue=t.l2p(je.x),Ae=yB(this),rt=Xp.bBox(Ae.node());_e=Math.max(_e,Ob.lineCount(Ae)),ie.push({top:0,bottom:10,height:10,left:Ue-rt.width/2,right:Ue+rt.width/2+2,width:rt.width+2})});var Ee=(t.tickson==="boundaries"||t.showdividers)&&!r.secondary,Ce=s.length,ge=Math.abs((s[Ce-1].x-s[0].x)*t._m)/(Ce-1),re=Ee?ge/2:ge,Se=Ee?t.ticklen:H*1.25*_e,ke=Math.sqrt(Math.pow(re,2)+Math.pow(Se,2)),be=re/ke,Be=t.autotickangles.map(function(je){return je*Math.PI/180}),Le=Be.find(function(je){return Math.abs(Math.cos(je))<=be});Le===void 0&&(Le=Be.reduce(function(je,Ue){return Math.abs(Math.cos(je))Z*G&&(z=G,g[S]=P[S]=q[S])}var j=Math.abs(z-E);j-L>0?(j-=L,L*=1+L/j):L=0,t._id.charAt(0)!=="y"&&(L=-L),g[C]=M.p2r(M.r2p(P[C])+x*L),M.autorange==="min"||M.autorange==="max reversed"?(g[0]=null,M._rangeInitial0=void 0,M._rangeInitial1=void 0):(M.autorange==="max"||M.autorange==="min reversed")&&(g[1]=null,M._rangeInitial0=void 0,M._rangeInitial1=void 0),n._insideTickLabelsUpdaterange[M._name+".range"]=g}var N=Wo.syncOrAsync(p);return N&&N.then&&e._promises.push(N),N};function Alt(e,t,r){var n=t._id+"divider",i=r.vals,a=r.layer.selectAll("path."+n).data(i,NL);a.exit().remove(),a.enter().insert("path",":first-child").classed(n,1).classed("crisp",1).call(fM.stroke,t.dividercolor).style("stroke-width",Xp.crispRound(e,t.dividerwidth,1)+"px"),a.attr("transform",r.transFn).attr("d",r.path)}$n.getPxPosition=function(e,t){var r=e._fullLayout._size,n=t._id.charAt(0),i=t.side,a;if(t.anchor!=="free"?a=t._anchorAxis:n==="x"?a={_offset:r.t+(1-(t.position||0))*r.h,_length:0}:n==="y"&&(a={_offset:r.l+(t.position||0)*r.w+t._shift,_length:0}),i==="top"||i==="left")return a._offset;if(i==="bottom"||i==="right")return a._offset+a._length};function kse(e){var t=e.title.font.size,r=(e.title.text.match(Ob.BR_TAG_ALL)||[]).length;return e.title.hasOwnProperty("standoff")?t*(Nb+r*dM):r?t*(r+1)*dM:t}function Slt(e,t){var r=e._fullLayout,n=t._id,i=n.charAt(0),a=t.title.font.size,o,s=(t.title.text.match(Ob.BR_TAG_ALL)||[]).length;if(t.title.hasOwnProperty("standoff"))t.side==="bottom"||t.side==="right"?o=t._depth+t.title.standoff+a*Nb:(t.side==="top"||t.side==="left")&&(o=t._depth+t.title.standoff+a*(uM+s*dM));else{var l=pM(t);if(t.type==="multicategory")o=t._depth;else{var u=1.5*a;l&&(u=.5*a,t.ticks==="outside"&&(u+=t.ticklen)),o=10+u+(t.linewidth?t.linewidth-1:0)}l||(i==="x"?o+=t.side==="top"?a*(t.showticklabels?1:0):a*(t.showticklabels?1.5:.5):o+=t.side==="right"?a*(t.showticklabels?1:.5):a*(t.showticklabels?.5:0))}var c=$n.getPxPosition(e,t),f,h,d;i==="x"?(h=t._offset+t._length/2,d=t.side==="top"?c-o:c+o):(d=t._offset+t._length/2,h=t.side==="right"?c+o:c-o,f={rotate:"-90",offset:0});var v;if(t.type!=="multicategory"){var m=t._selections[t._id+"tick"];if(v={selection:m,side:t.side},m&&m.node()&&m.node().parentNode){var b=Xp.getTranslate(m.node().parentNode);v.offsetLeft=b.x,v.offsetTop=b.y}t.title.hasOwnProperty("standoff")&&(v.pad=0)}return t._titleStandoff=o,Hst.draw(e,n+"title",{propContainer:t,propName:t._name+".title.text",placeholder:r._dfltTitle[i],avoid:v,transform:f,attributes:{x:h,y:d,"text-anchor":"middle"}})}$n.shouldShowZeroLine=function(e,t,r){var n=Wo.simpleMap(t.range,t.r2l);return n[0]*n[1]<=0&&t.zeroline&&(t.type==="linear"||t.type==="-")&&!(t.rangebreaks&&t.maskBreaks(0)===OL)&&(qse(t,0)||!Mlt(e,t,r,n)||Elt(e,t))};$n.clipEnds=function(e,t){return t.filter(function(r){return qse(e,r.x)})};function qse(e,t){var r=e.l2p(t);return r>1&&r1)for(i=1;i=i.min&&e=Kst:/%L/.test(t)?e>=Yst:/%[SX]/.test(t)?e>=zL:/%M/.test(t)?e>=hM:/%[HI]/.test(t)?e>=wm:/%p/.test(t)?e>=v_:/%[Aadejuwx]/.test(t)?e>=qv:/%[UVW]/.test(t)?e>=Zp:/%[Bbm]/.test(t)?e>=FL:/%[q]/.test(t)?e>=DL:/%[Yy]/.test(t)?e>=RL:!0}});var SB=ye((par,Use)=>{"use strict";Use.exports=function(t,r,n){var i,a;if(n){var o=r==="reversed"||r==="min reversed"||r==="max reversed";i=n[o?1:0],a=n[o?0:1]}var s=t("autorangeoptions.minallowed",a===null?i:void 0),l=t("autorangeoptions.maxallowed",i===null?a:void 0);s===void 0&&t("autorangeoptions.clipmin"),l===void 0&&t("autorangeoptions.clipmax"),t("autorangeoptions.include")}});var MB=ye((gar,Vse)=>{"use strict";var Rlt=SB();Vse.exports=function(t,r,n,i){var a=r._template||{},o=r.type||a.type||"-";n("minallowed"),n("maxallowed");var s=n("range");if(!s){var l;!i.noInsiderange&&o!=="log"&&(l=n("insiderange"),l&&(l[0]===null||l[1]===null)&&(r.insiderange=!1,l=void 0),l&&(s=n("range",l)))}var u=r.getAutorangeDflt(s,i),c=n("autorange",u),f;s&&(s[0]===null&&s[1]===null||(s[0]===null||s[1]===null)&&(c==="reversed"||c===!0)||s[0]!==null&&(c==="min"||c==="max reversed")||s[1]!==null&&(c==="max"||c==="min reversed"))&&(s=void 0,delete r.range,r.autorange=!0,f=!0),f||(u=r.getAutorangeDflt(s,i),c=n("autorange",u)),c&&(Rlt(n,c,s),(o==="linear"||o==="-")&&n("rangemode")),r.cleanRange()}});var Hse=ye((mar,Gse)=>{var Dlt={left:0,top:0};Gse.exports=Flt;function Flt(e,t,r){t=t||e.currentTarget||e.srcElement,Array.isArray(r)||(r=[0,0]);var n=e.clientX||0,i=e.clientY||0,a=zlt(t);return r[0]=n-a.left,r[1]=i-a.top,r}function zlt(e){return e===window||e===document||e===document.body?Dlt:e.getBoundingClientRect()}});var VL=ye((yar,jse)=>{"use strict";var qlt=lO();function Olt(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(r){e=!1}return e}jse.exports=qlt&&Olt()});var Xse=ye((_ar,Wse)=>{"use strict";Wse.exports=function(t,r,n,i,a){var o=(t-n)/(i-n),s=o+r/(i-n),l=(o+s)/2;return a==="left"||a==="bottom"?o:a==="center"||a==="middle"?l:a==="right"||a==="top"?s:o<2/3-l?o:s>4/3-l?s:l}});var Kse=ye((xar,Yse)=>{"use strict";var Zse=Pr(),Blt=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];Yse.exports=function(t,r,n,i){return n==="left"?t=0:n==="center"?t=1:n==="right"?t=2:t=Zse.constrain(Math.floor(t*3),0,2),i==="bottom"?r=0:i==="middle"?r=1:i==="top"?r=2:r=Zse.constrain(Math.floor(r*3),0,2),Blt[r][t]}});var $se=ye((bar,Jse)=>{"use strict";var Nlt=L3(),Ult=j6(),Vlt=jS().getGraphDiv,Glt=US(),EB=Jse.exports={};EB.wrapped=function(e,t,r){e=Vlt(e),e._fullLayout&&Ult.clear(e._fullLayout._uid+Glt.HOVERID),EB.raw(e,t,r)};EB.raw=function(t,r){var n=t._fullLayout,i=t._hoverdata;r||(r={}),!(r.target&&!t._dragged&&Nlt.triggerHandler(t,"plotly_beforehover",r)===!1)&&(n._hoverlayer.selectAll("g").remove(),n._hoverlayer.selectAll("line").remove(),n._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,r.target&&i&&t.emit("plotly_unhover",{event:r,points:i}))}});var yv=ye((war,rle)=>{"use strict";var Hlt=Hse(),kB=cO(),jlt=VL(),Wlt=Pr().removeElement,Xlt=Rh(),Ub=rle.exports={};Ub.align=Xse();Ub.getCursor=Kse();var ele=$se();Ub.unhover=ele.wrapped;Ub.unhoverRaw=ele.raw;Ub.init=function(t){var r=t.gd,n=1,i=r._context.doubleClickDelay,a=t.element,o,s,l,u,c,f,h,d;r._mouseDownTime||(r._mouseDownTime=0),a.style.pointerEvents="all",a.onmousedown=b,jlt?(a._ontouchstart&&a.removeEventListener("touchstart",a._ontouchstart),a._ontouchstart=b,a.addEventListener("touchstart",b,{passive:!1})):a.ontouchstart=b;function v(M,T,L){return Math.abs(M)i&&(n=Math.max(n-1,1)),r._dragged)t.doneFn&&t.doneFn();else{var T;f.target===h?T=f:(T={target:h,srcElement:h,toElement:h},Object.keys(f).concat(Object.keys(f.__proto__)).forEach(L=>{var x=f[L];!T[L]&&typeof x!="function"&&(T[L]=x)})),t.clickFn&&t.clickFn(n,T),d||h.dispatchEvent(new MouseEvent("click",M))}r._dragging=!1,r._dragged=!1}};function tle(){var e=document.createElement("div");e.className="dragcover";var t=e.style;return t.position="fixed",t.left=0,t.right=0,t.top=0,t.bottom=0,t.zIndex=999999999,t.background="none",document.body.appendChild(e),e}Ub.coverSlip=tle;function Qse(e){return Hlt(e.changedTouches?e.changedTouches[0]:e,document.body)}});var Eg=ye((Tar,ile)=>{"use strict";ile.exports=function(t,r){(t.attr("class")||"").split(" ").forEach(function(n){n.indexOf("cursor-")===0&&t.classed(n,!1)}),r&&t.classed("cursor-"+r,!0)}});var ole=ye((Aar,ale)=>{"use strict";var CB=Eg(),gM="data-savedcursor",nle="!!";ale.exports=function(t,r){var n=t.attr(gM);if(r){if(!n){for(var i=(t.attr("class")||"").split(" "),a=0;a{"use strict";var LB=ec(),Zlt=Ih();sle.exports={_isSubplotObj:!0,visible:{valType:"boolean",dflt:!0,editType:"legend"},bgcolor:{valType:"color",editType:"legend"},bordercolor:{valType:"color",dflt:Zlt.defaultLine,editType:"legend"},maxheight:{valType:"number",min:0,editType:"legend"},borderwidth:{valType:"number",min:0,dflt:0,editType:"legend"},font:LB({editType:"legend"}),grouptitlefont:LB({editType:"legend"}),orientation:{valType:"enumerated",values:["v","h"],dflt:"v",editType:"legend"},traceorder:{valType:"flaglist",flags:["reversed","grouped"],extras:["normal"],editType:"legend"},tracegroupgap:{valType:"number",min:0,dflt:10,editType:"legend"},entrywidth:{valType:"number",min:0,editType:"legend"},entrywidthmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"pixels",editType:"legend"},indentation:{valType:"number",min:-15,dflt:0,editType:"legend"},itemsizing:{valType:"enumerated",values:["trace","constant"],dflt:"trace",editType:"legend"},itemwidth:{valType:"number",min:30,dflt:30,editType:"legend"},itemclick:{valType:"enumerated",values:["toggle","toggleothers",!1],dflt:"toggle",editType:"legend"},itemdoubleclick:{valType:"enumerated",values:["toggle","toggleothers",!1],dflt:"toggleothers",editType:"legend"},groupclick:{valType:"enumerated",values:["toggleitem","togglegroup"],dflt:"togglegroup",editType:"legend"},titleclick:{valType:"enumerated",values:["toggle","toggleothers",!1],editType:"legend"},titledoubleclick:{valType:"enumerated",values:["toggle","toggleothers",!1],editType:"legend"},x:{valType:"number",editType:"legend"},xref:{valType:"enumerated",dflt:"paper",values:["container","paper"],editType:"layoutstyle"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"legend"},y:{valType:"number",editType:"legend"},yref:{valType:"enumerated",dflt:"paper",values:["container","paper"],editType:"layoutstyle"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],editType:"legend"},uirevision:{valType:"any",editType:"none"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"legend"},title:{text:{valType:"string",dflt:"",editType:"legend"},font:LB({editType:"legend"}),side:{valType:"enumerated",values:["top","left","top left","top center","top right"],editType:"legend"},editType:"legend"},editType:"legend"}});var yM=ye(mM=>{"use strict";mM.isGrouped=function(t){return(t.traceorder||"").indexOf("grouped")!==-1};mM.isVertical=function(t){return t.orientation!=="h"};mM.isReversed=function(t){return(t.traceorder||"").indexOf("reversed")!==-1};mM.getId=function(t){return t._id||"legend"}});var RB=ye((Ear,lle)=>{"use strict";var GL=Oa(),Yp=Pr(),Ylt=vl(),Klt=Gl(),Jlt=PB(),$lt=b3(),IB=yM();function Qlt(e,t,r,n,i){var a=t[e]||{},o=Ylt.newContainer(r,e);function s(H,ie){return Yp.coerce(a,o,Jlt,H,ie)}var l=Yp.coerceFont(s,"font",r.font);s("bgcolor",r.paper_bgcolor),s("bordercolor");var u=s("visible");if(!u)return;var c,f=function(H,ie){var ae=c._input,_e=c;return Yp.coerce(ae,_e,Klt,H,ie)},h=r.font||{},d=Yp.coerceFont(s,"grouptitlefont",h,{overrideDflt:{size:Math.round(h.size*1.1)}}),v=0,m=!1,b="normal",p=(r.shapes||[]).filter(function(H){return H.showlegend});function k(H){return GL.traceIs(H,"pie-like")&&H._length!=null&&(Array.isArray(H.legend)||Array.isArray(H.showlegend))}n.filter(k).forEach(function(H){H.visible&&v++;for(var ie=0;ieH.legend.length)for(var _e=H.legend.length;_e(e==="legend"?1:0));if(x===!1&&(r[e]=void 0),!(x===!1&&!a.uirevision)&&(s("uirevision",r.uirevision),x!==!1)){s("borderwidth");var C=s("orientation"),S=s("yref"),g=s("xref"),P=C==="h",E=S==="paper",z=g==="paper",q,V,G,Z="left";P?(q=0,GL.getComponentMethod("rangeslider","isVisible")(t.xaxis)?E?(V=1.1,G="bottom"):(V=1,G="top"):E?(V=-.1,G="top"):(V=0,G="bottom")):(V=1,G="auto",z?q=1.02:(q=1,Z="right")),Yp.coerce(a,o,{x:{valType:"number",editType:"legend",min:z?-2:0,max:z?3:1,dflt:q}},"x"),Yp.coerce(a,o,{y:{valType:"number",editType:"legend",min:E?-2:0,max:E?3:1,dflt:V}},"y"),s("traceorder",b),IB.isGrouped(r[e])&&s("tracegroupgap"),s("entrywidth"),s("entrywidthmode"),s("indentation"),s("itemsizing"),s("itemwidth"),s("itemclick"),s("itemdoubleclick"),s("groupclick"),s("xanchor",Z),s("yanchor",G),s("maxheight"),s("valign"),Yp.noneOrAll(a,o,["x","y"]);var j=s("title.text");if(j){s("title.side",P?"left":"top");var N=Yp.extendFlat({},l,{size:Yp.bigFont(l.size)});Yp.coerceFont(s,"title.font",N);let H=i>1;s("titleclick",H?"toggle":!1),s("titledoubleclick",H?"toggleothers":!1)}}}lle.exports=function(t,r,n){var i,a=n.slice(),o=r.shapes;if(o)for(i=0;i{"use strict";var p_=Oa(),DB=Pr(),eut=DB.pushUnique,tut=yM(),ule=!0;FB.handleItemClick=function(t,r,n,i){var a=r._fullLayout;if(r._dragged||r._editing)return;var o=t.data()[0][0];if(o.groupTitle&&o.noClick)return;var s=n.groupclick;i==="toggle"&&n.itemdoubleclick==="toggleothers"&&ule&&r.data&&r._context.showTips&&(DB.notifier(DB._(r,"Double-click on legend to isolate one trace"),"long",r),ule=!1);var l=s==="togglegroup",u=a.hiddenlabels?a.hiddenlabels.slice():[],c=r._fullData;let f=(a.shapes||[]).filter(at=>at.showlegend||at.legendgroup);var h=c.concat(f),d=o.trace;d._isShape&&(d=d._fullInput);var v=d.legendgroup,m,b,p,k,M,T,L={},x=[],C=[],S=[];function g(at,ct){var ar=x.indexOf(at),Vt=L.visible;return Vt||(Vt=L.visible=[]),x.indexOf(at)===-1&&(x.push(at),ar=x.length-1),Vt[ar]=ct,ar}var P=(a.shapes||[]).map(function(at){return at._input}),E=!1;function z(at,ct){P[at].visible=ct,E=!0}function q(at,ct){if(!(o.groupTitle&&!l)){var ar=at._fullInput||at,Vt=ar._isShape,rr=ar.index;rr===void 0&&(rr=ar._index);var tt=ar.visible===!1?!1:ct;Vt?z(rr,tt):g(rr,tt)}}var V=d.legend,G=d._fullInput,Z=G&&G._isShape;if(!Z&&p_.traceIs(d,"pie-like")){var j=o.label,N=u.indexOf(j);if(i==="toggle")N===-1?u.push(j):u.splice(N,1);else if(i==="toggleothers"){var H=N!==-1,ie=[];for(m=0;mp.showlegend||p.legendgroup),l=a.concat(s);function u(p){return(p.legend||"legend")===o}var c,f;if(n==="toggle")c=!l.some(function(k){return u(k)&&k.visible===!0}),f=!1;else{let p=l.some(function(k){return!u(k)&&k.visible===!0&&k.showlegend!==!1});c=!0,f=!p}let h={visible:[]},d=[],v=(i.shapes||[]).map(function(p){return p._input});for(var m=!1,b=0;b{"use strict";cle.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:"#808BA4",scrollBarMargin:4,scrollBarEnterAttrs:{rx:20,ry:3,width:0,height:0},titlePad:2,itemGap:5}});var dle=ye((Lar,hle)=>{"use strict";var{isArrayOrTypedArray:OB}=Yd(),fle=Oa(),BB=yM();hle.exports=function(t,r,n){var i=r._inHover,a=BB.isGrouped(r),o=BB.isReversed(r),s={},l=[],u=!1,c={},f=0,h=0,d,v;function m(ie,ae,_e){if(r.visible!==!1&&!(n&&ie!==r._id))if(ae===""||!BB.isGrouped(r)){var Ee="~~i"+f;l.push(Ee),s[Ee]=[_e],f++}else l.indexOf(ae)===-1?(l.push(ae),u=!0,s[ae]=[_e]):s[ae].push(_e)}for(d=0;dq&&(E=q)}g[d][0]._groupMinRank=E,g[d][0]._preGroupSort=d}var V=function(ie,ae){return ie[0]._groupMinRank-ae[0]._groupMinRank||ie[0]._preGroupSort-ae[0]._preGroupSort},G=function(ie,ae){var _e=OB(ie.trace.legendrank)?ie.trace.legendrank[ie.i]:ie.trace.legendrank,Ee=OB(ae.trace.legendrank)?ae.trace.legendrank[ae.i]:ae.trace.legendrank;return _e-Ee||ie._preSort-ae._preSort};for(g.forEach(function(ie,ae){ie[0]._preGroupSort=ae}),g.sort(V),d=0;d{"use strict";var HL=Pr();function vle(e){return e.indexOf("e")!==-1?e.replace(/[.]?0+e/,"e"):e.indexOf(".")!==-1?e.replace(/[.]?0+$/,""):e}Vb.formatPiePercent=function(t,r){var n=vle((t*100).toPrecision(3));return HL.numSeparate(n,r)+"%"};Vb.formatPieValue=function(t,r){var n=vle(t.toPrecision(10));return HL.numSeparate(n,r)};Vb.getFirstFilled=function(t,r){if(HL.isArrayOrTypedArray(t))for(var n=0;n{"use strict";var rut=So(),iut=ka();ple.exports=function(t,r,n,i){var a=n.marker.pattern;a&&a.shape?rut.pointStyle(t,n,i,r):iut.fill(t,r.color)}});var Y3=ye((Rar,_le)=>{"use strict";var mle=ka(),yle=g_().castOption,nut=gle();_le.exports=function(t,r,n,i){var a=n.marker.line,o=yle(a.color,r.pts)||mle.defaultLine,s=yle(a.width,r.pts)||0;t.call(nut,r,n,i).style("stroke-width",s).call(mle.stroke,o)}});var GB=ye((Dar,Sle)=>{"use strict";var Ov=qa(),NB=Oa(),_v=Pr(),xle=_v.strTranslate,Kp=So(),T0=ka(),UB=pv().extractOpts,jL=Ru(),aut=Y3(),out=g_().castOption,sut=qB(),ble=12,wle=5,Gb=2,lut=10,K3=5;Sle.exports=function(t,r,n){var i=r._fullLayout;n||(n=i.legend);var a=n.itemsizing==="constant",o=n.itemwidth,s=(o+sut.itemGap*2)/2,l=xle(s,0),u=function(C,S,g,P){var E;if(C+1)E=C;else if(S&&S.width>0)E=S.width;else return 0;return a?P:Math.min(E,g)};t.each(function(C){var S=Ov.select(this),g=_v.ensureSingle(S,"g","layers");g.style("opacity",C[0].trace.opacity);var P=n.indentation,E=n.valign,z=C[0].lineHeight,q=C[0].height;if(E==="middle"&&P===0||!z||!q)g.attr("transform",null);else{var V={top:1,bottom:-1}[E],G=V*(.5*(z-q+3))||0,Z=n.indentation;g.attr("transform",xle(Z,G))}var j=g.selectAll("g.legendfill").data([C]);j.enter().append("g").classed("legendfill",!0);var N=g.selectAll("g.legendlines").data([C]);N.enter().append("g").classed("legendlines",!0);var H=g.selectAll("g.legendsymbols").data([C]);H.enter().append("g").classed("legendsymbols",!0),H.selectAll("g.legendpoints").data([C]).enter().append("g").classed("legendpoints",!0)}).each(x).each(h).each(v).each(d).each(b).each(T).each(M).each(c).each(f).each(p).each(k);function c(C){var S=Tle(C),g=S.showFill,P=S.showLine,E=S.showGradientLine,z=S.showGradientFill,q=S.anyFill,V=S.anyLine,G=C[0],Z=G.trace,j,N,H=UB(Z),ie=H.colorscale,ae=H.reversescale,_e=function(be){if(be.size())if(g)Kp.fillGroupStyle(be,r,!0);else{var Be="legendfill-"+Z.uid;Kp.gradient(be,r,Be,VB(ae),ie,"fill")}},Ee=function(be){if(be.size()){var Be="legendline-"+Z.uid;Kp.lineGroupStyle(be),Kp.gradient(be,r,Be,VB(ae),ie,"stroke")}},Ce=jL.hasMarkers(Z)||!q?"M5,0":V?"M5,-2":"M5,-3",ge=Ov.select(this),re=ge.select(".legendfill").selectAll("path").data(g||z?[C]:[]);if(re.enter().append("path").classed("js-fill",!0),re.exit().remove(),re.attr("d",Ce+"h"+o+"v6h-"+o+"z").call(_e),P||E){var Se=u(void 0,Z.line,lut,wle);N=_v.minExtend(Z,{line:{width:Se}}),j=[_v.minExtend(G,{trace:N})]}var ke=ge.select(".legendlines").selectAll("path").data(P||E?[j]:[]);ke.enter().append("path").classed("js-line",!0),ke.exit().remove(),ke.attr("d",Ce+(E?"l"+o+",0.0001":"h"+o)).call(P?Kp.lineGroupStyle:Ee)}function f(C){var S=Tle(C),g=S.anyFill,P=S.anyLine,E=S.showLine,z=S.showMarker,q=C[0],V=q.trace,G=!z&&!P&&!g&&jL.hasText(V),Z,j;function N(re,Se,ke,be){var Be=_v.nestedProperty(V,re).get(),Le=_v.isArrayOrTypedArray(Be)&&Se?Se(Be):Be;if(a&&Le&&be!==void 0&&(Le=be),ke){if(Leke[1])return ke[1]}return Le}function H(re){return q._distinct&&q.index&&re[q.index]?re[q.index]:re[0]}if(z||G||E){var ie={},ae={};if(z){ie.mc=N("marker.color",H),ie.mx=N("marker.symbol",H),ie.mo=N("marker.opacity",_v.mean,[.2,1]),ie.mlc=N("marker.line.color",H),ie.mlw=N("marker.line.width",_v.mean,[0,5],Gb),ie.mld=V._isShape?"solid":N("marker.line.dash",H),ae.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var _e=N("marker.size",_v.mean,[2,16],ble);ie.ms=_e,ae.marker.size=_e}E&&(ae.line={width:N("line.width",H,[0,10],wle)}),G&&(ie.tx="Aa",ie.tp=N("textposition",H),ie.ts=10,ie.tc=N("textfont.color",H),ie.tf=N("textfont.family",H),ie.tw=N("textfont.weight",H),ie.ty=N("textfont.style",H),ie.tv=N("textfont.variant",H),ie.tC=N("textfont.textcase",H),ie.tE=N("textfont.lineposition",H),ie.tS=N("textfont.shadow",H)),Z=[_v.minExtend(q,ie)],j=_v.minExtend(V,ae),j.selectedpoints=null,j.texttemplate=null}var Ee=Ov.select(this).select("g.legendpoints"),Ce=Ee.selectAll("path.scatterpts").data(z?Z:[]);Ce.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",l),Ce.exit().remove(),Ce.call(Kp.pointStyle,j,r),z&&(Z[0].mrc=3);var ge=Ee.selectAll("g.pointtext").data(G?Z:[]);ge.enter().append("g").classed("pointtext",!0).append("text").attr("transform",l),ge.exit().remove(),ge.selectAll("text").call(Kp.textPointStyle,j,r)}function h(C){var S=C[0].trace,g=S.type==="waterfall";if(C[0]._distinct&&g){var P=C[0].trace[C[0].dir].marker;return C[0].mc=P.color,C[0].mlw=P.line.width,C[0].mlc=P.line.color,m(C,this,"waterfall")}var E=[];S.visible&&g&&(E=C[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 z=Ov.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(E);z.enter().append("path").classed("legendwaterfall",!0).attr("transform",l).style("stroke-miterlimit",1),z.exit().remove(),z.each(function(q){var V=Ov.select(this),G=S[q[0]].marker,Z=u(void 0,G.line,K3,Gb);V.attr("d",q[1]).style("stroke-width",Z+"px").call(T0.fill,G.color),Z&&V.call(T0.stroke,G.line.color)})}function d(C){m(C,this)}function v(C){m(C,this,"funnel")}function m(C,S,g){var P=C[0].trace,E=P.marker||{},z=E.line||{},q=E.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",V=g?P.visible&&P.type===g:NB.traceIs(P,"bar"),G=Ov.select(S).select("g.legendpoints").selectAll("path.legend"+g).data(V?[C]:[]);G.enter().append("path").classed("legend"+g,!0).attr("d",q).attr("transform",l),G.exit().remove(),G.each(function(Z){var j=Ov.select(this),N=Z[0],H=u(N.mlw,E.line,K3,Gb);j.style("stroke-width",H+"px");var ie=N.mcc;if(!n._inHover&&"mc"in N){var ae=UB(E),_e=ae.mid;_e===void 0&&(_e=(ae.max+ae.min)/2),ie=Kp.tryColorscale(E,"")(_e)}var Ee=ie||N.mc||E.color,Ce=E.pattern,ge=Kp.getPatternAttr,re=Ce&&(ge(Ce.shape,0,"")||ge(Ce.path,0,""));if(re){var Se=ge(Ce.bgcolor,0,null),ke=ge(Ce.fgcolor,0,null),be=Ce.fgopacity,Be=Ale(Ce.size,8,10),Le=Ale(Ce.solidity,.5,1),me="legend-"+P.uid;j.call(Kp.pattern,"legend",r,me,re,Be,Le,ie,Ce.fillmode,Se,ke,be)}else j.call(T0.fill,Ee);H&&T0.stroke(j,N.mlc||z.color)})}function b(C){var S=C[0].trace,g=Ov.select(this).select("g.legendpoints").selectAll("path.legendbox").data(S.visible&&NB.traceIs(S,"box-violin")?[C]:[]);g.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",l),g.exit().remove(),g.each(function(){var P=Ov.select(this);if((S.boxpoints==="all"||S.points==="all")&&T0.opacity(S.fillcolor)===0&&T0.opacity((S.line||{}).color)===0){var E=_v.minExtend(S,{marker:{size:a?ble:_v.constrain(S.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});g.call(Kp.pointStyle,E,r)}else{var z=u(void 0,S.line,K3,Gb);P.style("stroke-width",z+"px").call(T0.fill,S.fillcolor),z&&T0.stroke(P,S.line.color)}})}function p(C){var S=C[0].trace,g=Ov.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(S.visible&&S.type==="candlestick"?[C,C]:[]);g.enter().append("path").classed("legendcandle",!0).attr("d",function(P,E){return E?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"}).attr("transform",l).style("stroke-miterlimit",1),g.exit().remove(),g.each(function(P,E){var z=Ov.select(this),q=S[E?"increasing":"decreasing"],V=u(void 0,q.line,K3,Gb);z.style("stroke-width",V+"px").call(T0.fill,q.fillcolor),V&&T0.stroke(z,q.line.color)})}function k(C){var S=C[0].trace,g=Ov.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(S.visible&&S.type==="ohlc"?[C,C]:[]);g.enter().append("path").classed("legendohlc",!0).attr("d",function(P,E){return E?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"}).attr("transform",l).style("stroke-miterlimit",1),g.exit().remove(),g.each(function(P,E){var z=Ov.select(this),q=S[E?"increasing":"decreasing"],V=u(void 0,q.line,K3,Gb);z.style("fill","none").call(Kp.dashLine,q.line.dash,V),V&&T0.stroke(z,q.line.color)})}function M(C){L(C,this,"pie")}function T(C){L(C,this,"funnelarea")}function L(C,S,g){var P=C[0],E=P.trace,z=g?E.visible&&E.type===g:NB.traceIs(E,g),q=Ov.select(S).select("g.legendpoints").selectAll("path.legend"+g).data(z?[C]:[]);if(q.enter().append("path").classed("legend"+g,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",l),q.exit().remove(),q.size()){var V=E.marker||{},G=u(out(V.line.width,P.pts),V.line,K3,Gb),Z="pieLike",j=_v.minExtend(E,{marker:{line:{width:G}}},Z),N=_v.minExtend(P,{trace:j},Z);aut(q,N,j,r)}}function x(C){var S=C[0].trace,g,P=[];if(S.visible)switch(S.type){case"histogram2d":case"heatmap":P=[["M-15,-2V4H15V-2Z"]],g=!0;break;case"choropleth":case"choroplethmapbox":case"choroplethmap":P=[["M-6,-6V6H6V-6Z"]],g=!0;break;case"densitymapbox":case"densitymap":P=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],g="radial";break;case"cone":P=[["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"]],g=!1;break;case"streamtube":P=[["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"]],g=!1;break;case"surface":P=[["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"]],g=!0;break;case"mesh3d":P=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],g=!1;break;case"volume":P=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],g=!0;break;case"isosurface":P=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],g=!1;break}var E=Ov.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(P);E.enter().append("path").classed("legend3dandfriends",!0).attr("transform",l).style("stroke-miterlimit",1),E.exit().remove(),E.each(function(z,q){var V=Ov.select(this),G=UB(S),Z=G.colorscale,j=G.reversescale,N=function(_e){if(_e.size()){var Ee="legendfill-"+S.uid;Kp.gradient(_e,r,Ee,VB(j,g==="radial"),Z,"fill")}},H;if(Z){if(!g){var ae=Z.length;H=q===0?Z[j?ae-1:0][1]:q===1?Z[j?0:ae-1][1]:Z[Math.floor((ae-1)/2)][1]}}else{var ie=S.vertexcolor||S.facecolor||S.color;H=_v.isArrayOrTypedArray(ie)?ie[q]||ie[0]:ie}V.attr("d",z[0]),H?V.call(T0.fill,H):V.call(N)})}};function VB(e,t){var r=t?"radial":"horizontal";return r+(e?"":"reversed")}function Tle(e){var t=e[0].trace,r=t.contours,n=jL.hasLines(t),i=jL.hasMarkers(t),a=t.visible&&t.fill&&t.fill!=="none",o=!1,s=!1;if(r){var l=r.coloring;l==="lines"?o=!0:n=l==="none"||l==="heatmap"||r.showlines,r.type==="constraint"?a=r._operation!=="=":(l==="fill"||l==="heatmap")&&(s=!0)}return{showMarker:i,showLine:n,showFill:a,showGradientLine:o,showGradientFill:s,anyLine:n||o,anyFill:a||s}}function Ale(e,t,r){return e&&_v.isArrayOrTypedArray(e)?t:e>r?r:e}});var XB=ye((Far,Dle)=>{"use strict";var np=qa(),vh=Pr(),jB=Mc(),Hb=Oa(),ZL=L3(),HB=yv(),ph=So(),_M=ka(),jb=Zl(),Mle=zB().handleItemClick,Ele=zB().handleTitleClick,qh=qB(),WB=Dh(),Ile=WB.LINE_SPACING,$3=WB.FROM_TL,kle=WB.FROM_BR,Cle=dle(),uut=GB(),Q3=yM(),J3=1,cut=/^legend[0-9]*$/;Dle.exports=function(t,r){if(r)Lle(t,r);else{var n=t._fullLayout,i=n._legends,a=n._infolayer.selectAll('[class^="legend"]');a.each(function(){var u=np.select(this),c=u.attr("class"),f=c.split(" ")[0];f.match(cut)&&i.indexOf(f)===-1&&u.remove()});for(var o=0;o1)}var v=n.hiddenlabels||[];if(!s&&(!n.showlegend||!l.length))return o.selectAll("."+i).remove(),n._topdefs.select("#"+a).remove(),jB.autoMargin(e,i);var m=vh.ensureSingle(o,"g",i,function(S){s||S.attr("pointer-events","all")}),b=vh.ensureSingleById(n._topdefs,"clipPath",a,function(S){S.append("rect")}),p=vh.ensureSingle(m,"rect","bg",function(S){S.attr("shape-rendering","crispEdges")});p.call(_M.stroke,r.bordercolor).call(_M.fill,r.bgcolor).style("stroke-width",r.borderwidth+"px");var k=vh.ensureSingle(m,"g","scrollbox"),M=r.title;r._titleWidth=0,r._titleHeight=0;var T;M.text?(T=vh.ensureSingle(k,"text",i+"titletext"),T.attr("text-anchor","start").call(ph.font,M.font).text(M.text),XL(T,k,e,r,J3),!s&&(r.titleclick||r.titledoubleclick)&&vut(k,e,r,i)):(k.selectAll("."+i+"titletext").remove(),k.selectAll("."+i+"titletoggle").remove());var L=vh.ensureSingle(m,"rect","scrollbar",function(S){S.attr(qh.scrollBarEnterAttrs).call(_M.fill,qh.scrollBarColor)}),x=k.selectAll("g.groups").data(l);x.enter().append("g").attr("class","groups"),x.exit().remove();var C=x.selectAll("g.traces").data(vh.identity);C.enter().append("g").attr("class","traces"),C.exit().remove(),C.style("opacity",function(S){let g=S[0],P=g.trace;if(g.groupTitle){let E=P.legendgroup,z=(n.shapes||[]).filter(function(V){return V.showlegend});return e._fullData.concat(z).some(function(V){return V.legendgroup===E&&(V.legend||"legend")===i&&V.visible===!0})?1:.5}return Hb.traceIs(P,"pie-like")?v.indexOf(S[0].label)!==-1?.5:1:P.visible==="legendonly"?.5:1}).each(function(){np.select(this).call(hut,e,r)}).call(uut,e,r).each(function(S){s||S[0].groupTitle&&r.groupclick==="toggleitem"||np.select(this).call(dut,e,i)}),vh.syncOrAsync([jB.previousPromises,function(){return mut(e,x,C,r,k)},function(){var S=n._size,g=r.borderwidth,P=r.xref==="paper",E=r.yref==="paper";if(M.text){let He=(n.shapes||[]).filter(function(mt){return mt.showlegend}),lt=e._fullData.concat(He).some(function(mt){let Ht=mt.legend||"legend";var at=Array.isArray(Ht)?Ht.includes(i):Ht===i;return at&&mt.visible===!0});T.style("opacity",lt?1:.5)}if(!s){var z,q;P?z=S.l+S.w*r.x-$3[YL(r)]*r._width:z=n.width*r.x-$3[YL(r)]*r._width,E?q=S.t+S.h*(1-r.y)-$3[KL(r)]*r._effHeight:q=n.height*(1-r.y)-$3[KL(r)]*r._effHeight;var V=yut(e,i,z,q);if(V)return;if(n.margin.autoexpand){var G=z,Z=q;z=P?vh.constrain(z,0,n.width-r._width):G,q=E?vh.constrain(q,0,n.height-r._effHeight):Z,z!==G&&vh.log("Constrain "+i+".x to make legend fit inside graph"),q!==Z&&vh.log("Constrain "+i+".y to make legend fit inside graph")}ph.setTranslate(m,z,q)}if(L.on(".drag",null),m.on("wheel",null),s||r._height<=r._maxHeight||e._context.staticPlot){var j=r._effHeight;s&&(j=r._height),p.attr({width:r._width-g,height:j-g,x:g/2,y:g/2}),ph.setTranslate(k,0,0),b.select("rect").attr({width:r._width-2*g,height:j-2*g,x:g,y:g}),ph.setClipUrl(k,a,e),ph.setRect(L,0,0,0,0),delete r._scrollY}else{var N=Math.max(qh.scrollBarMinHeight,r._effHeight*r._effHeight/r._height),H=r._effHeight-N-2*qh.scrollBarMargin,ie=r._height-r._effHeight,ae=H/ie,_e=Math.min(r._scrollY||0,ie);p.attr({width:r._width-2*g+qh.scrollBarWidth+qh.scrollBarMargin,height:r._effHeight-g,x:g/2,y:g/2}),b.select("rect").attr({width:r._width-2*g+qh.scrollBarWidth+qh.scrollBarMargin,height:r._effHeight-2*g,x:g,y:g+_e}),ph.setClipUrl(k,a,e),Be(_e,N,ae),m.on("wheel",function(){_e=vh.constrain(r._scrollY+np.event.deltaY/ie*H,0,ie),Be(_e,N,ae),_e!==0&&_e!==ie&&np.event.preventDefault()});var Ee,Ce,ge,re=function(He,lt,mt){var Ht=(mt-lt)/ae+He;return vh.constrain(Ht,0,ie)},Se=function(He,lt,mt){var Ht=(lt-mt)/ae+He;return vh.constrain(Ht,0,ie)},ke=np.behavior.drag().on("dragstart",function(){var He=np.event.sourceEvent;He.type==="touchstart"?Ee=He.changedTouches[0].clientY:Ee=He.clientY,ge=_e}).on("drag",function(){var He=np.event.sourceEvent;He.buttons===2||He.ctrlKey||(He.type==="touchmove"?Ce=He.changedTouches[0].clientY:Ce=He.clientY,_e=re(ge,Ee,Ce),Be(_e,N,ae))});L.call(ke);var be=np.behavior.drag().on("dragstart",function(){var He=np.event.sourceEvent;He.type==="touchstart"&&(Ee=He.changedTouches[0].clientY,ge=_e)}).on("drag",function(){var He=np.event.sourceEvent;He.type==="touchmove"&&(Ce=He.changedTouches[0].clientY,_e=Se(ge,Ee,Ce),Be(_e,N,ae))});k.call(be)}function Be(He,lt,mt){r._scrollY=e._fullLayout[i]._scrollY=He,ph.setTranslate(k,0,-He),ph.setRect(L,r._width,qh.scrollBarMargin+He*mt,qh.scrollBarWidth,lt),b.select("rect").attr("y",g+He)}if(e._context.edits.legendPosition){var Le,me,Pe,ce;m.classed("cursor-move",!0),HB.init({element:m.node(),gd:e,prepFn:function(He){if(He.target!==L.node()){var lt=ph.getTranslate(m);Pe=lt.x,ce=lt.y}},moveFn:function(He,lt){if(Pe!==void 0&&ce!==void 0){var mt=Pe+He,Ht=ce+lt;ph.setTranslate(m,mt,Ht),Le=HB.align(mt,r._width,S.l,S.l+S.w,r.xanchor),me=HB.align(Ht+r._height,-r._height,S.t+S.h,S.t,r.yanchor)}},doneFn:function(){if(Le!==void 0&&me!==void 0){var He={};He[i+".x"]=Le,He[i+".y"]=me,Hb.call("_guiRelayout",e,He)}},clickFn:function(He,lt){var mt=o.selectAll("g.traces").filter(function(){var Ht=this.getBoundingClientRect();return lt.clientX>=Ht.left&<.clientX<=Ht.right&<.clientY>=Ht.top&<.clientY<=Ht.bottom});mt.size()>0&&Rle(e,r,mt,He,lt)}})}}],e)}}function WL(e,t,r){var n=e[0],i=n.width,a=t.entrywidthmode,o=n.trace.legendwidth||t.entrywidth;return a==="fraction"?t._maxWidth*o:r+(o||i)}function Rle(e,t,r,n,i){var a=e._fullLayout,o=r.data()[0][0].trace,s=t.itemclick,l=t.itemdoubleclick,u={event:i,node:r.node(),curveNumber:o.index,expandedIndex:o.index,data:e.data,layout:e.layout,frames:e._transitionData._frames,config:e._context,fullData:e._fullData,fullLayout:a};o._group&&(u.group=o._group),Hb.traceIs(o,"pie-like")&&(u.label=r.datum()[0].label);var c=ZL.triggerHandler(e,"plotly_legendclick",u);if(n===1){if(c===!1)return;t._clickTimeout=setTimeout(function(){e._fullLayout&&s&&Mle(r,e,t,s)},e._context.doubleClickDelay)}else if(n===2){t._clickTimeout&&clearTimeout(t._clickTimeout),e._legendMouseDownTime=0;var f=ZL.triggerHandler(e,"plotly_legenddoubleclick",u);f!==!1&&c!==!1&&l&&Mle(r,e,t,l)}}function hut(e,t,r){var n=Q3.getId(r),i=e.data()[0][0],a=i.trace,o=Hb.traceIs(a,"pie-like"),s=!r._inHover&&t._context.edits.legendText&&!o,l=r._maxNameLength,u,c;i.groupTitle?(u=i.groupTitle.text,c=i.groupTitle.font):(c=r.font,r.entries?u=i.text:(u=o?i.label:a.name,a._meta&&(u=vh.templateString(u,a._meta))));var f=vh.ensureSingle(e,"text",n+"text");f.attr("text-anchor","start").call(ph.font,c).text(s?Ple(u,l):u);var h=r.indentation+r.itemwidth+qh.itemGap*2;jb.positionText(f,h,0),s?f.call(jb.makeEditable,{gd:t,text:u}).call(XL,e,t,r).on("edit",function(d){this.text(Ple(d,l)).call(XL,e,t,r);var v=i.trace._fullInput||{},m={};return m.name=d,v._isShape?Hb.call("_guiRelayout",t,"shapes["+a.index+"].name",m.name):Hb.call("_guiRestyle",t,m,a.index)}):XL(f,e,t,r)}function Ple(e,t){var r=Math.max(4,t);if(e&&e.trim().length>=r/2)return e;e=e||"";for(var n=r-e.length;n>0;n--)e+=" ";return e}function dut(e,t,r){var n=t._context.doubleClickDelay,i,a=1,o=vh.ensureSingle(e,"rect",r+"toggle",function(s){t._context.staticPlot||s.style("cursor","pointer").attr("pointer-events","all"),s.call(_M.fill,"rgba(0,0,0,0)")});t._context.staticPlot||(o.on("mousedown",function(){i=new Date().getTime(),i-t._legendMouseDownTimen&&(a=Math.max(a-1,1)),Rle(t,s,e,a,np.event)}}))}function vut(e,t,r,n){if(t._fullData.some(function(u){let c=u.legend||"legend";return(Array.isArray(c)?c.includes(n):c===n)&&Hb.traceIs(u,"pie-like")}))return;let a=t._context.doubleClickDelay;var o,s=1;let l=vh.ensureSingle(e,"rect",n+"titletoggle",function(u){t._context.staticPlot||u.style("cursor","pointer").attr("pointer-events","all"),u.call(_M.fill,"rgba(0,0,0,0)")});t._context.staticPlot||(l.on("mousedown",function(){o=new Date().getTime(),o-t._legendMouseDownTimea&&(s=Math.max(s-1,1));let u={event:np.event,legendId:n,data:t.data,layout:t.layout,fullData:t._fullData,fullLayout:t._fullLayout};if(s===1&&r.titleclick){if(ZL.triggerHandler(t,"plotly_legendtitleclick",u)===!1)return;r._titleClickTimeout=setTimeout(function(){t._fullLayout&&Ele(t,r,r.titleclick)},a)}else s===2&&(r._titleClickTimeout&&clearTimeout(r._titleClickTimeout),t._legendMouseDownTime=0,ZL.triggerHandler(t,"plotly_legendtitledoubleclick",u)!==!1&&r.titledoubleclick&&Ele(t,r,r.titledoubleclick))}))}function XL(e,t,r,n,i){n._inHover&&e.attr("data-notex",!0),jb.convertToTspans(e,r,function(){put(t,r,n,i)})}function put(e,t,r,n){var i=e.data()[0][0],a=i&&i.trace.showlegend;if(Array.isArray(a)&&(a=a[i.i]!==!1),!r._inHover&&i&&!a){e.remove();return}var o=e.select("g[class*=math-group]"),s=o.node(),l=Q3.getId(r);r||(r=t._fullLayout[l]);var u=r.borderwidth,c;n===J3?c=r.title.font:i.groupTitle?c=i.groupTitle.font:c=r.font;var f=c.size*Ile,h,d;if(s){var v=ph.bBox(s);h=v.height,d=v.width,n===J3?ph.setTranslate(o,u,u+h*.75):ph.setTranslate(o,0,h*.25)}else{var m="."+l+(n===J3?"title":"")+"text",b=e.select(m),p=jb.lineCount(b),k=b.node();if(h=f*p,d=k?ph.bBox(k).width:0,n===J3)r.title.side==="left"&&(d+=qh.itemGap*2),jb.positionText(b,u+qh.titlePad,u+f);else{var M=qh.itemGap*2+r.indentation+r.itemwidth;i.groupTitle&&(M=qh.itemGap,d-=r.indentation+r.itemwidth),jb.positionText(b,M,-f*((p-1)/2-.3))}}n===J3?(r._titleWidth=d,r._titleHeight=h):(i.lineHeight=f,i.height=Math.max(h,16)+3,i.width=d)}function gut(e){var t=0,r=0,n=e.title.side;return n&&(n.indexOf("left")!==-1&&(t=e._titleWidth),n.indexOf("top")!==-1&&(r=e._titleHeight)),[t,r]}function mut(e,t,r,n,i){var a=e._fullLayout,o=Q3.getId(n);n||(n=a[o]);var s=a._size,l=Q3.isVertical(n),u=Q3.isGrouped(n),c=n.entrywidthmode==="fraction",f=n.borderwidth,h=2*f,d=qh.itemGap,v=n.indentation+n.itemwidth+d*2,m=2*(f+d),b=KL(n),p=n.y<0||n.y===0&&b==="top",k=n.y>1||n.y===1&&b==="bottom",M=n.tracegroupgap,T={};let{orientation:L,yref:x}=n,{maxheight:C}=n,S=p||k||L!=="v"||x!=="paper";C||(C=S?.5:1);let g=S?a.height:s.h;n._maxHeight=Math.max(C>1?C:C*g,30);var P=0;n._width=0,n._height=0;var E=gut(n);if(l)r.each(function(He){var lt=He[0].height;ph.setTranslate(this,f+E[0],f+E[1]+n._height+lt/2+d),n._height+=lt,n._width=Math.max(n._width,He[0].width)}),P=v+n._width,n._width+=d+v+h,n._height+=m,u&&(t.each(function(He,lt){ph.setTranslate(this,0,lt*n.tracegroupgap)}),n._height+=(n._lgroupsLength-1)*n.tracegroupgap);else{var z=YL(n),q=n.x<0||n.x===0&&z==="right",V=n.x>1||n.x===1&&z==="left",G=k||p,Z=a.width/2;n._maxWidth=Math.max(q?G&&z==="left"?s.l+s.w:Z:V?G&&z==="right"?s.r+s.w:Z:s.w,2*v);var j=0,N=0;r.each(function(He){var lt=WL(He,n,v);j=Math.max(j,lt),N+=lt}),P=null;var H=0;if(u){var ie=0,ae=0,_e=0;t.each(function(){var He=0,lt=0;np.select(this).selectAll("g.traces").each(function(Ht){var at=WL(Ht,n,v),ct=Ht[0].height;ph.setTranslate(this,E[0],E[1]+f+d+ct/2+lt),lt+=ct,He=Math.max(He,at),T[Ht[0].trace.legendgroup]=He});var mt=He+d;ae>0&&mt+f+ae>n._maxWidth?(H=Math.max(H,ae),ae=0,_e+=ie+M,ie=lt):ie=Math.max(ie,lt),ph.setTranslate(this,ae,_e),ae+=mt}),n._width=Math.max(H,ae)+f,n._height=_e+ie+m}else{var Ee=r.size(),Ce=N+h+(Ee-1)*d=n._maxWidth&&(H=Math.max(H,ke),re=0,Se+=ge,n._height+=ge,ge=0),ph.setTranslate(this,E[0]+f+re,E[1]+f+Se+lt/2+d),ke=re+mt+d,re+=Ht,ge=Math.max(ge,lt)}),Ce?(n._width=re+h,n._height=ge+m):(n._width=Math.max(H,ke)+h,n._height+=ge+m)}}n._width=Math.ceil(Math.max(n._width+E[0],n._titleWidth+2*(f+qh.titlePad))),n._height=Math.ceil(Math.max(n._height+E[1],n._titleHeight+2*(f+qh.itemGap))),n._effHeight=Math.min(n._height,n._maxHeight);var be=e._context.edits,Be=be.legendText||be.legendPosition;r.each(function(He){var lt=np.select(this).select("."+o+"toggle"),mt=He[0].height,Ht=He[0].trace.legendgroup,at=WL(He,n,v);u&&Ht!==""&&(at=T[Ht]);var ct=Be?v:P||at;!l&&!c&&(ct+=d/2),ph.setRect(lt,0,-mt/2,ct,mt)});var Le=i.select("."+o+"titletext");Le.node()&&fut(Le,n,f);var me=i.select("."+o+"titletoggle");if(me.size()&&Le.node()){var Pe=Le.attr("x")||0,ce=qh.titlePad;ph.setRect(me,Pe-ce,f,n._titleWidth+2*ce,n._titleHeight+2*ce)}}function yut(e,t,r,n){var i=e._fullLayout,a=i[t],o=YL(a),s=KL(a),l=a.xref==="paper",u=a.yref==="paper";e._fullLayout._reservedMargin[t]={};var c=a.y<.5?"b":"t",f=a.x<.5?"l":"r",h={r:i.width-r,l:r+a._width,b:i.height-n,t:n+a._effHeight};if(l&&u)return jB.autoMargin(e,t,{x:a.x,y:a.y,l:a._width*$3[o],r:a._width*kle[o],b:a._effHeight*kle[s],t:a._effHeight*$3[s]});l?e._fullLayout._reservedMargin[t][c]=h[c]:u||a.orientation==="v"?e._fullLayout._reservedMargin[t][f]=h[f]:e._fullLayout._reservedMargin[t][c]=h[c]}function YL(e){return vh.isRightAnchor(e)?"right":vh.isCenterAnchor(e)?"center":"left"}function KL(e){return vh.isBottomAnchor(e)?"bottom":vh.isMiddleAnchor(e)?"middle":"top"}});var JB=ye(KB=>{"use strict";var Wb=qa(),Iy=Eo(),Fle=fd(),zf=Pr(),_ut=zf.pushUnique,ZB=zf.strTranslate,xut=zf.strRotate,but=L3(),A0=Zl(),wut=ole(),Am=So(),vd=ka(),JL=yv(),Sm=ho(),Tut=Rh().zindexSeparator,tT=Oa(),kg=ip(),Xb=US(),Aut=RB(),Sut=XB(),Gle=Xb.YANGLE,YB=Math.PI*Gle/180,Mut=1/Math.sin(YB),Eut=Math.cos(YB),kut=Math.sin(YB),Qc=Xb.HOVERARROWSIZE,sl=Xb.HOVERTEXTPAD,zle={box:!0,ohlc:!0,violin:!0,candlestick:!0},Cut={scatter:!0,scattergl:!0,splom:!0};function qle(e,t){return e.distance-t.distance}KB.hover=function(t,r,n,i){t=zf.getGraphDiv(t);var a=r.target;zf.throttle(t._fullLayout._uid+Xb.HOVERID,Xb.HOVERMINTIME,function(){Lut(t,r,n,i,a)})};KB.loneHover=function(t,r){var n=!0;Array.isArray(t)||(n=!1,t=[t]);var i=r.gd,a=Zle(i),o=Yle(i),s=t.map(function(b){var p=b._x0||b.x0||b.x||0,k=b._x1||b.x1||b.x||0,M=b._y0||b.y0||b.y||0,T=b._y1||b.y1||b.y||0,L=b.eventData;if(L){var x=Math.min(p,k),C=Math.max(p,k),S=Math.min(M,T),g=Math.max(M,T),P=b.trace;if(tT.traceIs(P,"gl3d")){var E=i._fullLayout[P.scene]._scene.container,z=E.offsetLeft,q=E.offsetTop;x+=z,C+=z,S+=q,g+=q}L.bbox={x0:x+o,x1:C+o,y0:S+a,y1:g+a},L.xPixel=(p+k)/2,L.yPixel=(M+T)/2,r.inOut_bbox&&r.inOut_bbox.push(L.bbox)}else L=!1;return{color:b.color||vd.defaultLine,x0:b.x0||b.x||0,x1:b.x1||b.x||0,y0:b.y0||b.y||0,y1:b.y1||b.y||0,xLabel:b.xLabel,yLabel:b.yLabel,zLabel:b.zLabel,text:b.text,name:b.name,idealAlign:b.idealAlign,borderColor:b.borderColor,fontFamily:b.fontFamily,fontSize:b.fontSize,fontColor:b.fontColor,fontWeight:b.fontWeight,fontStyle:b.fontStyle,fontVariant:b.fontVariant,nameLength:b.nameLength,textAlign:b.textAlign,trace:b.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:b.hovertemplate||!1,hovertemplateLabels:b.hovertemplateLabels||!1,eventData:L}}),l=!1,u=jle(s,{gd:i,hovermode:"closest",rotateLabels:l,bgColor:r.bgColor||vd.background,container:Wb.select(r.container),outerContainer:r.outerContainer||r.container}),c=u.hoverLabels,f=5,h=0,d=0;c.sort(function(b,p){return b.y0-p.y0}).each(function(b,p){var k=b.y0-b.by/2;k-fC[0]._length||ce<0||ce>S[0]._length)return JL.unhoverRaw(e,t)}if(t.pointerX=Pe+C[0]._offset,t.pointerY=ce+S[0]._offset,"xval"in t?Z=kg.flat(a,t.xval):Z=kg.p2c(C,Pe),"yval"in t?j=kg.flat(a,t.yval):j=kg.p2c(S,ce),!Iy(Z[0])||!Iy(j[0]))return zf.warn("Fx.hover failed",t,e),JL.unhoverRaw(e,t)}s.clickanywhere&&(e._hoverXVals=Z,e._hoverYVals=j,e._hoverXAxes=C,e._hoverYAxes=S);var mt=1/0;function Ht(Vi,Kn){for(H=0;Hke&&(V.splice(0,ke),mt=V[0].distance),f&&q!==0&&V.length===0){Se.distance=q,Se.index=!1;var ir=ae._module.hoverPoints(Se,ge,re,"closest",{hoverLayer:s._hoverlayer});if(ir&&(ir=ir.filter(function(Zi){return Zi.spikeDistance<=q})),ir&&ir.length){var wr,Xr=ir.filter(function(Zi){return Zi.xa.showspikes&&Zi.xa.spikesnap!=="hovered data"});if(Xr.length){var ti=Xr[0];Iy(ti.x0)&&Iy(ti.y0)&&(wr=ct(ti),(!be.vLinePoint||be.vLinePoint.spikeDistance>wr.spikeDistance)&&(be.vLinePoint=wr))}var $r=ir.filter(function(Zi){return Zi.ya.showspikes&&Zi.ya.spikesnap!=="hovered data"});if($r.length){var Ri=$r[0];Iy(Ri.x0)&&Iy(Ri.y0)&&(wr=ct(Ri),(!be.hLinePoint||be.hLinePoint.spikeDistance>wr.spikeDistance)&&(be.hLinePoint=wr))}}}}}Ht();function at(Vi,Kn,Jn){for(var Gt=null,wt=1/0,tr,ir=0;irVi.trace.index===pt.trace.index):V=[pt];var jt=V.length,or=Vle("x",pt,s),mr=Vle("y",pt,s);Ht(or,mr);var Ar=[],ei={},qr=0,jr=function(Vi){var Kn=zle[Vi.trace.type]?Hle(Vi):Vi.trace.index;if(!ei[Kn])qr++,ei[Kn]=qr,Ar.push(Vi);else{var Jn=ei[Kn]-1,Gt=Ar[Jn];Jn>0&&Math.abs(Vi.distance)jt-1;gt--)jr(V[gt]);V=Ar,tt()}var Ge=e._hoverdata,Je=[],We=Zle(e),et=Yle(e);for(let Vi of V){var xt=kg.makeEventData(Vi,Vi.trace,Vi.cd);if(Vi.hovertemplate!==!1){var At=!1;Vi.cd[Vi.index]&&Vi.cd[Vi.index].ht&&(At=Vi.cd[Vi.index].ht),Vi.hovertemplate=At||Vi.trace.hovertemplate||!1}if(Vi.xa&&Vi.ya){var Kt=Vi.x0+Vi.xa._offset,Qt=Vi.x1+Vi.xa._offset,Mr=Vi.y0+Vi.ya._offset,Gr=Vi.y1+Vi.ya._offset,Ir=Math.min(Kt,Qt),Yr=Math.max(Kt,Qt),_i=Math.min(Mr,Gr),Pi=Math.max(Mr,Gr);xt.bbox={x0:Ir+et,x1:Yr+et,y0:_i+We,y1:Pi+We},xt.xPixel=(Kt+Qt)/2,xt.yPixel=(Mr+Gr)/2}Vi.eventData=[xt],Je.push(xt)}e._hoverdata=Je;var ai=h==="y"&&(G.length>1||V.length>1)||h==="closest"&&Be&&V.length>1,mi=vd.combine(s.plot_bgcolor||vd.background,s.paper_bgcolor),un=jle(V,{gd:e,hovermode:h,rotateLabels:ai,bgColor:mi,container:s._hoverlayer,outerContainer:s._paper.node(),commonLabelOpts:s.hoverlabel,hoverdistance:s.hoverdistance}),Fn=un.hoverLabels;if(kg.isUnifiedHover(h)||(Iut(Fn,ai,s,un.commonLabelBoundingBox),Xle(Fn,ai,s._invScaleX,s._invScaleY)),i&&i.tagName){var An=tT.getComponentMethod("annotations","hasClickToShow")(e,Je);wut(Wb.select(i),An?"pointer":"")}var Hn=Fut(e,t,Ge);if(!i||n||!Hn&&!s.hoveranywhere)return;Ge&&Hn&&e.emit("plotly_unhover",{event:t,points:Ge}),Qn(e._hoverdata);function Qn(Vi){e.emit("plotly_hover",{event:t,points:Vi,xaxes:C,yaxes:S,xvals:Z,yvals:j})}}function Hle(e){return[e.trace.index,e.index,e.x0,e.y0,e.name,e.attr,e.xa?e.xa._id:"",e.ya?e.ya._id:""].join(",")}var Put=/([\s\S]*)<\/extra>/;function jle(e,t){var r=t.gd,n=r._fullLayout,i=t.hovermode,a=t.rotateLabels,o=t.bgColor,s=t.container,l=t.outerContainer,u=t.commonLabelOpts||{};if(e.length===0)return[[]];var c=t.fontFamily||Xb.HOVERFONT,f=t.fontSize||Xb.HOVERFONTSIZE,h=t.fontWeight||n.font.weight,d=t.fontStyle||n.font.style,v=t.fontVariant||n.font.variant,m=t.fontTextcase||n.font.textcase,b=t.fontLineposition||n.font.lineposition,p=t.fontShadow||n.font.shadow,k=e[0],M=k.xa,T=k.ya,L=i.charAt(0),x=L+"Label",C=k[x];if(C===void 0&&M.type==="multicategory")for(var S=0;Sn.width-Je&&(We=n.width-Je),Et.attr("d","M"+(jr-We)+",0L"+(jr-We+Qc)+","+Ge+Qc+"H"+Je+"v"+Ge+(sl*2+qr.height)+"H"+-Je+"V"+Ge+Qc+"H"+(jr-We-Qc)+"Z"),jr=We,H.minX=jr-Je,H.maxX=jr+Je,M.side==="top"?(H.minY=gt-(sl*2+qr.height),H.maxY=gt-sl):(H.minY=gt+sl,H.maxY=gt+(sl*2+qr.height))}else{var et,xt,At;T.side==="right"?(et="start",xt=1,At="",jr=M._offset+M._length):(et="end",xt=-1,At="-",jr=M._offset),gt=T._offset+(k.y0+k.y1)/2,pt.attr("text-anchor",et),Et.attr("d","M0,0L"+At+Qc+","+Qc+"V"+(sl+qr.height/2)+"h"+At+(sl*2+qr.width)+"V-"+(sl+qr.height/2)+"H"+At+Qc+"V-"+Qc+"Z"),H.minY=gt-(sl+qr.height/2),H.maxY=gt+(sl+qr.height/2),T.side==="right"?(H.minX=jr+Qc,H.maxX=jr+Qc+(sl*2+qr.width)):(H.minX=jr-Qc-(sl*2+qr.width),H.maxX=jr-Qc);var Kt=qr.height/2,Qt=P-qr.top-Kt,Mr="clip"+n._uid+"commonlabel"+T._id,Gr;if(jrEt.hoverinfo!=="none");if(dt.length===0)return[];var ie=n.hoverlabel,ae=ie.font,_e=dt[0],Ee=((i==="x unified"?_e.xa:_e.ya).unifiedhovertitle||{}).text,Ce=Ee?zf.hovertemplateString({data:i==="x unified"?[{xa:_e.xa,x:_e.xVal}]:[{ya:_e.ya,y:_e.yVal}],fallback:_e.trace.hovertemplatefallback,locale:n._d3locale,template:Ee}):C,ge={showlegend:!0,legend:{title:{text:Ce,font:ae},font:ae,bgcolor:ie.bgcolor,bordercolor:ie.bordercolor,borderwidth:1,tracegroupgap:7,traceorder:n.legend?n.legend.traceorder:void 0,orientation:"v"}},re={font:ae};Aut(ge,re,r._fullData);var Se=re.legend;Se.entries=[];for(var ke=0;ke=0?rt=tt:je+lt=0?rt=je:Ue+lt=0?St=Vt:rr+mt=0?St=rr:Ae+mt=0,(dt.idealAlign==="top"||!_i)&&Pi?(At-=Qt/2,dt.anchor="end"):_i?(At+=Qt/2,dt.anchor="start"):dt.anchor="middle",dt.crossPos=At;else{if(dt.pos=At,_i=xt+Kt/2+Yr<=E,Pi=xt-Kt/2-Yr>=0,(dt.idealAlign==="left"||!_i)&&Pi)xt-=Kt/2,dt.anchor="end";else if(_i)xt+=Kt/2,dt.anchor="start";else{dt.anchor="middle";var ai=Yr/2,mi=xt+ai-E,un=xt-ai;mi>0&&(xt-=mi),un<0&&(xt+=-un)}dt.crossPos=xt}gt.attr("text-anchor",dt.anchor),Je&&Ge.attr("text-anchor",dt.anchor),Et.attr("transform",ZB(xt,At)+(a?xut(Gle):""))}),{hoverLabels:Tt,commonLabelBoundingBox:H}}function Ole(e,t,r,n,i,a){var f,h;var o="",s="";e.nameOverride!==void 0&&(e.name=e.nameOverride),e.name&&(e.trace._meta&&(e.name=zf.templateString(e.name,e.trace._meta)),o=Ule(e.name,e.nameLength));var l=r.charAt(0),u=l==="x"?"y":"x";e.zLabel!==void 0?(e.xLabel!==void 0&&(s+="x: "+e.xLabel+"
"),e.yLabel!==void 0&&(s+="y: "+e.yLabel+"
"),e.trace.type!=="choropleth"&&e.trace.type!=="choroplethmapbox"&&e.trace.type!=="choroplethmap"&&(s+=(s?"z: ":"")+e.zLabel)):t&&e[l+"Label"]===i?s=e[u+"Label"]||"":e.xLabel===void 0?e.yLabel!==void 0&&e.trace.type!=="scattercarpet"&&(s=e.yLabel):e.yLabel===void 0?s=e.xLabel:s="("+e.xLabel+", "+e.yLabel+")",(e.text||e.text===0)&&!Array.isArray(e.text)&&(s+=(s?"
":"")+e.text),e.extraText!==void 0&&(s+=(s?"
":"")+e.extraText),a&&s===""&&!e.hovertemplate&&(o===""&&a.remove(),s=o),(h=(f=e.trace)==null?void 0:f.hoverlabel)!=null&&h.split&&(e.hovertemplate="");let{hovertemplate:c=!1}=e;if(c){let d=e.hovertemplateLabels||e;e[l+"Label"]!==i&&(d[l+"other"]=d[l+"Val"],d[l+"otherLabel"]=d[l+"Label"]),s=zf.hovertemplateString({data:[e.eventData[0]||{},e.trace._meta],fallback:e.trace.hovertemplatefallback,labels:d,locale:n._d3locale,template:c}),s=s.replace(Put,(v,m)=>(o=Ule(m,e.nameLength),""))}return[s,o]}function Iut(e,t,r,n){var i=t?"xa":"ya",a=t?"ya":"xa",o=0,s=1,l=e.size(),u=new Array(l),c=0,f=n.minX,h=n.maxX,d=n.minY,v=n.maxY,m=function(Z){return Z*r._invScaleX},b=function(Z){return Z*r._invScaleY};e.each(function(Z){var j=Z[i],N=Z[a],H=j._id.charAt(0)==="x",ie=j.range;c===0&&ie&&ie[0]>ie[1]!==H&&(s=-1);var ae=0,_e=H?r.width:r.height;if(r.hovermode==="x"||r.hovermode==="y"){var Ee=Wle(Z,t),Ce=Z.anchor,ge=Ce==="end"?-1:1,re,Se;if(Ce==="middle")re=Z.crossPos+(H?b(Ee.y-Z.by/2):m(Z.bx/2+Z.tx2width/2)),Se=re+(H?b(Z.by):m(Z.bx));else if(H)re=Z.crossPos+b(Qc+Ee.y)-b(Z.by/2-Qc),Se=re+b(Z.by);else{var ke=m(ge*Qc+Ee.x),be=ke+m(ge*Z.bx);re=Z.crossPos+Math.min(ke,be),Se=Z.crossPos+Math.max(ke,be)}H?d!==void 0&&v!==void 0&&Math.min(Se,v)-Math.max(re,d)>1&&(N.side==="left"?(ae=N._mainLinePosition,_e=r.width):_e=N._mainLinePosition):f!==void 0&&h!==void 0&&Math.min(Se,h)-Math.max(re,f)>1&&(N.side==="top"?(ae=N._mainLinePosition,_e=r.height):_e=N._mainLinePosition)}u[c++]=[{datum:Z,traceIndex:Z.trace.index,dp:0,pos:Z.pos,posref:Z.posref,size:Z.by*(H?Mut:1)/2,pmin:ae,pmax:_e}]}),u.sort(function(Z,j){return Z[0].posref-j[0].posref||s*(j[0].traceIndex-Z[0].traceIndex)});var p,k,M,T,L,x,C;function S(Z){var j=Z[0],N=Z[Z.length-1];if(k=j.pmin-j.pos-j.dp+j.size,M=N.pos+N.dp+N.size-j.pmax,k>.01){for(L=Z.length-1;L>=0;L--)Z[L].dp+=k;p=!1}if(!(M<.01)){if(k<-.01){for(L=Z.length-1;L>=0;L--)Z[L].dp-=M;p=!1}if(p){var H=0;for(T=0;Tj.pmax&&H++;for(T=Z.length-1;T>=0&&!(H<=0);T--)x=Z[T],x.pos>j.pmax-1&&(x.del=!0,H--);for(T=0;T=0;L--)Z[L].dp-=M;for(T=Z.length-1;T>=0&&!(H<=0);T--)x=Z[T],x.pos+x.dp+x.size>j.pmax&&(x.del=!0,H--)}}}for(;!p&&o<=l;){for(o++,p=!0,T=0;T.01){for(L=P.length-1;L>=0;L--)P[L].dp+=k;for(g.push.apply(g,P),u.splice(T+1,1),C=0,L=g.length-1;L>=0;L--)C+=g[L].dp;for(M=C/g.length,L=g.length-1;L>=0;L--)g[L].dp-=M;p=!1}else T++}u.forEach(S)}for(T=u.length-1;T>=0;T--){var q=u[T];for(L=q.length-1;L>=0;L--){var V=q[L],G=V.datum;G.offset=V.dp,G.del=V.del}}}function Wle(e,t){var r=0,n=e.offset;return t&&(n*=-kut,r=e.offset*Eut),{x:r,y:n}}function Rut(e){var t={start:1,end:-1,middle:0}[e.anchor],r=t*(Qc+sl),n=r+t*(e.txwidth+sl),i=e.anchor==="middle";return i&&(r-=e.tx2width/2,n+=e.txwidth/2+sl),{alignShift:t,textShiftX:r,text2ShiftX:n}}function Xle(e,t,r,n){var i=function(o){return o*r},a=function(o){return o*n};e.each(function(o){var s=Wb.select(this);if(o.del)return s.remove();var l=s.select("text.nums"),u=o.anchor,c=u==="end"?-1:1,f=Rut(o),h=Wle(o,t),d=h.x,v=h.y,m=u==="middle",b="hoverlabel"in o.trace?o.trace.hoverlabel.showarrow:!0,p;m?p="M-"+i(o.bx/2+o.tx2width/2)+","+a(v-o.by/2)+"h"+i(o.bx)+"v"+a(o.by)+"h-"+i(o.bx)+"Z":b?p="M0,0L"+i(c*Qc+d)+","+a(Qc+v)+"v"+a(o.by/2-Qc)+"h"+i(c*o.bx)+"v-"+a(o.by)+"H"+i(c*Qc+d)+"V"+a(v-Qc)+"Z":p="M"+i(c*Qc+d)+","+a(v-o.by/2)+"h"+i(c*o.bx)+"v"+a(o.by)+"h"+i(-c*o.bx)+"Z",s.select("path").attr("d",p);var k=d+f.textShiftX,M=v+o.ty0-o.by/2+sl,T=o.textAlign||"auto";T!=="auto"&&(T==="left"&&u!=="start"?(l.attr("text-anchor","start"),k=m?-o.bx/2-o.tx2width/2+sl:-o.bx-sl):T==="right"&&u!=="end"&&(l.attr("text-anchor","end"),k=m?o.bx/2-o.tx2width/2-sl:o.bx+sl)),l.call(A0.positionText,i(k),a(M)),o.tx2width&&(s.select("text.name").call(A0.positionText,i(f.text2ShiftX+f.alignShift*sl+d),a(v+o.ty0-o.by/2+sl)),s.select("rect").call(Am.setRect,i(f.text2ShiftX+(f.alignShift-1)*o.tx2width/2+d),a(v-o.by/2-1),i(o.tx2width),a(o.by+2)))})}function Dut(e,t){var r=e.index,n=e.trace||{},i=e.cd[0],a=e.cd[r]||{};function o(h){return h||Iy(h)&&h===0}var s=Array.isArray(r)?function(h,d){var v=zf.castOption(i,r,h);return o(v)?v:zf.extractOption({},n,"",d)}:function(h,d){return zf.extractOption(a,n,h,d)};function l(h,d,v){var m=s(d,v);o(m)&&(e[h]=m)}if(l("hoverinfo","hi","hoverinfo"),l("bgcolor","hbg","hoverlabel.bgcolor"),l("borderColor","hbc","hoverlabel.bordercolor"),l("fontFamily","htf","hoverlabel.font.family"),l("fontSize","hts","hoverlabel.font.size"),l("fontColor","htc","hoverlabel.font.color"),l("fontWeight","htw","hoverlabel.font.weight"),l("fontStyle","hty","hoverlabel.font.style"),l("fontVariant","htv","hoverlabel.font.variant"),l("nameLength","hnl","hoverlabel.namelength"),l("textAlign","hta","hoverlabel.align"),e.posref=t==="y"||t==="closest"&&n.orientation==="h"?e.xa._offset+(e.x0+e.x1)/2:e.ya._offset+(e.y0+e.y1)/2,e.x0=zf.constrain(e.x0,0,e.xa._length),e.x1=zf.constrain(e.x1,0,e.xa._length),e.y0=zf.constrain(e.y0,0,e.ya._length),e.y1=zf.constrain(e.y1,0,e.ya._length),e.xLabelVal!==void 0&&(e.xLabel="xLabel"in e?e.xLabel:Sm.hoverLabelText(e.xa,e.xLabelVal,n.xhoverformat),e.xVal=e.xa.c2d(e.xLabelVal)),e.yLabelVal!==void 0&&(e.yLabel="yLabel"in e?e.yLabel:Sm.hoverLabelText(e.ya,e.yLabelVal,n.yhoverformat),e.yVal=e.ya.c2d(e.yLabelVal)),e.zLabelVal!==void 0&&e.zLabel===void 0&&(e.zLabel=String(e.zLabelVal)),!isNaN(e.xerr)&&!(e.xa.type==="log"&&e.xerr<=0)){var u=Sm.tickText(e.xa,e.xa.c2l(e.xerr),"hover").text;e.xerrneg!==void 0?e.xLabel+=" +"+u+" / -"+Sm.tickText(e.xa,e.xa.c2l(e.xerrneg),"hover").text:e.xLabel+=" \xB1 "+u,t==="x"&&(e.distance+=1)}if(!isNaN(e.yerr)&&!(e.ya.type==="log"&&e.yerr<=0)){var c=Sm.tickText(e.ya,e.ya.c2l(e.yerr),"hover").text;e.yerrneg!==void 0?e.yLabel+=" +"+c+" / -"+Sm.tickText(e.ya,e.ya.c2l(e.yerrneg),"hover").text:e.yLabel+=" \xB1 "+c,t==="y"&&(e.distance+=1)}var f=e.hoverinfo||e.trace.hoverinfo;return f&&f!=="all"&&(f=Array.isArray(f)?f:f.split("+"),f.indexOf("x")===-1&&(e.xLabel=void 0),f.indexOf("y")===-1&&(e.yLabel=void 0),f.indexOf("z")===-1&&(e.zLabel=void 0),f.indexOf("text")===-1&&(e.text=void 0),f.indexOf("name")===-1&&(e.name=void 0)),e}function Ble(e,t,r){var n=r.container,i=r.fullLayout,a=i._size,o=r.event,s=!!t.hLinePoint,l=!!t.vLinePoint,u,c;if(n.selectAll(".spikeline").remove(),!!(l||s)){var f=vd.combine(i.plot_bgcolor,i.paper_bgcolor);if(s){var h=t.hLinePoint,d,v;u=h&&h.xa,c=h&&h.ya;var m=c.spikesnap;m==="cursor"?(d=o.pointerX,v=o.pointerY):(d=u._offset+h.x,v=c._offset+h.y);var b=Fle.readability(h.color,f)<1.5?vd.contrast(f):h.color,p=c.spikemode,k=c.spikethickness,M=c.spikecolor||b,T=Sm.getPxPosition(e,c),L,x;if(p.indexOf("toaxis")!==-1||p.indexOf("across")!==-1){if(p.indexOf("toaxis")!==-1&&(L=T,x=d),p.indexOf("across")!==-1){var C=c._counterDomainMin,S=c._counterDomainMax;c.anchor==="free"&&(C=Math.min(C,c.position),S=Math.max(S,c.position)),L=a.l+C*a.w,x=a.l+S*a.w}n.insert("line",":first-child").attr({x1:L,x2:x,y1:v,y2:v,"stroke-width":k,stroke:M,"stroke-dasharray":Am.dashStyle(c.spikedash,k)}).classed("spikeline",!0).classed("crisp",!0),n.insert("line",":first-child").attr({x1:L,x2:x,y1:v,y2:v,"stroke-width":k+2,stroke:f}).classed("spikeline",!0).classed("crisp",!0)}p.indexOf("marker")!==-1&&n.insert("circle",":first-child").attr({cx:T+(c.side!=="right"?k:-k),cy:v,r:k,fill:M}).classed("spikeline",!0)}if(l){var g=t.vLinePoint,P,E;u=g&&g.xa,c=g&&g.ya;var z=u.spikesnap;z==="cursor"?(P=o.pointerX,E=o.pointerY):(P=u._offset+g.x,E=c._offset+g.y);var q=Fle.readability(g.color,f)<1.5?vd.contrast(f):g.color,V=u.spikemode,G=u.spikethickness,Z=u.spikecolor||q,j=Sm.getPxPosition(e,u),N,H;if(V.indexOf("toaxis")!==-1||V.indexOf("across")!==-1){if(V.indexOf("toaxis")!==-1&&(N=j,H=E),V.indexOf("across")!==-1){var ie=u._counterDomainMin,ae=u._counterDomainMax;u.anchor==="free"&&(ie=Math.min(ie,u.position),ae=Math.max(ae,u.position)),N=a.t+(1-ae)*a.h,H=a.t+(1-ie)*a.h}n.insert("line",":first-child").attr({x1:P,x2:P,y1:N,y2:H,"stroke-width":G,stroke:Z,"stroke-dasharray":Am.dashStyle(u.spikedash,G)}).classed("spikeline",!0).classed("crisp",!0),n.insert("line",":first-child").attr({x1:P,x2:P,y1:N,y2:H,"stroke-width":G+2,stroke:f}).classed("spikeline",!0).classed("crisp",!0)}V.indexOf("marker")!==-1&&n.insert("circle",":first-child").attr({cx:P,cy:j-(u.side!=="top"?G:-G),r:G,fill:Z}).classed("spikeline",!0)}}}function Fut(e,t,r){if(!r||r.length!==e._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=e._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers)||i.binNumber!==a.binNumber)return!0}return!1}function Nle(e,t){return!t||t.vLinePoint!==e._spikepoints.vLinePoint||t.hLinePoint!==e._spikepoints.hLinePoint}function Ule(e,t){return A0.plainText(e||"",{len:t,allowedTags:["br","sub","sup","b","i","em","s","u"]})}function zut(e,t){for(var r=t.charAt(0),n=[],i=[],a=[],o=0;oe.offsetTop+e.clientTop,Yle=e=>e.offsetLeft+e.clientLeft;function eT(e,t){var r=e._fullLayout,n=t.getBoundingClientRect(),i=n.left,a=n.top,o=i+n.width,s=a+n.height,l=zf.apply3DTransform(r._invTransform)(i,a),u=zf.apply3DTransform(r._invTransform)(o,s),c=l[0],f=l[1],h=u[0],d=u[1];return{x:c,y:f,width:h-c,height:d-f,top:Math.min(f,d),left:Math.min(c,h),right:Math.max(c,h),bottom:Math.max(f,d)}}});var xM=ye((qar,Kle)=>{"use strict";var qut=Pr(),Out=ka(),But=ip().isUnifiedHover;Kle.exports=function(t,r,n,i){i=i||{};var a=r.legend;function o(s){i.font[s]||(i.font[s]=a?r.legend.font[s]:r.font[s])}r&&But(r.hovermode)&&(i.font||(i.font={}),o("size"),o("family"),o("color"),o("weight"),o("style"),o("variant"),a?(i.bgcolor||(i.bgcolor=Out.combine(r.legend.bgcolor,r.paper_bgcolor)),i.bordercolor||(i.bordercolor=r.legend.bordercolor)):i.bgcolor||(i.bgcolor=r.paper_bgcolor)),n("hoverlabel.bgcolor",i.bgcolor),n("hoverlabel.bordercolor",i.bordercolor),n("hoverlabel.namelength",i.namelength),n("hoverlabel.showarrow",i.showarrow),qut.coerceFont(n,"hoverlabel.font",i.font),n("hoverlabel.align",i.align)}});var $le=ye((Oar,Jle)=>{"use strict";var Nut=Pr(),Uut=xM(),Vut=W1();Jle.exports=function(t,r){function n(i,a){return Nut.coerce(t,r,Vut,i,a)}Uut(t,r,n)}});var tue=ye((Bar,eue)=>{"use strict";var Qle=Pr(),Gut=g3(),Hut=xM();eue.exports=function(t,r,n,i){function a(s,l){return Qle.coerce(t,r,Gut,s,l)}var o=Qle.extendFlat({},i.hoverlabel);r.hovertemplate&&(o.namelength=-1),Hut(t,r,a,o)}});var $B=ye((Nar,rue)=>{"use strict";var jut=Pr(),Wut=W1();rue.exports=function(t,r){function n(i,a){return r[i]!==void 0?r[i]:jut.coerce(t,r,Wut,i,a)}return n("clickmode"),n("hoversubplots"),n("hoveranywhere"),n("clickanywhere"),n("hovermode")}});var aue=ye((Uar,nue)=>{"use strict";var iue=Pr(),Xut=W1(),Zut=$B(),Yut=xM();nue.exports=function(t,r){function n(c,f){return iue.coerce(t,r,Xut,c,f)}var i=Zut(t,r);i&&(n("hoverdistance"),n("spikedistance"),i.indexOf("unified")!==-1&&n("hoversort"));var a=n("dragmode");a==="select"&&n("selectdirection");var o=r._has("mapbox"),s=r._has("map"),l=r._has("geo"),u=r._basePlotModules.length;r.dragmode==="zoom"&&((o||s||l)&&u===1||(o||s)&&l&&u===2)&&(r.dragmode="pan"),Yut(t,r,n),iue.coerceFont(n,"hoverlabel.grouptitlefont",r.hoverlabel.font)}});var lue=ye((Var,sue)=>{"use strict";var QB=Pr(),oue=Oa();sue.exports=function(t){var r=t.calcdata,n=t._fullLayout;function i(u){return function(c){return QB.coerceHoverinfo({hoverinfo:c},{_module:u._module},n)}}for(var a=0;a{"use strict";var Jut=Oa(),$ut=JB().hover;uue.exports=function(t,r,n){var i=Jut.getComponentMethod("annotations","onClick")(t,t._hoverdata),a=t._fullLayout;n!==void 0&&$ut(t,r,n,!0);function o(){var l,u,c,f;var s={points:t._hoverdata,event:r};(l=s.xaxes)!=null||(s.xaxes=t._hoverXAxes),(u=s.yaxes)!=null||(s.yaxes=t._hoverYAxes),(c=s.xvals)!=null||(s.xvals=t._hoverXVals),(f=s.yvals)!=null||(s.yvals=t._hoverYVals),t.emit("plotly_click",s)}(t._hoverdata||a.clickanywhere)&&r&&r.target&&(t._hoverdata||(t._hoverdata=[]),i&&i.then?i.then(o):o(),r.stopImmediatePropagation&&r.stopImmediatePropagation())}});var ef=ye((Har,due)=>{"use strict";var Qut=qa(),$L=Pr(),ect=yv(),bM=ip(),fue=W1(),hue=JB();due.exports={moduleType:"component",name:"fx",constants:US(),schema:{layout:fue},attributes:g3(),layoutAttributes:fue,supplyLayoutGlobalDefaults:$le(),supplyDefaults:tue(),supplyLayoutDefaults:aue(),calc:lue(),getDistanceFunction:bM.getDistanceFunction,getClosest:bM.getClosest,inbox:bM.inbox,quadrature:bM.quadrature,appendArrayPointValue:bM.appendArrayPointValue,castHoverOption:rct,castHoverinfo:ict,hover:hue.hover,unhover:ect.unhover,loneHover:hue.loneHover,loneUnhover:tct,click:cue()};function tct(e){var t=$L.isD3Selection(e)?e:Qut.select(e);t.selectAll("g.hovertext").remove(),t.selectAll(".spikeline").remove()}function rct(e,t,r){return $L.castOption(e,t,"hoverlabel."+r)}function ict(e,t,r){function n(i){return $L.coerceHoverinfo({hoverinfo:i},{_module:e._module},t)}return $L.castOption(e,r,"hoverinfo",n)}});var Cg=ye(Ry=>{"use strict";Ry.selectMode=function(e){return e==="lasso"||e==="select"};Ry.drawMode=function(e){return e==="drawclosedpath"||e==="drawopenpath"||e==="drawline"||e==="drawrect"||e==="drawcircle"};Ry.openMode=function(e){return e==="drawline"||e==="drawopenpath"};Ry.rectMode=function(e){return e==="select"||e==="drawline"||e==="drawrect"||e==="drawcircle"};Ry.freeMode=function(e){return e==="lasso"||e==="drawclosedpath"||e==="drawopenpath"};Ry.selectingOrDrawing=function(e){return Ry.freeMode(e)||Ry.rectMode(e)}});var wM=ye((War,vue)=>{"use strict";vue.exports=function(t){var r=t._fullLayout;r._glcanvas&&r._glcanvas.size()&&r._glcanvas.each(function(n){n.regl&&n.regl.clear({color:!0,depth:!0})})}});var QL=ye((Xar,pue)=>{"use strict";pue.exports={undo:{width:857.1,height:1e3,path:"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z",transform:"matrix(1 0 0 -1 0 850)"},home:{width:928.6,height:1e3,path:"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z",transform:"matrix(1 0 0 -1 0 850)"},"camera-retro":{width:1e3,height:1e3,path:"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z",transform:"matrix(1 0 0 -1 0 850)"},zoombox:{width:1e3,height:1e3,path:"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z",transform:"matrix(1 0 0 -1 0 850)"},pan:{width:1e3,height:1e3,path:"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z",transform:"matrix(1 0 0 -1 0 850)"},zoom_plus:{width:875,height:1e3,path:"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},zoom_minus:{width:875,height:1e3,path:"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},autoscale:{width:1e3,height:1e3,path:"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_basic:{width:1500,height:1e3,path:"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_compare:{width:1125,height:1e3,path:"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z",transform:"matrix(1 0 0 -1 0 850)"},plotlylogo:{width:1542,height:1e3,path:"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z",transform:"matrix(1 0 0 -1 0 850)"},"z-axis":{width:1e3,height:1e3,path:"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z",transform:"matrix(1 0 0 -1 0 850)"},"3d_rotate":{width:1e3,height:1e3,path:"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z",transform:"matrix(1 0 0 -1 0 850)"},camera:{width:1e3,height:1e3,path:"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z",transform:"matrix(1 0 0 -1 0 850)"},movie:{width:1e3,height:1e3,path:"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z",transform:"matrix(1 0 0 -1 0 850)"},question:{width:857.1,height:1e3,path:"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z",transform:"matrix(1 0 0 -1 0 850)"},disk:{width:857.1,height:1e3,path:"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z",transform:"matrix(1 0 0 -1 0 850)"},drawopenpath:{width:70,height:70,path:"M33.21,85.65a7.31,7.31,0,0,1-2.59-.48c-8.16-3.11-9.27-19.8-9.88-41.3-.1-3.58-.19-6.68-.35-9-.15-2.1-.67-3.48-1.43-3.79-2.13-.88-7.91,2.32-12,5.86L3,32.38c1.87-1.64,11.55-9.66,18.27-6.9,2.13.87,4.75,3.14,5.17,9,.17,2.43.26,5.59.36,9.25a224.17,224.17,0,0,0,1.5,23.4c1.54,10.76,4,12.22,4.48,12.4.84.32,2.79-.46,5.76-3.59L43,80.07C41.53,81.57,37.68,85.64,33.21,85.65ZM74.81,69a11.34,11.34,0,0,0,6.09-6.72L87.26,44.5,74.72,32,56.9,38.35c-2.37.86-5.57,3.42-6.61,6L38.65,72.14l8.42,8.43ZM55,46.27a7.91,7.91,0,0,1,3.64-3.17l14.8-5.3,8,8L76.11,60.6l-.06.19a6.37,6.37,0,0,1-3,3.43L48.25,74.59,44.62,71Zm16.57,7.82A6.9,6.9,0,1,0,64.64,61,6.91,6.91,0,0,0,71.54,54.09Zm-4.05,0a2.85,2.85,0,1,1-2.85-2.85A2.86,2.86,0,0,1,67.49,54.09Zm-4.13,5.22L60.5,56.45,44.26,72.7l2.86,2.86ZM97.83,35.67,84.14,22l-8.57,8.57L89.26,44.24Zm-13.69-8,8,8-2.85,2.85-8-8Z",transform:"matrix(1 0 0 1 -15 -15)"},drawclosedpath:{width:90,height:90,path:"M88.41,21.12a26.56,26.56,0,0,0-36.18,0l-2.07,2-2.07-2a26.57,26.57,0,0,0-36.18,0,23.74,23.74,0,0,0,0,34.8L48,90.12a3.22,3.22,0,0,0,4.42,0l36-34.21a23.73,23.73,0,0,0,0-34.79ZM84,51.24,50.16,83.35,16.35,51.25a17.28,17.28,0,0,1,0-25.47,20,20,0,0,1,27.3,0l4.29,4.07a3.23,3.23,0,0,0,4.44,0l4.29-4.07a20,20,0,0,1,27.3,0,17.27,17.27,0,0,1,0,25.46ZM66.76,47.68h-33v6.91h33ZM53.35,35H46.44V68h6.91Z",transform:"matrix(1 0 0 1 -5 -5)"},lasso:{width:1031,height:1e3,path:"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z",transform:"matrix(1 0 0 -1 0 850)"},selectbox:{width:1e3,height:1e3,path:"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z",transform:"matrix(1 0 0 -1 0 850)"},drawline:{width:70,height:70,path:"M60.64,62.3a11.29,11.29,0,0,0,6.09-6.72l6.35-17.72L60.54,25.31l-17.82,6.4c-2.36.86-5.57,3.41-6.6,6L24.48,65.5l8.42,8.42ZM40.79,39.63a7.89,7.89,0,0,1,3.65-3.17l14.79-5.31,8,8L61.94,54l-.06.19a6.44,6.44,0,0,1-3,3.43L34.07,68l-3.62-3.63Zm16.57,7.81a6.9,6.9,0,1,0-6.89,6.9A6.9,6.9,0,0,0,57.36,47.44Zm-4,0a2.86,2.86,0,1,1-2.85-2.85A2.86,2.86,0,0,1,53.32,47.44Zm-4.13,5.22L46.33,49.8,30.08,66.05l2.86,2.86ZM83.65,29,70,15.34,61.4,23.9,75.09,37.59ZM70,21.06l8,8-2.84,2.85-8-8ZM87,80.49H10.67V87H87Z",transform:"matrix(1 0 0 1 -15 -15)"},drawrect:{width:80,height:80,path:"M78,22V79H21V22H78m9-9H12V88H87V13ZM68,46.22H31V54H68ZM53,32H45.22V69H53Z",transform:"matrix(1 0 0 1 -10 -10)"},drawcircle:{width:80,height:80,path:"M50,84.72C26.84,84.72,8,69.28,8,50.3S26.84,15.87,50,15.87,92,31.31,92,50.3,73.16,84.72,50,84.72Zm0-60.59c-18.6,0-33.74,11.74-33.74,26.17S31.4,76.46,50,76.46,83.74,64.72,83.74,50.3,68.6,24.13,50,24.13Zm17.15,22h-34v7.11h34Zm-13.8-13H46.24v34h7.11Z",transform:"matrix(1 0 0 1 -10 -10)"},eraseshape:{width:80,height:80,path:"M82.77,78H31.85L6,49.57,31.85,21.14H82.77a8.72,8.72,0,0,1,8.65,8.77V69.24A8.72,8.72,0,0,1,82.77,78ZM35.46,69.84H82.77a.57.57,0,0,0,.49-.6V29.91a.57.57,0,0,0-.49-.61H35.46L17,49.57Zm32.68-34.7-24,24,5,5,24-24Zm-19,.53-5,5,24,24,5-5Z",transform:"matrix(1 0 0 1 -10 -10)"},spikeline:{width:1e3,height:1e3,path:"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z",transform:"matrix(1.5 0 0 -1.5 0 850)"},pencil:{width:1792,height:1792,path:"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z",transform:"matrix(1 0 0 1 0 1)"},newplotlylogo:{name:"newplotlylogo",svg:[""," plotly-logomark"," "," "," "," "," "," "," "," "," "," "," "," "," ",""].join("")}}});var tP=ye((Zar,gue)=>{"use strict";var eP=32;gue.exports={CIRCLE_SIDES:eP,i000:0,i090:eP/4,i180:eP/2,i270:eP/4*3,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}});var rP=ye((Yar,yue)=>{"use strict";var nct=Pr().strTranslate;function mue(e,t){switch(e.type){case"log":return e.p2d(t);case"date":return e.p2r(t,0,e.calendar);default:return e.p2r(t)}}function act(e,t){switch(e.type){case"log":return e.d2p(t);case"date":return e.r2p(t,0,e.calendar);default:return e.r2p(t)}}function oct(e){var t=e._id.charAt(0)==="y"?1:0;return function(r){return mue(e,r[t])}}function sct(e){return nct(e.xaxis._offset,e.yaxis._offset)}yue.exports={p2r:mue,r2p:act,axValue:oct,getTransform:sct}});var m_=ye(Dy=>{"use strict";var lct=aM(),bue=tP(),rT=bue.CIRCLE_SIDES,eN=bue.SQRT2,wue=rP(),_ue=wue.p2r,xue=wue.r2p,uct=[0,3,4,5,6,1,2],cct=[0,3,4,1,2];Dy.writePaths=function(e){var t=e.length;if(!t)return"M0,0Z";for(var r="",n=0;n0&&l{"use strict";var Tue=df(),kue=Cg(),fct=kue.drawMode,hct=kue.openMode,iT=tP(),Aue=iT.i000,Sue=iT.i090,Mue=iT.i180,Eue=iT.i270,dct=iT.cos45,vct=iT.sin45,Cue=rP(),nP=Cue.p2r,y_=Cue.r2p,pct=o_(),gct=pct.clearOutline,aP=m_(),mct=aP.readPaths,yct=aP.writePaths,_ct=aP.ellipseOver,xct=aP.fixDatesForPaths;function bct(e,t){if(e.length){var r=e[0][0];if(r){var n=t.gd,i=t.isActiveShape,a=t.dragmode,o=(n.layout||{}).shapes||[];if(!fct(a)&&i!==void 0){var s=n._fullLayout._activeShapeIndex;if(s{"use strict";var wct=Cg(),Tct=wct.selectMode,Act=o_(),Sct=Act.clearOutline,tN=m_(),Mct=tN.readPaths,Ect=tN.writePaths,kct=tN.fixDatesForPaths;Iue.exports=function(t,r){if(t.length){var n=t[0][0];if(n){var i=n.getAttribute("d"),a=r.gd,o=a._fullLayout.newselection,s=r.plotinfo,l=s.xaxis,u=s.yaxis,c=r.isActiveSelection,f=r.dragmode,h=(a.layout||{}).selections||[];if(!Tct(f)&&c!==void 0){var d=a._fullLayout._activeSelectionIndex;if(d{"use strict";Rue.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:3},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}});var x_=ye(Dd=>{"use strict";var Em=AM(),Due=Pr(),__=ho();Dd.rangeToShapePosition=function(e){return e.type==="log"?e.r2d:function(t){return t}};Dd.shapePositionToRange=function(e){return e.type==="log"?e.d2r:function(t){return t}};Dd.decodeDate=function(e){return function(t){return t.replace&&(t=t.replace("_"," ")),e(t)}};Dd.encodeDate=function(e){return function(t){return e(t).replace(" ","_")}};Dd.extractPathCoords=function(e,t,r){var n=[],i=e.match(Em.segmentRE);return i.forEach(function(a){var o=t[a.charAt(0)].drawn;if(o!==void 0){var s=a.slice(1).match(Em.paramRE);if(!(!s||s.length{let s=o.charAt(0),l=i[s].drawn!==void 0;return a+(l?1:0)},0)};Dd.getDataToPixel=function(e,t,r,n,i){var a=e._fullLayout._size,o;if(t)if(i==="domain")o=function(l){return t._length*(n?1-l:l)+t._offset};else{var s=Dd.shapePositionToRange(t);o=function(l){var u=Mm(t,r);return t._offset+t.r2p(s(l,!0))+u},t.type==="date"&&(o=Dd.decodeDate(o))}else n?o=function(l){return a.t+a.h*(1-l)}:o=function(l){return a.l+a.w*l};return o};Dd.getPixelToData=function(e,t,r,n){var i=e._fullLayout._size,a;if(t)if(n==="domain")a=function(s){var l=(s-t._offset)/t._length;return r?1-l:l};else{var o=Dd.rangeToShapePosition(t);a=function(s){return o(t.p2r(s-t._offset))}}else r?a=function(s){return 1-(s-i.t)/i.h}:a=function(s){return(s-i.l)/i.w};return a};Dd.roundPositionForSharpStrokeRendering=function(e,t){var r=Math.round(t%2)===1,n=Math.round(e);return r?n+.5:n};Dd.makeShapesOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.shapes[t]||{},n=e._fullLayout._plots[r.xref+r.yref],i=!!n;return i?n._hadPlotinfo=!0:(n={},r.xref&&r.xref!=="paper"&&(n.xaxis=e._fullLayout[r.xref+"axis"]),r.yref&&r.yref!=="paper"&&(n.yaxis=e._fullLayout[r.yref+"axis"])),n.xsizemode=r.xsizemode,n.ysizemode=r.ysizemode,n.xanchor=r.xanchor,n.yanchor=r.yanchor,{options:r,plotinfo:n}};Dd.makeSelectionsOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.selections[t]||{},n=e._fullLayout._plots[r.xref+r.yref],i=!!n;return i?n._hadPlotinfo=!0:(n={},r.xref&&(n.xaxis=e._fullLayout[r.xref+"axis"]),r.yref&&(n.yaxis=e._fullLayout[r.yref+"axis"])),{options:r,plotinfo:n}};Dd.getPathString=function(e,t){let r=t.type,n=__.getRefType(t.xref),i=__.getRefType(t.yref),a=e._fullLayout._size;var o,s,l,u,c,f,h,d,v,m,b,p;function k(P,E,z,q){var V;if(P)if(E==="domain")q?V=function(G){return P._offset+P._length*(1-G)}:V=function(G){return P._offset+P._length*G};else{let G=Dd.shapePositionToRange(P);V=function(Z){return P._offset+P.r2p(G(Z,!0))},z==="path"&&P.type==="date"&&(V=Dd.decodeDate(V))}else q?V=function(G){return a.t+a.h*(1-G)}:V=function(G){return a.l+a.w*G};return V}if(n==="array"?(h=[],o=t.xref.map(function(P){return __.getFromId(e,P)}),h=t.xref.map(function(P,E){return k(o[E],__.getRefType(P),r,!1)})):(o=__.getFromId(e,t.xref),h=k(o,n,r,!1)),i==="array"?(d=[],s=t.yref.map(function(P){return __.getFromId(e,P)}),d=t.yref.map(function(P,E){return k(s[E],__.getRefType(P),r,!0)})):(s=__.getFromId(e,t.yref),d=k(s,i,r,!0)),r==="path")return Cct(t,h,d);if(n==="array")l=Mm(o[0],t.x0shift),u=Mm(o[1],t.x1shift),v=h[0](t.x0)+l,m=h[1](t.x1)+u;else if(l=Mm(o,t.x0shift),u=Mm(o,t.x1shift),t.xsizemode==="pixel"){let P=h(t.xanchor);v=P+t.x0+l,m=P+t.x1+u}else v=h(t.x0)+l,m=h(t.x1)+u;if(i==="array")c=Mm(s[0],t.y0shift),f=Mm(s[1],t.y1shift),b=d[0](t.y0)+c,p=d[1](t.y1)+f;else if(c=Mm(s,t.y0shift),f=Mm(s,t.y1shift),t.ysizemode==="pixel"){let P=d(t.yanchor);b=P-t.y0+c,p=P-t.y1+f}else b=d(t.y0)+c,p=d(t.y1)+f;if(r==="line")return"M"+v+","+b+"L"+m+","+p;if(r==="rect")return"M"+v+","+b+"H"+m+"V"+p+"H"+v+"Z";var M=(v+m)/2,T=(b+p)/2,L=Math.abs(M-v),x=Math.abs(T-b),C="A"+L+","+x,S=M+L+","+T,g=M+","+(T-x);return"M"+S+C+" 0 1,1 "+g+C+" 0 0,1 "+S+"Z"};function Cct(e,t,r){let n=e.path,i=e.xsizemode,a=e.ysizemode,o=e.xanchor,s=e.yanchor,l=Array.isArray(e.xref),u=Array.isArray(e.yref);var c=0,f=0;return n.replace(Em.segmentRE,function(h){var d=0,v=h.charAt(0),m=Em.paramIsX[v],b=Em.paramIsY[v],p=Em.numParams[v];let k=m.drawn!==void 0,M=b.drawn!==void 0,T=l?t[c]:t,L=u?r[f]:r;var x=h.slice(1).replace(Em.paramRE,function(C){return m[d]?i==="pixel"?C=T(o)+Number(C):C=T(C):b[d]&&(a==="pixel"?C=L(s)-Number(C):C=L(C)),d++,d>p&&(C="X"),C});return d>p&&(x=x.replace(/[\s,]*X.*/,""),Due.log("Ignoring extra params in segment "+h)),k&&c++,M&&f++,v+x})}Dd.getPixelShift=Mm;function Mm(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}});var iN=ye((tor,que)=>{"use strict";var Lct=Pr(),km=ho(),Fue=Zl(),zue=So(),Pct=m_().readPaths,Zb=x_(),Ict=Zb.getPathString,SM=F6(),Rct=Dh().FROM_TL;que.exports=function(t,r,n,i){if(i.selectAll(".shape-label").remove(),!!(n.label.text||n.label.texttemplate)){var a;if(n.label.texttemplate){var o={};if(n.type!=="path"){var s=km.getFromId(t,n.xref),l=km.getFromId(t,n.yref);let ae=Array.isArray(n.xref),_e=Array.isArray(n.yref);for(var u in SM){var c=typeof SM[u]=="function",f=!ae||SM.simpleXVariables.includes(u),h=!_e||SM.simpleYVariables.includes(u);if(c&&f&&h){var d=SM[u](n,s,l);d!==void 0&&(o[u]=d)}}}a=Lct.texttemplateStringForShapes({data:[o],fallback:n.label.texttemplatefallback,locale:t._fullLayout._d3locale,template:n.label.texttemplate})}else a=n.label.text;var v={"data-index":r},m=n.label.font,b={"data-notex":1},p=i.append("g").attr(v).classed("shape-label",!0),k=p.append("text").attr(b).classed("shape-label-text",!0).text(a),M,T,L,x;if(n.path){var C=Ict(t,n),S=Pct(C,t);M=1/0,L=1/0,T=-1/0,x=-1/0;for(var g=0;gZb.getDataToPixel(t,He,ce,!1,lt)(Pe),me=(Pe,ce,He,lt)=>Zb.getDataToPixel(t,He,ce,!0,lt)(Pe);if(n.xsizemode==="pixel"){let Pe=Le(n.xanchor,void 0,Ee,Se),ce=Zb.getPixelShift(Ee,n.x0shift),He=Zb.getPixelShift(Ee,n.x1shift);M=Pe+n.x0+ce,T=Pe+n.x1+He}else M=Le(n.x0,n.x0shift,Ee,Se),T=Le(n.x1,n.x1shift,Ce,ke);if(n.ysizemode==="pixel"){let Pe=me(n.yanchor,void 0,ge,be),ce=Zb.getPixelShift(ge,n.y0shift),He=Zb.getPixelShift(ge,n.y1shift);L=Pe-n.y0+ce,x=Pe-n.y1+He}else L=me(n.y0,n.y0shift,ge,be),x=me(n.y1,n.y1shift,re,Be)}var G=n.label.textangle;G==="auto"&&(n.type==="line"?G=Dct(M,L,T,x):G=0),k.call(function(ae){return ae.call(zue.font,m).attr({}),Fue.convertToTspans(ae,t),ae});var Z=zue.bBox(k.node()),j=Fct(M,L,T,x,n,G,Z),N=j.textx,H=j.texty,ie=j.xanchor;k.attr({"text-anchor":{left:"start",center:"middle",right:"end"}[ie],y:H,x:N,transform:"rotate("+G+","+N+","+H+")"}).call(Fue.positionText,N,H)}};function Dct(e,t,r,n){var i,a;return a=Math.abs(r-e),r>=e?i=t-n:i=n-t,-180/Math.PI*Math.atan2(i,a)}function Fct(e,t,r,n,i,a,o){var s=i.label.textposition,l=i.label.textangle,u=i.label.padding,c=i.type,f=Math.PI/180*a,h=Math.sin(f),d=Math.cos(f),v=i.label.xanchor,m=i.label.yanchor,b,p,k,M;if(c==="line"){s==="start"?(b=e,p=t):s==="end"?(b=r,p=n):(b=(e+r)/2,p=(t+n)/2),v==="auto"&&(s==="start"?l==="auto"?r>e?v="left":re?v="right":re?v="right":re?v="left":r{"use strict";var zct=Pr(),qct=zct.strTranslate,Oue=yv(),Uue=Cg(),Oct=Uue.drawMode,Vue=Uue.selectMode,Gue=Oa(),Bue=ka(),lP=tP(),Bct=lP.i000,Nct=lP.i090,Uct=lP.i180,Vct=lP.i270,Gct=o_(),Hue=Gct.clearOutlineControllers,aN=m_(),sP=aN.pointsOnRectangle,nN=aN.pointsOnEllipse,Hct=aN.writePaths,jct=oP().newShapes,Wct=oP().createShapeObj,Xct=rN(),Zct=iN();jue.exports=function e(t,r,n,i){i||(i=0);var a=n.gd;function o(){e(t,r,n,i++),(nN(t[0])||n.hasText)&&s({redrawing:!0})}function s(j){var N={};n.isActiveShape!==void 0&&(n.isActiveShape=!1,N=jct(r,n)),n.isActiveSelection!==void 0&&(n.isActiveSelection=!1,N=Xct(r,n),a._fullLayout._reselect=!0),Object.keys(N).length&&Gue.call((j||{}).redrawing?"relayout":"_guiRelayout",a,N)}var l=a._fullLayout,u=l._zoomlayer,c=n.dragmode,f=Oct(c),h=Vue(c);(f||h)&&(a._fullLayout._outlining=!0),Hue(a),r.attr("d",Hct(t));var d,v,m,b,p;if(!i&&(n.isActiveShape||n.isActiveSelection)){p=Yct([],t);var k=u.append("g").attr("class","outline-controllers");P(k),Z()}if(f&&n.hasText){var M=u.select(".label-temp"),T=Wct(r,n,n.dragmode);Zct(a,"label-temp",T,M)}function L(j){m=+j.srcElement.getAttribute("data-i"),b=+j.srcElement.getAttribute("data-j"),d[m][b].moveFn=x}function x(j,N){if(t.length){var H=p[m][b][1],ie=p[m][b][2],ae=t[m],_e=ae.length;if(sP(ae)){var Ee=j,Ce=N;if(n.isActiveSelection){var ge=Nue(ae,b);ge[1]===ae[b][1]?Ce=0:Ee=0}for(var re=0;re<_e;re++)if(re!==b){var Se=ae[re];Se[1]===ae[b][1]&&(Se[1]=H+Ee),Se[2]===ae[b][2]&&(Se[2]=ie+Ce)}if(ae[b][1]=H+Ee,ae[b][2]=ie+Ce,!sP(ae))for(var ke=0;ke<_e;ke++)for(var be=0;be1&&!(j.length===2&&j[1][0]==="Z")&&(b===0&&(j[0][0]="M"),t[m]=j,o(),s())}}function g(j,N){if(j===2){m=+N.srcElement.getAttribute("data-i"),b=+N.srcElement.getAttribute("data-j");var H=t[m];!sP(H)&&!nN(H)&&S()}}function P(j){d=[];for(var N=0;N{"use strict";var Jct=qa(),Jue=Oa(),sN=Pr(),Yb=ho(),$ct=m_().readPaths,Qct=uP(),fP=iN(),$ue=o_().clearOutlineControllers,oN=ka(),hP=So(),eft=vl().arrayEditor,Wue=yv(),Xue=ef(),Zue=Eg(),Kb=AM(),Ep=x_(),lN=Ep.getPathString;tce.exports={draw:uN,drawOne:Que,eraseActiveShape:aft,drawLabel:fP};function uN(e){var t=e._fullLayout;t._shapeUpperLayer.selectAll("path").remove(),t._shapeLowerLayer.selectAll("path").remove(),t._shapeUpperLayer.selectAll("text").remove(),t._shapeLowerLayer.selectAll("text").remove();for(var r in t._plots){var n=t._plots[r].shapelayer;n&&(n.selectAll("path").remove(),n.selectAll("text").remove())}for(var i=0;i{if(!e._dragging&&e._fullLayout.hoveranywhere){let o=i(a);o&&Xue.hover(e,o,r.id)}}),n.addEventListener("click",a=>{if(!e._dragged&&e._fullLayout.clickanywhere){let o=i(a);o&&Xue.click(e,o,r.id)}})}function ece(e,t,r){let n=r.xref,i=r.yref;if(Array.isArray(n)||Array.isArray(i)){let a="clip"+t._fullLayout._uid+"shape"+r._index,o=rft(t,n,i);sN.ensureSingleById(t._fullLayout._clips,"clipPath",a,function(s){s.append("rect")}).select("rect").attr(o),hP.setClipUrl(e,a,t)}else{let a=(n+i).replace(/paper/g,"").replace(/[xyz][0-9]* *domain/g,"");hP.setClipUrl(e,a?"clip"+t._fullLayout._uid+a:null,t)}}function rft(e,t,r){let n=e._fullLayout._size;function i(s,l){let u=(Array.isArray(s)?s:[s]).map(h=>Yb.getFromId(e,h)).filter(Boolean);if(!u.length)return l?[n.t,n.t+n.h]:[n.l,n.l+n.w];let c=u.map(function(h){return h._offset}),f=u.map(function(h){return h._offset+h._length});return[Math.min(...c),Math.max(...f)]}let a=i(t,!1),o=i(r,!0);return{x:a[0],y:o[0],width:a[1]-a[0],height:o[1]-o[0]}}function ift(e,t,r,n,i,a){var o=10,s=10,l=r.xsizemode==="pixel",u=r.ysizemode==="pixel",c=r.type==="line",f=r.type==="path",h=a.modifyItem,d,v,m,b,p,k,M,T,L,x,C,S,g,P,E,z=Jct.select(t.node().parentNode),q=Yb.getFromId(e,r.xref),V=Yb.getRefType(r.xref),G=Yb.getFromId(e,r.yref),Z=Yb.getRefType(r.yref),j=r.x0shift,N=r.x1shift,H=r.y0shift,ie=r.y1shift,ae=function(at,ct){var ar=Ep.getDataToPixel(e,q,ct,!1,V);return ar(at)},_e=function(at,ct){var ar=Ep.getDataToPixel(e,G,ct,!0,Z);return ar(at)},Ee=Ep.getPixelToData(e,q,!1,V),Ce=Ep.getPixelToData(e,G,!0,Z),ge=ke(),re={element:ge.node(),gd:e,prepFn:Le,doneFn:me,clickFn:Pe},Se;Wue.init(re),ge.node().onmousemove=Be;function ke(){return c?be():t}function be(){var at=10,ct=Math.max(r.line.width,at),ar=i.append("g").attr("data-index",n).attr("drag-helper",!0);ar.append("path").attr("d",t.attr("d")).style({cursor:"move","stroke-width":ct,"stroke-opacity":"0"});var Vt={"fill-opacity":"0"},rr=Math.max(ct/2,at);return ar.append("circle").attr({"data-line-point":"start-point",cx:l?ae(r.xanchor)+r.x0:ae(r.x0,j),cy:u?_e(r.yanchor)-r.y0:_e(r.y0,H),r:rr}).style(Vt).classed("cursor-grab",!0),ar.append("circle").attr({"data-line-point":"end-point",cx:l?ae(r.xanchor)+r.x1:ae(r.x1,N),cy:u?_e(r.yanchor)-r.y1:_e(r.y1,ie),r:rr}).style(Vt).classed("cursor-grab",!0),ar}function Be(at){if(cP(e)){Se=null;return}if(c)at.target.tagName==="path"?Se="move":Se=at.target.attributes["data-line-point"].value==="start-point"?"resize-over-start-point":"resize-over-end-point";else{var ct=re.element.getBoundingClientRect(),ar=ct.right-ct.left,Vt=ct.bottom-ct.top,rr=at.clientX-ct.left,tt=at.clientY-ct.top,je=!f&&ar>o&&Vt>s&&!at.shiftKey?Wue.getCursor(rr/ar,1-tt/Vt):"move";Zue(t,je),Se=je.split("-")[0]}}function Le(at){cP(e)||(l&&(p=ae(r.xanchor)),u&&(k=_e(r.yanchor)),r.type==="path"?E=r.path:(d=l?r.x0:ae(r.x0),v=u?r.y0:_e(r.y0),m=l?r.x1:ae(r.x1),b=u?r.y1:_e(r.y1)),db?(M=v,C="y0",T=b,S="y1"):(M=b,C="y1",T=v,S="y0"),Be(at),lt(i,r),Ht(t,r,e),re.moveFn=Se==="move"?ce:He,re.altKey=at.altKey)}function me(){cP(e)||(Zue(t),mt(i),ece(t,e,r),Jue.call("_guiRelayout",e,a.getUpdateObj()))}function Pe(){cP(e)||mt(i)}function ce(at,ct){if(r.type==="path"){var ar=function(tt){return tt},Vt=ar,rr=ar;l?h("xanchor",r.xanchor=Ee(p+at)):(Vt=function(je){return Ee(ae(je)+at)},q&&q.type==="date"&&(Vt=Ep.encodeDate(Vt))),u?h("yanchor",r.yanchor=Ce(k+ct)):(rr=function(je){return Ce(_e(je)+ct)},G&&G.type==="date"&&(rr=Ep.encodeDate(rr))),h("path",r.path=Yue(E,Vt,rr))}else l?h("xanchor",r.xanchor=Ee(p+at)):(h("x0",r.x0=Ee(d+at)),h("x1",r.x1=Ee(m+at))),u?h("yanchor",r.yanchor=Ce(k+ct)):(h("y0",r.y0=Ce(v+ct)),h("y1",r.y1=Ce(b+ct)));t.attr("d",lN(e,r)),lt(i,r),fP(e,n,r,z)}function He(at,ct){if(f){var ar=function(Ar){return Ar},Vt=ar,rr=ar;l?h("xanchor",r.xanchor=Ee(p+at)):(Vt=function(ei){return Ee(ae(ei)+at)},q&&q.type==="date"&&(Vt=Ep.encodeDate(Vt))),u?h("yanchor",r.yanchor=Ce(k+ct)):(rr=function(ei){return Ce(_e(ei)+ct)},G&&G.type==="date"&&(rr=Ep.encodeDate(rr))),h("path",r.path=Yue(E,Vt,rr))}else if(c){if(Se==="resize-over-start-point"){var tt=d+at,je=u?v-ct:v+ct;h("x0",r.x0=l?tt:Ee(tt)),h("y0",r.y0=u?je:Ce(je))}else if(Se==="resize-over-end-point"){var Ue=m+at,Ae=u?b-ct:b+ct;h("x1",r.x1=l?Ue:Ee(Ue)),h("y1",r.y1=u?Ae:Ce(Ae))}}else{var rt=function(Ar){return Se.indexOf(Ar)!==-1},St=rt("n"),Tt=rt("s"),dt=rt("w"),Et=rt("e"),pt=St?M+ct:M,jt=Tt?T+ct:T,or=dt?L+at:L,mr=Et?x+at:x;u&&(St&&(pt=M-ct),Tt&&(jt=T-ct)),(!u&&jt-pt>s||u&&pt-jt>s)&&(h(C,r[C]=u?pt:Ce(pt)),h(S,r[S]=u?jt:Ce(jt))),mr-or>o&&(h(g,r[g]=l?or:Ee(or)),h(P,r[P]=l?mr:Ee(mr)))}t.attr("d",lN(e,r)),lt(i,r),fP(e,n,r,z)}function lt(at,ct){(l||u)&&ar();function ar(){var Vt=ct.type!=="path",rr=at.selectAll(".visual-cue").data([0]),tt=1;rr.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":tt}).classed("visual-cue",!0);var je=ae(l?ct.xanchor:sN.midRange(Vt?[ct.x0,ct.x1]:Ep.extractPathCoords(ct.path,Kb.paramIsX))),Ue=_e(u?ct.yanchor:sN.midRange(Vt?[ct.y0,ct.y1]:Ep.extractPathCoords(ct.path,Kb.paramIsY)));if(je=Ep.roundPositionForSharpStrokeRendering(je,tt),Ue=Ep.roundPositionForSharpStrokeRendering(Ue,tt),l&&u){var Ae="M"+(je-1-tt)+","+(Ue-1-tt)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";rr.attr("d",Ae)}else if(l){var rt="M"+(je-1-tt)+","+(Ue-9-tt)+"v18 h2 v-18 Z";rr.attr("d",rt)}else{var St="M"+(je-9-tt)+","+(Ue-1-tt)+"h18 v2 h-18 Z";rr.attr("d",St)}}}function mt(at){at.selectAll(".visual-cue").remove()}function Ht(at,ct,ar){var Vt=ct.xref,rr=ct.yref,tt=Yb.getFromId(ar,Vt),je=Yb.getFromId(ar,rr),Ue="";Vt!=="paper"&&!tt.autorange&&(Ue+=Vt),rr!=="paper"&&!je.autorange&&(Ue+=rr),hP.setClipUrl(at,Ue?"clip"+ar._fullLayout._uid+Ue:null,ar)}}function Yue(e,t,r){return e.replace(Kb.segmentRE,function(n){var i=0,a=n.charAt(0),o=Kb.paramIsX[a],s=Kb.paramIsY[a],l=Kb.numParams[a],u=n.slice(1).replace(Kb.paramRE,function(c){return i>=l||(o[i]?c=t(c):s[i]&&(c=r(c)),i++),c});return a+u})}function nft(e,t){if(dP(e)){var r=t.node(),n=+r.getAttribute("data-index");if(n>=0){if(n===e._fullLayout._activeShapeIndex){Kue(e);return}e._fullLayout._activeShapeIndex=n,e._fullLayout._deactivateShape=Kue,uN(e)}}}function Kue(e){if(dP(e)){var t=e._fullLayout._activeShapeIndex;t>=0&&($ue(e),delete e._fullLayout._activeShapeIndex,uN(e))}}function aft(e){if(dP(e)){$ue(e);var t=e._fullLayout._activeShapeIndex,r=(e.layout||{}).shapes||[];if(t{"use strict";var S0=Oa(),rce=Mc(),ice=df(),Pl=QL(),oft=vP().eraseActiveShape,pP=Pr(),tl=pP._,Il=cce.exports={};Il.toImage={name:"toImage",title:function(e){var t=e._context.toImageButtonOptions||{},r=t.format||"png";return r==="png"?tl(e,"Download plot as a PNG"):tl(e,"Download plot")},icon:Pl.camera,click:function(e){var t=e._context.toImageButtonOptions,r={format:t.format||"png"};pP.notifier(tl(e,"Taking snapshot - this may take a few seconds"),"long",e),["filename","width","height","scale"].forEach(function(n){n in t&&(r[n]=t[n])}),S0.call("downloadImage",e,r).then(function(n){pP.notifier(tl(e,"Snapshot succeeded")+" - "+n,"long",e)}).catch(function(){pP.notifier(tl(e,"Sorry, there was a problem downloading your snapshot!"),"long",e)})}};Il.sendDataToCloud={name:"sendDataToCloud",title:function(e){return tl(e,"Edit in Chart Studio")},icon:Pl.disk,click:function(e){rce.sendDataToCloud(e)}};Il.editInChartStudio={name:"editInChartStudio",title:function(e){return tl(e,"Edit in Chart Studio")},icon:Pl.pencil,click:function(e){rce.sendDataToCloud(e)}};Il.zoom2d={name:"zoom2d",_cat:"zoom",title:function(e){return tl(e,"Zoom")},attr:"dragmode",val:"zoom",icon:Pl.zoombox,click:Bv};Il.pan2d={name:"pan2d",_cat:"pan",title:function(e){return tl(e,"Pan")},attr:"dragmode",val:"pan",icon:Pl.pan,click:Bv};Il.select2d={name:"select2d",_cat:"select",title:function(e){return tl(e,"Box Select")},attr:"dragmode",val:"select",icon:Pl.selectbox,click:Bv};Il.lasso2d={name:"lasso2d",_cat:"lasso",title:function(e){return tl(e,"Lasso Select")},attr:"dragmode",val:"lasso",icon:Pl.lasso,click:Bv};Il.drawclosedpath={name:"drawclosedpath",title:function(e){return tl(e,"Draw closed freeform")},attr:"dragmode",val:"drawclosedpath",icon:Pl.drawclosedpath,click:Bv};Il.drawopenpath={name:"drawopenpath",title:function(e){return tl(e,"Draw open freeform")},attr:"dragmode",val:"drawopenpath",icon:Pl.drawopenpath,click:Bv};Il.drawline={name:"drawline",title:function(e){return tl(e,"Draw line")},attr:"dragmode",val:"drawline",icon:Pl.drawline,click:Bv};Il.drawrect={name:"drawrect",title:function(e){return tl(e,"Draw rectangle")},attr:"dragmode",val:"drawrect",icon:Pl.drawrect,click:Bv};Il.drawcircle={name:"drawcircle",title:function(e){return tl(e,"Draw circle")},attr:"dragmode",val:"drawcircle",icon:Pl.drawcircle,click:Bv};Il.eraseshape={name:"eraseshape",title:function(e){return tl(e,"Erase active shape")},icon:Pl.eraseshape,click:oft};Il.zoomIn2d={name:"zoomIn2d",_cat:"zoomin",title:function(e){return tl(e,"Zoom in")},attr:"zoom",val:"in",icon:Pl.zoom_plus,click:Bv};Il.zoomOut2d={name:"zoomOut2d",_cat:"zoomout",title:function(e){return tl(e,"Zoom out")},attr:"zoom",val:"out",icon:Pl.zoom_minus,click:Bv};Il.autoScale2d={name:"autoScale2d",_cat:"autoscale",title:function(e){return tl(e,"Autoscale")},attr:"zoom",val:"auto",icon:Pl.autoscale,click:Bv};Il.resetScale2d={name:"resetScale2d",_cat:"resetscale",title:function(e){return tl(e,"Reset axes")},attr:"zoom",val:"reset",icon:Pl.home,click:Bv};Il.hoverClosestCartesian={name:"hoverClosestCartesian",_cat:"hoverclosest",title:function(e){return tl(e,"Show closest data on hover")},attr:"hovermode",val:"closest",icon:Pl.tooltip_basic,gravity:"ne",click:Bv};Il.hoverCompareCartesian={name:"hoverCompareCartesian",_cat:"hoverCompare",title:function(e){return tl(e,"Compare data on hover")},attr:"hovermode",val:function(e){return e._fullLayout._isHoriz?"y":"x"},icon:Pl.tooltip_compare,gravity:"ne",click:Bv};function Bv(e,t){var r=t.currentTarget,n=r.getAttribute("data-attr"),i=r.getAttribute("data-val")||!0,a=e._fullLayout,o={},s=ice.list(e,null,!0),l=a._cartesianSpikesEnabled,u,c;if(n==="zoom"){var f=i==="in"?.5:2,h=(1+f)/2,d=(1-f)/2,v,m;for(c=0;c{"use strict";var fce=hN(),uft=Object.keys(fce),hce=["drawline","drawopenpath","drawclosedpath","drawcircle","drawrect","eraseshape"],dce=["v1hovermode","hoverclosest","hovercompare","togglehover","togglespikelines"].concat(hce),aT=[],cft=function(e){if(dce.indexOf(e._cat||e.name)===-1){var t=e.name,r=(e._cat||e.name).toLowerCase();aT.indexOf(t)===-1&&aT.push(t),aT.indexOf(r)===-1&&aT.push(r)}};uft.forEach(function(e){cft(fce[e])});aT.sort();vce.exports={DRAW_MODES:hce,backButtons:dce,foreButtons:aT}});var vN=ye((sor,pce)=>{"use strict";var oor=dN();pce.exports={editType:"modebar",orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar"},bgcolor:{valType:"color",editType:"modebar"},color:{valType:"color",editType:"modebar"},activecolor:{valType:"color",editType:"modebar"},uirevision:{valType:"any",editType:"none"},add:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"},remove:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"}}});var mce=ye((lor,gce)=>{"use strict";var fft=Pr(),MM=ka(),hft=vl(),dft=vN();gce.exports=function(t,r){var n=t.modebar||{},i=hft.newContainer(r,"modebar");function a(s,l){return fft.coerce(n,i,dft,s,l)}a("orientation"),a("bgcolor",MM.addOpacity(r.paper_bgcolor,.5));var o=MM.contrast(MM.rgb(r.modebar.bgcolor));a("color",MM.addOpacity(o,.3)),a("activecolor",MM.addOpacity(o,.7)),a("uirevision",r.uirevision),a("add"),a("remove")}});var bce=ye((uor,xce)=>{"use strict";var pN=qa(),vft=Eo(),mP=Pr(),yce=QL(),pft=m6().version,gft=new DOMParser;function _ce(e){this.container=e.container,this.element=document.createElement("div"),this.update(e.graphInfo,e.buttons),this.container.appendChild(this.element)}var Cm=_ce.prototype;Cm.update=function(e,t){this.graphInfo=e;var r=this.graphInfo._context,n=this.graphInfo._fullLayout,i="modebar-"+n._uid;this.element.setAttribute("id",i),this.element.setAttribute("role","toolbar"),this._uid=i,this.element.className="modebar modebar--custom",r.displayModeBar==="hover"&&(this.element.className+=" modebar--hover ease-bg"),n.modebar.orientation==="v"&&(this.element.className+=" vertical",t=t.reverse());var a=n.modebar,o="#"+i+" .modebar-group";document.querySelectorAll(o).forEach(function(f){f.style.backgroundColor=a.bgcolor});var s=!this.hasButtons(t),l=this.hasLogo!==r.displaylogo,u=this.locale!==r.locale;if(this.locale=r.locale,(s||l||u)&&(this.removeAllButtons(),this.updateButtons(t),r.watermark||r.displaylogo)){var c=this.getLogo();r.watermark&&(c.className=c.className+" watermark"),n.modebar.orientation==="v"?this.element.insertBefore(c,this.element.childNodes[0]):this.element.appendChild(c),this.hasLogo=!0}this.updateActiveButton(),mP.setStyleOnHover("#"+i+" .modebar-btn",".active",".icon path","fill: "+a.activecolor,"fill: "+a.color,this.element)};Cm.updateButtons=function(e){var t=this;this.buttons=e,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach(function(r){var n=t.createGroup();r.forEach(function(i){var a=i.name;if(!a)throw new Error("must provide button 'name' in button config");if(t.buttonsNames.indexOf(a)!==-1)throw new Error("button name '"+a+"' is taken");t.buttonsNames.push(a);var o=t.createButton(i);t.buttonElements.push(o),n.appendChild(o)}),t.element.appendChild(n)})};Cm.createGroup=function(){var e=document.createElement("div");e.className="modebar-group";var t=this.graphInfo._fullLayout.modebar;return e.style.backgroundColor=t.bgcolor,e};Cm.createButton=function(e){var t=this,r=document.createElement("button");r.setAttribute("type","button"),r.setAttribute("rel","tooltip"),r.className="modebar-btn";var n=e.title;n===void 0?n=e.name:typeof n=="function"&&(n=n(this.graphInfo)),(n||n===0)&&(r.setAttribute("data-title",n),r.setAttribute("aria-label",n)),e.attr!==void 0&&r.setAttribute("data-attr",e.attr);var i=e.val;i!==void 0&&(typeof i=="function"&&(i=i(this.graphInfo)),r.setAttribute("data-val",i));var a=e.click;if(typeof a!="function")throw new Error("must provide button 'click' function in button config");r.addEventListener("click",function(s){e.click(t.graphInfo,s),t.updateActiveButton(s.currentTarget)}),r.setAttribute("data-toggle",e.toggle||!1),e.toggle&&pN.select(r).classed("active",!0);var o=e.icon;return typeof o=="function"?r.appendChild(o()):r.appendChild(this.createIcon(o||yce.question)),r.setAttribute("data-gravity",e.gravity||"n"),r};Cm.createIcon=function(e){var t=vft(e.height)?Number(e.height):e.ascent-e.descent,r="http://www.w3.org/2000/svg",n;if(e.path){n=document.createElementNS(r,"svg"),n.setAttribute("viewBox",[0,0,e.width,t].join(" ")),n.setAttribute("class","icon");var i=document.createElementNS(r,"path");i.setAttribute("d",e.path),e.transform?i.setAttribute("transform",e.transform):e.ascent!==void 0&&i.setAttribute("transform","matrix(1 0 0 -1 0 "+e.ascent+")"),n.appendChild(i)}if(e.svg){var a=gft.parseFromString(e.svg,"application/xml");n=a.childNodes[0]}return n.setAttribute("height","1em"),n.setAttribute("width","1em"),n};Cm.updateActiveButton=function(e){var t=this.graphInfo._fullLayout,r=e!==void 0?e.getAttribute("data-attr"):null;this.buttonElements.forEach(function(n){var i=n.getAttribute("data-val")||!0,a=n.getAttribute("data-attr"),o=n.getAttribute("data-toggle")==="true",s=pN.select(n),l=function(f,h){var d=t.modebar,v=f.querySelector(".icon path");v&&(h||f.matches(":hover")?v.style.fill=d.activecolor:v.style.fill=d.color)};if(o){if(a===r){var u=!s.classed("active");s.classed("active",u),l(n,u)}}else{var c=a===null?a:mP.nestedProperty(t,a).get();s.classed("active",c===i),l(n,c===i)}})};Cm.hasButtons=function(e){var t=this.buttons;if(!t||e.length!==t.length)return!1;for(var r=0;r{"use strict";var _ft=df(),wce=Ru(),gN=Oa(),xft=ip().isUnifiedHover,bft=bce(),yP=hN(),wft=dN().DRAW_MODES,Tft=Pr().extendDeep;Tce.exports=function(t){var r=t._fullLayout,n=t._context,i=r._modeBar;if(!n.displayModeBar&&!n.watermark){i&&(i.destroy(),delete r._modeBar);return}if(!Array.isArray(n.modeBarButtonsToRemove))throw new Error(["*modeBarButtonsToRemove* configuration options","must be an array."].join(" "));if(!Array.isArray(n.modeBarButtonsToAdd))throw new Error(["*modeBarButtonsToAdd* configuration options","must be an array."].join(" "));var a=n.modeBarButtons,o;Array.isArray(a)&&a.length?o=Cft(a):!n.displayModeBar&&n.watermark?o=[]:o=Aft(t),i?i.update(t,o):r._modeBar=bft(t,o)};function Aft(e){var t=e._fullLayout,r=e._fullData,n=e._context;function i(N,H){if(typeof H=="string"){if(H.toLowerCase()===N.toLowerCase())return!0}else{var ie=H.name,ae=H._cat||H.name;if(ie===N||ae===N.toLowerCase())return!0}return!1}var a=t.modebar.add;typeof a=="string"&&(a=[a]);var o=t.modebar.remove;typeof o=="string"&&(o=[o]);var s=n.modeBarButtonsToAdd.concat(a.filter(function(N){for(var H=0;H1?(P=["toggleHover"],E=["resetViews"]):f?(g=["zoomInGeo","zoomOutGeo"],P=["hoverClosestGeo"],E=["resetGeo"]):c?(P=["hoverClosest3d"],E=["resetCameraDefault3d","resetCameraLastSave3d"]):m?(g=["zoomInMapbox","zoomOutMapbox"],P=["toggleHover"],E=["resetViewMapbox"]):b?(g=["zoomInMap","zoomOutMap"],P=["toggleHover"],E=["resetViewMap"]):h?P=["hoverClosestPie"]:M?(P=["hoverClosestCartesian","hoverCompareCartesian"],E=["resetViewSankey"]):P=["toggleHover"],u&&P.push("toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"),(Eft(r)||L)&&(P=[]),u&&!T&&(g=["zoomIn2d","zoomOut2d","autoScale2d"],E[0]!=="resetViews"&&(E=["resetScale2d"])),c?z=["zoom3d","pan3d","orbitRotation","tableRotation"]:u&&!T||v?z=["zoom2d","pan2d"]:m||b||f?z=["pan2d"]:p&&(z=["zoom2d"]),Mft(r)&&z.push("select2d","lasso2d");var q=[],V=function(N){q.indexOf(N)===-1&&P.indexOf(N)!==-1&&q.push(N)};if(Array.isArray(s)){for(var G=[],Z=0;Z{"use strict";Sce.exports={moduleType:"component",name:"modebar",layoutAttributes:vN(),supplyLayoutDefaults:mce(),manage:Ace()}});var yN=ye((dor,Mce)=>{"use strict";var Lft=Dh().FROM_BL;Mce.exports=function(t,r,n){n===void 0&&(n=Lft[t.constraintoward||"center"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*n;t.range=t._input.range=[t.l2r(a+(i[0]-a)*r),t.l2r(a+(i[1]-a)*r)],t.setScale()}});var $b=ye(EM=>{"use strict";var Jb=Pr(),_N=Mg(),Lg=df().id2name,Pft=Rd(),Ece=yN(),Ift=xm(),Rft=fs().ALMOST_EQUAL,Dft=Dh().FROM_BL;EM.handleDefaults=function(e,t,r){var n=r.axIds,i=r.axHasImage,a=t._axisConstraintGroups=[],o=t._axisMatchGroups=[],s,l,u,c,f,h,d,v;for(s=0;sa?r.slice(a):n.slice(i))+o}function zft(e,t){for(var r=t._size,n=r.h/r.w,i={},a=Object.keys(e),o=0;oRft*v&&!k)){for(a=0;az&&ieP&&(P=ie);var _e=(P-g)/(2*E);f/=_e,g=l.l2r(g),P=l.l2r(P),l.range=l._input.range=x{"use strict";var xP=qa(),Nv=Oa(),Jp=Mc(),M0=Pr(),wN=Zl(),TN=wM(),kM=ka(),oT=So(),Pce=qb(),zce=mN(),CM=ho(),Fy=Dh(),qce=$b(),qft=qce.enforce,Oft=qce.clean,Ice=Mg().doAutoRange,Oce="start",Bft="middle",Bce="end",Nft=Rh().zindexSeparator;pd.layoutStyles=function(e){return M0.syncOrAsync([Jp.doAutoMargin,Vft],e)};function Uft(e,t,r){for(var n=0;n=e[1]||i[1]<=e[0])&&a[0]t[0])return!0}return!1}function Vft(e){var t=e._fullLayout,r=t._size,n=r.p,i=CM.list(e,"",!0),a,o,s,l,u,c;if(t._paperdiv.style({width:e._context.responsive&&t.autosize&&!e._context._hasZeroWidth&&!e.layout.width?"100%":t.width+"px",height:e._context.responsive&&t.autosize&&!e._context._hasZeroHeight&&!e.layout.height?"100%":t.height+"px"}).selectAll(".main-svg").call(oT.setSize,t.width,t.height),e._context.setBackground(e,t.paper_bgcolor),pd.drawMainTitle(e),zce.manage(e),!t._has("cartesian"))return Jp.previousPromises(e);function f(Le,me,Pe){var ce=Le._lw/2;if(Le._id.charAt(0)==="x"){if(me){if(Pe==="top")return me._offset-n-ce}else return r.t+r.h*(1-(Le.position||0))+ce%1;return me._offset+me._length+n+ce}if(me){if(Pe==="right")return me._offset+me._length+n+ce}else return r.l+r.w*(Le.position||0)+ce%1;return me._offset-n-ce}for(a=0;a0){Wft(e,a,u,l),s.attr({x:o,y:a,"text-anchor":n,dy:Fce(t.yanchor)}).call(wN.positionText,o,a);var c=(t.text.match(wN.BR_TAG_ALL)||[]).length;if(c){var f=Fy.LINE_SPACING*c+Fy.MID_SHIFT;t.y===0&&(f=-f),s.selectAll(".line").each(function(){var b=+this.getAttribute("dy").slice(0,-2)-f+"em";this.setAttribute("dy",b)})}var h=xP.select(e).selectAll(".gtitle-subtitle");if(h.node()){var d=s.node().getBBox(),v=d.y+d.height,m=v+Pce.SUBTITLE_PADDING_EM*t.subtitle.font.size;h.attr({x:o,y:m,"text-anchor":n,dy:Fce(t.yanchor)}).call(wN.positionText,o,m)}}}};function Gft(e,t,r,n,i){var a=t.yref==="paper"?e._fullLayout._size.h:e._fullLayout.height,o=M0.isTopAnchor(t)?n:n-i,s=r==="b"?a-o:o;return M0.isTopAnchor(t)&&r==="t"||M0.isBottomAnchor(t)&&r==="b"?!1:s.5?"t":"b",o=e._fullLayout.margin[a],s=0;return t.yref==="paper"?s=r+t.pad.t+t.pad.b:t.yref==="container"&&(s=Hft(a,n,i,e._fullLayout.height,r)+t.pad.t+t.pad.b),s>o?s:0}function Wft(e,t,r,n){var i="title.automargin",a=e._fullLayout.title,o=a.y>.5?"t":"b",s={x:a.x,y:a.y,t:0,b:0},l={};a.yref==="paper"&&Gft(e,a,o,t,n)?s[o]=r:a.yref==="container"&&(l[o]=r,e._fullLayout._reservedMargin[i]=l),Jp.allowAutoMargin(e,i),Jp.autoMargin(e,i,s)}function Xft(e,t){var r=e.title,n=e._size,i=0;switch(t===Oce?i=r.pad.l:t===Bce&&(i=-r.pad.r),r.xref){case"paper":return n.l+n.w*r.x+i;case"container":default:return e.width*r.x+i}}function Zft(e,t){var r=e.title,n=e._size,i=0;if(t==="0em"||!t?i=-r.pad.b:t===Fy.CAP_SHIFT+"em"&&(i=r.pad.t),r.y==="auto")return n.t/2;switch(r.yref){case"paper":return n.t+n.h-n.h*r.y+i;case"container":default:return e.height-e.height*r.y+i}}function Fce(e){return e==="top"?Fy.CAP_SHIFT+.3+"em":e==="bottom"?"-0.3em":Fy.MID_SHIFT+"em"}function Yft(e){var t=e.title,r=Bft;return M0.isRightAnchor(t)?r=Bce:M0.isLeftAnchor(t)&&(r=Oce),r}function Kft(e){var t=e.title,r="0em";return M0.isTopAnchor(t)?r=Fy.CAP_SHIFT+"em":M0.isMiddleAnchor(t)&&(r=Fy.MID_SHIFT+"em"),r}pd.doTraceStyle=function(e){var t=e.calcdata,r=[],n;for(n=0;n{"use strict";var Jft=m_().readPaths,$ft=uP(),Nce=o_().clearOutlineControllers,AN=ka(),Uce=So(),Qft=vl().arrayEditor,Vce=x_(),eht=Vce.getPathString;Hce.exports={draw:bP,drawOne:Gce,activateLastSelection:iht};function bP(e){var t=e._fullLayout;Nce(e),t._selectionLayer.selectAll("path").remove();for(var r in t._plots){var n=t._plots[r].selectionLayer;n&&n.selectAll("path").remove()}for(var i=0;i=0;b--){var p=o.append("path").attr(l).style("opacity",b?.1:u).call(AN.stroke,f).call(AN.fill,c).call(Uce.dashLine,b?"solid":d,b?4+h:h);if(tht(p,e,n),v){var k=Qft(e.layout,"selections",n);p.style({cursor:"move"});var M={element:p.node(),plotinfo:i,gd:e,editHelpers:k,isActiveSelection:!0},T=Jft(s,e);$ft(T,p,M)}else p.style("pointer-events",b?"all":"none");m[b]=p}var L=m[0],x=m[1];x.node().addEventListener("click",function(){return rht(e,L)})}}function tht(e,t,r){var n=r.xref+r.yref;Uce.setClipUrl(e,"clip"+t._fullLayout._uid+n,t)}function rht(e,t){if(wP(e)){var r=t.node(),n=+r.getAttribute("data-index");if(n>=0){if(n===e._fullLayout._activeSelectionIndex){SN(e);return}e._fullLayout._activeSelectionIndex=n,e._fullLayout._deactivateSelection=SN,bP(e)}}}function iht(e){if(wP(e)){var t=e._fullLayout.selections.length-1;e._fullLayout._activeSelectionIndex=t,e._fullLayout._deactivateSelection=SN,bP(e)}}function SN(e){if(wP(e)){var t=e._fullLayout._activeSelectionIndex;t>=0&&(Nce(e),delete e._fullLayout._activeSelectionIndex,bP(e))}}});var Wce=ye((mor,jce)=>{function nht(){var e,t=0,r=!1;function n(i,a){return e.list.push({type:i,data:a?JSON.parse(JSON.stringify(a)):void 0}),e}return e={list:[],segmentId:function(){return t++},checkIntersection:function(i,a){return n("check",{seg1:i,seg2:a})},segmentChop:function(i,a){return n("div_seg",{seg:i,pt:a}),n("chop",{seg:i,pt:a})},statusRemove:function(i){return n("pop_seg",{seg:i})},segmentUpdate:function(i){return n("seg_update",{seg:i})},segmentNew:function(i,a){return n("new_seg",{seg:i,primary:a})},segmentRemove:function(i){return n("rem_seg",{seg:i})},tempStatus:function(i,a,o){return n("temp_status",{seg:i,above:a,below:o})},rewind:function(i){return n("rewind",{seg:i})},status:function(i,a,o){return n("status",{seg:i,above:a,below:o})},vert:function(i){return i===r?e:(r=i,n("vert",{x:i}))},log:function(i){return typeof i!="string"&&(i=JSON.stringify(i,!1," ")),n("log",{txt:i})},reset:function(){return n("reset")},selected:function(i){return n("selected",{segs:i})},chainStart:function(i){return n("chain_start",{seg:i})},chainRemoveHead:function(i,a){return n("chain_rem_head",{index:i,pt:a})},chainRemoveTail:function(i,a){return n("chain_rem_tail",{index:i,pt:a})},chainNew:function(i,a){return n("chain_new",{pt1:i,pt2:a})},chainMatch:function(i){return n("chain_match",{index:i})},chainClose:function(i){return n("chain_close",{index:i})},chainAddHead:function(i,a){return n("chain_add_head",{index:i,pt:a})},chainAddTail:function(i,a){return n("chain_add_tail",{index:i,pt:a})},chainConnect:function(i,a){return n("chain_con",{index1:i,index2:a})},chainReverse:function(i){return n("chain_rev",{index:i})},chainJoin:function(i,a){return n("chain_join",{index1:i,index2:a})},done:function(){return n("done")}},e}jce.exports=nht});var Zce=ye((yor,Xce)=>{function aht(e){typeof e!="number"&&(e=1e-10);var t={epsilon:function(r){return typeof r=="number"&&(e=r),e},pointAboveOrOnLine:function(r,n,i){var a=n[0],o=n[1],s=i[0],l=i[1],u=r[0],c=r[1];return(s-a)*(c-o)-(l-o)*(u-a)>=-e},pointBetween:function(r,n,i){var a=r[1]-n[1],o=i[0]-n[0],s=r[0]-n[0],l=i[1]-n[1],u=s*o+a*l;if(u-e)},pointsSameX:function(r,n){return Math.abs(r[0]-n[0])e!=s-a>e&&(o-c)*(a-f)/(s-f)+c-i>e&&(l=!l),o=c,s=f}return l}};return t}Xce.exports=aht});var Kce=ye((_or,Yce)=>{var oht={create:function(){var e={root:{root:!0,next:null},exists:function(t){return!(t===null||t===e.root)},isEmpty:function(){return e.root.next===null},getHead:function(){return e.root.next},insertBefore:function(t,r){for(var n=e.root,i=e.root.next;i!==null;){if(r(i)){t.prev=i.prev,t.next=i,i.prev.next=t,i.prev=t;return}n=i,i=i.next}n.next=t,t.prev=n,t.next=null},findTransition:function(t){for(var r=e.root,n=e.root.next;n!==null&&!t(n);)r=n,n=n.next;return{before:r===e.root?null:r,after:n,insert:function(i){return i.prev=r,i.next=n,r.next=i,n!==null&&(n.prev=i),i}}}};return e},node:function(e){return e.prev=null,e.next=null,e.remove=function(){e.prev.next=e.next,e.next&&(e.next.prev=e.prev),e.prev=null,e.next=null},e}};Yce.exports=oht});var $ce=ye((xor,Jce)=>{var PM=Kce();function sht(e,t,r){function n(v,m){return{id:r?r.segmentId():-1,start:v,end:m,myFill:{above:null,below:null},otherFill:null}}function i(v,m,b){return{id:r?r.segmentId():-1,start:v,end:m,myFill:{above:b.myFill.above,below:b.myFill.below},otherFill:null}}var a=PM.create();function o(v,m,b,p,k,M){var T=t.pointsCompare(m,k);return T!==0?T:t.pointsSame(b,M)?0:v!==p?v?1:-1:t.pointAboveOrOnLine(b,p?k:M,p?M:k)?1:-1}function s(v,m){a.insertBefore(v,function(b){var p=o(v.isStart,v.pt,m,b.isStart,b.pt,b.other.pt);return p<0})}function l(v,m){var b=PM.node({isStart:!0,pt:v.start,seg:v,primary:m,other:null,status:null});return s(b,v.end),b}function u(v,m,b){var p=PM.node({isStart:!1,pt:m.end,seg:m,primary:b,other:v,status:null});v.other=p,s(p,v.pt)}function c(v,m){var b=l(v,m);return u(b,v,m),b}function f(v,m){r&&r.segmentChop(v.seg,m),v.other.remove(),v.seg.end=m,v.other.pt=m,s(v.other,v.pt)}function h(v,m){var b=i(m,v.seg.end,v.seg);return f(v,m),c(b,v.primary)}function d(v,m){var b=PM.create();function p(G,Z){var j=G.seg.start,N=G.seg.end,H=Z.seg.start,ie=Z.seg.end;return t.pointsCollinear(j,H,ie)?t.pointsCollinear(N,H,ie)||t.pointAboveOrOnLine(N,H,ie)?1:-1:t.pointAboveOrOnLine(j,H,ie)?1:-1}function k(G){return b.findTransition(function(Z){var j=p(G,Z.ev);return j>0})}function M(G,Z){var j=G.seg,N=Z.seg,H=j.start,ie=j.end,ae=N.start,_e=N.end;r&&r.checkIntersection(j,N);var Ee=t.linesIntersect(H,ie,ae,_e);if(Ee===!1){if(!t.pointsCollinear(H,ie,ae)||t.pointsSame(H,_e)||t.pointsSame(ie,ae))return!1;var Ce=t.pointsSame(H,ae),ge=t.pointsSame(ie,_e);if(Ce&&ge)return Z;var re=!Ce&&t.pointBetween(H,ae,_e),Se=!ge&&t.pointBetween(ie,ae,_e);if(Ce)return Se?h(Z,ie):h(G,_e),Z;re&&(ge||(Se?h(Z,ie):h(G,_e)),h(Z,H))}else Ee.alongA===0&&(Ee.alongB===-1?h(G,ae):Ee.alongB===0?h(G,Ee.pt):Ee.alongB===1&&h(G,_e)),Ee.alongB===0&&(Ee.alongA===-1?h(Z,H):Ee.alongA===0?h(Z,Ee.pt):Ee.alongA===1&&h(Z,ie));return!1}for(var T=[];!a.isEmpty();){var L=a.getHead();if(r&&r.vert(L.pt[0]),L.isStart){let G=function(){if(C){var Z=M(L,C);if(Z)return Z}return S?M(L,S):!1};var V=G;r&&r.segmentNew(L.seg,L.primary);var x=k(L),C=x.before?x.before.ev:null,S=x.after?x.after.ev:null;r&&r.tempStatus(L.seg,C?C.seg:!1,S?S.seg:!1);var g=G();if(g){if(e){var P;L.seg.myFill.below===null?P=!0:P=L.seg.myFill.above!==L.seg.myFill.below,P&&(g.seg.myFill.above=!g.seg.myFill.above)}else g.seg.otherFill=L.seg.myFill;r&&r.segmentUpdate(g.seg),L.other.remove(),L.remove()}if(a.getHead()!==L){r&&r.rewind(L.seg);continue}if(e){var P;L.seg.myFill.below===null?P=!0:P=L.seg.myFill.above!==L.seg.myFill.below,S?L.seg.myFill.below=S.seg.myFill.above:L.seg.myFill.below=v,P?L.seg.myFill.above=!L.seg.myFill.below:L.seg.myFill.above=L.seg.myFill.below}else if(L.seg.otherFill===null){var E;S?L.primary===S.primary?E=S.seg.otherFill.above:E=S.seg.myFill.above:E=L.primary?m:v,L.seg.otherFill={above:E,below:E}}r&&r.status(L.seg,C?C.seg:!1,S?S.seg:!1),L.other.status=x.insert(PM.node({ev:L}))}else{var z=L.status;if(z===null)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(b.exists(z.prev)&&b.exists(z.next)&&M(z.prev.ev,z.next.ev),r&&r.statusRemove(z.ev.seg),z.remove(),!L.primary){var q=L.seg.myFill;L.seg.myFill=L.seg.otherFill,L.seg.otherFill=q}T.push(L.seg)}a.getHead().remove()}return r&&r.done(),T}return e?{addRegion:function(v){for(var m,b=v[v.length-1],p=0;p{function lht(e,t,r){var n=[],i=[];return e.forEach(function(a){var o=a.start,s=a.end;if(t.pointsSame(o,s)){console.warn("PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large");return}r&&r.chainStart(a);var l={index:0,matches_head:!1,matches_pt1:!1},u={index:0,matches_head:!1,matches_pt1:!1},c=l;function f(V,G,Z){return c.index=V,c.matches_head=G,c.matches_pt1=Z,c===l?(c=u,!1):(c=null,!0)}for(var h=0;h{function IM(e,t,r){var n=[];return e.forEach(function(i){var a=(i.myFill.above?8:0)+(i.myFill.below?4:0)+(i.otherFill&&i.otherFill.above?2:0)+(i.otherFill&&i.otherFill.below?1:0);t[a]!==0&&n.push({id:r?r.segmentId():-1,start:i.start,end:i.end,myFill:{above:t[a]===1,below:t[a]===2},otherFill:null})}),r&&r.selected(n),n}var uht={union:function(e,t){return IM(e,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],t)},intersect:function(e,t){return IM(e,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],t)},difference:function(e,t){return IM(e,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],t)},differenceRev:function(e,t){return IM(e,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],t)},xor:function(e,t){return IM(e,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],t)}};tfe.exports=uht});var nfe=ye((Tor,ife)=>{var cht={toPolygon:function(e,t){function r(a){if(a.length<=0)return e.segments({inverted:!1,regions:[]});function o(u){var c=u.slice(0,u.length-1);return e.segments({inverted:!1,regions:[c]})}for(var s=o(a[0]),l=1;l{var fht=Wce(),hht=Zce(),afe=$ce(),dht=efe(),RM=rfe(),ofe=nfe(),E0=!1,DM=hht(),kp;kp={buildLog:function(e){return e===!0?E0=fht():e===!1&&(E0=!1),E0===!1?!1:E0.list},epsilon:function(e){return DM.epsilon(e)},segments:function(e){var t=afe(!0,DM,E0);return e.regions.forEach(t.addRegion),{segments:t.calculate(e.inverted),inverted:e.inverted}},combine:function(e,t){var r=afe(!1,DM,E0);return{combined:r.calculate(e.segments,e.inverted,t.segments,t.inverted),inverted1:e.inverted,inverted2:t.inverted}},selectUnion:function(e){return{segments:RM.union(e.combined,E0),inverted:e.inverted1||e.inverted2}},selectIntersect:function(e){return{segments:RM.intersect(e.combined,E0),inverted:e.inverted1&&e.inverted2}},selectDifference:function(e){return{segments:RM.difference(e.combined,E0),inverted:e.inverted1&&!e.inverted2}},selectDifferenceRev:function(e){return{segments:RM.differenceRev(e.combined,E0),inverted:!e.inverted1&&e.inverted2}},selectXor:function(e){return{segments:RM.xor(e.combined,E0),inverted:e.inverted1!==e.inverted2}},polygon:function(e){return{regions:dht(e.segments,DM,E0),inverted:e.inverted}},polygonFromGeoJSON:function(e){return ofe.toPolygon(kp,e)},polygonToGeoJSON:function(e){return ofe.fromPolygon(kp,DM,e)},union:function(e,t){return FM(e,t,kp.selectUnion)},intersect:function(e,t){return FM(e,t,kp.selectIntersect)},difference:function(e,t){return FM(e,t,kp.selectDifference)},differenceRev:function(e,t){return FM(e,t,kp.selectDifferenceRev)},xor:function(e,t){return FM(e,t,kp.selectXor)}};function FM(e,t,r){var n=kp.segments(e),i=kp.segments(t),a=kp.combine(n,i),o=r(a);return kp.polygon(o)}typeof window=="object"&&(window.PolyBool=kp);sfe.exports=kp});var cfe=ye((Sor,ufe)=>{ufe.exports=function(t,r,n,i){var a=t[0],o=t[1],s=!1;n===void 0&&(n=0),i===void 0&&(i=r.length);for(var l=i-n,u=0,c=l-1;uo!=v>o&&a<(d-f)*(o-h)/(v-h)+f;m&&(s=!s)}return s}});var zM=ye((Mor,ffe)=>{"use strict";var EN=I6().dot,TP=fs().BADNUM,AP=ffe.exports={};AP.tester=function(t){var r=t.slice(),n=r[0][0],i=n,a=r[0][1],o=a,s;for((r[r.length-1][0]!==r[0][0]||r[r.length-1][1]!==r[0][1])&&r.push(r[0]),s=1;si||p===TP||po||m&&u(v))}function f(v,m){var b=v[0],p=v[1];if(b===TP||bi||p===TP||po)return!1;var k=r.length,M=r[0][0],T=r[0][1],L=0,x,C,S,g,P;for(x=1;xMath.max(C,M)||p>Math.max(S,T)))if(ps||Math.abs(EN(f,u))>i)return!0;return!1};AP.filter=function(t,r){var n=[t[0]],i=0,a=0;function o(l){t.push(l);var u=n.length,c=i;n.splice(a+1);for(var f=c+1;f1){var s=t.pop();o(s)}return{addPt:o,raw:t,filtered:n}}});var dfe=ye((Eor,hfe)=>{"use strict";hfe.exports={BENDPX:1.5,MINSELECT:12,SELECTDELAY:100,SELECTID:"-select"}});var Ffe=ye((kor,Dfe)=>{"use strict";var vfe=lfe(),vht=cfe(),BM=Oa(),pht=So().dashStyle,qM=ka(),ght=ef(),mht=ip().makeEventData,HM=Cg(),yht=HM.freeMode,_ht=HM.rectMode,NM=HM.drawMode,PN=HM.openMode,IN=HM.selectMode,pfe=x_(),gfe=AM(),bfe=uP(),wfe=o_().clearOutline,Tfe=m_(),kN=Tfe.handleEllipse,xht=Tfe.readPaths,bht=oP().newShapes,wht=rN(),Tht=MN().activateLastSelection,MP=Pr(),Aht=MP.sorterAsc,Afe=zM(),OM=j6(),k0=df().getFromId,Sht=wM(),Mht=LM().redrawReglTraces,EP=dfe(),Lm=EP.MINSELECT,Eht=Afe.filter,RN=Afe.tester,DN=rP(),mfe=DN.p2r,kht=DN.axValue,Cht=DN.getTransform;function FN(e){return e.subplot!==void 0}function Lht(e,t,r,n,i){var a=!FN(n),o=yht(i),s=_ht(i),l=PN(i),u=NM(i),c=IN(i),f=i==="drawline",h=i==="drawcircle",d=f||h,v=n.gd,m=v._fullLayout,b=c&&m.newselection.mode==="immediate"&&a,p=m._zoomlayer,k=n.element.getBoundingClientRect(),M=n.plotinfo,T=Cht(M),L=t-k.left,x=r-k.top;m._calcInverseTransform(v);var C=MP.apply3DTransform(m._invTransform)(L,x);L=C[0],x=C[1];var S=m._invScaleX,g=m._invScaleY,P=L,E=x,z="M"+L+","+x,q=n.xaxes[0],V=n.yaxes[0],G=q._length,Z=V._length,j=e.altKey&&!(NM(i)&&l),N,H,ie,ae,_e,Ee,Ce;Mfe(e,v,n),o&&(N=Eht([[L,x]],EP.BENDPX));var ge=p.selectAll("path.select-outline-"+M.id).data([1]),re=u?m.newshape:m.newselection;u&&(n.hasText=re.label.text||re.label.texttemplate);var Se=u&&!l?re.fillcolor:"rgba(0,0,0,0)",ke=re.line.color||(a?qM.contrast(v._fullLayout.plot_bgcolor):"#7f7f7f");ge.enter().append("path").attr("class","select-outline select-outline-"+M.id).style({opacity:u?re.opacity/2:1,"stroke-dasharray":pht(re.line.dash,re.line.width),"stroke-width":re.line.width+"px","shape-rendering":"crispEdges"}).call(qM.stroke,ke).call(qM.fill,Se).attr("fill-rule","evenodd").classed("cursor-move",!!u).attr("transform",T).attr("d",z+"Z");var be=p.append("path").attr("class","zoombox-corners").style({fill:qM.background,stroke:qM.defaultLine,"stroke-width":1}).attr("transform",T).attr("d","M0,0Z");if(u&&n.hasText){var Be=p.select(".label-temp");Be.empty()&&(Be=p.append("g").classed("label-temp",!0).classed("select-outline",!0).style({opacity:.8}))}var Le=m._uid+EP.SELECTID,me=[],Pe=kP(v,n.xaxes,n.yaxes,n.subplot);b&&!e.shiftKey&&(n._clearSubplotSelections=function(){if(a){var He=q._id,lt=V._id;Pfe(v,He,lt,Pe);for(var mt=(v.layout||{}).selections||[],Ht=[],at=!1,ct=0;ct=0){v._fullLayout._deactivateShape(v);return}if(!u){var mt=m.clickmode;OM.done(Le).then(function(){if(OM.clear(Le),He===2){for(ge.remove(),_e=0;_e-1&&Sfe(lt,v,n.xaxes,n.yaxes,n.subplot,n,ge),mt==="event"&&GM(v,void 0);ght.click(v,lt,M.id)}).catch(MP.error)}},n.doneFn=function(){be.remove(),OM.done(Le).then(function(){OM.clear(Le),!b&&ae&&n.selectionDefs&&(ae.subtract=j,n.selectionDefs.push(ae),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,ie)),(b||u)&&UM(n,b),n.doneFnCompleted&&n.doneFnCompleted(me),c&&GM(v,Ce)}).catch(MP.error)}}function Sfe(e,t,r,n,i,a,o){var s=t._hoverdata,l=t._fullLayout,u=l.clickmode,c=u.indexOf("event")>-1,f=[],h,d,v,m,b,p,k,M,T,L;if(Fht(s)){Mfe(e,t,a),h=kP(t,r,n,i);var x=zht(s,h),C=x.pointNumbers.length>0;if(C?qht(h,x):Oht(h)&&(k=_fe(x))){for(o&&o.remove(),L=0;L=0}function Dht(e){return e._fullLayout._activeSelectionIndex>=0}function UM(e,t){var r=e.dragmode,n=e.plotinfo,i=e.gd;Rht(i)&&i._fullLayout._deactivateShape(i),Dht(i)&&i._fullLayout._deactivateSelection(i);var a=i._fullLayout,o=a._zoomlayer,s=NM(r),l=IN(r);if(s||l){var u=o.selectAll(".select-outline-"+n.id);if(u&&i._fullLayout._outlining){var c;s&&(c=bht(u,e)),c&&BM.call("_guiRelayout",i,{shapes:c});var f;l&&!FN(e)&&(f=wht(u,e)),f&&(i._fullLayout._noEmitSelectedAtStart=!0,BM.call("_guiRelayout",i,{selections:f}).then(function(){t&&Tht(i)})),i._fullLayout._outlining=!1}}n.selection={},n.selection.selectionDefs=e.selectionDefs=[],n.selection.mergedPolygons=e.mergedPolygons=[]}function yfe(e){return e._id}function kP(e,t,r,n){if(!e.calcdata)return[];var i=[],a=t.map(yfe),o=r.map(yfe),s,l,u;for(u=0;u0,a=i?n[0]:r;return t.selectedpoints?t.selectedpoints.indexOf(a)>-1:!1}function qht(e,t){var r=[],n,i,a,o;for(o=0;o0&&r.push(n);if(r.length===1&&(a=r[0]===t.searchInfo,a&&(i=t.searchInfo.cd[0].trace,i.selectedpoints.length===t.pointNumbers.length))){for(o=0;o1||(t+=n.selectedpoints.length,t>1)))return!1;return t===1}function VM(e,t,r){var n;for(n=0;n-1&&t;if(!o&&t){var He=xfe(e,!0);if(He.length){var lt=He[0].xref,mt=He[0].yref;if(lt&&mt){var Ht=Ife(He),at=Rfe([k0(e,lt,"x"),k0(e,mt,"y")]);at(me,Ht)}}e._fullLayout._noEmitSelectedAtStart?e._fullLayout._noEmitSelectedAtStart=!1:ce&&GM(e,me),h._reselect=!1}if(!o&&h._deselect){var ct=h._deselect;s=ct.xref,l=ct.yref,Uht(s,l,c)||Pfe(e,s,l,n),ce&&(me.points.length?GM(e,me):ON(e)),h._deselect=!1}return{eventData:me,selectionTesters:r}}function Nht(e){var t=e.calcdata;if(t)for(var r=0;r{"use strict";zfe.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]});var jM=ye((Lor,qfe)=>{"use strict";qfe.exports={axisRefDescription:function(e,t,r){return["If set to a",e,"axis id (e.g. *"+e+"* or","*"+e+"2*), the `"+e+"` position refers to a",e,"coordinate. If set to *paper*, the `"+e+"`","position refers to the distance from the",t,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",t,"("+r+"). If set to a",e,"axis ID followed by","*domain* (separated by a space), the position behaves like for","*paper*, but refers to the distance in fractions of the domain","length from the",t,"of the domain of that axis: e.g.,","*"+e+"2 domain* refers to the domain of the second",e," axis and a",e,"position of 0.5 refers to the","point between the",t,"and the",r,"of the domain of the","second",e,"axis."].join(" ")}}});var Qb=ye((Ior,Nfe)=>{"use strict";var Ofe=BN(),Bfe=ec(),CP=Rh(),Wht=vl().templatedArray,Por=jM();Nfe.exports=Wht("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:Bfe({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw"},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:Ofe.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:Ofe.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",CP.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",CP.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",CP.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",CP.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw"},xclick:{valType:"any",editType:"arraydraw"},yclick:{valType:"any",editType:"arraydraw"},hovertext:{valType:"string",editType:"arraydraw"},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw"},bordercolor:{valType:"color",editType:"arraydraw"},font:Bfe({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc"})});var Pm=ye((Ror,Ufe)=>{"use strict";Ufe.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}});var Pg=ye((Dor,Vfe)=>{"use strict";Vfe.exports=function(t){return{valType:"color",editType:"style",anim:!0}}});var pf=ye((For,Kfe)=>{"use strict";var Gfe=vf().axisHoverFormat,{hovertemplateAttrs:Xht,texttemplateAttrs:Zht,templatefallbackAttrs:Hfe}=Ll(),jfe=Tu(),Yht=ec(),Wfe=Pd().dash,Kht=Pd().pattern,Jht=So(),$ht=Pm(),WM=Ao().extendFlat,Qht=Pg();function Xfe(e){return{valType:"any",dflt:0,editType:"calc"}}function Zfe(e){return{valType:"any",editType:"calc"}}function Yfe(e){return{valType:"enumerated",values:["start","middle","end"],dflt:"middle",editType:"calc"}}Kfe.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0},dx:{valType:"number",dflt:1,editType:"calc",anim:!0},y:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0},dy:{valType:"number",dflt:1,editType:"calc",anim:!0},xperiod:Xfe("x"),yperiod:Xfe("y"),xperiod0:Zfe("x0"),yperiod0:Zfe("y0"),xperiodalignment:Yfe("x"),yperiodalignment:Yfe("y"),xhoverformat:Gfe("x"),yhoverformat:Gfe("y"),offsetgroup:{valType:"string",dflt:"",editType:"calc"},alignmentgroup:{valType:"string",dflt:"",editType:"calc"},stackgroup:{valType:"string",dflt:"",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc"},groupnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},stackgaps:{valType:"enumerated",values:["infer zero","interpolate"],dflt:"infer zero",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},texttemplate:Zht(),texttemplatefallback:Hfe({editType:"calc"}),hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"],editType:"calc"},hoveron:{valType:"flaglist",flags:["points","fills"],editType:"style"},hovertemplate:Xht({},{keys:$ht.eventDataKeys}),hovertemplatefallback:Hfe(),line:{color:{valType:"color",editType:"style",anim:!0},width:{valType:"number",min:0,dflt:2,editType:"style",anim:!0},shape:{valType:"enumerated",values:["linear","spline","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot"},smoothing:{valType:"number",min:0,max:1.3,dflt:1,editType:"plot"},dash:WM({},Wfe,{editType:"style"}),backoff:{valType:"number",min:0,dflt:"auto",arrayOk:!0,editType:"plot"},simplify:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},cliponaxis:{valType:"boolean",dflt:!0,editType:"plot"},fill:{valType:"enumerated",values:["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"],editType:"calc"},fillcolor:Qht(!0),fillgradient:WM({type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],dflt:"none",editType:"calc"},start:{valType:"number",editType:"calc"},stop:{valType:"number",editType:"calc"},colorscale:{valType:"colorscale",editType:"style"},editType:"calc"}),fillpattern:Kht,marker:WM({symbol:{valType:"enumerated",values:Jht.symbolList,dflt:"circle",arrayOk:!0,editType:"style"},opacity:{valType:"number",min:0,max:1,arrayOk:!0,editType:"style",anim:!0},angle:{valType:"angle",dflt:0,arrayOk:!0,editType:"plot",anim:!1},angleref:{valType:"enumerated",values:["previous","up"],dflt:"up",editType:"plot",anim:!1},standoff:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"plot",anim:!0},size:{valType:"number",min:0,dflt:6,arrayOk:!0,editType:"calc",anim:!0},maxdisplayed:{valType:"number",min:0,dflt:0,editType:"plot"},sizeref:{valType:"number",dflt:1,editType:"calc"},sizemin:{valType:"number",min:0,dflt:0,editType:"calc"},sizemode:{valType:"enumerated",values:["diameter","area"],dflt:"diameter",editType:"calc"},line:WM({width:{valType:"number",min:0,arrayOk:!0,editType:"style",anim:!0},dash:WM({},Wfe,{arrayOk:!0}),editType:"calc"},jfe("marker.line",{anim:!0})),gradient:{type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],arrayOk:!0,dflt:"none",editType:"calc"},color:{valType:"color",arrayOk:!0,editType:"calc"},editType:"calc"},editType:"calc"},jfe("marker",{anim:!0})),selected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},unselected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"middle center",arrayOk:!0,editType:"calc"},textfont:Yht({editType:"calc",colorEditType:"style",arrayOk:!0}),zorder:{valType:"integer",dflt:0,editType:"plot"}}});var NN=ye((qor,Qfe)=>{"use strict";var Jfe=Qb(),$fe=pf().line,edt=Pd().dash,LP=Ao().extendFlat,tdt=mc().overrideAll,rdt=vl().templatedArray,zor=jM();Qfe.exports=tdt(rdt("selection",{type:{valType:"enumerated",values:["rect","path"]},xref:LP({},Jfe.xref,{}),yref:LP({},Jfe.yref,{}),x0:{valType:"any"},x1:{valType:"any"},y0:{valType:"any"},y1:{valType:"any"},path:{valType:"string",editType:"arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:.7,editType:"arraydraw"},line:{color:$fe.color,width:LP({},$fe.width,{min:1,dflt:1}),dash:LP({},edt,{dflt:"dot"})}}),"arraydraw","from-root")});var ihe=ye((Oor,rhe)=>{"use strict";var ehe=Pr(),PP=ho(),idt=Kd(),ndt=NN(),the=x_();rhe.exports=function(t,r){idt(t,r,{name:"selections",handleItemDefaults:adt});for(var n=r.selections,i=0;i{"use strict";nhe.exports=function(t,r,n){n("newselection.mode");var i=n("newselection.line.width");i&&(n("newselection.line.color"),n("newselection.line.dash")),n("activeselection.fillcolor"),n("activeselection.opacity")}});var XM=ye((Nor,lhe)=>{"use strict";var odt=Oa(),ohe=Pr(),she=df();lhe.exports=function(t){return function(n,i){var a=n[t];if(Array.isArray(a))for(var o=odt.subplotsRegistry.cartesian,s=o.idRegex,l=i._subplots,u=l.xaxis,c=l.yaxis,f=l.cartesian,h=i._has("cartesian"),d=0;d{"use strict";var uhe=MN(),ZM=Ffe();che.exports={moduleType:"component",name:"selections",layoutAttributes:NN(),supplyLayoutDefaults:ihe(),supplyDrawNewSelectionDefaults:ahe(),includeBasePlot:XM()("selections"),draw:uhe.draw,drawOne:uhe.drawOne,reselect:ZM.reselect,prepSelect:ZM.prepSelect,clearOutline:ZM.clearOutline,clearSelectionsCache:ZM.clearSelectionsCache,selectOnClick:ZM.selectOnClick}});var XN=ye((Vor,Lhe)=>{"use strict";var jN=qa(),C0=Pr(),fhe=C0.numberFormat,sdt=fd(),ldt=VL(),IP=Oa(),xhe=C0.strTranslate,udt=Zl(),hhe=ka(),w_=So(),cdt=ef(),dhe=ho(),fdt=Eg(),hdt=yv(),bhe=Cg(),RP=bhe.selectingOrDrawing,ddt=bhe.freeMode,vdt=Dh().FROM_TL,pdt=wM(),gdt=LM().redrawReglTraces,mdt=Mc(),VN=df().getFromId,ydt=qf().prepSelect,_dt=qf().clearOutline,xdt=qf().selectOnClick,UN=yN(),WN=Rh(),vhe=WN.MINDRAG,ap=WN.MINZOOM,phe=!0;function bdt(e,t,r,n,i,a,o,s){var l=e._fullLayout._zoomlayer,u=o+s==="nsew",c=(o+s).length===1,f,h,d,v,m,b,p,k,M,T,L,x,C,S,g,P,E,z,q,V,G,Z,j;r+=t.yaxis._shift;function N(){if(f=t.xaxis,h=t.yaxis,M=f._length,T=h._length,p=f._offset,k=h._offset,d={},d[f._id]=f,v={},v[h._id]=h,o&&s)for(var Et=t.overlays,pt=0;pt=0){jt._fullLayout._deactivateShape(jt);return}var or=jt._fullLayout.clickmode;if(HN(jt),Et===2&&!c&&Ue(),u)or.indexOf("select")>-1&&xdt(pt,jt,m,b,t.id,ae),or.indexOf("event")>-1&&cdt.click(jt,pt,t.id);else if(Et===1&&c){var mr=o?h:f,Ar=o==="s"||s==="w"?0:1,ei=mr._name+".range["+Ar+"]",qr=wdt(mr,Ar),jr="left",gt="middle";if(mr.fixedrange)return;o?(gt=o==="n"?"top":"bottom",mr.side==="right"&&(jr="right")):s==="e"&&(jr="right"),jt._context.showAxisRangeEntryBoxes&&jN.select(ie).call(udt.makeEditable,{gd:jt,immediate:!0,background:jt._fullLayout.paper_bgcolor,text:String(qr),fill:mr.tickfont?mr.tickfont.color:"#444",horizontalAlign:jr,verticalAlign:gt}).on("edit",function(Ge){var Je=mr.d2r(Ge);Je!==void 0&&IP.call("_guiRelayout",jt,ei,Je)})}}hdt.init(ae);var Ce,ge,re,Se,ke,be,Be,Le,me,Pe;function ce(Et,pt,jt){var or=ie.getBoundingClientRect();Ce=pt-or.left,ge=jt-or.top,e._fullLayout._calcInverseTransform(e);var mr=C0.apply3DTransform(e._fullLayout._invTransform)(Ce,ge);Ce=mr[0],ge=mr[1],re={l:Ce,r:Ce,w:0,t:ge,b:ge,h:0},Se=e._hmpixcount?e._hmlumcount/e._hmpixcount:sdt(e._fullLayout.plot_bgcolor).getLuminance(),ke="M0,0H"+M+"V"+T+"H0V0",be=!1,Be="xy",Pe=!1,Le=Ahe(l,Se,p,k,ke),me=She(l,p,k)}function He(Et,pt){if(e._transitioningWithDuration)return!1;var jt=Math.max(0,Math.min(M,Z*Et+Ce)),or=Math.max(0,Math.min(T,j*pt+ge)),mr=Math.abs(jt-Ce),Ar=Math.abs(or-ge);re.l=Math.min(Ce,jt),re.r=Math.max(Ce,jt),re.t=Math.min(ge,or),re.b=Math.max(ge,or);function ei(){Be="",re.r=re.l,re.t=re.b,me.attr("d","M0,0Z")}if(L.isSubplotConstrained)mr>ap||Ar>ap?(Be="xy",mr/M>Ar/T?(Ar=mr*T/M,ge>or?re.t=ge-Ar:re.b=ge+Ar):(mr=Ar*M/T,Ce>jt?re.l=Ce-mr:re.r=Ce+mr),me.attr("d",DP(re))):ei();else if(x.isSubplotConstrained)if(mr>ap||Ar>ap){Be="xy";var qr=Math.min(re.l/M,(T-re.b)/T),jr=Math.max(re.r/M,(T-re.t)/T);re.l=qr*M,re.r=jr*M,re.b=(1-qr)*T,re.t=(1-jr)*T,me.attr("d",DP(re))}else ei();else!S||Ar0){var Ge;if(x.isSubplotConstrained||!C&&S.length===1){for(Ge=0;Ge1&&(ei.maxallowed!==void 0&&P===(ei.range[0]1&&(qr.maxallowed!==void 0&&E===(qr.range[0]=0?Math.min(e,.9):1/(1/Math.max(e,-.3)+3.222))}function Adt(e,t,r){return e?e==="nsew"?r?"":t==="pan"?"move":"crosshair":e.toLowerCase()+"-resize":"pointer"}function Ahe(e,t,r,n,i){return e.append("path").attr("class","zoombox").style({fill:t>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",xhe(r,n)).attr("d",i+"Z")}function She(e,t,r){return e.append("path").attr("class","zoombox-corners").style({fill:hhe.background,stroke:hhe.defaultLine,"stroke-width":1,opacity:0}).attr("transform",xhe(t,r)).attr("d","M0,0Z")}function Mhe(e,t,r,n,i,a){e.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),Ehe(e,t,i,a)}function Ehe(e,t,r,n){r||(e.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),t.transition().style("opacity",1).duration(200))}function HN(e){jN.select(e).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function khe(e){phe&&e.data&&e._context.showTips&&(C0.notifier(C0._(e,"Double-click to zoom back out"),"long",e),phe=!1)}function Sdt(e,t){return"M"+(e.l-.5)+","+(t-ap-.5)+"h-3v"+(2*ap+1)+"h3ZM"+(e.r+.5)+","+(t-ap-.5)+"h3v"+(2*ap+1)+"h-3Z"}function Mdt(e,t){return"M"+(t-ap-.5)+","+(e.t-.5)+"v-3h"+(2*ap+1)+"v3ZM"+(t-ap-.5)+","+(e.b+.5)+"v3h"+(2*ap+1)+"v-3Z"}function DP(e){var t=Math.floor(Math.min(e.b-e.t,e.r-e.l,ap)/2);return"M"+(e.l-3.5)+","+(e.t-.5+t)+"h3v"+-t+"h"+t+"v-3h-"+(t+3)+"ZM"+(e.r+3.5)+","+(e.t-.5+t)+"h-3v"+-t+"h"+-t+"v-3h"+(t+3)+"ZM"+(e.r+3.5)+","+(e.b+.5-t)+"h-3v"+t+"h"+-t+"v3h"+(t+3)+"ZM"+(e.l-3.5)+","+(e.b+.5-t)+"h3v"+t+"h"+t+"v3h-"+(t+3)+"Z"}function yhe(e,t,r,n,i){for(var a=!1,o={},s={},l,u,c,f,h=(i||{}).xaHash,d=(i||{}).yaHash,v=0;v{"use strict";var Edt=qa(),FP=ef(),kdt=yv(),Cdt=Eg(),Ig=XN().makeDragBox,gd=Rh().DRAGGERSIZE;zP.initInteractions=function(t){var r=t._fullLayout;if(t._context.staticPlot){Edt.select(t).selectAll(".drag").remove();return}if(!(!r._has("cartesian")&&!r._has("splom"))){var n=Object.keys(r._plots||{}).sort(function(a,o){if((r._plots[a].mainplot&&!0)===(r._plots[o].mainplot&&!0)){var s=a.split("y"),l=o.split("y");return s[0]===l[0]?Number(s[1]||1)-Number(l[1]||1):Number(s[0]||1)-Number(l[0]||1)}return r._plots[a].mainplot?1:-1});n.forEach(function(a){var o=r._plots[a],s=o.xaxis,l=o.yaxis;if(!o.mainplot){var u=Ig(t,o,s._offset,l._offset,s._length,l._length,"ns","ew");u.onmousemove=function(h){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===a&&t._fullLayout._plots[a]&&FP.hover(t,h,a)},FP.hover(t,h,a),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=a},u.onmouseout=function(h){t._dragging||(t._fullLayout._hoversubplot=null,kdt.unhover(t,h))},t._context.showAxisDragHandles&&(Ig(t,o,s._offset-gd,l._offset-gd,gd,gd,"n","w"),Ig(t,o,s._offset+s._length,l._offset-gd,gd,gd,"n","e"),Ig(t,o,s._offset-gd,l._offset+l._length,gd,gd,"s","w"),Ig(t,o,s._offset+s._length,l._offset+l._length,gd,gd,"s","e"))}if(t._context.showAxisDragHandles){if(a===s._mainSubplot){var c=s._mainLinePosition;s.side==="top"&&(c-=gd),Ig(t,o,s._offset+s._length*.1,c,s._length*.8,gd,"","ew"),Ig(t,o,s._offset,c,s._length*.1,gd,"","w"),Ig(t,o,s._offset+s._length*.9,c,s._length*.1,gd,"","e")}if(a===l._mainSubplot){var f=l._mainLinePosition;l.side!=="right"&&(f-=gd),Ig(t,o,f,l._offset+l._length*.1,gd,l._length*.8,"ns",""),Ig(t,o,f,l._offset+l._length*.9,gd,l._length*.1,"s",""),Ig(t,o,f,l._offset,gd,l._length*.1,"n","")}}});var i=r._hoverlayer.node();i.onmousemove=function(a){a.target=t._fullLayout._lasthover,FP.hover(t,a,r._hoversubplot)},i.onclick=function(a){a.target=t._fullLayout._lasthover,FP.click(t,a)},i.onmousedown=function(a){t._fullLayout._lasthover.onmousedown(a)},zP.updateFx(t)}};zP.updateFx=function(e){var t=e._fullLayout,r=t.dragmode==="pan"?"move":"crosshair";Cdt(t._draggers,r)}});var Rhe=ye((Hor,Ihe)=>{"use strict";var Phe=Oa();Ihe.exports=function(t){for(var r=Phe.layoutArrayContainers,n=Phe.layoutArrayRegexes,i=t.split("[")[0],a,o,s=0;s{"use strict";var Ldt=Ay(),YN=P6(),YM=K1(),Pdt=V6().sorterAsc,KN=Oa();KM.containerArrayMatch=Rhe();var Idt=KM.isAddVal=function(t){return t==="add"||Ldt(t)},Dhe=KM.isRemoveVal=function(t){return t===null||t==="remove"};KM.applyContainerArrayChanges=function(t,r,n,i,a){var o=r.astr,s=KN.getComponentMethod(o,"supplyLayoutDefaults"),l=KN.getComponentMethod(o,"draw"),u=KN.getComponentMethod(o,"drawOne"),c=i.replot||i.recalc||s===YN||l===YN,f=t.layout,h=t._fullLayout;if(n[""]){Object.keys(n).length>1&&YM.warn("Full array edits are incompatible with other edits",o);var d=n[""][""];if(Dhe(d))r.set(null);else if(Array.isArray(d))r.set(d);else return YM.warn("Unrecognized full array edit value",o,d),!0;return c?!1:(s(f,h),l(t),!0)}var v=Object.keys(n).map(Number).sort(Pdt),m=r.get(),b=m||[],p=a(h,o).get(),k=[],M=-1,T=b.length,L,x,C,S,g,P,E,z;for(L=0;Lb.length-(E?0:1)){YM.warn("index out of range",o,C);continue}if(P!==void 0)g.length>1&&YM.warn("Insertion & removal are incompatible with edits to the same index.",o,C),Dhe(P)?k.push(C):E?(P==="add"&&(P={}),b.splice(C,0,P),p&&p.splice(C,0,{})):YM.warn("Unrecognized full object edit value",o,C,P),M===-1&&(M=C);else for(x=0;x=0;L--)b.splice(k[L],1),p&&p.splice(k[L],1);if(b.length?m||r.set(b):r.set(null),c)return!1;if(s(f,h),u!==YN){var q;if(M===-1)q=v;else{for(T=Math.max(b.length,T),q=[],L=0;L=M));L++)q.push(C);for(L=M;L{"use strict";var Bhe=Eo(),Nhe=Oa(),Uv=Pr(),JM=Mc(),Uhe=df(),Vhe=ka(),$M=Uhe.cleanId,Rdt=Uhe.getFromTrace,JN=Nhe.traceIs,Ddt=["x","y","z"];L0.clearPromiseQueue=function(e){Array.isArray(e._promises)&&e._promises.length>0&&Uv.log("Clearing previous rejected promises from queue."),e._promises=[]};L0.cleanLayout=function(e){var t,r;e||(e={}),e.xaxis1&&(e.xaxis||(e.xaxis=e.xaxis1),delete e.xaxis1),e.yaxis1&&(e.yaxis||(e.yaxis=e.yaxis1),delete e.yaxis1),e.scene1&&(e.scene||(e.scene=e.scene1),delete e.scene1);var n=(JM.subplotsRegistry.cartesian||{}).attrRegex,i=(JM.subplotsRegistry.polar||{}).attrRegex,a=(JM.subplotsRegistry.ternary||{}).attrRegex,o=(JM.subplotsRegistry.gl3d||{}).attrRegex,s=Object.keys(e);for(t=0;t3?(b.x=1.02,b.xanchor="left"):b.x<-2&&(b.x=-.02,b.xanchor="right"),b.y>3?(b.y=1.02,b.yanchor="bottom"):b.y<-2&&(b.y=-.02,b.yanchor="top")),e.dragmode==="rotate"&&(e.dragmode="orbit"),Vhe.clean(e),e.template&&e.template.layout&&L0.cleanLayout(e.template.layout),e};function sT(e,t,r=!1){var n=e[t],i=t.charAt(0);r&&Array.isArray(n)||n&&n!=="paper"&&(e[t]=$M(n,i,!0))}L0.cleanData=function(e){for(var t=0;t0)return e.slice(0,t)}L0.hasParent=function(e,t){for(var r=Ohe(t);r;){if(r in e)return!0;r=Ohe(r)}return!1};L0.clearAxisTypes=function(e,t,r){for(var n=0;n{let r=(...n)=>n.every(i=>Uv.isPlainObject(i))||n.every(i=>Array.isArray(i));if([e,t].every(n=>Array.isArray(n))){if(e.length!==t.length)return!1;for(let n=0;nUv.isPlainObject(n))){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e){if(n.startsWith("_"))continue;let i=e[n],a=t[n];if(i!==a&&!(r(i,a)?$N(i,a):!1))return!1}return!0}return!1};L0.collectionsAreEqual=$N});var YP=ye(_l=>{"use strict";var NP=qa(),qdt=Eo(),Odt=cO(),Sa=Pr(),Ec=Sa.nestedProperty,tU=L3(),op=Mne(),P0=Oa(),XP=R3(),Qo=Mc(),Vv=ho(),Bdt=MB(),Ndt=Rd(),QN=So(),Udt=ka(),Vdt=ZN().initInteractions,Gdt=Wp(),Hdt=qf().clearOutline,Zhe=xb().dfltConfig,OP=Fhe(),gh=Ghe(),Au=LM(),T_=mc(),jdt=Rh().AX_NAME_PATTERN,eU=0,Hhe=5;function Wdt(e,t,r,n){var i;if(e=Sa.getGraphDiv(e),tU.init(e),Sa.isPlainObject(t)){var a=t;t=a.data,r=a.layout,n=a.config,i=a.frames}var o=tU.triggerHandler(e,"plotly_beforeplot",[t,r,n]);if(o===!1)return Promise.reject();!t&&!r&&!Sa.isPlotDiv(e)&&Sa.warn("Calling _doPlot as if redrawing but this container doesn't yet have a plot.",e);function s(){if(i)return _l.addFrames(e,i)}Khe(e,n),r||(r={}),NP.select(e).classed("js-plotly-plot",!0),QN.makeTester(),Array.isArray(e._promises)||(e._promises=[]);var l=(e.data||[]).length===0&&Array.isArray(t);Array.isArray(t)&&(gh.cleanData(t),l?e.data=t:e.data.push.apply(e.data,t),e.empty=!1),(!e.layout||l)&&(e.layout=gh.cleanLayout(r)),Qo.supplyDefaults(e);var u=e._fullLayout,c=u._has("cartesian");u._replotting=!0,(l||u._shouldCreateBgLayer)&&(pvt(e),u._shouldCreateBgLayer&&delete u._shouldCreateBgLayer),QN.initGradients(e),QN.initPatterns(e),l&&Vv.saveShowSpikeInitial(e);var f=!e.calcdata||e.calcdata.length!==(e._fullData||[]).length;f&&Qo.doCalcdata(e);for(var h=0;h=e.data.length||i<-e.data.length)throw new Error(r+" must be valid indices for gd.data.");if(t.indexOf(i,n+1)>-1||i>=0&&t.indexOf(-e.data.length+i)>-1||i<0&&t.indexOf(e.data.length+i)>-1)throw new Error("each index in "+r+" must be unique.")}}function Jhe(e,t,r){if(!Array.isArray(e.data))throw new Error("gd.data must be an array.");if(typeof t=="undefined")throw new Error("currentIndices is a required argument.");if(Array.isArray(t)||(t=[t]),VP(e,t,"currentIndices"),typeof r!="undefined"&&!Array.isArray(r)&&(r=[r]),typeof r!="undefined"&&VP(e,r,"newIndices"),typeof r!="undefined"&&t.length!==r.length)throw new Error("current and new indices must be of equal length.")}function Jdt(e,t,r){var n,i;if(!Array.isArray(e.data))throw new Error("gd.data must be an array.");if(typeof t=="undefined")throw new Error("traces must be defined.");for(Array.isArray(t)||(t=[t]),n=0;n=0&&c=0&&c0&&typeof S.parts[E]!="string";)E--;var z=S.parts[E],q=S.parts[E-1]+"."+z,V=S.parts.slice(0,E).join("."),G=Ec(e.layout,V).get(),Z=Ec(n,V).get(),j=S.get();if(g!==void 0){p[C]=g,k[C]=z==="reverse"?g:zy(j);var N=XP.getLayoutValObject(n,S.parts);if(N&&N.impliedEdits&&g!==null)for(var H in N.impliedEdits)M(Sa.relativeAttr(C,H),N.impliedEdits[H]);if(["width","height"].indexOf(C)!==-1)if(g){M("autosize",null);var ie=C==="height"?"width":"height";M(ie,n[ie])}else n[C]=e._initialAutoSize[C];else if(C==="autosize")M("width",g?null:n.width),M("height",g?null:n.height);else if(q.match(ode))x(q),Ec(n,V+"._inputRange").set(null);else if(q.match(sde)){x(q),Ec(n,V+"._inputRange").set(null);var ae=Ec(n,V).get();ae._inputDomain&&(ae._input.domain=ae._inputDomain.slice())}else q.match(tvt)&&Ec(n,V+"._inputDomain").set(null);if(z==="type"){L=G;var _e=Z.type==="linear"&&g==="log",Ee=Z.type==="log"&&g==="linear";if(_e||Ee){if(!L||!L.range)M(V+".autorange",!0);else if(Z.autorange)_e&&(L.range=L.range[1]>L.range[0]?[1,2]:[2,1]);else{var Ce=L.range[0],ge=L.range[1];_e?(Ce<=0&&ge<=0&&M(V+".autorange",!0),Ce<=0?Ce=ge/1e6:ge<=0&&(ge=Ce/1e6),M(V+".range[0]",Math.log(Ce)/Math.LN10),M(V+".range[1]",Math.log(ge)/Math.LN10)):(M(V+".range[0]",Math.pow(10,Ce)),M(V+".range[1]",Math.pow(10,ge)))}Array.isArray(n._subplots.polar)&&n._subplots.polar.length&&n[S.parts[0]]&&S.parts[1]==="radialaxis"&&delete n[S.parts[0]]._subplot.viewInitial["radialaxis.range"],P0.getComponentMethod("annotations","convertCoords")(e,Z,g,M),P0.getComponentMethod("images","convertCoords")(e,Z,g,M)}else M(V+".autorange",!0),M(V+".range",null);Ec(n,V+"._inputRange").set(null)}else if(z.match(jdt)){var re=Ec(n,C).get(),Se=(g||{}).type;(!Se||Se==="-")&&(Se="linear"),P0.getComponentMethod("annotations","convertCoords")(e,re,Se,M),P0.getComponentMethod("images","convertCoords")(e,re,Se,M)}var ke=OP.containerArrayMatch(C);if(ke){c=ke.array,f=ke.index;var be=ke.property,Be=N||{editType:"calc"};f!==""&&be===""&&(OP.isAddVal(g)?k[C]=null:OP.isRemoveVal(g)?k[C]=(Ec(r,c).get()||[])[f]:Sa.warn("unrecognized full object value",t)),T_.update(b,Be),u[c]||(u[c]={});var Le=u[c][f];Le||(Le=u[c][f]={}),Le[be]=g,delete t[C]}else z==="reverse"?(G.range?G.range.reverse():(M(V+".autorange",!0),G.range=[1,0]),Z.autorange?b.calc=!0:b.plot=!0):(C==="dragmode"&&(g===!1&&j!==!1||g!==!1&&j===!1)||n._has("scatter-like")&&n._has("regl")&&C==="dragmode"&&(g==="lasso"||g==="select")&&!(j==="lasso"||j==="select")?b.plot=!0:N?T_.update(b,N):b.calc=!0,S.set(g))}}for(c in u){var me=OP.applyContainerArrayChanges(e,a(r,c),u[c],b,a);me||(b.plot=!0)}for(var Pe in T){L=Vv.getFromId(e,Pe);var ce=L&&L._constraintGroup;if(ce){b.calc=!0;for(var He in ce)T[He]||(Vv.getFromId(e,He)._constraintShrinkable=!0)}}(ude(e)||t.height||t.width)&&(b.plot=!0);var lt=n.shapes;for(f=0;f1;)if(n.pop(),r=Ec(t,n.join(".")+".uirevision").get(),r!==void 0)return r;return t.uirevision}function nvt(e,t){for(var r=0;r[V,e._ev.listeners(V)]);a=_l.newPlot(e,t,r,n).then(()=>{for(let[V,G]of q)G.forEach(Z=>e.on(V,Z));return _l.react(e,t,r,n)})}else{e.data=t||[],gh.cleanData(e.data),e.layout=r||{},gh.cleanLayout(e.layout),ovt(e.data,e.layout,s,l),Qo.supplyDefaults(e,{skipUpdateCalc:!0});var f=e._fullData,h=e._fullLayout,d=h.datarevision===void 0,v=h.transition,m=uvt(e,l,h,d,v),b=m.newDataRevision,p=lvt(e,s,f,d,v,b);if(ude(e)&&(m.layoutReplot=!0),p.calc||m.calc){e.calcdata=void 0;for(var k=Object.getOwnPropertyNames(h),M=0;M(c||e.emit("plotly_react",{config:n,data:t,layout:r}),e))}function lvt(e,t,r,n,i,a){var o=t.length===r.length;if(!i&&!o)return{fullReplot:!0,calc:!0};var s=T_.traceFlags();s.arrays={},s.nChanges=0,s.nChangesAnim=0;var l,u;function c(d){var v=XP.getTraceValObject(u,d);return!u._module.animatable&&v.anim&&(v.anim=!1),v}var f={getValObject:c,flags:s,immutable:n,transition:i,newDataRevision:a,gd:e},h={};for(l=0;l=i.length?i[0]:i[u]:i}function s(u){return Array.isArray(a)?u>=a.length?a[0]:a[u]:a}function l(u,c){var f=0;return function(){if(u&&++f===c)return u()}}return new Promise(function(u,c){function f(){if(n._frameQueue.length!==0){for(;n._frameQueue.length;){var z=n._frameQueue.pop();z.onInterrupt&&z.onInterrupt()}e.emit("plotly_animationinterrupted",[])}}function h(z){if(z.length!==0){for(var q=0;qn._timeToNext&&v()};z()}var b=0;function p(z){return Array.isArray(i)?b>=i.length?z.transitionOpts=i[b]:z.transitionOpts=i[0]:z.transitionOpts=i,b++,z}var k,M,T=[],L=t==null,x=Array.isArray(t),C=!L&&!x&&Sa.isPlainObject(t);if(C)T.push({type:"object",data:p(Sa.extendFlat({},t))});else if(L||["string","number"].indexOf(typeof t)!==-1)for(k=0;k0&&PP)&&E.push(M);T=E}}T.length>0?h(T):(e.emit("plotly_animated"),u())})}function fvt(e,t,r){if(e=Sa.getGraphDiv(e),t==null)return Promise.resolve();if(!Sa.isPlotDiv(e))throw new Error("This element is not a Plotly plot: "+e+". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/");var n,i,a,o,s=e._transitionData._frames,l=e._transitionData._frameHash;if(!Array.isArray(t))throw new Error("addFrames failure: frameList must be an Array of frame definitions"+t);var u=s.length+t.length*2,c=[],f={};for(n=t.length-1;n>=0;n--)if(Sa.isPlainObject(t[n])){var h=t[n].name,d=(l[h]||f[h]||{}).name,v=t[n].name,m=l[d]||f[d];d&&v&&typeof v=="number"&&m&&eUS.index?-1:C.index=0;n--){if(i=c[n].frame,typeof i.name=="number"&&Sa.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!i.name)for(;l[i.name="frame "+e._transitionData._counter++];);if(l[i.name]){for(a=0;a=0;r--)n=t[r],a.push({type:"delete",index:n}),o.unshift({type:"insert",index:n,value:i[n]});var s=Qo.modifyFrames,l=Qo.modifyFrames,u=[e,o],c=[e,a];return op&&op.add(e,s,u,l,c),Qo.modifyFrames(e,a)}function dvt(e){e=Sa.getGraphDiv(e);var t=e._fullLayout||{},r=e._fullData||[];return Qo.cleanPlot([],{},r,t),Qo.purge(e),tU.purge(e),t._container&&t._container.remove(),delete e._context,e}function vvt(e){var t=e._fullLayout,r=e.getBoundingClientRect();if(!Sa.equalDomRects(r,t._lastBBox)){var n=t._invTransform=Sa.inverseTransformMatrix(Sa.getFullTransformMatrix(e));t._invScaleX=Math.sqrt(n[0][0]*n[0][0]+n[0][1]*n[0][1]+n[0][2]*n[0][2]),t._invScaleY=Math.sqrt(n[1][0]*n[1][0]+n[1][1]*n[1][1]+n[1][2]*n[1][2]),t._lastBBox=r}}function pvt(e){var t=NP.select(e),r=e._fullLayout;if(r._calcInverseTransform=vvt,r._calcInverseTransform(e),r._container=t.selectAll(".plot-container").data([0]),r._container.enter().insert("div",":first-child").classed("plot-container",!0).classed("plotly",!0).style({width:"100%",height:"100%"}),r._paperdiv=r._container.selectAll(".svg-container").data([0]),r._paperdiv.enter().append("div").classed("user-select-none",!0).classed("svg-container",!0).style("position","relative"),r._glcontainer=r._paperdiv.selectAll(".gl-container").data([{}]),r._glcontainer.enter().append("div").classed("gl-container",!0),r._paperdiv.selectAll(".main-svg").remove(),r._paperdiv.select(".modebar-container").remove(),r._paper=r._paperdiv.insert("svg",":first-child").classed("main-svg",!0),r._toppaper=r._paperdiv.append("svg").classed("main-svg",!0),r._modebardiv=r._paperdiv.append("div"),delete r._modeBar,r._hoverpaper=r._paperdiv.append("svg").classed("main-svg",!0),!r._uid){var n={};NP.selectAll("defs").each(function(){this.id&&(n[this.id.split("-")[1]]=1)}),r._uid=Sa.randstr(n)}r._paperdiv.selectAll(".main-svg").attr(Gdt.svgAttrs),r._defs=r._paper.append("defs").attr("id","defs-"+r._uid),r._clips=r._defs.append("g").classed("clips",!0),r._topdefs=r._toppaper.append("defs").attr("id","topdefs-"+r._uid),r._topclips=r._topdefs.append("g").classed("clips",!0),r._bgLayer=r._paper.append("g").classed("bglayer",!0),r._draggers=r._paper.append("g").classed("draglayer",!0);var i=r._paper.append("g").classed("layer-below",!0);r._imageLowerLayer=i.append("g").classed("imagelayer",!0),r._shapeLowerLayer=i.append("g").classed("shapelayer",!0),r._cartesianlayer=r._paper.append("g").classed("cartesianlayer",!0),r._polarlayer=r._paper.append("g").classed("polarlayer",!0),r._smithlayer=r._paper.append("g").classed("smithlayer",!0),r._ternarylayer=r._paper.append("g").classed("ternarylayer",!0),r._geolayer=r._paper.append("g").classed("geolayer",!0),r._funnelarealayer=r._paper.append("g").classed("funnelarealayer",!0),r._pielayer=r._paper.append("g").classed("pielayer",!0),r._iciclelayer=r._paper.append("g").classed("iciclelayer",!0),r._treemaplayer=r._paper.append("g").classed("treemaplayer",!0),r._sunburstlayer=r._paper.append("g").classed("sunburstlayer",!0),r._indicatorlayer=r._toppaper.append("g").classed("indicatorlayer",!0),r._glimages=r._paper.append("g").classed("glimages",!0);var a=r._toppaper.append("g").classed("layer-above",!0);r._imageUpperLayer=a.append("g").classed("imagelayer",!0),r._shapeUpperLayer=a.append("g").classed("shapelayer",!0),r._selectionLayer=r._toppaper.append("g").classed("selectionlayer",!0),r._infolayer=r._toppaper.append("g").classed("infolayer",!0),r._menulayer=r._toppaper.append("g").classed("menulayer",!0),r._zoomlayer=r._toppaper.append("g").classed("zoomlayer",!0),r._hoverlayer=r._hoverpaper.append("g").classed("hoverlayer",!0),r._modebardiv.classed("modebar-container",!0).style("position","absolute").style("top","0px").style("right","0px"),e.emit("plotly_framework")}_l.animate=cvt;_l.addFrames=fvt;_l.deleteFrames=hvt;_l.addTraces=rde;_l.deleteTraces=ide;_l.extendTraces=ede;_l.moveTraces=rU;_l.prependTraces=tde;_l.newPlot=Kdt;_l._doPlot=Wdt;_l.purge=dvt;_l.react=svt;_l.redraw=Ydt;_l.relayout=QM;_l.restyle=GP;_l.setPlotConfig=Xdt;_l.update=jP;_l._guiRelayout=iU(QM);_l._guiRestyle=iU(GP);_l._guiUpdate=iU(jP);_l._storeDirectGUIEdit=evt});var qy=ye(Im=>{"use strict";var gvt=Oa();Im.getDelay=function(e){return e._has&&(e._has("gl3d")||e._has("mapbox")||e._has("map"))?500:0};Im.getRedrawFunc=function(e){return function(){gvt.getComponentMethod("colorbar","draw")(e)}};Im.encodeSVG=function(e){return"data:image/svg+xml,"+encodeURIComponent(e)};Im.encodeJSON=function(e){return"data:application/json,"+encodeURIComponent(e)};var cde=window.URL||window.webkitURL;Im.createObjectURL=function(e){return cde.createObjectURL(e)};Im.revokeObjectURL=function(e){return cde.revokeObjectURL(e)};Im.createBlob=function(e,t){if(t==="svg")return new window.Blob([e],{type:"image/svg+xml;charset=utf-8"});if(t==="full-json")return new window.Blob([e],{type:"application/json;charset=utf-8"});var r=mvt(window.atob(e));return new window.Blob([r],{type:"image/"+t})};Im.octetStream=function(e){document.location.href="data:application/octet-stream"+e};function mvt(e){for(var t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;i{"use strict";var aU=qa(),Yor=Pr(),yvt=So(),_vt=ka(),Kor=Wp(),nU=/"/g,t4="TOBESTRIPPED",xvt=new RegExp('("'+t4+")|("+t4+'")',"g");function bvt(e){var t=aU.select("body").append("div").style({display:"none"}).html(""),r=e.replace(/(&[^;]*;)/gi,function(n){return n==="<"?"<":n==="&rt;"?">":n.indexOf("<")!==-1||n.indexOf(">")!==-1?"":t.html(n).text()});return t.remove(),r}function wvt(e){return e.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")}fde.exports=function(t,r,n){var i=t._fullLayout,a=i._paper,o=i._toppaper,s=i.width,l=i.height,u;a.insert("rect",":first-child").call(yvt.setRect,0,0,s,l).call(_vt.fill,i.paper_bgcolor);var c=i._basePlotModules||[];for(u=0;u{"use strict";var Tvt=Pr(),Avt=Sb().EventEmitter,r4=qy();function Svt(e){var t=e.emitter||new Avt,r=new Promise(function(n,i){var a=window.Image,o=e.svg,s=e.format||"png",l=e.canvas,u=e.scale||1,c=e.width||300,f=e.height||150,h=u*c,d=u*f,v=l.getContext("2d",{willReadFrequently:!0}),m=new a,b,p;s==="svg"||Tvt.isSafari()?p=r4.encodeSVG(o):(b=r4.createBlob(o,"svg"),p=r4.createObjectURL(b)),l.width=h,l.height=d,m.onload=function(){var k;switch(b=null,r4.revokeObjectURL(p),s!=="svg"&&v.drawImage(m,0,0,h,d),s){case"jpeg":k=l.toDataURL("image/jpeg");break;case"png":k=l.toDataURL("image/png");break;case"webp":k=l.toDataURL("image/webp");break;case"svg":k=p;break;default:var M="Image format is not jpeg, png, svg or webp.";if(i(new Error(M)),!e.promise)return t.emit("error",M)}n(k),e.promise||t.emit("success",k)},m.onerror=function(k){if(b=null,r4.revokeObjectURL(p),i(k),!e.promise)return t.emit("error",k)},m.src=p});return e.promise?r:t}hde.exports=Svt});var sU=ye((Qor,pde)=>{"use strict";var dde=Eo(),vde=YP(),Mvt=Mc(),Rm=Pr(),i4=qy(),Evt=KP(),kvt=JP(),Cvt=m6().version,oU={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],dflt:"png"},width:{valType:"number",min:1},height:{valType:"number",min:1},scale:{valType:"number",min:0,dflt:1},setBackground:{valType:"any",dflt:!1},imageDataOnly:{valType:"boolean",dflt:!1}};function Lvt(e,t){t=t||{};var r,n,i,a;Rm.isPlainObject(e)?(r=e.data||[],n=e.layout||{},i=e.config||{},a={}):(e=Rm.getGraphDiv(e),r=Rm.extendDeep([],e.data),n=Rm.extendDeep({},e.layout),i=e._context,a=e._fullLayout||{});function o(x){return!(x in t)||Rm.validate(t[x],oU[x])}if(!o("width")&&t.width!==null||!o("height")&&t.height!==null)throw new Error("Height and width should be pixel values.");if(!o("format"))throw new Error("Export format is not "+Rm.join2(oU.format.values,", "," or ")+".");var s={};function l(x,C){return Rm.coerce(t,s,oU,x,C)}var u=l("format"),c=l("width"),f=l("height"),h=l("scale"),d=l("setBackground"),v=l("imageDataOnly"),m=document.createElement("div");m.style.position="absolute",m.style.left="-5000px",document.body.appendChild(m);var b=Rm.extendFlat({},n);c?b.width=c:t.width===null&&dde(a.width)&&(b.width=a.width),f?b.height=f:t.height===null&&dde(a.height)&&(b.height=a.height);var p=Rm.extendFlat({},i,{_exportedPlot:!0,staticPlot:!0,setBackground:d}),k=i4.getRedrawFunc(m);function M(){return new Promise(function(x){setTimeout(x,i4.getDelay(m._fullLayout))})}function T(){return new Promise(function(x,C){var S=Evt(m,u,h),g=m._fullLayout.width,P=m._fullLayout.height;function E(){vde.purge(m),document.body.removeChild(m)}if(u==="full-json"){var z=Mvt.graphJson(m,!1,"keepdata","object",!0,!0);return z.version=Cvt,z=JSON.stringify(z),E(),x(v?z:i4.encodeJSON(z))}if(E(),u==="svg")return x(v?S:i4.encodeSVG(S));var q=document.createElement("canvas");q.id=Rm.randstr(),kvt({format:u,width:g,height:P,scale:h,canvas:q,svg:S,promise:!0}).then(x).catch(C)})}function L(x){return v?x.replace(i4.IMAGE_URL_PREFIX,""):x}return new Promise(function(x,C){vde.newPlot(m,r,b,p).then(k).then(M).then(T).then(function(S){x(L(S))}).catch(function(S){C(S)})})}pde.exports=Lvt});var yde=ye((esr,mde)=>{"use strict";var I0=Pr(),Pvt=Mc(),Ivt=R3(),Rvt=xb().dfltConfig,Rg=I0.isPlainObject,t2=Array.isArray,lU=I0.isArrayOrTypedArray;mde.exports=function(t,r){t===void 0&&(t=[]),r===void 0&&(r={});var n=Ivt.get(),i=[],a={_context:I0.extendFlat({},Rvt)},o,s;t2(t)?(a.data=I0.extendDeep([],t),o=t):(a.data=[],o=[],i.push(md("array","data"))),Rg(r)?(a.layout=I0.extendDeep({},r),s=r):(a.layout={},s={},arguments.length>1&&i.push(md("object","layout"))),Pvt.supplyDefaults(a);for(var l=a._fullData,u=o.length,c=0;cf.length&&n.push(md("unused",i,u.concat(f.length)));var p=f.length,k=Array.isArray(b);k&&(p=Math.min(p,b.length));var M,T,L,x,C;if(h.dimensions===2)for(T=0;Tf[T].length&&n.push(md("unused",i,u.concat(T,f[T].length)));var S=f[T].length;for(M=0;M<(k?Math.min(S,b[T].length):S);M++)L=k?b[T][M]:b,x=c[T][M],C=f[T][M],I0.validate(x,L)?C!==x&&C!==+x&&n.push(md("dynamic",i,u.concat(T,M),x,C)):n.push(md("value",i,u.concat(T,M),x))}else n.push(md("array",i,u.concat(T),c[T]));else for(T=0;T{"use strict";var Nvt=Pr(),QP=qy();function Uvt(e,t,r){var n=document.createElement("a"),i="download"in n,a=new Promise(function(o,s){var l,u;if(i)return l=QP.createBlob(e,r),u=QP.createObjectURL(l),n.href=u,n.download=t,document.body.appendChild(n),n.click(),document.body.removeChild(n),QP.revokeObjectURL(u),l=null,o(t);if(Nvt.isSafari()){var c=r==="svg"?",":";base64,";return QP.octetStream(c+encodeURIComponent(e)),o(t)}s(new Error("download error"))});return a}_de.exports=Uvt});var uU=ye((isr,wde)=>{"use strict";var bde=Pr(),Vvt=sU(),Gvt=xde(),rsr=qy();function Hvt(e,t){var r;return bde.isPlainObject(e)||(r=bde.getGraphDiv(e)),t=t||{},t.format=t.format||"png",t.width=t.width||null,t.height=t.height||null,t.imageDataOnly=!0,new Promise(function(n,i){r&&r._snapshotInProgress&&i(new Error("Snapshotting already in progress.")),r&&(r._snapshotInProgress=!0);var a=Vvt(e,t),o=t.filename||e.fn||"newplot";o+="."+t.format.replace("-","."),a.then(function(s){return r&&(r._snapshotInProgress=!1),Gvt(s,o,t.format)}).then(function(s){n(s)}).catch(function(s){r&&(r._snapshotInProgress=!1),i(s)})})}wde.exports=Hvt});var Ede=ye(cU=>{"use strict";var Cp=Pr(),Lp=Cp.isPlainObject,Tde=R3(),Ade=Mc(),jvt=Gl(),Sde=vl(),Mde=xb().dfltConfig;cU.makeTemplate=function(e){e=Cp.isPlainObject(e)?e:Cp.getGraphDiv(e),e=Cp.extendDeep({_context:Mde},{data:e.data,layout:e.layout}),Ade.supplyDefaults(e);var t=e.data||[],r=e.layout||{};r._basePlotModules=e._fullLayout._basePlotModules,r._modules=e._fullLayout._modules;var n={data:{},layout:{}};t.forEach(function(d){var v={};n4(d,v,Xvt.bind(null,d));var m=Cp.coerce(d,{},jvt,"type"),b=n.data[m];b||(b=n.data[m]=[]),b.push(v)}),n4(r,n.layout,Wvt.bind(null,r)),delete n.layout.template;var i=r.template;if(Lp(i)){var a=i.layout,o,s,l,u,c,f;Lp(a)&&eI(a,n.layout);var h=i.data;if(Lp(h)){for(s in n.data)if(l=h[s],Array.isArray(l)){for(c=n.data[s],f=c.length,u=l.length,o=0;op?o.push({code:"unused",traceType:d,templateCount:b,dataCount:p}):p>b&&o.push({code:"reused",traceType:d,templateCount:b,dataCount:p})}}function k(M,T){for(var L in M)if(L.charAt(0)!=="_"){var x=M[L],C=R0(M,L,T);Lp(x)?(Array.isArray(M)&&x._template===!1&&x.templateitemname&&o.push({code:"missing",path:C,templateitemname:x.templateitemname}),k(x,C)):Array.isArray(x)&&Zvt(x)&&k(x,C)}}if(k({data:l,layout:s},""),o.length)return o.map(Yvt)};function Zvt(e){for(var t=0;t{"use strict";var rd=YP();tf._doPlot=rd._doPlot;tf.newPlot=rd.newPlot;tf.restyle=rd.restyle;tf.relayout=rd.relayout;tf.redraw=rd.redraw;tf.update=rd.update;tf._guiRestyle=rd._guiRestyle;tf._guiRelayout=rd._guiRelayout;tf._guiUpdate=rd._guiUpdate;tf._storeDirectGUIEdit=rd._storeDirectGUIEdit;tf.react=rd.react;tf.extendTraces=rd.extendTraces;tf.prependTraces=rd.prependTraces;tf.addTraces=rd.addTraces;tf.deleteTraces=rd.deleteTraces;tf.moveTraces=rd.moveTraces;tf.purge=rd.purge;tf.addFrames=rd.addFrames;tf.deleteFrames=rd.deleteFrames;tf.animate=rd.animate;tf.setPlotConfig=rd.setPlotConfig;var Kvt=jS().getGraphDiv,Jvt=vP().eraseActiveShape;tf.deleteActiveShape=function(e){return Jvt(Kvt(e))};tf.toImage=sU();tf.validate=yde();tf.downloadImage=uU();var kde=Ede();tf.makeTemplate=kde.makeTemplate;tf.validateTemplate=kde.validateTemplate});var lT=ye((osr,Lde)=>{"use strict";var fU=Pr(),$vt=Oa();Lde.exports=function(t,r,n,i){var a=i("x"),o=i("y"),s,l=$vt.getComponentMethod("calendars","handleTraceDefaults");if(l(t,r,["x","y"],n),a){var u=fU.minRowLength(a);o?s=Math.min(u,fU.minRowLength(o)):(s=u,i("y0"),i("dy"))}else{if(!o)return 0;s=fU.minRowLength(o),i("x0"),i("dx")}return r._length=s,s}});var Dg=ye((ssr,Rde)=>{"use strict";var Pde=Pr().dateTick0,Qvt=fs(),ept=Qvt.ONEWEEK;function Ide(e,t){return e%ept===0?Pde(t,1):Pde(t,0)}Rde.exports=function(t,r,n,i,a){if(a||(a={x:!0,y:!0}),a.x){var o=i("xperiod");o&&(i("xperiod0",Ide(o,r.xcalendar)),i("xperiodalignment"))}if(a.y){var s=i("yperiod");s&&(i("yperiod0",Ide(s,r.ycalendar)),i("yperiodalignment"))}}});var zde=ye((lsr,Fde)=>{"use strict";var Dde=["orientation","groupnorm","stackgaps"];Fde.exports=function(t,r,n,i){var a=n._scatterStackOpts,o=i("stackgroup");if(o){var s=r.xaxis+r.yaxis,l=a[s];l||(l=a[s]={});var u=l[o],c=!1;u?u.traces.push(r):(u=l[o]={traceIndices:[],traces:[r]},c=!0);for(var f={orientation:r.x&&!r.y?"h":"v"},h=0;h{"use strict";var qde=ka(),Ode=pv().hasColorscale,Bde=td(),tpt=Ru();Nde.exports=function(t,r,n,i,a,o={}){var s=tpt.isBubble(t),l=(t.line||{}).color,u;if(l&&(n=l),a("marker.symbol"),a("marker.opacity",s?.7:1),a("marker.size"),o.noAngle||(a("marker.angle"),o.noAngleRef||a("marker.angleref"),o.noStandOff||a("marker.standoff")),a("marker.color",n),Ode(t,"marker")&&Bde(t,r,i,a,{prefix:"marker.",cLetter:"c"}),o.noSelect||(a("selected.marker.color"),a("unselected.marker.color"),a("selected.marker.size"),a("unselected.marker.size")),o.noLine||(l&&!Array.isArray(l)&&r.marker.color!==l?u=l:s?u=qde.background:u=qde.defaultLine,a("marker.line.color",u),Ode(t,"marker.line")&&Bde(t,r,i,a,{prefix:"marker.line.",cLetter:"c"}),a("marker.line.width",s?1:0),o.noLineDash||a("marker.line.dash")),s&&(a("marker.sizeref"),a("marker.sizemin"),a("marker.sizemode")),o.gradient){var c=a("marker.gradient.type");c!=="none"&&a("marker.gradient.color")}}});var D0=ye((csr,Ude)=>{"use strict";var rpt=Pr().isArrayOrTypedArray,ipt=pv().hasColorscale,npt=td();Ude.exports=function(t,r,n,i,a,o){o||(o={});var s=(t.marker||{}).color;if(s&&s._inputArray&&(s=s._inputArray),a("line.color",n),ipt(t,"line"))npt(t,r,i,a,{prefix:"line.",cLetter:"c"});else{var l=(rpt(s)?!1:s)||n;a("line.color",l)}a("line.width"),o.noDash||a("line.dash"),o.backoff&&a("line.backoff")}});var uT=ye((fsr,Vde)=>{"use strict";Vde.exports=function(t,r,n){var i=n("line.shape");i==="spline"&&n("line.smoothing")}});var F0=ye((hsr,Gde)=>{"use strict";var apt=Pr();Gde.exports=function(e,t,r,n,i){i=i||{},n("textposition"),apt.coerceFont(n,"textfont",i.font||r.font,i),i.noSelect||(n("selected.textfont.color"),n("unselected.textfont.color"))}});var Fg=ye((dsr,jde)=>{"use strict";var rI=ka(),Hde=Pr().isArrayOrTypedArray;function opt(e){for(var t=rI.interpolate(e[0][1],e[1][1],.5),r=2;r{"use strict";var Wde=Pr(),spt=Oa(),lpt=pf(),upt=Pm(),cT=Ru(),cpt=lT(),fpt=Dg(),hpt=zde(),dpt=$p(),vpt=D0(),Xde=uT(),ppt=F0(),gpt=Fg(),mpt=Pr().coercePattern;Zde.exports=function(t,r,n,i){function a(d,v){return Wde.coerce(t,r,lpt,d,v)}var o=cpt(t,r,i,a);if(o||(r.visible=!1),!!r.visible){fpt(t,r,i,a),a("xhoverformat"),a("yhoverformat"),a("zorder");var s=hpt(t,r,i,a);i.scattermode==="group"&&r.orientation===void 0&&a("orientation","v");var l=!s&&o{"use strict";var ypt=$b().getAxisGroup;Kde.exports=function(t,r,n,i,a){var o=r.orientation,s=r[{v:"x",h:"y"}[o]+"axis"],l=ypt(n,s)+o,u=n._alignmentOpts||{},c=i("alignmentgroup"),f=u[l];f||(f=u[l]={});var h=f[c];h?h.traces.push(r):h=f[c]={traces:[r],alignmentIndex:Object.keys(f).length,offsetGroups:{}};var d=i("offsetgroup")||"",v=h.offsetGroups,m=v[d];r._offsetIndex=0,(a!=="group"||d)&&(m||(m=v[d]={offsetIndex:Object.keys(v).length}),r._offsetIndex=m.offsetIndex)}});var hU=ye((gsr,Jde)=>{"use strict";var _pt=Pr(),xpt=r2(),bpt=pf();Jde.exports=function(t,r){var n,i,a,o=r.scattermode;function s(h){return _pt.coerce(i._input,i,bpt,h)}if(r.scattermode==="group")for(a=0;a=0;c--){var f=t[c];if(f.type==="scatter"&&f.xaxis===l.xaxis&&f.yaxis===l.yaxis){f.opacity=void 0;break}}}}}});var Qde=ye((msr,$de)=>{"use strict";var wpt=Pr(),Tpt=rL();$de.exports=function(e,t){function r(i,a){return wpt.coerce(e,t,Tpt,i,a)}var n=t.barmode==="group";t.scattermode==="group"&&r("scattergap",n?t.bargap:.2)}});var zg=ye((ysr,tve)=>{"use strict";var Apt=Eo(),eve=Pr(),Spt=eve.dateTime2ms,iI=eve.incrementMonth,Mpt=fs(),Ept=Mpt.ONEAVGMONTH;tve.exports=function(t,r,n,i){if(r.type!=="date")return{vals:i};var a=t[n+"periodalignment"];if(!a)return{vals:i};var o=t[n+"period"],s;if(Apt(o)){if(o=+o,o<=0)return{vals:i}}else if(typeof o=="string"&&o.charAt(0)==="M"){var l=+o.substring(1);if(l>0&&Math.round(l)===l)s=l;else return{vals:i}}for(var u=r.calendar,c=a==="start",f=a==="end",h=t[n+"period0"],d=Spt(h,u)||0,v=[],m=[],b=[],p=i.length,k=0;kM;)x=iI(x,-s,u);for(;x<=M;)x=iI(x,s,u);L=iI(x,-s,u)}else{for(T=Math.round((M-d)/o),x=d+T*o;x>M;)x-=o;for(;x<=M;)x+=o;L=x-o}v[k]=c?L:f?x:(L+x)/2,m[k]=L,b[k]=x}return{vals:v,starts:m,ends:b}}});var z0=ye((_sr,ive)=>{"use strict";var dU=pv().hasColorscale,vU=gv(),rve=Ru();ive.exports=function(t,r){rve.hasLines(r)&&dU(r,"line")&&vU(t,r,{vals:r.line.color,containerStr:"line",cLetter:"c"}),rve.hasMarkers(r)&&(dU(r,"marker")&&vU(t,r,{vals:r.marker.color,containerStr:"marker",cLetter:"c"}),dU(r,"marker.line")&&vU(t,r,{vals:r.marker.line.color,containerStr:"marker.line",cLetter:"c"}))}});var Dm=ye((xsr,nve)=>{"use strict";var Of=Pr();nve.exports=function(t,r){for(var n=0;n{"use strict";var ave=Pr();ove.exports=function(t,r){ave.isArrayOrTypedArray(r.selectedpoints)&&ave.tagSelected(t,r)}});var O0=ye((wsr,dve)=>{"use strict";var sve=Eo(),gU=Pr(),a4=ho(),lve=zg(),pU=fs().BADNUM,mU=Ru(),kpt=z0(),Cpt=Dm(),Lpt=q0();function Ppt(e,t){var r=e._fullLayout,n=t._xA=a4.getFromId(e,t.xaxis||"x","x"),i=t._yA=a4.getFromId(e,t.yaxis||"y","y"),a=n.makeCalcdata(t,"x"),o=i.makeCalcdata(t,"y"),s=lve(t,n,"x",a),l=lve(t,i,"y",o),u=s.vals,c=l.vals,f=t._length,h=new Array(f),d=t.ids,v=yU(t,r,n,i),m=!1,b,p,k,M,T,L;fve(r,t);var x="x",C="y",S;if(v)gU.pushUnique(v.traceIndices,t.index),b=v.orientation==="v",b?(C="s",S="x"):(x="s",S="y"),T=v.stackgaps==="interpolate";else{var g=cve(t,f);uve(e,t,n,i,u,c,g)}var P=!!t.xperiodalignment,E=!!t.yperiodalignment;for(p=0;pp&&h[M].gap;)M--;for(L=h[M].s,k=h.length-1;k>M;k--)h[k].s=L;for(;p{"use strict";vve.exports=nI;var Ipt=Pr().distinctVals;function nI(e,t){this.traces=e,this.sepNegVal=t.sepNegVal,this.overlapNoMerge=t.overlapNoMerge;for(var r=1/0,n=t.posAxis._id.charAt(0),i=[],a=0;a{"use strict";gve.exports={TEXTPAD:3,eventDataKeys:["value","label"]}});var i2=ye((Ssr,xve)=>{"use strict";var B0=Eo(),{isArrayOrTypedArray:Oy}=Pr(),{BADNUM:fT}=fs(),Rpt=Oa(),o4=ho(),{getAxisGroup:Dpt}=$b(),aI=pve(),{TEXTPAD:Fpt}=A_(),{LINE_SPACING:zpt}=Dh(),{BR_TAG_ALL:qpt}=Zl();function Opt(e,t){for(var r=t.xaxis,n=t.yaxis,i=e._fullLayout,a=e._fullData,o=e.calcdata,s=[],l=[],u=0;ul+o||!B0(s))}for(var c=0;cn(a))):n(e.text);let i=e.outsidetextfont.size*zpt*r+Fpt;return{ppadplus:t.some(a=>a.s<0)?i:0,ppadminus:t.some(a=>a.s>=0)?i:0}}return{ppadplus:void 0,ppadminus:void 0}}function Zpt(e,t,r,n){for(var i=hT(n),a=0;a{"use strict";var bve=O0(),wve=i2().setGroupPositions;function Kpt(e,t){for(var r=t.xaxis,n=t.yaxis,i=e._fullLayout,a=e._fullData,o=e.calcdata,s=[],l=[],u=0;ug[c]&&c{"use strict";var $pt=So(),kve=fs(),s4=kve.BADNUM,Cve=kve.LOG_CLIP,Sve=Cve+.5,Mve=Cve-.5,oI=Pr(),Qpt=oI.segmentsIntersect,Eve=oI.constrain,SU=Pm();Lve.exports=function(t,r){var n=r.trace||{},i=r.xaxis,a=r.yaxis,o=i.type==="log",s=a.type==="log",l=i._length,u=a._length,c=r.backoff,f=n.marker,h=r.connectGaps,d=r.baseTolerance,v=r.shape,m=v==="linear",b=n.fill&&n.fill!=="none",p=[],k=SU.minTolerance,M=t.length,T=new Array(M),L=0,x,C,S,g,P,E,z,q,V,G,Z,j,N,H,ie,ae;function _e(gt){var Ge=t[gt];if(!Ge)return!1;var Je=r.linearized?i.l2p(Ge.x):i.c2p(Ge.x),We=r.linearized?a.l2p(Ge.y):a.c2p(Ge.y);if(Je===s4){if(o&&(Je=i.c2p(Ge.x,!0)),Je===s4)return!1;s&&We===s4&&(Je*=Math.abs(i._m*u*(i._m>0?Sve:Mve)/(a._m*l*(a._m>0?Sve:Mve)))),Je*=1e3}if(We===s4){if(s&&(We=a.c2p(Ge.y,!0)),We===s4)return!1;We*=1e3}return[Je,We]}function Ee(gt,Ge,Je,We){var et=Je-gt,xt=We-Ge,At=.5-gt,Kt=.5-Ge,Qt=et*et+xt*xt,Mr=et*At+xt*Kt;if(Mr>0&&Mr1||Math.abs(At.y-Je[0][1])>1)&&(At=[At.x,At.y],We&&Se(At,gt)Be||gt[1]me)return[Eve(gt[0],be,Be),Eve(gt[1],Le,me)]}function Vt(gt,Ge){if(gt[0]===Ge[0]&&(gt[0]===be||gt[0]===Be)||gt[1]===Ge[1]&&(gt[1]===Le||gt[1]===me))return!0}function rr(gt,Ge){var Je=[],We=ar(gt),et=ar(Ge);return We&&et&&Vt(We,et)||(We&&Je.push(We),et&&Je.push(et)),Je}function tt(gt,Ge,Je){return function(We,et){var xt=ar(We),At=ar(et),Kt=[];if(xt&&At&&Vt(xt,At))return Kt;xt&&Kt.push(xt),At&&Kt.push(At);var Qt=2*oI.constrain((We[gt]+et[gt])/2,Ge,Je)-((xt||We)[gt]+(At||et)[gt]);if(Qt){var Mr;xt&&At?Mr=Qt>0==xt[gt]>At[gt]?xt:At:Mr=xt||At,Mr[gt]+=Qt}return Kt}}var je;v==="linear"||v==="spline"?je=ct:v==="hv"||v==="vh"?je=rr:v==="hvh"?je=tt(0,be,Be):v==="vhv"&&(je=tt(1,Le,me));function Ue(gt,Ge){var Je=Ge[0]-gt[0],We=(Ge[1]-gt[1])/Je,et=(gt[1]*Ge[0]-Ge[1]*gt[0])/Je;return et>0?[We>0?be:Be,me]:[We>0?Be:be,Le]}function Ae(gt){var Ge=gt[0],Je=gt[1],We=Ge===T[L-1][0],et=Je===T[L-1][1];if(!(We&&et))if(L>1){var xt=Ge===T[L-2][0],At=Je===T[L-2][1];We&&(Ge===be||Ge===Be)&&xt?At?L--:T[L-1]=gt:et&&(Je===Le||Je===me)&&At?xt?L--:T[L-1]=gt:T[L++]=gt}else T[L++]=gt}function rt(gt){T[L-1][0]!==gt[0]&&T[L-1][1]!==gt[1]&&Ae([lt,mt]),Ae(gt),Ht=null,lt=mt=0}var St=oI.isArrayOrTypedArray(f);function Tt(gt){if(gt&&c&&(gt.i=x,gt.d=t,gt.trace=n,gt.marker=St?f[gt.i]:f,gt.backoff=c),Ce=gt[0]/l,ge=gt[1]/u,ce=gt[0]Be?Be:0,He=gt[1]me?me:0,ce||He){if(!L)T[L++]=[ce||gt[0],He||gt[1]];else if(Ht){var Ge=je(Ht,gt);Ge.length>1&&(rt(Ge[0]),T[L++]=Ge[1])}else at=je(T[L-1],gt)[0],T[L++]=at;var Je=T[L-1];ce&&He&&(Je[0]!==ce||Je[1]!==He)?(Ht&&(lt!==ce&&mt!==He?Ae(lt&&mt?Ue(Ht,gt):[lt||ce,mt||He]):lt&&mt&&Ae([lt,mt])),Ae([ce,He])):lt-ce&&mt-He&&Ae([ce||lt,He||mt]),Ht=gt,lt=ce,mt=He}else Ht&&rt(je(Ht,gt)[0]),T[L++]=gt}for(x=0;xre(E,dt))break;S=E,N=V[0]*q[0]+V[1]*q[1],N>Z?(Z=N,g=E,z=!1):N=t.length||!E)break;Tt(E),C=E}}Ht&&Ae([lt||Ht[0],mt||Ht[1]]),p.push(T.slice(0,L))}var Et=v.slice(v.length-1);if(c&&Et!=="h"&&Et!=="v"){for(var pt=!1,jt=-1,or=[],mr=0;mr{"use strict";var Pve={tonextx:1,tonexty:1,tonext:1};Ive.exports=function(t,r,n){var i,a,o,s,l,u={},c=!1,f=-1,h=0,d=-1;for(a=0;a=0?l=d:(l=d=h,h++),l{"use strict";var qg=qa(),e0t=Oa(),l4=Pr(),dT=l4.ensureSingle,Dve=l4.identity,Kf=So(),vT=Ru(),t0t=MU(),r0t=EU(),sI=zM().tester;Fve.exports=function(t,r,n,i,a,o){var s,l,u=!a,c=!!a&&a.duration>0,f=r0t(t,r,n);if(s=i.selectAll("g.trace").data(f,function(d){return d[0].trace.uid}),s.enter().append("g").attr("class",function(d){return"trace scatter trace"+d[0].trace.uid}).style("stroke-miterlimit",2),s.order(),i0t(t,s,r),c){o&&(l=o());var h=qg.transition().duration(a.duration).ease(a.easing).each("end",function(){l&&l()}).each("interrupt",function(){l&&l()});h.each(function(){i.selectAll("g.trace").each(function(d,v){Rve(t,v,r,d,f,this,a)})})}else s.each(function(d,v){Rve(t,v,r,d,f,this,a)});u&&s.exit().remove(),i.selectAll("path:not([d])").remove()};function i0t(e,t,r){t.each(function(n){var i=dT(qg.select(this),"g","fills");Kf.setClipUrl(i,r.layerClipId,e);var a=n[0].trace;a._ownFill=null,a._nextFill=null;var o=[];a._ownfill&&o.push("_ownFill"),a._nexttrace&&o.push("_nextFill");var s=i.selectAll("g").data(o,Dve);s.enter().append("g"),s.exit().remove(),s.order().each(function(l){a[l]=dT(qg.select(this),"path","js-fill")})})}function Rve(e,t,r,n,i,a,o){var s=e._context.staticPlot,l;n0t(e,t,r,n,i);var u=!!o&&o.duration>0;function c(tt){return u?tt.transition():tt}var f=r.xaxis,h=r.yaxis,d=n[0].trace,v=d.line,m=qg.select(a),b=dT(m,"g","errorbars"),p=dT(m,"g","lines"),k=dT(m,"g","points"),M=dT(m,"g","text");if(e0t.getComponentMethod("errorbars","plot")(e,b,r,o),d.visible!==!0)return;c(m).style("opacity",d.opacity);var T,L,x=d.fill.charAt(d.fill.length-1);x!=="x"&&x!=="y"&&(x="");var C,S;x==="y"?(C=1,S=h.c2p(0,!0)):x==="x"&&(C=0,S=f.c2p(0,!0)),n[0][r.isRangePlot?"nodeRangePlot3":"node3"]=m;var g="",P=[],E=d._prevtrace,z=null,q=null;E&&(g=E._prevRevpath||"",L=E._nextFill,P=E._ownPolygons,z=E._fillsegments,q=E._fillElement);var V,G,Z="",j="",N,H,ie,ae,_e,Ee,Ce=[];d._polygons=[];var ge=[],re=[],Se=l4.noop;if(T=d._ownFill,vT.hasLines(d)||d.fill!=="none"){L&&L.datum(n),["hv","vh","hvh","vhv"].indexOf(v.shape)!==-1?(N=Kf.steps(v.shape),H=Kf.steps(v.shape.split("").reverse().join(""))):v.shape==="spline"?N=H=function(tt){var je=tt[tt.length-1];return tt.length>1&&tt[0][0]===je[0]&&tt[0][1]===je[1]?Kf.smoothclosed(tt.slice(1),v.smoothing):Kf.smoothopen(tt,v.smoothing)}:N=H=function(tt){return"M"+tt.join("L")},ie=function(tt){return H(tt.reverse())},re=t0t(n,{xaxis:f,yaxis:h,trace:d,connectGaps:d.connectgaps,baseTolerance:Math.max(v.width||1,3)/4,shape:v.shape,backoff:v.backoff,simplify:v.simplify,fill:d.fill}),ge=new Array(re.length);var ke=0;for(l=0;l=s[0]&&m.x<=s[1]&&m.y>=l[0]&&m.y<=l[1]}),h=Math.ceil(f.length/c),d=0;i.forEach(function(m,b){var p=m[0].trace;vT.hasMarkers(p)&&p.marker.maxdisplayed>0&&b{"use strict";zve.exports={container:"marker",min:"cmin",max:"cmax"}});var uI=ye((Psr,qve)=>{"use strict";var lI=ho();qve.exports=function(t,r,n){var i={},a={_fullLayout:n},o=lI.getFromTrace(a,r,"x"),s=lI.getFromTrace(a,r,"y"),l=t.orig_x;l===void 0&&(l=t.x);var u=t.orig_y;return u===void 0&&(u=t.y),i.xLabel=lI.tickText(o,o.c2l(l),!0).text,i.yLabel=lI.tickText(s,s.c2l(u),!0).text,i}});var sp=ye((Isr,Ove)=>{"use strict";var kU=qa(),gT=So(),a0t=Oa();function o0t(e){var t=kU.select(e).selectAll("g.trace.scatter");t.style("opacity",function(r){return r[0].trace.opacity}),t.selectAll("g.points").each(function(r){var n=kU.select(this),i=r.trace||r[0].trace;CU(n,i,e)}),t.selectAll("g.text").each(function(r){var n=kU.select(this),i=r.trace||r[0].trace;LU(n,i,e)}),t.selectAll("g.trace path.js-line").call(gT.lineGroupStyle),t.selectAll("g.trace path.js-fill").call(gT.fillGroupStyle,e,!1),a0t.getComponentMethod("errorbars","style")(t)}function CU(e,t,r){gT.pointStyle(e.selectAll("path.point"),t,r)}function LU(e,t,r){gT.textPointStyle(e.selectAll("text"),t,r)}function s0t(e,t,r){var n=t[0].trace;n.selectedpoints?(gT.selectedPointStyle(r.selectAll("path.point"),n),gT.selectedTextStyle(r.selectAll("text"),n)):(CU(r,n,e),LU(r,n,e))}Ove.exports={style:o0t,stylePoints:CU,styleText:LU,styleOnSelect:s0t}});var yT=ye((Rsr,Bve)=>{"use strict";var mT=ka(),l0t=Ru();Bve.exports=function(t,r){var n,i;if(t.mode==="lines")return n=t.line.color,n&&mT.opacity(n)?n:t.fillcolor;if(t.mode==="none")return t.fill?t.fillcolor:"";var a=r.mcc||(t.marker||{}).color,o=r.mlcc||((t.marker||{}).line||{}).color;return i=a&&mT.opacity(a)?a:o&&mT.opacity(o)&&(r.mlw||((t.marker||{}).line||{}).width)?o:"",i?mT.opacity(i)<.3?mT.addOpacity(i,.3):i:(n=(t.line||{}).color,n&&mT.opacity(n)&&l0t.hasLines(t)&&t.line.width?n:t.fillcolor)}});var _T=ye((Dsr,Uve)=>{"use strict";var cI=Pr(),Nve=ef(),u0t=Oa(),c0t=yT(),PU=ka(),f0t=cI.fillText;Uve.exports=function(t,r,n,i){var a=t.cd,o=a[0].trace,s=t.xa,l=t.ya,u=s.c2p(r),c=l.c2p(n),f=[u,c],h=o.hoveron||"",d=o.mode.indexOf("markers")!==-1?3:.5,v=!!o.xperiodalignment,m=!!o.yperiodalignment;if(h.indexOf("points")!==-1){var b=function(j){if(v){var N=s.c2p(j.xStart),H=s.c2p(j.xEnd);return u>=Math.min(N,H)&&u<=Math.max(N,H)?0:1/0}var ie=Math.max(3,j.mrc||0),ae=1-1/ie,_e=Math.abs(s.c2p(j.x)-u);return _e=Math.min(N,H)&&c<=Math.max(N,H)?0:1/0}var ie=Math.max(3,j.mrc||0),ae=1-1/ie,_e=Math.abs(l.c2p(j.y)-c);return _eCe!=me>=Ce&&(be=Se[re-1][0],Be=Se[re][0],me-Le&&(ke=be+(Be-be)*(Ce-Le)/(me-Le),ie=Math.min(ie,ke),ae=Math.max(ae,ke)));return ie=Math.max(ie,0),ae=Math.min(ae,s._length),{x0:ie,x1:ae,y0:Ce,y1:Ce}}if(h.indexOf("fills")!==-1&&o._fillElement){var V=z(o._fillElement)&&!z(o._fillExclusionElement);if(V){var G=q(o._polygons);G===null&&(G={x0:f[0],x1:f[0],y0:f[1],y1:f[1]});var Z=PU.defaultLine;return PU.opacity(o.fillcolor)?Z=o.fillcolor:PU.opacity((o.line||{}).color)&&(Z=o.line.color),cI.extendFlat(t,{distance:t.maxHoverDistance,x0:G.x0,x1:G.x1,y0:G.y0,y1:G.y1,color:Z,hovertemplate:!1}),delete t.index,o.text&&!cI.isArrayOrTypedArray(o.text)?t.text=String(o.text):t.text=o.name,[t]}}}});var xT=ye((Fsr,Gve)=>{"use strict";var Vve=Ru();Gve.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l,u,c,f,h=!Vve.hasMarkers(s)&&!Vve.hasText(s);if(h)return[];if(r===!1)for(l=0;l{"use strict";Hve.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes"},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes"}}});var RU=ye((qsr,Zve)=>{"use strict";var u4=Oa().traceIs,IU=H3();Zve.exports=function(t,r,n,i){n("autotypenumbers",i.autotypenumbersDflt);var a=n("type",(i.splomStash||{}).type);a==="-"&&(h0t(r,i.data),r.type==="-"?r.type="linear":t.type=r.type)};function h0t(e,t){if(e.type==="-"){var r=e._id,n=r.charAt(0),i;r.indexOf("scene")!==-1&&(r=n);var a=d0t(t,r,n);if(a){if(a.type==="histogram"&&n==={v:"y",h:"x"}[a.orientation||"v"]){e.type="linear";return}var o=n+"calendar",s=a[o],l={noMultiCategory:!u4(a,"cartesian")||u4(a,"noMultiCategory")};if(a.type==="box"&&a._hasPreCompStats&&n==={h:"x",v:"y"}[a.orientation||"v"]&&(l.noMultiCategory=!0),l.autotypenumbers=e.autotypenumbers,Xve(a,n)){var u=Wve(a),c=[];for(i=0;i0&&(i["_"+r+"axes"]||{})[t])return i;if((i[r+"axis"]||r)===t){if(Xve(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}function Wve(e){return{v:"x",h:"y"}[e.orientation||"v"]}function Xve(e,t){var r=Wve(e),n=u4(e,"box-violin"),i=u4(e._fullInput||{},"candlestick");return n&&!i&&t===r&&e[r]===void 0&&e[r+"0"]===void 0}});var fI=ye((Osr,Yve)=>{"use strict";var v0t=Yd().isTypedArraySpec;function p0t(e,t){var r=t.dataAttr||e._id.charAt(0),n={},i,a,o;if(t.axData)i=t.axData;else for(i=[],a=0;a0||v0t(a),s;o&&(s="array");var l=n("categoryorder",s),u;l==="array"&&(u=n("categoryarray")),!o&&l==="array"&&(l=r.categoryorder="trace"),l==="trace"?r._initialCategories=[]:l==="array"?r._initialCategories=u.slice():(u=p0t(r,i).sort(),l==="category ascending"?r._initialCategories=u:l==="category descending"&&(r._initialCategories=u.reverse()))}}});var c4=ye((Bsr,Jve)=>{"use strict";var Kve=fd().mix,g0t=Ih(),m0t=Pr();Jve.exports=function(t,r,n,i){i=i||{};var a=i.dfltColor;function o(S,g){return m0t.coerce2(t,r,i.attributes,S,g)}var s=o("linecolor",a),l=o("linewidth"),u=n("showline",i.showLine||!!s||!!l);u||(delete r.linecolor,delete r.linewidth);var c=Kve(a,i.bgColor,i.blend||g0t.lightFraction).toRgbString(),f=o("gridcolor",c),h=o("gridwidth"),d=o("griddash"),v=n("showgrid",i.showGrid||!!f||!!h||!!d);if(v||(delete r.gridcolor,delete r.gridwidth,delete r.griddash),i.hasMinor){var m=Kve(r.gridcolor,i.bgColor,67).toRgbString(),b=o("minor.gridcolor",m),p=o("minor.gridwidth",r.gridwidth||1),k=o("minor.griddash",r.griddash||"solid"),M=n("minor.showgrid",!!b||!!p||!!k);M||(delete r.minor.gridcolor,delete r.minor.gridwidth,delete r.minor.griddash)}if(!i.noZeroLine){var T=o("zerolinelayer"),L=o("zerolinecolor",a),x=o("zerolinewidth"),C=n("zeroline",i.showGrid||!!L||!!x);C||(delete r.zerolinelayer,delete r.zerolinecolor,delete r.zerolinewidth)}}});var h4=ye((Nsr,ipe)=>{"use strict";var $ve=Eo(),y0t=Oa(),f4=Pr(),_0t=vl(),x0t=Kd(),DU=Rd(),Qve=Pb(),epe=q3(),b0t=s_(),w0t=l_(),T0t=fI(),A0t=c4(),S0t=MB(),tpe=xm(),hI=Rh().WEEKDAY_PATTERN,M0t=Rh().HOUR_PATTERN;ipe.exports=function(t,r,n,i,a){var o=i.letter,s=i.font||{},l=i.splomStash||{},u=n("visible",!i.visibleDflt),c=r._template||{},f=r.type||c.type||"-",h;if(f==="date"){var d=y0t.getComponentMethod("calendars","handleDefaults");d(t,r,"calendar",i.calendar),i.noTicklabelmode||(h=n("ticklabelmode"))}!i.noTicklabelindex&&(f==="date"||f==="linear")&&n("ticklabelindex");var v="";(!i.noTicklabelposition||f==="multicategory")&&(v=f4.coerce(t,r,{ticklabelposition:{valType:"enumerated",dflt:"outside",values:h==="period"?["outside","inside"]:o==="x"?["outside","inside","outside left","inside left","outside right","inside right"]:["outside","inside","outside top","inside top","outside bottom","inside bottom"]}},"ticklabelposition")),i.noTicklabeloverflow||n("ticklabeloverflow",v.indexOf("inside")!==-1?"hide past domain":f==="category"||f==="multicategory"?"allow":"hide past div"),tpe(r,a),S0t(t,r,n,i),T0t(t,r,n,i),i.noHover||(f!=="category"&&n("hoverformat"),i.noUnifiedhovertitle||n("unifiedhovertitle.text"));var m=n("color"),b=m!==DU.color.dflt?m:s.color,p=l.label||a._dfltTitle[o];if(w0t(t,r,n,f,i),!u)return r;n("title.text",p),f4.coerceFont(n,"title.font",s,{overrideDflt:{size:f4.bigFont(s.size),color:b}}),Qve(t,r,n,f);var k=i.hasMinor;if(k&&(_0t.newContainer(r,"minor"),Qve(t,r,n,f,{isMinor:!0})),b0t(t,r,n,f,i),epe(t,r,n,i),k){var M=i.isMinor;i.isMinor=!0,epe(t,r,n,i),i.isMinor=M}A0t(t,r,n,{dfltColor:m,bgColor:i.bgColor,showGrid:i.showGrid,hasMinor:k,attributes:DU}),k&&r.ticklabelindex==null&&!r.minor.ticks&&!r.minor.showgrid&&delete r.minor,(r.showline||r.ticks)&&n("mirror");var T=f==="multicategory";if(!i.noTickson&&(f==="category"||T)&&(r.ticks||r.showgrid)&&(T?(n("tickson","boundaries"),delete r.ticklabelposition):n("tickson")),T){var L=n("showdividers");L&&(n("dividercolor"),n("dividerwidth"))}if(f==="date")if(x0t(t,r,{name:"rangebreaks",inclusionAttr:"enabled",handleItemDefaults:E0t}),!r.rangebreaks.length)delete r.rangebreaks;else{for(var x=0;x=2){var o="",s,l;if(a.length===2){for(s=0;s<2;s++)if(l=rpe(a[s]),l){o=hI;break}}var u=n("pattern",o);if(u===hI)for(s=0;s<2;s++)l=rpe(a[s]),l&&(t.bounds[s]=a[s]=l-1);if(u)for(s=0;s<2;s++)switch(l=a[s],u){case hI:if(!$ve(l)){t.enabled=!1;return}if(l=+l,l!==Math.floor(l)||l<0||l>=7){t.enabled=!1;return}t.bounds[s]=a[s]=l;break;case M0t:if(!$ve(l)){t.enabled=!1;return}if(l=+l,l<0||l>24){t.enabled=!1;return}t.bounds[s]=a[s]=l;break}if(r.autorange===!1){var c=r.range;if(c[0]c[1]){t.enabled=!1;return}}else if(a[0]>c[0]&&a[1]{"use strict";var C0t=Eo(),dI=Pr();npe.exports=function(t,r,n,i){var a=i.counterAxes||[],o=i.overlayableAxes||[],s=i.letter,l=i.grid,u=i.overlayingDomain,c,f,h,d,v,m;l&&(f=l._domains[s][l._axisMap[r._id]],c=l._anchors[r._id],f&&(h=l[s+"side"].split(" ")[0],d=l.domain[s][h==="right"||h==="top"?1:0])),f=f||[0,1],c=c||(C0t(t.position)?"free":a[0]||"free"),h=h||(s==="x"?"bottom":"left"),d=d||0,v=0,m=!1;var b=dI.coerce(t,r,{anchor:{valType:"enumerated",values:["free"].concat(a),dflt:c}},"anchor"),p=dI.coerce(t,r,{side:{valType:"enumerated",values:s==="x"?["bottom","top"]:["left","right"],dflt:h}},"side");if(b==="free"){if(s==="y"){var k=n("autoshift");k&&(d=p==="left"?u[0]:u[1],m=r.automargin?r.automargin:!0,v=p==="left"?-3:3),n("shift",v)}n("position",d)}n("automargin",m);var M=!1;if(o.length&&(M=dI.coerce(t,r,{overlaying:{valType:"enumerated",values:[!1].concat(o),dflt:!1}},"overlaying")),!M){var T=n("domain",f);T[0]>T[1]-1/4096&&(r.domain=f),dI.noneOrAll(t.domain,r.domain,f),r.tickmode==="sync"&&(r.tickmode="auto")}return n("layer"),r}});var dpe=ye((Vsr,hpe)=>{"use strict";var n2=Pr(),ape=ka(),L0t=ip().isUnifiedHover,P0t=$B(),ope=vl(),I0t=b3(),spe=Rd(),R0t=RU(),lpe=h4(),D0t=$b(),upe=vI(),zU=df(),Fm=zU.id2name,cpe=zU.name2id,F0t=Rh().AX_ID_PATTERN,fpe=Oa(),pI=fpe.traceIs,FU=fpe.getComponentMethod;function gI(e,t,r){Array.isArray(e[t])?e[t].push(r):e[t]=[r]}hpe.exports=function(t,r,n){var i=r.autotypenumbers,a={},o={},s={},l={},u={},c={},f={},h={},d={},v={},m,b;for(m=0;m{"use strict";var z0t=qa(),vpe=Oa(),mI=Pr(),Qp=So(),yI=ho();ppe.exports=function(t,r,n,i){var a=t._fullLayout;if(r.length===0){yI.redrawComponents(t);return}function o(b){var p=b.xaxis,k=b.yaxis;a._defs.select("#"+b.clipId+"> rect").call(Qp.setTranslate,0,0).call(Qp.setScale,1,1),b.plot.call(Qp.setTranslate,p._offset,k._offset).call(Qp.setScale,1,1);var M=b.plot.selectAll(".scatterlayer .trace");M.selectAll(".point").call(Qp.setPointGroupScale,1,1),M.selectAll(".textpoint").call(Qp.setTextPointsScale,1,1),M.call(Qp.hideOutsideRangePoints,b)}function s(b,p){var k=b.plotinfo,M=k.xaxis,T=k.yaxis,L=M._length,x=T._length,C=!!b.xr1,S=!!b.yr1,g=[];if(C){var P=mI.simpleMap(b.xr0,M.r2l),E=mI.simpleMap(b.xr1,M.r2l),z=P[1]-P[0],q=E[1]-E[0];g[0]=(P[0]*(1-p)+p*E[0]-P[0])/(P[1]-P[0])*L,g[2]=L*(1-p+p*q/z),M.range[0]=M.l2r(P[0]*(1-p)+p*E[0]),M.range[1]=M.l2r(P[1]*(1-p)+p*E[1])}else g[0]=0,g[2]=L;if(S){var V=mI.simpleMap(b.yr0,T.r2l),G=mI.simpleMap(b.yr1,T.r2l),Z=V[1]-V[0],j=G[1]-G[0];g[1]=(V[1]*(1-p)+p*G[1]-V[1])/(V[0]-V[1])*x,g[3]=x*(1-p+p*j/Z),T.range[0]=M.l2r(V[0]*(1-p)+p*G[0]),T.range[1]=T.l2r(V[1]*(1-p)+p*G[1])}else g[1]=0,g[3]=x;yI.drawOne(t,M,{skipTitle:!0}),yI.drawOne(t,T,{skipTitle:!0}),yI.redrawComponents(t,[M._id,T._id]);var N=C?L/g[2]:1,H=S?x/g[3]:1,ie=C?g[0]:0,ae=S?g[1]:0,_e=C?g[0]/g[2]*L:0,Ee=S?g[1]/g[3]*x:0,Ce=M._offset-_e,ge=T._offset-Ee;k.clipRect.call(Qp.setTranslate,ie,ae).call(Qp.setScale,1/N,1/H),k.plot.call(Qp.setTranslate,Ce,ge).call(Qp.setScale,N,H),Qp.setPointGroupScale(k.zoomScalePts,1/N,1/H),Qp.setTextPointsScale(k.zoomScaleTxt,1/N,1/H)}var l;i&&(l=i());function u(){for(var b={},p=0;pn.duration?(u(),d=window.cancelAnimationFrame(m)):d=window.requestAnimationFrame(m)}return f=Date.now(),d=window.requestAnimationFrame(m),Promise.resolve()}});var mh=ye(xv=>{"use strict";var xI=qa(),mpe=Oa(),a2=Pr(),q0t=Mc(),O0t=So(),ype=Id().getModuleCalcData,S_=df(),Og=Rh(),B0t=Wp(),iu=a2.ensureSingle;function _I(e,t,r){return a2.ensureSingle(e,t,r,function(n){n.datum(r)})}var o2=Og.zindexSeparator;xv.name="cartesian";xv.attr=["xaxis","yaxis"];xv.idRoot=["x","y"];xv.idRegex=Og.idRegex;xv.attrRegex=Og.attrRegex;xv.attributes=jve();xv.layoutAttributes=Rd();xv.supplyLayoutDefaults=dpe();xv.transitionAxes=gpe();xv.finalizeSubplots=function(e,t){var r=t._subplots,n=r.xaxis,i=r.yaxis,a=r.cartesian,o=a,s={},l={},u,c,f;for(u=0;u0){var d=h.id;if(d.indexOf(o2)!==-1)continue;d+=o2+(u+1),h=a2.extendFlat({},h,{id:d,plot:i._cartesianlayer.selectAll(".subplot").select("."+d)})}for(var v=[],m,b=0;b1&&(L+=o2+T),M.push(s+L),o=0;o1,f=t.mainplotinfo;if(!t.mainplot||c)if(u)t.xlines=iu(n,"path","xlines-above"),t.ylines=iu(n,"path","ylines-above"),t.xaxislayer=iu(n,"g","xaxislayer-above"),t.yaxislayer=iu(n,"g","yaxislayer-above");else{if(!o){var h=iu(n,"g","layer-subplot");t.shapelayer=iu(h,"g","shapelayer"),t.imagelayer=iu(h,"g","imagelayer"),f&&c?(t.minorGridlayer=f.minorGridlayer,t.gridlayer=f.gridlayer,t.zerolinelayer=f.zerolinelayer):(t.minorGridlayer=iu(n,"g","minor-gridlayer"),t.gridlayer=iu(n,"g","gridlayer"),t.zerolinelayer=iu(n,"g","zerolinelayer"));var d=iu(n,"g","layer-between");t.shapelayerBetween=iu(d,"g","shapelayer"),t.imagelayerBetween=iu(d,"g","imagelayer"),iu(n,"path","xlines-below"),iu(n,"path","ylines-below"),t.overlinesBelow=iu(n,"g","overlines-below"),iu(n,"g","xaxislayer-below"),iu(n,"g","yaxislayer-below"),t.overaxesBelow=iu(n,"g","overaxes-below")}t.overplot=iu(n,"g","overplot"),t.plot=iu(t.overplot,"g",i),f&&c?t.zerolinelayerAbove=f.zerolinelayerAbove:t.zerolinelayerAbove=iu(n,"g","zerolinelayer-above"),o||(t.xlines=iu(n,"path","xlines-above"),t.ylines=iu(n,"path","ylines-above"),t.overlinesAbove=iu(n,"g","overlines-above"),iu(n,"g","xaxislayer-above"),iu(n,"g","yaxislayer-above"),t.overaxesAbove=iu(n,"g","overaxes-above"),t.xlines=n.select(".xlines-"+s),t.ylines=n.select(".ylines-"+l),t.xaxislayer=n.select(".xaxislayer-"+s),t.yaxislayer=n.select(".yaxislayer-"+l))}else{var v=f.plotgroup,m=i+"-x",b=i+"-y";t.minorGridlayer=f.minorGridlayer,t.gridlayer=f.gridlayer,t.zerolinelayer=f.zerolinelayer,t.zerolinelayerAbove=f.zerolinelayerAbove,iu(f.overlinesBelow,"path",m),iu(f.overlinesBelow,"path",b),iu(f.overaxesBelow,"g",m),iu(f.overaxesBelow,"g",b),t.plot=iu(f.overplot,"g",i),iu(f.overlinesAbove,"path",m),iu(f.overlinesAbove,"path",b),iu(f.overaxesAbove,"g",m),iu(f.overaxesAbove,"g",b),t.xlines=v.select(".overlines-"+s).select("."+m),t.ylines=v.select(".overlines-"+l).select("."+b),t.xaxislayer=v.select(".overaxes-"+s).select("."+m),t.yaxislayer=v.select(".overaxes-"+l).select("."+b)}o||(u||(_I(t.minorGridlayer,"g",t.xaxis._id),_I(t.minorGridlayer,"g",t.yaxis._id),t.minorGridlayer.selectAll("g").map(function(p){return p[0]}).sort(S_.idSort),_I(t.gridlayer,"g",t.xaxis._id),_I(t.gridlayer,"g",t.yaxis._id),t.gridlayer.selectAll("g").map(function(p){return p[0]}).sort(S_.idSort)),t.xlines.style("fill","none").classed("crisp",!0),t.ylines.style("fill","none").classed("crisp",!0))}function bpe(e,t){if(e){var r={};e.each(function(l){var u=l[0],c=xI.select(this);c.remove(),wpe(u,t),r[u]=!0});for(var n in t._plots)for(var i=t._plots[n],a=i.overlays||[],o=0;o{"use strict";var bI=Ru();Tpe.exports={hasLines:bI.hasLines,hasMarkers:bI.hasMarkers,hasText:bI.hasText,isBubble:bI.isBubble,attributes:pf(),layoutAttributes:rL(),supplyDefaults:Yde(),crossTraceDefaults:hU(),supplyLayoutDefaults:Qde(),calc:O0().calc,crossTraceCalc:Ave(),arraysToCalcdata:Dm(),plot:pT(),colorbar:Qd(),formatLabels:uI(),style:sp().style,styleOnSelect:sp().styleOnSelect,hoverPoints:_T(),selectPoints:xT(),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:mh(),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}});var Epe=ye((Wsr,Mpe)=>{"use strict";var U0t=qa(),V0t=ka(),Spe=BN(),qU=Pr(),G0t=qU.strScale,H0t=qU.strRotate,j0t=qU.strTranslate;Mpe.exports=function(t,r,n){var i=t.node(),a=Spe[n.arrowhead||0],o=Spe[n.startarrowhead||0],s=(n.arrowwidth||1)*(n.arrowsize||1),l=(n.arrowwidth||1)*(n.startarrowsize||1),u=r.indexOf("start")>=0,c=r.indexOf("end")>=0,f=a.backoff*s+n.standoff,h=o.backoff*l+n.startstandoff,d,v,m,b;if(i.nodeName==="line"){d={x:+t.attr("x1"),y:+t.attr("y1")},v={x:+t.attr("x2"),y:+t.attr("y2")};var p=d.x-v.x,k=d.y-v.y;if(m=Math.atan2(k,p),b=m+Math.PI,f&&h&&f+h>Math.sqrt(p*p+k*k)){V();return}if(f){if(f*f>p*p+k*k){V();return}var M=f*Math.cos(m),T=f*Math.sin(m);v.x+=M,v.y+=T,t.attr({x2:v.x,y2:v.y})}if(h){if(h*h>p*p+k*k){V();return}var L=h*Math.cos(m),x=h*Math.sin(m);d.x-=L,d.y-=x,t.attr({x1:d.x,y1:d.y})}}else if(i.nodeName==="path"){var C=i.getTotalLength(),S="";if(C{"use strict";var kpe=qa(),OU=Oa(),W0t=Mc(),E_=Pr(),BU=E_.strTranslate,v4=ho(),s2=ka(),By=So(),Cpe=ef(),NU=Zl(),UU=Eg(),d4=yv(),X0t=vl().arrayEditor,Z0t=Epe();Ipe.exports={draw:Y0t,drawOne:Lpe,drawRaw:Ppe};function Y0t(e){var t=e._fullLayout;t._infolayer.selectAll(".annotation").remove();for(var r=0;r2/3?et="right":et="center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[et]}for(var Le=!1,me=["x","y"],Pe=0;Pe1)&&(lt===He?(dt=mt.r2fraction(t["a"+ce]),(dt<0||dt>1)&&(Le=!0)):Le=!0),je=mt._offset+mt.r2p(t[ce]),rt=.5}else{var Et=Tt==="domain";ce==="x"?(Ae=t[ce],je=Et?mt._offset+mt._length*Ae:je=s.l+s.w*Ae):(Ae=1-t[ce],je=Et?mt._offset+mt._length*Ae:je=s.t+s.h*Ae),rt=t.showarrow?.5:Ae}if(t.showarrow){tt.head=je;var pt=t["a"+ce];if(St=at*Be(.5,t.xanchor)-ct*Be(.5,t.yanchor),lt===He){var jt=v4.getRefType(lt);jt==="domain"?(ce==="y"&&(pt=1-pt),tt.tail=mt._offset+mt._length*pt):jt==="paper"?ce==="y"?(pt=1-pt,tt.tail=s.t+s.h*pt):tt.tail=s.l+s.w*pt:tt.tail=mt._offset+mt.r2p(pt),Ue=St}else tt.tail=je+pt,Ue=St+pt;tt.text=tt.tail+St;var or=o[ce==="x"?"width":"height"];if(He==="paper"&&(tt.head=E_.constrain(tt.head,1,or-1)),lt==="pixel"){var mr=-Math.max(tt.tail-3,tt.text),Ar=Math.min(tt.tail+3,tt.text)-or;mr>0?(tt.tail+=mr,tt.text+=mr):Ar>0&&(tt.tail-=Ar,tt.text-=Ar)}tt.tail+=rr,tt.head+=rr}else St=ar*Be(rt,Vt),Ue=St,tt.text=je+St;tt.text+=rr,St+=rr,Ue+=rr,t["_"+ce+"padplus"]=ar/2+Ue,t["_"+ce+"padminus"]=ar/2-Ue,t["_"+ce+"size"]=ar,t["_"+ce+"shift"]=St}if(Le){C.remove();return}var ei=0,qr=0;if(t.align!=="left"&&(ei=(re-Ce)*(t.align==="center"?.5:1)),t.valign!=="top"&&(qr=(Se-ge)*(t.valign==="middle"?.5:1)),_e)ae.select("svg").attr({x:P+ei-1,y:P+qr}).call(By.setClipUrl,z?m:null,e);else{var jr=P+qr-Ee.top,gt=P+ei-Ee.left;Z.call(NU.positionText,gt,jr).call(By.setClipUrl,z?m:null,e)}q.select("rect").call(By.setRect,P,P,re,Se),E.call(By.setRect,S/2,S/2,ke-S,be-S),C.call(By.setTranslate,Math.round(b.x.text-ke/2),Math.round(b.y.text-be/2)),M.attr({transform:"rotate("+p+","+b.x.text+","+b.y.text+")"});var Ge=function(We,et){k.selectAll(".annotation-arrow-g").remove();var xt=b.x.head,At=b.y.head,Kt=b.x.tail+We,Qt=b.y.tail+et,Mr=b.x.text+We,Gr=b.y.text+et,Ir=E_.rotationXYMatrix(p,Mr,Gr),Yr=E_.apply2DTransform(Ir),_i=E_.apply2DTransform2(Ir),Pi=+E.attr("width"),ai=+E.attr("height"),mi=Mr-.5*Pi,un=mi+Pi,Fn=Gr-.5*ai,An=Fn+ai,Hn=[[mi,Fn,mi,An],[mi,An,un,An],[un,An,un,Fn],[un,Fn,mi,Fn]].map(_i);if(!Hn.reduce(function($r,Ri){return $r^!!E_.segmentsIntersect(xt,At,xt+1e6,At+1e6,Ri[0],Ri[1],Ri[2],Ri[3])},!1)){Hn.forEach(function($r){var Ri=E_.segmentsIntersect(Kt,Qt,xt,At,$r[0],$r[1],$r[2],$r[3]);Ri&&(Kt=Ri.x,Qt=Ri.y)});var Qn=t.arrowwidth,Vi=t.arrowcolor,Kn=t.arrowside,Jn=k.append("g").style({opacity:s2.opacity(Vi)}).classed("annotation-arrow-g",!0),Gt=Jn.append("path").attr("d","M"+Kt+","+Qt+"L"+xt+","+At).style("stroke-width",Qn+"px").call(s2.stroke,s2.rgb(Vi));if(Z0t(Gt,Kn,t),l.annotationPosition&&Gt.node().parentNode&&!n){var wt=xt,tr=At;if(t.standoff){var ir=Math.sqrt(Math.pow(xt-Kt,2)+Math.pow(At-Qt,2));wt+=t.standoff*(Kt-xt)/ir,tr+=t.standoff*(Qt-At)/ir}var wr=Jn.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(Kt-wt)+","+(Qt-tr),transform:BU(wt,tr)}).style("stroke-width",Qn+6+"px").call(s2.stroke,"rgba(0,0,0,0)").call(s2.fill,"rgba(0,0,0,0)"),Xr,ti;d4.init({element:wr.node(),gd:e,prepFn:function(){var $r=By.getTranslate(C);Xr=$r.x,ti=$r.y,i&&i.autorange&&h(i._name+".autorange",!0),a&&a.autorange&&h(a._name+".autorange",!0)},moveFn:function($r,Ri){var Zi=Yr(Xr,ti),en=Zi[0]+$r,fn=Zi[1]+Ri;C.call(By.setTranslate,en,fn),d("x",M_(i,$r,"x",s,t)),d("y",M_(a,Ri,"y",s,t)),t.axref===t.xref&&d("ax",M_(i,$r,"ax",s,t)),t.ayref===t.yref&&d("ay",M_(a,Ri,"ay",s,t)),Jn.attr("transform",BU($r,Ri)),M.attr({transform:"rotate("+p+","+en+","+fn+")"})},doneFn:function(){OU.call("_guiRelayout",e,v());var $r=document.querySelector(".js-notes-box-panel");$r&&$r.redraw($r.selectedObj)}})}}};if(t.showarrow&&Ge(0,0),T){var Je;d4.init({element:C.node(),gd:e,prepFn:function(){Je=M.attr("transform")},moveFn:function(We,et){var xt="pointer";if(t.showarrow)t.axref===t.xref?d("ax",M_(i,We,"ax",s,t)):d("ax",t.ax+We),t.ayref===t.yref?d("ay",M_(a,et,"ay",s.w,t)):d("ay",t.ay+et),Ge(We,et);else{if(n)return;var At,Kt;if(i)At=M_(i,We,"x",s,t);else{var Qt=t._xsize/s.w,Mr=t.x+(t._xshift-t.xshift)/s.w-Qt/2;At=d4.align(Mr+We/s.w,Qt,0,1,t.xanchor)}if(a)Kt=M_(a,et,"y",s,t);else{var Gr=t._ysize/s.h,Ir=t.y-(t._yshift+t.yshift)/s.h-Gr/2;Kt=d4.align(Ir-et/s.h,Gr,0,1,t.yanchor)}d("x",At),d("y",Kt),(!i||!a)&&(xt=d4.getCursor(i?.5:At,a?.5:Kt,t.xanchor,t.yanchor))}M.attr({transform:BU(We,et)+Je}),UU(C,xt)},clickFn:function(We,et){t.captureevents&&e.emit("plotly_clickannotation",x(et))},doneFn:function(){UU(C),OU.call("_guiRelayout",e,v());var We=document.querySelector(".js-notes-box-panel");We&&We.redraw(We.selectedObj)}})}}l.annotationText?Z.call(NU.makeEditable,{delegate:C,gd:e}).call(j).on("edit",function(H){t.text=H,this.call(j),d("text",H),i&&i.autorange&&h(i._name+".autorange",!0),a&&a.autorange&&h(a._name+".autorange",!0),OU.call("_guiRelayout",e,v())}):Z.call(j)}});var Ope=ye((Zsr,qpe)=>{"use strict";var Rpe=Pr(),K0t=Oa(),Dpe=vl().arrayEditor;qpe.exports={hasClickToShow:J0t,onClick:$0t};function J0t(e,t){var r=zpe(e,t);return r.on.length>0||r.explicitOff.length>0}function $0t(e,t){var r=zpe(e,t),n=r.on,i=r.off.concat(r.explicitOff),a={},o=e._fullLayout.annotations,s,l;if(n.length||i.length){for(s=0;s{"use strict";var VU=Pr(),bT=ka();Bpe.exports=function(t,r,n,i){i("opacity");var a=i("bgcolor"),o=i("bordercolor"),s=bT.opacity(o);i("borderpad");var l=i("borderwidth"),u=i("showarrow");i("text",u?" ":n._dfltTitle.annotation),i("textangle"),VU.coerceFont(i,"font",n.font),i("width"),i("align");var c=i("height");if(c&&i("valign"),u){var f=i("arrowside"),h,d;f.indexOf("end")!==-1&&(h=i("arrowhead"),d=i("arrowsize")),f.indexOf("start")!==-1&&(i("startarrowhead",h),i("startarrowsize",d)),i("arrowcolor",s?r.bordercolor:bT.defaultLine),i("arrowwidth",(s&&l||1)*2),i("standoff"),i("startstandoff")}var v=i("hovertext"),m=n.hoverlabel||{};if(v){var b=i("hoverlabel.bgcolor",m.bgcolor||(bT.opacity(a)?bT.rgb(a):bT.defaultLine)),p=i("hoverlabel.bordercolor",m.bordercolor||bT.contrast(b)),k=VU.extendFlat({},m.font);k.color||(k.color=p),VU.coerceFont(i,"hoverlabel.font",k)}i("captureevents",!!v)}});var Upe=ye((Ksr,Npe)=>{"use strict";var HU=Pr(),l2=ho(),Q0t=Kd(),egt=GU(),tgt=Qb();Npe.exports=function(t,r){Q0t(t,r,{name:"annotations",handleItemDefaults:rgt})};function rgt(e,t,r){function n(M,T){return HU.coerce(e,t,tgt,M,T)}var i=n("visible"),a=n("clicktoshow");if(i||a){egt(e,t,r,n);for(var o=t.showarrow,s=["x","y"],l=[-10,-30],u={_fullLayout:r},c=0;c<2;c++){var f=s[c],h=l2.coerceRef(e,t,u,f,"","paper");if(h!=="paper"){var d=l2.getFromId(u,h);d._annIndices.push(t._index)}if(l2.coercePosition(t,u,n,h,f,.5),o){var v="a"+f,m=l2.coerceRef(e,t,u,v,"pixel",["pixel","paper"]);m!=="pixel"&&m!==h&&(m=t[v]="pixel");var b=m==="pixel"?l[c]:.4;l2.coercePosition(t,u,n,m,v,b)}n(f+"anchor"),n(f+"shift")}if(HU.noneOrAll(e,t,["x","y"]),o&&HU.noneOrAll(e,t,["ax","ay"]),a){var p=n("xclick"),k=n("yclick");t._xclick=p===void 0?t.x:l2.cleanPosition(p,u,t.xref),t._yclick=k===void 0?t.y:l2.cleanPosition(k,u,t.yref)}}}});var Hpe=ye((Jsr,Gpe)=>{"use strict";var jU=Pr(),u2=ho(),igt=wI().draw;Gpe.exports=function(t){var r=t._fullLayout,n=jU.filterVisible(r.annotations);if(n.length&&t._fullData.length)return jU.syncOrAsync([igt,ngt],t)};function ngt(e){var t=e._fullLayout;jU.filterVisible(t.annotations).forEach(function(r){var n=u2.getFromId(e,r.xref),i=u2.getFromId(e,r.yref),a=u2.getRefType(r.xref),o=u2.getRefType(r.yref);r._extremes={},a==="range"&&Vpe(r,n),o==="range"&&Vpe(r,i)})}function Vpe(e,t){var r=t._id,n=r.charAt(0),i=e[n],a=e["a"+n],o=e[n+"ref"],s=e["a"+n+"ref"],l=e["_"+n+"padplus"],u=e["_"+n+"padminus"],c={x:1,y:-1}[n]*e[n+"shift"],f=3*e.arrowsize*e.arrowwidth||0,h=f+c,d=f-c,v=3*e.startarrowsize*e.arrowwidth||0,m=v+c,b=v-c,p;if(s===o){var k=u2.findExtremes(t,[t.r2c(i)],{ppadplus:h,ppadminus:d}),M=u2.findExtremes(t,[t.r2c(a)],{ppadplus:Math.max(l,m),ppadminus:Math.max(u,b)});p={min:[k.min[0],M.min[0]],max:[k.max[0],M.max[0]]}}else m=a?m+a:m,b=a?b-a:b,p=u2.findExtremes(t,[t.r2c(i)],{ppadplus:Math.max(l,h,m),ppadminus:Math.max(u,d,b)});e._extremes[r]=p}});var Wpe=ye(($sr,jpe)=>{"use strict";var agt=Eo(),ogt=M6();jpe.exports=function(t,r,n,i){r=r||{};var a=n==="log"&&r.type==="linear",o=n==="linear"&&r.type==="log";if(!(a||o))return;var s=t._fullLayout.annotations,l=r._id.charAt(0),u,c;function f(d){var v=u[d],m=null;a?m=ogt(v,r.range):m=Math.pow(10,v),agt(m)||(m=null),i(c+d,m)}for(var h=0;h{"use strict";var WU=wI(),Xpe=Ope();Zpe.exports={moduleType:"component",name:"annotations",layoutAttributes:Qb(),supplyLayoutDefaults:Upe(),includeBasePlot:XM()("annotations"),calcAutorange:Hpe(),draw:WU.draw,drawOne:WU.drawOne,drawRaw:WU.drawRaw,hasClickToShow:Xpe.hasClickToShow,onClick:Xpe.onClick,convertCoords:Wpe()}});var TI=ye((elr,Kpe)=>{"use strict";var kc=Qb(),sgt=mc().overrideAll,lgt=vl().templatedArray;Kpe.exports=sgt(lgt("annotation",{visible:kc.visible,x:{valType:"any"},y:{valType:"any"},z:{valType:"any"},ax:{valType:"number"},ay:{valType:"number"},xanchor:kc.xanchor,xshift:kc.xshift,yanchor:kc.yanchor,yshift:kc.yshift,text:kc.text,textangle:kc.textangle,font:kc.font,width:kc.width,height:kc.height,opacity:kc.opacity,align:kc.align,valign:kc.valign,bgcolor:kc.bgcolor,bordercolor:kc.bordercolor,borderpad:kc.borderpad,borderwidth:kc.borderwidth,showarrow:kc.showarrow,arrowcolor:kc.arrowcolor,arrowhead:kc.arrowhead,startarrowhead:kc.startarrowhead,arrowside:kc.arrowside,arrowsize:kc.arrowsize,startarrowsize:kc.startarrowsize,arrowwidth:kc.arrowwidth,standoff:kc.standoff,startstandoff:kc.startstandoff,hovertext:kc.hovertext,hoverlabel:kc.hoverlabel,captureevents:kc.captureevents}),"calc","from-root")});var $pe=ye((tlr,Jpe)=>{"use strict";var XU=Pr(),ugt=ho(),cgt=Kd(),fgt=GU(),hgt=TI();Jpe.exports=function(t,r,n){cgt(t,r,{name:"annotations",handleItemDefaults:dgt,fullLayout:n.fullLayout})};function dgt(e,t,r,n){function i(s,l){return XU.coerce(e,t,hgt,s,l)}function a(s){var l=s+"axis",u={_fullLayout:{}};return u._fullLayout[l]=r[l],ugt.coercePosition(t,u,i,s,s,.5)}var o=i("visible");o&&(fgt(e,t,n.fullLayout,i),a("x"),a("y"),a("z"),XU.noneOrAll(e,t,["x","y","z"]),t.xref="x",t.yref="y",t.zref="z",i("xanchor"),i("yanchor"),i("xshift"),i("yshift"),t.showarrow&&(t.axref="pixel",t.ayref="pixel",i("ax",-10),i("ay",-30),XU.noneOrAll(e,t,["ax","ay"])))}});var r0e=ye((rlr,t0e)=>{"use strict";var Qpe=Pr(),e0e=ho();t0e.exports=function(t){for(var r=t.fullSceneLayout,n=r.annotations,i=0;i{"use strict";function ZU(e,t){var r=[0,0,0,0],n,i;for(n=0;n<4;++n)for(i=0;i<4;++i)r[i]+=e[4*n+i]*t[n];return r}function pgt(e,t){var r=ZU(e.projection,ZU(e.view,ZU(e.model,[t[0],t[1],t[2],1])));return r}i0e.exports=pgt});var a0e=ye((nlr,n0e)=>{"use strict";var ggt=wI().drawRaw,mgt=YU(),ygt=["x","y","z"];n0e.exports=function(t){for(var r=t.fullSceneLayout,n=t.dataScale,i=r.annotations,a=0;a1){s=!0;break}}s?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+a+'"]').remove():(o._pdata=mgt(t.glplot.cameraParams,[r.xaxis.r2l(o.x)*n[0],r.yaxis.r2l(o.y)*n[1],r.zaxis.r2l(o.z)*n[2]]),ggt(t.graphDiv,o,a,t.id,o._xa,o._ya))}}});var l0e=ye((alr,s0e)=>{"use strict";var _gt=Oa(),o0e=Pr();s0e.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:TI()}}},layoutAttributes:TI(),handleDefaults:$pe(),includeBasePlot:xgt,convert:r0e(),draw:a0e()};function xgt(e,t){var r=_gt.subplotsRegistry.gl3d;if(r)for(var n=r.attrRegex,i=Object.keys(e),a=0;a{"use strict";var olr=Rh(),u0e=ec(),c0e=pf().line,bgt=Pd().dash,Bg=Ao().extendFlat,wgt=vl().templatedArray,slr=jM(),wT=Gl(),f0e=Qb(),{shapeTexttemplateAttrs:Tgt,templatefallbackAttrs:Agt}=Ll(),Sgt=F6();h0e.exports=wgt("shape",{visible:Bg({},wT.visible,{editType:"calc+arraydraw"}),showlegend:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},legend:Bg({},wT.legend,{editType:"calc+arraydraw"}),legendgroup:Bg({},wT.legendgroup,{editType:"calc+arraydraw"}),legendgrouptitle:{text:Bg({},wT.legendgrouptitle.text,{editType:"calc+arraydraw"}),font:u0e({editType:"calc+arraydraw"}),editType:"calc+arraydraw"},legendrank:Bg({},wT.legendrank,{editType:"calc+arraydraw"}),legendwidth:Bg({},wT.legendwidth,{editType:"calc+arraydraw"}),type:{valType:"enumerated",values:["circle","rect","path","line"],editType:"calc+arraydraw"},layer:{valType:"enumerated",values:["below","above","between"],dflt:"above",editType:"arraydraw"},xref:Bg({},f0e.xref,{arrayOk:!0}),xsizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},xanchor:{valType:"any",editType:"calc+arraydraw"},x0:{valType:"any",editType:"calc+arraydraw"},x1:{valType:"any",editType:"calc+arraydraw"},x0shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},x1shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},yref:Bg({},f0e.yref,{arrayOk:!0}),ysizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},yanchor:{valType:"any",editType:"calc+arraydraw"},y0:{valType:"any",editType:"calc+arraydraw"},y1:{valType:"any",editType:"calc+arraydraw"},y0shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},y1shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},path:{valType:"string",editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},line:{color:Bg({},c0e.color,{editType:"arraydraw"}),width:Bg({},c0e.width,{editType:"calc+arraydraw"}),dash:Bg({},bgt,{editType:"arraydraw"}),editType:"calc+arraydraw"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"arraydraw"},editable:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},label:{text:{valType:"string",dflt:"",editType:"arraydraw"},texttemplate:Tgt({},{keys:Object.keys(Sgt)}),texttemplatefallback:Agt({editType:"arraydraw"}),font:u0e({editType:"calc+arraydraw",colorEditType:"arraydraw"}),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"],editType:"arraydraw"},textangle:{valType:"angle",dflt:"auto",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],editType:"calc+arraydraw"},padding:{valType:"number",dflt:3,min:0,editType:"arraydraw"},editType:"arraydraw"},editType:"arraydraw"})});var v0e=ye((ulr,d0e)=>{"use strict";var TT=Pr(),e0=ho(),Mgt=Kd(),Egt=KU(),p4=x_();d0e.exports=function(t,r){Mgt(t,r,{name:"shapes",handleItemDefaults:Cgt})};function kgt(e,t){return e?"bottom":t.indexOf("top")!==-1?"top":t.indexOf("bottom")!==-1?"bottom":"middle"}function Cgt(e,t,r){function n(M,T){return TT.coerce(e,t,Egt,M,T)}t._isShape=!0;var i=n("visible");if(!i)return;var a=n("showlegend");n("legend"),n("legendgroup"),a&&(n("legendwidth"),n("legendgrouptitle.text"),TT.coerceFont(n,"legendgrouptitle.font"),n("legendrank"));var o=n("path"),s=o?"path":"rect",l=n("type",s),u=l!=="path";u&&delete t.path,n("editable"),n("layer"),n("opacity"),n("fillcolor"),n("fillrule");var c=n("line.width");c&&(n("line.color"),n("line.dash"));var f=n("xsizemode"),h=n("ysizemode");let d=[.25,.75],v=[0,10];["x","y"].forEach(M=>{var T=M+"anchor",L=M==="x"?f:h,x={_fullLayout:r},C,S,g,P;let E=M+"ref",z=e[E];if(Array.isArray(z)&&z.length>0){let q=p4.countDefiningCoords(l,o,M);P=e0.coerceRefArray(e,t,x,M,void 0,"paper",q),t["_"+M+"refArray"]=!0}else P=e0.coerceRef(e,t,x,M,void 0,"paper");if(Array.isArray(P))P.forEach(function(q){e0.getRefType(q)==="range"&&(C=e0.getFromId(x,q),C&&C._shapeIndices.indexOf(t._index)===-1&&C._shapeIndices.push(t._index))}),u&&[0,1].forEach(function(q){let V=P[q];e0.getRefType(V)==="range"?(C=e0.getFromId(x,V),S=p4.shapePositionToRange(C),g=p4.rangeToShapePosition(C),(C.type==="category"||C.type==="multicategory")&&n(M+q+"shift")):S=g=TT.identity;let Z=M+q,j=e[Z];if(e[Z]=S(e[Z],!0),L==="pixel"?n(Z,v[q]):e0.coercePosition(t,x,n,V,Z,d[q]),t[Z]=g(t[Z]),e[Z]=j,q===0&&L==="pixel"){let N=e[T];e[T]=S(e[T],!0),e0.coercePosition(t,x,n,V,T,.25),t[T]=g(t[T]),e[T]=N}});else{if(e0.getRefType(P)==="range"?(C=e0.getFromId(x,P),C._shapeIndices.push(t._index),g=p4.rangeToShapePosition(C),S=p4.shapePositionToRange(C),u&&(C.type==="category"||C.type==="multicategory")&&(n(M+"0shift"),n(M+"1shift"))):S=g=TT.identity,u){let V=M+"0",G=M+"1",Z=e[V],j=e[G];e[V]=S(e[V],!0),e[G]=S(e[G],!0),L==="pixel"?(n(V,v[0]),n(G,v[1])):(e0.coercePosition(t,x,n,P,V,d[0]),e0.coercePosition(t,x,n,P,G,d[1])),t[V]=g(t[V]),t[G]=g(t[G]),e[V]=Z,e[G]=j}if(L==="pixel"){let V=e[T];e[T]=S(e[T],!0),e0.coercePosition(t,x,n,P,T,.25),t[T]=g(t[T]),e[T]=V}}}),u&&TT.noneOrAll(e,t,["x0","x1","y0","y1"]);var m=l==="line",b,p;if(u&&(b=n("label.texttemplate"),n("label.texttemplatefallback")),b||(p=n("label.text")),p||b){n("label.textangle");var k=n("label.textposition",m?"middle":"middle center");n("label.xanchor"),n("label.yanchor",kgt(m,k)),n("label.padding"),TT.coerceFont(n,"label.font",r.font)}}});var m0e=ye((clr,g0e)=>{"use strict";var Lgt=ka(),p0e=Pr();function Pgt(e,t){return e?"bottom":t.indexOf("top")!==-1?"top":t.indexOf("bottom")!==-1?"bottom":"middle"}g0e.exports=function(t,r,n){n("newshape.visible"),n("newshape.name"),n("newshape.showlegend"),n("newshape.legend"),n("newshape.legendwidth"),n("newshape.legendgroup"),n("newshape.legendgrouptitle.text"),p0e.coerceFont(n,"newshape.legendgrouptitle.font"),n("newshape.legendrank"),n("newshape.drawdirection"),n("newshape.layer"),n("newshape.fillcolor"),n("newshape.fillrule"),n("newshape.opacity");var i=n("newshape.line.width");if(i){var a=(t||{}).plot_bgcolor||"#FFF";n("newshape.line.color",Lgt.contrast(a)),n("newshape.line.dash")}var o=t.dragmode==="drawline",s=n("newshape.label.text"),l=n("newshape.label.texttemplate");if(n("newshape.label.texttemplatefallback"),s||l){n("newshape.label.textangle");var u=n("newshape.label.textposition",o?"middle":"middle center");n("newshape.label.xanchor"),n("newshape.label.yanchor",Pgt(o,u)),n("newshape.label.padding"),p0e.coerceFont(n,"newshape.label.font",r.font)}n("activeshape.fillcolor"),n("activeshape.opacity")}});var A0e=ye((flr,T0e)=>{"use strict";var JU=Pr(),N0=ho(),zm=AM(),$U=x_();T0e.exports=function(t){var r=t._fullLayout,n=JU.filterVisible(r.shapes);if(!(!n.length||!t._fullData.length))for(var i=0;i{o=N0.getFromId(t,f),a._extremes[o._id]=N0.findExtremes(o,h,_0e(a))})}else a.xref!=="paper"&&l!=="domain"&&(o=N0.getFromId(t,a.xref),s=b0e(o,a,zm.paramIsX),s&&(a._extremes[o._id]=N0.findExtremes(o,s,_0e(a))));if(u==="array"){let c=y0e(t,a,"y");Object.entries(c).forEach(([f,h])=>{o=N0.getFromId(t,f),a._extremes[o._id]=N0.findExtremes(o,h,x0e(a))})}else a.yref!=="paper"&&u!=="domain"&&(o=N0.getFromId(t,a.yref),s=b0e(o,a,zm.paramIsY),s&&(a._extremes[o._id]=N0.findExtremes(o,s,x0e(a))))}};function y0e(e,t,r){let n=t[r+"ref"],i=r==="x"?zm.paramIsX:zm.paramIsY;function a(f,h){f==="paper"||N0.getRefType(f)==="domain"||(o[f]||(o[f]=[]),o[f].push(h))}let o={};if(t.type==="path"&&t.path){let f=t.path.match(zm.segmentRE)||[];for(var s=0,l=0;lv&&(a(n[s],m[v]),s++)}}else a(n[0],t[r+"0"]),a(n[1],t[r+"1"]);let u={};for(let f in o){let h=N0.getFromId(e,f);if(h){var c=h.type==="category"||h.type==="multicategory"?h.r2c:h.d2c;h.type==="date"&&(c=$U.decodeDate(c)),u[h._id]=o[f].map(c)}}return u}function _0e(e){return w0e(e.line.width,e.xsizemode,e.x0,e.x1,e.path,!1)}function x0e(e){return w0e(e.line.width,e.ysizemode,e.y0,e.y1,e.path,!0)}function w0e(e,t,r,n,i,a){var o=e/2,s=a;if(t==="pixel"){var l=i?$U.extractPathCoords(i,a?zm.paramIsY:zm.paramIsX):[r,n],u=JU.aggNums(Math.max,null,l),c=JU.aggNums(Math.min,null,l),f=c<0?Math.abs(c)+o:o,h=u>0?u+o:o;return{ppad:o,ppadplus:s?f:h,ppadminus:s?h:f}}else return{ppad:o}}function b0e(e,t,r){var n=e._id.charAt(0)==="x"?"x":"y",i=e.type==="category"||e.type==="multicategory",a,o,s=0,l=0,u=i?e.r2c:e.d2c,c=t[n+"sizemode"]==="scaled";if(c?(a=t[n+"0"],o=t[n+"1"],i&&(s=t[n+"0shift"],l=t[n+"1shift"])):(a=t[n+"anchor"],o=t[n+"anchor"]),a!==void 0)return[u(a)+s,u(o)+l];if(t.path){var f=1/0,h=-1/0,d=t.path.match(zm.segmentRE),v,m,b,p,k;for(e.type==="date"&&(u=$U.decodeDate(u)),v=0;vh&&(h=k)));if(h>=f)return[f,h]}}});var E0e=ye((hlr,M0e)=>{"use strict";var S0e=vP();M0e.exports={moduleType:"component",name:"shapes",layoutAttributes:KU(),supplyLayoutDefaults:v0e(),supplyDrawNewShapeDefaults:m0e(),includeBasePlot:XM()("shapes"),calcAutorange:A0e(),draw:S0e.draw,drawOne:S0e.drawOne}});var QU=ye((vlr,C0e)=>{"use strict";var k0e=Rh(),Igt=vl().templatedArray,dlr=jM();C0e.exports=Igt("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",k0e.idRegex.x.toString()],dflt:"paper",editType:"arraydraw"},yref:{valType:"enumerated",values:["paper",k0e.idRegex.y.toString()],dflt:"paper",editType:"arraydraw"},editType:"arraydraw"})});var P0e=ye((plr,L0e)=>{"use strict";var Rgt=Pr(),eV=ho(),Dgt=Kd(),Fgt=QU(),zgt="images";L0e.exports=function(t,r){var n={name:zgt,handleItemDefaults:qgt};Dgt(t,r,n)};function qgt(e,t,r){function n(h,d){return Rgt.coerce(e,t,Fgt,h,d)}var i=n("source"),a=n("visible",!!i);if(!a)return t;n("layer"),n("xanchor"),n("yanchor"),n("sizex"),n("sizey"),n("sizing"),n("opacity");for(var o={_fullLayout:r},s=["x","y"],l=0;l<2;l++){var u=s[l],c=eV.coerceRef(e,t,o,u,"paper",void 0);if(c!=="paper"){var f=eV.getFromId(o,c);f._imgIndices.push(t._index)}eV.coercePosition(t,o,n,c,u,0)}return t}});var F0e=ye((glr,D0e)=>{"use strict";var I0e=qa(),Ogt=So(),AT=ho(),R0e=df(),Bgt=Wp();D0e.exports=function(t){var r=t._fullLayout,n=[],i={},a=[],o,s;for(s=0;s{"use strict";var z0e=Eo(),Ngt=M6();q0e.exports=function(t,r,n,i){r=r||{};var a=n==="log"&&r.type==="linear",o=n==="linear"&&r.type==="log";if(a||o){for(var s=t._fullLayout.images,l=r._id.charAt(0),u,c,f=0;f{"use strict";B0e.exports={moduleType:"component",name:"images",layoutAttributes:QU(),supplyLayoutDefaults:P0e(),includeBasePlot:XM()("images"),draw:F0e(),convertCoords:O0e()}});var AI=ye((_lr,U0e)=>{"use strict";U0e.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:" "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"\u25C4",right:"\u25BA",up:"\u25B2",down:"\u25BC"}}});var tV=ye((xlr,G0e)=>{"use strict";var Ugt=ec(),Vgt=Ih(),Ggt=Ao().extendFlat,Hgt=mc().overrideAll,jgt=z6(),V0e=vl().templatedArray,Wgt=V0e("button",{visible:{valType:"boolean"},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},args2:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:!0}});G0e.exports=Hgt(V0e("updatemenu",{_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:"boolean"},type:{valType:"enumerated",values:["dropdown","buttons"],dflt:"dropdown"},direction:{valType:"enumerated",values:["left","right","up","down"],dflt:"down"},active:{valType:"integer",min:-1,dflt:0},showactive:{valType:"boolean",dflt:!0},buttons:Wgt,x:{valType:"number",min:-2,max:3,dflt:-.05},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right"},y:{valType:"number",min:-2,max:3,dflt:1},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},pad:Ggt(jgt({editType:"arraydraw"}),{}),font:Ugt({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:Vgt.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")});var X0e=ye((blr,W0e)=>{"use strict";var SI=Pr(),H0e=Kd(),j0e=tV(),Xgt=AI(),Zgt=Xgt.name,Ygt=j0e.buttons;W0e.exports=function(t,r){var n={name:Zgt,handleItemDefaults:Kgt};H0e(t,r,n)};function Kgt(e,t,r){function n(o,s){return SI.coerce(e,t,j0e,o,s)}var i=H0e(e,t,{name:"buttons",handleItemDefaults:Jgt}),a=n("visible",i.length>0);a&&(n("active"),n("direction"),n("type"),n("showactive"),n("x"),n("y"),SI.noneOrAll(e,t,["x","y"]),n("xanchor"),n("yanchor"),n("pad.t"),n("pad.r"),n("pad.b"),n("pad.l"),SI.coerceFont(n,"font",r.font),n("bgcolor",r.paper_bgcolor),n("bordercolor"),n("borderwidth"))}function Jgt(e,t){function r(i,a){return SI.coerce(e,t,Ygt,i,a)}var n=r("visible",e.method==="skip"||Array.isArray(e.args));n&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}});var K0e=ye((wlr,Y0e)=>{"use strict";Y0e.exports=Mf;var Ng=qa(),Z0e=ka(),ST=So(),MI=Pr();function Mf(e,t,r){this.gd=e,this.container=t,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll("rect.scrollbox-bg").data([0]),this.bg.exit().on(".drag",null).on("wheel",null).remove(),this.bg.enter().append("rect").classed("scrollbox-bg",!0).style("pointer-events","all").attr({opacity:0,x:0,y:0,width:0,height:0})}Mf.barWidth=2;Mf.barLength=20;Mf.barRadius=2;Mf.barPad=1;Mf.barColor="#808BA4";Mf.prototype.enable=function(t,r,n){var i=this.gd._fullLayout,a=i.width,o=i.height;this.position=t;var s=this.position.l,l=this.position.w,u=this.position.t,c=this.position.h,f=this.position.direction,h=f==="down",d=f==="left",v=f==="right",m=f==="up",b=l,p=c,k,M,T,L;!h&&!d&&!v&&!m&&(this.position.direction="down",h=!0);var x=h||m;x?(k=s,M=k+b,h?(T=u,L=Math.min(T+p,o),p=L-T):(L=u+p,T=Math.max(L-p,0),p=L-T)):(T=u,L=T+p,d?(M=s+b,k=Math.max(M-b,0),b=M-k):(k=s,M=Math.min(k+b,a),b=M-k)),this._box={l:k,t:T,w:b,h:p};var C=l>b,S=Mf.barLength+2*Mf.barPad,g=Mf.barWidth+2*Mf.barPad,P=s,E=u+c;E+g>o&&(E=o-g);var z=this.container.selectAll("rect.scrollbar-horizontal").data(C?[0]:[]);z.exit().on(".drag",null).remove(),z.enter().append("rect").classed("scrollbar-horizontal",!0).call(Z0e.fill,Mf.barColor),C?(this.hbar=z.attr({rx:Mf.barRadius,ry:Mf.barRadius,x:P,y:E,width:S,height:g}),this._hbarXMin=P+S/2,this._hbarTranslateMax=b-S):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var q=c>p,V=Mf.barWidth+2*Mf.barPad,G=Mf.barLength+2*Mf.barPad,Z=s+l,j=u;Z+V>a&&(Z=a-V);var N=this.container.selectAll("rect.scrollbar-vertical").data(q?[0]:[]);N.exit().on(".drag",null).remove(),N.enter().append("rect").classed("scrollbar-vertical",!0).call(Z0e.fill,Mf.barColor),q?(this.vbar=N.attr({rx:Mf.barRadius,ry:Mf.barRadius,x:Z,y:j,width:V,height:G}),this._vbarYMin=j+G/2,this._vbarTranslateMax=p-G):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var H=this.id,ie=k-.5,ae=q?M+V+.5:M+.5,_e=T-.5,Ee=C?L+g+.5:L+.5,Ce=i._topdefs.selectAll("#"+H).data(C||q?[0]:[]);if(Ce.exit().remove(),Ce.enter().append("clipPath").attr("id",H).append("rect"),C||q?(this._clipRect=Ce.select("rect").attr({x:Math.floor(ie),y:Math.floor(_e),width:Math.ceil(ae)-Math.floor(ie),height:Math.ceil(Ee)-Math.floor(_e)}),this.container.call(ST.setClipUrl,H,this.gd),this.bg.attr({x:s,y:u,width:l,height:c})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(ST.setClipUrl,null),delete this._clipRect),C||q){var ge=Ng.behavior.drag().on("dragstart",function(){Ng.event.sourceEvent.preventDefault()}).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(ge);var re=Ng.behavior.drag().on("dragstart",function(){Ng.event.sourceEvent.preventDefault(),Ng.event.sourceEvent.stopPropagation()}).on("drag",this._onBarDrag.bind(this));C&&this.hbar.on(".drag",null).call(re),q&&this.vbar.on(".drag",null).call(re)}this.setTranslate(r,n)};Mf.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(ST.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)};Mf.prototype._onBoxDrag=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t-=Ng.event.dx),this.vbar&&(r-=Ng.event.dy),this.setTranslate(t,r)};Mf.prototype._onBoxWheel=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t+=Ng.event.deltaY),this.vbar&&(r+=Ng.event.deltaY),this.setTranslate(t,r)};Mf.prototype._onBarDrag=function(){var t=this.translateX,r=this.translateY;if(this.hbar){var n=t+this._hbarXMin,i=n+this._hbarTranslateMax,a=MI.constrain(Ng.event.x,n,i),o=(a-n)/(i-n),s=this.position.w-this._box.w;t=o*s}if(this.vbar){var l=r+this._vbarYMin,u=l+this._vbarTranslateMax,c=MI.constrain(Ng.event.y,l,u),f=(c-l)/(u-l),h=this.position.h-this._box.h;r=f*h}this.setTranslate(t,r)};Mf.prototype.setTranslate=function(t,r){var n=this.position.w-this._box.w,i=this.position.h-this._box.h;if(t=MI.constrain(t||0,0,n),r=MI.constrain(r||0,0,i),this.translateX=t,this.translateY=r,this.container.call(ST.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-r),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+r-.5)}),this.hbar){var a=t/n;this.hbar.call(ST.setTranslate,t+a*this._hbarTranslateMax,r)}if(this.vbar){var o=r/i;this.vbar.call(ST.setTranslate,t,r+o*this._vbarTranslateMax)}}});var oge=ye((Tlr,age)=>{"use strict";var MT=qa(),g4=Mc(),m4=ka(),ET=So(),t0=Pr(),EI=Zl(),$gt=vl().arrayEditor,$0e=Dh().LINE_SPACING,es=AI(),Qgt=K0e();age.exports=function(t){var r=t._fullLayout,n=t0.filterVisible(r[es.name]);function i(h){g4.autoMargin(t,ige(h))}var a=r._menulayer.selectAll("g."+es.containerClassName).data(n.length>0?[0]:[]);if(a.enter().append("g").classed(es.containerClassName,!0).style("cursor","pointer"),a.exit().each(function(){MT.select(this).selectAll("g."+es.headerGroupClassName).each(i)}).remove(),n.length!==0){var o=a.selectAll("g."+es.headerGroupClassName).data(n,emt);o.enter().append("g").classed(es.headerGroupClassName,!0);for(var s=t0.ensureSingle(a,"g",es.dropdownButtonGroupClassName,function(h){h.style("pointer-events","all")}),l=0;l{"use strict";var smt=AI();sge.exports={moduleType:"component",name:smt.name,layoutAttributes:tV(),supplyLayoutDefaults:X0e(),draw:oge()}});var _4=ye((Slr,uge)=>{"use strict";uge.exports={name:"sliders",containerClassName:"slider-container",groupClassName:"slider-group",inputAreaClass:"slider-input-area",railRectClass:"slider-rail-rect",railTouchRectClass:"slider-rail-touch-rect",gripRectClass:"slider-grip-rect",tickRectClass:"slider-tick-rect",inputProxyClass:"slider-input-proxy",labelsClass:"slider-labels",labelGroupClass:"slider-label-group",labelClass:"slider-label",currentValueClass:"slider-current-value",railHeight:5,menuIndexAttrName:"slider-active-index",autoMarginIdRoot:"slider-",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:"#bec8d9",railBgColor:"#f8fafc",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:"#bec8d9",gripBgColor:"#f6f8fa",gripBgActiveColor:"#dbdde0",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:"#333",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:"#333",minorTickLength:4,currentValuePadding:8,currentValueInset:0}});var aV=ye((Mlr,hge)=>{"use strict";var cge=ec(),lmt=z6(),umt=Ao().extendDeepAll,cmt=mc().overrideAll,fmt=WS(),fge=vl().templatedArray,c2=_4(),hmt=fge("step",{visible:{valType:"boolean",dflt:!0},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string"},value:{valType:"string"},execute:{valType:"boolean",dflt:!0}});hge.exports=cmt(fge("slider",{visible:{valType:"boolean",dflt:!0},active:{valType:"number",min:0,dflt:0},steps:hmt,lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",min:-2,max:3,dflt:0},pad:umt(lmt({editType:"arraydraw"}),{},{t:{dflt:20}}),xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left"},y:{valType:"number",min:-2,max:3,dflt:0},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},transition:{duration:{valType:"number",min:0,dflt:150},easing:{valType:"enumerated",values:fmt.transition.easing.values,dflt:"cubic-in-out"}},currentvalue:{visible:{valType:"boolean",dflt:!0},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},offset:{valType:"number",dflt:10},prefix:{valType:"string"},suffix:{valType:"string"},font:cge({})},font:cge({}),activebgcolor:{valType:"color",dflt:c2.gripBgActiveColor},bgcolor:{valType:"color",dflt:c2.railBgColor},bordercolor:{valType:"color",dflt:c2.railBorderColor},borderwidth:{valType:"number",min:0,dflt:c2.railBorderWidth},ticklen:{valType:"number",min:0,dflt:c2.tickLength},tickcolor:{valType:"color",dflt:c2.tickColor},tickwidth:{valType:"number",min:0,dflt:1},minorticklen:{valType:"number",min:0,dflt:c2.minorTickLength}}),"arraydraw","from-root")});var gge=ye((Elr,pge)=>{"use strict";var kT=Pr(),dge=Kd(),vge=aV(),dmt=_4(),vmt=dmt.name,pmt=vge.steps;pge.exports=function(t,r){dge(t,r,{name:vmt,handleItemDefaults:gmt})};function gmt(e,t,r){function n(f,h){return kT.coerce(e,t,vge,f,h)}for(var i=dge(e,t,{name:"steps",handleItemDefaults:mmt}),a=0,o=0;o{"use strict";var Ug=qa(),kI=Mc(),k_=ka(),Vg=So(),r0=Pr(),ymt=r0.strTranslate,x4=Zl(),_mt=vl().arrayEditor,Rs=_4(),lV=Dh(),_ge=lV.LINE_SPACING,oV=lV.FROM_TL,sV=lV.FROM_BR;Sge.exports=function(t){var r=t._context.staticPlot,n=t._fullLayout,i=xmt(n,t),a=n._infolayer.selectAll("g."+Rs.containerClassName).data(i.length>0?[0]:[]);a.enter().append("g").classed(Rs.containerClassName,!0).style("cursor",r?null:"ew-resize");function o(c){c._commandObserver&&(c._commandObserver.remove(),delete c._commandObserver),kI.autoMargin(t,xge(c))}if(a.exit().each(function(){Ug.select(this).selectAll("g."+Rs.groupClassName).each(o)}).remove(),i.length!==0){var s=a.selectAll("g."+Rs.groupClassName).data(i,bmt);s.enter().append("g").classed(Rs.groupClassName,!0),s.exit().each(o).remove();for(var l=0;l0&&(s=s.transition().duration(t.transition.duration).ease(t.transition.easing)),s.attr("transform",ymt(o-Rs.gripWidth*.5,t._dims.currentValueTotalHeight))}}function uV(e,t){var r=e._dims;return r.inputAreaStart+Rs.stepInset+(r.inputAreaLength-2*Rs.stepInset)*Math.min(1,Math.max(0,t))}function yge(e,t){var r=e._dims;return Math.min(1,Math.max(0,(t-Rs.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*Rs.stepInset-2*r.inputAreaStart)))}function kmt(e,t,r){var n=r._dims,i=r0.ensureSingle(e,"rect",Rs.railTouchRectClass,function(a){a.call(Tge,t,e,r).style("pointer-events","all")});i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,Rs.tickOffset+r.ticklen+n.labelHeight)}).call(k_.fill,r.bgcolor).attr("opacity",0),Vg.setTranslate(i,0,n.currentValueTotalHeight)}function Cmt(e,t){var r=t._dims,n=r.inputAreaLength-Rs.railInset*2,i=r0.ensureSingle(e,"rect",Rs.railRectClass);i.attr({width:n,height:Rs.railWidth,rx:Rs.railRadius,ry:Rs.railRadius,"shape-rendering":"crispEdges"}).call(k_.stroke,t.bordercolor).call(k_.fill,t.bgcolor).style("stroke-width",t.borderwidth+"px"),Vg.setTranslate(i,Rs.railInset,(r.inputAreaWidth-Rs.railWidth)*.5+r.currentValueTotalHeight)}});var kge=ye((Clr,Ege)=>{"use strict";var Lmt=_4();Ege.exports={moduleType:"component",name:Lmt.name,layoutAttributes:aV(),supplyLayoutDefaults:gge(),draw:Mge()}});var LI=ye((Llr,Lge)=>{"use strict";var Cge=Ih();Lge.exports={bgcolor:{valType:"color",dflt:Cge.background,editType:"plot"},bordercolor:{valType:"color",dflt:Cge.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"}});var cV=ye((Plr,Pge)=>{"use strict";Pge.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"}});var PI=ye((Ilr,Ige)=>{"use strict";Ige.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}});var Fge=ye(RI=>{"use strict";var Pmt=df(),Imt=Zl(),Rge=PI(),Rmt=Dh().LINE_SPACING,II=Rge.name;function Dge(e){var t=e&&e[II];return t&&t.visible}RI.isVisible=Dge;RI.makeData=function(e){for(var t=Pmt.list({_fullLayout:e},"x",!0),r=e.margin,n=[],i=0;i{"use strict";var DI=Pr(),zge=vl(),qge=df(),Dmt=LI(),Fmt=cV();Oge.exports=function(t,r,n){var i=t[n],a=r[n];if(!(i.rangeslider||r._requestRangeslider[a._id]))return;DI.isPlainObject(i.rangeslider)||(i.rangeslider={});var o=i.rangeslider,s=zge.newContainer(a,"rangeslider");function l(L,x){return DI.coerce(o,s,Dmt,L,x)}var u,c;function f(L,x){return DI.coerce(u,c,Fmt,L,x)}var h=l("visible");if(h){l("bgcolor",r.plot_bgcolor),l("bordercolor"),l("borderwidth"),l("thickness"),l("autorange",!a.isValidRange(o.range)),l("range");var d=r._subplots;if(d)for(var v=d.cartesian.filter(function(L){return L.slice(0,Math.max(0,L.indexOf("y")))===qge.name2id(n)}).map(function(L){return L.slice(L.indexOf("y"),L.length)}),m=DI.simpleMap(v,qge.id2name),b=0;b{"use strict";var zmt=df().list,qmt=Mg().getAutoRange,Omt=PI();Nge.exports=function(t){for(var r=zmt(t,"x",!0),n=0;n{"use strict";var FI=qa(),Bmt=Oa(),Nmt=Mc(),Jf=Pr(),zI=Jf.strTranslate,Gge=So(),C_=ka(),Umt=qb(),Vmt=mh(),fV=df(),Gmt=yv(),Hmt=Eg(),rl=PI();Hge.exports=function(e){for(var t=e._fullLayout,r=t._rangeSliderData,n=0;n=N.max)Z=E[j+1];else if(G=N.pmax)Z=E[j+1];else if(G0?e.touches[0].clientX:0}function jmt(e,t,r,n){if(t._context.staticPlot)return;var i=e.select("rect."+rl.slideBoxClassName).node(),a=e.select("rect."+rl.grabAreaMinClassName).node(),o=e.select("rect."+rl.grabAreaMaxClassName).node();function s(){var l=FI.event,u=l.target,c=Vge(l),f=c-e.node().getBoundingClientRect().left,h=n.d2p(r._rl[0]),d=n.d2p(r._rl[1]),v=Gmt.coverSlip();this.addEventListener("touchmove",m),this.addEventListener("touchend",b),v.addEventListener("mousemove",m),v.addEventListener("mouseup",b);function m(p){var k=Vge(p),M=+k-c,T,L,x;switch(u){case i:if(x="ew-resize",h+M>r._length||d+M<0)return;T=h+M,L=d+M;break;case a:if(x="col-resize",h+M>r._length)return;T=h+M,L=d;break;case o:if(x="col-resize",d+M<0)return;T=h,L=d+M;break;default:x="ew-resize",T=f,L=f+M;break}if(L{"use strict";var tyt=Pr(),ryt=LI(),iyt=cV(),hV=Fge();Wge.exports={moduleType:"component",name:"rangeslider",schema:{subplots:{xaxis:{rangeslider:tyt.extendFlat({},ryt,{yaxis:iyt})}}},layoutAttributes:LI(),handleDefaults:Bge(),calcAutorange:Uge(),draw:jge(),isVisible:hV.isVisible,makeData:hV.makeData,autoMarginOpts:hV.autoMarginOpts}});var qI=ye((Olr,Yge)=>{"use strict";var nyt=ec(),Zge=Ih(),ayt=vl().templatedArray,oyt=ayt("button",{visible:{valType:"boolean",dflt:!0,editType:"plot"},step:{valType:"enumerated",values:["month","year","day","hour","minute","second","all"],dflt:"month",editType:"plot"},stepmode:{valType:"enumerated",values:["backward","todate"],dflt:"backward",editType:"plot"},count:{valType:"number",min:0,dflt:1,editType:"plot"},label:{valType:"string",editType:"plot"},editType:"plot"});Yge.exports={visible:{valType:"boolean",editType:"plot"},buttons:oyt,x:{valType:"number",min:-2,max:3,editType:"plot"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"plot"},y:{valType:"number",min:-2,max:3,editType:"plot"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"bottom",editType:"plot"},font:nyt({editType:"plot"}),bgcolor:{valType:"color",dflt:Zge.lightLine,editType:"plot"},activecolor:{valType:"color",editType:"plot"},bordercolor:{valType:"color",dflt:Zge.defaultLine,editType:"plot"},borderwidth:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"plot"}});var dV=ye((Blr,Kge)=>{"use strict";Kge.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}});var Qge=ye((Nlr,$ge)=>{"use strict";var OI=Pr(),syt=ka(),lyt=vl(),uyt=Kd(),Jge=qI(),vV=dV();$ge.exports=function(t,r,n,i,a){var o=t.rangeselector||{},s=lyt.newContainer(r,"rangeselector");function l(d,v){return OI.coerce(o,s,Jge,d,v)}var u=uyt(o,s,{name:"buttons",handleItemDefaults:cyt,calendar:a}),c=l("visible",u.length>0);if(c){var f=fyt(r,n,i);l("x",f[0]),l("y",f[1]),OI.noneOrAll(t,r,["x","y"]),l("xanchor"),l("yanchor"),OI.coerceFont(l,"font",n.font);var h=l("bgcolor");l("activecolor",syt.contrast(h,vV.lightAmount,vV.darkAmount)),l("bordercolor"),l("borderwidth")}};function cyt(e,t,r,n){var i=n.calendar;function a(l,u){return OI.coerce(e,t,Jge.buttons,l,u)}var o=a("visible");if(o){var s=a("step");s!=="all"&&(i&&i!=="gregorian"&&(s==="month"||s==="year")?t.stepmode="backward":a("stepmode"),a("count")),a("label")}}function fyt(e,t,r){for(var n=r.filter(function(s){return t[s].anchor===e._id}),i=0,a=0;a{"use strict";var hyt=Eq(),dyt=Pr().titleCase;eme.exports=function(t,r){var n=t._name,i={};if(r.step==="all")i[n+".autorange"]=!0;else{var a=vyt(t,r);i[n+".range[0]"]=a[0],i[n+".range[1]"]=a[1]}return i};function vyt(e,t){var r=e.range,n=new Date(e.r2l(r[1])),i=t.step,a=hyt["utc"+dyt(i)],o=t.count,s;switch(t.stepmode){case"backward":s=e.l2r(+a.offset(n,-o));break;case"todate":var l=a.offset(n,-o);s=e.l2r(+a.ceil(l));break}var u=r[1];return[s,u]}});var ume=ye((Vlr,lme)=>{"use strict";var NI=qa(),pyt=Oa(),gyt=Mc(),rme=ka(),sme=So(),Ny=Pr(),ime=Ny.strTranslate,BI=Zl(),myt=df(),mV=Dh(),nme=mV.LINE_SPACING,ame=mV.FROM_TL,ome=mV.FROM_BR,gV=dV(),yyt=tme();lme.exports=function(t){var r=t._fullLayout,n=r._infolayer.selectAll(".rangeselector").data(_yt(t),xyt);n.enter().append("g").classed("rangeselector",!0),n.exit().remove(),n.style({cursor:"pointer","pointer-events":"all"}),n.each(function(i){var a=NI.select(this),o=i,s=o.rangeselector,l=a.selectAll("g.button").data(Ny.filterVisible(s.buttons));l.enter().append("g").classed("button",!0),l.exit().remove(),l.each(function(u){var c=NI.select(this),f=yyt(o,u);u._isActive=byt(o,u,f),c.call(pV,s,u),c.call(Tyt,s,u,t),c.on("click",function(){t._dragged||pyt.call("_guiRelayout",t,f)}),c.on("mouseover",function(){u._isHovered=!0,c.call(pV,s,u)}),c.on("mouseout",function(){u._isHovered=!1,c.call(pV,s,u)})}),Syt(t,l,s,o._name,a)})};function _yt(e){for(var t=myt.list(e,"x",!0),r=[],n=0;n{"use strict";cme.exports={moduleType:"component",name:"rangeselector",schema:{subplots:{xaxis:{rangeselector:qI()}}},layoutAttributes:qI(),handleDefaults:Qge(),draw:ume()}});var Cc=ye(yV=>{"use strict";var hme=Ao().extendFlat;yV.attributes=function(e,t){e=e||{},t=t||{};var r={valType:"info_array",editType:e.editType,items:[{valType:"number",min:0,max:1,editType:e.editType},{valType:"number",min:0,max:1,editType:e.editType}],dflt:[0,1]},n=e.name?e.name+" ":"",i=e.trace?"trace ":"subplot ",a=t.description?" "+t.description:"",o={x:hme({},r,{}),y:hme({},r,{}),editType:e.editType};return e.noGridCell||(o.row={valType:"integer",min:0,dflt:0,editType:e.editType},o.column={valType:"integer",min:0,dflt:0,editType:e.editType}),o};yV.defaults=function(e,t,r,n){var i=n&&n.x||[0,1],a=n&&n.y||[0,1],o=t.grid;if(o){var s=r("domain.column");s!==void 0&&(s{"use strict";var Myt=Pr(),Eyt=m3().counter,kyt=Cc().attributes,dme=Rh().idRegex,Cyt=vl(),_V={rows:{valType:"integer",min:1,editType:"plot"},roworder:{valType:"enumerated",values:["top to bottom","bottom to top"],dflt:"top to bottom",editType:"plot"},columns:{valType:"integer",min:1,editType:"plot"},subplots:{valType:"info_array",freeLength:!0,dimensions:2,items:{valType:"enumerated",values:[Eyt("xy").toString(),""],editType:"plot"},editType:"plot"},xaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[dme.x.toString(),""],editType:"plot"},editType:"plot"},yaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[dme.y.toString(),""],editType:"plot"},editType:"plot"},pattern:{valType:"enumerated",values:["independent","coupled"],dflt:"coupled",editType:"plot"},xgap:{valType:"number",min:0,max:1,editType:"plot"},ygap:{valType:"number",min:0,max:1,editType:"plot"},domain:kyt({name:"grid",editType:"plot",noGridCell:!0},{}),xside:{valType:"enumerated",values:["bottom","bottom plot","top plot","top"],dflt:"bottom plot",editType:"plot"},yside:{valType:"enumerated",values:["left","left plot","right plot","right"],dflt:"left plot",editType:"plot"},editType:"plot"};function UI(e,t,r){var n=t[r+"axes"],i=Object.keys((e._splomAxes||{})[r]||{});if(Array.isArray(n))return n;if(i.length)return i}function Lyt(e,t){var r=e.grid||{},n=UI(t,r,"x"),i=UI(t,r,"y");if(!e.grid&&!n&&!i)return;var a=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),o=Array.isArray(n),s=Array.isArray(i),l=o&&n!==r.xaxes&&s&&i!==r.yaxes,u,c;a?(u=r.subplots.length,c=r.subplots[0].length):(s&&(u=i.length),o&&(c=n.length));var f=Cyt.newContainer(t,"grid");function h(x,C){return Myt.coerce(r,f,_V,x,C)}var d=h("rows",u),v=h("columns",c);if(!(d*v>1)){delete t.grid;return}if(!a&&!o&&!s){var m=h("pattern")==="independent";m&&(a=!0)}f._hasSubplotGrid=a;var b=h("roworder"),p=b==="top to bottom",k=a?.2:.1,M=a?.3:.1,T,L;l&&t._splomGridDflt&&(T=t._splomGridDflt.xside,L=t._splomGridDflt.yside),f._domains={x:vme("x",h,k,T,v),y:vme("y",h,M,L,d,p)}}function vme(e,t,r,n,i,a){var o=t(e+"gap",r),s=t("domain."+e);t(e+"side",n);for(var l=new Array(i),u=s[0],c=(s[1]-u)/(i-o),f=c*(1-o),h=0;h{"use strict";mme.exports={visible:{valType:"boolean",editType:"calc"},type:{valType:"enumerated",values:["percent","constant","sqrt","data"],editType:"calc"},symmetric:{valType:"boolean",editType:"calc"},array:{valType:"data_array",editType:"calc"},arrayminus:{valType:"data_array",editType:"calc"},value:{valType:"number",min:0,dflt:10,editType:"calc"},valueminus:{valType:"number",min:0,dflt:10,editType:"calc"},traceref:{valType:"integer",min:0,dflt:0,editType:"style"},tracerefminus:{valType:"integer",min:0,dflt:0,editType:"style"},copy_ystyle:{valType:"boolean",editType:"plot"},copy_zstyle:{valType:"boolean",editType:"style"},color:{valType:"color",editType:"style"},thickness:{valType:"number",min:0,dflt:2,editType:"style"},width:{valType:"number",min:0,editType:"plot"},editType:"calc"}});var xme=ye((Xlr,_me)=>{"use strict";var yme=Eo(),Iyt=Oa(),Ryt=Pr(),Dyt=vl(),Fyt=bV();_me.exports=function(e,t,r,n){var i="error_"+n.axis,a=Dyt.newContainer(t,i),o=e[i]||{};function s(v,m){return Ryt.coerce(o,a,Fyt,v,m)}var l=o.array!==void 0||o.value!==void 0||o.type==="sqrt",u=s("visible",l);if(u!==!1){var c=s("type","array"in o?"data":"percent"),f=!0;c!=="sqrt"&&(f=s("symmetric",!((c==="data"?"arrayminus":"valueminus")in o))),c==="data"?(s("array"),s("traceref"),f||(s("arrayminus"),s("tracerefminus"))):(c==="percent"||c==="constant")&&(s("value"),f||s("valueminus"));var h="copy_"+n.inherit+"style";if(n.inherit){var d=t["error_"+n.inherit];(d||{}).visible&&s(h,!(o.color||yme(o.thickness)||yme(o.width)))}(!n.inherit||!a[h])&&(s("color",r),s("thickness"),s("width",Iyt.traceIs(t,"gl3d")?0:4))}}});var wV=ye((Zlr,wme)=>{"use strict";wme.exports=function(t){var r=t.type,n=t.symmetric;if(r==="data"){var i=t.array||[];if(n)return function(u,c){var f=+i[c];return[f,f]};var a=t.arrayminus||[];return function(u,c){var f=+i[c],h=+a[c];return!isNaN(f)||!isNaN(h)?[h||0,f||0]:[NaN,NaN]}}else{var o=bme(r,t.value),s=bme(r,t.valueminus);return n||t.valueminus===void 0?function(u){var c=o(u);return[c,c]}:function(u){return[s(u),o(u)]}}};function bme(e,t){if(e==="percent")return function(r){return Math.abs(r*t/100)};if(e==="constant")return function(){return Math.abs(t)};if(e==="sqrt")return function(r){return Math.sqrt(Math.abs(r))}}});var Sme=ye((Ylr,Ame)=>{"use strict";var TV=Eo(),zyt=Oa(),AV=ho(),qyt=Pr(),Oyt=wV();Ame.exports=function(t){for(var r=t.calcdata,n=0;n{"use strict";var Mme=qa(),L_=Eo(),Byt=So(),Nyt=Ru();Eme.exports=function(t,r,n,i){var a,o=n.xaxis,s=n.yaxis,l=i&&i.duration>0,u=t._context.staticPlot;r.each(function(c){var f=c[0].trace,h=f.error_x||{},d=f.error_y||{},v;f.ids&&(v=function(k){return k.id});var m=Nyt.hasMarkers(f)&&f.marker.maxdisplayed>0;!d.visible&&!h.visible&&(c=[]);var b=Mme.select(this).selectAll("g.errorbar").data(c,v);if(b.exit().remove(),!!c.length){h.visible||b.selectAll("path.xerror").remove(),d.visible||b.selectAll("path.yerror").remove(),b.style("opacity",1);var p=b.enter().append("g").classed("errorbar",!0);l&&p.style("opacity",0).transition().duration(i.duration).style("opacity",1),Byt.setClipUrl(b,n.layerClipId,t),b.each(function(k){var M=Mme.select(this),T=Uyt(k,o,s);if(!(m&&!k.vis)){var L,x=M.select("path.yerror");if(d.visible&&L_(T.x)&&L_(T.yh)&&L_(T.ys)){var C=d.width;L="M"+(T.x-C)+","+T.yh+"h"+2*C+"m-"+C+",0V"+T.ys,T.noYS||(L+="m-"+C+",0h"+2*C),a=!x.size(),a?x=M.append("path").style("vector-effect",u?"none":"non-scaling-stroke").classed("yerror",!0):l&&(x=x.transition().duration(i.duration).ease(i.easing)),x.attr("d",L)}else x.remove();var S=M.select("path.xerror");if(h.visible&&L_(T.y)&&L_(T.xh)&&L_(T.xs)){var g=(h.copy_ystyle?d:h).width;L="M"+T.xh+","+(T.y-g)+"v"+2*g+"m0,-"+g+"H"+T.xs,T.noXS||(L+="m0,-"+g+"v"+2*g),a=!S.size(),a?S=M.append("path").style("vector-effect",u?"none":"non-scaling-stroke").classed("xerror",!0):l&&(S=S.transition().duration(i.duration).ease(i.easing)),S.attr("d",L)}else S.remove()}})}})};function Uyt(e,t,r){var n={x:t.c2p(e.x),y:r.c2p(e.y)};return e.yh!==void 0&&(n.yh=r.c2p(e.yh),n.ys=r.c2p(e.ys),L_(n.ys)||(n.noYS=!0,n.ys=r.c2p(e.ys,!0))),e.xh!==void 0&&(n.xh=t.c2p(e.xh),n.xs=t.c2p(e.xs),L_(n.xs)||(n.noXS=!0,n.xs=t.c2p(e.xs,!0))),n}});var Pme=ye((Jlr,Lme)=>{"use strict";var Vyt=qa(),Cme=ka();Lme.exports=function(t){t.each(function(r){var n=r[0].trace,i=n.error_y||{},a=n.error_x||{},o=Vyt.select(this);o.selectAll("path.yerror").style("stroke-width",i.thickness+"px").call(Cme.stroke,i.color),a.copy_ystyle&&(a=i),o.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(Cme.stroke,a.color)})}});var Dme=ye(($lr,Rme)=>{"use strict";var b4=Pr(),Ime=mc().overrideAll,w4=bV(),f2={error_x:b4.extendFlat({},w4),error_y:b4.extendFlat({},w4)};delete f2.error_x.copy_zstyle;delete f2.error_y.copy_zstyle;delete f2.error_y.copy_ystyle;var T4={error_x:b4.extendFlat({},w4),error_y:b4.extendFlat({},w4),error_z:b4.extendFlat({},w4)};delete T4.error_x.copy_ystyle;delete T4.error_y.copy_ystyle;delete T4.error_z.copy_ystyle;delete T4.error_z.copy_zstyle;Rme.exports={moduleType:"component",name:"errorbars",schema:{traces:{scatter:f2,bar:f2,histogram:f2,scatter3d:Ime(T4,"calc","nested"),scattergl:Ime(f2,"calc","nested")}},supplyDefaults:xme(),calc:Sme(),makeComputeError:wV(),plot:kme(),style:Pme(),hoverInfo:Gyt};function Gyt(e,t,r){(t.error_y||{}).visible&&(r.yerr=e.yh-e.y,t.error_y.symmetric||(r.yerrneg=e.y-e.ys)),(t.error_x||{}).visible&&(r.xerr=e.xh-e.x,t.error_x.symmetric||(r.xerrneg=e.x-e.xs))}});var zme=ye((Qlr,Fme)=>{"use strict";Fme.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"}}});var Gme=ye((eur,Vme)=>{"use strict";var P_=qa(),SV=fd(),GI=Mc(),qme=Oa(),Uy=ho(),VI=yv(),U0=Pr(),Hg=U0.strTranslate,Ume=Ao().extendFlat,MV=Eg(),Gg=So(),EV=ka(),Hyt=qb(),jyt=Zl(),Wyt=pv().flipScale,Xyt=h4(),Zyt=vI(),Yyt=Rd(),kV=Dh(),Ome=kV.LINE_SPACING,Bme=kV.FROM_TL,Nme=kV.FROM_BR,gf=zme().cn;function Kyt(e){var t=e._fullLayout,r=t._infolayer.selectAll("g."+gf.colorbar).data(Jyt(e),function(n){return n._id});r.enter().append("g").attr("class",function(n){return n._id}).classed(gf.colorbar,!0),r.each(function(n){var i=P_.select(this);U0.ensureSingle(i,"rect",gf.cbbg),U0.ensureSingle(i,"g",gf.cbfills),U0.ensureSingle(i,"g",gf.cblines),U0.ensureSingle(i,"g",gf.cbaxis,function(o){o.classed(gf.crisp,!0)}),U0.ensureSingle(i,"g",gf.cbtitleunshift,function(o){o.append("g").classed(gf.cbtitle,!0)}),U0.ensureSingle(i,"rect",gf.cboutline);var a=$yt(i,n,e);a&&a.then&&(e._promises||[]).push(a),e._context.edits.colorbarPosition&&Qyt(i,n,e)}),r.exit().each(function(n){GI.autoMargin(e,n._id)}).remove(),r.order()}function Jyt(e){var t=e._fullLayout,r=e.calcdata,n=[],i,a,o,s;function l(M){return Ume(M,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function u(){typeof s.calc=="function"?s.calc(e,o,i):(i._fillgradient=a.reversescale?Wyt(a.colorscale):a.colorscale,i._zrange=[a[s.min],a[s.max]])}for(var c=0;c1){var Pe=Math.pow(10,Math.floor(Math.log(me)/Math.LN10));Be*=Pe*U0.roundUp(me/Pe,[2,5,10]),(Math.abs(z.start)/z.size+1e-6)%1<2e-6&&(ke.tick0=0)}ke.dtick=Be}ke.domain=n?[re+v/T.h,re+H-v/T.h]:[re+d/T.w,re+H-d/T.w],ke.setScale(),e.attr("transform",Hg(Math.round(T.l),Math.round(T.t)));var ce=e.select("."+gf.cbtitleunshift).attr("transform",Hg(-Math.round(T.l),-Math.round(T.t))),He=ke.ticklabelposition,lt=ke.title.font.size,mt=e.select("."+gf.cbaxis),Ht,at=0,ct=0;function ar(Ue,Ae){var rt={propContainer:ke,propName:t._propPrefix+"title.text",traceIndex:t._traceIndex,_meta:t._meta,placeholder:M._dfltTitle.colorbar,containerGroup:e.select("."+gf.cbtitle)},St=Ue.charAt(0)==="h"?Ue.slice(1):"h"+Ue;e.selectAll("."+St+",."+St+"-math-group").remove(),Hyt.draw(r,Ue,Ume(rt,Ae||{}))}function Vt(){if(n&&be||!n&&!be){var Ue,Ae;S==="top"&&(Ue=d+T.l+ie*m,Ae=v+T.t+ae*(1-re-H)+3+lt*.75),S==="bottom"&&(Ue=d+T.l+ie*m,Ae=v+T.t+ae*(1-re)-3-lt*.25),S==="right"&&(Ae=v+T.t+ae*b+3+lt*.75,Ue=d+T.l+ie*re),ar(ke._id+"title",{attributes:{x:Ue,y:Ae,"text-anchor":n?"start":"middle"}})}}function rr(){if(n&&!be||!n&&be){var Ue=ke.position||0,Ae=ke._offset+ke._length/2,rt,St;if(S==="right")St=Ae,rt=T.l+ie*Ue+10+lt*(ke.showticklabels?1:.5);else if(rt=Ae,S==="bottom"&&(St=T.t+ae*Ue+10+(He.indexOf("inside")===-1?ke.tickfont.size:0)+(ke.ticks!=="inside"&&t.ticklen||0)),S==="top"){var Tt=C.text.split("
").length;St=T.t+ae*Ue+10-Z-Ome*lt*Tt}ar((n?"h":"v")+ke._id+"title",{avoid:{selection:P_.select(r).selectAll("g."+ke._id+"tick"),side:S,offsetTop:n?0:T.t,offsetLeft:n?T.l:0,maxShift:n?M.width:M.height},attributes:{x:rt,y:St,"text-anchor":"middle"},transform:{rotate:n?-90:0,offset:0}})}}function tt(){if(!n&&!be||n&&be){var Ue=e.select("."+gf.cbtitle),Ae=Ue.select("text"),rt=[-l/2,l/2],St=Ue.select(".h"+ke._id+"title-math-group").node(),Tt=15.6;Ae.node()&&(Tt=parseInt(Ae.node().style.fontSize,10)*Ome);var dt;if(St?(dt=Gg.bBox(St),ct=dt.width,at=dt.height,at>Tt&&(rt[1]-=(at-Tt)/2)):Ae.node()&&!Ae.classed(gf.jsPlaceholder)&&(dt=Gg.bBox(Ae.node()),ct=dt.width,at=dt.height),n){if(at){if(at+=5,S==="top")ke.domain[1]-=at/T.h,rt[1]*=-1;else{ke.domain[0]+=at/T.h;var Et=jyt.lineCount(Ae);rt[1]+=(1-Et)*Tt}Ue.attr("transform",Hg(rt[0],rt[1])),ke.setScale()}}else ct&&(S==="right"&&(ke.domain[0]+=(ct+lt/2)/T.w),Ue.attr("transform",Hg(rt[0],rt[1])),ke.setScale())}e.selectAll("."+gf.cbfills+",."+gf.cblines).attr("transform",n?Hg(0,Math.round(T.h*(1-ke.domain[1]))):Hg(Math.round(T.w*ke.domain[0]),0)),mt.attr("transform",n?Hg(0,Math.round(-T.t)):Hg(Math.round(-T.l),0));var pt=e.select("."+gf.cbfills).selectAll("rect."+gf.cbfill).attr("style","").data(V);pt.enter().append("rect").classed(gf.cbfill,!0).attr("style",""),pt.exit().remove();var jt=g.map(ke.c2p).map(Math.round).sort(function(qr,jr){return qr-jr});pt.each(function(qr,jr){var gt=[jr===0?g[0]:(V[jr]+V[jr-1])/2,jr===V.length-1?g[1]:(V[jr]+V[jr+1])/2].map(ke.c2p).map(Math.round);n&&(gt[1]=U0.constrain(gt[1]+(gt[1]>gt[0])?1:-1,jt[0],jt[1]));var Ge=P_.select(this).attr(n?"x":"y",_e).attr(n?"y":"x",P_.min(gt)).attr(n?"width":"height",Math.max(Z,2)).attr(n?"height":"width",Math.max(P_.max(gt)-P_.min(gt),2));if(t._fillgradient)Gg.gradient(Ge,r,t._id,n?"vertical":"horizontalreversed",t._fillgradient,"fill");else{var Je=E(qr).replace("e-","");Ge.attr("fill",SV(Je).toHexString())}});var or=e.select("."+gf.cblines).selectAll("path."+gf.cbline).data(x.color&&x.width?G:[]);or.enter().append("path").classed(gf.cbline,!0),or.exit().remove(),or.each(function(qr){var jr=_e,gt=Math.round(ke.c2p(qr))+x.width/2%1;P_.select(this).attr("d","M"+(n?jr+","+gt:gt+","+jr)+(n?"h":"v")+Z).call(Gg.lineGroupStyle,x.width,P(qr),x.dash)}),mt.selectAll("g."+ke._id+"tick,path").remove();var mr=_e+Z+(l||0)/2-(t.ticks==="outside"?1:0),Ar=Uy.calcTicks(ke),ei=Uy.getTickSigns(ke)[2];return Uy.drawTicks(r,ke,{vals:ke.ticks==="inside"?Uy.clipEnds(ke,Ar):Ar,layer:mt,path:Uy.makeTickPath(ke,mr,ei),transFn:Uy.makeTransTickFn(ke)}),Uy.drawLabels(r,ke,{vals:Ar,layer:mt,transFn:Uy.makeTransTickLabelFn(ke),labelFns:Uy.makeLabelFns(ke,mr)})}function je(){var Ue,Ae=Z+l/2;He.indexOf("inside")===-1&&(Ue=Gg.bBox(mt.node()),Ae+=n?Ue.width:Ue.height),Ht=ce.select("text");var rt=0,St=n&&S==="top",Tt=!n&&S==="right",dt=0;if(Ht.node()&&!Ht.classed(gf.jsPlaceholder)){var Et,pt=ce.select(".h"+ke._id+"title-math-group").node();pt&&(n&&be||!n&&!be)?(Ue=Gg.bBox(pt),rt=Ue.width,Et=Ue.height):(Ue=Gg.bBox(ce.node()),rt=Ue.right-T.l-(n?_e:Se),Et=Ue.bottom-T.t-(n?Se:_e),!n&&S==="top"&&(Ae+=Ue.height,dt=Ue.height)),Tt&&(Ht.attr("transform",Hg(rt/2+lt/2,0)),rt*=2),Ae=Math.max(Ae,n?rt:Et)}var jt=(n?d:v)*2+Ae+u+l/2,or=0;!n&&C.text&&h==="bottom"&&b<=0&&(or=jt/2,jt+=or,dt+=or),M._hColorbarMoveTitle=or,M._hColorbarMoveCBTitle=dt;var mr=u+l,Ar=(n?_e:Se)-mr/2-(n?d:0),ei=(n?Se:_e)-(n?N:v+dt-or);e.select("."+gf.cbbg).attr("x",Ar).attr("y",ei).attr(n?"width":"height",Math.max(jt-or,2)).attr(n?"height":"width",Math.max(N+mr,2)).call(EV.fill,c).call(EV.stroke,t.bordercolor).style("stroke-width",u);var qr=Tt?Math.max(rt-10,0):0;e.selectAll("."+gf.cboutline).attr("x",(n?_e:Se+d)+qr).attr("y",(n?Se+v-N:_e)+(St?at:0)).attr(n?"width":"height",Math.max(Z,2)).attr(n?"height":"width",Math.max(N-(n?2*v+at:2*d+qr),2)).call(EV.stroke,t.outlinecolor).style({fill:"none","stroke-width":l});var jr=n?Ee*jt:0,gt=n?0:(1-Ce)*jt-dt;if(jr=k?T.l-jr:-jr,gt=p?T.t-gt:-gt,e.attr("transform",Hg(jr,gt)),!n&&(u||SV(c).getAlpha()&&!SV.equals(M.paper_bgcolor,c))){var Ge=mt.selectAll("text"),Je=Ge[0].length,We=e.select("."+gf.cbbg).node(),et=Gg.bBox(We),xt=Gg.getTranslate(e),At=2;Ge.each(function(mi,un){var Fn=0,An=Je-1;if(un===Fn||un===An){var Hn=Gg.bBox(this),Qn=Gg.getTranslate(this),Vi;if(un===An){var Kn=Hn.right+Qn.x,Jn=et.right+xt.x+Se-u-At+m;Vi=Jn-Kn,Vi>0&&(Vi=0)}else if(un===Fn){var Gt=Hn.left+Qn.x,wt=et.left+xt.x+Se+u+At;Vi=wt-Gt,Vi<0&&(Vi=0)}Vi&&(Je<3?this.setAttribute("transform","translate("+Vi+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}})}var Kt={},Qt=Bme[f],Mr=Nme[f],Gr=Bme[h],Ir=Nme[h],Yr=jt-Z;n?(a==="pixels"?(Kt.y=b,Kt.t=N*Gr,Kt.b=N*Ir):(Kt.t=Kt.b=0,Kt.yt=b+i*Gr,Kt.yb=b-i*Ir),s==="pixels"?(Kt.x=m,Kt.l=jt*Qt,Kt.r=jt*Mr):(Kt.l=Yr*Qt,Kt.r=Yr*Mr,Kt.xl=m-o*Qt,Kt.xr=m+o*Mr)):(a==="pixels"?(Kt.x=m,Kt.l=N*Qt,Kt.r=N*Mr):(Kt.l=Kt.r=0,Kt.xl=m+i*Qt,Kt.xr=m-i*Mr),s==="pixels"?(Kt.y=1-b,Kt.t=jt*Gr,Kt.b=jt*Ir):(Kt.t=Yr*Gr,Kt.b=Yr*Ir,Kt.yt=b-o*Gr,Kt.yb=b+o*Ir));var _i=t.y<.5?"b":"t",Pi=t.x<.5?"l":"r";r._fullLayout._reservedMargin[t._id]={};var ai={r:M.width-Ar-jr,l:Ar+Kt.r,b:M.height-ei-gt,t:ei+Kt.b};k&&p?GI.autoMargin(r,t._id,Kt):k?r._fullLayout._reservedMargin[t._id][_i]=ai[_i]:p||n?r._fullLayout._reservedMargin[t._id][Pi]=ai[Pi]:r._fullLayout._reservedMargin[t._id][_i]=ai[_i]}return U0.syncOrAsync([GI.previousPromises,Vt,tt,rr,GI.previousPromises,je],r)}function Qyt(e,t,r){var n=t.orientation==="v",i=r._fullLayout,a=i._size,o,s,l;VI.init({element:e.node(),gd:r,prepFn:function(){o=e.attr("transform"),MV(e)},moveFn:function(u,c){e.attr("transform",o+Hg(u,c)),s=VI.align((n?t._uFrac:t._vFrac)+u/a.w,n?t._thickFrac:t._lenFrac,0,1,t.xanchor),l=VI.align((n?t._vFrac:1-t._uFrac)-c/a.h,n?t._lenFrac:t._thickFrac,0,1,t.yanchor);var f=VI.getCursor(s,l,t.xanchor,t.yanchor);MV(e,f)},doneFn:function(){if(MV(e),s!==void 0&&l!==void 0){var u={};u[t._propPrefix+"x"]=s,u[t._propPrefix+"y"]=l,t._traceIndex!==void 0?qme.call("_guiRestyle",r,u,t._traceIndex):qme.call("_guiRelayout",r,u)}}})}function e1t(e,t,r){var n=t._levels,i=[],a=[],o,s,l=n.end+n.size/100,u=n.size,c=1.001*r[0]-.001*r[1],f=1.001*r[1]-.001*r[0];for(s=0;s<1e5&&(o=n.start+s*u,!(u>0?o>=l:o<=l));s++)o>c&&o0?o>=l:o<=l));s++)o>r[0]&&o{"use strict";Hme.exports={moduleType:"component",name:"colorbar",attributes:cL(),supplyDefaults:qO(),draw:Gme().draw,hasColorbar:LO()}});var Xme=ye((rur,Wme)=>{"use strict";Wme.exports={moduleType:"component",name:"legend",layoutAttributes:PB(),supplyLayoutDefaults:RB(),draw:XB(),style:GB()}});var Yme=ye((iur,Zme)=>{"use strict";Zme.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}});var Jme=ye((nur,Kme)=>{"use strict";Kme.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}});var LV=ye((aur,tye)=>{"use strict";var r1t=Oa(),eye=Pr(),CV=eye.extendFlat,$me=eye.extendDeep;function Qme(e){var t;switch(e){case"themes__thumb":t={autosize:!0,width:150,height:150,title:{text:""},showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case"thumbnail":t={title:{text:""},hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:"",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:t={}}return t}function i1t(e){var t=["xaxis","yaxis","zaxis"];return t.indexOf(e.slice(0,5))>-1}tye.exports=function(t,r){var n,i=t.data,a=t.layout,o=$me([],i),s=$me({},a,Qme(r.tileClass)),l=t._context||{};if(r.width&&(s.width=r.width),r.height&&(s.height=r.height),r.tileClass==="thumbnail"||r.tileClass==="themes__thumb"){s.annotations=[];var u=Object.keys(s);for(n=0;n{"use strict";var n1t=Sb().EventEmitter,a1t=Oa(),o1t=Pr(),rye=qy(),s1t=LV(),l1t=KP(),u1t=JP();function c1t(e,t){var r=new n1t,n=s1t(e,{format:"png"}),i=n.gd;i.style.position="absolute",i.style.left="-5000px",document.body.appendChild(i);function a(){var s=rye.getDelay(i._fullLayout);setTimeout(function(){var l=l1t(i),u=document.createElement("canvas");u.id=o1t.randstr(),r=u1t({format:t.format,width:i._fullLayout.width,height:i._fullLayout.height,canvas:u,emitter:r,svg:l}),r.clean=function(){i&&document.body.removeChild(i)}},s)}var o=rye.getRedrawFunc(i);return a1t.call("_doPlot",i,n.data,n.layout,n.config).then(o).then(a).catch(function(s){r.emit("error",s)}),r}iye.exports=c1t});var sye=ye((sur,oye)=>{"use strict";var aye=qy(),f1t={getDelay:aye.getDelay,getRedrawFunc:aye.getRedrawFunc,clone:LV(),toSVG:KP(),svgToImg:JP(),toImage:nye(),downloadImage:uU()};oye.exports=f1t});var uye=ye(Vy=>{"use strict";Vy.version=m6().version;wee();cne();var h1t=Oa(),A4=Vy.register=h1t.register,IV=Cde(),lye=Object.keys(IV);for(HI=0;HI{"use strict";cye.exports=uye()});var qm=ye((cur,gye)=>{"use strict";var Bf=pf(),hye=vf().axisHoverFormat,{hovertemplateAttrs:d1t,texttemplateAttrs:v1t,templatefallbackAttrs:dye}=Ll(),pye=Tu(),p1t=ec(),vye=A_(),g1t=Pd().pattern,h2=Ao().extendFlat,RV=p1t({editType:"calc",arrayOk:!0,colorEditType:"style"}),m1t=Bf.marker,y1t=m1t.line,_1t=h2({},y1t.width,{dflt:0}),x1t=h2({width:_1t,editType:"calc"},pye("marker.line")),b1t=h2({line:x1t,editType:"calc"},pye("marker"),{opacity:{valType:"number",arrayOk:!0,dflt:1,min:0,max:1,editType:"style"},pattern:g1t,cornerradius:{valType:"any",editType:"calc"}});gye.exports={x:Bf.x,x0:Bf.x0,dx:Bf.dx,y:Bf.y,y0:Bf.y0,dy:Bf.dy,xperiod:Bf.xperiod,yperiod:Bf.yperiod,xperiod0:Bf.xperiod0,yperiod0:Bf.yperiod0,xperiodalignment:Bf.xperiodalignment,yperiodalignment:Bf.yperiodalignment,xhoverformat:hye("x"),yhoverformat:hye("y"),text:Bf.text,texttemplate:v1t({editType:"plot"},{keys:vye.eventDataKeys}),texttemplatefallback:dye({editType:"plot"}),hovertext:Bf.hovertext,hovertemplate:d1t({},{keys:vye.eventDataKeys}),hovertemplatefallback:dye(),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"calc"},insidetextanchor:{valType:"enumerated",values:["end","middle","start"],dflt:"end",editType:"plot"},textangle:{valType:"angle",dflt:"auto",editType:"plot"},textfont:h2({},RV,{}),insidetextfont:h2({},RV,{}),outsidetextfont:h2({},RV,{}),constraintext:{valType:"enumerated",values:["inside","outside","both","none"],dflt:"both",editType:"calc"},cliponaxis:h2({},Bf.cliponaxis,{}),orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},base:{valType:"any",dflt:null,arrayOk:!0,editType:"calc"},offset:{valType:"number",dflt:null,arrayOk:!0,editType:"calc"},width:{valType:"number",dflt:null,min:0,arrayOk:!0,editType:"calc"},marker:b1t,offsetgroup:Bf.offsetgroup,alignmentgroup:Bf.alignmentgroup,selected:{marker:{opacity:Bf.selected.marker.opacity,color:Bf.selected.marker.color,editType:"style"},textfont:Bf.selected.textfont,editType:"style"},unselected:{marker:{opacity:Bf.unselected.marker.opacity,color:Bf.unselected.marker.color,editType:"style"},textfont:Bf.unselected.textfont,editType:"style"},zorder:Bf.zorder}});var WI=ye((fur,mye)=>{"use strict";mye.exports={barmode:{valType:"enumerated",values:["stack","group","overlay","relative"],dflt:"group",editType:"calc"},barnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},bargap:{valType:"number",min:0,max:1,editType:"calc"},bargroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},barcornerradius:{valType:"any",editType:"calc"}}});var XI=ye((hur,xye)=>{"use strict";var w1t=ka(),yye=pv().hasColorscale,_ye=td(),T1t=Pr().coercePattern;xye.exports=function(t,r,n,i,a){var o=n("marker.color",i),s=yye(t,"marker");s&&_ye(t,r,a,n,{prefix:"marker.",cLetter:"c"}),n("marker.line.color",w1t.defaultLine),yye(t,"marker.line")&&_ye(t,r,a,n,{prefix:"marker.line.",cLetter:"c"}),n("marker.line.width"),n("marker.opacity"),T1t(n,"marker.pattern",o,s),n("selected.marker.color"),n("unselected.marker.color")}});var i0=ye((dur,Mye)=>{"use strict";var bye=Eo(),LT=Pr(),wye=ka(),A1t=Oa(),S1t=lT(),M1t=Dg(),E1t=XI(),k1t=r2(),Tye=qm(),ZI=LT.coerceFont;function C1t(e,t,r,n){function i(u,c){return LT.coerce(e,t,Tye,u,c)}var a=S1t(e,t,n,i);if(!a){t.visible=!1;return}M1t(e,t,n,i),i("xhoverformat"),i("yhoverformat"),i("zorder"),i("orientation",t.x&&!t.y?"h":"v"),i("base"),i("offset"),i("width"),i("text"),i("hovertext"),i("hovertemplate"),i("hovertemplatefallback");var o=i("textposition");Sye(e,t,n,i,o,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),E1t(e,t,i,r,n);var s=(t.marker.line||{}).color,l=A1t.getComponentMethod("errorbars","supplyDefaults");l(e,t,s||wye.defaultLine,{axis:"y"}),l(e,t,s||wye.defaultLine,{axis:"x",inherit:"y"}),LT.coerceSelectionMarkerOpacity(t,i)}function L1t(e,t){var r,n;function i(s,l){return LT.coerce(n._input,n,Tye,s,l)}for(var a=0;a=0)return e}else if(typeof e=="string"&&(e=e.trim(),e.slice(-1)==="%"&&bye(e.slice(0,-1))&&(e=+e.slice(0,-1),e>=0)))return e+"%"}function Sye(e,t,r,n,i,a){a=a||{};var o=a.moduleHasSelected!==!1,s=a.moduleHasUnselected!==!1,l=a.moduleHasConstrain!==!1,u=a.moduleHasCliponaxis!==!1,c=a.moduleHasTextangle!==!1,f=a.moduleHasInsideanchor!==!1,h=!!a.hasPathbar,d=Array.isArray(i)||i==="auto",v=d||i==="inside",m=d||i==="outside";if(v||m){var b=ZI(n,"textfont",r.font),p=LT.extendFlat({},b),k=e.textfont&&e.textfont.color,M=!k;if(M&&delete p.color,ZI(n,"insidetextfont",p),h){var T=LT.extendFlat({},b);M&&delete T.color,ZI(n,"pathbar.textfont",T)}m&&ZI(n,"outsidetextfont",b),o&&n("selected.textfont.color"),s&&n("unselected.textfont.color"),l&&n("constraintext"),u&&n("cliponaxis"),c&&n("textangle"),n("texttemplate"),n("texttemplatefallback")}v&&f&&n("insidetextanchor")}Mye.exports={supplyDefaults:C1t,crossTraceDefaults:L1t,handleText:Sye,validateCornerradius:Aye}});var DV=ye((vur,Eye)=>{"use strict";var P1t=Oa(),I1t=ho(),R1t=Pr(),D1t=WI(),F1t=i0().validateCornerradius;Eye.exports=function(e,t,r){function n(m,b){return R1t.coerce(e,t,D1t,m,b)}for(var i=!1,a=!1,o=!1,s={},l=n("barmode"),u=l==="group",c=0;c0&&!s[h]&&(o=!0),s[h]=!0),f.visible&&f.type==="histogram"){var d=I1t.getFromId({_fullLayout:t},f[f.orientation==="v"?"xaxis":"yaxis"]);d.type!=="category"&&(a=!0)}}if(!i){delete t.barmode;return}l!=="overlay"&&n("barnorm"),n("bargap",a&&!o?0:.2),n("bargroupgap");var v=n("barcornerradius");t.barcornerradius=F1t(v)}});var S4=ye((pur,kye)=>{"use strict";var PT=Pr();kye.exports=function(t,r){for(var n=0;n{"use strict";var Cye=ho(),Lye=zg(),Pye=pv().hasColorscale,Iye=gv(),z1t=S4(),q1t=q0();Rye.exports=function(t,r){var n=Cye.getFromId(t,r.xaxis||"x"),i=Cye.getFromId(t,r.yaxis||"y"),a,o,s,l,u,c,f={msUTC:!!(r.base||r.base===0)};r.orientation==="h"?(a=n.makeCalcdata(r,"x",f),s=i.makeCalcdata(r,"y"),l=Lye(r,i,"y",s),u=!!r.yperiodalignment,c="y"):(a=i.makeCalcdata(r,"y",f),s=n.makeCalcdata(r,"x"),l=Lye(r,n,"x",s),u=!!r.xperiodalignment,c="x"),o=l.vals;for(var h=Math.min(o.length,a.length),d=new Array(h),v=0;v{"use strict";var O1t=qa(),B1t=Pr();function N1t(e,t,r){var n=e._fullLayout,i=n["_"+r+"Text_minsize"];if(i){var a=n.uniformtext.mode==="hide",o;switch(r){case"funnelarea":case"pie":case"sunburst":o="g.slice";break;case"treemap":case"icicle":o="g.slice, g.pathbar";break;default:o="g.points > g.point"}t.selectAll(o).each(function(s){var l=s.transform;if(l){l.scale=a&&l.hide?0:i/l.fontSize;var u=O1t.select(this).select("text");B1t.setTransormAndDisplay(u,l)}})}}function U1t(e,t,r){if(r.uniformtext.mode){var n=Fye(e),i=r.uniformtext.minsize,a=t.scale*t.fontSize;t.hide=a{"use strict";var G1t=Eo(),H1t=fd(),qye=Pr().isArrayOrTypedArray;d2.coerceString=function(e,t,r){if(typeof t=="string"){if(t||!e.noBlank)return t}else if((typeof t=="number"||t===!0)&&!e.strict)return String(t);return r!==void 0?r:e.dflt};d2.coerceNumber=function(e,t,r){if(G1t(t)){t=+t;var n=e.min,i=e.max,a=n!==void 0&&ti;if(!a)return t}return r!==void 0?r:e.dflt};d2.coerceColor=function(e,t,r){return H1t(t).isValid()?t:r!==void 0?r:e.dflt};d2.coerceEnumerated=function(e,t,r){return e.coerceNumber&&(t=+t),e.values.indexOf(t)!==-1?t:r!==void 0?r:e.dflt};d2.getValue=function(e,t){var r;return qye(e)?t{"use strict";var M4=qa(),j1t=ka(),E4=So(),Oye=Pr(),Bye=Oa(),Nye=bv().resizeText,FV=qm(),W1t=FV.textfont,X1t=FV.insidetextfont,Z1t=FV.outsidetextfont,ev=YI();function Y1t(e){var t=M4.select(e).selectAll('g[class^="barlayer"]').selectAll("g.trace");Nye(e,t,"bar");var r=t.size(),n=e._fullLayout;t.style("opacity",function(i){return i[0].trace.opacity}).each(function(i){(n.barmode==="stack"&&r>1||n.bargap===0&&n.bargroupgap===0&&!i[0].trace.marker.line.width)&&M4.select(this).attr("shape-rendering","crispEdges")}),t.selectAll("g.points").each(function(i){var a=M4.select(this),o=i[0].trace;Uye(a,o,e)}),Bye.getComponentMethod("errorbars","style")(t)}function Uye(e,t,r){E4.pointStyle(e.selectAll("path"),t,r),Vye(e,t,r)}function Vye(e,t,r){e.selectAll("text").each(function(n){var i=M4.select(this),a=Oye.ensureUniformFontSize(r,Gye(i,n,t,r));E4.font(i,a)})}function K1t(e,t,r){var n=t[0].trace;n.selectedpoints?J1t(r,n,e):(Uye(r,n,e),Bye.getComponentMethod("errorbars","style")(r))}function J1t(e,t,r){E4.selectedPointStyle(e.selectAll("path"),t),$1t(e.selectAll("text"),t,r)}function $1t(e,t,r){e.each(function(n){var i=M4.select(this),a;if(n.selected){a=Oye.ensureUniformFontSize(r,Gye(i,n,t,r));var o=t.selected.textfont&&t.selected.textfont.color;o&&(a.color=o),E4.font(i,a)}else E4.selectedTextStyle(i,t)})}function Gye(e,t,r,n){var i=n._fullLayout.font,a=r.textfont;if(e.classed("bartext-inside")){var o=Xye(t,r);a=jye(r,t.i,i,o)}else e.classed("bartext-outside")&&(a=Wye(r,t.i,i));return a}function Hye(e,t,r){return zV(W1t,e.textfont,t,r)}function jye(e,t,r,n){var i=Hye(e,t,r),a=e._input.textfont===void 0||e._input.textfont.color===void 0||Array.isArray(e.textfont.color)&&e.textfont.color[t]===void 0;return a&&(i={color:j1t.contrast(n),family:i.family,size:i.size,weight:i.weight,style:i.style,variant:i.variant,textcase:i.textcase,lineposition:i.lineposition,shadow:i.shadow}),zV(X1t,e.insidetextfont,t,i)}function Wye(e,t,r){var n=Hye(e,t,r);return zV(Z1t,e.outsidetextfont,t,n)}function zV(e,t,r,n){t=t||{};var i=ev.getValue(t.family,r),a=ev.getValue(t.size,r),o=ev.getValue(t.color,r),s=ev.getValue(t.weight,r),l=ev.getValue(t.style,r),u=ev.getValue(t.variant,r),c=ev.getValue(t.textcase,r),f=ev.getValue(t.lineposition,r),h=ev.getValue(t.shadow,r);return{family:ev.coerceString(e.family,i,n.family),size:ev.coerceNumber(e.size,a,n.size),color:ev.coerceColor(e.color,o,n.color),weight:ev.coerceString(e.weight,s,n.weight),style:ev.coerceString(e.style,l,n.style),variant:ev.coerceString(e.variant,u,n.variant),textcase:ev.coerceString(e.variant,c,n.textcase),lineposition:ev.coerceString(e.variant,f,n.lineposition),shadow:ev.coerceString(e.variant,h,n.shadow)}}function Xye(e,t){return t.type==="waterfall"?t[e.dir].marker.color:e.mcc||e.mc||t.marker.color}Zye.exports={style:Y1t,styleTextPoints:Vye,styleOnSelect:K1t,getInsideTextFont:jye,getOutsideTextFont:Wye,getBarColor:Xye,resizeText:Nye}});var p2=ye((xur,r1e)=>{"use strict";var KI=qa(),JI=Eo(),Fd=Pr(),Q1t=Zl(),e_t=ka(),I_=So(),t_t=Oa(),$I=ho().tickText,Yye=bv(),r_t=Yye.recordMinTextSize,i_t=Yye.clearMinTextSize,qV=V0(),IT=YI(),n_t=A_(),Kye=qm(),a_t=Kye.text,o_t=Kye.textposition,s_t=ip().appendArrayPointValue,Gv=n_t.TEXTPAD;function l_t(e){return e.id}function u_t(e){if(e.ids)return l_t}function OV(e){return(e>0)-(e<0)}function Om(e,t){return e0}function f_t(e,t,r,n,i,a){var o=t.xaxis,s=t.yaxis,l=e._fullLayout,u=e._context.staticPlot;i||(i={mode:l.barmode,norm:l.barmode,gap:l.bargap,groupgap:l.bargroupgap},i_t("bar",l));var c=Fd.makeTraceGroups(n,r,"trace bars").each(function(f){var h=KI.select(this),d=f[0].trace,v=f[0].t,m=d.type==="waterfall",b=d.type==="funnel",p=d.type==="histogram",k=d.type==="bar",M=k||b,T=0;m&&d.connector.visible&&d.connector.mode==="between"&&(T=d.connector.line.width/2);var L=d.orientation==="h",x=$ye(i),C=Fd.ensureSingle(h,"g","points"),S=u_t(d),g=C.selectAll("g.point").data(Fd.identity,S);g.enter().append("g").classed("point",!0),g.exit().remove(),g.each(function(E,z){var q=KI.select(this),V=c_t(E,o,s,L),G=V[0][0],Z=V[0][1],j=V[1][0],N=V[1][1],H=(L?Z-G:N-j)===0;H&&M&&IT.getLineWidth(d,E)&&(H=!1),H||(H=!JI(G)||!JI(Z)||!JI(j)||!JI(N)),E.isBlank=H,H&&(L?Z=G:N=j),T&&!H&&(L?(G-=Om(G,Z)*T,Z+=Om(G,Z)*T):(j-=Om(j,N)*T,N+=Om(j,N)*T));var ie,ae;if(d.type==="waterfall"){if(!H){var _e=d[E.dir].marker;ie=_e.line.width,ae=_e.color}}else ie=IT.getLineWidth(d,E),ae=E.mc||d.marker.color;function Ee(Ae){var rt=KI.round(ie/2%1,2);return i.gap===0&&i.groupgap===0?KI.round(Math.round(Ae)-rt,2):Ae}function Ce(Ae,rt,St){return St&&Ae===rt?Ae:Math.abs(Ae-rt)>=2?Ee(Ae):Ae>rt?Math.ceil(Ae):Math.floor(Ae)}var ge=e_t.opacity(ae),re=ge<1||ie>.01?Ee:Ce;e._context.staticPlot||(G=re(G,Z,L),Z=re(Z,G,L),j=re(j,N,!L),N=re(N,j,!L));var Se=L?o.c2p:s.c2p,ke;E.s0>0?ke=E._sMax:E.s0<0?ke=E._sMin:ke=E.s1>0?E._sMax:E._sMin;function be(Ae,rt){if(!Ae)return 0;var St=Math.abs(L?N-j:Z-G),Tt=Math.abs(L?Z-G:N-j),dt=re(Math.abs(Se(ke,!0)-Se(0,!0))),Et=E.hasB?Math.min(St/2,Tt/2):Math.min(St/2,dt),pt;if(rt==="%"){var jt=Math.min(50,Ae);pt=St*(jt/100)}else pt=Ae;return re(Math.max(Math.min(pt,Et),0))}var Be=k||p?be(v.cornerradiusvalue,v.cornerradiusform):0,Le,me,Pe="M"+G+","+j+"V"+N+"H"+Z+"V"+j+"Z",ce=0;if(Be&&E.s){var He=OV(E.s0)===0||OV(E.s)===OV(E.s0)?E.s1:E.s0;if(ce=re(E.hasB?0:Math.abs(Se(ke,!0)-Se(He,!0))),ce0?Math.sqrt(ce*(2*Be-ce)):0,ar=lt>0?Math.max:Math.min;Le="M"+G+","+j+"V"+(N-at*mt)+"H"+ar(Z-(Be-ce)*lt,G)+"A "+Be+","+Be+" 0 0 "+Ht+" "+Z+","+(N-Be*mt-ct)+"V"+(j+Be*mt+ct)+"A "+Be+","+Be+" 0 0 "+Ht+" "+ar(Z-(Be-ce)*lt,G)+","+(j+at*mt)+"Z"}else if(E.hasB)Le="M"+(G+Be*lt)+","+j+"A "+Be+","+Be+" 0 0 "+Ht+" "+G+","+(j+Be*mt)+"V"+(N-Be*mt)+"A "+Be+","+Be+" 0 0 "+Ht+" "+(G+Be*lt)+","+N+"H"+(Z-Be*lt)+"A "+Be+","+Be+" 0 0 "+Ht+" "+Z+","+(N-Be*mt)+"V"+(j+Be*mt)+"A "+Be+","+Be+" 0 0 "+Ht+" "+(Z-Be*lt)+","+j+"Z";else{me=Math.abs(N-j)+ce;var Vt=me0?Math.sqrt(ce*(2*Be-ce)):0,tt=mt>0?Math.max:Math.min;Le="M"+(G+Vt*lt)+","+j+"V"+tt(N-(Be-ce)*mt,j)+"A "+Be+","+Be+" 0 0 "+Ht+" "+(G+Be*lt-rr)+","+N+"H"+(Z-Be*lt+rr)+"A "+Be+","+Be+" 0 0 "+Ht+" "+(Z-Vt*lt)+","+tt(N-(Be-ce)*mt,j)+"V"+j+"Z"}}else Le=Pe}else Le=Pe;var je=Jye(Fd.ensureSingle(q,"path"),l,i,a);if(je.style("vector-effect",u?"none":"non-scaling-stroke").attr("d",isNaN((Z-G)*(N-j))||H&&e._context.staticPlot?"M0,0Z":Le).call(I_.setClipUrl,t.layerClipId,e),!l.uniformtext.mode&&x){var Ue=I_.makePointStyleFns(d);I_.singlePointStyle(E,je,d,Ue,e)}h_t(e,t,q,f,z,G,Z,j,N,Be,ce,i,a),t.layerClipId&&I_.hideOutsideRangePoint(E,q.select("text"),o,s,d.xcalendar,d.ycalendar)});var P=d.cliponaxis===!1;I_.setClipUrl(h,P?null:t.layerClipId,e)});t_t.getComponentMethod("errorbars","plot")(e,c,t,i)}function h_t(e,t,r,n,i,a,o,s,l,u,c,f,h){var d=t.xaxis,v=t.yaxis,m=e._fullLayout,b;function p(me,Pe,ce){var He=Fd.ensureSingle(me,"text").text(Pe).attr({class:"bartext bartext-"+b,"text-anchor":"middle","data-notex":1}).call(I_.font,ce).call(Q1t.convertToTspans,e);return He}var k=n[0].trace,M=k.orientation==="h",T=p_t(m,n,i,d,v);b=g_t(k,i);var L=f.mode==="stack"||f.mode==="relative",x=n[i],C=!L||x._outmost,S=x.hasB,g=u&&u-c>Gv;if(!T||b==="none"||(x.isBlank||a===o||s===l)&&(b==="auto"||b==="inside")){r.select("text").remove();return}var P=m.font,E=qV.getBarColor(n[i],k),z=qV.getInsideTextFont(k,i,P,E),q=qV.getOutsideTextFont(k,i,P),V=k.insidetextanchor||"end",G=r.datum();M?d.type==="log"&&G.s0<=0&&(d.range[0]0&&Ee>0,re;g?S?re=v2(N-2*u,H,_e,Ee,M)||v2(N,H-2*u,_e,Ee,M):M?re=v2(N-(u-c),H,_e,Ee,M)||v2(N,H-2*(u-c),_e,Ee,M):re=v2(N,H-(u-c),_e,Ee,M)||v2(N-2*(u-c),H,_e,Ee,M):re=v2(N,H,_e,Ee,M),ge&&re?b="inside":(b="outside",ie.remove(),ie=null)}else b="inside";if(!ie){Ce=Fd.ensureUniformFontSize(e,b==="outside"?q:z),ie=p(r,T,Ce);var Se=ie.attr("transform");if(ie.attr("transform",""),ae=I_.bBox(ie.node()),_e=ae.width,Ee=ae.height,ie.attr("transform",Se),_e<=0||Ee<=0){ie.remove();return}}var ke=k.textangle,be,Be;b==="outside"?(Be=k.constraintext==="both"||k.constraintext==="outside",be=v_t(a,o,s,l,ae,{isHorizontal:M,constrained:Be,angle:ke})):(Be=k.constraintext==="both"||k.constraintext==="inside",be=t1e(a,o,s,l,ae,{isHorizontal:M,constrained:Be,angle:ke,anchor:V,hasB:S,r:u,overhead:c})),be.fontSize=Ce.size,r_t(k.type==="histogram"?"bar":k.type,be,m),x.transform=be;var Le=Jye(ie,m,f,h);Fd.setTransormAndDisplay(Le,be)}function v2(e,t,r,n,i){if(e<0||t<0)return!1;var a=r<=e&&n<=t,o=r<=t&&n<=e,s=i?e>=r*(t/n):t>=n*(e/r);return a||o||s}function Qye(e){return e==="auto"?0:e}function e1e(e,t){var r=Math.PI/180*t,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:e.width*i+e.height*n,y:e.width*n+e.height*i}}function t1e(e,t,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=a.anchor,c=u==="end",f=u==="start",h=a.leftToRight||0,d=(h+1)/2,v=1-d,m=a.hasB,b=a.r,p=a.overhead,k=i.width,M=i.height,T=Math.abs(t-e),L=Math.abs(n-r),x=T>2*Gv&&L>2*Gv?Gv:0;T-=2*x,L-=2*x;var C=Qye(l);l==="auto"&&!(k<=T&&M<=L)&&(k>T||M>L)&&(!(k>L||M>T)||kGv){var E=d_t(e,t,r,n,S,b,p,o,m);g=E.scale,P=E.pad}else g=1,s&&(g=Math.min(1,T/S.x,L/S.y)),P=0;var z=i.left*v+i.right*d,q=(i.top+i.bottom)/2,V=(e+Gv)*v+(t-Gv)*d,G=(r+n)/2,Z=0,j=0;if(f||c){var N=(o?S.x:S.y)/2;b&&(c||m)&&(x+=P);var H=o?Om(e,t):Om(r,n);o?f?(V=e+H*x,Z=-H*N):(V=t-H*x,Z=H*N):f?(G=r+H*x,j=-H*N):(G=n-H*x,j=H*N)}return{textX:z,textY:q,targetX:V,targetY:G,anchorX:Z,anchorY:j,scale:g,rotate:C}}function d_t(e,t,r,n,i,a,o,s,l){var u=Math.max(0,Math.abs(t-e)-2*Gv),c=Math.max(0,Math.abs(n-r)-2*Gv),f=a-Gv,h=o?f-Math.sqrt(f*f-(f-o)*(f-o)):f,d=l?f*2:s?f-o:2*h,v=l?f*2:s?2*h:f-o,m,b,p,k,M;return i.y/i.x>=c/(u-d)?k=c/i.y:i.y/i.x<=(c-v)/u?k=u/i.x:!l&&s?(m=i.x*i.x+i.y*i.y/4,b=-2*i.x*(u-f)-i.y*(c/2-f),p=(u-f)*(u-f)+(c/2-f)*(c/2-f)-f*f,k=(-b+Math.sqrt(b*b-4*m*p))/(2*m)):l?(m=(i.x*i.x+i.y*i.y)/4,b=-i.x*(u/2-f)-i.y*(c/2-f),p=(u/2-f)*(u/2-f)+(c/2-f)*(c/2-f)-f*f,k=(-b+Math.sqrt(b*b-4*m*p))/(2*m)):(m=i.x*i.x/4+i.y*i.y,b=-i.x*(u/2-f)-2*i.y*(c-f),p=(u/2-f)*(u/2-f)+(c-f)*(c-f)-f*f,k=(-b+Math.sqrt(b*b-4*m*p))/(2*m)),k=Math.min(1,k),s?M=Math.max(0,f-Math.sqrt(Math.max(0,f*f-(f-(c-i.y*k)/2)*(f-(c-i.y*k)/2)))-o):M=Math.max(0,f-Math.sqrt(Math.max(0,f*f-(f-(u-i.x*k)/2)*(f-(u-i.x*k)/2)))-o),{scale:k,pad:M}}function v_t(e,t,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=i.width,c=i.height,f=Math.abs(t-e),h=Math.abs(n-r),d;o?d=h>2*Gv?Gv:0:d=f>2*Gv?Gv:0;var v=1;s&&(v=o?Math.min(1,h/c):Math.min(1,f/u));var m=Qye(l),b=e1e(i,m),p=(o?b.x:b.y)/2,k=(i.left+i.right)/2,M=(i.top+i.bottom)/2,T=(e+t)/2,L=(r+n)/2,x=0,C=0,S=o?Om(t,e):Om(r,n);return o?(T=t-S*d,x=S*p):(L=n+S*d,C=-S*p),{textX:k,textY:M,targetX:T,targetY:L,anchorX:x,anchorY:C,scale:v,rotate:m}}function p_t(e,t,r,n,i){var a=t[0].trace,o=a.texttemplate,s;return o?s=m_t(e,t,r,n,i):a.textinfo?s=y_t(t,r,n,i):s=IT.getValue(a.text,r),IT.coerceString(a_t,s)}function g_t(e,t){var r=IT.getValue(e.textposition,t);return IT.coerceEnumerated(o_t,r)}function m_t(e,t,r,n,i){var a=t[0].trace,o=Fd.castOption(a,r,"texttemplate");if(!o)return"";var s=a.type==="histogram",l=a.type==="waterfall",u=a.type==="funnel",c=a.orientation==="h",f,h,d,v;c?(f="y",h=i,d="x",v=n):(f="x",h=n,d="y",v=i);function m(x){return $I(h,h.c2l(x),!0).text}function b(x){return $I(v,v.c2l(x),!0).text}var p=t[r],k={};k.label=p.p,k.labelLabel=k[f+"Label"]=m(p.p);var M=Fd.castOption(a,p.i,"text");(M===0||M)&&(k.text=M),k.value=p.s,k.valueLabel=k[d+"Label"]=b(p.s);var T={};s_t(T,a,p.i),(s||T.x===void 0)&&(T.x=c?k.value:k.label),(s||T.y===void 0)&&(T.y=c?k.label:k.value),(s||T.xLabel===void 0)&&(T.xLabel=c?k.valueLabel:k.labelLabel),(s||T.yLabel===void 0)&&(T.yLabel=c?k.labelLabel:k.valueLabel),l&&(k.delta=+p.rawS||p.s,k.deltaLabel=b(k.delta),k.final=p.v,k.finalLabel=b(k.final),k.initial=k.final-k.delta,k.initialLabel=b(k.initial)),u&&(k.value=p.s,k.valueLabel=b(k.value),k.percentInitial=p.begR,k.percentInitialLabel=Fd.formatPercent(p.begR),k.percentPrevious=p.difR,k.percentPreviousLabel=Fd.formatPercent(p.difR),k.percentTotal=p.sumR,k.percenTotalLabel=Fd.formatPercent(p.sumR));var L=Fd.castOption(a,p.i,"customdata");return L&&(k.customdata=L),Fd.texttemplateString({data:[T,k,a._meta],fallback:a.texttemplatefallback,labels:k,locale:e._d3locale,template:o})}function y_t(e,t,r,n){var i=e[0].trace,a=i.orientation==="h",o=i.type==="waterfall",s=i.type==="funnel";function l(L){var x=a?n:r;return $I(x,L,!0).text}function u(L){var x=a?r:n;return $I(x,+L,!0).text}var c=i.textinfo,f=e[t],h=c.split("+"),d=[],v,m=function(L){return h.indexOf(L)!==-1};if(m("label")&&d.push(l(e[t].p)),m("text")&&(v=Fd.castOption(i,f.i,"text"),(v===0||v)&&d.push(v)),o){var b=+f.rawS||f.s,p=f.v,k=p-b;m("initial")&&d.push(u(k)),m("delta")&&d.push(u(b)),m("final")&&d.push(u(p))}if(s){m("value")&&d.push(u(f.s));var M=0;m("percent initial")&&M++,m("percent previous")&&M++,m("percent total")&&M++;var T=M>1;m("percent initial")&&(v=Fd.formatPercent(f.begR),T&&(v+=" of initial"),d.push(v)),m("percent previous")&&(v=Fd.formatPercent(f.difR),T&&(v+=" of previous"),d.push(v)),m("percent total")&&(v=Fd.formatPercent(f.sumR),T&&(v+=" of total"),d.push(v))}return d.join("
")}r1e.exports={plot:f_t,toMoveInsideBar:t1e}});var RT=ye((bur,o1e)=>{"use strict";var k4=ef(),__t=Oa(),i1e=ka(),x_t=Pr().fillText,b_t=YI().getLineWidth,BV=ho().hoverLabelText,w_t=fs().BADNUM;function T_t(e,t,r,n,i){var a=n1e(e,t,r,n,i);if(a){var o=a.cd,s=o[0].trace,l=o[a.index];return a.color=a1e(s,l),__t.getComponentMethod("errorbars","hoverInfo")(l,s,a),[a]}}function n1e(e,t,r,n,i){var a=e.cd,o=a[0].trace,s=a[0].t,l=n==="closest",u=o.type==="waterfall",c=e.maxHoverDistance,f=e.maxSpikeDistance,h,d,v,m,b,p,k;o.orientation==="h"?(h=r,d=t,v="y",m="x",b=G,p=z):(h=t,d=r,v="x",m="y",p=G,b=z);var M=o[v+"period"],T=l||M;function L(re){return C(re,-1)}function x(re){return C(re,1)}function C(re,Se){var ke=re.w;return re[v]+Se*ke/2}function S(re){return re[v+"End"]-re[v+"Start"]}var g=l?L:M?function(re){return re.p-S(re)/2}:function(re){return Math.min(L(re),re.p-s.bardelta/2)},P=l?x:M?function(re){return re.p+S(re)/2}:function(re){return Math.max(x(re),re.p+s.bardelta/2)};function E(re,Se,ke){return i.finiteRange&&(ke=0),k4.inbox(re-h,Se-h,ke+Math.min(1,Math.abs(Se-re)/k)-1)}function z(re){return E(g(re),P(re),c)}function q(re){return E(L(re),x(re),f)}function V(re){var Se=re[m];if(u){var ke=Math.abs(re.rawS)||0;d>0?Se+=ke:d<0&&(Se-=ke)}return Se}function G(re){var Se=d,ke=re.b,be=V(re);return k4.inbox(ke-Se,be-Se,c+(be-Se)/(be-ke)-1)}function Z(re){var Se=d,ke=re.b,be=V(re);return k4.inbox(ke-Se,be-Se,f+(be-Se)/(be-ke)-1)}var j=e[v+"a"],N=e[m+"a"];k=Math.abs(j.r2c(j.range[1])-j.r2c(j.range[0]));function H(re){return(b(re)+p(re))/2}var ie=k4.getDistanceFunction(n,b,p,H);if(k4.getClosest(a,ie,e),e.index!==!1&&a[e.index].p!==w_t){T||(g=function(re){return Math.min(L(re),re.p-s.bargroupwidth/2)},P=function(re){return Math.max(x(re),re.p+s.bargroupwidth/2)});var ae=e.index,_e=a[ae],Ee=o.base?_e.b+_e.s:_e.s;e[m+"0"]=e[m+"1"]=N.c2p(_e[m],!0),e[m+"LabelVal"]=Ee;var Ce=s.extents[s.extents.round(_e.p)];e[v+"0"]=j.c2p(l?g(_e):Ce[0],!0),e[v+"1"]=j.c2p(l?P(_e):Ce[1],!0);var ge=_e.orig_p!==void 0;return e[v+"LabelVal"]=ge?_e.orig_p:_e.p,e.labelLabel=BV(j,e[v+"LabelVal"],o[v+"hoverformat"]),e.valueLabel=BV(N,e[m+"LabelVal"],o[m+"hoverformat"]),e.baseLabel=BV(N,_e.b,o[m+"hoverformat"]),e.spikeDistance=(Z(_e)+q(_e))/2,e[v+"Spike"]=j.c2p(_e.p,!0),x_t(_e,o,e),e.hovertemplate=o.hovertemplate,e}}function a1e(e,t){var r=t.mcc||e.marker.color,n=t.mlcc||e.marker.line.color,i=b_t(e,t);if(i1e.opacity(r))return r;if(i1e.opacity(n)&&i)return n}o1e.exports={hoverPoints:T_t,hoverOnBars:n1e,getTraceColor:a1e}});var l1e=ye((wur,s1e)=>{"use strict";s1e.exports=function(t,r,n){return t.x="xVal"in r?r.xVal:r.x,t.y="yVal"in r?r.yVal:r.y,r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),n.orientation==="h"?(t.label=t.y,t.value=t.x):(t.label=t.x,t.value=t.y),t}});var DT=ye((Tur,u1e)=>{"use strict";u1e.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=n[0].trace,s=o.type==="funnel",l=o.orientation==="h",u=[],c;if(r===!1)for(c=0;c{"use strict";c1e.exports={attributes:qm(),layoutAttributes:WI(),supplyDefaults:i0().supplyDefaults,crossTraceDefaults:i0().crossTraceDefaults,supplyLayoutDefaults:DV(),calc:Dye(),crossTraceCalc:i2().crossTraceCalc,colorbar:Qd(),arraysToCalcdata:S4(),plot:p2().plot,style:V0().style,styleOnSelect:V0().styleOnSelect,hoverPoints:RT().hoverPoints,eventData:l1e(),selectPoints:DT(),moduleType:"trace",name:"bar",basePlotModule:mh(),categories:["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],animatable:!0,meta:{}}});var d1e=ye((Sur,h1e)=>{"use strict";h1e.exports=f1e()});var C4=ye((Mur,m1e)=>{"use strict";var S_t=Pg(),G0=pf(),v1e=qm(),M_t=Ih(),p1e=vf().axisHoverFormat,{hovertemplateAttrs:E_t,templatefallbackAttrs:k_t}=Ll(),Gy=Ao().extendFlat,FT=G0.marker,g1e=FT.line;m1e.exports={y:{valType:"data_array",editType:"calc+clearAxisTypes"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},x0:{valType:"any",editType:"calc+clearAxisTypes"},y0:{valType:"any",editType:"calc+clearAxisTypes"},dx:{valType:"number",editType:"calc"},dy:{valType:"number",editType:"calc"},xperiod:G0.xperiod,yperiod:G0.yperiod,xperiod0:G0.xperiod0,yperiod0:G0.yperiod0,xperiodalignment:G0.xperiodalignment,yperiodalignment:G0.yperiodalignment,xhoverformat:p1e("x"),yhoverformat:p1e("y"),name:{valType:"string",editType:"calc+clearAxisTypes"},q1:{valType:"data_array",editType:"calc+clearAxisTypes"},median:{valType:"data_array",editType:"calc+clearAxisTypes"},q3:{valType:"data_array",editType:"calc+clearAxisTypes"},lowerfence:{valType:"data_array",editType:"calc"},upperfence:{valType:"data_array",editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},notchspan:{valType:"data_array",editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},sdmultiple:{valType:"number",min:0,editType:"calc",dflt:1},sizemode:{valType:"enumerated",values:["quartiles","sd"],editType:"calc",dflt:"quartiles"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],editType:"calc"},mean:{valType:"data_array",editType:"calc"},sd:{valType:"data_array",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},quartilemethod:{valType:"enumerated",values:["linear","exclusive","inclusive"],dflt:"linear",editType:"calc"},width:{valType:"number",min:0,dflt:0,editType:"calc"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:Gy({},FT.symbol,{arrayOk:!1,editType:"plot"}),opacity:Gy({},FT.opacity,{arrayOk:!1,dflt:1,editType:"style"}),angle:Gy({},FT.angle,{arrayOk:!1,editType:"calc"}),size:Gy({},FT.size,{arrayOk:!1,editType:"calc"}),color:Gy({},FT.color,{arrayOk:!1,editType:"style"}),line:{color:Gy({},g1e.color,{arrayOk:!1,dflt:M_t.defaultLine,editType:"style"}),width:Gy({},g1e.width,{arrayOk:!1,dflt:0,editType:"style"}),outliercolor:{valType:"color",editType:"style"},outlierwidth:{valType:"number",min:0,dflt:1,editType:"style"},editType:"style"},editType:"plot"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:S_t(),whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},showwhiskers:{valType:"boolean",editType:"calc"},offsetgroup:v1e.offsetgroup,alignmentgroup:v1e.alignmentgroup,selected:{marker:G0.selected.marker,editType:"style"},unselected:{marker:G0.unselected.marker,editType:"style"},text:Gy({},G0.text,{}),hovertext:Gy({},G0.hovertext,{}),hovertemplate:E_t({}),hovertemplatefallback:k_t(),hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"},zorder:G0.zorder}});var L4=ye((Eur,y1e)=>{"use strict";y1e.exports={boxmode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},boxgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc"},boxgroupgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc"}}});var I4=ye((kur,w1e)=>{"use strict";var H0=Pr(),C_t=Oa(),L_t=ka(),P_t=Dg(),I_t=r2(),_1e=H3(),P4=C4();function R_t(e,t,r,n){function i(v,m){return H0.coerce(e,t,P4,v,m)}if(x1e(e,t,i,n),t.visible!==!1){P_t(e,t,n,i),i("xhoverformat"),i("yhoverformat");var a=t._hasPreCompStats;a&&(i("lowerfence"),i("upperfence")),i("line.color",(e.marker||{}).color||r),i("line.width"),i("fillcolor",L_t.addOpacity(t.line.color,.5));var o=!1;if(a){var s=i("mean"),l=i("sd");s&&s.length&&(o=!0,l&&l.length&&(o="sd"))}i("whiskerwidth");var u=i("sizemode"),c;u==="quartiles"&&(c=i("boxmean",o)),i("showwhiskers",u==="quartiles"),(u==="sd"||c==="sd")&&i("sdmultiple"),i("width"),i("quartilemethod");var f=!1;if(a){var h=i("notchspan");h&&h.length&&(f=!0)}else H0.validate(e.notchwidth,P4.notchwidth)&&(f=!0);var d=i("notched",f);d&&i("notchwidth"),b1e(e,t,i,{prefix:"box"}),i("zorder")}}function x1e(e,t,r,n){function i(P){var E=0;return P&&P.length&&(E+=1,H0.isArrayOrTypedArray(P[0])&&P[0].length&&(E+=1)),E}function a(P){return H0.validate(e[P],P4[P])}var o=r("y"),s=r("x"),l;if(t.type==="box"){var u=r("q1"),c=r("median"),f=r("q3");t._hasPreCompStats=u&&u.length&&c&&c.length&&f&&f.length,l=Math.min(H0.minRowLength(u),H0.minRowLength(c),H0.minRowLength(f))}else t._hasPreCompStats=!1;var h=i(o),d=i(s),v=h&&H0.minRowLength(o),m=d&&H0.minRowLength(s),b=n.calendar,p={autotypenumbers:n.autotypenumbers},k,M;if(t._hasPreCompStats)switch(String(d)+String(h)){case"00":var T=a("x0")||a("dx"),L=a("y0")||a("dy");L&&!T?k="h":k="v",M=l;break;case"10":k="v",M=Math.min(l,m);break;case"20":k="h",M=Math.min(l,s.length);break;case"01":k="h",M=Math.min(l,v);break;case"02":k="v",M=Math.min(l,o.length);break;case"12":k="v",M=Math.min(l,m,o.length);break;case"21":k="h",M=Math.min(l,s.length,v);break;case"11":M=0;break;case"22":var x=!1,C;for(C=0;C0?(k="v",d>0?M=Math.min(m,v):M=Math.min(v)):d>0?(k="h",M=Math.min(m)):M=0;if(!M){t.visible=!1;return}t._length=M;var S=r("orientation",k);t._hasPreCompStats?S==="v"&&d===0?(r("x0",0),r("dx",1)):S==="h"&&h===0&&(r("y0",0),r("dy",1)):S==="v"&&d===0?r("x0"):S==="h"&&h===0&&r("y0");var g=C_t.getComponentMethod("calendars","handleTraceDefaults");g(e,t,["x","y"],n)}function b1e(e,t,r,n){var i=n.prefix,a=H0.coerce2(e,t,P4,"marker.outliercolor"),o=r("marker.line.outliercolor"),s="outliers";t._hasPreCompStats?s="all":(a||o)&&(s="suspectedoutliers");var l=r(i+"points",s);l?(r("jitter",l==="all"?.3:0),r("pointpos",l==="all"?-1.5:0),r("marker.symbol"),r("marker.opacity"),r("marker.size"),r("marker.angle"),r("marker.color",t.line.color),r("marker.line.color"),r("marker.line.width"),l==="suspectedoutliers"&&(r("marker.line.outliercolor",t.marker.color),r("marker.line.outlierwidth")),r("selected.marker.color"),r("unselected.marker.color"),r("selected.marker.size"),r("unselected.marker.size"),r("text"),r("hovertext")):delete t.marker;var u=r("hoveron");(u==="all"||u.indexOf("points")!==-1)&&(r("hovertemplate"),r("hovertemplatefallback")),H0.coerceSelectionMarkerOpacity(t,r)}function D_t(e,t){var r,n;function i(l){return H0.coerce(n._input,n,P4,l)}for(var a=0;a{"use strict";var F_t=Oa(),z_t=Pr(),q_t=L4();function T1e(e,t,r,n,i){for(var a=i+"Layout",o=!1,s=0;s{"use strict";var UV=Eo(),e8=ho(),B_t=zg(),yh=Pr(),n0=fs().BADNUM,Hy=yh._;R1e.exports=function(t,r){var n=t._fullLayout,i=e8.getFromId(t,r.xaxis||"x"),a=e8.getFromId(t,r.yaxis||"y"),o=[],s=r.type==="violin"?"_numViolins":"_numBoxes",l,u,c,f,h,d,v;r.orientation==="h"?(c=i,f="x",h=a,d="y",v=!!r.yperiodalignment):(c=a,f="y",h=i,d="x",v=!!r.xperiodalignment);var m=N_t(r,d,h,n[s]),b=m[0],p=m[1],k=yh.distinctVals(b,h),M=k.vals,T=k.minDiff/2,L,x,C,S,g,P,E=(r.boxpoints||r.points)==="all"?yh.identity:function(Ht){return Ht.vL.uf};if(r._hasPreCompStats){var z=r[f],q=function(Ht){return c.d2c((r[Ht]||[])[l])},V=1/0,G=-1/0;for(l=0;l=L.q1&&L.q3>=L.med){var j=q("lowerfence");L.lf=j!==n0&&j<=L.q1?j:k1e(L,C,S);var N=q("upperfence");L.uf=N!==n0&&N>=L.q3?N:C1e(L,C,S);var H=q("mean");L.mean=H!==n0?H:S?yh.mean(C,S):(L.q1+L.q3)/2;var ie=q("sd");L.sd=H!==n0&&ie>=0?ie:S?yh.stdev(C,S,L.mean):L.q3-L.q1,L.lo=L1e(L),L.uo=P1e(L);var ae=q("notchspan");ae=ae!==n0&&ae>0?ae:I1e(L,S),L.ln=L.med-ae,L.un=L.med+ae;var _e=L.lf,Ee=L.uf;r.boxpoints&&C.length&&(_e=Math.min(_e,C[0]),Ee=Math.max(Ee,C[S-1])),r.notched&&(_e=Math.min(_e,L.ln),Ee=Math.max(Ee,L.un)),L.min=_e,L.max=Ee}else{yh.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+L.q1,"median = "+L.med,"q3 = "+L.q3].join(` -`));var Ce;L.med!==n0?Ce=L.med:L.q1!==n0?L.q3!==n0?Ce=(L.q1+L.q3)/2:Ce=L.q1:L.q3!==n0?Ce=L.q3:Ce=0,L.med=Ce,L.q1=L.q3=Ce,L.lf=L.uf=Ce,L.mean=L.sd=Ce,L.ln=L.un=Ce,L.min=L.max=Ce}V=Math.min(V,L.min),G=Math.max(G,L.max),L.pts2=x.filter(E),o.push(L)}}r._extremes[c._id]=e8.findExtremes(c,[V,G],{padded:!0})}else{var ge=c.makeCalcdata(r,f),re=U_t(M,T),Se=M.length,ke=V_t(Se);for(l=0;l=0&&be0){if(L={},L.pos=L[d]=M[l],x=L.pts=ke[l].sort(M1e),C=L[f]=x.map(E1e),S=C.length,L.min=C[0],L.max=C[S-1],L.mean=yh.mean(C,S),L.sd=yh.stdev(C,S,L.mean)*r.sdmultiple,L.med=yh.interp(C,.5),S%2&&(Pe||ce)){var He,lt;Pe?(He=C.slice(0,S/2),lt=C.slice(S/2+1)):ce&&(He=C.slice(0,S/2+1),lt=C.slice(S/2)),L.q1=yh.interp(He,.5),L.q3=yh.interp(lt,.5)}else L.q1=yh.interp(C,.25),L.q3=yh.interp(C,.75);L.lf=k1e(L,C,S),L.uf=C1e(L,C,S),L.lo=L1e(L),L.uo=P1e(L);var mt=I1e(L,S);L.ln=L.med-mt,L.un=L.med+mt,Be=Math.min(Be,L.ln),Le=Math.max(Le,L.un),L.pts2=x.filter(E),o.push(L)}r.notched&&yh.isTypedArray(ge)&&(ge=Array.from(ge)),r._extremes[c._id]=e8.findExtremes(c,r.notched?ge.concat([Be,Le]):ge,{padded:!0})}return G_t(o,r),o.length>0?(o[0].t={num:n[s],dPos:T,posLetter:d,valLetter:f,labels:{med:Hy(t,"median:"),min:Hy(t,"min:"),q1:Hy(t,"q1:"),q3:Hy(t,"q3:"),max:Hy(t,"max:"),mean:r.boxmean==="sd"||r.sizemode==="sd"?Hy(t,"mean \xB1 \u03C3:").replace("\u03C3",r.sdmultiple===1?"\u03C3":r.sdmultiple+"\u03C3"):Hy(t,"mean:"),lf:Hy(t,"lower fence:"),uf:Hy(t,"upper fence:")}},n[s]++,o):[{t:{empty:!0}}]};function N_t(e,t,r,n){var i=t in e,a=t+"0"in e,o="d"+t in e;if(i||a&&o){var s=r.makeCalcdata(e,t),l=B_t(e,r,t,s).vals;return[l,s]}var u;a?u=e[t+"0"]:"name"in e&&(r.type==="category"||UV(e.name)&&["linear","log"].indexOf(r.type)!==-1||yh.isDateTime(e.name)&&r.type==="date")?u=e.name:u=n;for(var c=r.type==="multicategory"?r.r2c_just_indices(u):r.d2c(u,0,e[t+"calendar"]),f=e._length,h=new Array(f),d=0;d{"use strict";var D1e=ho(),H_t=Pr(),j_t=$b().getAxisGroup,F1e=["v","h"];function W_t(e,t){for(var r=e.calcdata,n=t.xaxis,i=t.yaxis,a=0;a1,k=1-a[e+"gap"],M=1-a[e+"groupgap"];for(l=0;l0;if(C==="positive"?(N=S*(x?1:.5),ae=ie,H=ae=P):C==="negative"?(N=ae=P,H=S*(x?1:.5),_e=ie):(N=H=S,ae=_e=ie),ke){var be=T.pointpos,Be=T.jitter,Le=T.marker.size/2,me=0;be+Be>=0&&(me=ie*(be+Be),me>N?(Se=!0,ge=Le,Ee=me):me>ae&&(ge=Le,Ee=N)),me<=N&&(Ee=N);var Pe=0;be-Be<=0&&(Pe=-ie*(be-Be),Pe>H?(Se=!0,re=Le,Ce=Pe):Pe>_e&&(re=Le,Ce=H)),Pe<=H&&(Ce=H)}else Ee=N,Ce=H;var ce=new Array(c.length);for(u=0;u{"use strict";var zT=qa(),g2=Pr(),X_t=So(),O1e=5,Z_t=.01;function Y_t(e,t,r,n){var i=e._context.staticPlot,a=t.xaxis,o=t.yaxis;g2.makeTraceGroups(n,r,"trace boxes").each(function(s){var l=zT.select(this),u=s[0],c=u.t,f=u.trace;if(c.wdPos=c.bdPos*f.whiskerwidth,f.visible!==!0||c.empty){l.remove();return}var h,d;f.orientation==="h"?(h=o,d=a):(h=a,d=o),B1e(l,{pos:h,val:d},f,c,i),N1e(l,{x:a,y:o},f,c),U1e(l,{pos:h,val:d},f,c)})}function B1e(e,t,r,n,i){var a=r.orientation==="h",o=t.val,s=t.pos,l=!!s.rangebreaks,u=n.bPos,c=n.wdPos||0,f=n.bPosPxOffset||0,h=r.whiskerwidth||0,d=r.showwhiskers!==!1,v=r.notched||!1,m=v?1-2*r.notchwidth:1,b,p;Array.isArray(n.bdPos)?(b=n.bdPos[0],p=n.bdPos[1]):(b=n.bdPos,p=n.bdPos);var k=e.selectAll("path.box").data(r.type!=="violin"||r.box.visible?g2.identity:[]);k.enter().append("path").style("vector-effect",i?"none":"non-scaling-stroke").attr("class","box"),k.exit().remove(),k.each(function(M){if(M.empty)return zT.select(this).attr("d","M0,0Z");var T=s.c2l(M.pos+u,!0),L=s.l2p(T-b)+f,x=s.l2p(T+p)+f,C=l?(L+x)/2:s.l2p(T)+f,S=r.whiskerwidth,g=l?L*S+(1-S)*C:s.l2p(T-c)+f,P=l?x*S+(1-S)*C:s.l2p(T+c)+f,E=s.l2p(T-b*m)+f,z=s.l2p(T+p*m)+f,q=r.sizemode==="sd",V=o.c2p(q?M.mean-M.sd:M.q1,!0),G=q?o.c2p(M.mean+M.sd,!0):o.c2p(M.q3,!0),Z=g2.constrain(q?o.c2p(M.mean,!0):o.c2p(M.med,!0),Math.min(V,G)+1,Math.max(V,G)-1),j=M.lf===void 0||r.boxpoints===!1||q,N=o.c2p(j?M.min:M.lf,!0),H=o.c2p(j?M.max:M.uf,!0),ie=o.c2p(M.ln,!0),ae=o.c2p(M.un,!0);a?zT.select(this).attr("d","M"+Z+","+E+"V"+z+"M"+V+","+L+"V"+x+(v?"H"+ie+"L"+Z+","+z+"L"+ae+","+x:"")+"H"+G+"V"+L+(v?"H"+ae+"L"+Z+","+E+"L"+ie+","+L:"")+"Z"+(d?"M"+V+","+C+"H"+N+"M"+G+","+C+"H"+H+(h===0?"":"M"+N+","+g+"V"+P+"M"+H+","+g+"V"+P):"")):zT.select(this).attr("d","M"+E+","+Z+"H"+z+"M"+L+","+V+"H"+x+(v?"V"+ie+"L"+z+","+Z+"L"+x+","+ae:"")+"V"+G+"H"+L+(v?"V"+ae+"L"+E+","+Z+"L"+L+","+ie:"")+"Z"+(d?"M"+C+","+V+"V"+N+"M"+C+","+G+"V"+H+(h===0?"":"M"+g+","+N+"H"+P+"M"+g+","+H+"H"+P):""))})}function N1e(e,t,r,n){var i=t.x,a=t.y,o=n.bdPos,s=n.bPos,l=r.boxpoints||r.points;g2.seedPseudoRandom();var u=function(h){return h.forEach(function(d){d.t=n,d.trace=r}),h},c=e.selectAll("g.points").data(l?u:[]);c.enter().append("g").attr("class","points"),c.exit().remove();var f=c.selectAll("path").data(function(h){var d,v=h.pts2,m=Math.max((h.max-h.min)/10,h.q3-h.q1),b=m*1e-9,p=m*Z_t,k=[],M=0,T;if(r.jitter){if(m===0)for(M=1,k=new Array(v.length),d=0;dh.lo&&(P.so=!0)}return v});f.enter().append("path").classed("point",!0),f.exit().remove(),f.call(X_t.translatePoints,i,a)}function U1e(e,t,r,n){var i=t.val,a=t.pos,o=!!a.rangebreaks,s=n.bPos,l=n.bPosPxOffset||0,u=r.boxmean||(r.meanline||{}).visible,c,f;Array.isArray(n.bdPos)?(c=n.bdPos[0],f=n.bdPos[1]):(c=n.bdPos,f=n.bdPos);var h=e.selectAll("path.mean").data(r.type==="box"&&r.boxmean||r.type==="violin"&&r.box.visible&&r.meanline.visible?g2.identity:[]);h.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),h.exit().remove(),h.each(function(d){var v=a.c2l(d.pos+s,!0),m=a.l2p(v-c)+l,b=a.l2p(v+f)+l,p=o?(m+b)/2:a.l2p(v)+l,k=i.c2p(d.mean,!0),M=i.c2p(d.mean-d.sd,!0),T=i.c2p(d.mean+d.sd,!0);r.orientation==="h"?zT.select(this).attr("d","M"+k+","+m+"V"+b+(u==="sd"?"m0,0L"+M+","+p+"L"+k+","+m+"L"+T+","+p+"Z":"")):zT.select(this).attr("d","M"+m+","+k+"H"+b+(u==="sd"?"m0,0L"+p+","+M+"L"+m+","+k+"L"+p+","+T+"Z":""))})}V1e.exports={plot:Y_t,plotBoxAndWhiskers:B1e,plotPoints:N1e,plotBoxMean:U1e}});var i8=ye((Rur,G1e)=>{"use strict";var GV=qa(),HV=ka(),jV=So();function K_t(e,t,r){var n=r||GV.select(e).selectAll("g.trace.boxes");n.style("opacity",function(i){return i[0].trace.opacity}),n.each(function(i){var a=GV.select(this),o=i[0].trace,s=o.line.width;function l(f,h,d,v){f.style("stroke-width",h+"px").call(HV.stroke,d).call(HV.fill,v)}var u=a.selectAll("path.box");if(o.type==="candlestick")u.each(function(f){if(!f.empty){var h=GV.select(this),d=o[f.dir];l(h,d.line.width,d.line.color,d.fillcolor),h.style("opacity",o.selectedpoints&&!f.selected?.3:1)}});else{l(u,s,o.line.color,o.fillcolor),a.selectAll("path.mean").style({"stroke-width":s,"stroke-dasharray":2*s+"px,"+s+"px"}).call(HV.stroke,o.line.color);var c=a.selectAll("path.point");jV.pointStyle(c,o,e)}})}function J_t(e,t,r){var n=t[0].trace,i=r.selectAll("path.point");n.selectedpoints?jV.selectedPointStyle(i,n):jV.pointStyle(i,n,e)}G1e.exports={style:K_t,styleOnSelect:J_t}});var XV=ye((Dur,X1e)=>{"use strict";var $_t=ho(),WV=Pr(),R_=ef(),H1e=ka(),Q_t=WV.fillText;function ext(e,t,r,n){var i=e.cd,a=i[0].trace,o=a.hoveron,s=[],l;return o.indexOf("boxes")!==-1&&(s=s.concat(j1e(e,t,r,n))),o.indexOf("points")!==-1&&(l=W1e(e,t,r)),n==="closest"?l?[l]:s:(l&&s.push(l),s)}function j1e(e,t,r,n){var i=e.cd,a=e.xa,o=e.ya,s=i[0].trace,l=i[0].t,u=s.type==="violin",c,f,h,d,v,m,b,p,k,M,T,L=l.bdPos,x,C,S=l.wHover,g=function(Le){return h.c2l(Le.pos)+l.bPos-h.c2l(m)};u&&s.side!=="both"?(s.side==="positive"&&(k=function(Le){var me=g(Le);return R_.inbox(me,me+S,M)},x=L,C=0),s.side==="negative"&&(k=function(Le){var me=g(Le);return R_.inbox(me-S,me,M)},x=0,C=L)):(k=function(Le){var me=g(Le);return R_.inbox(me-S,me+S,M)},x=C=L);var P;u?P=function(Le){return R_.inbox(Le.span[0]-v,Le.span[1]-v,M)}:P=function(Le){return R_.inbox(Le.min-v,Le.max-v,M)},s.orientation==="h"?(v=t,m=r,b=P,p=k,c="y",h=o,f="x",d=a):(v=r,m=t,b=k,p=P,c="x",h=a,f="y",d=o);var E=Math.min(1,L/Math.abs(h.r2c(h.range[1])-h.r2c(h.range[0])));M=e.maxHoverDistance-E,T=e.maxSpikeDistance-E;function z(Le){return(b(Le)+p(Le))/2}var q=R_.getDistanceFunction(n,b,p,z);if(R_.getClosest(i,q,e),e.index===!1)return[];var V=i[e.index],G=s.line.color,Z=(s.marker||{}).color;H1e.opacity(G)&&s.line.width?e.color=G:H1e.opacity(Z)&&s.boxpoints?e.color=Z:e.color=s.fillcolor,e[c+"0"]=h.c2p(V.pos+l.bPos-C,!0),e[c+"1"]=h.c2p(V.pos+l.bPos+x,!0),e[c+"LabelVal"]=V.orig_p!==void 0?V.orig_p:V.pos;var j=c+"Spike";e.spikeDistance=z(V)*T/M,e[j]=h.c2p(V.pos,!0);var N=s.boxmean||s.sizemode==="sd"||(s.meanline||{}).visible,H=s.boxpoints||s.points,ie=H&&N?["max","uf","q3","med","mean","q1","lf","min"]:H&&!N?["max","uf","q3","med","q1","lf","min"]:!H&&N?["max","q3","med","mean","q1","min"]:["max","q3","med","q1","min"],ae=d.range[1]{"use strict";Z1e.exports=function(t,r){return r.hoverOnBox&&(t.hoverOnBox=r.hoverOnBox),"xVal"in r&&(t.x=r.xVal),"yVal"in r&&(t.y=r.yVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var ZV=ye((zur,K1e)=>{"use strict";K1e.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l;if(r===!1)for(s=0;s{"use strict";J1e.exports={attributes:C4(),layoutAttributes:L4(),supplyDefaults:I4().supplyDefaults,crossTraceDefaults:I4().crossTraceDefaults,supplyLayoutDefaults:QI().supplyLayoutDefaults,calc:VV(),crossTraceCalc:t8().crossTraceCalc,plot:r8().plot,style:i8().style,styleOnSelect:i8().styleOnSelect,hoverPoints:XV().hoverPoints,eventData:Y1e(),selectPoints:ZV(),moduleType:"trace",name:"box",basePlotModule:mh(),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","boxLayout","zoomScale"],meta:{}}});var e_e=ye((Our,Q1e)=>{"use strict";Q1e.exports=$1e()});var qT=ye((Bur,r_e)=>{"use strict";var txt=Tu(),{extendFlat:Pp}=Ao(),rxt=Gl(),{axisHoverFormat:YV}=vf(),ixt=ec(),{hovertemplateAttrs:nxt,templatefallbackAttrs:t_e,texttemplateAttrs:axt}=Ll(),a0=pf();r_e.exports=Pp({z:{valType:"data_array",editType:"calc"},x:Pp({},a0.x,{impliedEdits:{xtype:"array"}}),x0:Pp({},a0.x0,{impliedEdits:{xtype:"scaled"}}),dx:Pp({},a0.dx,{impliedEdits:{xtype:"scaled"}}),y:Pp({},a0.y,{impliedEdits:{ytype:"array"}}),y0:Pp({},a0.y0,{impliedEdits:{ytype:"scaled"}}),dy:Pp({},a0.dy,{impliedEdits:{ytype:"scaled"}}),xperiod:Pp({},a0.xperiod,{impliedEdits:{xtype:"scaled"}}),yperiod:Pp({},a0.yperiod,{impliedEdits:{ytype:"scaled"}}),xperiod0:Pp({},a0.xperiod0,{impliedEdits:{xtype:"scaled"}}),yperiod0:Pp({},a0.yperiod0,{impliedEdits:{ytype:"scaled"}}),xperiodalignment:Pp({},a0.xperiodalignment,{impliedEdits:{xtype:"scaled"}}),yperiodalignment:Pp({},a0.yperiodalignment,{impliedEdits:{ytype:"scaled"}}),text:{valType:"data_array",editType:"calc"},hovertext:{valType:"data_array",editType:"calc"},transpose:{valType:"boolean",dflt:!1,editType:"calc"},xtype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},ytype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},zsmooth:{valType:"enumerated",values:["fast","best",!1],dflt:!1,editType:"calc"},hoverongaps:{valType:"boolean",dflt:!0,editType:"none"},connectgaps:{valType:"boolean",editType:"calc"},xgap:{valType:"number",dflt:0,min:0,editType:"plot"},ygap:{valType:"number",dflt:0,min:0,editType:"plot"},xhoverformat:YV("x"),yhoverformat:YV("y"),zhoverformat:YV("z",1),hovertemplate:nxt(),hovertemplatefallback:t_e(),texttemplate:axt({arrayOk:!1,editType:"plot"},{keys:["x","y","z","text"]}),texttemplatefallback:t_e({editType:"plot"}),textfont:ixt({editType:"plot",autoSize:!0,autoColor:!0,colorEditType:"style"}),showlegend:Pp({},rxt.showlegend,{dflt:!1}),zorder:a0.zorder},txt("",{cLetter:"z",autoColorDflt:!1}))});var a8=ye((Nur,n_e)=>{"use strict";var oxt=Eo(),n8=Pr(),sxt=Oa();n_e.exports=function(t,r,n,i,a,o){var s=n("z");a=a||"x",o=o||"y";var l,u;if(s===void 0||!s.length)return 0;if(n8.isArray1D(s)){l=n(a),u=n(o);var c=n8.minRowLength(l),f=n8.minRowLength(u);if(c===0||f===0)return 0;r._length=Math.min(c,f,s.length)}else{if(l=i_e(a,n),u=i_e(o,n),!lxt(s))return 0;n("transpose"),r._length=null}var h=sxt.getComponentMethod("calendars","handleTraceDefaults");return h(t,r,[a,o],i),!0};function i_e(e,t){var r=t(e),n=r?t(e+"type","array"):"scaled";return n==="scaled"&&(t(e+"0"),t("d"+e)),r}function lxt(e){for(var t=!0,r=!1,n=!1,i,a=0;a0&&(r=!0);for(var o=0;o{"use strict";var a_e=Pr();o_e.exports=function(t,r){t("texttemplate"),t("texttemplatefallback");var n=a_e.extendFlat({},r.font,{color:"auto",size:"auto"});a_e.coerceFont(t,"textfont",n)}});var KV=ye((Vur,s_e)=>{"use strict";s_e.exports=function(t,r,n){var i=n("zsmooth");i===!1&&(n("xgap"),n("ygap")),n("zhoverformat")}});var c_e=ye((Gur,u_e)=>{"use strict";var l_e=Pr(),uxt=a8(),cxt=R4(),fxt=Dg(),hxt=KV(),dxt=td(),vxt=qT();u_e.exports=function(t,r,n,i){function a(s,l){return l_e.coerce(t,r,vxt,s,l)}var o=uxt(t,r,a,i);if(!o){r.visible=!1;return}fxt(t,r,i,a),a("xhoverformat"),a("yhoverformat"),a("text"),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback"),cxt(a,i),hxt(t,r,a,i),a("hoverongaps"),a("connectgaps",l_e.isArray1D(r.z)&&r.zsmooth!==!1),dxt(t,r,i,a,{prefix:"",cLetter:"z"}),a("zorder")}});var JV=ye((Hur,f_e)=>{"use strict";var OT=Eo();f_e.exports={count:function(e,t,r){return r[e]++,1},sum:function(e,t,r,n){var i=n[t];return OT(i)?(i=Number(i),r[e]+=i,i):0},avg:function(e,t,r,n,i){var a=n[t];return OT(a)&&(a=Number(a),r[e]+=a,i[e]++),0},min:function(e,t,r,n){var i=n[t];if(OT(i))if(i=Number(i),OT(r[e])){if(r[e]>i){var a=i-r[e];return r[e]=i,a}}else return r[e]=i,i;return 0},max:function(e,t,r,n){var i=n[t];if(OT(i))if(i=Number(i),OT(r[e])){if(r[e]{"use strict";h_e.exports={percent:function(e,t){for(var r=e.length,n=100/t,i=0;i{"use strict";d_e.exports=function(t,r){for(var n=t.length,i=0,a=0;a{"use strict";var BT=fs(),m2=BT.ONEAVGYEAR,v_e=BT.ONEAVGMONTH,s8=BT.ONEDAY,p_e=BT.ONEHOUR,g_e=BT.ONEMIN,m_e=BT.ONESEC,y_e=ho().tickIncrement;b_e.exports=function(t,r,n,i,a){var o=-1.1*r,s=-.1*r,l=t-s,u=n[0],c=n[1],f=Math.min(o8(u+s,u+l,i,a),o8(c+s,c+l,i,a)),h=Math.min(o8(u+o,u+s,i,a),o8(c+o,c+s,i,a)),d,v;if(f>h&&hs8){var m=d===m2?1:6,b=d===m2?"M12":"M1";return function(p,k){var M=i.c2d(p,m2,a),T=M.indexOf("-",m);T>0&&(M=M.slice(0,T));var L=i.d2c(M,0,a);if(Lm_e?e>s8?e>m2*1.1?m2:e>v_e*1.1?v_e:s8:e>p_e?p_e:e>g_e?g_e:m_e:Math.pow(10,Math.floor(Math.log(e)/Math.LN10))}function pxt(e,t,r,n,i,a){if(n&&e>s8){var o=x_e(t,i,a),s=x_e(r,i,a),l=e===m2?0:1;return o[l]!==s[l]}return Math.floor(r/e)-Math.floor(t/e)>.1}function x_e(e,t,r){var n=t.c2d(e,m2,r).split("-");return n[0]===""&&(n.unshift(),n[0]="-"+n[0]),n}});var iG=ye((Zur,M_e)=>{"use strict";var tG=Eo(),Hv=Pr(),w_e=Oa(),j0=ho(),{hasColorscale:T_e}=pv(),A_e=gv(),gxt=S4(),S_e=JV(),mxt=$V(),yxt=QV(),_xt=eG();function xxt(e,t){var r=[],n=[],i=t.orientation==="h",a=j0.getFromId(e,i?t.yaxis:t.xaxis),o=i?"y":"x",s={x:"y",y:"x"}[o],l=t[o+"calendar"],u=t.cumulative,c,f=rG(e,t,a,o),h=f[0],d=f[1],v=typeof h.size=="string",m=[],b=v?m:h,p=[],k=[],M=[],T=0,L=t.histnorm,x=t.histfunc,C=L.indexOf("density")!==-1,S,g,P;u.enabled&&C&&(L=L.replace(/ ?density$/,""),C=!1);var E=x==="max"||x==="min",z=E?null:0,q=S_e.count,V=mxt[L],G=!1,Z=function(me){return a.r2c(me,0,l)},j;for(Hv.isArrayOrTypedArray(t[s])&&x!=="count"&&(j=t[s],G=x==="avg",q=S_e[x]),c=Z(h.start),g=Z(h.end)+(c-j0.tickIncrement(c,h.size,!1,l))/1e6;c=0&&P=be;c--)if(n[c]){Be=c;break}for(c=be;c<=Be;c++)if(tG(r[c])&&tG(n[c])){var Le={p:r[c],s:n[c],b:0};u.enabled||(Le.pts=M[c],ae?Le.ph0=Le.ph1=M[c].length?d[M[c][0]]:r[c]:(t._computePh=!0,Le.ph0=re(m[c]),Le.ph1=re(m[c+1],!0))),ke.push(Le)}return ke.length===1&&(ke[0].width1=j0.tickIncrement(ke[0].p,h.size,!1,l)-ke[0].p),T_e(t,"marker")&&A_e(e,t,{vals:t.marker.color,containerStr:"marker",cLetter:"c"}),T_e(t,"marker.line")&&A_e(e,t,{vals:t.marker.line.color,containerStr:"marker.line",cLetter:"c"}),gxt(ke,t),Hv.isArrayOrTypedArray(t.selectedpoints)&&Hv.tagSelected(ke,t,Ce),ke}function rG(e,t,r,n,i){var a=n+"bins",o=e._fullLayout,s=t["_"+n+"bingroup"],l=o._histogramBinOpts[s],u=o.barmode==="overlay",c,f,h,d,v,m,b,p=function(ge){return r.r2c(ge,0,d)},k=function(ge){return r.c2r(ge,0,d)},M=r.type==="date"?function(ge){return ge||ge===0?Hv.cleanDate(ge,null,d):null}:function(ge){return tG(ge)?Number(ge):null};function T(ge,re,Se){re[ge+"Found"]?(re[ge]=M(re[ge]),re[ge]===null&&(re[ge]=Se[ge])):(m[ge]=re[ge]=Se[ge],Hv.nestedProperty(f[0],a+"."+ge).set(Se[ge]))}if(t["_"+n+"autoBinFinished"])delete t["_"+n+"autoBinFinished"];else{f=l.traces;var L=[],x=!0,C=!1,S=!1;for(c=0;cr.r2l(j)&&(H=j0.tickIncrement(H,l.size,!0,d)),q.start=r.l2r(H),Z||Hv.nestedProperty(t,a+".start").set(q.start)}var ie=l.end,ae=r.r2l(z.end),_e=ae!==void 0;if((l.endFound||_e)&&ae!==r.r2l(ie)){var Ee=_e?ae:Hv.aggNums(Math.max,null,v);q.end=r.l2r(Ee),_e||Hv.nestedProperty(t,a+".start").set(q.end)}var Ce="autobin"+n;return t._input[Ce]===!1&&(t._input[a]=Hv.extendFlat({},t[a]||{}),delete t._input[Ce],delete t[Ce]),[q,v]}function bxt(e,t,r,n,i){var a=e._fullLayout,o=wxt(e,t),s=!1,l=1/0,u=[t],c,f,h;for(c=0;c=0;n--)s(n);else if(t==="increasing"){for(n=1;n=0;n--)e[n]+=e[n+1];r==="exclude"&&(e.push(0),e.shift())}}M_e.exports={calc:xxt,calcAllAutoBins:rG}});var D_e=ye((Yur,R_e)=>{"use strict";var E_e=Pr(),NT=ho(),k_e=JV(),Axt=$V(),Sxt=QV(),Mxt=eG(),C_e=iG().calcAllAutoBins;R_e.exports=function(t,r){var n=NT.getFromId(t,r.xaxis),i=NT.getFromId(t,r.yaxis),a=r.xcalendar,o=r.ycalendar,s=function(Et){return n.r2c(Et,0,a)},l=function(Et){return i.r2c(Et,0,o)},u=function(Et){return n.c2r(Et,0,a)},c=function(Et){return i.c2r(Et,0,o)},f,h,d,v,m=C_e(t,r,n,"x"),b=m[0],p=m[1],k=C_e(t,r,i,"y"),M=k[0],T=k[1],L=r._length;p.length>L&&p.splice(L,p.length-L),T.length>L&&T.splice(L,T.length-L);var x=[],C=[],S=[],g=typeof b.size=="string",P=typeof M.size=="string",E=[],z=[],q=g?E:b,V=P?z:M,G=0,Z=[],j=[],N=r.histnorm,H=r.histfunc,ie=N.indexOf("density")!==-1,ae=H==="max"||H==="min",_e=ae?null:0,Ee=k_e.count,Ce=Axt[N],ge=!1,re=[],Se=[],ke="z"in r?r.z:"marker"in r&&Array.isArray(r.marker.color)?r.marker.color:"";ke&&H!=="count"&&(ge=H==="avg",Ee=k_e[H]);var be=b.size,Be=s(b.start),Le=s(b.end)+(Be-NT.tickIncrement(Be,be,!1,a))/1e6;for(f=Be;f=0&&d=0&&v{"use strict";var Bm=Pr(),F_e=fs().BADNUM,z_e=zg();q_e.exports=function(t,r,n,i,a,o){var s=t._length,l=r.makeCalcdata(t,i),u=n.makeCalcdata(t,a);l=z_e(t,r,i,l).vals,u=z_e(t,n,a,u).vals;var c=t.text,f=c!==void 0&&Bm.isArray1D(c),h=t.hovertext,d=h!==void 0&&Bm.isArray1D(h),v,m,b=Bm.distinctVals(l),p=b.vals,k=Bm.distinctVals(u),M=k.vals,T=[],L,x,C=M.length,S=p.length;for(v=0;v{"use strict";var Ext=Eo(),kxt=Pr(),u8=fs().BADNUM;O_e.exports=function(t,r,n,i){var a,o,s,l,u,c;function f(p){if(Ext(p))return+p}if(r&&r.transpose){for(a=0,u=0;u{"use strict";var Cxt=Pr(),B_e=.01,Lxt=[[-1,0],[1,0],[0,-1],[0,1]];function Pxt(e){return .5-.25*Math.min(1,e*.5)}U_e.exports=function(t,r){var n=1,i;for(N_e(t,r),i=0;iB_e;i++)n=N_e(t,r,Pxt(n));return n>B_e&&Cxt.log("interp2d didn't converge quickly",n),t};function N_e(e,t,r){var n=0,i,a,o,s,l,u,c,f,h,d,v,m,b;for(s=0;sm&&(n=Math.max(n,Math.abs(e[a][o]-v)/(b-m))))}return n}});var h8=ye((Qur,V_e)=>{"use strict";var Ixt=Pr().maxRowLength;V_e.exports=function(t){var r=[],n={},i=[],a=t[0],o=[],s=[0,0,0],l=Ixt(t),u,c,f,h,d,v,m,b;for(c=0;c=0;d--)h=i[d],c=h[0],f=h[1],v=((n[[c-1,f]]||s)[2]+(n[[c+1,f]]||s)[2]+(n[[c,f-1]]||s)[2]+(n[[c,f+1]]||s)[2])/20,v&&(m[h]=[c,f,v],i.splice(d,1),b=!0);if(!b)throw"findEmpties iterated with no new neighbors";for(h in m)n[h]=m[h],r.push(m[h])}return r.sort(function(p,k){return k[2]-p[2]})}});var nG=ye((ecr,j_e)=>{"use strict";var G_e=Oa(),H_e=Pr().isArrayOrTypedArray;j_e.exports=function(t,r,n,i,a,o){var s=[],l=G_e.traceIs(t,"contour"),u=G_e.traceIs(t,"histogram"),c,f,h,d=H_e(r)&&r.length>1;if(d&&!u&&o.type!=="category"){var v=r.length;if(v<=a){if(l)s=Array.from(r).slice(0,a);else if(a===1)o.type==="log"?s=[.5*r[0],2*r[0]]:s=[r[0]-.5,r[0]+.5];else if(o.type==="log"){for(s=[Math.pow(r[0],1.5)/Math.pow(r[1],.5)],h=1;h{"use strict";var W_e=Oa(),aG=Pr(),d8=ho(),X_e=zg(),Rxt=D_e(),Dxt=gv(),Fxt=l8(),zxt=c8(),qxt=f8(),Oxt=h8(),v8=nG(),oG=fs().BADNUM;Y_e.exports=function(t,r){var n=d8.getFromId(t,r.xaxis||"x"),i=d8.getFromId(t,r.yaxis||"y"),a=W_e.traceIs(r,"contour"),o=W_e.traceIs(r,"histogram"),s=a?"best":r.zsmooth,l,u,c,f,h,d,v,m,b,p,k;if(n._minDtick=0,i._minDtick=0,o)k=Rxt(t,r),f=k.orig_x,l=k.x,u=k.x0,c=k.dx,m=k.orig_y,h=k.y,d=k.y0,v=k.dy,b=k.z;else{var M=r.z;aG.isArray1D(M)?(Fxt(r,n,i,"x","y",["z"]),l=r._x,h=r._y,M=r._z):(f=r.x?n.makeCalcdata(r,"x"):[],m=r.y?i.makeCalcdata(r,"y"):[],l=X_e(r,n,"x",f).vals,h=X_e(r,i,"y",m).vals,r._x=l,r._y=h),u=r.x0,c=r.dx,d=r.y0,v=r.dy,b=zxt(M,r,n,i)}(n.rangebreaks||i.rangebreaks)&&(b=Bxt(l,h,b),o||(l=Z_e(l),h=Z_e(h),r._x=l,r._y=h)),!o&&(a||r.connectgaps)&&(r._emptypoints=Oxt(b),qxt(b,r._emptypoints));function T(q){s=r._input.zsmooth=r.zsmooth=!1,aG.warn('cannot use zsmooth: "fast": '+q)}function L(q){if(q.length>1){var V=(q[q.length-1]-q[0])/(q.length-1),G=Math.abs(V/100);for(p=0;pG)return!1}return!0}r._islinear=!1,n.type==="log"||i.type==="log"?s==="fast"&&T("log axis found"):L(l)?L(h)?r._islinear=!0:s==="fast"&&T("y scale is not linear"):s==="fast"&&T("x scale is not linear");var x=aG.maxRowLength(b),C=r.xtype==="scaled"?"":l,S=v8(r,C,u,c,x,n),g=r.ytype==="scaled"?"":h,P=v8(r,g,d,v,b.length,i);r._extremes[n._id]=d8.findExtremes(n,S),r._extremes[i._id]=d8.findExtremes(i,P);var E={x:S,y:P,z:b,text:r._text||r.text,hovertext:r._hovertext||r.hovertext};if(r.xperiodalignment&&f&&(E.orig_x=f),r.yperiodalignment&&m&&(E.orig_y=m),C&&C.length===S.length-1&&(E.xCenter=C),g&&g.length===P.length-1&&(E.yCenter=g),o&&(E.xRanges=k.xRanges,E.yRanges=k.yRanges,E.pts=k.pts),a||Dxt(t,r,{vals:b,cLetter:"z"}),a&&r.contours&&r.contours.coloring==="heatmap"){var z={type:r.type==="contour"?"heatmap":"histogram2d",xcalendar:r.xcalendar,ycalendar:r.ycalendar};E.xfill=v8(z,C,u,c,x,n),E.yfill=v8(z,g,d,v,b.length,i)}return[E]};function Z_e(e){for(var t=[],r=e.length,n=0;n{"use strict";g8.CSS_DECLARATIONS=[["image-rendering","optimizeSpeed"],["image-rendering","-moz-crisp-edges"],["image-rendering","-o-crisp-edges"],["image-rendering","-webkit-optimize-contrast"],["image-rendering","optimize-contrast"],["image-rendering","crisp-edges"],["image-rendering","pixelated"]];g8.STYLE=g8.CSS_DECLARATIONS.map(function(e){return e.join(": ")+"; "}).join("")});var lG=ye((icr,J_e)=>{"use strict";var K_e=m8(),Nxt=So(),sG=Pr(),UT=null;function Uxt(){if(UT!==null)return UT;UT=!1;var e=sG.isSafari()||sG.isMacWKWebView()||sG.isIOS();if(window.navigator.userAgent&&!e){var t=Array.from(K_e.CSS_DECLARATIONS).reverse(),r=window.CSS&&window.CSS.supports||window.supportsCSS;if(typeof r=="function")UT=t.some(function(o){return r.apply(null,o)});else{var n=Nxt.tester.append("image").attr("style",K_e.STYLE),i=window.getComputedStyle(n.node()),a=i.imageRendering;UT=t.some(function(o){var s=o[1];return a===s||a===s.toLowerCase()}),n.remove()}}return UT}J_e.exports=Uxt});var y8=ye((ncr,oxe)=>{"use strict";var $_e=qa(),Vxt=fd(),Gxt=Oa(),Hxt=So(),jxt=ho(),W0=Pr(),Q_e=Zl(),Wxt=uI(),Xxt=ka(),Zxt=tc().extractOpts,Yxt=tc().makeColorScaleFuncFromTrace,Kxt=Wp(),Jxt=Dh(),uG=Jxt.LINE_SPACING,$xt=lG(),Qxt=m8().STYLE,nxe="heatmap-label";function axe(e){return e.selectAll("g."+nxe)}function exe(e){axe(e).remove()}oxe.exports=function(e,t,r,n){var i=t.xaxis,a=t.yaxis;W0.makeTraceGroups(n,r,"hm").each(function(o){var s=$_e.select(this),l=o[0],u=l.trace,c=u.xgap||0,f=u.ygap||0,h=l.z,d=l.x,v=l.y,m=l.xCenter,b=l.yCenter,p=Gxt.traceIs(u,"contour"),k=p?"best":u.zsmooth,M=h.length,T=W0.maxRowLength(h),L=!1,x=!1,C,S,g,P,E,z,q,V;for(z=0;C===void 0&&z0;)S=i.c2p(d[z]),z--;for(S0;)E=a.c2p(v[z]),z--;E=i._length||S<=0||P>=a._length||E<=0;if(H){var ie=s.selectAll("image").data([]);ie.exit().remove(),exe(s);return}var ae,_e;G==="fast"?(ae=T,_e=M):(ae=j,_e=N);var Ee=document.createElement("canvas");Ee.width=ae,Ee.height=_e;var Ce=Ee.getContext("2d",{willReadFrequently:!0}),ge=Yxt(u,{noNumericCheck:!0,returnArray:!0}),re,Se;G==="fast"?(re=L?function(fn){return T-1-fn}:W0.identity,Se=x?function(fn){return M-1-fn}:W0.identity):(re=function(fn){return W0.constrain(Math.round(i.c2p(d[fn])-C),0,j)},Se=function(fn){return W0.constrain(Math.round(a.c2p(v[fn])-P),0,N)});var ke=Se(0),be=[ke,ke],Be=L?0:1,Le=x?0:1,me=0,Pe=0,ce=0,He=0,lt,mt,Ht,at,ct;function ar(fn,yn){if(fn!==void 0){var Mn=ge(fn);return Mn[0]=Math.round(Mn[0]),Mn[1]=Math.round(Mn[1]),Mn[2]=Math.round(Mn[2]),me+=yn,Pe+=Mn[0]*yn,ce+=Mn[1]*yn,He+=Mn[2]*yn,Mn}return[0,0,0,0]}function Vt(fn,yn,Mn,Ba){var ua=fn[Mn.bin0];if(ua===void 0)return ar(void 0,1);var ma=fn[Mn.bin1],Wa=yn[Mn.bin0],Fa=yn[Mn.bin1],Xo=ma-ua||0,da=Wa-ua||0,jn;return ma===void 0?Fa===void 0?jn=0:Wa===void 0?jn=2*(Fa-ua):jn=(2*Fa-Wa-ua)*2/3:Fa===void 0?Wa===void 0?jn=0:jn=(2*ua-ma-Wa)*2/3:Wa===void 0?jn=(2*Fa-ma-ua)*2/3:jn=Fa+ua-ma-Wa,ar(ua+Mn.frac*Xo+Ba.frac*(da+Mn.frac*jn))}if(G!=="default"){var rr=0,tt;try{tt=new Uint8Array(ae*_e*4)}catch(fn){tt=new Array(ae*_e*4)}if(G==="smooth"){var je=m||d,Ue=b||v,Ae=new Array(je.length),rt=new Array(Ue.length),St=new Array(j),Tt=m?rxe:txe,dt=b?rxe:txe,Et,pt,jt;for(z=0;zYr||Yr>a._length))for(q=Qt;qPi||Pi>i._length)){var ai=Wxt({x:_i,y:Ir},u,e._fullLayout);ai.x=_i,ai.y=Ir;var mi=l.z[z][q];mi===void 0?(ai.z="",ai.zLabel=""):(ai.z=mi,ai.zLabel=jxt.tickText(We,mi,"hover").text);var un=l.text&&l.text[z]&&l.text[z][q];(un===void 0||un===!1)&&(un=""),ai.text=un;var Fn=W0.texttemplateString({data:[ai,u._meta],fallback:u.texttemplatefallback,labels:ai,locale:e._fullLayout._d3locale,template:Ge});if(Fn){var An=Fn.split("
"),Hn=An.length,Qn=0;for(V=0;V{"use strict";sxe.exports={min:"zmin",max:"zmax"}});var _8=ye((ocr,lxe)=>{"use strict";var ebt=qa();lxe.exports=function(t){ebt.select(t).selectAll(".hm image").style("opacity",function(r){return r.trace.opacity})}});var b8=ye((scr,cxe)=>{"use strict";var uxe=ef(),D4=Pr(),x8=D4.isArrayOrTypedArray,tbt=ho(),rbt=tc().extractOpts;cxe.exports=function(t,r,n,i,a){a||(a={});var o=a.isContour,s=t.cd[0],l=s.trace,u=t.xa,c=t.ya,f=s.x,h=s.y,d=s.z,v=s.xCenter,m=s.yCenter,b=s.zmask,p=l.zhoverformat,k=f,M=h,T,L,x,C;if(t.index!==!1){try{x=Math.round(t.index[1]),C=Math.round(t.index[0])}catch(ie){D4.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index);return}if(x<0||x>=d[0].length||C<0||C>d.length)return}else{if(uxe.inbox(r-f[0],r-f[f.length-1],0)>0||uxe.inbox(n-h[0],n-h[h.length-1],0)>0)return;if(o){var S;for(k=[2*f[0]-f[1]],S=1;S{"use strict";fxe.exports={attributes:qT(),supplyDefaults:c_e(),calc:p8(),plot:y8(),colorbar:D_(),style:_8(),hoverPoints:b8(),moduleType:"trace",name:"heatmap",basePlotModule:mh(),categories:["cartesian","svg","2dMap","showLegend"],meta:{}}});var vxe=ye((ucr,dxe)=>{"use strict";dxe.exports=hxe()});var cG=ye((ccr,pxe)=>{"use strict";pxe.exports=function(t,r){return{start:{valType:"any",editType:"calc"},end:{valType:"any",editType:"calc"},size:{valType:"any",editType:"calc"},editType:"calc"}}});var mxe=ye((fcr,gxe)=>{"use strict";gxe.exports={eventDataKeys:["binNumber"]}});var w8=ye((hcr,bxe)=>{"use strict";var Ip=qm(),yxe=vf().axisHoverFormat,{hovertemplateAttrs:ibt,texttemplateAttrs:nbt,templatefallbackAttrs:_xe}=Ll(),fG=ec(),xxe=cG(),abt=mxe(),hG=Ao().extendFlat;bxe.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},xhoverformat:yxe("x"),yhoverformat:yxe("y"),text:hG({},Ip.text,{}),hovertext:hG({},Ip.hovertext,{}),orientation:Ip.orientation,histfunc:{valType:"enumerated",values:["count","sum","avg","min","max"],dflt:"count",editType:"calc"},histnorm:{valType:"enumerated",values:["","percent","probability","density","probability density"],dflt:"",editType:"calc"},cumulative:{enabled:{valType:"boolean",dflt:!1,editType:"calc"},direction:{valType:"enumerated",values:["increasing","decreasing"],dflt:"increasing",editType:"calc"},currentbin:{valType:"enumerated",values:["include","exclude","half"],dflt:"include",editType:"calc"},editType:"calc"},nbinsx:{valType:"integer",min:0,dflt:0,editType:"calc"},xbins:xxe("x",!0),nbinsy:{valType:"integer",min:0,dflt:0,editType:"calc"},ybins:xxe("y",!0),autobinx:{valType:"boolean",dflt:null,editType:"calc"},autobiny:{valType:"boolean",dflt:null,editType:"calc"},bingroup:{valType:"string",dflt:"",editType:"calc"},hovertemplate:ibt({},{keys:abt.eventDataKeys}),hovertemplatefallback:_xe(),texttemplate:nbt({arrayOk:!1,editType:"plot"},{keys:["label","value"]}),texttemplatefallback:_xe({editType:"plot"}),textposition:hG({},Ip.textposition,{arrayOk:!1}),textfont:fG({arrayOk:!1,editType:"plot",colorEditType:"style"}),outsidetextfont:fG({arrayOk:!1,editType:"plot",colorEditType:"style"}),insidetextfont:fG({arrayOk:!1,editType:"plot",colorEditType:"style"}),insidetextanchor:Ip.insidetextanchor,textangle:Ip.textangle,cliponaxis:Ip.cliponaxis,constraintext:Ip.constraintext,marker:Ip.marker,offsetgroup:Ip.offsetgroup,alignmentgroup:Ip.alignmentgroup,selected:Ip.selected,unselected:Ip.unselected,zorder:Ip.zorder}});var Sxe=ye((dcr,Axe)=>{"use strict";var wxe=Oa(),F4=Pr(),Txe=ka(),obt=i0().handleText,sbt=XI(),lbt=w8();Axe.exports=function(t,r,n,i){function a(k,M){return F4.coerce(t,r,lbt,k,M)}var o=a("x"),s=a("y"),l=a("cumulative.enabled");l&&(a("cumulative.direction"),a("cumulative.currentbin")),a("text");var u=a("textposition");obt(t,r,i,a,u,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback"),a("xhoverformat"),a("yhoverformat");var c=a("orientation",s&&!o?"h":"v"),f=c==="v"?"x":"y",h=c==="v"?"y":"x",d=o&&s?Math.min(F4.minRowLength(o)&&F4.minRowLength(s)):F4.minRowLength(r[f]||[]);if(!d){r.visible=!1;return}r._length=d;var v=wxe.getComponentMethod("calendars","handleTraceDefaults");v(t,r,["x","y"],i);var m=r[h];m&&a("histfunc"),a("histnorm"),a("autobin"+f),sbt(t,r,a,n,i),F4.coerceSelectionMarkerOpacity(r,a);var b=(r.marker.line||{}).color,p=wxe.getComponentMethod("errorbars","supplyDefaults");p(t,r,b||Txe.defaultLine,{axis:"y"}),p(t,r,b||Txe.defaultLine,{axis:"x",inherit:"y"}),a("zorder")}});var A8=ye((vcr,kxe)=>{"use strict";var z4=Pr(),ubt=df(),T8=Oa().traceIs,cbt=r2(),fbt=i0().validateCornerradius,Mxe=z4.nestedProperty,dG=$b().getAxisGroup,Exe=[{aStr:{x:"xbins.start",y:"ybins.start"},name:"start"},{aStr:{x:"xbins.end",y:"ybins.end"},name:"end"},{aStr:{x:"xbins.size",y:"ybins.size"},name:"size"},{aStr:{x:"nbinsx",y:"nbinsy"},name:"nbins"}],hbt=["x","y"];kxe.exports=function(t,r){var n=r._histogramBinOpts={},i=[],a={},o=[],s,l,u,c,f,h,d;function v(G,Z){return z4.coerce(s._input,s,s._module.attributes,G,Z)}function m(G){return G.orientation==="v"?"x":"y"}function b(G,Z){var j=ubt.getFromTrace({_fullLayout:r},G,Z);return j.type}function p(G,Z,j){var N=G.uid+"__"+j;Z||(Z=N);var H=b(G,j),ie=G[j+"calendar"]||"",ae=n[Z],_e=!0;ae&&(H===ae.axType&&ie===ae.calendar?(_e=!1,ae.traces.push(G),ae.dirs.push(j)):(Z=N,H!==ae.axType&&z4.warn(["Attempted to group the bins of trace",G.index,"set on a","type:"+H,"axis","with bins on","type:"+ae.axType,"axis."].join(" ")),ie!==ae.calendar&&z4.warn(["Attempted to group the bins of trace",G.index,"set with a",ie,"calendar","with bins",ae.calendar?"on a "+ae.calendar+" calendar":"w/o a set calendar"].join(" ")))),_e&&(n[Z]={traces:[G],dirs:[j],axType:H,calendar:G[j+"calendar"]||""}),G["_"+j+"bingroup"]=Z}for(f=0;f{"use strict";var dbt=RT().hoverPoints,vbt=ho().hoverLabelText;Cxe.exports=function(t,r,n,i,a){var o=dbt(t,r,n,i,a);if(o){t=o[0];var s=t.cd[t.index],l=t.cd[0].trace;if(!l.cumulative.enabled){var u=l.orientation==="h"?"y":"x";t[u+"Label"]=vbt(t[u+"a"],[s.ph0,s.ph1],l[u+"hoverformat"])}return o}}});var vG=ye((gcr,Pxe)=>{"use strict";Pxe.exports=function(t,r,n,i,a){if(t.x="xVal"in r?r.xVal:r.x,t.y="yVal"in r?r.yVal:r.y,"zLabelVal"in r&&(t.z=r.zLabelVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),!(n.cumulative||{}).enabled){var o=Array.isArray(a)?i[0].pts[a[0]][a[1]]:i[a].pts;t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex;var s;if(n._indexToPoints){s=[];for(var l=0;l{"use strict";Ixe.exports={attributes:w8(),layoutAttributes:WI(),supplyDefaults:Sxe(),crossTraceDefaults:A8(),supplyLayoutDefaults:DV(),calc:iG().calc,crossTraceCalc:i2().crossTraceCalc,plot:p2().plot,layerName:"barlayer",style:V0().style,styleOnSelect:V0().styleOnSelect,colorbar:Qd(),hoverPoints:Lxe(),selectPoints:DT(),eventData:vG(),moduleType:"trace",name:"histogram",basePlotModule:mh(),categories:["bar-like","cartesian","svg","bar","histogram","oriented","errorBarsOK","showLegend"],meta:{}}});var Fxe=ye((ycr,Dxe)=>{"use strict";Dxe.exports=Rxe()});var M8=ye((_cr,Oxe)=>{"use strict";var jg=w8(),zxe=cG(),S8=qT(),pbt=Gl(),pG=vf().axisHoverFormat,{hovertemplateAttrs:gbt,texttemplateAttrs:mbt,templatefallbackAttrs:qxe}=Ll(),ybt=Tu(),q4=Ao().extendFlat;Oxe.exports=q4({x:jg.x,y:jg.y,z:{valType:"data_array",editType:"calc"},marker:{color:{valType:"data_array",editType:"calc"},editType:"calc"},histnorm:jg.histnorm,histfunc:jg.histfunc,nbinsx:jg.nbinsx,xbins:zxe("x"),nbinsy:jg.nbinsy,ybins:zxe("y"),autobinx:jg.autobinx,autobiny:jg.autobiny,bingroup:q4({},jg.bingroup,{}),xbingroup:q4({},jg.bingroup,{}),ybingroup:q4({},jg.bingroup,{}),xgap:S8.xgap,ygap:S8.ygap,zsmooth:S8.zsmooth,xhoverformat:pG("x"),yhoverformat:pG("y"),zhoverformat:pG("z",1),hovertemplate:gbt({},{keys:["z"]}),hovertemplatefallback:qxe(),texttemplate:mbt({arrayOk:!1,editType:"plot"},{keys:["z"]}),texttemplatefallback:qxe({editType:"plot"}),textfont:S8.textfont,showlegend:q4({},pbt.showlegend,{dflt:!1})},ybt("",{cLetter:"z",autoColorDflt:!1}))});var gG=ye((xcr,Nxe)=>{"use strict";var _bt=Oa(),Bxe=Pr();Nxe.exports=function(t,r,n,i){var a=n("x"),o=n("y"),s=Bxe.minRowLength(a),l=Bxe.minRowLength(o);if(!s||!l){r.visible=!1;return}r._length=Math.min(s,l);var u=_bt.getComponentMethod("calendars","handleTraceDefaults");u(t,r,["x","y"],i);var c=n("z")||n("marker.color");c&&n("histfunc"),n("histnorm"),n("autobinx"),n("autobiny")}});var Vxe=ye((bcr,Uxe)=>{"use strict";var xbt=Pr(),bbt=gG(),wbt=KV(),Tbt=td(),Abt=R4(),Sbt=M8();Uxe.exports=function(t,r,n,i){function a(o,s){return xbt.coerce(t,r,Sbt,o,s)}bbt(t,r,a,i),r.visible!==!1&&(wbt(t,r,a,i),Tbt(t,r,i,a,{prefix:"",cLetter:"z"}),a("hovertemplate"),a("hovertemplatefallback"),Abt(a,i),a("xhoverformat"),a("yhoverformat"))}});var jxe=ye((wcr,Hxe)=>{"use strict";var Mbt=b8(),Gxe=ho().hoverLabelText;Hxe.exports=function(t,r,n,i,a){var o=Mbt(t,r,n,i,a);if(o){t=o[0];var s=t.index,l=s[0],u=s[1],c=t.cd[0],f=c.trace,h=c.xRanges[u],d=c.yRanges[l];return t.xLabel=Gxe(t.xa,[h[0],h[1]],f.xhoverformat),t.yLabel=Gxe(t.ya,[d[0],d[1]],f.yhoverformat),o}}});var Xxe=ye((Tcr,Wxe)=>{"use strict";Wxe.exports={attributes:M8(),supplyDefaults:Vxe(),crossTraceDefaults:A8(),calc:p8(),plot:y8(),layerName:"heatmaplayer",colorbar:D_(),style:_8(),hoverPoints:jxe(),eventData:vG(),moduleType:"trace",name:"histogram2d",basePlotModule:mh(),categories:["cartesian","svg","2dMap","histogram","showLegend"],meta:{}}});var Yxe=ye((Acr,Zxe)=>{"use strict";Zxe.exports=Xxe()});var E8=ye((Scr,Kxe)=>{"use strict";Kxe.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}});var O4=ye((Mcr,ebe)=>{"use strict";var _h=qT(),k8=pf(),$xe=vf(),mG=$xe.axisHoverFormat,Ebt=$xe.descriptionOnlyNumbers,kbt=Tu(),Cbt=Pd().dash,Lbt=ec(),VT=Ao().extendFlat,Qxe=E8(),Pbt=Qxe.COMPARISON_OPS2,Ibt=Qxe.INTERVAL_OPS,Jxe=k8.line;ebe.exports=VT({z:_h.z,x:_h.x,x0:_h.x0,dx:_h.dx,y:_h.y,y0:_h.y0,dy:_h.dy,xperiod:_h.xperiod,yperiod:_h.yperiod,xperiod0:k8.xperiod0,yperiod0:k8.yperiod0,xperiodalignment:_h.xperiodalignment,yperiodalignment:_h.yperiodalignment,text:_h.text,hovertext:_h.hovertext,transpose:_h.transpose,xtype:_h.xtype,ytype:_h.ytype,xhoverformat:mG("x"),yhoverformat:mG("y"),zhoverformat:mG("z",1),hovertemplate:_h.hovertemplate,hovertemplatefallback:_h.hovertemplatefallback,texttemplate:VT({},_h.texttemplate,{}),texttemplatefallback:_h.texttemplatefallback,textfont:VT({},_h.textfont,{}),hoverongaps:_h.hoverongaps,connectgaps:VT({},_h.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:Lbt({editType:"plot",colorEditType:"style"}),labelformat:{valType:"string",dflt:"",editType:"plot",description:Ebt("contour label")},operation:{valType:"enumerated",values:[].concat(Pbt).concat(Ibt),dflt:"=",editType:"calc"},value:{valType:"any",dflt:0,editType:"calc"},editType:"calc",impliedEdits:{autocontour:!1}},line:{color:VT({},Jxe.color,{editType:"style+colorbars"}),width:{valType:"number",min:0,editType:"style+colorbars"},dash:Cbt,smoothing:VT({},Jxe.smoothing,{}),editType:"plot"},zorder:k8.zorder},kbt("",{cLetter:"z",autoColorDflt:!1,editTypeOverride:"calc"}))});var _G=ye((Ecr,rbe)=>{"use strict";var wv=M8(),Nm=O4(),Rbt=Tu(),yG=vf().axisHoverFormat,tbe=Ao().extendFlat;rbe.exports=tbe({x:wv.x,y:wv.y,z:wv.z,marker:wv.marker,histnorm:wv.histnorm,histfunc:wv.histfunc,nbinsx:wv.nbinsx,xbins:wv.xbins,nbinsy:wv.nbinsy,ybins:wv.ybins,autobinx:wv.autobinx,autobiny:wv.autobiny,bingroup:wv.bingroup,xbingroup:wv.xbingroup,ybingroup:wv.ybingroup,autocontour:Nm.autocontour,ncontours:Nm.ncontours,contours:Nm.contours,line:{color:Nm.line.color,width:tbe({},Nm.line.width,{dflt:.5}),dash:Nm.line.dash,smoothing:Nm.line.smoothing,editType:"plot"},xhoverformat:yG("x"),yhoverformat:yG("y"),zhoverformat:yG("z",1),hovertemplate:wv.hovertemplate,hovertemplatefallback:wv.hovertemplatefallback,texttemplate:Nm.texttemplate,texttemplatefallback:Nm.texttemplatefallback,textfont:Nm.textfont},Rbt("",{cLetter:"z",editTypeOverride:"calc"}))});var C8=ye((kcr,ibe)=>{"use strict";ibe.exports=function(t,r,n,i){var a=i("contours.start"),o=i("contours.end"),s=a===!1||o===!1,l=n("contours.size"),u;s?u=r.autocontour=!0:u=n("autocontour",!1),(u||!l)&&n("ncontours")}});var xG=ye((Ccr,nbe)=>{"use strict";var Dbt=Pr();nbe.exports=function(t,r,n,i){i||(i={});var a=t("contours.showlabels");if(a){var o=r.font;Dbt.coerceFont(t,"contours.labelfont",o,{overrideDflt:{color:n}}),t("contours.labelformat")}i.hasHover!==!1&&t("zhoverformat")}});var L8=ye((Lcr,abe)=>{"use strict";var Fbt=td(),zbt=xG();abe.exports=function(t,r,n,i,a){var o=n("contours.coloring"),s,l="";o==="fill"&&(s=n("contours.showlines")),s!==!1&&(o!=="lines"&&(l=n("line.color","#000")),n("line.width",.5),n("line.dash")),o!=="none"&&(t.showlegend!==!0&&(r.showlegend=!1),r._dfltShowLegend=!1,Fbt(t,r,i,n,{prefix:"",cLetter:"z"})),n("line.smoothing"),zbt(n,i,l,a)}});var ube=ye((Pcr,lbe)=>{"use strict";var obe=Pr(),qbt=gG(),Obt=C8(),Bbt=L8(),Nbt=R4(),sbe=_G();lbe.exports=function(t,r,n,i){function a(s,l){return obe.coerce(t,r,sbe,s,l)}function o(s){return obe.coerce2(t,r,sbe,s)}qbt(t,r,a,i),r.visible!==!1&&(Obt(t,r,a,o),Bbt(t,r,a,i),a("xhoverformat"),a("yhoverformat"),a("hovertemplate"),a("hovertemplatefallback"),r.contours&&r.contours.coloring==="heatmap"&&Nbt(a,i))}});var TG=ye((Icr,fbe)=>{"use strict";var wG=ho(),bG=Pr();fbe.exports=function(t,r){var n=t.contours;if(t.autocontour){var i=t.zmin,a=t.zmax;(t.zauto||i===void 0)&&(i=bG.aggNums(Math.min,null,r)),(t.zauto||a===void 0)&&(a=bG.aggNums(Math.max,null,r));var o=cbe(i,a,t.ncontours);n.size=o.dtick,n.start=wG.tickFirst(o),o.range.reverse(),n.end=wG.tickFirst(o),n.start===i&&(n.start+=n.size),n.end===a&&(n.end-=n.size),n.start>n.end&&(n.start=n.end=(n.start+n.end)/2),t._input.contours||(t._input.contours={}),bG.extendFlat(t._input.contours,{start:n.start,end:n.end,size:n.size}),t._input.autocontour=!0}else if(n.type!=="constraint"){var s=n.start,l=n.end,u=t._input.contours;if(s>l&&(n.start=u.start=l,l=n.end=u.end=s,s=n.start),!(n.size>0)){var c;s===l?c=1:c=cbe(s,l,t.ncontours).dtick,u.size=n.size=c}}};function cbe(e,t,r){var n={type:"linear",range:[e,t]};return wG.autoTicks(n,(t-e)/(r||15)),n}});var B4=ye((Rcr,hbe)=>{"use strict";hbe.exports=function(t){return t.end+t.size/1e6}});var AG=ye((Dcr,vbe)=>{"use strict";var dbe=tc(),Ubt=p8(),Vbt=TG(),Gbt=B4();vbe.exports=function(t,r){var n=Ubt(t,r),i=n[0].z;Vbt(r,i);var a=r.contours,o=dbe.extractOpts(r),s;if(a.coloring==="heatmap"&&o.auto&&r.autocontour===!1){var l=a.start,u=Gbt(a),c=a.size||1,f=Math.floor((u-l)/c)+1;isFinite(c)||(c=1,f=1);var h=l-c/2,d=h+f*c;s=[h,d]}else s=i;return dbe.calc(t,r,{vals:s,cLetter:"z"}),n}});var N4=ye((Fcr,pbe)=>{"use strict";pbe.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}}});var SG=ye((zcr,gbe)=>{"use strict";var P8=N4();gbe.exports=function(t){var r=t[0].z,n=r.length,i=r[0].length,a=n===2||i===2,o,s,l,u,c,f,h,d,v;for(s=0;se?0:1)+(t[0][1]>e?0:2)+(t[1][1]>e?0:4)+(t[1][0]>e?0:8);if(r===5||r===10){var n=(t[0][0]+t[0][1]+t[1][0]+t[1][1])/4;return e>n?r===5?713:1114:r===5?104:208}return r===15?0:r}});var MG=ye((qcr,_be)=>{"use strict";var I8=Pr(),GT=N4();_be.exports=function(t,r,n){var i,a,o,s,l;for(r=r||.01,n=n||.01,o=0;o20?(o=GT.CHOOSESADDLE[o][(s[0]||s[1])<0?0:1],e.crossings[a]=GT.SADDLEREMAINDER[o]):delete e.crossings[a],s=GT.NEWDELTA[o],!s){I8.log("Found bad marching index:",o,t,e.level);break}l.push(ybe(e,t,s)),t[0]+=s[0],t[1]+=s[1],a=t.join(","),U4(l[l.length-1],l[l.length-2],n,i)&&l.pop();var v=s[0]&&(t[0]<0||t[0]>c-2)||s[1]&&(t[1]<0||t[1]>u-2),m=t[0]===f[0]&&t[1]===f[1]&&s[0]===h[0]&&s[1]===h[1];if(m||r&&v)break;o=e.crossings[a]}d===1e4&&I8.log("Infinite loop in contour?");var b=U4(l[0],l[l.length-1],n,i),p=0,k=.2*e.smoothing,M=[],T=0,L,x,C,S,g,P,E,z,q,V,G;for(d=1;d=T;d--)if(L=M[d],L=T&&L+M[x]z&&q--,e.edgepaths[q]=G.concat(l,V));break}H||(e.edgepaths[z]=l.concat(V))}for(z=0;z20&&t?e===208||e===1114?n=r[0]===0?1:-1:i=r[1]===0?1:-1:GT.BOTTOMSTART.indexOf(e)!==-1?i=1:GT.LEFTSTART.indexOf(e)!==-1?n=1:GT.TOPSTART.indexOf(e)!==-1?i=-1:n=-1,[n,i]}function ybe(e,t,r){var n=t[0]+Math.max(r[0],0),i=t[1]+Math.max(r[1],0),a=e.z[i][n],o=e.xaxis,s=e.yaxis;if(r[1]){var l=(e.level-a)/(e.z[i][n+1]-a),u=(l!==1?(1-l)*o.c2l(e.x[n]):0)+(l!==0?l*o.c2l(e.x[n+1]):0);return[o.c2p(o.l2c(u),!0),s.c2p(e.y[i],!0),n+l,i]}else{var c=(e.level-a)/(e.z[i+1][n]-a),f=(c!==1?(1-c)*s.c2l(e.y[i]):0)+(c!==0?c*s.c2l(e.y[i+1]):0);return[o.c2p(e.x[n],!0),s.c2p(s.l2c(f),!0),n,i+c]}}});var Tbe=ye((Ocr,wbe)=>{"use strict";var EG=E8(),Xbt=Eo();wbe.exports={"[]":xbe("[]"),"][":xbe("]["),">":kG(">"),"<":kG("<"),"=":kG("=")};function bbe(e,t){var r=Array.isArray(t),n;function i(a){return Xbt(a)?+a:null}return EG.COMPARISON_OPS2.indexOf(e)!==-1?n=i(r?t[0]:t):EG.INTERVAL_OPS.indexOf(e)!==-1?n=r?[i(t[0]),i(t[1])]:[i(t),i(t)]:EG.SET_OPS.indexOf(e)!==-1&&(n=r?t.map(i):[i(t)]),n}function xbe(e){return function(t){t=bbe(e,t);var r=Math.min(t[0],t[1]),n=Math.max(t[0],t[1]);return{start:r,end:n,size:n-r}}}function kG(e){return function(t){return t=bbe(e,t),{start:t,end:1/0,size:1/0}}}});var CG=ye((Bcr,Sbe)=>{"use strict";var Abe=Pr(),Zbt=Tbe(),Ybt=B4();Sbe.exports=function(t,r,n){for(var i=t.type==="constraint"?Zbt[t._operation](t.value):t,a=i.size,o=[],s=Ybt(i),l=n.trace._carpetTrace,u=l?{xaxis:l.aaxis,yaxis:l.baxis,x:n.a,y:n.b}:{xaxis:r.xaxis,yaxis:r.yaxis,x:n.x,y:n.y},c=i.start;c1e3){Abe.warn("Too many contours, clipping at 1000",t);break}return o}});var LG=ye((Ncr,Ebe)=>{"use strict";var HT=Pr();Ebe.exports=function(e,t){var r,n,i,a=function(l){return l.reverse()},o=function(l){return l};switch(t){case"=":case"<":return e;case">":for(e.length!==1&&HT.warn("Contour data invalid for the specified inequality operation."),n=e[0],r=0;r{"use strict";kbe.exports=function(e,t){var r=e[0],n=r.z,i;switch(t.type){case"levels":var a=Math.min(n[0][0],n[0][1]);for(i=0;io.level||o.starts.length&&a===o.level)}break;case"constraint":if(r.prefixBoundary=!1,r.edgepaths.length)return;var s=r.x.length,l=r.y.length,u=-1/0,c=1/0;for(i=0;i":f>u&&(r.prefixBoundary=!0);break;case"<":(fu||r.starts.length&&d===c)&&(r.prefixBoundary=!0);break;case"][":h=Math.min(f[0],f[1]),d=Math.max(f[0],f[1]),hu&&(r.prefixBoundary=!0);break}break}}});var R8=ye(jv=>{"use strict";var G4=qa(),zd=Pr(),jy=So(),Kbt=tc(),Pbe=Zl(),Cbe=ho(),Lbe=xm(),Jbt=y8(),Ibe=SG(),Rbe=MG(),$bt=CG(),Qbt=LG(),Dbe=PG(),V4=N4(),Um=V4.LABELOPTIMIZER;jv.plot=function(t,r,n,i){var a=r.xaxis,o=r.yaxis;zd.makeTraceGroups(i,n,"contour").each(function(s){var l=G4.select(this),u=s[0],c=u.trace,f=u.x,h=u.y,d=c.contours,v=$bt(d,r,u),m=zd.ensureSingle(l,"g","heatmapcoloring"),b=[];d.coloring==="heatmap"&&(b=[s]),Jbt(t,r,b,m),Ibe(v),Rbe(v);var p=a.c2p(f[0],!0),k=a.c2p(f[f.length-1],!0),M=o.c2p(h[0],!0),T=o.c2p(h[h.length-1],!0),L=[[p,T],[k,T],[k,M],[p,M]],x=v;d.type==="constraint"&&(x=Qbt(v,d._operation)),e2t(l,L,d),t2t(l,x,L,d),r2t(l,v,t,u,d),n2t(l,r,t,u,L)})};function e2t(e,t,r){var n=zd.ensureSingle(e,"g","contourbg"),i=n.selectAll("path").data(r.coloring==="fill"?[0]:[]);i.enter().append("path"),i.exit().remove(),i.attr("d","M"+t.join("L")+"Z").style("stroke","none")}function t2t(e,t,r,n){var i=n.coloring==="fill"||n.type==="constraint"&&n._operation!=="=",a="M"+r.join("L")+"Z";i&&Dbe(t,n);var o=zd.ensureSingle(e,"g","contourfill"),s=o.selectAll("path").data(i?t:[]);s.enter().append("path"),s.exit().remove(),s.each(function(l){var u=(l.prefixBoundary?a:"")+Fbe(l,r);u?G4.select(this).attr("d",u).style("stroke","none"):G4.select(this).remove()})}function Fbe(e,t){var r="",n=0,i=e.edgepaths.map(function(p,k){return k}),a=!0,o,s,l,u,c,f;function h(p){return Math.abs(p[1]-t[0][1])<.01}function d(p){return Math.abs(p[1]-t[2][1])<.01}function v(p){return Math.abs(p[0]-t[0][0])<.01}function m(p){return Math.abs(p[0]-t[2][0])<.01}for(;i.length;){for(f=jy.smoothopen(e.edgepaths[n],e.smoothing),r+=a?f:f.replace(/^M/,"L"),i.splice(i.indexOf(n),1),o=e.edgepaths[n][e.edgepaths[n].length-1],u=-1,l=0;l<4;l++){if(!o){zd.log("Missing end?",n,e);break}for(h(o)&&!m(o)?s=t[1]:v(o)?s=t[0]:d(o)?s=t[3]:m(o)&&(s=t[2]),c=0;c=0&&(s=b,u=c):Math.abs(o[1]-s[1])<.01?Math.abs(o[1]-b[1])<.01&&(b[0]-o[0])*(s[0]-b[0])>=0&&(s=b,u=c):zd.log("endpt to newendpt is not vert. or horz.",o,s,b)}if(o=s,u>=0)break;r+="L"+s}if(u===e.edgepaths.length){zd.log("unclosed perimeter path");break}n=u,a=i.indexOf(n)===-1,a&&(n=i[0],r+="Z")}for(n=0;nUm.MAXCOST*2)break;h&&(s/=2),o=u-s/2,l=o+s*1.5}if(f<=Um.MAXCOST)return c};function i2t(e,t,r,n){var i=t.width/2,a=t.height/2,o=e.x,s=e.y,l=e.theta,u=Math.cos(l)*i,c=Math.sin(l)*i,f=(o>n.center?n.right-o:o-n.left)/(u+Math.abs(Math.sin(l)*a)),h=(s>n.middle?n.bottom-s:s-n.top)/(Math.abs(c)+Math.cos(l)*a);if(f<1||h<1)return 1/0;var d=Um.EDGECOST*(1/(f-1)+1/(h-1));d+=Um.ANGLECOST*l*l;for(var v=o-u,m=s-c,b=o+u,p=s+c,k=0;k{"use strict";var o2t=qa(),IG=tc(),s2t=B4();zbe.exports=function(t){var r=t.contours,n=r.start,i=s2t(r),a=r.size||1,o=Math.floor((i-n)/a)+1,s=r.coloring==="lines"?0:1,l=IG.extractOpts(t);isFinite(a)||(a=1,o=1);var u=l.reversescale?IG.flipScale(l.colorscale):l.colorscale,c=u.length,f=new Array(c),h=new Array(c),d,v,m=l.min,b=l.max;if(r.coloring==="heatmap"){for(v=0;v=b)&&(n<=m&&(n=m),i>=b&&(i=b),o=Math.floor((i-n)/a)+1,s=0),v=0;vm&&(f.unshift(m),h.unshift(h[0])),f[f.length-1]{"use strict";var D8=qa(),qbe=So(),l2t=_8(),u2t=RG();Obe.exports=function(t){var r=D8.select(t).selectAll("g.contour");r.style("opacity",function(n){return n[0].trace.opacity}),r.each(function(n){var i=D8.select(this),a=n[0].trace,o=a.contours,s=a.line,l=o.size||1,u=o.start,c=o.type==="constraint",f=!c&&o.coloring==="lines",h=!c&&o.coloring==="fill",d=f||h?u2t(a):null;i.selectAll("g.contourlevel").each(function(b){D8.select(this).selectAll("path").call(qbe.lineGroupStyle,s.width,f?d(b.level):s.color,s.dash)});var v=o.labelfont;if(i.selectAll("g.contourlabels text").each(function(b){qbe.font(D8.select(this),{weight:v.weight,style:v.style,variant:v.variant,textcase:v.textcase,lineposition:v.lineposition,shadow:v.shadow,family:v.family,size:v.size,color:v.color||(f?d(b.level):s.color)})}),c)i.selectAll("g.contourfill path").style("fill",a.fillcolor);else if(h){var m;i.selectAll("g.contourfill path").style("fill",function(b){return m===void 0&&(m=b.level),d(b.level+.5*l)}),m===void 0&&(m=u),i.selectAll("g.contourbg path").style("fill",d(m-.5*l))}}),l2t(t)}});var z8=ye((jcr,Nbe)=>{"use strict";var Bbe=tc(),c2t=RG(),f2t=B4();function h2t(e,t,r){var n=t.contours,i=t.line,a=n.size||1,o=n.coloring,s=c2t(t,{isColorbar:!0});if(o==="heatmap"){var l=Bbe.extractOpts(t);r._fillgradient=l.reversescale?Bbe.flipScale(l.colorscale):l.colorscale,r._zrange=[l.min,l.max]}else o==="fill"&&(r._fillcolor=s);r._line={color:o==="lines"?s:i.color,width:n.showlines!==!1?i.width:0,dash:i.dash},r._levels={start:n.start,end:f2t(n),size:a}}Nbe.exports={min:"zmin",max:"zmax",calc:h2t}});var DG=ye((Wcr,Ube)=>{"use strict";var q8=ka(),d2t=b8();Ube.exports=function(t,r,n,i,a){a||(a={}),a.isContour=!0;var o=d2t(t,r,n,i,a);return o&&o.forEach(function(s){var l=s.trace;l.contours.type==="constraint"&&(l.fillcolor&&q8.opacity(l.fillcolor)?s.color=q8.addOpacity(l.fillcolor,1):l.contours.showlines&&q8.opacity(l.line.color)&&(s.color=q8.addOpacity(l.line.color,1)))}),o}});var Gbe=ye((Xcr,Vbe)=>{"use strict";Vbe.exports={attributes:_G(),supplyDefaults:ube(),crossTraceDefaults:A8(),calc:AG(),plot:R8().plot,layerName:"contourlayer",style:F8(),colorbar:z8(),hoverPoints:DG(),moduleType:"trace",name:"histogram2dcontour",basePlotModule:mh(),categories:["cartesian","svg","2dMap","contour","histogram","showLegend"],meta:{}}});var jbe=ye((Zcr,Hbe)=>{"use strict";Hbe.exports=Gbe()});var FG=ye((Ycr,Jbe)=>{"use strict";var Wbe=Eo(),v2t=xG(),Ybe=ka(),Xbe=Ybe.addOpacity,p2t=Ybe.opacity,Kbe=E8(),Zbe=Pr().isArrayOrTypedArray,g2t=Kbe.CONSTRAINT_REDUCTION,m2t=Kbe.COMPARISON_OPS2;Jbe.exports=function(t,r,n,i,a,o){var s=r.contours,l,u,c,f=n("contours.operation");if(s._operation=g2t[f],y2t(n,s),f==="="?l=s.showlines=!0:(l=n("contours.showlines"),c=n("fillcolor",Xbe((t.line||{}).color||a,.5))),l){var h=c&&p2t(c)?Xbe(r.fillcolor,1):a;u=n("line.color",h),n("line.width",2),n("line.dash")}n("line.smoothing"),v2t(n,i,u,o)};function y2t(e,t){var r;m2t.indexOf(t.operation)===-1?(e("contours.value",[0,1]),Zbe(t.value)?t.value.length>2?t.value=t.value.slice(2):t.length===0?t.value=[0,1]:t.length<2?(r=parseFloat(t.value[0]),t.value=[r,r+1]):t.value=[parseFloat(t.value[0]),parseFloat(t.value[1])]:Wbe(t.value)&&(r=parseFloat(t.value),t.value=[r,r+1])):(e("contours.value",0),Wbe(t.value)||(Zbe(t.value)?t.value=parseFloat(t.value[0]):t.value=0))}});var e2e=ye((Kcr,Qbe)=>{"use strict";var zG=Pr(),_2t=a8(),x2t=Dg(),b2t=FG(),w2t=C8(),T2t=L8(),A2t=R4(),$be=O4();Qbe.exports=function(t,r,n,i){function a(u,c){return zG.coerce(t,r,$be,u,c)}function o(u){return zG.coerce2(t,r,$be,u)}var s=_2t(t,r,a,i);if(!s){r.visible=!1;return}x2t(t,r,i,a),a("xhoverformat"),a("yhoverformat"),a("text"),a("hovertext"),a("hoverongaps"),a("hovertemplate"),a("hovertemplatefallback");var l=a("contours.type")==="constraint";a("connectgaps",zG.isArray1D(r.z)),l?b2t(t,r,a,i,n):(w2t(t,r,a,o),T2t(t,r,a,i)),r.contours&&r.contours.coloring==="heatmap"&&A2t(a,i),a("zorder")}});var r2e=ye((Jcr,t2e)=>{"use strict";t2e.exports={attributes:O4(),supplyDefaults:e2e(),calc:AG(),plot:R8().plot,style:F8(),colorbar:z8(),hoverPoints:DG(),moduleType:"trace",name:"contour",basePlotModule:mh(),categories:["cartesian","svg","2dMap","contour","showLegend"],meta:{}}});var n2e=ye(($cr,i2e)=>{"use strict";i2e.exports=r2e()});var qG=ye((Qcr,l2e)=>{"use strict";var{hovertemplateAttrs:S2t,texttemplateAttrs:M2t,templatefallbackAttrs:a2e}=Ll(),E2t=Pg(),o0=pf(),k2t=Gl(),o2e=Tu(),C2t=Pd().dash,F_=Ao().extendFlat,X0=o0.marker,H4=o0.line,s2e=X0.line;l2e.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:F_({},o0.mode,{dflt:"markers"}),text:F_({},o0.text,{}),texttemplate:M2t({editType:"plot"},{keys:["a","b","c","text"]}),texttemplatefallback:a2e({editType:"plot"}),hovertext:F_({},o0.hovertext,{}),line:{color:H4.color,width:H4.width,dash:C2t,backoff:H4.backoff,shape:F_({},H4.shape,{values:["linear","spline"]}),smoothing:H4.smoothing,editType:"calc"},connectgaps:o0.connectgaps,cliponaxis:o0.cliponaxis,fill:F_({},o0.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:E2t(),marker:F_({symbol:X0.symbol,opacity:X0.opacity,angle:X0.angle,angleref:X0.angleref,standoff:X0.standoff,maxdisplayed:X0.maxdisplayed,size:X0.size,sizeref:X0.sizeref,sizemin:X0.sizemin,sizemode:X0.sizemode,line:F_({width:s2e.width,dash:s2e.dash,editType:"calc"},o2e("marker.line")),gradient:X0.gradient,editType:"calc"},o2e("marker")),textfont:o0.textfont,textposition:o0.textposition,selected:o0.selected,unselected:o0.unselected,hoverinfo:F_({},k2t.hoverinfo,{flags:["a","b","c","text","name"]}),hoveron:o0.hoveron,hovertemplate:S2t(),hovertemplatefallback:a2e()}});var h2e=ye((efr,f2e)=>{"use strict";var u2e=Pr(),L2t=Pm(),jT=Ru(),P2t=$p(),I2t=D0(),c2e=uT(),R2t=F0(),D2t=Fg(),F2t=qG();f2e.exports=function(t,r,n,i){function a(h,d){return u2e.coerce(t,r,F2t,h,d)}var o=a("a"),s=a("b"),l=a("c"),u;if(o?(u=o.length,s?(u=Math.min(u,s.length),l&&(u=Math.min(u,l.length))):l?u=Math.min(u,l.length):u=0):s&&l&&(u=Math.min(s.length,l.length)),!u){r.visible=!1;return}r._length=u,a("sum"),a("text"),a("hovertext"),r.hoveron!=="fills"&&(a("hovertemplate"),a("hovertemplatefallback"));var c=u{"use strict";var OG=ho();d2e.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot;return i.aLabel=OG.tickText(a.aaxis,t.a,!0).text,i.bLabel=OG.tickText(a.baxis,t.b,!0).text,i.cLabel=OG.tickText(a.caxis,t.c,!0).text,i}});var y2e=ye((rfr,m2e)=>{"use strict";var BG=Eo(),z2t=z0(),q2t=Dm(),O2t=q0(),B2t=O0().calcMarkerSize,p2e=["a","b","c"],g2e={a:["b","c"],b:["a","c"],c:["a","b"]};m2e.exports=function(t,r){var n=t._fullLayout[r.subplot],i=n.sum,a=r.sum||i,o={a:r.a,b:r.b,c:r.c},s=r.ids,l,u,c,f,h,d;for(l=0;l{"use strict";var N2t=pT();_2e.exports=function(t,r,n){var i=r.plotContainer;i.select(".scatterlayer").selectAll("*").remove();for(var a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:i,layerClipId:r._hasClipOnAxisFalse?r.clipIdRelative:null},l=r.layers.frontplot.select("g.scatterlayer"),u=0;u{"use strict";var U2t=_T();b2e.exports=function(t,r,n,i){var a=U2t(t,r,n,i);if(!a||a[0].index===!1)return;var o=a[0];if(o.index===void 0){var s=1-o.y0/t.ya._length,l=t.xa._length,u=l*s/2,c=l-u;return o.x0=Math.max(Math.min(o.x0,c),u),o.x1=Math.max(Math.min(o.x1,c),u),a}var f=o.cd[o.index],h=o.trace,d=o.subplot;o.a=f.a,o.b=f.b,o.c=f.c,o.xLabelVal=void 0,o.yLabelVal=void 0;var v={};v[h.subplot]={_subplot:d};var m=h._module.formatLabels(f,h,v);o.aLabel=m.aLabel,o.bLabel=m.bLabel,o.cLabel=m.cLabel;var b=f.hi||h.hoverinfo,p=[];function k(T,L){p.push(T._hovertitle+": "+L)}if(!h.hovertemplate){var M=b.split("+");M.indexOf("all")!==-1&&(M=["a","b","c"]),M.indexOf("a")!==-1&&k(d.aaxis,o.aLabel),M.indexOf("b")!==-1&&k(d.baxis,o.bLabel),M.indexOf("c")!==-1&&k(d.caxis,o.cLabel)}return o.extraText=p.join("
"),o.hovertemplate=h.hovertemplate,a}});var A2e=ye((afr,T2e)=>{"use strict";T2e.exports=function(t,r,n,i,a){if(r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),i[a]){var o=i[a];t.a=o.a,t.b=o.b,t.c=o.c}else t.a=r.a,t.b=r.b,t.c=r.c;return t}});var F2e=ye((ofr,D2e)=>{"use strict";var L2e=qa(),V2t=fd(),NG=Oa(),Wy=Pr(),Vm=Wy.strTranslate,O8=Wy._,XT=ka(),B8=So(),j4=xm(),UG=Ao().extendFlat,G2t=Mc(),z_=ho(),S2e=yv(),M2e=ef(),P2e=Cg(),E2e=P2e.freeMode,H2t=P2e.rectMode,VG=qb(),j2t=qf().prepSelect,W2t=qf().selectOnClick,X2t=qf().clearOutline,Z2t=qf().clearSelectionsCache,I2e=Rh();function R2e(e,t){this.id=e.id,this.graphDiv=e.graphDiv,this.init(t),this.makeFramework(t),this.updateFx(t),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}D2e.exports=R2e;var Gm=R2e.prototype;Gm.init=function(e){this.container=e._ternarylayer,this.defs=e._defs,this.layoutId=e._uid,this.traceHash={},this.layers={}};Gm.plot=function(e,t){var r=this,n=t[r.id],i=t._size;r._hasClipOnAxisFalse=!1;for(var a=0;aWT*u?(p=u,b=p*WT):(b=l,p=b/WT),k=o*b/l,M=s*p/u,v=t.l+t.w*i-b/2,m=t.t+t.h*(1-a)-p/2,r.x0=v,r.y0=m,r.w=b,r.h=p,r.sum=c,r.xaxis={type:"linear",range:[f+2*d-c,c-f-2*h],domain:[i-k/2,i+k/2],_id:"x"},j4(r.xaxis,r.graphDiv._fullLayout),r.xaxis.setScale(),r.xaxis.isPtWithinRange=function(V){return V.a>=r.aaxis.range[0]&&V.a<=r.aaxis.range[1]&&V.b>=r.baxis.range[1]&&V.b<=r.baxis.range[0]&&V.c>=r.caxis.range[1]&&V.c<=r.caxis.range[0]},r.yaxis={type:"linear",range:[f,c-h-d],domain:[a-M/2,a+M/2],_id:"y"},j4(r.yaxis,r.graphDiv._fullLayout),r.yaxis.setScale(),r.yaxis.isPtWithinRange=function(){return!0};var T=r.yaxis.domain[0],L=r.aaxis=UG({},e.aaxis,{range:[f,c-h-d],side:"left",tickangle:(+e.aaxis.tickangle||0)-30,domain:[T,T+M*WT],anchor:"free",position:0,_id:"y",_length:b});j4(L,r.graphDiv._fullLayout),L.setScale();var x=r.baxis=UG({},e.baxis,{range:[c-f-d,h],side:"bottom",domain:r.xaxis.domain,anchor:"free",position:0,_id:"x",_length:b});j4(x,r.graphDiv._fullLayout),x.setScale();var C=r.caxis=UG({},e.caxis,{range:[c-f-h,d],side:"right",tickangle:(+e.caxis.tickangle||0)+30,domain:[T,T+M*WT],anchor:"free",position:0,_id:"y",_length:b});j4(C,r.graphDiv._fullLayout),C.setScale();var S="M"+v+","+(m+p)+"h"+b+"l-"+b/2+",-"+p+"Z";r.clipDef.select("path").attr("d",S),r.layers.plotbg.select("path").attr("d",S);var g="M0,"+p+"h"+b+"l-"+b/2+",-"+p+"Z";r.clipDefRelative.select("path").attr("d",g);var P=Vm(v,m);r.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",P),r.clipDefRelative.select("path").attr("transform",null);var E=Vm(v-x._offset,m+p);r.layers.baxis.attr("transform",E),r.layers.bgrid.attr("transform",E);var z=Vm(v+b/2,m)+"rotate(30)"+Vm(0,-L._offset);r.layers.aaxis.attr("transform",z),r.layers.agrid.attr("transform",z);var q=Vm(v+b/2,m)+"rotate(-30)"+Vm(0,-C._offset);r.layers.caxis.attr("transform",q),r.layers.cgrid.attr("transform",q),r.drawAxes(!0),r.layers.aline.select("path").attr("d",L.showline?"M"+v+","+(m+p)+"l"+b/2+",-"+p:"M0,0").call(XT.stroke,L.linecolor||"#000").style("stroke-width",(L.linewidth||0)+"px"),r.layers.bline.select("path").attr("d",x.showline?"M"+v+","+(m+p)+"h"+b:"M0,0").call(XT.stroke,x.linecolor||"#000").style("stroke-width",(x.linewidth||0)+"px"),r.layers.cline.select("path").attr("d",C.showline?"M"+(v+b/2)+","+m+"l"+b/2+","+p:"M0,0").call(XT.stroke,C.linecolor||"#000").style("stroke-width",(C.linewidth||0)+"px"),r.graphDiv._context.staticPlot||r.initInteractions(),B8.setClipUrl(r.layers.frontplot,r._hasClipOnAxisFalse?null:r.clipId,r.graphDiv)};Gm.drawAxes=function(e){var t=this,r=t.graphDiv,n=t.id.slice(7)+"title",i=t.layers,a=t.aaxis,o=t.baxis,s=t.caxis;if(t.drawAx(a),t.drawAx(o),t.drawAx(s),e){var l=Math.max(a.showticklabels?a.tickfont.size/2:0,(s.showticklabels?s.tickfont.size*.75:0)+(s.ticks==="outside"?s.ticklen*.87:0)),u=(o.showticklabels?o.tickfont.size:0)+(o.ticks==="outside"?o.ticklen:0)+3;i["a-title"]=VG.draw(r,"a"+n,{propContainer:a,propName:t.id+".aaxis.title.text",placeholder:O8(r,"Click to enter Component A title"),attributes:{x:t.x0+t.w/2,y:t.y0-a.title.font.size/3-l,"text-anchor":"middle"}}),i["b-title"]=VG.draw(r,"b"+n,{propContainer:o,propName:t.id+".baxis.title.text",placeholder:O8(r,"Click to enter Component B title"),attributes:{x:t.x0-u,y:t.y0+t.h+o.title.font.size*.83+u,"text-anchor":"middle"}}),i["c-title"]=VG.draw(r,"c"+n,{propContainer:s,propName:t.id+".caxis.title.text",placeholder:O8(r,"Click to enter Component C title"),attributes:{x:t.x0+t.w+u,y:t.y0+t.h+s.title.font.size*.83+u,"text-anchor":"middle"}})}};Gm.drawAx=function(e){var t=this,r=t.graphDiv,n=e._name,i=n.charAt(0),a=e._id,o=t.layers[n],s=30,l=i+"tickLayout",u=Y2t(e);t[l]!==u&&(o.selectAll("."+a+"tick").remove(),t[l]=u),e.setScale();var c=z_.calcTicks(e),f=z_.clipEnds(e,c),h=z_.makeTransTickFn(e),d=z_.getTickSigns(e)[2],v=Wy.deg2rad(s),m=d*(e.linewidth||1)/2,b=d*e.ticklen,p=t.w,k=t.h,M=i==="b"?"M0,"+m+"l"+Math.sin(v)*b+","+Math.cos(v)*b:"M"+m+",0l"+Math.cos(v)*b+","+-Math.sin(v)*b,T={a:"M0,0l"+k+",-"+p/2,b:"M0,0l-"+p/2+",-"+k,c:"M0,0l-"+k+","+p/2}[i];z_.drawTicks(r,e,{vals:e.ticks==="inside"?f:c,layer:o,path:M,transFn:h,crisp:!1}),z_.drawGrid(r,e,{vals:f,layer:t.layers[i+"grid"],path:T,transFn:h,crisp:!1}),z_.drawLabels(r,e,{vals:c,layer:o,transFn:h,labelFns:z_.makeLabelFns(e,0,s)})};function Y2t(e){return e.ticks+String(e.ticklen)+String(e.showticklabels)}var yd=I2e.MINZOOM/2+.87,K2t="m-0.87,.5h"+yd+"v3h-"+(yd+5.2)+"l"+(yd/2+2.6)+",-"+(yd*.87+4.5)+"l2.6,1.5l-"+yd/2+","+yd*.87+"Z",J2t="m0.87,.5h-"+yd+"v3h"+(yd+5.2)+"l-"+(yd/2+2.6)+",-"+(yd*.87+4.5)+"l-2.6,1.5l"+yd/2+","+yd*.87+"Z",$2t="m0,1l"+yd/2+","+yd*.87+"l2.6,-1.5l-"+(yd/2+2.6)+",-"+(yd*.87+4.5)+"l-"+(yd/2+2.6)+","+(yd*.87+4.5)+"l2.6,1.5l"+yd/2+",-"+yd*.87+"Z",Q2t="m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z",k2e=!0;Gm.clearOutline=function(){Z2t(this.dragOptions),X2t(this.dragOptions.gd)};Gm.initInteractions=function(){var e=this,t=e.layers.plotbg.select("path").node(),r=e.graphDiv,n=r._fullLayout._zoomlayer,i,a;this.dragOptions={element:t,gd:r,plotinfo:{id:e.id,domain:r._fullLayout[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis},subplot:e.id,prepFn:function(E,z,q){e.dragOptions.xaxes=[e.xaxis],e.dragOptions.yaxes=[e.yaxis],i=r._fullLayout._invScaleX,a=r._fullLayout._invScaleY;var V=e.dragOptions.dragmode=r._fullLayout.dragmode;E2e(V)?e.dragOptions.minDrag=1:e.dragOptions.minDrag=void 0,V==="zoom"?(e.dragOptions.moveFn=x,e.dragOptions.clickFn=p,e.dragOptions.doneFn=C,k(E,z,q)):V==="pan"?(e.dragOptions.moveFn=g,e.dragOptions.clickFn=p,e.dragOptions.doneFn=P,S(),e.clearOutline(r)):(H2t(V)||E2e(V))&&j2t(E,z,q,e.dragOptions,V)}};var o,s,l,u,c,f,h,d,v,m;function b(E){var z={};return z[e.id+".aaxis.min"]=E.a,z[e.id+".baxis.min"]=E.b,z[e.id+".caxis.min"]=E.c,z}function p(E,z){var q=r._fullLayout.clickmode;C2e(r),E===2&&(r.emit("plotly_doubleclick",null),NG.call("_guiRelayout",r,b({a:0,b:0,c:0}))),q.indexOf("select")>-1&&E===1&&W2t(z,r,[e.xaxis],[e.yaxis],e.id,e.dragOptions),q.indexOf("event")>-1&&M2e.click(r,z,e.id)}function k(E,z,q){var V=t.getBoundingClientRect();o=z-V.left,s=q-V.top,r._fullLayout._calcInverseTransform(r);var G=r._fullLayout._invTransform,Z=Wy.apply3DTransform(G)(o,s);o=Z[0],s=Z[1],l={a:e.aaxis.range[0],b:e.baxis.range[1],c:e.caxis.range[1]},c=l,u=e.aaxis.range[1]-l.a,f=V2t(e.graphDiv._fullLayout[e.id].bgcolor).getLuminance(),h="M0,"+e.h+"L"+e.w/2+", 0L"+e.w+","+e.h+"Z",d=!1,v=n.append("path").attr("class","zoombox").attr("transform",Vm(e.x0,e.y0)).style({fill:f>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",h),m=n.append("path").attr("class","zoombox-corners").attr("transform",Vm(e.x0,e.y0)).style({fill:XT.background,stroke:XT.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),e.clearOutline(r)}function M(E,z){return 1-z/e.h}function T(E,z){return 1-(E+(e.h-z)/Math.sqrt(3))/e.w}function L(E,z){return(E-(e.h-z)/Math.sqrt(3))/e.w}function x(E,z){var q=o+E*i,V=s+z*a,G=Math.max(0,Math.min(1,M(o,s),M(q,V))),Z=Math.max(0,Math.min(1,T(o,s),T(q,V))),j=Math.max(0,Math.min(1,L(o,s),L(q,V))),N=(G/2+j)*e.w,H=(1-G/2-Z)*e.w,ie=(N+H)/2,ae=H-N,_e=(1-G)*e.h,Ee=_e-ae/WT;ae.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),m.transition().style("opacity",1).duration(200),d=!0),r.emit("plotly_relayouting",b(c))}function C(){C2e(r),c!==l&&(NG.call("_guiRelayout",r,b(c)),k2e&&r.data&&r._context.showTips&&(Wy.notifier(O8(r,"Double-click to zoom back out"),"long",r),k2e=!1))}function S(){l={a:e.aaxis.range[0],b:e.baxis.range[1],c:e.caxis.range[1]},c=l}function g(E,z){var q=E/e.xaxis._m,V=z/e.yaxis._m;c={a:l.a-V,b:l.b+(q+V)/2,c:l.c-(q-V)/2};var G=[c.a,c.b,c.c].sort(Wy.sorterAsc),Z={a:G.indexOf(c.a),b:G.indexOf(c.b),c:G.indexOf(c.c)};G[0]<0&&(G[1]+G[0]/2<0?(G[2]+=G[0]+G[1],G[0]=G[1]=0):(G[2]+=G[0]/2,G[1]+=G[0]/2,G[0]=0),c={a:G[Z.a],b:G[Z.b],c:G[Z.c]},z=(l.a-c.a)*e.yaxis._m,E=(l.c-c.c-l.b+c.b)*e.xaxis._m);var j=Vm(e.x0+E,e.y0+z);e.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",j);var N=Vm(-E,-z);e.clipDefRelative.select("path").attr("transform",N),e.aaxis.range=[c.a,e.sum-c.b-c.c],e.baxis.range=[e.sum-c.a-c.c,c.b],e.caxis.range=[e.sum-c.a-c.b,c.c],e.drawAxes(!1),e._hasClipOnAxisFalse&&e.plotContainer.select(".scatterlayer").selectAll(".trace").call(B8.hideOutsideRangePoints,e),r.emit("plotly_relayouting",b(c))}function P(){NG.call("_guiRelayout",r,b(c))}t.onmousemove=function(E){M2e.hover(r,E,e.id),r._fullLayout._lasthover=t,r._fullLayout._hoversubplot=e.id},t.onmouseout=function(E){r._dragging||S2e.unhover(r,E)},S2e.init(this.dragOptions)};function C2e(e){L2e.select(e).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}});var jG=ye((sfr,z2e)=>{"use strict";var ewt=Ih(),twt=Cc().attributes,su=Rd(),rwt=mc().overrideAll,GG=Ao().extendFlat,HG={title:{text:su.title.text,font:su.title.font},color:su.color,tickmode:su.minor.tickmode,nticks:GG({},su.nticks,{dflt:6,min:1}),tick0:su.tick0,dtick:su.dtick,tickvals:su.tickvals,ticktext:su.ticktext,ticks:su.ticks,ticklen:su.ticklen,tickwidth:su.tickwidth,tickcolor:su.tickcolor,ticklabelstep:su.ticklabelstep,showticklabels:su.showticklabels,labelalias:su.labelalias,showtickprefix:su.showtickprefix,tickprefix:su.tickprefix,showticksuffix:su.showticksuffix,ticksuffix:su.ticksuffix,showexponent:su.showexponent,exponentformat:su.exponentformat,minexponent:su.minexponent,separatethousands:su.separatethousands,tickfont:su.tickfont,tickangle:su.tickangle,tickformat:su.tickformat,tickformatstops:su.tickformatstops,hoverformat:su.hoverformat,showline:GG({},su.showline,{dflt:!0}),linecolor:su.linecolor,linewidth:su.linewidth,showgrid:GG({},su.showgrid,{dflt:!0}),gridcolor:su.gridcolor,gridwidth:su.gridwidth,griddash:su.griddash,layer:su.layer,min:{valType:"number",dflt:0,min:0}},N8=z2e.exports=rwt({domain:twt({name:"ternary"}),bgcolor:{valType:"color",dflt:ewt.background},sum:{valType:"number",dflt:1,min:0},aaxis:HG,baxis:HG,caxis:HG},"plot","from-root");N8.uirevision={valType:"any",editType:"none"};N8.aaxis.uirevision=N8.baxis.uirevision=N8.caxis.uirevision={valType:"any",editType:"none"}});var q_=ye((lfr,q2e)=>{"use strict";var iwt=Pr(),nwt=vl(),awt=Cc().defaults;q2e.exports=function(t,r,n,i){var a=i.type,o=i.attributes,s=i.handleDefaults,l=i.partition||"x",u=r._subplots[a],c=u.length,f=c&&u[0].replace(/\d+$/,""),h,d;function v(k,M){return iwt.coerce(h,d,o,k,M)}for(var m=0;m{"use strict";var owt=ka(),swt=vl(),U8=Pr(),lwt=q_(),uwt=s_(),cwt=l_(),fwt=q3(),hwt=Pb(),dwt=c4(),B2e=jG(),O2e=["aaxis","baxis","caxis"];N2e.exports=function(t,r,n){lwt(t,r,n,{type:"ternary",attributes:B2e,handleDefaults:vwt,font:r.font,paper_bgcolor:r.paper_bgcolor})};function vwt(e,t,r,n){var i=r("bgcolor"),a=r("sum");n.bgColor=owt.combine(i,n.paper_bgcolor);for(var o,s,l,u=0;u=a&&(c.min=0,f.min=0,h.min=0,e.aaxis&&delete e.aaxis.min,e.baxis&&delete e.baxis.min,e.caxis&&delete e.caxis.min)}function pwt(e,t,r,n){var i=B2e[t._name];function a(d,v){return U8.coerce(e,t,i,d,v)}a("uirevision",n.uirevision),t.type="linear";var o=a("color"),s=o!==i.color.dflt?o:r.font.color,l=t._name,u=l.charAt(0).toUpperCase(),c="Component "+u,f=a("title.text",c);t._hovertitle=f===c?f:u,U8.coerceFont(a,"title.font",r.font,{overrideDflt:{size:U8.bigFont(r.font.size),color:s}}),a("min"),hwt(e,t,a,"linear"),cwt(e,t,a,"linear"),uwt(e,t,a,"linear",{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0}),fwt(e,t,a,{outerTicks:!0});var h=a("showticklabels");h&&(U8.coerceFont(a,"tickfont",r.font,{overrideDflt:{color:s}}),a("tickangle"),a("tickformat")),dwt(e,t,a,{dfltColor:o,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),a("hoverformat"),a("layer")}});var V2e=ye(Z0=>{"use strict";var gwt=F2e(),mwt=Id().getSubplotCalcData,ywt=Pr().counterRegex,ZT="ternary";Z0.name=ZT;var _wt=Z0.attr="subplot";Z0.idRoot=ZT;Z0.idRegex=Z0.attrRegex=ywt(ZT);var xwt=Z0.attributes={};xwt[_wt]={valType:"subplotid",dflt:"ternary",editType:"calc"};Z0.layoutAttributes=jG();Z0.supplyLayoutDefaults=U2e();Z0.plot=function(t){for(var r=t._fullLayout,n=t.calcdata,i=r._subplots[ZT],a=0;a{"use strict";G2e.exports={attributes:qG(),supplyDefaults:h2e(),colorbar:Qd(),formatLabels:v2e(),calc:y2e(),plot:x2e(),style:sp().style,styleOnSelect:sp().styleOnSelect,hoverPoints:w2e(),selectPoints:xT(),eventData:A2e(),moduleType:"trace",name:"scatterternary",basePlotModule:V2e(),categories:["ternary","symbols","showLegend","scatter-like"],meta:{}}});var W2e=ye((hfr,j2e)=>{"use strict";j2e.exports=H2e()});var WG=ye((dfr,Z2e)=>{"use strict";var Oh=C4(),YT=Ao().extendFlat,X2e=vf().axisHoverFormat;Z2e.exports={y:Oh.y,x:Oh.x,x0:Oh.x0,y0:Oh.y0,xhoverformat:X2e("x"),yhoverformat:X2e("y"),name:YT({},Oh.name,{}),orientation:YT({},Oh.orientation,{}),bandwidth:{valType:"number",min:0,editType:"calc"},scalegroup:{valType:"string",dflt:"",editType:"calc"},scalemode:{valType:"enumerated",values:["width","count"],dflt:"width",editType:"calc"},spanmode:{valType:"enumerated",values:["soft","hard","manual"],dflt:"soft",editType:"calc"},span:{valType:"info_array",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}],editType:"calc"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:Oh.fillcolor,points:YT({},Oh.boxpoints,{}),jitter:YT({},Oh.jitter,{}),pointpos:YT({},Oh.pointpos,{}),width:YT({},Oh.width,{}),marker:Oh.marker,text:Oh.text,hovertext:Oh.hovertext,hovertemplate:Oh.hovertemplate,hovertemplatefallback:Oh.hovertemplatefallback,quartilemethod:Oh.quartilemethod,box:{visible:{valType:"boolean",dflt:!1,editType:"plot"},width:{valType:"number",min:0,max:1,dflt:.25,editType:"plot"},fillcolor:{valType:"color",editType:"style"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,editType:"style"},editType:"style"},editType:"plot"},meanline:{visible:{valType:"boolean",dflt:!1,editType:"plot"},color:{valType:"color",editType:"style"},width:{valType:"number",min:0,editType:"style"},editType:"plot"},side:{valType:"enumerated",values:["both","positive","negative"],dflt:"both",editType:"calc"},offsetgroup:Oh.offsetgroup,alignmentgroup:Oh.alignmentgroup,selected:Oh.selected,unselected:Oh.unselected,hoveron:{valType:"flaglist",flags:["violins","points","kde"],dflt:"violins+points+kde",extras:["all"],editType:"style"},zorder:Oh.zorder}});var YG=ye((vfr,Y2e)=>{"use strict";var XG=L4(),ZG=Pr().extendFlat;Y2e.exports={violinmode:ZG({},XG.boxmode,{}),violingap:ZG({},XG.boxgap,{}),violingroupgap:ZG({},XG.boxgroupgap,{})}});var ewe=ye((pfr,Q2e)=>{"use strict";var K2e=Pr(),bwt=ka(),J2e=I4(),$2e=WG();Q2e.exports=function(t,r,n,i){function a(L,x){return K2e.coerce(t,r,$2e,L,x)}function o(L,x){return K2e.coerce2(t,r,$2e,L,x)}if(J2e.handleSampleDefaults(t,r,a,i),r.visible!==!1){a("bandwidth"),a("side");var s=a("width");s||(a("scalegroup",r.name),a("scalemode"));var l=a("span"),u;Array.isArray(l)&&(u="manual"),a("spanmode",u);var c=a("line.color",(t.marker||{}).color||n),f=a("line.width"),h=a("fillcolor",bwt.addOpacity(r.line.color,.5));J2e.handlePointsDefaults(t,r,a,{prefix:""});var d=o("box.width"),v=o("box.fillcolor",h),m=o("box.line.color",c),b=o("box.line.width",f),p=a("box.visible",!!(d||v||m||b));p||(r.box={visible:!1});var k=o("meanline.color",c),M=o("meanline.width",f),T=a("meanline.visible",!!(k||M));T||(r.meanline={visible:!1}),a("quartilemethod"),a("zorder")}}});var rwe=ye((gfr,twe)=>{"use strict";var wwt=Pr(),Twt=YG(),Awt=QI();twe.exports=function(t,r,n){function i(a,o){return wwt.coerce(t,r,Twt,a,o)}Awt._supply(t,r,n,i,"violin")}});var V8=ye(y2=>{"use strict";var Swt=Pr(),Mwt={gaussian:function(e){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*e*e)}};y2.makeKDE=function(e,t,r){var n=r.length,i=Mwt.gaussian,a=e.bandwidth,o=1/(n*a);return function(s){for(var l=0,u=0;u{"use strict";var KG=Pr(),JG=ho(),Ewt=VV(),iwe=V8(),kwt=fs().BADNUM;nwe.exports=function(t,r){var n=Ewt(t,r);if(n[0].t.empty)return n;for(var i=t._fullLayout,a=JG.getFromId(t,r[r.orientation==="h"?"xaxis":"yaxis"]),o=1/0,s=-1/0,l=0,u=0,c=0;c{"use strict";var Iwt=t8().setPositionOffset,owe=["v","h"];swe.exports=function(t,r){for(var n=t.calcdata,i=r.xaxis,a=r.yaxis,o=0;o{"use strict";var $G=qa(),QG=Pr(),Rwt=So(),eH=r8(),Dwt=MU(),Fwt=V8();uwe.exports=function(t,r,n,i){var a=t._context.staticPlot,o=t._fullLayout,s=r.xaxis,l=r.yaxis;function u(c,f){var h=Dwt(c,{xaxis:s,yaxis:l,trace:f,connectGaps:!0,baseTolerance:.75,shape:"spline",simplify:!0,linearized:!0});return Rwt.smoothopen(h[0],1)}QG.makeTraceGroups(i,n,"trace violins").each(function(c){var f=$G.select(this),h=c[0],d=h.t,v=h.trace;if(v.visible!==!0||d.empty){f.remove();return}var m=d.bPos,b=d.bdPos,p=r[d.valLetter+"axis"],k=r[d.posLetter+"axis"],M=v.side==="both",T=M||v.side==="positive",L=M||v.side==="negative",x=f.selectAll("path.violin").data(QG.identity);x.enter().append("path").style("vector-effect",a?"none":"non-scaling-stroke").attr("class","violin"),x.exit().remove(),x.each(function(V){var G=$G.select(this),Z=V.density,j=Z.length,N=k.c2l(V.pos+m,!0),H=k.l2p(N),ie;if(v.width)ie=d.maxKDE/b;else{var ae=o._violinScaleGroupStats[v.scalegroup];ie=v.scalemode==="count"?ae.maxKDE/b*(ae.maxCount/V.pts.length):ae.maxKDE/b}var _e,Ee,Ce,ge,re,Se,ke;if(T){for(Se=new Array(j),ge=0;ge{"use strict";var fwe=qa(),KT=ka(),zwt=sp().stylePoints;hwe.exports=function(t){var r=fwe.select(t).selectAll("g.trace.violins");r.style("opacity",function(n){return n[0].trace.opacity}),r.each(function(n){var i=n[0].trace,a=fwe.select(this),o=i.box||{},s=o.line||{},l=i.meanline||{},u=l.width;a.selectAll("path.violin").style("stroke-width",i.line.width+"px").call(KT.stroke,i.line.color).call(KT.fill,i.fillcolor),a.selectAll("path.box").style("stroke-width",s.width+"px").call(KT.stroke,s.color).call(KT.fill,o.fillcolor);var c={"stroke-width":u+"px","stroke-dasharray":2*u+"px,"+u+"px"};a.selectAll("path.mean").style(c).call(KT.stroke,l.color),a.selectAll("path.meanline").style(c).call(KT.stroke,l.color),zwt(a,i,t)})}});var mwe=ye((wfr,gwe)=>{"use strict";var qwt=ka(),tH=Pr(),Owt=ho(),vwe=XV(),pwe=V8();gwe.exports=function(t,r,n,i,a){a||(a={});var o=a.hoverLayer,s=t.cd,l=s[0].trace,u=l.hoveron,c=u.indexOf("violins")!==-1,f=u.indexOf("kde")!==-1,h=[],d,v;if(c||f){var m=vwe.hoverOnBoxes(t,r,n,i);if(f&&m.length>0){var b=t.xa,p=t.ya,k,M,T,L,x;l.orientation==="h"?(x=r,k="y",T=p,M="x",L=b):(x=n,k="x",T=b,M="y",L=p);var C=s[t.index];if(x>=C.span[0]&&x<=C.span[1]){var S=tH.extendFlat({},t),g=L.c2p(x,!0),P=pwe.getKdeValue(C,l,x),E=pwe.getPositionOnKdePath(C,l,g),z=T._offset,q=T._length;S[k+"0"]=E[0],S[k+"1"]=E[1],S[M+"0"]=S[M+"1"]=g,S[M+"Label"]=M+": "+Owt.hoverLabelText(L,x,l[M+"hoverformat"])+", "+s[0].t.labels.kde+" "+P.toFixed(3);for(var V=0,G=0;G{"use strict";ywe.exports={attributes:WG(),layoutAttributes:YG(),supplyDefaults:ewe(),crossTraceDefaults:I4().crossTraceDefaults,supplyLayoutDefaults:rwe(),calc:awe(),crossTraceCalc:lwe(),plot:cwe(),style:dwe(),styleOnSelect:sp().styleOnSelect,hoverPoints:mwe(),selectPoints:ZV(),moduleType:"trace",name:"violin",basePlotModule:mh(),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","violinLayout","zoomScale"],meta:{}}});var bwe=ye((Afr,xwe)=>{"use strict";xwe.exports=_we()});var Twe=ye((Sfr,wwe)=>{"use strict";wwe.exports={eventDataKeys:["percentInitial","percentPrevious","percentTotal"]}});var iH=ye((Mfr,Ewe)=>{"use strict";var jc=qm(),rH=pf().line,Bwt=Gl(),Awe=vf().axisHoverFormat,{hovertemplateAttrs:Nwt,texttemplateAttrs:Uwt,templatefallbackAttrs:Swe}=Ll(),Mwe=Twe(),Xy=Ao().extendFlat,Vwt=ka();Ewe.exports={x:jc.x,x0:jc.x0,dx:jc.dx,y:jc.y,y0:jc.y0,dy:jc.dy,xperiod:jc.xperiod,yperiod:jc.yperiod,xperiod0:jc.xperiod0,yperiod0:jc.yperiod0,xperiodalignment:jc.xperiodalignment,yperiodalignment:jc.yperiodalignment,xhoverformat:Awe("x"),yhoverformat:Awe("y"),hovertext:jc.hovertext,hovertemplate:Nwt({},{keys:Mwe.eventDataKeys}),hovertemplatefallback:Swe(),hoverinfo:Xy({},Bwt.hoverinfo,{flags:["name","x","y","text","percent initial","percent previous","percent total"]}),textinfo:{valType:"flaglist",flags:["label","text","percent initial","percent previous","percent total","value"],extras:["none"],editType:"plot",arrayOk:!1},texttemplate:Uwt({editType:"plot"},{keys:Mwe.eventDataKeys.concat(["label","value"])}),texttemplatefallback:Swe({editType:"plot"}),text:jc.text,textposition:jc.textposition,insidetextanchor:Xy({},jc.insidetextanchor,{dflt:"middle"}),textangle:Xy({},jc.textangle,{dflt:0}),textfont:jc.textfont,insidetextfont:jc.insidetextfont,outsidetextfont:jc.outsidetextfont,constraintext:jc.constraintext,cliponaxis:jc.cliponaxis,orientation:Xy({},jc.orientation,{}),offset:Xy({},jc.offset,{arrayOk:!1}),width:Xy({},jc.width,{arrayOk:!1}),marker:Gwt(),connector:{fillcolor:{valType:"color",editType:"style"},line:{color:Xy({},rH.color,{dflt:Vwt.defaultLine}),width:Xy({},rH.width,{dflt:0,editType:"plot"}),dash:rH.dash,editType:"style"},visible:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},offsetgroup:jc.offsetgroup,alignmentgroup:jc.alignmentgroup,zorder:jc.zorder};function Gwt(){var e=Xy({},jc.marker);return delete e.pattern,delete e.cornerradius,e}});var nH=ye((Efr,kwe)=>{"use strict";kwe.exports={funnelmode:{valType:"enumerated",values:["stack","group","overlay"],dflt:"stack",editType:"calc"},funnelgap:{valType:"number",min:0,max:1,editType:"calc"},funnelgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}});var oH=ye((kfr,Lwe)=>{"use strict";var G8=Pr(),Hwt=r2(),jwt=i0().handleText,Wwt=lT(),Xwt=Dg(),Cwe=iH(),aH=ka();function Zwt(e,t,r,n){function i(f,h){return G8.coerce(e,t,Cwe,f,h)}var a=Wwt(e,t,n,i);if(!a){t.visible=!1;return}Xwt(e,t,n,i),i("xhoverformat"),i("yhoverformat"),i("orientation",t.y&&!t.x?"v":"h"),i("offset"),i("width");var o=i("text");i("hovertext"),i("hovertemplate"),i("hovertemplatefallback");var s=i("textposition");jwt(e,t,n,i,s,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),t.textposition!=="none"&&!t.texttemplate&&i("textinfo",G8.isArrayOrTypedArray(o)?"text+value":"value");var l=i("marker.color",r);i("marker.line.color",aH.defaultLine),i("marker.line.width");var u=i("connector.visible");if(u){i("connector.fillcolor",Ywt(l));var c=i("connector.line.width");c&&(i("connector.line.color"),i("connector.line.dash"))}i("zorder")}function Ywt(e){var t=G8.isArrayOrTypedArray(e)?"#000":e;return aH.addOpacity(t,.5*aH.opacity(t))}function Kwt(e,t){var r,n;function i(o){return G8.coerce(n._input,n,Cwe,o)}for(var a=0;a{"use strict";var Jwt=Pr(),$wt=nH();Pwe.exports=function(e,t,r){var n=!1;function i(s,l){return Jwt.coerce(e,t,$wt,s,l)}for(var a=0;a{"use strict";var JT=Pr();Rwe.exports=function(t,r){for(var n=0;n{"use strict";var Fwe=ho(),zwe=zg(),Qwt=Dwe(),e3t=q0(),W4=fs().BADNUM;qwe.exports=function(t,r){var n=Fwe.getFromId(t,r.xaxis||"x"),i=Fwe.getFromId(t,r.yaxis||"y"),a,o,s,l,u,c,f,h;r.orientation==="h"?(a=n.makeCalcdata(r,"x"),s=i.makeCalcdata(r,"y"),l=zwe(r,i,"y",s),u=!!r.yperiodalignment,c="y"):(a=i.makeCalcdata(r,"y"),s=n.makeCalcdata(r,"x"),l=zwe(r,n,"x",s),u=!!r.xperiodalignment,c="x"),o=l.vals;var d=Math.min(o.length,a.length),v=new Array(d);for(r._base=[],f=0;f{"use strict";var Bwe=i2().setGroupPositions;Nwe.exports=function(t,r){var n=t._fullLayout,i=t._fullData,a=t.calcdata,o=r.xaxis,s=r.yaxis,l=[],u=[],c=[],f,h;for(h=0;h{"use strict";var H8=qa(),B_=Pr(),Vwe=So(),O_=fs().BADNUM,t3t=p2(),r3t=bv().clearMinTextSize;Hwe.exports=function(t,r,n,i){var a=t._fullLayout;r3t("funnel",a),i3t(t,r,n,i),n3t(t,r,n,i),t3t.plot(t,r,n,i,{mode:a.funnelmode,norm:a.funnelmode,gap:a.funnelgap,groupgap:a.funnelgroupgap})};function i3t(e,t,r,n){var i=t.xaxis,a=t.yaxis;B_.makeTraceGroups(n,r,"trace bars").each(function(o){var s=H8.select(this),l=o[0].trace,u=B_.ensureSingle(s,"g","regions");if(!l.connector||!l.connector.visible){u.remove();return}var c=l.orientation==="h",f=u.selectAll("g.region").data(B_.identity);f.enter().append("g").classed("region",!0),f.exit().remove();var h=f.size();f.each(function(d,v){if(!(v!==h-1&&!d.cNext)){var m=Gwe(d,i,a,c),b=m[0],p=m[1],k="";b[0]!==O_&&p[0]!==O_&&b[1]!==O_&&p[1]!==O_&&b[2]!==O_&&p[2]!==O_&&b[3]!==O_&&p[3]!==O_&&(c?k+="M"+b[0]+","+p[1]+"L"+b[2]+","+p[2]+"H"+b[3]+"L"+b[1]+","+p[1]+"Z":k+="M"+b[1]+","+p[1]+"L"+b[2]+","+p[3]+"V"+p[2]+"L"+b[1]+","+p[0]+"Z"),k===""&&(k="M0,0Z"),B_.ensureSingle(H8.select(this),"path").attr("d",k).call(Vwe.setClipUrl,t.layerClipId,e)}})})}function n3t(e,t,r,n){var i=t.xaxis,a=t.yaxis;B_.makeTraceGroups(n,r,"trace bars").each(function(o){var s=H8.select(this),l=o[0].trace,u=B_.ensureSingle(s,"g","lines");if(!l.connector||!l.connector.visible||!l.connector.line.width){u.remove();return}var c=l.orientation==="h",f=u.selectAll("g.line").data(B_.identity);f.enter().append("g").classed("line",!0),f.exit().remove();var h=f.size();f.each(function(d,v){if(!(v!==h-1&&!d.cNext)){var m=Gwe(d,i,a,c),b=m[0],p=m[1],k="";b[3]!==void 0&&p[3]!==void 0&&(c?(k+="M"+b[0]+","+p[1]+"L"+b[2]+","+p[2],k+="M"+b[1]+","+p[1]+"L"+b[3]+","+p[2]):(k+="M"+b[1]+","+p[1]+"L"+b[2]+","+p[3],k+="M"+b[1]+","+p[0]+"L"+b[2]+","+p[2])),k===""&&(k="M0,0Z"),B_.ensureSingle(H8.select(this),"path").attr("d",k).call(Vwe.setClipUrl,t.layerClipId,e)}})})}function Gwe(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),i[2]=o.c2p(e.nextS0,!0),a[2]=s.c2p(e.nextP0,!0),i[3]=o.c2p(e.nextS1,!0),a[3]=s.c2p(e.nextP1,!0),n?[i,a]:[a,i]}});var Zwe=ye((Dfr,Xwe)=>{"use strict";var X4=qa(),Wwe=So(),lH=ka(),a3t=X1().DESELECTDIM,o3t=V0(),s3t=bv().resizeText,l3t=o3t.styleTextPoints;function u3t(e,t,r){var n=r||X4.select(e).selectAll('g[class^="funnellayer"]').selectAll("g.trace");s3t(e,n,"funnel"),n.style("opacity",function(i){return i[0].trace.opacity}),n.each(function(i){var a=X4.select(this),o=i[0].trace;a.selectAll(".point > path").each(function(s){if(!s.isBlank){var l=o.marker;X4.select(this).call(lH.fill,s.mc||l.color).call(lH.stroke,s.mlc||l.line.color).call(Wwe.dashLine,l.line.dash,s.mlw||l.line.width).style("opacity",o.selectedpoints&&!s.selected?a3t:1)}}),l3t(a,o,e),a.selectAll(".regions").each(function(){X4.select(this).selectAll("path").style("stroke-width",0).call(lH.fill,o.connector.fillcolor)}),a.selectAll(".lines").each(function(){var s=o.connector.line;Wwe.lineGroupStyle(X4.select(this).selectAll("path"),s.width,s.color,s.dash)})})}Xwe.exports={style:u3t}});var Jwe=ye((Ffr,Kwe)=>{"use strict";var Ywe=ka().opacity,c3t=RT().hoverOnBars,uH=Pr().formatPercent;Kwe.exports=function(t,r,n,i,a){var o=c3t(t,r,n,i,a);if(o){var s=o.cd,l=s[0].trace,u=l.orientation==="h",c=o.index,f=s[c],h=u?"x":"y";o[h+"LabelVal"]=f.s,o.percentInitial=f.begR,o.percentInitialLabel=uH(f.begR,1),o.percentPrevious=f.difR,o.percentPreviousLabel=uH(f.difR,1),o.percentTotal=f.sumR,o.percentTotalLabel=uH(f.sumR,1);var d=f.hi||l.hoverinfo,v=[];if(d&&d!=="none"&&d!=="skip"){var m=d==="all",b=d.split("+"),p=function(k){return m||b.indexOf(k)!==-1};p("percent initial")&&v.push(o.percentInitialLabel+" of initial"),p("percent previous")&&v.push(o.percentPreviousLabel+" of previous"),p("percent total")&&v.push(o.percentTotalLabel+" of total")}return o.extraText=v.join("
"),o.color=f3t(l,f),[o]}};function f3t(e,t){var r=e.marker,n=t.mc||r.color,i=t.mlc||r.line.color,a=t.mlw||r.line.width;if(Ywe(n))return n;if(Ywe(i)&&a)return i}});var Qwe=ye((zfr,$we)=>{"use strict";$we.exports=function(t,r){return t.x="xVal"in r?r.xVal:r.x,t.y="yVal"in r?r.yVal:r.y,"percentInitial"in r&&(t.percentInitial=r.percentInitial),"percentPrevious"in r&&(t.percentPrevious=r.percentPrevious),"percentTotal"in r&&(t.percentTotal=r.percentTotal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var t3e=ye((qfr,e3e)=>{"use strict";e3e.exports={attributes:iH(),layoutAttributes:nH(),supplyDefaults:oH().supplyDefaults,crossTraceDefaults:oH().crossTraceDefaults,supplyLayoutDefaults:Iwe(),calc:Owe(),crossTraceCalc:Uwe(),plot:jwe(),style:Zwe().style,hoverPoints:Jwe(),eventData:Qwe(),selectPoints:DT(),moduleType:"trace",name:"funnel",basePlotModule:mh(),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}});var i3e=ye((Ofr,r3e)=>{"use strict";r3e.exports=t3e()});var a3e=ye((Bfr,n3e)=>{"use strict";n3e.exports={eventDataKeys:["initial","delta","final"]}});var hH=ye((Nfr,u3e)=>{"use strict";var _c=qm(),cH=pf().line,h3t=Gl(),o3e=vf().axisHoverFormat,{hovertemplateAttrs:d3t,texttemplateAttrs:v3t,templatefallbackAttrs:s3e}=Ll(),l3e=a3e(),$T=Ao().extendFlat,p3t=ka();function fH(e){return{marker:{color:$T({},_c.marker.color,{arrayOk:!1,editType:"style"}),line:{color:$T({},_c.marker.line.color,{arrayOk:!1,editType:"style"}),width:$T({},_c.marker.line.width,{arrayOk:!1,editType:"style"}),editType:"style"},editType:"style"},editType:"style"}}u3e.exports={measure:{valType:"data_array",dflt:[],editType:"calc"},base:{valType:"number",dflt:null,arrayOk:!1,editType:"calc"},x:_c.x,x0:_c.x0,dx:_c.dx,y:_c.y,y0:_c.y0,dy:_c.dy,xperiod:_c.xperiod,yperiod:_c.yperiod,xperiod0:_c.xperiod0,yperiod0:_c.yperiod0,xperiodalignment:_c.xperiodalignment,yperiodalignment:_c.yperiodalignment,xhoverformat:o3e("x"),yhoverformat:o3e("y"),hovertext:_c.hovertext,hovertemplate:d3t({},{keys:l3e.eventDataKeys}),hovertemplatefallback:s3e(),hoverinfo:$T({},h3t.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:v3t({editType:"plot"},{keys:l3e.eventDataKeys.concat(["label"])}),texttemplatefallback:s3e({editType:"plot"}),text:_c.text,textposition:_c.textposition,insidetextanchor:_c.insidetextanchor,textangle:_c.textangle,textfont:_c.textfont,insidetextfont:_c.insidetextfont,outsidetextfont:_c.outsidetextfont,constraintext:_c.constraintext,cliponaxis:_c.cliponaxis,orientation:_c.orientation,offset:_c.offset,width:_c.width,increasing:fH("increasing"),decreasing:fH("decreasing"),totals:fH("intermediate sums and total"),connector:{line:{color:$T({},cH.color,{dflt:p3t.defaultLine}),width:$T({},cH.width,{editType:"plot"}),dash:cH.dash,editType:"plot"},mode:{valType:"enumerated",values:["spanning","between"],dflt:"between",editType:"plot"},visible:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},offsetgroup:_c.offsetgroup,alignmentgroup:_c.alignmentgroup,zorder:_c.zorder}});var dH=ye((Ufr,c3e)=>{"use strict";c3e.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"}}});var QT=ye((Vfr,f3e)=>{"use strict";f3e.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"\u25B2"},DECREASING:{COLOR:"#FF4136",SYMBOL:"\u25BC"}}});var pH=ye((Gfr,p3e)=>{"use strict";var h3e=Pr(),g3t=r2(),m3t=i0().handleText,y3t=lT(),_3t=Dg(),d3e=hH(),x3t=ka(),v3e=QT(),b3t=v3e.INCREASING.COLOR,w3t=v3e.DECREASING.COLOR,T3t="#4499FF";function vH(e,t,r){e(t+".marker.color",r),e(t+".marker.line.color",x3t.defaultLine),e(t+".marker.line.width")}function A3t(e,t,r,n){function i(u,c){return h3e.coerce(e,t,d3e,u,c)}var a=y3t(e,t,n,i);if(!a){t.visible=!1;return}_3t(e,t,n,i),i("xhoverformat"),i("yhoverformat"),i("measure"),i("orientation",t.x&&!t.y?"h":"v"),i("base"),i("offset"),i("width"),i("text"),i("hovertext"),i("hovertemplate"),i("hovertemplatefallback");var o=i("textposition");m3t(e,t,n,i,o,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),t.textposition!=="none"&&(i("texttemplate"),i("texttemplatefallback"),t.texttemplate||i("textinfo")),vH(i,"increasing",b3t),vH(i,"decreasing",w3t),vH(i,"totals",T3t);var s=i("connector.visible");if(s){i("connector.mode");var l=i("connector.line.width");l&&(i("connector.line.color"),i("connector.line.dash"))}i("zorder")}function S3t(e,t){var r,n;function i(o){return h3e.coerce(n._input,n,d3e,o)}if(t.waterfallmode==="group")for(var a=0;a{"use strict";var M3t=Pr(),E3t=dH();g3e.exports=function(e,t,r){var n=!1;function i(s,l){return M3t.coerce(e,t,E3t,s,l)}for(var a=0;a{"use strict";var y3e=ho(),_3e=zg(),x3e=Pr().mergeArray,k3t=q0(),b3e=fs().BADNUM;function gH(e){return e==="a"||e==="absolute"}function mH(e){return e==="t"||e==="total"}w3e.exports=function(t,r){var n=y3e.getFromId(t,r.xaxis||"x"),i=y3e.getFromId(t,r.yaxis||"y"),a,o,s,l,u,c;r.orientation==="h"?(a=n.makeCalcdata(r,"x"),s=i.makeCalcdata(r,"y"),l=_3e(r,i,"y",s),u=!!r.yperiodalignment,c="y"):(a=i.makeCalcdata(r,"y"),s=n.makeCalcdata(r,"x"),l=_3e(r,n,"x",s),u=!!r.xperiodalignment,c="x"),o=l.vals;for(var f=Math.min(o.length,a.length),h=new Array(f),d=0,v,m=!1,b=0;b{"use strict";var A3e=i2().setGroupPositions;S3e.exports=function(t,r){var n=t._fullLayout,i=t._fullData,a=t.calcdata,o=r.xaxis,s=r.yaxis,l=[],u=[],c=[],f,h;for(h=0;h{"use strict";var E3e=qa(),j8=Pr(),C3t=So(),eA=fs().BADNUM,L3t=p2(),P3t=bv().clearMinTextSize;k3e.exports=function(t,r,n,i){var a=t._fullLayout;P3t("waterfall",a),L3t.plot(t,r,n,i,{mode:a.waterfallmode,norm:a.waterfallmode,gap:a.waterfallgap,groupgap:a.waterfallgroupgap}),I3t(t,r,n,i)};function I3t(e,t,r,n){var i=t.xaxis,a=t.yaxis;j8.makeTraceGroups(n,r,"trace bars").each(function(o){var s=E3e.select(this),l=o[0].trace,u=j8.ensureSingle(s,"g","lines");if(!l.connector||!l.connector.visible){u.remove();return}var c=l.orientation==="h",f=l.connector.mode,h=u.selectAll("g.line").data(j8.identity);h.enter().append("g").classed("line",!0),h.exit().remove();var d=h.size();h.each(function(v,m){if(!(m!==d-1&&!v.cNext)){var b=R3t(v,i,a,c),p=b[0],k=b[1],M="";p[0]!==eA&&k[0]!==eA&&p[1]!==eA&&k[1]!==eA&&(f==="spanning"&&!v.isSum&&m>0&&(c?M+="M"+p[0]+","+k[1]+"V"+k[0]:M+="M"+p[1]+","+k[0]+"H"+p[0]),f!=="between"&&(v.isSum||m{"use strict";var W8=qa(),L3e=So(),P3e=ka(),D3t=X1().DESELECTDIM,F3t=V0(),z3t=bv().resizeText,q3t=F3t.styleTextPoints;function O3t(e,t,r){var n=r||W8.select(e).selectAll('g[class^="waterfalllayer"]').selectAll("g.trace");z3t(e,n,"waterfall"),n.style("opacity",function(i){return i[0].trace.opacity}),n.each(function(i){var a=W8.select(this),o=i[0].trace;a.selectAll(".point > path").each(function(s){if(!s.isBlank){var l=o[s.dir].marker;W8.select(this).call(P3e.fill,l.color).call(P3e.stroke,l.line.color).call(L3e.dashLine,l.line.dash,l.line.width).style("opacity",o.selectedpoints&&!s.selected?D3t:1)}}),q3t(a,o,e),a.selectAll(".lines").each(function(){var s=o.connector.line;L3e.lineGroupStyle(W8.select(this).selectAll("path"),s.width,s.color,s.dash)})})}I3e.exports={style:O3t}});var O3e=ye((Yfr,q3e)=>{"use strict";var B3t=ho().hoverLabelText,D3e=ka().opacity,N3t=RT().hoverOnBars,F3e=QT(),z3e={increasing:F3e.INCREASING.SYMBOL,decreasing:F3e.DECREASING.SYMBOL};q3e.exports=function(t,r,n,i,a){var o=N3t(t,r,n,i,a);if(!o)return;var s=o.cd,l=s[0].trace,u=l.orientation==="h",c=u?"x":"y",f=u?t.xa:t.ya;function h(x){return B3t(f,x,l[c+"hoverformat"])}var d=o.index,v=s[d],m=v.isSum?v.b+v.s:v.rawS;o.initial=v.b+v.s-m,o.delta=m,o.final=o.initial+o.delta;var b=h(Math.abs(o.delta));o.deltaLabel=m<0?"("+b+")":b,o.finalLabel=h(o.final),o.initialLabel=h(o.initial);var p=v.hi||l.hoverinfo,k=[];if(p&&p!=="none"&&p!=="skip"){var M=p==="all",T=p.split("+"),L=function(x){return M||T.indexOf(x)!==-1};v.isSum||(L("final")&&(u?!L("x"):!L("y"))&&k.push(o.finalLabel),L("delta")&&(m<0?k.push(o.deltaLabel+" "+z3e.decreasing):k.push(o.deltaLabel+" "+z3e.increasing)),L("initial")&&k.push("Initial: "+o.initialLabel))}return k.length&&(o.extraText=k.join("
")),o.color=U3t(l,v),[o]};function U3t(e,t){var r=e[t.dir].marker,n=r.color,i=r.line.color,a=r.line.width;if(D3e(n))return n;if(D3e(i)&&a)return i}});var N3e=ye((Kfr,B3e)=>{"use strict";B3e.exports=function(t,r){return t.x="xVal"in r?r.xVal:r.x,t.y="yVal"in r?r.yVal:r.y,"initial"in r&&(t.initial=r.initial),"delta"in r&&(t.delta=r.delta),"final"in r&&(t.final=r.final),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var V3e=ye((Jfr,U3e)=>{"use strict";U3e.exports={attributes:hH(),layoutAttributes:dH(),supplyDefaults:pH().supplyDefaults,crossTraceDefaults:pH().crossTraceDefaults,supplyLayoutDefaults:m3e(),calc:T3e(),crossTraceCalc:M3e(),plot:C3e(),style:R3e().style,hoverPoints:O3e(),eventData:N3e(),selectPoints:DT(),moduleType:"trace",name:"waterfall",basePlotModule:mh(),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}});var H3e=ye(($fr,G3e)=>{"use strict";G3e.exports=V3e()});var tA=ye((Qfr,j3e)=>{"use strict";j3e.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(e){return e.slice(0,3)},suffix:["","",""]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(e){return e.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(e){return e.slice(0,4)},suffix:["","","",""]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(e){var t=e.slice(0,3);return t[1]=t[1]+"%",t[2]=t[2]+"%",t},suffix:["\xB0","%","%"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(e){var t=e.slice(0,4);return t[1]=t[1]+"%",t[2]=t[2]+"%",t},suffix:["\xB0","%","%",""]}}}});var yH=ye((ehr,X3e)=>{"use strict";var V3t=Gl(),G3t=pf().zorder,{hovertemplateAttrs:H3t,templatefallbackAttrs:j3t}=Ll(),W3e=Ao().extendFlat,W3t=tA().colormodel,Y4=["rgb","rgba","rgba256","hsl","hsla"],X3t=[],Z3t=[];for(rA=0;rA{"use strict";var Y3t=Pr(),K3t=yH(),Z3e=tA(),J3t=qy().IMAGE_URL_PREFIX;Y3e.exports=function(t,r){function n(o,s){return Y3t.coerce(t,r,K3t,o,s)}n("source"),r.source&&!r.source.match(J3t)&&delete r.source,r._hasSource=!!r.source;var i=n("z");if(r._hasZ=!(i===void 0||!i.length||!i[0]||!i[0].length),!r._hasZ&&!r._hasSource){r.visible=!1;return}n("x0"),n("y0"),n("dx"),n("dy");var a;r._hasZ?(n("colormodel","rgb"),a=Z3e.colormodel[r.colormodel],n("zmin",a.zminDflt||a.min),n("zmax",a.zmaxDflt||a.max)):r._hasSource&&(r.colormodel="rgba256",a=Z3e.colormodel[r.colormodel],r.zmin=a.zminDflt,r.zmax=a.zmaxDflt),n("zsmooth"),n("text"),n("hovertext"),n("hovertemplate"),n("hovertemplatefallback"),r._length=null,n("zorder")}});var Zy=ye((rhr,_H)=>{typeof Object.create=="function"?_H.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:_H.exports=function(t,r){if(r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t}}});var xH=ye((ihr,J3e)=>{J3e.exports=Sb().EventEmitter});var eTe=ye(X8=>{"use strict";X8.byteLength=Q3t;X8.toByteArray=tTt;X8.fromByteArray=nTt;var Hm=[],Y0=[],$3t=typeof Uint8Array!="undefined"?Uint8Array:Array,bH="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(_2=0,$3e=bH.length;_2<$3e;++_2)Hm[_2]=bH[_2],Y0[bH.charCodeAt(_2)]=_2;var _2,$3e;Y0[45]=62;Y0[95]=63;function Q3e(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function Q3t(e){var t=Q3e(e),r=t[0],n=t[1];return(r+n)*3/4-n}function eTt(e,t,r){return(t+r)*3/4-r}function tTt(e){var t,r=Q3e(e),n=r[0],i=r[1],a=new $3t(eTt(e,n,i)),o=0,s=i>0?n-4:n,l;for(l=0;l>16&255,a[o++]=t>>8&255,a[o++]=t&255;return i===2&&(t=Y0[e.charCodeAt(l)]<<2|Y0[e.charCodeAt(l+1)]>>4,a[o++]=t&255),i===1&&(t=Y0[e.charCodeAt(l)]<<10|Y0[e.charCodeAt(l+1)]<<4|Y0[e.charCodeAt(l+2)]>>2,a[o++]=t>>8&255,a[o++]=t&255),a}function rTt(e){return Hm[e>>18&63]+Hm[e>>12&63]+Hm[e>>6&63]+Hm[e&63]}function iTt(e,t,r){for(var n,i=[],a=t;as?s:o+a));return n===1?(t=e[r-1],i.push(Hm[t>>2]+Hm[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(Hm[t>>10]+Hm[t>>4&63]+Hm[t<<2&63]+"=")),i.join("")}});var tTe=ye(wH=>{wH.read=function(e,t,r,n,i){var a,o,s=i*8-n-1,l=(1<>1,c=-7,f=r?i-1:0,h=r?-1:1,d=e[t+f];for(f+=h,a=d&(1<<-c)-1,d>>=-c,c+=s;c>0;a=a*256+e[t+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=o*256+e[t+f],f+=h,c-=8);if(a===0)a=1-u;else{if(a===l)return o?NaN:(d?-1:1)*(1/0);o=o+Math.pow(2,n),a=a-u}return(d?-1:1)*o*Math.pow(2,a-n)};wH.write=function(e,t,r,n,i,a){var o,s,l,u=a*8-i-1,c=(1<>1,h=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:a-1,v=n?1:-1,m=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=c):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),o+f>=1?t+=h/l:t+=h*Math.pow(2,1-f),t*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(t*l-1)*Math.pow(2,i),o=o+f):(s=t*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;e[r+d]=s&255,d+=v,s/=256,i-=8);for(o=o<0;e[r+d]=o&255,d+=v,o/=256,u-=8);e[r+d-v]|=m*128}});var b2=ye(oA=>{"use strict";var TH=eTe(),nA=tTe(),rTe=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;oA.Buffer=ra;oA.SlowBuffer=cTt;oA.INSPECT_MAX_BYTES=50;var Z8=2147483647;oA.kMaxLength=Z8;ra.TYPED_ARRAY_SUPPORT=aTt();!ra.TYPED_ARRAY_SUPPORT&&typeof console!="undefined"&&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 aTt(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch(e){return!1}}Object.defineProperty(ra.prototype,"parent",{enumerable:!0,get:function(){if(ra.isBuffer(this))return this.buffer}});Object.defineProperty(ra.prototype,"offset",{enumerable:!0,get:function(){if(ra.isBuffer(this))return this.byteOffset}});function Yy(e){if(e>Z8)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,ra.prototype),t}function ra(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return EH(e)}return oTe(e,t,r)}ra.poolSize=8192;function oTe(e,t,r){if(typeof e=="string")return sTt(e,t);if(ArrayBuffer.isView(e))return lTt(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(jm(e,ArrayBuffer)||e&&jm(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer!="undefined"&&(jm(e,SharedArrayBuffer)||e&&jm(e.buffer,SharedArrayBuffer)))return SH(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return ra.from(n,t,r);let i=uTt(e);if(i)return i;if(typeof Symbol!="undefined"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return ra.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}ra.from=function(e,t,r){return oTe(e,t,r)};Object.setPrototypeOf(ra.prototype,Uint8Array.prototype);Object.setPrototypeOf(ra,Uint8Array);function sTe(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function oTt(e,t,r){return sTe(e),e<=0?Yy(e):t!==void 0?typeof r=="string"?Yy(e).fill(t,r):Yy(e).fill(t):Yy(e)}ra.alloc=function(e,t,r){return oTt(e,t,r)};function EH(e){return sTe(e),Yy(e<0?0:kH(e)|0)}ra.allocUnsafe=function(e){return EH(e)};ra.allocUnsafeSlow=function(e){return EH(e)};function sTt(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!ra.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=lTe(e,t)|0,n=Yy(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function AH(e){let t=e.length<0?0:kH(e.length)|0,r=Yy(t);for(let n=0;n=Z8)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Z8.toString(16)+" bytes");return e|0}function cTt(e){return+e!=e&&(e=0),ra.alloc(+e)}ra.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==ra.prototype};ra.compare=function(t,r){if(jm(t,Uint8Array)&&(t=ra.from(t,t.offset,t.byteLength)),jm(r,Uint8Array)&&(r=ra.from(r,r.offset,r.byteLength)),!ra.isBuffer(t)||!ra.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;let n=t.length,i=r.length;for(let a=0,o=Math.min(n,i);ai.length?(ra.isBuffer(o)||(o=ra.from(o)),o.copy(i,a)):Uint8Array.prototype.set.call(i,o,a);else if(ra.isBuffer(o))o.copy(i,a);else throw new TypeError('"list" argument must be an Array of Buffers');a+=o.length}return i};function lTe(e,t){if(ra.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||jm(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return MH(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return mTe(e).length;default:if(i)return n?-1:MH(e).length;t=(""+t).toLowerCase(),i=!0}}ra.byteLength=lTe;function fTt(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return bTt(this,t,r);case"utf8":case"utf-8":return cTe(this,t,r);case"ascii":return _Tt(this,t,r);case"latin1":case"binary":return xTt(this,t,r);case"base64":return mTt(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return wTt(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}ra.prototype._isBuffer=!0;function x2(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}ra.prototype.swap16=function(){let t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;rr&&(t+=" ... "),""};rTe&&(ra.prototype[rTe]=ra.prototype.inspect);ra.prototype.compare=function(t,r,n,i,a){if(jm(t,Uint8Array)&&(t=ra.from(t,t.offset,t.byteLength)),!ra.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),i===void 0&&(i=0),a===void 0&&(a=this.length),r<0||n>t.length||i<0||a>this.length)throw new RangeError("out of range index");if(i>=a&&r>=n)return 0;if(i>=a)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,a>>>=0,this===t)return 0;let o=a-i,s=n-r,l=Math.min(o,s),u=this.slice(i,a),c=t.slice(r,n);for(let f=0;f2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,LH(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=ra.from(t,n)),ra.isBuffer(t))return t.length===0?-1:iTe(e,t,r,n,i);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):iTe(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function iTe(e,t,r,n,i){let a=1,o=e.length,s=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;a=2,o/=2,s/=2,r/=2}function l(c,f){return a===1?c[f]:c.readUInt16BE(f*a)}let u;if(i){let c=-1;for(u=r;uo&&(r=o-s),u=r;u>=0;u--){let c=!0;for(let f=0;fi&&(n=i)):n=i;let a=t.length;n>a/2&&(n=a/2);let o;for(o=0;o>>0,isFinite(n)?(n=n>>>0,i===void 0&&(i="utf8")):(i=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let a=this.length-r;if((n===void 0||n>a)&&(n=a),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let o=!1;for(;;)switch(i){case"hex":return hTt(this,t,r,n);case"utf8":case"utf-8":return dTt(this,t,r,n);case"ascii":case"latin1":case"binary":return vTt(this,t,r,n);case"base64":return pTt(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return gTt(this,t,r,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}};ra.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function mTt(e,t,r){return t===0&&r===e.length?TH.fromByteArray(e):TH.fromByteArray(e.slice(t,r))}function cTe(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i239?4:a>223?3:a>191?2:1;if(i+s<=r){let l,u,c,f;switch(s){case 1:a<128&&(o=a);break;case 2:l=e[i+1],(l&192)===128&&(f=(a&31)<<6|l&63,f>127&&(o=f));break;case 3:l=e[i+1],u=e[i+2],(l&192)===128&&(u&192)===128&&(f=(a&15)<<12|(l&63)<<6|u&63,f>2047&&(f<55296||f>57343)&&(o=f));break;case 4:l=e[i+1],u=e[i+2],c=e[i+3],(l&192)===128&&(u&192)===128&&(c&192)===128&&(f=(a&15)<<18|(l&63)<<12|(u&63)<<6|c&63,f>65535&&f<1114112&&(o=f))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),i+=s}return yTt(n)}var nTe=4096;function yTt(e){let t=e.length;if(t<=nTe)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn)&&(r=n);let i="";for(let a=t;an&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),rr)throw new RangeError("Trying to access beyond buffer length")}ra.prototype.readUintLE=ra.prototype.readUIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||tv(t,r,this.length);let i=this[t],a=1,o=0;for(;++o>>0,r=r>>>0,n||tv(t,r,this.length);let i=this[t+--r],a=1;for(;r>0&&(a*=256);)i+=this[t+--r]*a;return i};ra.prototype.readUint8=ra.prototype.readUInt8=function(t,r){return t=t>>>0,r||tv(t,1,this.length),this[t]};ra.prototype.readUint16LE=ra.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||tv(t,2,this.length),this[t]|this[t+1]<<8};ra.prototype.readUint16BE=ra.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||tv(t,2,this.length),this[t]<<8|this[t+1]};ra.prototype.readUint32LE=ra.prototype.readUInt32LE=function(t,r){return t=t>>>0,r||tv(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};ra.prototype.readUint32BE=ra.prototype.readUInt32BE=function(t,r){return t=t>>>0,r||tv(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};ra.prototype.readBigUInt64LE=N_(function(t){t=t>>>0,aA(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&K4(t,this.length-8);let i=r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,a=this[++t]+this[++t]*2**8+this[++t]*2**16+n*2**24;return BigInt(i)+(BigInt(a)<>>0,aA(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&K4(t,this.length-8);let i=r*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],a=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n;return(BigInt(i)<>>0,r=r>>>0,n||tv(t,r,this.length);let i=this[t],a=1,o=0;for(;++o=a&&(i-=Math.pow(2,8*r)),i};ra.prototype.readIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||tv(t,r,this.length);let i=r,a=1,o=this[t+--i];for(;i>0&&(a*=256);)o+=this[t+--i]*a;return a*=128,o>=a&&(o-=Math.pow(2,8*r)),o};ra.prototype.readInt8=function(t,r){return t=t>>>0,r||tv(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};ra.prototype.readInt16LE=function(t,r){t=t>>>0,r||tv(t,2,this.length);let n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n};ra.prototype.readInt16BE=function(t,r){t=t>>>0,r||tv(t,2,this.length);let n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n};ra.prototype.readInt32LE=function(t,r){return t=t>>>0,r||tv(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};ra.prototype.readInt32BE=function(t,r){return t=t>>>0,r||tv(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};ra.prototype.readBigInt64LE=N_(function(t){t=t>>>0,aA(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&K4(t,this.length-8);let i=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(n<<24);return(BigInt(i)<>>0,aA(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&K4(t,this.length-8);let i=(r<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return(BigInt(i)<>>0,r||tv(t,4,this.length),nA.read(this,t,!0,23,4)};ra.prototype.readFloatBE=function(t,r){return t=t>>>0,r||tv(t,4,this.length),nA.read(this,t,!1,23,4)};ra.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||tv(t,8,this.length),nA.read(this,t,!0,52,8)};ra.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||tv(t,8,this.length),nA.read(this,t,!1,52,8)};function Rp(e,t,r,n,i,a){if(!ra.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}ra.prototype.writeUintLE=ra.prototype.writeUIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let s=Math.pow(2,8*n)-1;Rp(this,t,r,n,s,0)}let a=1,o=0;for(this[r]=t&255;++o>>0,n=n>>>0,!i){let s=Math.pow(2,8*n)-1;Rp(this,t,r,n,s,0)}let a=n-1,o=1;for(this[r+a]=t&255;--a>=0&&(o*=256);)this[r+a]=t/o&255;return r+n};ra.prototype.writeUint8=ra.prototype.writeUInt8=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,1,255,0),this[r]=t&255,r+1};ra.prototype.writeUint16LE=ra.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2};ra.prototype.writeUint16BE=ra.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2};ra.prototype.writeUint32LE=ra.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,4294967295,0),this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255,r+4};ra.prototype.writeUint32BE=ra.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,4294967295,0),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};function fTe(e,t,r,n,i){gTe(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,r}function hTe(e,t,r,n,i){gTe(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r+7]=a,a=a>>8,e[r+6]=a,a=a>>8,e[r+5]=a,a=a>>8,e[r+4]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=o,o=o>>8,e[r+2]=o,o=o>>8,e[r+1]=o,o=o>>8,e[r]=o,r+8}ra.prototype.writeBigUInt64LE=N_(function(t,r=0){return fTe(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});ra.prototype.writeBigUInt64BE=N_(function(t,r=0){return hTe(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});ra.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let l=Math.pow(2,8*n-1);Rp(this,t,r,n,l-1,-l)}let a=0,o=1,s=0;for(this[r]=t&255;++a>0)-s&255;return r+n};ra.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let l=Math.pow(2,8*n-1);Rp(this,t,r,n,l-1,-l)}let a=n-1,o=1,s=0;for(this[r+a]=t&255;--a>=0&&(o*=256);)t<0&&s===0&&this[r+a+1]!==0&&(s=1),this[r+a]=(t/o>>0)-s&255;return r+n};ra.prototype.writeInt8=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1};ra.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2};ra.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2};ra.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,2147483647,-2147483648),this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24,r+4};ra.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};ra.prototype.writeBigInt64LE=N_(function(t,r=0){return fTe(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});ra.prototype.writeBigInt64BE=N_(function(t,r=0){return hTe(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function dTe(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function vTe(e,t,r,n,i){return t=+t,r=r>>>0,i||dTe(e,t,r,4,34028234663852886e22,-34028234663852886e22),nA.write(e,t,r,n,23,4),r+4}ra.prototype.writeFloatLE=function(t,r,n){return vTe(this,t,r,!0,n)};ra.prototype.writeFloatBE=function(t,r,n){return vTe(this,t,r,!1,n)};function pTe(e,t,r,n,i){return t=+t,r=r>>>0,i||dTe(e,t,r,8,17976931348623157e292,-17976931348623157e292),nA.write(e,t,r,n,52,8),r+8}ra.prototype.writeDoubleLE=function(t,r,n){return pTe(this,t,r,!0,n)};ra.prototype.writeDoubleBE=function(t,r,n){return pTe(this,t,r,!1,n)};ra.prototype.copy=function(t,r,n,i){if(!ra.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&i!==0&&(i=this.length),r>=t.length&&(r=t.length),r||(r=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-r>>0,n=n===void 0?this.length:n>>>0,t||(t=0);let a;if(typeof t=="number")for(a=r;a2**32?i=aTe(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=aTe(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function aTe(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function TTt(e,t,r){aA(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&K4(t,e.length-(r+1))}function gTe(e,t,r,n,i,a){if(e>r||e3?t===0||t===BigInt(0)?s=`>= 0${o} and < 2${o} ** ${(a+1)*8}${o}`:s=`>= -(2${o} ** ${(a+1)*8-1}${o}) and < 2 ** ${(a+1)*8-1}${o}`:s=`>= ${t}${o} and <= ${r}${o}`,new iA.ERR_OUT_OF_RANGE("value",s,e)}TTt(n,i,a)}function aA(e,t){if(typeof e!="number")throw new iA.ERR_INVALID_ARG_TYPE(t,"number",e)}function K4(e,t,r){throw Math.floor(e)!==e?(aA(e,r),new iA.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new iA.ERR_BUFFER_OUT_OF_BOUNDS:new iA.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var ATt=/[^+/0-9A-Za-z-_]/g;function STt(e){if(e=e.split("=")[0],e=e.trim().replace(ATt,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function MH(e,t){t=t||1/0;let r,n=e.length,i=null,a=[];for(let o=0;o55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return a}function MTt(e){let t=[];for(let r=0;r>8,i=r%256,a.push(i),a.push(n);return a}function mTe(e){return TH.toByteArray(STt(e))}function Y8(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function jm(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function LH(e){return e!==e}var kTt=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function N_(e){return typeof BigInt=="undefined"?CTt:e}function CTt(){throw new Error("BigInt not supported")}});var K8=ye((lhr,yTe)=>{"use strict";yTe.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},r=Symbol("test"),n=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var i=42;t[r]=i;for(var a in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var o=Object.getOwnPropertySymbols(t);if(o.length!==1||o[0]!==r||!Object.prototype.propertyIsEnumerable.call(t,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var s=Object.getOwnPropertyDescriptor(t,r);if(s.value!==i||s.enumerable!==!0)return!1}return!0}});var J4=ye((uhr,_Te)=>{"use strict";var LTt=K8();_Te.exports=function(){return LTt()&&!!Symbol.toStringTag}});var PH=ye((chr,xTe)=>{"use strict";xTe.exports=Object});var wTe=ye((fhr,bTe)=>{"use strict";bTe.exports=Error});var ATe=ye((hhr,TTe)=>{"use strict";TTe.exports=EvalError});var MTe=ye((dhr,STe)=>{"use strict";STe.exports=RangeError});var kTe=ye((vhr,ETe)=>{"use strict";ETe.exports=ReferenceError});var IH=ye((phr,CTe)=>{"use strict";CTe.exports=SyntaxError});var sA=ye((ghr,LTe)=>{"use strict";LTe.exports=TypeError});var ITe=ye((mhr,PTe)=>{"use strict";PTe.exports=URIError});var DTe=ye((yhr,RTe)=>{"use strict";RTe.exports=Math.abs});var zTe=ye((_hr,FTe)=>{"use strict";FTe.exports=Math.floor});var OTe=ye((xhr,qTe)=>{"use strict";qTe.exports=Math.max});var NTe=ye((bhr,BTe)=>{"use strict";BTe.exports=Math.min});var VTe=ye((whr,UTe)=>{"use strict";UTe.exports=Math.pow});var HTe=ye((Thr,GTe)=>{"use strict";GTe.exports=Math.round});var WTe=ye((Ahr,jTe)=>{"use strict";jTe.exports=Number.isNaN||function(t){return t!==t}});var ZTe=ye((Shr,XTe)=>{"use strict";var PTt=WTe();XTe.exports=function(t){return PTt(t)||t===0?t:t<0?-1:1}});var KTe=ye((Mhr,YTe)=>{"use strict";YTe.exports=Object.getOwnPropertyDescriptor});var w2=ye((Ehr,JTe)=>{"use strict";var J8=KTe();if(J8)try{J8([],"length")}catch(e){J8=null}JTe.exports=J8});var $4=ye((khr,$Te)=>{"use strict";var $8=Object.defineProperty||!1;if($8)try{$8({},"a",{value:1})}catch(e){$8=!1}$Te.exports=$8});var tAe=ye((Chr,eAe)=>{"use strict";var QTe=typeof Symbol!="undefined"&&Symbol,ITt=K8();eAe.exports=function(){return typeof QTe!="function"||typeof Symbol!="function"||typeof QTe("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:ITt()}});var RH=ye((Lhr,rAe)=>{"use strict";rAe.exports=typeof Reflect!="undefined"&&Reflect.getPrototypeOf||null});var DH=ye((Phr,iAe)=>{"use strict";var RTt=PH();iAe.exports=RTt.getPrototypeOf||null});var oAe=ye((Ihr,aAe)=>{"use strict";var DTt="Function.prototype.bind called on incompatible ",FTt=Object.prototype.toString,zTt=Math.max,qTt="[object Function]",nAe=function(t,r){for(var n=[],i=0;i{"use strict";var NTt=oAe();sAe.exports=Function.prototype.bind||NTt});var Q8=ye((Dhr,lAe)=>{"use strict";lAe.exports=Function.prototype.call});var FH=ye((Fhr,uAe)=>{"use strict";uAe.exports=Function.prototype.apply});var fAe=ye((zhr,cAe)=>{"use strict";cAe.exports=typeof Reflect!="undefined"&&Reflect&&Reflect.apply});var dAe=ye((qhr,hAe)=>{"use strict";var UTt=lA(),VTt=FH(),GTt=Q8(),HTt=fAe();hAe.exports=HTt||UTt.call(GTt,VTt)});var pAe=ye((Ohr,vAe)=>{"use strict";var jTt=lA(),WTt=sA(),XTt=Q8(),ZTt=dAe();vAe.exports=function(t){if(t.length<1||typeof t[0]!="function")throw new WTt("a function is required");return ZTt(jTt,XTt,t)}});var bAe=ye((Bhr,xAe)=>{"use strict";var YTt=pAe(),gAe=w2(),yAe;try{yAe=[].__proto__===Array.prototype}catch(e){if(!e||typeof e!="object"||!("code"in e)||e.code!=="ERR_PROTO_ACCESS")throw e}var zH=!!yAe&&gAe&&gAe(Object.prototype,"__proto__"),_Ae=Object,mAe=_Ae.getPrototypeOf;xAe.exports=zH&&typeof zH.get=="function"?YTt([zH.get]):typeof mAe=="function"?function(t){return mAe(t==null?t:_Ae(t))}:!1});var MAe=ye((Nhr,SAe)=>{"use strict";var wAe=RH(),TAe=DH(),AAe=bAe();SAe.exports=wAe?function(t){return wAe(t)}:TAe?function(t){if(!t||typeof t!="object"&&typeof t!="function")throw new TypeError("getProto: not an object");return TAe(t)}:AAe?function(t){return AAe(t)}:null});var kAe=ye((Uhr,EAe)=>{"use strict";var KTt=Function.prototype.call,JTt=Object.prototype.hasOwnProperty,$Tt=lA();EAe.exports=$Tt.call(KTt,JTt)});var rR=ye((Vhr,DAe)=>{"use strict";var lu,QTt=PH(),eAt=wTe(),tAt=ATe(),rAt=MTe(),iAt=kTe(),hA=IH(),fA=sA(),nAt=ITe(),aAt=DTe(),oAt=zTe(),sAt=OTe(),lAt=NTe(),uAt=VTe(),cAt=HTe(),fAt=ZTe(),IAe=Function,qH=function(e){try{return IAe('"use strict"; return ('+e+").constructor;")()}catch(t){}},Q4=w2(),hAt=$4(),OH=function(){throw new fA},dAt=Q4?function(){try{return arguments.callee,OH}catch(e){try{return Q4(arguments,"callee").get}catch(t){return OH}}}():OH,uA=tAe()(),rv=MAe(),vAt=DH(),pAt=RH(),RAe=FH(),eE=Q8(),cA={},gAt=typeof Uint8Array=="undefined"||!rv?lu:rv(Uint8Array),T2={__proto__:null,"%AggregateError%":typeof AggregateError=="undefined"?lu:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer=="undefined"?lu:ArrayBuffer,"%ArrayIteratorPrototype%":uA&&rv?rv([][Symbol.iterator]()):lu,"%AsyncFromSyncIteratorPrototype%":lu,"%AsyncFunction%":cA,"%AsyncGenerator%":cA,"%AsyncGeneratorFunction%":cA,"%AsyncIteratorPrototype%":cA,"%Atomics%":typeof Atomics=="undefined"?lu:Atomics,"%BigInt%":typeof BigInt=="undefined"?lu:BigInt,"%BigInt64Array%":typeof BigInt64Array=="undefined"?lu:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array=="undefined"?lu:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView=="undefined"?lu:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":eAt,"%eval%":eval,"%EvalError%":tAt,"%Float16Array%":typeof Float16Array=="undefined"?lu:Float16Array,"%Float32Array%":typeof Float32Array=="undefined"?lu:Float32Array,"%Float64Array%":typeof Float64Array=="undefined"?lu:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry=="undefined"?lu:FinalizationRegistry,"%Function%":IAe,"%GeneratorFunction%":cA,"%Int8Array%":typeof Int8Array=="undefined"?lu:Int8Array,"%Int16Array%":typeof Int16Array=="undefined"?lu:Int16Array,"%Int32Array%":typeof Int32Array=="undefined"?lu:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":uA&&rv?rv(rv([][Symbol.iterator]())):lu,"%JSON%":typeof JSON=="object"?JSON:lu,"%Map%":typeof Map=="undefined"?lu:Map,"%MapIteratorPrototype%":typeof Map=="undefined"||!uA||!rv?lu:rv(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":QTt,"%Object.getOwnPropertyDescriptor%":Q4,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise=="undefined"?lu:Promise,"%Proxy%":typeof Proxy=="undefined"?lu:Proxy,"%RangeError%":rAt,"%ReferenceError%":iAt,"%Reflect%":typeof Reflect=="undefined"?lu:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set=="undefined"?lu:Set,"%SetIteratorPrototype%":typeof Set=="undefined"||!uA||!rv?lu:rv(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer=="undefined"?lu:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":uA&&rv?rv(""[Symbol.iterator]()):lu,"%Symbol%":uA?Symbol:lu,"%SyntaxError%":hA,"%ThrowTypeError%":dAt,"%TypedArray%":gAt,"%TypeError%":fA,"%Uint8Array%":typeof Uint8Array=="undefined"?lu:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray=="undefined"?lu:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array=="undefined"?lu:Uint16Array,"%Uint32Array%":typeof Uint32Array=="undefined"?lu:Uint32Array,"%URIError%":nAt,"%WeakMap%":typeof WeakMap=="undefined"?lu:WeakMap,"%WeakRef%":typeof WeakRef=="undefined"?lu:WeakRef,"%WeakSet%":typeof WeakSet=="undefined"?lu:WeakSet,"%Function.prototype.call%":eE,"%Function.prototype.apply%":RAe,"%Object.defineProperty%":hAt,"%Object.getPrototypeOf%":vAt,"%Math.abs%":aAt,"%Math.floor%":oAt,"%Math.max%":sAt,"%Math.min%":lAt,"%Math.pow%":uAt,"%Math.round%":cAt,"%Math.sign%":fAt,"%Reflect.getPrototypeOf%":pAt};if(rv)try{null.error}catch(e){CAe=rv(rv(e)),T2["%Error.prototype%"]=CAe}var CAe,mAt=function e(t){var r;if(t==="%AsyncFunction%")r=qH("async function () {}");else if(t==="%GeneratorFunction%")r=qH("function* () {}");else if(t==="%AsyncGeneratorFunction%")r=qH("async function* () {}");else if(t==="%AsyncGenerator%"){var n=e("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if(t==="%AsyncIteratorPrototype%"){var i=e("%AsyncGenerator%");i&&rv&&(r=rv(i.prototype))}return T2[t]=r,r},LAe={__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"]},tE=lA(),eR=kAe(),yAt=tE.call(eE,Array.prototype.concat),_At=tE.call(RAe,Array.prototype.splice),PAe=tE.call(eE,String.prototype.replace),tR=tE.call(eE,String.prototype.slice),xAt=tE.call(eE,RegExp.prototype.exec),bAt=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,wAt=/\\(\\)?/g,TAt=function(t){var r=tR(t,0,1),n=tR(t,-1);if(r==="%"&&n!=="%")throw new hA("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&r!=="%")throw new hA("invalid intrinsic syntax, expected opening `%`");var i=[];return PAe(t,bAt,function(a,o,s,l){i[i.length]=s?PAe(l,wAt,"$1"):o||a}),i},AAt=function(t,r){var n=t,i;if(eR(LAe,n)&&(i=LAe[n],n="%"+i[0]+"%"),eR(T2,n)){var a=T2[n];if(a===cA&&(a=mAt(n)),typeof a=="undefined"&&!r)throw new fA("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:i,name:n,value:a}}throw new hA("intrinsic "+t+" does not exist!")};DAe.exports=function(t,r){if(typeof t!="string"||t.length===0)throw new fA("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof r!="boolean")throw new fA('"allowMissing" argument must be a boolean');if(xAt(/^%?[^%]*%?$/,t)===null)throw new hA("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=TAt(t),i=n.length>0?n[0]:"",a=AAt("%"+i+"%",r),o=a.name,s=a.value,l=!1,u=a.alias;u&&(i=u[0],_At(n,yAt([0,1],u)));for(var c=1,f=!0;c=n.length){var m=Q4(s,h);f=!!m,f&&"get"in m&&!("originalValue"in m.get)?s=m.get:s=s[h]}else f=eR(s,h),s=s[h];f&&!l&&(T2[o]=s)}}return s}});var OAe=ye((Ghr,qAe)=>{"use strict";var FAe=$4(),SAt=IH(),dA=sA(),zAe=w2();qAe.exports=function(t,r,n){if(!t||typeof t!="object"&&typeof t!="function")throw new dA("`obj` must be an object or a function`");if(typeof r!="string"&&typeof r!="symbol")throw new dA("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new dA("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new dA("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new dA("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new dA("`loose`, if provided, must be a boolean");var i=arguments.length>3?arguments[3]:null,a=arguments.length>4?arguments[4]:null,o=arguments.length>5?arguments[5]:null,s=arguments.length>6?arguments[6]:!1,l=!!zAe&&zAe(t,r);if(FAe)FAe(t,r,{configurable:o===null&&l?l.configurable:!o,enumerable:i===null&&l?l.enumerable:!i,value:n,writable:a===null&&l?l.writable:!a});else if(s||!i&&!a&&!o)t[r]=n;else throw new SAt("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")}});var NH=ye((Hhr,NAe)=>{"use strict";var BH=$4(),BAe=function(){return!!BH};BAe.hasArrayLengthDefineBug=function(){if(!BH)return null;try{return BH([],"length",{value:1}).length!==1}catch(t){return!0}};NAe.exports=BAe});var jAe=ye((jhr,HAe)=>{"use strict";var MAt=rR(),UAe=OAe(),EAt=NH()(),VAe=w2(),GAe=sA(),kAt=MAt("%Math.floor%");HAe.exports=function(t,r){if(typeof t!="function")throw new GAe("`fn` is not a function");if(typeof r!="number"||r<0||r>4294967295||kAt(r)!==r)throw new GAe("`length` must be a positive 32-bit integer");var n=arguments.length>2&&!!arguments[2],i=!0,a=!0;if("length"in t&&VAe){var o=VAe(t,"length");o&&!o.configurable&&(i=!1),o&&!o.writable&&(a=!1)}return(i||a||!n)&&(EAt?UAe(t,"length",r,!0,!0):UAe(t,"length",r)),t}});var rE=ye((Whr,iR)=>{"use strict";var UH=lA(),nR=rR(),CAt=jAe(),LAt=sA(),ZAe=nR("%Function.prototype.apply%"),YAe=nR("%Function.prototype.call%"),KAe=nR("%Reflect.apply%",!0)||UH.call(YAe,ZAe),WAe=$4(),PAt=nR("%Math.max%");iR.exports=function(t){if(typeof t!="function")throw new LAt("a function is required");var r=KAe(UH,YAe,arguments);return CAt(r,1+PAt(0,t.length-(arguments.length-1)),!0)};var XAe=function(){return KAe(UH,ZAe,arguments)};WAe?WAe(iR.exports,"apply",{value:XAe}):iR.exports.apply=XAe});var vA=ye((Xhr,QAe)=>{"use strict";var JAe=rR(),$Ae=rE(),IAt=$Ae(JAe("String.prototype.indexOf"));QAe.exports=function(t,r){var n=JAe(t,!!r);return typeof n=="function"&&IAt(t,".prototype.")>-1?$Ae(n):n}});var r5e=ye((Zhr,t5e)=>{"use strict";var RAt=J4()(),DAt=vA(),VH=DAt("Object.prototype.toString"),aR=function(t){return RAt&&t&&typeof t=="object"&&Symbol.toStringTag in t?!1:VH(t)==="[object Arguments]"},e5e=function(t){return aR(t)?!0:t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&VH(t)!=="[object Array]"&&VH(t.callee)==="[object Function]"},FAt=function(){return aR(arguments)}();aR.isLegacyArguments=e5e;t5e.exports=FAt?aR:e5e});var a5e=ye((Yhr,n5e)=>{"use strict";var zAt=Object.prototype.toString,qAt=Function.prototype.toString,OAt=/^\s*(?:function)?\*/,i5e=J4()(),GH=Object.getPrototypeOf,BAt=function(){if(!i5e)return!1;try{return Function("return function*() {}")()}catch(e){}},HH;n5e.exports=function(t){if(typeof t!="function")return!1;if(OAt.test(qAt.call(t)))return!0;if(!i5e){var r=zAt.call(t);return r==="[object GeneratorFunction]"}if(!GH)return!1;if(typeof HH=="undefined"){var n=BAt();HH=n?GH(n):!1}return GH(t)===HH}});var u5e=ye((Khr,l5e)=>{"use strict";var s5e=Function.prototype.toString,pA=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply,WH,oR;if(typeof pA=="function"&&typeof Object.defineProperty=="function")try{WH=Object.defineProperty({},"length",{get:function(){throw oR}}),oR={},pA(function(){throw 42},null,WH)}catch(e){e!==oR&&(pA=null)}else pA=null;var NAt=/^\s*class\b/,XH=function(t){try{var r=s5e.call(t);return NAt.test(r)}catch(n){return!1}},jH=function(t){try{return XH(t)?!1:(s5e.call(t),!0)}catch(r){return!1}},sR=Object.prototype.toString,UAt="[object Object]",VAt="[object Function]",GAt="[object GeneratorFunction]",HAt="[object HTMLAllCollection]",jAt="[object HTML document.all class]",WAt="[object HTMLCollection]",XAt=typeof Symbol=="function"&&!!Symbol.toStringTag,ZAt=!(0 in[,]),ZH=function(){return!1};typeof document=="object"&&(o5e=document.all,sR.call(o5e)===sR.call(document.all)&&(ZH=function(t){if((ZAt||!t)&&(typeof t=="undefined"||typeof t=="object"))try{var r=sR.call(t);return(r===HAt||r===jAt||r===WAt||r===UAt)&&t("")==null}catch(n){}return!1}));var o5e;l5e.exports=pA?function(t){if(ZH(t))return!0;if(!t||typeof t!="function"&&typeof t!="object")return!1;try{pA(t,null,WH)}catch(r){if(r!==oR)return!1}return!XH(t)&&jH(t)}:function(t){if(ZH(t))return!0;if(!t||typeof t!="function"&&typeof t!="object")return!1;if(XAt)return jH(t);if(XH(t))return!1;var r=sR.call(t);return r!==VAt&&r!==GAt&&!/^\[object HTML/.test(r)?!1:jH(t)}});var YH=ye((Jhr,f5e)=>{"use strict";var YAt=u5e(),KAt=Object.prototype.toString,c5e=Object.prototype.hasOwnProperty,JAt=function(t,r,n){for(var i=0,a=t.length;i=3&&(i=n),KAt.call(t)==="[object Array]"?JAt(t,r,i):typeof t=="string"?$At(t,r,i):QAt(t,r,i)};f5e.exports=e5t});var JH=ye(($hr,h5e)=>{"use strict";var KH=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],t5t=typeof globalThis=="undefined"?window:globalThis;h5e.exports=function(){for(var t=[],r=0;r{"use strict";var uR=YH(),r5t=JH(),d5e=rE(),ej=vA(),lR=w2(),i5t=ej("Object.prototype.toString"),p5e=J4()(),v5e=typeof globalThis=="undefined"?window:globalThis,QH=r5t(),tj=ej("String.prototype.slice"),$H=Object.getPrototypeOf,n5t=ej("Array.prototype.indexOf",!0)||function(t,r){for(var n=0;n-1?r:r!=="Object"?!1:o5t(t)}return lR?a5t(t):null}});var T5e=ye((edr,w5e)=>{"use strict";var y5e=YH(),s5t=JH(),ij=vA(),l5t=ij("Object.prototype.toString"),_5e=J4()(),fR=w2(),u5t=typeof globalThis=="undefined"?window:globalThis,x5e=s5t(),c5t=ij("Array.prototype.indexOf",!0)||function(t,r){for(var n=0;n-1}return fR?h5t(t):!1}});var oj=ye(uu=>{"use strict";var d5t=r5e(),v5t=a5e(),Wg=m5e(),A5e=T5e();function gA(e){return e.call.bind(e)}var S5e=typeof BigInt!="undefined",M5e=typeof Symbol!="undefined",K0=gA(Object.prototype.toString),p5t=gA(Number.prototype.valueOf),g5t=gA(String.prototype.valueOf),m5t=gA(Boolean.prototype.valueOf);S5e&&(E5e=gA(BigInt.prototype.valueOf));var E5e;M5e&&(k5e=gA(Symbol.prototype.valueOf));var k5e;function nE(e,t){if(typeof e!="object")return!1;try{return t(e),!0}catch(r){return!1}}uu.isArgumentsObject=d5t;uu.isGeneratorFunction=v5t;uu.isTypedArray=A5e;function y5t(e){return typeof Promise!="undefined"&&e instanceof Promise||e!==null&&typeof e=="object"&&typeof e.then=="function"&&typeof e.catch=="function"}uu.isPromise=y5t;function _5t(e){return typeof ArrayBuffer!="undefined"&&ArrayBuffer.isView?ArrayBuffer.isView(e):A5e(e)||L5e(e)}uu.isArrayBufferView=_5t;function x5t(e){return Wg(e)==="Uint8Array"}uu.isUint8Array=x5t;function b5t(e){return Wg(e)==="Uint8ClampedArray"}uu.isUint8ClampedArray=b5t;function w5t(e){return Wg(e)==="Uint16Array"}uu.isUint16Array=w5t;function T5t(e){return Wg(e)==="Uint32Array"}uu.isUint32Array=T5t;function A5t(e){return Wg(e)==="Int8Array"}uu.isInt8Array=A5t;function S5t(e){return Wg(e)==="Int16Array"}uu.isInt16Array=S5t;function M5t(e){return Wg(e)==="Int32Array"}uu.isInt32Array=M5t;function E5t(e){return Wg(e)==="Float32Array"}uu.isFloat32Array=E5t;function k5t(e){return Wg(e)==="Float64Array"}uu.isFloat64Array=k5t;function C5t(e){return Wg(e)==="BigInt64Array"}uu.isBigInt64Array=C5t;function L5t(e){return Wg(e)==="BigUint64Array"}uu.isBigUint64Array=L5t;function hR(e){return K0(e)==="[object Map]"}hR.working=typeof Map!="undefined"&&hR(new Map);function P5t(e){return typeof Map=="undefined"?!1:hR.working?hR(e):e instanceof Map}uu.isMap=P5t;function dR(e){return K0(e)==="[object Set]"}dR.working=typeof Set!="undefined"&&dR(new Set);function I5t(e){return typeof Set=="undefined"?!1:dR.working?dR(e):e instanceof Set}uu.isSet=I5t;function vR(e){return K0(e)==="[object WeakMap]"}vR.working=typeof WeakMap!="undefined"&&vR(new WeakMap);function R5t(e){return typeof WeakMap=="undefined"?!1:vR.working?vR(e):e instanceof WeakMap}uu.isWeakMap=R5t;function aj(e){return K0(e)==="[object WeakSet]"}aj.working=typeof WeakSet!="undefined"&&aj(new WeakSet);function D5t(e){return aj(e)}uu.isWeakSet=D5t;function pR(e){return K0(e)==="[object ArrayBuffer]"}pR.working=typeof ArrayBuffer!="undefined"&&pR(new ArrayBuffer);function C5e(e){return typeof ArrayBuffer=="undefined"?!1:pR.working?pR(e):e instanceof ArrayBuffer}uu.isArrayBuffer=C5e;function gR(e){return K0(e)==="[object DataView]"}gR.working=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"&&gR(new DataView(new ArrayBuffer(1),0,1));function L5e(e){return typeof DataView=="undefined"?!1:gR.working?gR(e):e instanceof DataView}uu.isDataView=L5e;var nj=typeof SharedArrayBuffer!="undefined"?SharedArrayBuffer:void 0;function iE(e){return K0(e)==="[object SharedArrayBuffer]"}function P5e(e){return typeof nj=="undefined"?!1:(typeof iE.working=="undefined"&&(iE.working=iE(new nj)),iE.working?iE(e):e instanceof nj)}uu.isSharedArrayBuffer=P5e;function F5t(e){return K0(e)==="[object AsyncFunction]"}uu.isAsyncFunction=F5t;function z5t(e){return K0(e)==="[object Map Iterator]"}uu.isMapIterator=z5t;function q5t(e){return K0(e)==="[object Set Iterator]"}uu.isSetIterator=q5t;function O5t(e){return K0(e)==="[object Generator]"}uu.isGeneratorObject=O5t;function B5t(e){return K0(e)==="[object WebAssembly.Module]"}uu.isWebAssemblyCompiledModule=B5t;function I5e(e){return nE(e,p5t)}uu.isNumberObject=I5e;function R5e(e){return nE(e,g5t)}uu.isStringObject=R5e;function D5e(e){return nE(e,m5t)}uu.isBooleanObject=D5e;function F5e(e){return S5e&&nE(e,E5e)}uu.isBigIntObject=F5e;function z5e(e){return M5e&&nE(e,k5e)}uu.isSymbolObject=z5e;function N5t(e){return I5e(e)||R5e(e)||D5e(e)||F5e(e)||z5e(e)}uu.isBoxedPrimitive=N5t;function U5t(e){return typeof Uint8Array!="undefined"&&(C5e(e)||P5e(e))}uu.isAnyArrayBuffer=U5t;["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(e){Object.defineProperty(uu,e,{enumerable:!1,value:function(){throw new Error(e+" is not supported in userland")}})})});var sj=ye((rdr,q5e)=>{q5e.exports=function(t){return t&&typeof t=="object"&&typeof t.copy=="function"&&typeof t.fill=="function"&&typeof t.readUInt8=="function"}});var dj=ye(cu=>{var O5e=Object.getOwnPropertyDescriptors||function(t){for(var r=Object.keys(t),n={},i=0;i=i)return s;switch(s){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(l){return"[Circular]"}default:return s}}),o=n[r];r=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),fj(t)?r.showHidden=t:t&&cu._extend(r,t),S2(r.showHidden)&&(r.showHidden=!1),S2(r.depth)&&(r.depth=2),S2(r.colors)&&(r.colors=!1),S2(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=G5t),xR(r,e,r.depth)}cu.inspect=U_;U_.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]};U_.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function G5t(e,t){var r=U_.styles[t];return r?"\x1B["+U_.colors[r][0]+"m"+e+"\x1B["+U_.colors[r][1]+"m":e}function H5t(e,t){return e}function j5t(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function xR(e,t,r){if(e.customInspect&&t&&_R(t.inspect)&&t.inspect!==cu.inspect&&!(t.constructor&&t.constructor.prototype===t)){var n=t.inspect(r,e);return TR(n)||(n=xR(e,n,r)),n}var i=W5t(e,t);if(i)return i;var a=Object.keys(t),o=j5t(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),oE(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return lj(t);if(a.length===0){if(_R(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if(aE(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(bR(t))return e.stylize(Date.prototype.toString.call(t),"date");if(oE(t))return lj(t)}var l="",u=!1,c=["{","}"];if(N5e(t)&&(u=!0,c=["[","]"]),_R(t)){var f=t.name?": "+t.name:"";l=" [Function"+f+"]"}if(aE(t)&&(l=" "+RegExp.prototype.toString.call(t)),bR(t)&&(l=" "+Date.prototype.toUTCString.call(t)),oE(t)&&(l=" "+lj(t)),a.length===0&&(!u||t.length==0))return c[0]+l+c[1];if(r<0)return aE(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);var h;return u?h=X5t(e,t,r,o,a):h=a.map(function(d){return cj(e,t,r,o,d,u)}),e.seen.pop(),Z5t(h,l,c)}function W5t(e,t){if(S2(t))return e.stylize("undefined","undefined");if(TR(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(U5e(t))return e.stylize(""+t,"number");if(fj(t))return e.stylize(""+t,"boolean");if(wR(t))return e.stylize("null","null")}function lj(e){return"["+Error.prototype.toString.call(e)+"]"}function X5t(e,t,r,n,i){for(var a=[],o=0,s=t.length;o-1&&(a?s=s.split(` +"use strict";var Plotly=(()=>{var K$e=Object.create;var p5=Object.defineProperty,J$e=Object.defineProperties,Q$e=Object.getOwnPropertyDescriptor,eKe=Object.getOwnPropertyDescriptors,tKe=Object.getOwnPropertyNames,xM=Object.getOwnPropertySymbols,rKe=Object.getPrototypeOf,fD=Object.prototype.hasOwnProperty,k$=Object.prototype.propertyIsEnumerable;var E$=(e,t,r)=>t in e?p5(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,uv=(e,t)=>{for(var r in t||(t={}))fD.call(t,r)&&E$(e,r,t[r]);if(xM)for(var r of xM(t))k$.call(t,r)&&E$(e,r,t[r]);return e},Cg=(e,t)=>J$e(e,eKe(t));var C$=(e,t)=>{var r={};for(var n in e)fD.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&xM)for(var n of xM(e))t.indexOf(n)<0&&k$.call(e,n)&&(r[n]=e[n]);return r};var lo=(e,t,r)=>()=>{if(r)throw r[0];try{return e&&(t=e(e=0)),t}catch(n){throw r=[n],n}};var ne=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(r){throw t=0,r}},E0=(e,t)=>{for(var r in t)p5(e,r,{get:t[r],enumerable:!0})},L$=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of tKe(t))!fD.call(e,a)&&a!==r&&p5(e,a,{get:()=>t[a],enumerable:!(n=Q$e(t,a))||n.enumerable});return e};var yp=(e,t,r)=>(r=e!=null?K$e(rKe(e)):{},L$(t||!e||!e.__esModule?p5(r,"default",{value:e,enumerable:!0}):r,e)),vl=e=>L$(p5({},"__esModule",{value:!0}),e);var g5=ne(F$=>{"use strict";F$.version="4.0.0-rc.0"});var D$=ne((P$,bM)=>{(function(t,r,n){r[t]=r[t]||n(),typeof bM!="undefined"&&bM.exports&&(bM.exports=r[t])})("Promise",typeof window!="undefined"?window:P$,function(){"use strict";var t,r,n,a=Object.prototype.toString,i=typeof setImmediate!="undefined"?function(E){return setImmediate(E)}:setTimeout;try{Object.defineProperty({},"x",{}),t=function(E,M,w,k){return Object.defineProperty(E,M,{value:w,writable:!0,configurable:k!==!1})}}catch(g){t=function(M,w,k){return M[w]=k,M}}n=(function(){var E,M,w;function k(y,S){this.fn=y,this.self=S,this.next=void 0}return{add:function(S,T){w=new k(S,T),M?M.next=w:E=w,M=w,w=void 0},drain:function(){var S=E;for(E=M=r=void 0;S;)S.fn.call(S.self),S=S.next}}})();function o(g,E){n.add(g,E),r||(r=i(n.drain))}function s(g){var E,M=typeof g;return g!=null&&(M=="object"||M=="function")&&(E=g.then),typeof E=="function"?E:!1}function l(){for(var g=0;g0&&o(l,M))}catch(w){f.call(new v(M),w)}}}function f(g){var E=this;E.triggered||(E.triggered=!0,E.def&&(E=E.def),E.msg=g,E.state=2,E.chain.length>0&&o(l,E))}function h(g,E,M,w){for(var k=0;k{(function(){var e={version:"3.8.2"},t=[].slice,r=function(V){return t.call(V)},n=self.document;function a(V){return V&&(V.ownerDocument||V.document||V).documentElement}function i(V){return V&&(V.ownerDocument&&V.ownerDocument.defaultView||V.document&&V||V.defaultView)}if(n)try{r(n.documentElement.childNodes)[0].nodeType}catch(V){r=function(Z){for(var ie=Z.length,_e=new Array(ie);ie--;)_e[ie]=Z[ie];return _e}}if(Date.now||(Date.now=function(){return+new Date}),n)try{n.createElement("DIV").style.setProperty("opacity",0,"")}catch(V){var o=this.Element.prototype,s=o.setAttribute,l=o.setAttributeNS,u=this.CSSStyleDeclaration.prototype,c=u.setProperty;o.setAttribute=function(Z,ie){s.call(this,Z,ie+"")},o.setAttributeNS=function(Z,ie,_e){l.call(this,Z,ie,_e+"")},u.setProperty=function(Z,ie,_e){c.call(this,Z,ie+"",_e)}}e.ascending=f;function f(V,Z){return VZ?1:V>=Z?0:NaN}e.descending=function(V,Z){return ZV?1:Z>=V?0:NaN},e.min=function(V,Z){var ie=-1,_e=V.length,Me,Le;if(arguments.length===1){for(;++ie<_e;)if((Le=V[ie])!=null&&Le>=Le){Me=Le;break}for(;++ie<_e;)(Le=V[ie])!=null&&Me>Le&&(Me=Le)}else{for(;++ie<_e;)if((Le=Z.call(V,V[ie],ie))!=null&&Le>=Le){Me=Le;break}for(;++ie<_e;)(Le=Z.call(V,V[ie],ie))!=null&&Me>Le&&(Me=Le)}return Me},e.max=function(V,Z){var ie=-1,_e=V.length,Me,Le;if(arguments.length===1){for(;++ie<_e;)if((Le=V[ie])!=null&&Le>=Le){Me=Le;break}for(;++ie<_e;)(Le=V[ie])!=null&&Le>Me&&(Me=Le)}else{for(;++ie<_e;)if((Le=Z.call(V,V[ie],ie))!=null&&Le>=Le){Me=Le;break}for(;++ie<_e;)(Le=Z.call(V,V[ie],ie))!=null&&Le>Me&&(Me=Le)}return Me},e.extent=function(V,Z){var ie=-1,_e=V.length,Me,Le,at;if(arguments.length===1){for(;++ie<_e;)if((Le=V[ie])!=null&&Le>=Le){Me=at=Le;break}for(;++ie<_e;)(Le=V[ie])!=null&&(Me>Le&&(Me=Le),at=Le){Me=at=Le;break}for(;++ie<_e;)(Le=Z.call(V,V[ie],ie))!=null&&(Me>Le&&(Me=Le),at1)return at/(xt-1)},e.deviation=function(){var V=e.variance.apply(this,arguments);return V&&Math.sqrt(V)};function d(V){return{left:function(Z,ie,_e,Me){for(arguments.length<3&&(_e=0),arguments.length<4&&(Me=Z.length);_e>>1;V(Z[Le],ie)<0?_e=Le+1:Me=Le}return _e},right:function(Z,ie,_e,Me){for(arguments.length<3&&(_e=0),arguments.length<4&&(Me=Z.length);_e>>1;V(Z[Le],ie)>0?Me=Le:_e=Le+1}return _e}}}var m=d(f);e.bisectLeft=m.left,e.bisect=e.bisectRight=m.right,e.bisector=function(V){return d(V.length===1?function(Z,ie){return f(V(Z),ie)}:V)},e.shuffle=function(V,Z,ie){(_e=arguments.length)<3&&(ie=V.length,_e<2&&(Z=0));for(var _e=ie-Z,Me,Le;_e;)Le=Math.random()*_e--|0,Me=V[_e+Z],V[_e+Z]=V[Le+Z],V[Le+Z]=Me;return V},e.permute=function(V,Z){for(var ie=Z.length,_e=new Array(ie);ie--;)_e[ie]=V[Z[ie]];return _e},e.pairs=function(V){for(var Z=0,ie=V.length-1,_e,Me=V[0],Le=new Array(ie<0?0:ie);Z=0;)for(at=V[Z],ie=at.length;--ie>=0;)Le[--Me]=at[ie];return Le};var g=Math.abs;e.range=function(V,Z,ie){if(arguments.length<3&&(ie=1,arguments.length<2&&(Z=V,V=0)),(Z-V)/ie===1/0)throw new Error("infinite range");var _e=[],Me=E(g(ie)),Le=-1,at;if(V*=Me,Z*=Me,ie*=Me,ie<0)for(;(at=V+ie*++Le)>Z;)_e.push(at/Me);else for(;(at=V+ie*++Le)=Z.length)return Me?Me.call(V,xt):_e?xt.sort(_e):xt;for(var It=-1,ar=xt.length,rr=Z[Dt++],Dr,Hr,hr,Tr=new w,Lr;++It=Z.length)return je;var Dt=[],It=ie[xt++];return je.forEach(function(ar,rr){Dt.push({key:ar,values:at(rr,xt)})}),It?Dt.sort(function(ar,rr){return It(ar.key,rr.key)}):Dt}return V.map=function(je,xt){return Le(xt,je,0)},V.entries=function(je){return at(Le(e.map,je,0),0)},V.key=function(je){return Z.push(je),V},V.sortKeys=function(je){return ie[Z.length-1]=je,V},V.sortValues=function(je){return _e=je,V},V.rollup=function(je){return Me=je,V},V},e.set=function(V){var Z=new z;if(V)for(var ie=0,_e=V.length;ie<_e;++ie)Z.add(V[ie]);return Z};function z(){this._=Object.create(null)}M(z,{has:p,add:function(V){return this._[S(V+="")]=!0,V},remove:C,values:A,size:P,empty:D,forEach:function(V){for(var Z in this._)V.call(this,T(Z))}}),e.behavior={};function q(V){return V}e.rebind=function(V,Z){for(var ie=1,_e=arguments.length,Me;++ie<_e;)V[Me=arguments[ie]]=U(V,Z,Z[Me]);return V};function U(V,Z,ie){return function(){var _e=ie.apply(Z,arguments);return _e===Z?V:_e}}function O(V,Z){if(Z in V)return Z;Z=Z.charAt(0).toUpperCase()+Z.slice(1);for(var ie=0,_e=R.length;ie<_e;++ie){var Me=R[ie]+Z;if(Me in V)return Me}}var R=["webkit","ms","moz","Moz","o","O"];function B(){}e.dispatch=function(){for(var V=new Y,Z=-1,ie=arguments.length;++Z=0&&(_e=V.slice(ie+1),V=V.slice(0,ie)),V)return arguments.length<2?this[V].on(_e):this[V].on(_e,Z);if(arguments.length===2){if(Z==null)for(V in this)this.hasOwnProperty(V)&&this[V].on(_e,null);return this}};function X(V){var Z=[],ie=new w;function _e(){for(var Me=Z,Le=-1,at=Me.length,je;++Le=0&&(ie=V.slice(0,Z))!=="xmlns"&&(V=V.slice(Z+1)),ze.hasOwnProperty(ie)?{space:ze[ie],local:V}:V}},he.attr=function(V,Z){if(arguments.length<2){if(typeof V=="string"){var ie=this.node();return V=e.ns.qualify(V),V.local?ie.getAttributeNS(V.space,V.local):ie.getAttribute(V)}for(Z in V)this.each(Xe(Z,V[Z]));return this}return this.each(Xe(V,Z))};function Xe(V,Z){V=e.ns.qualify(V);function ie(){this.removeAttribute(V)}function _e(){this.removeAttributeNS(V.space,V.local)}function Me(){this.setAttribute(V,Z)}function Le(){this.setAttributeNS(V.space,V.local,Z)}function at(){var xt=Z.apply(this,arguments);xt==null?this.removeAttribute(V):this.setAttribute(V,xt)}function je(){var xt=Z.apply(this,arguments);xt==null?this.removeAttributeNS(V.space,V.local):this.setAttributeNS(V.space,V.local,xt)}return Z==null?V.local?_e:ie:typeof Z=="function"?V.local?je:at:V.local?Le:Me}function vt(V){return V.trim().replace(/\s+/g," ")}he.classed=function(V,Z){if(arguments.length<2){if(typeof V=="string"){var ie=this.node(),_e=(V=Oe(V)).length,Me=-1;if(Z=ie.classList){for(;++Me<_e;)if(!Z.contains(V[Me]))return!1}else for(Z=ie.getAttribute("class");++Me<_e;)if(!st(V[Me]).test(Z))return!1;return!0}for(Z in V)this.each(qe(Z,V[Z]));return this}return this.each(qe(V,Z))};function st(V){return new RegExp("(?:^|\\s+)"+e.requote(V)+"(?:\\s+|$)","g")}function Oe(V){return(V+"").trim().split(/^|\s+/)}function qe(V,Z){V=Oe(V).map(mt);var ie=V.length;function _e(){for(var Le=-1;++Le=0;)(Le=ie[_e])&&(Me&&Me!==Le.nextSibling&&Me.parentNode.insertBefore(Le,Me),Me=Le);return this},he.sort=function(V){V=Ge.apply(this,arguments);for(var Z=-1,ie=this.length;++Z=Z&&(Z=Me+1);!(xt=at[Z])&&++Z0&&(V=V.slice(0,Me));var at=pt.get(V);at&&(V=at,Le=qt);function je(){var It=this[_e];It&&(this.removeEventListener(V,It,It.$),delete this[_e])}function xt(){var It=Le(Z,r(arguments));je.call(this),this.addEventListener(V,this[_e]=It,It.$=ie),It._=Z}function Dt(){var It=new RegExp("^__on([^.]+)"+e.requote(V)+"$"),ar;for(var rr in this)if(ar=rr.match(It)){var Dr=this[rr];this.removeEventListener(ar[1],Dr,Dr.$),delete this[rr]}}return Me?Z?xt:je:Z?B:Dt}var pt=e.map({mouseenter:"mouseover",mouseleave:"mouseout"});n&&pt.forEach(function(V){"on"+V in n&&pt.remove(V)});function kt(V,Z){return function(ie){var _e=e.event;e.event=ie,Z[0]=this.__data__;try{V.apply(this,Z)}finally{e.event=_e}}}function qt(V,Z){var ie=kt(V,Z);return function(_e){var Me=this,Le=_e.relatedTarget;(!Le||Le!==Me&&!(Le.compareDocumentPosition(Me)&8))&&ie.call(Me,_e)}}var Wt,_r=0;function tr(V){var Z=".dragsuppress-"+ ++_r,ie="click"+Z,_e=e.select(i(V)).on("touchmove"+Z,te).on("dragstart"+Z,te).on("selectstart"+Z,te);if(Wt==null&&(Wt="onselectstart"in V?!1:O(V.style,"userSelect")),Wt){var Me=a(V).style,Le=Me[Wt];Me[Wt]="none"}return function(at){if(_e.on(Z,null),Wt&&(Me[Wt]=Le),at){var je=function(){_e.on(ie,null)};_e.on(ie,function(){te(),je()},!0),setTimeout(je,0)}}}e.mouse=function(V){return Ye(V,se())};var lr=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function Ye(V,Z){Z.changedTouches&&(Z=Z.changedTouches[0]);var ie=V.ownerSVGElement||V;if(ie.createSVGPoint){var _e=ie.createSVGPoint();if(lr<0){var Me=i(V);if(Me.scrollX||Me.scrollY){ie=e.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var Le=ie[0][0].getScreenCTM();lr=!(Le.f||Le.e),ie.remove()}}return lr?(_e.x=Z.pageX,_e.y=Z.pageY):(_e.x=Z.clientX,_e.y=Z.clientY),_e=_e.matrixTransform(V.getScreenCTM().inverse()),[_e.x,_e.y]}var at=V.getBoundingClientRect();return[Z.clientX-at.left-V.clientLeft,Z.clientY-at.top-V.clientTop]}e.touch=function(V,Z,ie){if(arguments.length<3&&(ie=Z,Z=se().changedTouches),Z){for(var _e=0,Me=Z.length,Le;_e0?1:V<0?-1:0}function $t(V,Z,ie){return(Z[0]-V[0])*(ie[1]-V[1])-(Z[1]-V[1])*(ie[0]-V[0])}function gr(V){return V>1?0:V<-1?Re:Math.acos(V)}function Br(V){return V>1?_t:V<-1?-_t:Math.asin(V)}function Nr(V){return((V=Math.exp(V))-1/V)/2}function Er(V){return((V=Math.exp(V))+1/V)/2}function zr(V){return((V=Math.exp(2*V))-1)/(V+1)}function vn(V){return(V=Math.sin(V/2))*V}var Nn=Math.SQRT2,Xn=2,Kn=4;e.interpolateZoom=function(V,Z){var ie=V[0],_e=V[1],Me=V[2],Le=Z[0],at=Z[1],je=Z[2],xt=Le-ie,Dt=at-_e,It=xt*xt+Dt*Dt,ar,rr;if(It0&&(ma=ma.transition().duration(at)),ma.call(jr.event)}function Ba(){Tr&&Tr.domain(hr.range().map(function(ma){return(ma-V.x)/V.k}).map(hr.invert)),Vr&&Vr.domain(Lr.range().map(function(ma){return(ma-V.y)/V.k}).map(Lr.invert))}function za(ma){je++||ma({type:"zoomstart"})}function bi(ma){Ba(),ma({type:"zoom",scale:V.k,translate:[V.x,V.y]})}function Da(ma){--je||(ma({type:"zoomend"}),ie=null)}function si(){var ma=this,$a=Hr.of(ma,arguments),Ri=0,To=e.select(i(ma)).on(Dt,ou).on(It,wu),Qo=br(e.mouse(ma)),Gs=tr(ma);va.call(ma),za($a);function ou(){Ri=1,ra(e.mouse(ma),Qo),bi($a)}function wu(){To.on(Dt,null).on(It,null),Gs(Ri),Da($a)}}function Fo(){var ma=this,$a=Hr.of(ma,arguments),Ri={},To=0,Qo,Gs=".zoom-"+e.event.changedTouches[0].identifier,ou="touchmove"+Gs,wu="touchend"+Gs,Dc=[],pe=e.select(ma),ot=tr(ma);Kt(),za($a),pe.on(xt,null).on(rr,Kt);function ht(){var ur=e.touches(ma);return Qo=V.k,ur.forEach(function(Rr){Rr.identifier in Ri&&(Ri[Rr.identifier]=br(Rr))}),ur}function Kt(){var ur=e.event.target;e.select(ur).on(ou,cr).on(wu,dr),Dc.push(ur);for(var Rr=e.event.changedTouches,Xr=0,$r=Rr.length;Xr<$r;++Xr)Ri[Rr[Xr].identifier]=null;var Kr=ht(),Hn=Date.now();if(Kr.length===1){if(Hn-Dr<500){var Cn=Kr[0];xa(ma,Cn,Ri[Cn.identifier],Math.floor(Math.log(V.k)/Math.LN2)+1),te()}Dr=Hn}else if(Kr.length>1){var Cn=Kr[0],fn=Kr[1],Sr=Cn[0]-fn[0],Ut=Cn[1]-fn[1];To=Sr*Sr+Ut*Ut}}function cr(){var ur=e.touches(ma),Rr,Xr,$r,Kr;va.call(ma);for(var Hn=0,Cn=ur.length;Hn1?1:Z,ie=ie<0?0:ie>1?1:ie,Me=ie<=.5?ie*(1+Z):ie+Z-ie*Z,_e=2*ie-Me;function Le(je){return je>360?je-=360:je<0&&(je+=360),je<60?_e+(Me-_e)*je/60:je<180?Me:je<240?_e+(Me-_e)*(240-je)/60:_e}function at(je){return Math.round(Le(je)*255)}return new yo(at(V+120),at(V),at(V-120))}e.hcl=pa;function pa(V,Z,ie){return this instanceof pa?(this.h=+V,this.c=+Z,void(this.l=+ie)):arguments.length<2?V instanceof pa?new pa(V.h,V.c,V.l):V instanceof Ti?to(V.l,V.a,V.b):to((V=ia((V=e.rgb(V)).r,V.g,V.b)).l,V.a,V.b):new pa(V,Z,ie)}var no=pa.prototype=new da;no.brighter=function(V){return new pa(this.h,this.c,Math.min(100,this.l+fi*(arguments.length?V:1)))},no.darker=function(V){return new pa(this.h,this.c,Math.max(0,this.l-fi*(arguments.length?V:1)))},no.rgb=function(){return Gi(this.h,this.c,this.l).rgb()};function Gi(V,Z,ie){return isNaN(V)&&(V=0),isNaN(Z)&&(Z=0),new Ti(ie,Math.cos(V*=St)*Z,Math.sin(V)*Z)}e.lab=Ti;function Ti(V,Z,ie){return this instanceof Ti?(this.l=+V,this.a=+Z,void(this.b=+ie)):arguments.length<2?V instanceof Ti?new Ti(V.l,V.a,V.b):V instanceof pa?Gi(V.h,V.c,V.l):ia((V=yo(V)).r,V.g,V.b):new Ti(V,Z,ie)}var fi=18,_o=.95047,Oi=1,ni=1.08883,ao=Ti.prototype=new da;ao.brighter=function(V){return new Ti(Math.min(100,this.l+fi*(arguments.length?V:1)),this.a,this.b)},ao.darker=function(V){return new Ti(Math.max(0,this.l-fi*(arguments.length?V:1)),this.a,this.b)},ao.rgb=function(){return Hi(this.l,this.a,this.b)};function Hi(V,Z,ie){var _e=(V+16)/116,Me=_e+Z/500,Le=_e-ie/200;return Me=Xo(Me)*_o,_e=Xo(_e)*Oi,Le=Xo(Le)*ni,new yo(Fi(3.2404542*Me-1.5371385*_e-.4985314*Le),Fi(-.969266*Me+1.8760108*_e+.041556*Le),Fi(.0556434*Me-.2040259*_e+1.0572252*Le))}function to(V,Z,ie){return V>0?new pa(Math.atan2(ie,Z)*Vt,Math.sqrt(Z*Z+ie*ie),V):new pa(NaN,NaN,V)}function Xo(V){return V>.206893034?V*V*V:(V-4/29)/7.787037}function Zo(V){return V>.008856?Math.pow(V,1/3):7.787037*V+4/29}function Fi(V){return Math.round(255*(V<=.00304?12.92*V:1.055*Math.pow(V,1/2.4)-.055))}e.rgb=yo;function yo(V,Z,ie){return this instanceof yo?(this.r=~~V,this.g=~~Z,void(this.b=~~ie)):arguments.length<2?V instanceof yo?new yo(V.r,V.g,V.b):xi(""+V,yo,ii):new yo(V,Z,ie)}function oo(V){return new yo(V>>16,V>>8&255,V&255)}function rl(V){return oo(V)+""}var Ni=yo.prototype=new da;Ni.brighter=function(V){V=Math.pow(.7,arguments.length?V:1);var Z=this.r,ie=this.g,_e=this.b,Me=30;return!Z&&!ie&&!_e?new yo(Me,Me,Me):(Z&&Z>4,_e=_e>>4|_e,Me=xt&240,Me=Me>>4|Me,Le=xt&15,Le=Le<<4|Le):V.length===7&&(_e=(xt&16711680)>>16,Me=(xt&65280)>>8,Le=xt&255)),Z(_e,Me,Le))}function Pi(V,Z,ie){var _e=Math.min(V/=255,Z/=255,ie/=255),Me=Math.max(V,Z,ie),Le=Me-_e,at,je,xt=(Me+_e)/2;return Le?(je=xt<.5?Le/(Me+_e):Le/(2-Me-_e),V==Me?at=(Z-ie)/Le+(Z0&&xt<1?0:at),new ua(at,je,xt)}function ia(V,Z,ie){V=rt(V),Z=rt(Z),ie=rt(ie);var _e=Zo((.4124564*V+.3575761*Z+.1804375*ie)/_o),Me=Zo((.2126729*V+.7151522*Z+.072175*ie)/Oi),Le=Zo((.0193339*V+.119192*Z+.9503041*ie)/ni);return Ti(116*Me-16,500*(_e-Me),200*(Me-Le))}function rt(V){return(V/=255)<=.04045?V/12.92:Math.pow((V+.055)/1.055,2.4)}function Xt(V){var Z=parseFloat(V);return V.charAt(V.length-1)==="%"?Math.round(Z*2.55):Z}var xr=e.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});xr.forEach(function(V,Z){xr.set(V,oo(Z))});function Fr(V){return typeof V=="function"?V:function(){return V}}e.functor=Fr,e.xhr=xn(q);function xn(V){return function(Z,ie,_e){return arguments.length===2&&typeof ie=="function"&&(_e=ie,ie=null),Mn(Z,ie,V,_e)}}function Mn(V,Z,ie,_e){var Me={},Le=e.dispatch("beforesend","progress","load","error"),at={},je=new XMLHttpRequest,xt=null;self.XDomainRequest&&!("withCredentials"in je)&&/^(http(s)?:)?\/\//.test(V)&&(je=new XDomainRequest),"onload"in je?je.onload=je.onerror=Dt:je.onreadystatechange=function(){je.readyState>3&&Dt()};function Dt(){var It=je.status,ar;if(!It&&on(je)||It>=200&&It<300||It===304){try{ar=ie.call(Me,je)}catch(rr){Le.error.call(Me,rr);return}Le.load.call(Me,ar)}else Le.error.call(Me,je)}return je.onprogress=function(It){var ar=e.event;e.event=It;try{Le.progress.call(Me,je)}finally{e.event=ar}},Me.header=function(It,ar){return It=(It+"").toLowerCase(),arguments.length<2?at[It]:(ar==null?delete at[It]:at[It]=ar+"",Me)},Me.mimeType=function(It){return arguments.length?(Z=It==null?null:It+"",Me):Z},Me.responseType=function(It){return arguments.length?(xt=It,Me):xt},Me.response=function(It){return ie=It,Me},["get","post"].forEach(function(It){Me[It]=function(){return Me.send.apply(Me,[It].concat(r(arguments)))}}),Me.send=function(It,ar,rr){if(arguments.length===2&&typeof ar=="function"&&(rr=ar,ar=null),je.open(It,V,!0),Z!=null&&!("accept"in at)&&(at.accept=Z+",*/*"),je.setRequestHeader)for(var Dr in at)je.setRequestHeader(Dr,at[Dr]);return Z!=null&&je.overrideMimeType&&je.overrideMimeType(Z),xt!=null&&(je.responseType=xt),rr!=null&&Me.on("error",rr).on("load",function(Hr){rr(null,Hr)}),Le.beforesend.call(Me,je),je.send(ar==null?null:ar),Me},Me.abort=function(){return je.abort(),Me},e.rebind(Me,Le,"on"),_e==null?Me:Me.get(Rn(_e))}function Rn(V){return V.length===1?function(Z,ie){V(Z==null?ie:null)}:V}function on(V){var Z=V.responseType;return Z&&Z!=="text"?V.response:V.responseText}e.dsv=function(V,Z){var ie=new RegExp('["'+V+` +]`),_e=V.charCodeAt(0);function Me(Dt,It,ar){arguments.length<3&&(ar=It,It=null);var rr=Mn(Dt,Z,It==null?Le:at(It),ar);return rr.row=function(Dr){return arguments.length?rr.response((It=Dr)==null?Le:at(Dr)):It},rr}function Le(Dt){return Me.parse(Dt.responseText)}function at(Dt){return function(It){return Me.parse(It.responseText,Dt)}}Me.parse=function(Dt,It){var ar;return Me.parseRows(Dt,function(rr,Dr){if(ar)return ar(rr,Dr-1);var Hr=function(hr){for(var Tr={},Lr=rr.length,Vr=0;Vr=Hr)return rr;if(Vr)return Vr=!1,ar;var Ln=hr;if(Dt.charCodeAt(Ln)===34){for(var On=Ln;On++24?(isFinite(Z)&&(clearTimeout(Ia),Ia=setTimeout(ui,Z)),ba=0):(ba=1,hi(ui))}e.timer.flush=function(){Mi(),_i()};function Mi(){for(var V=Date.now(),Z=En;Z;)V>=Z.t&&Z.c(V-Z.t)&&(Z.c=null),Z=Z.n;return V}function _i(){for(var V,Z=En,ie=1/0;Z;)Z.c?(Z.t=0;--je)hr.push(Me[Dt[ar[je]][2]]);for(je=+Dr;je1&&$t(V[ie[_e-2]],V[ie[_e-1]],V[Me])<=0;)--_e;ie[_e++]=Me}return ie.slice(0,_e)}function Is(V,Z){return V[0]-Z[0]||V[1]-Z[1]}e.geom.polygon=function(V){return j(V,Es),V};var Es=e.geom.polygon.prototype=[];Es.area=function(){for(var V=-1,Z=this.length,ie,_e=this[Z-1],Me=0;++VFe)je=je.L;else if(at=Z-co(je,ie),at>Fe){if(!je.R){_e=je;break}je=je.R}else{Le>-Fe?(_e=je.P,Me=je):at>-Fe?(_e=je,Me=je.N):_e=Me=je;break}var xt=Cs(V);if(Co.insert(_e,xt),!(!_e&&!Me)){if(_e===Me){Vu(_e),Me=Cs(_e.site),Co.insert(xt,Me),xt.edge=Me.edge=Cf(_e.site,xt.site),Os(_e),Os(Me);return}if(!Me){xt.edge=Cf(_e.site,xt.site);return}Vu(_e),Vu(Me);var Dt=_e.site,It=Dt.x,ar=Dt.y,rr=V.x-It,Dr=V.y-ar,Hr=Me.site,hr=Hr.x-It,Tr=Hr.y-ar,Lr=2*(rr*Tr-Dr*hr),Vr=rr*rr+Dr*Dr,jr=hr*hr+Tr*Tr,br={x:(Tr*Vr-Dr*jr)/Lr+It,y:(rr*jr-hr*Vr)/Lr+ar};ol(Me.edge,Dt,Hr,br),xt.edge=Cf(Dt,V,null,br),Me.edge=Cf(V,Hr,null,br),Os(_e),Os(Me)}}function al(V,Z){var ie=V.site,_e=ie.x,Me=ie.y,Le=Me-Z;if(!Le)return _e;var at=V.P;if(!at)return-1/0;ie=at.site;var je=ie.x,xt=ie.y,Dt=xt-Z;if(!Dt)return je;var It=je-_e,ar=1/Le-1/Dt,rr=It/Dt;return ar?(-rr+Math.sqrt(rr*rr-2*ar*(It*It/(-2*Dt)-xt+Dt/2+Me-Le/2)))/ar+_e:(_e+je)/2}function co(V,Z){var ie=V.N;if(ie)return al(ie,Z);var _e=V.site;return _e.y===Z?_e.x:1/0}function Ul(V){this.site=V,this.edges=[]}Ul.prototype.prepare=function(){for(var V=this.edges,Z=V.length,ie;Z--;)ie=V[Z].edge,(!ie.b||!ie.a)&&V.splice(Z,1);return V.sort(il),V.length};function Ls(V){for(var Z=V[0][0],ie=V[1][0],_e=V[0][1],Me=V[1][1],Le,at,je,xt,Dt=xs,It=Dt.length,ar,rr,Dr,Hr,hr,Tr;It--;)if(ar=Dt[It],!(!ar||!ar.prepare()))for(Dr=ar.edges,Hr=Dr.length,rr=0;rrFe||g(xt-at)>Fe)&&(Dr.splice(rr,0,new af(Rd(ar.site,Tr,g(je-Z)Fe?{x:Z,y:g(Le-Z)Fe?{x:g(at-Me)Fe?{x:ie,y:g(Le-ie)Fe?{x:g(at-_e)=-Ae)){var rr=xt*xt+Dt*Dt,Dr=It*It+Tr*Tr,Hr=(Tr*rr-Dt*Dr)/ar,hr=(xt*Dr-It*rr)/ar,Tr=hr+je,Lr=Fl.pop()||new _c;Lr.arc=V,Lr.site=Me,Lr.x=Hr+at,Lr.y=Tr+Math.sqrt(Hr*Hr+hr*hr),Lr.cy=Tr,V.circle=Lr;for(var Vr=null,jr=Bs._;jr;)if(Lr.y0)){if(hr/=Dr,Dr<0){if(hr0){if(hr>rr)return;hr>ar&&(ar=hr)}if(hr=ie-je,!(!Dr&&hr<0)){if(hr/=Dr,Dr<0){if(hr>rr)return;hr>ar&&(ar=hr)}else if(Dr>0){if(hr0)){if(hr/=Hr,Hr<0){if(hr0){if(hr>rr)return;hr>ar&&(ar=hr)}if(hr=_e-xt,!(!Hr&&hr<0)){if(hr/=Hr,Hr<0){if(hr>rr)return;hr>ar&&(ar=hr)}else if(Hr>0){if(hr0&&(Me.a={x:je+ar*Dr,y:xt+ar*Hr}),rr<1&&(Me.b={x:je+rr*Dr,y:xt+rr*Hr}),Me}}}}}}function Jl(V){for(var Z=us,ie=kf(V[0][0],V[0][1],V[1][0],V[1][1]),_e=Z.length,Me;_e--;)Me=Z[_e],(!th(Me,V)||!ie(Me)||g(Me.a.x-Me.b.x)=Le)return;if(It>rr){if(!_e)_e={x:Hr,y:at};else if(_e.y>=je)return;ie={x:Hr,y:je}}else{if(!_e)_e={x:Hr,y:je};else if(_e.y1)if(It>rr){if(!_e)_e={x:(at-Lr)/Tr,y:at};else if(_e.y>=je)return;ie={x:(je-Lr)/Tr,y:je}}else{if(!_e)_e={x:(je-Lr)/Tr,y:je};else if(_e.y=Le)return;ie={x:Le,y:Tr*Le+Lr}}else{if(!_e)_e={x:Le,y:Tr*Le+Lr};else if(_e.x=It&&Lr.x<=rr&&Lr.y>=ar&&Lr.y<=Dr?[[It,Dr],[rr,Dr],[rr,ar],[It,ar]]:[];Vr.point=xt[hr]}),Dt}function je(xt){return xt.map(function(Dt,It){return{x:Math.round(_e(Dt,It)/Fe)*Fe,y:Math.round(Me(Dt,It)/Fe)*Fe,i:It}})}return at.links=function(xt){return tc(je(xt)).edges.filter(function(Dt){return Dt.l&&Dt.r}).map(function(Dt){return{source:xt[Dt.l.i],target:xt[Dt.r.i]}})},at.triangles=function(xt){var Dt=[];return tc(je(xt)).cells.forEach(function(It,ar){for(var rr=It.site,Dr=It.edges.sort(il),Hr=-1,hr=Dr.length,Tr,Lr,Vr=Dr[hr-1].edge,jr=Vr.l===rr?Vr.r:Vr.l;++Hrjr&&(jr=It.x),It.y>br&&(br=It.y),Dr.push(It.x),Hr.push(It.y);else for(hr=0;hrjr&&(jr=Ln),On>br&&(br=On),Dr.push(Ln),Hr.push(On)}var ra=jr-Lr,xa=br-Vr;ra>xa?br=Vr+ra:jr=Lr+xa;function Ba(Da,si,Fo,Ps,Yo,ma,$a,Ri){if(!(isNaN(Fo)||isNaN(Ps)))if(Da.leaf){var To=Da.x,Qo=Da.y;if(To!=null)if(g(To-Fo)+g(Qo-Ps)<.01)za(Da,si,Fo,Ps,Yo,ma,$a,Ri);else{var Gs=Da.point;Da.x=Da.y=Da.point=null,za(Da,Gs,To,Qo,Yo,ma,$a,Ri),za(Da,si,Fo,Ps,Yo,ma,$a,Ri)}else Da.x=Fo,Da.y=Ps,Da.point=si}else za(Da,si,Fo,Ps,Yo,ma,$a,Ri)}function za(Da,si,Fo,Ps,Yo,ma,$a,Ri){var To=(Yo+$a)*.5,Qo=(ma+Ri)*.5,Gs=Fo>=To,ou=Ps>=Qo,wu=ou<<1|Gs;Da.leaf=!1,Da=Da.nodes[wu]||(Da.nodes[wu]=Fh()),Gs?Yo=To:$a=To,ou?ma=Qo:Ri=Qo,Ba(Da,si,Fo,Ps,Yo,ma,$a,Ri)}var bi=Fh();if(bi.add=function(Da){Ba(bi,Da,+ar(Da,++hr),+rr(Da,hr),Lr,Vr,jr,br)},bi.visit=function(Da){pu(Da,bi,Lr,Vr,jr,br)},bi.find=function(Da){return gu(bi,Da[0],Da[1],Lr,Vr,jr,br)},hr=-1,Z==null){for(;++hrLe||rr>at||Dr<_e||Hr=Ln,xa=ie>=On,Ba=xa<<1|ra,za=Ba+4;Baie&&(Le=Z.slice(ie,Le),je[at]?je[at]+=Le:je[++at]=Le),(_e=_e[0])===(Me=Me[0])?je[at]?je[at]+=Me:je[++at]=Me:(je[++at]=null,xt.push({i:at,x:as(_e,Me)})),ie=ku.lastIndex;return ie=0&&!(_e=e.interpolators[ie](V,Z)););return _e}e.interpolators=[function(V,Z){var ie=typeof Z;return(ie==="string"?xr.has(Z.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(Z)?mu:fo:Z instanceof da?mu:Array.isArray(Z)?sf:ie==="object"&&isNaN(Z)?Ql:as)(V,Z)}],e.interpolateArray=sf;function sf(V,Z){var ie=[],_e=[],Me=V.length,Le=Z.length,at=Math.min(V.length,Z.length),je;for(je=0;je=0?V.slice(0,Z):V,_e=Z>=0?V.slice(Z+1):"in";return ie=Xh.get(ie)||is,_e=Wi.get(_e)||q,Zh(_e(ie.apply(null,t.call(arguments,1))))};function Zh(V){return function(Z){return Z<=0?0:Z>=1?1:V(Z)}}function so(V){return function(Z){return 1-V(1-Z)}}function ei(V){return function(Z){return .5*(Z<.5?V(2*Z):2-V(2-2*Z))}}function nc(V){return V*V}function Wc(V){return V*V*V}function _l(V){if(V<=0)return 0;if(V>=1)return 1;var Z=V*V,ie=Z*V;return 4*(V<.5?ie:3*(V-Z)+ie-.75)}function nh(V){return function(Z){return Math.pow(Z,V)}}function Cu(V){return 1-Math.cos(V*_t)}function Ac(V){return Math.pow(2,10*(V-1))}function Us(V){return 1-Math.sqrt(1-V*V)}function ah(V,Z){var ie;return arguments.length<2&&(Z=.45),arguments.length?ie=Z/Ze*Math.asin(1/V):(V=1,ie=Z/4),function(_e){return 1+V*Math.pow(2,-10*_e)*Math.sin((_e-ie)*Ze/Z)}}function Df(V){return V||(V=1.70158),function(Z){return Z*Z*((V+1)*Z-V)}}function Mc(V){return V<1/2.75?7.5625*V*V:V<2/2.75?7.5625*(V-=1.5/2.75)*V+.75:V<2.5/2.75?7.5625*(V-=2.25/2.75)*V+.9375:7.5625*(V-=2.625/2.75)*V+.984375}e.interpolateHcl=Sc;function Sc(V,Z){V=e.hcl(V),Z=e.hcl(Z);var ie=V.h,_e=V.c,Me=V.l,Le=Z.h-ie,at=Z.c-_e,je=Z.l-Me;return isNaN(at)&&(at=0,_e=isNaN(_e)?Z.c:_e),isNaN(Le)?(Le=0,ie=isNaN(ie)?Z.h:ie):Le>180?Le-=360:Le<-180&&(Le+=360),function(xt){return Gi(ie+Le*xt,_e+at*xt,Me+je*xt)+""}}e.interpolateHsl=Rf;function Rf(V,Z){V=e.hsl(V),Z=e.hsl(Z);var ie=V.h,_e=V.s,Me=V.l,Le=Z.h-ie,at=Z.s-_e,je=Z.l-Me;return isNaN(at)&&(at=0,_e=isNaN(_e)?Z.s:_e),isNaN(Le)?(Le=0,ie=isNaN(ie)?Z.h:ie):Le>180?Le-=360:Le<-180&&(Le+=360),function(xt){return ii(ie+Le*xt,_e+at*xt,Me+je*xt)+""}}e.interpolateLab=If;function If(V,Z){V=e.lab(V),Z=e.lab(Z);var ie=V.l,_e=V.a,Me=V.b,Le=Z.l-ie,at=Z.a-_e,je=Z.b-Me;return function(xt){return Hi(ie+Le*xt,_e+at*xt,Me+je*xt)+""}}e.interpolateRound=eu;function eu(V,Z){return Z-=V,function(ie){return Math.round(V+Z*ie)}}e.transform=function(V){var Z=n.createElementNS(e.ns.prefix.svg,"g");return(e.transform=function(ie){if(ie!=null){Z.setAttribute("transform",ie);var _e=Z.transform.baseVal.consolidate()}return new lf(_e?_e.matrix:kc)})(V)};function lf(V){var Z=[V.a,V.b],ie=[V.c,V.d],_e=Ec(Z),Me=tu(Z,ie),Le=Ec(bs(ie,Z,-Me))||0;Z[0]*ie[1]180?Z+=360:Z-V>180&&(V+=360),_e.push({i:ie.push(Gu(ie)+"rotate(",null,")")-2,x:as(V,Z)})):Z&&ie.push(Gu(ie)+"rotate("+Z+")")}function $h(V,Z,ie,_e){V!==Z?_e.push({i:ie.push(Gu(ie)+"skewX(",null,")")-2,x:as(V,Z)}):Z&&ie.push(Gu(ie)+"skewX("+Z+")")}function ih(V,Z,ie,_e){if(V[0]!==Z[0]||V[1]!==Z[1]){var Me=ie.push(Gu(ie)+"scale(",null,",",null,")");_e.push({i:Me-4,x:as(V[0],Z[0])},{i:Me-2,x:as(V[1],Z[1])})}else(Z[0]!==1||Z[1]!==1)&&ie.push(Gu(ie)+"scale("+Z+")")}function ac(V,Z){var ie=[],_e=[];return V=e.transform(V),Z=e.transform(Z),po(V.translate,Z.translate,ie,_e),uf(V.rotate,Z.rotate,ie,_e),$h(V.skew,Z.skew,ie,_e),ih(V.scale,Z.scale,ie,_e),V=Z=null,function(Me){for(var Le=-1,at=_e.length,je;++Le0?Le=br:(ie.c=null,ie.t=NaN,ie=null,Z.end({type:"end",alpha:Le=0})):br>0&&(Z.start({type:"start",alpha:Le=br}),ie=ki(V.tick)),V):Le},V.start=function(){var br,Ln=Dr.length,On=Hr.length,ra=_e[0],xa=_e[1],Ba,za;for(br=0;br=0;)Le.push(It=Dt[xt]),It.parent=je,It.depth=je.depth+1;ie&&(je.value=0),je.children=Dt}else ie&&(je.value=+ie.call(_e,je,je.depth)||0),delete je.children;return Lu(Me,function(ar){var rr,Dr;V&&(rr=ar.children)&&rr.sort(V),ie&&(Dr=ar.parent)&&(Dr.value+=ar.value)}),at}return _e.sort=function(Me){return arguments.length?(V=Me,_e):V},_e.children=function(Me){return arguments.length?(Z=Me,_e):Z},_e.value=function(Me){return arguments.length?(ie=Me,_e):ie},_e.revalue=function(Me){return ie&&(ju(Me,function(Le){Le.children&&(Le.value=0)}),Lu(Me,function(Le){var at;Le.children||(Le.value=+ie.call(_e,Le,Le.depth)||0),(at=Le.parent)&&(at.value+=Le.value)})),Me},_e};function yu(V,Z){return e.rebind(V,Z,"sort","children","value"),V.nodes=V,V.links=Vl,V}function ju(V,Z){for(var ie=[V];(V=ie.pop())!=null;)if(Z(V),(Me=V.children)&&(_e=Me.length))for(var _e,Me;--_e>=0;)ie.push(Me[_e])}function Lu(V,Z){for(var ie=[V],_e=[];(V=ie.pop())!=null;)if(_e.push(V),(at=V.children)&&(Le=at.length))for(var Me=-1,Le,at;++MeMe&&(Me=je),_e.push(je)}for(at=0;at_e&&(ie=Z,_e=Me);return ie}function Of(V){return V.reduce(Lc,0)}function Lc(V,Z){return V+Z[1]}e.layout.histogram=function(){var V=!0,Z=Number,ie=ff,_e=Fc;function Me(Le,rr){for(var je=[],xt=Le.map(Z,this),Dt=ie.call(this,xt,rr),It=_e.call(this,Dt,xt,rr),ar,rr=-1,Dr=xt.length,Hr=It.length-1,hr=V?1:1/Dr,Tr;++rr0)for(rr=-1;++rr=Dt[0]&&Tr<=Dt[1]&&(ar=je[e.bisect(It,Tr,1,Hr)-1],ar.y+=hr,ar.push(Le[rr]));return je}return Me.value=function(Le){return arguments.length?(Z=Le,Me):Z},Me.range=function(Le){return arguments.length?(ie=Fr(Le),Me):ie},Me.bins=function(Le){return arguments.length?(_e=typeof Le=="number"?function(at){return nu(at,Le)}:Fr(Le),Me):_e},Me.frequency=function(Le){return arguments.length?(V=!!Le,Me):V},Me};function Fc(V,Z){return nu(V,Math.ceil(Math.log(Z.length)/Math.LN2+1))}function nu(V,Z){for(var ie=-1,_e=+V[0],Me=(V[1]-_e)/Z,Le=[];++ie<=Z;)Le[ie]=Me*ie+_e;return Le}function ff(V){return[e.min(V),e.max(V)]}e.layout.pack=function(){var V=e.layout.hierarchy().sort(sc),Z=0,ie=[1,1],_e;function Me(Le,at){var je=V.call(this,Le,at),xt=je[0],Dt=ie[0],It=ie[1],ar=_e==null?Math.sqrt:typeof _e=="function"?_e:function(){return _e};if(xt.x=xt.y=0,Lu(xt,function(Dr){Dr.r=+ar(Dr.value)}),Lu(xt,Qh),Z){var rr=Z*(_e?1:Math.max(2*xt.r/Dt,2*xt.r/It))/2;Lu(xt,function(Dr){Dr.r+=rr}),Lu(xt,Qh),Lu(xt,function(Dr){Dr.r-=rr})}return df(xt,Dt/2,It/2,_e?1:1/Math.max(2*xt.r/Dt,2*xt.r/It)),je}return Me.size=function(Le){return arguments.length?(ie=Le,Me):ie},Me.radius=function(Le){return arguments.length?(_e=Le==null||typeof Le=="function"?Le:+Le,Me):_e},Me.padding=function(Le){return arguments.length?(Z=+Le,Me):Z},yu(Me,V)};function sc(V,Z){return V.value-Z.value}function Nf(V,Z){var ie=V._pack_next;V._pack_next=Z,Z._pack_prev=V,Z._pack_next=ie,ie._pack_prev=Z}function Uf(V,Z){V._pack_next=Z,Z._pack_prev=V}function uh(V,Z){var ie=Z.x-V.x,_e=Z.y-V.y,Me=V.r+Z.r;return .999*Me*Me>ie*ie+_e*_e}function Qh(V){if(!(Z=V.children)||!(rr=Z.length))return;var Z,ie=1/0,_e=-1/0,Me=1/0,Le=-1/0,at,je,xt,Dt,It,ar,rr;function Dr(br){ie=Math.min(br.x-br.r,ie),_e=Math.max(br.x+br.r,_e),Me=Math.min(br.y-br.r,Me),Le=Math.max(br.y+br.r,Le)}if(Z.forEach(hf),at=Z[0],at.x=-at.r,at.y=0,Dr(at),rr>1&&(je=Z[1],je.x=je.r,je.y=0,Dr(je),rr>2))for(xt=Z[2],sl(at,je,xt),Dr(xt),Nf(at,xt),at._pack_prev=xt,Nf(xt,je),je=at._pack_next,Dt=3;DtTr.x&&(Tr=Ln),Ln.depth>Lr.depth&&(Lr=Ln)});var Vr=Z(hr,Tr)/2-hr.x,jr=ie[0]/(Tr.x+Z(Tr,hr)/2+Vr),br=ie[1]/(Lr.depth||1);ju(Dr,function(Ln){Ln.x=(Ln.x+Vr)*jr,Ln.y=Ln.depth*br})}return rr}function Le(It){for(var ar={A:null,children:[It]},rr=[ar],Dr;(Dr=rr.pop())!=null;)for(var Hr=Dr.children,hr,Tr=0,Lr=Hr.length;Tr0&&(vf(Je(hr,It,rr),It,Ln),Lr+=Ln,Vr+=Ln),jr+=hr.m,Lr+=Dr.m,br+=Tr.m,Vr+=Hr.m;hr&&!ed(Hr)&&(Hr.t=hr,Hr.m+=jr-Vr),Dr&&!fh(Tr)&&(Tr.t=Dr,Tr.m+=Lr-br,rr=It)}return rr}function Dt(It){It.x*=ie[0],It.y=It.depth*ie[1]}return Me.separation=function(It){return arguments.length?(Z=It,Me):Z},Me.size=function(It){return arguments.length?(_e=(ie=It)==null?Dt:null,Me):_e?null:ie},Me.nodeSize=function(It){return arguments.length?(_e=(ie=It)==null?null:Dt,Me):_e?ie:null},yu(Me,V)};function Fu(V,Z){return V.parent==Z.parent?1:2}function fh(V){var Z=V.children;return Z.length?Z[0]:V.t}function ed(V){var Z=V.children,ie;return(ie=Z.length)?Z[ie-1]:V.t}function vf(V,Z,ie){var _e=ie/(Z.i-V.i);Z.c-=_e,Z.s+=ie,V.c+=_e,Z.z+=ie,Z.m+=ie}function Wu(V){for(var Z=0,ie=0,_e=V.children,Me=_e.length,Le;--Me>=0;)Le=_e[Me],Le.z+=Z,Le.m+=Z,Z+=Le.s+(ie+=Le.c)}function Je(V,Z,ie){return V.a.parent===Z.parent?V.a:ie}e.layout.cluster=function(){var V=e.layout.hierarchy().sort(null).value(null),Z=Fu,ie=[1,1],_e=!1;function Me(Le,at){var je=V.call(this,Le,at),xt=je[0],Dt,It=0;Lu(xt,function(hr){var Tr=hr.children;Tr&&Tr.length?(hr.x=Gt(Tr),hr.y=yt(Tr)):(hr.x=Dt?It+=Z(hr,Dt):0,hr.y=0,Dt=hr)});var ar=Bt(xt),rr=mr(xt),Dr=ar.x-Z(ar,rr)/2,Hr=rr.x+Z(rr,ar)/2;return Lu(xt,_e?function(hr){hr.x=(hr.x-xt.x)*ie[0],hr.y=(xt.y-hr.y)*ie[1]}:function(hr){hr.x=(hr.x-Dr)/(Hr-Dr)*ie[0],hr.y=(1-(xt.y?hr.y/xt.y:1))*ie[1]}),je}return Me.separation=function(Le){return arguments.length?(Z=Le,Me):Z},Me.size=function(Le){return arguments.length?(_e=(ie=Le)==null,Me):_e?null:ie},Me.nodeSize=function(Le){return arguments.length?(_e=(ie=Le)!=null,Me):_e?ie:null},yu(Me,V)};function yt(V){return 1+e.max(V,function(Z){return Z.y})}function Gt(V){return V.reduce(function(Z,ie){return Z+ie.x},0)/V.length}function Bt(V){var Z=V.children;return Z&&Z.length?Bt(Z[0]):V}function mr(V){var Z=V.children,ie;return Z&&(ie=Z.length)?mr(Z[ie-1]):V}e.layout.treemap=function(){var V=e.layout.hierarchy(),Z=Math.round,ie=[1,1],_e=null,Me=Ur,Le=!1,at,je="squarify",xt=.5*(1+Math.sqrt(5));function Dt(hr,Tr){for(var Lr=-1,Vr=hr.length,jr,br;++Lr0;)Vr.push(br=jr[xa-1]),Vr.area+=br.area,je!=="squarify"||(On=rr(Vr,ra))<=Ln?(jr.pop(),Ln=On):(Vr.area-=Vr.pop().area,Dr(Vr,ra,Lr,!1),ra=Math.min(Lr.dx,Lr.dy),Vr.length=Vr.area=0,Ln=1/0);Vr.length&&(Dr(Vr,ra,Lr,!0),Vr.length=Vr.area=0),Tr.forEach(It)}}function ar(hr){var Tr=hr.children;if(Tr&&Tr.length){var Lr=Me(hr),Vr=Tr.slice(),jr,br=[];for(Dt(Vr,Lr.dx*Lr.dy/hr.value),br.area=0;jr=Vr.pop();)br.push(jr),br.area+=jr.area,jr.z!=null&&(Dr(br,jr.z?Lr.dx:Lr.dy,Lr,!Vr.length),br.length=br.area=0);Tr.forEach(ar)}}function rr(hr,Tr){for(var Lr=hr.area,Vr,jr=0,br=1/0,Ln=-1,On=hr.length;++Lnjr&&(jr=Vr));return Lr*=Lr,Tr*=Tr,Lr?Math.max(Tr*jr*xt/Lr,Lr/(Tr*br*xt)):1/0}function Dr(hr,Tr,Lr,Vr){var jr=-1,br=hr.length,Ln=Lr.x,On=Lr.y,ra=Tr?Z(hr.area/Tr):0,xa;if(Tr==Lr.dx){for((Vr||ra>Lr.dy)&&(ra=Lr.dy);++jrLr.dx)&&(ra=Lr.dx);++jr1);return V+Z*_e*Math.sqrt(-2*Math.log(Le)/Le)}},logNormal:function(){var V=e.random.normal.apply(e,arguments);return function(){return Math.exp(V())}},bates:function(V){var Z=e.random.irwinHall(V);return function(){return Z()/V}},irwinHall:function(V){return function(){for(var Z=0,ie=0;ie2?Wr:Vn,Dt=_e?cf:oh;return Me=xt(V,Z,Dt,ie),Le=xt(Z,V,Dt,rc),je}function je(xt){return Me(xt)}return je.invert=function(xt){return Le(xt)},je.domain=function(xt){return arguments.length?(V=xt.map(Number),at()):V},je.range=function(xt){return arguments.length?(Z=xt,at()):Z},je.rangeRound=function(xt){return je.range(xt).interpolate(eu)},je.clamp=function(xt){return arguments.length?(_e=xt,at()):_e},je.interpolate=function(xt){return arguments.length?(ie=xt,at()):ie},je.ticks=function(xt){return Va(V,xt)},je.tickFormat=function(xt,Dt){return d3_scale_linearTickFormat(V,xt,Dt)},je.nice=function(xt){return Pa(V,xt),at()},je.copy=function(){return ea(V,Z,ie,_e)},at()}function Ca(V,Z){return e.rebind(V,Z,"range","rangeRound","interpolate","clamp")}function Pa(V,Z){return tn(V,nn(La(V,Z)[2])),tn(V,nn(La(V,Z)[2])),V}function La(V,Z){Z==null&&(Z=10);var ie=mn(V),_e=ie[1]-ie[0],Me=Math.pow(10,Math.floor(Math.log(_e/Z)/Math.LN10)),Le=Z/_e*Me;return Le<=.15?Me*=10:Le<=.35?Me*=5:Le<=.75&&(Me*=2),ie[0]=Math.ceil(ie[0]/Me)*Me,ie[1]=Math.floor(ie[1]/Me)*Me+Me*.5,ie[2]=Me,ie}function Va(V,Z){return e.range.apply(e,La(V,Z))}var na={s:1,g:1,p:1,r:1,e:1};function zn(V){return-Math.floor(Math.log(V)/Math.LN10+.01)}function Ja(V,Z){var ie=zn(Z[2]);return V in na?Math.abs(ie-zn(Math.max(g(Z[0]),g(Z[1]))))+ +(V!=="e"):ie-(V==="%")*2}e.scale.log=function(){return pi(e.scale.linear().domain([0,1]),10,!0,[1,10])};function pi(V,Z,ie,_e){function Me(je){return(ie?Math.log(je<0?0:je):-Math.log(je>0?0:-je))/Math.log(Z)}function Le(je){return ie?Math.pow(Z,je):-Math.pow(Z,-je)}function at(je){return V(Me(je))}return at.invert=function(je){return Le(V.invert(je))},at.domain=function(je){return arguments.length?(ie=je[0]>=0,V.domain((_e=je.map(Number)).map(Me)),at):_e},at.base=function(je){return arguments.length?(Z=+je,V.domain(_e.map(Me)),at):Z},at.nice=function(){var je=tn(_e.map(Me),ie?Math:ji);return V.domain(je),_e=je.map(Le),at},at.ticks=function(){var je=mn(_e),xt=[],Dt=je[0],It=je[1],ar=Math.floor(Me(Dt)),rr=Math.ceil(Me(It)),Dr=Z%1?2:Z;if(isFinite(rr-ar)){if(ie){for(;ar0;Hr--)xt.push(Le(ar)*Hr);for(ar=0;xt[ar]It;rr--);xt=xt.slice(ar,rr)}return xt},at.copy=function(){return pi(V.copy(),Z,ie,_e)},Ca(at,V)}var ji={floor:function(V){return-Math.ceil(-V)},ceil:function(V){return-Math.floor(-V)}};e.scale.pow=function(){return Ao(e.scale.linear(),1,[0,1])};function Ao(V,Z,ie){var _e=Qi(Z),Me=Qi(1/Z);function Le(at){return V(_e(at))}return Le.invert=function(at){return Me(V.invert(at))},Le.domain=function(at){return arguments.length?(V.domain((ie=at.map(Number)).map(_e)),Le):ie},Le.ticks=function(at){return Va(ie,at)},Le.tickFormat=function(at,je){return d3_scale_linearTickFormat(ie,at,je)},Le.nice=function(at){return Le.domain(Pa(ie,at))},Le.exponent=function(at){return arguments.length?(_e=Qi(Z=at),Me=Qi(1/Z),V.domain(ie.map(_e)),Le):Z},Le.copy=function(){return Ao(V.copy(),Z,ie)},Ca(Le,V)}function Qi(V){return function(Z){return Z<0?-Math.pow(-Z,V):Math.pow(Z,V)}}e.scale.sqrt=function(){return e.scale.pow().exponent(.5)},e.scale.ordinal=function(){return zo([],{t:"range",a:[[]]})};function zo(V,Z){var ie,_e,Me;function Le(je){return _e[((ie.get(je)||(Z.t==="range"?ie.set(je,V.push(je)):NaN))-1)%_e.length]}function at(je,xt){return e.range(V.length).map(function(Dt){return je+xt*Dt})}return Le.domain=function(je){if(!arguments.length)return V;V=[],ie=new w;for(var xt=-1,Dt=je.length,It;++xt0?ie[Le-1]:V[0],Lerr?0:1;if(It=Ke)return xt(It,Hr)+(Dt?xt(Dt,1-Hr):"")+"Z";var hr,Tr,Lr,Vr,jr=0,br=0,Ln,On,ra,xa,Ba,za,bi,Da,si=[];if((Vr=(+at.apply(this,arguments)||0)/2)&&(Lr=_e===xu?Math.sqrt(Dt*Dt+It*It):+_e.apply(this,arguments),Hr||(br*=-1),It&&(br=Br(Lr/It*Math.sin(Vr))),Dt&&(jr=Br(Lr/Dt*Math.sin(Vr)))),It){Ln=It*Math.cos(ar+br),On=It*Math.sin(ar+br),ra=It*Math.cos(rr-br),xa=It*Math.sin(rr-br);var Fo=Math.abs(rr-ar-2*br)<=Re?0:1;if(br&&Pc(Ln,On,ra,xa)===Hr^Fo){var Ps=(ar+rr)/2;Ln=It*Math.cos(Ps),On=It*Math.sin(Ps),ra=xa=null}}else Ln=On=0;if(Dt){Ba=Dt*Math.cos(rr-jr),za=Dt*Math.sin(rr-jr),bi=Dt*Math.cos(ar+jr),Da=Dt*Math.sin(ar+jr);var Yo=Math.abs(ar-rr+2*jr)<=Re?0:1;if(jr&&Pc(Ba,za,bi,Da)===1-Hr^Yo){var ma=(ar+rr)/2;Ba=Dt*Math.cos(ma),za=Dt*Math.sin(ma),bi=Da=null}}else Ba=za=0;if(Dr>Fe&&(hr=Math.min(Math.abs(It-Dt)/2,+ie.apply(this,arguments)))>.001){Tr=Dt0?0:1}function Wa(V,Z,ie,_e,Me){var Le=V[0]-Z[0],at=V[1]-Z[1],je=(Me?_e:-_e)/Math.sqrt(Le*Le+at*at),xt=je*at,Dt=-je*Le,It=V[0]+xt,ar=V[1]+Dt,rr=Z[0]+xt,Dr=Z[1]+Dt,Hr=(It+rr)/2,hr=(ar+Dr)/2,Tr=rr-It,Lr=Dr-ar,Vr=Tr*Tr+Lr*Lr,jr=ie-_e,br=It*Dr-rr*ar,Ln=(Lr<0?-1:1)*Math.sqrt(Math.max(0,jr*jr*Vr-br*br)),On=(br*Lr-Tr*Ln)/Vr,ra=(-br*Tr-Lr*Ln)/Vr,xa=(br*Lr+Tr*Ln)/Vr,Ba=(-br*Tr+Lr*Ln)/Vr,za=On-Hr,bi=ra-hr,Da=xa-Hr,si=Ba-hr;return za*za+bi*bi>Da*Da+si*si&&(On=xa,ra=Ba),[[On-xt,ra-Dt],[On*ie/jr,ra*ie/jr]]}function oi(){return!0}function Ph(V){var Z=ko,ie=Io,_e=oi,Me=iu,Le=Me.key,at=.7;function je(xt){var Dt=[],It=[],ar=-1,rr=xt.length,Dr,Hr=Fr(Z),hr=Fr(ie);function Tr(){Dt.push("M",Me(V(It),at))}for(;++ar1?V.join("L"):V+"Z"}function K(V){return V.join("L")+"Z"}function b(V){for(var Z=0,ie=V.length,_e=V[0],Me=[_e[0],",",_e[1]];++Z1&&Me.push("H",_e[0]),Me.join("")}function I(V){for(var Z=0,ie=V.length,_e=V[0],Me=[_e[0],",",_e[1]];++Z1){je=Z[1],Le=V[xt],xt++,_e+="C"+(Me[0]+at[0])+","+(Me[1]+at[1])+","+(Le[0]-je[0])+","+(Le[1]-je[1])+","+Le[0]+","+Le[1];for(var Dt=2;Dt9&&(Le=ie*3/Math.sqrt(Le),at[je]=Le*_e,at[je+1]=Le*Me));for(je=-1;++je<=xt;)Le=(V[Math.min(xt,je+1)][0]-V[Math.max(0,je-1)][0])/(6*(1+at[je]*at[je])),Z.push([Le||0,at[je]*Le||0]);return Z}function ut(V){return V.length<3?iu(V):V[0]+ke(V,Be(V))}e.svg.line.radial=function(){var V=Ph(gt);return V.radius=V.x,delete V.x,V.angle=V.y,delete V.y,V};function gt(V){for(var Z,ie=-1,_e=V.length,Me,Le;++ie<_e;)Z=V[ie],Me=Z[0],Le=Z[1]-_t,Z[0]=Me*Math.cos(Le),Z[1]=Me*Math.sin(Le);return V}function Mt(V){var Z=ko,ie=ko,_e=0,Me=Io,Le=oi,at=iu,je=at.key,xt=at,Dt="L",It=.7;function ar(rr){var Dr=[],Hr=[],hr=[],Tr=-1,Lr=rr.length,Vr,jr=Fr(Z),br=Fr(_e),Ln=Z===ie?function(){return ra}:Fr(ie),On=_e===Me?function(){return xa}:Fr(Me),ra,xa;function Ba(){Dr.push("M",at(V(hr),It),Dt,xt(V(Hr.reverse()),It),"Z")}for(;++TrRe)+",1 "+ar}function Dt(It,ar,rr,Dr){return"Q 0,0 "+Dr}return Le.radius=function(It){return arguments.length?(ie=Fr(It),Le):ie},Le.source=function(It){return arguments.length?(V=Fr(It),Le):V},Le.target=function(It){return arguments.length?(Z=Fr(It),Le):Z},Le.startAngle=function(It){return arguments.length?(_e=Fr(It),Le):_e},Le.endAngle=function(It){return arguments.length?(Me=Fr(It),Le):Me},Le};function er(V){return V.radius}e.svg.diagonal=function(){var V=Ft,Z=Ot,ie=sr;function _e(Me,Le){var at=V.call(this,Me,Le),je=Z.call(this,Me,Le),xt=(at.y+je.y)/2,Dt=[at,{x:at.x,y:xt},{x:je.x,y:xt},je];return Dt=Dt.map(ie),"M"+Dt[0]+"C"+Dt[1]+" "+Dt[2]+" "+Dt[3]}return _e.source=function(Me){return arguments.length?(V=Fr(Me),_e):V},_e.target=function(Me){return arguments.length?(Z=Fr(Me),_e):Z},_e.projection=function(Me){return arguments.length?(ie=Me,_e):ie},_e};function sr(V){return[V.x,V.y]}e.svg.diagonal.radial=function(){var V=e.svg.diagonal(),Z=sr,ie=V.projection;return V.projection=function(_e){return arguments.length?ie(wr(Z=_e)):Z},V};function wr(V){return function(){var Z=V.apply(this,arguments),ie=Z[0],_e=Z[1]-_t;return[ie*Math.cos(_e),ie*Math.sin(_e)]}}e.svg.symbol=function(){var V=pn,Z=Gr;function ie(_e,Me){return(kn.get(V.call(this,_e,Me))||cn)(Z.call(this,_e,Me))}return ie.type=function(_e){return arguments.length?(V=Fr(_e),ie):V},ie.size=function(_e){return arguments.length?(Z=Fr(_e),ie):Z},ie};function Gr(){return 64}function pn(){return"circle"}function cn(V){var Z=Math.sqrt(V/Re);return"M0,"+Z+"A"+Z+","+Z+" 0 1,1 0,"+-Z+"A"+Z+","+Z+" 0 1,1 0,"+Z+"Z"}var kn=e.map({circle:cn,cross:function(V){var Z=Math.sqrt(V/5)/2;return"M"+-3*Z+","+-Z+"H"+-Z+"V"+-3*Z+"H"+Z+"V"+-Z+"H"+3*Z+"V"+Z+"H"+Z+"V"+3*Z+"H"+-Z+"V"+Z+"H"+-3*Z+"Z"},diamond:function(V){var Z=Math.sqrt(V/(2*ka)),ie=Z*ka;return"M0,"+-Z+"L"+ie+",0 0,"+Z+" "+-ie+",0Z"},square:function(V){var Z=Math.sqrt(V)/2;return"M"+-Z+","+-Z+"L"+Z+","+-Z+" "+Z+","+Z+" "+-Z+","+Z+"Z"},"triangle-down":function(V){var Z=Math.sqrt(V/ta),ie=Z*ta/2;return"M0,"+ie+"L"+Z+","+-ie+" "+-Z+","+-ie+"Z"},"triangle-up":function(V){var Z=Math.sqrt(V/ta),ie=Z*ta/2;return"M0,"+-ie+"L"+Z+","+ie+" "+-Z+","+ie+"Z"}});e.svg.symbolTypes=kn.keys();var ta=Math.sqrt(3),ka=Math.tan(30*St);he.transition=function(V){for(var Z=Xi||++xo,ie=qo(V),_e=[],Me,Le,at=Wo||{time:Date.now(),ease:_l,delay:0,duration:250},je=-1,xt=this.length;++je0;)ar[--Vr].call(V,Lr);if(Tr>=1)return at.event&&at.event.end.call(V,V.__data__,Z),--Le.count?delete Le[_e]:delete V[ie],1}at||(je=Me.time,xt=ki(rr,0,je),at=Le[_e]={tween:new w,time:je,timer:xt,delay:Me.delay,duration:Me.duration,ease:Me.ease,index:Z},Me=null,++Le.count)}e.svg.axis=function(){var V=e.scale.linear(),Z=Tl,ie=6,_e=6,Me=3,Le=[10],at=null,je;function xt(Dt){Dt.each(function(){var It=e.select(this),ar=this.__chart__||V,rr=this.__chart__=V.copy(),Dr=at==null?rr.ticks?rr.ticks.apply(rr,Le):rr.domain():at,Hr=je==null?rr.tickFormat?rr.tickFormat.apply(rr,Le):q:je,hr=It.selectAll(".tick").data(Dr,rr),Tr=hr.enter().insert("g",".domain").attr("class","tick").style("opacity",Fe),Lr=e.transition(hr.exit()).style("opacity",Fe).remove(),Vr=e.transition(hr.order()).style("opacity",1),jr=Math.max(ie,0)+Me,br,Ln=An(rr),On=It.selectAll(".domain").data([0]),ra=(On.enter().append("path").attr("class","domain"),e.transition(On));Tr.append("line"),Tr.append("text");var xa=Tr.select("line"),Ba=Vr.select("line"),za=hr.select("text").text(Hr),bi=Tr.select("text"),Da=Vr.select("text"),si=Z==="top"||Z==="left"?-1:1,Fo,Ps,Yo,ma;if(Z==="bottom"||Z==="top"?(br=Gl,Fo="x",Yo="y",Ps="x2",ma="y2",za.attr("dy",si<0?"0em":".71em").style("text-anchor","middle"),ra.attr("d","M"+Ln[0]+","+si*_e+"V0H"+Ln[1]+"V"+si*_e)):(br=zs,Fo="y",Yo="x",Ps="y2",ma="x2",za.attr("dy",".32em").style("text-anchor",si<0?"end":"start"),ra.attr("d","M"+si*_e+","+Ln[0]+"H0V"+Ln[1]+"H"+si*_e)),xa.attr(ma,si*ie),bi.attr(Yo,si*jr),Ba.attr(Ps,0).attr(ma,si*ie),Da.attr(Fo,0).attr(Yo,si*jr),rr.rangeBand){var $a=rr,Ri=$a.rangeBand()/2;ar=rr=function(To){return $a(To)+Ri}}else ar.rangeBand?ar=rr:Lr.call(br,rr,ar);Tr.call(br,ar,rr),Vr.call(br,rr,rr)})}return xt.scale=function(Dt){return arguments.length?(V=Dt,xt):V},xt.orient=function(Dt){return arguments.length?(Z=Dt in bu?Dt+"":Tl,xt):Z},xt.ticks=function(){return arguments.length?(Le=r(arguments),xt):Le},xt.tickValues=function(Dt){return arguments.length?(at=Dt,xt):at},xt.tickFormat=function(Dt){return arguments.length?(je=Dt,xt):je},xt.tickSize=function(Dt){var It=arguments.length;return It?(ie=+Dt,_e=+arguments[It-1],xt):ie},xt.innerTickSize=function(Dt){return arguments.length?(ie=+Dt,xt):ie},xt.outerTickSize=function(Dt){return arguments.length?(_e=+Dt,xt):_e},xt.tickPadding=function(Dt){return arguments.length?(Me=+Dt,xt):Me},xt.tickSubdivide=function(){return arguments.length&&xt},xt};var Tl="bottom",bu={top:1,right:1,bottom:1,left:1};function Gl(V,Z,ie){V.attr("transform",function(_e){var Me=Z(_e);return"translate("+(isFinite(Me)?Me:ie(_e))+",0)"})}function zs(V,Z,ie){V.attr("transform",function(_e){var Me=Z(_e);return"translate(0,"+(isFinite(Me)?Me:ie(_e))+")"})}e.svg.brush=function(){var V=ue(It,"brushstart","brush","brushend"),Z=null,ie=null,_e=[0,0],Me=[0,0],Le,at,je=!0,xt=!0,Dt=_u[0];function It(hr){hr.each(function(){var Tr=e.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",Hr).on("touchstart.brush",Hr),Lr=Tr.selectAll(".background").data([0]);Lr.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),Tr.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var Vr=Tr.selectAll(".resize").data(Dt,q);Vr.exit().remove(),Vr.enter().append("g").attr("class",function(On){return"resize "+On}).style("cursor",function(On){return Du[On]}).append("rect").attr("x",function(On){return/[ew]$/.test(On)?-3:null}).attr("y",function(On){return/^[ns]/.test(On)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),Vr.style("display",It.empty()?"none":null);var jr=e.transition(Tr),br=e.transition(Lr),Ln;Z&&(Ln=An(Z),br.attr("x",Ln[0]).attr("width",Ln[1]-Ln[0]),rr(jr)),ie&&(Ln=An(ie),br.attr("y",Ln[0]).attr("height",Ln[1]-Ln[0]),Dr(jr)),ar(jr)})}It.event=function(hr){hr.each(function(){var Tr=V.of(this,arguments),Lr={x:_e,y:Me,i:Le,j:at},Vr=this.__chart__||Lr;this.__chart__=Lr,Xi?e.select(this).transition().each("start.brush",function(){Le=Vr.i,at=Vr.j,_e=Vr.x,Me=Vr.y,Tr({type:"brushstart"})}).tween("brush:brush",function(){var jr=sf(_e,Lr.x),br=sf(Me,Lr.y);return Le=at=null,function(Ln){_e=Lr.x=jr(Ln),Me=Lr.y=br(Ln),Tr({type:"brush",mode:"resize"})}}).each("end.brush",function(){Le=Lr.i,at=Lr.j,Tr({type:"brush",mode:"resize"}),Tr({type:"brushend"})}):(Tr({type:"brushstart"}),Tr({type:"brush",mode:"resize"}),Tr({type:"brushend"}))})};function ar(hr){hr.selectAll(".resize").attr("transform",function(Tr){return"translate("+_e[+/e$/.test(Tr)]+","+Me[+/^s/.test(Tr)]+")"})}function rr(hr){hr.select(".extent").attr("x",_e[0]),hr.selectAll(".extent,.n>rect,.s>rect").attr("width",_e[1]-_e[0])}function Dr(hr){hr.select(".extent").attr("y",Me[0]),hr.selectAll(".extent,.e>rect,.w>rect").attr("height",Me[1]-Me[0])}function Hr(){var hr=this,Tr=e.select(e.event.target),Lr=V.of(hr,arguments),Vr=e.select(hr),jr=Tr.datum(),br=!/^(n|s)$/.test(jr)&&Z,Ln=!/^(e|w)$/.test(jr)&&ie,On=Tr.classed("extent"),ra=tr(hr),xa,Ba=e.mouse(hr),za,bi=e.select(i(hr)).on("keydown.brush",Fo).on("keyup.brush",Ps);if(e.event.changedTouches?bi.on("touchmove.brush",Yo).on("touchend.brush",$a):bi.on("mousemove.brush",Yo).on("mouseup.brush",$a),Vr.interrupt().selectAll("*").interrupt(),On)Ba[0]=_e[0]-Ba[0],Ba[1]=Me[0]-Ba[1];else if(jr){var Da=+/w$/.test(jr),si=+/^n/.test(jr);za=[_e[1-Da]-Ba[0],Me[1-si]-Ba[1]],Ba[0]=_e[Da],Ba[1]=Me[si]}else e.event.altKey&&(xa=Ba.slice());Vr.style("pointer-events","none").selectAll(".resize").style("display",null),e.select("body").style("cursor",Tr.style("cursor")),Lr({type:"brushstart"}),Yo();function Fo(){e.event.keyCode==32&&(On||(xa=null,Ba[0]-=_e[1],Ba[1]-=Me[1],On=2),te())}function Ps(){e.event.keyCode==32&&On==2&&(Ba[0]+=_e[1],Ba[1]+=Me[1],On=0,te())}function Yo(){var Ri=e.mouse(hr),To=!1;za&&(Ri[0]+=za[0],Ri[1]+=za[1]),On||(e.event.altKey?(xa||(xa=[(_e[0]+_e[1])/2,(Me[0]+Me[1])/2]),Ba[0]=_e[+(Ri[0]{(function(e,t){typeof wM=="object"&&typeof R$!="undefined"?t(wM):(e=e||self,t(e.d3=e.d3||{}))})(wM,function(e){"use strict";var t=new Date,r=new Date;function n(ge,Ge,tt,ft){function He(Qe){return ge(Qe=arguments.length===0?new Date:new Date(+Qe)),Qe}return He.floor=function(Qe){return ge(Qe=new Date(+Qe)),Qe},He.ceil=function(Qe){return ge(Qe=new Date(Qe-1)),Ge(Qe,1),ge(Qe),Qe},He.round=function(Qe){var We=He(Qe),pt=He.ceil(Qe);return Qe-We0))return kt;do kt.push(qt=new Date(+Qe)),Ge(Qe,pt),ge(Qe);while(qt=We)for(;ge(We),!Qe(We);)We.setTime(We-1)},function(We,pt){if(We>=We)if(pt<0)for(;++pt<=0;)for(;Ge(We,-1),!Qe(We););else for(;--pt>=0;)for(;Ge(We,1),!Qe(We););})},tt&&(He.count=function(Qe,We){return t.setTime(+Qe),r.setTime(+We),ge(t),ge(r),Math.floor(tt(t,r))},He.every=function(Qe){return Qe=Math.floor(Qe),!isFinite(Qe)||!(Qe>0)?null:Qe>1?He.filter(ft?function(We){return ft(We)%Qe===0}:function(We){return He.count(0,We)%Qe===0}):He}),He}var a=n(function(){},function(ge,Ge){ge.setTime(+ge+Ge)},function(ge,Ge){return Ge-ge});a.every=function(ge){return ge=Math.floor(ge),!isFinite(ge)||!(ge>0)?null:ge>1?n(function(Ge){Ge.setTime(Math.floor(Ge/ge)*ge)},function(Ge,tt){Ge.setTime(+Ge+tt*ge)},function(Ge,tt){return(tt-Ge)/ge}):a};var i=a.range,o=1e3,s=6e4,l=36e5,u=864e5,c=6048e5,f=n(function(ge){ge.setTime(ge-ge.getMilliseconds())},function(ge,Ge){ge.setTime(+ge+Ge*o)},function(ge,Ge){return(Ge-ge)/o},function(ge){return ge.getUTCSeconds()}),h=f.range,v=n(function(ge){ge.setTime(ge-ge.getMilliseconds()-ge.getSeconds()*o)},function(ge,Ge){ge.setTime(+ge+Ge*s)},function(ge,Ge){return(Ge-ge)/s},function(ge){return ge.getMinutes()}),d=v.range,m=n(function(ge){ge.setTime(ge-ge.getMilliseconds()-ge.getSeconds()*o-ge.getMinutes()*s)},function(ge,Ge){ge.setTime(+ge+Ge*l)},function(ge,Ge){return(Ge-ge)/l},function(ge){return ge.getHours()}),x=m.range,g=n(function(ge){ge.setHours(0,0,0,0)},function(ge,Ge){ge.setDate(ge.getDate()+Ge)},function(ge,Ge){return(Ge-ge-(Ge.getTimezoneOffset()-ge.getTimezoneOffset())*s)/u},function(ge){return ge.getDate()-1}),E=g.range;function M(ge){return n(function(Ge){Ge.setDate(Ge.getDate()-(Ge.getDay()+7-ge)%7),Ge.setHours(0,0,0,0)},function(Ge,tt){Ge.setDate(Ge.getDate()+tt*7)},function(Ge,tt){return(tt-Ge-(tt.getTimezoneOffset()-Ge.getTimezoneOffset())*s)/c})}var w=M(0),k=M(1),y=M(2),S=M(3),T=M(4),p=M(5),C=M(6),A=w.range,P=k.range,D=y.range,z=S.range,q=T.range,U=p.range,O=C.range,R=n(function(ge){ge.setDate(1),ge.setHours(0,0,0,0)},function(ge,Ge){ge.setMonth(ge.getMonth()+Ge)},function(ge,Ge){return Ge.getMonth()-ge.getMonth()+(Ge.getFullYear()-ge.getFullYear())*12},function(ge){return ge.getMonth()}),B=R.range,Y=n(function(ge){ge.setMonth(0,1),ge.setHours(0,0,0,0)},function(ge,Ge){ge.setFullYear(ge.getFullYear()+Ge)},function(ge,Ge){return Ge.getFullYear()-ge.getFullYear()},function(ge){return ge.getFullYear()});Y.every=function(ge){return!isFinite(ge=Math.floor(ge))||!(ge>0)?null:n(function(Ge){Ge.setFullYear(Math.floor(Ge.getFullYear()/ge)*ge),Ge.setMonth(0,1),Ge.setHours(0,0,0,0)},function(Ge,tt){Ge.setFullYear(Ge.getFullYear()+tt*ge)})};var X=Y.range,te=n(function(ge){ge.setUTCSeconds(0,0)},function(ge,Ge){ge.setTime(+ge+Ge*s)},function(ge,Ge){return(Ge-ge)/s},function(ge){return ge.getUTCMinutes()}),se=te.range,ue=n(function(ge){ge.setUTCMinutes(0,0,0)},function(ge,Ge){ge.setTime(+ge+Ge*l)},function(ge,Ge){return(Ge-ge)/l},function(ge){return ge.getUTCHours()}),re=ue.range,j=n(function(ge){ge.setUTCHours(0,0,0,0)},function(ge,Ge){ge.setUTCDate(ge.getUTCDate()+Ge)},function(ge,Ge){return(Ge-ge)/u},function(ge){return ge.getUTCDate()-1}),fe=j.range;function ce(ge){return n(function(Ge){Ge.setUTCDate(Ge.getUTCDate()-(Ge.getUTCDay()+7-ge)%7),Ge.setUTCHours(0,0,0,0)},function(Ge,tt){Ge.setUTCDate(Ge.getUTCDate()+tt*7)},function(Ge,tt){return(tt-Ge)/c})}var oe=ce(0),we=ce(1),he=ce(2),ye=ce(3),Pe=ce(4),le=ce(5),ze=ce(6),Xe=oe.range,vt=we.range,st=he.range,Oe=ye.range,qe=Pe.range,mt=le.range,lt=ze.range,Ie=n(function(ge){ge.setUTCDate(1),ge.setUTCHours(0,0,0,0)},function(ge,Ge){ge.setUTCMonth(ge.getUTCMonth()+Ge)},function(ge,Ge){return Ge.getUTCMonth()-ge.getUTCMonth()+(Ge.getUTCFullYear()-ge.getUTCFullYear())*12},function(ge){return ge.getUTCMonth()}),de=Ie.range,Ee=n(function(ge){ge.setUTCMonth(0,1),ge.setUTCHours(0,0,0,0)},function(ge,Ge){ge.setUTCFullYear(ge.getUTCFullYear()+Ge)},function(ge,Ge){return Ge.getUTCFullYear()-ge.getUTCFullYear()},function(ge){return ge.getUTCFullYear()});Ee.every=function(ge){return!isFinite(ge=Math.floor(ge))||!(ge>0)?null:n(function(Ge){Ge.setUTCFullYear(Math.floor(Ge.getUTCFullYear()/ge)*ge),Ge.setUTCMonth(0,1),Ge.setUTCHours(0,0,0,0)},function(Ge,tt){Ge.setUTCFullYear(Ge.getUTCFullYear()+tt*ge)})};var Ue=Ee.range;e.timeDay=g,e.timeDays=E,e.timeFriday=p,e.timeFridays=U,e.timeHour=m,e.timeHours=x,e.timeInterval=n,e.timeMillisecond=a,e.timeMilliseconds=i,e.timeMinute=v,e.timeMinutes=d,e.timeMonday=k,e.timeMondays=P,e.timeMonth=R,e.timeMonths=B,e.timeSaturday=C,e.timeSaturdays=O,e.timeSecond=f,e.timeSeconds=h,e.timeSunday=w,e.timeSundays=A,e.timeThursday=T,e.timeThursdays=q,e.timeTuesday=y,e.timeTuesdays=D,e.timeWednesday=S,e.timeWednesdays=z,e.timeWeek=w,e.timeWeeks=A,e.timeYear=Y,e.timeYears=X,e.utcDay=j,e.utcDays=fe,e.utcFriday=le,e.utcFridays=mt,e.utcHour=ue,e.utcHours=re,e.utcMillisecond=a,e.utcMilliseconds=i,e.utcMinute=te,e.utcMinutes=se,e.utcMonday=we,e.utcMondays=vt,e.utcMonth=Ie,e.utcMonths=de,e.utcSaturday=ze,e.utcSaturdays=lt,e.utcSecond=f,e.utcSeconds=h,e.utcSunday=oe,e.utcSundays=Xe,e.utcThursday=Pe,e.utcThursdays=qe,e.utcTuesday=he,e.utcTuesdays=st,e.utcWednesday=ye,e.utcWednesdays=Oe,e.utcWeek=oe,e.utcWeeks=Xe,e.utcYear=Ee,e.utcYears=Ue,Object.defineProperty(e,"__esModule",{value:!0})})});var ub=ne((TM,I$)=>{(function(e,t){typeof TM=="object"&&typeof I$!="undefined"?t(TM,hD()):(e=e||self,t(e.d3=e.d3||{},e.d3))})(TM,function(e,t){"use strict";function r(Te){if(0<=Te.y&&Te.y<100){var Fe=new Date(-1,Te.m,Te.d,Te.H,Te.M,Te.S,Te.L);return Fe.setFullYear(Te.y),Fe}return new Date(Te.y,Te.m,Te.d,Te.H,Te.M,Te.S,Te.L)}function n(Te){if(0<=Te.y&&Te.y<100){var Fe=new Date(Date.UTC(-1,Te.m,Te.d,Te.H,Te.M,Te.S,Te.L));return Fe.setUTCFullYear(Te.y),Fe}return new Date(Date.UTC(Te.y,Te.m,Te.d,Te.H,Te.M,Te.S,Te.L))}function a(Te,Fe,Ae){return{y:Te,m:Fe,d:Ae,H:0,M:0,S:0,L:0}}function i(Te){var Fe=Te.dateTime,Ae=Te.date,Re=Te.time,Ze=Te.periods,Ke=Te.days,_t=Te.shortDays,St=Te.months,Vt=Te.shortMonths,fr=h(Ze),$t=v(Ze),gr=h(Ke),Br=v(Ke),Nr=h(_t),Er=v(_t),zr=h(St),vn=v(St),Nn=h(Vt),Xn=v(Vt),Kn={a:Oi,A:ni,b:ao,B:Hi,c:null,d:R,e:R,f:se,H:B,I:Y,j:X,L:te,m:ue,M:re,p:to,q:Xo,Q:We,s:pt,S:j,u:fe,U:ce,V:oe,w:we,W:he,x:null,X:null,y:ye,Y:Pe,Z:le,"%":Qe},Qn={a:Zo,A:Fi,b:yo,B:oo,c:null,d:ze,e:ze,f:qe,H:Xe,I:vt,j:st,L:Oe,m:mt,M:lt,p:rl,q:Ni,Q:We,s:pt,S:Ie,u:de,U:Ee,V:Ue,w:ge,W:Ge,x:null,X:null,y:tt,Y:ft,Z:He,"%":Qe},un={a:ii,A:pa,b:no,B:Gi,c:Ti,d:T,e:T,f:z,H:C,I:C,j:p,L:D,m:S,M:A,p:qa,q:y,Q:U,s:O,S:P,u:m,U:x,V:g,w:d,W:E,x:fi,X:_o,y:w,Y:M,Z:k,"%":q};Kn.x=aa(Ae,Kn),Kn.X=aa(Re,Kn),Kn.c=aa(Fe,Kn),Qn.x=aa(Ae,Qn),Qn.X=aa(Re,Qn),Qn.c=aa(Fe,Qn);function aa(Oa,xi){return function(Pi){var ia=[],rt=-1,Xt=0,xr=Oa.length,Fr,xn,Mn;for(Pi instanceof Date||(Pi=new Date(+Pi));++rt53)return null;"w"in ia||(ia.w=1),"Z"in ia?(Xt=n(a(ia.y,0,1)),xr=Xt.getUTCDay(),Xt=xr>4||xr===0?t.utcMonday.ceil(Xt):t.utcMonday(Xt),Xt=t.utcDay.offset(Xt,(ia.V-1)*7),ia.y=Xt.getUTCFullYear(),ia.m=Xt.getUTCMonth(),ia.d=Xt.getUTCDate()+(ia.w+6)%7):(Xt=r(a(ia.y,0,1)),xr=Xt.getDay(),Xt=xr>4||xr===0?t.timeMonday.ceil(Xt):t.timeMonday(Xt),Xt=t.timeDay.offset(Xt,(ia.V-1)*7),ia.y=Xt.getFullYear(),ia.m=Xt.getMonth(),ia.d=Xt.getDate()+(ia.w+6)%7)}else("W"in ia||"U"in ia)&&("w"in ia||(ia.w="u"in ia?ia.u%7:"W"in ia?1:0),xr="Z"in ia?n(a(ia.y,0,1)).getUTCDay():r(a(ia.y,0,1)).getDay(),ia.m=0,ia.d="W"in ia?(ia.w+6)%7+ia.W*7-(xr+5)%7:ia.w+ia.U*7-(xr+6)%7);return"Z"in ia?(ia.H+=ia.Z/100|0,ia.M+=ia.Z%100,n(ia)):r(ia)}}function ua(Oa,xi,Pi,ia){for(var rt=0,Xt=xi.length,xr=Pi.length,Fr,xn;rt=xr)return-1;if(Fr=xi.charCodeAt(rt++),Fr===37){if(Fr=xi.charAt(rt++),xn=un[Fr in o?xi.charAt(rt++):Fr],!xn||(ia=xn(Oa,Pi,ia))<0)return-1}else if(Fr!=Pi.charCodeAt(ia++))return-1}return ia}function qa(Oa,xi,Pi){var ia=fr.exec(xi.slice(Pi));return ia?(Oa.p=$t[ia[0].toLowerCase()],Pi+ia[0].length):-1}function ii(Oa,xi,Pi){var ia=Nr.exec(xi.slice(Pi));return ia?(Oa.w=Er[ia[0].toLowerCase()],Pi+ia[0].length):-1}function pa(Oa,xi,Pi){var ia=gr.exec(xi.slice(Pi));return ia?(Oa.w=Br[ia[0].toLowerCase()],Pi+ia[0].length):-1}function no(Oa,xi,Pi){var ia=Nn.exec(xi.slice(Pi));return ia?(Oa.m=Xn[ia[0].toLowerCase()],Pi+ia[0].length):-1}function Gi(Oa,xi,Pi){var ia=zr.exec(xi.slice(Pi));return ia?(Oa.m=vn[ia[0].toLowerCase()],Pi+ia[0].length):-1}function Ti(Oa,xi,Pi){return ua(Oa,Fe,xi,Pi)}function fi(Oa,xi,Pi){return ua(Oa,Ae,xi,Pi)}function _o(Oa,xi,Pi){return ua(Oa,Re,xi,Pi)}function Oi(Oa){return _t[Oa.getDay()]}function ni(Oa){return Ke[Oa.getDay()]}function ao(Oa){return Vt[Oa.getMonth()]}function Hi(Oa){return St[Oa.getMonth()]}function to(Oa){return Ze[+(Oa.getHours()>=12)]}function Xo(Oa){return 1+~~(Oa.getMonth()/3)}function Zo(Oa){return _t[Oa.getUTCDay()]}function Fi(Oa){return Ke[Oa.getUTCDay()]}function yo(Oa){return Vt[Oa.getUTCMonth()]}function oo(Oa){return St[Oa.getUTCMonth()]}function rl(Oa){return Ze[+(Oa.getUTCHours()>=12)]}function Ni(Oa){return 1+~~(Oa.getUTCMonth()/3)}return{format:function(Oa){var xi=aa(Oa+="",Kn);return xi.toString=function(){return Oa},xi},parse:function(Oa){var xi=da(Oa+="",!1);return xi.toString=function(){return Oa},xi},utcFormat:function(Oa){var xi=aa(Oa+="",Qn);return xi.toString=function(){return Oa},xi},utcParse:function(Oa){var xi=da(Oa+="",!0);return xi.toString=function(){return Oa},xi}}}var o={"-":"",_:" ",0:"0"},s=/^\s*\d+/,l=/^%/,u=/[\\^$*+?|[\]().{}]/g;function c(Te,Fe,Ae){var Re=Te<0?"-":"",Ze=(Re?-Te:Te)+"",Ke=Ze.length;return Re+(Ke68?1900:2e3),Ae+Re[0].length):-1}function k(Te,Fe,Ae){var Re=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(Fe.slice(Ae,Ae+6));return Re?(Te.Z=Re[1]?0:-(Re[2]+(Re[3]||"00")),Ae+Re[0].length):-1}function y(Te,Fe,Ae){var Re=s.exec(Fe.slice(Ae,Ae+1));return Re?(Te.q=Re[0]*3-3,Ae+Re[0].length):-1}function S(Te,Fe,Ae){var Re=s.exec(Fe.slice(Ae,Ae+2));return Re?(Te.m=Re[0]-1,Ae+Re[0].length):-1}function T(Te,Fe,Ae){var Re=s.exec(Fe.slice(Ae,Ae+2));return Re?(Te.d=+Re[0],Ae+Re[0].length):-1}function p(Te,Fe,Ae){var Re=s.exec(Fe.slice(Ae,Ae+3));return Re?(Te.m=0,Te.d=+Re[0],Ae+Re[0].length):-1}function C(Te,Fe,Ae){var Re=s.exec(Fe.slice(Ae,Ae+2));return Re?(Te.H=+Re[0],Ae+Re[0].length):-1}function A(Te,Fe,Ae){var Re=s.exec(Fe.slice(Ae,Ae+2));return Re?(Te.M=+Re[0],Ae+Re[0].length):-1}function P(Te,Fe,Ae){var Re=s.exec(Fe.slice(Ae,Ae+2));return Re?(Te.S=+Re[0],Ae+Re[0].length):-1}function D(Te,Fe,Ae){var Re=s.exec(Fe.slice(Ae,Ae+3));return Re?(Te.L=+Re[0],Ae+Re[0].length):-1}function z(Te,Fe,Ae){var Re=s.exec(Fe.slice(Ae,Ae+6));return Re?(Te.L=Math.floor(Re[0]/1e3),Ae+Re[0].length):-1}function q(Te,Fe,Ae){var Re=l.exec(Fe.slice(Ae,Ae+1));return Re?Ae+Re[0].length:-1}function U(Te,Fe,Ae){var Re=s.exec(Fe.slice(Ae));return Re?(Te.Q=+Re[0],Ae+Re[0].length):-1}function O(Te,Fe,Ae){var Re=s.exec(Fe.slice(Ae));return Re?(Te.s=+Re[0],Ae+Re[0].length):-1}function R(Te,Fe){return c(Te.getDate(),Fe,2)}function B(Te,Fe){return c(Te.getHours(),Fe,2)}function Y(Te,Fe){return c(Te.getHours()%12||12,Fe,2)}function X(Te,Fe){return c(1+t.timeDay.count(t.timeYear(Te),Te),Fe,3)}function te(Te,Fe){return c(Te.getMilliseconds(),Fe,3)}function se(Te,Fe){return te(Te,Fe)+"000"}function ue(Te,Fe){return c(Te.getMonth()+1,Fe,2)}function re(Te,Fe){return c(Te.getMinutes(),Fe,2)}function j(Te,Fe){return c(Te.getSeconds(),Fe,2)}function fe(Te){var Fe=Te.getDay();return Fe===0?7:Fe}function ce(Te,Fe){return c(t.timeSunday.count(t.timeYear(Te)-1,Te),Fe,2)}function oe(Te,Fe){var Ae=Te.getDay();return Te=Ae>=4||Ae===0?t.timeThursday(Te):t.timeThursday.ceil(Te),c(t.timeThursday.count(t.timeYear(Te),Te)+(t.timeYear(Te).getDay()===4),Fe,2)}function we(Te){return Te.getDay()}function he(Te,Fe){return c(t.timeMonday.count(t.timeYear(Te)-1,Te),Fe,2)}function ye(Te,Fe){return c(Te.getFullYear()%100,Fe,2)}function Pe(Te,Fe){return c(Te.getFullYear()%1e4,Fe,4)}function le(Te){var Fe=Te.getTimezoneOffset();return(Fe>0?"-":(Fe*=-1,"+"))+c(Fe/60|0,"0",2)+c(Fe%60,"0",2)}function ze(Te,Fe){return c(Te.getUTCDate(),Fe,2)}function Xe(Te,Fe){return c(Te.getUTCHours(),Fe,2)}function vt(Te,Fe){return c(Te.getUTCHours()%12||12,Fe,2)}function st(Te,Fe){return c(1+t.utcDay.count(t.utcYear(Te),Te),Fe,3)}function Oe(Te,Fe){return c(Te.getUTCMilliseconds(),Fe,3)}function qe(Te,Fe){return Oe(Te,Fe)+"000"}function mt(Te,Fe){return c(Te.getUTCMonth()+1,Fe,2)}function lt(Te,Fe){return c(Te.getUTCMinutes(),Fe,2)}function Ie(Te,Fe){return c(Te.getUTCSeconds(),Fe,2)}function de(Te){var Fe=Te.getUTCDay();return Fe===0?7:Fe}function Ee(Te,Fe){return c(t.utcSunday.count(t.utcYear(Te)-1,Te),Fe,2)}function Ue(Te,Fe){var Ae=Te.getUTCDay();return Te=Ae>=4||Ae===0?t.utcThursday(Te):t.utcThursday.ceil(Te),c(t.utcThursday.count(t.utcYear(Te),Te)+(t.utcYear(Te).getUTCDay()===4),Fe,2)}function ge(Te){return Te.getUTCDay()}function Ge(Te,Fe){return c(t.utcMonday.count(t.utcYear(Te)-1,Te),Fe,2)}function tt(Te,Fe){return c(Te.getUTCFullYear()%100,Fe,2)}function ft(Te,Fe){return c(Te.getUTCFullYear()%1e4,Fe,4)}function He(){return"+0000"}function Qe(){return"%"}function We(Te){return+Te}function pt(Te){return Math.floor(+Te/1e3)}var kt;qt({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 qt(Te){return kt=i(Te),e.timeFormat=kt.format,e.timeParse=kt.parse,e.utcFormat=kt.utcFormat,e.utcParse=kt.utcParse,kt}var Wt="%Y-%m-%dT%H:%M:%S.%LZ";function _r(Te){return Te.toISOString()}var tr=Date.prototype.toISOString?_r:e.utcFormat(Wt);function lr(Te){var Fe=new Date(Te);return isNaN(Fe)?null:Fe}var Ye=+new Date("2000-01-01T00:00:00.000Z")?lr:e.utcParse(Wt);e.isoFormat=tr,e.isoParse=Ye,e.timeFormatDefaultLocale=qt,e.timeFormatLocale=i,Object.defineProperty(e,"__esModule",{value:!0})})});var dD=ne((AM,z$)=>{(function(e,t){typeof AM=="object"&&typeof z$!="undefined"?t(AM):(e=typeof globalThis!="undefined"?globalThis:e||self,t(e.d3=e.d3||{}))})(AM,(function(e){"use strict";function t(S){return Math.abs(S=Math.round(S))>=1e21?S.toLocaleString("en").replace(/,/g,""):S.toString(10)}function r(S,T){if((p=(S=T?S.toExponential(T-1):S.toExponential()).indexOf("e"))<0)return null;var p,C=S.slice(0,p);return[C.length>1?C[0]+C.slice(2):C,+S.slice(p+1)]}function n(S){return S=r(Math.abs(S)),S?S[1]:NaN}function a(S,T){return function(p,C){for(var A=p.length,P=[],D=0,z=S[0],q=0;A>0&&z>0&&(q+z+1>C&&(z=Math.max(1,C-q)),P.push(p.substring(A-=z,A+z)),!((q+=z+1)>C));)z=S[D=(D+1)%S.length];return P.reverse().join(T)}}function i(S){return function(T){return T.replace(/[0-9]/g,function(p){return S[+p]})}}var o=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function s(S){if(!(T=o.exec(S)))throw new Error("invalid format: "+S);var T;return new l({fill:T[1],align:T[2],sign:T[3],symbol:T[4],zero:T[5],width:T[6],comma:T[7],precision:T[8]&&T[8].slice(1),trim:T[9],type:T[10]})}s.prototype=l.prototype;function l(S){this.fill=S.fill===void 0?" ":S.fill+"",this.align=S.align===void 0?">":S.align+"",this.sign=S.sign===void 0?"-":S.sign+"",this.symbol=S.symbol===void 0?"":S.symbol+"",this.zero=!!S.zero,this.width=S.width===void 0?void 0:+S.width,this.comma=!!S.comma,this.precision=S.precision===void 0?void 0:+S.precision,this.trim=!!S.trim,this.type=S.type===void 0?"":S.type+""}l.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 u(S){e:for(var T=S.length,p=1,C=-1,A;p0&&(C=0);break}return C>0?S.slice(0,C)+S.slice(A+1):S}var c;function f(S,T){var p=r(S,T);if(!p)return S+"";var C=p[0],A=p[1],P=A-(c=Math.max(-8,Math.min(8,Math.floor(A/3)))*3)+1,D=C.length;return P===D?C:P>D?C+new Array(P-D+1).join("0"):P>0?C.slice(0,P)+"."+C.slice(P):"0."+new Array(1-P).join("0")+r(S,Math.max(0,T+P-1))[0]}function h(S,T){var p=r(S,T);if(!p)return S+"";var C=p[0],A=p[1];return A<0?"0."+new Array(-A).join("0")+C:C.length>A+1?C.slice(0,A+1)+"."+C.slice(A+1):C+new Array(A-C.length+2).join("0")}var v={"%":function(S,T){return(S*100).toFixed(T)},b:function(S){return Math.round(S).toString(2)},c:function(S){return S+""},d:t,e:function(S,T){return S.toExponential(T)},f:function(S,T){return S.toFixed(T)},g:function(S,T){return S.toPrecision(T)},o:function(S){return Math.round(S).toString(8)},p:function(S,T){return h(S*100,T)},r:h,s:f,X:function(S){return Math.round(S).toString(16).toUpperCase()},x:function(S){return Math.round(S).toString(16)}};function d(S){return S}var m=Array.prototype.map,x=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function g(S){var T=S.grouping===void 0||S.thousands===void 0?d:a(m.call(S.grouping,Number),S.thousands+""),p=S.currency===void 0?"":S.currency[0]+"",C=S.currency===void 0?"":S.currency[1]+"",A=S.decimal===void 0?".":S.decimal+"",P=S.numerals===void 0?d:i(m.call(S.numerals,String)),D=S.percent===void 0?"%":S.percent+"",z=S.minus===void 0?"-":S.minus+"",q=S.nan===void 0?"NaN":S.nan+"";function U(R){R=s(R);var B=R.fill,Y=R.align,X=R.sign,te=R.symbol,se=R.zero,ue=R.width,re=R.comma,j=R.precision,fe=R.trim,ce=R.type;ce==="n"?(re=!0,ce="g"):v[ce]||(j===void 0&&(j=12),fe=!0,ce="g"),(se||B==="0"&&Y==="=")&&(se=!0,B="0",Y="=");var oe=te==="$"?p:te==="#"&&/[boxX]/.test(ce)?"0"+ce.toLowerCase():"",we=te==="$"?C:/[%p]/.test(ce)?D:"",he=v[ce],ye=/[defgprs%]/.test(ce);j=j===void 0?6:/[gprs]/.test(ce)?Math.max(1,Math.min(21,j)):Math.max(0,Math.min(20,j));function Pe(le){var ze=oe,Xe=we,vt,st,Oe;if(ce==="c")Xe=he(le)+Xe,le="";else{le=+le;var qe=le<0||1/le<0;if(le=isNaN(le)?q:he(Math.abs(le),j),fe&&(le=u(le)),qe&&+le==0&&X!=="+"&&(qe=!1),ze=(qe?X==="("?X:z:X==="-"||X==="("?"":X)+ze,Xe=(ce==="s"?x[8+c/3]:"")+Xe+(qe&&X==="("?")":""),ye){for(vt=-1,st=le.length;++vtOe||Oe>57){Xe=(Oe===46?A+le.slice(vt+1):le.slice(vt))+Xe,le=le.slice(0,vt);break}}}re&&!se&&(le=T(le,1/0));var mt=ze.length+le.length+Xe.length,lt=mt>1)+ze+le+Xe+lt.slice(mt);break;default:le=lt+ze+le+Xe;break}return P(le)}return Pe.toString=function(){return R+""},Pe}function O(R,B){var Y=U((R=s(R),R.type="f",R)),X=Math.max(-8,Math.min(8,Math.floor(n(B)/3)))*3,te=Math.pow(10,-X),se=x[8+X/3];return function(ue){return Y(te*ue)+se}}return{format:U,formatPrefix:O}}var E;M({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"});function M(S){return E=g(S),e.format=E.format,e.formatPrefix=E.formatPrefix,E}function w(S){return Math.max(0,-n(Math.abs(S)))}function k(S,T){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(n(T)/3)))*3-n(Math.abs(S)))}function y(S,T){return S=Math.abs(S),T=Math.abs(T)-S,Math.max(0,n(T)-n(S))+1}e.FormatSpecifier=l,e.formatDefaultLocale=M,e.formatLocale=g,e.formatSpecifier=s,e.precisionFixed=w,e.precisionPrefix=k,e.precisionRound=y,Object.defineProperty(e,"__esModule",{value:!0})}))});var B$=ne((BKt,q$)=>{"use strict";q$.exports=function(e){for(var t=e.length,r,n=0;n13)&&r!==32&&r!==133&&r!==160&&r!==5760&&r!==6158&&(r<8192||r>8205)&&r!==8232&&r!==8233&&r!==8239&&r!==8287&&r!==8288&&r!==12288&&r!==65279)return!1;return!0}});var mi=ne((OKt,O$)=>{"use strict";var nKe=B$();O$.exports=function(e){var t=typeof e;if(t==="string"){var r=e;if(e=+e,e===0&&nKe(r))return!1}else if(t!=="number")return!1;return e-e<1}});var uo=ne((NKt,N$)=>{"use strict";N$.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"}});var vD=ne((MM,U$)=>{(function(e,t){typeof MM=="object"&&typeof U$!="undefined"?t(MM):(e=typeof globalThis!="undefined"?globalThis:e||self,t(e["base64-arraybuffer"]={}))})(MM,(function(e){"use strict";for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r=typeof Uint8Array=="undefined"?[]:new Uint8Array(256),n=0;n>2],c+=t[(s[l]&3)<<4|s[l+1]>>4],c+=t[(s[l+1]&15)<<2|s[l+2]>>6],c+=t[s[l+2]&63];return u%3===2?c=c.substring(0,c.length-1)+"=":u%3===1&&(c=c.substring(0,c.length-2)+"=="),c},i=function(o){var s=o.length*.75,l=o.length,u,c=0,f,h,v,d;o[o.length-1]==="="&&(s--,o[o.length-2]==="="&&s--);var m=new ArrayBuffer(s),x=new Uint8Array(m);for(u=0;u>4,x[c++]=(h&15)<<4|v>>2,x[c++]=(v&3)<<6|d&63;return m};e.decode=i,e.encode=a,Object.defineProperty(e,"__esModule",{value:!0})}))});var Lg=ne((UKt,V$)=>{"use strict";V$.exports=function(t){return window&&window.process&&window.process.versions?Object.prototype.toString.call(t)==="[object Object]":Object.prototype.toString.call(t)==="[object Object]"&&Object.getPrototypeOf(t).hasOwnProperty("hasOwnProperty")}});var Ih=ne(k0=>{"use strict";var aKe=vD().decode,iKe=Lg(),pD=Array.isArray,oKe=ArrayBuffer,sKe=DataView;function G$(e){return oKe.isView(e)&&!(e instanceof sKe)}k0.isTypedArray=G$;function SM(e){return pD(e)||G$(e)}k0.isArrayOrTypedArray=SM;function lKe(e){return!SM(e[0])}k0.isArray1D=lKe;k0.ensureArray=function(e,t){return pD(e)||(e=[]),e.length=t,e};var Hf={u1c:typeof Uint8ClampedArray=="undefined"?void 0:Uint8ClampedArray,i1:typeof Int8Array=="undefined"?void 0:Int8Array,u1:typeof Uint8Array=="undefined"?void 0:Uint8Array,i2:typeof Int16Array=="undefined"?void 0:Int16Array,u2:typeof Uint16Array=="undefined"?void 0:Uint16Array,i4:typeof Int32Array=="undefined"?void 0:Int32Array,u4:typeof Uint32Array=="undefined"?void 0:Uint32Array,f4:typeof Float32Array=="undefined"?void 0:Float32Array,f8:typeof Float64Array=="undefined"?void 0:Float64Array};Hf.uint8c=Hf.u1c;Hf.uint8=Hf.u1;Hf.int8=Hf.i1;Hf.uint16=Hf.u2;Hf.int16=Hf.i2;Hf.uint32=Hf.u4;Hf.int32=Hf.i4;Hf.float32=Hf.f4;Hf.float64=Hf.f8;function gD(e){return e.constructor===ArrayBuffer}k0.isArrayBuffer=gD;k0.decodeTypedArraySpec=function(e){var t=[],r=uKe(e),n=r.dtype,a=Hf[n];if(!a)throw new Error('Error in dtype: "'+n+'"');var i=a.BYTES_PER_ELEMENT,o=r.bdata;gD(o)||(o=aKe(o));var s=r.shape===void 0?[o.byteLength/i]:(""+r.shape).split(",");s.reverse();var l=s.length,u,c,f=+s[0],h=i*f,v=0;if(l===1)t=new a(o);else if(l===2)for(u=+s[1],c=0;c{"use strict";var j$=mi(),yD=Ih().isArrayOrTypedArray;Z$.exports=function(t,r){if(j$(r))r=String(r);else if(typeof r!="string"||r.slice(-4)==="[-1]")throw"bad property string";var n=r.split("."),a,i,o,s;for(s=0;s{"use strict";var cb=m5(),vKe=/^\w*$/,pKe=0,$$=1,EM=2,K$=3,Fy=4;J$.exports=function(t,r,n,a){n=n||"name",a=a||"value";var i,o,s,l={};r&&r.length?(s=cb(t,r),o=s.get()):o=t,r=r||"";var u={};if(o)for(i=0;i2)return l[v]=l[v]|EM,f.set(h,null);if(c){for(i=v;i{"use strict";var gKe=/^(.*)(\.[^\.\[\]]+|\[\d\])$/,mKe=/^[^\.\[\]]+$/;eK.exports=function(e,t){for(;t;){var r=e.match(gKe);if(r)e=r[1];else if(e.match(mKe))e="";else throw new Error("bad relativeAttr call:"+[e,t]);if(t.charAt(0)==="^")t=t.slice(1);else break}return e&&t.charAt(0)!=="["?e+"."+t:e+t}});var kM=ne((WKt,rK)=>{"use strict";var yKe=mi();rK.exports=function(t,r){if(t>0)return Math.log(t)/Math.LN10;var n=Math.log(Math.min(r[0],r[1]))/Math.LN10;return yKe(n)||(n=Math.log(Math.max(r[0],r[1]))/Math.LN10-6),n}});var iK=ne((YKt,aK)=>{"use strict";var nK=Ih().isArrayOrTypedArray,y5=Lg();aK.exports=function e(t,r){for(var n in r){var a=r[n],i=t[n];if(i!==a)if(n.charAt(0)==="_"||typeof a=="function"){if(n in t)continue;t[n]=a}else if(nK(a)&&nK(i)&&y5(a[0])){if(n==="customdata"||n==="ids")continue;for(var o=Math.min(a.length,i.length),s=0;sxKe,modHalf:()=>bKe});function xKe(e,t){let r=e%t;return r<0?r+t:r}function bKe(e,t){return Math.abs(e)>t/2?e-Math.round(e/t)*t:e}var hb=lo(()=>{"use strict"});var ci=ne(_5=>{"use strict";var oK=Lg(),x5=Array.isArray;function _Ke(e,t){var r,n;for(r=0;r{"use strict";sK.exports=function(e){var t=e.variantValues,r=e.editType,n=e.colorEditType;n===void 0&&(n=r);var a={editType:r,valType:"integer",min:1,max:1e3,extras:["normal","bold"],dflt:"normal"};e.noNumericWeightValues&&(a.valType="enumerated",a.values=a.extras,a.extras=void 0,a.min=void 0,a.max=void 0);var i={family:{valType:"string",noBlank:!0,strict:!0,editType:r},size:{valType:"number",min:1,editType:r},color:{valType:"color",editType:n},weight:a,style:{editType:r,valType:"enumerated",values:["normal","italic"],dflt:"normal"},variant:e.noFontVariant?void 0:{editType:r,valType:"enumerated",values:t||["normal","small-caps","all-small-caps","all-petite-caps","petite-caps","unicase"],dflt:"normal"},textcase:e.noFontTextcase?void 0:{editType:r,valType:"enumerated",values:["normal","word caps","upper","lower"],dflt:"normal"},lineposition:e.noFontLineposition?void 0:{editType:r,valType:"flaglist",flags:["under","over","through"],extras:["none"],dflt:"none"},shadow:e.noFontShadow?void 0:{editType:r,valType:"string",dflt:e.autoShadowDflt?"auto":"none"},editType:r};return e.autoSize&&(i.size.dflt="auto"),e.autoColor&&(i.color.dflt="auto"),e.arrayOk&&(i.family.arrayOk=!0,i.weight.arrayOk=!0,i.style.arrayOk=!0,e.noFontVariant||(i.variant.arrayOk=!0),e.noFontTextcase||(i.textcase.arrayOk=!0),e.noFontLineposition||(i.lineposition.arrayOk=!0),e.noFontShadow||(i.shadow.arrayOk=!0),i.size.arrayOk=!0,i.color.arrayOk=!0),i}});var w5=ne(($Kt,lK)=>{"use strict";lK.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:"Arial, sans-serif",HOVERMINTIME:50,HOVERID:"-hover"}});var Fg=ne((KKt,fK)=>{"use strict";var uK=w5(),cK=pl(),xD=cK({editType:"none"});xD.family.dflt=uK.HOVERFONT;xD.size.dflt=uK.HOVERFONTSIZE;fK.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"]},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","drawclosedpath","drawopenpath","drawline","drawrect","drawcircle","orbit","turntable",!1],dflt:"zoom",editType:"modebar"},hovermode:{valType:"enumerated",values:["x","y","closest",!1,"x unified","y unified"],dflt:"closest",editType:"modebar"},hoversort:{valType:"enumerated",values:["trace","value descending","value ascending"],dflt:"trace",editType:"none"},hoversubplots:{valType:"enumerated",values:["single","overlaying","axis"],dflt:"overlaying",editType:"none"},hoveranywhere:{valType:"boolean",dflt:!1,editType:"none"},clickanywhere:{valType:"boolean",dflt:!1,editType:"none"},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none"},spikedistance:{valType:"integer",min:-1,dflt:-1,editType:"none"},hoverlabel:{bgcolor:{valType:"color",editType:"none"},bordercolor:{valType:"color",editType:"none"},font:xD,grouptitlefont:cK({editType:"none"}),align:{valType:"enumerated",values:["left","right","auto"],dflt:"auto",editType:"none"},namelength:{valType:"integer",min:-1,dflt:15,editType:"none"},showarrow:{valType:"boolean",dflt:!0,editType:"none"},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",editType:"none"}}});var db=ne((JKt,hK)=>{"use strict";var wKe=pl(),T5=Fg().hoverlabel,A5=ci().extendFlat;hK.exports={hoverlabel:{bgcolor:A5({},T5.bgcolor,{arrayOk:!0}),bordercolor:A5({},T5.bordercolor,{arrayOk:!0}),font:wKe({arrayOk:!0,editType:"none"}),align:A5({},T5.align,{arrayOk:!0}),namelength:A5({},T5.namelength,{arrayOk:!0}),showarrow:A5({},T5.showarrow),editType:"none"}}});var os=ne((QKt,dK)=>{"use strict";var TKe=pl(),AKe=db();dK.exports={type:{valType:"enumerated",values:[],dflt:"scatter",editType:"calc+clearAxisTypes",_noTemplating:!0},visible:{valType:"enumerated",values:[!0,!1,"legendonly"],dflt:!0,editType:"calc"},showlegend:{valType:"boolean",dflt:!0,editType:"style"},legend:{valType:"subplotid",dflt:"legend",editType:"style"},legendgroup:{valType:"string",dflt:"",editType:"style"},legendgrouptitle:{text:{valType:"string",dflt:"",editType:"style"},font:TKe({editType:"style"}),editType:"style"},legendrank:{valType:"number",dflt:1e3,editType:"style"},legendwidth:{valType:"number",min:0,editType:"style"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"style"},name:{valType:"string",editType:"style"},uid:{valType:"string",editType:"plot",anim:!0},ids:{valType:"data_array",editType:"calc",anim:!0},customdata:{valType:"data_array",editType:"calc"},meta:{valType:"any",arrayOk:!0,editType:"plot"},selectedpoints:{valType:"any",editType:"calc"},hoverinfo:{valType:"flaglist",flags:["x","y","z","text","name"],extras:["all","none","skip"],arrayOk:!0,dflt:"all",editType:"none"},hoverlabel:AKe.hoverlabel,uirevision:{valType:"any",editType:"none"}}});var vb,vK=lo(()=>{vb={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]}});function Pg(e,t,r){return Math.min(Math.max(t,e),r)}function CM(e){let t=Math.round(e).toString(16).toUpperCase();return t.length<2?"0"+t:t}var pK,Bd,Py,gK=lo(()=>{vK();pK=Object.create(null);for(let e in vb)Object.hasOwn(vb,e)&&(pK[vb[e]]=e);Bd={to:{},get:{}};Bd.get=function(e){let t=e.slice(0,3).toLowerCase(),r,n;switch(t){case"hsl":{r=Bd.get.hsl(e),n="hsl";break}case"hwb":{r=Bd.get.hwb(e),n="hwb";break}default:{r=Bd.get.rgb(e),n="rgb";break}}return r?{model:n,value:r}:null};Bd.get.rgb=function(e){if(!e)return null;let t=/^#([a-f\d]{3,4})$/i,r=/^#([a-f\d]{6})([a-f\d]{2})?$/i,n=/^rgba?\(\s*([+-]?(?:\d*\.)?\d+(?:e\d+)?)(?=[\s,])\s*(?:,\s*)?([+-]?(?:\d*\.)?\d+(?:e\d+)?)(?=[\s,])\s*(?:,\s*)?([+-]?(?:\d*\.)?\d+(?:e\d+)?)\s*(?:[\s,|/]\s*([+-]?(?:\d*\.)?\d+(?:e\d+)?)(%?)\s*)?\)$/i,a=/^rgba?\(\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[\s,|/]\s*([+-]?[\d.]+)(%?)\s*)?\)$/i,i=/^(\w+)$/,o=[0,0,0,1],s,l,u;if(s=e.match(r)){for(u=s[2],s=s[1],l=0;l<3;l++){let c=l*2;o[l]=Number.parseInt(s.slice(c,c+2),16)}u&&(o[3]=Number.parseInt(u,16)/255)}else if(s=e.match(t)){for(s=s[1],u=s[3],l=0;l<3;l++)o[l]=Number.parseInt(s[l]+s[l],16);u&&(o[3]=Number.parseInt(u+u,16)/255)}else if(s=e.match(n)){for(l=0;l<3;l++)o[l]=Number.parseFloat(s[l+1]);s[4]&&(o[3]=s[5]?Number.parseFloat(s[4])*.01:Number.parseFloat(s[4]))}else if(s=e.match(a)){for(l=0;l<3;l++)o[l]=Math.round(Number.parseFloat(s[l+1])*2.55);s[4]&&(o[3]=s[5]?Number.parseFloat(s[4])*.01:Number.parseFloat(s[4]))}else return(s=e.toLowerCase().match(i))?s[1]==="transparent"?[0,0,0,0]:Object.hasOwn(vb,s[1])?(o=vb[s[1]].slice(),o[3]=1,o):null:null;for(l=0;l<3;l++)o[l]=Pg(o[l],0,255);return o[3]=Pg(o[3],0,1),o};Bd.get.hsl=function(e){if(!e)return null;let t=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[,|/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:e[+-]?\d+)?)\s*)?\)$/i,r=e.match(t);if(r){let n=Number.parseFloat(r[4]),a=(Number.parseFloat(r[1])%360+360)%360,i=Pg(Number.parseFloat(r[2]),0,100),o=Pg(Number.parseFloat(r[3]),0,100),s=Pg(Number.isNaN(n)?1:n,0,1);return[a,i,o,s]}return null};Bd.get.hwb=function(e){if(!e)return null;let t=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*[\s,]\s*([+-]?[\d.]+)%\s*[\s,]\s*([+-]?[\d.]+)%\s*(?:[\s,]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:e[+-]?\d+)?)\s*)?\)$/i,r=e.match(t);if(r){let n=Number.parseFloat(r[4]),a=(Number.parseFloat(r[1])%360+360)%360,i=Pg(Number.parseFloat(r[2]),0,100),o=Pg(Number.parseFloat(r[3]),0,100),s=Pg(Number.isNaN(n)?1:n,0,1);return[a,i,o,s]}return null};Bd.to.hex=function(...e){return"#"+CM(e[0])+CM(e[1])+CM(e[2])+(e[3]<1?CM(Math.round(e[3]*255)):"")};Bd.to.rgb=function(...e){return e.length<4||e[3]===1?"rgb("+Math.round(e[0])+", "+Math.round(e[1])+", "+Math.round(e[2])+")":"rgba("+Math.round(e[0])+", "+Math.round(e[1])+", "+Math.round(e[2])+", "+e[3]+")"};Bd.to.rgb.percent=function(...e){let t=Math.round(e[0]/255*100),r=Math.round(e[1]/255*100),n=Math.round(e[2]/255*100);return e.length<4||e[3]===1?"rgb("+t+"%, "+r+"%, "+n+"%)":"rgba("+t+"%, "+r+"%, "+n+"%, "+e[3]+")"};Bd.to.hsl=function(...e){return e.length<4||e[3]===1?"hsl("+e[0]+", "+e[1]+"%, "+e[2]+"%)":"hsla("+e[0]+", "+e[1]+"%, "+e[2]+"%, "+e[3]+")"};Bd.to.hwb=function(...e){let t="";return e.length>=4&&e[3]!==1&&(t=", "+e[3]),"hwb("+e[0]+", "+e[1]+"%, "+e[2]+"%"+t+")"};Bd.to.keyword=function(...e){return pK[e.slice(0,3)]};Py=Bd});var pb,mK=lo(()=>{pb={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]}});function gb(e){let t=e>.0031308?1.055*e**.4166666666666667-.055:e*12.92;return Math.min(Math.max(0,t),1)}function mb(e){return e>.04045?((e+.055)/1.055)**2.4:e/12.92}function MKe(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2+(e[2]-t[2])**2}var yK,yi,w1,_1,bD=lo(()=>{mK();yK={};for(let e of Object.keys(pb))yK[pb[e]]=e;yi={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},oklab:{channels:3,labels:["okl","oka","okb"]},lch:{channels:3,labels:"lch"},oklch:{channels:3,labels:["okl","okc","okh"]},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}},w1=yi,_1=(6/29)**3;for(let e of Object.keys(yi)){if(!("channels"in yi[e]))throw new Error("missing channels property: "+e);if(!("labels"in yi[e]))throw new Error("missing channel labels property: "+e);if(yi[e].labels.length!==yi[e].channels)throw new Error("channel and label counts mismatch: "+e);let{channels:t,labels:r}=yi[e];delete yi[e].channels,delete yi[e].labels,Object.defineProperty(yi[e],"channels",{value:t}),Object.defineProperty(yi[e],"labels",{value:r})}yi.rgb.hsl=function(e){let t=e[0]/255,r=e[1]/255,n=e[2]/255,a=Math.min(t,r,n),i=Math.max(t,r,n),o=i-a,s,l;switch(i){case a:{s=0;break}case t:{s=(r-n)/o;break}case r:{s=2+(n-t)/o;break}case n:{s=4+(t-r)/o;break}}s=Math.min(s*60,360),s<0&&(s+=360);let u=(a+i)/2;return i===a?l=0:u<=.5?l=o/(i+a):l=o/(2-i-a),[s,l*100,u*100]};yi.rgb.hsv=function(e){let t,r,n,a,i,o=e[0]/255,s=e[1]/255,l=e[2]/255,u=Math.max(o,s,l),c=u-Math.min(o,s,l),f=function(h){return(u-h)/6/c+1/2};if(c===0)a=0,i=0;else{switch(i=c/u,t=f(o),r=f(s),n=f(l),u){case o:{a=n-r;break}case s:{a=1/3+t-n;break}case l:{a=2/3+r-t;break}}a<0?a+=1:a>1&&(a-=1)}return[a*360,i*100,u*100]};yi.rgb.hwb=function(e){let t=e[0],r=e[1],n=e[2],a=yi.rgb.hsl(e)[0],i=1/255*Math.min(t,Math.min(r,n));return n=1-1/255*Math.max(t,Math.max(r,n)),[a,i*100,n*100]};yi.rgb.oklab=function(e){let t=mb(e[0]/255),r=mb(e[1]/255),n=mb(e[2]/255),a=Math.cbrt(.4122214708*t+.5363325363*r+.0514459929*n),i=Math.cbrt(.2119034982*t+.6806995451*r+.1073969566*n),o=Math.cbrt(.0883024619*t+.2817188376*r+.6299787005*n),s=.2104542553*a+.793617785*i-.0040720468*o,l=1.9779984951*a-2.428592205*i+.4505937099*o,u=.0259040371*a+.7827717662*i-.808675766*o;return[s*100,l*100,u*100]};yi.rgb.cmyk=function(e){let t=e[0]/255,r=e[1]/255,n=e[2]/255,a=Math.min(1-t,1-r,1-n),i=(1-t-a)/(1-a)||0,o=(1-r-a)/(1-a)||0,s=(1-n-a)/(1-a)||0;return[i*100,o*100,s*100,a*100]};yi.rgb.keyword=function(e){let t=yK[e];if(t)return t;let r=Number.POSITIVE_INFINITY,n;for(let a of Object.keys(pb)){let i=pb[a],o=MKe(e,i);o_1?r**(1/3):7.787*r+16/116,n=n>_1?n**(1/3):7.787*n+16/116,a=a>_1?a**(1/3):7.787*a+16/116;let i=116*n-16,o=500*(r-n),s=200*(n-a);return[i,o,s]};yi.hsl.rgb=function(e){let t=e[0]/360,r=e[1]/100,n=e[2]/100,a,i;if(r===0)return i=n*255,[i,i,i];let o=n<.5?n*(1+r):n+r-n*r,s=2*n-o,l=[0,0,0];for(let u=0;u<3;u++)a=t+1/3*-(u-1),a<0&&a++,a>1&&a--,6*a<1?i=s+(o-s)*6*a:2*a<1?i=o:3*a<2?i=s+(o-s)*(2/3-a)*6:i=s,l[u]=i*255;return l};yi.hsl.hsv=function(e){let t=e[0],r=e[1]/100,n=e[2]/100,a=r,i=Math.max(n,.01);n*=2,r*=n<=1?n:2-n,a*=i<=1?i:2-i;let o=(n+r)/2,s=n===0?2*a/(i+a):2*r/(n+r);return[t,s*100,o*100]};yi.hsv.rgb=function(e){let t=e[0]/60,r=e[1]/100,n=e[2]/100,a=Math.floor(t)%6,i=t-Math.floor(t),o=255*n*(1-r),s=255*n*(1-r*i),l=255*n*(1-r*(1-i));switch(n*=255,a){case 0:return[n,l,o];case 1:return[s,n,o];case 2:return[o,n,l];case 3:return[o,s,n];case 4:return[l,o,n];case 5:return[n,o,s]}};yi.hsv.hsl=function(e){let t=e[0],r=e[1]/100,n=e[2]/100,a=Math.max(n,.01),i,o;o=(2-r)*n;let s=(2-r)*a;return i=r*a,i/=s<=1?s:2-s,i=i||0,o/=2,[t,i*100,o*100]};yi.hwb.rgb=function(e){let t=e[0]/360,r=e[1]/100,n=e[2]/100,a=r+n,i;a>1&&(r/=a,n/=a);let o=Math.floor(6*t),s=1-n;i=6*t-o,(o&1)!==0&&(i=1-i);let l=r+i*(s-r),u,c,f;switch(o){default:case 6:case 0:{u=s,c=l,f=r;break}case 1:{u=l,c=s,f=r;break}case 2:{u=r,c=s,f=l;break}case 3:{u=r,c=l,f=s;break}case 4:{u=l,c=r,f=s;break}case 5:{u=s,c=r,f=l;break}}return[u*255,c*255,f*255]};yi.cmyk.rgb=function(e){let t=e[0]/100,r=e[1]/100,n=e[2]/100,a=e[3]/100,i=1-Math.min(1,t*(1-a)+a),o=1-Math.min(1,r*(1-a)+a),s=1-Math.min(1,n*(1-a)+a);return[i*255,o*255,s*255]};yi.xyz.rgb=function(e){let t=e[0]/100,r=e[1]/100,n=e[2]/100,a,i,o;return a=t*3.2404542+r*-1.5371385+n*-.4985314,i=t*-.969266+r*1.8760108+n*.041556,o=t*.0556434+r*-.2040259+n*1.0572252,a=gb(a),i=gb(i),o=gb(o),[a*255,i*255,o*255]};yi.xyz.lab=function(e){let t=e[0],r=e[1],n=e[2];t/=95.047,r/=100,n/=108.883,t=t>_1?t**(1/3):7.787*t+16/116,r=r>_1?r**(1/3):7.787*r+16/116,n=n>_1?n**(1/3):7.787*n+16/116;let a=116*r-16,i=500*(t-r),o=200*(r-n);return[a,i,o]};yi.xyz.oklab=function(e){let t=e[0]/100,r=e[1]/100,n=e[2]/100,a=Math.cbrt(.8189330101*t+.3618667424*r-.1288597137*n),i=Math.cbrt(.0329845436*t+.9293118715*r+.0361456387*n),o=Math.cbrt(.0482003018*t+.2643662691*r+.633851707*n),s=.2104542553*a+.793617785*i-.0040720468*o,l=1.9779984951*a-2.428592205*i+.4505937099*o,u=.0259040371*a+.7827717662*i-.808675766*o;return[s*100,l*100,u*100]};yi.oklab.oklch=function(e){return yi.lab.lch(e)};yi.oklab.xyz=function(e){let t=e[0]/100,r=e[1]/100,n=e[2]/100,a=(.999999998*t+.396337792*r+.215803758*n)**3,i=(1.000000008*t-.105561342*r-.063854175*n)**3,o=(1.000000055*t-.089484182*r-1.291485538*n)**3,s=1.227013851*a-.55779998*i+.281256149*o,l=-.040580178*a+1.11225687*i-.071676679*o,u=-.076381285*a-.421481978*i+1.58616322*o;return[s*100,l*100,u*100]};yi.oklab.rgb=function(e){let t=e[0]/100,r=e[1]/100,n=e[2]/100,a=(t+.3963377774*r+.2158037573*n)**3,i=(t-.1055613458*r-.0638541728*n)**3,o=(t-.0894841775*r-1.291485548*n)**3,s=gb(4.0767416621*a-3.3077115913*i+.2309699292*o),l=gb(-1.2684380046*a+2.6097574011*i-.3413193965*o),u=gb(-.0041960863*a-.7034186147*i+1.707614701*o);return[s*255,l*255,u*255]};yi.oklch.oklab=function(e){return yi.lch.lab(e)};yi.lab.xyz=function(e){let t=e[0],r=e[1],n=e[2],a,i,o;i=(t+16)/116,a=r/500+i,o=i-n/200;let s=i**3,l=a**3,u=o**3;return i=s>_1?s:(i-16/116)/7.787,a=l>_1?l:(a-16/116)/7.787,o=u>_1?u:(o-16/116)/7.787,a*=95.047,i*=100,o*=108.883,[a,i,o]};yi.lab.lch=function(e){let t=e[0],r=e[1],n=e[2],a;a=Math.atan2(n,r)*360/2/Math.PI,a<0&&(a+=360);let o=Math.sqrt(r*r+n*n);return[t,o,a]};yi.lch.lab=function(e){let t=e[0],r=e[1],a=e[2]/360*2*Math.PI,i=r*Math.cos(a),o=r*Math.sin(a);return[t,i,o]};yi.rgb.ansi16=function(e,t=null){let[r,n,a]=e,i=t===null?yi.rgb.hsv(e)[2]:t;if(i=Math.round(i/50),i===0)return 30;let o=30+(Math.round(a/255)<<2|Math.round(n/255)<<1|Math.round(r/255));return i===2&&(o+=60),o};yi.hsv.ansi16=function(e){return yi.rgb.ansi16(yi.hsv.rgb(e),e[2])};yi.rgb.ansi256=function(e){let t=e[0],r=e[1],n=e[2];return t>>4===r>>4&&r>>4===n>>4?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5)};yi.ansi16.rgb=function(e){e=e[0];let t=e%10;if(t===0||t===7)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];let r=(Math.trunc(e>50)+1)*.5,n=(t&1)*r*255,a=(t>>1&1)*r*255,i=(t>>2&1)*r*255;return[n,a,i]};yi.ansi256.rgb=function(e){if(e=e[0],e>=232){let i=(e-232)*10+8;return[i,i,i]}e-=16;let t,r=Math.floor(e/36)/5*255,n=Math.floor((t=e%36)/6)/5*255,a=t%6/5*255;return[r,n,a]};yi.rgb.hex=function(e){let r=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return"000000".slice(r.length)+r};yi.hex.rgb=function(e){let t=e.toString(16).match(/[a-f\d]{6}|[a-f\d]{3}/i);if(!t)return[0,0,0];let r=t[0];t[0].length===3&&(r=[...r].map(s=>s+s).join(""));let n=Number.parseInt(r,16),a=n>>16&255,i=n>>8&255,o=n&255;return[a,i,o]};yi.rgb.hcg=function(e){let t=e[0]/255,r=e[1]/255,n=e[2]/255,a=Math.max(Math.max(t,r),n),i=Math.min(Math.min(t,r),n),o=a-i,s,l=o<1?i/(1-o):0;return o<=0?s=0:a===t?s=(r-n)/o%6:a===r?s=2+(n-t)/o:s=4+(t-r)/o,s/=6,s%=1,[s*360,o*100,l*100]};yi.hsl.hcg=function(e){let t=e[1]/100,r=e[2]/100,n=r<.5?2*t*r:2*t*(1-r),a=0;return n<1&&(a=(r-.5*n)/(1-n)),[e[0],n*100,a*100]};yi.hsv.hcg=function(e){let t=e[1]/100,r=e[2]/100,n=t*r,a=0;return n<1&&(a=(r-n)/(1-n)),[e[0],n*100,a*100]};yi.hcg.rgb=function(e){let t=e[0]/360,r=e[1]/100,n=e[2]/100;if(r===0)return[n*255,n*255,n*255];let a=[0,0,0],i=t%1*6,o=i%1,s=1-o,l=0;switch(Math.floor(i)){case 0:{a[0]=1,a[1]=o,a[2]=0;break}case 1:{a[0]=s,a[1]=1,a[2]=0;break}case 2:{a[0]=0,a[1]=1,a[2]=o;break}case 3:{a[0]=0,a[1]=s,a[2]=1;break}case 4:{a[0]=o,a[1]=0,a[2]=1;break}default:a[0]=1,a[1]=0,a[2]=s}return l=(1-r)*n,[(r*a[0]+l)*255,(r*a[1]+l)*255,(r*a[2]+l)*255]};yi.hcg.hsv=function(e){let t=e[1]/100,r=e[2]/100,n=t+r*(1-t),a=0;return n>0&&(a=t/n),[e[0],a*100,n*100]};yi.hcg.hsl=function(e){let t=e[1]/100,n=e[2]/100*(1-t)+.5*t,a=0;return n>0&&n<.5?a=t/(2*n):n>=.5&&n<1&&(a=t/(2*(1-n))),[e[0],a*100,n*100]};yi.hcg.hwb=function(e){let t=e[1]/100,r=e[2]/100,n=t+r*(1-t);return[e[0],(n-t)*100,(1-n)*100]};yi.hwb.hcg=function(e){let t=e[1]/100,n=1-e[2]/100,a=n-t,i=0;return a<1&&(i=(n-a)/(1-a)),[e[0],a*100,i*100]};yi.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]};yi.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]};yi.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]};yi.gray.hsl=function(e){return[0,0,e[0]]};yi.gray.hsv=yi.gray.hsl;yi.gray.hwb=function(e){return[0,100,e[0]]};yi.gray.cmyk=function(e){return[0,0,0,e[0]]};yi.gray.lab=function(e){return[e[0],0,0]};yi.gray.hex=function(e){let t=Math.round(e[0]/100*255)&255,n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".slice(n.length)+n};yi.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}});function SKe(){let e={},t=Object.keys(w1);for(let{length:r}=t,n=0;n0;){let n=r.pop(),a=Object.keys(w1[n]);for(let{length:i}=a,o=0;o{bD();xK=LKe});function PKe(e){let t=function(...r){let n=r[0];return n==null?n:(n.length>1&&(r=n),e(r))};return"conversion"in e&&(t.conversion=e.conversion),t}function DKe(e){let t=function(...r){let n=r[0];if(n==null)return n;n.length>1&&(r=n);let a=e(r);if(typeof a=="object")for(let{length:i}=a,o=0;o{bD();bK();yb={},FKe=Object.keys(w1);for(let e of FKe){yb[e]={},Object.defineProperty(yb[e],"channels",{value:w1[e].channels}),Object.defineProperty(yb[e],"labels",{value:w1[e].labels});let t=xK(e),r=Object.keys(t);for(let n of r){let a=t[n];yb[e][n]=DKe(a),yb[e][n].raw=PKe(a)}}Od=yb});var TK={};E0(TK,{default:()=>qKe});function gh(e,t){if(!(this instanceof gh))return new gh(e,t);if(t&&t in wK&&(t=null),t&&!(t in Od))throw new Error("Unknown model: "+t);let r,n;if(e==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(e instanceof gh)this.model=e.model,this.color=[...e.color],this.valpha=e.valpha;else if(typeof e=="string"){let a=Py.get(e);if(a===null)throw new Error("Unable to parse color from string: "+e);this.model=a.model,n=Od[this.model].channels,this.color=a.value.slice(0,n),this.valpha=typeof a.value[n]=="number"?a.value[n]:1}else if(e.length>0){this.model=t||"rgb",n=Od[this.model].channels;let a=Array.prototype.slice.call(e,0,n);this.color=wD(a,n),this.valpha=typeof e[n]=="number"?e[n]:1}else if(typeof e=="number")this.model="rgb",this.color=[e>>16&255,e>>8&255,e&255],this.valpha=1;else{this.valpha=1;let a=Object.keys(e);"alpha"in e&&(a.splice(a.indexOf("alpha"),1),this.valpha=typeof e.alpha=="number"?e.alpha:0);let i=a.sort().join("");if(!(i in _D))throw new Error("Unable to parse color from object: "+JSON.stringify(e));this.model=_D[i];let{labels:o}=Od[this.model],s=[];for(r=0;r{gK();_K();wK=["keyword","gray","hex"],_D={};for(let e of Object.keys(Od))_D[[...Od[e].labels].sort().join("")]=e;M5={};gh.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(e){let t=this.model in Py.to?this:this.rgb();t=t.round(typeof e=="number"?e:1);let r=t.valpha===1?t.color:[...t.color,this.valpha];return Py.to[t.model](...r)},percentString(e){let t=this.rgb().round(typeof e=="number"?e:1),r=t.valpha===1?t.color:[...t.color,this.valpha];return Py.to.rgb.percent(...r)},array(){return this.valpha===1?[...this.color]:[...this.color,this.valpha]},object(){let e={},{channels:t}=Od[this.model],{labels:r}=Od[this.model];for(let n=0;n(e%360+360)%360),saturationl:Rc("hsl",1,jf(100)),lightness:Rc("hsl",2,jf(100)),saturationv:Rc("hsv",1,jf(100)),value:Rc("hsv",2,jf(100)),chroma:Rc("hcg",1,jf(100)),gray:Rc("hcg",2,jf(100)),white:Rc("hwb",1,jf(100)),wblack:Rc("hwb",2,jf(100)),cyan:Rc("cmyk",0,jf(100)),magenta:Rc("cmyk",1,jf(100)),yellow:Rc("cmyk",2,jf(100)),black:Rc("cmyk",3,jf(100)),x:Rc("xyz",0,jf(95.047)),y:Rc("xyz",1,jf(100)),z:Rc("xyz",2,jf(108.833)),l:Rc("lab",0,jf(100)),a:Rc("lab",1),b:Rc("lab",2),keyword(e){return e!==void 0?new gh(e):Od[this.model].keyword(this.color)},hex(e){return e!==void 0?new gh(e):Py.to.hex(...this.rgb().round().color)},hexa(e){if(e!==void 0)return new gh(e);let t=this.rgb().round().color,r=Math.round(this.valpha*255).toString(16).toUpperCase();return r.length===1&&(r="0"+r),Py.to.hex(...t)+r},rgbNumber(){let e=this.rgb().color;return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255},luminosity(){let e=this.rgb().color,t=[];for(let[r,n]of e.entries()){let a=n/255;t[r]=a<=.04045?a/12.92:((a+.055)/1.055)**2.4}return .2126*t[0]+.7152*t[1]+.0722*t[2]},contrast(e){let t=this.luminosity(),r=e.luminosity();return t>r?(t+.05)/(r+.05):(r+.05)/(t+.05)},level(e){let t=this.contrast(e);return t>=7?"AAA":t>=4.5?"AA":""},isDark(){let e=this.rgb().color;return(e[0]*2126+e[1]*7152+e[2]*722)/1e4<128},isLight(){return!this.isDark()},negate(){let e=this.rgb();for(let t=0;t<3;t++)e.color[t]=255-e.color[t];return e},lighten(e){let t=this.hsl();return t.color[2]+=t.color[2]*e,t},darken(e){let t=this.hsl();return t.color[2]-=t.color[2]*e,t},saturate(e){let t=this.hsl();return t.color[1]+=t.color[1]*e,t},desaturate(e){let t=this.hsl();return t.color[1]-=t.color[1]*e,t},whiten(e){let t=this.hwb();return t.color[1]+=t.color[1]*e,t},blacken(e){let t=this.hwb();return t.color[2]+=t.color[2]*e,t},grayscale(){let e=this.rgb().color,t=e[0]*.3+e[1]*.59+e[2]*.11;return gh.rgb(t,t,t)},fade(e){return this.alpha(this.valpha-this.valpha*e)},opaquer(e){return this.alpha(this.valpha+this.valpha*e)},rotate(e){let t=this.hsl(),r=t.color[0];return r=(r+e)%360,r=r<0?360+r:r,t.color[0]=r,t},mix(e,t){if(!e||!e.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof e);let r=e.rgb(),n=this.rgb(),a=t===void 0?.5:t,i=2*a-1,o=r.alpha()-n.alpha(),s=((i*o===-1?i:(i+o)/(1+i*o))+1)/2,l=1-s;return gh.rgb(s*r.red()+l*n.red(),s*r.green()+l*n.green(),s*r.blue()+l*n.blue(),r.alpha()*a+n.alpha()*(1-a))}};for(let e of Object.keys(Od)){if(wK.includes(e))continue;let{channels:t}=Od[e];gh.prototype[e]=function(...r){return this.model===e?new gh(this):r.length>0?new gh(r,e):new gh([...zKe(Od[this.model][e].raw(this.color)),this.valpha],e)},gh[e]=function(...r){let n=r[0];return typeof n=="number"&&(n=wD(r,t)),new gh(n,e)}}qKe=gh});var Dy=ne((dJt,kK)=>{"use strict";var MK={staticPlot:{valType:"boolean",dflt:!1},typesetMath:{valType:"boolean",dflt:!0},plotlyServerURL:{valType:"string",dflt:"https://cloud.plotly.com/newchart"},editable:{valType:"boolean",dflt:!1},edits:{annotationPosition:{valType:"boolean",dflt:!1},annotationTail:{valType:"boolean",dflt:!1},annotationText:{valType:"boolean",dflt:!1},axisTitleText:{valType:"boolean",dflt:!1},colorbarPosition:{valType:"boolean",dflt:!1},colorbarTitleText:{valType:"boolean",dflt:!1},legendPosition:{valType:"boolean",dflt:!1},legendText:{valType:"boolean",dflt:!1},shapePosition:{valType:"boolean",dflt:!1},titleText:{valType:"boolean",dflt:!1}},editSelection:{valType:"boolean",dflt:!0},autosizable:{valType:"boolean",dflt:!1},responsive:{valType:"boolean",dflt:!1},fillFrame:{valType:"boolean",dflt:!1},frameMargins:{valType:"number",dflt:0,min:0,max:.5},scrollZoom:{valType:"flaglist",flags:["cartesian","gl3d","geo","map"],extras:[!0,!1],dflt:"gl3d+geo+map"},doubleClick:{valType:"enumerated",values:[!1,"reset","autosize","reset+autosize"],dflt:"reset+autosize"},doubleClickDelay:{valType:"number",dflt:300,min:0},showAxisDragHandles:{valType:"boolean",dflt:!0},showAxisRangeEntryBoxes:{valType:"boolean",dflt:!0},showTips:{valType:"boolean",dflt:!0},displayNotifier:{valType:"boolean",dflt:!0},displayModeBar:{valType:"enumerated",values:["hover",!0,!1],dflt:"hover"},showSendToCloud:{valType:"boolean",dflt:!0},modeBarButtonsToRemove:{valType:"any",dflt:[]},modeBarButtonsToAdd:{valType:"any",dflt:[]},modeBarButtons:{valType:"any",dflt:!1},toImageButtonOptions:{valType:"any",dflt:{}},displaylogo:{valType:"boolean",dflt:!0},watermark:{valType:"boolean",dflt:!1},plotGlPixelRatio:{valType:"number",dflt:2,min:1,max:4},setBackground:{valType:"any",dflt:"transparent"},topojsonURL:{valType:"string",noBlank:!0,dflt:"https://cdn.plot.ly/un/"},logging:{valType:"integer",min:0,max:2,dflt:1},notifyOnLogging:{valType:"integer",min:0,max:2,dflt:0},queueLength:{valType:"integer",min:0,dflt:0},locale:{valType:"string",dflt:"en-US"},locales:{valType:"any",dflt:{}}},SK={};function EK(e,t){for(var r in e){var n=e[r];n.valType?t[r]=n.dflt:(t[r]||(t[r]={}),EK(n,t[r]))}}EK(MK,SK);kK.exports={configAttributes:MK,dfltConfig:SK}});var AD=ne((vJt,CK)=>{"use strict";var TD=Ea(),BKe=mi(),S5=[];CK.exports=function(e,t,r){var s;if(((s=r==null?void 0:r._context)==null?void 0:s.displayNotifier)===!1||S5.indexOf(e)!==-1)return;S5.push(e);var n=1e3;BKe(t)?n=t:t==="long"&&(n=3e3);var a=TD.select("body").selectAll(".plotly-notifier").data([0]);a.enter().append("div").classed("plotly-notifier",!0);var i=a.selectAll(".notifier-note").data(S5);function o(l){l.duration(700).style("opacity",0).each("end",function(u){var c=S5.indexOf(u);c!==-1&&S5.splice(c,1),TD.select(this).remove()})}i.enter().append("div").classed("notifier-note",!0).style("opacity",0).each(function(l){var u=TD.select(this);u.append("button").classed("notifier-close",!0).html("×").on("click",function(){u.transition().call(o)});for(var c=u.append("p"),f=l.split(//g),h=0;h{"use strict";var xb=Dy().dfltConfig,MD=AD(),SD=LK.exports={};SD.log=function(){var e;if(xb.logging>1){var t=["LOG:"];for(e=0;e1){var r=[];for(e=0;e"),"long")}};SD.warn=function(){var e;if(xb.logging>0){var t=["WARN:"];for(e=0;e0){var r=[];for(e=0;e"),"stick")}};SD.error=function(){var e;if(xb.logging>0){var t=["ERROR:"];for(e=0;e0){var r=[];for(e=0;e"),"stick")}}});var Ic=ne(Ry=>{"use strict";Ry.defaults=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"];Ry.defaultLine="#444";Ry.lightLine="#eee";Ry.background="#fff";Ry.borderLine="#BEC8D9";Ry.lightFraction=1e3/11});var _a=ne((mJt,DK)=>{"use strict";var ED=(AK(),vl(TK)).default,{warn:OKe}=T1(),{background:LM,defaultLine:FK,defaults:NKe,lightLine:UKe}=Ic(),lu=e=>{typeof e=="string"&&(e=e.trim());try{return ED(e)}catch(t){return OKe(`Invalid color specifier: "${e}". Defaulting to "#000"`),ED("#000")}},CD=e=>{let{r:t,g:r,b:n}=lu(e).rgb().object();return`rgb(${Math.round(t)}, ${Math.round(r)}, ${Math.round(n)})`},VKe=e=>e?lu(e).alpha():0,GKe=(e,t)=>{let r=lu(e).rgb().object();return`rgba(${Math.round(r.r)}, ${Math.round(r.g)}, ${Math.round(r.b)}, ${t})`},PK=(e,t)=>{var o,s;t||(t=LM);let r=lu(e).rgb().object();if((o=r.alpha)!=null||(r.alpha=1),r.alpha===1)return lu(e).rgb().string();let n=lu(t).rgb().object();(s=n.alpha)!=null||(n.alpha=1);let a=n.alpha===1?n:{r:255*(1-n.alpha)+n.r*n.alpha,g:255*(1-n.alpha)+n.g*n.alpha,b:255*(1-n.alpha)+n.b*n.alpha},i={r:a.r*(1-r.alpha)+r.r*r.alpha,g:a.g*(1-r.alpha)+r.g*r.alpha,b:a.b*(1-r.alpha)+r.b*r.alpha};return lu(i).rgb().string()},HKe=(e,t,r)=>{let n=lu(e).rgb().object(),a=lu(t).rgb().object(),i={r:r*n.r+(1-r)*a.r,g:r*n.g+(1-r)*a.g,b:r*n.b+(1-r)*a.b};return lu(i).rgb().string()},kD=(e,t)=>{let r=lu(e);return r.lightness(r.lightness()+t)},jKe=(e,t,r)=>{let n=lu(e);return n.alpha()!==1&&(n=lu(PK(e,LM))),(n.isDark()?t?kD(n,t):lu(LM):r?kD(n,-r):lu(FK)).rgb().string()},WKe=(e,t)=>{let r=lu(t);e.style({stroke:CD(t),"stroke-opacity":r.alpha()})},YKe=(e,t)=>{let r=lu(t);e.style({fill:CD(t),"fill-opacity":r.alpha()})},XKe=(e,t)=>!!(e&&t&&lu(e).rgb().string()===lu(t).rgb().string()),ZKe=e=>{if(typeof e!="string")return!1;try{return!!ED(e.trim())}catch(t){return!1}},$Ke=(e,t)=>{var a;t=t===0?0:t||10;let r=lu(e).rgb().object(),n=Math.round(255*(t/100));return lu({r:Math.max(0,Math.min(255,r.r+n)),g:Math.max(0,Math.min(255,r.g+n)),b:Math.max(0,Math.min(255,r.b+n))}).alpha((a=r.alpha)!=null?a:1).rgb().string()},KKe=(e,t,r)=>lu(e).mix(lu(t),r/100).rgb().string(),JKe=(e,t=["#000","#fff"])=>{let r,n=-1/0;for(let a of t){let i=lu(e).contrast(lu(a));i>n&&(n=i,r=lu(a).rgb().string())}return r};DK.exports={addOpacity:GKe,adjustLightness:kD,background:LM,brighten:$Ke,color:lu,combine:PK,contrast:jKe,defaultLine:FK,defaults:NKe,equals:XKe,fill:YKe,interpolate:HKe,isValid:ZKe,lightLine:UKe,mix:KKe,mostReadable:JKe,opacity:VKe,rgb:CD,stroke:WKe}});var Iy=ne((yJt,zK)=>{"use strict";var QKe=_a(),FM={Greys:[[0,"rgb(0,0,0)"],[1,"rgb(255,255,255)"]],YlGnBu:[[0,"rgb(8,29,88)"],[.125,"rgb(37,52,148)"],[.25,"rgb(34,94,168)"],[.375,"rgb(29,145,192)"],[.5,"rgb(65,182,196)"],[.625,"rgb(127,205,187)"],[.75,"rgb(199,233,180)"],[.875,"rgb(237,248,217)"],[1,"rgb(255,255,217)"]],Greens:[[0,"rgb(0,68,27)"],[.125,"rgb(0,109,44)"],[.25,"rgb(35,139,69)"],[.375,"rgb(65,171,93)"],[.5,"rgb(116,196,118)"],[.625,"rgb(161,217,155)"],[.75,"rgb(199,233,192)"],[.875,"rgb(229,245,224)"],[1,"rgb(247,252,245)"]],YlOrRd:[[0,"rgb(128,0,38)"],[.125,"rgb(189,0,38)"],[.25,"rgb(227,26,28)"],[.375,"rgb(252,78,42)"],[.5,"rgb(253,141,60)"],[.625,"rgb(254,178,76)"],[.75,"rgb(254,217,118)"],[.875,"rgb(255,237,160)"],[1,"rgb(255,255,204)"]],Bluered:[[0,"rgb(0,0,255)"],[1,"rgb(255,0,0)"]],RdBu:[[0,"rgb(5,10,172)"],[.35,"rgb(106,137,247)"],[.5,"rgb(190,190,190)"],[.6,"rgb(220,170,132)"],[.7,"rgb(230,145,90)"],[1,"rgb(178,10,28)"]],Reds:[[0,"rgb(220,220,220)"],[.2,"rgb(245,195,157)"],[.4,"rgb(245,160,105)"],[1,"rgb(178,10,28)"]],Blues:[[0,"rgb(5,10,172)"],[.35,"rgb(40,60,190)"],[.5,"rgb(70,100,245)"],[.6,"rgb(90,120,245)"],[.7,"rgb(106,137,247)"],[1,"rgb(220,220,220)"]],Picnic:[[0,"rgb(0,0,255)"],[.1,"rgb(51,153,255)"],[.2,"rgb(102,204,255)"],[.3,"rgb(153,204,255)"],[.4,"rgb(204,204,255)"],[.5,"rgb(255,255,255)"],[.6,"rgb(255,204,255)"],[.7,"rgb(255,153,255)"],[.8,"rgb(255,102,204)"],[.9,"rgb(255,102,102)"],[1,"rgb(255,0,0)"]],Rainbow:[[0,"rgb(150,0,90)"],[.125,"rgb(0,0,200)"],[.25,"rgb(0,25,255)"],[.375,"rgb(0,152,255)"],[.5,"rgb(44,255,150)"],[.625,"rgb(151,255,0)"],[.75,"rgb(255,234,0)"],[.875,"rgb(255,111,0)"],[1,"rgb(255,0,0)"]],Portland:[[0,"rgb(12,51,131)"],[.25,"rgb(10,136,186)"],[.5,"rgb(242,211,56)"],[.75,"rgb(242,143,56)"],[1,"rgb(217,30,30)"]],Jet:[[0,"rgb(0,0,131)"],[.125,"rgb(0,60,170)"],[.375,"rgb(5,255,255)"],[.625,"rgb(255,255,0)"],[.875,"rgb(250,0,0)"],[1,"rgb(128,0,0)"]],Hot:[[0,"rgb(0,0,0)"],[.3,"rgb(230,0,0)"],[.6,"rgb(255,210,0)"],[1,"rgb(255,255,255)"]],Blackbody:[[0,"rgb(0,0,0)"],[.2,"rgb(230,0,0)"],[.4,"rgb(230,210,0)"],[.7,"rgb(255,255,255)"],[1,"rgb(160,200,255)"]],Earth:[[0,"rgb(0,0,130)"],[.1,"rgb(0,180,180)"],[.2,"rgb(40,210,40)"],[.4,"rgb(230,230,50)"],[.6,"rgb(120,70,20)"],[1,"rgb(255,255,255)"]],Electric:[[0,"rgb(0,0,0)"],[.15,"rgb(30,0,100)"],[.4,"rgb(120,0,100)"],[.6,"rgb(160,90,0)"],[.8,"rgb(230,200,0)"],[1,"rgb(255,250,220)"]],Viridis:[[0,"#440154"],[.06274509803921569,"#48186a"],[.12549019607843137,"#472d7b"],[.18823529411764706,"#424086"],[.25098039215686274,"#3b528b"],[.3137254901960784,"#33638d"],[.3764705882352941,"#2c728e"],[.4392156862745098,"#26828e"],[.5019607843137255,"#21918c"],[.5647058823529412,"#1fa088"],[.6274509803921569,"#28ae80"],[.6901960784313725,"#3fbc73"],[.7529411764705882,"#5ec962"],[.8156862745098039,"#84d44b"],[.8784313725490196,"#addc30"],[.9411764705882353,"#d8e219"],[1,"#fde725"]],Cividis:[[0,"rgb(0,32,76)"],[.058824,"rgb(0,42,102)"],[.117647,"rgb(0,52,110)"],[.176471,"rgb(39,63,108)"],[.235294,"rgb(60,74,107)"],[.294118,"rgb(76,85,107)"],[.352941,"rgb(91,95,109)"],[.411765,"rgb(104,106,112)"],[.470588,"rgb(117,117,117)"],[.529412,"rgb(131,129,120)"],[.588235,"rgb(146,140,120)"],[.647059,"rgb(161,152,118)"],[.705882,"rgb(176,165,114)"],[.764706,"rgb(192,177,109)"],[.823529,"rgb(209,191,102)"],[.882353,"rgb(225,204,92)"],[.941176,"rgb(243,219,79)"],[1,"rgb(255,233,69)"]]},RK=FM.RdBu;function eJe(e,t){if(t||(t=RK),!e)return t;function r(){try{e=FM[e]||JSON.parse(e)}catch(n){e=t}}return typeof e=="string"&&(r(),typeof e=="string"&&r()),IK(e)?e:t}function IK(e){var t=0;if(!Array.isArray(e)||e.length<2||!e[0]||!e[e.length-1]||+e[0][0]!=0||+e[e.length-1][0]!=1)return!1;for(var r=0;r{"use strict";qK.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}});var bb={};E0(bb,{counter:()=>rJe});function rJe(e,t="",r,n){let a=t+(r?"":"$"),i=n===!1?"":"^";return e==="xy"?new RegExp(i+"x"+LD+"y"+LD+a):new RegExp(i+e+LD+a)}var LD,_b=lo(()=>{"use strict";LD="([2-9]|[1-9][0-9]+)?"});var NK=ne(Nd=>{"use strict";var FD=mi(),BK=ci().extendFlat,nJe=os(),aJe=Iy(),PD=_a(),iJe=A1().DESELECTDIM,wb=m5(),OK=(_b(),vl(bb)).counter,oJe=(hb(),vl(fb)).modHalf,C0=Ih().isArrayOrTypedArray,Dg=Ih().isTypedArraySpec,Rg=Ih().decodeTypedArraySpec;Nd.valObjectMeta={data_array:{coerceFunction:function(e,t,r){t.set(C0(e)?e:Dg(e)?Rg(e):r)}},enumerated:{coerceFunction:function(e,t,r,n){n.coerceNumber&&(e=+e),n.values.indexOf(e)===-1?t.set(r):t.set(e)},validateFunction:function(e,t){t.coerceNumber&&(e=+e);for(var r=t.values,n=0;ni===!0||i===!1;a(e)||n.arrayOk&&Array.isArray(e)&&e.length>0&&e.every(a)?t.set(e):t.set(r)}},number:{coerceFunction:function(e,t,r,n){Dg(e)&&(e=Rg(e)),!FD(e)||n.min!==void 0&&en.max?t.set(r):t.set(+e)}},integer:{coerceFunction:function(e,t,r,n){if((n.extras||[]).indexOf(e)!==-1){t.set(e);return}Dg(e)&&(e=Rg(e)),e%1||!FD(e)||n.min!==void 0&&en.max?t.set(r):t.set(+e)}},string:{coerceFunction:function(e,t,r,n){if(typeof e!="string"){var a=typeof e=="number";n.strict===!0||!a?t.set(r):t.set(String(e))}else n.noBlank&&!e?t.set(r):t.set(e)}},color:{coerceFunction:function(e,t,r){Dg(e)&&(e=Rg(e)),PD.isValid(e)?t.set(e):t.set(r)}},colorlist:{coerceFunction:function(e,t,r){!Array.isArray(e)||!e.length?t.set(r):e.every(n=>PD.isValid(n))?t.set(e):t.set(r)}},colorscale:{coerceFunction:function(e,t,r){t.set(aJe.get(e,r))}},angle:{coerceFunction:function(e,t,r){Dg(e)&&(e=Rg(e)),e==="auto"?t.set("auto"):FD(e)?t.set(oJe(+e,360)):t.set(r)}},subplotid:{coerceFunction:function(e,t,r,n){var a=n.regex||OK(r);let i=o=>typeof o=="string"&&a.test(o);i(e)||n.arrayOk&&C0(e)&&e.length>0&&e.every(i)?t.set(e):t.set(r)},validateFunction:function(e,t){var r=t.dflt;return e===r?!0:typeof e!="string"?!1:!!OK(r).test(e)}},flaglist:{coerceFunction:function(e,t,r,n){if((n.extras||[]).indexOf(e)!==-1){t.set(e);return}if(typeof e!="string"){t.set(r);return}for(var a=e.split("+"),i=0;i{"use strict";UK.exports=function(){}});var DD=ne((wJt,VK)=>{"use strict";VK.exports=function(t,r){if(r instanceof RegExp){for(var n=r.toString(),a=0;a{GK.exports=sJe;function sJe(){var e=new Float32Array(16);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var WK=ne((AJt,jK)=>{jK.exports=lJe;function lJe(e){var t=new Float32Array(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}});var XK=ne((MJt,YK)=>{YK.exports=uJe;function uJe(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var RD=ne((SJt,ZK)=>{ZK.exports=cJe;function cJe(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var KK=ne((EJt,$K)=>{$K.exports=fJe;function fJe(e,t){if(e===t){var r=t[1],n=t[2],a=t[3],i=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=i,e[11]=t[14],e[12]=a,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}});var QK=ne((kJt,JK)=>{JK.exports=hJe;function hJe(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],f=t[9],h=t[10],v=t[11],d=t[12],m=t[13],x=t[14],g=t[15],E=r*s-n*o,M=r*l-a*o,w=r*u-i*o,k=n*l-a*s,y=n*u-i*s,S=a*u-i*l,T=c*m-f*d,p=c*x-h*d,C=c*g-v*d,A=f*x-h*m,P=f*g-v*m,D=h*g-v*x,z=E*D-M*P+w*A+k*C-y*p+S*T;return z?(z=1/z,e[0]=(s*D-l*P+u*A)*z,e[1]=(a*P-n*D-i*A)*z,e[2]=(m*S-x*y+g*k)*z,e[3]=(h*y-f*S-v*k)*z,e[4]=(l*C-o*D-u*p)*z,e[5]=(r*D-a*C+i*p)*z,e[6]=(x*w-d*S-g*M)*z,e[7]=(c*S-h*w+v*M)*z,e[8]=(o*P-s*C+u*T)*z,e[9]=(n*C-r*P-i*T)*z,e[10]=(d*y-m*w+g*E)*z,e[11]=(f*w-c*y-v*E)*z,e[12]=(s*p-o*A-l*T)*z,e[13]=(r*A-n*p+a*T)*z,e[14]=(m*M-d*k-x*E)*z,e[15]=(c*k-f*M+h*E)*z,e):null}});var tJ=ne((CJt,eJ)=>{eJ.exports=dJe;function dJe(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],f=t[9],h=t[10],v=t[11],d=t[12],m=t[13],x=t[14],g=t[15];return e[0]=s*(h*g-v*x)-f*(l*g-u*x)+m*(l*v-u*h),e[1]=-(n*(h*g-v*x)-f*(a*g-i*x)+m*(a*v-i*h)),e[2]=n*(l*g-u*x)-s*(a*g-i*x)+m*(a*u-i*l),e[3]=-(n*(l*v-u*h)-s*(a*v-i*h)+f*(a*u-i*l)),e[4]=-(o*(h*g-v*x)-c*(l*g-u*x)+d*(l*v-u*h)),e[5]=r*(h*g-v*x)-c*(a*g-i*x)+d*(a*v-i*h),e[6]=-(r*(l*g-u*x)-o*(a*g-i*x)+d*(a*u-i*l)),e[7]=r*(l*v-u*h)-o*(a*v-i*h)+c*(a*u-i*l),e[8]=o*(f*g-v*m)-c*(s*g-u*m)+d*(s*v-u*f),e[9]=-(r*(f*g-v*m)-c*(n*g-i*m)+d*(n*v-i*f)),e[10]=r*(s*g-u*m)-o*(n*g-i*m)+d*(n*u-i*s),e[11]=-(r*(s*v-u*f)-o*(n*v-i*f)+c*(n*u-i*s)),e[12]=-(o*(f*x-h*m)-c*(s*x-l*m)+d*(s*h-l*f)),e[13]=r*(f*x-h*m)-c*(n*x-a*m)+d*(n*h-a*f),e[14]=-(r*(s*x-l*m)-o*(n*x-a*m)+d*(n*l-a*s)),e[15]=r*(s*h-l*f)-o*(n*h-a*f)+c*(n*l-a*s),e}});var nJ=ne((LJt,rJ)=>{rJ.exports=vJe;function vJe(e){var t=e[0],r=e[1],n=e[2],a=e[3],i=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],f=e[10],h=e[11],v=e[12],d=e[13],m=e[14],x=e[15],g=t*o-r*i,E=t*s-n*i,M=t*l-a*i,w=r*s-n*o,k=r*l-a*o,y=n*l-a*s,S=u*d-c*v,T=u*m-f*v,p=u*x-h*v,C=c*m-f*d,A=c*x-h*d,P=f*x-h*m;return g*P-E*A+M*C+w*p-k*T+y*S}});var iJ=ne((FJt,aJ)=>{aJ.exports=pJe;function pJe(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],f=t[8],h=t[9],v=t[10],d=t[11],m=t[12],x=t[13],g=t[14],E=t[15],M=r[0],w=r[1],k=r[2],y=r[3];return e[0]=M*n+w*s+k*f+y*m,e[1]=M*a+w*l+k*h+y*x,e[2]=M*i+w*u+k*v+y*g,e[3]=M*o+w*c+k*d+y*E,M=r[4],w=r[5],k=r[6],y=r[7],e[4]=M*n+w*s+k*f+y*m,e[5]=M*a+w*l+k*h+y*x,e[6]=M*i+w*u+k*v+y*g,e[7]=M*o+w*c+k*d+y*E,M=r[8],w=r[9],k=r[10],y=r[11],e[8]=M*n+w*s+k*f+y*m,e[9]=M*a+w*l+k*h+y*x,e[10]=M*i+w*u+k*v+y*g,e[11]=M*o+w*c+k*d+y*E,M=r[12],w=r[13],k=r[14],y=r[15],e[12]=M*n+w*s+k*f+y*m,e[13]=M*a+w*l+k*h+y*x,e[14]=M*i+w*u+k*v+y*g,e[15]=M*o+w*c+k*d+y*E,e}});var sJ=ne((PJt,oJ)=>{oJ.exports=gJe;function gJe(e,t,r){var n=r[0],a=r[1],i=r[2],o,s,l,u,c,f,h,v,d,m,x,g;return t===e?(e[12]=t[0]*n+t[4]*a+t[8]*i+t[12],e[13]=t[1]*n+t[5]*a+t[9]*i+t[13],e[14]=t[2]*n+t[6]*a+t[10]*i+t[14],e[15]=t[3]*n+t[7]*a+t[11]*i+t[15]):(o=t[0],s=t[1],l=t[2],u=t[3],c=t[4],f=t[5],h=t[6],v=t[7],d=t[8],m=t[9],x=t[10],g=t[11],e[0]=o,e[1]=s,e[2]=l,e[3]=u,e[4]=c,e[5]=f,e[6]=h,e[7]=v,e[8]=d,e[9]=m,e[10]=x,e[11]=g,e[12]=o*n+c*a+d*i+t[12],e[13]=s*n+f*a+m*i+t[13],e[14]=l*n+h*a+x*i+t[14],e[15]=u*n+v*a+g*i+t[15]),e}});var uJ=ne((DJt,lJ)=>{lJ.exports=mJe;function mJe(e,t,r){var n=r[0],a=r[1],i=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*a,e[5]=t[5]*a,e[6]=t[6]*a,e[7]=t[7]*a,e[8]=t[8]*i,e[9]=t[9]*i,e[10]=t[10]*i,e[11]=t[11]*i,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var fJ=ne((RJt,cJ)=>{cJ.exports=yJe;function yJe(e,t,r,n){var a=n[0],i=n[1],o=n[2],s=Math.sqrt(a*a+i*i+o*o),l,u,c,f,h,v,d,m,x,g,E,M,w,k,y,S,T,p,C,A,P,D,z,q;return Math.abs(s)<1e-6?null:(s=1/s,a*=s,i*=s,o*=s,l=Math.sin(r),u=Math.cos(r),c=1-u,f=t[0],h=t[1],v=t[2],d=t[3],m=t[4],x=t[5],g=t[6],E=t[7],M=t[8],w=t[9],k=t[10],y=t[11],S=a*a*c+u,T=i*a*c+o*l,p=o*a*c-i*l,C=a*i*c-o*l,A=i*i*c+u,P=o*i*c+a*l,D=a*o*c+i*l,z=i*o*c-a*l,q=o*o*c+u,e[0]=f*S+m*T+M*p,e[1]=h*S+x*T+w*p,e[2]=v*S+g*T+k*p,e[3]=d*S+E*T+y*p,e[4]=f*C+m*A+M*P,e[5]=h*C+x*A+w*P,e[6]=v*C+g*A+k*P,e[7]=d*C+E*A+y*P,e[8]=f*D+m*z+M*q,e[9]=h*D+x*z+w*q,e[10]=v*D+g*z+k*q,e[11]=d*D+E*z+y*q,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}});var dJ=ne((IJt,hJ)=>{hJ.exports=xJe;function xJe(e,t,r){var n=Math.sin(r),a=Math.cos(r),i=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],f=t[10],h=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=i*a+u*n,e[5]=o*a+c*n,e[6]=s*a+f*n,e[7]=l*a+h*n,e[8]=u*a-i*n,e[9]=c*a-o*n,e[10]=f*a-s*n,e[11]=h*a-l*n,e}});var pJ=ne((zJt,vJ)=>{vJ.exports=bJe;function bJe(e,t,r){var n=Math.sin(r),a=Math.cos(r),i=t[0],o=t[1],s=t[2],l=t[3],u=t[8],c=t[9],f=t[10],h=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*a-u*n,e[1]=o*a-c*n,e[2]=s*a-f*n,e[3]=l*a-h*n,e[8]=i*n+u*a,e[9]=o*n+c*a,e[10]=s*n+f*a,e[11]=l*n+h*a,e}});var mJ=ne((qJt,gJ)=>{gJ.exports=_Je;function _Je(e,t,r){var n=Math.sin(r),a=Math.cos(r),i=t[0],o=t[1],s=t[2],l=t[3],u=t[4],c=t[5],f=t[6],h=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*a+u*n,e[1]=o*a+c*n,e[2]=s*a+f*n,e[3]=l*a+h*n,e[4]=u*a-i*n,e[5]=c*a-o*n,e[6]=f*a-s*n,e[7]=h*a-l*n,e}});var xJ=ne((BJt,yJ)=>{yJ.exports=wJe;function wJe(e,t,r){var n,a,i,o=r[0],s=r[1],l=r[2],u=Math.sqrt(o*o+s*s+l*l);return Math.abs(u)<1e-6?null:(u=1/u,o*=u,s*=u,l*=u,n=Math.sin(t),a=Math.cos(t),i=1-a,e[0]=o*o*i+a,e[1]=s*o*i+l*n,e[2]=l*o*i-s*n,e[3]=0,e[4]=o*s*i-l*n,e[5]=s*s*i+a,e[6]=l*s*i+o*n,e[7]=0,e[8]=o*l*i+s*n,e[9]=s*l*i-o*n,e[10]=l*l*i+a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}});var _J=ne((OJt,bJ)=>{bJ.exports=TJe;function TJe(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=n+n,l=a+a,u=i+i,c=n*s,f=n*l,h=n*u,v=a*l,d=a*u,m=i*u,x=o*s,g=o*l,E=o*u;return e[0]=1-(v+m),e[1]=f+E,e[2]=h-g,e[3]=0,e[4]=f-E,e[5]=1-(c+m),e[6]=d+x,e[7]=0,e[8]=h+g,e[9]=d-x,e[10]=1-(c+v),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}});var TJ=ne((NJt,wJ)=>{wJ.exports=AJe;function AJe(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var MJ=ne((UJt,AJ)=>{AJ.exports=MJe;function MJe(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}});var EJ=ne((VJt,SJ)=>{SJ.exports=SJe;function SJe(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var CJ=ne((GJt,kJ)=>{kJ.exports=EJe;function EJe(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var FJ=ne((HJt,LJ)=>{LJ.exports=kJe;function kJe(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var DJ=ne((jJt,PJ)=>{PJ.exports=CJe;function CJe(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=r+r,s=n+n,l=a+a,u=r*o,c=n*o,f=n*s,h=a*o,v=a*s,d=a*l,m=i*o,x=i*s,g=i*l;return e[0]=1-f-d,e[1]=c+g,e[2]=h-x,e[3]=0,e[4]=c-g,e[5]=1-u-d,e[6]=v+m,e[7]=0,e[8]=h+x,e[9]=v-m,e[10]=1-u-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var IJ=ne((WJt,RJ)=>{RJ.exports=LJe;function LJe(e,t,r,n,a,i,o){var s=1/(r-t),l=1/(a-n),u=1/(i-o);return e[0]=i*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=i*2*l,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(a+n)*l,e[10]=(o+i)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*i*2*u,e[15]=0,e}});var qJ=ne((YJt,zJ)=>{zJ.exports=FJe;function FJe(e,t,r,n,a){var i=1/Math.tan(t/2),o=1/(n-a);return e[0]=i/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=i,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=(a+n)*o,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*a*n*o,e[15]=0,e}});var OJ=ne((XJt,BJ)=>{BJ.exports=PJe;function PJe(e,t,r,n){var a=Math.tan(t.upDegrees*Math.PI/180),i=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(a+i);return e[0]=l,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=u,e[6]=0,e[7]=0,e[8]=-((o-s)*l*.5),e[9]=(a-i)*u*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}});var UJ=ne((ZJt,NJ)=>{NJ.exports=DJe;function DJe(e,t,r,n,a,i,o){var s=1/(t-r),l=1/(n-a),u=1/(i-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*s,e[13]=(a+n)*l,e[14]=(o+i)*u,e[15]=1,e}});var GJ=ne(($Jt,VJ)=>{var RJe=RD();VJ.exports=IJe;function IJe(e,t,r,n){var a,i,o,s,l,u,c,f,h,v,d=t[0],m=t[1],x=t[2],g=n[0],E=n[1],M=n[2],w=r[0],k=r[1],y=r[2];return Math.abs(d-w)<1e-6&&Math.abs(m-k)<1e-6&&Math.abs(x-y)<1e-6?RJe(e):(c=d-w,f=m-k,h=x-y,v=1/Math.sqrt(c*c+f*f+h*h),c*=v,f*=v,h*=v,a=E*h-M*f,i=M*c-g*h,o=g*f-E*c,v=Math.sqrt(a*a+i*i+o*o),v?(v=1/v,a*=v,i*=v,o*=v):(a=0,i=0,o=0),s=f*o-h*i,l=h*a-c*o,u=c*i-f*a,v=Math.sqrt(s*s+l*l+u*u),v?(v=1/v,s*=v,l*=v,u*=v):(s=0,l=0,u=0),e[0]=a,e[1]=s,e[2]=c,e[3]=0,e[4]=i,e[5]=l,e[6]=f,e[7]=0,e[8]=o,e[9]=u,e[10]=h,e[11]=0,e[12]=-(a*d+i*m+o*x),e[13]=-(s*d+l*m+u*x),e[14]=-(c*d+f*m+h*x),e[15]=1,e)}});var jJ=ne((KJt,HJ)=>{HJ.exports=zJe;function zJe(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"}});var ID=ne((JJt,WJ)=>{WJ.exports={create:HK(),clone:WK(),copy:XK(),identity:RD(),transpose:KK(),invert:QK(),adjoint:tJ(),determinant:nJ(),multiply:iJ(),translate:sJ(),scale:uJ(),rotate:fJ(),rotateX:dJ(),rotateY:pJ(),rotateZ:mJ(),fromRotation:xJ(),fromRotationTranslation:_J(),fromScaling:TJ(),fromTranslation:MJ(),fromXRotation:EJ(),fromYRotation:CJ(),fromZRotation:FJ(),fromQuat:DJ(),frustum:IJ(),perspective:qJ(),perspectiveFromFieldOfView:OJ(),ortho:UJ(),lookAt:GJ(),str:jJ()}});var RM=ne(lc=>{"use strict";var qJe=ID();lc.init2dArray=function(e,t){for(var r=new Array(e),n=0;n{"use strict";var BJe=Ea(),YJ=T1(),OJe=RM(),NJe=ID();function UJe(e){var t;if(typeof e=="string"){if(t=document.getElementById(e),t===null)throw new Error("No DOM element with id '"+e+"' exists on the page.");return t}else if(e==null)throw new Error("DOM element provided is null or undefined");return e}function VJe(e){var t=BJe.select(e);return t.node()instanceof HTMLElement&&t.size()&&t.classed("js-plotly-plot")}function XJ(e){var t=e&&e.parentNode;t&&t.removeChild(e)}function GJe(e,t){ZJ("global",e,t)}function ZJ(e,t,r){var n="plotly.js-style-"+e,a=document.getElementById(n);if(!(a&&a.matches(".no-inline-styles"))){a||(a=document.createElement("style"),a.setAttribute("id",n),a.appendChild(document.createTextNode("")),document.head.appendChild(a));var i=a.sheet;i?i.insertRule?i.insertRule(t+"{"+r+"}",0):i.addRule?i.addRule(t,r,0):YJ.warn("addStyleRule failed"):YJ.warn("Cannot addRelatedStyleRule, probably due to strict CSP...")}}function HJe(e){var t="plotly.js-style-"+e,r=document.getElementById(t);r&&XJ(r)}function jJe(e,t,r,n,a,i){var o=n.split(":"),s=a.split(":"),l="data-btn-style-event-added";i||(i=document),i.querySelectorAll(e).forEach(function(u){u.getAttribute(l)||(u.addEventListener("mouseenter",function(){var c=this.querySelector(r);c&&(c.style[o[0]]=o[1])}),u.addEventListener("mouseleave",function(){var c=this.querySelector(r);c&&(t&&this.matches(t)?c.style[o[0]]=o[1]:c.style[s[0]]=s[1])}),u.setAttribute(l,!0))})}function WJe(e){var t=KJ(e),r=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return t.forEach(function(n){var a=$J(n);if(a){var i=OJe.convertCssMatrix(a);r=NJe.multiply(r,r,i)}}),r}function $J(e){var t=window.getComputedStyle(e,null),r=t.getPropertyValue("-webkit-transform")||t.getPropertyValue("-moz-transform")||t.getPropertyValue("-ms-transform")||t.getPropertyValue("-o-transform")||t.getPropertyValue("transform");return r==="none"?null:r.replace("matrix","").replace("3d","").slice(1,-1).split(",").map(function(n){return+n})}function KJ(e){for(var t=[];YJe(e);)t.push(e),e=e.parentNode,typeof ShadowRoot=="function"&&e instanceof ShadowRoot&&(e=e.host);return t}function YJe(e){return e&&(e instanceof Element||e instanceof HTMLElement)}function XJe(e,t){return e&&t&&e.top===t.top&&e.left===t.left&&e.right===t.right&&e.bottom===t.bottom}JJ.exports={getGraphDiv:UJe,isPlotDiv:VJe,removeElement:XJ,addStyleRule:GJe,addRelatedStyleRule:ZJ,deleteRelatedStyleRule:HJe,setStyleOnHover:jJe,getFullTransformMatrix:WJe,getElementTransformMatrix:$J,getElementAndAncestors:KJ,equalDomRects:XJe}});var k5=ne((tQt,QJ)=>{"use strict";QJ.exports={mode:{valType:"enumerated",dflt:"afterall",values:["immediate","next","afterall"]},direction:{valType:"enumerated",values:["forward","reverse"],dflt:"forward"},fromcurrent:{valType:"boolean",dflt:!1},frame:{duration:{valType:"number",min:0,dflt:500},redraw:{valType:"boolean",dflt:!0}},transition:{duration:{valType:"number",min:0,dflt:500,editType:"none"},easing:{valType:"enumerated",dflt:"cubic-in-out",values:["linear","quad","cubic","sin","exp","circle","elastic","back","bounce","linear-in","quad-in","cubic-in","sin-in","exp-in","circle-in","elastic-in","back-in","bounce-in","linear-out","quad-out","cubic-out","sin-out","exp-out","circle-out","elastic-out","back-out","bounce-out","linear-in-out","quad-in-out","cubic-in-out","sin-in-out","exp-in-out","circle-in-out","elastic-in-out","back-in-out","bounce-in-out"],editType:"none"},ordering:{valType:"enumerated",values:["layout first","traces first"],dflt:"layout first",editType:"none"}}}});var Il=ne((rQt,oQ)=>{"use strict";var tQ=ci().extendFlat,ZJe=Lg(),rQ={valType:"flaglist",extras:["none"],flags:["calc","clearAxisTypes","plot","style","markerSize","colorbars"]},nQ={valType:"flaglist",extras:["none"],flags:["calc","plot","legend","ticks","axrange","layoutstyle","modebar","camera","arraydraw","colorbars"]},$Je=rQ.flags.slice().concat(["fullReplot"]),KJe=nQ.flags.slice().concat("layoutReplot");oQ.exports={traces:rQ,layout:nQ,traceFlags:function(){return eQ($Je)},layoutFlags:function(){return eQ(KJe)},update:function(e,t){var r=t.editType;if(r&&r!=="none")for(var n=r.split("+"),a=0;a{"use strict";zD.dash={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"};zD.pattern={shape:{valType:"enumerated",values:["","/","\\","x","-","|","+","."],dflt:"",arrayOk:!0,editType:"style"},path:{valType:"string",arrayOk:!0,editType:"style"},fillmode:{valType:"enumerated",values:["replace","overlay"],dflt:"replace",editType:"style"},bgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgopacity:{valType:"number",editType:"style",min:0,max:1},size:{valType:"number",min:0,dflt:8,arrayOk:!0,editType:"style"},solidity:{valType:"number",min:0,max:1,dflt:.3,arrayOk:!0,editType:"style"},editType:"style"}});var qD=ne((aQt,sQ)=>{"use strict";sQ.exports={FORMAT_LINK:"https://github.com/d3/d3-format/tree/v1.4.5#d3-format",DATE_FORMAT_LINK:"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format"}});var rs=ne(Tb=>{"use strict";var{DATE_FORMAT_LINK:JJe,FORMAT_LINK:QJe}=qD(),eQe=["Variables that can't be found will be replaced with the specifier.",'For example, a template of "data: %{x}, %{y}" will result in a value of "data: 1, %{y}" if x is 1 and y is missing.',"Variables with an undefined value will be replaced with the fallback value."].join(" ");function tQe({supportOther:e}={}){return["Variables are inserted using %{variable},",'for example "y: %{y}"'+(e?" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown.":"."),`Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}".`,QJe,"for details on the formatting syntax.",`Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}".`,JJe,"for details on the date formatting syntax.",eQe].join(" ")}Tb.templateFormatStringDescription=tQe;Tb.hovertemplateAttrs=({editType:e="none",arrayOk:t}={},r={})=>uv({valType:"string",dflt:"",editType:e},t!==!1?{arrayOk:!0}:{});Tb.texttemplateAttrs=({editType:e="calc",arrayOk:t}={},r={})=>uv({valType:"string",dflt:"",editType:e},t!==!1?{arrayOk:!0}:{});Tb.shapeTexttemplateAttrs=({editType:e="arraydraw",newshape:t}={},r={})=>({valType:"string",dflt:"",editType:e});Tb.templatefallbackAttrs=({editType:e="none"}={})=>({valType:"any",dflt:"-",editType:e})});var qM=ne((sQt,dQ)=>{"use strict";function Ig(e,t){return t?t.d2l(e):e}function lQ(e,t){return t?t.l2d(e):e}function rQe(e){return e.x0}function nQe(e){return e.x1}function aQe(e){return e.y0}function iQe(e){return e.y1}function uQ(e){return e.x0shift||0}function cQ(e){return e.x1shift||0}function fQ(e){return e.y0shift||0}function hQ(e){return e.y1shift||0}function IM(e,t){return Ig(e.x1,t)+cQ(e)-Ig(e.x0,t)-uQ(e)}function zM(e,t,r){return Ig(e.y1,r)+hQ(e)-Ig(e.y0,r)-fQ(e)}function oQe(e,t){return Math.abs(IM(e,t))}function sQe(e,t,r){return Math.abs(zM(e,t,r))}function lQe(e,t,r){return e.type!=="line"?void 0:Math.sqrt(Math.pow(IM(e,t),2)+Math.pow(zM(e,t,r),2))}function uQe(e,t){return lQ((Ig(e.x1,t)+cQ(e)+Ig(e.x0,t)+uQ(e))/2,t)}function cQe(e,t,r){return lQ((Ig(e.y1,r)+hQ(e)+Ig(e.y0,r)+fQ(e))/2,r)}function fQe(e,t,r){return e.type!=="line"?void 0:zM(e,t,r)/IM(e,t)}var hQe=["x0","x1","y0","y1","dy","height","ycenter"],dQe=["x0","x1","y0","y1","dx","width","xcenter"];dQ.exports={x0:rQe,x1:nQe,y0:aQe,y1:iQe,slope:fQe,dx:IM,dy:zM,width:oQe,height:sQe,length:lQe,xcenter:uQe,ycenter:cQe,simpleXVariables:hQe,simpleYVariables:dQe}});var gQ=ne((lQt,pQ)=>{"use strict";var vQe=Il().overrideAll,zy=os(),vQ=pl(),pQe=xf().dash,zg=ci().extendFlat,{shapeTexttemplateAttrs:gQe,templatefallbackAttrs:mQe}=rs(),yQe=qM();pQ.exports=vQe({newshape:{visible:zg({},zy.visible,{}),showlegend:{valType:"boolean",dflt:!1},legend:zg({},zy.legend,{}),legendgroup:zg({},zy.legendgroup,{}),legendgrouptitle:{text:zg({},zy.legendgrouptitle.text,{}),font:vQ({})},legendrank:zg({},zy.legendrank,{}),legendwidth:zg({},zy.legendwidth,{}),line:{color:{valType:"color"},width:{valType:"number",min:0,dflt:4},dash:zg({},pQe,{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:zg({},zy.name,{}),label:{text:{valType:"string",dflt:""},texttemplate:gQe({newshape:!0},{keys:Object.keys(yQe)}),texttemplatefallback:mQe({editType:"arraydraw"}),font:vQ({}),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")});var yQ=ne((uQt,mQ)=>{"use strict";var xQe=xf().dash,bQe=ci().extendFlat;mQ.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:bQe({},xQe,{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"}}});var BM=ne((cQt,xQ)=>{"use strict";xQ.exports=function(e){var t=e.editType;return{t:{valType:"number",dflt:0,editType:t},r:{valType:"number",dflt:0,editType:t},b:{valType:"number",dflt:0,editType:t},l:{valType:"number",dflt:0,editType:t},editType:t}}});var Ab=ne((fQt,TQ)=>{"use strict";var BD=pl(),_Qe=k5(),OM=Ic(),bQ=gQ(),_Q=yQ(),wQe=BM(),wQ=ci().extendFlat,NM=BD({editType:"calc"});NM.family.dflt='"Open Sans", verdana, arial, sans-serif';NM.size.dflt=12;NM.color.dflt=OM.defaultLine;TQ.exports={font:NM,title:{text:{valType:"string",editType:"layoutstyle"},font:BD({editType:"layoutstyle"}),subtitle:{text:{valType:"string",editType:"layoutstyle"},font:BD({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:wQ(wQe({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:OM.background,editType:"plot"},plot_bgcolor:{valType:"color",dflt:OM.background,editType:"layoutstyle"},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc"},separators:{valType:"string",editType:"plot"},showlegend:{valType:"boolean",editType:"legend"},colorway:{valType:"colorlist",dflt:OM.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:bQ.newshape,activeshape:bQ.activeshape,newselection:_Q.newselection,activeselection:_Q.activeselection,meta:{valType:"any",arrayOk:!0,editType:"plot"},transition:wQ({},_Qe.transition,{editType:"none"})}});var AQ=ne(()=>{(function(){if(!document.getElementById("ce8d464691048653ffe3a57c6c18ab566e8366f186677868cf724621a857b4fe")){var e=document.createElement("style");e.id="ce8d464691048653ffe3a57c6c18ab566e8366f186677868cf724621a857b4fe",e.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(e)}})()});var Fa=ne(So=>{"use strict";var OD=T1(),MQ=DM(),SQ=DD(),vQt=E5().addStyleRule,EQ=ci(),TQe=os(),AQe=Ab(),MQe=EQ.extendFlat,ND=EQ.extendDeepAll;So.modules={};So.allCategories={};So.allTypes=[];So.subplotsRegistry={};So.componentsRegistry={};So.layoutArrayContainers=[];So.layoutArrayRegexes=[];So.traceLayoutAttributes={};So.localeRegistry={};So.apiMethodRegistry={};So.collectableSubplotTypes=null;So.register=function(t){if(So.collectableSubplotTypes=null,t)t&&!Array.isArray(t)&&(t=[t]);else throw new Error("No argument passed to Plotly.register.");for(var r=0;r{"use strict";var LQe=ub().timeFormat,BQ=mi(),UD=T1(),Bg=(hb(),vl(fb)).mod,Eb=uo(),Iv=Eb.BADNUM,Ud=Eb.ONEDAY,C5=Eb.ONEHOUR,qg=Eb.ONEMIN,Sb=Eb.ONESEC,L5=Eb.EPOCHJD,M1=Fa(),PQ=ub().utcFormat,FQe=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\d)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m,PQe=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\di?)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m,DQ=new Date().getFullYear()-70;function S1(e){return e&&M1.componentsRegistry.calendars&&typeof e=="string"&&e!=="gregorian"}uc.dateTick0=function(e,t){var r=DQe(e,!!t);if(t<2)return r;var n=uc.dateTime2ms(r,e);return n+=Ud*(t-1),uc.ms2DateTime(n,0,e)};function DQe(e,t){return S1(e)?t?M1.getComponentMethod("calendars","CANONICAL_SUNDAY")[e]:M1.getComponentMethod("calendars","CANONICAL_TICK")[e]:t?"2000-01-02":"2000-01-01"}uc.dfltRange=function(e){return S1(e)?M1.getComponentMethod("calendars","DFLTRANGE")[e]:["2000-01-01","2001-01-01"]};uc.isJSDate=function(e){return typeof e=="object"&&e!==null&&typeof e.getTime=="function"};var VM,GM;uc.dateTime2ms=function(e,t){if(uc.isJSDate(e)){var r=e.getTimezoneOffset()*qg,n=(e.getUTCMinutes()-e.getMinutes())*qg+(e.getUTCSeconds()-e.getSeconds())*Sb+(e.getUTCMilliseconds()-e.getMilliseconds());if(n){var a=3*qg;r=r-a/2+Bg(n-r+a/2,a)}return e=Number(e)-r,e>=VM&&e<=GM?e:Iv}if(typeof e!="string"&&typeof e!="number")return Iv;e=String(e);var i=S1(t),o=e.charAt(0);i&&(o==="G"||o==="g")&&(e=e.slice(1),t="");var s=i&&t.slice(0,7)==="chinese",l=e.match(s?PQe:FQe);if(!l)return Iv;var u=l[1],c=l[3]||"1",f=Number(l[5]||1),h=Number(l[7]||0),v=Number(l[9]||0),d=Number(l[11]||0);if(i){if(u.length===2)return Iv;u=Number(u);var m;try{var x=M1.getComponentMethod("calendars","getCal")(t);if(s){var g=c.charAt(c.length-1)==="i";c=parseInt(c,10),m=x.newDate(u,x.toMonthIndex(u,c,g),f)}else m=x.newDate(u,Number(c),f)}catch(M){return Iv}return m?(m.toJD()-L5)*Ud+h*C5+v*qg+d*Sb:Iv}u.length===2?u=(Number(u)+2e3-DQ)%100+DQ:u=Number(u),c-=1;var E=new Date(Date.UTC(2e3,c,f,h,v));return E.setUTCFullYear(u),E.getUTCMonth()!==c||E.getUTCDate()!==f?Iv:E.getTime()+d*Sb};VM=uc.MIN_MS=uc.dateTime2ms("-9999");GM=uc.MAX_MS=uc.dateTime2ms("9999-12-31 23:59:59.9999");uc.isDateTime=function(e,t){return uc.dateTime2ms(e,t)!==Iv};function Mb(e,t){return String(e+Math.pow(10,t)).slice(1)}var UM=90*Ud,RQ=3*C5,IQ=5*qg;uc.ms2DateTime=function(e,t,r){if(typeof e!="number"||!(e>=VM&&e<=GM))return Iv;t||(t=0);var n=Math.floor(Bg(e+.05,1)*10),a=Math.round(e-n/10),i,o,s,l,u,c;if(S1(r)){var f=Math.floor(a/Ud)+L5,h=Math.floor(Bg(e,Ud));try{i=M1.getComponentMethod("calendars","getCal")(r).fromJD(f).formatDate("yyyy-mm-dd")}catch(v){i=PQ("G%Y-%m-%d")(new Date(a))}if(i.charAt(0)==="-")for(;i.length<11;)i="-0"+i.slice(1);else for(;i.length<10;)i="0"+i;o=t=VM+Ud&&e<=GM-Ud))return Iv;var t=Math.floor(Bg(e+.05,1)*10),r=new Date(Math.round(e-t/10)),n=LQe("%Y-%m-%d")(r),a=r.getHours(),i=r.getMinutes(),o=r.getSeconds(),s=r.getUTCMilliseconds()*10+t;return OQ(n,a,i,o,s)};function OQ(e,t,r,n,a){if((t||r||n||a)&&(e+=" "+Mb(t,2)+":"+Mb(r,2),(n||a)&&(e+=":"+Mb(n,2),a))){for(var i=4;a%10===0;)i-=1,a/=10;e+="."+Mb(a,i)}return e}uc.cleanDate=function(e,t,r){if(e===Iv)return t;if(uc.isJSDate(e)||typeof e=="number"&&isFinite(e)){if(S1(r))return UD.error("JS Dates and milliseconds are incompatible with world calendars",e),t;if(e=uc.ms2DateTimeLocal(+e),!e&&t!==void 0)return t}else if(!uc.isDateTime(e,r))return UD.error("unrecognized date",e),t;return e};var RQe=/%\d?f/g,IQe=/%h/g,zQe={1:"1",2:"1",3:"2",4:"2"};function zQ(e,t,r,n){e=e.replace(RQe,function(i){var o=Math.min(+i.charAt(1)||6,6),s=(t/1e3%1+2).toFixed(o).slice(2).replace(/0+$/,"")||"0";return s});var a=new Date(Math.floor(t+.05));if(e=e.replace(IQe,function(){return zQe[r("%q")(a)]}),S1(n))try{e=M1.getComponentMethod("calendars","worldCalFmt")(e,t,n)}catch(i){return"Invalid"}return r(e)(a)}var qQe=[59,59.9,59.99,59.999,59.9999];function BQe(e,t){var r=Bg(e+.05,Ud),n=Mb(Math.floor(r/C5),2)+":"+Mb(Bg(Math.floor(r/qg),60),2);if(t!=="M"){BQ(t)||(t=0);var a=Math.min(Bg(e/Sb,60),qQe[t]),i=(100+a).toFixed(t).slice(1);t>0&&(i=i.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+i}return n}uc.formatDate=function(e,t,r,n,a,i){if(a=S1(a)&&a,!t)if(r==="y")t=i.year;else if(r==="m")t=i.month;else if(r==="d")t=i.dayMonth+` +`+i.year;else return BQe(e,r)+` +`+zQ(i.dayMonthYear,e,n,a);return zQ(t,e,n,a)};var qQ=3*Ud;uc.incrementMonth=function(e,t,r){r=S1(r)&&r;var n=Bg(e,Ud);if(e=Math.round(e-n),r)try{var a=Math.round(e/Ud)+L5,i=M1.getComponentMethod("calendars","getCal")(r),o=i.fromJD(a);return t%12?i.add(o,t,"m"):i.add(o,t/12,"y"),(o.toJD()-L5)*Ud+n}catch(l){UD.error("invalid ms "+e+" in calendar "+r)}var s=new Date(e+qQ);return s.setUTCMonth(s.getUTCMonth()+t)+n-qQ};uc.findExactDates=function(e,t){for(var r=0,n=0,a=0,i=0,o,s,l=S1(t)&&M1.getComponentMethod("calendars","getCal")(t),u=0;u{"use strict";UQ.exports=function(t){return t}});var HM=ne(E1=>{"use strict";var OQe=mi(),NQe=T1(),UQe=F5(),VQe=uo().BADNUM,VD=1e-9;E1.findBin=function(e,t,r){if(OQe(t.start))return r?Math.ceil((e-t.start)/t.size-VD)-1:Math.floor((e-t.start)/t.size+VD);var n=0,a=t.length,i=0,o=a>1?(t[a-1]-t[0])/(a-1):1,s,l;for(o>=0?l=r?GQe:HQe:l=r?WQe:jQe,e+=o*VD*(r?-1:1)*(o>=0?1:-1);n90&&NQe.log("Long binary search..."),n-1};function GQe(e,t){return et}function WQe(e,t){return e>=t}E1.sorterAsc=function(e,t){return e-t};E1.sorterDes=function(e,t){return t-e};E1.distinctVals=function(e){var t=e.slice();t.sort(E1.sorterAsc);var r;for(r=t.length-1;r>-1&&t[r]===VQe;r--);for(var n=t[r]-t[0]||1,a=n/(r||1)/1e4,i=[],o,s=0;s<=r;s++){var l=t[s],u=l-o;o===void 0?(i.push(l),o=l):u>a&&(n=Math.min(n,u),i.push(l),o=l)}return{vals:i,minDiff:n}};E1.roundUp=function(e,t,r){for(var n=0,a=t.length-1,i,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;n0&&(n=1),r&&n)return e.sort(t)}return n?e:e.reverse()};E1.findIndexOfMin=function(e,t){t=t||UQe;for(var r=1/0,n,a=0;aXQe});function YQe(e){return Object.keys(e).sort()}var XQe,By=lo(()=>{"use strict";XQe=YQe});var VQ=ne(cc=>{"use strict";var P5=mi(),ZQe=Ih().isArrayOrTypedArray;cc.aggNums=function(e,t,r,n){var a,i;if((!n||n>r.length)&&(n=r.length),P5(t)||(t=!1),ZQe(r[0])){for(i=new Array(n),a=0;ae.length-1)return e[e.length-1];var r=t%1;return r*e[Math.ceil(t)]+(1-r)*e[Math.floor(t)]}});var YQ=ne((bQt,WQ)=>{"use strict";var GQ=(hb(),vl(fb)),GD=GQ.mod,$Qe=GQ.modHalf,D5=Math.PI,Og=2*D5;function KQe(e){return e/180*D5}function JQe(e){return e/D5*180}function HD(e){return Math.abs(e[1]-e[0])>Og-1e-14}function HQ(e,t){return $Qe(t-e,Og)}function QQe(e,t){return Math.abs(HQ(e,t))}function jQ(e,t){if(HD(t))return!0;var r,n;t[0]n&&(n+=Og);var a=GD(e,Og),i=a+Og;return a>=r&&a<=n||i>=r&&i<=n}function eet(e,t,r,n){if(!jQ(t,n))return!1;var a,i;return r[0]=a&&e<=i}function jD(e,t,r,n,a,i,o){a=a||0,i=i||0;var s=HD([r,n]),l,u,c,f,h;s?(l=0,u=D5,c=Og):r{"use strict";Oy.isLeftAnchor=function(t){return t.xanchor==="left"||t.xanchor==="auto"&&t.x<=1/3};Oy.isCenterAnchor=function(t){return t.xanchor==="center"||t.xanchor==="auto"&&t.x>1/3&&t.x<2/3};Oy.isRightAnchor=function(t){return t.xanchor==="right"||t.xanchor==="auto"&&t.x>=2/3};Oy.isTopAnchor=function(t){return t.yanchor==="top"||t.yanchor==="auto"&&t.y>=2/3};Oy.isMiddleAnchor=function(t){return t.yanchor==="middle"||t.yanchor==="auto"&&t.y>1/3&&t.y<2/3};Oy.isBottomAnchor=function(t){return t.yanchor==="bottom"||t.yanchor==="auto"&&t.y<=1/3}});var KQ=ne(Ny=>{"use strict";var WD=(hb(),vl(fb)).mod;Ny.segmentsIntersect=$Q;function $Q(e,t,r,n,a,i,o,s){var l=r-e,u=a-e,c=o-a,f=n-t,h=i-t,v=s-i,d=l*v-c*f;if(d===0)return null;var m=(u*v-c*h)/d,x=(u*f-l*h)/d;return x<0||x>1||m<0||m>1?null:{x:e+l*m,y:t+f*m}}Ny.segmentDistance=function(t,r,n,a,i,o,s,l){if($Q(t,r,n,a,i,o,s,l))return 0;var u=n-t,c=a-r,f=s-i,h=l-o,v=u*u+c*c,d=f*f+h*h,m=Math.min(jM(u,c,v,i-t,o-r),jM(u,c,v,s-t,l-r),jM(f,h,d,t-i,r-o),jM(f,h,d,n-i,a-o));return Math.sqrt(m)};function jM(e,t,r,n,a){var i=n*e+a*t;if(i<0)return n*n+a*a;if(i>r){var o=n-e,s=a-t;return o*o+s*s}else{var l=n*t-a*e;return l*l/r}}var WM,YD,ZQ;Ny.getTextLocation=function(t,r,n,a){if((t!==YD||a!==ZQ)&&(WM={},YD=t,ZQ=a),WM[n])return WM[n];var i=t.getPointAtLength(WD(n-a/2,r)),o=t.getPointAtLength(WD(n+a/2,r)),s=Math.atan((o.y-i.y)/(o.x-i.x)),l=t.getPointAtLength(WD(n,r)),u=(l.x*4+i.x+o.x)/6,c=(l.y*4+i.y+o.y)/6,f={x:u,y:c,theta:s};return WM[n]=f,f};Ny.clearLocationCache=function(){YD=null};Ny.getVisibleSegment=function(t,r,n){var a=r.left,i=r.right,o=r.top,s=r.bottom,l=0,u=t.getTotalLength(),c=u,f,h;function v(m){var x=t.getPointAtLength(m);m===0?f=x:m===u&&(h=x);var g=x.xi?x.x-i:0,E=x.ys?x.y-s:0;return Math.sqrt(g*g+E*E)}for(var d=v(l);d;){if(l+=d+n,l>c)return;d=v(l)}for(d=v(c);d;){if(c-=d+n,l>c)return;d=v(c)}return{min:l,max:c,len:c-l,total:u,isClosed:l===0&&c===u&&Math.abs(f.x-h.x)<.1&&Math.abs(f.y-h.y)<.1}};Ny.findPointOnPath=function(t,r,n,a){a=a||{};for(var i=a.pathLength||t.getTotalLength(),o=a.tolerance||.001,s=a.iterationLimit||30,l=t.getPointAtLength(0)[n]>t.getPointAtLength(i)[n]?-1:1,u=0,c=0,f=i,h,v,d;u0?f=h:c=h,u++}return v}});var YM=ne(R5=>{"use strict";var k1={};R5.throttle=function(t,r,n){var a=k1[t],i=Date.now();if(!a){for(var o in k1)k1[o].tsa.ts+r){s();return}a.timer=setTimeout(function(){s(),a.timer=null},r)};R5.done=function(e){var t=k1[e];return!t||!t.timer?Promise.resolve():new Promise(function(r){var n=t.onDone;t.onDone=function(){n&&n(),r(),t.onDone=null}})};R5.clear=function(e){if(e)JQ(k1[e]),delete k1[e];else for(var t in k1)R5.clear(t)};function JQ(e){e&&e.timer!==null&&(clearTimeout(e.timer),e.timer=null)}});var eee=ne((AQt,QQ)=>{"use strict";QQ.exports=function(t){t._responsiveChartHandler&&(window.removeEventListener("resize",t._responsiveChartHandler),delete t._responsiveChartHandler)}});var tee=ne((MQt,XM)=>{"use strict";XM.exports=XD;XM.exports.isMobile=XD;XM.exports.default=XD;var aet=/(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,iet=/CrOS/,oet=/android|ipad|playbook|silk/i;function XD(e){e||(e={});let t=e.ua;if(!t&&typeof navigator!="undefined"&&(t=navigator.userAgent),t&&t.headers&&typeof t.headers["user-agent"]=="string"&&(t=t.headers["user-agent"]),typeof t!="string")return!1;let r=aet.test(t)&&!iet.test(t)||!!e.tablet&&oet.test(t);return!r&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&t.indexOf("Macintosh")!==-1&&t.indexOf("Safari")!==-1&&(r=!0),r}});var nee=ne((SQt,ree)=>{"use strict";var set=mi(),uet=tee();ree.exports=function(t){var r;if(t&&t.hasOwnProperty("userAgent")?r=t.userAgent:r=cet(),typeof r!="string")return!0;var n=uet({ua:{headers:{"user-agent":r}},tablet:!0,featureDetect:!1});if(!n)for(var a=r.split(" "),i=1;i-1;s--){var l=a[s];if(l.slice(0,8)==="Version/"){var u=l.slice(8).split(".")[0];if(set(u)&&(u=+u),u>=13)return!0}}}return n};function cet(){var e;return typeof navigator!="undefined"&&(e=navigator.userAgent),e&&e.headers&&typeof e.headers["user-agent"]=="string"&&(e=e.headers["user-agent"]),e}});var iee=ne((EQt,aee)=>{"use strict";var fet=Ea();aee.exports=function(t,r,n){var a=t.selectAll("g."+n.replace(/\s/g,".")).data(r,function(o){return o[0].trace.uid});a.exit().remove(),a.enter().append("g").attr("class",n),a.order();var i=t.classed("rangeplot")?"nodeRangePlot3":"node3";return a.each(function(o){o[0][i]=fet.select(this)}),a}});var see=ne((kQt,oee)=>{"use strict";var het=Fa();oee.exports=function(t,r){for(var n=t._context.locale,a=0;a<2;a++){for(var i=t._context.locales,o=0;o<2;o++){var s=(i[n]||{}).dictionary;if(s){var l=s[r];if(l)return l}i=het.localeRegistry}var u=n.split("-")[0];if(u===n)break;n=u}return r}});var ZD=ne((CQt,lee)=>{"use strict";lee.exports=function(t){for(var r={},n=[],a=0,i=0;i{"use strict";uee.exports=function(t){for(var r=pet(t)?vet:det,n=[],a=0;a{"use strict";fee.exports=function(t,r){if(!r)return t;var n=1/Math.abs(r),a=n>1?(n*t+n*r)/n:t+r,i=String(a).length;if(i>16){var o=String(r).length,s=String(t).length;if(i>=s+o){var l=parseFloat(a).toPrecision(12);l.indexOf("e+")===-1&&(a=+l)}}return a}});var pee={};E0(pee,{default:()=>yet});function met(e){return typeof e=="string"&&(e=e.replace(get,"")),(0,dee.default)(e)?Number(e):vee.BADNUM}var dee,vee,get,yet,gee=lo(()=>{"use strict";dee=yp(mi()),vee=yp(uo()),get=/^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g;yet=met});var xee=ne((PQt,yee)=>{"use strict";var xet=/<[^>]*>/g,bet=/[\p{S}\p{P}]/gu,_et=/[\p{Cc}\p{Cf}\uFE00-\uFE0F\u20E3]/gu,wet=/�/g,Tet=/\s+/g,ZM="-",mee=ZM.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Aet=new RegExp(mee+"{3,}","g"),Met=new RegExp(mee+"$","g"),Eet=60;function ket(e){return typeof e.toWellFormed=="function"?e.toWellFormed():new TextDecoder().decode(new TextEncoder().encode(e))}yee.exports=function(t,r=Eet){var n=ket(t!=null?t:"").replace(wet,"").replace(xet," ").replace(bet,a=>a===ZM?a:"").toLowerCase().trim().replace(Tet,ZM).replace(_et,"").replace(Aet,ZM);return n.length<=r?n:Array.from(n).slice(0,r).join("").replace(Met,"")}});var Zt=ne((DQt,Fee)=>{"use strict";var I5=Ea(),Cet=ub().utcFormat,Let=dD().format,Mee=mi(),See=uo(),Eee=See.FP_SAFE,Fet=-Eee,bee=See.BADNUM,qr=Fee.exports={};qr.adjustFormat=function(t){return!t||/^\d[.]\df/.test(t)||/[.]\d%/.test(t)?t:t==="0.f"?"~f":/^\d%/.test(t)?"~%":/^\ds/.test(t)?"~s":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?"~"+t:t};var _ee={};qr.warnBadFormat=function(e){var t=String(e);_ee[t]||(_ee[t]=1,qr.warn('encountered bad format: "'+t+'"'))};qr.noFormat=function(e){return String(e)};qr.numberFormat=function(e){var t;try{t=Let(qr.adjustFormat(e))}catch(r){return qr.warnBadFormat(e),qr.noFormat}return t};qr.nestedProperty=m5();qr.keyedContainer=Q$();qr.relativeAttr=tK();qr.isPlainObject=Lg();qr.toLogRange=kM();qr.relinkPrivateKeys=iK();var Ng=Ih();qr.isArrayBuffer=Ng.isArrayBuffer;qr.isTypedArray=Ng.isTypedArray;qr.isArrayOrTypedArray=Ng.isArrayOrTypedArray;qr.isArray1D=Ng.isArray1D;qr.ensureArray=Ng.ensureArray;qr.concat=Ng.concat;qr.maxRowLength=Ng.maxRowLength;qr.minRowLength=Ng.minRowLength;var kee=(hb(),vl(fb));qr.mod=kee.mod;qr.modHalf=kee.modHalf;var Ug=NK();qr.valObjectMeta=Ug.valObjectMeta;qr.coerce=Ug.coerce;qr.coerce2=Ug.coerce2;qr.coerceFont=Ug.coerceFont;qr.coercePattern=Ug.coercePattern;qr.coerceHoverinfo=Ug.coerceHoverinfo;qr.coerceSelectionMarkerOpacity=Ug.coerceSelectionMarkerOpacity;qr.validate=Ug.validate;var cv=NQ();qr.dateTime2ms=cv.dateTime2ms;qr.isDateTime=cv.isDateTime;qr.ms2DateTime=cv.ms2DateTime;qr.ms2DateTimeLocal=cv.ms2DateTimeLocal;qr.cleanDate=cv.cleanDate;qr.isJSDate=cv.isJSDate;qr.formatDate=cv.formatDate;qr.incrementMonth=cv.incrementMonth;qr.dateTick0=cv.dateTick0;qr.dfltRange=cv.dfltRange;qr.findExactDates=cv.findExactDates;qr.MIN_MS=cv.MIN_MS;qr.MAX_MS=cv.MAX_MS;var Uy=HM();qr.findBin=Uy.findBin;qr.sorterAsc=Uy.sorterAsc;qr.sorterDes=Uy.sorterDes;qr.distinctVals=Uy.distinctVals;qr.roundUp=Uy.roundUp;qr.sort=Uy.sort;qr.findIndexOfMin=Uy.findIndexOfMin;qr.sortObjectKeys=(By(),vl(qy)).default;var C1=VQ();qr.aggNums=C1.aggNums;qr.len=C1.len;qr.mean=C1.mean;qr.geometricMean=C1.geometricMean;qr.median=C1.median;qr.midRange=C1.midRange;qr.variance=C1.variance;qr.stdev=C1.stdev;qr.interp=C1.interp;var L0=RM();qr.init2dArray=L0.init2dArray;qr.transposeRagged=L0.transposeRagged;qr.dot=L0.dot;qr.translationMatrix=L0.translationMatrix;qr.rotationMatrix=L0.rotationMatrix;qr.rotationXYMatrix=L0.rotationXYMatrix;qr.apply3DTransform=L0.apply3DTransform;qr.apply2DTransform=L0.apply2DTransform;qr.apply2DTransform2=L0.apply2DTransform2;qr.convertCssMatrix=L0.convertCssMatrix;qr.inverseTransformMatrix=L0.inverseTransformMatrix;var xp=YQ();qr.deg2rad=xp.deg2rad;qr.rad2deg=xp.rad2deg;qr.angleDelta=xp.angleDelta;qr.angleDist=xp.angleDist;qr.isFullCircle=xp.isFullCircle;qr.isAngleInsideSector=xp.isAngleInsideSector;qr.isPtInsideSector=xp.isPtInsideSector;qr.pathArc=xp.pathArc;qr.pathSector=xp.pathSector;qr.pathAnnulus=xp.pathAnnulus;var Cb=XQ();qr.isLeftAnchor=Cb.isLeftAnchor;qr.isCenterAnchor=Cb.isCenterAnchor;qr.isRightAnchor=Cb.isRightAnchor;qr.isTopAnchor=Cb.isTopAnchor;qr.isMiddleAnchor=Cb.isMiddleAnchor;qr.isBottomAnchor=Cb.isBottomAnchor;var Lb=KQ();qr.segmentsIntersect=Lb.segmentsIntersect;qr.segmentDistance=Lb.segmentDistance;qr.getTextLocation=Lb.getTextLocation;qr.clearLocationCache=Lb.clearLocationCache;qr.getVisibleSegment=Lb.getVisibleSegment;qr.findPointOnPath=Lb.findPointOnPath;var JM=ci();qr.extendFlat=JM.extendFlat;qr.extendDeep=JM.extendDeep;qr.extendDeepAll=JM.extendDeepAll;qr.extendDeepNoArrays=JM.extendDeepNoArrays;var $D=T1();qr.log=$D.log;qr.warn=$D.warn;qr.error=$D.error;var Pet=(_b(),vl(bb));qr.counterRegex=Pet.counter;var KD=YM();qr.throttle=KD.throttle;qr.throttleDone=KD.done;qr.clearThrottle=KD.clear;var F0=E5();qr.getGraphDiv=F0.getGraphDiv;qr.isPlotDiv=F0.isPlotDiv;qr.removeElement=F0.removeElement;qr.addStyleRule=F0.addStyleRule;qr.addRelatedStyleRule=F0.addRelatedStyleRule;qr.deleteRelatedStyleRule=F0.deleteRelatedStyleRule;qr.setStyleOnHover=F0.setStyleOnHover;qr.getFullTransformMatrix=F0.getFullTransformMatrix;qr.getElementTransformMatrix=F0.getElementTransformMatrix;qr.getElementAndAncestors=F0.getElementAndAncestors;qr.equalDomRects=F0.equalDomRects;qr.clearResponsive=eee();qr.preserveDrawingBuffer=nee();qr.makeTraceGroups=iee();qr._=see();qr.notifier=AD();qr.filterUnique=ZD();qr.filterVisible=cee();qr.pushUnique=DD();qr.increment=hee();qr.cleanNumber=(gee(),vl(pee)).default;qr.slugify=xee();qr.ensureNumber=function(t){return Mee(t)?(t=Number(t),t>Eee||t=t?!1:Mee(e)&&e>=0&&e%1===0};qr.noop=DM();qr.identity=F5();qr.repeat=function(e,t){for(var r=new Array(t),n=0;nr?Math.max(r,Math.min(t,e)):Math.max(t,Math.min(r,e))};qr.bBoxIntersect=function(e,t,r){return r=r||0,e.left<=t.right+r&&t.left<=e.right+r&&e.top<=t.bottom+r&&t.top<=e.bottom+r};qr.simpleMap=function(e,t,r,n,a){for(var i=e.length,o=new Array(i),s=0;s=Math.pow(2,r)?a>10?(qr.warn("randstr failed uniqueness"),o):e(t,r,n,(a||0)+1):o};qr.OptionControl=function(e,t){e||(e={}),t||(t="opt");var r={};return r.optionList=[],r._newoption=function(n){n[t]=e,r[n.name]=n,r.optionList.push(n)},r["_"+t]=e,r};qr.smooth=function(e,t){if(t=Math.round(t)||0,t<2)return e;var r=e.length,n=2*r,a=2*t-1,i=new Array(a),o=new Array(r),s,l,u,c;for(s=0;s=n&&(u-=n*Math.floor(u/n)),u<0?u=-1-u:u>=r&&(u=n-1-u),c+=e[u]*i[l];o[s]=c}return o};qr.syncOrAsync=function(e,t,r){var n,a;function i(){return qr.syncOrAsync(e,t,r)}for(;e.length;)if(a=e.splice(0,1)[0],n=a(t),n&&n.then)return n.then(i);return r&&r(t)};qr.stripTrailingSlash=function(e){return e.slice(-1)==="/"?e.slice(0,-1):e};qr.noneOrAll=function(e,t,r){if(e){var n=!1,a=!0,i,o;for(i=0;i0?a:0})};qr.fillArray=function(e,t,r,n){if(n=n||qr.identity,qr.isArrayOrTypedArray(e))for(var a=0;aIet.test(window.navigator.userAgent);var zet=/Firefox\/(\d+)\.\d+/;qr.getFirefoxVersion=function(){var e=zet.exec(window.navigator.userAgent);if(e&&e.length===2){var t=parseInt(e[1]);if(!isNaN(t))return t}return null};qr.isD3Selection=function(e){return e instanceof I5.selection};qr.ensureSingle=function(e,t,r,n){var a=e.select(t+(r?"."+r:""));if(a.size())return a;var i=e.append(t);return r&&i.classed(r,!0),n&&i.call(n),i};qr.ensureSingleById=function(e,t,r,n){var a=e.select(t+"#"+r);if(a.size())return a;var i=e.append(t).attr("id",r);return n&&i.call(n),i};qr.objectFromPath=function(e,t){for(var r=e.split("."),n,a=n={},i=0;i1?a+o[1]:"";if(i&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+i+"$2");return s+l};qr.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var Lee=/^\w*$/;qr.templateString=function(e,t){var r={};return e.replace(qr.TEMPLATE_STRING_REGEX,function(n,a){var i;return Lee.test(a)?i=t[a]:(r[a]=r[a]||qr.nestedProperty(t,a).get,i=r[a](!0)),i!==void 0?i:""})};var Oet={max:10,count:0,name:"hovertemplate"};qr.hovertemplateString=e=>JD(Cg(uv({},e),{opts:Oet}));var Net={max:10,count:0,name:"texttemplate"};qr.texttemplateString=e=>JD(Cg(uv({},e),{opts:Net}));var Uet=/^(\S+)([\*\/])(-?\d+(\.\d+)?)$/;function Vet(e){var t=e.match(Uet);return t?{key:t[1],op:t[2],number:Number(t[3])}:{key:e,op:null,number:null}}var Get={max:10,count:0,name:"texttemplate",parseMultDiv:!0};qr.texttemplateStringForShapes=e=>JD(Cg(uv({},e),{opts:Get}));var wee=/^[:|\|]/;function JD({data:e=[],locale:t,fallback:r,labels:n={},opts:a,template:i}){return i.replace(qr.TEMPLATE_STRING_REGEX,(o,s,l)=>{let u=["xother","yother"].includes(s),c=["_xother","_yother"].includes(s),f=["_xother_","_yother_"].includes(s),h=["xother_","yother_"].includes(s),v=u||c||h||f;(c||f)&&(s=s.substring(1)),(h||f)&&(s=s.substring(0,s.length-1));let d=null,m=null;if(a.parseMultDiv){var x=Vet(s);s=x.key,d=x.op,m=x.number}let g;if(v){if(n[s]===void 0)return"";g=n[s]}else for(let k of e)if(k){if(k.hasOwnProperty(s)){g=k[s];break}if(Lee.test(s)||(g=qr.nestedProperty(k,s).get(!0)),g!==void 0)break}if(g===void 0){let{count:k,max:y,name:S}=a,T=r===!1?o:r;return k=KM&&o<=Tee,u=s>=KM&&s<=Tee;if(l&&(n=10*n+o-KM),u&&(a=10*a+s-KM),!l||!u){if(n!==a)return n-a;if(o!==s)return o-s}}return a-n};var kb=2e9;qr.seedPseudoRandom=function(){kb=2e9};qr.pseudoRandom=function(){var e=kb;return kb=(69069*kb+1)%4294967296,Math.abs(kb-e)<429496729?qr.pseudoRandom():kb/4294967296};qr.fillText=function(e,t,r){var n=Array.isArray(r)?function(o){r.push(o)}:function(o){r.text=o},a=qr.extractOption(e,t,"htx","hovertext");if(qr.isValidTextValue(a))return n(a);var i=qr.extractOption(e,t,"tx","text");if(qr.isValidTextValue(i))return n(i)};qr.isValidTextValue=function(e){return e||e===0};qr.formatPercent=function(e,t){t=t||0;for(var r=(Math.round(100*e*Math.pow(10,t))*Math.pow(.1,t)).toFixed(t)+"%",n=0;n1&&(u=1):u=0,qr.strTranslate(a-u*(r+o),i-u*(n+s))+qr.strScale(u)+(l?"rotate("+l+(t?"":" "+r+" "+n)+")":"")};qr.setTransormAndDisplay=function(e,t){e.attr("transform",qr.getTextTransform(t)),e.style("display",t.scale?null:"none")};qr.ensureUniformFontSize=function(e,t){var r=qr.extendFlat({},t);return r.size=Math.max(t.size,e._fullLayout.uniformtext.minsize||0),r};qr.join2=function(e,t,r){var n=e.length;return n>1?e.slice(0,-1).join(t)+r+e[n-1]:e.join(t)};qr.bigFont=function(e){return Math.round(1.2*e)};var Aee=qr.getFirefoxVersion(),Het=Aee!==null&&Aee<86;qr.getPositionFromD3Event=function(){return Het?[I5.event.layerX,I5.event.layerY]:[I5.event.offsetX,I5.event.offsetY]}});var Ree=ne(()=>{"use strict";var jet=Zt(),Pee={"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;","X .plotly-cloud-dialog":'font-family:"Open Sans",verdana,arial,sans-serif;position:absolute;top:0;left:0;width:100%;height:100%;z-index:1001;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,.4);',"X .plotly-cloud-dialog .plotly-cloud-dialog-box":"box-sizing:border-box;min-width:300px;max-width:420px;padding:20px 24px;background-color:#fff;border:1px solid #e0e2e5;border-radius:4px;box-shadow:0 4px 16px rgba(0,0,0,.25);font-size:13px;color:#2a3f5f;","X .plotly-cloud-dialog .plotly-cloud-dialog-title":"font-size:16px;font-weight:bold;margin-bottom:12px;","X .plotly-cloud-dialog .plotly-cloud-dialog-message":"line-height:1.5;overflow-wrap:break-word;word-wrap:break-word;","X .plotly-cloud-dialog .plotly-cloud-dialog-message--hostname":"font-weight:bold;","X .plotly-cloud-dialog .plotly-cloud-dialog-buttons":"display:flex;justify-content:flex-end;margin-top:20px;","X .plotly-cloud-dialog .plotly-cloud-dialog-btn":"font-family:inherit;font-size:13px;padding:7px 16px;margin-left:8px;border-radius:3px;border:1px solid rgba(0,0,0,0);cursor:pointer;","X .plotly-cloud-dialog .plotly-cloud-dialog-btn:focus-visible":"outline:2px solid #447adb;outline-offset:1px;","X .plotly-cloud-dialog .plotly-cloud-dialog-btn--cancel":"background-color:#f3f3f3;margin-left:auto;color:#777;","X .plotly-cloud-dialog .plotly-cloud-dialog-btn--cancel:hover":"background-color:#e0e2e5;","X .plotly-cloud-dialog .plotly-cloud-dialog-btn--confirm":"background-color:#447adb;color:#fff;","X .plotly-cloud-dialog .plotly-cloud-dialog-btn--confirm:hover":"background-color:#1d3b84;",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(QD in Pee)Dee=QD.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier"),jet.addStyleRule(Dee,Pee[QD]);var Dee,QD});var eR=ne((qQt,Iee)=>{Iee.exports=!0});var rR=ne((BQt,zee)=>{"use strict";var Wet=eR(),tR;typeof window.matchMedia=="function"?tR=!window.matchMedia("(hover: none)").matches:tR=Wet;zee.exports=tR});var Vy=ne((OQt,nR)=>{"use strict";var Fb=typeof Reflect=="object"?Reflect:null,qee=Fb&&typeof Fb.apply=="function"?Fb.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},QM;Fb&&typeof Fb.ownKeys=="function"?QM=Fb.ownKeys:Object.getOwnPropertySymbols?QM=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:QM=function(t){return Object.getOwnPropertyNames(t)};function Yet(e){console&&console.warn&&console.warn(e)}var Oee=Number.isNaN||function(t){return t!==t};function jl(){jl.init.call(this)}nR.exports=jl;nR.exports.once=Ket;jl.EventEmitter=jl;jl.prototype._events=void 0;jl.prototype._eventsCount=0;jl.prototype._maxListeners=void 0;var Bee=10;function eS(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(jl,"defaultMaxListeners",{enumerable:!0,get:function(){return Bee},set:function(e){if(typeof e!="number"||e<0||Oee(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");Bee=e}});jl.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};jl.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||Oee(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function Nee(e){return e._maxListeners===void 0?jl.defaultMaxListeners:e._maxListeners}jl.prototype.getMaxListeners=function(){return Nee(this)};jl.prototype.emit=function(t){for(var r=[],n=1;n0&&(o=r[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=i[t];if(l===void 0)return!1;if(typeof l=="function")qee(l,this,r);else for(var u=l.length,c=jee(l,u),n=0;n0&&o.length>a&&!o.warned){o.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=o.length,Yet(s)}return e}jl.prototype.addListener=function(t,r){return Uee(this,t,r,!1)};jl.prototype.on=jl.prototype.addListener;jl.prototype.prependListener=function(t,r){return Uee(this,t,r,!0)};function Xet(){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 Vee(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},a=Xet.bind(n);return a.listener=r,n.wrapFn=a,a}jl.prototype.once=function(t,r){return eS(r),this.on(t,Vee(this,t,r)),this};jl.prototype.prependOnceListener=function(t,r){return eS(r),this.prependListener(t,Vee(this,t,r)),this};jl.prototype.removeListener=function(t,r){var n,a,i,o,s;if(eS(r),a=this._events,a===void 0)return this;if(n=a[t],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete a[t],a.removeListener&&this.emit("removeListener",t,n.listener||r));else if(typeof n!="function"){for(i=-1,o=n.length-1;o>=0;o--)if(n[o]===r||n[o].listener===r){s=n[o].listener,i=o;break}if(i<0)return this;i===0?n.shift():Zet(n,i),n.length===1&&(a[t]=n[0]),a.removeListener!==void 0&&this.emit("removeListener",t,s||r)}return this};jl.prototype.off=jl.prototype.removeListener;jl.prototype.removeAllListeners=function(t){var r,n,a;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var i=Object.keys(n),o;for(a=0;a=0;a--)this.removeListener(t,r[a]);return this};function Gee(e,t,r){var n=e._events;if(n===void 0)return[];var a=n[t];return a===void 0?[]:typeof a=="function"?r?[a.listener||a]:[a]:r?$et(a):jee(a,a.length)}jl.prototype.listeners=function(t){return Gee(this,t,!0)};jl.prototype.rawListeners=function(t){return Gee(this,t,!1)};jl.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):Hee.call(e,t)};jl.prototype.listenerCount=Hee;function Hee(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}jl.prototype.eventNames=function(){return this._eventsCount>0?QM(this._events):[]};function jee(e,t){for(var r=new Array(t),n=0;n{"use strict";var aR=Vy().EventEmitter,Qet={init:function(e){if(e._ev instanceof aR)return e;var t=new aR,r=new aR;return e._ev=t,e._internalEv=r,e.on=t.on.bind(t),e.once=t.once.bind(t),e.removeListener=t.removeListener.bind(t),e.removeAllListeners=t.removeAllListeners.bind(t),e._internalOn=r.on.bind(r),e._internalOnce=r.once.bind(r),e._removeInternalListener=r.removeListener.bind(r),e._removeAllInternalListeners=r.removeAllListeners.bind(r),e.emit=function(n,a){t.emit(n,a),r.emit(n,a)},typeof e.addEventListener=="function"&&e.addEventListener("wheel",()=>{},{passive:!0}),e},triggerHandler:function(e,t,r){var n,a=e._ev;if(!a)return;var i=a._events[t];if(!i)return;function o(l){if(l.listener){if(a.removeListener(t,l.listener),!l.fired)return l.fired=!0,l.listener.apply(a,[r])}else return l.apply(a,[r])}i=Array.isArray(i)?i:[i];var s;for(s=0;s{"use strict";var Xee=Zt(),ett=Dy().dfltConfig;function ttt(e,t){for(var r=[],n,a=0;aett.queueLength&&(e.undoQueue.queue.shift(),e.undoQueue.index--)};L1.startSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!0,e.undoQueue.beginSequence=!0};L1.stopSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!1,e.undoQueue.beginSequence=!1};L1.undo=function(t){var r,n;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,n=0;n=t.undoQueue.queue.length)){for(r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,n=0;n{"use strict";Kee.exports={_isLinkedToArray:"frames_entry",group:{valType:"string"},name:{valType:"string"},traces:{valType:"any"},baseframe:{valType:"string"},data:{valType:"any"},layout:{valType:"any"}}});var Ib=ne(Kc=>{"use strict";var zv=Fa(),z5=Zt(),rS=os(),oR=Ab(),rtt=iR(),ntt=k5(),att=Dy().configAttributes,Jee=Il(),P0=z5.extendDeepAll,Db=z5.isPlainObject,itt=z5.isArrayOrTypedArray,nS=z5.nestedProperty,ott=z5.valObjectMeta,sR="_isSubplotObj",aS="_isLinkedToArray",stt="_arrayAttrRegexps",ete="_deprecated",lR=[sR,aS,stt,ete];Kc.IS_SUBPLOT_OBJ=sR;Kc.IS_LINKED_TO_ARRAY=aS;Kc.DEPRECATED=ete;Kc.UNDERSCORE_ATTRS=lR;Kc.get=function(){var e={};return zv.allTypes.forEach(function(t){e[t]=utt(t)}),{defs:{valObjects:ott,metaKeys:lR.concat(["description","role","editType","impliedEdits"]),editType:{traces:Jee.traces,layout:Jee.layout},impliedEdits:{}},traces:e,layout:ctt(),frames:ftt(),animation:Rb(ntt),config:Rb(att)}};Kc.crawl=function(e,t,r,n){var a=r||0;n=n||"",Object.keys(e).forEach(function(i){var o=e[i];if(lR.indexOf(i)===-1){var s=(n?n+".":"")+i;t(o,i,e,a,s),!Kc.isValObject(o)&&Db(o)&&i!=="impliedEdits"&&Kc.crawl(o,t,a+1,s)}})};Kc.isValObject=function(e){return e&&e.valType!==void 0};Kc.findArrayAttributes=function(e){var t=[],r=[],n=[],a,i;function o(l,u,c,f){r=r.slice(0,f).concat([u]),n=n.slice(0,f).concat([l&&l._isLinkedToArray]);var h=l&&(l.valType==="data_array"||l.arrayOk===!0)&&!(r[f-1]==="colorbar"&&(u==="ticktext"||u==="tickvals"));h&&s(a,0,"")}function s(l,u,c){var f=l[r[u]],h=c+r[u];if(u===r.length-1)itt(f)&&t.push(i+h);else if(n[u]){if(Array.isArray(f))for(var v=0;v=i.length)return!1;if(e.dimensions===2){if(r++,t.length===r)return e;var o=t[r];if(!tS(o))return!1;e=i[a][o]}else e=i[a]}else e=i}}return e}function tS(e){return e===Math.round(e)&&e>=0}function utt(e){var t,r;t=zv.modules[e]._module,r=t.basePlotModule;var n={};n.type=null;var a=P0({},rS),i=P0({},t.attributes);Kc.crawl(i,function(l,u,c,f,h){nS(a,h).set(void 0),l===void 0&&nS(i,h).set(void 0)}),P0(n,a),zv.traceIs(e,"noOpacity")&&delete n.opacity,zv.traceIs(e,"showLegend")||(delete n.showlegend,delete n.legendgroup),zv.traceIs(e,"noHover")&&(delete n.hoverinfo,delete n.hoverlabel),t.selectPoints||delete n.selectedpoints,P0(n,i),r.attributes&&P0(n,r.attributes),n.type=e;var o={meta:t.meta||{},categories:t.categories||{},animatable:!!t.animatable,type:e,attributes:Rb(n)};if(t.layoutAttributes){var s={};P0(s,t.layoutAttributes),o.layoutAttributes=Rb(s)}return t.animatable||Kc.crawl(o,function(l){Kc.isValObject(l)&&"anim"in l&&delete l.anim}),o}function ctt(){var e={},t,r;P0(e,oR);for(t in zv.subplotsRegistry)if(r=zv.subplotsRegistry[t],!!r.layoutAttributes)if(Array.isArray(r.attr))for(var n=0;n{"use strict";var zb=Zt(),gtt=os(),Vg="templateitemname",uR={name:{valType:"string",editType:"none"}};uR[Vg]={valType:"string",editType:"calc"};Gy.templatedArray=function(e,t){return t._isLinkedToArray=e,t.name=uR.name,t[Vg]=uR[Vg],t};Gy.traceTemplater=function(e){var t={},r,n;for(r in e)n=e[r],Array.isArray(n)&&n.length&&(t[r]=0);function a(i){r=zb.coerce(i,{},gtt,"type");var o={type:r,_template:null};if(r in t){n=e[r];var s=t[r]%n.length;t[r]++,o._template=n[s]}return o}return{newTrace:a}};Gy.newContainer=function(e,t,r){var n=e._template,a=n&&(n[t]||r&&n[r]);zb.isPlainObject(a)||(a=null);var i=e[t]={_template:a};return i};Gy.arrayTemplater=function(e,t,r){var n=e._template,a=n&&n[nte(t)],i=n&&n[t];(!Array.isArray(i)||!i.length)&&(i=[]);var o={};function s(u){var c={name:u.name,_input:u},f=c[Vg]=u[Vg];if(!rte(f))return c._template=a,c;for(var h=0;h=n&&(r._input||{})._templateitemname;i&&(a=n);var o=t+"["+a+"]",s;function l(){s={},i&&(s[o]={},s[o][Vg]=i)}l();function u(v,d){s[v]=d}function c(v,d){i?zb.nestedProperty(s[o],v).set(d):s[o+"."+v]=d}function f(){var v=s;return l(),v}function h(v,d){v&&c(v,d);var m=f();for(var x in m)zb.nestedProperty(e,x).set(m[x])}return{modifyBase:u,modifyItem:c,getUpdateObj:f,applyUpdate:h}}});var zc=ne((jQt,ate)=>{"use strict";var q5=(_b(),vl(bb)).counter;ate.exports={idRegex:{x:q5("x","( domain)?"),y:q5("y","( domain)?")},attrRegex:q5("[xy]axis"),xAxisMatch:q5("xaxis"),yAxisMatch:q5("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"}});var uu=ne(Vd=>{"use strict";var mtt=Fa(),cR=zc();Vd.id2name=function(t){if(!(typeof t!="string"||!t.match(cR.AX_ID_PATTERN))){var r=t.split(" ")[0].slice(1);return r==="1"&&(r=""),t.charAt(0)+"axis"+r}};Vd.name2id=function(t){if(t.match(cR.AX_NAME_PATTERN)){var r=t.slice(5);return r==="1"&&(r=""),t.charAt(0)+r}};Vd.cleanId=function(t,r,n){var a=/( domain)$/.test(t);if(!(typeof t!="string"||!t.match(cR.AX_ID_PATTERN))&&!(r&&t.charAt(0)!==r)&&!(a&&!n)){var i=t.split(" ")[0].slice(1).replace(/^0+/,"");return i==="1"&&(i=""),t.charAt(0)+i+(a&&n?" domain":"")}};Vd.list=function(e,t,r){var n=e._fullLayout;if(!n)return[];var a=Vd.listIds(e,t),i=new Array(a.length),o;for(o=0;on?1:-1:+(e.slice(1)||1)-+(t.slice(1)||1)};Vd.ref2id=function(e){return/^[xyz]/.test(e)?e.split(" ")[0]:!1};function ite(e,t){if(t&&t.length){for(var r=0;r{"use strict";function ytt(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(".outline-controllers").remove()}function xtt(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(".select-outline").remove(),e._fullLayout._outlining=!1}ote.exports={clearOutlineControllers:ytt,clearOutline:xtt}});var iS=ne((XQt,ste)=>{"use strict";ste.exports={scattermode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},scattergap:{valType:"number",min:0,max:1,editType:"calc"}}});var mh=ne(sS=>{"use strict";var oS=Fa(),ZQt=zc().SUBPLOT_PATTERN;sS.getSubplotCalcData=function(e,t,r){var n=oS.subplotsRegistry[t];if(!n)return[];for(var a=n.attr,i=[],o=0;o{"use strict";var btt=Fa(),qb=Zt();Hy.manageCommandObserver=function(e,t,r,n){var a={},i=!0;t&&t._commandObserver&&(a=t._commandObserver),a.cache||(a.cache={}),a.lookupTable={};var o=Hy.hasSimpleAPICommandBindings(e,r,a.lookupTable);if(t&&t._commandObserver){if(o)return a;if(t._commandObserver.remove)return t._commandObserver.remove(),t._commandObserver=null,a}if(o){lte(e,o,a.cache),a.check=function(){if(i){var c=lte(e,o,a.cache);return c.changed&&n&&a.lookupTable[c.value]!==void 0&&(a.disable(),Promise.resolve(n({value:c.value,type:o.type,prop:o.prop,traces:o.traces,index:a.lookupTable[c.value]})).then(a.enable,a.enable)),c.changed}};for(var s=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],l=0;l0?".":"")+a;qb.isPlainObject(i)?fR(i,t,o,n+1):t(o,a,i)}})}});var Sl=ne((QQt,_te)=>{"use strict";var JQt=Ea(),wtt=ub().timeFormatLocale,Ttt=dD().formatLocale,B5=mi(),Att=vD(),Mtt=g5().version,ns=Fa(),Stt=Ib(),Ett=Bo(),Ha=Zt(),ktt=_a(),hte=uo().BADNUM,Gd=uu(),Ctt=Gg().clearOutline,Ltt=iS(),hR=k5(),Ftt=iR(),Ptt=mh().getModuleCalcData,dte=Ha.relinkPrivateKeys,jy=Ha._,wa=_te.exports={};Ha.extendFlat(wa,ns);wa.attributes=os();wa.attributes.type.values=wa.allTypes;wa.fontAttrs=pl();wa.layoutAttributes=Ab();var uS=fte();wa.executeAPICommand=uS.executeAPICommand;wa.computeAPICommandBindings=uS.computeAPICommandBindings;wa.manageCommandObserver=uS.manageCommandObserver;wa.hasSimpleAPICommandBindings=uS.hasSimpleAPICommandBindings;wa.redrawText=function(e){return e=Ha.getGraphDiv(e),new Promise(function(t){setTimeout(function(){e._fullLayout&&(ns.getComponentMethod("annotations","draw")(e),ns.getComponentMethod("legend","draw")(e),ns.getComponentMethod("colorbar","draw")(e),t(wa.previousPromises(e)))},300)})};wa.resize=function(e){e=Ha.getGraphDiv(e);var t,r=new Promise(function(n,a){(!e||Ha.isHidden(e))&&a(new Error("Resize must be passed a displayed plot div element.")),e._redrawTimer&&clearTimeout(e._redrawTimer),e._resolveResize&&(t=e._resolveResize),e._resolveResize=n,e._redrawTimer=setTimeout(function(){if(!e.layout||e.layout.width&&e.layout.height||Ha.isHidden(e)){n(e);return}delete e.layout.width,delete e.layout.height;var i=e.changed;e.autoplay=!0,ns.call("relayout",e,{autosize:!0}).then(function(){e.changed=i,e._resolveResize===n&&(delete e._resolveResize,n(e))})},100)});return t&&t(r),r};wa.previousPromises=function(e){if((e._promises||[]).length)return Promise.all(e._promises).then(function(){e._promises=[]})};wa.sendDataToCloud=function(e,t){e.emit("plotly_beforeexport");let r=new URL(t).origin;var n=wa.graphJson(e,!1,"object");n.version=Mtt;var a=new URL(t);a.searchParams.set("origin",window.location.origin);var i=window.open(a.href,"_blank");if(!i){console.error("Unable to open Plotly Cloud (the popup may have been blocked)"),e.emit("plotly_exportfail");return}var o=function(s){s.origin===r&&s.data&&s.data.type==="CHART_AUTH_SUCCESS"&&(i.postMessage({type:"chart",chart:n},r),window.removeEventListener("message",o),e.emit("plotly_afterexport"))};return window.addEventListener("message",o),!1};var Dtt=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],Rtt=["year","month","dayMonth","dayMonthYear"];wa.supplyDefaults=function(e,t){var r=t&&t.skipUpdateCalc,n=e._fullLayout||{};if(n._skipDefaults){delete n._skipDefaults;return}var a=e._fullLayout={},i=e.layout||{},o=e._fullData||[],s=e._fullData=[],l=e.data||[],u=e.calcdata||[],c=e._context||{},f;e._transitionData||wa.createTransitionData(e),a._dfltTitle={plot:jy(e,"Click to enter Plot title"),subtitle:jy(e,"Click to enter Plot subtitle"),x:jy(e,"Click to enter X axis title"),y:jy(e,"Click to enter Y axis title"),colorbar:jy(e,"Click to enter Colorscale title"),annotation:jy(e,"new text")},a._traceWord=jy(e,"trace");var h=vte(e,Dtt);if(n._initialAutoSizeIsDone){var v=n.width,d=n.height;wa.supplyLayoutGlobalDefaults(i,a,h),i.width||(a.width=v),i.height||(a.height=d),wa.sanitizeMargins(a)}else{wa.supplyLayoutGlobalDefaults(i,a,h);var m=!i.width||!i.height,x=a.autosize,g=c.autosizable,E=m&&(x||g);E?wa.plotAutoSize(e,i,a):m&&wa.sanitizeMargins(a),!x&&m&&(i.width=a.width,i.height=a.height)}a._d3locale=qtt(h,a.separators),a._extraFormat=vte(e,Rtt),a._initialAutoSizeIsDone=!0,a._dataLength=l.length,a._modules=[],a._visibleModules=[],a._basePlotModules=[];var M=a._subplots=ztt(),w=a._splomAxes={x:{},y:{}},k=a._splomSubplots={};a._splomGridDflt={},a._scatterStackOpts={},a._firstScatter={},a._alignmentOpts={},a._colorAxes={},a._requestRangeslider={},a._traceUids=Itt(o,l),wa.supplyDataDefaults(l,s,i,a);var y=Object.keys(w.x),S=Object.keys(w.y);if(y.length>1&&S.length>1){for(ns.getComponentMethod("grid","sizeDefaults")(i,a),f=0;f15&&S.length>15&&a.shapes.length===0&&a.images.length===0,wa.linkSubplots(s,a,o,n),wa.cleanPlot(s,a,o,n);var P=!!(n._has&&n._has("cartesian")),D=!!(a._has&&a._has("cartesian")),z=P,q=D;z&&!q?n._bgLayer.remove():q&&!z&&(a._shouldCreateBgLayer=!0),n._zoomlayer&&!e._dragging&&Ctt({_fullLayout:n}),Btt(s,a),dte(a,n),ns.getComponentMethod("colorscale","crossTraceDefaults")(s,a),a._preGUI||(a._preGUI={}),a._tracePreGUI||(a._tracePreGUI={});var U=a._tracePreGUI,O={},R;for(R in U)O[R]="old";for(f=0;f0){var c=1-2*i;o=Math.round(c*o),s=Math.round(c*s)}}var f=wa.layoutAttributes.width.min,h=wa.layoutAttributes.height.min;o1,d=!r.height&&Math.abs(n.height-s)>1;(d||v)&&(v&&(n.width=o),d&&(n.height=s)),t._initialAutoSize||(t._initialAutoSize={width:o,height:s}),wa.sanitizeMargins(n)};wa.supplyLayoutModuleDefaults=function(e,t,r,n){var a=ns.componentsRegistry,i=t._basePlotModules,o,s,l,u=ns.subplotsRegistry.cartesian;for(o in a)l=a[o],l.includeBasePlot&&l.includeBasePlot(e,t);i.length||i.push(u),t._has("cartesian")&&(ns.getComponentMethod("grid","contentDefaults")(e,t),u.finalizeSubplots(e,t));for(var c in t._subplots)t._subplots[c].sort(Ha.subplotSort);for(s=0;s1&&(r.l/=x,r.r/=x)}if(h){var g=(r.t+r.b)/h;g>1&&(r.t/=g,r.b/=g)}var E=r.xl!==void 0?r.xl:r.x,M=r.xr!==void 0?r.xr:r.x,w=r.yt!==void 0?r.yt:r.y,k=r.yb!==void 0?r.yb:r.y;v[t]={l:{val:E,size:r.l+m},r:{val:M,size:r.r+m},b:{val:k,size:r.b+m},t:{val:w,size:r.t+m}},d[t]=1}if(!n._replotting)return wa.doAutoMargin(e)}};function Ntt(e){if("_redrawFromAutoMarginCount"in e._fullLayout)return!1;var t=Gd.list(e,"",!0);for(var r in t)if(t[r].autoshift||t[r].shift)return!0;return!1}wa.doAutoMargin=function(e){var t=e._fullLayout,r=t.width,n=t.height;t._size||(t._size={}),mte(t);var a=t._size,i=t.margin,o={t:0,b:0,l:0,r:0},s=Ha.extendFlat({},a),l=i.l,u=i.r,c=i.t,f=i.b,h=t._pushmargin,v=t._pushmarginIds,d=t.minreducedwidth,m=t.minreducedheight;if(i.autoexpand!==!1){for(var x in h)v[x]||delete h[x];var g=e._fullLayout._reservedMargin;for(var E in g)for(var M in g[E]){var w=g[E][M];o[M]=Math.max(o[M],w)}h.base={l:{val:0,size:l},r:{val:1,size:u},t:{val:1,size:c},b:{val:0,size:f}};for(var k in o){var y=0;for(var S in h)S!=="base"&&B5(h[S][k].size)&&(y=h[S][k].size>y?h[S][k].size:y);var T=Math.max(0,i[k]-y);o[k]=Math.max(0,o[k]-T)}for(var p in h){var C=h[p].l||{},A=h[p].b||{},P=C.val,D=C.size,z=A.val,q=A.size,U=r-o.r-o.l,O=n-o.t-o.b;for(var R in h){if(B5(D)&&h[R].r){var B=h[R].r.val,Y=h[R].r.size;if(B>P){var X=(D*B+(Y-U)*P)/(B-P),te=(Y*(1-P)+(D-U)*(1-B))/(B-P);X+te>l+u&&(l=X,u=te)}}if(B5(q)&&h[R].t){var se=h[R].t.val,ue=h[R].t.size;if(se>z){var re=(q*se+(ue-O)*z)/(se-z),j=(ue*(1-z)+(q-O)*(1-se))/(se-z);re+j>f+c&&(f=re,c=j)}}}}}var fe=Ha.constrain(r-i.l-i.r,yte,d),ce=Ha.constrain(n-i.t-i.b,xte,m),oe=Math.max(0,r-fe),we=Math.max(0,n-ce);if(oe){var he=(l+u)/oe;he>1&&(l/=he,u/=he)}if(we){var ye=(f+c)/we;ye>1&&(f/=ye,c/=ye)}if(a.l=Math.round(l)+o.l,a.r=Math.round(u)+o.r,a.t=Math.round(c)+o.t,a.b=Math.round(f)+o.b,a.p=Math.round(i.pad),a.w=Math.round(r)-a.l-a.r,a.h=Math.round(n)-a.t-a.b,!t._replotting&&(wa.didMarginChange(s,a)||Ntt(e))){"_redrawFromAutoMarginCount"in t?t._redrawFromAutoMarginCount++:t._redrawFromAutoMarginCount=1;var Pe=3*(1+Object.keys(v).length);if(t._redrawFromAutoMarginCount1)return!0}return!1};wa.graphJson=function(e,t=!1,r="json",n=!1,a=!1){(n&&t&&!e._fullData||n&&!t&&!e._fullLayout)&&wa.supplyDefaults(e);var i=n?e._fullData:e.data,o=n?e._fullLayout:e.layout,s=(e._transitionData||{})._frames;function l(f,h){if(typeof f=="function")return h?"_function_":null;if(Ha.isPlainObject(f)){var v={};return Object.keys(f).sort().forEach(function(g){if(["_","["].indexOf(g.charAt(0))===-1){if(typeof f[g]=="function"){h&&(v[g]="_function");return}v[g]=l(f[g],h)}}),v}var d=Array.isArray(f),m=Ha.isTypedArray(f);if((d||m)&&f.dtype&&f.shape){var x=f.bdata;return l({dtype:f.dtype,shape:f.shape,bdata:Ha.isArrayBuffer(x)?Att.encode(x):x},h)}return d?f.map(function(g){return l(g,h)}):m?Ha.simpleMap(f,Ha.identity):Ha.isJSDate(f)?Ha.ms2DateTimeLocal(+f):f}var u={data:(i||[]).map(function(f){var h=l(f);return t&&delete h.fit,h})};if(!t&&(u.layout=l(o),n)){var c=o._size;u.layout.computed={margin:{b:c.b,l:c.l,r:c.r,t:c.t}}}return s&&(u.frames=l(s)),a&&(u.config=l(e._context,!0)),r==="object"?u:JSON.stringify(u)};wa.modifyFrames=function(e,t){var r,n,a,i=e._transitionData._frames,o=e._transitionData._frameHash;for(r=0;r0&&(e._transitioningWithDuration=!0),e._transitionData._interruptCallbacks.push(function(){n=!0}),r.redraw&&e._transitionData._interruptCallbacks.push(function(){return ns.call("redraw",e)}),e._transitionData._interruptCallbacks.push(function(){e.emit("plotly_transitioninterrupted",[])});var h=0,v=0;function d(){return h++,function(){v++,!n&&v===h&&s(f)}}r.runFn(d),setTimeout(d())})}function s(f){if(e._transitionData)return i(e._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(r.redraw)return ns.call("redraw",e)}).then(function(){e._transitioning=!1,e._transitioningWithDuration=!1,e.emit("plotly_transitioned",[])}).then(f)}function l(){if(e._transitionData)return e._transitioning=!1,a(e._transitionData._interruptCallbacks)}var u=[wa.previousPromises,l,r.prepareFn,wa.rehover,wa.reselect,o],c=Ha.syncOrAsync(u,e);return(!c||!c.then)&&(c=Promise.resolve()),c.then(function(){return e})}wa.doCalcdata=function(e,t){var r=Gd.list(e),n=e._fullData,a=e._fullLayout,i,o,s,l=new Array(n.length),u=(e.calcdata||[]).slice();for(e.calcdata=l,a._numBoxes=0,a._numViolins=0,a._violinScaleGroupStats={},e._hmpixcount=0,e._hmlumcount=0,a._piecolormap={},a._sunburstcolormap={},a._treemapcolormap={},a._iciclecolormap={},a._funnelareacolormap={},s=0;s{"use strict";Wy.xmlns="http://www.w3.org/2000/xmlns/";Wy.svg="http://www.w3.org/2000/svg";Wy.xlink="http://www.w3.org/1999/xlink";Wy.svgAttrs={xmlns:Wy.svg,"xmlns:xlink":Wy.xlink}});var qc=ne((ter,wte)=>{"use strict";wte.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}});var Ms=ne(fv=>{"use strict";var Jc=Ea(),D0=Zt(),jtt=D0.strTranslate,dR=qv(),Wtt=qc().LINE_SPACING,Ytt=/([^$]*)([$]+[^$]*[$]+)([^$]*)/,Ste=e=>e?e.match(Ytt):null;fv.matchTex=Ste;fv.convertToTspans=function(e,t,r){var n=e.text(),a=!e.attr("data-notex")&&t&&t._context.typesetMath&&typeof MathJax!="undefined"&&Ste(n),i=Jc.select(e.node().parentNode);if(i.empty())return;var o=e.attr("class")?e.attr("class").split(" ")[0]:"text";o+="-math",i.selectAll("svg."+o).remove(),i.selectAll("g."+o+"-group").remove(),e.style("display",null).attr({"data-unformatted":n,"data-math":"N"});function s(){i.empty()||(o=e.attr("class")+"-math",i.select("svg."+o).remove()),e.text("").style("white-space","pre");var l=ort(e.node(),n);l&&e.style("pointer-events","all"),fv.positionText(e),r&&r.call(e)}return a?(t&&t._promises||[]).push(new Promise(function(l){e.style("display","none");var u=parseInt(e.node().style.fontSize,10),c={fontSize:u},f=e.attr("text-anchor");Ktt(a[2],c,function(h,v,d){i.selectAll("svg."+o).remove(),i.selectAll("g."+o+"-group").remove();var m=h&&h.select("svg");if(!m||!m.node()){s(),l();return}e.style("display","none");var x=i.append("g").classed(o+"-group",!0).attr({"pointer-events":"none","data-unformatted":n,"data-math":"Y"});x.node().appendChild(m.node()),v&&v.node()&&m.node().insertBefore(v.node().cloneNode(!0),m.node().firstChild);var g=d.width,E=d.height;m.attr({class:o,height:E,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none","font-size":c.fontSize+"px"});var M=e.node().style.fill||"black",w=m.select("g");w.attr({fill:M,stroke:M});var k=w.node().getBoundingClientRect(),y=k.width,S=k.height;(y>g||S>E)&&(m.style("overflow","hidden"),k=m.node().getBoundingClientRect(),y=k.width,S=k.height);var T=+e.attr("x"),p=+e.attr("y"),C=u||e.node().getBoundingClientRect().height,A=-C/4;o[0]==="y"?x.attr({transform:"rotate("+[-90,T,p]+")"+jtt(-y/2,A-S/2)}):o[0]==="l"?p=A-S/2:o[0]==="a"&&o.indexOf("atitle")!==0?(T=0,p=A):(T=T-y*(f==="middle"?.5:f==="end"?1:0),p=p+A-S/2),m.attr({x:T,y:p}),r&&r.call(e,x),l(x)})})):s(),e};var Xtt=/(<|<|<)/g,Ztt=/(>|>|>)/g;function $tt(e){return e.replace(Xtt,"\\lt ").replace(Ztt,"\\gt ")}var vR=null;function Ktt(e,t,r){let n=parseInt((MathJax.version||"").split(".")[0]);if(n!==3&&n!==4){D0.warn("Unsupported MathJax version:",MathJax.version);return}var a;let i=function(){if(!vR){let u=MathJax._.output.svg_ts.SVG,c=D0.extendFlat({},MathJax.config.svg,{fontCache:"local"});n===4&&(c.linebreaks=D0.extendFlat({},c.linebreaks,{inline:!1})),vR=MathJax._.mathjax.mathjax.document(document,D0.extendFlat({},MathJax.config.options,{InputJax:MathJax.startup.input,OutputJax:new u(c)}))}let s="math-output-"+D0.randstr({},64);a=Jc.select("body").append("div").attr({id:s}).style({visibility:"hidden",position:"absolute","font-size":t.fontSize+"px"});let l=$tt(e).replace(/^\$+|\$+$/g,"");return MathJax._.mathjax.mathjax.handleRetriesFor(function(){return vR.convert(l,{display:!1})}).then(function(u){a.node().appendChild(u)})},o=function(){let s=a.select(".MathJax"),l=!s.empty()&&a.select("svg").node();if(!l)D0.log("There was an error in the tex syntax.",e),r();else{let u=l.getBoundingClientRect(),c=s.select("defs");r(s,c,u)}a.remove()};Promise.resolve().then(i).then(o).catch(s=>{D0.log("MathJax typesetting failed.",e,s),a&&a.remove(),r()})}var Ete={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"},Jtt={sub:"0.3em",sup:"-0.6em"},Qtt={sub:"-0.21em",sup:"0.42em"},Tte="\u200B",Ate=["http:","https:","mailto:","",void 0,":"],kte=fv.NEWLINES=/(\r\n?|\n)/g,gR=/(<[^<>]*>)/,mR=/<(\/?)([^ >]*)(\s+(.*))?>/i,ert=//i;fv.BR_TAG_ALL=//gi;var Cte=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,Lte=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,Fte=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,trt=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function Yy(e,t){if(!e)return null;var r=e.match(t),n=r&&(r[3]||r[4]);return n&&cS(n)}var rrt=/(^|;)\s*color:/;fv.plainText=function(e,t){t=t||{};for(var r=t.len!==void 0&&t.len!==-1?t.len:1/0,n=t.allowedTags!==void 0?t.allowedTags:["br"],a="...",i=a.length,o=e.split(gR),s=[],l="",u=0,c=0;ci?s.push(f.slice(0,Math.max(0,m-i))+a):s.push(f.slice(0,m));break}l=""}}return s.join("")};var nrt={mu:"\u03BC",amp:"&",lt:"<",gt:">",nbsp:"\xA0",times:"\xD7",plusmn:"\xB1",deg:"\xB0"},art=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function cS(e){return e.replace(art,function(t,r){var n;return r.charAt(0)==="#"?n=irt(r.charAt(1)==="x"?parseInt(r.slice(2),16):parseInt(r.slice(1),10)):n=nrt[r],n||t})}fv.convertEntities=cS;function irt(e){if(!(e>1114111)){var t=String.fromCodePoint;if(t)return t(e);var r=String.fromCharCode;return e<=65535?r(e):r((e>>10)+55232,e%1024+56320)}}function ort(e,t){t=t.replace(kte," ");var r=!1,n=[],a,i=-1;function o(){i++;var y=document.createElementNS(dR.svg,"tspan");Jc.select(y).attr({class:"line",dy:i*Wtt+"em"}),e.appendChild(y),a=y;var S=n;if(n=[{node:y}],S.length>1)for(var T=1;T.",t);return}var S=n.pop();y!==S.type&&D0.log("Start tag <"+S.type+"> doesnt match end tag <"+y+">. Pretending it did match.",t),a=n[n.length-1].node}var c=ert.test(t);c?o():(a=e,n=[{node:e}]);for(var f=t.split(gR),h=0;h{"use strict";var srt=Ea(),N5=mi(),fS=Zt(),Bb=_a(),lrt=Iy().isValid;function urt(e,t,r){var n=t?fS.nestedProperty(e,t).get()||{}:e,a=n[r||"color"];a&&a._inputArray&&(a=a._inputArray);var i=!1;if(fS.isArrayOrTypedArray(a)){for(var o=0;o=0;n--,a++){var i=e[n];r[a]=[1-i[0],i[1]]}return r}function Bte(e,t){t=t||{};for(var r=e.domain,n=e.range,a=n.length,i=new Array(a),o=0;o{"use strict";var Nte=qD(),frt=Nte.FORMAT_LINK,hrt=Nte.DATE_FORMAT_LINK;function drt(e,t){return{valType:"string",dflt:"",editType:"none",description:(t?yR:Ute)("hover text",e)+["By default the values are formatted using "+(t?"generic number format":"`"+e+"axis.hoverformat`")+"."].join(" ")}}function yR(e,t){return["Sets the "+e+" formatting rule"+(t?" for `"+t+"`":""),"using d3 formatting mini-languages","which are very similar to those in Python. For numbers, see: "+frt+"."].join(" ")}function Ute(e,t){return yR(e,t)+[" And for dates see: "+hrt+".","We add two items to d3's date formatter:","*%h* for half of the year as a decimal number as well as","*%{n}f* for fractional seconds","with n digits. For example, *2016-10-13 09:15:23.456* with tickformat","*%H~%M~%S.%2f* would display *09~15~23.46*"].join(" ")}Vte.exports={axisHoverFormat:drt,descriptionOnlyNumbers:yR,descriptionWithDates:Ute}});var Wf=ne((oer,ire)=>{"use strict";var Gte=pl(),Ob=Ic(),are=xf().dash,bR=ci().extendFlat,Hte=Bo().templatedArray,ier=rs().templateFormatStringDescription,jte=Wl().descriptionWithDates,vrt=uo().ONEDAY,bp=zc(),prt=bp.HOUR_PATTERN,grt=bp.WEEKDAY_PATTERN,xR={valType:"enumerated",values:["auto","linear","array"],editType:"ticks",impliedEdits:{tick0:void 0,dtick:void 0}},mrt=bR({},xR,{values:xR.values.slice().concat(["sync"])});function Wte(e){return{valType:"integer",min:0,dflt:e?5:0,editType:"ticks"}}var Yte={valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"}},Xte={valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"}},Zte={valType:"data_array",editType:"ticks"},$te={valType:"enumerated",values:["outside","inside",""],editType:"ticks"};function Kte(e){var t={valType:"number",min:0,editType:"ticks"};return e||(t.dflt=5),t}function Jte(e){var t={valType:"number",min:0,editType:"ticks"};return e||(t.dflt=1),t}var Qte={valType:"color",dflt:Ob.defaultLine,editType:"ticks"},ere={valType:"color",dflt:Ob.lightLine,editType:"ticks"};function tre(e){var t={valType:"number",min:0,editType:"ticks"};return e||(t.dflt=1),t}var rre=bR({},are,{editType:"ticks"}),nre={valType:"boolean",editType:"ticks"};ire.exports={visible:{valType:"boolean",editType:"plot"},color:{valType:"color",dflt:Ob.defaultLine,editType:"ticks"},title:{text:{valType:"string",editType:"ticks"},font:Gte({editType:"ticks",description:"Sets this axis' title font."}),standoff:{valType:"number",min:0,editType:"ticks"},editType:"ticks"},type:{valType:"enumerated",values:["-","linear","log","date","category","multicategory"],dflt:"-",editType:"calc",_noTemplating:!0},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc"},autorange:{valType:"enumerated",values:[!0,!1,"reversed","min reversed","max reversed","min","max"],dflt:!0,editType:"axrange",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},autorangeoptions:{minallowed:{valType:"any",editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},maxallowed:{valType:"any",editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},clipmin:{valType:"any",editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},clipmax:{valType:"any",editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},include:{valType:"any",arrayOk:!0,editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},editType:"plot"},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"plot"},range:{valType:"info_array",items:[{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0},{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0}],editType:"axrange",impliedEdits:{autorange:!1},anim:!0},minallowed:{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},maxallowed:{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},fixedrange:{valType:"boolean",dflt:!1,editType:"calc"},modebardisable:{valType:"flaglist",flags:["autoscale","zoominout"],extras:["none"],dflt:"none",editType:"modebar"},insiderange:{valType:"info_array",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},scaleanchor:{valType:"enumerated",values:[bp.idRegex.x.toString(),bp.idRegex.y.toString(),!1],editType:"plot"},scaleratio:{valType:"number",min:0,dflt:1,editType:"plot"},constrain:{valType:"enumerated",values:["range","domain"],editType:"plot"},constraintoward:{valType:"enumerated",values:["left","center","right","top","middle","bottom"],editType:"plot"},matches:{valType:"enumerated",values:[bp.idRegex.x.toString(),bp.idRegex.y.toString()],editType:"calc"},rangebreaks:Hte("rangebreak",{enabled:{valType:"boolean",dflt:!0,editType:"calc"},bounds:{valType:"info_array",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}],editType:"calc"},pattern:{valType:"enumerated",values:[grt,prt,""],editType:"calc"},values:{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"any",editType:"calc"}},dvalue:{valType:"number",editType:"calc",min:0,dflt:vrt},editType:"calc"}),tickmode:mrt,nticks:Wte(),tick0:Yte,dtick:Xte,ticklabelstep:{valType:"integer",min:1,dflt:1,editType:"ticks"},tickvals:Zte,ticktext:{valType:"data_array",editType:"ticks"},ticks:$te,tickson:{valType:"enumerated",values:["labels","boundaries"],dflt:"labels",editType:"ticks"},ticklabelmode:{valType:"enumerated",values:["instant","period"],dflt:"instant",editType:"ticks"},ticklabelposition:{valType:"enumerated",values:["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"],dflt:"outside",editType:"calc"},ticklabeloverflow:{valType:"enumerated",values:["allow","hide past div","hide past domain"],editType:"calc"},ticklabelshift:{valType:"integer",dflt:0,editType:"ticks"},ticklabelstandoff:{valType:"integer",dflt:0,editType:"ticks"},ticklabelindex:{valType:"integer",arrayOk:!0,editType:"calc"},mirror:{valType:"enumerated",values:[!0,"ticks",!1,"all","allticks"],dflt:!1,editType:"ticks+layoutstyle"},ticklen:Kte(),tickwidth:Jte(),tickcolor:Qte,showticklabels:{valType:"boolean",dflt:!0,editType:"ticks"},labelalias:{valType:"any",dflt:!1,editType:"ticks"},automargin:{valType:"flaglist",flags:["height","width","left","right","top","bottom"],extras:[!0,!1],dflt:!1,editType:"ticks"},showspikes:{valType:"boolean",dflt:!1,editType:"modebar"},spikecolor:{valType:"color",dflt:null,editType:"none"},spikethickness:{valType:"number",dflt:3,editType:"none"},spikedash:bR({},are,{dflt:"dash",editType:"none"}),spikemode:{valType:"flaglist",flags:["toaxis","across","marker"],dflt:"toaxis",editType:"none"},spikesnap:{valType:"enumerated",values:["data","cursor","hovered data"],dflt:"hovered data",editType:"none"},tickfont:Gte({editType:"ticks"}),tickangle:{valType:"angle",dflt:"auto",editType:"ticks"},autotickangles:{valType:"info_array",freeLength:!0,items:{valType:"angle"},dflt:[0,30,90],editType:"ticks"},tickprefix:{valType:"string",dflt:"",editType:"ticks"},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},ticksuffix:{valType:"string",dflt:"",editType:"ticks"},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B","SI extended"],dflt:"B",editType:"ticks"},minexponent:{valType:"number",dflt:3,min:0,editType:"ticks"},separatethousands:{valType:"boolean",dflt:!1,editType:"ticks"},tickformat:{valType:"string",dflt:"",editType:"ticks",description:jte("tick label")},tickformatstops:Hte("tickformatstop",{enabled:{valType:"boolean",dflt:!0,editType:"ticks"},dtickrange:{valType:"info_array",items:[{valType:"any",editType:"ticks"},{valType:"any",editType:"ticks"}],editType:"ticks"},value:{valType:"string",dflt:"",editType:"ticks"},editType:"ticks"}),hoverformat:{valType:"string",dflt:"",editType:"none",description:jte("hover text")},unifiedhovertitle:{text:{valType:"string",dflt:"",editType:"none"},editType:"none"},showline:{valType:"boolean",dflt:!1,editType:"ticks+layoutstyle"},linecolor:{valType:"color",dflt:Ob.defaultLine,editType:"layoutstyle"},linewidth:{valType:"number",min:0,dflt:1,editType:"ticks+layoutstyle"},showgrid:nre,gridcolor:ere,gridwidth:tre(),griddash:rre,zeroline:{valType:"boolean",editType:"ticks"},zerolinecolor:{valType:"color",dflt:Ob.defaultLine,editType:"ticks"},zerolinelayer:{valType:"enumerated",values:["above traces","below traces"],dflt:"below traces",editType:"plot"},zerolinewidth:{valType:"number",dflt:1,editType:"ticks"},showdividers:{valType:"boolean",dflt:!0,editType:"ticks"},dividercolor:{valType:"color",dflt:Ob.defaultLine,editType:"ticks"},dividerwidth:{valType:"number",dflt:1,editType:"ticks"},anchor:{valType:"enumerated",values:["free",bp.idRegex.x.toString(),bp.idRegex.y.toString()],editType:"plot"},side:{valType:"enumerated",values:["top","bottom","left","right"],editType:"plot"},overlaying:{valType:"enumerated",values:["free",bp.idRegex.x.toString(),bp.idRegex.y.toString()],editType:"plot"},minor:{tickmode:xR,nticks:Wte("minor"),tick0:Yte,dtick:Xte,tickvals:Zte,ticks:$te,ticklen:Kte("minor"),tickwidth:Jte("minor"),tickcolor:Qte,gridcolor:ere,gridwidth:tre("minor"),griddash:rre,showgrid:nre,editType:"ticks"},minorloglabels:{valType:"enumerated",values:["small digits","complete","none"],dflt:"small digits",editType:"calc"},layer:{valType:"enumerated",values:["above traces","below traces"],dflt:"above traces",editType:"plot"},domain:{valType:"info_array",items:[{valType:"number",min:0,max:1,editType:"plot"},{valType:"number",min:0,max:1,editType:"plot"}],dflt:[0,1],editType:"plot"},position:{valType:"number",min:0,max:1,dflt:0,editType:"plot"},autoshift:{valType:"boolean",dflt:!1,editType:"plot"},shift:{valType:"number",editType:"plot"},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","geometric mean ascending","geometric mean descending","median ascending","median descending"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},uirevision:{valType:"any",editType:"none"},editType:"calc"}});var hS=ne((ser,lre)=>{"use strict";var Yl=Wf(),ore=pl(),sre=ci().extendFlat,yrt=Il().overrideAll;lre.exports=yrt({orientation:{valType:"enumerated",values:["h","v"],dflt:"v"},thicknessmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"pixels"},thickness:{valType:"number",min:0,dflt:30},lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number"},xref:{valType:"enumerated",dflt:"paper",values:["container","paper"],editType:"layoutstyle"},xanchor:{valType:"enumerated",values:["left","center","right"]},xpad:{valType:"number",min:0,dflt:10},y:{valType:"number"},yref:{valType:"enumerated",dflt:"paper",values:["container","paper"],editType:"layoutstyle"},yanchor:{valType:"enumerated",values:["top","middle","bottom"]},ypad:{valType:"number",min:0,dflt:10},outlinecolor:Yl.linecolor,outlinewidth:Yl.linewidth,bordercolor:Yl.linecolor,borderwidth:{valType:"number",min:0,dflt:0},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)"},tickmode:Yl.minor.tickmode,nticks:Yl.nticks,tick0:Yl.tick0,dtick:Yl.dtick,tickvals:Yl.tickvals,ticktext:Yl.ticktext,ticks:sre({},Yl.ticks,{dflt:""}),ticklabeloverflow:sre({},Yl.ticklabeloverflow,{}),ticklabelposition:{valType:"enumerated",values:["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"],dflt:"outside"},ticklen:Yl.ticklen,tickwidth:Yl.tickwidth,tickcolor:Yl.tickcolor,ticklabelstep:Yl.ticklabelstep,showticklabels:Yl.showticklabels,labelalias:Yl.labelalias,tickfont:ore({description:"Sets the color bar's tick label font"}),tickangle:Yl.tickangle,tickformat:Yl.tickformat,tickformatstops:Yl.tickformatstops,tickprefix:Yl.tickprefix,showtickprefix:Yl.showtickprefix,ticksuffix:Yl.ticksuffix,showticksuffix:Yl.showticksuffix,separatethousands:Yl.separatethousands,exponentformat:Yl.exponentformat,minexponent:Yl.minexponent,showexponent:Yl.showexponent,title:{text:{valType:"string"},font:ore({description:"Sets this color bar's title font."}),side:{valType:"enumerated",values:["right","top","bottom"]}}},"colorbars","from-root")});var Ys=ne((uer,cre)=>{"use strict";var xrt=hS(),brt=(_b(),vl(bb)).counter,_rt=(By(),vl(qy)).default,ure=Iy().scales,ler=_rt(ure);function dS(e){return"`"+e+"`"}cre.exports=function(t,r){t=t||"",r=r||{};var n=r.cLetter||"c",a="onlyIfNumerical"in r?r.onlyIfNumerical:!!t,i="noScale"in r?r.noScale:t==="marker.line",o="showScaleDflt"in r?r.showScaleDflt:n==="z",s=typeof r.colorscaleDflt=="string"?ure[r.colorscaleDflt]:null,l=r.editTypeOverride||"",u=t?t+".":"",c,f;"colorAttr"in r?(c=r.colorAttr,f=r.colorAttr):(c={z:"z",c:"color"}[n],f="in "+dS(u+c));var h=a?" Has an effect only if "+f+" is set to a numerical array.":"",v=n+"auto",d=n+"min",m=n+"max",x=n+"mid",g=dS(u+v),E=dS(u+d),M=dS(u+m),w=E+" and "+M,k={};k[d]=k[m]=void 0;var y={};y[v]=!1;var S={};return c==="color"&&(S.color={valType:"color",arrayOk:!0,editType:l||"style"},r.anim&&(S.color.anim=!0)),S[v]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:k},S[d]={valType:"number",dflt:null,editType:l||"plot",impliedEdits:y},S[m]={valType:"number",dflt:null,editType:l||"plot",impliedEdits:y},S[x]={valType:"number",dflt:null,editType:"calc",impliedEdits:k},S.colorscale={valType:"colorscale",editType:"calc",dflt:s,impliedEdits:{autocolorscale:!1}},S.autocolorscale={valType:"boolean",dflt:r.autoColorDflt!==!1,editType:"calc",impliedEdits:{colorscale:void 0}},S.reversescale={valType:"boolean",dflt:!1,editType:"plot"},i||(S.showscale={valType:"boolean",dflt:o,editType:"calc"},S.colorbar=xrt),r.noColorAxis||(S.coloraxis={valType:"subplotid",regex:brt("coloraxis"),dflt:null,editType:"calc"}),S}});var wR=ne((cer,fre)=>{"use strict";var wrt=ci().extendFlat,Trt=Ys(),_R=Iy().scales;fre.exports={editType:"calc",colorscale:{editType:"calc",sequential:{valType:"colorscale",dflt:_R.Reds,editType:"calc"},sequentialminus:{valType:"colorscale",dflt:_R.Blues,editType:"calc"},diverging:{valType:"colorscale",dflt:_R.RdBu,editType:"calc"}},coloraxis:wrt({_isSubplotObj:!0,editType:"calc"},Trt("",{colorAttr:"corresponding trace color array(s)",noColorAxis:!0,showScaleDflt:!0}))}});var TR=ne((fer,hre)=>{"use strict";var Art=Zt();hre.exports=function(t){return Art.isPlainObject(t.colorbar)}});var SR=ne(MR=>{"use strict";var AR=mi(),dre=Zt(),vre=uo(),Mrt=vre.ONEDAY,Srt=vre.ONEWEEK;MR.dtick=function(e,t){var r=t==="log",n=t==="date",a=t==="category",i=n?Mrt:1;if(!e)return i;if(AR(e))return e=Number(e),e<=0?i:a?Math.max(1,Math.round(e)):n?Math.max(.1,e):e;if(typeof e!="string"||!(n||r))return i;var o=e.charAt(0),s=e.slice(1);return s=AR(s)?Number(s):0,s<=0||!(n&&o==="M"&&s===Math.round(s)||r&&o==="L"||r&&o==="D"&&(s===1||s===2))?i:e};MR.tick0=function(e,t,r,n){if(t==="date")return dre.cleanDate(e,dre.dateTick0(r,n%Srt===0?1:0));if(!(n==="D1"||n==="D2"))return AR(e)?Number(e):0}});var Xy=ne((der,gre)=>{"use strict";var pre=SR(),Ert=Zt().isArrayOrTypedArray,krt=Ih().isTypedArraySpec,Crt=Ih().decodeTypedArraySpec;gre.exports=function(t,r,n,a,i={}){var o=i.isMinor,s=o?t.minor||{}:t,l=o?r.minor:r,u=o?"minor.":"";function c(w){var k=s[w];return krt(k)&&(k=Crt(k)),k!==void 0?k:(l._template||{})[w]}var f=c("tick0"),h=c("dtick"),v=c("tickvals"),d=c("overlaying"),m=a==="category"||a==="multicategory",x;Ert(v)?x="array":h?x="linear":d&&!m?x="sync":x="auto";var g=n(u+"tickmode",x);if(g==="auto"||g==="sync")n(u+"nticks");else if(g==="linear"){var E=l.dtick=pre.dtick(h,a);l.tick0=pre.tick0(f,a,r.calendar,E)}else if(a!=="multicategory"){var M=n(u+"tickvals");M===void 0?l.tickmode="auto":o||n("ticktext")}}});var Nb=ne((ver,yre)=>{"use strict";var ER=Zt(),mre=Wf();yre.exports=function(t,r,n,a){var i=a.isMinor,o=i?t.minor||{}:t,s=i?r.minor:r,l=i?mre.minor:mre,u=i?"minor.":"",c=ER.coerce2(o,s,l,"ticklen",i?(r.ticklen||5)*.6:void 0),f=ER.coerce2(o,s,l,"tickwidth",i?r.tickwidth||1:void 0),h=ER.coerce2(o,s,l,"tickcolor",(i?r.tickcolor:void 0)||s.color),v=n(u+"ticks",!i&&a.outerTicks||c||f||h?"outside":"");v||(delete s.ticklen,delete s.tickwidth,delete s.tickcolor)}});var kR=ne((per,xre)=>{"use strict";xre.exports=function(t){var r=["showexponent","showtickprefix","showticksuffix"],n=r.filter(function(i){return t[i]!==void 0}),a=function(i){return t[i]===t[n[0]]};if(n.every(a)||n.length===1)return t[n[0]]}});var zh=ne((ger,bre)=>{"use strict";var vS=Zt(),Lrt=Bo();bre.exports=function(t,r,n){var a=n.name,i=n.inclusionAttr||"visible",o=r[a],s=vS.isArrayOrTypedArray(t[a])?t[a]:[],l=r[a]=[],u=Lrt.arrayTemplater(r,a,i),c,f;for(c=0;c{"use strict";var CR=Zt(),Frt=_a().contrast,_re=Wf(),Prt=kR(),Drt=zh();wre.exports=function(t,r,n,a,i){i||(i={});var o=n("labelalias");CR.isPlainObject(o)||delete r.labelalias;var s=Prt(t),l=n("showticklabels");if(l){i.noTicklabelshift||n("ticklabelshift"),i.noTicklabelstandoff||n("ticklabelstandoff");var u=i.font||{},c=r.color,f=r.ticklabelposition||"",h=f.indexOf("inside")!==-1?Frt(i.bgColor):c&&c!==_re.color.dflt?c:u.color;if(CR.coerceFont(n,"tickfont",u,{overrideDflt:{color:h}}),!i.noTicklabelstep&&a!=="multicategory"&&a!=="log"&&n("ticklabelstep"),!i.noAng){var v=n("tickangle");!i.noAutotickangles&&v==="auto"&&n("autotickangles")}if(a!=="category"){var d=n("tickformat");Drt(t,r,{name:"tickformatstops",inclusionAttr:"enabled",handleItemDefaults:Rrt}),r.tickformatstops.length||delete r.tickformatstops,!i.noExp&&!d&&a!=="date"&&(n("showexponent",s),n("exponentformat"),n("minexponent"),n("separatethousands"))}!i.noMinorloglabels&&a==="log"&&n("minorloglabels")}};function Rrt(e,t){function r(a,i){return CR.coerce(e,t,_re.tickformatstops,a,i)}var n=r("enabled");n&&(r("dtickrange"),r("value"))}});var jg=ne((yer,Tre)=>{"use strict";var Irt=kR();Tre.exports=function(t,r,n,a,i){i||(i={});var o=i.tickSuffixDflt,s=Irt(t),l=n("tickprefix");l&&n("showtickprefix",s);var u=n("ticksuffix",o);u&&n("showticksuffix",s)}});var LR=ne((xer,Are)=>{"use strict";var Wg=Zt(),zrt=Bo(),qrt=Xy(),Brt=Nb(),Ort=Hg(),Nrt=jg(),Urt=hS();Are.exports=function(t,r,n){var a=zrt.newContainer(r,"colorbar"),i=t.colorbar||{};function o(A,P){return Wg.coerce(i,a,Urt,A,P)}var s=n.margin||{t:0,b:0,l:0,r:0},l=n.width-s.l-s.r,u=n.height-s.t-s.b,c=o("orientation"),f=c==="v",h=o("thicknessmode");o("thickness",h==="fraction"?30/(f?l:u):30);var v=o("lenmode");o("len",v==="fraction"?1:f?u:l);var d=o("yref"),m=o("xref"),x=d==="paper",g=m==="paper",E,M,w,k="left";f?(w="middle",k=g?"left":"right",E=g?1.02:1,M=.5):(w=x?"bottom":"top",k="center",E=.5,M=x?1.02:1),Wg.coerce(i,a,{x:{valType:"number",min:g?-2:0,max:g?3:1,dflt:E}},"x"),Wg.coerce(i,a,{y:{valType:"number",min:x?-2:0,max:x?3:1,dflt:M}},"y"),o("xanchor",k),o("xpad"),o("yanchor",w),o("ypad"),Wg.noneOrAll(i,a,["x","y"]),o("outlinecolor"),o("outlinewidth"),o("bordercolor"),o("borderwidth"),o("bgcolor");var y=Wg.coerce(i,a,{ticklabelposition:{valType:"enumerated",dflt:"outside",values:f?["outside","inside","outside top","inside top","outside bottom","inside bottom"]:["outside","inside","outside left","inside left","outside right","inside right"]}},"ticklabelposition");o("ticklabeloverflow",y.indexOf("inside")!==-1?"hide past domain":"hide past div"),qrt(i,a,o,"linear");var S=n.font,T={noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,outerTicks:!1,font:S};y.indexOf("inside")!==-1&&(T.bgColor="black"),Nrt(i,a,o,"linear",T),Ort(i,a,o,"linear",T),Brt(i,a,o,"linear",T),o("title.text",n._dfltTitle.colorbar);var p=a.showticklabels?a.tickfont:S,C=Wg.extendFlat({},S,{family:p.family,size:Wg.bigFont(p.size)});Wg.coerceFont(o,"title.font",C),o("title.side",f?"top":"right")}});var bf=ne((ber,Ere)=>{"use strict";var Mre=mi(),PR=Zt(),Vrt=TR(),Grt=LR(),Sre=Iy().isValid,Hrt=Fa().traceIs;function FR(e,t){var r=t.slice(0,t.length-1);return t?PR.nestedProperty(e,r).get()||{}:e}Ere.exports=function e(t,r,n,a,i){var o=i.prefix,s=i.cLetter,l="_module"in r,u=FR(t,o),c=FR(r,o),f=FR(r._template||{},o)||{},h=function(){return delete t.coloraxis,delete r.coloraxis,e(t,r,n,a,i)};if(l){var v=n._colorAxes||{},d=a(o+"coloraxis");if(d){var m=Hrt(r,"contour")&&PR.nestedProperty(r,"contours.coloring").get()||"heatmap",x=v[d];x?(x[2].push(h),x[0]!==m&&(x[0]=!1,PR.warn(["Ignoring coloraxis:",d,"setting","as it is linked to incompatible colorscales."].join(" ")))):v[d]=[m,r,[h]];return}}var g=u[s+"min"],E=u[s+"max"],M=Mre(g)&&Mre(E)&&g{"use strict";var kre=Zt(),jrt=Bo(),Cre=wR(),Wrt=bf();Lre.exports=function(t,r){function n(f,h){return kre.coerce(t,r,Cre,f,h)}n("colorscale.sequential"),n("colorscale.sequentialminus"),n("colorscale.diverging");var a=r._colorAxes,i,o;function s(f,h){return kre.coerce(i,o,Cre.coloraxis,f,h)}for(var l in a){var u=a[l];if(u[0])i=t[l]||{},o=jrt.newContainer(r,l,"coloraxis"),o._name=l,Wrt(i,o,r,s,{prefix:"",cLetter:"c"});else{for(var c=0;c{"use strict";var Yrt=Zt(),Xrt=yh().hasColorscale,Zrt=yh().extractOpts;Pre.exports=function(t,r){function n(c,f){var h=c["_"+f];h!==void 0&&(c[f]=h)}function a(c,f){var h=f.container?Yrt.nestedProperty(c,f.container).get():c;if(h)if(h.coloraxis)h._colorAx=r[h.coloraxis];else{var v=Zrt(h),d=v.auto;(d||v.min===void 0)&&n(h,f.min),(d||v.max===void 0)&&n(h,f.max),v.autocolorscale&&n(h,"colorscale")}}for(var i=0;i{"use strict";var Rre=mi(),DR=Zt(),$rt=yh().extractOpts;Ire.exports=function(t,r,n){var a=t._fullLayout,i=n.vals,o=n.containerStr,s=o?DR.nestedProperty(r,o).get():r,l=$rt(s),u=l.auto!==!1,c=l.min,f=l.max,h=l.mid,v=function(){return DR.aggNums(Math.min,null,i)},d=function(){return DR.aggNums(Math.max,null,i)};if(c===void 0?c=v():u&&(s._colorAx&&Rre(c)?c=Math.min(c,v()):c=v()),f===void 0?f=d():u&&(s._colorAx&&Rre(f)?f=Math.max(f,d()):f=d()),u&&h!==void 0&&(f-h>h-c?c=h-(f-h):f-h=0?m=a.colorscale.sequential:m=a.colorscale.sequentialminus,l._sync("colorscale",m)}}});var El=ne((Aer,zre)=>{"use strict";var pS=Iy(),Ub=yh();zre.exports={moduleType:"component",name:"colorscale",attributes:Ys(),layoutAttributes:wR(),supplyLayoutDefaults:Fre(),handleDefaults:bf(),crossTraceDefaults:Dre(),calc:qh(),scales:pS.scales,defaultScale:pS.defaultScale,getScale:pS.get,isValidScale:pS.isValid,hasColorscale:Ub.hasColorscale,extractOpts:Ub.extractOpts,extractScale:Ub.extractScale,flipScale:Ub.flipScale,makeColorScaleFunc:Ub.makeColorScaleFunc,makeColorScaleFuncFromTrace:Ub.makeColorScaleFuncFromTrace}});var ml=ne((Mer,Bre)=>{"use strict";var qre=Zt(),Krt=Ih().isTypedArraySpec;Bre.exports={hasLines:function(e){return e.visible&&e.mode&&e.mode.indexOf("lines")!==-1},hasMarkers:function(e){return e.visible&&(e.mode&&e.mode.indexOf("markers")!==-1||e.type==="splom")},hasText:function(e){return e.visible&&e.mode&&e.mode.indexOf("text")!==-1},isBubble:function(e){var t=e.marker;return qre.isPlainObject(t)&&(qre.isArrayOrTypedArray(t.size)||Krt(t.size))}}});var U5=ne((Ser,Ore)=>{"use strict";var Jrt=mi();Ore.exports=function(t,r){r||(r=2);var n=t.marker,a=n.sizeref||1,i=n.sizemin||0,o=n.sizemode==="area"?function(s){return Math.sqrt(s/a)}:function(s){return s/a};return function(s){var l=o(s/r);return Jrt(l)&&l>0?Math.max(l,i):0}}});var Hd=ne(Bh=>{"use strict";var gS=Zt();Bh.getSubplot=function(e){return e.subplot||e.xaxis+e.yaxis||e.geo};Bh.isTraceInSubplots=function(e,t){if(e.type==="splom"){for(var r=e.xaxes||[],n=e.yaxes||[],a=0;a=0&&r.index{Vre.exports=nnt;var RR={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},rnt=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function nnt(e){var t=[];return e.replace(rnt,function(r,n,a){var i=n.toLowerCase();for(a=int(a),i=="m"&&a.length>2&&(t.push([n].concat(a.splice(0,2))),i="l",n=n=="m"?"l":"L");;){if(a.length==RR[i])return a.unshift(n),t.push(a);if(a.length{"use strict";var ont=V5(),la=function(e,t){return t?Math.round(e*(t=Math.pow(10,t)))/t:Math.round(e)},$i="M0,0Z",Gre=Math.sqrt(2),Yg=Math.sqrt(3),IR=Math.PI,zR=Math.cos,qR=Math.sin;Xre.exports={circle:{n:0,f:function(e,t,r){if(Ki(t))return $i;var n=la(e,2),a="M"+n+",0A"+n+","+n+" 0 1,1 0,-"+n+"A"+n+","+n+" 0 0,1 "+n+",0Z";return r?Ji(t,r,a):a}},square:{n:1,f:function(e,t,r){if(Ki(t))return $i;var n=la(e,2);return Ji(t,r,"M"+n+","+n+"H-"+n+"V-"+n+"H"+n+"Z")}},diamond:{n:2,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*1.3,2);return Ji(t,r,"M"+n+",0L0,"+n+"L-"+n+",0L0,-"+n+"Z")}},cross:{n:3,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*.4,2),a=la(e*1.2,2);return Ji(t,r,"M"+a+","+n+"H"+n+"V"+a+"H-"+n+"V"+n+"H-"+a+"V-"+n+"H-"+n+"V-"+a+"H"+n+"V-"+n+"H"+a+"Z")}},x:{n:4,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*.8/Gre,2),a="l"+n+","+n,i="l"+n+",-"+n,o="l-"+n+",-"+n,s="l-"+n+","+n;return Ji(t,r,"M0,"+n+a+i+o+i+o+s+o+s+a+s+a+"Z")}},"triangle-up":{n:5,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*2/Yg,2),a=la(e/2,2),i=la(e,2);return Ji(t,r,"M-"+n+","+a+"H"+n+"L0,-"+i+"Z")}},"triangle-down":{n:6,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*2/Yg,2),a=la(e/2,2),i=la(e,2);return Ji(t,r,"M-"+n+",-"+a+"H"+n+"L0,"+i+"Z")}},"triangle-left":{n:7,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*2/Yg,2),a=la(e/2,2),i=la(e,2);return Ji(t,r,"M"+a+",-"+n+"V"+n+"L-"+i+",0Z")}},"triangle-right":{n:8,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*2/Yg,2),a=la(e/2,2),i=la(e,2);return Ji(t,r,"M-"+a+",-"+n+"V"+n+"L"+i+",0Z")}},"triangle-ne":{n:9,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*.6,2),a=la(e*1.2,2);return Ji(t,r,"M-"+a+",-"+n+"H"+n+"V"+a+"Z")}},"triangle-se":{n:10,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*.6,2),a=la(e*1.2,2);return Ji(t,r,"M"+n+",-"+a+"V"+n+"H-"+a+"Z")}},"triangle-sw":{n:11,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*.6,2),a=la(e*1.2,2);return Ji(t,r,"M"+a+","+n+"H-"+n+"V-"+a+"Z")}},"triangle-nw":{n:12,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*.6,2),a=la(e*1.2,2);return Ji(t,r,"M-"+n+","+a+"V-"+n+"H"+a+"Z")}},pentagon:{n:13,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*.951,2),a=la(e*.588,2),i=la(-e,2),o=la(e*-.309,2),s=la(e*.809,2);return Ji(t,r,"M"+n+","+o+"L"+a+","+s+"H-"+a+"L-"+n+","+o+"L0,"+i+"Z")}},hexagon:{n:14,f:function(e,t,r){if(Ki(t))return $i;var n=la(e,2),a=la(e/2,2),i=la(e*Yg/2,2);return Ji(t,r,"M"+i+",-"+a+"V"+a+"L0,"+n+"L-"+i+","+a+"V-"+a+"L0,-"+n+"Z")}},hexagon2:{n:15,f:function(e,t,r){if(Ki(t))return $i;var n=la(e,2),a=la(e/2,2),i=la(e*Yg/2,2);return Ji(t,r,"M-"+a+","+i+"H"+a+"L"+n+",0L"+a+",-"+i+"H-"+a+"L-"+n+",0Z")}},octagon:{n:16,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*.924,2),a=la(e*.383,2);return Ji(t,r,"M-"+a+",-"+n+"H"+a+"L"+n+",-"+a+"V"+a+"L"+a+","+n+"H-"+a+"L-"+n+","+a+"V-"+a+"Z")}},star:{n:17,f:function(e,t,r){if(Ki(t))return $i;var n=e*1.4,a=la(n*.225,2),i=la(n*.951,2),o=la(n*.363,2),s=la(n*.588,2),l=la(-n,2),u=la(n*-.309,2),c=la(n*.118,2),f=la(n*.809,2),h=la(n*.382,2);return Ji(t,r,"M"+a+","+u+"H"+i+"L"+o+","+c+"L"+s+","+f+"L0,"+h+"L-"+s+","+f+"L-"+o+","+c+"L-"+i+","+u+"H-"+a+"L0,"+l+"Z")}},hexagram:{n:18,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*.66,2),a=la(e*.38,2),i=la(e*.76,2);return Ji(t,r,"M-"+i+",0l-"+a+",-"+n+"h"+i+"l"+a+",-"+n+"l"+a+","+n+"h"+i+"l-"+a+","+n+"l"+a+","+n+"h-"+i+"l-"+a+","+n+"l-"+a+",-"+n+"h-"+i+"Z")}},"star-triangle-up":{n:19,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*Yg*.8,2),a=la(e*.8,2),i=la(e*1.6,2),o=la(e*4,2),s="A "+o+","+o+" 0 0 1 ";return Ji(t,r,"M-"+n+","+a+s+n+","+a+s+"0,-"+i+s+"-"+n+","+a+"Z")}},"star-triangle-down":{n:20,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*Yg*.8,2),a=la(e*.8,2),i=la(e*1.6,2),o=la(e*4,2),s="A "+o+","+o+" 0 0 1 ";return Ji(t,r,"M"+n+",-"+a+s+"-"+n+",-"+a+s+"0,"+i+s+n+",-"+a+"Z")}},"star-square":{n:21,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*1.1,2),a=la(e*2,2),i="A "+a+","+a+" 0 0 1 ";return Ji(t,r,"M-"+n+",-"+n+i+"-"+n+","+n+i+n+","+n+i+n+",-"+n+i+"-"+n+",-"+n+"Z")}},"star-diamond":{n:22,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*1.4,2),a=la(e*1.9,2),i="A "+a+","+a+" 0 0 1 ";return Ji(t,r,"M-"+n+",0"+i+"0,"+n+i+n+",0"+i+"0,-"+n+i+"-"+n+",0Z")}},"diamond-tall":{n:23,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*.7,2),a=la(e*1.4,2);return Ji(t,r,"M0,"+a+"L"+n+",0L0,-"+a+"L-"+n+",0Z")}},"diamond-wide":{n:24,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*1.4,2),a=la(e*.7,2);return Ji(t,r,"M0,"+a+"L"+n+",0L0,-"+a+"L-"+n+",0Z")}},hourglass:{n:25,f:function(e,t,r){if(Ki(t))return $i;var n=la(e,2);return Ji(t,r,"M"+n+","+n+"H-"+n+"L"+n+",-"+n+"H-"+n+"Z")},noDot:!0},bowtie:{n:26,f:function(e,t,r){if(Ki(t))return $i;var n=la(e,2);return Ji(t,r,"M"+n+","+n+"V-"+n+"L-"+n+","+n+"V-"+n+"Z")},noDot:!0},"circle-cross":{n:27,f:function(e,t,r){if(Ki(t))return $i;var n=la(e,2);return Ji(t,r,"M0,"+n+"V-"+n+"M"+n+",0H-"+n+"M"+n+",0A"+n+","+n+" 0 1,1 0,-"+n+"A"+n+","+n+" 0 0,1 "+n+",0Z")},needLine:!0,noDot:!0},"circle-x":{n:28,f:function(e,t,r){if(Ki(t))return $i;var n=la(e,2),a=la(e/Gre,2);return Ji(t,r,"M"+a+","+a+"L-"+a+",-"+a+"M"+a+",-"+a+"L-"+a+","+a+"M"+n+",0A"+n+","+n+" 0 1,1 0,-"+n+"A"+n+","+n+" 0 0,1 "+n+",0Z")},needLine:!0,noDot:!0},"square-cross":{n:29,f:function(e,t,r){if(Ki(t))return $i;var n=la(e,2);return Ji(t,r,"M0,"+n+"V-"+n+"M"+n+",0H-"+n+"M"+n+","+n+"H-"+n+"V-"+n+"H"+n+"Z")},needLine:!0,noDot:!0},"square-x":{n:30,f:function(e,t,r){if(Ki(t))return $i;var n=la(e,2);return Ji(t,r,"M"+n+","+n+"L-"+n+",-"+n+"M"+n+",-"+n+"L-"+n+","+n+"M"+n+","+n+"H-"+n+"V-"+n+"H"+n+"Z")},needLine:!0,noDot:!0},"diamond-cross":{n:31,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*1.3,2);return Ji(t,r,"M"+n+",0L0,"+n+"L-"+n+",0L0,-"+n+"ZM0,-"+n+"V"+n+"M-"+n+",0H"+n)},needLine:!0,noDot:!0},"diamond-x":{n:32,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*1.3,2),a=la(e*.65,2);return Ji(t,r,"M"+n+",0L0,"+n+"L-"+n+",0L0,-"+n+"ZM-"+a+",-"+a+"L"+a+","+a+"M-"+a+","+a+"L"+a+",-"+a)},needLine:!0,noDot:!0},"cross-thin":{n:33,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*1.4,2);return Ji(t,r,"M0,"+n+"V-"+n+"M"+n+",0H-"+n)},needLine:!0,noDot:!0,noFill:!0},"x-thin":{n:34,f:function(e,t,r){if(Ki(t))return $i;var n=la(e,2);return Ji(t,r,"M"+n+","+n+"L-"+n+",-"+n+"M"+n+",-"+n+"L-"+n+","+n)},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*1.2,2),a=la(e*.85,2);return Ji(t,r,"M0,"+n+"V-"+n+"M"+n+",0H-"+n+"M"+a+","+a+"L-"+a+",-"+a+"M"+a+",-"+a+"L-"+a+","+a)},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(e,t,r){if(Ki(t))return $i;var n=la(e/2,2),a=la(e,2);return Ji(t,r,"M"+n+","+a+"V-"+a+"M"+(n-a)+",-"+a+"V"+a+"M"+a+","+n+"H-"+a+"M-"+a+","+(n-a)+"H"+a)},needLine:!0,noFill:!0},"y-up":{n:37,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*1.2,2),a=la(e*1.6,2),i=la(e*.8,2);return Ji(t,r,"M-"+n+","+i+"L0,0M"+n+","+i+"L0,0M0,-"+a+"L0,0")},needLine:!0,noDot:!0,noFill:!0},"y-down":{n:38,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*1.2,2),a=la(e*1.6,2),i=la(e*.8,2);return Ji(t,r,"M-"+n+",-"+i+"L0,0M"+n+",-"+i+"L0,0M0,"+a+"L0,0")},needLine:!0,noDot:!0,noFill:!0},"y-left":{n:39,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*1.2,2),a=la(e*1.6,2),i=la(e*.8,2);return Ji(t,r,"M"+i+","+n+"L0,0M"+i+",-"+n+"L0,0M-"+a+",0L0,0")},needLine:!0,noDot:!0,noFill:!0},"y-right":{n:40,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*1.2,2),a=la(e*1.6,2),i=la(e*.8,2);return Ji(t,r,"M-"+i+","+n+"L0,0M-"+i+",-"+n+"L0,0M"+a+",0L0,0")},needLine:!0,noDot:!0,noFill:!0},"line-ew":{n:41,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*1.4,2);return Ji(t,r,"M"+n+",0H-"+n)},needLine:!0,noDot:!0,noFill:!0},"line-ns":{n:42,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*1.4,2);return Ji(t,r,"M0,"+n+"V-"+n)},needLine:!0,noDot:!0,noFill:!0},"line-ne":{n:43,f:function(e,t,r){if(Ki(t))return $i;var n=la(e,2);return Ji(t,r,"M"+n+",-"+n+"L-"+n+","+n)},needLine:!0,noDot:!0,noFill:!0},"line-nw":{n:44,f:function(e,t,r){if(Ki(t))return $i;var n=la(e,2);return Ji(t,r,"M"+n+","+n+"L-"+n+",-"+n)},needLine:!0,noDot:!0,noFill:!0},"arrow-up":{n:45,f:function(e,t,r){if(Ki(t))return $i;var n=la(e,2),a=la(e*2,2);return Ji(t,r,"M0,0L-"+n+","+a+"H"+n+"Z")},backoff:1,noDot:!0},"arrow-down":{n:46,f:function(e,t,r){if(Ki(t))return $i;var n=la(e,2),a=la(e*2,2);return Ji(t,r,"M0,0L-"+n+",-"+a+"H"+n+"Z")},noDot:!0},"arrow-left":{n:47,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*2,2),a=la(e,2);return Ji(t,r,"M0,0L"+n+",-"+a+"V"+a+"Z")},noDot:!0},"arrow-right":{n:48,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*2,2),a=la(e,2);return Ji(t,r,"M0,0L-"+n+",-"+a+"V"+a+"Z")},noDot:!0},"arrow-bar-up":{n:49,f:function(e,t,r){if(Ki(t))return $i;var n=la(e,2),a=la(e*2,2);return Ji(t,r,"M-"+n+",0H"+n+"M0,0L-"+n+","+a+"H"+n+"Z")},backoff:1,needLine:!0,noDot:!0},"arrow-bar-down":{n:50,f:function(e,t,r){if(Ki(t))return $i;var n=la(e,2),a=la(e*2,2);return Ji(t,r,"M-"+n+",0H"+n+"M0,0L-"+n+",-"+a+"H"+n+"Z")},needLine:!0,noDot:!0},"arrow-bar-left":{n:51,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*2,2),a=la(e,2);return Ji(t,r,"M0,-"+a+"V"+a+"M0,0L"+n+",-"+a+"V"+a+"Z")},needLine:!0,noDot:!0},"arrow-bar-right":{n:52,f:function(e,t,r){if(Ki(t))return $i;var n=la(e*2,2),a=la(e,2);return Ji(t,r,"M0,-"+a+"V"+a+"M0,0L-"+n+",-"+a+"V"+a+"Z")},needLine:!0,noDot:!0},arrow:{n:53,f:function(e,t,r){if(Ki(t))return $i;var n=IR/2.5,a=2*e*zR(n),i=2*e*qR(n);return Ji(t,r,"M0,0L"+-a+","+i+"L"+a+","+i+"Z")},backoff:.9,noDot:!0},"arrow-wide":{n:54,f:function(e,t,r){if(Ki(t))return $i;var n=IR/4,a=2*e*zR(n),i=2*e*qR(n);return Ji(t,r,"M0,0L"+-a+","+i+"A "+2*e+","+2*e+" 0 0 1 "+a+","+i+"Z")},backoff:.4,noDot:!0}};function Ki(e){return e===null}var Hre,jre,Wre,Yre;function Ji(e,t,r){if((!e||e%360===0)&&!t)return r;if(Wre===e&&Yre===t&&Hre===r)return jre;Wre=e,Yre=t,Hre=r;function n(x,g){var E=zR(x),M=qR(x),w=g[0],k=g[1]+(t||0);return[w*E-k*M,w*M+k*E]}for(var a=e/180*IR,i=0,o=0,s=ont(r),l="",u=0;u{"use strict";var _f=Ea(),qs=Zt(),snt=qs.numberFormat,Xg=mi(),yS=Fa(),Qc=_a(),lnt=El(),H5=qs.strTranslate,xS=Ms(),unt=qv(),cnt=qc(),fnt=cnt.LINE_SPACING,ine=A1().DESELECTDIM,hnt=ml(),dnt=U5(),vnt=Hd().appendArrayPointValue,Ta=pne.exports={};Ta.font=function(e,t){var r=t.variant,n=t.style,a=t.weight,i=t.color,o=t.size,s=t.family,l=t.shadow,u=t.lineposition,c=t.textcase;s&&e.style("font-family",s),o+1&&e.style("font-size",o+"px"),i&&e.call(Qc.fill,i),a&&e.style("font-weight",a),n&&e.style("font-style",n),r&&e.style("font-variant",r),c&&e.style("text-transform",BR(gnt(c))),l&&e.style("text-shadow",l==="auto"?xS.makeTextShadow(Qc.contrast(i)):BR(l)),u&&e.style("text-decoration-line",BR(mnt(u)))};function BR(e){return e==="none"?void 0:e}var pnt={normal:"none",lower:"lowercase",upper:"uppercase","word caps":"capitalize"};function gnt(e){return pnt[e]}function mnt(e){return e.replace("under","underline").replace("over","overline").replace("through","line-through").split("+").join(" ")}Ta.setPosition=function(e,t,r){e.attr("x",t).attr("y",r)};Ta.setSize=function(e,t,r){e.attr("width",t).attr("height",r)};Ta.setRect=function(e,t,r,n,a){e.call(Ta.setPosition,t,r).call(Ta.setSize,n,a)};Ta.translatePoint=function(e,t,r,n){var a=r.c2p(e.x),i=n.c2p(e.y);if(Xg(a)&&Xg(i)&&t.node())t.node().nodeName==="text"?t.attr("x",a).attr("y",i):t.attr("transform",H5(a,i));else return!1;return!0};Ta.translatePoints=function(e,t,r){e.each(function(n){var a=_f.select(this);Ta.translatePoint(n,a,t,r)})};Ta.hideOutsideRangePoint=function(e,t,r,n,a,i){t.attr("display",r.isPtWithinRange(e,a)&&n.isPtWithinRange(e,i)?null:"none")};Ta.hideOutsideRangePoints=function(e,t){if(t._hasClipOnAxisFalse){var r=t.xaxis,n=t.yaxis;e.each(function(a){var i=a[0].trace,o=i.xcalendar,s=i.ycalendar,l=yS.traceIs(i,"bar-like")?".bartext":".point,.textpoint";e.selectAll(l).each(function(u){Ta.hideOutsideRangePoint(u,_f.select(this),r,n,o,s)})})}};Ta.crispRound=function(e,t,r){return!t||!Xg(t)?r||0:e._context.staticPlot?t:t<1?1:Math.round(t)};Ta.singleLineStyle=function(e,t,r,n,a){t.style("fill","none");var i=(((e||[])[0]||{}).trace||{}).line||{},o=r||i.width||0,s=a||i.dash||"";Qc.stroke(t,n||i.color),Ta.dashLine(t,s,o)};Ta.lineGroupStyle=function(e,t,r,n){e.style("fill","none").each(function(a){var i=(((a||[])[0]||{}).trace||{}).line||{},o=t||i.width||0,s=n||i.dash||"";_f.select(this).call(Qc.stroke,r||i.color).call(Ta.dashLine,s,o)})};Ta.dashLine=function(e,t,r){r=+r||0,t=Ta.dashStyle(t,r),e.style({"stroke-dasharray":t,"stroke-width":r+"px"})};Ta.dashStyle=function(e,t){t=+t||1;var r=Math.max(t,3);return e==="solid"?e="":e==="dot"?e=r+"px,"+r+"px":e==="dash"?e=3*r+"px,"+3*r+"px":e==="longdash"?e=5*r+"px,"+5*r+"px":e==="dashdot"?e=3*r+"px,"+r+"px,"+r+"px,"+r+"px":e==="longdashdot"&&(e=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),e};function one(e,t,r,n){var a=t.fillpattern,i=t.fillgradient,o=Ta.getPatternAttr,s=a&&(o(a.shape,0,"")||o(a.path,0,""));if(s){var l=o(a.bgcolor,0,null),u=o(a.fgcolor,0,null),c=a.fgopacity,f=o(a.size,0,8),h=o(a.solidity,0,.3),v=t.uid;Ta.pattern(e,"point",r,v,s,f,h,void 0,a.fillmode,l,u,c)}else if(i&&i.type!=="none"){var d=i.type,m="scatterfill-"+t.uid;if(n&&(m="legendfill-"+t.uid),!n&&(i.start!==void 0||i.stop!==void 0)){var x,g;d==="horizontal"?(x={x:i.start,y:0},g={x:i.stop,y:0}):d==="vertical"&&(x={x:0,y:i.start},g={x:0,y:i.stop}),x.x=t._xA.c2p(x.x===void 0?t._extremes.x.min[0].val:x.x,!0),x.y=t._yA.c2p(x.y===void 0?t._extremes.y.min[0].val:x.y,!0),g.x=t._xA.c2p(g.x===void 0?t._extremes.x.max[0].val:g.x,!0),g.y=t._yA.c2p(g.y===void 0?t._extremes.y.max[0].val:g.y,!0),e.call(une,r,m,"linear",i.colorscale,"fill",x,g,!0,!1)}else d==="horizontal"&&(d=d+"reversed"),e.call(Ta.gradient,r,m,d,i.colorscale,"fill")}else t.fillcolor&&e.call(Qc.fill,t.fillcolor)}Ta.singleFillStyle=function(e,t){var r=_f.select(e.node()),n=r.data(),a=((n[0]||[])[0]||{}).trace||{};one(e,a,t,!1)};Ta.fillGroupStyle=function(e,t,r){e.style("stroke-width",0).each(function(n){var a=_f.select(this);n[0].trace&&one(a,n[0].trace,t,r)})};var $re=Zre();Ta.symbolNames=[];Ta.symbolFuncs=[];Ta.symbolBackOffs=[];Ta.symbolNeedLines={};Ta.symbolNoDot={};Ta.symbolNoFill={};Ta.symbolList=[];Object.keys($re).forEach(function(e){var t=$re[e],r=t.n;Ta.symbolList.push(r,String(r),e,r+100,String(r+100),e+"-open"),Ta.symbolNames[r]=e,Ta.symbolFuncs[r]=t.f,Ta.symbolBackOffs[r]=t.backoff||0,t.needLine&&(Ta.symbolNeedLines[r]=!0),t.noDot?Ta.symbolNoDot[r]=!0:Ta.symbolList.push(r+200,String(r+200),e+"-dot",r+300,String(r+300),e+"-open-dot"),t.noFill&&(Ta.symbolNoFill[r]=!0)});var ynt=Ta.symbolNames.length,xnt="M0,0.5L0.5,0L0,-0.5L-0.5,0Z";Ta.symbolNumber=function(e){if(Xg(e))e=+e;else if(typeof e=="string"){var t=0;e.indexOf("-open")>0&&(t=100,e=e.replace("-open","")),e.indexOf("-dot")>0&&(t+=200,e=e.replace("-dot","")),e=Ta.symbolNames.indexOf(e),e>=0&&(e+=t)}return e%100>=ynt||e>=400?0:Math.floor(Math.max(e,0))};function sne(e,t,r,n){var a=e%100;return Ta.symbolFuncs[a](t,r,n)+(e>=200?xnt:"")}var Kre=snt("~f"),lne={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}};Ta.gradient=function(e,t,r,n,a,i){var o=lne[n];return une(e,t,r,o.type,a,i,o.start,o.stop,!1,o.reversed)};function une(e,t,r,n,a,i,o,s,l,u){var c=a.length,f;n==="linear"?f={node:"linearGradient",attrs:{x1:o.x,y1:o.y,x2:s.x,y2:s.y,gradientUnits:l?"userSpaceOnUse":"objectBoundingBox"},reversed:u}:n==="radial"&&(f={node:"radialGradient",reversed:u});for(var h=new Array(c),v=0;v=0&&e.i===void 0&&(e.i=i.i),t.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(e):e.mo===void 0?o.opacity:e.mo),n.ms2mrc){var l;e.ms==="various"||o.size==="various"?l=3:l=n.ms2mrc(e.ms),e.mrc=l,n.selectedSizeFn&&(l=e.mrc=n.selectedSizeFn(e));var u=Ta.symbolNumber(e.mx||o.symbol)||0;e.om=u%200>=100;var c=jR(e,r),f=HR(e,r);t.attr("d",sne(u,l,c,f))}var h=!1,v,d,m;if(e.so)m=s.outlierwidth,d=s.outliercolor,v=o.outliercolor;else{var x=(s||{}).width;m=(e.mlw+1||x+1||(e.trace?(e.trace.marker.line||{}).width:0)+1)-1||0,"mlc"in e?d=e.mlcc=n.lineScale(e.mlc):qs.isArrayOrTypedArray(s.color)?d=Qc.defaultLine:d=s.color,qs.isArrayOrTypedArray(o.color)&&(v=Qc.defaultLine,h=!0),"mc"in e?v=e.mcc=n.markerScale(e.mc):v=o.color||o.colors||"rgba(0,0,0,0)",n.selectedColorFn&&(v=n.selectedColorFn(e))}let g=e.mld||(s||{}).dash;if(g&&Ta.dashLine(t,g,m),e.om)t.call(Qc.stroke,v).style({"stroke-width":(m||1)+"px",fill:"none"});else{t.style("stroke-width",(e.isBlank?0:m)+"px");var E=o.gradient,M=e.mgt;M?h=!0:M=E&&E.type,qs.isArrayOrTypedArray(M)&&(M=M[0],lne[M]||(M=0));var w=o.pattern,k=Ta.getPatternAttr,y=w&&(k(w.shape,e.i,"")||k(w.path,e.i,""));if(M&&M!=="none"){var S=e.mgc;S?h=!0:S=E.color;var T=r.uid;h&&(T+="-"+e.i),Ta.gradient(t,a,T,M,[[0,S],[1,v]],"fill")}else if(y){var p=!1,C=w.fgcolor;!C&&i&&i.color&&(C=i.color,p=!0);var A=k(C,e.i,i&&i.color||null),P=k(w.bgcolor,e.i,null),D=w.fgopacity,z=k(w.size,e.i,8),q=k(w.solidity,e.i,.3);p=p||e.mcc||qs.isArrayOrTypedArray(w.shape)||qs.isArrayOrTypedArray(w.path)||qs.isArrayOrTypedArray(w.bgcolor)||qs.isArrayOrTypedArray(w.fgcolor)||qs.isArrayOrTypedArray(w.size)||qs.isArrayOrTypedArray(w.solidity);var U=r.uid;p&&(U+="-"+e.i),Ta.pattern(t,"point",a,U,y,z,q,e.mcc,w.fillmode,P,A,D)}else qs.isArrayOrTypedArray(v)?Qc.fill(t,v[e.i]):Qc.fill(t,v);m&&Qc.stroke(t,d)}};Ta.makePointStyleFns=function(e){var t={},r=e.marker;return t.markerScale=Ta.tryColorscale(r,""),t.lineScale=Ta.tryColorscale(r,"line"),yS.traceIs(e,"symbols")&&(t.ms2mrc=hnt.isBubble(e)?dnt(e):function(){return(r.size||6)/2}),e.selectedpoints&&qs.extendFlat(t,Ta.makeSelectedPointStyleFns(e)),t};Ta.makeSelectedPointStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},a=e.marker||{},i=r.marker||{},o=n.marker||{},s=a.opacity,l=i.opacity,u=o.opacity,c=l!==void 0,f=u!==void 0;(qs.isArrayOrTypedArray(s)||c||f)&&(t.selectedOpacityFn=function(w){var k=w.mo===void 0?a.opacity:w.mo;return w.selected?c?l:k:f?u:ine*k});var h=a.color,v=i.color,d=o.color;(v||d)&&(t.selectedColorFn=function(w){var k=w.mcc||h;return w.selected?v||k:d||k});var m=a.size,x=i.size,g=o.size,E=x!==void 0,M=g!==void 0;return yS.traceIs(e,"symbols")&&(E||M)&&(t.selectedSizeFn=function(w){var k=w.mrc||m/2;return w.selected?E?x/2:k:M?g/2:k}),t};Ta.makeSelectedTextStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},a=e.textfont||{},i=r.textfont||{},o=n.textfont||{},s=a.color,l=i.color,u=o.color;return t.selectedTextColorFn=function(c){var f=c.tc||s;return c.selected?l||f:u||(l?f:Qc.addOpacity(f,ine))},t};Ta.selectedPointStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=Ta.makeSelectedPointStyleFns(t),n=t.marker||{},a=[];r.selectedOpacityFn&&a.push(function(i,o){i.style("opacity",r.selectedOpacityFn(o))}),r.selectedColorFn&&a.push(function(i,o){Qc.fill(i,r.selectedColorFn(o))}),r.selectedSizeFn&&a.push(function(i,o){var s=o.mx||n.symbol||0,l=r.selectedSizeFn(o);i.attr("d",sne(Ta.symbolNumber(s),l,jR(o,t),HR(o,t))),o.mrc2=l}),a.length&&e.each(function(i){for(var o=_f.select(this),s=0;s0?r:0}Ta.textPointStyle=function(e,t,r){if(e.size()){var n;if(t.selectedpoints){var a=Ta.makeSelectedTextStyleFns(t);n=a.selectedTextColorFn}var i=t.texttemplate,o=r._fullLayout;e.each(function(s){var l=_f.select(this),u=i?qs.extractOption(s,t,"txt","texttemplate"):qs.extractOption(s,t,"tx","text");if(!u&&u!==0){l.remove();return}if(i){var c=t._module.formatLabels,f=c?c(s,t,o):{},h={};vnt(h,t,s.i),u=qs.texttemplateString({data:[h,s,t._meta],fallback:t.texttemplatefallback,labels:f,locale:o._d3locale,template:u})}var v=s.tp||t.textposition,d=fne(s,t),m=n?n(s):s.tc||t.textfont.color;l.call(Ta.font,{family:s.tf||t.textfont.family,weight:s.tw||t.textfont.weight,style:s.ty||t.textfont.style,variant:s.tv||t.textfont.variant,textcase:s.tC||t.textfont.textcase,lineposition:s.tE||t.textfont.lineposition,shadow:s.tS||t.textfont.shadow,size:d,color:m}).text(u).call(xS.convertToTspans,r).call(cne,v,d,s.mrc)})}};Ta.selectedTextStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=Ta.makeSelectedTextStyleFns(t);e.each(function(n){var a=_f.select(this),i=r.selectedTextColorFn(n),o=n.tp||t.textposition,s=fne(n,t);Qc.fill(a,i);var l=yS.traceIs(t,"bar-like");cne(a,o,s,n.mrc2||n.mrc,l)})}};var Jre=.5;Ta.smoothopen=function(e,t){if(e.length<3)return"M"+e.join("L");var r="M"+e[0],n=[],a;for(a=1;a=l||w>=c&&w<=l)&&(k<=f&&k>=u||k>=f&&k<=u)&&(e=[w,k])}return e}Ta.applyBackoff=vne;Ta.makeTester=function(){var e=qs.ensureSingleById(_f.select("body"),"svg","js-plotly-tester",function(r){r.attr(unt.svgAttrs).style({position:"absolute",left:"-10000px",top:"-10000px",width:"9000px",height:"9000px","z-index":"1"})}),t=qs.ensureSingle(e,"path","js-reference-point",function(r){r.attr("d","M0,0H1V1H0Z").style({"stroke-width":0,fill:"black"})});Ta.tester=e,Ta.testref=t};Ta.savedBBoxes={};var NR=0,wnt=1e4;Ta.bBox=function(e,t,r){r||(r=Qre(e));var n;if(r){if(n=Ta.savedBBoxes[r],n)return qs.extendFlat({},n)}else if(e.childNodes.length===1){var a=e.childNodes[0];if(r=Qre(a),r){var i=+a.getAttribute("x")||0,o=+a.getAttribute("y")||0,s=a.getAttribute("transform");if(!s){var l=Ta.bBox(a,!1,r);return i&&(l.left+=i,l.right+=i),o&&(l.top+=o,l.bottom+=o),l}if(r+="~"+i+"~"+o+"~"+s,n=Ta.savedBBoxes[r],n)return qs.extendFlat({},n)}}var u,c;t?u=e:(c=Ta.tester.node(),u=e.cloneNode(!0),c.appendChild(u)),_f.select(u).attr("transform",null).call(xS.positionText,0,0);var f=u.getBoundingClientRect(),h=Ta.testref.node().getBoundingClientRect();t||c.removeChild(u);var v={height:f.height,width:f.width,left:f.left-h.left,top:f.top-h.top,right:f.right-h.left,bottom:f.bottom-h.top};return NR>=wnt&&(Ta.savedBBoxes={},NR=0),r&&(Ta.savedBBoxes[r]=v),NR++,qs.extendFlat({},v)};function Qre(e){var t=e.getAttribute("data-unformatted");if(t!==null)return t+e.getAttribute("data-math")+e.getAttribute("text-anchor")+e.getAttribute("style")}Ta.setClipUrl=function(e,t,r){e.attr("clip-path",GR(t,r))};function GR(e,t){if(!e)return null;var r=t._context,n=r._exportedPlot?"":r._baseUrl||"";return n?"url('"+n+"#"+e+"')":"url(#"+e+")"}Ta.getTranslate=function(e){var t=/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,r=e.attr?"attr":"getAttribute",n=e[r]("transform")||"",a=n.replace(t,function(i,o,s){return[o,s].join(" ")}).split(" ");return{x:+a[0]||0,y:+a[1]||0}};Ta.setTranslate=function(e,t,r){var n=/(\btranslate\(.*?\);?)/,a=e.attr?"attr":"getAttribute",i=e.attr?"attr":"setAttribute",o=e[a]("transform")||"";return t=t||0,r=r||0,o=o.replace(n,"").trim(),o+=H5(t,r),o=o.trim(),e[i]("transform",o),o};Ta.getScale=function(e){var t=/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,r=e.attr?"attr":"getAttribute",n=e[r]("transform")||"",a=n.replace(t,function(i,o,s){return[o,s].join(" ")}).split(" ");return{x:+a[0]||1,y:+a[1]||1}};Ta.setScale=function(e,t,r){var n=/(\bscale\(.*?\);?)/,a=e.attr?"attr":"getAttribute",i=e.attr?"attr":"setAttribute",o=e[a]("transform")||"";return t=t||1,r=r||1,o=o.replace(n,"").trim(),o+="scale("+t+","+r+")",o=o.trim(),e[i]("transform",o),o};var Tnt=/\s*sc.*/;Ta.setPointGroupScale=function(e,t,r){if(t=t||1,r=r||1,!!e){var n=t===1&&r===1?"":"scale("+t+","+r+")";e.each(function(){var a=(this.getAttribute("transform")||"").replace(Tnt,"");a+=n,a=a.trim(),this.setAttribute("transform",a)})}};var Ant=/translate\([^)]*\)\s*$/;Ta.setTextPointsScale=function(e,t,r){e&&e.each(function(){var n,a=_f.select(this),i=a.select("text");if(i.node()){var o=parseFloat(i.attr("x")||0),s=parseFloat(i.attr("y")||0),l=(a.attr("transform")||"").match(Ant);t===1&&r===1?n=[]:n=[H5(o,s),"scale("+t+","+r+")",H5(-o,-s)],l&&n.push(l),a.attr("transform",n.join(""))}})};function HR(e,t){var r;return e&&(r=e.mf),r===void 0&&(r=t.marker&&t.marker.standoff||0),!t._geo&&!t._xA?-r:r}Ta.getMarkerStandoff=HR;var G5=Math.atan2,Zy=Math.cos,Gb=Math.sin;function ene(e,t){var r=t[0],n=t[1];return[r*Zy(e)-n*Gb(e),r*Gb(e)+n*Zy(e)]}var tne,rne,nne,ane,UR,VR;function jR(e,t){var r=e.ma;r===void 0&&(r=t.marker.angle,(!Xg(r)||qs.isArrayOrTypedArray(r))&&(r=0));var n,a,i=t.marker.angleref;if(i==="previous"||i==="north"){if(t._geo){var o=t._geo.project(e.lonlat);n=o[0],a=o[1]}else{var s=t._xA,l=t._yA;if(s&&l)n=s.c2p(e.x),a=l.c2p(e.y);else return 90}if(t._geo){var u=e.lonlat[0],c=e.lonlat[1],f=t._geo.project([u,c+1e-5]),h=t._geo.project([u+1e-5,c]),v=G5(h[1]-a,h[0]-n),d=G5(f[1]-a,f[0]-n),m;if(i==="north")m=r/180*Math.PI;else if(i==="previous"){var x=u/180*Math.PI,g=c/180*Math.PI,E=tne/180*Math.PI,M=rne/180*Math.PI,w=E-x,k=Zy(M)*Gb(w),y=Gb(M)*Zy(g)-Zy(M)*Gb(g)*Zy(w);m=-G5(k,y)-Math.PI,tne=u,rne=c}var S=ene(v,[Zy(m),0]),T=ene(d,[Gb(m),0]);r=G5(S[1]+T[1],S[0]+T[0])/Math.PI*180,i==="previous"&&!(VR===t.uid&&e.i===UR+1)&&(r=null)}if(i==="previous"&&!t._geo)if(VR===t.uid&&e.i===UR+1&&Xg(n)&&Xg(a)){var p=n-nne,C=a-ane,A=t.line&&t.line.shape||"",P=A.slice(A.length-1);P==="h"&&(C=0),P==="v"&&(p=0),r+=G5(C,p)/Math.PI*180+90}else r=null}return nne=n,ane=a,UR=e.i,VR=t.uid,r}Ta.getMarkerAngle=jR});var Qy=ne((Fer,xne)=>{"use strict";var Hb=Ea(),Mnt=mi(),Snt=Sl(),WR=Fa(),Jy=Zt(),gne=Jy.strTranslate,bS=li(),_S=_a(),jb=Ms(),mne=A1(),Ent=qc().OPPOSITE_SIDE,yne=/ [XY][0-9]* /,YR=1.6,XR=1.6;function knt(e,t,r){var n=e._fullLayout,a=r.propContainer,i=r.propName,o=r.placeholder,s=r.traceIndex,l=r.avoid||{},u=r.attributes,c=r.transform,f=r.containerGroup,h=1,v=a.title,d=(v&&v.text?v.text:"").trim(),m=!1,x=v&&v.font?v.font:{},g=x.family,E=x.size,M=x.color,w=x.weight,k=x.style,y=x.variant,S=x.textcase,T=x.lineposition,p=x.shadow,C=r.subtitlePropName,A=!!C,P=r.subtitlePlaceholder,D=(a.title||{}).subtitle||{text:"",font:{}},z=(D.text||"").trim(),q=!1,U=1,O=D.font,R=O.family,B=O.size,Y=O.color,X=O.weight,te=O.style,se=O.variant,ue=O.textcase,re=O.lineposition,j=O.shadow,fe;i==="title.text"?fe="titleText":i.indexOf("axis")!==-1?fe="axisTitleText":i.indexOf("colorbar")!==-1&&(fe="colorbarTitleText");var ce=e._context.edits[fe];function oe(lt,Ie){return lt===void 0||Ie===void 0?!1:lt.replace(yne," % ")===Ie.replace(yne," % ")}d===""?h=0:oe(d,o)&&(ce||(d=""),h=.2,m=!0),A&&(z===""?U=0:oe(z,P)&&(ce||(z=""),U=.2,q=!0)),r._meta?d=Jy.templateString(d,r._meta):n._meta&&(d=Jy.templateString(d,n._meta));var we=d||z||ce,he;f||(f=Jy.ensureSingle(n._infolayer,"g","g-"+t),he=n._hColorbarMoveTitle);var ye=f.selectAll("text."+t).data(we?[0]:[]);ye.enter().append("text"),ye.text(d).attr("class",t),ye.exit().remove();var Pe=null,le=t+"-subtitle",ze=z||ce;if(A&&(Pe=f.selectAll("text."+le).data(ze?[0]:[]),Pe.enter().append("text"),Pe.text(z).attr("class",le),Pe.exit().remove()),!we)return f;function Xe(lt,Ie){Jy.syncOrAsync([vt,st],{title:lt,subtitle:Ie})}function vt(lt){var Ie=lt.title,de=lt.subtitle,Ee;!c&&he&&(c={}),c?(Ee="",c.rotate&&(Ee+="rotate("+[c.rotate,u.x,u.y]+")"),(c.offset||he)&&(Ee+=gne(0,(c.offset||0)-(he||0)))):Ee=null,Ie.attr("transform",Ee);function Ue(Qe){if(Qe){var We=Hb.select(Qe.node().parentNode).select("."+le);if(!We.empty()){var pt=Qe.node().getBBox();if(pt.height){var kt=pt.y+pt.height+YR*B;We.attr("y",kt)}}}}if(Ie.style("opacity",h*_S.opacity(M)).call(bS.font,{color:_S.rgb(M),size:Hb.round(E,2),family:g,weight:w,style:k,variant:y,textcase:S,shadow:p,lineposition:T}).attr(u).call(jb.convertToTspans,e,Ue),de&&!de.empty()){var ge=f.select("."+t+"-math-group"),Ge=Ie.node().getBBox(),tt=ge.node()?ge.node().getBBox():void 0,ft=tt?tt.y+tt.height+YR*B:Ge.y+Ge.height+XR*B,He=Jy.extendFlat({},u,{y:ft});de.attr("transform",Ee),de.style("opacity",U*_S.opacity(Y)).call(bS.font,{color:_S.rgb(Y),size:Hb.round(B,2),family:R,weight:X,style:te,variant:se,textcase:ue,shadow:j,lineposition:re}).attr(He).call(jb.convertToTspans,e)}return Snt.previousPromises(e)}function st(lt){var Ie=lt.title,de=Hb.select(Ie.node().parentNode);if(l&&l.selection&&l.side&&d){de.attr("transform",null);var Ee=Ent[l.side],Ue=l.side==="left"||l.side==="top"?-1:1,ge=Mnt(l.pad)?l.pad:2,Ge=bS.bBox(de.node()),tt={t:0,b:0,l:0,r:0},ft=e._fullLayout._reservedMargin;for(var He in ft)for(var Qe in ft[He]){var We=ft[He][Qe];tt[Qe]=Math.max(tt[Qe],We)}var pt={left:tt.l,top:tt.t,right:n.width-tt.r,bottom:n.height-tt.b},kt=l.maxShift||Ue*(pt[l.side]-Ge[l.side]),qt=0;if(kt<0)qt=kt;else{var Wt=l.offsetLeft||0,_r=l.offsetTop||0;Ge.left-=Wt,Ge.right-=Wt,Ge.top-=_r,Ge.bottom-=_r,l.selection.each(function(){var lr=bS.bBox(this);Jy.bBoxIntersect(Ge,lr,ge)&&(qt=Math.max(qt,Ue*(lr[l.side]-Ge[Ee])+ge))}),qt=Math.min(kt,qt),a._titleScoot=Math.abs(qt)}if(qt>0||kt<0){var tr={left:[-qt,0],right:[qt,0],top:[0,-qt],bottom:[0,qt]}[l.side];de.attr("transform",gne(tr[0],tr[1]))}}}ye.call(Xe,Pe);function Oe(lt,Ie){lt.text(Ie).on("mouseover.opacity",function(){Hb.select(this).transition().duration(mne.SHOW_PLACEHOLDER).style("opacity",1)}).on("mouseout.opacity",function(){Hb.select(this).transition().duration(mne.HIDE_PLACEHOLDER).style("opacity",0)})}if(ce&&(d?ye.on(".opacity",null):(Oe(ye,o),m=!0),ye.call(jb.makeEditable,{gd:e}).on("edit",function(lt){s!==void 0?WR.call("_guiRestyle",e,i,lt,s):WR.call("_guiRelayout",e,i,lt)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(Xe)}).on("input",function(lt){this.text(lt||" ").call(jb.positionText,u.x,u.y)}),A)){if(A&&!d){var qe=ye.node().getBBox(),mt=qe.y+qe.height+XR*B;Pe.attr("y",mt)}z?Pe.on(".opacity",null):(Oe(Pe,P),q=!0),Pe.call(jb.makeEditable,{gd:e}).on("edit",function(lt){WR.call("_guiRelayout",e,"title.subtitle.text",lt)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(Xe)}).on("input",function(lt){this.text(lt||" ").call(jb.positionText,Pe.attr("x"),Pe.attr("y"))})}return ye.classed("js-placeholder",m),Pe&&!Pe.empty()&&Pe.classed("js-placeholder",q),f}xne.exports={draw:knt,SUBTITLE_PADDING_EM:XR,SUBTITLE_PADDING_MATHJAX_EM:YR}});var Tp=ne((Per,Ane)=>{"use strict";var Cnt=Ea(),Lnt=ub().utcFormat,yl=Zt(),Fnt=yl.numberFormat,_p=mi(),Zg=yl.cleanNumber,Pnt=yl.ms2DateTime,bne=yl.dateTime2ms,wp=yl.ensureNumber,_ne=yl.isArrayOrTypedArray,$g=uo(),wS=$g.FP_SAFE,R0=$g.BADNUM,Dnt=$g.LOG_CLIP,Rnt=$g.ONEWEEK,TS=$g.ONEDAY,AS=$g.ONEHOUR,wne=$g.ONEMIN,Tne=$g.ONESEC,MS=uu(),kS=zc(),SS=kS.HOUR_PATTERN,ES=kS.WEEKDAY_PATTERN;function j5(e){return Math.pow(10,e)}function ZR(e){return e!=null}Ane.exports=function(t,r){r=r||{};var n=t._id||"x",a=n.charAt(0);function i(w,k){if(w>0)return Math.log(w)/Math.LN10;if(w<=0&&k&&t.range&&t.range.length===2){var y=t.range[0],S=t.range[1];return .5*(y+S-2*Dnt*Math.abs(y-S))}else return R0}function o(w,k,y,S){if((S||{}).msUTC&&_p(w))return+w;var T=bne(w,y||t.calendar);if(T===R0)if(_p(w)){w=+w;var p=Math.floor(yl.mod(w+.05,1)*10),C=Math.round(w-p/10);T=bne(new Date(C))+p/10}else return R0;return T}function s(w,k,y){return Pnt(w,k,y||t.calendar)}function l(w){return t._categories[Math.round(w)]}function u(w){if(ZR(w)){if(t._categoriesMap===void 0&&(t._categoriesMap={}),t._categoriesMap[w]!==void 0)return t._categoriesMap[w];t._categories.push(typeof w=="number"?String(w):w);var k=t._categories.length-1;return t._categoriesMap[w]=k,k}return R0}function c(w,k){for(var y=new Array(k),S=0;St.range[1]&&(y=!y);for(var S=y?-1:1,T=S*w,p=0,C=0;CP)p=C+1;else{p=T<(A+P)/2?C:C+1;break}}var D=t._B[p]||0;return isFinite(D)?d(w,t._m2,D):0},g=function(w){var k=t._rangebreaks.length;if(!k)return m(w,t._m,t._b);for(var y=0,S=0;St._rangebreaks[S].pmax&&(y=S+1);return m(w,t._m2,t._B[y])}}t.c2l=t.type==="log"?i:wp,t.l2c=t.type==="log"?j5:wp,t.l2p=x,t.p2l=g,t.c2p=t.type==="log"?function(w,k){return x(i(w,k))}:x,t.p2c=t.type==="log"?function(w){return j5(g(w))}:g,["linear","-"].indexOf(t.type)!==-1?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=Zg,t.c2d=t.c2r=t.l2d=t.l2r=wp,t.d2p=t.r2p=function(w){return t.l2p(Zg(w))},t.p2d=t.p2r=g,t.cleanPos=wp):t.type==="log"?(t.d2r=t.d2l=function(w,k){return i(Zg(w),k)},t.r2d=t.r2c=function(w){return j5(Zg(w))},t.d2c=t.r2l=Zg,t.c2d=t.l2r=wp,t.c2r=i,t.l2d=j5,t.d2p=function(w,k){return t.l2p(t.d2r(w,k))},t.p2d=function(w){return j5(g(w))},t.r2p=function(w){return t.l2p(Zg(w))},t.p2r=g,t.cleanPos=wp):t.type==="date"?(t.d2r=t.r2d=yl.identity,t.d2c=t.r2c=t.d2l=t.r2l=o,t.c2d=t.c2r=t.l2d=t.l2r=s,t.d2p=t.r2p=function(w,k,y){return t.l2p(o(w,0,y))},t.p2d=t.p2r=function(w,k,y){return s(g(w),k,y)},t.cleanPos=function(w){return yl.cleanDate(w,R0,t.calendar)}):t.type==="category"?(t.d2c=t.d2l=u,t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(w){var k=v(w);return k!==void 0?k:t.fraction2r(.5)},t.l2r=t.c2r=wp,t.r2l=v,t.d2p=function(w){return t.l2p(t.r2c(w))},t.p2d=function(w){return l(g(w))},t.r2p=t.d2p,t.p2r=g,t.cleanPos=function(w){return typeof w=="string"&&w!==""?w:wp(w)}):t.type==="multicategory"&&(t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(w){var k=h(w);return k!==void 0?k:t.fraction2r(.5)},t.r2c_just_indices=f,t.l2r=t.c2r=wp,t.r2l=h,t.d2p=function(w){return t.l2p(t.r2c(w))},t.p2d=function(w){return l(g(w))},t.r2p=t.d2p,t.p2r=g,t.cleanPos=function(w){return Array.isArray(w)||typeof w=="string"&&w!==""?w:wp(w)},t.setupMultiCategory=function(w){var k=t._traceIndices,y,S,T=t._matchGroup;if(T&&t._categories.length===0){for(var p in T)if(p!==n){var C=r[MS.id2name(p)];k=k.concat(C._traceIndices)}}var A=[[0,{}],[0,{}]],P=[];for(y=0;yC[1]&&(S[p?0:1]=y,T[1]=C[1]),T[0]>=T[1])if(k!==void 0){var A=C[0]+1;y!==void 0&&(A=Math.min(A,C[1])),S[p?0:1]=t.l2r(A)}else y!==void 0&&(S[p?1:0]=t.l2r(C[1]-1))}},t.cleanRange=function(w,k){t._cleanRange(w,k),t.limitRange(w)},t._cleanRange=function(w,k){k||(k={}),w||(w="range");var y=yl.nestedProperty(t,w).get(),S,T;if(t.type==="date"?T=yl.dfltRange(t.calendar):a==="y"?T=kS.DFLTRANGEY:t._name==="realaxis"?T=[0,1]:T=k.dfltRange||kS.DFLTRANGEX,T=T.slice(),(t.rangemode==="tozero"||t.rangemode==="nonnegative")&&(T[0]=0),!y||y.length!==2){yl.nestedProperty(t,w).set(T);return}var p=y[0]===null,C=y[1]===null;for(t.type==="date"&&!t.autorange&&(y[0]=yl.cleanDate(y[0],R0,t.calendar),y[1]=yl.cleanDate(y[1],R0,t.calendar)),S=0;S<2;S++)if(t.type==="date"){if(!yl.isDateTime(y[S],t.calendar)){t[w]=T;break}if(t.r2l(y[0])===t.r2l(y[1])){var A=yl.constrain(t.r2l(y[0]),yl.MIN_MS+1e3,yl.MAX_MS-1e3);y[0]=t.l2r(A-1e3),y[1]=t.l2r(A+1e3);break}}else{if(!_p(y[S]))if(!(p||C)&&_p(y[1-S]))y[S]=y[1-S]*(S?10:.1);else{t[w]=T;break}if(y[S]<-wS?y[S]=-wS:y[S]>wS&&(y[S]=wS),y[0]===y[1]){var P=Math.max(1,Math.abs(y[0]*1e-6));y[0]-=P,y[1]+=P}}},t.setScale=function(w){var k=r._size;if(t.overlaying){var y=MS.getFromId({_fullLayout:r},t.overlaying);t.domain=y.domain}var S=w&&t._r?"_r":"range",T=t.calendar;t.cleanRange(S);var p=t.r2l(t[S][0],T),C=t.r2l(t[S][1],T),A=a==="y";if(A?(t._offset=k.t+(1-t.domain[1])*k.h,t._length=k.h*(t.domain[1]-t.domain[0]),t._m=t._length/(p-C),t._b=-t._m*C):(t._offset=k.l+t.domain[0]*k.w,t._length=k.w*(t.domain[1]-t.domain[0]),t._m=t._length/(C-p),t._b=-t._m*p),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks){var P,D;if(t._rangebreaks=t.locateBreaks(Math.min(p,C),Math.max(p,C)),t._rangebreaks.length){for(P=0;PC&&(z=!z),z&&t._rangebreaks.reverse();var q=z?-1:1;for(t._m2=q*t._length/(Math.abs(C-p)-t._lBreaks),t._B.push(-t._m2*(A?C:p)),P=0;PT&&(T+=7,pT&&(T+=24,p=S&&p=S&&w=j.min&&(tej.max&&(j.max=se),ue=!1)}ue&&C.push({min:te,max:se})}};for(y=0;y{"use strict";var Mne=mi(),$R=Zt(),Int=uo().BADNUM,CS=$R.isArrayOrTypedArray,znt=$R.isDateTime,qnt=$R.cleanNumber,Sne=Math.round;kne.exports=function(t,r,n){var a=t,i=n.noMultiCategory;if(CS(a)&&!a.length)return"-";if(!i&&Vnt(a))return"multicategory";if(i&&Array.isArray(a[0])){for(var o=[],s=0;si*2}function Ene(e){return Math.max(1,(e-1)/1e3)}function Unt(e,t){for(var r=e.length,n=Ene(r),a=0,i=0,o={},s=0;sa*2}function Vnt(e){return CS(e[0])&&CS(e[1])}});var I0=ne((Rer,zne)=>{"use strict";var Gnt=Ea(),Pne=mi(),Kg=Zt(),LS=uo().FP_SAFE,Hnt=Fa(),jnt=li(),Dne=uu(),Wnt=Dne.getFromId,Ynt=Dne.isLinked;zne.exports={applyAutorangeOptions:Ine,getAutoRange:KR,makePadFn:JR,doAutoRange:Znt,findExtremes:$nt,concatExtremes:tI};function KR(e,t){var r,n,a=[],i=e._fullLayout,o=JR(i,t,0),s=JR(i,t,1),l=tI(e,t),u=l.min,c=l.max;if(u.length===0||c.length===0)return Kg.simpleMap(t.range,t.r2l);var f=u[0].val,h=c[0].val;for(r=1;r0&&(C=M-o(y)-s(S),C>w?A/C>k&&(T=y,p=S,k=A/C):A/M>k&&(T={val:y.val,nopad:1},p={val:S.val,nopad:1},k=A/M));function P(O,R){return Math.max(O,s(R))}if(f===h){var D=f-1,z=f+1;if(g)if(f===0)a=[0,1];else{var q=(f>0?c:u).reduce(P,0),U=f/(1-Math.min(.5,q/M));a=f>0?[0,U]:[U,0]}else E?a=[Math.max(0,D),Math.max(1,z)]:a=[D,z]}else g?(T.val>=0&&(T={val:0,nopad:1}),p.val<=0&&(p={val:0,nopad:1})):E&&(T.val-k*o(T)<0&&(T={val:0,nopad:1}),p.val<=0&&(p={val:1,nopad:1})),k=(p.val-T.val-Cne(t,y.val,S.val))/(M-o(T)-s(p)),a=[T.val-k*o(T),p.val+k*s(p)];return a=Ine(a,t),t.limitRange&&t.limitRange(),d&&a.reverse(),Kg.simpleMap(a,t.l2r||Number)}function Cne(e,t,r){var n=0;if(e.rangebreaks)for(var a=e.locateBreaks(t,r),i=0;i0?r.ppadplus:r.ppadminus)||r.ppad||0),y=w((e._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),S=w(r.vpadplus||r.vpad),T=w(r.vpadminus||r.vpad);if(!u){if(E=1/0,M=-1/0,l)for(f=0;f0&&(E=h),h>M&&h-LS&&(E=h),h>M&&h=A;f--)C(f);return{min:n,max:a,opts:r}}function QR(e,t,r,n){Rne(e,t,r,n,Knt)}function eI(e,t,r,n){Rne(e,t,r,n,Jnt)}function Rne(e,t,r,n,a){for(var i=n.tozero,o=n.extrapad,s=!0,l=0;l=r&&(u.extrapad||!o)){s=!1;break}else a(t,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(e.splice(l,1),l--)}if(s){var c=i&&t===0;e.push({val:t,pad:c?0:r,extrapad:c?!1:o})}}function Fne(e){return Pne(e)&&Math.abs(e)=t}function Qnt(e,t){var r=t.autorangeoptions;return r&&r.minallowed!==void 0&&FS(t,r.minallowed,r.maxallowed)?r.minallowed:r&&r.clipmin!==void 0&&FS(t,r.clipmin,r.clipmax)?Math.max(e,t.d2l(r.clipmin)):e}function eat(e,t){var r=t.autorangeoptions;return r&&r.maxallowed!==void 0&&FS(t,r.minallowed,r.maxallowed)?r.maxallowed:r&&r.clipmax!==void 0&&FS(t,r.clipmin,r.clipmax)?Math.min(e,t.d2l(r.clipmax)):e}function FS(e,t,r){return t!==void 0&&r!==void 0?(t=e.d2l(t),r=e.d2l(r),t=l&&(i=l,r=l),o<=l&&(o=l,n=l)}}return r=Qnt(r,t),n=eat(n,t),[r,n]}});var ri=ne((zer,iae)=>{"use strict";var Bv=Ea(),fc=mi(),Yb=Sl(),Y5=Fa(),Ei=Zt(),Xb=Ei.strTranslate,ex=Ms(),tat=Qy(),X5=_a(),hv=li(),rat=Wf(),qne=SR(),Ier=zc(),xh=uo(),nat=xh.ONEMAXYEAR,RS=xh.ONEAVGYEAR,IS=xh.ONEMINYEAR,aat=xh.ONEMAXQUARTER,iI=xh.ONEAVGQUARTER,zS=xh.ONEMINQUARTER,iat=xh.ONEMAXMONTH,Zb=xh.ONEAVGMONTH,qS=xh.ONEMINMONTH,dv=xh.ONEWEEK,id=xh.ONEDAY,Jg=id/2,Mp=xh.ONEHOUR,Z5=xh.ONEMIN,BS=xh.ONESEC,oat=xh.ONEMILLI,sat=xh.ONEMICROSEC,tx=xh.MINUS_SIGN,NS=xh.BADNUM,oI={K:"zeroline"},sI={K:"gridline",L:"path"},lI={K:"minor-gridline",L:"path"},Xne={K:"tick",L:"path"},Bne={K:"tick",L:"text"},One={width:["x","r","l","xl","xr"],height:["y","t","b","yt","yb"],right:["r","xr"],left:["l","xl"],top:["t","yt"],bottom:["b","yb"]},US=qc(),W5=US.MID_SHIFT,rx=US.CAP_SHIFT,$5=US.LINE_SPACING,lat=US.OPPOSITE_SIDE,OS=3,$n=iae.exports={};$n.setConvert=Tp();var uat=Wb(),Sp=uu(),cat=Sp.idSort,fat=Sp.isLinked;$n.id2name=Sp.id2name;$n.name2id=Sp.name2id;$n.cleanId=Sp.cleanId;$n.list=Sp.list;$n.listIds=Sp.listIds;$n.getFromId=Sp.getFromId;$n.getFromTrace=Sp.getFromTrace;var Zne=I0();$n.getAutoRange=Zne.getAutoRange;$n.findExtremes=Zne.findExtremes;var hat=1e-4;function hI(e){var t=(e[1]-e[0])*hat;return[e[0]-t,e[1]+t]}function dat(e,t,r){if(![r,e,t].every(fc)||r===0)return e;let n=Math.round((e-t)/r),a=t+n*r;return e!==a&&Math.abs(e-a)h+" domain")),l=l.concat(i||[]),c.length>o?(Ei.warn("Array attribute "+u+" has more entries than expected, truncating to "+o),c=c.slice(0,o)):c.length2e-6||((r-e._forceTick0)/e._minDtick%1+1.000001)%1>2e-6)&&(e._minDtick=0))};$n.saveRangeInitial=function(e,t){for(var r=$n.list(e,"",!0),n=!1,a=0;af*.3||u(n)||u(a))){var h=r.dtick/2;e+=e+ho){var s=Number(r.slice(1));i.exactYears>o&&s%12===0?e=$n.tickIncrement(e,"M6","reverse")+id*1.5:i.exactMonths>o?e=$n.tickIncrement(e,"M1","reverse")+id*15.5:e-=Jg;var l=$n.tickIncrement(e,r);if(l<=n)return l}return e}$n.prepMinorTicks=function(e,t,r){var f,h;if(!((f=t.minor)!=null&&f.dtick)){delete e.dtick;var n=t.dtick&&fc(t._tmin),a;if(n){var i=$n.tickIncrement(t._tmin,t.dtick,!0);a=[t._tmin,i*.99+t._tmin*.01]}else{var o=Ei.simpleMap(t.range,t.r2l);a=[o[0],.8*o[0]+.2*o[1]]}if(e.range=Ei.simpleMap(a,t.l2r),e._isMinor=!0,$n.prepTicks(e,r),n){var s=fc(t.dtick),l=fc(e.dtick),u=s?t.dtick:+t.dtick.substring(1),c=l?e.dtick:+e.dtick.substring(1);s&&l?rI(u,c)?u===2*dv&&c===2*id&&(e.dtick=dv):u===2*dv&&c===3*id?e.dtick=dv:u===dv&&!(t._input.minor||{}).nticks?e.dtick=id:Vne(u/c,2.5)?e.dtick=u/2:e.dtick=u:String(t.dtick).charAt(0)==="M"?l?e.dtick="M1":rI(u,c)?u>=12&&c===2&&(e.dtick="M3"):e.dtick=t.dtick:String(e.dtick).charAt(0)==="L"?String(t.dtick).charAt(0)==="L"?rI(u,c)||(e.dtick=Vne(u/c,2.5)?t.dtick/2:t.dtick):e.dtick="D1":e.dtick==="D2"&&+t.dtick>1&&(e.dtick=1)}e.range=t.range}((h=t.minor)==null?void 0:h._tick0Init)===void 0&&(e.tick0=t.tick0)};function rI(e,t){return Math.abs((e/t+.5)%1-.5)<.001}function Vne(e,t){return Math.abs(e/t-1)<.001}$n.prepTicks=function(e,t){var r=Ei.simpleMap(e.range,e.r2l,void 0,void 0,t);if(e.tickmode==="auto"||!e.dtick){var n=e.nticks,a;n||(e.type==="category"||e.type==="multicategory"?(a=e.tickfont?Ei.bigFont(e.tickfont.size||12):15,n=e._length/a):(a=e._id.charAt(0)==="y"?40:80,n=Ei.constrain(e._length/a,4,9)+1),e._name==="radialaxis"&&(n*=2)),e.minor&&e.minor.tickmode!=="array"||e.tickmode==="array"&&(n*=100),e._roughDTick=Math.abs(r[1]-r[0])/n,$n.autoTicks(e,e._roughDTick),e._minDtick>0&&e.dtick0?(i=n-1,o=n):(i=n,o=n);var s=e[i].value,l=e[o].value,u=Math.abs(l-s),c=r||u,f=0;c>=IS?u>=IS&&u<=nat?f=u:f=RS:r===iI&&c>=zS?u>=zS&&u<=aat?f=u:f=iI:c>=qS?u>=qS&&u<=iat?f=u:f=Zb:r===dv&&c>=dv?f=dv:c>=id?f=id:r===Jg&&c>=Jg?f=Jg:r===Mp&&c>=Mp&&(f=Mp);var h;f>=u&&(f=u,h=!0);var v=a+f;if(t.rangebreaks&&f>0){for(var d=84,m=0,x=0;xdv&&(f=u)}(f>0||n===0)&&(e[n].periodX=a+f/2)}}$n.calcTicks=function(t,r){for(var n=t.type,a=t.calendar,i=t.ticklabelstep,o=t.ticklabelmode==="period",s=t.range[0]>t.range[1],l=!t.ticklabelindex||Ei.isArrayOrTypedArray(t.ticklabelindex)?t.ticklabelindex:[t.ticklabelindex],u=Ei.simpleMap(t.range,t.r2l,void 0,void 0,r),c=u[1]=(w?0:1);k--){var y=!k;k?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):w&&(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var S=k?t:Ei.extendFlat({},t,w?t.minor:{minor:{}});if(y?$n.prepMinorTicks(S,t,r):$n.prepTicks(S,r),S.tickmode==="array"){k?(x=[],d=Gne(t,!y)):(g=[],m=Gne(t,!y));continue}if(S.tickmode==="sync"){x=[],d=xat(t);continue}var T=hI(u),p=T[0],C=T[1],A=fc(S.dtick),P=n==="log"&&!(A||S.dtick.charAt(0)==="L"),D=$n.tickFirst(S,r);if(k){if(t._tmin=D,D=C:q<=C;q=$n.tickIncrement(q,R,c,a)){if(k&&U++,S.rangebreaks&&!c){if(q=h)break}if(x.length>v||q===z)break;z=q;var Y={value:dat(q,B,R)};k?(q===D&&(Y.first=!0),P&&q!==(q|0)&&(Y.simpleLabel=!0),i>1&&U%i&&(Y.skipLabel=!0),x.push(Y)):(Y.minor=!0,g.push(Y))}}if(!g||g.length<3)l=!1;else{var X=(g[2].value-g[1].value)*(s?-1:1);Hat(X,t.tickformat)||(l=!1,g=g.slice(1))}if(!l)E=x;else{var te=x.concat(g);o&&x.length&&(te=te.slice(1)),te=te.sort(function(Ie,de){return Ie.value-de.value}).filter(function(Ie,de,Ee){return de===0||Ie.value!==Ee[de-1].value});var se=te.map(function(Ie,de){return Ie.minor===void 0&&!Ie.skipLabel?de:null}).filter(function(Ie){return Ie!==null});se.forEach(function(Ie){l.map(function(de){var Ee=Ie+de;Ee>=0&&Ee-1;ye--){if(x[ye].drop){x.splice(ye,1);continue}x[ye].value=aI(x[ye].value,t);var Xe=t.c2p(x[ye].value);(Pe?ze>Xe-le:zeh||Ueh&&(Ee.periodX=h),Uea&&da&&xRS)t/=RS,n=a(10),e.dtick="M"+12*Ap(t,n,PS);else if(i>Zb)t/=Zb,e.dtick="M"+Ap(t,1,Hne);else if(i>id){if(e.dtick=Ap(t,id,e._hasDayOfWeekBreaks?[1,2,7,14]:bat),!r){var o=$n.getTickFormat(e),s=e.ticklabelmode==="period";s&&(e._rawTick0=e.tick0),/%[uVW]/.test(o)?e.tick0=Ei.dateTick0(e.calendar,2):e.tick0=Ei.dateTick0(e.calendar,1),s&&(e._dowTick0=e.tick0)}}else i>Mp?e.dtick=Ap(t,Mp,Hne):i>Z5?e.dtick=Ap(t,Z5,jne):i>BS?e.dtick=Ap(t,BS,jne):(n=a(10),e.dtick=Ap(t,n,PS))}else if(e.type==="log"){e.tick0=0;var l=Ei.simpleMap(e.range,e.r2l);if(e._isMinor&&(t*=1.5),t>.7)e.dtick=Math.ceil(t);else if(Math.abs(l[1]-l[0])<1){var u=1.5*Math.abs((l[1]-l[0])/t);t=Math.abs(Math.pow(10,l[1])-Math.pow(10,l[0]))/u,n=a(10),e.dtick="L"+Ap(t,n,PS)}else e.dtick=t>.3?"D2":"D1"}else e.type==="category"||e.type==="multicategory"?(e.tick0=0,e.dtick=Math.ceil(Math.max(t,1))):gI(e)?(e.tick0=0,n=1,e.dtick=Ap(t,n,_at)):(e.tick0=0,n=a(10),e.dtick=Ap(t,n,PS));if(e.dtick===0&&(e.dtick=1),!fc(e.dtick)&&typeof e.dtick!="string"){var c=e.dtick;throw e.dtick=1,"ax.dtick error: "+String(c)}};function Qne(e){var t=e.dtick;if(e._tickexponent=0,!fc(t)&&typeof t!="string"&&(t=1),(e.type==="category"||e.type==="multicategory")&&(e._tickround=null),e.type==="date"){var r=e.r2l(e.tick0),n=e.l2r(r).replace(/(^-|i)/g,""),a=n.length;if(String(t).charAt(0)==="M")a>10||n.slice(5)!=="01-01"?e._tickround="d":e._tickround=+t.slice(1)%12===0?"y":"m";else if(t>=id&&a<=10||t>=id*15)e._tickround="d";else if(t>=Z5&&a<=16||t>=Mp)e._tickround="M";else if(t>=BS&&a<=19||t>=Z5)e._tickround="S";else{var i=e.l2r(r+t).replace(/^-/,"").length;e._tickround=Math.max(a,i)-20,e._tickround<0&&(e._tickround=4)}}else if(fc(t)||t.charAt(0)==="L"){var o=e.range.map(e.r2d||Number);fc(t)||(t=Number(t.slice(1))),e._tickround=2-Math.floor(Math.log(t)/Math.LN10+.01);var s=Math.max(Math.abs(o[0]),Math.abs(o[1])),l=Math.floor(Math.log(s)/Math.LN10+.01),u=e.minexponent===void 0?3:e.minexponent;Math.abs(l)>u&&($b(e.exponentformat)&&e.exponentformat!=="SI extended"&&!dI(l)||$b(e.exponentformat)&&e.exponentformat==="SI extended"&&!vI(l)?e._tickexponent=3*Math.round((l-1)/3):e._tickexponent=l)}else e._tickround=null}$n.tickIncrement=function(e,t,r,n){var a=r?-1:1;if(fc(t))return Ei.increment(e,a*t);var i=t.charAt(0),o=a*Number(t.slice(1));if(i==="M")return Ei.incrementMonth(e,o,n);if(i==="L")return Math.log(Math.pow(10,e)+o)/Math.LN10;if(i==="D"){var s=t==="D2"?Jne:Kne,l=e+a*.01,u=Ei.roundUp(Ei.mod(l,1),s,r);return Math.floor(l)+Math.log(Bv.round(Math.pow(10,u),1))/Math.LN10}throw"unrecognized dtick "+String(t)};$n.tickFirst=function(e,t){var r=e.r2l||Number,n=Ei.simpleMap(e.range,r,void 0,void 0,t),a=n[1]=0&&w<=e._length?M:null};if(l&&Ei.isArrayOrTypedArray(e.ticktext)){var d=Ei.simpleMap(e.range,e.r2l),m=(Math.abs(d[1]-d[0])-(e._lBreaks||0))/1e4;for(h=0;h"+s;else{var u=J5(e),c=e._trueSide||e.side;(!u&&c==="top"||u&&c==="bottom")&&(o+="
")}t.text=o}function Tat(e,t,r,n,a){var i=e.dtick,o=t.x,s=e.tickformat,l=typeof i=="string"&&i.charAt(0);if(a==="never"&&(a=""),n&&l!=="L"&&(i="L3",l="L"),s||l==="L")t.text=K5(Math.pow(10,o),e,a,n);else if(fc(i)||l==="D"&&(e.minorloglabels==="complete"||Ei.mod(o+.01,1)<.1)){var u;e.minorloglabels==="complete"&&!(Ei.mod(o+.01,1)<.1)&&(u=!0,t.fontSize*=.75);var c=Math.pow(10,o).toExponential(0),f=c.split("e"),h=+f[1],v=Math.abs(h),d=e.exponentformat;d==="power"||$b(d)&&d!=="SI extended"&&dI(h)||$b(d)&&d==="SI extended"&&vI(h)?(t.text=f[0],v>0&&(t.text+="x10"),t.text==="1x10"&&(t.text="10"),h!==0&&h!==1&&(t.text+=""+(h>0?"":tx)+v+""),t.fontSize*=1.25):(d==="e"||d==="E")&&v>2?t.text=f[0]+d+(h>0?"+":tx)+v:(t.text=K5(Math.pow(10,o),e,"","fakehover"),i==="D1"&&e._id.charAt(0)==="y"&&(t.dy-=t.fontSize/6))}else if(l==="D")t.text=e.minorloglabels==="none"?"":String(Math.round(Math.pow(10,Ei.mod(o,1)))),t.fontSize*=.75;else throw"unrecognized dtick "+String(i);if(e.dtick==="D1"){var m=String(t.text).charAt(0);(m==="0"||m==="1")&&(e._id.charAt(0)==="y"?t.dx-=t.fontSize/4:(t.dy+=t.fontSize/2,t.dx+=(e.range[1]>e.range[0]?1:-1)*t.fontSize*(o<0?.5:.25)))}}function Aat(e,t){var r=e._categories[Math.round(t.x)];r===void 0&&(r=""),t.text=String(r)}function Mat(e,t,r){var n=Math.round(t.x),a=e._categories[n]||[],i=a[1]===void 0?"":String(a[1]),o=a[0]===void 0?"":String(a[0]);r?t.text=o+" - "+i:(t.text=i,t.text2=o)}function Sat(e,t,r,n,a){a==="never"?a="":e.showexponent==="all"&&Math.abs(t.x/e.dtick)<1e-6&&(a="hide"),t.text=K5(t.x,e,a,n)}function Eat(e,t,r,n,a){if(e.thetaunit==="radians"&&!r){var i=t.x/180;if(i===0)t.text="0";else{var o=kat(i);if(o[1]>=100)t.text=K5(Ei.deg2rad(t.x),e,a,n);else{var s=t.x<0;o[1]===1?o[0]===1?t.text="\u03C0":t.text=o[0]+"\u03C0":t.text=["",o[0],"","\u2044","",o[1],"","\u03C0"].join(""),s&&(t.text=tx+t.text)}}}else t.text=K5(t.x,e,a,n)}function kat(e){function t(s,l){return Math.abs(s-l)<=1e-6}function r(s,l){return t(l,0)?s:r(l,s%l)}function n(s){for(var l=1;!t(Math.round(s*l)/l,s);)l*=10;return l}var a=n(e),i=e*a,o=Math.abs(r(i,a));return[Math.round(i/o),Math.round(a/o)]}var tae=["f","p","n","\u03BC","m","","k","M","G","T"],Cat=["q","r","y","z","a",...tae,"P","E","Z","Y","R","Q"],$b=e=>["SI","SI extended","B"].includes(e);function dI(e){return e>14||e<-15}function vI(e){return e>32||e<-30}function Lat(e,t){return $b(t)?!!(t==="SI extended"&&vI(e)||t!=="SI extended"&&dI(e)):!1}function K5(e,t,r,n){var a=e<0,i=t._tickround,o=r||t.exponentformat||"B",s=t._tickexponent,l=$n.getTickFormat(t),u=t.separatethousands;if(n){var c={exponentformat:o,minexponent:t.minexponent,dtick:t.showexponent==="none"?t.dtick:fc(e)&&Math.abs(e)||1,range:t.showexponent==="none"?t.range.map(t.r2d):[0,e||1]};Qne(c),i=(Number(c._tickround)||0)+4,s=c._tickexponent,t.hoverformat&&(l=t.hoverformat)}if(l)return t._numFormat(l)(e).replace(/-/g,tx);o==="none"&&(s=0),e=Math.abs(e);let f=Math.pow(10,-i)/2;if(e"+h+"":o==="B"&&s===9?e+="B":$b(o)&&(e+=o==="SI extended"?Cat[s/3+10]:tae[s/3+5])}return a?tx+e:e}$n.getTickFormat=function(e){var t;function r(l){return typeof l!="string"?l:Number(l.replace("M",""))*Zb}function n(l,u){var c=["L","D"];if(typeof l==typeof u){if(typeof l=="number")return l-u;var f=c.indexOf(l.charAt(0)),h=c.indexOf(u.charAt(0));return f===h?Number(l.replace(/(L|D)/g,""))-Number(u.replace(/(L|D)/g,"")):f-h}else return typeof l=="number"?1:-1}function a(l,u,c){var f=c||function(d){return d},h=u[0],v=u[1];return(!h&&typeof h!="number"||f(h)<=f(l))&&(!v&&typeof v!="number"||f(v)>=f(l))}function i(l,u){var c=u[0]===null,f=u[1]===null,h=n(l,u[0])>=0,v=n(l,u[1])<=0;return(c||h)&&(f||v)}var o,s;if(e.tickformatstops&&e.tickformatstops.length>0)switch(e.type){case"date":case"linear":{for(t=0;t=0&&a.unshift(a.splice(c,1).shift())}});var s={false:{left:0,right:0}};return Ei.syncOrAsync(a.map(function(l){return function(){if(l){var u=$n.getFromId(e,l);r||(r={}),r.axShifts=s,r.overlayingShiftedAx=o;var c=$n.drawOne(e,u,r);return u._shiftPusher&&fI(u,u._fullDepth||0,s,!0),u._r=u.range.slice(),u._rl=Ei.simpleMap(u._r,u.r2l),c}}}))};$n.drawOne=function(e,t,r){r=r||{};var n=r.axShifts||{},a=r.overlayingShiftedAx||[],i,o,s;t.setScale();var l=e._fullLayout,u=t._id,c=u.charAt(0),f=$n.counterLetter(u),h=l._plots[t._mainSubplot],v=t.zerolinelayer==="above traces";if(!h)return;if(t._shiftPusher=t.autoshift||a.indexOf(t._id)!==-1||a.indexOf(t.overlaying)!==-1,t._shiftPusher&t.anchor==="free"){var d=t.linewidth/2||0;t.ticks==="inside"&&(d+=t.ticklen),fI(t,d,n,!0),fI(t,t.shift||0,n,!1)}(r.skipTitle!==!0||t._shift===void 0)&&(t._shift=Gat(t,n));var m=h[c+"axislayer"],x=t._mainLinePosition,g=x+=t._shift,E=t._mainMirrorPosition,M=t._vals=$n.calcTicks(t),w=[t.mirror,g,E].join("_");for(i=0;i0?de.bottom-lt:0,Ie))));var Ge=0,tt=0;if(t._shiftPusher&&(Ge=Math.max(Ie,de.height>0?qe==="l"?lt-de.left:de.right-lt:0),t.title.text!==l._dfltTitle[c]&&(tt=(t._titleStandoff||0)+(t._titleScoot||0),qe==="l"&&(tt+=Yne(t))),t._fullDepth=Math.max(Ge,tt)),t.automargin){Ee={x:0,y:0,r:0,l:0,t:0,b:0};var ft=[0,1],He=typeof t._shift=="number"?t._shift:0;if(c==="x"){if(qe==="b"?Ee[qe]=t._depth:(Ee[qe]=t._depth=Math.max(de.width>0?lt-de.top:0,Ie),ft.reverse()),de.width>0){var Qe=de.right-(t._offset+t._length);Qe>0&&(Ee.xr=1,Ee.r=Qe);var We=t._offset-de.left;We>0&&(Ee.xl=0,Ee.l=We)}}else if(qe==="l"?(t._depth=Math.max(de.height>0?lt-de.left:0,Ie),Ee[qe]=t._depth-He):(t._depth=Math.max(de.height>0?de.right-lt:0,Ie),Ee[qe]=t._depth+He,ft.reverse()),de.height>0){var pt=de.bottom-(t._offset+t._length);pt>0&&(Ee.yb=0,Ee.b=pt);var kt=t._offset-de.top;kt>0&&(Ee.yt=1,Ee.t=kt)}Ee[f]=t.anchor==="free"?t.position:t._anchorAxis.domain[ft[0]],t.title.text!==l._dfltTitle[c]&&(Ee[qe]+=Yne(t)+(t.title.standoff||0)),t.mirror&&t.anchor!=="free"&&(Ue={x:0,y:0,r:0,l:0,t:0,b:0},Ue[mt]=t.linewidth,t.mirror&&t.mirror!==!0&&(Ue[mt]+=Ie),t.mirror===!0||t.mirror==="ticks"?Ue[f]=t._anchorAxis.domain[ft[1]]:(t.mirror==="all"||t.mirror==="allticks")&&(Ue[f]=[t._counterDomainMin,t._counterDomainMax][ft[1]]))}Oe&&(ge=Y5.getComponentMethod("rangeslider","autoMarginOpts")(e,t)),typeof t.automargin=="string"&&(Wne(Ee,t.automargin),Wne(Ue,t.automargin)),Yb.autoMargin(e,pI(t),Ee),Yb.autoMargin(e,nae(t),Ue),Yb.autoMargin(e,aae(t),ge)}),Ei.syncOrAsync(vt)}};function Wne(e,t){if(e){var r=Object.keys(One).reduce(function(n,a){return t.indexOf(a)!==-1&&One[a].forEach(function(i){n[i]=1}),n},{});Object.keys(e).forEach(function(n){r[n]||(n.length===1?e[n]=0:delete e[n])})}}function Fat(e,t){var r=[],n,a=function(i,o){var s=i.xbnd[o];s!==null&&r.push(Ei.extendFlat({},i,{x:s}))};if(t.length){for(n=0;ne.range[1],s=e.ticklabelposition&&e.ticklabelposition.indexOf("inside")!==-1,l=!s;if(r){var u=o?-1:1;r=r*u}if(n){var c=e.side,f=s&&(c==="top"||c==="left")||l&&(c==="bottom"||c==="right")?1:-1;n=n*f}return e._id.charAt(0)==="x"?function(h){return Xb(a+e._offset+e.l2p(uI(h))+r,i+n)}:function(h){return Xb(i+n,a+e._offset+e.l2p(uI(h))+r)}};function uI(e){return e.periodX!==void 0?e.periodX:e.x}function Iat(e){var t=e.ticklabelposition||"",r=e.tickson||"",n=function(d){return t.indexOf(d)!==-1},a=n("top"),i=n("left"),o=n("right"),s=n("bottom"),l=n("inside"),u=r!=="boundaries"&&(s||i||a||o);if(!u&&!l)return[0,0];var c=e.side,f=u?(e.tickwidth||0)/2:0,h=OS,v=e.tickfont?e.tickfont.size:12;return(s||a)&&(f+=v*rx,h+=(e.linewidth||0)/2),(i||o)&&(f+=(e.linewidth||0)/2,h+=OS),l&&c==="top"&&(h-=v*(1-rx)),(i||a)&&(f=-f),(c==="bottom"||c==="right")&&(h=-h),[u?f:0,l?h:0]}$n.makeTickPath=function(e,t,r,n){n||(n={});var a=n.minor;if(a&&!e.minor)return"";var i=n.len!==void 0?n.len:a?e.minor.ticklen:e.ticklen,o=e._id.charAt(0),s=(e.linewidth||1)/2;return o==="x"?"M0,"+(t+s*r)+"v"+i*r:"M"+(t+s*r)+",0h"+i*r};$n.makeLabelFns=function(e,t,r){var n=e.ticklabelposition||"",a=e.tickson||"",i=function(D){return n.indexOf(D)!==-1},o=i("top"),s=i("left"),l=i("right"),u=i("bottom"),c=a!=="boundaries"&&(u||s||o||l),f=i("inside"),h=n==="inside"&&e.ticks==="inside"||!f&&e.ticks==="outside"&&a!=="boundaries",v=0,d=0,m=h?e.ticklen:0;if(f?m*=-1:c&&(m=0),h&&(v+=m,r)){var x=Ei.deg2rad(r);v=m*Math.cos(x)+1,d=m*Math.sin(x)}e.showticklabels&&(h||e.showline)&&(v+=.2*e.tickfont.size),v+=(e.linewidth||1)/2*(f?-1:1);var g={labelStandoff:v,labelShift:d},E,M,w,k,y=0,S=e.side,T=e._id.charAt(0),p=e.tickangle,C;if(T==="x")C=!f&&S==="bottom"||f&&S==="top",k=C?1:-1,f&&(k*=-1),E=d*k,M=t+v*k,w=C?1:-.2,Math.abs(p)===90&&(f?w+=W5:p===-90&&S==="bottom"?w=rx:p===90&&S==="top"?w=W5:w=.5,y=W5/2*(p/90)),g.xFn=function(D){return D.dx+E+y*D.fontSize},g.yFn=function(D){return D.dy+M+D.fontSize*w},g.anchorFn=function(D,z){if(c){if(s)return"end";if(l)return"start"}return!fc(z)||z===0||z===180?"middle":z*k<0!==f?"end":"start"},g.heightFn=function(D,z,q){return z<-60||z>60?-.5*q:e.side==="top"!==f?-q:0};else if(T==="y"){if(C=!f&&S==="left"||f&&S==="right",k=C?1:-1,f&&(k*=-1),E=v,M=d*k,w=0,!f&&Math.abs(p)===90&&(p===-90&&S==="left"||p===90&&S==="right"?w=rx:w=.5),f){var A=fc(p)?+p:0;if(A!==0){var P=Ei.deg2rad(A);y=Math.abs(Math.sin(P))*rx*k,w=0}}g.xFn=function(D){return D.dx+t-(E+D.fontSize*w)*k+y*D.fontSize},g.yFn=function(D){return D.dy+M+D.fontSize*W5},g.anchorFn=function(D,z){return fc(z)&&Math.abs(z)===90?"middle":C?"end":"start"},g.heightFn=function(D,z,q){return e.side==="right"&&(z*=-1),z<-30?-q:z<30?-.5*q:0}}return g};function VS(e){return[e.text,e.x,e.axInfo,e.font,e.fontSize,e.fontColor].join("_")}$n.drawTicks=function(e,t,r){r=r||{};var n=t._id+"tick",a=[].concat(t.minor&&t.minor.ticks?r.vals.filter(function(o){return o.minor&&!o.noTick}):[]).concat(t.ticks?r.vals.filter(function(o){return!o.minor&&!o.noTick}):[]),i=r.layer.selectAll("path."+n).data(a,VS);i.exit().remove(),i.enter().append("path").classed(n,1).classed("ticks",1).classed("crisp",r.crisp!==!1).each(function(o){return X5.stroke(Bv.select(this),o.minor?t.minor.tickcolor:t.tickcolor)}).style("stroke-width",function(o){return hv.crispRound(e,o.minor?t.minor.tickwidth:t.tickwidth,1)+"px"}).attr("d",r.path).style("display",null),GS(t,[Xne]),i.attr("transform",r.transFn)};$n.drawGrid=function(e,t,r){if(r=r||{},t.tickmode!=="sync"){var n=t._id+"grid",a=t.minor&&t.minor.showgrid,i=a?r.vals.filter(function(g){return g.minor}):[],o=t.showgrid?r.vals.filter(function(g){return!g.minor}):[],s=r.counterAxis;if(s&&$n.shouldShowZeroLine(e,t,s))for(var l=t.tickmode==="array",u=0;u=0;d--){var m=d?h:v;if(m){var x=m.selectAll("path."+n).data(d?o:i,VS);x.exit().remove(),x.enter().append("path").classed(n,1).classed("crisp",r.crisp!==!1),x.attr("transform",r.transFn).attr("d",r.path).each(function(g){return X5.stroke(Bv.select(this),g.minor?t.minor.gridcolor:t.gridcolor||"#ddd")}).style("stroke-dasharray",function(g){return hv.dashStyle(g.minor?t.minor.griddash:t.griddash,g.minor?t.minor.gridwidth:t.gridwidth)}).style("stroke-width",function(g){return(g.minor?f:t._gw)+"px"}).style("display",null),typeof r.path=="function"&&x.attr("d",r.path)}}GS(t,[sI,lI])}};$n.drawZeroLine=function(e,t,r){r=r||r;var n=t._id+"zl",a=$n.shouldShowZeroLine(e,t,r.counterAxis),i=r.layer.selectAll("path."+n).data(a?[{x:0,id:t._id}]:[]);i.exit().remove(),i.enter().append("path").classed(n,1).classed("zl",1).classed("crisp",r.crisp!==!1).each(function(){r.layer.selectAll("path").sort(function(o,s){return cat(o.id,s.id)})}),i.attr("transform",r.transFn).attr("d",r.path).call(X5.stroke,t.zerolinecolor||X5.defaultLine).style("stroke-width",hv.crispRound(e,t.zerolinewidth,t._gw||1)+"px").style("display",null),GS(t,[oI])};$n.drawLabels=function(e,t,r){r=r||{};var n=e._fullLayout,a=t._id,i=t.zerolinelayer==="above traces",o=r.cls||a+"tick",s=r.vals.filter(function(B){return B.text}),l=r.labelFns,u=r.secondary?0:t.tickangle,c=(t._prevTickAngles||{})[o],f=r.layer.selectAll("g."+o).data(t.showticklabels?s:[],VS),h=[];f.enter().append("g").classed(o,1).append("text").attr("text-anchor","middle").each(function(B){var Y=Bv.select(this),X=e._promises.length;Y.call(ex.positionText,l.xFn(B),l.yFn(B)).call(hv.font,{family:B.font,size:B.fontSize,color:B.fontColor,weight:B.fontWeight,style:B.fontStyle,variant:B.fontVariant,textcase:B.fontTextcase,lineposition:B.fontLineposition,shadow:B.fontShadow}).text(B.text).call(ex.convertToTspans,e),e._promises[X]?h.push(e._promises.pop().then(function(){v(Y,u)})):v(Y,u)}),GS(t,[Bne]),f.exit().remove(),r.repositionOnUpdate&&f.each(function(B){Bv.select(this).select("text").call(ex.positionText,l.xFn(B),l.yFn(B))});function v(B,Y){B.each(function(X){var te=Bv.select(this),se=te.select(".text-math-group"),ue=l.anchorFn(X,Y),re=r.transFn.call(te.node(),X)+(fc(Y)&&+Y!=0?" rotate("+Y+","+l.xFn(X)+","+(l.yFn(X)-X.fontSize/2)+")":""),j=ex.lineCount(te),fe=$5*X.fontSize,ce=l.heightFn(X,fc(Y)?+Y:0,(j-1)*fe);if(ce&&(re+=Xb(0,ce)),se.empty()){var oe=te.select("text");oe.attr({transform:re,"text-anchor":ue}),oe.style("display",null),t._adjustTickLabelsOverflow&&t._adjustTickLabelsOverflow()}else{var we=hv.bBox(se.node()).width,he=we*{end:-.5,start:.5}[ue];se.attr("transform",re+Xb(he,0))}})}t._adjustTickLabelsOverflow=function(){var B=t.ticklabeloverflow;if(!(!B||B==="allow")){var Y=B.indexOf("hide")!==-1,X=t._id.charAt(0)==="x",te=0,se=X?e._fullLayout.width:e._fullLayout.height;if(B.indexOf("domain")!==-1){var ue=Ei.simpleMap(t.range,t.r2l);te=t.l2p(ue[0])+t._offset,se=t.l2p(ue[1])+t._offset}var re=Math.min(te,se),j=Math.max(te,se),fe=t.side,ce=1/0,oe=-1/0;f.each(function(Pe){var le=Bv.select(this),ze=le.select(".text-math-group");if(ze.empty()){var Xe=hv.bBox(le.node()),vt=0;X?(Xe.right>j||Xe.leftj||Xe.top+(t.tickangle?0:Pe.fontSize/4)t["_visibleLabelMin_"+ue._id]?le.style("display","none"):j.K==="tick"&&!re&&le.node().style.display!=="none"&&le.style("display",null)})})})})},v(f,c+1?c:u);function d(){return h.length&&Promise.all(h)}var m=null;function x(){if(v(f,u),s.length&&t.autotickangles&&(t.type!=="log"||String(t.dtick).charAt(0)!=="D")){m=t.autotickangles[0];var B=0,Y=[],X,te=1;f.each(function(Ee){B=Math.max(B,Ee.fontSize);var Ue=t.l2p(Ee.x),ge=cI(this),Ge=hv.bBox(ge.node());te=Math.max(te,ex.lineCount(ge)),Y.push({top:0,bottom:10,height:10,left:Ue-Ge.width/2,right:Ue+Ge.width/2+2,width:Ge.width+2})});var se=(t.tickson==="boundaries"||t.showdividers)&&!r.secondary,ue=s.length,re=Math.abs((s[ue-1].x-s[0].x)*t._m)/(ue-1),j=se?re/2:re,fe=se?t.ticklen:B*1.25*te,ce=Math.sqrt(Math.pow(j,2)+Math.pow(fe,2)),oe=j/ce,we=t.autotickangles.map(function(Ee){return Ee*Math.PI/180}),he=we.find(function(Ee){return Math.abs(Math.cos(Ee))<=oe});he===void 0&&(he=we.reduce(function(Ee,Ue){return Math.abs(Math.cos(Ee))U*q&&(P=q,p[T]=C[T]=D[T])}var O=Math.abs(P-A);O-k>0?(O-=k,k*=1+k/O):k=0,t._id.charAt(0)!=="y"&&(k=-k),p[S]=M.p2r(M.r2p(C[S])+y*k),M.autorange==="min"||M.autorange==="max reversed"?(p[0]=null,M._rangeInitial0=void 0,M._rangeInitial1=void 0):(M.autorange==="max"||M.autorange==="min reversed")&&(p[1]=null,M._rangeInitial0=void 0,M._rangeInitial1=void 0),n._insideTickLabelsUpdaterange[M._name+".range"]=p}var R=Ei.syncOrAsync(g);return R&&R.then&&e._promises.push(R),R};function zat(e,t,r){var n=t._id+"divider",a=r.vals,i=r.layer.selectAll("path."+n).data(a,VS);i.exit().remove(),i.enter().insert("path",":first-child").classed(n,1).classed("crisp",1).call(X5.stroke,t.dividercolor).style("stroke-width",hv.crispRound(e,t.dividerwidth,1)+"px"),i.attr("transform",r.transFn).attr("d",r.path)}$n.getPxPosition=function(e,t){var r=e._fullLayout._size,n=t._id.charAt(0),a=t.side,i;if(t.anchor!=="free"?i=t._anchorAxis:n==="x"?i={_offset:r.t+(1-(t.position||0))*r.h,_length:0}:n==="y"&&(i={_offset:r.l+(t.position||0)*r.w+t._shift,_length:0}),a==="top"||a==="left")return i._offset;if(a==="bottom"||a==="right")return i._offset+i._length};function Yne(e){var t=e.title.font.size,r=(e.title.text.match(ex.BR_TAG_ALL)||[]).length;return e.title.hasOwnProperty("standoff")?t*(rx+r*$5):r?t*(r+1)*$5:t}function qat(e,t){var r=e._fullLayout,n=t._id,a=n.charAt(0),i=t.title.font.size,o,s=(t.title.text.match(ex.BR_TAG_ALL)||[]).length;if(t.title.hasOwnProperty("standoff"))t.side==="bottom"||t.side==="right"?o=t._depth+t.title.standoff+i*rx:(t.side==="top"||t.side==="left")&&(o=t._depth+t.title.standoff+i*(W5+s*$5));else{var l=J5(t);if(t.type==="multicategory")o=t._depth;else{var u=1.5*i;l&&(u=.5*i,t.ticks==="outside"&&(u+=t.ticklen)),o=10+u+(t.linewidth?t.linewidth-1:0)}l||(a==="x"?o+=t.side==="top"?i*(t.showticklabels?1:0):i*(t.showticklabels?1.5:.5):o+=t.side==="right"?i*(t.showticklabels?1:.5):i*(t.showticklabels?.5:0))}var c=$n.getPxPosition(e,t),f,h,v;a==="x"?(h=t._offset+t._length/2,v=t.side==="top"?c-o:c+o):(v=t._offset+t._length/2,h=t.side==="right"?c+o:c-o,f={rotate:"-90",offset:0});var d;if(t.type!=="multicategory"){var m=t._selections[t._id+"tick"];if(d={selection:m,side:t.side},m&&m.node()&&m.node().parentNode){var x=hv.getTranslate(m.node().parentNode);d.offsetLeft=x.x,d.offsetTop=x.y}t.title.hasOwnProperty("standoff")&&(d.pad=0)}return t._titleStandoff=o,tat.draw(e,n+"title",{propContainer:t,propName:t._name+".title.text",placeholder:r._dfltTitle[a],avoid:d,transform:f,attributes:{x:h,y:v,"text-anchor":"middle"}})}$n.shouldShowZeroLine=function(e,t,r){var n=Ei.simpleMap(t.range,t.r2l);return n[0]*n[1]<=0&&t.zeroline&&(t.type==="linear"||t.type==="-")&&!(t.rangebreaks&&t.maskBreaks(0)===NS)&&(rae(t,0)||!Bat(e,t,r,n)||Oat(e,t))};$n.clipEnds=function(e,t){return t.filter(function(r){return rae(e,r.x)})};function rae(e,t){var r=e.l2p(t);return r>1&&r1)for(a=1;a=a.min&&e=sat:/%L/.test(t)?e>=oat:/%[SX]/.test(t)?e>=BS:/%M/.test(t)?e>=Z5:/%[HI]/.test(t)?e>=Mp:/%p/.test(t)?e>=Jg:/%[Aadejuwx]/.test(t)?e>=id:/%[UVW]/.test(t)?e>=dv:/%[Bbm]/.test(t)?e>=qS:/%[q]/.test(t)?e>=zS:/%[Yy]/.test(t)?e>=IS:!0}});var mI=ne((qer,oae)=>{"use strict";oae.exports=function(t,r,n){var a,i;if(n){var o=r==="reversed"||r==="min reversed"||r==="max reversed";a=n[o?1:0],i=n[o?0:1]}var s=t("autorangeoptions.minallowed",i===null?a:void 0),l=t("autorangeoptions.maxallowed",a===null?i:void 0);s===void 0&&t("autorangeoptions.clipmin"),l===void 0&&t("autorangeoptions.clipmax"),t("autorangeoptions.include")}});var yI=ne((Ber,sae)=>{"use strict";var jat=mI();sae.exports=function(t,r,n,a){var i=r._template||{},o=r.type||i.type||"-";n("minallowed"),n("maxallowed");var s=n("range");if(!s){var l;!a.noInsiderange&&o!=="log"&&(l=n("insiderange"),l&&(l[0]===null||l[1]===null)&&(r.insiderange=!1,l=void 0),l&&(s=n("range",l)))}var u=r.getAutorangeDflt(s,a),c=n("autorange",u),f;s&&(s[0]===null&&s[1]===null||(s[0]===null||s[1]===null)&&(c==="reversed"||c===!0)||s[0]!==null&&(c==="min"||c==="max reversed")||s[1]!==null&&(c==="max"||c==="min reversed"))&&(s=void 0,delete r.range,r.autorange=!0,f=!0),f||(u=r.getAutorangeDflt(s,a),c=n("autorange",u)),c&&(jat(n,c,s),(o==="linear"||o==="-")&&n("rangemode")),r.cleanRange()}});var uae=ne((Oer,lae)=>{var Wat={left:0,top:0};lae.exports=Yat;function Yat(e,t,r){t=t||e.currentTarget||e.srcElement,Array.isArray(r)||(r=[0,0]);var n=e.clientX||0,a=e.clientY||0,i=Xat(t);return r[0]=n-i.left,r[1]=a-i.top,r}function Xat(e){return e===window||e===document||e===document.body?Wat:e.getBoundingClientRect()}});var HS=ne((Ner,cae)=>{"use strict";var Zat=eR();function $at(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(r){e=!1}return e}cae.exports=Zat&&$at()});var hae=ne((Uer,fae)=>{"use strict";fae.exports=function(t,r,n,a,i){var o=(t-n)/(a-n),s=o+r/(a-n),l=(o+s)/2;return i==="left"||i==="bottom"?o:i==="center"||i==="middle"?l:i==="right"||i==="top"?s:o<2/3-l?o:s>4/3-l?s:l}});var pae=ne((Ver,vae)=>{"use strict";var dae=Zt(),Kat=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];vae.exports=function(t,r,n,a){return n==="left"?t=0:n==="center"?t=1:n==="right"?t=2:t=dae.constrain(Math.floor(t*3),0,2),a==="bottom"?r=0:a==="middle"?r=1:a==="top"?r=2:r=dae.constrain(Math.floor(r*3),0,2),Kat[r][t]}});var mae=ne((Ger,gae)=>{"use strict";var Jat=Pb(),Qat=YM(),eit=E5().getGraphDiv,tit=w5(),xI=gae.exports={};xI.wrapped=function(e,t,r){e=eit(e),e._fullLayout&&Qat.clear(e._fullLayout._uid+tit.HOVERID),xI.raw(e,t,r)};xI.raw=function(t,r){var n=t._fullLayout,a=t._hoverdata;r||(r={}),!(r.target&&!t._dragged&&Jat.triggerHandler(t,"plotly_beforehover",r)===!1)&&(n._hoverlayer.selectAll("g").remove(),n._hoverlayer.selectAll("line").remove(),n._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,r.target&&a&&t.emit("plotly_unhover",{event:r,points:a}))}});var od=ne((Her,_ae)=>{"use strict";var rit=uae(),bI=rR(),nit=HS(),ait=Zt().removeElement,iit=zc(),nx=_ae.exports={};nx.align=hae();nx.getCursor=pae();var xae=mae();nx.unhover=xae.wrapped;nx.unhoverRaw=xae.raw;nx.init=function(t){var r=t.gd,n=1,a=r._context.doubleClickDelay,i=t.element,o,s,l,u,c,f,h,v;r._mouseDownTime||(r._mouseDownTime=0),i.style.pointerEvents="all",i.onmousedown=x,nit?(i._ontouchstart&&i.removeEventListener("touchstart",i._ontouchstart),i._ontouchstart=x,i.addEventListener("touchstart",x,{passive:!1})):i.ontouchstart=x;function d(M,w,k){return Math.abs(M)a&&(n=Math.max(n-1,1)),r._dragged)t.doneFn&&t.doneFn();else{var w;f.target===h?w=f:(w={target:h,srcElement:h,toElement:h},Object.keys(f).concat(Object.keys(f.__proto__)).forEach(k=>{var y=f[k];!w[k]&&typeof y!="function"&&(w[k]=y)})),t.clickFn&&t.clickFn(n,w),v||h.dispatchEvent(new MouseEvent("click",M))}r._dragging=!1,r._dragged=!1}};function bae(){var e=document.createElement("div");e.className="dragcover";var t=e.style;return t.position="fixed",t.left=0,t.right=0,t.top=0,t.bottom=0,t.zIndex=999999999,t.background="none",document.body.appendChild(e),e}nx.coverSlip=bae;function yae(e){return rit(e.changedTouches?e.changedTouches[0]:e,document.body)}});var z0=ne((jer,wae)=>{"use strict";wae.exports=function(t,r){(t.attr("class")||"").split(" ").forEach(function(n){n.indexOf("cursor-")===0&&t.classed(n,!1)}),r&&t.classed("cursor-"+r,!0)}});var Mae=ne((Wer,Aae)=>{"use strict";var _I=z0(),Q5="data-savedcursor",Tae="!!";Aae.exports=function(t,r){var n=t.attr(Q5);if(r){if(!n){for(var a=(t.attr("class")||"").split(" "),i=0;i{"use strict";var wI=pl(),oit=Ic();Sae.exports={_isSubplotObj:!0,visible:{valType:"boolean",dflt:!0,editType:"legend"},bgcolor:{valType:"color",editType:"legend"},bordercolor:{valType:"color",dflt:oit.defaultLine,editType:"legend"},maxheight:{valType:"number",min:0,editType:"legend"},borderwidth:{valType:"number",min:0,dflt:0,editType:"legend"},font:wI({editType:"legend"}),grouptitlefont:wI({editType:"legend"}),orientation:{valType:"enumerated",values:["v","h"],dflt:"v",editType:"legend"},traceorder:{valType:"flaglist",flags:["reversed","grouped"],extras:["normal"],editType:"legend"},tracegroupgap:{valType:"number",min:0,dflt:10,editType:"legend"},entrywidth:{valType:"number",min:0,editType:"legend"},entrywidthmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"pixels",editType:"legend"},indentation:{valType:"number",min:-15,dflt:0,editType:"legend"},itemsizing:{valType:"enumerated",values:["trace","constant"],dflt:"trace",editType:"legend"},itemwidth:{valType:"number",min:30,dflt:30,editType:"legend"},itemclick:{valType:"enumerated",values:["toggle","toggleothers",!1],dflt:"toggle",editType:"legend"},itemdoubleclick:{valType:"enumerated",values:["toggle","toggleothers",!1],dflt:"toggleothers",editType:"legend"},groupclick:{valType:"enumerated",values:["toggleitem","togglegroup"],dflt:"togglegroup",editType:"legend"},titleclick:{valType:"enumerated",values:["toggle","toggleothers",!1],editType:"legend"},titledoubleclick:{valType:"enumerated",values:["toggle","toggleothers",!1],editType:"legend"},x:{valType:"number",editType:"legend"},xref:{valType:"enumerated",dflt:"paper",values:["container","paper"],editType:"layoutstyle"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"legend"},y:{valType:"number",editType:"legend"},yref:{valType:"enumerated",dflt:"paper",values:["container","paper"],editType:"layoutstyle"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],editType:"legend"},uirevision:{valType:"any",editType:"none"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"legend"},title:{text:{valType:"string",dflt:"",editType:"legend"},font:wI({editType:"legend"}),side:{valType:"enumerated",values:["top","left","top left","top center","top right"],editType:"legend"},editType:"legend"},editType:"legend"}});var t4=ne(e4=>{"use strict";e4.isGrouped=function(t){return(t.traceorder||"").indexOf("grouped")!==-1};e4.isVertical=function(t){return t.orientation!=="h"};e4.isReversed=function(t){return(t.traceorder||"").indexOf("reversed")!==-1};e4.getId=function(t){return t._id||"legend"}});var MI=ne((Zer,Eae)=>{"use strict";var jS=Fa(),vv=Zt(),sit=Bo(),lit=os(),uit=TI(),cit=Ab(),AI=t4();function fit(e,t,r,n,a){var i=t[e]||{},o=sit.newContainer(r,e);function s(B,Y){return vv.coerce(i,o,uit,B,Y)}var l=vv.coerceFont(s,"font",r.font);s("bgcolor",r.paper_bgcolor),s("bordercolor");var u=s("visible");if(!u)return;var c,f=function(B,Y){var X=c._input,te=c;return vv.coerce(X,te,lit,B,Y)},h=r.font||{},v=vv.coerceFont(s,"grouptitlefont",h,{overrideDflt:{size:Math.round(h.size*1.1)}}),d=0,m=!1,x="normal",g=(r.shapes||[]).filter(function(B){return B.showlegend});function E(B){return jS.traceIs(B,"pie-like")&&B._length!=null&&(Array.isArray(B.legend)||Array.isArray(B.showlegend))}n.filter(E).forEach(function(B){B.visible&&d++;for(var Y=0;YB.legend.length)for(var te=B.legend.length;te(e==="legend"?1:0));if(y===!1&&(r[e]=void 0),!(y===!1&&!i.uirevision)&&(s("uirevision",r.uirevision),y!==!1)){s("borderwidth");var S=s("orientation"),T=s("yref"),p=s("xref"),C=S==="h",A=T==="paper",P=p==="paper",D,z,q,U="left";C?(D=0,jS.getComponentMethod("rangeslider","isVisible")(t.xaxis)?A?(z=1.1,q="bottom"):(z=1,q="top"):A?(z=-.1,q="top"):(z=0,q="bottom")):(z=1,q="auto",P?D=1.02:(D=1,U="right")),vv.coerce(i,o,{x:{valType:"number",editType:"legend",min:P?-2:0,max:P?3:1,dflt:D}},"x"),vv.coerce(i,o,{y:{valType:"number",editType:"legend",min:A?-2:0,max:A?3:1,dflt:z}},"y"),s("traceorder",x),AI.isGrouped(r[e])&&s("tracegroupgap"),s("entrywidth"),s("entrywidthmode"),s("indentation"),s("itemsizing"),s("itemwidth"),s("itemclick"),s("itemdoubleclick"),s("groupclick"),s("xanchor",U),s("yanchor",q),s("maxheight"),s("valign"),vv.noneOrAll(i,o,["x","y"]);var O=s("title.text");if(O){s("title.side",C?"left":"top");var R=vv.extendFlat({},l,{size:vv.bigFont(l.size)});vv.coerceFont(s,"title.font",R);let B=a>1;s("titleclick",B?"toggle":!1),s("titledoubleclick",B?"toggleothers":!1)}}}Eae.exports=function(t,r,n){var a,i=n.slice(),o=r.shapes;if(o)for(a=0;a{"use strict";var Qg=Fa(),SI=Zt(),hit=SI.pushUnique,dit=t4(),kae=!0;EI.handleItemClick=function(t,r,n,a){var i=r._fullLayout;if(r._dragged||r._editing)return;var o=t.data()[0][0];if(o.groupTitle&&o.noClick)return;var s=n.groupclick;a==="toggle"&&n.itemdoubleclick==="toggleothers"&&kae&&r.data&&r._context.showTips&&(SI.notifier(SI._(r,"Double-click on legend to isolate one trace"),"long",r),kae=!1);var l=s==="togglegroup",u=i.hiddenlabels?i.hiddenlabels.slice():[],c=r._fullData;let f=(i.shapes||[]).filter(vt=>vt.showlegend||vt.legendgroup);var h=c.concat(f),v=o.trace;v._isShape&&(v=i.shapes[v.index]);var d=v.legendgroup,m,x,g,E,M,w,k={},y=[],S=[],T=[];function p(vt,st){var Oe=y.indexOf(vt),qe=k.visible;return qe||(qe=k.visible=[]),y.indexOf(vt)===-1&&(y.push(vt),Oe=y.length-1),qe[Oe]=st,Oe}var C=(i.shapes||[]).map(function(vt){return vt._input}),A=!1;function P(vt,st){C[vt].visible=st,A=!0}function D(vt,st){if(!(o.groupTitle&&!l)){var Oe=vt._isShape,qe=vt.index;qe===void 0&&(qe=vt._index);var mt=vt.visible===!1?!1:st;Oe?P(qe,mt):p(qe,mt)}}var z=v.legend;if(!v._isShape&&Qg.traceIs(v,"pie-like")){var q=o.label,U=u.indexOf(q);if(a==="toggle")U===-1?u.push(q):u.splice(U,1);else if(a==="toggleothers"){var O=U!==-1,R=[];for(m=0;mg.showlegend||g.legendgroup),l=i.concat(s);function u(g){return(g.legend||"legend")===o}var c,f;if(n==="toggle")c=!l.some(function(E){return u(E)&&E.visible===!0}),f=!1;else{let g=l.some(function(E){return!u(E)&&E.visible===!0&&E.showlegend!==!1});c=!0,f=!g}let h={visible:[]},v=[],d=(a.shapes||[]).map(function(g){return g._input});for(var m=!1,x=0;x{"use strict";Cae.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:"#808BA4",scrollBarMargin:4,scrollBarEnterAttrs:{rx:20,ry:3,width:0,height:0},titlePad:2,itemGap:5}});var Pae=ne((Jer,Fae)=>{"use strict";var{isArrayOrTypedArray:LI}=Ih(),Lae=Fa(),FI=t4();Fae.exports=function(t,r,n){var a=r._inHover,i=FI.isGrouped(r),o=FI.isReversed(r),s={},l=[],u=!1,c={},f=0,h=0,v,d;function m(Y,X,te){if(r.visible!==!1&&!(n&&Y!==r._id))if(X===""||!FI.isGrouped(r)){var se="~~i"+f;l.push(se),s[se]=[te],f++}else l.indexOf(X)===-1?(l.push(X),u=!0,s[X]=[te]):s[X].push(te)}for(v=0;vD&&(A=D)}p[v][0]._groupMinRank=A,p[v][0]._preGroupSort=v}var z=function(Y,X){return Y[0]._groupMinRank-X[0]._groupMinRank||Y[0]._preGroupSort-X[0]._preGroupSort},q=function(Y,X){var te=LI(Y.trace.legendrank)?Y.trace.legendrank[Y.i]:Y.trace.legendrank,se=LI(X.trace.legendrank)?X.trace.legendrank[X.i]:X.trace.legendrank;return te-se||Y._preSort-X._preSort};for(p.forEach(function(Y,X){Y[0]._preGroupSort=X}),p.sort(z),v=0;v{"use strict";var WS=Zt();function Dae(e){return e.indexOf("e")!==-1?e.replace(/[.]?0+e/,"e"):e.indexOf(".")!==-1?e.replace(/[.]?0+$/,""):e}ax.formatPiePercent=function(t,r){var n=Dae((t*100).toPrecision(3));return WS.numSeparate(n,r)+"%"};ax.formatPieValue=function(t,r){var n=Dae(t.toPrecision(10));return WS.numSeparate(n,r)};ax.getFirstFilled=function(t,r){if(WS.isArrayOrTypedArray(t))for(var n=0;n{"use strict";var vit=li(),pit=_a();Rae.exports=function(t,r,n,a){var i=n.marker.pattern;i&&i.shape?vit.pointStyle(t,n,a,r):pit.fill(t,r.color)}});var Kb=ne((ttr,Bae)=>{"use strict";var zae=_a(),qae=em().castOption,git=Iae();Bae.exports=function(t,r,n,a){var i=n.marker.line,o=qae(i.color,r.pts)||zae.defaultLine,s=qae(i.width,r.pts)||0;t.call(git,r,n,a).style("stroke-width",s).call(zae.stroke,o)}});var II=ne((rtr,Hae)=>{"use strict";var sd=Ea(),PI=Fa(),Oh=Zt(),Oae=Oh.strTranslate,pv=li(),Ov=_a(),DI=yh().extractOpts,YS=ml(),mit=Kb(),yit=em().castOption,xit=CI(),Nae=12,Uae=5,ix=2,bit=10,Jb=5;Hae.exports=function(t,r,n){var a=r._fullLayout;n||(n=a.legend);var i=n.itemsizing==="constant",o=n.itemwidth,s=(o+xit.itemGap*2)/2,l=Oae(s,0),u=function(S,T,p,C){var A;if(S+1)A=S;else if(T&&T.width>0)A=T.width;else return 0;return i?C:Math.min(A,p)};t.each(function(S){var T=sd.select(this),p=Oh.ensureSingle(T,"g","layers");p.style("opacity",S[0].trace.opacity);var C=n.indentation,A=n.valign,P=S[0].lineHeight,D=S[0].height;if(A==="middle"&&C===0||!P||!D)p.attr("transform",null);else{var z={top:1,bottom:-1}[A],q=z*(.5*(P-D+3))||0,U=n.indentation;p.attr("transform",Oae(U,q))}var O=p.selectAll("g.legendfill").data([S]);O.enter().append("g").classed("legendfill",!0);var R=p.selectAll("g.legendlines").data([S]);R.enter().append("g").classed("legendlines",!0);var B=p.selectAll("g.legendsymbols").data([S]);B.enter().append("g").classed("legendsymbols",!0),B.selectAll("g.legendpoints").data([S]).enter().append("g").classed("legendpoints",!0)}).each(y).each(h).each(d).each(v).each(x).each(w).each(M).each(c).each(f).each(g).each(E);function c(S){var T=Vae(S),p=T.showFill,C=T.showLine,A=T.showGradientLine,P=T.showGradientFill,D=T.anyFill,z=T.anyLine,q=S[0],U=q.trace,O,R,B=DI(U),Y=B.colorscale,X=B.reversescale,te=function(oe){if(oe.size())if(p)pv.fillGroupStyle(oe,r,!0);else{var we="legendfill-"+U.uid;pv.gradient(oe,r,we,RI(X),Y,"fill")}},se=function(oe){if(oe.size()){var we="legendline-"+U.uid;pv.lineGroupStyle(oe),pv.gradient(oe,r,we,RI(X),Y,"stroke")}},ue=YS.hasMarkers(U)||!D?"M5,0":z?"M5,-2":"M5,-3",re=sd.select(this),j=re.select(".legendfill").selectAll("path").data(p||P?[S]:[]);if(j.enter().append("path").classed("js-fill",!0),j.exit().remove(),j.attr("d",ue+"h"+o+"v6h-"+o+"z").call(te),C||A){var fe=u(void 0,U.line,bit,Uae);R=Oh.minExtend(U,{line:{width:fe}}),O=[Oh.minExtend(q,{trace:R})]}var ce=re.select(".legendlines").selectAll("path").data(C||A?[O]:[]);ce.enter().append("path").classed("js-line",!0),ce.exit().remove(),ce.attr("d",ue+(A?"l"+o+",0.0001":"h"+o)).call(C?pv.lineGroupStyle:se)}function f(S){var T=Vae(S),p=T.anyFill,C=T.anyLine,A=T.showLine,P=T.showMarker,D=S[0],z=D.trace,q=!P&&!C&&!p&&YS.hasText(z),U,O;function R(fe,ce,oe,we){var he=Oh.nestedProperty(z,fe).get(),ye=Oh.isArrayOrTypedArray(he)&&ce?ce(he):he;if(i&&ye&&we!==void 0&&(ye=we),oe){if(yeoe[1])return oe[1]}return ye}function B(fe){return D._distinct&&D.index&&fe[D.index]?fe[D.index]:fe[0]}if(P||q||A){var Y={},X={};if(P){Y.mc=R("marker.color",B);var te=z.type==="scattermap";Y.mx=te?"circle":R("marker.symbol",B),Y.mo=R("marker.opacity",Oh.mean,[.2,1]),Y.mlc=R("marker.line.color",B),Y.mlw=R("marker.line.width",Oh.mean,[0,5],ix),Y.mld=R("marker.line.dash",B),X.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var se=R("marker.size",Oh.mean,[2,16],Nae);Y.ms=se,X.marker.size=se}A&&(X.line={width:R("line.width",B,[0,10],Uae)}),q&&(Y.tx="Aa",Y.tp=R("textposition",B),Y.ts=10,Y.tc=R("textfont.color",B),Y.tf=R("textfont.family",B),Y.tw=R("textfont.weight",B),Y.ty=R("textfont.style",B),Y.tv=R("textfont.variant",B),Y.tC=R("textfont.textcase",B),Y.tE=R("textfont.lineposition",B),Y.tS=R("textfont.shadow",B)),U=[Oh.minExtend(D,Y)],O=Oh.minExtend(z,X),O.selectedpoints=null,O.texttemplate=null}var ue=sd.select(this).select("g.legendpoints"),re=ue.selectAll("path.scatterpts").data(P?U:[]);re.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",l),re.exit().remove(),re.call(pv.pointStyle,O,r),P&&(U[0].mrc=3);var j=ue.selectAll("g.pointtext").data(q?U:[]);j.enter().append("g").classed("pointtext",!0).append("text").attr("transform",l),j.exit().remove(),j.selectAll("text").call(pv.textPointStyle,O,r)}function h(S){var T=S[0].trace,p=T.type==="waterfall";if(S[0]._distinct&&p){var C=S[0].trace[S[0].dir].marker;return S[0].mc=C.color,S[0].mlw=C.line.width,S[0].mlc=C.line.color,m(S,this,"waterfall")}var A=[];T.visible&&p&&(A=S[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 P=sd.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(A);P.enter().append("path").classed("legendwaterfall",!0).attr("transform",l).style("stroke-miterlimit",1),P.exit().remove(),P.each(function(D){var z=sd.select(this),q=T[D[0]].marker,U=u(void 0,q.line,Jb,ix);z.attr("d",D[1]).style("stroke-width",U+"px").call(Ov.fill,q.color),U&&z.call(Ov.stroke,q.line.color)})}function v(S){m(S,this)}function d(S){m(S,this,"funnel")}function m(S,T,p){var C=S[0].trace,A=C.marker||{},P=A.line||{},D=A.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",z=p?C.visible&&C.type===p:PI.traceIs(C,"bar"),q=sd.select(T).select("g.legendpoints").selectAll("path.legend"+p).data(z?[S]:[]);q.enter().append("path").classed("legend"+p,!0).attr("d",D).attr("transform",l),q.exit().remove(),q.each(function(U){var O=sd.select(this),R=U[0],B=u(R.mlw,A.line,Jb,ix);O.style("stroke-width",B+"px");var Y=R.mcc;if(!n._inHover&&"mc"in R){var X=DI(A),te=X.mid;te===void 0&&(te=(X.max+X.min)/2),Y=pv.tryColorscale(A,"")(te)}var se=Y||R.mc||A.color,ue=A.pattern,re=pv.getPatternAttr,j=ue&&(re(ue.shape,0,"")||re(ue.path,0,""));if(j){var fe=re(ue.bgcolor,0,null),ce=re(ue.fgcolor,0,null),oe=ue.fgopacity,we=Gae(ue.size,8,10),he=Gae(ue.solidity,.5,1),ye="legend-"+C.uid;O.call(pv.pattern,"legend",r,ye,j,we,he,Y,ue.fillmode,fe,ce,oe)}else O.call(Ov.fill,se);B&&Ov.stroke(O,R.mlc||P.color)})}function x(S){var T=S[0].trace,p=sd.select(this).select("g.legendpoints").selectAll("path.legendbox").data(T.visible&&PI.traceIs(T,"box-violin")?[S]:[]);p.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",l),p.exit().remove(),p.each(function(){var C=sd.select(this);if((T.boxpoints==="all"||T.points==="all")&&Ov.opacity(T.fillcolor)===0&&Ov.opacity((T.line||{}).color)===0){var A=Oh.minExtend(T,{marker:{size:i?Nae:Oh.constrain(T.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});p.call(pv.pointStyle,A,r)}else{var P=u(void 0,T.line,Jb,ix);C.style("stroke-width",P+"px").call(Ov.fill,T.fillcolor),P&&Ov.stroke(C,T.line.color)}})}function g(S){var T=S[0].trace,p=sd.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(T.visible&&T.type==="candlestick"?[S,S]:[]);p.enter().append("path").classed("legendcandle",!0).attr("d",function(C,A){return A?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"}).attr("transform",l).style("stroke-miterlimit",1),p.exit().remove(),p.each(function(C,A){var P=sd.select(this),D=T[A?"increasing":"decreasing"],z=u(void 0,D.line,Jb,ix);P.style("stroke-width",z+"px").call(Ov.fill,D.fillcolor),z&&Ov.stroke(P,D.line.color)})}function E(S){var T=S[0].trace,p=sd.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(T.visible&&T.type==="ohlc"?[S,S]:[]);p.enter().append("path").classed("legendohlc",!0).attr("d",function(C,A){return A?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"}).attr("transform",l).style("stroke-miterlimit",1),p.exit().remove(),p.each(function(C,A){var P=sd.select(this),D=T[A?"increasing":"decreasing"],z=u(void 0,D.line,Jb,ix);P.style("fill","none").call(pv.dashLine,D.line.dash,z),z&&Ov.stroke(P,D.line.color)})}function M(S){k(S,this,"pie")}function w(S){k(S,this,"funnelarea")}function k(S,T,p){var C=S[0],A=C.trace,P=p?A.visible&&A.type===p:PI.traceIs(A,p),D=sd.select(T).select("g.legendpoints").selectAll("path.legend"+p).data(P?[S]:[]);if(D.enter().append("path").classed("legend"+p,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",l),D.exit().remove(),D.size()){var z=A.marker||{},q=u(yit(z.line.width,C.pts),z.line,Jb,ix),U="pieLike",O=Oh.minExtend(A,{marker:{line:{width:q}}},U),R=Oh.minExtend(C,{trace:O},U);mit(D,R,O,r)}}function y(S){var T=S[0].trace,p,C=[];if(T.visible)switch(T.type){case"histogram2d":case"heatmap":C=[["M-15,-2V4H15V-2Z"]],p=!0;break;case"choropleth":case"choroplethmap":C=[["M-6,-6V6H6V-6Z"]],p=!0;break;case"densitymap":C=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],p="radial";break;case"cone":C=[["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"]],p=!1;break;case"streamtube":C=[["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"]],p=!1;break;case"surface":C=[["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"]],p=!0;break;case"mesh3d":C=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],p=!1;break;case"volume":C=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],p=!0;break;case"isosurface":C=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],p=!1;break}var A=sd.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(C);A.enter().append("path").classed("legend3dandfriends",!0).attr("transform",l).style("stroke-miterlimit",1),A.exit().remove(),A.each(function(P,D){var z=sd.select(this),q=DI(T),U=q.colorscale,O=q.reversescale,R=function(te){if(te.size()){var se="legendfill-"+T.uid;pv.gradient(te,r,se,RI(O,p==="radial"),U,"fill")}},B;if(U){if(!p){var X=U.length;B=D===0?U[O?X-1:0][1]:D===1?U[O?0:X-1][1]:U[Math.floor((X-1)/2)][1]}}else{var Y=T.vertexcolor||T.facecolor||T.color;B=Oh.isArrayOrTypedArray(Y)?Y[D]||Y[0]:Y}z.attr("d",P[0]),B?z.call(Ov.fill,B):z.call(R)})}};function RI(e,t){var r=t?"radial":"horizontal";return r+(e?"":"reversed")}function Vae(e){var t=e[0].trace,r=t.contours,n=YS.hasLines(t)||t.visible&&t.type==="quiver",a=YS.hasMarkers(t),i=t.visible&&t.fill&&t.fill!=="none",o=!1,s=!1;if(r){var l=r.coloring;l==="lines"?o=!0:n=l==="none"||l==="heatmap"||r.showlines,r.type==="constraint"?i=r._operation!=="=":(l==="fill"||l==="heatmap")&&(s=!0)}return{showMarker:a,showLine:n,showFill:i,showGradientLine:o,showGradientFill:s,anyLine:n||o,anyFill:i||s}}function Gae(e,t,r){return e&&Oh.isArrayOrTypedArray(e)?t:e>r?r:e}});var OI=ne((ntr,Qae)=>{"use strict";var wd=Ea(),hc=Zt(),qI=Sl(),ox=Fa(),$S=Pb(),zI=od(),dc=li(),r4=_a(),sx=Ms(),jae=kI().handleItemClick,Wae=kI().handleTitleClick,Bc=CI(),BI=qc(),Kae=BI.LINE_SPACING,e_=BI.FROM_TL,Yae=BI.FROM_BR,Xae=Pae(),_it=II(),t_=t4(),Qb=1,wit=/^legend[0-9]*$/;Qae.exports=function(t,r){if(r)Zae(t,r);else{var n=t._fullLayout,a=n._legends,i=n._infolayer.selectAll('[class^="legend"]');i.each(function(){var u=wd.select(this),c=u.attr("class"),f=c.split(" ")[0];f.match(wit)&&a.indexOf(f)===-1&&u.remove()});for(var o=0;o1)}var d=n.hiddenlabels||[];if(!s&&(!n.showlegend||!l.length))return o.selectAll("."+a).remove(),n._topdefs.select("#"+i).remove(),qI.autoMargin(e,a);var m=hc.ensureSingle(o,"g",a,function(T){s||T.attr("pointer-events","all")}),x=hc.ensureSingleById(n._topdefs,"clipPath",i,function(T){T.append("rect")}),g=hc.ensureSingle(m,"rect","bg",function(T){T.attr("shape-rendering","crispEdges")});g.call(r4.stroke,r.bordercolor).call(r4.fill,r.bgcolor).style("stroke-width",r.borderwidth+"px");var E=hc.ensureSingle(m,"g","scrollbox"),M=r.title;r._titleWidth=0,r._titleHeight=0;var w;M.text?(w=hc.ensureSingle(E,"text",a+"titletext"),w.attr("text-anchor","start").call(dc.font,M.font).text(M.text),ZS(w,E,e,r,Qb),!s&&(r.titleclick||r.titledoubleclick)&&Sit(E,e,r,a)):(E.selectAll("."+a+"titletext").remove(),E.selectAll("."+a+"titletoggle").remove());var k=hc.ensureSingle(m,"rect","scrollbar",function(T){T.attr(Bc.scrollBarEnterAttrs).call(r4.fill,Bc.scrollBarColor)}),y=E.selectAll("g.groups").data(l);y.enter().append("g").attr("class","groups"),y.exit().remove();var S=y.selectAll("g.traces").data(hc.identity);S.enter().append("g").attr("class","traces"),S.exit().remove(),S.style("opacity",function(T){let p=T[0],C=p.trace;if(p.groupTitle){let A=C.legendgroup,P=(n.shapes||[]).filter(function(z){return z.showlegend});return e._fullData.concat(P).some(function(z){return z.legendgroup===A&&(z.legend||"legend")===a&&z.visible===!0})?1:.5}return ox.traceIs(C,"pie-like")?d.indexOf(T[0].label)!==-1?.5:1:C.visible==="legendonly"?.5:1}).each(function(){wd.select(this).call(Ait,e,r)}).call(_it,e,r).each(function(T){s||T[0].groupTitle&&r.groupclick==="toggleitem"||wd.select(this).call(Mit,e,a)}),hc.syncOrAsync([qI.previousPromises,function(){return Cit(e,y,S,r,E)},function(){var T=n._size,p=r.borderwidth,C=r.xref==="paper",A=r.yref==="paper";if(M.text){let ze=(n.shapes||[]).filter(function(vt){return vt.showlegend}),Xe=e._fullData.concat(ze).some(function(vt){let st=vt.legend||"legend";var Oe=Array.isArray(st)?st.includes(a):st===a;return Oe&&vt.visible===!0});w.style("opacity",Xe?1:.5)}if(!s){var P,D;C?P=T.l+T.w*r.x-e_[KS(r)]*r._width:P=n.width*r.x-e_[KS(r)]*r._width,A?D=T.t+T.h*(1-r.y)-e_[JS(r)]*r._effHeight:D=n.height*(1-r.y)-e_[JS(r)]*r._effHeight;var z=Lit(e,a,P,D);if(z)return;if(n.margin.autoexpand){var q=P,U=D;P=C?hc.constrain(P,0,n.width-r._width):q,D=A?hc.constrain(D,0,n.height-r._effHeight):U,P!==q&&hc.log("Constrain "+a+".x to make legend fit inside graph"),D!==U&&hc.log("Constrain "+a+".y to make legend fit inside graph")}dc.setTranslate(m,P,D)}if(k.on(".drag",null),m.on("wheel",null),s||r._height<=r._maxHeight||e._context.staticPlot){var O=r._effHeight;s&&(O=r._height),g.attr({width:r._width-p,height:O-p,x:p/2,y:p/2}),dc.setTranslate(E,0,0),x.select("rect").attr({width:r._width-2*p,height:O-2*p,x:p,y:p}),dc.setClipUrl(E,i,e),dc.setRect(k,0,0,0,0),delete r._scrollY}else{var R=Math.max(Bc.scrollBarMinHeight,r._effHeight*r._effHeight/r._height),B=r._effHeight-R-2*Bc.scrollBarMargin,Y=r._height-r._effHeight,X=B/Y,te=Math.min(r._scrollY||0,Y);g.attr({width:r._width-2*p+Bc.scrollBarWidth+Bc.scrollBarMargin,height:r._effHeight-p,x:p/2,y:p/2}),x.select("rect").attr({width:r._width-2*p+Bc.scrollBarWidth+Bc.scrollBarMargin,height:r._effHeight-2*p,x:p,y:p+te}),dc.setClipUrl(E,i,e),we(te,R,X),m.on("wheel",function(){te=hc.constrain(r._scrollY+wd.event.deltaY/Y*B,0,Y),we(te,R,X),te!==0&&te!==Y&&wd.event.preventDefault()});var se,ue,re,j=function(ze,Xe,vt){var st=(vt-Xe)/X+ze;return hc.constrain(st,0,Y)},fe=function(ze,Xe,vt){var st=(Xe-vt)/X+ze;return hc.constrain(st,0,Y)},ce=wd.behavior.drag().on("dragstart",function(){var ze=wd.event.sourceEvent;ze.type==="touchstart"?se=ze.changedTouches[0].clientY:se=ze.clientY,re=te}).on("drag",function(){var ze=wd.event.sourceEvent;ze.buttons===2||ze.ctrlKey||(ze.type==="touchmove"?ue=ze.changedTouches[0].clientY:ue=ze.clientY,te=j(re,se,ue),we(te,R,X))});k.call(ce);var oe=wd.behavior.drag().on("dragstart",function(){var ze=wd.event.sourceEvent;ze.type==="touchstart"&&(se=ze.changedTouches[0].clientY,re=te)}).on("drag",function(){var ze=wd.event.sourceEvent;ze.type==="touchmove"&&(ue=ze.changedTouches[0].clientY,te=fe(re,se,ue),we(te,R,X))});E.call(oe)}function we(ze,Xe,vt){r._scrollY=e._fullLayout[a]._scrollY=ze,dc.setTranslate(E,0,-ze),dc.setRect(k,r._width,Bc.scrollBarMargin+ze*vt,Bc.scrollBarWidth,Xe),x.select("rect").attr("y",p+ze)}if(e._context.edits.legendPosition){var he,ye,Pe,le;m.classed("cursor-move",!0),zI.init({element:m.node(),gd:e,prepFn:function(ze){if(ze.target!==k.node()){var Xe=dc.getTranslate(m);Pe=Xe.x,le=Xe.y}},moveFn:function(ze,Xe){if(Pe!==void 0&&le!==void 0){var vt=Pe+ze,st=le+Xe;dc.setTranslate(m,vt,st),he=zI.align(vt,r._width,T.l,T.l+T.w,r.xanchor),ye=zI.align(st+r._height,-r._height,T.t+T.h,T.t,r.yanchor)}},doneFn:function(){if(he!==void 0&&ye!==void 0){var ze={};ze[a+".x"]=he,ze[a+".y"]=ye,ox.call("_guiRelayout",e,ze)}},clickFn:function(ze,Xe){var vt=o.selectAll("g.traces").filter(function(){var st=this.getBoundingClientRect();return Xe.clientX>=st.left&&Xe.clientX<=st.right&&Xe.clientY>=st.top&&Xe.clientY<=st.bottom});vt.size()>0&&Jae(e,r,vt,ze,Xe)}})}}],e)}}function XS(e,t,r){var n=e[0],a=n.width,i=t.entrywidthmode,o=n.trace.legendwidth||t.entrywidth;return i==="fraction"?t._maxWidth*o:r+(o||a)}function Jae(e,t,r,n,a){var i=e._fullLayout,o=r.data()[0][0].trace,s=t.itemclick,l=t.itemdoubleclick,u={event:a,node:r.node(),curveNumber:o.index,expandedIndex:o.index,data:e.data,layout:e.layout,frames:e._transitionData._frames,config:e._context,fullData:e._fullData,fullLayout:i};o._group&&(u.group=o._group),ox.traceIs(o,"pie-like")&&(u.label=r.datum()[0].label);var c=$S.triggerHandler(e,"plotly_legendclick",u);if(n===1){if(c===!1)return;t._clickTimeout=setTimeout(function(){e._fullLayout&&s&&jae(r,e,t,s)},e._context.doubleClickDelay)}else if(n===2){t._clickTimeout&&clearTimeout(t._clickTimeout),e._legendMouseDownTime=0;var f=$S.triggerHandler(e,"plotly_legenddoubleclick",u);f!==!1&&c!==!1&&l&&jae(r,e,t,l)}}function Ait(e,t,r){var n=t_.getId(r),a=e.data()[0][0],i=a.trace,o=ox.traceIs(i,"pie-like"),s=!r._inHover&&t._context.edits.legendText&&!o,l=r._maxNameLength,u,c;a.groupTitle?(u=a.groupTitle.text,c=a.groupTitle.font):(c=r.font,r.entries?u=a.text:(u=o?a.label:i.name,i._meta&&(u=hc.templateString(u,i._meta))));var f=hc.ensureSingle(e,"text",n+"text");f.attr("text-anchor","start").call(dc.font,c).text(s?$ae(u,l):u);var h=r.indentation+r.itemwidth+Bc.itemGap*2;sx.positionText(f,h,0),s?f.call(sx.makeEditable,{gd:t,text:u}).call(ZS,e,t,r).on("edit",function(v){this.text($ae(v,l)).call(ZS,e,t,r);var d={};return d.name=v,a.trace._isShape?ox.call("_guiRelayout",t,"shapes["+i.index+"].name",d.name):ox.call("_guiRestyle",t,d,i.index)}):ZS(f,e,t,r)}function $ae(e,t){var r=Math.max(4,t);if(e&&e.trim().length>=r/2)return e;e=e||"";for(var n=r-e.length;n>0;n--)e+=" ";return e}function Mit(e,t,r){var n=t._context.doubleClickDelay,a,i=1,o=hc.ensureSingle(e,"rect",r+"toggle",function(s){t._context.staticPlot||s.style("cursor","pointer").attr("pointer-events","all"),s.call(r4.fill,"rgba(0,0,0,0)")});t._context.staticPlot||(o.on("mousedown",function(){a=new Date().getTime(),a-t._legendMouseDownTimen&&(i=Math.max(i-1,1)),Jae(t,s,e,i,wd.event)}}))}function Sit(e,t,r,n){if(t._fullData.some(function(u){let c=u.legend||"legend";return(Array.isArray(c)?c.includes(n):c===n)&&ox.traceIs(u,"pie-like")}))return;let i=t._context.doubleClickDelay;var o,s=1;let l=hc.ensureSingle(e,"rect",n+"titletoggle",function(u){t._context.staticPlot||u.style("cursor","pointer").attr("pointer-events","all"),u.call(r4.fill,"rgba(0,0,0,0)")});t._context.staticPlot||(l.on("mousedown",function(){o=new Date().getTime(),o-t._legendMouseDownTimei&&(s=Math.max(s-1,1));let u={event:wd.event,legendId:n,data:t.data,layout:t.layout,fullData:t._fullData,fullLayout:t._fullLayout};if(s===1&&r.titleclick){if($S.triggerHandler(t,"plotly_legendtitleclick",u)===!1)return;r._titleClickTimeout=setTimeout(function(){t._fullLayout&&Wae(t,r,r.titleclick)},i)}else s===2&&(r._titleClickTimeout&&clearTimeout(r._titleClickTimeout),t._legendMouseDownTime=0,$S.triggerHandler(t,"plotly_legendtitledoubleclick",u)!==!1&&r.titledoubleclick&&Wae(t,r,r.titledoubleclick))}))}function ZS(e,t,r,n,a){n._inHover&&e.attr("data-notex",!0),sx.convertToTspans(e,r,function(){Eit(t,r,n,a)})}function Eit(e,t,r,n){var a=e.data()[0][0],i=a&&a.trace.showlegend;if(Array.isArray(i)&&(i=i[a.i]!==!1),!r._inHover&&a&&!i){e.remove();return}var o=e.select("g[class*=math-group]"),s=o.node(),l=t_.getId(r);r||(r=t._fullLayout[l]);var u=r.borderwidth,c;n===Qb?c=r.title.font:a.groupTitle?c=a.groupTitle.font:c=r.font;var f=c.size*Kae,h,v;if(s){var d=dc.bBox(s);h=d.height,v=d.width,n===Qb?dc.setTranslate(o,u,u+h*.75):dc.setTranslate(o,0,h*.25)}else{var m="."+l+(n===Qb?"title":"")+"text",x=e.select(m),g=sx.lineCount(x),E=x.node();if(h=f*g,v=E?dc.bBox(E).width:0,n===Qb)r.title.side==="left"&&(v+=Bc.itemGap*2),sx.positionText(x,u+Bc.titlePad,u+f);else{var M=Bc.itemGap*2+r.indentation+r.itemwidth;a.groupTitle&&(M=Bc.itemGap,v-=r.indentation+r.itemwidth),sx.positionText(x,M,-f*((g-1)/2-.3))}}n===Qb?(r._titleWidth=v,r._titleHeight=h):(a.lineHeight=f,a.height=Math.max(h,16)+3,a.width=v)}function kit(e){var t=0,r=0,n=e.title.side;return n&&(n.indexOf("left")!==-1&&(t=e._titleWidth),n.indexOf("top")!==-1&&(r=e._titleHeight)),[t,r]}function Cit(e,t,r,n,a){var i=e._fullLayout,o=t_.getId(n);n||(n=i[o]);var s=i._size,l=t_.isVertical(n),u=t_.isGrouped(n),c=n.entrywidthmode==="fraction",f=n.borderwidth,h=2*f,v=Bc.itemGap,d=n.indentation+n.itemwidth+v*2,m=2*(f+v),x=JS(n),g=n.y<0||n.y===0&&x==="top",E=n.y>1||n.y===1&&x==="bottom",M=n.tracegroupgap,w={};let{orientation:k,yref:y}=n,{maxheight:S}=n,T=g||E||k!=="v"||y!=="paper";S||(S=T?.5:1);let p=T?i.height:s.h;n._maxHeight=Math.max(S>1?S:S*p,30);var C=0;n._width=0,n._height=0;var A=kit(n);if(l)r.each(function(ze){var Xe=ze[0].height;dc.setTranslate(this,f+A[0],f+A[1]+n._height+Xe/2+v),n._height+=Xe,n._width=Math.max(n._width,ze[0].width)}),C=d+n._width,n._width+=v+d+h,n._height+=m,u&&(t.each(function(ze,Xe){dc.setTranslate(this,0,Xe*n.tracegroupgap)}),n._height+=(n._lgroupsLength-1)*n.tracegroupgap);else{var P=KS(n),D=n.x<0||n.x===0&&P==="right",z=n.x>1||n.x===1&&P==="left",q=E||g,U=i.width/2;n._maxWidth=Math.max(D?q&&P==="left"?s.l+s.w:U:z?q&&P==="right"?s.r+s.w:U:s.w,2*d);var O=0,R=0;r.each(function(ze){var Xe=XS(ze,n,d);O=Math.max(O,Xe),R+=Xe}),C=null;var B=0;if(u){var Y=0,X=0,te=0;t.each(function(){var ze=0,Xe=0;wd.select(this).selectAll("g.traces").each(function(st){var Oe=XS(st,n,d),qe=st[0].height;dc.setTranslate(this,A[0],A[1]+f+v+qe/2+Xe),Xe+=qe,ze=Math.max(ze,Oe),w[st[0].trace.legendgroup]=ze});var vt=ze+v;X>0&&vt+f+X>n._maxWidth?(B=Math.max(B,X),X=0,te+=Y+M,Y=Xe):Y=Math.max(Y,Xe),dc.setTranslate(this,X,te),X+=vt}),n._width=Math.max(B,X)+f,n._height=te+Y+m}else{var se=r.size(),ue=R+h+(se-1)*v=n._maxWidth&&(B=Math.max(B,ce),j=0,fe+=re,n._height+=re,re=0),dc.setTranslate(this,A[0]+f+j,A[1]+f+fe+Xe/2+v),ce=j+vt+v,j+=st,re=Math.max(re,Xe)}),ue?(n._width=j+h,n._height=re+m):(n._width=Math.max(B,ce)+h,n._height+=re+m)}}n._width=Math.ceil(Math.max(n._width+A[0],n._titleWidth+2*(f+Bc.titlePad))),n._height=Math.ceil(Math.max(n._height+A[1],n._titleHeight+2*(f+Bc.itemGap))),n._effHeight=Math.min(n._height,n._maxHeight);var oe=e._context.edits,we=oe.legendText||oe.legendPosition;r.each(function(ze){var Xe=wd.select(this).select("."+o+"toggle"),vt=ze[0].height,st=ze[0].trace.legendgroup,Oe=XS(ze,n,d);u&&st!==""&&(Oe=w[st]);var qe=we?d:C||Oe;!l&&!c&&(qe+=v/2),dc.setRect(Xe,0,-vt/2,qe,vt)});var he=a.select("."+o+"titletext");he.node()&&Tit(he,n,f);var ye=a.select("."+o+"titletoggle");if(ye.size()&&he.node()){var Pe=he.attr("x")||0,le=Bc.titlePad;dc.setRect(ye,Pe-le,f,n._titleWidth+2*le,n._titleHeight+2*le)}}function Lit(e,t,r,n){var a=e._fullLayout,i=a[t],o=KS(i),s=JS(i),l=i.xref==="paper",u=i.yref==="paper";e._fullLayout._reservedMargin[t]={};var c=i.y<.5?"b":"t",f=i.x<.5?"l":"r",h={r:a.width-r,l:r+i._width,b:a.height-n,t:n+i._effHeight};if(l&&u)return qI.autoMargin(e,t,{x:i.x,y:i.y,l:i._width*e_[o],r:i._width*Yae[o],b:i._effHeight*Yae[s],t:i._effHeight*e_[s]});l?e._fullLayout._reservedMargin[t][c]=h[c]:u||i.orientation==="v"?e._fullLayout._reservedMargin[t][f]=h[f]:e._fullLayout._reservedMargin[t][c]=h[c]}function KS(e){return hc.isRightAnchor(e)?"right":hc.isCenterAnchor(e)?"center":"left"}function JS(e){return hc.isBottomAnchor(e)?"bottom":hc.isMiddleAnchor(e)?"middle":"top"}});var GI=ne(VI=>{"use strict";var lx=Ea(),F1=mi(),zu=Zt(),Fit=zu.pushUnique,NI=zu.strTranslate,Pit=zu.strRotate,Dit=Pb(),Nv=Ms(),Rit=Mae(),Ep=li(),Zu=_a(),QS=od(),kp=ri(),Iit=zc().zindexSeparator,n_=Fa(),q0=Hd(),ux=w5(),zit=MI(),qit=OI(),sie=ux.YANGLE,UI=Math.PI*sie/180,Bit=1/Math.sin(UI),Oit=Math.cos(UI),Nit=Math.sin(UI),Xl=ux.HOVERARROWSIZE,Po=ux.HOVERTEXTPAD,eie={box:!0,ohlc:!0,violin:!0,candlestick:!0},Uit={scatter:!0,scattergl:!0,splom:!0};function tie(e,t){return e.distance-t.distance}VI.hover=function(t,r,n,a){t=zu.getGraphDiv(t);var i=r.target;zu.throttle(t._fullLayout._uid+ux.HOVERID,ux.HOVERMINTIME,function(){Vit(t,r,n,a,i)})};VI.loneHover=function(t,r){var n=!0;Array.isArray(t)||(n=!1,t=[t]);var a=r.gd,i=hie(a),o=die(a),s=t.map(function(x){var g=x._x0||x.x0||x.x||0,E=x._x1||x.x1||x.x||0,M=x._y0||x.y0||x.y||0,w=x._y1||x.y1||x.y||0,k=x.eventData;if(k){var y=Math.min(g,E),S=Math.max(g,E),T=Math.min(M,w),p=Math.max(M,w),C=x.trace;if(n_.traceIs(C,"gl3d")){var A=a._fullLayout[C.scene]._scene.container,P=A.offsetLeft,D=A.offsetTop;y+=P,S+=P,T+=D,p+=D}k.bbox={x0:y+o,x1:S+o,y0:T+i,y1:p+i},k.xPixel=(g+E)/2,k.yPixel=(M+w)/2,r.inOut_bbox&&r.inOut_bbox.push(k.bbox)}else k=!1;return{color:x.color||Zu.defaultLine,x0:x.x0||x.x||0,x1:x.x1||x.x||0,y0:x.y0||x.y||0,y1:x.y1||x.y||0,xLabel:x.xLabel,yLabel:x.yLabel,zLabel:x.zLabel,text:x.text,name:x.name,idealAlign:x.idealAlign,borderColor:x.borderColor,fontFamily:x.fontFamily,fontSize:x.fontSize,fontColor:x.fontColor,fontWeight:x.fontWeight,fontStyle:x.fontStyle,fontVariant:x.fontVariant,nameLength:x.nameLength,textAlign:x.textAlign,trace:x.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:x.hovertemplate||!1,hovertemplateLabels:x.hovertemplateLabels||!1,eventData:k}}),l=!1,u=uie(s,{gd:a,hovermode:"closest",rotateLabels:l,bgColor:r.bgColor||Zu.background,container:lx.select(r.container),outerContainer:r.outerContainer||r.container}),c=u.hoverLabels,f=5,h=0,v=0;c.sort(function(x,g){return x.y0-g.y0}).each(function(x,g){var E=x.y0-x.by/2;E-fS[0]._length||le<0||le>T[0]._length)return QS.unhoverRaw(e,t)}if(t.pointerX=Pe+S[0]._offset,t.pointerY=le+T[0]._offset,"xval"in t?U=q0.flat(i,t.xval):U=q0.p2c(S,Pe),"yval"in t?O=q0.flat(i,t.yval):O=q0.p2c(T,le),!F1(U[0])||!F1(O[0]))return zu.warn("Fx.hover failed",t,e),QS.unhoverRaw(e,t)}s.clickanywhere&&(e._hoverXVals=U,e._hoverYVals=O,e._hoverXAxes=S,e._hoverYAxes=T);var vt=1/0;function st(un,aa){for(B=0;Bce&&(z.splice(0,ce),vt=z[0].distance),f&&D!==0&&z.length===0){fe.distance=D,fe.index=!1;var pa=X._module.hoverPoints(fe,re,j,"closest",{hoverLayer:s._hoverlayer});if(pa&&(pa=pa.filter(function(Oi){return Oi.spikeDistance<=D})),pa&&pa.length){var no,Gi=pa.filter(function(Oi){return Oi.xa.showspikes&&Oi.xa.spikesnap!=="hovered data"});if(Gi.length){var Ti=Gi[0];F1(Ti.x0)&&F1(Ti.y0)&&(no=qe(Ti),(!oe.vLinePoint||oe.vLinePoint.spikeDistance>no.spikeDistance)&&(oe.vLinePoint=no))}var fi=pa.filter(function(Oi){return Oi.ya.showspikes&&Oi.ya.spikesnap!=="hovered data"});if(fi.length){var _o=fi[0];F1(_o.x0)&&F1(_o.y0)&&(no=qe(_o),(!oe.hLinePoint||oe.hLinePoint.spikeDistance>no.spikeDistance)&&(oe.hLinePoint=no))}}}}}st();function Oe(un,aa,da){for(var ua=null,qa=1/0,ii,pa=0;paun.trace.index===We.trace.index):z=[We];var pt=z.length,kt=oie("x",We,s),qt=oie("y",We,s);st(kt,qt);var Wt=[],_r={},tr=0,lr=function(un){var aa=eie[un.trace.type]?lie(un):un.trace.index;if(!_r[aa])tr++,_r[aa]=tr,Wt.push(un);else{var da=_r[aa]-1,ua=Wt[da];da>0&&Math.abs(un.distance)pt-1;Ye--)lr(z[Ye]);z=Wt,de()}var Te=e._hoverdata,Fe=[],Ae=hie(e),Re=die(e);for(let un of z){var Ze=q0.makeEventData(un,un.trace,un.cd);if(un.hovertemplate!==!1){var Ke=!1;un.cd[un.index]&&un.cd[un.index].ht&&(Ke=un.cd[un.index].ht),un.hovertemplate=Ke||un.trace.hovertemplate||!1}if(un.xa&&un.ya){var _t=un.x0+un.xa._offset,St=un.x1+un.xa._offset,Vt=un.y0+un.ya._offset,fr=un.y1+un.ya._offset,$t=Math.min(_t,St),gr=Math.max(_t,St),Br=Math.min(Vt,fr),Nr=Math.max(Vt,fr);Ze.bbox={x0:$t+Re,x1:gr+Re,y0:Br+Ae,y1:Nr+Ae},Ze.xPixel=(_t+St)/2,Ze.yPixel=(Vt+fr)/2}un.eventData=[Ze],Fe.push(Ze)}e._hoverdata=Fe;var Er=h==="y"&&(q.length>1||z.length>1)||h==="closest"&&we&&z.length>1,zr=Zu.combine(s.plot_bgcolor||Zu.background,s.paper_bgcolor),vn=uie(z,{gd:e,hovermode:h,rotateLabels:Er,bgColor:zr,container:s._hoverlayer,outerContainer:s._paper.node(),commonLabelOpts:s.hoverlabel,hoverdistance:s.hoverdistance}),Nn=vn.hoverLabels;if(q0.isUnifiedHover(h)||(Hit(Nn,Er,s,vn.commonLabelBoundingBox),fie(Nn,Er,s._invScaleX,s._invScaleY)),a&&a.tagName){var Xn=n_.getComponentMethod("annotations","hasClickToShow")(e,Fe);Rit(lx.select(a),Xn?"pointer":"")}var Kn=Yit(e,t,Te);if(!a||n||!Kn&&!s.hoveranywhere)return;Te&&Kn&&e.emit("plotly_unhover",{event:t,points:Te}),Qn(e._hoverdata);function Qn(un){e.emit("plotly_hover",{event:t,points:un,xaxes:S,yaxes:T,xvals:U,yvals:O})}}function lie(e){return[e.trace.index,e.index,e.x0,e.y0,e.name,e.attr,e.xa?e.xa._id:"",e.ya?e.ya._id:""].join(",")}var Git=/([\s\S]*)<\/extra>/;function uie(e,t){var r=t.gd,n=r._fullLayout,a=t.hovermode,i=t.rotateLabels,o=t.bgColor,s=t.container,l=t.outerContainer,u=t.commonLabelOpts||{};if(e.length===0)return[[]];var c=t.fontFamily||ux.HOVERFONT,f=t.fontSize||ux.HOVERFONTSIZE,h=t.fontWeight||n.font.weight,v=t.fontStyle||n.font.style,d=t.fontVariant||n.font.variant,m=t.fontTextcase||n.font.textcase,x=t.fontLineposition||n.font.lineposition,g=t.fontShadow||n.font.shadow,E=e[0],M=E.xa,w=E.ya,k=a.charAt(0),y=k+"Label",S=E[y];if(S===void 0&&M.type==="multicategory")for(var T=0;Tn.width-Fe&&(Ae=n.width-Fe),Qe.attr("d","M"+(lr-Ae)+",0L"+(lr-Ae+Xl)+","+Te+Xl+"H"+Fe+"v"+Te+(Po*2+tr.height)+"H"+-Fe+"V"+Te+Xl+"H"+(lr-Ae-Xl)+"Z"),lr=Ae,B.minX=lr-Fe,B.maxX=lr+Fe,M.side==="top"?(B.minY=Ye-(Po*2+tr.height),B.maxY=Ye-Po):(B.minY=Ye+Po,B.maxY=Ye+(Po*2+tr.height))}else{var Re,Ze,Ke;w.side==="right"?(Re="start",Ze=1,Ke="",lr=M._offset+M._length):(Re="end",Ze=-1,Ke="-",lr=M._offset),Ye=w._offset+(E.y0+E.y1)/2,We.attr("text-anchor",Re),Qe.attr("d","M0,0L"+Ke+Xl+","+Xl+"V"+(Po+tr.height/2)+"h"+Ke+(Po*2+tr.width)+"V-"+(Po+tr.height/2)+"H"+Ke+Xl+"V-"+Xl+"Z"),B.minY=Ye-(Po+tr.height/2),B.maxY=Ye+(Po+tr.height/2),w.side==="right"?(B.minX=lr+Xl,B.maxX=lr+Xl+(Po*2+tr.width)):(B.minX=lr-Xl-(Po*2+tr.width),B.maxX=lr-Xl);var _t=tr.height/2,St=C-tr.top-_t,Vt="clip"+n._uid+"commonlabel"+w._id,fr;if(lrQe.hoverinfo!=="none");if(He.length===0)return[];var Y=n.hoverlabel,X=Y.font,te=He[0],se=((a==="x unified"?te.xa:te.ya).unifiedhovertitle||{}).text,ue=se?zu.hovertemplateString({data:a==="x unified"?[{xa:te.xa,x:te.xVal}]:[{ya:te.ya,y:te.yVal}],fallback:te.trace.hovertemplatefallback,locale:n._d3locale,template:se}):S,re={showlegend:!0,legend:{title:{text:ue,font:X},font:X,bgcolor:Y.bgcolor,bordercolor:Y.bordercolor,borderwidth:1,tracegroupgap:7,traceorder:n.legend?n.legend.traceorder:void 0,orientation:"v"}},j={font:X};zit(re,j,r._fullData);var fe=j.legend;fe.entries=[];for(var ce=0;ce=0?Ge=de:Ee+Xe=0?Ge=Ee:Ue+Xe=0?tt=lt:Ie+vt=0?tt=Ie:ge+vt=0,(He.idealAlign==="top"||!Br)&&Nr?(Ke-=St/2,He.anchor="end"):Br?(Ke+=St/2,He.anchor="start"):He.anchor="middle",He.crossPos=Ke;else{if(He.pos=Ke,Br=Ze+_t/2+gr<=A,Nr=Ze-_t/2-gr>=0,(He.idealAlign==="left"||!Br)&&Nr)Ze-=_t/2,He.anchor="end";else if(Br)Ze+=_t/2,He.anchor="start";else{He.anchor="middle";var Er=gr/2,zr=Ze+Er-A,vn=Ze-Er;zr>0&&(Ze-=zr),vn<0&&(Ze+=-vn)}He.crossPos=Ze}Ye.attr("text-anchor",He.anchor),Fe&&Te.attr("text-anchor",He.anchor),Qe.attr("transform",NI(Ze,Ke)+(i?Pit(sie):""))}),{hoverLabels:ft,commonLabelBoundingBox:B}}function rie(e,t,r,n,a,i){var f,h;var o="",s="";e.nameOverride!==void 0&&(e.name=e.nameOverride),e.name&&(e.trace._meta&&(e.name=zu.templateString(e.name,e.trace._meta)),o=iie(e.name,e.nameLength));var l=r.charAt(0),u=l==="x"?"y":"x";e.zLabel!==void 0?(e.xLabel!==void 0&&(s+="x: "+e.xLabel+"
"),e.yLabel!==void 0&&(s+="y: "+e.yLabel+"
"),e.trace.type!=="choropleth"&&e.trace.type!=="choroplethmap"&&(s+=(s?"z: ":"")+e.zLabel)):t&&e[l+"Label"]===a?s=e[u+"Label"]||"":e.xLabel===void 0?e.yLabel!==void 0&&e.trace.type!=="scattercarpet"&&(s=e.yLabel):e.yLabel===void 0?s=e.xLabel:s="("+e.xLabel+", "+e.yLabel+")",(e.text||e.text===0)&&!Array.isArray(e.text)&&(s+=(s?"
":"")+e.text),e.extraText!==void 0&&(s+=(s?"
":"")+e.extraText),i&&s===""&&!e.hovertemplate&&(o===""&&i.remove(),s=o),(h=(f=e.trace)==null?void 0:f.hoverlabel)!=null&&h.split&&(e.hovertemplate="");let{hovertemplate:c=!1}=e;if(c){let v=e.hovertemplateLabels||e;e[l+"Label"]!==a&&(v[l+"other"]=v[l+"Val"],v[l+"otherLabel"]=v[l+"Label"]),s=zu.hovertemplateString({data:[e.eventData[0]||{},e.trace._meta],fallback:e.trace.hovertemplatefallback,labels:v,locale:n._d3locale,template:c}),s=s.replace(Git,(d,m)=>(o=iie(m,e.nameLength),""))}return[s,o]}function Hit(e,t,r,n){var a=t?"xa":"ya",i=t?"ya":"xa",o=0,s=1,l=e.size(),u=new Array(l),c=0,f=n.minX,h=n.maxX,v=n.minY,d=n.maxY,m=function(U){return U*r._invScaleX},x=function(U){return U*r._invScaleY};e.each(function(U){var O=U[a],R=U[i],B=O._id.charAt(0)==="x",Y=O.range;c===0&&Y&&Y[0]>Y[1]!==B&&(s=-1);var X=0,te=B?r.width:r.height;if(r.hovermode==="x"||r.hovermode==="y"){var se=cie(U,t),ue=U.anchor,re=ue==="end"?-1:1,j,fe;if(ue==="middle")j=U.crossPos+(B?x(se.y-U.by/2):m(U.bx/2+U.tx2width/2)),fe=j+(B?x(U.by):m(U.bx));else if(B)j=U.crossPos+x(Xl+se.y)-x(U.by/2-Xl),fe=j+x(U.by);else{var ce=m(re*Xl+se.x),oe=ce+m(re*U.bx);j=U.crossPos+Math.min(ce,oe),fe=U.crossPos+Math.max(ce,oe)}B?v!==void 0&&d!==void 0&&Math.min(fe,d)-Math.max(j,v)>1&&(R.side==="left"?(X=R._mainLinePosition,te=r.width):te=R._mainLinePosition):f!==void 0&&h!==void 0&&Math.min(fe,h)-Math.max(j,f)>1&&(R.side==="top"?(X=R._mainLinePosition,te=r.height):te=R._mainLinePosition)}u[c++]=[{datum:U,traceIndex:U.trace.index,dp:0,pos:U.pos,posref:U.posref,size:U.by*(B?Bit:1)/2,pmin:X,pmax:te}]}),u.sort(function(U,O){return U[0].posref-O[0].posref||s*(O[0].traceIndex-U[0].traceIndex)});var g,E,M,w,k,y,S;function T(U){var O=U[0],R=U[U.length-1];if(E=O.pmin-O.pos-O.dp+O.size,M=R.pos+R.dp+R.size-O.pmax,E>.01){for(k=U.length-1;k>=0;k--)U[k].dp+=E;g=!1}if(!(M<.01)){if(E<-.01){for(k=U.length-1;k>=0;k--)U[k].dp-=M;g=!1}if(g){var B=0;for(w=0;wO.pmax&&B++;for(w=U.length-1;w>=0&&!(B<=0);w--)y=U[w],y.pos>O.pmax-1&&(y.del=!0,B--);for(w=0;w=0;k--)U[k].dp-=M;for(w=U.length-1;w>=0&&!(B<=0);w--)y=U[w],y.pos+y.dp+y.size>O.pmax&&(y.del=!0,B--)}}}for(;!g&&o<=l;){for(o++,g=!0,w=0;w.01){for(k=C.length-1;k>=0;k--)C[k].dp+=E;for(p.push.apply(p,C),u.splice(w+1,1),S=0,k=p.length-1;k>=0;k--)S+=p[k].dp;for(M=S/p.length,k=p.length-1;k>=0;k--)p[k].dp-=M;g=!1}else w++}u.forEach(T)}for(w=u.length-1;w>=0;w--){var D=u[w];for(k=D.length-1;k>=0;k--){var z=D[k],q=z.datum;q.offset=z.dp,q.del=z.del}}}function cie(e,t){var r=0,n=e.offset;return t&&(n*=-Nit,r=e.offset*Oit),{x:r,y:n}}function jit(e){var t={start:1,end:-1,middle:0}[e.anchor],r=t*(Xl+Po),n=r+t*(e.txwidth+Po),a=e.anchor==="middle";return a&&(r-=e.tx2width/2,n+=e.txwidth/2+Po),{alignShift:t,textShiftX:r,text2ShiftX:n}}function fie(e,t,r,n){var a=function(o){return o*r},i=function(o){return o*n};e.each(function(o){var s=lx.select(this);if(o.del)return s.remove();var l=s.select("text.nums"),u=o.anchor,c=u==="end"?-1:1,f=jit(o),h=cie(o,t),v=h.x,d=h.y,m=u==="middle",x="hoverlabel"in o.trace?o.trace.hoverlabel.showarrow:!0,g;m?g="M-"+a(o.bx/2+o.tx2width/2)+","+i(d-o.by/2)+"h"+a(o.bx)+"v"+i(o.by)+"h-"+a(o.bx)+"Z":x?g="M0,0L"+a(c*Xl+v)+","+i(Xl+d)+"v"+i(o.by/2-Xl)+"h"+a(c*o.bx)+"v-"+i(o.by)+"H"+a(c*Xl+v)+"V"+i(d-Xl)+"Z":g="M"+a(c*Xl+v)+","+i(d-o.by/2)+"h"+a(c*o.bx)+"v"+i(o.by)+"h"+a(-c*o.bx)+"Z",s.select("path").attr("d",g);var E=v+f.textShiftX,M=d+o.ty0-o.by/2+Po,w=o.textAlign||"auto";w!=="auto"&&(w==="left"&&u!=="start"?(l.attr("text-anchor","start"),E=m?-o.bx/2-o.tx2width/2+Po:-o.bx-Po):w==="right"&&u!=="end"&&(l.attr("text-anchor","end"),E=m?o.bx/2-o.tx2width/2-Po:o.bx+Po)),l.call(Nv.positionText,a(E),i(M)),o.tx2width&&(s.select("text.name").call(Nv.positionText,a(f.text2ShiftX+f.alignShift*Po+v),i(d+o.ty0-o.by/2+Po)),s.select("rect").call(Ep.setRect,a(f.text2ShiftX+(f.alignShift-1)*o.tx2width/2+v),i(d-o.by/2-1),a(o.tx2width),i(o.by+2)))})}function Wit(e,t){var r=e.index,n=e.trace||{},a=e.cd[0],i=e.cd[r]||{};function o(h){return h||F1(h)&&h===0}var s=Array.isArray(r)?function(h,v){var d=zu.castOption(a,r,h);return o(d)?d:zu.extractOption({},n,"",v)}:function(h,v){return zu.extractOption(i,n,h,v)};function l(h,v,d){var m=s(v,d);o(m)&&(e[h]=m)}if(l("hoverinfo","hi","hoverinfo"),l("bgcolor","hbg","hoverlabel.bgcolor"),l("borderColor","hbc","hoverlabel.bordercolor"),l("fontFamily","htf","hoverlabel.font.family"),l("fontSize","hts","hoverlabel.font.size"),l("fontColor","htc","hoverlabel.font.color"),l("fontWeight","htw","hoverlabel.font.weight"),l("fontStyle","hty","hoverlabel.font.style"),l("fontVariant","htv","hoverlabel.font.variant"),l("nameLength","hnl","hoverlabel.namelength"),l("textAlign","hta","hoverlabel.align"),e.posref=t==="y"||t==="closest"&&n.orientation==="h"?e.xa._offset+(e.x0+e.x1)/2:e.ya._offset+(e.y0+e.y1)/2,e.x0=zu.constrain(e.x0,0,e.xa._length),e.x1=zu.constrain(e.x1,0,e.xa._length),e.y0=zu.constrain(e.y0,0,e.ya._length),e.y1=zu.constrain(e.y1,0,e.ya._length),e.xLabelVal!==void 0&&(e.xLabel="xLabel"in e?e.xLabel:kp.hoverLabelText(e.xa,e.xLabelVal,n.xhoverformat),e.xVal=e.xa.c2d(e.xLabelVal)),e.yLabelVal!==void 0&&(e.yLabel="yLabel"in e?e.yLabel:kp.hoverLabelText(e.ya,e.yLabelVal,n.yhoverformat),e.yVal=e.ya.c2d(e.yLabelVal)),e.zLabelVal!==void 0&&e.zLabel===void 0&&(e.zLabel=String(e.zLabelVal)),!isNaN(e.xerr)&&!(e.xa.type==="log"&&e.xerr<=0)){var u=kp.tickText(e.xa,e.xa.c2l(e.xerr),"hover").text;e.xerrneg!==void 0?e.xLabel+=" +"+u+" / -"+kp.tickText(e.xa,e.xa.c2l(e.xerrneg),"hover").text:e.xLabel+=" \xB1 "+u,t==="x"&&(e.distance+=1)}if(!isNaN(e.yerr)&&!(e.ya.type==="log"&&e.yerr<=0)){var c=kp.tickText(e.ya,e.ya.c2l(e.yerr),"hover").text;e.yerrneg!==void 0?e.yLabel+=" +"+c+" / -"+kp.tickText(e.ya,e.ya.c2l(e.yerrneg),"hover").text:e.yLabel+=" \xB1 "+c,t==="y"&&(e.distance+=1)}var f=e.hoverinfo||e.trace.hoverinfo;return f&&f!=="all"&&(f=Array.isArray(f)?f:f.split("+"),f.indexOf("x")===-1&&(e.xLabel=void 0),f.indexOf("y")===-1&&(e.yLabel=void 0),f.indexOf("z")===-1&&(e.zLabel=void 0),f.indexOf("text")===-1&&(e.text=void 0),f.indexOf("name")===-1&&(e.name=void 0)),e}function nie(e,t,r){var n=r.container,a=r.fullLayout,i=a._size,o=r.event,s=!!t.hLinePoint,l=!!t.vLinePoint,u,c;if(n.selectAll(".spikeline").remove(),!!(l||s)){var f=Zu.combine(a.plot_bgcolor,a.paper_bgcolor);if(s){var h=t.hLinePoint,v,d;u=h&&h.xa,c=h&&h.ya;var m=c.spikesnap;m==="cursor"?(v=o.pointerX,d=o.pointerY):(v=u._offset+h.x,d=c._offset+h.y);var x=Zu.color(h.color).contrast(Zu.color(f))<1.5?Zu.contrast(f):h.color,g=c.spikemode,E=c.spikethickness,M=c.spikecolor||x,w=kp.getPxPosition(e,c),k,y;if(g.indexOf("toaxis")!==-1||g.indexOf("across")!==-1){if(g.indexOf("toaxis")!==-1&&(k=w,y=v),g.indexOf("across")!==-1){var S=c._counterDomainMin,T=c._counterDomainMax;c.anchor==="free"&&(S=Math.min(S,c.position),T=Math.max(T,c.position)),k=i.l+S*i.w,y=i.l+T*i.w}n.insert("line",":first-child").attr({x1:k,x2:y,y1:d,y2:d,"stroke-width":E,stroke:M,"stroke-dasharray":Ep.dashStyle(c.spikedash,E)}).classed("spikeline",!0).classed("crisp",!0),n.insert("line",":first-child").attr({x1:k,x2:y,y1:d,y2:d,"stroke-width":E+2,stroke:f}).classed("spikeline",!0).classed("crisp",!0)}g.indexOf("marker")!==-1&&n.insert("circle",":first-child").attr({cx:w+(c.side!=="right"?E:-E),cy:d,r:E,fill:M}).classed("spikeline",!0)}if(l){var p=t.vLinePoint,C,A;u=p&&p.xa,c=p&&p.ya;var P=u.spikesnap;P==="cursor"?(C=o.pointerX,A=o.pointerY):(C=u._offset+p.x,A=c._offset+p.y);var D=Zu.color(p.color).contrast(Zu.color(f))<1.5?Zu.contrast(f):p.color,z=u.spikemode,q=u.spikethickness,U=u.spikecolor||D,O=kp.getPxPosition(e,u),R,B;if(z.indexOf("toaxis")!==-1||z.indexOf("across")!==-1){if(z.indexOf("toaxis")!==-1&&(R=O,B=A),z.indexOf("across")!==-1){var Y=u._counterDomainMin,X=u._counterDomainMax;u.anchor==="free"&&(Y=Math.min(Y,u.position),X=Math.max(X,u.position)),R=i.t+(1-X)*i.h,B=i.t+(1-Y)*i.h}n.insert("line",":first-child").attr({x1:C,x2:C,y1:R,y2:B,"stroke-width":q,stroke:U,"stroke-dasharray":Ep.dashStyle(u.spikedash,q)}).classed("spikeline",!0).classed("crisp",!0),n.insert("line",":first-child").attr({x1:C,x2:C,y1:R,y2:B,"stroke-width":q+2,stroke:f}).classed("spikeline",!0).classed("crisp",!0)}z.indexOf("marker")!==-1&&n.insert("circle",":first-child").attr({cx:C,cy:O-(u.side!=="top"?q:-q),r:q,fill:U}).classed("spikeline",!0)}}}function Yit(e,t,r){if(!r||r.length!==e._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var a=r[n],i=e._hoverdata[n];if(a.curveNumber!==i.curveNumber||String(a.pointNumber)!==String(i.pointNumber)||String(a.pointNumbers)!==String(i.pointNumbers)||a.binNumber!==i.binNumber)return!0}return!1}function aie(e,t){return!t||t.vLinePoint!==e._spikepoints.vLinePoint||t.hLinePoint!==e._spikepoints.hLinePoint}function iie(e,t){return Nv.plainText(e||"",{len:t,allowedTags:["br","sub","sup","b","i","em","s","u"]})}function Xit(e,t){for(var r=t.charAt(0),n=[],a=[],i=[],o=0;oe.offsetTop+e.clientTop,die=e=>e.offsetLeft+e.clientLeft;function r_(e,t){var r=e._fullLayout,n=t.getBoundingClientRect(),a=n.left,i=n.top,o=a+n.width,s=i+n.height,l=zu.apply3DTransform(r._invTransform)(a,i),u=zu.apply3DTransform(r._invTransform)(o,s),c=l[0],f=l[1],h=u[0],v=u[1];return{x:c,y:f,width:h-c,height:v-f,top:Math.min(f,v),left:Math.min(c,h),right:Math.max(c,h),bottom:Math.max(f,v)}}});var n4=ne((itr,vie)=>{"use strict";var Zit=Zt(),$it=_a(),Kit=Hd().isUnifiedHover;vie.exports=function(t,r,n,a){a=a||{};var i=r.legend;function o(s){a.font[s]||(a.font[s]=i?r.legend.font[s]:r.font[s])}r&&Kit(r.hovermode)&&(a.font||(a.font={}),o("size"),o("family"),o("color"),o("weight"),o("style"),o("variant"),i?(a.bgcolor||(a.bgcolor=$it.combine(r.legend.bgcolor,r.paper_bgcolor)),a.bordercolor||(a.bordercolor=r.legend.bordercolor)):a.bgcolor||(a.bgcolor=r.paper_bgcolor)),n("hoverlabel.bgcolor",a.bgcolor),n("hoverlabel.bordercolor",a.bordercolor),n("hoverlabel.namelength",a.namelength),n("hoverlabel.showarrow",a.showarrow),Zit.coerceFont(n,"hoverlabel.font",a.font),n("hoverlabel.align",a.align)}});var gie=ne((otr,pie)=>{"use strict";var Jit=Zt(),Qit=n4(),eot=Fg();pie.exports=function(t,r){function n(a,i){return Jit.coerce(t,r,eot,a,i)}Qit(t,r,n)}});var xie=ne((str,yie)=>{"use strict";var mie=Zt(),tot=db(),rot=n4();yie.exports=function(t,r,n,a){function i(s,l){return mie.coerce(t,r,tot,s,l)}var o=mie.extendFlat({},a.hoverlabel);r.hovertemplate&&(o.namelength=-1),rot(t,r,i,o)}});var HI=ne((ltr,bie)=>{"use strict";var not=Zt(),aot=Fg();bie.exports=function(t,r){function n(a,i){return r[a]!==void 0?r[a]:not.coerce(t,r,aot,a,i)}return n("clickmode"),n("hoversubplots"),n("hoveranywhere"),n("clickanywhere"),n("hovermode")}});var Tie=ne((utr,wie)=>{"use strict";var _ie=Zt(),iot=Fg(),oot=HI(),sot=n4();wie.exports=function(t,r){function n(u,c){return _ie.coerce(t,r,iot,u,c)}var a=oot(t,r);a&&(n("hoverdistance"),n("spikedistance"),a.indexOf("unified")!==-1&&n("hoversort"));var i=n("dragmode");i==="select"&&n("selectdirection");var o=r._has("map"),s=r._has("geo"),l=r._basePlotModules.length;r.dragmode==="zoom"&&((o||s)&&l===1||o&&s&&l===2)&&(r.dragmode="pan"),sot(t,r,n),_ie.coerceFont(n,"hoverlabel.grouptitlefont",r.hoverlabel.font)}});var Sie=ne((ctr,Mie)=>{"use strict";var jI=Zt(),Aie=Fa();Mie.exports=function(t){var r=t.calcdata,n=t._fullLayout;function a(u){return function(c){return jI.coerceHoverinfo({hoverinfo:c},{_module:u._module},n)}}for(var i=0;i{"use strict";var uot=Fa(),cot=GI().hover;Eie.exports=function(t,r,n){var a=uot.getComponentMethod("annotations","onClick")(t,t._hoverdata),i=t._fullLayout;n!==void 0&&cot(t,r,n,!0);function o(){var l,u,c,f;var s={points:t._hoverdata,event:r};(l=s.xaxes)!=null||(s.xaxes=t._hoverXAxes),(u=s.yaxes)!=null||(s.yaxes=t._hoverYAxes),(c=s.xvals)!=null||(s.xvals=t._hoverXVals),(f=s.yvals)!=null||(s.yvals=t._hoverYVals),t.emit("plotly_click",s)}(t._hoverdata||i.clickanywhere)&&r&&r.target&&(t._hoverdata||(t._hoverdata=[]),a&&a.then?a.then(o):o(),r.stopImmediatePropagation&&r.stopImmediatePropagation())}});var cu=ne((htr,Fie)=>{"use strict";var fot=Ea(),eE=Zt(),hot=od(),a4=Hd(),Cie=Fg(),Lie=GI();Fie.exports={moduleType:"component",name:"fx",constants:w5(),schema:{layout:Cie},attributes:db(),layoutAttributes:Cie,supplyLayoutGlobalDefaults:gie(),supplyDefaults:xie(),supplyLayoutDefaults:Tie(),calc:Sie(),getDistanceFunction:a4.getDistanceFunction,getClosest:a4.getClosest,inbox:a4.inbox,quadrature:a4.quadrature,appendArrayPointValue:a4.appendArrayPointValue,castHoverOption:vot,castHoverinfo:pot,hover:Lie.hover,unhover:hot.unhover,loneHover:Lie.loneHover,loneUnhover:dot,click:kie()};function dot(e){var t=eE.isD3Selection(e)?e:fot.select(e);t.selectAll("g.hovertext").remove(),t.selectAll(".spikeline").remove()}function vot(e,t,r){return eE.castOption(e,t,"hoverlabel."+r)}function pot(e,t,r){function n(a){return eE.coerceHoverinfo({hoverinfo:a},{_module:e._module},t)}return eE.castOption(e,r,"hoverinfo",n)}});var Cp=ne(P1=>{"use strict";P1.selectMode=function(e){return e==="lasso"||e==="select"};P1.drawMode=function(e){return e==="drawclosedpath"||e==="drawopenpath"||e==="drawline"||e==="drawrect"||e==="drawcircle"};P1.openMode=function(e){return e==="drawline"||e==="drawopenpath"};P1.rectMode=function(e){return e==="select"||e==="drawline"||e==="drawrect"||e==="drawcircle"};P1.freeMode=function(e){return e==="lasso"||e==="drawclosedpath"||e==="drawopenpath"};P1.selectingOrDrawing=function(e){return P1.freeMode(e)||P1.rectMode(e)}});var i4=ne((vtr,Pie)=>{"use strict";Pie.exports=function(t){var r=t._fullLayout;r._glcanvas&&r._glcanvas.size()&&r._glcanvas.each(function(n){n.regl&&n.regl.clear({color:!0,depth:!0})})}});var tE=ne((ptr,Die)=>{"use strict";Die.exports={undo:{width:857.1,height:1e3,path:"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z",transform:"matrix(1 0 0 -1 0 850)"},home:{width:928.6,height:1e3,path:"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z",transform:"matrix(1 0 0 -1 0 850)"},"camera-retro":{width:1e3,height:1e3,path:"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z",transform:"matrix(1 0 0 -1 0 850)"},zoombox:{width:1e3,height:1e3,path:"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z",transform:"matrix(1 0 0 -1 0 850)"},pan:{width:1e3,height:1e3,path:"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z",transform:"matrix(1 0 0 -1 0 850)"},zoom_plus:{width:875,height:1e3,path:"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},zoom_minus:{width:875,height:1e3,path:"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},autoscale:{width:1e3,height:1e3,path:"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_basic:{width:1500,height:1e3,path:"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_compare:{width:1125,height:1e3,path:"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z",transform:"matrix(1 0 0 -1 0 850)"},plotlylogo:{width:1542,height:1e3,path:"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z",transform:"matrix(1 0 0 -1 0 850)"},"z-axis":{width:1e3,height:1e3,path:"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z",transform:"matrix(1 0 0 -1 0 850)"},"3d_rotate":{width:1e3,height:1e3,path:"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z",transform:"matrix(1 0 0 -1 0 850)"},camera:{width:1e3,height:1e3,path:"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z",transform:"matrix(1 0 0 -1 0 850)"},movie:{width:1e3,height:1e3,path:"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z",transform:"matrix(1 0 0 -1 0 850)"},question:{width:857.1,height:1e3,path:"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z",transform:"matrix(1 0 0 -1 0 850)"},disk:{width:857.1,height:1e3,path:"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z",transform:"matrix(1 0 0 -1 0 850)"},cloudupload:{width:640,height:640,path:"M451.5 160C434.9 160 418.8 164.5 404.7 172.7C388.9 156.7 370.5 143.3 350.2 133.2C378.4 109.2 414.3 96 451.5 96C537.9 96 608 166 608 252.5C608 294 591.5 333.8 562.2 363.1L491.1 434.2C461.8 463.5 422 480 380.5 480C294.1 480 224 410 224 323.5C224 322 224 320.5 224.1 319C224.6 301.3 239.3 287.4 257 287.9C274.7 288.4 288.6 303.1 288.1 320.8C288.1 321.7 288.1 322.6 288.1 323.4C288.1 374.5 329.5 415.9 380.6 415.9C405.1 415.9 428.6 406.2 446 388.8L517.1 317.7C534.4 300.4 544.2 276.8 544.2 252.3C544.2 201.2 502.8 159.8 451.7 159.8zM307.2 237.3C305.3 236.5 303.4 235.4 301.7 234.2C289.1 227.7 274.7 224 259.6 224C235.1 224 211.6 233.7 194.2 251.1L123.1 322.2C105.8 339.5 96 363.1 96 387.6C96 438.7 137.4 480.1 188.5 480.1C205 480.1 221.1 475.7 235.2 467.5C251 483.5 269.4 496.9 289.8 507C261.6 530.9 225.8 544.2 188.5 544.2C102.1 544.2 32 474.2 32 387.7C32 346.2 48.5 306.4 77.8 277.1L148.9 206C178.2 176.7 218 160.2 259.5 160.2C346.1 160.2 416 230.8 416 317.1C416 318.4 416 319.7 416 321C415.6 338.7 400.9 352.6 383.2 352.2C365.5 351.8 351.6 337.1 352 319.4C352 318.6 352 317.9 352 317.1C352 283.4 334 253.8 307.2 237.5z",transform:"matrix(1 0 0 1 -15 -15)"},drawopenpath:{width:70,height:70,path:"M33.21,85.65a7.31,7.31,0,0,1-2.59-.48c-8.16-3.11-9.27-19.8-9.88-41.3-.1-3.58-.19-6.68-.35-9-.15-2.1-.67-3.48-1.43-3.79-2.13-.88-7.91,2.32-12,5.86L3,32.38c1.87-1.64,11.55-9.66,18.27-6.9,2.13.87,4.75,3.14,5.17,9,.17,2.43.26,5.59.36,9.25a224.17,224.17,0,0,0,1.5,23.4c1.54,10.76,4,12.22,4.48,12.4.84.32,2.79-.46,5.76-3.59L43,80.07C41.53,81.57,37.68,85.64,33.21,85.65ZM74.81,69a11.34,11.34,0,0,0,6.09-6.72L87.26,44.5,74.72,32,56.9,38.35c-2.37.86-5.57,3.42-6.61,6L38.65,72.14l8.42,8.43ZM55,46.27a7.91,7.91,0,0,1,3.64-3.17l14.8-5.3,8,8L76.11,60.6l-.06.19a6.37,6.37,0,0,1-3,3.43L48.25,74.59,44.62,71Zm16.57,7.82A6.9,6.9,0,1,0,64.64,61,6.91,6.91,0,0,0,71.54,54.09Zm-4.05,0a2.85,2.85,0,1,1-2.85-2.85A2.86,2.86,0,0,1,67.49,54.09Zm-4.13,5.22L60.5,56.45,44.26,72.7l2.86,2.86ZM97.83,35.67,84.14,22l-8.57,8.57L89.26,44.24Zm-13.69-8,8,8-2.85,2.85-8-8Z",transform:"matrix(1 0 0 1 -15 -15)"},drawclosedpath:{width:90,height:90,path:"M88.41,21.12a26.56,26.56,0,0,0-36.18,0l-2.07,2-2.07-2a26.57,26.57,0,0,0-36.18,0,23.74,23.74,0,0,0,0,34.8L48,90.12a3.22,3.22,0,0,0,4.42,0l36-34.21a23.73,23.73,0,0,0,0-34.79ZM84,51.24,50.16,83.35,16.35,51.25a17.28,17.28,0,0,1,0-25.47,20,20,0,0,1,27.3,0l4.29,4.07a3.23,3.23,0,0,0,4.44,0l4.29-4.07a20,20,0,0,1,27.3,0,17.27,17.27,0,0,1,0,25.46ZM66.76,47.68h-33v6.91h33ZM53.35,35H46.44V68h6.91Z",transform:"matrix(1 0 0 1 -5 -5)"},lasso:{width:1031,height:1e3,path:"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z",transform:"matrix(1 0 0 -1 0 850)"},selectbox:{width:1e3,height:1e3,path:"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z",transform:"matrix(1 0 0 -1 0 850)"},drawline:{width:70,height:70,path:"M60.64,62.3a11.29,11.29,0,0,0,6.09-6.72l6.35-17.72L60.54,25.31l-17.82,6.4c-2.36.86-5.57,3.41-6.6,6L24.48,65.5l8.42,8.42ZM40.79,39.63a7.89,7.89,0,0,1,3.65-3.17l14.79-5.31,8,8L61.94,54l-.06.19a6.44,6.44,0,0,1-3,3.43L34.07,68l-3.62-3.63Zm16.57,7.81a6.9,6.9,0,1,0-6.89,6.9A6.9,6.9,0,0,0,57.36,47.44Zm-4,0a2.86,2.86,0,1,1-2.85-2.85A2.86,2.86,0,0,1,53.32,47.44Zm-4.13,5.22L46.33,49.8,30.08,66.05l2.86,2.86ZM83.65,29,70,15.34,61.4,23.9,75.09,37.59ZM70,21.06l8,8-2.84,2.85-8-8ZM87,80.49H10.67V87H87Z",transform:"matrix(1 0 0 1 -15 -15)"},drawrect:{width:80,height:80,path:"M78,22V79H21V22H78m9-9H12V88H87V13ZM68,46.22H31V54H68ZM53,32H45.22V69H53Z",transform:"matrix(1 0 0 1 -10 -10)"},drawcircle:{width:80,height:80,path:"M50,84.72C26.84,84.72,8,69.28,8,50.3S26.84,15.87,50,15.87,92,31.31,92,50.3,73.16,84.72,50,84.72Zm0-60.59c-18.6,0-33.74,11.74-33.74,26.17S31.4,76.46,50,76.46,83.74,64.72,83.74,50.3,68.6,24.13,50,24.13Zm17.15,22h-34v7.11h34Zm-13.8-13H46.24v34h7.11Z",transform:"matrix(1 0 0 1 -10 -10)"},eraseshape:{width:80,height:80,path:"M82.77,78H31.85L6,49.57,31.85,21.14H82.77a8.72,8.72,0,0,1,8.65,8.77V69.24A8.72,8.72,0,0,1,82.77,78ZM35.46,69.84H82.77a.57.57,0,0,0,.49-.6V29.91a.57.57,0,0,0-.49-.61H35.46L17,49.57Zm32.68-34.7-24,24,5,5,24-24Zm-19,.53-5,5,24,24,5-5Z",transform:"matrix(1 0 0 1 -10 -10)"},spikeline:{width:1e3,height:1e3,path:"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z",transform:"matrix(1.5 0 0 -1.5 0 850)"},pencil:{width:1792,height:1792,path:"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z",transform:"matrix(1 0 0 1 0 1)"},newplotlylogo:{name:"newplotlylogo",svg:[""," plotly-logomark"," "," "," "," "," "," "," "," "," "," "," "," "," ",""].join("")}}});var nE=ne((gtr,Rie)=>{"use strict";var rE=32;Rie.exports={CIRCLE_SIDES:rE,i000:0,i090:rE/4,i180:rE/2,i270:rE/4*3,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}});var aE=ne((mtr,zie)=>{"use strict";var got=Zt().strTranslate;function Iie(e,t){switch(e.type){case"log":return e.p2d(t);case"date":return e.p2r(t,0,e.calendar);default:return e.p2r(t)}}function mot(e,t){switch(e.type){case"log":return e.d2p(t);case"date":return e.r2p(t,0,e.calendar);default:return e.r2p(t)}}function yot(e){var t=e._id.charAt(0)==="y"?1:0;return function(r){return Iie(e,r[t])}}function xot(e){return got(e.xaxis._offset,e.yaxis._offset)}zie.exports={p2r:Iie,r2p:mot,axValue:yot,getTransform:xot}});var tm=ne(D1=>{"use strict";var bot=V5(),Oie=nE(),a_=Oie.CIRCLE_SIDES,WI=Oie.SQRT2,Nie=aE(),qie=Nie.p2r,Bie=Nie.r2p,_ot=[0,3,4,5,6,1,2],wot=[0,3,4,1,2];D1.writePaths=function(e){var t=e.length;if(!t)return"M0,0Z";for(var r="",n=0;n0&&l{"use strict";var Uie=uu(),Wie=Cp(),Tot=Wie.drawMode,Aot=Wie.openMode,i_=nE(),Vie=i_.i000,Gie=i_.i090,Hie=i_.i180,jie=i_.i270,Mot=i_.cos45,Sot=i_.sin45,Yie=aE(),oE=Yie.p2r,rm=Yie.r2p,Eot=Gg(),kot=Eot.clearOutline,sE=tm(),Cot=sE.readPaths,Lot=sE.writePaths,Fot=sE.ellipseOver,Pot=sE.fixDatesForPaths;function Dot(e,t){if(e.length){var r=e[0][0];if(r){var n=t.gd,a=t.isActiveShape,i=t.dragmode,o=(n.layout||{}).shapes||[];if(!Tot(i)&&a!==void 0){var s=n._fullLayout._activeShapeIndex;if(s{"use strict";var Rot=Cp(),Iot=Rot.selectMode,zot=Gg(),qot=zot.clearOutline,YI=tm(),Bot=YI.readPaths,Oot=YI.writePaths,Not=YI.fixDatesForPaths;$ie.exports=function(t,r){if(t.length){var n=t[0][0];if(n){var a=n.getAttribute("d"),i=r.gd,o=i._fullLayout.newselection,s=r.plotinfo,l=s.xaxis,u=s.yaxis,c=r.isActiveSelection,f=r.dragmode,h=(i.layout||{}).selections||[];if(!Iot(f)&&c!==void 0){var v=i._fullLayout._activeSelectionIndex;if(v{"use strict";Kie.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:3},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}});var am=ne(Yf=>{"use strict";var Fp=s4(),Jie=Zt(),nm=ri();Yf.rangeToShapePosition=function(e){return e.type==="log"?e.r2d:function(t){return t}};Yf.shapePositionToRange=function(e){return e.type==="log"?e.d2r:function(t){return t}};Yf.decodeDate=function(e){return function(t){return t.replace&&(t=t.replace("_"," ")),e(t)}};Yf.encodeDate=function(e){return function(t){return e(t).replace(" ","_")}};Yf.extractPathCoords=function(e,t,r){var n=[],a=e.match(Fp.segmentRE);return a.forEach(function(i){var o=t[i.charAt(0)].drawn;if(o!==void 0){var s=i.slice(1).match(Fp.paramRE);if(!(!s||s.length{let s=o.charAt(0),l=a[s].drawn!==void 0;return i+(l?1:0)},0)};Yf.getDataToPixel=function(e,t,r,n,a){var i=e._fullLayout._size,o;if(t)if(a==="domain")o=function(l){return t._length*(n?1-l:l)+t._offset};else{var s=Yf.shapePositionToRange(t);o=function(l){var u=Lp(t,r);return t._offset+t.r2p(s(l,!0))+u},t.type==="date"&&(o=Yf.decodeDate(o))}else n?o=function(l){return i.t+i.h*(1-l)}:o=function(l){return i.l+i.w*l};return o};Yf.getPixelToData=function(e,t,r,n){var a=e._fullLayout._size,i;if(t)if(n==="domain")i=function(s){var l=(s-t._offset)/t._length;return r?1-l:l};else{var o=Yf.rangeToShapePosition(t);i=function(s){return o(t.p2r(s-t._offset))}}else r?i=function(s){return 1-(s-a.t)/a.h}:i=function(s){return(s-a.l)/a.w};return i};Yf.roundPositionForSharpStrokeRendering=function(e,t){var r=Math.round(t%2)===1,n=Math.round(e);return r?n+.5:n};Yf.makeShapesOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.shapes[t]||{},n=e._fullLayout._plots[r.xref+r.yref],a=!!n;return a?n._hadPlotinfo=!0:(n={},r.xref&&r.xref!=="paper"&&(n.xaxis=e._fullLayout[r.xref+"axis"]),r.yref&&r.yref!=="paper"&&(n.yaxis=e._fullLayout[r.yref+"axis"])),n.xsizemode=r.xsizemode,n.ysizemode=r.ysizemode,n.xanchor=r.xanchor,n.yanchor=r.yanchor,{options:r,plotinfo:n}};Yf.makeSelectionsOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.selections[t]||{},n=e._fullLayout._plots[r.xref+r.yref],a=!!n;return a?n._hadPlotinfo=!0:(n={},r.xref&&(n.xaxis=e._fullLayout[r.xref+"axis"]),r.yref&&(n.yaxis=e._fullLayout[r.yref+"axis"])),{options:r,plotinfo:n}};Yf.getPathString=function(e,t){let r=t.type,n=nm.getRefType(t.xref),a=nm.getRefType(t.yref),i=e._fullLayout._size;var o,s,l,u,c,f,h,v,d,m,x,g;function E(C,A,P,D){var z;if(C)if(A==="domain")D?z=function(q){return C._offset+C._length*(1-q)}:z=function(q){return C._offset+C._length*q};else{let q=Yf.shapePositionToRange(C);z=function(U){return C._offset+C.r2p(q(U,!0))},P==="path"&&C.type==="date"&&(z=Yf.decodeDate(z))}else D?z=function(q){return i.t+i.h*(1-q)}:z=function(q){return i.l+i.w*q};return z}if(n==="array"?(h=[],o=t.xref.map(function(C){return nm.getFromId(e,C)}),h=t.xref.map(function(C,A){return E(o[A],nm.getRefType(C),r,!1)})):(o=nm.getFromId(e,t.xref),h=E(o,n,r,!1)),a==="array"?(v=[],s=t.yref.map(function(C){return nm.getFromId(e,C)}),v=t.yref.map(function(C,A){return E(s[A],nm.getRefType(C),r,!0)})):(s=nm.getFromId(e,t.yref),v=E(s,a,r,!0)),r==="path")return Uot(t,h,v);if(n==="array")l=Lp(o[0],t.x0shift),u=Lp(o[1],t.x1shift),d=h[0](t.x0)+l,m=h[1](t.x1)+u;else if(l=Lp(o,t.x0shift),u=Lp(o,t.x1shift),t.xsizemode==="pixel"){let C=h(t.xanchor);d=C+t.x0+l,m=C+t.x1+u}else d=h(t.x0)+l,m=h(t.x1)+u;if(a==="array")c=Lp(s[0],t.y0shift),f=Lp(s[1],t.y1shift),x=v[0](t.y0)+c,g=v[1](t.y1)+f;else if(c=Lp(s,t.y0shift),f=Lp(s,t.y1shift),t.ysizemode==="pixel"){let C=v(t.yanchor);x=C-t.y0+c,g=C-t.y1+f}else x=v(t.y0)+c,g=v(t.y1)+f;if(r==="line")return"M"+d+","+x+"L"+m+","+g;if(r==="rect")return"M"+d+","+x+"H"+m+"V"+g+"H"+d+"Z";var M=(d+m)/2,w=(x+g)/2,k=Math.abs(M-d),y=Math.abs(w-x),S="A"+k+","+y,T=M+k+","+w,p=M+","+(w-y);return"M"+T+S+" 0 1,1 "+p+S+" 0 0,1 "+T+"Z"};function Uot(e,t,r){let n=e.path,a=e.xsizemode,i=e.ysizemode,o=e.xanchor,s=e.yanchor,l=Array.isArray(e.xref),u=Array.isArray(e.yref);var c=0,f=0;return n.replace(Fp.segmentRE,function(h){var v=0,d=h.charAt(0),m=Fp.paramIsX[d],x=Fp.paramIsY[d],g=Fp.numParams[d];let E=m.drawn!==void 0,M=x.drawn!==void 0,w=l?t[c]:t,k=u?r[f]:r;var y=h.slice(1).replace(Fp.paramRE,function(S){return m[v]?a==="pixel"?S=w(o)+Number(S):S=w(S):x[v]&&(i==="pixel"?S=k(s)-Number(S):S=k(S)),v++,v>g&&(S="X"),S});return v>g&&(y=y.replace(/[\s,]*X.*/,""),Jie.log("Ignoring extra params in segment "+h)),E&&c++,M&&f++,d+y})}Yf.getPixelShift=Lp;function Lp(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}});var ZI=ne((Ttr,toe)=>{"use strict";var Vot=Zt(),Pp=ri(),Qie=Ms(),eoe=li(),Got=tm().readPaths,cx=am(),Hot=cx.getPathString,l4=qM(),jot=qc().FROM_TL;toe.exports=function(t,r,n,a){if(a.selectAll(".shape-label").remove(),!!(n.label.text||n.label.texttemplate)){var i;if(n.label.texttemplate){var o={};if(n.type!=="path"){var s=Pp.getFromId(t,n.xref),l=Pp.getFromId(t,n.yref);let X=Array.isArray(n.xref),te=Array.isArray(n.yref);for(var u in l4){var c=typeof l4[u]=="function",f=!X||l4.simpleXVariables.includes(u),h=!te||l4.simpleYVariables.includes(u);if(c&&f&&h){var v=l4[u](n,s,l);v!==void 0&&(o[u]=v)}}}i=Vot.texttemplateStringForShapes({data:[o],fallback:n.label.texttemplatefallback,locale:t._fullLayout._d3locale,template:n.label.texttemplate})}else i=n.label.text;var d={"data-index":r},m=n.label.font,x={"data-notex":1},g=a.append("g").attr(d).classed("shape-label",!0),E=g.append("text").attr(x).classed("shape-label-text",!0).text(i),M,w,k,y;if(n.path){var S=Hot(t,n),T=Got(S,t);M=1/0,k=1/0,w=-1/0,y=-1/0;for(var p=0;pcx.getDataToPixel(t,ze,le,!1,Xe)(Pe),ye=(Pe,le,ze,Xe)=>cx.getDataToPixel(t,ze,le,!0,Xe)(Pe);if(n.xsizemode==="pixel"){let Pe=he(n.xanchor,void 0,se,fe),le=cx.getPixelShift(se,n.x0shift),ze=cx.getPixelShift(se,n.x1shift);M=Pe+n.x0+le,w=Pe+n.x1+ze}else M=he(n.x0,n.x0shift,se,fe),w=he(n.x1,n.x1shift,ue,ce);if(n.ysizemode==="pixel"){let Pe=ye(n.yanchor,void 0,re,oe),le=cx.getPixelShift(re,n.y0shift),ze=cx.getPixelShift(re,n.y1shift);k=Pe-n.y0+le,y=Pe-n.y1+ze}else k=ye(n.y0,n.y0shift,re,oe),y=ye(n.y1,n.y1shift,j,we)}var q=n.label.textangle;q==="auto"&&(n.type==="line"?q=Wot(M,k,w,y):q=0),E.call(function(X){return X.call(eoe.font,m).attr({}),Qie.convertToTspans(X,t),X});var U=eoe.bBox(E.node()),O=Yot(M,k,w,y,n,q,U),R=O.textx,B=O.texty,Y=O.xanchor;E.attr({"text-anchor":{left:"start",center:"middle",right:"end"}[Y],y:B,x:R,transform:"rotate("+q+","+R+","+B+")"}).call(Qie.positionText,R,B)}};function Wot(e,t,r,n){var a,i;return i=Math.abs(r-e),r>=e?a=t-n:a=n-t,-180/Math.PI*Math.atan2(a,i)}function Yot(e,t,r,n,a,i,o){var s=a.label.textposition,l=a.label.textangle,u=a.label.padding,c=a.type,f=Math.PI/180*i,h=Math.sin(f),v=Math.cos(f),d=a.label.xanchor,m=a.label.yanchor,x,g,E,M;if(c==="line"){s==="start"?(x=e,g=t):s==="end"?(x=r,g=n):(x=(e+r)/2,g=(t+n)/2),d==="auto"&&(s==="start"?l==="auto"?r>e?d="left":re?d="right":re?d="right":re?d="left":r{"use strict";var Xot=Zt(),Zot=Xot.strTranslate,roe=od(),ioe=Cp(),$ot=ioe.drawMode,ooe=ioe.selectMode,soe=Fa(),noe=_a(),cE=nE(),Kot=cE.i000,Jot=cE.i090,Qot=cE.i180,est=cE.i270,tst=Gg(),loe=tst.clearOutlineControllers,KI=tm(),uE=KI.pointsOnRectangle,$I=KI.pointsOnEllipse,rst=KI.writePaths,nst=lE().newShapes,ast=lE().createShapeObj,ist=XI(),ost=ZI();uoe.exports=function e(t,r,n,a){a||(a=0);var i=n.gd;function o(){e(t,r,n,a++),($I(t[0])||n.hasText)&&s({redrawing:!0})}function s(O){var R={};n.isActiveShape!==void 0&&(n.isActiveShape=!1,R=nst(r,n)),n.isActiveSelection!==void 0&&(n.isActiveSelection=!1,R=ist(r,n),i._fullLayout._reselect=!0),Object.keys(R).length&&soe.call((O||{}).redrawing?"relayout":"_guiRelayout",i,R)}var l=i._fullLayout,u=l._zoomlayer,c=n.dragmode,f=$ot(c),h=ooe(c);(f||h)&&(i._fullLayout._outlining=!0),loe(i),r.attr("d",rst(t));var v,d,m,x,g;if(!a&&(n.isActiveShape||n.isActiveSelection)){g=sst([],t);var E=u.append("g").attr("class","outline-controllers");C(E),U()}if(f&&n.hasText){var M=u.select(".label-temp"),w=ast(r,n,n.dragmode);ost(i,"label-temp",w,M)}function k(O){m=+O.srcElement.getAttribute("data-i"),x=+O.srcElement.getAttribute("data-j"),v[m][x].moveFn=y}function y(O,R){if(t.length){var B=g[m][x][1],Y=g[m][x][2],X=t[m],te=X.length;if(uE(X)){var se=O,ue=R;if(n.isActiveSelection){var re=aoe(X,x);re[1]===X[x][1]?ue=0:se=0}for(var j=0;j1&&!(O.length===2&&O[1][0]==="Z")&&(x===0&&(O[0][0]="M"),t[m]=O,o(),s())}}function p(O,R){if(O===2){m=+R.srcElement.getAttribute("data-i"),x=+R.srcElement.getAttribute("data-j");var B=t[m];!uE(B)&&!$I(B)&&T()}}function C(O){v=[];for(var R=0;R{"use strict";var ust=Ea(),poe=Fa(),QI=Zt(),fx=ri(),cst=tm().readPaths,fst=fE(),dE=ZI(),goe=Gg().clearOutlineControllers,JI=_a(),vE=li(),hst=Bo().arrayEditor,coe=od(),foe=cu(),hoe=z0(),hx=s4(),jd=am(),ez=jd.getPathString;xoe.exports={draw:tz,drawOne:moe,eraseActiveShape:mst,drawLabel:dE};function tz(e){var t=e._fullLayout;t._shapeUpperLayer.selectAll("path").remove(),t._shapeLowerLayer.selectAll("path").remove(),t._shapeUpperLayer.selectAll("text").remove(),t._shapeLowerLayer.selectAll("text").remove();for(var r in t._plots){var n=t._plots[r].shapelayer;n&&(n.selectAll("path").remove(),n.selectAll("text").remove())}for(var a=0;a{if(!e._dragging&&e._fullLayout.hoveranywhere){let o=a(i);o&&foe.hover(e,o,r.id)}}),n.addEventListener("click",i=>{if(!e._dragged&&e._fullLayout.clickanywhere){let o=a(i);o&&foe.click(e,o,r.id)}})}function yoe(e,t,r){let n=r.xref,a=r.yref;if(Array.isArray(n)||Array.isArray(a)){let i="clip"+t._fullLayout._uid+"shape"+r._index,o=vst(t,n,a);QI.ensureSingleById(t._fullLayout._clips,"clipPath",i,function(s){s.append("rect")}).select("rect").attr(o),vE.setClipUrl(e,i,t)}else{let i=(n+a).replace(/paper/g,"").replace(/[xyz][0-9]* *domain/g,"");vE.setClipUrl(e,i?"clip"+t._fullLayout._uid+i:null,t)}}function vst(e,t,r){let n=e._fullLayout._size;function a(s,l){let u=(Array.isArray(s)?s:[s]).map(h=>fx.getFromId(e,h)).filter(Boolean);if(!u.length)return l?[n.t,n.t+n.h]:[n.l,n.l+n.w];let c=u.map(function(h){return h._offset}),f=u.map(function(h){return h._offset+h._length});return[Math.min(...c),Math.max(...f)]}let i=a(t,!1),o=a(r,!0);return{x:i[0],y:o[0],width:i[1]-i[0],height:o[1]-o[0]}}function pst(e,t,r,n,a,i){var o=10,s=10,l=r.xsizemode==="pixel",u=r.ysizemode==="pixel",c=r.type==="line",f=r.type==="path",h=i.modifyItem,v,d,m,x,g,E,M,w,k,y,S,T,p,C,A,P=ust.select(t.node().parentNode),D=fx.getFromId(e,r.xref),z=fx.getRefType(r.xref),q=fx.getFromId(e,r.yref),U=fx.getRefType(r.yref),O=r.x0shift,R=r.x1shift,B=r.y0shift,Y=r.y1shift,X=function(Oe,qe){var mt=jd.getDataToPixel(e,D,qe,!1,z);return mt(Oe)},te=function(Oe,qe){var mt=jd.getDataToPixel(e,q,qe,!0,U);return mt(Oe)},se=jd.getPixelToData(e,D,!1,z),ue=jd.getPixelToData(e,q,!0,U),re=ce(),j={element:re.node(),gd:e,prepFn:he,doneFn:ye,clickFn:Pe},fe;coe.init(j),re.node().onmousemove=we;function ce(){return c?oe():t}function oe(){var Oe=10,qe=Math.max(r.line.width,Oe),mt=a.append("g").attr("data-index",n).attr("drag-helper",!0);mt.append("path").attr("d",t.attr("d")).style({cursor:"move","stroke-width":qe,"stroke-opacity":"0"});var lt={"fill-opacity":"0"},Ie=Math.max(qe/2,Oe);return mt.append("circle").attr({"data-line-point":"start-point",cx:l?X(r.xanchor)+r.x0:X(r.x0,O),cy:u?te(r.yanchor)-r.y0:te(r.y0,B),r:Ie}).style(lt).classed("cursor-grab",!0),mt.append("circle").attr({"data-line-point":"end-point",cx:l?X(r.xanchor)+r.x1:X(r.x1,R),cy:u?te(r.yanchor)-r.y1:te(r.y1,Y),r:Ie}).style(lt).classed("cursor-grab",!0),mt}function we(Oe){if(hE(e)){fe=null;return}if(c)Oe.target.tagName==="path"?fe="move":fe=Oe.target.attributes["data-line-point"].value==="start-point"?"resize-over-start-point":"resize-over-end-point";else{var qe=j.element.getBoundingClientRect(),mt=qe.right-qe.left,lt=qe.bottom-qe.top,Ie=Oe.clientX-qe.left,de=Oe.clientY-qe.top,Ee=!f&&mt>o&<>s&&!Oe.shiftKey?coe.getCursor(Ie/mt,1-de/lt):"move";hoe(t,Ee),fe=Ee.split("-")[0]}}function he(Oe){hE(e)||(l&&(g=X(r.xanchor)),u&&(E=te(r.yanchor)),r.type==="path"?A=r.path:(v=l?r.x0:X(r.x0),d=u?r.y0:te(r.y0),m=l?r.x1:X(r.x1),x=u?r.y1:te(r.y1)),vx?(M=d,S="y0",w=x,T="y1"):(M=x,S="y1",w=d,T="y0"),we(Oe),Xe(a,r),st(t,r,e),j.moveFn=fe==="move"?le:ze,j.altKey=Oe.altKey)}function ye(){hE(e)||(hoe(t),vt(a),yoe(t,e,r),poe.call("_guiRelayout",e,i.getUpdateObj()))}function Pe(){hE(e)||vt(a)}function le(Oe,qe){if(r.type==="path"){var mt=function(de){return de},lt=mt,Ie=mt;l?h("xanchor",r.xanchor=se(g+Oe)):(lt=function(Ee){return se(X(Ee)+Oe)},D&&D.type==="date"&&(lt=jd.encodeDate(lt))),u?h("yanchor",r.yanchor=ue(E+qe)):(Ie=function(Ee){return ue(te(Ee)+qe)},q&&q.type==="date"&&(Ie=jd.encodeDate(Ie))),h("path",r.path=doe(A,lt,Ie))}else l?h("xanchor",r.xanchor=se(g+Oe)):(h("x0",r.x0=se(v+Oe)),h("x1",r.x1=se(m+Oe))),u?h("yanchor",r.yanchor=ue(E+qe)):(h("y0",r.y0=ue(d+qe)),h("y1",r.y1=ue(x+qe)));t.attr("d",ez(e,r)),Xe(a,r),dE(e,n,r,P)}function ze(Oe,qe){if(f){var mt=function(Wt){return Wt},lt=mt,Ie=mt;l?h("xanchor",r.xanchor=se(g+Oe)):(lt=function(_r){return se(X(_r)+Oe)},D&&D.type==="date"&&(lt=jd.encodeDate(lt))),u?h("yanchor",r.yanchor=ue(E+qe)):(Ie=function(_r){return ue(te(_r)+qe)},q&&q.type==="date"&&(Ie=jd.encodeDate(Ie))),h("path",r.path=doe(A,lt,Ie))}else if(c){if(fe==="resize-over-start-point"){var de=v+Oe,Ee=u?d-qe:d+qe;h("x0",r.x0=l?de:se(de)),h("y0",r.y0=u?Ee:ue(Ee))}else if(fe==="resize-over-end-point"){var Ue=m+Oe,ge=u?x-qe:x+qe;h("x1",r.x1=l?Ue:se(Ue)),h("y1",r.y1=u?ge:ue(ge))}}else{var Ge=function(Wt){return fe.indexOf(Wt)!==-1},tt=Ge("n"),ft=Ge("s"),He=Ge("w"),Qe=Ge("e"),We=tt?M+qe:M,pt=ft?w+qe:w,kt=He?k+Oe:k,qt=Qe?y+Oe:y;u&&(tt&&(We=M-qe),ft&&(pt=w-qe)),(!u&&pt-We>s||u&&We-pt>s)&&(h(S,r[S]=u?We:ue(We)),h(T,r[T]=u?pt:ue(pt))),qt-kt>o&&(h(p,r[p]=l?kt:se(kt)),h(C,r[C]=l?qt:se(qt)))}t.attr("d",ez(e,r)),Xe(a,r),dE(e,n,r,P)}function Xe(Oe,qe){(l||u)&&mt();function mt(){var lt=qe.type!=="path",Ie=Oe.selectAll(".visual-cue").data([0]),de=1;Ie.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":de}).classed("visual-cue",!0);var Ee=X(l?qe.xanchor:QI.midRange(lt?[qe.x0,qe.x1]:jd.extractPathCoords(qe.path,hx.paramIsX))),Ue=te(u?qe.yanchor:QI.midRange(lt?[qe.y0,qe.y1]:jd.extractPathCoords(qe.path,hx.paramIsY)));if(Ee=jd.roundPositionForSharpStrokeRendering(Ee,de),Ue=jd.roundPositionForSharpStrokeRendering(Ue,de),l&&u){var ge="M"+(Ee-1-de)+","+(Ue-1-de)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";Ie.attr("d",ge)}else if(l){var Ge="M"+(Ee-1-de)+","+(Ue-9-de)+"v18 h2 v-18 Z";Ie.attr("d",Ge)}else{var tt="M"+(Ee-9-de)+","+(Ue-1-de)+"h18 v2 h-18 Z";Ie.attr("d",tt)}}}function vt(Oe){Oe.selectAll(".visual-cue").remove()}function st(Oe,qe,mt){var lt=qe.xref,Ie=qe.yref,de=fx.getFromId(mt,lt),Ee=fx.getFromId(mt,Ie),Ue="";lt!=="paper"&&!de.autorange&&(Ue+=lt),Ie!=="paper"&&!Ee.autorange&&(Ue+=Ie),vE.setClipUrl(Oe,Ue?"clip"+mt._fullLayout._uid+Ue:null,mt)}}function doe(e,t,r){return e.replace(hx.segmentRE,function(n){var a=0,i=n.charAt(0),o=hx.paramIsX[i],s=hx.paramIsY[i],l=hx.numParams[i],u=n.slice(1).replace(hx.paramRE,function(c){return a>=l||(o[a]?c=t(c):s[a]&&(c=r(c)),a++),c});return i+u})}function gst(e,t){if(pE(e)){var r=t.node(),n=+r.getAttribute("data-index");if(n>=0){if(n===e._fullLayout._activeShapeIndex){voe(e);return}e._fullLayout._activeShapeIndex=n,e._fullLayout._deactivateShape=voe,tz(e)}}}function voe(e){if(pE(e)){var t=e._fullLayout._activeShapeIndex;t>=0&&(goe(e),delete e._fullLayout._activeShapeIndex,tz(e))}}function mst(e){if(pE(e)){goe(e);var t=e._fullLayout._activeShapeIndex,r=(e.layout||{}).shapes||[];if(t{"use strict";var boe=Ea(),mE=Zt()._;_oe.exports=function(t,r,n){var a=boe.select(t._fullLayout._paperdiv.node());a.selectAll(".plotly-cloud-dialog").remove();var i=a.append("div").classed("plotly-cloud-dialog",!0),o=i.append("div").classed("plotly-cloud-dialog-box",!0);o.append("div").classed("plotly-cloud-dialog-title",!0).text(mE(t,"Share with Plotly Cloud"));var s=new URL(r).hostname,l=o.append("div");l.classed("plotly-cloud-dialog-message",!0),l.append("span").text(mE(t,"This chart and its data will be sent to ")),l.append("span").text(s).classed("plotly-cloud-dialog-message--hostname",!0),l.append("span").text(". ");var u=o.append("div").classed("plotly-cloud-dialog-buttons",!0);function c(){i.remove(),document.removeEventListener("keydown",f)}function f(h){(h.key==="Escape"||h.keyCode===27)&&c()}document.addEventListener("keydown",f),i.on("click",function(){boe.event.target===i.node()&&c()}),u.append("button").classed("plotly-cloud-dialog-btn",!0).classed("plotly-cloud-dialog-btn--cancel",!0).text(mE(t,"Cancel")).on("click",c),u.append("button").classed("plotly-cloud-dialog-btn",!0).classed("plotly-cloud-dialog-btn--confirm",!0).text(mE(t,"Share")).on("click",function(){c(),n()})}});var az=ne((Etr,Coe)=>{"use strict";var Uv=Fa(),yst=Sl(),Aoe=uu(),hs=tE(),xst=gE().eraseActiveShape,bst=woe(),yE=Zt(),Vo=yE._,ds=Coe.exports={};ds.toImage={name:"toImage",title:function(e){var t=e._context.toImageButtonOptions||{},r=t.format||"png";return r==="png"?Vo(e,"Download plot as a PNG"):Vo(e,"Download plot")},icon:hs.camera,click:function(e){var t=e._context.toImageButtonOptions,r={format:t.format||"png"};yE.notifier(Vo(e,"Preparing image - this may take a few seconds"),"long",e),["filename","width","height","scale"].forEach(function(n){n in t&&(r[n]=t[n])}),Uv.call("downloadImage",e,r).then(function(n){yE.notifier(Vo(e,"Image download succeeded")+" - "+n,"long",e)}).catch(function(){yE.notifier(Vo(e,"Sorry, there was a problem downloading your image!"),"long",e)})}};ds.sendChartToCloud={name:"sendChartToCloud",title:function(e){return Vo(e,"Share Chart")},icon:hs.cloudupload,click:function(e){var t=(window.PLOTLYENV||{}).BASE_URL||e._context.plotlyServerURL;if(!t){console.error("No destination URL provided (plotlyServerURL is not set)");return}try{new URL(t)}catch(r){console.error("Invalid plotlyServerURL: "+t);return}bst(e,t,function(){yst.sendDataToCloud(e,t)})}};ds.zoom2d={name:"zoom2d",_cat:"zoom",title:function(e){return Vo(e,"Zoom")},attr:"dragmode",val:"zoom",icon:hs.zoombox,click:ld};ds.pan2d={name:"pan2d",_cat:"pan",title:function(e){return Vo(e,"Pan")},attr:"dragmode",val:"pan",icon:hs.pan,click:ld};ds.select2d={name:"select2d",_cat:"select",title:function(e){return Vo(e,"Box Select")},attr:"dragmode",val:"select",icon:hs.selectbox,click:ld};ds.lasso2d={name:"lasso2d",_cat:"lasso",title:function(e){return Vo(e,"Lasso Select")},attr:"dragmode",val:"lasso",icon:hs.lasso,click:ld};ds.drawclosedpath={name:"drawclosedpath",title:function(e){return Vo(e,"Draw closed freeform")},attr:"dragmode",val:"drawclosedpath",icon:hs.drawclosedpath,click:ld};ds.drawopenpath={name:"drawopenpath",title:function(e){return Vo(e,"Draw open freeform")},attr:"dragmode",val:"drawopenpath",icon:hs.drawopenpath,click:ld};ds.drawline={name:"drawline",title:function(e){return Vo(e,"Draw line")},attr:"dragmode",val:"drawline",icon:hs.drawline,click:ld};ds.drawrect={name:"drawrect",title:function(e){return Vo(e,"Draw rectangle")},attr:"dragmode",val:"drawrect",icon:hs.drawrect,click:ld};ds.drawcircle={name:"drawcircle",title:function(e){return Vo(e,"Draw circle")},attr:"dragmode",val:"drawcircle",icon:hs.drawcircle,click:ld};ds.eraseshape={name:"eraseshape",title:function(e){return Vo(e,"Erase active shape")},icon:hs.eraseshape,click:xst};ds.zoomIn2d={name:"zoomIn2d",_cat:"zoomin",title:function(e){return Vo(e,"Zoom in")},attr:"zoom",val:"in",icon:hs.zoom_plus,click:ld};ds.zoomOut2d={name:"zoomOut2d",_cat:"zoomout",title:function(e){return Vo(e,"Zoom out")},attr:"zoom",val:"out",icon:hs.zoom_minus,click:ld};ds.autoScale2d={name:"autoScale2d",_cat:"autoscale",title:function(e){return Vo(e,"Autoscale")},attr:"zoom",val:"auto",icon:hs.autoscale,click:ld};ds.resetScale2d={name:"resetScale2d",_cat:"resetscale",title:function(e){return Vo(e,"Reset axes")},attr:"zoom",val:"reset",icon:hs.home,click:ld};ds.hoverClosestCartesian={name:"hoverClosestCartesian",_cat:"hoverclosest",title:function(e){return Vo(e,"Show closest data on hover")},attr:"hovermode",val:"closest",icon:hs.tooltip_basic,gravity:"ne",click:ld};ds.hoverCompareCartesian={name:"hoverCompareCartesian",_cat:"hoverCompare",title:function(e){return Vo(e,"Compare data on hover")},attr:"hovermode",val:function(e){return e._fullLayout._isHoriz?"y":"x"},icon:hs.tooltip_compare,gravity:"ne",click:ld};function ld(e,t){var r=t.currentTarget,n=r.getAttribute("data-attr"),a=r.getAttribute("data-val")||!0,i=e._fullLayout,o={},s=Aoe.list(e,null,!0),l=i._cartesianSpikesEnabled,u,c;if(n==="zoom"){var f=a==="in"?.5:2,h=(1+f)/2,v=(1-f)/2,d,m;for(c=0;c-y),[m,x]=f.invert(c.midPt),{minscale:g}=u.projection,E=(s=u.projection.maxscale)!=null?s:1/0,M=Math.min(g,E),w=Math.max(g,E),k=a==="in"?Toe*h:1/Toe*h;k>w?k=w:k{"use strict";var Loe=az(),Ast=Object.keys(Loe),Foe=["drawline","drawopenpath","drawclosedpath","drawcircle","drawrect","eraseshape"],Poe=["v1hovermode","hoverclosest","hovercompare","togglehover","togglespikelines"].concat(Foe),o_=[],Mst=function(e){if(Poe.indexOf(e._cat||e.name)===-1){var t=e.name,r=(e._cat||e.name).toLowerCase();o_.indexOf(t)===-1&&o_.push(t),o_.indexOf(r)===-1&&o_.push(r)}};Ast.forEach(function(e){Mst(Loe[e])});o_.sort();Doe.exports={DRAW_MODES:Foe,backButtons:Poe,foreButtons:o_}});var sz={};E0(sz,{default:()=>Est});var oz,Sst,Est,lz=lo(()=>{"use strict";oz=yp(iz()),Sst={editType:"modebar",orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar",description:"Sets the orientation of the modebar."},bgcolor:{valType:"color",editType:"modebar",description:"Sets the background color of the modebar."},color:{valType:"color",editType:"modebar",description:"Sets the color of the icons in the modebar."},activecolor:{valType:"color",editType:"modebar",description:"Sets the color of the active or hovered on icons in the modebar."},uirevision:{valType:"any",editType:"none",description:["Controls persistence of user-driven changes related to the modebar,","including `hovermode`, `dragmode`, and `showspikes` at both the","root level and inside subplots. Defaults to `layout.uirevision`."].join(" ")},add:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar",description:["Determines which predefined modebar buttons to add.","Please note that these buttons will only be shown if they are","compatible with all trace types used in a graph.","Similar to `config.modeBarButtonsToAdd` option.",`This may include *${oz.default.backButtons.join("*, *")}*.`].join(" ")},remove:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar",description:["Determines which predefined modebar buttons to remove.","Similar to `config.modeBarButtonsToRemove` option.",`This may include *${oz.default.foreButtons.join("*, *")}*.`].join(" ")}},Est=Sst});var Ioe=ne((Ctr,Roe)=>{"use strict";var kst=Zt(),u4=_a(),Cst=Bo(),Lst=(lz(),vl(sz)).default;Roe.exports=function(t,r){var n=t.modebar||{},a=Cst.newContainer(r,"modebar");function i(s,l){return kst.coerce(n,a,Lst,s,l)}i("orientation"),i("bgcolor",u4.addOpacity(r.paper_bgcolor,.5));var o=u4.contrast(u4.rgb(r.modebar.bgcolor));i("color",u4.addOpacity(o,.3)),i("activecolor",u4.addOpacity(o,.7)),i("uirevision",r.uirevision),i("add"),i("remove")}});var Ooe=ne((Ltr,Boe)=>{"use strict";var uz=Ea(),Fst=mi(),_E=Zt(),zoe=tE(),Pst=g5().version,Dst=new DOMParser;function qoe(e){this.container=e.container,this.element=document.createElement("div"),this.update(e.graphInfo,e.buttons),this.container.appendChild(this.element)}var Dp=qoe.prototype;Dp.update=function(e,t){this.graphInfo=e;var r=this.graphInfo._context,n=this.graphInfo._fullLayout,a="modebar-"+n._uid;this.element.setAttribute("id",a),this.element.setAttribute("role","toolbar"),this._uid=a,this.element.className="modebar modebar--custom",r.displayModeBar==="hover"&&(this.element.className+=" modebar--hover ease-bg"),n.modebar.orientation==="v"&&(this.element.className+=" vertical",t=t.reverse());var i=n.modebar,o="#"+a+" .modebar-group";document.querySelectorAll(o).forEach(function(f){f.style.backgroundColor=i.bgcolor});var s=!this.hasButtons(t),l=this.hasLogo!==r.displaylogo,u=this.locale!==r.locale;if(this.locale=r.locale,(s||l||u)&&(this.removeAllButtons(),this.updateButtons(t),r.watermark||r.displaylogo)){var c=this.getLogo();r.watermark&&(c.className=c.className+" watermark"),n.modebar.orientation==="v"?this.element.insertBefore(c,this.element.childNodes[0]):this.element.appendChild(c),this.hasLogo=!0}this.updateActiveButton(),_E.setStyleOnHover("#"+a+" .modebar-btn",".active",".icon path","fill: "+i.activecolor,"fill: "+i.color,this.element)};Dp.updateButtons=function(e){var t=this;this.buttons=e,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach(function(r){var n=t.createGroup();r.forEach(function(a){var i=a.name;if(!i)throw new Error("must provide button 'name' in button config");if(t.buttonsNames.indexOf(i)!==-1)throw new Error("button name '"+i+"' is taken");t.buttonsNames.push(i);var o=t.createButton(a);t.buttonElements.push(o),n.appendChild(o)}),t.element.appendChild(n)})};Dp.createGroup=function(){var e=document.createElement("div");e.className="modebar-group";var t=this.graphInfo._fullLayout.modebar;return e.style.backgroundColor=t.bgcolor,e};Dp.createButton=function(e){var t=this,r=document.createElement("button");r.setAttribute("type","button"),r.setAttribute("rel","tooltip"),r.className="modebar-btn";var n=e.title;n===void 0?n=e.name:typeof n=="function"&&(n=n(this.graphInfo)),(n||n===0)&&(r.setAttribute("data-title",n),r.setAttribute("aria-label",n)),e.attr!==void 0&&r.setAttribute("data-attr",e.attr);var a=e.val;a!==void 0&&(typeof a=="function"&&(a=a(this.graphInfo)),r.setAttribute("data-val",a));var i=e.click;if(typeof i!="function")throw new Error("must provide button 'click' function in button config");r.addEventListener("click",function(s){e.click(t.graphInfo,s),t.updateActiveButton(s.currentTarget)}),r.setAttribute("data-toggle",e.toggle||!1),e.toggle&&uz.select(r).classed("active",!0);var o=e.icon;return typeof o=="function"?r.appendChild(o()):r.appendChild(this.createIcon(o||zoe.question)),r.setAttribute("data-gravity",e.gravity||"n"),r};Dp.createIcon=function(e){var t=Fst(e.height)?Number(e.height):e.ascent-e.descent,r="http://www.w3.org/2000/svg",n;if(e.path){n=document.createElementNS(r,"svg"),n.setAttribute("viewBox",[0,0,e.width,t].join(" ")),n.setAttribute("class","icon");var a=document.createElementNS(r,"path");a.setAttribute("d",e.path),e.transform?a.setAttribute("transform",e.transform):e.ascent!==void 0&&a.setAttribute("transform","matrix(1 0 0 -1 0 "+e.ascent+")"),n.appendChild(a)}if(e.svg){var i=Dst.parseFromString(e.svg,"application/xml");n=i.childNodes[0]}return n.setAttribute("height","1em"),n.setAttribute("width","1em"),n};Dp.updateActiveButton=function(e){var t=this.graphInfo._fullLayout,r=e!==void 0?e.getAttribute("data-attr"):null;this.buttonElements.forEach(function(n){var a=n.getAttribute("data-val")||!0,i=n.getAttribute("data-attr"),o=n.getAttribute("data-toggle")==="true",s=uz.select(n),l=function(f,h){var v=t.modebar,d=f.querySelector(".icon path");d&&(h||f.matches(":hover")?d.style.fill=v.activecolor:d.style.fill=v.color)};if(o){if(i===r){var u=!s.classed("active");s.classed("active",u),l(n,u)}}else{var c=i===null?i:_E.nestedProperty(t,i).get();s.classed("active",c===a),l(n,c===a)}})};Dp.hasButtons=function(e){var t=this.buttons;if(!t||e.length!==t.length)return!1;for(var r=0;r{"use strict";var zst=uu(),Noe=ml(),cz=Fa(),qst=Hd().isUnifiedHover,Bst=Ooe(),wE=az(),Ost=iz().DRAW_MODES,Nst=Zt().extendDeep;Uoe.exports=function(t){var r=t._fullLayout,n=t._context,a=r._modeBar;if(!n.displayModeBar&&!n.watermark){a&&(a.destroy(),delete r._modeBar);return}if(!Array.isArray(n.modeBarButtonsToRemove))throw new Error(["*modeBarButtonsToRemove* configuration options","must be an array."].join(" "));if(!Array.isArray(n.modeBarButtonsToAdd))throw new Error(["*modeBarButtonsToAdd* configuration options","must be an array."].join(" "));var i=n.modeBarButtons,o;Array.isArray(i)&&i.length?o=Wst(i):!n.displayModeBar&&n.watermark?o=[]:o=Ust(t),a?a.update(t,o):r._modeBar=Bst(t,o)};function Ust(e){var t=e._fullLayout,r=e._fullData,n=e._context;function a(O,R){if(typeof R=="string"){if(R.toLowerCase()===O.toLowerCase())return!0}else{var B=R.name,Y=R._cat||R.name;if(B===O||Y===O.toLowerCase())return!0}return!1}var i=t.modebar.add;typeof i=="string"&&(i=[i]);var o=t.modebar.remove;typeof o=="string"&&(o=[o]);var s=n.modeBarButtonsToAdd.concat(i.filter(function(O){for(var R=0;R1?(p=["toggleHover"],C=["resetViews"]):f?(T=["zoomInGeo","zoomOutGeo"],p=["hoverClosestGeo"],C=["resetGeo"]):c?(p=["hoverClosest3d"],C=["resetCameraDefault3d","resetCameraLastSave3d"]):m?(T=["zoomInMap","zoomOutMap"],p=["toggleHover"],C=["resetViewMap"]):h?p=["hoverClosestPie"]:E?(p=["hoverClosestCartesian","hoverCompareCartesian"],C=["resetViewSankey"]):p=["toggleHover"],u&&p.push("toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"),(Hst(r)||w)&&(p=[]),u&&!M&&(T=["zoomIn2d","zoomOut2d","autoScale2d"],C[0]!=="resetViews"&&(C=["resetScale2d"])),c?A=["zoom3d","pan3d","orbitRotation","tableRotation"]:u&&!M||d?A=["zoom2d","pan2d"]:m||f?A=["pan2d"]:x&&(A=["zoom2d"]),Gst(r)&&A.push("select2d","lasso2d");var P=[],D=function(O){P.indexOf(O)===-1&&p.indexOf(O)!==-1&&P.push(O)};if(Array.isArray(s)){for(var z=[],q=0;q{"use strict";Goe.exports={moduleType:"component",name:"modebar",layoutAttributes:(lz(),vl(sz)).default,supplyLayoutDefaults:Ioe(),manage:Voe()}});var hz=ne((Dtr,Hoe)=>{"use strict";var Yst=qc().FROM_BL;Hoe.exports=function(t,r,n){n===void 0&&(n=Yst[t.constraintoward||"center"]);var a=[t.r2l(t.range[0]),t.r2l(t.range[1])],i=a[0]+(a[1]-a[0])*n;t.range=t._input.range=[t.l2r(i+(a[0]-i)*r),t.l2r(i+(a[1]-i)*r)],t.setScale()}});var vx=ne(c4=>{"use strict";var dx=Zt(),dz=I0(),B0=uu().id2name,Xst=Wf(),joe=hz(),Zst=Tp(),$st=uo().ALMOST_EQUAL,Kst=qc().FROM_BL;c4.handleDefaults=function(e,t,r){var n=r.axIds,a=r.axHasImage,i=t._axisConstraintGroups=[],o=t._axisMatchGroups=[],s,l,u,c,f,h,v,d;for(s=0;si?r.slice(i):n.slice(a))+o}function Qst(e,t){for(var r=t._size,n=r.h/r.w,a={},i=Object.keys(e),o=0;o$st*d&&!E)){for(i=0;iP&&YC&&(C=Y);var te=(C-p)/(2*A);f/=te,p=l.l2r(p),C=l.l2r(C),l.range=l._input.range=y{"use strict";var AE=Ea(),ud=Fa(),gv=Sl(),Vv=Zt(),gz=Ms(),mz=i4(),f4=_a(),s_=li(),Zoe=Qy(),ese=fz(),h4=ri(),R1=qc(),tse=vx(),elt=tse.enforce,tlt=tse.clean,$oe=I0().doAutoRange,rse="start",rlt="middle",nse="end",nlt=zc().zindexSeparator;wf.layoutStyles=function(e){return Vv.syncOrAsync([gv.doAutoMargin,ilt],e)};function alt(e,t,r){for(var n=0;n=e[1]||a[1]<=e[0])&&i[0]t[0])return!0}return!1}function ilt(e){var t=e._fullLayout,r=t._size,n=r.p,a=h4.list(e,"",!0),i,o,s,l,u,c;if(t._paperdiv.style({width:e._context.responsive&&t.autosize&&!e._context._hasZeroWidth&&!e.layout.width?"100%":t.width+"px",height:e._context.responsive&&t.autosize&&!e._context._hasZeroHeight&&!e.layout.height?"100%":t.height+"px"}).selectAll(".main-svg").call(s_.setSize,t.width,t.height),e._context.setBackground(e,t.paper_bgcolor),wf.drawMainTitle(e),ese.manage(e),!t._has("cartesian"))return gv.previousPromises(e);function f(he,ye,Pe){var le=he._lw/2;if(he._id.charAt(0)==="x"){if(ye){if(Pe==="top")return ye._offset-n-le}else return r.t+r.h*(1-(he.position||0))+le%1;return ye._offset+ye._length+n+le}if(ye){if(Pe==="right")return ye._offset+ye._length+n+le}else return r.l+r.w*(he.position||0)+le%1;return ye._offset-n-le}for(i=0;i0){ult(e,i,u,l),s.attr({x:o,y:i,"text-anchor":n,dy:Qoe(t.yanchor)}).call(gz.positionText,o,i);var c=(t.text.match(gz.BR_TAG_ALL)||[]).length;if(c){var f=R1.LINE_SPACING*c+R1.MID_SHIFT;t.y===0&&(f=-f),s.selectAll(".line").each(function(){var x=+this.getAttribute("dy").slice(0,-2)-f+"em";this.setAttribute("dy",x)})}var h=AE.select(e).selectAll(".gtitle-subtitle");if(h.node()){var v=s.node().getBBox(),d=v.y+v.height,m=d+Zoe.SUBTITLE_PADDING_EM*t.subtitle.font.size;h.attr({x:o,y:m,"text-anchor":n,dy:Qoe(t.yanchor)}).call(gz.positionText,o,m)}}}};function olt(e,t,r,n,a){var i=t.yref==="paper"?e._fullLayout._size.h:e._fullLayout.height,o=Vv.isTopAnchor(t)?n:n-a,s=r==="b"?i-o:o;return Vv.isTopAnchor(t)&&r==="t"||Vv.isBottomAnchor(t)&&r==="b"?!1:s.5?"t":"b",o=e._fullLayout.margin[i],s=0;return t.yref==="paper"?s=r+t.pad.t+t.pad.b:t.yref==="container"&&(s=slt(i,n,a,e._fullLayout.height,r)+t.pad.t+t.pad.b),s>o?s:0}function ult(e,t,r,n){var a="title.automargin",i=e._fullLayout.title,o=i.y>.5?"t":"b",s={x:i.x,y:i.y,t:0,b:0},l={};i.yref==="paper"&&olt(e,i,o,t,n)?s[o]=r:i.yref==="container"&&(l[o]=r,e._fullLayout._reservedMargin[a]=l),gv.allowAutoMargin(e,a),gv.autoMargin(e,a,s)}function clt(e,t){var r=e.title,n=e._size,a=0;return t===rse?a=r.pad.l:t===nse&&(a=-r.pad.r),r.xref==="paper"?n.l+n.w*r.x+a:e.width*r.x+a}function flt(e,t){var r=e.title,n=e._size,a=0;return t==="0em"||!t?a=-r.pad.b:t===R1.CAP_SHIFT+"em"&&(a=r.pad.t),r.y==="auto"?n.t/2:r.yref==="paper"?n.t+n.h-n.h*r.y+a:e.height-e.height*r.y+a}function Qoe(e){return e==="top"?R1.CAP_SHIFT+.3+"em":e==="bottom"?"-0.3em":R1.MID_SHIFT+"em"}function hlt(e){var t=e.title,r=rlt;return Vv.isRightAnchor(t)?r=nse:Vv.isLeftAnchor(t)&&(r=rse),r}function dlt(e){var t=e.title,r="0em";return Vv.isTopAnchor(t)?r=R1.CAP_SHIFT+"em":Vv.isMiddleAnchor(t)&&(r=R1.MID_SHIFT+"em"),r}wf.doTraceStyle=function(e){var t=e.calcdata,r=[],n;for(n=0;n{"use strict";var vlt=tm().readPaths,plt=fE(),ase=Gg().clearOutlineControllers,yz=_a(),ise=li(),glt=Bo().arrayEditor,ose=am(),mlt=ose.getPathString;lse.exports={draw:ME,drawOne:sse,activateLastSelection:blt};function ME(e){var t=e._fullLayout;ase(e),t._selectionLayer.selectAll("path").remove();for(var r in t._plots){var n=t._plots[r].selectionLayer;n&&n.selectAll("path").remove()}for(var a=0;a=0;x--){var g=o.append("path").attr(l).style("opacity",x?.1:u).call(yz.stroke,f).call(yz.fill,c).call(ise.dashLine,x?"solid":v,x?4+h:h);if(ylt(g,e,n),d){var E=glt(e.layout,"selections",n);g.style({cursor:"move"});var M={element:g.node(),plotinfo:a,gd:e,editHelpers:E,isActiveSelection:!0},w=vlt(s,e);plt(w,g,M)}else g.style("pointer-events",x?"all":"none");m[x]=g}var k=m[0],y=m[1];y.node().addEventListener("click",function(){return xlt(e,k)})}}function ylt(e,t,r){var n=r.xref+r.yref;ise.setClipUrl(e,"clip"+t._fullLayout._uid+n,t)}function xlt(e,t){if(SE(e)){var r=t.node(),n=+r.getAttribute("data-index");if(n>=0){if(n===e._fullLayout._activeSelectionIndex){xz(e);return}e._fullLayout._activeSelectionIndex=n,e._fullLayout._deactivateSelection=xz,ME(e)}}}function blt(e){if(SE(e)){var t=e._fullLayout.selections.length-1;e._fullLayout._activeSelectionIndex=t,e._fullLayout._deactivateSelection=xz,ME(e)}}function xz(e){if(SE(e)){var t=e._fullLayout._activeSelectionIndex;t>=0&&(ase(e),delete e._fullLayout._activeSelectionIndex,ME(e))}}});var cse=ne((qtr,use)=>{function _lt(){var e,t=0,r=!1;function n(a,i){return e.list.push({type:a,data:i?JSON.parse(JSON.stringify(i)):void 0}),e}return e={list:[],segmentId:function(){return t++},checkIntersection:function(a,i){return n("check",{seg1:a,seg2:i})},segmentChop:function(a,i){return n("div_seg",{seg:a,pt:i}),n("chop",{seg:a,pt:i})},statusRemove:function(a){return n("pop_seg",{seg:a})},segmentUpdate:function(a){return n("seg_update",{seg:a})},segmentNew:function(a,i){return n("new_seg",{seg:a,primary:i})},segmentRemove:function(a){return n("rem_seg",{seg:a})},tempStatus:function(a,i,o){return n("temp_status",{seg:a,above:i,below:o})},rewind:function(a){return n("rewind",{seg:a})},status:function(a,i,o){return n("status",{seg:a,above:i,below:o})},vert:function(a){return a===r?e:(r=a,n("vert",{x:a}))},log:function(a){return typeof a!="string"&&(a=JSON.stringify(a,!1," ")),n("log",{txt:a})},reset:function(){return n("reset")},selected:function(a){return n("selected",{segs:a})},chainStart:function(a){return n("chain_start",{seg:a})},chainRemoveHead:function(a,i){return n("chain_rem_head",{index:a,pt:i})},chainRemoveTail:function(a,i){return n("chain_rem_tail",{index:a,pt:i})},chainNew:function(a,i){return n("chain_new",{pt1:a,pt2:i})},chainMatch:function(a){return n("chain_match",{index:a})},chainClose:function(a){return n("chain_close",{index:a})},chainAddHead:function(a,i){return n("chain_add_head",{index:a,pt:i})},chainAddTail:function(a,i){return n("chain_add_tail",{index:a,pt:i})},chainConnect:function(a,i){return n("chain_con",{index1:a,index2:i})},chainReverse:function(a){return n("chain_rev",{index:a})},chainJoin:function(a,i){return n("chain_join",{index1:a,index2:i})},done:function(){return n("done")}},e}use.exports=_lt});var hse=ne((Btr,fse)=>{function wlt(e){typeof e!="number"&&(e=1e-10);var t={epsilon:function(r){return typeof r=="number"&&(e=r),e},pointAboveOrOnLine:function(r,n,a){var i=n[0],o=n[1],s=a[0],l=a[1],u=r[0],c=r[1];return(s-i)*(c-o)-(l-o)*(u-i)>=-e},pointBetween:function(r,n,a){var i=r[1]-n[1],o=a[0]-n[0],s=r[0]-n[0],l=a[1]-n[1],u=s*o+i*l;if(u-e)},pointsSameX:function(r,n){return Math.abs(r[0]-n[0])e!=s-i>e&&(o-c)*(i-f)/(s-f)+c-a>e&&(l=!l),o=c,s=f}return l}};return t}fse.exports=wlt});var vse=ne((Otr,dse)=>{var Tlt={create:function(){var e={root:{root:!0,next:null},exists:function(t){return!(t===null||t===e.root)},isEmpty:function(){return e.root.next===null},getHead:function(){return e.root.next},insertBefore:function(t,r){for(var n=e.root,a=e.root.next;a!==null;){if(r(a)){t.prev=a.prev,t.next=a,a.prev.next=t,a.prev=t;return}n=a,a=a.next}n.next=t,t.prev=n,t.next=null},findTransition:function(t){for(var r=e.root,n=e.root.next;n!==null&&!t(n);)r=n,n=n.next;return{before:r===e.root?null:r,after:n,insert:function(a){return a.prev=r,a.next=n,r.next=a,n!==null&&(n.prev=a),a}}}};return e},node:function(e){return e.prev=null,e.next=null,e.remove=function(){e.prev.next=e.next,e.next&&(e.next.prev=e.prev),e.prev=null,e.next=null},e}};dse.exports=Tlt});var gse=ne((Ntr,pse)=>{var v4=vse();function Alt(e,t,r){function n(d,m){return{id:r?r.segmentId():-1,start:d,end:m,myFill:{above:null,below:null},otherFill:null}}function a(d,m,x){return{id:r?r.segmentId():-1,start:d,end:m,myFill:{above:x.myFill.above,below:x.myFill.below},otherFill:null}}var i=v4.create();function o(d,m,x,g,E,M){var w=t.pointsCompare(m,E);return w!==0?w:t.pointsSame(x,M)?0:d!==g?d?1:-1:t.pointAboveOrOnLine(x,g?E:M,g?M:E)?1:-1}function s(d,m){i.insertBefore(d,function(x){var g=o(d.isStart,d.pt,m,x.isStart,x.pt,x.other.pt);return g<0})}function l(d,m){var x=v4.node({isStart:!0,pt:d.start,seg:d,primary:m,other:null,status:null});return s(x,d.end),x}function u(d,m,x){var g=v4.node({isStart:!1,pt:m.end,seg:m,primary:x,other:d,status:null});d.other=g,s(g,d.pt)}function c(d,m){var x=l(d,m);return u(x,d,m),x}function f(d,m){r&&r.segmentChop(d.seg,m),d.other.remove(),d.seg.end=m,d.other.pt=m,s(d.other,d.pt)}function h(d,m){var x=a(m,d.seg.end,d.seg);return f(d,m),c(x,d.primary)}function v(d,m){var x=v4.create();function g(q,U){var O=q.seg.start,R=q.seg.end,B=U.seg.start,Y=U.seg.end;return t.pointsCollinear(O,B,Y)?t.pointsCollinear(R,B,Y)||t.pointAboveOrOnLine(R,B,Y)?1:-1:t.pointAboveOrOnLine(O,B,Y)?1:-1}function E(q){return x.findTransition(function(U){var O=g(q,U.ev);return O>0})}function M(q,U){var O=q.seg,R=U.seg,B=O.start,Y=O.end,X=R.start,te=R.end;r&&r.checkIntersection(O,R);var se=t.linesIntersect(B,Y,X,te);if(se===!1){if(!t.pointsCollinear(B,Y,X)||t.pointsSame(B,te)||t.pointsSame(Y,X))return!1;var ue=t.pointsSame(B,X),re=t.pointsSame(Y,te);if(ue&&re)return U;var j=!ue&&t.pointBetween(B,X,te),fe=!re&&t.pointBetween(Y,X,te);if(ue)return fe?h(U,Y):h(q,te),U;j&&(re||(fe?h(U,Y):h(q,te)),h(U,B))}else se.alongA===0&&(se.alongB===-1?h(q,X):se.alongB===0?h(q,se.pt):se.alongB===1&&h(q,te)),se.alongB===0&&(se.alongA===-1?h(U,B):se.alongA===0?h(U,se.pt):se.alongA===1&&h(U,Y));return!1}for(var w=[];!i.isEmpty();){var k=i.getHead();if(r&&r.vert(k.pt[0]),k.isStart){let q=function(){if(S){var U=M(k,S);if(U)return U}return T?M(k,T):!1};var z=q;r&&r.segmentNew(k.seg,k.primary);var y=E(k),S=y.before?y.before.ev:null,T=y.after?y.after.ev:null;r&&r.tempStatus(k.seg,S?S.seg:!1,T?T.seg:!1);var p=q();if(p){if(e){var C;k.seg.myFill.below===null?C=!0:C=k.seg.myFill.above!==k.seg.myFill.below,C&&(p.seg.myFill.above=!p.seg.myFill.above)}else p.seg.otherFill=k.seg.myFill;r&&r.segmentUpdate(p.seg),k.other.remove(),k.remove()}if(i.getHead()!==k){r&&r.rewind(k.seg);continue}if(e){var C;k.seg.myFill.below===null?C=!0:C=k.seg.myFill.above!==k.seg.myFill.below,T?k.seg.myFill.below=T.seg.myFill.above:k.seg.myFill.below=d,C?k.seg.myFill.above=!k.seg.myFill.below:k.seg.myFill.above=k.seg.myFill.below}else if(k.seg.otherFill===null){var A;T?k.primary===T.primary?A=T.seg.otherFill.above:A=T.seg.myFill.above:A=k.primary?m:d,k.seg.otherFill={above:A,below:A}}r&&r.status(k.seg,S?S.seg:!1,T?T.seg:!1),k.other.status=y.insert(v4.node({ev:k}))}else{var P=k.status;if(P===null)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(x.exists(P.prev)&&x.exists(P.next)&&M(P.prev.ev,P.next.ev),r&&r.statusRemove(P.ev.seg),P.remove(),!k.primary){var D=k.seg.myFill;k.seg.myFill=k.seg.otherFill,k.seg.otherFill=D}w.push(k.seg)}i.getHead().remove()}return r&&r.done(),w}return e?{addRegion:function(d){for(var m,x=d[d.length-1],g=0;g{function Mlt(e,t,r){var n=[],a=[];return e.forEach(function(i){var o=i.start,s=i.end;if(t.pointsSame(o,s)){console.warn("PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large");return}r&&r.chainStart(i);var l={index:0,matches_head:!1,matches_pt1:!1},u={index:0,matches_head:!1,matches_pt1:!1},c=l;function f(z,q,U){return c.index=z,c.matches_head=q,c.matches_pt1=U,c===l?(c=u,!1):(c=null,!0)}for(var h=0;h{function p4(e,t,r){var n=[];return e.forEach(function(a){var i=(a.myFill.above?8:0)+(a.myFill.below?4:0)+(a.otherFill&&a.otherFill.above?2:0)+(a.otherFill&&a.otherFill.below?1:0);t[i]!==0&&n.push({id:r?r.segmentId():-1,start:a.start,end:a.end,myFill:{above:t[i]===1,below:t[i]===2},otherFill:null})}),r&&r.selected(n),n}var Slt={union:function(e,t){return p4(e,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],t)},intersect:function(e,t){return p4(e,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],t)},difference:function(e,t){return p4(e,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],t)},differenceRev:function(e,t){return p4(e,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],t)},xor:function(e,t){return p4(e,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],t)}};xse.exports=Slt});var wse=ne((Gtr,_se)=>{var Elt={toPolygon:function(e,t){function r(i){if(i.length<=0)return e.segments({inverted:!1,regions:[]});function o(u){var c=u.slice(0,u.length-1);return e.segments({inverted:!1,regions:[c]})}for(var s=o(i[0]),l=1;l{var klt=cse(),Clt=hse(),Tse=gse(),Llt=yse(),g4=bse(),Ase=wse(),Gv=!1,m4=Clt(),Wd;Wd={buildLog:function(e){return e===!0?Gv=klt():e===!1&&(Gv=!1),Gv===!1?!1:Gv.list},epsilon:function(e){return m4.epsilon(e)},segments:function(e){var t=Tse(!0,m4,Gv);return e.regions.forEach(t.addRegion),{segments:t.calculate(e.inverted),inverted:e.inverted}},combine:function(e,t){var r=Tse(!1,m4,Gv);return{combined:r.calculate(e.segments,e.inverted,t.segments,t.inverted),inverted1:e.inverted,inverted2:t.inverted}},selectUnion:function(e){return{segments:g4.union(e.combined,Gv),inverted:e.inverted1||e.inverted2}},selectIntersect:function(e){return{segments:g4.intersect(e.combined,Gv),inverted:e.inverted1&&e.inverted2}},selectDifference:function(e){return{segments:g4.difference(e.combined,Gv),inverted:e.inverted1&&!e.inverted2}},selectDifferenceRev:function(e){return{segments:g4.differenceRev(e.combined,Gv),inverted:!e.inverted1&&e.inverted2}},selectXor:function(e){return{segments:g4.xor(e.combined,Gv),inverted:e.inverted1!==e.inverted2}},polygon:function(e){return{regions:Llt(e.segments,m4,Gv),inverted:e.inverted}},polygonFromGeoJSON:function(e){return Ase.toPolygon(Wd,e)},polygonToGeoJSON:function(e){return Ase.fromPolygon(Wd,m4,e)},union:function(e,t){return y4(e,t,Wd.selectUnion)},intersect:function(e,t){return y4(e,t,Wd.selectIntersect)},difference:function(e,t){return y4(e,t,Wd.selectDifference)},differenceRev:function(e,t){return y4(e,t,Wd.selectDifferenceRev)},xor:function(e,t){return y4(e,t,Wd.selectXor)}};function y4(e,t,r){var n=Wd.segments(e),a=Wd.segments(t),i=Wd.combine(n,a),o=r(i);return Wd.polygon(o)}typeof window=="object"&&(window.PolyBool=Wd);Mse.exports=Wd});var kse=ne((jtr,Ese)=>{Ese.exports=function(t,r,n,a){var i=t[0],o=t[1],s=!1;n===void 0&&(n=0),a===void 0&&(a=r.length);for(var l=a-n,u=0,c=l-1;uo!=d>o&&i<(v-f)*(o-h)/(d-h)+f;m&&(s=!s)}return s}});var x4=ne((Wtr,Cse)=>{"use strict";var _z=RM().dot,EE=uo().BADNUM,kE=Cse.exports={};kE.tester=function(t){var r=t.slice(),n=r[0][0],a=n,i=r[0][1],o=i,s;for((r[r.length-1][0]!==r[0][0]||r[r.length-1][1]!==r[0][1])&&r.push(r[0]),s=1;sa||g===EE||go||m&&u(d))}function f(d,m){var x=d[0],g=d[1];if(x===EE||xa||g===EE||go)return!1;var E=r.length,M=r[0][0],w=r[0][1],k=0,y,S,T,p,C;for(y=1;yMath.max(S,M)||g>Math.max(T,w)))if(gs||Math.abs(_z(f,u))>a)return!0;return!1};kE.filter=function(t,r){var n=[t[0]],a=0,i=0;function o(l){t.push(l);var u=n.length,c=a;n.splice(i+1);for(var f=c+1;f1){var s=t.pop();o(s)}return{addPt:o,raw:t,filtered:n}}});var Fse=ne((Ytr,Lse)=>{"use strict";Lse.exports={BENDPX:1.5,MINSELECT:12,SELECTDELAY:100,SELECTID:"-select"}});var Qse=ne((Xtr,Jse)=>{"use strict";var Pse=Sse(),Flt=kse(),w4=Fa(),Plt=li().dashStyle,b4=_a(),Dlt=cu(),Rlt=Hd().makeEventData,E4=Cp(),Ilt=E4.freeMode,zlt=E4.rectMode,T4=E4.drawMode,Mz=E4.openMode,Sz=E4.selectMode,Dse=am(),Rse=s4(),Ose=fE(),Nse=Gg().clearOutline,Use=tm(),wz=Use.handleEllipse,qlt=Use.readPaths,Blt=lE().newShapes,Olt=XI(),Nlt=bz().activateLastSelection,LE=Zt(),Ult=LE.sorterAsc,Vse=x4(),_4=YM(),Hv=uu().getFromId,Vlt=i4(),Glt=d4().redrawReglTraces,FE=Fse(),Rp=FE.MINSELECT,Hlt=Vse.filter,Ez=Vse.tester,kz=aE(),Ise=kz.p2r,jlt=kz.axValue,Wlt=kz.getTransform;function Cz(e){return e.subplot!==void 0}function Ylt(e,t,r,n,a){var i=!Cz(n),o=Ilt(a),s=zlt(a),l=Mz(a),u=T4(a),c=Sz(a),f=a==="drawline",h=a==="drawcircle",v=f||h,d=n.gd,m=d._fullLayout,x=c&&m.newselection.mode==="immediate"&&i,g=m._zoomlayer,E=n.element.getBoundingClientRect(),M=n.plotinfo,w=Wlt(M),k=t-E.left,y=r-E.top;m._calcInverseTransform(d);var S=LE.apply3DTransform(m._invTransform)(k,y);k=S[0],y=S[1];var T=m._invScaleX,p=m._invScaleY,C=k,A=y,P="M"+k+","+y,D=n.xaxes[0],z=n.yaxes[0],q=D._length,U=z._length,O=e.altKey&&!(T4(a)&&l),R,B,Y,X,te,se,ue;Hse(e,d,n),o&&(R=Hlt([[k,y]],FE.BENDPX));var re=g.selectAll("path.select-outline-"+M.id).data([1]),j=u?m.newshape:m.newselection;u&&(n.hasText=j.label.text||j.label.texttemplate);var fe=u&&!l?j.fillcolor:"rgba(0,0,0,0)",ce=j.line.color||(i?b4.contrast(d._fullLayout.plot_bgcolor):"#7f7f7f");re.enter().append("path").attr("class","select-outline select-outline-"+M.id).style({opacity:u?j.opacity/2:1,"stroke-dasharray":Plt(j.line.dash,j.line.width),"stroke-width":j.line.width+"px","shape-rendering":"crispEdges"}).call(b4.stroke,ce).call(b4.fill,fe).attr("fill-rule","evenodd").classed("cursor-move",!!u).attr("transform",w).attr("d",P+"Z");var oe=g.append("path").attr("class","zoombox-corners").style({fill:b4.background,stroke:b4.defaultLine,"stroke-width":1}).attr("transform",w).attr("d","M0,0Z");if(u&&n.hasText){var we=g.select(".label-temp");we.empty()&&(we=g.append("g").classed("label-temp",!0).classed("select-outline",!0).style({opacity:.8}))}var he=m._uid+FE.SELECTID,ye=[],Pe=PE(d,n.xaxes,n.yaxes,n.subplot);x&&!e.shiftKey&&(n._clearSubplotSelections=function(){if(i){var ze=D._id,Xe=z._id;Zse(d,ze,Xe,Pe);for(var vt=(d.layout||{}).selections||[],st=[],Oe=!1,qe=0;qe=0){d._fullLayout._deactivateShape(d);return}if(!u){var vt=m.clickmode;_4.done(he).then(function(){if(_4.clear(he),ze===2){for(re.remove(),te=0;te-1&&Gse(Xe,d,n.xaxes,n.yaxes,n.subplot,n,re),vt==="event"&&S4(d,void 0);Dlt.click(d,Xe,M.id)}).catch(LE.error)}},n.doneFn=function(){oe.remove(),_4.done(he).then(function(){_4.clear(he),!x&&X&&n.selectionDefs&&(X.subtract=O,n.selectionDefs.push(X),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,Y)),(x||u)&&A4(n,x),n.doneFnCompleted&&n.doneFnCompleted(ye),c&&S4(d,ue)}).catch(LE.error)}}function Gse(e,t,r,n,a,i,o){var s=t._hoverdata,l=t._fullLayout,u=l.clickmode,c=u.indexOf("event")>-1,f=[],h,v,d,m,x,g,E,M,w,k;if(Jlt(s)){Hse(e,t,i),h=PE(t,r,n,a);var y=Qlt(s,h),S=y.pointNumbers.length>0;if(S?eut(h,y):tut(h)&&(E=qse(y))){for(o&&o.remove(),k=0;k=0}function Klt(e){return e._fullLayout._activeSelectionIndex>=0}function A4(e,t){var r=e.dragmode,n=e.plotinfo,a=e.gd;$lt(a)&&a._fullLayout._deactivateShape(a),Klt(a)&&a._fullLayout._deactivateSelection(a);var i=a._fullLayout,o=i._zoomlayer,s=T4(r),l=Sz(r);if(s||l){var u=o.selectAll(".select-outline-"+n.id);if(u&&a._fullLayout._outlining){var c;s&&(c=Blt(u,e)),c&&w4.call("_guiRelayout",a,{shapes:c});var f;l&&!Cz(e)&&(f=Olt(u,e)),f&&(a._fullLayout._noEmitSelectedAtStart=!0,w4.call("_guiRelayout",a,{selections:f}).then(function(){t&&Nlt(a)})),a._fullLayout._outlining=!1}}n.selection={},n.selection.selectionDefs=e.selectionDefs=[],n.selection.mergedPolygons=e.mergedPolygons=[]}function zse(e){return e._id}function PE(e,t,r,n){if(!e.calcdata)return[];var a=[],i=t.map(zse),o=r.map(zse),s,l,u;for(u=0;u0,i=a?n[0]:r;return t.selectedpoints?t.selectedpoints.indexOf(i)>-1:!1}function eut(e,t){var r=[],n,a,i,o;for(o=0;o0&&r.push(n);if(r.length===1&&(i=r[0]===t.searchInfo,i&&(a=t.searchInfo.cd[0].trace,a.selectedpoints.length===t.pointNumbers.length))){for(o=0;o1||(t+=n.selectedpoints.length,t>1)))return!1;return t===1}function M4(e,t,r){var n,a;for(n=0;n-1&&t;if(!o&&t){var ze=Bse(e,!0);if(ze.length){var Xe=ze[0].xref,vt=ze[0].yref;if(Xe&&vt){var st=$se(ze),Oe=Kse([Hv(e,Xe,"x"),Hv(e,vt,"y")]);Oe(ye,st)}}e._fullLayout._noEmitSelectedAtStart?e._fullLayout._noEmitSelectedAtStart=!1:le&&S4(e,ye),h._reselect=!1}if(!o&&h._deselect){var qe=h._deselect;s=qe.xref,l=qe.yref,aut(s,l,c)||Zse(e,s,l,n),le&&(ye.points.length?S4(e,ye):Pz(e)),h._deselect=!1}return{eventData:ye,selectionTesters:r}}function nut(e){var t=e.calcdata;if(t)for(var r=0;r{"use strict";ele.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]});var k4=ne(($tr,tle)=>{"use strict";tle.exports={axisRefDescription:function(e,t,r){return["If set to a",e,"axis id (e.g. *"+e+"* or","*"+e+"2*), the `"+e+"` position refers to a",e,"coordinate. If set to *paper*, the `"+e+"`","position refers to the distance from the",t,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",t,"("+r+"). If set to a",e,"axis ID followed by","*domain* (separated by a space), the position behaves like for","*paper*, but refers to the distance in fractions of the domain","length from the",t,"of the domain of that axis: e.g.,","*"+e+"2 domain* refers to the domain of the second",e,"axis and a",e,"position of 0.5 refers to the","point between the",t,"and the",r,"of the domain of the","second",e,"axis."].join(" ")}}});var om=ne((Jtr,ale)=>{"use strict";var rle=Dz(),nle=pl(),DE=zc(),uut=Bo().templatedArray,Ktr=k4();ale.exports=uut("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:nle({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw"},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:rle.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:rle.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",DE.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",DE.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",DE.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",DE.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw"},xclick:{valType:"any",editType:"arraydraw"},yclick:{valType:"any",editType:"arraydraw"},hovertext:{valType:"string",editType:"arraydraw"},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw"},bordercolor:{valType:"color",editType:"arraydraw"},font:nle({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc"})});var Ip=ne((Qtr,ile)=>{"use strict";ile.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}});var zp=ne((err,ole)=>{"use strict";ole.exports=function(t){return{valType:"color",editType:"style",anim:!0}}});var Tu=ne((trr,vle)=>{"use strict";var sle=Wl().axisHoverFormat,{hovertemplateAttrs:cut,texttemplateAttrs:fut,templatefallbackAttrs:lle}=rs(),ule=Ys(),hut=pl(),cle=xf().dash,dut=xf().pattern,vut=li(),put=Ip(),C4=ci().extendFlat,gut=zp();function fle(e){return{valType:"any",dflt:0,editType:"calc"}}function hle(e){return{valType:"any",editType:"calc"}}function dle(e){return{valType:"enumerated",values:["start","middle","end"],dflt:"middle",editType:"calc"}}vle.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0},dx:{valType:"number",dflt:1,editType:"calc",anim:!0},y:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0},dy:{valType:"number",dflt:1,editType:"calc",anim:!0},xperiod:fle("x"),yperiod:fle("y"),xperiod0:hle("x0"),yperiod0:hle("y0"),xperiodalignment:dle("x"),yperiodalignment:dle("y"),xhoverformat:sle("x"),yhoverformat:sle("y"),offsetgroup:{valType:"string",dflt:"",editType:"calc"},alignmentgroup:{valType:"string",dflt:"",editType:"calc"},stackgroup:{valType:"string",dflt:"",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc"},groupnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},stackgaps:{valType:"enumerated",values:["infer zero","interpolate"],dflt:"infer zero",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},texttemplate:fut(),texttemplatefallback:lle({editType:"calc"}),hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"],editType:"calc"},hoveron:{valType:"flaglist",flags:["points","fills"],editType:"style"},hovertemplate:cut({},{keys:put.eventDataKeys}),hovertemplatefallback:lle(),line:{color:{valType:"color",editType:"style",anim:!0},width:{valType:"number",min:0,dflt:2,editType:"style",anim:!0},shape:{valType:"enumerated",values:["linear","spline","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot"},smoothing:{valType:"number",min:0,max:1.3,dflt:1,editType:"plot"},dash:C4({},cle,{editType:"style"}),backoff:{valType:"number",min:0,dflt:"auto",arrayOk:!0,editType:"plot"},simplify:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},cliponaxis:{valType:"boolean",dflt:!0,editType:"plot"},fill:{valType:"enumerated",values:["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"],editType:"calc"},fillcolor:gut(!0),fillgradient:C4({type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],dflt:"none",editType:"calc"},start:{valType:"number",editType:"calc"},stop:{valType:"number",editType:"calc"},colorscale:{valType:"colorscale",editType:"style"},editType:"calc"}),fillpattern:dut,marker:C4({symbol:{valType:"enumerated",values:vut.symbolList,dflt:"circle",arrayOk:!0,editType:"style"},opacity:{valType:"number",min:0,max:1,arrayOk:!0,editType:"style",anim:!0},angle:{valType:"angle",dflt:0,arrayOk:!0,editType:"plot",anim:!1},angleref:{valType:"enumerated",values:["previous","up"],dflt:"up",editType:"plot",anim:!1},standoff:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"plot",anim:!0},size:{valType:"number",min:0,dflt:6,arrayOk:!0,editType:"calc",anim:!0},maxdisplayed:{valType:"number",min:0,dflt:0,editType:"plot"},sizeref:{valType:"number",dflt:1,editType:"calc"},sizemin:{valType:"number",min:0,dflt:0,editType:"calc"},sizemode:{valType:"enumerated",values:["diameter","area"],dflt:"diameter",editType:"calc"},line:C4({width:{valType:"number",min:0,arrayOk:!0,editType:"style",anim:!0},dash:C4({},cle,{arrayOk:!0}),editType:"calc"},ule("marker.line",{anim:!0})),gradient:{type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],arrayOk:!0,dflt:"none",editType:"calc"},color:{valType:"color",arrayOk:!0,editType:"calc"},editType:"calc"},editType:"calc"},ule("marker",{anim:!0})),selected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},unselected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"middle center",arrayOk:!0,editType:"calc"},textfont:hut({editType:"calc",colorEditType:"style",arrayOk:!0}),zorder:{valType:"integer",dflt:0,editType:"plot"}}});var Rz=ne((nrr,mle)=>{"use strict";var ple=om(),gle=Tu().line,mut=xf().dash,RE=ci().extendFlat,yut=Il().overrideAll,xut=Bo().templatedArray,rrr=k4();mle.exports=yut(xut("selection",{type:{valType:"enumerated",values:["rect","path"]},xref:RE({},ple.xref,{}),yref:RE({},ple.yref,{}),x0:{valType:"any"},x1:{valType:"any"},y0:{valType:"any"},y1:{valType:"any"},path:{valType:"string",editType:"arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:.7,editType:"arraydraw"},line:{color:gle.color,width:RE({},gle.width,{min:1,dflt:1}),dash:RE({},mut,{dflt:"dot"})}}),"arraydraw","from-root")});var _le=ne((arr,ble)=>{"use strict";var yle=Zt(),IE=ri(),but=zh(),_ut=Rz(),xle=am();ble.exports=function(t,r){but(t,r,{name:"selections",handleItemDefaults:wut});for(var n=r.selections,a=0;a{"use strict";wle.exports=function(t,r,n){n("newselection.mode");var a=n("newselection.line.width");a&&(n("newselection.line.color"),n("newselection.line.dash")),n("activeselection.fillcolor"),n("activeselection.opacity")}});var L4=ne((orr,Sle)=>{"use strict";var Tut=Fa(),Ale=Zt(),Mle=uu();Sle.exports=function(t){return function(n,a){var i=n[t];if(Array.isArray(i))for(var o=Tut.subplotsRegistry.cartesian,s=o.idRegex,l=a._subplots,u=l.xaxis,c=l.yaxis,f=l.cartesian,h=a._has("cartesian"),v=0;v{"use strict";var Ele=bz(),F4=Qse();kle.exports={moduleType:"component",name:"selections",layoutAttributes:Rz(),supplyLayoutDefaults:_le(),supplyDrawNewSelectionDefaults:Tle(),includeBasePlot:L4()("selections"),draw:Ele.draw,drawOne:Ele.drawOne,reselect:F4.reselect,prepSelect:F4.prepSelect,clearOutline:F4.clearOutline,clearSelectionsCache:F4.clearSelectionsCache,selectOnClick:F4.selectOnClick}});var Vz=ne((lrr,Yle)=>{"use strict";var Nz=Ea(),jv=Zt(),Cle=jv.numberFormat,Aut=HS(),zE=Fa(),qle=jv.strTranslate,Mut=Ms(),zz=_a(),sm=li(),Sut=cu(),Lle=ri(),Eut=z0(),kut=od(),Ble=Cp(),qE=Ble.selectingOrDrawing,Cut=Ble.freeMode,Lut=qc().FROM_TL,Fut=i4(),Put=d4().redrawReglTraces,Dut=Sl(),qz=uu().getFromId,Rut=ef().prepSelect,Iut=ef().clearOutline,zut=ef().selectOnClick,Iz=hz(),Uz=zc(),Fle=Uz.MINDRAG,Td=Uz.MINZOOM,Ple=!0;function qut(e,t,r,n,a,i,o,s){var l=e._fullLayout._zoomlayer,u=o+s==="nsew",c=(o+s).length===1,f,h,v,d,m,x,g,E,M,w,k,y,S,T,p,C,A,P,D,z,q,U,O;r+=t.yaxis._shift;function R(){if(f=t.xaxis,h=t.yaxis,M=f._length,w=h._length,g=f._offset,E=h._offset,v={},v[f._id]=f,d={},d[h._id]=h,o&&s)for(var Qe=t.overlays,We=0;We=0){pt._fullLayout._deactivateShape(pt);return}var kt=pt._fullLayout.clickmode;if(Oz(pt),Qe===2&&!c&&Ue(),u)kt.indexOf("select")>-1&&zut(We,pt,m,x,t.id,X),kt.indexOf("event")>-1&&Sut.click(pt,We,t.id);else if(Qe===1&&c){var qt=o?h:f,Wt=o==="s"||s==="w"?0:1,_r=qt._name+".range["+Wt+"]",tr=But(qt,Wt),lr="left",Ye="middle";if(qt.fixedrange)return;o?(Ye=o==="n"?"top":"bottom",qt.side==="right"&&(lr="right")):s==="e"&&(lr="right"),pt._context.showAxisRangeEntryBoxes&&Nz.select(Y).call(Mut.makeEditable,{gd:pt,immediate:!0,background:pt._fullLayout.paper_bgcolor,text:String(tr),fill:qt.tickfont?qt.tickfont.color:"#444",horizontalAlign:lr,verticalAlign:Ye}).on("edit",function(Te){var Fe=qt.d2r(Te);Fe!==void 0&&zE.call("_guiRelayout",pt,_r,Fe)})}}kut.init(X);var ue,re,j,fe,ce,oe,we,he,ye,Pe;function le(Qe,We,pt){var kt=Y.getBoundingClientRect();ue=We-kt.left,re=pt-kt.top,e._fullLayout._calcInverseTransform(e);var qt=jv.apply3DTransform(e._fullLayout._invTransform)(ue,re);ue=qt[0],re=qt[1],j={l:ue,r:ue,w:0,t:re,b:re,h:0},fe=e._hmpixcount?e._hmlumcount/e._hmpixcount:zz.color(e._fullLayout.plot_bgcolor).luminosity(),ce="M0,0H"+M+"V"+w+"H0V0",oe=!1,we="xy",Pe=!1,he=Ule(l,fe,g,E,ce),ye=Vle(l,g,E)}function ze(Qe,We){if(e._transitioningWithDuration)return!1;var pt=Math.max(0,Math.min(M,U*Qe+ue)),kt=Math.max(0,Math.min(w,O*We+re)),qt=Math.abs(pt-ue),Wt=Math.abs(kt-re);j.l=Math.min(ue,pt),j.r=Math.max(ue,pt),j.t=Math.min(re,kt),j.b=Math.max(re,kt);function _r(){we="",j.r=j.l,j.t=j.b,ye.attr("d","M0,0Z")}if(k.isSubplotConstrained)qt>Td||Wt>Td?(we="xy",qt/M>Wt/w?(Wt=qt*w/M,re>kt?j.t=re-Wt:j.b=re+Wt):(qt=Wt*M/w,ue>pt?j.l=ue-qt:j.r=ue+qt),ye.attr("d",BE(j))):_r();else if(y.isSubplotConstrained)if(qt>Td||Wt>Td){we="xy";var tr=Math.min(j.l/M,(w-j.b)/w),lr=Math.max(j.r/M,(w-j.t)/w);j.l=tr*M,j.r=lr*M,j.b=(1-tr)*w,j.t=(1-lr)*w,ye.attr("d",BE(j))}else _r();else!T||Wt0){var Te;if(y.isSubplotConstrained||!S&&T.length===1){for(Te=0;Te1&&(_r.maxallowed!==void 0&&C===(_r.range[0]<_r.range[1]?"e":"w")||_r.minallowed!==void 0&&C===(_r.range[0]<_r.range[1]?"w":"e"))&&(Ze=1,_t=0),Re?(Ke=Fe,St=o||y.isSubplotConstrained?Qe[1]:He(tr,Ke)):y.yaHash[tr._id]?(Ke=Fe,St=Qe[1]*tr._length/h._length):y.xaHash[tr._id]?(Ke=Te,St=S==="ew"?-Qe[0]*tr._length/f._length:He(tr,Ke,{e:"right",w:"left"}[S])):(Ke=tt(tr,Te,Fe),St=ft(tr,Ke)),Ke>1&&(tr.maxallowed!==void 0&&A===(tr.range[0]=0?Math.min(e,.9):1/(1/Math.max(e,-.3)+3.222))}function Nut(e,t,r){return e?e==="nsew"?r?"":t==="pan"?"move":"crosshair":e.toLowerCase()+"-resize":"pointer"}function Ule(e,t,r,n,a){return e.append("path").attr("class","zoombox").style({fill:t>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",qle(r,n)).attr("d",a+"Z")}function Vle(e,t,r){return e.append("path").attr("class","zoombox-corners").style({fill:zz.background,stroke:zz.defaultLine,"stroke-width":1,opacity:0}).attr("transform",qle(t,r)).attr("d","M0,0Z")}function Gle(e,t,r,n,a,i){e.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),Hle(e,t,a,i)}function Hle(e,t,r,n){r||(e.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),t.transition().style("opacity",1).duration(200))}function Oz(e){Nz.select(e).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function jle(e){Ple&&e.data&&e._context.showTips&&(jv.notifier(jv._(e,"Double-click to zoom back out"),"long",e),Ple=!1)}function Uut(e,t){return"M"+(e.l-.5)+","+(t-Td-.5)+"h-3v"+(2*Td+1)+"h3ZM"+(e.r+.5)+","+(t-Td-.5)+"h3v"+(2*Td+1)+"h-3Z"}function Vut(e,t){return"M"+(t-Td-.5)+","+(e.t-.5)+"v-3h"+(2*Td+1)+"v3ZM"+(t-Td-.5)+","+(e.b+.5)+"v3h"+(2*Td+1)+"v-3Z"}function BE(e){var t=Math.floor(Math.min(e.b-e.t,e.r-e.l,Td)/2);return"M"+(e.l-3.5)+","+(e.t-.5+t)+"h3v"+-t+"h"+t+"v-3h-"+(t+3)+"ZM"+(e.r+3.5)+","+(e.t-.5+t)+"h-3v"+-t+"h"+-t+"v-3h"+(t+3)+"ZM"+(e.r+3.5)+","+(e.b+.5-t)+"h-3v"+t+"h"+-t+"v3h"+(t+3)+"ZM"+(e.l-3.5)+","+(e.b+.5-t)+"h3v"+t+"h"+t+"v3h-"+(t+3)+"Z"}function Ile(e,t,r,n,a){for(var i=!1,o={},s={},l,u,c,f,h=(a||{}).xaHash,v=(a||{}).yaHash,d=0;d{"use strict";var Gut=Ea(),OE=cu(),Hut=od(),jut=z0(),O0=Vz().makeDragBox,Tf=zc().DRAGGERSIZE;NE.initInteractions=function(t){var r=t._fullLayout;if(t._context.staticPlot){Gut.select(t).selectAll(".drag").remove();return}if(!(!r._has("cartesian")&&!r._has("splom"))){var n=Object.keys(r._plots||{}).sort(function(i,o){if((r._plots[i].mainplot&&!0)===(r._plots[o].mainplot&&!0)){var s=i.split("y"),l=o.split("y");return s[0]===l[0]?Number(s[1]||1)-Number(l[1]||1):Number(s[0]||1)-Number(l[0]||1)}return r._plots[i].mainplot?1:-1});n.forEach(function(i){var o=r._plots[i],s=o.xaxis,l=o.yaxis;if(!o.mainplot){var u=O0(t,o,s._offset,l._offset,s._length,l._length,"ns","ew");u.onmousemove=function(h){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===i&&t._fullLayout._plots[i]&&OE.hover(t,h,i)},OE.hover(t,h,i),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=i},u.onmouseout=function(h){t._dragging||(t._fullLayout._hoversubplot=null,Hut.unhover(t,h))},t._context.showAxisDragHandles&&(O0(t,o,s._offset-Tf,l._offset-Tf,Tf,Tf,"n","w"),O0(t,o,s._offset+s._length,l._offset-Tf,Tf,Tf,"n","e"),O0(t,o,s._offset-Tf,l._offset+l._length,Tf,Tf,"s","w"),O0(t,o,s._offset+s._length,l._offset+l._length,Tf,Tf,"s","e"))}if(t._context.showAxisDragHandles){if(i===s._mainSubplot){var c=s._mainLinePosition;s.side==="top"&&(c-=Tf),O0(t,o,s._offset+s._length*.1,c,s._length*.8,Tf,"","ew"),O0(t,o,s._offset,c,s._length*.1,Tf,"","w"),O0(t,o,s._offset+s._length*.9,c,s._length*.1,Tf,"","e")}if(i===l._mainSubplot){var f=l._mainLinePosition;l.side!=="right"&&(f-=Tf),O0(t,o,f,l._offset+l._length*.1,Tf,l._length*.8,"ns",""),O0(t,o,f,l._offset+l._length*.9,Tf,l._length*.1,"s",""),O0(t,o,f,l._offset,Tf,l._length*.1,"n","")}}});var a=r._hoverlayer.node();a.onmousemove=function(i){i.target=t._fullLayout._lasthover,OE.hover(t,i,r._hoversubplot)},a.onclick=function(i){i.target=t._fullLayout._lasthover,OE.click(t,i)},a.onmousedown=function(i){t._fullLayout._lasthover.onmousedown(i)},NE.updateFx(t)}};NE.updateFx=function(e){var t=e._fullLayout,r=t.dragmode==="pan"?"move":"crosshair";jut(t._draggers,r)}});var $le=ne((crr,Zle)=>{"use strict";var Xle=Fa();Zle.exports=function(t){for(var r=Xle.layoutArrayContainers,n=Xle.layoutArrayRegexes,a=t.split("[")[0],i,o,s=0;s{"use strict";var Wut=Lg(),Hz=DM(),P4=T1(),Yut=HM().sorterAsc,jz=Fa();D4.containerArrayMatch=$le();var Xut=D4.isAddVal=function(t){return t==="add"||Wut(t)},Kle=D4.isRemoveVal=function(t){return t===null||t==="remove"};D4.applyContainerArrayChanges=function(t,r,n,a,i){var o=r.astr,s=jz.getComponentMethod(o,"supplyLayoutDefaults"),l=jz.getComponentMethod(o,"draw"),u=jz.getComponentMethod(o,"drawOne"),c=a.replot||a.recalc||s===Hz||l===Hz,f=t.layout,h=t._fullLayout;if(n[""]){Object.keys(n).length>1&&P4.warn("Full array edits are incompatible with other edits",o);var v=n[""][""];if(Kle(v))r.set(null);else if(Array.isArray(v))r.set(v);else return P4.warn("Unrecognized full array edit value",o,v),!0;return c?!1:(s(f,h),l(t),!0)}var d=Object.keys(n).map(Number).sort(Yut),m=r.get(),x=m||[],g=i(h,o).get(),E=[],M=-1,w=x.length,k,y,S,T,p,C,A,P;for(k=0;kx.length-(A?0:1)){P4.warn("index out of range",o,S);continue}if(C!==void 0)p.length>1&&P4.warn("Insertion & removal are incompatible with edits to the same index.",o,S),Kle(C)?E.push(S):A?(C==="add"&&(C={}),x.splice(S,0,C),g&&g.splice(S,0,{})):P4.warn("Unrecognized full object edit value",o,S,C),M===-1&&(M=S);else for(y=0;y=0;k--)x.splice(E[k],1),g&&g.splice(E[k],1);if(x.length?m||r.set(x):r.set(null),c)return!1;if(s(f,h),u!==Hz){var D;if(M===-1)D=d;else{for(w=Math.max(x.length,w),D=[],k=0;k=M));k++)D.push(S);for(k=M;k{"use strict";var rue=mi(),nue=Fa(),cd=Zt(),R4=Sl(),aue=uu(),I4=aue.cleanId,Zut=aue.getFromTrace,Wz=nue.traceIs,$ut=["x","y","z"];Wv.clearPromiseQueue=function(e){Array.isArray(e._promises)&&e._promises.length>0&&cd.log("Clearing previous rejected promises from queue."),e._promises=[]};Wv.cleanLayout=function(e){var t,r;e||(e={}),e.xaxis1&&(e.xaxis||(e.xaxis=e.xaxis1),delete e.xaxis1),e.yaxis1&&(e.yaxis||(e.yaxis=e.yaxis1),delete e.yaxis1),e.scene1&&(e.scene||(e.scene=e.scene1),delete e.scene1);var n=(R4.subplotsRegistry.cartesian||{}).attrRegex,a=(R4.subplotsRegistry.polar||{}).attrRegex,i=(R4.subplotsRegistry.ternary||{}).attrRegex,o=(R4.subplotsRegistry.gl3d||{}).attrRegex,s=Object.keys(e);for(t=0;t3?(x.x=1.02,x.xanchor="left"):x.x<-2&&(x.x=-.02,x.xanchor="right"),x.y>3?(x.y=1.02,x.yanchor="bottom"):x.y<-2&&(x.y=-.02,x.yanchor="top")),e.dragmode==="rotate"&&(e.dragmode="orbit"),e.template&&e.template.layout&&Wv.cleanLayout(e.template.layout),e};function l_(e,t,r=!1){var n=e[t],a=t.charAt(0);r&&Array.isArray(n)||n&&n!=="paper"&&(e[t]=I4(n,a,!0))}Wv.cleanData=function(e){for(var t=0;t0)return e.slice(0,t)}Wv.hasParent=function(e,t){for(var r=tue(t);r;){if(r in e)return!0;r=tue(r)}return!1};Wv.clearAxisTypes=function(e,t,r){for(var n=0;n{let r=(...n)=>n.every(a=>cd.isPlainObject(a))||n.every(a=>Array.isArray(a));if([e,t].every(n=>Array.isArray(n))){if(e.length!==t.length)return!1;for(let n=0;ncd.isPlainObject(n))){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e){if(n.startsWith("_"))continue;let a=e[n],i=t[n];if(a!==i&&!(r(a,i)?Yz(a,i):!1))return!1}return!0}return!1};Wv.collectionsAreEqual=Yz});var QE=ne(Oo=>{"use strict";var HE=Ea(),Qut=mi(),ect=rR(),Ma=Zt(),kl=Ma.nestedProperty,$z=Pb(),Ad=$ee(),Yv=Fa(),KE=Ib(),zi=Sl(),fd=ri(),tct=yI(),rct=Wf(),Xz=li(),nct=_a(),act=Gz().initInteractions,ict=qv(),oct=ef().clearOutline,cue=Dy().dfltConfig,VE=Jle(),vc=iue(),Rs=d4(),lm=Il(),sct=zc().AX_NAME_PATTERN,Zz=0,oue=5;function lct(e,t,r,n){var a;if(e=Ma.getGraphDiv(e),$z.init(e),Ma.isPlainObject(t)){var i=t;t=i.data,r=i.layout,n=i.config,a=i.frames}var o=$z.triggerHandler(e,"plotly_beforeplot",[t,r,n]);if(o===!1)return Promise.reject();!t&&!r&&!Ma.isPlotDiv(e)&&Ma.warn("Calling _doPlot as if redrawing but this container doesn't yet have a plot.",e);function s(){if(a)return Oo.addFrames(e,a)}hue(e,n),r||(r={}),HE.select(e).classed("js-plotly-plot",!0),Xz.makeTester(),Array.isArray(e._promises)||(e._promises=[]);var l=(e.data||[]).length===0&&Array.isArray(t);Array.isArray(t)&&(vc.cleanData(t),l?e.data=t:e.data.push.apply(e.data,t),e.empty=!1),(!e.layout||l)&&(e.layout=vc.cleanLayout(r)),zi.supplyDefaults(e);var u=e._fullLayout,c=u._has("cartesian");u._replotting=!0,(l||u._shouldCreateBgLayer)&&(Fct(e),u._shouldCreateBgLayer&&delete u._shouldCreateBgLayer),Xz.initGradients(e),Xz.initPatterns(e),l&&fd.saveShowSpikeInitial(e);var f=!e.calcdata||e.calcdata.length!==(e._fullData||[]).length;f&&zi.doCalcdata(e);for(var h=0;h=e.data.length||a<-e.data.length)throw new Error(r+" must be valid indices for gd.data.");if(t.indexOf(a,n+1)>-1||a>=0&&t.indexOf(-e.data.length+a)>-1||a<0&&t.indexOf(e.data.length+a)>-1)throw new Error("each index in "+r+" must be unique.")}}function due(e,t,r){if(!Array.isArray(e.data))throw new Error("gd.data must be an array.");if(typeof t=="undefined")throw new Error("currentIndices is a required argument.");if(Array.isArray(t)||(t=[t]),WE(e,t,"currentIndices"),typeof r!="undefined"&&!Array.isArray(r)&&(r=[r]),typeof r!="undefined"&&WE(e,r,"newIndices"),typeof r!="undefined"&&t.length!==r.length)throw new Error("current and new indices must be of equal length.")}function dct(e,t,r){var n,a;if(!Array.isArray(e.data))throw new Error("gd.data must be an array.");if(typeof t=="undefined")throw new Error("traces must be defined.");for(Array.isArray(t)||(t=[t]),n=0;n=0&&c=0&&c0&&typeof T.parts[A]!="string";)A--;var P=T.parts[A],D=T.parts[A-1]+"."+P,z=T.parts.slice(0,A).join("."),q=kl(e.layout,z).get(),U=kl(n,z).get(),O=T.get();if(p!==void 0){g[S]=p,E[S]=P==="reverse"?p:I1(O);var R=KE.getLayoutValObject(n,T.parts);if(R&&R.impliedEdits&&p!==null)for(var B in R.impliedEdits)M(Ma.relativeAttr(S,B),R.impliedEdits[B]);if(["width","height"].indexOf(S)!==-1)if(p){M("autosize",null);var Y=S==="height"?"width":"height";M(Y,n[Y])}else n[S]=e._initialAutoSize[S];else if(S==="autosize")M("width",p?null:n.width),M("height",p?null:n.height);else if(D.match(wue))y(D),kl(n,z+"._inputRange").set(null);else if(D.match(Tue)){y(D),kl(n,z+"._inputRange").set(null);var X=kl(n,z).get();X._inputDomain&&(X._input.domain=X._inputDomain.slice())}else D.match(mct)&&kl(n,z+"._inputDomain").set(null);if(P==="type"){k=q;var te=U.type==="linear"&&p==="log",se=U.type==="log"&&p==="linear";if(te||se){if(!k||!k.range)M(z+".autorange",!0);else if(U.autorange)te&&(k.range=k.range[1]>k.range[0]?[1,2]:[2,1]);else{var ue=k.range[0],re=k.range[1];te?(ue<=0&&re<=0&&M(z+".autorange",!0),ue<=0?ue=re/1e6:re<=0&&(re=ue/1e6),M(z+".range[0]",Math.log(ue)/Math.LN10),M(z+".range[1]",Math.log(re)/Math.LN10)):(M(z+".range[0]",Math.pow(10,ue)),M(z+".range[1]",Math.pow(10,re)))}Array.isArray(n._subplots.polar)&&n._subplots.polar.length&&n[T.parts[0]]&&T.parts[1]==="radialaxis"&&delete n[T.parts[0]]._subplot.viewInitial["radialaxis.range"],Yv.getComponentMethod("annotations","convertCoords")(e,U,p,M),Yv.getComponentMethod("images","convertCoords")(e,U,p,M)}else M(z+".autorange",!0),M(z+".range",null);kl(n,z+"._inputRange").set(null)}else if(P.match(sct)){var j=kl(n,S).get(),fe=(p||{}).type;(!fe||fe==="-")&&(fe="linear"),Yv.getComponentMethod("annotations","convertCoords")(e,j,fe,M),Yv.getComponentMethod("images","convertCoords")(e,j,fe,M)}var ce=VE.containerArrayMatch(S);if(ce){c=ce.array,f=ce.index;var oe=ce.property,we=R||{editType:"calc"};f!==""&&oe===""&&(VE.isAddVal(p)?E[S]=null:VE.isRemoveVal(p)?E[S]=(kl(r,c).get()||[])[f]:Ma.warn("unrecognized full object value",t)),lm.update(x,we),u[c]||(u[c]={});var he=u[c][f];he||(he=u[c][f]={}),he[oe]=p,delete t[S]}else P==="reverse"?(q.range?q.range.reverse():(M(z+".autorange",!0),q.range=[1,0]),U.autorange?x.calc=!0:x.plot=!0):(S==="dragmode"&&(p===!1&&O!==!1||p!==!1&&O===!1)||n._has("scatter-like")&&n._has("regl")&&S==="dragmode"&&(p==="lasso"||p==="select")&&!(O==="lasso"||O==="select")?x.plot=!0:R?lm.update(x,R):x.calc=!0,T.set(p))}}for(c in u){var ye=VE.applyContainerArrayChanges(e,i(r,c),u[c],x,i);ye||(x.plot=!0)}for(var Pe in w){k=fd.getFromId(e,Pe);var le=k&&k._constraintGroup;if(le){x.calc=!0;for(var ze in le)w[ze]||(fd.getFromId(e,ze)._constraintShrinkable=!0)}}(Mue(e)||t.height||t.width)&&(x.plot=!0);var Xe=n.shapes;for(f=0;f1;)if(n.pop(),r=kl(t,n.join(".")+".uirevision").get(),r!==void 0)return r;return t.uirevision}function bct(e,t){for(var r=0;r[z,e._ev.listeners(z)]);i=Oo.newPlot(e,t,r,n).then(()=>{for(let[z,q]of D)q.forEach(U=>e.on(z,U));return Oo.react(e,t,r,n)})}else{e.data=t||[],vc.cleanData(e.data),e.layout=r||{},vc.cleanLayout(e.layout),wct(e.data,e.layout,s,l),zi.supplyDefaults(e,{skipUpdateCalc:!0});var f=e._fullData,h=e._fullLayout,v=h.datarevision===void 0,d=h.transition,m=Mct(e,l,h,v,d),x=m.newDataRevision,g=Act(e,s,f,v,d,x);if(Mue(e)&&(m.layoutReplot=!0),g.calc||m.calc){e.calcdata=void 0;for(var E=Object.getOwnPropertyNames(h),M=0;M(c||e.emit("plotly_react",{config:n,data:t,layout:r}),e))}function Act(e,t,r,n,a,i){var o=t.length===r.length;if(!a&&!o)return{fullReplot:!0,calc:!0};var s=lm.traceFlags();s.arrays={},s.nChanges=0,s.nChangesAnim=0;var l,u;function c(v){var d=KE.getTraceValObject(u,v);return!u._module.animatable&&d.anim&&(d.anim=!1),d}var f={getValObject:c,flags:s,immutable:n,transition:a,newDataRevision:i,gd:e},h={};for(l=0;l=a.length?a[0]:a[u]:a}function s(u){return Array.isArray(i)?u>=i.length?i[0]:i[u]:i}function l(u,c){var f=0;return function(){if(u&&++f===c)return u()}}return new Promise(function(u,c){function f(){if(n._frameQueue.length!==0){for(;n._frameQueue.length;){var P=n._frameQueue.pop();P.onInterrupt&&P.onInterrupt()}e.emit("plotly_animationinterrupted",[])}}function h(P){if(P.length!==0){for(var D=0;Dn._timeToNext&&d()};P()}var x=0;function g(P){return Array.isArray(a)?x>=a.length?P.transitionOpts=a[x]:P.transitionOpts=a[0]:P.transitionOpts=a,x++,P}var E,M,w=[],k=t==null,y=Array.isArray(t),S=!k&&!y&&Ma.isPlainObject(t);if(S)w.push({type:"object",data:g(Ma.extendFlat({},t))});else if(k||["string","number"].indexOf(typeof t)!==-1)for(E=0;E0&&CC)&&A.push(M);w=A}}w.length>0?h(w):(e.emit("plotly_animated"),u())})}function Ect(e,t,r){if(e=Ma.getGraphDiv(e),t==null)return Promise.resolve();if(!Ma.isPlotDiv(e))throw new Error("This element is not a Plotly plot: "+e+". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/");var n,a,i,o,s=e._transitionData._frames,l=e._transitionData._frameHash;if(!Array.isArray(t))throw new Error("addFrames failure: frameList must be an Array of frame definitions"+t);var u=s.length+t.length*2,c=[],f={};for(n=t.length-1;n>=0;n--)if(Ma.isPlainObject(t[n])){var h=t[n].name,v=(l[h]||f[h]||{}).name,d=t[n].name,m=l[v]||f[v];v&&d&&typeof d=="number"&&m&&ZzT.index?-1:S.index=0;n--){if(a=c[n].frame,typeof a.name=="number"&&Ma.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!a.name)for(;l[a.name="frame "+e._transitionData._counter++];);if(l[a.name]){for(i=0;i=0;r--)n=t[r],i.push({type:"delete",index:n}),o.unshift({type:"insert",index:n,value:a[n]});var s=zi.modifyFrames,l=zi.modifyFrames,u=[e,o],c=[e,i];return Ad&&Ad.add(e,s,u,l,c),zi.modifyFrames(e,i)}function Cct(e){e=Ma.getGraphDiv(e);var t=e._fullLayout||{},r=e._fullData||[];return zi.cleanPlot([],{},r,t),zi.purge(e),$z.purge(e),t._container&&t._container.remove(),delete e._context,e}function Lct(e){var t=e._fullLayout,r=e.getBoundingClientRect();if(!Ma.equalDomRects(r,t._lastBBox)){var n=t._invTransform=Ma.inverseTransformMatrix(Ma.getFullTransformMatrix(e));t._invScaleX=Math.sqrt(n[0][0]*n[0][0]+n[0][1]*n[0][1]+n[0][2]*n[0][2]),t._invScaleY=Math.sqrt(n[1][0]*n[1][0]+n[1][1]*n[1][1]+n[1][2]*n[1][2]),t._lastBBox=r}}function Fct(e){var t=HE.select(e),r=e._fullLayout;if(r._calcInverseTransform=Lct,r._calcInverseTransform(e),r._container=t.selectAll(".plot-container").data([0]),r._container.enter().insert("div",":first-child").classed("plot-container",!0).classed("plotly",!0).style({width:"100%",height:"100%"}),r._paperdiv=r._container.selectAll(".svg-container").data([0]),r._paperdiv.enter().append("div").classed("user-select-none",!0).classed("svg-container",!0).style("position","relative"),r._glcontainer=r._paperdiv.selectAll(".gl-container").data([{}]),r._glcontainer.enter().append("div").classed("gl-container",!0),r._paperdiv.selectAll(".main-svg").remove(),r._paperdiv.select(".modebar-container").remove(),r._paper=r._paperdiv.insert("svg",":first-child").classed("main-svg",!0),r._toppaper=r._paperdiv.append("svg").classed("main-svg",!0),r._modebardiv=r._paperdiv.append("div"),delete r._modeBar,r._hoverpaper=r._paperdiv.append("svg").classed("main-svg",!0),!r._uid){var n={};HE.selectAll("defs").each(function(){this.id&&(n[this.id.split("-")[1]]=1)}),r._uid=Ma.randstr(n)}r._paperdiv.selectAll(".main-svg").attr(ict.svgAttrs),r._defs=r._paper.append("defs").attr("id","defs-"+r._uid),r._clips=r._defs.append("g").classed("clips",!0),r._topdefs=r._toppaper.append("defs").attr("id","topdefs-"+r._uid),r._topclips=r._topdefs.append("g").classed("clips",!0),r._bgLayer=r._paper.append("g").classed("bglayer",!0),r._draggers=r._paper.append("g").classed("draglayer",!0);var a=r._paper.append("g").classed("layer-below",!0);r._imageLowerLayer=a.append("g").classed("imagelayer",!0),r._shapeLowerLayer=a.append("g").classed("shapelayer",!0),r._cartesianlayer=r._paper.append("g").classed("cartesianlayer",!0),r._polarlayer=r._paper.append("g").classed("polarlayer",!0),r._smithlayer=r._paper.append("g").classed("smithlayer",!0),r._ternarylayer=r._paper.append("g").classed("ternarylayer",!0),r._geolayer=r._paper.append("g").classed("geolayer",!0),r._funnelarealayer=r._paper.append("g").classed("funnelarealayer",!0),r._pielayer=r._paper.append("g").classed("pielayer",!0),r._iciclelayer=r._paper.append("g").classed("iciclelayer",!0),r._treemaplayer=r._paper.append("g").classed("treemaplayer",!0),r._sunburstlayer=r._paper.append("g").classed("sunburstlayer",!0),r._indicatorlayer=r._toppaper.append("g").classed("indicatorlayer",!0),r._glimages=r._paper.append("g").classed("glimages",!0);var i=r._toppaper.append("g").classed("layer-above",!0);r._imageUpperLayer=i.append("g").classed("imagelayer",!0),r._shapeUpperLayer=i.append("g").classed("shapelayer",!0),r._selectionLayer=r._toppaper.append("g").classed("selectionlayer",!0),r._infolayer=r._toppaper.append("g").classed("infolayer",!0),r._menulayer=r._toppaper.append("g").classed("menulayer",!0),r._zoomlayer=r._toppaper.append("g").classed("zoomlayer",!0),r._hoverlayer=r._hoverpaper.append("g").classed("hoverlayer",!0),r._modebardiv.classed("modebar-container",!0).style("position","absolute").style("top","0px").style("right","0px"),e.emit("plotly_framework")}Oo.animate=Sct;Oo.addFrames=Ect;Oo.deleteFrames=kct;Oo.addTraces=yue;Oo.deleteTraces=xue;Oo.extendTraces=gue;Oo.moveTraces=Kz;Oo.prependTraces=mue;Oo.newPlot=hct;Oo._doPlot=lct;Oo.purge=Cct;Oo.react=Tct;Oo.redraw=fct;Oo.relayout=z4;Oo.restyle=YE;Oo.setPlotConfig=uct;Oo.update=ZE;Oo._guiRelayout=Jz(z4);Oo._guiRestyle=Jz(YE);Oo._guiUpdate=Jz(ZE);Oo._storeDirectGUIEdit=gct});var z1=ne(Xv=>{"use strict";var Pct=Fa();Xv.getDelay=function(e){return e._has&&(e._has("gl3d")||e._has("map"))?500:0};Xv.getRedrawFunc=function(e){return function(){Pct.getComponentMethod("colorbar","draw")(e)}};Xv.encodeSVG=function(e){return"data:image/svg+xml,"+encodeURIComponent(e)};Xv.encodeJSON=function(e){return"data:application/json,"+encodeURIComponent(e)};var Sue=window.URL||window.webkitURL;Xv.createObjectURL=function(e){return Sue.createObjectURL(e)};Xv.revokeObjectURL=function(e){return Sue.revokeObjectURL(e)};Xv.createBlob=function(e,t){if(t==="svg")return new window.Blob([e],{type:"image/svg+xml;charset=utf-8"});if(t==="full-json")return new window.Blob([e],{type:"application/json;charset=utf-8"});var r=Dct(window.atob(e));return new window.Blob([r],{type:"image/"+t})};Xv.octetStream=function(e){document.location.href="data:application/octet-stream"+e};Xv.getPlotTitle=function(e){var n,a,i,o;var t=e._fullLayout;if(t){var r=(n=t.title)==null?void 0:n.text;return r===((a=t._dfltTitle)==null?void 0:a.plot)?void 0:r}return(o=(i=e.layout)==null?void 0:i.title)==null?void 0:o.text};Xv.getPlotSubtitle=function(e){var n,a,i,o,s,l;var t=e._fullLayout;if(t){var r=(a=(n=t.title)==null?void 0:n.subtitle)==null?void 0:a.text;return r===((i=t._dfltTitle)==null?void 0:i.subtitle)?void 0:r}return(l=(s=(o=e.layout)==null?void 0:o.title)==null?void 0:s.subtitle)==null?void 0:l.text};function Dct(e){for(var t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r),a=0;a{"use strict";var eq=Ea(),prr=Zt(),Rct=li(),Ict=_a(),grr=qv(),Qz=/"/g,px="TOBESTRIPPED",zct=new RegExp(`("${px})|(${px}")|("${px})|(${px}")`,"g"),qct=["&","&","&",""",""",""","'","'","'"],Bct=["<","<","<"],Oct=[">",">",">"];function Nct(e){let t=eq.select("body").append("div").style({display:"none"}).html(""),r=e.replace(/(&[^;]*;)/gi,n=>{let a=n.toLowerCase();return qct.includes(a)?n:Bct.includes(a)?"<":Oct.includes(a)?">":n.includes("<")||n.includes(">")?"":t.html(n).text()});return t.remove(),r}function Uct(e){return e.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")}Eue.exports=function(t,r,n){var a=t._fullLayout,i=a._paper,o=a._toppaper,s=a.width,l=a.height,u;i.insert("rect",":first-child").call(Rct.setRect,0,0,s,l).call(Ict.fill,a.paper_bgcolor);var c=a._basePlotModules||[];for(u=0;u{"use strict";var Vct=Zt(),Gct=Vy().EventEmitter,B4=z1();function Hct(e){var t=e.emitter||new Gct,r=new Promise(function(n,a){var i=window.Image,o=e.svg,s=e.format||"png",l=e.canvas,u=e.scale||1,c=e.width||300,f=e.height||150,h=u*c,v=u*f,d=l.getContext("2d",{willReadFrequently:!0}),m=new i,x,g;s==="svg"||Vct.isSafari()?g=B4.encodeSVG(o):(x=B4.createBlob(o,"svg"),g=B4.createObjectURL(x)),l.width=h,l.height=v,m.onload=function(){var E;switch(x=null,B4.revokeObjectURL(g),s!=="svg"&&d.drawImage(m,0,0,h,v),s){case"jpeg":E=l.toDataURL("image/jpeg");break;case"png":E=l.toDataURL("image/png");break;case"webp":E=l.toDataURL("image/webp");break;case"svg":E=g;break;default:var M="Image format is not jpeg, png, svg or webp.";if(a(new Error(M)),!e.promise)return t.emit("error",M)}n(E),e.promise||t.emit("success",E)},m.onerror=function(E){if(x=null,B4.revokeObjectURL(g),a(E),!e.promise)return t.emit("error",E)},m.src=g});return e.promise?r:t}kue.exports=Hct});var rq=ne((xrr,Fue)=>{"use strict";var Cue=mi(),Lue=QE(),jct=Sl(),qp=Zt(),O4=z1(),Wct=ek(),Yct=tk(),Xct=g5().version,tq={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],dflt:"png"},width:{valType:"number",min:1},height:{valType:"number",min:1},scale:{valType:"number",min:0,dflt:1},setBackground:{valType:"any",dflt:!1},imageDataOnly:{valType:"boolean",dflt:!1}};function Zct(e,t){t=t||{};var r,n,a,i;qp.isPlainObject(e)?(r=e.data||[],n=e.layout||{},a=e.config||{},i={}):(e=qp.getGraphDiv(e),r=qp.extendDeep([],e.data),n=qp.extendDeep({},e.layout),a=e._context,i=e._fullLayout||{});function o(y){return!(y in t)||qp.validate(t[y],tq[y])}if(!o("width")&&t.width!==null||!o("height")&&t.height!==null)throw new Error("Height and width should be pixel values.");if(!o("format"))throw new Error("Export format is not "+qp.join2(tq.format.values,", "," or ")+".");var s={};function l(y,S){return qp.coerce(t,s,tq,y,S)}var u=l("format"),c=l("width"),f=l("height"),h=l("scale"),v=l("setBackground"),d=l("imageDataOnly"),m=document.createElement("div");m.style.position="absolute",m.style.left="-5000px",document.body.appendChild(m);var x=qp.extendFlat({},n);c?x.width=c:t.width===null&&Cue(i.width)&&(x.width=i.width),f?x.height=f:t.height===null&&Cue(i.height)&&(x.height=i.height);var g=qp.extendFlat({},a,{_exportedPlot:!0,staticPlot:!0,setBackground:v}),E=O4.getRedrawFunc(m);function M(){return new Promise(function(y){setTimeout(y,O4.getDelay(m._fullLayout))})}function w(){return new Promise(function(y,S){var T=Wct(m,u,h),p=m._fullLayout.width,C=m._fullLayout.height;function A(){Lue.purge(m),document.body.removeChild(m)}if(u==="full-json"){var P=jct.graphJson(m,!1,"object",!0,!0);return P.version=Xct,P=JSON.stringify(P),A(),y(d?P:O4.encodeJSON(P))}if(A(),u==="svg")return y(d?T:O4.encodeSVG(T));var D=document.createElement("canvas");D.id=qp.randstr(),Yct({format:u,width:p,height:C,scale:h,canvas:D,svg:T,promise:!0}).then(y).catch(S)})}function k(y){return d?y.replace(O4.IMAGE_URL_PREFIX,""):y}return new Promise(function(y,S){Lue.newPlot(m,r,x,g).then(E).then(M).then(w).then(function(T){y(k(T))}).catch(function(T){S(T)})})}Fue.exports=Zct});var Rue=ne((brr,Due)=>{"use strict";var Zv=Zt(),$ct=Sl(),Kct=Ib(),Jct=Dy().dfltConfig,N0=Zv.isPlainObject,mx=Array.isArray,nq=Zv.isArrayOrTypedArray;Due.exports=function(t,r){t===void 0&&(t=[]),r===void 0&&(r={});var n=Kct.get(),a=[],i={_context:Zv.extendFlat({},Jct)},o,s;mx(t)?(i.data=Zv.extendDeep([],t),o=t):(i.data=[],o=[],a.push(Af("array","data"))),N0(r)?(i.layout=Zv.extendDeep({},r),s=r):(i.layout={},s={},arguments.length>1&&a.push(Af("object","layout"))),$ct.supplyDefaults(i);for(var l=i._fullData,u=o.length,c=0;cf.length&&n.push(Af("unused",a,u.concat(f.length)));var g=f.length,E=Array.isArray(x);E&&(g=Math.min(g,x.length));var M,w,k,y,S;if(h.dimensions===2)for(w=0;wf[w].length&&n.push(Af("unused",a,u.concat(w,f[w].length)));var T=f[w].length;for(M=0;M<(E?Math.min(T,x[w].length):T);M++)k=E?x[w][M]:x,y=c[w][M],S=f[w][M],Zv.validate(y,k)?S!==y&&S!==+y&&n.push(Af("dynamic",a,u.concat(w,M),y,S)):n.push(Af("value",a,u.concat(w,M),y))}else n.push(Af("array",a,u.concat(w),c[w]));else for(w=0;w{"use strict";var ift=Zt(),nk=z1();function oft(e,t,r){var n=document.createElement("a"),a="download"in n,i=new Promise(function(o,s){var l,u;if(a)return l=nk.createBlob(e,r),u=nk.createObjectURL(l),n.href=u,n.download=t,document.body.appendChild(n),n.click(),document.body.removeChild(n),nk.revokeObjectURL(u),l=null,o(t);if(ift.isSafari()){var c=r==="svg"?",":";base64,";return nk.octetStream(c+encodeURIComponent(e)),o(t)}s(new Error("download error"))});return i}Iue.exports=oft});var aq=ne((wrr,Nue)=>{"use strict";var ak=Zt(),que=Ms(),sft=rq(),lft=zue(),Bue=z1(),Oue=40;function uft(e,t){var r;return ak.isPlainObject(e)||(r=ak.getGraphDiv(e)),t=t||{},t.format=t.format||"png",t.width=t.width||null,t.height=t.height||null,t.imageDataOnly=!0,new Promise(function(n,a){r&&r._snapshotInProgress&&a(new Error("Image capture already in progress.")),r&&(r._snapshotInProgress=!0);var i=sft(e,t),o=t.filename||e.fn;if(!o){let l=Bue.getPlotTitle(e);if(l&&!que.matchTex(l))o=ak.slugify(l,Oue);else{let u=Bue.getPlotSubtitle(e);u&&!que.matchTex(u)&&(o=ak.slugify(u,Oue))}}var s=o||"plot-image";s+="."+t.format.replace("-","."),i.then(function(l){return r&&(r._snapshotInProgress=!1),lft(l,s,t.format)}).then(function(l){n(l)}).catch(function(l){r&&(r._snapshotInProgress=!1),a(l)})})}Nue.exports=uft});var jue=ne(iq=>{"use strict";var Yd=Zt(),Xd=Yd.isPlainObject,Uue=Ib(),Vue=Sl(),cft=os(),Gue=Bo(),Hue=Dy().dfltConfig;iq.makeTemplate=function(e){e=Yd.isPlainObject(e)?e:Yd.getGraphDiv(e),e=Yd.extendDeep({_context:Hue},{data:e.data,layout:e.layout}),Vue.supplyDefaults(e);var t=e.data||[],r=e.layout||{};r._basePlotModules=e._fullLayout._basePlotModules,r._modules=e._fullLayout._modules;var n={data:{},layout:{}};t.forEach(function(v){var d={};N4(v,d,hft.bind(null,v));var m=Yd.coerce(v,{},cft,"type"),x=n.data[m];x||(x=n.data[m]=[]),x.push(d)}),N4(r,n.layout,fft.bind(null,r)),delete n.layout.template;var a=r.template;if(Xd(a)){var i=a.layout,o,s,l,u,c,f;Xd(i)&&ik(i,n.layout);var h=a.data;if(Xd(h)){for(s in n.data)if(l=h[s],Array.isArray(l)){for(c=n.data[s],f=c.length,u=l.length,o=0;og?o.push({code:"unused",traceType:v,templateCount:x,dataCount:g}):g>x&&o.push({code:"reused",traceType:v,templateCount:x,dataCount:g})}}function E(M,w){for(var k in M)if(k.charAt(0)!=="_"){var y=M[k],S=$v(M,k,w);Xd(y)?(Array.isArray(M)&&y._template===!1&&y.templateitemname&&o.push({code:"missing",path:S,templateitemname:y.templateitemname}),E(y,S)):Array.isArray(y)&&dft(y)&&E(y,S)}}if(E({data:l,layout:s},""),o.length)return o.map(vft)};function dft(e){for(var t=0;t{"use strict";var tf=QE();Zl._doPlot=tf._doPlot;Zl.newPlot=tf.newPlot;Zl.restyle=tf.restyle;Zl.relayout=tf.relayout;Zl.redraw=tf.redraw;Zl.update=tf.update;Zl._guiRestyle=tf._guiRestyle;Zl._guiRelayout=tf._guiRelayout;Zl._guiUpdate=tf._guiUpdate;Zl._storeDirectGUIEdit=tf._storeDirectGUIEdit;Zl.react=tf.react;Zl.extendTraces=tf.extendTraces;Zl.prependTraces=tf.prependTraces;Zl.addTraces=tf.addTraces;Zl.deleteTraces=tf.deleteTraces;Zl.moveTraces=tf.moveTraces;Zl.purge=tf.purge;Zl.addFrames=tf.addFrames;Zl.deleteFrames=tf.deleteFrames;Zl.animate=tf.animate;Zl.setPlotConfig=tf.setPlotConfig;var pft=E5().getGraphDiv,gft=gE().eraseActiveShape;Zl.deleteActiveShape=function(e){return gft(pft(e))};Zl.toImage=rq();Zl.validate=Rue();Zl.downloadImage=aq();var Wue=jue();Zl.makeTemplate=Wue.makeTemplate;Zl.validateTemplate=Wue.validateTemplate});var yx=ne((Mrr,Xue)=>{"use strict";var oq=Zt(),mft=Fa();Xue.exports=function(t,r,n,a){var i=a("x"),o=a("y"),s,l=mft.getComponentMethod("calendars","handleTraceDefaults");if(l(t,r,["x","y"],n),i){var u=oq.minRowLength(i);o?s=Math.min(u,oq.minRowLength(o)):(s=u,a("y0"),a("dy"))}else{if(!o)return 0;s=oq.minRowLength(o),a("x0"),a("dx")}return r._length=s,s}});var U0=ne((Srr,Kue)=>{"use strict";var Zue=Zt().dateTick0,yft=uo(),xft=yft.ONEWEEK;function $ue(e,t){return e%xft===0?Zue(t,1):Zue(t,0)}Kue.exports=function(t,r,n,a,i){if(i||(i={x:!0,y:!0}),i.x){var o=a("xperiod");o&&(a("xperiod0",$ue(o,r.xcalendar)),a("xperiodalignment"))}if(i.y){var s=a("yperiod");s&&(a("yperiod0",$ue(s,r.ycalendar)),a("yperiodalignment"))}}});var ece=ne((Err,Que)=>{"use strict";var Jue=["orientation","groupnorm","stackgaps"];Que.exports=function(t,r,n,a){var i=n._scatterStackOpts,o=a("stackgroup");if(o){var s=r.xaxis+r.yaxis,l=i[s];l||(l=i[s]={});var u=l[o],c=!1;u?u.traces.push(r):(u=l[o]={traceIndices:[],traces:[r]},c=!0);for(var f={orientation:r.x&&!r.y?"h":"v"},h=0;h{"use strict";var tce=_a(),rce=yh().hasColorscale,nce=bf(),bft=ml();ace.exports=function(t,r,n,a,i,o={}){var s=bft.isBubble(t),l=(t.line||{}).color,u;if(l&&(n=l),i("marker.symbol"),i("marker.opacity",s?.7:1),i("marker.size"),o.noAngle||(i("marker.angle"),o.noAngleRef||i("marker.angleref"),o.noStandOff||i("marker.standoff")),i("marker.color",n),rce(t,"marker")&&nce(t,r,a,i,{prefix:"marker.",cLetter:"c"}),o.noSelect||(i("selected.marker.color"),i("unselected.marker.color"),i("selected.marker.size"),i("unselected.marker.size")),o.noLine||(l&&!Array.isArray(l)&&r.marker.color!==l?u=l:s?u=tce.background:u=tce.defaultLine,i("marker.line.color",u),rce(t,"marker.line")&&nce(t,r,a,i,{prefix:"marker.line.",cLetter:"c"}),i("marker.line.width",s?1:0),o.noLineDash||i("marker.line.dash")),s&&(i("marker.sizeref"),i("marker.sizemin"),i("marker.sizemode")),o.gradient){var c=i("marker.gradient.type");c!=="none"&&i("marker.gradient.color")}}});var V0=ne((Crr,ice)=>{"use strict";var _ft=Zt().isArrayOrTypedArray,wft=yh().hasColorscale,Tft=bf();ice.exports=function(t,r,n,a,i,o){o||(o={});var s=(t.marker||{}).color;if(s&&s._inputArray&&(s=s._inputArray),i("line.color",n),wft(t,"line"))Tft(t,r,a,i,{prefix:"line.",cLetter:"c"});else{var l=(_ft(s)?!1:s)||n;i("line.color",l)}i("line.width"),o.noDash||i("line.dash"),o.backoff&&i("line.backoff")}});var u_=ne((Lrr,oce)=>{"use strict";oce.exports=function(t,r,n){var a=n("line.shape");a==="spline"&&n("line.smoothing")}});var G0=ne((Frr,sce)=>{"use strict";var Aft=Zt();sce.exports=function(e,t,r,n,a){a=a||{},n("textposition"),Aft.coerceFont(n,"textfont",a.font||r.font,a),a.noSelect||(n("selected.textfont.color"),n("unselected.textfont.color"))}});var Bp=ne((Prr,uce)=>{"use strict";var sk=_a(),lce=Zt().isArrayOrTypedArray;function Mft(e){for(var t=sk.interpolate(e[0][1],e[1][1],.5),r=2;r{"use strict";var cce=Zt(),Sft=Fa(),Eft=Tu(),kft=Ip(),c_=ml(),Cft=yx(),Lft=U0(),Fft=ece(),Pft=Kv(),Dft=V0(),fce=u_(),Rft=G0(),Ift=Bp(),zft=Zt().coercePattern;hce.exports=function(t,r,n,a){function i(v,d){return cce.coerce(t,r,Eft,v,d)}var o=Cft(t,r,a,i);if(o||(r.visible=!1),!!r.visible){Lft(t,r,a,i),i("xhoverformat"),i("yhoverformat"),i("zorder");var s=Fft(t,r,a,i);a.scattermode==="group"&&r.orientation===void 0&&i("orientation","v");var l=!s&&o{"use strict";var qft=vx().getAxisGroup;vce.exports=function(t,r,n,a,i){var o=r.orientation,s=r[{v:"x",h:"y"}[o]+"axis"],l=qft(n,s)+o,u=n._alignmentOpts||{},c=a("alignmentgroup"),f=u[l];f||(f=u[l]={});var h=f[c];h?h.traces.push(r):h=f[c]={traces:[r],alignmentIndex:Object.keys(f).length,offsetGroups:{}};var v=a("offsetgroup")||"",d=h.offsetGroups,m=d[v];r._offsetIndex=0,(i!=="group"||v)&&(m||(m=d[v]={offsetIndex:Object.keys(d).length}),r._offsetIndex=m.offsetIndex)}});var sq=ne((Irr,pce)=>{"use strict";var Bft=Zt(),Oft=xx(),Nft=Tu();pce.exports=function(t,r){var n,a,i,o=r.scattermode;function s(h){return Bft.coerce(a._input,a,Nft,h)}if(r.scattermode==="group")for(i=0;i=0;c--){var f=t[c];if(f.type==="scatter"&&f.xaxis===l.xaxis&&f.yaxis===l.yaxis){f.opacity=void 0;break}}}}}});var mce=ne((zrr,gce)=>{"use strict";var Uft=Zt(),Vft=iS();gce.exports=function(e,t){function r(a,i){return Uft.coerce(e,t,Vft,a,i)}var n=t.barmode==="group";t.scattermode==="group"&&r("scattergap",n?t.bargap:.2)}});var H0=ne((qrr,xce)=>{"use strict";var Gft=mi(),yce=Zt(),Hft=yce.dateTime2ms,lk=yce.incrementMonth,jft=uo(),Wft=jft.ONEAVGMONTH;xce.exports=function(t,r,n,a){if(r.type!=="date")return{vals:a};var i=t[n+"periodalignment"];if(!i)return{vals:a};var o=t[n+"period"],s;if(Gft(o)){if(o=+o,o<=0)return{vals:a}}else if(typeof o=="string"&&o.charAt(0)==="M"){var l=+o.substring(1);if(l>0&&Math.round(l)===l)s=l;else return{vals:a}}for(var u=r.calendar,c=i==="start",f=i==="end",h=t[n+"period0"],v=Hft(h,u)||0,d=[],m=[],x=[],g=a.length,E=0;EM;)y=lk(y,-s,u);for(;y<=M;)y=lk(y,s,u);k=lk(y,-s,u)}else{for(w=Math.round((M-v)/o),y=v+w*o;y>M;)y-=o;for(;y<=M;)y+=o;k=y-o}d[E]=c?k:f?y:(k+y)/2,m[E]=k,x[E]=y}return{vals:d,starts:m,ends:x}}});var Jv=ne((Brr,_ce)=>{"use strict";var lq=yh().hasColorscale,uq=qh(),bce=ml();_ce.exports=function(t,r){bce.hasLines(r)&&lq(r,"line")&&uq(t,r,{vals:r.line.color,containerStr:"line",cLetter:"c"}),bce.hasMarkers(r)&&(lq(r,"marker")&&uq(t,r,{vals:r.marker.color,containerStr:"marker",cLetter:"c"}),lq(r,"marker.line")&&uq(t,r,{vals:r.marker.line.color,containerStr:"marker.line",cLetter:"c"}))}});var Op=ne((Orr,wce)=>{"use strict";var qu=Zt();wce.exports=function(t,r){for(var n=0;n{"use strict";var Tce=Zt();Ace.exports=function(t,r){Tce.isArrayOrTypedArray(r.selectedpoints)&&Tce.tagSelected(t,r)}});var Qv=ne((Urr,Fce)=>{"use strict";var Mce=mi(),fq=Zt(),U4=ri(),Sce=H0(),cq=uo().BADNUM,hq=ml(),Yft=Jv(),Xft=Op(),Zft=mv();function $ft(e,t){var r=e._fullLayout,n=t._xA=U4.getFromId(e,t.xaxis||"x","x"),a=t._yA=U4.getFromId(e,t.yaxis||"y","y"),i=n.makeCalcdata(t,"x"),o=a.makeCalcdata(t,"y"),s=Sce(t,n,"x",i),l=Sce(t,a,"y",o),u=s.vals,c=l.vals,f=t._length,h=new Array(f),v=t.ids,d=dq(t,r,n,a),m=!1,x,g,E,M,w,k;Cce(r,t);var y="x",S="y",T;if(d)fq.pushUnique(d.traceIndices,t.index),x=d.orientation==="v",x?(S="s",T="x"):(y="s",T="y"),w=d.stackgaps==="interpolate";else{var p=kce(t,f);Ece(e,t,n,a,u,c,p)}var C=!!t.xperiodalignment,A=!!t.yperiodalignment;for(g=0;gg&&h[M].gap;)M--;for(k=h[M].s,E=h.length-1;E>M;E--)h[E].s=k;for(;g{"use strict";Pce.exports=uk;var Kft=Zt().distinctVals;function uk(e,t){this.traces=e,this.sepNegVal=t.sepNegVal,this.overlapNoMerge=t.overlapNoMerge;for(var r=1/0,n=t.posAxis._id.charAt(0),a=[],i=0;i{"use strict";Rce.exports={TEXTPAD:3,eventDataKeys:["value","label"]}});var bx=ne((Hrr,Bce)=>{"use strict";var e0=mi(),{isArrayOrTypedArray:q1}=Zt(),{BADNUM:f_}=uo(),Jft=Fa(),V4=ri(),{getAxisGroup:Qft}=vx(),ck=Dce(),{TEXTPAD:eht}=um(),{LINE_SPACING:tht}=qc(),{BR_TAG_ALL:rht}=Ms();function nht(e,t){for(var r=t.xaxis,n=t.yaxis,a=e._fullLayout,i=e._fullData,o=e.calcdata,s=[],l=[],u=0;ul+o||!e0(s))}for(var c=0;cn(i))):n(e.text);let a=e.outsidetextfont.size*tht*r+eht;return{ppadplus:t.some(i=>i.s<0)?a:0,ppadminus:t.some(i=>i.s>=0)?a:0}}return{ppadplus:void 0,ppadminus:void 0}}function dht(e,t,r,n){for(var a=h_(n),i=0;i{"use strict";var Oce=Qv(),Nce=bx().setGroupPositions;function pht(e,t){for(var r=t.xaxis,n=t.yaxis,a=e._fullLayout,i=e._fullData,o=e.calcdata,s=[],l=[],u=0;up[c]&&c{"use strict";var mht=li(),Wce=uo(),G4=Wce.BADNUM,Yce=Wce.LOG_CLIP,Gce=Yce+.5,Hce=Yce-.5,fk=Zt(),yht=fk.segmentsIntersect,jce=fk.constrain,bq=Ip();Xce.exports=function(t,r){var n=r.trace||{},a=r.xaxis,i=r.yaxis,o=a.type==="log",s=i.type==="log",l=a._length,u=i._length,c=r.backoff,f=n.marker,h=r.connectGaps,v=r.baseTolerance,d=r.shape,m=d==="linear",x=n.fill&&n.fill!=="none",g=[],E=bq.minTolerance,M=t.length,w=new Array(M),k=0,y,S,T,p,C,A,P,D,z,q,U,O,R,B,Y,X;function te(Ye){var Te=t[Ye];if(!Te)return!1;var Fe=r.linearized?a.l2p(Te.x):a.c2p(Te.x),Ae=r.linearized?i.l2p(Te.y):i.c2p(Te.y);if(Fe===G4){if(o&&(Fe=a.c2p(Te.x,!0)),Fe===G4)return!1;s&&Ae===G4&&(Fe*=Math.abs(a._m*u*(a._m>0?Gce:Hce)/(i._m*l*(i._m>0?Gce:Hce)))),Fe*=1e3}if(Ae===G4){if(s&&(Ae=i.c2p(Te.y,!0)),Ae===G4)return!1;Ae*=1e3}return[Fe,Ae]}function se(Ye,Te,Fe,Ae){var Re=Fe-Ye,Ze=Ae-Te,Ke=.5-Ye,_t=.5-Te,St=Re*Re+Ze*Ze,Vt=Re*Ke+Ze*_t;if(Vt>0&&Vt1||Math.abs(Ke.y-Fe[0][1])>1)&&(Ke=[Ke.x,Ke.y],Ae&&fe(Ke,Ye)we||Ye[1]ye)return[jce(Ye[0],oe,we),jce(Ye[1],he,ye)]}function lt(Ye,Te){if(Ye[0]===Te[0]&&(Ye[0]===oe||Ye[0]===we)||Ye[1]===Te[1]&&(Ye[1]===he||Ye[1]===ye))return!0}function Ie(Ye,Te){var Fe=[],Ae=mt(Ye),Re=mt(Te);return Ae&&Re&<(Ae,Re)||(Ae&&Fe.push(Ae),Re&&Fe.push(Re)),Fe}function de(Ye,Te,Fe){return function(Ae,Re){var Ze=mt(Ae),Ke=mt(Re),_t=[];if(Ze&&Ke&<(Ze,Ke))return _t;Ze&&_t.push(Ze),Ke&&_t.push(Ke);var St=2*fk.constrain((Ae[Ye]+Re[Ye])/2,Te,Fe)-((Ze||Ae)[Ye]+(Ke||Re)[Ye]);if(St){var Vt;Ze&&Ke?Vt=St>0==Ze[Ye]>Ke[Ye]?Ze:Ke:Vt=Ze||Ke,Vt[Ye]+=St}return _t}}var Ee;d==="linear"||d==="spline"?Ee=qe:d==="hv"||d==="vh"?Ee=Ie:d==="hvh"?Ee=de(0,oe,we):d==="vhv"&&(Ee=de(1,he,ye));function Ue(Ye,Te){var Fe=Te[0]-Ye[0],Ae=(Te[1]-Ye[1])/Fe,Re=(Ye[1]*Te[0]-Te[1]*Ye[0])/Fe;return Re>0?[Ae>0?oe:we,ye]:[Ae>0?we:oe,he]}function ge(Ye){var Te=Ye[0],Fe=Ye[1],Ae=Te===w[k-1][0],Re=Fe===w[k-1][1];if(!(Ae&&Re))if(k>1){var Ze=Te===w[k-2][0],Ke=Fe===w[k-2][1];Ae&&(Te===oe||Te===we)&&Ze?Ke?k--:w[k-1]=Ye:Re&&(Fe===he||Fe===ye)&&Ke?Ze?k--:w[k-1]=Ye:w[k++]=Ye}else w[k++]=Ye}function Ge(Ye){w[k-1][0]!==Ye[0]&&w[k-1][1]!==Ye[1]&&ge([Xe,vt]),ge(Ye),st=null,Xe=vt=0}var tt=fk.isArrayOrTypedArray(f);function ft(Ye){if(Ye&&c&&(Ye.i=y,Ye.d=t,Ye.trace=n,Ye.marker=tt?f[Ye.i]:f,Ye.backoff=c),ue=Ye[0]/l,re=Ye[1]/u,le=Ye[0]we?we:0,ze=Ye[1]ye?ye:0,le||ze){if(!k)w[k++]=[le||Ye[0],ze||Ye[1]];else if(st){var Te=Ee(st,Ye);Te.length>1&&(Ge(Te[0]),w[k++]=Te[1])}else Oe=Ee(w[k-1],Ye)[0],w[k++]=Oe;var Fe=w[k-1];le&&ze&&(Fe[0]!==le||Fe[1]!==ze)?(st&&(Xe!==le&&vt!==ze?ge(Xe&&vt?Ue(st,Ye):[Xe||le,vt||ze]):Xe&&vt&&ge([Xe,vt])),ge([le,ze])):Xe-le&&vt-ze&&ge([le||Xe,ze||vt]),st=Ye,Xe=le,vt=ze}else st&&Ge(Ee(st,Ye)[0]),w[k++]=Ye}for(y=0;yj(A,He))break;T=A,R=z[0]*D[0]+z[1]*D[1],R>U?(U=R,p=A,P=!1):R=t.length||!A)break;ft(A),S=A}}st&&ge([Xe||st[0],vt||st[1]]),g.push(w.slice(0,k))}var Qe=d.slice(d.length-1);if(c&&Qe!=="h"&&Qe!=="v"){for(var We=!1,pt=-1,kt=[],qt=0;qt{"use strict";var Zce={tonextx:1,tonexty:1,tonext:1};$ce.exports=function(t,r,n){var a,i,o,s,l,u={},c=!1,f=-1,h=0,v=-1;for(i=0;i=0?l=v:(l=v=h,h++),l{"use strict";var j0=Ea(),xht=Fa(),H4=Zt(),d_=H4.ensureSingle,Jce=H4.identity,$u=li(),v_=ml(),bht=_q(),_ht=wq(),hk=x4().tester;Qce.exports=function(t,r,n,a,i,o){var s,l,u=!i,c=!!i&&i.duration>0,f=_ht(t,r,n);if(s=a.selectAll("g.trace").data(f,function(v){return v[0].trace.uid}),s.enter().append("g").attr("class",function(v){return"trace scatter trace"+v[0].trace.uid}).style("stroke-miterlimit",2),s.order(),wht(t,s,r),c){o&&(l=o());var h=j0.transition().duration(i.duration).ease(i.easing).each("end",function(){l&&l()}).each("interrupt",function(){l&&l()});h.each(function(){a.selectAll("g.trace").each(function(v,d){Kce(t,d,r,v,f,this,i)})})}else s.each(function(v,d){Kce(t,d,r,v,f,this,i)});u&&s.exit().remove(),a.selectAll("path:not([d])").remove()};function wht(e,t,r){t.each(function(n){var a=d_(j0.select(this),"g","fills");$u.setClipUrl(a,r.layerClipId,e);var i=n[0].trace;i._ownFill=null,i._nextFill=null;var o=[];i._ownfill&&o.push("_ownFill"),i._nexttrace&&o.push("_nextFill");var s=a.selectAll("g").data(o,Jce);s.enter().append("g"),s.exit().remove(),s.order().each(function(l){i[l]=d_(j0.select(this),"path","js-fill")})})}function Kce(e,t,r,n,a,i,o){var s=e._context.staticPlot,l;Tht(e,t,r,n,a);var u=!!o&&o.duration>0;function c(de){return u?de.transition():de}var f=r.xaxis,h=r.yaxis,v=n[0].trace,d=v.line,m=j0.select(i),x=d_(m,"g","errorbars"),g=d_(m,"g","lines"),E=d_(m,"g","points"),M=d_(m,"g","text");if(xht.getComponentMethod("errorbars","plot")(e,x,r,o),v.visible!==!0)return;c(m).style("opacity",v.opacity);var w,k,y=v.fill.charAt(v.fill.length-1);y!=="x"&&y!=="y"&&(y="");var S,T;y==="y"?(S=1,T=h.c2p(0,!0)):y==="x"&&(S=0,T=f.c2p(0,!0)),n[0][r.isRangePlot?"nodeRangePlot3":"node3"]=m;var p="",C=[],A=v._prevtrace,P=null,D=null;A&&(p=A._prevRevpath||"",k=A._nextFill,C=A._ownPolygons,P=A._fillsegments,D=A._fillElement);var z,q,U="",O="",R,B,Y,X,te,se,ue=[];v._polygons=[];var re=[],j=[],fe=H4.noop;if(w=v._ownFill,v_.hasLines(v)||v.fill!=="none"){k&&k.datum(n),["hv","vh","hvh","vhv"].indexOf(d.shape)!==-1?(R=$u.steps(d.shape),B=$u.steps(d.shape.split("").reverse().join(""))):d.shape==="spline"?R=B=function(de){var Ee=de[de.length-1];return de.length>1&&de[0][0]===Ee[0]&&de[0][1]===Ee[1]?$u.smoothclosed(de.slice(1),d.smoothing):$u.smoothopen(de,d.smoothing)}:R=B=function(de){return"M"+de.join("L")},Y=function(de){return B(de.reverse())},j=bht(n,{xaxis:f,yaxis:h,trace:v,connectGaps:v.connectgaps,baseTolerance:Math.max(d.width||1,3)/4,shape:d.shape,backoff:d.backoff,simplify:d.simplify,fill:v.fill}),re=new Array(j.length);var ce=0;for(l=0;l=s[0]&&m.x<=s[1]&&m.y>=l[0]&&m.y<=l[1]}),h=Math.ceil(f.length/c),v=0;a.forEach(function(m,x){var g=m[0].trace;v_.hasMarkers(g)&&g.marker.maxdisplayed>0&&x{"use strict";efe.exports={container:"marker",min:"cmin",max:"cmax"}});var vk=ne(($rr,tfe)=>{"use strict";var dk=ri();tfe.exports=function(t,r,n){var a={},i={_fullLayout:n},o=dk.getFromTrace(i,r,"x"),s=dk.getFromTrace(i,r,"y"),l=t.orig_x;l===void 0&&(l=t.x);var u=t.orig_y;return u===void 0&&(u=t.y),a.xLabel=dk.tickText(o,o.c2l(l),!0).text,a.yLabel=dk.tickText(s,s.c2l(u),!0).text,a}});var Md=ne((Krr,rfe)=>{"use strict";var Tq=Ea(),g_=li(),Aht=Fa();function Mht(e){var t=Tq.select(e).selectAll("g.trace.scatter");t.style("opacity",function(r){return r[0].trace.opacity}),t.selectAll("g.points").each(function(r){var n=Tq.select(this),a=r.trace||r[0].trace;Aq(n,a,e)}),t.selectAll("g.text").each(function(r){var n=Tq.select(this),a=r.trace||r[0].trace;Mq(n,a,e)}),t.selectAll("g.trace path.js-line").call(g_.lineGroupStyle),t.selectAll("g.trace path.js-fill").call(g_.fillGroupStyle,e,!1),Aht.getComponentMethod("errorbars","style")(t)}function Aq(e,t,r){g_.pointStyle(e.selectAll("path.point"),t,r)}function Mq(e,t,r){g_.textPointStyle(e.selectAll("text"),t,r)}function Sht(e,t,r){var n=t[0].trace;n.selectedpoints?(g_.selectedPointStyle(r.selectAll("path.point"),n),g_.selectedTextStyle(r.selectAll("text"),n)):(Aq(r,n,e),Mq(r,n,e))}rfe.exports={style:Mht,stylePoints:Aq,styleText:Mq,styleOnSelect:Sht}});var y_=ne((Jrr,nfe)=>{"use strict";var m_=_a(),Eht=ml();nfe.exports=function(t,r){var n,a;if(t.mode==="lines")return n=t.line.color,n&&m_.opacity(n)?n:t.fillcolor;if(t.mode==="none")return t.fill?t.fillcolor:"";var i=r.mcc||(t.marker||{}).color,o=r.mlcc||((t.marker||{}).line||{}).color;return a=i&&m_.opacity(i)?i:o&&m_.opacity(o)&&(r.mlw||((t.marker||{}).line||{}).width)?o:"",a?m_.opacity(a)<.3?m_.addOpacity(a,.3):a:(n=(t.line||{}).color,n&&m_.opacity(n)&&Eht.hasLines(t)&&t.line.width?n:t.fillcolor)}});var x_=ne((Qrr,ife)=>{"use strict";var pk=Zt(),afe=cu(),kht=Fa(),Cht=y_(),Sq=_a(),Lht=pk.fillText;ife.exports=function(t,r,n,a){var i=t.cd,o=i[0].trace,s=t.xa,l=t.ya,u=s.c2p(r),c=l.c2p(n),f=[u,c],h=o.hoveron||"",v=o.mode.indexOf("markers")!==-1?3:.5,d=!!o.xperiodalignment,m=!!o.yperiodalignment;if(h.indexOf("points")!==-1){var x=function(O){if(d){var R=s.c2p(O.xStart),B=s.c2p(O.xEnd);return u>=Math.min(R,B)&&u<=Math.max(R,B)?0:1/0}var Y=Math.max(3,O.mrc||0),X=1-1/Y,te=Math.abs(s.c2p(O.x)-u);return te=Math.min(R,B)&&c<=Math.max(R,B)?0:1/0}var Y=Math.max(3,O.mrc||0),X=1-1/Y,te=Math.abs(l.c2p(O.y)-c);return teue!=ye>=ue&&(oe=fe[j-1][0],we=fe[j][0],ye-he&&(ce=oe+(we-oe)*(ue-he)/(ye-he),Y=Math.min(Y,ce),X=Math.max(X,ce)));return Y=Math.max(Y,0),X=Math.min(X,s._length),{x0:Y,x1:X,y0:ue,y1:ue}}if(h.indexOf("fills")!==-1&&o._fillElement){var z=P(o._fillElement)&&!P(o._fillExclusionElement);if(z){var q=D(o._polygons);q===null&&(q={x0:f[0],x1:f[0],y0:f[1],y1:f[1]});var U=Sq.defaultLine;return Sq.opacity(o.fillcolor)?U=o.fillcolor:Sq.opacity((o.line||{}).color)&&(U=o.line.color),pk.extendFlat(t,{distance:t.maxHoverDistance,x0:q.x0,x1:q.x1,y0:q.y0,y1:q.y1,color:U,hovertemplate:!1}),delete t.index,o.text&&!pk.isArrayOrTypedArray(o.text)?t.text=String(o.text):t.text=o.name,[t]}}}});var _x=ne((enr,sfe)=>{"use strict";var ofe=ml();sfe.exports=function(t,r){var n=t.cd,a=t.xaxis,i=t.yaxis,o=[],s=n[0].trace,l,u,c,f,h=s.mode&&!ofe.hasMarkers(s)&&!ofe.hasText(s);if(h)return[];if(r===!1)for(l=0;l{"use strict";lfe.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes"},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes"}}});var kq=ne((rnr,hfe)=>{"use strict";var gk=Fa().traceIs,Eq=Wb();hfe.exports=function(t,r,n,a){n("autotypenumbers",a.autotypenumbersDflt);var i=n("type",(a.splomStash||{}).type);i==="-"&&(Fht(r,a.data),r.type==="-"?r.type="linear":t.type=r.type)};function Fht(e,t){if(e.type==="-"){var r=e._id,n=r.charAt(0),a;r.indexOf("scene")!==-1&&(r=n);var i=Pht(t,r,n);if(i){if(i.type==="histogram"&&n==={v:"y",h:"x"}[i.orientation||"v"]){e.type="linear";return}var o=n+"calendar",s=i[o],l={noMultiCategory:!gk(i,"cartesian")||gk(i,"noMultiCategory")};if(i.type==="box"&&i._hasPreCompStats&&n==={h:"x",v:"y"}[i.orientation||"v"]&&(l.noMultiCategory=!0),l.autotypenumbers=e.autotypenumbers,ffe(i,n)){var u=cfe(i),c=[];for(a=0;a0&&(a["_"+r+"axes"]||{})[t])return a;if((a[r+"axis"]||r)===t){if(ffe(a,r))return a;if((a[r]||[]).length||a[r+"0"])return a}}}function cfe(e){return{v:"x",h:"y"}[e.orientation||"v"]}function ffe(e,t){var r=cfe(e),n=gk(e,"box-violin");return n&&t===r&&e[r]===void 0&&e[r+"0"]===void 0}});var mk=ne((nnr,dfe)=>{"use strict";var Dht=Ih().isTypedArraySpec;function Rht(e,t){var r=t.dataAttr||e._id.charAt(0),n={},a,i,o;if(t.axData)a=t.axData;else for(a=[],i=0;i0||Dht(i),s;o&&(s="array");var l=n("categoryorder",s),u;l==="array"&&(u=n("categoryarray")),!o&&l==="array"&&(l=r.categoryorder="trace"),l==="trace"?r._initialCategories=[]:l==="array"?r._initialCategories=u.slice():(u=Rht(r,a).sort(),l==="category ascending"?r._initialCategories=u:l==="category descending"&&(r._initialCategories=u.reverse()))}}});var j4=ne((anr,pfe)=>{"use strict";var vfe=_a(),Iht=Ic(),zht=Zt();pfe.exports=function(t,r,n,a){a=a||{};var i=a.dfltColor;function o(T,p){return zht.coerce2(t,r,a.attributes,T,p)}var s=o("linecolor",i),l=o("linewidth"),u=n("showline",a.showLine||!!s||!!l);u||(delete r.linecolor,delete r.linewidth);var c=vfe.mix(i,a.bgColor,a.blend||Iht.lightFraction),f=o("gridcolor",c),h=o("gridwidth"),v=o("griddash"),d=n("showgrid",a.showGrid||!!f||!!h||!!v);if(d||(delete r.gridcolor,delete r.gridwidth,delete r.griddash),a.hasMinor){var m=vfe.mix(r.gridcolor,a.bgColor,67),x=o("minor.gridcolor",m),g=o("minor.gridwidth",r.gridwidth||1),E=o("minor.griddash",r.griddash||"solid"),M=n("minor.showgrid",!!x||!!g||!!E);M||(delete r.minor.gridcolor,delete r.minor.gridwidth,delete r.minor.griddash)}if(!a.noZeroLine){var w=o("zerolinelayer"),k=o("zerolinecolor",i),y=o("zerolinewidth"),S=n("zeroline",a.showGrid||!!k||!!y);S||(delete r.zerolinelayer,delete r.zerolinecolor,delete r.zerolinewidth)}}});var Y4=ne((inr,_fe)=>{"use strict";var gfe=mi(),qht=Fa(),W4=Zt(),Bht=Bo(),Oht=zh(),Cq=Wf(),mfe=Xy(),yfe=Nb(),Nht=Hg(),Uht=jg(),Vht=mk(),Ght=j4(),Hht=yI(),xfe=Tp(),yk=zc().WEEKDAY_PATTERN,jht=zc().HOUR_PATTERN;_fe.exports=function(t,r,n,a,i){var o=a.letter,s=a.font||{},l=a.splomStash||{},u=n("visible",!a.visibleDflt),c=r._template||{},f=r.type||c.type||"-",h;if(f==="date"){var v=qht.getComponentMethod("calendars","handleDefaults");v(t,r,"calendar",a.calendar),a.noTicklabelmode||(h=n("ticklabelmode"))}!a.noTicklabelindex&&(f==="date"||f==="linear")&&n("ticklabelindex");var d="";(!a.noTicklabelposition||f==="multicategory")&&(d=W4.coerce(t,r,{ticklabelposition:{valType:"enumerated",dflt:"outside",values:h==="period"?["outside","inside"]:o==="x"?["outside","inside","outside left","inside left","outside right","inside right"]:["outside","inside","outside top","inside top","outside bottom","inside bottom"]}},"ticklabelposition")),a.noTicklabeloverflow||n("ticklabeloverflow",d.indexOf("inside")!==-1?"hide past domain":f==="category"||f==="multicategory"?"allow":"hide past div"),xfe(r,i),Hht(t,r,n,a),Vht(t,r,n,a),a.noHover||(f!=="category"&&n("hoverformat"),a.noUnifiedhovertitle||n("unifiedhovertitle.text"));var m=n("color"),x=m!==Cq.color.dflt?m:s.color,g=l.label||i._dfltTitle[o];if(Uht(t,r,n,f,a),!u)return r;n("title.text",g),W4.coerceFont(n,"title.font",s,{overrideDflt:{size:W4.bigFont(s.size),color:x}}),mfe(t,r,n,f);var E=a.hasMinor;if(E&&(Bht.newContainer(r,"minor"),mfe(t,r,n,f,{isMinor:!0})),Nht(t,r,n,f,a),yfe(t,r,n,a),E){var M=a.isMinor;a.isMinor=!0,yfe(t,r,n,a),a.isMinor=M}Ght(t,r,n,{dfltColor:m,bgColor:a.bgColor,showGrid:a.showGrid,hasMinor:E,attributes:Cq}),E&&r.ticklabelindex==null&&!r.minor.ticks&&!r.minor.showgrid&&delete r.minor,(r.showline||r.ticks)&&n("mirror");var w=f==="multicategory";if(!a.noTickson&&(f==="category"||w)&&(r.ticks||r.showgrid)&&(w?(n("tickson","boundaries"),delete r.ticklabelposition):n("tickson")),w){var k=n("showdividers");k&&(n("dividercolor"),n("dividerwidth"))}if(f==="date")if(Oht(t,r,{name:"rangebreaks",inclusionAttr:"enabled",handleItemDefaults:Wht}),!r.rangebreaks.length)delete r.rangebreaks;else{for(var y=0;y=2){var o="",s,l;if(i.length===2){for(s=0;s<2;s++)if(l=bfe(i[s]),l){o=yk;break}}var u=n("pattern",o);if(u===yk)for(s=0;s<2;s++)l=bfe(i[s]),l&&(t.bounds[s]=i[s]=l-1);if(u)for(s=0;s<2;s++)switch(l=i[s],u){case yk:if(!gfe(l)){t.enabled=!1;return}if(l=+l,l!==Math.floor(l)||l<0||l>=7){t.enabled=!1;return}t.bounds[s]=i[s]=l;break;case jht:if(!gfe(l)){t.enabled=!1;return}if(l=+l,l<0||l>24){t.enabled=!1;return}t.bounds[s]=i[s]=l;break}if(r.autorange===!1){var c=r.range;if(c[0]c[1]){t.enabled=!1;return}}else if(i[0]>c[0]&&i[1]{"use strict";var Xht=mi(),xk=Zt();wfe.exports=function(t,r,n,a){var i=a.counterAxes||[],o=a.overlayableAxes||[],s=a.letter,l=a.grid,u=a.overlayingDomain,c,f,h,v,d,m;l&&(f=l._domains[s][l._axisMap[r._id]],c=l._anchors[r._id],f&&(h=l[s+"side"].split(" ")[0],v=l.domain[s][h==="right"||h==="top"?1:0])),f=f||[0,1],c=c||(Xht(t.position)?"free":i[0]||"free"),h=h||(s==="x"?"bottom":"left"),v=v||0,d=0,m=!1;var x=xk.coerce(t,r,{anchor:{valType:"enumerated",values:["free"].concat(i),dflt:c}},"anchor"),g=xk.coerce(t,r,{side:{valType:"enumerated",values:s==="x"?["bottom","top"]:["left","right"],dflt:h}},"side");if(x==="free"){if(s==="y"){var E=n("autoshift");E&&(v=g==="left"?u[0]:u[1],m=r.automargin?r.automargin:!0,d=g==="left"?-3:3),n("shift",d)}n("position",v)}n("automargin",m);var M=!1;if(o.length&&(M=xk.coerce(t,r,{overlaying:{valType:"enumerated",values:[!1].concat(o),dflt:!1}},"overlaying")),!M){var w=n("domain",f);w[0]>w[1]-1/4096&&(r.domain=f),xk.noneOrAll(t.domain,r.domain,f),r.tickmode==="sync"&&(r.tickmode="auto")}return n("layer"),r}});var Ffe=ne((snr,Lfe)=>{"use strict";var wx=Zt(),Tfe=_a(),Zht=Hd().isUnifiedHover,$ht=HI(),Afe=Bo(),Kht=Ab(),Mfe=Wf(),Jht=kq(),Sfe=Y4(),Qht=vx(),Efe=bk(),Fq=uu(),Np=Fq.id2name,kfe=Fq.name2id,edt=zc().AX_ID_PATTERN,Cfe=Fa(),_k=Cfe.traceIs,Lq=Cfe.getComponentMethod;function wk(e,t,r){Array.isArray(e[t])?e[t].push(r):e[t]=[r]}Lfe.exports=function(t,r,n){var a=r.autotypenumbers,i={},o={},s={},l={},u={},c={},f={},h={},v={},d={},m,x;for(m=0;m{"use strict";var tdt=Ea(),Pfe=Fa(),Tk=Zt(),yv=li(),Ak=ri();Dfe.exports=function(t,r,n,a){var i=t._fullLayout;if(r.length===0){Ak.redrawComponents(t);return}function o(x){var g=x.xaxis,E=x.yaxis;i._defs.select("#"+x.clipId+"> rect").call(yv.setTranslate,0,0).call(yv.setScale,1,1),x.plot.call(yv.setTranslate,g._offset,E._offset).call(yv.setScale,1,1);var M=x.plot.selectAll(".scatterlayer .trace");M.selectAll(".point").call(yv.setPointGroupScale,1,1),M.selectAll(".textpoint").call(yv.setTextPointsScale,1,1),M.call(yv.hideOutsideRangePoints,x)}function s(x,g){var E=x.plotinfo,M=E.xaxis,w=E.yaxis,k=M._length,y=w._length,S=!!x.xr1,T=!!x.yr1,p=[];if(S){var C=Tk.simpleMap(x.xr0,M.r2l),A=Tk.simpleMap(x.xr1,M.r2l),P=C[1]-C[0],D=A[1]-A[0];p[0]=(C[0]*(1-g)+g*A[0]-C[0])/(C[1]-C[0])*k,p[2]=k*(1-g+g*D/P),M.range[0]=M.l2r(C[0]*(1-g)+g*A[0]),M.range[1]=M.l2r(C[1]*(1-g)+g*A[1])}else p[0]=0,p[2]=k;if(T){var z=Tk.simpleMap(x.yr0,w.r2l),q=Tk.simpleMap(x.yr1,w.r2l),U=z[1]-z[0],O=q[1]-q[0];p[1]=(z[1]*(1-g)+g*q[1]-z[1])/(z[0]-z[1])*y,p[3]=y*(1-g+g*O/U),w.range[0]=M.l2r(z[0]*(1-g)+g*q[0]),w.range[1]=w.l2r(z[1]*(1-g)+g*q[1])}else p[1]=0,p[3]=y;Ak.drawOne(t,M,{skipTitle:!0}),Ak.drawOne(t,w,{skipTitle:!0}),Ak.redrawComponents(t,[M._id,w._id]);var R=S?k/p[2]:1,B=T?y/p[3]:1,Y=S?p[0]:0,X=T?p[1]:0,te=S?p[0]/p[2]*k:0,se=T?p[1]/p[3]*y:0,ue=M._offset-te,re=w._offset-se;E.clipRect.call(yv.setTranslate,Y,X).call(yv.setScale,1/R,1/B),E.plot.call(yv.setTranslate,ue,re).call(yv.setScale,R,B),yv.setPointGroupScale(E.zoomScalePts,1/R,1/B),yv.setTextPointsScale(E.zoomScaleTxt,1/R,1/B)}var l;a&&(l=a());function u(){for(var x={},g=0;gn.duration?(u(),v=window.cancelAnimationFrame(m)):v=window.requestAnimationFrame(m)}return f=Date.now(),v=window.requestAnimationFrame(m),Promise.resolve()}});var Ku=ne(Nh=>{"use strict";var Sk=Ea(),Ife=Fa(),Tx=Zt(),rdt=Sl(),ndt=li(),zfe=mh().getModuleCalcData,cm=uu(),W0=zc(),adt=qv(),ss=Tx.ensureSingle;function Mk(e,t,r){return Tx.ensureSingle(e,t,r,function(n){n.datum(r)})}var Ax=W0.zindexSeparator;Nh.name="cartesian";Nh.attr=["xaxis","yaxis"];Nh.idRoot=["x","y"];Nh.idRegex=W0.idRegex;Nh.attrRegex=W0.attrRegex;Nh.attributes=ufe();Nh.layoutAttributes=Wf();Nh.supplyLayoutDefaults=Ffe();Nh.transitionAxes=Rfe();Nh.finalizeSubplots=function(e,t){var r=t._subplots,n=r.xaxis,a=r.yaxis,i=r.cartesian,o=i,s={},l={},u,c,f;for(u=0;u0){var v=h.id;if(v.indexOf(Ax)!==-1)continue;v+=Ax+(u+1),h=Tx.extendFlat({},h,{id:v,plot:a._cartesianlayer.selectAll(".subplot").select("."+v)})}for(var d=[],m,x=0;x1&&(k+=Ax+w),M.push(s+k),o=0;o1,f=t.mainplotinfo;if(!t.mainplot||c)if(u)t.xlines=ss(n,"path","xlines-above"),t.ylines=ss(n,"path","ylines-above"),t.xaxislayer=ss(n,"g","xaxislayer-above"),t.yaxislayer=ss(n,"g","yaxislayer-above");else{if(!o){var h=ss(n,"g","layer-subplot");t.shapelayer=ss(h,"g","shapelayer"),t.imagelayer=ss(h,"g","imagelayer"),f&&c?(t.minorGridlayer=f.minorGridlayer,t.gridlayer=f.gridlayer,t.zerolinelayer=f.zerolinelayer):(t.minorGridlayer=ss(n,"g","minor-gridlayer"),t.gridlayer=ss(n,"g","gridlayer"),t.zerolinelayer=ss(n,"g","zerolinelayer"));var v=ss(n,"g","layer-between");t.shapelayerBetween=ss(v,"g","shapelayer"),t.imagelayerBetween=ss(v,"g","imagelayer"),ss(n,"path","xlines-below"),ss(n,"path","ylines-below"),t.overlinesBelow=ss(n,"g","overlines-below"),ss(n,"g","xaxislayer-below"),ss(n,"g","yaxislayer-below"),t.overaxesBelow=ss(n,"g","overaxes-below")}t.overplot=ss(n,"g","overplot"),t.plot=ss(t.overplot,"g",a),f&&c?t.zerolinelayerAbove=f.zerolinelayerAbove:t.zerolinelayerAbove=ss(n,"g","zerolinelayer-above"),o||(t.xlines=ss(n,"path","xlines-above"),t.ylines=ss(n,"path","ylines-above"),t.overlinesAbove=ss(n,"g","overlines-above"),ss(n,"g","xaxislayer-above"),ss(n,"g","yaxislayer-above"),t.overaxesAbove=ss(n,"g","overaxes-above"),t.xlines=n.select(".xlines-"+s),t.ylines=n.select(".ylines-"+l),t.xaxislayer=n.select(".xaxislayer-"+s),t.yaxislayer=n.select(".yaxislayer-"+l))}else{var d=f.plotgroup,m=a+"-x",x=a+"-y";t.minorGridlayer=f.minorGridlayer,t.gridlayer=f.gridlayer,t.zerolinelayer=f.zerolinelayer,t.zerolinelayerAbove=f.zerolinelayerAbove,ss(f.overlinesBelow,"path",m),ss(f.overlinesBelow,"path",x),ss(f.overaxesBelow,"g",m),ss(f.overaxesBelow,"g",x),t.plot=ss(f.overplot,"g",a),ss(f.overlinesAbove,"path",m),ss(f.overlinesAbove,"path",x),ss(f.overaxesAbove,"g",m),ss(f.overaxesAbove,"g",x),t.xlines=d.select(".overlines-"+s).select("."+m),t.ylines=d.select(".overlines-"+l).select("."+x),t.xaxislayer=d.select(".overaxes-"+s).select("."+m),t.yaxislayer=d.select(".overaxes-"+l).select("."+x)}o||(u||(Mk(t.minorGridlayer,"g",t.xaxis._id),Mk(t.minorGridlayer,"g",t.yaxis._id),t.minorGridlayer.selectAll("g").map(function(g){return g[0]}).sort(cm.idSort),Mk(t.gridlayer,"g",t.xaxis._id),Mk(t.gridlayer,"g",t.yaxis._id),t.gridlayer.selectAll("g").map(function(g){return g[0]}).sort(cm.idSort)),t.xlines.style("fill","none").classed("crisp",!0),t.ylines.style("fill","none").classed("crisp",!0))}function Ofe(e,t){if(e){var r={};e.each(function(l){var u=l[0],c=Sk.select(this);c.remove(),Nfe(u,t),r[u]=!0});for(var n in t._plots)for(var a=t._plots[n],i=a.overlays||[],o=0;o{"use strict";var Ek=ml();Ufe.exports={hasLines:Ek.hasLines,hasMarkers:Ek.hasMarkers,hasText:Ek.hasText,isBubble:Ek.isBubble,attributes:Tu(),layoutAttributes:iS(),supplyDefaults:dce(),crossTraceDefaults:sq(),supplyLayoutDefaults:mce(),calc:Qv().calc,crossTraceCalc:Vce(),arraysToCalcdata:Op(),plot:p_(),colorbar:bh(),formatLabels:vk(),style:Md().style,styleOnSelect:Md().styleOnSelect,hoverPoints:x_(),selectPoints:_x(),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:Ku(),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}});var jfe=ne((fnr,Hfe)=>{"use strict";var odt=Ea(),sdt=_a(),Gfe=Dz(),Pq=Zt(),ldt=Pq.strScale,udt=Pq.strRotate,cdt=Pq.strTranslate;Hfe.exports=function(t,r,n){var a=t.node(),i=Gfe[n.arrowhead||0],o=Gfe[n.startarrowhead||0],s=(n.arrowwidth||1)*(n.arrowsize||1),l=(n.arrowwidth||1)*(n.startarrowsize||1),u=r.indexOf("start")>=0,c=r.indexOf("end")>=0,f=i.backoff*s+n.standoff,h=o.backoff*l+n.startstandoff,v,d,m,x;if(a.nodeName==="line"){v={x:+t.attr("x1"),y:+t.attr("y1")},d={x:+t.attr("x2"),y:+t.attr("y2")};var g=v.x-d.x,E=v.y-d.y;if(m=Math.atan2(E,g),x=m+Math.PI,f&&h&&f+h>Math.sqrt(g*g+E*E)){z();return}if(f){if(f*f>g*g+E*E){z();return}var M=f*Math.cos(m),w=f*Math.sin(m);d.x+=M,d.y+=w,t.attr({x2:d.x,y2:d.y})}if(h){if(h*h>g*g+E*E){z();return}var k=h*Math.cos(m),y=h*Math.sin(m);v.x-=k,v.y-=y,t.attr({x1:v.x,y1:v.y})}}else if(a.nodeName==="path"){var S=a.getTotalLength(),T="";if(S{"use strict";var Wfe=Ea(),Dq=Fa(),fdt=Sl(),hm=Zt(),Rq=hm.strTranslate,Z4=ri(),Mx=_a(),B1=li(),Yfe=cu(),Iq=Ms(),zq=z0(),X4=od(),hdt=Bo().arrayEditor,ddt=jfe();$fe.exports={draw:vdt,drawOne:Xfe,drawRaw:Zfe};function vdt(e){var t=e._fullLayout;t._infolayer.selectAll(".annotation").remove();for(var r=0;r2/3?Re="right":Re="center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[Re]}for(var he=!1,ye=["x","y"],Pe=0;Pe1)&&(Xe===ze?(He=vt.r2fraction(t["a"+le]),(He<0||He>1)&&(he=!0)):he=!0),Ee=vt._offset+vt.r2p(t[le]),Ge=.5}else{var Qe=ft==="domain";le==="x"?(ge=t[le],Ee=Qe?vt._offset+vt._length*ge:Ee=s.l+s.w*ge):(ge=1-t[le],Ee=Qe?vt._offset+vt._length*ge:Ee=s.t+s.h*ge),Ge=t.showarrow?.5:ge}if(t.showarrow){de.head=Ee;var We=t["a"+le];if(tt=Oe*we(.5,t.xanchor)-qe*we(.5,t.yanchor),Xe===ze){var pt=Z4.getRefType(Xe);pt==="domain"?(le==="y"&&(We=1-We),de.tail=vt._offset+vt._length*We):pt==="paper"?le==="y"?(We=1-We,de.tail=s.t+s.h*We):de.tail=s.l+s.w*We:de.tail=vt._offset+vt.r2p(We),Ue=tt}else de.tail=Ee+We,Ue=tt+We;de.text=de.tail+tt;var kt=o[le==="x"?"width":"height"];if(ze==="paper"&&(de.head=hm.constrain(de.head,1,kt-1)),Xe==="pixel"){var qt=-Math.max(de.tail-3,de.text),Wt=Math.min(de.tail+3,de.text)-kt;qt>0?(de.tail+=qt,de.text+=qt):Wt>0&&(de.tail-=Wt,de.text-=Wt)}de.tail+=Ie,de.head+=Ie}else tt=mt*we(Ge,lt),Ue=tt,de.text=Ee+tt;de.text+=Ie,tt+=Ie,Ue+=Ie,t["_"+le+"padplus"]=mt/2+Ue,t["_"+le+"padminus"]=mt/2-Ue,t["_"+le+"size"]=mt,t["_"+le+"shift"]=tt}if(he){S.remove();return}var _r=0,tr=0;if(t.align!=="left"&&(_r=(j-ue)*(t.align==="center"?.5:1)),t.valign!=="top"&&(tr=(fe-re)*(t.valign==="middle"?.5:1)),te)X.select("svg").attr({x:C+_r-1,y:C+tr}).call(B1.setClipUrl,P?m:null,e);else{var lr=C+tr-se.top,Ye=C+_r-se.left;U.call(Iq.positionText,Ye,lr).call(B1.setClipUrl,P?m:null,e)}D.select("rect").call(B1.setRect,C,C,j,fe),A.call(B1.setRect,T/2,T/2,ce-T,oe-T),S.call(B1.setTranslate,Math.round(x.x.text-ce/2),Math.round(x.y.text-oe/2)),M.attr({transform:"rotate("+g+","+x.x.text+","+x.y.text+")"});var Te=function(Ae,Re){E.selectAll(".annotation-arrow-g").remove();var Ze=x.x.head,Ke=x.y.head,_t=x.x.tail+Ae,St=x.y.tail+Re,Vt=x.x.text+Ae,fr=x.y.text+Re,$t=hm.rotationXYMatrix(g,Vt,fr),gr=hm.apply2DTransform($t),Br=hm.apply2DTransform2($t),Nr=+A.attr("width"),Er=+A.attr("height"),zr=Vt-.5*Nr,vn=zr+Nr,Nn=fr-.5*Er,Xn=Nn+Er,Kn=[[zr,Nn,zr,Xn],[zr,Xn,vn,Xn],[vn,Xn,vn,Nn],[vn,Nn,zr,Nn]].map(Br);if(!Kn.reduce(function(fi,_o){return fi^!!hm.segmentsIntersect(Ze,Ke,Ze+1e6,Ke+1e6,_o[0],_o[1],_o[2],_o[3])},!1)){Kn.forEach(function(fi){var _o=hm.segmentsIntersect(_t,St,Ze,Ke,fi[0],fi[1],fi[2],fi[3]);_o&&(_t=_o.x,St=_o.y)});var Qn=t.arrowwidth,un=t.arrowcolor,aa=t.arrowside,da=E.append("g").style({opacity:Mx.opacity(un)}).classed("annotation-arrow-g",!0),ua=da.append("path").attr("d","M"+_t+","+St+"L"+Ze+","+Ke).style("stroke-width",Qn+"px").call(Mx.stroke,Mx.rgb(un));if(ddt(ua,aa,t),l.annotationPosition&&ua.node().parentNode&&!n){var qa=Ze,ii=Ke;if(t.standoff){var pa=Math.sqrt(Math.pow(Ze-_t,2)+Math.pow(Ke-St,2));qa+=t.standoff*(_t-Ze)/pa,ii+=t.standoff*(St-Ke)/pa}var no=da.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(_t-qa)+","+(St-ii),transform:Rq(qa,ii)}).style("stroke-width",Qn+6+"px").call(Mx.stroke,"rgba(0,0,0,0)").call(Mx.fill,"rgba(0,0,0,0)"),Gi,Ti;X4.init({element:no.node(),gd:e,prepFn:function(){var fi=B1.getTranslate(S);Gi=fi.x,Ti=fi.y,a&&a.autorange&&h(a._name+".autorange",!0),i&&i.autorange&&h(i._name+".autorange",!0)},moveFn:function(fi,_o){var Oi=gr(Gi,Ti),ni=Oi[0]+fi,ao=Oi[1]+_o;S.call(B1.setTranslate,ni,ao),v("x",fm(a,fi,"x",s,t)),v("y",fm(i,_o,"y",s,t)),t.axref===t.xref&&v("ax",fm(a,fi,"ax",s,t)),t.ayref===t.yref&&v("ay",fm(i,_o,"ay",s,t)),da.attr("transform",Rq(fi,_o)),M.attr({transform:"rotate("+g+","+ni+","+ao+")"})},doneFn:function(){Dq.call("_guiRelayout",e,d());var fi=document.querySelector(".js-notes-box-panel");fi&&fi.redraw(fi.selectedObj)}})}}};if(t.showarrow&&Te(0,0),w){var Fe;X4.init({element:S.node(),gd:e,prepFn:function(){Fe=M.attr("transform")},moveFn:function(Ae,Re){var Ze="pointer";if(t.showarrow)t.axref===t.xref?v("ax",fm(a,Ae,"ax",s,t)):v("ax",t.ax+Ae),t.ayref===t.yref?v("ay",fm(i,Re,"ay",s.w,t)):v("ay",t.ay+Re),Te(Ae,Re);else{if(n)return;var Ke,_t;if(a)Ke=fm(a,Ae,"x",s,t);else{var St=t._xsize/s.w,Vt=t.x+(t._xshift-t.xshift)/s.w-St/2;Ke=X4.align(Vt+Ae/s.w,St,0,1,t.xanchor)}if(i)_t=fm(i,Re,"y",s,t);else{var fr=t._ysize/s.h,$t=t.y-(t._yshift+t.yshift)/s.h-fr/2;_t=X4.align($t-Re/s.h,fr,0,1,t.yanchor)}v("x",Ke),v("y",_t),(!a||!i)&&(Ze=X4.getCursor(a?.5:Ke,i?.5:_t,t.xanchor,t.yanchor))}M.attr({transform:Rq(Ae,Re)+Fe}),zq(S,Ze)},clickFn:function(Ae,Re){t.captureevents&&e.emit("plotly_clickannotation",y(Re))},doneFn:function(){zq(S),Dq.call("_guiRelayout",e,d());var Ae=document.querySelector(".js-notes-box-panel");Ae&&Ae.redraw(Ae.selectedObj)}})}}l.annotationText?U.call(Iq.makeEditable,{delegate:S,gd:e}).call(O).on("edit",function(B){t.text=B,this.call(O),v("text",B),a&&a.autorange&&h(a._name+".autorange",!0),i&&i.autorange&&h(i._name+".autorange",!0),Dq.call("_guiRelayout",e,d())}):U.call(O)}});var rhe=ne((dnr,the)=>{"use strict";var Kfe=Zt(),pdt=Fa(),Jfe=Bo().arrayEditor;the.exports={hasClickToShow:gdt,onClick:mdt};function gdt(e,t){var r=ehe(e,t);return r.on.length>0||r.explicitOff.length>0}function mdt(e,t){var r=ehe(e,t),n=r.on,a=r.off.concat(r.explicitOff),i={},o=e._fullLayout.annotations,s,l;if(n.length||a.length){for(s=0;s{"use strict";var qq=Zt(),b_=_a();nhe.exports=function(t,r,n,a){a("opacity");var i=a("bgcolor"),o=a("bordercolor"),s=b_.opacity(o);a("borderpad");var l=a("borderwidth"),u=a("showarrow");a("text",u?" ":n._dfltTitle.annotation),a("textangle"),qq.coerceFont(a,"font",n.font),a("width"),a("align");var c=a("height");if(c&&a("valign"),u){var f=a("arrowside"),h,v;f.indexOf("end")!==-1&&(h=a("arrowhead"),v=a("arrowsize")),f.indexOf("start")!==-1&&(a("startarrowhead",h),a("startarrowsize",v)),a("arrowcolor",s?r.bordercolor:b_.defaultLine),a("arrowwidth",(s&&l||1)*2),a("standoff"),a("startstandoff")}var d=a("hovertext"),m=n.hoverlabel||{};if(d){var x=a("hoverlabel.bgcolor",m.bgcolor||(b_.opacity(i)?b_.rgb(i):b_.defaultLine)),g=a("hoverlabel.bordercolor",m.bordercolor||b_.contrast(x)),E=qq.extendFlat({},m.font);E.color||(E.color=g),qq.coerceFont(a,"hoverlabel.font",E)}a("captureevents",!!d)}});var ihe=ne((pnr,ahe)=>{"use strict";var Oq=Zt(),Sx=ri(),ydt=zh(),xdt=Bq(),bdt=om();ahe.exports=function(t,r){ydt(t,r,{name:"annotations",handleItemDefaults:_dt})};function _dt(e,t,r){function n(M,w){return Oq.coerce(e,t,bdt,M,w)}var a=n("visible"),i=n("clicktoshow");if(a||i){xdt(e,t,r,n);for(var o=t.showarrow,s=["x","y"],l=[-10,-30],u={_fullLayout:r},c=0;c<2;c++){var f=s[c],h=Sx.coerceRef(e,t,u,f,"","paper");if(h!=="paper"){var v=Sx.getFromId(u,h);v._annIndices.push(t._index)}if(Sx.coercePosition(t,u,n,h,f,.5),o){var d="a"+f,m=Sx.coerceRef(e,t,u,d,"pixel",["pixel","paper"]);m!=="pixel"&&m!==h&&(m=t[d]="pixel");var x=m==="pixel"?l[c]:.4;Sx.coercePosition(t,u,n,m,d,x)}n(f+"anchor"),n(f+"shift")}if(Oq.noneOrAll(e,t,["x","y"]),o&&Oq.noneOrAll(e,t,["ax","ay"]),i){var g=n("xclick"),E=n("yclick");t._xclick=g===void 0?t.x:Sx.cleanPosition(g,u,t.xref),t._yclick=E===void 0?t.y:Sx.cleanPosition(E,u,t.yref)}}}});var lhe=ne((gnr,she)=>{"use strict";var Nq=Zt(),Ex=ri(),wdt=kk().draw;she.exports=function(t){var r=t._fullLayout,n=Nq.filterVisible(r.annotations);if(n.length&&t._fullData.length)return Nq.syncOrAsync([wdt,Tdt],t)};function Tdt(e){var t=e._fullLayout;Nq.filterVisible(t.annotations).forEach(function(r){var n=Ex.getFromId(e,r.xref),a=Ex.getFromId(e,r.yref),i=Ex.getRefType(r.xref),o=Ex.getRefType(r.yref);r._extremes={},i==="range"&&ohe(r,n),o==="range"&&ohe(r,a)})}function ohe(e,t){var r=t._id,n=r.charAt(0),a=e[n],i=e["a"+n],o=e[n+"ref"],s=e["a"+n+"ref"],l=e["_"+n+"padplus"],u=e["_"+n+"padminus"],c={x:1,y:-1}[n]*e[n+"shift"],f=3*e.arrowsize*e.arrowwidth||0,h=f+c,v=f-c,d=3*e.startarrowsize*e.arrowwidth||0,m=d+c,x=d-c,g;if(s===o){var E=Ex.findExtremes(t,[t.r2c(a)],{ppadplus:h,ppadminus:v}),M=Ex.findExtremes(t,[t.r2c(i)],{ppadplus:Math.max(l,m),ppadminus:Math.max(u,x)});g={min:[E.min[0],M.min[0]],max:[E.max[0],M.max[0]]}}else m=i?m+i:m,x=i?x-i:x,g=Ex.findExtremes(t,[t.r2c(a)],{ppadplus:Math.max(l,h,m),ppadminus:Math.max(u,v,x)});e._extremes[r]=g}});var che=ne((mnr,uhe)=>{"use strict";var Adt=mi(),Mdt=kM();uhe.exports=function(t,r,n,a){r=r||{};var i=n==="log"&&r.type==="linear",o=n==="linear"&&r.type==="log";if(!(i||o))return;var s=t._fullLayout.annotations,l=r._id.charAt(0),u,c;function f(v){var d=u[v],m=null;i?m=Mdt(d,r.range):m=Math.pow(10,d),Adt(m)||(m=null),a(c+v,m)}for(var h=0;h{"use strict";var Uq=kk(),fhe=rhe();hhe.exports={moduleType:"component",name:"annotations",layoutAttributes:om(),supplyLayoutDefaults:ihe(),includeBasePlot:L4()("annotations"),calcAutorange:lhe(),draw:Uq.draw,drawOne:Uq.drawOne,drawRaw:Uq.drawRaw,hasClickToShow:fhe.hasClickToShow,onClick:fhe.onClick,convertCoords:che()}});var Ck=ne((xnr,vhe)=>{"use strict";var Cl=om(),Sdt=Il().overrideAll,Edt=Bo().templatedArray;vhe.exports=Sdt(Edt("annotation",{visible:Cl.visible,x:{valType:"any"},y:{valType:"any"},z:{valType:"any"},ax:{valType:"number"},ay:{valType:"number"},xanchor:Cl.xanchor,xshift:Cl.xshift,yanchor:Cl.yanchor,yshift:Cl.yshift,text:Cl.text,textangle:Cl.textangle,font:Cl.font,width:Cl.width,height:Cl.height,opacity:Cl.opacity,align:Cl.align,valign:Cl.valign,bgcolor:Cl.bgcolor,bordercolor:Cl.bordercolor,borderpad:Cl.borderpad,borderwidth:Cl.borderwidth,showarrow:Cl.showarrow,arrowcolor:Cl.arrowcolor,arrowhead:Cl.arrowhead,startarrowhead:Cl.startarrowhead,arrowside:Cl.arrowside,arrowsize:Cl.arrowsize,startarrowsize:Cl.startarrowsize,arrowwidth:Cl.arrowwidth,standoff:Cl.standoff,startstandoff:Cl.startstandoff,hovertext:Cl.hovertext,hoverlabel:Cl.hoverlabel,captureevents:Cl.captureevents}),"calc","from-root")});var ghe=ne((bnr,phe)=>{"use strict";var Vq=Zt(),kdt=ri(),Cdt=zh(),Ldt=Bq(),Fdt=Ck();phe.exports=function(t,r,n){Cdt(t,r,{name:"annotations",handleItemDefaults:Pdt,fullLayout:n.fullLayout})};function Pdt(e,t,r,n){function a(s,l){return Vq.coerce(e,t,Fdt,s,l)}function i(s){var l=s+"axis",u={_fullLayout:{}};return u._fullLayout[l]=r[l],kdt.coercePosition(t,u,a,s,s,.5)}var o=a("visible");o&&(Ldt(e,t,n.fullLayout,a),i("x"),i("y"),i("z"),Vq.noneOrAll(e,t,["x","y","z"]),t.xref="x",t.yref="y",t.zref="z",a("xanchor"),a("yanchor"),a("xshift"),a("yshift"),t.showarrow&&(t.axref="pixel",t.ayref="pixel",a("ax",-10),a("ay",-30),Vq.noneOrAll(e,t,["ax","ay"])))}});var bhe=ne((_nr,xhe)=>{"use strict";var mhe=Zt(),yhe=ri();xhe.exports=function(t){for(var r=t.fullSceneLayout,n=r.annotations,a=0;a{"use strict";function Gq(e,t){var r=[0,0,0,0],n,a;for(n=0;n<4;++n)for(a=0;a<4;++a)r[a]+=e[4*n+a]*t[n];return r}function Rdt(e,t){var r=Gq(e.projection,Gq(e.view,Gq(e.model,[t[0],t[1],t[2],1])));return r}_he.exports=Rdt});var The=ne((Tnr,whe)=>{"use strict";var Idt=kk().drawRaw,zdt=Hq(),qdt=["x","y","z"];whe.exports=function(t){for(var r=t.fullSceneLayout,n=t.dataScale,a=r.annotations,i=0;i1){s=!0;break}}s?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+i+'"]').remove():(o._pdata=zdt(t.glplot.cameraParams,[r.xaxis.r2l(o.x)*n[0],r.yaxis.r2l(o.y)*n[1],r.zaxis.r2l(o.z)*n[2]]),Idt(t.graphDiv,o,i,t.id,o._xa,o._ya))}}});var She=ne((Anr,Mhe)=>{"use strict";var Bdt=Fa(),Ahe=Zt();Mhe.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:Ck()}}},layoutAttributes:Ck(),handleDefaults:ghe(),includeBasePlot:Odt,convert:bhe(),draw:The()};function Odt(e,t){var r=Bdt.subplotsRegistry.gl3d;if(r)for(var n=r.attrRegex,a=Object.keys(e),i=0;i{"use strict";var Mnr=zc(),Ehe=pl(),khe=Tu().line,Ndt=xf().dash,Y0=ci().extendFlat,Udt=Bo().templatedArray,Snr=k4(),__=os(),Che=om(),{shapeTexttemplateAttrs:Vdt,templatefallbackAttrs:Gdt}=rs(),Hdt=qM();Lhe.exports=Udt("shape",{visible:Y0({},__.visible,{editType:"calc+arraydraw"}),showlegend:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},legend:Y0({},__.legend,{editType:"calc+arraydraw"}),legendgroup:Y0({},__.legendgroup,{editType:"calc+arraydraw"}),legendgrouptitle:{text:Y0({},__.legendgrouptitle.text,{editType:"calc+arraydraw"}),font:Ehe({editType:"calc+arraydraw"}),editType:"calc+arraydraw"},legendrank:Y0({},__.legendrank,{editType:"calc+arraydraw"}),legendwidth:Y0({},__.legendwidth,{editType:"calc+arraydraw"}),type:{valType:"enumerated",values:["circle","rect","path","line"],editType:"calc+arraydraw"},layer:{valType:"enumerated",values:["below","above","between"],dflt:"above",editType:"arraydraw"},xref:Y0({},Che.xref,{arrayOk:!0}),xsizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},xanchor:{valType:"any",editType:"calc+arraydraw"},x0:{valType:"any",editType:"calc+arraydraw"},x1:{valType:"any",editType:"calc+arraydraw"},x0shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},x1shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},yref:Y0({},Che.yref,{arrayOk:!0}),ysizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},yanchor:{valType:"any",editType:"calc+arraydraw"},y0:{valType:"any",editType:"calc+arraydraw"},y1:{valType:"any",editType:"calc+arraydraw"},y0shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},y1shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},path:{valType:"string",editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},line:{color:Y0({},khe.color,{editType:"arraydraw"}),width:Y0({},khe.width,{editType:"calc+arraydraw"}),dash:Y0({},Ndt,{editType:"arraydraw"}),editType:"calc+arraydraw"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"arraydraw"},editable:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},label:{text:{valType:"string",dflt:"",editType:"arraydraw"},texttemplate:Vdt({},{keys:Object.keys(Hdt)}),texttemplatefallback:Gdt({editType:"arraydraw"}),font:Ehe({editType:"calc+arraydraw",colorEditType:"arraydraw"}),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"],editType:"arraydraw"},textangle:{valType:"angle",dflt:"auto",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],editType:"calc+arraydraw"},padding:{valType:"number",dflt:3,min:0,editType:"arraydraw"},editType:"arraydraw"},editType:"arraydraw"})});var Phe=ne((knr,Fhe)=>{"use strict";var w_=Zt(),xv=ri(),jdt=zh(),Wdt=jq(),$4=am();Fhe.exports=function(t,r){jdt(t,r,{name:"shapes",handleItemDefaults:Xdt})};function Ydt(e,t){return e?"bottom":t.indexOf("top")!==-1?"top":t.indexOf("bottom")!==-1?"bottom":"middle"}function Xdt(e,t,r){function n(M,w){return w_.coerce(e,t,Wdt,M,w)}t._isShape=!0;var a=n("visible");if(!a)return;var i=n("showlegend");n("legend"),n("legendgroup"),i&&(n("legendwidth"),n("legendgrouptitle.text"),w_.coerceFont(n,"legendgrouptitle.font"),n("legendrank"));var o=n("path"),s=o?"path":"rect",l=n("type",s),u=l!=="path";u&&delete t.path,n("editable"),n("layer"),n("opacity"),n("fillcolor"),n("fillrule");var c=n("line.width");c&&(n("line.color"),n("line.dash"));var f=n("xsizemode"),h=n("ysizemode");let v=[.25,.75],d=[0,10];["x","y"].forEach(M=>{var w=M+"anchor",k=M==="x"?f:h,y={_fullLayout:r},S,T,p,C;let A=M+"ref",P=e[A];if(Array.isArray(P)&&P.length>0){let D=$4.countDefiningCoords(l,o,M);C=xv.coerceRefArray(e,t,y,M,void 0,"paper",D),t["_"+M+"refArray"]=!0}else C=xv.coerceRef(e,t,y,M,void 0,"paper");if(Array.isArray(C))C.forEach(function(D){xv.getRefType(D)==="range"&&(S=xv.getFromId(y,D),S&&S._shapeIndices.indexOf(t._index)===-1&&S._shapeIndices.push(t._index))}),u&&[0,1].forEach(function(D){let z=C[D];xv.getRefType(z)==="range"?(S=xv.getFromId(y,z),T=$4.shapePositionToRange(S),p=$4.rangeToShapePosition(S),(S.type==="category"||S.type==="multicategory")&&n(M+D+"shift")):T=p=w_.identity;let U=M+D,O=e[U];if(e[U]=T(e[U],!0),k==="pixel"?n(U,d[D]):xv.coercePosition(t,y,n,z,U,v[D]),t[U]=p(t[U]),e[U]=O,D===0&&k==="pixel"){let R=e[w];e[w]=T(e[w],!0),xv.coercePosition(t,y,n,z,w,.25),t[w]=p(t[w]),e[w]=R}});else{if(xv.getRefType(C)==="range"?(S=xv.getFromId(y,C),S._shapeIndices.push(t._index),p=$4.rangeToShapePosition(S),T=$4.shapePositionToRange(S),u&&(S.type==="category"||S.type==="multicategory")&&(n(M+"0shift"),n(M+"1shift"))):T=p=w_.identity,u){let z=M+"0",q=M+"1",U=e[z],O=e[q];e[z]=T(e[z],!0),e[q]=T(e[q],!0),k==="pixel"?(n(z,d[0]),n(q,d[1])):(xv.coercePosition(t,y,n,C,z,v[0]),xv.coercePosition(t,y,n,C,q,v[1])),t[z]=p(t[z]),t[q]=p(t[q]),e[z]=U,e[q]=O}if(k==="pixel"){let z=e[w];e[w]=T(e[w],!0),xv.coercePosition(t,y,n,C,w,.25),t[w]=p(t[w]),e[w]=z}}}),u&&w_.noneOrAll(e,t,["x0","x1","y0","y1"]);var m=l==="line",x,g;if(u&&(x=n("label.texttemplate"),n("label.texttemplatefallback")),x||(g=n("label.text")),g||x){n("label.textangle");var E=n("label.textposition",m?"middle":"middle center");n("label.xanchor"),n("label.yanchor",Ydt(m,E)),n("label.padding"),w_.coerceFont(n,"label.font",r.font)}}});var Ihe=ne((Cnr,Rhe)=>{"use strict";var Zdt=_a(),Dhe=Zt();function $dt(e,t){return e?"bottom":t.indexOf("top")!==-1?"top":t.indexOf("bottom")!==-1?"bottom":"middle"}Rhe.exports=function(t,r,n){n("newshape.visible"),n("newshape.name"),n("newshape.showlegend"),n("newshape.legend"),n("newshape.legendwidth"),n("newshape.legendgroup"),n("newshape.legendgrouptitle.text"),Dhe.coerceFont(n,"newshape.legendgrouptitle.font"),n("newshape.legendrank"),n("newshape.drawdirection"),n("newshape.layer"),n("newshape.fillcolor"),n("newshape.fillrule"),n("newshape.opacity");var a=n("newshape.line.width");if(a){var i=(t||{}).plot_bgcolor||"#FFF";n("newshape.line.color",Zdt.contrast(i)),n("newshape.line.dash")}var o=t.dragmode==="drawline",s=n("newshape.label.text"),l=n("newshape.label.texttemplate");if(n("newshape.label.texttemplatefallback"),s||l){n("newshape.label.textangle");var u=n("newshape.label.textposition",o?"middle":"middle center");n("newshape.label.xanchor"),n("newshape.label.yanchor",$dt(o,u)),n("newshape.label.padding"),Dhe.coerceFont(n,"newshape.label.font",r.font)}n("activeshape.fillcolor"),n("activeshape.opacity")}});var Vhe=ne((Lnr,Uhe)=>{"use strict";var Wq=Zt(),t0=ri(),Up=s4(),Yq=am();Uhe.exports=function(t){var r=t._fullLayout,n=Wq.filterVisible(r.shapes);if(!(!n.length||!t._fullData.length))for(var a=0;a{o=t0.getFromId(t,f),i._extremes[o._id]=t0.findExtremes(o,h,qhe(i))})}else i.xref!=="paper"&&l!=="domain"&&(o=t0.getFromId(t,i.xref),s=Ohe(o,i,Up.paramIsX),s&&(i._extremes[o._id]=t0.findExtremes(o,s,qhe(i))));if(u==="array"){let c=zhe(t,i,"y");Object.entries(c).forEach(([f,h])=>{o=t0.getFromId(t,f),i._extremes[o._id]=t0.findExtremes(o,h,Bhe(i))})}else i.yref!=="paper"&&u!=="domain"&&(o=t0.getFromId(t,i.yref),s=Ohe(o,i,Up.paramIsY),s&&(i._extremes[o._id]=t0.findExtremes(o,s,Bhe(i))))}};function zhe(e,t,r){let n=t[r+"ref"],a=r==="x"?Up.paramIsX:Up.paramIsY;function i(f,h){f==="paper"||t0.getRefType(f)==="domain"||(o[f]||(o[f]=[]),o[f].push(h))}let o={};if(t.type==="path"&&t.path){let f=t.path.match(Up.segmentRE)||[];for(var s=0,l=0;ld&&(i(n[s],m[d]),s++)}}else i(n[0],t[r+"0"]),i(n[1],t[r+"1"]);let u={};for(let f in o){let h=t0.getFromId(e,f);if(h){var c=h.type==="category"||h.type==="multicategory"?h.r2c:h.d2c;h.type==="date"&&(c=Yq.decodeDate(c)),u[h._id]=o[f].map(c)}}return u}function qhe(e){return Nhe(e.line.width,e.xsizemode,e.x0,e.x1,e.path,!1)}function Bhe(e){return Nhe(e.line.width,e.ysizemode,e.y0,e.y1,e.path,!0)}function Nhe(e,t,r,n,a,i){var o=e/2,s=i;if(t==="pixel"){var l=a?Yq.extractPathCoords(a,i?Up.paramIsY:Up.paramIsX):[r,n],u=Wq.aggNums(Math.max,null,l),c=Wq.aggNums(Math.min,null,l),f=c<0?Math.abs(c)+o:o,h=u>0?u+o:o;return{ppad:o,ppadplus:s?f:h,ppadminus:s?h:f}}else return{ppad:o}}function Ohe(e,t,r){var n=e._id.charAt(0)==="x"?"x":"y",a=e.type==="category"||e.type==="multicategory",i,o,s=0,l=0,u=a?e.r2c:e.d2c,c=t[n+"sizemode"]==="scaled";if(c?(i=t[n+"0"],o=t[n+"1"],a&&(s=t[n+"0shift"],l=t[n+"1shift"])):(i=t[n+"anchor"],o=t[n+"anchor"]),i!==void 0)return[u(i)+s,u(o)+l];if(t.path){var f=1/0,h=-1/0,v=t.path.match(Up.segmentRE),d,m,x,g,E;for(e.type==="date"&&(u=Yq.decodeDate(u)),d=0;dh&&(h=E)));if(h>=f)return[f,h]}}});var jhe=ne((Fnr,Hhe)=>{"use strict";var Ghe=gE();Hhe.exports={moduleType:"component",name:"shapes",layoutAttributes:jq(),supplyLayoutDefaults:Phe(),supplyDrawNewShapeDefaults:Ihe(),includeBasePlot:L4()("shapes"),calcAutorange:Vhe(),draw:Ghe.draw,drawOne:Ghe.drawOne}});var Xq=ne((Dnr,Yhe)=>{"use strict";var Whe=zc(),Kdt=Bo().templatedArray,Pnr=k4();Yhe.exports=Kdt("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",Whe.idRegex.x.toString()],dflt:"paper",editType:"arraydraw"},yref:{valType:"enumerated",values:["paper",Whe.idRegex.y.toString()],dflt:"paper",editType:"arraydraw"},editType:"arraydraw"})});var Zhe=ne((Rnr,Xhe)=>{"use strict";var Jdt=Zt(),Zq=ri(),Qdt=zh(),evt=Xq(),tvt="images";Xhe.exports=function(t,r){var n={name:tvt,handleItemDefaults:rvt};Qdt(t,r,n)};function rvt(e,t,r){function n(h,v){return Jdt.coerce(e,t,evt,h,v)}var a=n("source"),i=n("visible",!!a);if(!i)return t;n("layer"),n("xanchor"),n("yanchor"),n("sizex"),n("sizey"),n("sizing"),n("opacity");for(var o={_fullLayout:r},s=["x","y"],l=0;l<2;l++){var u=s[l],c=Zq.coerceRef(e,t,o,u,"paper",void 0);if(c!=="paper"){var f=Zq.getFromId(o,c);f._imgIndices.push(t._index)}Zq.coercePosition(t,o,n,c,u,0)}return t}});var Qhe=ne((Inr,Jhe)=>{"use strict";var $he=Ea(),nvt=li(),T_=ri(),Khe=uu(),avt=qv();Jhe.exports=function(t){var r=t._fullLayout,n=[],a={},i=[],o,s;for(s=0;s{"use strict";var ede=mi(),ivt=kM();tde.exports=function(t,r,n,a){r=r||{};var i=n==="log"&&r.type==="linear",o=n==="linear"&&r.type==="log";if(i||o){for(var s=t._fullLayout.images,l=r._id.charAt(0),u,c,f=0;f{"use strict";nde.exports={moduleType:"component",name:"images",layoutAttributes:Xq(),supplyLayoutDefaults:Zhe(),includeBasePlot:L4()("images"),draw:Qhe(),convertCoords:rde()}});var Lk=ne((Bnr,ide)=>{"use strict";ide.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:" "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"\u25C4",right:"\u25BA",up:"\u25B2",down:"\u25BC"}}});var $q=ne((Onr,sde)=>{"use strict";var ovt=pl(),svt=Ic(),lvt=ci().extendFlat,uvt=Il().overrideAll,cvt=BM(),ode=Bo().templatedArray,fvt=ode("button",{visible:{valType:"boolean"},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},args2:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:!0}});sde.exports=uvt(ode("updatemenu",{_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:"boolean"},type:{valType:"enumerated",values:["dropdown","buttons"],dflt:"dropdown"},direction:{valType:"enumerated",values:["left","right","up","down"],dflt:"down"},active:{valType:"integer",min:-1,dflt:0},showactive:{valType:"boolean",dflt:!0},buttons:fvt,x:{valType:"number",min:-2,max:3,dflt:-.05},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right"},y:{valType:"number",min:-2,max:3,dflt:1},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},pad:lvt(cvt({editType:"arraydraw"}),{}),font:ovt({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:svt.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")});var fde=ne((Nnr,cde)=>{"use strict";var Fk=Zt(),lde=zh(),ude=$q(),hvt=Lk(),dvt=hvt.name,vvt=ude.buttons;cde.exports=function(t,r){var n={name:dvt,handleItemDefaults:pvt};lde(t,r,n)};function pvt(e,t,r){function n(o,s){return Fk.coerce(e,t,ude,o,s)}var a=lde(e,t,{name:"buttons",handleItemDefaults:gvt}),i=n("visible",a.length>0);i&&(n("active"),n("direction"),n("type"),n("showactive"),n("x"),n("y"),Fk.noneOrAll(e,t,["x","y"]),n("xanchor"),n("yanchor"),n("pad.t"),n("pad.r"),n("pad.b"),n("pad.l"),Fk.coerceFont(n,"font",r.font),n("bgcolor",r.paper_bgcolor),n("bordercolor"),n("borderwidth"))}function gvt(e,t){function r(a,i){return Fk.coerce(e,t,vvt,a,i)}var n=r("visible",e.method==="skip"||Array.isArray(e.args));n&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}});var vde=ne((Unr,dde)=>{"use strict";dde.exports=Au;var X0=Ea(),hde=_a(),A_=li(),Pk=Zt();function Au(e,t,r){this.gd=e,this.container=t,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll("rect.scrollbox-bg").data([0]),this.bg.exit().on(".drag",null).on("wheel",null).remove(),this.bg.enter().append("rect").classed("scrollbox-bg",!0).style("pointer-events","all").attr({opacity:0,x:0,y:0,width:0,height:0})}Au.barWidth=2;Au.barLength=20;Au.barRadius=2;Au.barPad=1;Au.barColor="#808BA4";Au.prototype.enable=function(t,r,n){var a=this.gd._fullLayout,i=a.width,o=a.height;this.position=t;var s=this.position.l,l=this.position.w,u=this.position.t,c=this.position.h,f=this.position.direction,h=f==="down",v=f==="left",d=f==="right",m=f==="up",x=l,g=c,E,M,w,k;!h&&!v&&!d&&!m&&(this.position.direction="down",h=!0);var y=h||m;y?(E=s,M=E+x,h?(w=u,k=Math.min(w+g,o),g=k-w):(k=u+g,w=Math.max(k-g,0),g=k-w)):(w=u,k=w+g,v?(M=s+x,E=Math.max(M-x,0),x=M-E):(E=s,M=Math.min(E+x,i),x=M-E)),this._box={l:E,t:w,w:x,h:g};var S=l>x,T=Au.barLength+2*Au.barPad,p=Au.barWidth+2*Au.barPad,C=s,A=u+c;A+p>o&&(A=o-p);var P=this.container.selectAll("rect.scrollbar-horizontal").data(S?[0]:[]);P.exit().on(".drag",null).remove(),P.enter().append("rect").classed("scrollbar-horizontal",!0).call(hde.fill,Au.barColor),S?(this.hbar=P.attr({rx:Au.barRadius,ry:Au.barRadius,x:C,y:A,width:T,height:p}),this._hbarXMin=C+T/2,this._hbarTranslateMax=x-T):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var D=c>g,z=Au.barWidth+2*Au.barPad,q=Au.barLength+2*Au.barPad,U=s+l,O=u;U+z>i&&(U=i-z);var R=this.container.selectAll("rect.scrollbar-vertical").data(D?[0]:[]);R.exit().on(".drag",null).remove(),R.enter().append("rect").classed("scrollbar-vertical",!0).call(hde.fill,Au.barColor),D?(this.vbar=R.attr({rx:Au.barRadius,ry:Au.barRadius,x:U,y:O,width:z,height:q}),this._vbarYMin=O+q/2,this._vbarTranslateMax=g-q):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var B=this.id,Y=E-.5,X=D?M+z+.5:M+.5,te=w-.5,se=S?k+p+.5:k+.5,ue=a._topdefs.selectAll("#"+B).data(S||D?[0]:[]);if(ue.exit().remove(),ue.enter().append("clipPath").attr("id",B).append("rect"),S||D?(this._clipRect=ue.select("rect").attr({x:Math.floor(Y),y:Math.floor(te),width:Math.ceil(X)-Math.floor(Y),height:Math.ceil(se)-Math.floor(te)}),this.container.call(A_.setClipUrl,B,this.gd),this.bg.attr({x:s,y:u,width:l,height:c})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(A_.setClipUrl,null),delete this._clipRect),S||D){var re=X0.behavior.drag().on("dragstart",function(){X0.event.sourceEvent.preventDefault()}).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(re);var j=X0.behavior.drag().on("dragstart",function(){X0.event.sourceEvent.preventDefault(),X0.event.sourceEvent.stopPropagation()}).on("drag",this._onBarDrag.bind(this));S&&this.hbar.on(".drag",null).call(j),D&&this.vbar.on(".drag",null).call(j)}this.setTranslate(r,n)};Au.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)};Au.prototype._onBoxDrag=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t-=X0.event.dx),this.vbar&&(r-=X0.event.dy),this.setTranslate(t,r)};Au.prototype._onBoxWheel=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t+=X0.event.deltaY),this.vbar&&(r+=X0.event.deltaY),this.setTranslate(t,r)};Au.prototype._onBarDrag=function(){var t=this.translateX,r=this.translateY;if(this.hbar){var n=t+this._hbarXMin,a=n+this._hbarTranslateMax,i=Pk.constrain(X0.event.x,n,a),o=(i-n)/(a-n),s=this.position.w-this._box.w;t=o*s}if(this.vbar){var l=r+this._vbarYMin,u=l+this._vbarTranslateMax,c=Pk.constrain(X0.event.y,l,u),f=(c-l)/(u-l),h=this.position.h-this._box.h;r=f*h}this.setTranslate(t,r)};Au.prototype.setTranslate=function(t,r){var n=this.position.w-this._box.w,a=this.position.h-this._box.h;if(t=Pk.constrain(t||0,0,n),r=Pk.constrain(r||0,0,a),this.translateX=t,this.translateY=r,this.container.call(A_.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-r),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+r-.5)}),this.hbar){var i=t/n;this.hbar.call(A_.setTranslate,t+i*this._hbarTranslateMax,r)}if(this.vbar){var o=r/a;this.vbar.call(A_.setTranslate,t,r+o*this._vbarTranslateMax)}}});var Ade=ne((Vnr,Tde)=>{"use strict";var M_=Ea(),K4=Sl(),J4=_a(),S_=li(),bv=Zt(),Dk=Ms(),mvt=Bo().arrayEditor,gde=qc().LINE_SPACING,Di=Lk(),yvt=vde();Tde.exports=function(t){var r=t._fullLayout,n=bv.filterVisible(r[Di.name]);function a(h){K4.autoMargin(t,_de(h))}var i=r._menulayer.selectAll("g."+Di.containerClassName).data(n.length>0?[0]:[]);if(i.enter().append("g").classed(Di.containerClassName,!0).style("cursor","pointer"),i.exit().each(function(){M_.select(this).selectAll("g."+Di.headerGroupClassName).each(a)}).remove(),n.length!==0){var o=i.selectAll("g."+Di.headerGroupClassName).data(n,xvt);o.enter().append("g").classed(Di.headerGroupClassName,!0);for(var s=bv.ensureSingle(i,"g",Di.dropdownButtonGroupClassName,function(h){h.style("pointer-events","all")}),l=0;l{"use strict";var Svt=Lk();Mde.exports={moduleType:"component",name:Svt.name,layoutAttributes:$q(),supplyLayoutDefaults:fde(),draw:Ade()}});var eT=ne((Hnr,Ede)=>{"use strict";Ede.exports={name:"sliders",containerClassName:"slider-container",groupClassName:"slider-group",inputAreaClass:"slider-input-area",railRectClass:"slider-rail-rect",railTouchRectClass:"slider-rail-touch-rect",gripRectClass:"slider-grip-rect",tickRectClass:"slider-tick-rect",inputProxyClass:"slider-input-proxy",labelsClass:"slider-labels",labelGroupClass:"slider-label-group",labelClass:"slider-label",currentValueClass:"slider-current-value",railHeight:5,menuIndexAttrName:"slider-active-index",autoMarginIdRoot:"slider-",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:"#bec8d9",railBgColor:"#f8fafc",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:"#bec8d9",gripBgColor:"#f6f8fa",gripBgActiveColor:"#dbdde0",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:"#333",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:"#333",minorTickLength:4,currentValuePadding:8,currentValueInset:0}});var eB=ne((jnr,Lde)=>{"use strict";var kde=pl(),Evt=BM(),kvt=ci().extendDeepAll,Cvt=Il().overrideAll,Lvt=k5(),Cde=Bo().templatedArray,kx=eT(),Fvt=Cde("step",{visible:{valType:"boolean",dflt:!0},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string"},value:{valType:"string"},execute:{valType:"boolean",dflt:!0}});Lde.exports=Cvt(Cde("slider",{visible:{valType:"boolean",dflt:!0},active:{valType:"number",min:0,dflt:0},steps:Fvt,lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",min:-2,max:3,dflt:0},pad:kvt(Evt({editType:"arraydraw"}),{},{t:{dflt:20}}),xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left"},y:{valType:"number",min:-2,max:3,dflt:0},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},transition:{duration:{valType:"number",min:0,dflt:150},easing:{valType:"enumerated",values:Lvt.transition.easing.values,dflt:"cubic-in-out"}},currentvalue:{visible:{valType:"boolean",dflt:!0},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},offset:{valType:"number",dflt:10},prefix:{valType:"string"},suffix:{valType:"string"},font:kde({})},font:kde({}),activebgcolor:{valType:"color",dflt:kx.gripBgActiveColor},bgcolor:{valType:"color",dflt:kx.railBgColor},bordercolor:{valType:"color",dflt:kx.railBorderColor},borderwidth:{valType:"number",min:0,dflt:kx.railBorderWidth},ticklen:{valType:"number",min:0,dflt:kx.tickLength},tickcolor:{valType:"color",dflt:kx.tickColor},tickwidth:{valType:"number",min:0,dflt:1},minorticklen:{valType:"number",min:0,dflt:kx.minorTickLength}}),"arraydraw","from-root")});var Rde=ne((Wnr,Dde)=>{"use strict";var E_=Zt(),Fde=zh(),Pde=eB(),Pvt=eT(),Dvt=Pvt.name,Rvt=Pde.steps;Dde.exports=function(t,r){Fde(t,r,{name:Dvt,handleItemDefaults:Ivt})};function Ivt(e,t,r){function n(f,h){return E_.coerce(e,t,Pde,f,h)}for(var a=Fde(e,t,{name:"steps",handleItemDefaults:zvt}),i=0,o=0;o{"use strict";var Z0=Ea(),Rk=Sl(),dm=_a(),$0=li(),_v=Zt(),qvt=_v.strTranslate,tT=Ms(),Bvt=Bo().arrayEditor,vo=eT(),nB=qc(),qde=nB.LINE_SPACING,tB=nB.FROM_TL,rB=nB.FROM_BR;Gde.exports=function(t){var r=t._context.staticPlot,n=t._fullLayout,a=Ovt(n,t),i=n._infolayer.selectAll("g."+vo.containerClassName).data(a.length>0?[0]:[]);i.enter().append("g").classed(vo.containerClassName,!0).style("cursor",r?null:"ew-resize");function o(c){c._commandObserver&&(c._commandObserver.remove(),delete c._commandObserver),Rk.autoMargin(t,Bde(c))}if(i.exit().each(function(){Z0.select(this).selectAll("g."+vo.groupClassName).each(o)}).remove(),a.length!==0){var s=i.selectAll("g."+vo.groupClassName).data(a,Nvt);s.enter().append("g").classed(vo.groupClassName,!0),s.exit().each(o).remove();for(var l=0;l0&&(s=s.transition().duration(t.transition.duration).ease(t.transition.easing)),s.attr("transform",qvt(o-vo.gripWidth*.5,t._dims.currentValueTotalHeight))}}function aB(e,t){var r=e._dims;return r.inputAreaStart+vo.stepInset+(r.inputAreaLength-2*vo.stepInset)*Math.min(1,Math.max(0,t))}function zde(e,t){var r=e._dims;return Math.min(1,Math.max(0,(t-vo.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*vo.stepInset-2*r.inputAreaStart)))}function Yvt(e,t,r){var n=r._dims,a=_v.ensureSingle(e,"rect",vo.railTouchRectClass,function(i){i.call(Ude,t,e,r).style("pointer-events","all")});a.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,vo.tickOffset+r.ticklen+n.labelHeight)}).call(dm.fill,r.bgcolor).attr("opacity",0),$0.setTranslate(a,0,n.currentValueTotalHeight)}function Xvt(e,t){var r=t._dims,n=r.inputAreaLength-vo.railInset*2,a=_v.ensureSingle(e,"rect",vo.railRectClass);a.attr({width:n,height:vo.railWidth,rx:vo.railRadius,ry:vo.railRadius,"shape-rendering":"crispEdges"}).call(dm.stroke,t.bordercolor).call(dm.fill,t.bgcolor).style("stroke-width",t.borderwidth+"px"),$0.setTranslate(a,vo.railInset,(r.inputAreaWidth-vo.railWidth)*.5+r.currentValueTotalHeight)}});var Wde=ne((Xnr,jde)=>{"use strict";var Zvt=eT();jde.exports={moduleType:"component",name:Zvt.name,layoutAttributes:eB(),supplyLayoutDefaults:Rde(),draw:Hde()}});var zk=ne((Znr,Xde)=>{"use strict";var Yde=Ic();Xde.exports={bgcolor:{valType:"color",dflt:Yde.background,editType:"plot"},bordercolor:{valType:"color",dflt:Yde.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"}});var iB=ne(($nr,Zde)=>{"use strict";Zde.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"}});var qk=ne((Knr,$de)=>{"use strict";$de.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}});var Qde=ne(Ok=>{"use strict";var $vt=uu(),Kvt=Ms(),Kde=qk(),Jvt=qc().LINE_SPACING,Bk=Kde.name;function Jde(e){var t=e&&e[Bk];return t&&t.visible}Ok.isVisible=Jde;Ok.makeData=function(e){for(var t=$vt.list({_fullLayout:e},"x",!0),r=e.margin,n=[],a=0;a{"use strict";var Nk=Zt(),eve=Bo(),tve=uu(),Qvt=zk(),e0t=iB();rve.exports=function(t,r,n){var a=t[n],i=r[n];if(!(a.rangeslider||r._requestRangeslider[i._id]))return;Nk.isPlainObject(a.rangeslider)||(a.rangeslider={});var o=a.rangeslider,s=eve.newContainer(i,"rangeslider");function l(k,y){return Nk.coerce(o,s,Qvt,k,y)}var u,c;function f(k,y){return Nk.coerce(u,c,e0t,k,y)}var h=l("visible");if(h){l("bgcolor",r.plot_bgcolor),l("bordercolor"),l("borderwidth"),l("thickness"),l("autorange",!i.isValidRange(o.range)),l("range");var v=r._subplots;if(v)for(var d=v.cartesian.filter(function(k){return k.slice(0,Math.max(0,k.indexOf("y")))===tve.name2id(n)}).map(function(k){return k.slice(k.indexOf("y"),k.length)}),m=Nk.simpleMap(d,tve.id2name),x=0;x{"use strict";var t0t=uu().list,r0t=I0().getAutoRange,n0t=qk();ave.exports=function(t){for(var r=t0t(t,"x",!0),n=0;n{"use strict";var Uk=Ea(),a0t=Fa(),i0t=Sl(),Ju=Zt(),Vk=Ju.strTranslate,sve=li(),vm=_a(),o0t=Qy(),s0t=Ku(),oB=uu(),l0t=od(),u0t=z0(),Eo=qk();lve.exports=function(e){for(var t=e._fullLayout,r=t._rangeSliderData,n=0;n=R.max)U=A[O+1];else if(q=R.pmax)U=A[O+1];else if(q0?e.touches[0].clientX:0}function c0t(e,t,r,n){if(t._context.staticPlot)return;var a=e.select("rect."+Eo.slideBoxClassName).node(),i=e.select("rect."+Eo.grabAreaMinClassName).node(),o=e.select("rect."+Eo.grabAreaMaxClassName).node();function s(){var l=Uk.event,u=l.target,c=ove(l),f=c-e.node().getBoundingClientRect().left,h=n.d2p(r._rl[0]),v=n.d2p(r._rl[1]),d=l0t.coverSlip();this.addEventListener("touchmove",m),this.addEventListener("touchend",x),d.addEventListener("mousemove",m),d.addEventListener("mouseup",x);function m(g){var E=ove(g),M=+E-c,w,k,y;switch(u){case a:if(y="ew-resize",h+M>r._length||v+M<0)return;w=h+M,k=v+M;break;case i:if(y="col-resize",h+M>r._length)return;w=h+M,k=v;break;case o:if(y="col-resize",v+M<0)return;w=h,k=v+M;break;default:y="ew-resize",w=f,k=f+M;break}if(k{"use strict";var b0t=Zt(),_0t=zk(),w0t=iB(),sB=Qde();cve.exports={moduleType:"component",name:"rangeslider",schema:{subplots:{xaxis:{rangeslider:b0t.extendFlat({},_0t,{yaxis:w0t})}}},layoutAttributes:zk(),handleDefaults:nve(),calcAutorange:ive(),draw:uve(),isVisible:sB.isVisible,makeData:sB.makeData,autoMarginOpts:sB.autoMarginOpts}});var Gk=ne((nar,dve)=>{"use strict";var T0t=pl(),hve=Ic(),A0t=Bo().templatedArray,M0t=A0t("button",{visible:{valType:"boolean",dflt:!0,editType:"plot"},step:{valType:"enumerated",values:["month","year","day","hour","minute","second","all"],dflt:"month",editType:"plot"},stepmode:{valType:"enumerated",values:["backward","todate"],dflt:"backward",editType:"plot"},count:{valType:"number",min:0,dflt:1,editType:"plot"},label:{valType:"string",editType:"plot"},editType:"plot"});dve.exports={visible:{valType:"boolean",editType:"plot"},buttons:M0t,x:{valType:"number",min:-2,max:3,editType:"plot"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"plot"},y:{valType:"number",min:-2,max:3,editType:"plot"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"bottom",editType:"plot"},font:T0t({editType:"plot"}),bgcolor:{valType:"color",dflt:hve.lightLine,editType:"plot"},activecolor:{valType:"color",editType:"plot"},bordercolor:{valType:"color",dflt:hve.defaultLine,editType:"plot"},borderwidth:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"plot"}});var lB=ne((aar,vve)=>{"use strict";vve.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}});var mve=ne((iar,gve)=>{"use strict";var Hk=Zt(),S0t=_a(),E0t=Bo(),k0t=zh(),pve=Gk(),uB=lB();gve.exports=function(t,r,n,a,i){var o=t.rangeselector||{},s=E0t.newContainer(r,"rangeselector");function l(v,d){return Hk.coerce(o,s,pve,v,d)}var u=k0t(o,s,{name:"buttons",handleItemDefaults:C0t,calendar:i}),c=l("visible",u.length>0);if(c){var f=L0t(r,n,a);l("x",f[0]),l("y",f[1]),Hk.noneOrAll(t,r,["x","y"]),l("xanchor"),l("yanchor"),Hk.coerceFont(l,"font",n.font);var h=l("bgcolor");l("activecolor",S0t.contrast(h,uB.lightAmount,uB.darkAmount)),l("bordercolor"),l("borderwidth")}};function C0t(e,t,r,n){var a=n.calendar;function i(l,u){return Hk.coerce(e,t,pve.buttons,l,u)}var o=i("visible");if(o){var s=i("step");s!=="all"&&(a&&a!=="gregorian"&&(s==="month"||s==="year")?t.stepmode="backward":i("stepmode"),i("count")),i("label")}}function L0t(e,t,r){for(var n=r.filter(function(s){return t[s].anchor===e._id}),a=0,i=0;i{"use strict";var F0t=hD(),P0t=Zt().titleCase;yve.exports=function(t,r){var n=t._name,a={};if(r.step==="all")a[n+".autorange"]=!0;else{var i=D0t(t,r);a[n+".range[0]"]=i[0],a[n+".range[1]"]=i[1]}return a};function D0t(e,t){var r=e.range,n=new Date(e.r2l(r[1])),a=t.step,i=F0t["utc"+P0t(a)],o=t.count,s;switch(t.stepmode){case"backward":s=e.l2r(+i.offset(n,-o));break;case"todate":var l=i.offset(n,-o);s=e.l2r(+i.ceil(l));break}var u=r[1];return[s,u]}});var Eve=ne((sar,Sve)=>{"use strict";var Wk=Ea(),R0t=Fa(),I0t=Sl(),bve=_a(),Mve=li(),O1=Zt(),_ve=O1.strTranslate,jk=Ms(),z0t=uu(),hB=qc(),wve=hB.LINE_SPACING,Tve=hB.FROM_TL,Ave=hB.FROM_BR,fB=lB(),q0t=xve();Sve.exports=function(t){var r=t._fullLayout,n=r._infolayer.selectAll(".rangeselector").data(B0t(t),O0t);n.enter().append("g").classed("rangeselector",!0),n.exit().remove(),n.style({cursor:"pointer","pointer-events":"all"}),n.each(function(a){var i=Wk.select(this),o=a,s=o.rangeselector,l=i.selectAll("g.button").data(O1.filterVisible(s.buttons));l.enter().append("g").classed("button",!0),l.exit().remove(),l.each(function(u){var c=Wk.select(this),f=q0t(o,u);u._isActive=N0t(o,u,f),c.call(cB,s,u),c.call(V0t,s,u,t),c.on("click",function(){t._dragged||R0t.call("_guiRelayout",t,f)}),c.on("mouseover",function(){u._isHovered=!0,c.call(cB,s,u)}),c.on("mouseout",function(){u._isHovered=!1,c.call(cB,s,u)})}),H0t(t,l,s,o._name,i)})};function B0t(e){for(var t=z0t.list(e,"x",!0),r=[],n=0;n{"use strict";kve.exports={moduleType:"component",name:"rangeselector",schema:{subplots:{xaxis:{rangeselector:Gk()}}},layoutAttributes:Gk(),handleDefaults:mve(),draw:Eve()}});var zl=ne(dB=>{"use strict";var Lve=ci().extendFlat;dB.attributes=function(e,t){e=e||{},t=t||{};var r={valType:"info_array",editType:e.editType,items:[{valType:"number",min:0,max:1,editType:e.editType},{valType:"number",min:0,max:1,editType:e.editType}],dflt:[0,1]},n=e.name?e.name+" ":"",a=e.trace?"trace":"subplot",i=t.description?" "+t.description:"",o={x:Lve({},r,{}),y:Lve({},r,{}),editType:e.editType};return e.noGridCell||(o.row={valType:"integer",min:0,dflt:0,editType:e.editType},o.column={valType:"integer",min:0,dflt:0,editType:e.editType}),o};dB.defaults=function(e,t,r,n){var a=n&&n.x||[0,1],i=n&&n.y||[0,1],o=t.grid;if(o){var s=r("domain.column");s!==void 0&&(s{"use strict";var j0t=Zt(),W0t=(_b(),vl(bb)).counter,Y0t=zl().attributes,Fve=zc().idRegex,X0t=Bo(),vB={rows:{valType:"integer",min:1,editType:"plot"},roworder:{valType:"enumerated",values:["top to bottom","bottom to top"],dflt:"top to bottom",editType:"plot"},columns:{valType:"integer",min:1,editType:"plot"},subplots:{valType:"info_array",freeLength:!0,dimensions:2,items:{valType:"enumerated",values:[W0t("xy").toString(),""],editType:"plot"},editType:"plot"},xaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[Fve.x.toString(),""],editType:"plot"},editType:"plot"},yaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[Fve.y.toString(),""],editType:"plot"},editType:"plot"},pattern:{valType:"enumerated",values:["independent","coupled"],dflt:"coupled",editType:"plot"},xgap:{valType:"number",min:0,max:1,editType:"plot"},ygap:{valType:"number",min:0,max:1,editType:"plot"},domain:Y0t({name:"grid",editType:"plot",noGridCell:!0},{}),xside:{valType:"enumerated",values:["bottom","bottom plot","top plot","top"],dflt:"bottom plot",editType:"plot"},yside:{valType:"enumerated",values:["left","left plot","right plot","right"],dflt:"left plot",editType:"plot"},editType:"plot"};function Yk(e,t,r){var n=t[r+"axes"],a=Object.keys((e._splomAxes||{})[r]||{});if(Array.isArray(n))return n;if(a.length)return a}function Z0t(e,t){var r=e.grid||{},n=Yk(t,r,"x"),a=Yk(t,r,"y");if(!e.grid&&!n&&!a)return;var i=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),o=Array.isArray(n),s=Array.isArray(a),l=o&&n!==r.xaxes&&s&&a!==r.yaxes,u,c;i?(u=r.subplots.length,c=r.subplots[0].length):(s&&(u=a.length),o&&(c=n.length));var f=X0t.newContainer(t,"grid");function h(y,S){return j0t.coerce(r,f,vB,y,S)}var v=h("rows",u),d=h("columns",c);if(!(v*d>1)){delete t.grid;return}if(!i&&!o&&!s){var m=h("pattern")==="independent";m&&(i=!0)}f._hasSubplotGrid=i;var x=h("roworder"),g=x==="top to bottom",E=i?.2:.1,M=i?.3:.1,w,k;l&&t._splomGridDflt&&(w=t._splomGridDflt.xside,k=t._splomGridDflt.yside),f._domains={x:Pve("x",h,E,w,d),y:Pve("y",h,M,k,v,g)}}function Pve(e,t,r,n,a,i){var o=t(e+"gap",r),s=t("domain."+e);t(e+"side",n);for(var l=new Array(a),u=s[0],c=(s[1]-u)/(a-o),f=c*(1-o),h=0;h{"use strict";Ive.exports={visible:{valType:"boolean",editType:"calc"},type:{valType:"enumerated",values:["percent","constant","sqrt","data"],editType:"calc"},symmetric:{valType:"boolean",editType:"calc"},array:{valType:"data_array",editType:"calc"},arrayminus:{valType:"data_array",editType:"calc"},value:{valType:"number",min:0,dflt:10,editType:"calc"},valueminus:{valType:"number",min:0,dflt:10,editType:"calc"},traceref:{valType:"integer",min:0,dflt:0,editType:"style"},tracerefminus:{valType:"integer",min:0,dflt:0,editType:"style"},copy_ystyle:{valType:"boolean",editType:"plot"},copy_zstyle:{valType:"boolean",editType:"style"},color:{valType:"color",editType:"style"},thickness:{valType:"number",min:0,dflt:2,editType:"style"},width:{valType:"number",min:0,editType:"plot"},editType:"calc"}});var Bve=ne((har,qve)=>{"use strict";var zve=mi(),K0t=Fa(),J0t=Zt(),Q0t=Bo(),ept=gB();qve.exports=function(e,t,r,n){var a="error_"+n.axis,i=Q0t.newContainer(t,a),o=e[a]||{};function s(d,m){return J0t.coerce(o,i,ept,d,m)}var l=o.array!==void 0||o.value!==void 0||o.type==="sqrt",u=s("visible",l);if(u!==!1){var c=s("type","array"in o?"data":"percent"),f=!0;c!=="sqrt"&&(f=s("symmetric",!((c==="data"?"arrayminus":"valueminus")in o))),c==="data"?(s("array"),s("traceref"),f||(s("arrayminus"),s("tracerefminus"))):(c==="percent"||c==="constant")&&(s("value"),f||s("valueminus"));var h="copy_"+n.inherit+"style";if(n.inherit){var v=t["error_"+n.inherit];(v||{}).visible&&s(h,!(o.color||zve(o.thickness)||zve(o.width)))}(!n.inherit||!i[h])&&(s("color",r),s("thickness"),s("width",K0t.traceIs(t,"gl3d")?0:4))}}});var mB=ne((dar,Nve)=>{"use strict";Nve.exports=function(t){var r=t.type,n=t.symmetric;if(r==="data"){var a=t.array||[];if(n)return function(u,c){var f=+a[c];return[f,f]};var i=t.arrayminus||[];return function(u,c){var f=+a[c],h=+i[c];return!isNaN(f)||!isNaN(h)?[h||0,f||0]:[NaN,NaN]}}else{var o=Ove(r,t.value),s=Ove(r,t.valueminus);return n||t.valueminus===void 0?function(u){var c=o(u);return[c,c]}:function(u){return[s(u),o(u)]}}};function Ove(e,t){if(e==="percent")return function(r){return Math.abs(r*t/100)};if(e==="constant")return function(){return Math.abs(t)};if(e==="sqrt")return function(r){return Math.sqrt(Math.abs(r))}}});var Gve=ne((par,Vve)=>{"use strict";var yB=mi(),tpt=Fa(),xB=ri(),rpt=Zt(),npt=mB();Vve.exports=function(t){for(var r=t.calcdata,n=0;n{"use strict";var Hve=Ea(),pm=mi(),apt=li(),ipt=ml();jve.exports=function(t,r,n,a){var i,o=n.xaxis,s=n.yaxis,l=a&&a.duration>0,u=t._context.staticPlot;r.each(function(c){var f=c[0].trace,h=f.error_x||{},v=f.error_y||{},d;f.ids&&(d=function(E){return E.id});var m=ipt.hasMarkers(f)&&f.marker.maxdisplayed>0;!v.visible&&!h.visible&&(c=[]);var x=Hve.select(this).selectAll("g.errorbar").data(c,d);if(x.exit().remove(),!!c.length){h.visible||x.selectAll("path.xerror").remove(),v.visible||x.selectAll("path.yerror").remove(),x.style("opacity",1);var g=x.enter().append("g").classed("errorbar",!0);l&&g.style("opacity",0).transition().duration(a.duration).style("opacity",1),apt.setClipUrl(x,n.layerClipId,t),x.each(function(E){var M=Hve.select(this),w=opt(E,o,s);if(!(m&&!E.vis)){var k,y=M.select("path.yerror");if(v.visible&&pm(w.x)&&pm(w.yh)&&pm(w.ys)){var S=v.width;k="M"+(w.x-S)+","+w.yh+"h"+2*S+"m-"+S+",0V"+w.ys,w.noYS||(k+="m-"+S+",0h"+2*S),i=!y.size(),i?y=M.append("path").style("vector-effect",u?"none":"non-scaling-stroke").classed("yerror",!0):l&&(y=y.transition().duration(a.duration).ease(a.easing)),y.attr("d",k)}else y.remove();var T=M.select("path.xerror");if(h.visible&&pm(w.y)&&pm(w.xh)&&pm(w.xs)){var p=(h.copy_ystyle?v:h).width;k="M"+w.xh+","+(w.y-p)+"v"+2*p+"m0,-"+p+"H"+w.xs,w.noXS||(k+="m0,-"+p+"v"+2*p),i=!T.size(),i?T=M.append("path").style("vector-effect",u?"none":"non-scaling-stroke").classed("xerror",!0):l&&(T=T.transition().duration(a.duration).ease(a.easing)),T.attr("d",k)}else T.remove()}})}})};function opt(e,t,r){var n={x:t.c2p(e.x),y:r.c2p(e.y)};return e.yh!==void 0&&(n.yh=r.c2p(e.yh),n.ys=r.c2p(e.ys),pm(n.ys)||(n.noYS=!0,n.ys=r.c2p(e.ys,!0))),e.xh!==void 0&&(n.xh=t.c2p(e.xh),n.xs=t.c2p(e.xs),pm(n.xs)||(n.noXS=!0,n.xs=t.c2p(e.xs,!0))),n}});var Zve=ne((mar,Xve)=>{"use strict";var spt=Ea(),Yve=_a();Xve.exports=function(t){t.each(function(r){var n=r[0].trace,a=n.error_y||{},i=n.error_x||{},o=spt.select(this);o.selectAll("path.yerror").style("stroke-width",a.thickness+"px").call(Yve.stroke,a.color),i.copy_ystyle&&(i=a),o.selectAll("path.xerror").style("stroke-width",i.thickness+"px").call(Yve.stroke,i.color)})}});var Jve=ne((yar,Kve)=>{"use strict";var rT=Zt(),$ve=Il().overrideAll,nT=gB(),Cx={error_x:rT.extendFlat({},nT),error_y:rT.extendFlat({},nT)};delete Cx.error_x.copy_zstyle;delete Cx.error_y.copy_zstyle;delete Cx.error_y.copy_ystyle;var aT={error_x:rT.extendFlat({},nT),error_y:rT.extendFlat({},nT),error_z:rT.extendFlat({},nT)};delete aT.error_x.copy_ystyle;delete aT.error_y.copy_ystyle;delete aT.error_z.copy_ystyle;delete aT.error_z.copy_zstyle;Kve.exports={moduleType:"component",name:"errorbars",schema:{traces:{scatter:Cx,bar:Cx,histogram:Cx,scatter3d:$ve(aT,"calc","nested"),scattergl:$ve(Cx,"calc","nested")}},supplyDefaults:Bve(),calc:Gve(),makeComputeError:mB(),plot:Wve(),style:Zve(),hoverInfo:lpt};function lpt(e,t,r){(t.error_y||{}).visible&&(r.yerr=e.yh-e.y,t.error_y.symmetric||(r.yerrneg=e.y-e.ys)),(t.error_x||{}).visible&&(r.xerr=e.xh-e.x,t.error_x.symmetric||(r.xerrneg=e.x-e.xs))}});var e0e=ne((xar,Qve)=>{"use strict";Qve.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"}}});var s0e=ne((bar,o0e)=>{"use strict";var gm=Ea(),Zk=Sl(),t0e=Fa(),N1=ri(),Xk=od(),r0=Zt(),J0=r0.strTranslate,i0e=ci().extendFlat,bB=z0(),K0=li(),k_=_a(),upt=Qy(),cpt=Ms(),fpt=yh().flipScale,hpt=Y4(),dpt=bk(),vpt=Wf(),_B=qc(),r0e=_B.LINE_SPACING,n0e=_B.FROM_TL,a0e=_B.FROM_BR,fu=e0e().cn;function ppt(e){var t=e._fullLayout,r=t._infolayer.selectAll("g."+fu.colorbar).data(gpt(e),function(n){return n._id});r.enter().append("g").attr("class",function(n){return n._id}).classed(fu.colorbar,!0),r.each(function(n){var a=gm.select(this);r0.ensureSingle(a,"rect",fu.cbbg),r0.ensureSingle(a,"g",fu.cbfills),r0.ensureSingle(a,"g",fu.cblines),r0.ensureSingle(a,"g",fu.cbaxis,function(o){o.classed(fu.crisp,!0)}),r0.ensureSingle(a,"g",fu.cbtitleunshift,function(o){o.append("g").classed(fu.cbtitle,!0)}),r0.ensureSingle(a,"rect",fu.cboutline);var i=mpt(a,n,e);i&&i.then&&(e._promises||[]).push(i),e._context.edits.colorbarPosition&&ypt(a,n,e)}),r.exit().each(function(n){Zk.autoMargin(e,n._id)}).remove(),r.order()}function gpt(e){var t=e._fullLayout,r=e.calcdata,n=[],a,i,o,s;function l(M){return i0e(M,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function u(){typeof s.calc=="function"?s.calc(e,o,a):(a._fillgradient=i.reversescale?fpt(i.colorscale):i.colorscale,a._zrange=[i[s.min],i[s.max]])}for(var c=0;c1){var Pe=Math.pow(10,Math.floor(Math.log(ye)/Math.LN10));we*=Pe*r0.roundUp(ye/Pe,[2,5,10]),(Math.abs(P.start)/P.size+1e-6)%1<2e-6&&(ce.tick0=0)}ce.dtick=we}ce.domain=n?[j+d/w.h,j+B-d/w.h]:[j+v/w.w,j+B-v/w.w],ce.setScale(),e.attr("transform",J0(Math.round(w.l),Math.round(w.t)));var le=e.select("."+fu.cbtitleunshift).attr("transform",J0(-Math.round(w.l),-Math.round(w.t))),ze=ce.ticklabelposition,Xe=ce.title.font.size,vt=e.select("."+fu.cbaxis),st,Oe=0,qe=0;function mt(Ue,ge){var Ge={propContainer:ce,propName:t._propPrefix+"title.text",traceIndex:t._traceIndex,_meta:t._meta,placeholder:M._dfltTitle.colorbar,containerGroup:e.select("."+fu.cbtitle)},tt=Ue.charAt(0)==="h"?Ue.slice(1):"h"+Ue;e.selectAll("."+tt+",."+tt+"-math-group").remove(),upt.draw(r,Ue,i0e(Ge,ge||{}))}function lt(){if(n&&oe||!n&&!oe){var Ue,ge;T==="top"&&(Ue=v+w.l+Y*m,ge=d+w.t+X*(1-j-B)+3+Xe*.75),T==="bottom"&&(Ue=v+w.l+Y*m,ge=d+w.t+X*(1-j)-3-Xe*.25),T==="right"&&(ge=d+w.t+X*x+3+Xe*.75,Ue=v+w.l+Y*j),mt(ce._id+"title",{attributes:{x:Ue,y:ge,"text-anchor":n?"start":"middle"}})}}function Ie(){if(n&&!oe||!n&&oe){var Ue=ce.position||0,ge=ce._offset+ce._length/2,Ge,tt;if(T==="right")tt=ge,Ge=w.l+Y*Ue+10+Xe*(ce.showticklabels?1:.5);else if(Ge=ge,T==="bottom"&&(tt=w.t+X*Ue+10+(ze.indexOf("inside")===-1?ce.tickfont.size:0)+(ce.ticks!=="inside"&&t.ticklen||0)),T==="top"){var ft=S.text.split("
").length;tt=w.t+X*Ue+10-U-r0e*Xe*ft}mt((n?"h":"v")+ce._id+"title",{avoid:{selection:gm.select(r).selectAll("g."+ce._id+"tick"),side:T,offsetTop:n?0:w.t,offsetLeft:n?w.l:0,maxShift:n?M.width:M.height},attributes:{x:Ge,y:tt,"text-anchor":"middle"},transform:{rotate:n?-90:0,offset:0}})}}function de(){if(!n&&!oe||n&&oe){var Ue=e.select("."+fu.cbtitle),ge=Ue.select("text"),Ge=[-l/2,l/2],tt=Ue.select(".h"+ce._id+"title-math-group").node(),ft=15.6;ge.node()&&(ft=parseInt(ge.node().style.fontSize,10)*r0e);var He;if(tt?(He=K0.bBox(tt),qe=He.width,Oe=He.height,Oe>ft&&(Ge[1]-=(Oe-ft)/2)):ge.node()&&!ge.classed(fu.jsPlaceholder)&&(He=K0.bBox(ge.node()),qe=He.width,Oe=He.height),n){if(Oe){if(Oe+=5,T==="top")ce.domain[1]-=Oe/w.h,Ge[1]*=-1;else{ce.domain[0]+=Oe/w.h;var Qe=cpt.lineCount(ge);Ge[1]+=(1-Qe)*ft}Ue.attr("transform",J0(Ge[0],Ge[1])),ce.setScale()}}else qe&&(T==="right"&&(ce.domain[0]+=(qe+Xe/2)/w.w),Ue.attr("transform",J0(Ge[0],Ge[1])),ce.setScale())}e.selectAll("."+fu.cbfills+",."+fu.cblines).attr("transform",n?J0(0,Math.round(w.h*(1-ce.domain[1]))):J0(Math.round(w.w*ce.domain[0]),0)),vt.attr("transform",n?J0(0,Math.round(-w.t)):J0(Math.round(-w.l),0));var We=e.select("."+fu.cbfills).selectAll("rect."+fu.cbfill).attr("style","").data(z);We.enter().append("rect").classed(fu.cbfill,!0).attr("style",""),We.exit().remove();var pt=p.map(ce.c2p).map(Math.round).sort(function(tr,lr){return tr-lr});We.each(function(tr,lr){var Ye=[lr===0?p[0]:(z[lr]+z[lr-1])/2,lr===z.length-1?p[1]:(z[lr]+z[lr+1])/2].map(ce.c2p).map(Math.round);n&&(Ye[1]=r0.constrain(Ye[1]+(Ye[1]>Ye[0])?1:-1,pt[0],pt[1]));var Te=gm.select(this).attr(n?"x":"y",te).attr(n?"y":"x",gm.min(Ye)).attr(n?"width":"height",Math.max(U,2)).attr(n?"height":"width",Math.max(gm.max(Ye)-gm.min(Ye),2));if(t._fillgradient)K0.gradient(Te,r,t._id,n?"vertical":"horizontalreversed",t._fillgradient,"fill");else{var Fe=A(tr).replace("e-","");Te.attr("fill",k_.color(Fe).hex())}});var kt=e.select("."+fu.cblines).selectAll("path."+fu.cbline).data(y.color&&y.width?q:[]);kt.enter().append("path").classed(fu.cbline,!0),kt.exit().remove(),kt.each(function(tr){var lr=te,Ye=Math.round(ce.c2p(tr))+y.width/2%1;gm.select(this).attr("d","M"+(n?lr+","+Ye:Ye+","+lr)+(n?"h":"v")+U).call(K0.lineGroupStyle,y.width,C(tr),y.dash)}),vt.selectAll("g."+ce._id+"tick,path").remove();var qt=te+U+(l||0)/2-(t.ticks==="outside"?1:0),Wt=N1.calcTicks(ce),_r=N1.getTickSigns(ce)[2];return N1.drawTicks(r,ce,{vals:ce.ticks==="inside"?N1.clipEnds(ce,Wt):Wt,layer:vt,path:N1.makeTickPath(ce,qt,_r),transFn:N1.makeTransTickFn(ce)}),N1.drawLabels(r,ce,{vals:Wt,layer:vt,transFn:N1.makeTransTickLabelFn(ce),labelFns:N1.makeLabelFns(ce,qt)})}function Ee(){var Ue,ge=U+l/2;ze.indexOf("inside")===-1&&(Ue=K0.bBox(vt.node()),ge+=n?Ue.width:Ue.height),st=le.select("text");var Ge=0,tt=n&&T==="top",ft=!n&&T==="right",He=0;if(st.node()&&!st.classed(fu.jsPlaceholder)){var Qe,We=le.select(".h"+ce._id+"title-math-group").node();We&&(n&&oe||!n&&!oe)?(Ue=K0.bBox(We),Ge=Ue.width,Qe=Ue.height):(Ue=K0.bBox(le.node()),Ge=Ue.right-w.l-(n?te:fe),Qe=Ue.bottom-w.t-(n?fe:te),!n&&T==="top"&&(ge+=Ue.height,He=Ue.height)),ft&&(st.attr("transform",J0(Ge/2+Xe/2,0)),Ge*=2),ge=Math.max(ge,n?Ge:Qe)}var pt=(n?v:d)*2+ge+u+l/2,kt=0;!n&&S.text&&h==="bottom"&&x<=0&&(kt=pt/2,pt+=kt,He+=kt),M._hColorbarMoveTitle=kt,M._hColorbarMoveCBTitle=He;var qt=u+l,Wt=(n?te:fe)-qt/2-(n?v:0),_r=(n?fe:te)-(n?R:d+He-kt);e.select("."+fu.cbbg).attr("x",Wt).attr("y",_r).attr(n?"width":"height",Math.max(pt-kt,2)).attr(n?"height":"width",Math.max(R+qt,2)).call(k_.fill,c).call(k_.stroke,t.bordercolor).style("stroke-width",u);var tr=ft?Math.max(Ge-10,0):0;e.selectAll("."+fu.cboutline).attr("x",(n?te:fe+v)+tr).attr("y",(n?fe+d-R:te)+(tt?Oe:0)).attr(n?"width":"height",Math.max(U,2)).attr(n?"height":"width",Math.max(R-(n?2*d+Oe:2*v+tr),2)).call(k_.stroke,t.outlinecolor).style({fill:"none","stroke-width":l});var lr=n?se*pt:0,Ye=n?0:(1-ue)*pt-He;if(lr=E?w.l-lr:-lr,Ye=g?w.t-Ye:-Ye,e.attr("transform",J0(lr,Ye)),!n&&(u||k_.opacity(c)&&!k_.equals(M.paper_bgcolor,c))){var Te=vt.selectAll("text"),Fe=Te[0].length,Ae=e.select("."+fu.cbbg).node(),Re=K0.bBox(Ae),Ze=K0.getTranslate(e),Ke=2;Te.each(function(zr,vn){var Nn=0,Xn=Fe-1;if(vn===Nn||vn===Xn){var Kn=K0.bBox(this),Qn=K0.getTranslate(this),un;if(vn===Xn){var aa=Kn.right+Qn.x,da=Re.right+Ze.x+fe-u-Ke+m;un=da-aa,un>0&&(un=0)}else if(vn===Nn){var ua=Kn.left+Qn.x,qa=Re.left+Ze.x+fe+u+Ke;un=qa-ua,un<0&&(un=0)}un&&(Fe<3?this.setAttribute("transform","translate("+un+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}})}var _t={},St=n0e[f],Vt=a0e[f],fr=n0e[h],$t=a0e[h],gr=pt-U;n?(i==="pixels"?(_t.y=x,_t.t=R*fr,_t.b=R*$t):(_t.t=_t.b=0,_t.yt=x+a*fr,_t.yb=x-a*$t),s==="pixels"?(_t.x=m,_t.l=pt*St,_t.r=pt*Vt):(_t.l=gr*St,_t.r=gr*Vt,_t.xl=m-o*St,_t.xr=m+o*Vt)):(i==="pixels"?(_t.x=m,_t.l=R*St,_t.r=R*Vt):(_t.l=_t.r=0,_t.xl=m+a*St,_t.xr=m-a*Vt),s==="pixels"?(_t.y=1-x,_t.t=pt*fr,_t.b=pt*$t):(_t.t=gr*fr,_t.b=gr*$t,_t.yt=x-o*fr,_t.yb=x+o*$t));var Br=t.y<.5?"b":"t",Nr=t.x<.5?"l":"r";r._fullLayout._reservedMargin[t._id]={};var Er={r:M.width-Wt-lr,l:Wt+_t.r,b:M.height-_r-Ye,t:_r+_t.b};E&&g?Zk.autoMargin(r,t._id,_t):E?r._fullLayout._reservedMargin[t._id][Br]=Er[Br]:g||n?r._fullLayout._reservedMargin[t._id][Nr]=Er[Nr]:r._fullLayout._reservedMargin[t._id][Br]=Er[Br]}return r0.syncOrAsync([Zk.previousPromises,lt,de,Ie,Zk.previousPromises,Ee],r)}function ypt(e,t,r){var n=t.orientation==="v",a=r._fullLayout,i=a._size,o,s,l;Xk.init({element:e.node(),gd:r,prepFn:function(){o=e.attr("transform"),bB(e)},moveFn:function(u,c){e.attr("transform",o+J0(u,c)),s=Xk.align((n?t._uFrac:t._vFrac)+u/i.w,n?t._thickFrac:t._lenFrac,0,1,t.xanchor),l=Xk.align((n?t._vFrac:1-t._uFrac)-c/i.h,n?t._lenFrac:t._thickFrac,0,1,t.yanchor);var f=Xk.getCursor(s,l,t.xanchor,t.yanchor);bB(e,f)},doneFn:function(){if(bB(e),s!==void 0&&l!==void 0){var u={};u[t._propPrefix+"x"]=s,u[t._propPrefix+"y"]=l,t._traceIndex!==void 0?t0e.call("_guiRestyle",r,u,t._traceIndex):t0e.call("_guiRelayout",r,u)}}})}function xpt(e,t,r){var n=t._levels,a=[],i=[],o,s,l=n.end+n.size/100,u=n.size,c=1.001*r[0]-.001*r[1],f=1.001*r[1]-.001*r[0];for(s=0;s<1e5&&(o=n.start+s*u,!(u>0?o>=l:o<=l));s++)o>c&&o0?o>=l:o<=l));s++)o>r[0]&&o{"use strict";l0e.exports={moduleType:"component",name:"colorbar",attributes:hS(),supplyDefaults:LR(),draw:s0e().draw,hasColorbar:TR()}});var f0e=ne((war,c0e)=>{"use strict";c0e.exports={moduleType:"component",name:"legend",layoutAttributes:TI(),supplyLayoutDefaults:MI(),draw:OI(),style:II()}});var d0e=ne((Tar,h0e)=>{"use strict";h0e.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}});var p0e=ne((Aar,v0e)=>{"use strict";v0e.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}});var TB=ne((Mar,x0e)=>{"use strict";var _pt=Fa(),y0e=Zt(),wB=y0e.extendFlat,g0e=y0e.extendDeep;function m0e(e){var t;switch(e){case"themes__thumb":t={autosize:!0,width:150,height:150,title:{text:""},showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case"thumbnail":t={title:{text:""},showlegend:!1,borderwidth:0,bordercolor:"",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:t={}}return t}function wpt(e){var t=["xaxis","yaxis","zaxis"];return t.indexOf(e.slice(0,5))>-1}x0e.exports=function(t,r){var n,a=t.data,i=t.layout,o=g0e([],a),s=g0e({},i,m0e(r.tileClass)),l=t._context||{};if(r.width&&(s.width=r.width),r.height&&(s.height=r.height),r.tileClass==="thumbnail"||r.tileClass==="themes__thumb"){s.annotations=[];var u=Object.keys(s);for(n=0;n{"use strict";var Tpt=Vy().EventEmitter,Apt=Fa(),Mpt=Zt(),b0e=z1(),Spt=TB(),Ept=ek(),kpt=tk();function Cpt(e,t){var r=new Tpt,n=Spt(e,{format:"png"}),a=n.gd;a.style.position="absolute",a.style.left="-5000px",document.body.appendChild(a);function i(){var s=b0e.getDelay(a._fullLayout);setTimeout(function(){var l=Ept(a),u=document.createElement("canvas");u.id=Mpt.randstr(),r=kpt({format:t.format,width:a._fullLayout.width,height:a._fullLayout.height,canvas:u,emitter:r,svg:l}),r.clean=function(){a&&document.body.removeChild(a)}},s)}var o=b0e.getRedrawFunc(a);return Apt.call("_doPlot",a,n.data,n.layout,n.config).then(o).then(i).catch(function(s){r.emit("error",s)}),r}_0e.exports=Cpt});var M0e=ne((Ear,A0e)=>{"use strict";var T0e=z1(),Lpt={getDelay:T0e.getDelay,getRedrawFunc:T0e.getRedrawFunc,clone:TB(),toSVG:ek(),svgToImg:tk(),toImage:w0e(),downloadImage:aq()};A0e.exports=Lpt});var E0e=ne(U1=>{"use strict";U1.version=g5().version;D$();Ree();var Fpt=Fa(),iT=U1.register=Fpt.register,MB=Yue(),S0e=Object.keys(MB);for($k=0;$k{"use strict";k0e.exports=E0e()});var Vp=ne((Lar,R0e)=>{"use strict";var Bu=Tu(),L0e=Wl().axisHoverFormat,{hovertemplateAttrs:Ppt,texttemplateAttrs:Dpt,templatefallbackAttrs:F0e}=rs(),D0e=Ys(),Rpt=pl(),P0e=um(),Ipt=xf().pattern,Lx=ci().extendFlat,SB=Rpt({editType:"calc",arrayOk:!0,colorEditType:"style"}),zpt=Bu.marker,qpt=zpt.line,Bpt=Lx({},qpt.width,{dflt:0}),Opt=Lx({width:Bpt,editType:"calc"},D0e("marker.line")),Npt=Lx({line:Opt,editType:"calc"},D0e("marker"),{opacity:{valType:"number",arrayOk:!0,dflt:1,min:0,max:1,editType:"style"},pattern:Ipt,cornerradius:{valType:"any",editType:"calc"}});R0e.exports={x:Bu.x,x0:Bu.x0,dx:Bu.dx,y:Bu.y,y0:Bu.y0,dy:Bu.dy,xperiod:Bu.xperiod,yperiod:Bu.yperiod,xperiod0:Bu.xperiod0,yperiod0:Bu.yperiod0,xperiodalignment:Bu.xperiodalignment,yperiodalignment:Bu.yperiodalignment,xhoverformat:L0e("x"),yhoverformat:L0e("y"),text:Bu.text,texttemplate:Dpt({editType:"plot"},{keys:P0e.eventDataKeys}),texttemplatefallback:F0e({editType:"plot"}),hovertext:Bu.hovertext,hovertemplate:Ppt({},{keys:P0e.eventDataKeys}),hovertemplatefallback:F0e(),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"calc"},insidetextanchor:{valType:"enumerated",values:["end","middle","start"],dflt:"end",editType:"plot"},textangle:{valType:"angle",dflt:"auto",editType:"plot"},textfont:Lx({},SB,{}),insidetextfont:Lx({},SB,{}),outsidetextfont:Lx({},SB,{}),constraintext:{valType:"enumerated",values:["inside","outside","both","none"],dflt:"both",editType:"calc"},cliponaxis:Lx({},Bu.cliponaxis,{}),orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},base:{valType:"any",dflt:null,arrayOk:!0,editType:"calc"},offset:{valType:"number",dflt:null,arrayOk:!0,editType:"calc"},width:{valType:"number",dflt:null,min:0,arrayOk:!0,editType:"calc"},marker:Npt,offsetgroup:Bu.offsetgroup,alignmentgroup:Bu.alignmentgroup,selected:{marker:{opacity:Bu.selected.marker.opacity,color:Bu.selected.marker.color,editType:"style"},textfont:Bu.selected.textfont,editType:"style"},unselected:{marker:{opacity:Bu.unselected.marker.opacity,color:Bu.unselected.marker.color,editType:"style"},textfont:Bu.unselected.textfont,editType:"style"},zorder:Bu.zorder}});var Jk=ne((Far,I0e)=>{"use strict";I0e.exports={barmode:{valType:"enumerated",values:["stack","group","overlay","relative"],dflt:"group",editType:"calc"},barnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},bargap:{valType:"number",min:0,max:1,editType:"calc"},bargroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},barcornerradius:{valType:"any",editType:"calc"}}});var Qk=ne((Par,B0e)=>{"use strict";var Upt=_a(),z0e=yh().hasColorscale,q0e=bf(),Vpt=Zt().coercePattern;B0e.exports=function(t,r,n,a,i){var o=n("marker.color",a),s=z0e(t,"marker");s&&q0e(t,r,i,n,{prefix:"marker.",cLetter:"c"}),n("marker.line.color",Upt.defaultLine),z0e(t,"marker.line")&&q0e(t,r,i,n,{prefix:"marker.line.",cLetter:"c"}),n("marker.line.width"),n("marker.opacity"),Vpt(n,"marker.pattern",o,s),n("selected.marker.color"),n("unselected.marker.color")}});var wv=ne((Dar,H0e)=>{"use strict";var O0e=mi(),L_=Zt(),N0e=_a(),Gpt=Fa(),Hpt=yx(),jpt=U0(),Wpt=Qk(),Ypt=xx(),U0e=Vp(),eC=L_.coerceFont;function Xpt(e,t,r,n){function a(u,c){return L_.coerce(e,t,U0e,u,c)}var i=Hpt(e,t,n,a);if(!i){t.visible=!1;return}jpt(e,t,n,a),a("xhoverformat"),a("yhoverformat"),a("zorder"),a("orientation",t.x&&!t.y?"h":"v"),a("base"),a("offset"),a("width"),a("text"),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback");var o=a("textposition");G0e(e,t,n,a,o,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),Wpt(e,t,a,r,n);var s=(t.marker.line||{}).color,l=Gpt.getComponentMethod("errorbars","supplyDefaults");l(e,t,s||N0e.defaultLine,{axis:"y"}),l(e,t,s||N0e.defaultLine,{axis:"x",inherit:"y"}),L_.coerceSelectionMarkerOpacity(t,a)}function Zpt(e,t){var r,n;function a(s,l){return L_.coerce(n._input,n,U0e,s,l)}for(var i=0;i=0)return e}else if(typeof e=="string"&&(e=e.trim(),e.slice(-1)==="%"&&O0e(e.slice(0,-1))&&(e=+e.slice(0,-1),e>=0)))return e+"%"}function G0e(e,t,r,n,a,i){i=i||{};var o=i.moduleHasSelected!==!1,s=i.moduleHasUnselected!==!1,l=i.moduleHasConstrain!==!1,u=i.moduleHasCliponaxis!==!1,c=i.moduleHasTextangle!==!1,f=i.moduleHasInsideanchor!==!1,h=!!i.hasPathbar,v=Array.isArray(a)||a==="auto",d=v||a==="inside",m=v||a==="outside";if(d||m){var x=eC(n,"textfont",r.font),g=L_.extendFlat({},x),E=e.textfont&&e.textfont.color,M=!E;if(M&&delete g.color,eC(n,"insidetextfont",g),h){var w=L_.extendFlat({},x);M&&delete w.color,eC(n,"pathbar.textfont",w)}m&&eC(n,"outsidetextfont",x),o&&n("selected.textfont.color"),s&&n("unselected.textfont.color"),l&&n("constraintext"),u&&n("cliponaxis"),c&&n("textangle"),n("texttemplate"),n("texttemplatefallback")}d&&f&&n("insidetextanchor")}H0e.exports={supplyDefaults:Xpt,crossTraceDefaults:Zpt,handleText:G0e,validateCornerradius:V0e}});var EB=ne((Rar,j0e)=>{"use strict";var $pt=Fa(),Kpt=ri(),Jpt=Zt(),Qpt=Jk(),e1t=wv().validateCornerradius;j0e.exports=function(e,t,r){function n(m,x){return Jpt.coerce(e,t,Qpt,m,x)}for(var a=!1,i=!1,o=!1,s={},l=n("barmode"),u=l==="group",c=0;c0&&!s[h]&&(o=!0),s[h]=!0),f.visible&&f.type==="histogram"){var v=Kpt.getFromId({_fullLayout:t},f[f.orientation==="v"?"xaxis":"yaxis"]);v.type!=="category"&&(i=!0)}}if(!a){delete t.barmode;return}l!=="overlay"&&n("barnorm"),n("bargap",i&&!o?0:.2),n("bargroupgap");var d=n("barcornerradius");t.barcornerradius=e1t(d)}});var oT=ne((Iar,W0e)=>{"use strict";var F_=Zt();W0e.exports=function(t,r){for(var n=0;n{"use strict";var Y0e=ri(),X0e=H0(),Z0e=yh().hasColorscale,$0e=qh(),t1t=oT(),r1t=mv();K0e.exports=function(t,r){var n=Y0e.getFromId(t,r.xaxis||"x"),a=Y0e.getFromId(t,r.yaxis||"y"),i,o,s,l,u,c,f={msUTC:!!(r.base||r.base===0)};r.orientation==="h"?(i=n.makeCalcdata(r,"x",f),s=a.makeCalcdata(r,"y"),l=X0e(r,a,"y",s),u=!!r.yperiodalignment,c="y"):(i=a.makeCalcdata(r,"y",f),s=n.makeCalcdata(r,"x"),l=X0e(r,n,"x",s),u=!!r.xperiodalignment,c="x"),o=l.vals;for(var h=Math.min(o.length,i.length),v=new Array(h),d=0;d{"use strict";var n1t=Ea(),a1t=Zt();function i1t(e,t,r){var n=e._fullLayout,a=n["_"+r+"Text_minsize"];if(a){var i=n.uniformtext.mode==="hide",o;switch(r){case"funnelarea":case"pie":case"sunburst":o="g.slice";break;case"treemap":case"icicle":o="g.slice, g.pathbar";break;default:o="g.points > g.point"}t.selectAll(o).each(function(s){var l=s.transform;if(l){l.scale=i&&l.hide?0:a/l.fontSize;var u=n1t.select(this).select("text");a1t.setTransormAndDisplay(u,l)}})}}function o1t(e,t,r){if(r.uniformtext.mode){var n=Q0e(e),a=r.uniformtext.minsize,i=t.scale*t.fontSize;t.hide=i{"use strict";var l1t=_a(),u1t=mi(),tpe=Zt().isArrayOrTypedArray;Fx.coerceString=function(e,t,r){if(typeof t=="string"){if(t||!e.noBlank)return t}else if((typeof t=="number"||t===!0)&&!e.strict)return String(t);return r!==void 0?r:e.dflt};Fx.coerceNumber=function(e,t,r){if(u1t(t)){t=+t;var n=e.min,a=e.max,i=n!==void 0&&ta;if(!i)return t}return r!==void 0?r:e.dflt};Fx.coerceColor=function(e,t,r){return l1t.isValid(t)?t:r!==void 0?r:e.dflt};Fx.coerceEnumerated=function(e,t,r){return e.coerceNumber&&(t=+t),e.values.indexOf(t)!==-1?t:r!==void 0?r:e.dflt};Fx.getValue=function(e,t){var r;return tpe(e)?t{"use strict";var sT=Ea(),c1t=_a(),lT=li(),rpe=Zt(),npe=Fa(),ape=Uh().resizeText,kB=Vp(),f1t=kB.textfont,h1t=kB.insidetextfont,d1t=kB.outsidetextfont,_h=tC();function v1t(e){var t=sT.select(e).selectAll('g[class^="barlayer"]').selectAll("g.trace");ape(e,t,"bar");var r=t.size(),n=e._fullLayout;t.style("opacity",function(a){return a[0].trace.opacity}).each(function(a){(n.barmode==="stack"&&r>1||n.bargap===0&&n.bargroupgap===0&&!a[0].trace.marker.line.width)&&sT.select(this).attr("shape-rendering","crispEdges")}),t.selectAll("g.points").each(function(a){var i=sT.select(this),o=a[0].trace;ipe(i,o,e)}),npe.getComponentMethod("errorbars","style")(t)}function ipe(e,t,r){lT.pointStyle(e.selectAll("path"),t,r),ope(e,t,r)}function ope(e,t,r){e.selectAll("text").each(function(n){var a=sT.select(this),i=rpe.ensureUniformFontSize(r,spe(a,n,t,r));lT.font(a,i)})}function p1t(e,t,r){var n=t[0].trace;n.selectedpoints?g1t(r,n,e):(ipe(r,n,e),npe.getComponentMethod("errorbars","style")(r))}function g1t(e,t,r){lT.selectedPointStyle(e.selectAll("path"),t),m1t(e.selectAll("text"),t,r)}function m1t(e,t,r){e.each(function(n){var a=sT.select(this),i;if(n.selected){i=rpe.ensureUniformFontSize(r,spe(a,n,t,r));var o=t.selected.textfont&&t.selected.textfont.color;o&&(i.color=o),lT.font(a,i)}else lT.selectedTextStyle(a,t)})}function spe(e,t,r,n){var a=n._fullLayout.font,i=r.textfont;if(e.classed("bartext-inside")){var o=fpe(t,r);i=upe(r,t.i,a,o)}else e.classed("bartext-outside")&&(i=cpe(r,t.i,a));return i}function lpe(e,t,r){return CB(f1t,e.textfont,t,r)}function upe(e,t,r,n){var a=lpe(e,t,r),i=e._input.textfont===void 0||e._input.textfont.color===void 0||Array.isArray(e.textfont.color)&&e.textfont.color[t]===void 0;return i&&(a={color:c1t.contrast(n),family:a.family,size:a.size,weight:a.weight,style:a.style,variant:a.variant,textcase:a.textcase,lineposition:a.lineposition,shadow:a.shadow}),CB(h1t,e.insidetextfont,t,a)}function cpe(e,t,r){var n=lpe(e,t,r);return CB(d1t,e.outsidetextfont,t,n)}function CB(e,t,r,n){t=t||{};var a=_h.getValue(t.family,r),i=_h.getValue(t.size,r),o=_h.getValue(t.color,r),s=_h.getValue(t.weight,r),l=_h.getValue(t.style,r),u=_h.getValue(t.variant,r),c=_h.getValue(t.textcase,r),f=_h.getValue(t.lineposition,r),h=_h.getValue(t.shadow,r);return{family:_h.coerceString(e.family,a,n.family),size:_h.coerceNumber(e.size,i,n.size),color:_h.coerceColor(e.color,o,n.color),weight:_h.coerceString(e.weight,s,n.weight),style:_h.coerceString(e.style,l,n.style),variant:_h.coerceString(e.variant,u,n.variant),textcase:_h.coerceString(e.variant,c,n.textcase),lineposition:_h.coerceString(e.variant,f,n.lineposition),shadow:_h.coerceString(e.variant,h,n.shadow)}}function fpe(e,t){return t.type==="waterfall"?t[e.dir].marker.color:e.mcc||e.mc||t.marker.color}hpe.exports={style:v1t,styleTextPoints:ope,styleOnSelect:p1t,getInsideTextFont:upe,getOutsideTextFont:cpe,getBarColor:fpe,resizeText:ape}});var Dx=ne((Nar,bpe)=>{"use strict";var rC=Ea(),nC=mi(),Xf=Zt(),y1t=Ms(),x1t=_a(),mm=li(),b1t=Fa(),aC=ri().tickText,dpe=Uh(),_1t=dpe.recordMinTextSize,w1t=dpe.clearMinTextSize,LB=n0(),P_=tC(),T1t=um(),vpe=Vp(),A1t=vpe.text,M1t=vpe.textposition,S1t=Hd().appendArrayPointValue,hd=T1t.TEXTPAD;function E1t(e){return e.id}function k1t(e){if(e.ids)return E1t}function FB(e){return(e>0)-(e<0)}function Gp(e,t){return e0}function L1t(e,t,r,n,a,i){var o=t.xaxis,s=t.yaxis,l=e._fullLayout,u=e._context.staticPlot;a||(a={mode:l.barmode,norm:l.barmode,gap:l.bargap,groupgap:l.bargroupgap},w1t("bar",l));var c=Xf.makeTraceGroups(n,r,"trace bars").each(function(f){var h=rC.select(this),v=f[0].trace,d=f[0].t,m=v.type==="waterfall",x=v.type==="funnel",g=v.type==="histogram",E=v.type==="bar",M=E||x,w=0;m&&v.connector.visible&&v.connector.mode==="between"&&(w=v.connector.line.width/2);var k=v.orientation==="h",y=gpe(a),S=Xf.ensureSingle(h,"g","points"),T=k1t(v),p=S.selectAll("g.point").data(Xf.identity,T);p.enter().append("g").classed("point",!0),p.exit().remove(),p.each(function(A,P){var D=rC.select(this),z=C1t(A,o,s,k),q=z[0][0],U=z[0][1],O=z[1][0],R=z[1][1],B=(k?U-q:R-O)===0;B&&M&&P_.getLineWidth(v,A)&&(B=!1),B||(B=!nC(q)||!nC(U)||!nC(O)||!nC(R)),A.isBlank=B,B&&(k?U=q:R=O),w&&!B&&(k?(q-=Gp(q,U)*w,U+=Gp(q,U)*w):(O-=Gp(O,R)*w,R+=Gp(O,R)*w));var Y,X;if(v.type==="waterfall"){if(!B){var te=v[A.dir].marker;Y=te.line.width,X=te.color}}else Y=P_.getLineWidth(v,A),X=A.mc||v.marker.color;function se(ge){var Ge=rC.round(Y/2%1,2);return a.gap===0&&a.groupgap===0?rC.round(Math.round(ge)-Ge,2):ge}function ue(ge,Ge,tt){return tt&&ge===Ge?ge:Math.abs(ge-Ge)>=2?se(ge):ge>Ge?Math.ceil(ge):Math.floor(ge)}var re=x1t.opacity(X),j=re<1||Y>.01?se:ue;e._context.staticPlot||(q=j(q,U,k),U=j(U,q,k),O=j(O,R,!k),R=j(R,O,!k));var fe=k?o.c2p:s.c2p,ce;A.s0>0?ce=A._sMax:A.s0<0?ce=A._sMin:ce=A.s1>0?A._sMax:A._sMin;function oe(ge,Ge){if(!ge)return 0;var tt=Math.abs(k?R-O:U-q),ft=Math.abs(k?U-q:R-O),He=j(Math.abs(fe(ce,!0)-fe(0,!0))),Qe=A.hasB?Math.min(tt/2,ft/2):Math.min(tt/2,He),We;if(Ge==="%"){var pt=Math.min(50,ge);We=tt*(pt/100)}else We=ge;return j(Math.max(Math.min(We,Qe),0))}var we=E||g?oe(d.cornerradiusvalue,d.cornerradiusform):0,he,ye,Pe="M"+q+","+O+"V"+R+"H"+U+"V"+O+"Z",le=0;if(we&&A.s){var ze=FB(A.s0)===0||FB(A.s)===FB(A.s0)?A.s1:A.s0;if(le=j(A.hasB?0:Math.abs(fe(ce,!0)-fe(ze,!0))),le0?Math.sqrt(le*(2*we-le)):0,mt=Xe>0?Math.max:Math.min;he="M"+q+","+O+"V"+(R-Oe*vt)+"H"+mt(U-(we-le)*Xe,q)+"A "+we+","+we+" 0 0 "+st+" "+U+","+(R-we*vt-qe)+"V"+(O+we*vt+qe)+"A "+we+","+we+" 0 0 "+st+" "+mt(U-(we-le)*Xe,q)+","+(O+Oe*vt)+"Z"}else if(A.hasB)he="M"+(q+we*Xe)+","+O+"A "+we+","+we+" 0 0 "+st+" "+q+","+(O+we*vt)+"V"+(R-we*vt)+"A "+we+","+we+" 0 0 "+st+" "+(q+we*Xe)+","+R+"H"+(U-we*Xe)+"A "+we+","+we+" 0 0 "+st+" "+U+","+(R-we*vt)+"V"+(O+we*vt)+"A "+we+","+we+" 0 0 "+st+" "+(U-we*Xe)+","+O+"Z";else{ye=Math.abs(R-O)+le;var lt=ye0?Math.sqrt(le*(2*we-le)):0,de=vt>0?Math.max:Math.min;he="M"+(q+lt*Xe)+","+O+"V"+de(R-(we-le)*vt,O)+"A "+we+","+we+" 0 0 "+st+" "+(q+we*Xe-Ie)+","+R+"H"+(U-we*Xe+Ie)+"A "+we+","+we+" 0 0 "+st+" "+(U-lt*Xe)+","+de(R-(we-le)*vt,O)+"V"+O+"Z"}}else he=Pe}else he=Pe;var Ee=ppe(Xf.ensureSingle(D,"path"),l,a,i);if(Ee.style("vector-effect",u?"none":"non-scaling-stroke").attr("d",isNaN((U-q)*(R-O))||B&&e._context.staticPlot?"M0,0Z":he).call(mm.setClipUrl,t.layerClipId,e),!l.uniformtext.mode&&y){var Ue=mm.makePointStyleFns(v);mm.singlePointStyle(A,Ee,v,Ue,e)}F1t(e,t,D,f,P,q,U,O,R,we,le,a,i),t.layerClipId&&mm.hideOutsideRangePoint(A,D.select("text"),o,s,v.xcalendar,v.ycalendar)});var C=v.cliponaxis===!1;mm.setClipUrl(h,C?null:t.layerClipId,e)});b1t.getComponentMethod("errorbars","plot")(e,c,t,a)}function F1t(e,t,r,n,a,i,o,s,l,u,c,f,h){var v=t.xaxis,d=t.yaxis,m=e._fullLayout,x;function g(ye,Pe,le){var ze=Xf.ensureSingle(ye,"text").text(Pe).attr({class:"bartext bartext-"+x,"text-anchor":"middle","data-notex":1}).call(mm.font,le).call(y1t.convertToTspans,e);return ze}var E=n[0].trace,M=E.orientation==="h",w=R1t(m,n,a,v,d);x=I1t(E,a);var k=f.mode==="stack"||f.mode==="relative",y=n[a],S=!k||y._outmost,T=y.hasB,p=u&&u-c>hd;if(!w||x==="none"||(y.isBlank||i===o||s===l)&&(x==="auto"||x==="inside")){r.select("text").remove();return}var C=m.font,A=LB.getBarColor(n[a],E),P=LB.getInsideTextFont(E,a,C,A),D=LB.getOutsideTextFont(E,a,C),z=E.insidetextanchor||"end",q=r.datum();M?v.type==="log"&&q.s0<=0&&(v.range[0]0&&se>0,j;p?T?j=Px(R-2*u,B,te,se,M)||Px(R,B-2*u,te,se,M):M?j=Px(R-(u-c),B,te,se,M)||Px(R,B-2*(u-c),te,se,M):j=Px(R,B-(u-c),te,se,M)||Px(R-2*(u-c),B,te,se,M):j=Px(R,B,te,se,M),re&&j?x="inside":(x="outside",Y.remove(),Y=null)}else x="inside";if(!Y){ue=Xf.ensureUniformFontSize(e,x==="outside"?D:P),Y=g(r,w,ue);var fe=Y.attr("transform");if(Y.attr("transform",""),X=mm.bBox(Y.node()),te=X.width,se=X.height,Y.attr("transform",fe),te<=0||se<=0){Y.remove();return}}var ce=E.textangle,oe,we;x==="outside"?(we=E.constraintext==="both"||E.constraintext==="outside",oe=D1t(i,o,s,l,X,{isHorizontal:M,constrained:we,angle:ce})):(we=E.constraintext==="both"||E.constraintext==="inside",oe=xpe(i,o,s,l,X,{isHorizontal:M,constrained:we,angle:ce,anchor:z,hasB:T,r:u,overhead:c})),oe.fontSize=ue.size,_1t(E.type==="histogram"?"bar":E.type,oe,m),y.transform=oe;var he=ppe(Y,m,f,h);Xf.setTransormAndDisplay(he,oe)}function Px(e,t,r,n,a){if(e<0||t<0)return!1;var i=r<=e&&n<=t,o=r<=t&&n<=e,s=a?e>=r*(t/n):t>=n*(e/r);return i||o||s}function mpe(e){return e==="auto"?0:e}function ype(e,t){var r=Math.PI/180*t,n=Math.abs(Math.sin(r)),a=Math.abs(Math.cos(r));return{x:e.width*a+e.height*n,y:e.width*n+e.height*a}}function xpe(e,t,r,n,a,i){var o=!!i.isHorizontal,s=!!i.constrained,l=i.angle||0,u=i.anchor,c=u==="end",f=u==="start",h=i.leftToRight||0,v=(h+1)/2,d=1-v,m=i.hasB,x=i.r,g=i.overhead,E=a.width,M=a.height,w=Math.abs(t-e),k=Math.abs(n-r),y=w>2*hd&&k>2*hd?hd:0;w-=2*y,k-=2*y;var S=mpe(l);l==="auto"&&!(E<=w&&M<=k)&&(E>w||M>k)&&(!(E>k||M>w)||Ehd){var A=P1t(e,t,r,n,T,x,g,o,m);p=A.scale,C=A.pad}else p=1,s&&(p=Math.min(1,w/T.x,k/T.y)),C=0;var P=a.left*d+a.right*v,D=(a.top+a.bottom)/2,z=(e+hd)*d+(t-hd)*v,q=(r+n)/2,U=0,O=0;if(f||c){var R=(o?T.x:T.y)/2;x&&(c||m)&&(y+=C);var B=o?Gp(e,t):Gp(r,n);o?f?(z=e+B*y,U=-B*R):(z=t-B*y,U=B*R):f?(q=r+B*y,O=-B*R):(q=n-B*y,O=B*R)}return{textX:P,textY:D,targetX:z,targetY:q,anchorX:U,anchorY:O,scale:p,rotate:S}}function P1t(e,t,r,n,a,i,o,s,l){var u=Math.max(0,Math.abs(t-e)-2*hd),c=Math.max(0,Math.abs(n-r)-2*hd),f=i-hd,h=o?f-Math.sqrt(f*f-(f-o)*(f-o)):f,v=l?f*2:s?f-o:2*h,d=l?f*2:s?2*h:f-o,m,x,g,E,M;return a.y/a.x>=c/(u-v)?E=c/a.y:a.y/a.x<=(c-d)/u?E=u/a.x:!l&&s?(m=a.x*a.x+a.y*a.y/4,x=-2*a.x*(u-f)-a.y*(c/2-f),g=(u-f)*(u-f)+(c/2-f)*(c/2-f)-f*f,E=(-x+Math.sqrt(x*x-4*m*g))/(2*m)):l?(m=(a.x*a.x+a.y*a.y)/4,x=-a.x*(u/2-f)-a.y*(c/2-f),g=(u/2-f)*(u/2-f)+(c/2-f)*(c/2-f)-f*f,E=(-x+Math.sqrt(x*x-4*m*g))/(2*m)):(m=a.x*a.x/4+a.y*a.y,x=-a.x*(u/2-f)-2*a.y*(c-f),g=(u/2-f)*(u/2-f)+(c-f)*(c-f)-f*f,E=(-x+Math.sqrt(x*x-4*m*g))/(2*m)),E=Math.min(1,E),s?M=Math.max(0,f-Math.sqrt(Math.max(0,f*f-(f-(c-a.y*E)/2)*(f-(c-a.y*E)/2)))-o):M=Math.max(0,f-Math.sqrt(Math.max(0,f*f-(f-(u-a.x*E)/2)*(f-(u-a.x*E)/2)))-o),{scale:E,pad:M}}function D1t(e,t,r,n,a,i){var o=!!i.isHorizontal,s=!!i.constrained,l=i.angle||0,u=a.width,c=a.height,f=Math.abs(t-e),h=Math.abs(n-r),v;o?v=h>2*hd?hd:0:v=f>2*hd?hd:0;var d=1;s&&(d=o?Math.min(1,h/c):Math.min(1,f/u));var m=mpe(l),x=ype(a,m),g=(o?x.x:x.y)/2,E=(a.left+a.right)/2,M=(a.top+a.bottom)/2,w=(e+t)/2,k=(r+n)/2,y=0,S=0,T=o?Gp(t,e):Gp(r,n);return o?(w=t-T*v,y=T*g):(k=n+T*v,S=-T*g),{textX:E,textY:M,targetX:w,targetY:k,anchorX:y,anchorY:S,scale:d,rotate:m}}function R1t(e,t,r,n,a){var i=t[0].trace,o=i.texttemplate,s;return o?s=z1t(e,t,r,n,a):i.textinfo?s=q1t(t,r,n,a):s=P_.getValue(i.text,r),P_.coerceString(A1t,s)}function I1t(e,t){var r=P_.getValue(e.textposition,t);return P_.coerceEnumerated(M1t,r)}function z1t(e,t,r,n,a){var i=t[0].trace,o=Xf.castOption(i,r,"texttemplate");if(!o)return"";var s=i.type==="histogram",l=i.type==="waterfall",u=i.type==="funnel",c=i.orientation==="h",f,h,v,d;c?(f="y",h=a,v="x",d=n):(f="x",h=n,v="y",d=a);function m(y){return aC(h,h.c2l(y),!0).text}function x(y){return aC(d,d.c2l(y),!0).text}var g=t[r],E={};E.label=g.p,E.labelLabel=E[f+"Label"]=m(g.p);var M=Xf.castOption(i,g.i,"text");(M===0||M)&&(E.text=M),E.value=g.s,E.valueLabel=E[v+"Label"]=x(g.s);var w={};S1t(w,i,g.i),(s||w.x===void 0)&&(w.x=c?E.value:E.label),(s||w.y===void 0)&&(w.y=c?E.label:E.value),(s||w.xLabel===void 0)&&(w.xLabel=c?E.valueLabel:E.labelLabel),(s||w.yLabel===void 0)&&(w.yLabel=c?E.labelLabel:E.valueLabel),l&&(E.delta=+g.rawS||g.s,E.deltaLabel=x(E.delta),E.final=g.v,E.finalLabel=x(E.final),E.initial=E.final-E.delta,E.initialLabel=x(E.initial)),u&&(E.value=g.s,E.valueLabel=x(E.value),E.percentInitial=g.begR,E.percentInitialLabel=Xf.formatPercent(g.begR),E.percentPrevious=g.difR,E.percentPreviousLabel=Xf.formatPercent(g.difR),E.percentTotal=g.sumR,E.percenTotalLabel=Xf.formatPercent(g.sumR));var k=Xf.castOption(i,g.i,"customdata");return k&&(E.customdata=k),Xf.texttemplateString({data:[w,E,i._meta],fallback:i.texttemplatefallback,labels:E,locale:e._d3locale,template:o})}function q1t(e,t,r,n){var a=e[0].trace,i=a.orientation==="h",o=a.type==="waterfall",s=a.type==="funnel";function l(k){var y=i?n:r;return aC(y,k,!0).text}function u(k){var y=i?r:n;return aC(y,+k,!0).text}var c=a.textinfo,f=e[t],h=c.split("+"),v=[],d,m=function(k){return h.indexOf(k)!==-1};if(m("label")&&v.push(l(e[t].p)),m("text")&&(d=Xf.castOption(a,f.i,"text"),(d===0||d)&&v.push(d)),o){var x=+f.rawS||f.s,g=f.v,E=g-x;m("initial")&&v.push(u(E)),m("delta")&&v.push(u(x)),m("final")&&v.push(u(g))}if(s){m("value")&&v.push(u(f.s));var M=0;m("percent initial")&&M++,m("percent previous")&&M++,m("percent total")&&M++;var w=M>1;m("percent initial")&&(d=Xf.formatPercent(f.begR),w&&(d+=" of initial"),v.push(d)),m("percent previous")&&(d=Xf.formatPercent(f.difR),w&&(d+=" of previous"),v.push(d)),m("percent total")&&(d=Xf.formatPercent(f.sumR),w&&(d+=" of total"),v.push(d))}return v.join("
")}bpe.exports={plot:L1t,toMoveInsideBar:xpe}});var D_=ne((Uar,Ape)=>{"use strict";var uT=cu(),B1t=Fa(),_pe=_a(),O1t=Zt().fillText,N1t=tC().getLineWidth,PB=ri().hoverLabelText,U1t=uo().BADNUM;function V1t(e,t,r,n,a){var i=wpe(e,t,r,n,a);if(i){var o=i.cd,s=o[0].trace,l=o[i.index];return i.color=Tpe(s,l),B1t.getComponentMethod("errorbars","hoverInfo")(l,s,i),[i]}}function wpe(e,t,r,n,a){var i=e.cd,o=i[0].trace,s=i[0].t,l=n==="closest",u=o.type==="waterfall",c=e.maxHoverDistance,f=e.maxSpikeDistance,h,v,d,m,x,g,E;o.orientation==="h"?(h=r,v=t,d="y",m="x",x=q,g=P):(h=t,v=r,d="x",m="y",g=q,x=P);var M=o[d+"period"],w=l||M;function k(j){return S(j,-1)}function y(j){return S(j,1)}function S(j,fe){var ce=j.w;return j[d]+fe*ce/2}function T(j){return j[d+"End"]-j[d+"Start"]}var p=l?k:M?function(j){return j.p-T(j)/2}:function(j){return Math.min(k(j),j.p-s.bardelta/2)},C=l?y:M?function(j){return j.p+T(j)/2}:function(j){return Math.max(y(j),j.p+s.bardelta/2)};function A(j,fe,ce){return a.finiteRange&&(ce=0),uT.inbox(j-h,fe-h,ce+Math.min(1,Math.abs(fe-j)/E)-1)}function P(j){return A(p(j),C(j),c)}function D(j){return A(k(j),y(j),f)}function z(j){var fe=j[m];if(u){var ce=Math.abs(j.rawS)||0;v>0?fe+=ce:v<0&&(fe-=ce)}return fe}function q(j){var fe=v,ce=j.b,oe=z(j);return uT.inbox(ce-fe,oe-fe,c+(oe-fe)/(oe-ce)-1)}function U(j){var fe=v,ce=j.b,oe=z(j);return uT.inbox(ce-fe,oe-fe,f+(oe-fe)/(oe-ce)-1)}var O=e[d+"a"],R=e[m+"a"];E=Math.abs(O.r2c(O.range[1])-O.r2c(O.range[0]));function B(j){return(x(j)+g(j))/2}var Y=uT.getDistanceFunction(n,x,g,B);if(uT.getClosest(i,Y,e),e.index!==!1&&i[e.index].p!==U1t){w||(p=function(j){return Math.min(k(j),j.p-s.bargroupwidth/2)},C=function(j){return Math.max(y(j),j.p+s.bargroupwidth/2)});var X=e.index,te=i[X],se=o.base?te.b+te.s:te.s;e[m+"0"]=e[m+"1"]=R.c2p(te[m],!0),e[m+"LabelVal"]=se;var ue=s.extents[s.extents.round(te.p)];e[d+"0"]=O.c2p(l?p(te):ue[0],!0),e[d+"1"]=O.c2p(l?C(te):ue[1],!0);var re=te.orig_p!==void 0;return e[d+"LabelVal"]=re?te.orig_p:te.p,e.labelLabel=PB(O,e[d+"LabelVal"],o[d+"hoverformat"]),e.valueLabel=PB(R,e[m+"LabelVal"],o[m+"hoverformat"]),e.baseLabel=PB(R,te.b,o[m+"hoverformat"]),e.spikeDistance=(U(te)+D(te))/2,e[d+"Spike"]=O.c2p(te.p,!0),O1t(te,o,e),e.hovertemplate=o.hovertemplate,e}}function Tpe(e,t){var r=t.mcc||e.marker.color,n=t.mlcc||e.marker.line.color,a=N1t(e,t);if(_pe.opacity(r))return r;if(_pe.opacity(n)&&a)return n}Ape.exports={hoverPoints:V1t,hoverOnBars:wpe,getTraceColor:Tpe}});var Spe=ne((Var,Mpe)=>{"use strict";Mpe.exports=function(t,r,n){return t.x="xVal"in r?r.xVal:r.x,t.y="yVal"in r?r.yVal:r.y,r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),n.orientation==="h"?(t.label=t.y,t.value=t.x):(t.label=t.x,t.value=t.y),t}});var R_=ne((Gar,Epe)=>{"use strict";Epe.exports=function(t,r){var n=t.cd,a=t.xaxis,i=t.yaxis,o=n[0].trace,s=o.type==="funnel",l=o.orientation==="h",u=[],c;if(r===!1)for(c=0;c{"use strict";kpe.exports={attributes:Vp(),layoutAttributes:Jk(),supplyDefaults:wv().supplyDefaults,crossTraceDefaults:wv().crossTraceDefaults,supplyLayoutDefaults:EB(),calc:J0e(),crossTraceCalc:bx().crossTraceCalc,colorbar:bh(),arraysToCalcdata:oT(),plot:Dx().plot,style:n0().style,styleOnSelect:n0().styleOnSelect,hoverPoints:D_().hoverPoints,eventData:Spe(),selectPoints:R_(),moduleType:"trace",name:"bar",basePlotModule:Ku(),categories:["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],animatable:!0,meta:{}}});var Fpe=ne((jar,Lpe)=>{"use strict";Lpe.exports=Cpe()});var cT=ne((War,Ipe)=>{"use strict";var H1t=zp(),a0=Tu(),Ppe=Vp(),j1t=Ic(),Dpe=Wl().axisHoverFormat,{hovertemplateAttrs:W1t,templatefallbackAttrs:Y1t}=rs(),V1=ci().extendFlat,I_=a0.marker,Rpe=I_.line;Ipe.exports={y:{valType:"data_array",editType:"calc+clearAxisTypes"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},x0:{valType:"any",editType:"calc+clearAxisTypes"},y0:{valType:"any",editType:"calc+clearAxisTypes"},dx:{valType:"number",editType:"calc"},dy:{valType:"number",editType:"calc"},xperiod:a0.xperiod,yperiod:a0.yperiod,xperiod0:a0.xperiod0,yperiod0:a0.yperiod0,xperiodalignment:a0.xperiodalignment,yperiodalignment:a0.yperiodalignment,xhoverformat:Dpe("x"),yhoverformat:Dpe("y"),name:{valType:"string",editType:"calc+clearAxisTypes"},q1:{valType:"data_array",editType:"calc+clearAxisTypes"},median:{valType:"data_array",editType:"calc+clearAxisTypes"},q3:{valType:"data_array",editType:"calc+clearAxisTypes"},lowerfence:{valType:"data_array",editType:"calc"},upperfence:{valType:"data_array",editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},notchspan:{valType:"data_array",editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},sdmultiple:{valType:"number",min:0,editType:"calc",dflt:1},sizemode:{valType:"enumerated",values:["quartiles","sd"],editType:"calc",dflt:"quartiles"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],editType:"calc"},mean:{valType:"data_array",editType:"calc"},sd:{valType:"data_array",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},quartilemethod:{valType:"enumerated",values:["linear","exclusive","inclusive"],dflt:"linear",editType:"calc"},width:{valType:"number",min:0,dflt:0,editType:"calc"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:V1({},I_.symbol,{arrayOk:!1,editType:"plot"}),opacity:V1({},I_.opacity,{arrayOk:!1,dflt:1,editType:"style"}),angle:V1({},I_.angle,{arrayOk:!1,editType:"calc"}),size:V1({},I_.size,{arrayOk:!1,editType:"calc"}),color:V1({},I_.color,{arrayOk:!1,editType:"style"}),line:{color:V1({},Rpe.color,{arrayOk:!1,dflt:j1t.defaultLine,editType:"style"}),width:V1({},Rpe.width,{arrayOk:!1,dflt:0,editType:"style"}),outliercolor:{valType:"color",editType:"style"},outlierwidth:{valType:"number",min:0,dflt:1,editType:"style"},editType:"style"},editType:"plot"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:H1t(),whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},showwhiskers:{valType:"boolean",editType:"calc"},offsetgroup:Ppe.offsetgroup,alignmentgroup:Ppe.alignmentgroup,selected:{marker:a0.selected.marker,editType:"style"},unselected:{marker:a0.unselected.marker,editType:"style"},text:V1({},a0.text,{}),hovertext:V1({},a0.hovertext,{}),hovertemplate:W1t({}),hovertemplatefallback:Y1t(),hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"},zorder:a0.zorder}});var fT=ne((Yar,zpe)=>{"use strict";zpe.exports={boxmode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},boxgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc"},boxgroupgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc"}}});var dT=ne((Xar,Npe)=>{"use strict";var i0=Zt(),X1t=Fa(),Z1t=_a(),$1t=U0(),K1t=xx(),qpe=Wb(),hT=cT();function J1t(e,t,r,n){function a(d,m){return i0.coerce(e,t,hT,d,m)}if(Bpe(e,t,a,n),t.visible!==!1){$1t(e,t,n,a),a("xhoverformat"),a("yhoverformat");var i=t._hasPreCompStats;i&&(a("lowerfence"),a("upperfence")),a("line.color",(e.marker||{}).color||r),a("line.width"),a("fillcolor",Z1t.addOpacity(t.line.color,.5));var o=!1;if(i){var s=a("mean"),l=a("sd");s&&s.length&&(o=!0,l&&l.length&&(o="sd"))}a("whiskerwidth");var u=a("sizemode"),c;u==="quartiles"&&(c=a("boxmean",o)),a("showwhiskers",u==="quartiles"),(u==="sd"||c==="sd")&&a("sdmultiple"),a("width"),a("quartilemethod");var f=!1;if(i){var h=a("notchspan");h&&h.length&&(f=!0)}else i0.validate(e.notchwidth,hT.notchwidth)&&(f=!0);var v=a("notched",f);v&&a("notchwidth"),Ope(e,t,a,{prefix:"box"}),a("zorder")}}function Bpe(e,t,r,n){function a(C){var A=0;return C&&C.length&&(A+=1,i0.isArrayOrTypedArray(C[0])&&C[0].length&&(A+=1)),A}function i(C){return i0.validate(e[C],hT[C])}var o=r("y"),s=r("x"),l;if(t.type==="box"){var u=r("q1"),c=r("median"),f=r("q3");t._hasPreCompStats=u&&u.length&&c&&c.length&&f&&f.length,l=Math.min(i0.minRowLength(u),i0.minRowLength(c),i0.minRowLength(f))}else t._hasPreCompStats=!1;var h=a(o),v=a(s),d=h&&i0.minRowLength(o),m=v&&i0.minRowLength(s),x=n.calendar,g={autotypenumbers:n.autotypenumbers},E,M;if(t._hasPreCompStats)switch(String(v)+String(h)){case"00":var w=i("x0")||i("dx"),k=i("y0")||i("dy");k&&!w?E="h":E="v",M=l;break;case"10":E="v",M=Math.min(l,m);break;case"20":E="h",M=Math.min(l,s.length);break;case"01":E="h",M=Math.min(l,d);break;case"02":E="v",M=Math.min(l,o.length);break;case"12":E="v",M=Math.min(l,m,o.length);break;case"21":E="h",M=Math.min(l,s.length,d);break;case"11":M=0;break;case"22":var y=!1,S;for(S=0;S0?(E="v",v>0?M=Math.min(m,d):M=Math.min(d)):v>0?(E="h",M=Math.min(m)):M=0;if(!M){t.visible=!1;return}t._length=M;var T=r("orientation",E);t._hasPreCompStats?T==="v"&&v===0?(r("x0",0),r("dx",1)):T==="h"&&h===0&&(r("y0",0),r("dy",1)):T==="v"&&v===0?r("x0"):T==="h"&&h===0&&r("y0");var p=X1t.getComponentMethod("calendars","handleTraceDefaults");p(e,t,["x","y"],n)}function Ope(e,t,r,n){var a=n.prefix,i=i0.coerce2(e,t,hT,"marker.outliercolor"),o=r("marker.line.outliercolor"),s="outliers";t._hasPreCompStats?s="all":(i||o)&&(s="suspectedoutliers");var l=r(a+"points",s);l?(r("jitter",l==="all"?.3:0),r("pointpos",l==="all"?-1.5:0),r("marker.symbol"),r("marker.opacity"),r("marker.size"),r("marker.angle"),r("marker.color",t.line.color),r("marker.line.color"),r("marker.line.width"),l==="suspectedoutliers"&&(r("marker.line.outliercolor",t.marker.color),r("marker.line.outlierwidth")),r("selected.marker.color"),r("unselected.marker.color"),r("selected.marker.size"),r("unselected.marker.size"),r("text"),r("hovertext")):delete t.marker;var u=r("hoveron");(u==="all"||u.indexOf("points")!==-1)&&(r("hovertemplate"),r("hovertemplatefallback")),i0.coerceSelectionMarkerOpacity(t,r)}function Q1t(e,t){var r,n;function a(l){return i0.coerce(n._input,n,hT,l)}for(var i=0;i{"use strict";var egt=Fa(),tgt=Zt(),rgt=fT();function Upe(e,t,r,n,a){for(var i=a+"Layout",o=!1,s=0;s{"use strict";var RB=mi(),oC=ri(),agt=H0(),pc=Zt(),Tv=uo().BADNUM,G1=pc._;Kpe.exports=function(t,r){var n=t._fullLayout,a=oC.getFromId(t,r.xaxis||"x"),i=oC.getFromId(t,r.yaxis||"y"),o=[],s=r.type==="violin"?"_numViolins":"_numBoxes",l,u,c,f,h,v,d;r.orientation==="h"?(c=a,f="x",h=i,v="y",d=!!r.yperiodalignment):(c=i,f="y",h=a,v="x",d=!!r.xperiodalignment);var m=igt(r,v,h,n[s]),x=m[0],g=m[1],E=pc.distinctVals(x,h),M=E.vals,w=E.minDiff/2,k,y,S,T,p,C,A=(r.boxpoints||r.points)==="all"?pc.identity:function(st){return st.vk.uf};if(r._hasPreCompStats){var P=r[f],D=function(st){return c.d2c((r[st]||[])[l])},z=1/0,q=-1/0;for(l=0;l=k.q1&&k.q3>=k.med){var O=D("lowerfence");k.lf=O!==Tv&&O<=k.q1?O:Wpe(k,S,T);var R=D("upperfence");k.uf=R!==Tv&&R>=k.q3?R:Ype(k,S,T);var B=D("mean");k.mean=B!==Tv?B:T?pc.mean(S,T):(k.q1+k.q3)/2;var Y=D("sd");k.sd=B!==Tv&&Y>=0?Y:T?pc.stdev(S,T,k.mean):k.q3-k.q1,k.lo=Xpe(k),k.uo=Zpe(k);var X=D("notchspan");X=X!==Tv&&X>0?X:$pe(k,T),k.ln=k.med-X,k.un=k.med+X;var te=k.lf,se=k.uf;r.boxpoints&&S.length&&(te=Math.min(te,S[0]),se=Math.max(se,S[T-1])),r.notched&&(te=Math.min(te,k.ln),se=Math.max(se,k.un)),k.min=te,k.max=se}else{pc.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+k.q1,"median = "+k.med,"q3 = "+k.q3].join(` +`));var ue;k.med!==Tv?ue=k.med:k.q1!==Tv?k.q3!==Tv?ue=(k.q1+k.q3)/2:ue=k.q1:k.q3!==Tv?ue=k.q3:ue=0,k.med=ue,k.q1=k.q3=ue,k.lf=k.uf=ue,k.mean=k.sd=ue,k.ln=k.un=ue,k.min=k.max=ue}z=Math.min(z,k.min),q=Math.max(q,k.max),k.pts2=y.filter(A),o.push(k)}}r._extremes[c._id]=oC.findExtremes(c,[z,q],{padded:!0})}else{var re=c.makeCalcdata(r,f),j=ogt(M,w),fe=M.length,ce=sgt(fe);for(l=0;l=0&&oe0){if(k={},k.pos=k[v]=M[l],y=k.pts=ce[l].sort(Hpe),S=k[f]=y.map(jpe),T=S.length,k.min=S[0],k.max=S[T-1],k.mean=pc.mean(S,T),k.sd=pc.stdev(S,T,k.mean)*r.sdmultiple,k.med=pc.interp(S,.5),T%2&&(Pe||le)){var ze,Xe;Pe?(ze=S.slice(0,T/2),Xe=S.slice(T/2+1)):le&&(ze=S.slice(0,T/2+1),Xe=S.slice(T/2)),k.q1=pc.interp(ze,.5),k.q3=pc.interp(Xe,.5)}else k.q1=pc.interp(S,.25),k.q3=pc.interp(S,.75);k.lf=Wpe(k,S,T),k.uf=Ype(k,S,T),k.lo=Xpe(k),k.uo=Zpe(k);var vt=$pe(k,T);k.ln=k.med-vt,k.un=k.med+vt,we=Math.min(we,k.ln),he=Math.max(he,k.un),k.pts2=y.filter(A),o.push(k)}r.notched&&pc.isTypedArray(re)&&(re=Array.from(re)),r._extremes[c._id]=oC.findExtremes(c,r.notched?re.concat([we,he]):re,{padded:!0})}return lgt(o,r),o.length>0?(o[0].t={num:n[s],dPos:w,posLetter:v,valLetter:f,labels:{med:G1(t,"median:"),min:G1(t,"min:"),q1:G1(t,"q1:"),q3:G1(t,"q3:"),max:G1(t,"max:"),mean:r.boxmean==="sd"||r.sizemode==="sd"?G1(t,"mean \xB1 \u03C3:").replace("\u03C3",r.sdmultiple===1?"\u03C3":r.sdmultiple+"\u03C3"):G1(t,"mean:"),lf:G1(t,"lower fence:"),uf:G1(t,"upper fence:")}},n[s]++,o):[{t:{empty:!0}}]};function igt(e,t,r,n){var a=t in e,i=t+"0"in e,o="d"+t in e;if(a||i&&o){var s=r.makeCalcdata(e,t),l=agt(e,r,t,s).vals;return[l,s]}var u;i?u=e[t+"0"]:"name"in e&&(r.type==="category"||RB(e.name)&&["linear","log"].indexOf(r.type)!==-1||pc.isDateTime(e.name)&&r.type==="date")?u=e.name:u=n;for(var c=r.type==="multicategory"?r.r2c_just_indices(u):r.d2c(u,0,e[t+"calendar"]),f=e._length,h=new Array(f),v=0;v{"use strict";var Jpe=ri(),ugt=Zt(),cgt=vx().getAxisGroup,Qpe=["v","h"];function fgt(e,t){for(var r=e.calcdata,n=t.xaxis,a=t.yaxis,i=0;i1,E=1-i[e+"gap"],M=1-i[e+"groupgap"];for(l=0;l0;if(S==="positive"?(R=T*(y?1:.5),X=Y,B=X=C):S==="negative"?(R=X=C,B=T*(y?1:.5),te=Y):(R=B=T,X=te=Y),ce){var oe=w.pointpos,we=w.jitter,he=w.marker.size/2,ye=0;oe+we>=0&&(ye=Y*(oe+we),ye>R?(fe=!0,re=he,se=ye):ye>X&&(re=he,se=R)),ye<=R&&(se=R);var Pe=0;oe-we<=0&&(Pe=-Y*(oe-we),Pe>B?(fe=!0,j=he,ue=Pe):Pe>te&&(j=he,ue=B)),Pe<=B&&(ue=B)}else se=R,ue=B;var le=new Array(c.length);for(u=0;u{"use strict";var z_=Ea(),Rx=Zt(),hgt=li(),r1e=5,dgt=.01;function vgt(e,t,r,n){var a=e._context.staticPlot,i=t.xaxis,o=t.yaxis;Rx.makeTraceGroups(n,r,"trace boxes").each(function(s){var l=z_.select(this),u=s[0],c=u.t,f=u.trace;if(c.wdPos=c.bdPos*f.whiskerwidth,f.visible!==!0||c.empty){l.remove();return}var h,v;f.orientation==="h"?(h=o,v=i):(h=i,v=o),n1e(l,{pos:h,val:v},f,c,a),a1e(l,{x:i,y:o},f,c),i1e(l,{pos:h,val:v},f,c)})}function n1e(e,t,r,n,a){var i=r.orientation==="h",o=t.val,s=t.pos,l=!!s.rangebreaks,u=n.bPos,c=n.wdPos||0,f=n.bPosPxOffset||0,h=r.whiskerwidth||0,v=r.showwhiskers!==!1,d=r.notched||!1,m=d?1-2*r.notchwidth:1,x,g;Array.isArray(n.bdPos)?(x=n.bdPos[0],g=n.bdPos[1]):(x=n.bdPos,g=n.bdPos);var E=e.selectAll("path.box").data(r.type!=="violin"||r.box.visible?Rx.identity:[]);E.enter().append("path").style("vector-effect",a?"none":"non-scaling-stroke").attr("class","box"),E.exit().remove(),E.each(function(M){if(M.empty)return z_.select(this).attr("d","M0,0Z");var w=s.c2l(M.pos+u,!0),k=s.l2p(w-x)+f,y=s.l2p(w+g)+f,S=l?(k+y)/2:s.l2p(w)+f,T=r.whiskerwidth,p=l?k*T+(1-T)*S:s.l2p(w-c)+f,C=l?y*T+(1-T)*S:s.l2p(w+c)+f,A=s.l2p(w-x*m)+f,P=s.l2p(w+g*m)+f,D=r.sizemode==="sd",z=o.c2p(D?M.mean-M.sd:M.q1,!0),q=D?o.c2p(M.mean+M.sd,!0):o.c2p(M.q3,!0),U=Rx.constrain(D?o.c2p(M.mean,!0):o.c2p(M.med,!0),Math.min(z,q)+1,Math.max(z,q)-1),O=M.lf===void 0||r.boxpoints===!1||D,R=o.c2p(O?M.min:M.lf,!0),B=o.c2p(O?M.max:M.uf,!0),Y=o.c2p(M.ln,!0),X=o.c2p(M.un,!0);i?z_.select(this).attr("d","M"+U+","+A+"V"+P+"M"+z+","+k+"V"+y+(d?"H"+Y+"L"+U+","+P+"L"+X+","+y:"")+"H"+q+"V"+k+(d?"H"+X+"L"+U+","+A+"L"+Y+","+k:"")+"Z"+(v?"M"+z+","+S+"H"+R+"M"+q+","+S+"H"+B+(h===0?"":"M"+R+","+p+"V"+C+"M"+B+","+p+"V"+C):"")):z_.select(this).attr("d","M"+A+","+U+"H"+P+"M"+k+","+z+"H"+y+(d?"V"+Y+"L"+P+","+U+"L"+y+","+X:"")+"V"+q+"H"+k+(d?"V"+X+"L"+A+","+U+"L"+k+","+Y:"")+"Z"+(v?"M"+S+","+z+"V"+R+"M"+S+","+q+"V"+B+(h===0?"":"M"+p+","+R+"H"+C+"M"+p+","+B+"H"+C):""))})}function a1e(e,t,r,n){var a=t.x,i=t.y,o=n.bdPos,s=n.bPos,l=r.boxpoints||r.points;Rx.seedPseudoRandom();var u=function(h){return h.forEach(function(v){v.t=n,v.trace=r}),h},c=e.selectAll("g.points").data(l?u:[]);c.enter().append("g").attr("class","points"),c.exit().remove();var f=c.selectAll("path").data(function(h){var v,d=h.pts2,m=Math.max((h.max-h.min)/10,h.q3-h.q1),x=m*1e-9,g=m*dgt,E=[],M=0,w;if(r.jitter){if(m===0)for(M=1,E=new Array(d.length),v=0;vh.lo&&(C.so=!0)}return d});f.enter().append("path").classed("point",!0),f.exit().remove(),f.call(hgt.translatePoints,a,i)}function i1e(e,t,r,n){var a=t.val,i=t.pos,o=!!i.rangebreaks,s=n.bPos,l=n.bPosPxOffset||0,u=r.boxmean||(r.meanline||{}).visible,c,f;Array.isArray(n.bdPos)?(c=n.bdPos[0],f=n.bdPos[1]):(c=n.bdPos,f=n.bdPos);var h=e.selectAll("path.mean").data(r.type==="box"&&r.boxmean||r.type==="violin"&&r.box.visible&&r.meanline.visible?Rx.identity:[]);h.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),h.exit().remove(),h.each(function(v){var d=i.c2l(v.pos+s,!0),m=i.l2p(d-c)+l,x=i.l2p(d+f)+l,g=o?(m+x)/2:i.l2p(d)+l,E=a.c2p(v.mean,!0),M=a.c2p(v.mean-v.sd,!0),w=a.c2p(v.mean+v.sd,!0);r.orientation==="h"?z_.select(this).attr("d","M"+E+","+m+"V"+x+(u==="sd"?"m0,0L"+M+","+g+"L"+E+","+m+"L"+w+","+g+"Z":"")):z_.select(this).attr("d","M"+m+","+E+"H"+x+(u==="sd"?"m0,0L"+g+","+M+"L"+m+","+E+"L"+g+","+w+"Z":""))})}o1e.exports={plot:vgt,plotBoxAndWhiskers:n1e,plotPoints:a1e,plotBoxMean:i1e}});var uC=ne((Qar,s1e)=>{"use strict";var zB=Ea(),qB=_a(),BB=li();function pgt(e,t,r){var n=r||zB.select(e).selectAll("g.trace.boxes");n.style("opacity",function(a){return a[0].trace.opacity}),n.each(function(a){var i=zB.select(this),o=a[0].trace,s=o.line.width;function l(f,h,v,d){f.style("stroke-width",h+"px").call(qB.stroke,v).call(qB.fill,d)}var u=i.selectAll("path.box");if(o.type==="candlestick")u.each(function(f){if(!f.empty){var h=zB.select(this),v=o[f.dir];l(h,v.line.width,v.line.color,v.fillcolor),h.style("opacity",o.selectedpoints&&!f.selected?.3:1)}});else{l(u,s,o.line.color,o.fillcolor),i.selectAll("path.mean").style({"stroke-width":s,"stroke-dasharray":2*s+"px,"+s+"px"}).call(qB.stroke,o.line.color);var c=i.selectAll("path.point");BB.pointStyle(c,o,e)}})}function ggt(e,t,r){var n=t[0].trace,a=r.selectAll("path.point");n.selectedpoints?BB.selectedPointStyle(a,n):BB.pointStyle(a,n,e)}s1e.exports={style:pgt,styleOnSelect:ggt}});var NB=ne((eir,f1e)=>{"use strict";var mgt=ri(),OB=Zt(),ym=cu(),l1e=_a(),ygt=OB.fillText;function xgt(e,t,r,n){var a=e.cd,i=a[0].trace,o=i.hoveron,s=[],l;return o.indexOf("boxes")!==-1&&(s=s.concat(u1e(e,t,r,n))),o.indexOf("points")!==-1&&(l=c1e(e,t,r)),n==="closest"?l?[l]:s:(l&&s.push(l),s)}function u1e(e,t,r,n){var a=e.cd,i=e.xa,o=e.ya,s=a[0].trace,l=a[0].t,u=s.type==="violin",c,f,h,v,d,m,x,g,E,M,w,k=l.bdPos,y,S,T=l.wHover,p=function(he){return h.c2l(he.pos)+l.bPos-h.c2l(m)};u&&s.side!=="both"?(s.side==="positive"&&(E=function(he){var ye=p(he);return ym.inbox(ye,ye+T,M)},y=k,S=0),s.side==="negative"&&(E=function(he){var ye=p(he);return ym.inbox(ye-T,ye,M)},y=0,S=k)):(E=function(he){var ye=p(he);return ym.inbox(ye-T,ye+T,M)},y=S=k);var C;u?C=function(he){return ym.inbox(he.span[0]-d,he.span[1]-d,M)}:C=function(he){return ym.inbox(he.min-d,he.max-d,M)},s.orientation==="h"?(d=t,m=r,x=C,g=E,c="y",h=o,f="x",v=i):(d=r,m=t,x=E,g=C,c="x",h=i,f="y",v=o);var A=Math.min(1,k/Math.abs(h.r2c(h.range[1])-h.r2c(h.range[0])));M=e.maxHoverDistance-A,w=e.maxSpikeDistance-A;function P(he){return(x(he)+g(he))/2}var D=ym.getDistanceFunction(n,x,g,P);if(ym.getClosest(a,D,e),e.index===!1)return[];var z=a[e.index],q=s.line.color,U=(s.marker||{}).color;l1e.opacity(q)&&s.line.width?e.color=q:l1e.opacity(U)&&s.boxpoints?e.color=U:e.color=s.fillcolor,e[c+"0"]=h.c2p(z.pos+l.bPos-S,!0),e[c+"1"]=h.c2p(z.pos+l.bPos+y,!0),e[c+"LabelVal"]=z.orig_p!==void 0?z.orig_p:z.pos;var O=c+"Spike";e.spikeDistance=P(z)*w/M,e[O]=h.c2p(z.pos,!0);var R=s.boxmean||s.sizemode==="sd"||(s.meanline||{}).visible,B=s.boxpoints||s.points,Y=B&&R?["max","uf","q3","med","mean","q1","lf","min"]:B&&!R?["max","uf","q3","med","q1","lf","min"]:!B&&R?["max","q3","med","mean","q1","min"]:["max","q3","med","q1","min"],X=v.range[1]{"use strict";h1e.exports=function(t,r){return r.hoverOnBox&&(t.hoverOnBox=r.hoverOnBox),"xVal"in r&&(t.x=r.xVal),"yVal"in r&&(t.y=r.yVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var UB=ne((rir,v1e)=>{"use strict";v1e.exports=function(t,r){var n=t.cd,a=t.xaxis,i=t.yaxis,o=[],s,l;if(r===!1)for(s=0;s{"use strict";p1e.exports={attributes:cT(),layoutAttributes:fT(),supplyDefaults:dT().supplyDefaults,crossTraceDefaults:dT().crossTraceDefaults,supplyLayoutDefaults:iC().supplyLayoutDefaults,calc:IB(),crossTraceCalc:sC().crossTraceCalc,plot:lC().plot,style:uC().style,styleOnSelect:uC().styleOnSelect,hoverPoints:NB().hoverPoints,eventData:d1e(),selectPoints:UB(),moduleType:"trace",name:"box",basePlotModule:Ku(),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","boxLayout","zoomScale"],meta:{}}});var y1e=ne((air,m1e)=>{"use strict";m1e.exports=g1e()});var q_=ne((iir,b1e)=>{"use strict";var bgt=Ys(),{extendFlat:Zd}=ci(),_gt=os(),{axisHoverFormat:VB}=Wl(),wgt=pl(),{hovertemplateAttrs:Tgt,templatefallbackAttrs:x1e,texttemplateAttrs:Agt}=rs(),Av=Tu();b1e.exports=Zd({z:{valType:"data_array",editType:"calc"},x:Zd({},Av.x,{impliedEdits:{xtype:"array"}}),x0:Zd({},Av.x0,{impliedEdits:{xtype:"scaled"}}),dx:Zd({},Av.dx,{impliedEdits:{xtype:"scaled"}}),y:Zd({},Av.y,{impliedEdits:{ytype:"array"}}),y0:Zd({},Av.y0,{impliedEdits:{ytype:"scaled"}}),dy:Zd({},Av.dy,{impliedEdits:{ytype:"scaled"}}),xperiod:Zd({},Av.xperiod,{impliedEdits:{xtype:"scaled"}}),yperiod:Zd({},Av.yperiod,{impliedEdits:{ytype:"scaled"}}),xperiod0:Zd({},Av.xperiod0,{impliedEdits:{xtype:"scaled"}}),yperiod0:Zd({},Av.yperiod0,{impliedEdits:{ytype:"scaled"}}),xperiodalignment:Zd({},Av.xperiodalignment,{impliedEdits:{xtype:"scaled"}}),yperiodalignment:Zd({},Av.yperiodalignment,{impliedEdits:{ytype:"scaled"}}),text:{valType:"data_array",editType:"calc"},hovertext:{valType:"data_array",editType:"calc"},transpose:{valType:"boolean",dflt:!1,editType:"calc"},xtype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},ytype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},zsmooth:{valType:"enumerated",values:["fast","best",!1],dflt:!1,editType:"calc"},hoverongaps:{valType:"boolean",dflt:!0,editType:"none"},connectgaps:{valType:"boolean",editType:"calc"},xgap:{valType:"number",dflt:0,min:0,editType:"plot"},ygap:{valType:"number",dflt:0,min:0,editType:"plot"},xhoverformat:VB("x"),yhoverformat:VB("y"),zhoverformat:VB("z",1),hovertemplate:Tgt(),hovertemplatefallback:x1e(),texttemplate:Agt({arrayOk:!1,editType:"plot"},{keys:["x","y","z","text"]}),texttemplatefallback:x1e({editType:"plot"}),textfont:wgt({editType:"plot",autoSize:!0,autoColor:!0,colorEditType:"style"}),showlegend:Zd({},_gt.showlegend,{dflt:!1}),zorder:Av.zorder},bgt("",{cLetter:"z",autoColorDflt:!1}))});var fC=ne((oir,w1e)=>{"use strict";var Mgt=mi(),cC=Zt(),Sgt=Fa();w1e.exports=function(t,r,n,a,i,o){var s=n("z");i=i||"x",o=o||"y";var l,u;if(s===void 0||!s.length)return 0;if(cC.isArray1D(s)){l=n(i),u=n(o);var c=cC.minRowLength(l),f=cC.minRowLength(u);if(c===0||f===0)return 0;r._length=Math.min(c,f,s.length)}else{if(l=_1e(i,n),u=_1e(o,n),!Egt(s))return 0;n("transpose"),r._length=null}var h=Sgt.getComponentMethod("calendars","handleTraceDefaults");return h(t,r,[i,o],a),!0};function _1e(e,t){var r=t(e),n=r?t(e+"type","array"):"scaled";return n==="scaled"&&(t(e+"0"),t("d"+e)),r}function Egt(e){for(var t=!0,r=!1,n=!1,a,i=0;i0&&(r=!0);for(var o=0;o{"use strict";var T1e=Zt();A1e.exports=function(t,r){t("texttemplate"),t("texttemplatefallback");var n=T1e.extendFlat({},r.font,{color:"auto",size:"auto"});T1e.coerceFont(t,"textfont",n)}});var GB=ne((lir,M1e)=>{"use strict";M1e.exports=function(t,r,n){var a=n("zsmooth");a===!1&&(n("xgap"),n("ygap")),n("zhoverformat")}});var k1e=ne((uir,E1e)=>{"use strict";var S1e=Zt(),kgt=fC(),Cgt=vT(),Lgt=U0(),Fgt=GB(),Pgt=bf(),Dgt=q_();E1e.exports=function(t,r,n,a){function i(s,l){return S1e.coerce(t,r,Dgt,s,l)}var o=kgt(t,r,i,a);if(!o){r.visible=!1;return}Lgt(t,r,a,i),i("xhoverformat"),i("yhoverformat"),i("text"),i("hovertext"),i("hovertemplate"),i("hovertemplatefallback"),Cgt(i,a),Fgt(t,r,i,a),i("hoverongaps"),i("connectgaps",S1e.isArray1D(r.z)&&r.zsmooth!==!1),Pgt(t,r,a,i,{prefix:"",cLetter:"z"}),i("zorder")}});var HB=ne((cir,C1e)=>{"use strict";var B_=mi();C1e.exports={count:function(e,t,r){return r[e]++,1},sum:function(e,t,r,n){var a=n[t];return B_(a)?(a=Number(a),r[e]+=a,a):0},avg:function(e,t,r,n,a){var i=n[t];return B_(i)&&(i=Number(i),r[e]+=i,a[e]++),0},min:function(e,t,r,n){var a=n[t];if(B_(a))if(a=Number(a),B_(r[e])){if(r[e]>a){var i=a-r[e];return r[e]=a,i}}else return r[e]=a,a;return 0},max:function(e,t,r,n){var a=n[t];if(B_(a))if(a=Number(a),B_(r[e])){if(r[e]{"use strict";L1e.exports={percent:function(e,t){for(var r=e.length,n=100/t,a=0;a{"use strict";F1e.exports=function(t,r){for(var n=t.length,a=0,i=0;i{"use strict";var O_=uo(),Ix=O_.ONEAVGYEAR,P1e=O_.ONEAVGMONTH,dC=O_.ONEDAY,D1e=O_.ONEHOUR,R1e=O_.ONEMIN,I1e=O_.ONESEC,z1e=ri().tickIncrement;O1e.exports=function(t,r,n,a,i){var o=-1.1*r,s=-.1*r,l=t-s,u=n[0],c=n[1],f=Math.min(hC(u+s,u+l,a,i),hC(c+s,c+l,a,i)),h=Math.min(hC(u+o,u+s,a,i),hC(c+o,c+s,a,i)),v,d;if(f>h&&hdC){var m=v===Ix?1:6,x=v===Ix?"M12":"M1";return function(g,E){var M=a.c2d(g,Ix,i),w=M.indexOf("-",m);w>0&&(M=M.slice(0,w));var k=a.d2c(M,0,i);if(kI1e?e>dC?e>Ix*1.1?Ix:e>P1e*1.1?P1e:dC:e>D1e?D1e:e>R1e?R1e:I1e:Math.pow(10,Math.floor(Math.log(e)/Math.LN10))}function Rgt(e,t,r,n,a,i){if(n&&e>dC){var o=B1e(t,a,i),s=B1e(r,a,i),l=e===Ix?0:1;return o[l]!==s[l]}return Math.floor(r/e)-Math.floor(t/e)>.1}function B1e(e,t,r){var n=t.c2d(e,Ix,r).split("-");return n[0]===""&&(n.unshift(),n[0]="-"+n[0]),n}});var $B=ne((vir,H1e)=>{"use strict";var XB=mi(),dd=Zt(),N1e=Fa(),o0=ri(),{hasColorscale:U1e}=yh(),V1e=qh(),Igt=oT(),G1e=HB(),zgt=jB(),qgt=WB(),Bgt=YB();function Ogt(e,t){var r=[],n=[],a=t.orientation==="h",i=o0.getFromId(e,a?t.yaxis:t.xaxis),o=a?"y":"x",s={x:"y",y:"x"}[o],l=t[o+"calendar"],u=t.cumulative,c,f=ZB(e,t,i,o),h=f[0],v=f[1],d=typeof h.size=="string",m=[],x=d?m:h,g=[],E=[],M=[],w=0,k=t.histnorm,y=t.histfunc,S=k.indexOf("density")!==-1,T,p,C;u.enabled&&S&&(k=k.replace(/ ?density$/,""),S=!1);var A=y==="max"||y==="min",P=A?null:0,D=G1e.count,z=zgt[k],q=!1,U=function(ye){return i.r2c(ye,0,l)},O;for(dd.isArrayOrTypedArray(t[s])&&y!=="count"&&(O=t[s],q=y==="avg",D=G1e[y]),c=U(h.start),p=U(h.end)+(c-o0.tickIncrement(c,h.size,!1,l))/1e6;c=0&&C=oe;c--)if(n[c]){we=c;break}for(c=oe;c<=we;c++)if(XB(r[c])&&XB(n[c])){var he={p:r[c],s:n[c],b:0};u.enabled||(he.pts=M[c],X?he.ph0=he.ph1=M[c].length?v[M[c][0]]:r[c]:(t._computePh=!0,he.ph0=j(m[c]),he.ph1=j(m[c+1],!0))),ce.push(he)}return ce.length===1&&(ce[0].width1=o0.tickIncrement(ce[0].p,h.size,!1,l)-ce[0].p),U1e(t,"marker")&&V1e(e,t,{vals:t.marker.color,containerStr:"marker",cLetter:"c"}),U1e(t,"marker.line")&&V1e(e,t,{vals:t.marker.line.color,containerStr:"marker.line",cLetter:"c"}),Igt(ce,t),dd.isArrayOrTypedArray(t.selectedpoints)&&dd.tagSelected(ce,t,ue),ce}function ZB(e,t,r,n,a){var re;var i=n+"bins",o=e._fullLayout,s=t["_"+n+"bingroup"],l=o._histogramBinOpts[s],u=o.barmode==="overlay",c,f,h,v,d,m,x,g=function(j){return r.r2c(j,0,v)},E=function(j){return r.c2r(j,0,v)},M=r.type==="date"?function(j){return j||j===0?dd.cleanDate(j,null,v):null}:function(j){return XB(j)?Number(j):null};function w(j,fe,ce){fe[j+"Found"]?(fe[j]=M(fe[j]),fe[j]===null&&(fe[j]=ce[j])):(m[j]=fe[j]=ce[j],dd.nestedProperty(f[0],i+"."+j).set(ce[j]))}if(t["_"+n+"autoBinFinished"])delete t["_"+n+"autoBinFinished"];else{f=l.traces;var k=[],y=!0,S=!1,T=!1;for(c=0;cr.r2l(O)&&(B=o0.tickIncrement(B,l.size,!0,v)),D.start=r.l2r(B),U||dd.nestedProperty(t,i+".start").set(D.start)}var Y=l.end,X=r.r2l(P.end),te=X!==void 0;if((l.endFound||te)&&X!==r.r2l(Y)){var se=te?X:dd.aggNums(Math.max,null,d);D.end=r.l2r(se),te||dd.nestedProperty(t,i+".start").set(D.end)}var ue="autobin"+n;return t._input[ue]===!1&&(t._input[i]=dd.extendFlat({},t[i]||{}),delete t._input[ue],delete t[ue]),[D,d]}function Ngt(e,t,r,n,a){var i=e._fullLayout,o=Ugt(e,t),s=!1,l=1/0,u=[t],c,f,h;for(c=0;c=0;n--)s(n);else if(t==="increasing"){for(n=1;n=0;n--)e[n]+=e[n+1];r==="exclude"&&(e.push(0),e.shift())}}H1e.exports={calc:Ogt,calcAllAutoBins:ZB}});var J1e=ne((pir,K1e)=>{"use strict";var j1e=Zt(),N_=ri(),W1e=HB(),Ggt=jB(),Hgt=WB(),jgt=YB(),Y1e=$B().calcAllAutoBins;K1e.exports=function(t,r){var n=N_.getFromId(t,r.xaxis),a=N_.getFromId(t,r.yaxis),i=r.xcalendar,o=r.ycalendar,s=function(Qe){return n.r2c(Qe,0,i)},l=function(Qe){return a.r2c(Qe,0,o)},u=function(Qe){return n.c2r(Qe,0,i)},c=function(Qe){return a.c2r(Qe,0,o)},f,h,v,d,m=Y1e(t,r,n,"x"),x=m[0],g=m[1],E=Y1e(t,r,a,"y"),M=E[0],w=E[1],k=r._length;g.length>k&&g.splice(k,g.length-k),w.length>k&&w.splice(k,w.length-k);var y=[],S=[],T=[],p=typeof x.size=="string",C=typeof M.size=="string",A=[],P=[],D=p?A:x,z=C?P:M,q=0,U=[],O=[],R=r.histnorm,B=r.histfunc,Y=R.indexOf("density")!==-1,X=B==="max"||B==="min",te=X?null:0,se=W1e.count,ue=Ggt[R],re=!1,j=[],fe=[],ce="z"in r?r.z:"marker"in r&&Array.isArray(r.marker.color)?r.marker.color:"";ce&&B!=="count"&&(re=B==="avg",se=W1e[B]);var oe=x.size,we=s(x.start),he=s(x.end)+(we-N_.tickIncrement(we,oe,!1,i))/1e6;for(f=we;f=0&&v=0&&d{"use strict";var Hp=Zt(),Q1e=uo().BADNUM,ege=H0();tge.exports=function(t,r,n,a,i,o){var s=t._length,l=r.makeCalcdata(t,a),u=n.makeCalcdata(t,i);l=ege(t,r,a,l).vals,u=ege(t,n,i,u).vals;var c=t.text,f=c!==void 0&&Hp.isArray1D(c),h=t.hovertext,v=h!==void 0&&Hp.isArray1D(h),d,m,x=Hp.distinctVals(l),g=x.vals,E=Hp.distinctVals(u),M=E.vals,w=[],k,y,S=M.length,T=g.length;for(d=0;d{"use strict";var Wgt=mi(),Ygt=Zt(),pC=uo().BADNUM;rge.exports=function(t,r,n,a){var i,o,s,l,u,c;function f(g){if(Wgt(g))return+g}if(r&&r.transpose){for(i=0,u=0;u{"use strict";var Xgt=Zt(),nge=.01,Zgt=[[-1,0],[1,0],[0,-1],[0,1]];function $gt(e){return .5-.25*Math.min(1,e*.5)}ige.exports=function(t,r){var n=1,a;for(age(t,r),a=0;ange;a++)n=age(t,r,$gt(n));return n>nge&&Xgt.log("interp2d didn't converge quickly",n),t};function age(e,t,r){var n=0,a,i,o,s,l,u,c,f,h,v,d,m,x;for(s=0;sm&&(n=Math.max(n,Math.abs(e[i][o]-d)/(x-m))))}return n}});var yC=ne((xir,oge)=>{"use strict";var Kgt=Zt().maxRowLength;oge.exports=function(t){var r=[],n={},a=[],i=t[0],o=[],s=[0,0,0],l=Kgt(t),u,c,f,h,v,d,m,x;for(c=0;c=0;v--)h=a[v],c=h[0],f=h[1],d=((n[[c-1,f]]||s)[2]+(n[[c+1,f]]||s)[2]+(n[[c,f-1]]||s)[2]+(n[[c,f+1]]||s)[2])/20,d&&(m[h]=[c,f,d],a.splice(v,1),x=!0);if(!x)throw"findEmpties iterated with no new neighbors";for(h in m)n[h]=m[h],r.push(m[h])}return r.sort(function(g,E){return E[2]-g[2]})}});var KB=ne((bir,uge)=>{"use strict";var sge=Fa(),lge=Zt().isArrayOrTypedArray;uge.exports=function(t,r,n,a,i,o){var s=[],l=sge.traceIs(t,"contour"),u=sge.traceIs(t,"histogram"),c,f,h,v=lge(r)&&r.length>1;if(v&&!u&&o.type!=="category"){var d=r.length;if(d<=i){if(l)s=Array.from(r).slice(0,i);else if(i===1)o.type==="log"?s=[.5*r[0],2*r[0]]:s=[r[0]-.5,r[0]+.5];else if(o.type==="log"){for(s=[Math.pow(r[0],1.5)/Math.pow(r[1],.5)],h=1;h{"use strict";var cge=Fa(),JB=Zt(),xC=ri(),fge=H0(),Jgt=J1e(),Qgt=qh(),emt=vC(),tmt=gC(),rmt=mC(),nmt=yC(),bC=KB(),QB=uo().BADNUM;dge.exports=function(t,r){var n=xC.getFromId(t,r.xaxis||"x"),a=xC.getFromId(t,r.yaxis||"y"),i=cge.traceIs(r,"contour"),o=cge.traceIs(r,"histogram"),s=i?"best":r.zsmooth,l,u,c,f,h,v,d,m,x,g,E;if(n._minDtick=0,a._minDtick=0,o)E=Jgt(t,r),f=E.orig_x,l=E.x,u=E.x0,c=E.dx,m=E.orig_y,h=E.y,v=E.y0,d=E.dy,x=E.z;else{var M=r.z;JB.isArray1D(M)?(emt(r,n,a,"x","y",["z"]),l=r._x,h=r._y,M=r._z):(f=r.x?n.makeCalcdata(r,"x"):[],m=r.y?a.makeCalcdata(r,"y"):[],l=fge(r,n,"x",f).vals,h=fge(r,a,"y",m).vals,r._x=l,r._y=h),u=r.x0,c=r.dx,v=r.y0,d=r.dy,x=tmt(M,r,n,a)}(n.rangebreaks||a.rangebreaks)&&(x=amt(l,h,x),o||(l=hge(l),h=hge(h),r._x=l,r._y=h)),!o&&(i||r.connectgaps)&&(r._emptypoints=nmt(x),rmt(x,r._emptypoints));function w(D){s=r._input.zsmooth=r.zsmooth=!1,JB.warn('cannot use zsmooth: "fast": '+D)}function k(D){if(D.length>1){var z=(D[D.length-1]-D[0])/(D.length-1),q=Math.abs(z/100);for(g=0;gq)return!1}return!0}r._islinear=!1,n.type==="log"||a.type==="log"?s==="fast"&&w("log axis found"):k(l)?k(h)?r._islinear=!0:s==="fast"&&w("y scale is not linear"):s==="fast"&&w("x scale is not linear");var y=JB.maxRowLength(x),S=r.xtype==="scaled"?"":l,T=bC(r,S,u,c,y,n),p=r.ytype==="scaled"?"":h,C=bC(r,p,v,d,x.length,a);r._extremes[n._id]=xC.findExtremes(n,T),r._extremes[a._id]=xC.findExtremes(a,C);var A={x:T,y:C,z:x,text:r._text||r.text,hovertext:r._hovertext||r.hovertext};if(r.xperiodalignment&&f&&(A.orig_x=f),r.yperiodalignment&&m&&(A.orig_y=m),S&&S.length===T.length-1&&(A.xCenter=S),p&&p.length===C.length-1&&(A.yCenter=p),o&&(A.xRanges=E.xRanges,A.yRanges=E.yRanges,A.pts=E.pts),i||Qgt(t,r,{vals:x,cLetter:"z"}),i&&r.contours&&r.contours.coloring==="heatmap"){var P={type:r.type==="contour"?"heatmap":"histogram2d",xcalendar:r.xcalendar,ycalendar:r.ycalendar};A.xfill=bC(P,S,u,c,y,n),A.yfill=bC(P,p,v,d,x.length,a)}return[A]};function hge(e){for(var t=[],r=e.length,n=0;n{"use strict";wC.CSS_DECLARATIONS=[["image-rendering","optimizeSpeed"],["image-rendering","-moz-crisp-edges"],["image-rendering","-o-crisp-edges"],["image-rendering","-webkit-optimize-contrast"],["image-rendering","optimize-contrast"],["image-rendering","crisp-edges"],["image-rendering","pixelated"]];wC.STYLE=wC.CSS_DECLARATIONS.map(function(e){return e.join(": ")+"; "}).join("")});var tO=ne((Tir,pge)=>{"use strict";var vge=TC(),imt=li(),eO=Zt(),U_=null;function omt(){if(U_!==null)return U_;U_=!1;var e=eO.isSafari()||eO.isMacWKWebView()||eO.isIOS();if(window.navigator.userAgent&&!e){var t=Array.from(vge.CSS_DECLARATIONS).reverse(),r=window.CSS&&window.CSS.supports||window.supportsCSS;if(typeof r=="function")U_=t.some(function(o){return r.apply(null,o)});else{var n=imt.tester.append("image").attr("style",vge.STYLE),a=window.getComputedStyle(n.node()),i=a.imageRendering;U_=t.some(function(o){var s=o[1];return i===s||i===s.toLowerCase()}),n.remove()}}return U_}pge.exports=omt});var AC=ne((Air,Mge)=>{"use strict";var gge=Ea(),smt=Fa(),lmt=li(),umt=ri(),s0=Zt(),mge=Ms(),cmt=vk(),yge=_a(),fmt=El().extractOpts,hmt=El().makeColorScaleFuncFromTrace,dmt=qv(),vmt=qc(),rO=vmt.LINE_SPACING,pmt=tO(),gmt=TC().STYLE,Tge="heatmap-label";function Age(e){return e.selectAll("g."+Tge)}function xge(e){Age(e).remove()}Mge.exports=function(e,t,r,n){var a=t.xaxis,i=t.yaxis;s0.makeTraceGroups(n,r,"hm").each(function(o){var s=gge.select(this),l=o[0],u=l.trace,c=u.xgap||0,f=u.ygap||0,h=l.z,v=l.x,d=l.y,m=l.xCenter,x=l.yCenter,g=smt.traceIs(u,"contour"),E=g?"best":u.zsmooth,M=h.length,w=s0.maxRowLength(h),k=!1,y=!1,S,T,p,C,A,P,D,z;for(P=0;S===void 0&&P0;)T=a.c2p(v[P]),P--;for(T0;)A=i.c2p(d[P]),P--;A=a._length||T<=0||C>=i._length||A<=0;if(B){var Y=s.selectAll("image").data([]);Y.exit().remove(),xge(s);return}var X,te;q==="fast"?(X=w,te=M):(X=O,te=R);var se=document.createElement("canvas");se.width=X,se.height=te;var ue=se.getContext("2d",{willReadFrequently:!0}),re=hmt(u,{noNumericCheck:!0,returnArray:!0}),j,fe;q==="fast"?(j=k?function(ni){return w-1-ni}:s0.identity,fe=y?function(ni){return M-1-ni}:s0.identity):(j=function(ni){return s0.constrain(Math.round(a.c2p(v[ni])-S),0,O)},fe=function(ni){return s0.constrain(Math.round(i.c2p(d[ni])-C),0,R)});var ce=fe(0),oe=[ce,ce],we=k?0:1,he=y?0:1,ye=0,Pe=0,le=0,ze=0,Xe,vt,st,Oe,qe;function mt(ni,ao=0){if(ni===void 0)return[0,0,0,0];var Hi=re(ni);return Hi[0]=Math.round(Hi[0]),Hi[1]=Math.round(Hi[1]),Hi[2]=Math.round(Hi[2]),ye+=ao,Pe+=Hi[0]*ao,le+=Hi[1]*ao,ze+=Hi[2]*ao,Hi}function lt(ni,ao,Hi,to){var Xo=ni[Hi.bin0];if(Xo===void 0)return mt(void 0,1);var Zo=ni[Hi.bin1],Fi=ao[Hi.bin0],yo=ao[Hi.bin1],oo=Zo-Xo||0,rl=Fi-Xo||0,Ni;return Zo===void 0?yo===void 0?Ni=0:Fi===void 0?Ni=2*(yo-Xo):Ni=(2*yo-Fi-Xo)*2/3:yo===void 0?Fi===void 0?Ni=0:Ni=(2*Xo-Zo-Fi)*2/3:Fi===void 0?Ni=(2*yo-Zo-Xo)*2/3:Ni=yo+Xo-Zo-Fi,mt(Xo+Hi.frac*oo+to.frac*(rl+Hi.frac*Ni))}if(q!=="default"){var Ie=0,de;try{de=new Uint8Array(X*te*4)}catch(ni){de=new Array(X*te*4)}if(q==="smooth"){var Ee=m||v,Ue=x||d,ge=new Array(Ee.length),Ge=new Array(Ue.length),tt=new Array(O),ft=m?_ge:bge,He=x?_ge:bge,Qe,We,pt;for(P=0;P$t||$t>i._length))for(D=_t;DBr||Br>a._length)){var Nr=cmt({x:gr,y:fr},u,e._fullLayout);Nr.x=gr,Nr.y=fr;var Er=l.z[P][D];Er===void 0?(Nr.z="",Nr.zLabel=""):(Nr.z=Er,Nr.zLabel=umt.tickText(Fe,Er,"hover").text);var zr=l.text&&l.text[P]&&l.text[P][D];(zr===void 0||zr===!1)&&(zr=""),Nr.text=zr;var vn=s0.texttemplateString({data:[Nr,u._meta],fallback:u.texttemplatefallback,labels:Nr,locale:e._fullLayout._d3locale,template:Ye});if(vn){var Nn=vn.split("
"),Xn=Nn.length,Kn=0;for(z=0;z{"use strict";Sge.exports={min:"zmin",max:"zmax"}});var MC=ne((Sir,Ege)=>{"use strict";var mmt=Ea();Ege.exports=function(t){mmt.select(t).selectAll(".hm image").style("opacity",function(r){return r.trace.opacity})}});var EC=ne((Eir,Cge)=>{"use strict";var kge=cu(),pT=Zt(),SC=pT.isArrayOrTypedArray,ymt=ri(),xmt=El().extractOpts;Cge.exports=function(t,r,n,a,i){i||(i={});var o=i.isContour,s=t.cd[0],l=s.trace,u=t.xa,c=t.ya,f=s.x,h=s.y,v=s.z,d=s.xCenter,m=s.yCenter,x=s.zmask,g=l.zhoverformat,E=f,M=h,w,k,y,S;if(t.index!==!1){try{y=Math.round(t.index[1]),S=Math.round(t.index[0])}catch(Y){pT.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index);return}if(y<0||y>=v[0].length||S<0||S>v.length)return}else{if(kge.inbox(r-f[0],r-f[f.length-1],0)>0||kge.inbox(n-h[0],n-h[h.length-1],0)>0)return;if(o){var T;for(E=[2*f[0]-f[1]],T=1;T{"use strict";Lge.exports={attributes:q_(),supplyDefaults:k1e(),calc:_C(),plot:AC(),colorbar:V_(),style:MC(),hoverPoints:EC(),moduleType:"trace",name:"heatmap",basePlotModule:Ku(),categories:["cartesian","svg","2dMap","showLegend"],meta:{}}});var Dge=ne((Cir,Pge)=>{"use strict";Pge.exports=Fge()});var nO=ne((Lir,Rge)=>{"use strict";Rge.exports=function(t,r){return{start:{valType:"any",editType:"calc"},end:{valType:"any",editType:"calc"},size:{valType:"any",editType:"calc"},editType:"calc"}}});var zge=ne((Fir,Ige)=>{"use strict";Ige.exports={eventDataKeys:["binNumber"]}});var kC=ne((Pir,Nge)=>{"use strict";var $d=Vp(),qge=Wl().axisHoverFormat,{hovertemplateAttrs:bmt,texttemplateAttrs:_mt,templatefallbackAttrs:Bge}=rs(),aO=pl(),Oge=nO(),wmt=zge(),iO=ci().extendFlat;Nge.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},xhoverformat:qge("x"),yhoverformat:qge("y"),text:iO({},$d.text,{}),hovertext:iO({},$d.hovertext,{}),orientation:$d.orientation,histfunc:{valType:"enumerated",values:["count","sum","avg","min","max"],dflt:"count",editType:"calc"},histnorm:{valType:"enumerated",values:["","percent","probability","density","probability density"],dflt:"",editType:"calc"},cumulative:{enabled:{valType:"boolean",dflt:!1,editType:"calc"},direction:{valType:"enumerated",values:["increasing","decreasing"],dflt:"increasing",editType:"calc"},currentbin:{valType:"enumerated",values:["include","exclude","half"],dflt:"include",editType:"calc"},editType:"calc"},nbinsx:{valType:"integer",min:0,dflt:0,editType:"calc"},xbins:Oge("x",!0),nbinsy:{valType:"integer",min:0,dflt:0,editType:"calc"},ybins:Oge("y",!0),autobinx:{valType:"boolean",dflt:null,editType:"calc"},autobiny:{valType:"boolean",dflt:null,editType:"calc"},bingroup:{valType:"string",dflt:"",editType:"calc"},hovertemplate:bmt({},{keys:wmt.eventDataKeys}),hovertemplatefallback:Bge(),texttemplate:_mt({arrayOk:!1,editType:"plot"},{keys:["label","value"]}),texttemplatefallback:Bge({editType:"plot"}),textposition:iO({},$d.textposition,{arrayOk:!1}),textfont:aO({arrayOk:!1,editType:"plot",colorEditType:"style"}),outsidetextfont:aO({arrayOk:!1,editType:"plot",colorEditType:"style"}),insidetextfont:aO({arrayOk:!1,editType:"plot",colorEditType:"style"}),insidetextanchor:$d.insidetextanchor,textangle:$d.textangle,cliponaxis:$d.cliponaxis,constraintext:$d.constraintext,marker:$d.marker,offsetgroup:$d.offsetgroup,alignmentgroup:$d.alignmentgroup,selected:$d.selected,unselected:$d.unselected,zorder:$d.zorder}});var Hge=ne((Dir,Gge)=>{"use strict";var Uge=Fa(),gT=Zt(),Vge=_a(),Tmt=wv().handleText,Amt=Qk(),Mmt=kC();Gge.exports=function(t,r,n,a){function i(E,M){return gT.coerce(t,r,Mmt,E,M)}var o=i("x"),s=i("y"),l=i("cumulative.enabled");l&&(i("cumulative.direction"),i("cumulative.currentbin")),i("text");var u=i("textposition");Tmt(t,r,a,i,u,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),i("hovertext"),i("hovertemplate"),i("hovertemplatefallback"),i("xhoverformat"),i("yhoverformat");var c=i("orientation",s&&!o?"h":"v"),f=c==="v"?"x":"y",h=c==="v"?"y":"x",v=o&&s?Math.min(gT.minRowLength(o)&&gT.minRowLength(s)):gT.minRowLength(r[f]||[]);if(!v){r.visible=!1;return}r._length=v;var d=Uge.getComponentMethod("calendars","handleTraceDefaults");d(t,r,["x","y"],a);var m=r[h];m&&i("histfunc"),i("histnorm"),i("autobin"+f),Amt(t,r,i,n,a),gT.coerceSelectionMarkerOpacity(r,i);var x=(r.marker.line||{}).color,g=Uge.getComponentMethod("errorbars","supplyDefaults");g(t,r,x||Vge.defaultLine,{axis:"y"}),g(t,r,x||Vge.defaultLine,{axis:"x",inherit:"y"}),i("zorder")}});var LC=ne((Rir,Yge)=>{"use strict";var mT=Zt(),Smt=uu(),CC=Fa().traceIs,Emt=xx(),kmt=wv().validateCornerradius,jge=mT.nestedProperty,oO=vx().getAxisGroup,Wge=[{aStr:{x:"xbins.start",y:"ybins.start"},name:"start"},{aStr:{x:"xbins.end",y:"ybins.end"},name:"end"},{aStr:{x:"xbins.size",y:"ybins.size"},name:"size"},{aStr:{x:"nbinsx",y:"nbinsy"},name:"nbins"}],Cmt=["x","y"];Yge.exports=function(t,r){var n=r._histogramBinOpts={},a=[],i={},o=[],s,l,u,c,f,h,v;function d(q,U){return mT.coerce(s._input,s,s._module.attributes,q,U)}function m(q){return q.orientation==="v"?"x":"y"}function x(q,U){var O=Smt.getFromTrace({_fullLayout:r},q,U);return O.type}function g(q,U,O){var R=q.uid+"__"+O;U||(U=R);var B=x(q,O),Y=q[O+"calendar"]||"",X=n[U],te=!0;X&&(B===X.axType&&Y===X.calendar?(te=!1,X.traces.push(q),X.dirs.push(O)):(U=R,B!==X.axType&&mT.warn(["Attempted to group the bins of trace",q.index,"set on a","type:"+B,"axis","with bins on","type:"+X.axType,"axis."].join(" ")),Y!==X.calendar&&mT.warn(["Attempted to group the bins of trace",q.index,"set with a",Y,"calendar","with bins",X.calendar?"on a "+X.calendar+" calendar":"w/o a set calendar"].join(" ")))),te&&(n[U]={traces:[q],dirs:[O],axType:B,calendar:q[O+"calendar"]||""}),q["_"+O+"bingroup"]=U}for(f=0;f{"use strict";var Lmt=D_().hoverPoints,Fmt=ri().hoverLabelText;Xge.exports=function(t,r,n,a,i){var o=Lmt(t,r,n,a,i);if(o){t=o[0];var s=t.cd[t.index],l=t.cd[0].trace;if(!l.cumulative.enabled){var u=l.orientation==="h"?"y":"x";t[u+"Label"]=Fmt(t[u+"a"],[s.ph0,s.ph1],l[u+"hoverformat"])}return o}}});var sO=ne((zir,$ge)=>{"use strict";$ge.exports=function(t,r,n,a,i){if(t.x="xVal"in r?r.xVal:r.x,t.y="yVal"in r?r.yVal:r.y,"zLabelVal"in r&&(t.z=r.zLabelVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),!(n.cumulative||{}).enabled){var o=Array.isArray(i)?a[0].pts[i[0]][i[1]]:a[i].pts;t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex,t.pointIndices=o}return t}});var Jge=ne((qir,Kge)=>{"use strict";Kge.exports={attributes:kC(),layoutAttributes:Jk(),supplyDefaults:Hge(),crossTraceDefaults:LC(),supplyLayoutDefaults:EB(),calc:$B().calc,crossTraceCalc:bx().crossTraceCalc,plot:Dx().plot,layerName:"barlayer",style:n0().style,styleOnSelect:n0().styleOnSelect,colorbar:bh(),hoverPoints:Zge(),selectPoints:R_(),eventData:sO(),moduleType:"trace",name:"histogram",basePlotModule:Ku(),categories:["bar-like","cartesian","svg","bar","histogram","oriented","errorBarsOK","showLegend"],meta:{}}});var eme=ne((Bir,Qge)=>{"use strict";Qge.exports=Jge()});var PC=ne((Oir,nme)=>{"use strict";var Q0=kC(),tme=nO(),FC=q_(),Pmt=os(),lO=Wl().axisHoverFormat,{hovertemplateAttrs:Dmt,texttemplateAttrs:Rmt,templatefallbackAttrs:rme}=rs(),Imt=Ys(),yT=ci().extendFlat;nme.exports=yT({x:Q0.x,y:Q0.y,z:{valType:"data_array",editType:"calc"},marker:{color:{valType:"data_array",editType:"calc"},editType:"calc"},histnorm:Q0.histnorm,histfunc:Q0.histfunc,nbinsx:Q0.nbinsx,xbins:tme("x"),nbinsy:Q0.nbinsy,ybins:tme("y"),autobinx:Q0.autobinx,autobiny:Q0.autobiny,bingroup:yT({},Q0.bingroup,{}),xbingroup:yT({},Q0.bingroup,{}),ybingroup:yT({},Q0.bingroup,{}),xgap:FC.xgap,ygap:FC.ygap,zsmooth:FC.zsmooth,xhoverformat:lO("x"),yhoverformat:lO("y"),zhoverformat:lO("z",1),hovertemplate:Dmt({},{keys:["z"]}),hovertemplatefallback:rme(),texttemplate:Rmt({arrayOk:!1,editType:"plot"},{keys:["z"]}),texttemplatefallback:rme({editType:"plot"}),textfont:FC.textfont,showlegend:yT({},Pmt.showlegend,{dflt:!1})},Imt("",{cLetter:"z",autoColorDflt:!1}))});var uO=ne((Nir,ime)=>{"use strict";var zmt=Fa(),ame=Zt();ime.exports=function(t,r,n,a){var i=n("x"),o=n("y"),s=ame.minRowLength(i),l=ame.minRowLength(o);if(!s||!l){r.visible=!1;return}r._length=Math.min(s,l);var u=zmt.getComponentMethod("calendars","handleTraceDefaults");u(t,r,["x","y"],a);var c=n("z")||n("marker.color");c&&n("histfunc"),n("histnorm"),n("autobinx"),n("autobiny")}});var sme=ne((Uir,ome)=>{"use strict";var qmt=Zt(),Bmt=uO(),Omt=GB(),Nmt=bf(),Umt=vT(),Vmt=PC();ome.exports=function(t,r,n,a){function i(o,s){return qmt.coerce(t,r,Vmt,o,s)}Bmt(t,r,i,a),r.visible!==!1&&(Omt(t,r,i,a),Nmt(t,r,a,i,{prefix:"",cLetter:"z"}),i("hovertemplate"),i("hovertemplatefallback"),Umt(i,a),i("xhoverformat"),i("yhoverformat"))}});var cme=ne((Vir,ume)=>{"use strict";var Gmt=EC(),lme=ri().hoverLabelText;ume.exports=function(t,r,n,a,i){var o=Gmt(t,r,n,a,i);if(o){t=o[0];var s=t.index,l=s[0],u=s[1],c=t.cd[0],f=c.trace,h=c.xRanges[u],v=c.yRanges[l];return t.xLabel=lme(t.xa,[h[0],h[1]],f.xhoverformat),t.yLabel=lme(t.ya,[v[0],v[1]],f.yhoverformat),o}}});var hme=ne((Gir,fme)=>{"use strict";fme.exports={attributes:PC(),supplyDefaults:sme(),crossTraceDefaults:LC(),calc:_C(),plot:AC(),layerName:"heatmaplayer",colorbar:V_(),style:MC(),hoverPoints:cme(),eventData:sO(),moduleType:"trace",name:"histogram2d",basePlotModule:Ku(),categories:["cartesian","svg","2dMap","histogram","showLegend"],meta:{}}});var vme=ne((Hir,dme)=>{"use strict";dme.exports=hme()});var DC=ne((jir,pme)=>{"use strict";pme.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}});var xT=ne((Wir,xme)=>{"use strict";var gc=q_(),RC=Tu(),mme=Wl(),cO=mme.axisHoverFormat,Hmt=mme.descriptionOnlyNumbers,jmt=Ys(),Wmt=xf().dash,Ymt=pl(),G_=ci().extendFlat,yme=DC(),Xmt=yme.COMPARISON_OPS2,Zmt=yme.INTERVAL_OPS,gme=RC.line;xme.exports=G_({z:gc.z,x:gc.x,x0:gc.x0,dx:gc.dx,y:gc.y,y0:gc.y0,dy:gc.dy,xperiod:gc.xperiod,yperiod:gc.yperiod,xperiod0:RC.xperiod0,yperiod0:RC.yperiod0,xperiodalignment:gc.xperiodalignment,yperiodalignment:gc.yperiodalignment,text:gc.text,hovertext:gc.hovertext,transpose:gc.transpose,xtype:gc.xtype,ytype:gc.ytype,xhoverformat:cO("x"),yhoverformat:cO("y"),zhoverformat:cO("z",1),hovertemplate:gc.hovertemplate,hovertemplatefallback:gc.hovertemplatefallback,texttemplate:G_({},gc.texttemplate,{}),texttemplatefallback:gc.texttemplatefallback,textfont:G_({},gc.textfont,{}),hoverongaps:gc.hoverongaps,connectgaps:G_({},gc.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:Ymt({editType:"plot",colorEditType:"style"}),labelformat:{valType:"string",dflt:"",editType:"plot",description:Hmt("contour label")},operation:{valType:"enumerated",values:[].concat(Xmt).concat(Zmt),dflt:"=",editType:"calc"},value:{valType:"any",dflt:0,editType:"calc"},editType:"calc",impliedEdits:{autocontour:!1}},line:{color:G_({},gme.color,{editType:"style+colorbars"}),width:{valType:"number",min:0,editType:"style+colorbars"},dash:Wmt,smoothing:G_({},gme.smoothing,{}),editType:"plot"},zorder:RC.zorder},jmt("",{cLetter:"z",autoColorDflt:!1,editTypeOverride:"calc"}))});var hO=ne((Yir,_me)=>{"use strict";var Vh=PC(),jp=xT(),$mt=Ys(),fO=Wl().axisHoverFormat,bme=ci().extendFlat;_me.exports=bme({x:Vh.x,y:Vh.y,z:Vh.z,marker:Vh.marker,histnorm:Vh.histnorm,histfunc:Vh.histfunc,nbinsx:Vh.nbinsx,xbins:Vh.xbins,nbinsy:Vh.nbinsy,ybins:Vh.ybins,autobinx:Vh.autobinx,autobiny:Vh.autobiny,bingroup:Vh.bingroup,xbingroup:Vh.xbingroup,ybingroup:Vh.ybingroup,autocontour:jp.autocontour,ncontours:jp.ncontours,contours:jp.contours,line:{color:jp.line.color,width:bme({},jp.line.width,{dflt:.5}),dash:jp.line.dash,smoothing:jp.line.smoothing,editType:"plot"},xhoverformat:fO("x"),yhoverformat:fO("y"),zhoverformat:fO("z",1),hovertemplate:Vh.hovertemplate,hovertemplatefallback:Vh.hovertemplatefallback,texttemplate:jp.texttemplate,texttemplatefallback:jp.texttemplatefallback,textfont:jp.textfont},$mt("",{cLetter:"z",editTypeOverride:"calc"}))});var IC=ne((Xir,wme)=>{"use strict";wme.exports=function(t,r,n,a){var i=a("contours.start"),o=a("contours.end"),s=i===!1||o===!1,l=n("contours.size"),u;s?u=r.autocontour=!0:u=n("autocontour",!1),(u||!l)&&n("ncontours")}});var dO=ne((Zir,Tme)=>{"use strict";var Kmt=Zt();Tme.exports=function(t,r,n,a){a||(a={});var i=t("contours.showlabels");if(i){var o=r.font;Kmt.coerceFont(t,"contours.labelfont",o,{overrideDflt:{color:n}}),t("contours.labelformat")}a.hasHover!==!1&&t("zhoverformat")}});var zC=ne(($ir,Ame)=>{"use strict";var Jmt=bf(),Qmt=dO();Ame.exports=function(t,r,n,a,i){var o=n("contours.coloring"),s,l="";o==="fill"&&(s=n("contours.showlines")),s!==!1&&(o!=="lines"&&(l=n("line.color","#000")),n("line.width",.5),n("line.dash")),o!=="none"&&(t.showlegend!==!0&&(r.showlegend=!1),r._dfltShowLegend=!1,Jmt(t,r,a,n,{prefix:"",cLetter:"z"})),n("line.smoothing"),Qmt(n,a,l,i)}});var kme=ne((Kir,Eme)=>{"use strict";var Mme=Zt(),eyt=uO(),tyt=IC(),ryt=zC(),nyt=vT(),Sme=hO();Eme.exports=function(t,r,n,a){function i(s,l){return Mme.coerce(t,r,Sme,s,l)}function o(s){return Mme.coerce2(t,r,Sme,s)}eyt(t,r,i,a),r.visible!==!1&&(tyt(t,r,i,o),ryt(t,r,i,a),i("xhoverformat"),i("yhoverformat"),i("hovertemplate"),i("hovertemplatefallback"),r.contours&&r.contours.coloring==="heatmap"&&nyt(i,a))}});var gO=ne((Jir,Lme)=>{"use strict";var pO=ri(),vO=Zt();Lme.exports=function(t,r){var n=t.contours;if(t.autocontour){var a=t.zmin,i=t.zmax;(t.zauto||a===void 0)&&(a=vO.aggNums(Math.min,null,r)),(t.zauto||i===void 0)&&(i=vO.aggNums(Math.max,null,r));var o=Cme(a,i,t.ncontours);n.size=o.dtick,n.start=pO.tickFirst(o),o.range.reverse(),n.end=pO.tickFirst(o),n.start===a&&(n.start+=n.size),n.end===i&&(n.end-=n.size),n.start>n.end&&(n.start=n.end=(n.start+n.end)/2),t._input.contours||(t._input.contours={}),vO.extendFlat(t._input.contours,{start:n.start,end:n.end,size:n.size}),t._input.autocontour=!0}else if(n.type!=="constraint"){var s=n.start,l=n.end,u=t._input.contours;if(s>l&&(n.start=u.start=l,l=n.end=u.end=s,s=n.start),!(n.size>0)){var c;s===l?c=1:c=Cme(s,l,t.ncontours).dtick,u.size=n.size=c}}};function Cme(e,t,r){var n={type:"linear",range:[e,t]};return pO.autoTicks(n,(t-e)/(r||15)),n}});var bT=ne((Qir,Fme)=>{"use strict";Fme.exports=function(t){return t.end+t.size/1e6}});var mO=ne((eor,Dme)=>{"use strict";var Pme=El(),ayt=_C(),iyt=gO(),oyt=bT();Dme.exports=function(t,r){var n=ayt(t,r),a=n[0].z;iyt(r,a);var i=r.contours,o=Pme.extractOpts(r),s;if(i.coloring==="heatmap"&&o.auto&&r.autocontour===!1){var l=i.start,u=oyt(i),c=i.size||1,f=Math.floor((u-l)/c)+1;isFinite(c)||(c=1,f=1);var h=l-c/2,v=h+f*c;s=[h,v]}else s=a;return Pme.calc(t,r,{vals:s,cLetter:"z"}),n}});var _T=ne((tor,Rme)=>{"use strict";Rme.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}}});var yO=ne((ror,Ime)=>{"use strict";var qC=_T();Ime.exports=function(t){var r=t[0].z,n=r.length,a=r[0].length,i=n===2||a===2,o,s,l,u,c,f,h,v,d;for(s=0;se?0:1)+(t[0][1]>e?0:2)+(t[1][1]>e?0:4)+(t[1][0]>e?0:8);if(r===5||r===10){var n=(t[0][0]+t[0][1]+t[1][0]+t[1][1])/4;return e>n?r===5?713:1114:r===5?104:208}return r===15?0:r}});var xO=ne((nor,Bme)=>{"use strict";var BC=Zt(),H_=_T();Bme.exports=function(t,r,n){var a,i,o,s,l;for(r=r||.01,n=n||.01,o=0;o20?(o=H_.CHOOSESADDLE[o][(s[0]||s[1])<0?0:1],e.crossings[i]=H_.SADDLEREMAINDER[o]):delete e.crossings[i],s=H_.NEWDELTA[o],!s){BC.log("Found bad marching index:",o,t,e.level);break}l.push(qme(e,t,s)),t[0]+=s[0],t[1]+=s[1],i=t.join(","),wT(l[l.length-1],l[l.length-2],n,a)&&l.pop();var d=s[0]&&(t[0]<0||t[0]>c-2)||s[1]&&(t[1]<0||t[1]>u-2),m=t[0]===f[0]&&t[1]===f[1]&&s[0]===h[0]&&s[1]===h[1];if(m||r&&d)break;o=e.crossings[i]}v===1e4&&BC.log("Infinite loop in contour?");var x=wT(l[0],l[l.length-1],n,a),g=0,E=.2*e.smoothing,M=[],w=0,k,y,S,T,p,C,A,P,D,z,q;for(v=1;v=w;v--)if(k=M[v],k=w&&k+M[y]P&&D--,e.edgepaths[D]=q.concat(l,z));break}B||(e.edgepaths[P]=l.concat(z))}for(P=0;P20&&t?e===208||e===1114?n=r[0]===0?1:-1:a=r[1]===0?1:-1:H_.BOTTOMSTART.indexOf(e)!==-1?a=1:H_.LEFTSTART.indexOf(e)!==-1?n=1:H_.TOPSTART.indexOf(e)!==-1?a=-1:n=-1,[n,a]}function qme(e,t,r){var n=t[0]+Math.max(r[0],0),a=t[1]+Math.max(r[1],0),i=e.z[a][n],o=e.xaxis,s=e.yaxis;if(r[1]){var l=(e.level-i)/(e.z[a][n+1]-i),u=(l!==1?(1-l)*o.c2l(e.x[n]):0)+(l!==0?l*o.c2l(e.x[n+1]):0);return[o.c2p(o.l2c(u),!0),s.c2p(e.y[a],!0),n+l,a]}else{var c=(e.level-i)/(e.z[a+1][n]-i),f=(c!==1?(1-c)*s.c2l(e.y[a]):0)+(c!==0?c*s.c2l(e.y[a+1]):0);return[o.c2p(e.x[n],!0),s.c2p(s.l2c(f),!0),n,a+c]}}});var Vme=ne((aor,Ume)=>{"use strict";var bO=DC(),cyt=mi();Ume.exports={"[]":Ome("[]"),"][":Ome("]["),">":_O(">"),"<":_O("<"),"=":_O("=")};function Nme(e,t){var r=Array.isArray(t),n;function a(i){return cyt(i)?+i:null}return bO.COMPARISON_OPS2.indexOf(e)!==-1?n=a(r?t[0]:t):bO.INTERVAL_OPS.indexOf(e)!==-1?n=r?[a(t[0]),a(t[1])]:[a(t),a(t)]:bO.SET_OPS.indexOf(e)!==-1&&(n=r?t.map(a):[a(t)]),n}function Ome(e){return function(t){t=Nme(e,t);var r=Math.min(t[0],t[1]),n=Math.max(t[0],t[1]);return{start:r,end:n,size:n-r}}}function _O(e){return function(t){return t=Nme(e,t),{start:t,end:1/0,size:1/0}}}});var wO=ne((ior,Hme)=>{"use strict";var Gme=Zt(),fyt=Vme(),hyt=bT();Hme.exports=function(t,r,n){for(var a=t.type==="constraint"?fyt[t._operation](t.value):t,i=a.size,o=[],s=hyt(a),l=n.trace._carpetTrace,u=l?{xaxis:l.aaxis,yaxis:l.baxis,x:n.a,y:n.b}:{xaxis:r.xaxis,yaxis:r.yaxis,x:n.x,y:n.y},c=a.start;c1e3){Gme.warn("Too many contours, clipping at 1000",t);break}return o}});var TO=ne((oor,Wme)=>{"use strict";var j_=Zt();Wme.exports=function(e,t){var r,n,a,i=function(l){return l.reverse()},o=function(l){return l};switch(t){case"=":case"<":return e;case">":for(e.length!==1&&j_.warn("Contour data invalid for the specified inequality operation."),n=e[0],r=0;r{"use strict";Yme.exports=function(e,t){var r=e[0],n=r.z,a;switch(t.type){case"levels":var i=Math.min(n[0][0],n[0][1]);for(a=0;ao.level||o.starts.length&&i===o.level)}break;case"constraint":if(r.prefixBoundary=!1,r.edgepaths.length)return;var s=r.x.length,l=r.y.length,u=-1/0,c=1/0;for(a=0;a":f>u&&(r.prefixBoundary=!0);break;case"<":(fu||r.starts.length&&v===c)&&(r.prefixBoundary=!0);break;case"][":h=Math.min(f[0],f[1]),v=Math.max(f[0],f[1]),hu&&(r.prefixBoundary=!0);break}break}}});var OC=ne(vd=>{"use strict";var AT=Ea(),Zf=Zt(),H1=li(),dyt=El(),$me=Ms(),Xme=ri(),Zme=Tp(),vyt=AC(),Kme=yO(),Jme=xO(),pyt=wO(),gyt=TO(),Qme=AO(),TT=_T(),Wp=TT.LABELOPTIMIZER;vd.plot=function(t,r,n,a){var i=r.xaxis,o=r.yaxis;Zf.makeTraceGroups(a,n,"contour").each(function(s){var l=AT.select(this),u=s[0],c=u.trace,f=u.x,h=u.y,v=c.contours,d=pyt(v,r,u),m=Zf.ensureSingle(l,"g","heatmapcoloring"),x=[];v.coloring==="heatmap"&&(x=[s]),vyt(t,r,x,m),Kme(d),Jme(d);var g=i.c2p(f[0],!0),E=i.c2p(f[f.length-1],!0),M=o.c2p(h[0],!0),w=o.c2p(h[h.length-1],!0),k=[[g,w],[E,w],[E,M],[g,M]],y=d;v.type==="constraint"&&(y=gyt(d,v._operation)),myt(l,k,v),yyt(l,y,k,v),xyt(l,d,t,u,v),_yt(l,r,t,u,k)})};function myt(e,t,r){var n=Zf.ensureSingle(e,"g","contourbg"),a=n.selectAll("path").data(r.coloring==="fill"?[0]:[]);a.enter().append("path"),a.exit().remove(),a.attr("d","M"+t.join("L")+"Z").style("stroke","none")}function yyt(e,t,r,n){var a=n.coloring==="fill"||n.type==="constraint"&&n._operation!=="=",i="M"+r.join("L")+"Z";a&&Qme(t,n);var o=Zf.ensureSingle(e,"g","contourfill"),s=o.selectAll("path").data(a?t:[]);s.enter().append("path"),s.exit().remove(),s.each(function(l){var u=(l.prefixBoundary?i:"")+eye(l,r);u?AT.select(this).attr("d",u).style("stroke","none"):AT.select(this).remove()})}function eye(e,t){var r="",n=0,a=e.edgepaths.map(function(g,E){return E}),i=!0,o,s,l,u,c,f;function h(g){return Math.abs(g[1]-t[0][1])<.01}function v(g){return Math.abs(g[1]-t[2][1])<.01}function d(g){return Math.abs(g[0]-t[0][0])<.01}function m(g){return Math.abs(g[0]-t[2][0])<.01}for(;a.length;){for(f=H1.smoothopen(e.edgepaths[n],e.smoothing),r+=i?f:f.replace(/^M/,"L"),a.splice(a.indexOf(n),1),o=e.edgepaths[n][e.edgepaths[n].length-1],u=-1,l=0;l<4;l++){if(!o){Zf.log("Missing end?",n,e);break}for(h(o)&&!m(o)?s=t[1]:d(o)?s=t[0]:v(o)?s=t[3]:m(o)&&(s=t[2]),c=0;c=0&&(s=x,u=c):Math.abs(o[1]-s[1])<.01?Math.abs(o[1]-x[1])<.01&&(x[0]-o[0])*(s[0]-x[0])>=0&&(s=x,u=c):Zf.log("endpt to newendpt is not vert. or horz.",o,s,x)}if(o=s,u>=0)break;r+="L"+s}if(u===e.edgepaths.length){Zf.log("unclosed perimeter path");break}n=u,i=a.indexOf(n)===-1,i&&(n=a[0],r+="Z")}for(n=0;nWp.MAXCOST*2)break;h&&(s/=2),o=u-s/2,l=o+s*1.5}if(f<=Wp.MAXCOST)return c};function byt(e,t,r,n){var a=t.width/2,i=t.height/2,o=e.x,s=e.y,l=e.theta,u=Math.cos(l)*a,c=Math.sin(l)*a,f=(o>n.center?n.right-o:o-n.left)/(u+Math.abs(Math.sin(l)*i)),h=(s>n.middle?n.bottom-s:s-n.top)/(Math.abs(c)+Math.cos(l)*i);if(f<1||h<1)return 1/0;var v=Wp.EDGECOST*(1/(f-1)+1/(h-1));v+=Wp.ANGLECOST*l*l;for(var d=o-u,m=s-c,x=o+u,g=s+c,E=0;E{"use strict";var Tyt=Ea(),MO=El(),Ayt=bT();tye.exports=function(t){var r=t.contours,n=r.start,a=Ayt(r),i=r.size||1,o=Math.floor((a-n)/i)+1,s=r.coloring==="lines"?0:1,l=MO.extractOpts(t);isFinite(i)||(i=1,o=1);var u=l.reversescale?MO.flipScale(l.colorscale):l.colorscale,c=u.length,f=new Array(c),h=new Array(c),v,d,m=l.min,x=l.max;if(r.coloring==="heatmap"){for(d=0;d=x)&&(n<=m&&(n=m),a>=x&&(a=x),o=Math.floor((a-n)/i)+1,s=0),d=0;dm&&(f.unshift(m),h.unshift(h[0])),f[f.length-1]{"use strict";var NC=Ea(),rye=li(),Myt=MC(),Syt=SO();nye.exports=function(t){var r=NC.select(t).selectAll("g.contour");r.style("opacity",function(n){return n[0].trace.opacity}),r.each(function(n){var a=NC.select(this),i=n[0].trace,o=i.contours,s=i.line,l=o.size||1,u=o.start,c=o.type==="constraint",f=!c&&o.coloring==="lines",h=!c&&o.coloring==="fill",v=f||h?Syt(i):null;a.selectAll("g.contourlevel").each(function(x){NC.select(this).selectAll("path").call(rye.lineGroupStyle,s.width,f?v(x.level):s.color,s.dash)});var d=o.labelfont;if(a.selectAll("g.contourlabels text").each(function(x){rye.font(NC.select(this),{weight:d.weight,style:d.style,variant:d.variant,textcase:d.textcase,lineposition:d.lineposition,shadow:d.shadow,family:d.family,size:d.size,color:d.color||(f?v(x.level):s.color)})}),c)a.selectAll("g.contourfill path").style("fill",i.fillcolor);else if(h){var m;a.selectAll("g.contourfill path").style("fill",function(x){return m===void 0&&(m=x.level),v(x.level+.5*l)}),m===void 0&&(m=u),a.selectAll("g.contourbg path").style("fill",v(m-.5*l))}}),Myt(t)}});var VC=ne((hor,iye)=>{"use strict";var aye=El(),Eyt=SO(),kyt=bT();function Cyt(e,t,r){var n=t.contours,a=t.line,i=n.size||1,o=n.coloring,s=Eyt(t,{isColorbar:!0});if(o==="heatmap"){var l=aye.extractOpts(t);r._fillgradient=l.reversescale?aye.flipScale(l.colorscale):l.colorscale,r._zrange=[l.min,l.max]}else o==="fill"&&(r._fillcolor=s);r._line={color:o==="lines"?s:a.color,width:n.showlines!==!1?a.width:0,dash:a.dash},r._levels={start:n.start,end:kyt(n),size:i}}iye.exports={min:"zmin",max:"zmax",calc:Cyt}});var EO=ne((dor,oye)=>{"use strict";var GC=_a(),Lyt=EC();oye.exports=function(t,r,n,a,i){i||(i={}),i.isContour=!0;var o=Lyt(t,r,n,a,i);return o&&o.forEach(function(s){var l=s.trace;l.contours.type==="constraint"&&(l.fillcolor&&GC.opacity(l.fillcolor)?s.color=GC.addOpacity(l.fillcolor,1):l.contours.showlines&&GC.opacity(l.line.color)&&(s.color=GC.addOpacity(l.line.color,1)))}),o}});var lye=ne((vor,sye)=>{"use strict";sye.exports={attributes:hO(),supplyDefaults:kme(),crossTraceDefaults:LC(),calc:mO(),plot:OC().plot,layerName:"contourlayer",style:UC(),colorbar:VC(),hoverPoints:EO(),moduleType:"trace",name:"histogram2dcontour",basePlotModule:Ku(),categories:["cartesian","svg","2dMap","contour","histogram","showLegend"],meta:{}}});var cye=ne((por,uye)=>{"use strict";uye.exports=lye()});var kO=ne((gor,gye)=>{"use strict";var fye=mi(),Fyt=dO(),vye=_a(),hye=vye.addOpacity,Pyt=vye.opacity,pye=DC(),dye=Zt().isArrayOrTypedArray,Dyt=pye.CONSTRAINT_REDUCTION,Ryt=pye.COMPARISON_OPS2;gye.exports=function(t,r,n,a,i,o){var s=r.contours,l,u,c,f=n("contours.operation");if(s._operation=Dyt[f],Iyt(n,s),f==="="?l=s.showlines=!0:(l=n("contours.showlines"),c=n("fillcolor",hye((t.line||{}).color||i,.5))),l){var h=c&&Pyt(c)?hye(r.fillcolor,1):i;u=n("line.color",h),n("line.width",2),n("line.dash")}n("line.smoothing"),Fyt(n,a,u,o)};function Iyt(e,t){var r;Ryt.indexOf(t.operation)===-1?(e("contours.value",[0,1]),dye(t.value)?t.value.length>2?t.value=t.value.slice(2):t.length===0?t.value=[0,1]:t.length<2?(r=parseFloat(t.value[0]),t.value=[r,r+1]):t.value=[parseFloat(t.value[0]),parseFloat(t.value[1])]:fye(t.value)&&(r=parseFloat(t.value),t.value=[r,r+1])):(e("contours.value",0),fye(t.value)||(dye(t.value)?t.value=parseFloat(t.value[0]):t.value=0))}});var xye=ne((mor,yye)=>{"use strict";var CO=Zt(),zyt=fC(),qyt=U0(),Byt=kO(),Oyt=IC(),Nyt=zC(),Uyt=vT(),mye=xT();yye.exports=function(t,r,n,a){function i(u,c){return CO.coerce(t,r,mye,u,c)}function o(u){return CO.coerce2(t,r,mye,u)}var s=zyt(t,r,i,a);if(!s){r.visible=!1;return}qyt(t,r,a,i),i("xhoverformat"),i("yhoverformat"),i("text"),i("hovertext"),i("hoverongaps"),i("hovertemplate"),i("hovertemplatefallback");var l=i("contours.type")==="constraint";i("connectgaps",CO.isArray1D(r.z)),l?Byt(t,r,i,a,n):(Oyt(t,r,i,o),Nyt(t,r,i,a)),r.contours&&r.contours.coloring==="heatmap"&&Uyt(i,a),i("zorder")}});var _ye=ne((yor,bye)=>{"use strict";bye.exports={attributes:xT(),supplyDefaults:xye(),calc:mO(),plot:OC().plot,style:UC(),colorbar:VC(),hoverPoints:EO(),moduleType:"trace",name:"contour",basePlotModule:Ku(),categories:["cartesian","svg","2dMap","contour","showLegend"],meta:{}}});var Tye=ne((xor,wye)=>{"use strict";wye.exports=_ye()});var LO=ne((bor,Eye)=>{"use strict";var{hovertemplateAttrs:Vyt,texttemplateAttrs:Gyt,templatefallbackAttrs:Aye}=rs(),Hyt=zp(),Mv=Tu(),jyt=os(),Mye=Ys(),Wyt=xf().dash,xm=ci().extendFlat,l0=Mv.marker,MT=Mv.line,Sye=l0.line;Eye.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:xm({},Mv.mode,{dflt:"markers"}),text:xm({},Mv.text,{}),texttemplate:Gyt({editType:"plot"},{keys:["a","b","c","text"]}),texttemplatefallback:Aye({editType:"plot"}),hovertext:xm({},Mv.hovertext,{}),line:{color:MT.color,width:MT.width,dash:Wyt,backoff:MT.backoff,shape:xm({},MT.shape,{values:["linear","spline"]}),smoothing:MT.smoothing,editType:"calc"},connectgaps:Mv.connectgaps,cliponaxis:Mv.cliponaxis,fill:xm({},Mv.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:Hyt(),marker:xm({symbol:l0.symbol,opacity:l0.opacity,angle:l0.angle,angleref:l0.angleref,standoff:l0.standoff,maxdisplayed:l0.maxdisplayed,size:l0.size,sizeref:l0.sizeref,sizemin:l0.sizemin,sizemode:l0.sizemode,line:xm({width:Sye.width,dash:Sye.dash,editType:"calc"},Mye("marker.line")),gradient:l0.gradient,editType:"calc"},Mye("marker")),textfont:Mv.textfont,textposition:Mv.textposition,selected:Mv.selected,unselected:Mv.unselected,hoverinfo:xm({},jyt.hoverinfo,{flags:["a","b","c","text","name"]}),hoveron:Mv.hoveron,hovertemplate:Vyt(),hovertemplatefallback:Aye()}});var Fye=ne((_or,Lye)=>{"use strict";var kye=Zt(),Yyt=Ip(),W_=ml(),Xyt=Kv(),Zyt=V0(),Cye=u_(),$yt=G0(),Kyt=Bp(),Jyt=LO();Lye.exports=function(t,r,n,a){function i(h,v){return kye.coerce(t,r,Jyt,h,v)}var o=i("a"),s=i("b"),l=i("c"),u;if(o?(u=o.length,s?(u=Math.min(u,s.length),l&&(u=Math.min(u,l.length))):l?u=Math.min(u,l.length):u=0):s&&l&&(u=Math.min(s.length,l.length)),!u){r.visible=!1;return}r._length=u,i("sum"),i("text"),i("hovertext"),r.hoveron!=="fills"&&(i("hovertemplate"),i("hovertemplatefallback"));var c=u{"use strict";var FO=ri();Pye.exports=function(t,r,n){var a={},i=n[r.subplot]._subplot;return a.aLabel=FO.tickText(i.aaxis,t.a,!0).text,a.bLabel=FO.tickText(i.baxis,t.b,!0).text,a.cLabel=FO.tickText(i.caxis,t.c,!0).text,a}});var qye=ne((Tor,zye)=>{"use strict";var PO=mi(),Qyt=Jv(),ext=Op(),txt=mv(),rxt=Qv().calcMarkerSize,Rye=["a","b","c"],Iye={a:["b","c"],b:["a","c"],c:["a","b"]};zye.exports=function(t,r){var n=t._fullLayout[r.subplot],a=n.sum,i=r.sum||a,o={a:r.a,b:r.b,c:r.c},s=r.ids,l,u,c,f,h,v;for(l=0;l{"use strict";var nxt=p_();Bye.exports=function(t,r,n){var a=r.plotContainer;a.select(".scatterlayer").selectAll("*").remove();for(var i=r.xaxis,o=r.yaxis,s={xaxis:i,yaxis:o,plot:a,layerClipId:r._hasClipOnAxisFalse?r.clipIdRelative:null},l=r.layers.frontplot.select("g.scatterlayer"),u=0;u{"use strict";var axt=x_();Nye.exports=function(t,r,n,a){var i=axt(t,r,n,a);if(!i||i[0].index===!1)return;var o=i[0];if(o.index===void 0){var s=1-o.y0/t.ya._length,l=t.xa._length,u=l*s/2,c=l-u;return o.x0=Math.max(Math.min(o.x0,c),u),o.x1=Math.max(Math.min(o.x1,c),u),i}var f=o.cd[o.index],h=o.trace,v=o.subplot;o.a=f.a,o.b=f.b,o.c=f.c,o.xLabelVal=void 0,o.yLabelVal=void 0;var d={};d[h.subplot]={_subplot:v};var m=h._module.formatLabels(f,h,d);o.aLabel=m.aLabel,o.bLabel=m.bLabel,o.cLabel=m.cLabel;var x=f.hi||h.hoverinfo,g=[];function E(w,k){g.push(w._hovertitle+": "+k)}if(!h.hovertemplate){var M=x.split("+");M.indexOf("all")!==-1&&(M=["a","b","c"]),M.indexOf("a")!==-1&&E(v.aaxis,o.aLabel),M.indexOf("b")!==-1&&E(v.baxis,o.bLabel),M.indexOf("c")!==-1&&E(v.caxis,o.cLabel)}return o.extraText=g.join("
"),o.hovertemplate=h.hovertemplate,i}});var Gye=ne((Sor,Vye)=>{"use strict";Vye.exports=function(t,r,n,a,i){if(r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),a[i]){var o=a[i];t.a=o.a,t.b=o.b,t.c=o.c}else t.a=r.a,t.b=r.b,t.c=r.c;return t}});var exe=ne((Eor,Qye)=>{"use strict";var Zye=Ea(),DO=Fa(),j1=Zt(),Yp=j1.strTranslate,HC=j1._,zx=_a(),jC=li(),ST=Tp(),RO=ci().extendFlat,ixt=Sl(),bm=ri(),Hye=od(),jye=cu(),$ye=Cp(),Wye=$ye.freeMode,oxt=$ye.rectMode,IO=Qy(),sxt=ef().prepSelect,lxt=ef().selectOnClick,uxt=ef().clearOutline,cxt=ef().clearSelectionsCache,Kye=zc();function Jye(e,t){this.id=e.id,this.graphDiv=e.graphDiv,this.init(t),this.makeFramework(t),this.updateFx(t),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}Qye.exports=Jye;var Xp=Jye.prototype;Xp.init=function(e){this.container=e._ternarylayer,this.defs=e._defs,this.layoutId=e._uid,this.traceHash={},this.layers={}};Xp.plot=function(e,t){var r=this,n=t[r.id],a=t._size;r._hasClipOnAxisFalse=!1;for(var i=0;iY_*u?(g=u,x=g*Y_):(x=l,g=x/Y_),E=o*x/l,M=s*g/u,d=t.l+t.w*a-x/2,m=t.t+t.h*(1-i)-g/2,r.x0=d,r.y0=m,r.w=x,r.h=g,r.sum=c,r.xaxis={type:"linear",range:[f+2*v-c,c-f-2*h],domain:[a-E/2,a+E/2],_id:"x"},ST(r.xaxis,r.graphDiv._fullLayout),r.xaxis.setScale(),r.xaxis.isPtWithinRange=function(z){return z.a>=r.aaxis.range[0]&&z.a<=r.aaxis.range[1]&&z.b>=r.baxis.range[1]&&z.b<=r.baxis.range[0]&&z.c>=r.caxis.range[1]&&z.c<=r.caxis.range[0]},r.yaxis={type:"linear",range:[f,c-h-v],domain:[i-M/2,i+M/2],_id:"y"},ST(r.yaxis,r.graphDiv._fullLayout),r.yaxis.setScale(),r.yaxis.isPtWithinRange=function(){return!0};var w=r.yaxis.domain[0],k=r.aaxis=RO({},e.aaxis,{range:[f,c-h-v],side:"left",tickangle:(+e.aaxis.tickangle||0)-30,domain:[w,w+M*Y_],anchor:"free",position:0,_id:"y",_length:x});ST(k,r.graphDiv._fullLayout),k.setScale();var y=r.baxis=RO({},e.baxis,{range:[c-f-v,h],side:"bottom",domain:r.xaxis.domain,anchor:"free",position:0,_id:"x",_length:x});ST(y,r.graphDiv._fullLayout),y.setScale();var S=r.caxis=RO({},e.caxis,{range:[c-f-h,v],side:"right",tickangle:(+e.caxis.tickangle||0)+30,domain:[w,w+M*Y_],anchor:"free",position:0,_id:"y",_length:x});ST(S,r.graphDiv._fullLayout),S.setScale();var T="M"+d+","+(m+g)+"h"+x+"l-"+x/2+",-"+g+"Z";r.clipDef.select("path").attr("d",T),r.layers.plotbg.select("path").attr("d",T);var p="M0,"+g+"h"+x+"l-"+x/2+",-"+g+"Z";r.clipDefRelative.select("path").attr("d",p);var C=Yp(d,m);r.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",C),r.clipDefRelative.select("path").attr("transform",null);var A=Yp(d-y._offset,m+g);r.layers.baxis.attr("transform",A),r.layers.bgrid.attr("transform",A);var P=Yp(d+x/2,m)+"rotate(30)"+Yp(0,-k._offset);r.layers.aaxis.attr("transform",P),r.layers.agrid.attr("transform",P);var D=Yp(d+x/2,m)+"rotate(-30)"+Yp(0,-S._offset);r.layers.caxis.attr("transform",D),r.layers.cgrid.attr("transform",D),r.drawAxes(!0),r.layers.aline.select("path").attr("d",k.showline?"M"+d+","+(m+g)+"l"+x/2+",-"+g:"M0,0").call(zx.stroke,k.linecolor||"#000").style("stroke-width",(k.linewidth||0)+"px"),r.layers.bline.select("path").attr("d",y.showline?"M"+d+","+(m+g)+"h"+x:"M0,0").call(zx.stroke,y.linecolor||"#000").style("stroke-width",(y.linewidth||0)+"px"),r.layers.cline.select("path").attr("d",S.showline?"M"+(d+x/2)+","+m+"l"+x/2+","+g:"M0,0").call(zx.stroke,S.linecolor||"#000").style("stroke-width",(S.linewidth||0)+"px"),r.graphDiv._context.staticPlot||r.initInteractions(),jC.setClipUrl(r.layers.frontplot,r._hasClipOnAxisFalse?null:r.clipId,r.graphDiv)};Xp.drawAxes=function(e){var t=this,r=t.graphDiv,n=t.id.slice(7)+"title",a=t.layers,i=t.aaxis,o=t.baxis,s=t.caxis;if(t.drawAx(i),t.drawAx(o),t.drawAx(s),e){var l=Math.max(i.showticklabels?i.tickfont.size/2:0,(s.showticklabels?s.tickfont.size*.75:0)+(s.ticks==="outside"?s.ticklen*.87:0)),u=(o.showticklabels?o.tickfont.size:0)+(o.ticks==="outside"?o.ticklen:0)+3;a["a-title"]=IO.draw(r,"a"+n,{propContainer:i,propName:t.id+".aaxis.title.text",placeholder:HC(r,"Click to enter Component A title"),attributes:{x:t.x0+t.w/2,y:t.y0-i.title.font.size/3-l,"text-anchor":"middle"}}),a["b-title"]=IO.draw(r,"b"+n,{propContainer:o,propName:t.id+".baxis.title.text",placeholder:HC(r,"Click to enter Component B title"),attributes:{x:t.x0-u,y:t.y0+t.h+o.title.font.size*.83+u,"text-anchor":"middle"}}),a["c-title"]=IO.draw(r,"c"+n,{propContainer:s,propName:t.id+".caxis.title.text",placeholder:HC(r,"Click to enter Component C title"),attributes:{x:t.x0+t.w+u,y:t.y0+t.h+s.title.font.size*.83+u,"text-anchor":"middle"}})}};Xp.drawAx=function(e){var t=this,r=t.graphDiv,n=e._name,a=n.charAt(0),i=e._id,o=t.layers[n],s=30,l=a+"tickLayout",u=fxt(e);t[l]!==u&&(o.selectAll("."+i+"tick").remove(),t[l]=u),e.setScale();var c=bm.calcTicks(e),f=bm.clipEnds(e,c),h=bm.makeTransTickFn(e),v=bm.getTickSigns(e)[2],d=j1.deg2rad(s),m=v*(e.linewidth||1)/2,x=v*e.ticklen,g=t.w,E=t.h,M=a==="b"?"M0,"+m+"l"+Math.sin(d)*x+","+Math.cos(d)*x:"M"+m+",0l"+Math.cos(d)*x+","+-Math.sin(d)*x,w={a:"M0,0l"+E+",-"+g/2,b:"M0,0l-"+g/2+",-"+E,c:"M0,0l-"+E+","+g/2}[a];bm.drawTicks(r,e,{vals:e.ticks==="inside"?f:c,layer:o,path:M,transFn:h,crisp:!1}),bm.drawGrid(r,e,{vals:f,layer:t.layers[a+"grid"],path:w,transFn:h,crisp:!1}),bm.drawLabels(r,e,{vals:c,layer:o,transFn:h,labelFns:bm.makeLabelFns(e,0,s)})};function fxt(e){return e.ticks+String(e.ticklen)+String(e.showticklabels)}var Mf=Kye.MINZOOM/2+.87,hxt="m-0.87,.5h"+Mf+"v3h-"+(Mf+5.2)+"l"+(Mf/2+2.6)+",-"+(Mf*.87+4.5)+"l2.6,1.5l-"+Mf/2+","+Mf*.87+"Z",dxt="m0.87,.5h-"+Mf+"v3h"+(Mf+5.2)+"l-"+(Mf/2+2.6)+",-"+(Mf*.87+4.5)+"l-2.6,1.5l"+Mf/2+","+Mf*.87+"Z",vxt="m0,1l"+Mf/2+","+Mf*.87+"l2.6,-1.5l-"+(Mf/2+2.6)+",-"+(Mf*.87+4.5)+"l-"+(Mf/2+2.6)+","+(Mf*.87+4.5)+"l2.6,1.5l"+Mf/2+",-"+Mf*.87+"Z",pxt="m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z",Yye=!0;Xp.clearOutline=function(){cxt(this.dragOptions),uxt(this.dragOptions.gd)};Xp.initInteractions=function(){var e=this,t=e.layers.plotbg.select("path").node(),r=e.graphDiv,n=r._fullLayout._zoomlayer,a,i;this.dragOptions={element:t,gd:r,plotinfo:{id:e.id,domain:r._fullLayout[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis},subplot:e.id,prepFn:function(A,P,D){e.dragOptions.xaxes=[e.xaxis],e.dragOptions.yaxes=[e.yaxis],a=r._fullLayout._invScaleX,i=r._fullLayout._invScaleY;var z=e.dragOptions.dragmode=r._fullLayout.dragmode;Wye(z)?e.dragOptions.minDrag=1:e.dragOptions.minDrag=void 0,z==="zoom"?(e.dragOptions.moveFn=y,e.dragOptions.clickFn=g,e.dragOptions.doneFn=S,E(A,P,D)):z==="pan"?(e.dragOptions.moveFn=p,e.dragOptions.clickFn=g,e.dragOptions.doneFn=C,T(),e.clearOutline(r)):(oxt(z)||Wye(z))&&sxt(A,P,D,e.dragOptions,z)}};var o,s,l,u,c,f,h,v,d,m;function x(A){var P={};return P[e.id+".aaxis.min"]=A.a,P[e.id+".baxis.min"]=A.b,P[e.id+".caxis.min"]=A.c,P}function g(A,P){var D=r._fullLayout.clickmode;Xye(r),A===2&&(r.emit("plotly_doubleclick",null),DO.call("_guiRelayout",r,x({a:0,b:0,c:0}))),D.indexOf("select")>-1&&A===1&&lxt(P,r,[e.xaxis],[e.yaxis],e.id,e.dragOptions),D.indexOf("event")>-1&&jye.click(r,P,e.id)}function E(A,P,D){var z=t.getBoundingClientRect();o=P-z.left,s=D-z.top,r._fullLayout._calcInverseTransform(r);var q=r._fullLayout._invTransform,U=j1.apply3DTransform(q)(o,s);o=U[0],s=U[1],l={a:e.aaxis.range[0],b:e.baxis.range[1],c:e.caxis.range[1]},c=l,u=e.aaxis.range[1]-l.a,f=zx.color(e.graphDiv._fullLayout[e.id].bgcolor).luminosity(),h="M0,"+e.h+"L"+e.w/2+", 0L"+e.w+","+e.h+"Z",v=!1,d=n.append("path").attr("class","zoombox").attr("transform",Yp(e.x0,e.y0)).style({fill:f>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",h),m=n.append("path").attr("class","zoombox-corners").attr("transform",Yp(e.x0,e.y0)).style({fill:zx.background,stroke:zx.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),e.clearOutline(r)}function M(A,P){return 1-P/e.h}function w(A,P){return 1-(A+(e.h-P)/Math.sqrt(3))/e.w}function k(A,P){return(A-(e.h-P)/Math.sqrt(3))/e.w}function y(A,P){var D=o+A*a,z=s+P*i,q=Math.max(0,Math.min(1,M(o,s),M(D,z))),U=Math.max(0,Math.min(1,w(o,s),w(D,z))),O=Math.max(0,Math.min(1,k(o,s),k(D,z))),R=(q/2+O)*e.w,B=(1-q/2-U)*e.w,Y=(R+B)/2,X=B-R,te=(1-q)*e.h,se=te-X/Y_;X.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),m.transition().style("opacity",1).duration(200),v=!0),r.emit("plotly_relayouting",x(c))}function S(){Xye(r),c!==l&&(DO.call("_guiRelayout",r,x(c)),Yye&&r.data&&r._context.showTips&&(j1.notifier(HC(r,"Double-click to zoom back out"),"long",r),Yye=!1))}function T(){l={a:e.aaxis.range[0],b:e.baxis.range[1],c:e.caxis.range[1]},c=l}function p(A,P){var D=A/e.xaxis._m,z=P/e.yaxis._m;c={a:l.a-z,b:l.b+(D+z)/2,c:l.c-(D-z)/2};var q=[c.a,c.b,c.c].sort(j1.sorterAsc),U={a:q.indexOf(c.a),b:q.indexOf(c.b),c:q.indexOf(c.c)};q[0]<0&&(q[1]+q[0]/2<0?(q[2]+=q[0]+q[1],q[0]=q[1]=0):(q[2]+=q[0]/2,q[1]+=q[0]/2,q[0]=0),c={a:q[U.a],b:q[U.b],c:q[U.c]},P=(l.a-c.a)*e.yaxis._m,A=(l.c-c.c-l.b+c.b)*e.xaxis._m);var O=Yp(e.x0+A,e.y0+P);e.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",O);var R=Yp(-A,-P);e.clipDefRelative.select("path").attr("transform",R),e.aaxis.range=[c.a,e.sum-c.b-c.c],e.baxis.range=[e.sum-c.a-c.c,c.b],e.caxis.range=[e.sum-c.a-c.b,c.c],e.drawAxes(!1),e._hasClipOnAxisFalse&&e.plotContainer.select(".scatterlayer").selectAll(".trace").call(jC.hideOutsideRangePoints,e),r.emit("plotly_relayouting",x(c))}function C(){DO.call("_guiRelayout",r,x(c))}t.onmousemove=function(A){jye.hover(r,A,e.id),r._fullLayout._lasthover=t,r._fullLayout._hoversubplot=e.id},t.onmouseout=function(A){r._dragging||Hye.unhover(r,A)},Hye.init(this.dragOptions)};function Xye(e){Zye.select(e).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}});var BO=ne((kor,txe)=>{"use strict";var gxt=Ic(),mxt=zl().attributes,vs=Wf(),yxt=Il().overrideAll,zO=ci().extendFlat,qO={title:{text:vs.title.text,font:vs.title.font},color:vs.color,tickmode:vs.minor.tickmode,nticks:zO({},vs.nticks,{dflt:6,min:1}),tick0:vs.tick0,dtick:vs.dtick,tickvals:vs.tickvals,ticktext:vs.ticktext,ticks:vs.ticks,ticklen:vs.ticklen,tickwidth:vs.tickwidth,tickcolor:vs.tickcolor,ticklabelstep:vs.ticklabelstep,showticklabels:vs.showticklabels,labelalias:vs.labelalias,showtickprefix:vs.showtickprefix,tickprefix:vs.tickprefix,showticksuffix:vs.showticksuffix,ticksuffix:vs.ticksuffix,showexponent:vs.showexponent,exponentformat:vs.exponentformat,minexponent:vs.minexponent,separatethousands:vs.separatethousands,tickfont:vs.tickfont,tickangle:vs.tickangle,tickformat:vs.tickformat,tickformatstops:vs.tickformatstops,hoverformat:vs.hoverformat,showline:zO({},vs.showline,{dflt:!0}),linecolor:vs.linecolor,linewidth:vs.linewidth,showgrid:zO({},vs.showgrid,{dflt:!0}),gridcolor:vs.gridcolor,gridwidth:vs.gridwidth,griddash:vs.griddash,layer:vs.layer,min:{valType:"number",dflt:0,min:0}},WC=txe.exports=yxt({domain:mxt({name:"ternary"}),bgcolor:{valType:"color",dflt:gxt.background},sum:{valType:"number",dflt:1,min:0},aaxis:qO,baxis:qO,caxis:qO},"plot","from-root");WC.uirevision={valType:"any",editType:"none"};WC.aaxis.uirevision=WC.baxis.uirevision=WC.caxis.uirevision={valType:"any",editType:"none"}});var qx=ne((Cor,rxe)=>{"use strict";var xxt=Zt(),bxt=Bo(),_xt=zl().defaults;rxe.exports=function(t,r,n,a){var i=a.type,o=a.attributes,s=a.handleDefaults,l=a.partition||"x",u=r._subplots[i],c=u.length,f=c&&u[0].replace(/\d+$/,""),h,v;function d(E,M){return xxt.coerce(h,v,o,E,M)}for(var m=0;m{"use strict";var wxt=_a(),Txt=Bo(),YC=Zt(),Axt=qx(),Mxt=Hg(),Sxt=jg(),Ext=Nb(),kxt=Xy(),Cxt=j4(),axe=BO(),nxe=["aaxis","baxis","caxis"];ixe.exports=function(t,r,n){Axt(t,r,n,{type:"ternary",attributes:axe,handleDefaults:Lxt,font:r.font,paper_bgcolor:r.paper_bgcolor})};function Lxt(e,t,r,n){var a=r("bgcolor"),i=r("sum");n.bgColor=wxt.combine(a,n.paper_bgcolor);for(var o,s,l,u=0;u=i&&(c.min=0,f.min=0,h.min=0,e.aaxis&&delete e.aaxis.min,e.baxis&&delete e.baxis.min,e.caxis&&delete e.caxis.min)}function Fxt(e,t,r,n){var a=axe[t._name];function i(v,d){return YC.coerce(e,t,a,v,d)}i("uirevision",n.uirevision),t.type="linear";var o=i("color"),s=o!==a.color.dflt?o:r.font.color,l=t._name,u=l.charAt(0).toUpperCase(),c="Component "+u,f=i("title.text",c);t._hovertitle=f===c?f:u,YC.coerceFont(i,"title.font",r.font,{overrideDflt:{size:YC.bigFont(r.font.size),color:s}}),i("min"),kxt(e,t,i,"linear"),Sxt(e,t,i,"linear"),Mxt(e,t,i,"linear",{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0}),Ext(e,t,i,{outerTicks:!0});var h=i("showticklabels");h&&(YC.coerceFont(i,"tickfont",r.font,{overrideDflt:{color:s}}),i("tickangle"),i("tickformat")),Cxt(e,t,i,{dfltColor:o,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:a}),i("hoverformat"),i("layer")}});var sxe=ne(u0=>{"use strict";var Pxt=exe(),Dxt=mh().getSubplotCalcData,Rxt=Zt().counterRegex,X_="ternary";u0.name=X_;var Ixt=u0.attr="subplot";u0.idRoot=X_;u0.idRegex=u0.attrRegex=Rxt(X_);var zxt=u0.attributes={};zxt[Ixt]={valType:"subplotid",dflt:"ternary",editType:"calc"};u0.layoutAttributes=BO();u0.supplyLayoutDefaults=oxe();u0.plot=function(t){for(var r=t._fullLayout,n=t.calcdata,a=r._subplots[X_],i=0;i{"use strict";lxe.exports={attributes:LO(),supplyDefaults:Fye(),colorbar:bh(),formatLabels:Dye(),calc:qye(),plot:Oye(),style:Md().style,styleOnSelect:Md().styleOnSelect,hoverPoints:Uye(),selectPoints:_x(),eventData:Gye(),moduleType:"trace",name:"scatterternary",basePlotModule:sxe(),categories:["ternary","symbols","showLegend","scatter-like"],meta:{}}});var fxe=ne((Dor,cxe)=>{"use strict";cxe.exports=uxe()});var OO=ne((Ror,dxe)=>{"use strict";var Oc=cT(),Z_=ci().extendFlat,hxe=Wl().axisHoverFormat;dxe.exports={y:Oc.y,x:Oc.x,x0:Oc.x0,y0:Oc.y0,xhoverformat:hxe("x"),yhoverformat:hxe("y"),name:Z_({},Oc.name,{}),orientation:Z_({},Oc.orientation,{}),bandwidth:{valType:"number",min:0,editType:"calc"},scalegroup:{valType:"string",dflt:"",editType:"calc"},scalemode:{valType:"enumerated",values:["width","count"],dflt:"width",editType:"calc"},spanmode:{valType:"enumerated",values:["soft","hard","manual"],dflt:"soft",editType:"calc"},span:{valType:"info_array",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}],editType:"calc"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:Oc.fillcolor,points:Z_({},Oc.boxpoints,{}),jitter:Z_({},Oc.jitter,{}),pointpos:Z_({},Oc.pointpos,{}),width:Z_({},Oc.width,{}),marker:Oc.marker,text:Oc.text,hovertext:Oc.hovertext,hovertemplate:Oc.hovertemplate,hovertemplatefallback:Oc.hovertemplatefallback,quartilemethod:Oc.quartilemethod,box:{visible:{valType:"boolean",dflt:!1,editType:"plot"},width:{valType:"number",min:0,max:1,dflt:.25,editType:"plot"},fillcolor:{valType:"color",editType:"style"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,editType:"style"},editType:"style"},editType:"plot"},meanline:{visible:{valType:"boolean",dflt:!1,editType:"plot"},color:{valType:"color",editType:"style"},width:{valType:"number",min:0,editType:"style"},editType:"plot"},side:{valType:"enumerated",values:["both","positive","negative"],dflt:"both",editType:"calc"},offsetgroup:Oc.offsetgroup,alignmentgroup:Oc.alignmentgroup,selected:Oc.selected,unselected:Oc.unselected,hoveron:{valType:"flaglist",flags:["violins","points","kde"],dflt:"violins+points+kde",extras:["all"],editType:"style"},zorder:Oc.zorder}});var VO=ne((Ior,vxe)=>{"use strict";var NO=fT(),UO=Zt().extendFlat;vxe.exports={violinmode:UO({},NO.boxmode,{}),violingap:UO({},NO.boxgap,{}),violingroupgap:UO({},NO.boxgroupgap,{})}});var xxe=ne((zor,yxe)=>{"use strict";var pxe=Zt(),qxt=_a(),gxe=dT(),mxe=OO();yxe.exports=function(t,r,n,a){function i(k,y){return pxe.coerce(t,r,mxe,k,y)}function o(k,y){return pxe.coerce2(t,r,mxe,k,y)}if(gxe.handleSampleDefaults(t,r,i,a),r.visible!==!1){i("bandwidth"),i("side");var s=i("width");s||(i("scalegroup",r.name),i("scalemode"));var l=i("span"),u;Array.isArray(l)&&(u="manual"),i("spanmode",u);var c=i("line.color",(t.marker||{}).color||n),f=i("line.width"),h=i("fillcolor",qxt.addOpacity(r.line.color,.5));gxe.handlePointsDefaults(t,r,i,{prefix:""});var v=o("box.width"),d=o("box.fillcolor",h),m=o("box.line.color",c),x=o("box.line.width",f),g=i("box.visible",!!(v||d||m||x));g||(r.box={visible:!1});var E=o("meanline.color",c),M=o("meanline.width",f),w=i("meanline.visible",!!(E||M));w||(r.meanline={visible:!1}),i("quartilemethod"),i("zorder")}}});var _xe=ne((qor,bxe)=>{"use strict";var Bxt=Zt(),Oxt=VO(),Nxt=iC();bxe.exports=function(t,r,n){function a(i,o){return Bxt.coerce(t,r,Oxt,i,o)}Nxt._supply(t,r,n,a,"violin")}});var XC=ne(Bx=>{"use strict";var Uxt=Zt(),Vxt={gaussian:function(e){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*e*e)}};Bx.makeKDE=function(e,t,r){var n=r.length,a=Vxt.gaussian,i=e.bandwidth,o=1/(n*i);return function(s){for(var l=0,u=0;u{"use strict";var GO=Zt(),HO=ri(),Gxt=IB(),wxe=XC(),Hxt=uo().BADNUM;Txe.exports=function(t,r){var n=Gxt(t,r);if(n[0].t.empty)return n;for(var a=t._fullLayout,i=HO.getFromId(t,r[r.orientation==="h"?"xaxis":"yaxis"]),o=1/0,s=-1/0,l=0,u=0,c=0;c{"use strict";var Xxt=sC().setPositionOffset,Mxe=["v","h"];Sxe.exports=function(t,r){for(var n=t.calcdata,a=r.xaxis,i=r.yaxis,o=0;o{"use strict";var jO=Ea(),WO=Zt(),Zxt=li(),YO=lC(),$xt=_q(),Kxt=XC();kxe.exports=function(t,r,n,a){var i=t._context.staticPlot,o=t._fullLayout,s=r.xaxis,l=r.yaxis;function u(c,f){var h=$xt(c,{xaxis:s,yaxis:l,trace:f,connectGaps:!0,baseTolerance:.75,shape:"spline",simplify:!0,linearized:!0});return Zxt.smoothopen(h[0],1)}WO.makeTraceGroups(a,n,"trace violins").each(function(c){var f=jO.select(this),h=c[0],v=h.t,d=h.trace;if(d.visible!==!0||v.empty){f.remove();return}var m=v.bPos,x=v.bdPos,g=r[v.valLetter+"axis"],E=r[v.posLetter+"axis"],M=d.side==="both",w=M||d.side==="positive",k=M||d.side==="negative",y=f.selectAll("path.violin").data(WO.identity);y.enter().append("path").style("vector-effect",i?"none":"non-scaling-stroke").attr("class","violin"),y.exit().remove(),y.each(function(z){var q=jO.select(this),U=z.density,O=U.length,R=E.c2l(z.pos+m,!0),B=E.l2p(R),Y;if(d.width)Y=v.maxKDE/x;else{var X=o._violinScaleGroupStats[d.scalegroup];Y=d.scalemode==="count"?X.maxKDE/x*(X.maxCount/z.pts.length):X.maxKDE/x}var te,se,ue,re,j,fe,ce;if(w){for(fe=new Array(O),re=0;re{"use strict";var Lxe=Ea(),$_=_a(),Jxt=Md().stylePoints;Fxe.exports=function(t){var r=Lxe.select(t).selectAll("g.trace.violins");r.style("opacity",function(n){return n[0].trace.opacity}),r.each(function(n){var a=n[0].trace,i=Lxe.select(this),o=a.box||{},s=o.line||{},l=a.meanline||{},u=l.width;i.selectAll("path.violin").style("stroke-width",a.line.width+"px").call($_.stroke,a.line.color).call($_.fill,a.fillcolor),i.selectAll("path.box").style("stroke-width",s.width+"px").call($_.stroke,s.color).call($_.fill,o.fillcolor);var c={"stroke-width":u+"px","stroke-dasharray":2*u+"px,"+u+"px"};i.selectAll("path.mean").style(c).call($_.stroke,l.color),i.selectAll("path.meanline").style(c).call($_.stroke,l.color),Jxt(i,a,t)})}});var zxe=ne((Gor,Ixe)=>{"use strict";var Qxt=_a(),XO=Zt(),e2t=ri(),Dxe=NB(),Rxe=XC();Ixe.exports=function(t,r,n,a,i){i||(i={});var o=i.hoverLayer,s=t.cd,l=s[0].trace,u=l.hoveron,c=u.indexOf("violins")!==-1,f=u.indexOf("kde")!==-1,h=[],v,d;if(c||f){var m=Dxe.hoverOnBoxes(t,r,n,a);if(f&&m.length>0){var x=t.xa,g=t.ya,E,M,w,k,y;l.orientation==="h"?(y=r,E="y",w=g,M="x",k=x):(y=n,E="x",w=x,M="y",k=g);var S=s[t.index];if(y>=S.span[0]&&y<=S.span[1]){var T=XO.extendFlat({},t),p=k.c2p(y,!0),C=Rxe.getKdeValue(S,l,y),A=Rxe.getPositionOnKdePath(S,l,p),P=w._offset,D=w._length;T[E+"0"]=A[0],T[E+"1"]=A[1],T[M+"0"]=T[M+"1"]=p,T[M+"Label"]=M+": "+e2t.hoverLabelText(k,y,l[M+"hoverformat"])+", "+s[0].t.labels.kde+" "+C.toFixed(3);for(var z=0,q=0;q{"use strict";qxe.exports={attributes:OO(),layoutAttributes:VO(),supplyDefaults:xxe(),crossTraceDefaults:dT().crossTraceDefaults,supplyLayoutDefaults:_xe(),calc:Axe(),crossTraceCalc:Exe(),plot:Cxe(),style:Pxe(),styleOnSelect:Md().styleOnSelect,hoverPoints:zxe(),selectPoints:UB(),moduleType:"trace",name:"violin",basePlotModule:Ku(),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","violinLayout","zoomScale"],meta:{}}});var Nxe=ne((jor,Oxe)=>{"use strict";Oxe.exports=Bxe()});var Vxe=ne((Wor,Uxe)=>{"use strict";Uxe.exports={eventDataKeys:["percentInitial","percentPrevious","percentTotal"]}});var $O=ne((Yor,Wxe)=>{"use strict";var ql=Vp(),ZO=Tu().line,t2t=os(),Gxe=Wl().axisHoverFormat,{hovertemplateAttrs:r2t,texttemplateAttrs:n2t,templatefallbackAttrs:Hxe}=rs(),jxe=Vxe(),W1=ci().extendFlat,a2t=_a();Wxe.exports={x:ql.x,x0:ql.x0,dx:ql.dx,y:ql.y,y0:ql.y0,dy:ql.dy,xperiod:ql.xperiod,yperiod:ql.yperiod,xperiod0:ql.xperiod0,yperiod0:ql.yperiod0,xperiodalignment:ql.xperiodalignment,yperiodalignment:ql.yperiodalignment,xhoverformat:Gxe("x"),yhoverformat:Gxe("y"),hovertext:ql.hovertext,hovertemplate:r2t({},{keys:jxe.eventDataKeys}),hovertemplatefallback:Hxe(),hoverinfo:W1({},t2t.hoverinfo,{flags:["name","x","y","text","percent initial","percent previous","percent total"]}),textinfo:{valType:"flaglist",flags:["label","text","percent initial","percent previous","percent total","value"],extras:["none"],editType:"plot",arrayOk:!1},texttemplate:n2t({editType:"plot"},{keys:jxe.eventDataKeys.concat(["label","value"])}),texttemplatefallback:Hxe({editType:"plot"}),text:ql.text,textposition:ql.textposition,insidetextanchor:W1({},ql.insidetextanchor,{dflt:"middle"}),textangle:W1({},ql.textangle,{dflt:0}),textfont:ql.textfont,insidetextfont:ql.insidetextfont,outsidetextfont:ql.outsidetextfont,constraintext:ql.constraintext,cliponaxis:ql.cliponaxis,orientation:W1({},ql.orientation,{}),offset:W1({},ql.offset,{arrayOk:!1}),width:W1({},ql.width,{arrayOk:!1}),marker:i2t(),connector:{fillcolor:{valType:"color",editType:"style"},line:{color:W1({},ZO.color,{dflt:a2t.defaultLine}),width:W1({},ZO.width,{dflt:0,editType:"plot"}),dash:ZO.dash,editType:"style"},visible:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},offsetgroup:ql.offsetgroup,alignmentgroup:ql.alignmentgroup,zorder:ql.zorder};function i2t(){var e=W1({},ql.marker);return delete e.pattern,delete e.cornerradius,e}});var KO=ne((Xor,Yxe)=>{"use strict";Yxe.exports={funnelmode:{valType:"enumerated",values:["stack","group","overlay"],dflt:"stack",editType:"calc"},funnelgap:{valType:"number",min:0,max:1,editType:"calc"},funnelgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}});var QO=ne((Zor,Zxe)=>{"use strict";var ZC=Zt(),o2t=xx(),s2t=wv().handleText,l2t=yx(),u2t=U0(),Xxe=$O(),JO=_a();function c2t(e,t,r,n){function a(f,h){return ZC.coerce(e,t,Xxe,f,h)}var i=l2t(e,t,n,a);if(!i){t.visible=!1;return}u2t(e,t,n,a),a("xhoverformat"),a("yhoverformat"),a("orientation",t.y&&!t.x?"v":"h"),a("offset"),a("width");var o=a("text");a("hovertext"),a("hovertemplate"),a("hovertemplatefallback");var s=a("textposition");s2t(e,t,n,a,s,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),t.textposition!=="none"&&!t.texttemplate&&a("textinfo",ZC.isArrayOrTypedArray(o)?"text+value":"value");var l=a("marker.color",r);a("marker.line.color",JO.defaultLine),a("marker.line.width");var u=a("connector.visible");if(u){a("connector.fillcolor",f2t(l));var c=a("connector.line.width");c&&(a("connector.line.color"),a("connector.line.dash"))}a("zorder")}function f2t(e){var t=ZC.isArrayOrTypedArray(e)?"#000":e;return JO.addOpacity(t,.5*JO.opacity(t))}function h2t(e,t){var r,n;function a(o){return ZC.coerce(n._input,n,Xxe,o)}for(var i=0;i{"use strict";var d2t=Zt(),v2t=KO();$xe.exports=function(e,t,r){var n=!1;function a(s,l){return d2t.coerce(e,t,v2t,s,l)}for(var i=0;i{"use strict";var K_=Zt();Jxe.exports=function(t,r){for(var n=0;n{"use strict";var e2e=ri(),t2e=H0(),p2t=Qxe(),g2t=mv(),ET=uo().BADNUM;r2e.exports=function(t,r){var n=e2e.getFromId(t,r.xaxis||"x"),a=e2e.getFromId(t,r.yaxis||"y"),i,o,s,l,u,c,f,h;r.orientation==="h"?(i=n.makeCalcdata(r,"x"),s=a.makeCalcdata(r,"y"),l=t2e(r,a,"y",s),u=!!r.yperiodalignment,c="y"):(i=a.makeCalcdata(r,"y"),s=n.makeCalcdata(r,"x"),l=t2e(r,n,"x",s),u=!!r.xperiodalignment,c="x"),o=l.vals;var v=Math.min(o.length,i.length),d=new Array(v);for(r._base=[],f=0;f{"use strict";var a2e=bx().setGroupPositions;i2e.exports=function(t,r){var n=t._fullLayout,a=t._fullData,i=t.calcdata,o=r.xaxis,s=r.yaxis,l=[],u=[],c=[],f,h;for(h=0;h{"use strict";var $C=Ea(),wm=Zt(),s2e=li(),_m=uo().BADNUM,m2t=Dx(),y2t=Uh().clearMinTextSize;u2e.exports=function(t,r,n,a){var i=t._fullLayout;y2t("funnel",i),x2t(t,r,n,a),b2t(t,r,n,a),m2t.plot(t,r,n,a,{mode:i.funnelmode,norm:i.funnelmode,gap:i.funnelgap,groupgap:i.funnelgroupgap})};function x2t(e,t,r,n){var a=t.xaxis,i=t.yaxis;wm.makeTraceGroups(n,r,"trace bars").each(function(o){var s=$C.select(this),l=o[0].trace,u=wm.ensureSingle(s,"g","regions");if(!l.connector||!l.connector.visible){u.remove();return}var c=l.orientation==="h",f=u.selectAll("g.region").data(wm.identity);f.enter().append("g").classed("region",!0),f.exit().remove();var h=f.size();f.each(function(v,d){if(!(d!==h-1&&!v.cNext)){var m=l2e(v,a,i,c),x=m[0],g=m[1],E="";x[0]!==_m&&g[0]!==_m&&x[1]!==_m&&g[1]!==_m&&x[2]!==_m&&g[2]!==_m&&x[3]!==_m&&g[3]!==_m&&(c?E+="M"+x[0]+","+g[1]+"L"+x[2]+","+g[2]+"H"+x[3]+"L"+x[1]+","+g[1]+"Z":E+="M"+x[1]+","+g[1]+"L"+x[2]+","+g[3]+"V"+g[2]+"L"+x[1]+","+g[0]+"Z"),E===""&&(E="M0,0Z"),wm.ensureSingle($C.select(this),"path").attr("d",E).call(s2e.setClipUrl,t.layerClipId,e)}})})}function b2t(e,t,r,n){var a=t.xaxis,i=t.yaxis;wm.makeTraceGroups(n,r,"trace bars").each(function(o){var s=$C.select(this),l=o[0].trace,u=wm.ensureSingle(s,"g","lines");if(!l.connector||!l.connector.visible||!l.connector.line.width){u.remove();return}var c=l.orientation==="h",f=u.selectAll("g.line").data(wm.identity);f.enter().append("g").classed("line",!0),f.exit().remove();var h=f.size();f.each(function(v,d){if(!(d!==h-1&&!v.cNext)){var m=l2e(v,a,i,c),x=m[0],g=m[1],E="";x[3]!==void 0&&g[3]!==void 0&&(c?(E+="M"+x[0]+","+g[1]+"L"+x[2]+","+g[2],E+="M"+x[1]+","+g[1]+"L"+x[3]+","+g[2]):(E+="M"+x[1]+","+g[1]+"L"+x[2]+","+g[3],E+="M"+x[1]+","+g[0]+"L"+x[2]+","+g[2])),E===""&&(E="M0,0Z"),wm.ensureSingle($C.select(this),"path").attr("d",E).call(s2e.setClipUrl,t.layerClipId,e)}})})}function l2e(e,t,r,n){var a=[],i=[],o=n?t:r,s=n?r:t;return a[0]=o.c2p(e.s0,!0),i[0]=s.c2p(e.p0,!0),a[1]=o.c2p(e.s1,!0),i[1]=s.c2p(e.p1,!0),a[2]=o.c2p(e.nextS0,!0),i[2]=s.c2p(e.nextP0,!0),a[3]=o.c2p(e.nextS1,!0),i[3]=s.c2p(e.nextP1,!0),n?[a,i]:[i,a]}});var d2e=ne((tsr,h2e)=>{"use strict";var kT=Ea(),f2e=li(),tN=_a(),_2t=A1().DESELECTDIM,w2t=n0(),T2t=Uh().resizeText,A2t=w2t.styleTextPoints;function M2t(e,t,r){var n=r||kT.select(e).selectAll('g[class^="funnellayer"]').selectAll("g.trace");T2t(e,n,"funnel"),n.style("opacity",function(a){return a[0].trace.opacity}),n.each(function(a){var i=kT.select(this),o=a[0].trace;i.selectAll(".point > path").each(function(s){if(!s.isBlank){var l=o.marker;kT.select(this).call(tN.fill,s.mc||l.color).call(tN.stroke,s.mlc||l.line.color).call(f2e.dashLine,l.line.dash,s.mlw||l.line.width).style("opacity",o.selectedpoints&&!s.selected?_2t:1)}}),A2t(i,o,e),i.selectAll(".regions").each(function(){kT.select(this).selectAll("path").style("stroke-width",0).call(tN.fill,o.connector.fillcolor)}),i.selectAll(".lines").each(function(){var s=o.connector.line;f2e.lineGroupStyle(kT.select(this).selectAll("path"),s.width,s.color,s.dash)})})}h2e.exports={style:M2t}});var g2e=ne((rsr,p2e)=>{"use strict";var v2e=_a().opacity,S2t=D_().hoverOnBars,rN=Zt().formatPercent;p2e.exports=function(t,r,n,a,i){var o=S2t(t,r,n,a,i);if(o){var s=o.cd,l=s[0].trace,u=l.orientation==="h",c=o.index,f=s[c],h=u?"x":"y";o[h+"LabelVal"]=f.s,o.percentInitial=f.begR,o.percentInitialLabel=rN(f.begR,1),o.percentPrevious=f.difR,o.percentPreviousLabel=rN(f.difR,1),o.percentTotal=f.sumR,o.percentTotalLabel=rN(f.sumR,1);var v=f.hi||l.hoverinfo,d=[];if(v&&v!=="none"&&v!=="skip"){var m=v==="all",x=v.split("+"),g=function(E){return m||x.indexOf(E)!==-1};g("percent initial")&&d.push(o.percentInitialLabel+" of initial"),g("percent previous")&&d.push(o.percentPreviousLabel+" of previous"),g("percent total")&&d.push(o.percentTotalLabel+" of total")}return o.extraText=d.join("
"),o.color=E2t(l,f),[o]}};function E2t(e,t){var r=e.marker,n=t.mc||r.color,a=t.mlc||r.line.color,i=t.mlw||r.line.width;if(v2e(n))return n;if(v2e(a)&&i)return a}});var y2e=ne((nsr,m2e)=>{"use strict";m2e.exports=function(t,r){return t.x="xVal"in r?r.xVal:r.x,t.y="yVal"in r?r.yVal:r.y,"percentInitial"in r&&(t.percentInitial=r.percentInitial),"percentPrevious"in r&&(t.percentPrevious=r.percentPrevious),"percentTotal"in r&&(t.percentTotal=r.percentTotal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var b2e=ne((asr,x2e)=>{"use strict";x2e.exports={attributes:$O(),layoutAttributes:KO(),supplyDefaults:QO().supplyDefaults,crossTraceDefaults:QO().crossTraceDefaults,supplyLayoutDefaults:Kxe(),calc:n2e(),crossTraceCalc:o2e(),plot:c2e(),style:d2e().style,hoverPoints:g2e(),eventData:y2e(),selectPoints:R_(),moduleType:"trace",name:"funnel",basePlotModule:Ku(),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}});var w2e=ne((isr,_2e)=>{"use strict";_2e.exports=b2e()});var A2e=ne((osr,T2e)=>{"use strict";T2e.exports={eventDataKeys:["initial","delta","final"]}});var iN=ne((ssr,k2e)=>{"use strict";var xl=Vp(),nN=Tu().line,k2t=os(),M2e=Wl().axisHoverFormat,{hovertemplateAttrs:C2t,texttemplateAttrs:L2t,templatefallbackAttrs:S2e}=rs(),E2e=A2e(),J_=ci().extendFlat,F2t=_a();function aN(e){return{marker:{color:J_({},xl.marker.color,{arrayOk:!1,editType:"style"}),line:{color:J_({},xl.marker.line.color,{arrayOk:!1,editType:"style"}),width:J_({},xl.marker.line.width,{arrayOk:!1,editType:"style"}),editType:"style"},editType:"style"},editType:"style"}}k2e.exports={measure:{valType:"data_array",dflt:[],editType:"calc"},base:{valType:"number",dflt:null,arrayOk:!1,editType:"calc"},x:xl.x,x0:xl.x0,dx:xl.dx,y:xl.y,y0:xl.y0,dy:xl.dy,xperiod:xl.xperiod,yperiod:xl.yperiod,xperiod0:xl.xperiod0,yperiod0:xl.yperiod0,xperiodalignment:xl.xperiodalignment,yperiodalignment:xl.yperiodalignment,xhoverformat:M2e("x"),yhoverformat:M2e("y"),hovertext:xl.hovertext,hovertemplate:C2t({},{keys:E2e.eventDataKeys}),hovertemplatefallback:S2e(),hoverinfo:J_({},k2t.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:L2t({editType:"plot"},{keys:E2e.eventDataKeys.concat(["label"])}),texttemplatefallback:S2e({editType:"plot"}),text:xl.text,textposition:xl.textposition,insidetextanchor:xl.insidetextanchor,textangle:xl.textangle,textfont:xl.textfont,insidetextfont:xl.insidetextfont,outsidetextfont:xl.outsidetextfont,constraintext:xl.constraintext,cliponaxis:xl.cliponaxis,orientation:xl.orientation,offset:xl.offset,width:xl.width,increasing:aN("increasing"),decreasing:aN("decreasing"),totals:aN("intermediate sums and total"),connector:{line:{color:J_({},nN.color,{dflt:F2t.defaultLine}),width:J_({},nN.width,{editType:"plot"}),dash:nN.dash,editType:"plot"},mode:{valType:"enumerated",values:["spanning","between"],dflt:"between",editType:"plot"},visible:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},offsetgroup:xl.offsetgroup,alignmentgroup:xl.alignmentgroup,zorder:xl.zorder}});var oN=ne((lsr,C2e)=>{"use strict";C2e.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"}}});var Q_=ne((usr,L2e)=>{"use strict";L2e.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"\u25B2"},DECREASING:{COLOR:"#FF4136",SYMBOL:"\u25BC"}}});var lN=ne((csr,R2e)=>{"use strict";var F2e=Zt(),P2t=xx(),D2t=wv().handleText,R2t=yx(),I2t=U0(),P2e=iN(),z2t=_a(),D2e=Q_(),q2t=D2e.INCREASING.COLOR,B2t=D2e.DECREASING.COLOR,O2t="#4499FF";function sN(e,t,r){e(t+".marker.color",r),e(t+".marker.line.color",z2t.defaultLine),e(t+".marker.line.width")}function N2t(e,t,r,n){function a(u,c){return F2e.coerce(e,t,P2e,u,c)}var i=R2t(e,t,n,a);if(!i){t.visible=!1;return}I2t(e,t,n,a),a("xhoverformat"),a("yhoverformat"),a("measure"),a("orientation",t.x&&!t.y?"h":"v"),a("base"),a("offset"),a("width"),a("text"),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback");var o=a("textposition");D2t(e,t,n,a,o,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),t.textposition!=="none"&&(a("texttemplate"),a("texttemplatefallback"),t.texttemplate||a("textinfo")),sN(a,"increasing",q2t),sN(a,"decreasing",B2t),sN(a,"totals",O2t);var s=a("connector.visible");if(s){a("connector.mode");var l=a("connector.line.width");l&&(a("connector.line.color"),a("connector.line.dash"))}a("zorder")}function U2t(e,t){var r,n;function a(o){return F2e.coerce(n._input,n,P2e,o)}if(t.waterfallmode==="group")for(var i=0;i{"use strict";var V2t=Zt(),G2t=oN();I2e.exports=function(e,t,r){var n=!1;function a(s,l){return V2t.coerce(e,t,G2t,s,l)}for(var i=0;i{"use strict";var q2e=ri(),B2e=H0(),O2e=Zt().mergeArray,H2t=mv(),N2e=uo().BADNUM;function uN(e){return e==="a"||e==="absolute"}function cN(e){return e==="t"||e==="total"}U2e.exports=function(t,r){var n=q2e.getFromId(t,r.xaxis||"x"),a=q2e.getFromId(t,r.yaxis||"y"),i,o,s,l,u,c;r.orientation==="h"?(i=n.makeCalcdata(r,"x"),s=a.makeCalcdata(r,"y"),l=B2e(r,a,"y",s),u=!!r.yperiodalignment,c="y"):(i=a.makeCalcdata(r,"y"),s=n.makeCalcdata(r,"x"),l=B2e(r,n,"x",s),u=!!r.xperiodalignment,c="x"),o=l.vals;for(var f=Math.min(o.length,i.length),h=new Array(f),v=0,d,m=!1,x=0;x{"use strict";var G2e=bx().setGroupPositions;H2e.exports=function(t,r){var n=t._fullLayout,a=t._fullData,i=t.calcdata,o=r.xaxis,s=r.yaxis,l=[],u=[],c=[],f,h;for(h=0;h{"use strict";var W2e=Ea(),KC=Zt(),j2t=li(),e3=uo().BADNUM,W2t=Dx(),Y2t=Uh().clearMinTextSize;Y2e.exports=function(t,r,n,a){var i=t._fullLayout;Y2t("waterfall",i),W2t.plot(t,r,n,a,{mode:i.waterfallmode,norm:i.waterfallmode,gap:i.waterfallgap,groupgap:i.waterfallgroupgap}),X2t(t,r,n,a)};function X2t(e,t,r,n){var a=t.xaxis,i=t.yaxis;KC.makeTraceGroups(n,r,"trace bars").each(function(o){var s=W2e.select(this),l=o[0].trace,u=KC.ensureSingle(s,"g","lines");if(!l.connector||!l.connector.visible){u.remove();return}var c=l.orientation==="h",f=l.connector.mode,h=u.selectAll("g.line").data(KC.identity);h.enter().append("g").classed("line",!0),h.exit().remove();var v=h.size();h.each(function(d,m){if(!(m!==v-1&&!d.cNext)){var x=Z2t(d,a,i,c),g=x[0],E=x[1],M="";g[0]!==e3&&E[0]!==e3&&g[1]!==e3&&E[1]!==e3&&(f==="spanning"&&!d.isSum&&m>0&&(c?M+="M"+g[0]+","+E[1]+"V"+E[0]:M+="M"+g[1]+","+E[0]+"H"+g[0]),f!=="between"&&(d.isSum||m{"use strict";var JC=Ea(),Z2e=li(),$2e=_a(),$2t=A1().DESELECTDIM,K2t=n0(),J2t=Uh().resizeText,Q2t=K2t.styleTextPoints;function ebt(e,t,r){var n=r||JC.select(e).selectAll('g[class^="waterfalllayer"]').selectAll("g.trace");J2t(e,n,"waterfall"),n.style("opacity",function(a){return a[0].trace.opacity}),n.each(function(a){var i=JC.select(this),o=a[0].trace;i.selectAll(".point > path").each(function(s){if(!s.isBlank){var l=o[s.dir].marker;JC.select(this).call($2e.fill,l.color).call($2e.stroke,l.line.color).call(Z2e.dashLine,l.line.dash,l.line.width).style("opacity",o.selectedpoints&&!s.selected?$2t:1)}}),Q2t(i,o,e),i.selectAll(".lines").each(function(){var s=o.connector.line;Z2e.lineGroupStyle(JC.select(this).selectAll("path"),s.width,s.color,s.dash)})})}K2e.exports={style:ebt}});var nbe=ne((gsr,rbe)=>{"use strict";var tbt=ri().hoverLabelText,Q2e=_a().opacity,rbt=D_().hoverOnBars,ebe=Q_(),tbe={increasing:ebe.INCREASING.SYMBOL,decreasing:ebe.DECREASING.SYMBOL};rbe.exports=function(t,r,n,a,i){var o=rbt(t,r,n,a,i);if(!o)return;var s=o.cd,l=s[0].trace,u=l.orientation==="h",c=u?"x":"y",f=u?t.xa:t.ya;function h(y){return tbt(f,y,l[c+"hoverformat"])}var v=o.index,d=s[v],m=d.isSum?d.b+d.s:d.rawS;o.initial=d.b+d.s-m,o.delta=m,o.final=o.initial+o.delta;var x=h(Math.abs(o.delta));o.deltaLabel=m<0?"("+x+")":x,o.finalLabel=h(o.final),o.initialLabel=h(o.initial);var g=d.hi||l.hoverinfo,E=[];if(g&&g!=="none"&&g!=="skip"){var M=g==="all",w=g.split("+"),k=function(y){return M||w.indexOf(y)!==-1};d.isSum||(k("final")&&(u?!k("x"):!k("y"))&&E.push(o.finalLabel),k("delta")&&(m<0?E.push(o.deltaLabel+" "+tbe.decreasing):E.push(o.deltaLabel+" "+tbe.increasing)),k("initial")&&E.push("Initial: "+o.initialLabel))}return E.length&&(o.extraText=E.join("
")),o.color=nbt(l,d),[o]};function nbt(e,t){var r=e[t.dir].marker,n=r.color,a=r.line.color,i=r.line.width;if(Q2e(n))return n;if(Q2e(a)&&i)return a}});var ibe=ne((msr,abe)=>{"use strict";abe.exports=function(t,r){return t.x="xVal"in r?r.xVal:r.x,t.y="yVal"in r?r.yVal:r.y,"initial"in r&&(t.initial=r.initial),"delta"in r&&(t.delta=r.delta),"final"in r&&(t.final=r.final),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var sbe=ne((ysr,obe)=>{"use strict";obe.exports={attributes:iN(),layoutAttributes:oN(),supplyDefaults:lN().supplyDefaults,crossTraceDefaults:lN().crossTraceDefaults,supplyLayoutDefaults:z2e(),calc:V2e(),crossTraceCalc:j2e(),plot:X2e(),style:J2e().style,hoverPoints:nbe(),eventData:ibe(),selectPoints:R_(),moduleType:"trace",name:"waterfall",basePlotModule:Ku(),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}});var ube=ne((xsr,lbe)=>{"use strict";lbe.exports=sbe()});var t3=ne((bsr,cbe)=>{"use strict";cbe.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(e){return e.slice(0,3)},suffix:["","",""]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(e){return e.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(e){return e.slice(0,4)},suffix:["","","",""]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(e){var t=e.slice(0,3);return t[1]=t[1]+"%",t[2]=t[2]+"%",t},suffix:["\xB0","%","%"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(e){var t=e.slice(0,4);return t[1]=t[1]+"%",t[2]=t[2]+"%",t},suffix:["\xB0","%","%",""]}}}});var fN={};E0(fN,{default:()=>ibt});var fbe,hbe,QC,dbe,vbe,pbe,gbe,mbe,abt,ibt,hN=lo(()=>{"use strict";fbe=yp(ci()),hbe=yp(os()),QC=yp(rs()),dbe=yp(Tu()),vbe=yp(t3()),pbe=["rgb","rgba","rgba256","hsl","hsla"],gbe=[],mbe=[];for(let e of pbe){let t=vbe.colormodel[e];gbe.push(`For the \`${e}\` colormodel, it is [${(t.zminDflt||t.min).join(", ")}].`),mbe.push(`For the \`${e}\` colormodel, it is [${(t.zmaxDflt||t.max).join(", ")}].`)}abt={source:{valType:"string",editType:"calc",description:["Specifies the data URI of the image to be visualized.",'The URI consists of "data:image/[][;base64\\\\],"'].join(" ")},z:{valType:"data_array",editType:"calc",description:["A 2-dimensional array in which each element is an array of 3 or 4 numbers representing a color."].join(" ")},colormodel:{valType:"enumerated",values:pbe,editType:"calc",description:["Color model used to map the numerical color components described in `z` into colors.","If `source` is specified, this attribute will be set to `rgba256`","otherwise it defaults to `rgb`."].join(" ")},zsmooth:{valType:"enumerated",values:["fast",!1],dflt:!1,editType:"plot",description:["Picks a smoothing algorithm used to smooth `z` data.","This only applies for image traces that use the `source` attribute."].join(" ")},zmin:{valType:"info_array",items:[{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"}],editType:"calc",description:["Array defining the lower bound for each color component.","Note that the default value will depend on the colormodel.",gbe.join(" ")].join(" ")},zmax:{valType:"info_array",items:[{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"}],editType:"calc",description:["Array defining the higher bound for each color component.","Note that the default value will depend on the colormodel.",mbe.join(" ")].join(" ")},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",description:["Set the image's x position. The left edge of the image","(or the right edge if the x axis is reversed or dx is negative)","will be found at xmin=x0-dx/2"].join(" ")},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",description:["Set the image's y position. The top edge of the image","(or the bottom edge if the y axis is NOT reversed or if dy is negative)","will be found at ymin=y0-dy/2. By default when an image trace is","included, the y axis will be reversed so that the image is right-side-up,","but you can disable this by setting yaxis.autorange=true or by providing","an explicit y axis range."].join(" ")},dx:{valType:"number",dflt:1,editType:"calc",description:"Set the pixel's horizontal size."},dy:{valType:"number",dflt:1,editType:"calc",description:"Set the pixel's vertical size"},text:{valType:"data_array",editType:"plot",description:"Sets the text elements associated with each z value."},hovertext:{valType:"data_array",editType:"plot",description:"Same as `text`."},hoverinfo:(0,fbe.extendFlat)({},hbe.default.hoverinfo,{flags:["x","y","z","color","name","text"],dflt:"x+y+z+text+name"}),hovertemplate:(0,QC.hovertemplateAttrs)({},{keys:["z","color","colormodel"]}),hovertemplatefallback:(0,QC.templatefallbackAttrs)(),zorder:dbe.zorder},ibt=abt});var bbe=ne((_sr,xbe)=>{"use strict";var obt=Zt(),sbt=(hN(),vl(fN)).default,ybe=t3(),lbt=z1().IMAGE_URL_PREFIX;xbe.exports=function(t,r){function n(o,s){return obt.coerce(t,r,sbt,o,s)}n("source"),r.source&&!r.source.match(lbt)&&delete r.source,r._hasSource=!!r.source;var a=n("z");if(r._hasZ=!(a===void 0||!a.length||!a[0]||!a[0].length),!r._hasZ&&!r._hasSource){r.visible=!1;return}n("x0"),n("y0"),n("dx"),n("dy");var i;r._hasZ?(n("colormodel","rgb"),i=ybe.colormodel[r.colormodel],n("zmin",i.zminDflt||i.min),n("zmax",i.zmaxDflt||i.max)):r._hasSource&&(r.colormodel="rgba256",i=ybe.colormodel[r.colormodel],r.zmin=i.zminDflt,r.zmax=i.zmaxDflt),n("zsmooth"),n("text"),n("hovertext"),n("hovertemplate"),n("hovertemplatefallback"),r._length=null,n("zorder")}});var Y1=ne((wsr,dN)=>{typeof Object.create=="function"?dN.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:dN.exports=function(t,r){if(r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t}}});var vN=ne((Tsr,_be)=>{_be.exports=Vy().EventEmitter});var Abe=ne(e8=>{"use strict";e8.byteLength=cbt;e8.toByteArray=hbt;e8.fromByteArray=pbt;var Zp=[],c0=[],ubt=typeof Uint8Array!="undefined"?Uint8Array:Array,pN="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Ox=0,wbe=pN.length;Ox0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function cbt(e){var t=Tbe(e),r=t[0],n=t[1];return(r+n)*3/4-n}function fbt(e,t,r){return(t+r)*3/4-r}function hbt(e){var t,r=Tbe(e),n=r[0],a=r[1],i=new ubt(fbt(e,n,a)),o=0,s=a>0?n-4:n,l;for(l=0;l>16&255,i[o++]=t>>8&255,i[o++]=t&255;return a===2&&(t=c0[e.charCodeAt(l)]<<2|c0[e.charCodeAt(l+1)]>>4,i[o++]=t&255),a===1&&(t=c0[e.charCodeAt(l)]<<10|c0[e.charCodeAt(l+1)]<<4|c0[e.charCodeAt(l+2)]>>2,i[o++]=t>>8&255,i[o++]=t&255),i}function dbt(e){return Zp[e>>18&63]+Zp[e>>12&63]+Zp[e>>6&63]+Zp[e&63]}function vbt(e,t,r){for(var n,a=[],i=t;is?s:o+i));return n===1?(t=e[r-1],a.push(Zp[t>>2]+Zp[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],a.push(Zp[t>>10]+Zp[t>>4&63]+Zp[t<<2&63]+"=")),a.join("")}});var Mbe=ne(gN=>{gN.read=function(e,t,r,n,a){var i,o,s=a*8-n-1,l=(1<>1,c=-7,f=r?a-1:0,h=r?-1:1,v=e[t+f];for(f+=h,i=v&(1<<-c)-1,v>>=-c,c+=s;c>0;i=i*256+e[t+f],f+=h,c-=8);for(o=i&(1<<-c)-1,i>>=-c,c+=n;c>0;o=o*256+e[t+f],f+=h,c-=8);if(i===0)i=1-u;else{if(i===l)return o?NaN:(v?-1:1)*(1/0);o=o+Math.pow(2,n),i=i-u}return(v?-1:1)*o*Math.pow(2,i-n)};gN.write=function(e,t,r,n,a,i){var o,s,l,u=i*8-a-1,c=(1<>1,h=a===23?Math.pow(2,-24)-Math.pow(2,-77):0,v=n?0:i-1,d=n?1:-1,m=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=c):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),o+f>=1?t+=h/l:t+=h*Math.pow(2,1-f),t*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(t*l-1)*Math.pow(2,a),o=o+f):(s=t*Math.pow(2,f-1)*Math.pow(2,a),o=0));a>=8;e[r+v]=s&255,v+=d,s/=256,a-=8);for(o=o<0;e[r+v]=o&255,v+=d,o/=256,u-=8);e[r+v-d]|=m*128}});var Ux=ne(i3=>{"use strict";var mN=Abe(),n3=Mbe(),Sbe=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;i3.Buffer=Jn;i3.SlowBuffer=_bt;i3.INSPECT_MAX_BYTES=50;var t8=2147483647;i3.kMaxLength=t8;Jn.TYPED_ARRAY_SUPPORT=gbt();!Jn.TYPED_ARRAY_SUPPORT&&typeof console!="undefined"&&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 gbt(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch(e){return!1}}Object.defineProperty(Jn.prototype,"parent",{enumerable:!0,get:function(){if(Jn.isBuffer(this))return this.buffer}});Object.defineProperty(Jn.prototype,"offset",{enumerable:!0,get:function(){if(Jn.isBuffer(this))return this.byteOffset}});function X1(e){if(e>t8)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,Jn.prototype),t}function Jn(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return _N(e)}return Lbe(e,t,r)}Jn.poolSize=8192;function Lbe(e,t,r){if(typeof e=="string")return ybt(e,t);if(ArrayBuffer.isView(e))return xbt(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if($p(e,ArrayBuffer)||e&&$p(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer!="undefined"&&($p(e,SharedArrayBuffer)||e&&$p(e.buffer,SharedArrayBuffer)))return xN(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return Jn.from(n,t,r);let a=bbt(e);if(a)return a;if(typeof Symbol!="undefined"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return Jn.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}Jn.from=function(e,t,r){return Lbe(e,t,r)};Object.setPrototypeOf(Jn.prototype,Uint8Array.prototype);Object.setPrototypeOf(Jn,Uint8Array);function Fbe(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function mbt(e,t,r){return Fbe(e),e<=0?X1(e):t!==void 0?typeof r=="string"?X1(e).fill(t,r):X1(e).fill(t):X1(e)}Jn.alloc=function(e,t,r){return mbt(e,t,r)};function _N(e){return Fbe(e),X1(e<0?0:wN(e)|0)}Jn.allocUnsafe=function(e){return _N(e)};Jn.allocUnsafeSlow=function(e){return _N(e)};function ybt(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!Jn.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=Pbe(e,t)|0,n=X1(r),a=n.write(e,t);return a!==r&&(n=n.slice(0,a)),n}function yN(e){let t=e.length<0?0:wN(e.length)|0,r=X1(t);for(let n=0;n=t8)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+t8.toString(16)+" bytes");return e|0}function _bt(e){return+e!=e&&(e=0),Jn.alloc(+e)}Jn.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==Jn.prototype};Jn.compare=function(t,r){if($p(t,Uint8Array)&&(t=Jn.from(t,t.offset,t.byteLength)),$p(r,Uint8Array)&&(r=Jn.from(r,r.offset,r.byteLength)),!Jn.isBuffer(t)||!Jn.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;let n=t.length,a=r.length;for(let i=0,o=Math.min(n,a);ia.length?(Jn.isBuffer(o)||(o=Jn.from(o)),o.copy(a,i)):Uint8Array.prototype.set.call(a,o,i);else if(Jn.isBuffer(o))o.copy(a,i);else throw new TypeError('"list" argument must be an Array of Buffers');i+=o.length}return a};function Pbe(e,t){if(Jn.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||$p(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let a=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return bN(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return Ube(e).length;default:if(a)return n?-1:bN(e).length;t=(""+t).toLowerCase(),a=!0}}Jn.byteLength=Pbe;function wbt(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return Pbt(this,t,r);case"utf8":case"utf-8":return Rbe(this,t,r);case"ascii":return Lbt(this,t,r);case"latin1":case"binary":return Fbt(this,t,r);case"base64":return kbt(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Dbt(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}Jn.prototype._isBuffer=!0;function Nx(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}Jn.prototype.swap16=function(){let t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;rr&&(t+=" ... "),""};Sbe&&(Jn.prototype[Sbe]=Jn.prototype.inspect);Jn.prototype.compare=function(t,r,n,a,i){if($p(t,Uint8Array)&&(t=Jn.from(t,t.offset,t.byteLength)),!Jn.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),a===void 0&&(a=0),i===void 0&&(i=this.length),r<0||n>t.length||a<0||i>this.length)throw new RangeError("out of range index");if(a>=i&&r>=n)return 0;if(a>=i)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,a>>>=0,i>>>=0,this===t)return 0;let o=i-a,s=n-r,l=Math.min(o,s),u=this.slice(a,i),c=t.slice(r,n);for(let f=0;f2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,AN(r)&&(r=a?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(a)return-1;r=e.length-1}else if(r<0)if(a)r=0;else return-1;if(typeof t=="string"&&(t=Jn.from(t,n)),Jn.isBuffer(t))return t.length===0?-1:Ebe(e,t,r,n,a);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?a?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):Ebe(e,[t],r,n,a);throw new TypeError("val must be string, number or Buffer")}function Ebe(e,t,r,n,a){let i=1,o=e.length,s=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;i=2,o/=2,s/=2,r/=2}function l(c,f){return i===1?c[f]:c.readUInt16BE(f*i)}let u;if(a){let c=-1;for(u=r;uo&&(r=o-s),u=r;u>=0;u--){let c=!0;for(let f=0;fa&&(n=a)):n=a;let i=t.length;n>i/2&&(n=i/2);let o;for(o=0;o>>0,isFinite(n)?(n=n>>>0,a===void 0&&(a="utf8")):(a=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let i=this.length-r;if((n===void 0||n>i)&&(n=i),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");a||(a="utf8");let o=!1;for(;;)switch(a){case"hex":return Tbt(this,t,r,n);case"utf8":case"utf-8":return Abt(this,t,r,n);case"ascii":case"latin1":case"binary":return Mbt(this,t,r,n);case"base64":return Sbt(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ebt(this,t,r,n);default:if(o)throw new TypeError("Unknown encoding: "+a);a=(""+a).toLowerCase(),o=!0}};Jn.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function kbt(e,t,r){return t===0&&r===e.length?mN.fromByteArray(e):mN.fromByteArray(e.slice(t,r))}function Rbe(e,t,r){r=Math.min(e.length,r);let n=[],a=t;for(;a239?4:i>223?3:i>191?2:1;if(a+s<=r){let l,u,c,f;switch(s){case 1:i<128&&(o=i);break;case 2:l=e[a+1],(l&192)===128&&(f=(i&31)<<6|l&63,f>127&&(o=f));break;case 3:l=e[a+1],u=e[a+2],(l&192)===128&&(u&192)===128&&(f=(i&15)<<12|(l&63)<<6|u&63,f>2047&&(f<55296||f>57343)&&(o=f));break;case 4:l=e[a+1],u=e[a+2],c=e[a+3],(l&192)===128&&(u&192)===128&&(c&192)===128&&(f=(i&15)<<18|(l&63)<<12|(u&63)<<6|c&63,f>65535&&f<1114112&&(o=f))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),a+=s}return Cbt(n)}var kbe=4096;function Cbt(e){let t=e.length;if(t<=kbe)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn)&&(r=n);let a="";for(let i=t;in&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),rr)throw new RangeError("Trying to access beyond buffer length")}Jn.prototype.readUintLE=Jn.prototype.readUIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||wh(t,r,this.length);let a=this[t],i=1,o=0;for(;++o>>0,r=r>>>0,n||wh(t,r,this.length);let a=this[t+--r],i=1;for(;r>0&&(i*=256);)a+=this[t+--r]*i;return a};Jn.prototype.readUint8=Jn.prototype.readUInt8=function(t,r){return t=t>>>0,r||wh(t,1,this.length),this[t]};Jn.prototype.readUint16LE=Jn.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||wh(t,2,this.length),this[t]|this[t+1]<<8};Jn.prototype.readUint16BE=Jn.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||wh(t,2,this.length),this[t]<<8|this[t+1]};Jn.prototype.readUint32LE=Jn.prototype.readUInt32LE=function(t,r){return t=t>>>0,r||wh(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};Jn.prototype.readUint32BE=Jn.prototype.readUInt32BE=function(t,r){return t=t>>>0,r||wh(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};Jn.prototype.readBigUInt64LE=Tm(function(t){t=t>>>0,a3(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&CT(t,this.length-8);let a=r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,i=this[++t]+this[++t]*2**8+this[++t]*2**16+n*2**24;return BigInt(a)+(BigInt(i)<>>0,a3(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&CT(t,this.length-8);let a=r*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],i=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n;return(BigInt(a)<>>0,r=r>>>0,n||wh(t,r,this.length);let a=this[t],i=1,o=0;for(;++o=i&&(a-=Math.pow(2,8*r)),a};Jn.prototype.readIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||wh(t,r,this.length);let a=r,i=1,o=this[t+--a];for(;a>0&&(i*=256);)o+=this[t+--a]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*r)),o};Jn.prototype.readInt8=function(t,r){return t=t>>>0,r||wh(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};Jn.prototype.readInt16LE=function(t,r){t=t>>>0,r||wh(t,2,this.length);let n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n};Jn.prototype.readInt16BE=function(t,r){t=t>>>0,r||wh(t,2,this.length);let n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n};Jn.prototype.readInt32LE=function(t,r){return t=t>>>0,r||wh(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};Jn.prototype.readInt32BE=function(t,r){return t=t>>>0,r||wh(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};Jn.prototype.readBigInt64LE=Tm(function(t){t=t>>>0,a3(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&CT(t,this.length-8);let a=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(n<<24);return(BigInt(a)<>>0,a3(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&CT(t,this.length-8);let a=(r<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return(BigInt(a)<>>0,r||wh(t,4,this.length),n3.read(this,t,!0,23,4)};Jn.prototype.readFloatBE=function(t,r){return t=t>>>0,r||wh(t,4,this.length),n3.read(this,t,!1,23,4)};Jn.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||wh(t,8,this.length),n3.read(this,t,!0,52,8)};Jn.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||wh(t,8,this.length),n3.read(this,t,!1,52,8)};function Kd(e,t,r,n,a,i){if(!Jn.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>a||te.length)throw new RangeError("Index out of range")}Jn.prototype.writeUintLE=Jn.prototype.writeUIntLE=function(t,r,n,a){if(t=+t,r=r>>>0,n=n>>>0,!a){let s=Math.pow(2,8*n)-1;Kd(this,t,r,n,s,0)}let i=1,o=0;for(this[r]=t&255;++o>>0,n=n>>>0,!a){let s=Math.pow(2,8*n)-1;Kd(this,t,r,n,s,0)}let i=n-1,o=1;for(this[r+i]=t&255;--i>=0&&(o*=256);)this[r+i]=t/o&255;return r+n};Jn.prototype.writeUint8=Jn.prototype.writeUInt8=function(t,r,n){return t=+t,r=r>>>0,n||Kd(this,t,r,1,255,0),this[r]=t&255,r+1};Jn.prototype.writeUint16LE=Jn.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Kd(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2};Jn.prototype.writeUint16BE=Jn.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Kd(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2};Jn.prototype.writeUint32LE=Jn.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Kd(this,t,r,4,4294967295,0),this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255,r+4};Jn.prototype.writeUint32BE=Jn.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Kd(this,t,r,4,4294967295,0),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};function Ibe(e,t,r,n,a){Nbe(t,n,a,e,r,7);let i=Number(t&BigInt(4294967295));e[r++]=i,i=i>>8,e[r++]=i,i=i>>8,e[r++]=i,i=i>>8,e[r++]=i;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,r}function zbe(e,t,r,n,a){Nbe(t,n,a,e,r,7);let i=Number(t&BigInt(4294967295));e[r+7]=i,i=i>>8,e[r+6]=i,i=i>>8,e[r+5]=i,i=i>>8,e[r+4]=i;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=o,o=o>>8,e[r+2]=o,o=o>>8,e[r+1]=o,o=o>>8,e[r]=o,r+8}Jn.prototype.writeBigUInt64LE=Tm(function(t,r=0){return Ibe(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});Jn.prototype.writeBigUInt64BE=Tm(function(t,r=0){return zbe(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});Jn.prototype.writeIntLE=function(t,r,n,a){if(t=+t,r=r>>>0,!a){let l=Math.pow(2,8*n-1);Kd(this,t,r,n,l-1,-l)}let i=0,o=1,s=0;for(this[r]=t&255;++i>0)-s&255;return r+n};Jn.prototype.writeIntBE=function(t,r,n,a){if(t=+t,r=r>>>0,!a){let l=Math.pow(2,8*n-1);Kd(this,t,r,n,l-1,-l)}let i=n-1,o=1,s=0;for(this[r+i]=t&255;--i>=0&&(o*=256);)t<0&&s===0&&this[r+i+1]!==0&&(s=1),this[r+i]=(t/o>>0)-s&255;return r+n};Jn.prototype.writeInt8=function(t,r,n){return t=+t,r=r>>>0,n||Kd(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1};Jn.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Kd(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2};Jn.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Kd(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2};Jn.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Kd(this,t,r,4,2147483647,-2147483648),this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24,r+4};Jn.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Kd(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};Jn.prototype.writeBigInt64LE=Tm(function(t,r=0){return Ibe(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});Jn.prototype.writeBigInt64BE=Tm(function(t,r=0){return zbe(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function qbe(e,t,r,n,a,i){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Bbe(e,t,r,n,a){return t=+t,r=r>>>0,a||qbe(e,t,r,4,34028234663852886e22,-34028234663852886e22),n3.write(e,t,r,n,23,4),r+4}Jn.prototype.writeFloatLE=function(t,r,n){return Bbe(this,t,r,!0,n)};Jn.prototype.writeFloatBE=function(t,r,n){return Bbe(this,t,r,!1,n)};function Obe(e,t,r,n,a){return t=+t,r=r>>>0,a||qbe(e,t,r,8,17976931348623157e292,-17976931348623157e292),n3.write(e,t,r,n,52,8),r+8}Jn.prototype.writeDoubleLE=function(t,r,n){return Obe(this,t,r,!0,n)};Jn.prototype.writeDoubleBE=function(t,r,n){return Obe(this,t,r,!1,n)};Jn.prototype.copy=function(t,r,n,a){if(!Jn.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),!a&&a!==0&&(a=this.length),r>=t.length&&(r=t.length),r||(r=0),a>0&&a=this.length)throw new RangeError("Index out of range");if(a<0)throw new RangeError("sourceEnd out of bounds");a>this.length&&(a=this.length),t.length-r>>0,n=n===void 0?this.length:n>>>0,t||(t=0);let i;if(typeof t=="number")for(i=r;i2**32?a=Cbe(String(r)):typeof r=="bigint"&&(a=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(a=Cbe(a)),a+="n"),n+=` It must be ${t}. Received ${a}`,n},RangeError);function Cbe(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function Rbt(e,t,r){a3(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&CT(t,e.length-(r+1))}function Nbe(e,t,r,n,a,i){if(e>r||e3?t===0||t===BigInt(0)?s=`>= 0${o} and < 2${o} ** ${(i+1)*8}${o}`:s=`>= -(2${o} ** ${(i+1)*8-1}${o}) and < 2 ** ${(i+1)*8-1}${o}`:s=`>= ${t}${o} and <= ${r}${o}`,new r3.ERR_OUT_OF_RANGE("value",s,e)}Rbt(n,a,i)}function a3(e,t){if(typeof e!="number")throw new r3.ERR_INVALID_ARG_TYPE(t,"number",e)}function CT(e,t,r){throw Math.floor(e)!==e?(a3(e,r),new r3.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new r3.ERR_BUFFER_OUT_OF_BOUNDS:new r3.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var Ibt=/[^+/0-9A-Za-z-_]/g;function zbt(e){if(e=e.split("=")[0],e=e.trim().replace(Ibt,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function bN(e,t){t=t||1/0;let r,n=e.length,a=null,i=[];for(let o=0;o55295&&r<57344){if(!a){if(r>56319){(t-=3)>-1&&i.push(239,191,189);continue}else if(o+1===n){(t-=3)>-1&&i.push(239,191,189);continue}a=r;continue}if(r<56320){(t-=3)>-1&&i.push(239,191,189),a=r;continue}r=(a-55296<<10|r-56320)+65536}else a&&(t-=3)>-1&&i.push(239,191,189);if(a=null,r<128){if((t-=1)<0)break;i.push(r)}else if(r<2048){if((t-=2)<0)break;i.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;i.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return i}function qbt(e){let t=[];for(let r=0;r>8,a=r%256,i.push(a),i.push(n);return i}function Ube(e){return mN.toByteArray(zbt(e))}function r8(e,t,r,n){let a;for(a=0;a=t.length||a>=e.length);++a)t[a+r]=e[a];return a}function $p(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function AN(e){return e!==e}var Obt=(function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let a=0;a<16;++a)t[n+a]=e[r]+e[a]}return t})();function Tm(e){return typeof BigInt=="undefined"?Nbt:e}function Nbt(){throw new Error("BigInt not supported")}});var n8=ne((ksr,Vbe)=>{"use strict";Vbe.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},r=Symbol("test"),n=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var a=42;t[r]=a;for(var i in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var o=Object.getOwnPropertySymbols(t);if(o.length!==1||o[0]!==r||!Object.prototype.propertyIsEnumerable.call(t,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var s=Object.getOwnPropertyDescriptor(t,r);if(s.value!==a||s.enumerable!==!0)return!1}return!0}});var LT=ne((Csr,Gbe)=>{"use strict";var Ubt=n8();Gbe.exports=function(){return Ubt()&&!!Symbol.toStringTag}});var MN=ne((Lsr,Hbe)=>{"use strict";Hbe.exports=Object});var Wbe=ne((Fsr,jbe)=>{"use strict";jbe.exports=Error});var Xbe=ne((Psr,Ybe)=>{"use strict";Ybe.exports=EvalError});var $be=ne((Dsr,Zbe)=>{"use strict";Zbe.exports=RangeError});var Jbe=ne((Rsr,Kbe)=>{"use strict";Kbe.exports=ReferenceError});var SN=ne((Isr,Qbe)=>{"use strict";Qbe.exports=SyntaxError});var o3=ne((zsr,e_e)=>{"use strict";e_e.exports=TypeError});var r_e=ne((qsr,t_e)=>{"use strict";t_e.exports=URIError});var a_e=ne((Bsr,n_e)=>{"use strict";n_e.exports=Math.abs});var o_e=ne((Osr,i_e)=>{"use strict";i_e.exports=Math.floor});var l_e=ne((Nsr,s_e)=>{"use strict";s_e.exports=Math.max});var c_e=ne((Usr,u_e)=>{"use strict";u_e.exports=Math.min});var h_e=ne((Vsr,f_e)=>{"use strict";f_e.exports=Math.pow});var v_e=ne((Gsr,d_e)=>{"use strict";d_e.exports=Math.round});var g_e=ne((Hsr,p_e)=>{"use strict";p_e.exports=Number.isNaN||function(t){return t!==t}});var y_e=ne((jsr,m_e)=>{"use strict";var Vbt=g_e();m_e.exports=function(t){return Vbt(t)||t===0?t:t<0?-1:1}});var b_e=ne((Wsr,x_e)=>{"use strict";x_e.exports=Object.getOwnPropertyDescriptor});var Vx=ne((Ysr,__e)=>{"use strict";var a8=b_e();if(a8)try{a8([],"length")}catch(e){a8=null}__e.exports=a8});var FT=ne((Xsr,w_e)=>{"use strict";var i8=Object.defineProperty||!1;if(i8)try{i8({},"a",{value:1})}catch(e){i8=!1}w_e.exports=i8});var M_e=ne((Zsr,A_e)=>{"use strict";var T_e=typeof Symbol!="undefined"&&Symbol,Gbt=n8();A_e.exports=function(){return typeof T_e!="function"||typeof Symbol!="function"||typeof T_e("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:Gbt()}});var EN=ne(($sr,S_e)=>{"use strict";S_e.exports=typeof Reflect!="undefined"&&Reflect.getPrototypeOf||null});var kN=ne((Ksr,E_e)=>{"use strict";var Hbt=MN();E_e.exports=Hbt.getPrototypeOf||null});var L_e=ne((Jsr,C_e)=>{"use strict";var jbt="Function.prototype.bind called on incompatible ",Wbt=Object.prototype.toString,Ybt=Math.max,Xbt="[object Function]",k_e=function(t,r){for(var n=[],a=0;a{"use strict";var Kbt=L_e();F_e.exports=Function.prototype.bind||Kbt});var o8=ne((elr,P_e)=>{"use strict";P_e.exports=Function.prototype.call});var CN=ne((tlr,D_e)=>{"use strict";D_e.exports=Function.prototype.apply});var I_e=ne((rlr,R_e)=>{"use strict";R_e.exports=typeof Reflect!="undefined"&&Reflect&&Reflect.apply});var q_e=ne((nlr,z_e)=>{"use strict";var Jbt=s3(),Qbt=CN(),e_t=o8(),t_t=I_e();z_e.exports=t_t||Jbt.call(e_t,Qbt)});var O_e=ne((alr,B_e)=>{"use strict";var r_t=s3(),n_t=o3(),a_t=o8(),i_t=q_e();B_e.exports=function(t){if(t.length<1||typeof t[0]!="function")throw new n_t("a function is required");return i_t(r_t,a_t,t)}});var j_e=ne((ilr,H_e)=>{"use strict";var o_t=O_e(),N_e=Vx(),V_e;try{V_e=[].__proto__===Array.prototype}catch(e){if(!e||typeof e!="object"||!("code"in e)||e.code!=="ERR_PROTO_ACCESS")throw e}var LN=!!V_e&&N_e&&N_e(Object.prototype,"__proto__"),G_e=Object,U_e=G_e.getPrototypeOf;H_e.exports=LN&&typeof LN.get=="function"?o_t([LN.get]):typeof U_e=="function"?function(t){return U_e(t==null?t:G_e(t))}:!1});var $_e=ne((olr,Z_e)=>{"use strict";var W_e=EN(),Y_e=kN(),X_e=j_e();Z_e.exports=W_e?function(t){return W_e(t)}:Y_e?function(t){if(!t||typeof t!="object"&&typeof t!="function")throw new TypeError("getProto: not an object");return Y_e(t)}:X_e?function(t){return X_e(t)}:null});var J_e=ne((slr,K_e)=>{"use strict";var s_t=Function.prototype.call,l_t=Object.prototype.hasOwnProperty,u_t=s3();K_e.exports=u_t.call(s_t,l_t)});var u8=ne((llr,a3e)=>{"use strict";var ps,c_t=MN(),f_t=Wbe(),h_t=Xbe(),d_t=$be(),v_t=Jbe(),f3=SN(),c3=o3(),p_t=r_e(),g_t=a_e(),m_t=o_e(),y_t=l_e(),x_t=c_e(),b_t=h_e(),__t=v_e(),w_t=y_e(),r3e=Function,FN=function(e){try{return r3e('"use strict"; return ('+e+").constructor;")()}catch(t){}},PT=Vx(),T_t=FT(),PN=function(){throw new c3},A_t=PT?(function(){try{return arguments.callee,PN}catch(e){try{return PT(arguments,"callee").get}catch(t){return PN}}})():PN,l3=M_e()(),Th=$_e(),M_t=kN(),S_t=EN(),n3e=CN(),DT=o8(),u3={},E_t=typeof Uint8Array=="undefined"||!Th?ps:Th(Uint8Array),Gx={__proto__:null,"%AggregateError%":typeof AggregateError=="undefined"?ps:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer=="undefined"?ps:ArrayBuffer,"%ArrayIteratorPrototype%":l3&&Th?Th([][Symbol.iterator]()):ps,"%AsyncFromSyncIteratorPrototype%":ps,"%AsyncFunction%":u3,"%AsyncGenerator%":u3,"%AsyncGeneratorFunction%":u3,"%AsyncIteratorPrototype%":u3,"%Atomics%":typeof Atomics=="undefined"?ps:Atomics,"%BigInt%":typeof BigInt=="undefined"?ps:BigInt,"%BigInt64Array%":typeof BigInt64Array=="undefined"?ps:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array=="undefined"?ps:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView=="undefined"?ps:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":f_t,"%eval%":eval,"%EvalError%":h_t,"%Float16Array%":typeof Float16Array=="undefined"?ps:Float16Array,"%Float32Array%":typeof Float32Array=="undefined"?ps:Float32Array,"%Float64Array%":typeof Float64Array=="undefined"?ps:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry=="undefined"?ps:FinalizationRegistry,"%Function%":r3e,"%GeneratorFunction%":u3,"%Int8Array%":typeof Int8Array=="undefined"?ps:Int8Array,"%Int16Array%":typeof Int16Array=="undefined"?ps:Int16Array,"%Int32Array%":typeof Int32Array=="undefined"?ps:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":l3&&Th?Th(Th([][Symbol.iterator]())):ps,"%JSON%":typeof JSON=="object"?JSON:ps,"%Map%":typeof Map=="undefined"?ps:Map,"%MapIteratorPrototype%":typeof Map=="undefined"||!l3||!Th?ps:Th(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":c_t,"%Object.getOwnPropertyDescriptor%":PT,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise=="undefined"?ps:Promise,"%Proxy%":typeof Proxy=="undefined"?ps:Proxy,"%RangeError%":d_t,"%ReferenceError%":v_t,"%Reflect%":typeof Reflect=="undefined"?ps:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set=="undefined"?ps:Set,"%SetIteratorPrototype%":typeof Set=="undefined"||!l3||!Th?ps:Th(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer=="undefined"?ps:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":l3&&Th?Th(""[Symbol.iterator]()):ps,"%Symbol%":l3?Symbol:ps,"%SyntaxError%":f3,"%ThrowTypeError%":A_t,"%TypedArray%":E_t,"%TypeError%":c3,"%Uint8Array%":typeof Uint8Array=="undefined"?ps:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray=="undefined"?ps:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array=="undefined"?ps:Uint16Array,"%Uint32Array%":typeof Uint32Array=="undefined"?ps:Uint32Array,"%URIError%":p_t,"%WeakMap%":typeof WeakMap=="undefined"?ps:WeakMap,"%WeakRef%":typeof WeakRef=="undefined"?ps:WeakRef,"%WeakSet%":typeof WeakSet=="undefined"?ps:WeakSet,"%Function.prototype.call%":DT,"%Function.prototype.apply%":n3e,"%Object.defineProperty%":T_t,"%Object.getPrototypeOf%":M_t,"%Math.abs%":g_t,"%Math.floor%":m_t,"%Math.max%":y_t,"%Math.min%":x_t,"%Math.pow%":b_t,"%Math.round%":__t,"%Math.sign%":w_t,"%Reflect.getPrototypeOf%":S_t};if(Th)try{null.error}catch(e){Q_e=Th(Th(e)),Gx["%Error.prototype%"]=Q_e}var Q_e,k_t=function e(t){var r;if(t==="%AsyncFunction%")r=FN("async function () {}");else if(t==="%GeneratorFunction%")r=FN("function* () {}");else if(t==="%AsyncGeneratorFunction%")r=FN("async function* () {}");else if(t==="%AsyncGenerator%"){var n=e("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if(t==="%AsyncIteratorPrototype%"){var a=e("%AsyncGenerator%");a&&Th&&(r=Th(a.prototype))}return Gx[t]=r,r},e3e={__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"]},RT=s3(),s8=J_e(),C_t=RT.call(DT,Array.prototype.concat),L_t=RT.call(n3e,Array.prototype.splice),t3e=RT.call(DT,String.prototype.replace),l8=RT.call(DT,String.prototype.slice),F_t=RT.call(DT,RegExp.prototype.exec),P_t=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,D_t=/\\(\\)?/g,R_t=function(t){var r=l8(t,0,1),n=l8(t,-1);if(r==="%"&&n!=="%")throw new f3("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&r!=="%")throw new f3("invalid intrinsic syntax, expected opening `%`");var a=[];return t3e(t,P_t,function(i,o,s,l){a[a.length]=s?t3e(l,D_t,"$1"):o||i}),a},I_t=function(t,r){var n=t,a;if(s8(e3e,n)&&(a=e3e[n],n="%"+a[0]+"%"),s8(Gx,n)){var i=Gx[n];if(i===u3&&(i=k_t(n)),typeof i=="undefined"&&!r)throw new c3("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:a,name:n,value:i}}throw new f3("intrinsic "+t+" does not exist!")};a3e.exports=function(t,r){if(typeof t!="string"||t.length===0)throw new c3("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof r!="boolean")throw new c3('"allowMissing" argument must be a boolean');if(F_t(/^%?[^%]*%?$/,t)===null)throw new f3("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=R_t(t),a=n.length>0?n[0]:"",i=I_t("%"+a+"%",r),o=i.name,s=i.value,l=!1,u=i.alias;u&&(a=u[0],L_t(n,C_t([0,1],u)));for(var c=1,f=!0;c=n.length){var m=PT(s,h);f=!!m,f&&"get"in m&&!("originalValue"in m.get)?s=m.get:s=s[h]}else f=s8(s,h),s=s[h];f&&!l&&(Gx[o]=s)}}return s}});var l3e=ne((ulr,s3e)=>{"use strict";var i3e=FT(),z_t=SN(),h3=o3(),o3e=Vx();s3e.exports=function(t,r,n){if(!t||typeof t!="object"&&typeof t!="function")throw new h3("`obj` must be an object or a function`");if(typeof r!="string"&&typeof r!="symbol")throw new h3("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new h3("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new h3("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new h3("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new h3("`loose`, if provided, must be a boolean");var a=arguments.length>3?arguments[3]:null,i=arguments.length>4?arguments[4]:null,o=arguments.length>5?arguments[5]:null,s=arguments.length>6?arguments[6]:!1,l=!!o3e&&o3e(t,r);if(i3e)i3e(t,r,{configurable:o===null&&l?l.configurable:!o,enumerable:a===null&&l?l.enumerable:!a,value:n,writable:i===null&&l?l.writable:!i});else if(s||!a&&!i&&!o)t[r]=n;else throw new z_t("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")}});var RN=ne((clr,c3e)=>{"use strict";var DN=FT(),u3e=function(){return!!DN};u3e.hasArrayLengthDefineBug=function(){if(!DN)return null;try{return DN([],"length",{value:1}).length!==1}catch(t){return!0}};c3e.exports=u3e});var p3e=ne((flr,v3e)=>{"use strict";var q_t=u8(),f3e=l3e(),B_t=RN()(),h3e=Vx(),d3e=o3(),O_t=q_t("%Math.floor%");v3e.exports=function(t,r){if(typeof t!="function")throw new d3e("`fn` is not a function");if(typeof r!="number"||r<0||r>4294967295||O_t(r)!==r)throw new d3e("`length` must be a positive 32-bit integer");var n=arguments.length>2&&!!arguments[2],a=!0,i=!0;if("length"in t&&h3e){var o=h3e(t,"length");o&&!o.configurable&&(a=!1),o&&!o.writable&&(i=!1)}return(a||i||!n)&&(B_t?f3e(t,"length",r,!0,!0):f3e(t,"length",r)),t}});var IT=ne((hlr,c8)=>{"use strict";var IN=s3(),f8=u8(),N_t=p3e(),U_t=o3(),y3e=f8("%Function.prototype.apply%"),x3e=f8("%Function.prototype.call%"),b3e=f8("%Reflect.apply%",!0)||IN.call(x3e,y3e),g3e=FT(),V_t=f8("%Math.max%");c8.exports=function(t){if(typeof t!="function")throw new U_t("a function is required");var r=b3e(IN,x3e,arguments);return N_t(r,1+V_t(0,t.length-(arguments.length-1)),!0)};var m3e=function(){return b3e(IN,y3e,arguments)};g3e?g3e(c8.exports,"apply",{value:m3e}):c8.exports.apply=m3e});var d3=ne((dlr,T3e)=>{"use strict";var _3e=u8(),w3e=IT(),G_t=w3e(_3e("String.prototype.indexOf"));T3e.exports=function(t,r){var n=_3e(t,!!r);return typeof n=="function"&&G_t(t,".prototype.")>-1?w3e(n):n}});var S3e=ne((vlr,M3e)=>{"use strict";var H_t=LT()(),j_t=d3(),zN=j_t("Object.prototype.toString"),h8=function(t){return H_t&&t&&typeof t=="object"&&Symbol.toStringTag in t?!1:zN(t)==="[object Arguments]"},A3e=function(t){return h8(t)?!0:t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&zN(t)!=="[object Array]"&&zN(t.callee)==="[object Function]"},W_t=(function(){return h8(arguments)})();h8.isLegacyArguments=A3e;M3e.exports=W_t?h8:A3e});var C3e=ne((plr,k3e)=>{"use strict";var Y_t=Object.prototype.toString,X_t=Function.prototype.toString,Z_t=/^\s*(?:function)?\*/,E3e=LT()(),qN=Object.getPrototypeOf,$_t=function(){if(!E3e)return!1;try{return Function("return function*() {}")()}catch(e){}},BN;k3e.exports=function(t){if(typeof t!="function")return!1;if(Z_t.test(X_t.call(t)))return!0;if(!E3e){var r=Y_t.call(t);return r==="[object GeneratorFunction]"}if(!qN)return!1;if(typeof BN=="undefined"){var n=$_t();BN=n?qN(n):!1}return qN(t)===BN}});var D3e=ne((glr,P3e)=>{"use strict";var F3e=Function.prototype.toString,v3=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply,NN,d8;if(typeof v3=="function"&&typeof Object.defineProperty=="function")try{NN=Object.defineProperty({},"length",{get:function(){throw d8}}),d8={},v3(function(){throw 42},null,NN)}catch(e){e!==d8&&(v3=null)}else v3=null;var K_t=/^\s*class\b/,UN=function(t){try{var r=F3e.call(t);return K_t.test(r)}catch(n){return!1}},ON=function(t){try{return UN(t)?!1:(F3e.call(t),!0)}catch(r){return!1}},v8=Object.prototype.toString,J_t="[object Object]",Q_t="[object Function]",e3t="[object GeneratorFunction]",t3t="[object HTMLAllCollection]",r3t="[object HTML document.all class]",n3t="[object HTMLCollection]",a3t=typeof Symbol=="function"&&!!Symbol.toStringTag,i3t=!(0 in[,]),VN=function(){return!1};typeof document=="object"&&(L3e=document.all,v8.call(L3e)===v8.call(document.all)&&(VN=function(t){if((i3t||!t)&&(typeof t=="undefined"||typeof t=="object"))try{var r=v8.call(t);return(r===t3t||r===r3t||r===n3t||r===J_t)&&t("")==null}catch(n){}return!1}));var L3e;P3e.exports=v3?function(t){if(VN(t))return!0;if(!t||typeof t!="function"&&typeof t!="object")return!1;try{v3(t,null,NN)}catch(r){if(r!==d8)return!1}return!UN(t)&&ON(t)}:function(t){if(VN(t))return!0;if(!t||typeof t!="function"&&typeof t!="object")return!1;if(a3t)return ON(t);if(UN(t))return!1;var r=v8.call(t);return r!==Q_t&&r!==e3t&&!/^\[object HTML/.test(r)?!1:ON(t)}});var GN=ne((mlr,I3e)=>{"use strict";var o3t=D3e(),s3t=Object.prototype.toString,R3e=Object.prototype.hasOwnProperty,l3t=function(t,r,n){for(var a=0,i=t.length;a=3&&(a=n),s3t.call(t)==="[object Array]"?l3t(t,r,a):typeof t=="string"?u3t(t,r,a):c3t(t,r,a)};I3e.exports=f3t});var jN=ne((ylr,z3e)=>{"use strict";var HN=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],h3t=typeof globalThis=="undefined"?window:globalThis;z3e.exports=function(){for(var t=[],r=0;r{"use strict";var g8=GN(),d3t=jN(),q3e=IT(),XN=d3(),p8=Vx(),v3t=XN("Object.prototype.toString"),O3e=LT()(),B3e=typeof globalThis=="undefined"?window:globalThis,YN=d3t(),ZN=XN("String.prototype.slice"),WN=Object.getPrototypeOf,p3t=XN("Array.prototype.indexOf",!0)||function(t,r){for(var n=0;n-1?r:r!=="Object"?!1:m3t(t)}return p8?g3t(t):null}});var Y3e=ne((blr,W3e)=>{"use strict";var V3e=GN(),y3t=jN(),KN=d3(),x3t=KN("Object.prototype.toString"),G3e=LT()(),y8=Vx(),b3t=typeof globalThis=="undefined"?window:globalThis,H3e=y3t(),_3t=KN("Array.prototype.indexOf",!0)||function(t,r){for(var n=0;n-1}return y8?T3t(t):!1}});var eU=ne(gs=>{"use strict";var A3t=S3e(),M3t=C3e(),ep=U3e(),X3e=Y3e();function p3(e){return e.call.bind(e)}var Z3e=typeof BigInt!="undefined",$3e=typeof Symbol!="undefined",f0=p3(Object.prototype.toString),S3t=p3(Number.prototype.valueOf),E3t=p3(String.prototype.valueOf),k3t=p3(Boolean.prototype.valueOf);Z3e&&(K3e=p3(BigInt.prototype.valueOf));var K3e;$3e&&(J3e=p3(Symbol.prototype.valueOf));var J3e;function qT(e,t){if(typeof e!="object")return!1;try{return t(e),!0}catch(r){return!1}}gs.isArgumentsObject=A3t;gs.isGeneratorFunction=M3t;gs.isTypedArray=X3e;function C3t(e){return typeof Promise!="undefined"&&e instanceof Promise||e!==null&&typeof e=="object"&&typeof e.then=="function"&&typeof e.catch=="function"}gs.isPromise=C3t;function L3t(e){return typeof ArrayBuffer!="undefined"&&ArrayBuffer.isView?ArrayBuffer.isView(e):X3e(e)||ewe(e)}gs.isArrayBufferView=L3t;function F3t(e){return ep(e)==="Uint8Array"}gs.isUint8Array=F3t;function P3t(e){return ep(e)==="Uint8ClampedArray"}gs.isUint8ClampedArray=P3t;function D3t(e){return ep(e)==="Uint16Array"}gs.isUint16Array=D3t;function R3t(e){return ep(e)==="Uint32Array"}gs.isUint32Array=R3t;function I3t(e){return ep(e)==="Int8Array"}gs.isInt8Array=I3t;function z3t(e){return ep(e)==="Int16Array"}gs.isInt16Array=z3t;function q3t(e){return ep(e)==="Int32Array"}gs.isInt32Array=q3t;function B3t(e){return ep(e)==="Float32Array"}gs.isFloat32Array=B3t;function O3t(e){return ep(e)==="Float64Array"}gs.isFloat64Array=O3t;function N3t(e){return ep(e)==="BigInt64Array"}gs.isBigInt64Array=N3t;function U3t(e){return ep(e)==="BigUint64Array"}gs.isBigUint64Array=U3t;function x8(e){return f0(e)==="[object Map]"}x8.working=typeof Map!="undefined"&&x8(new Map);function V3t(e){return typeof Map=="undefined"?!1:x8.working?x8(e):e instanceof Map}gs.isMap=V3t;function b8(e){return f0(e)==="[object Set]"}b8.working=typeof Set!="undefined"&&b8(new Set);function G3t(e){return typeof Set=="undefined"?!1:b8.working?b8(e):e instanceof Set}gs.isSet=G3t;function _8(e){return f0(e)==="[object WeakMap]"}_8.working=typeof WeakMap!="undefined"&&_8(new WeakMap);function H3t(e){return typeof WeakMap=="undefined"?!1:_8.working?_8(e):e instanceof WeakMap}gs.isWeakMap=H3t;function QN(e){return f0(e)==="[object WeakSet]"}QN.working=typeof WeakSet!="undefined"&&QN(new WeakSet);function j3t(e){return QN(e)}gs.isWeakSet=j3t;function w8(e){return f0(e)==="[object ArrayBuffer]"}w8.working=typeof ArrayBuffer!="undefined"&&w8(new ArrayBuffer);function Q3e(e){return typeof ArrayBuffer=="undefined"?!1:w8.working?w8(e):e instanceof ArrayBuffer}gs.isArrayBuffer=Q3e;function T8(e){return f0(e)==="[object DataView]"}T8.working=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"&&T8(new DataView(new ArrayBuffer(1),0,1));function ewe(e){return typeof DataView=="undefined"?!1:T8.working?T8(e):e instanceof DataView}gs.isDataView=ewe;var JN=typeof SharedArrayBuffer!="undefined"?SharedArrayBuffer:void 0;function zT(e){return f0(e)==="[object SharedArrayBuffer]"}function twe(e){return typeof JN=="undefined"?!1:(typeof zT.working=="undefined"&&(zT.working=zT(new JN)),zT.working?zT(e):e instanceof JN)}gs.isSharedArrayBuffer=twe;function W3t(e){return f0(e)==="[object AsyncFunction]"}gs.isAsyncFunction=W3t;function Y3t(e){return f0(e)==="[object Map Iterator]"}gs.isMapIterator=Y3t;function X3t(e){return f0(e)==="[object Set Iterator]"}gs.isSetIterator=X3t;function Z3t(e){return f0(e)==="[object Generator]"}gs.isGeneratorObject=Z3t;function $3t(e){return f0(e)==="[object WebAssembly.Module]"}gs.isWebAssemblyCompiledModule=$3t;function rwe(e){return qT(e,S3t)}gs.isNumberObject=rwe;function nwe(e){return qT(e,E3t)}gs.isStringObject=nwe;function awe(e){return qT(e,k3t)}gs.isBooleanObject=awe;function iwe(e){return Z3e&&qT(e,K3e)}gs.isBigIntObject=iwe;function owe(e){return $3e&&qT(e,J3e)}gs.isSymbolObject=owe;function K3t(e){return rwe(e)||nwe(e)||awe(e)||iwe(e)||owe(e)}gs.isBoxedPrimitive=K3t;function J3t(e){return typeof Uint8Array!="undefined"&&(Q3e(e)||twe(e))}gs.isAnyArrayBuffer=J3t;["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(e){Object.defineProperty(gs,e,{enumerable:!1,value:function(){throw new Error(e+" is not supported in userland")}})})});var tU=ne((wlr,swe)=>{swe.exports=function(t){return t&&typeof t=="object"&&typeof t.copy=="function"&&typeof t.fill=="function"&&typeof t.readUInt8=="function"}});var sU=ne(ms=>{var lwe=Object.getOwnPropertyDescriptors||function(t){for(var r=Object.keys(t),n={},a=0;a=a)return s;switch(s){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(l){return"[Circular]"}default:return s}}),o=n[r];r=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),iU(t)?r.showHidden=t:t&&ms._extend(r,t),jx(r.showHidden)&&(r.showHidden=!1),jx(r.depth)&&(r.depth=2),jx(r.colors)&&(r.colors=!1),jx(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=ewt),E8(r,e,r.depth)}ms.inspect=Am;Am.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]};Am.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function ewt(e,t){var r=Am.styles[t];return r?"\x1B["+Am.colors[r][0]+"m"+e+"\x1B["+Am.colors[r][1]+"m":e}function twt(e,t){return e}function rwt(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function E8(e,t,r){if(e.customInspect&&t&&S8(t.inspect)&&t.inspect!==ms.inspect&&!(t.constructor&&t.constructor.prototype===t)){var n=t.inspect(r,e);return L8(n)||(n=E8(e,n,r)),n}var a=nwt(e,t);if(a)return a;var i=Object.keys(t),o=rwt(i);if(e.showHidden&&(i=Object.getOwnPropertyNames(t)),OT(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return rU(t);if(i.length===0){if(S8(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if(BT(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(k8(t))return e.stylize(Date.prototype.toString.call(t),"date");if(OT(t))return rU(t)}var l="",u=!1,c=["{","}"];if(cwe(t)&&(u=!0,c=["[","]"]),S8(t)){var f=t.name?": "+t.name:"";l=" [Function"+f+"]"}if(BT(t)&&(l=" "+RegExp.prototype.toString.call(t)),k8(t)&&(l=" "+Date.prototype.toUTCString.call(t)),OT(t)&&(l=" "+rU(t)),i.length===0&&(!u||t.length==0))return c[0]+l+c[1];if(r<0)return BT(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);var h;return u?h=awt(e,t,r,o,i):h=i.map(function(v){return aU(e,t,r,o,v,u)}),e.seen.pop(),iwt(h,l,c)}function nwt(e,t){if(jx(t))return e.stylize("undefined","undefined");if(L8(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(fwe(t))return e.stylize(""+t,"number");if(iU(t))return e.stylize(""+t,"boolean");if(C8(t))return e.stylize("null","null")}function rU(e){return"["+Error.prototype.toString.call(e)+"]"}function awt(e,t,r,n,a){for(var i=[],o=0,s=t.length;o-1&&(i?s=s.split(` `).map(function(u){return" "+u}).join(` `).slice(2):s=` `+s.split(` `).map(function(u){return" "+u}).join(` -`))):s=e.stylize("[Circular]","special")),S2(o)){if(a&&i.match(/^\d+$/))return s;o=JSON.stringify(""+i),o.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+s}function Z5t(e,t,r){var n=0,i=e.reduce(function(a,o){return n++,o.indexOf(` -`)>=0&&n++,a+o.replace(/\u001b\[\d\d?m/g,"").length+1},0);return i>60?r[0]+(t===""?"":t+` +`))):s=e.stylize("[Circular]","special")),jx(o)){if(i&&a.match(/^\d+$/))return s;o=JSON.stringify(""+a),o.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+s}function iwt(e,t,r){var n=0,a=e.reduce(function(i,o){return n++,o.indexOf(` +`)>=0&&n++,i+o.replace(/\u001b\[\d\d?m/g,"").length+1},0);return a>60?r[0]+(t===""?"":t+` `)+" "+e.join(`, - `)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}cu.types=oj();function N5e(e){return Array.isArray(e)}cu.isArray=N5e;function fj(e){return typeof e=="boolean"}cu.isBoolean=fj;function wR(e){return e===null}cu.isNull=wR;function Y5t(e){return e==null}cu.isNullOrUndefined=Y5t;function U5e(e){return typeof e=="number"}cu.isNumber=U5e;function TR(e){return typeof e=="string"}cu.isString=TR;function K5t(e){return typeof e=="symbol"}cu.isSymbol=K5t;function S2(e){return e===void 0}cu.isUndefined=S2;function aE(e){return mA(e)&&hj(e)==="[object RegExp]"}cu.isRegExp=aE;cu.types.isRegExp=aE;function mA(e){return typeof e=="object"&&e!==null}cu.isObject=mA;function bR(e){return mA(e)&&hj(e)==="[object Date]"}cu.isDate=bR;cu.types.isDate=bR;function oE(e){return mA(e)&&(hj(e)==="[object Error]"||e instanceof Error)}cu.isError=oE;cu.types.isNativeError=oE;function _R(e){return typeof e=="function"}cu.isFunction=_R;function J5t(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"||typeof e=="symbol"||typeof e=="undefined"}cu.isPrimitive=J5t;cu.isBuffer=sj();function hj(e){return Object.prototype.toString.call(e)}function uj(e){return e<10?"0"+e.toString(10):e.toString(10)}var $5t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Q5t(){var e=new Date,t=[uj(e.getHours()),uj(e.getMinutes()),uj(e.getSeconds())].join(":");return[e.getDate(),$5t[e.getMonth()],t].join(" ")}cu.log=function(){console.log("%s - %s",Q5t(),cu.format.apply(cu,arguments))};cu.inherits=Zy();cu._extend=function(e,t){if(!t||!mA(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};function V5e(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var A2=typeof Symbol!="undefined"?Symbol("util.promisify.custom"):void 0;cu.promisify=function(t){if(typeof t!="function")throw new TypeError('The "original" argument must be of type Function');if(A2&&t[A2]){var r=t[A2];if(typeof r!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(r,A2,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var n,i,a=new Promise(function(l,u){n=l,i=u}),o=[],s=0;s{"use strict";function G5e(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function rSt(e){for(var t=1;t0?this.tail.next=n:this.head=n,this.tail=n,++this.length}},{key:"unshift",value:function(r){var n={data:r,next:this.head};this.length===0&&(this.tail=n),this.head=n,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var n=this.head,i=""+n.data;n=n.next;)i+=r+n.data;return i}},{key:"concat",value:function(r){if(this.length===0)return AR.alloc(0);for(var n=AR.allocUnsafe(r>>>0),i=this.head,a=0;i;)uSt(i.data,n,a),a+=i.data.length,i=i.next;return n}},{key:"consume",value:function(r,n){var i;return ro.length?o.length:r;if(s===o.length?a+=o:a+=o.slice(0,r),r-=s,r===0){s===o.length?(++i,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(s));break}++i}return this.length-=i,a}},{key:"_getBuffer",value:function(r){var n=AR.allocUnsafe(r),i=this.head,a=1;for(i.data.copy(n),r-=i.data.length;i=i.next;){var o=i.data,s=r>o.length?o.length:r;if(o.copy(n,n.length-r,0,s),r-=s,r===0){s===o.length?(++a,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(s));break}++a}return this.length-=a,n}},{key:lSt,value:function(r,n){return vj(this,rSt({},n,{depth:0,customInspect:!1}))}}]),e}()});var gj=ye((adr,Z5e)=>{"use strict";function cSt(e,t){var r=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(pj,this,e)):process.nextTick(pj,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(a){!t&&a?r._writableState?r._writableState.errorEmitted?process.nextTick(SR,r):(r._writableState.errorEmitted=!0,process.nextTick(X5e,r,a)):process.nextTick(X5e,r,a):t?(process.nextTick(SR,r),t(a)):process.nextTick(SR,r)}),this)}function X5e(e,t){pj(e,t),SR(e)}function SR(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function fSt(){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 pj(e,t){e.emit("error",t)}function hSt(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit("error",t)}Z5e.exports={destroy:cSt,undestroy:fSt,errorOrDestroy:hSt}});var M2=ye((odr,J5e)=>{"use strict";function dSt(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var K5e={};function J0(e,t,r){r||(r=Error);function n(a,o,s){return typeof t=="string"?t:t(a,o,s)}var i=function(a){dSt(o,a);function o(s,l,u){return a.call(this,n(s,l,u))||this}return o}(r);i.prototype.name=r.name,i.prototype.code=e,K5e[e]=i}function Y5e(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map(function(n){return String(n)}),r>2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:r===2?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}else return"of ".concat(t," ").concat(String(e))}function vSt(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function pSt(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function gSt(e,t,r){return typeof r!="number"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}J0("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError);J0("ERR_INVALID_ARG_TYPE",function(e,t,r){var n;typeof t=="string"&&vSt(t,"not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be";var i;if(pSt(e," argument"))i="The ".concat(e," ").concat(n," ").concat(Y5e(t,"type"));else{var a=gSt(e,".")?"property":"argument";i='The "'.concat(e,'" ').concat(a," ").concat(n," ").concat(Y5e(t,"type"))}return i+=". Received type ".concat(typeof r),i},TypeError);J0("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");J0("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"});J0("ERR_STREAM_PREMATURE_CLOSE","Premature close");J0("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"});J0("ERR_MULTIPLE_CALLBACK","Callback called multiple times");J0("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");J0("ERR_STREAM_WRITE_AFTER_END","write after end");J0("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);J0("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError);J0("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");J5e.exports.codes=K5e});var mj=ye((sdr,$5e)=>{"use strict";var mSt=M2().codes.ERR_INVALID_OPT_VALUE;function ySt(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function _St(e,t,r,n){var i=ySt(t,n,r);if(i!=null){if(!(isFinite(i)&&Math.floor(i)===i)||i<0){var a=n?r:"highWaterMark";throw new mSt(a,i)}return Math.floor(i)}return e.objectMode?16:16*1024}$5e.exports={getHighWaterMark:_St}});var eSe=ye((ldr,Q5e)=>{Q5e.exports=xSt;function xSt(e,t){if(yj("noDeprecation"))return e;var r=!1;function n(){if(!r){if(yj("throwDeprecation"))throw new Error(t);yj("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}return n}function yj(e){try{if(!window.localStorage)return!1}catch(r){return!1}var t=window.localStorage[e];return t==null?!1:String(t).toLowerCase()==="true"}});var bj=ye((udr,oSe)=>{"use strict";oSe.exports=Bh;function rSe(e){var t=this;this.next=null,this.entry=null,this.finish=function(){XSt(t,e)}}var yA;Bh.WritableState=lE;var bSt={deprecate:eSe()},iSe=xH(),ER=b2().Buffer,wSt=window.Uint8Array||function(){};function TSt(e){return ER.from(e)}function ASt(e){return ER.isBuffer(e)||e instanceof wSt}var xj=gj(),SSt=mj(),MSt=SSt.getHighWaterMark,V_=M2().codes,ESt=V_.ERR_INVALID_ARG_TYPE,kSt=V_.ERR_METHOD_NOT_IMPLEMENTED,CSt=V_.ERR_MULTIPLE_CALLBACK,LSt=V_.ERR_STREAM_CANNOT_PIPE,PSt=V_.ERR_STREAM_DESTROYED,ISt=V_.ERR_STREAM_NULL_VALUES,RSt=V_.ERR_STREAM_WRITE_AFTER_END,DSt=V_.ERR_UNKNOWN_ENCODING,_A=xj.errorOrDestroy;Zy()(Bh,iSe);function FSt(){}function lE(e,t,r){yA=yA||E2(),e=e||{},typeof r!="boolean"&&(r=t instanceof yA),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=MSt(this,e,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var n=e.decodeStrings===!1;this.decodeStrings=!n,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(i){VSt(t,i)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new rSe(this)}lE.prototype.getBuffer=function(){for(var t=this.bufferedRequest,r=[];t;)r.push(t),t=t.next;return r};(function(){try{Object.defineProperty(lE.prototype,"buffer",{get:bSt.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}})();var MR;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(MR=Function.prototype[Symbol.hasInstance],Object.defineProperty(Bh,Symbol.hasInstance,{value:function(t){return MR.call(this,t)?!0:this!==Bh?!1:t&&t._writableState instanceof lE}})):MR=function(t){return t instanceof this};function Bh(e){yA=yA||E2();var t=this instanceof yA;if(!t&&!MR.call(Bh,this))return new Bh(e);this._writableState=new lE(e,this,t),this.writable=!0,e&&(typeof e.write=="function"&&(this._write=e.write),typeof e.writev=="function"&&(this._writev=e.writev),typeof e.destroy=="function"&&(this._destroy=e.destroy),typeof e.final=="function"&&(this._final=e.final)),iSe.call(this)}Bh.prototype.pipe=function(){_A(this,new LSt)};function zSt(e,t){var r=new RSt;_A(e,r),process.nextTick(t,r)}function qSt(e,t,r,n){var i;return r===null?i=new ISt:typeof r!="string"&&!t.objectMode&&(i=new ESt("chunk",["string","Buffer"],r)),i?(_A(e,i),process.nextTick(n,i),!1):!0}Bh.prototype.write=function(e,t,r){var n=this._writableState,i=!1,a=!n.objectMode&&ASt(e);return a&&!ER.isBuffer(e)&&(e=TSt(e)),typeof t=="function"&&(r=t,t=null),a?t="buffer":t||(t=n.defaultEncoding),typeof r!="function"&&(r=FSt),n.ending?zSt(this,r):(a||qSt(this,n,e,r))&&(n.pendingcb++,i=BSt(this,n,a,e,t,r)),i};Bh.prototype.cork=function(){this._writableState.corked++};Bh.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.bufferProcessing&&e.bufferedRequest&&nSe(this,e))};Bh.prototype.setDefaultEncoding=function(t){if(typeof t=="string"&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new DSt(t);return this._writableState.defaultEncoding=t,this};Object.defineProperty(Bh.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function OSt(e,t,r){return!e.objectMode&&e.decodeStrings!==!1&&typeof t=="string"&&(t=ER.from(t,r)),t}Object.defineProperty(Bh.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function BSt(e,t,r,n,i,a){if(!r){var o=OSt(t,n,i);n!==o&&(r=!0,i="buffer",n=o)}var s=t.objectMode?1:n.length;t.length+=s;var l=t.length{"use strict";var ZSt=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};lSe.exports=Wm;var sSe=Aj(),Tj=bj();Zy()(Wm,sSe);for(wj=ZSt(Tj.prototype),kR=0;kR{var LR=b2(),Xm=LR.Buffer;function uSe(e,t){for(var r in e)t[r]=e[r]}Xm.from&&Xm.alloc&&Xm.allocUnsafe&&Xm.allocUnsafeSlow?cSe.exports=LR:(uSe(LR,Sj),Sj.Buffer=k2);function k2(e,t,r){return Xm(e,t,r)}k2.prototype=Object.create(Xm.prototype);uSe(Xm,k2);k2.from=function(e,t,r){if(typeof e=="number")throw new TypeError("Argument must not be a number");return Xm(e,t,r)};k2.alloc=function(e,t,r){if(typeof e!="number")throw new TypeError("Argument must be a number");var n=Xm(e);return t!==void 0?typeof r=="string"?n.fill(t,r):n.fill(t):n.fill(0),n};k2.allocUnsafe=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return Xm(e)};k2.allocUnsafeSlow=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return LR.SlowBuffer(e)}});var kj=ye(dSe=>{"use strict";var Ej=fSe().Buffer,hSe=Ej.isEncoding||function(e){switch(e=""+e,e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function JSt(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}function $St(e){var t=JSt(e);if(typeof t!="string"&&(Ej.isEncoding===hSe||!hSe(e)))throw new Error("Unknown encoding: "+e);return t||e}dSe.StringDecoder=uE;function uE(e){this.encoding=$St(e);var t;switch(this.encoding){case"utf16le":this.text=nMt,this.end=aMt,t=4;break;case"utf8":this.fillLast=tMt,t=4;break;case"base64":this.text=oMt,this.end=sMt,t=3;break;default:this.write=lMt,this.end=uMt;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=Ej.allocUnsafe(t)}uE.prototype.write=function(e){if(e.length===0)return"";var t,r;if(this.lastNeed){if(t=this.fillLast(e),t===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function QSt(e,t,r){var n=t.length-1;if(n=0?(i>0&&(e.lastNeed=i-1),i):--n=0?(i>0&&(e.lastNeed=i-2),i):--n=0?(i>0&&(i===2?i=0:e.lastNeed=i-3),i):0))}function eMt(e,t,r){if((t[0]&192)!==128)return e.lastNeed=0,"\uFFFD";if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128)return e.lastNeed=1,"\uFFFD";if(e.lastNeed>2&&t.length>2&&(t[2]&192)!==128)return e.lastNeed=2,"\uFFFD"}}function tMt(e){var t=this.lastTotal-this.lastNeed,r=eMt(this,e,t);if(r!==void 0)return r;if(this.lastNeed<=e.length)return e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length}function rMt(e,t){var r=QSt(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)}function iMt(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"\uFFFD":t}function nMt(e,t){if((e.length-t)%2===0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function aMt(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function oMt(e,t){var r=(e.length-t)%3;return r===0?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function sMt(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function lMt(e){return e.toString(this.encoding)}function uMt(e){return e&&e.length?this.write(e):""}});var PR=ye((hdr,gSe)=>{"use strict";var vSe=M2().codes.ERR_STREAM_PREMATURE_CLOSE;function cMt(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i{"use strict";var IR;function G_(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var dMt=PR(),H_=Symbol("lastResolve"),C2=Symbol("lastReject"),cE=Symbol("error"),RR=Symbol("ended"),L2=Symbol("lastPromise"),Cj=Symbol("handlePromise"),P2=Symbol("stream");function j_(e,t){return{value:e,done:t}}function vMt(e){var t=e[H_];if(t!==null){var r=e[P2].read();r!==null&&(e[L2]=null,e[H_]=null,e[C2]=null,t(j_(r,!1)))}}function pMt(e){process.nextTick(vMt,e)}function gMt(e,t){return function(r,n){e.then(function(){if(t[RR]){r(j_(void 0,!0));return}t[Cj](r,n)},n)}}var mMt=Object.getPrototypeOf(function(){}),yMt=Object.setPrototypeOf((IR={get stream(){return this[P2]},next:function(){var t=this,r=this[cE];if(r!==null)return Promise.reject(r);if(this[RR])return Promise.resolve(j_(void 0,!0));if(this[P2].destroyed)return new Promise(function(o,s){process.nextTick(function(){t[cE]?s(t[cE]):o(j_(void 0,!0))})});var n=this[L2],i;if(n)i=new Promise(gMt(n,this));else{var a=this[P2].read();if(a!==null)return Promise.resolve(j_(a,!1));i=new Promise(this[Cj])}return this[L2]=i,i}},G_(IR,Symbol.asyncIterator,function(){return this}),G_(IR,"return",function(){var t=this;return new Promise(function(r,n){t[P2].destroy(null,function(i){if(i){n(i);return}r(j_(void 0,!0))})})}),IR),mMt),_Mt=function(t){var r,n=Object.create(yMt,(r={},G_(r,P2,{value:t,writable:!0}),G_(r,H_,{value:null,writable:!0}),G_(r,C2,{value:null,writable:!0}),G_(r,cE,{value:null,writable:!0}),G_(r,RR,{value:t._readableState.endEmitted,writable:!0}),G_(r,Cj,{value:function(a,o){var s=n[P2].read();s?(n[L2]=null,n[H_]=null,n[C2]=null,a(j_(s,!1))):(n[H_]=a,n[C2]=o)},writable:!0}),r));return n[L2]=null,dMt(t,function(i){if(i&&i.code!=="ERR_STREAM_PREMATURE_CLOSE"){var a=n[C2];a!==null&&(n[L2]=null,n[H_]=null,n[C2]=null,a(i)),n[cE]=i;return}var o=n[H_];o!==null&&(n[L2]=null,n[H_]=null,n[C2]=null,o(j_(void 0,!0))),n[RR]=!0}),t.on("readable",pMt.bind(null,n)),n};mSe.exports=_Mt});var xSe=ye((vdr,_Se)=>{_Se.exports=function(){throw new Error("Readable.from is not available in the browser")}});var Aj=ye((gdr,LSe)=>{"use strict";LSe.exports=Bu;var xA;Bu.ReadableState=ASe;var pdr=Sb().EventEmitter,TSe=function(t,r){return t.listeners(r).length},hE=xH(),DR=b2().Buffer,xMt=window.Uint8Array||function(){};function bMt(e){return DR.from(e)}function wMt(e){return DR.isBuffer(e)||e instanceof xMt}var Lj=dj(),nu;Lj&&Lj.debuglog?nu=Lj.debuglog("stream"):nu=function(){};var TMt=W5e(),qj=gj(),AMt=mj(),SMt=AMt.getHighWaterMark,FR=M2().codes,MMt=FR.ERR_INVALID_ARG_TYPE,EMt=FR.ERR_STREAM_PUSH_AFTER_EOF,kMt=FR.ERR_METHOD_NOT_IMPLEMENTED,CMt=FR.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,bA,Pj,Ij;Zy()(Bu,hE);var fE=qj.errorOrDestroy,Rj=["error","close","destroy","pause","resume"];function LMt(e,t,r){if(typeof e.prependListener=="function")return e.prependListener(t,r);!e._events||!e._events[t]?e.on(t,r):Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]}function ASe(e,t,r){xA=xA||E2(),e=e||{},typeof r!="boolean"&&(r=t instanceof xA),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=SMt(this,e,"readableHighWaterMark",r),this.buffer=new TMt,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(bA||(bA=kj().StringDecoder),this.decoder=new bA(e.encoding),this.encoding=e.encoding)}function Bu(e){if(xA=xA||E2(),!(this instanceof Bu))return new Bu(e);var t=this instanceof xA;this._readableState=new ASe(e,this,t),this.readable=!0,e&&(typeof e.read=="function"&&(this._read=e.read),typeof e.destroy=="function"&&(this._destroy=e.destroy)),hE.call(this)}Object.defineProperty(Bu.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}});Bu.prototype.destroy=qj.destroy;Bu.prototype._undestroy=qj.undestroy;Bu.prototype._destroy=function(e,t){t(e)};Bu.prototype.push=function(e,t){var r=this._readableState,n;return r.objectMode?n=!0:typeof e=="string"&&(t=t||r.defaultEncoding,t!==r.encoding&&(e=DR.from(e,t),t=""),n=!0),SSe(this,e,t,!1,n)};Bu.prototype.unshift=function(e){return SSe(this,e,null,!0,!1)};function SSe(e,t,r,n,i){nu("readableAddChunk",t);var a=e._readableState;if(t===null)a.reading=!1,RMt(e,a);else{var o;if(i||(o=PMt(a,t)),o)fE(e,o);else if(a.objectMode||t&&t.length>0)if(typeof t!="string"&&!a.objectMode&&Object.getPrototypeOf(t)!==DR.prototype&&(t=bMt(t)),n)a.endEmitted?fE(e,new CMt):Dj(e,a,t,!0);else if(a.ended)fE(e,new EMt);else{if(a.destroyed)return!1;a.reading=!1,a.decoder&&!r?(t=a.decoder.write(t),a.objectMode||t.length!==0?Dj(e,a,t,!1):zj(e,a)):Dj(e,a,t,!1)}else n||(a.reading=!1,zj(e,a))}return!a.ended&&(a.length=bSe?e=bSe:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function wSe(e,t){return e<=0||t.length===0&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=IMt(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}Bu.prototype.read=function(e){nu("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(e!==0&&(t.emittedReadable=!1),e===0&&t.needReadable&&((t.highWaterMark!==0?t.length>=t.highWaterMark:t.length>0)||t.ended))return nu("read: emitReadable",t.length,t.ended),t.length===0&&t.ended?Fj(this):zR(this),null;if(e=wSe(e,t),e===0&&t.ended)return t.length===0&&Fj(this),null;var n=t.needReadable;nu("need readable",n),(t.length===0||t.length-e0?i=kSe(e,t):i=null,i===null?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),t.length===0&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&Fj(this)),i!==null&&this.emit("data",i),i};function RMt(e,t){if(nu("onEofChunk"),!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?zR(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,MSe(e)))}}function zR(e){var t=e._readableState;nu("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(nu("emitReadable",t.flowing),t.emittedReadable=!0,process.nextTick(MSe,e))}function MSe(e){var t=e._readableState;nu("emitReadable_",t.destroyed,t.length,t.ended),!t.destroyed&&(t.length||t.ended)&&(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,Oj(e)}function zj(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(DMt,e,t))}function DMt(e,t){for(;!t.reading&&!t.ended&&(t.length1&&CSe(n.pipes,e)!==-1)&&!u&&(nu("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function h(b){nu("onerror",b),m(),e.removeListener("error",h),TSe(e,"error")===0&&fE(e,b)}LMt(e,"error",h);function d(){e.removeListener("finish",v),m()}e.once("close",d);function v(){nu("onfinish"),e.removeListener("close",d),m()}e.once("finish",v);function m(){nu("unpipe"),r.unpipe(e)}return e.emit("pipe",r),n.flowing||(nu("pipe resume"),r.resume()),e};function FMt(e){return function(){var r=e._readableState;nu("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&TSe(e,"data")&&(r.flowing=!0,Oj(e))}}Bu.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(t.pipesCount===0)return this;if(t.pipesCount===1)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r),this);if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a0,n.flowing!==!1&&this.resume()):e==="readable"&&!n.endEmitted&&!n.readableListening&&(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,nu("on readable",n.length,n.reading),n.length?zR(this):n.reading||process.nextTick(zMt,this)),r};Bu.prototype.addListener=Bu.prototype.on;Bu.prototype.removeListener=function(e,t){var r=hE.prototype.removeListener.call(this,e,t);return e==="readable"&&process.nextTick(ESe,this),r};Bu.prototype.removeAllListeners=function(e){var t=hE.prototype.removeAllListeners.apply(this,arguments);return(e==="readable"||e===void 0)&&process.nextTick(ESe,this),t};function ESe(e){var t=e._readableState;t.readableListening=e.listenerCount("readable")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function zMt(e){nu("readable nexttick read 0"),e.read(0)}Bu.prototype.resume=function(){var e=this._readableState;return e.flowing||(nu("resume"),e.flowing=!e.readableListening,qMt(this,e)),e.paused=!1,this};function qMt(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(OMt,e,t))}function OMt(e,t){nu("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),Oj(e),t.flowing&&!t.reading&&e.read(0)}Bu.prototype.pause=function(){return nu("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(nu("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function Oj(e){var t=e._readableState;for(nu("flow",t.flowing);t.flowing&&e.read()!==null;);}Bu.prototype.wrap=function(e){var t=this,r=this._readableState,n=!1;e.on("end",function(){if(nu("wrapped end"),r.decoder&&!r.ended){var o=r.decoder.end();o&&o.length&&t.push(o)}t.push(null)}),e.on("data",function(o){if(nu("wrapped data"),r.decoder&&(o=r.decoder.write(o)),!(r.objectMode&&o==null)&&!(!r.objectMode&&(!o||!o.length))){var s=t.push(o);s||(n=!0,e.pause())}});for(var i in e)this[i]===void 0&&typeof e[i]=="function"&&(this[i]=function(s){return function(){return e[s].apply(e,arguments)}}(i));for(var a=0;a=t.length?(t.decoder?r=t.buffer.join(""):t.buffer.length===1?r=t.buffer.first():r=t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r}function Fj(e){var t=e._readableState;nu("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(BMt,t,e))}function BMt(e,t){if(nu("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}typeof Symbol=="function"&&(Bu.from=function(e,t){return Ij===void 0&&(Ij=xSe()),Ij(Bu,e,t)});function CSe(e,t){for(var r=0,n=e.length;r{"use strict";ISe.exports=Ky;var qR=M2().codes,NMt=qR.ERR_METHOD_NOT_IMPLEMENTED,UMt=qR.ERR_MULTIPLE_CALLBACK,VMt=qR.ERR_TRANSFORM_ALREADY_TRANSFORMING,GMt=qR.ERR_TRANSFORM_WITH_LENGTH_0,OR=E2();Zy()(Ky,OR);function HMt(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(n===null)return this.emit("error",new UMt);r.writechunk=null,r.writecb=null,t!=null&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length{"use strict";DSe.exports=dE;var RSe=Bj();Zy()(dE,RSe);function dE(e){if(!(this instanceof dE))return new dE(e);RSe.call(this,e)}dE.prototype._transform=function(e,t,r){r(null,e)}});var NSe=ye((_dr,BSe)=>{"use strict";var Nj;function WMt(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var OSe=M2().codes,XMt=OSe.ERR_MISSING_ARGS,ZMt=OSe.ERR_STREAM_DESTROYED;function zSe(e){if(e)throw e}function YMt(e){return e.setHeader&&typeof e.abort=="function"}function KMt(e,t,r,n){n=WMt(n);var i=!1;e.on("close",function(){i=!0}),Nj===void 0&&(Nj=PR()),Nj(e,{readable:t,writable:r},function(o){if(o)return n(o);i=!0,n()});var a=!1;return function(o){if(!i&&!a){if(a=!0,YMt(e))return e.abort();if(typeof e.destroy=="function")return e.destroy();n(o||new ZMt("pipe"))}}}function qSe(e){e()}function JMt(e,t){return e.pipe(t)}function $Mt(e){return!e.length||typeof e[e.length-1]!="function"?zSe:e.pop()}function QMt(){for(var e=arguments.length,t=new Array(e),r=0;r0;return KMt(o,l,u,function(c){i||(i=c),c&&a.forEach(qSe),!l&&(a.forEach(qSe),n(i))})});return t.reduce(JMt)}BSe.exports=QMt});var VSe=ye((xdr,USe)=>{USe.exports=$0;var Uj=Sb().EventEmitter,e4t=Zy();e4t($0,Uj);$0.Readable=Aj();$0.Writable=bj();$0.Duplex=E2();$0.Transform=Bj();$0.PassThrough=FSe();$0.finished=PR();$0.pipeline=NSe();$0.Stream=$0;function $0(){Uj.call(this)}$0.prototype.pipe=function(e,t){var r=this;function n(c){e.writable&&e.write(c)===!1&&r.pause&&r.pause()}r.on("data",n);function i(){r.readable&&r.resume&&r.resume()}e.on("drain",i),!e._isStdio&&(!t||t.end!==!1)&&(r.on("end",o),r.on("close",s));var a=!1;function o(){a||(a=!0,e.end())}function s(){a||(a=!0,typeof e.destroy=="function"&&e.destroy())}function l(c){if(u(),Uj.listenerCount(this,"error")===0)throw c}r.on("error",l),e.on("error",l);function u(){r.removeListener("data",n),e.removeListener("drain",i),r.removeListener("end",o),r.removeListener("close",s),r.removeListener("error",l),e.removeListener("error",l),r.removeListener("end",u),r.removeListener("close",u),e.removeListener("close",u)}return r.on("end",u),r.on("close",u),e.on("close",u),e.emit("pipe",r),e}});var TA=ye(fu=>{var GSe=Object.getOwnPropertyDescriptors||function(t){for(var r=Object.keys(t),n={},i=0;i=i)return s;switch(s){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(l){return"[Circular]"}default:return s}}),o=n[r];r=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),jj(t)?r.showHidden=t:t&&fu._extend(r,t),R2(r.showHidden)&&(r.showHidden=!1),R2(r.depth)&&(r.depth=2),R2(r.colors)&&(r.colors=!1),R2(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=r4t),VR(r,e,r.depth)}fu.inspect=W_;W_.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]};W_.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function r4t(e,t){var r=W_.styles[t];return r?"\x1B["+W_.colors[r][0]+"m"+e+"\x1B["+W_.colors[r][1]+"m":e}function i4t(e,t){return e}function n4t(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function VR(e,t,r){if(e.customInspect&&t&&UR(t.inspect)&&t.inspect!==fu.inspect&&!(t.constructor&&t.constructor.prototype===t)){var n=t.inspect(r,e);return jR(n)||(n=VR(e,n,r)),n}var i=a4t(e,t);if(i)return i;var a=Object.keys(t),o=n4t(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),pE(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return Vj(t);if(a.length===0){if(UR(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if(vE(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(GR(t))return e.stylize(Date.prototype.toString.call(t),"date");if(pE(t))return Vj(t)}var l="",u=!1,c=["{","}"];if(jSe(t)&&(u=!0,c=["[","]"]),UR(t)){var f=t.name?": "+t.name:"";l=" [Function"+f+"]"}if(vE(t)&&(l=" "+RegExp.prototype.toString.call(t)),GR(t)&&(l=" "+Date.prototype.toUTCString.call(t)),pE(t)&&(l=" "+Vj(t)),a.length===0&&(!u||t.length==0))return c[0]+l+c[1];if(r<0)return vE(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);var h;return u?h=o4t(e,t,r,o,a):h=a.map(function(d){return Hj(e,t,r,o,d,u)}),e.seen.pop(),s4t(h,l,c)}function a4t(e,t){if(R2(t))return e.stylize("undefined","undefined");if(jR(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(WSe(t))return e.stylize(""+t,"number");if(jj(t))return e.stylize(""+t,"boolean");if(HR(t))return e.stylize("null","null")}function Vj(e){return"["+Error.prototype.toString.call(e)+"]"}function o4t(e,t,r,n,i){for(var a=[],o=0,s=t.length;o-1&&(a?s=s.split(` + `)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}ms.types=eU();function cwe(e){return Array.isArray(e)}ms.isArray=cwe;function iU(e){return typeof e=="boolean"}ms.isBoolean=iU;function C8(e){return e===null}ms.isNull=C8;function owt(e){return e==null}ms.isNullOrUndefined=owt;function fwe(e){return typeof e=="number"}ms.isNumber=fwe;function L8(e){return typeof e=="string"}ms.isString=L8;function swt(e){return typeof e=="symbol"}ms.isSymbol=swt;function jx(e){return e===void 0}ms.isUndefined=jx;function BT(e){return g3(e)&&oU(e)==="[object RegExp]"}ms.isRegExp=BT;ms.types.isRegExp=BT;function g3(e){return typeof e=="object"&&e!==null}ms.isObject=g3;function k8(e){return g3(e)&&oU(e)==="[object Date]"}ms.isDate=k8;ms.types.isDate=k8;function OT(e){return g3(e)&&(oU(e)==="[object Error]"||e instanceof Error)}ms.isError=OT;ms.types.isNativeError=OT;function S8(e){return typeof e=="function"}ms.isFunction=S8;function lwt(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"||typeof e=="symbol"||typeof e=="undefined"}ms.isPrimitive=lwt;ms.isBuffer=tU();function oU(e){return Object.prototype.toString.call(e)}function nU(e){return e<10?"0"+e.toString(10):e.toString(10)}var uwt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function cwt(){var e=new Date,t=[nU(e.getHours()),nU(e.getMinutes()),nU(e.getSeconds())].join(":");return[e.getDate(),uwt[e.getMonth()],t].join(" ")}ms.log=function(){console.log("%s - %s",cwt(),ms.format.apply(ms,arguments))};ms.inherits=Y1();ms._extend=function(e,t){if(!t||!g3(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};function hwe(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var Hx=typeof Symbol!="undefined"?Symbol("util.promisify.custom"):void 0;ms.promisify=function(t){if(typeof t!="function")throw new TypeError('The "original" argument must be of type Function');if(Hx&&t[Hx]){var r=t[Hx];if(typeof r!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(r,Hx,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var n,a,i=new Promise(function(l,u){n=l,a=u}),o=[],s=0;s{"use strict";function dwe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function dwt(e){for(var t=1;t0?this.tail.next=n:this.head=n,this.tail=n,++this.length}},{key:"unshift",value:function(r){var n={data:r,next:this.head};this.length===0&&(this.tail=n),this.head=n,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var n=this.head,a=""+n.data;n=n.next;)a+=r+n.data;return a}},{key:"concat",value:function(r){if(this.length===0)return F8.alloc(0);for(var n=F8.allocUnsafe(r>>>0),a=this.head,i=0;a;)bwt(a.data,n,i),i+=a.data.length,a=a.next;return n}},{key:"consume",value:function(r,n){var a;return ro.length?o.length:r;if(s===o.length?i+=o:i+=o.slice(0,r),r-=s,r===0){s===o.length?(++a,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(s));break}++a}return this.length-=a,i}},{key:"_getBuffer",value:function(r){var n=F8.allocUnsafe(r),a=this.head,i=1;for(a.data.copy(n),r-=a.data.length;a=a.next;){var o=a.data,s=r>o.length?o.length:r;if(o.copy(n,n.length-r,0,s),r-=s,r===0){s===o.length?(++i,a.next?this.head=a.next:this.head=this.tail=null):(this.head=a,a.data=o.slice(s));break}++i}return this.length-=i,n}},{key:xwt,value:function(r,n){return lU(this,dwt({},n,{depth:0,customInspect:!1}))}}]),e})()});var cU=ne((Mlr,ywe)=>{"use strict";function _wt(e,t){var r=this,n=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return n||a?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(uU,this,e)):process.nextTick(uU,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(i){!t&&i?r._writableState?r._writableState.errorEmitted?process.nextTick(P8,r):(r._writableState.errorEmitted=!0,process.nextTick(mwe,r,i)):process.nextTick(mwe,r,i):t?(process.nextTick(P8,r),t(i)):process.nextTick(P8,r)}),this)}function mwe(e,t){uU(e,t),P8(e)}function P8(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function wwt(){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 uU(e,t){e.emit("error",t)}function Twt(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit("error",t)}ywe.exports={destroy:_wt,undestroy:wwt,errorOrDestroy:Twt}});var Wx=ne((Slr,_we)=>{"use strict";function Awt(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var bwe={};function h0(e,t,r){r||(r=Error);function n(i,o,s){return typeof t=="string"?t:t(i,o,s)}var a=(function(i){Awt(o,i);function o(s,l,u){return i.call(this,n(s,l,u))||this}return o})(r);a.prototype.name=r.name,a.prototype.code=e,bwe[e]=a}function xwe(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map(function(n){return String(n)}),r>2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:r===2?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}else return"of ".concat(t," ").concat(String(e))}function Mwt(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function Swt(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function Ewt(e,t,r){return typeof r!="number"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}h0("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError);h0("ERR_INVALID_ARG_TYPE",function(e,t,r){var n;typeof t=="string"&&Mwt(t,"not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be";var a;if(Swt(e," argument"))a="The ".concat(e," ").concat(n," ").concat(xwe(t,"type"));else{var i=Ewt(e,".")?"property":"argument";a='The "'.concat(e,'" ').concat(i," ").concat(n," ").concat(xwe(t,"type"))}return a+=". Received type ".concat(typeof r),a},TypeError);h0("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");h0("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"});h0("ERR_STREAM_PREMATURE_CLOSE","Premature close");h0("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"});h0("ERR_MULTIPLE_CALLBACK","Callback called multiple times");h0("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");h0("ERR_STREAM_WRITE_AFTER_END","write after end");h0("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);h0("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError);h0("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");_we.exports.codes=bwe});var fU=ne((Elr,wwe)=>{"use strict";var kwt=Wx().codes.ERR_INVALID_OPT_VALUE;function Cwt(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function Lwt(e,t,r,n){var a=Cwt(t,n,r);if(a!=null){if(!(isFinite(a)&&Math.floor(a)===a)||a<0){var i=n?r:"highWaterMark";throw new kwt(i,a)}return Math.floor(a)}return e.objectMode?16:16*1024}wwe.exports={getHighWaterMark:Lwt}});var Awe=ne((klr,Twe)=>{Twe.exports=Fwt;function Fwt(e,t){if(hU("noDeprecation"))return e;var r=!1;function n(){if(!r){if(hU("throwDeprecation"))throw new Error(t);hU("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}return n}function hU(e){try{if(!window.localStorage)return!1}catch(r){return!1}var t=window.localStorage[e];return t==null?!1:String(t).toLowerCase()==="true"}});var pU=ne((Clr,Lwe)=>{"use strict";Lwe.exports=Nc;function Swe(e){var t=this;this.next=null,this.entry=null,this.finish=function(){a5t(t,e)}}var m3;Nc.WritableState=UT;var Pwt={deprecate:Awe()},Ewe=vN(),R8=Ux().Buffer,Dwt=window.Uint8Array||function(){};function Rwt(e){return R8.from(e)}function Iwt(e){return R8.isBuffer(e)||e instanceof Dwt}var vU=cU(),zwt=fU(),qwt=zwt.getHighWaterMark,Mm=Wx().codes,Bwt=Mm.ERR_INVALID_ARG_TYPE,Owt=Mm.ERR_METHOD_NOT_IMPLEMENTED,Nwt=Mm.ERR_MULTIPLE_CALLBACK,Uwt=Mm.ERR_STREAM_CANNOT_PIPE,Vwt=Mm.ERR_STREAM_DESTROYED,Gwt=Mm.ERR_STREAM_NULL_VALUES,Hwt=Mm.ERR_STREAM_WRITE_AFTER_END,jwt=Mm.ERR_UNKNOWN_ENCODING,y3=vU.errorOrDestroy;Y1()(Nc,Ewe);function Wwt(){}function UT(e,t,r){m3=m3||Yx(),e=e||{},typeof r!="boolean"&&(r=t instanceof m3),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=qwt(this,e,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var n=e.decodeStrings===!1;this.decodeStrings=!n,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(a){Qwt(t,a)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new Swe(this)}UT.prototype.getBuffer=function(){for(var t=this.bufferedRequest,r=[];t;)r.push(t),t=t.next;return r};(function(){try{Object.defineProperty(UT.prototype,"buffer",{get:Pwt.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}})();var D8;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(D8=Function.prototype[Symbol.hasInstance],Object.defineProperty(Nc,Symbol.hasInstance,{value:function(t){return D8.call(this,t)?!0:this!==Nc?!1:t&&t._writableState instanceof UT}})):D8=function(t){return t instanceof this};function Nc(e){m3=m3||Yx();var t=this instanceof m3;if(!t&&!D8.call(Nc,this))return new Nc(e);this._writableState=new UT(e,this,t),this.writable=!0,e&&(typeof e.write=="function"&&(this._write=e.write),typeof e.writev=="function"&&(this._writev=e.writev),typeof e.destroy=="function"&&(this._destroy=e.destroy),typeof e.final=="function"&&(this._final=e.final)),Ewe.call(this)}Nc.prototype.pipe=function(){y3(this,new Uwt)};function Ywt(e,t){var r=new Hwt;y3(e,r),process.nextTick(t,r)}function Xwt(e,t,r,n){var a;return r===null?a=new Gwt:typeof r!="string"&&!t.objectMode&&(a=new Bwt("chunk",["string","Buffer"],r)),a?(y3(e,a),process.nextTick(n,a),!1):!0}Nc.prototype.write=function(e,t,r){var n=this._writableState,a=!1,i=!n.objectMode&&Iwt(e);return i&&!R8.isBuffer(e)&&(e=Rwt(e)),typeof t=="function"&&(r=t,t=null),i?t="buffer":t||(t=n.defaultEncoding),typeof r!="function"&&(r=Wwt),n.ending?Ywt(this,r):(i||Xwt(this,n,e,r))&&(n.pendingcb++,a=$wt(this,n,i,e,t,r)),a};Nc.prototype.cork=function(){this._writableState.corked++};Nc.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.bufferProcessing&&e.bufferedRequest&&kwe(this,e))};Nc.prototype.setDefaultEncoding=function(t){if(typeof t=="string"&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new jwt(t);return this._writableState.defaultEncoding=t,this};Object.defineProperty(Nc.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function Zwt(e,t,r){return!e.objectMode&&e.decodeStrings!==!1&&typeof t=="string"&&(t=R8.from(t,r)),t}Object.defineProperty(Nc.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function $wt(e,t,r,n,a,i){if(!r){var o=Zwt(t,n,a);n!==o&&(r=!0,a="buffer",n=o)}var s=t.objectMode?1:n.length;t.length+=s;var l=t.length{"use strict";var i5t=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};Pwe.exports=Kp;var Fwe=yU(),mU=pU();Y1()(Kp,Fwe);for(gU=i5t(mU.prototype),I8=0;I8{var q8=Ux(),Jp=q8.Buffer;function Dwe(e,t){for(var r in e)t[r]=e[r]}Jp.from&&Jp.alloc&&Jp.allocUnsafe&&Jp.allocUnsafeSlow?Rwe.exports=q8:(Dwe(q8,xU),xU.Buffer=Xx);function Xx(e,t,r){return Jp(e,t,r)}Xx.prototype=Object.create(Jp.prototype);Dwe(Jp,Xx);Xx.from=function(e,t,r){if(typeof e=="number")throw new TypeError("Argument must not be a number");return Jp(e,t,r)};Xx.alloc=function(e,t,r){if(typeof e!="number")throw new TypeError("Argument must be a number");var n=Jp(e);return t!==void 0?typeof r=="string"?n.fill(t,r):n.fill(t):n.fill(0),n};Xx.allocUnsafe=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return Jp(e)};Xx.allocUnsafeSlow=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return q8.SlowBuffer(e)}});var wU=ne(qwe=>{"use strict";var _U=Iwe().Buffer,zwe=_U.isEncoding||function(e){switch(e=""+e,e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function l5t(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}function u5t(e){var t=l5t(e);if(typeof t!="string"&&(_U.isEncoding===zwe||!zwe(e)))throw new Error("Unknown encoding: "+e);return t||e}qwe.StringDecoder=VT;function VT(e){this.encoding=u5t(e);var t;switch(this.encoding){case"utf16le":this.text=p5t,this.end=g5t,t=4;break;case"utf8":this.fillLast=h5t,t=4;break;case"base64":this.text=m5t,this.end=y5t,t=3;break;default:this.write=x5t,this.end=b5t;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=_U.allocUnsafe(t)}VT.prototype.write=function(e){if(e.length===0)return"";var t,r;if(this.lastNeed){if(t=this.fillLast(e),t===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function c5t(e,t,r){var n=t.length-1;if(n=0?(a>0&&(e.lastNeed=a-1),a):--n=0?(a>0&&(e.lastNeed=a-2),a):--n=0?(a>0&&(a===2?a=0:e.lastNeed=a-3),a):0))}function f5t(e,t,r){if((t[0]&192)!==128)return e.lastNeed=0,"\uFFFD";if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128)return e.lastNeed=1,"\uFFFD";if(e.lastNeed>2&&t.length>2&&(t[2]&192)!==128)return e.lastNeed=2,"\uFFFD"}}function h5t(e){var t=this.lastTotal-this.lastNeed,r=f5t(this,e,t);if(r!==void 0)return r;if(this.lastNeed<=e.length)return e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length}function d5t(e,t){var r=c5t(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)}function v5t(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"\uFFFD":t}function p5t(e,t){if((e.length-t)%2===0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function g5t(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function m5t(e,t){var r=(e.length-t)%3;return r===0?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function y5t(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function x5t(e){return e.toString(this.encoding)}function b5t(e){return e&&e.length?this.write(e):""}});var B8=ne((Plr,Nwe)=>{"use strict";var Bwe=Wx().codes.ERR_STREAM_PREMATURE_CLOSE;function _5t(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),a=0;a{"use strict";var O8;function Sm(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var A5t=B8(),Em=Symbol("lastResolve"),Zx=Symbol("lastReject"),GT=Symbol("error"),N8=Symbol("ended"),$x=Symbol("lastPromise"),TU=Symbol("handlePromise"),Kx=Symbol("stream");function km(e,t){return{value:e,done:t}}function M5t(e){var t=e[Em];if(t!==null){var r=e[Kx].read();r!==null&&(e[$x]=null,e[Em]=null,e[Zx]=null,t(km(r,!1)))}}function S5t(e){process.nextTick(M5t,e)}function E5t(e,t){return function(r,n){e.then(function(){if(t[N8]){r(km(void 0,!0));return}t[TU](r,n)},n)}}var k5t=Object.getPrototypeOf(function(){}),C5t=Object.setPrototypeOf((O8={get stream(){return this[Kx]},next:function(){var t=this,r=this[GT];if(r!==null)return Promise.reject(r);if(this[N8])return Promise.resolve(km(void 0,!0));if(this[Kx].destroyed)return new Promise(function(o,s){process.nextTick(function(){t[GT]?s(t[GT]):o(km(void 0,!0))})});var n=this[$x],a;if(n)a=new Promise(E5t(n,this));else{var i=this[Kx].read();if(i!==null)return Promise.resolve(km(i,!1));a=new Promise(this[TU])}return this[$x]=a,a}},Sm(O8,Symbol.asyncIterator,function(){return this}),Sm(O8,"return",function(){var t=this;return new Promise(function(r,n){t[Kx].destroy(null,function(a){if(a){n(a);return}r(km(void 0,!0))})})}),O8),k5t),L5t=function(t){var r,n=Object.create(C5t,(r={},Sm(r,Kx,{value:t,writable:!0}),Sm(r,Em,{value:null,writable:!0}),Sm(r,Zx,{value:null,writable:!0}),Sm(r,GT,{value:null,writable:!0}),Sm(r,N8,{value:t._readableState.endEmitted,writable:!0}),Sm(r,TU,{value:function(i,o){var s=n[Kx].read();s?(n[$x]=null,n[Em]=null,n[Zx]=null,i(km(s,!1))):(n[Em]=i,n[Zx]=o)},writable:!0}),r));return n[$x]=null,A5t(t,function(a){if(a&&a.code!=="ERR_STREAM_PREMATURE_CLOSE"){var i=n[Zx];i!==null&&(n[$x]=null,n[Em]=null,n[Zx]=null,i(a)),n[GT]=a;return}var o=n[Em];o!==null&&(n[$x]=null,n[Em]=null,n[Zx]=null,o(km(void 0,!0))),n[N8]=!0}),t.on("readable",S5t.bind(null,n)),n};Uwe.exports=L5t});var Hwe=ne((Rlr,Gwe)=>{Gwe.exports=function(){throw new Error("Readable.from is not available in the browser")}});var yU=ne((zlr,e5e)=>{"use strict";e5e.exports=Xs;var x3;Xs.ReadableState=Xwe;var Ilr=Vy().EventEmitter,Ywe=function(t,r){return t.listeners(r).length},jT=vN(),U8=Ux().Buffer,F5t=window.Uint8Array||function(){};function P5t(e){return U8.from(e)}function D5t(e){return U8.isBuffer(e)||e instanceof F5t}var AU=sU(),ls;AU&&AU.debuglog?ls=AU.debuglog("stream"):ls=function(){};var R5t=gwe(),FU=cU(),I5t=fU(),z5t=I5t.getHighWaterMark,V8=Wx().codes,q5t=V8.ERR_INVALID_ARG_TYPE,B5t=V8.ERR_STREAM_PUSH_AFTER_EOF,O5t=V8.ERR_METHOD_NOT_IMPLEMENTED,N5t=V8.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,b3,MU,SU;Y1()(Xs,jT);var HT=FU.errorOrDestroy,EU=["error","close","destroy","pause","resume"];function U5t(e,t,r){if(typeof e.prependListener=="function")return e.prependListener(t,r);!e._events||!e._events[t]?e.on(t,r):Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]}function Xwe(e,t,r){x3=x3||Yx(),e=e||{},typeof r!="boolean"&&(r=t instanceof x3),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=z5t(this,e,"readableHighWaterMark",r),this.buffer=new R5t,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(b3||(b3=wU().StringDecoder),this.decoder=new b3(e.encoding),this.encoding=e.encoding)}function Xs(e){if(x3=x3||Yx(),!(this instanceof Xs))return new Xs(e);var t=this instanceof x3;this._readableState=new Xwe(e,this,t),this.readable=!0,e&&(typeof e.read=="function"&&(this._read=e.read),typeof e.destroy=="function"&&(this._destroy=e.destroy)),jT.call(this)}Object.defineProperty(Xs.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}});Xs.prototype.destroy=FU.destroy;Xs.prototype._undestroy=FU.undestroy;Xs.prototype._destroy=function(e,t){t(e)};Xs.prototype.push=function(e,t){var r=this._readableState,n;return r.objectMode?n=!0:typeof e=="string"&&(t=t||r.defaultEncoding,t!==r.encoding&&(e=U8.from(e,t),t=""),n=!0),Zwe(this,e,t,!1,n)};Xs.prototype.unshift=function(e){return Zwe(this,e,null,!0,!1)};function Zwe(e,t,r,n,a){ls("readableAddChunk",t);var i=e._readableState;if(t===null)i.reading=!1,H5t(e,i);else{var o;if(a||(o=V5t(i,t)),o)HT(e,o);else if(i.objectMode||t&&t.length>0)if(typeof t!="string"&&!i.objectMode&&Object.getPrototypeOf(t)!==U8.prototype&&(t=P5t(t)),n)i.endEmitted?HT(e,new N5t):kU(e,i,t,!0);else if(i.ended)HT(e,new B5t);else{if(i.destroyed)return!1;i.reading=!1,i.decoder&&!r?(t=i.decoder.write(t),i.objectMode||t.length!==0?kU(e,i,t,!1):LU(e,i)):kU(e,i,t,!1)}else n||(i.reading=!1,LU(e,i))}return!i.ended&&(i.length=jwe?e=jwe:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function Wwe(e,t){return e<=0||t.length===0&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=G5t(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}Xs.prototype.read=function(e){ls("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(e!==0&&(t.emittedReadable=!1),e===0&&t.needReadable&&((t.highWaterMark!==0?t.length>=t.highWaterMark:t.length>0)||t.ended))return ls("read: emitReadable",t.length,t.ended),t.length===0&&t.ended?CU(this):G8(this),null;if(e=Wwe(e,t),e===0&&t.ended)return t.length===0&&CU(this),null;var n=t.needReadable;ls("need readable",n),(t.length===0||t.length-e0?a=Jwe(e,t):a=null,a===null?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),t.length===0&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&CU(this)),a!==null&&this.emit("data",a),a};function H5t(e,t){if(ls("onEofChunk"),!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?G8(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,$we(e)))}}function G8(e){var t=e._readableState;ls("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(ls("emitReadable",t.flowing),t.emittedReadable=!0,process.nextTick($we,e))}function $we(e){var t=e._readableState;ls("emitReadable_",t.destroyed,t.length,t.ended),!t.destroyed&&(t.length||t.ended)&&(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,PU(e)}function LU(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(j5t,e,t))}function j5t(e,t){for(;!t.reading&&!t.ended&&(t.length1&&Qwe(n.pipes,e)!==-1)&&!u&&(ls("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function h(x){ls("onerror",x),m(),e.removeListener("error",h),Ywe(e,"error")===0&&HT(e,x)}U5t(e,"error",h);function v(){e.removeListener("finish",d),m()}e.once("close",v);function d(){ls("onfinish"),e.removeListener("close",v),m()}e.once("finish",d);function m(){ls("unpipe"),r.unpipe(e)}return e.emit("pipe",r),n.flowing||(ls("pipe resume"),r.resume()),e};function W5t(e){return function(){var r=e._readableState;ls("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&Ywe(e,"data")&&(r.flowing=!0,PU(e))}}Xs.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(t.pipesCount===0)return this;if(t.pipesCount===1)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r),this);if(!e){var n=t.pipes,a=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i0,n.flowing!==!1&&this.resume()):e==="readable"&&!n.endEmitted&&!n.readableListening&&(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,ls("on readable",n.length,n.reading),n.length?G8(this):n.reading||process.nextTick(Y5t,this)),r};Xs.prototype.addListener=Xs.prototype.on;Xs.prototype.removeListener=function(e,t){var r=jT.prototype.removeListener.call(this,e,t);return e==="readable"&&process.nextTick(Kwe,this),r};Xs.prototype.removeAllListeners=function(e){var t=jT.prototype.removeAllListeners.apply(this,arguments);return(e==="readable"||e===void 0)&&process.nextTick(Kwe,this),t};function Kwe(e){var t=e._readableState;t.readableListening=e.listenerCount("readable")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function Y5t(e){ls("readable nexttick read 0"),e.read(0)}Xs.prototype.resume=function(){var e=this._readableState;return e.flowing||(ls("resume"),e.flowing=!e.readableListening,X5t(this,e)),e.paused=!1,this};function X5t(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(Z5t,e,t))}function Z5t(e,t){ls("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),PU(e),t.flowing&&!t.reading&&e.read(0)}Xs.prototype.pause=function(){return ls("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(ls("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function PU(e){var t=e._readableState;for(ls("flow",t.flowing);t.flowing&&e.read()!==null;);}Xs.prototype.wrap=function(e){var t=this,r=this._readableState,n=!1;e.on("end",function(){if(ls("wrapped end"),r.decoder&&!r.ended){var o=r.decoder.end();o&&o.length&&t.push(o)}t.push(null)}),e.on("data",function(o){if(ls("wrapped data"),r.decoder&&(o=r.decoder.write(o)),!(r.objectMode&&o==null)&&!(!r.objectMode&&(!o||!o.length))){var s=t.push(o);s||(n=!0,e.pause())}});for(var a in e)this[a]===void 0&&typeof e[a]=="function"&&(this[a]=(function(s){return function(){return e[s].apply(e,arguments)}})(a));for(var i=0;i=t.length?(t.decoder?r=t.buffer.join(""):t.buffer.length===1?r=t.buffer.first():r=t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r}function CU(e){var t=e._readableState;ls("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick($5t,t,e))}function $5t(e,t){if(ls("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}typeof Symbol=="function"&&(Xs.from=function(e,t){return SU===void 0&&(SU=Hwe()),SU(Xs,e,t)});function Qwe(e,t){for(var r=0,n=e.length;r{"use strict";r5e.exports=Z1;var H8=Wx().codes,K5t=H8.ERR_METHOD_NOT_IMPLEMENTED,J5t=H8.ERR_MULTIPLE_CALLBACK,Q5t=H8.ERR_TRANSFORM_ALREADY_TRANSFORMING,e4t=H8.ERR_TRANSFORM_WITH_LENGTH_0,j8=Yx();Y1()(Z1,j8);function t4t(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(n===null)return this.emit("error",new J5t);r.writechunk=null,r.writecb=null,t!=null&&this.push(t),n(e);var a=this._readableState;a.reading=!1,(a.needReadable||a.length{"use strict";a5e.exports=WT;var n5e=DU();Y1()(WT,n5e);function WT(e){if(!(this instanceof WT))return new WT(e);n5e.call(this,e)}WT.prototype._transform=function(e,t,r){r(null,e)}});var c5e=ne((Olr,u5e)=>{"use strict";var RU;function n4t(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var l5e=Wx().codes,a4t=l5e.ERR_MISSING_ARGS,i4t=l5e.ERR_STREAM_DESTROYED;function o5e(e){if(e)throw e}function o4t(e){return e.setHeader&&typeof e.abort=="function"}function s4t(e,t,r,n){n=n4t(n);var a=!1;e.on("close",function(){a=!0}),RU===void 0&&(RU=B8()),RU(e,{readable:t,writable:r},function(o){if(o)return n(o);a=!0,n()});var i=!1;return function(o){if(!a&&!i){if(i=!0,o4t(e))return e.abort();if(typeof e.destroy=="function")return e.destroy();n(o||new i4t("pipe"))}}}function s5e(e){e()}function l4t(e,t){return e.pipe(t)}function u4t(e){return!e.length||typeof e[e.length-1]!="function"?o5e:e.pop()}function c4t(){for(var e=arguments.length,t=new Array(e),r=0;r0;return s4t(o,l,u,function(c){a||(a=c),c&&i.forEach(s5e),!l&&(i.forEach(s5e),n(a))})});return t.reduce(l4t)}u5e.exports=c4t});var h5e=ne((Nlr,f5e)=>{f5e.exports=d0;var IU=Vy().EventEmitter,f4t=Y1();f4t(d0,IU);d0.Readable=yU();d0.Writable=pU();d0.Duplex=Yx();d0.Transform=DU();d0.PassThrough=i5e();d0.finished=B8();d0.pipeline=c5e();d0.Stream=d0;function d0(){IU.call(this)}d0.prototype.pipe=function(e,t){var r=this;function n(c){e.writable&&e.write(c)===!1&&r.pause&&r.pause()}r.on("data",n);function a(){r.readable&&r.resume&&r.resume()}e.on("drain",a),!e._isStdio&&(!t||t.end!==!1)&&(r.on("end",o),r.on("close",s));var i=!1;function o(){i||(i=!0,e.end())}function s(){i||(i=!0,typeof e.destroy=="function"&&e.destroy())}function l(c){if(u(),IU.listenerCount(this,"error")===0)throw c}r.on("error",l),e.on("error",l);function u(){r.removeListener("data",n),e.removeListener("drain",a),r.removeListener("end",o),r.removeListener("close",s),r.removeListener("error",l),e.removeListener("error",l),r.removeListener("end",u),r.removeListener("close",u),e.removeListener("close",u)}return r.on("end",u),r.on("close",u),e.on("close",u),e.emit("pipe",r),e}});var w3=ne(ys=>{var d5e=Object.getOwnPropertyDescriptors||function(t){for(var r=Object.keys(t),n={},a=0;a=a)return s;switch(s){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(l){return"[Circular]"}default:return s}}),o=n[r];r=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),OU(t)?r.showHidden=t:t&&ys._extend(r,t),Qx(r.showHidden)&&(r.showHidden=!1),Qx(r.depth)&&(r.depth=2),Qx(r.colors)&&(r.colors=!1),Qx(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=d4t),Z8(r,e,r.depth)}ys.inspect=Cm;Cm.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]};Cm.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function d4t(e,t){var r=Cm.styles[t];return r?"\x1B["+Cm.colors[r][0]+"m"+e+"\x1B["+Cm.colors[r][1]+"m":e}function v4t(e,t){return e}function p4t(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function Z8(e,t,r){if(e.customInspect&&t&&X8(t.inspect)&&t.inspect!==ys.inspect&&!(t.constructor&&t.constructor.prototype===t)){var n=t.inspect(r,e);return J8(n)||(n=Z8(e,n,r)),n}var a=g4t(e,t);if(a)return a;var i=Object.keys(t),o=p4t(i);if(e.showHidden&&(i=Object.getOwnPropertyNames(t)),XT(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return zU(t);if(i.length===0){if(X8(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if(YT(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if($8(t))return e.stylize(Date.prototype.toString.call(t),"date");if(XT(t))return zU(t)}var l="",u=!1,c=["{","}"];if(p5e(t)&&(u=!0,c=["[","]"]),X8(t)){var f=t.name?": "+t.name:"";l=" [Function"+f+"]"}if(YT(t)&&(l=" "+RegExp.prototype.toString.call(t)),$8(t)&&(l=" "+Date.prototype.toUTCString.call(t)),XT(t)&&(l=" "+zU(t)),i.length===0&&(!u||t.length==0))return c[0]+l+c[1];if(r<0)return YT(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);var h;return u?h=m4t(e,t,r,o,i):h=i.map(function(v){return BU(e,t,r,o,v,u)}),e.seen.pop(),y4t(h,l,c)}function g4t(e,t){if(Qx(t))return e.stylize("undefined","undefined");if(J8(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(g5e(t))return e.stylize(""+t,"number");if(OU(t))return e.stylize(""+t,"boolean");if(K8(t))return e.stylize("null","null")}function zU(e){return"["+Error.prototype.toString.call(e)+"]"}function m4t(e,t,r,n,a){for(var i=[],o=0,s=t.length;o-1&&(i?s=s.split(` `).map(function(u){return" "+u}).join(` `).slice(2):s=` `+s.split(` `).map(function(u){return" "+u}).join(` -`))):s=e.stylize("[Circular]","special")),R2(o)){if(a&&i.match(/^\d+$/))return s;o=JSON.stringify(""+i),o.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+s}function s4t(e,t,r){var n=0,i=e.reduce(function(a,o){return n++,o.indexOf(` -`)>=0&&n++,a+o.replace(/\u001b\[\d\d?m/g,"").length+1},0);return i>60?r[0]+(t===""?"":t+` +`))):s=e.stylize("[Circular]","special")),Qx(o)){if(i&&a.match(/^\d+$/))return s;o=JSON.stringify(""+a),o.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+s}function y4t(e,t,r){var n=0,a=e.reduce(function(i,o){return n++,o.indexOf(` +`)>=0&&n++,i+o.replace(/\u001b\[\d\d?m/g,"").length+1},0);return a>60?r[0]+(t===""?"":t+` `)+" "+e.join(`, - `)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}fu.types=oj();function jSe(e){return Array.isArray(e)}fu.isArray=jSe;function jj(e){return typeof e=="boolean"}fu.isBoolean=jj;function HR(e){return e===null}fu.isNull=HR;function l4t(e){return e==null}fu.isNullOrUndefined=l4t;function WSe(e){return typeof e=="number"}fu.isNumber=WSe;function jR(e){return typeof e=="string"}fu.isString=jR;function u4t(e){return typeof e=="symbol"}fu.isSymbol=u4t;function R2(e){return e===void 0}fu.isUndefined=R2;function vE(e){return wA(e)&&Wj(e)==="[object RegExp]"}fu.isRegExp=vE;fu.types.isRegExp=vE;function wA(e){return typeof e=="object"&&e!==null}fu.isObject=wA;function GR(e){return wA(e)&&Wj(e)==="[object Date]"}fu.isDate=GR;fu.types.isDate=GR;function pE(e){return wA(e)&&(Wj(e)==="[object Error]"||e instanceof Error)}fu.isError=pE;fu.types.isNativeError=pE;function UR(e){return typeof e=="function"}fu.isFunction=UR;function c4t(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"||typeof e=="symbol"||typeof e=="undefined"}fu.isPrimitive=c4t;fu.isBuffer=sj();function Wj(e){return Object.prototype.toString.call(e)}function Gj(e){return e<10?"0"+e.toString(10):e.toString(10)}var f4t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function h4t(){var e=new Date,t=[Gj(e.getHours()),Gj(e.getMinutes()),Gj(e.getSeconds())].join(":");return[e.getDate(),f4t[e.getMonth()],t].join(" ")}fu.log=function(){console.log("%s - %s",h4t(),fu.format.apply(fu,arguments))};fu.inherits=Zy();fu._extend=function(e,t){if(!t||!wA(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};function XSe(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var I2=typeof Symbol!="undefined"?Symbol("util.promisify.custom"):void 0;fu.promisify=function(t){if(typeof t!="function")throw new TypeError('The "original" argument must be of type Function');if(I2&&t[I2]){var r=t[I2];if(typeof r!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(r,I2,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var n,i,a=new Promise(function(l,u){n=l,i=u}),o=[],s=0;s{"use strict";function X_(e){"@babel/helpers - typeof";return X_=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},X_(e)}function ZSe(e,t){for(var r=0;r2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:r===2?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}else return"of ".concat(t," ").concat(String(e))}function A4t(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function S4t(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function M4t(e,t,r){return typeof r!="number"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}gE("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError);gE("ERR_INVALID_ARG_TYPE",function(e,t,r){AA===void 0&&(AA=mE()),AA(typeof e=="string","'name' must be a string");var n;typeof t=="string"&&A4t(t,"not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be";var i;if(S4t(e," argument"))i="The ".concat(e," ").concat(n," ").concat(YSe(t,"type"));else{var a=M4t(e,".")?"property":"argument";i='The "'.concat(e,'" ').concat(a," ").concat(n," ").concat(YSe(t,"type"))}return i+=". Received type ".concat(X_(r)),i},TypeError);gE("ERR_INVALID_ARG_VALUE",function(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"is invalid";Xj===void 0&&(Xj=TA());var n=Xj.inspect(t);return n.length>128&&(n="".concat(n.slice(0,128),"...")),"The argument '".concat(e,"' ").concat(r,". Received ").concat(n)},TypeError,RangeError);gE("ERR_INVALID_RETURN_VALUE",function(e,t,r){var n;return r&&r.constructor&&r.constructor.name?n="instance of ".concat(r.constructor.name):n="type ".concat(X_(r)),"Expected ".concat(e,' to be returned from the "').concat(t,'"')+" function but got ".concat(n,".")},TypeError);gE("ERR_MISSING_ARGS",function(){for(var e=arguments.length,t=new Array(e),r=0;r0,"At least one arg needs to be specified");var n="The ",i=t.length;switch(t=t.map(function(a){return'"'.concat(a,'"')}),i){case 1:n+="".concat(t[0]," argument");break;case 2:n+="".concat(t[0]," and ").concat(t[1]," arguments");break;default:n+=t.slice(0,i-1).join(", "),n+=", and ".concat(t[i-1]," arguments");break}return"".concat(n," must be specified")},TypeError);JSe.exports.codes=KSe});var sMe=ye((Tdr,oMe)=>{"use strict";function $Se(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function QSe(e){for(var t=1;te.length)&&(r=e.length),e.substring(r-t.length,r)===t}function q4t(e,t){if(t=Math.floor(t),e.length==0||t==0)return"";var r=e.length*t;for(t=Math.floor(Math.log(t)/Math.log(2));t;)e+=e,t--;return e+=e.substring(0,r-e.length),e}var Xg="",yE="",_E="",Tv="",D2={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:"},O4t=10;function rMe(e){var t=Object.keys(e),r=Object.create(Object.getPrototypeOf(e));return t.forEach(function(n){r[n]=e[n]}),Object.defineProperty(r,"message",{value:e.message}),r}function xE(e){return $j(e,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function B4t(e,t,r){var n="",i="",a=0,o="",s=!1,l=xE(e),u=l.split(` -`),c=xE(t).split(` -`),f=0,h="";if(r==="strictEqual"&&Dp(e)==="object"&&Dp(t)==="object"&&e!==null&&t!==null&&(r="strictEqualObject"),u.length===1&&c.length===1&&u[0]!==c[0]){var d=u[0].length+c[0].length;if(d<=O4t){if((Dp(e)!=="object"||e===null)&&(Dp(t)!=="object"||t===null)&&(e!==0||t!==0))return"".concat(D2[r],` + `)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}ys.types=eU();function p5e(e){return Array.isArray(e)}ys.isArray=p5e;function OU(e){return typeof e=="boolean"}ys.isBoolean=OU;function K8(e){return e===null}ys.isNull=K8;function x4t(e){return e==null}ys.isNullOrUndefined=x4t;function g5e(e){return typeof e=="number"}ys.isNumber=g5e;function J8(e){return typeof e=="string"}ys.isString=J8;function b4t(e){return typeof e=="symbol"}ys.isSymbol=b4t;function Qx(e){return e===void 0}ys.isUndefined=Qx;function YT(e){return _3(e)&&NU(e)==="[object RegExp]"}ys.isRegExp=YT;ys.types.isRegExp=YT;function _3(e){return typeof e=="object"&&e!==null}ys.isObject=_3;function $8(e){return _3(e)&&NU(e)==="[object Date]"}ys.isDate=$8;ys.types.isDate=$8;function XT(e){return _3(e)&&(NU(e)==="[object Error]"||e instanceof Error)}ys.isError=XT;ys.types.isNativeError=XT;function X8(e){return typeof e=="function"}ys.isFunction=X8;function _4t(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"||typeof e=="symbol"||typeof e=="undefined"}ys.isPrimitive=_4t;ys.isBuffer=tU();function NU(e){return Object.prototype.toString.call(e)}function qU(e){return e<10?"0"+e.toString(10):e.toString(10)}var w4t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function T4t(){var e=new Date,t=[qU(e.getHours()),qU(e.getMinutes()),qU(e.getSeconds())].join(":");return[e.getDate(),w4t[e.getMonth()],t].join(" ")}ys.log=function(){console.log("%s - %s",T4t(),ys.format.apply(ys,arguments))};ys.inherits=Y1();ys._extend=function(e,t){if(!t||!_3(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};function m5e(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var Jx=typeof Symbol!="undefined"?Symbol("util.promisify.custom"):void 0;ys.promisify=function(t){if(typeof t!="function")throw new TypeError('The "original" argument must be of type Function');if(Jx&&t[Jx]){var r=t[Jx];if(typeof r!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(r,Jx,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var n,a,i=new Promise(function(l,u){n=l,a=u}),o=[],s=0;s{"use strict";function Lm(e){"@babel/helpers - typeof";return Lm=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Lm(e)}function y5e(e,t){for(var r=0;r2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:r===2?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}else return"of ".concat(t," ").concat(String(e))}function I4t(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function z4t(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function q4t(e,t,r){return typeof r!="number"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}ZT("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError);ZT("ERR_INVALID_ARG_TYPE",function(e,t,r){T3===void 0&&(T3=$T()),T3(typeof e=="string","'name' must be a string");var n;typeof t=="string"&&I4t(t,"not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be";var a;if(z4t(e," argument"))a="The ".concat(e," ").concat(n," ").concat(x5e(t,"type"));else{var i=q4t(e,".")?"property":"argument";a='The "'.concat(e,'" ').concat(i," ").concat(n," ").concat(x5e(t,"type"))}return a+=". Received type ".concat(Lm(r)),a},TypeError);ZT("ERR_INVALID_ARG_VALUE",function(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"is invalid";UU===void 0&&(UU=w3());var n=UU.inspect(t);return n.length>128&&(n="".concat(n.slice(0,128),"...")),"The argument '".concat(e,"' ").concat(r,". Received ").concat(n)},TypeError,RangeError);ZT("ERR_INVALID_RETURN_VALUE",function(e,t,r){var n;return r&&r.constructor&&r.constructor.name?n="instance of ".concat(r.constructor.name):n="type ".concat(Lm(r)),"Expected ".concat(e,' to be returned from the "').concat(t,'"')+" function but got ".concat(n,".")},TypeError);ZT("ERR_MISSING_ARGS",function(){for(var e=arguments.length,t=new Array(e),r=0;r0,"At least one arg needs to be specified");var n="The ",a=t.length;switch(t=t.map(function(i){return'"'.concat(i,'"')}),a){case 1:n+="".concat(t[0]," argument");break;case 2:n+="".concat(t[0]," and ").concat(t[1]," arguments");break;default:n+=t.slice(0,a-1).join(", "),n+=", and ".concat(t[a-1]," arguments");break}return"".concat(n," must be specified")},TypeError);_5e.exports.codes=b5e});var F5e=ne((Glr,L5e)=>{"use strict";function w5e(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function T5e(e){for(var t=1;te.length)&&(r=e.length),e.substring(r-t.length,r)===t}function X4t(e,t){if(t=Math.floor(t),e.length==0||t==0)return"";var r=e.length*t;for(t=Math.floor(Math.log(t)/Math.log(2));t;)e+=e,t--;return e+=e.substring(0,r-e.length),e}var tp="",KT="",JT="",Gh="",e2={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:"},Z4t=10;function S5e(e){var t=Object.keys(e),r=Object.create(Object.getPrototypeOf(e));return t.forEach(function(n){r[n]=e[n]}),Object.defineProperty(r,"message",{value:e.message}),r}function QT(e){return WU(e,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function $4t(e,t,r){var n="",a="",i=0,o="",s=!1,l=QT(e),u=l.split(` +`),c=QT(t).split(` +`),f=0,h="";if(r==="strictEqual"&&Jd(e)==="object"&&Jd(t)==="object"&&e!==null&&t!==null&&(r="strictEqualObject"),u.length===1&&c.length===1&&u[0]!==c[0]){var v=u[0].length+c[0].length;if(v<=Z4t){if((Jd(e)!=="object"||e===null)&&(Jd(t)!=="object"||t===null)&&(e!==0||t!==0))return"".concat(e2[r],` `)+"".concat(u[0]," !== ").concat(c[0],` -`)}else if(r!=="strictEqualObject"){var v=process.stderr&&process.stderr.isTTY?process.stderr.columns:80;if(d2&&(h=` - `.concat(q4t(" ",f),"^"),f=0)}}}for(var m=u[u.length-1],b=c[c.length-1];m===b&&(f++<2?o=` - `.concat(m).concat(o):n=m,u.pop(),c.pop(),!(u.length===0||c.length===0));)m=u[u.length-1],b=c[c.length-1];var p=Math.max(u.length,c.length);if(p===0){var k=l.split(` -`);if(k.length>30)for(k[26]="".concat(Xg,"...").concat(Tv);k.length>27;)k.pop();return"".concat(D2.notIdentical,` +`)}else if(r!=="strictEqualObject"){var d=process.stderr&&process.stderr.isTTY?process.stderr.columns:80;if(v2&&(h=` + `.concat(X4t(" ",f),"^"),f=0)}}}for(var m=u[u.length-1],x=c[c.length-1];m===x&&(f++<2?o=` + `.concat(m).concat(o):n=m,u.pop(),c.pop(),!(u.length===0||c.length===0));)m=u[u.length-1],x=c[c.length-1];var g=Math.max(u.length,c.length);if(g===0){var E=l.split(` +`);if(E.length>30)for(E[26]="".concat(tp,"...").concat(Gh);E.length>27;)E.pop();return"".concat(e2.notIdentical,` -`).concat(k.join(` +`).concat(E.join(` `),` `)}f>3&&(o=` -`.concat(Xg,"...").concat(Tv).concat(o),s=!0),n!==""&&(o=` - `.concat(n).concat(o),n="");var M=0,T=D2[r]+` -`.concat(yE,"+ actual").concat(Tv," ").concat(_E,"- expected").concat(Tv),L=" ".concat(Xg,"...").concat(Tv," Lines skipped");for(f=0;f1&&f>2&&(x>4?(i+=` -`.concat(Xg,"...").concat(Tv),s=!0):x>3&&(i+=` - `.concat(c[f-2]),M++),i+=` - `.concat(c[f-1]),M++),a=f,n+=` -`.concat(_E,"-").concat(Tv," ").concat(c[f]),M++;else if(c.length1&&f>2&&(x>4?(i+=` -`.concat(Xg,"...").concat(Tv),s=!0):x>3&&(i+=` - `.concat(u[f-2]),M++),i+=` - `.concat(u[f-1]),M++),a=f,i+=` -`.concat(yE,"+").concat(Tv," ").concat(u[f]),M++;else{var C=c[f],S=u[f],g=S!==C&&(!tMe(S,",")||S.slice(0,-1)!==C);g&&tMe(C,",")&&C.slice(0,-1)===S&&(g=!1,S+=","),g?(x>1&&f>2&&(x>4?(i+=` -`.concat(Xg,"...").concat(Tv),s=!0):x>3&&(i+=` - `.concat(u[f-2]),M++),i+=` - `.concat(u[f-1]),M++),a=f,i+=` -`.concat(yE,"+").concat(Tv," ").concat(S),n+=` -`.concat(_E,"-").concat(Tv," ").concat(C),M+=2):(i+=n,n="",(x===1||f===0)&&(i+=` - `.concat(S),M++))}if(M>20&&f30)for(d[26]="".concat(Xg,"...").concat(Tv);d.length>27;)d.pop();d.length===1?a=r.call(this,"".concat(h," ").concat(d[0])):a=r.call(this,"".concat(h,` - -`).concat(d.join(` +`.concat(tp,"...").concat(Gh).concat(o),s=!0),n!==""&&(o=` + `.concat(n).concat(o),n="");var M=0,w=e2[r]+` +`.concat(KT,"+ actual").concat(Gh," ").concat(JT,"- expected").concat(Gh),k=" ".concat(tp,"...").concat(Gh," Lines skipped");for(f=0;f1&&f>2&&(y>4?(a+=` +`.concat(tp,"...").concat(Gh),s=!0):y>3&&(a+=` + `.concat(c[f-2]),M++),a+=` + `.concat(c[f-1]),M++),i=f,n+=` +`.concat(JT,"-").concat(Gh," ").concat(c[f]),M++;else if(c.length1&&f>2&&(y>4?(a+=` +`.concat(tp,"...").concat(Gh),s=!0):y>3&&(a+=` + `.concat(u[f-2]),M++),a+=` + `.concat(u[f-1]),M++),i=f,a+=` +`.concat(KT,"+").concat(Gh," ").concat(u[f]),M++;else{var S=c[f],T=u[f],p=T!==S&&(!M5e(T,",")||T.slice(0,-1)!==S);p&&M5e(S,",")&&S.slice(0,-1)===T&&(p=!1,T+=","),p?(y>1&&f>2&&(y>4?(a+=` +`.concat(tp,"...").concat(Gh),s=!0):y>3&&(a+=` + `.concat(u[f-2]),M++),a+=` + `.concat(u[f-1]),M++),i=f,a+=` +`.concat(KT,"+").concat(Gh," ").concat(T),n+=` +`.concat(JT,"-").concat(Gh," ").concat(S),M+=2):(a+=n,n="",(y===1||f===0)&&(a+=` + `.concat(T),M++))}if(M>20&&f30)for(v[26]="".concat(tp,"...").concat(Gh);v.length>27;)v.pop();v.length===1?i=r.call(this,"".concat(h," ").concat(v[0])):i=r.call(this,"".concat(h,` + +`).concat(v.join(` `),` -`))}else{var v=xE(u),m="",b=D2[s];s==="notDeepEqual"||s==="notEqual"?(v="".concat(D2[s],` +`))}else{var d=QT(u),m="",x=e2[s];s==="notDeepEqual"||s==="notEqual"?(d="".concat(e2[s],` -`).concat(v),v.length>1024&&(v="".concat(v.slice(0,1021),"..."))):(m="".concat(xE(c)),v.length>512&&(v="".concat(v.slice(0,509),"...")),m.length>512&&(m="".concat(m.slice(0,509),"...")),s==="deepEqual"||s==="equal"?v="".concat(b,` +`).concat(d),d.length>1024&&(d="".concat(d.slice(0,1021),"..."))):(m="".concat(QT(c)),d.length>512&&(d="".concat(d.slice(0,509),"...")),m.length>512&&(m="".concat(m.slice(0,509),"...")),s==="deepEqual"||s==="equal"?d="".concat(x,` -`).concat(v,` +`).concat(d,` should equal -`):m=" ".concat(s," ").concat(m)),a=r.call(this,"".concat(v).concat(m))}return Error.stackTraceLimit=f,a.generatedMessage=!o,Object.defineProperty(Kj(a),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),a.code="ERR_ASSERTION",a.actual=u,a.expected=c,a.operator=s,Error.captureStackTrace&&Error.captureStackTrace(Kj(a),l),a.stack,a.name="AssertionError",nMe(a)}return C4t(n,[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:t,value:function(a,o){return $j(this,QSe(QSe({},o),{},{customInspect:!1,depth:0}))}}]),n}(Jj(Error),$j.custom);oMe.exports=N4t});var Qj=ye((Adr,uMe)=>{"use strict";var lMe=Object.prototype.toString;uMe.exports=function(t){var r=lMe.call(t),n=r==="[object Arguments]";return n||(n=r!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&lMe.call(t.callee)==="[object Function]"),n}});var yMe=ye((Sdr,mMe)=>{"use strict";var gMe;Object.keys||(TE=Object.prototype.hasOwnProperty,eW=Object.prototype.toString,cMe=Qj(),tW=Object.prototype.propertyIsEnumerable,fMe=!tW.call({toString:null},"toString"),hMe=tW.call(function(){},"prototype"),AE=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],ZR=function(e){var t=e.constructor;return t&&t.prototype===e},dMe={$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},vMe=function(){if(typeof window=="undefined")return!1;for(var e in window)try{if(!dMe["$"+e]&&TE.call(window,e)&&window[e]!==null&&typeof window[e]=="object")try{ZR(window[e])}catch(t){return!0}}catch(t){return!0}return!1}(),pMe=function(e){if(typeof window=="undefined"||!vMe)return ZR(e);try{return ZR(e)}catch(t){return!1}},gMe=function(t){var r=t!==null&&typeof t=="object",n=eW.call(t)==="[object Function]",i=cMe(t),a=r&&eW.call(t)==="[object String]",o=[];if(!r&&!n&&!i)throw new TypeError("Object.keys called on a non-object");var s=hMe&&n;if(a&&t.length>0&&!TE.call(t,0))for(var l=0;l0)for(var u=0;u{"use strict";var U4t=Array.prototype.slice,V4t=Qj(),_Me=Object.keys,YR=_Me?function(t){return _Me(t)}:yMe(),xMe=Object.keys;YR.shim=function(){if(Object.keys){var t=function(){var r=Object.keys(arguments);return r&&r.length===arguments.length}(1,2);t||(Object.keys=function(n){return V4t(n)?xMe(U4t.call(n)):xMe(n)})}else Object.keys=YR;return Object.keys||YR};bMe.exports=YR});var EMe=ye((Edr,MMe)=>{"use strict";var G4t=rW(),AMe=K8()(),SMe=vA(),wMe=Object,H4t=SMe("Array.prototype.push"),TMe=SMe("Object.prototype.propertyIsEnumerable"),j4t=AMe?Object.getOwnPropertySymbols:null;MMe.exports=function(t,r){if(t==null)throw new TypeError("target must be an object");var n=wMe(t);if(arguments.length===1)return n;for(var i=1;i{"use strict";var iW=EMe(),W4t=function(){if(!Object.assign)return!1;for(var e="abcdefghijklmnopqrst",t=e.split(""),r={},n=0;n{"use strict";var LMe=function(e){return e!==e};PMe.exports=function(t,r){return t===0&&r===0?1/t===1/r:!!(t===r||LMe(t)&&LMe(r))}});var KR=ye((Ldr,IMe)=>{"use strict";var Z4t=nW();IMe.exports=function(){return typeof Object.is=="function"?Object.is:Z4t}});var SE=ye((Pdr,zMe)=>{"use strict";var Y4t=rW(),K4t=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",J4t=Object.prototype.toString,$4t=Array.prototype.concat,RMe=Object.defineProperty,Q4t=function(e){return typeof e=="function"&&J4t.call(e)==="[object Function]"},eEt=NH()(),DMe=RMe&&eEt,tEt=function(e,t,r,n){if(t in e){if(n===!0){if(e[t]===r)return}else if(!Q4t(n)||!n())return}DMe?RMe(e,t,{configurable:!0,enumerable:!1,value:r,writable:!0}):e[t]=r},FMe=function(e,t){var r=arguments.length>2?arguments[2]:{},n=Y4t(t);K4t&&(n=$4t.call(n,Object.getOwnPropertySymbols(t)));for(var i=0;i{"use strict";var rEt=KR(),iEt=SE();qMe.exports=function(){var t=rEt();return iEt(Object,{is:t},{is:function(){return Object.is!==t}}),t}});var VMe=ye((Rdr,UMe)=>{"use strict";var nEt=SE(),aEt=rE(),oEt=nW(),BMe=KR(),sEt=OMe(),NMe=aEt(BMe(),Object);nEt(NMe,{getPolyfill:BMe,implementation:oEt,shim:sEt});UMe.exports=NMe});var aW=ye((Ddr,GMe)=>{"use strict";GMe.exports=function(t){return t!==t}});var oW=ye((Fdr,HMe)=>{"use strict";var lEt=aW();HMe.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:lEt}});var WMe=ye((zdr,jMe)=>{"use strict";var uEt=SE(),cEt=oW();jMe.exports=function(){var t=cEt();return uEt(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}});var KMe=ye((qdr,YMe)=>{"use strict";var fEt=rE(),hEt=SE(),dEt=aW(),XMe=oW(),vEt=WMe(),ZMe=fEt(XMe(),Number);hEt(ZMe,{getPolyfill:XMe,implementation:dEt,shim:vEt});YMe.exports=ZMe});var g4e=ye((Odr,p4e)=>{"use strict";function JMe(e,t){return yEt(e)||mEt(e,t)||gEt(e,t)||pEt()}function pEt(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gEt(e,t){if(e){if(typeof e=="string")return $Me(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $Me(e,t)}}function $Me(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r10)return!0;for(var t=0;t57)return!0}return e.length===10&&e>=Math.pow(2,32)}function QR(e){return Object.keys(e).filter(EEt).concat(tD(e).filter(Object.prototype.propertyIsEnumerable.bind(e)))}function f4e(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i{"use strict";function Zg(e){"@babel/helpers - typeof";return Zg=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Zg(e)}function m4e(e,t){for(var r=0;r1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i{"use strict";var P5e=Object.prototype.toString;D5e.exports=function(t){var r=P5e.call(t),n=r==="[object Arguments]";return n||(n=r!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&P5e.call(t.callee)==="[object Function]"),n}});var V5e=ne((jlr,U5e)=>{"use strict";var N5e;Object.keys||(rA=Object.prototype.hasOwnProperty,XU=Object.prototype.toString,R5e=YU(),ZU=Object.prototype.propertyIsEnumerable,I5e=!ZU.call({toString:null},"toString"),z5e=ZU.call(function(){},"prototype"),nA=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],tL=function(e){var t=e.constructor;return t&&t.prototype===e},q5e={$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},B5e=(function(){if(typeof window=="undefined")return!1;for(var e in window)try{if(!q5e["$"+e]&&rA.call(window,e)&&window[e]!==null&&typeof window[e]=="object")try{tL(window[e])}catch(t){return!0}}catch(t){return!0}return!1})(),O5e=function(e){if(typeof window=="undefined"||!B5e)return tL(e);try{return tL(e)}catch(t){return!1}},N5e=function(t){var r=t!==null&&typeof t=="object",n=XU.call(t)==="[object Function]",a=R5e(t),i=r&&XU.call(t)==="[object String]",o=[];if(!r&&!n&&!a)throw new TypeError("Object.keys called on a non-object");var s=z5e&&n;if(i&&t.length>0&&!rA.call(t,0))for(var l=0;l0)for(var u=0;u{"use strict";var J4t=Array.prototype.slice,Q4t=YU(),G5e=Object.keys,rL=G5e?function(t){return G5e(t)}:V5e(),H5e=Object.keys;rL.shim=function(){if(Object.keys){var t=(function(){var r=Object.keys(arguments);return r&&r.length===arguments.length})(1,2);t||(Object.keys=function(n){return Q4t(n)?H5e(J4t.call(n)):H5e(n)})}else Object.keys=rL;return Object.keys||rL};j5e.exports=rL});var K5e=ne((Ylr,$5e)=>{"use strict";var eTt=$U(),X5e=n8()(),Z5e=d3(),W5e=Object,tTt=Z5e("Array.prototype.push"),Y5e=Z5e("Object.prototype.propertyIsEnumerable"),rTt=X5e?Object.getOwnPropertySymbols:null;$5e.exports=function(t,r){if(t==null)throw new TypeError("target must be an object");var n=W5e(t);if(arguments.length===1)return n;for(var a=1;a{"use strict";var KU=K5e(),nTt=function(){if(!Object.assign)return!1;for(var e="abcdefghijklmnopqrst",t=e.split(""),r={},n=0;n{"use strict";var e4e=function(e){return e!==e};t4e.exports=function(t,r){return t===0&&r===0?1/t===1/r:!!(t===r||e4e(t)&&e4e(r))}});var nL=ne(($lr,r4e)=>{"use strict";var iTt=JU();r4e.exports=function(){return typeof Object.is=="function"?Object.is:iTt}});var aA=ne((Klr,o4e)=>{"use strict";var oTt=$U(),sTt=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",lTt=Object.prototype.toString,uTt=Array.prototype.concat,n4e=Object.defineProperty,cTt=function(e){return typeof e=="function"&&lTt.call(e)==="[object Function]"},fTt=RN()(),a4e=n4e&&fTt,hTt=function(e,t,r,n){if(t in e){if(n===!0){if(e[t]===r)return}else if(!cTt(n)||!n())return}a4e?n4e(e,t,{configurable:!0,enumerable:!1,value:r,writable:!0}):e[t]=r},i4e=function(e,t){var r=arguments.length>2?arguments[2]:{},n=oTt(t);sTt&&(n=uTt.call(n,Object.getOwnPropertySymbols(t)));for(var a=0;a{"use strict";var dTt=nL(),vTt=aA();s4e.exports=function(){var t=dTt();return vTt(Object,{is:t},{is:function(){return Object.is!==t}}),t}});var h4e=ne((Qlr,f4e)=>{"use strict";var pTt=aA(),gTt=IT(),mTt=JU(),u4e=nL(),yTt=l4e(),c4e=gTt(u4e(),Object);pTt(c4e,{getPolyfill:u4e,implementation:mTt,shim:yTt});f4e.exports=c4e});var QU=ne((eur,d4e)=>{"use strict";d4e.exports=function(t){return t!==t}});var eV=ne((tur,v4e)=>{"use strict";var xTt=QU();v4e.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:xTt}});var g4e=ne((rur,p4e)=>{"use strict";var bTt=aA(),_Tt=eV();p4e.exports=function(){var t=_Tt();return bTt(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}});var b4e=ne((nur,x4e)=>{"use strict";var wTt=IT(),TTt=aA(),ATt=QU(),m4e=eV(),MTt=g4e(),y4e=wTt(m4e(),Number);TTt(y4e,{getPolyfill:m4e,implementation:ATt,shim:MTt});x4e.exports=y4e});var N4e=ne((aur,O4e)=>{"use strict";function _4e(e,t){return CTt(e)||kTt(e,t)||ETt(e,t)||STt()}function STt(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ETt(e,t){if(e){if(typeof e=="string")return w4e(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return w4e(e,t)}}function w4e(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r10)return!0;for(var t=0;t57)return!0}return e.length===10&&e>=Math.pow(2,32)}function oL(e){return Object.keys(e).filter(BTt).concat(lL(e).filter(Object.prototype.propertyIsEnumerable.bind(e)))}function I4e(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,a=0,i=Math.min(r,n);a{"use strict";function rp(e){"@babel/helpers - typeof";return rp=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},rp(e)}function U4e(e,t){for(var r=0;r1?r-1:0),a=1;a1?r-1:0),a=1;a1?r-1:0),a=1;a1?r-1:0),a=1;a{var LE=1e3,PE=LE*60,IE=PE*60,RE=IE*24,QEt=RE*365.25;F4e.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return ekt(e);if(r==="number"&&isNaN(e)===!1)return t.long?rkt(e):tkt(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function ekt(e){if(e=String(e),!(e.length>100)){var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*QEt;case"days":case"day":case"d":return r*RE;case"hours":case"hour":case"hrs":case"hr":case"h":return r*IE;case"minutes":case"minute":case"mins":case"min":case"m":return r*PE;case"seconds":case"second":case"secs":case"sec":case"s":return r*LE;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function tkt(e){return e>=RE?Math.round(e/RE)+"d":e>=IE?Math.round(e/IE)+"h":e>=PE?Math.round(e/PE)+"m":e>=LE?Math.round(e/LE)+"s":e+"ms"}function rkt(e){return uD(e,RE,"day")||uD(e,IE,"hour")||uD(e,PE,"minute")||uD(e,LE,"second")||e+" ms"}function uD(e,t,r){if(!(e{Lc=q4e.exports=dW.debug=dW.default=dW;Lc.coerce=skt;Lc.disable=akt;Lc.enable=nkt;Lc.enabled=okt;Lc.humanize=z4e();Lc.names=[];Lc.skips=[];Lc.formatters={};var hW;function ikt(e){var t=0,r;for(r in e)t=(t<<5)-t+e.charCodeAt(r),t|=0;return Lc.colors[Math.abs(t)%Lc.colors.length]}function dW(e){function t(){if(t.enabled){var r=t,n=+new Date,i=n-(hW||n);r.diff=i,r.prev=hW,r.curr=n,hW=n;for(var a=new Array(arguments.length),o=0;o{up=N4e.exports=O4e();up.log=ckt;up.formatArgs=ukt;up.save=fkt;up.load=B4e;up.useColors=lkt;up.storage=typeof chrome!="undefined"&&typeof chrome.storage!="undefined"?chrome.storage.local:hkt();up.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"];function lkt(){return typeof window!="undefined"&&window.process&&window.process.type==="renderer"?!0:typeof document!="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}up.formatters.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}};function ukt(e){var t=this.useColors;if(e[0]=(t?"%c":"")+this.namespace+(t?" %c":" ")+e[0]+(t?"%c ":" ")+"+"+up.humanize(this.diff),!!t){var r="color: "+this.color;e.splice(1,0,r,"color: inherit");var n=0,i=0;e[0].replace(/%[a-zA-Z%]/g,function(a){a!=="%%"&&(n++,a==="%c"&&(i=n))}),e.splice(i,0,r)}}function ckt(){return typeof console=="object"&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function fkt(e){try{e==null?up.storage.removeItem("debug"):up.storage.debug=e}catch(t){}}function B4e(){var e;try{e=up.storage.debug}catch(t){}return!e&&typeof process!="undefined"&&"env"in process&&(e=process.env.DEBUG),e}up.enable(B4e());function hkt(){try{return window.localStorage}catch(e){}}});var Y4e=ye((Udr,Z4e)=>{var MA=mE(),J_=U4e()("stream-parser");Z4e.exports=vkt;var G4e=-1,cD=0,dkt=1,H4e=2;function vkt(e){var t=e&&typeof e._transform=="function",r=e&&typeof e._write=="function";if(!t&&!r)throw new Error("must pass a Writable or Transform stream in");J_("extending Parser into stream"),e._bytes=pkt,e._skipBytes=gkt,t&&(e._passthrough=mkt),t?e._transform=_kt:e._write=ykt}function DE(e){J_("initializing parser stream"),e._parserBytesLeft=0,e._parserBuffers=[],e._parserBuffered=0,e._parserState=G4e,e._parserCallback=null,typeof e.push=="function"&&(e._parserOutput=e.push.bind(e)),e._parserInit=!0}function pkt(e,t){MA(!this._parserCallback,'there is already a "callback" set!'),MA(isFinite(e)&&e>0,'can only buffer a finite number of bytes > 0, got "'+e+'"'),this._parserInit||DE(this),J_("buffering %o bytes",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=cD}function gkt(e,t){MA(!this._parserCallback,'there is already a "callback" set!'),MA(e>0,'can only skip > 0 bytes, got "'+e+'"'),this._parserInit||DE(this),J_("skipping %o bytes",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=dkt}function mkt(e,t){MA(!this._parserCallback,'There is already a "callback" set!'),MA(e>0,'can only pass through > 0 bytes, got "'+e+'"'),this._parserInit||DE(this),J_("passing through %o bytes",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=H4e}function ykt(e,t,r){this._parserInit||DE(this),J_("write(%o bytes)",e.length),typeof t=="function"&&(r=t),W4e(this,e,null,r)}function _kt(e,t,r){this._parserInit||DE(this),J_("transform(%o bytes)",e.length),typeof t!="function"&&(t=this._parserOutput),W4e(this,e,t,r)}function j4e(e,t,r,n){return e._parserBytesLeft<=0?n(new Error("got data but not currently parsing anything")):t.length<=e._parserBytesLeft?function(){return V4e(e,t,r,n)}:function(){var i=t.slice(0,e._parserBytesLeft);return V4e(e,i,r,function(a){if(a)return n(a);if(t.length>i.length)return function(){return j4e(e,t.slice(i.length),r,n)}})}}function V4e(e,t,r,n){if(e._parserBytesLeft-=t.length,J_("%o bytes left for stream piece",e._parserBytesLeft),e._parserState===cD?(e._parserBuffers.push(t),e._parserBuffered+=t.length):e._parserState===H4e&&r(t),e._parserBytesLeft===0){var i=e._parserCallback;if(i&&e._parserState===cD&&e._parserBuffers.length>1&&(t=Buffer.concat(e._parserBuffers,e._parserBuffered)),e._parserState!==cD&&(t=null),e._parserCallback=null,e._parserBuffered=0,e._parserState=G4e,e._parserBuffers.splice(0),i){var a=[];t&&a.push(t),r&&a.push(r);var o=i.length>a.length;o&&a.push(X4e(n));var s=i.apply(e,a);if(!o||n===s)return n}}else return n}var W4e=X4e(j4e);function X4e(e){return function(){for(var t=e.apply(this,arguments);typeof t=="function";)t=t();return t}}});var rc=ye(Jy=>{"use strict";var K4e=VSe().Transform,xkt=Y4e();function FE(){K4e.call(this,{readableObjectMode:!0})}FE.prototype=Object.create(K4e.prototype);FE.prototype.constructor=FE;xkt(FE.prototype);Jy.ParserStream=FE;Jy.sliceEq=function(e,t,r){for(var n=t,i=0;i{"use strict";var EA=rc().readUInt16BE,pW=rc().readUInt32BE;function zE(e,t){if(e.length<4+t)return null;var r=pW(e,t);return e.length>4&15,n=e[4]&15,i=e[5]>>4&15,a=EA(e,6),o=8,s=0;sa.width||i.width===a.width&&i.height>a.height?i:a}),r=e.reduce(function(i,a){return i.height>a.height||i.height===a.height&&i.width>a.width?i:a}),n;return t.width>r.height||t.width===r.height&&t.height>r.width?n=t:n=r,n}hD.exports.readSizeFromMeta=function(e){var t={sizes:[],transforms:[],item_inf:{},item_loc:{}};if(Skt(e,t),!!t.sizes.length){var r=Mkt(t.sizes),n=1;t.transforms.forEach(function(a){var o={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},s={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if(a.type==="imir"&&(a.value===0?n=s[n]:(n=s[n],n=o[n],n=o[n])),a.type==="irot")for(var l=0;l{"use strict";function dD(e,t){var r=new Error(e);return r.code=t,r}function Ekt(e){try{return decodeURIComponent(escape(e))}catch(t){return e}}function $y(e,t,r){this.input=e.subarray(t,r),this.start=t;var n=String.fromCharCode.apply(null,this.input.subarray(0,4));if(n!=="II*\0"&&n!=="MM\0*")throw dD("invalid TIFF signature","EBADDATA");this.big_endian=n[0]==="M"}$y.prototype.each=function(e){this.aborted=!1;var t=this.read_uint32(4);for(this.ifds_to_read=[{id:0,offset:t}];this.ifds_to_read.length>0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,e)}};$y.prototype.read_uint16=function(e){var t=this.input;if(e+2>t.length)throw dD("unexpected EOF","EBADDATA");return this.big_endian?t[e]*256+t[e+1]:t[e]+t[e+1]*256};$y.prototype.read_uint32=function(e){var t=this.input;if(e+4>t.length)throw dD("unexpected EOF","EBADDATA");return this.big_endian?t[e]*16777216+t[e+1]*65536+t[e+2]*256+t[e+3]:t[e]+t[e+1]*256+t[e+2]*65536+t[e+3]*16777216};$y.prototype.is_subifd_link=function(e,t){return e===0&&t===34665||e===0&&t===34853||e===34665&&t===40965};$y.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}};$y.prototype.exif_format_read=function(e,t){var r;switch(e){case 1:case 2:return r=this.input[t],r;case 6:return r=this.input[t],r|(r&128)*33554430;case 3:return r=this.read_uint16(t),r;case 8:return r=this.read_uint16(t),r|(r&32768)*131070;case 4:return r=this.read_uint32(t),r;case 9:return r=this.read_uint32(t),r|0;case 5:case 10:case 11:case 12:return null;case 7:return null;default:return null}};$y.prototype.scan_ifd=function(e,t,r){var n=this.read_uint16(t);t+=2;for(var i=0;ithis.input.length)throw dD("unexpected EOF","EBADDATA");for(var h=[],d=c,v=0;v0&&(this.ifds_to_read.push({id:a,offset:h[0]}),f=!0);var b={is_big_endian:this.big_endian,ifd:e,tag:a,format:o,count:s,entry_offset:t+this.start,data_length:u,data_offset:c+this.start,value:h,is_subifd_link:f};if(r(b)===!1){this.aborted=!0;return}t+=12}e===0&&this.ifds_to_read.push({id:1,offset:this.read_uint32(t)})};gW.exports.ExifParser=$y;gW.exports.get_orientation=function(e){var t=0;try{return new $y(e,0,e.length).each(function(r){if(r.ifd===0&&r.tag===274&&Array.isArray(r.value))return t=r.value[0],!1}),t}catch(r){return-1}}});var Q4e=ye((jdr,$4e)=>{"use strict";var kkt=rc().str2arr,Ckt=rc().sliceEq,Lkt=rc().readUInt32BE,pD=J4e(),Pkt=vD(),Ikt=kkt("ftyp");$4e.exports=function(e){if(Ckt(e,4,Ikt)){var t=pD.unbox(e,0);if(t){var r=pD.getMimeType(t.data);if(r){for(var n,i=t.end;;){var a=pD.unbox(e,i);if(!a)break;if(i=a.end,a.boxtype==="mdat")return;if(a.boxtype==="meta"){n=a.data;break}}if(n){var o=pD.readSizeFromMeta(n);if(o){var s={width:o.width,height:o.height,type:r.type,mime:r.mime,wUnits:"px",hUnits:"px"};if(o.variants.length>1&&(s.variants=o.variants),o.orientation&&(s.orientation=o.orientation),o.exif_location&&o.exif_location.offset+o.exif_location.length<=e.length){var l=Lkt(e,o.exif_location.offset),u=e.slice(o.exif_location.offset+l+4,o.exif_location.offset+o.exif_location.length),c=Pkt.get_orientation(u);c>0&&(s.orientation=c)}return s}}}}}}});var rEe=ye((Wdr,tEe)=>{"use strict";var Rkt=rc().str2arr,Dkt=rc().sliceEq,eEe=rc().readUInt16LE,Fkt=Rkt("BM");tEe.exports=function(e){if(!(e.length<26)&&Dkt(e,0,Fkt))return{width:eEe(e,18),height:eEe(e,22),type:"bmp",mime:"image/bmp",wUnits:"px",hUnits:"px"}}});var sEe=ye((Xdr,oEe)=>{"use strict";var aEe=rc().str2arr,iEe=rc().sliceEq,nEe=rc().readUInt16LE,zkt=aEe("GIF87a"),qkt=aEe("GIF89a");oEe.exports=function(e){if(!(e.length<10)&&!(!iEe(e,0,zkt)&&!iEe(e,0,qkt)))return{width:nEe(e,6),height:nEe(e,8),type:"gif",mime:"image/gif",wUnits:"px",hUnits:"px"}}});var cEe=ye((Zdr,uEe)=>{"use strict";var mW=rc().readUInt16LE,Okt=0,Bkt=1,lEe=16;uEe.exports=function(e){var t=mW(e,0),r=mW(e,2),n=mW(e,4);if(!(t!==Okt||r!==Bkt||!n)){for(var i=[],a={width:0,height:0},o=0;oa.width||l>a.height)&&(a=u)}return{width:a.width,height:a.height,variants:i,type:"ico",mime:"image/x-icon",wUnits:"px",hUnits:"px"}}}});var hEe=ye((Ydr,fEe)=>{"use strict";var yW=rc().readUInt16BE,Nkt=rc().str2arr,Ukt=rc().sliceEq,Vkt=vD(),Gkt=Nkt("Exif\0\0");fEe.exports=function(e){if(!(e.length<2)&&!(e[0]!==255||e[1]!==216||e[2]!==255))for(var t=2;;){for(;;){if(e.length-t<2)return;if(e[t++]===255)break}for(var r=e[t++],n;r===255;)r=e[t++];if(208<=r&&r<=217||r===1)n=0;else if(192<=r&&r<=254){if(e.length-t<2)return;n=yW(e,t)-2,t+=2}else return;if(r===217||r===218)return;var i;if(r===225&&n>=10&&Ukt(e,t,Gkt)&&(i=Vkt.get_orientation(e.slice(t+6,t+n))),n>=5&&192<=r&&r<=207&&r!==196&&r!==200&&r!==204){if(e.length-t0&&(a.orientation=i),a}t+=n}}});var mEe=ye((Kdr,gEe)=>{"use strict";var pEe=rc().str2arr,dEe=rc().sliceEq,vEe=rc().readUInt32BE,Hkt=pEe(`\x89PNG\r +`).concat(fL(e),` +`));var s=new Dm({actual:e,expected:t,message:r,operator:a,stackStartFn:n});throw s.generatedMessage=o,s}}Mu.match=function e(t,r,n){rTe(t,r,n,e,"match")};Mu.doesNotMatch=function e(t,r,n){rTe(t,r,n,e,"doesNotMatch")};function nTe(){for(var e=arguments.length,t=new Array(e),r=0;r{var uA=1e3,cA=uA*60,fA=cA*60,hA=fA*24,cAt=hA*365.25;iTe.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return fAt(e);if(r==="number"&&isNaN(e)===!1)return t.long?dAt(e):hAt(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function fAt(e){if(e=String(e),!(e.length>100)){var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*cAt;case"days":case"day":case"d":return r*hA;case"hours":case"hour":case"hrs":case"hr":case"h":return r*fA;case"minutes":case"minute":case"mins":case"min":case"m":return r*cA;case"seconds":case"second":case"secs":case"sec":case"s":return r*uA;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function hAt(e){return e>=hA?Math.round(e/hA)+"d":e>=fA?Math.round(e/fA)+"h":e>=cA?Math.round(e/cA)+"m":e>=uA?Math.round(e/uA)+"s":e+"ms"}function dAt(e){return gL(e,hA,"day")||gL(e,fA,"hour")||gL(e,cA,"minute")||gL(e,uA,"second")||e+" ms"}function gL(e,t,r){if(!(e{Ll=sTe.exports=sV.debug=sV.default=sV;Ll.coerce=yAt;Ll.disable=gAt;Ll.enable=pAt;Ll.enabled=mAt;Ll.humanize=oTe();Ll.names=[];Ll.skips=[];Ll.formatters={};var oV;function vAt(e){var t=0,r;for(r in e)t=(t<<5)-t+e.charCodeAt(r),t|=0;return Ll.colors[Math.abs(t)%Ll.colors.length]}function sV(e){function t(){if(t.enabled){var r=t,n=+new Date,a=n-(oV||n);r.diff=a,r.prev=oV,r.curr=n,oV=n;for(var i=new Array(arguments.length),o=0;o{Ed=cTe.exports=lTe();Ed.log=_At;Ed.formatArgs=bAt;Ed.save=wAt;Ed.load=uTe;Ed.useColors=xAt;Ed.storage=typeof chrome!="undefined"&&typeof chrome.storage!="undefined"?chrome.storage.local:TAt();Ed.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"];function xAt(){return typeof window!="undefined"&&window.process&&window.process.type==="renderer"?!0:typeof document!="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}Ed.formatters.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}};function bAt(e){var t=this.useColors;if(e[0]=(t?"%c":"")+this.namespace+(t?" %c":" ")+e[0]+(t?"%c ":" ")+"+"+Ed.humanize(this.diff),!!t){var r="color: "+this.color;e.splice(1,0,r,"color: inherit");var n=0,a=0;e[0].replace(/%[a-zA-Z%]/g,function(i){i!=="%%"&&(n++,i==="%c"&&(a=n))}),e.splice(a,0,r)}}function _At(){return typeof console=="object"&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function wAt(e){try{e==null?Ed.storage.removeItem("debug"):Ed.storage.debug=e}catch(t){}}function uTe(){var e;try{e=Ed.storage.debug}catch(t){}return!e&&typeof process!="undefined"&&"env"in process&&(e=process.env.DEBUG),e}Ed.enable(uTe());function TAt(){try{return window.localStorage}catch(e){}}});var xTe=ne((sur,yTe)=>{var M3=$T(),Rm=fTe()("stream-parser");yTe.exports=MAt;var dTe=-1,mL=0,AAt=1,vTe=2;function MAt(e){var t=e&&typeof e._transform=="function",r=e&&typeof e._write=="function";if(!t&&!r)throw new Error("must pass a Writable or Transform stream in");Rm("extending Parser into stream"),e._bytes=SAt,e._skipBytes=EAt,t&&(e._passthrough=kAt),t?e._transform=LAt:e._write=CAt}function dA(e){Rm("initializing parser stream"),e._parserBytesLeft=0,e._parserBuffers=[],e._parserBuffered=0,e._parserState=dTe,e._parserCallback=null,typeof e.push=="function"&&(e._parserOutput=e.push.bind(e)),e._parserInit=!0}function SAt(e,t){M3(!this._parserCallback,'there is already a "callback" set!'),M3(isFinite(e)&&e>0,'can only buffer a finite number of bytes > 0, got "'+e+'"'),this._parserInit||dA(this),Rm("buffering %o bytes",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=mL}function EAt(e,t){M3(!this._parserCallback,'there is already a "callback" set!'),M3(e>0,'can only skip > 0 bytes, got "'+e+'"'),this._parserInit||dA(this),Rm("skipping %o bytes",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=AAt}function kAt(e,t){M3(!this._parserCallback,'There is already a "callback" set!'),M3(e>0,'can only pass through > 0 bytes, got "'+e+'"'),this._parserInit||dA(this),Rm("passing through %o bytes",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=vTe}function CAt(e,t,r){this._parserInit||dA(this),Rm("write(%o bytes)",e.length),typeof t=="function"&&(r=t),gTe(this,e,null,r)}function LAt(e,t,r){this._parserInit||dA(this),Rm("transform(%o bytes)",e.length),typeof t!="function"&&(t=this._parserOutput),gTe(this,e,t,r)}function pTe(e,t,r,n){return e._parserBytesLeft<=0?n(new Error("got data but not currently parsing anything")):t.length<=e._parserBytesLeft?function(){return hTe(e,t,r,n)}:function(){var a=t.slice(0,e._parserBytesLeft);return hTe(e,a,r,function(i){if(i)return n(i);if(t.length>a.length)return function(){return pTe(e,t.slice(a.length),r,n)}})}}function hTe(e,t,r,n){if(e._parserBytesLeft-=t.length,Rm("%o bytes left for stream piece",e._parserBytesLeft),e._parserState===mL?(e._parserBuffers.push(t),e._parserBuffered+=t.length):e._parserState===vTe&&r(t),e._parserBytesLeft===0){var a=e._parserCallback;if(a&&e._parserState===mL&&e._parserBuffers.length>1&&(t=Buffer.concat(e._parserBuffers,e._parserBuffered)),e._parserState!==mL&&(t=null),e._parserCallback=null,e._parserBuffered=0,e._parserState=dTe,e._parserBuffers.splice(0),a){var i=[];t&&i.push(t),r&&i.push(r);var o=a.length>i.length;o&&i.push(mTe(n));var s=a.apply(e,i);if(!o||n===s)return n}}else return n}var gTe=mTe(pTe);function mTe(e){return function(){for(var t=e.apply(this,arguments);typeof t=="function";)t=t();return t}}});var el=ne($1=>{"use strict";var bTe=h5e().Transform,FAt=xTe();function vA(){bTe.call(this,{readableObjectMode:!0})}vA.prototype=Object.create(bTe.prototype);vA.prototype.constructor=vA;FAt(vA.prototype);$1.ParserStream=vA;$1.sliceEq=function(e,t,r){for(var n=t,a=0;a{"use strict";var S3=el().readUInt16BE,uV=el().readUInt32BE;function pA(e,t){if(e.length<4+t)return null;var r=uV(e,t);return e.length>4&15,n=e[4]&15,a=e[5]>>4&15,i=S3(e,6),o=8,s=0;si.width||a.width===i.width&&a.height>i.height?a:i}),r=e.reduce(function(a,i){return a.height>i.height||a.height===i.height&&a.width>i.width?a:i}),n;return t.width>r.height||t.width===r.height&&t.height>r.width?n=t:n=r,n}xL.exports.readSizeFromMeta=function(e){var t={sizes:[],transforms:[],item_inf:{},item_loc:{}};if(zAt(e,t),!!t.sizes.length){var r=qAt(t.sizes),n=1;t.transforms.forEach(function(i){var o={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},s={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if(i.type==="imir"&&(i.value===0?n=s[n]:(n=s[n],n=o[n],n=o[n])),i.type==="irot")for(var l=0;l{"use strict";function bL(e,t){var r=new Error(e);return r.code=t,r}function BAt(e){try{return decodeURIComponent(escape(e))}catch(t){return e}}function K1(e,t,r){this.input=e.subarray(t,r),this.start=t;var n=String.fromCharCode.apply(null,this.input.subarray(0,4));if(n!=="II*\0"&&n!=="MM\0*")throw bL("invalid TIFF signature","EBADDATA");this.big_endian=n[0]==="M"}K1.prototype.each=function(e){this.aborted=!1;var t=this.read_uint32(4);for(this.ifds_to_read=[{id:0,offset:t}];this.ifds_to_read.length>0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,e)}};K1.prototype.read_uint16=function(e){var t=this.input;if(e+2>t.length)throw bL("unexpected EOF","EBADDATA");return this.big_endian?t[e]*256+t[e+1]:t[e]+t[e+1]*256};K1.prototype.read_uint32=function(e){var t=this.input;if(e+4>t.length)throw bL("unexpected EOF","EBADDATA");return this.big_endian?t[e]*16777216+t[e+1]*65536+t[e+2]*256+t[e+3]:t[e]+t[e+1]*256+t[e+2]*65536+t[e+3]*16777216};K1.prototype.is_subifd_link=function(e,t){return e===0&&t===34665||e===0&&t===34853||e===34665&&t===40965};K1.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}};K1.prototype.exif_format_read=function(e,t){var r;switch(e){case 1:case 2:return r=this.input[t],r;case 6:return r=this.input[t],r|(r&128)*33554430;case 3:return r=this.read_uint16(t),r;case 8:return r=this.read_uint16(t),r|(r&32768)*131070;case 4:return r=this.read_uint32(t),r;case 9:return r=this.read_uint32(t),r|0;case 5:case 10:case 11:case 12:return null;case 7:return null;default:return null}};K1.prototype.scan_ifd=function(e,t,r){var n=this.read_uint16(t);t+=2;for(var a=0;athis.input.length)throw bL("unexpected EOF","EBADDATA");for(var h=[],v=c,d=0;d0&&(this.ifds_to_read.push({id:i,offset:h[0]}),f=!0);var x={is_big_endian:this.big_endian,ifd:e,tag:i,format:o,count:s,entry_offset:t+this.start,data_length:u,data_offset:c+this.start,value:h,is_subifd_link:f};if(r(x)===!1){this.aborted=!0;return}t+=12}e===0&&this.ifds_to_read.push({id:1,offset:this.read_uint32(t)})};cV.exports.ExifParser=K1;cV.exports.get_orientation=function(e){var t=0;try{return new K1(e,0,e.length).each(function(r){if(r.ifd===0&&r.tag===274&&Array.isArray(r.value))return t=r.value[0],!1}),t}catch(r){return-1}}});var TTe=ne((fur,wTe)=>{"use strict";var OAt=el().str2arr,NAt=el().sliceEq,UAt=el().readUInt32BE,wL=_Te(),VAt=_L(),GAt=OAt("ftyp");wTe.exports=function(e){if(NAt(e,4,GAt)){var t=wL.unbox(e,0);if(t){var r=wL.getMimeType(t.data);if(r){for(var n,a=t.end;;){var i=wL.unbox(e,a);if(!i)break;if(a=i.end,i.boxtype==="mdat")return;if(i.boxtype==="meta"){n=i.data;break}}if(n){var o=wL.readSizeFromMeta(n);if(o){var s={width:o.width,height:o.height,type:r.type,mime:r.mime,wUnits:"px",hUnits:"px"};if(o.variants.length>1&&(s.variants=o.variants),o.orientation&&(s.orientation=o.orientation),o.exif_location&&o.exif_location.offset+o.exif_location.length<=e.length){var l=UAt(e,o.exif_location.offset),u=e.slice(o.exif_location.offset+l+4,o.exif_location.offset+o.exif_location.length),c=VAt.get_orientation(u);c>0&&(s.orientation=c)}return s}}}}}}});var STe=ne((hur,MTe)=>{"use strict";var HAt=el().str2arr,jAt=el().sliceEq,ATe=el().readUInt16LE,WAt=HAt("BM");MTe.exports=function(e){if(!(e.length<26)&&jAt(e,0,WAt))return{width:ATe(e,18),height:ATe(e,22),type:"bmp",mime:"image/bmp",wUnits:"px",hUnits:"px"}}});var FTe=ne((dur,LTe)=>{"use strict";var CTe=el().str2arr,ETe=el().sliceEq,kTe=el().readUInt16LE,YAt=CTe("GIF87a"),XAt=CTe("GIF89a");LTe.exports=function(e){if(!(e.length<10)&&!(!ETe(e,0,YAt)&&!ETe(e,0,XAt)))return{width:kTe(e,6),height:kTe(e,8),type:"gif",mime:"image/gif",wUnits:"px",hUnits:"px"}}});var RTe=ne((vur,DTe)=>{"use strict";var fV=el().readUInt16LE,ZAt=0,$At=1,PTe=16;DTe.exports=function(e){var t=fV(e,0),r=fV(e,2),n=fV(e,4);if(!(t!==ZAt||r!==$At||!n)){for(var a=[],i={width:0,height:0},o=0;oi.width||l>i.height)&&(i=u)}return{width:i.width,height:i.height,variants:a,type:"ico",mime:"image/x-icon",wUnits:"px",hUnits:"px"}}}});var zTe=ne((pur,ITe)=>{"use strict";var hV=el().readUInt16BE,KAt=el().str2arr,JAt=el().sliceEq,QAt=_L(),e6t=KAt("Exif\0\0");ITe.exports=function(e){if(!(e.length<2)&&!(e[0]!==255||e[1]!==216||e[2]!==255))for(var t=2;;){for(;;){if(e.length-t<2)return;if(e[t++]===255)break}for(var r=e[t++],n;r===255;)r=e[t++];if(208<=r&&r<=217||r===1)n=0;else if(192<=r&&r<=254){if(e.length-t<2)return;n=hV(e,t)-2,t+=2}else return;if(r===217||r===218)return;var a;if(r===225&&n>=10&&JAt(e,t,e6t)&&(a=QAt.get_orientation(e.slice(t+6,t+n))),n>=5&&192<=r&&r<=207&&r!==196&&r!==200&&r!==204){if(e.length-t0&&(i.orientation=a),i}t+=n}}});var UTe=ne((gur,NTe)=>{"use strict";var OTe=el().str2arr,qTe=el().sliceEq,BTe=el().readUInt32BE,t6t=OTe(`\x89PNG\r  -`),jkt=pEe("IHDR");gEe.exports=function(e){if(!(e.length<24)&&dEe(e,0,Hkt)&&dEe(e,12,jkt))return{width:vEe(e,16),height:vEe(e,20),type:"png",mime:"image/png",wUnits:"px",hUnits:"px"}}});var xEe=ye((Jdr,_Ee)=>{"use strict";var Wkt=rc().str2arr,Xkt=rc().sliceEq,yEe=rc().readUInt32BE,Zkt=Wkt("8BPS\0");_Ee.exports=function(e){if(!(e.length<22)&&Xkt(e,0,Zkt))return{width:yEe(e,18),height:yEe(e,14),type:"psd",mime:"image/vnd.adobe.photoshop",wUnits:"px",hUnits:"px"}}});var TEe=ye(($dr,wEe)=>{"use strict";function Ykt(e){return e===32||e===9||e===13||e===10}function kA(e){return typeof e=="number"&&isFinite(e)&&e>0}function Kkt(e){var t=0,r=e.length;for(e[0]===239&&e[1]===187&&e[2]===191&&(t=3);t]*>/,$kt=/^<([-_.:a-zA-Z0-9]+:)?svg\s/,Qkt=/[^-]\bwidth="([^%]+?)"|[^-]\bwidth='([^%]+?)'/,eCt=/\bheight="([^%]+?)"|\bheight='([^%]+?)'/,tCt=/\bview[bB]ox="(.+?)"|\bview[bB]ox='(.+?)'/,bEe=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function rCt(e){var t=e.match(Qkt),r=e.match(eCt),n=e.match(tCt);return{width:t&&(t[1]||t[2]),height:r&&(r[1]||r[2]),viewbox:n&&(n[1]||n[2])}}function Zm(e){return bEe.test(e)?e.match(bEe)[0]:"px"}wEe.exports=function(e){if(Kkt(e)){for(var t="",r=0;r{"use strict";var MEe=rc().str2arr,AEe=rc().sliceEq,iCt=rc().readUInt16LE,nCt=rc().readUInt16BE,aCt=rc().readUInt32LE,oCt=rc().readUInt32BE,sCt=MEe("II*\0"),lCt=MEe("MM\0*");function gD(e,t,r){return r?nCt(e,t):iCt(e,t)}function _W(e,t,r){return r?oCt(e,t):aCt(e,t)}function SEe(e,t,r){var n=gD(e,t+2,r),i=_W(e,t+4,r);return i!==1||n!==3&&n!==4?null:n===3?gD(e,t+8,r):_W(e,t+8,r)}EEe.exports=function(e){if(!(e.length<8)&&!(!AEe(e,0,sCt)&&!AEe(e,0,lCt))){var t=e[0]===77,r=_W(e,4,t)-8;if(!(r<0)){var n=r+8;if(!(e.length-n<2)){var i=gD(e,n+0,t)*12;if(!(i<=0)&&(n+=2,!(e.length-n{"use strict";var PEe=rc().str2arr,CEe=rc().sliceEq,LEe=rc().readUInt16LE,xW=rc().readUInt32LE,uCt=vD(),cCt=PEe("RIFF"),fCt=PEe("WEBP");function hCt(e,t){if(!(e[t+3]!==157||e[t+4]!==1||e[t+5]!==42))return{width:LEe(e,t+6)&16383,height:LEe(e,t+8)&16383,type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}function dCt(e,t){if(e[t]===47){var r=xW(e,t+1);return{width:(r&16383)+1,height:(r>>14&16383)+1,type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}}function vCt(e,t){return{width:(e[t+6]<<16|e[t+5]<<8|e[t+4])+1,height:(e[t+9]<e.length)){for(;t+8=10?r=r||hCt(e,t+8):a==="VP8L"&&o>=9?r=r||dCt(e,t+8):a==="VP8X"&&o>=10?r=r||vCt(e,t+8):a==="EXIF"&&(n=uCt.get_orientation(e.slice(t+8,t+8+o)),t=1/0),t+=8+o}if(r)return n>0&&(r.orientation=n),r}}}});var FEe=ye((tvr,DEe)=>{"use strict";DEe.exports={avif:Q4e(),bmp:rEe(),gif:sEe(),ico:cEe(),jpeg:hEe(),png:mEe(),psd:xEe(),svg:TEe(),tiff:kEe(),webp:REe()}});var zEe=ye((rvr,wW)=>{"use strict";var bW=FEe();function pCt(e){for(var t=Object.keys(bW),r=0;r{"use strict";var gCt=zEe(),mCt=qy().IMAGE_URL_PREFIX,yCt=b2().Buffer;qEe.getImageSize=function(e){var t=e.replace(mCt,""),r=new yCt(t,"base64");return gCt(r)}});var UEe=ye((nvr,NEe)=>{"use strict";var BEe=Pr(),_Ct=tA(),xCt=Eo(),mD=ho(),bCt=Pr().maxRowLength,wCt=OEe().getImageSize;NEe.exports=function(t,r){var n,i;if(r._hasZ)n=r.z.length,i=bCt(r.z);else if(r._hasSource){var a=wCt(r.source);n=a.height,i=a.width}var o=mD.getFromId(t,r.xaxis||"x"),s=mD.getFromId(t,r.yaxis||"y"),l=o.d2c(r.x0)-r.dx/2,u=s.d2c(r.y0)-r.dy/2,c,f=[l,l+i*r.dx],h=[u,u+n*r.dy];if(o&&o.type==="log")for(c=0;c{"use strict";var MCt=qa(),F2=Pr(),VEe=F2.strTranslate,ECt=Wp(),kCt=tA(),CCt=lG(),LCt=m8().STYLE;GEe.exports=function(t,r,n,i){var a=r.xaxis,o=r.yaxis,s=!t._context._exportedPlot&&CCt();F2.makeTraceGroups(i,n,"im").each(function(l){var u=MCt.select(this),c=l[0],f=c.trace,h=(f.zsmooth==="fast"||f.zsmooth===!1&&s)&&!f._hasZ&&f._hasSource&&a.type==="linear"&&o.type==="linear";f._realImage=h;var d=c.z,v=c.x0,m=c.y0,b=c.w,p=c.h,k=f.dx,M=f.dy,T,L,x,C,S,g;for(g=0;T===void 0&&g0;)L=a.c2p(v+g*k),g--;for(g=0;C===void 0&&g0;)S=o.c2p(m+g*M),g--;if(LH[0];if(ie||ae){var _e=T+E/2,Ee=C+z/2;j+="transform:"+VEe(_e+"px",Ee+"px")+"scale("+(ie?-1:1)+","+(ae?-1:1)+")"+VEe(-_e+"px",-Ee+"px")+";"}}Z.attr("style",j);var Ce=new Promise(function(ge){if(f._hasZ)ge();else if(f._hasSource)if(f._canvas&&f._canvas.el.width===b&&f._canvas.el.height===p&&f._canvas.source===f.source)ge();else{var re=document.createElement("canvas");re.width=b,re.height=p;var Se=re.getContext("2d",{willReadFrequently:!0});f._image=f._image||new Image;var ke=f._image;ke.onload=function(){Se.drawImage(ke,0,0),f._canvas={el:re,source:f.source},ge()},ke.setAttribute("src",f.source)}}).then(function(){var ge,re;if(f._hasZ)re=G(function(be,Be){var Le=d[Be][be];return F2.isTypedArray(Le)&&(Le=Array.from(Le)),Le}),ge=re.toDataURL("image/png");else if(f._hasSource)if(h)ge=f.source;else{var Se=f._canvas.el.getContext("2d",{willReadFrequently:!0}),ke=Se.getImageData(0,0,b,p).data;re=G(function(be,Be){var Le=4*(Be*b+be);return[ke[Le],ke[Le+1],ke[Le+2],ke[Le+3]]}),ge=re.toDataURL("image/png")}Z.attr({"xlink:href":ge,height:z,width:E,x:T,y:C})});t._promises.push(Ce)})}});var WEe=ye((ovr,jEe)=>{"use strict";var PCt=qa();jEe.exports=function(t){PCt.select(t).selectAll(".im image").style("opacity",function(r){return r[0].trace.opacity})}});var KEe=ye((svr,YEe)=>{"use strict";var XEe=ef(),ZEe=Pr(),yD=ZEe.isArrayOrTypedArray,ICt=tA();YEe.exports=function(t,r,n){var i=t.cd[0],a=i.trace,o=t.xa,s=t.ya;if(!(XEe.inbox(r-i.x0,r-(i.x0+i.w*a.dx),0)>0||XEe.inbox(n-i.y0,n-(i.y0+i.h*a.dy),0)>0)){var l=Math.floor((r-i.x0)/a.dx),u=Math.floor(Math.abs(n-i.y0)/a.dy),c;if(a._hasZ?c=i.z[u][l]:a._hasSource&&(c=a._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(l,u,1,1).data),!!c){var f=i.hi||a.hoverinfo,h;if(f){var d=f.split("+");d.indexOf("all")!==-1&&(d=["color"]),d.indexOf("color")!==-1&&(h=!0)}var v=ICt.colormodel[a.colormodel],m=v.colormodel||a.colormodel,b=m.length,p=a._scaler(c),k=v.suffix,M=[];(a.hovertemplate||h)&&(M.push("["+[p[0]+k[0],p[1]+k[1],p[2]+k[2]].join(", ")),b===4&&M.push(", "+p[3]+k[3]),M.push("]"),M=M.join(""),t.extraText=m.toUpperCase()+": "+M);var T;yD(a.hovertext)&&yD(a.hovertext[u])?T=a.hovertext[u][l]:yD(a.text)&&yD(a.text[u])&&(T=a.text[u][l]);var L=s.c2p(i.y0+(u+.5)*a.dy),x=i.x0+(l+.5)*a.dx,C=i.y0+(u+.5)*a.dy,S="["+c.slice(0,a.colormodel.length).join(", ")+"]";return[ZEe.extendFlat(t,{index:[u,l],x0:o.c2p(i.x0+l*a.dx),x1:o.c2p(i.x0+(l+1)*a.dx),y0:L,y1:L,color:p,xVal:x,xLabelVal:x,yVal:C,yLabelVal:C,zLabelVal:S,text:T,hovertemplateLabels:{zLabel:S,colorLabel:M,"color[0]Label":p[0]+k[0],"color[1]Label":p[1]+k[1],"color[2]Label":p[2]+k[2],"color[3]Label":p[3]+k[3]}})]}}}});var $Ee=ye((lvr,JEe)=>{"use strict";JEe.exports=function(t,r){return"xVal"in r&&(t.x=r.xVal),"yVal"in r&&(t.y=r.yVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t.color=r.color,t.colormodel=r.trace.colormodel,t.z||(t.z=r.color),t}});var eke=ye((uvr,QEe)=>{"use strict";QEe.exports={attributes:yH(),supplyDefaults:K3e(),calc:UEe(),plot:HEe(),style:WEe(),hoverPoints:KEe(),eventData:$Ee(),moduleType:"trace",name:"image",basePlotModule:mh(),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}});var rke=ye((cvr,tke)=>{"use strict";tke.exports=eke()});var z2=ye((fvr,nke)=>{"use strict";var _D=Gl(),RCt=Cc().attributes,DCt=ec(),FCt=Ih(),{hovertemplateAttrs:zCt,texttemplateAttrs:qCt,templatefallbackAttrs:ike}=Ll(),$_=Ao().extendFlat,OCt=Pd().pattern,xD=DCt({editType:"plot",arrayOk:!0,colorEditType:"plot"});nke.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:FCt.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},pattern:OCt,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:$_({},_D.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:zCt({},{keys:["label","color","value","percent","text"]}),hovertemplatefallback:ike(),texttemplate:qCt({editType:"plot"},{keys:["label","color","value","percent","text"]}),texttemplatefallback:ike({editType:"plot"}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:$_({},xD,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:$_({},xD,{}),outsidetextfont:$_({},xD,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},showlegend:$_({},_D.showlegend,{arrayOk:!0}),legend:$_({},_D.legend,{arrayOk:!0}),legendrank:$_({},_D.legendrank,{arrayOk:!0}),title:{text:{valType:"string",dflt:"",editType:"plot"},font:$_({},xD,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:RCt({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"}}});var q2=ye((hvr,ske)=>{"use strict";var BCt=Eo(),qE=Pr(),NCt=z2(),UCt=Cc().defaults,VCt=i0().handleText,GCt=Pr().coercePattern;function ake(e,t){var r=qE.isArrayOrTypedArray(e),n=qE.isArrayOrTypedArray(t),i=Math.min(r?e.length:1/0,n?t.length:1/0);if(isFinite(i)||(i=0),i&&n){for(var a,o=0;o0){a=!0;break}}a||(i=0)}return{hasLabels:r,hasValues:n,len:i}}function oke(e,t,r,n,i){var a=n("marker.line.width");a&&n("marker.line.color",i?void 0:r.paper_bgcolor);var o=n("marker.colors");GCt(n,"marker.pattern",o),e.marker&&!t.marker.pattern.fgcolor&&(t.marker.pattern.fgcolor=e.marker.colors),t.marker.pattern.bgcolor||(t.marker.pattern.bgcolor=r.paper_bgcolor)}function HCt(e,t,r,n){function i(k,M){return qE.coerce(e,t,NCt,k,M)}var a=i("labels"),o=i("values"),s=ake(a,o),l=s.len;if(t._hasLabels=s.hasLabels,t._hasValues=s.hasValues,!t._hasLabels&&t._hasValues&&(i("label0"),i("dlabel")),!l){t.visible=!1;return}t._length=l,oke(e,t,n,i,!0),i("scalegroup");var u=i("text"),c=i("texttemplate");i("texttemplatefallback");var f;if(c||(f=i("textinfo",qE.isArrayOrTypedArray(u)?"text+percent":"percent")),i("hovertext"),i("hovertemplate"),i("hovertemplatefallback"),c||f&&f!=="none"){var h=i("textposition");VCt(e,t,n,i,h,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1});var d=Array.isArray(h)||h==="auto",v=d||h==="outside";v&&i("automargin"),(h==="inside"||h==="auto"||Array.isArray(h))&&i("insidetextorientation")}else f==="none"&&i("textposition","none");UCt(t,n,i);var m=i("hole"),b=i("title.text");if(b){var p=i("title.position",m?"middle center":"top center");!m&&p==="middle center"&&(t.title.position="top center"),qE.coerceFont(i,"title.font",n.font)}i("sort"),i("direction"),i("rotation"),i("pull")}ske.exports={handleLabelsAndValues:ake,handleMarkerDefaults:oke,supplyDefaults:HCt}});var bD=ye((dvr,lke)=>{"use strict";lke.exports={hiddenlabels:{valType:"data_array",editType:"calc"},piecolorway:{valType:"colorlist",editType:"calc"},extendpiecolors:{valType:"boolean",dflt:!0,editType:"calc"}}});var cke=ye((vvr,uke)=>{"use strict";var jCt=Pr(),WCt=bD();uke.exports=function(t,r){function n(i,a){return jCt.coerce(t,r,WCt,i,a)}n("hiddenlabels"),n("piecolorway",r.colorway),n("extendpiecolors")}});var CA=ye((pvr,dke)=>{"use strict";var XCt=Eo(),TW=fd(),ZCt=ka(),YCt={};function KCt(e,t){var r=[],n=e._fullLayout,i=n.hiddenlabels||[],a=t.labels,o=t.marker.colors||[],s=t.values,l=t._length,u=t._hasValues&&l,c,f;if(t.dlabel)for(a=new Array(l),c=0;c=0});var T=t.type==="funnelarea"?m:t.sort;return T&&r.sort(function(L,x){return x.v-L.v}),r[0]&&(r[0].vTotal=v),r}function fke(e){return function(r,n){return!r||(r=TW(r),!r.isValid())?!1:(r=ZCt.addOpacity(r,r.getAlpha()),e[n]||(e[n]=r),r)}}function JCt(e,t){var r=(t||{}).type;r||(r="pie");var n=e._fullLayout,i=e.calcdata,a=n[r+"colorway"],o=n["_"+r+"colormap"];n["extend"+r+"colors"]&&(a=hke(a,YCt));for(var s=0,l=0;l{"use strict";var $Ct=ip().appendArrayMultiPointValues;vke.exports=function(t,r){var n={curveNumber:r.index,pointNumbers:t.pts,data:r._input,fullData:r,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return t.pts.length===1&&(n.pointNumber=n.i=t.pts[0]),$Ct(n,r,t.pts),r.type==="funnelarea"&&(delete n.v,delete n.i),n}});var SD=ye((mvr,zke)=>{"use strict";var Fp=qa(),QCt=Mc(),wD=ef(),bke=ka(),Qy=So(),iv=Pr(),e6t=iv.strScale,gke=iv.strTranslate,AW=Zl(),wke=bv(),t6t=wke.recordMinTextSize,r6t=wke.clearMinTextSize,Tke=A_().TEXTPAD,ns=g_(),TD=pke(),mke=Pr().isValidTextValue;function i6t(e,t){var r=e._context.staticPlot,n=e._fullLayout,i=n._size;r6t("pie",n),Mke(t,e),Rke(t,i);var a=iv.makeTraceGroups(n._pielayer,t,"trace").each(function(o){var s=Fp.select(this),l=o[0],u=l.trace;h6t(o),s.attr("stroke-linejoin","round"),s.each(function(){var c=Fp.select(this).selectAll("g.slice").data(o);c.enter().append("g").classed("slice",!0),c.exit().remove();var f=[[[],[]],[[],[]]],h=!1;c.each(function(T,L){if(T.hidden){Fp.select(this).selectAll("path,g").remove();return}T.pointNumber=T.i,T.curveNumber=u.index,f[T.pxmid[1]<0?0:1][T.pxmid[0]<0?0:1].push(T);var x=l.cx,C=l.cy,S=Fp.select(this),g=S.selectAll("path.surface").data([T]);if(g.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),S.call(Ake,e,o),u.pull){var P=+ns.castOption(u.pull,T.pts)||0;P>0&&(x+=P*T.pxmid[0],C+=P*T.pxmid[1])}T.cxFinal=x,T.cyFinal=C;function E(N,H,ie,ae){var _e=ae*(H[0]-N[0]),Ee=ae*(H[1]-N[1]);return"a"+ae*l.r+","+ae*l.r+" 0 "+T.largeArc+(ie?" 1 ":" 0 ")+_e+","+Ee}var z=u.hole;if(T.v===l.vTotal){var q="M"+(x+T.px0[0])+","+(C+T.px0[1])+E(T.px0,T.pxmid,!0,1)+E(T.pxmid,T.px0,!0,1)+"Z";z?g.attr("d","M"+(x+z*T.px0[0])+","+(C+z*T.px0[1])+E(T.px0,T.pxmid,!1,z)+E(T.pxmid,T.px0,!1,z)+"Z"+q):g.attr("d",q)}else{var V=E(T.px0,T.px1,!0,1);if(z){var G=1-z;g.attr("d","M"+(x+z*T.px1[0])+","+(C+z*T.px1[1])+E(T.px1,T.px0,!1,z)+"l"+G*T.px0[0]+","+G*T.px0[1]+V+"Z")}else g.attr("d","M"+x+","+C+"l"+T.px0[0]+","+T.px0[1]+V+"Z")}Dke(e,T,l);var Z=ns.castOption(u.textposition,T.pts),j=S.selectAll("g.slicetext").data(T.text&&Z!=="none"?[0]:[]);j.enter().append("g").classed("slicetext",!0),j.exit().remove(),j.each(function(){var N=iv.ensureSingle(Fp.select(this),"text","",function(re){re.attr("data-notex",1)}),H=iv.ensureUniformFontSize(e,Z==="outside"?a6t(u,T,n.font):Ske(u,T,n.font));N.text(T.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(Qy.font,H).call(AW.convertToTspans,e);var ie=Qy.bBox(N.node()),ae;if(Z==="outside")ae=xke(ie,T);else if(ae=Eke(ie,T,l),Z==="auto"&&ae.scale<1){var _e=iv.ensureUniformFontSize(e,u.outsidetextfont);N.call(Qy.font,_e),ie=Qy.bBox(N.node()),ae=xke(ie,T)}var Ee=ae.textPosAngle,Ce=Ee===void 0?T.pxmid:AD(l.r,Ee);if(ae.targetX=x+Ce[0]*ae.rCenter+(ae.x||0),ae.targetY=C+Ce[1]*ae.rCenter+(ae.y||0),Fke(ae,ie),ae.outside){var ge=ae.targetY;T.yLabelMin=ge-ie.height/2,T.yLabelMid=ge,T.yLabelMax=ge+ie.height/2,T.labelExtraX=0,T.labelExtraY=0,h=!0}ae.fontSize=H.size,t6t(u.type,ae,n),o[L].transform=ae,iv.setTransormAndDisplay(N,ae)})});var d=Fp.select(this).selectAll("g.titletext").data(u.title.text?[0]:[]);if(d.enter().append("g").classed("titletext",!0),d.exit().remove(),d.each(function(){var T=iv.ensureSingle(Fp.select(this),"text","",function(C){C.attr("data-notex",1)}),L=u.title.text;u._meta&&(L=iv.templateString(L,u._meta)),T.text(L).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(Qy.font,u.title.font).call(AW.convertToTspans,e);var x;u.title.position==="middle center"?x=l6t(l):x=Pke(l,i),T.attr("transform",gke(x.x,x.y)+e6t(Math.min(1,x.scale))+gke(x.tx,x.ty))}),h&&c6t(f,u),n6t(c,u),h&&u.automargin){var v=Qy.bBox(s.node()),m=u.domain,b=i.w*(m.x[1]-m.x[0]),p=i.h*(m.y[1]-m.y[0]),k=(.5*b-l.r)/i.w,M=(.5*p-l.r)/i.h;QCt.autoMargin(e,"pie."+u.uid+".automargin",{xl:m.x[0]-k,xr:m.x[1]+k,yb:m.y[0]-M,yt:m.y[1]+M,l:Math.max(l.cx-l.r-v.left,0),r:Math.max(v.right-(l.cx+l.r),0),b:Math.max(v.bottom-(l.cy+l.r),0),t:Math.max(l.cy-l.r-v.top,0),pad:5})}})});setTimeout(function(){a.selectAll("tspan").each(function(){var o=Fp.select(this);o.attr("dy")&&o.attr("dy",o.attr("dy"))})},0)}function n6t(e,t){e.each(function(r){var n=Fp.select(this);if(!r.labelExtraX&&!r.labelExtraY){n.select("path.textline").remove();return}var i=n.select("g.slicetext text");r.transform.targetX+=r.labelExtraX,r.transform.targetY+=r.labelExtraY,iv.setTransormAndDisplay(i,r.transform);var a=r.cxFinal+r.pxmid[0],o=r.cyFinal+r.pxmid[1],s="M"+a+","+o,l=(r.yLabelMax-r.yLabelMin)*(r.pxmid[0]<0?-1:1)/4;if(r.labelExtraX){var u=r.labelExtraX*r.pxmid[1]/r.pxmid[0],c=r.yLabelMid+r.labelExtraY-(r.cyFinal+r.pxmid[1]);Math.abs(u)>Math.abs(c)?s+="l"+c*r.pxmid[0]/r.pxmid[1]+","+c+"H"+(a+r.labelExtraX+l):s+="l"+r.labelExtraX+","+u+"v"+(c-u)+"h"+l}else s+="V"+(r.yLabelMid+r.labelExtraY)+"h"+l;iv.ensureSingle(n,"path","textline").call(bke.stroke,t.outsidetextfont.color).attr({"stroke-width":Math.min(2,t.outsidetextfont.size/8),d:s,fill:"none"})})}function Ake(e,t,r){var n=r[0],i=n.cx,a=n.cy,o=n.trace,s=o.type==="funnelarea";"_hasHoverLabel"in o||(o._hasHoverLabel=!1),"_hasHoverEvent"in o||(o._hasHoverEvent=!1),e.on("mouseover",function(l){var u=t._fullLayout,c=t._fullData[o.index];if(!(t._dragging||u.hovermode===!1)){var f=c.hoverinfo;if(Array.isArray(f)&&(f=wD.castHoverinfo({hoverinfo:[ns.castOption(f,l.pts)],_module:o._module},u,0)),f==="all"&&(f="label+text+value+percent+name"),c.hovertemplate||f!=="none"&&f!=="skip"&&f){var h=l.rInscribed||0,d=i+l.pxmid[0]*(1-h),v=a+l.pxmid[1]*(1-h),m=u.separators,b=[];if(f&&f.indexOf("label")!==-1&&b.push(l.label),l.text=ns.castOption(c.hovertext||c.text,l.pts),f&&f.indexOf("text")!==-1){var p=l.text;iv.isValidTextValue(p)&&b.push(p)}l.value=l.v,l.valueLabel=ns.formatPieValue(l.v,m),f&&f.indexOf("value")!==-1&&b.push(l.valueLabel),l.percent=l.v/n.vTotal,l.percentLabel=ns.formatPiePercent(l.percent,m),f&&f.indexOf("percent")!==-1&&b.push(l.percentLabel);var k=c.hoverlabel,M=k.font,T=[];wD.loneHover({trace:o,x0:d-h*n.r,x1:d+h*n.r,y:v,_x0:s?i+l.TL[0]:d-h*n.r,_x1:s?i+l.TR[0]:d+h*n.r,_y0:s?a+l.TL[1]:v-h*n.r,_y1:s?a+l.BL[1]:v+h*n.r,text:b.join("
"),name:c.hovertemplate||f.indexOf("name")!==-1?c.name:void 0,idealAlign:l.pxmid[0]<0?"left":"right",color:ns.castOption(k.bgcolor,l.pts)||l.color,borderColor:ns.castOption(k.bordercolor,l.pts),fontFamily:ns.castOption(M.family,l.pts),fontSize:ns.castOption(M.size,l.pts),fontColor:ns.castOption(M.color,l.pts),nameLength:ns.castOption(k.namelength,l.pts),textAlign:ns.castOption(k.align,l.pts),hovertemplate:ns.castOption(c.hovertemplate,l.pts),hovertemplateLabels:l,eventData:[TD(l,c)]},{container:u._hoverlayer.node(),outerContainer:u._paper.node(),gd:t,inOut_bbox:T}),l.bbox=T[0],o._hasHoverLabel=!0}o._hasHoverEvent=!0,t.emit("plotly_hover",{points:[TD(l,c)],event:Fp.event})}}),e.on("mouseout",function(l){var u=t._fullLayout,c=t._fullData[o.index],f=Fp.select(this).datum();o._hasHoverEvent&&(l.originalEvent=Fp.event,t.emit("plotly_unhover",{points:[TD(f,c)],event:Fp.event}),o._hasHoverEvent=!1),o._hasHoverLabel&&(wD.loneUnhover(u._hoverlayer.node()),o._hasHoverLabel=!1)}),e.on("click",function(l){var u=t._fullLayout,c=t._fullData[o.index];t._dragging||u.hovermode===!1||(t._hoverdata=[TD(l,c)],wD.click(t,Fp.event))})}function a6t(e,t,r){var n=ns.castOption(e.outsidetextfont.color,t.pts)||ns.castOption(e.textfont.color,t.pts)||r.color,i=ns.castOption(e.outsidetextfont.family,t.pts)||ns.castOption(e.textfont.family,t.pts)||r.family,a=ns.castOption(e.outsidetextfont.size,t.pts)||ns.castOption(e.textfont.size,t.pts)||r.size,o=ns.castOption(e.outsidetextfont.weight,t.pts)||ns.castOption(e.textfont.weight,t.pts)||r.weight,s=ns.castOption(e.outsidetextfont.style,t.pts)||ns.castOption(e.textfont.style,t.pts)||r.style,l=ns.castOption(e.outsidetextfont.variant,t.pts)||ns.castOption(e.textfont.variant,t.pts)||r.variant,u=ns.castOption(e.outsidetextfont.textcase,t.pts)||ns.castOption(e.textfont.textcase,t.pts)||r.textcase,c=ns.castOption(e.outsidetextfont.lineposition,t.pts)||ns.castOption(e.textfont.lineposition,t.pts)||r.lineposition,f=ns.castOption(e.outsidetextfont.shadow,t.pts)||ns.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n,family:i,size:a,weight:o,style:s,variant:l,textcase:u,lineposition:c,shadow:f}}function Ske(e,t,r){var n=ns.castOption(e.insidetextfont.color,t.pts);!n&&e._input.textfont&&(n=ns.castOption(e._input.textfont.color,t.pts));var i=ns.castOption(e.insidetextfont.family,t.pts)||ns.castOption(e.textfont.family,t.pts)||r.family,a=ns.castOption(e.insidetextfont.size,t.pts)||ns.castOption(e.textfont.size,t.pts)||r.size,o=ns.castOption(e.insidetextfont.weight,t.pts)||ns.castOption(e.textfont.weight,t.pts)||r.weight,s=ns.castOption(e.insidetextfont.style,t.pts)||ns.castOption(e.textfont.style,t.pts)||r.style,l=ns.castOption(e.insidetextfont.variant,t.pts)||ns.castOption(e.textfont.variant,t.pts)||r.variant,u=ns.castOption(e.insidetextfont.textcase,t.pts)||ns.castOption(e.textfont.textcase,t.pts)||r.textcase,c=ns.castOption(e.insidetextfont.lineposition,t.pts)||ns.castOption(e.textfont.lineposition,t.pts)||r.lineposition,f=ns.castOption(e.insidetextfont.shadow,t.pts)||ns.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n||bke.contrast(t.color),family:i,size:a,weight:o,style:s,variant:l,textcase:u,lineposition:c,shadow:f}}function Mke(e,t){for(var r,n,i=0;i=-4;k-=2)p(Math.PI*k,"tan");for(k=4;k>=-4;k-=2)p(Math.PI*(k+1),"tan")}if(f||d){for(k=4;k>=-4;k-=2)p(Math.PI*(k+1.5),"rad");for(k=4;k>=-4;k-=2)p(Math.PI*(k+.5),"rad")}}if(s||v||f){var M=Math.sqrt(e.width*e.width+e.height*e.height);if(b={scale:i*n*2/M,rCenter:1-i,rotate:0},b.textPosAngle=(t.startangle+t.stopangle)/2,b.scale>=1)return b;m.push(b)}(v||d)&&(b=yke(e,n,o,l,u),b.textPosAngle=(t.startangle+t.stopangle)/2,m.push(b)),(v||h)&&(b=_ke(e,n,o,l,u),b.textPosAngle=(t.startangle+t.stopangle)/2,m.push(b));for(var T=0,L=0,x=0;x=1)break}return m[T]}function o6t(e,t){var r=e.startangle,n=e.stopangle;return r>t&&t>n||r0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function l6t(e){var t=Math.sqrt(e.titleBox.width*e.titleBox.width+e.titleBox.height*e.titleBox.height);return{x:e.cx,y:e.cy,scale:e.trace.hole*e.r*2/t,tx:0,ty:-e.titleBox.height/2+e.trace.title.font.size}}function Pke(e,t){var r=1,n=1,i,a=e.trace,o={x:e.cx,y:e.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=Ike(a),a.title.position.indexOf("top")!==-1?(o.y-=(1+i)*e.r,s.ty-=e.titleBox.height):a.title.position.indexOf("bottom")!==-1&&(o.y+=(1+i)*e.r);var l=u6t(e.r,e.trace.aspectratio),u=t.w*(a.domain.x[1]-a.domain.x[0])/2;return a.title.position.indexOf("left")!==-1?(u=u+l,o.x-=(1+i)*l,s.tx+=e.titleBox.width/2):a.title.position.indexOf("center")!==-1?u*=2:a.title.position.indexOf("right")!==-1&&(u=u+l,o.x+=(1+i)*l,s.tx-=e.titleBox.width/2),r=u/e.titleBox.width,n=SW(e,t)/e.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function u6t(e,t){return e/(t===void 0?1:t)}function SW(e,t){var r=e.trace,n=t.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(e.titleBox.height,n/2)}function Ike(e){var t=e.pull;if(!t)return 0;var r;if(iv.isArrayOrTypedArray(t))for(t=0,r=0;rt&&(t=e.pull[r]);return t}function c6t(e,t){var r,n,i,a,o,s,l,u,c,f,h,d,v;function m(M,T){return M.pxmid[1]-T.pxmid[1]}function b(M,T){return T.pxmid[1]-M.pxmid[1]}function p(M,T){T||(T={});var L=T.labelExtraY+(n?T.yLabelMax:T.yLabelMin),x=n?M.yLabelMin:M.yLabelMax,C=n?M.yLabelMax:M.yLabelMin,S=M.cyFinal+o(M.px0[1],M.px1[1]),g=L-x,P,E,z,q,V,G;if(g*l>0&&(M.labelExtraY=g),!!iv.isArrayOrTypedArray(t.pull))for(E=0;E=(ns.castOption(t.pull,z.pts)||0))&&((M.pxmid[1]-z.pxmid[1])*l>0?(q=z.cyFinal+o(z.px0[1],z.px1[1]),g=q-x-M.labelExtraY,g*l>0&&(M.labelExtraY+=g)):(C+M.labelExtraY-S)*l>0&&(P=3*s*Math.abs(E-f.indexOf(M)),V=z.cxFinal+a(z.px0[0],z.px1[0]),G=V+P-(M.cxFinal+M.pxmid[0])-M.labelExtraX,G*s>0&&(M.labelExtraX+=G)))}for(n=0;n<2;n++)for(i=n?m:b,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,u=e[n][r],u.sort(i),c=e[1-n][r],f=c.concat(u),d=[],h=0;h1?(u=r.r,c=u/i.aspectratio):(c=r.r,u=c*i.aspectratio),u*=(1+i.baseratio)/2,l=u*c}o=Math.min(o,l/r.vTotal)}for(n=0;nt.vTotal/2?1:0,u.halfangle=Math.PI*Math.min(u.v/t.vTotal,.5),u.ring=1-n.hole,u.rInscribed=s6t(u,t))}function AD(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}function Dke(e,t,r){var n=e._fullLayout,i=r.trace,a=i.texttemplate,o=i.textinfo;if(!a&&o&&o!=="none"){var s=o.split("+"),l=function(T){return s.indexOf(T)!==-1},u=l("label"),c=l("text"),f=l("value"),h=l("percent"),d=n.separators,v;if(v=u?[t.label]:[],c){var m=ns.getFirstFilled(i.text,t.pts);mke(m)&&v.push(m)}f&&v.push(ns.formatPieValue(t.v,d)),h&&v.push(ns.formatPiePercent(t.v/r.vTotal,d)),t.text=v.join("
")}function b(T){return{label:T.label,value:T.v,valueLabel:ns.formatPieValue(T.v,n.separators),percent:T.v/r.vTotal,percentLabel:ns.formatPiePercent(T.v/r.vTotal,n.separators),color:T.color,text:T.text,customdata:iv.castOption(i,T.i,"customdata")}}if(a){var p=iv.castOption(i,t.i,"texttemplate");if(!p)t.text="";else{var k=b(t),M=ns.getFirstFilled(i.text,t.pts);(mke(M)||M==="")&&(k.text=M),t.text=iv.texttemplateString({data:[k,i._meta],fallback:i.texttemplatefallback,labels:k,locale:e._fullLayout._d3locale,template:p})}}}function Fke(e,t){var r=e.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(t.left+t.right)/2,o=(t.top+t.bottom)/2;e.textX=a*n-o*i,e.textY=a*i+o*n,e.noCenter=!0}zke.exports={plot:i6t,formatSliceLabel:Dke,transformInsideText:Eke,determineInsideTextFont:Ske,positionTitleOutside:Pke,prerenderTitles:Mke,layoutAreas:Rke,attachFxHandlers:Ake,computeTransform:Fke}});var Bke=ye((yvr,Oke)=>{"use strict";var qke=qa(),d6t=Y3(),v6t=bv().resizeText;Oke.exports=function(t){var r=t._fullLayout._pielayer.selectAll(".trace");v6t(t,r,"pie"),r.each(function(n){var i=n[0],a=i.trace,o=qke.select(this);o.style({opacity:a.opacity}),o.selectAll("path.surface").each(function(s){qke.select(this).call(d6t,s,a,t)})})}});var Uke=ye(LA=>{"use strict";var Nke=Mc();LA.name="pie";LA.plot=function(e,t,r,n){Nke.plotBasePlot(LA.name,e,t,r,n)};LA.clean=function(e,t,r,n){Nke.cleanBasePlot(LA.name,e,t,r,n)}});var Gke=ye((xvr,Vke)=>{"use strict";Vke.exports={attributes:z2(),supplyDefaults:q2().supplyDefaults,supplyLayoutDefaults:cke(),layoutAttributes:bD(),calc:CA().calc,crossTraceCalc:CA().crossTraceCalc,plot:SD().plot,style:Bke(),styleOne:Y3(),moduleType:"trace",name:"pie",basePlotModule:Uke(),categories:["pie-like","pie","showLegend"],meta:{}}});var jke=ye((bvr,Hke)=>{"use strict";Hke.exports=Gke()});var Xke=ye(PA=>{"use strict";var Wke=Mc();PA.name="sunburst";PA.plot=function(e,t,r,n){Wke.plotBasePlot(PA.name,e,t,r,n)};PA.clean=function(e,t,r,n){Wke.cleanBasePlot(PA.name,e,t,r,n)}});var MW=ye((Tvr,Zke)=>{"use strict";Zke.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"linear",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"]}});var BE=ye((Avr,Jke)=>{"use strict";var p6t=Gl(),{hovertemplateAttrs:g6t,texttemplateAttrs:m6t,templatefallbackAttrs:Yke}=Ll(),y6t=Tu(),_6t=Cc().attributes,e1=z2(),Kke=MW(),OE=Ao().extendFlat,x6t=Pd().pattern;Jke.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:OE({colors:{valType:"data_array",editType:"calc"},line:{color:OE({},e1.marker.line.color,{dflt:null}),width:OE({},e1.marker.line.width,{dflt:1}),editType:"calc"},pattern:x6t,editType:"calc"},y6t("marker",{colorAttr:"colors",anim:!1})),leaf:{opacity:{valType:"number",editType:"style",min:0,max:1},editType:"plot"},text:e1.text,textinfo:{valType:"flaglist",flags:["label","text","value","current path","percent root","percent entry","percent parent"],extras:["none"],editType:"plot"},texttemplate:m6t({editType:"plot"},{keys:Kke.eventDataKeys.concat(["label","value"])}),texttemplatefallback:Yke({editType:"plot"}),hovertext:e1.hovertext,hoverinfo:OE({},p6t.hoverinfo,{flags:["label","text","value","name","current path","percent root","percent entry","percent parent"],dflt:"label+text+value+name"}),hovertemplate:g6t({},{keys:Kke.eventDataKeys}),hovertemplatefallback:Yke(),textfont:e1.textfont,insidetextorientation:e1.insidetextorientation,insidetextfont:e1.insidetextfont,outsidetextfont:OE({},e1.outsidetextfont,{}),rotation:{valType:"angle",dflt:0,editType:"plot"},sort:e1.sort,root:{color:{valType:"color",editType:"calc",dflt:"rgba(0,0,0,0)"},editType:"calc"},domain:_6t({name:"sunburst",trace:!0,editType:"calc"})}});var EW=ye((Svr,$ke)=>{"use strict";$ke.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}});var rCe=ye((Mvr,tCe)=>{"use strict";var Qke=Pr(),b6t=BE(),w6t=Cc().defaults,T6t=i0().handleText,A6t=q2().handleMarkerDefaults,eCe=tc(),S6t=eCe.hasColorscale,M6t=eCe.handleDefaults;tCe.exports=function(t,r,n,i){function a(h,d){return Qke.coerce(t,r,b6t,h,d)}var o=a("labels"),s=a("parents");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a("values");l&&l.length?a("branchvalues"):a("count"),a("level"),a("maxdepth"),A6t(t,r,i,a);var u=r._hasColorscale=S6t(t,"marker","colors")||(t.marker||{}).coloraxis;u&&M6t(t,r,i,a,{prefix:"marker.",cLetter:"c"}),a("leaf.opacity",u?1:.7);var c=a("text");a("texttemplate"),a("texttemplatefallback"),r.texttemplate||a("textinfo",Qke.isArrayOrTypedArray(c)?"text+label":"label"),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback");var f="auto";T6t(t,r,i,a,f,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a("insidetextorientation"),a("sort"),a("rotation"),a("root.color"),w6t(r,i,a),r._length=null}});var nCe=ye((Evr,iCe)=>{"use strict";var E6t=Pr(),k6t=EW();iCe.exports=function(t,r){function n(i,a){return E6t.coerce(t,r,k6t,i,a)}n("sunburstcolorway",r.colorway),n("extendsunburstcolors")}});var NE=ye((MD,aCe)=>{(function(e,t){typeof MD=="object"&&typeof aCe!="undefined"?t(MD):(e=e||self,t(e.d3=e.d3||{}))})(MD,function(e){"use strict";function t(We,et){return We.parent===et.parent?1:2}function r(We){return We.reduce(n,0)/We.length}function n(We,et){return We+et.x}function i(We){return 1+We.reduce(a,0)}function a(We,et){return Math.max(We,et.y)}function o(We){for(var et;et=We.children;)We=et[0];return We}function s(We){for(var et;et=We.children;)We=et[et.length-1];return We}function l(){var We=t,et=1,xt=1,At=!1;function Kt(Qt){var Mr,Gr=0;Qt.eachAfter(function(ai){var mi=ai.children;mi?(ai.x=r(mi),ai.y=i(mi)):(ai.x=Mr?Gr+=We(ai,Mr):0,ai.y=0,Mr=ai)});var Ir=o(Qt),Yr=s(Qt),_i=Ir.x-We(Ir,Yr)/2,Pi=Yr.x+We(Yr,Ir)/2;return Qt.eachAfter(At?function(ai){ai.x=(ai.x-Qt.x)*et,ai.y=(Qt.y-ai.y)*xt}:function(ai){ai.x=(ai.x-_i)/(Pi-_i)*et,ai.y=(1-(Qt.y?ai.y/Qt.y:1))*xt})}return Kt.separation=function(Qt){return arguments.length?(We=Qt,Kt):We},Kt.size=function(Qt){return arguments.length?(At=!1,et=+Qt[0],xt=+Qt[1],Kt):At?null:[et,xt]},Kt.nodeSize=function(Qt){return arguments.length?(At=!0,et=+Qt[0],xt=+Qt[1],Kt):At?[et,xt]:null},Kt}function u(We){var et=0,xt=We.children,At=xt&&xt.length;if(!At)et=1;else for(;--At>=0;)et+=xt[At].value;We.value=et}function c(){return this.eachAfter(u)}function f(We){var et=this,xt,At=[et],Kt,Qt,Mr;do for(xt=At.reverse(),At=[];et=xt.pop();)if(We(et),Kt=et.children,Kt)for(Qt=0,Mr=Kt.length;Qt=0;--Kt)xt.push(At[Kt]);return this}function d(We){for(var et=this,xt=[et],At=[],Kt,Qt,Mr;et=xt.pop();)if(At.push(et),Kt=et.children,Kt)for(Qt=0,Mr=Kt.length;Qt=0;)xt+=At[Kt].value;et.value=xt})}function m(We){return this.eachBefore(function(et){et.children&&et.children.sort(We)})}function b(We){for(var et=this,xt=p(et,We),At=[et];et!==xt;)et=et.parent,At.push(et);for(var Kt=At.length;We!==xt;)At.splice(Kt,0,We),We=We.parent;return At}function p(We,et){if(We===et)return We;var xt=We.ancestors(),At=et.ancestors(),Kt=null;for(We=xt.pop(),et=At.pop();We===et;)Kt=We,We=xt.pop(),et=At.pop();return Kt}function k(){for(var We=this,et=[We];We=We.parent;)et.push(We);return et}function M(){var We=[];return this.each(function(et){We.push(et)}),We}function T(){var We=[];return this.eachBefore(function(et){et.children||We.push(et)}),We}function L(){var We=this,et=[];return We.each(function(xt){xt!==We&&et.push({source:xt.parent,target:xt})}),et}function x(We,et){var xt=new E(We),At=+We.value&&(xt.value=We.value),Kt,Qt=[xt],Mr,Gr,Ir,Yr;for(et==null&&(et=S);Kt=Qt.pop();)if(At&&(Kt.value=+Kt.data.value),(Gr=et(Kt.data))&&(Yr=Gr.length))for(Kt.children=new Array(Yr),Ir=Yr-1;Ir>=0;--Ir)Qt.push(Mr=Kt.children[Ir]=new E(Gr[Ir])),Mr.parent=Kt,Mr.depth=Kt.depth+1;return xt.eachBefore(P)}function C(){return x(this).eachBefore(g)}function S(We){return We.children}function g(We){We.data=We.data.data}function P(We){var et=0;do We.height=et;while((We=We.parent)&&We.height<++et)}function E(We){this.data=We,this.depth=this.height=0,this.parent=null}E.prototype=x.prototype={constructor:E,count:c,each:f,eachAfter:d,eachBefore:h,sum:v,sort:m,path:b,ancestors:k,descendants:M,leaves:T,links:L,copy:C};var z=Array.prototype.slice;function q(We){for(var et=We.length,xt,At;et;)At=Math.random()*et--|0,xt=We[et],We[et]=We[At],We[At]=xt;return We}function V(We){for(var et=0,xt=(We=q(z.call(We))).length,At=[],Kt,Qt;et0&&xt*xt>At*At+Kt*Kt}function N(We,et){for(var xt=0;xtIr?(Kt=(Yr+Ir-Qt)/(2*Yr),Gr=Math.sqrt(Math.max(0,Ir/Yr-Kt*Kt)),xt.x=We.x-Kt*At-Gr*Mr,xt.y=We.y-Kt*Mr+Gr*At):(Kt=(Yr+Qt-Ir)/(2*Yr),Gr=Math.sqrt(Math.max(0,Qt/Yr-Kt*Kt)),xt.x=et.x+Kt*At-Gr*Mr,xt.y=et.y+Kt*Mr+Gr*At)):(xt.x=et.x+xt.r,xt.y=et.y)}function Ce(We,et){var xt=We.r+et.r-1e-6,At=et.x-We.x,Kt=et.y-We.y;return xt>0&&xt*xt>At*At+Kt*Kt}function ge(We){var et=We._,xt=We.next._,At=et.r+xt.r,Kt=(et.x*xt.r+xt.x*et.r)/At,Qt=(et.y*xt.r+xt.y*et.r)/At;return Kt*Kt+Qt*Qt}function re(We){this._=We,this.next=null,this.previous=null}function Se(We){if(!(Kt=We.length))return 0;var et,xt,At,Kt,Qt,Mr,Gr,Ir,Yr,_i,Pi;if(et=We[0],et.x=0,et.y=0,!(Kt>1))return et.r;if(xt=We[1],et.x=-xt.r,xt.x=et.r,xt.y=0,!(Kt>2))return et.r+xt.r;Ee(xt,et,At=We[2]),et=new re(et),xt=new re(xt),At=new re(At),et.next=At.previous=xt,xt.next=et.previous=At,At.next=xt.previous=et;e:for(Gr=3;Gr0)throw new Error("cycle");return Gr}return xt.id=function(At){return arguments.length?(We=Be(At),xt):We},xt.parentId=function(At){return arguments.length?(et=Be(At),xt):et},xt}function Ae(We,et){return We.parent===et.parent?1:2}function rt(We){var et=We.children;return et?et[0]:We.t}function St(We){var et=We.children;return et?et[et.length-1]:We.t}function Tt(We,et,xt){var At=xt/(et.i-We.i);et.c-=At,et.s+=xt,We.c+=At,et.z+=xt,et.m+=xt}function dt(We){for(var et=0,xt=0,At=We.children,Kt=At.length,Qt;--Kt>=0;)Qt=At[Kt],Qt.z+=et,Qt.m+=et,et+=Qt.s+(xt+=Qt.c)}function Et(We,et,xt){return We.a.parent===et.parent?We.a:xt}function pt(We,et){this._=We,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=et}pt.prototype=Object.create(E.prototype);function jt(We){for(var et=new pt(We,0),xt,At=[et],Kt,Qt,Mr,Gr;xt=At.pop();)if(Qt=xt._.children)for(xt.children=new Array(Gr=Qt.length),Mr=Gr-1;Mr>=0;--Mr)At.push(Kt=xt.children[Mr]=new pt(Qt[Mr],Mr)),Kt.parent=xt;return(et.parent=new pt(null,0)).children=[et],et}function or(){var We=Ae,et=1,xt=1,At=null;function Kt(Yr){var _i=jt(Yr);if(_i.eachAfter(Qt),_i.parent.m=-_i.z,_i.eachBefore(Mr),At)Yr.eachBefore(Ir);else{var Pi=Yr,ai=Yr,mi=Yr;Yr.eachBefore(function(Qn){Qn.xai.x&&(ai=Qn),Qn.depth>mi.depth&&(mi=Qn)});var un=Pi===ai?1:We(Pi,ai)/2,Fn=un-Pi.x,An=et/(ai.x+un+Fn),Hn=xt/(mi.depth||1);Yr.eachBefore(function(Qn){Qn.x=(Qn.x+Fn)*An,Qn.y=Qn.depth*Hn})}return Yr}function Qt(Yr){var _i=Yr.children,Pi=Yr.parent.children,ai=Yr.i?Pi[Yr.i-1]:null;if(_i){dt(Yr);var mi=(_i[0].z+_i[_i.length-1].z)/2;ai?(Yr.z=ai.z+We(Yr._,ai._),Yr.m=Yr.z-mi):Yr.z=mi}else ai&&(Yr.z=ai.z+We(Yr._,ai._));Yr.parent.A=Gr(Yr,ai,Yr.parent.A||Pi[0])}function Mr(Yr){Yr._.x=Yr.z+Yr.parent.m,Yr.m+=Yr.parent.m}function Gr(Yr,_i,Pi){if(_i){for(var ai=Yr,mi=Yr,un=_i,Fn=ai.parent.children[0],An=ai.m,Hn=mi.m,Qn=un.m,Vi=Fn.m,Kn;un=St(un),ai=rt(ai),un&&ai;)Fn=rt(Fn),mi=St(mi),mi.a=Yr,Kn=un.z+Qn-ai.z-An+We(un._,ai._),Kn>0&&(Tt(Et(un,Yr,Pi),Yr,Kn),An+=Kn,Hn+=Kn),Qn+=un.m,An+=ai.m,Vi+=Fn.m,Hn+=mi.m;un&&!St(mi)&&(mi.t=un,mi.m+=Qn-Hn),ai&&!rt(Fn)&&(Fn.t=ai,Fn.m+=An-Vi,Pi=Yr)}return Pi}function Ir(Yr){Yr.x*=et,Yr.y=Yr.depth*xt}return Kt.separation=function(Yr){return arguments.length?(We=Yr,Kt):We},Kt.size=function(Yr){return arguments.length?(At=!1,et=+Yr[0],xt=+Yr[1],Kt):At?null:[et,xt]},Kt.nodeSize=function(Yr){return arguments.length?(At=!0,et=+Yr[0],xt=+Yr[1],Kt):At?[et,xt]:null},Kt}function mr(We,et,xt,At,Kt){for(var Qt=We.children,Mr,Gr=-1,Ir=Qt.length,Yr=We.value&&(Kt-xt)/We.value;++GrQn&&(Qn=Yr),Gt=An*An*Jn,Vi=Math.max(Qn/Gt,Gt/Hn),Vi>Kn){An-=Yr;break}Kn=Vi}Mr.push(Ir={value:An,dice:mi1?At:1)},xt}(Ar);function jr(){var We=qr,et=!1,xt=1,At=1,Kt=[0],Qt=Le,Mr=Le,Gr=Le,Ir=Le,Yr=Le;function _i(ai){return ai.x0=ai.y0=0,ai.x1=xt,ai.y1=At,ai.eachBefore(Pi),Kt=[0],et&&ai.eachBefore(Ht),ai}function Pi(ai){var mi=Kt[ai.depth],un=ai.x0+mi,Fn=ai.y0+mi,An=ai.x1-mi,Hn=ai.y1-mi;An=ai-1){var Qn=Qt[Pi];Qn.x0=un,Qn.y0=Fn,Qn.x1=An,Qn.y1=Hn;return}for(var Vi=Yr[Pi],Kn=mi/2+Vi,Jn=Pi+1,Gt=ai-1;Jn>>1;Yr[wt]Hn-Fn){var wr=(un*ir+An*tr)/mi;_i(Pi,Jn,tr,un,Fn,wr,Hn),_i(Jn,ai,ir,wr,Fn,An,Hn)}else{var Xr=(Fn*ir+Hn*tr)/mi;_i(Pi,Jn,tr,un,Fn,An,Xr),_i(Jn,ai,ir,un,Xr,An,Hn)}}}function Ge(We,et,xt,At,Kt){(We.depth&1?mr:at)(We,et,xt,At,Kt)}var Je=function We(et){function xt(At,Kt,Qt,Mr,Gr){if((Ir=At._squarify)&&Ir.ratio===et)for(var Ir,Yr,_i,Pi,ai=-1,mi,un=Ir.length,Fn=At.value;++ai1?At:1)},xt}(Ar);e.cluster=l,e.hierarchy=x,e.pack=ce,e.packEnclose=V,e.packSiblings=ke,e.partition=ct,e.stratify=Ue,e.tree=or,e.treemap=jr,e.treemapBinary=gt,e.treemapDice=at,e.treemapResquarify=Je,e.treemapSlice=mr,e.treemapSliceDice=Ge,e.treemapSquarify=qr,Object.defineProperty(e,"__esModule",{value:!0})})});var VE=ye(UE=>{"use strict";var oCe=NE(),C6t=Eo(),IA=Pr(),L6t=tc().makeColorScaleFuncFromTrace,P6t=CA().makePullColorFn,I6t=CA().generateExtendedColors,R6t=tc().calc,D6t=fs().ALMOST_EQUAL,F6t={},z6t={},q6t={};UE.calc=function(e,t){var r=e._fullLayout,n=t.ids,i=IA.isArrayOrTypedArray(n),a=t.labels,o=t.parents,s=t.values,l=IA.isArrayOrTypedArray(s),u=[],c={},f={},h=function(j,N){c[j]?c[j].push(N):c[j]=[N],f[N]=1},d=function(j){return j||typeof j=="number"},v=function(j){return!l||C6t(s[j])&&s[j]>=0},m,b,p;i?(m=Math.min(n.length,o.length),b=function(j){return d(n[j])&&v(j)},p=function(j){return String(n[j])}):(m=Math.min(a.length,o.length),b=function(j){return d(a[j])&&v(j)},p=function(j){return String(a[j])}),l&&(m=Math.min(m,s.length));for(var k=0;k1){for(var S=IA.randstr(),g=0;g{});function Km(){}function uCe(){return this.rgb().formatHex()}function j6t(){return this.rgb().formatHex8()}function W6t(){return gCe(this).formatHsl()}function cCe(){return this.rgb().formatRgb()}function tx(e){var t,r;return e=(e+"").trim().toLowerCase(),(t=O6t.exec(e))?(r=t[1].length,t=parseInt(t[1],16),r===6?fCe(t):r===3?new _d(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?kD(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?kD(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=B6t.exec(e))?new _d(t[1],t[2],t[3],1):(t=N6t.exec(e))?new _d(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=U6t.exec(e))?kD(t[1],t[2],t[3],t[4]):(t=V6t.exec(e))?kD(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=G6t.exec(e))?vCe(t[1],t[2]/100,t[3]/100,1):(t=H6t.exec(e))?vCe(t[1],t[2]/100,t[3]/100,t[4]):lCe.hasOwnProperty(e)?fCe(lCe[e]):e==="transparent"?new _d(NaN,NaN,NaN,0):null}function fCe(e){return new _d(e>>16&255,e>>8&255,e&255,1)}function kD(e,t,r,n){return n<=0&&(e=t=r=NaN),new _d(e,t,r,n)}function HE(e){return e instanceof Km||(e=tx(e)),e?(e=e.rgb(),new _d(e.r,e.g,e.b,e.opacity)):new _d}function DA(e,t,r,n){return arguments.length===1?HE(e):new _d(e,t,r,n==null?1:n)}function _d(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}function hCe(){return`#${O2(this.r)}${O2(this.g)}${O2(this.b)}`}function X6t(){return`#${O2(this.r)}${O2(this.g)}${O2(this.b)}${O2((isNaN(this.opacity)?1:this.opacity)*255)}`}function dCe(){let e=LD(this.opacity);return`${e===1?"rgb(":"rgba("}${B2(this.r)}, ${B2(this.g)}, ${B2(this.b)}${e===1?")":`, ${e})`}`}function LD(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function B2(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function O2(e){return e=B2(e),(e<16?"0":"")+e.toString(16)}function vCe(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Kg(e,t,r,n)}function gCe(e){if(e instanceof Kg)return new Kg(e.h,e.s,e.l,e.opacity);if(e instanceof Km||(e=tx(e)),!e)return new Kg;if(e instanceof Kg)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=NaN,s=a-i,l=(a+i)/2;return s?(t===a?o=(r-n)/s+(r0&&l<1?0:o,new Kg(o,s,l,e.opacity)}function jE(e,t,r,n){return arguments.length===1?gCe(e):new Kg(e,t,r,n==null?1:n)}function Kg(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}function pCe(e){return e=(e||0)%360,e<0?e+360:e}function CD(e){return Math.max(0,Math.min(1,e||0))}function kW(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}var ex,N2,RA,GE,Ym,O6t,B6t,N6t,U6t,V6t,G6t,H6t,lCe,PD=gu(()=>{ED();ex=.7,N2=1/ex,RA="\\s*([+-]?\\d+)\\s*",GE="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ym="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",O6t=/^#([0-9a-f]{3,8})$/,B6t=new RegExp(`^rgb\\(${RA},${RA},${RA}\\)$`),N6t=new RegExp(`^rgb\\(${Ym},${Ym},${Ym}\\)$`),U6t=new RegExp(`^rgba\\(${RA},${RA},${RA},${GE}\\)$`),V6t=new RegExp(`^rgba\\(${Ym},${Ym},${Ym},${GE}\\)$`),G6t=new RegExp(`^hsl\\(${GE},${Ym},${Ym}\\)$`),H6t=new RegExp(`^hsla\\(${GE},${Ym},${Ym},${GE}\\)$`),lCe={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};t1(Km,tx,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:uCe,formatHex:uCe,formatHex8:j6t,formatHsl:W6t,formatRgb:cCe,toString:cCe});t1(_d,DA,Q_(Km,{brighter(e){return e=e==null?N2:Math.pow(N2,e),new _d(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?ex:Math.pow(ex,e),new _d(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new _d(B2(this.r),B2(this.g),B2(this.b),LD(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:hCe,formatHex:hCe,formatHex8:X6t,formatRgb:dCe,toString:dCe}));t1(Kg,jE,Q_(Km,{brighter(e){return e=e==null?N2:Math.pow(N2,e),new Kg(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ex:Math.pow(ex,e),new Kg(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,i=2*r-n;return new _d(kW(e>=240?e-240:e+120,i,n),kW(e,i,n),kW(e<120?e+240:e-120,i,n),this.opacity)},clamp(){return new Kg(pCe(this.h),CD(this.s),CD(this.l),LD(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 e=LD(this.opacity);return`${e===1?"hsl(":"hsla("}${pCe(this.h)}, ${CD(this.s)*100}%, ${CD(this.l)*100}%${e===1?")":`, ${e})`}`}}))});var ID,RD,CW=gu(()=>{ID=Math.PI/180,RD=180/Math.PI});function wCe(e){if(e instanceof Jm)return new Jm(e.l,e.a,e.b,e.opacity);if(e instanceof r1)return TCe(e);e instanceof _d||(e=HE(e));var t=RW(e.r),r=RW(e.g),n=RW(e.b),i=LW((.2225045*t+.7168786*r+.0606169*n)/yCe),a,o;return t===r&&r===n?a=o=i:(a=LW((.4360747*t+.3850649*r+.1430804*n)/mCe),o=LW((.0139322*t+.0971045*r+.7141733*n)/_Ce)),new Jm(116*i-16,500*(a-i),200*(i-o),e.opacity)}function zA(e,t,r,n){return arguments.length===1?wCe(e):new Jm(e,t,r,n==null?1:n)}function Jm(e,t,r,n){this.l=+e,this.a=+t,this.b=+r,this.opacity=+n}function LW(e){return e>Z6t?Math.pow(e,1/3):e/bCe+xCe}function PW(e){return e>FA?e*e*e:bCe*(e-xCe)}function IW(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function RW(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function Y6t(e){if(e instanceof r1)return new r1(e.h,e.c,e.l,e.opacity);if(e instanceof Jm||(e=wCe(e)),e.a===0&&e.b===0)return new r1(NaN,0{ED();PD();CW();DD=18,mCe=.96422,yCe=1,_Ce=.82521,xCe=4/29,FA=6/29,bCe=3*FA*FA,Z6t=FA*FA*FA;t1(Jm,zA,Q_(Km,{brighter(e){return new Jm(this.l+DD*(e==null?1:e),this.a,this.b,this.opacity)},darker(e){return new Jm(this.l-DD*(e==null?1:e),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,r=isNaN(this.b)?e:e-this.b/200;return t=mCe*PW(t),e=yCe*PW(e),r=_Ce*PW(r),new _d(IW(3.1338561*t-1.6168667*e-.4906146*r),IW(-.9787684*t+1.9161415*e+.033454*r),IW(.0719453*t-.2289914*e+1.4052427*r),this.opacity)}}));t1(r1,WE,Q_(Km,{brighter(e){return new r1(this.h,this.c,this.l+DD*(e==null?1:e),this.opacity)},darker(e){return new r1(this.h,this.c,this.l-DD*(e==null?1:e),this.opacity)},rgb(){return TCe(this).rgb()}}))});function K6t(e){if(e instanceof U2)return new U2(e.h,e.s,e.l,e.opacity);e instanceof _d||(e=HE(e));var t=e.r/255,r=e.g/255,n=e.b/255,i=(ECe*n+SCe*t-MCe*r)/(ECe+SCe-MCe),a=n-i,o=(XE*(r-i)-FW*a)/FD,s=Math.sqrt(o*o+a*a)/(XE*i*(1-i)),l=s?Math.atan2(o,a)*RD-120:NaN;return new U2(l<0?l+360:l,s,i,e.opacity)}function qA(e,t,r,n){return arguments.length===1?K6t(e):new U2(e,t,r,n==null?1:n)}function U2(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}var kCe,DW,FW,FD,XE,SCe,MCe,ECe,CCe=gu(()=>{ED();PD();CW();kCe=-.14861,DW=1.78277,FW=-.29227,FD=-.90649,XE=1.97294,SCe=XE*FD,MCe=XE*DW,ECe=DW*FW-FD*kCe;t1(U2,qA,Q_(Km,{brighter(e){return e=e==null?N2:Math.pow(N2,e),new U2(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ex:Math.pow(ex,e),new U2(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*ID,t=+this.l,r=isNaN(this.s)?0:this.s*t*(1-t),n=Math.cos(e),i=Math.sin(e);return new _d(255*(t+r*(kCe*n+DW*i)),255*(t+r*(FW*n+FD*i)),255*(t+r*(XE*n)),this.opacity)}}))});var V2=gu(()=>{PD();ACe();CCe()});function zW(e,t,r,n,i){var a=e*e,o=a*e;return((1-3*e+3*a-o)*t+(4-6*a+3*o)*r+(1+3*e+3*a-3*o)*n+o*i)/6}function zD(e){var t=e.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,t-1):Math.floor(r*t),i=e[n],a=e[n+1],o=n>0?e[n-1]:2*i-a,s=n{});function OD(e){var t=e.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*t),i=e[(n+t-1)%t],a=e[n%t],o=e[(n+1)%t],s=e[(n+2)%t];return zW((r-n/t)*t,i,a,o,s)}}var qW=gu(()=>{qD()});var OA,OW=gu(()=>{OA=e=>()=>e});function LCe(e,t){return function(r){return e+r*t}}function J6t(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function rx(e,t){var r=t-e;return r?LCe(e,r>180||r<-180?r-360*Math.round(r/360):r):OA(isNaN(e)?t:e)}function PCe(e){return(e=+e)==1?$f:function(t,r){return r-t?J6t(t,r,e):OA(isNaN(t)?r:t)}}function $f(e,t){var r=t-e;return r?LCe(e,r):OA(isNaN(e)?t:e)}var G2=gu(()=>{OW()});function ICe(e){return function(t){var r=t.length,n=new Array(r),i=new Array(r),a=new Array(r),o,s;for(o=0;o{V2();qD();qW();G2();ZE=function e(t){var r=PCe(t);function n(i,a){var o=r((i=DA(i)).r,(a=DA(a)).r),s=r(i.g,a.g),l=r(i.b,a.b),u=$f(i.opacity,a.opacity);return function(c){return i.r=o(c),i.g=s(c),i.b=l(c),i.opacity=u(c),i+""}}return n.gamma=e,n}(1);RCe=ICe(zD),DCe=ICe(OD)});function BA(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),i;return function(a){for(i=0;i{});function FCe(e,t){return(BD(t)?BA:NW)(e,t)}function NW(e,t){var r=t?t.length:0,n=e?Math.min(r,e.length):0,i=new Array(n),a=new Array(r),o;for(o=0;o{YE();ND()});function UD(e,t){var r=new Date;return e=+e,t=+t,function(n){return r.setTime(e*(1-n)+t*n),r}}var VW=gu(()=>{});function zp(e,t){return e=+e,t=+t,function(r){return e*(1-r)+t*r}}var KE=gu(()=>{});function VD(e,t){var r={},n={},i;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(i in t)i in e?r[i]=ix(e[i],t[i]):n[i]=t[i];return function(a){for(i in r)n[i]=r[i](a);return n}}var GW=gu(()=>{YE()});function $6t(e){return function(){return e}}function Q6t(e){return function(t){return e(t)+""}}function GD(e,t){var r=jW.lastIndex=HW.lastIndex=0,n,i,a,o=-1,s=[],l=[];for(e=e+"",t=t+"";(n=jW.exec(e))&&(i=HW.exec(t));)(a=i.index)>r&&(a=t.slice(r,a),s[o]?s[o]+=a:s[++o]=a),(n=n[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,l.push({i:o,x:zp(n,i)})),r=HW.lastIndex;return r{KE();jW=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,HW=new RegExp(jW.source,"g")});function ix(e,t){var r=typeof t,n;return t==null||r==="boolean"?OA(t):(r==="number"?zp:r==="string"?(n=tx(t))?(t=n,ZE):GD:t instanceof tx?ZE:t instanceof Date?UD:BD(t)?BA:Array.isArray(t)?NW:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?VD:zp)(e,t)}var YE=gu(()=>{V2();BW();UW();VW();KE();GW();WW();OW();ND()});function zCe(e){var t=e.length;return function(r){return e[Math.max(0,Math.min(t-1,Math.floor(r*t)))]}}var qCe=gu(()=>{});function OCe(e,t){var r=rx(+e,+t);return function(n){var i=r(n);return i-360*Math.floor(i/360)}}var BCe=gu(()=>{G2()});function NCe(e,t){return e=+e,t=+t,function(r){return Math.round(e*(1-r)+t*r)}}var UCe=gu(()=>{});function XW(e,t,r,n,i,a){var o,s,l;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(l=e*r+t*n)&&(r-=e*l,n-=t*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),e*n{VCe=180/Math.PI,HD={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1}});function HCe(e){let t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?HD:XW(t.a,t.b,t.c,t.d,t.e,t.f)}function jCe(e){return e==null?HD:(jD||(jD=document.createElementNS("http://www.w3.org/2000/svg","g")),jD.setAttribute("transform",e),(e=jD.transform.baseVal.consolidate())?(e=e.matrix,XW(e.a,e.b,e.c,e.d,e.e,e.f)):HD)}var jD,WCe=gu(()=>{GCe()});function XCe(e,t,r,n){function i(u){return u.length?u.pop()+" ":""}function a(u,c,f,h,d,v){if(u!==f||c!==h){var m=d.push("translate(",null,t,null,r);v.push({i:m-4,x:zp(u,f)},{i:m-2,x:zp(c,h)})}else(f||h)&&d.push("translate("+f+t+h+r)}function o(u,c,f,h){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),h.push({i:f.push(i(f)+"rotate(",null,n)-2,x:zp(u,c)})):c&&f.push(i(f)+"rotate("+c+n)}function s(u,c,f,h){u!==c?h.push({i:f.push(i(f)+"skewX(",null,n)-2,x:zp(u,c)}):c&&f.push(i(f)+"skewX("+c+n)}function l(u,c,f,h,d,v){if(u!==f||c!==h){var m=d.push(i(d)+"scale(",null,",",null,")");v.push({i:m-4,x:zp(u,f)},{i:m-2,x:zp(c,h)})}else(f!==1||h!==1)&&d.push(i(d)+"scale("+f+","+h+")")}return function(u,c){var f=[],h=[];return u=e(u),c=e(c),a(u.translateX,u.translateY,c.translateX,c.translateY,f,h),o(u.rotate,c.rotate,f,h),s(u.skewX,c.skewX,f,h),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,f,h),u=c=null,function(d){for(var v=-1,m=h.length,b;++v{KE();WCe();ZCe=XCe(HCe,"px, ","px)","deg)"),YCe=XCe(jCe,", ",")",")")});function JCe(e){return((e=Math.exp(e))+1/e)/2}function tLt(e){return((e=Math.exp(e))-1/e)/2}function rLt(e){return((e=Math.exp(2*e))-1)/(e+1)}var eLt,$Ce,QCe=gu(()=>{eLt=1e-12;$Ce=function e(t,r,n){function i(a,o){var s=a[0],l=a[1],u=a[2],c=o[0],f=o[1],h=o[2],d=c-s,v=f-l,m=d*d+v*v,b,p;if(m{V2();G2();t6e=e6e(rx),r6e=e6e($f)});function ZW(e,t){var r=$f((e=zA(e)).l,(t=zA(t)).l),n=$f(e.a,t.a),i=$f(e.b,t.b),a=$f(e.opacity,t.opacity);return function(o){return e.l=r(o),e.a=n(o),e.b=i(o),e.opacity=a(o),e+""}}var n6e=gu(()=>{V2();G2()});function a6e(e){return function(t,r){var n=e((t=WE(t)).h,(r=WE(r)).h),i=$f(t.c,r.c),a=$f(t.l,r.l),o=$f(t.opacity,r.opacity);return function(s){return t.h=n(s),t.c=i(s),t.l=a(s),t.opacity=o(s),t+""}}}var o6e,s6e,l6e=gu(()=>{V2();G2();o6e=a6e(rx),s6e=a6e($f)});function u6e(e){return function t(r){r=+r;function n(i,a){var o=e((i=qA(i)).h,(a=qA(a)).h),s=$f(i.s,a.s),l=$f(i.l,a.l),u=$f(i.opacity,a.opacity);return function(c){return i.h=o(c),i.s=s(c),i.l=l(Math.pow(c,r)),i.opacity=u(c),i+""}}return n.gamma=t,n}(1)}var c6e,f6e,h6e=gu(()=>{V2();G2();c6e=u6e(rx),f6e=u6e($f)});function YW(e,t){t===void 0&&(t=e,e=ix);for(var r=0,n=t.length-1,i=t[0],a=new Array(n<0?0:n);r{YE()});function v6e(e,t){for(var r=new Array(t),n=0;n{});var H2={};yee(H2,{interpolate:()=>ix,interpolateArray:()=>FCe,interpolateBasis:()=>zD,interpolateBasisClosed:()=>OD,interpolateCubehelix:()=>c6e,interpolateCubehelixLong:()=>f6e,interpolateDate:()=>UD,interpolateDiscrete:()=>zCe,interpolateHcl:()=>o6e,interpolateHclLong:()=>s6e,interpolateHsl:()=>t6e,interpolateHslLong:()=>r6e,interpolateHue:()=>OCe,interpolateLab:()=>ZW,interpolateNumber:()=>zp,interpolateNumberArray:()=>BA,interpolateObject:()=>VD,interpolateRgb:()=>ZE,interpolateRgbBasis:()=>RCe,interpolateRgbBasisClosed:()=>DCe,interpolateRound:()=>NCe,interpolateString:()=>GD,interpolateTransformCss:()=>ZCe,interpolateTransformSvg:()=>YCe,interpolateZoom:()=>$Ce,piecewise:()=>YW,quantize:()=>v6e});var j2=gu(()=>{YE();UW();qD();qW();VW();qCe();BCe();KE();ND();GW();UCe();WW();KCe();QCe();BW();i6e();n6e();l6e();h6e();d6e();p6e()});var WD=ye((m0r,g6e)=>{"use strict";var iLt=So(),nLt=ka();g6e.exports=function(t,r,n,i,a){var o=r.data.data,s=o.i,l=a||o.color;if(s>=0){r.i=o.i;var u=n.marker;u.pattern?(!u.colors||!u.pattern.shape)&&(u.color=l,r.color=l):(u.color=l,r.color=l),iLt.pointStyle(t,n,i,r)}else nLt.fill(t,l)}});var KW=ye((y0r,b6e)=>{"use strict";var m6e=qa(),y6e=ka(),_6e=Pr(),aLt=bv().resizeText,oLt=WD();function sLt(e){var t=e._fullLayout._sunburstlayer.selectAll(".trace");aLt(e,t,"sunburst"),t.each(function(r){var n=m6e.select(this),i=r[0],a=i.trace;n.style("opacity",a.opacity),n.selectAll("path.surface").each(function(o){m6e.select(this).call(x6e,o,a,e)})})}function x6e(e,t,r,n){var i=t.data.data,a=!t.children,o=i.i,s=_6e.castOption(r,o,"marker.line.color")||y6e.defaultLine,l=_6e.castOption(r,o,"marker.line.width")||0;e.call(oLt,t,r,n).style("stroke-width",l).call(y6e.stroke,s).style("opacity",a?r.leaf.opacity:null)}b6e.exports={style:sLt,styleOne:x6e}});var i1=ye(Bs=>{"use strict";var W2=Pr(),lLt=ka(),uLt=Eg(),w6e=g_();Bs.findEntryWithLevel=function(e,t){var r;return t&&e.eachAfter(function(n){if(Bs.getPtId(n)===t)return r=n.copy()}),r||e};Bs.findEntryWithChild=function(e,t){var r;return e.eachAfter(function(n){for(var i=n.children||[],a=0;a0)};Bs.getMaxDepth=function(e){return e.maxdepth>=0?e.maxdepth:1/0};Bs.isHeader=function(e,t){return!(Bs.isLeaf(e)||e.depth===t._maxDepth-1)};function T6e(e){return e.data.data.pid}Bs.getParent=function(e,t){return Bs.findEntryWithLevel(e,T6e(t))};Bs.listPath=function(e,t){var r=e.parent;if(!r)return[];var n=t?[r.data[t]]:[r];return Bs.listPath(r,t).concat(n)};Bs.getPath=function(e){return Bs.listPath(e,"label").join("/")+"/"};Bs.formatValue=w6e.formatPieValue;Bs.formatPercent=function(e,t){var r=W2.formatPercent(e,0);return r==="0%"&&(r=w6e.formatPiePercent(e,t)),r}});var QE=ye((x0r,M6e)=>{"use strict";var NA=qa(),A6e=Oa(),hLt=ip().appendArrayPointValue,JE=ef(),S6e=Pr(),dLt=L3(),id=i1(),vLt=g_(),pLt=vLt.formatPieValue;M6e.exports=function(t,r,n,i,a){var o=i[0],s=o.trace,l=o.hierarchy,u=s.type==="sunburst",c=s.type==="treemap"||s.type==="icicle";"_hasHoverLabel"in s||(s._hasHoverLabel=!1),"_hasHoverEvent"in s||(s._hasHoverEvent=!1);var f=function(v){var m=n._fullLayout;if(!(n._dragging||m.hovermode===!1)){var b=n._fullData[s.index],p=v.data.data,k=p.i,M=id.isHierarchyRoot(v),T=id.getParent(l,v),L=id.getValue(v),x=function(Ee){return S6e.castOption(b,k,Ee)},C=x("hovertemplate"),S=JE.castHoverinfo(b,m,k),g=m.separators,P;if(C||S&&S!=="none"&&S!=="skip"){var E,z;u&&(E=o.cx+v.pxmid[0]*(1-v.rInscribed),z=o.cy+v.pxmid[1]*(1-v.rInscribed)),c&&(E=v._hoverX,z=v._hoverY);var q={},V=[],G=[],Z=function(Ee){return V.indexOf(Ee)!==-1};S&&(V=S==="all"?b._module.attributes.hoverinfo.flags:S.split("+")),q.label=p.label,Z("label")&&q.label&&G.push(q.label),p.hasOwnProperty("v")&&(q.value=p.v,q.valueLabel=pLt(q.value,g),Z("value")&&G.push(q.valueLabel)),q.currentPath=v.currentPath=id.getPath(v.data),Z("current path")&&!M&&G.push(q.currentPath);var j,N=[],H=function(){N.indexOf(j)===-1&&(G.push(j),N.push(j))};q.percentParent=v.percentParent=L/id.getValue(T),q.parent=v.parentString=id.getPtLabel(T),Z("percent parent")&&(j=id.formatPercent(q.percentParent,g)+" of "+q.parent,H()),q.percentEntry=v.percentEntry=L/id.getValue(r),q.entry=v.entry=id.getPtLabel(r),Z("percent entry")&&!M&&!v.onPathbar&&(j=id.formatPercent(q.percentEntry,g)+" of "+q.entry,H()),q.percentRoot=v.percentRoot=L/id.getValue(l),q.root=v.root=id.getPtLabel(l),Z("percent root")&&!M&&(j=id.formatPercent(q.percentRoot,g)+" of "+q.root,H()),q.text=x("hovertext")||x("text"),Z("text")&&(j=q.text,S6e.isValidTextValue(j)&&G.push(j)),P=[$E(v,b,a.eventDataKeys)];var ie={trace:b,y:z,_x0:v._x0,_x1:v._x1,_y0:v._y0,_y1:v._y1,text:G.join("
"),name:C||Z("name")?b.name:void 0,color:x("hoverlabel.bgcolor")||p.color,borderColor:x("hoverlabel.bordercolor"),fontFamily:x("hoverlabel.font.family"),fontSize:x("hoverlabel.font.size"),fontColor:x("hoverlabel.font.color"),fontWeight:x("hoverlabel.font.weight"),fontStyle:x("hoverlabel.font.style"),fontVariant:x("hoverlabel.font.variant"),nameLength:x("hoverlabel.namelength"),textAlign:x("hoverlabel.align"),hovertemplate:C,hovertemplateLabels:q,eventData:P};u&&(ie.x0=E-v.rInscribed*v.rpx1,ie.x1=E+v.rInscribed*v.rpx1,ie.idealAlign=v.pxmid[0]<0?"left":"right"),c&&(ie.x=E,ie.idealAlign=E<0?"left":"right");var ae=[];JE.loneHover(ie,{container:m._hoverlayer.node(),outerContainer:m._paper.node(),gd:n,inOut_bbox:ae}),P[0].bbox=ae[0],s._hasHoverLabel=!0}if(c){var _e=t.select("path.surface");a.styleOne(_e,v,b,n,{hovered:!0})}s._hasHoverEvent=!0,n.emit("plotly_hover",{points:P||[$E(v,b,a.eventDataKeys)],event:NA.event})}},h=function(v){var m=n._fullLayout,b=n._fullData[s.index],p=NA.select(this).datum();if(s._hasHoverEvent&&(v.originalEvent=NA.event,n.emit("plotly_unhover",{points:[$E(p,b,a.eventDataKeys)],event:NA.event}),s._hasHoverEvent=!1),s._hasHoverLabel&&(JE.loneUnhover(m._hoverlayer.node()),s._hasHoverLabel=!1),c){var k=t.select("path.surface");a.styleOne(k,p,b,n,{hovered:!1})}},d=function(v){var m=n._fullLayout,b=n._fullData[s.index],p=u&&(id.isHierarchyRoot(v)||id.isLeaf(v)),k=id.getPtId(v),M=id.isEntry(v)?id.findEntryWithChild(l,k):id.findEntryWithLevel(l,k),T=id.getPtId(M),L={points:[$E(v,b,a.eventDataKeys)],event:NA.event};p||(L.nextLevel=T);var x=dLt.triggerHandler(n,"plotly_"+s.type+"click",L);if(x!==!1&&m.hovermode&&(n._hoverdata=[$E(v,b,a.eventDataKeys)],JE.click(n,NA.event)),!p&&x!==!1&&!n._dragging&&!n._transitioning){A6e.call("_storeDirectGUIEdit",b,m._tracePreGUI[b.uid],{level:b.level});var C={data:[{level:T}],traces:[s.index]},S={frame:{redraw:!1,duration:a.transitionTime},transition:{duration:a.transitionTime,easing:a.transitionEasing},mode:"immediate",fromcurrent:!0};JE.loneUnhover(m._hoverlayer.node()),A6e.call("animate",n,C,S)}};t.on("mouseover",f),t.on("mouseout",h),t.on("click",d)};function $E(e,t,r){for(var n=e.data.data,i={curveNumber:t.index,pointNumber:n.i,data:t._input,fullData:t},a=0;a{"use strict";var ek=qa(),gLt=NE(),Jg=(j2(),gb(H2)).interpolate,E6e=So(),Av=Pr(),mLt=Zl(),P6e=bv(),k6e=P6e.recordMinTextSize,yLt=P6e.clearMinTextSize,I6e=SD(),_Lt=g_().getRotationAngle,xLt=I6e.computeTransform,bLt=I6e.transformInsideText,wLt=KW().styleOne,TLt=V0().resizeText,ALt=QE(),JW=MW(),Rl=i1();XD.plot=function(e,t,r,n){var i=e._fullLayout,a=i._sunburstlayer,o,s,l=!r,u=!i.uniformtext.mode&&Rl.hasTransition(r);if(yLt("sunburst",i),o=a.selectAll("g.trace.sunburst").data(t,function(f){return f[0].trace.uid}),o.enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),o.order(),u){n&&(s=n());var c=ek.transition().duration(r.duration).ease(r.easing).each("end",function(){s&&s()}).each("interrupt",function(){s&&s()});c.each(function(){a.selectAll("g.trace").each(function(f){C6e(e,f,this,r)})})}else o.each(function(f){C6e(e,f,this,r)}),i.uniformtext.mode&&TLt(e,i._sunburstlayer.selectAll(".trace"),"sunburst");l&&o.exit().remove()};function C6e(e,t,r,n){var i=e._context.staticPlot,a=e._fullLayout,o=!a.uniformtext.mode&&Rl.hasTransition(n),s=ek.select(r),l=s.selectAll("g.slice"),u=t[0],c=u.trace,f=u.hierarchy,h=Rl.findEntryWithLevel(f,c.level),d=Rl.getMaxDepth(c),v=a._size,m=c.domain,b=v.w*(m.x[1]-m.x[0]),p=v.h*(m.y[1]-m.y[0]),k=.5*Math.min(b,p),M=u.cx=v.l+v.w*(m.x[1]+m.x[0])/2,T=u.cy=v.t+v.h*(1-m.y[0])-p/2;if(!h)return l.remove();var L=null,x={};o&&l.each(function(ge){x[Rl.getPtId(ge)]={rpx0:ge.rpx0,rpx1:ge.rpx1,x0:ge.x0,x1:ge.x1,transform:ge.transform},!L&&Rl.isEntry(ge)&&(L=ge)});var C=SLt(h).descendants(),S=h.height+1,g=0,P=d;u.hasMultipleRoots&&Rl.isHierarchyRoot(h)&&(C=C.slice(1),S-=1,g=1,P+=1),C=C.filter(function(ge){return ge.y1<=P});var E=_Lt(c.rotation);E&&C.forEach(function(ge){ge.x0+=E,ge.x1+=E});var z=Math.min(S,d),q=function(ge){return(ge-g)/z*k},V=function(ge,re){return[ge*Math.cos(re),-ge*Math.sin(re)]},G=function(ge){return Av.pathAnnulus(ge.rpx0,ge.rpx1,ge.x0,ge.x1,M,T)},Z=function(ge){return M+L6e(ge)[0]*(ge.transform.rCenter||0)+(ge.transform.x||0)},j=function(ge){return T+L6e(ge)[1]*(ge.transform.rCenter||0)+(ge.transform.y||0)};l=l.data(C,Rl.getPtId),l.enter().append("g").classed("slice",!0),o?l.exit().transition().each(function(){var ge=ek.select(this),re=ge.select("path.surface");re.transition().attrTween("d",function(ke){var be=ae(ke);return function(Be){return G(be(Be))}});var Se=ge.select("g.slicetext");Se.attr("opacity",0)}).remove():l.exit().remove(),l.order();var N=null;if(o&&L){var H=Rl.getPtId(L);l.each(function(ge){N===null&&Rl.getPtId(ge)===H&&(N=ge.x1)})}var ie=l;o&&(ie=ie.transition().each("end",function(){var ge=ek.select(this);Rl.setSliceCursor(ge,e,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:!1})})),ie.each(function(ge){var re=ek.select(this),Se=Av.ensureSingle(re,"path","surface",function(Pe){Pe.style("pointer-events",i?"none":"all")});ge.rpx0=q(ge.y0),ge.rpx1=q(ge.y1),ge.xmid=(ge.x0+ge.x1)/2,ge.pxmid=V(ge.rpx1,ge.xmid),ge.midangle=-(ge.xmid-Math.PI/2),ge.startangle=-(ge.x0-Math.PI/2),ge.stopangle=-(ge.x1-Math.PI/2),ge.halfangle=.5*Math.min(Av.angleDelta(ge.x0,ge.x1)||Math.PI,Math.PI),ge.ring=1-ge.rpx0/ge.rpx1,ge.rInscribed=MLt(ge,c),o?Se.transition().attrTween("d",function(Pe){var ce=_e(Pe);return function(He){return G(ce(He))}}):Se.attr("d",G),re.call(ALt,h,e,t,{eventDataKeys:JW.eventDataKeys,transitionTime:JW.CLICK_TRANSITION_TIME,transitionEasing:JW.CLICK_TRANSITION_EASING}).call(Rl.setSliceCursor,e,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:e._transitioning}),Se.call(wLt,ge,c,e);var ke=Av.ensureSingle(re,"g","slicetext"),be=Av.ensureSingle(ke,"text","",function(Pe){Pe.attr("data-notex",1)}),Be=Av.ensureUniformFontSize(e,Rl.determineTextFont(c,ge,a.font));be.text(XD.formatSliceLabel(ge,h,c,t,a)).classed("slicetext",!0).attr("text-anchor","middle").call(E6e.font,Be).call(mLt.convertToTspans,e);var Le=E6e.bBox(be.node());ge.transform=bLt(Le,ge,u),ge.transform.targetX=Z(ge),ge.transform.targetY=j(ge);var me=function(Pe,ce){var He=Pe.transform;return xLt(He,ce),He.fontSize=Be.size,k6e(c.type,He,a),Av.getTextTransform(He)};o?be.transition().attrTween("transform",function(Pe){var ce=Ee(Pe);return function(He){return me(ce(He),Le)}}):be.attr("transform",me(ge,Le))});function ae(ge){var re=Rl.getPtId(ge),Se=x[re],ke=x[Rl.getPtId(h)],be;if(ke){var Be=(ge.x1>ke.x1?2*Math.PI:0)+E;be=ge.rpx1N?2*Math.PI:0)+E;Se={x0:be,x1:be}}else Se={rpx0:k,rpx1:k},Av.extendFlat(Se,Ce(ge));else Se={rpx0:0,rpx1:0};else Se={x0:E,x1:E};return Jg(Se,ke)}function Ee(ge){var re=x[Rl.getPtId(ge)],Se,ke=ge.transform;if(re)Se=re;else if(Se={rpx1:ge.rpx1,transform:{textPosAngle:ke.textPosAngle,scale:0,rotate:ke.rotate,rCenter:ke.rCenter,x:ke.x,y:ke.y}},L)if(ge.parent)if(N){var be=ge.x1>N?2*Math.PI:0;Se.x0=Se.x1=be}else Av.extendFlat(Se,Ce(ge));else Se.x0=Se.x1=E;else Se.x0=Se.x1=E;var Be=Jg(Se.transform.textPosAngle,ge.transform.textPosAngle),Le=Jg(Se.rpx1,ge.rpx1),me=Jg(Se.x0,ge.x0),Pe=Jg(Se.x1,ge.x1),ce=Jg(Se.transform.scale,ke.scale),He=Jg(Se.transform.rotate,ke.rotate),lt=ke.rCenter===0?3:Se.transform.rCenter===0?1/3:1,mt=Jg(Se.transform.rCenter,ke.rCenter),Ht=function(at){return mt(Math.pow(at,lt))};return function(at){var ct=Le(at),ar=me(at),Vt=Pe(at),rr=Ht(at),tt=V(ct,(ar+Vt)/2),je=Be(at),Ue={pxmid:tt,rpx1:ct,transform:{textPosAngle:je,rCenter:rr,x:ke.x,y:ke.y}};return k6e(c.type,ke,a),{transform:{targetX:Z(Ue),targetY:j(Ue),scale:ce(at),rotate:He(at),rCenter:rr}}}}function Ce(ge){var re=ge.parent,Se=x[Rl.getPtId(re)],ke={};if(Se){var be=re.children,Be=be.indexOf(ge),Le=be.length,me=Jg(Se.x0,Se.x1);ke.x0=me(Be/Le),ke.x1=me(Be/Le)}else ke.x0=ke.x1=0;return ke}}function SLt(e){return gLt.partition().size([2*Math.PI,e.height+1])(e)}XD.formatSliceLabel=function(e,t,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!a&&(!o||o==="none"))return"";var s=i.separators,l=n[0],u=e.data.data,c=l.hierarchy,f=Rl.isHierarchyRoot(e),h=Rl.getParent(c,e),d=Rl.getValue(e);if(!a){var v=o.split("+"),m=function(g){return v.indexOf(g)!==-1},b=[],p;if(m("label")&&u.label&&b.push(u.label),u.hasOwnProperty("v")&&m("value")&&b.push(Rl.formatValue(u.v,s)),!f){m("current path")&&b.push(Rl.getPath(e.data));var k=0;m("percent parent")&&k++,m("percent entry")&&k++,m("percent root")&&k++;var M=k>1;if(k){var T,L=function(g){p=Rl.formatPercent(T,s),M&&(p+=" of "+g),b.push(p)};m("percent parent")&&!f&&(T=d/Rl.getValue(h),L("parent")),m("percent entry")&&(T=d/Rl.getValue(t),L("entry")),m("percent root")&&(T=d/Rl.getValue(c),L("root"))}}return m("text")&&(p=Av.castOption(r,u.i,"text"),Av.isValidTextValue(p)&&b.push(p)),b.join("
")}var x=Av.castOption(r,u.i,"texttemplate");if(!x)return"";var C={};u.label&&(C.label=u.label),u.hasOwnProperty("v")&&(C.value=u.v,C.valueLabel=Rl.formatValue(u.v,s)),C.currentPath=Rl.getPath(e.data),f||(C.percentParent=d/Rl.getValue(h),C.percentParentLabel=Rl.formatPercent(C.percentParent,s),C.parent=Rl.getPtLabel(h)),C.percentEntry=d/Rl.getValue(t),C.percentEntryLabel=Rl.formatPercent(C.percentEntry,s),C.entry=Rl.getPtLabel(t),C.percentRoot=d/Rl.getValue(c),C.percentRootLabel=Rl.formatPercent(C.percentRoot,s),C.root=Rl.getPtLabel(c),u.hasOwnProperty("color")&&(C.color=u.color);var S=Av.castOption(r,u.i,"text");return(Av.isValidTextValue(S)||S==="")&&(C.text=S),C.customdata=Av.castOption(r,u.i,"customdata"),Av.texttemplateString({data:[C,r._meta],fallback:r.texttemplatefallback,labels:C,locale:i._d3locale,template:x})};function MLt(e){return e.rpx0===0&&Av.isFullCircle([e.x0,e.x1])?1:Math.max(0,Math.min(1/(1+1/Math.sin(e.halfangle)),e.ring/2))}function L6e(e){return ELt(e.rpx1,e.transform.textPosAngle)}function ELt(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}});var D6e=ye((w0r,R6e)=>{"use strict";R6e.exports={moduleType:"trace",name:"sunburst",basePlotModule:Xke(),categories:[],animatable:!0,attributes:BE(),layoutAttributes:EW(),supplyDefaults:rCe(),supplyLayoutDefaults:nCe(),calc:VE().calc,crossTraceCalc:VE().crossTraceCalc,plot:ZD().plot,style:KW().style,colorbar:Qd(),meta:{}}});var z6e=ye((T0r,F6e)=>{"use strict";F6e.exports=D6e()});var O6e=ye(UA=>{"use strict";var q6e=Mc();UA.name="treemap";UA.plot=function(e,t,r,n){q6e.plotBasePlot(UA.name,e,t,r,n)};UA.clean=function(e,t,r,n){q6e.cleanBasePlot(UA.name,e,t,r,n)}});var X2=ye((S0r,B6e)=>{"use strict";B6e.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}});var YD=ye((M0r,V6e)=>{"use strict";var{hovertemplateAttrs:kLt,texttemplateAttrs:CLt,templatefallbackAttrs:N6e}=Ll(),LLt=Tu(),PLt=Cc().attributes,Z2=z2(),tg=BE(),U6e=X2(),$W=Ao().extendFlat,ILt=Pd().pattern;V6e.exports={labels:tg.labels,parents:tg.parents,values:tg.values,branchvalues:tg.branchvalues,count:tg.count,level:tg.level,maxdepth:tg.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:$W({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:tg.marker.colors,pattern:ILt,depthfade:{valType:"enumerated",values:[!0,!1,"reversed"],editType:"style"},line:tg.marker.line,cornerradius:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},LLt("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:$W({},Z2.textfont,{}),editType:"calc"},text:Z2.text,textinfo:tg.textinfo,texttemplate:CLt({editType:"plot"},{keys:U6e.eventDataKeys.concat(["label","value"])}),texttemplatefallback:N6e({editType:"plot"}),hovertext:Z2.hovertext,hoverinfo:tg.hoverinfo,hovertemplate:kLt({},{keys:U6e.eventDataKeys}),hovertemplatefallback:N6e(),textfont:Z2.textfont,insidetextfont:Z2.insidetextfont,outsidetextfont:$W({},Z2.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:Z2.sort,root:tg.root,domain:PLt({name:"treemap",trace:!0,editType:"calc"})}});var QW=ye((E0r,G6e)=>{"use strict";G6e.exports={treemapcolorway:{valType:"colorlist",editType:"calc"},extendtreemapcolors:{valType:"boolean",dflt:!0,editType:"calc"}}});var X6e=ye((k0r,W6e)=>{"use strict";var H6e=Pr(),RLt=YD(),DLt=ka(),FLt=Cc().defaults,zLt=i0().handleText,qLt=A_().TEXTPAD,OLt=q2().handleMarkerDefaults,j6e=tc(),BLt=j6e.hasColorscale,NLt=j6e.handleDefaults;W6e.exports=function(t,r,n,i){function a(b,p){return H6e.coerce(t,r,RLt,b,p)}var o=a("labels"),s=a("parents");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a("values");l&&l.length?a("branchvalues"):a("count"),a("level"),a("maxdepth");var u=a("tiling.packing");u==="squarify"&&a("tiling.squarifyratio"),a("tiling.flip"),a("tiling.pad");var c=a("text");a("texttemplate"),a("texttemplatefallback"),r.texttemplate||a("textinfo",H6e.isArrayOrTypedArray(c)?"text+label":"label"),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback");var f=a("pathbar.visible"),h="auto";zLt(t,r,i,a,h,{hasPathbar:f,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a("textposition");var d=r.textposition.indexOf("bottom")!==-1;OLt(t,r,i,a);var v=r._hasColorscale=BLt(t,"marker","colors")||(t.marker||{}).coloraxis;v?NLt(t,r,i,a,{prefix:"marker.",cLetter:"c"}):a("marker.depthfade",!(r.marker.colors||[]).length);var m=r.textfont.size*2;a("marker.pad.t",d?m/4:m),a("marker.pad.l",m/4),a("marker.pad.r",m/4),a("marker.pad.b",d?m:m/4),a("marker.cornerradius"),r._hovered={marker:{line:{width:2,color:DLt.contrast(i.paper_bgcolor)}}},f&&(a("pathbar.thickness",r.pathbar.textfont.size+2*qLt),a("pathbar.side"),a("pathbar.edgeshape")),a("sort"),a("root.color"),FLt(r,i,a),r._length=null}});var Y6e=ye((C0r,Z6e)=>{"use strict";var ULt=Pr(),VLt=QW();Z6e.exports=function(t,r){function n(i,a){return ULt.coerce(t,r,VLt,i,a)}n("treemapcolorway",r.colorway),n("extendtreemapcolors")}});var tX=ye(eX=>{"use strict";var K6e=VE();eX.calc=function(e,t){return K6e.calc(e,t)};eX.crossTraceCalc=function(e){return K6e._runCrossTraceCalc("treemap",e)}});var rX=ye((P0r,J6e)=>{"use strict";J6e.exports=function e(t,r,n){var i;n.swapXY&&(i=t.x0,t.x0=t.y0,t.y0=i,i=t.x1,t.x1=t.y1,t.y1=i),n.flipX&&(i=t.x0,t.x0=r[0]-t.x1,t.x1=r[0]-i),n.flipY&&(i=t.y0,t.y0=r[1]-t.y1,t.y1=r[1]-i);var a=t.children;if(a)for(var o=0;o{"use strict";var VA=NE(),GLt=rX();$6e.exports=function(t,r,n){var i=n.flipX,a=n.flipY,o=n.packing==="dice-slice",s=n.pad[a?"bottom":"top"],l=n.pad[i?"right":"left"],u=n.pad[i?"left":"right"],c=n.pad[a?"top":"bottom"],f;o&&(f=l,l=s,s=f,f=u,u=c,c=f);var h=VA.treemap().tile(HLt(n.packing,n.squarifyratio)).paddingInner(n.pad.inner).paddingLeft(l).paddingRight(u).paddingTop(s).paddingBottom(c).size(o?[r[1],r[0]]:r)(t);return(o||i||a)&&GLt(h,r,{swapXY:o,flipX:i,flipY:a}),h};function HLt(e,t){switch(e){case"squarify":return VA.treemapSquarify.ratio(t);case"binary":return VA.treemapBinary;case"dice":return VA.treemapDice;case"slice":return VA.treemapSlice;default:return VA.treemapSliceDice}}});var KD=ye((R0r,rLe)=>{"use strict";var Q6e=qa(),GA=ka(),eLe=Pr(),nX=i1(),jLt=bv().resizeText,WLt=WD();function XLt(e){var t=e._fullLayout._treemaplayer.selectAll(".trace");jLt(e,t,"treemap"),t.each(function(r){var n=Q6e.select(this),i=r[0],a=i.trace;n.style("opacity",a.opacity),n.selectAll("path.surface").each(function(o){Q6e.select(this).call(tLe,o,a,e,{hovered:!1})})})}function tLe(e,t,r,n,i){var a=(i||{}).hovered,o=t.data.data,s=o.i,l,u,c=o.color,f=nX.isHierarchyRoot(t),h=1;if(a)l=r._hovered.marker.line.color,u=r._hovered.marker.line.width;else if(f&&c===r.root.color)h=100,l="rgba(0,0,0,0)",u=0;else if(l=eLe.castOption(r,s,"marker.line.color")||GA.defaultLine,u=eLe.castOption(r,s,"marker.line.width")||0,!r._hasColorscale&&!t.onPathbar){var d=r.marker.depthfade;if(d){var v=GA.combine(GA.addOpacity(r._backgroundColor,.75),c),m;if(d===!0){var b=nX.getMaxDepth(r);isFinite(b)?nX.isLeaf(t)?m=0:m=r._maxVisibleLayers-(t.data.depth-r._entryDepth):m=t.data.height+1}else m=t.data.depth-r._entryDepth,r._atRootLevel||m++;if(m>0)for(var p=0;p{"use strict";var iLe=qa(),JD=Pr(),nLe=So(),ZLt=Zl(),YLt=iX(),aLe=KD().styleOne,aX=X2(),HA=i1(),KLt=QE(),oX=!0;oLe.exports=function(t,r,n,i,a){var o=a.barDifY,s=a.width,l=a.height,u=a.viewX,c=a.viewY,f=a.pathSlice,h=a.toMoveInsideSlice,d=a.strTransform,v=a.hasTransition,m=a.handleSlicesExit,b=a.makeUpdateSliceInterpolator,p=a.makeUpdateTextInterpolator,k={},M=t._context.staticPlot,T=t._fullLayout,L=r[0],x=L.trace,C=L.hierarchy,S=s/x._entryDepth,g=HA.listPath(n.data,"id"),P=YLt(C.copy(),[s,l],{packing:"dice",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();P=P.filter(function(z){var q=g.indexOf(z.data.id);return q===-1?!1:(z.x0=S*q,z.x1=S*(q+1),z.y0=o,z.y1=o+l,z.onPathbar=!0,!0)}),P.reverse(),i=i.data(P,HA.getPtId),i.enter().append("g").classed("pathbar",!0),m(i,oX,k,[s,l],f),i.order();var E=i;v&&(E=E.transition().each("end",function(){var z=iLe.select(this);HA.setSliceCursor(z,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})})),E.each(function(z){z._x0=u(z.x0),z._x1=u(z.x1),z._y0=c(z.y0),z._y1=c(z.y1),z._hoverX=u(z.x1-Math.min(s,l)/2),z._hoverY=c(z.y1-l/2);var q=iLe.select(this),V=JD.ensureSingle(q,"path","surface",function(N){N.style("pointer-events",M?"none":"all")});v?V.transition().attrTween("d",function(N){var H=b(N,oX,k,[s,l]);return function(ie){return f(H(ie))}}):V.attr("d",f),q.call(KLt,n,t,r,{styleOne:aLe,eventDataKeys:aX.eventDataKeys,transitionTime:aX.CLICK_TRANSITION_TIME,transitionEasing:aX.CLICK_TRANSITION_EASING}).call(HA.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),V.call(aLe,z,x,t,{hovered:!1}),z._text=(HA.getPtLabel(z)||"").split("
").join(" ")||"";var G=JD.ensureSingle(q,"g","slicetext"),Z=JD.ensureSingle(G,"text","",function(N){N.attr("data-notex",1)}),j=JD.ensureUniformFontSize(t,HA.determineTextFont(x,z,T.font,{onPathbar:!0}));Z.text(z._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(nLe.font,j).call(ZLt.convertToTspans,t),z.textBB=nLe.bBox(Z.node()),z.transform=h(z,{fontSize:j.size,onPathbar:!0}),z.transform.fontSize=j.size,v?Z.transition().attrTween("transform",function(N){var H=p(N,oX,k,[s,l]);return function(ie){return d(H(ie))}}):Z.attr("transform",d(z))})}});var fLe=ye((F0r,cLe)=>{"use strict";var lLe=qa(),sX=(j2(),gb(H2)).interpolate,nx=i1(),tk=Pr(),uLe=A_().TEXTPAD,JLt=p2(),$Lt=JLt.toMoveInsideBar,QLt=bv(),lX=QLt.recordMinTextSize,ePt=X2(),tPt=sLe();function Y2(e){return nx.isHierarchyRoot(e)?"":nx.getPtId(e)}cLe.exports=function(t,r,n,i,a){var o=t._fullLayout,s=r[0],l=s.trace,u=l.type,c=u==="icicle",f=s.hierarchy,h=nx.findEntryWithLevel(f,l.level),d=lLe.select(n),v=d.selectAll("g.pathbar"),m=d.selectAll("g.slice");if(!h){v.remove(),m.remove();return}var b=nx.isHierarchyRoot(h),p=!o.uniformtext.mode&&nx.hasTransition(i),k=nx.getMaxDepth(l),M=function(Ae){return Ae.data.depth-h.data.depth-1?C+P:-(g+P):0,z={x0:S,x1:S,y0:E,y1:E+g},q=function(Ae,rt,St){var Tt=l.tiling.pad,dt=function(or){return or-Tt<=rt.x0},Et=function(or){return or+Tt>=rt.x1},pt=function(or){return or-Tt<=rt.y0},jt=function(or){return or+Tt>=rt.y1};return Ae.x0===rt.x0&&Ae.x1===rt.x1&&Ae.y0===rt.y0&&Ae.y1===rt.y1?{x0:Ae.x0,x1:Ae.x1,y0:Ae.y0,y1:Ae.y1}:{x0:dt(Ae.x0-Tt)?0:Et(Ae.x0-Tt)?St[0]:Ae.x0,x1:dt(Ae.x1+Tt)?0:Et(Ae.x1+Tt)?St[0]:Ae.x1,y0:pt(Ae.y0-Tt)?0:jt(Ae.y0-Tt)?St[1]:Ae.y0,y1:pt(Ae.y1+Tt)?0:jt(Ae.y1+Tt)?St[1]:Ae.y1}},V=null,G={},Z={},j=null,N=function(Ae,rt){return rt?G[Y2(Ae)]:Z[Y2(Ae)]},H=function(Ae,rt,St,Tt){if(rt)return G[Y2(f)]||z;var dt=Z[l.level]||St;return M(Ae)?q(Ae,dt,Tt):{}};s.hasMultipleRoots&&b&&k++,l._maxDepth=k,l._backgroundColor=o.paper_bgcolor,l._entryDepth=h.data.depth,l._atRootLevel=b;var ie=-x/2+T.l+T.w*(L.x[1]+L.x[0])/2,ae=-C/2+T.t+T.h*(1-(L.y[1]+L.y[0])/2),_e=function(Ae){return ie+Ae},Ee=function(Ae){return ae+Ae},Ce=Ee(0),ge=_e(0),re=function(Ae){return ge+Ae},Se=function(Ae){return Ce+Ae};function ke(Ae,rt){return Ae+","+rt}var be=re(0),Be=function(Ae){Ae.x=Math.max(be,Ae.x)},Le=l.pathbar.edgeshape,me=function(Ae){var rt=re(Math.max(Math.min(Ae.x0,Ae.x0),0)),St=re(Math.min(Math.max(Ae.x1,Ae.x1),S)),Tt=Se(Ae.y0),dt=Se(Ae.y1),Et=g/2,pt={},jt={};pt.x=rt,jt.x=St,pt.y=jt.y=(Tt+dt)/2;var or={x:rt,y:Tt},mr={x:St,y:Tt},Ar={x:St,y:dt},ei={x:rt,y:dt};return Le===">"?(or.x-=Et,mr.x-=Et,Ar.x-=Et,ei.x-=Et):Le==="/"?(Ar.x-=Et,ei.x-=Et,pt.x-=Et/2,jt.x-=Et/2):Le==="\\"?(or.x-=Et,mr.x-=Et,pt.x-=Et/2,jt.x-=Et/2):Le==="<"&&(pt.x-=Et,jt.x-=Et),Be(or),Be(ei),Be(pt),Be(mr),Be(Ar),Be(jt),"M"+ke(or.x,or.y)+"L"+ke(mr.x,mr.y)+"L"+ke(jt.x,jt.y)+"L"+ke(Ar.x,Ar.y)+"L"+ke(ei.x,ei.y)+"L"+ke(pt.x,pt.y)+"Z"},Pe=l[c?"tiling":"marker"].pad,ce=function(Ae){return l.textposition.indexOf(Ae)!==-1},He=ce("top"),lt=ce("left"),mt=ce("right"),Ht=ce("bottom"),at=function(Ae){var rt=_e(Ae.x0),St=_e(Ae.x1),Tt=Ee(Ae.y0),dt=Ee(Ae.y1),Et=St-rt,pt=dt-Tt;if(!Et||!pt)return"";var jt=l.marker.cornerradius||0,or=Math.min(jt,Et/2,pt/2);or&&Ae.data&&Ae.data.data&&Ae.data.data.label&&(He&&(or=Math.min(or,Pe.t)),lt&&(or=Math.min(or,Pe.l)),mt&&(or=Math.min(or,Pe.r)),Ht&&(or=Math.min(or,Pe.b)));var mr=function(Ar,ei){return or?"a"+ke(or,or)+" 0 0 1 "+ke(Ar,ei):""};return"M"+ke(rt,Tt+or)+mr(or,-or)+"L"+ke(St-or,Tt)+mr(or,or)+"L"+ke(St,dt-or)+mr(-or,or)+"L"+ke(rt+or,dt)+mr(-or,-or)+"Z"},ct=function(Ae,rt){var St=Ae.x0,Tt=Ae.x1,dt=Ae.y0,Et=Ae.y1,pt=Ae.textBB,jt=He||rt.isHeader&&!Ht,or=jt?"start":Ht?"end":"middle",mr=ce("right"),Ar=ce("left")||rt.onPathbar,ei=Ar?-1:mr?1:0;if(rt.isHeader){if(St+=(c?Pe:Pe.l)-uLe,Tt-=(c?Pe:Pe.r)-uLe,St>=Tt){var qr=(St+Tt)/2;St=qr,Tt=qr}var jr;Ht?(jr=Et-(c?Pe:Pe.b),dt{"use strict";var rPt=qa(),iPt=i1(),nPt=bv(),aPt=nPt.clearMinTextSize,oPt=V0().resizeText,hLe=fLe();dLe.exports=function(t,r,n,i,a){var o=a.type,s=a.drawDescendants,l=t._fullLayout,u=l["_"+o+"layer"],c,f,h=!n;if(aPt(o,l),c=u.selectAll("g.trace."+o).data(r,function(v){return v[0].trace.uid}),c.enter().append("g").classed("trace",!0).classed(o,!0),c.order(),!l.uniformtext.mode&&iPt.hasTransition(n)){i&&(f=i());var d=rPt.transition().duration(n.duration).ease(n.easing).each("end",function(){f&&f()}).each("interrupt",function(){f&&f()});d.each(function(){u.selectAll("g.trace").each(function(v){hLe(t,v,this,n,s)})})}else c.each(function(v){hLe(t,v,this,n,s)}),l.uniformtext.mode&&oPt(t,u.selectAll(".trace"),o);h&&c.exit().remove()}});var yLe=ye((q0r,mLe)=>{"use strict";var vLe=qa(),$D=Pr(),pLe=So(),sPt=Zl(),lPt=iX(),gLe=KD().styleOne,cX=X2(),ax=i1(),uPt=QE(),cPt=ZD().formatSliceLabel,fX=!1;mLe.exports=function(t,r,n,i,a){var o=a.width,s=a.height,l=a.viewX,u=a.viewY,c=a.pathSlice,f=a.toMoveInsideSlice,h=a.strTransform,d=a.hasTransition,v=a.handleSlicesExit,m=a.makeUpdateSliceInterpolator,b=a.makeUpdateTextInterpolator,p=a.prevEntry,k={},M=t._context.staticPlot,T=t._fullLayout,L=r[0],x=L.trace,C=x.textposition.indexOf("left")!==-1,S=x.textposition.indexOf("right")!==-1,g=x.textposition.indexOf("bottom")!==-1,P=!g&&!x.marker.pad.t||g&&!x.marker.pad.b,E=lPt(n,[o,s],{packing:x.tiling.packing,squarifyratio:x.tiling.squarifyratio,flipX:x.tiling.flip.indexOf("x")>-1,flipY:x.tiling.flip.indexOf("y")>-1,pad:{inner:x.tiling.pad,top:x.marker.pad.t,left:x.marker.pad.l,right:x.marker.pad.r,bottom:x.marker.pad.b}}),z=E.descendants(),q=1/0,V=-1/0;z.forEach(function(H){var ie=H.depth;ie>=x._maxDepth?(H.x0=H.x1=(H.x0+H.x1)/2,H.y0=H.y1=(H.y0+H.y1)/2):(q=Math.min(q,ie),V=Math.max(V,ie))}),i=i.data(z,ax.getPtId),x._maxVisibleLayers=isFinite(V)?V-q+1:0,i.enter().append("g").classed("slice",!0),v(i,fX,k,[o,s],c),i.order();var G=null;if(d&&p){var Z=ax.getPtId(p);i.each(function(H){G===null&&ax.getPtId(H)===Z&&(G={x0:H.x0,x1:H.x1,y0:H.y0,y1:H.y1})})}var j=function(){return G||{x0:0,x1:o,y0:0,y1:s}},N=i;return d&&(N=N.transition().each("end",function(){var H=vLe.select(this);ax.setSliceCursor(H,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),N.each(function(H){var ie=ax.isHeader(H,x);H._x0=l(H.x0),H._x1=l(H.x1),H._y0=u(H.y0),H._y1=u(H.y1),H._hoverX=l(H.x1-x.marker.pad.r),H._hoverY=u(g?H.y1-x.marker.pad.b/2:H.y0+x.marker.pad.t/2);var ae=vLe.select(this),_e=$D.ensureSingle(ae,"path","surface",function(ke){ke.style("pointer-events",M?"none":"all")});d?_e.transition().attrTween("d",function(ke){var be=m(ke,fX,j(),[o,s]);return function(Be){return c(be(Be))}}):_e.attr("d",c),ae.call(uPt,n,t,r,{styleOne:gLe,eventDataKeys:cX.eventDataKeys,transitionTime:cX.CLICK_TRANSITION_TIME,transitionEasing:cX.CLICK_TRANSITION_EASING}).call(ax.setSliceCursor,t,{isTransitioning:t._transitioning}),_e.call(gLe,H,x,t,{hovered:!1}),H.x0===H.x1||H.y0===H.y1?H._text="":ie?H._text=P?"":ax.getPtLabel(H)||"":H._text=cPt(H,n,x,r,T)||"";var Ee=$D.ensureSingle(ae,"g","slicetext"),Ce=$D.ensureSingle(Ee,"text","",function(ke){ke.attr("data-notex",1)}),ge=$D.ensureUniformFontSize(t,ax.determineTextFont(x,H,T.font)),re=H._text||" ",Se=ie&&re.indexOf("
")===-1;Ce.text(re).classed("slicetext",!0).attr("text-anchor",S?"end":C||Se?"start":"middle").call(pLe.font,ge).call(sPt.convertToTspans,t),H.textBB=pLe.bBox(Ce.node()),H.transform=f(H,{fontSize:ge.size,isHeader:ie}),H.transform.fontSize=ge.size,d?Ce.transition().attrTween("transform",function(ke){var be=b(ke,fX,j(),[o,s]);return function(Be){return h(be(Be))}}):Ce.attr("transform",h(H))}),G}});var xLe=ye((O0r,_Le)=>{"use strict";var fPt=uX(),hPt=yLe();_Le.exports=function(t,r,n,i){return fPt(t,r,n,i,{type:"treemap",drawDescendants:hPt})}});var wLe=ye((B0r,bLe)=>{"use strict";bLe.exports={moduleType:"trace",name:"treemap",basePlotModule:O6e(),categories:[],animatable:!0,attributes:YD(),layoutAttributes:QW(),supplyDefaults:X6e(),supplyLayoutDefaults:Y6e(),calc:tX().calc,crossTraceCalc:tX().crossTraceCalc,plot:xLe(),style:KD().style,colorbar:Qd(),meta:{}}});var ALe=ye((N0r,TLe)=>{"use strict";TLe.exports=wLe()});var MLe=ye(jA=>{"use strict";var SLe=Mc();jA.name="icicle";jA.plot=function(e,t,r,n){SLe.plotBasePlot(jA.name,e,t,r,n)};jA.clean=function(e,t,r,n){SLe.cleanBasePlot(jA.name,e,t,r,n)}});var hX=ye((V0r,CLe)=>{"use strict";var{hovertemplateAttrs:dPt,texttemplateAttrs:vPt,templatefallbackAttrs:ELe}=Ll(),pPt=Tu(),gPt=Cc().attributes,rk=z2(),s0=BE(),QD=YD(),kLe=X2(),mPt=Ao().extendFlat,yPt=Pd().pattern;CLe.exports={labels:s0.labels,parents:s0.parents,values:s0.values,branchvalues:s0.branchvalues,count:s0.count,level:s0.level,maxdepth:s0.maxdepth,tiling:{orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"plot"},flip:QD.tiling.flip,pad:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},marker:mPt({colors:s0.marker.colors,line:s0.marker.line,pattern:yPt,editType:"calc"},pPt("marker",{colorAttr:"colors",anim:!1})),leaf:s0.leaf,pathbar:QD.pathbar,text:rk.text,textinfo:s0.textinfo,texttemplate:vPt({editType:"plot"},{keys:kLe.eventDataKeys.concat(["label","value"])}),texttemplatefallback:ELe({editType:"plot"}),hovertext:rk.hovertext,hoverinfo:s0.hoverinfo,hovertemplate:dPt({},{keys:kLe.eventDataKeys}),hovertemplatefallback:ELe(),textfont:rk.textfont,insidetextfont:rk.insidetextfont,outsidetextfont:QD.outsidetextfont,textposition:QD.textposition,sort:rk.sort,root:s0.root,domain:gPt({name:"icicle",trace:!0,editType:"calc"})}});var dX=ye((G0r,LLe)=>{"use strict";LLe.exports={iciclecolorway:{valType:"colorlist",editType:"calc"},extendiciclecolors:{valType:"boolean",dflt:!0,editType:"calc"}}});var DLe=ye((H0r,RLe)=>{"use strict";var PLe=Pr(),_Pt=hX(),xPt=ka(),bPt=Cc().defaults,wPt=i0().handleText,TPt=A_().TEXTPAD,APt=q2().handleMarkerDefaults,ILe=tc(),SPt=ILe.hasColorscale,MPt=ILe.handleDefaults;RLe.exports=function(t,r,n,i){function a(d,v){return PLe.coerce(t,r,_Pt,d,v)}var o=a("labels"),s=a("parents");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a("values");l&&l.length?a("branchvalues"):a("count"),a("level"),a("maxdepth"),a("tiling.orientation"),a("tiling.flip"),a("tiling.pad");var u=a("text");a("texttemplate"),a("texttemplatefallback"),r.texttemplate||a("textinfo",PLe.isArrayOrTypedArray(u)?"text+label":"label"),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback");var c=a("pathbar.visible"),f="auto";wPt(t,r,i,a,f,{hasPathbar:c,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a("textposition"),APt(t,r,i,a);var h=r._hasColorscale=SPt(t,"marker","colors")||(t.marker||{}).coloraxis;h&&MPt(t,r,i,a,{prefix:"marker.",cLetter:"c"}),a("leaf.opacity",h?1:.7),r._hovered={marker:{line:{width:2,color:xPt.contrast(i.paper_bgcolor)}}},c&&(a("pathbar.thickness",r.pathbar.textfont.size+2*TPt),a("pathbar.side"),a("pathbar.edgeshape")),a("sort"),a("root.color"),bPt(r,i,a),r._length=null}});var zLe=ye((j0r,FLe)=>{"use strict";var EPt=Pr(),kPt=dX();FLe.exports=function(t,r){function n(i,a){return EPt.coerce(t,r,kPt,i,a)}n("iciclecolorway",r.colorway),n("extendiciclecolors")}});var pX=ye(vX=>{"use strict";var qLe=VE();vX.calc=function(e,t){return qLe.calc(e,t)};vX.crossTraceCalc=function(e){return qLe._runCrossTraceCalc("icicle",e)}});var BLe=ye((X0r,OLe)=>{"use strict";var CPt=NE(),LPt=rX();OLe.exports=function(t,r,n){var i=n.flipX,a=n.flipY,o=n.orientation==="h",s=n.maxDepth,l=r[0],u=r[1];s&&(l=(t.height+1)*r[0]/Math.min(t.height+1,s),u=(t.height+1)*r[1]/Math.min(t.height+1,s));var c=CPt.partition().padding(n.pad.inner).size(o?[r[1],l]:[r[0],u])(t);return(o||i||a)&&LPt(c,r,{swapXY:o,flipX:i,flipY:a}),c}});var gX=ye((Z0r,HLe)=>{"use strict";var NLe=qa(),ULe=ka(),VLe=Pr(),PPt=bv().resizeText,IPt=WD();function RPt(e){var t=e._fullLayout._iciclelayer.selectAll(".trace");PPt(e,t,"icicle"),t.each(function(r){var n=NLe.select(this),i=r[0],a=i.trace;n.style("opacity",a.opacity),n.selectAll("path.surface").each(function(o){NLe.select(this).call(GLe,o,a,e)})})}function GLe(e,t,r,n){var i=t.data.data,a=!t.children,o=i.i,s=VLe.castOption(r,o,"marker.line.color")||ULe.defaultLine,l=VLe.castOption(r,o,"marker.line.width")||0;e.call(IPt,t,r,n).style("stroke-width",l).call(ULe.stroke,s).style("opacity",a?r.leaf.opacity:null)}HLe.exports={style:RPt,styleOne:GLe}});var YLe=ye((Y0r,ZLe)=>{"use strict";var jLe=qa(),eF=Pr(),WLe=So(),DPt=Zl(),FPt=BLe(),XLe=gX().styleOne,mX=X2(),WA=i1(),zPt=QE(),qPt=ZD().formatSliceLabel,yX=!1;ZLe.exports=function(t,r,n,i,a){var o=a.width,s=a.height,l=a.viewX,u=a.viewY,c=a.pathSlice,f=a.toMoveInsideSlice,h=a.strTransform,d=a.hasTransition,v=a.handleSlicesExit,m=a.makeUpdateSliceInterpolator,b=a.makeUpdateTextInterpolator,p=a.prevEntry,k={},M=t._context.staticPlot,T=t._fullLayout,L=r[0],x=L.trace,C=x.textposition.indexOf("left")!==-1,S=x.textposition.indexOf("right")!==-1,g=x.textposition.indexOf("bottom")!==-1,P=FPt(n,[o,s],{flipX:x.tiling.flip.indexOf("x")>-1,flipY:x.tiling.flip.indexOf("y")>-1,orientation:x.tiling.orientation,pad:{inner:x.tiling.pad},maxDepth:x._maxDepth}),E=P.descendants(),z=1/0,q=-1/0;E.forEach(function(N){var H=N.depth;H>=x._maxDepth?(N.x0=N.x1=(N.x0+N.x1)/2,N.y0=N.y1=(N.y0+N.y1)/2):(z=Math.min(z,H),q=Math.max(q,H))}),i=i.data(E,WA.getPtId),x._maxVisibleLayers=isFinite(q)?q-z+1:0,i.enter().append("g").classed("slice",!0),v(i,yX,k,[o,s],c),i.order();var V=null;if(d&&p){var G=WA.getPtId(p);i.each(function(N){V===null&&WA.getPtId(N)===G&&(V={x0:N.x0,x1:N.x1,y0:N.y0,y1:N.y1})})}var Z=function(){return V||{x0:0,x1:o,y0:0,y1:s}},j=i;return d&&(j=j.transition().each("end",function(){var N=jLe.select(this);WA.setSliceCursor(N,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),j.each(function(N){N._x0=l(N.x0),N._x1=l(N.x1),N._y0=u(N.y0),N._y1=u(N.y1),N._hoverX=l(N.x1-x.tiling.pad),N._hoverY=u(g?N.y1-x.tiling.pad/2:N.y0+x.tiling.pad/2);var H=jLe.select(this),ie=eF.ensureSingle(H,"path","surface",function(Ce){Ce.style("pointer-events",M?"none":"all")});d?ie.transition().attrTween("d",function(Ce){var ge=m(Ce,yX,Z(),[o,s],{orientation:x.tiling.orientation,flipX:x.tiling.flip.indexOf("x")>-1,flipY:x.tiling.flip.indexOf("y")>-1});return function(re){return c(ge(re))}}):ie.attr("d",c),H.call(zPt,n,t,r,{styleOne:XLe,eventDataKeys:mX.eventDataKeys,transitionTime:mX.CLICK_TRANSITION_TIME,transitionEasing:mX.CLICK_TRANSITION_EASING}).call(WA.setSliceCursor,t,{isTransitioning:t._transitioning}),ie.call(XLe,N,x,t,{hovered:!1}),N.x0===N.x1||N.y0===N.y1?N._text="":N._text=qPt(N,n,x,r,T)||"";var ae=eF.ensureSingle(H,"g","slicetext"),_e=eF.ensureSingle(ae,"text","",function(Ce){Ce.attr("data-notex",1)}),Ee=eF.ensureUniformFontSize(t,WA.determineTextFont(x,N,T.font));_e.text(N._text||" ").classed("slicetext",!0).attr("text-anchor",S?"end":C?"start":"middle").call(WLe.font,Ee).call(DPt.convertToTspans,t),N.textBB=WLe.bBox(_e.node()),N.transform=f(N,{fontSize:Ee.size}),N.transform.fontSize=Ee.size,d?_e.transition().attrTween("transform",function(Ce){var ge=b(Ce,yX,Z(),[o,s]);return function(re){return h(ge(re))}}):_e.attr("transform",h(N))}),V}});var JLe=ye((K0r,KLe)=>{"use strict";var OPt=uX(),BPt=YLe();KLe.exports=function(t,r,n,i){return OPt(t,r,n,i,{type:"icicle",drawDescendants:BPt})}});var QLe=ye((J0r,$Le)=>{"use strict";$Le.exports={moduleType:"trace",name:"icicle",basePlotModule:MLe(),categories:[],animatable:!0,attributes:hX(),layoutAttributes:dX(),supplyDefaults:DLe(),supplyLayoutDefaults:zLe(),calc:pX().calc,crossTraceCalc:pX().crossTraceCalc,plot:JLe(),style:gX().style,colorbar:Qd(),meta:{}}});var tPe=ye(($0r,ePe)=>{"use strict";ePe.exports=QLe()});var iPe=ye(XA=>{"use strict";var rPe=Mc();XA.name="funnelarea";XA.plot=function(e,t,r,n){rPe.plotBasePlot(XA.name,e,t,r,n)};XA.clean=function(e,t,r,n){rPe.cleanBasePlot(XA.name,e,t,r,n)}});var _X=ye((egr,aPe)=>{"use strict";var nv=z2(),NPt=Gl(),UPt=Cc().attributes,{hovertemplateAttrs:VPt,texttemplateAttrs:GPt,templatefallbackAttrs:nPe}=Ll(),K2=Ao().extendFlat;aPe.exports={labels:nv.labels,label0:nv.label0,dlabel:nv.dlabel,values:nv.values,marker:{colors:nv.marker.colors,line:{color:K2({},nv.marker.line.color,{dflt:null}),width:K2({},nv.marker.line.width,{dflt:1}),editType:"calc"},pattern:nv.marker.pattern,editType:"calc"},text:nv.text,hovertext:nv.hovertext,scalegroup:K2({},nv.scalegroup,{}),textinfo:K2({},nv.textinfo,{flags:["label","text","value","percent"]}),texttemplate:GPt({editType:"plot"},{keys:["label","color","value","text","percent"]}),texttemplatefallback:nPe({editType:"plot"}),hoverinfo:K2({},NPt.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:VPt({},{keys:["label","color","value","text","percent"]}),hovertemplatefallback:nPe(),textposition:K2({},nv.textposition,{values:["inside","none"],dflt:"inside"}),textfont:nv.textfont,insidetextfont:nv.insidetextfont,title:{text:nv.title.text,font:nv.title.font,position:K2({},nv.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:UPt({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"}}});var xX=ye((tgr,oPe)=>{"use strict";var HPt=bD().hiddenlabels;oPe.exports={hiddenlabels:HPt,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}});var uPe=ye((rgr,lPe)=>{"use strict";var sPe=Pr(),jPt=_X(),WPt=Cc().defaults,XPt=i0().handleText,ZPt=q2().handleLabelsAndValues,YPt=q2().handleMarkerDefaults;lPe.exports=function(t,r,n,i){function a(m,b){return sPe.coerce(t,r,jPt,m,b)}var o=a("labels"),s=a("values"),l=ZPt(o,s),u=l.len;if(r._hasLabels=l.hasLabels,r._hasValues=l.hasValues,!r._hasLabels&&r._hasValues&&(a("label0"),a("dlabel")),!u){r.visible=!1;return}r._length=u,YPt(t,r,i,a),a("scalegroup");var c=a("text"),f=a("texttemplate");a("texttemplatefallback");var h;if(f||(h=a("textinfo",Array.isArray(c)?"text+percent":"percent")),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback"),f||h&&h!=="none"){var d=a("textposition");XPt(t,r,i,a,d,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else h==="none"&&a("textposition","none");WPt(r,i,a);var v=a("title.text");v&&(a("title.position"),sPe.coerceFont(a,"title.font",i.font)),a("aspectratio"),a("baseratio")}});var fPe=ye((igr,cPe)=>{"use strict";var KPt=Pr(),JPt=xX();cPe.exports=function(t,r){function n(i,a){return KPt.coerce(t,r,JPt,i,a)}n("hiddenlabels"),n("funnelareacolorway",r.colorway),n("extendfunnelareacolors")}});var bX=ye((ngr,dPe)=>{"use strict";var hPe=CA();function $Pt(e,t){return hPe.calc(e,t)}function QPt(e){hPe.crossTraceCalc(e,{type:"funnelarea"})}dPe.exports={calc:$Pt,crossTraceCalc:QPt}});var yPe=ye((agr,mPe)=>{"use strict";var J2=qa(),wX=So(),ox=Pr(),eIt=ox.strScale,vPe=ox.strTranslate,pPe=Zl(),tIt=p2(),rIt=tIt.toMoveInsideBar,gPe=bv(),iIt=gPe.recordMinTextSize,nIt=gPe.clearMinTextSize,aIt=g_(),ZA=SD(),oIt=ZA.attachFxHandlers,sIt=ZA.determineInsideTextFont,lIt=ZA.layoutAreas,uIt=ZA.prerenderTitles,cIt=ZA.positionTitleOutside,fIt=ZA.formatSliceLabel;mPe.exports=function(t,r){var n=t._context.staticPlot,i=t._fullLayout;nIt("funnelarea",i),uIt(r,t),lIt(r,i._size),ox.makeTraceGroups(i._funnelarealayer,r,"trace").each(function(a){var o=J2.select(this),s=a[0],l=s.trace;dIt(a),o.each(function(){var u=J2.select(this).selectAll("g.slice").data(a);u.enter().append("g").classed("slice",!0),u.exit().remove(),u.each(function(f,h){if(f.hidden){J2.select(this).selectAll("path,g").remove();return}f.pointNumber=f.i,f.curveNumber=l.index;var d=s.cx,v=s.cy,m=J2.select(this),b=m.selectAll("path.surface").data([f]);b.enter().append("path").classed("surface",!0).style({"pointer-events":n?"none":"all"}),m.call(oIt,t,a);var p="M"+(d+f.TR[0])+","+(v+f.TR[1])+TX(f.TR,f.BR)+TX(f.BR,f.BL)+TX(f.BL,f.TL)+"Z";b.attr("d",p),fIt(t,f,s);var k=aIt.castOption(l.textposition,f.pts),M=m.selectAll("g.slicetext").data(f.text&&k!=="none"?[0]:[]);M.enter().append("g").classed("slicetext",!0),M.exit().remove(),M.each(function(){var T=ox.ensureSingle(J2.select(this),"text","",function(z){z.attr("data-notex",1)}),L=ox.ensureUniformFontSize(t,sIt(l,f,i.font));T.text(f.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(wX.font,L).call(pPe.convertToTspans,t);var x=wX.bBox(T.node()),C,S,g,P=Math.min(f.BL[1],f.BR[1])+v,E=Math.max(f.TL[1],f.TR[1])+v;S=Math.max(f.TL[0],f.BL[0])+d,g=Math.min(f.TR[0],f.BR[0])+d,C=rIt(S,g,P,E,x,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"}),C.fontSize=L.size,iIt(l.type,C,i),a[h].transform=C,ox.setTransormAndDisplay(T,C)})});var c=J2.select(this).selectAll("g.titletext").data(l.title.text?[0]:[]);c.enter().append("g").classed("titletext",!0),c.exit().remove(),c.each(function(){var f=ox.ensureSingle(J2.select(this),"text","",function(v){v.attr("data-notex",1)}),h=l.title.text;l._meta&&(h=ox.templateString(h,l._meta)),f.text(h).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(wX.font,l.title.font).call(pPe.convertToTspans,t);var d=cIt(s,i._size);f.attr("transform",vPe(d.x,d.y)+eIt(Math.min(1,d.scale))+vPe(d.tx,d.ty))})})})};function TX(e,t){var r=t[0]-e[0],n=t[1]-e[1];return"l"+r+","+n}function hIt(e,t){return[.5*(e[0]+t[0]),.5*(e[1]+t[1])]}function dIt(e){if(!e.length)return;var t=e[0],r=t.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a=Math.pow(i,2),o=t.vTotal,s=o*a/(1-a),l=o,u=s/o;function c(){var q=Math.sqrt(u);return{x:q,y:-q}}function f(){var q=c();return[q.x,q.y]}var h,d=[];d.push(f());var v,m;for(v=e.length-1;v>-1;v--)if(m=e[v],!m.hidden){var b=m.v/l;u+=b,d.push(f())}var p=1/0,k=-1/0;for(v=0;v-1;v--)if(m=e[v],!m.hidden){P+=1;var E=d[P][0],z=d[P][1];m.TL=[-E,z],m.TR=[E,z],m.BL=S,m.BR=g,m.pxmid=hIt(m.TR,m.BR),S=m.TL,g=m.TR}}});var bPe=ye((ogr,xPe)=>{"use strict";var _Pe=qa(),vIt=Y3(),pIt=bv().resizeText;xPe.exports=function(t){var r=t._fullLayout._funnelarealayer.selectAll(".trace");pIt(t,r,"funnelarea"),r.each(function(n){var i=n[0],a=i.trace,o=_Pe.select(this);o.style({opacity:a.opacity}),o.selectAll("path.surface").each(function(s){_Pe.select(this).call(vIt,s,a,t)})})}});var TPe=ye((sgr,wPe)=>{"use strict";wPe.exports={moduleType:"trace",name:"funnelarea",basePlotModule:iPe(),categories:["pie-like","funnelarea","showLegend"],attributes:_X(),layoutAttributes:xX(),supplyDefaults:uPe(),supplyLayoutDefaults:fPe(),calc:bX().calc,crossTraceCalc:bX().crossTraceCalc,plot:yPe(),style:bPe(),styleOne:Y3(),meta:{}}});var SPe=ye((lgr,APe)=>{"use strict";APe.exports=TPe()});var qd=ye((ugr,MPe)=>{(function(){var e={1964:function(i,a,o){i.exports={alpha_shape:o(3502),convex_hull:o(7352),delaunay_triangulate:o(7642),gl_cone3d:o(6405),gl_error3d:o(9165),gl_line3d:o(5714),gl_mesh3d:o(7201),gl_plot3d:o(4100),gl_scatter3d:o(8418),gl_streamtube3d:o(7815),gl_surface3d:o(9499),ndarray:o(9618),ndarray_linear_interpolate:o(4317)}},4793:function(i,a,o){"use strict";var s;function l(tt){"@babel/helpers - typeof";return l=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(je){return typeof je}:function(je){return je&&typeof Symbol=="function"&&je.constructor===Symbol&&je!==Symbol.prototype?"symbol":typeof je},l(tt)}var u=o(7507),c=o(3778),f=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;a.hp=m,s=P,a.IS=50;var h=2147483647;s=h,m.TYPED_ARRAY_SUPPORT=d(),!m.TYPED_ARRAY_SUPPORT&&typeof console!="undefined"&&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 d(){try{var tt=new Uint8Array(1),je={foo:function(){return 42}};return Object.setPrototypeOf(je,Uint8Array.prototype),Object.setPrototypeOf(tt,je),tt.foo()===42}catch(Ue){return!1}}Object.defineProperty(m.prototype,"parent",{enumerable:!0,get:function(){if(m.isBuffer(this))return this.buffer}}),Object.defineProperty(m.prototype,"offset",{enumerable:!0,get:function(){if(m.isBuffer(this))return this.byteOffset}});function v(tt){if(tt>h)throw new RangeError('The value "'+tt+'" is invalid for option "size"');var je=new Uint8Array(tt);return Object.setPrototypeOf(je,m.prototype),je}function m(tt,je,Ue){if(typeof tt=="number"){if(typeof je=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return M(tt)}return b(tt,je,Ue)}m.poolSize=8192;function b(tt,je,Ue){if(typeof tt=="string")return T(tt,je);if(ArrayBuffer.isView(tt))return x(tt);if(tt==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+l(tt));if(ar(tt,ArrayBuffer)||tt&&ar(tt.buffer,ArrayBuffer)||typeof SharedArrayBuffer!="undefined"&&(ar(tt,SharedArrayBuffer)||tt&&ar(tt.buffer,SharedArrayBuffer)))return C(tt,je,Ue);if(typeof tt=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var Ae=tt.valueOf&&tt.valueOf();if(Ae!=null&&Ae!==tt)return m.from(Ae,je,Ue);var rt=S(tt);if(rt)return rt;if(typeof Symbol!="undefined"&&Symbol.toPrimitive!=null&&typeof tt[Symbol.toPrimitive]=="function")return m.from(tt[Symbol.toPrimitive]("string"),je,Ue);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+l(tt))}m.from=function(tt,je,Ue){return b(tt,je,Ue)},Object.setPrototypeOf(m.prototype,Uint8Array.prototype),Object.setPrototypeOf(m,Uint8Array);function p(tt){if(typeof tt!="number")throw new TypeError('"size" argument must be of type number');if(tt<0)throw new RangeError('The value "'+tt+'" is invalid for option "size"')}function k(tt,je,Ue){return p(tt),tt<=0?v(tt):je!==void 0?typeof Ue=="string"?v(tt).fill(je,Ue):v(tt).fill(je):v(tt)}m.alloc=function(tt,je,Ue){return k(tt,je,Ue)};function M(tt){return p(tt),v(tt<0?0:g(tt)|0)}m.allocUnsafe=function(tt){return M(tt)},m.allocUnsafeSlow=function(tt){return M(tt)};function T(tt,je){if((typeof je!="string"||je==="")&&(je="utf8"),!m.isEncoding(je))throw new TypeError("Unknown encoding: "+je);var Ue=E(tt,je)|0,Ae=v(Ue),rt=Ae.write(tt,je);return rt!==Ue&&(Ae=Ae.slice(0,rt)),Ae}function L(tt){for(var je=tt.length<0?0:g(tt.length)|0,Ue=v(je),Ae=0;Ae=h)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+h.toString(16)+" bytes");return tt|0}function P(tt){return+tt!=tt&&(tt=0),m.alloc(+tt)}m.isBuffer=function(je){return je!=null&&je._isBuffer===!0&&je!==m.prototype},m.compare=function(je,Ue){if(ar(je,Uint8Array)&&(je=m.from(je,je.offset,je.byteLength)),ar(Ue,Uint8Array)&&(Ue=m.from(Ue,Ue.offset,Ue.byteLength)),!m.isBuffer(je)||!m.isBuffer(Ue))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(je===Ue)return 0;for(var Ae=je.length,rt=Ue.length,St=0,Tt=Math.min(Ae,rt);Strt.length?m.from(Tt).copy(rt,St):Uint8Array.prototype.set.call(rt,Tt,St);else if(m.isBuffer(Tt))Tt.copy(rt,St);else throw new TypeError('"list" argument must be an Array of Buffers');St+=Tt.length}return rt};function E(tt,je){if(m.isBuffer(tt))return tt.length;if(ArrayBuffer.isView(tt)||ar(tt,ArrayBuffer))return tt.byteLength;if(typeof tt!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+l(tt));var Ue=tt.length,Ae=arguments.length>2&&arguments[2]===!0;if(!Ae&&Ue===0)return 0;for(var rt=!1;;)switch(je){case"ascii":case"latin1":case"binary":return Ue;case"utf8":case"utf-8":return lt(tt).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ue*2;case"hex":return Ue>>>1;case"base64":return at(tt).length;default:if(rt)return Ae?-1:lt(tt).length;je=(""+je).toLowerCase(),rt=!0}}m.byteLength=E;function z(tt,je,Ue){var Ae=!1;if((je===void 0||je<0)&&(je=0),je>this.length||((Ue===void 0||Ue>this.length)&&(Ue=this.length),Ue<=0)||(Ue>>>=0,je>>>=0,Ue<=je))return"";for(tt||(tt="utf8");;)switch(tt){case"hex":return Se(this,je,Ue);case"utf8":case"utf-8":return _e(this,je,Ue);case"ascii":return ge(this,je,Ue);case"latin1":case"binary":return re(this,je,Ue);case"base64":return ae(this,je,Ue);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ke(this,je,Ue);default:if(Ae)throw new TypeError("Unknown encoding: "+tt);tt=(tt+"").toLowerCase(),Ae=!0}}m.prototype._isBuffer=!0;function q(tt,je,Ue){var Ae=tt[je];tt[je]=tt[Ue],tt[Ue]=Ae}m.prototype.swap16=function(){var je=this.length;if(je%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var Ue=0;UeUe&&(je+=" ... "),""},f&&(m.prototype[f]=m.prototype.inspect),m.prototype.compare=function(je,Ue,Ae,rt,St){if(ar(je,Uint8Array)&&(je=m.from(je,je.offset,je.byteLength)),!m.isBuffer(je))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+l(je));if(Ue===void 0&&(Ue=0),Ae===void 0&&(Ae=je?je.length:0),rt===void 0&&(rt=0),St===void 0&&(St=this.length),Ue<0||Ae>je.length||rt<0||St>this.length)throw new RangeError("out of range index");if(rt>=St&&Ue>=Ae)return 0;if(rt>=St)return-1;if(Ue>=Ae)return 1;if(Ue>>>=0,Ae>>>=0,rt>>>=0,St>>>=0,this===je)return 0;for(var Tt=St-rt,dt=Ae-Ue,Et=Math.min(Tt,dt),pt=this.slice(rt,St),jt=je.slice(Ue,Ae),or=0;or2147483647?Ue=2147483647:Ue<-2147483648&&(Ue=-2147483648),Ue=+Ue,Vt(Ue)&&(Ue=rt?0:tt.length-1),Ue<0&&(Ue=tt.length+Ue),Ue>=tt.length){if(rt)return-1;Ue=tt.length-1}else if(Ue<0)if(rt)Ue=0;else return-1;if(typeof je=="string"&&(je=m.from(je,Ae)),m.isBuffer(je))return je.length===0?-1:G(tt,je,Ue,Ae,rt);if(typeof je=="number")return je=je&255,typeof Uint8Array.prototype.indexOf=="function"?rt?Uint8Array.prototype.indexOf.call(tt,je,Ue):Uint8Array.prototype.lastIndexOf.call(tt,je,Ue):G(tt,[je],Ue,Ae,rt);throw new TypeError("val must be string, number or Buffer")}function G(tt,je,Ue,Ae,rt){var St=1,Tt=tt.length,dt=je.length;if(Ae!==void 0&&(Ae=String(Ae).toLowerCase(),Ae==="ucs2"||Ae==="ucs-2"||Ae==="utf16le"||Ae==="utf-16le")){if(tt.length<2||je.length<2)return-1;St=2,Tt/=2,dt/=2,Ue/=2}function Et(Ar,ei){return St===1?Ar[ei]:Ar.readUInt16BE(ei*St)}var pt;if(rt){var jt=-1;for(pt=Ue;ptTt&&(Ue=Tt-dt),pt=Ue;pt>=0;pt--){for(var or=!0,mr=0;mrrt&&(Ae=rt)):Ae=rt;var St=je.length;Ae>St/2&&(Ae=St/2);for(var Tt=0;Tt>>0,isFinite(Ae)?(Ae=Ae>>>0,rt===void 0&&(rt="utf8")):(rt=Ae,Ae=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var St=this.length-Ue;if((Ae===void 0||Ae>St)&&(Ae=St),je.length>0&&(Ae<0||Ue<0)||Ue>this.length)throw new RangeError("Attempt to write outside buffer bounds");rt||(rt="utf8");for(var Tt=!1;;)switch(rt){case"hex":return Z(this,je,Ue,Ae);case"utf8":case"utf-8":return j(this,je,Ue,Ae);case"ascii":case"latin1":case"binary":return N(this,je,Ue,Ae);case"base64":return H(this,je,Ue,Ae);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ie(this,je,Ue,Ae);default:if(Tt)throw new TypeError("Unknown encoding: "+rt);rt=(""+rt).toLowerCase(),Tt=!0}},m.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function ae(tt,je,Ue){return je===0&&Ue===tt.length?u.fromByteArray(tt):u.fromByteArray(tt.slice(je,Ue))}function _e(tt,je,Ue){Ue=Math.min(tt.length,Ue);for(var Ae=[],rt=je;rt239?4:St>223?3:St>191?2:1;if(rt+dt<=Ue){var Et,pt,jt,or;switch(dt){case 1:St<128&&(Tt=St);break;case 2:Et=tt[rt+1],(Et&192)===128&&(or=(St&31)<<6|Et&63,or>127&&(Tt=or));break;case 3:Et=tt[rt+1],pt=tt[rt+2],(Et&192)===128&&(pt&192)===128&&(or=(St&15)<<12|(Et&63)<<6|pt&63,or>2047&&(or<55296||or>57343)&&(Tt=or));break;case 4:Et=tt[rt+1],pt=tt[rt+2],jt=tt[rt+3],(Et&192)===128&&(pt&192)===128&&(jt&192)===128&&(or=(St&15)<<18|(Et&63)<<12|(pt&63)<<6|jt&63,or>65535&&or<1114112&&(Tt=or))}}Tt===null?(Tt=65533,dt=1):Tt>65535&&(Tt-=65536,Ae.push(Tt>>>10&1023|55296),Tt=56320|Tt&1023),Ae.push(Tt),rt+=dt}return Ce(Ae)}var Ee=4096;function Ce(tt){var je=tt.length;if(je<=Ee)return String.fromCharCode.apply(String,tt);for(var Ue="",Ae=0;AeAe)&&(Ue=Ae);for(var rt="",St=je;StAe&&(je=Ae),Ue<0?(Ue+=Ae,Ue<0&&(Ue=0)):Ue>Ae&&(Ue=Ae),UeUe)throw new RangeError("Trying to access beyond buffer length")}m.prototype.readUintLE=m.prototype.readUIntLE=function(je,Ue,Ae){je=je>>>0,Ue=Ue>>>0,Ae||be(je,Ue,this.length);for(var rt=this[je],St=1,Tt=0;++Tt>>0,Ue=Ue>>>0,Ae||be(je,Ue,this.length);for(var rt=this[je+--Ue],St=1;Ue>0&&(St*=256);)rt+=this[je+--Ue]*St;return rt},m.prototype.readUint8=m.prototype.readUInt8=function(je,Ue){return je=je>>>0,Ue||be(je,1,this.length),this[je]},m.prototype.readUint16LE=m.prototype.readUInt16LE=function(je,Ue){return je=je>>>0,Ue||be(je,2,this.length),this[je]|this[je+1]<<8},m.prototype.readUint16BE=m.prototype.readUInt16BE=function(je,Ue){return je=je>>>0,Ue||be(je,2,this.length),this[je]<<8|this[je+1]},m.prototype.readUint32LE=m.prototype.readUInt32LE=function(je,Ue){return je=je>>>0,Ue||be(je,4,this.length),(this[je]|this[je+1]<<8|this[je+2]<<16)+this[je+3]*16777216},m.prototype.readUint32BE=m.prototype.readUInt32BE=function(je,Ue){return je=je>>>0,Ue||be(je,4,this.length),this[je]*16777216+(this[je+1]<<16|this[je+2]<<8|this[je+3])},m.prototype.readIntLE=function(je,Ue,Ae){je=je>>>0,Ue=Ue>>>0,Ae||be(je,Ue,this.length);for(var rt=this[je],St=1,Tt=0;++Tt=St&&(rt-=Math.pow(2,8*Ue)),rt},m.prototype.readIntBE=function(je,Ue,Ae){je=je>>>0,Ue=Ue>>>0,Ae||be(je,Ue,this.length);for(var rt=Ue,St=1,Tt=this[je+--rt];rt>0&&(St*=256);)Tt+=this[je+--rt]*St;return St*=128,Tt>=St&&(Tt-=Math.pow(2,8*Ue)),Tt},m.prototype.readInt8=function(je,Ue){return je=je>>>0,Ue||be(je,1,this.length),this[je]&128?(255-this[je]+1)*-1:this[je]},m.prototype.readInt16LE=function(je,Ue){je=je>>>0,Ue||be(je,2,this.length);var Ae=this[je]|this[je+1]<<8;return Ae&32768?Ae|4294901760:Ae},m.prototype.readInt16BE=function(je,Ue){je=je>>>0,Ue||be(je,2,this.length);var Ae=this[je+1]|this[je]<<8;return Ae&32768?Ae|4294901760:Ae},m.prototype.readInt32LE=function(je,Ue){return je=je>>>0,Ue||be(je,4,this.length),this[je]|this[je+1]<<8|this[je+2]<<16|this[je+3]<<24},m.prototype.readInt32BE=function(je,Ue){return je=je>>>0,Ue||be(je,4,this.length),this[je]<<24|this[je+1]<<16|this[je+2]<<8|this[je+3]},m.prototype.readFloatLE=function(je,Ue){return je=je>>>0,Ue||be(je,4,this.length),c.read(this,je,!0,23,4)},m.prototype.readFloatBE=function(je,Ue){return je=je>>>0,Ue||be(je,4,this.length),c.read(this,je,!1,23,4)},m.prototype.readDoubleLE=function(je,Ue){return je=je>>>0,Ue||be(je,8,this.length),c.read(this,je,!0,52,8)},m.prototype.readDoubleBE=function(je,Ue){return je=je>>>0,Ue||be(je,8,this.length),c.read(this,je,!1,52,8)};function Be(tt,je,Ue,Ae,rt,St){if(!m.isBuffer(tt))throw new TypeError('"buffer" argument must be a Buffer instance');if(je>rt||jett.length)throw new RangeError("Index out of range")}m.prototype.writeUintLE=m.prototype.writeUIntLE=function(je,Ue,Ae,rt){if(je=+je,Ue=Ue>>>0,Ae=Ae>>>0,!rt){var St=Math.pow(2,8*Ae)-1;Be(this,je,Ue,Ae,St,0)}var Tt=1,dt=0;for(this[Ue]=je&255;++dt>>0,Ae=Ae>>>0,!rt){var St=Math.pow(2,8*Ae)-1;Be(this,je,Ue,Ae,St,0)}var Tt=Ae-1,dt=1;for(this[Ue+Tt]=je&255;--Tt>=0&&(dt*=256);)this[Ue+Tt]=je/dt&255;return Ue+Ae},m.prototype.writeUint8=m.prototype.writeUInt8=function(je,Ue,Ae){return je=+je,Ue=Ue>>>0,Ae||Be(this,je,Ue,1,255,0),this[Ue]=je&255,Ue+1},m.prototype.writeUint16LE=m.prototype.writeUInt16LE=function(je,Ue,Ae){return je=+je,Ue=Ue>>>0,Ae||Be(this,je,Ue,2,65535,0),this[Ue]=je&255,this[Ue+1]=je>>>8,Ue+2},m.prototype.writeUint16BE=m.prototype.writeUInt16BE=function(je,Ue,Ae){return je=+je,Ue=Ue>>>0,Ae||Be(this,je,Ue,2,65535,0),this[Ue]=je>>>8,this[Ue+1]=je&255,Ue+2},m.prototype.writeUint32LE=m.prototype.writeUInt32LE=function(je,Ue,Ae){return je=+je,Ue=Ue>>>0,Ae||Be(this,je,Ue,4,4294967295,0),this[Ue+3]=je>>>24,this[Ue+2]=je>>>16,this[Ue+1]=je>>>8,this[Ue]=je&255,Ue+4},m.prototype.writeUint32BE=m.prototype.writeUInt32BE=function(je,Ue,Ae){return je=+je,Ue=Ue>>>0,Ae||Be(this,je,Ue,4,4294967295,0),this[Ue]=je>>>24,this[Ue+1]=je>>>16,this[Ue+2]=je>>>8,this[Ue+3]=je&255,Ue+4},m.prototype.writeIntLE=function(je,Ue,Ae,rt){if(je=+je,Ue=Ue>>>0,!rt){var St=Math.pow(2,8*Ae-1);Be(this,je,Ue,Ae,St-1,-St)}var Tt=0,dt=1,Et=0;for(this[Ue]=je&255;++Tt>0)-Et&255;return Ue+Ae},m.prototype.writeIntBE=function(je,Ue,Ae,rt){if(je=+je,Ue=Ue>>>0,!rt){var St=Math.pow(2,8*Ae-1);Be(this,je,Ue,Ae,St-1,-St)}var Tt=Ae-1,dt=1,Et=0;for(this[Ue+Tt]=je&255;--Tt>=0&&(dt*=256);)je<0&&Et===0&&this[Ue+Tt+1]!==0&&(Et=1),this[Ue+Tt]=(je/dt>>0)-Et&255;return Ue+Ae},m.prototype.writeInt8=function(je,Ue,Ae){return je=+je,Ue=Ue>>>0,Ae||Be(this,je,Ue,1,127,-128),je<0&&(je=255+je+1),this[Ue]=je&255,Ue+1},m.prototype.writeInt16LE=function(je,Ue,Ae){return je=+je,Ue=Ue>>>0,Ae||Be(this,je,Ue,2,32767,-32768),this[Ue]=je&255,this[Ue+1]=je>>>8,Ue+2},m.prototype.writeInt16BE=function(je,Ue,Ae){return je=+je,Ue=Ue>>>0,Ae||Be(this,je,Ue,2,32767,-32768),this[Ue]=je>>>8,this[Ue+1]=je&255,Ue+2},m.prototype.writeInt32LE=function(je,Ue,Ae){return je=+je,Ue=Ue>>>0,Ae||Be(this,je,Ue,4,2147483647,-2147483648),this[Ue]=je&255,this[Ue+1]=je>>>8,this[Ue+2]=je>>>16,this[Ue+3]=je>>>24,Ue+4},m.prototype.writeInt32BE=function(je,Ue,Ae){return je=+je,Ue=Ue>>>0,Ae||Be(this,je,Ue,4,2147483647,-2147483648),je<0&&(je=4294967295+je+1),this[Ue]=je>>>24,this[Ue+1]=je>>>16,this[Ue+2]=je>>>8,this[Ue+3]=je&255,Ue+4};function Le(tt,je,Ue,Ae,rt,St){if(Ue+Ae>tt.length)throw new RangeError("Index out of range");if(Ue<0)throw new RangeError("Index out of range")}function me(tt,je,Ue,Ae,rt){return je=+je,Ue=Ue>>>0,rt||Le(tt,je,Ue,4,34028234663852886e22,-34028234663852886e22),c.write(tt,je,Ue,Ae,23,4),Ue+4}m.prototype.writeFloatLE=function(je,Ue,Ae){return me(this,je,Ue,!0,Ae)},m.prototype.writeFloatBE=function(je,Ue,Ae){return me(this,je,Ue,!1,Ae)};function Pe(tt,je,Ue,Ae,rt){return je=+je,Ue=Ue>>>0,rt||Le(tt,je,Ue,8,17976931348623157e292,-17976931348623157e292),c.write(tt,je,Ue,Ae,52,8),Ue+8}m.prototype.writeDoubleLE=function(je,Ue,Ae){return Pe(this,je,Ue,!0,Ae)},m.prototype.writeDoubleBE=function(je,Ue,Ae){return Pe(this,je,Ue,!1,Ae)},m.prototype.copy=function(je,Ue,Ae,rt){if(!m.isBuffer(je))throw new TypeError("argument should be a Buffer");if(Ae||(Ae=0),!rt&&rt!==0&&(rt=this.length),Ue>=je.length&&(Ue=je.length),Ue||(Ue=0),rt>0&&rt=this.length)throw new RangeError("Index out of range");if(rt<0)throw new RangeError("sourceEnd out of bounds");rt>this.length&&(rt=this.length),je.length-Ue>>0,Ae=Ae===void 0?this.length:Ae>>>0,je||(je=0);var Tt;if(typeof je=="number")for(Tt=Ue;Tt55295&&Ue<57344){if(!rt){if(Ue>56319){(je-=3)>-1&&St.push(239,191,189);continue}else if(Tt+1===Ae){(je-=3)>-1&&St.push(239,191,189);continue}rt=Ue;continue}if(Ue<56320){(je-=3)>-1&&St.push(239,191,189),rt=Ue;continue}Ue=(rt-55296<<10|Ue-56320)+65536}else rt&&(je-=3)>-1&&St.push(239,191,189);if(rt=null,Ue<128){if((je-=1)<0)break;St.push(Ue)}else if(Ue<2048){if((je-=2)<0)break;St.push(Ue>>6|192,Ue&63|128)}else if(Ue<65536){if((je-=3)<0)break;St.push(Ue>>12|224,Ue>>6&63|128,Ue&63|128)}else if(Ue<1114112){if((je-=4)<0)break;St.push(Ue>>18|240,Ue>>12&63|128,Ue>>6&63|128,Ue&63|128)}else throw new Error("Invalid code point")}return St}function mt(tt){for(var je=[],Ue=0;Ue>8,rt=Ue%256,St.push(rt),St.push(Ae);return St}function at(tt){return u.toByteArray(He(tt))}function ct(tt,je,Ue,Ae){for(var rt=0;rt=je.length||rt>=tt.length);++rt)je[rt+Ue]=tt[rt];return rt}function ar(tt,je){return tt instanceof je||tt!=null&&tt.constructor!=null&&tt.constructor.name!=null&&tt.constructor.name===je.name}function Vt(tt){return tt!==tt}var rr=function(){for(var tt="0123456789abcdef",je=new Array(256),Ue=0;Ue<16;++Ue)for(var Ae=Ue*16,rt=0;rt<16;++rt)je[Ae+rt]=tt[Ue]+tt[rt];return je}()},9216:function(i){"use strict";i.exports=l,i.exports.isMobile=l,i.exports.default=l;var a=/(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,o=/CrOS/,s=/android|ipad|playbook|silk/i;function l(u){u||(u={});var c=u.ua;if(!c&&typeof navigator!="undefined"&&(c=navigator.userAgent),c&&c.headers&&typeof c.headers["user-agent"]=="string"&&(c=c.headers["user-agent"]),typeof c!="string")return!1;var f=a.test(c)&&!o.test(c)||!!u.tablet&&s.test(c);return!f&&u.tablet&&u.featureDetect&&navigator&&navigator.maxTouchPoints>1&&c.indexOf("Macintosh")!==-1&&c.indexOf("Safari")!==-1&&(f=!0),f}},6296:function(i,a,o){"use strict";i.exports=h;var s=o(7261),l=o(9977),u=o(1811);function c(d,v){this._controllerNames=Object.keys(d),this._controllerList=this._controllerNames.map(function(m){return d[m]}),this._mode=v,this._active=d[v],this._active||(this._mode="turntable",this._active=d.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 f=c.prototype;f.flush=function(d){for(var v=this._controllerList,m=0;m0)throw new Error("Invalid string. Length must be a multiple of 4");var L=M.indexOf("=");L===-1&&(L=T);var x=L===T?0:4-L%4;return[L,x]}function d(M){var T=h(M),L=T[0],x=T[1];return(L+x)*3/4-x}function v(M,T,L){return(T+L)*3/4-L}function m(M){var T,L=h(M),x=L[0],C=L[1],S=new l(v(M,x,C)),g=0,P=C>0?x-4:x,E;for(E=0;E>16&255,S[g++]=T>>8&255,S[g++]=T&255;return C===2&&(T=s[M.charCodeAt(E)]<<2|s[M.charCodeAt(E+1)]>>4,S[g++]=T&255),C===1&&(T=s[M.charCodeAt(E)]<<10|s[M.charCodeAt(E+1)]<<4|s[M.charCodeAt(E+2)]>>2,S[g++]=T>>8&255,S[g++]=T&255),S}function b(M){return o[M>>18&63]+o[M>>12&63]+o[M>>6&63]+o[M&63]}function p(M,T,L){for(var x,C=[],S=T;SP?P:g+S));return x===1?(T=M[L-1],C.push(o[T>>2]+o[T<<4&63]+"==")):x===2&&(T=(M[L-2]<<8)+M[L-1],C.push(o[T>>10]+o[T>>4&63]+o[T<<2&63]+"=")),C.join("")}},3865:function(i,a,o){"use strict";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]).add(c[0].mul(u[1])),u[1].mul(c[1]))}},1318:function(i){"use strict";i.exports=a;function a(o,s){return o[0].mul(s[1]).cmp(s[0].mul(o[1]))}},8697:function(i,a,o){"use strict";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]),u[1].mul(c[0]))}},7842:function(i,a,o){"use strict";var s=o(6330),l=o(1533),u=o(2651),c=o(6768),f=o(869),h=o(8697);i.exports=d;function d(v,m){if(s(v))return m?h(v,d(m)):[v[0].clone(),v[1].clone()];var b=0,p,k;if(l(v))p=v.clone();else if(typeof v=="string")p=c(v);else{if(v===0)return[u(0),u(1)];if(v===Math.floor(v))p=u(v);else{for(;v!==Math.floor(v);)v=v*Math.pow(2,256),b-=256;p=u(v)}}if(s(m))p.mul(m[1]),k=m[0].clone();else if(l(m))k=m.clone();else if(typeof m=="string")k=c(m);else if(!m)k=u(1);else if(m===Math.floor(m))k=u(m);else{for(;m!==Math.floor(m);)m=m*Math.pow(2,256),b+=256;k=u(m)}return b>0?p=p.ushln(b):b<0&&(k=k.ushln(-b)),f(p,k)}},6330:function(i,a,o){"use strict";var s=o(1533);i.exports=l;function l(u){return Array.isArray(u)&&u.length===2&&s(u[0])&&s(u[1])}},5716:function(i,a,o){"use strict";var s=o(6859);i.exports=l;function l(u){return u.cmp(new s(0))}},1369:function(i,a,o){"use strict";var s=o(5716);i.exports=l;function l(u){var c=u.length,f=u.words,h=0;if(c===1)h=f[0];else if(c===2)h=f[0]+f[1]*67108864;else for(var d=0;d20?52:h+32}},1533:function(i,a,o){"use strict";var s=o(6859);i.exports=l;function l(u){return u&&typeof u=="object"&&!!u.words}},2651:function(i,a,o){"use strict";var s=o(6859),l=o(2361);i.exports=u;function u(c){var f=l.exponent(c);return f<52?new s(c):new s(c*Math.pow(2,52-f)).ushln(f-52)}},869:function(i,a,o){"use strict";var s=o(2651),l=o(5716);i.exports=u;function u(c,f){var h=l(c),d=l(f);if(h===0)return[s(0),s(1)];if(d===0)return[s(0),s(0)];d<0&&(c=c.neg(),f=f.neg());var v=c.gcd(f);return v.cmpn(1)?[c.div(v),f.div(v)]:[c,f]}},6768:function(i,a,o){"use strict";var s=o(6859);i.exports=l;function l(u){return new s(u)}},6504:function(i,a,o){"use strict";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[0]),u[1].mul(c[1]))}},7721:function(i,a,o){"use strict";var s=o(5716);i.exports=l;function l(u){return s(u[0])*s(u[1])}},5572:function(i,a,o){"use strict";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]).sub(u[1].mul(c[0])),u[1].mul(c[1]))}},946:function(i,a,o){"use strict";var s=o(1369),l=o(4025);i.exports=u;function u(c){var f=c[0],h=c[1];if(f.cmpn(0)===0)return 0;var d=f.abs().divmod(h.abs()),v=d.div,m=s(v),b=d.mod,p=f.negative!==h.negative?-1:1;if(b.cmpn(0)===0)return p*m;if(m){var k=l(m)+4,M=s(b.ushln(k).divRound(h));return p*(m+M*Math.pow(2,-k))}else{var T=h.bitLength()-b.bitLength()+53,M=s(b.ushln(T).divRound(h));return T<1023?p*M*Math.pow(2,-T):(M*=Math.pow(2,-1023),p*M*Math.pow(2,1023-T))}}},2478:function(i){"use strict";function a(f,h,d,v,m){for(var b=m+1;v<=m;){var p=v+m>>>1,k=f[p],M=d!==void 0?d(k,h):k-h;M>=0?(b=p,m=p-1):v=p+1}return b}function o(f,h,d,v,m){for(var b=m+1;v<=m;){var p=v+m>>>1,k=f[p],M=d!==void 0?d(k,h):k-h;M>0?(b=p,m=p-1):v=p+1}return b}function s(f,h,d,v,m){for(var b=v-1;v<=m;){var p=v+m>>>1,k=f[p],M=d!==void 0?d(k,h):k-h;M<0?(b=p,v=p+1):m=p-1}return b}function l(f,h,d,v,m){for(var b=v-1;v<=m;){var p=v+m>>>1,k=f[p],M=d!==void 0?d(k,h):k-h;M<=0?(b=p,v=p+1):m=p-1}return b}function u(f,h,d,v,m){for(;v<=m;){var b=v+m>>>1,p=f[b],k=d!==void 0?d(p,h):p-h;if(k===0)return b;k<=0?v=b+1:m=b-1}return-1}function c(f,h,d,v,m,b){return typeof d=="function"?b(f,h,d,v===void 0?0:v|0,m===void 0?f.length-1:m|0):b(f,h,void 0,d===void 0?0:d|0,v===void 0?f.length-1:v|0)}i.exports={ge:function(f,h,d,v,m){return c(f,h,d,v,m,a)},gt:function(f,h,d,v,m){return c(f,h,d,v,m,o)},lt:function(f,h,d,v,m){return c(f,h,d,v,m,s)},le:function(f,h,d,v,m){return c(f,h,d,v,m,l)},eq:function(f,h,d,v,m){return c(f,h,d,v,m,u)}}},8828:function(i,a){"use strict";"use restrict";var o=32;a.INT_BITS=o,a.INT_MAX=2147483647,a.INT_MIN=-1<0)-(u<0)},a.abs=function(u){var c=u>>o-1;return(u^c)-c},a.min=function(u,c){return c^(u^c)&-(u65535)<<4,u>>>=c,f=(u>255)<<3,u>>>=f,c|=f,f=(u>15)<<2,u>>>=f,c|=f,f=(u>3)<<1,u>>>=f,c|=f,c|u>>1},a.log10=function(u){return u>=1e9?9:u>=1e8?8:u>=1e7?7:u>=1e6?6:u>=1e5?5:u>=1e4?4:u>=1e3?3:u>=100?2:u>=10?1:0},a.popCount=function(u){return u=u-(u>>>1&1431655765),u=(u&858993459)+(u>>>2&858993459),(u+(u>>>4)&252645135)*16843009>>>24};function s(u){var c=32;return u&=-u,u&&c--,u&65535&&(c-=16),u&16711935&&(c-=8),u&252645135&&(c-=4),u&858993459&&(c-=2),u&1431655765&&(c-=1),c}a.countTrailingZeros=s,a.nextPow2=function(u){return u+=u===0,--u,u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u+1},a.prevPow2=function(u){return u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u-(u>>>1)},a.parity=function(u){return u^=u>>>16,u^=u>>>8,u^=u>>>4,u&=15,27030>>>u&1};var l=new Array(256);(function(u){for(var c=0;c<256;++c){var f=c,h=c,d=7;for(f>>>=1;f;f>>>=1)h<<=1,h|=f&1,--d;u[c]=h<>>8&255]<<16|l[u>>>16&255]<<8|l[u>>>24&255]},a.interleave2=function(u,c){return u&=65535,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,c&=65535,c=(c|c<<8)&16711935,c=(c|c<<4)&252645135,c=(c|c<<2)&858993459,c=(c|c<<1)&1431655765,u|c<<1},a.deinterleave2=function(u,c){return u=u>>>c&1431655765,u=(u|u>>>1)&858993459,u=(u|u>>>2)&252645135,u=(u|u>>>4)&16711935,u=(u|u>>>16)&65535,u<<16>>16},a.interleave3=function(u,c,f){return u&=1023,u=(u|u<<16)&4278190335,u=(u|u<<8)&251719695,u=(u|u<<4)&3272356035,u=(u|u<<2)&1227133513,c&=1023,c=(c|c<<16)&4278190335,c=(c|c<<8)&251719695,c=(c|c<<4)&3272356035,c=(c|c<<2)&1227133513,u|=c<<1,f&=1023,f=(f|f<<16)&4278190335,f=(f|f<<8)&251719695,f=(f|f<<4)&3272356035,f=(f|f<<2)&1227133513,u|f<<2},a.deinterleave3=function(u,c){return u=u>>>c&1227133513,u=(u|u>>>2)&3272356035,u=(u|u>>>4)&251719695,u=(u|u>>>8)&4278190335,u=(u|u>>>16)&1023,u<<22>>22},a.nextCombination=function(u){var c=u|u-1;return c+1|(~c&-~c)-1>>>s(u)+1}},6859:function(i,a,o){i=o.nmd(i),function(s,l){"use strict";function u(j,N){if(!j)throw new Error(N||"Assertion failed")}function c(j,N){j.super_=N;var H=function(){};H.prototype=N.prototype,j.prototype=new H,j.prototype.constructor=j}function f(j,N,H){if(f.isBN(j))return j;this.negative=0,this.words=null,this.length=0,this.red=null,j!==null&&((N==="le"||N==="be")&&(H=N,N=10),this._init(j||0,N||10,H||"be"))}typeof s=="object"?s.exports=f:l.BN=f,f.BN=f,f.wordSize=26;var h;try{typeof window!="undefined"&&typeof window.Buffer!="undefined"?h=window.Buffer:h=o(7790).Buffer}catch(j){}f.isBN=function(N){return N instanceof f?!0:N!==null&&typeof N=="object"&&N.constructor.wordSize===f.wordSize&&Array.isArray(N.words)},f.max=function(N,H){return N.cmp(H)>0?N:H},f.min=function(N,H){return N.cmp(H)<0?N:H},f.prototype._init=function(N,H,ie){if(typeof N=="number")return this._initNumber(N,H,ie);if(typeof N=="object")return this._initArray(N,H,ie);H==="hex"&&(H=16),u(H===(H|0)&&H>=2&&H<=36),N=N.toString().replace(/\s+/g,"");var ae=0;N[0]==="-"&&(ae++,this.negative=1),ae=0;ae-=3)Ee=N[ae]|N[ae-1]<<8|N[ae-2]<<16,this.words[_e]|=Ee<>>26-Ce&67108863,Ce+=24,Ce>=26&&(Ce-=26,_e++);else if(ie==="le")for(ae=0,_e=0;ae>>26-Ce&67108863,Ce+=24,Ce>=26&&(Ce-=26,_e++);return this.strip()};function d(j,N){var H=j.charCodeAt(N);return H>=65&&H<=70?H-55:H>=97&&H<=102?H-87:H-48&15}function v(j,N,H){var ie=d(j,H);return H-1>=N&&(ie|=d(j,H-1)<<4),ie}f.prototype._parseHex=function(N,H,ie){this.length=Math.ceil((N.length-H)/6),this.words=new Array(this.length);for(var ae=0;ae=H;ae-=2)Ce=v(N,H,ae)<<_e,this.words[Ee]|=Ce&67108863,_e>=18?(_e-=18,Ee+=1,this.words[Ee]|=Ce>>>26):_e+=8;else{var ge=N.length-H;for(ae=ge%2===0?H+1:H;ae=18?(_e-=18,Ee+=1,this.words[Ee]|=Ce>>>26):_e+=8}this.strip()};function m(j,N,H,ie){for(var ae=0,_e=Math.min(j.length,H),Ee=N;Ee<_e;Ee++){var Ce=j.charCodeAt(Ee)-48;ae*=ie,Ce>=49?ae+=Ce-49+10:Ce>=17?ae+=Ce-17+10:ae+=Ce}return ae}f.prototype._parseBase=function(N,H,ie){this.words=[0],this.length=1;for(var ae=0,_e=1;_e<=67108863;_e*=H)ae++;ae--,_e=_e/H|0;for(var Ee=N.length-ie,Ce=Ee%ae,ge=Math.min(Ee,Ee-Ce)+ie,re=0,Se=ie;Se1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},f.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},f.prototype.inspect=function(){return(this.red?""};var b=["","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"],p=[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],k=[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];f.prototype.toString=function(N,H){N=N||10,H=H|0||1;var ie;if(N===16||N==="hex"){ie="";for(var ae=0,_e=0,Ee=0;Ee>>24-ae&16777215,ae+=2,ae>=26&&(ae-=26,Ee--),_e!==0||Ee!==this.length-1?ie=b[6-ge.length]+ge+ie:ie=ge+ie}for(_e!==0&&(ie=_e.toString(16)+ie);ie.length%H!==0;)ie="0"+ie;return this.negative!==0&&(ie="-"+ie),ie}if(N===(N|0)&&N>=2&&N<=36){var re=p[N],Se=k[N];ie="";var ke=this.clone();for(ke.negative=0;!ke.isZero();){var be=ke.modn(Se).toString(N);ke=ke.idivn(Se),ke.isZero()?ie=be+ie:ie=b[re-be.length]+be+ie}for(this.isZero()&&(ie="0"+ie);ie.length%H!==0;)ie="0"+ie;return this.negative!==0&&(ie="-"+ie),ie}u(!1,"Base should be between 2 and 36")},f.prototype.toNumber=function(){var N=this.words[0];return this.length===2?N+=this.words[1]*67108864:this.length===3&&this.words[2]===1?N+=4503599627370496+this.words[1]*67108864:this.length>2&&u(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-N:N},f.prototype.toJSON=function(){return this.toString(16)},f.prototype.toBuffer=function(N,H){return u(typeof h!="undefined"),this.toArrayLike(h,N,H)},f.prototype.toArray=function(N,H){return this.toArrayLike(Array,N,H)},f.prototype.toArrayLike=function(N,H,ie){var ae=this.byteLength(),_e=ie||Math.max(1,ae);u(ae<=_e,"byte array longer than desired length"),u(_e>0,"Requested array length <= 0"),this.strip();var Ee=H==="le",Ce=new N(_e),ge,re,Se=this.clone();if(Ee){for(re=0;!Se.isZero();re++)ge=Se.andln(255),Se.iushrn(8),Ce[re]=ge;for(;re<_e;re++)Ce[re]=0}else{for(re=0;re<_e-ae;re++)Ce[re]=0;for(re=0;!Se.isZero();re++)ge=Se.andln(255),Se.iushrn(8),Ce[_e-re-1]=ge}return Ce},Math.clz32?f.prototype._countBits=function(N){return 32-Math.clz32(N)}:f.prototype._countBits=function(N){var H=N,ie=0;return H>=4096&&(ie+=13,H>>>=13),H>=64&&(ie+=7,H>>>=7),H>=8&&(ie+=4,H>>>=4),H>=2&&(ie+=2,H>>>=2),ie+H},f.prototype._zeroBits=function(N){if(N===0)return 26;var H=N,ie=0;return(H&8191)===0&&(ie+=13,H>>>=13),(H&127)===0&&(ie+=7,H>>>=7),(H&15)===0&&(ie+=4,H>>>=4),(H&3)===0&&(ie+=2,H>>>=2),(H&1)===0&&ie++,ie},f.prototype.bitLength=function(){var N=this.words[this.length-1],H=this._countBits(N);return(this.length-1)*26+H};function M(j){for(var N=new Array(j.bitLength()),H=0;H>>ae}return N}f.prototype.zeroBits=function(){if(this.isZero())return 0;for(var N=0,H=0;HN.length?this.clone().ior(N):N.clone().ior(this)},f.prototype.uor=function(N){return this.length>N.length?this.clone().iuor(N):N.clone().iuor(this)},f.prototype.iuand=function(N){var H;this.length>N.length?H=N:H=this;for(var ie=0;ieN.length?this.clone().iand(N):N.clone().iand(this)},f.prototype.uand=function(N){return this.length>N.length?this.clone().iuand(N):N.clone().iuand(this)},f.prototype.iuxor=function(N){var H,ie;this.length>N.length?(H=this,ie=N):(H=N,ie=this);for(var ae=0;aeN.length?this.clone().ixor(N):N.clone().ixor(this)},f.prototype.uxor=function(N){return this.length>N.length?this.clone().iuxor(N):N.clone().iuxor(this)},f.prototype.inotn=function(N){u(typeof N=="number"&&N>=0);var H=Math.ceil(N/26)|0,ie=N%26;this._expand(H),ie>0&&H--;for(var ae=0;ae0&&(this.words[ae]=~this.words[ae]&67108863>>26-ie),this.strip()},f.prototype.notn=function(N){return this.clone().inotn(N)},f.prototype.setn=function(N,H){u(typeof N=="number"&&N>=0);var ie=N/26|0,ae=N%26;return this._expand(ie+1),H?this.words[ie]=this.words[ie]|1<N.length?(ie=this,ae=N):(ie=N,ae=this);for(var _e=0,Ee=0;Ee>>26;for(;_e!==0&&Ee>>26;if(this.length=ie.length,_e!==0)this.words[this.length]=_e,this.length++;else if(ie!==this)for(;EeN.length?this.clone().iadd(N):N.clone().iadd(this)},f.prototype.isub=function(N){if(N.negative!==0){N.negative=0;var H=this.iadd(N);return N.negative=1,H._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(N),this.negative=1,this._normSign();var ie=this.cmp(N);if(ie===0)return this.negative=0,this.length=1,this.words[0]=0,this;var ae,_e;ie>0?(ae=this,_e=N):(ae=N,_e=this);for(var Ee=0,Ce=0;Ce<_e.length;Ce++)H=(ae.words[Ce]|0)-(_e.words[Ce]|0)+Ee,Ee=H>>26,this.words[Ce]=H&67108863;for(;Ee!==0&&Ce>26,this.words[Ce]=H&67108863;if(Ee===0&&Ce>>26,ke=ge&67108863,be=Math.min(re,N.length-1),Be=Math.max(0,re-j.length+1);Be<=be;Be++){var Le=re-Be|0;ae=j.words[Le]|0,_e=N.words[Be]|0,Ee=ae*_e+ke,Se+=Ee/67108864|0,ke=Ee&67108863}H.words[re]=ke|0,ge=Se|0}return ge!==0?H.words[re]=ge|0:H.length--,H.strip()}var L=function(N,H,ie){var ae=N.words,_e=H.words,Ee=ie.words,Ce=0,ge,re,Se,ke=ae[0]|0,be=ke&8191,Be=ke>>>13,Le=ae[1]|0,me=Le&8191,Pe=Le>>>13,ce=ae[2]|0,He=ce&8191,lt=ce>>>13,mt=ae[3]|0,Ht=mt&8191,at=mt>>>13,ct=ae[4]|0,ar=ct&8191,Vt=ct>>>13,rr=ae[5]|0,tt=rr&8191,je=rr>>>13,Ue=ae[6]|0,Ae=Ue&8191,rt=Ue>>>13,St=ae[7]|0,Tt=St&8191,dt=St>>>13,Et=ae[8]|0,pt=Et&8191,jt=Et>>>13,or=ae[9]|0,mr=or&8191,Ar=or>>>13,ei=_e[0]|0,qr=ei&8191,jr=ei>>>13,gt=_e[1]|0,Ge=gt&8191,Je=gt>>>13,We=_e[2]|0,et=We&8191,xt=We>>>13,At=_e[3]|0,Kt=At&8191,Qt=At>>>13,Mr=_e[4]|0,Gr=Mr&8191,Ir=Mr>>>13,Yr=_e[5]|0,_i=Yr&8191,Pi=Yr>>>13,ai=_e[6]|0,mi=ai&8191,un=ai>>>13,Fn=_e[7]|0,An=Fn&8191,Hn=Fn>>>13,Qn=_e[8]|0,Vi=Qn&8191,Kn=Qn>>>13,Jn=_e[9]|0,Gt=Jn&8191,wt=Jn>>>13;ie.negative=N.negative^H.negative,ie.length=19,ge=Math.imul(be,qr),re=Math.imul(be,jr),re=re+Math.imul(Be,qr)|0,Se=Math.imul(Be,jr);var tr=(Ce+ge|0)+((re&8191)<<13)|0;Ce=(Se+(re>>>13)|0)+(tr>>>26)|0,tr&=67108863,ge=Math.imul(me,qr),re=Math.imul(me,jr),re=re+Math.imul(Pe,qr)|0,Se=Math.imul(Pe,jr),ge=ge+Math.imul(be,Ge)|0,re=re+Math.imul(be,Je)|0,re=re+Math.imul(Be,Ge)|0,Se=Se+Math.imul(Be,Je)|0;var ir=(Ce+ge|0)+((re&8191)<<13)|0;Ce=(Se+(re>>>13)|0)+(ir>>>26)|0,ir&=67108863,ge=Math.imul(He,qr),re=Math.imul(He,jr),re=re+Math.imul(lt,qr)|0,Se=Math.imul(lt,jr),ge=ge+Math.imul(me,Ge)|0,re=re+Math.imul(me,Je)|0,re=re+Math.imul(Pe,Ge)|0,Se=Se+Math.imul(Pe,Je)|0,ge=ge+Math.imul(be,et)|0,re=re+Math.imul(be,xt)|0,re=re+Math.imul(Be,et)|0,Se=Se+Math.imul(Be,xt)|0;var wr=(Ce+ge|0)+((re&8191)<<13)|0;Ce=(Se+(re>>>13)|0)+(wr>>>26)|0,wr&=67108863,ge=Math.imul(Ht,qr),re=Math.imul(Ht,jr),re=re+Math.imul(at,qr)|0,Se=Math.imul(at,jr),ge=ge+Math.imul(He,Ge)|0,re=re+Math.imul(He,Je)|0,re=re+Math.imul(lt,Ge)|0,Se=Se+Math.imul(lt,Je)|0,ge=ge+Math.imul(me,et)|0,re=re+Math.imul(me,xt)|0,re=re+Math.imul(Pe,et)|0,Se=Se+Math.imul(Pe,xt)|0,ge=ge+Math.imul(be,Kt)|0,re=re+Math.imul(be,Qt)|0,re=re+Math.imul(Be,Kt)|0,Se=Se+Math.imul(Be,Qt)|0;var Xr=(Ce+ge|0)+((re&8191)<<13)|0;Ce=(Se+(re>>>13)|0)+(Xr>>>26)|0,Xr&=67108863,ge=Math.imul(ar,qr),re=Math.imul(ar,jr),re=re+Math.imul(Vt,qr)|0,Se=Math.imul(Vt,jr),ge=ge+Math.imul(Ht,Ge)|0,re=re+Math.imul(Ht,Je)|0,re=re+Math.imul(at,Ge)|0,Se=Se+Math.imul(at,Je)|0,ge=ge+Math.imul(He,et)|0,re=re+Math.imul(He,xt)|0,re=re+Math.imul(lt,et)|0,Se=Se+Math.imul(lt,xt)|0,ge=ge+Math.imul(me,Kt)|0,re=re+Math.imul(me,Qt)|0,re=re+Math.imul(Pe,Kt)|0,Se=Se+Math.imul(Pe,Qt)|0,ge=ge+Math.imul(be,Gr)|0,re=re+Math.imul(be,Ir)|0,re=re+Math.imul(Be,Gr)|0,Se=Se+Math.imul(Be,Ir)|0;var ti=(Ce+ge|0)+((re&8191)<<13)|0;Ce=(Se+(re>>>13)|0)+(ti>>>26)|0,ti&=67108863,ge=Math.imul(tt,qr),re=Math.imul(tt,jr),re=re+Math.imul(je,qr)|0,Se=Math.imul(je,jr),ge=ge+Math.imul(ar,Ge)|0,re=re+Math.imul(ar,Je)|0,re=re+Math.imul(Vt,Ge)|0,Se=Se+Math.imul(Vt,Je)|0,ge=ge+Math.imul(Ht,et)|0,re=re+Math.imul(Ht,xt)|0,re=re+Math.imul(at,et)|0,Se=Se+Math.imul(at,xt)|0,ge=ge+Math.imul(He,Kt)|0,re=re+Math.imul(He,Qt)|0,re=re+Math.imul(lt,Kt)|0,Se=Se+Math.imul(lt,Qt)|0,ge=ge+Math.imul(me,Gr)|0,re=re+Math.imul(me,Ir)|0,re=re+Math.imul(Pe,Gr)|0,Se=Se+Math.imul(Pe,Ir)|0,ge=ge+Math.imul(be,_i)|0,re=re+Math.imul(be,Pi)|0,re=re+Math.imul(Be,_i)|0,Se=Se+Math.imul(Be,Pi)|0;var $r=(Ce+ge|0)+((re&8191)<<13)|0;Ce=(Se+(re>>>13)|0)+($r>>>26)|0,$r&=67108863,ge=Math.imul(Ae,qr),re=Math.imul(Ae,jr),re=re+Math.imul(rt,qr)|0,Se=Math.imul(rt,jr),ge=ge+Math.imul(tt,Ge)|0,re=re+Math.imul(tt,Je)|0,re=re+Math.imul(je,Ge)|0,Se=Se+Math.imul(je,Je)|0,ge=ge+Math.imul(ar,et)|0,re=re+Math.imul(ar,xt)|0,re=re+Math.imul(Vt,et)|0,Se=Se+Math.imul(Vt,xt)|0,ge=ge+Math.imul(Ht,Kt)|0,re=re+Math.imul(Ht,Qt)|0,re=re+Math.imul(at,Kt)|0,Se=Se+Math.imul(at,Qt)|0,ge=ge+Math.imul(He,Gr)|0,re=re+Math.imul(He,Ir)|0,re=re+Math.imul(lt,Gr)|0,Se=Se+Math.imul(lt,Ir)|0,ge=ge+Math.imul(me,_i)|0,re=re+Math.imul(me,Pi)|0,re=re+Math.imul(Pe,_i)|0,Se=Se+Math.imul(Pe,Pi)|0,ge=ge+Math.imul(be,mi)|0,re=re+Math.imul(be,un)|0,re=re+Math.imul(Be,mi)|0,Se=Se+Math.imul(Be,un)|0;var Ri=(Ce+ge|0)+((re&8191)<<13)|0;Ce=(Se+(re>>>13)|0)+(Ri>>>26)|0,Ri&=67108863,ge=Math.imul(Tt,qr),re=Math.imul(Tt,jr),re=re+Math.imul(dt,qr)|0,Se=Math.imul(dt,jr),ge=ge+Math.imul(Ae,Ge)|0,re=re+Math.imul(Ae,Je)|0,re=re+Math.imul(rt,Ge)|0,Se=Se+Math.imul(rt,Je)|0,ge=ge+Math.imul(tt,et)|0,re=re+Math.imul(tt,xt)|0,re=re+Math.imul(je,et)|0,Se=Se+Math.imul(je,xt)|0,ge=ge+Math.imul(ar,Kt)|0,re=re+Math.imul(ar,Qt)|0,re=re+Math.imul(Vt,Kt)|0,Se=Se+Math.imul(Vt,Qt)|0,ge=ge+Math.imul(Ht,Gr)|0,re=re+Math.imul(Ht,Ir)|0,re=re+Math.imul(at,Gr)|0,Se=Se+Math.imul(at,Ir)|0,ge=ge+Math.imul(He,_i)|0,re=re+Math.imul(He,Pi)|0,re=re+Math.imul(lt,_i)|0,Se=Se+Math.imul(lt,Pi)|0,ge=ge+Math.imul(me,mi)|0,re=re+Math.imul(me,un)|0,re=re+Math.imul(Pe,mi)|0,Se=Se+Math.imul(Pe,un)|0,ge=ge+Math.imul(be,An)|0,re=re+Math.imul(be,Hn)|0,re=re+Math.imul(Be,An)|0,Se=Se+Math.imul(Be,Hn)|0;var Zi=(Ce+ge|0)+((re&8191)<<13)|0;Ce=(Se+(re>>>13)|0)+(Zi>>>26)|0,Zi&=67108863,ge=Math.imul(pt,qr),re=Math.imul(pt,jr),re=re+Math.imul(jt,qr)|0,Se=Math.imul(jt,jr),ge=ge+Math.imul(Tt,Ge)|0,re=re+Math.imul(Tt,Je)|0,re=re+Math.imul(dt,Ge)|0,Se=Se+Math.imul(dt,Je)|0,ge=ge+Math.imul(Ae,et)|0,re=re+Math.imul(Ae,xt)|0,re=re+Math.imul(rt,et)|0,Se=Se+Math.imul(rt,xt)|0,ge=ge+Math.imul(tt,Kt)|0,re=re+Math.imul(tt,Qt)|0,re=re+Math.imul(je,Kt)|0,Se=Se+Math.imul(je,Qt)|0,ge=ge+Math.imul(ar,Gr)|0,re=re+Math.imul(ar,Ir)|0,re=re+Math.imul(Vt,Gr)|0,Se=Se+Math.imul(Vt,Ir)|0,ge=ge+Math.imul(Ht,_i)|0,re=re+Math.imul(Ht,Pi)|0,re=re+Math.imul(at,_i)|0,Se=Se+Math.imul(at,Pi)|0,ge=ge+Math.imul(He,mi)|0,re=re+Math.imul(He,un)|0,re=re+Math.imul(lt,mi)|0,Se=Se+Math.imul(lt,un)|0,ge=ge+Math.imul(me,An)|0,re=re+Math.imul(me,Hn)|0,re=re+Math.imul(Pe,An)|0,Se=Se+Math.imul(Pe,Hn)|0,ge=ge+Math.imul(be,Vi)|0,re=re+Math.imul(be,Kn)|0,re=re+Math.imul(Be,Vi)|0,Se=Se+Math.imul(Be,Kn)|0;var en=(Ce+ge|0)+((re&8191)<<13)|0;Ce=(Se+(re>>>13)|0)+(en>>>26)|0,en&=67108863,ge=Math.imul(mr,qr),re=Math.imul(mr,jr),re=re+Math.imul(Ar,qr)|0,Se=Math.imul(Ar,jr),ge=ge+Math.imul(pt,Ge)|0,re=re+Math.imul(pt,Je)|0,re=re+Math.imul(jt,Ge)|0,Se=Se+Math.imul(jt,Je)|0,ge=ge+Math.imul(Tt,et)|0,re=re+Math.imul(Tt,xt)|0,re=re+Math.imul(dt,et)|0,Se=Se+Math.imul(dt,xt)|0,ge=ge+Math.imul(Ae,Kt)|0,re=re+Math.imul(Ae,Qt)|0,re=re+Math.imul(rt,Kt)|0,Se=Se+Math.imul(rt,Qt)|0,ge=ge+Math.imul(tt,Gr)|0,re=re+Math.imul(tt,Ir)|0,re=re+Math.imul(je,Gr)|0,Se=Se+Math.imul(je,Ir)|0,ge=ge+Math.imul(ar,_i)|0,re=re+Math.imul(ar,Pi)|0,re=re+Math.imul(Vt,_i)|0,Se=Se+Math.imul(Vt,Pi)|0,ge=ge+Math.imul(Ht,mi)|0,re=re+Math.imul(Ht,un)|0,re=re+Math.imul(at,mi)|0,Se=Se+Math.imul(at,un)|0,ge=ge+Math.imul(He,An)|0,re=re+Math.imul(He,Hn)|0,re=re+Math.imul(lt,An)|0,Se=Se+Math.imul(lt,Hn)|0,ge=ge+Math.imul(me,Vi)|0,re=re+Math.imul(me,Kn)|0,re=re+Math.imul(Pe,Vi)|0,Se=Se+Math.imul(Pe,Kn)|0,ge=ge+Math.imul(be,Gt)|0,re=re+Math.imul(be,wt)|0,re=re+Math.imul(Be,Gt)|0,Se=Se+Math.imul(Be,wt)|0;var fn=(Ce+ge|0)+((re&8191)<<13)|0;Ce=(Se+(re>>>13)|0)+(fn>>>26)|0,fn&=67108863,ge=Math.imul(mr,Ge),re=Math.imul(mr,Je),re=re+Math.imul(Ar,Ge)|0,Se=Math.imul(Ar,Je),ge=ge+Math.imul(pt,et)|0,re=re+Math.imul(pt,xt)|0,re=re+Math.imul(jt,et)|0,Se=Se+Math.imul(jt,xt)|0,ge=ge+Math.imul(Tt,Kt)|0,re=re+Math.imul(Tt,Qt)|0,re=re+Math.imul(dt,Kt)|0,Se=Se+Math.imul(dt,Qt)|0,ge=ge+Math.imul(Ae,Gr)|0,re=re+Math.imul(Ae,Ir)|0,re=re+Math.imul(rt,Gr)|0,Se=Se+Math.imul(rt,Ir)|0,ge=ge+Math.imul(tt,_i)|0,re=re+Math.imul(tt,Pi)|0,re=re+Math.imul(je,_i)|0,Se=Se+Math.imul(je,Pi)|0,ge=ge+Math.imul(ar,mi)|0,re=re+Math.imul(ar,un)|0,re=re+Math.imul(Vt,mi)|0,Se=Se+Math.imul(Vt,un)|0,ge=ge+Math.imul(Ht,An)|0,re=re+Math.imul(Ht,Hn)|0,re=re+Math.imul(at,An)|0,Se=Se+Math.imul(at,Hn)|0,ge=ge+Math.imul(He,Vi)|0,re=re+Math.imul(He,Kn)|0,re=re+Math.imul(lt,Vi)|0,Se=Se+Math.imul(lt,Kn)|0,ge=ge+Math.imul(me,Gt)|0,re=re+Math.imul(me,wt)|0,re=re+Math.imul(Pe,Gt)|0,Se=Se+Math.imul(Pe,wt)|0;var yn=(Ce+ge|0)+((re&8191)<<13)|0;Ce=(Se+(re>>>13)|0)+(yn>>>26)|0,yn&=67108863,ge=Math.imul(mr,et),re=Math.imul(mr,xt),re=re+Math.imul(Ar,et)|0,Se=Math.imul(Ar,xt),ge=ge+Math.imul(pt,Kt)|0,re=re+Math.imul(pt,Qt)|0,re=re+Math.imul(jt,Kt)|0,Se=Se+Math.imul(jt,Qt)|0,ge=ge+Math.imul(Tt,Gr)|0,re=re+Math.imul(Tt,Ir)|0,re=re+Math.imul(dt,Gr)|0,Se=Se+Math.imul(dt,Ir)|0,ge=ge+Math.imul(Ae,_i)|0,re=re+Math.imul(Ae,Pi)|0,re=re+Math.imul(rt,_i)|0,Se=Se+Math.imul(rt,Pi)|0,ge=ge+Math.imul(tt,mi)|0,re=re+Math.imul(tt,un)|0,re=re+Math.imul(je,mi)|0,Se=Se+Math.imul(je,un)|0,ge=ge+Math.imul(ar,An)|0,re=re+Math.imul(ar,Hn)|0,re=re+Math.imul(Vt,An)|0,Se=Se+Math.imul(Vt,Hn)|0,ge=ge+Math.imul(Ht,Vi)|0,re=re+Math.imul(Ht,Kn)|0,re=re+Math.imul(at,Vi)|0,Se=Se+Math.imul(at,Kn)|0,ge=ge+Math.imul(He,Gt)|0,re=re+Math.imul(He,wt)|0,re=re+Math.imul(lt,Gt)|0,Se=Se+Math.imul(lt,wt)|0;var Mn=(Ce+ge|0)+((re&8191)<<13)|0;Ce=(Se+(re>>>13)|0)+(Mn>>>26)|0,Mn&=67108863,ge=Math.imul(mr,Kt),re=Math.imul(mr,Qt),re=re+Math.imul(Ar,Kt)|0,Se=Math.imul(Ar,Qt),ge=ge+Math.imul(pt,Gr)|0,re=re+Math.imul(pt,Ir)|0,re=re+Math.imul(jt,Gr)|0,Se=Se+Math.imul(jt,Ir)|0,ge=ge+Math.imul(Tt,_i)|0,re=re+Math.imul(Tt,Pi)|0,re=re+Math.imul(dt,_i)|0,Se=Se+Math.imul(dt,Pi)|0,ge=ge+Math.imul(Ae,mi)|0,re=re+Math.imul(Ae,un)|0,re=re+Math.imul(rt,mi)|0,Se=Se+Math.imul(rt,un)|0,ge=ge+Math.imul(tt,An)|0,re=re+Math.imul(tt,Hn)|0,re=re+Math.imul(je,An)|0,Se=Se+Math.imul(je,Hn)|0,ge=ge+Math.imul(ar,Vi)|0,re=re+Math.imul(ar,Kn)|0,re=re+Math.imul(Vt,Vi)|0,Se=Se+Math.imul(Vt,Kn)|0,ge=ge+Math.imul(Ht,Gt)|0,re=re+Math.imul(Ht,wt)|0,re=re+Math.imul(at,Gt)|0,Se=Se+Math.imul(at,wt)|0;var Ba=(Ce+ge|0)+((re&8191)<<13)|0;Ce=(Se+(re>>>13)|0)+(Ba>>>26)|0,Ba&=67108863,ge=Math.imul(mr,Gr),re=Math.imul(mr,Ir),re=re+Math.imul(Ar,Gr)|0,Se=Math.imul(Ar,Ir),ge=ge+Math.imul(pt,_i)|0,re=re+Math.imul(pt,Pi)|0,re=re+Math.imul(jt,_i)|0,Se=Se+Math.imul(jt,Pi)|0,ge=ge+Math.imul(Tt,mi)|0,re=re+Math.imul(Tt,un)|0,re=re+Math.imul(dt,mi)|0,Se=Se+Math.imul(dt,un)|0,ge=ge+Math.imul(Ae,An)|0,re=re+Math.imul(Ae,Hn)|0,re=re+Math.imul(rt,An)|0,Se=Se+Math.imul(rt,Hn)|0,ge=ge+Math.imul(tt,Vi)|0,re=re+Math.imul(tt,Kn)|0,re=re+Math.imul(je,Vi)|0,Se=Se+Math.imul(je,Kn)|0,ge=ge+Math.imul(ar,Gt)|0,re=re+Math.imul(ar,wt)|0,re=re+Math.imul(Vt,Gt)|0,Se=Se+Math.imul(Vt,wt)|0;var ua=(Ce+ge|0)+((re&8191)<<13)|0;Ce=(Se+(re>>>13)|0)+(ua>>>26)|0,ua&=67108863,ge=Math.imul(mr,_i),re=Math.imul(mr,Pi),re=re+Math.imul(Ar,_i)|0,Se=Math.imul(Ar,Pi),ge=ge+Math.imul(pt,mi)|0,re=re+Math.imul(pt,un)|0,re=re+Math.imul(jt,mi)|0,Se=Se+Math.imul(jt,un)|0,ge=ge+Math.imul(Tt,An)|0,re=re+Math.imul(Tt,Hn)|0,re=re+Math.imul(dt,An)|0,Se=Se+Math.imul(dt,Hn)|0,ge=ge+Math.imul(Ae,Vi)|0,re=re+Math.imul(Ae,Kn)|0,re=re+Math.imul(rt,Vi)|0,Se=Se+Math.imul(rt,Kn)|0,ge=ge+Math.imul(tt,Gt)|0,re=re+Math.imul(tt,wt)|0,re=re+Math.imul(je,Gt)|0,Se=Se+Math.imul(je,wt)|0;var ma=(Ce+ge|0)+((re&8191)<<13)|0;Ce=(Se+(re>>>13)|0)+(ma>>>26)|0,ma&=67108863,ge=Math.imul(mr,mi),re=Math.imul(mr,un),re=re+Math.imul(Ar,mi)|0,Se=Math.imul(Ar,un),ge=ge+Math.imul(pt,An)|0,re=re+Math.imul(pt,Hn)|0,re=re+Math.imul(jt,An)|0,Se=Se+Math.imul(jt,Hn)|0,ge=ge+Math.imul(Tt,Vi)|0,re=re+Math.imul(Tt,Kn)|0,re=re+Math.imul(dt,Vi)|0,Se=Se+Math.imul(dt,Kn)|0,ge=ge+Math.imul(Ae,Gt)|0,re=re+Math.imul(Ae,wt)|0,re=re+Math.imul(rt,Gt)|0,Se=Se+Math.imul(rt,wt)|0;var Wa=(Ce+ge|0)+((re&8191)<<13)|0;Ce=(Se+(re>>>13)|0)+(Wa>>>26)|0,Wa&=67108863,ge=Math.imul(mr,An),re=Math.imul(mr,Hn),re=re+Math.imul(Ar,An)|0,Se=Math.imul(Ar,Hn),ge=ge+Math.imul(pt,Vi)|0,re=re+Math.imul(pt,Kn)|0,re=re+Math.imul(jt,Vi)|0,Se=Se+Math.imul(jt,Kn)|0,ge=ge+Math.imul(Tt,Gt)|0,re=re+Math.imul(Tt,wt)|0,re=re+Math.imul(dt,Gt)|0,Se=Se+Math.imul(dt,wt)|0;var Fa=(Ce+ge|0)+((re&8191)<<13)|0;Ce=(Se+(re>>>13)|0)+(Fa>>>26)|0,Fa&=67108863,ge=Math.imul(mr,Vi),re=Math.imul(mr,Kn),re=re+Math.imul(Ar,Vi)|0,Se=Math.imul(Ar,Kn),ge=ge+Math.imul(pt,Gt)|0,re=re+Math.imul(pt,wt)|0,re=re+Math.imul(jt,Gt)|0,Se=Se+Math.imul(jt,wt)|0;var Xo=(Ce+ge|0)+((re&8191)<<13)|0;Ce=(Se+(re>>>13)|0)+(Xo>>>26)|0,Xo&=67108863,ge=Math.imul(mr,Gt),re=Math.imul(mr,wt),re=re+Math.imul(Ar,Gt)|0,Se=Math.imul(Ar,wt);var da=(Ce+ge|0)+((re&8191)<<13)|0;return Ce=(Se+(re>>>13)|0)+(da>>>26)|0,da&=67108863,Ee[0]=tr,Ee[1]=ir,Ee[2]=wr,Ee[3]=Xr,Ee[4]=ti,Ee[5]=$r,Ee[6]=Ri,Ee[7]=Zi,Ee[8]=en,Ee[9]=fn,Ee[10]=yn,Ee[11]=Mn,Ee[12]=Ba,Ee[13]=ua,Ee[14]=ma,Ee[15]=Wa,Ee[16]=Fa,Ee[17]=Xo,Ee[18]=da,Ce!==0&&(Ee[19]=Ce,ie.length++),ie};Math.imul||(L=T);function x(j,N,H){H.negative=N.negative^j.negative,H.length=j.length+N.length;for(var ie=0,ae=0,_e=0;_e>>26)|0,ae+=Ee>>>26,Ee&=67108863}H.words[_e]=Ce,ie=Ee,Ee=ae}return ie!==0?H.words[_e]=ie:H.length--,H.strip()}function C(j,N,H){var ie=new S;return ie.mulp(j,N,H)}f.prototype.mulTo=function(N,H){var ie,ae=this.length+N.length;return this.length===10&&N.length===10?ie=L(this,N,H):ae<63?ie=T(this,N,H):ae<1024?ie=x(this,N,H):ie=C(this,N,H),ie};function S(j,N){this.x=j,this.y=N}S.prototype.makeRBT=function(N){for(var H=new Array(N),ie=f.prototype._countBits(N)-1,ae=0;ae>=1;return ae},S.prototype.permute=function(N,H,ie,ae,_e,Ee){for(var Ce=0;Ce>>1)_e++;return 1<<_e+1+ae},S.prototype.conjugate=function(N,H,ie){if(!(ie<=1))for(var ae=0;ae>>13,ie[2*Ee+1]=_e&8191,_e=_e>>>13;for(Ee=2*H;Ee>=26,H+=ae/67108864|0,H+=_e>>>26,this.words[ie]=_e&67108863}return H!==0&&(this.words[ie]=H,this.length++),this.length=N===0?1:this.length,this},f.prototype.muln=function(N){return this.clone().imuln(N)},f.prototype.sqr=function(){return this.mul(this)},f.prototype.isqr=function(){return this.imul(this.clone())},f.prototype.pow=function(N){var H=M(N);if(H.length===0)return new f(1);for(var ie=this,ae=0;ae=0);var H=N%26,ie=(N-H)/26,ae=67108863>>>26-H<<26-H,_e;if(H!==0){var Ee=0;for(_e=0;_e>>26-H}Ee&&(this.words[_e]=Ee,this.length++)}if(ie!==0){for(_e=this.length-1;_e>=0;_e--)this.words[_e+ie]=this.words[_e];for(_e=0;_e=0);var ae;H?ae=(H-H%26)/26:ae=0;var _e=N%26,Ee=Math.min((N-_e)/26,this.length),Ce=67108863^67108863>>>_e<<_e,ge=ie;if(ae-=Ee,ae=Math.max(0,ae),ge){for(var re=0;reEe)for(this.length-=Ee,re=0;re=0&&(Se!==0||re>=ae);re--){var ke=this.words[re]|0;this.words[re]=Se<<26-_e|ke>>>_e,Se=ke&Ce}return ge&&Se!==0&&(ge.words[ge.length++]=Se),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},f.prototype.ishrn=function(N,H,ie){return u(this.negative===0),this.iushrn(N,H,ie)},f.prototype.shln=function(N){return this.clone().ishln(N)},f.prototype.ushln=function(N){return this.clone().iushln(N)},f.prototype.shrn=function(N){return this.clone().ishrn(N)},f.prototype.ushrn=function(N){return this.clone().iushrn(N)},f.prototype.testn=function(N){u(typeof N=="number"&&N>=0);var H=N%26,ie=(N-H)/26,ae=1<=0);var H=N%26,ie=(N-H)/26;if(u(this.negative===0,"imaskn works only with positive numbers"),this.length<=ie)return this;if(H!==0&&ie++,this.length=Math.min(ie,this.length),H!==0){var ae=67108863^67108863>>>H<=67108864;H++)this.words[H]-=67108864,H===this.length-1?this.words[H+1]=1:this.words[H+1]++;return this.length=Math.max(this.length,H+1),this},f.prototype.isubn=function(N){if(u(typeof N=="number"),u(N<67108864),N<0)return this.iaddn(-N);if(this.negative!==0)return this.negative=0,this.iaddn(N),this.negative=1,this;if(this.words[0]-=N,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var H=0;H>26)-(ge/67108864|0),this.words[_e+ie]=Ee&67108863}for(;_e>26,this.words[_e+ie]=Ee&67108863;if(Ce===0)return this.strip();for(u(Ce===-1),Ce=0,_e=0;_e>26,this.words[_e]=Ee&67108863;return this.negative=1,this.strip()},f.prototype._wordDiv=function(N,H){var ie=this.length-N.length,ae=this.clone(),_e=N,Ee=_e.words[_e.length-1]|0,Ce=this._countBits(Ee);ie=26-Ce,ie!==0&&(_e=_e.ushln(ie),ae.iushln(ie),Ee=_e.words[_e.length-1]|0);var ge=ae.length-_e.length,re;if(H!=="mod"){re=new f(null),re.length=ge+1,re.words=new Array(re.length);for(var Se=0;Se=0;be--){var Be=(ae.words[_e.length+be]|0)*67108864+(ae.words[_e.length+be-1]|0);for(Be=Math.min(Be/Ee|0,67108863),ae._ishlnsubmul(_e,Be,be);ae.negative!==0;)Be--,ae.negative=0,ae._ishlnsubmul(_e,1,be),ae.isZero()||(ae.negative^=1);re&&(re.words[be]=Be)}return re&&re.strip(),ae.strip(),H!=="div"&&ie!==0&&ae.iushrn(ie),{div:re||null,mod:ae}},f.prototype.divmod=function(N,H,ie){if(u(!N.isZero()),this.isZero())return{div:new f(0),mod:new f(0)};var ae,_e,Ee;return this.negative!==0&&N.negative===0?(Ee=this.neg().divmod(N,H),H!=="mod"&&(ae=Ee.div.neg()),H!=="div"&&(_e=Ee.mod.neg(),ie&&_e.negative!==0&&_e.iadd(N)),{div:ae,mod:_e}):this.negative===0&&N.negative!==0?(Ee=this.divmod(N.neg(),H),H!=="mod"&&(ae=Ee.div.neg()),{div:ae,mod:Ee.mod}):(this.negative&N.negative)!==0?(Ee=this.neg().divmod(N.neg(),H),H!=="div"&&(_e=Ee.mod.neg(),ie&&_e.negative!==0&&_e.isub(N)),{div:Ee.div,mod:_e}):N.length>this.length||this.cmp(N)<0?{div:new f(0),mod:this}:N.length===1?H==="div"?{div:this.divn(N.words[0]),mod:null}:H==="mod"?{div:null,mod:new f(this.modn(N.words[0]))}:{div:this.divn(N.words[0]),mod:new f(this.modn(N.words[0]))}:this._wordDiv(N,H)},f.prototype.div=function(N){return this.divmod(N,"div",!1).div},f.prototype.mod=function(N){return this.divmod(N,"mod",!1).mod},f.prototype.umod=function(N){return this.divmod(N,"mod",!0).mod},f.prototype.divRound=function(N){var H=this.divmod(N);if(H.mod.isZero())return H.div;var ie=H.div.negative!==0?H.mod.isub(N):H.mod,ae=N.ushrn(1),_e=N.andln(1),Ee=ie.cmp(ae);return Ee<0||_e===1&&Ee===0?H.div:H.div.negative!==0?H.div.isubn(1):H.div.iaddn(1)},f.prototype.modn=function(N){u(N<=67108863);for(var H=(1<<26)%N,ie=0,ae=this.length-1;ae>=0;ae--)ie=(H*ie+(this.words[ae]|0))%N;return ie},f.prototype.idivn=function(N){u(N<=67108863);for(var H=0,ie=this.length-1;ie>=0;ie--){var ae=(this.words[ie]|0)+H*67108864;this.words[ie]=ae/N|0,H=ae%N}return this.strip()},f.prototype.divn=function(N){return this.clone().idivn(N)},f.prototype.egcd=function(N){u(N.negative===0),u(!N.isZero());var H=this,ie=N.clone();H.negative!==0?H=H.umod(N):H=H.clone();for(var ae=new f(1),_e=new f(0),Ee=new f(0),Ce=new f(1),ge=0;H.isEven()&&ie.isEven();)H.iushrn(1),ie.iushrn(1),++ge;for(var re=ie.clone(),Se=H.clone();!H.isZero();){for(var ke=0,be=1;(H.words[0]&be)===0&&ke<26;++ke,be<<=1);if(ke>0)for(H.iushrn(ke);ke-- >0;)(ae.isOdd()||_e.isOdd())&&(ae.iadd(re),_e.isub(Se)),ae.iushrn(1),_e.iushrn(1);for(var Be=0,Le=1;(ie.words[0]&Le)===0&&Be<26;++Be,Le<<=1);if(Be>0)for(ie.iushrn(Be);Be-- >0;)(Ee.isOdd()||Ce.isOdd())&&(Ee.iadd(re),Ce.isub(Se)),Ee.iushrn(1),Ce.iushrn(1);H.cmp(ie)>=0?(H.isub(ie),ae.isub(Ee),_e.isub(Ce)):(ie.isub(H),Ee.isub(ae),Ce.isub(_e))}return{a:Ee,b:Ce,gcd:ie.iushln(ge)}},f.prototype._invmp=function(N){u(N.negative===0),u(!N.isZero());var H=this,ie=N.clone();H.negative!==0?H=H.umod(N):H=H.clone();for(var ae=new f(1),_e=new f(0),Ee=ie.clone();H.cmpn(1)>0&&ie.cmpn(1)>0;){for(var Ce=0,ge=1;(H.words[0]&ge)===0&&Ce<26;++Ce,ge<<=1);if(Ce>0)for(H.iushrn(Ce);Ce-- >0;)ae.isOdd()&&ae.iadd(Ee),ae.iushrn(1);for(var re=0,Se=1;(ie.words[0]&Se)===0&&re<26;++re,Se<<=1);if(re>0)for(ie.iushrn(re);re-- >0;)_e.isOdd()&&_e.iadd(Ee),_e.iushrn(1);H.cmp(ie)>=0?(H.isub(ie),ae.isub(_e)):(ie.isub(H),_e.isub(ae))}var ke;return H.cmpn(1)===0?ke=ae:ke=_e,ke.cmpn(0)<0&&ke.iadd(N),ke},f.prototype.gcd=function(N){if(this.isZero())return N.abs();if(N.isZero())return this.abs();var H=this.clone(),ie=N.clone();H.negative=0,ie.negative=0;for(var ae=0;H.isEven()&&ie.isEven();ae++)H.iushrn(1),ie.iushrn(1);do{for(;H.isEven();)H.iushrn(1);for(;ie.isEven();)ie.iushrn(1);var _e=H.cmp(ie);if(_e<0){var Ee=H;H=ie,ie=Ee}else if(_e===0||ie.cmpn(1)===0)break;H.isub(ie)}while(!0);return ie.iushln(ae)},f.prototype.invm=function(N){return this.egcd(N).a.umod(N)},f.prototype.isEven=function(){return(this.words[0]&1)===0},f.prototype.isOdd=function(){return(this.words[0]&1)===1},f.prototype.andln=function(N){return this.words[0]&N},f.prototype.bincn=function(N){u(typeof N=="number");var H=N%26,ie=(N-H)/26,ae=1<>>26,Ce&=67108863,this.words[Ee]=Ce}return _e!==0&&(this.words[Ee]=_e,this.length++),this},f.prototype.isZero=function(){return this.length===1&&this.words[0]===0},f.prototype.cmpn=function(N){var H=N<0;if(this.negative!==0&&!H)return-1;if(this.negative===0&&H)return 1;this.strip();var ie;if(this.length>1)ie=1;else{H&&(N=-N),u(N<=67108863,"Number is too big");var ae=this.words[0]|0;ie=ae===N?0:aeN.length)return 1;if(this.length=0;ie--){var ae=this.words[ie]|0,_e=N.words[ie]|0;if(ae!==_e){ae<_e?H=-1:ae>_e&&(H=1);break}}return H},f.prototype.gtn=function(N){return this.cmpn(N)===1},f.prototype.gt=function(N){return this.cmp(N)===1},f.prototype.gten=function(N){return this.cmpn(N)>=0},f.prototype.gte=function(N){return this.cmp(N)>=0},f.prototype.ltn=function(N){return this.cmpn(N)===-1},f.prototype.lt=function(N){return this.cmp(N)===-1},f.prototype.lten=function(N){return this.cmpn(N)<=0},f.prototype.lte=function(N){return this.cmp(N)<=0},f.prototype.eqn=function(N){return this.cmpn(N)===0},f.prototype.eq=function(N){return this.cmp(N)===0},f.red=function(N){return new G(N)},f.prototype.toRed=function(N){return u(!this.red,"Already a number in reduction context"),u(this.negative===0,"red works only with positives"),N.convertTo(this)._forceRed(N)},f.prototype.fromRed=function(){return u(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},f.prototype._forceRed=function(N){return this.red=N,this},f.prototype.forceRed=function(N){return u(!this.red,"Already a number in reduction context"),this._forceRed(N)},f.prototype.redAdd=function(N){return u(this.red,"redAdd works only with red numbers"),this.red.add(this,N)},f.prototype.redIAdd=function(N){return u(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,N)},f.prototype.redSub=function(N){return u(this.red,"redSub works only with red numbers"),this.red.sub(this,N)},f.prototype.redISub=function(N){return u(this.red,"redISub works only with red numbers"),this.red.isub(this,N)},f.prototype.redShl=function(N){return u(this.red,"redShl works only with red numbers"),this.red.shl(this,N)},f.prototype.redMul=function(N){return u(this.red,"redMul works only with red numbers"),this.red._verify2(this,N),this.red.mul(this,N)},f.prototype.redIMul=function(N){return u(this.red,"redMul works only with red numbers"),this.red._verify2(this,N),this.red.imul(this,N)},f.prototype.redSqr=function(){return u(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},f.prototype.redISqr=function(){return u(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},f.prototype.redSqrt=function(){return u(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},f.prototype.redInvm=function(){return u(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},f.prototype.redNeg=function(){return u(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},f.prototype.redPow=function(N){return u(this.red&&!N.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,N)};var g={k256:null,p224:null,p192:null,p25519:null};function P(j,N){this.name=j,this.p=new f(N,16),this.n=this.p.bitLength(),this.k=new f(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}P.prototype._tmp=function(){var N=new f(null);return N.words=new Array(Math.ceil(this.n/13)),N},P.prototype.ireduce=function(N){var H=N,ie;do this.split(H,this.tmp),H=this.imulK(H),H=H.iadd(this.tmp),ie=H.bitLength();while(ie>this.n);var ae=ie0?H.isub(this.p):H.strip!==void 0?H.strip():H._strip(),H},P.prototype.split=function(N,H){N.iushrn(this.n,0,H)},P.prototype.imulK=function(N){return N.imul(this.k)};function E(){P.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}c(E,P),E.prototype.split=function(N,H){for(var ie=4194303,ae=Math.min(N.length,9),_e=0;_e>>22,Ee=Ce}Ee>>>=22,N.words[_e-10]=Ee,Ee===0&&N.length>10?N.length-=10:N.length-=9},E.prototype.imulK=function(N){N.words[N.length]=0,N.words[N.length+1]=0,N.length+=2;for(var H=0,ie=0;ie>>=26,N.words[ie]=_e,H=ae}return H!==0&&(N.words[N.length++]=H),N},f._prime=function(N){if(g[N])return g[N];var H;if(N==="k256")H=new E;else if(N==="p224")H=new z;else if(N==="p192")H=new q;else if(N==="p25519")H=new V;else throw new Error("Unknown prime "+N);return g[N]=H,H};function G(j){if(typeof j=="string"){var N=f._prime(j);this.m=N.p,this.prime=N}else u(j.gtn(1),"modulus must be greater than 1"),this.m=j,this.prime=null}G.prototype._verify1=function(N){u(N.negative===0,"red works only with positives"),u(N.red,"red works only with red numbers")},G.prototype._verify2=function(N,H){u((N.negative|H.negative)===0,"red works only with positives"),u(N.red&&N.red===H.red,"red works only with red numbers")},G.prototype.imod=function(N){return this.prime?this.prime.ireduce(N)._forceRed(this):N.umod(this.m)._forceRed(this)},G.prototype.neg=function(N){return N.isZero()?N.clone():this.m.sub(N)._forceRed(this)},G.prototype.add=function(N,H){this._verify2(N,H);var ie=N.add(H);return ie.cmp(this.m)>=0&&ie.isub(this.m),ie._forceRed(this)},G.prototype.iadd=function(N,H){this._verify2(N,H);var ie=N.iadd(H);return ie.cmp(this.m)>=0&&ie.isub(this.m),ie},G.prototype.sub=function(N,H){this._verify2(N,H);var ie=N.sub(H);return ie.cmpn(0)<0&&ie.iadd(this.m),ie._forceRed(this)},G.prototype.isub=function(N,H){this._verify2(N,H);var ie=N.isub(H);return ie.cmpn(0)<0&&ie.iadd(this.m),ie},G.prototype.shl=function(N,H){return this._verify1(N),this.imod(N.ushln(H))},G.prototype.imul=function(N,H){return this._verify2(N,H),this.imod(N.imul(H))},G.prototype.mul=function(N,H){return this._verify2(N,H),this.imod(N.mul(H))},G.prototype.isqr=function(N){return this.imul(N,N.clone())},G.prototype.sqr=function(N){return this.mul(N,N)},G.prototype.sqrt=function(N){if(N.isZero())return N.clone();var H=this.m.andln(3);if(u(H%2===1),H===3){var ie=this.m.add(new f(1)).iushrn(2);return this.pow(N,ie)}for(var ae=this.m.subn(1),_e=0;!ae.isZero()&&ae.andln(1)===0;)_e++,ae.iushrn(1);u(!ae.isZero());var Ee=new f(1).toRed(this),Ce=Ee.redNeg(),ge=this.m.subn(1).iushrn(1),re=this.m.bitLength();for(re=new f(2*re*re).toRed(this);this.pow(re,ge).cmp(Ce)!==0;)re.redIAdd(Ce);for(var Se=this.pow(re,ae),ke=this.pow(N,ae.addn(1).iushrn(1)),be=this.pow(N,ae),Be=_e;be.cmp(Ee)!==0;){for(var Le=be,me=0;Le.cmp(Ee)!==0;me++)Le=Le.redSqr();u(me=0;_e--){for(var Se=H.words[_e],ke=re-1;ke>=0;ke--){var be=Se>>ke&1;if(Ee!==ae[0]&&(Ee=this.sqr(Ee)),be===0&&Ce===0){ge=0;continue}Ce<<=1,Ce|=be,ge++,!(ge!==ie&&(_e!==0||ke!==0))&&(Ee=this.mul(Ee,ae[Ce]),ge=0,Ce=0)}re=26}return Ee},G.prototype.convertTo=function(N){var H=N.umod(this.m);return H===N?H.clone():H},G.prototype.convertFrom=function(N){var H=N.clone();return H.red=null,H},f.mont=function(N){return new Z(N)};function Z(j){G.call(this,j),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new f(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)}c(Z,G),Z.prototype.convertTo=function(N){return this.imod(N.ushln(this.shift))},Z.prototype.convertFrom=function(N){var H=this.imod(N.mul(this.rinv));return H.red=null,H},Z.prototype.imul=function(N,H){if(N.isZero()||H.isZero())return N.words[0]=0,N.length=1,N;var ie=N.imul(H),ae=ie.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_e=ie.isub(ae).iushrn(this.shift),Ee=_e;return _e.cmp(this.m)>=0?Ee=_e.isub(this.m):_e.cmpn(0)<0&&(Ee=_e.iadd(this.m)),Ee._forceRed(this)},Z.prototype.mul=function(N,H){if(N.isZero()||H.isZero())return new f(0)._forceRed(this);var ie=N.mul(H),ae=ie.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_e=ie.isub(ae).iushrn(this.shift),Ee=_e;return _e.cmp(this.m)>=0?Ee=_e.isub(this.m):_e.cmpn(0)<0&&(Ee=_e.iadd(this.m)),Ee._forceRed(this)},Z.prototype.invm=function(N){var H=this.imod(N._invmp(this.m).mul(this.r2));return H._forceRed(this)}}(i,this)},6204:function(i){"use strict";i.exports=a;function a(o){var s,l,u,c=o.length,f=0;for(s=0;s>>1;if(!(S<=0)){var g,P=s.mallocDouble(2*S*x),E=s.mallocInt32(x);if(x=f(k,S,P,E),x>0){if(S===1&&L)l.init(x),g=l.sweepComplete(S,T,0,x,P,E,0,x,P,E);else{var z=s.mallocDouble(2*S*C),q=s.mallocInt32(C);C=f(M,S,z,q),C>0&&(l.init(x+C),S===1?g=l.sweepBipartite(S,T,0,x,P,E,0,C,z,q):g=u(S,T,L,x,P,E,C,z,q),s.free(z),s.free(q))}s.free(P),s.free(E)}return g}}}var d;function v(k,M){d.push([k,M])}function m(k){return d=[],h(k,k,v,!0),d}function b(k,M){return d=[],h(k,M,v,!1),d}function p(k,M,T){switch(arguments.length){case 1:return m(k);case 2:return typeof M=="function"?h(k,k,M,!0):b(k,M);case 3:return h(k,M,T,!1);default:throw new Error("box-intersect: Invalid arguments")}}},2455:function(i,a){"use strict";function o(){function u(h,d,v,m,b,p,k,M,T,L,x){for(var C=2*h,S=m,g=C*m;ST-M?u(h,d,v,m,b,p,k,M,T,L,x):c(h,d,v,m,b,p,k,M,T,L,x)}return f}function s(){function u(v,m,b,p,k,M,T,L,x,C,S){for(var g=2*v,P=p,E=g*p;PC-x?p?u(v,m,b,k,M,T,L,x,C,S,g):c(v,m,b,k,M,T,L,x,C,S,g):p?f(v,m,b,k,M,T,L,x,C,S,g):h(v,m,b,k,M,T,L,x,C,S,g)}return d}function l(u){return u?o():s()}a.partial=l(!1),a.full=l(!0)},7150:function(i,a,o){"use strict";i.exports=j;var s=o(1888),l=o(8828),u=o(2455),c=u.partial,f=u.full,h=o(855),d=o(3545),v=o(8105),m=128,b=1<<22,p=1<<22,k=v("!(lo>=p0)&&!(p1>=hi)"),M=v("lo===p0"),T=v("lo0;){Se-=1;var Be=Se*S,Le=E[Be],me=E[Be+1],Pe=E[Be+2],ce=E[Be+3],He=E[Be+4],lt=E[Be+5],mt=Se*g,Ht=z[mt],at=z[mt+1],ct=lt&1,ar=!!(lt&16),Vt=_e,rr=Ee,tt=ge,je=re;if(ct&&(Vt=ge,rr=re,tt=_e,je=Ee),!(lt&2&&(Pe=T(N,Le,me,Pe,Vt,rr,at),me>=Pe))&&!(lt&4&&(me=L(N,Le,me,Pe,Vt,rr,Ht),me>=Pe))){var Ue=Pe-me,Ae=He-ce;if(ar){if(N*Ue*(Ue+Ae)v&&b[C+d]>L;--x,C-=k){for(var S=C,g=C+k,P=0;P>>1,L=2*h,x=T,C=b[L*T+d];k=z?(x=E,C=z):P>=V?(x=g,C=P):(x=q,C=V):z>=V?(x=E,C=z):V>=P?(x=g,C=P):(x=q,C=V);for(var j=L*(M-1),N=L*x,G=0;G=p0)&&!(p1>=hi)":d};function o(v){return a[v]}function s(v,m,b,p,k,M,T){for(var L=2*v,x=L*b,C=x,S=b,g=m,P=v+m,E=b;p>E;++E,x+=L){var z=k[x+g];if(z===T)if(S===E)S+=1,C+=L;else{for(var q=0;L>q;++q){var V=k[x+q];k[x+q]=k[C],k[C++]=V}var G=M[E];M[E]=M[S],M[S++]=G}}return S}function l(v,m,b,p,k,M,T){for(var L=2*v,x=L*b,C=x,S=b,g=m,P=v+m,E=b;p>E;++E,x+=L){var z=k[x+g];if(zq;++q){var V=k[x+q];k[x+q]=k[C],k[C++]=V}var G=M[E];M[E]=M[S],M[S++]=G}}return S}function u(v,m,b,p,k,M,T){for(var L=2*v,x=L*b,C=x,S=b,g=m,P=v+m,E=b;p>E;++E,x+=L){var z=k[x+P];if(z<=T)if(S===E)S+=1,C+=L;else{for(var q=0;L>q;++q){var V=k[x+q];k[x+q]=k[C],k[C++]=V}var G=M[E];M[E]=M[S],M[S++]=G}}return S}function c(v,m,b,p,k,M,T){for(var L=2*v,x=L*b,C=x,S=b,g=m,P=v+m,E=b;p>E;++E,x+=L){var z=k[x+P];if(z<=T)if(S===E)S+=1,C+=L;else{for(var q=0;L>q;++q){var V=k[x+q];k[x+q]=k[C],k[C++]=V}var G=M[E];M[E]=M[S],M[S++]=G}}return S}function f(v,m,b,p,k,M,T){for(var L=2*v,x=L*b,C=x,S=b,g=m,P=v+m,E=b;p>E;++E,x+=L){var z=k[x+g],q=k[x+P];if(z<=T&&T<=q)if(S===E)S+=1,C+=L;else{for(var V=0;L>V;++V){var G=k[x+V];k[x+V]=k[C],k[C++]=G}var Z=M[E];M[E]=M[S],M[S++]=Z}}return S}function h(v,m,b,p,k,M,T){for(var L=2*v,x=L*b,C=x,S=b,g=m,P=v+m,E=b;p>E;++E,x+=L){var z=k[x+g],q=k[x+P];if(zV;++V){var G=k[x+V];k[x+V]=k[C],k[C++]=G}var Z=M[E];M[E]=M[S],M[S++]=Z}}return S}function d(v,m,b,p,k,M,T,L){for(var x=2*v,C=x*b,S=C,g=b,P=m,E=v+m,z=b;p>z;++z,C+=x){var q=k[C+P],V=k[C+E];if(!(q>=T)&&!(L>=V))if(g===z)g+=1,S+=x;else{for(var G=0;x>G;++G){var Z=k[C+G];k[C+G]=k[S],k[S++]=Z}var j=M[z];M[z]=M[g],M[g++]=j}}return g}},4192:function(i){"use strict";i.exports=o;var a=32;function o(m,b){b<=4*a?s(0,b-1,m):v(0,b-1,m)}function s(m,b,p){for(var k=2*(m+1),M=m+1;M<=b;++M){for(var T=p[k++],L=p[k++],x=M,C=k-2;x-- >m;){var S=p[C-2],g=p[C-1];if(Sp[b+1]:!0}function d(m,b,p,k){m*=2;var M=k[m];return M>1,x=L-k,C=L+k,S=M,g=x,P=L,E=C,z=T,q=m+1,V=b-1,G=0;h(S,g,p)&&(G=S,S=g,g=G),h(E,z,p)&&(G=E,E=z,z=G),h(S,P,p)&&(G=S,S=P,P=G),h(g,P,p)&&(G=g,g=P,P=G),h(S,E,p)&&(G=S,S=E,E=G),h(P,E,p)&&(G=P,P=E,E=G),h(g,z,p)&&(G=g,g=z,z=G),h(g,P,p)&&(G=g,g=P,P=G),h(E,z,p)&&(G=E,E=z,z=G);for(var Z=p[2*g],j=p[2*g+1],N=p[2*E],H=p[2*E+1],ie=2*S,ae=2*P,_e=2*z,Ee=2*M,Ce=2*L,ge=2*T,re=0;re<2;++re){var Se=p[ie+re],ke=p[ae+re],be=p[_e+re];p[Ee+re]=Se,p[Ce+re]=ke,p[ge+re]=be}u(x,m,p),u(C,b,p);for(var Be=q;Be<=V;++Be)if(d(Be,Z,j,p))Be!==q&&l(Be,q,p),++q;else if(!d(Be,N,H,p))for(;;)if(d(V,N,H,p)){d(V,Z,j,p)?(c(Be,q,V,p),++q,--V):(l(Be,V,p),--V);break}else{if(--V>>1;u(k,ke);for(var be=0,Be=0,Ce=0;Ce=c)Le=Le-c|0,T(v,m,Be--,Le);else if(Le>=0)T(h,d,be--,Le);else if(Le<=-c){Le=-Le-c|0;for(var me=0;me>>1;u(k,ke);for(var be=0,Be=0,Le=0,Ce=0;Ce>1===k[2*Ce+3]>>1&&(Pe=2,Ce+=1),me<0){for(var ce=-(me>>1)-1,He=0;He>1)-1;Pe===0?T(h,d,be--,ce):Pe===1?T(v,m,Be--,ce):Pe===2&&T(b,p,Le--,ce)}}}function S(P,E,z,q,V,G,Z,j,N,H,ie,ae){var _e=0,Ee=2*P,Ce=E,ge=E+P,re=1,Se=1;q?Se=c:re=c;for(var ke=V;ke>>1;u(k,me);for(var Pe=0,ke=0;ke=c?(He=!q,be-=c):(He=!!q,be-=1),He)L(h,d,Pe++,be);else{var lt=ae[be],mt=Ee*be,Ht=ie[mt+E+1],at=ie[mt+E+1+P];e:for(var ct=0;ct>>1;u(k,be);for(var Be=0,ge=0;ge=c)h[Be++]=re-c;else{re-=1;var me=ie[re],Pe=_e*re,ce=H[Pe+E+1],He=H[Pe+E+1+P];e:for(var lt=0;lt=0;--lt)if(h[lt]===re){for(var ct=lt+1;ct0;){for(var M=d.pop(),b=d.pop(),T=-1,L=-1,p=m[b],C=1;C=0||(h.flip(b,M),u(f,h,d,T,b,L),u(f,h,d,b,L,T),u(f,h,d,L,M,T),u(f,h,d,M,T,L))}}},5023:function(i,a,o){"use strict";var s=o(2478);i.exports=d;function l(v,m,b,p,k,M,T){this.cells=v,this.neighbor=m,this.flags=p,this.constraint=b,this.active=k,this.next=M,this.boundary=T}var u=l.prototype;function c(v,m){return v[0]-m[0]||v[1]-m[1]||v[2]-m[2]}u.locate=function(){var v=[0,0,0];return function(m,b,p){var k=m,M=b,T=p;return b0||T.length>0;){for(;M.length>0;){var g=M.pop();if(L[g]!==-k){L[g]=k;for(var P=x[g],E=0;E<3;++E){var z=S[3*g+E];z>=0&&L[z]===0&&(C[3*g+E]?T.push(z):(M.push(z),L[z]=k))}}}var q=T;T=M,M=q,T.length=0,k=-k}var V=h(x,L,m);return b?V.concat(p.boundary):V}},8902:function(i,a,o){"use strict";var s=o(2478),l=o(3250)[3],u=0,c=1,f=2;i.exports=T;function h(L,x,C,S,g){this.a=L,this.b=x,this.idx=C,this.lowerIds=S,this.upperIds=g}function d(L,x,C,S){this.a=L,this.b=x,this.type=C,this.idx=S}function v(L,x){var C=L.a[0]-x.a[0]||L.a[1]-x.a[1]||L.type-x.type;return C||L.type!==u&&(C=l(L.a,L.b,x.b),C)?C:L.idx-x.idx}function m(L,x){return l(L.a,L.b,x)}function b(L,x,C,S,g){for(var P=s.lt(x,S,m),E=s.gt(x,S,m),z=P;z1&&l(C[V[Z-2]],C[V[Z-1]],S)>0;)L.push([V[Z-1],V[Z-2],g]),Z-=1;V.length=Z,V.push(g);for(var G=q.upperIds,Z=G.length;Z>1&&l(C[G[Z-2]],C[G[Z-1]],S)<0;)L.push([G[Z-2],G[Z-1],g]),Z-=1;G.length=Z,G.push(g)}}function p(L,x){var C;return L.a[0]q[0]&&g.push(new d(q,z,f,P),new d(z,q,c,P))}g.sort(v);for(var V=g[0].a[0]-(1+Math.abs(g[0].a[0]))*Math.pow(2,-52),G=[new h([V,1],[V,0],-1,[],[],[],[])],Z=[],P=0,j=g.length;P=0}}(),u.removeTriangle=function(h,d,v){var m=this.stars;c(m[h],d,v),c(m[d],v,h),c(m[v],h,d)},u.addTriangle=function(h,d,v){var m=this.stars;m[h].push(d,v),m[d].push(v,h),m[v].push(h,d)},u.opposite=function(h,d){for(var v=this.stars[d],m=1,b=v.length;m=0;--N){var Se=Z[N];H=Se[0];var ke=V[H],be=ke[0],Be=ke[1],Le=q[be],me=q[Be];if((Le[0]-me[0]||Le[1]-me[1])<0){var Pe=be;be=Be,Be=Pe}ke[0]=be;var ce=ke[1]=Se[1],He;for(j&&(He=ke[2]);N>0&&Z[N-1][0]===H;){var Se=Z[--N],lt=Se[1];j?V.push([ce,lt,He]):V.push([ce,lt]),ce=lt}j?V.push([ce,Be,He]):V.push([ce,Be])}return ie}function x(q,V,G){for(var Z=V.length,j=new s(Z),N=[],H=0;HV[2]?1:0)}function g(q,V,G){if(q.length!==0){if(V)for(var Z=0;Z0||H.length>0}function z(q,V,G){var Z;if(G){Z=V;for(var j=new Array(V.length),N=0;NL+1)throw new Error(M+" map requires nshades to be at least size "+k.length);Array.isArray(d.alpha)?d.alpha.length!==2?x=[1,1]:x=d.alpha.slice():typeof d.alpha=="number"?x=[d.alpha,d.alpha]:x=[1,1],v=k.map(function(z){return Math.round(z.index*L)}),x[0]=Math.min(Math.max(x[0],0),1),x[1]=Math.min(Math.max(x[1],0),1);var S=k.map(function(z,q){var V=k[q].index,G=k[q].rgb.slice();return G.length===4&&G[3]>=0&&G[3]<=1||(G[3]=x[0]+(x[1]-x[0])*V),G}),g=[];for(C=0;C=0}function d(v,m,b,p){var k=s(m,b,p);if(k===0){var M=l(s(v,m,b)),T=l(s(v,m,p));if(M===T){if(M===0){var L=h(v,m,b),x=h(v,m,p);return L===x?0:L?1:-1}return 0}else{if(T===0)return M>0||h(v,m,p)?-1:1;if(M===0)return T>0||h(v,m,b)?1:-1}return l(T-M)}var C=s(v,m,b);if(C>0)return k>0&&s(v,m,p)>0?1:-1;if(C<0)return k>0||s(v,m,p)>0?1:-1;var S=s(v,m,p);return S>0||h(v,m,b)?1:-1}},8572:function(i){"use strict";i.exports=function(o){return o<0?-1:o>0?1:0}},8507:function(i){i.exports=s;var a=Math.min;function o(l,u){return l-u}function s(l,u){var c=l.length,f=l.length-u.length;if(f)return f;switch(c){case 0:return 0;case 1:return l[0]-u[0];case 2:return l[0]+l[1]-u[0]-u[1]||a(l[0],l[1])-a(u[0],u[1]);case 3:var h=l[0]+l[1],d=u[0]+u[1];if(f=h+l[2]-(d+u[2]),f)return f;var v=a(l[0],l[1]),m=a(u[0],u[1]);return a(v,l[2])-a(m,u[2])||a(v+l[2],h)-a(m+u[2],d);case 4:var b=l[0],p=l[1],k=l[2],M=l[3],T=u[0],L=u[1],x=u[2],C=u[3];return b+p+k+M-(T+L+x+C)||a(b,p,k,M)-a(T,L,x,C,T)||a(b+p,b+k,b+M,p+k,p+M,k+M)-a(T+L,T+x,T+C,L+x,L+C,x+C)||a(b+p+k,b+p+M,b+k+M,p+k+M)-a(T+L+x,T+L+C,T+x+C,L+x+C);default:for(var S=l.slice().sort(o),g=u.slice().sort(o),P=0;Po[l][0]&&(l=u);return sl?[[l],[s]]:[[s]]}},4750:function(i,a,o){"use strict";i.exports=l;var s=o(3090);function l(u){var c=s(u),f=c.length;if(f<=2)return[];for(var h=new Array(f),d=c[f-1],v=0;v=d[T]&&(M+=1);p[k]=M}}return h}function f(h,d){try{return s(h,!0)}catch(p){var v=l(h);if(v.length<=d)return[];var m=u(h,v),b=s(m,!0);return c(b,v)}}},4769:function(i){"use strict";function a(s,l,u,c,f,h){var d=6*f*f-6*f,v=3*f*f-4*f+1,m=-6*f*f+6*f,b=3*f*f-2*f;if(s.length){h||(h=new Array(s.length));for(var p=s.length-1;p>=0;--p)h[p]=d*s[p]+v*l[p]+m*u[p]+b*c[p];return h}return d*s+v*l+m*u[p]+b*c}function o(s,l,u,c,f,h){var d=f-1,v=f*f,m=d*d,b=(1+2*f)*m,p=f*m,k=v*(3-2*f),M=v*d;if(s.length){h||(h=new Array(s.length));for(var T=s.length-1;T>=0;--T)h[T]=b*s[T]+p*l[T]+k*u[T]+M*c[T];return h}return b*s+p*l+k*u+M*c}i.exports=o,i.exports.derivative=a},7642:function(i,a,o){"use strict";var s=o(8954),l=o(1682);i.exports=h;function u(d,v){this.point=d,this.index=v}function c(d,v){for(var m=d.point,b=v.point,p=m.length,k=0;k=2)return!1;G[j]=N}return!0}):V=V.filter(function(G){for(var Z=0;Z<=b;++Z){var j=P[G[Z]];if(j<0)return!1;G[Z]=j}return!0}),b&1)for(var M=0;M>>31},i.exports.exponent=function(k){var M=i.exports.hi(k);return(M<<1>>>21)-1023},i.exports.fraction=function(k){var M=i.exports.lo(k),T=i.exports.hi(k),L=T&(1<<20)-1;return T&2146435072&&(L+=1048576),[M,L]},i.exports.denormalized=function(k){var M=i.exports.hi(k);return!(M&2146435072)}},1338:function(i){"use strict";function a(l,u,c){var f=l[c]|0;if(f<=0)return[];var h=new Array(f),d;if(c===l.length-1)for(d=0;d0)return o(l|0,u);break;case"object":if(typeof l.length=="number")return a(l,u,0);break}return[]}i.exports=s},3134:function(i,a,o){"use strict";i.exports=l;var s=o(1682);function l(u,c){var f=u.length;if(typeof c!="number"){c=0;for(var h=0;h=b-1)for(var C=M.length-1,g=v-m[b-1],S=0;S=b-1)for(var x=M.length-1,C=v-m[b-1],S=0;S=0;--b)if(v[--m])return!1;return!0},f.jump=function(v){var m=this.lastT(),b=this.dimension;if(!(v0;--S)p.push(u(L[S-1],x[S-1],arguments[S])),k.push(0)}},f.push=function(v){var m=this.lastT(),b=this.dimension;if(!(v1e-6?1/T:0;this._time.push(v);for(var g=b;g>0;--g){var P=u(x[g-1],C[g-1],arguments[g]);p.push(P),k.push((P-p[M++])*S)}}},f.set=function(v){var m=this.dimension;if(!(v0;--L)b.push(u(M[L-1],T[L-1],arguments[L])),p.push(0)}},f.move=function(v){var m=this.lastT(),b=this.dimension;if(!(v<=m||arguments.length!==b+1)){var p=this._state,k=this._velocity,M=p.length-this.dimension,T=this.bounds,L=T[0],x=T[1],C=v-m,S=C>1e-6?1/C:0;this._time.push(v);for(var g=b;g>0;--g){var P=arguments[g];p.push(u(L[g-1],x[g-1],p[M++]+P)),k.push(P*S)}}},f.idle=function(v){var m=this.lastT();if(!(v=0;--S)p.push(u(L[S],x[S],p[M]+C*k[M])),k.push(0),M+=1}};function h(v){for(var m=new Array(v),b=0;b=0;--q){var g=P[q];E[q]<=0?P[q]=new s(g._color,g.key,g.value,P[q+1],g.right,g._count+1):P[q]=new s(g._color,g.key,g.value,g.left,P[q+1],g._count+1)}for(var q=P.length-1;q>1;--q){var V=P[q-1],g=P[q];if(V._color===o||g._color===o)break;var G=P[q-2];if(G.left===V)if(V.left===g){var Z=G.right;if(Z&&Z._color===a)V._color=o,G.right=u(o,Z),G._color=a,q-=1;else{if(G._color=a,G.left=V.right,V._color=o,V.right=G,P[q-2]=V,P[q-1]=g,c(G),c(V),q>=3){var j=P[q-3];j.left===G?j.left=V:j.right=V}break}}else{var Z=G.right;if(Z&&Z._color===a)V._color=o,G.right=u(o,Z),G._color=a,q-=1;else{if(V.right=g.left,G._color=a,G.left=g.right,g._color=o,g.left=V,g.right=G,P[q-2]=g,P[q-1]=V,c(G),c(V),c(g),q>=3){var j=P[q-3];j.left===G?j.left=g:j.right=g}break}}else if(V.right===g){var Z=G.left;if(Z&&Z._color===a)V._color=o,G.left=u(o,Z),G._color=a,q-=1;else{if(G._color=a,G.right=V.left,V._color=o,V.left=G,P[q-2]=V,P[q-1]=g,c(G),c(V),q>=3){var j=P[q-3];j.right===G?j.right=V:j.left=V}break}}else{var Z=G.left;if(Z&&Z._color===a)V._color=o,G.left=u(o,Z),G._color=a,q-=1;else{if(V.left=g.right,G._color=a,G.right=g.left,g._color=o,g.right=V,g.left=G,P[q-2]=g,P[q-1]=V,c(G),c(V),c(g),q>=3){var j=P[q-3];j.right===G?j.right=g:j.left=g}break}}}return P[0]._color=o,new f(S,P[0])};function d(x,C){if(C.left){var S=d(x,C.left);if(S)return S}var S=x(C.key,C.value);if(S)return S;if(C.right)return d(x,C.right)}function v(x,C,S,g){var P=C(x,g.key);if(P<=0){if(g.left){var E=v(x,C,S,g.left);if(E)return E}var E=S(g.key,g.value);if(E)return E}if(g.right)return v(x,C,S,g.right)}function m(x,C,S,g,P){var E=S(x,P.key),z=S(C,P.key),q;if(E<=0&&(P.left&&(q=m(x,C,S,g,P.left),q)||z>0&&(q=g(P.key,P.value),q)))return q;if(z>0&&P.right)return m(x,C,S,g,P.right)}h.forEach=function(C,S,g){if(this.root)switch(arguments.length){case 1:return d(C,this.root);case 2:return v(S,this._compare,C,this.root);case 3:return this._compare(S,g)>=0?void 0:m(S,g,this._compare,C,this.root)}},Object.defineProperty(h,"begin",{get:function(){for(var x=[],C=this.root;C;)x.push(C),C=C.left;return new b(this,x)}}),Object.defineProperty(h,"end",{get:function(){for(var x=[],C=this.root;C;)x.push(C),C=C.right;return new b(this,x)}}),h.at=function(x){if(x<0)return new b(this,[]);for(var C=this.root,S=[];;){if(S.push(C),C.left){if(x=C.right._count)break;C=C.right}else break}return new b(this,[])},h.ge=function(x){for(var C=this._compare,S=this.root,g=[],P=0;S;){var E=C(x,S.key);g.push(S),E<=0&&(P=g.length),E<=0?S=S.left:S=S.right}return g.length=P,new b(this,g)},h.gt=function(x){for(var C=this._compare,S=this.root,g=[],P=0;S;){var E=C(x,S.key);g.push(S),E<0&&(P=g.length),E<0?S=S.left:S=S.right}return g.length=P,new b(this,g)},h.lt=function(x){for(var C=this._compare,S=this.root,g=[],P=0;S;){var E=C(x,S.key);g.push(S),E>0&&(P=g.length),E<=0?S=S.left:S=S.right}return g.length=P,new b(this,g)},h.le=function(x){for(var C=this._compare,S=this.root,g=[],P=0;S;){var E=C(x,S.key);g.push(S),E>=0&&(P=g.length),E<0?S=S.left:S=S.right}return g.length=P,new b(this,g)},h.find=function(x){for(var C=this._compare,S=this.root,g=[];S;){var P=C(x,S.key);if(g.push(S),P===0)return new b(this,g);P<=0?S=S.left:S=S.right}return new b(this,[])},h.remove=function(x){var C=this.find(x);return C?C.remove():this},h.get=function(x){for(var C=this._compare,S=this.root;S;){var g=C(x,S.key);if(g===0)return S.value;g<=0?S=S.left:S=S.right}};function b(x,C){this.tree=x,this._stack=C}var p=b.prototype;Object.defineProperty(p,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(p,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),p.clone=function(){return new b(this.tree,this._stack.slice())};function k(x,C){x.key=C.key,x.value=C.value,x.left=C.left,x.right=C.right,x._color=C._color,x._count=C._count}function M(x){for(var C,S,g,P,E=x.length-1;E>=0;--E){if(C=x[E],E===0){C._color=o;return}if(S=x[E-1],S.left===C){if(g=S.right,g.right&&g.right._color===a){if(g=S.right=l(g),P=g.right=l(g.right),S.right=g.left,g.left=S,g.right=P,g._color=S._color,C._color=o,S._color=o,P._color=o,c(S),c(g),E>1){var z=x[E-2];z.left===S?z.left=g:z.right=g}x[E-1]=g;return}else if(g.left&&g.left._color===a){if(g=S.right=l(g),P=g.left=l(g.left),S.right=P.left,g.left=P.right,P.left=S,P.right=g,P._color=S._color,S._color=o,g._color=o,C._color=o,c(S),c(g),c(P),E>1){var z=x[E-2];z.left===S?z.left=P:z.right=P}x[E-1]=P;return}if(g._color===o)if(S._color===a){S._color=o,S.right=u(a,g);return}else{S.right=u(a,g);continue}else{if(g=l(g),S.right=g.left,g.left=S,g._color=S._color,S._color=a,c(S),c(g),E>1){var z=x[E-2];z.left===S?z.left=g:z.right=g}x[E-1]=g,x[E]=S,E+11){var z=x[E-2];z.right===S?z.right=g:z.left=g}x[E-1]=g;return}else if(g.right&&g.right._color===a){if(g=S.left=l(g),P=g.right=l(g.right),S.left=P.right,g.right=P.left,P.right=S,P.left=g,P._color=S._color,S._color=o,g._color=o,C._color=o,c(S),c(g),c(P),E>1){var z=x[E-2];z.right===S?z.right=P:z.left=P}x[E-1]=P;return}if(g._color===o)if(S._color===a){S._color=o,S.left=u(a,g);return}else{S.left=u(a,g);continue}else{if(g=l(g),S.left=g.right,g.right=S,g._color=S._color,S._color=a,c(S),c(g),E>1){var z=x[E-2];z.right===S?z.right=g:z.left=g}x[E-1]=g,x[E]=S,E+1=0;--g){var S=x[g];S.left===x[g+1]?C[g]=new s(S._color,S.key,S.value,C[g+1],S.right,S._count):C[g]=new s(S._color,S.key,S.value,S.left,C[g+1],S._count)}if(S=C[C.length-1],S.left&&S.right){var P=C.length;for(S=S.left;S.right;)C.push(S),S=S.right;var E=C[P-1];C.push(new s(S._color,E.key,E.value,S.left,S.right,S._count)),C[P-1].key=S.key,C[P-1].value=S.value;for(var g=C.length-2;g>=P;--g)S=C[g],C[g]=new s(S._color,S.key,S.value,S.left,C[g+1],S._count);C[P-1].left=C[P]}if(S=C[C.length-1],S._color===a){var z=C[C.length-2];z.left===S?z.left=null:z.right===S&&(z.right=null),C.pop();for(var g=0;g0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(p,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(p,"index",{get:function(){var x=0,C=this._stack;if(C.length===0){var S=this.tree.root;return S?S._count:0}else C[C.length-1].left&&(x=C[C.length-1].left._count);for(var g=C.length-2;g>=0;--g)C[g+1]===C[g].right&&(++x,C[g].left&&(x+=C[g].left._count));return x},enumerable:!0}),p.next=function(){var x=this._stack;if(x.length!==0){var C=x[x.length-1];if(C.right)for(C=C.right;C;)x.push(C),C=C.left;else for(x.pop();x.length>0&&x[x.length-1].right===C;)C=x[x.length-1],x.pop()}},Object.defineProperty(p,"hasNext",{get:function(){var x=this._stack;if(x.length===0)return!1;if(x[x.length-1].right)return!0;for(var C=x.length-1;C>0;--C)if(x[C-1].left===x[C])return!0;return!1}}),p.update=function(x){var C=this._stack;if(C.length===0)throw new Error("Can't update empty node!");var S=new Array(C.length),g=C[C.length-1];S[S.length-1]=new s(g._color,g.key,x,g.left,g.right,g._count);for(var P=C.length-2;P>=0;--P)g=C[P],g.left===C[P+1]?S[P]=new s(g._color,g.key,g.value,S[P+1],g.right,g._count):S[P]=new s(g._color,g.key,g.value,g.left,S[P+1],g._count);return new f(this.tree._compare,S[0])},p.prev=function(){var x=this._stack;if(x.length!==0){var C=x[x.length-1];if(C.left)for(C=C.left;C;)x.push(C),C=C.right;else for(x.pop();x.length>0&&x[x.length-1].left===C;)C=x[x.length-1],x.pop()}},Object.defineProperty(p,"hasPrev",{get:function(){var x=this._stack;if(x.length===0)return!1;if(x[x.length-1].left)return!0;for(var C=x.length-1;C>0;--C)if(x[C-1].right===x[C])return!0;return!1}});function T(x,C){return xC?1:0}function L(x){return new f(x||T,null)}},3837:function(i,a,o){"use strict";i.exports=q;var s=o(4935),l=o(501),u=o(5304),c=o(6429),f=o(6444),h=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),d=ArrayBuffer,v=DataView;function m(V){return d.isView(V)&&!(V instanceof v)}function b(V){return Array.isArray(V)||m(V)}function p(V,G){return V[0]=G[0],V[1]=G[1],V[2]=G[2],V}function k(V){this.gl=V,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=u(V)}var M=k.prototype;M.update=function(V){V=V||{};function G(be,Be,Le){if(Le in V){var me=V[Le],Pe=this[Le],ce;(be?b(me)&&b(me[0]):b(me))?this[Le]=ce=[Be(me[0]),Be(me[1]),Be(me[2])]:this[Le]=ce=[Be(me),Be(me),Be(me)];for(var He=0;He<3;++He)if(ce[He]!==Pe[He])return!0}return!1}var Z=G.bind(this,!1,Number),j=G.bind(this,!1,Boolean),N=G.bind(this,!1,String),H=G.bind(this,!0,function(be){if(b(be)){if(be.length===3)return[+be[0],+be[1],+be[2],1];if(be.length===4)return[+be[0],+be[1],+be[2],+be[3]]}return[0,0,0,1]}),ie,ae=!1,_e=!1;if("bounds"in V)for(var Ee=V.bounds,Ce=0;Ce<2;++Ce)for(var ge=0;ge<3;++ge)Ee[Ce][ge]!==this.bounds[Ce][ge]&&(_e=!0),this.bounds[Ce][ge]=Ee[Ce][ge];if("ticks"in V){ie=V.ticks,ae=!0,this.autoTicks=!1;for(var Ce=0;Ce<3;++Ce)this.tickSpacing[Ce]=0}else Z("tickSpacing")&&(this.autoTicks=!0,_e=!0);if(this._firstInit&&("ticks"in V||"tickSpacing"in V||(this.autoTicks=!0),_e=!0,ae=!0,this._firstInit=!1),_e&&this.autoTicks&&(ie=f.create(this.bounds,this.tickSpacing),ae=!0),ae){for(var Ce=0;Ce<3;++Ce)ie[Ce].sort(function(Be,Le){return Be.x-Le.x});f.equal(ie,this.ticks)?ae=!1:this.ticks=ie}j("tickEnable"),N("tickFont")&&(ae=!0),N("tickFontStyle")&&(ae=!0),N("tickFontWeight")&&(ae=!0),N("tickFontVariant")&&(ae=!0),Z("tickSize"),Z("tickAngle"),Z("tickPad"),H("tickColor");var re=N("labels");N("labelFont")&&(re=!0),N("labelFontStyle")&&(re=!0),N("labelFontWeight")&&(re=!0),N("labelFontVariant")&&(re=!0),j("labelEnable"),Z("labelSize"),Z("labelPad"),H("labelColor"),j("lineEnable"),j("lineMirror"),Z("lineWidth"),H("lineColor"),j("lineTickEnable"),j("lineTickMirror"),Z("lineTickLength"),Z("lineTickWidth"),H("lineTickColor"),j("gridEnable"),Z("gridWidth"),H("gridColor"),j("zeroEnable"),H("zeroLineColor"),Z("zeroLineWidth"),j("backgroundEnable"),H("backgroundColor");var Se=[{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]}],ke=[{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&&(re||ae)&&this._text.update(this.bounds,this.labels,Se,this.ticks,ke):this._text=s(this.gl,this.bounds,this.labels,Se,this.ticks,ke),this._lines&&ae&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=l(this.gl,this.bounds,this.ticks))};function T(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}var L=[new T,new T,new T];function x(V,G,Z,j,N){for(var H=V.primalOffset,ie=V.primalMinor,ae=V.mirrorOffset,_e=V.mirrorMinor,Ee=j[G],Ce=0;Ce<3;++Ce)if(G!==Ce){var ge=H,re=ae,Se=ie,ke=_e;Ee&1<0?(Se[Ce]=-1,ke[Ce]=0):(Se[Ce]=0,ke[Ce]=1)}}var C=[0,0,0],S={model:h,view:h,projection:h,_ortho:!1};M.isOpaque=function(){return!0},M.isTransparent=function(){return!1},M.drawTransparent=function(V){};var g=0,P=[0,0,0],E=[0,0,0],z=[0,0,0];M.draw=function(V){V=V||S;for(var Le=this.gl,G=V.model||h,Z=V.view||h,j=V.projection||h,N=this.bounds,H=V._ortho||!1,ie=c(G,Z,j,N,H),ae=ie.cubeEdges,_e=ie.axis,Ee=Z[12],Ce=Z[13],ge=Z[14],re=Z[15],Se=H?2:1,ke=Se*this.pixelRatio*(j[3]*Ee+j[7]*Ce+j[11]*ge+j[15]*re)/Le.drawingBufferHeight,be=0;be<3;++be)this.lastCubeProps.cubeEdges[be]=ae[be],this.lastCubeProps.axis[be]=_e[be];for(var Be=L,be=0;be<3;++be)x(L[be],be,this.bounds,ae,_e);for(var Le=this.gl,me=C,be=0;be<3;++be)this.backgroundEnable[be]?me[be]=_e[be]:me[be]=0;this._background.draw(G,Z,j,N,me,this.backgroundColor),this._lines.bind(G,Z,j,this);for(var be=0;be<3;++be){var Pe=[0,0,0];_e[be]>0?Pe[be]=N[1][be]:Pe[be]=N[0][be];for(var ce=0;ce<2;++ce){var He=(be+1+ce)%3,lt=(be+1+(ce^1))%3;this.gridEnable[He]&&this._lines.drawGrid(He,lt,this.bounds,Pe,this.gridColor[He],this.gridWidth[He]*this.pixelRatio)}for(var ce=0;ce<2;++ce){var He=(be+1+ce)%3,lt=(be+1+(ce^1))%3;this.zeroEnable[lt]&&Math.min(N[0][lt],N[1][lt])<=0&&Math.max(N[0][lt],N[1][lt])>=0&&this._lines.drawZero(He,lt,this.bounds,Pe,this.zeroLineColor[lt],this.zeroLineWidth[lt]*this.pixelRatio)}}for(var be=0;be<3;++be){this.lineEnable[be]&&this._lines.drawAxisLine(be,this.bounds,Be[be].primalOffset,this.lineColor[be],this.lineWidth[be]*this.pixelRatio),this.lineMirror[be]&&this._lines.drawAxisLine(be,this.bounds,Be[be].mirrorOffset,this.lineColor[be],this.lineWidth[be]*this.pixelRatio);for(var mt=p(P,Be[be].primalMinor),Ht=p(E,Be[be].mirrorMinor),at=this.lineTickLength,ce=0;ce<3;++ce){var ct=ke/G[5*ce];mt[ce]*=at[ce]*ct,Ht[ce]*=at[ce]*ct}this.lineTickEnable[be]&&this._lines.drawAxisTicks(be,Be[be].primalOffset,mt,this.lineTickColor[be],this.lineTickWidth[be]*this.pixelRatio),this.lineTickMirror[be]&&this._lines.drawAxisTicks(be,Be[be].mirrorOffset,Ht,this.lineTickColor[be],this.lineTickWidth[be]*this.pixelRatio)}this._lines.unbind(),this._text.bind(G,Z,j,this.pixelRatio);var ar,Vt=.5,rr,tt;function je(dt){tt=[0,0,0],tt[dt]=1}function Ue(dt,Et,pt){var jt=(dt+1)%3,or=(dt+2)%3,mr=Et[jt],Ar=Et[or],ei=pt[jt],qr=pt[or];if(mr>0&&qr>0){je(jt);return}else if(mr>0&&qr<0){je(jt);return}else if(mr<0&&qr>0){je(jt);return}else if(mr<0&&qr<0){je(jt);return}else if(Ar>0&&ei>0){je(or);return}else if(Ar>0&&ei<0){je(or);return}else if(Ar<0&&ei>0){je(or);return}else if(Ar<0&&ei<0){je(or);return}}for(var be=0;be<3;++be){for(var Ae=Be[be].primalMinor,rt=Be[be].mirrorMinor,St=p(z,Be[be].primalOffset),ce=0;ce<3;++ce)this.lineTickEnable[be]&&(St[ce]+=ke*Ae[ce]*Math.max(this.lineTickLength[ce],0)/G[5*ce]);var Tt=[0,0,0];if(Tt[be]=1,this.tickEnable[be]){this.tickAngle[be]===-3600?(this.tickAngle[be]=0,this.tickAlign[be]="auto"):this.tickAlign[be]=-1,rr=1,ar=[this.tickAlign[be],Vt,rr],ar[0]==="auto"?ar[0]=g:ar[0]=parseInt(""+ar[0]),tt=[0,0,0],Ue(be,Ae,rt);for(var ce=0;ce<3;++ce)St[ce]+=ke*Ae[ce]*this.tickPad[ce]/G[5*ce];this._text.drawTicks(be,this.tickSize[be],this.tickAngle[be],St,this.tickColor[be],Tt,tt,ar)}if(this.labelEnable[be]){rr=0,tt=[0,0,0],this.labels[be].length>4&&(je(be),rr=1),ar=[this.labelAlign[be],Vt,rr],ar[0]==="auto"?ar[0]=g:ar[0]=parseInt(""+ar[0]);for(var ce=0;ce<3;++ce)St[ce]+=ke*Ae[ce]*this.labelPad[ce]/G[5*ce];St[be]+=.5*(N[0][be]+N[1][be]),this._text.drawLabel(be,this.labelSize[be],this.labelAngle[be],St,this.labelColor[be],[0,0,0],tt,ar)}}this._text.unbind()},M.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null};function q(V,G){var Z=new k(V);return Z.update(G),Z}},5304:function(i,a,o){"use strict";i.exports=h;var s=o(2762),l=o(8116),u=o(1879).bg;function c(d,v,m,b){this.gl=d,this.buffer=v,this.vao=m,this.shader=b}var f=c.prototype;f.draw=function(d,v,m,b,p,k){for(var M=!1,T=0;T<3;++T)M=M||p[T];if(M){var L=this.gl;L.enable(L.POLYGON_OFFSET_FILL),L.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:d,view:v,projection:m,bounds:b,enable:p,colors:k},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),L.disable(L.POLYGON_OFFSET_FILL)}},f.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};function h(d){for(var v=[],m=[],b=0,p=0;p<3;++p)for(var k=(p+1)%3,M=(p+2)%3,T=[0,0,0],L=[0,0,0],x=-1;x<=1;x+=2){m.push(b,b+2,b+1,b+1,b+2,b+3),T[p]=x,L[p]=x;for(var C=-1;C<=1;C+=2){T[k]=C;for(var S=-1;S<=1;S+=2)T[M]=S,v.push(T[0],T[1],T[2],L[0],L[1],L[2]),b+=1}var g=k;k=M,M=g}var P=s(d,new Float32Array(v)),E=s(d,new Uint16Array(m),d.ELEMENT_ARRAY_BUFFER),z=l(d,[{buffer:P,type:d.FLOAT,size:3,offset:0,stride:24},{buffer:P,type:d.FLOAT,size:3,offset:12,stride:24}],E),q=u(d);return q.attributes.position.location=0,q.attributes.normal.location=1,new c(d,P,z,q)}},6429:function(i,a,o){"use strict";i.exports=x;var s=o(8828),l=o(6760),u=o(5202),c=o(3250),f=new Array(16),h=new Array(8),d=new Array(8),v=new Array(3),m=[0,0,0];(function(){for(var C=0;C<8;++C)h[C]=[1,1,1,1],d[C]=[1,1,1]})();function b(C,S,g){for(var P=0;P<4;++P){C[P]=g[12+P];for(var E=0;E<3;++E)C[P]+=S[E]*g[4*E+P]}}var p=[[0,0,1,0,0],[0,0,-1,1,0],[0,-1,0,1,0],[0,1,0,1,0],[-1,0,0,1,0],[1,0,0,1,0]];function k(C){for(var S=0;S_e&&(Z|=1<_e){Z|=1<d[q][1])&&(Be=q);for(var Le=-1,q=0;q<3;++q){var me=Be^1<d[Pe][0]&&(Pe=me)}}var ce=M;ce[0]=ce[1]=ce[2]=0,ce[s.log2(Le^Be)]=Be&Le,ce[s.log2(Be^Pe)]=Be&Pe;var He=Pe^7;He===Z||He===be?(He=Le^7,ce[s.log2(Pe^He)]=He&Pe):ce[s.log2(Le^He)]=He&Le;for(var lt=T,mt=Z,H=0;H<3;++H)mt&1<{"use strict";var n6t=el().str2arr,a6t=el().sliceEq,VTe=el().readUInt32BE,i6t=n6t("8BPS\0");GTe.exports=function(e){if(!(e.length<22)&&a6t(e,0,i6t))return{width:VTe(e,18),height:VTe(e,14),type:"psd",mime:"image/vnd.adobe.photoshop",wUnits:"px",hUnits:"px"}}});var YTe=ne((yur,WTe)=>{"use strict";function o6t(e){return e===32||e===9||e===13||e===10}function E3(e){return typeof e=="number"&&isFinite(e)&&e>0}function s6t(e){var t=0,r=e.length;for(e[0]===239&&e[1]===187&&e[2]===191&&(t=3);t]*>/,u6t=/^<([-_.:a-zA-Z0-9]+:)?svg\s/,c6t=/[^-]\bwidth="([^%]+?)"|[^-]\bwidth='([^%]+?)'/,f6t=/\bheight="([^%]+?)"|\bheight='([^%]+?)'/,h6t=/\bview[bB]ox="(.+?)"|\bview[bB]ox='(.+?)'/,jTe=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function d6t(e){var t=e.match(c6t),r=e.match(f6t),n=e.match(h6t);return{width:t&&(t[1]||t[2]),height:r&&(r[1]||r[2]),viewbox:n&&(n[1]||n[2])}}function Qp(e){return jTe.test(e)?e.match(jTe)[0]:"px"}WTe.exports=function(e){if(s6t(e)){for(var t="",r=0;r{"use strict";var $Te=el().str2arr,XTe=el().sliceEq,v6t=el().readUInt16LE,p6t=el().readUInt16BE,g6t=el().readUInt32LE,m6t=el().readUInt32BE,y6t=$Te("II*\0"),x6t=$Te("MM\0*");function TL(e,t,r){return r?p6t(e,t):v6t(e,t)}function dV(e,t,r){return r?m6t(e,t):g6t(e,t)}function ZTe(e,t,r){var n=TL(e,t+2,r),a=dV(e,t+4,r);return a!==1||n!==3&&n!==4?null:n===3?TL(e,t+8,r):dV(e,t+8,r)}KTe.exports=function(e){if(!(e.length<8)&&!(!XTe(e,0,y6t)&&!XTe(e,0,x6t))){var t=e[0]===77,r=dV(e,4,t)-8;if(!(r<0)){var n=r+8;if(!(e.length-n<2)){var a=TL(e,n+0,t)*12;if(!(a<=0)&&(n+=2,!(e.length-n{"use strict";var tAe=el().str2arr,QTe=el().sliceEq,eAe=el().readUInt16LE,vV=el().readUInt32LE,b6t=_L(),_6t=tAe("RIFF"),w6t=tAe("WEBP");function T6t(e,t){if(!(e[t+3]!==157||e[t+4]!==1||e[t+5]!==42))return{width:eAe(e,t+6)&16383,height:eAe(e,t+8)&16383,type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}function A6t(e,t){if(e[t]===47){var r=vV(e,t+1);return{width:(r&16383)+1,height:(r>>14&16383)+1,type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}}function M6t(e,t){return{width:(e[t+6]<<16|e[t+5]<<8|e[t+4])+1,height:(e[t+9]<e.length)){for(;t+8=10?r=r||T6t(e,t+8):i==="VP8L"&&o>=9?r=r||A6t(e,t+8):i==="VP8X"&&o>=10?r=r||M6t(e,t+8):i==="EXIF"&&(n=b6t.get_orientation(e.slice(t+8,t+8+o)),t=1/0),t+=8+o}if(r)return n>0&&(r.orientation=n),r}}}});var iAe=ne((_ur,aAe)=>{"use strict";aAe.exports={avif:TTe(),bmp:STe(),gif:FTe(),ico:RTe(),jpeg:zTe(),png:UTe(),psd:HTe(),svg:YTe(),tiff:JTe(),webp:nAe()}});var oAe=ne((wur,gV)=>{"use strict";var pV=iAe();function S6t(e){for(var t=Object.keys(pV),r=0;r{"use strict";var E6t=oAe(),k6t=z1().IMAGE_URL_PREFIX,C6t=Ux().Buffer;sAe.getImageSize=function(e){var t=e.replace(k6t,""),r=new C6t(t,"base64");return E6t(r)}});var fAe=ne((Aur,cAe)=>{"use strict";var uAe=Zt(),L6t=t3(),F6t=mi(),AL=ri(),P6t=Zt().maxRowLength,D6t=lAe().getImageSize;cAe.exports=function(t,r){var n,a;if(r._hasZ)n=r.z.length,a=P6t(r.z);else if(r._hasSource){var i=D6t(r.source);n=i.height,a=i.width}var o=AL.getFromId(t,r.xaxis||"x"),s=AL.getFromId(t,r.yaxis||"y"),l=o.d2c(r.x0)-r.dx/2,u=s.d2c(r.y0)-r.dy/2,c,f=[l,l+a*r.dx],h=[u,u+n*r.dy];if(o&&o.type==="log")for(c=0;c{"use strict";var q6t=Ea(),t2=Zt(),hAe=t2.strTranslate,B6t=qv(),O6t=t3(),N6t=tO(),U6t=TC().STYLE;dAe.exports=function(t,r,n,a){var i=r.xaxis,o=r.yaxis,s=!t._context._exportedPlot&&N6t();t2.makeTraceGroups(a,n,"im").each(function(l){var u=q6t.select(this),c=l[0],f=c.trace,h=(f.zsmooth==="fast"||f.zsmooth===!1&&s)&&!f._hasZ&&f._hasSource&&i.type==="linear"&&o.type==="linear";f._realImage=h;var v=c.z,d=c.x0,m=c.y0,x=c.w,g=c.h,E=f.dx,M=f.dy,w,k,y,S,T,p;for(p=0;w===void 0&&p0;)k=i.c2p(d+p*E),p--;for(p=0;S===void 0&&p0;)T=o.c2p(m+p*M),p--;if(kB[0];if(Y||X){var te=w+A/2,se=S+P/2;O+="transform:"+hAe(te+"px",se+"px")+"scale("+(Y?-1:1)+","+(X?-1:1)+")"+hAe(-te+"px",-se+"px")+";"}}U.attr("style",O);var ue=new Promise(function(re){if(f._hasZ)re();else if(f._hasSource)if(f._canvas&&f._canvas.el.width===x&&f._canvas.el.height===g&&f._canvas.source===f.source)re();else{var j=document.createElement("canvas");j.width=x,j.height=g;var fe=j.getContext("2d",{willReadFrequently:!0});f._image=f._image||new Image;var ce=f._image;ce.onload=function(){fe.drawImage(ce,0,0),f._canvas={el:j,source:f.source},re()},ce.setAttribute("src",f.source)}}).then(function(){var re,j;if(f._hasZ)j=q(function(oe,we){var he=v[we][oe];return t2.isTypedArray(he)&&(he=Array.from(he)),he}),re=j.toDataURL("image/png");else if(f._hasSource)if(h)re=f.source;else{var fe=f._canvas.el.getContext("2d",{willReadFrequently:!0}),ce=fe.getImageData(0,0,x,g).data;j=q(function(oe,we){var he=4*(we*x+oe);return[ce[he],ce[he+1],ce[he+2],ce[he+3]]}),re=j.toDataURL("image/png")}U.attr({"xlink:href":re,height:P,width:A,x:w,y:S})});t._promises.push(ue)})}});var gAe=ne((Sur,pAe)=>{"use strict";var V6t=Ea();pAe.exports=function(t){V6t.select(t).selectAll(".im image").style("opacity",function(r){return r[0].trace.opacity})}});var bAe=ne((Eur,xAe)=>{"use strict";var mAe=cu(),yAe=Zt(),ML=yAe.isArrayOrTypedArray,G6t=t3();xAe.exports=function(t,r,n){var a=t.cd[0],i=a.trace,o=t.xa,s=t.ya;if(!(mAe.inbox(r-a.x0,r-(a.x0+a.w*i.dx),0)>0||mAe.inbox(n-a.y0,n-(a.y0+a.h*i.dy),0)>0)){var l=Math.floor((r-a.x0)/i.dx),u=Math.floor(Math.abs(n-a.y0)/i.dy),c;if(i._hasZ?c=a.z[u][l]:i._hasSource&&(c=i._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(l,u,1,1).data),!!c){var f=a.hi||i.hoverinfo,h;if(f){var v=f.split("+");v.indexOf("all")!==-1&&(v=["color"]),v.indexOf("color")!==-1&&(h=!0)}var d=G6t.colormodel[i.colormodel],m=d.colormodel||i.colormodel,x=m.length,g=i._scaler(c),E=d.suffix,M=[];(i.hovertemplate||h)&&(M.push("["+[g[0]+E[0],g[1]+E[1],g[2]+E[2]].join(", ")),x===4&&M.push(", "+g[3]+E[3]),M.push("]"),M=M.join(""),t.extraText=m.toUpperCase()+": "+M);var w;ML(i.hovertext)&&ML(i.hovertext[u])?w=i.hovertext[u][l]:ML(i.text)&&ML(i.text[u])&&(w=i.text[u][l]);var k=s.c2p(a.y0+(u+.5)*i.dy),y=a.x0+(l+.5)*i.dx,S=a.y0+(u+.5)*i.dy,T="["+c.slice(0,i.colormodel.length).join(", ")+"]";return[yAe.extendFlat(t,{index:[u,l],x0:o.c2p(a.x0+l*i.dx),x1:o.c2p(a.x0+(l+1)*i.dx),y0:k,y1:k,color:g,xVal:y,xLabelVal:y,yVal:S,yLabelVal:S,zLabelVal:T,text:w,hovertemplateLabels:{zLabel:T,colorLabel:M,"color[0]Label":g[0]+E[0],"color[1]Label":g[1]+E[1],"color[2]Label":g[2]+E[2],"color[3]Label":g[3]+E[3]}})]}}}});var wAe=ne((kur,_Ae)=>{"use strict";_Ae.exports=function(t,r){return"xVal"in r&&(t.x=r.xVal),"yVal"in r&&(t.y=r.yVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t.color=r.color,t.colormodel=r.trace.colormodel,t.z||(t.z=r.color),t}});var AAe=ne((Cur,TAe)=>{"use strict";TAe.exports={attributes:(hN(),vl(fN)).default,supplyDefaults:bbe(),calc:fAe(),plot:vAe(),style:gAe(),hoverPoints:bAe(),eventData:wAe(),moduleType:"trace",name:"image",basePlotModule:Ku(),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}});var SAe=ne((Lur,MAe)=>{"use strict";MAe.exports=AAe()});var r2=ne((Fur,kAe)=>{"use strict";var SL=os(),H6t=zl().attributes,j6t=pl(),W6t=Ic(),{hovertemplateAttrs:Y6t,texttemplateAttrs:X6t,templatefallbackAttrs:EAe}=rs(),Im=ci().extendFlat,Z6t=xf().pattern,EL=j6t({editType:"plot",arrayOk:!0,colorEditType:"plot"});kAe.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:W6t.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},pattern:Z6t,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:Im({},SL.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:Y6t({},{keys:["label","color","value","percent","text"]}),hovertemplatefallback:EAe(),texttemplate:X6t({editType:"plot"},{keys:["label","color","value","percent","text"]}),texttemplatefallback:EAe({editType:"plot"}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:Im({},EL,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:Im({},EL,{}),outsidetextfont:Im({},EL,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},showlegend:Im({},SL.showlegend,{arrayOk:!0}),legend:Im({},SL.legend,{arrayOk:!0}),legendrank:Im({},SL.legendrank,{arrayOk:!0}),title:{text:{valType:"string",dflt:"",editType:"plot"},font:Im({},EL,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:H6t({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"}}});var n2=ne((Pur,FAe)=>{"use strict";var $6t=mi(),gA=Zt(),K6t=r2(),J6t=zl().defaults,Q6t=wv().handleText,eMt=Zt().coercePattern;function CAe(e,t){var r=gA.isArrayOrTypedArray(e),n=gA.isArrayOrTypedArray(t),a=Math.min(r?e.length:1/0,n?t.length:1/0);if(isFinite(a)||(a=0),a&&n){for(var i,o=0;o0){i=!0;break}}i||(a=0)}return{hasLabels:r,hasValues:n,len:a}}function LAe(e,t,r,n,a){var i=n("marker.line.width");i&&n("marker.line.color",a?void 0:r.paper_bgcolor);var o=n("marker.colors");eMt(n,"marker.pattern",o),e.marker&&!t.marker.pattern.fgcolor&&(t.marker.pattern.fgcolor=e.marker.colors),t.marker.pattern.bgcolor||(t.marker.pattern.bgcolor=r.paper_bgcolor)}function tMt(e,t,r,n){function a(E,M){return gA.coerce(e,t,K6t,E,M)}var i=a("labels"),o=a("values"),s=CAe(i,o),l=s.len;if(t._hasLabels=s.hasLabels,t._hasValues=s.hasValues,!t._hasLabels&&t._hasValues&&(a("label0"),a("dlabel")),!l){t.visible=!1;return}t._length=l,LAe(e,t,n,a,!0),a("scalegroup");var u=a("text"),c=a("texttemplate");a("texttemplatefallback");var f;if(c||(f=a("textinfo",gA.isArrayOrTypedArray(u)?"text+percent":"percent")),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback"),c||f&&f!=="none"){var h=a("textposition");Q6t(e,t,n,a,h,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1});var v=Array.isArray(h)||h==="auto",d=v||h==="outside";d&&a("automargin"),(h==="inside"||h==="auto"||Array.isArray(h))&&a("insidetextorientation")}else f==="none"&&a("textposition","none");J6t(t,n,a);var m=a("hole"),x=a("title.text");if(x){var g=a("title.position",m?"middle center":"top center");!m&&g==="middle center"&&(t.title.position="top center"),gA.coerceFont(a,"title.font",n.font)}a("sort"),a("direction"),a("rotation"),a("pull")}FAe.exports={handleLabelsAndValues:CAe,handleMarkerDefaults:LAe,supplyDefaults:tMt}});var kL=ne((Dur,PAe)=>{"use strict";PAe.exports={hiddenlabels:{valType:"data_array",editType:"calc"},piecolorway:{valType:"colorlist",editType:"calc"},extendpiecolors:{valType:"boolean",dflt:!0,editType:"calc"}}});var RAe=ne((Rur,DAe)=>{"use strict";var rMt=Zt(),nMt=kL();DAe.exports=function(t,r){function n(a,i){return rMt.coerce(t,r,nMt,a,i)}n("hiddenlabels"),n("piecolorway",r.colorway),n("extendpiecolors")}});var k3=ne((Iur,qAe)=>{"use strict";var aMt=mi(),CL=_a(),iMt={};function oMt(e,t){var r=[],n=e._fullLayout,a=n.hiddenlabels||[],i=t.labels,o=t.marker.colors||[],s=t.values,l=t._length,u=t._hasValues&&l,c,f;if(t.dlabel)for(i=new Array(l),c=0;c=0});var w=t.type==="funnelarea"?m:t.sort;return w&&r.sort(function(k,y){return y.v-k.v}),r[0]&&(r[0].vTotal=d),r}function IAe(e){return function(r,n){if(!r||!CL.isValid(r))return!1;let a=CL.color(r).rgb().string();return e[n]||(e[n]=a),a}}function sMt(e,t){var r=(t||{}).type;r||(r="pie");var n=e._fullLayout,a=e.calcdata,i=n[r+"colorway"],o=n["_"+r+"colormap"];n["extend"+r+"colors"]&&(i=zAe(i,iMt));for(var s=0,l=0;l{"use strict";var lMt=Hd().appendArrayMultiPointValues;BAe.exports=function(t,r){var n={curveNumber:r.index,pointNumbers:t.pts,data:r._input,fullData:r,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return t.pts.length===1&&(n.pointNumber=n.i=t.pts[0]),lMt(n,r,t.pts),r.type==="funnelarea"&&(delete n.v,delete n.i),n}});var DL=ne((qur,o6e)=>{"use strict";var Qd=Ea(),uMt=Sl(),LL=cu(),jAe=_a(),J1=li(),Ah=Zt(),cMt=Ah.strScale,NAe=Ah.strTranslate,mV=Ms(),WAe=Uh(),fMt=WAe.recordMinTextSize,hMt=WAe.clearMinTextSize,YAe=um().TEXTPAD,Bi=em(),FL=OAe(),UAe=Zt().isValidTextValue;function dMt(e,t){var r=e._context.staticPlot,n=e._fullLayout,a=n._size;hMt("pie",n),$Ae(t,e),n6e(t,a);var i=Ah.makeTraceGroups(n._pielayer,t,"trace").each(function(o){var s=Qd.select(this),l=o[0],u=l.trace;wMt(o),s.attr("stroke-linejoin","round"),s.each(function(){var c=Qd.select(this).selectAll("g.slice").data(o);c.enter().append("g").classed("slice",!0),c.exit().remove();var f=[[[],[]],[[],[]]],h=!1;c.each(function(w,k){if(w.hidden){Qd.select(this).selectAll("path,g").remove();return}w.pointNumber=w.i,w.curveNumber=u.index,f[w.pxmid[1]<0?0:1][w.pxmid[0]<0?0:1].push(w);var y=l.cx,S=l.cy,T=Qd.select(this),p=T.selectAll("path.surface").data([w]);if(p.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),T.call(XAe,e,o),u.pull){var C=+Bi.castOption(u.pull,w.pts)||0;C>0&&(y+=C*w.pxmid[0],S+=C*w.pxmid[1])}w.cxFinal=y,w.cyFinal=S;function A(R,B,Y,X){var te=X*(B[0]-R[0]),se=X*(B[1]-R[1]);return"a"+X*l.r+","+X*l.r+" 0 "+w.largeArc+(Y?" 1 ":" 0 ")+te+","+se}var P=u.hole;if(w.v===l.vTotal){var D="M"+(y+w.px0[0])+","+(S+w.px0[1])+A(w.px0,w.pxmid,!0,1)+A(w.pxmid,w.px0,!0,1)+"Z";P?p.attr("d","M"+(y+P*w.px0[0])+","+(S+P*w.px0[1])+A(w.px0,w.pxmid,!1,P)+A(w.pxmid,w.px0,!1,P)+"Z"+D):p.attr("d",D)}else{var z=A(w.px0,w.px1,!0,1);if(P){var q=1-P;p.attr("d","M"+(y+P*w.px1[0])+","+(S+P*w.px1[1])+A(w.px1,w.px0,!1,P)+"l"+q*w.px0[0]+","+q*w.px0[1]+z+"Z")}else p.attr("d","M"+y+","+S+"l"+w.px0[0]+","+w.px0[1]+z+"Z")}a6e(e,w,l);var U=Bi.castOption(u.textposition,w.pts),O=T.selectAll("g.slicetext").data(w.text&&U!=="none"?[0]:[]);O.enter().append("g").classed("slicetext",!0),O.exit().remove(),O.each(function(){var R=Ah.ensureSingle(Qd.select(this),"text","",function(j){j.attr("data-notex",1)}),B=Ah.ensureUniformFontSize(e,U==="outside"?pMt(u,w,n.font):ZAe(u,w,n.font));R.text(w.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(J1.font,B).call(mV.convertToTspans,e);var Y=J1.bBox(R.node()),X;if(U==="outside")X=HAe(Y,w);else if(X=KAe(Y,w,l),U==="auto"&&X.scale<1){var te=Ah.ensureUniformFontSize(e,u.outsidetextfont);R.call(J1.font,te),Y=J1.bBox(R.node()),X=HAe(Y,w)}var se=X.textPosAngle,ue=se===void 0?w.pxmid:PL(l.r,se);if(X.targetX=y+ue[0]*X.rCenter+(X.x||0),X.targetY=S+ue[1]*X.rCenter+(X.y||0),i6e(X,Y),X.outside){var re=X.targetY;w.yLabelMin=re-Y.height/2,w.yLabelMid=re,w.yLabelMax=re+Y.height/2,w.labelExtraX=0,w.labelExtraY=0,h=!0}X.fontSize=B.size,fMt(u.type,X,n),o[k].transform=X,Ah.setTransormAndDisplay(R,X)})});var v=Qd.select(this).selectAll("g.titletext").data(u.title.text?[0]:[]);if(v.enter().append("g").classed("titletext",!0),v.exit().remove(),v.each(function(){var w=Ah.ensureSingle(Qd.select(this),"text","",function(S){S.attr("data-notex",1)}),k=u.title.text;u._meta&&(k=Ah.templateString(k,u._meta)),w.text(k).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(J1.font,u.title.font).call(mV.convertToTspans,e);var y;u.title.position==="middle center"?y=yMt(l):y=t6e(l,a),w.attr("transform",NAe(y.x,y.y)+cMt(Math.min(1,y.scale))+NAe(y.tx,y.ty))}),h&&bMt(f,u),vMt(c,u),h&&u.automargin){var d=J1.bBox(s.node()),m=u.domain,x=a.w*(m.x[1]-m.x[0]),g=a.h*(m.y[1]-m.y[0]),E=(.5*x-l.r)/a.w,M=(.5*g-l.r)/a.h;uMt.autoMargin(e,"pie."+u.uid+".automargin",{xl:m.x[0]-E,xr:m.x[1]+E,yb:m.y[0]-M,yt:m.y[1]+M,l:Math.max(l.cx-l.r-d.left,0),r:Math.max(d.right-(l.cx+l.r),0),b:Math.max(d.bottom-(l.cy+l.r),0),t:Math.max(l.cy-l.r-d.top,0),pad:5})}})});setTimeout(function(){i.selectAll("tspan").each(function(){var o=Qd.select(this);o.attr("dy")&&o.attr("dy",o.attr("dy"))})},0)}function vMt(e,t){e.each(function(r){var n=Qd.select(this);if(!r.labelExtraX&&!r.labelExtraY){n.select("path.textline").remove();return}var a=n.select("g.slicetext text");r.transform.targetX+=r.labelExtraX,r.transform.targetY+=r.labelExtraY,Ah.setTransormAndDisplay(a,r.transform);var i=r.cxFinal+r.pxmid[0],o=r.cyFinal+r.pxmid[1],s="M"+i+","+o,l=(r.yLabelMax-r.yLabelMin)*(r.pxmid[0]<0?-1:1)/4;if(r.labelExtraX){var u=r.labelExtraX*r.pxmid[1]/r.pxmid[0],c=r.yLabelMid+r.labelExtraY-(r.cyFinal+r.pxmid[1]);Math.abs(u)>Math.abs(c)?s+="l"+c*r.pxmid[0]/r.pxmid[1]+","+c+"H"+(i+r.labelExtraX+l):s+="l"+r.labelExtraX+","+u+"v"+(c-u)+"h"+l}else s+="V"+(r.yLabelMid+r.labelExtraY)+"h"+l;Ah.ensureSingle(n,"path","textline").call(jAe.stroke,t.outsidetextfont.color).attr({"stroke-width":Math.min(2,t.outsidetextfont.size/8),d:s,fill:"none"})})}function XAe(e,t,r){var n=r[0],a=n.cx,i=n.cy,o=n.trace,s=o.type==="funnelarea";"_hasHoverLabel"in o||(o._hasHoverLabel=!1),"_hasHoverEvent"in o||(o._hasHoverEvent=!1),e.on("mouseover",function(l){var u=t._fullLayout,c=t._fullData[o.index];if(!(t._dragging||u.hovermode===!1)){var f=c.hoverinfo;if(Array.isArray(f)&&(f=LL.castHoverinfo({hoverinfo:[Bi.castOption(f,l.pts)],_module:o._module},u,0)),f==="all"&&(f="label+text+value+percent+name"),c.hovertemplate||f!=="none"&&f!=="skip"&&f){var h=l.rInscribed||0,v=a+l.pxmid[0]*(1-h),d=i+l.pxmid[1]*(1-h),m=u.separators,x=[];if(f&&f.indexOf("label")!==-1&&x.push(l.label),l.text=Bi.castOption(c.hovertext||c.text,l.pts),f&&f.indexOf("text")!==-1){var g=l.text;Ah.isValidTextValue(g)&&x.push(g)}l.value=l.v,l.valueLabel=Bi.formatPieValue(l.v,m),f&&f.indexOf("value")!==-1&&x.push(l.valueLabel),l.percent=l.v/n.vTotal,l.percentLabel=Bi.formatPiePercent(l.percent,m),f&&f.indexOf("percent")!==-1&&x.push(l.percentLabel);var E=c.hoverlabel,M=E.font,w=[];LL.loneHover({trace:o,x0:v-h*n.r,x1:v+h*n.r,y:d,_x0:s?a+l.TL[0]:v-h*n.r,_x1:s?a+l.TR[0]:v+h*n.r,_y0:s?i+l.TL[1]:d-h*n.r,_y1:s?i+l.BL[1]:d+h*n.r,text:x.join("
"),name:c.hovertemplate||f.indexOf("name")!==-1?c.name:void 0,idealAlign:l.pxmid[0]<0?"left":"right",color:Bi.castOption(E.bgcolor,l.pts)||l.color,borderColor:Bi.castOption(E.bordercolor,l.pts),fontFamily:Bi.castOption(M.family,l.pts),fontSize:Bi.castOption(M.size,l.pts),fontColor:Bi.castOption(M.color,l.pts),nameLength:Bi.castOption(E.namelength,l.pts),textAlign:Bi.castOption(E.align,l.pts),hovertemplate:Bi.castOption(c.hovertemplate,l.pts),hovertemplateLabels:l,eventData:[FL(l,c)]},{container:u._hoverlayer.node(),outerContainer:u._paper.node(),gd:t,inOut_bbox:w}),l.bbox=w[0],o._hasHoverLabel=!0}o._hasHoverEvent=!0,t.emit("plotly_hover",{points:[FL(l,c)],event:Qd.event})}}),e.on("mouseout",function(l){var u=t._fullLayout,c=t._fullData[o.index],f=Qd.select(this).datum();o._hasHoverEvent&&(l.originalEvent=Qd.event,t.emit("plotly_unhover",{points:[FL(f,c)],event:Qd.event}),o._hasHoverEvent=!1),o._hasHoverLabel&&(LL.loneUnhover(u._hoverlayer.node()),o._hasHoverLabel=!1)}),e.on("click",function(l){var u=t._fullLayout,c=t._fullData[o.index];t._dragging||u.hovermode===!1||(t._hoverdata=[FL(l,c)],LL.click(t,Qd.event))})}function pMt(e,t,r){var n=Bi.castOption(e.outsidetextfont.color,t.pts)||Bi.castOption(e.textfont.color,t.pts)||r.color,a=Bi.castOption(e.outsidetextfont.family,t.pts)||Bi.castOption(e.textfont.family,t.pts)||r.family,i=Bi.castOption(e.outsidetextfont.size,t.pts)||Bi.castOption(e.textfont.size,t.pts)||r.size,o=Bi.castOption(e.outsidetextfont.weight,t.pts)||Bi.castOption(e.textfont.weight,t.pts)||r.weight,s=Bi.castOption(e.outsidetextfont.style,t.pts)||Bi.castOption(e.textfont.style,t.pts)||r.style,l=Bi.castOption(e.outsidetextfont.variant,t.pts)||Bi.castOption(e.textfont.variant,t.pts)||r.variant,u=Bi.castOption(e.outsidetextfont.textcase,t.pts)||Bi.castOption(e.textfont.textcase,t.pts)||r.textcase,c=Bi.castOption(e.outsidetextfont.lineposition,t.pts)||Bi.castOption(e.textfont.lineposition,t.pts)||r.lineposition,f=Bi.castOption(e.outsidetextfont.shadow,t.pts)||Bi.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n,family:a,size:i,weight:o,style:s,variant:l,textcase:u,lineposition:c,shadow:f}}function ZAe(e,t,r){var n=Bi.castOption(e.insidetextfont.color,t.pts);!n&&e._input.textfont&&(n=Bi.castOption(e._input.textfont.color,t.pts));var a=Bi.castOption(e.insidetextfont.family,t.pts)||Bi.castOption(e.textfont.family,t.pts)||r.family,i=Bi.castOption(e.insidetextfont.size,t.pts)||Bi.castOption(e.textfont.size,t.pts)||r.size,o=Bi.castOption(e.insidetextfont.weight,t.pts)||Bi.castOption(e.textfont.weight,t.pts)||r.weight,s=Bi.castOption(e.insidetextfont.style,t.pts)||Bi.castOption(e.textfont.style,t.pts)||r.style,l=Bi.castOption(e.insidetextfont.variant,t.pts)||Bi.castOption(e.textfont.variant,t.pts)||r.variant,u=Bi.castOption(e.insidetextfont.textcase,t.pts)||Bi.castOption(e.textfont.textcase,t.pts)||r.textcase,c=Bi.castOption(e.insidetextfont.lineposition,t.pts)||Bi.castOption(e.textfont.lineposition,t.pts)||r.lineposition,f=Bi.castOption(e.insidetextfont.shadow,t.pts)||Bi.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n||jAe.contrast(t.color),family:a,size:i,weight:o,style:s,variant:l,textcase:u,lineposition:c,shadow:f}}function $Ae(e,t){for(var r,n,a=0;a=-4;E-=2)g(Math.PI*E,"tan");for(E=4;E>=-4;E-=2)g(Math.PI*(E+1),"tan")}if(f||v){for(E=4;E>=-4;E-=2)g(Math.PI*(E+1.5),"rad");for(E=4;E>=-4;E-=2)g(Math.PI*(E+.5),"rad")}}if(s||d||f){var M=Math.sqrt(e.width*e.width+e.height*e.height);if(x={scale:a*n*2/M,rCenter:1-a,rotate:0},x.textPosAngle=(t.startangle+t.stopangle)/2,x.scale>=1)return x;m.push(x)}(d||v)&&(x=VAe(e,n,o,l,u),x.textPosAngle=(t.startangle+t.stopangle)/2,m.push(x)),(d||h)&&(x=GAe(e,n,o,l,u),x.textPosAngle=(t.startangle+t.stopangle)/2,m.push(x));for(var w=0,k=0,y=0;y=1)break}return m[w]}function gMt(e,t){var r=e.startangle,n=e.stopangle;return r>t&&t>n||r0?1:-1)/2,y:i/(1+r*r/(n*n)),outside:!0}}function yMt(e){var t=Math.sqrt(e.titleBox.width*e.titleBox.width+e.titleBox.height*e.titleBox.height);return{x:e.cx,y:e.cy,scale:e.trace.hole*e.r*2/t,tx:0,ty:-e.titleBox.height/2+e.trace.title.font.size}}function t6e(e,t){var r=1,n=1,a,i=e.trace,o={x:e.cx,y:e.cy},s={tx:0,ty:0};s.ty+=i.title.font.size,a=r6e(i),i.title.position.indexOf("top")!==-1?(o.y-=(1+a)*e.r,s.ty-=e.titleBox.height):i.title.position.indexOf("bottom")!==-1&&(o.y+=(1+a)*e.r);var l=xMt(e.r,e.trace.aspectratio),u=t.w*(i.domain.x[1]-i.domain.x[0])/2;return i.title.position.indexOf("left")!==-1?(u=u+l,o.x-=(1+a)*l,s.tx+=e.titleBox.width/2):i.title.position.indexOf("center")!==-1?u*=2:i.title.position.indexOf("right")!==-1&&(u=u+l,o.x+=(1+a)*l,s.tx-=e.titleBox.width/2),r=u/e.titleBox.width,n=yV(e,t)/e.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function xMt(e,t){return e/(t===void 0?1:t)}function yV(e,t){var r=e.trace,n=t.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(e.titleBox.height,n/2)}function r6e(e){var t=e.pull;if(!t)return 0;var r;if(Ah.isArrayOrTypedArray(t))for(t=0,r=0;rt&&(t=e.pull[r]);return t}function bMt(e,t){var r,n,a,i,o,s,l,u,c,f,h,v,d;function m(M,w){return M.pxmid[1]-w.pxmid[1]}function x(M,w){return w.pxmid[1]-M.pxmid[1]}function g(M,w){w||(w={});var k=w.labelExtraY+(n?w.yLabelMax:w.yLabelMin),y=n?M.yLabelMin:M.yLabelMax,S=n?M.yLabelMax:M.yLabelMin,T=M.cyFinal+o(M.px0[1],M.px1[1]),p=k-y,C,A,P,D,z,q;if(p*l>0&&(M.labelExtraY=p),!!Ah.isArrayOrTypedArray(t.pull))for(A=0;A=(Bi.castOption(t.pull,P.pts)||0))&&((M.pxmid[1]-P.pxmid[1])*l>0?(D=P.cyFinal+o(P.px0[1],P.px1[1]),p=D-y-M.labelExtraY,p*l>0&&(M.labelExtraY+=p)):(S+M.labelExtraY-T)*l>0&&(C=3*s*Math.abs(A-f.indexOf(M)),z=P.cxFinal+i(P.px0[0],P.px1[0]),q=z+C-(M.cxFinal+M.pxmid[0])-M.labelExtraX,q*s>0&&(M.labelExtraX+=q)))}for(n=0;n<2;n++)for(a=n?m:x,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(i=r?Math.max:Math.min,s=r?1:-1,u=e[n][r],u.sort(a),c=e[1-n][r],f=c.concat(u),v=[],h=0;h1?(u=r.r,c=u/a.aspectratio):(c=r.r,u=c*a.aspectratio),u*=(1+a.baseratio)/2,l=u*c}o=Math.min(o,l/r.vTotal)}for(n=0;nt.vTotal/2?1:0,u.halfangle=Math.PI*Math.min(u.v/t.vTotal,.5),u.ring=1-n.hole,u.rInscribed=mMt(u,t))}function PL(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}function a6e(e,t,r){var n=e._fullLayout,a=r.trace,i=a.texttemplate,o=a.textinfo;if(!i&&o&&o!=="none"){var s=o.split("+"),l=function(w){return s.indexOf(w)!==-1},u=l("label"),c=l("text"),f=l("value"),h=l("percent"),v=n.separators,d;if(d=u?[t.label]:[],c){var m=Bi.getFirstFilled(a.text,t.pts);UAe(m)&&d.push(m)}f&&d.push(Bi.formatPieValue(t.v,v)),h&&d.push(Bi.formatPiePercent(t.v/r.vTotal,v)),t.text=d.join("
")}function x(w){return{label:w.label,value:w.v,valueLabel:Bi.formatPieValue(w.v,n.separators),percent:w.v/r.vTotal,percentLabel:Bi.formatPiePercent(w.v/r.vTotal,n.separators),color:w.color,text:w.text,customdata:Ah.castOption(a,w.i,"customdata")}}if(i){var g=Ah.castOption(a,t.i,"texttemplate");if(!g)t.text="";else{var E=x(t),M=Bi.getFirstFilled(a.text,t.pts);(UAe(M)||M==="")&&(E.text=M),t.text=Ah.texttemplateString({data:[E,a._meta],fallback:a.texttemplatefallback,labels:E,locale:e._fullLayout._d3locale,template:g})}}}function i6e(e,t){var r=e.rotate*Math.PI/180,n=Math.cos(r),a=Math.sin(r),i=(t.left+t.right)/2,o=(t.top+t.bottom)/2;e.textX=i*n-o*a,e.textY=i*a+o*n,e.noCenter=!0}o6e.exports={plot:dMt,formatSliceLabel:a6e,transformInsideText:KAe,determineInsideTextFont:ZAe,positionTitleOutside:t6e,prerenderTitles:$Ae,layoutAreas:n6e,attachFxHandlers:XAe,computeTransform:i6e}});var u6e=ne((Bur,l6e)=>{"use strict";var s6e=Ea(),TMt=Kb(),AMt=Uh().resizeText;l6e.exports=function(t){var r=t._fullLayout._pielayer.selectAll(".trace");AMt(t,r,"pie"),r.each(function(n){var a=n[0],i=a.trace,o=s6e.select(this);o.style({opacity:i.opacity}),o.selectAll("path.surface").each(function(s){s6e.select(this).call(TMt,s,i,t)})})}});var f6e=ne(C3=>{"use strict";var c6e=Sl();C3.name="pie";C3.plot=function(e,t,r,n){c6e.plotBasePlot(C3.name,e,t,r,n)};C3.clean=function(e,t,r,n){c6e.cleanBasePlot(C3.name,e,t,r,n)}});var d6e=ne((Nur,h6e)=>{"use strict";h6e.exports={attributes:r2(),supplyDefaults:n2().supplyDefaults,supplyLayoutDefaults:RAe(),layoutAttributes:kL(),calc:k3().calc,crossTraceCalc:k3().crossTraceCalc,plot:DL().plot,style:u6e(),styleOne:Kb(),moduleType:"trace",name:"pie",basePlotModule:f6e(),categories:["pie-like","pie","showLegend"],meta:{}}});var p6e=ne((Uur,v6e)=>{"use strict";v6e.exports=d6e()});var m6e=ne(L3=>{"use strict";var g6e=Sl();L3.name="sunburst";L3.plot=function(e,t,r,n){g6e.plotBasePlot(L3.name,e,t,r,n)};L3.clean=function(e,t,r,n){g6e.cleanBasePlot(L3.name,e,t,r,n)}});var xV=ne((Gur,y6e)=>{"use strict";y6e.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"linear",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"]}});var yA=ne((Hur,_6e)=>{"use strict";var MMt=os(),{hovertemplateAttrs:SMt,texttemplateAttrs:EMt,templatefallbackAttrs:x6e}=rs(),kMt=Ys(),CMt=zl().attributes,Q1=r2(),b6e=xV(),mA=ci().extendFlat,LMt=xf().pattern;_6e.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:mA({colors:{valType:"data_array",editType:"calc"},line:{color:mA({},Q1.marker.line.color,{dflt:null}),width:mA({},Q1.marker.line.width,{dflt:1}),editType:"calc"},pattern:LMt,editType:"calc"},kMt("marker",{colorAttr:"colors",anim:!1})),leaf:{opacity:{valType:"number",editType:"style",min:0,max:1},editType:"plot"},text:Q1.text,textinfo:{valType:"flaglist",flags:["label","text","value","current path","percent root","percent entry","percent parent"],extras:["none"],editType:"plot"},texttemplate:EMt({editType:"plot"},{keys:b6e.eventDataKeys.concat(["label","value"])}),texttemplatefallback:x6e({editType:"plot"}),hovertext:Q1.hovertext,hoverinfo:mA({},MMt.hoverinfo,{flags:["label","text","value","name","current path","percent root","percent entry","percent parent"],dflt:"label+text+value+name"}),hovertemplate:SMt({},{keys:b6e.eventDataKeys}),hovertemplatefallback:x6e(),textfont:Q1.textfont,insidetextorientation:Q1.insidetextorientation,insidetextfont:Q1.insidetextfont,outsidetextfont:mA({},Q1.outsidetextfont,{}),rotation:{valType:"angle",dflt:0,editType:"plot"},sort:Q1.sort,root:{color:{valType:"color",editType:"calc",dflt:"rgba(0,0,0,0)"},editType:"calc"},domain:CMt({name:"sunburst",trace:!0,editType:"calc"})}});var bV=ne((jur,w6e)=>{"use strict";w6e.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}});var S6e=ne((Wur,M6e)=>{"use strict";var T6e=Zt(),FMt=yA(),PMt=zl().defaults,DMt=wv().handleText,RMt=n2().handleMarkerDefaults,A6e=El(),IMt=A6e.hasColorscale,zMt=A6e.handleDefaults;M6e.exports=function(t,r,n,a){function i(h,v){return T6e.coerce(t,r,FMt,h,v)}var o=i("labels"),s=i("parents");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=i("values");l&&l.length?i("branchvalues"):i("count"),i("level"),i("maxdepth"),RMt(t,r,a,i);var u=r._hasColorscale=IMt(t,"marker","colors")||(t.marker||{}).coloraxis;u&&zMt(t,r,a,i,{prefix:"marker.",cLetter:"c"}),i("leaf.opacity",u?1:.7);var c=i("text");i("texttemplate"),i("texttemplatefallback"),r.texttemplate||i("textinfo",T6e.isArrayOrTypedArray(c)?"text+label":"label"),i("hovertext"),i("hovertemplate"),i("hovertemplatefallback");var f="auto";DMt(t,r,a,i,f,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),i("insidetextorientation"),i("sort"),i("rotation"),i("root.color"),PMt(r,a,i),r._length=null}});var k6e=ne((Yur,E6e)=>{"use strict";var qMt=Zt(),BMt=bV();E6e.exports=function(t,r){function n(a,i){return qMt.coerce(t,r,BMt,a,i)}n("sunburstcolorway",r.colorway),n("extendsunburstcolors")}});var xA=ne((RL,C6e)=>{(function(e,t){typeof RL=="object"&&typeof C6e!="undefined"?t(RL):(e=e||self,t(e.d3=e.d3||{}))})(RL,function(e){"use strict";function t(Ae,Re){return Ae.parent===Re.parent?1:2}function r(Ae){return Ae.reduce(n,0)/Ae.length}function n(Ae,Re){return Ae+Re.x}function a(Ae){return 1+Ae.reduce(i,0)}function i(Ae,Re){return Math.max(Ae,Re.y)}function o(Ae){for(var Re;Re=Ae.children;)Ae=Re[0];return Ae}function s(Ae){for(var Re;Re=Ae.children;)Ae=Re[Re.length-1];return Ae}function l(){var Ae=t,Re=1,Ze=1,Ke=!1;function _t(St){var Vt,fr=0;St.eachAfter(function(Er){var zr=Er.children;zr?(Er.x=r(zr),Er.y=a(zr)):(Er.x=Vt?fr+=Ae(Er,Vt):0,Er.y=0,Vt=Er)});var $t=o(St),gr=s(St),Br=$t.x-Ae($t,gr)/2,Nr=gr.x+Ae(gr,$t)/2;return St.eachAfter(Ke?function(Er){Er.x=(Er.x-St.x)*Re,Er.y=(St.y-Er.y)*Ze}:function(Er){Er.x=(Er.x-Br)/(Nr-Br)*Re,Er.y=(1-(St.y?Er.y/St.y:1))*Ze})}return _t.separation=function(St){return arguments.length?(Ae=St,_t):Ae},_t.size=function(St){return arguments.length?(Ke=!1,Re=+St[0],Ze=+St[1],_t):Ke?null:[Re,Ze]},_t.nodeSize=function(St){return arguments.length?(Ke=!0,Re=+St[0],Ze=+St[1],_t):Ke?[Re,Ze]:null},_t}function u(Ae){var Re=0,Ze=Ae.children,Ke=Ze&&Ze.length;if(!Ke)Re=1;else for(;--Ke>=0;)Re+=Ze[Ke].value;Ae.value=Re}function c(){return this.eachAfter(u)}function f(Ae){var Re=this,Ze,Ke=[Re],_t,St,Vt;do for(Ze=Ke.reverse(),Ke=[];Re=Ze.pop();)if(Ae(Re),_t=Re.children,_t)for(St=0,Vt=_t.length;St=0;--_t)Ze.push(Ke[_t]);return this}function v(Ae){for(var Re=this,Ze=[Re],Ke=[],_t,St,Vt;Re=Ze.pop();)if(Ke.push(Re),_t=Re.children,_t)for(St=0,Vt=_t.length;St=0;)Ze+=Ke[_t].value;Re.value=Ze})}function m(Ae){return this.eachBefore(function(Re){Re.children&&Re.children.sort(Ae)})}function x(Ae){for(var Re=this,Ze=g(Re,Ae),Ke=[Re];Re!==Ze;)Re=Re.parent,Ke.push(Re);for(var _t=Ke.length;Ae!==Ze;)Ke.splice(_t,0,Ae),Ae=Ae.parent;return Ke}function g(Ae,Re){if(Ae===Re)return Ae;var Ze=Ae.ancestors(),Ke=Re.ancestors(),_t=null;for(Ae=Ze.pop(),Re=Ke.pop();Ae===Re;)_t=Ae,Ae=Ze.pop(),Re=Ke.pop();return _t}function E(){for(var Ae=this,Re=[Ae];Ae=Ae.parent;)Re.push(Ae);return Re}function M(){var Ae=[];return this.each(function(Re){Ae.push(Re)}),Ae}function w(){var Ae=[];return this.eachBefore(function(Re){Re.children||Ae.push(Re)}),Ae}function k(){var Ae=this,Re=[];return Ae.each(function(Ze){Ze!==Ae&&Re.push({source:Ze.parent,target:Ze})}),Re}function y(Ae,Re){var Ze=new A(Ae),Ke=+Ae.value&&(Ze.value=Ae.value),_t,St=[Ze],Vt,fr,$t,gr;for(Re==null&&(Re=T);_t=St.pop();)if(Ke&&(_t.value=+_t.data.value),(fr=Re(_t.data))&&(gr=fr.length))for(_t.children=new Array(gr),$t=gr-1;$t>=0;--$t)St.push(Vt=_t.children[$t]=new A(fr[$t])),Vt.parent=_t,Vt.depth=_t.depth+1;return Ze.eachBefore(C)}function S(){return y(this).eachBefore(p)}function T(Ae){return Ae.children}function p(Ae){Ae.data=Ae.data.data}function C(Ae){var Re=0;do Ae.height=Re;while((Ae=Ae.parent)&&Ae.height<++Re)}function A(Ae){this.data=Ae,this.depth=this.height=0,this.parent=null}A.prototype=y.prototype={constructor:A,count:c,each:f,eachAfter:v,eachBefore:h,sum:d,sort:m,path:x,ancestors:E,descendants:M,leaves:w,links:k,copy:S};var P=Array.prototype.slice;function D(Ae){for(var Re=Ae.length,Ze,Ke;Re;)Ke=Math.random()*Re--|0,Ze=Ae[Re],Ae[Re]=Ae[Ke],Ae[Ke]=Ze;return Ae}function z(Ae){for(var Re=0,Ze=(Ae=D(P.call(Ae))).length,Ke=[],_t,St;Re0&&Ze*Ze>Ke*Ke+_t*_t}function R(Ae,Re){for(var Ze=0;Ze$t?(_t=(gr+$t-St)/(2*gr),fr=Math.sqrt(Math.max(0,$t/gr-_t*_t)),Ze.x=Ae.x-_t*Ke-fr*Vt,Ze.y=Ae.y-_t*Vt+fr*Ke):(_t=(gr+St-$t)/(2*gr),fr=Math.sqrt(Math.max(0,St/gr-_t*_t)),Ze.x=Re.x+_t*Ke-fr*Vt,Ze.y=Re.y+_t*Vt+fr*Ke)):(Ze.x=Re.x+Ze.r,Ze.y=Re.y)}function ue(Ae,Re){var Ze=Ae.r+Re.r-1e-6,Ke=Re.x-Ae.x,_t=Re.y-Ae.y;return Ze>0&&Ze*Ze>Ke*Ke+_t*_t}function re(Ae){var Re=Ae._,Ze=Ae.next._,Ke=Re.r+Ze.r,_t=(Re.x*Ze.r+Ze.x*Re.r)/Ke,St=(Re.y*Ze.r+Ze.y*Re.r)/Ke;return _t*_t+St*St}function j(Ae){this._=Ae,this.next=null,this.previous=null}function fe(Ae){if(!(_t=Ae.length))return 0;var Re,Ze,Ke,_t,St,Vt,fr,$t,gr,Br,Nr;if(Re=Ae[0],Re.x=0,Re.y=0,!(_t>1))return Re.r;if(Ze=Ae[1],Re.x=-Ze.r,Ze.x=Re.r,Ze.y=0,!(_t>2))return Re.r+Ze.r;se(Ze,Re,Ke=Ae[2]),Re=new j(Re),Ze=new j(Ze),Ke=new j(Ke),Re.next=Ke.previous=Ze,Ze.next=Re.previous=Ke,Ke.next=Ze.previous=Re;e:for(fr=3;fr<_t;++fr){se(Re._,Ze._,Ke=Ae[fr]),Ke=new j(Ke),$t=Ze.next,gr=Re.previous,Br=Ze._.r,Nr=Re._.r;do if(Br<=Nr){if(ue($t._,Ke._)){Ze=$t,Re.next=Ze,Ze.previous=Re,--fr;continue e}Br+=$t._.r,$t=$t.next}else{if(ue(gr._,Ke._)){Re=gr,Re.next=Ze,Ze.previous=Re,--fr;continue e}Nr+=gr._.r,gr=gr.previous}while($t!==gr.next);for(Ke.previous=Re,Ke.next=Ze,Re.next=Ze.previous=Ze=Ke,St=re(Re);(Ke=Ke.next)!==Ze;)(Vt=re(Ke))0)throw new Error("cycle");return fr}return Ze.id=function(Ke){return arguments.length?(Ae=we(Ke),Ze):Ae},Ze.parentId=function(Ke){return arguments.length?(Re=we(Ke),Ze):Re},Ze}function ge(Ae,Re){return Ae.parent===Re.parent?1:2}function Ge(Ae){var Re=Ae.children;return Re?Re[0]:Ae.t}function tt(Ae){var Re=Ae.children;return Re?Re[Re.length-1]:Ae.t}function ft(Ae,Re,Ze){var Ke=Ze/(Re.i-Ae.i);Re.c-=Ke,Re.s+=Ze,Ae.c+=Ke,Re.z+=Ze,Re.m+=Ze}function He(Ae){for(var Re=0,Ze=0,Ke=Ae.children,_t=Ke.length,St;--_t>=0;)St=Ke[_t],St.z+=Re,St.m+=Re,Re+=St.s+(Ze+=St.c)}function Qe(Ae,Re,Ze){return Ae.a.parent===Re.parent?Ae.a:Ze}function We(Ae,Re){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=Re}We.prototype=Object.create(A.prototype);function pt(Ae){for(var Re=new We(Ae,0),Ze,Ke=[Re],_t,St,Vt,fr;Ze=Ke.pop();)if(St=Ze._.children)for(Ze.children=new Array(fr=St.length),Vt=fr-1;Vt>=0;--Vt)Ke.push(_t=Ze.children[Vt]=new We(St[Vt],Vt)),_t.parent=Ze;return(Re.parent=new We(null,0)).children=[Re],Re}function kt(){var Ae=ge,Re=1,Ze=1,Ke=null;function _t(gr){var Br=pt(gr);if(Br.eachAfter(St),Br.parent.m=-Br.z,Br.eachBefore(Vt),Ke)gr.eachBefore($t);else{var Nr=gr,Er=gr,zr=gr;gr.eachBefore(function(Qn){Qn.xEr.x&&(Er=Qn),Qn.depth>zr.depth&&(zr=Qn)});var vn=Nr===Er?1:Ae(Nr,Er)/2,Nn=vn-Nr.x,Xn=Re/(Er.x+vn+Nn),Kn=Ze/(zr.depth||1);gr.eachBefore(function(Qn){Qn.x=(Qn.x+Nn)*Xn,Qn.y=Qn.depth*Kn})}return gr}function St(gr){var Br=gr.children,Nr=gr.parent.children,Er=gr.i?Nr[gr.i-1]:null;if(Br){He(gr);var zr=(Br[0].z+Br[Br.length-1].z)/2;Er?(gr.z=Er.z+Ae(gr._,Er._),gr.m=gr.z-zr):gr.z=zr}else Er&&(gr.z=Er.z+Ae(gr._,Er._));gr.parent.A=fr(gr,Er,gr.parent.A||Nr[0])}function Vt(gr){gr._.x=gr.z+gr.parent.m,gr.m+=gr.parent.m}function fr(gr,Br,Nr){if(Br){for(var Er=gr,zr=gr,vn=Br,Nn=Er.parent.children[0],Xn=Er.m,Kn=zr.m,Qn=vn.m,un=Nn.m,aa;vn=tt(vn),Er=Ge(Er),vn&&Er;)Nn=Ge(Nn),zr=tt(zr),zr.a=gr,aa=vn.z+Qn-Er.z-Xn+Ae(vn._,Er._),aa>0&&(ft(Qe(vn,gr,Nr),gr,aa),Xn+=aa,Kn+=aa),Qn+=vn.m,Xn+=Er.m,un+=Nn.m,Kn+=zr.m;vn&&!tt(zr)&&(zr.t=vn,zr.m+=Qn-Kn),Er&&!Ge(Nn)&&(Nn.t=Er,Nn.m+=Xn-un,Nr=gr)}return Nr}function $t(gr){gr.x*=Re,gr.y=gr.depth*Ze}return _t.separation=function(gr){return arguments.length?(Ae=gr,_t):Ae},_t.size=function(gr){return arguments.length?(Ke=!1,Re=+gr[0],Ze=+gr[1],_t):Ke?null:[Re,Ze]},_t.nodeSize=function(gr){return arguments.length?(Ke=!0,Re=+gr[0],Ze=+gr[1],_t):Ke?[Re,Ze]:null},_t}function qt(Ae,Re,Ze,Ke,_t){for(var St=Ae.children,Vt,fr=-1,$t=St.length,gr=Ae.value&&(_t-Ze)/Ae.value;++fr<$t;)Vt=St[fr],Vt.x0=Re,Vt.x1=Ke,Vt.y0=Ze,Vt.y1=Ze+=Vt.value*gr}var Wt=(1+Math.sqrt(5))/2;function _r(Ae,Re,Ze,Ke,_t,St){for(var Vt=[],fr=Re.children,$t,gr,Br=0,Nr=0,Er=fr.length,zr,vn,Nn=Re.value,Xn,Kn,Qn,un,aa,da,ua;BrQn&&(Qn=gr),ua=Xn*Xn*da,un=Math.max(Qn/ua,ua/Kn),un>aa){Xn-=gr;break}aa=un}Vt.push($t={value:Xn,dice:zr1?Ke:1)},Ze})(Wt);function lr(){var Ae=tr,Re=!1,Ze=1,Ke=1,_t=[0],St=he,Vt=he,fr=he,$t=he,gr=he;function Br(Er){return Er.x0=Er.y0=0,Er.x1=Ze,Er.y1=Ke,Er.eachBefore(Nr),_t=[0],Re&&Er.eachBefore(st),Er}function Nr(Er){var zr=_t[Er.depth],vn=Er.x0+zr,Nn=Er.y0+zr,Xn=Er.x1-zr,Kn=Er.y1-zr;Xn=Er-1){var Qn=St[Nr];Qn.x0=vn,Qn.y0=Nn,Qn.x1=Xn,Qn.y1=Kn;return}for(var un=gr[Nr],aa=zr/2+un,da=Nr+1,ua=Er-1;da>>1;gr[qa]Kn-Nn){var no=(vn*pa+Xn*ii)/zr;Br(Nr,da,ii,vn,Nn,no,Kn),Br(da,Er,pa,no,Nn,Xn,Kn)}else{var Gi=(Nn*pa+Kn*ii)/zr;Br(Nr,da,ii,vn,Nn,Xn,Gi),Br(da,Er,pa,vn,Gi,Xn,Kn)}}}function Te(Ae,Re,Ze,Ke,_t){(Ae.depth&1?qt:Oe)(Ae,Re,Ze,Ke,_t)}var Fe=(function Ae(Re){function Ze(Ke,_t,St,Vt,fr){if(($t=Ke._squarify)&&$t.ratio===Re)for(var $t,gr,Br,Nr,Er=-1,zr,vn=$t.length,Nn=Ke.value;++Er1?Ke:1)},Ze})(Wt);e.cluster=l,e.hierarchy=y,e.pack=le,e.packEnclose=z,e.packSiblings=ce,e.partition=qe,e.stratify=Ue,e.tree=kt,e.treemap=lr,e.treemapBinary=Ye,e.treemapDice=Oe,e.treemapResquarify=Fe,e.treemapSlice=qt,e.treemapSliceDice=Te,e.treemapSquarify=tr,Object.defineProperty(e,"__esModule",{value:!0})})});var _A=ne(bA=>{"use strict";var L6e=xA(),OMt=mi(),F3=Zt(),NMt=El().makeColorScaleFuncFromTrace,UMt=k3().makePullColorFn,VMt=k3().generateExtendedColors,GMt=El().calc,HMt=uo().ALMOST_EQUAL,jMt={},WMt={},YMt={};bA.calc=function(e,t){var r=e._fullLayout,n=t.ids,a=F3.isArrayOrTypedArray(n),i=t.labels,o=t.parents,s=t.values,l=F3.isArrayOrTypedArray(s),u=[],c={},f={},h=function(O,R){c[O]?c[O].push(R):c[O]=[R],f[R]=1},v=function(O){return O||typeof O=="number"},d=function(O){return!l||OMt(s[O])&&s[O]>=0},m,x,g;a?(m=Math.min(n.length,o.length),x=function(O){return v(n[O])&&d(O)},g=function(O){return String(n[O])}):(m=Math.min(i.length,o.length),x=function(O){return v(i[O])&&d(O)},g=function(O){return String(i[O])}),l&&(m=Math.min(m,s.length));for(var E=0;E1){for(var T=F3.randstr(),p=0;p{});function t1(){}function D6e(){return this.rgb().formatHex()}function tSt(){return this.rgb().formatHex8()}function rSt(){return N6e(this).formatHsl()}function R6e(){return this.rgb().formatRgb()}function Bm(e){var t,r;return e=(e+"").trim().toLowerCase(),(t=XMt.exec(e))?(r=t[1].length,t=parseInt(t[1],16),r===6?I6e(t):r===3?new Sf(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?zL(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?zL(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=ZMt.exec(e))?new Sf(t[1],t[2],t[3],1):(t=$Mt.exec(e))?new Sf(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=KMt.exec(e))?zL(t[1],t[2],t[3],t[4]):(t=JMt.exec(e))?zL(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=QMt.exec(e))?B6e(t[1],t[2]/100,t[3]/100,1):(t=eSt.exec(e))?B6e(t[1],t[2]/100,t[3]/100,t[4]):P6e.hasOwnProperty(e)?I6e(P6e[e]):e==="transparent"?new Sf(NaN,NaN,NaN,0):null}function I6e(e){return new Sf(e>>16&255,e>>8&255,e&255,1)}function zL(e,t,r,n){return n<=0&&(e=t=r=NaN),new Sf(e,t,r,n)}function TA(e){return e instanceof t1||(e=Bm(e)),e?(e=e.rgb(),new Sf(e.r,e.g,e.b,e.opacity)):new Sf}function D3(e,t,r,n){return arguments.length===1?TA(e):new Sf(e,t,r,n==null?1:n)}function Sf(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}function z6e(){return`#${a2(this.r)}${a2(this.g)}${a2(this.b)}`}function nSt(){return`#${a2(this.r)}${a2(this.g)}${a2(this.b)}${a2((isNaN(this.opacity)?1:this.opacity)*255)}`}function q6e(){let e=BL(this.opacity);return`${e===1?"rgb(":"rgba("}${i2(this.r)}, ${i2(this.g)}, ${i2(this.b)}${e===1?")":`, ${e})`}`}function BL(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function i2(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function a2(e){return e=i2(e),(e<16?"0":"")+e.toString(16)}function B6e(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new ap(e,t,r,n)}function N6e(e){if(e instanceof ap)return new ap(e.h,e.s,e.l,e.opacity);if(e instanceof t1||(e=Bm(e)),!e)return new ap;if(e instanceof ap)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,a=Math.min(t,r,n),i=Math.max(t,r,n),o=NaN,s=i-a,l=(i+a)/2;return s?(t===i?o=(r-n)/s+(r0&&l<1?0:o,new ap(o,s,l,e.opacity)}function AA(e,t,r,n){return arguments.length===1?N6e(e):new ap(e,t,r,n==null?1:n)}function ap(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}function O6e(e){return e=(e||0)%360,e<0?e+360:e}function qL(e){return Math.max(0,Math.min(1,e||0))}function _V(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}var qm,o2,P3,wA,e1,XMt,ZMt,$Mt,KMt,JMt,QMt,eSt,P6e,OL=lo(()=>{IL();qm=.7,o2=1/qm,P3="\\s*([+-]?\\d+)\\s*",wA="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",e1="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",XMt=/^#([0-9a-f]{3,8})$/,ZMt=new RegExp(`^rgb\\(${P3},${P3},${P3}\\)$`),$Mt=new RegExp(`^rgb\\(${e1},${e1},${e1}\\)$`),KMt=new RegExp(`^rgba\\(${P3},${P3},${P3},${wA}\\)$`),JMt=new RegExp(`^rgba\\(${e1},${e1},${e1},${wA}\\)$`),QMt=new RegExp(`^hsl\\(${wA},${e1},${e1}\\)$`),eSt=new RegExp(`^hsla\\(${wA},${e1},${e1},${wA}\\)$`),P6e={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};eg(t1,Bm,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:D6e,formatHex:D6e,formatHex8:tSt,formatHsl:rSt,formatRgb:R6e,toString:R6e});eg(Sf,D3,zm(t1,{brighter(e){return e=e==null?o2:Math.pow(o2,e),new Sf(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?qm:Math.pow(qm,e),new Sf(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Sf(i2(this.r),i2(this.g),i2(this.b),BL(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:z6e,formatHex:z6e,formatHex8:nSt,formatRgb:q6e,toString:q6e}));eg(ap,AA,zm(t1,{brighter(e){return e=e==null?o2:Math.pow(o2,e),new ap(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?qm:Math.pow(qm,e),new ap(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,a=2*r-n;return new Sf(_V(e>=240?e-240:e+120,a,n),_V(e,a,n),_V(e<120?e+240:e-120,a,n),this.opacity)},clamp(){return new ap(O6e(this.h),qL(this.s),qL(this.l),BL(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 e=BL(this.opacity);return`${e===1?"hsl(":"hsla("}${O6e(this.h)}, ${qL(this.s)*100}%, ${qL(this.l)*100}%${e===1?")":`, ${e})`}`}}))});var NL,UL,wV=lo(()=>{NL=Math.PI/180,UL=180/Math.PI});function W6e(e){if(e instanceof r1)return new r1(e.l,e.a,e.b,e.opacity);if(e instanceof tg)return Y6e(e);e instanceof Sf||(e=TA(e));var t=SV(e.r),r=SV(e.g),n=SV(e.b),a=TV((.2225045*t+.7168786*r+.0606169*n)/V6e),i,o;return t===r&&r===n?i=o=a:(i=TV((.4360747*t+.3850649*r+.1430804*n)/U6e),o=TV((.0139322*t+.0971045*r+.7141733*n)/G6e)),new r1(116*a-16,500*(i-a),200*(a-o),e.opacity)}function I3(e,t,r,n){return arguments.length===1?W6e(e):new r1(e,t,r,n==null?1:n)}function r1(e,t,r,n){this.l=+e,this.a=+t,this.b=+r,this.opacity=+n}function TV(e){return e>aSt?Math.pow(e,1/3):e/j6e+H6e}function AV(e){return e>R3?e*e*e:j6e*(e-H6e)}function MV(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function SV(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function iSt(e){if(e instanceof tg)return new tg(e.h,e.c,e.l,e.opacity);if(e instanceof r1||(e=W6e(e)),e.a===0&&e.b===0)return new tg(NaN,0{IL();OL();wV();VL=18,U6e=.96422,V6e=1,G6e=.82521,H6e=4/29,R3=6/29,j6e=3*R3*R3,aSt=R3*R3*R3;eg(r1,I3,zm(t1,{brighter(e){return new r1(this.l+VL*(e==null?1:e),this.a,this.b,this.opacity)},darker(e){return new r1(this.l-VL*(e==null?1:e),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,r=isNaN(this.b)?e:e-this.b/200;return t=U6e*AV(t),e=V6e*AV(e),r=G6e*AV(r),new Sf(MV(3.1338561*t-1.6168667*e-.4906146*r),MV(-.9787684*t+1.9161415*e+.033454*r),MV(.0719453*t-.2289914*e+1.4052427*r),this.opacity)}}));eg(tg,MA,zm(t1,{brighter(e){return new tg(this.h,this.c,this.l+VL*(e==null?1:e),this.opacity)},darker(e){return new tg(this.h,this.c,this.l-VL*(e==null?1:e),this.opacity)},rgb(){return Y6e(this).rgb()}}))});function oSt(e){if(e instanceof s2)return new s2(e.h,e.s,e.l,e.opacity);e instanceof Sf||(e=TA(e));var t=e.r/255,r=e.g/255,n=e.b/255,a=(K6e*n+Z6e*t-$6e*r)/(K6e+Z6e-$6e),i=n-a,o=(SA*(r-a)-kV*i)/GL,s=Math.sqrt(o*o+i*i)/(SA*a*(1-a)),l=s?Math.atan2(o,i)*UL-120:NaN;return new s2(l<0?l+360:l,s,a,e.opacity)}function z3(e,t,r,n){return arguments.length===1?oSt(e):new s2(e,t,r,n==null?1:n)}function s2(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}var J6e,EV,kV,GL,SA,Z6e,$6e,K6e,Q6e=lo(()=>{IL();OL();wV();J6e=-.14861,EV=1.78277,kV=-.29227,GL=-.90649,SA=1.97294,Z6e=SA*GL,$6e=SA*EV,K6e=EV*kV-GL*J6e;eg(s2,z3,zm(t1,{brighter(e){return e=e==null?o2:Math.pow(o2,e),new s2(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?qm:Math.pow(qm,e),new s2(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*NL,t=+this.l,r=isNaN(this.s)?0:this.s*t*(1-t),n=Math.cos(e),a=Math.sin(e);return new Sf(255*(t+r*(J6e*n+EV*a)),255*(t+r*(kV*n+GL*a)),255*(t+r*(SA*n)),this.opacity)}}))});var l2=lo(()=>{OL();X6e();Q6e()});function CV(e,t,r,n,a){var i=e*e,o=i*e;return((1-3*e+3*i-o)*t+(4-6*i+3*o)*r+(1+3*e+3*i-3*o)*n+o*a)/6}function HL(e){var t=e.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,t-1):Math.floor(r*t),a=e[n],i=e[n+1],o=n>0?e[n-1]:2*a-i,s=n{});function WL(e){var t=e.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*t),a=e[(n+t-1)%t],i=e[n%t],o=e[(n+1)%t],s=e[(n+2)%t];return CV((r-n/t)*t,a,i,o,s)}}var LV=lo(()=>{jL()});var q3,FV=lo(()=>{q3=e=>()=>e});function eMe(e,t){return function(r){return e+r*t}}function sSt(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function Om(e,t){var r=t-e;return r?eMe(e,r>180||r<-180?r-360*Math.round(r/360):r):q3(isNaN(e)?t:e)}function tMe(e){return(e=+e)==1?Qu:function(t,r){return r-t?sSt(t,r,e):q3(isNaN(t)?r:t)}}function Qu(e,t){var r=t-e;return r?eMe(e,r):q3(isNaN(e)?t:e)}var u2=lo(()=>{FV()});function rMe(e){return function(t){var r=t.length,n=new Array(r),a=new Array(r),i=new Array(r),o,s;for(o=0;o{l2();jL();LV();u2();EA=(function e(t){var r=tMe(t);function n(a,i){var o=r((a=D3(a)).r,(i=D3(i)).r),s=r(a.g,i.g),l=r(a.b,i.b),u=Qu(a.opacity,i.opacity);return function(c){return a.r=o(c),a.g=s(c),a.b=l(c),a.opacity=u(c),a+""}}return n.gamma=e,n})(1);nMe=rMe(HL),aMe=rMe(WL)});function B3(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),a;return function(i){for(a=0;a{});function iMe(e,t){return(YL(t)?B3:DV)(e,t)}function DV(e,t){var r=t?t.length:0,n=e?Math.min(r,e.length):0,a=new Array(n),i=new Array(r),o;for(o=0;o{kA();XL()});function ZL(e,t){var r=new Date;return e=+e,t=+t,function(n){return r.setTime(e*(1-n)+t*n),r}}var IV=lo(()=>{});function ev(e,t){return e=+e,t=+t,function(r){return e*(1-r)+t*r}}var CA=lo(()=>{});function $L(e,t){var r={},n={},a;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(a in t)a in e?r[a]=Nm(e[a],t[a]):n[a]=t[a];return function(i){for(a in r)n[a]=r[a](i);return n}}var zV=lo(()=>{kA()});function lSt(e){return function(){return e}}function uSt(e){return function(t){return e(t)+""}}function KL(e,t){var r=BV.lastIndex=qV.lastIndex=0,n,a,i,o=-1,s=[],l=[];for(e=e+"",t=t+"";(n=BV.exec(e))&&(a=qV.exec(t));)(i=a.index)>r&&(i=t.slice(r,i),s[o]?s[o]+=i:s[++o]=i),(n=n[0])===(a=a[0])?s[o]?s[o]+=a:s[++o]=a:(s[++o]=null,l.push({i:o,x:ev(n,a)})),r=qV.lastIndex;return r{CA();BV=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,qV=new RegExp(BV.source,"g")});function Nm(e,t){var r=typeof t,n;return t==null||r==="boolean"?q3(t):(r==="number"?ev:r==="string"?(n=Bm(t))?(t=n,EA):KL:t instanceof Bm?EA:t instanceof Date?ZL:YL(t)?B3:Array.isArray(t)?DV:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?$L:ev)(e,t)}var kA=lo(()=>{l2();PV();RV();IV();CA();zV();OV();FV();XL()});function oMe(e){var t=e.length;return function(r){return e[Math.max(0,Math.min(t-1,Math.floor(r*t)))]}}var sMe=lo(()=>{});function lMe(e,t){var r=Om(+e,+t);return function(n){var a=r(n);return a-360*Math.floor(a/360)}}var uMe=lo(()=>{u2()});function cMe(e,t){return e=+e,t=+t,function(r){return Math.round(e*(1-r)+t*r)}}var fMe=lo(()=>{});function NV(e,t,r,n,a,i){var o,s,l;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(l=e*r+t*n)&&(r-=e*l,n-=t*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),e*n{hMe=180/Math.PI,JL={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1}});function vMe(e){let t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?JL:NV(t.a,t.b,t.c,t.d,t.e,t.f)}function pMe(e){return e==null?JL:(QL||(QL=document.createElementNS("http://www.w3.org/2000/svg","g")),QL.setAttribute("transform",e),(e=QL.transform.baseVal.consolidate())?(e=e.matrix,NV(e.a,e.b,e.c,e.d,e.e,e.f)):JL)}var QL,gMe=lo(()=>{dMe()});function mMe(e,t,r,n){function a(u){return u.length?u.pop()+" ":""}function i(u,c,f,h,v,d){if(u!==f||c!==h){var m=v.push("translate(",null,t,null,r);d.push({i:m-4,x:ev(u,f)},{i:m-2,x:ev(c,h)})}else(f||h)&&v.push("translate("+f+t+h+r)}function o(u,c,f,h){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),h.push({i:f.push(a(f)+"rotate(",null,n)-2,x:ev(u,c)})):c&&f.push(a(f)+"rotate("+c+n)}function s(u,c,f,h){u!==c?h.push({i:f.push(a(f)+"skewX(",null,n)-2,x:ev(u,c)}):c&&f.push(a(f)+"skewX("+c+n)}function l(u,c,f,h,v,d){if(u!==f||c!==h){var m=v.push(a(v)+"scale(",null,",",null,")");d.push({i:m-4,x:ev(u,f)},{i:m-2,x:ev(c,h)})}else(f!==1||h!==1)&&v.push(a(v)+"scale("+f+","+h+")")}return function(u,c){var f=[],h=[];return u=e(u),c=e(c),i(u.translateX,u.translateY,c.translateX,c.translateY,f,h),o(u.rotate,c.rotate,f,h),s(u.skewX,c.skewX,f,h),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,f,h),u=c=null,function(v){for(var d=-1,m=h.length,x;++d{CA();gMe();yMe=mMe(vMe,"px, ","px)","deg)"),xMe=mMe(pMe,", ",")",")")});function _Me(e){return((e=Math.exp(e))+1/e)/2}function fSt(e){return((e=Math.exp(e))-1/e)/2}function hSt(e){return((e=Math.exp(2*e))-1)/(e+1)}var cSt,wMe,TMe=lo(()=>{cSt=1e-12;wMe=(function e(t,r,n){function a(i,o){var s=i[0],l=i[1],u=i[2],c=o[0],f=o[1],h=o[2],v=c-s,d=f-l,m=v*v+d*d,x,g;if(m{l2();u2();MMe=AMe(Om),SMe=AMe(Qu)});function UV(e,t){var r=Qu((e=I3(e)).l,(t=I3(t)).l),n=Qu(e.a,t.a),a=Qu(e.b,t.b),i=Qu(e.opacity,t.opacity);return function(o){return e.l=r(o),e.a=n(o),e.b=a(o),e.opacity=i(o),e+""}}var kMe=lo(()=>{l2();u2()});function CMe(e){return function(t,r){var n=e((t=MA(t)).h,(r=MA(r)).h),a=Qu(t.c,r.c),i=Qu(t.l,r.l),o=Qu(t.opacity,r.opacity);return function(s){return t.h=n(s),t.c=a(s),t.l=i(s),t.opacity=o(s),t+""}}}var LMe,FMe,PMe=lo(()=>{l2();u2();LMe=CMe(Om),FMe=CMe(Qu)});function DMe(e){return(function t(r){r=+r;function n(a,i){var o=e((a=z3(a)).h,(i=z3(i)).h),s=Qu(a.s,i.s),l=Qu(a.l,i.l),u=Qu(a.opacity,i.opacity);return function(c){return a.h=o(c),a.s=s(c),a.l=l(Math.pow(c,r)),a.opacity=u(c),a+""}}return n.gamma=t,n})(1)}var RMe,IMe,zMe=lo(()=>{l2();u2();RMe=DMe(Om),IMe=DMe(Qu)});function VV(e,t){t===void 0&&(t=e,e=Nm);for(var r=0,n=t.length-1,a=t[0],i=new Array(n<0?0:n);r{kA()});function BMe(e,t){for(var r=new Array(t),n=0;n{});var c2={};E0(c2,{interpolate:()=>Nm,interpolateArray:()=>iMe,interpolateBasis:()=>HL,interpolateBasisClosed:()=>WL,interpolateCubehelix:()=>RMe,interpolateCubehelixLong:()=>IMe,interpolateDate:()=>ZL,interpolateDiscrete:()=>oMe,interpolateHcl:()=>LMe,interpolateHclLong:()=>FMe,interpolateHsl:()=>MMe,interpolateHslLong:()=>SMe,interpolateHue:()=>lMe,interpolateLab:()=>UV,interpolateNumber:()=>ev,interpolateNumberArray:()=>B3,interpolateObject:()=>$L,interpolateRgb:()=>EA,interpolateRgbBasis:()=>nMe,interpolateRgbBasisClosed:()=>aMe,interpolateRound:()=>cMe,interpolateString:()=>KL,interpolateTransformCss:()=>yMe,interpolateTransformSvg:()=>xMe,interpolateZoom:()=>wMe,piecewise:()=>VV,quantize:()=>BMe});var f2=lo(()=>{kA();RV();jL();LV();IV();sMe();uMe();CA();XL();zV();fMe();OV();bMe();TMe();PV();EMe();kMe();PMe();zMe();qMe();OMe()});var e7=ne((qfr,NMe)=>{"use strict";var dSt=li(),vSt=_a();NMe.exports=function(t,r,n,a,i){var o=r.data.data,s=o.i,l=i||o.color;if(s>=0){r.i=o.i;var u=n.marker;u.pattern?(!u.colors||!u.pattern.shape)&&(u.color=l,r.color=l):(u.color=l,r.color=l),dSt.pointStyle(t,n,a,r)}else vSt.fill(t,l)}});var GV=ne((Bfr,jMe)=>{"use strict";var UMe=Ea(),VMe=_a(),GMe=Zt(),pSt=Uh().resizeText,gSt=e7();function mSt(e){var t=e._fullLayout._sunburstlayer.selectAll(".trace");pSt(e,t,"sunburst"),t.each(function(r){var n=UMe.select(this),a=r[0],i=a.trace;n.style("opacity",i.opacity),n.selectAll("path.surface").each(function(o){UMe.select(this).call(HMe,o,i,e)})})}function HMe(e,t,r,n){var a=t.data.data,i=!t.children,o=a.i,s=GMe.castOption(r,o,"marker.line.color")||VMe.defaultLine,l=GMe.castOption(r,o,"marker.line.width")||0;e.call(gSt,t,r,n).style("stroke-width",l).call(VMe.stroke,s).style("opacity",i?r.leaf.opacity:null)}jMe.exports={style:mSt,styleOne:HMe}});var rg=ne(mo=>{"use strict";var h2=Zt(),ySt=_a(),xSt=z0(),WMe=em();mo.findEntryWithLevel=function(e,t){var r;return t&&e.eachAfter(function(n){if(mo.getPtId(n)===t)return r=n.copy()}),r||e};mo.findEntryWithChild=function(e,t){var r;return e.eachAfter(function(n){for(var a=n.children||[],i=0;i0)};mo.getMaxDepth=function(e){return e.maxdepth>=0?e.maxdepth:1/0};mo.isHeader=function(e,t){return!(mo.isLeaf(e)||e.depth===t._maxDepth-1)};function YMe(e){return e.data.data.pid}mo.getParent=function(e,t){return mo.findEntryWithLevel(e,YMe(t))};mo.listPath=function(e,t){var r=e.parent;if(!r)return[];var n=t?[r.data[t]]:[r];return mo.listPath(r,t).concat(n)};mo.getPath=function(e){return mo.listPath(e,"label").join("/")+"/"};mo.formatValue=WMe.formatPieValue;mo.formatPercent=function(e,t){var r=h2.formatPercent(e,0);return r==="0%"&&(r=WMe.formatPiePercent(e,t)),r}});var PA=ne((Nfr,$Me)=>{"use strict";var O3=Ea(),XMe=Fa(),wSt=Hd().appendArrayPointValue,LA=cu(),ZMe=Zt(),TSt=Pb(),rf=rg(),ASt=em(),MSt=ASt.formatPieValue;$Me.exports=function(t,r,n,a,i){var o=a[0],s=o.trace,l=o.hierarchy,u=s.type==="sunburst",c=s.type==="treemap"||s.type==="icicle";"_hasHoverLabel"in s||(s._hasHoverLabel=!1),"_hasHoverEvent"in s||(s._hasHoverEvent=!1);var f=function(d){var m=n._fullLayout;if(!(n._dragging||m.hovermode===!1)){var x=n._fullData[s.index],g=d.data.data,E=g.i,M=rf.isHierarchyRoot(d),w=rf.getParent(l,d),k=rf.getValue(d),y=function(se){return ZMe.castOption(x,E,se)},S=y("hovertemplate"),T=LA.castHoverinfo(x,m,E),p=m.separators,C;if(S||T&&T!=="none"&&T!=="skip"){var A,P;u&&(A=o.cx+d.pxmid[0]*(1-d.rInscribed),P=o.cy+d.pxmid[1]*(1-d.rInscribed)),c&&(A=d._hoverX,P=d._hoverY);var D={},z=[],q=[],U=function(se){return z.indexOf(se)!==-1};T&&(z=T==="all"?x._module.attributes.hoverinfo.flags:T.split("+")),D.label=g.label,U("label")&&D.label&&q.push(D.label),g.hasOwnProperty("v")&&(D.value=g.v,D.valueLabel=MSt(D.value,p),U("value")&&q.push(D.valueLabel)),D.currentPath=d.currentPath=rf.getPath(d.data),U("current path")&&!M&&q.push(D.currentPath);var O,R=[],B=function(){R.indexOf(O)===-1&&(q.push(O),R.push(O))};D.percentParent=d.percentParent=k/rf.getValue(w),D.parent=d.parentString=rf.getPtLabel(w),U("percent parent")&&(O=rf.formatPercent(D.percentParent,p)+" of "+D.parent,B()),D.percentEntry=d.percentEntry=k/rf.getValue(r),D.entry=d.entry=rf.getPtLabel(r),U("percent entry")&&!M&&!d.onPathbar&&(O=rf.formatPercent(D.percentEntry,p)+" of "+D.entry,B()),D.percentRoot=d.percentRoot=k/rf.getValue(l),D.root=d.root=rf.getPtLabel(l),U("percent root")&&!M&&(O=rf.formatPercent(D.percentRoot,p)+" of "+D.root,B()),D.text=y("hovertext")||y("text"),U("text")&&(O=D.text,ZMe.isValidTextValue(O)&&q.push(O)),C=[FA(d,x,i.eventDataKeys)];var Y={trace:x,y:P,_x0:d._x0,_x1:d._x1,_y0:d._y0,_y1:d._y1,text:q.join("
"),name:S||U("name")?x.name:void 0,color:y("hoverlabel.bgcolor")||g.color,borderColor:y("hoverlabel.bordercolor"),fontFamily:y("hoverlabel.font.family"),fontSize:y("hoverlabel.font.size"),fontColor:y("hoverlabel.font.color"),fontWeight:y("hoverlabel.font.weight"),fontStyle:y("hoverlabel.font.style"),fontVariant:y("hoverlabel.font.variant"),nameLength:y("hoverlabel.namelength"),textAlign:y("hoverlabel.align"),hovertemplate:S,hovertemplateLabels:D,eventData:C};u&&(Y.x0=A-d.rInscribed*d.rpx1,Y.x1=A+d.rInscribed*d.rpx1,Y.idealAlign=d.pxmid[0]<0?"left":"right"),c&&(Y.x=A,Y.idealAlign=A<0?"left":"right");var X=[];LA.loneHover(Y,{container:m._hoverlayer.node(),outerContainer:m._paper.node(),gd:n,inOut_bbox:X}),C[0].bbox=X[0],s._hasHoverLabel=!0}if(c){var te=t.select("path.surface");i.styleOne(te,d,x,n,{hovered:!0})}s._hasHoverEvent=!0,n.emit("plotly_hover",{points:C||[FA(d,x,i.eventDataKeys)],event:O3.event})}},h=function(d){var m=n._fullLayout,x=n._fullData[s.index],g=O3.select(this).datum();if(s._hasHoverEvent&&(d.originalEvent=O3.event,n.emit("plotly_unhover",{points:[FA(g,x,i.eventDataKeys)],event:O3.event}),s._hasHoverEvent=!1),s._hasHoverLabel&&(LA.loneUnhover(m._hoverlayer.node()),s._hasHoverLabel=!1),c){var E=t.select("path.surface");i.styleOne(E,g,x,n,{hovered:!1})}},v=function(d){var m=n._fullLayout,x=n._fullData[s.index],g=u&&(rf.isHierarchyRoot(d)||rf.isLeaf(d)),E=rf.getPtId(d),M=rf.isEntry(d)?rf.findEntryWithChild(l,E):rf.findEntryWithLevel(l,E),w=rf.getPtId(M),k={points:[FA(d,x,i.eventDataKeys)],event:O3.event};g||(k.nextLevel=w);var y=TSt.triggerHandler(n,"plotly_"+s.type+"click",k);if(y!==!1&&m.hovermode&&(n._hoverdata=[FA(d,x,i.eventDataKeys)],LA.click(n,O3.event)),!g&&y!==!1&&!n._dragging&&!n._transitioning){XMe.call("_storeDirectGUIEdit",x,m._tracePreGUI[x.uid],{level:x.level});var S={data:[{level:w}],traces:[s.index]},T={frame:{redraw:!1,duration:i.transitionTime},transition:{duration:i.transitionTime,easing:i.transitionEasing},mode:"immediate",fromcurrent:!0};LA.loneUnhover(m._hoverlayer.node()),XMe.call("animate",n,S,T)}};t.on("mouseover",f),t.on("mouseout",h),t.on("click",v)};function FA(e,t,r){for(var n=e.data.data,a={curveNumber:t.index,pointNumber:n.i,data:t._input,fullData:t},i=0;i{"use strict";var DA=Ea(),SSt=xA(),ip=(f2(),vl(c2)).interpolate,KMe=li(),Hh=Zt(),ESt=Ms(),tSe=Uh(),JMe=tSe.recordMinTextSize,kSt=tSe.clearMinTextSize,rSe=DL(),CSt=em().getRotationAngle,LSt=rSe.computeTransform,FSt=rSe.transformInsideText,PSt=GV().styleOne,DSt=n0().resizeText,RSt=PA(),HV=xV(),Go=rg();t7.plot=function(e,t,r,n){var a=e._fullLayout,i=a._sunburstlayer,o,s,l=!r,u=!a.uniformtext.mode&&Go.hasTransition(r);if(kSt("sunburst",a),o=i.selectAll("g.trace.sunburst").data(t,function(f){return f[0].trace.uid}),o.enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),o.order(),u){n&&(s=n());var c=DA.transition().duration(r.duration).ease(r.easing).each("end",function(){s&&s()}).each("interrupt",function(){s&&s()});c.each(function(){i.selectAll("g.trace").each(function(f){QMe(e,f,this,r)})})}else o.each(function(f){QMe(e,f,this,r)}),a.uniformtext.mode&&DSt(e,a._sunburstlayer.selectAll(".trace"),"sunburst");l&&o.exit().remove()};function QMe(e,t,r,n){var a=e._context.staticPlot,i=e._fullLayout,o=!i.uniformtext.mode&&Go.hasTransition(n),s=DA.select(r),l=s.selectAll("g.slice"),u=t[0],c=u.trace,f=u.hierarchy,h=Go.findEntryWithLevel(f,c.level),v=Go.getMaxDepth(c),d=i._size,m=c.domain,x=d.w*(m.x[1]-m.x[0]),g=d.h*(m.y[1]-m.y[0]),E=.5*Math.min(x,g),M=u.cx=d.l+d.w*(m.x[1]+m.x[0])/2,w=u.cy=d.t+d.h*(1-m.y[0])-g/2;if(!h)return l.remove();var k=null,y={};o&&l.each(function(re){y[Go.getPtId(re)]={rpx0:re.rpx0,rpx1:re.rpx1,x0:re.x0,x1:re.x1,transform:re.transform},!k&&Go.isEntry(re)&&(k=re)});var S=ISt(h).descendants(),T=h.height+1,p=0,C=v;u.hasMultipleRoots&&Go.isHierarchyRoot(h)&&(S=S.slice(1),T-=1,p=1,C+=1),S=S.filter(function(re){return re.y1<=C});var A=CSt(c.rotation);A&&S.forEach(function(re){re.x0+=A,re.x1+=A});var P=Math.min(T,v),D=function(re){return(re-p)/P*E},z=function(re,j){return[re*Math.cos(j),-re*Math.sin(j)]},q=function(re){return Hh.pathAnnulus(re.rpx0,re.rpx1,re.x0,re.x1,M,w)},U=function(re){return M+eSe(re)[0]*(re.transform.rCenter||0)+(re.transform.x||0)},O=function(re){return w+eSe(re)[1]*(re.transform.rCenter||0)+(re.transform.y||0)};l=l.data(S,Go.getPtId),l.enter().append("g").classed("slice",!0),o?l.exit().transition().each(function(){var re=DA.select(this),j=re.select("path.surface");j.transition().attrTween("d",function(ce){var oe=X(ce);return function(we){return q(oe(we))}});var fe=re.select("g.slicetext");fe.attr("opacity",0)}).remove():l.exit().remove(),l.order();var R=null;if(o&&k){var B=Go.getPtId(k);l.each(function(re){R===null&&Go.getPtId(re)===B&&(R=re.x1)})}var Y=l;o&&(Y=Y.transition().each("end",function(){var re=DA.select(this);Go.setSliceCursor(re,e,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:!1})})),Y.each(function(re){var j=DA.select(this),fe=Hh.ensureSingle(j,"path","surface",function(Pe){Pe.style("pointer-events",a?"none":"all")});re.rpx0=D(re.y0),re.rpx1=D(re.y1),re.xmid=(re.x0+re.x1)/2,re.pxmid=z(re.rpx1,re.xmid),re.midangle=-(re.xmid-Math.PI/2),re.startangle=-(re.x0-Math.PI/2),re.stopangle=-(re.x1-Math.PI/2),re.halfangle=.5*Math.min(Hh.angleDelta(re.x0,re.x1)||Math.PI,Math.PI),re.ring=1-re.rpx0/re.rpx1,re.rInscribed=zSt(re,c),o?fe.transition().attrTween("d",function(Pe){var le=te(Pe);return function(ze){return q(le(ze))}}):fe.attr("d",q),j.call(RSt,h,e,t,{eventDataKeys:HV.eventDataKeys,transitionTime:HV.CLICK_TRANSITION_TIME,transitionEasing:HV.CLICK_TRANSITION_EASING}).call(Go.setSliceCursor,e,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:e._transitioning}),fe.call(PSt,re,c,e);var ce=Hh.ensureSingle(j,"g","slicetext"),oe=Hh.ensureSingle(ce,"text","",function(Pe){Pe.attr("data-notex",1)}),we=Hh.ensureUniformFontSize(e,Go.determineTextFont(c,re,i.font));oe.text(t7.formatSliceLabel(re,h,c,t,i)).classed("slicetext",!0).attr("text-anchor","middle").call(KMe.font,we).call(ESt.convertToTspans,e);var he=KMe.bBox(oe.node());re.transform=FSt(he,re,u),re.transform.targetX=U(re),re.transform.targetY=O(re);var ye=function(Pe,le){var ze=Pe.transform;return LSt(ze,le),ze.fontSize=we.size,JMe(c.type,ze,i),Hh.getTextTransform(ze)};o?oe.transition().attrTween("transform",function(Pe){var le=se(Pe);return function(ze){return ye(le(ze),he)}}):oe.attr("transform",ye(re,he))});function X(re){var j=Go.getPtId(re),fe=y[j],ce=y[Go.getPtId(h)],oe;if(ce){var we=(re.x1>ce.x1?2*Math.PI:0)+A;oe=re.rpx1R?2*Math.PI:0)+A;fe={x0:oe,x1:oe}}else fe={rpx0:E,rpx1:E},Hh.extendFlat(fe,ue(re));else fe={rpx0:0,rpx1:0};else fe={x0:A,x1:A};return ip(fe,ce)}function se(re){var j=y[Go.getPtId(re)],fe,ce=re.transform;if(j)fe=j;else if(fe={rpx1:re.rpx1,transform:{textPosAngle:ce.textPosAngle,scale:0,rotate:ce.rotate,rCenter:ce.rCenter,x:ce.x,y:ce.y}},k)if(re.parent)if(R){var oe=re.x1>R?2*Math.PI:0;fe.x0=fe.x1=oe}else Hh.extendFlat(fe,ue(re));else fe.x0=fe.x1=A;else fe.x0=fe.x1=A;var we=ip(fe.transform.textPosAngle,re.transform.textPosAngle),he=ip(fe.rpx1,re.rpx1),ye=ip(fe.x0,re.x0),Pe=ip(fe.x1,re.x1),le=ip(fe.transform.scale,ce.scale),ze=ip(fe.transform.rotate,ce.rotate),Xe=ce.rCenter===0?3:fe.transform.rCenter===0?1/3:1,vt=ip(fe.transform.rCenter,ce.rCenter),st=function(Oe){return vt(Math.pow(Oe,Xe))};return function(Oe){var qe=he(Oe),mt=ye(Oe),lt=Pe(Oe),Ie=st(Oe),de=z(qe,(mt+lt)/2),Ee=we(Oe),Ue={pxmid:de,rpx1:qe,transform:{textPosAngle:Ee,rCenter:Ie,x:ce.x,y:ce.y}};return JMe(c.type,ce,i),{transform:{targetX:U(Ue),targetY:O(Ue),scale:le(Oe),rotate:ze(Oe),rCenter:Ie}}}}function ue(re){var j=re.parent,fe=y[Go.getPtId(j)],ce={};if(fe){var oe=j.children,we=oe.indexOf(re),he=oe.length,ye=ip(fe.x0,fe.x1);ce.x0=ye(we/he),ce.x1=ye(we/he)}else ce.x0=ce.x1=0;return ce}}function ISt(e){return SSt.partition().size([2*Math.PI,e.height+1])(e)}t7.formatSliceLabel=function(e,t,r,n,a){var i=r.texttemplate,o=r.textinfo;if(!i&&(!o||o==="none"))return"";var s=a.separators,l=n[0],u=e.data.data,c=l.hierarchy,f=Go.isHierarchyRoot(e),h=Go.getParent(c,e),v=Go.getValue(e);if(!i){var d=o.split("+"),m=function(p){return d.indexOf(p)!==-1},x=[],g;if(m("label")&&u.label&&x.push(u.label),u.hasOwnProperty("v")&&m("value")&&x.push(Go.formatValue(u.v,s)),!f){m("current path")&&x.push(Go.getPath(e.data));var E=0;m("percent parent")&&E++,m("percent entry")&&E++,m("percent root")&&E++;var M=E>1;if(E){var w,k=function(p){g=Go.formatPercent(w,s),M&&(g+=" of "+p),x.push(g)};m("percent parent")&&!f&&(w=v/Go.getValue(h),k("parent")),m("percent entry")&&(w=v/Go.getValue(t),k("entry")),m("percent root")&&(w=v/Go.getValue(c),k("root"))}}return m("text")&&(g=Hh.castOption(r,u.i,"text"),Hh.isValidTextValue(g)&&x.push(g)),x.join("
")}var y=Hh.castOption(r,u.i,"texttemplate");if(!y)return"";var S={};u.label&&(S.label=u.label),u.hasOwnProperty("v")&&(S.value=u.v,S.valueLabel=Go.formatValue(u.v,s)),S.currentPath=Go.getPath(e.data),f||(S.percentParent=v/Go.getValue(h),S.percentParentLabel=Go.formatPercent(S.percentParent,s),S.parent=Go.getPtLabel(h)),S.percentEntry=v/Go.getValue(t),S.percentEntryLabel=Go.formatPercent(S.percentEntry,s),S.entry=Go.getPtLabel(t),S.percentRoot=v/Go.getValue(c),S.percentRootLabel=Go.formatPercent(S.percentRoot,s),S.root=Go.getPtLabel(c),u.hasOwnProperty("color")&&(S.color=u.color);var T=Hh.castOption(r,u.i,"text");return(Hh.isValidTextValue(T)||T==="")&&(S.text=T),S.customdata=Hh.castOption(r,u.i,"customdata"),Hh.texttemplateString({data:[S,r._meta],fallback:r.texttemplatefallback,labels:S,locale:a._d3locale,template:y})};function zSt(e){return e.rpx0===0&&Hh.isFullCircle([e.x0,e.x1])?1:Math.max(0,Math.min(1/(1+1/Math.sin(e.halfangle)),e.ring/2))}function eSe(e){return qSt(e.rpx1,e.transform.textPosAngle)}function qSt(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}});var aSe=ne((Vfr,nSe)=>{"use strict";nSe.exports={moduleType:"trace",name:"sunburst",basePlotModule:m6e(),categories:[],animatable:!0,attributes:yA(),layoutAttributes:bV(),supplyDefaults:S6e(),supplyLayoutDefaults:k6e(),calc:_A().calc,crossTraceCalc:_A().crossTraceCalc,plot:r7().plot,style:GV().style,colorbar:bh(),meta:{}}});var oSe=ne((Gfr,iSe)=>{"use strict";iSe.exports=aSe()});var lSe=ne(N3=>{"use strict";var sSe=Sl();N3.name="treemap";N3.plot=function(e,t,r,n){sSe.plotBasePlot(N3.name,e,t,r,n)};N3.clean=function(e,t,r,n){sSe.cleanBasePlot(N3.name,e,t,r,n)}});var d2=ne((jfr,uSe)=>{"use strict";uSe.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}});var n7=ne((Wfr,hSe)=>{"use strict";var{hovertemplateAttrs:BSt,texttemplateAttrs:OSt,templatefallbackAttrs:cSe}=rs(),NSt=Ys(),USt=zl().attributes,v2=r2(),g0=yA(),fSe=d2(),jV=ci().extendFlat,VSt=xf().pattern;hSe.exports={labels:g0.labels,parents:g0.parents,values:g0.values,branchvalues:g0.branchvalues,count:g0.count,level:g0.level,maxdepth:g0.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:jV({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:g0.marker.colors,pattern:VSt,depthfade:{valType:"enumerated",values:[!0,!1,"reversed"],editType:"style"},line:g0.marker.line,cornerradius:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},NSt("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:jV({},v2.textfont,{}),editType:"calc"},text:v2.text,textinfo:g0.textinfo,texttemplate:OSt({editType:"plot"},{keys:fSe.eventDataKeys.concat(["label","value"])}),texttemplatefallback:cSe({editType:"plot"}),hovertext:v2.hovertext,hoverinfo:g0.hoverinfo,hovertemplate:BSt({},{keys:fSe.eventDataKeys}),hovertemplatefallback:cSe(),textfont:v2.textfont,insidetextfont:v2.insidetextfont,outsidetextfont:jV({},v2.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:v2.sort,root:g0.root,domain:USt({name:"treemap",trace:!0,editType:"calc"})}});var WV=ne((Yfr,dSe)=>{"use strict";dSe.exports={treemapcolorway:{valType:"colorlist",editType:"calc"},extendtreemapcolors:{valType:"boolean",dflt:!0,editType:"calc"}}});var mSe=ne((Xfr,gSe)=>{"use strict";var vSe=Zt(),GSt=n7(),HSt=_a(),jSt=zl().defaults,WSt=wv().handleText,YSt=um().TEXTPAD,XSt=n2().handleMarkerDefaults,pSe=El(),ZSt=pSe.hasColorscale,$St=pSe.handleDefaults;gSe.exports=function(t,r,n,a){function i(x,g){return vSe.coerce(t,r,GSt,x,g)}var o=i("labels"),s=i("parents");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=i("values");l&&l.length?i("branchvalues"):i("count"),i("level"),i("maxdepth");var u=i("tiling.packing");u==="squarify"&&i("tiling.squarifyratio"),i("tiling.flip"),i("tiling.pad");var c=i("text");i("texttemplate"),i("texttemplatefallback"),r.texttemplate||i("textinfo",vSe.isArrayOrTypedArray(c)?"text+label":"label"),i("hovertext"),i("hovertemplate"),i("hovertemplatefallback");var f=i("pathbar.visible"),h="auto";WSt(t,r,a,i,h,{hasPathbar:f,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),i("textposition");var v=r.textposition.indexOf("bottom")!==-1;XSt(t,r,a,i);var d=r._hasColorscale=ZSt(t,"marker","colors")||(t.marker||{}).coloraxis;d?$St(t,r,a,i,{prefix:"marker.",cLetter:"c"}):i("marker.depthfade",!(r.marker.colors||[]).length);var m=r.textfont.size*2;i("marker.pad.t",v?m/4:m),i("marker.pad.l",m/4),i("marker.pad.r",m/4),i("marker.pad.b",v?m:m/4),i("marker.cornerradius"),r._hovered={marker:{line:{width:2,color:HSt.contrast(a.paper_bgcolor)}}},f&&(i("pathbar.thickness",r.pathbar.textfont.size+2*YSt),i("pathbar.side"),i("pathbar.edgeshape")),i("sort"),i("root.color"),jSt(r,a,i),r._length=null}});var xSe=ne((Zfr,ySe)=>{"use strict";var KSt=Zt(),JSt=WV();ySe.exports=function(t,r){function n(a,i){return KSt.coerce(t,r,JSt,a,i)}n("treemapcolorway",r.colorway),n("extendtreemapcolors")}});var XV=ne(YV=>{"use strict";var bSe=_A();YV.calc=function(e,t){return bSe.calc(e,t)};YV.crossTraceCalc=function(e){return bSe._runCrossTraceCalc("treemap",e)}});var ZV=ne((Kfr,_Se)=>{"use strict";_Se.exports=function e(t,r,n){var a;n.swapXY&&(a=t.x0,t.x0=t.y0,t.y0=a,a=t.x1,t.x1=t.y1,t.y1=a),n.flipX&&(a=t.x0,t.x0=r[0]-t.x1,t.x1=r[0]-a),n.flipY&&(a=t.y0,t.y0=r[1]-t.y1,t.y1=r[1]-a);var i=t.children;if(i)for(var o=0;o{"use strict";var U3=xA(),QSt=ZV();wSe.exports=function(t,r,n){var a=n.flipX,i=n.flipY,o=n.packing==="dice-slice",s=n.pad[i?"bottom":"top"],l=n.pad[a?"right":"left"],u=n.pad[a?"left":"right"],c=n.pad[i?"top":"bottom"],f;o&&(f=l,l=s,s=f,f=u,u=c,c=f);var h=U3.treemap().tile(eEt(n.packing,n.squarifyratio)).paddingInner(n.pad.inner).paddingLeft(l).paddingRight(u).paddingTop(s).paddingBottom(c).size(o?[r[1],r[0]]:r)(t);return(o||a||i)&&QSt(h,r,{swapXY:o,flipX:a,flipY:i}),h};function eEt(e,t){switch(e){case"squarify":return U3.treemapSquarify.ratio(t);case"binary":return U3.treemapBinary;case"dice":return U3.treemapDice;case"slice":return U3.treemapSlice;default:return U3.treemapSliceDice}}});var a7=ne((Qfr,SSe)=>{"use strict";var TSe=Ea(),V3=_a(),ASe=Zt(),KV=rg(),tEt=Uh().resizeText,rEt=e7();function nEt(e){var t=e._fullLayout._treemaplayer.selectAll(".trace");tEt(e,t,"treemap"),t.each(function(r){var n=TSe.select(this),a=r[0],i=a.trace;n.style("opacity",i.opacity),n.selectAll("path.surface").each(function(o){TSe.select(this).call(MSe,o,i,e,{hovered:!1})})})}function MSe(e,t,r,n,a){var i=(a||{}).hovered,o=t.data.data,s=o.i,l,u,c=o.color,f=KV.isHierarchyRoot(t),h=1;if(i)l=r._hovered.marker.line.color,u=r._hovered.marker.line.width;else if(f&&c===r.root.color)h=100,l="rgba(0,0,0,0)",u=0;else if(l=ASe.castOption(r,s,"marker.line.color")||V3.defaultLine,u=ASe.castOption(r,s,"marker.line.width")||0,!r._hasColorscale&&!t.onPathbar){var v=r.marker.depthfade;if(v){var d=V3.combine(V3.addOpacity(r._backgroundColor,.75),c),m;if(v===!0){var x=KV.getMaxDepth(r);isFinite(x)?KV.isLeaf(t)?m=0:m=r._maxVisibleLayers-(t.data.depth-r._entryDepth):m=t.data.height+1}else m=t.data.depth-r._entryDepth,r._atRootLevel||m++;if(m>0)for(var g=0;g{"use strict";var ESe=Ea(),i7=Zt(),kSe=li(),aEt=Ms(),iEt=$V(),CSe=a7().styleOne,JV=d2(),G3=rg(),oEt=PA(),QV=!0;LSe.exports=function(t,r,n,a,i){var o=i.barDifY,s=i.width,l=i.height,u=i.viewX,c=i.viewY,f=i.pathSlice,h=i.toMoveInsideSlice,v=i.strTransform,d=i.hasTransition,m=i.handleSlicesExit,x=i.makeUpdateSliceInterpolator,g=i.makeUpdateTextInterpolator,E={},M=t._context.staticPlot,w=t._fullLayout,k=r[0],y=k.trace,S=k.hierarchy,T=s/y._entryDepth,p=G3.listPath(n.data,"id"),C=iEt(S.copy(),[s,l],{packing:"dice",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();C=C.filter(function(P){var D=p.indexOf(P.data.id);return D===-1?!1:(P.x0=T*D,P.x1=T*(D+1),P.y0=o,P.y1=o+l,P.onPathbar=!0,!0)}),C.reverse(),a=a.data(C,G3.getPtId),a.enter().append("g").classed("pathbar",!0),m(a,QV,E,[s,l],f),a.order();var A=a;d&&(A=A.transition().each("end",function(){var P=ESe.select(this);G3.setSliceCursor(P,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})})),A.each(function(P){P._x0=u(P.x0),P._x1=u(P.x1),P._y0=c(P.y0),P._y1=c(P.y1),P._hoverX=u(P.x1-Math.min(s,l)/2),P._hoverY=c(P.y1-l/2);var D=ESe.select(this),z=i7.ensureSingle(D,"path","surface",function(R){R.style("pointer-events",M?"none":"all")});d?z.transition().attrTween("d",function(R){var B=x(R,QV,E,[s,l]);return function(Y){return f(B(Y))}}):z.attr("d",f),D.call(oEt,n,t,r,{styleOne:CSe,eventDataKeys:JV.eventDataKeys,transitionTime:JV.CLICK_TRANSITION_TIME,transitionEasing:JV.CLICK_TRANSITION_EASING}).call(G3.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),z.call(CSe,P,y,t,{hovered:!1}),P._text=(G3.getPtLabel(P)||"").split("
").join(" ")||"";var q=i7.ensureSingle(D,"g","slicetext"),U=i7.ensureSingle(q,"text","",function(R){R.attr("data-notex",1)}),O=i7.ensureUniformFontSize(t,G3.determineTextFont(y,P,w.font,{onPathbar:!0}));U.text(P._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(kSe.font,O).call(aEt.convertToTspans,t),P.textBB=kSe.bBox(U.node()),P.transform=h(P,{fontSize:O.size,onPathbar:!0}),P.transform.fontSize=O.size,d?U.transition().attrTween("transform",function(R){var B=g(R,QV,E,[s,l]);return function(Y){return v(B(Y))}}):U.attr("transform",v(P))})}});var ISe=ne((thr,RSe)=>{"use strict";var PSe=Ea(),eG=(f2(),vl(c2)).interpolate,Um=rg(),RA=Zt(),DSe=um().TEXTPAD,sEt=Dx(),lEt=sEt.toMoveInsideBar,uEt=Uh(),tG=uEt.recordMinTextSize,cEt=d2(),fEt=FSe();function p2(e){return Um.isHierarchyRoot(e)?"":Um.getPtId(e)}RSe.exports=function(t,r,n,a,i){var o=t._fullLayout,s=r[0],l=s.trace,u=l.type,c=u==="icicle",f=s.hierarchy,h=Um.findEntryWithLevel(f,l.level),v=PSe.select(n),d=v.selectAll("g.pathbar"),m=v.selectAll("g.slice");if(!h){d.remove(),m.remove();return}var x=Um.isHierarchyRoot(h),g=!o.uniformtext.mode&&Um.hasTransition(a),E=Um.getMaxDepth(l),M=function(ge){return ge.data.depth-h.data.depth-1?S+C:-(p+C):0,P={x0:T,x1:T,y0:A,y1:A+p},D=function(ge,Ge,tt){var ft=l.tiling.pad,He=function(kt){return kt-ft<=Ge.x0},Qe=function(kt){return kt+ft>=Ge.x1},We=function(kt){return kt-ft<=Ge.y0},pt=function(kt){return kt+ft>=Ge.y1};return ge.x0===Ge.x0&&ge.x1===Ge.x1&&ge.y0===Ge.y0&&ge.y1===Ge.y1?{x0:ge.x0,x1:ge.x1,y0:ge.y0,y1:ge.y1}:{x0:He(ge.x0-ft)?0:Qe(ge.x0-ft)?tt[0]:ge.x0,x1:He(ge.x1+ft)?0:Qe(ge.x1+ft)?tt[0]:ge.x1,y0:We(ge.y0-ft)?0:pt(ge.y0-ft)?tt[1]:ge.y0,y1:We(ge.y1+ft)?0:pt(ge.y1+ft)?tt[1]:ge.y1}},z=null,q={},U={},O=null,R=function(ge,Ge){return Ge?q[p2(ge)]:U[p2(ge)]},B=function(ge,Ge,tt,ft){if(Ge)return q[p2(f)]||P;var He=U[l.level]||tt;return M(ge)?D(ge,He,ft):{}};s.hasMultipleRoots&&x&&E++,l._maxDepth=E,l._backgroundColor=o.paper_bgcolor,l._entryDepth=h.data.depth,l._atRootLevel=x;var Y=-y/2+w.l+w.w*(k.x[1]+k.x[0])/2,X=-S/2+w.t+w.h*(1-(k.y[1]+k.y[0])/2),te=function(ge){return Y+ge},se=function(ge){return X+ge},ue=se(0),re=te(0),j=function(ge){return re+ge},fe=function(ge){return ue+ge};function ce(ge,Ge){return ge+","+Ge}var oe=j(0),we=function(ge){ge.x=Math.max(oe,ge.x)},he=l.pathbar.edgeshape,ye=function(ge){var Ge=j(Math.max(Math.min(ge.x0,ge.x0),0)),tt=j(Math.min(Math.max(ge.x1,ge.x1),T)),ft=fe(ge.y0),He=fe(ge.y1),Qe=p/2,We={},pt={};We.x=Ge,pt.x=tt,We.y=pt.y=(ft+He)/2;var kt={x:Ge,y:ft},qt={x:tt,y:ft},Wt={x:tt,y:He},_r={x:Ge,y:He};return he===">"?(kt.x-=Qe,qt.x-=Qe,Wt.x-=Qe,_r.x-=Qe):he==="/"?(Wt.x-=Qe,_r.x-=Qe,We.x-=Qe/2,pt.x-=Qe/2):he==="\\"?(kt.x-=Qe,qt.x-=Qe,We.x-=Qe/2,pt.x-=Qe/2):he==="<"&&(We.x-=Qe,pt.x-=Qe),we(kt),we(_r),we(We),we(qt),we(Wt),we(pt),"M"+ce(kt.x,kt.y)+"L"+ce(qt.x,qt.y)+"L"+ce(pt.x,pt.y)+"L"+ce(Wt.x,Wt.y)+"L"+ce(_r.x,_r.y)+"L"+ce(We.x,We.y)+"Z"},Pe=l[c?"tiling":"marker"].pad,le=function(ge){return l.textposition.indexOf(ge)!==-1},ze=le("top"),Xe=le("left"),vt=le("right"),st=le("bottom"),Oe=function(ge){var Ge=te(ge.x0),tt=te(ge.x1),ft=se(ge.y0),He=se(ge.y1),Qe=tt-Ge,We=He-ft;if(!Qe||!We)return"";var pt=l.marker.cornerradius||0,kt=Math.min(pt,Qe/2,We/2);kt&&ge.data&&ge.data.data&&ge.data.data.label&&(ze&&(kt=Math.min(kt,Pe.t)),Xe&&(kt=Math.min(kt,Pe.l)),vt&&(kt=Math.min(kt,Pe.r)),st&&(kt=Math.min(kt,Pe.b)));var qt=function(Wt,_r){return kt?"a"+ce(kt,kt)+" 0 0 1 "+ce(Wt,_r):""};return"M"+ce(Ge,ft+kt)+qt(kt,-kt)+"L"+ce(tt-kt,ft)+qt(kt,kt)+"L"+ce(tt,He-kt)+qt(-kt,kt)+"L"+ce(Ge+kt,He)+qt(-kt,-kt)+"Z"},qe=function(ge,Ge){var tt=ge.x0,ft=ge.x1,He=ge.y0,Qe=ge.y1,We=ge.textBB,pt=ze||Ge.isHeader&&!st,kt=pt?"start":st?"end":"middle",qt=le("right"),Wt=le("left")||Ge.onPathbar,_r=Wt?-1:qt?1:0;if(Ge.isHeader){if(tt+=(c?Pe:Pe.l)-DSe,ft-=(c?Pe:Pe.r)-DSe,tt>=ft){var tr=(tt+ft)/2;tt=tr,ft=tr}var lr;st?(lr=Qe-(c?Pe:Pe.b),He{"use strict";var hEt=Ea(),dEt=rg(),vEt=Uh(),pEt=vEt.clearMinTextSize,gEt=n0().resizeText,zSe=ISe();qSe.exports=function(t,r,n,a,i){var o=i.type,s=i.drawDescendants,l=t._fullLayout,u=l["_"+o+"layer"],c,f,h=!n;if(pEt(o,l),c=u.selectAll("g.trace."+o).data(r,function(d){return d[0].trace.uid}),c.enter().append("g").classed("trace",!0).classed(o,!0),c.order(),!l.uniformtext.mode&&dEt.hasTransition(n)){a&&(f=a());var v=hEt.transition().duration(n.duration).ease(n.easing).each("end",function(){f&&f()}).each("interrupt",function(){f&&f()});v.each(function(){u.selectAll("g.trace").each(function(d){zSe(t,d,this,n,s)})})}else c.each(function(d){zSe(t,d,this,n,s)}),l.uniformtext.mode&&gEt(t,u.selectAll(".trace"),o);h&&c.exit().remove()}});var VSe=ne((nhr,USe)=>{"use strict";var BSe=Ea(),o7=Zt(),OSe=li(),mEt=Ms(),yEt=$V(),NSe=a7().styleOne,nG=d2(),Vm=rg(),xEt=PA(),bEt=r7().formatSliceLabel,aG=!1;USe.exports=function(t,r,n,a,i){var o=i.width,s=i.height,l=i.viewX,u=i.viewY,c=i.pathSlice,f=i.toMoveInsideSlice,h=i.strTransform,v=i.hasTransition,d=i.handleSlicesExit,m=i.makeUpdateSliceInterpolator,x=i.makeUpdateTextInterpolator,g=i.prevEntry,E={},M=t._context.staticPlot,w=t._fullLayout,k=r[0],y=k.trace,S=y.textposition.indexOf("left")!==-1,T=y.textposition.indexOf("right")!==-1,p=y.textposition.indexOf("bottom")!==-1,C=!p&&!y.marker.pad.t||p&&!y.marker.pad.b,A=yEt(n,[o,s],{packing:y.tiling.packing,squarifyratio:y.tiling.squarifyratio,flipX:y.tiling.flip.indexOf("x")>-1,flipY:y.tiling.flip.indexOf("y")>-1,pad:{inner:y.tiling.pad,top:y.marker.pad.t,left:y.marker.pad.l,right:y.marker.pad.r,bottom:y.marker.pad.b}}),P=A.descendants(),D=1/0,z=-1/0;P.forEach(function(B){var Y=B.depth;Y>=y._maxDepth?(B.x0=B.x1=(B.x0+B.x1)/2,B.y0=B.y1=(B.y0+B.y1)/2):(D=Math.min(D,Y),z=Math.max(z,Y))}),a=a.data(P,Vm.getPtId),y._maxVisibleLayers=isFinite(z)?z-D+1:0,a.enter().append("g").classed("slice",!0),d(a,aG,E,[o,s],c),a.order();var q=null;if(v&&g){var U=Vm.getPtId(g);a.each(function(B){q===null&&Vm.getPtId(B)===U&&(q={x0:B.x0,x1:B.x1,y0:B.y0,y1:B.y1})})}var O=function(){return q||{x0:0,x1:o,y0:0,y1:s}},R=a;return v&&(R=R.transition().each("end",function(){var B=BSe.select(this);Vm.setSliceCursor(B,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),R.each(function(B){var Y=Vm.isHeader(B,y);B._x0=l(B.x0),B._x1=l(B.x1),B._y0=u(B.y0),B._y1=u(B.y1),B._hoverX=l(B.x1-y.marker.pad.r),B._hoverY=u(p?B.y1-y.marker.pad.b/2:B.y0+y.marker.pad.t/2);var X=BSe.select(this),te=o7.ensureSingle(X,"path","surface",function(ce){ce.style("pointer-events",M?"none":"all")});v?te.transition().attrTween("d",function(ce){var oe=m(ce,aG,O(),[o,s]);return function(we){return c(oe(we))}}):te.attr("d",c),X.call(xEt,n,t,r,{styleOne:NSe,eventDataKeys:nG.eventDataKeys,transitionTime:nG.CLICK_TRANSITION_TIME,transitionEasing:nG.CLICK_TRANSITION_EASING}).call(Vm.setSliceCursor,t,{isTransitioning:t._transitioning}),te.call(NSe,B,y,t,{hovered:!1}),B.x0===B.x1||B.y0===B.y1?B._text="":Y?B._text=C?"":Vm.getPtLabel(B)||"":B._text=bEt(B,n,y,r,w)||"";var se=o7.ensureSingle(X,"g","slicetext"),ue=o7.ensureSingle(se,"text","",function(ce){ce.attr("data-notex",1)}),re=o7.ensureUniformFontSize(t,Vm.determineTextFont(y,B,w.font)),j=B._text||" ",fe=Y&&j.indexOf("
")===-1;ue.text(j).classed("slicetext",!0).attr("text-anchor",T?"end":S||fe?"start":"middle").call(OSe.font,re).call(mEt.convertToTspans,t),B.textBB=OSe.bBox(ue.node()),B.transform=f(B,{fontSize:re.size,isHeader:Y}),B.transform.fontSize=re.size,v?ue.transition().attrTween("transform",function(ce){var oe=x(ce,aG,O(),[o,s]);return function(we){return h(oe(we))}}):ue.attr("transform",h(B))}),q}});var HSe=ne((ahr,GSe)=>{"use strict";var _Et=rG(),wEt=VSe();GSe.exports=function(t,r,n,a){return _Et(t,r,n,a,{type:"treemap",drawDescendants:wEt})}});var WSe=ne((ihr,jSe)=>{"use strict";jSe.exports={moduleType:"trace",name:"treemap",basePlotModule:lSe(),categories:[],animatable:!0,attributes:n7(),layoutAttributes:WV(),supplyDefaults:mSe(),supplyLayoutDefaults:xSe(),calc:XV().calc,crossTraceCalc:XV().crossTraceCalc,plot:HSe(),style:a7().style,colorbar:bh(),meta:{}}});var XSe=ne((ohr,YSe)=>{"use strict";YSe.exports=WSe()});var $Se=ne(H3=>{"use strict";var ZSe=Sl();H3.name="icicle";H3.plot=function(e,t,r,n){ZSe.plotBasePlot(H3.name,e,t,r,n)};H3.clean=function(e,t,r,n){ZSe.cleanBasePlot(H3.name,e,t,r,n)}});var iG=ne((lhr,QSe)=>{"use strict";var{hovertemplateAttrs:TEt,texttemplateAttrs:AEt,templatefallbackAttrs:KSe}=rs(),MEt=Ys(),SEt=zl().attributes,IA=r2(),Sv=yA(),s7=n7(),JSe=d2(),EEt=ci().extendFlat,kEt=xf().pattern;QSe.exports={labels:Sv.labels,parents:Sv.parents,values:Sv.values,branchvalues:Sv.branchvalues,count:Sv.count,level:Sv.level,maxdepth:Sv.maxdepth,tiling:{orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"plot"},flip:s7.tiling.flip,pad:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},marker:EEt({colors:Sv.marker.colors,line:Sv.marker.line,pattern:kEt,editType:"calc"},MEt("marker",{colorAttr:"colors",anim:!1})),leaf:Sv.leaf,pathbar:s7.pathbar,text:IA.text,textinfo:Sv.textinfo,texttemplate:AEt({editType:"plot"},{keys:JSe.eventDataKeys.concat(["label","value"])}),texttemplatefallback:KSe({editType:"plot"}),hovertext:IA.hovertext,hoverinfo:Sv.hoverinfo,hovertemplate:TEt({},{keys:JSe.eventDataKeys}),hovertemplatefallback:KSe(),textfont:IA.textfont,insidetextfont:IA.insidetextfont,outsidetextfont:s7.outsidetextfont,textposition:s7.textposition,sort:IA.sort,root:Sv.root,domain:SEt({name:"icicle",trace:!0,editType:"calc"})}});var oG=ne((uhr,eEe)=>{"use strict";eEe.exports={iciclecolorway:{valType:"colorlist",editType:"calc"},extendiciclecolors:{valType:"boolean",dflt:!0,editType:"calc"}}});var aEe=ne((chr,nEe)=>{"use strict";var tEe=Zt(),CEt=iG(),LEt=_a(),FEt=zl().defaults,PEt=wv().handleText,DEt=um().TEXTPAD,REt=n2().handleMarkerDefaults,rEe=El(),IEt=rEe.hasColorscale,zEt=rEe.handleDefaults;nEe.exports=function(t,r,n,a){function i(v,d){return tEe.coerce(t,r,CEt,v,d)}var o=i("labels"),s=i("parents");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=i("values");l&&l.length?i("branchvalues"):i("count"),i("level"),i("maxdepth"),i("tiling.orientation"),i("tiling.flip"),i("tiling.pad");var u=i("text");i("texttemplate"),i("texttemplatefallback"),r.texttemplate||i("textinfo",tEe.isArrayOrTypedArray(u)?"text+label":"label"),i("hovertext"),i("hovertemplate"),i("hovertemplatefallback");var c=i("pathbar.visible"),f="auto";PEt(t,r,a,i,f,{hasPathbar:c,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),i("textposition"),REt(t,r,a,i);var h=r._hasColorscale=IEt(t,"marker","colors")||(t.marker||{}).coloraxis;h&&zEt(t,r,a,i,{prefix:"marker.",cLetter:"c"}),i("leaf.opacity",h?1:.7),r._hovered={marker:{line:{width:2,color:LEt.contrast(a.paper_bgcolor)}}},c&&(i("pathbar.thickness",r.pathbar.textfont.size+2*DEt),i("pathbar.side"),i("pathbar.edgeshape")),i("sort"),i("root.color"),FEt(r,a,i),r._length=null}});var oEe=ne((fhr,iEe)=>{"use strict";var qEt=Zt(),BEt=oG();iEe.exports=function(t,r){function n(a,i){return qEt.coerce(t,r,BEt,a,i)}n("iciclecolorway",r.colorway),n("extendiciclecolors")}});var lG=ne(sG=>{"use strict";var sEe=_A();sG.calc=function(e,t){return sEe.calc(e,t)};sG.crossTraceCalc=function(e){return sEe._runCrossTraceCalc("icicle",e)}});var uEe=ne((dhr,lEe)=>{"use strict";var OEt=xA(),NEt=ZV();lEe.exports=function(t,r,n){var a=n.flipX,i=n.flipY,o=n.orientation==="h",s=n.maxDepth,l=r[0],u=r[1];s&&(l=(t.height+1)*r[0]/Math.min(t.height+1,s),u=(t.height+1)*r[1]/Math.min(t.height+1,s));var c=OEt.partition().padding(n.pad.inner).size(o?[r[1],l]:[r[0],u])(t);return(o||a||i)&&NEt(c,r,{swapXY:o,flipX:a,flipY:i}),c}});var uG=ne((vhr,vEe)=>{"use strict";var cEe=Ea(),fEe=_a(),hEe=Zt(),UEt=Uh().resizeText,VEt=e7();function GEt(e){var t=e._fullLayout._iciclelayer.selectAll(".trace");UEt(e,t,"icicle"),t.each(function(r){var n=cEe.select(this),a=r[0],i=a.trace;n.style("opacity",i.opacity),n.selectAll("path.surface").each(function(o){cEe.select(this).call(dEe,o,i,e)})})}function dEe(e,t,r,n){var a=t.data.data,i=!t.children,o=a.i,s=hEe.castOption(r,o,"marker.line.color")||fEe.defaultLine,l=hEe.castOption(r,o,"marker.line.width")||0;e.call(VEt,t,r,n).style("stroke-width",l).call(fEe.stroke,s).style("opacity",i?r.leaf.opacity:null)}vEe.exports={style:GEt,styleOne:dEe}});var xEe=ne((phr,yEe)=>{"use strict";var pEe=Ea(),l7=Zt(),gEe=li(),HEt=Ms(),jEt=uEe(),mEe=uG().styleOne,cG=d2(),j3=rg(),WEt=PA(),YEt=r7().formatSliceLabel,fG=!1;yEe.exports=function(t,r,n,a,i){var o=i.width,s=i.height,l=i.viewX,u=i.viewY,c=i.pathSlice,f=i.toMoveInsideSlice,h=i.strTransform,v=i.hasTransition,d=i.handleSlicesExit,m=i.makeUpdateSliceInterpolator,x=i.makeUpdateTextInterpolator,g=i.prevEntry,E={},M=t._context.staticPlot,w=t._fullLayout,k=r[0],y=k.trace,S=y.textposition.indexOf("left")!==-1,T=y.textposition.indexOf("right")!==-1,p=y.textposition.indexOf("bottom")!==-1,C=jEt(n,[o,s],{flipX:y.tiling.flip.indexOf("x")>-1,flipY:y.tiling.flip.indexOf("y")>-1,orientation:y.tiling.orientation,pad:{inner:y.tiling.pad},maxDepth:y._maxDepth}),A=C.descendants(),P=1/0,D=-1/0;A.forEach(function(R){var B=R.depth;B>=y._maxDepth?(R.x0=R.x1=(R.x0+R.x1)/2,R.y0=R.y1=(R.y0+R.y1)/2):(P=Math.min(P,B),D=Math.max(D,B))}),a=a.data(A,j3.getPtId),y._maxVisibleLayers=isFinite(D)?D-P+1:0,a.enter().append("g").classed("slice",!0),d(a,fG,E,[o,s],c),a.order();var z=null;if(v&&g){var q=j3.getPtId(g);a.each(function(R){z===null&&j3.getPtId(R)===q&&(z={x0:R.x0,x1:R.x1,y0:R.y0,y1:R.y1})})}var U=function(){return z||{x0:0,x1:o,y0:0,y1:s}},O=a;return v&&(O=O.transition().each("end",function(){var R=pEe.select(this);j3.setSliceCursor(R,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),O.each(function(R){R._x0=l(R.x0),R._x1=l(R.x1),R._y0=u(R.y0),R._y1=u(R.y1),R._hoverX=l(R.x1-y.tiling.pad),R._hoverY=u(p?R.y1-y.tiling.pad/2:R.y0+y.tiling.pad/2);var B=pEe.select(this),Y=l7.ensureSingle(B,"path","surface",function(ue){ue.style("pointer-events",M?"none":"all")});v?Y.transition().attrTween("d",function(ue){var re=m(ue,fG,U(),[o,s],{orientation:y.tiling.orientation,flipX:y.tiling.flip.indexOf("x")>-1,flipY:y.tiling.flip.indexOf("y")>-1});return function(j){return c(re(j))}}):Y.attr("d",c),B.call(WEt,n,t,r,{styleOne:mEe,eventDataKeys:cG.eventDataKeys,transitionTime:cG.CLICK_TRANSITION_TIME,transitionEasing:cG.CLICK_TRANSITION_EASING}).call(j3.setSliceCursor,t,{isTransitioning:t._transitioning}),Y.call(mEe,R,y,t,{hovered:!1}),R.x0===R.x1||R.y0===R.y1?R._text="":R._text=YEt(R,n,y,r,w)||"";var X=l7.ensureSingle(B,"g","slicetext"),te=l7.ensureSingle(X,"text","",function(ue){ue.attr("data-notex",1)}),se=l7.ensureUniformFontSize(t,j3.determineTextFont(y,R,w.font));te.text(R._text||" ").classed("slicetext",!0).attr("text-anchor",T?"end":S?"start":"middle").call(gEe.font,se).call(HEt.convertToTspans,t),R.textBB=gEe.bBox(te.node()),R.transform=f(R,{fontSize:se.size}),R.transform.fontSize=se.size,v?te.transition().attrTween("transform",function(ue){var re=x(ue,fG,U(),[o,s]);return function(j){return h(re(j))}}):te.attr("transform",h(R))}),z}});var _Ee=ne((ghr,bEe)=>{"use strict";var XEt=rG(),ZEt=xEe();bEe.exports=function(t,r,n,a){return XEt(t,r,n,a,{type:"icicle",drawDescendants:ZEt})}});var TEe=ne((mhr,wEe)=>{"use strict";wEe.exports={moduleType:"trace",name:"icicle",basePlotModule:$Se(),categories:[],animatable:!0,attributes:iG(),layoutAttributes:oG(),supplyDefaults:aEe(),supplyLayoutDefaults:oEe(),calc:lG().calc,crossTraceCalc:lG().crossTraceCalc,plot:_Ee(),style:uG().style,colorbar:bh(),meta:{}}});var MEe=ne((yhr,AEe)=>{"use strict";AEe.exports=TEe()});var EEe=ne(W3=>{"use strict";var SEe=Sl();W3.name="funnelarea";W3.plot=function(e,t,r,n){SEe.plotBasePlot(W3.name,e,t,r,n)};W3.clean=function(e,t,r,n){SEe.cleanBasePlot(W3.name,e,t,r,n)}});var hG=ne((bhr,CEe)=>{"use strict";var Mh=r2(),$Et=os(),KEt=zl().attributes,{hovertemplateAttrs:JEt,texttemplateAttrs:QEt,templatefallbackAttrs:kEe}=rs(),g2=ci().extendFlat;CEe.exports={labels:Mh.labels,label0:Mh.label0,dlabel:Mh.dlabel,values:Mh.values,marker:{colors:Mh.marker.colors,line:{color:g2({},Mh.marker.line.color,{dflt:null}),width:g2({},Mh.marker.line.width,{dflt:1}),editType:"calc"},pattern:Mh.marker.pattern,editType:"calc"},text:Mh.text,hovertext:Mh.hovertext,scalegroup:g2({},Mh.scalegroup,{}),textinfo:g2({},Mh.textinfo,{flags:["label","text","value","percent"]}),texttemplate:QEt({editType:"plot"},{keys:["label","color","value","text","percent"]}),texttemplatefallback:kEe({editType:"plot"}),hoverinfo:g2({},$Et.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:JEt({},{keys:["label","color","value","text","percent"]}),hovertemplatefallback:kEe(),textposition:g2({},Mh.textposition,{values:["inside","none"],dflt:"inside"}),textfont:Mh.textfont,insidetextfont:Mh.insidetextfont,title:{text:Mh.title.text,font:Mh.title.font,position:g2({},Mh.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:KEt({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"}}});var dG=ne((_hr,LEe)=>{"use strict";var ekt=kL().hiddenlabels;LEe.exports={hiddenlabels:ekt,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}});var DEe=ne((whr,PEe)=>{"use strict";var FEe=Zt(),tkt=hG(),rkt=zl().defaults,nkt=wv().handleText,akt=n2().handleLabelsAndValues,ikt=n2().handleMarkerDefaults;PEe.exports=function(t,r,n,a){function i(m,x){return FEe.coerce(t,r,tkt,m,x)}var o=i("labels"),s=i("values"),l=akt(o,s),u=l.len;if(r._hasLabels=l.hasLabels,r._hasValues=l.hasValues,!r._hasLabels&&r._hasValues&&(i("label0"),i("dlabel")),!u){r.visible=!1;return}r._length=u,ikt(t,r,a,i),i("scalegroup");var c=i("text"),f=i("texttemplate");i("texttemplatefallback");var h;if(f||(h=i("textinfo",Array.isArray(c)?"text+percent":"percent")),i("hovertext"),i("hovertemplate"),i("hovertemplatefallback"),f||h&&h!=="none"){var v=i("textposition");nkt(t,r,a,i,v,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else h==="none"&&i("textposition","none");rkt(r,a,i);var d=i("title.text");d&&(i("title.position"),FEe.coerceFont(i,"title.font",a.font)),i("aspectratio"),i("baseratio")}});var IEe=ne((Thr,REe)=>{"use strict";var okt=Zt(),skt=dG();REe.exports=function(t,r){function n(a,i){return okt.coerce(t,r,skt,a,i)}n("hiddenlabels"),n("funnelareacolorway",r.colorway),n("extendfunnelareacolors")}});var vG=ne((Ahr,qEe)=>{"use strict";var zEe=k3();function lkt(e,t){return zEe.calc(e,t)}function ukt(e){zEe.crossTraceCalc(e,{type:"funnelarea"})}qEe.exports={calc:lkt,crossTraceCalc:ukt}});var VEe=ne((Mhr,UEe)=>{"use strict";var m2=Ea(),pG=li(),Gm=Zt(),ckt=Gm.strScale,BEe=Gm.strTranslate,OEe=Ms(),fkt=Dx(),hkt=fkt.toMoveInsideBar,NEe=Uh(),dkt=NEe.recordMinTextSize,vkt=NEe.clearMinTextSize,pkt=em(),Y3=DL(),gkt=Y3.attachFxHandlers,mkt=Y3.determineInsideTextFont,ykt=Y3.layoutAreas,xkt=Y3.prerenderTitles,bkt=Y3.positionTitleOutside,_kt=Y3.formatSliceLabel;UEe.exports=function(t,r){var n=t._context.staticPlot,a=t._fullLayout;vkt("funnelarea",a),xkt(r,t),ykt(r,a._size),Gm.makeTraceGroups(a._funnelarealayer,r,"trace").each(function(i){var o=m2.select(this),s=i[0],l=s.trace;Tkt(i),o.each(function(){var u=m2.select(this).selectAll("g.slice").data(i);u.enter().append("g").classed("slice",!0),u.exit().remove(),u.each(function(f,h){if(f.hidden){m2.select(this).selectAll("path,g").remove();return}f.pointNumber=f.i,f.curveNumber=l.index;var v=s.cx,d=s.cy,m=m2.select(this),x=m.selectAll("path.surface").data([f]);x.enter().append("path").classed("surface",!0).style({"pointer-events":n?"none":"all"}),m.call(gkt,t,i);var g="M"+(v+f.TR[0])+","+(d+f.TR[1])+gG(f.TR,f.BR)+gG(f.BR,f.BL)+gG(f.BL,f.TL)+"Z";x.attr("d",g),_kt(t,f,s);var E=pkt.castOption(l.textposition,f.pts),M=m.selectAll("g.slicetext").data(f.text&&E!=="none"?[0]:[]);M.enter().append("g").classed("slicetext",!0),M.exit().remove(),M.each(function(){var w=Gm.ensureSingle(m2.select(this),"text","",function(P){P.attr("data-notex",1)}),k=Gm.ensureUniformFontSize(t,mkt(l,f,a.font));w.text(f.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(pG.font,k).call(OEe.convertToTspans,t);var y=pG.bBox(w.node()),S,T,p,C=Math.min(f.BL[1],f.BR[1])+d,A=Math.max(f.TL[1],f.TR[1])+d;T=Math.max(f.TL[0],f.BL[0])+v,p=Math.min(f.TR[0],f.BR[0])+v,S=hkt(T,p,C,A,y,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"}),S.fontSize=k.size,dkt(l.type,S,a),i[h].transform=S,Gm.setTransormAndDisplay(w,S)})});var c=m2.select(this).selectAll("g.titletext").data(l.title.text?[0]:[]);c.enter().append("g").classed("titletext",!0),c.exit().remove(),c.each(function(){var f=Gm.ensureSingle(m2.select(this),"text","",function(d){d.attr("data-notex",1)}),h=l.title.text;l._meta&&(h=Gm.templateString(h,l._meta)),f.text(h).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(pG.font,l.title.font).call(OEe.convertToTspans,t);var v=bkt(s,a._size);f.attr("transform",BEe(v.x,v.y)+ckt(Math.min(1,v.scale))+BEe(v.tx,v.ty))})})})};function gG(e,t){var r=t[0]-e[0],n=t[1]-e[1];return"l"+r+","+n}function wkt(e,t){return[.5*(e[0]+t[0]),.5*(e[1]+t[1])]}function Tkt(e){if(!e.length)return;var t=e[0],r=t.trace,n=r.aspectratio,a=r.baseratio;a>.999&&(a=.999);var i=Math.pow(a,2),o=t.vTotal,s=o*i/(1-i),l=o,u=s/o;function c(){var D=Math.sqrt(u);return{x:D,y:-D}}function f(){var D=c();return[D.x,D.y]}var h,v=[];v.push(f());var d,m;for(d=e.length-1;d>-1;d--)if(m=e[d],!m.hidden){var x=m.v/l;u+=x,v.push(f())}var g=1/0,E=-1/0;for(d=0;d-1;d--)if(m=e[d],!m.hidden){C+=1;var A=v[C][0],P=v[C][1];m.TL=[-A,P],m.TR=[A,P],m.BL=T,m.BR=p,m.pxmid=wkt(m.TR,m.BR),T=m.TL,p=m.TR}}});var jEe=ne((Shr,HEe)=>{"use strict";var GEe=Ea(),Akt=Kb(),Mkt=Uh().resizeText;HEe.exports=function(t){var r=t._fullLayout._funnelarealayer.selectAll(".trace");Mkt(t,r,"funnelarea"),r.each(function(n){var a=n[0],i=a.trace,o=GEe.select(this);o.style({opacity:i.opacity}),o.selectAll("path.surface").each(function(s){GEe.select(this).call(Akt,s,i,t)})})}});var YEe=ne((Ehr,WEe)=>{"use strict";WEe.exports={moduleType:"trace",name:"funnelarea",basePlotModule:EEe(),categories:["pie-like","funnelarea","showLegend"],attributes:hG(),layoutAttributes:dG(),supplyDefaults:DEe(),supplyLayoutDefaults:IEe(),calc:vG().calc,crossTraceCalc:vG().crossTraceCalc,plot:VEe(),style:jEe(),styleOne:Kb(),meta:{}}});var ZEe=ne((khr,XEe)=>{"use strict";XEe.exports=YEe()});var $f=ne((Chr,$Ee)=>{"use strict";(function(){var e={1964:(function(a,i,o){a.exports={alpha_shape:o(3502),convex_hull:o(7352),delaunay_triangulate:o(7642),gl_cone3d:o(6405),gl_error3d:o(9165),gl_line3d:o(5714),gl_mesh3d:o(7201),gl_plot3d:o(4100),gl_scatter3d:o(8418),gl_streamtube3d:o(7815),gl_surface3d:o(9499),ndarray:o(9618),ndarray_linear_interpolate:o(4317)}}),4793:(function(a,i,o){"use strict";var s;var l=o(7507),u=o(3778),c=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;i.hp=d,s=p,i.IS=50;var f=2147483647;s=f,d.TYPED_ARRAY_SUPPORT=h(),!d.TYPED_ARRAY_SUPPORT&&typeof console!="undefined"&&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 h(){try{var Ie=new Uint8Array(1),de={foo:function(){return 42}};return Object.setPrototypeOf(de,Uint8Array.prototype),Object.setPrototypeOf(Ie,de),Ie.foo()===42}catch(Ee){return!1}}Object.defineProperty(d.prototype,"parent",{enumerable:!0,get:function(){if(d.isBuffer(this))return this.buffer}}),Object.defineProperty(d.prototype,"offset",{enumerable:!0,get:function(){if(d.isBuffer(this))return this.byteOffset}});function v(Ie){if(Ie>f)throw new RangeError('The value "'+Ie+'" is invalid for option "size"');var de=new Uint8Array(Ie);return Object.setPrototypeOf(de,d.prototype),de}function d(Ie,de,Ee){if(typeof Ie=="number"){if(typeof de=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return E(Ie)}return m(Ie,de,Ee)}d.poolSize=8192;function m(Ie,de,Ee){if(typeof Ie=="string")return M(Ie,de);if(ArrayBuffer.isView(Ie))return k(Ie);if(Ie==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Ie);if(qe(Ie,ArrayBuffer)||Ie&&qe(Ie.buffer,ArrayBuffer)||typeof SharedArrayBuffer!="undefined"&&(qe(Ie,SharedArrayBuffer)||Ie&&qe(Ie.buffer,SharedArrayBuffer)))return y(Ie,de,Ee);if(typeof Ie=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var Ue=Ie.valueOf&&Ie.valueOf();if(Ue!=null&&Ue!==Ie)return d.from(Ue,de,Ee);var ge=S(Ie);if(ge)return ge;if(typeof Symbol!="undefined"&&Symbol.toPrimitive!=null&&typeof Ie[Symbol.toPrimitive]=="function")return d.from(Ie[Symbol.toPrimitive]("string"),de,Ee);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Ie)}d.from=function(Ie,de,Ee){return m(Ie,de,Ee)},Object.setPrototypeOf(d.prototype,Uint8Array.prototype),Object.setPrototypeOf(d,Uint8Array);function x(Ie){if(typeof Ie!="number")throw new TypeError('"size" argument must be of type number');if(Ie<0)throw new RangeError('The value "'+Ie+'" is invalid for option "size"')}function g(Ie,de,Ee){return x(Ie),Ie<=0?v(Ie):de!==void 0?typeof Ee=="string"?v(Ie).fill(de,Ee):v(Ie).fill(de):v(Ie)}d.alloc=function(Ie,de,Ee){return g(Ie,de,Ee)};function E(Ie){return x(Ie),v(Ie<0?0:T(Ie)|0)}d.allocUnsafe=function(Ie){return E(Ie)},d.allocUnsafeSlow=function(Ie){return E(Ie)};function M(Ie,de){if((typeof de!="string"||de==="")&&(de="utf8"),!d.isEncoding(de))throw new TypeError("Unknown encoding: "+de);var Ee=C(Ie,de)|0,Ue=v(Ee),ge=Ue.write(Ie,de);return ge!==Ee&&(Ue=Ue.slice(0,ge)),Ue}function w(Ie){for(var de=Ie.length<0?0:T(Ie.length)|0,Ee=v(de),Ue=0;Ue=f)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+f.toString(16)+" bytes");return Ie|0}function p(Ie){return+Ie!=Ie&&(Ie=0),d.alloc(+Ie)}d.isBuffer=function(de){return de!=null&&de._isBuffer===!0&&de!==d.prototype},d.compare=function(de,Ee){if(qe(de,Uint8Array)&&(de=d.from(de,de.offset,de.byteLength)),qe(Ee,Uint8Array)&&(Ee=d.from(Ee,Ee.offset,Ee.byteLength)),!d.isBuffer(de)||!d.isBuffer(Ee))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(de===Ee)return 0;for(var Ue=de.length,ge=Ee.length,Ge=0,tt=Math.min(Ue,ge);Gege.length?d.from(tt).copy(ge,Ge):Uint8Array.prototype.set.call(ge,tt,Ge);else if(d.isBuffer(tt))tt.copy(ge,Ge);else throw new TypeError('"list" argument must be an Array of Buffers');Ge+=tt.length}return ge};function C(Ie,de){if(d.isBuffer(Ie))return Ie.length;if(ArrayBuffer.isView(Ie)||qe(Ie,ArrayBuffer))return Ie.byteLength;if(typeof Ie!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof Ie);var Ee=Ie.length,Ue=arguments.length>2&&arguments[2]===!0;if(!Ue&&Ee===0)return 0;for(var ge=!1;;)switch(de){case"ascii":case"latin1":case"binary":return Ee;case"utf8":case"utf-8":return ze(Ie).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ee*2;case"hex":return Ee>>>1;case"base64":return st(Ie).length;default:if(ge)return Ue?-1:ze(Ie).length;de=(""+de).toLowerCase(),ge=!0}}d.byteLength=C;function A(Ie,de,Ee){var Ue=!1;if((de===void 0||de<0)&&(de=0),de>this.length||((Ee===void 0||Ee>this.length)&&(Ee=this.length),Ee<=0)||(Ee>>>=0,de>>>=0,Ee<=de))return"";for(Ie||(Ie="utf8");;)switch(Ie){case"hex":return j(this,de,Ee);case"utf8":case"utf-8":return X(this,de,Ee);case"ascii":return ue(this,de,Ee);case"latin1":case"binary":return re(this,de,Ee);case"base64":return Y(this,de,Ee);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return fe(this,de,Ee);default:if(Ue)throw new TypeError("Unknown encoding: "+Ie);Ie=(Ie+"").toLowerCase(),Ue=!0}}d.prototype._isBuffer=!0;function P(Ie,de,Ee){var Ue=Ie[de];Ie[de]=Ie[Ee],Ie[Ee]=Ue}d.prototype.swap16=function(){var de=this.length;if(de%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var Ee=0;EeEe&&(de+=" ... "),""},c&&(d.prototype[c]=d.prototype.inspect),d.prototype.compare=function(de,Ee,Ue,ge,Ge){if(qe(de,Uint8Array)&&(de=d.from(de,de.offset,de.byteLength)),!d.isBuffer(de))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof de);if(Ee===void 0&&(Ee=0),Ue===void 0&&(Ue=de?de.length:0),ge===void 0&&(ge=0),Ge===void 0&&(Ge=this.length),Ee<0||Ue>de.length||ge<0||Ge>this.length)throw new RangeError("out of range index");if(ge>=Ge&&Ee>=Ue)return 0;if(ge>=Ge)return-1;if(Ee>=Ue)return 1;if(Ee>>>=0,Ue>>>=0,ge>>>=0,Ge>>>=0,this===de)return 0;for(var tt=Ge-ge,ft=Ue-Ee,He=Math.min(tt,ft),Qe=this.slice(ge,Ge),We=de.slice(Ee,Ue),pt=0;pt2147483647?Ee=2147483647:Ee<-2147483648&&(Ee=-2147483648),Ee=+Ee,mt(Ee)&&(Ee=ge?0:Ie.length-1),Ee<0&&(Ee=Ie.length+Ee),Ee>=Ie.length){if(ge)return-1;Ee=Ie.length-1}else if(Ee<0)if(ge)Ee=0;else return-1;if(typeof de=="string"&&(de=d.from(de,Ue)),d.isBuffer(de))return de.length===0?-1:z(Ie,de,Ee,Ue,ge);if(typeof de=="number")return de=de&255,typeof Uint8Array.prototype.indexOf=="function"?ge?Uint8Array.prototype.indexOf.call(Ie,de,Ee):Uint8Array.prototype.lastIndexOf.call(Ie,de,Ee):z(Ie,[de],Ee,Ue,ge);throw new TypeError("val must be string, number or Buffer")}function z(Ie,de,Ee,Ue,ge){var Ge=1,tt=Ie.length,ft=de.length;if(Ue!==void 0&&(Ue=String(Ue).toLowerCase(),Ue==="ucs2"||Ue==="ucs-2"||Ue==="utf16le"||Ue==="utf-16le")){if(Ie.length<2||de.length<2)return-1;Ge=2,tt/=2,ft/=2,Ee/=2}function He(qt,Wt){return Ge===1?qt[Wt]:qt.readUInt16BE(Wt*Ge)}var Qe;if(ge){var We=-1;for(Qe=Ee;Qett&&(Ee=tt-ft),Qe=Ee;Qe>=0;Qe--){for(var pt=!0,kt=0;ktge&&(Ue=ge)):Ue=ge;var Ge=de.length;Ue>Ge/2&&(Ue=Ge/2);for(var tt=0;tt>>0,isFinite(Ue)?(Ue=Ue>>>0,ge===void 0&&(ge="utf8")):(ge=Ue,Ue=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var Ge=this.length-Ee;if((Ue===void 0||Ue>Ge)&&(Ue=Ge),de.length>0&&(Ue<0||Ee<0)||Ee>this.length)throw new RangeError("Attempt to write outside buffer bounds");ge||(ge="utf8");for(var tt=!1;;)switch(ge){case"hex":return q(this,de,Ee,Ue);case"utf8":case"utf-8":return U(this,de,Ee,Ue);case"ascii":case"latin1":case"binary":return O(this,de,Ee,Ue);case"base64":return R(this,de,Ee,Ue);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,de,Ee,Ue);default:if(tt)throw new TypeError("Unknown encoding: "+ge);ge=(""+ge).toLowerCase(),tt=!0}},d.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Y(Ie,de,Ee){return de===0&&Ee===Ie.length?l.fromByteArray(Ie):l.fromByteArray(Ie.slice(de,Ee))}function X(Ie,de,Ee){Ee=Math.min(Ie.length,Ee);for(var Ue=[],ge=de;ge239?4:Ge>223?3:Ge>191?2:1;if(ge+ft<=Ee){var He,Qe,We,pt;switch(ft){case 1:Ge<128&&(tt=Ge);break;case 2:He=Ie[ge+1],(He&192)===128&&(pt=(Ge&31)<<6|He&63,pt>127&&(tt=pt));break;case 3:He=Ie[ge+1],Qe=Ie[ge+2],(He&192)===128&&(Qe&192)===128&&(pt=(Ge&15)<<12|(He&63)<<6|Qe&63,pt>2047&&(pt<55296||pt>57343)&&(tt=pt));break;case 4:He=Ie[ge+1],Qe=Ie[ge+2],We=Ie[ge+3],(He&192)===128&&(Qe&192)===128&&(We&192)===128&&(pt=(Ge&15)<<18|(He&63)<<12|(Qe&63)<<6|We&63,pt>65535&&pt<1114112&&(tt=pt))}}tt===null?(tt=65533,ft=1):tt>65535&&(tt-=65536,Ue.push(tt>>>10&1023|55296),tt=56320|tt&1023),Ue.push(tt),ge+=ft}return se(Ue)}var te=4096;function se(Ie){var de=Ie.length;if(de<=te)return String.fromCharCode.apply(String,Ie);for(var Ee="",Ue=0;UeUe)&&(Ee=Ue);for(var ge="",Ge=de;GeUe&&(de=Ue),Ee<0?(Ee+=Ue,Ee<0&&(Ee=0)):Ee>Ue&&(Ee=Ue),EeEe)throw new RangeError("Trying to access beyond buffer length")}d.prototype.readUintLE=d.prototype.readUIntLE=function(de,Ee,Ue){de=de>>>0,Ee=Ee>>>0,Ue||ce(de,Ee,this.length);for(var ge=this[de],Ge=1,tt=0;++tt>>0,Ee=Ee>>>0,Ue||ce(de,Ee,this.length);for(var ge=this[de+--Ee],Ge=1;Ee>0&&(Ge*=256);)ge+=this[de+--Ee]*Ge;return ge},d.prototype.readUint8=d.prototype.readUInt8=function(de,Ee){return de=de>>>0,Ee||ce(de,1,this.length),this[de]},d.prototype.readUint16LE=d.prototype.readUInt16LE=function(de,Ee){return de=de>>>0,Ee||ce(de,2,this.length),this[de]|this[de+1]<<8},d.prototype.readUint16BE=d.prototype.readUInt16BE=function(de,Ee){return de=de>>>0,Ee||ce(de,2,this.length),this[de]<<8|this[de+1]},d.prototype.readUint32LE=d.prototype.readUInt32LE=function(de,Ee){return de=de>>>0,Ee||ce(de,4,this.length),(this[de]|this[de+1]<<8|this[de+2]<<16)+this[de+3]*16777216},d.prototype.readUint32BE=d.prototype.readUInt32BE=function(de,Ee){return de=de>>>0,Ee||ce(de,4,this.length),this[de]*16777216+(this[de+1]<<16|this[de+2]<<8|this[de+3])},d.prototype.readIntLE=function(de,Ee,Ue){de=de>>>0,Ee=Ee>>>0,Ue||ce(de,Ee,this.length);for(var ge=this[de],Ge=1,tt=0;++tt=Ge&&(ge-=Math.pow(2,8*Ee)),ge},d.prototype.readIntBE=function(de,Ee,Ue){de=de>>>0,Ee=Ee>>>0,Ue||ce(de,Ee,this.length);for(var ge=Ee,Ge=1,tt=this[de+--ge];ge>0&&(Ge*=256);)tt+=this[de+--ge]*Ge;return Ge*=128,tt>=Ge&&(tt-=Math.pow(2,8*Ee)),tt},d.prototype.readInt8=function(de,Ee){return de=de>>>0,Ee||ce(de,1,this.length),this[de]&128?(255-this[de]+1)*-1:this[de]},d.prototype.readInt16LE=function(de,Ee){de=de>>>0,Ee||ce(de,2,this.length);var Ue=this[de]|this[de+1]<<8;return Ue&32768?Ue|4294901760:Ue},d.prototype.readInt16BE=function(de,Ee){de=de>>>0,Ee||ce(de,2,this.length);var Ue=this[de+1]|this[de]<<8;return Ue&32768?Ue|4294901760:Ue},d.prototype.readInt32LE=function(de,Ee){return de=de>>>0,Ee||ce(de,4,this.length),this[de]|this[de+1]<<8|this[de+2]<<16|this[de+3]<<24},d.prototype.readInt32BE=function(de,Ee){return de=de>>>0,Ee||ce(de,4,this.length),this[de]<<24|this[de+1]<<16|this[de+2]<<8|this[de+3]},d.prototype.readFloatLE=function(de,Ee){return de=de>>>0,Ee||ce(de,4,this.length),u.read(this,de,!0,23,4)},d.prototype.readFloatBE=function(de,Ee){return de=de>>>0,Ee||ce(de,4,this.length),u.read(this,de,!1,23,4)},d.prototype.readDoubleLE=function(de,Ee){return de=de>>>0,Ee||ce(de,8,this.length),u.read(this,de,!0,52,8)},d.prototype.readDoubleBE=function(de,Ee){return de=de>>>0,Ee||ce(de,8,this.length),u.read(this,de,!1,52,8)};function oe(Ie,de,Ee,Ue,ge,Ge){if(!d.isBuffer(Ie))throw new TypeError('"buffer" argument must be a Buffer instance');if(de>ge||deIe.length)throw new RangeError("Index out of range")}d.prototype.writeUintLE=d.prototype.writeUIntLE=function(de,Ee,Ue,ge){if(de=+de,Ee=Ee>>>0,Ue=Ue>>>0,!ge){var Ge=Math.pow(2,8*Ue)-1;oe(this,de,Ee,Ue,Ge,0)}var tt=1,ft=0;for(this[Ee]=de&255;++ft>>0,Ue=Ue>>>0,!ge){var Ge=Math.pow(2,8*Ue)-1;oe(this,de,Ee,Ue,Ge,0)}var tt=Ue-1,ft=1;for(this[Ee+tt]=de&255;--tt>=0&&(ft*=256);)this[Ee+tt]=de/ft&255;return Ee+Ue},d.prototype.writeUint8=d.prototype.writeUInt8=function(de,Ee,Ue){return de=+de,Ee=Ee>>>0,Ue||oe(this,de,Ee,1,255,0),this[Ee]=de&255,Ee+1},d.prototype.writeUint16LE=d.prototype.writeUInt16LE=function(de,Ee,Ue){return de=+de,Ee=Ee>>>0,Ue||oe(this,de,Ee,2,65535,0),this[Ee]=de&255,this[Ee+1]=de>>>8,Ee+2},d.prototype.writeUint16BE=d.prototype.writeUInt16BE=function(de,Ee,Ue){return de=+de,Ee=Ee>>>0,Ue||oe(this,de,Ee,2,65535,0),this[Ee]=de>>>8,this[Ee+1]=de&255,Ee+2},d.prototype.writeUint32LE=d.prototype.writeUInt32LE=function(de,Ee,Ue){return de=+de,Ee=Ee>>>0,Ue||oe(this,de,Ee,4,4294967295,0),this[Ee+3]=de>>>24,this[Ee+2]=de>>>16,this[Ee+1]=de>>>8,this[Ee]=de&255,Ee+4},d.prototype.writeUint32BE=d.prototype.writeUInt32BE=function(de,Ee,Ue){return de=+de,Ee=Ee>>>0,Ue||oe(this,de,Ee,4,4294967295,0),this[Ee]=de>>>24,this[Ee+1]=de>>>16,this[Ee+2]=de>>>8,this[Ee+3]=de&255,Ee+4},d.prototype.writeIntLE=function(de,Ee,Ue,ge){if(de=+de,Ee=Ee>>>0,!ge){var Ge=Math.pow(2,8*Ue-1);oe(this,de,Ee,Ue,Ge-1,-Ge)}var tt=0,ft=1,He=0;for(this[Ee]=de&255;++tt>0)-He&255;return Ee+Ue},d.prototype.writeIntBE=function(de,Ee,Ue,ge){if(de=+de,Ee=Ee>>>0,!ge){var Ge=Math.pow(2,8*Ue-1);oe(this,de,Ee,Ue,Ge-1,-Ge)}var tt=Ue-1,ft=1,He=0;for(this[Ee+tt]=de&255;--tt>=0&&(ft*=256);)de<0&&He===0&&this[Ee+tt+1]!==0&&(He=1),this[Ee+tt]=(de/ft>>0)-He&255;return Ee+Ue},d.prototype.writeInt8=function(de,Ee,Ue){return de=+de,Ee=Ee>>>0,Ue||oe(this,de,Ee,1,127,-128),de<0&&(de=255+de+1),this[Ee]=de&255,Ee+1},d.prototype.writeInt16LE=function(de,Ee,Ue){return de=+de,Ee=Ee>>>0,Ue||oe(this,de,Ee,2,32767,-32768),this[Ee]=de&255,this[Ee+1]=de>>>8,Ee+2},d.prototype.writeInt16BE=function(de,Ee,Ue){return de=+de,Ee=Ee>>>0,Ue||oe(this,de,Ee,2,32767,-32768),this[Ee]=de>>>8,this[Ee+1]=de&255,Ee+2},d.prototype.writeInt32LE=function(de,Ee,Ue){return de=+de,Ee=Ee>>>0,Ue||oe(this,de,Ee,4,2147483647,-2147483648),this[Ee]=de&255,this[Ee+1]=de>>>8,this[Ee+2]=de>>>16,this[Ee+3]=de>>>24,Ee+4},d.prototype.writeInt32BE=function(de,Ee,Ue){return de=+de,Ee=Ee>>>0,Ue||oe(this,de,Ee,4,2147483647,-2147483648),de<0&&(de=4294967295+de+1),this[Ee]=de>>>24,this[Ee+1]=de>>>16,this[Ee+2]=de>>>8,this[Ee+3]=de&255,Ee+4};function we(Ie,de,Ee,Ue,ge,Ge){if(Ee+Ue>Ie.length)throw new RangeError("Index out of range");if(Ee<0)throw new RangeError("Index out of range")}function he(Ie,de,Ee,Ue,ge){return de=+de,Ee=Ee>>>0,ge||we(Ie,de,Ee,4,34028234663852886e22,-34028234663852886e22),u.write(Ie,de,Ee,Ue,23,4),Ee+4}d.prototype.writeFloatLE=function(de,Ee,Ue){return he(this,de,Ee,!0,Ue)},d.prototype.writeFloatBE=function(de,Ee,Ue){return he(this,de,Ee,!1,Ue)};function ye(Ie,de,Ee,Ue,ge){return de=+de,Ee=Ee>>>0,ge||we(Ie,de,Ee,8,17976931348623157e292,-17976931348623157e292),u.write(Ie,de,Ee,Ue,52,8),Ee+8}d.prototype.writeDoubleLE=function(de,Ee,Ue){return ye(this,de,Ee,!0,Ue)},d.prototype.writeDoubleBE=function(de,Ee,Ue){return ye(this,de,Ee,!1,Ue)},d.prototype.copy=function(de,Ee,Ue,ge){if(!d.isBuffer(de))throw new TypeError("argument should be a Buffer");if(Ue||(Ue=0),!ge&&ge!==0&&(ge=this.length),Ee>=de.length&&(Ee=de.length),Ee||(Ee=0),ge>0&&ge=this.length)throw new RangeError("Index out of range");if(ge<0)throw new RangeError("sourceEnd out of bounds");ge>this.length&&(ge=this.length),de.length-Ee>>0,Ue=Ue===void 0?this.length:Ue>>>0,de||(de=0);var tt;if(typeof de=="number")for(tt=Ee;tt55295&&Ee<57344){if(!ge){if(Ee>56319){(de-=3)>-1&&Ge.push(239,191,189);continue}else if(tt+1===Ue){(de-=3)>-1&&Ge.push(239,191,189);continue}ge=Ee;continue}if(Ee<56320){(de-=3)>-1&&Ge.push(239,191,189),ge=Ee;continue}Ee=(ge-55296<<10|Ee-56320)+65536}else ge&&(de-=3)>-1&&Ge.push(239,191,189);if(ge=null,Ee<128){if((de-=1)<0)break;Ge.push(Ee)}else if(Ee<2048){if((de-=2)<0)break;Ge.push(Ee>>6|192,Ee&63|128)}else if(Ee<65536){if((de-=3)<0)break;Ge.push(Ee>>12|224,Ee>>6&63|128,Ee&63|128)}else if(Ee<1114112){if((de-=4)<0)break;Ge.push(Ee>>18|240,Ee>>12&63|128,Ee>>6&63|128,Ee&63|128)}else throw new Error("Invalid code point")}return Ge}function Xe(Ie){for(var de=[],Ee=0;Ee>8,ge=Ee%256,Ge.push(ge),Ge.push(Ue);return Ge}function st(Ie){return l.toByteArray(le(Ie))}function Oe(Ie,de,Ee,Ue){for(var ge=0;ge=de.length||ge>=Ie.length);++ge)de[ge+Ee]=Ie[ge];return ge}function qe(Ie,de){return Ie instanceof de||Ie!=null&&Ie.constructor!=null&&Ie.constructor.name!=null&&Ie.constructor.name===de.name}function mt(Ie){return Ie!==Ie}var lt=(function(){for(var Ie="0123456789abcdef",de=new Array(256),Ee=0;Ee<16;++Ee)for(var Ue=Ee*16,ge=0;ge<16;++ge)de[Ue+ge]=Ie[Ee]+Ie[ge];return de})()}),9216:(function(a){"use strict";a.exports=l,a.exports.isMobile=l,a.exports.default=l;let i=/(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,o=/CrOS/,s=/android|ipad|playbook|silk/i;function l(u){u||(u={});let c=u.ua;if(!c&&typeof navigator!="undefined"&&(c=navigator.userAgent),c&&c.headers&&typeof c.headers["user-agent"]=="string"&&(c=c.headers["user-agent"]),typeof c!="string")return!1;let f=i.test(c)&&!o.test(c)||!!u.tablet&&s.test(c);return!f&&u.tablet&&u.featureDetect&&navigator&&navigator.maxTouchPoints>1&&c.indexOf("Macintosh")!==-1&&c.indexOf("Safari")!==-1&&(f=!0),f}}),6296:(function(a,i,o){"use strict";a.exports=h;var s=o(7261),l=o(9977),u=o(1811);function c(v,d){this._controllerNames=Object.keys(v),this._controllerList=this._controllerNames.map(function(m){return v[m]}),this._mode=d,this._active=v[d],this._active||(this._mode="turntable",this._active=v.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 f=c.prototype;f.flush=function(v){for(var d=this._controllerList,m=0;m0)throw new Error("Invalid string. Length must be a multiple of 4");var k=M.indexOf("=");k===-1&&(k=w);var y=k===w?0:4-k%4;return[k,y]}function v(M){var w=h(M),k=w[0],y=w[1];return(k+y)*3/4-y}function d(M,w,k){return(w+k)*3/4-k}function m(M){var w,k=h(M),y=k[0],S=k[1],T=new l(d(M,y,S)),p=0,C=S>0?y-4:y,A;for(A=0;A>16&255,T[p++]=w>>8&255,T[p++]=w&255;return S===2&&(w=s[M.charCodeAt(A)]<<2|s[M.charCodeAt(A+1)]>>4,T[p++]=w&255),S===1&&(w=s[M.charCodeAt(A)]<<10|s[M.charCodeAt(A+1)]<<4|s[M.charCodeAt(A+2)]>>2,T[p++]=w>>8&255,T[p++]=w&255),T}function x(M){return o[M>>18&63]+o[M>>12&63]+o[M>>6&63]+o[M&63]}function g(M,w,k){for(var y,S=[],T=w;TC?C:p+T));return y===1?(w=M[k-1],S.push(o[w>>2]+o[w<<4&63]+"==")):y===2&&(w=(M[k-2]<<8)+M[k-1],S.push(o[w>>10]+o[w>>4&63]+o[w<<2&63]+"=")),S.join("")}}),3865:(function(a,i,o){"use strict";var s=o(869);a.exports=l;function l(u,c){return s(u[0].mul(c[1]).add(c[0].mul(u[1])),u[1].mul(c[1]))}}),1318:(function(a){"use strict";a.exports=i;function i(o,s){return o[0].mul(s[1]).cmp(s[0].mul(o[1]))}}),8697:(function(a,i,o){"use strict";var s=o(869);a.exports=l;function l(u,c){return s(u[0].mul(c[1]),u[1].mul(c[0]))}}),7842:(function(a,i,o){"use strict";var s=o(6330),l=o(1533),u=o(2651),c=o(6768),f=o(869),h=o(8697);a.exports=v;function v(d,m){if(s(d))return m?h(d,v(m)):[d[0].clone(),d[1].clone()];var x=0,g,E;if(l(d))g=d.clone();else if(typeof d=="string")g=c(d);else{if(d===0)return[u(0),u(1)];if(d===Math.floor(d))g=u(d);else{for(;d!==Math.floor(d);)d=d*Math.pow(2,256),x-=256;g=u(d)}}if(s(m))g.mul(m[1]),E=m[0].clone();else if(l(m))E=m.clone();else if(typeof m=="string")E=c(m);else if(!m)E=u(1);else if(m===Math.floor(m))E=u(m);else{for(;m!==Math.floor(m);)m=m*Math.pow(2,256),x+=256;E=u(m)}return x>0?g=g.ushln(x):x<0&&(E=E.ushln(-x)),f(g,E)}}),6330:(function(a,i,o){"use strict";var s=o(1533);a.exports=l;function l(u){return Array.isArray(u)&&u.length===2&&s(u[0])&&s(u[1])}}),5716:(function(a,i,o){"use strict";var s=o(6859);a.exports=l;function l(u){return u.cmp(new s(0))}}),1369:(function(a,i,o){"use strict";var s=o(5716);a.exports=l;function l(u){var c=u.length,f=u.words,h=0;if(c===1)h=f[0];else if(c===2)h=f[0]+f[1]*67108864;else for(var v=0;v20?52:h+32}}),1533:(function(a,i,o){"use strict";var s=o(6859);a.exports=l;function l(u){return u&&typeof u=="object"&&!!u.words}}),2651:(function(a,i,o){"use strict";var s=o(6859),l=o(2361);a.exports=u;function u(c){var f=l.exponent(c);return f<52?new s(c):new s(c*Math.pow(2,52-f)).ushln(f-52)}}),869:(function(a,i,o){"use strict";var s=o(2651),l=o(5716);a.exports=u;function u(c,f){var h=l(c),v=l(f);if(h===0)return[s(0),s(1)];if(v===0)return[s(0),s(0)];v<0&&(c=c.neg(),f=f.neg());var d=c.gcd(f);return d.cmpn(1)?[c.div(d),f.div(d)]:[c,f]}}),6768:(function(a,i,o){"use strict";var s=o(6859);a.exports=l;function l(u){return new s(u)}}),6504:(function(a,i,o){"use strict";var s=o(869);a.exports=l;function l(u,c){return s(u[0].mul(c[0]),u[1].mul(c[1]))}}),7721:(function(a,i,o){"use strict";var s=o(5716);a.exports=l;function l(u){return s(u[0])*s(u[1])}}),5572:(function(a,i,o){"use strict";var s=o(869);a.exports=l;function l(u,c){return s(u[0].mul(c[1]).sub(u[1].mul(c[0])),u[1].mul(c[1]))}}),946:(function(a,i,o){"use strict";var s=o(1369),l=o(4025);a.exports=u;function u(c){var f=c[0],h=c[1];if(f.cmpn(0)===0)return 0;var v=f.abs().divmod(h.abs()),d=v.div,m=s(d),x=v.mod,g=f.negative!==h.negative?-1:1;if(x.cmpn(0)===0)return g*m;if(m){var E=l(m)+4,M=s(x.ushln(E).divRound(h));return g*(m+M*Math.pow(2,-E))}else{var w=h.bitLength()-x.bitLength()+53,M=s(x.ushln(w).divRound(h));return w<1023?g*M*Math.pow(2,-w):(M*=Math.pow(2,-1023),g*M*Math.pow(2,1023-w))}}}),2478:(function(a){"use strict";function i(f,h,v,d,m){for(var x=m+1;d<=m;){var g=d+m>>>1,E=f[g],M=v!==void 0?v(E,h):E-h;M>=0?(x=g,m=g-1):d=g+1}return x}function o(f,h,v,d,m){for(var x=m+1;d<=m;){var g=d+m>>>1,E=f[g],M=v!==void 0?v(E,h):E-h;M>0?(x=g,m=g-1):d=g+1}return x}function s(f,h,v,d,m){for(var x=d-1;d<=m;){var g=d+m>>>1,E=f[g],M=v!==void 0?v(E,h):E-h;M<0?(x=g,d=g+1):m=g-1}return x}function l(f,h,v,d,m){for(var x=d-1;d<=m;){var g=d+m>>>1,E=f[g],M=v!==void 0?v(E,h):E-h;M<=0?(x=g,d=g+1):m=g-1}return x}function u(f,h,v,d,m){for(;d<=m;){var x=d+m>>>1,g=f[x],E=v!==void 0?v(g,h):g-h;if(E===0)return x;E<=0?d=x+1:m=x-1}return-1}function c(f,h,v,d,m,x){return typeof v=="function"?x(f,h,v,d===void 0?0:d|0,m===void 0?f.length-1:m|0):x(f,h,void 0,v===void 0?0:v|0,d===void 0?f.length-1:d|0)}a.exports={ge:function(f,h,v,d,m){return c(f,h,v,d,m,i)},gt:function(f,h,v,d,m){return c(f,h,v,d,m,o)},lt:function(f,h,v,d,m){return c(f,h,v,d,m,s)},le:function(f,h,v,d,m){return c(f,h,v,d,m,l)},eq:function(f,h,v,d,m){return c(f,h,v,d,m,u)}}}),8828:(function(a,i){"use strict";"use restrict";var o=32;i.INT_BITS=o,i.INT_MAX=2147483647,i.INT_MIN=-1<0)-(u<0)},i.abs=function(u){var c=u>>o-1;return(u^c)-c},i.min=function(u,c){return c^(u^c)&-(u65535)<<4,u>>>=c,f=(u>255)<<3,u>>>=f,c|=f,f=(u>15)<<2,u>>>=f,c|=f,f=(u>3)<<1,u>>>=f,c|=f,c|u>>1},i.log10=function(u){return u>=1e9?9:u>=1e8?8:u>=1e7?7:u>=1e6?6:u>=1e5?5:u>=1e4?4:u>=1e3?3:u>=100?2:u>=10?1:0},i.popCount=function(u){return u=u-(u>>>1&1431655765),u=(u&858993459)+(u>>>2&858993459),(u+(u>>>4)&252645135)*16843009>>>24};function s(u){var c=32;return u&=-u,u&&c--,u&65535&&(c-=16),u&16711935&&(c-=8),u&252645135&&(c-=4),u&858993459&&(c-=2),u&1431655765&&(c-=1),c}i.countTrailingZeros=s,i.nextPow2=function(u){return u+=u===0,--u,u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u+1},i.prevPow2=function(u){return u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u-(u>>>1)},i.parity=function(u){return u^=u>>>16,u^=u>>>8,u^=u>>>4,u&=15,27030>>>u&1};var l=new Array(256);(function(u){for(var c=0;c<256;++c){var f=c,h=c,v=7;for(f>>>=1;f;f>>>=1)h<<=1,h|=f&1,--v;u[c]=h<>>8&255]<<16|l[u>>>16&255]<<8|l[u>>>24&255]},i.interleave2=function(u,c){return u&=65535,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,c&=65535,c=(c|c<<8)&16711935,c=(c|c<<4)&252645135,c=(c|c<<2)&858993459,c=(c|c<<1)&1431655765,u|c<<1},i.deinterleave2=function(u,c){return u=u>>>c&1431655765,u=(u|u>>>1)&858993459,u=(u|u>>>2)&252645135,u=(u|u>>>4)&16711935,u=(u|u>>>16)&65535,u<<16>>16},i.interleave3=function(u,c,f){return u&=1023,u=(u|u<<16)&4278190335,u=(u|u<<8)&251719695,u=(u|u<<4)&3272356035,u=(u|u<<2)&1227133513,c&=1023,c=(c|c<<16)&4278190335,c=(c|c<<8)&251719695,c=(c|c<<4)&3272356035,c=(c|c<<2)&1227133513,u|=c<<1,f&=1023,f=(f|f<<16)&4278190335,f=(f|f<<8)&251719695,f=(f|f<<4)&3272356035,f=(f|f<<2)&1227133513,u|f<<2},i.deinterleave3=function(u,c){return u=u>>>c&1227133513,u=(u|u>>>2)&3272356035,u=(u|u>>>4)&251719695,u=(u|u>>>8)&4278190335,u=(u|u>>>16)&1023,u<<22>>22},i.nextCombination=function(u){var c=u|u-1;return c+1|(~c&-~c)-1>>>s(u)+1}}),6859:(function(a,i,o){a=o.nmd(a),(function(s,l){"use strict";function u(O,R){if(!O)throw new Error(R||"Assertion failed")}function c(O,R){O.super_=R;var B=function(){};B.prototype=R.prototype,O.prototype=new B,O.prototype.constructor=O}function f(O,R,B){if(f.isBN(O))return O;this.negative=0,this.words=null,this.length=0,this.red=null,O!==null&&((R==="le"||R==="be")&&(B=R,R=10),this._init(O||0,R||10,B||"be"))}typeof s=="object"?s.exports=f:l.BN=f,f.BN=f,f.wordSize=26;var h;try{typeof window!="undefined"&&typeof window.Buffer!="undefined"?h=window.Buffer:h=o(7790).Buffer}catch(O){}f.isBN=function(R){return R instanceof f?!0:R!==null&&typeof R=="object"&&R.constructor.wordSize===f.wordSize&&Array.isArray(R.words)},f.max=function(R,B){return R.cmp(B)>0?R:B},f.min=function(R,B){return R.cmp(B)<0?R:B},f.prototype._init=function(R,B,Y){if(typeof R=="number")return this._initNumber(R,B,Y);if(typeof R=="object")return this._initArray(R,B,Y);B==="hex"&&(B=16),u(B===(B|0)&&B>=2&&B<=36),R=R.toString().replace(/\s+/g,"");var X=0;R[0]==="-"&&(X++,this.negative=1),X=0;X-=3)se=R[X]|R[X-1]<<8|R[X-2]<<16,this.words[te]|=se<>>26-ue&67108863,ue+=24,ue>=26&&(ue-=26,te++);else if(Y==="le")for(X=0,te=0;X>>26-ue&67108863,ue+=24,ue>=26&&(ue-=26,te++);return this.strip()};function v(O,R){var B=O.charCodeAt(R);return B>=65&&B<=70?B-55:B>=97&&B<=102?B-87:B-48&15}function d(O,R,B){var Y=v(O,B);return B-1>=R&&(Y|=v(O,B-1)<<4),Y}f.prototype._parseHex=function(R,B,Y){this.length=Math.ceil((R.length-B)/6),this.words=new Array(this.length);for(var X=0;X=B;X-=2)ue=d(R,B,X)<=18?(te-=18,se+=1,this.words[se]|=ue>>>26):te+=8;else{var re=R.length-B;for(X=re%2===0?B+1:B;X=18?(te-=18,se+=1,this.words[se]|=ue>>>26):te+=8}this.strip()};function m(O,R,B,Y){for(var X=0,te=Math.min(O.length,B),se=R;se=49?X+=ue-49+10:ue>=17?X+=ue-17+10:X+=ue}return X}f.prototype._parseBase=function(R,B,Y){this.words=[0],this.length=1;for(var X=0,te=1;te<=67108863;te*=B)X++;X--,te=te/B|0;for(var se=R.length-Y,ue=se%X,re=Math.min(se,se-ue)+Y,j=0,fe=Y;fe1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},f.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},f.prototype.inspect=function(){return(this.red?""};var x=["","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"],g=[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],E=[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];f.prototype.toString=function(R,B){R=R||10,B=B|0||1;var Y;if(R===16||R==="hex"){Y="";for(var X=0,te=0,se=0;se>>24-X&16777215,X+=2,X>=26&&(X-=26,se--),te!==0||se!==this.length-1?Y=x[6-re.length]+re+Y:Y=re+Y}for(te!==0&&(Y=te.toString(16)+Y);Y.length%B!==0;)Y="0"+Y;return this.negative!==0&&(Y="-"+Y),Y}if(R===(R|0)&&R>=2&&R<=36){var j=g[R],fe=E[R];Y="";var ce=this.clone();for(ce.negative=0;!ce.isZero();){var oe=ce.modn(fe).toString(R);ce=ce.idivn(fe),ce.isZero()?Y=oe+Y:Y=x[j-oe.length]+oe+Y}for(this.isZero()&&(Y="0"+Y);Y.length%B!==0;)Y="0"+Y;return this.negative!==0&&(Y="-"+Y),Y}u(!1,"Base should be between 2 and 36")},f.prototype.toNumber=function(){var R=this.words[0];return this.length===2?R+=this.words[1]*67108864:this.length===3&&this.words[2]===1?R+=4503599627370496+this.words[1]*67108864:this.length>2&&u(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-R:R},f.prototype.toJSON=function(){return this.toString(16)},f.prototype.toBuffer=function(R,B){return u(typeof h!="undefined"),this.toArrayLike(h,R,B)},f.prototype.toArray=function(R,B){return this.toArrayLike(Array,R,B)},f.prototype.toArrayLike=function(R,B,Y){var X=this.byteLength(),te=Y||Math.max(1,X);u(X<=te,"byte array longer than desired length"),u(te>0,"Requested array length <= 0"),this.strip();var se=B==="le",ue=new R(te),re,j,fe=this.clone();if(se){for(j=0;!fe.isZero();j++)re=fe.andln(255),fe.iushrn(8),ue[j]=re;for(;j=4096&&(Y+=13,B>>>=13),B>=64&&(Y+=7,B>>>=7),B>=8&&(Y+=4,B>>>=4),B>=2&&(Y+=2,B>>>=2),Y+B},f.prototype._zeroBits=function(R){if(R===0)return 26;var B=R,Y=0;return(B&8191)===0&&(Y+=13,B>>>=13),(B&127)===0&&(Y+=7,B>>>=7),(B&15)===0&&(Y+=4,B>>>=4),(B&3)===0&&(Y+=2,B>>>=2),(B&1)===0&&Y++,Y},f.prototype.bitLength=function(){var R=this.words[this.length-1],B=this._countBits(R);return(this.length-1)*26+B};function M(O){for(var R=new Array(O.bitLength()),B=0;B>>X}return R}f.prototype.zeroBits=function(){if(this.isZero())return 0;for(var R=0,B=0;BR.length?this.clone().ior(R):R.clone().ior(this)},f.prototype.uor=function(R){return this.length>R.length?this.clone().iuor(R):R.clone().iuor(this)},f.prototype.iuand=function(R){var B;this.length>R.length?B=R:B=this;for(var Y=0;YR.length?this.clone().iand(R):R.clone().iand(this)},f.prototype.uand=function(R){return this.length>R.length?this.clone().iuand(R):R.clone().iuand(this)},f.prototype.iuxor=function(R){var B,Y;this.length>R.length?(B=this,Y=R):(B=R,Y=this);for(var X=0;XR.length?this.clone().ixor(R):R.clone().ixor(this)},f.prototype.uxor=function(R){return this.length>R.length?this.clone().iuxor(R):R.clone().iuxor(this)},f.prototype.inotn=function(R){u(typeof R=="number"&&R>=0);var B=Math.ceil(R/26)|0,Y=R%26;this._expand(B),Y>0&&B--;for(var X=0;X0&&(this.words[X]=~this.words[X]&67108863>>26-Y),this.strip()},f.prototype.notn=function(R){return this.clone().inotn(R)},f.prototype.setn=function(R,B){u(typeof R=="number"&&R>=0);var Y=R/26|0,X=R%26;return this._expand(Y+1),B?this.words[Y]=this.words[Y]|1<R.length?(Y=this,X=R):(Y=R,X=this);for(var te=0,se=0;se>>26;for(;te!==0&&se>>26;if(this.length=Y.length,te!==0)this.words[this.length]=te,this.length++;else if(Y!==this)for(;seR.length?this.clone().iadd(R):R.clone().iadd(this)},f.prototype.isub=function(R){if(R.negative!==0){R.negative=0;var B=this.iadd(R);return R.negative=1,B._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(R),this.negative=1,this._normSign();var Y=this.cmp(R);if(Y===0)return this.negative=0,this.length=1,this.words[0]=0,this;var X,te;Y>0?(X=this,te=R):(X=R,te=this);for(var se=0,ue=0;ue>26,this.words[ue]=B&67108863;for(;se!==0&&ue>26,this.words[ue]=B&67108863;if(se===0&&ue>>26,ce=re&67108863,oe=Math.min(j,R.length-1),we=Math.max(0,j-O.length+1);we<=oe;we++){var he=j-we|0;X=O.words[he]|0,te=R.words[we]|0,se=X*te+ce,fe+=se/67108864|0,ce=se&67108863}B.words[j]=ce|0,re=fe|0}return re!==0?B.words[j]=re|0:B.length--,B.strip()}var k=function(R,B,Y){var X=R.words,te=B.words,se=Y.words,ue=0,re,j,fe,ce=X[0]|0,oe=ce&8191,we=ce>>>13,he=X[1]|0,ye=he&8191,Pe=he>>>13,le=X[2]|0,ze=le&8191,Xe=le>>>13,vt=X[3]|0,st=vt&8191,Oe=vt>>>13,qe=X[4]|0,mt=qe&8191,lt=qe>>>13,Ie=X[5]|0,de=Ie&8191,Ee=Ie>>>13,Ue=X[6]|0,ge=Ue&8191,Ge=Ue>>>13,tt=X[7]|0,ft=tt&8191,He=tt>>>13,Qe=X[8]|0,We=Qe&8191,pt=Qe>>>13,kt=X[9]|0,qt=kt&8191,Wt=kt>>>13,_r=te[0]|0,tr=_r&8191,lr=_r>>>13,Ye=te[1]|0,Te=Ye&8191,Fe=Ye>>>13,Ae=te[2]|0,Re=Ae&8191,Ze=Ae>>>13,Ke=te[3]|0,_t=Ke&8191,St=Ke>>>13,Vt=te[4]|0,fr=Vt&8191,$t=Vt>>>13,gr=te[5]|0,Br=gr&8191,Nr=gr>>>13,Er=te[6]|0,zr=Er&8191,vn=Er>>>13,Nn=te[7]|0,Xn=Nn&8191,Kn=Nn>>>13,Qn=te[8]|0,un=Qn&8191,aa=Qn>>>13,da=te[9]|0,ua=da&8191,qa=da>>>13;Y.negative=R.negative^B.negative,Y.length=19,re=Math.imul(oe,tr),j=Math.imul(oe,lr),j=j+Math.imul(we,tr)|0,fe=Math.imul(we,lr);var ii=(ue+re|0)+((j&8191)<<13)|0;ue=(fe+(j>>>13)|0)+(ii>>>26)|0,ii&=67108863,re=Math.imul(ye,tr),j=Math.imul(ye,lr),j=j+Math.imul(Pe,tr)|0,fe=Math.imul(Pe,lr),re=re+Math.imul(oe,Te)|0,j=j+Math.imul(oe,Fe)|0,j=j+Math.imul(we,Te)|0,fe=fe+Math.imul(we,Fe)|0;var pa=(ue+re|0)+((j&8191)<<13)|0;ue=(fe+(j>>>13)|0)+(pa>>>26)|0,pa&=67108863,re=Math.imul(ze,tr),j=Math.imul(ze,lr),j=j+Math.imul(Xe,tr)|0,fe=Math.imul(Xe,lr),re=re+Math.imul(ye,Te)|0,j=j+Math.imul(ye,Fe)|0,j=j+Math.imul(Pe,Te)|0,fe=fe+Math.imul(Pe,Fe)|0,re=re+Math.imul(oe,Re)|0,j=j+Math.imul(oe,Ze)|0,j=j+Math.imul(we,Re)|0,fe=fe+Math.imul(we,Ze)|0;var no=(ue+re|0)+((j&8191)<<13)|0;ue=(fe+(j>>>13)|0)+(no>>>26)|0,no&=67108863,re=Math.imul(st,tr),j=Math.imul(st,lr),j=j+Math.imul(Oe,tr)|0,fe=Math.imul(Oe,lr),re=re+Math.imul(ze,Te)|0,j=j+Math.imul(ze,Fe)|0,j=j+Math.imul(Xe,Te)|0,fe=fe+Math.imul(Xe,Fe)|0,re=re+Math.imul(ye,Re)|0,j=j+Math.imul(ye,Ze)|0,j=j+Math.imul(Pe,Re)|0,fe=fe+Math.imul(Pe,Ze)|0,re=re+Math.imul(oe,_t)|0,j=j+Math.imul(oe,St)|0,j=j+Math.imul(we,_t)|0,fe=fe+Math.imul(we,St)|0;var Gi=(ue+re|0)+((j&8191)<<13)|0;ue=(fe+(j>>>13)|0)+(Gi>>>26)|0,Gi&=67108863,re=Math.imul(mt,tr),j=Math.imul(mt,lr),j=j+Math.imul(lt,tr)|0,fe=Math.imul(lt,lr),re=re+Math.imul(st,Te)|0,j=j+Math.imul(st,Fe)|0,j=j+Math.imul(Oe,Te)|0,fe=fe+Math.imul(Oe,Fe)|0,re=re+Math.imul(ze,Re)|0,j=j+Math.imul(ze,Ze)|0,j=j+Math.imul(Xe,Re)|0,fe=fe+Math.imul(Xe,Ze)|0,re=re+Math.imul(ye,_t)|0,j=j+Math.imul(ye,St)|0,j=j+Math.imul(Pe,_t)|0,fe=fe+Math.imul(Pe,St)|0,re=re+Math.imul(oe,fr)|0,j=j+Math.imul(oe,$t)|0,j=j+Math.imul(we,fr)|0,fe=fe+Math.imul(we,$t)|0;var Ti=(ue+re|0)+((j&8191)<<13)|0;ue=(fe+(j>>>13)|0)+(Ti>>>26)|0,Ti&=67108863,re=Math.imul(de,tr),j=Math.imul(de,lr),j=j+Math.imul(Ee,tr)|0,fe=Math.imul(Ee,lr),re=re+Math.imul(mt,Te)|0,j=j+Math.imul(mt,Fe)|0,j=j+Math.imul(lt,Te)|0,fe=fe+Math.imul(lt,Fe)|0,re=re+Math.imul(st,Re)|0,j=j+Math.imul(st,Ze)|0,j=j+Math.imul(Oe,Re)|0,fe=fe+Math.imul(Oe,Ze)|0,re=re+Math.imul(ze,_t)|0,j=j+Math.imul(ze,St)|0,j=j+Math.imul(Xe,_t)|0,fe=fe+Math.imul(Xe,St)|0,re=re+Math.imul(ye,fr)|0,j=j+Math.imul(ye,$t)|0,j=j+Math.imul(Pe,fr)|0,fe=fe+Math.imul(Pe,$t)|0,re=re+Math.imul(oe,Br)|0,j=j+Math.imul(oe,Nr)|0,j=j+Math.imul(we,Br)|0,fe=fe+Math.imul(we,Nr)|0;var fi=(ue+re|0)+((j&8191)<<13)|0;ue=(fe+(j>>>13)|0)+(fi>>>26)|0,fi&=67108863,re=Math.imul(ge,tr),j=Math.imul(ge,lr),j=j+Math.imul(Ge,tr)|0,fe=Math.imul(Ge,lr),re=re+Math.imul(de,Te)|0,j=j+Math.imul(de,Fe)|0,j=j+Math.imul(Ee,Te)|0,fe=fe+Math.imul(Ee,Fe)|0,re=re+Math.imul(mt,Re)|0,j=j+Math.imul(mt,Ze)|0,j=j+Math.imul(lt,Re)|0,fe=fe+Math.imul(lt,Ze)|0,re=re+Math.imul(st,_t)|0,j=j+Math.imul(st,St)|0,j=j+Math.imul(Oe,_t)|0,fe=fe+Math.imul(Oe,St)|0,re=re+Math.imul(ze,fr)|0,j=j+Math.imul(ze,$t)|0,j=j+Math.imul(Xe,fr)|0,fe=fe+Math.imul(Xe,$t)|0,re=re+Math.imul(ye,Br)|0,j=j+Math.imul(ye,Nr)|0,j=j+Math.imul(Pe,Br)|0,fe=fe+Math.imul(Pe,Nr)|0,re=re+Math.imul(oe,zr)|0,j=j+Math.imul(oe,vn)|0,j=j+Math.imul(we,zr)|0,fe=fe+Math.imul(we,vn)|0;var _o=(ue+re|0)+((j&8191)<<13)|0;ue=(fe+(j>>>13)|0)+(_o>>>26)|0,_o&=67108863,re=Math.imul(ft,tr),j=Math.imul(ft,lr),j=j+Math.imul(He,tr)|0,fe=Math.imul(He,lr),re=re+Math.imul(ge,Te)|0,j=j+Math.imul(ge,Fe)|0,j=j+Math.imul(Ge,Te)|0,fe=fe+Math.imul(Ge,Fe)|0,re=re+Math.imul(de,Re)|0,j=j+Math.imul(de,Ze)|0,j=j+Math.imul(Ee,Re)|0,fe=fe+Math.imul(Ee,Ze)|0,re=re+Math.imul(mt,_t)|0,j=j+Math.imul(mt,St)|0,j=j+Math.imul(lt,_t)|0,fe=fe+Math.imul(lt,St)|0,re=re+Math.imul(st,fr)|0,j=j+Math.imul(st,$t)|0,j=j+Math.imul(Oe,fr)|0,fe=fe+Math.imul(Oe,$t)|0,re=re+Math.imul(ze,Br)|0,j=j+Math.imul(ze,Nr)|0,j=j+Math.imul(Xe,Br)|0,fe=fe+Math.imul(Xe,Nr)|0,re=re+Math.imul(ye,zr)|0,j=j+Math.imul(ye,vn)|0,j=j+Math.imul(Pe,zr)|0,fe=fe+Math.imul(Pe,vn)|0,re=re+Math.imul(oe,Xn)|0,j=j+Math.imul(oe,Kn)|0,j=j+Math.imul(we,Xn)|0,fe=fe+Math.imul(we,Kn)|0;var Oi=(ue+re|0)+((j&8191)<<13)|0;ue=(fe+(j>>>13)|0)+(Oi>>>26)|0,Oi&=67108863,re=Math.imul(We,tr),j=Math.imul(We,lr),j=j+Math.imul(pt,tr)|0,fe=Math.imul(pt,lr),re=re+Math.imul(ft,Te)|0,j=j+Math.imul(ft,Fe)|0,j=j+Math.imul(He,Te)|0,fe=fe+Math.imul(He,Fe)|0,re=re+Math.imul(ge,Re)|0,j=j+Math.imul(ge,Ze)|0,j=j+Math.imul(Ge,Re)|0,fe=fe+Math.imul(Ge,Ze)|0,re=re+Math.imul(de,_t)|0,j=j+Math.imul(de,St)|0,j=j+Math.imul(Ee,_t)|0,fe=fe+Math.imul(Ee,St)|0,re=re+Math.imul(mt,fr)|0,j=j+Math.imul(mt,$t)|0,j=j+Math.imul(lt,fr)|0,fe=fe+Math.imul(lt,$t)|0,re=re+Math.imul(st,Br)|0,j=j+Math.imul(st,Nr)|0,j=j+Math.imul(Oe,Br)|0,fe=fe+Math.imul(Oe,Nr)|0,re=re+Math.imul(ze,zr)|0,j=j+Math.imul(ze,vn)|0,j=j+Math.imul(Xe,zr)|0,fe=fe+Math.imul(Xe,vn)|0,re=re+Math.imul(ye,Xn)|0,j=j+Math.imul(ye,Kn)|0,j=j+Math.imul(Pe,Xn)|0,fe=fe+Math.imul(Pe,Kn)|0,re=re+Math.imul(oe,un)|0,j=j+Math.imul(oe,aa)|0,j=j+Math.imul(we,un)|0,fe=fe+Math.imul(we,aa)|0;var ni=(ue+re|0)+((j&8191)<<13)|0;ue=(fe+(j>>>13)|0)+(ni>>>26)|0,ni&=67108863,re=Math.imul(qt,tr),j=Math.imul(qt,lr),j=j+Math.imul(Wt,tr)|0,fe=Math.imul(Wt,lr),re=re+Math.imul(We,Te)|0,j=j+Math.imul(We,Fe)|0,j=j+Math.imul(pt,Te)|0,fe=fe+Math.imul(pt,Fe)|0,re=re+Math.imul(ft,Re)|0,j=j+Math.imul(ft,Ze)|0,j=j+Math.imul(He,Re)|0,fe=fe+Math.imul(He,Ze)|0,re=re+Math.imul(ge,_t)|0,j=j+Math.imul(ge,St)|0,j=j+Math.imul(Ge,_t)|0,fe=fe+Math.imul(Ge,St)|0,re=re+Math.imul(de,fr)|0,j=j+Math.imul(de,$t)|0,j=j+Math.imul(Ee,fr)|0,fe=fe+Math.imul(Ee,$t)|0,re=re+Math.imul(mt,Br)|0,j=j+Math.imul(mt,Nr)|0,j=j+Math.imul(lt,Br)|0,fe=fe+Math.imul(lt,Nr)|0,re=re+Math.imul(st,zr)|0,j=j+Math.imul(st,vn)|0,j=j+Math.imul(Oe,zr)|0,fe=fe+Math.imul(Oe,vn)|0,re=re+Math.imul(ze,Xn)|0,j=j+Math.imul(ze,Kn)|0,j=j+Math.imul(Xe,Xn)|0,fe=fe+Math.imul(Xe,Kn)|0,re=re+Math.imul(ye,un)|0,j=j+Math.imul(ye,aa)|0,j=j+Math.imul(Pe,un)|0,fe=fe+Math.imul(Pe,aa)|0,re=re+Math.imul(oe,ua)|0,j=j+Math.imul(oe,qa)|0,j=j+Math.imul(we,ua)|0,fe=fe+Math.imul(we,qa)|0;var ao=(ue+re|0)+((j&8191)<<13)|0;ue=(fe+(j>>>13)|0)+(ao>>>26)|0,ao&=67108863,re=Math.imul(qt,Te),j=Math.imul(qt,Fe),j=j+Math.imul(Wt,Te)|0,fe=Math.imul(Wt,Fe),re=re+Math.imul(We,Re)|0,j=j+Math.imul(We,Ze)|0,j=j+Math.imul(pt,Re)|0,fe=fe+Math.imul(pt,Ze)|0,re=re+Math.imul(ft,_t)|0,j=j+Math.imul(ft,St)|0,j=j+Math.imul(He,_t)|0,fe=fe+Math.imul(He,St)|0,re=re+Math.imul(ge,fr)|0,j=j+Math.imul(ge,$t)|0,j=j+Math.imul(Ge,fr)|0,fe=fe+Math.imul(Ge,$t)|0,re=re+Math.imul(de,Br)|0,j=j+Math.imul(de,Nr)|0,j=j+Math.imul(Ee,Br)|0,fe=fe+Math.imul(Ee,Nr)|0,re=re+Math.imul(mt,zr)|0,j=j+Math.imul(mt,vn)|0,j=j+Math.imul(lt,zr)|0,fe=fe+Math.imul(lt,vn)|0,re=re+Math.imul(st,Xn)|0,j=j+Math.imul(st,Kn)|0,j=j+Math.imul(Oe,Xn)|0,fe=fe+Math.imul(Oe,Kn)|0,re=re+Math.imul(ze,un)|0,j=j+Math.imul(ze,aa)|0,j=j+Math.imul(Xe,un)|0,fe=fe+Math.imul(Xe,aa)|0,re=re+Math.imul(ye,ua)|0,j=j+Math.imul(ye,qa)|0,j=j+Math.imul(Pe,ua)|0,fe=fe+Math.imul(Pe,qa)|0;var Hi=(ue+re|0)+((j&8191)<<13)|0;ue=(fe+(j>>>13)|0)+(Hi>>>26)|0,Hi&=67108863,re=Math.imul(qt,Re),j=Math.imul(qt,Ze),j=j+Math.imul(Wt,Re)|0,fe=Math.imul(Wt,Ze),re=re+Math.imul(We,_t)|0,j=j+Math.imul(We,St)|0,j=j+Math.imul(pt,_t)|0,fe=fe+Math.imul(pt,St)|0,re=re+Math.imul(ft,fr)|0,j=j+Math.imul(ft,$t)|0,j=j+Math.imul(He,fr)|0,fe=fe+Math.imul(He,$t)|0,re=re+Math.imul(ge,Br)|0,j=j+Math.imul(ge,Nr)|0,j=j+Math.imul(Ge,Br)|0,fe=fe+Math.imul(Ge,Nr)|0,re=re+Math.imul(de,zr)|0,j=j+Math.imul(de,vn)|0,j=j+Math.imul(Ee,zr)|0,fe=fe+Math.imul(Ee,vn)|0,re=re+Math.imul(mt,Xn)|0,j=j+Math.imul(mt,Kn)|0,j=j+Math.imul(lt,Xn)|0,fe=fe+Math.imul(lt,Kn)|0,re=re+Math.imul(st,un)|0,j=j+Math.imul(st,aa)|0,j=j+Math.imul(Oe,un)|0,fe=fe+Math.imul(Oe,aa)|0,re=re+Math.imul(ze,ua)|0,j=j+Math.imul(ze,qa)|0,j=j+Math.imul(Xe,ua)|0,fe=fe+Math.imul(Xe,qa)|0;var to=(ue+re|0)+((j&8191)<<13)|0;ue=(fe+(j>>>13)|0)+(to>>>26)|0,to&=67108863,re=Math.imul(qt,_t),j=Math.imul(qt,St),j=j+Math.imul(Wt,_t)|0,fe=Math.imul(Wt,St),re=re+Math.imul(We,fr)|0,j=j+Math.imul(We,$t)|0,j=j+Math.imul(pt,fr)|0,fe=fe+Math.imul(pt,$t)|0,re=re+Math.imul(ft,Br)|0,j=j+Math.imul(ft,Nr)|0,j=j+Math.imul(He,Br)|0,fe=fe+Math.imul(He,Nr)|0,re=re+Math.imul(ge,zr)|0,j=j+Math.imul(ge,vn)|0,j=j+Math.imul(Ge,zr)|0,fe=fe+Math.imul(Ge,vn)|0,re=re+Math.imul(de,Xn)|0,j=j+Math.imul(de,Kn)|0,j=j+Math.imul(Ee,Xn)|0,fe=fe+Math.imul(Ee,Kn)|0,re=re+Math.imul(mt,un)|0,j=j+Math.imul(mt,aa)|0,j=j+Math.imul(lt,un)|0,fe=fe+Math.imul(lt,aa)|0,re=re+Math.imul(st,ua)|0,j=j+Math.imul(st,qa)|0,j=j+Math.imul(Oe,ua)|0,fe=fe+Math.imul(Oe,qa)|0;var Xo=(ue+re|0)+((j&8191)<<13)|0;ue=(fe+(j>>>13)|0)+(Xo>>>26)|0,Xo&=67108863,re=Math.imul(qt,fr),j=Math.imul(qt,$t),j=j+Math.imul(Wt,fr)|0,fe=Math.imul(Wt,$t),re=re+Math.imul(We,Br)|0,j=j+Math.imul(We,Nr)|0,j=j+Math.imul(pt,Br)|0,fe=fe+Math.imul(pt,Nr)|0,re=re+Math.imul(ft,zr)|0,j=j+Math.imul(ft,vn)|0,j=j+Math.imul(He,zr)|0,fe=fe+Math.imul(He,vn)|0,re=re+Math.imul(ge,Xn)|0,j=j+Math.imul(ge,Kn)|0,j=j+Math.imul(Ge,Xn)|0,fe=fe+Math.imul(Ge,Kn)|0,re=re+Math.imul(de,un)|0,j=j+Math.imul(de,aa)|0,j=j+Math.imul(Ee,un)|0,fe=fe+Math.imul(Ee,aa)|0,re=re+Math.imul(mt,ua)|0,j=j+Math.imul(mt,qa)|0,j=j+Math.imul(lt,ua)|0,fe=fe+Math.imul(lt,qa)|0;var Zo=(ue+re|0)+((j&8191)<<13)|0;ue=(fe+(j>>>13)|0)+(Zo>>>26)|0,Zo&=67108863,re=Math.imul(qt,Br),j=Math.imul(qt,Nr),j=j+Math.imul(Wt,Br)|0,fe=Math.imul(Wt,Nr),re=re+Math.imul(We,zr)|0,j=j+Math.imul(We,vn)|0,j=j+Math.imul(pt,zr)|0,fe=fe+Math.imul(pt,vn)|0,re=re+Math.imul(ft,Xn)|0,j=j+Math.imul(ft,Kn)|0,j=j+Math.imul(He,Xn)|0,fe=fe+Math.imul(He,Kn)|0,re=re+Math.imul(ge,un)|0,j=j+Math.imul(ge,aa)|0,j=j+Math.imul(Ge,un)|0,fe=fe+Math.imul(Ge,aa)|0,re=re+Math.imul(de,ua)|0,j=j+Math.imul(de,qa)|0,j=j+Math.imul(Ee,ua)|0,fe=fe+Math.imul(Ee,qa)|0;var Fi=(ue+re|0)+((j&8191)<<13)|0;ue=(fe+(j>>>13)|0)+(Fi>>>26)|0,Fi&=67108863,re=Math.imul(qt,zr),j=Math.imul(qt,vn),j=j+Math.imul(Wt,zr)|0,fe=Math.imul(Wt,vn),re=re+Math.imul(We,Xn)|0,j=j+Math.imul(We,Kn)|0,j=j+Math.imul(pt,Xn)|0,fe=fe+Math.imul(pt,Kn)|0,re=re+Math.imul(ft,un)|0,j=j+Math.imul(ft,aa)|0,j=j+Math.imul(He,un)|0,fe=fe+Math.imul(He,aa)|0,re=re+Math.imul(ge,ua)|0,j=j+Math.imul(ge,qa)|0,j=j+Math.imul(Ge,ua)|0,fe=fe+Math.imul(Ge,qa)|0;var yo=(ue+re|0)+((j&8191)<<13)|0;ue=(fe+(j>>>13)|0)+(yo>>>26)|0,yo&=67108863,re=Math.imul(qt,Xn),j=Math.imul(qt,Kn),j=j+Math.imul(Wt,Xn)|0,fe=Math.imul(Wt,Kn),re=re+Math.imul(We,un)|0,j=j+Math.imul(We,aa)|0,j=j+Math.imul(pt,un)|0,fe=fe+Math.imul(pt,aa)|0,re=re+Math.imul(ft,ua)|0,j=j+Math.imul(ft,qa)|0,j=j+Math.imul(He,ua)|0,fe=fe+Math.imul(He,qa)|0;var oo=(ue+re|0)+((j&8191)<<13)|0;ue=(fe+(j>>>13)|0)+(oo>>>26)|0,oo&=67108863,re=Math.imul(qt,un),j=Math.imul(qt,aa),j=j+Math.imul(Wt,un)|0,fe=Math.imul(Wt,aa),re=re+Math.imul(We,ua)|0,j=j+Math.imul(We,qa)|0,j=j+Math.imul(pt,ua)|0,fe=fe+Math.imul(pt,qa)|0;var rl=(ue+re|0)+((j&8191)<<13)|0;ue=(fe+(j>>>13)|0)+(rl>>>26)|0,rl&=67108863,re=Math.imul(qt,ua),j=Math.imul(qt,qa),j=j+Math.imul(Wt,ua)|0,fe=Math.imul(Wt,qa);var Ni=(ue+re|0)+((j&8191)<<13)|0;return ue=(fe+(j>>>13)|0)+(Ni>>>26)|0,Ni&=67108863,se[0]=ii,se[1]=pa,se[2]=no,se[3]=Gi,se[4]=Ti,se[5]=fi,se[6]=_o,se[7]=Oi,se[8]=ni,se[9]=ao,se[10]=Hi,se[11]=to,se[12]=Xo,se[13]=Zo,se[14]=Fi,se[15]=yo,se[16]=oo,se[17]=rl,se[18]=Ni,ue!==0&&(se[19]=ue,Y.length++),Y};Math.imul||(k=w);function y(O,R,B){B.negative=R.negative^O.negative,B.length=O.length+R.length;for(var Y=0,X=0,te=0;te>>26)|0,X+=se>>>26,se&=67108863}B.words[te]=ue,Y=se,se=X}return Y!==0?B.words[te]=Y:B.length--,B.strip()}function S(O,R,B){var Y=new T;return Y.mulp(O,R,B)}f.prototype.mulTo=function(R,B){var Y,X=this.length+R.length;return this.length===10&&R.length===10?Y=k(this,R,B):X<63?Y=w(this,R,B):X<1024?Y=y(this,R,B):Y=S(this,R,B),Y};function T(O,R){this.x=O,this.y=R}T.prototype.makeRBT=function(R){for(var B=new Array(R),Y=f.prototype._countBits(R)-1,X=0;X>=1;return X},T.prototype.permute=function(R,B,Y,X,te,se){for(var ue=0;ue>>1)te++;return 1<>>13,Y[2*se+1]=te&8191,te=te>>>13;for(se=2*B;se>=26,B+=X/67108864|0,B+=te>>>26,this.words[Y]=te&67108863}return B!==0&&(this.words[Y]=B,this.length++),this.length=R===0?1:this.length,this},f.prototype.muln=function(R){return this.clone().imuln(R)},f.prototype.sqr=function(){return this.mul(this)},f.prototype.isqr=function(){return this.imul(this.clone())},f.prototype.pow=function(R){var B=M(R);if(B.length===0)return new f(1);for(var Y=this,X=0;X=0);var B=R%26,Y=(R-B)/26,X=67108863>>>26-B<<26-B,te;if(B!==0){var se=0;for(te=0;te>>26-B}se&&(this.words[te]=se,this.length++)}if(Y!==0){for(te=this.length-1;te>=0;te--)this.words[te+Y]=this.words[te];for(te=0;te=0);var X;B?X=(B-B%26)/26:X=0;var te=R%26,se=Math.min((R-te)/26,this.length),ue=67108863^67108863>>>te<se)for(this.length-=se,j=0;j=0&&(fe!==0||j>=X);j--){var ce=this.words[j]|0;this.words[j]=fe<<26-te|ce>>>te,fe=ce&ue}return re&&fe!==0&&(re.words[re.length++]=fe),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},f.prototype.ishrn=function(R,B,Y){return u(this.negative===0),this.iushrn(R,B,Y)},f.prototype.shln=function(R){return this.clone().ishln(R)},f.prototype.ushln=function(R){return this.clone().iushln(R)},f.prototype.shrn=function(R){return this.clone().ishrn(R)},f.prototype.ushrn=function(R){return this.clone().iushrn(R)},f.prototype.testn=function(R){u(typeof R=="number"&&R>=0);var B=R%26,Y=(R-B)/26,X=1<=0);var B=R%26,Y=(R-B)/26;if(u(this.negative===0,"imaskn works only with positive numbers"),this.length<=Y)return this;if(B!==0&&Y++,this.length=Math.min(Y,this.length),B!==0){var X=67108863^67108863>>>B<=67108864;B++)this.words[B]-=67108864,B===this.length-1?this.words[B+1]=1:this.words[B+1]++;return this.length=Math.max(this.length,B+1),this},f.prototype.isubn=function(R){if(u(typeof R=="number"),u(R<67108864),R<0)return this.iaddn(-R);if(this.negative!==0)return this.negative=0,this.iaddn(R),this.negative=1,this;if(this.words[0]-=R,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var B=0;B>26)-(re/67108864|0),this.words[te+Y]=se&67108863}for(;te>26,this.words[te+Y]=se&67108863;if(ue===0)return this.strip();for(u(ue===-1),ue=0,te=0;te>26,this.words[te]=se&67108863;return this.negative=1,this.strip()},f.prototype._wordDiv=function(R,B){var Y=this.length-R.length,X=this.clone(),te=R,se=te.words[te.length-1]|0,ue=this._countBits(se);Y=26-ue,Y!==0&&(te=te.ushln(Y),X.iushln(Y),se=te.words[te.length-1]|0);var re=X.length-te.length,j;if(B!=="mod"){j=new f(null),j.length=re+1,j.words=new Array(j.length);for(var fe=0;fe=0;oe--){var we=(X.words[te.length+oe]|0)*67108864+(X.words[te.length+oe-1]|0);for(we=Math.min(we/se|0,67108863),X._ishlnsubmul(te,we,oe);X.negative!==0;)we--,X.negative=0,X._ishlnsubmul(te,1,oe),X.isZero()||(X.negative^=1);j&&(j.words[oe]=we)}return j&&j.strip(),X.strip(),B!=="div"&&Y!==0&&X.iushrn(Y),{div:j||null,mod:X}},f.prototype.divmod=function(R,B,Y){if(u(!R.isZero()),this.isZero())return{div:new f(0),mod:new f(0)};var X,te,se;return this.negative!==0&&R.negative===0?(se=this.neg().divmod(R,B),B!=="mod"&&(X=se.div.neg()),B!=="div"&&(te=se.mod.neg(),Y&&te.negative!==0&&te.iadd(R)),{div:X,mod:te}):this.negative===0&&R.negative!==0?(se=this.divmod(R.neg(),B),B!=="mod"&&(X=se.div.neg()),{div:X,mod:se.mod}):(this.negative&R.negative)!==0?(se=this.neg().divmod(R.neg(),B),B!=="div"&&(te=se.mod.neg(),Y&&te.negative!==0&&te.isub(R)),{div:se.div,mod:te}):R.length>this.length||this.cmp(R)<0?{div:new f(0),mod:this}:R.length===1?B==="div"?{div:this.divn(R.words[0]),mod:null}:B==="mod"?{div:null,mod:new f(this.modn(R.words[0]))}:{div:this.divn(R.words[0]),mod:new f(this.modn(R.words[0]))}:this._wordDiv(R,B)},f.prototype.div=function(R){return this.divmod(R,"div",!1).div},f.prototype.mod=function(R){return this.divmod(R,"mod",!1).mod},f.prototype.umod=function(R){return this.divmod(R,"mod",!0).mod},f.prototype.divRound=function(R){var B=this.divmod(R);if(B.mod.isZero())return B.div;var Y=B.div.negative!==0?B.mod.isub(R):B.mod,X=R.ushrn(1),te=R.andln(1),se=Y.cmp(X);return se<0||te===1&&se===0?B.div:B.div.negative!==0?B.div.isubn(1):B.div.iaddn(1)},f.prototype.modn=function(R){u(R<=67108863);for(var B=(1<<26)%R,Y=0,X=this.length-1;X>=0;X--)Y=(B*Y+(this.words[X]|0))%R;return Y},f.prototype.idivn=function(R){u(R<=67108863);for(var B=0,Y=this.length-1;Y>=0;Y--){var X=(this.words[Y]|0)+B*67108864;this.words[Y]=X/R|0,B=X%R}return this.strip()},f.prototype.divn=function(R){return this.clone().idivn(R)},f.prototype.egcd=function(R){u(R.negative===0),u(!R.isZero());var B=this,Y=R.clone();B.negative!==0?B=B.umod(R):B=B.clone();for(var X=new f(1),te=new f(0),se=new f(0),ue=new f(1),re=0;B.isEven()&&Y.isEven();)B.iushrn(1),Y.iushrn(1),++re;for(var j=Y.clone(),fe=B.clone();!B.isZero();){for(var ce=0,oe=1;(B.words[0]&oe)===0&&ce<26;++ce,oe<<=1);if(ce>0)for(B.iushrn(ce);ce-- >0;)(X.isOdd()||te.isOdd())&&(X.iadd(j),te.isub(fe)),X.iushrn(1),te.iushrn(1);for(var we=0,he=1;(Y.words[0]&he)===0&&we<26;++we,he<<=1);if(we>0)for(Y.iushrn(we);we-- >0;)(se.isOdd()||ue.isOdd())&&(se.iadd(j),ue.isub(fe)),se.iushrn(1),ue.iushrn(1);B.cmp(Y)>=0?(B.isub(Y),X.isub(se),te.isub(ue)):(Y.isub(B),se.isub(X),ue.isub(te))}return{a:se,b:ue,gcd:Y.iushln(re)}},f.prototype._invmp=function(R){u(R.negative===0),u(!R.isZero());var B=this,Y=R.clone();B.negative!==0?B=B.umod(R):B=B.clone();for(var X=new f(1),te=new f(0),se=Y.clone();B.cmpn(1)>0&&Y.cmpn(1)>0;){for(var ue=0,re=1;(B.words[0]&re)===0&&ue<26;++ue,re<<=1);if(ue>0)for(B.iushrn(ue);ue-- >0;)X.isOdd()&&X.iadd(se),X.iushrn(1);for(var j=0,fe=1;(Y.words[0]&fe)===0&&j<26;++j,fe<<=1);if(j>0)for(Y.iushrn(j);j-- >0;)te.isOdd()&&te.iadd(se),te.iushrn(1);B.cmp(Y)>=0?(B.isub(Y),X.isub(te)):(Y.isub(B),te.isub(X))}var ce;return B.cmpn(1)===0?ce=X:ce=te,ce.cmpn(0)<0&&ce.iadd(R),ce},f.prototype.gcd=function(R){if(this.isZero())return R.abs();if(R.isZero())return this.abs();var B=this.clone(),Y=R.clone();B.negative=0,Y.negative=0;for(var X=0;B.isEven()&&Y.isEven();X++)B.iushrn(1),Y.iushrn(1);do{for(;B.isEven();)B.iushrn(1);for(;Y.isEven();)Y.iushrn(1);var te=B.cmp(Y);if(te<0){var se=B;B=Y,Y=se}else if(te===0||Y.cmpn(1)===0)break;B.isub(Y)}while(!0);return Y.iushln(X)},f.prototype.invm=function(R){return this.egcd(R).a.umod(R)},f.prototype.isEven=function(){return(this.words[0]&1)===0},f.prototype.isOdd=function(){return(this.words[0]&1)===1},f.prototype.andln=function(R){return this.words[0]&R},f.prototype.bincn=function(R){u(typeof R=="number");var B=R%26,Y=(R-B)/26,X=1<>>26,ue&=67108863,this.words[se]=ue}return te!==0&&(this.words[se]=te,this.length++),this},f.prototype.isZero=function(){return this.length===1&&this.words[0]===0},f.prototype.cmpn=function(R){var B=R<0;if(this.negative!==0&&!B)return-1;if(this.negative===0&&B)return 1;this.strip();var Y;if(this.length>1)Y=1;else{B&&(R=-R),u(R<=67108863,"Number is too big");var X=this.words[0]|0;Y=X===R?0:XR.length)return 1;if(this.length=0;Y--){var X=this.words[Y]|0,te=R.words[Y]|0;if(X!==te){Xte&&(B=1);break}}return B},f.prototype.gtn=function(R){return this.cmpn(R)===1},f.prototype.gt=function(R){return this.cmp(R)===1},f.prototype.gten=function(R){return this.cmpn(R)>=0},f.prototype.gte=function(R){return this.cmp(R)>=0},f.prototype.ltn=function(R){return this.cmpn(R)===-1},f.prototype.lt=function(R){return this.cmp(R)===-1},f.prototype.lten=function(R){return this.cmpn(R)<=0},f.prototype.lte=function(R){return this.cmp(R)<=0},f.prototype.eqn=function(R){return this.cmpn(R)===0},f.prototype.eq=function(R){return this.cmp(R)===0},f.red=function(R){return new q(R)},f.prototype.toRed=function(R){return u(!this.red,"Already a number in reduction context"),u(this.negative===0,"red works only with positives"),R.convertTo(this)._forceRed(R)},f.prototype.fromRed=function(){return u(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},f.prototype._forceRed=function(R){return this.red=R,this},f.prototype.forceRed=function(R){return u(!this.red,"Already a number in reduction context"),this._forceRed(R)},f.prototype.redAdd=function(R){return u(this.red,"redAdd works only with red numbers"),this.red.add(this,R)},f.prototype.redIAdd=function(R){return u(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,R)},f.prototype.redSub=function(R){return u(this.red,"redSub works only with red numbers"),this.red.sub(this,R)},f.prototype.redISub=function(R){return u(this.red,"redISub works only with red numbers"),this.red.isub(this,R)},f.prototype.redShl=function(R){return u(this.red,"redShl works only with red numbers"),this.red.shl(this,R)},f.prototype.redMul=function(R){return u(this.red,"redMul works only with red numbers"),this.red._verify2(this,R),this.red.mul(this,R)},f.prototype.redIMul=function(R){return u(this.red,"redMul works only with red numbers"),this.red._verify2(this,R),this.red.imul(this,R)},f.prototype.redSqr=function(){return u(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},f.prototype.redISqr=function(){return u(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},f.prototype.redSqrt=function(){return u(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},f.prototype.redInvm=function(){return u(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},f.prototype.redNeg=function(){return u(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},f.prototype.redPow=function(R){return u(this.red&&!R.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,R)};var p={k256:null,p224:null,p192:null,p25519:null};function C(O,R){this.name=O,this.p=new f(R,16),this.n=this.p.bitLength(),this.k=new f(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}C.prototype._tmp=function(){var R=new f(null);return R.words=new Array(Math.ceil(this.n/13)),R},C.prototype.ireduce=function(R){var B=R,Y;do this.split(B,this.tmp),B=this.imulK(B),B=B.iadd(this.tmp),Y=B.bitLength();while(Y>this.n);var X=Y0?B.isub(this.p):B.strip!==void 0?B.strip():B._strip(),B},C.prototype.split=function(R,B){R.iushrn(this.n,0,B)},C.prototype.imulK=function(R){return R.imul(this.k)};function A(){C.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}c(A,C),A.prototype.split=function(R,B){for(var Y=4194303,X=Math.min(R.length,9),te=0;te>>22,se=ue}se>>>=22,R.words[te-10]=se,se===0&&R.length>10?R.length-=10:R.length-=9},A.prototype.imulK=function(R){R.words[R.length]=0,R.words[R.length+1]=0,R.length+=2;for(var B=0,Y=0;Y>>=26,R.words[Y]=te,B=X}return B!==0&&(R.words[R.length++]=B),R},f._prime=function(R){if(p[R])return p[R];var B;if(R==="k256")B=new A;else if(R==="p224")B=new P;else if(R==="p192")B=new D;else if(R==="p25519")B=new z;else throw new Error("Unknown prime "+R);return p[R]=B,B};function q(O){if(typeof O=="string"){var R=f._prime(O);this.m=R.p,this.prime=R}else u(O.gtn(1),"modulus must be greater than 1"),this.m=O,this.prime=null}q.prototype._verify1=function(R){u(R.negative===0,"red works only with positives"),u(R.red,"red works only with red numbers")},q.prototype._verify2=function(R,B){u((R.negative|B.negative)===0,"red works only with positives"),u(R.red&&R.red===B.red,"red works only with red numbers")},q.prototype.imod=function(R){return this.prime?this.prime.ireduce(R)._forceRed(this):R.umod(this.m)._forceRed(this)},q.prototype.neg=function(R){return R.isZero()?R.clone():this.m.sub(R)._forceRed(this)},q.prototype.add=function(R,B){this._verify2(R,B);var Y=R.add(B);return Y.cmp(this.m)>=0&&Y.isub(this.m),Y._forceRed(this)},q.prototype.iadd=function(R,B){this._verify2(R,B);var Y=R.iadd(B);return Y.cmp(this.m)>=0&&Y.isub(this.m),Y},q.prototype.sub=function(R,B){this._verify2(R,B);var Y=R.sub(B);return Y.cmpn(0)<0&&Y.iadd(this.m),Y._forceRed(this)},q.prototype.isub=function(R,B){this._verify2(R,B);var Y=R.isub(B);return Y.cmpn(0)<0&&Y.iadd(this.m),Y},q.prototype.shl=function(R,B){return this._verify1(R),this.imod(R.ushln(B))},q.prototype.imul=function(R,B){return this._verify2(R,B),this.imod(R.imul(B))},q.prototype.mul=function(R,B){return this._verify2(R,B),this.imod(R.mul(B))},q.prototype.isqr=function(R){return this.imul(R,R.clone())},q.prototype.sqr=function(R){return this.mul(R,R)},q.prototype.sqrt=function(R){if(R.isZero())return R.clone();var B=this.m.andln(3);if(u(B%2===1),B===3){var Y=this.m.add(new f(1)).iushrn(2);return this.pow(R,Y)}for(var X=this.m.subn(1),te=0;!X.isZero()&&X.andln(1)===0;)te++,X.iushrn(1);u(!X.isZero());var se=new f(1).toRed(this),ue=se.redNeg(),re=this.m.subn(1).iushrn(1),j=this.m.bitLength();for(j=new f(2*j*j).toRed(this);this.pow(j,re).cmp(ue)!==0;)j.redIAdd(ue);for(var fe=this.pow(j,X),ce=this.pow(R,X.addn(1).iushrn(1)),oe=this.pow(R,X),we=te;oe.cmp(se)!==0;){for(var he=oe,ye=0;he.cmp(se)!==0;ye++)he=he.redSqr();u(ye=0;te--){for(var fe=B.words[te],ce=j-1;ce>=0;ce--){var oe=fe>>ce&1;if(se!==X[0]&&(se=this.sqr(se)),oe===0&&ue===0){re=0;continue}ue<<=1,ue|=oe,re++,!(re!==Y&&(te!==0||ce!==0))&&(se=this.mul(se,X[ue]),re=0,ue=0)}j=26}return se},q.prototype.convertTo=function(R){var B=R.umod(this.m);return B===R?B.clone():B},q.prototype.convertFrom=function(R){var B=R.clone();return B.red=null,B},f.mont=function(R){return new U(R)};function U(O){q.call(this,O),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new f(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)}c(U,q),U.prototype.convertTo=function(R){return this.imod(R.ushln(this.shift))},U.prototype.convertFrom=function(R){var B=this.imod(R.mul(this.rinv));return B.red=null,B},U.prototype.imul=function(R,B){if(R.isZero()||B.isZero())return R.words[0]=0,R.length=1,R;var Y=R.imul(B),X=Y.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),te=Y.isub(X).iushrn(this.shift),se=te;return te.cmp(this.m)>=0?se=te.isub(this.m):te.cmpn(0)<0&&(se=te.iadd(this.m)),se._forceRed(this)},U.prototype.mul=function(R,B){if(R.isZero()||B.isZero())return new f(0)._forceRed(this);var Y=R.mul(B),X=Y.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),te=Y.isub(X).iushrn(this.shift),se=te;return te.cmp(this.m)>=0?se=te.isub(this.m):te.cmpn(0)<0&&(se=te.iadd(this.m)),se._forceRed(this)},U.prototype.invm=function(R){var B=this.imod(R._invmp(this.m).mul(this.r2));return B._forceRed(this)}})(a,this)}),6204:(function(a){"use strict";a.exports=i;function i(o){var s,l,u,c=o.length,f=0;for(s=0;s>>1;if(!(T<=0)){var p,C=s.mallocDouble(2*T*y),A=s.mallocInt32(y);if(y=f(E,T,C,A),y>0){if(T===1&&k)l.init(y),p=l.sweepComplete(T,w,0,y,C,A,0,y,C,A);else{var P=s.mallocDouble(2*T*S),D=s.mallocInt32(S);S=f(M,T,P,D),S>0&&(l.init(y+S),T===1?p=l.sweepBipartite(T,w,0,y,C,A,0,S,P,D):p=u(T,w,k,y,C,A,S,P,D),s.free(P),s.free(D))}s.free(C),s.free(A)}return p}}}var v;function d(E,M){v.push([E,M])}function m(E){return v=[],h(E,E,d,!0),v}function x(E,M){return v=[],h(E,M,d,!1),v}function g(E,M,w){switch(arguments.length){case 1:return m(E);case 2:return typeof M=="function"?h(E,E,M,!0):x(E,M);case 3:return h(E,M,w,!1);default:throw new Error("box-intersect: Invalid arguments")}}}),2455:(function(a,i){"use strict";function o(){function u(h,v,d,m,x,g,E,M,w,k,y){for(var S=2*h,T=m,p=S*m;Tw-M?u(h,v,d,m,x,g,E,M,w,k,y):c(h,v,d,m,x,g,E,M,w,k,y)}return f}function s(){function u(d,m,x,g,E,M,w,k,y,S,T){for(var p=2*d,C=g,A=p*g;CS-y?g?u(d,m,x,E,M,w,k,y,S,T,p):c(d,m,x,E,M,w,k,y,S,T,p):g?f(d,m,x,E,M,w,k,y,S,T,p):h(d,m,x,E,M,w,k,y,S,T,p)}return v}function l(u){return u?o():s()}i.partial=l(!1),i.full=l(!0)}),7150:(function(a,i,o){"use strict";a.exports=O;var s=o(1888),l=o(8828),u=o(2455),c=u.partial,f=u.full,h=o(855),v=o(3545),d=o(8105),m=128,x=1<<22,g=1<<22,E=d("!(lo>=p0)&&!(p1>=hi)"),M=d("lo===p0"),w=d("lo0;){fe-=1;var we=fe*T,he=A[we],ye=A[we+1],Pe=A[we+2],le=A[we+3],ze=A[we+4],Xe=A[we+5],vt=fe*p,st=P[vt],Oe=P[vt+1],qe=Xe&1,mt=!!(Xe&16),lt=te,Ie=se,de=re,Ee=j;if(qe&&(lt=re,Ie=j,de=te,Ee=se),!(Xe&2&&(Pe=w(R,he,ye,Pe,lt,Ie,Oe),ye>=Pe))&&!(Xe&4&&(ye=k(R,he,ye,Pe,lt,Ie,st),ye>=Pe))){var Ue=Pe-ye,ge=ze-le;if(mt){if(R*Ue*(Ue+ge)d&&x[S+v]>k;--y,S-=E){for(var T=S,p=S+E,C=0;C>>1,k=2*h,y=w,S=x[k*w+v];E=P?(y=A,S=P):C>=z?(y=p,S=C):(y=D,S=z):P>=z?(y=A,S=P):z>=C?(y=p,S=C):(y=D,S=z);for(var O=k*(M-1),R=k*y,q=0;q=p0)&&!(p1>=hi)":v};function o(d){return i[d]}function s(d,m,x,g,E,M,w){for(var k=2*d,y=k*x,S=y,T=x,p=m,C=d+m,A=x;g>A;++A,y+=k){var P=E[y+p];if(P===w)if(T===A)T+=1,S+=k;else{for(var D=0;k>D;++D){var z=E[y+D];E[y+D]=E[S],E[S++]=z}var q=M[A];M[A]=M[T],M[T++]=q}}return T}function l(d,m,x,g,E,M,w){for(var k=2*d,y=k*x,S=y,T=x,p=m,C=d+m,A=x;g>A;++A,y+=k){var P=E[y+p];if(PD;++D){var z=E[y+D];E[y+D]=E[S],E[S++]=z}var q=M[A];M[A]=M[T],M[T++]=q}}return T}function u(d,m,x,g,E,M,w){for(var k=2*d,y=k*x,S=y,T=x,p=m,C=d+m,A=x;g>A;++A,y+=k){var P=E[y+C];if(P<=w)if(T===A)T+=1,S+=k;else{for(var D=0;k>D;++D){var z=E[y+D];E[y+D]=E[S],E[S++]=z}var q=M[A];M[A]=M[T],M[T++]=q}}return T}function c(d,m,x,g,E,M,w){for(var k=2*d,y=k*x,S=y,T=x,p=m,C=d+m,A=x;g>A;++A,y+=k){var P=E[y+C];if(P<=w)if(T===A)T+=1,S+=k;else{for(var D=0;k>D;++D){var z=E[y+D];E[y+D]=E[S],E[S++]=z}var q=M[A];M[A]=M[T],M[T++]=q}}return T}function f(d,m,x,g,E,M,w){for(var k=2*d,y=k*x,S=y,T=x,p=m,C=d+m,A=x;g>A;++A,y+=k){var P=E[y+p],D=E[y+C];if(P<=w&&w<=D)if(T===A)T+=1,S+=k;else{for(var z=0;k>z;++z){var q=E[y+z];E[y+z]=E[S],E[S++]=q}var U=M[A];M[A]=M[T],M[T++]=U}}return T}function h(d,m,x,g,E,M,w){for(var k=2*d,y=k*x,S=y,T=x,p=m,C=d+m,A=x;g>A;++A,y+=k){var P=E[y+p],D=E[y+C];if(Pz;++z){var q=E[y+z];E[y+z]=E[S],E[S++]=q}var U=M[A];M[A]=M[T],M[T++]=U}}return T}function v(d,m,x,g,E,M,w,k){for(var y=2*d,S=y*x,T=S,p=x,C=m,A=d+m,P=x;g>P;++P,S+=y){var D=E[S+C],z=E[S+A];if(!(D>=w)&&!(k>=z))if(p===P)p+=1,T+=y;else{for(var q=0;y>q;++q){var U=E[S+q];E[S+q]=E[T],E[T++]=U}var O=M[P];M[P]=M[p],M[p++]=O}}return p}}),4192:(function(a){"use strict";a.exports=o;var i=32;function o(m,x){x<=4*i?s(0,x-1,m):d(0,x-1,m)}function s(m,x,g){for(var E=2*(m+1),M=m+1;M<=x;++M){for(var w=g[E++],k=g[E++],y=M,S=E-2;y-- >m;){var T=g[S-2],p=g[S-1];if(Tg[x+1]:!0}function v(m,x,g,E){m*=2;var M=E[m];return M>1,y=k-E,S=k+E,T=M,p=y,C=k,A=S,P=w,D=m+1,z=x-1,q=0;h(T,p,g)&&(q=T,T=p,p=q),h(A,P,g)&&(q=A,A=P,P=q),h(T,C,g)&&(q=T,T=C,C=q),h(p,C,g)&&(q=p,p=C,C=q),h(T,A,g)&&(q=T,T=A,A=q),h(C,A,g)&&(q=C,C=A,A=q),h(p,P,g)&&(q=p,p=P,P=q),h(p,C,g)&&(q=p,p=C,C=q),h(A,P,g)&&(q=A,A=P,P=q);for(var U=g[2*p],O=g[2*p+1],R=g[2*A],B=g[2*A+1],Y=2*T,X=2*C,te=2*P,se=2*M,ue=2*k,re=2*w,j=0;j<2;++j){var fe=g[Y+j],ce=g[X+j],oe=g[te+j];g[se+j]=fe,g[ue+j]=ce,g[re+j]=oe}u(y,m,g),u(S,x,g);for(var we=D;we<=z;++we)if(v(we,U,O,g))we!==D&&l(we,D,g),++D;else if(!v(we,R,B,g))for(;;)if(v(z,R,B,g)){v(z,U,O,g)?(c(we,D,z,g),++D,--z):(l(we,z,g),--z);break}else{if(--z>>1;u(E,ce);for(var oe=0,we=0,ue=0;ue=c)he=he-c|0,w(d,m,we--,he);else if(he>=0)w(h,v,oe--,he);else if(he<=-c){he=-he-c|0;for(var ye=0;ye>>1;u(E,ce);for(var oe=0,we=0,he=0,ue=0;ue>1===E[2*ue+3]>>1&&(Pe=2,ue+=1),ye<0){for(var le=-(ye>>1)-1,ze=0;ze>1)-1;Pe===0?w(h,v,oe--,le):Pe===1?w(d,m,we--,le):Pe===2&&w(x,g,he--,le)}}}function T(C,A,P,D,z,q,U,O,R,B,Y,X){var te=0,se=2*C,ue=A,re=A+C,j=1,fe=1;D?fe=c:j=c;for(var ce=z;ce>>1;u(E,ye);for(var Pe=0,ce=0;ce=c?(ze=!D,oe-=c):(ze=!!D,oe-=1),ze)k(h,v,Pe++,oe);else{var Xe=X[oe],vt=se*oe,st=Y[vt+A+1],Oe=Y[vt+A+1+C];e:for(var qe=0;qe>>1;u(E,oe);for(var we=0,re=0;re=c)h[we++]=j-c;else{j-=1;var ye=Y[j],Pe=te*j,le=B[Pe+A+1],ze=B[Pe+A+1+C];e:for(var Xe=0;Xe=0;--Xe)if(h[Xe]===j){for(var qe=Xe+1;qe0;){for(var M=v.pop(),x=v.pop(),w=-1,k=-1,g=m[x],S=1;S=0||(h.flip(x,M),u(f,h,v,w,x,k),u(f,h,v,x,k,w),u(f,h,v,k,M,w),u(f,h,v,M,w,k))}}}),5023:(function(a,i,o){"use strict";var s=o(2478);a.exports=v;function l(d,m,x,g,E,M,w){this.cells=d,this.neighbor=m,this.flags=g,this.constraint=x,this.active=E,this.next=M,this.boundary=w}var u=l.prototype;function c(d,m){return d[0]-m[0]||d[1]-m[1]||d[2]-m[2]}u.locate=(function(){var d=[0,0,0];return function(m,x,g){var E=m,M=x,w=g;return x0||w.length>0;){for(;M.length>0;){var p=M.pop();if(k[p]!==-E){k[p]=E;for(var C=y[p],A=0;A<3;++A){var P=T[3*p+A];P>=0&&k[P]===0&&(S[3*p+A]?w.push(P):(M.push(P),k[P]=E))}}}var D=w;w=M,M=D,w.length=0,E=-E}var z=h(y,k,m);return x?z.concat(g.boundary):z}}),8902:(function(a,i,o){"use strict";var s=o(2478),l=o(3250)[3],u=0,c=1,f=2;a.exports=w;function h(k,y,S,T,p){this.a=k,this.b=y,this.idx=S,this.lowerIds=T,this.upperIds=p}function v(k,y,S,T){this.a=k,this.b=y,this.type=S,this.idx=T}function d(k,y){var S=k.a[0]-y.a[0]||k.a[1]-y.a[1]||k.type-y.type;return S||k.type!==u&&(S=l(k.a,k.b,y.b),S)?S:k.idx-y.idx}function m(k,y){return l(k.a,k.b,y)}function x(k,y,S,T,p){for(var C=s.lt(y,T,m),A=s.gt(y,T,m),P=C;P1&&l(S[z[U-2]],S[z[U-1]],T)>0;)k.push([z[U-1],z[U-2],p]),U-=1;z.length=U,z.push(p);for(var q=D.upperIds,U=q.length;U>1&&l(S[q[U-2]],S[q[U-1]],T)<0;)k.push([q[U-2],q[U-1],p]),U-=1;q.length=U,q.push(p)}}function g(k,y){var S;return k.a[0]D[0]&&p.push(new v(D,P,f,C),new v(P,D,c,C))}p.sort(d);for(var z=p[0].a[0]-(1+Math.abs(p[0].a[0]))*Math.pow(2,-52),q=[new h([z,1],[z,0],-1,[],[],[],[])],U=[],C=0,O=p.length;C=0}})(),u.removeTriangle=function(h,v,d){var m=this.stars;c(m[h],v,d),c(m[v],d,h),c(m[d],h,v)},u.addTriangle=function(h,v,d){var m=this.stars;m[h].push(v,d),m[v].push(d,h),m[d].push(h,v)},u.opposite=function(h,v){for(var d=this.stars[v],m=1,x=d.length;m=0;--R){var fe=U[R];B=fe[0];var ce=z[B],oe=ce[0],we=ce[1],he=D[oe],ye=D[we];if((he[0]-ye[0]||he[1]-ye[1])<0){var Pe=oe;oe=we,we=Pe}ce[0]=oe;var le=ce[1]=fe[1],ze;for(O&&(ze=ce[2]);R>0&&U[R-1][0]===B;){var fe=U[--R],Xe=fe[1];O?z.push([le,Xe,ze]):z.push([le,Xe]),le=Xe}O?z.push([le,we,ze]):z.push([le,we])}return Y}function y(D,z,q){for(var U=z.length,O=new s(U),R=[],B=0;Bz[2]?1:0)}function p(D,z,q){if(D.length!==0){if(z)for(var U=0;U0||B.length>0}function P(D,z,q){var U;if(q){U=z;for(var O=new Array(z.length),R=0;Rk+1)throw new Error(M+" map requires nshades to be at least size "+E.length);Array.isArray(v.alpha)?v.alpha.length!==2?y=[1,1]:y=v.alpha.slice():typeof v.alpha=="number"?y=[v.alpha,v.alpha]:y=[1,1],d=E.map(function(P){return Math.round(P.index*k)}),y[0]=Math.min(Math.max(y[0],0),1),y[1]=Math.min(Math.max(y[1],0),1);var T=E.map(function(P,D){var z=E[D].index,q=E[D].rgb.slice();return q.length===4&&q[3]>=0&&q[3]<=1||(q[3]=y[0]+(y[1]-y[0])*z),q}),p=[];for(S=0;S=0}function v(d,m,x,g){var E=s(m,x,g);if(E===0){var M=l(s(d,m,x)),w=l(s(d,m,g));if(M===w){if(M===0){var k=h(d,m,x),y=h(d,m,g);return k===y?0:k?1:-1}return 0}else{if(w===0)return M>0||h(d,m,g)?-1:1;if(M===0)return w>0||h(d,m,x)?1:-1}return l(w-M)}var S=s(d,m,x);if(S>0)return E>0&&s(d,m,g)>0?1:-1;if(S<0)return E>0||s(d,m,g)>0?1:-1;var T=s(d,m,g);return T>0||h(d,m,x)?1:-1}}),8572:(function(a){"use strict";a.exports=function(o){return o<0?-1:o>0?1:0}}),8507:(function(a){a.exports=s;var i=Math.min;function o(l,u){return l-u}function s(l,u){var c=l.length,f=l.length-u.length;if(f)return f;switch(c){case 0:return 0;case 1:return l[0]-u[0];case 2:return l[0]+l[1]-u[0]-u[1]||i(l[0],l[1])-i(u[0],u[1]);case 3:var h=l[0]+l[1],v=u[0]+u[1];if(f=h+l[2]-(v+u[2]),f)return f;var d=i(l[0],l[1]),m=i(u[0],u[1]);return i(d,l[2])-i(m,u[2])||i(d+l[2],h)-i(m+u[2],v);case 4:var x=l[0],g=l[1],E=l[2],M=l[3],w=u[0],k=u[1],y=u[2],S=u[3];return x+g+E+M-(w+k+y+S)||i(x,g,E,M)-i(w,k,y,S,w)||i(x+g,x+E,x+M,g+E,g+M,E+M)-i(w+k,w+y,w+S,k+y,k+S,y+S)||i(x+g+E,x+g+M,x+E+M,g+E+M)-i(w+k+y,w+k+S,w+y+S,k+y+S);default:for(var T=l.slice().sort(o),p=u.slice().sort(o),C=0;Co[l][0]&&(l=u);return sl?[[l],[s]]:[[s]]}}),4750:(function(a,i,o){"use strict";a.exports=l;var s=o(3090);function l(u){var c=s(u),f=c.length;if(f<=2)return[];for(var h=new Array(f),v=c[f-1],d=0;d=v[w]&&(M+=1);g[E]=M}}return h}function f(h,v){try{return s(h,!0)}catch(g){var d=l(h);if(d.length<=v)return[];var m=u(h,d),x=s(m,!0);return c(x,d)}}}),4769:(function(a){"use strict";function i(s,l,u,c,f,h){var v=6*f*f-6*f,d=3*f*f-4*f+1,m=-6*f*f+6*f,x=3*f*f-2*f;if(s.length){h||(h=new Array(s.length));for(var g=s.length-1;g>=0;--g)h[g]=v*s[g]+d*l[g]+m*u[g]+x*c[g];return h}return v*s+d*l+m*u[g]+x*c}function o(s,l,u,c,f,h){var v=f-1,d=f*f,m=v*v,x=(1+2*f)*m,g=f*m,E=d*(3-2*f),M=d*v;if(s.length){h||(h=new Array(s.length));for(var w=s.length-1;w>=0;--w)h[w]=x*s[w]+g*l[w]+E*u[w]+M*c[w];return h}return x*s+g*l+E*u+M*c}a.exports=o,a.exports.derivative=i}),7642:(function(a,i,o){"use strict";var s=o(8954),l=o(1682);a.exports=h;function u(v,d){this.point=v,this.index=d}function c(v,d){for(var m=v.point,x=d.point,g=m.length,E=0;E=2)return!1;q[O]=R}return!0}):z=z.filter(function(q){for(var U=0;U<=x;++U){var O=C[q[U]];if(O<0)return!1;q[U]=O}return!0}),x&1)for(var M=0;M>>31},a.exports.exponent=function(E){var M=a.exports.hi(E);return(M<<1>>>21)-1023},a.exports.fraction=function(E){var M=a.exports.lo(E),w=a.exports.hi(E),k=w&(1<<20)-1;return w&2146435072&&(k+=1048576),[M,k]},a.exports.denormalized=function(E){var M=a.exports.hi(E);return!(M&2146435072)}}),1338:(function(a){"use strict";function i(l,u,c){var f=l[c]|0;if(f<=0)return[];var h=new Array(f),v;if(c===l.length-1)for(v=0;v0)return o(l|0,u);break;case"object":if(typeof l.length=="number")return i(l,u,0);break}return[]}a.exports=s}),3134:(function(a,i,o){"use strict";a.exports=l;var s=o(1682);function l(u,c){var f=u.length;if(typeof c!="number"){c=0;for(var h=0;h=x-1)for(var S=M.length-1,p=d-m[x-1],T=0;T=x-1)for(var y=M.length-1,S=d-m[x-1],T=0;T=0;--x)if(d[--m])return!1;return!0},f.jump=function(d){var m=this.lastT(),x=this.dimension;if(!(d0;--T)g.push(u(k[T-1],y[T-1],arguments[T])),E.push(0)}},f.push=function(d){var m=this.lastT(),x=this.dimension;if(!(d1e-6?1/w:0;this._time.push(d);for(var p=x;p>0;--p){var C=u(y[p-1],S[p-1],arguments[p]);g.push(C),E.push((C-g[M++])*T)}}},f.set=function(d){var m=this.dimension;if(!(d0;--k)x.push(u(M[k-1],w[k-1],arguments[k])),g.push(0)}},f.move=function(d){var m=this.lastT(),x=this.dimension;if(!(d<=m||arguments.length!==x+1)){var g=this._state,E=this._velocity,M=g.length-this.dimension,w=this.bounds,k=w[0],y=w[1],S=d-m,T=S>1e-6?1/S:0;this._time.push(d);for(var p=x;p>0;--p){var C=arguments[p];g.push(u(k[p-1],y[p-1],g[M++]+C)),E.push(C*T)}}},f.idle=function(d){var m=this.lastT();if(!(d=0;--T)g.push(u(k[T],y[T],g[M]+S*E[M])),E.push(0),M+=1}};function h(d){for(var m=new Array(d),x=0;x=0;--D){var p=C[D];A[D]<=0?C[D]=new s(p._color,p.key,p.value,C[D+1],p.right,p._count+1):C[D]=new s(p._color,p.key,p.value,p.left,C[D+1],p._count+1)}for(var D=C.length-1;D>1;--D){var z=C[D-1],p=C[D];if(z._color===o||p._color===o)break;var q=C[D-2];if(q.left===z)if(z.left===p){var U=q.right;if(U&&U._color===i)z._color=o,q.right=u(o,U),q._color=i,D-=1;else{if(q._color=i,q.left=z.right,z._color=o,z.right=q,C[D-2]=z,C[D-1]=p,c(q),c(z),D>=3){var O=C[D-3];O.left===q?O.left=z:O.right=z}break}}else{var U=q.right;if(U&&U._color===i)z._color=o,q.right=u(o,U),q._color=i,D-=1;else{if(z.right=p.left,q._color=i,q.left=p.right,p._color=o,p.left=z,p.right=q,C[D-2]=p,C[D-1]=z,c(q),c(z),c(p),D>=3){var O=C[D-3];O.left===q?O.left=p:O.right=p}break}}else if(z.right===p){var U=q.left;if(U&&U._color===i)z._color=o,q.left=u(o,U),q._color=i,D-=1;else{if(q._color=i,q.right=z.left,z._color=o,z.left=q,C[D-2]=z,C[D-1]=p,c(q),c(z),D>=3){var O=C[D-3];O.right===q?O.right=z:O.left=z}break}}else{var U=q.left;if(U&&U._color===i)z._color=o,q.left=u(o,U),q._color=i,D-=1;else{if(z.left=p.right,q._color=i,q.right=p.left,p._color=o,p.right=z,p.left=q,C[D-2]=p,C[D-1]=z,c(q),c(z),c(p),D>=3){var O=C[D-3];O.right===q?O.right=p:O.left=p}break}}}return C[0]._color=o,new f(T,C[0])};function v(y,S){if(S.left){var T=v(y,S.left);if(T)return T}var T=y(S.key,S.value);if(T)return T;if(S.right)return v(y,S.right)}function d(y,S,T,p){var C=S(y,p.key);if(C<=0){if(p.left){var A=d(y,S,T,p.left);if(A)return A}var A=T(p.key,p.value);if(A)return A}if(p.right)return d(y,S,T,p.right)}function m(y,S,T,p,C){var A=T(y,C.key),P=T(S,C.key),D;if(A<=0&&(C.left&&(D=m(y,S,T,p,C.left),D)||P>0&&(D=p(C.key,C.value),D)))return D;if(P>0&&C.right)return m(y,S,T,p,C.right)}h.forEach=function(S,T,p){if(this.root)switch(arguments.length){case 1:return v(S,this.root);case 2:return d(T,this._compare,S,this.root);case 3:return this._compare(T,p)>=0?void 0:m(T,p,this._compare,S,this.root)}},Object.defineProperty(h,"begin",{get:function(){for(var y=[],S=this.root;S;)y.push(S),S=S.left;return new x(this,y)}}),Object.defineProperty(h,"end",{get:function(){for(var y=[],S=this.root;S;)y.push(S),S=S.right;return new x(this,y)}}),h.at=function(y){if(y<0)return new x(this,[]);for(var S=this.root,T=[];;){if(T.push(S),S.left){if(y=S.right._count)break;S=S.right}else break}return new x(this,[])},h.ge=function(y){for(var S=this._compare,T=this.root,p=[],C=0;T;){var A=S(y,T.key);p.push(T),A<=0&&(C=p.length),A<=0?T=T.left:T=T.right}return p.length=C,new x(this,p)},h.gt=function(y){for(var S=this._compare,T=this.root,p=[],C=0;T;){var A=S(y,T.key);p.push(T),A<0&&(C=p.length),A<0?T=T.left:T=T.right}return p.length=C,new x(this,p)},h.lt=function(y){for(var S=this._compare,T=this.root,p=[],C=0;T;){var A=S(y,T.key);p.push(T),A>0&&(C=p.length),A<=0?T=T.left:T=T.right}return p.length=C,new x(this,p)},h.le=function(y){for(var S=this._compare,T=this.root,p=[],C=0;T;){var A=S(y,T.key);p.push(T),A>=0&&(C=p.length),A<0?T=T.left:T=T.right}return p.length=C,new x(this,p)},h.find=function(y){for(var S=this._compare,T=this.root,p=[];T;){var C=S(y,T.key);if(p.push(T),C===0)return new x(this,p);C<=0?T=T.left:T=T.right}return new x(this,[])},h.remove=function(y){var S=this.find(y);return S?S.remove():this},h.get=function(y){for(var S=this._compare,T=this.root;T;){var p=S(y,T.key);if(p===0)return T.value;p<=0?T=T.left:T=T.right}};function x(y,S){this.tree=y,this._stack=S}var g=x.prototype;Object.defineProperty(g,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(g,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),g.clone=function(){return new x(this.tree,this._stack.slice())};function E(y,S){y.key=S.key,y.value=S.value,y.left=S.left,y.right=S.right,y._color=S._color,y._count=S._count}function M(y){for(var S,T,p,C,A=y.length-1;A>=0;--A){if(S=y[A],A===0){S._color=o;return}if(T=y[A-1],T.left===S){if(p=T.right,p.right&&p.right._color===i){if(p=T.right=l(p),C=p.right=l(p.right),T.right=p.left,p.left=T,p.right=C,p._color=T._color,S._color=o,T._color=o,C._color=o,c(T),c(p),A>1){var P=y[A-2];P.left===T?P.left=p:P.right=p}y[A-1]=p;return}else if(p.left&&p.left._color===i){if(p=T.right=l(p),C=p.left=l(p.left),T.right=C.left,p.left=C.right,C.left=T,C.right=p,C._color=T._color,T._color=o,p._color=o,S._color=o,c(T),c(p),c(C),A>1){var P=y[A-2];P.left===T?P.left=C:P.right=C}y[A-1]=C;return}if(p._color===o)if(T._color===i){T._color=o,T.right=u(i,p);return}else{T.right=u(i,p);continue}else{if(p=l(p),T.right=p.left,p.left=T,p._color=T._color,T._color=i,c(T),c(p),A>1){var P=y[A-2];P.left===T?P.left=p:P.right=p}y[A-1]=p,y[A]=T,A+11){var P=y[A-2];P.right===T?P.right=p:P.left=p}y[A-1]=p;return}else if(p.right&&p.right._color===i){if(p=T.left=l(p),C=p.right=l(p.right),T.left=C.right,p.right=C.left,C.right=T,C.left=p,C._color=T._color,T._color=o,p._color=o,S._color=o,c(T),c(p),c(C),A>1){var P=y[A-2];P.right===T?P.right=C:P.left=C}y[A-1]=C;return}if(p._color===o)if(T._color===i){T._color=o,T.left=u(i,p);return}else{T.left=u(i,p);continue}else{if(p=l(p),T.left=p.right,p.right=T,p._color=T._color,T._color=i,c(T),c(p),A>1){var P=y[A-2];P.right===T?P.right=p:P.left=p}y[A-1]=p,y[A]=T,A+1=0;--p){var T=y[p];T.left===y[p+1]?S[p]=new s(T._color,T.key,T.value,S[p+1],T.right,T._count):S[p]=new s(T._color,T.key,T.value,T.left,S[p+1],T._count)}if(T=S[S.length-1],T.left&&T.right){var C=S.length;for(T=T.left;T.right;)S.push(T),T=T.right;var A=S[C-1];S.push(new s(T._color,A.key,A.value,T.left,T.right,T._count)),S[C-1].key=T.key,S[C-1].value=T.value;for(var p=S.length-2;p>=C;--p)T=S[p],S[p]=new s(T._color,T.key,T.value,T.left,S[p+1],T._count);S[C-1].left=S[C]}if(T=S[S.length-1],T._color===i){var P=S[S.length-2];P.left===T?P.left=null:P.right===T&&(P.right=null),S.pop();for(var p=0;p0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(g,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(g,"index",{get:function(){var y=0,S=this._stack;if(S.length===0){var T=this.tree.root;return T?T._count:0}else S[S.length-1].left&&(y=S[S.length-1].left._count);for(var p=S.length-2;p>=0;--p)S[p+1]===S[p].right&&(++y,S[p].left&&(y+=S[p].left._count));return y},enumerable:!0}),g.next=function(){var y=this._stack;if(y.length!==0){var S=y[y.length-1];if(S.right)for(S=S.right;S;)y.push(S),S=S.left;else for(y.pop();y.length>0&&y[y.length-1].right===S;)S=y[y.length-1],y.pop()}},Object.defineProperty(g,"hasNext",{get:function(){var y=this._stack;if(y.length===0)return!1;if(y[y.length-1].right)return!0;for(var S=y.length-1;S>0;--S)if(y[S-1].left===y[S])return!0;return!1}}),g.update=function(y){var S=this._stack;if(S.length===0)throw new Error("Can't update empty node!");var T=new Array(S.length),p=S[S.length-1];T[T.length-1]=new s(p._color,p.key,y,p.left,p.right,p._count);for(var C=S.length-2;C>=0;--C)p=S[C],p.left===S[C+1]?T[C]=new s(p._color,p.key,p.value,T[C+1],p.right,p._count):T[C]=new s(p._color,p.key,p.value,p.left,T[C+1],p._count);return new f(this.tree._compare,T[0])},g.prev=function(){var y=this._stack;if(y.length!==0){var S=y[y.length-1];if(S.left)for(S=S.left;S;)y.push(S),S=S.right;else for(y.pop();y.length>0&&y[y.length-1].left===S;)S=y[y.length-1],y.pop()}},Object.defineProperty(g,"hasPrev",{get:function(){var y=this._stack;if(y.length===0)return!1;if(y[y.length-1].left)return!0;for(var S=y.length-1;S>0;--S)if(y[S-1].right===y[S])return!0;return!1}});function w(y,S){return yS?1:0}function k(y){return new f(y||w,null)}}),3837:(function(a,i,o){"use strict";a.exports=D;var s=o(4935),l=o(501),u=o(5304),c=o(6429),f=o(6444),h=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),v=ArrayBuffer,d=DataView;function m(z){return v.isView(z)&&!(z instanceof d)}function x(z){return Array.isArray(z)||m(z)}function g(z,q){return z[0]=q[0],z[1]=q[1],z[2]=q[2],z}function E(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=u(z)}var M=E.prototype;M.update=function(z){z=z||{};function q(oe,we,he){if(he in z){var ye=z[he],Pe=this[he],le;(oe?x(ye)&&x(ye[0]):x(ye))?this[he]=le=[we(ye[0]),we(ye[1]),we(ye[2])]:this[he]=le=[we(ye),we(ye),we(ye)];for(var ze=0;ze<3;++ze)if(le[ze]!==Pe[ze])return!0}return!1}var U=q.bind(this,!1,Number),O=q.bind(this,!1,Boolean),R=q.bind(this,!1,String),B=q.bind(this,!0,function(oe){if(x(oe)){if(oe.length===3)return[+oe[0],+oe[1],+oe[2],1];if(oe.length===4)return[+oe[0],+oe[1],+oe[2],+oe[3]]}return[0,0,0,1]}),Y,X=!1,te=!1;if("bounds"in z)for(var se=z.bounds,ue=0;ue<2;++ue)for(var re=0;re<3;++re)se[ue][re]!==this.bounds[ue][re]&&(te=!0),this.bounds[ue][re]=se[ue][re];if("ticks"in z){Y=z.ticks,X=!0,this.autoTicks=!1;for(var ue=0;ue<3;++ue)this.tickSpacing[ue]=0}else U("tickSpacing")&&(this.autoTicks=!0,te=!0);if(this._firstInit&&("ticks"in z||"tickSpacing"in z||(this.autoTicks=!0),te=!0,X=!0,this._firstInit=!1),te&&this.autoTicks&&(Y=f.create(this.bounds,this.tickSpacing),X=!0),X){for(var ue=0;ue<3;++ue)Y[ue].sort(function(we,he){return we.x-he.x});f.equal(Y,this.ticks)?X=!1:this.ticks=Y}O("tickEnable"),R("tickFont")&&(X=!0),R("tickFontStyle")&&(X=!0),R("tickFontWeight")&&(X=!0),R("tickFontVariant")&&(X=!0),U("tickSize"),U("tickAngle"),U("tickPad"),B("tickColor");var j=R("labels");R("labelFont")&&(j=!0),R("labelFontStyle")&&(j=!0),R("labelFontWeight")&&(j=!0),R("labelFontVariant")&&(j=!0),O("labelEnable"),U("labelSize"),U("labelPad"),B("labelColor"),O("lineEnable"),O("lineMirror"),U("lineWidth"),B("lineColor"),O("lineTickEnable"),O("lineTickMirror"),U("lineTickLength"),U("lineTickWidth"),B("lineTickColor"),O("gridEnable"),U("gridWidth"),B("gridColor"),O("zeroEnable"),B("zeroLineColor"),U("zeroLineWidth"),O("backgroundEnable"),B("backgroundColor");var fe=[{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]}],ce=[{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&&(j||X)&&this._text.update(this.bounds,this.labels,fe,this.ticks,ce):this._text=s(this.gl,this.bounds,this.labels,fe,this.ticks,ce),this._lines&&X&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=l(this.gl,this.bounds,this.ticks))};function w(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}var k=[new w,new w,new w];function y(z,q,U,O,R){for(var B=z.primalOffset,Y=z.primalMinor,X=z.mirrorOffset,te=z.mirrorMinor,se=O[q],ue=0;ue<3;++ue)if(q!==ue){var re=B,j=X,fe=Y,ce=te;se&1<0?(fe[ue]=-1,ce[ue]=0):(fe[ue]=0,ce[ue]=1)}}var S=[0,0,0],T={model:h,view:h,projection:h,_ortho:!1};M.isOpaque=function(){return!0},M.isTransparent=function(){return!1},M.drawTransparent=function(z){};var p=0,C=[0,0,0],A=[0,0,0],P=[0,0,0];M.draw=function(z){z=z||T;for(var he=this.gl,q=z.model||h,U=z.view||h,O=z.projection||h,R=this.bounds,B=z._ortho||!1,Y=c(q,U,O,R,B),X=Y.cubeEdges,te=Y.axis,se=U[12],ue=U[13],re=U[14],j=U[15],fe=B?2:1,ce=fe*this.pixelRatio*(O[3]*se+O[7]*ue+O[11]*re+O[15]*j)/he.drawingBufferHeight,oe=0;oe<3;++oe)this.lastCubeProps.cubeEdges[oe]=X[oe],this.lastCubeProps.axis[oe]=te[oe];for(var we=k,oe=0;oe<3;++oe)y(k[oe],oe,this.bounds,X,te);for(var he=this.gl,ye=S,oe=0;oe<3;++oe)this.backgroundEnable[oe]?ye[oe]=te[oe]:ye[oe]=0;this._background.draw(q,U,O,R,ye,this.backgroundColor),this._lines.bind(q,U,O,this);for(var oe=0;oe<3;++oe){var Pe=[0,0,0];te[oe]>0?Pe[oe]=R[1][oe]:Pe[oe]=R[0][oe];for(var le=0;le<2;++le){var ze=(oe+1+le)%3,Xe=(oe+1+(le^1))%3;this.gridEnable[ze]&&this._lines.drawGrid(ze,Xe,this.bounds,Pe,this.gridColor[ze],this.gridWidth[ze]*this.pixelRatio)}for(var le=0;le<2;++le){var ze=(oe+1+le)%3,Xe=(oe+1+(le^1))%3;this.zeroEnable[Xe]&&Math.min(R[0][Xe],R[1][Xe])<=0&&Math.max(R[0][Xe],R[1][Xe])>=0&&this._lines.drawZero(ze,Xe,this.bounds,Pe,this.zeroLineColor[Xe],this.zeroLineWidth[Xe]*this.pixelRatio)}}for(var oe=0;oe<3;++oe){this.lineEnable[oe]&&this._lines.drawAxisLine(oe,this.bounds,we[oe].primalOffset,this.lineColor[oe],this.lineWidth[oe]*this.pixelRatio),this.lineMirror[oe]&&this._lines.drawAxisLine(oe,this.bounds,we[oe].mirrorOffset,this.lineColor[oe],this.lineWidth[oe]*this.pixelRatio);for(var vt=g(C,we[oe].primalMinor),st=g(A,we[oe].mirrorMinor),Oe=this.lineTickLength,le=0;le<3;++le){var qe=ce/q[5*le];vt[le]*=Oe[le]*qe,st[le]*=Oe[le]*qe}this.lineTickEnable[oe]&&this._lines.drawAxisTicks(oe,we[oe].primalOffset,vt,this.lineTickColor[oe],this.lineTickWidth[oe]*this.pixelRatio),this.lineTickMirror[oe]&&this._lines.drawAxisTicks(oe,we[oe].mirrorOffset,st,this.lineTickColor[oe],this.lineTickWidth[oe]*this.pixelRatio)}this._lines.unbind(),this._text.bind(q,U,O,this.pixelRatio);var mt,lt=.5,Ie,de;function Ee(He){de=[0,0,0],de[He]=1}function Ue(He,Qe,We){var pt=(He+1)%3,kt=(He+2)%3,qt=Qe[pt],Wt=Qe[kt],_r=We[pt],tr=We[kt];if(qt>0&&tr>0){Ee(pt);return}else if(qt>0&&tr<0){Ee(pt);return}else if(qt<0&&tr>0){Ee(pt);return}else if(qt<0&&tr<0){Ee(pt);return}else if(Wt>0&&_r>0){Ee(kt);return}else if(Wt>0&&_r<0){Ee(kt);return}else if(Wt<0&&_r>0){Ee(kt);return}else if(Wt<0&&_r<0){Ee(kt);return}}for(var oe=0;oe<3;++oe){for(var ge=we[oe].primalMinor,Ge=we[oe].mirrorMinor,tt=g(P,we[oe].primalOffset),le=0;le<3;++le)this.lineTickEnable[oe]&&(tt[le]+=ce*ge[le]*Math.max(this.lineTickLength[le],0)/q[5*le]);var ft=[0,0,0];if(ft[oe]=1,this.tickEnable[oe]){this.tickAngle[oe]===-3600?(this.tickAngle[oe]=0,this.tickAlign[oe]="auto"):this.tickAlign[oe]=-1,Ie=1,mt=[this.tickAlign[oe],lt,Ie],mt[0]==="auto"?mt[0]=p:mt[0]=parseInt(""+mt[0]),de=[0,0,0],Ue(oe,ge,Ge);for(var le=0;le<3;++le)tt[le]+=ce*ge[le]*this.tickPad[le]/q[5*le];this._text.drawTicks(oe,this.tickSize[oe],this.tickAngle[oe],tt,this.tickColor[oe],ft,de,mt)}if(this.labelEnable[oe]){Ie=0,de=[0,0,0],this.labels[oe].length>4&&(Ee(oe),Ie=1),mt=[this.labelAlign[oe],lt,Ie],mt[0]==="auto"?mt[0]=p:mt[0]=parseInt(""+mt[0]);for(var le=0;le<3;++le)tt[le]+=ce*ge[le]*this.labelPad[le]/q[5*le];tt[oe]+=.5*(R[0][oe]+R[1][oe]),this._text.drawLabel(oe,this.labelSize[oe],this.labelAngle[oe],tt,this.labelColor[oe],[0,0,0],de,mt)}}this._text.unbind()},M.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null};function D(z,q){var U=new E(z);return U.update(q),U}}),5304:(function(a,i,o){"use strict";a.exports=h;var s=o(2762),l=o(8116),u=o(1879).bg;function c(v,d,m,x){this.gl=v,this.buffer=d,this.vao=m,this.shader=x}var f=c.prototype;f.draw=function(v,d,m,x,g,E){for(var M=!1,w=0;w<3;++w)M=M||g[w];if(M){var k=this.gl;k.enable(k.POLYGON_OFFSET_FILL),k.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:v,view:d,projection:m,bounds:x,enable:g,colors:E},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),k.disable(k.POLYGON_OFFSET_FILL)}},f.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};function h(v){for(var d=[],m=[],x=0,g=0;g<3;++g)for(var E=(g+1)%3,M=(g+2)%3,w=[0,0,0],k=[0,0,0],y=-1;y<=1;y+=2){m.push(x,x+2,x+1,x+1,x+2,x+3),w[g]=y,k[g]=y;for(var S=-1;S<=1;S+=2){w[E]=S;for(var T=-1;T<=1;T+=2)w[M]=T,d.push(w[0],w[1],w[2],k[0],k[1],k[2]),x+=1}var p=E;E=M,M=p}var C=s(v,new Float32Array(d)),A=s(v,new Uint16Array(m),v.ELEMENT_ARRAY_BUFFER),P=l(v,[{buffer:C,type:v.FLOAT,size:3,offset:0,stride:24},{buffer:C,type:v.FLOAT,size:3,offset:12,stride:24}],A),D=u(v);return D.attributes.position.location=0,D.attributes.normal.location=1,new c(v,C,P,D)}}),6429:(function(a,i,o){"use strict";a.exports=y;var s=o(8828),l=o(6760),u=o(5202),c=o(3250),f=new Array(16),h=new Array(8),v=new Array(8),d=new Array(3),m=[0,0,0];(function(){for(var S=0;S<8;++S)h[S]=[1,1,1,1],v[S]=[1,1,1]})();function x(S,T,p){for(var C=0;C<4;++C){S[C]=p[12+C];for(var A=0;A<3;++A)S[C]+=T[A]*p[4*A+C]}}var g=[[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 E(S){for(var T=0;Tte&&(U|=1<te){U|=1<v[D][1])&&(we=D);for(var he=-1,D=0;D<3;++D){var ye=we^1<v[Pe][0]&&(Pe=ye)}}var le=M;le[0]=le[1]=le[2]=0,le[s.log2(he^we)]=we&he,le[s.log2(we^Pe)]=we&Pe;var ze=Pe^7;ze===U||ze===oe?(ze=he^7,le[s.log2(Pe^ze)]=ze&Pe):le[s.log2(he^ze)]=ze&he;for(var Xe=w,vt=U,B=0;B<3;++B)vt&1<=0;--ce){var He=be[Pe[ce]];S.push(ke*He[0],-ke*He[1],H)}}for(var P=[0,0,0],E=[0,0,0],z=[0,0,0],q=[0,0,0],V=1.25,G={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},Z=0;Z<3;++Z){z[Z]=S.length/d|0,g(.5*(M[0][Z]+M[1][Z]),T[Z],L[Z],12,V,G),q[Z]=(S.length/d|0)-z[Z],P[Z]=S.length/d|0;for(var j=0;j=0&&(d=f.length-h-1);var v=Math.pow(10,d),m=Math.round(u*c*v),b=m+"";if(b.indexOf("e")>=0)return b;var p=m/v,k=m%v;m<0?(p=-Math.ceil(p)|0,k=-k|0):(p=Math.floor(p)|0,k=k|0);var M=""+p;if(m<0&&(M="-"+M),d){for(var T=""+k;T.length=u[0][h];--m)d.push({x:m*c[h],text:o(c[h],m)});f.push(d)}return f}function l(u,c){for(var f=0;f<3;++f){if(u[f].length!==c[f].length)return!1;for(var h=0;hM)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return p.bufferSubData(k,x,L),M}function v(p,k){for(var M=s.malloc(p.length,k),T=p.length,L=0;L=0;--T){if(k[T]!==M)return!1;M*=p[T]}return!0}h.update=function(p,k){if(typeof k!="number"&&(k=-1),this.bind(),typeof p=="object"&&typeof p.shape!="undefined"){var M=p.dtype;if(c.indexOf(M)<0&&(M="float32"),this.type===this.gl.ELEMENT_ARRAY_BUFFER){var T=gl.getExtension("OES_element_index_uint");T&&M!=="uint16"?M="uint32":M="uint16"}if(M===p.dtype&&m(p.shape,p.stride))p.offset===0&&p.data.length===p.shape[0]?this.length=d(this.gl,this.type,this.length,this.usage,p.data,k):this.length=d(this.gl,this.type,this.length,this.usage,p.data.subarray(p.offset,p.shape[0]),k);else{var L=s.malloc(p.size,M),x=u(L,p.shape);l.assign(x,p),k<0?this.length=d(this.gl,this.type,this.length,this.usage,L,k):this.length=d(this.gl,this.type,this.length,this.usage,L.subarray(0,p.size),k),s.free(L)}}else if(Array.isArray(p)){var C;this.type===this.gl.ELEMENT_ARRAY_BUFFER?C=v(p,"uint16"):C=v(p,"float32"),k<0?this.length=d(this.gl,this.type,this.length,this.usage,C,k):this.length=d(this.gl,this.type,this.length,this.usage,C.subarray(0,p.length),k),s.free(C)}else if(typeof p=="object"&&typeof p.length=="number")this.length=d(this.gl,this.type,this.length,this.usage,p,k);else if(typeof p=="number"||p===void 0){if(k>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");p=p|0,p<=0&&(p=1),this.gl.bufferData(this.type,p|0,this.usage),this.length=p}else throw new Error("gl-buffer: Invalid data type")};function b(p,k,M,T){if(M=M||p.ARRAY_BUFFER,T=T||p.DYNAMIC_DRAW,M!==p.ARRAY_BUFFER&&M!==p.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(T!==p.DYNAMIC_DRAW&&T!==p.STATIC_DRAW&&T!==p.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 L=p.createBuffer(),x=new f(p,M,L,0,T);return x.update(k),x}i.exports=b},6405:function(i,a,o){"use strict";var s=o(2931);i.exports=function(u,c){var f=u.positions,h=u.vectors,d={positions:[],vertexIntensity:[],vertexIntensityBounds:u.vertexIntensityBounds,vectors:[],cells:[],coneOffset:u.coneOffset,colormap:u.colormap};if(u.positions.length===0)return c&&(c[0]=[0,0,0],c[1]=[0,0,0]),d;for(var v=0,m=1/0,b=-1/0,p=1/0,k=-1/0,M=1/0,T=-1/0,L=null,x=null,C=[],S=1/0,g=!1,P=u.coneSizemode==="raw",E=0;Ev&&(v=s.length(q)),E&&!P){var V=2*s.distance(L,z)/(s.length(x)+s.length(q));V?(S=Math.min(S,V),g=!1):g=!0}g||(L=z,x=q),C.push(q)}var G=[m,p,M],Z=[b,k,T];c&&(c[0]=G,c[1]=Z),v===0&&(v=1);var j=1/v;isFinite(S)||(S=1),d.vectorScale=S;var N=u.coneSize||(P?1:.5);u.absoluteConeSize&&(N=u.absoluteConeSize*j),d.coneScale=N;for(var E=0,H=0;E=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(C){this.pickId=C};function k(C){for(var S=v({colormap:C,nshades:256,format:"rgba"}),g=new Uint8Array(256*4),P=0;P<256;++P){for(var E=S[P],z=0;z<3;++z)g[4*P+z]=E[z];g[4*P+3]=E[3]*255}return d(g,[256,256,4],[4,0,1])}function M(C){for(var S=C.length,g=new Array(S),P=0;P0){var H=this.triShader;H.bind(),H.uniforms=V,this.triangleVAO.bind(),S.drawArrays(S.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}},p.drawPick=function(C){C=C||{};for(var S=this.gl,g=C.model||m,P=C.view||m,E=C.projection||m,z=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],q=0;q<3;++q)z[0][q]=Math.max(z[0][q],this.clipBounds[0][q]),z[1][q]=Math.min(z[1][q],this.clipBounds[1][q]);this._model=[].slice.call(g),this._view=[].slice.call(P),this._projection=[].slice.call(E),this._resolution=[S.drawingBufferWidth,S.drawingBufferHeight];var V={model:g,view:P,projection:E,clipBounds:z,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},G=this.pickShader;G.bind(),G.uniforms=V,this.triangleCount>0&&(this.triangleVAO.bind(),S.drawArrays(S.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind())},p.pick=function(C){if(!C||C.id!==this.pickId)return null;var S=C.value[0]+256*C.value[1]+65536*C.value[2],g=this.cells[S],P=this.positions[g[1]].slice(0,3),E={position:P,dataCoordinate:P,index:Math.floor(g[1]/48)};return this.traceType==="cone"?E.index=Math.floor(g[1]/48):this.traceType==="streamtube"&&(E.intensity=this.intensity[g[1]],E.velocity=this.vectors[g[1]].slice(0,3),E.divergence=this.vectors[g[1]][3],E.index=S),E},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()};function T(C,S){var g=s(C,S.meshShader.vertex,S.meshShader.fragment,null,S.meshShader.attributes);return g.attributes.position.location=0,g.attributes.color.location=2,g.attributes.uv.location=3,g.attributes.vector.location=4,g}function L(C,S){var g=s(C,S.pickShader.vertex,S.pickShader.fragment,null,S.pickShader.attributes);return g.attributes.position.location=0,g.attributes.id.location=1,g.attributes.vector.location=4,g}function x(C,S,g){var P=g.shaders;arguments.length===1&&(S=C,C=S.gl);var E=T(C,P),z=L(C,P),q=c(C,d(new Uint8Array([255,255,255,255]),[1,1,4]));q.generateMipmap(),q.minFilter=C.LINEAR_MIPMAP_LINEAR,q.magFilter=C.LINEAR;var V=l(C),G=l(C),Z=l(C),j=l(C),N=l(C),H=u(C,[{buffer:V,type:C.FLOAT,size:4},{buffer:N,type:C.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:Z,type:C.FLOAT,size:4},{buffer:j,type:C.FLOAT,size:2},{buffer:G,type:C.FLOAT,size:4}]),ie=new b(C,q,E,z,V,G,N,Z,j,H,g.traceType||"cone");return ie.update(S),ie}i.exports=x},614:function(i,a,o){var s=o(3236),l=s([`precision highp float; +}`]);i.bg=function(m){return l(m,v,d,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}}),4935:(function(a,i,o){"use strict";a.exports=E;var s=o(2762),l=o(8116),u=o(4359),c=o(1879).Q,f=window||process.global||{},h=f.__TEXT_CACHE||{};f.__TEXT_CACHE={};var v=3;function d(M,w,k,y){this.gl=M,this.shader=w,this.buffer=k,this.vao=y,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var m=d.prototype,x=[0,0];m.bind=function(M,w,k,y){this.vao.bind(),this.shader.bind();var S=this.shader.uniforms;S.model=M,S.view=w,S.projection=k,S.pixelScale=y,x[0]=this.gl.drawingBufferWidth,x[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=x},m.unbind=function(){this.vao.unbind()},m.update=function(M,w,k,y,S){var T=[];function p(B,Y,X,te,se,ue){var re=[X.style,X.weight,X.variant,X.family].join("_"),j=h[re];j||(j=h[re]={});var fe=j[Y];fe||(fe=j[Y]=g(Y,{triangles:!0,font:X.family,fontStyle:X.style,fontWeight:X.weight,fontVariant:X.variant,textAlign:"center",textBaseline:"middle",lineSpacing:se,styletags:ue}));for(var ce=(te||12)/12,oe=fe.positions,we=fe.cells,he=0,ye=we.length;he=0;--le){var ze=oe[Pe[le]];T.push(ce*ze[0],-ce*ze[1],B)}}for(var C=[0,0,0],A=[0,0,0],P=[0,0,0],D=[0,0,0],z=1.25,q={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},U=0;U<3;++U){P[U]=T.length/v|0,p(.5*(M[0][U]+M[1][U]),w[U],k[U],12,z,q),D[U]=(T.length/v|0)-P[U],C[U]=T.length/v|0;for(var O=0;O=0&&(v=f.length-h-1);var d=Math.pow(10,v),m=Math.round(u*c*d),x=m+"";if(x.indexOf("e")>=0)return x;var g=m/d,E=m%d;m<0?(g=-Math.ceil(g)|0,E=-E|0):(g=Math.floor(g)|0,E=E|0);var M=""+g;if(m<0&&(M="-"+M),v){for(var w=""+E;w.length=u[0][h];--m)v.push({x:m*c[h],text:o(c[h],m)});f.push(v)}return f}function l(u,c){for(var f=0;f<3;++f){if(u[f].length!==c[f].length)return!1;for(var h=0;hM)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return g.bufferSubData(E,y,k),M}function d(g,E){for(var M=s.malloc(g.length,E),w=g.length,k=0;k=0;--w){if(E[w]!==M)return!1;M*=g[w]}return!0}h.update=function(g,E){if(typeof E!="number"&&(E=-1),this.bind(),typeof g=="object"&&typeof g.shape!="undefined"){var M=g.dtype;if(c.indexOf(M)<0&&(M="float32"),this.type===this.gl.ELEMENT_ARRAY_BUFFER){var w=gl.getExtension("OES_element_index_uint");w&&M!=="uint16"?M="uint32":M="uint16"}if(M===g.dtype&&m(g.shape,g.stride))g.offset===0&&g.data.length===g.shape[0]?this.length=v(this.gl,this.type,this.length,this.usage,g.data,E):this.length=v(this.gl,this.type,this.length,this.usage,g.data.subarray(g.offset,g.shape[0]),E);else{var k=s.malloc(g.size,M),y=u(k,g.shape);l.assign(y,g),E<0?this.length=v(this.gl,this.type,this.length,this.usage,k,E):this.length=v(this.gl,this.type,this.length,this.usage,k.subarray(0,g.size),E),s.free(k)}}else if(Array.isArray(g)){var S;this.type===this.gl.ELEMENT_ARRAY_BUFFER?S=d(g,"uint16"):S=d(g,"float32"),E<0?this.length=v(this.gl,this.type,this.length,this.usage,S,E):this.length=v(this.gl,this.type,this.length,this.usage,S.subarray(0,g.length),E),s.free(S)}else if(typeof g=="object"&&typeof g.length=="number")this.length=v(this.gl,this.type,this.length,this.usage,g,E);else if(typeof g=="number"||g===void 0){if(E>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");g=g|0,g<=0&&(g=1),this.gl.bufferData(this.type,g|0,this.usage),this.length=g}else throw new Error("gl-buffer: Invalid data type")};function x(g,E,M,w){if(M=M||g.ARRAY_BUFFER,w=w||g.DYNAMIC_DRAW,M!==g.ARRAY_BUFFER&&M!==g.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(w!==g.DYNAMIC_DRAW&&w!==g.STATIC_DRAW&&w!==g.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 k=g.createBuffer(),y=new f(g,M,k,0,w);return y.update(E),y}a.exports=x}),6405:(function(a,i,o){"use strict";var s=o(2931);a.exports=function(u,c){var f=u.positions,h=u.vectors,v={positions:[],vertexIntensity:[],vertexIntensityBounds:u.vertexIntensityBounds,vectors:[],cells:[],coneOffset:u.coneOffset,colormap:u.colormap};if(u.positions.length===0)return c&&(c[0]=[0,0,0],c[1]=[0,0,0]),v;for(var d=0,m=1/0,x=-1/0,g=1/0,E=-1/0,M=1/0,w=-1/0,k=null,y=null,S=[],T=1/0,p=!1,C=u.coneSizemode==="raw",A=0;Ad&&(d=s.length(D)),A&&!C){var z=2*s.distance(k,P)/(s.length(y)+s.length(D));z?(T=Math.min(T,z),p=!1):p=!0}p||(k=P,y=D),S.push(D)}var q=[m,g,M],U=[x,E,w];c&&(c[0]=q,c[1]=U),d===0&&(d=1);var O=1/d;isFinite(T)||(T=1),v.vectorScale=T;var R=u.coneSize||(C?1:.5);u.absoluteConeSize&&(R=u.absoluteConeSize*O),v.coneScale=R;for(var A=0,B=0;A=1},g.isTransparent=function(){return this.opacity<1},g.pickSlots=1,g.setPickBase=function(S){this.pickId=S};function E(S){for(var T=d({colormap:S,nshades:256,format:"rgba"}),p=new Uint8Array(256*4),C=0;C<256;++C){for(var A=T[C],P=0;P<3;++P)p[4*C+P]=A[P];p[4*C+3]=A[3]*255}return v(p,[256,256,4],[4,0,1])}function M(S){for(var T=S.length,p=new Array(T),C=0;C0){var B=this.triShader;B.bind(),B.uniforms=z,this.triangleVAO.bind(),T.drawArrays(T.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}},g.drawPick=function(S){S=S||{};for(var T=this.gl,p=S.model||m,C=S.view||m,A=S.projection||m,P=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],D=0;D<3;++D)P[0][D]=Math.max(P[0][D],this.clipBounds[0][D]),P[1][D]=Math.min(P[1][D],this.clipBounds[1][D]);this._model=[].slice.call(p),this._view=[].slice.call(C),this._projection=[].slice.call(A),this._resolution=[T.drawingBufferWidth,T.drawingBufferHeight];var z={model:p,view:C,projection:A,clipBounds:P,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},q=this.pickShader;q.bind(),q.uniforms=z,this.triangleCount>0&&(this.triangleVAO.bind(),T.drawArrays(T.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind())},g.pick=function(S){if(!S||S.id!==this.pickId)return null;var T=S.value[0]+256*S.value[1]+65536*S.value[2],p=this.cells[T],C=this.positions[p[1]].slice(0,3),A={position:C,dataCoordinate:C,index:Math.floor(p[1]/48)};return this.traceType==="cone"?A.index=Math.floor(p[1]/48):this.traceType==="streamtube"&&(A.intensity=this.intensity[p[1]],A.velocity=this.vectors[p[1]].slice(0,3),A.divergence=this.vectors[p[1]][3],A.index=T),A},g.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 w(S,T){var p=s(S,T.meshShader.vertex,T.meshShader.fragment,null,T.meshShader.attributes);return p.attributes.position.location=0,p.attributes.color.location=2,p.attributes.uv.location=3,p.attributes.vector.location=4,p}function k(S,T){var p=s(S,T.pickShader.vertex,T.pickShader.fragment,null,T.pickShader.attributes);return p.attributes.position.location=0,p.attributes.id.location=1,p.attributes.vector.location=4,p}function y(S,T,p){var C=p.shaders;arguments.length===1&&(T=S,S=T.gl);var A=w(S,C),P=k(S,C),D=c(S,v(new Uint8Array([255,255,255,255]),[1,1,4]));D.generateMipmap(),D.minFilter=S.LINEAR_MIPMAP_LINEAR,D.magFilter=S.LINEAR;var z=l(S),q=l(S),U=l(S),O=l(S),R=l(S),B=u(S,[{buffer:z,type:S.FLOAT,size:4},{buffer:R,type:S.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:U,type:S.FLOAT,size:4},{buffer:O,type:S.FLOAT,size:2},{buffer:q,type:S.FLOAT,size:4}]),Y=new x(S,D,A,P,z,q,R,U,O,B,p.traceType||"cone");return Y.update(T),Y}a.exports=y}),614:(function(a,i,o){var s=o(3236),l=s([`precision highp float; precision highp float; #define GLSLIFY 1 @@ -653,7 +653,7 @@ void main() { if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; gl_FragColor = vec4(pickId, f_id.xyz); -}`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},a.pickShader={vertex:c,fragment:f,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},737:function(i){i.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(i,a,o){var s=o(737);i.exports=function(u){return s[u]}},9165:function(i,a,o){"use strict";i.exports=b;var s=o(2762),l=o(8116),u=o(3436),c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(p,k,M,T){this.gl=p,this.shader=T,this.buffer=k,this.vao=M,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=f.prototype;h.isOpaque=function(){return!this.hasAlpha},h.isTransparent=function(){return this.hasAlpha},h.drawTransparent=h.draw=function(p){var k=this.gl,M=this.shader.uniforms;this.shader.bind();var T=M.view=p.view||c,L=M.projection=p.projection||c;M.model=p.model||c,M.clipBounds=this.clipBounds,M.opacity=this.opacity;var x=T[12],C=T[13],S=T[14],g=T[15],P=p._ortho||!1,E=P?2:1,z=E*this.pixelRatio*(L[3]*x+L[7]*C+L[11]*S+L[15]*g)/k.drawingBufferHeight;this.vao.bind();for(var q=0;q<3;++q)k.lineWidth(this.lineWidth[q]*this.pixelRatio),M.capSize=this.capSize[q]*z,this.lineCount[q]&&k.drawArrays(k.LINES,this.lineOffset[q],this.lineCount[q]);this.vao.unbind()};function d(p,k){for(var M=0;M<3;++M)p[0][M]=Math.min(p[0][M],k[M]),p[1][M]=Math.max(p[1][M],k[M])}var v=function(){for(var p=new Array(3),k=0;k<3;++k){for(var M=[],T=1;T<=2;++T)for(var L=-1;L<=1;L+=2){var x=(T+k)%3,C=[0,0,0];C[x]=L,M.push(C)}p[k]=M}return p}();function m(p,k,M,T){for(var L=v[T],x=0;x0){var V=P.slice();V[S]+=z[1][S],L.push(P[0],P[1],P[2],q[0],q[1],q[2],q[3],0,0,0,V[0],V[1],V[2],q[0],q[1],q[2],q[3],0,0,0),d(this.bounds,V),C+=2+m(L,V,q,S)}}}this.lineCount[S]=C-this.lineOffset[S]}this.buffer.update(L)}},h.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()};function b(p){var k=p.gl,M=s(k),T=l(k,[{buffer:M,type:k.FLOAT,size:3,offset:0,stride:40},{buffer:M,type:k.FLOAT,size:4,offset:12,stride:40},{buffer:M,type:k.FLOAT,size:3,offset:28,stride:40}]),L=u(k);L.attributes.position.location=0,L.attributes.color.location=1,L.attributes.offset.location=2;var x=new f(k,M,T,L);return x.update(p),x}},3436:function(i,a,o){"use strict";var s=o(3236),l=o(9405),u=s([`precision highp float; +}`]);i.meshShader={vertex:l,fragment:u,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},i.pickShader={vertex:c,fragment:f,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}}),737:(function(a){a.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(a,i,o){var s=o(737);a.exports=function(u){return s[u]}}),9165:(function(a,i,o){"use strict";a.exports=x;var s=o(2762),l=o(8116),u=o(3436),c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(g,E,M,w){this.gl=g,this.shader=w,this.buffer=E,this.vao=M,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=f.prototype;h.isOpaque=function(){return!this.hasAlpha},h.isTransparent=function(){return this.hasAlpha},h.drawTransparent=h.draw=function(g){var E=this.gl,M=this.shader.uniforms;this.shader.bind();var w=M.view=g.view||c,k=M.projection=g.projection||c;M.model=g.model||c,M.clipBounds=this.clipBounds,M.opacity=this.opacity;var y=w[12],S=w[13],T=w[14],p=w[15],C=g._ortho||!1,A=C?2:1,P=A*this.pixelRatio*(k[3]*y+k[7]*S+k[11]*T+k[15]*p)/E.drawingBufferHeight;this.vao.bind();for(var D=0;D<3;++D)E.lineWidth(this.lineWidth[D]*this.pixelRatio),M.capSize=this.capSize[D]*P,this.lineCount[D]&&E.drawArrays(E.LINES,this.lineOffset[D],this.lineCount[D]);this.vao.unbind()};function v(g,E){for(var M=0;M<3;++M)g[0][M]=Math.min(g[0][M],E[M]),g[1][M]=Math.max(g[1][M],E[M])}var d=(function(){for(var g=new Array(3),E=0;E<3;++E){for(var M=[],w=1;w<=2;++w)for(var k=-1;k<=1;k+=2){var y=(w+E)%3,S=[0,0,0];S[y]=k,M.push(S)}g[E]=M}return g})();function m(g,E,M,w){for(var k=d[w],y=0;y0){var z=C.slice();z[T]+=P[1][T],k.push(C[0],C[1],C[2],D[0],D[1],D[2],D[3],0,0,0,z[0],z[1],z[2],D[0],D[1],D[2],D[3],0,0,0),v(this.bounds,z),S+=2+m(k,z,D,T)}}}this.lineCount[T]=S-this.lineOffset[T]}this.buffer.update(k)}},h.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()};function x(g){var E=g.gl,M=s(E),w=l(E,[{buffer:M,type:E.FLOAT,size:3,offset:0,stride:40},{buffer:M,type:E.FLOAT,size:4,offset:12,stride:40},{buffer:M,type:E.FLOAT,size:3,offset:28,stride:40}]),k=u(E);k.attributes.position.location=0,k.attributes.color.location=1,k.attributes.offset.location=2;var y=new f(E,M,w,k);return y.update(g),y}}),3436:(function(a,i,o){"use strict";var s=o(3236),l=o(9405),u=s([`precision highp float; #define GLSLIFY 1 attribute vec3 position, offset; @@ -704,13 +704,13 @@ void main() { ) discard; gl_FragColor = opacity * fragColor; -}`]);i.exports=function(f){return l(f,u,c,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},2260:function(i,a,o){"use strict";var s=o(7766);i.exports=C;var l=null,u,c,f,h;function d(S){var g=S.getParameter(S.FRAMEBUFFER_BINDING),P=S.getParameter(S.RENDERBUFFER_BINDING),E=S.getParameter(S.TEXTURE_BINDING_2D);return[g,P,E]}function v(S,g){S.bindFramebuffer(S.FRAMEBUFFER,g[0]),S.bindRenderbuffer(S.RENDERBUFFER,g[1]),S.bindTexture(S.TEXTURE_2D,g[2])}function m(S,g){var P=S.getParameter(g.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(P+1);for(var E=0;E<=P;++E){for(var z=new Array(P),q=0;q1&&G.drawBuffersWEBGL(l[V]);var ie=P.getExtension("WEBGL_depth_texture");ie?Z?S.depth=p(P,z,q,ie.UNSIGNED_INT_24_8_WEBGL,P.DEPTH_STENCIL,P.DEPTH_STENCIL_ATTACHMENT):j&&(S.depth=p(P,z,q,P.UNSIGNED_SHORT,P.DEPTH_COMPONENT,P.DEPTH_ATTACHMENT)):j&&Z?S._depth_rb=k(P,z,q,P.DEPTH_STENCIL,P.DEPTH_STENCIL_ATTACHMENT):j?S._depth_rb=k(P,z,q,P.DEPTH_COMPONENT16,P.DEPTH_ATTACHMENT):Z&&(S._depth_rb=k(P,z,q,P.STENCIL_INDEX,P.STENCIL_ATTACHMENT));var ae=P.checkFramebufferStatus(P.FRAMEBUFFER);if(ae!==P.FRAMEBUFFER_COMPLETE){S._destroyed=!0,P.bindFramebuffer(P.FRAMEBUFFER,null),P.deleteFramebuffer(S.handle),S.handle=null,S.depth&&(S.depth.dispose(),S.depth=null),S._depth_rb&&(P.deleteRenderbuffer(S._depth_rb),S._depth_rb=null);for(var H=0;Hz||P<0||P>z)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");S._shape[0]=g,S._shape[1]=P;for(var q=d(E),V=0;Vq||P<0||P>q)throw new Error("gl-fbo: Parameters are too large for FBO");E=E||{};var V=1;if("color"in E){if(V=Math.max(E.color|0,0),V<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(V>1)if(z){if(V>S.getParameter(z.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+V+" draw buffers")}else throw new Error("gl-fbo: Multiple draw buffer extension not supported")}var G=S.UNSIGNED_BYTE,Z=S.getExtension("OES_texture_float");if(E.float&&V>0){if(!Z)throw new Error("gl-fbo: Context does not support floating point textures");G=S.FLOAT}else E.preferFloat&&V>0&&Z&&(G=S.FLOAT);var j=!0;"depth"in E&&(j=!!E.depth);var N=!1;return"stencil"in E&&(N=!!E.stencil),new T(S,g,P,G,V,j,N,z)}},2992:function(i,a,o){var s=o(3387).sprintf,l=o(5171),u=o(1848),c=o(1085);i.exports=f;function f(h,d,v){"use strict";var m=u(d)||"of unknown name (see npm glsl-shader-name)",b="unknown type";v!==void 0&&(b=v===l.FRAGMENT_SHADER?"fragment":"vertex");for(var p=s(`Error compiling %s shader %s: -`,b,m),k=s("%s%s",p,h),M=h.split(` -`),T={},L=0;L1&&q.drawBuffersWEBGL(l[z]);var Y=C.getExtension("WEBGL_depth_texture");Y?U?T.depth=g(C,P,D,Y.UNSIGNED_INT_24_8_WEBGL,C.DEPTH_STENCIL,C.DEPTH_STENCIL_ATTACHMENT):O&&(T.depth=g(C,P,D,C.UNSIGNED_SHORT,C.DEPTH_COMPONENT,C.DEPTH_ATTACHMENT)):O&&U?T._depth_rb=E(C,P,D,C.DEPTH_STENCIL,C.DEPTH_STENCIL_ATTACHMENT):O?T._depth_rb=E(C,P,D,C.DEPTH_COMPONENT16,C.DEPTH_ATTACHMENT):U&&(T._depth_rb=E(C,P,D,C.STENCIL_INDEX,C.STENCIL_ATTACHMENT));var X=C.checkFramebufferStatus(C.FRAMEBUFFER);if(X!==C.FRAMEBUFFER_COMPLETE){T._destroyed=!0,C.bindFramebuffer(C.FRAMEBUFFER,null),C.deleteFramebuffer(T.handle),T.handle=null,T.depth&&(T.depth.dispose(),T.depth=null),T._depth_rb&&(C.deleteRenderbuffer(T._depth_rb),T._depth_rb=null);for(var B=0;BP||C<0||C>P)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");T._shape[0]=p,T._shape[1]=C;for(var D=v(A),z=0;zD||C<0||C>D)throw new Error("gl-fbo: Parameters are too large for FBO");A=A||{};var z=1;if("color"in A){if(z=Math.max(A.color|0,0),z<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(z>1)if(P){if(z>T.getParameter(P.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 q=T.UNSIGNED_BYTE,U=T.getExtension("OES_texture_float");if(A.float&&z>0){if(!U)throw new Error("gl-fbo: Context does not support floating point textures");q=T.FLOAT}else A.preferFloat&&z>0&&U&&(q=T.FLOAT);var O=!0;"depth"in A&&(O=!!A.depth);var R=!1;return"stencil"in A&&(R=!!A.stencil),new w(T,p,C,q,z,O,R,P)}}),2992:(function(a,i,o){var s=o(3387).sprintf,l=o(5171),u=o(1848),c=o(1085);a.exports=f;function f(h,v,d){"use strict";var m=u(v)||"of unknown name (see npm glsl-shader-name)",x="unknown type";d!==void 0&&(x=d===l.FRAGMENT_SHADER?"fragment":"vertex");for(var g=s(`Error compiling %s shader %s: +`,x,m),E=s("%s%s",g,h),M=h.split(` +`),w={},k=0;k0){for(var ge=0;ge<24;++ge)q.push(q[q.length-12]);j+=2,_e=!0}continue e}N[0][E]=Math.min(N[0][E],Ee[E],Ce[E]),N[1][E]=Math.max(N[1][E],Ee[E],Ce[E])}var re,Se;Array.isArray(ie[0])?(re=ie.length>P-1?ie[P-1]:ie.length>0?ie[ie.length-1]:[0,0,0,1],Se=ie.length>P?ie[P]:ie.length>0?ie[ie.length-1]:[0,0,0,1]):re=Se=ie,re.length===3&&(re=[re[0],re[1],re[2],1]),Se.length===3&&(Se=[Se[0],Se[1],Se[2],1]),!this.hasAlpha&&re[3]<1&&(this.hasAlpha=!0);var ke;Array.isArray(ae)?ke=ae.length>P-1?ae[P-1]:ae.length>0?ae[ae.length-1]:[0,0,0,1]:ke=ae;var be=Z;if(Z+=M(Ee,Ce),_e){for(E=0;E<2;++E)q.push(Ee[0],Ee[1],Ee[2],Ce[0],Ce[1],Ce[2],be,ke,re[0],re[1],re[2],re[3]);j+=2,_e=!1}q.push(Ee[0],Ee[1],Ee[2],Ce[0],Ce[1],Ce[2],be,ke,re[0],re[1],re[2],re[3],Ee[0],Ee[1],Ee[2],Ce[0],Ce[1],Ce[2],be,-ke,re[0],re[1],re[2],re[3],Ce[0],Ce[1],Ce[2],Ee[0],Ee[1],Ee[2],Z,-ke,Se[0],Se[1],Se[2],Se[3],Ce[0],Ce[1],Ce[2],Ee[0],Ee[1],Ee[2],Z,ke,Se[0],Se[1],Se[2],Se[3]),j+=4}}if(this.buffer.update(q),V.push(Z),G.push(H[H.length-1].slice()),this.bounds=N,this.vertexCount=j,this.points=G,this.arcLength=V,"dashes"in g){var Be=g.dashes,Le=Be.slice();for(Le.unshift(0),P=1;P1.0001)return null;E+=P[L]}return Math.abs(E-1)>.001?null:[x,h(v,P),P]}},840:function(i,a,o){var s=o(3236),l=s([`precision highp float; +}`]),h=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];i.createShader=function(v){return l(v,u,c,null,h)},i.createPickShader=function(v){return l(v,u,f,null,h)}}),5714:(function(a,i,o){"use strict";a.exports=T;var s=o(2762),l=o(8116),u=o(7766),c=new Uint8Array(4),f=new Float32Array(c.buffer);function h(p,C,A,P){return c[0]=P,c[1]=A,c[2]=C,c[3]=p,f[0]}var v=o(2478),d=o(9618),m=o(7319),x=m.createShader,g=m.createPickShader,E=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function M(p,C){for(var A=0,P=0;P<3;++P){var D=p[P]-C[P];A+=D*D}return Math.sqrt(A)}function w(p){for(var C=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],A=0;A<3;++A)C[0][A]=Math.max(p[0][A],C[0][A]),C[1][A]=Math.min(p[1][A],C[1][A]);return C}function k(p,C,A,P){this.arcLength=p,this.position=C,this.index=A,this.dataCoordinate=P}function y(p,C,A,P,D,z){this.gl=p,this.shader=C,this.pickShader=A,this.buffer=P,this.vao=D,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 S=y.prototype;S.isTransparent=function(){return this.hasAlpha},S.isOpaque=function(){return!this.hasAlpha},S.pickSlots=1,S.setPickBase=function(p){this.pickId=p},S.drawTransparent=S.draw=function(p){if(this.vertexCount){var C=this.gl,A=this.shader,P=this.vao;A.bind(),A.uniforms={model:p.model||E,view:p.view||E,projection:p.projection||E,clipBounds:w(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[C.drawingBufferWidth,C.drawingBufferHeight],pixelRatio:this.pixelRatio},P.bind(),P.draw(C.TRIANGLE_STRIP,this.vertexCount),P.unbind()}},S.drawPick=function(p){if(this.vertexCount){var C=this.gl,A=this.pickShader,P=this.vao;A.bind(),A.uniforms={model:p.model||E,view:p.view||E,projection:p.projection||E,pickId:this.pickId,clipBounds:w(this.clipBounds),screenShape:[C.drawingBufferWidth,C.drawingBufferHeight],pixelRatio:this.pixelRatio},P.bind(),P.draw(C.TRIANGLE_STRIP,this.vertexCount),P.unbind()}},S.update=function(p){var C,A;this.dirty=!0;var P=!!p.connectGaps;"dashScale"in p&&(this.dashScale=p.dashScale),this.hasAlpha=!1,"opacity"in p&&(this.opacity=+p.opacity,this.opacity<1&&(this.hasAlpha=!0));var D=[],z=[],q=[],U=0,O=0,R=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],B=p.position||p.positions;if(B){var Y=p.color||p.colors||[0,0,0,1],X=p.lineWidth||1,te=!1;e:for(C=1;C0){for(var re=0;re<24;++re)D.push(D[D.length-12]);O+=2,te=!0}continue e}R[0][A]=Math.min(R[0][A],se[A],ue[A]),R[1][A]=Math.max(R[1][A],se[A],ue[A])}var j,fe;Array.isArray(Y[0])?(j=Y.length>C-1?Y[C-1]:Y.length>0?Y[Y.length-1]:[0,0,0,1],fe=Y.length>C?Y[C]:Y.length>0?Y[Y.length-1]:[0,0,0,1]):j=fe=Y,j.length===3&&(j=[j[0],j[1],j[2],1]),fe.length===3&&(fe=[fe[0],fe[1],fe[2],1]),!this.hasAlpha&&j[3]<1&&(this.hasAlpha=!0);var ce;Array.isArray(X)?ce=X.length>C-1?X[C-1]:X.length>0?X[X.length-1]:[0,0,0,1]:ce=X;var oe=U;if(U+=M(se,ue),te){for(A=0;A<2;++A)D.push(se[0],se[1],se[2],ue[0],ue[1],ue[2],oe,ce,j[0],j[1],j[2],j[3]);O+=2,te=!1}D.push(se[0],se[1],se[2],ue[0],ue[1],ue[2],oe,ce,j[0],j[1],j[2],j[3],se[0],se[1],se[2],ue[0],ue[1],ue[2],oe,-ce,j[0],j[1],j[2],j[3],ue[0],ue[1],ue[2],se[0],se[1],se[2],U,-ce,fe[0],fe[1],fe[2],fe[3],ue[0],ue[1],ue[2],se[0],se[1],se[2],U,ce,fe[0],fe[1],fe[2],fe[3]),O+=4}}if(this.buffer.update(D),z.push(U),q.push(B[B.length-1].slice()),this.bounds=R,this.vertexCount=O,this.points=q,this.arcLength=z,"dashes"in p){var we=p.dashes,he=we.slice();for(he.unshift(0),C=1;C1.0001)return null;A+=C[k]}return Math.abs(A-1)>.001?null:[y,h(d,C),C]}}),840:(function(a,i,o){var s=o(3236),l=s([`precision highp float; #define GLSLIFY 1 attribute vec3 position, normal; @@ -1113,7 +1113,7 @@ void main() { gl_PointSize = pointSize; f_color = color; f_uv = uv; -}`]),d=s([`precision highp float; +}`]),v=s([`precision highp float; #define GLSLIFY 1 uniform sampler2D texture; @@ -1128,7 +1128,7 @@ void main() { discard; } gl_FragColor = f_color * texture2D(texture, f_uv) * opacity; -}`]),v=s([`precision highp float; +}`]),d=s([`precision highp float; #define GLSLIFY 1 attribute vec3 position; @@ -1176,7 +1176,7 @@ void main() { if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; gl_FragColor = vec4(pickId, f_id.xyz); -}`]),b=s([`precision highp float; +}`]),x=s([`precision highp float; #define GLSLIFY 1 bool outOfRange(float a, float b, float p) { @@ -1219,7 +1219,7 @@ void main() { } f_id = id; f_position = position; -}`]),p=s([`precision highp float; +}`]),g=s([`precision highp float; #define GLSLIFY 1 attribute vec3 position; @@ -1228,7 +1228,7 @@ uniform mat4 model, view, projection; void main() { gl_Position = projection * (view * (model * vec4(position, 1.0))); -}`]),k=s([`precision highp float; +}`]),E=s([`precision highp float; #define GLSLIFY 1 uniform vec3 contourColor; @@ -1236,7 +1236,7 @@ uniform vec3 contourColor; void main() { gl_FragColor = vec4(contourColor, 1.0); } -`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},a.wireShader={vertex:c,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},a.pointShader={vertex:h,fragment:d,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},a.pickShader={vertex:v,fragment:m,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},a.pointPickShader={vertex:b,fragment:m,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},a.contourShader={vertex:p,fragment:k,attributes:[{name:"position",type:"vec3"}]}},7201:function(i,a,o){"use strict";var s=1e-6,l=1e-6,u=o(9405),c=o(2762),f=o(8116),h=o(7766),d=o(8406),v=o(6760),m=o(7608),b=o(9618),p=o(6729),k=o(7765),M=o(1888),T=o(840),L=o(7626),x=T.meshShader,C=T.wireShader,S=T.pointShader,g=T.pickShader,P=T.pointPickShader,E=T.contourShader,z=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function q(ge,re,Se,ke,be,Be,Le,me,Pe,ce,He,lt,mt,Ht,at,ct,ar,Vt,rr,tt,je,Ue,Ae,rt,St,Tt,dt){this.gl=ge,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=re,this.dirty=!0,this.triShader=Se,this.lineShader=ke,this.pointShader=be,this.pickShader=Be,this.pointPickShader=Le,this.contourShader=me,this.trianglePositions=Pe,this.triangleColors=He,this.triangleNormals=mt,this.triangleUVs=lt,this.triangleIds=ce,this.triangleVAO=Ht,this.triangleCount=0,this.lineWidth=1,this.edgePositions=at,this.edgeColors=ar,this.edgeUVs=Vt,this.edgeIds=ct,this.edgeVAO=rr,this.edgeCount=0,this.pointPositions=tt,this.pointColors=Ue,this.pointUVs=Ae,this.pointSizes=rt,this.pointIds=je,this.pointVAO=St,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=Tt,this.contourVAO=dt,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=z,this._view=z,this._projection=z,this._resolution=[1,1]}var V=q.prototype;V.isOpaque=function(){return!this.hasAlpha},V.isTransparent=function(){return this.hasAlpha},V.pickSlots=1,V.setPickBase=function(ge){this.pickId=ge};function G(ge,re){if(!re||!re.length)return 1;for(var Se=0;Sege&&Se>0){var ke=(re[Se][0]-ge)/(re[Se][0]-re[Se-1][0]);return re[Se][1]*(1-ke)+ke*re[Se-1][1]}}return 1}function Z(ge,re){for(var Se=p({colormap:ge,nshades:256,format:"rgba"}),ke=new Uint8Array(256*4),be=0;be<256;++be){for(var Be=Se[be],Le=0;Le<3;++Le)ke[4*be+Le]=Be[Le];re?ke[4*be+3]=255*G(be/255,re):ke[4*be+3]=255*Be[3]}return b(ke,[256,256,4],[4,0,1])}function j(ge){for(var re=ge.length,Se=new Array(re),ke=0;ke0){var mt=this.triShader;mt.bind(),mt.uniforms=me,this.triangleVAO.bind(),re.drawArrays(re.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}if(this.edgeCount>0&&this.lineWidth>0){var mt=this.lineShader;mt.bind(),mt.uniforms=me,this.edgeVAO.bind(),re.lineWidth(this.lineWidth*this.pixelRatio),re.drawArrays(re.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()}if(this.pointCount>0){var mt=this.pointShader;mt.bind(),mt.uniforms=me,this.pointVAO.bind(),re.drawArrays(re.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0){var mt=this.contourShader;mt.bind(),mt.uniforms=me,this.contourVAO.bind(),re.drawArrays(re.LINES,0,this.contourCount),this.contourVAO.unbind()}},V.drawPick=function(ge){ge=ge||{};for(var re=this.gl,Se=ge.model||z,ke=ge.view||z,be=ge.projection||z,Be=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],Le=0;Le<3;++Le)Be[0][Le]=Math.max(Be[0][Le],this.clipBounds[0][Le]),Be[1][Le]=Math.min(Be[1][Le],this.clipBounds[1][Le]);this._model=[].slice.call(Se),this._view=[].slice.call(ke),this._projection=[].slice.call(be),this._resolution=[re.drawingBufferWidth,re.drawingBufferHeight];var me={model:Se,view:ke,projection:be,clipBounds:Be,pickId:this.pickId/255},Pe=this.pickShader;if(Pe.bind(),Pe.uniforms=me,this.triangleCount>0&&(this.triangleVAO.bind(),re.drawArrays(re.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),re.lineWidth(this.lineWidth*this.pixelRatio),re.drawArrays(re.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()),this.pointCount>0){var Pe=this.pointPickShader;Pe.bind(),Pe.uniforms=me,this.pointVAO.bind(),re.drawArrays(re.POINTS,0,this.pointCount),this.pointVAO.unbind()}},V.pick=function(ge){if(!ge||ge.id!==this.pickId)return null;for(var re=ge.value[0]+256*ge.value[1]+65536*ge.value[2],Se=this.cells[re],ke=this.positions,be=new Array(Se.length),Be=0;BeMath.abs(g))p.rotate(z,0,0,-S*P*Math.PI*x.rotateSpeed/window.innerWidth);else if(!x._ortho){var q=-x.zoomSpeed*E*g/window.innerHeight*(z-p.lastT())/20;p.pan(z,0,0,M*(Math.exp(q)-1))}}},!0)},x.enableMouseListeners(),x}},799:function(i,a,o){var s=o(3236),l=o(9405),u=s([`precision mediump float; +`]);i.meshShader={vertex:l,fragment:u,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},i.wireShader={vertex:c,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},i.pointShader={vertex:h,fragment:v,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},i.pickShader={vertex:d,fragment:m,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},i.pointPickShader={vertex:x,fragment:m,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},i.contourShader={vertex:g,fragment:E,attributes:[{name:"position",type:"vec3"}]}}),7201:(function(a,i,o){"use strict";var s=1e-6,l=1e-6,u=o(9405),c=o(2762),f=o(8116),h=o(7766),v=o(8406),d=o(6760),m=o(7608),x=o(9618),g=o(6729),E=o(7765),M=o(1888),w=o(840),k=o(7626),y=w.meshShader,S=w.wireShader,T=w.pointShader,p=w.pickShader,C=w.pointPickShader,A=w.contourShader,P=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function D(re,j,fe,ce,oe,we,he,ye,Pe,le,ze,Xe,vt,st,Oe,qe,mt,lt,Ie,de,Ee,Ue,ge,Ge,tt,ft,He){this.gl=re,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=j,this.dirty=!0,this.triShader=fe,this.lineShader=ce,this.pointShader=oe,this.pickShader=we,this.pointPickShader=he,this.contourShader=ye,this.trianglePositions=Pe,this.triangleColors=ze,this.triangleNormals=vt,this.triangleUVs=Xe,this.triangleIds=le,this.triangleVAO=st,this.triangleCount=0,this.lineWidth=1,this.edgePositions=Oe,this.edgeColors=mt,this.edgeUVs=lt,this.edgeIds=qe,this.edgeVAO=Ie,this.edgeCount=0,this.pointPositions=de,this.pointColors=Ue,this.pointUVs=ge,this.pointSizes=Ge,this.pointIds=Ee,this.pointVAO=tt,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=ft,this.contourVAO=He,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=P,this._view=P,this._projection=P,this._resolution=[1,1]}var z=D.prototype;z.isOpaque=function(){return!this.hasAlpha},z.isTransparent=function(){return this.hasAlpha},z.pickSlots=1,z.setPickBase=function(re){this.pickId=re};function q(re,j){if(!j||!j.length)return 1;for(var fe=0;fere&&fe>0){var ce=(j[fe][0]-re)/(j[fe][0]-j[fe-1][0]);return j[fe][1]*(1-ce)+ce*j[fe-1][1]}}return 1}function U(re,j){for(var fe=g({colormap:re,nshades:256,format:"rgba"}),ce=new Uint8Array(256*4),oe=0;oe<256;++oe){for(var we=fe[oe],he=0;he<3;++he)ce[4*oe+he]=we[he];j?ce[4*oe+3]=255*q(oe/255,j):ce[4*oe+3]=255*we[3]}return x(ce,[256,256,4],[4,0,1])}function O(re){for(var j=re.length,fe=new Array(j),ce=0;ce0){var vt=this.triShader;vt.bind(),vt.uniforms=ye,this.triangleVAO.bind(),j.drawArrays(j.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}if(this.edgeCount>0&&this.lineWidth>0){var vt=this.lineShader;vt.bind(),vt.uniforms=ye,this.edgeVAO.bind(),j.lineWidth(this.lineWidth*this.pixelRatio),j.drawArrays(j.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()}if(this.pointCount>0){var vt=this.pointShader;vt.bind(),vt.uniforms=ye,this.pointVAO.bind(),j.drawArrays(j.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0){var vt=this.contourShader;vt.bind(),vt.uniforms=ye,this.contourVAO.bind(),j.drawArrays(j.LINES,0,this.contourCount),this.contourVAO.unbind()}},z.drawPick=function(re){re=re||{};for(var j=this.gl,fe=re.model||P,ce=re.view||P,oe=re.projection||P,we=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],he=0;he<3;++he)we[0][he]=Math.max(we[0][he],this.clipBounds[0][he]),we[1][he]=Math.min(we[1][he],this.clipBounds[1][he]);this._model=[].slice.call(fe),this._view=[].slice.call(ce),this._projection=[].slice.call(oe),this._resolution=[j.drawingBufferWidth,j.drawingBufferHeight];var ye={model:fe,view:ce,projection:oe,clipBounds:we,pickId:this.pickId/255},Pe=this.pickShader;if(Pe.bind(),Pe.uniforms=ye,this.triangleCount>0&&(this.triangleVAO.bind(),j.drawArrays(j.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),j.lineWidth(this.lineWidth*this.pixelRatio),j.drawArrays(j.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()),this.pointCount>0){var Pe=this.pointPickShader;Pe.bind(),Pe.uniforms=ye,this.pointVAO.bind(),j.drawArrays(j.POINTS,0,this.pointCount),this.pointVAO.unbind()}},z.pick=function(re){if(!re||re.id!==this.pickId)return null;for(var j=re.value[0]+256*re.value[1]+65536*re.value[2],fe=this.cells[j],ce=this.positions,oe=new Array(fe.length),we=0;weMath.abs(p))g.rotate(P,0,0,-T*C*Math.PI*y.rotateSpeed/window.innerWidth);else if(!y._ortho){var D=-y.zoomSpeed*A*p/window.innerHeight*(P-g.lastT())/20;g.pan(P,0,0,M*(Math.exp(D)-1))}}},!0)},y.enableMouseListeners(),y}}),799:(function(a,i,o){var s=o(3236),l=o(9405),u=s([`precision mediump float; #define GLSLIFY 1 attribute vec2 position; varying vec2 uv; @@ -1252,7 +1252,7 @@ varying vec2 uv; void main() { vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0)); gl_FragColor = min(vec4(1,1,1,1), accum); -}`]);i.exports=function(f){return l(f,u,c,null,[{name:"position",type:"vec2"}])}},4100:function(i,a,o){"use strict";var s=o(4437),l=o(3837),u=o(5445),c=o(4449),f=o(3589),h=o(2260),d=o(7169),v=o(351),m=o(4772),b=o(4040),p=o(799),k=o(9216)({tablet:!0,featureDetect:!0});i.exports={createScene:C,createCamera:s};function M(){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 T(g,P){var E=null;try{E=g.getContext("webgl",P),E||(E=g.getContext("experimental-webgl",P))}catch(z){return null}return E}function L(g){var P=Math.round(Math.log(Math.abs(g))/Math.log(10));if(P<0){var E=Math.round(Math.pow(10,-P));return Math.ceil(g*E)/E}else if(P>0){var E=Math.round(Math.pow(10,P));return Math.ceil(g/E)*E}return Math.ceil(g)}function x(g){return typeof g=="boolean"?g:!0}function C(g){g=g||{},g.camera=g.camera||{};var P=g.canvas;if(!P)if(P=document.createElement("canvas"),g.container){var E=g.container;E.appendChild(P)}else document.body.appendChild(P);var z=g.gl;if(z||(g.glOptions&&(k=!!g.glOptions.preserveDrawingBuffer),z=T(P,g.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:k})),!z)throw new Error("webgl not supported");var q=g.bounds||[[-10,-10,-10],[10,10,10]],V=new M,G=h(z,z.drawingBufferWidth,z.drawingBufferHeight,{preferFloat:!k}),Z=p(z),j=g.cameraObject&&g.cameraObject._ortho===!0||g.camera.projection&&g.camera.projection.type==="orthographic"||!1,N={eye:g.camera.eye||[2,0,0],center:g.camera.center||[0,0,0],up:g.camera.up||[0,1,0],zoomMin:g.camera.zoomMax||.1,zoomMax:g.camera.zoomMin||100,mode:g.camera.mode||"turntable",_ortho:j},H=g.axes||{},ie=l(z,H);ie.enable=!H.disable;var ae=g.spikes||{},_e=c(z,ae),Ee=[],Ce=[],ge=[],re=[],Se=!0,Le=!0,ke=new Array(16),be=new Array(16),Be={view:null,projection:ke,model:be,_ortho:!1},Le=!0,me=[z.drawingBufferWidth,z.drawingBufferHeight],Pe=g.cameraObject||s(P,N),ce={gl:z,contextLost:!1,pixelRatio:g.pixelRatio||1,canvas:P,selection:V,camera:Pe,axes:ie,axesPixels:null,spikes:_e,bounds:q,objects:Ee,shape:me,aspect:g.aspectRatio||[1,1,1],pickRadius:g.pickRadius||10,zNear:g.zNear||.01,zFar:g.zFar||1e3,fovy:g.fovy||Math.PI/4,clearColor:g.clearColor||[0,0,0,0],autoResize:x(g.autoResize),autoBounds:x(g.autoBounds),autoScale:!!g.autoScale,autoCenter:x(g.autoCenter),clipToBounds:x(g.clipToBounds),snapToData:!!g.snapToData,onselect:g.onselect||null,onrender:g.onrender||null,onclick:g.onclick||null,cameraParams:Be,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(tt){this.aspect[0]=tt.x,this.aspect[1]=tt.y,this.aspect[2]=tt.z,Le=!0},setBounds:function(tt,je){this.bounds[0][tt]=je.min,this.bounds[1][tt]=je.max},setClearColor:function(tt){this.clearColor=tt},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)}},He=[z.drawingBufferWidth/ce.pixelRatio|0,z.drawingBufferHeight/ce.pixelRatio|0];function lt(){if(!ce._stopped&&ce.autoResize){var tt=P.parentNode,je=1,Ue=1;tt&&tt!==document.body?(je=tt.clientWidth,Ue=tt.clientHeight):(je=window.innerWidth,Ue=window.innerHeight);var Ae=Math.ceil(je*ce.pixelRatio)|0,rt=Math.ceil(Ue*ce.pixelRatio)|0;if(Ae!==P.width||rt!==P.height){P.width=Ae,P.height=rt;var St=P.style;St.position=St.position||"absolute",St.left="0px",St.top="0px",St.width=je+"px",St.height=Ue+"px",Se=!0}}}ce.autoResize&<(),window.addEventListener("resize",lt);function mt(){for(var tt=Ee.length,je=re.length,Ue=0;Ue0&&ge[je-1]===0;)ge.pop(),re.pop().dispose()}ce.update=function(tt){ce._stopped||(tt=tt||{},Se=!0,Le=!0)},ce.add=function(tt){ce._stopped||(tt.axes=ie,Ee.push(tt),Ce.push(-1),Se=!0,Le=!0,mt())},ce.remove=function(tt){if(!ce._stopped){var je=Ee.indexOf(tt);je<0||(Ee.splice(je,1),Ce.pop(),Se=!0,Le=!0,mt())}},ce.dispose=function(){if(!ce._stopped&&(ce._stopped=!0,window.removeEventListener("resize",lt),P.removeEventListener("webglcontextlost",Ht),ce.mouseListener.enabled=!1,!ce.contextLost)){ie.dispose(),_e.dispose();for(var tt=0;ttV.distance)continue;for(var pt=0;pt1e-6?(k=Math.acos(M),T=Math.sin(k),L=Math.sin((1-u)*k)/T,x=Math.sin(u*k)/T):(L=1-u,x=u),o[0]=L*c+x*v,o[1]=L*f+x*m,o[2]=L*h+x*b,o[3]=L*d+x*p,o}},5964:function(i){"use strict";i.exports=function(a){return!a&&a!==0?"":a.toString()}},9366:function(i,a,o){"use strict";var s=o(4359);i.exports=u;var l={};function u(c,f,h){var d=[f.style,f.weight,f.variant,f.family].join("_"),v=l[d];if(v||(v=l[d]={}),c in v)return v[c];var m={textAlign:"center",textBaseline:"middle",lineHeight:1,font:f.family,fontStyle:f.style,fontWeight:f.weight,fontVariant:f.variant,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0}};m.triangles=!0;var b=s(c,m);m.triangles=!1;var p=s(c,m),k,M;if(h&&h!==1){for(k=0;k0){var A=Math.round(Math.pow(10,C));return Math.ceil(p/A)*A}return Math.ceil(p)}function y(p){return typeof p=="boolean"?p:!0}function S(p){p=p||{},p.camera=p.camera||{};var C=p.canvas;if(!C)if(C=document.createElement("canvas"),p.container){var A=p.container;A.appendChild(C)}else document.body.appendChild(C);var P=p.gl;if(P||(p.glOptions&&(E=!!p.glOptions.preserveDrawingBuffer),P=w(C,p.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:E})),!P)throw new Error("webgl not supported");var D=p.bounds||[[-10,-10,-10],[10,10,10]],z=new M,q=h(P,P.drawingBufferWidth,P.drawingBufferHeight,{preferFloat:!E}),U=g(P),O=p.cameraObject&&p.cameraObject._ortho===!0||p.camera.projection&&p.camera.projection.type==="orthographic"||!1,R={eye:p.camera.eye||[2,0,0],center:p.camera.center||[0,0,0],up:p.camera.up||[0,1,0],zoomMin:p.camera.zoomMax||.1,zoomMax:p.camera.zoomMin||100,mode:p.camera.mode||"turntable",_ortho:O},B=p.axes||{},Y=l(P,B);Y.enable=!B.disable;var X=p.spikes||{},te=c(P,X),se=[],ue=[],re=[],j=[],fe=!0,he=!0,ce=new Array(16),oe=new Array(16),we={view:null,projection:ce,model:oe,_ortho:!1},he=!0,ye=[P.drawingBufferWidth,P.drawingBufferHeight],Pe=p.cameraObject||s(C,R),le={gl:P,contextLost:!1,pixelRatio:p.pixelRatio||1,canvas:C,selection:z,camera:Pe,axes:Y,axesPixels:null,spikes:te,bounds:D,objects:se,shape:ye,aspect:p.aspectRatio||[1,1,1],pickRadius:p.pickRadius||10,zNear:p.zNear||.01,zFar:p.zFar||1e3,fovy:p.fovy||Math.PI/4,clearColor:p.clearColor||[0,0,0,0],autoResize:y(p.autoResize),autoBounds:y(p.autoBounds),autoScale:!!p.autoScale,autoCenter:y(p.autoCenter),clipToBounds:y(p.clipToBounds),snapToData:!!p.snapToData,onselect:p.onselect||null,onrender:p.onrender||null,onclick:p.onclick||null,cameraParams:we,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(de){this.aspect[0]=de.x,this.aspect[1]=de.y,this.aspect[2]=de.z,he=!0},setBounds:function(de,Ee){this.bounds[0][de]=Ee.min,this.bounds[1][de]=Ee.max},setClearColor:function(de){this.clearColor=de},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)}},ze=[P.drawingBufferWidth/le.pixelRatio|0,P.drawingBufferHeight/le.pixelRatio|0];function Xe(){if(!le._stopped&&le.autoResize){var de=C.parentNode,Ee=1,Ue=1;de&&de!==document.body?(Ee=de.clientWidth,Ue=de.clientHeight):(Ee=window.innerWidth,Ue=window.innerHeight);var ge=Math.ceil(Ee*le.pixelRatio)|0,Ge=Math.ceil(Ue*le.pixelRatio)|0;if(ge!==C.width||Ge!==C.height){C.width=ge,C.height=Ge;var tt=C.style;tt.position=tt.position||"absolute",tt.left="0px",tt.top="0px",tt.width=Ee+"px",tt.height=Ue+"px",fe=!0}}}le.autoResize&&Xe(),window.addEventListener("resize",Xe);function vt(){for(var de=se.length,Ee=j.length,Ue=0;Ue0&&re[Ee-1]===0;)re.pop(),j.pop().dispose()}le.update=function(de){le._stopped||(de=de||{},fe=!0,he=!0)},le.add=function(de){le._stopped||(de.axes=Y,se.push(de),ue.push(-1),fe=!0,he=!0,vt())},le.remove=function(de){if(!le._stopped){var Ee=se.indexOf(de);Ee<0||(se.splice(Ee,1),ue.pop(),fe=!0,he=!0,vt())}},le.dispose=function(){if(!le._stopped&&(le._stopped=!0,window.removeEventListener("resize",Xe),C.removeEventListener("webglcontextlost",st),le.mouseListener.enabled=!1,!le.contextLost)){Y.dispose(),te.dispose();for(var de=0;dez.distance)continue;for(var We=0;We1e-6?(E=Math.acos(M),w=Math.sin(E),k=Math.sin((1-u)*E)/w,y=Math.sin(u*E)/w):(k=1-u,y=u),o[0]=k*c+y*d,o[1]=k*f+y*m,o[2]=k*h+y*x,o[3]=k*v+y*g,o}}),5964:(function(a){"use strict";a.exports=function(i){return!i&&i!==0?"":i.toString()}}),9366:(function(a,i,o){"use strict";var s=o(4359);a.exports=u;var l={};function u(c,f,h){var v=[f.style,f.weight,f.variant,f.family].join("_"),d=l[v];if(d||(d=l[v]={}),c in d)return d[c];var m={textAlign:"center",textBaseline:"middle",lineHeight:1,font:f.family,fontStyle:f.style,fontWeight:f.weight,fontVariant:f.variant,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0}};m.triangles=!0;var x=s(c,m);m.triangles=!1;var g=s(c,m),E,M;if(h&&h!==1){for(E=0;E1?1:be}function S(be,Be,Le,me,Pe,ce,He,lt,mt,Ht,at,ct){this.gl=be,this.pixelRatio=1,this.shader=Be,this.orthoShader=Le,this.projectShader=me,this.pointBuffer=Pe,this.colorBuffer=ce,this.glyphBuffer=He,this.idBuffer=lt,this.vao=mt,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=Ht,this.pickOrthoShader=at,this.pickProjectShader=ct,this.points=[],this._selectResult=new x(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 g=S.prototype;g.pickSlots=1,g.setPickBase=function(be){this.pickId=be},g.isTransparent=function(){if(this.hasAlpha)return!0;for(var be=0;be<3;++be)if(this.axesProject[be]&&this.projectHasAlpha)return!0;return!1},g.isOpaque=function(){if(!this.hasAlpha)return!0;for(var be=0;be<3;++be)if(this.axesProject[be]&&!this.projectHasAlpha)return!0;return!1};var P=[0,0],E=[0,0,0],z=[0,0,0],q=[0,0,0,1],V=[0,0,0,1],G=m.slice(),Z=[0,0,0],j=[[0,0,0],[0,0,0]];function N(be){return be[0]=be[1]=be[2]=0,be}function H(be,Be){return be[0]=Be[0],be[1]=Be[1],be[2]=Be[2],be[3]=1,be}function ie(be,Be,Le,me){return be[0]=Be[0],be[1]=Be[1],be[2]=Be[2],be[Le]=me,be}function ae(be){for(var Be=j,Le=0;Le<2;++Le)for(var me=0;me<3;++me)Be[Le][me]=Math.max(Math.min(be[Le][me],1e8),-1e8);return Be}function _e(be,Be,Le,me){var Pe=Be.axesProject,ce=Be.gl,He=be.uniforms,lt=Le.model||m,mt=Le.view||m,Ht=Le.projection||m,at=Be.axesBounds,ct=ae(Be.clipBounds),ar;Be.axes&&Be.axes.lastCubeProps?ar=Be.axes.lastCubeProps.axis:ar=[1,1,1],P[0]=2/ce.drawingBufferWidth,P[1]=2/ce.drawingBufferHeight,be.bind(),He.view=mt,He.projection=Ht,He.screenSize=P,He.highlightId=Be.highlightId,He.highlightScale=Be.highlightScale,He.clipBounds=ct,He.pickGroup=Be.pickId/255,He.pixelRatio=me;for(var Vt=0;Vt<3;++Vt)if(Pe[Vt]){He.scale=Be.projectScale[Vt],He.opacity=Be.projectOpacity[Vt];for(var rr=G,tt=0;tt<16;++tt)rr[tt]=0;for(var tt=0;tt<4;++tt)rr[5*tt]=1;rr[5*Vt]=0,ar[Vt]<0?rr[12+Vt]=at[0][Vt]:rr[12+Vt]=at[1][Vt],f(rr,lt,rr),He.model=rr;var je=(Vt+1)%3,Ue=(Vt+2)%3,Ae=N(E),rt=N(z);Ae[je]=1,rt[Ue]=1;var St=L(Ht,mt,lt,H(q,Ae)),Tt=L(Ht,mt,lt,H(V,rt));if(Math.abs(St[1])>Math.abs(Tt[1])){var dt=St;St=Tt,Tt=dt,dt=Ae,Ae=rt,rt=dt;var Et=je;je=Ue,Ue=Et}St[0]<0&&(Ae[je]=-1),Tt[1]>0&&(rt[Ue]=-1);for(var pt=0,jt=0,tt=0;tt<4;++tt)pt+=Math.pow(lt[4*je+tt],2),jt+=Math.pow(lt[4*Ue+tt],2);Ae[je]/=Math.sqrt(pt),rt[Ue]/=Math.sqrt(jt),He.axes[0]=Ae,He.axes[1]=rt,He.fragClipBounds[0]=ie(Z,ct[0],Vt,-1e8),He.fragClipBounds[1]=ie(Z,ct[1],Vt,1e8),Be.vao.bind(),Be.vao.draw(ce.TRIANGLES,Be.vertexCount),Be.lineWidth>0&&(ce.lineWidth(Be.lineWidth*me),Be.vao.draw(ce.LINES,Be.lineVertexCount,Be.vertexCount)),Be.vao.unbind()}}var Ee=[-1e8,-1e8,-1e8],Ce=[1e8,1e8,1e8],ge=[Ee,Ce];function re(be,Be,Le,me,Pe,ce,He){var lt=Le.gl;if((ce===Le.projectHasAlpha||He)&&_e(Be,Le,me,Pe),ce===Le.hasAlpha||He){be.bind();var mt=be.uniforms;mt.model=me.model||m,mt.view=me.view||m,mt.projection=me.projection||m,P[0]=2/lt.drawingBufferWidth,P[1]=2/lt.drawingBufferHeight,mt.screenSize=P,mt.highlightId=Le.highlightId,mt.highlightScale=Le.highlightScale,mt.fragClipBounds=ge,mt.clipBounds=Le.axes.bounds,mt.opacity=Le.opacity,mt.pickGroup=Le.pickId/255,mt.pixelRatio=Pe,Le.vao.bind(),Le.vao.draw(lt.TRIANGLES,Le.vertexCount),Le.lineWidth>0&&(lt.lineWidth(Le.lineWidth*Pe),Le.vao.draw(lt.LINES,Le.lineVertexCount,Le.vertexCount)),Le.vao.unbind()}}g.draw=function(be){var Be=this.useOrtho?this.orthoShader:this.shader;re(Be,this.projectShader,this,be,this.pixelRatio,!1,!1)},g.drawTransparent=function(be){var Be=this.useOrtho?this.orthoShader:this.shader;re(Be,this.projectShader,this,be,this.pixelRatio,!0,!1)},g.drawPick=function(be){var Be=this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader;re(Be,this.pickProjectShader,this,be,1,!0,!0)},g.pick=function(be){if(!be||be.id!==this.pickId)return null;var Be=be.value[2]+(be.value[1]<<8)+(be.value[0]<<16);if(Be>=this.pointCount||Be<0)return null;var Le=this.points[Be],me=this._selectResult;me.index=Be;for(var Pe=0;Pe<3;++Pe)me.position[Pe]=me.dataCoordinate[Pe]=Le[Pe];return me},g.highlight=function(be){if(!be)this.highlightId=[1,1,1,1];else{var Be=be.index,Le=Be&255,me=Be>>8&255,Pe=Be>>16&255;this.highlightId=[Le/255,me/255,Pe/255,0]}};function Se(be,Be,Le,me){var Pe;M(be)?Be0){var jr=0,gt=Ue,Ge=[0,0,0,1],Je=[0,0,0,1],We=M(ar)&&M(ar[0]),et=M(tt)&&M(tt[0]);e:for(var me=0;me0?1-jt[0][0]:Ir<0?1+jt[1][0]:1,Yr*=Yr>0?1-jt[0][1]:Yr<0?1+jt[1][1]:1;for(var _i=[Ir,Yr],Fn=Et.cells||[],An=Et.positions||[],Tt=0;Ttthis.buffer.length){l.free(this.buffer);for(var M=this.buffer=l.mallocUint8(c(k*p*4)),T=0;TM)for(p=M;pk)for(p=k;p=0){for(var j=Z.type.charAt(Z.type.length-1)|0,N=new Array(j),H=0;H=0;)ie+=1;V[G]=ie}var ae=new Array(M.length);function _e(){x.program=c.program(C,x._vref,x._fref,q,V);for(var Ee=0;Ee=0){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new s("","Invalid data type for attribute "+x+": "+C);f(v,m,S[0],p,g,k,x)}else if(C.indexOf("mat")>=0){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new s("","Invalid data type for attribute "+x+": "+C);h(v,m,S,p,g,k,x)}else throw new s("","Unknown data type for attribute "+x+": "+C);break}}return k}},3327:function(i,a,o){"use strict";var s=o(216),l=o(8866);i.exports=f;function u(h){return function(){return h}}function c(h,d){for(var v=new Array(h),m=0;m4)throw new l("","Invalid data type");switch(ie.charAt(0)){case"b":case"i":h["uniform"+ae+"iv"](m[V],G);break;case"v":h["uniform"+ae+"fv"](m[V],G);break;default:throw new l("","Unrecognized data type for vector "+name+": "+ie)}}else if(ie.indexOf("mat")===0&&ie.length===4){if(ae=ie.charCodeAt(ie.length-1)-48,ae<2||ae>4)throw new l("","Invalid uniform dimension type for matrix "+name+": "+ie);h["uniformMatrix"+ae+"fv"](m[V],!1,G);break}else throw new l("","Unknown uniform data type for "+name+": "+ie)}}}}}function k(C,S){if(typeof S!="object")return[[C,S]];var g=[];for(var P in S){var E=S[P],z=C;parseInt(P)+""===P?z+="["+P+"]":z+="."+P,typeof E=="object"?g.push.apply(g,k(z,E)):g.push([z,E])}return g}function M(C){switch(C){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":return 0;case"float":return 0;default:var S=C.indexOf("vec");if(0<=S&&S<=1&&C.length===4+S){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new l("","Invalid data type");return C.charAt(0)==="b"?c(g,!1):c(g,0)}else if(C.indexOf("mat")===0&&C.length===4){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new l("","Invalid uniform dimension type for matrix "+name+": "+C);return c(g*g,0)}else throw new l("","Unknown uniform data type for "+name+": "+C)}}function T(C,S,g){if(typeof g=="object"){var P=L(g);Object.defineProperty(C,S,{get:u(P),set:p(g),enumerable:!0,configurable:!1})}else m[g]?Object.defineProperty(C,S,{get:b(g),set:p(g),enumerable:!0,configurable:!1}):C[S]=M(v[g].type)}function L(C){var S;if(Array.isArray(C)){S=new Array(C.length);for(var g=0;g1){v[0]in h||(h[v[0]]=[]),h=h[v[0]];for(var m=1;m1)for(var k=0;k1?1:oe}function T(oe,we,he,ye,Pe,le,ze,Xe,vt,st,Oe,qe){this.gl=oe,this.pixelRatio=1,this.shader=we,this.orthoShader=he,this.projectShader=ye,this.pointBuffer=Pe,this.colorBuffer=le,this.glyphBuffer=ze,this.idBuffer=Xe,this.vao=vt,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=st,this.pickOrthoShader=Oe,this.pickProjectShader=qe,this.points=[],this._selectResult=new y(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 p=T.prototype;p.pickSlots=1,p.setPickBase=function(oe){this.pickId=oe},p.isTransparent=function(){if(this.hasAlpha)return!0;for(var oe=0;oe<3;++oe)if(this.axesProject[oe]&&this.projectHasAlpha)return!0;return!1},p.isOpaque=function(){if(!this.hasAlpha)return!0;for(var oe=0;oe<3;++oe)if(this.axesProject[oe]&&!this.projectHasAlpha)return!0;return!1};var C=[0,0],A=[0,0,0],P=[0,0,0],D=[0,0,0,1],z=[0,0,0,1],q=m.slice(),U=[0,0,0],O=[[0,0,0],[0,0,0]];function R(oe){return oe[0]=oe[1]=oe[2]=0,oe}function B(oe,we){return oe[0]=we[0],oe[1]=we[1],oe[2]=we[2],oe[3]=1,oe}function Y(oe,we,he,ye){return oe[0]=we[0],oe[1]=we[1],oe[2]=we[2],oe[he]=ye,oe}function X(oe){for(var we=O,he=0;he<2;++he)for(var ye=0;ye<3;++ye)we[he][ye]=Math.max(Math.min(oe[he][ye],1e8),-1e8);return we}function te(oe,we,he,ye){var Pe=we.axesProject,le=we.gl,ze=oe.uniforms,Xe=he.model||m,vt=he.view||m,st=he.projection||m,Oe=we.axesBounds,qe=X(we.clipBounds),mt;we.axes&&we.axes.lastCubeProps?mt=we.axes.lastCubeProps.axis:mt=[1,1,1],C[0]=2/le.drawingBufferWidth,C[1]=2/le.drawingBufferHeight,oe.bind(),ze.view=vt,ze.projection=st,ze.screenSize=C,ze.highlightId=we.highlightId,ze.highlightScale=we.highlightScale,ze.clipBounds=qe,ze.pickGroup=we.pickId/255,ze.pixelRatio=ye;for(var lt=0;lt<3;++lt)if(Pe[lt]){ze.scale=we.projectScale[lt],ze.opacity=we.projectOpacity[lt];for(var Ie=q,de=0;de<16;++de)Ie[de]=0;for(var de=0;de<4;++de)Ie[5*de]=1;Ie[5*lt]=0,mt[lt]<0?Ie[12+lt]=Oe[0][lt]:Ie[12+lt]=Oe[1][lt],f(Ie,Xe,Ie),ze.model=Ie;var Ee=(lt+1)%3,Ue=(lt+2)%3,ge=R(A),Ge=R(P);ge[Ee]=1,Ge[Ue]=1;var tt=k(st,vt,Xe,B(D,ge)),ft=k(st,vt,Xe,B(z,Ge));if(Math.abs(tt[1])>Math.abs(ft[1])){var He=tt;tt=ft,ft=He,He=ge,ge=Ge,Ge=He;var Qe=Ee;Ee=Ue,Ue=Qe}tt[0]<0&&(ge[Ee]=-1),ft[1]>0&&(Ge[Ue]=-1);for(var We=0,pt=0,de=0;de<4;++de)We+=Math.pow(Xe[4*Ee+de],2),pt+=Math.pow(Xe[4*Ue+de],2);ge[Ee]/=Math.sqrt(We),Ge[Ue]/=Math.sqrt(pt),ze.axes[0]=ge,ze.axes[1]=Ge,ze.fragClipBounds[0]=Y(U,qe[0],lt,-1e8),ze.fragClipBounds[1]=Y(U,qe[1],lt,1e8),we.vao.bind(),we.vao.draw(le.TRIANGLES,we.vertexCount),we.lineWidth>0&&(le.lineWidth(we.lineWidth*ye),we.vao.draw(le.LINES,we.lineVertexCount,we.vertexCount)),we.vao.unbind()}}var se=[-1e8,-1e8,-1e8],ue=[1e8,1e8,1e8],re=[se,ue];function j(oe,we,he,ye,Pe,le,ze){var Xe=he.gl;if((le===he.projectHasAlpha||ze)&&te(we,he,ye,Pe),le===he.hasAlpha||ze){oe.bind();var vt=oe.uniforms;vt.model=ye.model||m,vt.view=ye.view||m,vt.projection=ye.projection||m,C[0]=2/Xe.drawingBufferWidth,C[1]=2/Xe.drawingBufferHeight,vt.screenSize=C,vt.highlightId=he.highlightId,vt.highlightScale=he.highlightScale,vt.fragClipBounds=re,vt.clipBounds=he.axes.bounds,vt.opacity=he.opacity,vt.pickGroup=he.pickId/255,vt.pixelRatio=Pe,he.vao.bind(),he.vao.draw(Xe.TRIANGLES,he.vertexCount),he.lineWidth>0&&(Xe.lineWidth(he.lineWidth*Pe),he.vao.draw(Xe.LINES,he.lineVertexCount,he.vertexCount)),he.vao.unbind()}}p.draw=function(oe){var we=this.useOrtho?this.orthoShader:this.shader;j(we,this.projectShader,this,oe,this.pixelRatio,!1,!1)},p.drawTransparent=function(oe){var we=this.useOrtho?this.orthoShader:this.shader;j(we,this.projectShader,this,oe,this.pixelRatio,!0,!1)},p.drawPick=function(oe){var we=this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader;j(we,this.pickProjectShader,this,oe,1,!0,!0)},p.pick=function(oe){if(!oe||oe.id!==this.pickId)return null;var we=oe.value[2]+(oe.value[1]<<8)+(oe.value[0]<<16);if(we>=this.pointCount||we<0)return null;var he=this.points[we],ye=this._selectResult;ye.index=we;for(var Pe=0;Pe<3;++Pe)ye.position[Pe]=ye.dataCoordinate[Pe]=he[Pe];return ye},p.highlight=function(oe){if(!oe)this.highlightId=[1,1,1,1];else{var we=oe.index,he=we&255,ye=we>>8&255,Pe=we>>16&255;this.highlightId=[he/255,ye/255,Pe/255,0]}};function fe(oe,we,he,ye){var Pe;M(oe)?we0){var lr=0,Ye=Ue,Te=[0,0,0,1],Fe=[0,0,0,1],Ae=M(mt)&&M(mt[0]),Re=M(de)&&M(de[0]);e:for(var ye=0;ye0?1-pt[0][0]:$t<0?1+pt[1][0]:1,gr*=gr>0?1-pt[0][1]:gr<0?1+pt[1][1]:1;for(var Br=[$t,gr],Nn=Qe.cells||[],Xn=Qe.positions||[],ft=0;ftthis.buffer.length){l.free(this.buffer);for(var M=this.buffer=l.mallocUint8(c(E*g*4)),w=0;wM)for(g=M;gE)for(g=E;g=0){for(var O=U.type.charAt(U.type.length-1)|0,R=new Array(O),B=0;B=0;)Y+=1;z[q]=Y}var X=new Array(M.length);function te(){y.program=c.program(S,y._vref,y._fref,D,z);for(var se=0;se=0){var p=S.charCodeAt(S.length-1)-48;if(p<2||p>4)throw new s("","Invalid data type for attribute "+y+": "+S);f(d,m,T[0],g,p,E,y)}else if(S.indexOf("mat")>=0){var p=S.charCodeAt(S.length-1)-48;if(p<2||p>4)throw new s("","Invalid data type for attribute "+y+": "+S);h(d,m,T,g,p,E,y)}else throw new s("","Unknown data type for attribute "+y+": "+S);break}}return E}}),3327:(function(a,i,o){"use strict";var s=o(216),l=o(8866);a.exports=f;function u(h){return function(){return h}}function c(h,v){for(var d=new Array(h),m=0;m4)throw new l("","Invalid data type");switch(Y.charAt(0)){case"b":case"i":h["uniform"+X+"iv"](m[z],q);break;case"v":h["uniform"+X+"fv"](m[z],q);break;default:throw new l("","Unrecognized data type for vector "+name+": "+Y)}}else if(Y.indexOf("mat")===0&&Y.length===4){if(X=Y.charCodeAt(Y.length-1)-48,X<2||X>4)throw new l("","Invalid uniform dimension type for matrix "+name+": "+Y);h["uniformMatrix"+X+"fv"](m[z],!1,q);break}else throw new l("","Unknown uniform data type for "+name+": "+Y)}}}}}function E(S,T){if(typeof T!="object")return[[S,T]];var p=[];for(var C in T){var A=T[C],P=S;parseInt(C)+""===C?P+="["+C+"]":P+="."+C,typeof A=="object"?p.push.apply(p,E(P,A)):p.push([P,A])}return p}function M(S){switch(S){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":return 0;case"float":return 0;default:var T=S.indexOf("vec");if(0<=T&&T<=1&&S.length===4+T){var p=S.charCodeAt(S.length-1)-48;if(p<2||p>4)throw new l("","Invalid data type");return S.charAt(0)==="b"?c(p,!1):c(p,0)}else if(S.indexOf("mat")===0&&S.length===4){var p=S.charCodeAt(S.length-1)-48;if(p<2||p>4)throw new l("","Invalid uniform dimension type for matrix "+name+": "+S);return c(p*p,0)}else throw new l("","Unknown uniform data type for "+name+": "+S)}}function w(S,T,p){if(typeof p=="object"){var C=k(p);Object.defineProperty(S,T,{get:u(C),set:g(p),enumerable:!0,configurable:!1})}else m[p]?Object.defineProperty(S,T,{get:x(p),set:g(p),enumerable:!0,configurable:!1}):S[T]=M(d[p].type)}function k(S){var T;if(Array.isArray(S)){T=new Array(S.length);for(var p=0;p1){d[0]in h||(h[d[0]]=[]),h=h[d[0]];for(var m=1;m1)for(var E=0;E0)for(var re=0;reL)return C-1}return C},d=function(T,L,x){return Tx?x:T},v=function(T,L,x){var C=L.vectors,S=L.meshgrid,g=T[0],P=T[1],E=T[2],z=S[0].length,q=S[1].length,V=S[2].length,G=h(S[0],g),Z=h(S[1],P),j=h(S[2],E),N=G+1,H=Z+1,ie=j+1;if(G=d(G,0,z-1),N=d(N,0,z-1),Z=d(Z,0,q-1),H=d(H,0,q-1),j=d(j,0,V-1),ie=d(ie,0,V-1),G<0||Z<0||j<0||N>z-1||H>q-1||ie>V-1)return s.create();var ae=S[0][G],_e=S[0][N],Ee=S[1][Z],Ce=S[1][H],ge=S[2][j],re=S[2][ie],Se=(g-ae)/(_e-ae),ke=(P-Ee)/(Ce-Ee),be=(E-ge)/(re-ge);isFinite(Se)||(Se=.5),isFinite(ke)||(ke=.5),isFinite(be)||(be=.5);var Be,Le,me,Pe,ce,He;switch(x.reversedX&&(G=z-1-G,N=z-1-N),x.reversedY&&(Z=q-1-Z,H=q-1-H),x.reversedZ&&(j=V-1-j,ie=V-1-ie),x.filled){case 5:ce=j,He=ie,me=Z*V,Pe=H*V,Be=G*V*q,Le=N*V*q;break;case 4:ce=j,He=ie,Be=G*V,Le=N*V,me=Z*V*z,Pe=H*V*z;break;case 3:me=Z,Pe=H,ce=j*q,He=ie*q,Be=G*q*V,Le=N*q*V;break;case 2:me=Z,Pe=H,Be=G*q,Le=N*q,ce=j*q*z,He=ie*q*z;break;case 1:Be=G,Le=N,ce=j*z,He=ie*z,me=Z*z*V,Pe=H*z*V;break;default:Be=G,Le=N,me=Z*z,Pe=H*z,ce=j*z*q,He=ie*z*q;break}var lt=C[Be+me+ce],mt=C[Be+me+He],Ht=C[Be+Pe+ce],at=C[Be+Pe+He],ct=C[Le+me+ce],ar=C[Le+me+He],Vt=C[Le+Pe+ce],rr=C[Le+Pe+He],tt=s.create(),je=s.create(),Ue=s.create(),Ae=s.create();s.lerp(tt,lt,ct,Se),s.lerp(je,mt,ar,Se),s.lerp(Ue,Ht,Vt,Se),s.lerp(Ae,at,rr,Se);var rt=s.create(),St=s.create();s.lerp(rt,tt,Ue,ke),s.lerp(St,je,Ae,ke);var Tt=s.create();return s.lerp(Tt,rt,St,be),Tt},m=function(T,L){var x=L[0],C=L[1],S=L[2];return T[0]=x<0?-x:x,T[1]=C<0?-C:C,T[2]=S<0?-S:S,T},b=function(T){var L=1/0;T.sort(function(g,P){return g-P});for(var x=T.length,C=1;CN||rrH||ttie)},_e=s.distance(L[0],L[1]),Ee=10*_e/C,Ce=Ee*Ee,ge=1,re=0,Se=x.length;Se>1&&(ge=p(x));for(var ke=0;kere&&(re=lt),ce.push(lt),V.push({points:Be,velocities:Le,divergences:ce});for(var mt=0;mtCe&&s.scale(Ht,Ht,Ee/Math.sqrt(at)),s.add(Ht,Ht,be),me=z(Ht),s.squaredDistance(Pe,Ht)-Ce>-1e-4*Ce){Be.push(Ht),Pe=Ht,Le.push(me);var He=q(Ht,me),lt=s.length(He);isFinite(lt)&<>re&&(re=lt),ce.push(lt)}be=Ht}}var ct=f(V,T.colormap,re,ge);return g?ct.tubeScale=g:(re===0&&(re=1),ct.tubeScale=S*.5*ge/re),ct};var k=o(6740),M=o(6405).createMesh;i.exports.createTubeMesh=function(T,L){return M(T,L,{shaders:k,traceType:"streamtube"})}},990:function(i,a,o){var s=o(9405),l=o(3236),u=l([`precision highp float; +}`]);i.meshShader={vertex:l,fragment:u,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},i.pickShader={vertex:c,fragment:f,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}}),7815:(function(a,i,o){"use strict";var s=o(2931),l=o(9970),u=["xyz","xzy","yxz","yzx","zxy","zyx"],c=function(w,k,y,S){for(var T=w.points,p=w.velocities,C=w.divergences,A=[],P=[],D=[],z=[],q=[],U=[],O=0,R=0,B=l.create(),Y=l.create(),X=8,te=0;te0)for(var j=0;jk)return S-1}return S},v=function(w,k,y){return wy?y:w},d=function(w,k,y){var S=k.vectors,T=k.meshgrid,p=w[0],C=w[1],A=w[2],P=T[0].length,D=T[1].length,z=T[2].length,q=h(T[0],p),U=h(T[1],C),O=h(T[2],A),R=q+1,B=U+1,Y=O+1;if(q=v(q,0,P-1),R=v(R,0,P-1),U=v(U,0,D-1),B=v(B,0,D-1),O=v(O,0,z-1),Y=v(Y,0,z-1),q<0||U<0||O<0||R>P-1||B>D-1||Y>z-1)return s.create();var X=T[0][q],te=T[0][R],se=T[1][U],ue=T[1][B],re=T[2][O],j=T[2][Y],fe=(p-X)/(te-X),ce=(C-se)/(ue-se),oe=(A-re)/(j-re);isFinite(fe)||(fe=.5),isFinite(ce)||(ce=.5),isFinite(oe)||(oe=.5);var we,he,ye,Pe,le,ze;switch(y.reversedX&&(q=P-1-q,R=P-1-R),y.reversedY&&(U=D-1-U,B=D-1-B),y.reversedZ&&(O=z-1-O,Y=z-1-Y),y.filled){case 5:le=O,ze=Y,ye=U*z,Pe=B*z,we=q*z*D,he=R*z*D;break;case 4:le=O,ze=Y,we=q*z,he=R*z,ye=U*z*P,Pe=B*z*P;break;case 3:ye=U,Pe=B,le=O*D,ze=Y*D,we=q*D*z,he=R*D*z;break;case 2:ye=U,Pe=B,we=q*D,he=R*D,le=O*D*P,ze=Y*D*P;break;case 1:we=q,he=R,le=O*P,ze=Y*P,ye=U*P*z,Pe=B*P*z;break;default:we=q,he=R,ye=U*P,Pe=B*P,le=O*P*D,ze=Y*P*D;break}var Xe=S[we+ye+le],vt=S[we+ye+ze],st=S[we+Pe+le],Oe=S[we+Pe+ze],qe=S[he+ye+le],mt=S[he+ye+ze],lt=S[he+Pe+le],Ie=S[he+Pe+ze],de=s.create(),Ee=s.create(),Ue=s.create(),ge=s.create();s.lerp(de,Xe,qe,fe),s.lerp(Ee,vt,mt,fe),s.lerp(Ue,st,lt,fe),s.lerp(ge,Oe,Ie,fe);var Ge=s.create(),tt=s.create();s.lerp(Ge,de,Ue,ce),s.lerp(tt,Ee,ge,ce);var ft=s.create();return s.lerp(ft,Ge,tt,oe),ft},m=function(w,k){var y=k[0],S=k[1],T=k[2];return w[0]=y<0?-y:y,w[1]=S<0?-S:S,w[2]=T<0?-T:T,w},x=function(w){var k=1/0;w.sort(function(p,C){return p-C});for(var y=w.length,S=1;SR||IeB||deY)},te=s.distance(k[0],k[1]),se=10*te/S,ue=se*se,re=1,j=0,fe=y.length;fe>1&&(re=g(y));for(var ce=0;cej&&(j=Xe),le.push(Xe),z.push({points:we,velocities:he,divergences:le});for(var vt=0;vtue&&s.scale(st,st,se/Math.sqrt(Oe)),s.add(st,st,oe),ye=P(st),s.squaredDistance(Pe,st)-ue>-1e-4*ue){we.push(st),Pe=st,he.push(ye);var ze=D(st,ye),Xe=s.length(ze);isFinite(Xe)&&Xe>j&&(j=Xe),le.push(Xe)}oe=st}}var qe=f(z,w.colormap,j,re);return p?qe.tubeScale=p:(j===0&&(j=1),qe.tubeScale=T*.5*re/j),qe};var E=o(6740),M=o(6405).createMesh;a.exports.createTubeMesh=function(w,k){return M(w,k,{shaders:E,traceType:"streamtube"})}}),990:(function(a,i,o){var s=o(9405),l=o(3236),u=l([`precision highp float; #define GLSLIFY 1 attribute vec4 uv; @@ -1999,15 +1999,15 @@ void main() { vec2 uy = splitFloat(planeCoordinate.y / shape.y); gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0)); } -`]);a.createShader=function(d){var v=s(d,u,c,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},a.createPickShader=function(d){var v=s(d,u,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},a.createContourShader=function(d){var v=s(d,f,c,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v},a.createPickContourShader=function(d){var v=s(d,f,h,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v}},9499:function(i,a,o){"use strict";i.exports=Be;var s=o(8828),l=o(2762),u=o(8116),c=o(7766),f=o(1888),h=o(6729),d=o(5298),v=o(9994),m=o(9618),b=o(3711),p=o(6760),k=o(7608),M=o(2478),T=o(6199),L=o(990),x=L.createShader,C=L.createContourShader,S=L.createPickShader,g=L.createPickContourShader,P=4*10,E=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],z=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],q=[[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 Le=0;Le<3;++Le){var me=q[Le],Pe=(Le+1)%3,ce=(Le+2)%3;me[Pe+0]=1,me[ce+3]=1,me[Le+6]=1}})();function V(Le,me,Pe,ce,He){this.position=Le,this.index=me,this.uv=Pe,this.level=ce,this.dataCoordinate=He}var G=256;function Z(Le,me,Pe,ce,He,lt,mt,Ht,at,ct,ar,Vt,rr,tt,je){this.gl=Le,this.shape=me,this.bounds=Pe,this.objectOffset=je,this.intensityBounds=[],this._shader=ce,this._pickShader=He,this._coordinateBuffer=lt,this._vao=mt,this._colorMap=Ht,this._contourShader=at,this._contourPickShader=ct,this._contourBuffer=ar,this._contourVAO=Vt,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new V([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=rr,this._dynamicVAO=tt,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=[m(f.mallocFloat(1024),[0,0]),m(f.mallocFloat(1024),[0,0]),m(f.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 j=Z.prototype;j.genColormap=function(Le,me){var Pe=!1,ce=v([h({colormap:Le,nshades:G,format:"rgba"}).map(function(He,lt){var mt=me?N(lt/255,me):He[3];return mt<1&&(Pe=!0),[He[0],He[1],He[2],255*mt]})]);return d.divseq(ce,255),this.hasAlphaScale=Pe,ce},j.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},j.isOpaque=function(){return!this.isTransparent()},j.pickSlots=1,j.setPickBase=function(Le){this.pickId=Le};function N(Le,me){if(!me||!me.length)return 1;for(var Pe=0;PeLe&&Pe>0){var ce=(me[Pe][0]-Le)/(me[Pe][0]-me[Pe-1][0]);return me[Pe][1]*(1-ce)+ce*me[Pe-1][1]}}return 1}var H=[0,0,0],ie={showSurface:!1,showContour:!1,projections:[E.slice(),E.slice(),E.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function ae(Le,me){var Pe,ce,He,lt=me.axes&&me.axes.lastCubeProps.axis||H,mt=me.showSurface,Ht=me.showContour;for(Pe=0;Pe<3;++Pe)for(mt=mt||me.surfaceProject[Pe],ce=0;ce<3;++ce)Ht=Ht||me.contourProject[Pe][ce];for(Pe=0;Pe<3;++Pe){var at=ie.projections[Pe];for(ce=0;ce<16;++ce)at[ce]=0;for(ce=0;ce<4;++ce)at[5*ce]=1;at[5*Pe]=0,at[12+Pe]=me.axesBounds[+(lt[Pe]>0)][Pe],p(at,Le.model,at);var ct=ie.clipBounds[Pe];for(He=0;He<2;++He)for(ce=0;ce<3;++ce)ct[He][ce]=Le.clipBounds[He][ce];ct[0][Pe]=-1e8,ct[1][Pe]=1e8}return ie.showSurface=mt,ie.showContour=Ht,ie}var _e={model:E,view:E,projection:E,inverseModel:E.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},Ee=E.slice(),Ce=[1,0,0,0,1,0,0,0,1];function ge(Le,me){Le=Le||{};var Pe=this.gl;Pe.disable(Pe.CULL_FACE),this._colorMap.bind(0);var ce=_e;ce.model=Le.model||E,ce.view=Le.view||E,ce.projection=Le.projection||E,ce.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],ce.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],ce.objectOffset=this.objectOffset,ce.contourColor=this.contourColor[0],ce.inverseModel=k(ce.inverseModel,ce.model);for(var He=0;He<2;++He)for(var lt=ce.clipBounds[He],mt=0;mt<3;++mt)lt[mt]=Math.min(Math.max(this.clipBounds[He][mt],-1e8),1e8);ce.kambient=this.ambientLight,ce.kdiffuse=this.diffuseLight,ce.kspecular=this.specularLight,ce.roughness=this.roughness,ce.fresnel=this.fresnel,ce.opacity=this.opacity,ce.height=0,ce.permutation=Ce,ce.vertexColor=this.vertexColor;var Ht=Ee;for(p(Ht,ce.view,ce.model),p(Ht,ce.projection,Ht),k(Ht,Ht),He=0;He<3;++He)ce.eyePosition[He]=Ht[12+He]/Ht[15];var at=Ht[15];for(He=0;He<3;++He)at+=this.lightPosition[He]*Ht[4*He+3];for(He=0;He<3;++He){var ct=Ht[12+He];for(mt=0;mt<3;++mt)ct+=Ht[4*mt+He]*this.lightPosition[mt];ce.lightPosition[He]=ct/at}var ar=ae(ce,this);if(ar.showSurface){for(this._shader.bind(),this._shader.uniforms=ce,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(Pe.TRIANGLES,this._vertexCount),He=0;He<3;++He)!this.surfaceProject[He]||!this.vertexCount||(this._shader.uniforms.model=ar.projections[He],this._shader.uniforms.clipBounds=ar.clipBounds[He],this._vao.draw(Pe.TRIANGLES,this._vertexCount));this._vao.unbind()}if(ar.showContour){var Vt=this._contourShader;ce.kambient=1,ce.kdiffuse=0,ce.kspecular=0,ce.opacity=1,Vt.bind(),Vt.uniforms=ce;var rr=this._contourVAO;for(rr.bind(),He=0;He<3;++He)for(Vt.uniforms.permutation=q[He],Pe.lineWidth(this.contourWidth[He]*this.pixelRatio),mt=0;mt>4)/16)/255,He=Math.floor(ce),lt=ce-He,mt=me[1]*(Le.value[1]+(Le.value[2]&15)/16)/255,Ht=Math.floor(mt),at=mt-Ht;He+=1,Ht+=1;var ct=Pe.position;ct[0]=ct[1]=ct[2]=0;for(var ar=0;ar<2;++ar)for(var Vt=ar?lt:1-lt,rr=0;rr<2;++rr)for(var tt=rr?at:1-at,je=He+ar,Ue=Ht+rr,Ae=Vt*tt,rt=0;rt<3;++rt)ct[rt]+=this._field[rt].get(je,Ue)*Ae;for(var St=this._pickResult.level,Tt=0;Tt<3;++Tt)if(St[Tt]=M.le(this.contourLevels[Tt],ct[Tt]),St[Tt]<0)this.contourLevels[Tt].length>0&&(St[Tt]=0);else if(St[Tt]Math.abs(Et-ct[Tt])&&(St[Tt]+=1)}for(Pe.index[0]=lt<.5?He:He+1,Pe.index[1]=at<.5?Ht:Ht+1,Pe.uv[0]=ce/me[0],Pe.uv[1]=mt/me[1],rt=0;rt<3;++rt)Pe.dataCoordinate[rt]=this._field[rt].get(Pe.index[0],Pe.index[1]);return Pe},j.padField=function(Le,me){var Pe=me.shape.slice(),ce=Le.shape.slice();d.assign(Le.lo(1,1).hi(Pe[0],Pe[1]),me),d.assign(Le.lo(1).hi(Pe[0],1),me.hi(Pe[0],1)),d.assign(Le.lo(1,ce[1]-1).hi(Pe[0],1),me.lo(0,Pe[1]-1).hi(Pe[0],1)),d.assign(Le.lo(0,1).hi(1,Pe[1]),me.hi(1)),d.assign(Le.lo(ce[0]-1,1).hi(1,Pe[1]),me.lo(Pe[0]-1)),Le.set(0,0,me.get(0,0)),Le.set(0,ce[1]-1,me.get(0,Pe[1]-1)),Le.set(ce[0]-1,0,me.get(Pe[0]-1,0)),Le.set(ce[0]-1,ce[1]-1,me.get(Pe[0]-1,Pe[1]-1))};function Se(Le,me){return Array.isArray(Le)?[me(Le[0]),me(Le[1]),me(Le[2])]:[me(Le),me(Le),me(Le)]}function ke(Le){return Array.isArray(Le)?Le.length===3?[Le[0],Le[1],Le[2],1]:[Le[0],Le[1],Le[2],Le[3]]:[0,0,0,1]}function be(Le){if(Array.isArray(Le)){if(Array.isArray(Le))return[ke(Le[0]),ke(Le[1]),ke(Le[2])];var me=ke(Le);return[me.slice(),me.slice(),me.slice()]}}j.update=function(Le){Le=Le||{},this.objectOffset=Le.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in Le&&(this.contourWidth=Se(Le.contourWidth,Number)),"showContour"in Le&&(this.showContour=Se(Le.showContour,Boolean)),"showSurface"in Le&&(this.showSurface=!!Le.showSurface),"contourTint"in Le&&(this.contourTint=Se(Le.contourTint,Boolean)),"contourColor"in Le&&(this.contourColor=be(Le.contourColor)),"contourProject"in Le&&(this.contourProject=Se(Le.contourProject,function(yn){return Se(yn,Boolean)})),"surfaceProject"in Le&&(this.surfaceProject=Le.surfaceProject),"dynamicColor"in Le&&(this.dynamicColor=be(Le.dynamicColor)),"dynamicTint"in Le&&(this.dynamicTint=Se(Le.dynamicTint,Number)),"dynamicWidth"in Le&&(this.dynamicWidth=Se(Le.dynamicWidth,Number)),"opacity"in Le&&(this.opacity=Le.opacity),"opacityscale"in Le&&(this.opacityscale=Le.opacityscale),"colorBounds"in Le&&(this.colorBounds=Le.colorBounds),"vertexColor"in Le&&(this.vertexColor=Le.vertexColor?1:0),"colormap"in Le&&this._colorMap.setPixels(this.genColormap(Le.colormap,this.opacityscale));var me=Le.field||Le.coords&&Le.coords[2]||null,Pe=!1;if(me||(this._field[2].shape[0]||this._field[2].shape[2]?me=this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):me=this._field[2].hi(0,0)),"field"in Le||"coords"in Le){var ce=(me.shape[0]+2)*(me.shape[1]+2);ce>this._field[2].data.length&&(f.freeFloat(this._field[2].data),this._field[2].data=f.mallocFloat(s.nextPow2(ce))),this._field[2]=m(this._field[2].data,[me.shape[0]+2,me.shape[1]+2]),this.padField(this._field[2],me),this.shape=me.shape.slice();for(var He=this.shape,lt=0;lt<2;++lt)this._field[2].size>this._field[lt].data.length&&(f.freeFloat(this._field[lt].data),this._field[lt].data=f.mallocFloat(this._field[2].size)),this._field[lt]=m(this._field[lt].data,[He[0]+2,He[1]+2]);if(Le.coords){var mt=Le.coords;if(!Array.isArray(mt)||mt.length!==3)throw new Error("gl-surface: invalid coordinates for x/y");for(lt=0;lt<2;++lt){var Ht=mt[lt];for(rr=0;rr<2;++rr)if(Ht.shape[rr]!==He[rr])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[lt],Ht)}}else if(Le.ticks){var at=Le.ticks;if(!Array.isArray(at)||at.length!==2)throw new Error("gl-surface: invalid ticks");for(lt=0;lt<2;++lt){var ct=at[lt];if((Array.isArray(ct)||ct.length)&&(ct=m(ct)),ct.shape[0]!==He[lt])throw new Error("gl-surface: invalid tick length");var ar=m(ct.data,He);ar.stride[lt]=ct.stride[0],ar.stride[lt^1]=0,this.padField(this._field[lt],ar)}}else{for(lt=0;lt<2;++lt){var Vt=[0,0];Vt[lt]=1,this._field[lt]=m(this._field[lt].data,[He[0]+2,He[1]+2],Vt,0)}this._field[0].set(0,0,0);for(var rr=0;rr0){for(var en=0;en<5;++en)Pi.pop();We-=1}continue e}}}Fn.push(We)}this._contourOffsets[ai]=un,this._contourCounts[ai]=Fn}var fn=f.mallocFloat(Pi.length);for(lt=0;ltV||z<0||z>V)throw new Error("gl-texture2d: Invalid texture size");return P._shape=[E,z],P.bind(),q.texImage2D(q.TEXTURE_2D,0,P.format,E,z,0,P.format,P.type,null),P._mipLevels=[0],P}function p(P,E,z,q,V,G){this.gl=P,this.handle=E,this.format=V,this.type=G,this._shape=[z,q],this._mipLevels=[0],this._magFilter=P.NEAREST,this._minFilter=P.NEAREST,this._wrapS=P.CLAMP_TO_EDGE,this._wrapT=P.CLAMP_TO_EDGE,this._anisoSamples=1;var Z=this,j=[this._wrapS,this._wrapT];Object.defineProperties(j,[{get:function(){return Z._wrapS},set:function(H){return Z.wrapS=H}},{get:function(){return Z._wrapT},set:function(H){return Z.wrapT=H}}]),this._wrapVector=j;var N=[this._shape[0],this._shape[1]];Object.defineProperties(N,[{get:function(){return Z._shape[0]},set:function(H){return Z.width=H}},{get:function(){return Z._shape[1]},set:function(H){return Z.height=H}}]),this._shapeVector=N}var k=p.prototype;Object.defineProperties(k,{minFilter:{get:function(){return this._minFilter},set:function(P){this.bind();var E=this.gl;if(this.type===E.FLOAT&&c.indexOf(P)>=0&&(E.getExtension("OES_texture_float_linear")||(P=E.NEAREST)),f.indexOf(P)<0)throw new Error("gl-texture2d: Unknown filter mode "+P);return E.texParameteri(E.TEXTURE_2D,E.TEXTURE_MIN_FILTER,P),this._minFilter=P}},magFilter:{get:function(){return this._magFilter},set:function(P){this.bind();var E=this.gl;if(this.type===E.FLOAT&&c.indexOf(P)>=0&&(E.getExtension("OES_texture_float_linear")||(P=E.NEAREST)),f.indexOf(P)<0)throw new Error("gl-texture2d: Unknown filter mode "+P);return E.texParameteri(E.TEXTURE_2D,E.TEXTURE_MAG_FILTER,P),this._magFilter=P}},mipSamples:{get:function(){return this._anisoSamples},set:function(P){var E=this._anisoSamples;if(this._anisoSamples=Math.max(P,1)|0,E!==this._anisoSamples){var z=this.gl.getExtension("EXT_texture_filter_anisotropic");z&&this.gl.texParameterf(this.gl.TEXTURE_2D,z.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(P){if(this.bind(),h.indexOf(P)<0)throw new Error("gl-texture2d: Unknown wrap mode "+P);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,P),this._wrapS=P}},wrapT:{get:function(){return this._wrapT},set:function(P){if(this.bind(),h.indexOf(P)<0)throw new Error("gl-texture2d: Unknown wrap mode "+P);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,P),this._wrapT=P}},wrap:{get:function(){return this._wrapVector},set:function(P){if(Array.isArray(P)||(P=[P,P]),P.length!==2)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var E=0;E<2;++E)if(h.indexOf(P[E])<0)throw new Error("gl-texture2d: Unknown wrap mode "+P);this._wrapS=P[0],this._wrapT=P[1];var z=this.gl;return this.bind(),z.texParameteri(z.TEXTURE_2D,z.TEXTURE_WRAP_S,this._wrapS),z.texParameteri(z.TEXTURE_2D,z.TEXTURE_WRAP_T,this._wrapT),P}},shape:{get:function(){return this._shapeVector},set:function(P){if(!Array.isArray(P))P=[P|0,P|0];else if(P.length!==2)throw new Error("gl-texture2d: Invalid texture shape");return b(this,P[0]|0,P[1]|0),[P[0]|0,P[1]|0]}},width:{get:function(){return this._shape[0]},set:function(P){return P=P|0,b(this,P,this._shape[1]),P}},height:{get:function(){return this._shape[1]},set:function(P){return P=P|0,b(this,this._shape[0],P),P}}}),k.bind=function(P){var E=this.gl;return P!==void 0&&E.activeTexture(E.TEXTURE0+(P|0)),E.bindTexture(E.TEXTURE_2D,this.handle),P!==void 0?P|0:E.getParameter(E.ACTIVE_TEXTURE)-E.TEXTURE0},k.dispose=function(){this.gl.deleteTexture(this.handle)},k.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var P=Math.min(this._shape[0],this._shape[1]),E=0;P>0;++E,P>>>=1)this._mipLevels.indexOf(E)<0&&this._mipLevels.push(E)},k.setPixels=function(P,E,z,q){var V=this.gl;this.bind(),Array.isArray(E)?(q=z,z=E[1]|0,E=E[0]|0):(E=E||0,z=z||0),q=q||0;var G=v(P)?P:P.raw;if(G){var Z=this._mipLevels.indexOf(q)<0;Z?(V.texImage2D(V.TEXTURE_2D,0,this.format,this.format,this.type,G),this._mipLevels.push(q)):V.texSubImage2D(V.TEXTURE_2D,q,E,z,this.format,this.type,G)}else if(P.shape&&P.stride&&P.data){if(P.shape.length<2||E+P.shape[1]>this._shape[1]>>>q||z+P.shape[0]>this._shape[0]>>>q||E<0||z<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");T(V,E,z,q,this.format,this.type,this._mipLevels,P)}else throw new Error("gl-texture2d: Unsupported data type")};function M(P,E){return P.length===3?E[2]===1&&E[1]===P[0]*P[2]&&E[0]===P[2]:E[0]===1&&E[1]===P[0]}function T(P,E,z,q,V,G,Z,j){var N=j.dtype,H=j.shape.slice();if(H.length<2||H.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var ie=0,ae=0,_e=M(H,j.stride.slice());N==="float32"?ie=P.FLOAT:N==="float64"?(ie=P.FLOAT,_e=!1,N="float32"):N==="uint8"?ie=P.UNSIGNED_BYTE:(ie=P.UNSIGNED_BYTE,_e=!1,N="uint8");var Ee=1;if(H.length===2)ae=P.LUMINANCE,H=[H[0],H[1],1],j=s(j.data,H,[j.stride[0],j.stride[1],1],j.offset);else if(H.length===3){if(H[2]===1)ae=P.ALPHA;else if(H[2]===2)ae=P.LUMINANCE_ALPHA;else if(H[2]===3)ae=P.RGB;else if(H[2]===4)ae=P.RGBA;else throw new Error("gl-texture2d: Invalid shape for pixel coords");Ee=H[2]}else throw new Error("gl-texture2d: Invalid shape for texture");if((ae===P.LUMINANCE||ae===P.ALPHA)&&(V===P.LUMINANCE||V===P.ALPHA)&&(ae=V),ae!==V)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var Ce=j.size,ge=Z.indexOf(q)<0;if(ge&&Z.push(q),ie===G&&_e)j.offset===0&&j.data.length===Ce?ge?P.texImage2D(P.TEXTURE_2D,q,V,H[0],H[1],0,V,G,j.data):P.texSubImage2D(P.TEXTURE_2D,q,E,z,H[0],H[1],V,G,j.data):ge?P.texImage2D(P.TEXTURE_2D,q,V,H[0],H[1],0,V,G,j.data.subarray(j.offset,j.offset+Ce)):P.texSubImage2D(P.TEXTURE_2D,q,E,z,H[0],H[1],V,G,j.data.subarray(j.offset,j.offset+Ce));else{var re;G===P.FLOAT?re=u.mallocFloat32(Ce):re=u.mallocUint8(Ce);var Se=s(re,H,[H[2],H[2]*H[0],1]);ie===P.FLOAT&&G===P.UNSIGNED_BYTE?m(Se,j):l.assign(Se,j),ge?P.texImage2D(P.TEXTURE_2D,q,V,H[0],H[1],0,V,G,re.subarray(0,Ce)):P.texSubImage2D(P.TEXTURE_2D,q,E,z,H[0],H[1],V,G,re.subarray(0,Ce)),G===P.FLOAT?u.freeFloat32(re):u.freeUint8(re)}}function L(P){var E=P.createTexture();return P.bindTexture(P.TEXTURE_2D,E),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_MIN_FILTER,P.NEAREST),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_MAG_FILTER,P.NEAREST),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_WRAP_S,P.CLAMP_TO_EDGE),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_WRAP_T,P.CLAMP_TO_EDGE),E}function x(P,E,z,q,V){var G=P.getParameter(P.MAX_TEXTURE_SIZE);if(E<0||E>G||z<0||z>G)throw new Error("gl-texture2d: Invalid texture shape");if(V===P.FLOAT&&!P.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var Z=L(P);return P.texImage2D(P.TEXTURE_2D,0,q,E,z,0,q,V,null),new p(P,Z,E,z,q,V)}function C(P,E,z,q,V,G){var Z=L(P);return P.texImage2D(P.TEXTURE_2D,0,V,V,G,E),new p(P,Z,z,q,V,G)}function S(P,E){var z=E.dtype,q=E.shape.slice(),V=P.getParameter(P.MAX_TEXTURE_SIZE);if(q[0]<0||q[0]>V||q[1]<0||q[1]>V)throw new Error("gl-texture2d: Invalid texture size");var G=M(q,E.stride.slice()),Z=0;z==="float32"?Z=P.FLOAT:z==="float64"?(Z=P.FLOAT,G=!1,z="float32"):z==="uint8"?Z=P.UNSIGNED_BYTE:(Z=P.UNSIGNED_BYTE,G=!1,z="uint8");var j=0;if(q.length===2)j=P.LUMINANCE,q=[q[0],q[1],1],E=s(E.data,q,[E.stride[0],E.stride[1],1],E.offset);else if(q.length===3)if(q[2]===1)j=P.ALPHA;else if(q[2]===2)j=P.LUMINANCE_ALPHA;else if(q[2]===3)j=P.RGB;else if(q[2]===4)j=P.RGBA;else throw new Error("gl-texture2d: Invalid shape for pixel coords");else throw new Error("gl-texture2d: Invalid shape for texture");Z===P.FLOAT&&!P.getExtension("OES_texture_float")&&(Z=P.UNSIGNED_BYTE,G=!1);var N,H,ie=E.size;if(G)E.offset===0&&E.data.length===ie?N=E.data:N=E.data.subarray(E.offset,E.offset+ie);else{var ae=[q[2],q[2]*q[0],1];H=u.malloc(ie,z);var _e=s(H,q,ae,0);(z==="float32"||z==="float64")&&Z===P.UNSIGNED_BYTE?m(_e,E):l.assign(_e,E),N=H.subarray(0,ie)}var Ee=L(P);return P.texImage2D(P.TEXTURE_2D,0,j,q[0],q[1],0,j,Z,N),G||u.free(H),new p(P,Ee,q[0],q[1],j,Z)}function g(P){if(arguments.length<=1)throw new Error("gl-texture2d: Missing arguments for texture2d constructor");if(c||d(P),typeof arguments[1]=="number")return x(P,arguments[1],arguments[2],arguments[3]||P.RGBA,arguments[4]||P.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return x(P,arguments[1][0]|0,arguments[1][1]|0,arguments[2]||P.RGBA,arguments[3]||P.UNSIGNED_BYTE);if(typeof arguments[1]=="object"){var E=arguments[1],z=v(E)?E:E.raw;if(z)return C(P,z,E.width|0,E.height|0,arguments[2]||P.RGBA,arguments[3]||P.UNSIGNED_BYTE);if(E.shape&&E.data&&E.stride)return S(P,E)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")}},1433:function(i){"use strict";function a(o,s,l){s?s.bind():o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,null);var u=o.getParameter(o.MAX_VERTEX_ATTRIBS)|0;if(l){if(l.length>u)throw new Error("gl-vao: Too many vertex attributes");for(var c=0;c1?0:Math.acos(m)}},9226:function(i){i.exports=a;function a(o,s){return o[0]=Math.ceil(s[0]),o[1]=Math.ceil(s[1]),o[2]=Math.ceil(s[2]),o}},3126:function(i){i.exports=a;function a(o){var s=new Float32Array(3);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s}},3990:function(i){i.exports=a;function a(o,s){return o[0]=s[0],o[1]=s[1],o[2]=s[2],o}},1091:function(i){i.exports=a;function a(){var o=new Float32Array(3);return o[0]=0,o[1]=0,o[2]=0,o}},5911:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2];return o[0]=c*v-f*d,o[1]=f*h-u*v,o[2]=u*d-c*h,o}},5455:function(i,a,o){i.exports=o(7056)},7056:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2];return Math.sqrt(l*l+u*u+c*c)}},4008:function(i,a,o){i.exports=o(6690)},6690:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]/l[0],o[1]=s[1]/l[1],o[2]=s[2]/l[2],o}},244:function(i){i.exports=a;function a(o,s){return o[0]*s[0]+o[1]*s[1]+o[2]*s[2]}},2613:function(i){i.exports=1e-6},9922:function(i,a,o){i.exports=l;var s=o(2613);function l(u,c){var f=u[0],h=u[1],d=u[2],v=c[0],m=c[1],b=c[2];return Math.abs(f-v)<=s*Math.max(1,Math.abs(f),Math.abs(v))&&Math.abs(h-m)<=s*Math.max(1,Math.abs(h),Math.abs(m))&&Math.abs(d-b)<=s*Math.max(1,Math.abs(d),Math.abs(b))}},9265:function(i){i.exports=a;function a(o,s){return o[0]===s[0]&&o[1]===s[1]&&o[2]===s[2]}},2681:function(i){i.exports=a;function a(o,s){return o[0]=Math.floor(s[0]),o[1]=Math.floor(s[1]),o[2]=Math.floor(s[2]),o}},5137:function(i,a,o){i.exports=l;var s=o(1091)();function l(u,c,f,h,d,v){var m,b;for(c||(c=3),f||(f=0),h?b=Math.min(h*c+f,u.length):b=u.length,m=f;m0&&(f=1/Math.sqrt(f),o[0]=s[0]*f,o[1]=s[1]*f,o[2]=s[2]*f),o}},7636:function(i){i.exports=a;function a(o,s){s=s||1;var l=Math.random()*2*Math.PI,u=Math.random()*2-1,c=Math.sqrt(1-u*u)*s;return o[0]=Math.cos(l)*c,o[1]=Math.sin(l)*c,o[2]=u*s,o}},6894:function(i){i.exports=a;function a(o,s,l,u){var c=l[1],f=l[2],h=s[1]-c,d=s[2]-f,v=Math.sin(u),m=Math.cos(u);return o[0]=s[0],o[1]=c+h*m-d*v,o[2]=f+h*v+d*m,o}},109:function(i){i.exports=a;function a(o,s,l,u){var c=l[0],f=l[2],h=s[0]-c,d=s[2]-f,v=Math.sin(u),m=Math.cos(u);return o[0]=c+d*v+h*m,o[1]=s[1],o[2]=f+d*m-h*v,o}},8692:function(i){i.exports=a;function a(o,s,l,u){var c=l[0],f=l[1],h=s[0]-c,d=s[1]-f,v=Math.sin(u),m=Math.cos(u);return o[0]=c+h*m-d*v,o[1]=f+h*v+d*m,o[2]=s[2],o}},2447:function(i){i.exports=a;function a(o,s){return o[0]=Math.round(s[0]),o[1]=Math.round(s[1]),o[2]=Math.round(s[2]),o}},6621:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l,o[1]=s[1]*l,o[2]=s[2]*l,o}},8489:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s[0]+l[0]*u,o[1]=s[1]+l[1]*u,o[2]=s[2]+l[2]*u,o}},1463:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s,o[1]=l,o[2]=u,o}},6141:function(i,a,o){i.exports=o(2953)},5486:function(i,a,o){i.exports=o(3066)},2953:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2];return l*l+u*u+c*c}},3066:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2];return s*s+l*l+u*u}},2229:function(i,a,o){i.exports=o(6843)},6843:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]-l[0],o[1]=s[1]-l[1],o[2]=s[2]-l[2],o}},492:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2];return o[0]=u*l[0]+c*l[3]+f*l[6],o[1]=u*l[1]+c*l[4]+f*l[7],o[2]=u*l[2]+c*l[5]+f*l[8],o}},5673:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[3]*u+l[7]*c+l[11]*f+l[15];return h=h||1,o[0]=(l[0]*u+l[4]*c+l[8]*f+l[12])/h,o[1]=(l[1]*u+l[5]*c+l[9]*f+l[13])/h,o[2]=(l[2]*u+l[6]*c+l[10]*f+l[14])/h,o}},264:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2],m=l[3],b=m*u+d*f-v*c,p=m*c+v*u-h*f,k=m*f+h*c-d*u,M=-h*u-d*c-v*f;return o[0]=b*m+M*-h+p*-v-k*-d,o[1]=p*m+M*-d+k*-h-b*-v,o[2]=k*m+M*-v+b*-d-p*-h,o}},4361:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]+l[0],o[1]=s[1]+l[1],o[2]=s[2]+l[2],o[3]=s[3]+l[3],o}},2335:function(i){i.exports=a;function a(o){var s=new Float32Array(4);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s[3]=o[3],s}},2933:function(i){i.exports=a;function a(o,s){return o[0]=s[0],o[1]=s[1],o[2]=s[2],o[3]=s[3],o}},7536:function(i){i.exports=a;function a(){var o=new Float32Array(4);return o[0]=0,o[1]=0,o[2]=0,o[3]=0,o}},4691:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2],f=s[3]-o[3];return Math.sqrt(l*l+u*u+c*c+f*f)}},1373:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]/l[0],o[1]=s[1]/l[1],o[2]=s[2]/l[2],o[3]=s[3]/l[3],o}},3750:function(i){i.exports=a;function a(o,s){return o[0]*s[0]+o[1]*s[1]+o[2]*s[2]+o[3]*s[3]}},3390:function(i){i.exports=a;function a(o,s,l,u){var c=new Float32Array(4);return c[0]=o,c[1]=s,c[2]=l,c[3]=u,c}},9970:function(i,a,o){i.exports={create:o(7536),clone:o(2335),fromValues:o(3390),copy:o(2933),set:o(4578),add:o(4361),subtract:o(6860),multiply:o(3576),divide:o(1373),min:o(2334),max:o(160),scale:o(9288),scaleAndAdd:o(4844),distance:o(4691),squaredDistance:o(7960),length:o(6808),squaredLength:o(483),negate:o(1498),inverse:o(4494),normalize:o(5177),dot:o(3750),lerp:o(2573),random:o(9131),transformMat4:o(5352),transformQuat:o(4041)}},4494:function(i){i.exports=a;function a(o,s){return o[0]=1/s[0],o[1]=1/s[1],o[2]=1/s[2],o[3]=1/s[3],o}},6808:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],c=o[3];return Math.sqrt(s*s+l*l+u*u+c*c)}},2573:function(i){i.exports=a;function a(o,s,l,u){var c=s[0],f=s[1],h=s[2],d=s[3];return o[0]=c+u*(l[0]-c),o[1]=f+u*(l[1]-f),o[2]=h+u*(l[2]-h),o[3]=d+u*(l[3]-d),o}},160:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.max(s[0],l[0]),o[1]=Math.max(s[1],l[1]),o[2]=Math.max(s[2],l[2]),o[3]=Math.max(s[3],l[3]),o}},2334:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.min(s[0],l[0]),o[1]=Math.min(s[1],l[1]),o[2]=Math.min(s[2],l[2]),o[3]=Math.min(s[3],l[3]),o}},3576:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l[0],o[1]=s[1]*l[1],o[2]=s[2]*l[2],o[3]=s[3]*l[3],o}},1498:function(i){i.exports=a;function a(o,s){return o[0]=-s[0],o[1]=-s[1],o[2]=-s[2],o[3]=-s[3],o}},5177:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],c=s[2],f=s[3],h=l*l+u*u+c*c+f*f;return h>0&&(h=1/Math.sqrt(h),o[0]=l*h,o[1]=u*h,o[2]=c*h,o[3]=f*h),o}},9131:function(i,a,o){var s=o(5177),l=o(9288);i.exports=u;function u(c,f){return f=f||1,c[0]=Math.random(),c[1]=Math.random(),c[2]=Math.random(),c[3]=Math.random(),s(c,c),l(c,c,f),c}},9288:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l,o[1]=s[1]*l,o[2]=s[2]*l,o[3]=s[3]*l,o}},4844:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s[0]+l[0]*u,o[1]=s[1]+l[1]*u,o[2]=s[2]+l[2]*u,o[3]=s[3]+l[3]*u,o}},4578:function(i){i.exports=a;function a(o,s,l,u,c){return o[0]=s,o[1]=l,o[2]=u,o[3]=c,o}},7960:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2],f=s[3]-o[3];return l*l+u*u+c*c+f*f}},483:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],c=o[3];return s*s+l*l+u*u+c*c}},6860:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]-l[0],o[1]=s[1]-l[1],o[2]=s[2]-l[2],o[3]=s[3]-l[3],o}},5352:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=s[3];return o[0]=l[0]*u+l[4]*c+l[8]*f+l[12]*h,o[1]=l[1]*u+l[5]*c+l[9]*f+l[13]*h,o[2]=l[2]*u+l[6]*c+l[10]*f+l[14]*h,o[3]=l[3]*u+l[7]*c+l[11]*f+l[15]*h,o}},4041:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2],m=l[3],b=m*u+d*f-v*c,p=m*c+v*u-h*f,k=m*f+h*c-d*u,M=-h*u-d*c-v*f;return o[0]=b*m+M*-h+p*-v-k*-d,o[1]=p*m+M*-d+k*-h-b*-v,o[2]=k*m+M*-v+b*-d-p*-h,o[3]=s[3],o}},1848:function(i,a,o){var s=o(4905),l=o(6468);i.exports=u;function u(c){for(var f=Array.isArray(c)?c:s(c),h=0;h0)continue;Tt=Ae.slice(0,1).join("")}return Pe(Tt),Ce+=Tt.length,N=N.slice(Tt.length),N.length}while(!0)}function rr(){return/[^a-fA-F0-9]/.test(Z)?(Pe(N.join("")),G=h,q):(N.push(Z),j=Z,q+1)}function tt(){return Z==="."||/[eE]/.test(Z)?(N.push(Z),G=M,j=Z,q+1):Z==="x"&&N.length===1&&N[0]==="0"?(G=g,N.push(Z),j=Z,q+1):/[^\d]/.test(Z)?(Pe(N.join("")),G=h,q):(N.push(Z),j=Z,q+1)}function je(){return Z==="f"&&(N.push(Z),j=Z,q+=1),/[eE]/.test(Z)||(Z==="-"||Z==="+")&&/[eE]/.test(j)?(N.push(Z),j=Z,q+1):/[^\d]/.test(Z)?(Pe(N.join("")),G=h,q):(N.push(Z),j=Z,q+1)}function Ue(){if(/[^\d\w_]/.test(Z)){var Ae=N.join("");return me[Ae]?G=x:Le[Ae]?G=L:G=T,Pe(N.join("")),G=h,q}return N.push(Z),j=Z,q+1}}},3508:function(i,a,o){var s=o(6852);s=s.slice().filter(function(l){return!/^(gl\_|texture)/.test(l)}),i.exports=s.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(i){i.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(i,a,o){var s=o(620);i.exports=s.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(i){i.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(i){i.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},4905:function(i,a,o){var s=o(5874);i.exports=l;function l(u,c){var f=s(c),h=[];return h=h.concat(f(u)),h=h.concat(f(null)),h}},3236:function(i){i.exports=function(a){typeof a=="string"&&(a=[a]);for(var o=[].slice.call(arguments,1),s=[],l=0;l>1,b=-7,p=l?c-1:0,k=l?-1:1,M=o[s+p];for(p+=k,f=M&(1<<-b)-1,M>>=-b,b+=d;b>0;f=f*256+o[s+p],p+=k,b-=8);for(h=f&(1<<-b)-1,f>>=-b,b+=u;b>0;h=h*256+o[s+p],p+=k,b-=8);if(f===0)f=1-m;else{if(f===v)return h?NaN:(M?-1:1)*(1/0);h=h+Math.pow(2,u),f=f-m}return(M?-1:1)*h*Math.pow(2,f-u)},a.write=function(o,s,l,u,c,f){var h,d,v,m=f*8-c-1,b=(1<>1,k=c===23?Math.pow(2,-24)-Math.pow(2,-77):0,M=u?0:f-1,T=u?1:-1,L=s<0||s===0&&1/s<0?1:0;for(s=Math.abs(s),isNaN(s)||s===1/0?(d=isNaN(s)?1:0,h=b):(h=Math.floor(Math.log(s)/Math.LN2),s*(v=Math.pow(2,-h))<1&&(h--,v*=2),h+p>=1?s+=k/v:s+=k*Math.pow(2,1-p),s*v>=2&&(h++,v/=2),h+p>=b?(d=0,h=b):h+p>=1?(d=(s*v-1)*Math.pow(2,c),h=h+p):(d=s*Math.pow(2,p-1)*Math.pow(2,c),h=0));c>=8;o[l+M]=d&255,M+=T,d/=256,c-=8);for(h=h<0;o[l+M]=h&255,M+=T,h/=256,m-=8);o[l+M-T]|=L*128}},8954:function(i,a,o){"use strict";i.exports=p;var s=o(3250),l=o(6803).Fw;function u(k,M,T){this.vertices=k,this.adjacent=M,this.boundary=T,this.lastVisited=-1}u.prototype.flip=function(){var k=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=k;var M=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=M};function c(k,M,T){this.vertices=k,this.cell=M,this.index=T}function f(k,M){return l(k.vertices,M.vertices)}function h(k){return function(){var M=this.tuple;return k.apply(this,M)}}function d(k){var M=s[k+1];return M||(M=s),h(M)}var v=[];function m(k,M,T){this.dimension=k,this.vertices=M,this.simplices=T,this.interior=T.filter(function(C){return!C.boundary}),this.tuple=new Array(k+1);for(var L=0;L<=k;++L)this.tuple[L]=this.vertices[L];var x=v[k];x||(x=v[k]=d(k)),this.orient=x}var b=m.prototype;b.handleBoundaryDegeneracy=function(k,M){var T=this.dimension,L=this.vertices.length-1,x=this.tuple,C=this.vertices,S=[k];for(k.lastVisited=-L;S.length>0;){k=S.pop();for(var g=k.adjacent,P=0;P<=T;++P){var E=g[P];if(!(!E.boundary||E.lastVisited<=-L)){for(var z=E.vertices,q=0;q<=T;++q){var V=z[q];V<0?x[q]=M:x[q]=C[V]}var G=this.orient();if(G>0)return E;E.lastVisited=-L,G===0&&S.push(E)}}}return null},b.walk=function(k,M){var T=this.vertices.length-1,L=this.dimension,x=this.vertices,C=this.tuple,S=M?this.interior.length*Math.random()|0:this.interior.length-1,g=this.interior[S];e:for(;!g.boundary;){for(var P=g.vertices,E=g.adjacent,z=0;z<=L;++z)C[z]=x[P[z]];g.lastVisited=T;for(var z=0;z<=L;++z){var q=E[z];if(!(q.lastVisited>=T)){var V=C[z];C[z]=k;var G=this.orient();if(C[z]=V,G<0){g=q;continue e}else q.boundary?q.lastVisited=-T:q.lastVisited=T}}return}return g},b.addPeaks=function(k,M){var T=this.vertices.length-1,L=this.dimension,x=this.vertices,C=this.tuple,S=this.interior,g=this.simplices,P=[M];M.lastVisited=T,M.vertices[M.vertices.indexOf(-1)]=T,M.boundary=!1,S.push(M);for(var E=[];P.length>0;){var M=P.pop(),z=M.vertices,q=M.adjacent,V=z.indexOf(T);if(!(V<0)){for(var G=0;G<=L;++G)if(G!==V){var Z=q[G];if(!(!Z.boundary||Z.lastVisited>=T)){var j=Z.vertices;if(Z.lastVisited!==-T){for(var N=0,H=0;H<=L;++H)j[H]<0?(N=H,C[H]=k):C[H]=x[j[H]];var ie=this.orient();if(ie>0){j[N]=T,Z.boundary=!1,S.push(Z),P.push(Z),Z.lastVisited=T;continue}else Z.lastVisited=-T}var ae=Z.adjacent,_e=z.slice(),Ee=q.slice(),Ce=new u(_e,Ee,!0);g.push(Ce);var ge=ae.indexOf(M);if(!(ge<0)){ae[ge]=Ce,Ee[V]=Z,_e[G]=-1,Ee[G]=M,q[G]=Ce,Ce.flip();for(var H=0;H<=L;++H){var re=_e[H];if(!(re<0||re===T)){for(var Se=new Array(L-1),ke=0,be=0;be<=L;++be){var Be=_e[be];Be<0||be===H||(Se[ke++]=Be)}E.push(new c(Se,Ce,H))}}}}}}}E.sort(f);for(var G=0;G+1=0?S[P++]=g[z]:E=z&1;if(E===(k&1)){var q=S[0];S[0]=S[1],S[1]=q}M.push(S)}}return M};function p(k,M){var T=k.length;if(T===0)throw new Error("Must have at least d+1 points");var L=k[0].length;if(T<=L)throw new Error("Must input at least d+1 points");var x=k.slice(0,L+1),C=s.apply(void 0,x);if(C===0)throw new Error("Input not in general position");for(var S=new Array(L+1),g=0;g<=L;++g)S[g]=g;C<0&&(S[0]=1,S[1]=0);for(var P=new u(S,new Array(L+1),!1),E=P.adjacent,z=new Array(L+2),g=0;g<=L;++g){for(var q=S.slice(),V=0;V<=L;++V)V===g&&(q[V]=-1);var G=q[0];q[0]=q[1],q[1]=G;var Z=new u(q,new Array(L+1),!0);E[g]=Z,z[g]=Z}z[L+1]=P;for(var g=0;g<=L;++g)for(var q=E[g].vertices,j=E[g].adjacent,V=0;V<=L;++V){var N=q[V];if(N<0){j[V]=P;continue}for(var H=0;H<=L;++H)E[H].vertices.indexOf(N)<0&&(j[V]=E[H])}for(var ie=new m(L,x,z),ae=!!M,g=L+1;g3*(z+1)?m(this,E):this.left.insert(E):this.left=C([E]);else if(E[0]>this.mid)this.right?4*(this.right.count+1)>3*(z+1)?m(this,E):this.right.insert(E):this.right=C([E]);else{var q=s.ge(this.leftPoints,E,L),V=s.ge(this.rightPoints,E,x);this.leftPoints.splice(q,0,E),this.rightPoints.splice(V,0,E)}},h.remove=function(E){var z=this.count-this.leftPoints;if(E[1]3*(z-1))return b(this,E);var V=this.left.remove(E);return V===c?(this.left=null,this.count-=1,u):(V===u&&(this.count-=1),V)}else if(E[0]>this.mid){if(!this.right)return l;var G=this.left?this.left.count:0;if(4*G>3*(z-1))return b(this,E);var V=this.right.remove(E);return V===c?(this.right=null,this.count-=1,u):(V===u&&(this.count-=1),V)}else{if(this.count===1)return this.leftPoints[0]===E?c:l;if(this.leftPoints.length===1&&this.leftPoints[0]===E){if(this.left&&this.right){for(var Z=this,j=this.left;j.right;)Z=j,j=j.right;if(Z===this)j.right=this.right;else{var N=this.left,V=this.right;Z.count-=j.count,Z.right=j.left,j.left=N,j.right=V}d(this,j),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?d(this,this.left):d(this,this.right);return u}for(var N=s.ge(this.leftPoints,E,L);N=0&&E[V][1]>=z;--V){var G=q(E[V]);if(G)return G}}function M(E,z){for(var q=0;qthis.mid){if(this.right){var q=this.right.queryPoint(E,z);if(q)return q}return k(this.rightPoints,E,z)}else return M(this.leftPoints,z)},h.queryInterval=function(E,z,q){if(Ethis.mid&&this.right){var V=this.right.queryInterval(E,z,q);if(V)return V}return zthis.mid?k(this.rightPoints,E,q):M(this.leftPoints,q)};function T(E,z){return E-z}function L(E,z){var q=E[0]-z[0];return q||E[1]-z[1]}function x(E,z){var q=E[1]-z[1];return q||E[0]-z[0]}function C(E){if(E.length===0)return null;for(var z=[],q=0;q>1],G=[],Z=[],j=[],q=0;q13)&&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}},395:function(i){function a(o,s,l){return o*(1-l)+s*l}i.exports=a},2652:function(i,a,o){var s=o(4335),l=o(6864),u=o(1903),c=o(9921),f=o(7608),h=o(5665),d={length:o(1387),normalize:o(3536),dot:o(244),cross:o(5911)},v=l(),m=l(),b=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],k=[0,0,0];i.exports=function(C,S,g,P,E,z){if(S||(S=[0,0,0]),g||(g=[0,0,0]),P||(P=[0,0,0]),E||(E=[0,0,0,1]),z||(z=[0,0,0,1]),!s(v,C)||(u(m,v),m[3]=0,m[7]=0,m[11]=0,m[15]=1,Math.abs(c(m)<1e-8)))return!1;var q=v[3],V=v[7],G=v[11],Z=v[12],j=v[13],N=v[14],H=v[15];if(q!==0||V!==0||G!==0){b[0]=q,b[1]=V,b[2]=G,b[3]=H;var ie=f(m,m);if(!ie)return!1;h(m,m),M(E,b,m)}else E[0]=E[1]=E[2]=0,E[3]=1;if(S[0]=Z,S[1]=j,S[2]=N,T(p,v),g[0]=d.length(p[0]),d.normalize(p[0],p[0]),P[0]=d.dot(p[0],p[1]),L(p[1],p[1],p[0],1,-P[0]),g[1]=d.length(p[1]),d.normalize(p[1],p[1]),P[0]/=g[1],P[1]=d.dot(p[0],p[2]),L(p[2],p[2],p[0],1,-P[1]),P[2]=d.dot(p[1],p[2]),L(p[2],p[2],p[1],1,-P[2]),g[2]=d.length(p[2]),d.normalize(p[2],p[2]),P[1]/=g[2],P[2]/=g[2],d.cross(k,p[1],p[2]),d.dot(p[0],k)<0)for(var ae=0;ae<3;ae++)g[ae]*=-1,p[ae][0]*=-1,p[ae][1]*=-1,p[ae][2]*=-1;return z[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),z[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),z[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),z[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(z[0]=-z[0]),p[0][2]>p[2][0]&&(z[1]=-z[1]),p[1][0]>p[0][1]&&(z[2]=-z[2]),!0};function M(x,C,S){var g=C[0],P=C[1],E=C[2],z=C[3];return x[0]=S[0]*g+S[4]*P+S[8]*E+S[12]*z,x[1]=S[1]*g+S[5]*P+S[9]*E+S[13]*z,x[2]=S[2]*g+S[6]*P+S[10]*E+S[14]*z,x[3]=S[3]*g+S[7]*P+S[11]*E+S[15]*z,x}function T(x,C){x[0][0]=C[0],x[0][1]=C[1],x[0][2]=C[2],x[1][0]=C[4],x[1][1]=C[5],x[1][2]=C[6],x[2][0]=C[8],x[2][1]=C[9],x[2][2]=C[10]}function L(x,C,S,g,P){x[0]=C[0]*g+S[0]*P,x[1]=C[1]*g+S[1]*P,x[2]=C[2]*g+S[2]*P}},4335:function(i){i.exports=function(o,s){var l=s[15];if(l===0)return!1;for(var u=1/l,c=0;c<16;c++)o[c]=s[c]*u;return!0}},7442:function(i,a,o){var s=o(6658),l=o(7182),u=o(2652),c=o(9921),f=o(8648),h=b(),d=b(),v=b();i.exports=m;function m(M,T,L,x){if(c(T)===0||c(L)===0)return!1;var C=u(T,h.translate,h.scale,h.skew,h.perspective,h.quaternion),S=u(L,d.translate,d.scale,d.skew,d.perspective,d.quaternion);return!C||!S?!1:(s(v.translate,h.translate,d.translate,x),s(v.skew,h.skew,d.skew,x),s(v.scale,h.scale,d.scale,x),s(v.perspective,h.perspective,d.perspective,x),f(v.quaternion,h.quaternion,d.quaternion,x),l(M,v.translate,v.scale,v.skew,v.perspective,v.quaternion),!0)}function b(){return{translate:p(),scale:p(1),skew:p(),perspective:k(),quaternion:k()}}function p(M){return[M||0,M||0,M||0]}function k(){return[0,0,0,1]}},7182:function(i,a,o){var s={identity:o(7894),translate:o(7656),multiply:o(6760),create:o(6864),scale:o(2504),fromRotationTranslation:o(6743)},l=s.create(),u=s.create();i.exports=function(f,h,d,v,m,b){return s.identity(f),s.fromRotationTranslation(f,b,h),f[3]=m[0],f[7]=m[1],f[11]=m[2],f[15]=m[3],s.identity(u),v[2]!==0&&(u[9]=v[2],s.multiply(f,f,u)),v[1]!==0&&(u[9]=0,u[8]=v[1],s.multiply(f,f,u)),v[0]!==0&&(u[8]=0,u[4]=v[0],s.multiply(f,f,u)),s.scale(f,f,d),f}},1811:function(i,a,o){"use strict";var s=o(2478),l=o(7442),u=o(7608),c=o(5567),f=o(2408),h=o(7089),d=o(6582),v=o(7656),m=o(2504),b=o(3536),p=[0,0,0];i.exports=L;function k(x){this._components=x.slice(),this._time=[0],this.prevMatrix=x.slice(),this.nextMatrix=x.slice(),this.computedMatrix=x.slice(),this.computedInverse=x.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 M=k.prototype;M.recalcMatrix=function(x){var C=this._time,S=s.le(C,x),g=this.computedMatrix;if(!(S<0)){var P=this._components;if(S===C.length-1)for(var E=16*S,z=0;z<16;++z)g[z]=P[E++];else{for(var q=C[S+1]-C[S],E=16*S,V=this.prevMatrix,G=!0,z=0;z<16;++z)V[z]=P[E++];for(var Z=this.nextMatrix,z=0;z<16;++z)Z[z]=P[E++],G=G&&V[z]===Z[z];if(q<1e-6||G)for(var z=0;z<16;++z)g[z]=V[z];else l(g,V,Z,(x-C[S])/q)}var j=this.computedUp;j[0]=g[1],j[1]=g[5],j[2]=g[9],b(j,j);var N=this.computedInverse;u(N,g);var H=this.computedEye,ie=N[15];H[0]=N[12]/ie,H[1]=N[13]/ie,H[2]=N[14]/ie;for(var ae=this.computedCenter,_e=Math.exp(this.computedRadius[0]),z=0;z<3;++z)ae[z]=H[z]-g[2+4*z]*_e}},M.idle=function(x){if(!(x1&&s(u[d[p-2]],u[d[p-1]],b)<=0;)p-=1,d.pop();for(d.push(m),p=v.length;p>1&&s(u[v[p-2]],u[v[p-1]],b)>=0;)p-=1,v.pop();v.push(m)}for(var k=new Array(v.length+d.length-2),M=0,f=0,T=d.length;f0;--L)k[M++]=v[L];return k}},351:function(i,a,o){"use strict";i.exports=l;var s=o(4687);function l(u,c){c||(c=u,u=window);var f=0,h=0,d=0,v={shift:!1,alt:!1,control:!1,meta:!1},m=!1;function b(E){var z=!1;return"altKey"in E&&(z=z||E.altKey!==v.alt,v.alt=!!E.altKey),"shiftKey"in E&&(z=z||E.shiftKey!==v.shift,v.shift=!!E.shiftKey),"ctrlKey"in E&&(z=z||E.ctrlKey!==v.control,v.control=!!E.ctrlKey),"metaKey"in E&&(z=z||E.metaKey!==v.meta,v.meta=!!E.metaKey),z}function p(E,z){var q=s.x(z),V=s.y(z);"buttons"in z&&(E=z.buttons|0),(E!==f||q!==h||V!==d||b(z))&&(f=E|0,h=q||0,d=V||0,c&&c(f,h,d,v))}function k(E){p(0,E)}function M(){(f||h||d||v.shift||v.alt||v.meta||v.control)&&(h=d=0,f=0,v.shift=v.alt=v.control=v.meta=!1,c&&c(0,0,0,v))}function T(E){b(E)&&c&&c(f,h,d,v)}function L(E){s.buttons(E)===0?p(0,E):p(f,E)}function x(E){p(f|s.buttons(E),E)}function C(E){p(f&~s.buttons(E),E)}function S(){m||(m=!0,u.addEventListener("mousemove",L),u.addEventListener("mousedown",x),u.addEventListener("mouseup",C),u.addEventListener("mouseleave",k),u.addEventListener("mouseenter",k),u.addEventListener("mouseout",k),u.addEventListener("mouseover",k),u.addEventListener("blur",M),u.addEventListener("keyup",T),u.addEventListener("keydown",T),u.addEventListener("keypress",T),u!==window&&(window.addEventListener("blur",M),window.addEventListener("keyup",T),window.addEventListener("keydown",T),window.addEventListener("keypress",T)))}function g(){m&&(m=!1,u.removeEventListener("mousemove",L),u.removeEventListener("mousedown",x),u.removeEventListener("mouseup",C),u.removeEventListener("mouseleave",k),u.removeEventListener("mouseenter",k),u.removeEventListener("mouseout",k),u.removeEventListener("mouseover",k),u.removeEventListener("blur",M),u.removeEventListener("keyup",T),u.removeEventListener("keydown",T),u.removeEventListener("keypress",T),u!==window&&(window.removeEventListener("blur",M),window.removeEventListener("keyup",T),window.removeEventListener("keydown",T),window.removeEventListener("keypress",T)))}S();var P={element:u};return Object.defineProperties(P,{enabled:{get:function(){return m},set:function(E){E?S():g()},enumerable:!0},buttons:{get:function(){return f},enumerable:!0},x:{get:function(){return h},enumerable:!0},y:{get:function(){return d},enumerable:!0},mods:{get:function(){return v},enumerable:!0}}),P}},24:function(i){var a={left:0,top:0};i.exports=o;function o(l,u,c){u=u||l.currentTarget||l.srcElement,Array.isArray(c)||(c=[0,0]);var f=l.clientX||0,h=l.clientY||0,d=s(u);return c[0]=f-d.left,c[1]=h-d.top,c}function s(l){return l===window||l===document||l===document.body?a:l.getBoundingClientRect()}},4687:function(i,a){"use strict";function o(c){if(typeof c=="object"){if("buttons"in c)return c.buttons;if("which"in c){var f=c.which;if(f===2)return 4;if(f===3)return 2;if(f>0)return 1<=0)return 1<0){if(Ee=1,re[ke++]=v(S[z],M,T,L),z+=ie,x>0)for(_e=1,q=S[z],be=re[ke]=v(q,M,T,L),me=re[ke+Be],He=re[ke+Pe],Ht=re[ke+lt],(be!==me||be!==He||be!==Ht)&&(G=S[z+V],j=S[z+Z],H=S[z+N],h(_e,Ee,q,G,j,H,be,me,He,Ht,M,T,L),at=Se[ke]=Ce++),ke+=1,z+=ie,_e=2;_e0)for(_e=1,q=S[z],be=re[ke]=v(q,M,T,L),me=re[ke+Be],He=re[ke+Pe],Ht=re[ke+lt],(be!==me||be!==He||be!==Ht)&&(G=S[z+V],j=S[z+Z],H=S[z+N],h(_e,Ee,q,G,j,H,be,me,He,Ht,M,T,L),at=Se[ke]=Ce++,Ht!==He&&d(Se[ke+Pe],at,j,H,He,Ht,M,T,L)),ke+=1,z+=ie,_e=2;_e0){if(_e=1,re[ke++]=v(S[z],M,T,L),z+=ie,C>0)for(Ee=1,q=S[z],be=re[ke]=v(q,M,T,L),He=re[ke+Pe],me=re[ke+Be],Ht=re[ke+lt],(be!==He||be!==me||be!==Ht)&&(G=S[z+V],j=S[z+Z],H=S[z+N],h(_e,Ee,q,G,j,H,be,He,me,Ht,M,T,L),at=Se[ke]=Ce++),ke+=1,z+=ie,Ee=2;Ee0)for(Ee=1,q=S[z],be=re[ke]=v(q,M,T,L),He=re[ke+Pe],me=re[ke+Be],Ht=re[ke+lt],(be!==He||be!==me||be!==Ht)&&(G=S[z+V],j=S[z+Z],H=S[z+N],h(_e,Ee,q,G,j,H,be,He,me,Ht,M,T,L),at=Se[ke]=Ce++,Ht!==He&&d(Se[ke+Pe],at,H,G,Ht,He,M,T,L)),ke+=1,z+=ie,Ee=2;Ee 0"),typeof f.vertex!="function"&&h("Must specify vertex creation function"),typeof f.cell!="function"&&h("Must specify cell creation function"),typeof f.phase!="function"&&h("Must specify phase function");for(var b=f.getters||[],p=new Array(v),k=0;k=0?p[k]=!0:p[k]=!1;return u(f.vertex,f.cell,f.phase,m,d,p)}},6199:function(i,a,o){"use strict";var s=o(1338),l={zero:function(L,x,C,S){var g=L[0],P=C[0];S|=0;var E=0,z=P;for(E=0;E2&&E[1]>2&&S(P.pick(-1,-1).lo(1,1).hi(E[0]-2,E[1]-2),g.pick(-1,-1,0).lo(1,1).hi(E[0]-2,E[1]-2),g.pick(-1,-1,1).lo(1,1).hi(E[0]-2,E[1]-2)),E[1]>2&&(C(P.pick(0,-1).lo(1).hi(E[1]-2),g.pick(0,-1,1).lo(1).hi(E[1]-2)),x(g.pick(0,-1,0).lo(1).hi(E[1]-2))),E[1]>2&&(C(P.pick(E[0]-1,-1).lo(1).hi(E[1]-2),g.pick(E[0]-1,-1,1).lo(1).hi(E[1]-2)),x(g.pick(E[0]-1,-1,0).lo(1).hi(E[1]-2))),E[0]>2&&(C(P.pick(-1,0).lo(1).hi(E[0]-2),g.pick(-1,0,0).lo(1).hi(E[0]-2)),x(g.pick(-1,0,1).lo(1).hi(E[0]-2))),E[0]>2&&(C(P.pick(-1,E[1]-1).lo(1).hi(E[0]-2),g.pick(-1,E[1]-1,0).lo(1).hi(E[0]-2)),x(g.pick(-1,E[1]-1,1).lo(1).hi(E[0]-2))),g.set(0,0,0,0),g.set(0,0,1,0),g.set(E[0]-1,0,0,0),g.set(E[0]-1,0,1,0),g.set(0,E[1]-1,0,0),g.set(0,E[1]-1,1,0),g.set(E[0]-1,E[1]-1,0,0),g.set(E[0]-1,E[1]-1,1,0),g}}function T(L){var x=L.join(),E=v[x];if(E)return E;for(var C=L.length,S=[b,p],g=1;g<=C;++g)S.push(k(g));var P=M,E=P.apply(void 0,S);return v[x]=E,E}i.exports=function(x,C,S){if(Array.isArray(S)||(typeof S=="string"?S=s(C.dimension,S):S=s(C.dimension,"clamp")),C.size===0)return x;if(C.dimension===0)return x.set(0),x;var g=T(S);return g(x,C)}},4317:function(i){"use strict";function a(c,f){var h=Math.floor(f),d=f-h,v=0<=h&&h0;){j<64?(x=j,j=0):(x=64,j-=64);for(var N=v[1]|0;N>0;){N<64?(C=N,N=0):(C=64,N-=64),p=G+j*g+N*P,T=Z+j*z+N*q;var H=0,ie=0,ae=0,_e=E,Ee=g-S*E,Ce=P-x*g,ge=V,re=z-S*V,Se=q-x*z;for(ae=0;ae0;){q<64?(x=q,q=0):(x=64,q-=64);for(var V=v[0]|0;V>0;){V<64?(L=V,V=0):(L=64,V-=64),p=E+q*S+V*C,T=z+q*P+V*g;var G=0,Z=0,j=S,N=C-x*S,H=P,ie=g-x*P;for(Z=0;Z0;){Z<64?(C=Z,Z=0):(C=64,Z-=64);for(var j=v[0]|0;j>0;){j<64?(L=j,j=0):(L=64,j-=64);for(var N=v[1]|0;N>0;){N<64?(x=N,N=0):(x=64,N-=64),p=V+Z*P+j*S+N*g,T=G+Z*q+j*E+N*z;var H=0,ie=0,ae=0,_e=P,Ee=S-C*P,Ce=g-L*S,ge=q,re=E-C*q,Se=z-L*E;for(ae=0;aek;){H=0,ie=G-x;t:for(j=0;j_e)break t;ie+=E,H+=z}for(H=G,ie=G-x,j=0;j>1,N=j-V,H=j+V,ie=G,ae=N,_e=j,Ee=H,Ce=Z,ge=M+1,re=T-1,Se=!0,ke,be,Be,Le,me,Pe,ce,He,lt,mt=0,Ht=0,at=0,ct,ar,Vt,rr,tt,je,Ue,Ae,rt,St,Tt,dt,Et,pt,jt,or,mr=P,Ar=b(mr),ei=b(mr);ar=C*ie,Vt=C*ae,or=x;e:for(ct=0;ct0){be=ie,ie=ae,ae=be;break e}if(at<0)break e;or+=z}ar=C*Ee,Vt=C*Ce,or=x;e:for(ct=0;ct0){be=Ee,Ee=Ce,Ce=be;break e}if(at<0)break e;or+=z}ar=C*ie,Vt=C*_e,or=x;e:for(ct=0;ct0){be=ie,ie=_e,_e=be;break e}if(at<0)break e;or+=z}ar=C*ae,Vt=C*_e,or=x;e:for(ct=0;ct0){be=ae,ae=_e,_e=be;break e}if(at<0)break e;or+=z}ar=C*ie,Vt=C*Ee,or=x;e:for(ct=0;ct0){be=ie,ie=Ee,Ee=be;break e}if(at<0)break e;or+=z}ar=C*_e,Vt=C*Ee,or=x;e:for(ct=0;ct0){be=_e,_e=Ee,Ee=be;break e}if(at<0)break e;or+=z}ar=C*ae,Vt=C*Ce,or=x;e:for(ct=0;ct0){be=ae,ae=Ce,Ce=be;break e}if(at<0)break e;or+=z}ar=C*ae,Vt=C*_e,or=x;e:for(ct=0;ct0){be=ae,ae=_e,_e=be;break e}if(at<0)break e;or+=z}ar=C*Ee,Vt=C*Ce,or=x;e:for(ct=0;ct0){be=Ee,Ee=Ce,Ce=be;break e}if(at<0)break e;or+=z}for(ar=C*ie,Vt=C*ae,rr=C*_e,tt=C*Ee,je=C*Ce,Ue=C*G,Ae=C*j,rt=C*Z,jt=0,or=x,ct=0;ct0)re--;else if(at<0){for(ar=C*Pe,Vt=C*ge,rr=C*re,or=x,ct=0;ct0)for(;;){ce=x+re*C,jt=0;e:for(ct=0;ct0){if(--reZ){e:for(;;){for(ce=x+ge*C,jt=0,or=x,ct=0;ct1&&k?T(p,k[0],k[1]):T(p)}var d={"uint32,1,0":function(m,b){return function(p){var k=p.data,M=p.offset|0,T=p.shape,L=p.stride,x=L[0]|0,C=T[0]|0,S=L[1]|0,g=T[1]|0,P=S,E=S,z=1;C<=32?m(0,C-1,k,M,x,S,C,g,P,E,z):b(0,C-1,k,M,x,S,C,g,P,E,z)}}};function v(m,b){var p=[b,m].join(","),k=d[p],M=c(m,b),T=h(m,b,M);return k(M,T)}i.exports=v},446:function(i,a,o){"use strict";var s=o(7640),l={};function u(c){var f=c.order,h=c.dtype,d=[f,h],v=d.join(":"),m=l[v];return m||(l[v]=m=s(f,h)),m(c),c}i.exports=u},9618:function(i,a,o){var s=o(7163),l=typeof Float64Array!="undefined";function u(b,p){return b[0]-p[0]}function c(){var b=this.stride,p=new Array(b.length),k;for(k=0;k=0&&(S=x|0,C+=P*S,g-=S),new M(this.data,g,P,C)},T.step=function(x){var C=this.shape[0],S=this.stride[0],g=this.offset,P=0,E=Math.ceil;return typeof x=="number"&&(P=x|0,P<0?(g+=S*(C-1),C=E(-C/P)):C=E(C/P),S*=P),new M(this.data,C,S,g)},T.transpose=function(x){x=x===void 0?0:x|0;var C=this.shape,S=this.stride;return new M(this.data,C[x],S[x],this.offset)},T.pick=function(x){var C=[],S=[],g=this.offset;typeof x=="number"&&x>=0?g=g+this.stride[0]*x|0:(C.push(this.shape[0]),S.push(this.stride[0]));var P=p[C.length+1];return P(this.data,C,S,g)},function(x,C,S,g){return new M(x,C[0],S[0],g)}},2:function(b,p,k){function M(L,x,C,S,g,P){this.data=L,this.shape=[x,C],this.stride=[S,g],this.offset=P|0}var T=M.prototype;return T.dtype=b,T.dimension=2,Object.defineProperty(T,"size",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(T,"order",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),T.set=function(x,C,S){return b==="generic"?this.data.set(this.offset+this.stride[0]*x+this.stride[1]*C,S):this.data[this.offset+this.stride[0]*x+this.stride[1]*C]=S},T.get=function(x,C){return b==="generic"?this.data.get(this.offset+this.stride[0]*x+this.stride[1]*C):this.data[this.offset+this.stride[0]*x+this.stride[1]*C]},T.index=function(x,C){return this.offset+this.stride[0]*x+this.stride[1]*C},T.hi=function(x,C){return new M(this.data,typeof x!="number"||x<0?this.shape[0]:x|0,typeof C!="number"||C<0?this.shape[1]:C|0,this.stride[0],this.stride[1],this.offset)},T.lo=function(x,C){var S=this.offset,g=0,P=this.shape[0],E=this.shape[1],z=this.stride[0],q=this.stride[1];return typeof x=="number"&&x>=0&&(g=x|0,S+=z*g,P-=g),typeof C=="number"&&C>=0&&(g=C|0,S+=q*g,E-=g),new M(this.data,P,E,z,q,S)},T.step=function(x,C){var S=this.shape[0],g=this.shape[1],P=this.stride[0],E=this.stride[1],z=this.offset,q=0,V=Math.ceil;return typeof x=="number"&&(q=x|0,q<0?(z+=P*(S-1),S=V(-S/q)):S=V(S/q),P*=q),typeof C=="number"&&(q=C|0,q<0?(z+=E*(g-1),g=V(-g/q)):g=V(g/q),E*=q),new M(this.data,S,g,P,E,z)},T.transpose=function(x,C){x=x===void 0?0:x|0,C=C===void 0?1:C|0;var S=this.shape,g=this.stride;return new M(this.data,S[x],S[C],g[x],g[C],this.offset)},T.pick=function(x,C){var S=[],g=[],P=this.offset;typeof x=="number"&&x>=0?P=P+this.stride[0]*x|0:(S.push(this.shape[0]),g.push(this.stride[0])),typeof C=="number"&&C>=0?P=P+this.stride[1]*C|0:(S.push(this.shape[1]),g.push(this.stride[1]));var E=p[S.length+1];return E(this.data,S,g,P)},function(x,C,S,g){return new M(x,C[0],C[1],S[0],S[1],g)}},3:function(b,p,k){function M(L,x,C,S,g,P,E,z){this.data=L,this.shape=[x,C,S],this.stride=[g,P,E],this.offset=z|0}var T=M.prototype;return T.dtype=b,T.dimension=3,Object.defineProperty(T,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(T,"order",{get:function(){var x=Math.abs(this.stride[0]),C=Math.abs(this.stride[1]),S=Math.abs(this.stride[2]);return x>C?C>S?[2,1,0]:x>S?[1,2,0]:[1,0,2]:x>S?[2,0,1]:S>C?[0,1,2]:[0,2,1]}}),T.set=function(x,C,S,g){return b==="generic"?this.data.set(this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*S,g):this.data[this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*S]=g},T.get=function(x,C,S){return b==="generic"?this.data.get(this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*S):this.data[this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*S]},T.index=function(x,C,S){return this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*S},T.hi=function(x,C,S){return new M(this.data,typeof x!="number"||x<0?this.shape[0]:x|0,typeof C!="number"||C<0?this.shape[1]:C|0,typeof S!="number"||S<0?this.shape[2]:S|0,this.stride[0],this.stride[1],this.stride[2],this.offset)},T.lo=function(x,C,S){var g=this.offset,P=0,E=this.shape[0],z=this.shape[1],q=this.shape[2],V=this.stride[0],G=this.stride[1],Z=this.stride[2];return typeof x=="number"&&x>=0&&(P=x|0,g+=V*P,E-=P),typeof C=="number"&&C>=0&&(P=C|0,g+=G*P,z-=P),typeof S=="number"&&S>=0&&(P=S|0,g+=Z*P,q-=P),new M(this.data,E,z,q,V,G,Z,g)},T.step=function(x,C,S){var g=this.shape[0],P=this.shape[1],E=this.shape[2],z=this.stride[0],q=this.stride[1],V=this.stride[2],G=this.offset,Z=0,j=Math.ceil;return typeof x=="number"&&(Z=x|0,Z<0?(G+=z*(g-1),g=j(-g/Z)):g=j(g/Z),z*=Z),typeof C=="number"&&(Z=C|0,Z<0?(G+=q*(P-1),P=j(-P/Z)):P=j(P/Z),q*=Z),typeof S=="number"&&(Z=S|0,Z<0?(G+=V*(E-1),E=j(-E/Z)):E=j(E/Z),V*=Z),new M(this.data,g,P,E,z,q,V,G)},T.transpose=function(x,C,S){x=x===void 0?0:x|0,C=C===void 0?1:C|0,S=S===void 0?2:S|0;var g=this.shape,P=this.stride;return new M(this.data,g[x],g[C],g[S],P[x],P[C],P[S],this.offset)},T.pick=function(x,C,S){var g=[],P=[],E=this.offset;typeof x=="number"&&x>=0?E=E+this.stride[0]*x|0:(g.push(this.shape[0]),P.push(this.stride[0])),typeof C=="number"&&C>=0?E=E+this.stride[1]*C|0:(g.push(this.shape[1]),P.push(this.stride[1])),typeof S=="number"&&S>=0?E=E+this.stride[2]*S|0:(g.push(this.shape[2]),P.push(this.stride[2]));var z=p[g.length+1];return z(this.data,g,P,E)},function(x,C,S,g){return new M(x,C[0],C[1],C[2],S[0],S[1],S[2],g)}},4:function(b,p,k){function M(L,x,C,S,g,P,E,z,q,V){this.data=L,this.shape=[x,C,S,g],this.stride=[P,E,z,q],this.offset=V|0}var T=M.prototype;return T.dtype=b,T.dimension=4,Object.defineProperty(T,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(T,"order",{get:k}),T.set=function(x,C,S,g,P){return b==="generic"?this.data.set(this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*S+this.stride[3]*g,P):this.data[this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*S+this.stride[3]*g]=P},T.get=function(x,C,S,g){return b==="generic"?this.data.get(this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*S+this.stride[3]*g):this.data[this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*S+this.stride[3]*g]},T.index=function(x,C,S,g){return this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*S+this.stride[3]*g},T.hi=function(x,C,S,g){return new M(this.data,typeof x!="number"||x<0?this.shape[0]:x|0,typeof C!="number"||C<0?this.shape[1]:C|0,typeof S!="number"||S<0?this.shape[2]:S|0,typeof g!="number"||g<0?this.shape[3]:g|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},T.lo=function(x,C,S,g){var P=this.offset,E=0,z=this.shape[0],q=this.shape[1],V=this.shape[2],G=this.shape[3],Z=this.stride[0],j=this.stride[1],N=this.stride[2],H=this.stride[3];return typeof x=="number"&&x>=0&&(E=x|0,P+=Z*E,z-=E),typeof C=="number"&&C>=0&&(E=C|0,P+=j*E,q-=E),typeof S=="number"&&S>=0&&(E=S|0,P+=N*E,V-=E),typeof g=="number"&&g>=0&&(E=g|0,P+=H*E,G-=E),new M(this.data,z,q,V,G,Z,j,N,H,P)},T.step=function(x,C,S,g){var P=this.shape[0],E=this.shape[1],z=this.shape[2],q=this.shape[3],V=this.stride[0],G=this.stride[1],Z=this.stride[2],j=this.stride[3],N=this.offset,H=0,ie=Math.ceil;return typeof x=="number"&&(H=x|0,H<0?(N+=V*(P-1),P=ie(-P/H)):P=ie(P/H),V*=H),typeof C=="number"&&(H=C|0,H<0?(N+=G*(E-1),E=ie(-E/H)):E=ie(E/H),G*=H),typeof S=="number"&&(H=S|0,H<0?(N+=Z*(z-1),z=ie(-z/H)):z=ie(z/H),Z*=H),typeof g=="number"&&(H=g|0,H<0?(N+=j*(q-1),q=ie(-q/H)):q=ie(q/H),j*=H),new M(this.data,P,E,z,q,V,G,Z,j,N)},T.transpose=function(x,C,S,g){x=x===void 0?0:x|0,C=C===void 0?1:C|0,S=S===void 0?2:S|0,g=g===void 0?3:g|0;var P=this.shape,E=this.stride;return new M(this.data,P[x],P[C],P[S],P[g],E[x],E[C],E[S],E[g],this.offset)},T.pick=function(x,C,S,g){var P=[],E=[],z=this.offset;typeof x=="number"&&x>=0?z=z+this.stride[0]*x|0:(P.push(this.shape[0]),E.push(this.stride[0])),typeof C=="number"&&C>=0?z=z+this.stride[1]*C|0:(P.push(this.shape[1]),E.push(this.stride[1])),typeof S=="number"&&S>=0?z=z+this.stride[2]*S|0:(P.push(this.shape[2]),E.push(this.stride[2])),typeof g=="number"&&g>=0?z=z+this.stride[3]*g|0:(P.push(this.shape[3]),E.push(this.stride[3]));var q=p[P.length+1];return q(this.data,P,E,z)},function(x,C,S,g){return new M(x,C[0],C[1],C[2],C[3],S[0],S[1],S[2],S[3],g)}},5:function(p,k,M){function T(x,C,S,g,P,E,z,q,V,G,Z,j){this.data=x,this.shape=[C,S,g,P,E],this.stride=[z,q,V,G,Z],this.offset=j|0}var L=T.prototype;return L.dtype=p,L.dimension=5,Object.defineProperty(L,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(L,"order",{get:M}),L.set=function(C,S,g,P,E,z){return p==="generic"?this.data.set(this.offset+this.stride[0]*C+this.stride[1]*S+this.stride[2]*g+this.stride[3]*P+this.stride[4]*E,z):this.data[this.offset+this.stride[0]*C+this.stride[1]*S+this.stride[2]*g+this.stride[3]*P+this.stride[4]*E]=z},L.get=function(C,S,g,P,E){return p==="generic"?this.data.get(this.offset+this.stride[0]*C+this.stride[1]*S+this.stride[2]*g+this.stride[3]*P+this.stride[4]*E):this.data[this.offset+this.stride[0]*C+this.stride[1]*S+this.stride[2]*g+this.stride[3]*P+this.stride[4]*E]},L.index=function(C,S,g,P,E){return this.offset+this.stride[0]*C+this.stride[1]*S+this.stride[2]*g+this.stride[3]*P+this.stride[4]*E},L.hi=function(C,S,g,P,E){return new T(this.data,typeof C!="number"||C<0?this.shape[0]:C|0,typeof S!="number"||S<0?this.shape[1]:S|0,typeof g!="number"||g<0?this.shape[2]:g|0,typeof P!="number"||P<0?this.shape[3]:P|0,typeof E!="number"||E<0?this.shape[4]:E|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},L.lo=function(C,S,g,P,E){var z=this.offset,q=0,V=this.shape[0],G=this.shape[1],Z=this.shape[2],j=this.shape[3],N=this.shape[4],H=this.stride[0],ie=this.stride[1],ae=this.stride[2],_e=this.stride[3],Ee=this.stride[4];return typeof C=="number"&&C>=0&&(q=C|0,z+=H*q,V-=q),typeof S=="number"&&S>=0&&(q=S|0,z+=ie*q,G-=q),typeof g=="number"&&g>=0&&(q=g|0,z+=ae*q,Z-=q),typeof P=="number"&&P>=0&&(q=P|0,z+=_e*q,j-=q),typeof E=="number"&&E>=0&&(q=E|0,z+=Ee*q,N-=q),new T(this.data,V,G,Z,j,N,H,ie,ae,_e,Ee,z)},L.step=function(C,S,g,P,E){var z=this.shape[0],q=this.shape[1],V=this.shape[2],G=this.shape[3],Z=this.shape[4],j=this.stride[0],N=this.stride[1],H=this.stride[2],ie=this.stride[3],ae=this.stride[4],_e=this.offset,Ee=0,Ce=Math.ceil;return typeof C=="number"&&(Ee=C|0,Ee<0?(_e+=j*(z-1),z=Ce(-z/Ee)):z=Ce(z/Ee),j*=Ee),typeof S=="number"&&(Ee=S|0,Ee<0?(_e+=N*(q-1),q=Ce(-q/Ee)):q=Ce(q/Ee),N*=Ee),typeof g=="number"&&(Ee=g|0,Ee<0?(_e+=H*(V-1),V=Ce(-V/Ee)):V=Ce(V/Ee),H*=Ee),typeof P=="number"&&(Ee=P|0,Ee<0?(_e+=ie*(G-1),G=Ce(-G/Ee)):G=Ce(G/Ee),ie*=Ee),typeof E=="number"&&(Ee=E|0,Ee<0?(_e+=ae*(Z-1),Z=Ce(-Z/Ee)):Z=Ce(Z/Ee),ae*=Ee),new T(this.data,z,q,V,G,Z,j,N,H,ie,ae,_e)},L.transpose=function(C,S,g,P,E){C=C===void 0?0:C|0,S=S===void 0?1:S|0,g=g===void 0?2:g|0,P=P===void 0?3:P|0,E=E===void 0?4:E|0;var z=this.shape,q=this.stride;return new T(this.data,z[C],z[S],z[g],z[P],z[E],q[C],q[S],q[g],q[P],q[E],this.offset)},L.pick=function(C,S,g,P,E){var z=[],q=[],V=this.offset;typeof C=="number"&&C>=0?V=V+this.stride[0]*C|0:(z.push(this.shape[0]),q.push(this.stride[0])),typeof S=="number"&&S>=0?V=V+this.stride[1]*S|0:(z.push(this.shape[1]),q.push(this.stride[1])),typeof g=="number"&&g>=0?V=V+this.stride[2]*g|0:(z.push(this.shape[2]),q.push(this.stride[2])),typeof P=="number"&&P>=0?V=V+this.stride[3]*P|0:(z.push(this.shape[3]),q.push(this.stride[3])),typeof E=="number"&&E>=0?V=V+this.stride[4]*E|0:(z.push(this.shape[4]),q.push(this.stride[4]));var G=k[z.length+1];return G(this.data,z,q,V)},function(C,S,g,P){return new T(C,S[0],S[1],S[2],S[3],S[4],g[0],g[1],g[2],g[3],g[4],P)}}};function h(b,p){var k=p===-1?"T":String(p),M=f[k];return p===-1?M(b):p===0?M(b,v[b][0]):M(b,v[b],c)}function d(b){if(s(b))return"buffer";if(l)switch(Object.prototype.toString.call(b)){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(b)?"array":"generic"}var v={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};function m(b,p,k,M){if(b===void 0){var g=v.array[0];return g([])}else typeof b=="number"&&(b=[b]);p===void 0&&(p=[b.length]);var T=p.length;if(k===void 0){k=new Array(T);for(var L=T-1,x=1;L>=0;--L)k[L]=x,x*=p[L]}if(M===void 0){M=0;for(var L=0;L>>0;i.exports=c;function c(f,h){if(isNaN(f)||isNaN(h))return NaN;if(f===h)return f;if(f===0)return h<0?-l:l;var d=s.hi(f),v=s.lo(f);return h>f==f>0?v===u?(d+=1,v=0):v+=1:v===0?(v=u,d-=1):v-=1,s.pack(v,d)}},8406:function(i,a){var o=1e-6,s=1e-6;a.vertexNormals=function(l,u,c){for(var f=u.length,h=new Array(f),d=c===void 0?o:c,v=0;vd)for(var z=h[p],q=1/Math.sqrt(S*P),E=0;E<3;++E){var V=(E+1)%3,G=(E+2)%3;z[E]+=q*(g[V]*C[G]-g[G]*C[V])}}for(var v=0;vd)for(var q=1/Math.sqrt(Z),E=0;E<3;++E)z[E]*=q;else for(var E=0;E<3;++E)z[E]=0}return h},a.faceNormals=function(l,u,c){for(var f=l.length,h=new Array(f),d=c===void 0?s:c,v=0;vd?L=1/Math.sqrt(L):L=0;for(var p=0;p<3;++p)T[p]*=L;h[v]=T}return h}},4081:function(i){"use strict";i.exports=a;function a(o,s,l,u,c,f,h,d,v,m){var b=s+f+m;if(p>0){var p=Math.sqrt(b+1);o[0]=.5*(h-v)/p,o[1]=.5*(d-u)/p,o[2]=.5*(l-f)/p,o[3]=.5*p}else{var k=Math.max(s,f,m),p=Math.sqrt(2*k-b+1);s>=k?(o[0]=.5*p,o[1]=.5*(c+l)/p,o[2]=.5*(d+u)/p,o[3]=.5*(h-v)/p):f>=k?(o[0]=.5*(l+c)/p,o[1]=.5*p,o[2]=.5*(v+h)/p,o[3]=.5*(d-u)/p):(o[0]=.5*(u+d)/p,o[1]=.5*(h+v)/p,o[2]=.5*p,o[3]=.5*(l-c)/p)}return o}},9977:function(i,a,o){"use strict";i.exports=p;var s=o(9215),l=o(6582),u=o(7399),c=o(7608),f=o(4081);function h(k,M,T){return Math.sqrt(Math.pow(k,2)+Math.pow(M,2)+Math.pow(T,2))}function d(k,M,T,L){return Math.sqrt(Math.pow(k,2)+Math.pow(M,2)+Math.pow(T,2)+Math.pow(L,2))}function v(k,M){var T=M[0],L=M[1],x=M[2],C=M[3],S=d(T,L,x,C);S>1e-6?(k[0]=T/S,k[1]=L/S,k[2]=x/S,k[3]=C/S):(k[0]=k[1]=k[2]=0,k[3]=1)}function m(k,M,T){this.radius=s([T]),this.center=s(M),this.rotation=s(k),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 b=m.prototype;b.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},b.recalcMatrix=function(k){this.radius.curve(k),this.center.curve(k),this.rotation.curve(k);var M=this.computedRotation;v(M,M);var T=this.computedMatrix;u(T,M);var L=this.computedCenter,x=this.computedEye,C=this.computedUp,S=Math.exp(this.computedRadius[0]);x[0]=L[0]+S*T[2],x[1]=L[1]+S*T[6],x[2]=L[2]+S*T[10],C[0]=T[1],C[1]=T[5],C[2]=T[9];for(var g=0;g<3;++g){for(var P=0,E=0;E<3;++E)P+=T[g+4*E]*x[E];T[12+g]=-P}},b.getMatrix=function(k,M){this.recalcMatrix(k);var T=this.computedMatrix;if(M){for(var L=0;L<16;++L)M[L]=T[L];return M}return T},b.idle=function(k){this.center.idle(k),this.radius.idle(k),this.rotation.idle(k)},b.flush=function(k){this.center.flush(k),this.radius.flush(k),this.rotation.flush(k)},b.pan=function(k,M,T,L){M=M||0,T=T||0,L=L||0,this.recalcMatrix(k);var x=this.computedMatrix,C=x[1],S=x[5],g=x[9],P=h(C,S,g);C/=P,S/=P,g/=P;var E=x[0],z=x[4],q=x[8],V=E*C+z*S+q*g;E-=C*V,z-=S*V,q-=g*V;var G=h(E,z,q);E/=G,z/=G,q/=G;var Z=x[2],j=x[6],N=x[10],H=Z*C+j*S+N*g,ie=Z*E+j*z+N*q;Z-=H*C+ie*E,j-=H*S+ie*z,N-=H*g+ie*q;var ae=h(Z,j,N);Z/=ae,j/=ae,N/=ae;var _e=E*M+C*T,Ee=z*M+S*T,Ce=q*M+g*T;this.center.move(k,_e,Ee,Ce);var ge=Math.exp(this.computedRadius[0]);ge=Math.max(1e-4,ge+L),this.radius.set(k,Math.log(ge))},b.rotate=function(k,M,T,L){this.recalcMatrix(k),M=M||0,T=T||0;var x=this.computedMatrix,C=x[0],S=x[4],g=x[8],P=x[1],E=x[5],z=x[9],q=x[2],V=x[6],G=x[10],Z=M*C+T*P,j=M*S+T*E,N=M*g+T*z,H=-(V*N-G*j),ie=-(G*Z-q*N),ae=-(q*j-V*Z),_e=Math.sqrt(Math.max(0,1-Math.pow(H,2)-Math.pow(ie,2)-Math.pow(ae,2))),Ee=d(H,ie,ae,_e);Ee>1e-6?(H/=Ee,ie/=Ee,ae/=Ee,_e/=Ee):(H=ie=ae=0,_e=1);var Ce=this.computedRotation,ge=Ce[0],re=Ce[1],Se=Ce[2],ke=Ce[3],be=ge*_e+ke*H+re*ae-Se*ie,Be=re*_e+ke*ie+Se*H-ge*ae,Le=Se*_e+ke*ae+ge*ie-re*H,me=ke*_e-ge*H-re*ie-Se*ae;if(L){H=q,ie=V,ae=G;var Pe=Math.sin(L)/h(H,ie,ae);H*=Pe,ie*=Pe,ae*=Pe,_e=Math.cos(M),be=be*_e+me*H+Be*ae-Le*ie,Be=Be*_e+me*ie+Le*H-be*ae,Le=Le*_e+me*ae+be*ie-Be*H,me=me*_e-be*H-Be*ie-Le*ae}var ce=d(be,Be,Le,me);ce>1e-6?(be/=ce,Be/=ce,Le/=ce,me/=ce):(be=Be=Le=0,me=1),this.rotation.set(k,be,Be,Le,me)},b.lookAt=function(k,M,T,L){this.recalcMatrix(k),T=T||this.computedCenter,M=M||this.computedEye,L=L||this.computedUp;var x=this.computedMatrix;l(x,M,T,L);var C=this.computedRotation;f(C,x[0],x[1],x[2],x[4],x[5],x[6],x[8],x[9],x[10]),v(C,C),this.rotation.set(k,C[0],C[1],C[2],C[3]);for(var S=0,g=0;g<3;++g)S+=Math.pow(T[g]-M[g],2);this.radius.set(k,.5*Math.log(Math.max(S,1e-6))),this.center.set(k,T[0],T[1],T[2])},b.translate=function(k,M,T,L){this.center.move(k,M||0,T||0,L||0)},b.setMatrix=function(k,M){var T=this.computedRotation;f(T,M[0],M[1],M[2],M[4],M[5],M[6],M[8],M[9],M[10]),v(T,T),this.rotation.set(k,T[0],T[1],T[2],T[3]);var L=this.computedMatrix;c(L,M);var x=L[15];if(Math.abs(x)>1e-6){var C=L[12]/x,S=L[13]/x,g=L[14]/x;this.recalcMatrix(k);var P=Math.exp(this.computedRadius[0]);this.center.set(k,C-L[2]*P,S-L[6]*P,g-L[10]*P),this.radius.idle(k)}else this.center.idle(k),this.radius.idle(k)},b.setDistance=function(k,M){M>0&&this.radius.set(k,Math.log(M))},b.setDistanceLimits=function(k,M){k>0?k=Math.log(k):k=-1/0,M>0?M=Math.log(M):M=1/0,M=Math.max(M,k),this.radius.bounds[0][0]=k,this.radius.bounds[1][0]=M},b.getDistanceLimits=function(k){var M=this.radius.bounds;return k?(k[0]=Math.exp(M[0][0]),k[1]=Math.exp(M[1][0]),k):[Math.exp(M[0][0]),Math.exp(M[1][0])]},b.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]}},b.fromJSON=function(k){var M=this.lastT(),T=k.center;T&&this.center.set(M,T[0],T[1],T[2]);var L=k.rotation;L&&this.rotation.set(M,L[0],L[1],L[2],L[3]);var x=k.distance;x&&x>0&&this.radius.set(M,Math.log(x)),this.setDistanceLimits(k.zoomMin,k.zoomMax)};function p(k){k=k||{};var M=k.center||[0,0,0],T=k.rotation||[0,0,0,1],L=k.radius||1;M=[].slice.call(M,0,3),T=[].slice.call(T,0,4),v(T,T);var x=new m(T,M,Math.log(L));return x.setDistanceLimits(k.zoomMin,k.zoomMax),("eye"in k||"up"in k)&&x.lookAt(0,k.eye,k.center,k.up),x}},1371:function(i,a,o){"use strict";var s=o(3233);i.exports=function(u,c,f){return f=typeof f!="undefined"?f+"":" ",s(f,c)+u}},3202:function(i){i.exports=function(o,s){s||(s=[0,""]),o=String(o);var l=parseFloat(o,10);return s[0]=l,s[1]=o.match(/[\d.\-\+]*\s*(.*)/)[1]||"",s}},3088:function(i,a,o){"use strict";i.exports=l;var s=o(3140);function l(u,c){for(var f=c.length|0,h=u.length,d=[new Array(f),new Array(f)],v=0;v0){z=d[G][P][0],V=G;break}q=z[V^1];for(var Z=0;Z<2;++Z)for(var j=d[Z][P],N=0;N0&&(z=H,q=ie,V=Z)}return E||z&&p(z,V),q}function M(g,P){var E=d[P][g][0],z=[g];p(E,P);for(var q=E[P^1],V=P;;){for(;q!==g;)z.push(q),q=k(z[z.length-2],q,!1);if(d[0][g].length+d[1][g].length===0)break;var G=z[z.length-1],Z=g,j=z[1],N=k(G,Z,!0);if(s(c[G],c[Z],c[j],c[N])<0)break;z.push(g),q=k(G,Z)}return z}function T(g,P){return P[1]===P[P.length-1]}for(var v=0;v0;){var C=d[0][v].length,S=M(v,L);T(x,S)?x.push.apply(x,S):(x.length>0&&b.push(x),x=S)}x.length>0&&b.push(x)}return b}},5609:function(i,a,o){"use strict";i.exports=l;var s=o(3134);function l(u,c){for(var f=s(u,c.length),h=new Array(c.length),d=new Array(c.length),v=[],m=0;m0;){var p=v.pop();h[p]=!1;for(var k=f[p],m=0;m0}C=C.filter(S);for(var g=C.length,P=new Array(g),E=new Array(g),x=0;x0;){var ce=Le.pop(),He=Ee[ce];h(He,function(ct,ar){return ct-ar});var lt=He.length,mt=me[ce],Ht;if(mt===0){var j=C[ce];Ht=[j]}for(var x=0;x=0)&&(me[at]=mt^1,Le.push(at),mt===0)){var j=C[at];Be(j)||(j.reverse(),Ht.push(j))}}mt===0&&Pe.push(Ht)}return Pe}},5085:function(i,a,o){i.exports=k;var s=o(3250)[3],l=o(4209),u=o(3352),c=o(2478);function f(){return!0}function h(M){return function(T,L){var x=M[T];return x?!!x.queryPoint(L,f):!1}}function d(M){for(var T={},L=0;L0&&T[x]===L[0])C=M[x-1];else return 1;for(var S=1;C;){var g=C.key,P=s(L,g[0],g[1]);if(g[0][0]0)S=-1,C=C.right;else return 0;else if(P>0)C=C.left;else if(P<0)S=1,C=C.right;else return 0}return S}}function m(M){return 1}function b(M){return function(L){return M(L[0],L[1])?0:1}}function p(M,T){return function(x){return M(x[0],x[1])?0:T(x)}}function k(M){for(var T=M.length,L=[],x=[],C=0,S=0;S=m?(g=1,E=m+2*k+T):(g=-k/m,E=k*g+T)):(g=0,M>=0?(P=0,E=T):-M>=p?(P=1,E=p+2*M+T):(P=-M/p,E=M*P+T));else if(P<0)P=0,k>=0?(g=0,E=T):-k>=m?(g=1,E=m+2*k+T):(g=-k/m,E=k*g+T);else{var z=1/S;g*=z,P*=z,E=g*(m*g+b*P+2*k)+P*(b*g+p*P+2*M)+T}else{var q,V,G,Z;g<0?(q=b+k,V=p+M,V>q?(G=V-q,Z=m-2*b+p,G>=Z?(g=1,P=0,E=m+2*k+T):(g=G/Z,P=1-g,E=g*(m*g+b*P+2*k)+P*(b*g+p*P+2*M)+T)):(g=0,V<=0?(P=1,E=p+2*M+T):M>=0?(P=0,E=T):(P=-M/p,E=M*P+T))):P<0?(q=b+M,V=m+k,V>q?(G=V-q,Z=m-2*b+p,G>=Z?(P=1,g=0,E=p+2*M+T):(P=G/Z,g=1-P,E=g*(m*g+b*P+2*k)+P*(b*g+p*P+2*M)+T)):(P=0,V<=0?(g=1,E=m+2*k+T):k>=0?(g=0,E=T):(g=-k/m,E=k*g+T))):(G=p+M-b-k,G<=0?(g=0,P=1,E=p+2*M+T):(Z=m-2*b+p,G>=Z?(g=1,P=0,E=m+2*k+T):(g=G/Z,P=1-g,E=g*(m*g+b*P+2*k)+P*(b*g+p*P+2*M)+T)))}for(var j=1-g-P,v=0;v0){var p=f[d-1];if(s(m,p)===0&&u(p)!==b){d-=1;continue}}f[d++]=m}}return f.length=d,f}},3233:function(i){"use strict";var a="",o;i.exports=s;function s(l,u){if(typeof l!="string")throw new TypeError("expected a string");if(u===1)return l;if(u===2)return l+l;var c=l.length*u;if(o!==l||typeof o=="undefined")o=l,a="";else if(a.length>=c)return a.substr(0,c);for(;c>a.length&&u>1;)u&1&&(a+=l),u>>=1,l+=l;return a+=l,a=a.substr(0,c),a}},3025:function(i,a,o){i.exports=o.g.performance&&o.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},7004:function(i){"use strict";i.exports=a;function a(o){for(var s=o.length,l=o[o.length-1],u=s,c=s-2;c>=0;--c){var f=l,h=o[c];l=f+h;var d=l-f,v=h-d;v&&(o[--u]=l,l=v)}for(var m=0,c=u;c0){if(V<=0)return G;Z=q+V}else if(q<0){if(V>=0)return G;Z=-(q+V)}else return G;var j=d*Z;return G>=j||G<=-j?G:M(P,E,z)},function(P,E,z,q){var V=P[0]-q[0],G=E[0]-q[0],Z=z[0]-q[0],j=P[1]-q[1],N=E[1]-q[1],H=z[1]-q[1],ie=P[2]-q[2],ae=E[2]-q[2],_e=z[2]-q[2],Ee=G*H,Ce=Z*N,ge=Z*j,re=V*H,Se=V*N,ke=G*j,be=ie*(Ee-Ce)+ae*(ge-re)+_e*(Se-ke),Be=(Math.abs(Ee)+Math.abs(Ce))*Math.abs(ie)+(Math.abs(ge)+Math.abs(re))*Math.abs(ae)+(Math.abs(Se)+Math.abs(ke))*Math.abs(_e),Le=v*Be;return be>Le||-be>Le?be:T(P,E,z,q)}];function x(g){var P=L[g.length];return P||(P=L[g.length]=k(g.length)),P.apply(void 0,g)}function C(g,P,E,z,q,V,G){return function(j,N,H,ie,ae){switch(arguments.length){case 0:case 1:return 0;case 2:return z(j,N);case 3:return q(j,N,H);case 4:return V(j,N,H,ie);case 5:return G(j,N,H,ie,ae)}for(var _e=new Array(arguments.length),Ee=0;Ee0&&m>0||v<0&&m<0)return!1;var b=s(h,c,f),p=s(d,c,f);return b>0&&p>0||b<0&&p<0?!1:v===0&&m===0&&b===0&&p===0?l(c,f,h,d):!0}},8545:function(i){"use strict";i.exports=o;function a(s,l){var u=s+l,c=u-s,f=u-c,h=l-c,d=s-f,v=d+h;return v?[v,u]:[u]}function o(s,l){var u=s.length|0,c=l.length|0;if(u===1&&c===1)return a(s[0],-l[0]);var f=u+c,h=new Array(f),d=0,v=0,m=0,b=Math.abs,p=s[v],k=b(p),M=-l[m],T=b(M),L,x;k=c?(L=p,v+=1,v=c?(L=p,v+=1,v>1,M=f[2*k+1];if(M===m)return k;m>1,M=f[2*k+1];if(M===m)return k;m>1,M=f[2*k+1];if(M===m)return k;m>1,M=f[2*k+1];if(M===m)return k;m>1,Z=d(P[G],E);Z<=0?(Z===0&&(V=G),z=G+1):Z>0&&(q=G-1)}return V}s=p;function k(P,E){for(var z=new Array(P.length),q=0,V=z.length;q=P.length||d(P[Ee],G)!==0););}return z}s=k;function M(P,E){if(!E)return k(b(L(P,0)),P,0);for(var z=new Array(E),q=0;q>>H&1&&N.push(V[H]);E.push(N)}return m(E)}s=T;function L(P,E){if(E<0)return[];for(var z=[],q=(1<0)-(u<0)},a.abs=function(u){var c=u>>o-1;return(u^c)-c},a.min=function(u,c){return c^(u^c)&-(u65535)<<4,u>>>=c,f=(u>255)<<3,u>>>=f,c|=f,f=(u>15)<<2,u>>>=f,c|=f,f=(u>3)<<1,u>>>=f,c|=f,c|u>>1},a.log10=function(u){return u>=1e9?9:u>=1e8?8:u>=1e7?7:u>=1e6?6:u>=1e5?5:u>=1e4?4:u>=1e3?3:u>=100?2:u>=10?1:0},a.popCount=function(u){return u=u-(u>>>1&1431655765),u=(u&858993459)+(u>>>2&858993459),(u+(u>>>4)&252645135)*16843009>>>24};function s(u){var c=32;return u&=-u,u&&c--,u&65535&&(c-=16),u&16711935&&(c-=8),u&252645135&&(c-=4),u&858993459&&(c-=2),u&1431655765&&(c-=1),c}a.countTrailingZeros=s,a.nextPow2=function(u){return u+=u===0,--u,u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u+1},a.prevPow2=function(u){return u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u-(u>>>1)},a.parity=function(u){return u^=u>>>16,u^=u>>>8,u^=u>>>4,u&=15,27030>>>u&1};var l=new Array(256);(function(u){for(var c=0;c<256;++c){var f=c,h=c,d=7;for(f>>>=1;f;f>>>=1)h<<=1,h|=f&1,--d;u[c]=h<>>8&255]<<16|l[u>>>16&255]<<8|l[u>>>24&255]},a.interleave2=function(u,c){return u&=65535,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,c&=65535,c=(c|c<<8)&16711935,c=(c|c<<4)&252645135,c=(c|c<<2)&858993459,c=(c|c<<1)&1431655765,u|c<<1},a.deinterleave2=function(u,c){return u=u>>>c&1431655765,u=(u|u>>>1)&858993459,u=(u|u>>>2)&252645135,u=(u|u>>>4)&16711935,u=(u|u>>>16)&65535,u<<16>>16},a.interleave3=function(u,c,f){return u&=1023,u=(u|u<<16)&4278190335,u=(u|u<<8)&251719695,u=(u|u<<4)&3272356035,u=(u|u<<2)&1227133513,c&=1023,c=(c|c<<16)&4278190335,c=(c|c<<8)&251719695,c=(c|c<<4)&3272356035,c=(c|c<<2)&1227133513,u|=c<<1,f&=1023,f=(f|f<<16)&4278190335,f=(f|f<<8)&251719695,f=(f|f<<4)&3272356035,f=(f|f<<2)&1227133513,u|f<<2},a.deinterleave3=function(u,c){return u=u>>>c&1227133513,u=(u|u>>>2)&3272356035,u=(u|u>>>4)&251719695,u=(u|u>>>8)&4278190335,u=(u|u>>>16)&1023,u<<22>>22},a.nextCombination=function(u){var c=u|u-1;return c+1|(~c&-~c)-1>>>s(u)+1}},2014:function(i,a,o){"use strict";"use restrict";var s=o(3105),l=o(4623);function u(g){for(var P=0,E=Math.max,z=0,q=g.length;z>1,G=h(g[V],P);G<=0?(G===0&&(q=V),E=V+1):G>0&&(z=V-1)}return q}a.findCell=b;function p(g,P){for(var E=new Array(g.length),z=0,q=E.length;z=g.length||h(g[_e],V)!==0););}return E}a.incidence=p;function k(g,P){if(!P)return p(m(T(g,0)),g,0);for(var E=new Array(P),z=0;z>>N&1&&j.push(q[N]);P.push(j)}return v(P)}a.explode=M;function T(g,P){if(P<0)return[];for(var E=[],z=(1<>1:(re>>1)-1}function z(re){for(var Se=P(re);;){var ke=Se,be=2*re+1,Be=2*(re+1),Le=re;if(be0;){var ke=E(re);if(ke>=0){var be=P(ke);if(Se0){var re=j[0];return g(0,ie-1),ie-=1,z(0),re}return-1}function G(re,Se){var ke=j[re];return k[ke]===Se?re:(k[ke]=-1/0,q(re),V(),k[ke]=Se,ie+=1,q(ie-1))}function Z(re){if(!M[re]){M[re]=!0;var Se=b[re],ke=p[re];b[ke]>=0&&(b[ke]=Se),p[Se]>=0&&(p[Se]=ke),N[Se]>=0&&G(N[Se],S(Se)),N[ke]>=0&&G(N[ke],S(ke))}}for(var j=[],N=new Array(v),T=0;T>1;T>=0;--T)z(T);for(;;){var ae=V();if(ae<0||k[ae]>d)break;Z(ae)}for(var _e=[],T=0;T=0&&ke>=0&&Se!==ke){var be=N[Se],Be=N[ke];be!==Be&&ge.push([be,Be])}}),l.unique(l.normalize(ge)),{positions:_e,edges:ge}}},1303:function(i,a,o){"use strict";i.exports=u;var s=o(3250);function l(c,f){var h,d;if(f[0][0]f[1][0])h=f[1],d=f[0];else{var v=Math.min(c[0][1],c[1][1]),m=Math.max(c[0][1],c[1][1]),b=Math.min(f[0][1],f[1][1]),p=Math.max(f[0][1],f[1][1]);return mp?v-p:m-p}var k,M;c[0][1]f[1][0])h=f[1],d=f[0];else return l(f,c);var v,m;if(c[0][0]c[1][0])v=c[1],m=c[0];else return-l(c,f);var b=s(h,d,m),p=s(h,d,v);if(b<0){if(p<=0)return b}else if(b>0){if(p>=0)return b}else if(p)return p;if(b=s(m,v,d),p=s(m,v,h),b<0){if(p<=0)return b}else if(b>0){if(p>=0)return b}else if(p)return p;return d[0]-m[0]}},4209:function(i,a,o){"use strict";i.exports=p;var s=o(2478),l=o(3840),u=o(3250),c=o(1303);function f(k,M,T){this.slabs=k,this.coordinates=M,this.horizontal=T}var h=f.prototype;function d(k,M){return k.y-M}function v(k,M){for(var T=null;k;){var L=k.key,x,C;L[0][0]0)if(M[0]!==L[1][0])T=k,k=k.right;else{var g=v(k.right,M);if(g)return g;k=k.left}else{if(M[0]!==L[1][0])return k;var g=v(k.right,M);if(g)return g;k=k.left}}return T}h.castUp=function(k){var M=s.le(this.coordinates,k[0]);if(M<0)return-1;var T=this.slabs[M],L=v(this.slabs[M],k),x=-1;if(L&&(x=L.value),this.coordinates[M]===k[0]){var C=null;if(L&&(C=L.key),M>0){var S=v(this.slabs[M-1],k);S&&(C?c(S.key,C)>0&&(C=S.key,x=S.value):(x=S.value,C=S.key))}var g=this.horizontal[M];if(g.length>0){var P=s.ge(g,k[1],d);if(P=g.length)return x;E=g[P]}}if(E.start)if(C){var z=u(C[0],C[1],[k[0],E.y]);C[0][0]>C[1][0]&&(z=-z),z>0&&(x=E.index)}else x=E.index;else E.y!==k[1]&&(x=E.index)}}}return x};function m(k,M,T,L){this.y=k,this.index=M,this.start=T,this.closed=L}function b(k,M,T,L){this.x=k,this.segment=M,this.create=T,this.index=L}function p(k){for(var M=k.length,T=2*M,L=new Array(T),x=0;x1&&(M=1);for(var T=1-M,L=v.length,x=new Array(L),C=0;C0||k>0&&x<0){var C=c(M,x,T,k);b.push(C),p.push(C.slice())}x<0?p.push(T.slice()):x>0?b.push(T.slice()):(b.push(T.slice()),p.push(T.slice())),k=x}return{positive:b,negative:p}}function h(v,m){for(var b=[],p=u(v[v.length-1],m),k=v[v.length-1],M=v[0],T=0;T0||p>0&&L<0)&&b.push(c(k,L,M,p)),L>=0&&b.push(M.slice()),p=L}return b}function d(v,m){for(var b=[],p=u(v[v.length-1],m),k=v[v.length-1],M=v[0],T=0;T0||p>0&&L<0)&&b.push(c(k,L,M,p)),L<=0&&b.push(M.slice()),p=L}return b}},3387:function(i,a,o){var s;(function(){"use strict";var l={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 u(v){return f(d(v),arguments)}function c(v,m){return u.apply(null,[v].concat(m||[]))}function f(v,m){var b=1,p=v.length,k,M="",T,L,x,C,S,g,P,E;for(T=0;T=0),x.type){case"b":k=parseInt(k,10).toString(2);break;case"c":k=String.fromCharCode(parseInt(k,10));break;case"d":case"i":k=parseInt(k,10);break;case"j":k=JSON.stringify(k,null,x.width?parseInt(x.width):0);break;case"e":k=x.precision?parseFloat(k).toExponential(x.precision):parseFloat(k).toExponential();break;case"f":k=x.precision?parseFloat(k).toFixed(x.precision):parseFloat(k);break;case"g":k=x.precision?String(Number(k.toPrecision(x.precision))):parseFloat(k);break;case"o":k=(parseInt(k,10)>>>0).toString(8);break;case"s":k=String(k),k=x.precision?k.substring(0,x.precision):k;break;case"t":k=String(!!k),k=x.precision?k.substring(0,x.precision):k;break;case"T":k=Object.prototype.toString.call(k).slice(8,-1).toLowerCase(),k=x.precision?k.substring(0,x.precision):k;break;case"u":k=parseInt(k,10)>>>0;break;case"v":k=k.valueOf(),k=x.precision?k.substring(0,x.precision):k;break;case"x":k=(parseInt(k,10)>>>0).toString(16);break;case"X":k=(parseInt(k,10)>>>0).toString(16).toUpperCase();break}l.json.test(x.type)?M+=k:(l.number.test(x.type)&&(!P||x.sign)?(E=P?"+":"-",k=k.toString().replace(l.sign,"")):E="",S=x.pad_char?x.pad_char==="0"?"0":x.pad_char.charAt(1):" ",g=x.width-(E+k).length,C=x.width&&g>0?S.repeat(g):"",M+=x.align?E+k+C:S==="0"?E+C+k:C+E+k)}return M}var h=Object.create(null);function d(v){if(h[v])return h[v];for(var m=v,b,p=[],k=0;m;){if((b=l.text.exec(m))!==null)p.push(b[0]);else if((b=l.modulo.exec(m))!==null)p.push("%");else if((b=l.placeholder.exec(m))!==null){if(b[2]){k|=1;var M=[],T=b[2],L=[];if((L=l.key.exec(T))!==null)for(M.push(L[1]);(T=T.substring(L[0].length))!=="";)if((L=l.key_access.exec(T))!==null)M.push(L[1]);else if((L=l.index_access.exec(T))!==null)M.push(L[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");b[2]=M}else k|=2;if(k===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");p.push({placeholder:b[0],param_no:b[1],keys:b[2],sign:b[3],pad_char:b[4],align:b[5],width:b[6],precision:b[7],type:b[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");m=m.substring(b[0].length)}return h[v]=p}a.sprintf=u,a.vsprintf=c,typeof window!="undefined"&&(window.sprintf=u,window.vsprintf=c,s=function(){return{sprintf:u,vsprintf:c}}.call(a,o,a,i),s!==void 0&&(i.exports=s))})()},3711:function(i,a,o){"use strict";i.exports=d;var s=o(2640),l=o(781),u={"2d":function(v,m,b){var p=v({order:m,scalarArguments:3,getters:b==="generic"?[0]:void 0,phase:function(M,T,L,x){return M>x|0},vertex:function(M,T,L,x,C,S,g,P,E,z,q,V,G){var Z=(g<<0)+(P<<1)+(E<<2)+(z<<3)|0;if(!(Z===0||Z===15))switch(Z){case 0:q.push([M-.5,T-.5]);break;case 1:q.push([M-.25-.25*(x+L-2*G)/(L-x),T-.25-.25*(C+L-2*G)/(L-C)]);break;case 2:q.push([M-.75-.25*(-x-L+2*G)/(x-L),T-.25-.25*(S+x-2*G)/(x-S)]);break;case 3:q.push([M-.5,T-.5-.5*(C+L+S+x-4*G)/(L-C+x-S)]);break;case 4:q.push([M-.25-.25*(S+C-2*G)/(C-S),T-.75-.25*(-C-L+2*G)/(C-L)]);break;case 5:q.push([M-.5-.5*(x+L+S+C-4*G)/(L-x+C-S),T-.5]);break;case 6:q.push([M-.5-.25*(-x-L+S+C)/(x-L+C-S),T-.5-.25*(-C-L+S+x)/(C-L+x-S)]);break;case 7:q.push([M-.75-.25*(S+C-2*G)/(C-S),T-.75-.25*(S+x-2*G)/(x-S)]);break;case 8:q.push([M-.75-.25*(-S-C+2*G)/(S-C),T-.75-.25*(-S-x+2*G)/(S-x)]);break;case 9:q.push([M-.5-.25*(x+L+-S-C)/(L-x+S-C),T-.5-.25*(C+L+-S-x)/(L-C+S-x)]);break;case 10:q.push([M-.5-.5*(-x-L+-S-C+4*G)/(x-L+S-C),T-.5]);break;case 11:q.push([M-.25-.25*(-S-C+2*G)/(S-C),T-.75-.25*(C+L-2*G)/(L-C)]);break;case 12:q.push([M-.5,T-.5-.5*(-C-L+-S-x+4*G)/(C-L+S-x)]);break;case 13:q.push([M-.75-.25*(x+L-2*G)/(L-x),T-.25-.25*(-S-x+2*G)/(S-x)]);break;case 14:q.push([M-.25-.25*(-x-L+2*G)/(x-L),T-.25-.25*(-C-L+2*G)/(C-L)]);break;case 15:q.push([M-.5,T-.5]);break}},cell:function(M,T,L,x,C,S,g,P,E){C?P.push([M,T]):P.push([T,M])}});return function(k,M){var T=[],L=[];return p(k,T,L,M),{positions:T,cells:L}}}};function c(v,m){var b=v.length+"d",p=u[b];if(p)return p(s,v,m)}function f(v,m){for(var b=l(v,m),p=b.length,k=new Array(p),M=new Array(p),T=0;TMath.max(x,C)?S[2]=1:x>Math.max(L,C)?S[0]=1:S[1]=1;for(var g=0,P=0,E=0;E<3;++E)g+=T[E]*T[E],P+=S[E]*T[E];for(var E=0;E<3;++E)S[E]-=P/g*T[E];return f(S,S),S}function b(T,L,x,C,S,g,P,E){this.center=s(x),this.up=s(C),this.right=s(S),this.radius=s([g]),this.angle=s([P,E]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(T,L),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 z=0;z<16;++z)this.computedMatrix[z]=.5;this.recalcMatrix(0)}var p=b.prototype;p.setDistanceLimits=function(T,L){T>0?T=Math.log(T):T=-1/0,L>0?L=Math.log(L):L=1/0,L=Math.max(L,T),this.radius.bounds[0][0]=T,this.radius.bounds[1][0]=L},p.getDistanceLimits=function(T){var L=this.radius.bounds[0];return T?(T[0]=Math.exp(L[0][0]),T[1]=Math.exp(L[1][0]),T):[Math.exp(L[0][0]),Math.exp(L[1][0])]},p.recalcMatrix=function(T){this.center.curve(T),this.up.curve(T),this.right.curve(T),this.radius.curve(T),this.angle.curve(T);for(var L=this.computedUp,x=this.computedRight,C=0,S=0,g=0;g<3;++g)S+=L[g]*x[g],C+=L[g]*L[g];for(var P=Math.sqrt(C),E=0,g=0;g<3;++g)x[g]-=L[g]*S/C,E+=x[g]*x[g],L[g]/=P;for(var z=Math.sqrt(E),g=0;g<3;++g)x[g]/=z;var q=this.computedToward;c(q,L,x),f(q,q);for(var V=Math.exp(this.computedRadius[0]),G=this.computedAngle[0],Z=this.computedAngle[1],j=Math.cos(G),N=Math.sin(G),H=Math.cos(Z),ie=Math.sin(Z),ae=this.computedCenter,_e=j*H,Ee=N*H,Ce=ie,ge=-j*ie,re=-N*ie,Se=H,ke=this.computedEye,be=this.computedMatrix,g=0;g<3;++g){var Be=_e*x[g]+Ee*q[g]+Ce*L[g];be[4*g+1]=ge*x[g]+re*q[g]+Se*L[g],be[4*g+2]=Be,be[4*g+3]=0}var Le=be[1],me=be[5],Pe=be[9],ce=be[2],He=be[6],lt=be[10],mt=me*lt-Pe*He,Ht=Pe*ce-Le*lt,at=Le*He-me*ce,ct=d(mt,Ht,at);mt/=ct,Ht/=ct,at/=ct,be[0]=mt,be[4]=Ht,be[8]=at;for(var g=0;g<3;++g)ke[g]=ae[g]+be[2+4*g]*V;for(var g=0;g<3;++g){for(var E=0,ar=0;ar<3;++ar)E+=be[g+4*ar]*ke[ar];be[12+g]=-E}be[15]=1},p.getMatrix=function(T,L){this.recalcMatrix(T);var x=this.computedMatrix;if(L){for(var C=0;C<16;++C)L[C]=x[C];return L}return x};var k=[0,0,0];p.rotate=function(T,L,x,C){if(this.angle.move(T,L,x),C){this.recalcMatrix(T);var S=this.computedMatrix;k[0]=S[2],k[1]=S[6],k[2]=S[10];for(var g=this.computedUp,P=this.computedRight,E=this.computedToward,z=0;z<3;++z)S[4*z]=g[z],S[4*z+1]=P[z],S[4*z+2]=E[z];u(S,S,C,k);for(var z=0;z<3;++z)g[z]=S[4*z],P[z]=S[4*z+1];this.up.set(T,g[0],g[1],g[2]),this.right.set(T,P[0],P[1],P[2])}},p.pan=function(T,L,x,C){L=L||0,x=x||0,C=C||0,this.recalcMatrix(T);var S=this.computedMatrix,g=Math.exp(this.computedRadius[0]),P=S[1],E=S[5],z=S[9],q=d(P,E,z);P/=q,E/=q,z/=q;var V=S[0],G=S[4],Z=S[8],j=V*P+G*E+Z*z;V-=P*j,G-=E*j,Z-=z*j;var N=d(V,G,Z);V/=N,G/=N,Z/=N;var H=V*L+P*x,ie=G*L+E*x,ae=Z*L+z*x;this.center.move(T,H,ie,ae);var _e=Math.exp(this.computedRadius[0]);_e=Math.max(1e-4,_e+C),this.radius.set(T,Math.log(_e))},p.translate=function(T,L,x,C){this.center.move(T,L||0,x||0,C||0)},p.setMatrix=function(T,L,x,C){var S=1;typeof x=="number"&&(S=x|0),(S<0||S>3)&&(S=1);var g=(S+2)%3,P=(S+1)%3;L||(this.recalcMatrix(T),L=this.computedMatrix);var E=L[S],z=L[S+4],q=L[S+8];if(C){var G=Math.abs(E),Z=Math.abs(z),j=Math.abs(q),N=Math.max(G,Z,j);G===N?(E=E<0?-1:1,z=q=0):j===N?(q=q<0?-1:1,E=z=0):(z=z<0?-1:1,E=q=0)}else{var V=d(E,z,q);E/=V,z/=V,q/=V}var H=L[g],ie=L[g+4],ae=L[g+8],_e=H*E+ie*z+ae*q;H-=E*_e,ie-=z*_e,ae-=q*_e;var Ee=d(H,ie,ae);H/=Ee,ie/=Ee,ae/=Ee;var Ce=z*ae-q*ie,ge=q*H-E*ae,re=E*ie-z*H,Se=d(Ce,ge,re);Ce/=Se,ge/=Se,re/=Se,this.center.jump(T,Ue,Ae,rt),this.radius.idle(T),this.up.jump(T,E,z,q),this.right.jump(T,H,ie,ae);var ke,be;if(S===2){var Be=L[1],Le=L[5],me=L[9],Pe=Be*H+Le*ie+me*ae,ce=Be*Ce+Le*ge+me*re;Ht<0?ke=-Math.PI/2:ke=Math.PI/2,be=Math.atan2(ce,Pe)}else{var He=L[2],lt=L[6],mt=L[10],Ht=He*E+lt*z+mt*q,at=He*H+lt*ie+mt*ae,ct=He*Ce+lt*ge+mt*re;ke=Math.asin(v(Ht)),be=Math.atan2(ct,at)}this.angle.jump(T,be,ke),this.recalcMatrix(T);var ar=L[2],Vt=L[6],rr=L[10],tt=this.computedMatrix;l(tt,L);var je=tt[15],Ue=tt[12]/je,Ae=tt[13]/je,rt=tt[14]/je,St=Math.exp(this.computedRadius[0]);this.center.jump(T,Ue-ar*St,Ae-Vt*St,rt-rr*St)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(T){this.center.idle(T),this.up.idle(T),this.right.idle(T),this.radius.idle(T),this.angle.idle(T)},p.flush=function(T){this.center.flush(T),this.up.flush(T),this.right.flush(T),this.radius.flush(T),this.angle.flush(T)},p.setDistance=function(T,L){L>0&&this.radius.set(T,Math.log(L))},p.lookAt=function(T,L,x,C){this.recalcMatrix(T),L=L||this.computedEye,x=x||this.computedCenter,C=C||this.computedUp;var S=C[0],g=C[1],P=C[2],E=d(S,g,P);if(!(E<1e-6)){S/=E,g/=E,P/=E;var z=L[0]-x[0],q=L[1]-x[1],V=L[2]-x[2],G=d(z,q,V);if(!(G<1e-6)){z/=G,q/=G,V/=G;var Z=this.computedRight,j=Z[0],N=Z[1],H=Z[2],ie=S*j+g*N+P*H;j-=ie*S,N-=ie*g,H-=ie*P;var ae=d(j,N,H);if(!(ae<.01&&(j=g*V-P*q,N=P*z-S*V,H=S*q-g*z,ae=d(j,N,H),ae<1e-6))){j/=ae,N/=ae,H/=ae,this.up.set(T,S,g,P),this.right.set(T,j,N,H),this.center.set(T,x[0],x[1],x[2]),this.radius.set(T,Math.log(G));var _e=g*H-P*N,Ee=P*j-S*H,Ce=S*N-g*j,ge=d(_e,Ee,Ce);_e/=ge,Ee/=ge,Ce/=ge;var re=S*z+g*q+P*V,Se=j*z+N*q+H*V,ke=_e*z+Ee*q+Ce*V,be=Math.asin(v(re)),Be=Math.atan2(ke,Se),Le=this.angle._state,me=Le[Le.length-1],Pe=Le[Le.length-2];me=me%(2*Math.PI);var ce=Math.abs(me+2*Math.PI-Be),He=Math.abs(me-Be),lt=Math.abs(me-2*Math.PI-Be);ce0?H.pop():new ArrayBuffer(j)}a.mallocArrayBuffer=k;function M(Z){return new Uint8Array(k(Z),0,Z)}a.mallocUint8=M;function T(Z){return new Uint16Array(k(2*Z),0,Z)}a.mallocUint16=T;function L(Z){return new Uint32Array(k(4*Z),0,Z)}a.mallocUint32=L;function x(Z){return new Int8Array(k(Z),0,Z)}a.mallocInt8=x;function C(Z){return new Int16Array(k(2*Z),0,Z)}a.mallocInt16=C;function S(Z){return new Int32Array(k(4*Z),0,Z)}a.mallocInt32=S;function g(Z){return new Float32Array(k(4*Z),0,Z)}a.mallocFloat32=a.mallocFloat=g;function P(Z){return new Float64Array(k(8*Z),0,Z)}a.mallocFloat64=a.mallocDouble=P;function E(Z){return c?new Uint8ClampedArray(k(Z),0,Z):M(Z)}a.mallocUint8Clamped=E;function z(Z){return f?new BigUint64Array(k(8*Z),0,Z):null}a.mallocBigUint64=z;function q(Z){return h?new BigInt64Array(k(8*Z),0,Z):null}a.mallocBigInt64=q;function V(Z){return new DataView(k(Z),0,Z)}a.mallocDataView=V;function G(Z){Z=s.nextPow2(Z);var j=s.log2(Z),N=m[j];return N.length>0?N.pop():new u(Z)}a.mallocBuffer=G,a.clearCache=function(){for(var j=0;j<32;++j)d.UINT8[j].length=0,d.UINT16[j].length=0,d.UINT32[j].length=0,d.INT8[j].length=0,d.INT16[j].length=0,d.INT32[j].length=0,d.FLOAT[j].length=0,d.DOUBLE[j].length=0,d.BIGUINT64[j].length=0,d.BIGINT64[j].length=0,d.UINT8C[j].length=0,v[j].length=0,m[j].length=0}},1755:function(i){"use strict";"use restrict";i.exports=a;function a(s){this.roots=new Array(s),this.ranks=new Array(s);for(var l=0;l",H="",ie=N.length,ae=H.length,_e=G[0]===k||G[0]===L,Ee=0,Ce=-ae;Ee>-1&&(Ee=Z.indexOf(N,Ee),!(Ee===-1||(Ce=Z.indexOf(H,Ee+ie),Ce===-1)||Ce<=Ee));){for(var ge=Ee;ge=Ce)j[ge]=null,Z=Z.substr(0,ge)+" "+Z.substr(ge+1);else if(j[ge]!==null){var re=j[ge].indexOf(G[0]);re===-1?j[ge]+=G:_e&&(j[ge]=j[ge].substr(0,re+1)+(1+parseInt(j[ge][re+1]))+j[ge].substr(re+2))}var Se=Ee+ie,ke=Z.substr(Se,Ce-Se),be=ke.indexOf(N);be!==-1?Ee=be:Ee=Ce+ae}return j}function S(V,G,Z){for(var j=G.textAlign||"start",N=G.textBaseline||"alphabetic",H=[1<<30,1<<30],ie=[0,0],ae=V.length,_e=0;_e/g,` -`):Z=Z.replace(/\/g," ");var ie="",ae=[];for(me=0;me-1?parseInt(Ae[1+Tt]):0,pt=dt>-1?parseInt(rt[1+dt]):0;Et!==pt&&(St=St.replace(at(),"?px "),He*=Math.pow(.75,pt-Et),St=St.replace("?px ",at())),ce+=.25*re*(pt-Et)}if(H.superscripts===!0){var jt=Ae.indexOf(k),or=rt.indexOf(k),mr=jt>-1?parseInt(Ae[1+jt]):0,Ar=or>-1?parseInt(rt[1+or]):0;mr!==Ar&&(St=St.replace(at(),"?px "),He*=Math.pow(.75,Ar-mr),St=St.replace("?px ",at())),ce-=.25*re*(Ar-mr)}if(H.bolds===!0){var ei=Ae.indexOf(v)>-1,qr=rt.indexOf(v)>-1;!ei&&qr&&(jr?St=St.replace("italic ","italic bold "):St="bold "+St),ei&&!qr&&(St=St.replace("bold ",""))}if(H.italics===!0){var jr=Ae.indexOf(b)>-1,gt=rt.indexOf(b)>-1;!jr&>&&(St="italic "+St),jr&&!gt&&(St=St.replace("italic ",""))}G.font=St}for(Le=0;Le0&&(N=j.size),j.lineSpacing&&j.lineSpacing>0&&(H=j.lineSpacing),j.styletags&&j.styletags.breaklines&&(ie.breaklines=!!j.styletags.breaklines),j.styletags&&j.styletags.bolds&&(ie.bolds=!!j.styletags.bolds),j.styletags&&j.styletags.italics&&(ie.italics=!!j.styletags.italics),j.styletags&&j.styletags.subscripts&&(ie.subscripts=!!j.styletags.subscripts),j.styletags&&j.styletags.superscripts&&(ie.superscripts=!!j.styletags.superscripts)),Z.font=[j.fontStyle,j.fontVariant,j.fontWeight,N+"px",j.font].filter(function(_e){return _e}).join(" "),Z.textAlign="start",Z.textBaseline="alphabetic",Z.direction="ltr";var ae=g(G,Z,V,N,H,ie);return z(ae,j,N)}},1538:function(i){(function(){"use strict";if(typeof ses!="undefined"&&ses.ok&&!ses.ok())return;function o(E){E.permitHostObjects___&&E.permitHostObjects___(o)}typeof ses!="undefined"&&(ses.weakMapPermitHostObjects=o);var s=!1;if(typeof WeakMap=="function"){var l=WeakMap;if(!(typeof navigator!="undefined"&&/Firefox/.test(navigator.userAgent))){var u=new l,c=Object.freeze({});if(u.set(c,1),u.get(c)!==1)s=!0;else{i.exports=WeakMap;return}}}var f=Object.prototype.hasOwnProperty,h=Object.getOwnPropertyNames,d=Object.defineProperty,v=Object.isExtensible,m="weakmap:",b=m+"ident:"+Math.random()+"___";if(typeof crypto!="undefined"&&typeof crypto.getRandomValues=="function"&&typeof ArrayBuffer=="function"&&typeof Uint8Array=="function"){var p=new ArrayBuffer(25),k=new Uint8Array(p);crypto.getRandomValues(k),b=m+"rand:"+Array.prototype.map.call(k,function(E){return(E%36).toString(36)}).join("")+"___"}function M(E){return!(E.substr(0,m.length)==m&&E.substr(E.length-3)==="___")}if(d(Object,"getOwnPropertyNames",{value:function(z){return h(z).filter(M)}}),"getPropertyNames"in Object){var T=Object.getPropertyNames;d(Object,"getPropertyNames",{value:function(z){return T(z).filter(M)}})}function L(E){if(E!==Object(E))throw new TypeError("Not an object: "+E);var z=E[b];if(z&&z.key===E)return z;if(v(E)){z={key:E};try{return d(E,b,{value:z,writable:!1,enumerable:!1,configurable:!1}),z}catch(q){return}}}(function(){var E=Object.freeze;d(Object,"freeze",{value:function(G){return L(G),E(G)}});var z=Object.seal;d(Object,"seal",{value:function(G){return L(G),z(G)}});var q=Object.preventExtensions;d(Object,"preventExtensions",{value:function(G){return L(G),q(G)}})})();function x(E){return E.prototype=null,Object.freeze(E)}var C=!1;function S(){!C&&typeof console!="undefined"&&(C=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}var g=0,P=function(){this instanceof P||S();var E=[],z=[],q=g++;function V(N,H){var ie,ae=L(N);return ae?q in ae?ae[q]:H:(ie=E.indexOf(N),ie>=0?z[ie]:H)}function G(N){var H=L(N);return H?q in H:E.indexOf(N)>=0}function Z(N,H){var ie,ae=L(N);return ae?ae[q]=H:(ie=E.indexOf(N),ie>=0?z[ie]=H:(ie=E.length,z[ie]=H,E[ie]=N)),this}function j(N){var H=L(N),ie,ae;return H?q in H&&delete H[q]:(ie=E.indexOf(N),ie<0?!1:(ae=E.length-1,E[ie]=void 0,z[ie]=z[ae],E[ie]=E[ae],E.length=ae,z.length=ae,!0))}return Object.create(P.prototype,{get___:{value:x(V)},has___:{value:x(G)},set___:{value:x(Z)},delete___:{value:x(j)}})};P.prototype=Object.create(Object.prototype,{get:{value:function(z,q){return this.get___(z,q)},writable:!0,configurable:!0},has:{value:function(z){return this.has___(z)},writable:!0,configurable:!0},set:{value:function(z,q){return this.set___(z,q)},writable:!0,configurable:!0},delete:{value:function(z){return this.delete___(z)},writable:!0,configurable:!0}}),typeof l=="function"?function(){s&&typeof Proxy!="undefined"&&(Proxy=void 0);function E(){this instanceof P||S();var z=new l,q=void 0,V=!1;function G(H,ie){return q?z.has(H)?z.get(H):q.get___(H,ie):z.get(H,ie)}function Z(H){return z.has(H)||(q?q.has___(H):!1)}var j;s?j=function(H,ie){return z.set(H,ie),z.has(H)||(q||(q=new P),q.set(H,ie)),this}:j=function(H,ie){if(V)try{z.set(H,ie)}catch(ae){q||(q=new P),q.set___(H,ie)}else z.set(H,ie);return this};function N(H){var ie=!!z.delete(H);return q&&q.delete___(H)||ie}return Object.create(P.prototype,{get___:{value:x(G)},has___:{value:x(Z)},set___:{value:x(j)},delete___:{value:x(N)},permitHostObjects___:{value:x(function(H){if(H===o)V=!0;else throw new Error("bogus call to permitHostObjects___")})}})}E.prototype=P.prototype,i.exports=E,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(typeof Proxy!="undefined"&&(Proxy=void 0),i.exports=P)})()},236:function(i,a,o){var s=o(8284);i.exports=l;function l(){var u={};return function(c){if((typeof c!="object"||c===null)&&typeof c!="function")throw new Error("Weakmap-shim: Key must be object");var f=c.valueOf(u);return f&&f.identity===u?f:s(c,u)}}},8284:function(i){i.exports=a;function a(o,s){var l={identity:s},u=o.valueOf;return Object.defineProperty(o,"valueOf",{value:function(c){return c!==s?u.apply(this,arguments):l},writable:!0}),l}},606:function(i,a,o){var s=o(236);i.exports=l;function l(){var u=s();return{get:function(c,f){var h=u(c);return h.hasOwnProperty("value")?h.value:f},set:function(c,f){return u(c).value=f,this},has:function(c){return"value"in u(c)},delete:function(c){return delete u(c).value}}}},3349:function(i){"use strict";function a(){return function(f,h,d,v,m,b){var p=f[0],k=d[0],M=[0],T=k;v|=0;var L=0,x=k;for(L=0;L=0!=S>=0&&m.push(M[0]+.5+.5*(C+S)/(C-S))}v+=x,++M[0]}}}function o(){return a()}var s=o;function l(f){var h={};return function(v,m,b){var p=v.dtype,k=v.order,M=[p,k.join()].join(),T=h[M];return T||(h[M]=T=f([p,k])),T(v.shape.slice(0),v.data,v.stride,v.offset|0,m,b)}}function u(f){return l(s.bind(void 0,f))}function c(f){return u({funcName:f.funcName})}i.exports=c({funcName:"zeroCrossings"})},781:function(i,a,o){"use strict";i.exports=l;var s=o(3349);function l(u,c){var f=[];return c=+c||0,s(u.hi(u.shape[0]-1),f,c),f}},7790:function(){}},t={};function r(i){var a=t[i];if(a!==void 0)return a.exports;var o=t[i]={id:i,loaded:!1,exports:{}};return e[i].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}(function(){r.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch(i){if(typeof window=="object")return window}}()})(),function(){r.nmd=function(i){return i.paths=[],i.children||(i.children=[]),i}}();var n=r(1964);MPe.exports=n})()});var AX=ye((cgr,EPe)=>{"use strict";EPe.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]}});var PPe=ye((fgr,LPe)=>{"use strict";var kPe=AX();LPe.exports=gIt;var CPe={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function gIt(e){var t,r=[],n=1,i;if(typeof e=="string")if(e=e.toLowerCase(),kPe[e])r=kPe[e].slice(),i="rgb";else if(e==="transparent")n=0,i="rgb",r=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(e)){var a=e.slice(1),o=a.length,s=o<=4;n=1,s?(r=[parseInt(a[0]+a[0],16),parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16)],o===4&&(n=parseInt(a[3]+a[3],16)/255)):(r=[parseInt(a[0]+a[1],16),parseInt(a[2]+a[3],16),parseInt(a[4]+a[5],16)],o===8&&(n=parseInt(a[6]+a[7],16)/255)),r[0]||(r[0]=0),r[1]||(r[1]=0),r[2]||(r[2]=0),i="rgb"}else if(t=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(e)){var l=t[1],u=l==="rgb",a=l.replace(/a$/,"");i=a;var o=a==="cmyk"?4:a==="gray"?1:3;r=t[2].trim().split(/\s*[,\/]\s*|\s+/).map(function(h,d){if(/%$/.test(h))return d===o?parseFloat(h)/100:a==="rgb"?parseFloat(h)*255/100:parseFloat(h);if(a[d]==="h"){if(/deg$/.test(h))return parseFloat(h);if(CPe[h]!==void 0)return CPe[h]}return parseFloat(h)}),l===a&&r.push(1),n=u||r[o]===void 0?1:r[o],r=r.slice(0,o)}else e.length>10&&/[0-9](?:\s|\/)/.test(e)&&(r=e.match(/([0-9]+)/g).map(function(c){return parseFloat(c)}),i=e.match(/([a-z])/ig).join("").toLowerCase());else isNaN(e)?Array.isArray(e)||e.length?(r=[e[0],e[1],e[2]],i="rgb",n=e.length===4?e[3]:1):e instanceof Object&&(e.r!=null||e.red!=null||e.R!=null?(i="rgb",r=[e.r||e.red||e.R||0,e.g||e.green||e.G||0,e.b||e.blue||e.B||0]):(i="hsl",r=[e.h||e.hue||e.H||0,e.s||e.saturation||e.S||0,e.l||e.lightness||e.L||e.b||e.brightness]),n=e.a||e.alpha||e.opacity||1,e.opacity!=null&&(n/=100)):(i="rgb",r=[e>>>16,(e&65280)>>>8,e&255]);return{space:i,values:r,alpha:n}}});var RPe=ye((hgr,IPe)=>{"use strict";var mIt=PPe();IPe.exports=function(t){Array.isArray(t)&&t.raw&&(t=String.raw.apply(null,arguments));var r,n,i,a=mIt(t);if(!a.space)return[];var o=[0,0,0],s=a.space[0]==="h"?[360,100,100]:[255,255,255];return r=Array(3),r[0]=Math.min(Math.max(a.values[0],o[0]),s[0]),r[1]=Math.min(Math.max(a.values[1],o[1]),s[1]),r[2]=Math.min(Math.max(a.values[2],o[2]),s[2]),a.space[0]==="h"&&(r=yIt(r)),r.push(Math.min(Math.max(a.alpha,0),1)),r};function yIt(e){var t=e[0]/360,r=e[1]/100,n=e[2]/100,i,a,o,s,l,u=0;if(r===0)return l=n*255,[l,l,l];for(a=n<.5?n*(1+r):n+r-n*r,i=2*n-a,s=[0,0,0];u<3;)o=t+1/3*-(u-1),o<0?o++:o>1&&o--,l=6*o<1?i+(a-i)*6*o:2*o<1?a:3*o<2?i+(a-i)*(2/3-o)*6:i,s[u++]=l*255;return s}});var ik=ye((dgr,DPe)=>{DPe.exports=_It;function _It(e,t,r){return tr?r:e:et?t:e}});var tF=ye((vgr,FPe)=>{FPe.exports=function(e){switch(e){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}}});var sx=ye((pgr,zPe)=>{"use strict";var xIt=RPe(),rF=ik(),bIt=tF();zPe.exports=function(t,r){(r==="float"||!r)&&(r="array"),r==="uint"&&(r="uint8"),r==="uint_clamped"&&(r="uint8_clamped");var n=bIt(r),i=new n(4),a=r!=="uint8"&&r!=="uint8_clamped";return(!t.length||typeof t=="string")&&(t=xIt(t),t[0]/=255,t[1]/=255,t[2]/=255),wIt(t)?(i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3]!=null?t[3]:255,a&&(i[0]/=255,i[1]/=255,i[2]/=255,i[3]/=255),i):(a?(i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3]!=null?t[3]:1):(i[0]=rF(Math.floor(t[0]*255),0,255),i[1]=rF(Math.floor(t[1]*255),0,255),i[2]=rF(Math.floor(t[2]*255),0,255),i[3]=t[3]==null?255:rF(Math.floor(t[3]*255),0,255)),i)};function wIt(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))}});var n1=ye((ggr,qPe)=>{"use strict";var TIt=sx();function AIt(e){return e?TIt(e):[0,0,0,1]}qPe.exports=AIt});var a1=ye((mgr,HPe)=>{"use strict";var VPe=Eo(),SIt=fd(),iF=sx(),nF=tc(),MIt=Ih().defaultLine,OPe=Yd().isArrayOrTypedArray,SX=iF(MIt),GPe=1;function BPe(e,t){var r=e;return r[3]*=t,r}function NPe(e){if(VPe(e))return SX;var t=iF(e);return t.length?t:SX}function UPe(e){return VPe(e)?e:GPe}function EIt(e,t,r){var n=e.color;n&&n._inputArray&&(n=n._inputArray);var i=OPe(n),a=OPe(t),o=nF.extractOpts(e),s=[],l,u,c,f,h;if(o.colorscale!==void 0?l=nF.makeColorScaleFuncFromTrace(e):l=NPe,i?u=function(v,m){return v[m]===void 0?SX:iF(l(v[m]))}:u=NPe,a?c=function(v,m){return v[m]===void 0?GPe:UPe(v[m])}:c=UPe,i||a)for(var d=0;d{"use strict";jPe.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}});var aF=ye((_gr,WPe)=>{"use strict";WPe.exports={circle:"\u25CF","circle-open":"\u25CB",square:"\u25A0","square-open":"\u25A1",diamond:"\u25C6","diamond-open":"\u25C7",cross:"+",x:"\u274C"}});var ZPe=ye((xgr,XPe)=>{"use strict";var CIt=Oa();function EX(e,t,r,n){if(!t||!t.visible)return null;for(var i=CIt.getComponentMethod("errorbars","makeComputeError")(t),a=new Array(e.length),o=0;o0){var f=n.c2l(u);n._lowerLogErrorBound||(n._lowerLogErrorBound=f),n._lowerErrorBound=Math.min(n._lowerLogErrorBound,f)}}else a[o]=[-s[0]*r,s[1]*r]}return a}function LIt(e){for(var t=0;t{"use strict";var IIt=qd().gl_line3d,YPe=qd().gl_scatter3d,RIt=qd().gl_error3d,DIt=qd().gl_mesh3d,FIt=qd().delaunay_triangulate,o1=Pr(),eIe=n1(),oF=a1().formatColor,zIt=B3(),kX=MX(),qIt=aF(),OIt=ho(),BIt=ip().appendArrayPointValue,NIt=ZPe();function tIe(e,t){this.scene=e,this.uid=t,this.linePlot=null,this.scatterPlot=null,this.errorBars=null,this.textMarkers=null,this.delaunayMesh=null,this.color=null,this.mode="",this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}var LX=tIe.prototype;LX.handlePick=function(e){if(e.object&&(e.object===this.linePlot||e.object===this.delaunayMesh||e.object===this.textMarkers||e.object===this.scatterPlot)){var t=e.index=e.data.index;return e.object.highlight&&e.object.highlight(null),this.scatterPlot&&(e.object=this.scatterPlot,this.scatterPlot.highlight(e.data)),e.textLabel="",this.textLabels&&(o1.isArrayOrTypedArray(this.textLabels)?(this.textLabels[t]||this.textLabels[t]===0)&&(e.textLabel=this.textLabels[t]):e.textLabel=this.textLabels),e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]],!0}};function UIt(e,t,r){var n=(r+1)%3,i=(r+2)%3,a=[],o=[],s;for(s=0;s-1?-1:e.indexOf("right")>-1?1:0}function JPe(e){return e==null?0:e.indexOf("top")>-1?-1:e.indexOf("bottom")>-1?1:0}function GIt(e){var t=0,r=0,n=[t,r];if(Array.isArray(e))for(var i=0;i=0){var u=UIt(s.position,s.delaunayColor,s.delaunayAxis);u.opacity=e.opacity,this.delaunayMesh?this.delaunayMesh.update(u):(u.gl=t,this.delaunayMesh=DIt(u),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)};LX.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 XIt(e,t){var r=new tIe(e,t.uid);return r.update(t),r}rIe.exports=XIt});var FX=ye((wgr,sIe)=>{"use strict";var s1=pf(),ZIt=ec(),DX=Tu(),PX=vf().axisHoverFormat,{hovertemplateAttrs:YIt,texttemplateAttrs:KIt,templatefallbackAttrs:nIe}=Ll(),aIe=Gl(),JIt=MX(),$It=aF(),$g=Ao().extendFlat,QIt=mc().overrideAll,oIe=t_(),e8t=s1.line,$2=s1.marker,t8t=$2.line,r8t=$g({width:e8t.width,dash:{valType:"enumerated",values:oIe(JIt),dflt:"solid"}},DX("line"));function IX(e){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 RX=sIe.exports=QIt({x:s1.x,y:s1.y,z:{valType:"data_array"},text:$g({},s1.text,{}),texttemplate:KIt(),texttemplatefallback:nIe({editType:"calc"}),hovertext:$g({},s1.hovertext,{}),hovertemplate:YIt(),hovertemplatefallback:nIe(),xhoverformat:PX("x"),yhoverformat:PX("y"),zhoverformat:PX("z"),mode:$g({},s1.mode,{dflt:"lines+markers"}),surfaceaxis:{valType:"enumerated",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:"color"},projection:{x:IX("x"),y:IX("y"),z:IX("z")},connectgaps:s1.connectgaps,line:r8t,marker:$g({symbol:{valType:"enumerated",values:oIe($It),dflt:"circle",arrayOk:!0},size:$g({},$2.size,{dflt:8}),sizeref:$2.sizeref,sizemin:$2.sizemin,sizemode:$2.sizemode,opacity:$g({},$2.opacity,{arrayOk:!1}),colorbar:$2.colorbar,line:$g({width:$g({},t8t.width,{arrayOk:!1})},DX("marker.line"))},DX("marker")),textposition:$g({},s1.textposition,{dflt:"top center"}),textfont:ZIt({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:"calc",colorEditType:"style",arrayOk:!0,variantValues:["normal","small-caps"]}),opacity:aIe.opacity,hoverinfo:$g({},aIe.hoverinfo)},"calc","nested");RX.x.editType=RX.y.editType=RX.z.editType="calc+clearAxisTypes"});var cIe=ye((Tgr,uIe)=>{"use strict";var lIe=Oa(),i8t=Pr(),zX=Ru(),n8t=$p(),a8t=D0(),o8t=F0(),s8t=FX();uIe.exports=function(t,r,n,i){function a(d,v){return i8t.coerce(t,r,s8t,d,v)}var o=l8t(t,r,a,i);if(!o){r.visible=!1;return}a("text"),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback"),a("xhoverformat"),a("yhoverformat"),a("zhoverformat"),a("mode"),zX.hasMarkers(r)&&n8t(t,r,n,i,a,{noAngle:!0,noLineDash:!0,noSelect:!0}),zX.hasLines(r)&&(a("connectgaps"),a8t(t,r,n,i,a)),zX.hasText(r)&&(a("texttemplate"),a("texttemplatefallback"),o8t(t,r,i,a,{noSelect:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}));var s=(r.line||{}).color,l=(r.marker||{}).color;a("surfaceaxis")>=0&&a("surfacecolor",s||l);for(var u=["x","y","z"],c=0;c<3;++c){var f="projection."+u[c];a(f+".show")&&(a(f+".opacity"),a(f+".scale"))}var h=lIe.getComponentMethod("errorbars","supplyDefaults");h(t,r,s||l||n,{axis:"z"}),h(t,r,s||l||n,{axis:"y",inherit:"z"}),h(t,r,s||l||n,{axis:"x",inherit:"z"})};function l8t(e,t,r,n){var i=0,a=r("x"),o=r("y"),s=r("z"),l=lIe.getComponentMethod("calendars","handleTraceDefaults");return l(e,t,["x","y","z"],n),a&&o&&s&&(i=Math.min(a.length,o.length,s.length),t._length=t._xlength=t._ylength=t._zlength=i),i}});var hIe=ye((Agr,fIe)=>{"use strict";var u8t=Dm(),c8t=z0();fIe.exports=function(t,r){var n=[{x:!1,y:!1,trace:r,t:{}}];return u8t(n,r),c8t(t,r),n}});var vIe=ye((Sgr,dIe)=>{dIe.exports=f8t;function f8t(e,t){if(typeof e!="string")throw new TypeError("must specify type string");if(t=t||{},typeof document=="undefined"&&!t.canvas)return null;var r=t.canvas||document.createElement("canvas");typeof t.width=="number"&&(r.width=t.width),typeof t.height=="number"&&(r.height=t.height);var n=t,i;try{var a=[e];e.indexOf("webgl")===0&&a.push("experimental-"+e);for(var o=0;o{var h8t=vIe();pIe.exports=function(t){return h8t("webgl",t)}});var qX=ye((Egr,yIe)=>{"use strict";var mIe=ka(),d8t=function(){};yIe.exports=function(t){for(var r in t)typeof t[r]=="function"&&(t[r]=d8t);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var n=document.createElement("div");n.className="no-webgl",n.style.cursor="pointer",n.style.fontSize="24px",n.style.color=mIe.defaults[0],n.style.position="absolute",n.style.left=n.style.top="0px",n.style.width=n.style.height="100%",n.style["background-color"]=mIe.lightLine,n.style["z-index"]=30;var i=document.createElement("p");return i.textContent="WebGL is not supported by your browser - visit https://get.webgl.org for more info",i.style.position="relative",i.style.top="50%",i.style.left="50%",i.style.height="30%",i.style.width="50%",i.style.margin="-15% 0 0 -25%",n.appendChild(i),t.container.appendChild(n),t.container.style.background="#FFFFFF",t.container.onclick=function(){window.open("https://get.webgl.org")},!1}});var bIe=ye((kgr,xIe)=>{"use strict";var Q2=n1(),v8t=Pr(),p8t=["xaxis","yaxis","zaxis"];function _Ie(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickSize=[12,12,12],this.tickFontWeight=["normal","normal","normal","normal"],this.tickFontStyle=["normal","normal","normal","normal"],this.tickFontVariant=["normal","normal","normal","normal"],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[18,18,18],this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont=["Open Sans","Open Sans","Open Sans"],this.labelSize=[20,20,20],this.labelFontWeight=["normal","normal","normal","normal"],this.labelFontStyle=["normal","normal","normal","normal"],this.labelFontVariant=["normal","normal","normal","normal"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}var g8t=_Ie.prototype;g8t.merge=function(e,t){for(var r=this,n=0;n<3;++n){var i=t[p8t[n]];if(!i.visible){r.tickEnable[n]=!1,r.labelEnable[n]=!1,r.lineEnable[n]=!1,r.lineTickEnable[n]=!1,r.gridEnable[n]=!1,r.zeroEnable[n]=!1,r.backgroundEnable[n]=!1;continue}r.labels[n]=e._meta?v8t.templateString(i.title.text,e._meta):i.title.text,"font"in i.title&&(i.title.font.color&&(r.labelColor[n]=Q2(i.title.font.color)),i.title.font.family&&(r.labelFont[n]=i.title.font.family),i.title.font.size&&(r.labelSize[n]=i.title.font.size),i.title.font.weight&&(r.labelFontWeight[n]=i.title.font.weight),i.title.font.style&&(r.labelFontStyle[n]=i.title.font.style),i.title.font.variant&&(r.labelFontVariant[n]=i.title.font.variant)),"showline"in i&&(r.lineEnable[n]=i.showline),"linecolor"in i&&(r.lineColor[n]=Q2(i.linecolor)),"linewidth"in i&&(r.lineWidth[n]=i.linewidth),"showgrid"in i&&(r.gridEnable[n]=i.showgrid),"gridcolor"in i&&(r.gridColor[n]=Q2(i.gridcolor)),"gridwidth"in i&&(r.gridWidth[n]=i.gridwidth),i.type==="log"?r.zeroEnable[n]=!1:"zeroline"in i&&(r.zeroEnable[n]=i.zeroline),"zerolinecolor"in i&&(r.zeroLineColor[n]=Q2(i.zerolinecolor)),"zerolinewidth"in i&&(r.zeroLineWidth[n]=i.zerolinewidth),"ticks"in i&&i.ticks?r.lineTickEnable[n]=!0:r.lineTickEnable[n]=!1,"ticklen"in i&&(r.lineTickLength[n]=r._defaultLineTickLength[n]=i.ticklen),"tickcolor"in i&&(r.lineTickColor[n]=Q2(i.tickcolor)),"tickwidth"in i&&(r.lineTickWidth[n]=i.tickwidth),"tickangle"in i&&(r.tickAngle[n]=i.tickangle==="auto"?-3600:Math.PI*-i.tickangle/180),"showticklabels"in i&&(r.tickEnable[n]=i.showticklabels),"tickfont"in i&&(i.tickfont.color&&(r.tickColor[n]=Q2(i.tickfont.color)),i.tickfont.family&&(r.tickFont[n]=i.tickfont.family),i.tickfont.size&&(r.tickSize[n]=i.tickfont.size),i.tickfont.weight&&(r.tickFontWeight[n]=i.tickfont.weight),i.tickfont.style&&(r.tickFontStyle[n]=i.tickfont.style),i.tickfont.variant&&(r.tickFontVariant[n]=i.tickfont.variant)),"mirror"in i?["ticks","all","allticks"].indexOf(i.mirror)!==-1?(r.lineTickMirror[n]=!0,r.lineMirror[n]=!0):i.mirror===!0?(r.lineTickMirror[n]=!1,r.lineMirror[n]=!0):(r.lineTickMirror[n]=!1,r.lineMirror[n]=!1):r.lineMirror[n]=!1,"showbackground"in i&&i.showbackground!==!1?(r.backgroundEnable[n]=!0,r.backgroundColor[n]=Q2(i.backgroundcolor)):r.backgroundEnable[n]=!1}};function m8t(e,t){var r=new _Ie;return r.merge(e,t),r}xIe.exports=m8t});var AIe=ye((Cgr,TIe)=>{"use strict";var y8t=n1(),_8t=["xaxis","yaxis","zaxis"];function wIe(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}var x8t=wIe.prototype;x8t.merge=function(e){for(var t=0;t<3;++t){var r=e[_8t[t]];if(!r.visible){this.enabled[t]=!1,this.drawSides[t]=!1;continue}this.enabled[t]=r.showspikes,this.colors[t]=y8t(r.spikecolor),this.drawSides[t]=r.spikesides,this.lineWidth[t]=r.spikethickness}};function b8t(e){var t=new wIe;return t.merge(e),t}TIe.exports=b8t});var EIe=ye((Lgr,MIe)=>{"use strict";MIe.exports=M8t;var SIe=ho(),w8t=Pr(),T8t=["xaxis","yaxis","zaxis"],A8t=[0,0,0];function S8t(e){for(var t=new Array(3),r=0;r<3;++r){for(var n=e[r],i=new Array(n.length),a=0;a/g," "));i[a]=u,o.tickmode=s}}t.ticks=i;for(var a=0;a<3;++a){A8t[a]=.5*(e.glplot.bounds[0][a]+e.glplot.bounds[1][a]);for(var c=0;c<2;++c)t.bounds[c][a]=e.glplot.bounds[c][a]}e.contourLevels=S8t(i)}});var DIe=ye((Pgr,RIe)=>{"use strict";var LIe=qd().gl_plot3d,E8t=LIe.createCamera,kIe=LIe.createScene,k8t=gIe(),C8t=VL(),uF=Oa(),cp=Pr(),lF=cp.preserveDrawingBuffer(),cF=ho(),Qg=ef(),L8t=n1(),P8t=qX(),I8t=YU(),R8t=bIe(),D8t=AIe(),F8t=EIe(),z8t=Mg().applyAutorangeOptions,nk,sF,PIe=!1;function IIe(e,t){var r=document.createElement("div"),n=e.container;this.graphDiv=e.graphDiv;var i=document.createElementNS("http://www.w3.org/2000/svg","svg");i.style.position="absolute",i.style.top=i.style.left="0px",i.style.width=i.style.height="100%",i.style["z-index"]=20,i.style["pointer-events"]="none",r.appendChild(i),this.svgContainer=i,r.id=e.id,r.style.position="absolute",r.style.top=r.style.left="0px",r.style.width=r.style.height="100%",n.appendChild(r),this.fullLayout=t,this.id=e.id||"scene",this.fullSceneLayout=t[this.id],this.plotArgs=[[],{},{}],this.axesOptions=R8t(t,t[this.id]),this.spikeOptions=D8t(t[this.id]),this.container=r,this.staticMode=!!e.staticPlot,this.pixelRatio=this.pixelRatio||e.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=uF.getComponentMethod("annotations3d","convert"),this.drawAnnotations=uF.getComponentMethod("annotations3d","draw"),this.initializeGLPlot()}var Sv=IIe.prototype;Sv.prepareOptions=function(){var e=this,t={canvas:e.canvas,gl:e.gl,glOptions:{preserveDrawingBuffer:lF,premultipliedAlpha:!0,antialias:!0},container:e.container,axes:e.axesOptions,spikes:e.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1,cameraObject:e.camera,pixelRatio:e.pixelRatio};if(e.staticMode){if(!sF&&(nk=document.createElement("canvas"),sF=k8t({canvas:nk,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}),!sF))throw new Error("error creating static canvas/context for image server");t.gl=sF,t.canvas=nk}return t};var CIe=!0;Sv.tryCreatePlot=function(){var e=this,t=e.prepareOptions(),r=!0;try{e.glplot=kIe(t)}catch(n){if(e.staticMode||!CIe||lF)r=!1;else{cp.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{lF=t.glOptions.preserveDrawingBuffer=!0,e.glplot=kIe(t)}catch(i){lF=t.glOptions.preserveDrawingBuffer=!1,r=!1}}}return CIe=!1,r};Sv.initializeGLCamera=function(){var e=this,t=e.fullSceneLayout.camera,r=t.projection.type==="orthographic";e.camera=E8t(e.container,{center:[t.center.x,t.center.y,t.center.z],eye:[t.eye.x,t.eye.y,t.eye.z],up:[t.up.x,t.up.y,t.up.z],_ortho:r,zoomMin:.01,zoomMax:100,mode:"orbit"})};Sv.initializeGLPlot=function(){var e=this;e.initializeGLCamera();var t=e.tryCreatePlot();if(!t)return P8t(e);e.traces={},e.make4thDimension();var r=e.graphDiv,n=r.layout,i=function(){var o={};return e.isCameraChanged(n)&&(o[e.id+".camera"]=e.getCamera()),e.isAspectChanged(n)&&(o[e.id+".aspectratio"]=e.glplot.getAspectratio(),n[e.id].aspectmode!=="manual"&&(e.fullSceneLayout.aspectmode=n[e.id].aspectmode=o[e.id+".aspectmode"]="manual")),o},a=function(o){if(o.fullSceneLayout.dragmode!==!1){var s=i();o.saveLayout(n),o.graphDiv.emit("plotly_relayout",s)}};return e.glplot.canvas&&(e.glplot.canvas.addEventListener("mouseup",function(){a(e)}),e.glplot.canvas.addEventListener("touchstart",function(){PIe=!0}),e.glplot.canvas.addEventListener("wheel",function(o){if(r._context._scrollZoom.gl3d){if(e.camera._ortho){var s=o.deltaX>o.deltaY?1.1:.9090909090909091,l=e.glplot.getAspectratio();e.glplot.setAspectratio({x:s*l.x,y:s*l.y,z:s*l.z})}a(e)}},C8t?{passive:!1}:!1),e.glplot.canvas.addEventListener("mousemove",function(){if(e.fullSceneLayout.dragmode!==!1&&e.camera.mouseListener.buttons!==0){var o=i();e.graphDiv.emit("plotly_relayouting",o)}}),e.staticMode||e.glplot.canvas.addEventListener("webglcontextlost",function(o){r&&r.emit&&r.emit("plotly_webglcontextlost",{event:o,layer:e.id})},!1)),e.glplot.oncontextloss=function(){e.recoverContext()},e.glplot.onrender=function(){e.render()},!0};Sv.render=function(){var e=this,t=e.graphDiv,r,n=e.svgContainer,i=e.container.getBoundingClientRect();t._fullLayout._calcInverseTransform(t);var a=t._fullLayout._invScaleX,o=t._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,"viewBox","0 0 "+s+" "+l),n.setAttributeNS(null,"width",s),n.setAttributeNS(null,"height",l),F8t(e),e.glplot.axes.update(e.axesOptions);for(var u=Object.keys(e.traces),c=null,f=e.glplot.selection,h=0;h")):r.type==="isosurface"||r.type==="volume"?(p.valueLabel=cF.hoverLabelText(e._mockAxis,e._mockAxis.d2l(f.traceCoordinate[3]),r.valuehoverformat),x.push("value: "+p.valueLabel),f.textLabel&&x.push(f.textLabel),L=x.join("
")):L=f.textLabel;var C={x:f.traceCoordinate[0],y:f.traceCoordinate[1],z:f.traceCoordinate[2],data:m._input,fullData:m,curveNumber:m.index,pointNumber:b};Qg.appendArrayPointValue(C,m,b),r._module.eventData&&(C=m._module.eventData(C,f,m,{},b));var S={points:[C]};if(e.fullSceneLayout.hovermode){var g=[];Qg.loneHover({trace:m,x:(.5+.5*v[0]/v[3])*s,y:(.5-.5*v[1]/v[3])*l,xLabel:p.xLabel,yLabel:p.yLabel,zLabel:p.zLabel,text:L,name:c.name,color:Qg.castHoverOption(m,b,"bgcolor")||c.color,borderColor:Qg.castHoverOption(m,b,"bordercolor"),fontFamily:Qg.castHoverOption(m,b,"font.family"),fontSize:Qg.castHoverOption(m,b,"font.size"),fontColor:Qg.castHoverOption(m,b,"font.color"),nameLength:Qg.castHoverOption(m,b,"namelength"),textAlign:Qg.castHoverOption(m,b,"align"),hovertemplate:cp.castOption(m,b,"hovertemplate"),hovertemplateLabels:cp.extendFlat({},C,p),eventData:[C]},{container:n,gd:t,inOut_bbox:g}),C.bbox=g[0]}f.distance<5&&(f.buttons||PIe)?t.emit("plotly_click",S):t.emit("plotly_hover",S),this.oldEventData=S}else Qg.loneUnhover(n),this.oldEventData&&t.emit("plotly_unhover",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)};Sv.recoverContext=function(){var e=this;e.glplot.dispose();var t=function(){if(e.glplot.gl.isContextLost()){requestAnimationFrame(t);return}if(!e.initializeGLPlot()){cp.error("Catastrophic and unrecoverable WebGL error. Context lost.");return}e.plot.apply(e,e.plotArgs)};requestAnimationFrame(t)};var ak=["xaxis","yaxis","zaxis"];function q8t(e,t,r){for(var n=e.fullSceneLayout,i=0;i<3;i++){var a=ak[i],o=a.charAt(0),s=n[a],l=t[o],u=t[o+"calendar"],c=t["_"+o+"length"];if(!cp.isArrayOrTypedArray(l))r[0][i]=Math.min(r[0][i],0),r[1][i]=Math.max(r[1][i],c-1);else for(var f,h=0;h<(c||l.length);h++)if(cp.isArrayOrTypedArray(l[h]))for(var d=0;dm[1][o])m[0][o]=-1,m[1][o]=1;else{var E=m[1][o]-m[0][o];m[0][o]-=E/32,m[1][o]+=E/32}if(k=[m[0][o],m[1][o]],k=z8t(k,l),m[0][o]=k[0],m[1][o]=k[1],l.isReversed()){var z=m[0][o];m[0][o]=m[1][o],m[1][o]=z}}else k=l.range,m[0][o]=l.r2l(k[0]),m[1][o]=l.r2l(k[1]);m[0][o]===m[1][o]&&(m[0][o]-=1,m[1][o]+=1),b[o]=m[1][o]-m[0][o],l.range=[m[0][o],m[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*d[o],max:l.range[1]*d[o]})}var q,V=c.aspectmode;if(V==="cube")q=[1,1,1];else if(V==="manual"){var G=c.aspectratio;q=[G.x,G.y,G.z]}else if(V==="auto"||V==="data"){var Z=[1,1,1];for(o=0;o<3;++o){l=c[ak[o]],u=l.type;var j=p[u];Z[o]=Math.pow(j.acc,1/j.count)/d[o]}V==="data"||Math.max.apply(null,Z)/Math.min.apply(null,Z)<=4?q=Z:q=[1,1,1]}else throw new Error("scene.js aspectRatio was not one of the enumerated types");c.aspectratio.x=f.aspectratio.x=q[0],c.aspectratio.y=f.aspectratio.y=q[1],c.aspectratio.z=f.aspectratio.z=q[2],n.glplot.setAspectratio(c.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=c.aspectmode);var N=c.domain||null,H=t._size||null;if(N&&H){var ie=n.container.style;ie.position="absolute",ie.left=H.l+N.x[0]*H.w+"px",ie.top=H.t+(1-N.y[1])*H.h+"px",ie.width=H.w*(N.x[1]-N.x[0])+"px",ie.height=H.h*(N.y[1]-N.y[0])+"px"}n.glplot.redraw()}};Sv.destroy=function(){var e=this;e.glplot&&(e.camera.mouseListener.enabled=!1,e.container.removeEventListener("wheel",e.camera.wheelListener),e.camera=null,e.glplot.dispose(),e.container.parentNode.removeChild(e.container),e.glplot=null)};function B8t(e){return[[e.eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]}function N8t(e){return{up:{x:e.up[0],y:e.up[1],z:e.up[2]},center:{x:e.center[0],y:e.center[1],z:e.center[2]},eye:{x:e.eye[0],y:e.eye[1],z:e.eye[2]},projection:{type:e._ortho===!0?"orthographic":"perspective"}}}Sv.getCamera=function(){var e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),N8t(e.camera)};Sv.setViewport=function(e){var t=this,r=e.camera;t.camera.lookAt.apply(this,B8t(r)),t.glplot.setAspectratio(e.aspectratio);var n=r.projection.type==="orthographic",i=t.camera._ortho;n!==i&&(t.glplot.redraw(),t.glplot.clearRGBA(),t.glplot.dispose(),t.initializeGLPlot())};Sv.isCameraChanged=function(e){var t=this,r=t.getCamera(),n=cp.nestedProperty(e,t.id+".camera"),i=n.get();function a(u,c,f,h){var d=["up","center","eye"],v=["x","y","z"];return c[d[f]]&&u[d[f]][v[h]]===c[d[f]][v[h]]}var o=!1;if(i===void 0)o=!0;else{for(var s=0;s<3;s++)for(var l=0;l<3;l++)if(!a(r,i,s,l)){o=!0;break}(!i.projection||r.projection&&r.projection.type!==i.projection.type)&&(o=!0)}return o};Sv.isAspectChanged=function(e){var t=this,r=t.glplot.getAspectratio(),n=cp.nestedProperty(e,t.id+".aspectratio"),i=n.get();return i===void 0||i.x!==r.x||i.y!==r.y||i.z!==r.z};Sv.saveLayout=function(e){var t=this,r=t.fullLayout,n,i,a,o,s,l,u=t.isCameraChanged(e),c=t.isAspectChanged(e),f=u||c;if(f){var h={};if(u&&(n=t.getCamera(),i=cp.nestedProperty(e,t.id+".camera"),a=i.get(),h[t.id+".camera"]=a),c&&(o=t.glplot.getAspectratio(),s=cp.nestedProperty(e,t.id+".aspectratio"),l=s.get(),h[t.id+".aspectratio"]=l),uF.call("_storeDirectGUIEdit",e,r._preGUI,h),u){i.set(n);var d=cp.nestedProperty(r,t.id+".camera");d.set(n)}if(c){s.set(o);var v=cp.nestedProperty(r,t.id+".aspectratio");v.set(o),t.glplot.redraw()}}return f};Sv.updateFx=function(e,t){var r=this,n=r.camera;if(n)if(e==="orbit")n.mode="orbit",n.keyBindingMode="rotate";else if(e==="turntable"){n.up=[0,0,1],n.mode="turntable",n.keyBindingMode="rotate";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,u=o.up.z;if(u/Math.sqrt(s*s+l*l+u*u)<.999){var c=r.id+".camera.up",f={x:0,y:0,z:1},h={};h[c]=f;var d=i.layout;uF.call("_storeDirectGUIEdit",d,a._preGUI,h),o.up=f,cp.nestedProperty(d,c).set(f)}}else n.keyBindingMode=e;r.fullSceneLayout.hovermode=t};function U8t(e,t,r){for(var n=0,i=r-1;n0)for(var s=255/o,l=0;l<3;++l)e[a+l]=Math.min(s*e[a+l],255)}}Sv.toImage=function(e){var t=this;e||(e="png"),t.staticMode&&t.container.appendChild(nk),t.glplot.redraw();var r=t.glplot.gl,n=r.drawingBufferWidth,i=r.drawingBufferHeight;r.bindFramebuffer(r.FRAMEBUFFER,null);var a=new Uint8Array(n*i*4);r.readPixels(0,0,n,i,r.RGBA,r.UNSIGNED_BYTE,a),U8t(a,n,i),V8t(a,n,i);var o=document.createElement("canvas");o.width=n,o.height=i;var s=o.getContext("2d",{willReadFrequently:!0}),l=s.createImageData(n,i);l.data.set(a),s.putImageData(l,0,0);var u;switch(e){case"jpeg":u=o.toDataURL("image/jpeg");break;case"webp":u=o.toDataURL("image/webp");break;default:u=o.toDataURL("image/png")}return t.staticMode&&t.container.removeChild(nk),u};Sv.setConvert=function(){for(var e=this,t=0;t<3;t++){var r=e.fullSceneLayout[ak[t]];cF.setConvert(r,e.fullLayout),r.setScale=cp.noop}};Sv.make4thDimension=function(){var e=this,t=e.graphDiv,r=t._fullLayout;e._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},cF.setConvert(e._mockAxis,r)};RIe.exports=IIe});var zIe=ye((Igr,FIe)=>{"use strict";FIe.exports={scene:{valType:"subplotid",dflt:"scene",editType:"calc+clearAxisTypes"}}});var BX=ye((Rgr,qIe)=>{"use strict";var G8t=ka(),xs=Rd(),OX=Ao().extendFlat,H8t=mc().overrideAll;qIe.exports=H8t({visible:xs.visible,showspikes:{valType:"boolean",dflt:!0},spikesides:{valType:"boolean",dflt:!0},spikethickness:{valType:"number",min:0,dflt:2},spikecolor:{valType:"color",dflt:G8t.defaultLine},showbackground:{valType:"boolean",dflt:!1},backgroundcolor:{valType:"color",dflt:"rgba(204, 204, 204, 0.5)"},showaxeslabels:{valType:"boolean",dflt:!0},color:xs.color,categoryorder:xs.categoryorder,categoryarray:xs.categoryarray,title:{text:xs.title.text,font:xs.title.font},type:OX({},xs.type,{values:["-","linear","log","date","category"]}),autotypenumbers:xs.autotypenumbers,autorange:xs.autorange,autorangeoptions:{minallowed:xs.autorangeoptions.minallowed,maxallowed:xs.autorangeoptions.maxallowed,clipmin:xs.autorangeoptions.clipmin,clipmax:xs.autorangeoptions.clipmax,include:xs.autorangeoptions.include,editType:"plot"},rangemode:xs.rangemode,minallowed:xs.minallowed,maxallowed:xs.maxallowed,range:OX({},xs.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],anim:!1}),tickmode:xs.minor.tickmode,nticks:xs.nticks,tick0:xs.tick0,dtick:xs.dtick,tickvals:xs.tickvals,ticktext:xs.ticktext,ticks:xs.ticks,mirror:xs.mirror,ticklen:xs.ticklen,tickwidth:xs.tickwidth,tickcolor:xs.tickcolor,showticklabels:xs.showticklabels,labelalias:xs.labelalias,tickfont:xs.tickfont,tickangle:xs.tickangle,tickprefix:xs.tickprefix,showtickprefix:xs.showtickprefix,ticksuffix:xs.ticksuffix,showticksuffix:xs.showticksuffix,showexponent:xs.showexponent,exponentformat:xs.exponentformat,minexponent:xs.minexponent,separatethousands:xs.separatethousands,tickformat:xs.tickformat,tickformatstops:xs.tickformatstops,hoverformat:xs.hoverformat,showline:xs.showline,linecolor:xs.linecolor,linewidth:xs.linewidth,showgrid:xs.showgrid,gridcolor:OX({},xs.gridcolor,{dflt:"rgb(204, 204, 204)"}),gridwidth:xs.gridwidth,zeroline:xs.zeroline,zerolinecolor:xs.zerolinecolor,zerolinewidth:xs.zerolinewidth},"plot","from-root")});var GX=ye((Dgr,OIe)=>{"use strict";var NX=BX(),j8t=Cc().attributes,UX=Ao().extendFlat,W8t=Pr().counterRegex;function VX(e,t,r){return{x:{valType:"number",dflt:e,editType:"camera"},y:{valType:"number",dflt:t,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}OIe.exports={_arrayAttrRegexps:[W8t("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:UX(VX(0,0,1),{}),center:UX(VX(0,0,0),{}),eye:UX(VX(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:j8t({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:NX,yaxis:NX,zaxis:NX,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"}});var VIe=ye((Fgr,UIe)=>{"use strict";var X8t=fd().mix,BIe=Pr(),Z8t=vl(),Y8t=BX(),K8t=RU(),J8t=h4(),NIe=["xaxis","yaxis","zaxis"],$8t=100*136/187;UIe.exports=function(t,r,n){var i,a;function o(u,c){return BIe.coerce(i,a,Y8t,u,c)}for(var s=0;s{"use strict";var Q8t=Pr(),eRt=ka(),tRt=Oa(),rRt=q_(),iRt=VIe(),GIe=GX(),nRt=Id().getSubplotData,HIe="gl3d";jIe.exports=function(t,r,n){var i=r._basePlotModules.length>1;function a(o){if(!i){var s=Q8t.validate(t[o],GIe[o]);if(s)return t[o]}}rRt(t,r,n,{type:HIe,attributes:GIe,handleDefaults:aRt,fullLayout:r,font:r.font,fullData:n,getDfltFromLayout:a,autotypenumbersDflt:r.autotypenumbers,paper_bgcolor:r.paper_bgcolor,calendar:r.calendar})};function aRt(e,t,r,n){for(var i=r("bgcolor"),a=eRt.combine(i,n.paper_bgcolor),o=["up","center","eye"],s=0;s.999)&&(h="turntable")}else h="turntable";r("dragmode",h),r("hovermode",n.getDfltFromLayout("hovermode"))}});var lx=ye(fp=>{"use strict";var oRt=mc().overrideAll,sRt=W1(),lRt=DIe(),uRt=Id().getSubplotData,cRt=Pr(),fRt=Wp(),YA="gl3d",HX="scene";fp.name=YA;fp.attr=HX;fp.idRoot=HX;fp.idRegex=fp.attrRegex=cRt.counterRegex("scene");fp.attributes=zIe();fp.layoutAttributes=GX();fp.baseLayoutAttrOverrides=oRt({hoverlabel:sRt.hoverlabel},"plot","nested");fp.supplyLayoutDefaults=WIe();fp.plot=function(t){for(var r=t._fullLayout,n=t._fullData,i=r._subplots[YA],a=0;a{"use strict";XIe.exports={plot:iIe(),attributes:FX(),markerSymbols:aF(),supplyDefaults:cIe(),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:hIe(),moduleType:"trace",name:"scatter3d",basePlotModule:lx(),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}});var KIe=ye((Bgr,YIe)=>{"use strict";YIe.exports=ZIe()});var ok=ye((Ngr,QIe)=>{"use strict";var JIe=ka(),hRt=Tu(),jX=vf().axisHoverFormat,{hovertemplateAttrs:dRt,templatefallbackAttrs:vRt}=Ll(),$Ie=Gl(),WX=Ao().extendFlat,pRt=mc().overrideAll;function XX(e){return{valType:"boolean",dflt:!1}}function ZX(e){return{show:{valType:"boolean",dflt:!1},start:{valType:"number",dflt:null,editType:"plot"},end:{valType:"number",dflt:null,editType:"plot"},size:{valType:"number",dflt:null,min:0,editType:"plot"},project:{x:XX("x"),y:XX("y"),z:XX("z")},color:{valType:"color",dflt:JIe.defaultLine},usecolormap:{valType:"boolean",dflt:!1},width:{valType:"number",min:1,max:16,dflt:2},highlight:{valType:"boolean",dflt:!0},highlightcolor:{valType:"color",dflt:JIe.defaultLine},highlightwidth:{valType:"number",min:1,max:16,dflt:2}}}var YX=QIe.exports=pRt(WX({z:{valType:"data_array"},x:{valType:"data_array"},y:{valType:"data_array"},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:dRt(),hovertemplatefallback:vRt(),xhoverformat:jX("x"),yhoverformat:jX("y"),zhoverformat:jX("z"),connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},surfacecolor:{valType:"data_array"}},hRt("",{colorAttr:"z or surfacecolor",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:"calc"}),{contours:{x:ZX("x"),y:ZX("y"),z:ZX("z")},hidesurface:{valType:"boolean",dflt:!1},lightposition:{x:{valType:"number",min:-1e5,max:1e5,dflt:10},y:{valType:"number",min:-1e5,max:1e5,dflt:1e4},z:{valType:"number",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:"number",min:0,max:1,dflt:.8},diffuse:{valType:"number",min:0,max:1,dflt:.8},specular:{valType:"number",min:0,max:2,dflt:.05,description:"Represents the level that incident rays are reflected in a single direction, causing shine."},roughness:{valType:"number",min:0,max:1,dflt:.5,description:"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine."},fresnel:{valType:"number",min:0,max:5,dflt:.2}},opacity:{valType:"number",min:0,max:1,dflt:1},opacityscale:{valType:"any",editType:"calc"},hoverinfo:WX({},$Ie.hoverinfo),showlegend:WX({},$Ie.showlegend,{dflt:!1})}),"calc","nested");YX.x.editType=YX.y.editType=YX.z.editType="calc+clearAxisTypes"});var JX=ye((Ugr,r8e)=>{"use strict";var gRt=Oa(),e8e=Pr(),mRt=td(),yRt=ok(),KX=.1;function _Rt(e,t){for(var r=[],n=32,i=0;i{"use strict";var i8e=gv();n8e.exports=function(t,r){r.surfacecolor?i8e(t,r,{vals:r.surfacecolor,containerStr:"",cLetter:"c"}):i8e(t,r,{vals:r.z,containerStr:"",cLetter:"c"})}});var f8e=ye((Ggr,c8e)=>{"use strict";var wRt=qd().gl_surface3d,KA=qd().ndarray,TRt=qd().ndarray_linear_interpolate.d2,ARt=f8(),SRt=h8(),sk=Pr().isArrayOrTypedArray,MRt=a1().parseColorScale,o8e=n1(),ERt=tc().extractOpts;function l8e(e,t,r){this.scene=e,this.uid=r,this.surface=t,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var em=l8e.prototype;em.getXat=function(e,t,r,n){var i=sk(this.data.x)?sk(this.data.x[0])?this.data.x[t][e]:this.data.x[e]:e;return r===void 0?i:n.d2l(i,0,r)};em.getYat=function(e,t,r,n){var i=sk(this.data.y)?sk(this.data.y[0])?this.data.y[t][e]:this.data.y[t]:t;return r===void 0?i:n.d2l(i,0,r)};em.getZat=function(e,t,r,n){var i=this.data.z[t][e];return i===null&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[t][e]),r===void 0?i:n.d2l(i,0,r)};em.handlePick=function(e){if(e.object===this.surface){var t=(e.data.index[0]-1)/this.dataScaleX-1,r=(e.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(t),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);e.index=[n,i],e.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],e.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){var o=e.dataCoordinate[a];o!=null&&(e.dataCoordinate[a]*=this.scene.dataScale[a])}var s=this.data.hovertext||this.data.text;return sk(s)&&s[i]&&s[i][n]!==void 0?e.textLabel=s[i][n]:s?e.textLabel=s:e.textLabel="",e.data.dataCoordinate=e.dataCoordinate.slice(),this.surface.highlight(e.data),this.scene.glplot.spikes.position=e.dataCoordinate,!0}};function kRt(e){var t=e[0].rgb,r=e[e.length-1].rgb;return t[0]===r[0]&&t[1]===r[1]&&t[2]===r[2]&&t[3]===r[3]}var JA=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function CRt(e,t){if(e0){r=JA[n];break}return r}function PRt(e,t){if(!(e<1||t<1)){for(var r=$X(e),n=$X(t),i=1,a=0;afF;)n--,n/=LRt(n),n++,n1?i:1};function RRt(e,t,r){var n=r[8]+r[2]*t[0]+r[5]*t[1];return e[0]=(r[6]+r[0]*t[0]+r[3]*t[1])/n,e[1]=(r[7]+r[1]*t[0]+r[4]*t[1])/n,e}function DRt(e,t,r){return FRt(e,t,RRt,r),e}function FRt(e,t,r,n){for(var i=[0,0],a=e.shape[0],o=e.shape[1],s=0;s0&&this.contourStart[n]!==null&&this.contourEnd[n]!==null&&this.contourEnd[n]>this.contourStart[n]))for(t[n]=!0,i=this.contourStart[n];ih&&(this.minValues[u]=h),this.maxValues[u]{"use strict";h8e.exports={attributes:ok(),supplyDefaults:JX().supplyDefaults,colorbar:{min:"cmin",max:"cmax"},calc:a8e(),plot:f8e(),moduleType:"trace",name:"surface",basePlotModule:lx(),categories:["gl3d","2dMap","showLegend"],meta:{}}});var p8e=ye((jgr,v8e)=>{"use strict";v8e.exports=d8e()});var $A=ye((Wgr,m8e)=>{"use strict";var ORt=Tu(),QX=vf().axisHoverFormat,{hovertemplateAttrs:BRt,templatefallbackAttrs:NRt}=Ll(),ux=ok(),g8e=Gl(),cx=Ao().extendFlat;m8e.exports=cx({x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},i:{valType:"data_array",editType:"calc"},j:{valType:"data_array",editType:"calc"},k:{valType:"data_array",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:BRt({editType:"calc"}),hovertemplatefallback:NRt({editType:"calc"}),xhoverformat:QX("x"),yhoverformat:QX("y"),zhoverformat:QX("z"),delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",editType:"calc"},intensitymode:{valType:"enumerated",values:["vertex","cell"],dflt:"vertex",editType:"calc"},color:{valType:"color",editType:"calc"},vertexcolor:{valType:"data_array",editType:"calc"},facecolor:{valType:"data_array",editType:"calc"}},ORt("",{colorAttr:"`intensity`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:ux.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc"},contour:{show:cx({},ux.contours.x.show,{}),color:ux.contours.x.color,width:ux.contours.x.width,editType:"calc"},lightposition:{x:cx({},ux.lightposition.x,{dflt:1e5}),y:cx({},ux.lightposition.y,{dflt:1e5}),z:cx({},ux.lightposition.z,{dflt:0}),editType:"calc"},lighting:cx({vertexnormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-12,editType:"calc",description:"Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry."},facenormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-6,editType:"calc",description:"Epsilon for face normals calculation avoids math issues arising from degenerate geometry."},editType:"calc"},ux.lighting),hoverinfo:cx({},g8e.hoverinfo,{editType:"calc"}),showlegend:cx({},g8e.showlegend,{dflt:!1})})});var dF=ye((Xgr,_8e)=>{"use strict";var URt=Tu(),hF=vf().axisHoverFormat,{hovertemplateAttrs:VRt,templatefallbackAttrs:GRt}=Ll(),lk=$A(),y8e=Gl(),eZ=Ao().extendFlat,HRt=mc().overrideAll;function tZ(e){return{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}}}function rZ(e){return{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}}}var QA=_8e.exports=HRt(eZ({x:{valType:"data_array"},y:{valType:"data_array"},z:{valType:"data_array"},value:{valType:"data_array"},isomin:{valType:"number"},isomax:{valType:"number"},surface:{show:{valType:"boolean",dflt:!0},count:{valType:"integer",dflt:2,min:1},fill:{valType:"number",min:0,max:1,dflt:1},pattern:{valType:"flaglist",flags:["A","B","C","D","E"],extras:["all","odd","even"],dflt:"all"}},spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:.15}},slices:{x:tZ("x"),y:tZ("y"),z:tZ("z")},caps:{x:rZ("x"),y:rZ("y"),z:rZ("z")},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:VRt(),hovertemplatefallback:GRt(),xhoverformat:hF("x"),yhoverformat:hF("y"),zhoverformat:hF("z"),valuehoverformat:hF("value",1),showlegend:eZ({},y8e.showlegend,{dflt:!1})},URt("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:lk.opacity,lightposition:lk.lightposition,lighting:lk.lighting,flatshading:lk.flatshading,contour:lk.contour,hoverinfo:eZ({},y8e.hoverinfo)}),"calc","nested");QA.flatshading.dflt=!0;QA.lighting.facenormalsepsilon.dflt=0;QA.x.editType=QA.y.editType=QA.z.editType=QA.value.editType="calc+clearAxisTypes"});var iZ=ye((Zgr,b8e)=>{"use strict";var jRt=Pr(),WRt=Oa(),XRt=dF(),ZRt=td();function YRt(e,t,r,n){function i(a,o){return jRt.coerce(e,t,XRt,a,o)}x8e(e,t,r,n,i)}function x8e(e,t,r,n,i){var a=i("isomin"),o=i("isomax");o!=null&&a!==void 0&&a!==null&&a>o&&(t.isomin=null,t.isomax=null);var s=i("x"),l=i("y"),u=i("z"),c=i("value");if(!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length){t.visible=!1;return}var f=WRt.getComponentMethod("calendars","handleTraceDefaults");f(e,t,["x","y","z"],n),i("valuehoverformat"),["x","y","z"].forEach(function(m){i(m+"hoverformat");var b="caps."+m,p=i(b+".show");p&&i(b+".fill");var k="slices."+m,M=i(k+".show");M&&(i(k+".fill"),i(k+".locations"))});var h=i("spaceframe.show");h&&i("spaceframe.fill");var d=i("surface.show");d&&(i("surface.count"),i("surface.fill"),i("surface.pattern"));var v=i("contour.show");v&&(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)}),ZRt(e,t,n,i,{prefix:"",cLetter:"c"}),t._length=null}b8e.exports={supplyDefaults:YRt,supplyIsoDefaults:x8e}});var vF=ye((Ygr,T8e)=>{"use strict";var aZ=Pr(),KRt=gv();function JRt(e,t){t._len=Math.min(t.u.length,t.v.length,t.w.length,t.x.length,t.y.length,t.z.length),t._u=$m(t.u,t._len),t._v=$m(t.v,t._len),t._w=$m(t.w,t._len),t._x=$m(t.x,t._len),t._y=$m(t.y,t._len),t._z=$m(t.z,t._len);var r=w8e(t);t._gridFill=r.fill,t._Xs=r.Xs,t._Ys=r.Ys,t._Zs=r.Zs,t._len=r.len;var n=0,i,a,o;t.starts&&(i=$m(t.starts.x||[]),a=$m(t.starts.y||[]),o=$m(t.starts.z||[]),n=Math.min(i.length,a.length,o.length)),t._startsX=i||[],t._startsY=a||[],t._startsZ=o||[];var s=0,l=1/0,u;for(u=0;u1&&(M=t[i-1],L=r[i-1],C=n[i-1]),a=0;aM?"-":"+")+"x"),v=v.replace("y",(T>L?"-":"+")+"y"),v=v.replace("z",(x>C?"-":"+")+"z");var E=function(){i=0,S=[],g=[],P=[]};(!i||i{"use strict";var $Rt=gv(),QRt=vF().processGrid,pF=vF().filter;A8e.exports=function(t,r){r._len=Math.min(r.x.length,r.y.length,r.z.length,r.value.length),r._x=pF(r.x,r._len),r._y=pF(r.y,r._len),r._z=pF(r.z,r._len),r._value=pF(r.value,r._len);var n=QRt(r);r._gridFill=n.fill,r._Xs=n.Xs,r._Ys=n.Ys,r._Zs=n.Zs,r._len=n.len;for(var i=1/0,a=-1/0,o=0;o{"use strict";S8e.exports=function(t,r,n,i){i=i||t.length;for(var a=new Array(i),o=0;o{"use strict";var eDt=qd().gl_mesh3d,tDt=a1().parseColorScale,rDt=Pr().isArrayOrTypedArray,iDt=n1(),nDt=tc().extractOpts,M8e=e5(),uk=function(e,t){for(var r=t.length-1;r>0;r--){var n=Math.min(t[r],t[r-1]),i=Math.max(t[r],t[r-1]);if(i>n&&n-1}function ae(St,Tt){return St===null?Tt:St}function _e(St,Tt,dt){E();var Et=[Tt],pt=[dt];if(j>=1)Et=[Tt],pt=[dt];else if(j>0){var jt=H(Tt,dt);Et=jt.xyzv,pt=jt.abc}for(var or=0;or-1?dt[Ar]:P(ei,qr,jr);Ge>-1?mr[Ar]=Ge:mr[Ar]=q(ei,qr,jr,ae(St,gt))}V(mr[0],mr[1],mr[2])}}function Ee(St,Tt,dt){var Et=function(pt,jt,or){_e(St,[Tt[pt],Tt[jt],Tt[or]],[dt[pt],dt[jt],dt[or]])};Et(0,1,2),Et(2,3,0)}function Ce(St,Tt,dt){var Et=function(pt,jt,or){_e(St,[Tt[pt],Tt[jt],Tt[or]],[dt[pt],dt[jt],dt[or]])};Et(0,1,2),Et(3,0,1),Et(2,3,0),Et(1,2,3)}function ge(St,Tt,dt,Et){var pt=St[3];ptEt&&(pt=Et);for(var jt=(St[3]-pt)/(St[3]-Tt[3]+1e-9),or=[],mr=0;mr<4;mr++)or[mr]=(1-jt)*St[mr]+jt*Tt[mr];return or}function re(St,Tt,dt){return St>=Tt&&St<=dt}function Se(St){var Tt=.001*(L-T);return St>=T-Tt&&St<=L+Tt}function ke(St){for(var Tt=[],dt=0;dt<4;dt++){var Et=St[dt];Tt.push([e._x[Et],e._y[Et],e._z[Et],e._value[Et]])}return Tt}var be=3;function Be(St,Tt,dt,Et,pt,jt){jt||(jt=1),dt=[-1,-1,-1];var or=!1,mr=[re(Tt[0][3],Et,pt),re(Tt[1][3],Et,pt),re(Tt[2][3],Et,pt)];if(!mr[0]&&!mr[1]&&!mr[2])return!1;var Ar=function(qr,jr,gt){return Se(jr[0][3])&&Se(jr[1][3])&&Se(jr[2][3])?(_e(qr,jr,gt),!0):jtmr?[k,jt]:[jt,M];Vt(Tt,Ar[0],Ar[1])}}var ei=[[Math.min(T,M),Math.max(T,M)],[Math.min(k,L),Math.max(k,L)]];["x","y","z"].forEach(function(qr){for(var jr=[],gt=0;gt0&&(At.push(Mr.id),qr==="x"?Kt.push([Mr.distRatio,0,0]):qr==="y"?Kt.push([0,Mr.distRatio,0]):Kt.push([0,0,Mr.distRatio]))}else qr==="x"?xt=Ue(1,d-1):qr==="y"?xt=Ue(1,v-1):xt=Ue(1,m-1);At.length>0&&(qr==="x"?jr[Ge]=rr(St,At,Je,We,Kt,jr[Ge]):qr==="y"?jr[Ge]=tt(St,At,Je,We,Kt,jr[Ge]):jr[Ge]=je(St,At,Je,We,Kt,jr[Ge]),Ge++),xt.length>0&&(qr==="x"?jr[Ge]=mt(St,xt,Je,We,jr[Ge]):qr==="y"?jr[Ge]=Ht(St,xt,Je,We,jr[Ge]):jr[Ge]=at(St,xt,Je,We,jr[Ge]),Ge++)}var Gr=e.caps[qr];Gr.show&&Gr.fill&&(N(Gr.fill),qr==="x"?jr[Ge]=mt(St,[0,d-1],Je,We,jr[Ge]):qr==="y"?jr[Ge]=Ht(St,[0,v-1],Je,We,jr[Ge]):jr[Ge]=at(St,[0,m-1],Je,We,jr[Ge]),Ge++)}}),s===0&&z(),e._meshX=x,e._meshY=C,e._meshZ=S,e._meshIntensity=g,e._Xs=c,e._Ys=f,e._Zs=h}return rt(),e}function oDt(e,t){var r=e.glplot.gl,n=eDt({gl:r}),i=new E8e(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}C8e.exports={findNearestOnAxis:uk,generateIsoMeshes:k8e,createIsosurfaceTrace:oDt}});var P8e=ye((Qgr,L8e)=>{"use strict";L8e.exports={attributes:dF(),supplyDefaults:iZ().supplyDefaults,calc:oZ(),colorbar:{min:"cmin",max:"cmax"},plot:gF().createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:lx(),categories:["gl3d","showLegend"],meta:{}}});var R8e=ye((emr,I8e)=>{"use strict";I8e.exports=P8e()});var uZ=ye((tmr,F8e)=>{"use strict";var sDt=Tu(),xh=dF(),lDt=ok(),D8e=Gl(),lZ=Ao().extendFlat,uDt=mc().overrideAll,mF=F8e.exports=uDt(lZ({x:xh.x,y:xh.y,z:xh.z,value:xh.value,isomin:xh.isomin,isomax:xh.isomax,surface:xh.surface,spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:1}},slices:xh.slices,caps:xh.caps,text:xh.text,hovertext:xh.hovertext,xhoverformat:xh.xhoverformat,yhoverformat:xh.yhoverformat,zhoverformat:xh.zhoverformat,valuehoverformat:xh.valuehoverformat,hovertemplate:xh.hovertemplate,hovertemplatefallback:xh.hovertemplatefallback},sDt("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{colorbar:xh.colorbar,opacity:xh.opacity,opacityscale:lDt.opacityscale,lightposition:xh.lightposition,lighting:xh.lighting,flatshading:xh.flatshading,contour:xh.contour,hoverinfo:lZ({},D8e.hoverinfo),showlegend:lZ({},D8e.showlegend,{dflt:!1})}),"calc","nested");mF.x.editType=mF.y.editType=mF.z.editType=mF.value.editType="calc+clearAxisTypes"});var q8e=ye((rmr,z8e)=>{"use strict";var cDt=Pr(),fDt=uZ(),hDt=iZ().supplyIsoDefaults,dDt=JX().opacityscaleDefaults;z8e.exports=function(t,r,n,i){function a(o,s){return cDt.coerce(t,r,fDt,o,s)}hDt(t,r,n,i,a),dDt(t,r,i,a)}});var U8e=ye((imr,N8e)=>{"use strict";var vDt=qd().gl_mesh3d,pDt=a1().parseColorScale,gDt=Pr().isArrayOrTypedArray,mDt=n1(),yDt=tc().extractOpts,O8e=e5(),cZ=gF().findNearestOnAxis,_Dt=gF().generateIsoMeshes;function B8e(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name="",this.data=null,this.showContour=!1}var fZ=B8e.prototype;fZ.handlePick=function(e){if(e.object===this.mesh){var t=e.data.index,r=this.data._meshX[t],n=this.data._meshY[t],i=this.data._meshZ[t],a=this.data._Ys.length,o=this.data._Zs.length,s=cZ(r,this.data._Xs).id,l=cZ(n,this.data._Ys).id,u=cZ(i,this.data._Zs).id,c=e.index=u+o*l+o*a*s;e.traceCoordinate=[this.data._meshX[c],this.data._meshY[c],this.data._meshZ[c],this.data._value[c]];var f=this.data.hovertext||this.data.text;return gDt(f)&&f[c]!==void 0?e.textLabel=f[c]:f&&(e.textLabel=f),!0}};fZ.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=_Dt(e);function n(l,u,c,f){return u.map(function(h){return l.d2l(h,0,f)*c})}var i=O8e(n(r.xaxis,e._meshX,t.dataScale[0],e.xcalendar),n(r.yaxis,e._meshY,t.dataScale[1],e.ycalendar),n(r.zaxis,e._meshZ,t.dataScale[2],e.zcalendar)),a=O8e(e._meshI,e._meshJ,e._meshK),o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,opacityscale:e.opacityscale,contourEnable:e.contour.show,contourColor:mDt(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading},s=yDt(e);o.vertexIntensity=e._meshIntensity,o.vertexIntensityBounds=[s.min,s.max],o.colormap=pDt(e),this.mesh.update(o)};fZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function xDt(e,t){var r=e.glplot.gl,n=vDt({gl:r}),i=new B8e(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}N8e.exports=xDt});var G8e=ye((nmr,V8e)=>{"use strict";V8e.exports={attributes:uZ(),supplyDefaults:q8e(),calc:oZ(),colorbar:{min:"cmin",max:"cmax"},plot:U8e(),moduleType:"trace",name:"volume",basePlotModule:lx(),categories:["gl3d","showLegend"],meta:{}}});var j8e=ye((amr,H8e)=>{"use strict";H8e.exports=G8e()});var Z8e=ye((omr,X8e)=>{"use strict";var bDt=Oa(),W8e=Pr(),wDt=td(),TDt=$A();X8e.exports=function(t,r,n,i){function a(c,f){return W8e.coerce(t,r,TDt,c,f)}function o(c){var f=c.map(function(h){var d=a(h);return d&&W8e.isArrayOrTypedArray(d)?d:null});return f.every(function(h){return h&&h.length===f[0].length})&&f}var s=o(["x","y","z"]);if(!s){r.visible=!1;return}if(o(["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 l=bDt.getComponentMethod("calendars","handleTraceDefaults");l(t,r,["x","y","z"],i),["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(c){a(c)});var u=a("contour.show");u&&(a("contour.color"),a("contour.width")),"intensity"in t?(a("intensity"),a("intensitymode"),wDt(t,r,i,a,{prefix:"",cLetter:"c"})):(r.showscale=!1,"facecolor"in t?a("facecolor"):"vertexcolor"in t?a("vertexcolor"):a("color",n)),a("text"),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback"),a("xhoverformat"),a("yhoverformat"),a("zhoverformat"),r._length=null}});var K8e=ye((smr,Y8e)=>{"use strict";var ADt=gv();Y8e.exports=function(t,r){r.intensity&&ADt(t,r,{vals:r.intensity,containerStr:"",cLetter:"c"})}});var tRe=ye((lmr,eRe)=>{"use strict";var SDt=qd().gl_mesh3d,MDt=qd().delaunay_triangulate,EDt=qd().alpha_shape,kDt=qd().convex_hull,CDt=a1().parseColorScale,LDt=Pr().isArrayOrTypedArray,pZ=n1(),PDt=tc().extractOpts,J8e=e5();function Q8e(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var gZ=Q8e.prototype;gZ.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index;e.data._cellCenter?e.traceCoordinate=e.data.dataCoordinate:e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]];var r=this.data.hovertext||this.data.text;return LDt(r)&&r[t]!==void 0?e.textLabel=r[t]:r&&(e.textLabel=r),!0}};function $8e(e){for(var t=[],r=e.length,n=0;n=t-.5)return!1;return!0}gZ.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=e;var n=e.x.length,i=J8e(hZ(r.xaxis,e.x,t.dataScale[0],e.xcalendar),hZ(r.yaxis,e.y,t.dataScale[1],e.ycalendar),hZ(r.zaxis,e.z,t.dataScale[2],e.zcalendar)),a;if(e.i&&e.j&&e.k){if(e.i.length!==e.j.length||e.j.length!==e.k.length||!vZ(e.i,n)||!vZ(e.j,n)||!vZ(e.k,n))return;a=J8e(dZ(e.i),dZ(e.j),dZ(e.k))}else e.alphahull===0?a=kDt(i):e.alphahull>0?a=EDt(e.alphahull,i):a=IDt(e.delaunayaxis,i);var o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,contourEnable:e.contour.show,contourColor:pZ(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading};if(e.intensity){var s=PDt(e);this.color="#fff";var l=e.intensitymode;o[l+"Intensity"]=e.intensity,o[l+"IntensityBounds"]=[s.min,s.max],o.colormap=CDt(e)}else e.vertexcolor?(this.color=e.vertexcolor[0],o.vertexColors=$8e(e.vertexcolor)):e.facecolor?(this.color=e.facecolor[0],o.cellColors=$8e(e.facecolor)):(this.color=e.color,o.meshColor=pZ(e.color));this.mesh.update(o)};gZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function RDt(e,t){var r=e.glplot.gl,n=SDt({gl:r}),i=new Q8e(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}eRe.exports=RDt});var iRe=ye((umr,rRe)=>{"use strict";rRe.exports={attributes:$A(),supplyDefaults:Z8e(),calc:K8e(),colorbar:{min:"cmin",max:"cmax"},plot:tRe(),moduleType:"trace",name:"mesh3d",basePlotModule:lx(),categories:["gl3d","showLegend"],meta:{}}});var aRe=ye((cmr,nRe)=>{"use strict";nRe.exports=iRe()});var yZ=ye((fmr,sRe)=>{"use strict";var DDt=Tu(),t5=vf().axisHoverFormat,{hovertemplateAttrs:FDt,templatefallbackAttrs:zDt}=Ll(),qDt=$A(),oRe=Gl(),mZ=Ao().extendFlat,yF={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:FDt({editType:"calc"},{keys:["norm"]}),hovertemplatefallback:zDt({editType:"calc"}),uhoverformat:t5("u",1),vhoverformat:t5("v",1),whoverformat:t5("w",1),xhoverformat:t5("x"),yhoverformat:t5("y"),zhoverformat:t5("z"),showlegend:mZ({},oRe.showlegend,{dflt:!1})};mZ(yF,DDt("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));var ODt=["opacity","lightposition","lighting"];ODt.forEach(function(e){yF[e]=qDt[e]});yF.hoverinfo=mZ({},oRe.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"});sRe.exports=yF});var uRe=ye((hmr,lRe)=>{"use strict";var BDt=Pr(),NDt=td(),UDt=yZ();lRe.exports=function(t,r,n,i){function a(d,v){return BDt.coerce(t,r,UDt,d,v)}var o=a("u"),s=a("v"),l=a("w"),u=a("x"),c=a("y"),f=a("z");if(!o||!o.length||!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length||!f||!f.length){r.visible=!1;return}var h=a("sizemode");a("sizeref",h==="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"),NDt(t,r,i,a,{prefix:"",cLetter:"c"}),a("text"),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback"),a("uhoverformat"),a("vhoverformat"),a("whoverformat"),a("xhoverformat"),a("yhoverformat"),a("zhoverformat"),r._length=null}});var fRe=ye((dmr,cRe)=>{"use strict";var VDt=gv();cRe.exports=function(t,r){for(var n=r.u,i=r.v,a=r.w,o=Math.min(r.x.length,r.y.length,r.z.length,n.length,i.length,a.length),s=-1/0,l=1/0,u=0;u{"use strict";var GDt=qd().gl_cone3d,HDt=qd().gl_cone3d.createConeMesh,jDt=Pr().simpleMap,WDt=a1().parseColorScale,XDt=tc().extractOpts,ZDt=Pr().isArrayOrTypedArray,hRe=e5();function dRe(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var _Z=dRe.prototype;_Z.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index,r=this.data.x[t],n=this.data.y[t],i=this.data.z[t],a=this.data.u[t],o=this.data.v[t],s=this.data.w[t];e.traceCoordinate=[r,n,i,a,o,s,Math.sqrt(a*a+o*o+s*s)];var l=this.data.hovertext||this.data.text;return ZDt(l)&&l[t]!==void 0?e.textLabel=l[t]:l&&(e.textLabel=l),!0}};var YDt={xaxis:0,yaxis:1,zaxis:2},KDt={tip:1,tail:0,cm:.25,center:.5},JDt={tip:1,tail:1,cm:.75,center:.5};function vRe(e,t){var r=e.fullSceneLayout,n=e.dataScale,i={};function a(c,f){var h=r[f],d=n[YDt[f]];return jDt(c,function(v){return h.d2l(v)*d})}i.vectors=hRe(a(t.u,"xaxis"),a(t.v,"yaxis"),a(t.w,"zaxis"),t._len),i.positions=hRe(a(t.x,"xaxis"),a(t.y,"yaxis"),a(t.z,"zaxis"),t._len);var o=XDt(t);i.colormap=WDt(t),i.vertexIntensityBounds=[o.min/t._normMax,o.max/t._normMax],i.coneOffset=KDt[t.anchor];var s=t.sizemode;s==="scaled"?i.coneSize=t.sizeref||.5:s==="absolute"?i.coneSize=t.sizeref&&t._normMax?t.sizeref/t._normMax:.5:s==="raw"&&(i.coneSize=t.sizeref),i.coneSizemode=s;var l=GDt(i),u=t.lightposition;return l.lightPosition=[u.x,u.y,u.z],l.ambient=t.lighting.ambient,l.diffuse=t.lighting.diffuse,l.specular=t.lighting.specular,l.roughness=t.lighting.roughness,l.fresnel=t.lighting.fresnel,l.opacity=t.opacity,t._pad=JDt[t.anchor]*l.vectorScale*l.coneScale*t._normMax,l}_Z.update=function(e){this.data=e;var t=vRe(this.scene,e);this.mesh.update(t)};_Z.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function $Dt(e,t){var r=e.glplot.gl,n=vRe(e,t),i=HDt(r,n),a=new dRe(e,t.uid);return a.mesh=i,a.data=t,i._trace=a,e.glplot.add(i),a}pRe.exports=$Dt});var yRe=ye((pmr,mRe)=>{"use strict";mRe.exports={moduleType:"trace",name:"cone",basePlotModule:lx(),categories:["gl3d","showLegend"],attributes:yZ(),supplyDefaults:uRe(),colorbar:{min:"cmin",max:"cmax"},calc:fRe(),plot:gRe(),eventData:function(e,t){return e.norm=t.traceCoordinate[6],e},meta:{}}});var xRe=ye((gmr,_Re)=>{"use strict";_Re.exports=yRe()});var bZ=ye((mmr,wRe)=>{"use strict";var QDt=Tu(),r5=vf().axisHoverFormat,{hovertemplateAttrs:eFt,templatefallbackAttrs:tFt}=Ll(),rFt=$A(),bRe=Gl(),xZ=Ao().extendFlat,_F={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},starts:{x:{valType:"data_array",editType:"calc"},y:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},editType:"calc"},maxdisplayed:{valType:"integer",min:0,dflt:1e3,editType:"calc"},sizeref:{valType:"number",editType:"calc",min:0,dflt:1},text:{valType:"string",dflt:"",editType:"calc"},hovertext:{valType:"string",dflt:"",editType:"calc"},hovertemplate:eFt({editType:"calc"},{keys:["tubex","tubey","tubez","tubeu","tubev","tubew","norm","divergence"]}),hovertemplatefallback:tFt({editType:"calc"}),uhoverformat:r5("u",1),vhoverformat:r5("v",1),whoverformat:r5("w",1),xhoverformat:r5("x"),yhoverformat:r5("y"),zhoverformat:r5("z"),showlegend:xZ({},bRe.showlegend,{dflt:!1})};xZ(_F,QDt("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));var iFt=["opacity","lightposition","lighting"];iFt.forEach(function(e){_F[e]=rFt[e]});_F.hoverinfo=xZ({},bRe.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","divergence","text","name"],dflt:"x+y+z+norm+text+name"});wRe.exports=_F});var ARe=ye((ymr,TRe)=>{"use strict";var nFt=Pr(),aFt=td(),oFt=bZ();TRe.exports=function(t,r,n,i){function a(h,d){return nFt.coerce(t,r,oFt,h,d)}var o=a("u"),s=a("v"),l=a("w"),u=a("x"),c=a("y"),f=a("z");if(!o||!o.length||!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length||!f||!f.length){r.visible=!1;return}a("starts.x"),a("starts.y"),a("starts.z"),a("maxdisplayed"),a("sizeref"),a("lighting.ambient"),a("lighting.diffuse"),a("lighting.specular"),a("lighting.roughness"),a("lighting.fresnel"),a("lightposition.x"),a("lightposition.y"),a("lightposition.z"),aFt(t,r,i,a,{prefix:"",cLetter:"c"}),a("text"),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback"),a("uhoverformat"),a("vhoverformat"),a("whoverformat"),a("xhoverformat"),a("yhoverformat"),a("zhoverformat"),r._length=null}});var IRe=ye((_mr,PRe)=>{"use strict";var ERe=qd().gl_streamtube3d,sFt=ERe.createTubeMesh,lFt=Pr(),uFt=a1().parseColorScale,cFt=tc().extractOpts,SRe=e5(),kRe={xaxis:0,yaxis:1,zaxis:2};function CRe(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var TZ=CRe.prototype;TZ.handlePick=function(e){var t=this.scene.fullSceneLayout,r=this.scene.dataScale;function n(o,s){var l=t[s],u=r[kRe[s]];return l.l2c(o)/u}if(e.object===this.mesh){var i=e.data.position,a=e.data.velocity;return e.traceCoordinate=[n(i[0],"xaxis"),n(i[1],"yaxis"),n(i[2],"zaxis"),n(a[0],"xaxis"),n(a[1],"yaxis"),n(a[2],"zaxis"),e.data.intensity*this.data._normMax,e.data.divergence],e.textLabel=this.data.hovertext||this.data.text,!0}};function MRe(e){var t=e.length,r;return t>2?r=e.slice(1,t-1):t===2?r=[(e[0]+e[1])/2]:r=e,r}function wZ(e){var t=e.length;return t===1?[.5,.5]:[e[1]-e[0],e[t-1]-e[t-2]]}function LRe(e,t){var r=e.fullSceneLayout,n=e.dataScale,i=t._len,a={};function o(z,q){var V=r[q],G=n[kRe[q]];return lFt.simpleMap(z,function(Z){return V.d2l(Z)*G})}if(a.vectors=SRe(o(t._u,"xaxis"),o(t._v,"yaxis"),o(t._w,"zaxis"),i),!i)return{positions:[],cells:[]};var s=o(t._Xs,"xaxis"),l=o(t._Ys,"yaxis"),u=o(t._Zs,"zaxis");a.meshgrid=[s,l,u],a.gridFill=t._gridFill;var c=t._slen;if(c)a.startingPositions=SRe(o(t._startsX,"xaxis"),o(t._startsY,"yaxis"),o(t._startsZ,"zaxis"));else{for(var f=l[0],h=MRe(s),d=MRe(u),v=new Array(h.length*d.length),m=0,b=0;b{"use strict";RRe.exports={moduleType:"trace",name:"streamtube",basePlotModule:lx(),categories:["gl3d","showLegend"],attributes:bZ(),supplyDefaults:ARe(),colorbar:{min:"cmin",max:"cmax"},calc:vF().calc,plot:IRe(),eventData:function(e,t){return e.tubex=e.x,e.tubey=e.y,e.tubez=e.z,e.tubeu=t.traceCoordinate[3],e.tubev=t.traceCoordinate[4],e.tubew=t.traceCoordinate[5],e.norm=t.traceCoordinate[6],e.divergence=t.traceCoordinate[7],delete e.x,delete e.y,delete e.z,e},meta:{}}});var zRe=ye((bmr,FRe)=>{"use strict";FRe.exports=DRe()});var tw=ye((Tmr,URe)=>{"use strict";var{hovertemplateAttrs:hFt,texttemplateAttrs:dFt,templatefallbackAttrs:qRe}=Ll(),vFt=Pg(),Qm=pf(),pFt=Gl(),ORe=Tu(),gFt=Pd().dash,ew=Ao().extendFlat,mFt=mc().overrideAll,rg=Qm.marker,BRe=Qm.line,NRe=rg.line,wmr=["The library used by the *country names* `locationmode` option is changing in an upcoming version.","Country names in existing plots may not work in the new version."].join(" ");URe.exports=mFt({lon:{valType:"data_array"},lat:{valType:"data_array"},locations:{valType:"data_array"},locationmode:{valType:"enumerated",values:["ISO-3","USA-states","country names","geojson-id"],dflt:"ISO-3"},geojson:{valType:"any",editType:"calc"},featureidkey:{valType:"string",editType:"calc",dflt:"id"},mode:ew({},Qm.mode,{dflt:"markers"}),text:ew({},Qm.text,{}),texttemplate:dFt({editType:"plot"},{keys:["lat","lon","location","text"]}),texttemplatefallback:qRe({editType:"plot"}),hovertext:ew({},Qm.hovertext,{}),textfont:Qm.textfont,textposition:Qm.textposition,line:{color:BRe.color,width:BRe.width,dash:gFt},connectgaps:Qm.connectgaps,marker:ew({symbol:rg.symbol,opacity:rg.opacity,angle:rg.angle,angleref:ew({},rg.angleref,{values:["previous","up","north"]}),standoff:rg.standoff,size:rg.size,sizeref:rg.sizeref,sizemin:rg.sizemin,sizemode:rg.sizemode,colorbar:rg.colorbar,line:ew({width:NRe.width,dash:NRe.dash},ORe("marker.line")),gradient:rg.gradient},ORe("marker")),fill:{valType:"enumerated",values:["none","toself"],dflt:"none"},fillcolor:vFt(),selected:Qm.selected,unselected:Qm.unselected,hoverinfo:ew({},pFt.hoverinfo,{flags:["lon","lat","location","text","name"]}),hovertemplate:hFt(),hovertemplatefallback:qRe()},"calc","nested")});var GRe=ye((Amr,VRe)=>{"use strict";var xF=Pr(),AZ=Ru(),yFt=$p(),_Ft=D0(),xFt=F0(),bFt=Fg(),wFt=tw(),TFt=["The library used by the *country names* `locationmode` option is changing in the next major version.","Some country names in existing plots may not work in the new version.","To ensure consistent behavior, consider setting `locationmode` to *ISO-3*."].join(" ");VRe.exports=function(t,r,n,i){function a(d,v){return xF.coerce(t,r,wFt,d,v)}var o=a("locations"),s;if(o&&o.length){var l=a("geojson"),u;(typeof l=="string"&&l!==""||xF.isPlainObject(l))&&(u="geojson-id");var c=a("locationmode",u);c==="country names"&&xF.warn(TFt),c==="geojson-id"&&a("featureidkey"),s=o.length}else{var f=a("lon")||[],h=a("lat")||[];s=Math.min(f.length,h.length)}if(!s){r.visible=!1;return}r._length=s,a("text"),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback"),a("mode"),AZ.hasMarkers(r)&&yFt(t,r,n,i,a,{gradient:!0}),AZ.hasLines(r)&&(_Ft(t,r,n,i,a),a("connectgaps")),AZ.hasText(r)&&(a("texttemplate"),a("texttemplatefallback"),xFt(t,r,i,a)),a("fill"),r.fill!=="none"&&bFt(t,r,n,a),xF.coerceSelectionMarkerOpacity(r,a)}});var WRe=ye((Smr,jRe)=>{"use strict";var HRe=ho();jRe.exports=function(t,r,n){var i={},a=n[r.geo]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=HRe.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=HRe.tickText(o,o.c2l(s[1]),!0).text,i}});var bF=ye((Mmr,KRe)=>{"use strict";var SZ=Eo(),XRe=fs().BADNUM,AFt=z0(),SFt=Dm(),MFt=q0(),EFt=Pr().isArrayOrTypedArray,ZRe=Pr()._;function YRe(e){return e&&typeof e=="string"}KRe.exports=function(t,r){var n=EFt(r.locations),i=n?r.locations.length:r._length,a=new Array(i),o;r.geojson?o=function(h){return YRe(h)||SZ(h)}:o=YRe;for(var s=0;s{"use strict";Mv.projNames={airy:"airy",aitoff:"aitoff","albers usa":"albersUsa",albers:"albers",august:"august","azimuthal equal area":"azimuthalEqualArea","azimuthal equidistant":"azimuthalEquidistant",baker:"baker",bertin1953:"bertin1953",boggs:"boggs",bonne:"bonne",bottomley:"bottomley",bromley:"bromley",collignon:"collignon","conic conformal":"conicConformal","conic equal area":"conicEqualArea","conic equidistant":"conicEquidistant",craig:"craig",craster:"craster","cylindrical equal area":"cylindricalEqualArea","cylindrical stereographic":"cylindricalStereographic",eckert1:"eckert1",eckert2:"eckert2",eckert3:"eckert3",eckert4:"eckert4",eckert5:"eckert5",eckert6:"eckert6",eisenlohr:"eisenlohr","equal earth":"equalEarth",equirectangular:"equirectangular",fahey:"fahey","foucaut sinusoidal":"foucautSinusoidal",foucaut:"foucaut",ginzburg4:"ginzburg4",ginzburg5:"ginzburg5",ginzburg6:"ginzburg6",ginzburg8:"ginzburg8",ginzburg9:"ginzburg9",gnomonic:"gnomonic","gringorten quincuncial":"gringortenQuincuncial",gringorten:"gringorten",guyou:"guyou",hammer:"hammer",hill:"hill",homolosine:"homolosine",hufnagel:"hufnagel",hyperelliptical:"hyperelliptical",kavrayskiy7:"kavrayskiy7",lagrange:"lagrange",larrivee:"larrivee",laskowski:"laskowski",loximuthal:"loximuthal",mercator:"mercator",miller:"miller",mollweide:"mollweide","mt flat polar parabolic":"mtFlatPolarParabolic","mt flat polar quartic":"mtFlatPolarQuartic","mt flat polar sinusoidal":"mtFlatPolarSinusoidal","natural earth":"naturalEarth","natural earth1":"naturalEarth1","natural earth2":"naturalEarth2","nell hammer":"nellHammer",nicolosi:"nicolosi",orthographic:"orthographic",patterson:"patterson","peirce quincuncial":"peirceQuincuncial",polyconic:"polyconic","rectangular polyconic":"rectangularPolyconic",robinson:"robinson",satellite:"satellite","sinu mollweide":"sinuMollweide",sinusoidal:"sinusoidal",stereographic:"stereographic",times:"times","transverse mercator":"transverseMercator","van der grinten":"vanDerGrinten","van der grinten2":"vanDerGrinten2","van der grinten3":"vanDerGrinten3","van der grinten4":"vanDerGrinten4",wagner4:"wagner4",wagner6:"wagner6",wiechel:"wiechel","winkel tripel":"winkel3",winkel3:"winkel3"};Mv.axesNames=["lonaxis","lataxis"];Mv.lonaxisSpan={orthographic:180,"azimuthal equal area":360,"azimuthal equidistant":360,"conic conformal":180,gnomonic:160,stereographic:180,"transverse mercator":180,"*":360};Mv.lataxisSpan={"conic conformal":150,stereographic:179.5,"*":180};Mv.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:"equirectangular",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:"albers usa"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:"conic conformal",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:"mercator",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:"mercator",projRotate:[0,0,0]},"north america":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:"conic conformal",projRotate:[-100,0,0],projParallels:[29.5,45.5]},"south america":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:"mercator",projRotate:[0,0,0]},antarctica:{lonaxisRange:[-180,180],lataxisRange:[-90,-60],projType:"equirectangular",projRotate:[0,0,0]},oceania:{lonaxisRange:[-180,180],lataxisRange:[-50,25],projType:"equirectangular",projRotate:[0,0,0]}};Mv.clipPad=.001;Mv.precision=.1;Mv.landColor="#F0DC82";Mv.waterColor="#3399FF";Mv.locationmodeToLayer={"ISO-3":"countries","USA-states":"subunits","country names":"countries"};Mv.sphereSVG={type:"Sphere"};Mv.fillLayers={ocean:1,land:1,lakes:1};Mv.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1};Mv.layers=["bg","ocean","land","lakes","subunits","countries","coastlines","rivers","lataxis","lonaxis","frame","backplot","frontplot"];Mv.layersForChoropleth=["bg","ocean","land","subunits","countries","coastlines","lataxis","lonaxis","frame","backplot","rivers","lakes","frontplot"];Mv.layerNameToAdjective={ocean:"ocean",land:"land",lakes:"lake",subunits:"subunit",countries:"country",coastlines:"coastline",rivers:"river",frame:"frame"}});var MZ=ye((wF,JRe)=>{(function(e,t){typeof wF=="object"&&typeof JRe!="undefined"?t(wF):(e=e||self,t(e.topojson=e.topojson||{}))})(wF,function(e){"use strict";function t(M){return M}function r(M){if(M==null)return t;var T,L,x=M.scale[0],C=M.scale[1],S=M.translate[0],g=M.translate[1];return function(P,E){E||(T=L=0);var z=2,q=P.length,V=new Array(q);for(V[0]=(T+=P[0])*x+S,V[1]=(L+=P[1])*C+g;zS&&(S=z[0]),z[1]g&&(g=z[1])}function E(z){switch(z.type){case"GeometryCollection":z.geometries.forEach(E);break;case"Point":P(z.coordinates);break;case"MultiPoint":z.coordinates.forEach(P);break}}M.arcs.forEach(function(z){for(var q=-1,V=z.length,G;++qS&&(S=G[0]),G[1]g&&(g=G[1])});for(L in M.objects)E(M.objects[L]);return[x,C,S,g]}function i(M,T){for(var L,x=M.length,C=x-T;C<--x;)L=M[C],M[C++]=M[x],M[x]=L}function a(M,T){return typeof T=="string"&&(T=M.objects[T]),T.type==="GeometryCollection"?{type:"FeatureCollection",features:T.geometries.map(function(L){return o(M,L)})}:o(M,T)}function o(M,T){var L=T.id,x=T.bbox,C=T.properties==null?{}:T.properties,S=s(M,T);return L==null&&x==null?{type:"Feature",properties:C,geometry:S}:x==null?{type:"Feature",id:L,properties:C,geometry:S}:{type:"Feature",id:L,bbox:x,properties:C,geometry:S}}function s(M,T){var L=r(M.transform),x=M.arcs;function C(q,V){V.length&&V.pop();for(var G=x[q<0?~q:q],Z=0,j=G.length;Z1)x=f(M,T,L);else for(C=0,x=new Array(S=M.arcs.length);C1)for(var V=1,G=P(z[0]),Z,j;VG&&(j=z[0],z[0]=z[V],z[V]=j,G=Z);return z}).filter(function(E){return E.length>0})}}function m(M,T){for(var L=0,x=M.length;L>>1;M[C]=2))throw new Error("n must be \u22652");E=M.bbox||n(M);var L=E[0],x=E[1],C=E[2],S=E[3],g;T={scale:[C-L?(C-L)/(g-1):1,S-x?(S-x)/(g-1):1],translate:[L,x]}}else E=M.bbox;var P=p(T),E,z,q=M.objects,V={};function G(N){return P(N)}function Z(N){var H;switch(N.type){case"GeometryCollection":H={type:"GeometryCollection",geometries:N.geometries.map(Z)};break;case"Point":H={type:"Point",coordinates:G(N.coordinates)};break;case"MultiPoint":H={type:"MultiPoint",coordinates:N.coordinates.map(G)};break;default:return N}return N.id!=null&&(H.id=N.id),N.bbox!=null&&(H.bbox=N.bbox),N.properties!=null&&(H.properties=N.properties),H}function j(N){var H=0,ie=1,ae=N.length,_e,Ee=new Array(ae);for(Ee[0]=P(N[0],0);++H{"use strict";var EZ=$Re.exports={},kFt=ck().locationmodeToLayer,CFt=MZ().feature;EZ.getTopojsonName=function(e){return[e.scope.replace(/ /g,"-"),"_",e.resolution.toString(),"m"].join("")};EZ.getTopojsonPath=function(e,t){return e+=e.endsWith("/")?"":"/",`${e}${t}.json`};EZ.getTopojsonFeatures=function(e,t){var r=kFt[e.locationmode],n=t.objects[r];return CFt(t,n).features}});var fx=ye(fk=>{"use strict";var LFt=fs().BADNUM;fk.calcTraceToLineCoords=function(e){for(var t=e[0].trace,r=t.connectgaps,n=[],i=[],a=0;a0&&(n.push(i),i=[])}return i.length>0&&n.push(i),n};fk.makeLine=function(e){return e.length===1?{type:"LineString",coordinates:e[0]}:{type:"MultiLineString",coordinates:e}};fk.makePolygon=function(e){if(e.length===1)return{type:"Polygon",coordinates:e};for(var t=new Array(e.length),r=0;r{QRe.exports={AFG:"afghan",ALA:"\\b\\wland",ALB:"albania",DZA:"algeria",ASM:"^(?=.*americ).*samoa",AND:"andorra",AGO:"angola",AIA:"anguill?a",ATA:"antarctica",ATG:"antigua",ARG:"argentin",ARM:"armenia",ABW:"^(?!.*bonaire).*\\baruba",AUS:"australia",AUT:"^(?!.*hungary).*austria|\\baustri.*\\bemp",AZE:"azerbaijan",BHS:"bahamas",BHR:"bahrain",BGD:"bangladesh|^(?=.*east).*paki?stan",BRB:"barbados",BLR:"belarus|byelo",BEL:"^(?!.*luxem).*belgium",BLZ:"belize|^(?=.*british).*honduras",BEN:"benin|dahome",BMU:"bermuda",BTN:"bhutan",BOL:"bolivia",BES:"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands",BIH:"herzegovina|bosnia",BWA:"botswana|bechuana",BVT:"bouvet",BRA:"brazil",IOT:"british.?indian.?ocean",BRN:"brunei",BGR:"bulgaria",BFA:"burkina|\\bfaso|upper.?volta",BDI:"burundi",CPV:"verde",KHM:"cambodia|kampuchea|khmer",CMR:"cameroon",CAN:"canada",CYM:"cayman",CAF:"\\bcentral.african.republic",TCD:"\\bchad",CHL:"\\bchile",CHN:"^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china",CXR:"christmas",CCK:"\\bcocos|keeling",COL:"colombia",COM:"comoro",COG:"^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo",COK:"\\bcook",CRI:"costa.?rica",CIV:"ivoire|ivory",HRV:"croatia",CUB:"\\bcuba",CUW:"^(?!.*bonaire).*\\bcura(c|\xE7)ao",CYP:"cyprus",CSK:"czechoslovakia",CZE:"^(?=.*rep).*czech|czechia|bohemia",COD:"\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc",DNK:"denmark",DJI:"djibouti",DMA:"dominica(?!n)",DOM:"dominican.rep",ECU:"ecuador",EGY:"egypt",SLV:"el.?salvador",GNQ:"guine.*eq|eq.*guine|^(?=.*span).*guinea",ERI:"eritrea",EST:"estonia",ETH:"ethiopia|abyssinia",FLK:"falkland|malvinas",FRO:"faroe|faeroe",FJI:"fiji",FIN:"finland",FRA:"^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul",GUF:"^(?=.*french).*guiana",PYF:"french.?polynesia|tahiti",ATF:"french.?southern",GAB:"gabon",GMB:"gambia",GEO:"^(?!.*south).*georgia",DDR:"german.?democratic.?republic|democratic.?republic.*germany|east.germany",DEU:"^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german",GHA:"ghana|gold.?coast",GIB:"gibraltar",GRC:"greece|hellenic|hellas",GRL:"greenland",GRD:"grenada",GLP:"guadeloupe",GUM:"\\bguam",GTM:"guatemala",GGY:"guernsey",GIN:"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea",GNB:"bissau|^(?=.*portu).*guinea",GUY:"guyana|british.?guiana",HTI:"haiti",HMD:"heard.*mcdonald",VAT:"holy.?see|vatican|papal.?st",HND:"^(?!.*brit).*honduras",HKG:"hong.?kong",HUN:"^(?!.*austr).*hungary",ISL:"iceland",IND:"india(?!.*ocea)",IDN:"indonesia",IRN:"\\biran|persia",IRQ:"\\biraq|mesopotamia",IRL:"(^ireland)|(^republic.*ireland)",IMN:"^(?=.*isle).*\\bman",ISR:"israel",ITA:"italy",JAM:"jamaica",JPN:"japan",JEY:"jersey",JOR:"jordan",KAZ:"kazak",KEN:"kenya|british.?east.?africa|east.?africa.?prot",KIR:"kiribati",PRK:"^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)",KWT:"kuwait",KGZ:"kyrgyz|kirghiz",LAO:"\\blaos?\\b",LVA:"latvia",LBN:"lebanon",LSO:"lesotho|basuto",LBR:"liberia",LBY:"libya",LIE:"liechtenstein",LTU:"lithuania",LUX:"^(?!.*belg).*luxem",MAC:"maca(o|u)",MDG:"madagascar|malagasy",MWI:"malawi|nyasa",MYS:"malaysia",MDV:"maldive",MLI:"\\bmali\\b",MLT:"\\bmalta",MHL:"marshall",MTQ:"martinique",MRT:"mauritania",MUS:"mauritius",MYT:"\\bmayotte",MEX:"\\bmexic",FSM:"fed.*micronesia|micronesia.*fed",MCO:"monaco",MNG:"mongolia",MNE:"^(?!.*serbia).*montenegro",MSR:"montserrat",MAR:"morocco|\\bmaroc",MOZ:"mozambique",MMR:"myanmar|burma",NAM:"namibia",NRU:"nauru",NPL:"nepal",NLD:"^(?!.*\\bant)(?!.*\\bcarib).*netherlands",ANT:"^(?=.*\\bant).*(nether|dutch)",NCL:"new.?caledonia",NZL:"new.?zealand",NIC:"nicaragua",NER:"\\bniger(?!ia)",NGA:"nigeria",NIU:"niue",NFK:"norfolk",MNP:"mariana",NOR:"norway",OMN:"\\boman|trucial",PAK:"^(?!.*east).*paki?stan",PLW:"palau",PSE:"palestin|\\bgaza|west.?bank",PAN:"panama",PNG:"papua|new.?guinea",PRY:"paraguay",PER:"peru",PHL:"philippines",PCN:"pitcairn",POL:"poland",PRT:"portugal",PRI:"puerto.?rico",QAT:"qatar",KOR:"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)",MDA:"moldov|b(a|e)ssarabia",REU:"r(e|\xE9)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|\xE9)lemy",SHN:"helena",KNA:"kitts|\\bnevis",LCA:"\\blucia",MAF:"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)",SPM:"miquelon",VCT:"vincent",WSM:"^(?!.*amer).*samoa",SMR:"san.?marino",STP:"\\bs(a|\xE3)o.?tom(e|\xE9)",SAU:"\\bsa\\w*.?arabia",SEN:"senegal",SRB:"^(?!.*monte).*serbia",SYC:"seychell",SLE:"sierra",SGP:"singapore",SXM:"^(?!.*martin)(?!.*saba).*maarten",SVK:"^(?!.*cze).*slovak",SVN:"slovenia",SLB:"solomon",SOM:"somali",ZAF:"south.africa|s\\\\..?africa",SGS:"south.?georgia|sandwich",SSD:"\\bs\\w*.?sudan",ESP:"spain",LKA:"sri.?lanka|ceylon",SDN:"^(?!.*\\bs(?!u)).*sudan",SUR:"surinam|dutch.?guiana",SJM:"svalbard",SWZ:"swaziland",SWE:"sweden",CHE:"switz|swiss",SYR:"syria",TWN:"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china",TJK:"tajik",THA:"thailand|\\bsiam",MKD:"macedonia|fyrom",TLS:"^(?=.*leste).*timor|^(?=.*east).*timor",TGO:"togo",TKL:"tokelau",TON:"tonga",TTO:"trinidad|tobago",TUN:"tunisia",TUR:"turkey",TKM:"turkmen",TCA:"turks",TUV:"tuvalu",UGA:"uganda",UKR:"ukrain",ARE:"emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em",GBR:"united.?kingdom|britain|^u\\.?k\\.?$",TZA:"tanzania",USA:"united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)",UMI:"minor.?outlying.?is",URY:"uruguay",UZB:"uzbek",VUT:"vanuatu|new.?hebrides",VEN:"venezuela",VNM:"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam",VGB:"^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin",VIR:"^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin",WLF:"futuna|wallis",ESH:"western.sahara",YEM:"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen",YMD:"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen",YUG:"yugoslavia",ZMB:"zambia|northern.?rhodesia",EAZ:"zanzibar",ZWE:"zimbabwe|^(?!.*northern).*rhodesia"}});var MF=ye(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});var qp=63710088e-1,CZ={centimeters:qp*100,centimetres:qp*100,degrees:360/(2*Math.PI),feet:qp*3.28084,inches:qp*39.37,kilometers:qp/1e3,kilometres:qp/1e3,meters:qp,metres:qp,miles:qp/1609.344,millimeters:qp*1e3,millimetres:qp*1e3,nauticalmiles:qp/1852,radians:1,yards:qp*1.0936},kZ={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,nauticalmiles:29155334959812285e-23,millimeters:1e6,millimetres:1e6,yards:1.195990046};function hx(e,t,r={}){let n={type:"Feature"};return(r.id===0||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=t||{},n.geometry=e,n}function PFt(e,t,r={}){switch(e){case"Point":return LZ(t).geometry;case"LineString":return IZ(t).geometry;case"Polygon":return PZ(t).geometry;case"MultiPoint":return rDe(t).geometry;case"MultiLineString":return tDe(t).geometry;case"MultiPolygon":return iDe(t).geometry;default:throw new Error(e+" is invalid")}}function LZ(e,t,r={}){if(!e)throw new Error("coordinates is required");if(!Array.isArray(e))throw new Error("coordinates must be an Array");if(e.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!AF(e[0])||!AF(e[1]))throw new Error("coordinates must contain numbers");return hx({type:"Point",coordinates:e},t,r)}function IFt(e,t,r={}){return SF(e.map(n=>LZ(n,t)),r)}function PZ(e,t,r={}){for(let i of e){if(i.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");if(i[i.length-1].length!==i[0].length)throw new Error("First and last Position are not equivalent.");for(let a=0;aPZ(n,t)),r)}function IZ(e,t,r={}){if(e.length<2)throw new Error("coordinates must be an array of two or more positions");return hx({type:"LineString",coordinates:e},t,r)}function DFt(e,t,r={}){return SF(e.map(n=>IZ(n,t)),r)}function SF(e,t={}){let r={type:"FeatureCollection"};return t.id&&(r.id=t.id),t.bbox&&(r.bbox=t.bbox),r.features=e,r}function tDe(e,t,r={}){return hx({type:"MultiLineString",coordinates:e},t,r)}function rDe(e,t,r={}){return hx({type:"MultiPoint",coordinates:e},t,r)}function iDe(e,t,r={}){return hx({type:"MultiPolygon",coordinates:e},t,r)}function FFt(e,t,r={}){return hx({type:"GeometryCollection",geometries:e},t,r)}function zFt(e,t=0){if(t&&!(t>=0))throw new Error("precision must be a positive number");let r=Math.pow(10,t||0);return Math.round(e*r)/r}function nDe(e,t="kilometers"){let r=CZ[t];if(!r)throw new Error(t+" units is invalid");return e*r}function RZ(e,t="kilometers"){let r=CZ[t];if(!r)throw new Error(t+" units is invalid");return e/r}function qFt(e,t){return aDe(RZ(e,t))}function OFt(e){let t=e%360;return t<0&&(t+=360),t}function BFt(e){return e=e%360,e>180?e-360:e<-180?e+360:e}function aDe(e){return e%(2*Math.PI)*180/Math.PI}function NFt(e){return e%360*Math.PI/180}function UFt(e,t="kilometers",r="kilometers"){if(!(e>=0))throw new Error("length must be a positive number");return nDe(RZ(e,t),r)}function VFt(e,t="meters",r="kilometers"){if(!(e>=0))throw new Error("area must be a positive number");let n=kZ[t];if(!n)throw new Error("invalid original units");let i=kZ[r];if(!i)throw new Error("invalid final units");return e/n*i}function AF(e){return!isNaN(e)&&e!==null&&!Array.isArray(e)}function GFt(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function HFt(e){if(!e)throw new Error("bbox is required");if(!Array.isArray(e))throw new Error("bbox must be an Array");if(e.length!==4&&e.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");e.forEach(t=>{if(!AF(t))throw new Error("bbox must only contain numbers")})}function jFt(e){if(!e)throw new Error("id is required");if(["string","number"].indexOf(typeof e)===-1)throw new Error("id must be a number or a string")}ic.areaFactors=kZ;ic.azimuthToBearing=BFt;ic.bearingToAzimuth=OFt;ic.convertArea=VFt;ic.convertLength=UFt;ic.degreesToRadians=NFt;ic.earthRadius=qp;ic.factors=CZ;ic.feature=hx;ic.featureCollection=SF;ic.geometry=PFt;ic.geometryCollection=FFt;ic.isNumber=AF;ic.isObject=GFt;ic.lengthToDegrees=qFt;ic.lengthToRadians=RZ;ic.lineString=IZ;ic.lineStrings=DFt;ic.multiLineString=tDe;ic.multiPoint=rDe;ic.multiPolygon=iDe;ic.point=LZ;ic.points=IFt;ic.polygon=PZ;ic.polygons=RFt;ic.radiansToDegrees=aDe;ic.radiansToLength=nDe;ic.round=zFt;ic.validateBBox=HFt;ic.validateId=jFt});var kF=ye(Od=>{"use strict";Object.defineProperty(Od,"__esModule",{value:!0});var Wv=MF();function hk(e,t,r){if(e!==null)for(var n,i,a,o,s,l,u,c=0,f=0,h,d=e.type,v=d==="FeatureCollection",m=d==="Feature",b=v?e.features.length:1,p=0;pl||v>u||m>c){s=f,l=n,u=v,c=m,a=0;return}var b=Wv.lineString.call(void 0,[s,f],r.properties);if(t(b,n,i,m,a)===!1)return!1;a++,s=f})===!1)return!1}}})}function $Ft(e,t,r){var n=r,i=!1;return lDe(e,function(a,o,s,l,u){i===!1&&r===void 0?n=a:n=t(n,a,o,s,l,u),i=!0}),n}function uDe(e,t){if(!e)throw new Error("geojson is required");EF(e,function(r,n,i){if(r.geometry!==null){var a=r.geometry.type,o=r.geometry.coordinates;switch(a){case"LineString":if(t(r,n,i,0,0)===!1)return!1;break;case"Polygon":for(var s=0;s{"use strict";Object.defineProperty(CF,"__esModule",{value:!0});var cDe=MF(),rzt=kF();function dDe(e){return rzt.geomReduce.call(void 0,e,(t,r)=>t+izt(r),0)}function izt(e){let t=0,r;switch(e.type){case"Polygon":return fDe(e.coordinates);case"MultiPolygon":for(r=0;r0){t+=Math.abs(hDe(e[0]));for(let r=1;r=t?(n+2)%t:n+2],s=i[0]*FZ,l=a[1]*FZ,u=o[0]*FZ;r+=(u-s)*Math.sin(l),n++}return r*nzt}var azt=dDe;CF.area=dDe;CF.default=azt});var gDe=ye(LF=>{"use strict";Object.defineProperty(LF,"__esModule",{value:!0});var ozt=MF(),szt=kF();function pDe(e,t={}){let r=0,n=0,i=0;return szt.coordEach.call(void 0,e,function(a){r+=a[0],n+=a[1],i++},!0),ozt.point.call(void 0,[r/i,n/i],t.properties)}var lzt=pDe;LF.centroid=pDe;LF.default=lzt});var yDe=ye(PF=>{"use strict";Object.defineProperty(PF,"__esModule",{value:!0});var uzt=kF();function mDe(e,t={}){if(e.bbox!=null&&t.recompute!==!0)return e.bbox;let r=[1/0,1/0,-1/0,-1/0];return uzt.coordEach.call(void 0,e,n=>{r[0]>n[0]&&(r[0]=n[0]),r[1]>n[1]&&(r[1]=n[1]),r[2]{"use strict";var _De={alabama:"AL",alaska:"AK",arizona:"AZ",arkansas:"AR",california:"CA",colorado:"CO",connecticut:"CT",delaware:"DE","district of columbia":"DC",florida:"FL",georgia:"GA",hawaii:"HI",idaho:"ID",illinois:"IL",indiana:"IN",iowa:"IA",kansas:"KS",kentucky:"KY",louisiana:"LA",maine:"ME",maryland:"MD",massachusetts:"MA",michigan:"MI",minnesota:"MN",mississippi:"MS",missouri:"MO",montana:"MT",nebraska:"NE",nevada:"NV","new hampshire":"NH","new jersey":"NJ","new mexico":"NM","new york":"NY","north carolina":"NC","north dakota":"ND",ohio:"OH",oklahoma:"OK",oregon:"OR",pennsylvania:"PA","rhode island":"RI","south carolina":"SC","south dakota":"SD",tennessee:"TN",texas:"TX",utah:"UT",vermont:"VT",virginia:"VA",washington:"WA","washington dc":"DC","washington d.c.":"DC","west virginia":"WV",wisconsin:"WI",wyoming:"WY"},fzt=new Set(Object.values(_De));xDe.exports={usaLocationAbbreviations:fzt,usaLocationList:_De}});var dx=ye((qmr,SDe)=>{"use strict";var hzt=qa(),TDe=eDe(),{area:dzt}=vDe(),{centroid:vzt}=gDe(),{bbox:pzt}=yDe(),gzt=YS(),rw=K1(),mzt=Ay(),yzt=zS(),IF=zM(),{usaLocationAbbreviations:_zt,usaLocationList:xzt}=bDe(),wDe=Object.keys(TDe),bzt={"ISO-3":gzt,"USA-states":Tzt,"country names":wzt};function wzt(e){for(var t=0;t0&&c[f+1][0]<0)return f;return null}switch(n==="RUS"||n==="FJI"?a=function(c){var f;if(u(c)===null)f=c;else for(f=new Array(c.length),l=0;lf?h[d++]=[c[l][0]+360,c[l][1]]:l===f?(h[d++]=c[l],h[d++]=[c[l][0],-90]):h[d++]=c[l];var v=IF.tester(h);v.pts.pop(),i.push(v)}:a=function(c){i.push(IF.tester(c))},t.type){case"MultiPolygon":for(o=0;o0?v.properties.ct=Ezt(v):v.properties.ct=[NaN,NaN],h.fIn=c,h.fOut=v,i.push(v)}else rw.log(["Location",h.loc,"does not have a valid GeoJSON geometry.","Traces with locationmode *geojson-id* only support","*Polygon* and *MultiPolygon* geometries."].join(" "))}delete n[f]}switch(r.type){case"FeatureCollection":var l=r.features;for(a=0;ai&&(i=s,r=o)}else r=t;return vzt(r).geometry.coordinates}function kzt(e){var t=window.PlotlyGeoAssets||{},r=[];function n(l){return new Promise(function(u,c){hzt.json(l,function(f,h){if(f){delete t[l];var d=f.status===404?'GeoJSON at URL "'+l+'" does not exist.':"Unexpected error while fetching from "+l;return c(new Error(d))}return t[l]=h,u(h)})})}function i(l){return new Promise(function(u,c){var f=0,h=setInterval(function(){if(t[l]&&t[l]!=="pending")return clearInterval(h),u(t[l]);if(f>100)return clearInterval(h),c("Unexpected error while fetching from "+l);f++},50)})}for(var a=0;a{"use strict";var Lzt=qa(),Pzt=So(),MDe=ka(),EDe=sp(),Izt=EDe.stylePoints,Rzt=EDe.styleText;kDe.exports=function(t,r){r&&Dzt(t,r)};function Dzt(e,t){var r=t[0].trace,n=t[0].node3;n.style("opacity",t[0].trace.opacity),Izt(n,r,e),Rzt(n,r,e),n.selectAll("path.js-line").style("fill","none").each(function(i){var a=Lzt.select(this),o=i.trace,s=o.line||{};a.call(MDe.stroke,s.color).call(Pzt.dashLine,s.dash||"",s.width||0),o.fill!=="none"&&a.call(MDe.fill,o.fillcolor)})}});var NZ=ye((Bmr,PDe)=>{"use strict";var CDe=qa(),DF=Pr(),Fzt=TF().getTopojsonFeatures,qZ=fx(),RF=dx(),LDe=Mg().findExtremes,BZ=fs().BADNUM,zzt=O0().calcMarkerSize,OZ=Ru(),qzt=zZ();function Ozt(e,t,r){var n=t.layers.frontplot.select(".scatterlayer"),i=DF.makeTraceGroups(n,r,"trace scattergeo");function a(o,s){o.lonlat[0]===BZ&&CDe.select(s).remove()}i.selectAll("*").remove(),i.each(function(o){var s=CDe.select(this),l=o[0].trace;if(OZ.hasLines(l)||l.fill!=="none"){var u=qZ.calcTraceToLineCoords(o),c=l.fill!=="none"?qZ.makePolygon(u):qZ.makeLine(u);s.selectAll("path.js-line").data([{geojson:c,trace:l}]).enter().append("path").classed("js-line",!0).style("stroke-miterlimit",2)}OZ.hasMarkers(l)&&s.selectAll("path.point").data(DF.identity).enter().append("path").classed("point",!0).each(function(f){a(f,this)}),OZ.hasText(l)&&s.selectAll("g").data(DF.identity).enter().append("g").append("text").each(function(f){a(f,this)}),qzt(e,o)})}function Bzt(e,t){var r=e[0].trace,n=t[r.geo],i=n._subplot,a=r._length,o,s;if(DF.isArrayOrTypedArray(r.locations)){var l=r.locationmode,u=l==="geojson-id"?RF.extractTraceFeature(e):Fzt(r,i.topojson);for(o=0;o{"use strict";var Nzt=ef(),Uzt=fs().BADNUM,Vzt=yT(),Gzt=Pr().fillText,Hzt=tw();IDe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.xa,s=t.ya,l=t.subplot,u=l.projection.isLonLatOverEdges,c=l.project;function f(k){var M=k.lonlat;if(M[0]===Uzt||u(M))return 1/0;var T=c(M),L=c([r,n]),x=Math.abs(T[0]-L[0]),C=Math.abs(T[1]-L[1]),S=Math.max(3,k.mrc||0);return Math.max(Math.sqrt(x*x+C*C)-S,1-3/S)}if(Nzt.getClosest(i,f,t),t.index!==!1){var h=i[t.index],d=h.lonlat,v=[o.c2p(d),s.c2p(d)],m=h.mrc||1;t.x0=v[0]-m,t.x1=v[0]+m,t.y0=v[1]-m,t.y1=v[1]+m,t.loc=h.loc,t.lon=d[0],t.lat=d[1];var b={};b[a.geo]={_subplot:l};var p=a._module.formatLabels(h,a,b);return t.lonLabel=p.lonLabel,t.latLabel=p.latLabel,t.color=Vzt(a,h),t.extraText=jzt(a,h,t,i[0].t.labels),t.hovertemplate=a.hovertemplate,[t]}};function jzt(e,t,r,n){if(e.hovertemplate)return;var i=t.hi||e.hoverinfo,a=i==="all"?Hzt.hoverinfo.flags:i.split("+"),o=a.indexOf("location")!==-1&&Array.isArray(e.locations),s=a.indexOf("lon")!==-1,l=a.indexOf("lat")!==-1,u=a.indexOf("text")!==-1,c=[];function f(h){return h+"\xB0"}return o?c.push(t.loc):s&&l?c.push("("+f(r.latLabel)+", "+f(r.lonLabel)+")"):s?c.push(n.lon+f(r.lonLabel)):l&&c.push(n.lat+f(r.latLabel)),u&&Gzt(t,e,c),c.join("
")}});var FDe=ye((Umr,DDe)=>{"use strict";DDe.exports=function(t,r,n,i,a){t.lon=r.lon,t.lat=r.lat,t.location=r.loc?r.loc:null;var o=i[a];return o.fIn&&o.fIn.properties&&(t.properties=o.fIn.properties),t}});var ODe=ye((Vmr,qDe)=>{"use strict";var zDe=Ru(),Wzt=fs().BADNUM;qDe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l,u,c,f,h,d=!zDe.hasMarkers(s)&&!zDe.hasText(s);if(d)return[];if(r===!1)for(h=0;h{(function(e,t){t(typeof FF=="object"&&typeof BDe!="undefined"?FF:e.d3=e.d3||{})})(FF,function(e){"use strict";function t(ke,be){return kebe?1:ke>=be?0:NaN}function r(ke){return ke.length===1&&(ke=n(ke)),{left:function(be,Be,Le,me){for(Le==null&&(Le=0),me==null&&(me=be.length);Le>>1;ke(be[Pe],Be)<0?Le=Pe+1:me=Pe}return Le},right:function(be,Be,Le,me){for(Le==null&&(Le=0),me==null&&(me=be.length);Le>>1;ke(be[Pe],Be)>0?me=Pe:Le=Pe+1}return Le}}}function n(ke){return function(be,Be){return t(ke(be),Be)}}var i=r(t),a=i.right,o=i.left;function s(ke,be){be==null&&(be=l);for(var Be=0,Le=ke.length-1,me=ke[0],Pe=new Array(Le<0?0:Le);Beke?1:be>=ke?0:NaN}function f(ke){return ke===null?NaN:+ke}function h(ke,be){var Be=ke.length,Le=0,me=-1,Pe=0,ce,He,lt=0;if(be==null)for(;++me1)return lt/(Le-1)}function d(ke,be){var Be=h(ke,be);return Be&&Math.sqrt(Be)}function v(ke,be){var Be=ke.length,Le=-1,me,Pe,ce;if(be==null){for(;++Le=me)for(Pe=ce=me;++Leme&&(Pe=me),ce=me)for(Pe=ce=me;++Leme&&(Pe=me),ce0)return[ke];if((Le=be0)for(ke=Math.ceil(ke/He),be=Math.floor(be/He),ce=new Array(Pe=Math.ceil(be-ke+1));++me=0?(Pe>=L?10:Pe>=x?5:Pe>=C?2:1)*Math.pow(10,me):-Math.pow(10,-me)/(Pe>=L?10:Pe>=x?5:Pe>=C?2:1)}function P(ke,be,Be){var Le=Math.abs(be-ke)/Math.max(0,Be),me=Math.pow(10,Math.floor(Math.log(Le)/Math.LN10)),Pe=Le/me;return Pe>=L?me*=10:Pe>=x?me*=5:Pe>=C&&(me*=2),beat;)ct.pop(),--ar;var Vt=new Array(ar+1),rr;for(Pe=0;Pe<=ar;++Pe)rr=Vt[Pe]=[],rr.x0=Pe>0?ct[Pe-1]:Ht,rr.x1=Pe=1)return+Be(ke[Le-1],Le-1,ke);var Le,me=(Le-1)*be,Pe=Math.floor(me),ce=+Be(ke[Pe],Pe,ke),He=+Be(ke[Pe+1],Pe+1,ke);return ce+(He-ce)*(me-Pe)}}function V(ke,be,Be){return ke=p.call(ke,f).sort(t),Math.ceil((Be-be)/(2*(q(ke,.75)-q(ke,.25))*Math.pow(ke.length,-1/3)))}function G(ke,be,Be){return Math.ceil((Be-be)/(3.5*d(ke)*Math.pow(ke.length,-1/3)))}function Z(ke,be){var Be=ke.length,Le=-1,me,Pe;if(be==null){for(;++Le=me)for(Pe=me;++LePe&&(Pe=me)}else for(;++Le=me)for(Pe=me;++LePe&&(Pe=me);return Pe}function j(ke,be){var Be=ke.length,Le=Be,me=-1,Pe,ce=0;if(be==null)for(;++me=0;)for(ce=ke[be],Be=ce.length;--Be>=0;)Pe[--me]=ce[Be];return Pe}function ie(ke,be){var Be=ke.length,Le=-1,me,Pe;if(be==null){for(;++Le=me)for(Pe=me;++Leme&&(Pe=me)}else for(;++Le=me)for(Pe=me;++Leme&&(Pe=me);return Pe}function ae(ke,be){for(var Be=be.length,Le=new Array(Be);Be--;)Le[Be]=ke[be[Be]];return Le}function _e(ke,be){if(Be=ke.length){var Be,Le=0,me=0,Pe,ce=ke[me];for(be==null&&(be=t);++Le{(function(e,t){typeof zF=="object"&&typeof NDe!="undefined"?t(zF,dk()):(e=e||self,t(e.d3=e.d3||{},e.d3))})(zF,function(e,t){"use strict";function r(){return new n}function n(){this.reset()}n.prototype={constructor:n,reset:function(){this.s=this.t=0},add:function(kt){a(i,kt,this.t),a(this,i.s,this.s),this.s?this.t+=i.t:this.s=i.t},valueOf:function(){return this.s}};var i=new n;function a(kt,Zt,Er){var xr=kt.s=Zt+Er,Kr=xr-Zt,Mi=xr-Kr;kt.t=Zt-Mi+(Er-Kr)}var o=1e-6,s=1e-12,l=Math.PI,u=l/2,c=l/4,f=l*2,h=180/l,d=l/180,v=Math.abs,m=Math.atan,b=Math.atan2,p=Math.cos,k=Math.ceil,M=Math.exp,T=Math.log,L=Math.pow,x=Math.sin,C=Math.sign||function(kt){return kt>0?1:kt<0?-1:0},S=Math.sqrt,g=Math.tan;function P(kt){return kt>1?0:kt<-1?l:Math.acos(kt)}function E(kt){return kt>1?u:kt<-1?-u:Math.asin(kt)}function z(kt){return(kt=x(kt/2))*kt}function q(){}function V(kt,Zt){kt&&Z.hasOwnProperty(kt.type)&&Z[kt.type](kt,Zt)}var G={Feature:function(kt,Zt){V(kt.geometry,Zt)},FeatureCollection:function(kt,Zt){for(var Er=kt.features,xr=-1,Kr=Er.length;++xr=0?1:-1,Kr=xr*Er,Mi=p(Zt),Wi=x(Zt),dn=re*Wi,wn=ge*Mi+dn*p(Kr),On=dn*xr*x(Kr);ie.add(b(On,wn)),Ce=kt,ge=Mi,re=Wi}function me(kt){return ae.reset(),H(kt,Se),ae*2}function Pe(kt){return[b(kt[1],kt[0]),E(kt[2])]}function ce(kt){var Zt=kt[0],Er=kt[1],xr=p(Er);return[xr*p(Zt),xr*x(Zt),x(Er)]}function He(kt,Zt){return kt[0]*Zt[0]+kt[1]*Zt[1]+kt[2]*Zt[2]}function lt(kt,Zt){return[kt[1]*Zt[2]-kt[2]*Zt[1],kt[2]*Zt[0]-kt[0]*Zt[2],kt[0]*Zt[1]-kt[1]*Zt[0]]}function mt(kt,Zt){kt[0]+=Zt[0],kt[1]+=Zt[1],kt[2]+=Zt[2]}function Ht(kt,Zt){return[kt[0]*Zt,kt[1]*Zt,kt[2]*Zt]}function at(kt){var Zt=S(kt[0]*kt[0]+kt[1]*kt[1]+kt[2]*kt[2]);kt[0]/=Zt,kt[1]/=Zt,kt[2]/=Zt}var ct,ar,Vt,rr,tt,je,Ue,Ae,rt=r(),St,Tt,dt={point:Et,lineStart:jt,lineEnd:or,polygonStart:function(){dt.point=mr,dt.lineStart=Ar,dt.lineEnd=ei,rt.reset(),Se.polygonStart()},polygonEnd:function(){Se.polygonEnd(),dt.point=Et,dt.lineStart=jt,dt.lineEnd=or,ie<0?(ct=-(Vt=180),ar=-(rr=90)):rt>o?rr=90:rt<-o&&(ar=-90),Tt[0]=ct,Tt[1]=Vt},sphere:function(){ct=-(Vt=180),ar=-(rr=90)}};function Et(kt,Zt){St.push(Tt=[ct=kt,Vt=kt]),Ztrr&&(rr=Zt)}function pt(kt,Zt){var Er=ce([kt*d,Zt*d]);if(Ae){var xr=lt(Ae,Er),Kr=[xr[1],-xr[0],0],Mi=lt(Kr,xr);at(Mi),Mi=Pe(Mi);var Wi=kt-tt,dn=Wi>0?1:-1,wn=Mi[0]*h*dn,On,Yi=v(Wi)>180;Yi^(dn*ttrr&&(rr=On)):(wn=(wn+360)%360-180,Yi^(dn*ttrr&&(rr=Zt))),Yi?ktqr(ct,Vt)&&(Vt=kt):qr(kt,Vt)>qr(ct,Vt)&&(ct=kt):Vt>=ct?(ktVt&&(Vt=kt)):kt>tt?qr(ct,kt)>qr(ct,Vt)&&(Vt=kt):qr(kt,Vt)>qr(ct,Vt)&&(ct=kt)}else St.push(Tt=[ct=kt,Vt=kt]);Ztrr&&(rr=Zt),Ae=Er,tt=kt}function jt(){dt.point=pt}function or(){Tt[0]=ct,Tt[1]=Vt,dt.point=Et,Ae=null}function mr(kt,Zt){if(Ae){var Er=kt-tt;rt.add(v(Er)>180?Er+(Er>0?360:-360):Er)}else je=kt,Ue=Zt;Se.point(kt,Zt),pt(kt,Zt)}function Ar(){Se.lineStart()}function ei(){mr(je,Ue),Se.lineEnd(),v(rt)>o&&(ct=-(Vt=180)),Tt[0]=ct,Tt[1]=Vt,Ae=null}function qr(kt,Zt){return(Zt-=kt)<0?Zt+360:Zt}function jr(kt,Zt){return kt[0]-Zt[0]}function gt(kt,Zt){return kt[0]<=kt[1]?kt[0]<=Zt&&Zt<=kt[1]:Ztqr(xr[0],xr[1])&&(xr[1]=Kr[1]),qr(Kr[0],xr[1])>qr(xr[0],xr[1])&&(xr[0]=Kr[0])):Mi.push(xr=Kr);for(Wi=-1/0,Er=Mi.length-1,Zt=0,xr=Mi[Er];Zt<=Er;xr=Kr,++Zt)Kr=Mi[Zt],(dn=qr(xr[1],Kr[0]))>Wi&&(Wi=dn,ct=Kr[0],Vt=xr[1])}return St=Tt=null,ct===1/0||ar===1/0?[[NaN,NaN],[NaN,NaN]]:[[ct,ar],[Vt,rr]]}var Je,We,et,xt,At,Kt,Qt,Mr,Gr,Ir,Yr,_i,Pi,ai,mi,un,Fn={sphere:q,point:An,lineStart:Qn,lineEnd:Jn,polygonStart:function(){Fn.lineStart=Gt,Fn.lineEnd=wt},polygonEnd:function(){Fn.lineStart=Qn,Fn.lineEnd=Jn}};function An(kt,Zt){kt*=d,Zt*=d;var Er=p(Zt);Hn(Er*p(kt),Er*x(kt),x(Zt))}function Hn(kt,Zt,Er){++Je,et+=(kt-et)/Je,xt+=(Zt-xt)/Je,At+=(Er-At)/Je}function Qn(){Fn.point=Vi}function Vi(kt,Zt){kt*=d,Zt*=d;var Er=p(Zt);ai=Er*p(kt),mi=Er*x(kt),un=x(Zt),Fn.point=Kn,Hn(ai,mi,un)}function Kn(kt,Zt){kt*=d,Zt*=d;var Er=p(Zt),xr=Er*p(kt),Kr=Er*x(kt),Mi=x(Zt),Wi=b(S((Wi=mi*Mi-un*Kr)*Wi+(Wi=un*xr-ai*Mi)*Wi+(Wi=ai*Kr-mi*xr)*Wi),ai*xr+mi*Kr+un*Mi);We+=Wi,Kt+=Wi*(ai+(ai=xr)),Qt+=Wi*(mi+(mi=Kr)),Mr+=Wi*(un+(un=Mi)),Hn(ai,mi,un)}function Jn(){Fn.point=An}function Gt(){Fn.point=tr}function wt(){ir(_i,Pi),Fn.point=An}function tr(kt,Zt){_i=kt,Pi=Zt,kt*=d,Zt*=d,Fn.point=ir;var Er=p(Zt);ai=Er*p(kt),mi=Er*x(kt),un=x(Zt),Hn(ai,mi,un)}function ir(kt,Zt){kt*=d,Zt*=d;var Er=p(Zt),xr=Er*p(kt),Kr=Er*x(kt),Mi=x(Zt),Wi=mi*Mi-un*Kr,dn=un*xr-ai*Mi,wn=ai*Kr-mi*xr,On=S(Wi*Wi+dn*dn+wn*wn),Yi=E(On),$i=On&&-Yi/On;Gr+=$i*Wi,Ir+=$i*dn,Yr+=$i*wn,We+=Yi,Kt+=Yi*(ai+(ai=xr)),Qt+=Yi*(mi+(mi=Kr)),Mr+=Yi*(un+(un=Mi)),Hn(ai,mi,un)}function wr(kt){Je=We=et=xt=At=Kt=Qt=Mr=Gr=Ir=Yr=0,H(kt,Fn);var Zt=Gr,Er=Ir,xr=Yr,Kr=Zt*Zt+Er*Er+xr*xr;return Krl?kt+Math.round(-kt/f)*f:kt,Zt]}$r.invert=$r;function Ri(kt,Zt,Er){return(kt%=f)?Zt||Er?ti(en(kt),fn(Zt,Er)):en(kt):Zt||Er?fn(Zt,Er):$r}function Zi(kt){return function(Zt,Er){return Zt+=kt,[Zt>l?Zt-f:Zt<-l?Zt+f:Zt,Er]}}function en(kt){var Zt=Zi(kt);return Zt.invert=Zi(-kt),Zt}function fn(kt,Zt){var Er=p(kt),xr=x(kt),Kr=p(Zt),Mi=x(Zt);function Wi(dn,wn){var On=p(wn),Yi=p(dn)*On,$i=x(dn)*On,an=x(wn),Fi=an*Er+Yi*xr;return[b($i*Kr-Fi*Mi,Yi*Er-an*xr),E(Fi*Kr+$i*Mi)]}return Wi.invert=function(dn,wn){var On=p(wn),Yi=p(dn)*On,$i=x(dn)*On,an=x(wn),Fi=an*Kr-$i*Mi;return[b($i*Kr+an*Mi,Yi*Er+Fi*xr),E(Fi*Er-Yi*xr)]},Wi}function yn(kt){kt=Ri(kt[0]*d,kt[1]*d,kt.length>2?kt[2]*d:0);function Zt(Er){return Er=kt(Er[0]*d,Er[1]*d),Er[0]*=h,Er[1]*=h,Er}return Zt.invert=function(Er){return Er=kt.invert(Er[0]*d,Er[1]*d),Er[0]*=h,Er[1]*=h,Er},Zt}function Mn(kt,Zt,Er,xr,Kr,Mi){if(Er){var Wi=p(Zt),dn=x(Zt),wn=xr*Er;Kr==null?(Kr=Zt+xr*f,Mi=Zt-wn/2):(Kr=Ba(Wi,Kr),Mi=Ba(Wi,Mi),(xr>0?KrMi)&&(Kr+=xr*f));for(var On,Yi=Kr;xr>0?Yi>Mi:Yi1&&kt.push(kt.pop().concat(kt.shift()))},result:function(){var Er=kt;return kt=[],Zt=null,Er}}}function Wa(kt,Zt){return v(kt[0]-Zt[0])=0;--dn)Kr.point(($i=Yi[dn])[0],$i[1]);else xr(an.x,an.p.x,-1,Kr);an=an.p}an=an.o,Yi=an.z,Fi=!Fi}while(!an.v);Kr.lineEnd()}}}function da(kt){if(Zt=kt.length){for(var Zt,Er=0,xr=kt[0],Kr;++Er=0?1:-1,as=Ss*Zo,ws=as>l,Ho=Ca*Ka;if(jn.add(b(Ho*Ss*x(as),Ra*bo+Ho*p(as))),Wi+=ws?Zo+Ss*f:Zo,ws^Fi>=Er^Zn>=Er){var ml=lt(ce(an),ce(Ua));at(ml);var Ws=lt(Mi,ml);at(Ws);var Ls=(ws^Zo>=0?-1:1)*E(Ws[2]);(xr>Ls||xr===Ls&&(ml[0]||ml[1]))&&(dn+=ws^Zo>=0?1:-1)}}return(Wi<-o||Wi0){for(wn||(Kr.polygonStart(),wn=!0),Kr.lineStart(),bo=0;bo1&&Dn&2&&Ka.push(Ka.pop().concat(Ka.shift())),Yi.push(Ka.filter(Ct))}}return an}}function Ct(kt){return kt.length>1}function Sr(kt,Zt){return((kt=kt.x)[0]<0?kt[1]-u-o:u-kt[1])-((Zt=Zt.x)[0]<0?Zt[1]-u-o:u-Zt[1])}var Jr=Gn(function(){return!0},hi,Sn,[-l,-u]);function hi(kt){var Zt=NaN,Er=NaN,xr=NaN,Kr;return{lineStart:function(){kt.lineStart(),Kr=1},point:function(Mi,Wi){var dn=Mi>0?l:-l,wn=v(Mi-Zt);v(wn-l)0?u:-u),kt.point(xr,Er),kt.lineEnd(),kt.lineStart(),kt.point(dn,Er),kt.point(Mi,Er),Kr=0):xr!==dn&&wn>=l&&(v(Zt-xr)o?m((x(Zt)*(Mi=p(xr))*x(Er)-x(xr)*(Kr=p(Zt))*x(kt))/(Kr*Mi*Wi)):(Zt+xr)/2}function Sn(kt,Zt,Er,xr){var Kr;if(kt==null)Kr=Er*u,xr.point(-l,Kr),xr.point(0,Kr),xr.point(l,Kr),xr.point(l,0),xr.point(l,-Kr),xr.point(0,-Kr),xr.point(-l,-Kr),xr.point(-l,0),xr.point(-l,Kr);else if(v(kt[0]-Zt[0])>o){var Mi=kt[0]0,Kr=v(Zt)>o;function Mi(Yi,$i,an,Fi){Mn(Fi,kt,Er,an,Yi,$i)}function Wi(Yi,$i){return p(Yi)*p($i)>Zt}function dn(Yi){var $i,an,Fi,ta,Ca;return{lineStart:function(){ta=Fi=!1,Ca=1},point:function(Ra,La){var Ua=[Ra,La],Zn,Dn=Wi(Ra,La),Ka=xr?Dn?0:On(Ra,La):Dn?On(Ra+(Ra<0?l:-l),La):0;if(!$i&&(ta=Fi=Dn)&&Yi.lineStart(),Dn!==Fi&&(Zn=wn($i,Ua),(!Zn||Wa($i,Zn)||Wa(Ua,Zn))&&(Ua[2]=1)),Dn!==Fi)Ca=0,Dn?(Yi.lineStart(),Zn=wn(Ua,$i),Yi.point(Zn[0],Zn[1])):(Zn=wn($i,Ua),Yi.point(Zn[0],Zn[1],2),Yi.lineEnd()),$i=Zn;else if(Kr&&$i&&xr^Dn){var bo;!(Ka&an)&&(bo=wn(Ua,$i,!0))&&(Ca=0,xr?(Yi.lineStart(),Yi.point(bo[0][0],bo[0][1]),Yi.point(bo[1][0],bo[1][1]),Yi.lineEnd()):(Yi.point(bo[1][0],bo[1][1]),Yi.lineEnd(),Yi.lineStart(),Yi.point(bo[0][0],bo[0][1],3)))}Dn&&(!$i||!Wa($i,Ua))&&Yi.point(Ua[0],Ua[1]),$i=Ua,Fi=Dn,an=Ka},lineEnd:function(){Fi&&Yi.lineEnd(),$i=null},clean:function(){return Ca|(ta&&Fi)<<1}}}function wn(Yi,$i,an){var Fi=ce(Yi),ta=ce($i),Ca=[1,0,0],Ra=lt(Fi,ta),La=He(Ra,Ra),Ua=Ra[0],Zn=La-Ua*Ua;if(!Zn)return!an&&Yi;var Dn=Zt*La/Zn,Ka=-Zt*Ua/Zn,bo=lt(Ca,Ra),Zo=Ht(Ca,Dn),Ss=Ht(Ra,Ka);mt(Zo,Ss);var as=bo,ws=He(Zo,as),Ho=He(as,as),ml=ws*ws-Ho*(He(Zo,Zo)-1);if(!(ml<0)){var Ws=S(ml),Ls=Ht(as,(-ws-Ws)/Ho);if(mt(Ls,Zo),Ls=Pe(Ls),!an)return Ls;var va=Yi[0],no=$i[0],ys=Yi[1],rs=$i[1],Ql;no0^Ls[1]<(v(Ls[0]-va)l^(va<=Ls[0]&&Ls[0]<=no)){var pu=Ht(as,(-ws+Ws)/Ho);return mt(pu,Zo),[Ls,Pe(pu)]}}}function On(Yi,$i){var an=xr?kt:l-kt,Fi=0;return Yi<-an?Fi|=1:Yi>an&&(Fi|=2),$i<-an?Fi|=4:$i>an&&(Fi|=8),Fi}return Gn(Wi,dn,Mi,xr?[0,-kt]:[-l,kt-l])}function ki(kt,Zt,Er,xr,Kr,Mi){var Wi=kt[0],dn=kt[1],wn=Zt[0],On=Zt[1],Yi=0,$i=1,an=wn-Wi,Fi=On-dn,ta;if(ta=Er-Wi,!(!an&&ta>0)){if(ta/=an,an<0){if(ta0){if(ta>$i)return;ta>Yi&&(Yi=ta)}if(ta=Kr-Wi,!(!an&&ta<0)){if(ta/=an,an<0){if(ta>$i)return;ta>Yi&&(Yi=ta)}else if(an>0){if(ta0)){if(ta/=Fi,Fi<0){if(ta0){if(ta>$i)return;ta>Yi&&(Yi=ta)}if(ta=Mi-dn,!(!Fi&&ta<0)){if(ta/=Fi,Fi<0){if(ta>$i)return;ta>Yi&&(Yi=ta)}else if(Fi>0){if(ta0&&(kt[0]=Wi+Yi*an,kt[1]=dn+Yi*Fi),$i<1&&(Zt[0]=Wi+$i*an,Zt[1]=dn+$i*Fi),!0}}}}}var _n=1e9,ya=-_n;function ea(kt,Zt,Er,xr){function Kr(On,Yi){return kt<=On&&On<=Er&&Zt<=Yi&&Yi<=xr}function Mi(On,Yi,$i,an){var Fi=0,ta=0;if(On==null||(Fi=Wi(On,$i))!==(ta=Wi(Yi,$i))||wn(On,Yi)<0^$i>0)do an.point(Fi===0||Fi===3?kt:Er,Fi>1?xr:Zt);while((Fi=(Fi+$i+4)%4)!==ta);else an.point(Yi[0],Yi[1])}function Wi(On,Yi){return v(On[0]-kt)0?0:3:v(On[0]-Er)0?2:1:v(On[1]-Zt)0?1:0:Yi>0?3:2}function dn(On,Yi){return wn(On.x,Yi.x)}function wn(On,Yi){var $i=Wi(On,1),an=Wi(Yi,1);return $i!==an?$i-an:$i===0?Yi[1]-On[1]:$i===1?On[0]-Yi[0]:$i===2?On[1]-Yi[1]:Yi[0]-On[0]}return function(On){var Yi=On,$i=ma(),an,Fi,ta,Ca,Ra,La,Ua,Zn,Dn,Ka,bo,Zo={point:Ss,lineStart:ml,lineEnd:Ws,polygonStart:ws,polygonEnd:Ho};function Ss(va,no){Kr(va,no)&&Yi.point(va,no)}function as(){for(var va=0,no=0,ys=Fi.length;noxr&&(Uc-Nc)*(xr-pu)>(xu-pu)*(kt-Nc)&&++va:xu<=xr&&(Uc-Nc)*(xr-pu)<(xu-pu)*(kt-Nc)&&--va;return va}function ws(){Yi=$i,an=[],Fi=[],bo=!0}function Ho(){var va=as(),no=bo&&va,ys=(an=t.merge(an)).length;(no||ys)&&(On.polygonStart(),no&&(On.lineStart(),Mi(null,null,1,On),On.lineEnd()),ys&&Xo(an,dn,va,Mi,On),On.polygonEnd()),Yi=On,an=Fi=ta=null}function ml(){Zo.point=Ls,Fi&&Fi.push(ta=[]),Ka=!0,Dn=!1,Ua=Zn=NaN}function Ws(){an&&(Ls(Ca,Ra),La&&Dn&&$i.rejoin(),an.push($i.result())),Zo.point=Ss,Dn&&Yi.lineEnd()}function Ls(va,no){var ys=Kr(va,no);if(Fi&&ta.push([va,no]),Ka)Ca=va,Ra=no,La=ys,Ka=!1,ys&&(Yi.lineStart(),Yi.point(va,no));else if(ys&&Dn)Yi.point(va,no);else{var rs=[Ua=Math.max(ya,Math.min(_n,Ua)),Zn=Math.max(ya,Math.min(_n,Zn))],Ql=[va=Math.max(ya,Math.min(_n,va)),no=Math.max(ya,Math.min(_n,no))];ki(rs,Ql,kt,Zt,Er,xr)?(Dn||(Yi.lineStart(),Yi.point(rs[0],rs[1])),Yi.point(Ql[0],Ql[1]),ys||Yi.lineEnd(),bo=!1):ys&&(Yi.lineStart(),Yi.point(va,no),bo=!1)}Ua=va,Zn=no,Dn=ys}return Zo}}function Ma(){var kt=0,Zt=0,Er=960,xr=500,Kr,Mi,Wi;return Wi={stream:function(dn){return Kr&&Mi===dn?Kr:Kr=ea(kt,Zt,Er,xr)(Mi=dn)},extent:function(dn){return arguments.length?(kt=+dn[0][0],Zt=+dn[0][1],Er=+dn[1][0],xr=+dn[1][1],Kr=Mi=null,Wi):[[kt,Zt],[Er,xr]]}}}var _o=r(),No,po,Lo,ko={sphere:q,point:q,lineStart:Ds,lineEnd:q,polygonStart:q,polygonEnd:q};function Ds(){ko.point=ll,ko.lineEnd=Fs}function Fs(){ko.point=ko.lineEnd=q}function ll(kt,Zt){kt*=d,Zt*=d,No=kt,po=x(Zt),Lo=p(Zt),ko.point=ul}function ul(kt,Zt){kt*=d,Zt*=d;var Er=x(Zt),xr=p(Zt),Kr=v(kt-No),Mi=p(Kr),Wi=x(Kr),dn=xr*Wi,wn=Lo*Er-po*xr*Mi,On=po*Er+Lo*xr*Mi;_o.add(b(S(dn*dn+wn*wn),On)),No=kt,po=Er,Lo=xr}function zl(kt){return _o.reset(),H(kt,ko),+_o}var us=[null,null],il={type:"LineString",coordinates:us};function As(kt,Zt){return us[0]=kt,us[1]=Zt,zl(il)}var cl={Feature:function(kt,Zt){return zs(kt.geometry,Zt)},FeatureCollection:function(kt,Zt){for(var Er=kt.features,xr=-1,Kr=Er.length;++xr0&&(Kr=As(kt[Mi],kt[Mi-1]),Kr>0&&Er<=Kr&&xr<=Kr&&(Er+xr-Kr)*(1-Math.pow((Er-xr)/Kr,2))o}).map(an)).concat(t.range(k(Mi/On)*On,Kr,On).filter(function(Zn){return v(Zn%$i)>o}).map(Fi))}return La.lines=function(){return Ua().map(function(Zn){return{type:"LineString",coordinates:Zn}})},La.outline=function(){return{type:"Polygon",coordinates:[ta(xr).concat(Ca(Wi).slice(1),ta(Er).reverse().slice(1),Ca(dn).reverse().slice(1))]}},La.extent=function(Zn){return arguments.length?La.extentMajor(Zn).extentMinor(Zn):La.extentMinor()},La.extentMajor=function(Zn){return arguments.length?(xr=+Zn[0][0],Er=+Zn[1][0],dn=+Zn[0][1],Wi=+Zn[1][1],xr>Er&&(Zn=xr,xr=Er,Er=Zn),dn>Wi&&(Zn=dn,dn=Wi,Wi=Zn),La.precision(Ra)):[[xr,dn],[Er,Wi]]},La.extentMinor=function(Zn){return arguments.length?(Zt=+Zn[0][0],kt=+Zn[1][0],Mi=+Zn[0][1],Kr=+Zn[1][1],Zt>kt&&(Zn=Zt,Zt=kt,kt=Zn),Mi>Kr&&(Zn=Mi,Mi=Kr,Kr=Zn),La.precision(Ra)):[[Zt,Mi],[kt,Kr]]},La.step=function(Zn){return arguments.length?La.stepMajor(Zn).stepMinor(Zn):La.stepMinor()},La.stepMajor=function(Zn){return arguments.length?(Yi=+Zn[0],$i=+Zn[1],La):[Yi,$i]},La.stepMinor=function(Zn){return arguments.length?(wn=+Zn[0],On=+Zn[1],La):[wn,On]},La.precision=function(Zn){return arguments.length?(Ra=+Zn,an=Rn(Mi,Kr,90),Fi=_a(Zt,kt,Ra),ta=Rn(dn,Wi,90),Ca=_a(xr,Er,Ra),La):Ra},La.extentMajor([[-180,-90+o],[180,90-o]]).extentMinor([[-180,-80-o],[180,80+o]])}function ql(){return Vu()()}function xo(kt,Zt){var Er=kt[0]*d,xr=kt[1]*d,Kr=Zt[0]*d,Mi=Zt[1]*d,Wi=p(xr),dn=x(xr),wn=p(Mi),On=x(Mi),Yi=Wi*p(Er),$i=Wi*x(Er),an=wn*p(Kr),Fi=wn*x(Kr),ta=2*E(S(z(Mi-xr)+Wi*wn*z(Kr-Er))),Ca=x(ta),Ra=ta?function(La){var Ua=x(La*=ta)/Ca,Zn=x(ta-La)/Ca,Dn=Zn*Yi+Ua*an,Ka=Zn*$i+Ua*Fi,bo=Zn*dn+Ua*On;return[b(Ka,Dn)*h,b(bo,S(Dn*Dn+Ka*Ka))*h]}:function(){return[Er*h,xr*h]};return Ra.distance=ta,Ra}function Kl(kt){return kt}var Ns=r(),Hl=r(),ac,oa,qo,Oo,Ol={point:q,lineStart:q,lineEnd:q,polygonStart:function(){Ol.lineStart=Pc,Ol.lineEnd=Vf},polygonEnd:function(){Ol.lineStart=Ol.lineEnd=Ol.point=q,Ns.add(v(Hl)),Hl.reset()},result:function(){var kt=Ns/2;return Ns.reset(),kt}};function Pc(){Ol.point=Do}function Do(kt,Zt){Ol.point=nf,ac=qo=kt,oa=Oo=Zt}function nf(kt,Zt){Hl.add(Oo*kt-qo*Zt),qo=kt,Oo=Zt}function Vf(){nf(ac,oa)}var pl=1/0,Zc=pl,Jl=-pl,qs=Jl,yu={point:oc,lineStart:q,lineEnd:q,polygonStart:q,polygonEnd:q,result:function(){var kt=[[pl,Zc],[Jl,qs]];return Jl=qs=-(Zc=pl=1/0),kt}};function oc(kt,Zt){ktJl&&(Jl=kt),Ztqs&&(qs=Zt)}var Cf=0,sc=0,jh=0,Lf=0,cs=0,af=0,Gf=0,$l=0,fl=0,lc,Fu,Es,Hs,Go={point:ps,lineStart:uc,lineEnd:Os,polygonStart:function(){Go.lineStart=od,Go.lineEnd=Po},polygonEnd:function(){Go.point=ps,Go.lineStart=uc,Go.lineEnd=Os},result:function(){var kt=fl?[Gf/fl,$l/fl]:af?[Lf/af,cs/af]:jh?[Cf/jh,sc/jh]:[NaN,NaN];return Cf=sc=jh=Lf=cs=af=Gf=$l=fl=0,kt}};function ps(kt,Zt){Cf+=kt,sc+=Zt,++jh}function uc(){Go.point=xl}function xl(kt,Zt){Go.point=Gu,ps(Es=kt,Hs=Zt)}function Gu(kt,Zt){var Er=kt-Es,xr=Zt-Hs,Kr=S(Er*Er+xr*xr);Lf+=Kr*(Es+kt)/2,cs+=Kr*(Hs+Zt)/2,af+=Kr,ps(Es=kt,Hs=Zt)}function Os(){Go.point=ps}function od(){Go.point=sd}function Po(){Ko(lc,Fu)}function sd(kt,Zt){Go.point=Ko,ps(lc=Es=kt,Fu=Hs=Zt)}function Ko(kt,Zt){var Er=kt-Es,xr=Zt-Hs,Kr=S(Er*Er+xr*xr);Lf+=Kr*(Es+kt)/2,cs+=Kr*(Hs+Zt)/2,af+=Kr,Kr=Hs*kt-Es*Zt,Gf+=Kr*(Es+kt),$l+=Kr*(Hs+Zt),fl+=Kr*3,ps(Es=kt,Hs=Zt)}function Pa(kt){this._context=kt}Pa.prototype={_radius:4.5,pointRadius:function(kt){return this._radius=kt,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(kt,Zt){switch(this._point){case 0:{this._context.moveTo(kt,Zt),this._point=1;break}case 1:{this._context.lineTo(kt,Zt);break}default:{this._context.moveTo(kt+this._radius,Zt),this._context.arc(kt,Zt,this._radius,0,f);break}}},result:q};var of=r(),Hu,bl,Hf,Ic,yf,Bl={point:q,lineStart:function(){Bl.point=Ah},lineEnd:function(){Hu&&Qf(bl,Hf),Bl.point=q},polygonStart:function(){Hu=!0},polygonEnd:function(){Hu=null},result:function(){var kt=+of;return of.reset(),kt}};function Ah(kt,Zt){Bl.point=Qf,bl=Ic=kt,Hf=yf=Zt}function Qf(kt,Zt){Ic-=kt,yf-=Zt,of.add(S(Ic*Ic+yf*yf)),Ic=kt,yf=Zt}function _f(){this._string=[]}_f.prototype={_radius:4.5,_circle:Yc(4.5),pointRadius:function(kt){return(kt=+kt)!==this._radius&&(this._radius=kt,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(kt,Zt){switch(this._point){case 0:{this._string.push("M",kt,",",Zt),this._point=1;break}case 1:{this._string.push("L",kt,",",Zt);break}default:{this._circle==null&&(this._circle=Yc(this._radius)),this._string.push("M",kt,",",Zt,this._circle);break}}},result:function(){if(this._string.length){var kt=this._string.join("");return this._string=[],kt}else return null}};function Yc(kt){return"m0,"+kt+"a"+kt+","+kt+" 0 1,1 0,"+-2*kt+"a"+kt+","+kt+" 0 1,1 0,"+2*kt+"z"}function eh(kt,Zt){var Er=4.5,xr,Kr;function Mi(Wi){return Wi&&(typeof Er=="function"&&Kr.pointRadius(+Er.apply(this,arguments)),H(Wi,xr(Kr))),Kr.result()}return Mi.area=function(Wi){return H(Wi,xr(Ol)),Ol.result()},Mi.measure=function(Wi){return H(Wi,xr(Bl)),Bl.result()},Mi.bounds=function(Wi){return H(Wi,xr(yu)),yu.result()},Mi.centroid=function(Wi){return H(Wi,xr(Go)),Go.result()},Mi.projection=function(Wi){return arguments.length?(xr=Wi==null?(kt=null,Kl):(kt=Wi).stream,Mi):kt},Mi.context=function(Wi){return arguments.length?(Kr=Wi==null?(Zt=null,new _f):new Pa(Zt=Wi),typeof Er!="function"&&Kr.pointRadius(Er),Mi):Zt},Mi.pointRadius=function(Wi){return arguments.length?(Er=typeof Wi=="function"?Wi:(Kr.pointRadius(+Wi),+Wi),Mi):Er},Mi.projection(kt).context(Zt)}function th(kt){return{stream:ju(kt)}}function ju(kt){return function(Zt){var Er=new jf;for(var xr in kt)Er[xr]=kt[xr];return Er.stream=Zt,Er}}function jf(){}jf.prototype={constructor:jf,point:function(kt,Zt){this.stream.point(kt,Zt)},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 cc(kt,Zt,Er){var xr=kt.clipExtent&&kt.clipExtent();return kt.scale(150).translate([0,0]),xr!=null&&kt.clipExtent(null),H(Er,kt.stream(yu)),Zt(yu.result()),xr!=null&&kt.clipExtent(xr),kt}function sf(kt,Zt,Er){return cc(kt,function(xr){var Kr=Zt[1][0]-Zt[0][0],Mi=Zt[1][1]-Zt[0][1],Wi=Math.min(Kr/(xr[1][0]-xr[0][0]),Mi/(xr[1][1]-xr[0][1])),dn=+Zt[0][0]+(Kr-Wi*(xr[1][0]+xr[0][0]))/2,wn=+Zt[0][1]+(Mi-Wi*(xr[1][1]+xr[0][1]))/2;kt.scale(150*Wi).translate([dn,wn])},Er)}function Nl(kt,Zt,Er){return sf(kt,[[0,0],Zt],Er)}function Kc(kt,Zt,Er){return cc(kt,function(xr){var Kr=+Zt,Mi=Kr/(xr[1][0]-xr[0][0]),Wi=(Kr-Mi*(xr[1][0]+xr[0][0]))/2,dn=-Mi*xr[0][1];kt.scale(150*Mi).translate([Wi,dn])},Er)}function Rc(kt,Zt,Er){return cc(kt,function(xr){var Kr=+Zt,Mi=Kr/(xr[1][1]-xr[0][1]),Wi=-Mi*xr[0][0],dn=(Kr-Mi*(xr[1][1]+xr[0][1]))/2;kt.scale(150*Mi).translate([Wi,dn])},Er)}var gs=16,Wf=p(30*d);function Wh(kt,Zt){return+Zt?lf(kt,Zt):rh(kt)}function rh(kt){return ju({point:function(Zt,Er){Zt=kt(Zt,Er),this.stream.point(Zt[0],Zt[1])}})}function lf(kt,Zt){function Er(xr,Kr,Mi,Wi,dn,wn,On,Yi,$i,an,Fi,ta,Ca,Ra){var La=On-xr,Ua=Yi-Kr,Zn=La*La+Ua*Ua;if(Zn>4*Zt&&Ca--){var Dn=Wi+an,Ka=dn+Fi,bo=wn+ta,Zo=S(Dn*Dn+Ka*Ka+bo*bo),Ss=E(bo/=Zo),as=v(v(bo)-1)Zt||v((La*Ws+Ua*Ls)/Zn-.5)>.3||Wi*an+dn*Fi+wn*ta2?va[2]%360*d:0,Ws()):[dn*h,wn*h,On*h]},Ho.angle=function(va){return arguments.length?($i=va%360*d,Ws()):$i*h},Ho.reflectX=function(va){return arguments.length?(an=va?-1:1,Ws()):an<0},Ho.reflectY=function(va){return arguments.length?(Fi=va?-1:1,Ws()):Fi<0},Ho.precision=function(va){return arguments.length?(bo=Wh(Zo,Ka=va*va),Ls()):S(Ka)},Ho.fitExtent=function(va,no){return sf(Ho,va,no)},Ho.fitSize=function(va,no){return Nl(Ho,va,no)},Ho.fitWidth=function(va,no){return Kc(Ho,va,no)},Ho.fitHeight=function(va,no){return Rc(Ho,va,no)};function Ws(){var va=js(Er,0,0,an,Fi,$i).apply(null,Zt(Mi,Wi)),no=($i?js:ih)(Er,xr-va[0],Kr-va[1],an,Fi,$i);return Yi=Ri(dn,wn,On),Zo=ti(Zt,no),Ss=ti(Yi,Zo),bo=Wh(Zo,Ka),Ls()}function Ls(){return as=ws=null,Ho}return function(){return Zt=kt.apply(this,arguments),Ho.invert=Zt.invert&&ml,Ws()}}function ks(kt){var Zt=0,Er=l/3,xr=Dc(kt),Kr=xr(Zt,Er);return Kr.parallels=function(Mi){return arguments.length?xr(Zt=Mi[0]*d,Er=Mi[1]*d):[Zt*h,Er*h]},Kr}function bc(kt){var Zt=p(kt);function Er(xr,Kr){return[xr*Zt,x(Kr)/Zt]}return Er.invert=function(xr,Kr){return[xr/Zt,E(Kr*Zt)]},Er}function hu(kt,Zt){var Er=x(kt),xr=(Er+x(Zt))/2;if(v(xr)=.12&&Ra<.234&&Ca>=-.425&&Ca<-.214?Kr:Ra>=.166&&Ra<.234&&Ca>=-.214&&Ca<-.115?Wi:Er).invert(an)},Yi.stream=function(an){return kt&&Zt===an?kt:kt=nh([Er.stream(Zt=an),Kr.stream(an),Wi.stream(an)])},Yi.precision=function(an){return arguments.length?(Er.precision(an),Kr.precision(an),Wi.precision(an),$i()):Er.precision()},Yi.scale=function(an){return arguments.length?(Er.scale(an),Kr.scale(an*.35),Wi.scale(an),Yi.translate(Er.translate())):Er.scale()},Yi.translate=function(an){if(!arguments.length)return Er.translate();var Fi=Er.scale(),ta=+an[0],Ca=+an[1];return xr=Er.translate(an).clipExtent([[ta-.455*Fi,Ca-.238*Fi],[ta+.455*Fi,Ca+.238*Fi]]).stream(On),Mi=Kr.translate([ta-.307*Fi,Ca+.201*Fi]).clipExtent([[ta-.425*Fi+o,Ca+.12*Fi+o],[ta-.214*Fi-o,Ca+.234*Fi-o]]).stream(On),dn=Wi.translate([ta-.205*Fi,Ca+.212*Fi]).clipExtent([[ta-.214*Fi+o,Ca+.166*Fi+o],[ta-.115*Fi-o,Ca+.234*Fi-o]]).stream(On),$i()},Yi.fitExtent=function(an,Fi){return sf(Yi,an,Fi)},Yi.fitSize=function(an,Fi){return Nl(Yi,an,Fi)},Yi.fitWidth=function(an,Fi){return Kc(Yi,an,Fi)},Yi.fitHeight=function(an,Fi){return Rc(Yi,an,Fi)};function $i(){return kt=Zt=null,Yi}return Yi.scale(1070)}function zu(kt){return function(Zt,Er){var xr=p(Zt),Kr=p(Er),Mi=kt(xr*Kr);return[Mi*Kr*x(Zt),Mi*x(Er)]}}function Fc(kt){return function(Zt,Er){var xr=S(Zt*Zt+Er*Er),Kr=kt(xr),Mi=x(Kr),Wi=p(Kr);return[b(Zt*Mi,xr*Wi),E(xr&&Er*Mi/xr)]}}var wc=zu(function(kt){return S(2/(1+kt))});wc.invert=Fc(function(kt){return 2*E(kt/2)});function bd(){return Eu(wc).scale(124.75).clipAngle(180-.001)}var xf=zu(function(kt){return(kt=P(kt))&&kt/x(kt)});xf.invert=Fc(function(kt){return kt});function Pf(){return Eu(xf).scale(79.4188).clipAngle(180-.001)}function qu(kt,Zt){return[kt,T(g((u+Zt)/2))]}qu.invert=function(kt,Zt){return[kt,2*m(M(Zt))-u]};function bf(){return jl(qu).scale(961/f)}function jl(kt){var Zt=Eu(kt),Er=Zt.center,xr=Zt.scale,Kr=Zt.translate,Mi=Zt.clipExtent,Wi=null,dn,wn,On;Zt.scale=function($i){return arguments.length?(xr($i),Yi()):xr()},Zt.translate=function($i){return arguments.length?(Kr($i),Yi()):Kr()},Zt.center=function($i){return arguments.length?(Er($i),Yi()):Er()},Zt.clipExtent=function($i){return arguments.length?($i==null?Wi=dn=wn=On=null:(Wi=+$i[0][0],dn=+$i[0][1],wn=+$i[1][0],On=+$i[1][1]),Yi()):Wi==null?null:[[Wi,dn],[wn,On]]};function Yi(){var $i=l*xr(),an=Zt(yn(Zt.rotate()).invert([0,0]));return Mi(Wi==null?[[an[0]-$i,an[1]-$i],[an[0]+$i,an[1]+$i]]:kt===qu?[[Math.max(an[0]-$i,Wi),dn],[Math.min(an[0]+$i,wn),On]]:[[Wi,Math.max(an[1]-$i,dn)],[wn,Math.min(an[1]+$i,On)]])}return Yi()}function uf(kt){return g((u+kt)/2)}function Xh(kt,Zt){var Er=p(kt),xr=kt===Zt?x(kt):T(Er/p(Zt))/T(uf(Zt)/uf(kt)),Kr=Er*L(uf(kt),xr)/xr;if(!xr)return qu;function Mi(Wi,dn){Kr>0?dn<-u+o&&(dn=-u+o):dn>u-o&&(dn=u-o);var wn=Kr/L(uf(dn),xr);return[wn*x(xr*Wi),Kr-wn*p(xr*Wi)]}return Mi.invert=function(Wi,dn){var wn=Kr-dn,On=C(xr)*S(Wi*Wi+wn*wn),Yi=b(Wi,v(wn))*C(wn);return wn*xr<0&&(Yi-=l*C(Wi)*C(wn)),[Yi/xr,2*m(L(Kr/On,1/xr))-u]},Mi}function If(){return ks(Xh).scale(109.5).parallels([30,30])}function Cs(kt,Zt){return[kt,Zt]}Cs.invert=Cs;function du(){return Eu(Cs).scale(152.63)}function ku(kt,Zt){var Er=p(kt),xr=kt===Zt?x(kt):(Er-p(Zt))/(Zt-kt),Kr=Er/xr+kt;if(v(xr)o&&--xr>0);return[kt/(.8707+(Mi=Er*Er)*(-.131979+Mi*(-.013791+Mi*Mi*Mi*(.003971-.001529*Mi)))),Er]};function Tc(){return Eu(qc).scale(175.295)}function wl(kt,Zt){return[p(Zt)*x(kt),x(Zt)]}wl.invert=Fc(E);function vu(){return Eu(wl).scale(249.5).clipAngle(90+o)}function Oc(kt,Zt){var Er=p(Zt),xr=1+p(kt)*Er;return[Er*x(kt)/xr,x(Zt)/xr]}Oc.invert=Fc(function(kt){return 2*m(kt)});function ff(){return Eu(Oc).scale(250).clipAngle(142)}function fc(kt,Zt){return[T(g((u+Zt)/2)),-kt]}fc.invert=function(kt,Zt){return[-Zt,2*m(M(kt))-u]};function Bc(){var kt=jl(fc),Zt=kt.center,Er=kt.rotate;return kt.center=function(xr){return arguments.length?Zt([-xr[1],xr[0]]):(xr=Zt(),[xr[1],-xr[0]])},kt.rotate=function(xr){return arguments.length?Er([xr[0],xr[1],xr.length>2?xr[2]+90:90]):(xr=Er(),[xr[0],xr[1],xr[2]-90])},Er([0,0,90]).scale(159.155)}e.geoAlbers=nl,e.geoAlbersUsa=Mh,e.geoArea=me,e.geoAzimuthalEqualArea=bd,e.geoAzimuthalEqualAreaRaw=wc,e.geoAzimuthalEquidistant=Pf,e.geoAzimuthalEquidistantRaw=xf,e.geoBounds=Ge,e.geoCentroid=wr,e.geoCircle=ua,e.geoClipAntimeridian=Jr,e.geoClipCircle=En,e.geoClipExtent=Ma,e.geoClipRectangle=ea,e.geoConicConformal=If,e.geoConicConformalRaw=Xh,e.geoConicEqualArea=_u,e.geoConicEqualAreaRaw=hu,e.geoConicEquidistant=Xf,e.geoConicEquidistantRaw=ku,e.geoContains=bs,e.geoDistance=As,e.geoEqualEarth=Zf,e.geoEqualEarthRaw=cf,e.geoEquirectangular=du,e.geoEquirectangularRaw=Cs,e.geoGnomonic=ah,e.geoGnomonicRaw=Wl,e.geoGraticule=Vu,e.geoGraticule10=ql,e.geoIdentity=Zu,e.geoInterpolate=xo,e.geoLength=zl,e.geoMercator=bf,e.geoMercatorRaw=qu,e.geoNaturalEarth1=Tc,e.geoNaturalEarth1Raw=qc,e.geoOrthographic=vu,e.geoOrthographicRaw=wl,e.geoPath=eh,e.geoProjection=Eu,e.geoProjectionMutator=Dc,e.geoRotation=yn,e.geoStereographic=ff,e.geoStereographicRaw=Oc,e.geoStream=H,e.geoTransform=th,e.geoTransverseMercator=Bc,e.geoTransverseMercatorRaw=fc,Object.defineProperty(e,"__esModule",{value:!0})})});var VDe=ye((qF,UDe)=>{(function(e,t){typeof qF=="object"&&typeof UDe!="undefined"?t(qF,UZ(),dk()):t(e.d3=e.d3||{},e.d3,e.d3)})(qF,function(e,t,r){"use strict";var n=Math.abs,i=Math.atan,a=Math.atan2,o=Math.cos,s=Math.exp,l=Math.floor,u=Math.log,c=Math.max,f=Math.min,h=Math.pow,d=Math.round,v=Math.sign||function(ve){return ve>0?1:ve<0?-1:0},m=Math.sin,b=Math.tan,p=1e-6,k=1e-12,M=Math.PI,T=M/2,L=M/4,x=Math.SQRT1_2,C=G(2),S=G(M),g=M*2,P=180/M,E=M/180;function z(ve){return ve?ve/Math.sin(ve):1}function q(ve){return ve>1?T:ve<-1?-T:Math.asin(ve)}function V(ve){return ve>1?0:ve<-1?M:Math.acos(ve)}function G(ve){return ve>0?Math.sqrt(ve):0}function Z(ve){return ve=s(2*ve),(ve-1)/(ve+1)}function j(ve){return(s(ve)-s(-ve))/2}function N(ve){return(s(ve)+s(-ve))/2}function H(ve){return u(ve+G(ve*ve+1))}function ie(ve){return u(ve+G(ve*ve-1))}function ae(ve){var xe=b(ve/2),Ie=2*u(o(ve/2))/(xe*xe);function ze(Qe,Xe){var nt=o(Qe),qt=o(Xe),Wt=m(Xe),nr=qt*nt,fr=-((1-nr?u((1+nr)/2)/(1-nr):-.5)+Ie/(1+nr));return[fr*qt*m(Qe),fr*Wt]}return ze.invert=function(Qe,Xe){var nt=G(Qe*Qe+Xe*Xe),qt=-ve/2,Wt=50,nr;if(!nt)return[0,0];do{var fr=qt/2,br=o(fr),Fr=m(fr),Hr=Fr/br,ri=-u(n(br));qt-=nr=(2/Hr*ri-Ie*Hr-nt)/(-ri/(Fr*Fr)+1-Ie/(2*br*br))*(br<0?.7:1)}while(n(nr)>p&&--Wt>0);var Ci=m(qt);return[a(Qe*Ci,nt*o(qt)),q(Xe*Ci/nt)]},ze}function _e(){var ve=T,xe=t.geoProjectionMutator(ae),Ie=xe(ve);return Ie.radius=function(ze){return arguments.length?xe(ve=ze*E):ve*P},Ie.scale(179.976).clipAngle(147)}function Ee(ve,xe){var Ie=o(xe),ze=z(V(Ie*o(ve/=2)));return[2*Ie*m(ve)*ze,m(xe)*ze]}Ee.invert=function(ve,xe){if(!(ve*ve+4*xe*xe>M*M+p)){var Ie=ve,ze=xe,Qe=25;do{var Xe=m(Ie),nt=m(Ie/2),qt=o(Ie/2),Wt=m(ze),nr=o(ze),fr=m(2*ze),br=Wt*Wt,Fr=nr*nr,Hr=nt*nt,ri=1-Fr*qt*qt,Ci=ri?V(nr*qt)*G(cn=1/ri):cn=0,cn,sn=2*Ci*nr*nt-ve,Ln=Ci*Wt-xe,Yn=cn*(Fr*Hr+Ci*nr*qt*br),Aa=cn*(.5*Xe*fr-Ci*2*Wt*nt),fa=cn*.25*(fr*nt-Ci*Wt*Fr*Xe),$a=cn*(br*qt+Ci*Hr*nr),Co=Aa*fa-$a*Yn;if(!Co)break;var Qa=(Ln*Aa-sn*$a)/Co,mo=(sn*fa-Ln*Yn)/Co;Ie-=Qa,ze-=mo}while((n(Qa)>p||n(mo)>p)&&--Qe>0);return[Ie,ze]}};function Ce(){return t.geoProjection(Ee).scale(152.63)}function ge(ve){var xe=m(ve),Ie=o(ve),ze=ve>=0?1:-1,Qe=b(ze*ve),Xe=(1+xe-Ie)/2;function nt(qt,Wt){var nr=o(Wt),fr=o(qt/=2);return[(1+nr)*m(qt),(ze*Wt>-a(fr,Qe)-.001?0:-ze*10)+Xe+m(Wt)*Ie-(1+nr)*xe*fr]}return nt.invert=function(qt,Wt){var nr=0,fr=0,br=50;do{var Fr=o(nr),Hr=m(nr),ri=o(fr),Ci=m(fr),cn=1+ri,sn=cn*Hr-qt,Ln=Xe+Ci*Ie-cn*xe*Fr-Wt,Yn=cn*Fr/2,Aa=-Hr*Ci,fa=xe*cn*Hr/2,$a=Ie*ri+xe*Fr*Ci,Co=Aa*fa-$a*Yn,Qa=(Ln*Aa-sn*$a)/Co/2,mo=(sn*fa-Ln*Yn)/Co;n(mo)>2&&(mo/=2),nr-=Qa,fr-=mo}while((n(Qa)>p||n(mo)>p)&&--br>0);return ze*fr>-a(o(nr),Qe)-.001?[nr*2,fr]:null},nt}function re(){var ve=20*E,xe=ve>=0?1:-1,Ie=b(xe*ve),ze=t.geoProjectionMutator(ge),Qe=ze(ve),Xe=Qe.stream;return Qe.parallel=function(nt){return arguments.length?(Ie=b((xe=(ve=nt*E)>=0?1:-1)*ve),ze(ve)):ve*P},Qe.stream=function(nt){var qt=Qe.rotate(),Wt=Xe(nt),nr=(Qe.rotate([0,0]),Xe(nt)),fr=Qe.precision();return Qe.rotate(qt),Wt.sphere=function(){nr.polygonStart(),nr.lineStart();for(var br=xe*-180;xe*br<180;br+=xe*90)nr.point(br,xe*90);if(ve)for(;xe*(br-=3*xe*fr)>=-180;)nr.point(br,xe*-a(o(br*E/2),Ie)*P);nr.lineEnd(),nr.polygonEnd()},Wt},Qe.scale(218.695).center([0,28.0974])}function Se(ve,xe){var Ie=b(xe/2),ze=G(1-Ie*Ie),Qe=1+ze*o(ve/=2),Xe=m(ve)*ze/Qe,nt=Ie/Qe,qt=Xe*Xe,Wt=nt*nt;return[4/3*Xe*(3+qt-3*Wt),4/3*nt*(3+3*qt-Wt)]}Se.invert=function(ve,xe){if(ve*=3/8,xe*=3/8,!ve&&n(xe)>1)return null;var Ie=ve*ve,ze=xe*xe,Qe=1+Ie+ze,Xe=G((Qe-G(Qe*Qe-4*xe*xe))/2),nt=q(Xe)/3,qt=Xe?ie(n(xe/Xe))/3:H(n(ve))/3,Wt=o(nt),nr=N(qt),fr=nr*nr-Wt*Wt;return[v(ve)*2*a(j(qt)*Wt,.25-fr),v(xe)*2*a(nr*m(nt),.25+fr)]};function ke(){return t.geoProjection(Se).scale(66.1603)}var be=G(8),Be=u(1+C);function Le(ve,xe){var Ie=n(xe);return Iek&&--ze>0);return[ve/(o(Ie)*(be-1/m(Ie))),v(xe)*Ie]};function me(){return t.geoProjection(Le).scale(112.314)}function Pe(ve){var xe=2*M/ve;function Ie(ze,Qe){var Xe=t.geoAzimuthalEquidistantRaw(ze,Qe);if(n(ze)>T){var nt=a(Xe[1],Xe[0]),qt=G(Xe[0]*Xe[0]+Xe[1]*Xe[1]),Wt=xe*d((nt-T)/xe)+T,nr=a(m(nt-=Wt),2-o(nt));nt=Wt+q(M/qt*m(nr))-nr,Xe[0]=qt*o(nt),Xe[1]=qt*m(nt)}return Xe}return Ie.invert=function(ze,Qe){var Xe=G(ze*ze+Qe*Qe);if(Xe>T){var nt=a(Qe,ze),qt=xe*d((nt-T)/xe)+T,Wt=nt>qt?-1:1,nr=Xe*o(qt-nt),fr=1/b(Wt*V((nr-M)/G(M*(M-2*nr)+Xe*Xe)));nt=qt+2*i((fr+Wt*G(fr*fr-3))/3),ze=Xe*o(nt),Qe=Xe*m(nt)}return t.geoAzimuthalEquidistantRaw.invert(ze,Qe)},Ie}function ce(){var ve=5,xe=t.geoProjectionMutator(Pe),Ie=xe(ve),ze=Ie.stream,Qe=.01,Xe=-o(Qe*E),nt=m(Qe*E);return Ie.lobes=function(qt){return arguments.length?xe(ve=+qt):ve},Ie.stream=function(qt){var Wt=Ie.rotate(),nr=ze(qt),fr=(Ie.rotate([0,0]),ze(qt));return Ie.rotate(Wt),nr.sphere=function(){fr.polygonStart(),fr.lineStart();for(var br=0,Fr=360/ve,Hr=2*M/ve,ri=90-180/ve,Ci=T;br0&&n(Qe)>p);return ze<0?NaN:Ie}function at(ve,xe,Ie){return xe===void 0&&(xe=40),Ie===void 0&&(Ie=k),function(ze,Qe,Xe,nt){var qt,Wt,nr;Xe=Xe===void 0?0:+Xe,nt=nt===void 0?0:+nt;for(var fr=0;frqt){Xe-=Wt/=2,nt-=nr/=2;continue}qt=ri;var Ci=(Xe>0?-1:1)*Ie,cn=(nt>0?-1:1)*Ie,sn=ve(Xe+Ci,nt),Ln=ve(Xe,nt+cn),Yn=(sn[0]-br[0])/Ci,Aa=(sn[1]-br[1])/Ci,fa=(Ln[0]-br[0])/cn,$a=(Ln[1]-br[1])/cn,Co=$a*Yn-Aa*fa,Qa=(n(Co)<.5?.5:1)/Co;if(Wt=(Hr*fa-Fr*$a)*Qa,nr=(Fr*Aa-Hr*Yn)*Qa,Xe+=Wt,nt+=nr,n(Wt)0&&(qt[1]*=1+Wt/1.5*qt[0]*qt[0]),qt}return ze.invert=at(ze),ze}function ar(){return t.geoProjection(ct()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function Vt(ve,xe){var Ie=ve*m(xe),ze=30,Qe;do xe-=Qe=(xe+m(xe)-Ie)/(1+o(xe));while(n(Qe)>p&&--ze>0);return xe/2}function rr(ve,xe,Ie){function ze(Qe,Xe){return[ve*Qe*o(Xe=Vt(Ie,Xe)),xe*m(Xe)]}return ze.invert=function(Qe,Xe){return Xe=q(Xe/xe),[Qe/(ve*o(Xe)),q((2*Xe+m(2*Xe))/Ie)]},ze}var tt=rr(C/T,C,M);function je(){return t.geoProjection(tt).scale(169.529)}var Ue=2.00276,Ae=1.11072;function rt(ve,xe){var Ie=Vt(M,xe);return[Ue*ve/(1/o(xe)+Ae/o(Ie)),(xe+C*m(Ie))/Ue]}rt.invert=function(ve,xe){var Ie=Ue*xe,ze=xe<0?-L:L,Qe=25,Xe,nt;do nt=Ie-C*m(ze),ze-=Xe=(m(2*ze)+2*ze-M*m(nt))/(2*o(2*ze)+2+M*o(nt)*C*o(ze));while(n(Xe)>p&&--Qe>0);return nt=Ie-C*m(ze),[ve*(1/o(nt)+Ae/o(ze))/Ue,nt]};function St(){return t.geoProjection(rt).scale(160.857)}function Tt(ve){var xe=0,Ie=t.geoProjectionMutator(ve),ze=Ie(xe);return ze.parallel=function(Qe){return arguments.length?Ie(xe=Qe*E):xe*P},ze}function dt(ve,xe){return[ve*o(xe),xe]}dt.invert=function(ve,xe){return[ve/o(xe),xe]};function Et(){return t.geoProjection(dt).scale(152.63)}function pt(ve){if(!ve)return dt;var xe=1/b(ve);function Ie(ze,Qe){var Xe=xe+ve-Qe,nt=Xe&&ze*o(Qe)/Xe;return[Xe*m(nt),xe-Xe*o(nt)]}return Ie.invert=function(ze,Qe){var Xe=G(ze*ze+(Qe=xe-Qe)*Qe),nt=xe+ve-Xe;return[Xe/o(nt)*a(ze,Qe),nt]},Ie}function jt(){return Tt(pt).scale(123.082).center([0,26.1441]).parallel(45)}function or(ve){function xe(Ie,ze){var Qe=T-ze,Xe=Qe&&Ie*ve*m(Qe)/Qe;return[Qe*m(Xe)/ve,T-Qe*o(Xe)]}return xe.invert=function(Ie,ze){var Qe=Ie*ve,Xe=T-ze,nt=G(Qe*Qe+Xe*Xe),qt=a(Qe,Xe);return[(nt?nt/m(nt):1)*qt/ve,T-nt]},xe}function mr(){var ve=.5,xe=t.geoProjectionMutator(or),Ie=xe(ve);return Ie.fraction=function(ze){return arguments.length?xe(ve=+ze):ve},Ie.scale(158.837)}var Ar=rr(1,4/M,M);function ei(){return t.geoProjection(Ar).scale(152.63)}function qr(ve,xe,Ie,ze,Qe,Xe){var nt=o(Xe),qt;if(n(ve)>1||n(Xe)>1)qt=V(Ie*Qe+xe*ze*nt);else{var Wt=m(ve/2),nr=m(Xe/2);qt=2*q(G(Wt*Wt+xe*ze*nr*nr))}return n(qt)>p?[qt,a(ze*m(Xe),xe*Qe-Ie*ze*nt)]:[0,0]}function jr(ve,xe,Ie){return V((ve*ve+xe*xe-Ie*Ie)/(2*ve*xe))}function gt(ve){return ve-2*M*l((ve+M)/(2*M))}function Ge(ve,xe,Ie){for(var ze=[[ve[0],ve[1],m(ve[1]),o(ve[1])],[xe[0],xe[1],m(xe[1]),o(xe[1])],[Ie[0],Ie[1],m(Ie[1]),o(Ie[1])]],Qe=ze[2],Xe,nt=0;nt<3;++nt,Qe=Xe)Xe=ze[nt],Qe.v=qr(Xe[1]-Qe[1],Qe[3],Qe[2],Xe[3],Xe[2],Xe[0]-Qe[0]),Qe.point=[0,0];var qt=jr(ze[0].v[0],ze[2].v[0],ze[1].v[0]),Wt=jr(ze[0].v[0],ze[1].v[0],ze[2].v[0]),nr=M-qt;ze[2].point[1]=0,ze[0].point[0]=-(ze[1].point[0]=ze[0].v[0]/2);var fr=[ze[2].point[0]=ze[0].point[0]+ze[2].v[0]*o(qt),2*(ze[0].point[1]=ze[1].point[1]=ze[2].v[0]*m(qt))];function br(Fr,Hr){var ri=m(Hr),Ci=o(Hr),cn=new Array(3),sn;for(sn=0;sn<3;++sn){var Ln=ze[sn];if(cn[sn]=qr(Hr-Ln[1],Ln[3],Ln[2],Ci,ri,Fr-Ln[0]),!cn[sn][0])return Ln.point;cn[sn][1]=gt(cn[sn][1]-Ln.v[1])}var Yn=fr.slice();for(sn=0;sn<3;++sn){var Aa=sn==2?0:sn+1,fa=jr(ze[sn].v[0],cn[sn][0],cn[Aa][0]);cn[sn][1]<0&&(fa=-fa),sn?sn==1?(fa=Wt-fa,Yn[0]-=cn[sn][0]*o(fa),Yn[1]-=cn[sn][0]*m(fa)):(fa=nr-fa,Yn[0]+=cn[sn][0]*o(fa),Yn[1]+=cn[sn][0]*m(fa)):(Yn[0]+=cn[sn][0]*o(fa),Yn[1]-=cn[sn][0]*m(fa))}return Yn[0]/=3,Yn[1]/=3,Yn}return br}function Je(ve){return ve[0]*=E,ve[1]*=E,ve}function We(){return et([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function et(ve,xe,Ie){var ze=t.geoCentroid({type:"MultiPoint",coordinates:[ve,xe,Ie]}),Qe=[-ze[0],-ze[1]],Xe=t.geoRotation(Qe),nt=Ge(Je(Xe(ve)),Je(Xe(xe)),Je(Xe(Ie)));nt.invert=at(nt);var qt=t.geoProjection(nt).rotate(Qe),Wt=qt.center;return delete qt.rotate,qt.center=function(nr){return arguments.length?Wt(Xe(nr)):Xe.invert(Wt())},qt.clipAngle(90)}function xt(ve,xe){var Ie=G(1-m(xe));return[2/S*ve*Ie,S*(1-Ie)]}xt.invert=function(ve,xe){var Ie=(Ie=xe/S-1)*Ie;return[Ie>0?ve*G(M/Ie)/2:0,q(1-Ie)]};function At(){return t.geoProjection(xt).scale(95.6464).center([0,30])}function Kt(ve){var xe=b(ve);function Ie(ze,Qe){return[ze,(ze?ze/m(ze):1)*(m(Qe)*o(ze)-xe*o(Qe))]}return Ie.invert=xe?function(ze,Qe){ze&&(Qe*=m(ze)/ze);var Xe=o(ze);return[ze,2*a(G(Xe*Xe+xe*xe-Qe*Qe)-Xe,xe-Qe)]}:function(ze,Qe){return[ze,q(ze?Qe*b(ze)/ze:Qe)]},Ie}function Qt(){return Tt(Kt).scale(249.828).clipAngle(90)}var Mr=G(3);function Gr(ve,xe){return[Mr*ve*(2*o(2*xe/3)-1)/S,Mr*S*m(xe/3)]}Gr.invert=function(ve,xe){var Ie=3*q(xe/(Mr*S));return[S*ve/(Mr*(2*o(2*Ie/3)-1)),Ie]};function Ir(){return t.geoProjection(Gr).scale(156.19)}function Yr(ve){var xe=o(ve);function Ie(ze,Qe){return[ze*xe,m(Qe)/xe]}return Ie.invert=function(ze,Qe){return[ze/xe,q(Qe*xe)]},Ie}function _i(){return Tt(Yr).parallel(38.58).scale(195.044)}function Pi(ve){var xe=o(ve);function Ie(ze,Qe){return[ze*xe,(1+xe)*b(Qe/2)]}return Ie.invert=function(ze,Qe){return[ze/xe,i(Qe/(1+xe))*2]},Ie}function ai(){return Tt(Pi).scale(124.75)}function mi(ve,xe){var Ie=G(8/(3*M));return[Ie*ve*(1-n(xe)/M),Ie*xe]}mi.invert=function(ve,xe){var Ie=G(8/(3*M)),ze=xe/Ie;return[ve/(Ie*(1-n(ze)/M)),ze]};function un(){return t.geoProjection(mi).scale(165.664)}function Fn(ve,xe){var Ie=G(4-3*m(n(xe)));return[2/G(6*M)*ve*Ie,v(xe)*G(2*M/3)*(2-Ie)]}Fn.invert=function(ve,xe){var Ie=2-n(xe)/G(2*M/3);return[ve*G(6*M)/(2*Ie),v(xe)*q((4-Ie*Ie)/3)]};function An(){return t.geoProjection(Fn).scale(165.664)}function Hn(ve,xe){var Ie=G(M*(4+M));return[2/Ie*ve*(1+G(1-4*xe*xe/(M*M))),4/Ie*xe]}Hn.invert=function(ve,xe){var Ie=G(M*(4+M))/2;return[ve*Ie/(1+G(1-xe*xe*(4+M)/(4*M))),xe*Ie/2]};function Qn(){return t.geoProjection(Hn).scale(180.739)}function Vi(ve,xe){var Ie=(2+T)*m(xe);xe/=2;for(var ze=0,Qe=1/0;ze<10&&n(Qe)>p;ze++){var Xe=o(xe);xe-=Qe=(xe+m(xe)*(Xe+2)-Ie)/(2*Xe*(1+Xe))}return[2/G(M*(4+M))*ve*(1+o(xe)),2*G(M/(4+M))*m(xe)]}Vi.invert=function(ve,xe){var Ie=xe*G((4+M)/M)/2,ze=q(Ie),Qe=o(ze);return[ve/(2/G(M*(4+M))*(1+Qe)),q((ze+Ie*(Qe+2))/(2+T))]};function Kn(){return t.geoProjection(Vi).scale(180.739)}function Jn(ve,xe){return[ve*(1+o(xe))/G(2+M),2*xe/G(2+M)]}Jn.invert=function(ve,xe){var Ie=G(2+M),ze=xe*Ie/2;return[Ie*ve/(1+o(ze)),ze]};function Gt(){return t.geoProjection(Jn).scale(173.044)}function wt(ve,xe){for(var Ie=(1+T)*m(xe),ze=0,Qe=1/0;ze<10&&n(Qe)>p;ze++)xe-=Qe=(xe+m(xe)-Ie)/(1+o(xe));return Ie=G(2+M),[ve*(1+o(xe))/Ie,2*xe/Ie]}wt.invert=function(ve,xe){var Ie=1+T,ze=G(Ie/2);return[ve*2*ze/(1+o(xe*=ze)),q((xe+m(xe))/Ie)]};function tr(){return t.geoProjection(wt).scale(173.044)}var ir=3+2*C;function wr(ve,xe){var Ie=m(ve/=2),ze=o(ve),Qe=G(o(xe)),Xe=o(xe/=2),nt=m(xe)/(Xe+C*ze*Qe),qt=G(2/(1+nt*nt)),Wt=G((C*Xe+(ze+Ie)*Qe)/(C*Xe+(ze-Ie)*Qe));return[ir*(qt*(Wt-1/Wt)-2*u(Wt)),ir*(qt*nt*(Wt+1/Wt)-2*i(nt))]}wr.invert=function(ve,xe){if(!(Xe=Se.invert(ve/1.2,xe*1.065)))return null;var Ie=Xe[0],ze=Xe[1],Qe=20,Xe;ve/=ir,xe/=ir;do{var nt=Ie/2,qt=ze/2,Wt=m(nt),nr=o(nt),fr=m(qt),br=o(qt),Fr=o(ze),Hr=G(Fr),ri=fr/(br+C*nr*Hr),Ci=ri*ri,cn=G(2/(1+Ci)),sn=C*br+(nr+Wt)*Hr,Ln=C*br+(nr-Wt)*Hr,Yn=sn/Ln,Aa=G(Yn),fa=Aa-1/Aa,$a=Aa+1/Aa,Co=cn*fa-2*u(Aa)-ve,Qa=cn*ri*$a-2*i(ri)-xe,mo=fr&&x*Hr*Wt*Ci/fr,Bo=(C*nr*br+Hr)/(2*(br+C*nr*Hr)*(br+C*nr*Hr)*Hr),Ps=-.5*ri*cn*cn*cn,Ts=Ps*mo,wo=Ps*Bo,To=(To=2*br+C*Hr*(nr-Wt))*To*Aa,hl=(C*nr*br*Hr+Fr)/To,Ul=-(C*Wt*fr)/(Hr*To),Lu=fa*Ts-2*hl/Aa+cn*(hl+hl/Yn),au=fa*wo-2*Ul/Aa+cn*(Ul+Ul/Yn),Js=ri*$a*Ts-2*mo/(1+Ci)+cn*$a*mo+cn*ri*(hl-hl/Yn),eu=ri*$a*wo-2*Bo/(1+Ci)+cn*$a*Bo+cn*ri*(Ul-Ul/Yn),dc=au*Js-eu*Lu;if(!dc)break;var Tl=(Qa*au-Co*eu)/dc,Al=(Co*Js-Qa*Lu)/dc;Ie-=Tl,ze=c(-T,f(T,ze-Al))}while((n(Tl)>p||n(Al)>p)&&--Qe>0);return n(n(ze)-T)ze){var br=G(fr),Fr=a(nr,Wt),Hr=Ie*d(Fr/Ie),ri=Fr-Hr,Ci=ve*o(ri),cn=(ve*m(ri)-ri*m(Ci))/(T-Ci),sn=Wa(ri,cn),Ln=(M-ve)/Fa(sn,Ci,M);Wt=br;var Yn=50,Aa;do Wt-=Aa=(ve+Fa(sn,Ci,Wt)*Ln-br)/(sn(Wt)*Ln);while(n(Aa)>p&&--Yn>0);nr=ri*m(Wt),Wtze){var Wt=G(qt),nr=a(nt,Xe),fr=Ie*d(nr/Ie),br=nr-fr;Xe=Wt*o(br),nt=Wt*m(br);for(var Fr=Xe-T,Hr=m(Xe),ri=nt/Hr,Ci=Xep||n(ri)>p)&&--Ci>0);return[br,Fr]},Wt}var jn=da(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function Ha(){return t.geoProjection(jn).scale(149.995)}var vo=da(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function Gn(){return t.geoProjection(vo).scale(153.93)}var Ct=da(5/6*M,-.62636,-.0344,0,1.3493,-.05524,0,.045);function Sr(){return t.geoProjection(Ct).scale(130.945)}function Jr(ve,xe){var Ie=ve*ve,ze=xe*xe;return[ve*(1-.162388*ze)*(.87-952426e-9*Ie*Ie),xe*(1+ze/12)]}Jr.invert=function(ve,xe){var Ie=ve,ze=xe,Qe=50,Xe;do{var nt=ze*ze;ze-=Xe=(ze*(1+nt/12)-xe)/(1+nt/4)}while(n(Xe)>p&&--Qe>0);Qe=50,ve/=1-.162388*nt;do{var qt=(qt=Ie*Ie)*qt;Ie-=Xe=(Ie*(.87-952426e-9*qt)-ve)/(.87-.00476213*qt)}while(n(Xe)>p&&--Qe>0);return[Ie,ze]};function hi(){return t.geoProjection(Jr).scale(131.747)}var hn=da(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Sn(){return t.geoProjection(hn).scale(131.087)}function En(ve){var xe=ve(T,0)[0]-ve(-T,0)[0];function Ie(ze,Qe){var Xe=ze>0?-.5:.5,nt=ve(ze+Xe*M,Qe);return nt[0]-=Xe*xe,nt}return ve.invert&&(Ie.invert=function(ze,Qe){var Xe=ze>0?-.5:.5,nt=ve.invert(ze+Xe*xe,Qe),qt=nt[0]-Xe*M;return qt<-M?qt+=2*M:qt>M&&(qt-=2*M),nt[0]=qt,nt}),Ie}function ki(ve,xe){var Ie=v(ve),ze=v(xe),Qe=o(xe),Xe=o(ve)*Qe,nt=m(ve)*Qe,qt=m(ze*xe);ve=n(a(nt,qt)),xe=q(Xe),n(ve-T)>p&&(ve%=T);var Wt=_n(ve>M/4?T-ve:ve,xe);return ve>M/4&&(qt=Wt[0],Wt[0]=-Wt[1],Wt[1]=-qt),Wt[0]*=Ie,Wt[1]*=-ze,Wt}ki.invert=function(ve,xe){n(ve)>1&&(ve=v(ve)*2-ve),n(xe)>1&&(xe=v(xe)*2-xe);var Ie=v(ve),ze=v(xe),Qe=-Ie*ve,Xe=-ze*xe,nt=Xe/Qe<1,qt=ya(nt?Xe:Qe,nt?Qe:Xe),Wt=qt[0],nr=qt[1],fr=o(nr);return nt&&(Wt=-T-Wt),[Ie*(a(m(Wt)*fr,-m(nr))+M),ze*q(o(Wt)*fr)]};function _n(ve,xe){if(xe===T)return[0,0];var Ie=m(xe),ze=Ie*Ie,Qe=ze*ze,Xe=1+Qe,nt=1+3*Qe,qt=1-Qe,Wt=q(1/G(Xe)),nr=qt+ze*Xe*Wt,fr=(1-Ie)/nr,br=G(fr),Fr=fr*Xe,Hr=G(Fr),ri=br*qt,Ci,cn;if(ve===0)return[0,-(ri+ze*Hr)];var sn=o(xe),Ln=1/sn,Yn=2*Ie*sn,Aa=(-3*ze+Wt*nt)*Yn,fa=(-nr*sn-(1-Ie)*Aa)/(nr*nr),$a=.5*fa/br,Co=qt*$a-2*ze*br*Yn,Qa=ze*Xe*fa+fr*nt*Yn,mo=-Ln*Yn,Bo=-Ln*Qa,Ps=-2*Ln*Co,Ts=4*ve/M,wo;if(ve>.222*M||xe.175*M){if(Ci=(ri+ze*G(Fr*(1+Qe)-ri*ri))/(1+Qe),ve>M/4)return[Ci,Ci];var To=Ci,hl=.5*Ci;Ci=.5*(hl+To),cn=50;do{var Ul=G(Fr-Ci*Ci),Lu=Ci*(Ps+mo*Ul)+Bo*q(Ci/Hr)-Ts;if(!Lu)break;Lu<0?hl=Ci:To=Ci,Ci=.5*(hl+To)}while(n(To-hl)>p&&--cn>0)}else{Ci=p,cn=25;do{var au=Ci*Ci,Js=G(Fr-au),eu=Ps+mo*Js,dc=Ci*eu+Bo*q(Ci/Hr)-Ts,Tl=eu+(Bo-mo*au)/Js;Ci-=wo=Js?dc/Tl:0}while(n(wo)>p&&--cn>0)}return[Ci,-ri-ze*G(Fr-Ci*Ci)]}function ya(ve,xe){for(var Ie=0,ze=1,Qe=.5,Xe=50;;){var nt=Qe*Qe,qt=G(Qe),Wt=q(1/G(1+nt)),nr=1-nt+Qe*(1+nt)*Wt,fr=(1-qt)/nr,br=G(fr),Fr=fr*(1+nt),Hr=br*(1-nt),ri=Fr-ve*ve,Ci=G(ri),cn=xe+Hr+Qe*Ci;if(n(ze-Ie)0?Ie=Qe:ze=Qe,Qe=.5*(Ie+ze)}if(!Xe)return null;var sn=q(qt),Ln=o(sn),Yn=1/Ln,Aa=2*qt*Ln,fa=(-3*Qe+Wt*(1+3*nt))*Aa,$a=(-nr*Ln-(1-qt)*fa)/(nr*nr),Co=.5*$a/br,Qa=(1-nt)*Co-2*Qe*br*Aa,mo=-2*Yn*Qa,Bo=-Yn*Aa,Ps=-Yn*(Qe*(1+nt)*$a+fr*(1+3*nt)*Aa);return[M/4*(ve*(mo+Bo*Ci)+Ps*q(ve/G(Fr))),sn]}function ea(){return t.geoProjection(En(ki)).scale(239.75)}function Ma(ve,xe,Ie){var ze,Qe,Xe;return ve?(ze=_o(ve,Ie),xe?(Qe=_o(xe,1-Ie),Xe=Qe[1]*Qe[1]+Ie*ze[0]*ze[0]*Qe[0]*Qe[0],[[ze[0]*Qe[2]/Xe,ze[1]*ze[2]*Qe[0]*Qe[1]/Xe],[ze[1]*Qe[1]/Xe,-ze[0]*ze[2]*Qe[0]*Qe[2]/Xe],[ze[2]*Qe[1]*Qe[2]/Xe,-Ie*ze[0]*ze[1]*Qe[0]/Xe]]):[[ze[0],0],[ze[1],0],[ze[2],0]]):(Qe=_o(xe,1-Ie),[[0,Qe[0]/Qe[1]],[1/Qe[1],0],[Qe[2]/Qe[1],0]])}function _o(ve,xe){var Ie,ze,Qe,Xe,nt;if(xe=1-p)return Ie=(1-xe)/4,ze=N(ve),Xe=Z(ve),Qe=1/ze,nt=ze*j(ve),[Xe+Ie*(nt-ve)/(ze*ze),Qe-Ie*Xe*Qe*(nt-ve),Qe+Ie*Xe*Qe*(nt+ve),2*i(s(ve))-T+Ie*(nt-ve)/ze];var qt=[1,0,0,0,0,0,0,0,0],Wt=[G(xe),0,0,0,0,0,0,0,0],nr=0;for(ze=G(1-xe),nt=1;n(Wt[nr]/qt[nr])>p&&nr<8;)Ie=qt[nr++],Wt[nr]=(Ie-ze)/2,qt[nr]=(Ie+ze)/2,ze=G(Ie*ze),nt*=2;Qe=nt*qt[nr]*ve;do Xe=Wt[nr]*m(ze=Qe)/qt[nr],Qe=(q(Xe)+Qe)/2;while(--nr);return[m(Qe),Xe=o(Qe),Xe/o(Qe-ze),Qe]}function No(ve,xe,Ie){var ze=n(ve),Qe=n(xe),Xe=j(Qe);if(ze){var nt=1/m(ze),qt=1/(b(ze)*b(ze)),Wt=-(qt+Ie*(Xe*Xe*nt*nt)-1+Ie),nr=(Ie-1)*qt,fr=(-Wt+G(Wt*Wt-4*nr))/2;return[po(i(1/G(fr)),Ie)*v(ve),po(i(G((fr/qt-1)/Ie)),1-Ie)*v(xe)]}return[0,po(i(Xe),1-Ie)*v(xe)]}function po(ve,xe){if(!xe)return ve;if(xe===1)return u(b(ve/2+L));for(var Ie=1,ze=G(1-xe),Qe=G(xe),Xe=0;n(Qe)>p;Xe++){if(ve%M){var nt=i(ze*b(ve)/Ie);nt<0&&(nt+=M),ve+=nt+~~(ve/M)*M}else ve+=ve;Qe=(Ie+ze)/2,ze=G(Ie*ze),Qe=((Ie=Qe)-ze)/2}return ve/(h(2,Xe)*Ie)}function Lo(ve,xe){var Ie=(C-1)/(C+1),ze=G(1-Ie*Ie),Qe=po(T,ze*ze),Xe=-1,nt=u(b(M/4+n(xe)/2)),qt=s(Xe*nt)/G(Ie),Wt=ko(qt*o(Xe*ve),qt*m(Xe*ve)),nr=No(Wt[0],Wt[1],ze*ze);return[-nr[1],(xe>=0?1:-1)*(.5*Qe-nr[0])]}function ko(ve,xe){var Ie=ve*ve,ze=xe+1,Qe=1-Ie-xe*xe;return[.5*((ve>=0?T:-T)-a(Qe,2*ve)),-.25*u(Qe*Qe+4*Ie)+.5*u(ze*ze+Ie)]}function Ds(ve,xe){var Ie=xe[0]*xe[0]+xe[1]*xe[1];return[(ve[0]*xe[0]+ve[1]*xe[1])/Ie,(ve[1]*xe[0]-ve[0]*xe[1])/Ie]}Lo.invert=function(ve,xe){var Ie=(C-1)/(C+1),ze=G(1-Ie*Ie),Qe=po(T,ze*ze),Xe=-1,nt=Ma(.5*Qe-xe,-ve,ze*ze),qt=Ds(nt[0],nt[1]),Wt=a(qt[1],qt[0])/Xe;return[Wt,2*i(s(.5/Xe*u(Ie*qt[0]*qt[0]+Ie*qt[1]*qt[1])))-T]};function Fs(){return t.geoProjection(En(Lo)).scale(151.496)}function ll(ve){var xe=m(ve),Ie=o(ve),ze=ul(ve);ze.invert=ul(-ve);function Qe(Xe,nt){var qt=ze(Xe,nt);Xe=qt[0],nt=qt[1];var Wt=m(nt),nr=o(nt),fr=o(Xe),br=V(xe*Wt+Ie*nr*fr),Fr=m(br),Hr=n(Fr)>p?br/Fr:1;return[Hr*Ie*m(Xe),(n(Xe)>T?Hr:-Hr)*(xe*nr-Ie*Wt*fr)]}return Qe.invert=function(Xe,nt){var qt=G(Xe*Xe+nt*nt),Wt=-m(qt),nr=o(qt),fr=qt*nr,br=-nt*Wt,Fr=qt*xe,Hr=G(fr*fr+br*br-Fr*Fr),ri=a(fr*Fr+br*Hr,br*Fr-fr*Hr),Ci=(qt>T?-1:1)*a(Xe*Wt,qt*o(ri)*nr+nt*m(ri)*Wt);return ze.invert(Ci,ri)},Qe}function ul(ve){var xe=m(ve),Ie=o(ve);return function(ze,Qe){var Xe=o(Qe),nt=o(ze)*Xe,qt=m(ze)*Xe,Wt=m(Qe);return[a(qt,nt*Ie-Wt*xe),q(Wt*Ie+nt*xe)]}}function zl(){var ve=0,xe=t.geoProjectionMutator(ll),Ie=xe(ve),ze=Ie.rotate,Qe=Ie.stream,Xe=t.geoCircle();return Ie.parallel=function(nt){if(!arguments.length)return ve*P;var qt=Ie.rotate();return xe(ve=nt*E).rotate(qt)},Ie.rotate=function(nt){return arguments.length?(ze.call(Ie,[nt[0],nt[1]-ve*P]),Xe.center([-nt[0],-nt[1]]),Ie):(nt=ze.call(Ie),nt[1]+=ve*P,nt)},Ie.stream=function(nt){return nt=Qe(nt),nt.sphere=function(){nt.polygonStart();var qt=.01,Wt=Xe.radius(90-qt)().coordinates[0],nr=Wt.length-1,fr=-1,br;for(nt.lineStart();++fr=0;)nt.point((br=Wt[fr])[0],br[1]);nt.lineEnd(),nt.polygonEnd()},nt},Ie.scale(79.4187).parallel(45).clipAngle(180-.001)}var us=3,il=q(1-1/us)*P,As=Yr(0);function cl(ve){var xe=il*E,Ie=xt(M,xe)[0]-xt(-M,xe)[0],ze=As(0,xe)[1],Qe=xt(0,xe)[1],Xe=S-Qe,nt=g/ve,qt=4/g,Wt=ze+Xe*Xe*4/g;function nr(fr,br){var Fr,Hr=n(br);if(Hr>xe){var ri=f(ve-1,c(0,l((fr+M)/nt)));fr+=M*(ve-1)/ve-ri*nt,Fr=xt(fr,Hr),Fr[0]=Fr[0]*g/Ie-g*(ve-1)/(2*ve)+ri*g/ve,Fr[1]=ze+(Fr[1]-Qe)*4*Xe/g,br<0&&(Fr[1]=-Fr[1])}else Fr=As(fr,br);return Fr[0]*=qt,Fr[1]/=Wt,Fr}return nr.invert=function(fr,br){fr/=qt,br*=Wt;var Fr=n(br);if(Fr>ze){var Hr=f(ve-1,c(0,l((fr+M)/nt)));fr=(fr+M*(ve-1)/ve-Hr*nt)*Ie/g;var ri=xt.invert(fr,.25*(Fr-ze)*g/Xe+Qe);return ri[0]-=M*(ve-1)/ve-Hr*nt,br<0&&(ri[1]=-ri[1]),ri}return As.invert(fr,br)},nr}function Ks(ve,xe){return[ve,xe&1?90-p:il]}function zs(ve,xe){return[ve,xe&1?-90+p:-il]}function Io(ve){return[ve[0]*(1-p),ve[1]]}function ls(ve){var xe=[].concat(r.range(-180,180+ve/2,ve).map(Ks),r.range(180,-180-ve/2,-ve).map(zs));return{type:"Polygon",coordinates:[ve===180?xe.map(Io):xe]}}function Yl(){var ve=4,xe=t.geoProjectionMutator(cl),Ie=xe(ve),ze=Ie.stream;return Ie.lobes=function(Qe){return arguments.length?xe(ve=+Qe):ve},Ie.stream=function(Qe){var Xe=Ie.rotate(),nt=ze(Qe),qt=(Ie.rotate([0,0]),ze(Qe));return Ie.rotate(Xe),nt.sphere=function(){t.geoStream(ls(180/ve),qt)},nt},Ie.scale(239.75)}function Su(ve){var xe=1+ve,Ie=m(1/xe),ze=q(Ie),Qe=2*G(M/(Xe=M+4*ze*xe)),Xe,nt=.5*Qe*(xe+G(ve*(2+ve))),qt=ve*ve,Wt=xe*xe;function nr(fr,br){var Fr=1-m(br),Hr,ri;if(Fr&&Fr<2){var Ci=T-br,cn=25,sn;do{var Ln=m(Ci),Yn=o(Ci),Aa=ze+a(Ln,xe-Yn),fa=1+Wt-2*xe*Yn;Ci-=sn=(Ci-qt*ze-xe*Ln+fa*Aa-.5*Fr*Xe)/(2*xe*Ln*Aa)}while(n(sn)>k&&--cn>0);Hr=Qe*G(fa),ri=fr*Aa/M}else Hr=Qe*(ve+Fr),ri=fr*ze/M;return[Hr*m(ri),nt-Hr*o(ri)]}return nr.invert=function(fr,br){var Fr=fr*fr+(br-=nt)*br,Hr=(1+Wt-Fr/(Qe*Qe))/(2*xe),ri=V(Hr),Ci=m(ri),cn=ze+a(Ci,xe-Hr);return[q(fr/G(Fr))*M/cn,q(1-2*(ri-qt*ze-xe*Ci+(1+Wt-2*xe*Hr)*cn)/Xe)]},nr}function nc(){var ve=1,xe=t.geoProjectionMutator(Su),Ie=xe(ve);return Ie.ratio=function(ze){return arguments.length?xe(ve=+ze):ve},Ie.scale(167.774).center([0,18.67])}var bs=.7109889596207567,Rn=.0528035274542;function _a(ve,xe){return xe>-bs?(ve=tt(ve,xe),ve[1]+=Rn,ve):dt(ve,xe)}_a.invert=function(ve,xe){return xe>-bs?tt.invert(ve,xe-Rn):dt.invert(ve,xe)};function Vu(){return t.geoProjection(_a).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function ql(ve,xe){return n(xe)>bs?(ve=tt(ve,xe),ve[1]-=xe>0?Rn:-Rn,ve):dt(ve,xe)}ql.invert=function(ve,xe){return n(xe)>bs?tt.invert(ve,xe+(xe>0?Rn:-Rn)):dt.invert(ve,xe)};function xo(){return t.geoProjection(ql).scale(152.63)}function Kl(ve,xe,Ie,ze){var Qe=G(4*M/(2*Ie+(1+ve-xe/2)*m(2*Ie)+(ve+xe)/2*m(4*Ie)+xe/2*m(6*Ie))),Xe=G(ze*m(Ie)*G((1+ve*o(2*Ie)+xe*o(4*Ie))/(1+ve+xe))),nt=Ie*Wt(1);function qt(br){return G(1+ve*o(2*br)+xe*o(4*br))}function Wt(br){var Fr=br*Ie;return(2*Fr+(1+ve-xe/2)*m(2*Fr)+(ve+xe)/2*m(4*Fr)+xe/2*m(6*Fr))/Ie}function nr(br){return qt(br)*m(br)}var fr=function(br,Fr){var Hr=Ie*Ht(Wt,nt*m(Fr)/Ie,Fr/M);isNaN(Hr)&&(Hr=Ie*v(Fr));var ri=Qe*qt(Hr);return[ri*Xe*br/M*o(Hr),ri/Xe*m(Hr)]};return fr.invert=function(br,Fr){var Hr=Ht(nr,Fr*Xe/Qe);return[br*M/(o(Hr)*Qe*Xe*qt(Hr)),q(Ie*Wt(Hr/Ie)/nt)]},Ie===0&&(Qe=G(ze/M),fr=function(br,Fr){return[br*Qe,m(Fr)/Qe]},fr.invert=function(br,Fr){return[br/Qe,q(Fr*Qe)]}),fr}function Ns(){var ve=1,xe=0,Ie=45*E,ze=2,Qe=t.geoProjectionMutator(Kl),Xe=Qe(ve,xe,Ie,ze);return Xe.a=function(nt){return arguments.length?Qe(ve=+nt,xe,Ie,ze):ve},Xe.b=function(nt){return arguments.length?Qe(ve,xe=+nt,Ie,ze):xe},Xe.psiMax=function(nt){return arguments.length?Qe(ve,xe,Ie=+nt*E,ze):Ie*P},Xe.ratio=function(nt){return arguments.length?Qe(ve,xe,Ie,ze=+nt):ze},Xe.scale(180.739)}function Hl(ve,xe,Ie,ze,Qe,Xe,nt,qt,Wt,nr,fr){if(fr.nanEncountered)return NaN;var br,Fr,Hr,ri,Ci,cn,sn,Ln,Yn,Aa;if(br=Ie-xe,Fr=ve(xe+br*.25),Hr=ve(Ie-br*.25),isNaN(Fr)){fr.nanEncountered=!0;return}if(isNaN(Hr)){fr.nanEncountered=!0;return}return ri=br*(ze+4*Fr+Qe)/12,Ci=br*(Qe+4*Hr+Xe)/12,cn=ri+Ci,Aa=(cn-nt)/15,nr>Wt?(fr.maxDepthCount++,cn+Aa):Math.abs(Aa)>1;do Wt[cn]>Hr?Ci=cn:ri=cn,cn=ri+Ci>>1;while(cn>ri);var sn=Wt[cn+1]-Wt[cn];return sn&&(sn=(Hr-Wt[cn+1])/sn),(cn+1+sn)/nt}var br=2*fr(1)/M*Xe/Ie,Fr=function(Hr,ri){var Ci=fr(n(m(ri))),cn=ze(Ci)*Hr;return Ci/=br,[cn,ri>=0?Ci:-Ci]};return Fr.invert=function(Hr,ri){var Ci;return ri*=br,n(ri)<1&&(Ci=v(ri)*q(Qe(n(ri))*Xe)),[Hr/ze(n(ri)),Ci]},Fr}function qo(){var ve=0,xe=2.5,Ie=1.183136,ze=t.geoProjectionMutator(oa),Qe=ze(ve,xe,Ie);return Qe.alpha=function(Xe){return arguments.length?ze(ve=+Xe,xe,Ie):ve},Qe.k=function(Xe){return arguments.length?ze(ve,xe=+Xe,Ie):xe},Qe.gamma=function(Xe){return arguments.length?ze(ve,xe,Ie=+Xe):Ie},Qe.scale(152.63)}function Oo(ve,xe){return n(ve[0]-xe[0])=0;--Wt)Ie=ve[1][Wt],ze=Ie[0][0],Qe=Ie[0][1],Xe=Ie[1][1],nt=Ie[2][0],qt=Ie[2][1],xe.push(Ol([[nt-p,qt-p],[nt-p,Xe+p],[ze+p,Xe+p],[ze+p,Qe-p]],30));return{type:"Polygon",coordinates:[r.merge(xe)]}}function Do(ve,xe,Ie){var ze,Qe;function Xe(Wt,nr){for(var fr=nr<0?-1:1,br=xe[+(nr<0)],Fr=0,Hr=br.length-1;Frbr[Fr][2][0];++Fr);var ri=ve(Wt-br[Fr][1][0],nr);return ri[0]+=ve(br[Fr][1][0],fr*nr>fr*br[Fr][0][1]?br[Fr][0][1]:nr)[0],ri}Ie?Xe.invert=Ie(Xe):ve.invert&&(Xe.invert=function(Wt,nr){for(var fr=Qe[+(nr<0)],br=xe[+(nr<0)],Fr=0,Hr=fr.length;Frri&&(Ci=Hr,Hr=ri,ri=Ci),[[br,Hr],[Fr,ri]]})}),nt):xe.map(function(nr){return nr.map(function(fr){return[[fr[0][0]*P,fr[0][1]*P],[fr[1][0]*P,fr[1][1]*P],[fr[2][0]*P,fr[2][1]*P]]})})},xe!=null&&nt.lobes(xe),nt}var nf=[[[[-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 Vf(){return Do(rt,nf).scale(160.857)}var pl=[[[[-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 Zc(){return Do(ql,pl).scale(152.63)}var Jl=[[[[-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 qs(){return Do(tt,Jl).scale(169.529)}var yu=[[[[-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 oc(){return Do(tt,yu).scale(169.529).rotate([20,0])}var Cf=[[[[-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 sc(){return Do(_a,Cf,at).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var jh=[[[[-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 Lf(){return Do(dt,jh).scale(152.63).rotate([-20,0])}function cs(ve,xe){return[3/g*ve*G(M*M/3-xe*xe),xe]}cs.invert=function(ve,xe){return[g/3*ve/G(M*M/3-xe*xe),xe]};function af(){return t.geoProjection(cs).scale(158.837)}function Gf(ve){function xe(Ie,ze){if(n(n(ze)-T)2)return null;Ie/=2,ze/=2;var Xe=Ie*Ie,nt=ze*ze,qt=2*ze/(1+Xe+nt);return qt=h((1+qt)/(1-qt),1/ve),[a(2*Ie,1-Xe-nt)/ve,q((qt-1)/(qt+1))]},xe}function $l(){var ve=.5,xe=t.geoProjectionMutator(Gf),Ie=xe(ve);return Ie.spacing=function(ze){return arguments.length?xe(ve=+ze):ve},Ie.scale(124.75)}var fl=M/C;function lc(ve,xe){return[ve*(1+G(o(xe)))/2,xe/(o(xe/2)*o(ve/6))]}lc.invert=function(ve,xe){var Ie=n(ve),ze=n(xe),Qe=p,Xe=T;zep||n(cn)>p)&&--Qe>0);return Qe&&[Ie,ze]};function Hs(){return t.geoProjection(Es).scale(139.98)}function Go(ve,xe){return[m(ve)/o(xe),b(xe)*o(ve)]}Go.invert=function(ve,xe){var Ie=ve*ve,ze=xe*xe,Qe=ze+1,Xe=Ie+Qe,nt=ve?x*G((Xe-G(Xe*Xe-4*Ie))/Ie):1/G(Qe);return[q(ve*nt),v(xe)*V(nt)]};function ps(){return t.geoProjection(Go).scale(144.049).clipAngle(90-.001)}function uc(ve){var xe=o(ve),Ie=b(L+ve/2);function ze(Qe,Xe){var nt=Xe-ve,qt=n(nt)=0;)fr=ve[nr],br=fr[0]+qt*(Hr=br)-Wt*Fr,Fr=fr[1]+qt*Fr+Wt*Hr;return br=qt*(Hr=br)-Wt*Fr,Fr=qt*Fr+Wt*Hr,[br,Fr]}return Ie.invert=function(ze,Qe){var Xe=20,nt=ze,qt=Qe;do{for(var Wt=xe,nr=ve[Wt],fr=nr[0],br=nr[1],Fr=0,Hr=0,ri;--Wt>=0;)nr=ve[Wt],Fr=fr+nt*(ri=Fr)-qt*Hr,Hr=br+nt*Hr+qt*ri,fr=nr[0]+nt*(ri=fr)-qt*br,br=nr[1]+nt*br+qt*ri;Fr=fr+nt*(ri=Fr)-qt*Hr,Hr=br+nt*Hr+qt*ri,fr=nt*(ri=fr)-qt*br-ze,br=nt*br+qt*ri-Qe;var Ci=Fr*Fr+Hr*Hr,cn,sn;nt-=cn=(fr*Fr+br*Hr)/Ci,qt-=sn=(br*Fr-fr*Hr)/Ci}while(n(cn)+n(sn)>p*p&&--Xe>0);if(Xe){var Ln=G(nt*nt+qt*qt),Yn=2*i(Ln*.5),Aa=m(Yn);return[a(nt*Aa,Ln*o(Yn)),Ln?q(qt*Aa/Ln):0]}},Ie}var Po=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],sd=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Ko=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],Pa=[[.9245,0],[0,0],[.01943,0]],of=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Hu(){return Bl(Po,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function bl(){return Bl(sd,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Hf(){return Bl(Ko,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function Ic(){return Bl(Pa,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function yf(){return Bl(of,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Bl(ve,xe){var Ie=t.geoProjection(od(ve)).rotate(xe).clipAngle(90),ze=t.geoRotation(xe),Qe=Ie.center;return delete Ie.rotate,Ie.center=function(Xe){return arguments.length?Qe(ze(Xe)):ze.invert(Qe())},Ie}var Ah=G(6),Qf=G(7);function _f(ve,xe){var Ie=q(7*m(xe)/(3*Ah));return[Ah*ve*(2*o(2*Ie/3)-1)/Qf,9*m(Ie/3)/Qf]}_f.invert=function(ve,xe){var Ie=3*q(xe*Qf/9);return[ve*Qf/(Ah*(2*o(2*Ie/3)-1)),q(m(Ie)*3*Ah/7)]};function Yc(){return t.geoProjection(_f).scale(164.859)}function eh(ve,xe){for(var Ie=(1+x)*m(xe),ze=xe,Qe=0,Xe;Qe<25&&(ze-=Xe=(m(ze/2)+m(ze)-Ie)/(.5*o(ze/2)+o(ze)),!(n(Xe)k&&--ze>0);return Xe=Ie*Ie,nt=Xe*Xe,qt=Xe*nt,[ve/(.84719-.13063*Xe+qt*qt*(-.04515+.05494*Xe-.02326*nt+.00331*qt)),Ie]};function sf(){return t.geoProjection(cc).scale(175.295)}function Nl(ve,xe){return[ve*(1+o(xe))/2,2*(xe-b(xe/2))]}Nl.invert=function(ve,xe){for(var Ie=xe/2,ze=0,Qe=1/0;ze<10&&n(Qe)>p;++ze){var Xe=o(xe/2);xe-=Qe=(xe-b(xe/2)-Ie)/(1-.5/(Xe*Xe))}return[2*ve/(1+o(xe)),xe]};function Kc(){return t.geoProjection(Nl).scale(152.63)}var Rc=[[[[-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 gs(){return Do(He(1/0),Rc).rotate([20,0]).scale(152.63)}function Wf(ve,xe){var Ie=m(xe),ze=o(xe),Qe=v(ve);if(ve===0||n(xe)===T)return[0,xe];if(xe===0)return[ve,0];if(n(ve)===T)return[ve*ze,T*Ie];var Xe=M/(2*ve)-2*ve/M,nt=2*xe/M,qt=(1-nt*nt)/(Ie-nt),Wt=Xe*Xe,nr=qt*qt,fr=1+Wt/nr,br=1+nr/Wt,Fr=(Xe*Ie/qt-Xe/2)/fr,Hr=(nr*Ie/Wt+qt/2)/br,ri=Fr*Fr+ze*ze/fr,Ci=Hr*Hr-(nr*Ie*Ie/Wt+qt*Ie-1)/br;return[T*(Fr+G(ri)*Qe),T*(Hr+G(Ci<0?0:Ci)*v(-xe*Xe)*Qe)]}Wf.invert=function(ve,xe){ve/=T,xe/=T;var Ie=ve*ve,ze=xe*xe,Qe=Ie+ze,Xe=M*M;return[ve?(Qe-1+G((1-Qe)*(1-Qe)+4*Ie))/(2*ve)*T:0,Ht(function(nt){return Qe*(M*m(nt)-2*nt)*M+4*nt*nt*(xe-m(nt))+2*M*nt-Xe*xe},0)]};function Wh(){return t.geoProjection(Wf).scale(127.267)}var rh=1.0148,lf=.23185,Sh=-.14499,Mu=.02406,ih=rh,js=5*lf,Eu=7*Sh,Dc=9*Mu,ks=1.790857183;function bc(ve,xe){var Ie=xe*xe;return[ve,xe*(rh+Ie*Ie*(lf+Ie*(Sh+Mu*Ie)))]}bc.invert=function(ve,xe){xe>ks?xe=ks:xe<-ks&&(xe=-ks);var Ie=xe,ze;do{var Qe=Ie*Ie;Ie-=ze=(Ie*(rh+Qe*Qe*(lf+Qe*(Sh+Mu*Qe)))-xe)/(ih+Qe*Qe*(js+Qe*(Eu+Dc*Qe)))}while(n(ze)>p);return[ve,Ie]};function hu(){return t.geoProjection(bc).scale(139.319)}function _u(ve,xe){if(n(xe)p&&--Qe>0);return nt=b(ze),[(n(xe)=0;)if(ze=xe[qt],Ie[0]===ze[0]&&Ie[1]===ze[1]){if(Xe)return[Xe,Ie];Xe=Ie}}}function jl(ve){for(var xe=ve.length,Ie=[],ze=ve[xe-1],Qe=0;Qe0?[-ze[0],0]:[180-ze[0],180])};var xe=If.map(function(Ie){return{face:Ie,project:ve(Ie)}});return[-1,0,0,1,0,1,4,5].forEach(function(Ie,ze){var Qe=xe[Ie];Qe&&(Qe.children||(Qe.children=[])).push(xe[ze])}),xf(xe[0],function(Ie,ze){return xe[Ie<-M/2?ze<0?6:4:Ie<0?ze<0?2:0:Ieze^Hr>ze&&Ie<(Fr-nr)*(ze-fr)/(Hr-fr)+nr&&(Qe=!Qe)}return Qe}function Wl(ve,xe){var Ie=xe.stream,ze;if(!Ie)throw new Error("invalid projection");switch(ve&&ve.type){case"Feature":ze=Zu;break;case"FeatureCollection":ze=ah;break;default:ze=Tc;break}return ze(ve,Ie)}function ah(ve,xe){return{type:"FeatureCollection",features:ve.features.map(function(Ie){return Zu(Ie,xe)})}}function Zu(ve,xe){return{type:"Feature",id:ve.id,properties:ve.properties,geometry:Tc(ve.geometry,xe)}}function qc(ve,xe){return{type:"GeometryCollection",geometries:ve.geometries.map(function(Ie){return Tc(Ie,xe)})}}function Tc(ve,xe){if(!ve)return null;if(ve.type==="GeometryCollection")return qc(ve,xe);var Ie;switch(ve.type){case"Point":Ie=Oc;break;case"MultiPoint":Ie=Oc;break;case"LineString":Ie=ff;break;case"MultiLineString":Ie=ff;break;case"Polygon":Ie=fc;break;case"MultiPolygon":Ie=fc;break;case"Sphere":Ie=fc;break;default:return null}return t.geoStream(ve,xe(Ie)),Ie.result()}var wl=[],vu=[],Oc={point:function(ve,xe){wl.push([ve,xe])},result:function(){var ve=wl.length?wl.length<2?{type:"Point",coordinates:wl[0]}:{type:"MultiPoint",coordinates:wl}:null;return wl=[],ve}},ff={lineStart:Xu,point:function(ve,xe){wl.push([ve,xe])},lineEnd:function(){wl.length&&(vu.push(wl),wl=[])},result:function(){var ve=vu.length?vu.length<2?{type:"LineString",coordinates:vu[0]}:{type:"MultiLineString",coordinates:vu}:null;return vu=[],ve}},fc={polygonStart:Xu,lineStart:Xu,point:function(ve,xe){wl.push([ve,xe])},lineEnd:function(){var ve=wl.length;if(ve){do wl.push(wl[0].slice());while(++ve<4);vu.push(wl),wl=[]}},polygonEnd:Xu,result:function(){if(!vu.length)return null;var ve=[],xe=[];return vu.forEach(function(Ie){cf(Ie)?ve.push([Ie]):xe.push(Ie)}),xe.forEach(function(Ie){var ze=Ie[0];ve.some(function(Qe){if(Zf(Qe[0],ze))return Qe.push(Ie),!0})||ve.push([Ie])}),vu=[],ve.length?ve.length>1?{type:"MultiPolygon",coordinates:ve}:{type:"Polygon",coordinates:ve[0]}:null}};function Bc(ve){var xe=ve(T,0)[0]-ve(-T,0)[0];function Ie(ze,Qe){var Xe=n(ze)0?ze-M:ze+M,Qe),qt=(nt[0]-nt[1])*x,Wt=(nt[0]+nt[1])*x;if(Xe)return[qt,Wt];var nr=xe*x,fr=qt>0^Wt>0?-1:1;return[fr*qt-v(Wt)*nr,fr*Wt-v(qt)*nr]}return ve.invert&&(Ie.invert=function(ze,Qe){var Xe=(ze+Qe)*x,nt=(Qe-ze)*x,qt=n(Xe)<.5*xe&&n(nt)<.5*xe;if(!qt){var Wt=xe*x,nr=Xe>0^nt>0?-1:1,fr=-nr*ze+(nt>0?1:-1)*Wt,br=-nr*Qe+(Xe>0?1:-1)*Wt;Xe=(-fr-br)*x,nt=(fr-br)*x}var Fr=ve.invert(Xe,nt);return qt||(Fr[0]+=Xe>0?M:-M),Fr}),t.geoProjection(Ie).rotate([-90,-90,45]).clipAngle(180-.001)}function kt(){return Bc(ki).scale(176.423)}function Zt(){return Bc(Lo).scale(111.48)}function Er(ve,xe){if(!(0<=(xe=+xe)&&xe<=20))throw new Error("invalid digits");function Ie(nr){var fr=nr.length,br=2,Fr=new Array(fr);for(Fr[0]=+nr[0].toFixed(xe),Fr[1]=+nr[1].toFixed(xe);br2||Hr[0]!=fr[0]||Hr[1]!=fr[1])&&(br.push(Hr),fr=Hr)}return br.length===1&&nr.length>1&&br.push(Ie(nr[nr.length-1])),br}function Xe(nr){return nr.map(Qe)}function nt(nr){if(nr==null)return nr;var fr;switch(nr.type){case"GeometryCollection":fr={type:"GeometryCollection",geometries:nr.geometries.map(nt)};break;case"Point":fr={type:"Point",coordinates:Ie(nr.coordinates)};break;case"MultiPoint":fr={type:nr.type,coordinates:ze(nr.coordinates)};break;case"LineString":fr={type:nr.type,coordinates:Qe(nr.coordinates)};break;case"MultiLineString":case"Polygon":fr={type:nr.type,coordinates:Xe(nr.coordinates)};break;case"MultiPolygon":fr={type:"MultiPolygon",coordinates:nr.coordinates.map(Xe)};break;default:return nr}return nr.bbox!=null&&(fr.bbox=nr.bbox),fr}function qt(nr){var fr={type:"Feature",properties:nr.properties,geometry:nt(nr.geometry)};return nr.id!=null&&(fr.id=nr.id),nr.bbox!=null&&(fr.bbox=nr.bbox),fr}if(ve!=null)switch(ve.type){case"Feature":return qt(ve);case"FeatureCollection":{var Wt={type:"FeatureCollection",features:ve.features.map(qt)};return ve.bbox!=null&&(Wt.bbox=ve.bbox),Wt}default:return nt(ve)}return ve}function xr(ve){var xe=m(ve);function Ie(ze,Qe){var Xe=xe?b(ze*xe/2)/xe:ze/2;if(!Qe)return[2*Xe,-ve];var nt=2*i(Xe*m(Qe)),qt=1/b(Qe);return[m(nt)*qt,Qe+(1-o(nt))*qt-ve]}return Ie.invert=function(ze,Qe){if(n(Qe+=ve)p&&--qt>0);var Fr=ze*(nr=b(nt)),Hr=b(n(Qe)0?T:-T)*(Wt+Qe*(fr-nt)/2+Qe*Qe*(fr-2*Wt+nt)/2)]}Wi.invert=function(ve,xe){var Ie=xe/T,ze=Ie*90,Qe=f(18,n(ze/5)),Xe=c(0,l(Qe));do{var nt=Mi[Xe][1],qt=Mi[Xe+1][1],Wt=Mi[f(19,Xe+2)][1],nr=Wt-nt,fr=Wt-2*qt+nt,br=2*(n(Ie)-qt)/nr,Fr=fr/nr,Hr=br*(1-Fr*br*(1-2*Fr*br));if(Hr>=0||Xe===1){ze=(xe>=0?5:-5)*(Hr+Qe);var ri=50,Ci;do Qe=f(18,n(ze)/5),Xe=l(Qe),Hr=Qe-Xe,nt=Mi[Xe][1],qt=Mi[Xe+1][1],Wt=Mi[f(19,Xe+2)][1],ze-=(Ci=(xe>=0?T:-T)*(qt+Hr*(Wt-nt)/2+Hr*Hr*(Wt-2*qt+nt)/2)-xe)*P;while(n(Ci)>k&&--ri>0);break}}while(--Xe>=0);var cn=Mi[Xe][0],sn=Mi[Xe+1][0],Ln=Mi[f(19,Xe+2)][0];return[ve/(sn+Hr*(Ln-cn)/2+Hr*Hr*(Ln-2*sn+cn)/2),ze*E]};function dn(){return t.geoProjection(Wi).scale(152.63)}function wn(ve){function xe(Ie,ze){var Qe=o(ze),Xe=(ve-1)/(ve-Qe*o(Ie));return[Xe*Qe*m(Ie),Xe*m(ze)]}return xe.invert=function(Ie,ze){var Qe=Ie*Ie+ze*ze,Xe=G(Qe),nt=(ve-G(1-Qe*(ve+1)/(ve-1)))/((ve-1)/Xe+Xe/(ve-1));return[a(Ie*nt,Xe*G(1-nt*nt)),Xe?q(ze*nt/Xe):0]},xe}function On(ve,xe){var Ie=wn(ve);if(!xe)return Ie;var ze=o(xe),Qe=m(xe);function Xe(nt,qt){var Wt=Ie(nt,qt),nr=Wt[1],fr=nr*Qe/(ve-1)+ze;return[Wt[0]*ze/fr,nr/fr]}return Xe.invert=function(nt,qt){var Wt=(ve-1)/(ve-1-qt*Qe);return Ie.invert(Wt*nt,Wt*qt*ze)},Xe}function Yi(){var ve=2,xe=0,Ie=t.geoProjectionMutator(On),ze=Ie(ve,xe);return ze.distance=function(Qe){return arguments.length?Ie(ve=+Qe,xe):ve},ze.tilt=function(Qe){return arguments.length?Ie(ve,xe=Qe*E):xe*P},ze.scale(432.147).clipAngle(V(1/ve)*P-1e-6)}var $i=1e-4,an=1e4,Fi=-180,ta=Fi+$i,Ca=180,Ra=Ca-$i,La=-90,Ua=La+$i,Zn=90,Dn=Zn-$i;function Ka(ve){return ve.length>0}function bo(ve){return Math.floor(ve*an)/an}function Zo(ve){return ve===La||ve===Zn?[0,ve]:[Fi,bo(ve)]}function Ss(ve){var xe=ve[0],Ie=ve[1],ze=!1;return xe<=ta?(xe=Fi,ze=!0):xe>=Ra&&(xe=Ca,ze=!0),Ie<=Ua?(Ie=La,ze=!0):Ie>=Dn&&(Ie=Zn,ze=!0),ze?[xe,Ie]:ve}function as(ve){return ve.map(Ss)}function ws(ve,xe,Ie){for(var ze=0,Qe=ve.length;ze=Ra||fr<=Ua||fr>=Dn){Xe[nt]=Ss(Wt);for(var br=nt+1;brta&&HrUa&&ri=qt)break;Ie.push({index:-1,polygon:xe,ring:Xe=Xe.slice(br-1)}),Xe[0]=Zo(Xe[0][1]),nt=-1,qt=Xe.length}}}}function Ho(ve){var xe,Ie=ve.length,ze={},Qe={},Xe,nt,qt,Wt,nr;for(xe=0;xe0?M-qt:qt)*P],nr=t.geoProjection(ve(nt)).rotate(Wt),fr=t.geoRotation(Wt),br=nr.center;return delete nr.rotate,nr.center=function(Fr){return arguments.length?br(fr(Fr)):fr.invert(br())},nr.clipAngle(90)}function rs(ve){var xe=o(ve);function Ie(ze,Qe){var Xe=t.geoGnomonicRaw(ze,Qe);return Xe[0]*=xe,Xe}return Ie.invert=function(ze,Qe){return t.geoGnomonicRaw.invert(ze/xe,Qe)},Ie}function Ql(){return Cu([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Cu(ve,xe){return ys(rs,ve,xe)}function Yu(ve){if(!(ve*=2))return t.geoAzimuthalEquidistantRaw;var xe=-ve/2,Ie=-xe,ze=ve*ve,Qe=b(Ie),Xe=.5/m(Ie);function nt(qt,Wt){var nr=V(o(Wt)*o(qt-xe)),fr=V(o(Wt)*o(qt-Ie)),br=Wt<0?-1:1;return nr*=nr,fr*=fr,[(nr-fr)/(2*ve),br*G(4*ze*fr-(ze-nr+fr)*(ze-nr+fr))/(2*ve)]}return nt.invert=function(qt,Wt){var nr=Wt*Wt,fr=o(G(nr+(Fr=qt+xe)*Fr)),br=o(G(nr+(Fr=qt+Ie)*Fr)),Fr,Hr;return[a(Hr=fr-br,Fr=(fr+br)*Qe),(Wt<0?-1:1)*V(G(Fr*Fr+Hr*Hr)*Xe)]},nt}function Nc(){return pu([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function pu(ve,xe){return ys(Yu,ve,xe)}function Uc(ve,xe){if(n(xe)p&&--qt>0);return[v(ve)*(G(Qe*Qe+4)+Qe)*M/4,T*nt]};function Ku(){return t.geoProjection(hc).scale(127.16)}function ue(ve,xe,Ie,ze,Qe){function Xe(nt,qt){var Wt=Ie*m(ze*qt),nr=G(1-Wt*Wt),fr=G(2/(1+nr*o(nt*=Qe)));return[ve*nr*fr*m(nt),xe*Wt*fr]}return Xe.invert=function(nt,qt){var Wt=nt/ve,nr=qt/xe,fr=G(Wt*Wt+nr*nr),br=2*q(fr/2);return[a(nt*b(br),ve*fr)/Qe,fr&&q(qt*m(br)/(xe*Ie*fr))/ze]},Xe}function w(ve,xe,Ie,ze){var Qe=M/3;ve=c(ve,p),xe=c(xe,p),ve=f(ve,T),xe=f(xe,M-p),Ie=c(Ie,0),Ie=f(Ie,100-p),ze=c(ze,p);var Xe=Ie/100+1,nt=ze/100,qt=V(Xe*o(Qe))/Qe,Wt=m(ve)/m(qt*T),nr=xe/M,fr=G(nt*m(ve/2)/m(xe/2)),br=fr/G(nr*Wt*qt),Fr=1/(fr*G(nr*Wt*qt));return ue(br,Fr,Wt,qt,nr)}function B(){var ve=65*E,xe=60*E,Ie=20,ze=200,Qe=t.geoProjectionMutator(w),Xe=Qe(ve,xe,Ie,ze);return Xe.poleline=function(nt){return arguments.length?Qe(ve=+nt*E,xe,Ie,ze):ve*P},Xe.parallels=function(nt){return arguments.length?Qe(ve,xe=+nt*E,Ie,ze):xe*P},Xe.inflation=function(nt){return arguments.length?Qe(ve,xe,Ie=+nt,ze):Ie},Xe.ratio=function(nt){return arguments.length?Qe(ve,xe,Ie,ze=+nt):ze},Xe.scale(163.775)}function Q(){return B().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)}var ee=4*M+3*G(3),le=2*G(2*M*G(3)/ee),Fe=rr(le*G(3)/M,le,ee/6);function Ze(){return t.geoProjection(Fe).scale(176.84)}function ut(ve,xe){return[ve*G(1-3*xe*xe/(M*M)),xe]}ut.invert=function(ve,xe){return[ve/G(1-3*xe*xe/(M*M)),xe]};function Mt(){return t.geoProjection(ut).scale(152.63)}function Jt(ve,xe){var Ie=o(xe),ze=o(ve)*Ie,Qe=1-ze,Xe=o(ve=a(m(ve)*Ie,-m(xe))),nt=m(ve);return Ie=G(1-ze*ze),[nt*Ie-Xe*Qe,-Xe*Ie-nt*Qe]}Jt.invert=function(ve,xe){var Ie=(ve*ve+xe*xe)/-2,ze=G(-Ie*(2+Ie)),Qe=xe*Ie+ve*ze,Xe=ve*Ie-xe*ze,nt=G(Xe*Xe+Qe*Qe);return[a(ze*Qe,nt*(1+Ie)),nt?-q(ze*Xe/nt):0]};function $t(){return t.geoProjection(Jt).rotate([0,-90,45]).scale(124.75).clipAngle(180-.001)}function yr(ve,xe){var Ie=Ee(ve,xe);return[(Ie[0]+ve/T)/2,(Ie[1]+xe)/2]}yr.invert=function(ve,xe){var Ie=ve,ze=xe,Qe=25;do{var Xe=o(ze),nt=m(ze),qt=m(2*ze),Wt=nt*nt,nr=Xe*Xe,fr=m(Ie),br=o(Ie/2),Fr=m(Ie/2),Hr=Fr*Fr,ri=1-nr*br*br,Ci=ri?V(Xe*br)*G(cn=1/ri):cn=0,cn,sn=.5*(2*Ci*Xe*Fr+Ie/T)-ve,Ln=.5*(Ci*nt+ze)-xe,Yn=.5*cn*(nr*Hr+Ci*Xe*br*Wt)+.5/T,Aa=cn*(fr*qt/4-Ci*nt*Fr),fa=.125*cn*(qt*Fr-Ci*nt*nr*fr),$a=.5*cn*(Wt*br+Ci*Hr*Xe)+.5,Co=Aa*fa-$a*Yn,Qa=(Ln*Aa-sn*$a)/Co,mo=(sn*fa-Ln*Yn)/Co;Ie-=Qa,ze-=mo}while((n(Qa)>p||n(mo)>p)&&--Qe>0);return[Ie,ze]};function Cr(){return t.geoProjection(yr).scale(158.837)}e.geoNaturalEarth=t.geoNaturalEarth1,e.geoNaturalEarthRaw=t.geoNaturalEarth1Raw,e.geoAiry=_e,e.geoAiryRaw=ae,e.geoAitoff=Ce,e.geoAitoffRaw=Ee,e.geoArmadillo=re,e.geoArmadilloRaw=ge,e.geoAugust=ke,e.geoAugustRaw=Se,e.geoBaker=me,e.geoBakerRaw=Le,e.geoBerghaus=ce,e.geoBerghausRaw=Pe,e.geoBertin1953=ar,e.geoBertin1953Raw=ct,e.geoBoggs=St,e.geoBoggsRaw=rt,e.geoBonne=jt,e.geoBonneRaw=pt,e.geoBottomley=mr,e.geoBottomleyRaw=or,e.geoBromley=ei,e.geoBromleyRaw=Ar,e.geoChamberlin=et,e.geoChamberlinRaw=Ge,e.geoChamberlinAfrica=We,e.geoCollignon=At,e.geoCollignonRaw=xt,e.geoCraig=Qt,e.geoCraigRaw=Kt,e.geoCraster=Ir,e.geoCrasterRaw=Gr,e.geoCylindricalEqualArea=_i,e.geoCylindricalEqualAreaRaw=Yr,e.geoCylindricalStereographic=ai,e.geoCylindricalStereographicRaw=Pi,e.geoEckert1=un,e.geoEckert1Raw=mi,e.geoEckert2=An,e.geoEckert2Raw=Fn,e.geoEckert3=Qn,e.geoEckert3Raw=Hn,e.geoEckert4=Kn,e.geoEckert4Raw=Vi,e.geoEckert5=Gt,e.geoEckert5Raw=Jn,e.geoEckert6=tr,e.geoEckert6Raw=wt,e.geoEisenlohr=Xr,e.geoEisenlohrRaw=wr,e.geoFahey=Ri,e.geoFaheyRaw=$r,e.geoFoucaut=en,e.geoFoucautRaw=Zi,e.geoFoucautSinusoidal=yn,e.geoFoucautSinusoidalRaw=fn,e.geoGilbert=ua,e.geoGingery=Xo,e.geoGingeryRaw=ma,e.geoGinzburg4=Ha,e.geoGinzburg4Raw=jn,e.geoGinzburg5=Gn,e.geoGinzburg5Raw=vo,e.geoGinzburg6=Sr,e.geoGinzburg6Raw=Ct,e.geoGinzburg8=hi,e.geoGinzburg8Raw=Jr,e.geoGinzburg9=Sn,e.geoGinzburg9Raw=hn,e.geoGringorten=ea,e.geoGringortenRaw=ki,e.geoGuyou=Fs,e.geoGuyouRaw=Lo,e.geoHammer=mt,e.geoHammerRaw=He,e.geoHammerRetroazimuthal=zl,e.geoHammerRetroazimuthalRaw=ll,e.geoHealpix=Yl,e.geoHealpixRaw=cl,e.geoHill=nc,e.geoHillRaw=Su,e.geoHomolosine=xo,e.geoHomolosineRaw=ql,e.geoHufnagel=Ns,e.geoHufnagelRaw=Kl,e.geoHyperelliptical=qo,e.geoHyperellipticalRaw=oa,e.geoInterrupt=Do,e.geoInterruptedBoggs=Vf,e.geoInterruptedHomolosine=Zc,e.geoInterruptedMollweide=qs,e.geoInterruptedMollweideHemispheres=oc,e.geoInterruptedSinuMollweide=sc,e.geoInterruptedSinusoidal=Lf,e.geoKavrayskiy7=af,e.geoKavrayskiy7Raw=cs,e.geoLagrange=$l,e.geoLagrangeRaw=Gf,e.geoLarrivee=Fu,e.geoLarriveeRaw=lc,e.geoLaskowski=Hs,e.geoLaskowskiRaw=Es,e.geoLittrow=ps,e.geoLittrowRaw=Go,e.geoLoximuthal=xl,e.geoLoximuthalRaw=uc,e.geoMiller=Os,e.geoMillerRaw=Gu,e.geoModifiedStereographic=Bl,e.geoModifiedStereographicRaw=od,e.geoModifiedStereographicAlaska=Hu,e.geoModifiedStereographicGs48=bl,e.geoModifiedStereographicGs50=Hf,e.geoModifiedStereographicMiller=Ic,e.geoModifiedStereographicLee=yf,e.geoMollweide=je,e.geoMollweideRaw=tt,e.geoMtFlatPolarParabolic=Yc,e.geoMtFlatPolarParabolicRaw=_f,e.geoMtFlatPolarQuartic=th,e.geoMtFlatPolarQuarticRaw=eh,e.geoMtFlatPolarSinusoidal=jf,e.geoMtFlatPolarSinusoidalRaw=ju,e.geoNaturalEarth2=sf,e.geoNaturalEarth2Raw=cc,e.geoNellHammer=Kc,e.geoNellHammerRaw=Nl,e.geoInterruptedQuarticAuthalic=gs,e.geoNicolosi=Wh,e.geoNicolosiRaw=Wf,e.geoPatterson=hu,e.geoPattersonRaw=bc,e.geoPolyconic=nl,e.geoPolyconicRaw=_u,e.geoPolyhedral=xf,e.geoPolyhedralButterfly=Cs,e.geoPolyhedralCollignon=Xf,e.geoPolyhedralWaterman=Us,e.geoProject=Wl,e.geoGringortenQuincuncial=kt,e.geoPeirceQuincuncial=Zt,e.geoPierceQuincuncial=Zt,e.geoQuantize=Er,e.geoQuincuncial=Bc,e.geoRectangularPolyconic=Kr,e.geoRectangularPolyconicRaw=xr,e.geoRobinson=dn,e.geoRobinsonRaw=Wi,e.geoSatellite=Yi,e.geoSatelliteRaw=On,e.geoSinuMollweide=Vu,e.geoSinuMollweideRaw=_a,e.geoSinusoidal=Et,e.geoSinusoidalRaw=dt,e.geoStitch=Ls,e.geoTimes=no,e.geoTimesRaw=va,e.geoTwoPointAzimuthal=Cu,e.geoTwoPointAzimuthalRaw=rs,e.geoTwoPointAzimuthalUsa=Ql,e.geoTwoPointEquidistant=pu,e.geoTwoPointEquidistantRaw=Yu,e.geoTwoPointEquidistantUsa=Nc,e.geoVanDerGrinten=xu,e.geoVanDerGrintenRaw=Uc,e.geoVanDerGrinten2=Va,e.geoVanDerGrinten2Raw=Ac,e.geoVanDerGrinten3=Vc,e.geoVanDerGrinten3Raw=oo,e.geoVanDerGrinten4=Ku,e.geoVanDerGrinten4Raw=hc,e.geoWagner=B,e.geoWagner7=Q,e.geoWagnerRaw=w,e.geoWagner4=Ze,e.geoWagner4Raw=Fe,e.geoWagner6=Mt,e.geoWagner6Raw=ut,e.geoWiechel=$t,e.geoWiechelRaw=Jt,e.geoWinkel3=Cr,e.geoWinkel3Raw=yr,Object.defineProperty(e,"__esModule",{value:!0})})});var XDe=ye((Gmr,WDe)=>{"use strict";var nd=qa(),VZ=Pr(),Xzt=Oa(),i5=Math.PI/180,iw=180/Math.PI,HZ={cursor:"pointer"},jZ={cursor:"auto"};function Zzt(e,t){var r=e.projection,n;return t._isScoped?n=Yzt:t._isClipped?n=Jzt:n=Kzt,n(e,r)}WDe.exports=Zzt;function WZ(e,t){return nd.behavior.zoom().translate(t.translate()).scale(t.scale())}function XZ(e,t,r){var n=e.id,i=e.graphDiv,a=i.layout,o=a[n],s=i._fullLayout,l=s[n],u={},c={};function f(h,d){u[n+"."+h]=VZ.nestedProperty(o,h).get(),Xzt.call("_storeDirectGUIEdit",a,s._preGUI,u);var v=VZ.nestedProperty(l,h);v.get()!==d&&(v.set(d),VZ.nestedProperty(o,h).set(d),c[n+"."+h]=d)}r(f),f("projection.scale",t.scale()/e.fitScale),f("fitbounds",!1),i.emit("plotly_relayout",c)}function Yzt(e,t){var r=WZ(e,t);function n(){nd.select(this).style(HZ)}function i(){t.scale(nd.event.scale).translate(nd.event.translate),e.render(!0);var s=t.invert(e.midPt);e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.center.lon":s[0],"geo.center.lat":s[1]})}function a(s){var l=t.invert(e.midPt);s("center.lon",l[0]),s("center.lat",l[1])}function o(){nd.select(this).style(jZ),XZ(e,t,a)}return r.on("zoomstart",n).on("zoom",i).on("zoomend",o),r}function Kzt(e,t){var r=WZ(e,t),n=2,i,a,o,s,l,u,c,f,h;function d(M){return t.invert(M)}function v(M){var T=d(M);if(!T)return!0;var L=t(T);return Math.abs(L[0]-M[0])>n||Math.abs(L[1]-M[1])>n}function m(){nd.select(this).style(HZ),i=nd.mouse(this),a=t.rotate(),o=t.translate(),s=a,l=d(i)}function b(){if(u=nd.mouse(this),v(i)){r.scale(t.scale()),r.translate(t.translate());return}t.scale(nd.event.scale),t.translate([o[0],nd.event.translate[1]]),l?d(u)&&(f=d(u),c=[s[0]+(f[0]-l[0]),a[1],a[2]],t.rotate(c),s=c):(i=u,l=d(i)),h=!0,e.render(!0);var M=t.rotate(),T=t.invert(e.midPt);e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.center.lon":T[0],"geo.center.lat":T[1],"geo.projection.rotation.lon":-M[0]})}function p(){nd.select(this).style(jZ),h&&XZ(e,t,k)}function k(M){var T=t.rotate(),L=t.invert(e.midPt);M("projection.rotation.lon",-T[0]),M("center.lon",L[0]),M("center.lat",L[1])}return r.on("zoomstart",m).on("zoom",b).on("zoomend",p),r}function Jzt(e,t){var r={r:t.rotate(),k:t.scale()},n=WZ(e,t),i=a7t(n,"zoomstart","zoom","zoomend"),a=0,o=n.on,s;n.on("zoomstart",function(){nd.select(this).style(HZ);var h=nd.mouse(this),d=t.rotate(),v=d,m=t.translate(),b=$zt(d);s=OF(t,h),o.call(n,"zoom",function(){var p=nd.mouse(this);if(t.scale(r.k=nd.event.scale),!s)h=p,s=OF(t,h);else if(OF(t,p)){t.rotate(d).translate(m);var k=OF(t,p),M=e7t(s,k),T=r7t(Qzt(b,M)),L=r.r=t7t(T,s,v);(!isFinite(L[0])||!isFinite(L[1])||!isFinite(L[2]))&&(L=v),t.rotate(L),v=L}u(i.of(this,arguments))}),l(i.of(this,arguments))}).on("zoomend",function(){nd.select(this).style(jZ),o.call(n,"zoom",null),c(i.of(this,arguments)),XZ(e,t,f)}).on("zoom.redraw",function(){e.render(!0);var h=t.rotate();e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.projection.rotation.lon":-h[0],"geo.projection.rotation.lat":-h[1]})});function l(h){a++||h({type:"zoomstart"})}function u(h){h({type:"zoom"})}function c(h){--a||h({type:"zoomend"})}function f(h){var d=t.rotate();h("projection.rotation.lon",-d[0]),h("projection.rotation.lat",-d[1])}return nd.rebind(n,i,"on")}function OF(e,t){var r=e.invert(t);return r&&isFinite(r[0])&&isFinite(r[1])&&i7t(r)}function $zt(e){var t=.5*e[0]*i5,r=.5*e[1]*i5,n=.5*e[2]*i5,i=Math.sin(t),a=Math.cos(t),o=Math.sin(r),s=Math.cos(r),l=Math.sin(n),u=Math.cos(n);return[a*s*u+i*o*l,i*s*u-a*o*l,a*o*u+i*s*l,a*s*l-i*o*u]}function Qzt(e,t){var r=e[0],n=e[1],i=e[2],a=e[3],o=t[0],s=t[1],l=t[2],u=t[3];return[r*o-n*s-i*l-a*u,r*s+n*o+i*u-a*l,r*l-n*u+i*o+a*s,r*u+n*l-i*s+a*o]}function e7t(e,t){if(!(!e||!t)){var r=n7t(e,t),n=Math.sqrt(jDe(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,jDe(e,t)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}}function t7t(e,t,r){var n=GZ(t,2,e[0]);n=GZ(n,1,e[1]),n=GZ(n,0,e[2]-r[2]);var i=t[0],a=t[1],o=t[2],s=n[0],l=n[1],u=n[2],c=Math.atan2(a,i)*iw,f=Math.sqrt(i*i+a*a),h,d;Math.abs(l)>f?(d=(l>0?90:-90)-c,h=0):(d=Math.asin(l/f)*iw-c,h=Math.sqrt(f*f-l*l));var v=180-d-2*c,m=(Math.atan2(u,s)-Math.atan2(o,h))*iw,b=(Math.atan2(u,s)-Math.atan2(o,-h))*iw,p=GDe(r[0],r[1],d,m),k=GDe(r[0],r[1],v,b);return p<=k?[d,m,r[2]]:[v,b,r[2]]}function GDe(e,t,r,n){var i=HDe(r-e),a=HDe(n-t);return Math.sqrt(i*i+a*a)}function HDe(e){return(e%360+540)%360-180}function GZ(e,t,r){var n=r*i5,i=e.slice(),a=t===0?1:0,o=t===2?1:2,s=Math.cos(n),l=Math.sin(n);return i[a]=e[a]*s-e[o]*l,i[o]=e[o]*s+e[a]*l,i}function r7t(e){return[Math.atan2(2*(e[0]*e[1]+e[2]*e[3]),1-2*(e[1]*e[1]+e[2]*e[2]))*iw,Math.asin(Math.max(-1,Math.min(1,2*(e[0]*e[2]-e[3]*e[1]))))*iw,Math.atan2(2*(e[0]*e[3]+e[1]*e[2]),1-2*(e[2]*e[2]+e[3]*e[3]))*iw]}function i7t(e){var t=e[0]*i5,r=e[1]*i5,n=Math.cos(r);return[n*Math.cos(t),n*Math.sin(t),Math.sin(r)]}function jDe(e,t){for(var r=0,n=0,i=e.length;n{"use strict";var l1=qa(),KZ=UZ(),o7t=KZ.geoPath,s7t=KZ.geoDistance,l7t=VDe(),u7t=Oa(),pk=Pr(),c7t=pk.strTranslate,BF=ka(),vk=So(),ZDe=ef(),f7t=Mc(),YZ=ho(),YDe=Mg().getAutoRange,ZZ=yv(),h7t=qf().prepSelect,d7t=qf().clearOutline,v7t=qf().selectOnClick,p7t=XDe(),hp=ck(),g7t=dx(),JDe=TF(),m7t=MZ().feature;function $De(e){this.id=e.id,this.graphDiv=e.graphDiv,this.container=e.container,this.topojsonURL=e.topojsonURL,this.isStatic=e.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.scope=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}var tm=$De.prototype;QDe.exports=function(t){return new $De(t)};tm.plot=function(e,t,r,n){var i=this;if(n)return i.update(e,t,!0);i._geoCalcData=e,i._fullLayout=t;var a=t[this.id],o=[],s=!1;for(var l in hp.layerNameToAdjective)if(l!=="frame"&&a["show"+l]){s=!0;break}for(var u=!1,c=0;c0&&o._module.calcGeoJSON(a,t)}if(!r){var s=this.updateProjection(e,t);if(s)return;(!this.viewInitial||this.scope!==n.scope)&&this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(t,n),this.updateDims(t,n),this.updateFx(t,n),f7t.generalUpdatePerTraceModule(this.graphDiv,this,e,n);var l=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=l.selectAll(".point"),this.dataPoints.text=l.selectAll("text"),this.dataPaths.line=l.selectAll(".js-line");var u=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=u.selectAll("path"),this._render()};tm.updateProjection=function(e,t){var r=this.graphDiv,n=t[this.id],i=t._size,a=n.domain,o=n.projection,s=n.lonaxis,l=n.lataxis,u=s._ax,c=l._ax,f=this.projection=y7t(n),h=[[i.l+i.w*a.x[0],i.t+i.h*(1-a.y[1])],[i.l+i.w*a.x[1],i.t+i.h*(1-a.y[0])]],d=n.center||{},v=o.rotation||{},m=s.range||[],b=l.range||[];if(n.fitbounds){u._length=h[1][0]-h[0][0],c._length=h[1][1]-h[0][1],u.range=YDe(r,u),c.range=YDe(r,c);var p=(u.range[0]+u.range[1])/2,k=(c.range[0]+c.range[1])/2;if(n._isScoped)d={lon:p,lat:k};else if(n._isClipped){d={lon:p,lat:k},v={lon:p,lat:k,roll:v.roll};var M=o.type,T=hp.lonaxisSpan[M]/2||180,L=hp.lataxisSpan[M]/2||90;m=[p-T,p+T],b=[k-L,k+L]}else d={lon:p,lat:k},v={lon:p,lat:v.lat,roll:v.roll}}f.center([d.lon-v.lon,d.lat-v.lat]).rotate([-v.lon,-v.lat,v.roll]).parallels(o.parallels);var x=KDe(m,b);f.fitExtent(h,x);var C=this.bounds=f.getBounds(x),S=this.fitScale=f.scale(),g=f.translate();if(n.fitbounds){var P=f.getBounds(KDe(u.range,c.range)),E=Math.min((C[1][0]-C[0][0])/(P[1][0]-P[0][0]),(C[1][1]-C[0][1])/(P[1][1]-P[0][1]));isFinite(E)?f.scale(E*S):pk.warn("Something went wrong during"+this.id+"fitbounds computations.")}else f.scale(o.scale*S);var z=this.midPt=[(C[0][0]+C[1][0])/2,(C[0][1]+C[1][1])/2];if(f.translate([g[0]+(z[0]-g[0]),g[1]+(z[1]-g[1])]).clipExtent(C),n._isAlbersUsa){var q=f([d.lon,d.lat]),V=f.translate();f.translate([V[0]-(q[0]-V[0]),V[1]-(q[1]-V[1])])}};tm.updateBaseLayers=function(e,t){var r=this,n=r.topojson,i=r.layers,a=r.basePaths;function o(h){return h==="lonaxis"||h==="lataxis"}function s(h){return!!hp.lineLayers[h]}function l(h){return!!hp.fillLayers[h]}var u=this.hasChoropleth?hp.layersForChoropleth:hp.layers,c=u.filter(function(h){return s(h)||l(h)?t["show"+h]:o(h)?t[h].showgrid:!0}),f=r.framework.selectAll(".layer").data(c,String);f.exit().each(function(h){delete i[h],delete a[h],l1.select(this).remove()}),f.enter().append("g").attr("class",function(h){return"layer "+h}).each(function(h){var d=i[h]=l1.select(this);h==="bg"?r.bgRect=d.append("rect").style("pointer-events","all"):o(h)?a[h]=d.append("path").style("fill","none"):h==="backplot"?d.append("g").classed("choroplethlayer",!0):h==="frontplot"?d.append("g").classed("scatterlayer",!0):s(h)?a[h]=d.append("path").style("fill","none").style("stroke-miterlimit",2):l(h)&&(a[h]=d.append("path").style("stroke","none"))}),f.order(),f.each(function(h){var d=a[h],v=hp.layerNameToAdjective[h];h==="frame"?d.datum(hp.sphereSVG):s(h)||l(h)?d.datum(m7t(n,n.objects[h])):o(h)&&d.datum(_7t(h,t,e)).call(BF.stroke,t[h].gridcolor).call(vk.dashLine,t[h].griddash,t[h].gridwidth),s(h)?d.call(BF.stroke,t[v+"color"]).call(vk.dashLine,"",t[v+"width"]):l(h)&&d.call(BF.fill,t[v+"color"])})};tm.updateDims=function(e,t){var r=this.bounds,n=(t.framewidth||0)/2,i=r[0][0]-n,a=r[0][1]-n,o=r[1][0]-i+n,s=r[1][1]-a+n;vk.setRect(this.clipRect,i,a,o,s),this.bgRect.call(vk.setRect,i,a,o,s).call(BF.fill,t.bgcolor),this.xaxis._offset=i,this.xaxis._length=o,this.yaxis._offset=a,this.yaxis._length=s};tm.updateFx=function(e,t){var r=this,n=r.graphDiv,i=r.bgRect,a=e.dragmode,o=e.clickmode;if(r.isStatic)return;function s(){var f=r.viewInitial,h={};for(var d in f)h[r.id+"."+d]=f[d];u7t.call("_guiRelayout",n,h),n.emit("plotly_doubleclick",null)}function l(f){return r.projection.invert([f[0]+r.xaxis._offset,f[1]+r.yaxis._offset])}var u=function(f,h){if(h.isRect){var d=f.range={};d[r.id]=[l([h.xmin,h.ymin]),l([h.xmax,h.ymax])]}else{var v=f.lassoPoints={};v[r.id]=h.map(l)}},c={element:r.bgRect.node(),gd:n,plotinfo:{id:r.id,xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:u},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id,clickFn:function(f){f===2&&d7t(n)}};a==="pan"?(i.node().onmousedown=null,i.call(p7t(r,t)),i.on("dblclick.zoom",s),n._context._scrollZoom.geo||i.on("wheel.zoom",null)):(a==="select"||a==="lasso")&&(i.on(".zoom",null),c.prepFn=function(f,h,d){h7t(f,h,d,c,a)},ZZ.init(c)),i.on("mousemove",function(){var f=r.projection.invert(pk.getPositionFromD3Event());if(!f)return ZZ.unhover(n,l1.event);r.xaxis.p2c=function(){return f[0]},r.yaxis.p2c=function(){return f[1]},ZDe.hover(n,l1.event,r.id)}),i.on("mouseout",function(){n._dragging||ZZ.unhover(n,l1.event)}),i.on("click",function(){a!=="select"&&a!=="lasso"&&(o.indexOf("select")>-1&&v7t(l1.event,n,[r.xaxis],[r.yaxis],r.id,c),o.indexOf("event")>-1&&ZDe.click(n,l1.event))})};tm.makeFramework=function(){var e=this,t=e.graphDiv,r=t._fullLayout,n="clip"+r._uid+e.id;e.clipDef=r._clips.append("clipPath").attr("id",n),e.clipRect=e.clipDef.append("rect"),e.framework=l1.select(e.container).append("g").attr("class","geo "+e.id).call(vk.setClipUrl,n,t),e.project=function(i){var a=e.projection(i);return a?[a[0]-e.xaxis._offset,a[1]-e.yaxis._offset]:[null,null]},e.xaxis={_id:"x",c2p:function(i){return e.project(i)[0]}},e.yaxis={_id:"y",c2p:function(i){return e.project(i)[1]}},e.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},YZ.setConvert(e.mockAxis,r)};tm.saveViewInitial=function(e){var t=e.center||{},r=e.projection,n=r.rotation||{};this.viewInitial={fitbounds:e.fitbounds,"projection.scale":r.scale};var i;e._isScoped?i={"center.lon":t.lon,"center.lat":t.lat}:e._isClipped?i={"projection.rotation.lon":n.lon,"projection.rotation.lat":n.lat}:i={"center.lon":t.lon,"center.lat":t.lat,"projection.rotation.lon":n.lon},pk.extendFlat(this.viewInitial,i)};tm.render=function(e){this._hasMarkerAngles&&e?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()};tm._render=function(){var e=this.projection,t=e.getPath(),r;function n(a){var o=e(a.lonlat);return o?c7t(o[0],o[1]):null}function i(a){return e.isLonLatOverEdges(a.lonlat)?"none":null}for(r in this.basePaths)this.basePaths[r].attr("d",t);for(r in this.dataPaths)this.dataPaths[r].attr("d",function(a){return t(a.geojson)});for(r in this.dataPoints)this.dataPoints[r].attr("display",i).attr("transform",n)};function y7t(e){var t=e.projection,r=t.type,n=hp.projNames[r];n="geo"+pk.titleCase(n);for(var i=KZ[n]||l7t[n],a=i(),o=e._isSatellite?Math.acos(1/t.distance)*180/Math.PI:e._isClipped?hp.lonaxisSpan[r]/2:null,s=["center","rotate","parallels","clipExtent"],l=function(f){return f?a:[]},u=0;uv}else return!1},a.getPath=function(){return o7t().projection(a)},a.getBounds=function(f){return a.getPath().bounds(f)},a.precision(hp.precision),e._isSatellite&&a.tilt(t.tilt).distance(t.distance),o&&a.clipAngle(o-hp.clipPad),a}function _7t(e,t,r){var n=1e-6,i=2.5,a=t[e],o=hp.scopeDefaults[t.scope],s,l,u;e==="lonaxis"?(s=o.lonaxisRange,l=o.lataxisRange,u=function(k,M){return[k,M]}):e==="lataxis"&&(s=o.lataxisRange,l=o.lonaxisRange,u=function(k,M){return[M,k]});var c={type:"linear",range:[s[0],s[1]-n],tick0:a.tick0,dtick:a.dtick};YZ.setConvert(c,r);var f=YZ.calcTicks(c);!t.isScoped&&e==="lonaxis"&&f.pop();for(var h=f.length,d=new Array(h),v=0;v0&&i<0&&(i+=360);var s=(i-n)/4;return{type:"Polygon",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}});var JZ=ye((jmr,iFe)=>{"use strict";var a5=Ih(),x7t=Cc().attributes,b7t=Pd().dash,n5=ck(),w7t=mc().overrideAll,tFe=t_(),rFe={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:a5.lightLine},gridwidth:{valType:"number",min:0,dflt:1},griddash:b7t},T7t=iFe.exports=w7t({domain:x7t({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:tFe(n5.scopeDefaults),dflt:"world"},projection:{type:{valType:"enumerated",values:tFe(n5.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:a5.defaultLine},coastlinewidth:{valType:"number",min:0,dflt:1},showland:{valType:"boolean",dflt:!1},landcolor:{valType:"color",dflt:n5.landColor},showocean:{valType:"boolean",dflt:!1},oceancolor:{valType:"color",dflt:n5.waterColor},showlakes:{valType:"boolean",dflt:!1},lakecolor:{valType:"color",dflt:n5.waterColor},showrivers:{valType:"boolean",dflt:!1},rivercolor:{valType:"color",dflt:n5.waterColor},riverwidth:{valType:"number",min:0,dflt:1},showcountries:{valType:"boolean"},countrycolor:{valType:"color",dflt:a5.defaultLine},countrywidth:{valType:"number",min:0,dflt:1},showsubunits:{valType:"boolean"},subunitcolor:{valType:"color",dflt:a5.defaultLine},subunitwidth:{valType:"number",min:0,dflt:1},showframe:{valType:"boolean"},framecolor:{valType:"color",dflt:a5.defaultLine},framewidth:{valType:"number",min:0,dflt:1},bgcolor:{valType:"color",dflt:a5.background},lonaxis:rFe,lataxis:rFe},"plot","from-root");T7t.uirevision={valType:"any",editType:"none"}});var oFe=ye((Wmr,aFe)=>{"use strict";var NF=Pr(),A7t=q_(),S7t=Id().getSubplotData,UF=ck(),M7t=JZ(),nFe=UF.axesNames;aFe.exports=function(t,r,n){A7t(t,r,n,{type:"geo",attributes:M7t,handleDefaults:E7t,fullData:n,partition:"y"})};function E7t(e,t,r,n){var i=S7t(n.fullData,"geo",n.id),a=i.map(function(ae){return ae.index}),o=r("resolution"),s=r("scope"),l=UF.scopeDefaults[s],u=r("projection.type",l.projType),c=t._isAlbersUsa=u==="albers usa";c&&(s=t.scope="usa");var f=t._isScoped=s!=="world",h=t._isSatellite=u==="satellite",d=t._isConic=u.indexOf("conic")!==-1||u==="albers",v=t._isClipped=!!UF.lonaxisSpan[u];if(e.visible===!1){var m=NF.extendDeep({},t._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),t._template=m}for(var b=r("visible"),p,k=0;k0&&q<0&&(q+=360);var V=(z+q)/2,G;if(!c){var Z=f?l.projRotate:[V,0,0];G=r("projection.rotation.lon",Z[0]),r("projection.rotation.lat",Z[1]),r("projection.rotation.roll",Z[2]),p=r("showcoastlines",!f&&b),p&&(r("coastlinecolor"),r("coastlinewidth")),p=r("showocean",b?void 0:!1),p&&r("oceancolor")}var j,N;if(c?(j=-96.6,N=38.7):(j=f?V:G,N=(E[0]+E[1])/2),r("center.lon",j),r("center.lat",N),h&&(r("projection.tilt"),r("projection.distance")),d){var H=l.projParallels||[0,60];r("projection.parallels",H)}r("projection.scale"),p=r("showland",b?void 0:!1),p&&r("landcolor"),p=r("showlakes",b?void 0:!1),p&&r("lakecolor"),p=r("showrivers",b?void 0:!1),p&&(r("rivercolor"),r("riverwidth")),p=r("showcountries",f&&s!=="usa"&&b),p&&(r("countrycolor"),r("countrywidth")),(s==="usa"||s==="north america"&&o===50)&&(r("showsubunits",b),r("subunitcolor"),r("subunitwidth")),f||(p=r("showframe",b),p&&(r("framecolor"),r("framewidth"))),r("bgcolor");var ie=r("fitbounds");ie&&(delete t.projection.scale,f?(delete t.center.lon,delete t.center.lat):v?(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon,delete t.projection.rotation.lat,delete t.lonaxis.range,delete t.lataxis.range):(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon))}});var $Z=ye((Xmr,uFe)=>{"use strict";var k7t=Id().getSubplotCalcData,C7t=Pr().counterRegex,L7t=eFe(),ey="geo",sFe=C7t(ey),lFe={};lFe[ey]={valType:"subplotid",dflt:ey,editType:"calc"};function P7t(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[ey],i=0;i{"use strict";cFe.exports={attributes:tw(),supplyDefaults:GRe(),colorbar:Qd(),formatLabels:WRe(),calc:bF(),calcGeoJSON:NZ().calcGeoJSON,plot:NZ().plot,style:zZ(),styleOnSelect:sp().styleOnSelect,hoverPoints:RDe(),eventData:FDe(),selectPoints:ODe(),moduleType:"trace",name:"scattergeo",basePlotModule:$Z(),categories:["geo","symbols","showLegend","scatter-like"],meta:{}}});var dFe=ye((Ymr,hFe)=>{"use strict";hFe.exports=fFe()});var o5=ye((Kmr,gFe)=>{"use strict";var{hovertemplateAttrs:D7t,templatefallbackAttrs:F7t}=Ll(),px=tw(),z7t=Tu(),vFe=Gl(),q7t=Ih().defaultLine,vx=Ao().extendFlat,pFe=px.marker.line;gFe.exports=vx({locations:{valType:"data_array",editType:"calc"},locationmode:px.locationmode,z:{valType:"data_array",editType:"calc"},geojson:vx({},px.geojson,{}),featureidkey:px.featureidkey,text:vx({},px.text,{}),hovertext:vx({},px.hovertext,{}),marker:{line:{color:vx({},pFe.color,{dflt:q7t}),width:vx({},pFe.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:px.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:px.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:vx({},vFe.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:D7t(),hovertemplatefallback:F7t(),showlegend:vx({},vFe.showlegend,{dflt:!1})},z7t("",{cLetter:"z",editTypeOverride:"calc"}))});var yFe=ye((Jmr,mFe)=>{"use strict";var gk=Pr(),O7t=td(),B7t=o5(),N7t=["The library used by the *country names* `locationmode` option is changing in the next major version.","Some country names in existing plots may not work in the new version.","To ensure consistent behavior, consider setting `locationmode` to *ISO-3*."].join(" ");mFe.exports=function(t,r,n,i){function a(h,d){return gk.coerce(t,r,B7t,h,d)}var o=a("locations"),s=a("z");if(!(o&&o.length&&gk.isArrayOrTypedArray(s)&&s.length)){r.visible=!1;return}r._length=Math.min(o.length,s.length);var l=a("geojson"),u;(typeof l=="string"&&l!==""||gk.isPlainObject(l))&&(u="geojson-id");var c=a("locationmode",u);c==="country names"&&gk.warn(N7t),c==="geojson-id"&&a("featureidkey"),a("text"),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback");var f=a("marker.line.width");f&&a("marker.line.color"),a("marker.opacity"),O7t(t,r,i,a,{prefix:"",cLetter:"z"}),gk.coerceSelectionMarkerOpacity(r,a)}});var VF=ye(($mr,bFe)=>{"use strict";var _Fe=Eo(),U7t=fs().BADNUM,V7t=gv(),G7t=Dm(),H7t=q0();function xFe(e){return e&&typeof e=="string"}bFe.exports=function(t,r){var n=r._length,i=new Array(n),a;r.geojson?a=function(c){return xFe(c)||_Fe(c)}:a=xFe;for(var o=0;o{"use strict";var j7t=qa(),W7t=ka(),QZ=So(),X7t=tc();function Z7t(e,t){t&&wFe(e,t)}function wFe(e,t){var r=t[0].trace,n=t[0].node3,i=n.selectAll(".choroplethlocation"),a=r.marker||{},o=a.line||{},s=X7t.makeColorScaleFuncFromTrace(r);i.each(function(l){j7t.select(this).attr("fill",s(l.z)).call(W7t.stroke,l.mlc||o.color).call(QZ.dashLine,"",l.mlw||o.width||0).style("opacity",a.opacity)}),QZ.selectedPointStyle(i,r)}function Y7t(e,t){var r=t[0].node3,n=t[0].trace;n.selectedpoints?QZ.selectedPointStyle(r.selectAll(".choroplethlocation"),n):wFe(e,t)}TFe.exports={style:Z7t,styleOnSelect:Y7t}});var eY=ye((eyr,MFe)=>{"use strict";var K7t=qa(),AFe=Pr(),s5=dx(),J7t=TF().getTopojsonFeatures,SFe=Mg().findExtremes,$7t=GF().style;function Q7t(e,t,r){var n=t.layers.backplot.select(".choroplethlayer");AFe.makeTraceGroups(n,r,"trace choropleth").each(function(i){var a=K7t.select(this),o=a.selectAll("path.choroplethlocation").data(AFe.identity);o.enter().append("path").classed("choroplethlocation",!0),o.exit().remove(),$7t(e,i)})}function e9t(e,t){for(var r=e[0].trace,n=t[r.geo],i=n._subplot,a=r.locationmode,o=r._length,s=a==="geojson-id"?s5.extractTraceFeature(e):J7t(r,i.topojson),l=[],u=[],c=0;c{"use strict";var t9t=ho(),r9t=o5(),i9t=Pr().fillText;EFe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.subplot,s,l,u,c,f=[r,n],h=[r+360,n];for(l=0;l")}}});var jF=ye((ryr,kFe)=>{"use strict";kFe.exports=function(t,r,n,i,a){t.location=r.location,t.z=r.z;var o=i[a];return o.fIn&&o.fIn.properties&&(t.properties=o.fIn.properties),t.ct=o.ct,t}});var WF=ye((iyr,CFe)=>{"use strict";CFe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l,u,c,f;if(r===!1)for(s=0;s{"use strict";LFe.exports={attributes:o5(),supplyDefaults:yFe(),colorbar:D_(),calc:VF(),calcGeoJSON:eY().calcGeoJSON,plot:eY().plot,style:GF().style,styleOnSelect:GF().styleOnSelect,hoverPoints:HF(),eventData:jF(),selectPoints:WF(),moduleType:"trace",name:"choropleth",basePlotModule:$Z(),categories:["geo","noOpacity","showLegend"],meta:{}}});var RFe=ye((ayr,IFe)=>{"use strict";IFe.exports=PFe()});var XF=ye((oyr,FFe)=>{"use strict";var a9t=Oa(),l0=Pr(),o9t=yT();function s9t(e,t,r,n){var i=e.cd,a=i[0].t,o=i[0].trace,s=e.xa,l=e.ya,u=a.x,c=a.y,f=s.c2p(t),h=l.c2p(r),d=e.distance,v;if(a.tree){var m=s.p2c(f-d),b=s.p2c(f+d),p=l.p2c(h-d),k=l.p2c(h+d);n==="x"?v=a.tree.range(Math.min(m,b),Math.min(l._rl[0],l._rl[1]),Math.max(m,b),Math.max(l._rl[0],l._rl[1])):v=a.tree.range(Math.min(m,b),Math.min(p,k),Math.max(m,b),Math.max(p,k))}else v=a.ids;var M,T,L,x,C,S,g,P,E,z=d;if(n==="x"){var q=!!o.xperiodalignment,V=!!o.yperiodalignment;for(C=0;C=Math.min(G,Z)&&f<=Math.max(G,Z)?0:1/0}if(S=Math.min(j,N)&&h<=Math.max(j,N)?0:1/0}E=Math.sqrt(S*S+g*g),T=v[C]}}}else for(C=v.length-1;C>-1;C--)M=v[C],L=u[M],x=c[M],S=s.c2p(L)-f,g=l.c2p(x)-h,P=Math.sqrt(S*S+g*g),P{"use strict";var zFe=20;qFe.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:zFe,SYMBOL_STROKE:zFe/20,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}});var mk=ye((lyr,UFe)=>{"use strict";var l9t=Gl(),u9t=ec(),c9t=Pg(),mf=pf(),OFe=vf().axisHoverFormat,BFe=Tu(),f9t=t_(),tY=Ao().extendFlat,h9t=mc().overrideAll,d9t=gx().DASHES,NFe=mf.line,u1=mf.marker,v9t=u1.line,mx=UFe.exports=h9t({x:mf.x,x0:mf.x0,dx:mf.dx,y:mf.y,y0:mf.y0,dy:mf.dy,xperiod:mf.xperiod,yperiod:mf.yperiod,xperiod0:mf.xperiod0,yperiod0:mf.yperiod0,xperiodalignment:mf.xperiodalignment,yperiodalignment:mf.yperiodalignment,xhoverformat:OFe("x"),yhoverformat:OFe("y"),text:mf.text,hovertext:mf.hovertext,textposition:mf.textposition,textfont:u9t({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:"calc",colorEditType:"style",arrayOk:!0,noNumericWeightValues:!0,variantValues:["normal","small-caps"]}),mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"]},line:{color:NFe.color,width:NFe.width,shape:{valType:"enumerated",values:["linear","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot"},dash:{valType:"enumerated",values:f9t(d9t),dflt:"solid"}},marker:tY({},BFe("marker"),{symbol:u1.symbol,angle:u1.angle,size:u1.size,sizeref:u1.sizeref,sizemin:u1.sizemin,sizemode:u1.sizemode,opacity:u1.opacity,colorbar:u1.colorbar,line:tY({},BFe("marker.line"),{width:v9t.width})}),connectgaps:mf.connectgaps,fill:tY({},mf.fill,{dflt:"none"}),fillcolor:c9t(),selected:{marker:mf.selected.marker,textfont:mf.selected.textfont},unselected:{marker:mf.unselected.marker,textfont:mf.unselected.textfont},opacity:l9t.opacity},"calc","nested");mx.x.editType=mx.y.editType=mx.x0.editType=mx.y0.editType="calc+clearAxisTypes";mx.hovertemplate=mf.hovertemplate;mx.hovertemplatefallback=mf.hovertemplatefallback;mx.texttemplate=mf.texttemplate;mx.texttemplatefallback=mf.texttemplatefallback});var ZF=ye(rY=>{"use strict";var VFe=gx();rY.isOpenSymbol=function(e){return typeof e=="string"?VFe.OPEN_RE.test(e):e%200>100};rY.isDotSymbol=function(e){return typeof e=="string"?VFe.DOT_RE.test(e):e>200}});var jFe=ye((cyr,HFe)=>{"use strict";var GFe=Pr(),p9t=Oa(),g9t=ZF(),m9t=mk(),y9t=Pm(),YF=Ru(),_9t=lT(),x9t=Dg(),b9t=$p(),w9t=D0(),T9t=Fg(),A9t=F0();HFe.exports=function(t,r,n,i){function a(d,v){return GFe.coerce(t,r,m9t,d,v)}var o=t.marker?g9t.isOpenSymbol(t.marker.symbol):!1,s=YF.isBubble(t),l=_9t(t,r,i,a);if(!l){r.visible=!1;return}x9t(t,r,i,a),a("xhoverformat"),a("yhoverformat");var u=l{"use strict";var S9t=uI();WFe.exports=function(t,r,n){var i=t.i;return"x"in t||(t.x=r._x[i]),"y"in t||(t.y=r._y[i]),S9t(t,r,n)}});var YFe=ye((hyr,ZFe)=>{"use strict";function M9t(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l>=0?(a=o,i=o-1):n=o+1}return a}function E9t(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l>0?(a=o,i=o-1):n=o+1}return a}function k9t(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l<0?(a=o,n=o+1):i=o-1}return a}function C9t(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l<=0?(a=o,n=o+1):i=o-1}return a}function L9t(e,t,r,n,i){for(;n<=i;){var a=n+i>>>1,o=e[a],s=r!==void 0?r(o,t):o-t;if(s===0)return a;s<=0?n=a+1:i=a-1}return-1}function yk(e,t,r,n,i,a){return typeof r=="function"?a(e,t,r,n===void 0?0:n|0,i===void 0?e.length-1:i|0):a(e,t,void 0,r===void 0?0:r|0,n===void 0?e.length-1:n|0)}ZFe.exports={ge:function(e,t,r,n,i){return yk(e,t,r,n,i,M9t)},gt:function(e,t,r,n,i){return yk(e,t,r,n,i,E9t)},lt:function(e,t,r,n,i){return yk(e,t,r,n,i,k9t)},le:function(e,t,r,n,i){return yk(e,t,r,n,i,C9t)},eq:function(e,t,r,n,i){return yk(e,t,r,n,i,L9t)}}});var ty=ye((dyr,JFe)=>{"use strict";JFe.exports=function(t,r,n){var i={},a,o;if(typeof r=="string"&&(r=KFe(r)),Array.isArray(r)){var s={};for(o=0;o{"use strict";var P9t=ty();$Fe.exports=I9t;function I9t(e){var t;return arguments.length>1&&(e=arguments),typeof e=="string"?e=e.split(/\s/).map(parseFloat):typeof e=="number"&&(e=[e]),e.length&&typeof e[0]=="number"?e.length===1?t={width:e[0],height:e[0],x:0,y:0}:e.length===2?t={width:e[0],height:e[1],x:0,y:0}:t={x:e[0],y:e[1],width:e[2]-e[0]||0,height:e[3]-e[1]||0}:e&&(e=P9t(e,{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"}),t={x:e.left||0,y:e.top||0},e.width==null?e.right?t.width=e.right-t.x:t.width=0:t.width=e.width,e.height==null?e.bottom?t.height=e.bottom-t.y:t.height=0:t.height=e.height),t}});var nw=ye((pyr,QFe)=>{"use strict";QFe.exports=R9t;function R9t(e,t){if(!e||e.length==null)throw Error("Argument should be an array");t==null?t=1:t=Math.floor(t);for(var r=Array(t*2),n=0;ni&&(i=e[o]),e[o]{eze.exports=function(){for(var e=0;e{var rze=tF();ize.exports=D9t;function D9t(e,t,r){if(!e)throw new TypeError("must specify data as first parameter");if(r=+(r||0)|0,Array.isArray(e)&&e[0]&&typeof e[0][0]=="number"){var n=e[0].length,i=e.length*n,a,o,s,l;(!t||typeof t=="string")&&(t=new(rze(t||"float32"))(i+r));var u=t.length-r;if(i!==u)throw new Error("source length "+i+" ("+n+"x"+e.length+") does not match destination length "+u);for(a=0,s=r;a{"use strict";nze.exports=function(e){var t=typeof e;return e!==null&&(t==="object"||t==="function")}});var sze=ye((_yr,oze)=>{"use strict";oze.exports=Math.log2||function(e){return Math.log(e)*Math.LOG2E}});var vze=ye((xyr,dze)=>{"use strict";var lze=YFe(),uze=ik(),F9t=l5(),z9t=nw(),cze=ty(),nY=tze(),q9t=aw(),O9t=aze(),B9t=tF(),fze=sze(),N9t=1073741824;dze.exports=function(t,r){r||(r={}),t=q9t(t,"float64"),r=cze(r,{bounds:"range bounds dataBox databox",maxDepth:"depth maxDepth maxdepth level maxLevel maxlevel levels",dtype:"type dtype format out dst output destination"});let n=nY(r.maxDepth,255),i=nY(r.bounds,z9t(t,2));i[0]===i[2]&&i[2]++,i[1]===i[3]&&i[3]++;let a=hze(t,i),o=t.length>>>1,s;r.dtype||(r.dtype="array"),typeof r.dtype=="string"?s=new(B9t(r.dtype))(o):r.dtype&&(s=r.dtype,Array.isArray(s)&&(s.length=o));for(let p=0;pn||x>N9t){for(let N=0;N_e||g>Ee||P=z||ie===ae)return;let Ce=l[H];ae===void 0&&(ae=Ce.length);for(let Pe=ie;Pe=T&&He<=x&<>=L&<<=C&&q.push(ce)}let ge=u[H],re=ge[ie*4+0],Se=ge[ie*4+1],ke=ge[ie*4+2],be=ge[ie*4+3],Be=G(ge,ie+1),Le=N*.5,me=H+1;V(Z,j,Le,me,re,Se||ke||be||Be),V(Z,j+Le,Le,me,Se,ke||be||Be),V(Z+Le,j,Le,me,ke,be||Be),V(Z+Le,j+Le,Le,me,be,Be)}function G(Z,j){let N=null,H=0;for(;N===null;)if(N=Z[j*4+H],H++,H>Z.length)return null;return N}return q}function m(p,k,M,T,L){let x=[];for(let C=0;C{"use strict";pze.exports=vze()});var aY=ye((wyr,gze)=>{gze.exports=U9t;function U9t(e){var t=0,r=0,n=0,i=0;return e.map(function(a){a=a.slice();var o=a[0],s=o.toUpperCase();if(o!=s)switch(a[0]=s,o){case"a":a[6]+=n,a[7]+=i;break;case"v":a[1]+=i;break;case"h":a[1]+=n;break;default:for(var l=1;l{"use strict";Object.defineProperty(JF,"__esModule",{value:!0});var V9t=function(){function e(t,r){var n=[],i=!0,a=!1,o=void 0;try{for(var s=t[Symbol.iterator](),l;!(i=(l=s.next()).done)&&(n.push(l.value),!(r&&n.length===r));i=!0);}catch(u){a=!0,o=u}finally{try{!i&&s.return&&s.return()}finally{if(a)throw o}}return n}return function(t,r){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),_k=Math.PI*2,oY=function(t,r,n,i,a,o,s){var l=t.x,u=t.y;l*=r,u*=n;var c=i*l-a*u,f=a*l+i*u;return{x:c+o,y:f+s}},G9t=function(t,r){var n=r===1.5707963267948966?.551915024494:r===-1.5707963267948966?-.551915024494:1.3333333333333333*Math.tan(r/4),i=Math.cos(t),a=Math.sin(t),o=Math.cos(t+r),s=Math.sin(t+r);return[{x:i-a*n,y:a+i*n},{x:o+s*n,y:s-o*n},{x:o,y:s}]},mze=function(t,r,n,i){var a=t*i-r*n<0?-1:1,o=t*n+r*i;return o>1&&(o=1),o<-1&&(o=-1),a*Math.acos(o)},H9t=function(t,r,n,i,a,o,s,l,u,c,f,h){var d=Math.pow(a,2),v=Math.pow(o,2),m=Math.pow(f,2),b=Math.pow(h,2),p=d*v-d*b-v*m;p<0&&(p=0),p/=d*b+v*m,p=Math.sqrt(p)*(s===l?-1:1);var k=p*a/o*h,M=p*-o/a*f,T=c*k-u*M+(t+n)/2,L=u*k+c*M+(r+i)/2,x=(f-k)/a,C=(h-M)/o,S=(-f-k)/a,g=(-h-M)/o,P=mze(1,0,x,C),E=mze(x,C,S,g);return l===0&&E>0&&(E-=_k),l===1&&E<0&&(E+=_k),[T,L,P,E]},j9t=function(t){var r=t.px,n=t.py,i=t.cx,a=t.cy,o=t.rx,s=t.ry,l=t.xAxisRotation,u=l===void 0?0:l,c=t.largeArcFlag,f=c===void 0?0:c,h=t.sweepFlag,d=h===void 0?0:h,v=[];if(o===0||s===0)return[];var m=Math.sin(u*_k/360),b=Math.cos(u*_k/360),p=b*(r-i)/2+m*(n-a)/2,k=-m*(r-i)/2+b*(n-a)/2;if(p===0&&k===0)return[];o=Math.abs(o),s=Math.abs(s);var M=Math.pow(p,2)/Math.pow(o,2)+Math.pow(k,2)/Math.pow(s,2);M>1&&(o*=Math.sqrt(M),s*=Math.sqrt(M));var T=H9t(r,n,i,a,o,s,f,d,m,b,p,k),L=V9t(T,4),x=L[0],C=L[1],S=L[2],g=L[3],P=Math.abs(g)/(_k/4);Math.abs(1-P)<1e-7&&(P=1);var E=Math.max(Math.ceil(P),1);g/=E;for(var z=0;z{"use strict";bze.exports=X9t;var W9t=_ze();function X9t(e){for(var t,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,f=0,h=e.length;f4?(n=d[d.length-4],i=d[d.length-3]):(n=u,i=c),r.push(d)}return r}function $F(e,t,r,n){return["C",e,t,r,n,r,n]}function xze(e,t,r,n,i,a){return["C",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}});var sY=ye((Ayr,Tze)=>{"use strict";Tze.exports=function(t){return typeof t!="string"?!1:(t=t.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\dz]$/i.test(t)&&t.length>4))}});var Mze=ye((Syr,Sze)=>{"use strict";var Z9t=aM(),Y9t=aY(),K9t=wze(),J9t=sY(),Aze=mE();Sze.exports=$9t;function $9t(e){if(Array.isArray(e)&&e.length===1&&typeof e[0]=="string"&&(e=e[0]),typeof e=="string"&&(Aze(J9t(e),"String is not an SVG path."),e=Z9t(e)),Aze(Array.isArray(e),"Argument should be a string or an array of path segments."),e=Y9t(e),e=K9t(e),!e.length)return[0,0,0,0];for(var t=[1/0,1/0,-1/0,-1/0],r=0,n=e.length;rt[2]&&(t[2]=i[a+0]),i[a+1]>t[3]&&(t[3]=i[a+1]);return t}});var Ize=ye((Myr,Pze)=>{var ow=Math.PI,Eze=Lze(120);Pze.exports=Q9t;function Q9t(e){for(var t,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,f=0,h=e.length;f7&&(r.push(d.splice(0,7)),d.unshift("C"));break;case"S":var m=u,b=c;(t=="C"||t=="S")&&(m+=m-n,b+=b-i),d=["C",m,b,d[1],d[2],d[3],d[4]];break;case"T":t=="Q"||t=="T"?(s=u*2-s,l=c*2-l):(s=u,l=c),d=kze(u,c,s,l,d[1],d[2]);break;case"Q":s=d[1],l=d[2],d=kze(u,c,d[1],d[2],d[3],d[4]);break;case"L":d=QF(u,c,d[1],d[2]);break;case"H":d=QF(u,c,d[1],c);break;case"V":d=QF(u,c,u,d[1]);break;case"Z":d=QF(u,c,a,o);break}t=v,u=d[d.length-2],c=d[d.length-1],d.length>4?(n=d[d.length-4],i=d[d.length-3]):(n=u,i=c),r.push(d)}return r}function QF(e,t,r,n){return["C",e,t,r,n,r,n]}function kze(e,t,r,n,i,a){return["C",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function Cze(e,t,r,n,i,a,o,s,l,u){if(u)M=u[0],T=u[1],p=u[2],k=u[3];else{var c=lY(e,t,-i);e=c.x,t=c.y,c=lY(s,l,-i),s=c.x,l=c.y;var f=(e-s)/2,h=(t-l)/2,d=f*f/(r*r)+h*h/(n*n);d>1&&(d=Math.sqrt(d),r=d*r,n=d*n);var v=r*r,m=n*n,b=(a==o?-1:1)*Math.sqrt(Math.abs((v*m-v*h*h-m*f*f)/(v*h*h+m*f*f)));b==1/0&&(b=1);var p=b*r*h/n+(e+s)/2,k=b*-n*f/r+(t+l)/2,M=Math.asin(((t-k)/n).toFixed(9)),T=Math.asin(((l-k)/n).toFixed(9));M=eT&&(M=M-ow*2),!o&&T>M&&(T=T-ow*2)}if(Math.abs(T-M)>Eze){var L=T,x=s,C=l;T=M+Eze*(o&&T>M?1:-1),s=p+r*Math.cos(T),l=k+n*Math.sin(T);var S=Cze(s,l,r,n,i,0,o,x,C,[T,L,p,k])}var g=Math.tan((T-M)/4),P=4/3*r*g,E=4/3*n*g,z=[2*e-(e+P*Math.sin(M)),2*t-(t-E*Math.cos(M)),s+P*Math.sin(T),l-E*Math.cos(T),s,l];if(u)return z;S&&(z=z.concat(S));for(var q=0;q{var eqt=aY(),tqt=Ize(),rqt={M:"moveTo",C:"bezierCurveTo"};Rze.exports=function(e,t){e.beginPath(),tqt(eqt(t)).forEach(function(r){var n=r[0],i=r.slice(1);e[rqt[n]].apply(e,i)}),e.closePath()}});var Oze=ye((kyr,qze)=>{"use strict";var iqt=ik();qze.exports=nqt;var xk=1e20;function nqt(e,t){t||(t={});var r=t.cutoff==null?.25:t.cutoff,n=t.radius==null?8:t.radius,i=t.channel||0,a,o,s,l,u,c,f,h,d,v,m;if(ArrayBuffer.isView(e)||Array.isArray(e)){if(!t.width||!t.height)throw Error("For raw data width and height should be provided by options");a=t.width,o=t.height,l=e,t.stride?c=t.stride:c=Math.floor(e.length/a/o)}else window.HTMLCanvasElement&&e instanceof window.HTMLCanvasElement?(h=e,f=h.getContext("2d"),a=h.width,o=h.height,d=f.getImageData(0,0,a,o),l=d.data,c=4):window.CanvasRenderingContext2D&&e instanceof window.CanvasRenderingContext2D?(h=e.canvas,f=e,a=h.width,o=h.height,d=f.getImageData(0,0,a,o),l=d.data,c=4):window.ImageData&&e instanceof window.ImageData&&(d=e,a=e.width,o=e.height,l=d.data,c=4);if(s=Math.max(a,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(u=l,l=Array(a*o),v=0,m=u.length;v{"use strict";var aqt=Mze(),oqt=aM(),sqt=Dze(),lqt=sY(),uqt=Oze(),uY=document.createElement("canvas"),dp=uY.getContext("2d");Bze.exports=cqt;function cqt(e,t){if(!lqt(e))throw Error("Argument should be valid svg path string");t||(t={});var r,n;t.shape?(r=t.shape[0],n=t.shape[1]):(r=uY.width=t.w||t.width||200,n=uY.height=t.h||t.height||200);var i=Math.min(r,n),a=t.stroke||0,o=t.viewbox||t.viewBox||aqt(e),s=[r/(o[2]-o[0]),n/(o[3]-o[1])],l=Math.min(s[0]||0,s[1]||0)/2;if(dp.fillStyle="black",dp.fillRect(0,0,r,n),dp.fillStyle="white",a&&(typeof a!="number"&&(a=1),a>0?dp.strokeStyle="white":dp.strokeStyle="black",dp.lineWidth=Math.abs(a)),dp.translate(r*.5,n*.5),dp.scale(l,l),fqt()){var u=new Path2D(e);dp.fill(u),a&&dp.stroke(u)}else{var c=oqt(e);sqt(dp,c),dp.fill(),a&&dp.stroke()}dp.setTransform(1,0,0,1,0,0);var f=uqt(dp,{cutoff:t.cutoff!=null?t.cutoff:.5,radius:t.radius!=null?t.radius:i*.5});return f}var ez;function fqt(){if(ez!=null)return ez;var e=document.createElement("canvas").getContext("2d");if(e.canvas.width=e.canvas.height=1,!window.Path2D)return ez=!1;var t=new Path2D("M0,0h1v1h-1v-1Z");e.fillStyle="black",e.fill(t);var r=e.getImageData(0,0,1,1);return ez=r&&r.data&&r.data[3]===255}});var lw=ye((Lyr,Jze)=>{"use strict";var rz=Eo(),hqt=Nze(),tz=sx(),dqt=Oa(),f5=Pr(),bh=f5.isArrayOrTypedArray,u5=So(),Uze=df(),Vze=a1().formatColor,c5=Ru(),vqt=B3(),fY=ZF(),bk=gx(),pqt=X1().DESELECTDIM,Gze={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},gqt=ip().appendArrayPointValue;function mqt(e,t){var r,n={marker:void 0,markerSel:void 0,markerUnsel:void 0,line:void 0,fill:void 0,errorX:void 0,errorY:void 0,text:void 0,textSel:void 0,textUnsel:void 0},i=e._context.plotGlPixelRatio;if(t.visible!==!0)return n;if(c5.hasText(t)&&(n.text=Kze(e,t),n.textSel=jze(e,t,t.selected),n.textUnsel=jze(e,t,t.unselected)),c5.hasMarkers(t)&&(n.marker=dY(e,t),n.markerSel=hY(e,t,t.selected),n.markerUnsel=hY(e,t,t.unselected),!t.unselected&&bh(t.marker.opacity))){var a=t.marker.opacity;for(n.markerUnsel.opacity=new Array(a.length),r=0;r500?"bold":"normal":e}function dY(e,t){var r=t._length,n=t.marker,i={},a,o=bh(n.symbol),s=bh(n.angle),l=bh(n.color),u=bh(n.line.color),c=bh(n.opacity),f=bh(n.size),h=bh(n.line.width),d;if(o||(d=fY.isOpenSymbol(n.symbol)),o||l||u||c||s){i.symbols=new Array(r),i.angles=new Array(r),i.colors=new Array(r),i.borderColors=new Array(r);var v=n.symbol,m=n.angle,b=Vze(n,n.opacity,r),p=Vze(n.line,n.opacity,r);if(!bh(p[0])){var k=p;for(p=Array(r),a=0;abk.TOO_MANY_POINTS||c5.hasMarkers(t)?"rect":"round";if(u&&t.connectgaps){var f=a[0],h=a[1];for(o=0;o1?l[o]:l[0]:l,d=bh(u)?u.length>1?u[o]:u[0]:u,v=Gze[h],m=Gze[d],b=c?c/.8+1:0,p=-m*b-m*.5;a.offset[o]=[v*b/f,p/f]}}return a}Jze.exports={style:mqt,markerStyle:dY,markerSelection:hY,linePositions:_qt,errorBarPositions:xqt,textPosition:bqt}});var vY=ye((Pyr,$ze)=>{"use strict";var iz=Pr();$ze.exports=function(t,r){var n=r._scene,i={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},a={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return r._scene||(n=r._scene={},n.init=function(){iz.extendFlat(n,a,i)},n.init(),n.update=function(s){var l=iz.repeat(s,n.count);if(n.fill2d&&n.fill2d.update(l),n.scatter2d&&n.scatter2d.update(l),n.line2d&&n.line2d.update(l),n.error2d&&n.error2d.update(l.concat(l)),n.select2d&&n.select2d.update(l),n.glText)for(var u=0;u{"use strict";var wqt=KF(),h5=Pr(),Qze=df(),Tqt=Mg().findExtremes,e7e=zg(),pY=O0(),Aqt=pY.calcMarkerSize,Sqt=pY.calcAxisExpansion,Mqt=pY.setFirstScatter,Eqt=z0(),d5=lw(),kqt=vY(),t7e=fs().BADNUM,Cqt=gx().TOO_MANY_POINTS;i7e.exports=function(t,r){var n=t._fullLayout,i=r._xA=Qze.getFromId(t,r.xaxis,"x"),a=r._yA=Qze.getFromId(t,r.yaxis,"y"),o=n._plots[r.xaxis+r.yaxis],s=r._length,l=s>=Cqt,u=s*2,c={},f,h=i.makeCalcdata(r,"x"),d=a.makeCalcdata(r,"y"),v=e7e(r,i,"x",h),m=e7e(r,a,"y",d),b=v.vals,p=m.vals;r._x=b,r._y=p,r.xperiodalignment&&(r._origX=h,r._xStarts=v.starts,r._xEnds=v.ends),r.yperiodalignment&&(r._origY=d,r._yStarts=m.starts,r._yEnds=m.ends);var k=new Array(u),M=new Array(s);for(f=0;f1&&h5.extendFlat(o.line,d5.linePositions(e,r,n)),o.errorX||o.errorY){var s=d5.errorBarPositions(e,r,n,i,a);o.errorX&&h5.extendFlat(o.errorX,s.x),o.errorY&&h5.extendFlat(o.errorY,s.y)}return o.text&&(h5.extendFlat(o.text,{positions:n},d5.textPosition(e,r,o.text,o.marker)),h5.extendFlat(o.textSel,{positions:n},d5.textPosition(e,r,o.text,o.markerSel)),h5.extendFlat(o.textUnsel,{positions:n},d5.textPosition(e,r,o.text,o.markerUnsel))),o}});var gY=ye((Ryr,o7e)=>{"use strict";var a7e=Pr(),Pqt=ka(),Iqt=X1().DESELECTDIM;function Rqt(e){var t=e[0],r=t.trace,n=t.t,i=n._scene,a=n.index,o=i.selectBatch[a],s=i.unselectBatch[a],l=i.textOptions[a],u=i.textSelectedOptions[a]||{},c=i.textUnselectedOptions[a]||{},f=a7e.extendFlat({},l),h,d;if(o.length||s.length){var v=u.color,m=c.color,b=l.color,p=a7e.isArrayOrTypedArray(b);for(f.color=new Array(r._length),h=0;h{"use strict";var s7e=Ru(),Dqt=gY().styleTextSelection;l7e.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l=n[0].t,u=s._length,c=l.x,f=l.y,h=l._scene,d=l.index;if(!h)return o;var v=s7e.hasText(s),m=s7e.hasMarkers(s),b=!m&&!v;if(s.visible!==!0||b)return o;var p=[],k=[];if(r!==!1&&!r.degenerate)for(var M=0;M{"use strict";var Fqt=XF();u7e.exports={moduleType:"trace",name:"scattergl",basePlotModule:mh(),categories:["gl","regl","cartesian","symbols","errorBarsOK","showLegend","scatter-like"],attributes:mk(),supplyDefaults:jFe(),crossTraceDefaults:hU(),colorbar:Qd(),formatLabels:XFe(),calc:n7e(),hoverPoints:Fqt.hoverPoints,selectPoints:mY(),meta:{}}});var h7e=ye((zyr,az)=>{"use strict";var nz=ik();az.exports=f7e;az.exports.to=f7e;az.exports.from=zqt;function f7e(e,t){t==null&&(t=!0);var r=e[0],n=e[1],i=e[2],a=e[3];a==null&&(a=t?1:255),t&&(r*=255,n*=255,i*=255,a*=255),r=nz(r,0,255)&255,n=nz(n,0,255)&255,i=nz(i,0,255)&255,a=nz(a,0,255)&255;var o=r*16777216+(n<<16)+(i<<8)+a;return o}function zqt(e,t){e=+e;var r=e>>>24,n=(e&16711680)>>>16,i=(e&65280)>>>8,a=e&255;return t===!1?[r,n,i,a]:[r/255,n/255,i/255,a/255]}});var Nh=ye((qyr,v7e)=>{"use strict";var d7e=Object.getOwnPropertySymbols,qqt=Object.prototype.hasOwnProperty,Oqt=Object.prototype.propertyIsEnumerable;function Bqt(e){if(e==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function Nqt(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de",Object.getOwnPropertyNames(e)[0]==="5")return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;var n=Object.getOwnPropertyNames(t).map(function(a){return t[a]});if(n.join("")!=="0123456789")return!1;var i={};return"abcdefghijklmnopqrst".split("").forEach(function(a){i[a]=a}),Object.keys(Object.assign({},i)).join("")==="abcdefghijklmnopqrst"}catch(a){return!1}}v7e.exports=Nqt()?Object.assign:function(e,t){for(var r,n=Bqt(e),i,a=1;a{p7e.exports=function(e){typeof e=="string"&&(e=[e]);for(var t=[].slice.call(arguments,1),r=[],n=0;n{"use strict";m7e.exports=function(t,r,n){Array.isArray(n)||(n=[].slice.call(arguments,2));for(var i=0,a=n.length;i{"use strict";y7e.exports=typeof navigator!="undefined"&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))});var oz=ye((Uyr,v5)=>{"use strict";v5.exports=wk;v5.exports.float32=v5.exports.float=wk;v5.exports.fract32=v5.exports.fract=Uqt;var x7e=new Float32Array(1);function Uqt(e,t){if(e.length){if(e instanceof Float32Array)return new Float32Array(e.length);t instanceof Float32Array||(t=wk(e));for(var r=0,n=t.length;r{"use strict";function Vqt(e,t){var r=e==null?null:typeof Symbol!="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,s=[],l=!0,u=!1;try{if(a=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(c){u=!0,i=c}finally{try{if(!l&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}function Gqt(e,t){return Wqt(e)||Vqt(e,t)||w7e(e,t)||Yqt()}function Hqt(e){return jqt(e)||Xqt(e)||w7e(e)||Zqt()}function jqt(e){if(Array.isArray(e))return _Y(e)}function Wqt(e){if(Array.isArray(e))return e}function Xqt(e){if(typeof Symbol!="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function w7e(e,t){if(e){if(typeof e=="string")return _Y(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _Y(e,t)}}function _Y(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);rhe&&Pe>0){var le=(ye[Pe][0]-he)/(ye[Pe][0]-ye[Pe-1][0]);return ye[Pe][1]*(1-le)+le*ye[Pe-1][1]}}return 1}var B=[0,0,0],Y={showSurface:!1,showContour:!1,projections:[A.slice(),A.slice(),A.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function X(he,ye){var Pe,le,ze,Xe=ye.axes&&ye.axes.lastCubeProps.axis||B,vt=ye.showSurface,st=ye.showContour;for(Pe=0;Pe<3;++Pe)for(vt=vt||ye.surfaceProject[Pe],le=0;le<3;++le)st=st||ye.contourProject[Pe][le];for(Pe=0;Pe<3;++Pe){var Oe=Y.projections[Pe];for(le=0;le<16;++le)Oe[le]=0;for(le=0;le<4;++le)Oe[5*le]=1;Oe[5*Pe]=0,Oe[12+Pe]=ye.axesBounds[+(Xe[Pe]>0)][Pe],g(Oe,he.model,Oe);var qe=Y.clipBounds[Pe];for(ze=0;ze<2;++ze)for(le=0;le<3;++le)qe[ze][le]=he.clipBounds[ze][le];qe[0][Pe]=-1e8,qe[1][Pe]=1e8}return Y.showSurface=vt,Y.showContour=st,Y}var te={model:A,view:A,projection:A,inverseModel:A.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=A.slice(),ue=[1,0,0,0,1,0,0,0,1];function re(he,ye){he=he||{};var Pe=this.gl;Pe.disable(Pe.CULL_FACE),this._colorMap.bind(0);var le=te;le.model=he.model||A,le.view=he.view||A,le.projection=he.projection||A,le.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],le.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],le.objectOffset=this.objectOffset,le.contourColor=this.contourColor[0],le.inverseModel=E(le.inverseModel,le.model);for(var ze=0;ze<2;++ze)for(var Xe=le.clipBounds[ze],vt=0;vt<3;++vt)Xe[vt]=Math.min(Math.max(this.clipBounds[ze][vt],-1e8),1e8);le.kambient=this.ambientLight,le.kdiffuse=this.diffuseLight,le.kspecular=this.specularLight,le.roughness=this.roughness,le.fresnel=this.fresnel,le.opacity=this.opacity,le.height=0,le.permutation=ue,le.vertexColor=this.vertexColor;var st=se;for(g(st,le.view,le.model),g(st,le.projection,st),E(st,st),ze=0;ze<3;++ze)le.eyePosition[ze]=st[12+ze]/st[15];var Oe=st[15];for(ze=0;ze<3;++ze)Oe+=this.lightPosition[ze]*st[4*ze+3];for(ze=0;ze<3;++ze){var qe=st[12+ze];for(vt=0;vt<3;++vt)qe+=st[4*vt+ze]*this.lightPosition[vt];le.lightPosition[ze]=qe/Oe}var mt=X(le,this);if(mt.showSurface){for(this._shader.bind(),this._shader.uniforms=le,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(Pe.TRIANGLES,this._vertexCount),ze=0;ze<3;++ze)!this.surfaceProject[ze]||!this.vertexCount||(this._shader.uniforms.model=mt.projections[ze],this._shader.uniforms.clipBounds=mt.clipBounds[ze],this._vao.draw(Pe.TRIANGLES,this._vertexCount));this._vao.unbind()}if(mt.showContour){var lt=this._contourShader;le.kambient=1,le.kdiffuse=0,le.kspecular=0,le.opacity=1,lt.bind(),lt.uniforms=le;var Ie=this._contourVAO;for(Ie.bind(),ze=0;ze<3;++ze)for(lt.uniforms.permutation=D[ze],Pe.lineWidth(this.contourWidth[ze]*this.pixelRatio),vt=0;vt>4)/16)/255,ze=Math.floor(le),Xe=le-ze,vt=ye[1]*(he.value[1]+(he.value[2]&15)/16)/255,st=Math.floor(vt),Oe=vt-st;ze+=1,st+=1;var qe=Pe.position;qe[0]=qe[1]=qe[2]=0;for(var mt=0;mt<2;++mt)for(var lt=mt?Xe:1-Xe,Ie=0;Ie<2;++Ie)for(var de=Ie?Oe:1-Oe,Ee=ze+mt,Ue=st+Ie,ge=lt*de,Ge=0;Ge<3;++Ge)qe[Ge]+=this._field[Ge].get(Ee,Ue)*ge;for(var tt=this._pickResult.level,ft=0;ft<3;++ft)if(tt[ft]=M.le(this.contourLevels[ft],qe[ft]),tt[ft]<0)this.contourLevels[ft].length>0&&(tt[ft]=0);else if(tt[ft]Math.abs(Qe-qe[ft])&&(tt[ft]+=1)}for(Pe.index[0]=Xe<.5?ze:ze+1,Pe.index[1]=Oe<.5?st:st+1,Pe.uv[0]=le/ye[0],Pe.uv[1]=vt/ye[1],Ge=0;Ge<3;++Ge)Pe.dataCoordinate[Ge]=this._field[Ge].get(Pe.index[0],Pe.index[1]);return Pe},O.padField=function(he,ye){var Pe=ye.shape.slice(),le=he.shape.slice();v.assign(he.lo(1,1).hi(Pe[0],Pe[1]),ye),v.assign(he.lo(1).hi(Pe[0],1),ye.hi(Pe[0],1)),v.assign(he.lo(1,le[1]-1).hi(Pe[0],1),ye.lo(0,Pe[1]-1).hi(Pe[0],1)),v.assign(he.lo(0,1).hi(1,Pe[1]),ye.hi(1)),v.assign(he.lo(le[0]-1,1).hi(1,Pe[1]),ye.lo(Pe[0]-1)),he.set(0,0,ye.get(0,0)),he.set(0,le[1]-1,ye.get(0,Pe[1]-1)),he.set(le[0]-1,0,ye.get(Pe[0]-1,0)),he.set(le[0]-1,le[1]-1,ye.get(Pe[0]-1,Pe[1]-1))};function fe(he,ye){return Array.isArray(he)?[ye(he[0]),ye(he[1]),ye(he[2])]:[ye(he),ye(he),ye(he)]}function ce(he){return Array.isArray(he)?he.length===3?[he[0],he[1],he[2],1]:[he[0],he[1],he[2],he[3]]:[0,0,0,1]}function oe(he){if(Array.isArray(he)){if(Array.isArray(he))return[ce(he[0]),ce(he[1]),ce(he[2])];var ye=ce(he);return[ye.slice(),ye.slice(),ye.slice()]}}O.update=function(he){he=he||{},this.objectOffset=he.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in he&&(this.contourWidth=fe(he.contourWidth,Number)),"showContour"in he&&(this.showContour=fe(he.showContour,Boolean)),"showSurface"in he&&(this.showSurface=!!he.showSurface),"contourTint"in he&&(this.contourTint=fe(he.contourTint,Boolean)),"contourColor"in he&&(this.contourColor=oe(he.contourColor)),"contourProject"in he&&(this.contourProject=fe(he.contourProject,function(Hi){return fe(Hi,Boolean)})),"surfaceProject"in he&&(this.surfaceProject=he.surfaceProject),"dynamicColor"in he&&(this.dynamicColor=oe(he.dynamicColor)),"dynamicTint"in he&&(this.dynamicTint=fe(he.dynamicTint,Number)),"dynamicWidth"in he&&(this.dynamicWidth=fe(he.dynamicWidth,Number)),"opacity"in he&&(this.opacity=he.opacity),"opacityscale"in he&&(this.opacityscale=he.opacityscale),"colorBounds"in he&&(this.colorBounds=he.colorBounds),"vertexColor"in he&&(this.vertexColor=he.vertexColor?1:0),"colormap"in he&&this._colorMap.setPixels(this.genColormap(he.colormap,this.opacityscale));var ye=he.field||he.coords&&he.coords[2]||null,Pe=!1;if(ye||(this._field[2].shape[0]||this._field[2].shape[2]?ye=this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):ye=this._field[2].hi(0,0)),"field"in he||"coords"in he){var le=(ye.shape[0]+2)*(ye.shape[1]+2);le>this._field[2].data.length&&(f.freeFloat(this._field[2].data),this._field[2].data=f.mallocFloat(s.nextPow2(le))),this._field[2]=m(this._field[2].data,[ye.shape[0]+2,ye.shape[1]+2]),this.padField(this._field[2],ye),this.shape=ye.shape.slice();for(var ze=this.shape,Xe=0;Xe<2;++Xe)this._field[2].size>this._field[Xe].data.length&&(f.freeFloat(this._field[Xe].data),this._field[Xe].data=f.mallocFloat(this._field[2].size)),this._field[Xe]=m(this._field[Xe].data,[ze[0]+2,ze[1]+2]);if(he.coords){var vt=he.coords;if(!Array.isArray(vt)||vt.length!==3)throw new Error("gl-surface: invalid coordinates for x/y");for(Xe=0;Xe<2;++Xe){var st=vt[Xe];for(Ie=0;Ie<2;++Ie)if(st.shape[Ie]!==ze[Ie])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[Xe],st)}}else if(he.ticks){var Oe=he.ticks;if(!Array.isArray(Oe)||Oe.length!==2)throw new Error("gl-surface: invalid ticks");for(Xe=0;Xe<2;++Xe){var qe=Oe[Xe];if((Array.isArray(qe)||qe.length)&&(qe=m(qe)),qe.shape[0]!==ze[Xe])throw new Error("gl-surface: invalid tick length");var mt=m(qe.data,ze);mt.stride[Xe]=qe.stride[0],mt.stride[Xe^1]=0,this.padField(this._field[Xe],mt)}}else{for(Xe=0;Xe<2;++Xe){var lt=[0,0];lt[Xe]=1,this._field[Xe]=m(this._field[Xe].data,[ze[0]+2,ze[1]+2],lt,0)}this._field[0].set(0,0,0);for(var Ie=0;Ie0){for(var ni=0;ni<5;++ni)Nr.pop();Ae-=1}continue e}}}Nn.push(Ae)}this._contourOffsets[Er]=vn,this._contourCounts[Er]=Nn}var ao=f.mallocFloat(Nr.length);for(Xe=0;Xez||P<0||P>z)throw new Error("gl-texture2d: Invalid texture size");return C._shape=[A,P],C.bind(),D.texImage2D(D.TEXTURE_2D,0,C.format,A,P,0,C.format,C.type,null),C._mipLevels=[0],C}function g(C,A,P,D,z,q){this.gl=C,this.handle=A,this.format=z,this.type=q,this._shape=[P,D],this._mipLevels=[0],this._magFilter=C.NEAREST,this._minFilter=C.NEAREST,this._wrapS=C.CLAMP_TO_EDGE,this._wrapT=C.CLAMP_TO_EDGE,this._anisoSamples=1;var U=this,O=[this._wrapS,this._wrapT];Object.defineProperties(O,[{get:function(){return U._wrapS},set:function(B){return U.wrapS=B}},{get:function(){return U._wrapT},set:function(B){return U.wrapT=B}}]),this._wrapVector=O;var R=[this._shape[0],this._shape[1]];Object.defineProperties(R,[{get:function(){return U._shape[0]},set:function(B){return U.width=B}},{get:function(){return U._shape[1]},set:function(B){return U.height=B}}]),this._shapeVector=R}var E=g.prototype;Object.defineProperties(E,{minFilter:{get:function(){return this._minFilter},set:function(C){this.bind();var A=this.gl;if(this.type===A.FLOAT&&c.indexOf(C)>=0&&(A.getExtension("OES_texture_float_linear")||(C=A.NEAREST)),f.indexOf(C)<0)throw new Error("gl-texture2d: Unknown filter mode "+C);return A.texParameteri(A.TEXTURE_2D,A.TEXTURE_MIN_FILTER,C),this._minFilter=C}},magFilter:{get:function(){return this._magFilter},set:function(C){this.bind();var A=this.gl;if(this.type===A.FLOAT&&c.indexOf(C)>=0&&(A.getExtension("OES_texture_float_linear")||(C=A.NEAREST)),f.indexOf(C)<0)throw new Error("gl-texture2d: Unknown filter mode "+C);return A.texParameteri(A.TEXTURE_2D,A.TEXTURE_MAG_FILTER,C),this._magFilter=C}},mipSamples:{get:function(){return this._anisoSamples},set:function(C){var A=this._anisoSamples;if(this._anisoSamples=Math.max(C,1)|0,A!==this._anisoSamples){var P=this.gl.getExtension("EXT_texture_filter_anisotropic");P&&this.gl.texParameterf(this.gl.TEXTURE_2D,P.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(C){if(this.bind(),h.indexOf(C)<0)throw new Error("gl-texture2d: Unknown wrap mode "+C);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,C),this._wrapS=C}},wrapT:{get:function(){return this._wrapT},set:function(C){if(this.bind(),h.indexOf(C)<0)throw new Error("gl-texture2d: Unknown wrap mode "+C);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,C),this._wrapT=C}},wrap:{get:function(){return this._wrapVector},set:function(C){if(Array.isArray(C)||(C=[C,C]),C.length!==2)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var A=0;A<2;++A)if(h.indexOf(C[A])<0)throw new Error("gl-texture2d: Unknown wrap mode "+C);this._wrapS=C[0],this._wrapT=C[1];var P=this.gl;return this.bind(),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_WRAP_S,this._wrapS),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_WRAP_T,this._wrapT),C}},shape:{get:function(){return this._shapeVector},set:function(C){if(!Array.isArray(C))C=[C|0,C|0];else if(C.length!==2)throw new Error("gl-texture2d: Invalid texture shape");return x(this,C[0]|0,C[1]|0),[C[0]|0,C[1]|0]}},width:{get:function(){return this._shape[0]},set:function(C){return C=C|0,x(this,C,this._shape[1]),C}},height:{get:function(){return this._shape[1]},set:function(C){return C=C|0,x(this,this._shape[0],C),C}}}),E.bind=function(C){var A=this.gl;return C!==void 0&&A.activeTexture(A.TEXTURE0+(C|0)),A.bindTexture(A.TEXTURE_2D,this.handle),C!==void 0?C|0:A.getParameter(A.ACTIVE_TEXTURE)-A.TEXTURE0},E.dispose=function(){this.gl.deleteTexture(this.handle)},E.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var C=Math.min(this._shape[0],this._shape[1]),A=0;C>0;++A,C>>>=1)this._mipLevels.indexOf(A)<0&&this._mipLevels.push(A)},E.setPixels=function(C,A,P,D){var z=this.gl;this.bind(),Array.isArray(A)?(D=P,P=A[1]|0,A=A[0]|0):(A=A||0,P=P||0),D=D||0;var q=d(C)?C:C.raw;if(q){var U=this._mipLevels.indexOf(D)<0;U?(z.texImage2D(z.TEXTURE_2D,0,this.format,this.format,this.type,q),this._mipLevels.push(D)):z.texSubImage2D(z.TEXTURE_2D,D,A,P,this.format,this.type,q)}else if(C.shape&&C.stride&&C.data){if(C.shape.length<2||A+C.shape[1]>this._shape[1]>>>D||P+C.shape[0]>this._shape[0]>>>D||A<0||P<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");w(z,A,P,D,this.format,this.type,this._mipLevels,C)}else throw new Error("gl-texture2d: Unsupported data type")};function M(C,A){return C.length===3?A[2]===1&&A[1]===C[0]*C[2]&&A[0]===C[2]:A[0]===1&&A[1]===C[0]}function w(C,A,P,D,z,q,U,O){var R=O.dtype,B=O.shape.slice();if(B.length<2||B.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var Y=0,X=0,te=M(B,O.stride.slice());R==="float32"?Y=C.FLOAT:R==="float64"?(Y=C.FLOAT,te=!1,R="float32"):R==="uint8"?Y=C.UNSIGNED_BYTE:(Y=C.UNSIGNED_BYTE,te=!1,R="uint8");var se=1;if(B.length===2)X=C.LUMINANCE,B=[B[0],B[1],1],O=s(O.data,B,[O.stride[0],O.stride[1],1],O.offset);else if(B.length===3){if(B[2]===1)X=C.ALPHA;else if(B[2]===2)X=C.LUMINANCE_ALPHA;else if(B[2]===3)X=C.RGB;else if(B[2]===4)X=C.RGBA;else throw new Error("gl-texture2d: Invalid shape for pixel coords");se=B[2]}else throw new Error("gl-texture2d: Invalid shape for texture");if((X===C.LUMINANCE||X===C.ALPHA)&&(z===C.LUMINANCE||z===C.ALPHA)&&(X=z),X!==z)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var ue=O.size,re=U.indexOf(D)<0;if(re&&U.push(D),Y===q&&te)O.offset===0&&O.data.length===ue?re?C.texImage2D(C.TEXTURE_2D,D,z,B[0],B[1],0,z,q,O.data):C.texSubImage2D(C.TEXTURE_2D,D,A,P,B[0],B[1],z,q,O.data):re?C.texImage2D(C.TEXTURE_2D,D,z,B[0],B[1],0,z,q,O.data.subarray(O.offset,O.offset+ue)):C.texSubImage2D(C.TEXTURE_2D,D,A,P,B[0],B[1],z,q,O.data.subarray(O.offset,O.offset+ue));else{var j;q===C.FLOAT?j=u.mallocFloat32(ue):j=u.mallocUint8(ue);var fe=s(j,B,[B[2],B[2]*B[0],1]);Y===C.FLOAT&&q===C.UNSIGNED_BYTE?m(fe,O):l.assign(fe,O),re?C.texImage2D(C.TEXTURE_2D,D,z,B[0],B[1],0,z,q,j.subarray(0,ue)):C.texSubImage2D(C.TEXTURE_2D,D,A,P,B[0],B[1],z,q,j.subarray(0,ue)),q===C.FLOAT?u.freeFloat32(j):u.freeUint8(j)}}function k(C){var A=C.createTexture();return C.bindTexture(C.TEXTURE_2D,A),C.texParameteri(C.TEXTURE_2D,C.TEXTURE_MIN_FILTER,C.NEAREST),C.texParameteri(C.TEXTURE_2D,C.TEXTURE_MAG_FILTER,C.NEAREST),C.texParameteri(C.TEXTURE_2D,C.TEXTURE_WRAP_S,C.CLAMP_TO_EDGE),C.texParameteri(C.TEXTURE_2D,C.TEXTURE_WRAP_T,C.CLAMP_TO_EDGE),A}function y(C,A,P,D,z){var q=C.getParameter(C.MAX_TEXTURE_SIZE);if(A<0||A>q||P<0||P>q)throw new Error("gl-texture2d: Invalid texture shape");if(z===C.FLOAT&&!C.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var U=k(C);return C.texImage2D(C.TEXTURE_2D,0,D,A,P,0,D,z,null),new g(C,U,A,P,D,z)}function S(C,A,P,D,z,q){var U=k(C);return C.texImage2D(C.TEXTURE_2D,0,z,z,q,A),new g(C,U,P,D,z,q)}function T(C,A){var P=A.dtype,D=A.shape.slice(),z=C.getParameter(C.MAX_TEXTURE_SIZE);if(D[0]<0||D[0]>z||D[1]<0||D[1]>z)throw new Error("gl-texture2d: Invalid texture size");var q=M(D,A.stride.slice()),U=0;P==="float32"?U=C.FLOAT:P==="float64"?(U=C.FLOAT,q=!1,P="float32"):P==="uint8"?U=C.UNSIGNED_BYTE:(U=C.UNSIGNED_BYTE,q=!1,P="uint8");var O=0;if(D.length===2)O=C.LUMINANCE,D=[D[0],D[1],1],A=s(A.data,D,[A.stride[0],A.stride[1],1],A.offset);else if(D.length===3)if(D[2]===1)O=C.ALPHA;else if(D[2]===2)O=C.LUMINANCE_ALPHA;else if(D[2]===3)O=C.RGB;else if(D[2]===4)O=C.RGBA;else throw new Error("gl-texture2d: Invalid shape for pixel coords");else throw new Error("gl-texture2d: Invalid shape for texture");U===C.FLOAT&&!C.getExtension("OES_texture_float")&&(U=C.UNSIGNED_BYTE,q=!1);var R,B,Y=A.size;if(q)A.offset===0&&A.data.length===Y?R=A.data:R=A.data.subarray(A.offset,A.offset+Y);else{var X=[D[2],D[2]*D[0],1];B=u.malloc(Y,P);var te=s(B,D,X,0);(P==="float32"||P==="float64")&&U===C.UNSIGNED_BYTE?m(te,A):l.assign(te,A),R=B.subarray(0,Y)}var se=k(C);return C.texImage2D(C.TEXTURE_2D,0,O,D[0],D[1],0,O,U,R),q||u.free(B),new g(C,se,D[0],D[1],O,U)}function p(C){if(arguments.length<=1)throw new Error("gl-texture2d: Missing arguments for texture2d constructor");if(c||v(C),typeof arguments[1]=="number")return y(C,arguments[1],arguments[2],arguments[3]||C.RGBA,arguments[4]||C.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return y(C,arguments[1][0]|0,arguments[1][1]|0,arguments[2]||C.RGBA,arguments[3]||C.UNSIGNED_BYTE);if(typeof arguments[1]=="object"){var A=arguments[1],P=d(A)?A:A.raw;if(P)return S(C,P,A.width|0,A.height|0,arguments[2]||C.RGBA,arguments[3]||C.UNSIGNED_BYTE);if(A.shape&&A.data&&A.stride)return T(C,A)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")}}),1433:(function(a){"use strict";function i(o,s,l){s?s.bind():o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,null);var u=o.getParameter(o.MAX_VERTEX_ATTRIBS)|0;if(l){if(l.length>u)throw new Error("gl-vao: Too many vertex attributes");for(var c=0;c1?0:Math.acos(m)}}),9226:(function(a){a.exports=i;function i(o,s){return o[0]=Math.ceil(s[0]),o[1]=Math.ceil(s[1]),o[2]=Math.ceil(s[2]),o}}),3126:(function(a){a.exports=i;function i(o){var s=new Float32Array(3);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s}}),3990:(function(a){a.exports=i;function i(o,s){return o[0]=s[0],o[1]=s[1],o[2]=s[2],o}}),1091:(function(a){a.exports=i;function i(){var o=new Float32Array(3);return o[0]=0,o[1]=0,o[2]=0,o}}),5911:(function(a){a.exports=i;function i(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],v=l[1],d=l[2];return o[0]=c*d-f*v,o[1]=f*h-u*d,o[2]=u*v-c*h,o}}),5455:(function(a,i,o){a.exports=o(7056)}),7056:(function(a){a.exports=i;function i(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2];return Math.sqrt(l*l+u*u+c*c)}}),4008:(function(a,i,o){a.exports=o(6690)}),6690:(function(a){a.exports=i;function i(o,s,l){return o[0]=s[0]/l[0],o[1]=s[1]/l[1],o[2]=s[2]/l[2],o}}),244:(function(a){a.exports=i;function i(o,s){return o[0]*s[0]+o[1]*s[1]+o[2]*s[2]}}),2613:(function(a){a.exports=1e-6}),9922:(function(a,i,o){a.exports=l;var s=o(2613);function l(u,c){var f=u[0],h=u[1],v=u[2],d=c[0],m=c[1],x=c[2];return Math.abs(f-d)<=s*Math.max(1,Math.abs(f),Math.abs(d))&&Math.abs(h-m)<=s*Math.max(1,Math.abs(h),Math.abs(m))&&Math.abs(v-x)<=s*Math.max(1,Math.abs(v),Math.abs(x))}}),9265:(function(a){a.exports=i;function i(o,s){return o[0]===s[0]&&o[1]===s[1]&&o[2]===s[2]}}),2681:(function(a){a.exports=i;function i(o,s){return o[0]=Math.floor(s[0]),o[1]=Math.floor(s[1]),o[2]=Math.floor(s[2]),o}}),5137:(function(a,i,o){a.exports=l;var s=o(1091)();function l(u,c,f,h,v,d){var m,x;for(c||(c=3),f||(f=0),h?x=Math.min(h*c+f,u.length):x=u.length,m=f;m0&&(f=1/Math.sqrt(f),o[0]=s[0]*f,o[1]=s[1]*f,o[2]=s[2]*f),o}}),7636:(function(a){a.exports=i;function i(o,s){s=s||1;var l=Math.random()*2*Math.PI,u=Math.random()*2-1,c=Math.sqrt(1-u*u)*s;return o[0]=Math.cos(l)*c,o[1]=Math.sin(l)*c,o[2]=u*s,o}}),6894:(function(a){a.exports=i;function i(o,s,l,u){var c=l[1],f=l[2],h=s[1]-c,v=s[2]-f,d=Math.sin(u),m=Math.cos(u);return o[0]=s[0],o[1]=c+h*m-v*d,o[2]=f+h*d+v*m,o}}),109:(function(a){a.exports=i;function i(o,s,l,u){var c=l[0],f=l[2],h=s[0]-c,v=s[2]-f,d=Math.sin(u),m=Math.cos(u);return o[0]=c+v*d+h*m,o[1]=s[1],o[2]=f+v*m-h*d,o}}),8692:(function(a){a.exports=i;function i(o,s,l,u){var c=l[0],f=l[1],h=s[0]-c,v=s[1]-f,d=Math.sin(u),m=Math.cos(u);return o[0]=c+h*m-v*d,o[1]=f+h*d+v*m,o[2]=s[2],o}}),2447:(function(a){a.exports=i;function i(o,s){return o[0]=Math.round(s[0]),o[1]=Math.round(s[1]),o[2]=Math.round(s[2]),o}}),6621:(function(a){a.exports=i;function i(o,s,l){return o[0]=s[0]*l,o[1]=s[1]*l,o[2]=s[2]*l,o}}),8489:(function(a){a.exports=i;function i(o,s,l,u){return o[0]=s[0]+l[0]*u,o[1]=s[1]+l[1]*u,o[2]=s[2]+l[2]*u,o}}),1463:(function(a){a.exports=i;function i(o,s,l,u){return o[0]=s,o[1]=l,o[2]=u,o}}),6141:(function(a,i,o){a.exports=o(2953)}),5486:(function(a,i,o){a.exports=o(3066)}),2953:(function(a){a.exports=i;function i(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2];return l*l+u*u+c*c}}),3066:(function(a){a.exports=i;function i(o){var s=o[0],l=o[1],u=o[2];return s*s+l*l+u*u}}),2229:(function(a,i,o){a.exports=o(6843)}),6843:(function(a){a.exports=i;function i(o,s,l){return o[0]=s[0]-l[0],o[1]=s[1]-l[1],o[2]=s[2]-l[2],o}}),492:(function(a){a.exports=i;function i(o,s,l){var u=s[0],c=s[1],f=s[2];return o[0]=u*l[0]+c*l[3]+f*l[6],o[1]=u*l[1]+c*l[4]+f*l[7],o[2]=u*l[2]+c*l[5]+f*l[8],o}}),5673:(function(a){a.exports=i;function i(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[3]*u+l[7]*c+l[11]*f+l[15];return h=h||1,o[0]=(l[0]*u+l[4]*c+l[8]*f+l[12])/h,o[1]=(l[1]*u+l[5]*c+l[9]*f+l[13])/h,o[2]=(l[2]*u+l[6]*c+l[10]*f+l[14])/h,o}}),264:(function(a){a.exports=i;function i(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],v=l[1],d=l[2],m=l[3],x=m*u+v*f-d*c,g=m*c+d*u-h*f,E=m*f+h*c-v*u,M=-h*u-v*c-d*f;return o[0]=x*m+M*-h+g*-d-E*-v,o[1]=g*m+M*-v+E*-h-x*-d,o[2]=E*m+M*-d+x*-v-g*-h,o}}),4361:(function(a){a.exports=i;function i(o,s,l){return o[0]=s[0]+l[0],o[1]=s[1]+l[1],o[2]=s[2]+l[2],o[3]=s[3]+l[3],o}}),2335:(function(a){a.exports=i;function i(o){var s=new Float32Array(4);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s[3]=o[3],s}}),2933:(function(a){a.exports=i;function i(o,s){return o[0]=s[0],o[1]=s[1],o[2]=s[2],o[3]=s[3],o}}),7536:(function(a){a.exports=i;function i(){var o=new Float32Array(4);return o[0]=0,o[1]=0,o[2]=0,o[3]=0,o}}),4691:(function(a){a.exports=i;function i(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2],f=s[3]-o[3];return Math.sqrt(l*l+u*u+c*c+f*f)}}),1373:(function(a){a.exports=i;function i(o,s,l){return o[0]=s[0]/l[0],o[1]=s[1]/l[1],o[2]=s[2]/l[2],o[3]=s[3]/l[3],o}}),3750:(function(a){a.exports=i;function i(o,s){return o[0]*s[0]+o[1]*s[1]+o[2]*s[2]+o[3]*s[3]}}),3390:(function(a){a.exports=i;function i(o,s,l,u){var c=new Float32Array(4);return c[0]=o,c[1]=s,c[2]=l,c[3]=u,c}}),9970:(function(a,i,o){a.exports={create:o(7536),clone:o(2335),fromValues:o(3390),copy:o(2933),set:o(4578),add:o(4361),subtract:o(6860),multiply:o(3576),divide:o(1373),min:o(2334),max:o(160),scale:o(9288),scaleAndAdd:o(4844),distance:o(4691),squaredDistance:o(7960),length:o(6808),squaredLength:o(483),negate:o(1498),inverse:o(4494),normalize:o(5177),dot:o(3750),lerp:o(2573),random:o(9131),transformMat4:o(5352),transformQuat:o(4041)}}),4494:(function(a){a.exports=i;function i(o,s){return o[0]=1/s[0],o[1]=1/s[1],o[2]=1/s[2],o[3]=1/s[3],o}}),6808:(function(a){a.exports=i;function i(o){var s=o[0],l=o[1],u=o[2],c=o[3];return Math.sqrt(s*s+l*l+u*u+c*c)}}),2573:(function(a){a.exports=i;function i(o,s,l,u){var c=s[0],f=s[1],h=s[2],v=s[3];return o[0]=c+u*(l[0]-c),o[1]=f+u*(l[1]-f),o[2]=h+u*(l[2]-h),o[3]=v+u*(l[3]-v),o}}),160:(function(a){a.exports=i;function i(o,s,l){return o[0]=Math.max(s[0],l[0]),o[1]=Math.max(s[1],l[1]),o[2]=Math.max(s[2],l[2]),o[3]=Math.max(s[3],l[3]),o}}),2334:(function(a){a.exports=i;function i(o,s,l){return o[0]=Math.min(s[0],l[0]),o[1]=Math.min(s[1],l[1]),o[2]=Math.min(s[2],l[2]),o[3]=Math.min(s[3],l[3]),o}}),3576:(function(a){a.exports=i;function i(o,s,l){return o[0]=s[0]*l[0],o[1]=s[1]*l[1],o[2]=s[2]*l[2],o[3]=s[3]*l[3],o}}),1498:(function(a){a.exports=i;function i(o,s){return o[0]=-s[0],o[1]=-s[1],o[2]=-s[2],o[3]=-s[3],o}}),5177:(function(a){a.exports=i;function i(o,s){var l=s[0],u=s[1],c=s[2],f=s[3],h=l*l+u*u+c*c+f*f;return h>0&&(h=1/Math.sqrt(h),o[0]=l*h,o[1]=u*h,o[2]=c*h,o[3]=f*h),o}}),9131:(function(a,i,o){var s=o(5177),l=o(9288);a.exports=u;function u(c,f){return f=f||1,c[0]=Math.random(),c[1]=Math.random(),c[2]=Math.random(),c[3]=Math.random(),s(c,c),l(c,c,f),c}}),9288:(function(a){a.exports=i;function i(o,s,l){return o[0]=s[0]*l,o[1]=s[1]*l,o[2]=s[2]*l,o[3]=s[3]*l,o}}),4844:(function(a){a.exports=i;function i(o,s,l,u){return o[0]=s[0]+l[0]*u,o[1]=s[1]+l[1]*u,o[2]=s[2]+l[2]*u,o[3]=s[3]+l[3]*u,o}}),4578:(function(a){a.exports=i;function i(o,s,l,u,c){return o[0]=s,o[1]=l,o[2]=u,o[3]=c,o}}),7960:(function(a){a.exports=i;function i(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2],f=s[3]-o[3];return l*l+u*u+c*c+f*f}}),483:(function(a){a.exports=i;function i(o){var s=o[0],l=o[1],u=o[2],c=o[3];return s*s+l*l+u*u+c*c}}),6860:(function(a){a.exports=i;function i(o,s,l){return o[0]=s[0]-l[0],o[1]=s[1]-l[1],o[2]=s[2]-l[2],o[3]=s[3]-l[3],o}}),5352:(function(a){a.exports=i;function i(o,s,l){var u=s[0],c=s[1],f=s[2],h=s[3];return o[0]=l[0]*u+l[4]*c+l[8]*f+l[12]*h,o[1]=l[1]*u+l[5]*c+l[9]*f+l[13]*h,o[2]=l[2]*u+l[6]*c+l[10]*f+l[14]*h,o[3]=l[3]*u+l[7]*c+l[11]*f+l[15]*h,o}}),4041:(function(a){a.exports=i;function i(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],v=l[1],d=l[2],m=l[3],x=m*u+v*f-d*c,g=m*c+d*u-h*f,E=m*f+h*c-v*u,M=-h*u-v*c-d*f;return o[0]=x*m+M*-h+g*-d-E*-v,o[1]=g*m+M*-v+E*-h-x*-d,o[2]=E*m+M*-d+x*-v-g*-h,o[3]=s[3],o}}),1848:(function(a,i,o){var s=o(4905),l=o(6468);a.exports=u;function u(c){for(var f=Array.isArray(c)?c:s(c),h=0;h0)continue;ft=ge.slice(0,1).join("")}return Pe(ft),ue+=ft.length,R=R.slice(ft.length),R.length}while(!0)}function Ie(){return/[^a-fA-F0-9]/.test(U)?(Pe(R.join("")),q=h,D):(R.push(U),O=U,D+1)}function de(){return U==="."||/[eE]/.test(U)?(R.push(U),q=M,O=U,D+1):U==="x"&&R.length===1&&R[0]==="0"?(q=p,R.push(U),O=U,D+1):/[^\d]/.test(U)?(Pe(R.join("")),q=h,D):(R.push(U),O=U,D+1)}function Ee(){return U==="f"&&(R.push(U),O=U,D+=1),/[eE]/.test(U)||(U==="-"||U==="+")&&/[eE]/.test(O)?(R.push(U),O=U,D+1):/[^\d]/.test(U)?(Pe(R.join("")),q=h,D):(R.push(U),O=U,D+1)}function Ue(){if(/[^\d\w_]/.test(U)){var ge=R.join("");return ye[ge]?q=y:he[ge]?q=k:q=w,Pe(R.join("")),q=h,D}return R.push(U),O=U,D+1}}}),3508:(function(a,i,o){var s=o(6852);s=s.slice().filter(function(l){return!/^(gl\_|texture)/.test(l)}),a.exports=s.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(a){a.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(a,i,o){var s=o(620);a.exports=s.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(a){a.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(a){a.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]}),4905:(function(a,i,o){var s=o(5874);a.exports=l;function l(u,c){var f=s(c),h=[];return h=h.concat(f(u)),h=h.concat(f(null)),h}}),3236:(function(a){a.exports=function(i){typeof i=="string"&&(i=[i]);for(var o=[].slice.call(arguments,1),s=[],l=0;l>1,x=-7,g=l?c-1:0,E=l?-1:1,M=o[s+g];for(g+=E,f=M&(1<<-x)-1,M>>=-x,x+=v;x>0;f=f*256+o[s+g],g+=E,x-=8);for(h=f&(1<<-x)-1,f>>=-x,x+=u;x>0;h=h*256+o[s+g],g+=E,x-=8);if(f===0)f=1-m;else{if(f===d)return h?NaN:(M?-1:1)*(1/0);h=h+Math.pow(2,u),f=f-m}return(M?-1:1)*h*Math.pow(2,f-u)},i.write=function(o,s,l,u,c,f){var h,v,d,m=f*8-c-1,x=(1<>1,E=c===23?Math.pow(2,-24)-Math.pow(2,-77):0,M=u?0:f-1,w=u?1:-1,k=s<0||s===0&&1/s<0?1:0;for(s=Math.abs(s),isNaN(s)||s===1/0?(v=isNaN(s)?1:0,h=x):(h=Math.floor(Math.log(s)/Math.LN2),s*(d=Math.pow(2,-h))<1&&(h--,d*=2),h+g>=1?s+=E/d:s+=E*Math.pow(2,1-g),s*d>=2&&(h++,d/=2),h+g>=x?(v=0,h=x):h+g>=1?(v=(s*d-1)*Math.pow(2,c),h=h+g):(v=s*Math.pow(2,g-1)*Math.pow(2,c),h=0));c>=8;o[l+M]=v&255,M+=w,v/=256,c-=8);for(h=h<0;o[l+M]=h&255,M+=w,h/=256,m-=8);o[l+M-w]|=k*128}}),8954:(function(a,i,o){"use strict";a.exports=g;var s=o(3250),l=o(6803).Fw;function u(E,M,w){this.vertices=E,this.adjacent=M,this.boundary=w,this.lastVisited=-1}u.prototype.flip=function(){var E=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=E;var M=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=M};function c(E,M,w){this.vertices=E,this.cell=M,this.index=w}function f(E,M){return l(E.vertices,M.vertices)}function h(E){return function(){var M=this.tuple;return E.apply(this,M)}}function v(E){var M=s[E+1];return M||(M=s),h(M)}var d=[];function m(E,M,w){this.dimension=E,this.vertices=M,this.simplices=w,this.interior=w.filter(function(S){return!S.boundary}),this.tuple=new Array(E+1);for(var k=0;k<=E;++k)this.tuple[k]=this.vertices[k];var y=d[E];y||(y=d[E]=v(E)),this.orient=y}var x=m.prototype;x.handleBoundaryDegeneracy=function(E,M){var w=this.dimension,k=this.vertices.length-1,y=this.tuple,S=this.vertices,T=[E];for(E.lastVisited=-k;T.length>0;){E=T.pop();for(var p=E.adjacent,C=0;C<=w;++C){var A=p[C];if(!(!A.boundary||A.lastVisited<=-k)){for(var P=A.vertices,D=0;D<=w;++D){var z=P[D];z<0?y[D]=M:y[D]=S[z]}var q=this.orient();if(q>0)return A;A.lastVisited=-k,q===0&&T.push(A)}}}return null},x.walk=function(E,M){var w=this.vertices.length-1,k=this.dimension,y=this.vertices,S=this.tuple,T=M?this.interior.length*Math.random()|0:this.interior.length-1,p=this.interior[T];e:for(;!p.boundary;){for(var C=p.vertices,A=p.adjacent,P=0;P<=k;++P)S[P]=y[C[P]];p.lastVisited=w;for(var P=0;P<=k;++P){var D=A[P];if(!(D.lastVisited>=w)){var z=S[P];S[P]=E;var q=this.orient();if(S[P]=z,q<0){p=D;continue e}else D.boundary?D.lastVisited=-w:D.lastVisited=w}}return}return p},x.addPeaks=function(E,M){var w=this.vertices.length-1,k=this.dimension,y=this.vertices,S=this.tuple,T=this.interior,p=this.simplices,C=[M];M.lastVisited=w,M.vertices[M.vertices.indexOf(-1)]=w,M.boundary=!1,T.push(M);for(var A=[];C.length>0;){var M=C.pop(),P=M.vertices,D=M.adjacent,z=P.indexOf(w);if(!(z<0)){for(var q=0;q<=k;++q)if(q!==z){var U=D[q];if(!(!U.boundary||U.lastVisited>=w)){var O=U.vertices;if(U.lastVisited!==-w){for(var R=0,B=0;B<=k;++B)O[B]<0?(R=B,S[B]=E):S[B]=y[O[B]];var Y=this.orient();if(Y>0){O[R]=w,U.boundary=!1,T.push(U),C.push(U),U.lastVisited=w;continue}else U.lastVisited=-w}var X=U.adjacent,te=P.slice(),se=D.slice(),ue=new u(te,se,!0);p.push(ue);var re=X.indexOf(M);if(!(re<0)){X[re]=ue,se[z]=U,te[q]=-1,se[q]=M,D[q]=ue,ue.flip();for(var B=0;B<=k;++B){var j=te[B];if(!(j<0||j===w)){for(var fe=new Array(k-1),ce=0,oe=0;oe<=k;++oe){var we=te[oe];we<0||oe===B||(fe[ce++]=we)}A.push(new c(fe,ue,B))}}}}}}}A.sort(f);for(var q=0;q+1=0?T[C++]=p[P]:A=P&1;if(A===(E&1)){var D=T[0];T[0]=T[1],T[1]=D}M.push(T)}}return M};function g(E,M){var w=E.length;if(w===0)throw new Error("Must have at least d+1 points");var k=E[0].length;if(w<=k)throw new Error("Must input at least d+1 points");var y=E.slice(0,k+1),S=s.apply(void 0,y);if(S===0)throw new Error("Input not in general position");for(var T=new Array(k+1),p=0;p<=k;++p)T[p]=p;S<0&&(T[0]=1,T[1]=0);for(var C=new u(T,new Array(k+1),!1),A=C.adjacent,P=new Array(k+2),p=0;p<=k;++p){for(var D=T.slice(),z=0;z<=k;++z)z===p&&(D[z]=-1);var q=D[0];D[0]=D[1],D[1]=q;var U=new u(D,new Array(k+1),!0);A[p]=U,P[p]=U}P[k+1]=C;for(var p=0;p<=k;++p)for(var D=A[p].vertices,O=A[p].adjacent,z=0;z<=k;++z){var R=D[z];if(R<0){O[z]=C;continue}for(var B=0;B<=k;++B)A[B].vertices.indexOf(R)<0&&(O[z]=A[B])}for(var Y=new m(k,y,P),X=!!M,p=k+1;p3*(P+1)?m(this,A):this.left.insert(A):this.left=S([A]);else if(A[0]>this.mid)this.right?4*(this.right.count+1)>3*(P+1)?m(this,A):this.right.insert(A):this.right=S([A]);else{var D=s.ge(this.leftPoints,A,k),z=s.ge(this.rightPoints,A,y);this.leftPoints.splice(D,0,A),this.rightPoints.splice(z,0,A)}},h.remove=function(A){var P=this.count-this.leftPoints;if(A[1]3*(P-1))return x(this,A);var z=this.left.remove(A);return z===c?(this.left=null,this.count-=1,u):(z===u&&(this.count-=1),z)}else if(A[0]>this.mid){if(!this.right)return l;var q=this.left?this.left.count:0;if(4*q>3*(P-1))return x(this,A);var z=this.right.remove(A);return z===c?(this.right=null,this.count-=1,u):(z===u&&(this.count-=1),z)}else{if(this.count===1)return this.leftPoints[0]===A?c:l;if(this.leftPoints.length===1&&this.leftPoints[0]===A){if(this.left&&this.right){for(var U=this,O=this.left;O.right;)U=O,O=O.right;if(U===this)O.right=this.right;else{var R=this.left,z=this.right;U.count-=O.count,U.right=O.left,O.left=R,O.right=z}v(this,O),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?v(this,this.left):v(this,this.right);return u}for(var R=s.ge(this.leftPoints,A,k);R=0&&A[z][1]>=P;--z){var q=D(A[z]);if(q)return q}}function M(A,P){for(var D=0;Dthis.mid){if(this.right){var D=this.right.queryPoint(A,P);if(D)return D}return E(this.rightPoints,A,P)}else return M(this.leftPoints,P)},h.queryInterval=function(A,P,D){if(Athis.mid&&this.right){var z=this.right.queryInterval(A,P,D);if(z)return z}return Pthis.mid?E(this.rightPoints,A,D):M(this.leftPoints,D)};function w(A,P){return A-P}function k(A,P){var D=A[0]-P[0];return D||A[1]-P[1]}function y(A,P){var D=A[1]-P[1];return D||A[0]-P[0]}function S(A){if(A.length===0)return null;for(var P=[],D=0;D>1],q=[],U=[],O=[],D=0;D13)&&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}}),395:(function(a){function i(o,s,l){return o*(1-l)+s*l}a.exports=i}),2652:(function(a,i,o){var s=o(4335),l=o(6864),u=o(1903),c=o(9921),f=o(7608),h=o(5665),v={length:o(1387),normalize:o(3536),dot:o(244),cross:o(5911)},d=l(),m=l(),x=[0,0,0,0],g=[[0,0,0],[0,0,0],[0,0,0]],E=[0,0,0];a.exports=function(S,T,p,C,A,P){if(T||(T=[0,0,0]),p||(p=[0,0,0]),C||(C=[0,0,0]),A||(A=[0,0,0,1]),P||(P=[0,0,0,1]),!s(d,S)||(u(m,d),m[3]=0,m[7]=0,m[11]=0,m[15]=1,Math.abs(c(m)<1e-8)))return!1;var D=d[3],z=d[7],q=d[11],U=d[12],O=d[13],R=d[14],B=d[15];if(D!==0||z!==0||q!==0){x[0]=D,x[1]=z,x[2]=q,x[3]=B;var Y=f(m,m);if(!Y)return!1;h(m,m),M(A,x,m)}else A[0]=A[1]=A[2]=0,A[3]=1;if(T[0]=U,T[1]=O,T[2]=R,w(g,d),p[0]=v.length(g[0]),v.normalize(g[0],g[0]),C[0]=v.dot(g[0],g[1]),k(g[1],g[1],g[0],1,-C[0]),p[1]=v.length(g[1]),v.normalize(g[1],g[1]),C[0]/=p[1],C[1]=v.dot(g[0],g[2]),k(g[2],g[2],g[0],1,-C[1]),C[2]=v.dot(g[1],g[2]),k(g[2],g[2],g[1],1,-C[2]),p[2]=v.length(g[2]),v.normalize(g[2],g[2]),C[1]/=p[2],C[2]/=p[2],v.cross(E,g[1],g[2]),v.dot(g[0],E)<0)for(var X=0;X<3;X++)p[X]*=-1,g[X][0]*=-1,g[X][1]*=-1,g[X][2]*=-1;return P[0]=.5*Math.sqrt(Math.max(1+g[0][0]-g[1][1]-g[2][2],0)),P[1]=.5*Math.sqrt(Math.max(1-g[0][0]+g[1][1]-g[2][2],0)),P[2]=.5*Math.sqrt(Math.max(1-g[0][0]-g[1][1]+g[2][2],0)),P[3]=.5*Math.sqrt(Math.max(1+g[0][0]+g[1][1]+g[2][2],0)),g[2][1]>g[1][2]&&(P[0]=-P[0]),g[0][2]>g[2][0]&&(P[1]=-P[1]),g[1][0]>g[0][1]&&(P[2]=-P[2]),!0};function M(y,S,T){var p=S[0],C=S[1],A=S[2],P=S[3];return y[0]=T[0]*p+T[4]*C+T[8]*A+T[12]*P,y[1]=T[1]*p+T[5]*C+T[9]*A+T[13]*P,y[2]=T[2]*p+T[6]*C+T[10]*A+T[14]*P,y[3]=T[3]*p+T[7]*C+T[11]*A+T[15]*P,y}function w(y,S){y[0][0]=S[0],y[0][1]=S[1],y[0][2]=S[2],y[1][0]=S[4],y[1][1]=S[5],y[1][2]=S[6],y[2][0]=S[8],y[2][1]=S[9],y[2][2]=S[10]}function k(y,S,T,p,C){y[0]=S[0]*p+T[0]*C,y[1]=S[1]*p+T[1]*C,y[2]=S[2]*p+T[2]*C}}),4335:(function(a){a.exports=function(o,s){var l=s[15];if(l===0)return!1;for(var u=1/l,c=0;c<16;c++)o[c]=s[c]*u;return!0}}),7442:(function(a,i,o){var s=o(6658),l=o(7182),u=o(2652),c=o(9921),f=o(8648),h=x(),v=x(),d=x();a.exports=m;function m(M,w,k,y){if(c(w)===0||c(k)===0)return!1;var S=u(w,h.translate,h.scale,h.skew,h.perspective,h.quaternion),T=u(k,v.translate,v.scale,v.skew,v.perspective,v.quaternion);return!S||!T?!1:(s(d.translate,h.translate,v.translate,y),s(d.skew,h.skew,v.skew,y),s(d.scale,h.scale,v.scale,y),s(d.perspective,h.perspective,v.perspective,y),f(d.quaternion,h.quaternion,v.quaternion,y),l(M,d.translate,d.scale,d.skew,d.perspective,d.quaternion),!0)}function x(){return{translate:g(),scale:g(1),skew:g(),perspective:E(),quaternion:E()}}function g(M){return[M||0,M||0,M||0]}function E(){return[0,0,0,1]}}),7182:(function(a,i,o){var s={identity:o(7894),translate:o(7656),multiply:o(6760),create:o(6864),scale:o(2504),fromRotationTranslation:o(6743)},l=s.create(),u=s.create();a.exports=function(f,h,v,d,m,x){return s.identity(f),s.fromRotationTranslation(f,x,h),f[3]=m[0],f[7]=m[1],f[11]=m[2],f[15]=m[3],s.identity(u),d[2]!==0&&(u[9]=d[2],s.multiply(f,f,u)),d[1]!==0&&(u[9]=0,u[8]=d[1],s.multiply(f,f,u)),d[0]!==0&&(u[8]=0,u[4]=d[0],s.multiply(f,f,u)),s.scale(f,f,v),f}}),1811:(function(a,i,o){"use strict";var s=o(2478),l=o(7442),u=o(7608),c=o(5567),f=o(2408),h=o(7089),v=o(6582),d=o(7656),m=o(2504),x=o(3536),g=[0,0,0];a.exports=k;function E(y){this._components=y.slice(),this._time=[0],this.prevMatrix=y.slice(),this.nextMatrix=y.slice(),this.computedMatrix=y.slice(),this.computedInverse=y.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 M=E.prototype;M.recalcMatrix=function(y){var S=this._time,T=s.le(S,y),p=this.computedMatrix;if(!(T<0)){var C=this._components;if(T===S.length-1)for(var A=16*T,P=0;P<16;++P)p[P]=C[A++];else{for(var D=S[T+1]-S[T],A=16*T,z=this.prevMatrix,q=!0,P=0;P<16;++P)z[P]=C[A++];for(var U=this.nextMatrix,P=0;P<16;++P)U[P]=C[A++],q=q&&z[P]===U[P];if(D<1e-6||q)for(var P=0;P<16;++P)p[P]=z[P];else l(p,z,U,(y-S[T])/D)}var O=this.computedUp;O[0]=p[1],O[1]=p[5],O[2]=p[9],x(O,O);var R=this.computedInverse;u(R,p);var B=this.computedEye,Y=R[15];B[0]=R[12]/Y,B[1]=R[13]/Y,B[2]=R[14]/Y;for(var X=this.computedCenter,te=Math.exp(this.computedRadius[0]),P=0;P<3;++P)X[P]=B[P]-p[2+4*P]*te}},M.idle=function(y){if(!(y1&&s(u[v[g-2]],u[v[g-1]],x)<=0;)g-=1,v.pop();for(v.push(m),g=d.length;g>1&&s(u[d[g-2]],u[d[g-1]],x)>=0;)g-=1,d.pop();d.push(m)}for(var E=new Array(d.length+v.length-2),M=0,f=0,w=v.length;f0;--k)E[M++]=d[k];return E}}),351:(function(a,i,o){"use strict";a.exports=l;var s=o(4687);function l(u,c){c||(c=u,u=window);var f=0,h=0,v=0,d={shift:!1,alt:!1,control:!1,meta:!1},m=!1;function x(A){var P=!1;return"altKey"in A&&(P=P||A.altKey!==d.alt,d.alt=!!A.altKey),"shiftKey"in A&&(P=P||A.shiftKey!==d.shift,d.shift=!!A.shiftKey),"ctrlKey"in A&&(P=P||A.ctrlKey!==d.control,d.control=!!A.ctrlKey),"metaKey"in A&&(P=P||A.metaKey!==d.meta,d.meta=!!A.metaKey),P}function g(A,P){var D=s.x(P),z=s.y(P);"buttons"in P&&(A=P.buttons|0),(A!==f||D!==h||z!==v||x(P))&&(f=A|0,h=D||0,v=z||0,c&&c(f,h,v,d))}function E(A){g(0,A)}function M(){(f||h||v||d.shift||d.alt||d.meta||d.control)&&(h=v=0,f=0,d.shift=d.alt=d.control=d.meta=!1,c&&c(0,0,0,d))}function w(A){x(A)&&c&&c(f,h,v,d)}function k(A){s.buttons(A)===0?g(0,A):g(f,A)}function y(A){g(f|s.buttons(A),A)}function S(A){g(f&~s.buttons(A),A)}function T(){m||(m=!0,u.addEventListener("mousemove",k),u.addEventListener("mousedown",y),u.addEventListener("mouseup",S),u.addEventListener("mouseleave",E),u.addEventListener("mouseenter",E),u.addEventListener("mouseout",E),u.addEventListener("mouseover",E),u.addEventListener("blur",M),u.addEventListener("keyup",w),u.addEventListener("keydown",w),u.addEventListener("keypress",w),u!==window&&(window.addEventListener("blur",M),window.addEventListener("keyup",w),window.addEventListener("keydown",w),window.addEventListener("keypress",w)))}function p(){m&&(m=!1,u.removeEventListener("mousemove",k),u.removeEventListener("mousedown",y),u.removeEventListener("mouseup",S),u.removeEventListener("mouseleave",E),u.removeEventListener("mouseenter",E),u.removeEventListener("mouseout",E),u.removeEventListener("mouseover",E),u.removeEventListener("blur",M),u.removeEventListener("keyup",w),u.removeEventListener("keydown",w),u.removeEventListener("keypress",w),u!==window&&(window.removeEventListener("blur",M),window.removeEventListener("keyup",w),window.removeEventListener("keydown",w),window.removeEventListener("keypress",w)))}T();var C={element:u};return Object.defineProperties(C,{enabled:{get:function(){return m},set:function(A){A?T():p()},enumerable:!0},buttons:{get:function(){return f},enumerable:!0},x:{get:function(){return h},enumerable:!0},y:{get:function(){return v},enumerable:!0},mods:{get:function(){return d},enumerable:!0}}),C}}),24:(function(a){var i={left:0,top:0};a.exports=o;function o(l,u,c){u=u||l.currentTarget||l.srcElement,Array.isArray(c)||(c=[0,0]);var f=l.clientX||0,h=l.clientY||0,v=s(u);return c[0]=f-v.left,c[1]=h-v.top,c}function s(l){return l===window||l===document||l===document.body?i:l.getBoundingClientRect()}}),4687:(function(a,i){"use strict";function o(c){if(typeof c=="object"){if("buttons"in c)return c.buttons;if("which"in c){var f=c.which;if(f===2)return 4;if(f===3)return 2;if(f>0)return 1<=0)return 1<0){if(se=1,j[ce++]=d(T[P],M,w,k),P+=Y,y>0)for(te=1,D=T[P],oe=j[ce]=d(D,M,w,k),ye=j[ce+we],ze=j[ce+Pe],st=j[ce+Xe],(oe!==ye||oe!==ze||oe!==st)&&(q=T[P+z],O=T[P+U],B=T[P+R],h(te,se,D,q,O,B,oe,ye,ze,st,M,w,k),Oe=fe[ce]=ue++),ce+=1,P+=Y,te=2;te0)for(te=1,D=T[P],oe=j[ce]=d(D,M,w,k),ye=j[ce+we],ze=j[ce+Pe],st=j[ce+Xe],(oe!==ye||oe!==ze||oe!==st)&&(q=T[P+z],O=T[P+U],B=T[P+R],h(te,se,D,q,O,B,oe,ye,ze,st,M,w,k),Oe=fe[ce]=ue++,st!==ze&&v(fe[ce+Pe],Oe,O,B,ze,st,M,w,k)),ce+=1,P+=Y,te=2;te0){if(te=1,j[ce++]=d(T[P],M,w,k),P+=Y,S>0)for(se=1,D=T[P],oe=j[ce]=d(D,M,w,k),ze=j[ce+Pe],ye=j[ce+we],st=j[ce+Xe],(oe!==ze||oe!==ye||oe!==st)&&(q=T[P+z],O=T[P+U],B=T[P+R],h(te,se,D,q,O,B,oe,ze,ye,st,M,w,k),Oe=fe[ce]=ue++),ce+=1,P+=Y,se=2;se0)for(se=1,D=T[P],oe=j[ce]=d(D,M,w,k),ze=j[ce+Pe],ye=j[ce+we],st=j[ce+Xe],(oe!==ze||oe!==ye||oe!==st)&&(q=T[P+z],O=T[P+U],B=T[P+R],h(te,se,D,q,O,B,oe,ze,ye,st,M,w,k),Oe=fe[ce]=ue++,st!==ze&&v(fe[ce+Pe],Oe,B,q,st,ze,M,w,k)),ce+=1,P+=Y,se=2;se 0"),typeof f.vertex!="function"&&h("Must specify vertex creation function"),typeof f.cell!="function"&&h("Must specify cell creation function"),typeof f.phase!="function"&&h("Must specify phase function");for(var x=f.getters||[],g=new Array(d),E=0;E=0?g[E]=!0:g[E]=!1;return u(f.vertex,f.cell,f.phase,m,v,g)}}),6199:(function(a,i,o){"use strict";var s=o(1338),l={zero:function(k,y,S,T){var p=k[0],C=S[0];T|=0;var A=0,P=C;for(A=0;A2&&A[1]>2&&T(C.pick(-1,-1).lo(1,1).hi(A[0]-2,A[1]-2),p.pick(-1,-1,0).lo(1,1).hi(A[0]-2,A[1]-2),p.pick(-1,-1,1).lo(1,1).hi(A[0]-2,A[1]-2)),A[1]>2&&(S(C.pick(0,-1).lo(1).hi(A[1]-2),p.pick(0,-1,1).lo(1).hi(A[1]-2)),y(p.pick(0,-1,0).lo(1).hi(A[1]-2))),A[1]>2&&(S(C.pick(A[0]-1,-1).lo(1).hi(A[1]-2),p.pick(A[0]-1,-1,1).lo(1).hi(A[1]-2)),y(p.pick(A[0]-1,-1,0).lo(1).hi(A[1]-2))),A[0]>2&&(S(C.pick(-1,0).lo(1).hi(A[0]-2),p.pick(-1,0,0).lo(1).hi(A[0]-2)),y(p.pick(-1,0,1).lo(1).hi(A[0]-2))),A[0]>2&&(S(C.pick(-1,A[1]-1).lo(1).hi(A[0]-2),p.pick(-1,A[1]-1,0).lo(1).hi(A[0]-2)),y(p.pick(-1,A[1]-1,1).lo(1).hi(A[0]-2))),p.set(0,0,0,0),p.set(0,0,1,0),p.set(A[0]-1,0,0,0),p.set(A[0]-1,0,1,0),p.set(0,A[1]-1,0,0),p.set(0,A[1]-1,1,0),p.set(A[0]-1,A[1]-1,0,0),p.set(A[0]-1,A[1]-1,1,0),p}}function w(k){var y=k.join(),A=d[y];if(A)return A;for(var S=k.length,T=[x,g],p=1;p<=S;++p)T.push(E(p));var C=M,A=C.apply(void 0,T);return d[y]=A,A}a.exports=function(y,S,T){if(Array.isArray(T)||(typeof T=="string"?T=s(S.dimension,T):T=s(S.dimension,"clamp")),S.size===0)return y;if(S.dimension===0)return y.set(0),y;var p=w(T);return p(y,S)}}),4317:(function(a){"use strict";function i(c,f){var h=Math.floor(f),v=f-h,d=0<=h&&h0;){O<64?(y=O,O=0):(y=64,O-=64);for(var R=d[1]|0;R>0;){R<64?(S=R,R=0):(S=64,R-=64),g=q+O*p+R*C,w=U+O*P+R*D;var B=0,Y=0,X=0,te=A,se=p-T*A,ue=C-y*p,re=z,j=P-T*z,fe=D-y*P;for(X=0;X0;){D<64?(y=D,D=0):(y=64,D-=64);for(var z=d[0]|0;z>0;){z<64?(k=z,z=0):(k=64,z-=64),g=A+D*T+z*S,w=P+D*C+z*p;var q=0,U=0,O=T,R=S-y*T,B=C,Y=p-y*C;for(U=0;U0;){U<64?(S=U,U=0):(S=64,U-=64);for(var O=d[0]|0;O>0;){O<64?(k=O,O=0):(k=64,O-=64);for(var R=d[1]|0;R>0;){R<64?(y=R,R=0):(y=64,R-=64),g=z+U*C+O*T+R*p,w=q+U*D+O*A+R*P;var B=0,Y=0,X=0,te=C,se=T-S*C,ue=p-k*T,re=D,j=A-S*D,fe=P-k*A;for(X=0;XE;){B=0,Y=q-y;t:for(O=0;Ote)break t;Y+=A,B+=P}for(B=q,Y=q-y,O=0;O>1,R=O-z,B=O+z,Y=q,X=R,te=O,se=B,ue=U,re=M+1,j=w-1,fe=!0,ce,oe,we,he,ye,Pe,le,ze,Xe,vt=0,st=0,Oe=0,qe,mt,lt,Ie,de,Ee,Ue,ge,Ge,tt,ft,He,Qe,We,pt,kt,qt=C,Wt=x(qt),_r=x(qt);mt=S*Y,lt=S*X,kt=y;e:for(qe=0;qe0){oe=Y,Y=X,X=oe;break e}if(Oe<0)break e;kt+=P}mt=S*se,lt=S*ue,kt=y;e:for(qe=0;qe0){oe=se,se=ue,ue=oe;break e}if(Oe<0)break e;kt+=P}mt=S*Y,lt=S*te,kt=y;e:for(qe=0;qe0){oe=Y,Y=te,te=oe;break e}if(Oe<0)break e;kt+=P}mt=S*X,lt=S*te,kt=y;e:for(qe=0;qe0){oe=X,X=te,te=oe;break e}if(Oe<0)break e;kt+=P}mt=S*Y,lt=S*se,kt=y;e:for(qe=0;qe0){oe=Y,Y=se,se=oe;break e}if(Oe<0)break e;kt+=P}mt=S*te,lt=S*se,kt=y;e:for(qe=0;qe0){oe=te,te=se,se=oe;break e}if(Oe<0)break e;kt+=P}mt=S*X,lt=S*ue,kt=y;e:for(qe=0;qe0){oe=X,X=ue,ue=oe;break e}if(Oe<0)break e;kt+=P}mt=S*X,lt=S*te,kt=y;e:for(qe=0;qe0){oe=X,X=te,te=oe;break e}if(Oe<0)break e;kt+=P}mt=S*se,lt=S*ue,kt=y;e:for(qe=0;qe0){oe=se,se=ue,ue=oe;break e}if(Oe<0)break e;kt+=P}for(mt=S*Y,lt=S*X,Ie=S*te,de=S*se,Ee=S*ue,Ue=S*q,ge=S*O,Ge=S*U,pt=0,kt=y,qe=0;qe0)j--;else if(Oe<0){for(mt=S*Pe,lt=S*re,Ie=S*j,kt=y,qe=0;qe0)for(;;){le=y+j*S,pt=0;e:for(qe=0;qe0){if(--jU){e:for(;;){for(le=y+re*S,pt=0,kt=y,qe=0;qe1&&E?w(g,E[0],E[1]):w(g)}var v={"uint32,1,0":function(m,x){return function(g){var E=g.data,M=g.offset|0,w=g.shape,k=g.stride,y=k[0]|0,S=w[0]|0,T=k[1]|0,p=w[1]|0,C=T,A=T,P=1;S<=32?m(0,S-1,E,M,y,T,S,p,C,A,P):x(0,S-1,E,M,y,T,S,p,C,A,P)}}};function d(m,x){var g=[x,m].join(","),E=v[g],M=c(m,x),w=h(m,x,M);return E(M,w)}a.exports=d}),446:(function(a,i,o){"use strict";var s=o(7640),l={};function u(c){var f=c.order,h=c.dtype,v=[f,h],d=v.join(":"),m=l[d];return m||(l[d]=m=s(f,h)),m(c),c}a.exports=u}),9618:(function(a,i,o){var s=o(7163),l=typeof Float64Array!="undefined";function u(x,g){return x[0]-g[0]}function c(){var x=this.stride,g=new Array(x.length),E;for(E=0;E=0&&(T=y|0,S+=C*T,p-=T),new M(this.data,p,C,S)},w.step=function(y){var S=this.shape[0],T=this.stride[0],p=this.offset,C=0,A=Math.ceil;return typeof y=="number"&&(C=y|0,C<0?(p+=T*(S-1),S=A(-S/C)):S=A(S/C),T*=C),new M(this.data,S,T,p)},w.transpose=function(y){y=y===void 0?0:y|0;var S=this.shape,T=this.stride;return new M(this.data,S[y],T[y],this.offset)},w.pick=function(y){var S=[],T=[],p=this.offset;typeof y=="number"&&y>=0?p=p+this.stride[0]*y|0:(S.push(this.shape[0]),T.push(this.stride[0]));var C=g[S.length+1];return C(this.data,S,T,p)},function(y,S,T,p){return new M(y,S[0],T[0],p)}},2:function(x,g,E){function M(k,y,S,T,p,C){this.data=k,this.shape=[y,S],this.stride=[T,p],this.offset=C|0}var w=M.prototype;return w.dtype=x,w.dimension=2,Object.defineProperty(w,"size",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(w,"order",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),w.set=function(y,S,T){return x==="generic"?this.data.set(this.offset+this.stride[0]*y+this.stride[1]*S,T):this.data[this.offset+this.stride[0]*y+this.stride[1]*S]=T},w.get=function(y,S){return x==="generic"?this.data.get(this.offset+this.stride[0]*y+this.stride[1]*S):this.data[this.offset+this.stride[0]*y+this.stride[1]*S]},w.index=function(y,S){return this.offset+this.stride[0]*y+this.stride[1]*S},w.hi=function(y,S){return new M(this.data,typeof y!="number"||y<0?this.shape[0]:y|0,typeof S!="number"||S<0?this.shape[1]:S|0,this.stride[0],this.stride[1],this.offset)},w.lo=function(y,S){var T=this.offset,p=0,C=this.shape[0],A=this.shape[1],P=this.stride[0],D=this.stride[1];return typeof y=="number"&&y>=0&&(p=y|0,T+=P*p,C-=p),typeof S=="number"&&S>=0&&(p=S|0,T+=D*p,A-=p),new M(this.data,C,A,P,D,T)},w.step=function(y,S){var T=this.shape[0],p=this.shape[1],C=this.stride[0],A=this.stride[1],P=this.offset,D=0,z=Math.ceil;return typeof y=="number"&&(D=y|0,D<0?(P+=C*(T-1),T=z(-T/D)):T=z(T/D),C*=D),typeof S=="number"&&(D=S|0,D<0?(P+=A*(p-1),p=z(-p/D)):p=z(p/D),A*=D),new M(this.data,T,p,C,A,P)},w.transpose=function(y,S){y=y===void 0?0:y|0,S=S===void 0?1:S|0;var T=this.shape,p=this.stride;return new M(this.data,T[y],T[S],p[y],p[S],this.offset)},w.pick=function(y,S){var T=[],p=[],C=this.offset;typeof y=="number"&&y>=0?C=C+this.stride[0]*y|0:(T.push(this.shape[0]),p.push(this.stride[0])),typeof S=="number"&&S>=0?C=C+this.stride[1]*S|0:(T.push(this.shape[1]),p.push(this.stride[1]));var A=g[T.length+1];return A(this.data,T,p,C)},function(y,S,T,p){return new M(y,S[0],S[1],T[0],T[1],p)}},3:function(x,g,E){function M(k,y,S,T,p,C,A,P){this.data=k,this.shape=[y,S,T],this.stride=[p,C,A],this.offset=P|0}var w=M.prototype;return w.dtype=x,w.dimension=3,Object.defineProperty(w,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(w,"order",{get:function(){var y=Math.abs(this.stride[0]),S=Math.abs(this.stride[1]),T=Math.abs(this.stride[2]);return y>S?S>T?[2,1,0]:y>T?[1,2,0]:[1,0,2]:y>T?[2,0,1]:T>S?[0,1,2]:[0,2,1]}}),w.set=function(y,S,T,p){return x==="generic"?this.data.set(this.offset+this.stride[0]*y+this.stride[1]*S+this.stride[2]*T,p):this.data[this.offset+this.stride[0]*y+this.stride[1]*S+this.stride[2]*T]=p},w.get=function(y,S,T){return x==="generic"?this.data.get(this.offset+this.stride[0]*y+this.stride[1]*S+this.stride[2]*T):this.data[this.offset+this.stride[0]*y+this.stride[1]*S+this.stride[2]*T]},w.index=function(y,S,T){return this.offset+this.stride[0]*y+this.stride[1]*S+this.stride[2]*T},w.hi=function(y,S,T){return new M(this.data,typeof y!="number"||y<0?this.shape[0]:y|0,typeof S!="number"||S<0?this.shape[1]:S|0,typeof T!="number"||T<0?this.shape[2]:T|0,this.stride[0],this.stride[1],this.stride[2],this.offset)},w.lo=function(y,S,T){var p=this.offset,C=0,A=this.shape[0],P=this.shape[1],D=this.shape[2],z=this.stride[0],q=this.stride[1],U=this.stride[2];return typeof y=="number"&&y>=0&&(C=y|0,p+=z*C,A-=C),typeof S=="number"&&S>=0&&(C=S|0,p+=q*C,P-=C),typeof T=="number"&&T>=0&&(C=T|0,p+=U*C,D-=C),new M(this.data,A,P,D,z,q,U,p)},w.step=function(y,S,T){var p=this.shape[0],C=this.shape[1],A=this.shape[2],P=this.stride[0],D=this.stride[1],z=this.stride[2],q=this.offset,U=0,O=Math.ceil;return typeof y=="number"&&(U=y|0,U<0?(q+=P*(p-1),p=O(-p/U)):p=O(p/U),P*=U),typeof S=="number"&&(U=S|0,U<0?(q+=D*(C-1),C=O(-C/U)):C=O(C/U),D*=U),typeof T=="number"&&(U=T|0,U<0?(q+=z*(A-1),A=O(-A/U)):A=O(A/U),z*=U),new M(this.data,p,C,A,P,D,z,q)},w.transpose=function(y,S,T){y=y===void 0?0:y|0,S=S===void 0?1:S|0,T=T===void 0?2:T|0;var p=this.shape,C=this.stride;return new M(this.data,p[y],p[S],p[T],C[y],C[S],C[T],this.offset)},w.pick=function(y,S,T){var p=[],C=[],A=this.offset;typeof y=="number"&&y>=0?A=A+this.stride[0]*y|0:(p.push(this.shape[0]),C.push(this.stride[0])),typeof S=="number"&&S>=0?A=A+this.stride[1]*S|0:(p.push(this.shape[1]),C.push(this.stride[1])),typeof T=="number"&&T>=0?A=A+this.stride[2]*T|0:(p.push(this.shape[2]),C.push(this.stride[2]));var P=g[p.length+1];return P(this.data,p,C,A)},function(y,S,T,p){return new M(y,S[0],S[1],S[2],T[0],T[1],T[2],p)}},4:function(x,g,E){function M(k,y,S,T,p,C,A,P,D,z){this.data=k,this.shape=[y,S,T,p],this.stride=[C,A,P,D],this.offset=z|0}var w=M.prototype;return w.dtype=x,w.dimension=4,Object.defineProperty(w,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(w,"order",{get:E}),w.set=function(y,S,T,p,C){return x==="generic"?this.data.set(this.offset+this.stride[0]*y+this.stride[1]*S+this.stride[2]*T+this.stride[3]*p,C):this.data[this.offset+this.stride[0]*y+this.stride[1]*S+this.stride[2]*T+this.stride[3]*p]=C},w.get=function(y,S,T,p){return x==="generic"?this.data.get(this.offset+this.stride[0]*y+this.stride[1]*S+this.stride[2]*T+this.stride[3]*p):this.data[this.offset+this.stride[0]*y+this.stride[1]*S+this.stride[2]*T+this.stride[3]*p]},w.index=function(y,S,T,p){return this.offset+this.stride[0]*y+this.stride[1]*S+this.stride[2]*T+this.stride[3]*p},w.hi=function(y,S,T,p){return new M(this.data,typeof y!="number"||y<0?this.shape[0]:y|0,typeof S!="number"||S<0?this.shape[1]:S|0,typeof T!="number"||T<0?this.shape[2]:T|0,typeof p!="number"||p<0?this.shape[3]:p|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},w.lo=function(y,S,T,p){var C=this.offset,A=0,P=this.shape[0],D=this.shape[1],z=this.shape[2],q=this.shape[3],U=this.stride[0],O=this.stride[1],R=this.stride[2],B=this.stride[3];return typeof y=="number"&&y>=0&&(A=y|0,C+=U*A,P-=A),typeof S=="number"&&S>=0&&(A=S|0,C+=O*A,D-=A),typeof T=="number"&&T>=0&&(A=T|0,C+=R*A,z-=A),typeof p=="number"&&p>=0&&(A=p|0,C+=B*A,q-=A),new M(this.data,P,D,z,q,U,O,R,B,C)},w.step=function(y,S,T,p){var C=this.shape[0],A=this.shape[1],P=this.shape[2],D=this.shape[3],z=this.stride[0],q=this.stride[1],U=this.stride[2],O=this.stride[3],R=this.offset,B=0,Y=Math.ceil;return typeof y=="number"&&(B=y|0,B<0?(R+=z*(C-1),C=Y(-C/B)):C=Y(C/B),z*=B),typeof S=="number"&&(B=S|0,B<0?(R+=q*(A-1),A=Y(-A/B)):A=Y(A/B),q*=B),typeof T=="number"&&(B=T|0,B<0?(R+=U*(P-1),P=Y(-P/B)):P=Y(P/B),U*=B),typeof p=="number"&&(B=p|0,B<0?(R+=O*(D-1),D=Y(-D/B)):D=Y(D/B),O*=B),new M(this.data,C,A,P,D,z,q,U,O,R)},w.transpose=function(y,S,T,p){y=y===void 0?0:y|0,S=S===void 0?1:S|0,T=T===void 0?2:T|0,p=p===void 0?3:p|0;var C=this.shape,A=this.stride;return new M(this.data,C[y],C[S],C[T],C[p],A[y],A[S],A[T],A[p],this.offset)},w.pick=function(y,S,T,p){var C=[],A=[],P=this.offset;typeof y=="number"&&y>=0?P=P+this.stride[0]*y|0:(C.push(this.shape[0]),A.push(this.stride[0])),typeof S=="number"&&S>=0?P=P+this.stride[1]*S|0:(C.push(this.shape[1]),A.push(this.stride[1])),typeof T=="number"&&T>=0?P=P+this.stride[2]*T|0:(C.push(this.shape[2]),A.push(this.stride[2])),typeof p=="number"&&p>=0?P=P+this.stride[3]*p|0:(C.push(this.shape[3]),A.push(this.stride[3]));var D=g[C.length+1];return D(this.data,C,A,P)},function(y,S,T,p){return new M(y,S[0],S[1],S[2],S[3],T[0],T[1],T[2],T[3],p)}},5:function(g,E,M){function w(y,S,T,p,C,A,P,D,z,q,U,O){this.data=y,this.shape=[S,T,p,C,A],this.stride=[P,D,z,q,U],this.offset=O|0}var k=w.prototype;return k.dtype=g,k.dimension=5,Object.defineProperty(k,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(k,"order",{get:M}),k.set=function(S,T,p,C,A,P){return g==="generic"?this.data.set(this.offset+this.stride[0]*S+this.stride[1]*T+this.stride[2]*p+this.stride[3]*C+this.stride[4]*A,P):this.data[this.offset+this.stride[0]*S+this.stride[1]*T+this.stride[2]*p+this.stride[3]*C+this.stride[4]*A]=P},k.get=function(S,T,p,C,A){return g==="generic"?this.data.get(this.offset+this.stride[0]*S+this.stride[1]*T+this.stride[2]*p+this.stride[3]*C+this.stride[4]*A):this.data[this.offset+this.stride[0]*S+this.stride[1]*T+this.stride[2]*p+this.stride[3]*C+this.stride[4]*A]},k.index=function(S,T,p,C,A){return this.offset+this.stride[0]*S+this.stride[1]*T+this.stride[2]*p+this.stride[3]*C+this.stride[4]*A},k.hi=function(S,T,p,C,A){return new w(this.data,typeof S!="number"||S<0?this.shape[0]:S|0,typeof T!="number"||T<0?this.shape[1]:T|0,typeof p!="number"||p<0?this.shape[2]:p|0,typeof C!="number"||C<0?this.shape[3]:C|0,typeof A!="number"||A<0?this.shape[4]:A|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},k.lo=function(S,T,p,C,A){var P=this.offset,D=0,z=this.shape[0],q=this.shape[1],U=this.shape[2],O=this.shape[3],R=this.shape[4],B=this.stride[0],Y=this.stride[1],X=this.stride[2],te=this.stride[3],se=this.stride[4];return typeof S=="number"&&S>=0&&(D=S|0,P+=B*D,z-=D),typeof T=="number"&&T>=0&&(D=T|0,P+=Y*D,q-=D),typeof p=="number"&&p>=0&&(D=p|0,P+=X*D,U-=D),typeof C=="number"&&C>=0&&(D=C|0,P+=te*D,O-=D),typeof A=="number"&&A>=0&&(D=A|0,P+=se*D,R-=D),new w(this.data,z,q,U,O,R,B,Y,X,te,se,P)},k.step=function(S,T,p,C,A){var P=this.shape[0],D=this.shape[1],z=this.shape[2],q=this.shape[3],U=this.shape[4],O=this.stride[0],R=this.stride[1],B=this.stride[2],Y=this.stride[3],X=this.stride[4],te=this.offset,se=0,ue=Math.ceil;return typeof S=="number"&&(se=S|0,se<0?(te+=O*(P-1),P=ue(-P/se)):P=ue(P/se),O*=se),typeof T=="number"&&(se=T|0,se<0?(te+=R*(D-1),D=ue(-D/se)):D=ue(D/se),R*=se),typeof p=="number"&&(se=p|0,se<0?(te+=B*(z-1),z=ue(-z/se)):z=ue(z/se),B*=se),typeof C=="number"&&(se=C|0,se<0?(te+=Y*(q-1),q=ue(-q/se)):q=ue(q/se),Y*=se),typeof A=="number"&&(se=A|0,se<0?(te+=X*(U-1),U=ue(-U/se)):U=ue(U/se),X*=se),new w(this.data,P,D,z,q,U,O,R,B,Y,X,te)},k.transpose=function(S,T,p,C,A){S=S===void 0?0:S|0,T=T===void 0?1:T|0,p=p===void 0?2:p|0,C=C===void 0?3:C|0,A=A===void 0?4:A|0;var P=this.shape,D=this.stride;return new w(this.data,P[S],P[T],P[p],P[C],P[A],D[S],D[T],D[p],D[C],D[A],this.offset)},k.pick=function(S,T,p,C,A){var P=[],D=[],z=this.offset;typeof S=="number"&&S>=0?z=z+this.stride[0]*S|0:(P.push(this.shape[0]),D.push(this.stride[0])),typeof T=="number"&&T>=0?z=z+this.stride[1]*T|0:(P.push(this.shape[1]),D.push(this.stride[1])),typeof p=="number"&&p>=0?z=z+this.stride[2]*p|0:(P.push(this.shape[2]),D.push(this.stride[2])),typeof C=="number"&&C>=0?z=z+this.stride[3]*C|0:(P.push(this.shape[3]),D.push(this.stride[3])),typeof A=="number"&&A>=0?z=z+this.stride[4]*A|0:(P.push(this.shape[4]),D.push(this.stride[4]));var q=E[P.length+1];return q(this.data,P,D,z)},function(S,T,p,C){return new w(S,T[0],T[1],T[2],T[3],T[4],p[0],p[1],p[2],p[3],p[4],C)}}};function h(x,g){var E=g===-1?"T":String(g),M=f[E];return g===-1?M(x):g===0?M(x,d[x][0]):M(x,d[x],c)}function v(x){if(s(x))return"buffer";if(l)switch(Object.prototype.toString.call(x)){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(x)?"array":"generic"}var d={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};function m(x,g,E,M){if(x===void 0){var p=d.array[0];return p([])}else typeof x=="number"&&(x=[x]);g===void 0&&(g=[x.length]);var w=g.length;if(E===void 0){E=new Array(w);for(var k=w-1,y=1;k>=0;--k)E[k]=y,y*=g[k]}if(M===void 0){M=0;for(var k=0;k>>0;a.exports=c;function c(f,h){if(isNaN(f)||isNaN(h))return NaN;if(f===h)return f;if(f===0)return h<0?-l:l;var v=s.hi(f),d=s.lo(f);return h>f==f>0?d===u?(v+=1,d=0):d+=1:d===0?(d=u,v-=1):d-=1,s.pack(d,v)}}),8406:(function(a,i){var o=1e-6,s=1e-6;i.vertexNormals=function(l,u,c){for(var f=u.length,h=new Array(f),v=c===void 0?o:c,d=0;dv)for(var P=h[g],D=1/Math.sqrt(T*C),A=0;A<3;++A){var z=(A+1)%3,q=(A+2)%3;P[A]+=D*(p[z]*S[q]-p[q]*S[z])}}for(var d=0;dv)for(var D=1/Math.sqrt(U),A=0;A<3;++A)P[A]*=D;else for(var A=0;A<3;++A)P[A]=0}return h},i.faceNormals=function(l,u,c){for(var f=l.length,h=new Array(f),v=c===void 0?s:c,d=0;dv?k=1/Math.sqrt(k):k=0;for(var g=0;g<3;++g)w[g]*=k;h[d]=w}return h}}),4081:(function(a){"use strict";a.exports=i;function i(o,s,l,u,c,f,h,v,d,m){var x=s+f+m;if(g>0){var g=Math.sqrt(x+1);o[0]=.5*(h-d)/g,o[1]=.5*(v-u)/g,o[2]=.5*(l-f)/g,o[3]=.5*g}else{var E=Math.max(s,f,m),g=Math.sqrt(2*E-x+1);s>=E?(o[0]=.5*g,o[1]=.5*(c+l)/g,o[2]=.5*(v+u)/g,o[3]=.5*(h-d)/g):f>=E?(o[0]=.5*(l+c)/g,o[1]=.5*g,o[2]=.5*(d+h)/g,o[3]=.5*(v-u)/g):(o[0]=.5*(u+v)/g,o[1]=.5*(h+d)/g,o[2]=.5*g,o[3]=.5*(l-c)/g)}return o}}),9977:(function(a,i,o){"use strict";a.exports=g;var s=o(9215),l=o(6582),u=o(7399),c=o(7608),f=o(4081);function h(E,M,w){return Math.sqrt(Math.pow(E,2)+Math.pow(M,2)+Math.pow(w,2))}function v(E,M,w,k){return Math.sqrt(Math.pow(E,2)+Math.pow(M,2)+Math.pow(w,2)+Math.pow(k,2))}function d(E,M){var w=M[0],k=M[1],y=M[2],S=M[3],T=v(w,k,y,S);T>1e-6?(E[0]=w/T,E[1]=k/T,E[2]=y/T,E[3]=S/T):(E[0]=E[1]=E[2]=0,E[3]=1)}function m(E,M,w){this.radius=s([w]),this.center=s(M),this.rotation=s(E),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 x=m.prototype;x.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},x.recalcMatrix=function(E){this.radius.curve(E),this.center.curve(E),this.rotation.curve(E);var M=this.computedRotation;d(M,M);var w=this.computedMatrix;u(w,M);var k=this.computedCenter,y=this.computedEye,S=this.computedUp,T=Math.exp(this.computedRadius[0]);y[0]=k[0]+T*w[2],y[1]=k[1]+T*w[6],y[2]=k[2]+T*w[10],S[0]=w[1],S[1]=w[5],S[2]=w[9];for(var p=0;p<3;++p){for(var C=0,A=0;A<3;++A)C+=w[p+4*A]*y[A];w[12+p]=-C}},x.getMatrix=function(E,M){this.recalcMatrix(E);var w=this.computedMatrix;if(M){for(var k=0;k<16;++k)M[k]=w[k];return M}return w},x.idle=function(E){this.center.idle(E),this.radius.idle(E),this.rotation.idle(E)},x.flush=function(E){this.center.flush(E),this.radius.flush(E),this.rotation.flush(E)},x.pan=function(E,M,w,k){M=M||0,w=w||0,k=k||0,this.recalcMatrix(E);var y=this.computedMatrix,S=y[1],T=y[5],p=y[9],C=h(S,T,p);S/=C,T/=C,p/=C;var A=y[0],P=y[4],D=y[8],z=A*S+P*T+D*p;A-=S*z,P-=T*z,D-=p*z;var q=h(A,P,D);A/=q,P/=q,D/=q;var U=y[2],O=y[6],R=y[10],B=U*S+O*T+R*p,Y=U*A+O*P+R*D;U-=B*S+Y*A,O-=B*T+Y*P,R-=B*p+Y*D;var X=h(U,O,R);U/=X,O/=X,R/=X;var te=A*M+S*w,se=P*M+T*w,ue=D*M+p*w;this.center.move(E,te,se,ue);var re=Math.exp(this.computedRadius[0]);re=Math.max(1e-4,re+k),this.radius.set(E,Math.log(re))},x.rotate=function(E,M,w,k){this.recalcMatrix(E),M=M||0,w=w||0;var y=this.computedMatrix,S=y[0],T=y[4],p=y[8],C=y[1],A=y[5],P=y[9],D=y[2],z=y[6],q=y[10],U=M*S+w*C,O=M*T+w*A,R=M*p+w*P,B=-(z*R-q*O),Y=-(q*U-D*R),X=-(D*O-z*U),te=Math.sqrt(Math.max(0,1-Math.pow(B,2)-Math.pow(Y,2)-Math.pow(X,2))),se=v(B,Y,X,te);se>1e-6?(B/=se,Y/=se,X/=se,te/=se):(B=Y=X=0,te=1);var ue=this.computedRotation,re=ue[0],j=ue[1],fe=ue[2],ce=ue[3],oe=re*te+ce*B+j*X-fe*Y,we=j*te+ce*Y+fe*B-re*X,he=fe*te+ce*X+re*Y-j*B,ye=ce*te-re*B-j*Y-fe*X;if(k){B=D,Y=z,X=q;var Pe=Math.sin(k)/h(B,Y,X);B*=Pe,Y*=Pe,X*=Pe,te=Math.cos(M),oe=oe*te+ye*B+we*X-he*Y,we=we*te+ye*Y+he*B-oe*X,he=he*te+ye*X+oe*Y-we*B,ye=ye*te-oe*B-we*Y-he*X}var le=v(oe,we,he,ye);le>1e-6?(oe/=le,we/=le,he/=le,ye/=le):(oe=we=he=0,ye=1),this.rotation.set(E,oe,we,he,ye)},x.lookAt=function(E,M,w,k){this.recalcMatrix(E),w=w||this.computedCenter,M=M||this.computedEye,k=k||this.computedUp;var y=this.computedMatrix;l(y,M,w,k);var S=this.computedRotation;f(S,y[0],y[1],y[2],y[4],y[5],y[6],y[8],y[9],y[10]),d(S,S),this.rotation.set(E,S[0],S[1],S[2],S[3]);for(var T=0,p=0;p<3;++p)T+=Math.pow(w[p]-M[p],2);this.radius.set(E,.5*Math.log(Math.max(T,1e-6))),this.center.set(E,w[0],w[1],w[2])},x.translate=function(E,M,w,k){this.center.move(E,M||0,w||0,k||0)},x.setMatrix=function(E,M){var w=this.computedRotation;f(w,M[0],M[1],M[2],M[4],M[5],M[6],M[8],M[9],M[10]),d(w,w),this.rotation.set(E,w[0],w[1],w[2],w[3]);var k=this.computedMatrix;c(k,M);var y=k[15];if(Math.abs(y)>1e-6){var S=k[12]/y,T=k[13]/y,p=k[14]/y;this.recalcMatrix(E);var C=Math.exp(this.computedRadius[0]);this.center.set(E,S-k[2]*C,T-k[6]*C,p-k[10]*C),this.radius.idle(E)}else this.center.idle(E),this.radius.idle(E)},x.setDistance=function(E,M){M>0&&this.radius.set(E,Math.log(M))},x.setDistanceLimits=function(E,M){E>0?E=Math.log(E):E=-1/0,M>0?M=Math.log(M):M=1/0,M=Math.max(M,E),this.radius.bounds[0][0]=E,this.radius.bounds[1][0]=M},x.getDistanceLimits=function(E){var M=this.radius.bounds;return E?(E[0]=Math.exp(M[0][0]),E[1]=Math.exp(M[1][0]),E):[Math.exp(M[0][0]),Math.exp(M[1][0])]},x.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]}},x.fromJSON=function(E){var M=this.lastT(),w=E.center;w&&this.center.set(M,w[0],w[1],w[2]);var k=E.rotation;k&&this.rotation.set(M,k[0],k[1],k[2],k[3]);var y=E.distance;y&&y>0&&this.radius.set(M,Math.log(y)),this.setDistanceLimits(E.zoomMin,E.zoomMax)};function g(E){E=E||{};var M=E.center||[0,0,0],w=E.rotation||[0,0,0,1],k=E.radius||1;M=[].slice.call(M,0,3),w=[].slice.call(w,0,4),d(w,w);var y=new m(w,M,Math.log(k));return y.setDistanceLimits(E.zoomMin,E.zoomMax),("eye"in E||"up"in E)&&y.lookAt(0,E.eye,E.center,E.up),y}}),1371:(function(a,i,o){"use strict";var s=o(3233);a.exports=function(u,c,f){return f=typeof f!="undefined"?f+"":" ",s(f,c)+u}}),3202:(function(a){a.exports=function(o,s){s||(s=[0,""]),o=String(o);var l=parseFloat(o,10);return s[0]=l,s[1]=o.match(/[\d.\-\+]*\s*(.*)/)[1]||"",s}}),3088:(function(a,i,o){"use strict";a.exports=l;var s=o(3140);function l(u,c){for(var f=c.length|0,h=u.length,v=[new Array(f),new Array(f)],d=0;d0){P=v[q][C][0],z=q;break}D=P[z^1];for(var U=0;U<2;++U)for(var O=v[U][C],R=0;R0&&(P=B,D=Y,z=U)}return A||P&&g(P,z),D}function M(p,C){var A=v[C][p][0],P=[p];g(A,C);for(var D=A[C^1],z=C;;){for(;D!==p;)P.push(D),D=E(P[P.length-2],D,!1);if(v[0][p].length+v[1][p].length===0)break;var q=P[P.length-1],U=p,O=P[1],R=E(q,U,!0);if(s(c[q],c[U],c[O],c[R])<0)break;P.push(p),D=E(q,U)}return P}function w(p,C){return C[1]===C[C.length-1]}for(var d=0;d0;){var S=v[0][d].length,T=M(d,k);w(y,T)?y.push.apply(y,T):(y.length>0&&x.push(y),y=T)}y.length>0&&x.push(y)}return x}}),5609:(function(a,i,o){"use strict";a.exports=l;var s=o(3134);function l(u,c){for(var f=s(u,c.length),h=new Array(c.length),v=new Array(c.length),d=[],m=0;m0;){var g=d.pop();h[g]=!1;for(var E=f[g],m=0;m0}S=S.filter(T);for(var p=S.length,C=new Array(p),A=new Array(p),y=0;y0;){var le=he.pop(),ze=se[le];h(ze,function(qe,mt){return qe-mt});var Xe=ze.length,vt=ye[le],st;if(vt===0){var O=S[le];st=[O]}for(var y=0;y=0)&&(ye[Oe]=vt^1,he.push(Oe),vt===0)){var O=S[Oe];we(O)||(O.reverse(),st.push(O))}}vt===0&&Pe.push(st)}return Pe}}),5085:(function(a,i,o){a.exports=E;var s=o(3250)[3],l=o(4209),u=o(3352),c=o(2478);function f(){return!0}function h(M){return function(w,k){var y=M[w];return y?!!y.queryPoint(k,f):!1}}function v(M){for(var w={},k=0;k0&&w[y]===k[0])S=M[y-1];else return 1;for(var T=1;S;){var p=S.key,C=s(k,p[0],p[1]);if(p[0][0]0)T=-1,S=S.right;else return 0;else if(C>0)S=S.left;else if(C<0)T=1,S=S.right;else return 0}return T}}function m(M){return 1}function x(M){return function(k){return M(k[0],k[1])?0:1}}function g(M,w){return function(y){return M(y[0],y[1])?0:w(y)}}function E(M){for(var w=M.length,k=[],y=[],S=0,T=0;T=m?(p=1,A=m+2*E+w):(p=-E/m,A=E*p+w)):(p=0,M>=0?(C=0,A=w):-M>=g?(C=1,A=g+2*M+w):(C=-M/g,A=M*C+w));else if(C<0)C=0,E>=0?(p=0,A=w):-E>=m?(p=1,A=m+2*E+w):(p=-E/m,A=E*p+w);else{var P=1/T;p*=P,C*=P,A=p*(m*p+x*C+2*E)+C*(x*p+g*C+2*M)+w}else{var D,z,q,U;p<0?(D=x+E,z=g+M,z>D?(q=z-D,U=m-2*x+g,q>=U?(p=1,C=0,A=m+2*E+w):(p=q/U,C=1-p,A=p*(m*p+x*C+2*E)+C*(x*p+g*C+2*M)+w)):(p=0,z<=0?(C=1,A=g+2*M+w):M>=0?(C=0,A=w):(C=-M/g,A=M*C+w))):C<0?(D=x+M,z=m+E,z>D?(q=z-D,U=m-2*x+g,q>=U?(C=1,p=0,A=g+2*M+w):(C=q/U,p=1-C,A=p*(m*p+x*C+2*E)+C*(x*p+g*C+2*M)+w)):(C=0,z<=0?(p=1,A=m+2*E+w):E>=0?(p=0,A=w):(p=-E/m,A=E*p+w))):(q=g+M-x-E,q<=0?(p=0,C=1,A=g+2*M+w):(U=m-2*x+g,q>=U?(p=1,C=0,A=m+2*E+w):(p=q/U,C=1-p,A=p*(m*p+x*C+2*E)+C*(x*p+g*C+2*M)+w)))}for(var O=1-p-C,d=0;d0){var g=f[v-1];if(s(m,g)===0&&u(g)!==x){v-=1;continue}}f[v++]=m}}return f.length=v,f}}),3233:(function(a){"use strict";var i="",o;a.exports=s;function s(l,u){if(typeof l!="string")throw new TypeError("expected a string");if(u===1)return l;if(u===2)return l+l;var c=l.length*u;if(o!==l||typeof o=="undefined")o=l,i="";else if(i.length>=c)return i.substr(0,c);for(;c>i.length&&u>1;)u&1&&(i+=l),u>>=1,l+=l;return i+=l,i=i.substr(0,c),i}}),3025:(function(a,i,o){a.exports=o.g.performance&&o.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}),7004:(function(a){"use strict";a.exports=i;function i(o){for(var s=o.length,l=o[o.length-1],u=s,c=s-2;c>=0;--c){var f=l,h=o[c];l=f+h;var v=l-f,d=h-v;d&&(o[--u]=l,l=d)}for(var m=0,c=u;c0){if(z<=0)return q;U=D+z}else if(D<0){if(z>=0)return q;U=-(D+z)}else return q;var O=v*U;return q>=O||q<=-O?q:M(C,A,P)},function(C,A,P,D){var z=C[0]-D[0],q=A[0]-D[0],U=P[0]-D[0],O=C[1]-D[1],R=A[1]-D[1],B=P[1]-D[1],Y=C[2]-D[2],X=A[2]-D[2],te=P[2]-D[2],se=q*B,ue=U*R,re=U*O,j=z*B,fe=z*R,ce=q*O,oe=Y*(se-ue)+X*(re-j)+te*(fe-ce),we=(Math.abs(se)+Math.abs(ue))*Math.abs(Y)+(Math.abs(re)+Math.abs(j))*Math.abs(X)+(Math.abs(fe)+Math.abs(ce))*Math.abs(te),he=d*we;return oe>he||-oe>he?oe:w(C,A,P,D)}];function y(p){var C=k[p.length];return C||(C=k[p.length]=E(p.length)),C.apply(void 0,p)}function S(p,C,A,P,D,z,q){return function(O,R,B,Y,X){switch(arguments.length){case 0:case 1:return 0;case 2:return P(O,R);case 3:return D(O,R,B);case 4:return z(O,R,B,Y);case 5:return q(O,R,B,Y,X)}for(var te=new Array(arguments.length),se=0;se0&&m>0||d<0&&m<0)return!1;var x=s(h,c,f),g=s(v,c,f);return x>0&&g>0||x<0&&g<0?!1:d===0&&m===0&&x===0&&g===0?l(c,f,h,v):!0}}),8545:(function(a){"use strict";a.exports=o;function i(s,l){var u=s+l,c=u-s,f=u-c,h=l-c,v=s-f,d=v+h;return d?[d,u]:[u]}function o(s,l){var u=s.length|0,c=l.length|0;if(u===1&&c===1)return i(s[0],-l[0]);var f=u+c,h=new Array(f),v=0,d=0,m=0,x=Math.abs,g=s[d],E=x(g),M=-l[m],w=x(M),k,y;E=c?(k=g,d+=1,d=c?(k=g,d+=1,d>1,M=f[2*E+1];if(M===m)return E;m>1,M=f[2*E+1];if(M===m)return E;m>1,M=f[2*E+1];if(M===m)return E;m>1,M=f[2*E+1];if(M===m)return E;m>1,U=v(C[q],A);U<=0?(U===0&&(z=q),P=q+1):U>0&&(D=q-1)}return z}s=g;function E(C,A){for(var P=new Array(C.length),D=0,z=P.length;D=C.length||v(C[se],q)!==0););}return P}s=E;function M(C,A){if(!A)return E(x(k(C,0)),C,0);for(var P=new Array(A),D=0;D>>B&1&&R.push(z[B]);A.push(R)}return m(A)}s=w;function k(C,A){if(A<0)return[];for(var P=[],D=(1<0)-(u<0)},i.abs=function(u){var c=u>>o-1;return(u^c)-c},i.min=function(u,c){return c^(u^c)&-(u65535)<<4,u>>>=c,f=(u>255)<<3,u>>>=f,c|=f,f=(u>15)<<2,u>>>=f,c|=f,f=(u>3)<<1,u>>>=f,c|=f,c|u>>1},i.log10=function(u){return u>=1e9?9:u>=1e8?8:u>=1e7?7:u>=1e6?6:u>=1e5?5:u>=1e4?4:u>=1e3?3:u>=100?2:u>=10?1:0},i.popCount=function(u){return u=u-(u>>>1&1431655765),u=(u&858993459)+(u>>>2&858993459),(u+(u>>>4)&252645135)*16843009>>>24};function s(u){var c=32;return u&=-u,u&&c--,u&65535&&(c-=16),u&16711935&&(c-=8),u&252645135&&(c-=4),u&858993459&&(c-=2),u&1431655765&&(c-=1),c}i.countTrailingZeros=s,i.nextPow2=function(u){return u+=u===0,--u,u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u+1},i.prevPow2=function(u){return u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u-(u>>>1)},i.parity=function(u){return u^=u>>>16,u^=u>>>8,u^=u>>>4,u&=15,27030>>>u&1};var l=new Array(256);(function(u){for(var c=0;c<256;++c){var f=c,h=c,v=7;for(f>>>=1;f;f>>>=1)h<<=1,h|=f&1,--v;u[c]=h<>>8&255]<<16|l[u>>>16&255]<<8|l[u>>>24&255]},i.interleave2=function(u,c){return u&=65535,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,c&=65535,c=(c|c<<8)&16711935,c=(c|c<<4)&252645135,c=(c|c<<2)&858993459,c=(c|c<<1)&1431655765,u|c<<1},i.deinterleave2=function(u,c){return u=u>>>c&1431655765,u=(u|u>>>1)&858993459,u=(u|u>>>2)&252645135,u=(u|u>>>4)&16711935,u=(u|u>>>16)&65535,u<<16>>16},i.interleave3=function(u,c,f){return u&=1023,u=(u|u<<16)&4278190335,u=(u|u<<8)&251719695,u=(u|u<<4)&3272356035,u=(u|u<<2)&1227133513,c&=1023,c=(c|c<<16)&4278190335,c=(c|c<<8)&251719695,c=(c|c<<4)&3272356035,c=(c|c<<2)&1227133513,u|=c<<1,f&=1023,f=(f|f<<16)&4278190335,f=(f|f<<8)&251719695,f=(f|f<<4)&3272356035,f=(f|f<<2)&1227133513,u|f<<2},i.deinterleave3=function(u,c){return u=u>>>c&1227133513,u=(u|u>>>2)&3272356035,u=(u|u>>>4)&251719695,u=(u|u>>>8)&4278190335,u=(u|u>>>16)&1023,u<<22>>22},i.nextCombination=function(u){var c=u|u-1;return c+1|(~c&-~c)-1>>>s(u)+1}}),2014:(function(a,i,o){"use strict";"use restrict";var s=o(3105),l=o(4623);function u(p){for(var C=0,A=Math.max,P=0,D=p.length;P>1,q=h(p[z],C);q<=0?(q===0&&(D=z),A=z+1):q>0&&(P=z-1)}return D}i.findCell=x;function g(p,C){for(var A=new Array(p.length),P=0,D=A.length;P=p.length||h(p[te],z)!==0););}return A}i.incidence=g;function E(p,C){if(!C)return g(m(w(p,0)),p,0);for(var A=new Array(C),P=0;P>>R&1&&O.push(D[R]);C.push(O)}return d(C)}i.explode=M;function w(p,C){if(C<0)return[];for(var A=[],P=(1<>1:(j>>1)-1}function P(j){for(var fe=C(j);;){var ce=fe,oe=2*j+1,we=2*(j+1),he=j;if(oe0;){var ce=A(j);if(ce>=0){var oe=C(ce);if(fe0){var j=O[0];return p(0,Y-1),Y-=1,P(0),j}return-1}function q(j,fe){var ce=O[j];return E[ce]===fe?j:(E[ce]=-1/0,D(j),z(),E[ce]=fe,Y+=1,D(Y-1))}function U(j){if(!M[j]){M[j]=!0;var fe=x[j],ce=g[j];x[ce]>=0&&(x[ce]=fe),g[fe]>=0&&(g[fe]=ce),R[fe]>=0&&q(R[fe],T(fe)),R[ce]>=0&&q(R[ce],T(ce))}}for(var O=[],R=new Array(d),w=0;w>1;w>=0;--w)P(w);for(;;){var X=z();if(X<0||E[X]>v)break;U(X)}for(var te=[],w=0;w=0&&ce>=0&&fe!==ce){var oe=R[fe],we=R[ce];oe!==we&&re.push([oe,we])}}),l.unique(l.normalize(re)),{positions:te,edges:re}}}),1303:(function(a,i,o){"use strict";a.exports=u;var s=o(3250);function l(c,f){var h,v;if(f[0][0]f[1][0])h=f[1],v=f[0];else{var d=Math.min(c[0][1],c[1][1]),m=Math.max(c[0][1],c[1][1]),x=Math.min(f[0][1],f[1][1]),g=Math.max(f[0][1],f[1][1]);return mg?d-g:m-g}var E,M;c[0][1]f[1][0])h=f[1],v=f[0];else return l(f,c);var d,m;if(c[0][0]c[1][0])d=c[1],m=c[0];else return-l(c,f);var x=s(h,v,m),g=s(h,v,d);if(x<0){if(g<=0)return x}else if(x>0){if(g>=0)return x}else if(g)return g;if(x=s(m,d,v),g=s(m,d,h),x<0){if(g<=0)return x}else if(x>0){if(g>=0)return x}else if(g)return g;return v[0]-m[0]}}),4209:(function(a,i,o){"use strict";a.exports=g;var s=o(2478),l=o(3840),u=o(3250),c=o(1303);function f(E,M,w){this.slabs=E,this.coordinates=M,this.horizontal=w}var h=f.prototype;function v(E,M){return E.y-M}function d(E,M){for(var w=null;E;){var k=E.key,y,S;k[0][0]0)if(M[0]!==k[1][0])w=E,E=E.right;else{var p=d(E.right,M);if(p)return p;E=E.left}else{if(M[0]!==k[1][0])return E;var p=d(E.right,M);if(p)return p;E=E.left}}return w}h.castUp=function(E){var M=s.le(this.coordinates,E[0]);if(M<0)return-1;var w=this.slabs[M],k=d(this.slabs[M],E),y=-1;if(k&&(y=k.value),this.coordinates[M]===E[0]){var S=null;if(k&&(S=k.key),M>0){var T=d(this.slabs[M-1],E);T&&(S?c(T.key,S)>0&&(S=T.key,y=T.value):(y=T.value,S=T.key))}var p=this.horizontal[M];if(p.length>0){var C=s.ge(p,E[1],v);if(C=p.length)return y;A=p[C]}}if(A.start)if(S){var P=u(S[0],S[1],[E[0],A.y]);S[0][0]>S[1][0]&&(P=-P),P>0&&(y=A.index)}else y=A.index;else A.y!==E[1]&&(y=A.index)}}}return y};function m(E,M,w,k){this.y=E,this.index=M,this.start=w,this.closed=k}function x(E,M,w,k){this.x=E,this.segment=M,this.create=w,this.index=k}function g(E){for(var M=E.length,w=2*M,k=new Array(w),y=0;y1&&(M=1);for(var w=1-M,k=d.length,y=new Array(k),S=0;S0||E>0&&y<0){var S=c(M,y,w,E);x.push(S),g.push(S.slice())}y<0?g.push(w.slice()):y>0?x.push(w.slice()):(x.push(w.slice()),g.push(w.slice())),E=y}return{positive:x,negative:g}}function h(d,m){for(var x=[],g=u(d[d.length-1],m),E=d[d.length-1],M=d[0],w=0;w0||g>0&&k<0)&&x.push(c(E,k,M,g)),k>=0&&x.push(M.slice()),g=k}return x}function v(d,m){for(var x=[],g=u(d[d.length-1],m),E=d[d.length-1],M=d[0],w=0;w0||g>0&&k<0)&&x.push(c(E,k,M,g)),k<=0&&x.push(M.slice()),g=k}return x}}),3387:(function(a,i,o){var s;(function(){"use strict";var l={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 u(d){return f(v(d),arguments)}function c(d,m){return u.apply(null,[d].concat(m||[]))}function f(d,m){var x=1,g=d.length,E,M="",w,k,y,S,T,p,C,A;for(w=0;w=0),y.type){case"b":E=parseInt(E,10).toString(2);break;case"c":E=String.fromCharCode(parseInt(E,10));break;case"d":case"i":E=parseInt(E,10);break;case"j":E=JSON.stringify(E,null,y.width?parseInt(y.width):0);break;case"e":E=y.precision?parseFloat(E).toExponential(y.precision):parseFloat(E).toExponential();break;case"f":E=y.precision?parseFloat(E).toFixed(y.precision):parseFloat(E);break;case"g":E=y.precision?String(Number(E.toPrecision(y.precision))):parseFloat(E);break;case"o":E=(parseInt(E,10)>>>0).toString(8);break;case"s":E=String(E),E=y.precision?E.substring(0,y.precision):E;break;case"t":E=String(!!E),E=y.precision?E.substring(0,y.precision):E;break;case"T":E=Object.prototype.toString.call(E).slice(8,-1).toLowerCase(),E=y.precision?E.substring(0,y.precision):E;break;case"u":E=parseInt(E,10)>>>0;break;case"v":E=E.valueOf(),E=y.precision?E.substring(0,y.precision):E;break;case"x":E=(parseInt(E,10)>>>0).toString(16);break;case"X":E=(parseInt(E,10)>>>0).toString(16).toUpperCase();break}l.json.test(y.type)?M+=E:(l.number.test(y.type)&&(!C||y.sign)?(A=C?"+":"-",E=E.toString().replace(l.sign,"")):A="",T=y.pad_char?y.pad_char==="0"?"0":y.pad_char.charAt(1):" ",p=y.width-(A+E).length,S=y.width&&p>0?T.repeat(p):"",M+=y.align?A+E+S:T==="0"?A+S+E:S+A+E)}return M}var h=Object.create(null);function v(d){if(h[d])return h[d];for(var m=d,x,g=[],E=0;m;){if((x=l.text.exec(m))!==null)g.push(x[0]);else if((x=l.modulo.exec(m))!==null)g.push("%");else if((x=l.placeholder.exec(m))!==null){if(x[2]){E|=1;var M=[],w=x[2],k=[];if((k=l.key.exec(w))!==null)for(M.push(k[1]);(w=w.substring(k[0].length))!=="";)if((k=l.key_access.exec(w))!==null)M.push(k[1]);else if((k=l.index_access.exec(w))!==null)M.push(k[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");x[2]=M}else E|=2;if(E===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");g.push({placeholder:x[0],param_no:x[1],keys:x[2],sign:x[3],pad_char:x[4],align:x[5],width:x[6],precision:x[7],type:x[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");m=m.substring(x[0].length)}return h[d]=g}i.sprintf=u,i.vsprintf=c,typeof window!="undefined"&&(window.sprintf=u,window.vsprintf=c,s=(function(){return{sprintf:u,vsprintf:c}}).call(i,o,i,a),s!==void 0&&(a.exports=s))})()}),3711:(function(a,i,o){"use strict";a.exports=v;var s=o(2640),l=o(781),u={"2d":function(d,m,x){var g=d({order:m,scalarArguments:3,getters:x==="generic"?[0]:void 0,phase:function(M,w,k,y){return M>y|0},vertex:function(M,w,k,y,S,T,p,C,A,P,D,z,q){var U=(p<<0)+(C<<1)+(A<<2)+(P<<3)|0;if(!(U===0||U===15))switch(U){case 0:D.push([M-.5,w-.5]);break;case 1:D.push([M-.25-.25*(y+k-2*q)/(k-y),w-.25-.25*(S+k-2*q)/(k-S)]);break;case 2:D.push([M-.75-.25*(-y-k+2*q)/(y-k),w-.25-.25*(T+y-2*q)/(y-T)]);break;case 3:D.push([M-.5,w-.5-.5*(S+k+T+y-4*q)/(k-S+y-T)]);break;case 4:D.push([M-.25-.25*(T+S-2*q)/(S-T),w-.75-.25*(-S-k+2*q)/(S-k)]);break;case 5:D.push([M-.5-.5*(y+k+T+S-4*q)/(k-y+S-T),w-.5]);break;case 6:D.push([M-.5-.25*(-y-k+T+S)/(y-k+S-T),w-.5-.25*(-S-k+T+y)/(S-k+y-T)]);break;case 7:D.push([M-.75-.25*(T+S-2*q)/(S-T),w-.75-.25*(T+y-2*q)/(y-T)]);break;case 8:D.push([M-.75-.25*(-T-S+2*q)/(T-S),w-.75-.25*(-T-y+2*q)/(T-y)]);break;case 9:D.push([M-.5-.25*(y+k+-T-S)/(k-y+T-S),w-.5-.25*(S+k+-T-y)/(k-S+T-y)]);break;case 10:D.push([M-.5-.5*(-y-k+-T-S+4*q)/(y-k+T-S),w-.5]);break;case 11:D.push([M-.25-.25*(-T-S+2*q)/(T-S),w-.75-.25*(S+k-2*q)/(k-S)]);break;case 12:D.push([M-.5,w-.5-.5*(-S-k+-T-y+4*q)/(S-k+T-y)]);break;case 13:D.push([M-.75-.25*(y+k-2*q)/(k-y),w-.25-.25*(-T-y+2*q)/(T-y)]);break;case 14:D.push([M-.25-.25*(-y-k+2*q)/(y-k),w-.25-.25*(-S-k+2*q)/(S-k)]);break;case 15:D.push([M-.5,w-.5]);break}},cell:function(M,w,k,y,S,T,p,C,A){S?C.push([M,w]):C.push([w,M])}});return function(E,M){var w=[],k=[];return g(E,w,k,M),{positions:w,cells:k}}}};function c(d,m){var x=d.length+"d",g=u[x];if(g)return g(s,d,m)}function f(d,m){for(var x=l(d,m),g=x.length,E=new Array(g),M=new Array(g),w=0;wMath.max(y,S)?T[2]=1:y>Math.max(k,S)?T[0]=1:T[1]=1;for(var p=0,C=0,A=0;A<3;++A)p+=w[A]*w[A],C+=T[A]*w[A];for(var A=0;A<3;++A)T[A]-=C/p*w[A];return f(T,T),T}function x(w,k,y,S,T,p,C,A){this.center=s(y),this.up=s(S),this.right=s(T),this.radius=s([p]),this.angle=s([C,A]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(w,k),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 P=0;P<16;++P)this.computedMatrix[P]=.5;this.recalcMatrix(0)}var g=x.prototype;g.setDistanceLimits=function(w,k){w>0?w=Math.log(w):w=-1/0,k>0?k=Math.log(k):k=1/0,k=Math.max(k,w),this.radius.bounds[0][0]=w,this.radius.bounds[1][0]=k},g.getDistanceLimits=function(w){var k=this.radius.bounds[0];return w?(w[0]=Math.exp(k[0][0]),w[1]=Math.exp(k[1][0]),w):[Math.exp(k[0][0]),Math.exp(k[1][0])]},g.recalcMatrix=function(w){this.center.curve(w),this.up.curve(w),this.right.curve(w),this.radius.curve(w),this.angle.curve(w);for(var k=this.computedUp,y=this.computedRight,S=0,T=0,p=0;p<3;++p)T+=k[p]*y[p],S+=k[p]*k[p];for(var C=Math.sqrt(S),A=0,p=0;p<3;++p)y[p]-=k[p]*T/S,A+=y[p]*y[p],k[p]/=C;for(var P=Math.sqrt(A),p=0;p<3;++p)y[p]/=P;var D=this.computedToward;c(D,k,y),f(D,D);for(var z=Math.exp(this.computedRadius[0]),q=this.computedAngle[0],U=this.computedAngle[1],O=Math.cos(q),R=Math.sin(q),B=Math.cos(U),Y=Math.sin(U),X=this.computedCenter,te=O*B,se=R*B,ue=Y,re=-O*Y,j=-R*Y,fe=B,ce=this.computedEye,oe=this.computedMatrix,p=0;p<3;++p){var we=te*y[p]+se*D[p]+ue*k[p];oe[4*p+1]=re*y[p]+j*D[p]+fe*k[p],oe[4*p+2]=we,oe[4*p+3]=0}var he=oe[1],ye=oe[5],Pe=oe[9],le=oe[2],ze=oe[6],Xe=oe[10],vt=ye*Xe-Pe*ze,st=Pe*le-he*Xe,Oe=he*ze-ye*le,qe=v(vt,st,Oe);vt/=qe,st/=qe,Oe/=qe,oe[0]=vt,oe[4]=st,oe[8]=Oe;for(var p=0;p<3;++p)ce[p]=X[p]+oe[2+4*p]*z;for(var p=0;p<3;++p){for(var A=0,mt=0;mt<3;++mt)A+=oe[p+4*mt]*ce[mt];oe[12+p]=-A}oe[15]=1},g.getMatrix=function(w,k){this.recalcMatrix(w);var y=this.computedMatrix;if(k){for(var S=0;S<16;++S)k[S]=y[S];return k}return y};var E=[0,0,0];g.rotate=function(w,k,y,S){if(this.angle.move(w,k,y),S){this.recalcMatrix(w);var T=this.computedMatrix;E[0]=T[2],E[1]=T[6],E[2]=T[10];for(var p=this.computedUp,C=this.computedRight,A=this.computedToward,P=0;P<3;++P)T[4*P]=p[P],T[4*P+1]=C[P],T[4*P+2]=A[P];u(T,T,S,E);for(var P=0;P<3;++P)p[P]=T[4*P],C[P]=T[4*P+1];this.up.set(w,p[0],p[1],p[2]),this.right.set(w,C[0],C[1],C[2])}},g.pan=function(w,k,y,S){k=k||0,y=y||0,S=S||0,this.recalcMatrix(w);var T=this.computedMatrix,p=Math.exp(this.computedRadius[0]),C=T[1],A=T[5],P=T[9],D=v(C,A,P);C/=D,A/=D,P/=D;var z=T[0],q=T[4],U=T[8],O=z*C+q*A+U*P;z-=C*O,q-=A*O,U-=P*O;var R=v(z,q,U);z/=R,q/=R,U/=R;var B=z*k+C*y,Y=q*k+A*y,X=U*k+P*y;this.center.move(w,B,Y,X);var te=Math.exp(this.computedRadius[0]);te=Math.max(1e-4,te+S),this.radius.set(w,Math.log(te))},g.translate=function(w,k,y,S){this.center.move(w,k||0,y||0,S||0)},g.setMatrix=function(w,k,y,S){var T=1;typeof y=="number"&&(T=y|0),(T<0||T>3)&&(T=1);var p=(T+2)%3,C=(T+1)%3;k||(this.recalcMatrix(w),k=this.computedMatrix);var A=k[T],P=k[T+4],D=k[T+8];if(S){var q=Math.abs(A),U=Math.abs(P),O=Math.abs(D),R=Math.max(q,U,O);q===R?(A=A<0?-1:1,P=D=0):O===R?(D=D<0?-1:1,A=P=0):(P=P<0?-1:1,A=D=0)}else{var z=v(A,P,D);A/=z,P/=z,D/=z}var B=k[p],Y=k[p+4],X=k[p+8],te=B*A+Y*P+X*D;B-=A*te,Y-=P*te,X-=D*te;var se=v(B,Y,X);B/=se,Y/=se,X/=se;var ue=P*X-D*Y,re=D*B-A*X,j=A*Y-P*B,fe=v(ue,re,j);ue/=fe,re/=fe,j/=fe,this.center.jump(w,Ue,ge,Ge),this.radius.idle(w),this.up.jump(w,A,P,D),this.right.jump(w,B,Y,X);var ce,oe;if(T===2){var we=k[1],he=k[5],ye=k[9],Pe=we*B+he*Y+ye*X,le=we*ue+he*re+ye*j;st<0?ce=-Math.PI/2:ce=Math.PI/2,oe=Math.atan2(le,Pe)}else{var ze=k[2],Xe=k[6],vt=k[10],st=ze*A+Xe*P+vt*D,Oe=ze*B+Xe*Y+vt*X,qe=ze*ue+Xe*re+vt*j;ce=Math.asin(d(st)),oe=Math.atan2(qe,Oe)}this.angle.jump(w,oe,ce),this.recalcMatrix(w);var mt=k[2],lt=k[6],Ie=k[10],de=this.computedMatrix;l(de,k);var Ee=de[15],Ue=de[12]/Ee,ge=de[13]/Ee,Ge=de[14]/Ee,tt=Math.exp(this.computedRadius[0]);this.center.jump(w,Ue-mt*tt,ge-lt*tt,Ge-Ie*tt)},g.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},g.idle=function(w){this.center.idle(w),this.up.idle(w),this.right.idle(w),this.radius.idle(w),this.angle.idle(w)},g.flush=function(w){this.center.flush(w),this.up.flush(w),this.right.flush(w),this.radius.flush(w),this.angle.flush(w)},g.setDistance=function(w,k){k>0&&this.radius.set(w,Math.log(k))},g.lookAt=function(w,k,y,S){this.recalcMatrix(w),k=k||this.computedEye,y=y||this.computedCenter,S=S||this.computedUp;var T=S[0],p=S[1],C=S[2],A=v(T,p,C);if(!(A<1e-6)){T/=A,p/=A,C/=A;var P=k[0]-y[0],D=k[1]-y[1],z=k[2]-y[2],q=v(P,D,z);if(!(q<1e-6)){P/=q,D/=q,z/=q;var U=this.computedRight,O=U[0],R=U[1],B=U[2],Y=T*O+p*R+C*B;O-=Y*T,R-=Y*p,B-=Y*C;var X=v(O,R,B);if(!(X<.01&&(O=p*z-C*D,R=C*P-T*z,B=T*D-p*P,X=v(O,R,B),X<1e-6))){O/=X,R/=X,B/=X,this.up.set(w,T,p,C),this.right.set(w,O,R,B),this.center.set(w,y[0],y[1],y[2]),this.radius.set(w,Math.log(q));var te=p*B-C*R,se=C*O-T*B,ue=T*R-p*O,re=v(te,se,ue);te/=re,se/=re,ue/=re;var j=T*P+p*D+C*z,fe=O*P+R*D+B*z,ce=te*P+se*D+ue*z,oe=Math.asin(d(j)),we=Math.atan2(ce,fe),he=this.angle._state,ye=he[he.length-1],Pe=he[he.length-2];ye=ye%(2*Math.PI);var le=Math.abs(ye+2*Math.PI-we),ze=Math.abs(ye-we),Xe=Math.abs(ye-2*Math.PI-we);le0?B.pop():new ArrayBuffer(O)}i.mallocArrayBuffer=E;function M(U){return new Uint8Array(E(U),0,U)}i.mallocUint8=M;function w(U){return new Uint16Array(E(2*U),0,U)}i.mallocUint16=w;function k(U){return new Uint32Array(E(4*U),0,U)}i.mallocUint32=k;function y(U){return new Int8Array(E(U),0,U)}i.mallocInt8=y;function S(U){return new Int16Array(E(2*U),0,U)}i.mallocInt16=S;function T(U){return new Int32Array(E(4*U),0,U)}i.mallocInt32=T;function p(U){return new Float32Array(E(4*U),0,U)}i.mallocFloat32=i.mallocFloat=p;function C(U){return new Float64Array(E(8*U),0,U)}i.mallocFloat64=i.mallocDouble=C;function A(U){return c?new Uint8ClampedArray(E(U),0,U):M(U)}i.mallocUint8Clamped=A;function P(U){return f?new BigUint64Array(E(8*U),0,U):null}i.mallocBigUint64=P;function D(U){return h?new BigInt64Array(E(8*U),0,U):null}i.mallocBigInt64=D;function z(U){return new DataView(E(U),0,U)}i.mallocDataView=z;function q(U){U=s.nextPow2(U);var O=s.log2(U),R=m[O];return R.length>0?R.pop():new u(U)}i.mallocBuffer=q,i.clearCache=function(){for(var O=0;O<32;++O)v.UINT8[O].length=0,v.UINT16[O].length=0,v.UINT32[O].length=0,v.INT8[O].length=0,v.INT16[O].length=0,v.INT32[O].length=0,v.FLOAT[O].length=0,v.DOUBLE[O].length=0,v.BIGUINT64[O].length=0,v.BIGINT64[O].length=0,v.UINT8C[O].length=0,d[O].length=0,m[O].length=0}}),1755:(function(a){"use strict";"use restrict";a.exports=i;function i(s){this.roots=new Array(s),this.ranks=new Array(s);for(var l=0;l",B="",Y=R.length,X=B.length,te=q[0]===E||q[0]===k,se=0,ue=-X;se>-1&&(se=U.indexOf(R,se),!(se===-1||(ue=U.indexOf(B,se+Y),ue===-1)||ue<=se));){for(var re=se;re=ue)O[re]=null,U=U.substr(0,re)+" "+U.substr(re+1);else if(O[re]!==null){var j=O[re].indexOf(q[0]);j===-1?O[re]+=q:te&&(O[re]=O[re].substr(0,j+1)+(1+parseInt(O[re][j+1]))+O[re].substr(j+2))}var fe=se+Y,ce=U.substr(fe,ue-fe),oe=ce.indexOf(R);oe!==-1?se=oe:se=ue+X}return O}function T(z,q,U){for(var O=q.textAlign||"start",R=q.textBaseline||"alphabetic",B=[1<<30,1<<30],Y=[0,0],X=z.length,te=0;te/g,` +`):U=U.replace(/\/g," ");var Y="",X=[];for(ye=0;ye-1?parseInt(ge[1+ft]):0,We=He>-1?parseInt(Ge[1+He]):0;Qe!==We&&(tt=tt.replace(Oe(),"?px "),ze*=Math.pow(.75,We-Qe),tt=tt.replace("?px ",Oe())),le+=.25*j*(We-Qe)}if(B.superscripts===!0){var pt=ge.indexOf(E),kt=Ge.indexOf(E),qt=pt>-1?parseInt(ge[1+pt]):0,Wt=kt>-1?parseInt(Ge[1+kt]):0;qt!==Wt&&(tt=tt.replace(Oe(),"?px "),ze*=Math.pow(.75,Wt-qt),tt=tt.replace("?px ",Oe())),le-=.25*j*(Wt-qt)}if(B.bolds===!0){var _r=ge.indexOf(d)>-1,tr=Ge.indexOf(d)>-1;!_r&&tr&&(lr?tt=tt.replace("italic ","italic bold "):tt="bold "+tt),_r&&!tr&&(tt=tt.replace("bold ",""))}if(B.italics===!0){var lr=ge.indexOf(x)>-1,Ye=Ge.indexOf(x)>-1;!lr&&Ye&&(tt="italic "+tt),lr&&!Ye&&(tt=tt.replace("italic ",""))}q.font=tt}for(he=0;he0&&(R=O.size),O.lineSpacing&&O.lineSpacing>0&&(B=O.lineSpacing),O.styletags&&O.styletags.breaklines&&(Y.breaklines=!!O.styletags.breaklines),O.styletags&&O.styletags.bolds&&(Y.bolds=!!O.styletags.bolds),O.styletags&&O.styletags.italics&&(Y.italics=!!O.styletags.italics),O.styletags&&O.styletags.subscripts&&(Y.subscripts=!!O.styletags.subscripts),O.styletags&&O.styletags.superscripts&&(Y.superscripts=!!O.styletags.superscripts)),U.font=[O.fontStyle,O.fontVariant,O.fontWeight,R+"px",O.font].filter(function(te){return te}).join(" "),U.textAlign="start",U.textBaseline="alphabetic",U.direction="ltr";var X=p(q,U,z,R,B,Y);return P(X,O,R)}}),1538:(function(a){(function(){"use strict";if(typeof ses!="undefined"&&ses.ok&&!ses.ok())return;function o(A){A.permitHostObjects___&&A.permitHostObjects___(o)}typeof ses!="undefined"&&(ses.weakMapPermitHostObjects=o);var s=!1;if(typeof WeakMap=="function"){var l=WeakMap;if(!(typeof navigator!="undefined"&&/Firefox/.test(navigator.userAgent))){var u=new l,c=Object.freeze({});if(u.set(c,1),u.get(c)!==1)s=!0;else{a.exports=WeakMap;return}}}var f=Object.prototype.hasOwnProperty,h=Object.getOwnPropertyNames,v=Object.defineProperty,d=Object.isExtensible,m="weakmap:",x=m+"ident:"+Math.random()+"___";if(typeof crypto!="undefined"&&typeof crypto.getRandomValues=="function"&&typeof ArrayBuffer=="function"&&typeof Uint8Array=="function"){var g=new ArrayBuffer(25),E=new Uint8Array(g);crypto.getRandomValues(E),x=m+"rand:"+Array.prototype.map.call(E,function(A){return(A%36).toString(36)}).join("")+"___"}function M(A){return!(A.substr(0,m.length)==m&&A.substr(A.length-3)==="___")}if(v(Object,"getOwnPropertyNames",{value:function(P){return h(P).filter(M)}}),"getPropertyNames"in Object){var w=Object.getPropertyNames;v(Object,"getPropertyNames",{value:function(P){return w(P).filter(M)}})}function k(A){if(A!==Object(A))throw new TypeError("Not an object: "+A);var P=A[x];if(P&&P.key===A)return P;if(d(A)){P={key:A};try{return v(A,x,{value:P,writable:!1,enumerable:!1,configurable:!1}),P}catch(D){return}}}(function(){var A=Object.freeze;v(Object,"freeze",{value:function(q){return k(q),A(q)}});var P=Object.seal;v(Object,"seal",{value:function(q){return k(q),P(q)}});var D=Object.preventExtensions;v(Object,"preventExtensions",{value:function(q){return k(q),D(q)}})})();function y(A){return A.prototype=null,Object.freeze(A)}var S=!1;function T(){!S&&typeof console!="undefined"&&(S=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}var p=0,C=function(){this instanceof C||T();var A=[],P=[],D=p++;function z(R,B){var Y,X=k(R);return X?D in X?X[D]:B:(Y=A.indexOf(R),Y>=0?P[Y]:B)}function q(R){var B=k(R);return B?D in B:A.indexOf(R)>=0}function U(R,B){var Y,X=k(R);return X?X[D]=B:(Y=A.indexOf(R),Y>=0?P[Y]=B:(Y=A.length,P[Y]=B,A[Y]=R)),this}function O(R){var B=k(R),Y,X;return B?D in B&&delete B[D]:(Y=A.indexOf(R),Y<0?!1:(X=A.length-1,A[Y]=void 0,P[Y]=P[X],A[Y]=A[X],A.length=X,P.length=X,!0))}return Object.create(C.prototype,{get___:{value:y(z)},has___:{value:y(q)},set___:{value:y(U)},delete___:{value:y(O)}})};C.prototype=Object.create(Object.prototype,{get:{value:function(P,D){return this.get___(P,D)},writable:!0,configurable:!0},has:{value:function(P){return this.has___(P)},writable:!0,configurable:!0},set:{value:function(P,D){return this.set___(P,D)},writable:!0,configurable:!0},delete:{value:function(P){return this.delete___(P)},writable:!0,configurable:!0}}),typeof l=="function"?(function(){s&&typeof Proxy!="undefined"&&(Proxy=void 0);function A(){this instanceof C||T();var P=new l,D=void 0,z=!1;function q(B,Y){return D?P.has(B)?P.get(B):D.get___(B,Y):P.get(B,Y)}function U(B){return P.has(B)||(D?D.has___(B):!1)}var O;s?O=function(B,Y){return P.set(B,Y),P.has(B)||(D||(D=new C),D.set(B,Y)),this}:O=function(B,Y){if(z)try{P.set(B,Y)}catch(X){D||(D=new C),D.set___(B,Y)}else P.set(B,Y);return this};function R(B){var Y=!!P.delete(B);return D&&D.delete___(B)||Y}return Object.create(C.prototype,{get___:{value:y(q)},has___:{value:y(U)},set___:{value:y(O)},delete___:{value:y(R)},permitHostObjects___:{value:y(function(B){if(B===o)z=!0;else throw new Error("bogus call to permitHostObjects___")})}})}A.prototype=C.prototype,a.exports=A,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})})():(typeof Proxy!="undefined"&&(Proxy=void 0),a.exports=C)})()}),236:(function(a,i,o){var s=o(8284);a.exports=l;function l(){var u={};return function(c){if((typeof c!="object"||c===null)&&typeof c!="function")throw new Error("Weakmap-shim: Key must be object");var f=c.valueOf(u);return f&&f.identity===u?f:s(c,u)}}}),8284:(function(a){a.exports=i;function i(o,s){var l={identity:s},u=o.valueOf;return Object.defineProperty(o,"valueOf",{value:function(c){return c!==s?u.apply(this,arguments):l},writable:!0}),l}}),606:(function(a,i,o){var s=o(236);a.exports=l;function l(){var u=s();return{get:function(c,f){var h=u(c);return h.hasOwnProperty("value")?h.value:f},set:function(c,f){return u(c).value=f,this},has:function(c){return"value"in u(c)},delete:function(c){return delete u(c).value}}}}),3349:(function(a){"use strict";function i(){return function(f,h,v,d,m,x){var g=f[0],E=v[0],M=[0],w=E;d|=0;var k=0,y=E;for(k=0;k=0!=T>=0&&m.push(M[0]+.5+.5*(S+T)/(S-T))}d+=y,++M[0]}}}function o(){return i()}var s=o;function l(f){var h={};return function(d,m,x){var g=d.dtype,E=d.order,M=[g,E.join()].join(),w=h[M];return w||(h[M]=w=f([g,E])),w(d.shape.slice(0),d.data,d.stride,d.offset|0,m,x)}}function u(f){return l(s.bind(void 0,f))}function c(f){return u({funcName:f.funcName})}a.exports=c({funcName:"zeroCrossings"})}),781:(function(a,i,o){"use strict";a.exports=l;var s=o(3349);function l(u,c){var f=[];return c=+c||0,s(u.hi(u.shape[0]-1),f,c),f}}),7790:(function(){})},t={};function r(a){var i=t[a];if(i!==void 0)return i.exports;var o=t[a]={id:a,loaded:!1,exports:{}};return e[a].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}(function(){r.g=(function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch(a){if(typeof window=="object")return window}})()})(),(function(){r.nmd=function(a){return a.paths=[],a.children||(a.children=[]),a}})();var n=r(1964);$Ee.exports=n})()});var mG=ne((Lhr,KEe)=>{"use strict";KEe.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]}});var tke=ne((Fhr,eke)=>{"use strict";var JEe=mG();eke.exports=Skt;var QEe={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function Skt(e){var t,r=[],n=1,a;if(typeof e=="string")if(e=e.toLowerCase(),JEe[e])r=JEe[e].slice(),a="rgb";else if(e==="transparent")n=0,a="rgb",r=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(e)){var i=e.slice(1),o=i.length,s=o<=4;n=1,s?(r=[parseInt(i[0]+i[0],16),parseInt(i[1]+i[1],16),parseInt(i[2]+i[2],16)],o===4&&(n=parseInt(i[3]+i[3],16)/255)):(r=[parseInt(i[0]+i[1],16),parseInt(i[2]+i[3],16),parseInt(i[4]+i[5],16)],o===8&&(n=parseInt(i[6]+i[7],16)/255)),r[0]||(r[0]=0),r[1]||(r[1]=0),r[2]||(r[2]=0),a="rgb"}else if(t=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(e)){var l=t[1],u=l==="rgb",i=l.replace(/a$/,"");a=i;var o=i==="cmyk"?4:i==="gray"?1:3;r=t[2].trim().split(/\s*[,\/]\s*|\s+/).map(function(h,v){if(/%$/.test(h))return v===o?parseFloat(h)/100:i==="rgb"?parseFloat(h)*255/100:parseFloat(h);if(i[v]==="h"){if(/deg$/.test(h))return parseFloat(h);if(QEe[h]!==void 0)return QEe[h]}return parseFloat(h)}),l===i&&r.push(1),n=u||r[o]===void 0?1:r[o],r=r.slice(0,o)}else e.length>10&&/[0-9](?:\s|\/)/.test(e)&&(r=e.match(/([0-9]+)/g).map(function(c){return parseFloat(c)}),a=e.match(/([a-z])/ig).join("").toLowerCase());else isNaN(e)?Array.isArray(e)||e.length?(r=[e[0],e[1],e[2]],a="rgb",n=e.length===4?e[3]:1):e instanceof Object&&(e.r!=null||e.red!=null||e.R!=null?(a="rgb",r=[e.r||e.red||e.R||0,e.g||e.green||e.G||0,e.b||e.blue||e.B||0]):(a="hsl",r=[e.h||e.hue||e.H||0,e.s||e.saturation||e.S||0,e.l||e.lightness||e.L||e.b||e.brightness]),n=e.a||e.alpha||e.opacity||1,e.opacity!=null&&(n/=100)):(a="rgb",r=[e>>>16,(e&65280)>>>8,e&255]);return{space:a,values:r,alpha:n}}});var nke=ne((Phr,rke)=>{"use strict";var Ekt=tke();rke.exports=function(t){Array.isArray(t)&&t.raw&&(t=String.raw.apply(null,arguments));var r,n,a,i=Ekt(t);if(!i.space)return[];var o=[0,0,0],s=i.space[0]==="h"?[360,100,100]:[255,255,255];return r=Array(3),r[0]=Math.min(Math.max(i.values[0],o[0]),s[0]),r[1]=Math.min(Math.max(i.values[1],o[1]),s[1]),r[2]=Math.min(Math.max(i.values[2],o[2]),s[2]),i.space[0]==="h"&&(r=kkt(r)),r.push(Math.min(Math.max(i.alpha,0),1)),r};function kkt(e){var t=e[0]/360,r=e[1]/100,n=e[2]/100,a,i,o,s,l,u=0;if(r===0)return l=n*255,[l,l,l];for(i=n<.5?n*(1+r):n+r-n*r,a=2*n-i,s=[0,0,0];u<3;)o=t+1/3*-(u-1),o<0?o++:o>1&&o--,l=6*o<1?a+(i-a)*6*o:2*o<1?i:3*o<2?a+(i-a)*(2/3-o)*6:a,s[u++]=l*255;return s}});var zA=ne((Dhr,ake)=>{ake.exports=Ckt;function Ckt(e,t,r){return tr?r:e:et?t:e}});var u7=ne((Rhr,ike)=>{ike.exports=function(e){switch(e){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}}});var Hm=ne((Ihr,oke)=>{"use strict";var Lkt=nke(),c7=zA(),Fkt=u7();oke.exports=function(t,r){(r==="float"||!r)&&(r="array"),r==="uint"&&(r="uint8"),r==="uint_clamped"&&(r="uint8_clamped");var n=Fkt(r),a=new n(4),i=r!=="uint8"&&r!=="uint8_clamped";return(!t.length||typeof t=="string")&&(t=Lkt(t),t[0]/=255,t[1]/=255,t[2]/=255),Pkt(t)?(a[0]=t[0],a[1]=t[1],a[2]=t[2],a[3]=t[3]!=null?t[3]:255,i&&(a[0]/=255,a[1]/=255,a[2]/=255,a[3]/=255),a):(i?(a[0]=t[0],a[1]=t[1],a[2]=t[2],a[3]=t[3]!=null?t[3]:1):(a[0]=c7(Math.floor(t[0]*255),0,255),a[1]=c7(Math.floor(t[1]*255),0,255),a[2]=c7(Math.floor(t[2]*255),0,255),a[3]=t[3]==null?255:c7(Math.floor(t[3]*255),0,255)),a)};function Pkt(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))}});var ng=ne((zhr,ske)=>{"use strict";var Dkt=Hm();function Rkt(e){return e?Dkt(e):[0,0,0,1]}ske.exports=Rkt});var ag=ne((qhr,vke)=>{"use strict";var hke=mi(),f7=Hm(),h7=El(),Ikt=_a(),zkt=Ic().defaultLine,lke=Ih().isArrayOrTypedArray,yG=f7(zkt),dke=1;function uke(e,t){var r=e;return r[3]*=t,r}function cke(e){if(hke(e))return yG;var t=f7(e);return t.length?t:yG}function fke(e){return hke(e)?e:dke}function qkt(e,t,r){var n=e.color;n&&n._inputArray&&(n=n._inputArray);var a=lke(n),i=lke(t),o=h7.extractOpts(e),s=[],l,u,c,f,h;if(o.colorscale!==void 0?l=h7.makeColorScaleFuncFromTrace(e):l=cke,a?u=function(d,m){return d[m]===void 0?yG:f7(l(d[m]))}:u=cke,i?c=function(d,m){return d[m]===void 0?dke:fke(d[m])}:c=fke,a||i)for(var v=0;v{"use strict";pke.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}});var d7=ne((Ohr,gke)=>{"use strict";gke.exports={circle:"\u25CF","circle-open":"\u25CB",square:"\u25A0","square-open":"\u25A1",diamond:"\u25C6","diamond-open":"\u25C7",cross:"+",x:"\u274C"}});var yke=ne((Nhr,mke)=>{"use strict";var Okt=Fa();function bG(e,t,r,n){if(!t||!t.visible)return null;for(var a=Okt.getComponentMethod("errorbars","makeComputeError")(t),i=new Array(e.length),o=0;o0){var f=n.c2l(u);n._lowerLogErrorBound||(n._lowerLogErrorBound=f),n._lowerErrorBound=Math.min(n._lowerLogErrorBound,f)}}else i[o]=[-s[0]*r,s[1]*r]}return i}function Nkt(e){for(var t=0;t{"use strict";var Vkt=$f().gl_line3d,xke=$f().gl_scatter3d,Gkt=$f().gl_error3d,Hkt=$f().gl_mesh3d,jkt=$f().delaunay_triangulate,ig=Zt(),Ake=ng(),v7=ag().formatColor,Wkt=U5(),_G=xG(),Ykt=d7(),Xkt=ri(),Zkt=Hd().appendArrayPointValue,$kt=yke();function Mke(e,t){this.scene=e,this.uid=t,this.linePlot=null,this.scatterPlot=null,this.errorBars=null,this.textMarkers=null,this.delaunayMesh=null,this.color=null,this.mode="",this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}var TG=Mke.prototype;TG.handlePick=function(e){if(e.object&&(e.object===this.linePlot||e.object===this.delaunayMesh||e.object===this.textMarkers||e.object===this.scatterPlot)){var t=e.index=e.data.index;return e.object.highlight&&e.object.highlight(null),this.scatterPlot&&(e.object=this.scatterPlot,this.scatterPlot.highlight(e.data)),e.textLabel="",this.textLabels&&(ig.isArrayOrTypedArray(this.textLabels)?(this.textLabels[t]||this.textLabels[t]===0)&&(e.textLabel=this.textLabels[t]):e.textLabel=this.textLabels),e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]],!0}};function Kkt(e,t,r){var n=(r+1)%3,a=(r+2)%3,i=[],o=[],s;for(s=0;s-1?-1:e.indexOf("right")>-1?1:0}function _ke(e){return e==null?0:e.indexOf("top")>-1?-1:e.indexOf("bottom")>-1?1:0}function Qkt(e){var t=0,r=0,n=[t,r];if(Array.isArray(e))for(var a=0;a=0){var u=Kkt(s.position,s.delaunayColor,s.delaunayAxis);u.opacity=e.opacity,this.delaunayMesh?this.delaunayMesh.update(u):(u.gl=t,this.delaunayMesh=Hkt(u),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)};TG.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 nCt(e,t){var r=new Mke(e,t.uid);return r.update(t),r}Ske.exports=nCt});var kG=ne((Vhr,Fke)=>{"use strict";var og=Tu(),aCt=pl(),EG=Ys(),AG=Wl().axisHoverFormat,{hovertemplateAttrs:iCt,texttemplateAttrs:oCt,templatefallbackAttrs:kke}=rs(),Cke=os(),sCt=xG(),lCt=d7(),op=ci().extendFlat,uCt=Il().overrideAll,Lke=(By(),vl(qy)).default,cCt=og.line,y2=og.marker,fCt=y2.line,hCt=op({width:cCt.width,dash:{valType:"enumerated",values:Lke(sCt),dflt:"solid"}},EG("line"));function MG(e){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 SG=Fke.exports=uCt({x:og.x,y:og.y,z:{valType:"data_array"},text:op({},og.text,{}),texttemplate:oCt(),texttemplatefallback:kke({editType:"calc"}),hovertext:op({},og.hovertext,{}),hovertemplate:iCt(),hovertemplatefallback:kke(),xhoverformat:AG("x"),yhoverformat:AG("y"),zhoverformat:AG("z"),mode:op({},og.mode,{dflt:"lines+markers"}),surfaceaxis:{valType:"enumerated",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:"color"},projection:{x:MG("x"),y:MG("y"),z:MG("z")},connectgaps:og.connectgaps,line:hCt,marker:op({symbol:{valType:"enumerated",values:Lke(lCt),dflt:"circle",arrayOk:!0},size:op({},y2.size,{dflt:8}),sizeref:y2.sizeref,sizemin:y2.sizemin,sizemode:y2.sizemode,opacity:op({},y2.opacity,{arrayOk:!1}),colorbar:y2.colorbar,line:op({width:op({},fCt.width,{arrayOk:!1})},EG("marker.line"))},EG("marker")),textposition:op({},og.textposition,{dflt:"top center"}),textfont:aCt({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:"calc",colorEditType:"style",arrayOk:!0,variantValues:["normal","small-caps"]}),opacity:Cke.opacity,hoverinfo:op({},Cke.hoverinfo)},"calc","nested");SG.x.editType=SG.y.editType=SG.z.editType="calc+clearAxisTypes"});var Rke=ne((Ghr,Dke)=>{"use strict";var Pke=Fa(),dCt=Zt(),CG=ml(),vCt=Kv(),pCt=V0(),gCt=G0(),mCt=kG();Dke.exports=function(t,r,n,a){function i(v,d){return dCt.coerce(t,r,mCt,v,d)}var o=yCt(t,r,i,a);if(!o){r.visible=!1;return}i("text"),i("hovertext"),i("hovertemplate"),i("hovertemplatefallback"),i("xhoverformat"),i("yhoverformat"),i("zhoverformat"),i("mode"),CG.hasMarkers(r)&&vCt(t,r,n,a,i,{noAngle:!0,noLineDash:!0,noSelect:!0}),CG.hasLines(r)&&(i("connectgaps"),pCt(t,r,n,a,i)),CG.hasText(r)&&(i("texttemplate"),i("texttemplatefallback"),gCt(t,r,a,i,{noSelect:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}));var s=(r.line||{}).color,l=(r.marker||{}).color;i("surfaceaxis")>=0&&i("surfacecolor",s||l);for(var u=["x","y","z"],c=0;c<3;++c){var f="projection."+u[c];i(f+".show")&&(i(f+".opacity"),i(f+".scale"))}var h=Pke.getComponentMethod("errorbars","supplyDefaults");h(t,r,s||l||n,{axis:"z"}),h(t,r,s||l||n,{axis:"y",inherit:"z"}),h(t,r,s||l||n,{axis:"x",inherit:"z"})};function yCt(e,t,r,n){var a=0,i=r("x"),o=r("y"),s=r("z"),l=Pke.getComponentMethod("calendars","handleTraceDefaults");return l(e,t,["x","y","z"],n),i&&o&&s&&(a=Math.min(i.length,o.length,s.length),t._length=t._xlength=t._ylength=t._zlength=a),a}});var zke=ne((Hhr,Ike)=>{"use strict";var xCt=Op(),bCt=Jv();Ike.exports=function(t,r){var n=[{x:!1,y:!1,trace:r,t:{}}];return xCt(n,r),bCt(t,r),n}});var Bke=ne((jhr,qke)=>{qke.exports=_Ct;function _Ct(e,t){if(typeof e!="string")throw new TypeError("must specify type string");if(t=t||{},typeof document=="undefined"&&!t.canvas)return null;var r=t.canvas||document.createElement("canvas");typeof t.width=="number"&&(r.width=t.width),typeof t.height=="number"&&(r.height=t.height);var n=t,a;try{var i=[e];e.indexOf("webgl")===0&&i.push("experimental-"+e);for(var o=0;o{var wCt=Bke();Oke.exports=function(t){return wCt("webgl",t)}});var LG=ne((Yhr,Vke)=>{"use strict";var Uke=_a(),TCt=function(){};Vke.exports=function(t){for(var r in t)typeof t[r]=="function"&&(t[r]=TCt);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var n=document.createElement("div");n.className="no-webgl",n.style.cursor="pointer",n.style.fontSize="24px",n.style.color=Uke.defaults[0],n.style.position="absolute",n.style.left=n.style.top="0px",n.style.width=n.style.height="100%",n.style["background-color"]=Uke.lightLine,n.style["z-index"]=30;var a=document.createElement("p");return a.textContent="WebGL is not supported by your browser - visit https://get.webgl.org for more info",a.style.position="relative",a.style.top="50%",a.style.left="50%",a.style.height="30%",a.style.width="50%",a.style.margin="-15% 0 0 -25%",n.appendChild(a),t.container.appendChild(n),t.container.style.background="#FFFFFF",t.container.onclick=function(){window.open("https://get.webgl.org")},!1}});var jke=ne((Xhr,Hke)=>{"use strict";var x2=ng(),ACt=Zt(),MCt=["xaxis","yaxis","zaxis"];function Gke(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickSize=[12,12,12],this.tickFontWeight=["normal","normal","normal","normal"],this.tickFontStyle=["normal","normal","normal","normal"],this.tickFontVariant=["normal","normal","normal","normal"],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[18,18,18],this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont=["Open Sans","Open Sans","Open Sans"],this.labelSize=[20,20,20],this.labelFontWeight=["normal","normal","normal","normal"],this.labelFontStyle=["normal","normal","normal","normal"],this.labelFontVariant=["normal","normal","normal","normal"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}var SCt=Gke.prototype;SCt.merge=function(e,t){for(var r=this,n=0;n<3;++n){var a=t[MCt[n]];if(!a.visible){r.tickEnable[n]=!1,r.labelEnable[n]=!1,r.lineEnable[n]=!1,r.lineTickEnable[n]=!1,r.gridEnable[n]=!1,r.zeroEnable[n]=!1,r.backgroundEnable[n]=!1;continue}r.labels[n]=e._meta?ACt.templateString(a.title.text,e._meta):a.title.text,"font"in a.title&&(a.title.font.color&&(r.labelColor[n]=x2(a.title.font.color)),a.title.font.family&&(r.labelFont[n]=a.title.font.family),a.title.font.size&&(r.labelSize[n]=a.title.font.size),a.title.font.weight&&(r.labelFontWeight[n]=a.title.font.weight),a.title.font.style&&(r.labelFontStyle[n]=a.title.font.style),a.title.font.variant&&(r.labelFontVariant[n]=a.title.font.variant)),"showline"in a&&(r.lineEnable[n]=a.showline),"linecolor"in a&&(r.lineColor[n]=x2(a.linecolor)),"linewidth"in a&&(r.lineWidth[n]=a.linewidth),"showgrid"in a&&(r.gridEnable[n]=a.showgrid),"gridcolor"in a&&(r.gridColor[n]=x2(a.gridcolor)),"gridwidth"in a&&(r.gridWidth[n]=a.gridwidth),a.type==="log"?r.zeroEnable[n]=!1:"zeroline"in a&&(r.zeroEnable[n]=a.zeroline),"zerolinecolor"in a&&(r.zeroLineColor[n]=x2(a.zerolinecolor)),"zerolinewidth"in a&&(r.zeroLineWidth[n]=a.zerolinewidth),"ticks"in a&&a.ticks?r.lineTickEnable[n]=!0:r.lineTickEnable[n]=!1,"ticklen"in a&&(r.lineTickLength[n]=r._defaultLineTickLength[n]=a.ticklen),"tickcolor"in a&&(r.lineTickColor[n]=x2(a.tickcolor)),"tickwidth"in a&&(r.lineTickWidth[n]=a.tickwidth),"tickangle"in a&&(r.tickAngle[n]=a.tickangle==="auto"?-3600:Math.PI*-a.tickangle/180),"showticklabels"in a&&(r.tickEnable[n]=a.showticklabels),"tickfont"in a&&(a.tickfont.color&&(r.tickColor[n]=x2(a.tickfont.color)),a.tickfont.family&&(r.tickFont[n]=a.tickfont.family),a.tickfont.size&&(r.tickSize[n]=a.tickfont.size),a.tickfont.weight&&(r.tickFontWeight[n]=a.tickfont.weight),a.tickfont.style&&(r.tickFontStyle[n]=a.tickfont.style),a.tickfont.variant&&(r.tickFontVariant[n]=a.tickfont.variant)),"mirror"in a?["ticks","all","allticks"].indexOf(a.mirror)!==-1?(r.lineTickMirror[n]=!0,r.lineMirror[n]=!0):a.mirror===!0?(r.lineTickMirror[n]=!1,r.lineMirror[n]=!0):(r.lineTickMirror[n]=!1,r.lineMirror[n]=!1):r.lineMirror[n]=!1,"showbackground"in a&&a.showbackground!==!1?(r.backgroundEnable[n]=!0,r.backgroundColor[n]=x2(a.backgroundcolor)):r.backgroundEnable[n]=!1}};function ECt(e,t){var r=new Gke;return r.merge(e,t),r}Hke.exports=ECt});var Xke=ne((Zhr,Yke)=>{"use strict";var kCt=ng(),CCt=["xaxis","yaxis","zaxis"];function Wke(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}var LCt=Wke.prototype;LCt.merge=function(e){for(var t=0;t<3;++t){var r=e[CCt[t]];if(!r.visible){this.enabled[t]=!1,this.drawSides[t]=!1;continue}this.enabled[t]=r.showspikes,this.colors[t]=kCt(r.spikecolor),this.drawSides[t]=r.spikesides,this.lineWidth[t]=r.spikethickness}};function FCt(e){var t=new Wke;return t.merge(e),t}Yke.exports=FCt});var Kke=ne(($hr,$ke)=>{"use strict";$ke.exports=zCt;var Zke=ri(),PCt=Zt(),DCt=["xaxis","yaxis","zaxis"],RCt=[0,0,0];function ICt(e){for(var t=new Array(3),r=0;r<3;++r){for(var n=e[r],a=new Array(n.length),i=0;i/g," "));a[i]=u,o.tickmode=s}}t.ticks=a;for(var i=0;i<3;++i){RCt[i]=.5*(e.glplot.bounds[0][i]+e.glplot.bounds[1][i]);for(var c=0;c<2;++c)t.bounds[c][i]=e.glplot.bounds[c][i]}e.contourLevels=ICt(a)}});var aCe=ne((Khr,nCe)=>{"use strict";var eCe=$f().gl_plot3d,qCt=eCe.createCamera,Jke=eCe.createScene,BCt=Nke(),OCt=HS(),m7=Fa(),kd=Zt(),g7=kd.preserveDrawingBuffer(),y7=ri(),sp=cu(),NCt=ng(),UCt=LG(),VCt=Hq(),GCt=jke(),HCt=Xke(),jCt=Kke(),WCt=I0().applyAutorangeOptions,qA,p7,tCe=!1;function rCe(e,t){var r=document.createElement("div"),n=e.container;this.graphDiv=e.graphDiv;var a=document.createElementNS("http://www.w3.org/2000/svg","svg");a.style.position="absolute",a.style.top=a.style.left="0px",a.style.width=a.style.height="100%",a.style["z-index"]=20,a.style["pointer-events"]="none",r.appendChild(a),this.svgContainer=a,r.id=e.id,r.style.position="absolute",r.style.top=r.style.left="0px",r.style.width=r.style.height="100%",n.appendChild(r),this.fullLayout=t,this.id=e.id||"scene",this.fullSceneLayout=t[this.id],this.plotArgs=[[],{},{}],this.axesOptions=GCt(t,t[this.id]),this.spikeOptions=HCt(t[this.id]),this.container=r,this.staticMode=!!e.staticPlot,this.pixelRatio=this.pixelRatio||e.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=m7.getComponentMethod("annotations3d","convert"),this.drawAnnotations=m7.getComponentMethod("annotations3d","draw"),this.initializeGLPlot()}var jh=rCe.prototype;jh.prepareOptions=function(){var e=this,t={canvas:e.canvas,gl:e.gl,glOptions:{preserveDrawingBuffer:g7,premultipliedAlpha:!0,antialias:!0},container:e.container,axes:e.axesOptions,spikes:e.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1,cameraObject:e.camera,pixelRatio:e.pixelRatio};if(e.staticMode){if(!p7&&(qA=document.createElement("canvas"),p7=BCt({canvas:qA,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}),!p7))throw new Error("error creating static canvas/context for image server");t.gl=p7,t.canvas=qA}return t};var Qke=!0;jh.tryCreatePlot=function(){var e=this,t=e.prepareOptions(),r=!0;try{e.glplot=Jke(t)}catch(n){if(e.staticMode||!Qke||g7)r=!1;else{kd.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{g7=t.glOptions.preserveDrawingBuffer=!0,e.glplot=Jke(t)}catch(a){g7=t.glOptions.preserveDrawingBuffer=!1,r=!1}}}return Qke=!1,r};jh.initializeGLCamera=function(){var e=this,t=e.fullSceneLayout.camera,r=t.projection.type==="orthographic";e.camera=qCt(e.container,{center:[t.center.x,t.center.y,t.center.z],eye:[t.eye.x,t.eye.y,t.eye.z],up:[t.up.x,t.up.y,t.up.z],_ortho:r,zoomMin:.01,zoomMax:100,mode:"orbit"})};jh.initializeGLPlot=function(){var e=this;e.initializeGLCamera();var t=e.tryCreatePlot();if(!t)return UCt(e);e.traces={},e.make4thDimension();var r=e.graphDiv,n=r.layout,a=function(){var o={};return e.isCameraChanged(n)&&(o[e.id+".camera"]=e.getCamera()),e.isAspectChanged(n)&&(o[e.id+".aspectratio"]=e.glplot.getAspectratio(),n[e.id].aspectmode!=="manual"&&(e.fullSceneLayout.aspectmode=n[e.id].aspectmode=o[e.id+".aspectmode"]="manual")),o},i=function(o){if(o.fullSceneLayout.dragmode!==!1){var s=a();o.saveLayout(n),o.graphDiv.emit("plotly_relayout",s)}};return e.glplot.canvas&&(e.glplot.canvas.addEventListener("mouseup",function(){i(e)}),e.glplot.canvas.addEventListener("touchstart",function(){tCe=!0}),e.glplot.canvas.addEventListener("wheel",function(o){if(r._context._scrollZoom.gl3d){if(e.camera._ortho){var s=o.deltaX>o.deltaY?1.1:.9090909090909091,l=e.glplot.getAspectratio();e.glplot.setAspectratio({x:s*l.x,y:s*l.y,z:s*l.z})}i(e)}},OCt?{passive:!1}:!1),e.glplot.canvas.addEventListener("mousemove",function(){if(e.fullSceneLayout.dragmode!==!1&&e.camera.mouseListener.buttons!==0){var o=a();e.graphDiv.emit("plotly_relayouting",o)}}),e.staticMode||e.glplot.canvas.addEventListener("webglcontextlost",function(o){r&&r.emit&&r.emit("plotly_webglcontextlost",{event:o,layer:e.id})},!1)),e.glplot.oncontextloss=function(){e.recoverContext()},e.glplot.onrender=function(){e.render()},!0};jh.render=function(){var e=this,t=e.graphDiv,r,n=e.svgContainer,a=e.container.getBoundingClientRect();t._fullLayout._calcInverseTransform(t);var i=t._fullLayout._invScaleX,o=t._fullLayout._invScaleY,s=a.width*i,l=a.height*o;n.setAttributeNS(null,"viewBox","0 0 "+s+" "+l),n.setAttributeNS(null,"width",s),n.setAttributeNS(null,"height",l),jCt(e),e.glplot.axes.update(e.axesOptions);for(var u=Object.keys(e.traces),c=null,f=e.glplot.selection,h=0;h")):r.type==="isosurface"||r.type==="volume"?(g.valueLabel=y7.hoverLabelText(e._mockAxis,e._mockAxis.d2l(f.traceCoordinate[3]),r.valuehoverformat),y.push("value: "+g.valueLabel),f.textLabel&&y.push(f.textLabel),k=y.join("
")):k=f.textLabel;var S={x:f.traceCoordinate[0],y:f.traceCoordinate[1],z:f.traceCoordinate[2],data:m._input,fullData:m,curveNumber:m.index,pointNumber:x};sp.appendArrayPointValue(S,m,x),r._module.eventData&&(S=m._module.eventData(S,f,m,{},x));var T={points:[S]};if(e.fullSceneLayout.hovermode){var p=[];sp.loneHover({trace:m,x:(.5+.5*d[0]/d[3])*s,y:(.5-.5*d[1]/d[3])*l,xLabel:g.xLabel,yLabel:g.yLabel,zLabel:g.zLabel,text:k,name:c.name,color:sp.castHoverOption(m,x,"bgcolor")||c.color,borderColor:sp.castHoverOption(m,x,"bordercolor"),fontFamily:sp.castHoverOption(m,x,"font.family"),fontSize:sp.castHoverOption(m,x,"font.size"),fontColor:sp.castHoverOption(m,x,"font.color"),nameLength:sp.castHoverOption(m,x,"namelength"),textAlign:sp.castHoverOption(m,x,"align"),hovertemplate:kd.castOption(m,x,"hovertemplate"),hovertemplateLabels:kd.extendFlat({},S,g),eventData:[S]},{container:n,gd:t,inOut_bbox:p}),S.bbox=p[0]}f.distance<5&&(f.buttons||tCe)?t.emit("plotly_click",T):t.emit("plotly_hover",T),this.oldEventData=T}else sp.loneUnhover(n),this.oldEventData&&t.emit("plotly_unhover",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)};jh.recoverContext=function(){var e=this;e.glplot.dispose();var t=function(){if(e.glplot.gl.isContextLost()){requestAnimationFrame(t);return}if(!e.initializeGLPlot()){kd.error("Catastrophic and unrecoverable WebGL error. Context lost.");return}e.plot.apply(e,e.plotArgs)};requestAnimationFrame(t)};var BA=["xaxis","yaxis","zaxis"];function YCt(e,t,r){for(var n=e.fullSceneLayout,a=0;a<3;a++){var i=BA[a],o=i.charAt(0),s=n[i],l=t[o],u=t[o+"calendar"],c=t["_"+o+"length"];if(!kd.isArrayOrTypedArray(l))r[0][a]=Math.min(r[0][a],0),r[1][a]=Math.max(r[1][a],c-1);else for(var f,h=0;h<(c||l.length);h++)if(kd.isArrayOrTypedArray(l[h]))for(var v=0;vm[1][o])m[0][o]=-1,m[1][o]=1;else{var A=m[1][o]-m[0][o];m[0][o]-=A/32,m[1][o]+=A/32}if(E=[m[0][o],m[1][o]],E=WCt(E,l),m[0][o]=E[0],m[1][o]=E[1],l.isReversed()){var P=m[0][o];m[0][o]=m[1][o],m[1][o]=P}}else E=l.range,m[0][o]=l.r2l(E[0]),m[1][o]=l.r2l(E[1]);m[0][o]===m[1][o]&&(m[0][o]-=1,m[1][o]+=1),x[o]=m[1][o]-m[0][o],l.range=[m[0][o],m[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*v[o],max:l.range[1]*v[o]})}var D,z=c.aspectmode;if(z==="cube")D=[1,1,1];else if(z==="manual"){var q=c.aspectratio;D=[q.x,q.y,q.z]}else if(z==="auto"||z==="data"){var U=[1,1,1];for(o=0;o<3;++o){l=c[BA[o]],u=l.type;var O=g[u];U[o]=Math.pow(O.acc,1/O.count)/v[o]}z==="data"||Math.max.apply(null,U)/Math.min.apply(null,U)<=4?D=U:D=[1,1,1]}else throw new Error("scene.js aspectRatio was not one of the enumerated types");c.aspectratio.x=f.aspectratio.x=D[0],c.aspectratio.y=f.aspectratio.y=D[1],c.aspectratio.z=f.aspectratio.z=D[2],n.glplot.setAspectratio(c.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=c.aspectmode);var R=c.domain||null,B=t._size||null;if(R&&B){var Y=n.container.style;Y.position="absolute",Y.left=B.l+R.x[0]*B.w+"px",Y.top=B.t+(1-R.y[1])*B.h+"px",Y.width=B.w*(R.x[1]-R.x[0])+"px",Y.height=B.h*(R.y[1]-R.y[0])+"px"}n.glplot.redraw()}};jh.destroy=function(){var e=this;e.glplot&&(e.camera.mouseListener.enabled=!1,e.container.removeEventListener("wheel",e.camera.wheelListener),e.camera=null,e.glplot.dispose(),e.container.parentNode.removeChild(e.container),e.glplot=null)};function ZCt(e){return[[e.eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]}function $Ct(e){return{up:{x:e.up[0],y:e.up[1],z:e.up[2]},center:{x:e.center[0],y:e.center[1],z:e.center[2]},eye:{x:e.eye[0],y:e.eye[1],z:e.eye[2]},projection:{type:e._ortho===!0?"orthographic":"perspective"}}}jh.getCamera=function(){var e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),$Ct(e.camera)};jh.setViewport=function(e){var t=this,r=e.camera;t.camera.lookAt.apply(this,ZCt(r)),t.glplot.setAspectratio(e.aspectratio);var n=r.projection.type==="orthographic",a=t.camera._ortho;n!==a&&(t.glplot.redraw(),t.glplot.clearRGBA(),t.glplot.dispose(),t.initializeGLPlot())};jh.isCameraChanged=function(e){var t=this,r=t.getCamera(),n=kd.nestedProperty(e,t.id+".camera"),a=n.get();function i(u,c,f,h){var v=["up","center","eye"],d=["x","y","z"];return c[v[f]]&&u[v[f]][d[h]]===c[v[f]][d[h]]}var o=!1;if(a===void 0)o=!0;else{for(var s=0;s<3;s++)for(var l=0;l<3;l++)if(!i(r,a,s,l)){o=!0;break}(!a.projection||r.projection&&r.projection.type!==a.projection.type)&&(o=!0)}return o};jh.isAspectChanged=function(e){var t=this,r=t.glplot.getAspectratio(),n=kd.nestedProperty(e,t.id+".aspectratio"),a=n.get();return a===void 0||a.x!==r.x||a.y!==r.y||a.z!==r.z};jh.saveLayout=function(e){var t=this,r=t.fullLayout,n,a,i,o,s,l,u=t.isCameraChanged(e),c=t.isAspectChanged(e),f=u||c;if(f){var h={};if(u&&(n=t.getCamera(),a=kd.nestedProperty(e,t.id+".camera"),i=a.get(),h[t.id+".camera"]=i),c&&(o=t.glplot.getAspectratio(),s=kd.nestedProperty(e,t.id+".aspectratio"),l=s.get(),h[t.id+".aspectratio"]=l),m7.call("_storeDirectGUIEdit",e,r._preGUI,h),u){a.set(n);var v=kd.nestedProperty(r,t.id+".camera");v.set(n)}if(c){s.set(o);var d=kd.nestedProperty(r,t.id+".aspectratio");d.set(o),t.glplot.redraw()}}return f};jh.updateFx=function(e,t){var r=this,n=r.camera;if(n)if(e==="orbit")n.mode="orbit",n.keyBindingMode="rotate";else if(e==="turntable"){n.up=[0,0,1],n.mode="turntable",n.keyBindingMode="rotate";var a=r.graphDiv,i=a._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,u=o.up.z;if(u/Math.sqrt(s*s+l*l+u*u)<.999){var c=r.id+".camera.up",f={x:0,y:0,z:1},h={};h[c]=f;var v=a.layout;m7.call("_storeDirectGUIEdit",v,i._preGUI,h),o.up=f,kd.nestedProperty(v,c).set(f)}}else n.keyBindingMode=e;r.fullSceneLayout.hovermode=t};function KCt(e,t,r){for(var n=0,a=r-1;n0)for(var s=255/o,l=0;l<3;++l)e[i+l]=Math.min(s*e[i+l],255)}}jh.toImage=function(e){var t=this;e||(e="png"),t.staticMode&&t.container.appendChild(qA),t.glplot.redraw();var r=t.glplot.gl,n=r.drawingBufferWidth,a=r.drawingBufferHeight;r.bindFramebuffer(r.FRAMEBUFFER,null);var i=new Uint8Array(n*a*4);r.readPixels(0,0,n,a,r.RGBA,r.UNSIGNED_BYTE,i),KCt(i,n,a),JCt(i,n,a);var o=document.createElement("canvas");o.width=n,o.height=a;var s=o.getContext("2d",{willReadFrequently:!0}),l=s.createImageData(n,a);l.data.set(i),s.putImageData(l,0,0);var u;switch(e){case"jpeg":u=o.toDataURL("image/jpeg");break;case"webp":u=o.toDataURL("image/webp");break;default:u=o.toDataURL("image/png")}return t.staticMode&&t.container.removeChild(qA),u};jh.setConvert=function(){for(var e=this,t=0;t<3;t++){var r=e.fullSceneLayout[BA[t]];y7.setConvert(r,e.fullLayout),r.setScale=kd.noop}};jh.make4thDimension=function(){var e=this,t=e.graphDiv,r=t._fullLayout;e._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},y7.setConvert(e._mockAxis,r)};nCe.exports=rCe});var oCe=ne((Jhr,iCe)=>{"use strict";iCe.exports={scene:{valType:"subplotid",dflt:"scene",editType:"calc+clearAxisTypes"}}});var PG=ne((Qhr,sCe)=>{"use strict";var QCt=_a(),ro=Wf(),FG=ci().extendFlat,e8t=Il().overrideAll;sCe.exports=e8t({visible:ro.visible,showspikes:{valType:"boolean",dflt:!0},spikesides:{valType:"boolean",dflt:!0},spikethickness:{valType:"number",min:0,dflt:2},spikecolor:{valType:"color",dflt:QCt.defaultLine},showbackground:{valType:"boolean",dflt:!1},backgroundcolor:{valType:"color",dflt:"rgba(204, 204, 204, 0.5)"},showaxeslabels:{valType:"boolean",dflt:!0},color:ro.color,categoryorder:ro.categoryorder,categoryarray:ro.categoryarray,title:{text:ro.title.text,font:ro.title.font},type:FG({},ro.type,{values:["-","linear","log","date","category"]}),autotypenumbers:ro.autotypenumbers,autorange:ro.autorange,autorangeoptions:{minallowed:ro.autorangeoptions.minallowed,maxallowed:ro.autorangeoptions.maxallowed,clipmin:ro.autorangeoptions.clipmin,clipmax:ro.autorangeoptions.clipmax,include:ro.autorangeoptions.include,editType:"plot"},rangemode:ro.rangemode,minallowed:ro.minallowed,maxallowed:ro.maxallowed,range:FG({},ro.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],anim:!1}),tickmode:ro.minor.tickmode,nticks:ro.nticks,tick0:ro.tick0,dtick:ro.dtick,tickvals:ro.tickvals,ticktext:ro.ticktext,ticks:ro.ticks,mirror:ro.mirror,ticklen:ro.ticklen,tickwidth:ro.tickwidth,tickcolor:ro.tickcolor,showticklabels:ro.showticklabels,labelalias:ro.labelalias,tickfont:ro.tickfont,tickangle:ro.tickangle,tickprefix:ro.tickprefix,showtickprefix:ro.showtickprefix,ticksuffix:ro.ticksuffix,showticksuffix:ro.showticksuffix,showexponent:ro.showexponent,exponentformat:ro.exponentformat,minexponent:ro.minexponent,separatethousands:ro.separatethousands,tickformat:ro.tickformat,tickformatstops:ro.tickformatstops,hoverformat:ro.hoverformat,showline:ro.showline,linecolor:ro.linecolor,linewidth:ro.linewidth,showgrid:ro.showgrid,gridcolor:FG({},ro.gridcolor,{dflt:"rgb(204, 204, 204)"}),gridwidth:ro.gridwidth,zeroline:ro.zeroline,zerolinecolor:ro.zerolinecolor,zerolinewidth:ro.zerolinewidth},"plot","from-root")});var zG=ne((edr,lCe)=>{"use strict";var DG=PG(),t8t=zl().attributes,RG=ci().extendFlat,r8t=Zt().counterRegex;function IG(e,t,r){return{x:{valType:"number",dflt:e,editType:"camera"},y:{valType:"number",dflt:t,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}lCe.exports={_arrayAttrRegexps:[r8t("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:RG(IG(0,0,1),{}),center:RG(IG(0,0,0),{}),eye:RG(IG(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:t8t({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:DG,yaxis:DG,zaxis:DG,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"}});var hCe=ne((tdr,fCe)=>{"use strict";var n8t=_a(),uCe=Zt(),a8t=Bo(),i8t=PG(),o8t=kq(),s8t=Y4(),cCe=["xaxis","yaxis","zaxis"],l8t=13600/187;fCe.exports=function(t,r,n){var a,i;function o(u,c){return uCe.coerce(a,i,i8t,u,c)}for(var s=0;s{"use strict";var u8t=Zt(),c8t=_a(),f8t=Fa(),h8t=qx(),d8t=hCe(),dCe=zG(),v8t=mh().getSubplotData,vCe="gl3d";pCe.exports=function(t,r,n){var a=r._basePlotModules.length>1;function i(o){if(!a){var s=u8t.validate(t[o],dCe[o]);if(s)return t[o]}}h8t(t,r,n,{type:vCe,attributes:dCe,handleDefaults:p8t,fullLayout:r,font:r.font,fullData:n,getDfltFromLayout:i,autotypenumbersDflt:r.autotypenumbers,paper_bgcolor:r.paper_bgcolor,calendar:r.calendar})};function p8t(e,t,r,n){for(var a=r("bgcolor"),i=c8t.combine(a,n.paper_bgcolor),o=["up","center","eye"],s=0;s.999)&&(h="turntable")}else h="turntable";r("dragmode",h),r("hovermode",n.getDfltFromLayout("hovermode"))}});var jm=ne(Cd=>{"use strict";var g8t=Il().overrideAll,m8t=Fg(),y8t=aCe(),x8t=mh().getSubplotData,b8t=Zt(),_8t=qv(),X3="gl3d",qG="scene";Cd.name=X3;Cd.attr=qG;Cd.idRoot=qG;Cd.idRegex=Cd.attrRegex=b8t.counterRegex("scene");Cd.attributes=oCe();Cd.layoutAttributes=zG();Cd.baseLayoutAttrOverrides=g8t({hoverlabel:m8t.hoverlabel},"plot","nested");Cd.supplyLayoutDefaults=gCe();Cd.plot=function(t){for(var r=t._fullLayout,n=t._fullData,a=r._subplots[X3],i=0;i{"use strict";mCe.exports={plot:Eke(),attributes:kG(),markerSymbols:d7(),supplyDefaults:Rke(),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:zke(),moduleType:"trace",name:"scatter3d",basePlotModule:jm(),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}});var bCe=ne((idr,xCe)=>{"use strict";xCe.exports=yCe()});var OA=ne((odr,TCe)=>{"use strict";var _Ce=_a(),w8t=Ys(),BG=Wl().axisHoverFormat,{hovertemplateAttrs:T8t,templatefallbackAttrs:A8t}=rs(),wCe=os(),OG=ci().extendFlat,M8t=Il().overrideAll;function NG(e){return{valType:"boolean",dflt:!1}}function UG(e){return{show:{valType:"boolean",dflt:!1},start:{valType:"number",dflt:null,editType:"plot"},end:{valType:"number",dflt:null,editType:"plot"},size:{valType:"number",dflt:null,min:0,editType:"plot"},project:{x:NG("x"),y:NG("y"),z:NG("z")},color:{valType:"color",dflt:_Ce.defaultLine},usecolormap:{valType:"boolean",dflt:!1},width:{valType:"number",min:1,max:16,dflt:2},highlight:{valType:"boolean",dflt:!0},highlightcolor:{valType:"color",dflt:_Ce.defaultLine},highlightwidth:{valType:"number",min:1,max:16,dflt:2}}}var VG=TCe.exports=M8t(OG({z:{valType:"data_array"},x:{valType:"data_array"},y:{valType:"data_array"},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:T8t(),hovertemplatefallback:A8t(),xhoverformat:BG("x"),yhoverformat:BG("y"),zhoverformat:BG("z"),connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},surfacecolor:{valType:"data_array"}},w8t("",{colorAttr:"z or surfacecolor",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:"calc"}),{contours:{x:UG("x"),y:UG("y"),z:UG("z")},hidesurface:{valType:"boolean",dflt:!1},lightposition:{x:{valType:"number",min:-1e5,max:1e5,dflt:10},y:{valType:"number",min:-1e5,max:1e5,dflt:1e4},z:{valType:"number",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:"number",min:0,max:1,dflt:.8},diffuse:{valType:"number",min:0,max:1,dflt:.8},specular:{valType:"number",min:0,max:2,dflt:.05,description:"Represents the level that incident rays are reflected in a single direction, causing shine."},roughness:{valType:"number",min:0,max:1,dflt:.5,description:"Alters specular reflection; the rougher the surface, the wider and less contrasty the shine."},fresnel:{valType:"number",min:0,max:5,dflt:.2}},opacity:{valType:"number",min:0,max:1,dflt:1},opacityscale:{valType:"any",editType:"calc"},hoverinfo:OG({},wCe.hoverinfo),showlegend:OG({},wCe.showlegend,{dflt:!1})}),"calc","nested");VG.x.editType=VG.y.editType=VG.z.editType="calc+clearAxisTypes"});var HG=ne((sdr,SCe)=>{"use strict";var S8t=Fa(),ACe=Zt(),E8t=bf(),k8t=OA(),GG=.1;function C8t(e,t){for(var r=[],n=32,a=0;a{"use strict";var ECe=qh();kCe.exports=function(t,r){r.surfacecolor?ECe(t,r,{vals:r.surfacecolor,containerStr:"",cLetter:"c"}):ECe(t,r,{vals:r.z,containerStr:"",cLetter:"c"})}});var ICe=ne((udr,RCe)=>{"use strict";var P8t=$f().gl_surface3d,Z3=$f().ndarray,D8t=$f().ndarray_linear_interpolate.d2,R8t=mC(),I8t=yC(),NA=Zt().isArrayOrTypedArray,z8t=ag().parseColorScale,LCe=ng(),q8t=El().extractOpts;function PCe(e,t,r){this.scene=e,this.uid=r,this.surface=t,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var lp=PCe.prototype;lp.getXat=function(e,t,r,n){var a=NA(this.data.x)?NA(this.data.x[0])?this.data.x[t][e]:this.data.x[e]:e;return r===void 0?a:n.d2l(a,0,r)};lp.getYat=function(e,t,r,n){var a=NA(this.data.y)?NA(this.data.y[0])?this.data.y[t][e]:this.data.y[t]:t;return r===void 0?a:n.d2l(a,0,r)};lp.getZat=function(e,t,r,n){var a=this.data.z[t][e];return a===null&&this.data.connectgaps&&this.data._interpolatedZ&&(a=this.data._interpolatedZ[t][e]),r===void 0?a:n.d2l(a,0,r)};lp.handlePick=function(e){if(e.object===this.surface){var t=(e.data.index[0]-1)/this.dataScaleX-1,r=(e.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(t),this.data.z[0].length-1),0),a=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);e.index=[n,a],e.traceCoordinate=[this.getXat(n,a),this.getYat(n,a),this.getZat(n,a)],e.dataCoordinate=[this.getXat(n,a,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,a,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,a,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var i=0;i<3;i++){var o=e.dataCoordinate[i];o!=null&&(e.dataCoordinate[i]*=this.scene.dataScale[i])}var s=this.data.hovertext||this.data.text;return NA(s)&&s[a]&&s[a][n]!==void 0?e.textLabel=s[a][n]:s?e.textLabel=s:e.textLabel="",e.data.dataCoordinate=e.dataCoordinate.slice(),this.surface.highlight(e.data),this.scene.glplot.spikes.position=e.dataCoordinate,!0}};function B8t(e){var t=e[0].rgb,r=e[e.length-1].rgb;return t[0]===r[0]&&t[1]===r[1]&&t[2]===r[2]&&t[3]===r[3]}var $3=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function O8t(e,t){if(e0){r=$3[n];break}return r}function U8t(e,t){if(!(e<1||t<1)){for(var r=jG(e),n=jG(t),a=1,i=0;i<$3.length;i++)a*=Math.pow($3[i],Math.max(r[i],n[i]));return a}}function V8t(e){if(e.length!==0){for(var t=1,r=0;rx7;)n--,n/=N8t(n),n++,n1?a:1};function G8t(e,t,r){var n=r[8]+r[2]*t[0]+r[5]*t[1];return e[0]=(r[6]+r[0]*t[0]+r[3]*t[1])/n,e[1]=(r[7]+r[1]*t[0]+r[4]*t[1])/n,e}function H8t(e,t,r){return j8t(e,t,G8t,r),e}function j8t(e,t,r,n){for(var a=[0,0],i=e.shape[0],o=e.shape[1],s=0;s0&&this.contourStart[n]!==null&&this.contourEnd[n]!==null&&this.contourEnd[n]>this.contourStart[n]))for(t[n]=!0,a=this.contourStart[n];ah&&(this.minValues[u]=h),this.maxValues[u]{"use strict";zCe.exports={attributes:OA(),supplyDefaults:HG().supplyDefaults,colorbar:{min:"cmin",max:"cmax"},calc:CCe(),plot:ICe(),moduleType:"trace",name:"surface",basePlotModule:jm(),categories:["gl3d","2dMap","showLegend"],meta:{}}});var OCe=ne((fdr,BCe)=>{"use strict";BCe.exports=qCe()});var K3=ne((hdr,UCe)=>{"use strict";var X8t=Ys(),WG=Wl().axisHoverFormat,{hovertemplateAttrs:Z8t,templatefallbackAttrs:$8t}=rs(),Wm=OA(),NCe=os(),Ym=ci().extendFlat;UCe.exports=Ym({x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},i:{valType:"data_array",editType:"calc"},j:{valType:"data_array",editType:"calc"},k:{valType:"data_array",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:Z8t({editType:"calc"}),hovertemplatefallback:$8t({editType:"calc"}),xhoverformat:WG("x"),yhoverformat:WG("y"),zhoverformat:WG("z"),delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",editType:"calc"},intensitymode:{valType:"enumerated",values:["vertex","cell"],dflt:"vertex",editType:"calc"},color:{valType:"color",editType:"calc"},vertexcolor:{valType:"data_array",editType:"calc"},facecolor:{valType:"data_array",editType:"calc"}},X8t("",{colorAttr:"`intensity`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:Wm.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc"},contour:{show:Ym({},Wm.contours.x.show,{}),color:Wm.contours.x.color,width:Wm.contours.x.width,editType:"calc"},lightposition:{x:Ym({},Wm.lightposition.x,{dflt:1e5}),y:Ym({},Wm.lightposition.y,{dflt:1e5}),z:Ym({},Wm.lightposition.z,{dflt:0}),editType:"calc"},lighting:Ym({vertexnormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-12,editType:"calc",description:"Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry."},facenormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-6,editType:"calc",description:"Epsilon for face normals calculation avoids math issues arising from degenerate geometry."},editType:"calc"},Wm.lighting),hoverinfo:Ym({},NCe.hoverinfo,{editType:"calc"}),showlegend:Ym({},NCe.showlegend,{dflt:!1})})});var _7=ne((ddr,GCe)=>{"use strict";var K8t=Ys(),b7=Wl().axisHoverFormat,{hovertemplateAttrs:J8t,templatefallbackAttrs:Q8t}=rs(),UA=K3(),VCe=os(),YG=ci().extendFlat,eLt=Il().overrideAll;function XG(e){return{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}}}function ZG(e){return{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}}}var J3=GCe.exports=eLt(YG({x:{valType:"data_array"},y:{valType:"data_array"},z:{valType:"data_array"},value:{valType:"data_array"},isomin:{valType:"number"},isomax:{valType:"number"},surface:{show:{valType:"boolean",dflt:!0},count:{valType:"integer",dflt:2,min:1},fill:{valType:"number",min:0,max:1,dflt:1},pattern:{valType:"flaglist",flags:["A","B","C","D","E"],extras:["all","odd","even"],dflt:"all"}},spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:.15}},slices:{x:XG("x"),y:XG("y"),z:XG("z")},caps:{x:ZG("x"),y:ZG("y"),z:ZG("z")},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:J8t(),hovertemplatefallback:Q8t(),xhoverformat:b7("x"),yhoverformat:b7("y"),zhoverformat:b7("z"),valuehoverformat:b7("value",1),showlegend:YG({},VCe.showlegend,{dflt:!1})},K8t("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:UA.opacity,lightposition:UA.lightposition,lighting:UA.lighting,flatshading:UA.flatshading,contour:UA.contour,hoverinfo:YG({},VCe.hoverinfo)}),"calc","nested");J3.flatshading.dflt=!0;J3.lighting.facenormalsepsilon.dflt=0;J3.x.editType=J3.y.editType=J3.z.editType=J3.value.editType="calc+clearAxisTypes"});var $G=ne((vdr,jCe)=>{"use strict";var tLt=Zt(),rLt=Fa(),nLt=_7(),aLt=bf();function iLt(e,t,r,n){function a(i,o){return tLt.coerce(e,t,nLt,i,o)}HCe(e,t,r,n,a)}function HCe(e,t,r,n,a){var i=a("isomin"),o=a("isomax");o!=null&&i!==void 0&&i!==null&&i>o&&(t.isomin=null,t.isomax=null);var s=a("x"),l=a("y"),u=a("z"),c=a("value");if(!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length){t.visible=!1;return}var f=rLt.getComponentMethod("calendars","handleTraceDefaults");f(e,t,["x","y","z"],n),a("valuehoverformat"),["x","y","z"].forEach(function(m){a(m+"hoverformat");var x="caps."+m,g=a(x+".show");g&&a(x+".fill");var E="slices."+m,M=a(E+".show");M&&(a(E+".fill"),a(E+".locations"))});var h=a("spaceframe.show");h&&a("spaceframe.fill");var v=a("surface.show");v&&(a("surface.count"),a("surface.fill"),a("surface.pattern"));var d=a("contour.show");d&&(a("contour.color"),a("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){a(m)}),aLt(e,t,n,a,{prefix:"",cLetter:"c"}),t._length=null}jCe.exports={supplyDefaults:iLt,supplyIsoDefaults:HCe}});var w7=ne((pdr,YCe)=>{"use strict";var JG=Zt(),oLt=qh();function sLt(e,t){t._len=Math.min(t.u.length,t.v.length,t.w.length,t.x.length,t.y.length,t.z.length),t._u=n1(t.u,t._len),t._v=n1(t.v,t._len),t._w=n1(t.w,t._len),t._x=n1(t.x,t._len),t._y=n1(t.y,t._len),t._z=n1(t.z,t._len);var r=WCe(t);t._gridFill=r.fill,t._Xs=r.Xs,t._Ys=r.Ys,t._Zs=r.Zs,t._len=r.len;var n=0,a,i,o;t.starts&&(a=n1(t.starts.x||[]),i=n1(t.starts.y||[]),o=n1(t.starts.z||[]),n=Math.min(a.length,i.length,o.length)),t._startsX=a||[],t._startsY=i||[],t._startsZ=o||[];var s=0,l=1/0,u;for(u=0;u1&&(M=t[a-1],k=r[a-1],S=n[a-1]),i=0;iM?"-":"+")+"x"),d=d.replace("y",(w>k?"-":"+")+"y"),d=d.replace("z",(y>S?"-":"+")+"z");var A=function(){a=0,T=[],p=[],C=[]};(!a||a{"use strict";var lLt=qh(),uLt=w7().processGrid,T7=w7().filter;XCe.exports=function(t,r){r._len=Math.min(r.x.length,r.y.length,r.z.length,r.value.length),r._x=T7(r.x,r._len),r._y=T7(r.y,r._len),r._z=T7(r.z,r._len),r._value=T7(r.value,r._len);var n=uLt(r);r._gridFill=n.fill,r._Xs=n.Xs,r._Ys=n.Ys,r._Zs=n.Zs,r._len=n.len;for(var a=1/0,i=-1/0,o=0;o{"use strict";ZCe.exports=function(t,r,n,a){a=a||t.length;for(var i=new Array(a),o=0;o{"use strict";var cLt=$f().gl_mesh3d,fLt=ag().parseColorScale,hLt=Zt().isArrayOrTypedArray,dLt=ng(),vLt=El().extractOpts,$Ce=Q3(),VA=function(e,t){for(var r=t.length-1;r>0;r--){var n=Math.min(t[r],t[r-1]),a=Math.max(t[r],t[r-1]);if(a>n&&n-1}function X(tt,ft){return tt===null?ft:tt}function te(tt,ft,He){A();var Qe=[ft],We=[He];if(O>=1)Qe=[ft],We=[He];else if(O>0){var pt=B(ft,He);Qe=pt.xyzv,We=pt.abc}for(var kt=0;kt-1?He[Wt]:C(_r,tr,lr);Te>-1?qt[Wt]=Te:qt[Wt]=D(_r,tr,lr,X(tt,Ye))}z(qt[0],qt[1],qt[2])}}function se(tt,ft,He){var Qe=function(We,pt,kt){te(tt,[ft[We],ft[pt],ft[kt]],[He[We],He[pt],He[kt]])};Qe(0,1,2),Qe(2,3,0)}function ue(tt,ft,He){var Qe=function(We,pt,kt){te(tt,[ft[We],ft[pt],ft[kt]],[He[We],He[pt],He[kt]])};Qe(0,1,2),Qe(3,0,1),Qe(2,3,0),Qe(1,2,3)}function re(tt,ft,He,Qe){var We=tt[3];WeQe&&(We=Qe);for(var pt=(tt[3]-We)/(tt[3]-ft[3]+1e-9),kt=[],qt=0;qt<4;qt++)kt[qt]=(1-pt)*tt[qt]+pt*ft[qt];return kt}function j(tt,ft,He){return tt>=ft&&tt<=He}function fe(tt){var ft=.001*(k-w);return tt>=w-ft&&tt<=k+ft}function ce(tt){for(var ft=[],He=0;He<4;He++){var Qe=tt[He];ft.push([e._x[Qe],e._y[Qe],e._z[Qe],e._value[Qe]])}return ft}var oe=3;function we(tt,ft,He,Qe,We,pt){pt||(pt=1),He=[-1,-1,-1];var kt=!1,qt=[j(ft[0][3],Qe,We),j(ft[1][3],Qe,We),j(ft[2][3],Qe,We)];if(!qt[0]&&!qt[1]&&!qt[2])return!1;var Wt=function(tr,lr,Ye){return fe(lr[0][3])&&fe(lr[1][3])&&fe(lr[2][3])?(te(tr,lr,Ye),!0):ptqt?[E,pt]:[pt,M];lt(ft,Wt[0],Wt[1])}}var _r=[[Math.min(w,M),Math.max(w,M)],[Math.min(E,k),Math.max(E,k)]];["x","y","z"].forEach(function(tr){for(var lr=[],Ye=0;Ye<_r.length;Ye++){var Te=0,Fe=_r[Ye][0],Ae=_r[Ye][1],Re=e.slices[tr];if(Re.show&&Re.fill){R(Re.fill);var Ze=[],Ke=[],_t=[];if(Re.locations.length)for(var St=0;St0&&(Ke.push(Vt.id),tr==="x"?_t.push([Vt.distRatio,0,0]):tr==="y"?_t.push([0,Vt.distRatio,0]):_t.push([0,0,Vt.distRatio]))}else tr==="x"?Ze=Ue(1,v-1):tr==="y"?Ze=Ue(1,d-1):Ze=Ue(1,m-1);Ke.length>0&&(tr==="x"?lr[Te]=Ie(tt,Ke,Fe,Ae,_t,lr[Te]):tr==="y"?lr[Te]=de(tt,Ke,Fe,Ae,_t,lr[Te]):lr[Te]=Ee(tt,Ke,Fe,Ae,_t,lr[Te]),Te++),Ze.length>0&&(tr==="x"?lr[Te]=vt(tt,Ze,Fe,Ae,lr[Te]):tr==="y"?lr[Te]=st(tt,Ze,Fe,Ae,lr[Te]):lr[Te]=Oe(tt,Ze,Fe,Ae,lr[Te]),Te++)}var fr=e.caps[tr];fr.show&&fr.fill&&(R(fr.fill),tr==="x"?lr[Te]=vt(tt,[0,v-1],Fe,Ae,lr[Te]):tr==="y"?lr[Te]=st(tt,[0,d-1],Fe,Ae,lr[Te]):lr[Te]=Oe(tt,[0,m-1],Fe,Ae,lr[Te]),Te++)}}),s===0&&P(),e._meshX=y,e._meshY=S,e._meshZ=T,e._meshIntensity=p,e._Xs=c,e._Ys=f,e._Zs=h}return Ge(),e}function gLt(e,t){var r=e.glplot.gl,n=cLt({gl:r}),a=new KCe(e,n,t.uid);return n._trace=a,a.update(t),e.glplot.add(n),a}QCe.exports={findNearestOnAxis:VA,generateIsoMeshes:JCe,createIsosurfaceTrace:gLt}});var t8e=ne((xdr,e8e)=>{"use strict";e8e.exports={attributes:_7(),supplyDefaults:$G().supplyDefaults,calc:QG(),colorbar:{min:"cmin",max:"cmax"},plot:A7().createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:jm(),categories:["gl3d","showLegend"],meta:{}}});var n8e=ne((bdr,r8e)=>{"use strict";r8e.exports=t8e()});var rH=ne((_dr,i8e)=>{"use strict";var mLt=Ys(),mc=_7(),yLt=OA(),a8e=os(),tH=ci().extendFlat,xLt=Il().overrideAll,M7=i8e.exports=xLt(tH({x:mc.x,y:mc.y,z:mc.z,value:mc.value,isomin:mc.isomin,isomax:mc.isomax,surface:mc.surface,spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:1}},slices:mc.slices,caps:mc.caps,text:mc.text,hovertext:mc.hovertext,xhoverformat:mc.xhoverformat,yhoverformat:mc.yhoverformat,zhoverformat:mc.zhoverformat,valuehoverformat:mc.valuehoverformat,hovertemplate:mc.hovertemplate,hovertemplatefallback:mc.hovertemplatefallback},mLt("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{colorbar:mc.colorbar,opacity:mc.opacity,opacityscale:yLt.opacityscale,lightposition:mc.lightposition,lighting:mc.lighting,flatshading:mc.flatshading,contour:mc.contour,hoverinfo:tH({},a8e.hoverinfo),showlegend:tH({},a8e.showlegend,{dflt:!1})}),"calc","nested");M7.x.editType=M7.y.editType=M7.z.editType=M7.value.editType="calc+clearAxisTypes"});var s8e=ne((wdr,o8e)=>{"use strict";var bLt=Zt(),_Lt=rH(),wLt=$G().supplyIsoDefaults,TLt=HG().opacityscaleDefaults;o8e.exports=function(t,r,n,a){function i(o,s){return bLt.coerce(t,r,_Lt,o,s)}wLt(t,r,n,a,i),TLt(t,r,a,i)}});var f8e=ne((Tdr,c8e)=>{"use strict";var ALt=$f().gl_mesh3d,MLt=ag().parseColorScale,SLt=Zt().isArrayOrTypedArray,ELt=ng(),kLt=El().extractOpts,l8e=Q3(),nH=A7().findNearestOnAxis,CLt=A7().generateIsoMeshes;function u8e(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name="",this.data=null,this.showContour=!1}var aH=u8e.prototype;aH.handlePick=function(e){if(e.object===this.mesh){var t=e.data.index,r=this.data._meshX[t],n=this.data._meshY[t],a=this.data._meshZ[t],i=this.data._Ys.length,o=this.data._Zs.length,s=nH(r,this.data._Xs).id,l=nH(n,this.data._Ys).id,u=nH(a,this.data._Zs).id,c=e.index=u+o*l+o*i*s;e.traceCoordinate=[this.data._meshX[c],this.data._meshY[c],this.data._meshZ[c],this.data._value[c]];var f=this.data.hovertext||this.data.text;return SLt(f)&&f[c]!==void 0?e.textLabel=f[c]:f&&(e.textLabel=f),!0}};aH.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=CLt(e);function n(l,u,c,f){return u.map(function(h){return l.d2l(h,0,f)*c})}var a=l8e(n(r.xaxis,e._meshX,t.dataScale[0],e.xcalendar),n(r.yaxis,e._meshY,t.dataScale[1],e.ycalendar),n(r.zaxis,e._meshZ,t.dataScale[2],e.zcalendar)),i=l8e(e._meshI,e._meshJ,e._meshK),o={positions:a,cells:i,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,opacityscale:e.opacityscale,contourEnable:e.contour.show,contourColor:ELt(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading},s=kLt(e);o.vertexIntensity=e._meshIntensity,o.vertexIntensityBounds=[s.min,s.max],o.colormap=MLt(e),this.mesh.update(o)};aH.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function LLt(e,t){var r=e.glplot.gl,n=ALt({gl:r}),a=new u8e(e,n,t.uid);return n._trace=a,a.update(t),e.glplot.add(n),a}c8e.exports=LLt});var d8e=ne((Adr,h8e)=>{"use strict";h8e.exports={attributes:rH(),supplyDefaults:s8e(),calc:QG(),colorbar:{min:"cmin",max:"cmax"},plot:f8e(),moduleType:"trace",name:"volume",basePlotModule:jm(),categories:["gl3d","showLegend"],meta:{}}});var p8e=ne((Mdr,v8e)=>{"use strict";v8e.exports=d8e()});var y8e=ne((Sdr,m8e)=>{"use strict";var FLt=Fa(),g8e=Zt(),PLt=bf(),DLt=K3();m8e.exports=function(t,r,n,a){function i(c,f){return g8e.coerce(t,r,DLt,c,f)}function o(c){var f=c.map(function(h){var v=i(h);return v&&g8e.isArrayOrTypedArray(v)?v:null});return f.every(function(h){return h&&h.length===f[0].length})&&f}var s=o(["x","y","z"]);if(!s){r.visible=!1;return}if(o(["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 l=FLt.getComponentMethod("calendars","handleTraceDefaults");l(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(c){i(c)});var u=i("contour.show");u&&(i("contour.color"),i("contour.width")),"intensity"in t?(i("intensity"),i("intensitymode"),PLt(t,r,a,i,{prefix:"",cLetter:"c"})):(r.showscale=!1,"facecolor"in t?i("facecolor"):"vertexcolor"in t?i("vertexcolor"):i("color",n)),i("text"),i("hovertext"),i("hovertemplate"),i("hovertemplatefallback"),i("xhoverformat"),i("yhoverformat"),i("zhoverformat"),r._length=null}});var b8e=ne((Edr,x8e)=>{"use strict";var RLt=qh();x8e.exports=function(t,r){r.intensity&&RLt(t,r,{vals:r.intensity,containerStr:"",cLetter:"c"})}});var M8e=ne((kdr,A8e)=>{"use strict";var ILt=$f().gl_mesh3d,zLt=$f().delaunay_triangulate,qLt=$f().alpha_shape,BLt=$f().convex_hull,OLt=ag().parseColorScale,NLt=Zt().isArrayOrTypedArray,lH=ng(),ULt=El().extractOpts,_8e=Q3();function T8e(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var uH=T8e.prototype;uH.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index;e.data._cellCenter?e.traceCoordinate=e.data.dataCoordinate:e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]];var r=this.data.hovertext||this.data.text;return NLt(r)&&r[t]!==void 0?e.textLabel=r[t]:r&&(e.textLabel=r),!0}};function w8e(e){for(var t=[],r=e.length,n=0;n=t-.5)return!1;return!0}uH.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=e;var n=e.x.length,a=_8e(iH(r.xaxis,e.x,t.dataScale[0],e.xcalendar),iH(r.yaxis,e.y,t.dataScale[1],e.ycalendar),iH(r.zaxis,e.z,t.dataScale[2],e.zcalendar)),i;if(e.i&&e.j&&e.k){if(e.i.length!==e.j.length||e.j.length!==e.k.length||!sH(e.i,n)||!sH(e.j,n)||!sH(e.k,n))return;i=_8e(oH(e.i),oH(e.j),oH(e.k))}else e.alphahull===0?i=BLt(a):e.alphahull>0?i=qLt(e.alphahull,a):i=VLt(e.delaunayaxis,a);var o={positions:a,cells:i,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,contourEnable:e.contour.show,contourColor:lH(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading};if(e.intensity){var s=ULt(e);this.color="#fff";var l=e.intensitymode;o[l+"Intensity"]=e.intensity,o[l+"IntensityBounds"]=[s.min,s.max],o.colormap=OLt(e)}else e.vertexcolor?(this.color=e.vertexcolor[0],o.vertexColors=w8e(e.vertexcolor)):e.facecolor?(this.color=e.facecolor[0],o.cellColors=w8e(e.facecolor)):(this.color=e.color,o.meshColor=lH(e.color));this.mesh.update(o)};uH.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function GLt(e,t){var r=e.glplot.gl,n=ILt({gl:r}),a=new T8e(e,n,t.uid);return n._trace=a,a.update(t),e.glplot.add(n),a}A8e.exports=GLt});var E8e=ne((Cdr,S8e)=>{"use strict";S8e.exports={attributes:K3(),supplyDefaults:y8e(),calc:b8e(),colorbar:{min:"cmin",max:"cmax"},plot:M8e(),moduleType:"trace",name:"mesh3d",basePlotModule:jm(),categories:["gl3d","showLegend"],meta:{}}});var C8e=ne((Ldr,k8e)=>{"use strict";k8e.exports=E8e()});var fH=ne((Fdr,F8e)=>{"use strict";var HLt=Ys(),ew=Wl().axisHoverFormat,{hovertemplateAttrs:jLt,templatefallbackAttrs:WLt}=rs(),YLt=K3(),L8e=os(),cH=ci().extendFlat,S7={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:jLt({editType:"calc"},{keys:["norm"]}),hovertemplatefallback:WLt({editType:"calc"}),uhoverformat:ew("u",1),vhoverformat:ew("v",1),whoverformat:ew("w",1),xhoverformat:ew("x"),yhoverformat:ew("y"),zhoverformat:ew("z"),showlegend:cH({},L8e.showlegend,{dflt:!1})};cH(S7,HLt("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));var XLt=["opacity","lightposition","lighting"];XLt.forEach(function(e){S7[e]=YLt[e]});S7.hoverinfo=cH({},L8e.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"});F8e.exports=S7});var D8e=ne((Pdr,P8e)=>{"use strict";var ZLt=Zt(),$Lt=bf(),KLt=fH();P8e.exports=function(t,r,n,a){function i(v,d){return ZLt.coerce(t,r,KLt,v,d)}var o=i("u"),s=i("v"),l=i("w"),u=i("x"),c=i("y"),f=i("z");if(!o||!o.length||!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length||!f||!f.length){r.visible=!1;return}var h=i("sizemode");i("sizeref",h==="raw"?1:.5),i("anchor"),i("lighting.ambient"),i("lighting.diffuse"),i("lighting.specular"),i("lighting.roughness"),i("lighting.fresnel"),i("lightposition.x"),i("lightposition.y"),i("lightposition.z"),$Lt(t,r,a,i,{prefix:"",cLetter:"c"}),i("text"),i("hovertext"),i("hovertemplate"),i("hovertemplatefallback"),i("uhoverformat"),i("vhoverformat"),i("whoverformat"),i("xhoverformat"),i("yhoverformat"),i("zhoverformat"),r._length=null}});var I8e=ne((Ddr,R8e)=>{"use strict";var JLt=qh();R8e.exports=function(t,r){for(var n=r.u,a=r.v,i=r.w,o=Math.min(r.x.length,r.y.length,r.z.length,n.length,a.length,i.length),s=-1/0,l=1/0,u=0;u{"use strict";var QLt=$f().gl_cone3d,e7t=$f().gl_cone3d.createConeMesh,t7t=Zt().simpleMap,r7t=ag().parseColorScale,n7t=El().extractOpts,a7t=Zt().isArrayOrTypedArray,z8e=Q3();function q8e(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var hH=q8e.prototype;hH.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index,r=this.data.x[t],n=this.data.y[t],a=this.data.z[t],i=this.data.u[t],o=this.data.v[t],s=this.data.w[t];e.traceCoordinate=[r,n,a,i,o,s,Math.sqrt(i*i+o*o+s*s)];var l=this.data.hovertext||this.data.text;return a7t(l)&&l[t]!==void 0?e.textLabel=l[t]:l&&(e.textLabel=l),!0}};var i7t={xaxis:0,yaxis:1,zaxis:2},o7t={tip:1,tail:0,cm:.25,center:.5},s7t={tip:1,tail:1,cm:.75,center:.5};function B8e(e,t){var r=e.fullSceneLayout,n=e.dataScale,a={};function i(c,f){var h=r[f],v=n[i7t[f]];return t7t(c,function(d){return h.d2l(d)*v})}a.vectors=z8e(i(t.u,"xaxis"),i(t.v,"yaxis"),i(t.w,"zaxis"),t._len),a.positions=z8e(i(t.x,"xaxis"),i(t.y,"yaxis"),i(t.z,"zaxis"),t._len);var o=n7t(t);a.colormap=r7t(t),a.vertexIntensityBounds=[o.min/t._normMax,o.max/t._normMax],a.coneOffset=o7t[t.anchor];var s=t.sizemode;s==="scaled"?a.coneSize=t.sizeref||.5:s==="absolute"?a.coneSize=t.sizeref&&t._normMax?t.sizeref/t._normMax:.5:s==="raw"&&(a.coneSize=t.sizeref),a.coneSizemode=s;var l=QLt(a),u=t.lightposition;return l.lightPosition=[u.x,u.y,u.z],l.ambient=t.lighting.ambient,l.diffuse=t.lighting.diffuse,l.specular=t.lighting.specular,l.roughness=t.lighting.roughness,l.fresnel=t.lighting.fresnel,l.opacity=t.opacity,t._pad=s7t[t.anchor]*l.vectorScale*l.coneScale*t._normMax,l}hH.update=function(e){this.data=e;var t=B8e(this.scene,e);this.mesh.update(t)};hH.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function l7t(e,t){var r=e.glplot.gl,n=B8e(e,t),a=e7t(r,n),i=new q8e(e,t.uid);return i.mesh=a,i.data=t,a._trace=i,e.glplot.add(a),i}O8e.exports=l7t});var V8e=ne((Idr,U8e)=>{"use strict";U8e.exports={moduleType:"trace",name:"cone",basePlotModule:jm(),categories:["gl3d","showLegend"],attributes:fH(),supplyDefaults:D8e(),colorbar:{min:"cmin",max:"cmax"},calc:I8e(),plot:N8e(),eventData:function(e,t){return e.norm=t.traceCoordinate[6],e},meta:{}}});var H8e=ne((zdr,G8e)=>{"use strict";G8e.exports=V8e()});var vH=ne((qdr,W8e)=>{"use strict";var u7t=Ys(),tw=Wl().axisHoverFormat,{hovertemplateAttrs:c7t,templatefallbackAttrs:f7t}=rs(),h7t=K3(),j8e=os(),dH=ci().extendFlat,E7={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},starts:{x:{valType:"data_array",editType:"calc"},y:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},editType:"calc"},maxdisplayed:{valType:"integer",min:0,dflt:1e3,editType:"calc"},sizeref:{valType:"number",editType:"calc",min:0,dflt:1},text:{valType:"string",dflt:"",editType:"calc"},hovertext:{valType:"string",dflt:"",editType:"calc"},hovertemplate:c7t({editType:"calc"},{keys:["tubex","tubey","tubez","tubeu","tubev","tubew","norm","divergence"]}),hovertemplatefallback:f7t({editType:"calc"}),uhoverformat:tw("u",1),vhoverformat:tw("v",1),whoverformat:tw("w",1),xhoverformat:tw("x"),yhoverformat:tw("y"),zhoverformat:tw("z"),showlegend:dH({},j8e.showlegend,{dflt:!1})};dH(E7,u7t("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));var d7t=["opacity","lightposition","lighting"];d7t.forEach(function(e){E7[e]=h7t[e]});E7.hoverinfo=dH({},j8e.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","divergence","text","name"],dflt:"x+y+z+norm+text+name"});W8e.exports=E7});var X8e=ne((Bdr,Y8e)=>{"use strict";var v7t=Zt(),p7t=bf(),g7t=vH();Y8e.exports=function(t,r,n,a){function i(h,v){return v7t.coerce(t,r,g7t,h,v)}var o=i("u"),s=i("v"),l=i("w"),u=i("x"),c=i("y"),f=i("z");if(!o||!o.length||!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length||!f||!f.length){r.visible=!1;return}i("starts.x"),i("starts.y"),i("starts.z"),i("maxdisplayed"),i("sizeref"),i("lighting.ambient"),i("lighting.diffuse"),i("lighting.specular"),i("lighting.roughness"),i("lighting.fresnel"),i("lightposition.x"),i("lightposition.y"),i("lightposition.z"),p7t(t,r,a,i,{prefix:"",cLetter:"c"}),i("text"),i("hovertext"),i("hovertemplate"),i("hovertemplatefallback"),i("uhoverformat"),i("vhoverformat"),i("whoverformat"),i("xhoverformat"),i("yhoverformat"),i("zhoverformat"),r._length=null}});var rLe=ne((Odr,tLe)=>{"use strict";var K8e=$f().gl_streamtube3d,m7t=K8e.createTubeMesh,y7t=Zt(),x7t=ag().parseColorScale,b7t=El().extractOpts,Z8e=Q3(),J8e={xaxis:0,yaxis:1,zaxis:2};function Q8e(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var gH=Q8e.prototype;gH.handlePick=function(e){var t=this.scene.fullSceneLayout,r=this.scene.dataScale;function n(o,s){var l=t[s],u=r[J8e[s]];return l.l2c(o)/u}if(e.object===this.mesh){var a=e.data.position,i=e.data.velocity;return e.traceCoordinate=[n(a[0],"xaxis"),n(a[1],"yaxis"),n(a[2],"zaxis"),n(i[0],"xaxis"),n(i[1],"yaxis"),n(i[2],"zaxis"),e.data.intensity*this.data._normMax,e.data.divergence],e.textLabel=this.data.hovertext||this.data.text,!0}};function $8e(e){var t=e.length,r;return t>2?r=e.slice(1,t-1):t===2?r=[(e[0]+e[1])/2]:r=e,r}function pH(e){var t=e.length;return t===1?[.5,.5]:[e[1]-e[0],e[t-1]-e[t-2]]}function eLe(e,t){var r=e.fullSceneLayout,n=e.dataScale,a=t._len,i={};function o(P,D){var z=r[D],q=n[J8e[D]];return y7t.simpleMap(P,function(U){return z.d2l(U)*q})}if(i.vectors=Z8e(o(t._u,"xaxis"),o(t._v,"yaxis"),o(t._w,"zaxis"),a),!a)return{positions:[],cells:[]};var s=o(t._Xs,"xaxis"),l=o(t._Ys,"yaxis"),u=o(t._Zs,"zaxis");i.meshgrid=[s,l,u],i.gridFill=t._gridFill;var c=t._slen;if(c)i.startingPositions=Z8e(o(t._startsX,"xaxis"),o(t._startsY,"yaxis"),o(t._startsZ,"zaxis"));else{for(var f=l[0],h=$8e(s),v=$8e(u),d=new Array(h.length*v.length),m=0,x=0;x{"use strict";nLe.exports={moduleType:"trace",name:"streamtube",basePlotModule:jm(),categories:["gl3d","showLegend"],attributes:vH(),supplyDefaults:X8e(),colorbar:{min:"cmin",max:"cmax"},calc:w7().calc,plot:rLe(),eventData:function(e,t){return e.tubex=e.x,e.tubey=e.y,e.tubez=e.z,e.tubeu=t.traceCoordinate[3],e.tubev=t.traceCoordinate[4],e.tubew=t.traceCoordinate[5],e.norm=t.traceCoordinate[6],e.divergence=t.traceCoordinate[7],delete e.x,delete e.y,delete e.z,e},meta:{}}});var oLe=ne((Udr,iLe)=>{"use strict";iLe.exports=aLe()});var rw=ne((Vdr,fLe)=>{"use strict";var{hovertemplateAttrs:w7t,texttemplateAttrs:T7t,templatefallbackAttrs:sLe}=rs(),A7t=zp(),a1=Tu(),M7t=os(),lLe=Ys(),S7t=xf().dash,b2=ci().extendFlat,E7t=Il().overrideAll,m0=a1.marker,uLe=a1.line,cLe=m0.line;fLe.exports=E7t({lon:{valType:"data_array"},lat:{valType:"data_array"},locations:{valType:"data_array"},locationmode:{valType:"enumerated",values:["ISO-3","USA-states","country names","geojson-id"],dflt:"ISO-3"},geojson:{valType:"any",editType:"calc"},featureidkey:{valType:"string",editType:"calc",dflt:"id"},mode:b2({},a1.mode,{dflt:"markers"}),text:b2({},a1.text,{}),texttemplate:T7t({editType:"plot"},{keys:["lat","lon","location","text"]}),texttemplatefallback:sLe({editType:"plot"}),hovertext:b2({},a1.hovertext,{}),textfont:a1.textfont,textposition:a1.textposition,line:{color:uLe.color,width:uLe.width,dash:S7t},connectgaps:a1.connectgaps,marker:b2({symbol:m0.symbol,opacity:m0.opacity,angle:m0.angle,angleref:b2({},m0.angleref,{values:["previous","up","north"]}),standoff:m0.standoff,size:m0.size,sizeref:m0.sizeref,sizemin:m0.sizemin,sizemode:m0.sizemode,colorbar:m0.colorbar,line:b2({width:cLe.width,dash:cLe.dash},lLe("marker.line")),gradient:m0.gradient},lLe("marker")),fill:{valType:"enumerated",values:["none","toself"],dflt:"none"},fillcolor:A7t(),selected:a1.selected,unselected:a1.unselected,hoverinfo:b2({},M7t.hoverinfo,{flags:["lon","lat","location","text","name"]}),hovertemplate:w7t(),hovertemplatefallback:sLe()},"calc","nested")});var dLe=ne((Gdr,hLe)=>{"use strict";var mH=Zt(),yH=ml(),k7t=Kv(),C7t=V0(),L7t=G0(),F7t=Bp(),P7t=rw();hLe.exports=function(t,r,n,a){function i(v,d){return mH.coerce(t,r,P7t,v,d)}var o=i("locations"),s;if(o&&o.length){var l=i("geojson"),u;(typeof l=="string"&&l!==""||mH.isPlainObject(l))&&(u="geojson-id");var c=i("locationmode",u);c==="geojson-id"&&i("featureidkey"),s=o.length}else{var f=i("lon")||[],h=i("lat")||[];s=Math.min(f.length,h.length)}if(!s){r.visible=!1;return}r._length=s,i("text"),i("hovertext"),i("hovertemplate"),i("hovertemplatefallback"),i("mode"),yH.hasMarkers(r)&&k7t(t,r,n,a,i,{gradient:!0}),yH.hasLines(r)&&(C7t(t,r,n,a,i),i("connectgaps")),yH.hasText(r)&&(i("texttemplate"),i("texttemplatefallback"),L7t(t,r,a,i)),i("fill"),r.fill!=="none"&&F7t(t,r,n,i),mH.coerceSelectionMarkerOpacity(r,i)}});var gLe=ne((Hdr,pLe)=>{"use strict";var vLe=ri();pLe.exports=function(t,r,n){var a={},i=n[r.geo]._subplot,o=i.mockAxis,s=t.lonlat;return a.lonLabel=vLe.tickText(o,o.c2l(s[0]),!0).text,a.latLabel=vLe.tickText(o,o.c2l(s[1]),!0).text,a}});var bH=ne((jdr,bLe)=>{"use strict";var xH=mi(),mLe=uo().BADNUM,D7t=Jv(),R7t=Op(),I7t=mv(),z7t=Zt().isArrayOrTypedArray,yLe=Zt()._;function xLe(e){return e&&typeof e=="string"}bLe.exports=function(t,r){var n=z7t(r.locations),a=n?r.locations.length:r._length,i=new Array(a),o;r.geojson?o=function(h){return xLe(h)||xH(h)}:o=xLe;for(var s=0;s{"use strict";Sh.projNames={airy:"airy",aitoff:"aitoff","albers usa":"albersUsa",albers:"albers",august:"august","azimuthal equal area":"azimuthalEqualArea","azimuthal equidistant":"azimuthalEquidistant",baker:"baker",bertin1953:"bertin1953",boggs:"boggs",bonne:"bonne",bottomley:"bottomley",bromley:"bromley",collignon:"collignon","conic conformal":"conicConformal","conic equal area":"conicEqualArea","conic equidistant":"conicEquidistant",craig:"craig",craster:"craster","cylindrical equal area":"cylindricalEqualArea","cylindrical stereographic":"cylindricalStereographic",eckert1:"eckert1",eckert2:"eckert2",eckert3:"eckert3",eckert4:"eckert4",eckert5:"eckert5",eckert6:"eckert6",eisenlohr:"eisenlohr","equal earth":"equalEarth",equirectangular:"equirectangular",fahey:"fahey","foucaut sinusoidal":"foucautSinusoidal",foucaut:"foucaut",ginzburg4:"ginzburg4",ginzburg5:"ginzburg5",ginzburg6:"ginzburg6",ginzburg8:"ginzburg8",ginzburg9:"ginzburg9",gnomonic:"gnomonic","gringorten quincuncial":"gringortenQuincuncial",gringorten:"gringorten",guyou:"guyou",hammer:"hammer",hill:"hill",homolosine:"homolosine",hufnagel:"hufnagel",hyperelliptical:"hyperelliptical",kavrayskiy7:"kavrayskiy7",lagrange:"lagrange",larrivee:"larrivee",laskowski:"laskowski",loximuthal:"loximuthal",mercator:"mercator",miller:"miller",mollweide:"mollweide","mt flat polar parabolic":"mtFlatPolarParabolic","mt flat polar quartic":"mtFlatPolarQuartic","mt flat polar sinusoidal":"mtFlatPolarSinusoidal","natural earth":"naturalEarth","natural earth1":"naturalEarth1","natural earth2":"naturalEarth2","nell hammer":"nellHammer",nicolosi:"nicolosi",orthographic:"orthographic",patterson:"patterson","peirce quincuncial":"peirceQuincuncial",polyconic:"polyconic","rectangular polyconic":"rectangularPolyconic",robinson:"robinson",satellite:"satellite","sinu mollweide":"sinuMollweide",sinusoidal:"sinusoidal",stereographic:"stereographic",times:"times","transverse mercator":"transverseMercator","van der grinten":"vanDerGrinten","van der grinten2":"vanDerGrinten2","van der grinten3":"vanDerGrinten3","van der grinten4":"vanDerGrinten4",wagner4:"wagner4",wagner6:"wagner6",wiechel:"wiechel","winkel tripel":"winkel3",winkel3:"winkel3"};Sh.axesNames=["lonaxis","lataxis"];Sh.lonaxisSpan={orthographic:180,"azimuthal equal area":360,"azimuthal equidistant":360,"conic conformal":180,gnomonic:160,stereographic:180,"transverse mercator":180,"*":360};Sh.lataxisSpan={"conic conformal":150,stereographic:179.5,"*":180};Sh.fitboundsIncompatible=new Set(["albers usa","craig","satellite"]);Sh.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:"equirectangular",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:"albers usa"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:"conic conformal",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:"mercator",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:"mercator",projRotate:[0,0,0]},"north america":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:"conic conformal",projRotate:[-100,0,0],projParallels:[29.5,45.5]},"south america":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:"mercator",projRotate:[0,0,0]},antarctica:{lonaxisRange:[-180,180],lataxisRange:[-90,-60],projType:"equirectangular",projRotate:[0,0,0]},oceania:{lonaxisRange:[-180,180],lataxisRange:[-50,25],projType:"equirectangular",projRotate:[0,0,0]}};Sh.clipPad=.001;Sh.precision=.1;Sh.landColor="#F0DC82";Sh.waterColor="#3399FF";Sh.locationmodeToLayer={"ISO-3":"countries","USA-states":"subunits","country names":"countries"};Sh.sphereSVG={type:"Sphere"};Sh.fillLayers={ocean:1,land:1,lakes:1};Sh.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1};Sh.layers=["bg","ocean","land","lakes","subunits","countries","coastlines","rivers","lataxis","lonaxis","frame","backplot","frontplot"];Sh.layersForChoropleth=["bg","ocean","land","subunits","countries","coastlines","lataxis","lonaxis","frame","backplot","rivers","lakes","frontplot"];Sh.layerNameToAdjective={ocean:"ocean",land:"land",lakes:"lake",subunits:"subunit",countries:"country",coastlines:"coastline",rivers:"river",frame:"frame"}});var _H=ne((k7,_Le)=>{(function(e,t){typeof k7=="object"&&typeof _Le!="undefined"?t(k7):(e=e||self,t(e.topojson=e.topojson||{}))})(k7,function(e){"use strict";function t(M){return M}function r(M){if(M==null)return t;var w,k,y=M.scale[0],S=M.scale[1],T=M.translate[0],p=M.translate[1];return function(C,A){A||(w=k=0);var P=2,D=C.length,z=new Array(D);for(z[0]=(w+=C[0])*y+T,z[1]=(k+=C[1])*S+p;PT&&(T=P[0]),P[1]p&&(p=P[1])}function A(P){switch(P.type){case"GeometryCollection":P.geometries.forEach(A);break;case"Point":C(P.coordinates);break;case"MultiPoint":P.coordinates.forEach(C);break}}M.arcs.forEach(function(P){for(var D=-1,z=P.length,q;++DT&&(T=q[0]),q[1]p&&(p=q[1])});for(k in M.objects)A(M.objects[k]);return[y,S,T,p]}function a(M,w){for(var k,y=M.length,S=y-w;S<--y;)k=M[S],M[S++]=M[y],M[y]=k}function i(M,w){return typeof w=="string"&&(w=M.objects[w]),w.type==="GeometryCollection"?{type:"FeatureCollection",features:w.geometries.map(function(k){return o(M,k)})}:o(M,w)}function o(M,w){var k=w.id,y=w.bbox,S=w.properties==null?{}:w.properties,T=s(M,w);return k==null&&y==null?{type:"Feature",properties:S,geometry:T}:y==null?{type:"Feature",id:k,properties:S,geometry:T}:{type:"Feature",id:k,bbox:y,properties:S,geometry:T}}function s(M,w){var k=r(M.transform),y=M.arcs;function S(D,z){z.length&&z.pop();for(var q=y[D<0?~D:D],U=0,O=q.length;U1)y=f(M,w,k);else for(S=0,y=new Array(T=M.arcs.length);S1)for(var z=1,q=C(P[0]),U,O;zq&&(O=P[0],P[0]=P[z],P[z]=O,q=U);return P}).filter(function(A){return A.length>0})}}function m(M,w){for(var k=0,y=M.length;k>>1;M[S]=2))throw new Error("n must be \u22652");A=M.bbox||n(M);var k=A[0],y=A[1],S=A[2],T=A[3],p;w={scale:[S-k?(S-k)/(p-1):1,T-y?(T-y)/(p-1):1],translate:[k,y]}}else A=M.bbox;var C=g(w),A,P,D=M.objects,z={};function q(R){return C(R)}function U(R){var B;switch(R.type){case"GeometryCollection":B={type:"GeometryCollection",geometries:R.geometries.map(U)};break;case"Point":B={type:"Point",coordinates:q(R.coordinates)};break;case"MultiPoint":B={type:"MultiPoint",coordinates:R.coordinates.map(q)};break;default:return R}return R.id!=null&&(B.id=R.id),R.bbox!=null&&(B.bbox=R.bbox),R.properties!=null&&(B.properties=R.properties),B}function O(R){var B=0,Y=1,X=R.length,te,se=new Array(X);for(se[0]=C(R[0],0);++B{"use strict";var wH=wLe.exports={},q7t=GA().locationmodeToLayer,B7t=_H().feature;wH.getTopojsonName=function(e){return[e.scope.replace(/ /g,"-"),"_",e.resolution.toString(),"m"].join("")};wH.getTopojsonPath=function(e,t){return e+=e.endsWith("/")?"":"/",`${e}${t}.json`};wH.getTopojsonFeatures=function(e,t){var r=q7t[e.locationmode],n=t.objects[r];return B7t(t,n).features}});var jA=ne(HA=>{"use strict";var O7t=uo().BADNUM;HA.calcTraceToLineCoords=function(e){for(var t=e[0].trace,r=t.connectgaps,n=[],a=[],i=0;i0&&(n.push(a),a=[])}return a.length>0&&n.push(a),n};HA.makeLine=function(e){return e.length===1?{type:"LineString",coordinates:e[0]}:{type:"MultiLineString",coordinates:e}};HA.makePolygon=function(e){if(e.length===1)return{type:"Polygon",coordinates:e};for(var t=new Array(e.length),r=0;r{"use strict";var AH=Object.defineProperty,N7t=Object.getOwnPropertyDescriptor,U7t=Object.getOwnPropertyNames,V7t=Object.prototype.hasOwnProperty,G7t=(e,t)=>{for(var r in t)AH(e,r,{get:t[r],enumerable:!0})},H7t=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of U7t(t))!V7t.call(e,a)&&a!==r&&AH(e,a,{get:()=>t[a],enumerable:!(n=N7t(t,a))||n.enumerable});return e},j7t=e=>H7t(AH({},"__esModule",{value:!0}),e),TLe={};G7t(TLe,{COUNTRIES:()=>ALe,byAlpha2:()=>Z7t,byAlpha3:()=>X7t,byM49:()=>$7t,createLookup:()=>MLe,lookup:()=>W7t,lookupAlpha3:()=>Y7t,sanitize:()=>TH});SLe.exports=j7t(TLe);var ALe=[{iso3:"ABW",iso2:"AW",m49:"533",name:"Aruba",aliases:["\u{1F1E6}\u{1F1FC}","country of aruba","land aruba","pais aruba"]},{iso3:"AFG",iso2:"AF",m49:"004",name:"Afghanistan",aliases:["\u{1F1E6}\u{1F1EB}","affghanistan","affghanisthan","affghaunistan","afghania","afghanisthan","afghaunistan","afghaunistaun","afgoniston","de afghanistan islami jumhuriyat","owganystan","\u0430\u0444\u0493\u043E\u043D\u0438\u0441\u0442\u043E\u043D","\u0623\u0641\u063A\u0627\u0646\u0633\u062A\u0627\u0646","\u0627\u0641\u063A\u0627\u0646\u0633\u062A\u0627\u0646","\u062F \u0627\u0641\u063A\u0627\u0646\u0633\u062A\u0627\u0646 \u0627\u0633\u0644\u0627\u0645\u06CC \u062C\u0645\u0647\u0648\u0631\u06CC\u062A"]},{iso3:"AGO",iso2:"AO",m49:"024",name:"Angola",aliases:["\u{1F1E6}\u{1F1F4}","republic of angola","republica de angola"]},{iso3:"AIA",iso2:"AI",m49:"660",name:"Anguilla",aliases:["\u{1F1E6}\u{1F1EE}","malliouhana"]},{iso3:"ALA",iso2:"AX",m49:"248",name:"\xC5land Islands",aliases:["\u{1F1E6}\u{1F1FD}","aaland","aaland islands","ahvenanmaa","aland","aland isles","aland region","alands lan","landskapet aland"]},{iso3:"ALB",iso2:"AL",m49:"008",name:"Albania",aliases:["\u{1F1E6}\u{1F1F1}","peoples republic of albania","peoples socialist republic of albania","republic of albania","republika e shqiperise","shqiperi","shqiperia","shqiperise","socialist republic of albania"]},{iso3:"AND",iso2:"AD",m49:"020",name:"Andorra",aliases:["\u{1F1E6}\u{1F1E9}","el pais dels pirineus","les valls dandorra","principality of andorra","principality of the valleys of andorra","principat dandorra","valls dandorra"]},{iso3:"ARE",iso2:"AE",m49:"784",name:"United Arab Emirates",aliases:["\u{1F1E6}\u{1F1EA}","emirates","uae","\u0627\u0644\u0625\u0645\u0627\u0631\u0627\u062A","\u0627\u0644\u0625\u0645\u0627\u0631\u0627\u062A \u0627\u0644\u0639\u0631\u0628\u064A\u0629 \u0627\u0644\u0645\u062A\u062D\u062F\u0629","\u0627\u0644\u0627\u0645\u0627\u0631\u0627\u062A","\u0627\u0644\u0627\u0645\u0627\u0631\u0627\u062A \u0627\u0644\u0639\u0631\u0628\u064A\u0629 \u0627\u0644\u0645\u062A\u062D\u062F\u0629","\u062F\u0648\u0644\u0629 \u0627\u0644\u0625\u0645\u0627\u0631\u0627\u062A \u0627\u0644\u0639\u0631\u0628\u064A\u0629 \u0627\u0644\u0645\u062A\u062D\u062F\u0629"]},{iso3:"ARG",iso2:"AR",m49:"032",name:"Argentina",aliases:["\u{1F1E6}\u{1F1F7}","argentine republic","nacion argentina","republic of argentina","republica argentina"]},{iso3:"ARM",iso2:"AM",m49:"051",name:"Armenia",aliases:["\u{1F1E6}\u{1F1F2}","hayastan","hayastani hanrapetutyun","republic of armenia","\u0570\u0561\u0575\u0561\u057D\u057F\u0561\u0576","\u0570\u0561\u0575\u0561\u057D\u057F\u0561\u0576\u056B \u0570\u0561\u0576\u0580\u0561\u057A\u0565\u057F\u0578\u0582\u0569\u0575\u0578\u0582\u0576","\u0570\u0561\u0575\u0584","\u0570\u0570"]},{iso3:"ASM",iso2:"AS",m49:"016",name:"American Samoa",aliases:["\u{1F1E6}\u{1F1F8}","amerika samoa","east samoa","samoa american","samoa united states","territory of american samoa","us samoa"]},{iso3:"ATA",iso2:"AQ",m49:"010",name:"Antarctica",aliases:["\u{1F1E6}\u{1F1F6}","antarctica treaty area"]},{iso3:"ATF",iso2:"TF",m49:"260",name:"French Southern Territories",aliases:["\u{1F1F9}\u{1F1EB}","taaf","terres australes et antarctiques francaises","terres australes francaises","terres australes francaises les","territoire des terres australes et antarctiques francaises"]},{iso3:"ATG",iso2:"AG",m49:"028",name:"Antigua and Barbuda",aliases:["\u{1F1E6}\u{1F1EC}","antigua","antigua barbuda","barbuda"]},{iso3:"AUS",iso2:"AU",m49:"036",name:"Australia",aliases:["\u{1F1E6}\u{1F1FA}","commonwealth of australia","new holland","new hollandia","nova hollandia"]},{iso3:"AUT",iso2:"AT",m49:"040",name:"Austria",aliases:["\u{1F1E6}\u{1F1F9}","osterreich","republic of austria","republik osterreich","zweite republik"]},{iso3:"AZE",iso2:"AZ",m49:"031",name:"Azerbaijan",aliases:["\u{1F1E6}\u{1F1FF}","az\u0259rbaycan","az\u0259rbaycan respublikas\u0131","republic of azerbaijan"]},{iso3:"BDI",iso2:"BI",m49:"108",name:"Burundi",aliases:["\u{1F1E7}\u{1F1EE}","gouvernement du burundi","la republique du burundi","republic of burundi","republika yu burundi","republika yuburundi","republique du burundi","repuburika yuburundi","uburundi"]},{iso3:"BEL",iso2:"BE",m49:"056",name:"Belgium",aliases:["\u{1F1E7}\u{1F1EA}","belg","belgie","belgien","belgique","kingdom of belgium","konigreich belgien","koninkrijk belgie","royaume de belgique"]},{iso3:"BEN",iso2:"BJ",m49:"204",name:"Benin",aliases:["\u{1F1E7}\u{1F1EF}","dahomey","la republique du benin","republic of benin","republique du benin"]},{iso3:"BES",iso2:"BQ",m49:"535",name:"Bonaire, Sint Eustatius and Saba",aliases:["\u{1F1E7}\u{1F1F6}","bes eilanden","bes islands","bijzondere gemeente","bonaire","bonaire saint eustatius and saba","bonaire sint eustatius en saba","caraibisch nederland","caribbean netherlands","caribisch nederland","hulanda karibense","islanan bes","netherlands antilles","saba","sint eustatius"]},{iso3:"BFA",iso2:"BF",m49:"854",name:"Burkina Faso",aliases:["\u{1F1E7}\u{1F1EB}","republic of burkina faso","republic of upper volta"]},{iso3:"BGD",iso2:"BD",m49:"050",name:"Bangladesh",aliases:["\u{1F1E7}\u{1F1E9}","bangla desh","gonaoprojatontri bangladesh","peoples republic of bangladesh","\u0997\u09A3\u09AA\u09CD\u09B0\u099C\u09BE\u09A4\u09A8\u09CD\u09A4\u09CD\u09B0\u09C0 \u09AC\u09BE\u0982\u09B2\u09BE\u09A6\u09C7\u09B6","\u09AC\u09BE\u0982\u09B2\u09BE \u09A6\u09C7\u09B6","\u09AC\u09BE\u0982\u09B2\u09BE\u09A6\u09C7\u09B6","\u09AC\u09BF\u09A1\u09BF"]},{iso3:"BGR",iso2:"BG",m49:"100",name:"Bulgaria",aliases:["\u{1F1E7}\u{1F1EC}","bulgarian republic","republic of bulgaria","republika bulgaria","republika bulgariya","\u0431\u0433","\u0431\u044A\u043B\u0433\u0430\u0440\u0438\u044F","\u0440\u0435\u043F\u0443\u0431\u043B\u0438\u043A\u0430 \u0431\u044A\u043B\u0433\u0430\u0440\u0438\u044F"]},{iso3:"BHR",iso2:"BH",m49:"048",name:"Bahrain",aliases:["\u{1F1E7}\u{1F1ED}","bahrein islands","kingdom of bahrain","\u0627\u0644\u0628\u062D\u0631\u064A\u0646","\u062F\u0648\u0644\u0629 \u0627\u0644\u0628\u062D\u0631\u064A\u0646","\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0628\u062D\u0631\u064A\u0646"]},{iso3:"BHS",iso2:"BS",m49:"044",name:"Bahamas",aliases:["\u{1F1E7}\u{1F1F8}","bahama islands","bahamas the","commonwealth of the bahamas"]},{iso3:"BIH",iso2:"BA",m49:"070",name:"Bosnia and Herzegovina",aliases:["\u{1F1E7}\u{1F1E6}","bosna","bosna i hercegovina","bosnia","bosnia and hercegovina","bosnia herzegovina","hercegovina","herzegovina","\u0431\u0438\u0445","\u0431\u043E\u0441\u043D\u0430","\u0431\u043E\u0441\u043D\u0430 \u0438 \u0445\u0435\u0440\u0446\u0435\u0433\u043E\u0432\u0438\u043D\u0430","\u0431\u0445"]},{iso3:"BLM",iso2:"BL",m49:"652",name:"Saint Barth\xE9lemy",aliases:["\u{1F1E7}\u{1F1F1}","collectivite doutre mer de saint barthelemy","collectivite territoriale de saint barthelemy","collectivity of saint barthelemy","saint barth","saint barths","saint barts","saint bartz"]},{iso3:"BLR",iso2:"BY",m49:"112",name:"Belarus",aliases:["\u{1F1E7}\u{1F1FE}","republic of belarus","respublika belarus","respublika byelarus","\u0431\u0435\u043B\u0430\u0440\u0443\u0441\u043A\u0430\u044F \u0440\u044D\u0441\u043F\u0443\u0431\u043B\u0456\u043A\u0430","\u0431\u0435\u043B\u0430\u0440\u0443\u0441\u044C","\u0431\u0435\u043B\u0430\u044F \u0440\u0443\u0441\u044C","\u0431\u0435\u043B\u043E\u0440\u0443\u0441\u0441\u0438\u044F","\u0440\u0431","\u0440\u0435\u0441\u043F\u0443\u0431\u043B\u0438\u043A\u0430 \u0431\u0435\u043B\u0430\u0440\u0443\u0441\u044C","\u0440\u044D\u0441\u043F\u0443\u0431\u043B\u0456\u043A\u0430 \u0431\u0435\u043B\u0430\u0440\u0443\u0441\u044C"]},{iso3:"BLZ",iso2:"BZ",m49:"084",name:"Belize",aliases:["\u{1F1E7}\u{1F1FF}"]},{iso3:"BMU",iso2:"BM",m49:"060",name:"Bermuda",aliases:["\u{1F1E7}\u{1F1F2}","barmuda","barmuda i","barmuda isl","barmuda islands","barmudas","bermoothes","bermuda islands","bermudas","bermudian islands","colony of bermuda","devils isles","isle of devils","somers islands","somers isles","summers isles","territory of bermuda","virgineola"]},{iso3:"BOL",iso2:"BO",m49:"068",name:"Bolivia (Plurinational State of)",aliases:["\u{1F1E7}\u{1F1F4}","bolivia","bulibiya","estado plurinacional de bolivia","plurinational state of bolivia","puliwya","republic of bolivia","republica de bolivia","volivia","wuliwiya","wuliwya"]},{iso3:"BRA",iso2:"BR",m49:"076",name:"Brazil",aliases:["\u{1F1E7}\u{1F1F7}","brasil","federative republic of brazil","pindorama","republica federativa do brasil"]},{iso3:"BRB",iso2:"BB",m49:"052",name:"Barbados",aliases:["\u{1F1E7}\u{1F1E7}","barbadoes"]},{iso3:"BRN",iso2:"BN",m49:"096",name:"Brunei Darussalam",aliases:["\u{1F1E7}\u{1F1F3}","brunei","nation of brunei the abode of peace","negara brunei darussalam"]},{iso3:"BTN",iso2:"BT",m49:"064",name:"Bhutan",aliases:["\u{1F1E7}\u{1F1F9}","kingdom of bhutan","\u0F60\u0F56\u0FB2\u0F74\u0F42","\u0F60\u0F56\u0FB2\u0F74\u0F42\u0F0B\u0F61\u0F74\u0F63\u0F0B","\u0F60\u0F56\u0FB2\u0F74\u0F42\u0F61\u0F74\u0F63\u0F0B\u0F0B"]},{iso3:"BVT",iso2:"BV",m49:"074",name:"Bouvet Island",aliases:["\u{1F1E7}\u{1F1FB}"]},{iso3:"BWA",iso2:"BW",m49:"072",name:"Botswana",aliases:["\u{1F1E7}\u{1F1FC}","lefatshe la botswana","republic of botswana"]},{iso3:"CAF",iso2:"CF",m49:"140",name:"Central African Republic",aliases:["\u{1F1E8}\u{1F1EB}","centrafricaine republique","centrafrique","central africa","kodorosese ti beafrika","la republique","rep centrafrique","republique centrafricaine"]},{iso3:"CAN",iso2:"CA",m49:"124",name:"Canada",aliases:["\u{1F1E8}\u{1F1E6}","le canada"]},{iso3:"CCK",iso2:"CC",m49:"166",name:"Cocos (Keeling) Islands",aliases:["\u{1F1E8}\u{1F1E8}","cocos islands","keeling islands","territory of the cocos keeling islands"]},{iso3:"CHE",iso2:"CH",m49:"756",name:"Switzerland",aliases:["\u{1F1E8}\u{1F1ED}","confederation helvetique","confederation suisse","confederazione elvetica","confederazione svizzera","confederaziun svizra","confoederatio helvetica","conf\u0153deratio helvetica","eidgenossenschaft","elvezia","helvetie","la confederation suisse","schweiz","schweizerische eidgenossenschaft","suisse","svizra","svizzera","swiss","swiss confederation"]},{iso3:"CHL",iso2:"CL",m49:"152",name:"Chile",aliases:["\u{1F1E8}\u{1F1F1}","republic of chile","republica de chile"]},{iso3:"CHN",iso2:"CN",m49:"156",name:"China",aliases:["\u{1F1E8}\u{1F1F3}","china pr","peoples republic of china","pr china","prc","\u4E2D\u534E\u4EBA\u6C11\u5171\u548C\u56FD","\u4E2D\u56FD"]},{iso3:"CIV",iso2:"CI",m49:"384",name:"C\xF4te d'Ivoire",aliases:["\u{1F1E8}\u{1F1EE}","cote ivoire","ivory coast","republic of cote divoire","republic of ivory coast","republic of the ivory coast","republique de cote divoire"]},{iso3:"CMR",iso2:"CM",m49:"120",name:"Cameroon",aliases:["\u{1F1E8}\u{1F1F2}","cameroun","la republique du cameroun","republic of cameroon","republique du cameroun"]},{iso3:"COD",iso2:"CD",m49:"180",name:"Democratic Republic of the Congo",aliases:["\u{1F1E8}\u{1F1E9}","congo belge","congo democratic republic of the","congo kinshasa","dem rep congo","dem republic of congo","dem republic of the congo","democratic republic of congo","dr congo","rd congo","rep demcongo","republic of the congo","republique democratique du congo","republique du zaire","zaire"]},{iso3:"COG",iso2:"CG",m49:"178",name:"Congo",aliases:["\u{1F1E8}\u{1F1EC}","congo brazza","congo brazzaville","congo republic","rep congo","republic of congo","republique du congo"]},{iso3:"COK",iso2:"CK",m49:"184",name:"Cook Islands",aliases:["\u{1F1E8}\u{1F1F0}","cook group","hervey islands"]},{iso3:"COL",iso2:"CO",m49:"170",name:"Colombia",aliases:["\u{1F1E8}\u{1F1F4}","republic of colombia","republica de colombia"]},{iso3:"COM",iso2:"KM",m49:"174",name:"Comoros",aliases:["\u{1F1F0}\u{1F1F2}","comores","comores archipel","etat comorien","lunion des comores","republique des comores","republique federale et islamique des comores","republique federale islamique des comores","territoire des comores","union des comores","union of the comoros","\u0625\u062A\u062D\u0627\u062F \u0627\u0644\u0642\u0645\u0631","\u0627\u062A\u062D\u0627\u062F \u062C\u0632\u0631 \u0627\u0644\u0642\u0645\u0631","\u0627\u0644\u0627\u062A\u062D\u0627\u062F \u0627\u0644\u0642\u0645\u0631\u064A","\u0627\u0644\u0642\u0645\u0631","\u062C\u0632\u0631 \u0627\u0644\u0642\u0645\u0631","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0642\u0645\u0631 \u0627\u0644\u0645\u062A\u062D\u062F\u0629","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u062C\u0632\u0631 \u0627\u0644\u0642\u0645\u0631 \u0627\u0644\u0627\u062A\u062D\u0627\u062F\u064A\u0629 \u0627\u0644\u0625\u0633\u0644\u0627\u0645\u064A\u0629","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u062C\u0632\u0631\u0627\u0644\u0642\u0645\u0631 \u0627\u0644\u0645\u062A\u062D\u062F\u0629"]},{iso3:"CPV",iso2:"CV",m49:"132",name:"Cabo Verde",aliases:["\u{1F1E8}\u{1F1FB}","cape verde","cape verde islands","kab verd","kabu verdi","kauberdi","republic of cabo verde","republic of cape verde","republica de cabo verde"]},{iso3:"CRI",iso2:"CR",m49:"188",name:"Costa Rica",aliases:["\u{1F1E8}\u{1F1F7}","republic of costa rica","republica de costa rica"]},{iso3:"CUB",iso2:"CU",m49:"192",name:"Cuba",aliases:["\u{1F1E8}\u{1F1FA}","isla juana","republic of cuba","republica de cuba"]},{iso3:"CUW",iso2:"CW",m49:"531",name:"Cura\xE7ao",aliases:["\u{1F1E8}\u{1F1FC}","corsou","corsouw","corsow","country of curacao","curacau","curacoa","curazao","cura\u03C2ao","curocao","island territory of curacao","korsou","land curacao","pais korsou"]},{iso3:"CXR",iso2:"CX",m49:"162",name:"Christmas Island",aliases:["\u{1F1E8}\u{1F1FD}","christmas island other territories","christmas island other territories australia","territory of christmas island"]},{iso3:"CYM",iso2:"KY",m49:"136",name:"Cayman Islands",aliases:["\u{1F1F0}\u{1F1FE}","caymans"]},{iso3:"CYP",iso2:"CY",m49:"196",name:"Cyprus",aliases:["\u{1F1E8}\u{1F1FE}","greek administration of southern cyprus","greek cypriot state","guney k\u0131br\u0131s","guney k\u0131br\u0131s rum cumhuriyeti","guney k\u0131br\u0131s rum kesimi","guney k\u0131br\u0131s rum yonetimi","kipriaki dhimokratia","k\u0131br\u0131s","k\u0131br\u0131s cumhuriyeti","k\u0131br\u0131s rum kesimi","kypriaki dimokratia","kypros","republic of cyprus","\u03BA\u03C5\u03C0\u03C1\u03B9\u03B1\u03BA\u03B7 \u03B4\u03B7\u03BC\u03BF\u03BA\u03C1\u03B1\u03C4\u03B9\u03B1","\u03BA\u03C5\u03C0\u03C1\u03BF\u03C2"]},{iso3:"CZE",iso2:"CZ",m49:"203",name:"Czechia",aliases:["\u{1F1E8}\u{1F1FF}","ceska republika","ceske kraje","ceske uzemi","ceske zeme","cesko","cr","czech republic"]},{iso3:"DEU",iso2:"DE",m49:"276",name:"Germany",aliases:["\u{1F1E9}\u{1F1EA}","br deutschland","bundesrepublik","bundesrepublik deutschland","deutschland","federal republic of germany"]},{iso3:"DJI",iso2:"DJ",m49:"262",name:"Djibouti",aliases:["\u{1F1E9}\u{1F1EF}","la republique de djibouti","republic of djibouti","republique de djibouti","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u062C\u064A\u0628\u0648\u062A\u064A","\u062C\u064A\u0628\u0648\u062A\u064A"]},{iso3:"DMA",iso2:"DM",m49:"212",name:"Dominica",aliases:["\u{1F1E9}\u{1F1F2}","commonwealth of dominica","island of dominica","waitu kubuli"]},{iso3:"DNK",iso2:"DK",m49:"208",name:"Denmark",aliases:["\u{1F1E9}\u{1F1F0}","dania","danmark","denmark proper","kongeriget danmark","metropolitan denmark"]},{iso3:"DOM",iso2:"DO",m49:"214",name:"Dominican Republic",aliases:["\u{1F1E9}\u{1F1F4}","dominicana","domrep","haiti espanol","quisqueya","republica de santo domingo","republica dominicana","santo domingo"]},{iso3:"DZA",iso2:"DZ",m49:"012",name:"Algeria",aliases:["\u{1F1E9}\u{1F1FF}","peoples democratic republic of algeria","\u0627\u0644\u062C\u0632\u0627\u0626\u0631","\u0627\u0644\u062C\u0632\u0627\u064A\u0631","\u0627\u0644\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u062C\u0632\u0627\u0626\u0631\u064A\u0629 \u0627\u0644\u062F\u064A\u0645\u0642\u0631\u0627\u0637\u064A\u0629 \u0627\u0644\u0634\u0639\u0628\u064A\u0629","\u0627\u0644\u062F\u0632\u0627\u064A\u0631","\u062F\u0632\u0627\u064A\u0631"]},{iso3:"ECU",iso2:"EC",m49:"218",name:"Ecuador",aliases:["\u{1F1EA}\u{1F1E8}","ecuadorian state","el ecuador","estado ecuatoriano","republic of ecuador","republic of equator","republic of the equator","republica del ecuador"]},{iso3:"EGY",iso2:"EG",m49:"818",name:"Egypt",aliases:["\u{1F1EA}\u{1F1EC}","arab rep egypt","arab republic of egypt","rep egypt","republic of egypt","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0645\u0635\u0631 \u0627\u0644\u0639\u0631\u0628\u064A\u0629","\u0645\u0635\u0631"]},{iso3:"ERI",iso2:"ER",m49:"232",name:"Eritrea",aliases:["\u{1F1EA}\u{1F1F7}","ertra","hagere ertra","hagere iertra","iertra","iritriya","state of eritrea","\u0625\u0631\u062A\u0631\u064A\u0627","\u0625\u0631\u064A\u062A\u0631\u064A\u0627","\u0627\u0631\u062A\u0631\u064A\u0627","\u0627\u0631\u062A\u064A\u0631\u064A\u0627","\u0627\u0631\u064A\u062A\u0631\u064A\u0627","\u062F\u0648\u0644\u0629 \u0625\u0631\u062A\u0631\u064A\u0627","\u062F\u0648\u0644\u0629 \u0625\u0631\u064A\u062A\u0631\u064A\u0627","\u1203\u1308\u1228 \u12A4\u122D\u1275\u122B","\u12A4\u122D\u1275\u122B"]},{iso3:"ESH",iso2:"EH",m49:"732",name:"Western Sahara",aliases:["\u{1F1EA}\u{1F1ED}","southern provinces","spanish sahara","west sahara"]},{iso3:"ESP",iso2:"ES",m49:"724",name:"Spain",aliases:["\u{1F1EA}\u{1F1F8}","espana","estado espanol","kingdom of spain","reino de espana"]},{iso3:"EST",iso2:"EE",m49:"233",name:"Estonia",aliases:["\u{1F1EA}\u{1F1EA}","eesti","eesti noukogude sotsialistlik vabariik","eesti vabariik","estland","republic of estonia"]},{iso3:"ETH",iso2:"ET",m49:"231",name:"Ethiopia",aliases:["\u{1F1EA}\u{1F1F9}","federal democratic republic of ethiopia","ityopiya","yeityopiya federalawi demokrasiyawi ripeblik","yeityopiya hizbawi dimokrasiyawi ripublik","\u12A2\u1275\u12EE\u1335\u12EB","\u12E8\u12A2\u1275\u12EE\u1335\u12EB \u134C\u12F4\u122B\u120B\u12CA \u12F4\u121E\u12AD\u122B\u1232\u12EB\u12CA \u122A\u1350\u1265\u120A\u12AD"]},{iso3:"FIN",iso2:"FI",m49:"246",name:"Finland",aliases:["\u{1F1EB}\u{1F1EE}","republic of finland","republiken finland","suomen tasavalta","suomi"]},{iso3:"FJI",iso2:"FJ",m49:"242",name:"Fiji",aliases:["\u{1F1EB}\u{1F1EF}","fiji ganarajya","matanitu ko viti","matanitu tugalala o viti","republic of fiji","republic of the fiji islands","viti"]},{iso3:"FLK",iso2:"FK",m49:"238",name:"Falkland Islands (Malvinas)",aliases:["\u{1F1EB}\u{1F1F0}","colony of the falkland islands","falkland islands","falklands","islas malvinas","malvinas","malvinas islands"]},{iso3:"FRA",iso2:"FR",m49:"250",name:"France",aliases:["\u{1F1EB}\u{1F1F7}","fr","french republic","la france","la republique francaise","lhexagone","republique francaise"]},{iso3:"FRO",iso2:"FO",m49:"234",name:"Faroe Islands",aliases:["\u{1F1EB}\u{1F1F4}","faer oer","f\xE6r\xF8","faeroe is","faeroe islands","faeroe isles","f\xE6r\xF8erne","faeroes","far oer","faroe island","faroe isles","faroes","faroese islands","f\xF8roya","f\xF8royar","f\xF8royum"]},{iso3:"FSM",iso2:"FM",m49:"583",name:"Micronesia (Federated States of)",aliases:["\u{1F1EB}\u{1F1F2}","fed sts micronesia","fed sts of micronesia","federated states of micronesia","federated states of micronesia fsm","micronesia"]},{iso3:"GAB",iso2:"GA",m49:"266",name:"Gabon",aliases:["\u{1F1EC}\u{1F1E6}","gabonese republic","la republique gabonaise","le gabon","republique du gabon","republique gabonaise"]},{iso3:"GBR",iso2:"GB",m49:"826",name:"United Kingdom of Great Britain and Northern Ireland",aliases:["\u{1F1EC}\u{1F1E7}","britain","england","great britain","great britain and northern ireland","northern ireland","scotland","uk","united kingdom","wales"]},{iso3:"GEO",iso2:"GE",m49:"268",name:"Georgia",aliases:["\u{1F1EC}\u{1F1EA}","georgia country","republic of georgia","sakartvelo","\u049B\u044B\u0440\u04AD\u0442\u04D9\u044B\u043B\u0430","\u10E1\u10D0\u10E5\u10D0\u10E0\u10D7\u10D5\u10D4\u10DA\u10DD","\u10E1\u10D0\u10E5\u10D0\u10E0\u10D7\u10D5\u10D4\u10DA\u10DD\u10E1 \u10E0\u10D4\u10E1\u10DE\u10E3\u10D1\u10DA\u10D8\u10D9\u10D0"]},{iso3:"GGY",iso2:"GG",m49:"831",name:"Guernsey",aliases:["\u{1F1EC}\u{1F1EC}","bailiwick of guernsey","bailliage de guernesey","bailliage de guernesi","giernesi","great britain guernsey","guernesey","lisia"]},{iso3:"GHA",iso2:"GH",m49:"288",name:"Ghana",aliases:["\u{1F1EC}\u{1F1ED}","republic of ghana"]},{iso3:"GIB",iso2:"GI",m49:"292",name:"Gibraltar",aliases:["\u{1F1EC}\u{1F1EE}","rock of gibraltar"]},{iso3:"GIN",iso2:"GN",m49:"324",name:"Guinea",aliases:["\u{1F1EC}\u{1F1F3}","guinee","guinee conakry","republic of guinea","republique de guinee"]},{iso3:"GLP",iso2:"GP",m49:"312",name:"Guadeloupe",aliases:["\u{1F1EC}\u{1F1F5}"]},{iso3:"GMB",iso2:"GM",m49:"270",name:"Gambia",aliases:["\u{1F1EC}\u{1F1F2}","islamic republic of the gambia","republic of the gambia"]},{iso3:"GNB",iso2:"GW",m49:"624",name:"Guinea-Bissau",aliases:["\u{1F1EC}\u{1F1FC}","guine bissau","republic of guinea bissau","republica da guine bissau"]},{iso3:"GNQ",iso2:"GQ",m49:"226",name:"Equatorial Guinea",aliases:["\u{1F1EC}\u{1F1F6}","guine equatorial","guinea ecuatorial","guinea espanola","guinee equat","guinee equatoriale","la republique de guinee equatoriale","posesiones espanolas del golfo de guinea","provincia de la guinea ecuatorial","republic of equatorial guinea","republica da guine equatorial","republica de guinea ecuatorial","territorios espanoles del golfo de guinea"]},{iso3:"GRC",iso2:"GR",m49:"300",name:"Greece",aliases:["\u{1F1EC}\u{1F1F7}","ellada","ellas","elliniki dhimokratia","elliniki dimokratia","greek republic","hellas","hellas greece","hellenic republic","vasilion tis ellados","\u03B4\u03B7\u03BC\u03BF\u03BA\u03C1\u03B1\u03C4\u03B9\u03B1 \u03C4\u03B7\u03C2 \u03B5\u03BB\u03BB\u03B1\u03B4\u03B1\u03C2","\u03B4\u03B7\u03BC\u03BF\u03BA\u03C1\u03B1\u03C4\u03B9\u03B1 \u03C4\u03B7\u03C2 \u03B5\u03BB\u03BB\u03B1\u03B4\u03BF\u03C2","\u03B5\u03BB\u03BB\u03B1\u03B4\u03B1","\u03B5\u03BB\u03BB\u03B1\u03C2","\u03B5\u03BB\u03BB\u03B1\u03C2 \u03B5\u03BB\u03BB\u03B1\u03B4\u03B1","\u03B5\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03B7 \u03B4\u03B7\u03BC\u03BF\u03BA\u03C1\u03B1\u03C4\u03B9\u03B1"]},{iso3:"GRD",iso2:"GD",m49:"308",name:"Grenada",aliases:["\u{1F1EC}\u{1F1E9}"]},{iso3:"GRL",iso2:"GL",m49:"304",name:"Greenland",aliases:["\u{1F1EC}\u{1F1F1}","kalaallit nunaat"]},{iso3:"GTM",iso2:"GT",m49:"320",name:"Guatemala",aliases:["\u{1F1EC}\u{1F1F9}","republic of guatemala","republica de guatemala"]},{iso3:"GUF",iso2:"GF",m49:"254",name:"French Guiana",aliases:["\u{1F1EC}\u{1F1EB}","fr 973","guiana","guiana france","guyane","guyane francaise","gwiyann","gwiyann franse","lagwiyann"]},{iso3:"GUM",iso2:"GU",m49:"316",name:"Guam",aliases:["\u{1F1EC}\u{1F1FA}","guahan","guam usa","islan guahan","island of guam","territory of guam"]},{iso3:"GUY",iso2:"GY",m49:"328",name:"Guyana",aliases:["\u{1F1EC}\u{1F1FE}","co operative republic of guyana","republic of guyana"]},{iso3:"HKG",iso2:"HK",m49:"344",name:"Hong Kong",aliases:["\u{1F1ED}\u{1F1F0}","hksar","hong kong sar","hong kong special administrative region","hong kong special administrative region of the peoples republic of china","hongkong"]},{iso3:"HMD",iso2:"HM",m49:"334",name:"Heard Island and McDonald Islands",aliases:["\u{1F1ED}\u{1F1F2}","heard","heard & mcdonald islands","heard and macdonald islands","heard island","himi","mcdonald","mcdonald island","territory of heard island and mcdonald islands"]},{iso3:"HND",iso2:"HN",m49:"340",name:"Honduras",aliases:["\u{1F1ED}\u{1F1F3}","guaymuras","higueras","honduran republic","republic of honduras","republica de honduras"]},{iso3:"HRV",iso2:"HR",m49:"191",name:"Croatia",aliases:["\u{1F1ED}\u{1F1F7}","hrvatska","republic of croatia","republika hrvatska"]},{iso3:"HTI",iso2:"HT",m49:"332",name:"Haiti",aliases:["\u{1F1ED}\u{1F1F9}","ayiti","haitian republic","la republique dhaiti","repiblik d ayiti","republic of haiti","republique dhaiti"]},{iso3:"HUN",iso2:"HU",m49:"348",name:"Hungary",aliases:["\u{1F1ED}\u{1F1FA}","a magyar koztarsasag","a magyar nepkoztarsasag","harmadik magyar koztarsasag","magyar koztarsasag","magyar nepkoztarsasag","magyarorszag","mo"]},{iso3:"IDN",iso2:"ID",m49:"360",name:"Indonesia",aliases:["\u{1F1EE}\u{1F1E9}","negara kesatuan republik indonesia","nkri","republic of indonesia","republik indonesia"]},{iso3:"IMN",iso2:"IM",m49:"833",name:"Isle of Man",aliases:["\u{1F1EE}\u{1F1F2}","ellan vannin","i man","i mann","i mannin","isle of mann","mann","mannin","manx"]},{iso3:"IND",iso2:"IN",m49:"356",name:"India",aliases:["\u{1F1EE}\u{1F1F3}","al hind","bharat","bharat ganarajya","bharata","bharatvarsh","hindoostan","hindustan","indostan","republic of india","tenjiku","tianzhu","\u0906\u0930\u094D\u092F\u0935\u0930\u094D\u0924","\u0907\u0902\u0921\u093F\u092F\u093E","\u0907\u0923\u094D\u0921\u093F\u092F\u093E","\u092D\u093E\u0930\u0924","\u092D\u093E\u0930\u0924 \u0917\u0923\u0930\u093E\u091C\u094D\u092F","\u092D\u093E\u0930\u0924\u0935\u0930\u094D\u0937","\u0939\u093F\u0902\u0926\u0941\u0938\u094D\u0924\u093E\u0928","\u0939\u093F\u0928\u094D\u0926\u0941\u0938\u094D\u0924\u093E\u0928","\u0939\u093F\u0928\u094D\u0926\u094B\u0938\u094D\u0924\u093E\u0928"]},{iso3:"IOT",iso2:"IO",m49:"086",name:"British Indian Ocean Territory",aliases:["\u{1F1EE}\u{1F1F4}","biot"]},{iso3:"IRL",iso2:"IE",m49:"372",name:"Ireland",aliases:["\u{1F1EE}\u{1F1EA}","eire","hibernia","irish republic","poblacht na heireann","republic of ireland","southern ireland"]},{iso3:"IRN",iso2:"IR",m49:"364",name:"Iran (Islamic Republic of)",aliases:["\u{1F1EE}\u{1F1F7}","iran","islamic rep iran","islamic republic of iran","persia","\u0627\u06CC\u0631\u0627\u0646","\u0627\u06CC\u0631\u0627\u0646\u0632\u0645\u06CC\u0646","\u067E\u0627\u0631\u0633","\u062C\u0645\u0647\u0648\u0631\u06CC \u0627\u0633\u0644\u0627\u0645\u06CC \u0627\u064A\u0631\u0627\u0646","\u062C\u0645\u0647\u0648\u0631\u06CC \u0627\u0633\u0644\u0627\u0645\u06CC \u0627\u06CC\u0631\u0627\u0646","\u0643\u0634\u0648\u0631 \u0634\u0627\u0647\u0646\u0634\u0627\u0647\u06CC \u0627\u064A\u0631\u0627\u0646"]},{iso3:"IRQ",iso2:"IQ",m49:"368",name:"Iraq",aliases:["\u{1F1EE}\u{1F1F6}","eraq","iraqe","komar i eraq","republic of iraq","\u0627\u0644\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0639\u0631\u0627\u0642\u064A\u0629","\u0627\u0644\u0639\u0631\u0627\u0642","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0639\u0631\u0627\u0642","\u0639\u0631\u0627\u0642","\u0639\u06CE\u0631\u0627\u0642"]},{iso3:"ISL",iso2:"IS",m49:"352",name:"Iceland",aliases:["\u{1F1EE}\u{1F1F8}","icelandic republic","island","ly\xF0veldi\xF0 island","republic of iceland","ysland"]},{iso3:"ISR",iso2:"IL",m49:"376",name:"Israel",aliases:["\u{1F1EE}\u{1F1F1}","erez yisrael","medinat yisrael","state of israel","yisrael","\u05D9\u05E9\u05E8\u05D0\u05DC","\u05DE\u05D3\u05D9\u05E0\u05EA \u05D9\u05E9\u05E8\u05D0\u05DC"]},{iso3:"ITA",iso2:"IT",m49:"380",name:"Italy",aliases:["\u{1F1EE}\u{1F1F9}","il bel paese","italia","italian republic","repubblica italiana","republic of italy"]},{iso3:"JAM",iso2:"JM",m49:"388",name:"Jamaica",aliases:["\u{1F1EF}\u{1F1F2}","commonwealth of jamaica","jamieka","jomieka","jumieka"]},{iso3:"JEY",iso2:"JE",m49:"832",name:"Jersey",aliases:["\u{1F1EF}\u{1F1EA}","bailliage de jerri","bailliage de jersey","balliwick of jersey","i iersey","i jersey","iersey","iersey i","isle of jersey","jerri","jersey i","jersey island"]},{iso3:"JOR",iso2:"JO",m49:"400",name:"Jordan",aliases:["\u{1F1EF}\u{1F1F4}","giordania","hashemite kingdom of jordan","kingdom of jordan","state of jordan","yarden","\u0627\u0644\u0623\u0631\u062F\u0646","\u0627\u0644\u0627\u0631\u062F\u0646","\u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0623\u0631\u062F\u0646\u064A\u0629 \u0627\u0644\u0647\u0627\u0634\u0645\u064A\u0629","\u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0627\u0631\u062F\u0646\u064A\u0629 \u0627\u0644\u0647\u0627\u0634\u0645\u064A\u0629"]},{iso3:"JPN",iso2:"JP",m49:"392",name:"Japan",aliases:["\u{1F1EF}\u{1F1F5}","state of japan","\u3042\u304D\u3064\u3057\u307E","\u304A\u304A\u3084\u3057\u307E","\u3057\u304D\u3057\u307E","\u30B8\u30E3\u30D1\u30F3","\u3057\u3093\u3057\u3085\u3046","\u306B\u3063\u307D\u3093","\u306B\u3063\u307D\u3093\u3053\u304F","\u306B\u307B\u3093","\u306B\u307B\u3093\u3053\u304F","\u3072\u3044\u305A\u308B\u304F\u306B","\u3075\u305D\u3046","\u5927\u516B\u5DDE","\u6276\u6728\u4E4B\u5730","\u6276\u6851","\u6276\u6851\u56FD","\u6577\u5CF6","\u65E5\u51FA\u308B\u56FD","\u65E5\u672C","\u6991\u6728\u4E4B\u5730","\u745E\u7A42\u56FD","\u795E\u5DDE","\u79CB\u6D25\u5CF6","\u8466\u539F\u4E2D\u56FD"]},{iso3:"KAZ",iso2:"KZ",m49:"398",name:"Kazakhstan",aliases:["\u{1F1F0}\u{1F1FF}","qazaqstan","qazaqstan respublikasy","republic of kazakhstan","\u043A\u0430\u0437\u0430\u0445\u0441\u0442\u0430\u043D","\u049B\u0430\u0437\u0430\u049B\u0441\u0442\u0430\u043D","\u049B\u0430\u0437\u0430\u049B\u0441\u0442\u0430\u043D \u0440\u0435\u0441\u043F\u0443\u0431\u043B\u0438\u043A\u0430\u0441\u044B","\u0440\u0435\u0441\u043F\u0443\u0431\u043B\u0438\u043A\u0430 \u043A\u0430\u0437\u0430\u0445\u0441\u0442\u0430\u043D","\u0440\u043A"]},{iso3:"KEN",iso2:"KE",m49:"404",name:"Kenya",aliases:["\u{1F1F0}\u{1F1EA}","jamhuri ya kenya","republic of kenya"]},{iso3:"KGZ",iso2:"KG",m49:"417",name:"Kyrgyzstan",aliases:["\u{1F1F0}\u{1F1EC}","kyrgyz republic","kyrgyz respublikasy","kyrgyzstan respublikasy","\u043A\u0440","\u043A\u044B\u0440\u0433\u044B\u0437 \u0440\u0435\u0441\u043F\u0443\u0431\u043B\u0438\u043A\u0430\u0441\u044B","\u043A\u044B\u0440\u0433\u044B\u0437\u0441\u0442\u0430\u043D"]},{iso3:"KHM",iso2:"KH",m49:"116",name:"Cambodia",aliases:["\u{1F1F0}\u{1F1ED}","camboya","campuchia","kambodzha","kamboja","kampuchea","kingdom of cambodia","\u1780\u1798\u17D2\u1796\u17BB\u1787\u17B6","\u1796\u17D2\u179A\u17C7\u179A\u17B6\u1787\u17B6\u178E\u17B6\u1785\u1780\u17D2\u179A\u1780\u1798\u17D2\u1796\u17BB\u1787\u17B6"]},{iso3:"KIR",iso2:"KI",m49:"296",name:"Kiribati",aliases:["\u{1F1F0}\u{1F1EE}","republic of kiribati"]},{iso3:"KNA",iso2:"KN",m49:"659",name:"Saint Kitts and Nevis",aliases:["\u{1F1F0}\u{1F1F3}","federation of saint christopher and nevis","federation of saint kitts and nevis","kitts & nevis","nevis","saint christopher","saint christopher and nevis","saint kitts"]},{iso3:"KOR",iso2:"KR",m49:"410",name:"Republic of Korea",aliases:["\u{1F1F0}\u{1F1F7}","korea","korea republic","korea republic of","korea south","rep korea","s korea","south korea","taehan minguk","\uB0A8\uC870\uC120","\uB0A8\uD55C","\uB300\uD55C","\uB300\uD55C\uBBFC\uAD6D","\uCF54\uB9AC\uC544","\uD55C\uAD6D"]},{iso3:"KWT",iso2:"KW",m49:"414",name:"Kuwait",aliases:["\u{1F1F0}\u{1F1FC}","state of kuwait","\u0627\u0644\u0643\u0648\u064A\u062A","\u062F\u0648\u0644\u0629 \u0627\u0644\u0643\u0648\u064A\u062A"]},{iso3:"LAO",iso2:"LA",m49:"418",name:"Lao People's Democratic Republic",aliases:["\u{1F1F1}\u{1F1E6}","laos","sathalanalat paxathipatai paxaxon lao","\u0EAA\u0EB2\u0E97\u0EB2\u0EA5\u0EB0\u0E99\u0EB0\u0EA5\u0EB1\u0E94 \u0E9B\u0EB0\u0E8A\u0EB2\u0E97\u0EB4\u0E9B\u0EB0\u0EC4\u0E95 \u0E9B\u0EB0\u0E8A\u0EB2\u0E8A\u0EBB\u0E99\u0EA5\u0EB2\u0EA7","\u0E9B\u0EB0\u0EC0\u0E97\u0E94\u0EA5\u0EB2\u0EA7","\u0EA5\u0EB2\u0EA7"]},{iso3:"LBN",iso2:"LB",m49:"422",name:"Lebanon",aliases:["\u{1F1F1}\u{1F1E7}","lebanese republic","republic of lebanon","state of lebanon","\u0627\u0644\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064A\u0629","\u0644\u0628\u0646\u0627\u0646"]},{iso3:"LBR",iso2:"LR",m49:"430",name:"Liberia",aliases:["\u{1F1F1}\u{1F1F7}","liber","republic of liberia"]},{iso3:"LBY",iso2:"LY",m49:"434",name:"Libya",aliases:["\u{1F1F1}\u{1F1FE}","state of libya","\u0627\u0644\u062C\u0645\u0627\u0647\u064A\u0631\u064A\u0629 \u0627\u0644\u0639\u0631\u0628\u064A\u0629 \u0627\u0644\u0644\u064A\u0628\u064A\u0629 \u0627\u0644\u0634\u0639\u0628\u064A\u0629 \u0627\u0644\u0625\u0634\u062A\u0631\u0627\u0643\u064A\u0629","\u0627\u0644\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0644\u064A\u0628\u064A\u0629","\u0627\u0644\u0644\u064A\u0628\u064A","\u0627\u0644\u0644\u064A\u0628\u064A\u0629","\u0627\u0644\u0644\u064A\u0628\u064A\u0646","\u062F\u0648\u0644\u0629 \u0644\u064A\u0628\u064A\u0627","\u0644\u064A\u0628\u0628\u064A\u0627","\u0644\u064A\u0628\u064A","\u0644\u064A\u0628\u064A\u0627","\u0644\u064A\u0628\u064A\u0629"]},{iso3:"LCA",iso2:"LC",m49:"662",name:"Saint Lucia",aliases:["\u{1F1F1}\u{1F1E8}","hewanorra","iyonola"]},{iso3:"LIE",iso2:"LI",m49:"438",name:"Liechtenstein",aliases:["\u{1F1F1}\u{1F1EE}","furstentum lichtenstein","furstentum liechtenstein","principality of liechtenstein"]},{iso3:"LKA",iso2:"LK",m49:"144",name:"Sri Lanka",aliases:["\u{1F1F1}\u{1F1F0}","ceylan","ceylon","democratic socialist republic of sri lanka","ilankaic cananayaka cocalicak kutiyarcu","lankava","prajatantravadi samajavadi janarajaya sri lanka","serendib","srilanka","taprobane","\u0B87\u0BB2\u0B99\u0BCD\u0B95\u0BC8","\u0B87\u0BB2\u0B99\u0BCD\u0B95\u0BC8 \u0B9A\u0BA9\u0BA8\u0BBE\u0BAF\u0B95 \u0B9A\u0BCB\u0B9A\u0BB2\u0BBF\u0B9A\u0B95\u0BCD \u0B95\u0BC1\u0B9F\u0BBF\u0BAF\u0BB0\u0B9A\u0BC1","\u0B87\u0BB2\u0B99\u0BCD\u0B95\u0BC8 \u0B9A\u0BA9\u0BA8\u0BBE\u0BAF\u0B95 \u0B9A\u0BCB\u0BB7\u0BB2\u0BBF\u0B9A\u0B95\u0BCD \u0B95\u0BC1\u0B9F\u0BBF\u0BAF\u0BB0\u0B9A\u0BC1","\u0B88\u0BB4\u0BAE\u0BCD","\u0B9A\u0BBF\u0BB2\u0BCB\u0BA9\u0BCD","\u0DBD\u0D82\u0D9A\u0DCF\u0DC0","\u0DC1\u0DCA\u0DBB\u0DD3 \u0DBD\u0D82\u0D9A\u0DCF \u0DB4\u0DCA\u0DBB\u0DA2\u0DCF\u0DAD\u0DB1\u0DCA\u0DAD\u0DCA\u0DBB\u0DC0\u0DCF\u0DAF\u0DD3 \u0DC3\u0DB8\u0DCF\u0DA2\u0DC0\u0DCF\u0DAF\u0DD3 \u0DA2\u0DB1\u0DBB\u0DA2\u0DBA","\u0DC1\u0DCA\u0DBB\u0DD3 \u0DBD\u0D82\u0D9A\u0DCF\u0DC0","\u0DC1\u0DCA\u200D\u0DBB\u0DD3 \u0DBD\u0D82\u0D9A\u0DCF\u0DC0"]},{iso3:"LSO",iso2:"LS",m49:"426",name:"Lesotho",aliases:["\u{1F1F1}\u{1F1F8}","kingdom of lesotho","mmuso wa lesotho","mountain kingdom"]},{iso3:"LTU",iso2:"LT",m49:"440",name:"Lithuania",aliases:["\u{1F1F1}\u{1F1F9}","lietuva","lietuvos respublika","republic of lithuania"]},{iso3:"LUX",iso2:"LU",m49:"442",name:"Luxembourg",aliases:["\u{1F1F1}\u{1F1FA}","grand duche","grand duche de luxembourg","grand duchy of luxembourg","gro\xDFherzogtum luxemburg","groussherzogtum letzebuerg","le grand duche de luxembourg","letzebuerg","letzebuerger land","lux","luxemburg"]},{iso3:"LVA",iso2:"LV",m49:"428",name:"Latvia",aliases:["\u{1F1F1}\u{1F1FB}","latveja","latvejas republika","latvian republic","latvija","latvijas republika","letm\u043E","letm\u043E vabam\u043E","republic of latvia"]},{iso3:"MAC",iso2:"MO",m49:"446",name:"Macao",aliases:["\u{1F1F2}\u{1F1F4}","aomen","macao sar","macao special administrative region","macao special administrative region of the peoples republic of china","macau","macau rae da china","macau sar","macau special administrative region","macau special administrative region of the peoples republic of china","raem","regiao administrativa especial de macau","regiao administrativa especial de macau da republica popular da china","\u4E2D\u570B\u6FB3\u9580\u7279\u5225\u884C\u653F\u5340","\u6FB3\u9580"]},{iso3:"MAF",iso2:"MF",m49:"663",name:"Saint Martin (French Part)",aliases:["\u{1F1F2}\u{1F1EB}","collectivite de saint martin","collectivity of saint martin","saint martin","saint martin antilles francaises","saint martin france"]},{iso3:"MAR",iso2:"MA",m49:"504",name:"Morocco",aliases:["\u{1F1F2}\u{1F1E6}","kingdom of morocco","\u0627\u0644\u0645\u063A\u0631\u0628","\u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0645\u063A\u0631\u0628\u064A\u0629","\u2D30\u2D4E\u2D53\u2D54 \u2D4F \u2D61\u2D30\u2D3D\u2D53\u2D5B","\u2D30\u2D4E\u2D55\u2D55\u2D53\u2D3D","\u2D4D\u2D4E\u2D55\u2D55\u2D53\u2D3D","\u2D4D\u2D4E\u2D56\u2D54\u2D49\u2D31","\u2D5C\u2D30\u2D33\u2D4D\u2D37\u2D49\u2D5C \u2D4F \u2D4D\u2D4E\u2D56\u2D54\u2D49\u2D31"]},{iso3:"MCO",iso2:"MC",m49:"492",name:"Monaco",aliases:["\u{1F1F2}\u{1F1E8}","fort hercule","la principaute de monaco","monaco rattachee au district de menton en 1793","munegu","principality and diocese of monaco","principality of monaco","principatu de munegu","principaute de monaco"]},{iso3:"MDA",iso2:"MD",m49:"498",name:"Republic of Moldova",aliases:["\u{1F1F2}\u{1F1E9}","moldavia","moldova","moldova republic of","moldova republica","r moldova","rep moldova","republica moldova","\u043C\u043E\u043B\u0434\u043E\u0432\u0430"]},{iso3:"MDG",iso2:"MG",m49:"450",name:"Madagascar",aliases:["\u{1F1F2}\u{1F1EC}","la republique de madagascar","madagasikara","repoblikani madagasikara","republic of madagascar","republique de madagascar"]},{iso3:"MDV",iso2:"MV",m49:"462",name:"Maldives",aliases:["\u{1F1F2}\u{1F1FB}","dhivehi raajjeyge jumhooriyyaa","republic of maldives","\u078B\u07A8\u0788\u07AC\u0780\u07A8 \u0783\u07A7\u0787\u07B0\u0796\u07AC","\u078B\u07A8\u0788\u07AC\u0780\u07A8\u0783\u07A7\u0787\u07B0\u0796\u07AC","\u078B\u07A8\u0788\u07AC\u0780\u07A8\u0783\u07A7\u0787\u07B0\u0796\u07AD\u078E\u07AC \u0796\u07AA\u0789\u07AA\u0780\u07AB\u0783\u07A8\u0787\u07B0\u0794\u07A7","\u078B\u07A8\u0788\u07AC\u0780\u07A8\u0783\u07A7\u0787\u07B0\u0796\u07AD\u078E\u07AC \u0796\u07AA\u0789\u07B0\u0780\u07AB\u0783\u07A8\u0787\u07B0\u0794\u07A7"]},{iso3:"MEX",iso2:"MX",m49:"484",name:"Mexico",aliases:["\u{1F1F2}\u{1F1FD}","estados unidos mejicanos","estados unidos mexicanos","mejico","mexican republic","mexican united states","mexihco","mexihko","mexika sentik wexteyowalko","mexiko","mexko","mexko axkayotl","mexko tlalli","nueva espana","republica mejicana","republica mexicana","united mexican states","united states of mexico"]},{iso3:"MHL",iso2:"MH",m49:"584",name:"Marshall Islands",aliases:["\u{1F1F2}\u{1F1ED}","aelon kein ad","aolepan aorokin majel","jolet jen anij","majel","majol","republic of the marshall islands"]},{iso3:"MKD",iso2:"MK",m49:"807",name:"North Macedonia",aliases:["\u{1F1F2}\u{1F1F0}","former yugoslav republic of macedonia","fyr macedonia","fyrom","irjm","ish republika jugosllave e maqedonise","macedonia","maqedoni","maqedonia","maqedonia e veriut","republic of macedonia","republic of north macedonia","republika e maqedonise","republika e maqedonise se veriut","\u043C\u0430\u043A\u0435\u0434\u043E\u043D\u0438\u0458\u0430","\u0440\u0435\u043F\u0443\u0431\u043B\u0438\u043A\u0430 \u043C\u0430\u043A\u0435\u0434\u043E\u043D\u0438\u0458\u0430","\u0440\u0435\u043F\u0443\u0431\u043B\u0438\u043A\u0430 \u0441\u0435\u0432\u0435\u0440\u043D\u0430 \u043C\u0430\u043A\u0435\u0434\u043E\u043D\u0438\u0458\u0430","\u0440\u043C","\u0440\u0441\u043C","\u0441\u0435\u0432\u0435\u0440\u043D\u0430 \u043C\u0430\u043A\u0435\u0434\u043E\u043D\u0438\u0458\u0430"]},{iso3:"MLI",iso2:"ML",m49:"466",name:"Mali",aliases:["\u{1F1F2}\u{1F1F1}","maali","republic of mali"]},{iso3:"MLT",iso2:"MT",m49:"470",name:"Malta",aliases:["\u{1F1F2}\u{1F1F9}","malta island","repubblika ta malta","republic of malta"]},{iso3:"MMR",iso2:"MM",m49:"104",name:"Myanmar",aliases:["\u{1F1F2}\u{1F1F2}","burma","pyidaungzu myanma naingngandaw","pyidaungzu thammada myanma naingngandaw","republic of the union of myanmar","union of burma","\u1015\u103C\u100A\u103A\u1011\u1031\u102C\u1004\u103A\u1005\u102F \u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036","\u1015\u103C\u100A\u103A\u1011\u1031\u102C\u1004\u103A\u1005\u102F \u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036\u1010\u1031\u102C\u103A","\u1015\u103C\u100A\u103A\u1011\u1031\u102C\u1004\u103A\u1005\u102F \u101E\u1019\u1039\u1019\u1010 \u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036","\u1015\u103C\u100A\u103A\u1011\u1031\u102C\u1004\u103A\u1005\u102F \u101E\u1019\u1039\u1019\u1010 \u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036\u1010\u1031\u102C\u103A","\u1015\u103C\u100A\u103A\u1011\u1031\u102C\u1004\u103A\u1005\u102F\u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036\u1010\u1031\u102C\u103A","\u1015\u103C\u100A\u103A\u1011\u1031\u102C\u1004\u103A\u1005\u102F\u101E\u1019\u1039\u1019\u1010\u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036","\u1015\u103C\u200C\u100A\u103A\u1011\u1031\u102C\u1004\u103A\u1005\u102F\u101E\u1019\u1039\u1019\u1010\u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036","\u1015\u103C\u100A\u103A\u1011\u1031\u102C\u1004\u103A\u1005\u102F\u101E\u1019\u1039\u1019\u1010\u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036\u1010\u1031\u102C\u103A","\u1017\u1019\u102C\u1015\u103C\u100A\u103A","\u1019\u103C\u1014\u103A\u1019\u102C","\u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036","\u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036\u1010\u1031\u102C\u103A","\u1019\u103C\u1014\u103A\u1019\u102C\u1015\u103C\u100A\u103A"]},{iso3:"MNE",iso2:"ME",m49:"499",name:"Montenegro",aliases:["\u{1F1F2}\u{1F1EA}","crna cora","\u0446\u0440\u043D\u0430 \u0433\u043E\u0440\u0430"]},{iso3:"MNG",iso2:"MN",m49:"496",name:"Mongolia",aliases:["\u{1F1F2}\u{1F1F3}","bugd nayramdah mongol ard uls","mongol uls","state of mongolia","\u043C\u043E\u043D\u0433\u043E\u043B","\u043C\u043E\u043D\u0433\u043E\u043B \u0443\u043B\u0441","\u182E\u1824\u1829\u182D\u1824\u182F \u1824\u182F\u1824\u1830"]},{iso3:"MNP",iso2:"MP",m49:"580",name:"Northern Mariana Islands",aliases:["\u{1F1F2}\u{1F1F5}","cnmi","commonwealth of the northern maria islands","commonwealth of the northern mariana islands","northern marianas","notte marianas","sankattan siha na islas marianas"]},{iso3:"MOZ",iso2:"MZ",m49:"508",name:"Mozambique",aliases:["\u{1F1F2}\u{1F1FF}","mocambique","republic of mozambique","republica de mocambique"]},{iso3:"MRT",iso2:"MR",m49:"478",name:"Mauritania",aliases:["\u{1F1F2}\u{1F1F7}","islamic republic of mauritania","\u0627\u0644\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0625\u0633\u0644\u0627\u0645\u064A\u0629 \u0627\u0644\u0645\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u0629","\u0645\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u0627"]},{iso3:"MSR",iso2:"MS",m49:"500",name:"Montserrat",aliases:["\u{1F1F2}\u{1F1F8}","island of montserrat"]},{iso3:"MTQ",iso2:"MQ",m49:"474",name:"Martinique",aliases:["\u{1F1F2}\u{1F1F6}","territorial collectivity of martinique"]},{iso3:"MUS",iso2:"MU",m49:"480",name:"Mauritius",aliases:["\u{1F1F2}\u{1F1FA}","ile maurice","la republique de maurice","maurice","moris","republic of mauritius","republique de maurice"]},{iso3:"MWI",iso2:"MW",m49:"454",name:"Malawi",aliases:["\u{1F1F2}\u{1F1FC}","republic of malawi"]},{iso3:"MYS",iso2:"MY",m49:"458",name:"Malaysia",aliases:["\u{1F1F2}\u{1F1FE}","federation of malaysia","malaysia federation","negara seberang tambak","persekutuan malaysia"]},{iso3:"MYT",iso2:"YT",m49:"175",name:"Mayotte",aliases:["\u{1F1FE}\u{1F1F9}","departement de mayotte","departement region de mayotte","department of mayotte"]},{iso3:"NAM",iso2:"NA",m49:"516",name:"Namibia",aliases:["\u{1F1F3}\u{1F1E6}","republic of namibia"]},{iso3:"NCL",iso2:"NC",m49:"540",name:"New Caledonia",aliases:["\u{1F1F3}\u{1F1E8}","caledonie","kanaky","kanaky nouvelle caledonie","nouvelle caledonie","territoire de la nouvelle caledonie et dependances","territoire des nouvelle caledonie et dependances","territory of new caledonia and dependencies"]},{iso3:"NER",iso2:"NE",m49:"562",name:"Niger",aliases:["\u{1F1F3}\u{1F1EA}","jamhuriyar nijar","nijar","republic niger","republic of niger","republic of the niger"]},{iso3:"NFK",iso2:"NF",m49:"574",name:"Norfolk Island",aliases:["\u{1F1F3}\u{1F1EB}","norfolk island australia","norfolk island other territories","norfolk island other territories australia","territory of norfolk island"]},{iso3:"NGA",iso2:"NG",m49:"566",name:"Nigeria",aliases:["\u{1F1F3}\u{1F1EC}","federal republic of nigeria","naija"]},{iso3:"NIC",iso2:"NI",m49:"558",name:"Nicaragua",aliases:["\u{1F1F3}\u{1F1EE}","republic of nicaragua","republica de nicaragua"]},{iso3:"NIU",iso2:"NU",m49:"570",name:"Niue",aliases:["\u{1F1F3}\u{1F1FA}"]},{iso3:"NLD",iso2:"NL",m49:"528",name:"Kingdom of the Netherlands",aliases:["\u{1F1F3}\u{1F1F1}","hollandt","kingdom of netherlands","koninkrijk der nederlanden","nederland","nederlanden","nederlandt","netherlands","netherlands kingdom of the"]},{iso3:"NOR",iso2:"NO",m49:"578",name:"Norway",aliases:["\u{1F1F3}\u{1F1F4}","kingdom of norway","kongeriket noreg","kongeriket norge","noreg","norge"]},{iso3:"NPL",iso2:"NP",m49:"524",name:"Nepal",aliases:["\u{1F1F3}\u{1F1F5}","bal bo","bal poi yul","bal yul","balbo","balpo","balpo yul","nipal","sanghiya loktantrik ganatantra nepal","\u0928\u0947\u092A\u093E\u0932","\u0938\u0902\u0918\u093F\u092F \u0932\u094B\u0915\u0924\u093E\u0928\u094D\u0924\u094D\u0930\u093F\u0915 \u0917\u0923\u0924\u0928\u094D\u0924\u094D\u0930 \u0928\u0947\u092A\u093E\u0932","\u0938\u0902\u0918\u093F\u092F \u0932\u094B\u0915\u0924\u093E\u0928\u094D\u0924\u094D\u0930\u093F\u0915 \u0917\u0923\u0924\u0928\u094D\u0924\u094D\u0930\u093E\u0924\u094D\u092E\u0915 \u0928\u0947\u092A\u093E\u0932","\u0938\u0902\u0918\u0940\u092F \u0932\u094B\u0915\u0924\u093E\u0928\u094D\u0924\u094D\u0930\u093F\u0915 \u0917\u0923\u0924\u0928\u094D\u0924\u094D\u0930 \u0928\u0947\u092A\u093E\u0932"]},{iso3:"NRU",iso2:"NR",m49:"520",name:"Nauru",aliases:["\u{1F1F3}\u{1F1F7}","naoero","pleasant island","republic of nauru"]},{iso3:"NZL",iso2:"NZ",m49:"554",name:"New Zealand",aliases:["\u{1F1F3}\u{1F1FF}","aotearoa","aotearoa new zealand","dominion of new zealand"]},{iso3:"OMN",iso2:"OM",m49:"512",name:"Oman",aliases:["\u{1F1F4}\u{1F1F2}","sultanate of oman","uman","\u0633\u0644\u0637\u0646\u0629 \u0639\u0645\u0627\u0646","\u0639\u0645\u0627\u0646"]},{iso3:"PAK",iso2:"PK",m49:"586",name:"Pakistan",aliases:["\u{1F1F5}\u{1F1F0}","hoi quoc","islamic republic of pakistan","republic of pakistan","tay hoi","\u0627\u0633\u0644\u0627\u0645\u06CC \u062C\u0645\u06C1\u0648\u0631\u06CC\u06C1 \u067E\u0627\u06A9\u0633\u062A\u0627\u0646","\u0628\u0627\u06A9\u0633\u062A\u0627\u0646","\u067E\u0627\u06A9\u0633\u062A\u0627\u0646"]},{iso3:"PAN",iso2:"PA",m49:"591",name:"Panama",aliases:["\u{1F1F5}\u{1F1E6}","republic of panama","republica de panama"]},{iso3:"PCN",iso2:"PN",m49:"612",name:"Pitcairn",aliases:["\u{1F1F5}\u{1F1F3}","occas island","pisskern ali\u0435n","pitcairn henderson ducie and oeno islands","pitcairn island","pitcairn islands","pitkern ailen"]},{iso3:"PER",iso2:"PE",m49:"604",name:"Peru",aliases:["\u{1F1F5}\u{1F1EA}","piruw","piruw ripuwlika","republic of peru","republica del peru"]},{iso3:"PHL",iso2:"PH",m49:"608",name:"Philippines",aliases:["\u{1F1F5}\u{1F1ED}","philippine islands","republic of the philippines"]},{iso3:"PLW",iso2:"PW",m49:"585",name:"Palau",aliases:["\u{1F1F5}\u{1F1FC}","belau","peeloo","pelew","pelew islands","pellew","republic of belau","republic of palau","\u30D1\u30E9\u30AA","\u30D1\u30E9\u30AA\u5171\u548C\u56FD"]},{iso3:"PNG",iso2:"PG",m49:"598",name:"Papua New Guinea",aliases:["\u{1F1F5}\u{1F1EC}","independent state of papua new guinea","papua niugini"]},{iso3:"POL",iso2:"PL",m49:"616",name:"Poland",aliases:["\u{1F1F5}\u{1F1F1}","polska","republic of poland","rzeczpospolita polska"]},{iso3:"PRI",iso2:"PR",m49:"630",name:"Puerto Rico",aliases:["\u{1F1F5}\u{1F1F7}","boriken","borinquen","boriquen","commonwealth of puerto rico","estado libre asociado de puerto rico","free associated state of puerto rico","isla del encanto","island of enchantment","isle of enchantment","mancomunidad de puerto rico","porto rico","territorio de puerto rico","territorio estadounidense de puerto rico","territory of porto rico","territory of puerto rico"]},{iso3:"PRK",iso2:"KP",m49:"408",name:"Democratic People's Republic of Korea",aliases:["\u{1F1F0}\u{1F1F5}","choson minjujuui inmin konghwaguk","dpr korea","dprk","korea democratic peoples republic of","n korea","north korea","\uACF5\uD654\uAD6D","\uBD81\uC870\uC120","\uBD81\uD55C","\uC870\uC120","\uC870\uC120\uBBFC\uC8FC\uC8FC\uC758\uC778\uBBFC\uACF5\uD654\uAD6D"]},{iso3:"PRT",iso2:"PT",m49:"620",name:"Portugal",aliases:["\u{1F1F5}\u{1F1F9}","republica portuguesa"]},{iso3:"PRY",iso2:"PY",m49:"600",name:"Paraguay",aliases:["\u{1F1F5}\u{1F1FE}","paraguai","republic of paraguay","republica del paraguay","teta paraguai"]},{iso3:"PSE",iso2:"PS",m49:"275",name:"State of Palestine",aliases:["\u{1F1F5}\u{1F1F8}","palestine","palestine state of","palestinian authority","palestinian national authority","palestinian territory","west bank and gaza","\u0623\u0631\u0627\u0636\u064A \u0641\u0644\u0633\u0637\u064A\u0646\u064A\u0629","\u0627\u0644\u0623\u0631\u0627\u0636\u064A \u0627\u0644\u0641\u0644\u0633\u0637\u064A\u0646\u064A\u0629","\u0627\u0644\u062F\u0648\u0644\u0629 \u0627\u0644\u0641\u0644\u0633\u0637\u064A\u0646\u064A\u0629","\u0627\u0644\u0633\u0644\u0637\u0629 \u0627\u0644\u0641\u0644\u0633\u0637\u064A\u0646\u064A\u0629","\u0627\u0644\u0633\u0644\u0637\u0629 \u0627\u0644\u0648\u0637\u0646\u064A\u0629 \u0627\u0644\u0641\u0644\u0633\u0637\u064A\u0646\u064A\u0629","\u0627\u0644\u0636\u0641\u0629 \u0627\u0644\u063A\u0631\u0628\u064A\u0629 \u0648\u0642\u0637\u0627\u0639 \u063A\u0632\u0629","\u062F\u0648\u0644\u0629 \u0641\u0644\u0633\u0637\u064A\u0646","\u0641\u0644\u0633\u0637\u064A\u0646"]},{iso3:"PYF",iso2:"PF",m49:"258",name:"French Polynesia",aliases:["\u{1F1F5}\u{1F1EB}","f oh","french establishments in oceania","french oceania","french settlements in oceania","polynesie francaise","territoire de la polynesie francaise","territory of french polynesia"]},{iso3:"QAT",iso2:"QA",m49:"634",name:"Qatar",aliases:["\u{1F1F6}\u{1F1E6}","state of qatar","\u0625\u0645\u0627\u0631\u0629 \u0642\u0637\u0631","\u062F\u0648\u0644\u0629 \u0642\u0637\u0631","\u0642\u0637\u0631"]},{iso3:"REU",iso2:"RE",m49:"638",name:"R\xE9union",aliases:["\u{1F1F7}\u{1F1EA}","ile bourbon","ile de la reunion","la reunion","re","region reunion","reunion island"]},{iso3:"ROU",iso2:"RO",m49:"642",name:"Romania",aliases:["\u{1F1F7}\u{1F1F4}"]},{iso3:"RUS",iso2:"RU",m49:"643",name:"Russian Federation",aliases:["\u{1F1F7}\u{1F1FA}","federation of russia","russia","\u0440\u043E\u0441\u0441\u0438\u0438\u0441\u043A\u0430\u044F \u0444\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044F","\u0440\u043E\u0441\u0441\u0438\u044F","\u0440\u0444"]},{iso3:"RWA",iso2:"RW",m49:"646",name:"Rwanda",aliases:["\u{1F1F7}\u{1F1FC}","igihugu cyimisozi igihumbi","jamhuri ya rwanda","la republique du rwanda","land of a thousand hills","republic of rwanda","republika yu rwanda","republique du rwanda","republique rwandaise","repubulika yu rwanda","u rwanda"]},{iso3:"SAU",iso2:"SA",m49:"682",name:"Saudi Arabia",aliases:["\u{1F1F8}\u{1F1E6}","kingdom of saudi arabia","\u0627\u0644\u062F\u0648\u0644\u0629 \u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629","\u0627\u0644\u062F\u0648\u0644\u0647 \u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0647","\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629","\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0647","\u0627\u0644\u0639\u0631\u0628\u064A\u0629 \u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629","\u0627\u0644\u0645\u0645\u0644\u0643\u0629","\u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629","\u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0639\u0631\u0628\u064A\u0629","\u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0639\u0631\u0628\u064A\u0629 \u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629","\u0627\u0644\u0645\u0645\u0644\u0643\u0647","\u0627\u0644\u0645\u0645\u0644\u0643\u0647 \u0627\u0644\u0639\u0631\u0628\u064A\u0647 \u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0647","\u0628\u0644\u0627\u062F \u0627\u0644\u062D\u0631\u0645\u064A\u0646 \u0627\u0644\u0634\u0631\u064A\u0641\u064A\u0646","\u062F\u0648\u0644\u0629 \u0622\u0644 \u0633\u0639\u0648\u062F","\u0633\u0639\u0648\u062F\u064A\u0629","\u0633\u0639\u0648\u062F\u064A\u0647","\u0645\u0646\u0628\u0639 \u0627\u0644\u0631\u0633\u0627\u0644\u0629","\u0645\u0647\u0628\u0637 \u0627\u0644\u0648\u062D\u064A"]},{iso3:"SDN",iso2:"SD",m49:"729",name:"Sudan",aliases:["\u{1F1F8}\u{1F1E9}","al sudan","as sudan","north sudan","republic of sudan","republic of the sudan","soudan","\u0627\u0644\u0633\u0648\u062F\u0627\u0646","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0633\u0648\u062F\u0627\u0646"]},{iso3:"SEN",iso2:"SN",m49:"686",name:"Senegal",aliases:["\u{1F1F8}\u{1F1F3}","la republique du senegal","republic of senegal","republique du senegal","sen","senegaal"]},{iso3:"SGP",iso2:"SG",m49:"702",name:"Singapore",aliases:["\u{1F1F8}\u{1F1EC}","garden city","lion city","republic of singapore","republik singapura","singapore city","singapura","spore","\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0BC2\u0BB0\u0BCD","\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0BC2\u0BB0\u0BCD \u0B95\u0BC1\u0B9F\u0BBF\u0BAF\u0BB0\u0B9A\u0BC1","\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BC8","\u0BB8\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BC2\u0BB0\u0BCD"]},{iso3:"SGS",iso2:"GS",m49:"239",name:"South Georgia and the South Sandwich Islands",aliases:["\u{1F1EC}\u{1F1F8}","falkland islands dependencies","sgssi","south georgia","south georgia & south sandwich islands","south sandwich islands"]},{iso3:"SHN",iso2:"SH",m49:"654",name:"Saint Helena",aliases:["\u{1F1F8}\u{1F1ED}","ascension","saint helena and dependencies","saint helena ascension and tristan da cunha","tristan da cunha"]},{iso3:"SJM",iso2:"SJ",m49:"744",name:"Svalbard and Jan Mayen Islands",aliases:["\u{1F1F8}\u{1F1EF}","jan mayen","svalbard","svalbard and jan mayen","svalbard og jan mayen"]},{iso3:"SLB",iso2:"SB",m49:"090",name:"Solomon Islands",aliases:["\u{1F1F8}\u{1F1E7}"]},{iso3:"SLE",iso2:"SL",m49:"694",name:"Sierra Leone",aliases:["\u{1F1F8}\u{1F1F1}","republic of sierra leone"]},{iso3:"SLV",iso2:"SV",m49:"222",name:"El Salvador",aliases:["\u{1F1F8}\u{1F1FB}","republic of el salvador","republica de el salvador","salvador"]},{iso3:"SMR",iso2:"SM",m49:"674",name:"San Marino",aliases:["\u{1F1F8}\u{1F1F2}","most serene republic of san marino","repubblica di san marino","serenissima repubblica di san marino"]},{iso3:"SOM",iso2:"SO",m49:"706",name:"Somalia",aliases:["\u{1F1F8}\u{1F1F4}","as sumal","federal republic of somalia","jamhuuriyadda federaalka soomaaliya","jamhuuriyadda soomaaliyeed","soomaaliya","soomaaliyeey toosoo","\u0627\u0644\u0635\u0648\u0645\u0627\u0644","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0635\u0648\u0645\u0627\u0644","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0635\u0648\u0645\u0627\u0644 \u0627\u0644\u062F\u064A\u0645\u0648\u0642\u0631\u0627\u0637\u064A\u0629","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0635\u0648\u0645\u0627\u0644 \u0627\u0644\u0641\u064A\u062F\u0631\u0627\u0644\u064A\u0629","\u0635\u0648\u0645\u0627\u0644"]},{iso3:"SPM",iso2:"PM",m49:"666",name:"Saint Pierre and Miquelon",aliases:["\u{1F1F5}\u{1F1F2}","collectivite territoriale de saint pierre et miquelon","miquelon","saint pierre","saint pierre et miquelon","territorial collectivity of saint pierre and miquelon"]},{iso3:"SRB",iso2:"RS",m49:"688",name:"Serbia",aliases:["\u{1F1F7}\u{1F1F8}","republic of serbia","republika srbija","\u0440\u0435\u043F\u0443\u0431\u043B\u0438\u043A\u0430 \u0441\u0440\u0431\u0438\u0458\u0430","\u0441\u0440\u0431\u0438\u0458\u0430"]},{iso3:"SSD",iso2:"SS",m49:"728",name:"South Sudan",aliases:["\u{1F1F8}\u{1F1F8}","republic of south sudan","southern sudan"]},{iso3:"STP",iso2:"ST",m49:"678",name:"Sao Tome and Principe",aliases:["\u{1F1F8}\u{1F1F9}","democratic republic of sao tome and principe","principe","republica democratica de sao tome e principe","sao tome","sao tome e principe","sao tome og principe"]},{iso3:"SUR",iso2:"SR",m49:"740",name:"Suriname",aliases:["\u{1F1F8}\u{1F1F7}","dutch guiana","republic of surinam","republic of suriname","republiek suriname","surinam","surrinam"]},{iso3:"SVK",iso2:"SK",m49:"703",name:"Slovakia",aliases:["\u{1F1F8}\u{1F1F0}","slovak republic","slovenska republika","slovensko"]},{iso3:"SVN",iso2:"SI",m49:"705",name:"Slovenia",aliases:["\u{1F1F8}\u{1F1EE}","republic of slovenia","republika slovenija","slovenija"]},{iso3:"SWE",iso2:"SE",m49:"752",name:"Sweden",aliases:["\u{1F1F8}\u{1F1EA}","kingdom of sweden","konungadomet sverige","konungariket sverige","kungadomet sverige","kungariket sverige","sverige","swedish kingdom"]},{iso3:"SWZ",iso2:"SZ",m49:"748",name:"Eswatini",aliases:["\u{1F1F8}\u{1F1FF}","kingdom of eswatini","kingdom of swaziland","swaziland","umbuso weswatini"]},{iso3:"SXM",iso2:"SX",m49:"534",name:"Sint Maarten (Dutch part)",aliases:["\u{1F1F8}\u{1F1FD}","country of sint maarten","eilandgebied sint maarten","land sint maarten","saint maarten","saint martin dutch part","sint maarten","sint martin"]},{iso3:"SYC",iso2:"SC",m49:"690",name:"Seychelles",aliases:["\u{1F1F8}\u{1F1E8}","la republique des seychelles","repiblik sesel","republic of seychelles","republique des seychelles"]},{iso3:"SYR",iso2:"SY",m49:"760",name:"Syrian Arab Republic",aliases:["\u{1F1F8}\u{1F1FE}","surya","syria","\u0627\u0644\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0639\u0631\u0628\u064A\u0629 \u0627\u0644\u0633\u0648\u0631\u064A\u0629","\u0627\u0644\u0634\u0627\u0645","\u0633\u0648\u0631\u064A\u0627","\u0633\u0648\u0631\u064A\u0629"]},{iso3:"TCA",iso2:"TC",m49:"796",name:"Turks and Caicos Islands",aliases:["\u{1F1F9}\u{1F1E8}","caicos","caicos islands","turks","turks & caicos","turks islands"]},{iso3:"TCD",iso2:"TD",m49:"148",name:"Chad",aliases:["\u{1F1F9}\u{1F1E9}","la republique du tchad","republic of chad","republique du tchad","tchad","\u062A\u0634\u0627\u062F","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u062A\u0634\u0627\u062F"]},{iso3:"TGO",iso2:"TG",m49:"768",name:"Togo",aliases:["\u{1F1F9}\u{1F1EC}","la republique togolaise","republique togolaise","togolese republic"]},{iso3:"THA",iso2:"TH",m49:"764",name:"Thailand",aliases:["\u{1F1F9}\u{1F1ED}","kingdom of siam","kingdom of thailand","siam","thai","\u0E44\u0E17\u0E22","\u0E1B\u0E23\u0E30\u0E40\u0E17\u0E28\u0E44\u0E17\u0E22","\u0E1B\u0E23\u0E30\u0E40\u0E17\u0E28\u0E2A\u0E22\u0E32\u0E21","\u0E40\u0E21\u0E37\u0E2D\u0E07\u0E44\u0E17\u0E22","\u0E23\u0E32\u0E0A\u0E2D\u0E32\u0E13\u0E32\u0E08\u0E31\u0E01\u0E23\u0E44\u0E17\u0E22","\u0E23\u0E32\u0E0A\u0E2D\u0E32\u0E13\u0E32\u0E08\u0E31\u0E01\u0E23\u0E2A\u0E22\u0E32\u0E21","\u0E2A\u0E22\u0E32\u0E21"]},{iso3:"TJK",iso2:"TJ",m49:"762",name:"Tajikistan",aliases:["\u{1F1F9}\u{1F1EF}","jumhurii tojikiston","republic of tajikistan","\u0442\u043E\u04B7\u0438\u043A\u0438\u0441\u0442\u043E\u043D","\u0442\u04B7","\u0442\u04B7\u043A","\u04B7\u0442","\u04B7\u0443\u043C\u04B3\u0443\u0440\u0438\u0438 \u0442\u043E\u04B7\u0438\u043A\u0438\u0441\u0442\u043E\u043D"]},{iso3:"TKL",iso2:"TK",m49:"772",name:"Tokelau",aliases:["\u{1F1F9}\u{1F1F0}","tokelau islands","union islands"]},{iso3:"TKM",iso2:"TM",m49:"795",name:"Turkmenistan",aliases:["\u{1F1F9}\u{1F1F2}"]},{iso3:"TLS",iso2:"TL",m49:"626",name:"Timor-Leste",aliases:["\u{1F1F9}\u{1F1F1}","democratic republic of timor leste","east timor","republica democratica de timor leste","republika demokratika timor lorosae","timor loro sae","timor lorosae"]},{iso3:"TON",iso2:"TO",m49:"776",name:"Tonga",aliases:["\u{1F1F9}\u{1F1F4}","friendly islands","kingdom of tonga","puleanga fakatui o tonga","tonga islands"]},{iso3:"TTO",iso2:"TT",m49:"780",name:"Trinidad and Tobago",aliases:["\u{1F1F9}\u{1F1F9}","republic of trinidad and tobago","tobago","trinidad"]},{iso3:"TUN",iso2:"TN",m49:"788",name:"Tunisia",aliases:["\u{1F1F9}\u{1F1F3}","republic of tunisia","tunisian republic","\u0627\u0644\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u062A\u0648\u0646\u0633\u064A\u0629","\u062A\u0648\u0646\u0633","\u062A\u0648\u0646\u0633 \u0627\u0644\u062E\u0636\u0631\u0627\u0621"]},{iso3:"TUR",iso2:"TR",m49:"792",name:"T\xFCrkiye",aliases:["\u{1F1F9}\u{1F1F7}","republic of turkey","republic of turkiye","turkey","turkiye cumhuriyeti"]},{iso3:"TUV",iso2:"TV",m49:"798",name:"Tuvalu",aliases:["\u{1F1F9}\u{1F1FB}","ellice islands"]},{iso3:"TWN",iso2:"TW",m49:"158",name:"Taiwan",aliases:["\u{1F1F9}\u{1F1FC}","chinese republic","chinese taipei","chunghwa minkuo","chunghwa minkwo","conghwaminku","cunghwa minkwo","cyukamingkok","formosa","nanasian","nationalist china","republic of china","republic of china taiwan","roc","taivang","taiwan province of china","taiwan roc","taywan","taywang","teywan","\u4E2D\u83EF\u6C11\u570B","\u4E2D\u83EF\u6C11\u570B\uFF08\u81FA\u7063\uFF09","\u4E2D\u83EF\u81FA\u5317","\u53F0\u7063","\u81FA\u6F8E\u91D1\u99AC","\u81FA\u7063"]},{iso3:"TZA",iso2:"TZ",m49:"834",name:"United Republic of Tanzania",aliases:["\u{1F1F9}\u{1F1FF}","jamhuri ya muungano wa tanganyika na zanzibar","jamhuri ya muungano wa tanzania","tanzania","tanzania jamhuri ya muungano wa","tanzania united republic of","united republic of tanganyika and zanzibar"]},{iso3:"UGA",iso2:"UG",m49:"800",name:"Uganda",aliases:["\u{1F1FA}\u{1F1EC}","jamhuri ya uganda","lulu ya afrika","ouganda","pearl of africa","republic of uganda","ugandah"]},{iso3:"UKR",iso2:"UA",m49:"804",name:"Ukraine",aliases:["\u{1F1FA}\u{1F1E6}","ukr","ukraina","ukrainia","ukrayina","\u0432\u043A\u0440\u0430\u0456\u043D\u0430","\u0443\u043A\u0440\u0430\u0456\u043D\u0430"]},{iso3:"UMI",iso2:"UM",m49:"581",name:"United States Minor Outlying Islands",aliases:["\u{1F1FA}\u{1F1F2}","us minor outlying islands","us outlying islands","usmoi"]},{iso3:"URY",iso2:"UY",m49:"858",name:"Uruguay",aliases:["\u{1F1FA}\u{1F1FE}","eastern republic of uruguay","oriental republic of uruguay"]},{iso3:"USA",iso2:"US",m49:"840",name:"United States of America",aliases:["\u{1F1FA}\u{1F1F8}","amelika","amelika hui pu ia","amelika huipuia","amelika mokuaina hui pu ia","america","eeuu","eeuu de america","estados unidos","estados unidos de america","los estados","los estados unidos","los estados unidos de america","mokuaina hui pu ia","union americana","united states","us","us of a","us of america","usa"]},{iso3:"UZB",iso2:"UZ",m49:"860",name:"Uzbekistan",aliases:["\u{1F1FA}\u{1F1FF}","ozbek","ozbekiston","ozbekiston respublikasi","republic of uzbekistan","uzbekiston respublikasi"]},{iso3:"VAT",iso2:"VA",m49:"336",name:"Holy See",aliases:["\u{1F1FB}\u{1F1E6}","citta del vaticano","civitas vaticana","colle vaticano","papal state","santa sede citta del vaticano","state of vatican city","stato della citta del vaticano","status civitatis vaticanae","status civitatis vatican\xE6","vatican","vatican city","vatican city state","vaticano"]},{iso3:"VCT",iso2:"VC",m49:"670",name:"Saint Vincent and the Grenadines",aliases:["\u{1F1FB}\u{1F1E8}","grenadines","saint vincent","saint vincent and grenadines"]},{iso3:"VEN",iso2:"VE",m49:"862",name:"Venezuela (Bolivarian Republic of)",aliases:["\u{1F1FB}\u{1F1EA}","bolivarian republic of venezuela","br venezuela","estados unidos de venezuela","rb venezuela","republic of venezuela","republica bolivariana de venezuela","republica de venezuela","venezuela"]},{iso3:"VGB",iso2:"VG",m49:"092",name:"British Virgin Islands",aliases:["\u{1F1FB}\u{1F1EC}","bvi","virgin islands british","virgin islands of the united kingdom","virgin islands united kingdom"]},{iso3:"VIR",iso2:"VI",m49:"850",name:"United States Virgin Islands",aliases:["\u{1F1FB}\u{1F1EE}","american virgin islands","us virgin islands","virgin islands of the united states","virgin islands us"]},{iso3:"VNM",iso2:"VN",m49:"704",name:"Viet Nam",aliases:["\u{1F1FB}\u{1F1F3}","chxhcn viet nam","chxhcnvn","cong hoa xa hoi chu nghia viet nam","socialist republic of viet nam","socialist republic of vietnam","vietnam"]},{iso3:"VUT",iso2:"VU",m49:"548",name:"Vanuatu",aliases:["\u{1F1FB}\u{1F1FA}","la republique du vanuatu","republic of vanuatu","republique de vanuatu","ripablik blong vanuatu"]},{iso3:"WLF",iso2:"WF",m49:"876",name:"Wallis and Futuna Islands",aliases:["\u{1F1FC}\u{1F1EB}","collectivite des iles wallis et futuna","emeni simete","futuna","iles wallis et futuna","makape papilio","territoire de wallis et futuna","territoire des iles wallis et futuna","wallis","wallis & futuna","wallis et futuna"]},{iso3:"WSM",iso2:"WS",m49:"882",name:"Samoa",aliases:["\u{1F1FC}\u{1F1F8}","independent state of samoa","malo saoloto tutoatasi o samoa","samoa i sisifo","western samoa"]},{iso3:"YEM",iso2:"YE",m49:"887",name:"Yemen",aliases:["\u{1F1FE}\u{1F1EA}","rep yemen","republic of yemen","\u0627\u0644\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u064A\u0645\u0646\u064A\u0629","\u0627\u0644\u064A\u0645\u0646","\u062F\u0648\u0644\u0629 \u0627\u0644\u064A\u0645\u0646"]},{iso3:"ZAF",iso2:"ZA",m49:"710",name:"South Africa",aliases:["\u{1F1FF}\u{1F1E6}","aferika borwa","aforika borwa","afrika boroa","afrika borwa","afrika dzonga","afurika tshipembe","emzantsi afrika","iningizimu afrika","iriphabhulikhi ye ningizimu afrika","iriphabhulikhi yeningizimu afrika","iriphabhuliki yase ningizimu afrika","iriphabliki yasemzantsi afrika","iriphabliki yaseningizimu afrika","iriphabliki yom zantsi afrika","isewula afrika","repabliki ya afrika borwa","rephaboliki ya aforika borwa","rephaboliki ya afrika borwa","republic of south africa","republiek van suid afrika","riphabliki ra afrika dzonga","rsa","suid afrika","umzansi","umzantsi afrika","unie van suid afrika","union of south africa"]},{iso3:"ZMB",iso2:"ZM",m49:"894",name:"Zambia",aliases:["\u{1F1FF}\u{1F1F2}","northern rhodesia","republic of zambia"]},{iso3:"ZWE",iso2:"ZW",m49:"716",name:"Zimbabwe",aliases:["\u{1F1FF}\u{1F1FC}","ezimbabwe","izimbabwe","republic of zimbabwe","rhodesia","southern rhodesia","zimbabwe rhodesia","zimbagwe"]}];function TH(e){return e.normalize("NFD").replace(/[̀-ͯ]/g,"").normalize("NFC").toLowerCase().replace(/[ً-ٟ]/g,"").replace(/['‘’ʻʼʽˈ′`]/g,"").replace(/&/g," and ").replace(/([,(])\s*the\b/g,"$1").replace(/[.(),[\]]/g,"").replace(/[-–—]/g," ").replace(/\bst\b/g,"saint").trim().replace(/\s+/g," ").replace(/^the\s+/,"")}function MLe(e){let t=new Map,r=new Map,n=new Map;for(let s of e)t.set(s.iso3,s),s.iso2&&r.set(s.iso2,s),s.m49&&n.set(s.m49,s);let a=new Map;for(let s of e)for(let l of[s.name,...s.aliases]){let u=TH(l),c=a.get(u);if(c!==void 0&&c!==s.iso3)throw new Error(`Duplicate name/alias "${u}": ${c} vs ${s.iso3}`);a.set(u,s.iso3)}function i(s){if(s==null)return;let l=String(s).trim();if(!l)return;if(/^\d+$/.test(l)){let c=n.get(String(parseInt(l,10)).padStart(3,"0"));if(c)return c}if(/^[A-Za-z]{2}$/.test(l)){let c=r.get(l.toUpperCase());if(c)return c}if(/^[A-Za-z]{3}$/.test(l)){let c=t.get(l.toUpperCase());if(c)return c}let u=a.get(TH(l));return u===void 0?void 0:t.get(u)}function o(s){var l;return(l=i(s))==null?void 0:l.iso3}return{lookup:i,lookupAlpha3:o,byAlpha3:t,byAlpha2:r,byM49:n}}var WA=MLe(ALe),W7t=WA.lookup,Y7t=WA.lookupAlpha3,X7t=WA.byAlpha3,Z7t=WA.byAlpha2,$7t=WA.byM49});var P7=ne(tl=>{"use strict";Object.defineProperty(tl,"__esModule",{value:!0});var tv=63710088e-1,SH={centimeters:tv*100,centimetres:tv*100,degrees:360/(2*Math.PI),feet:tv*3.28084,inches:tv*39.37,kilometers:tv/1e3,kilometres:tv/1e3,meters:tv,metres:tv,miles:tv/1609.344,millimeters:tv*1e3,millimetres:tv*1e3,nauticalmiles:tv/1852,radians:1,yards:tv*1.0936},MH={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,nauticalmiles:29155334959812285e-23,millimeters:1e6,millimetres:1e6,yards:1.195990046};function Xm(e,t,r={}){let n={type:"Feature"};return(r.id===0||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=t||{},n.geometry=e,n}function K7t(e,t,r={}){switch(e){case"Point":return EH(t).geometry;case"LineString":return CH(t).geometry;case"Polygon":return kH(t).geometry;case"MultiPoint":return CLe(t).geometry;case"MultiLineString":return kLe(t).geometry;case"MultiPolygon":return LLe(t).geometry;default:throw new Error(e+" is invalid")}}function EH(e,t,r={}){if(!e)throw new Error("coordinates is required");if(!Array.isArray(e))throw new Error("coordinates must be an Array");if(e.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!L7(e[0])||!L7(e[1]))throw new Error("coordinates must contain numbers");return Xm({type:"Point",coordinates:e},t,r)}function J7t(e,t,r={}){return F7(e.map(n=>EH(n,t)),r)}function kH(e,t,r={}){for(let a of e){if(a.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");if(a[a.length-1].length!==a[0].length)throw new Error("First and last Position are not equivalent.");for(let i=0;ikH(n,t)),r)}function CH(e,t,r={}){if(e.length<2)throw new Error("coordinates must be an array of two or more positions");return Xm({type:"LineString",coordinates:e},t,r)}function e9t(e,t,r={}){return F7(e.map(n=>CH(n,t)),r)}function F7(e,t={}){let r={type:"FeatureCollection"};return t.id&&(r.id=t.id),t.bbox&&(r.bbox=t.bbox),r.features=e,r}function kLe(e,t,r={}){return Xm({type:"MultiLineString",coordinates:e},t,r)}function CLe(e,t,r={}){return Xm({type:"MultiPoint",coordinates:e},t,r)}function LLe(e,t,r={}){return Xm({type:"MultiPolygon",coordinates:e},t,r)}function t9t(e,t,r={}){return Xm({type:"GeometryCollection",geometries:e},t,r)}function r9t(e,t=0){if(t&&!(t>=0))throw new Error("precision must be a positive number");let r=Math.pow(10,t||0);return Math.round(e*r)/r}function FLe(e,t="kilometers"){let r=SH[t];if(!r)throw new Error(t+" units is invalid");return e*r}function LH(e,t="kilometers"){let r=SH[t];if(!r)throw new Error(t+" units is invalid");return e/r}function n9t(e,t){return PLe(LH(e,t))}function a9t(e){let t=e%360;return t<0&&(t+=360),t}function i9t(e){return e=e%360,e>180?e-360:e<-180?e+360:e}function PLe(e){return e%(2*Math.PI)*180/Math.PI}function o9t(e){return e%360*Math.PI/180}function s9t(e,t="kilometers",r="kilometers"){if(!(e>=0))throw new Error("length must be a positive number");return FLe(LH(e,t),r)}function l9t(e,t="meters",r="kilometers"){if(!(e>=0))throw new Error("area must be a positive number");let n=MH[t];if(!n)throw new Error("invalid original units");let a=MH[r];if(!a)throw new Error("invalid final units");return e/n*a}function L7(e){return!isNaN(e)&&e!==null&&!Array.isArray(e)}function u9t(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function c9t(e){if(!e)throw new Error("bbox is required");if(!Array.isArray(e))throw new Error("bbox must be an Array");if(e.length!==4&&e.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");e.forEach(t=>{if(!L7(t))throw new Error("bbox must only contain numbers")})}function f9t(e){if(!e)throw new Error("id is required");if(["string","number"].indexOf(typeof e)===-1)throw new Error("id must be a number or a string")}tl.areaFactors=MH;tl.azimuthToBearing=i9t;tl.bearingToAzimuth=a9t;tl.convertArea=l9t;tl.convertLength=s9t;tl.degreesToRadians=o9t;tl.earthRadius=tv;tl.factors=SH;tl.feature=Xm;tl.featureCollection=F7;tl.geometry=K7t;tl.geometryCollection=t9t;tl.isNumber=L7;tl.isObject=u9t;tl.lengthToDegrees=n9t;tl.lengthToRadians=LH;tl.lineString=CH;tl.lineStrings=e9t;tl.multiLineString=kLe;tl.multiPoint=CLe;tl.multiPolygon=LLe;tl.point=EH;tl.points=J7t;tl.polygon=kH;tl.polygons=Q7t;tl.radiansToDegrees=PLe;tl.radiansToLength=FLe;tl.round=r9t;tl.validateBBox=c9t;tl.validateId=f9t});var R7=ne(Kf=>{"use strict";Object.defineProperty(Kf,"__esModule",{value:!0});var pd=P7();function YA(e,t,r){if(e!==null)for(var n,a,i,o,s,l,u,c=0,f=0,h,v=e.type,d=v==="FeatureCollection",m=v==="Feature",x=d?e.features.length:1,g=0;gl||d>u||m>c){s=f,l=n,u=d,c=m,i=0;return}var x=pd.lineString.call(void 0,[s,f],r.properties);if(t(x,n,a,m,i)===!1)return!1;i++,s=f})===!1)return!1}}})}function y9t(e,t,r){var n=r,a=!1;return ILe(e,function(i,o,s,l,u){a===!1&&r===void 0?n=i:n=t(n,i,o,s,l,u),a=!0}),n}function zLe(e,t){if(!e)throw new Error("geojson is required");D7(e,function(r,n,a){if(r.geometry!==null){var i=r.geometry.type,o=r.geometry.coordinates;switch(i){case"LineString":if(t(r,n,a,0,0)===!1)return!1;break;case"Polygon":for(var s=0;s{"use strict";Object.defineProperty(I7,"__esModule",{value:!0});var qLe=P7(),w9t=R7();function NLe(e){return w9t.geomReduce.call(void 0,e,(t,r)=>t+T9t(r),0)}function T9t(e){let t=0,r;switch(e.type){case"Polygon":return BLe(e.coordinates);case"MultiPolygon":for(r=0;r0){t+=Math.abs(OLe(e[0]));for(let r=1;r=t?(n+2)%t:n+2],s=a[0]*PH,l=i[1]*PH,u=o[0]*PH;r+=(u-s)*Math.sin(l),n++}return r*A9t}var M9t=NLe;I7.area=NLe;I7.default=M9t});var GLe=ne(z7=>{"use strict";Object.defineProperty(z7,"__esModule",{value:!0});var S9t=P7(),E9t=R7();function VLe(e,t={}){let r=0,n=0,a=0;return E9t.coordEach.call(void 0,e,function(i){r+=i[0],n+=i[1],a++},!0),S9t.point.call(void 0,[r/a,n/a],t.properties)}var k9t=VLe;z7.centroid=VLe;z7.default=k9t});var XA=ne((q7,HLe)=>{(function(e,t){t(typeof q7=="object"&&typeof HLe!="undefined"?q7:e.d3=e.d3||{})})(q7,(function(e){"use strict";function t(ce,oe){return ceoe?1:ce>=oe?0:NaN}function r(ce){return ce.length===1&&(ce=n(ce)),{left:function(oe,we,he,ye){for(he==null&&(he=0),ye==null&&(ye=oe.length);he>>1;ce(oe[Pe],we)<0?he=Pe+1:ye=Pe}return he},right:function(oe,we,he,ye){for(he==null&&(he=0),ye==null&&(ye=oe.length);he>>1;ce(oe[Pe],we)>0?ye=Pe:he=Pe+1}return he}}}function n(ce){return function(oe,we){return t(ce(oe),we)}}var a=r(t),i=a.right,o=a.left;function s(ce,oe){oe==null&&(oe=l);for(var we=0,he=ce.length-1,ye=ce[0],Pe=new Array(he<0?0:he);wece?1:oe>=ce?0:NaN}function f(ce){return ce===null?NaN:+ce}function h(ce,oe){var we=ce.length,he=0,ye=-1,Pe=0,le,ze,Xe=0;if(oe==null)for(;++ye1)return Xe/(he-1)}function v(ce,oe){var we=h(ce,oe);return we&&Math.sqrt(we)}function d(ce,oe){var we=ce.length,he=-1,ye,Pe,le;if(oe==null){for(;++he=ye)for(Pe=le=ye;++heye&&(Pe=ye),le=ye)for(Pe=le=ye;++heye&&(Pe=ye),le0)return[ce];if((he=oe0)for(ce=Math.ceil(ce/ze),oe=Math.floor(oe/ze),le=new Array(Pe=Math.ceil(oe-ce+1));++ye=0?(Pe>=k?10:Pe>=y?5:Pe>=S?2:1)*Math.pow(10,ye):-Math.pow(10,-ye)/(Pe>=k?10:Pe>=y?5:Pe>=S?2:1)}function C(ce,oe,we){var he=Math.abs(oe-ce)/Math.max(0,we),ye=Math.pow(10,Math.floor(Math.log(he)/Math.LN10)),Pe=he/ye;return Pe>=k?ye*=10:Pe>=y?ye*=5:Pe>=S&&(ye*=2),oeOe;)qe.pop(),--mt;var lt=new Array(mt+1),Ie;for(Pe=0;Pe<=mt;++Pe)Ie=lt[Pe]=[],Ie.x0=Pe>0?qe[Pe-1]:st,Ie.x1=Pe=1)return+we(ce[he-1],he-1,ce);var he,ye=(he-1)*oe,Pe=Math.floor(ye),le=+we(ce[Pe],Pe,ce),ze=+we(ce[Pe+1],Pe+1,ce);return le+(ze-le)*(ye-Pe)}}function z(ce,oe,we){return ce=g.call(ce,f).sort(t),Math.ceil((we-oe)/(2*(D(ce,.75)-D(ce,.25))*Math.pow(ce.length,-1/3)))}function q(ce,oe,we){return Math.ceil((we-oe)/(3.5*v(ce)*Math.pow(ce.length,-1/3)))}function U(ce,oe){var we=ce.length,he=-1,ye,Pe;if(oe==null){for(;++he=ye)for(Pe=ye;++hePe&&(Pe=ye)}else for(;++he=ye)for(Pe=ye;++hePe&&(Pe=ye);return Pe}function O(ce,oe){var we=ce.length,he=we,ye=-1,Pe,le=0;if(oe==null)for(;++ye=0;)for(le=ce[oe],we=le.length;--we>=0;)Pe[--ye]=le[we];return Pe}function Y(ce,oe){var we=ce.length,he=-1,ye,Pe;if(oe==null){for(;++he=ye)for(Pe=ye;++heye&&(Pe=ye)}else for(;++he=ye)for(Pe=ye;++heye&&(Pe=ye);return Pe}function X(ce,oe){for(var we=oe.length,he=new Array(we);we--;)he[we]=ce[oe[we]];return he}function te(ce,oe){if(we=ce.length){var we,he=0,ye=0,Pe,le=ce[ye];for(oe==null&&(oe=t);++he{(function(e,t){typeof B7=="object"&&typeof jLe!="undefined"?t(B7,XA()):(e=e||self,t(e.d3=e.d3||{},e.d3))})(B7,(function(e,t){"use strict";function r(){return new n}function n(){this.reset()}n.prototype={constructor:n,reset:function(){this.s=this.t=0},add:function(Je){i(a,Je,this.t),i(this,a.s,this.s),this.s?this.t+=a.t:this.s=a.t},valueOf:function(){return this.s}};var a=new n;function i(Je,yt,Gt){var Bt=Je.s=yt+Gt,mr=Bt-yt,Ur=Bt-mr;Je.t=yt-Ur+(Gt-mr)}var o=1e-6,s=1e-12,l=Math.PI,u=l/2,c=l/4,f=l*2,h=180/l,v=l/180,d=Math.abs,m=Math.atan,x=Math.atan2,g=Math.cos,E=Math.ceil,M=Math.exp,w=Math.log,k=Math.pow,y=Math.sin,S=Math.sign||function(Je){return Je>0?1:Je<0?-1:0},T=Math.sqrt,p=Math.tan;function C(Je){return Je>1?0:Je<-1?l:Math.acos(Je)}function A(Je){return Je>1?u:Je<-1?-u:Math.asin(Je)}function P(Je){return(Je=y(Je/2))*Je}function D(){}function z(Je,yt){Je&&U.hasOwnProperty(Je.type)&&U[Je.type](Je,yt)}var q={Feature:function(Je,yt){z(Je.geometry,yt)},FeatureCollection:function(Je,yt){for(var Gt=Je.features,Bt=-1,mr=Gt.length;++Bt=0?1:-1,mr=Bt*Gt,Ur=g(yt),en=y(yt),mn=j*en,An=re*Ur+mn*g(mr),Vn=mn*Bt*y(mr);Y.add(x(Vn,An)),ue=Je,re=Ur,j=en}function ye(Je){return X.reset(),B(Je,fe),X*2}function Pe(Je){return[x(Je[1],Je[0]),A(Je[2])]}function le(Je){var yt=Je[0],Gt=Je[1],Bt=g(Gt);return[Bt*g(yt),Bt*y(yt),y(Gt)]}function ze(Je,yt){return Je[0]*yt[0]+Je[1]*yt[1]+Je[2]*yt[2]}function Xe(Je,yt){return[Je[1]*yt[2]-Je[2]*yt[1],Je[2]*yt[0]-Je[0]*yt[2],Je[0]*yt[1]-Je[1]*yt[0]]}function vt(Je,yt){Je[0]+=yt[0],Je[1]+=yt[1],Je[2]+=yt[2]}function st(Je,yt){return[Je[0]*yt,Je[1]*yt,Je[2]*yt]}function Oe(Je){var yt=T(Je[0]*Je[0]+Je[1]*Je[1]+Je[2]*Je[2]);Je[0]/=yt,Je[1]/=yt,Je[2]/=yt}var qe,mt,lt,Ie,de,Ee,Ue,ge,Ge=r(),tt,ft,He={point:Qe,lineStart:pt,lineEnd:kt,polygonStart:function(){He.point=qt,He.lineStart=Wt,He.lineEnd=_r,Ge.reset(),fe.polygonStart()},polygonEnd:function(){fe.polygonEnd(),He.point=Qe,He.lineStart=pt,He.lineEnd=kt,Y<0?(qe=-(lt=180),mt=-(Ie=90)):Ge>o?Ie=90:Ge<-o&&(mt=-90),ft[0]=qe,ft[1]=lt},sphere:function(){qe=-(lt=180),mt=-(Ie=90)}};function Qe(Je,yt){tt.push(ft=[qe=Je,lt=Je]),ytIe&&(Ie=yt)}function We(Je,yt){var Gt=le([Je*v,yt*v]);if(ge){var Bt=Xe(ge,Gt),mr=[Bt[1],-Bt[0],0],Ur=Xe(mr,Bt);Oe(Ur),Ur=Pe(Ur);var en=Je-de,mn=en>0?1:-1,An=Ur[0]*h*mn,Vn,tn=d(en)>180;tn^(mn*deIe&&(Ie=Vn)):(An=(An+360)%360-180,tn^(mn*deIe&&(Ie=yt))),tn?Jetr(qe,lt)&&(lt=Je):tr(Je,lt)>tr(qe,lt)&&(qe=Je):lt>=qe?(Jelt&&(lt=Je)):Je>de?tr(qe,Je)>tr(qe,lt)&&(lt=Je):tr(Je,lt)>tr(qe,lt)&&(qe=Je)}else tt.push(ft=[qe=Je,lt=Je]);ytIe&&(Ie=yt),ge=Gt,de=Je}function pt(){He.point=We}function kt(){ft[0]=qe,ft[1]=lt,He.point=Qe,ge=null}function qt(Je,yt){if(ge){var Gt=Je-de;Ge.add(d(Gt)>180?Gt+(Gt>0?360:-360):Gt)}else Ee=Je,Ue=yt;fe.point(Je,yt),We(Je,yt)}function Wt(){fe.lineStart()}function _r(){qt(Ee,Ue),fe.lineEnd(),d(Ge)>o&&(qe=-(lt=180)),ft[0]=qe,ft[1]=lt,ge=null}function tr(Je,yt){return(yt-=Je)<0?yt+360:yt}function lr(Je,yt){return Je[0]-yt[0]}function Ye(Je,yt){return Je[0]<=Je[1]?Je[0]<=yt&&yt<=Je[1]:yttr(Bt[0],Bt[1])&&(Bt[1]=mr[1]),tr(mr[0],Bt[1])>tr(Bt[0],Bt[1])&&(Bt[0]=mr[0])):Ur.push(Bt=mr);for(en=-1/0,Gt=Ur.length-1,yt=0,Bt=Ur[Gt];yt<=Gt;Bt=mr,++yt)mr=Ur[yt],(mn=tr(Bt[1],mr[0]))>en&&(en=mn,qe=mr[0],lt=Bt[1])}return tt=ft=null,qe===1/0||mt===1/0?[[NaN,NaN],[NaN,NaN]]:[[qe,mt],[lt,Ie]]}var Fe,Ae,Re,Ze,Ke,_t,St,Vt,fr,$t,gr,Br,Nr,Er,zr,vn,Nn={sphere:D,point:Xn,lineStart:Qn,lineEnd:da,polygonStart:function(){Nn.lineStart=ua,Nn.lineEnd=qa},polygonEnd:function(){Nn.lineStart=Qn,Nn.lineEnd=da}};function Xn(Je,yt){Je*=v,yt*=v;var Gt=g(yt);Kn(Gt*g(Je),Gt*y(Je),y(yt))}function Kn(Je,yt,Gt){++Fe,Re+=(Je-Re)/Fe,Ze+=(yt-Ze)/Fe,Ke+=(Gt-Ke)/Fe}function Qn(){Nn.point=un}function un(Je,yt){Je*=v,yt*=v;var Gt=g(yt);Er=Gt*g(Je),zr=Gt*y(Je),vn=y(yt),Nn.point=aa,Kn(Er,zr,vn)}function aa(Je,yt){Je*=v,yt*=v;var Gt=g(yt),Bt=Gt*g(Je),mr=Gt*y(Je),Ur=y(yt),en=x(T((en=zr*Ur-vn*mr)*en+(en=vn*Bt-Er*Ur)*en+(en=Er*mr-zr*Bt)*en),Er*Bt+zr*mr+vn*Ur);Ae+=en,_t+=en*(Er+(Er=Bt)),St+=en*(zr+(zr=mr)),Vt+=en*(vn+(vn=Ur)),Kn(Er,zr,vn)}function da(){Nn.point=Xn}function ua(){Nn.point=ii}function qa(){pa(Br,Nr),Nn.point=Xn}function ii(Je,yt){Br=Je,Nr=yt,Je*=v,yt*=v,Nn.point=pa;var Gt=g(yt);Er=Gt*g(Je),zr=Gt*y(Je),vn=y(yt),Kn(Er,zr,vn)}function pa(Je,yt){Je*=v,yt*=v;var Gt=g(yt),Bt=Gt*g(Je),mr=Gt*y(Je),Ur=y(yt),en=zr*Ur-vn*mr,mn=vn*Bt-Er*Ur,An=Er*mr-zr*Bt,Vn=T(en*en+mn*mn+An*An),tn=A(Vn),nn=Vn&&-tn/Vn;fr+=nn*en,$t+=nn*mn,gr+=nn*An,Ae+=tn,_t+=tn*(Er+(Er=Bt)),St+=tn*(zr+(zr=mr)),Vt+=tn*(vn+(vn=Ur)),Kn(Er,zr,vn)}function no(Je){Fe=Ae=Re=Ze=Ke=_t=St=Vt=fr=$t=gr=0,B(Je,Nn);var yt=fr,Gt=$t,Bt=gr,mr=yt*yt+Gt*Gt+Bt*Bt;return mrl?Je+Math.round(-Je/f)*f:Je,yt]}fi.invert=fi;function _o(Je,yt,Gt){return(Je%=f)?yt||Gt?Ti(ni(Je),ao(yt,Gt)):ni(Je):yt||Gt?ao(yt,Gt):fi}function Oi(Je){return function(yt,Gt){return yt+=Je,[yt>l?yt-f:yt<-l?yt+f:yt,Gt]}}function ni(Je){var yt=Oi(Je);return yt.invert=Oi(-Je),yt}function ao(Je,yt){var Gt=g(Je),Bt=y(Je),mr=g(yt),Ur=y(yt);function en(mn,An){var Vn=g(An),tn=g(mn)*Vn,nn=y(mn)*Vn,dn=y(An),Wr=dn*Gt+tn*Bt;return[x(nn*mr-Wr*Ur,tn*Gt-dn*Bt),A(Wr*mr+nn*Ur)]}return en.invert=function(mn,An){var Vn=g(An),tn=g(mn)*Vn,nn=y(mn)*Vn,dn=y(An),Wr=dn*mr-nn*Ur;return[x(nn*mr+dn*Ur,tn*Gt+Wr*Bt),A(Wr*Gt-tn*Bt)]},en}function Hi(Je){Je=_o(Je[0]*v,Je[1]*v,Je.length>2?Je[2]*v:0);function yt(Gt){return Gt=Je(Gt[0]*v,Gt[1]*v),Gt[0]*=h,Gt[1]*=h,Gt}return yt.invert=function(Gt){return Gt=Je.invert(Gt[0]*v,Gt[1]*v),Gt[0]*=h,Gt[1]*=h,Gt},yt}function to(Je,yt,Gt,Bt,mr,Ur){if(Gt){var en=g(yt),mn=y(yt),An=Bt*Gt;mr==null?(mr=yt+Bt*f,Ur=yt-An/2):(mr=Xo(en,mr),Ur=Xo(en,Ur),(Bt>0?mrUr)&&(mr+=Bt*f));for(var Vn,tn=mr;Bt>0?tn>Ur:tn1&&Je.push(Je.pop().concat(Je.shift()))},result:function(){var Gt=Je;return Je=[],yt=null,Gt}}}function yo(Je,yt){return d(Je[0]-yt[0])=0;--mn)mr.point((nn=tn[mn])[0],nn[1]);else Bt(dn.x,dn.p.x,-1,mr);dn=dn.p}dn=dn.o,tn=dn.z,Wr=!Wr}while(!dn.v);mr.lineEnd()}}}function Ni(Je){if(yt=Je.length){for(var yt,Gt=0,Bt=Je[0],mr;++Gt=0?1:-1,Qi=Ao*ji,zo=Qi>l,Vi=Ca*Ja;if(Oa.add(x(Vi*Ao*y(Qi),Pa*pi+Vi*g(Qi))),en+=zo?ji+Ao*f:ji,zo^Wr>=Gt^na>=Gt){var Js=Xe(le(dn),le(Va));Oe(Js);var cs=Xe(Ur,Js);Oe(cs);var Mo=(zo^ji>=0?-1:1)*A(cs[2]);(Bt>Mo||Bt===Mo&&(Js[0]||Js[1]))&&(mn+=zo^ji>=0?1:-1)}}return(en<-o||en0){for(An||(mr.polygonStart(),An=!0),mr.lineStart(),pi=0;pi1&&zn&2&&Ja.push(Ja.pop().concat(Ja.shift())),tn.push(Ja.filter(rt))}}return dn}}function rt(Je){return Je.length>1}function Xt(Je,yt){return((Je=Je.x)[0]<0?Je[1]-u-o:u-Je[1])-((yt=yt.x)[0]<0?yt[1]-u-o:u-yt[1])}var xr=ia(function(){return!0},Fr,Mn,[-l,-u]);function Fr(Je){var yt=NaN,Gt=NaN,Bt=NaN,mr;return{lineStart:function(){Je.lineStart(),mr=1},point:function(Ur,en){var mn=Ur>0?l:-l,An=d(Ur-yt);d(An-l)0?u:-u),Je.point(Bt,Gt),Je.lineEnd(),Je.lineStart(),Je.point(mn,Gt),Je.point(Ur,Gt),mr=0):Bt!==mn&&An>=l&&(d(yt-Bt)o?m((y(yt)*(Ur=g(Bt))*y(Gt)-y(Bt)*(mr=g(yt))*y(Je))/(mr*Ur*en)):(yt+Bt)/2}function Mn(Je,yt,Gt,Bt){var mr;if(Je==null)mr=Gt*u,Bt.point(-l,mr),Bt.point(0,mr),Bt.point(l,mr),Bt.point(l,0),Bt.point(l,-mr),Bt.point(0,-mr),Bt.point(-l,-mr),Bt.point(-l,0),Bt.point(-l,mr);else if(d(Je[0]-yt[0])>o){var Ur=Je[0]0,mr=d(yt)>o;function Ur(tn,nn,dn,Wr){to(Wr,Je,Gt,dn,tn,nn)}function en(tn,nn){return g(tn)*g(nn)>yt}function mn(tn){var nn,dn,Wr,ea,Ca;return{lineStart:function(){ea=Wr=!1,Ca=1},point:function(Pa,La){var Va=[Pa,La],na,zn=en(Pa,La),Ja=Bt?zn?0:Vn(Pa,La):zn?Vn(Pa+(Pa<0?l:-l),La):0;if(!nn&&(ea=Wr=zn)&&tn.lineStart(),zn!==Wr&&(na=An(nn,Va),(!na||yo(nn,na)||yo(Va,na))&&(Va[2]=1)),zn!==Wr)Ca=0,zn?(tn.lineStart(),na=An(Va,nn),tn.point(na[0],na[1])):(na=An(nn,Va),tn.point(na[0],na[1],2),tn.lineEnd()),nn=na;else if(mr&&nn&&Bt^zn){var pi;!(Ja&dn)&&(pi=An(Va,nn,!0))&&(Ca=0,Bt?(tn.lineStart(),tn.point(pi[0][0],pi[0][1]),tn.point(pi[1][0],pi[1][1]),tn.lineEnd()):(tn.point(pi[1][0],pi[1][1]),tn.lineEnd(),tn.lineStart(),tn.point(pi[0][0],pi[0][1],3)))}zn&&(!nn||!yo(nn,Va))&&tn.point(Va[0],Va[1]),nn=Va,Wr=zn,dn=Ja},lineEnd:function(){Wr&&tn.lineEnd(),nn=null},clean:function(){return Ca|(ea&&Wr)<<1}}}function An(tn,nn,dn){var Wr=le(tn),ea=le(nn),Ca=[1,0,0],Pa=Xe(Wr,ea),La=ze(Pa,Pa),Va=Pa[0],na=La-Va*Va;if(!na)return!dn&&tn;var zn=yt*La/na,Ja=-yt*Va/na,pi=Xe(Ca,Pa),ji=st(Ca,zn),Ao=st(Pa,Ja);vt(ji,Ao);var Qi=pi,zo=ze(ji,Qi),Vi=ze(Qi,Qi),Js=zo*zo-Vi*(ze(ji,ji)-1);if(!(Js<0)){var cs=T(Js),Mo=st(Qi,(-zo-cs)/Vi);if(vt(Mo,ji),Mo=Pe(Mo),!dn)return Mo;var ya=tn[0],ho=nn[0],wo=tn[1],Yi=nn[1],Vs;ho0^Mo[1]<(d(Mo[0]-ya)l^(ya<=Mo[0]&&Mo[0]<=ho)){var ll=st(Qi,(-zo+cs)/Vi);return vt(ll,ji),[Mo,Pe(ll)]}}}function Vn(tn,nn){var dn=Bt?Je:l-Je,Wr=0;return tn<-dn?Wr|=1:tn>dn&&(Wr|=2),nn<-dn?Wr|=4:nn>dn&&(Wr|=8),Wr}return ia(en,mn,Ur,Bt?[0,-Je]:[-l,Je-l])}function on(Je,yt,Gt,Bt,mr,Ur){var en=Je[0],mn=Je[1],An=yt[0],Vn=yt[1],tn=0,nn=1,dn=An-en,Wr=Vn-mn,ea;if(ea=Gt-en,!(!dn&&ea>0)){if(ea/=dn,dn<0){if(ea0){if(ea>nn)return;ea>tn&&(tn=ea)}if(ea=mr-en,!(!dn&&ea<0)){if(ea/=dn,dn<0){if(ea>nn)return;ea>tn&&(tn=ea)}else if(dn>0){if(ea0)){if(ea/=Wr,Wr<0){if(ea0){if(ea>nn)return;ea>tn&&(tn=ea)}if(ea=Ur-mn,!(!Wr&&ea<0)){if(ea/=Wr,Wr<0){if(ea>nn)return;ea>tn&&(tn=ea)}else if(Wr>0){if(ea0&&(Je[0]=en+tn*dn,Je[1]=mn+tn*Wr),nn<1&&(yt[0]=en+nn*dn,yt[1]=mn+nn*Wr),!0}}}}}var En=1e9,Aa=-En;function ba(Je,yt,Gt,Bt){function mr(Vn,tn){return Je<=Vn&&Vn<=Gt&&yt<=tn&&tn<=Bt}function Ur(Vn,tn,nn,dn){var Wr=0,ea=0;if(Vn==null||(Wr=en(Vn,nn))!==(ea=en(tn,nn))||An(Vn,tn)<0^nn>0)do dn.point(Wr===0||Wr===3?Je:Gt,Wr>1?Bt:yt);while((Wr=(Wr+nn+4)%4)!==ea);else dn.point(tn[0],tn[1])}function en(Vn,tn){return d(Vn[0]-Je)0?0:3:d(Vn[0]-Gt)0?2:1:d(Vn[1]-yt)0?1:0:tn>0?3:2}function mn(Vn,tn){return An(Vn.x,tn.x)}function An(Vn,tn){var nn=en(Vn,1),dn=en(tn,1);return nn!==dn?nn-dn:nn===0?tn[1]-Vn[1]:nn===1?Vn[0]-tn[0]:nn===2?Vn[1]-tn[1]:tn[0]-Vn[0]}return function(Vn){var tn=Vn,nn=Fi(),dn,Wr,ea,Ca,Pa,La,Va,na,zn,Ja,pi,ji={point:Ao,lineStart:Js,lineEnd:cs,polygonStart:zo,polygonEnd:Vi};function Ao(ya,ho){mr(ya,ho)&&tn.point(ya,ho)}function Qi(){for(var ya=0,ho=0,wo=Wr.length;hoBt&&(Pu-Yu)*(Bt-ll)>(ul-ll)*(Je-Yu)&&++ya:ul<=Bt&&(Pu-Yu)*(Bt-ll)<(ul-ll)*(Je-Yu)&&--ya;return ya}function zo(){tn=nn,dn=[],Wr=[],pi=!0}function Vi(){var ya=Qi(),ho=pi&&ya,wo=(dn=t.merge(dn)).length;(ho||wo)&&(Vn.polygonStart(),ho&&(Vn.lineStart(),Ur(null,null,1,Vn),Vn.lineEnd()),wo&&rl(dn,mn,ya,Ur,Vn),Vn.polygonEnd()),tn=Vn,dn=Wr=ea=null}function Js(){ji.point=Mo,Wr&&Wr.push(ea=[]),Ja=!0,zn=!1,Va=na=NaN}function cs(){dn&&(Mo(Ca,Pa),La&&zn&&nn.rejoin(),dn.push(nn.result())),ji.point=Ao,zn&&tn.lineEnd()}function Mo(ya,ho){var wo=mr(ya,ho);if(Wr&&ea.push([ya,ho]),Ja)Ca=ya,Pa=ho,La=wo,Ja=!1,wo&&(tn.lineStart(),tn.point(ya,ho));else if(wo&&zn)tn.point(ya,ho);else{var Yi=[Va=Math.max(Aa,Math.min(En,Va)),na=Math.max(Aa,Math.min(En,na))],Vs=[ya=Math.max(Aa,Math.min(En,ya)),ho=Math.max(Aa,Math.min(En,ho))];on(Yi,Vs,Je,yt,Gt,Bt)?(zn||(tn.lineStart(),tn.point(Yi[0],Yi[1])),tn.point(Vs[0],Vs[1]),wo||tn.lineEnd(),pi=!1):wo&&(tn.lineStart(),tn.point(ya,ho),pi=!1)}Va=ya,na=ho,zn=wo}return ji}}function Ia(){var Je=0,yt=0,Gt=960,Bt=500,mr,Ur,en;return en={stream:function(mn){return mr&&Ur===mn?mr:mr=ba(Je,yt,Gt,Bt)(Ur=mn)},extent:function(mn){return arguments.length?(Je=+mn[0][0],yt=+mn[0][1],Gt=+mn[1][0],Bt=+mn[1][1],mr=Ur=null,en):[[Je,yt],[Gt,Bt]]}}}var hi=r(),ki,ui,Mi,_i={sphere:D,point:D,lineStart:ko,lineEnd:D,polygonStart:D,polygonEnd:D};function ko(){_i.point=$o,_i.lineEnd=Io}function Io(){_i.point=_i.lineEnd=D}function $o(Je,yt){Je*=v,yt*=v,ki=Je,ui=y(yt),Mi=g(yt),_i.point=Is}function Is(Je,yt){Je*=v,yt*=v;var Gt=y(yt),Bt=g(yt),mr=d(Je-ki),Ur=g(mr),en=y(mr),mn=Bt*en,An=Mi*Gt-ui*Bt*Ur,Vn=ui*Gt+Mi*Bt*Ur;hi.add(x(T(mn*mn+An*An),Vn)),ki=Je,ui=Gt,Mi=Bt}function Es(Je){return hi.reset(),B(Je,_i),+hi}var Ks=[null,null],nl={type:"LineString",coordinates:Ks};function ks(Je,yt){return Ks[0]=Je,Ks[1]=yt,Es(nl)}var us={Feature:function(Je,yt){return Co(Je.geometry,yt)},FeatureCollection:function(Je,yt){for(var Gt=Je.features,Bt=-1,mr=Gt.length;++Bt0&&(mr=ks(Je[Ur],Je[Ur-1]),mr>0&&Gt<=mr&&Bt<=mr&&(Gt+Bt-mr)*(1-Math.pow((Gt-Bt)/mr,2))o}).map(dn)).concat(t.range(E(Ur/Vn)*Vn,mr,Vn).filter(function(na){return d(na%nn)>o}).map(Wr))}return La.lines=function(){return Va().map(function(na){return{type:"LineString",coordinates:na}})},La.outline=function(){return{type:"Polygon",coordinates:[ea(Bt).concat(Ca(en).slice(1),ea(Gt).reverse().slice(1),Ca(mn).reverse().slice(1))]}},La.extent=function(na){return arguments.length?La.extentMajor(na).extentMinor(na):La.extentMinor()},La.extentMajor=function(na){return arguments.length?(Bt=+na[0][0],Gt=+na[1][0],mn=+na[0][1],en=+na[1][1],Bt>Gt&&(na=Bt,Bt=Gt,Gt=na),mn>en&&(na=mn,mn=en,en=na),La.precision(Pa)):[[Bt,mn],[Gt,en]]},La.extentMinor=function(na){return arguments.length?(yt=+na[0][0],Je=+na[1][0],Ur=+na[0][1],mr=+na[1][1],yt>Je&&(na=yt,yt=Je,Je=na),Ur>mr&&(na=Ur,Ur=mr,mr=na),La.precision(Pa)):[[yt,Ur],[Je,mr]]},La.step=function(na){return arguments.length?La.stepMajor(na).stepMinor(na):La.stepMinor()},La.stepMajor=function(na){return arguments.length?(tn=+na[0],nn=+na[1],La):[tn,nn]},La.stepMinor=function(na){return arguments.length?(An=+na[0],Vn=+na[1],La):[An,Vn]},La.precision=function(na){return arguments.length?(Pa=+na,dn=Nl(Ur,mr,90),Wr=du(yt,Je,Pa),ea=Nl(mn,en,90),Ca=du(Bt,Gt,Pa),La):Pa},La.extentMajor([[-180,-90+o],[180,90-o]]).extentMinor([[-180,-80-o],[180,80+o]])}function al(){return Kl()()}function co(Je,yt){var Gt=Je[0]*v,Bt=Je[1]*v,mr=yt[0]*v,Ur=yt[1]*v,en=g(Bt),mn=y(Bt),An=g(Ur),Vn=y(Ur),tn=en*g(Gt),nn=en*y(Gt),dn=An*g(mr),Wr=An*y(mr),ea=2*A(T(P(Ur-Bt)+en*An*P(mr-Gt))),Ca=y(ea),Pa=ea?function(La){var Va=y(La*=ea)/Ca,na=y(ea-La)/Ca,zn=na*tn+Va*dn,Ja=na*nn+Va*Wr,pi=na*mn+Va*Vn;return[x(Ja,zn)*h,x(pi,T(zn*zn+Ja*Ja))*h]}:function(){return[Gt*h,Bt*h]};return Pa.distance=ea,Pa}function Ul(Je){return Je}var Ls=r(),il=r(),_c,Os,Vu,kf,Jl={point:D,lineStart:D,lineEnd:D,polygonStart:function(){Jl.lineStart=th,Jl.lineEnd=Rd},polygonEnd:function(){Jl.lineStart=Jl.lineEnd=Jl.point=D,Ls.add(d(il)),il.reset()},result:function(){var Je=Ls/2;return Ls.reset(),Je}};function th(){Jl.point=wc}function wc(Je,yt){Jl.point=Cf,_c=Vu=Je,Os=kf=yt}function Cf(Je,yt){il.add(kf*Je-Vu*yt),Vu=Je,kf=yt}function Rd(){Cf(_c,Os)}var ol=1/0,af=ol,ec=-ol,Tc=ec,vu={point:jc,lineStart:D,lineEnd:D,polygonStart:D,polygonEnd:D,result:function(){var Je=[[ol,af],[ec,Tc]];return ec=Tc=-(af=ol=1/0),Je}};function jc(Je,yt){Jeec&&(ec=Je),ytTc&&(Tc=yt)}var Lf=0,tc=0,Lh=0,of=0,Ff=0,Pf=0,rh=0,Fh=0,pu=0,gu,mu,Ql,as,fo={point:Ns,lineStart:ku,lineEnd:is,polygonStart:function(){fo.lineStart=Xh,fo.lineEnd=Wi},polygonEnd:function(){fo.point=Ns,fo.lineStart=ku,fo.lineEnd=is},result:function(){var Je=pu?[rh/pu,Fh/pu]:Pf?[of/Pf,Ff/Pf]:Lh?[Lf/Lh,tc/Lh]:[NaN,NaN];return Lf=tc=Lh=of=Ff=Pf=rh=Fh=pu=0,Je}};function Ns(Je,yt){Lf+=Je,tc+=yt,++Lh}function ku(){fo.point=rc}function rc(Je,yt){fo.point=sf,Ns(Ql=Je,as=yt)}function sf(Je,yt){var Gt=Je-Ql,Bt=yt-as,mr=T(Gt*Gt+Bt*Bt);of+=mr*(Ql+Je)/2,Ff+=mr*(as+yt)/2,Pf+=mr,Ns(Ql=Je,as=yt)}function is(){fo.point=Ns}function Xh(){fo.point=Zh}function Wi(){so(gu,mu)}function Zh(Je,yt){fo.point=so,Ns(gu=Ql=Je,mu=as=yt)}function so(Je,yt){var Gt=Je-Ql,Bt=yt-as,mr=T(Gt*Gt+Bt*Bt);of+=mr*(Ql+Je)/2,Ff+=mr*(as+yt)/2,Pf+=mr,mr=as*Je-Ql*yt,rh+=mr*(Ql+Je),Fh+=mr*(as+yt),pu+=mr*3,Ns(Ql=Je,as=yt)}function ei(Je){this._context=Je}ei.prototype={_radius:4.5,pointRadius:function(Je){return this._radius=Je,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(Je,yt){switch(this._point){case 0:{this._context.moveTo(Je,yt),this._point=1;break}case 1:{this._context.lineTo(Je,yt);break}default:{this._context.moveTo(Je+this._radius,yt),this._context.arc(Je,yt,this._radius,0,f);break}}},result:D};var nc=r(),Wc,_l,nh,Cu,Ac,Us={point:D,lineStart:function(){Us.point=ah},lineEnd:function(){Wc&&Df(_l,nh),Us.point=D},polygonStart:function(){Wc=!0},polygonEnd:function(){Wc=null},result:function(){var Je=+nc;return nc.reset(),Je}};function ah(Je,yt){Us.point=Df,_l=Cu=Je,nh=Ac=yt}function Df(Je,yt){Cu-=Je,Ac-=yt,nc.add(T(Cu*Cu+Ac*Ac)),Cu=Je,Ac=yt}function Mc(){this._string=[]}Mc.prototype={_radius:4.5,_circle:Sc(4.5),pointRadius:function(Je){return(Je=+Je)!==this._radius&&(this._radius=Je,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(Je,yt){switch(this._point){case 0:{this._string.push("M",Je,",",yt),this._point=1;break}case 1:{this._string.push("L",Je,",",yt);break}default:{this._circle==null&&(this._circle=Sc(this._radius)),this._string.push("M",Je,",",yt,this._circle);break}}},result:function(){if(this._string.length){var Je=this._string.join("");return this._string=[],Je}else return null}};function Sc(Je){return"m0,"+Je+"a"+Je+","+Je+" 0 1,1 0,"+-2*Je+"a"+Je+","+Je+" 0 1,1 0,"+2*Je+"z"}function Rf(Je,yt){var Gt=4.5,Bt,mr;function Ur(en){return en&&(typeof Gt=="function"&&mr.pointRadius(+Gt.apply(this,arguments)),B(en,Bt(mr))),mr.result()}return Ur.area=function(en){return B(en,Bt(Jl)),Jl.result()},Ur.measure=function(en){return B(en,Bt(Us)),Us.result()},Ur.bounds=function(en){return B(en,Bt(vu)),vu.result()},Ur.centroid=function(en){return B(en,Bt(fo)),fo.result()},Ur.projection=function(en){return arguments.length?(Bt=en==null?(Je=null,Ul):(Je=en).stream,Ur):Je},Ur.context=function(en){return arguments.length?(mr=en==null?(yt=null,new Mc):new ei(yt=en),typeof Gt!="function"&&mr.pointRadius(Gt),Ur):yt},Ur.pointRadius=function(en){return arguments.length?(Gt=typeof en=="function"?en:(mr.pointRadius(+en),+en),Ur):Gt},Ur.projection(Je).context(yt)}function If(Je){return{stream:eu(Je)}}function eu(Je){return function(yt){var Gt=new lf;for(var Bt in Je)Gt[Bt]=Je[Bt];return Gt.stream=yt,Gt}}function lf(){}lf.prototype={constructor:lf,point:function(Je,yt){this.stream.point(Je,yt)},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 tu(Je,yt,Gt){var Bt=Je.clipExtent&&Je.clipExtent();return Je.scale(150).translate([0,0]),Bt!=null&&Je.clipExtent(null),B(Gt,Je.stream(vu)),yt(vu.result()),Bt!=null&&Je.clipExtent(Bt),Je}function Ec(Je,yt,Gt){return tu(Je,function(Bt){var mr=yt[1][0]-yt[0][0],Ur=yt[1][1]-yt[0][1],en=Math.min(mr/(Bt[1][0]-Bt[0][0]),Ur/(Bt[1][1]-Bt[0][1])),mn=+yt[0][0]+(mr-en*(Bt[1][0]+Bt[0][0]))/2,An=+yt[0][1]+(Ur-en*(Bt[1][1]+Bt[0][1]))/2;Je.scale(150*en).translate([mn,An])},Gt)}function bs(Je,yt,Gt){return Ec(Je,[[0,0],yt],Gt)}function kc(Je,yt,Gt){return tu(Je,function(Bt){var mr=+yt,Ur=mr/(Bt[1][0]-Bt[0][0]),en=(mr-Ur*(Bt[1][0]+Bt[0][0]))/2,mn=-Ur*Bt[0][1];Je.scale(150*Ur).translate([en,mn])},Gt)}function Gu(Je,yt,Gt){return tu(Je,function(Bt){var mr=+yt,Ur=mr/(Bt[1][1]-Bt[0][1]),en=-Ur*Bt[0][0],mn=(mr-Ur*(Bt[1][1]+Bt[0][1]))/2;Je.scale(150*Ur).translate([en,mn])},Gt)}var po=16,uf=g(30*v);function $h(Je,yt){return+yt?ac(Je,yt):ih(Je)}function ih(Je){return eu({point:function(yt,Gt){yt=Je(yt,Gt),this.stream.point(yt[0],yt[1])}})}function ac(Je,yt){function Gt(Bt,mr,Ur,en,mn,An,Vn,tn,nn,dn,Wr,ea,Ca,Pa){var La=Vn-Bt,Va=tn-mr,na=La*La+Va*Va;if(na>4*yt&&Ca--){var zn=en+dn,Ja=mn+Wr,pi=An+ea,ji=T(zn*zn+Ja*Ja+pi*pi),Ao=A(pi/=ji),Qi=d(d(pi)-1)yt||d((La*cs+Va*Mo)/na-.5)>.3||en*dn+mn*Wr+An*ea2?ya[2]%360*v:0,cs()):[mn*h,An*h,Vn*h]},Vi.angle=function(ya){return arguments.length?(nn=ya%360*v,cs()):nn*h},Vi.reflectX=function(ya){return arguments.length?(dn=ya?-1:1,cs()):dn<0},Vi.reflectY=function(ya){return arguments.length?(Wr=ya?-1:1,cs()):Wr<0},Vi.precision=function(ya){return arguments.length?(pi=$h(ji,Ja=ya*ya),Mo()):T(Ja)},Vi.fitExtent=function(ya,ho){return Ec(Vi,ya,ho)},Vi.fitSize=function(ya,ho){return bs(Vi,ya,ho)},Vi.fitWidth=function(ya,ho){return kc(Vi,ya,ho)},Vi.fitHeight=function(ya,ho){return Gu(Vi,ya,ho)};function cs(){var ya=_s(Gt,0,0,dn,Wr,nn).apply(null,yt(Ur,en)),ho=(nn?_s:Kh)(Gt,Bt-ya[0],mr-ya[1],dn,Wr,nn);return tn=_o(mn,An,Vn),ji=Ti(yt,ho),Ao=Ti(tn,ji),pi=$h(ji,Ja),Mo()}function Mo(){return Qi=zo=null,Vi}return function(){return yt=Je.apply(this,arguments),Vi.invert=yt.invert&&Js,cs()}}function Ko(Je){var yt=0,Gt=l/3,Bt=sh(Je),mr=Bt(yt,Gt);return mr.parallels=function(Ur){return arguments.length?Bt(yt=Ur[0]*v,Gt=Ur[1]*v):[yt*h,Gt*h]},mr}function Hu(Je){var yt=g(Je);function Gt(Bt,mr){return[Bt*yt,y(mr)/yt]}return Gt.invert=function(Bt,mr){return[Bt/yt,A(mr*yt)]},Gt}function Pl(Je,yt){var Gt=y(Je),Bt=(Gt+y(yt))/2;if(d(Bt)=.12&&Pa<.234&&Ca>=-.425&&Ca<-.214?mr:Pa>=.166&&Pa<.234&&Ca>=-.214&&Ca<-.115?en:Gt).invert(dn)},tn.stream=function(dn){return Je&&yt===dn?Je:Je=zf([Gt.stream(yt=dn),mr.stream(dn),en.stream(dn)])},tn.precision=function(dn){return arguments.length?(Gt.precision(dn),mr.precision(dn),en.precision(dn),nn()):Gt.precision()},tn.scale=function(dn){return arguments.length?(Gt.scale(dn),mr.scale(dn*.35),en.scale(dn),tn.translate(Gt.translate())):Gt.scale()},tn.translate=function(dn){if(!arguments.length)return Gt.translate();var Wr=Gt.scale(),ea=+dn[0],Ca=+dn[1];return Bt=Gt.translate(dn).clipExtent([[ea-.455*Wr,Ca-.238*Wr],[ea+.455*Wr,Ca+.238*Wr]]).stream(Vn),Ur=mr.translate([ea-.307*Wr,Ca+.201*Wr]).clipExtent([[ea-.425*Wr+o,Ca+.12*Wr+o],[ea-.214*Wr-o,Ca+.234*Wr-o]]).stream(Vn),mn=en.translate([ea-.205*Wr,Ca+.212*Wr]).clipExtent([[ea-.214*Wr+o,Ca+.166*Wr+o],[ea-.115*Wr-o,Ca+.234*Wr-o]]).stream(Vn),nn()},tn.fitExtent=function(dn,Wr){return Ec(tn,dn,Wr)},tn.fitSize=function(dn,Wr){return bs(tn,dn,Wr)},tn.fitWidth=function(dn,Wr){return kc(tn,dn,Wr)},tn.fitHeight=function(dn,Wr){return Gu(tn,dn,Wr)};function nn(){return Je=yt=null,tn}return tn.scale(1070)}function yu(Je){return function(yt,Gt){var Bt=g(yt),mr=g(Gt),Ur=Je(Bt*mr);return[Ur*mr*y(yt),Ur*y(Gt)]}}function ju(Je){return function(yt,Gt){var Bt=T(yt*yt+Gt*Gt),mr=Je(Bt),Ur=y(mr),en=g(mr);return[x(yt*Ur,Bt*en),A(Bt&&Gt*Ur/Bt)]}}var Lu=yu(function(Je){return T(2/(1+Je))});Lu.invert=ju(function(Je){return 2*A(Je/2)});function Id(){return ru(Lu).scale(124.75).clipAngle(180-.001)}var Xc=yu(function(Je){return(Je=C(Je))&&Je/y(Je)});Xc.invert=ju(function(Je){return Je});function Jh(){return ru(Xc).scale(79.4188).clipAngle(180-.001)}function Vl(Je,yt){return[Je,w(p((u+yt)/2))]}Vl.invert=function(Je,yt){return[Je,2*m(M(yt))-u]};function Cc(){return Fs(Vl).scale(961/f)}function Fs(Je){var yt=ru(Je),Gt=yt.center,Bt=yt.scale,mr=yt.translate,Ur=yt.clipExtent,en=null,mn,An,Vn;yt.scale=function(nn){return arguments.length?(Bt(nn),tn()):Bt()},yt.translate=function(nn){return arguments.length?(mr(nn),tn()):mr()},yt.center=function(nn){return arguments.length?(Gt(nn),tn()):Gt()},yt.clipExtent=function(nn){return arguments.length?(nn==null?en=mn=An=Vn=null:(en=+nn[0][0],mn=+nn[0][1],An=+nn[1][0],Vn=+nn[1][1]),tn()):en==null?null:[[en,mn],[An,Vn]]};function tn(){var nn=l*Bt(),dn=yt(Hi(yt.rotate()).invert([0,0]));return Ur(en==null?[[dn[0]-nn,dn[1]-nn],[dn[0]+nn,dn[1]+nn]]:Je===Vl?[[Math.max(dn[0]-nn,en),mn],[Math.min(dn[0]+nn,An),Vn]]:[[en,Math.max(dn[1]-nn,mn)],[An,Math.min(dn[1]+nn,Vn)]])}return tn()}function oc(Je){return p((u+Je)/2)}function xd(Je,yt){var Gt=g(Je),Bt=Je===yt?y(Je):w(Gt/g(yt))/w(oc(yt)/oc(Je)),mr=Gt*k(oc(Je),Bt)/Bt;if(!Bt)return Vl;function Ur(en,mn){mr>0?mn<-u+o&&(mn=-u+o):mn>u-o&&(mn=u-o);var An=mr/k(oc(mn),Bt);return[An*y(Bt*en),mr-An*g(Bt*en)]}return Ur.invert=function(en,mn){var An=mr-mn,Vn=S(Bt)*T(en*en+An*An),tn=x(en,d(An))*S(An);return An*Bt<0&&(tn-=l*S(en)*S(An)),[tn/Bt,2*m(k(mr/Vn,1/Bt))-u]},Ur}function qf(){return Ko(xd).scale(109.5).parallels([30,30])}function Lo(Je,yt){return[Je,yt]}Lo.invert=Lo;function wl(){return ru(Lo).scale(152.63)}function Dl(Je,yt){var Gt=g(Je),Bt=Je===yt?y(Je):(Gt-g(yt))/(yt-Je),mr=Gt/Bt+Je;if(d(Bt)o&&--Bt>0);return[Je/(.8707+(Ur=Gt*Gt)*(-.131979+Ur*(-.013791+Ur*Ur*Ur*(.003971-.001529*Ur)))),Gt]};function df(){return ru(ch).scale(175.295)}function sl(Je,yt){return[g(yt)*y(Je),y(yt)]}sl.invert=ju(A);function Fu(){return ru(sl).scale(249.5).clipAngle(90+o)}function fh(Je,yt){var Gt=g(yt),Bt=1+g(Je)*Gt;return[Gt*y(Je)/Bt,y(yt)/Bt]}fh.invert=ju(function(Je){return 2*m(Je)});function ed(){return ru(fh).scale(250).clipAngle(142)}function vf(Je,yt){return[w(p((u+yt)/2)),-Je]}vf.invert=function(Je,yt){return[-yt,2*m(M(Je))-u]};function Wu(){var Je=Fs(vf),yt=Je.center,Gt=Je.rotate;return Je.center=function(Bt){return arguments.length?yt([-Bt[1],Bt[0]]):(Bt=yt(),[Bt[1],-Bt[0]])},Je.rotate=function(Bt){return arguments.length?Gt([Bt[0],Bt[1],Bt.length>2?Bt[2]+90:90]):(Bt=Gt(),[Bt[0],Bt[1],Bt[2]-90])},Gt([0,0,90]).scale(159.155)}e.geoAlbers=Yc,e.geoAlbersUsa=lh,e.geoArea=ye,e.geoAzimuthalEqualArea=Id,e.geoAzimuthalEqualAreaRaw=Lu,e.geoAzimuthalEquidistant=Jh,e.geoAzimuthalEquidistantRaw=Xc,e.geoBounds=Te,e.geoCentroid=no,e.geoCircle=Zo,e.geoClipAntimeridian=xr,e.geoClipCircle=Rn,e.geoClipExtent=Ia,e.geoClipRectangle=ba,e.geoConicConformal=qf,e.geoConicConformalRaw=xd,e.geoConicEqualArea=ic,e.geoConicEqualAreaRaw=Pl,e.geoConicEquidistant=Bf,e.geoConicEquidistantRaw=Dl,e.geoContains=Cs,e.geoDistance=ks,e.geoEqualEarth=Uf,e.geoEqualEarthRaw=Nf,e.geoEquirectangular=wl,e.geoEquirectangularRaw=Lo,e.geoGnomonic=Qh,e.geoGnomonicRaw=uh,e.geoGraticule=Kl,e.geoGraticule10=al,e.geoIdentity=hf,e.geoInterpolate=co,e.geoLength=Es,e.geoMercator=Cc,e.geoMercatorRaw=Vl,e.geoNaturalEarth1=df,e.geoNaturalEarth1Raw=ch,e.geoOrthographic=Fu,e.geoOrthographicRaw=sl,e.geoPath=Rf,e.geoProjection=ru,e.geoProjectionMutator=sh,e.geoRotation=Hi,e.geoStereographic=ed,e.geoStereographicRaw=fh,e.geoStream=B,e.geoTransform=If,e.geoTransverseMercator=Wu,e.geoTransverseMercatorRaw=vf,Object.defineProperty(e,"__esModule",{value:!0})}))});var XLe=ne((evr,YLe)=>{"use strict";var WLe={alabama:"AL",alaska:"AK",arizona:"AZ",arkansas:"AR",california:"CA",colorado:"CO",connecticut:"CT",delaware:"DE","district of columbia":"DC",florida:"FL",georgia:"GA",hawaii:"HI",idaho:"ID",illinois:"IL",indiana:"IN",iowa:"IA",kansas:"KS",kentucky:"KY",louisiana:"LA",maine:"ME",maryland:"MD",massachusetts:"MA",michigan:"MI",minnesota:"MN",mississippi:"MS",missouri:"MO",montana:"MT",nebraska:"NE",nevada:"NV","new hampshire":"NH","new jersey":"NJ","new mexico":"NM","new york":"NY","north carolina":"NC","north dakota":"ND",ohio:"OH",oklahoma:"OK",oregon:"OR",pennsylvania:"PA","rhode island":"RI","south carolina":"SC","south dakota":"SD",tennessee:"TN",texas:"TX",utah:"UT",vermont:"VT",virginia:"VA",washington:"WA","washington dc":"DC","washington d.c.":"DC","west virginia":"WV",wisconsin:"WI",wyoming:"WY"},C9t=new Set(Object.values(WLe));YLe.exports={usaLocationAbbreviations:C9t,usaLocationList:WLe}});var ZLe={};E0(ZLe,{COUNTRIES_X:()=>L9t});var L9t,$Le=lo(()=>{"use strict";L9t=[{iso3:"XAC",iso2:"",m49:"",name:"Aksai Chin",aliases:[]},{iso3:"XAP",iso2:"",m49:"",name:"Arunachal Pradesh",aliases:[]},{iso3:"XBT",iso2:"",m49:"",name:"Bir Tawil",aliases:[]},{iso3:"XHT",iso2:"",m49:"",name:"Halaib Triangle",aliases:[]},{iso3:"XJK",iso2:"",m49:"",name:"Jammu and Kashmir",aliases:[]}]});var sg=ne((tvr,QLe)=>{"use strict";var F9t=Ea(),{COUNTRIES:P9t,createLookup:D9t}=ELe(),{area:R9t}=ULe(),{centroid:I9t}=GLe(),{coordAll:z9t}=R7(),{geoBounds:q9t}=O7(),B9t=F5(),_2=T1(),O9t=Lg(),N9t=m5(),N7=x4(),{usaLocationAbbreviations:U9t,usaLocationList:V9t}=XLe(),{COUNTRIES_X:G9t}=($Le(),vl(ZLe)),{lookupAlpha3:H9t}=D9t([...P9t,...G9t]),j9t={"ISO-3":B9t,"USA-states":Y9t,"country names":W9t};function W9t(e){let t=H9t(e);return t||(_2.log("Unrecognized country name: "+e+"."),!1)}function Y9t(e){e=e.trim();let t=U9t.has(e.toUpperCase())?e.toUpperCase():V9t[e.toLowerCase()];return t||(_2.log("Unrecognized US location: "+e+"."),!1)}function X9t(e,t,r){var a;if(!t||typeof t!="string")return!1;let n=j9t[e](t);if(n){let i;if(e==="USA-states"){i=[];for(let o of r)((a=o==null?void 0:o.properties)==null?void 0:a.gu)==="USA"&&i.push(o)}else i=r;for(let o of i)if(o.id===n)return o;_2.log(`Location with id ${n} does not have a matching topojson feature at this resolution.`)}return!1}var ZA=360;function DH(e){for(let t=0;t0&&e[t+1][0]<0)return t;return null}function Z9t(e){var t=e.geometry,r=t.coordinates,n=e.id,a=[],i,o,s,l;switch(n==="RUS"||n==="FJI"?i=function(u){var c;if(DH(u)===null)c=u;else for(c=new Array(u.length),l=0;lc?f[h++]=[u[l][0]+ZA,u[l][1]]:l===c?(f[h++]=u[l],f[h++]=[u[l][0],-90]):f[h++]=u[l];var v=N7.tester(f);v.pts.pop(),a.push(v)}:i=function(u){a.push(N7.tester(u))},t.type){case"MultiPolygon":for(o=0;o0?d.properties.ct=K9t(d):d.properties.ct=[NaN,NaN],h.fIn=c,h.fOut=d,a.push(d)}else _2.log(["Location",h.loc,"does not have a valid GeoJSON geometry.","Traces with locationmode *geojson-id* only support","*Polygon* and *MultiPolygon* geometries."].join(" "))}delete n[f]}switch(r.type){case"FeatureCollection":var l=r.features;for(i=0;ia&&(a=s,r=o)}else r=t;return I9t(r).geometry.coordinates}function J9t(e){var t=window.PlotlyGeoAssets||{},r=[];function n(l){return new Promise(function(u,c){F9t.json(l,function(f,h){if(f){delete t[l];var v=f.status===404?'GeoJSON at URL "'+l+'" does not exist.':"Unexpected error while fetching from "+l;return c(new Error(v))}return t[l]=h,u(h)})})}function a(l){return new Promise(function(u,c){var f=0,h=setInterval(function(){if(t[l]&&t[l]!=="pending")return clearInterval(h),u(t[l]);if(f>100)return clearInterval(h),c("Unexpected error while fetching from "+l);f++},50)})}for(var i=0;is-l);if(t.length<2)return null;let r=t.length,n=t[r-1]-t[0];if(n>=360)return null;let a=-1/0,i=-1;for(let s=0;sa&&(a=l,i=s)}let o=360-n;return a<=o?null:[t[i+1],t[i]+ZA]}function JLe([e,t]){return[e,e>t?t+ZA:t]}QLe.exports={locationToFeature:X9t,feature2polygons:Z9t,getTraceGeojson:KLe,extractTraceFeature:$9t,fetchTraceGeoData:J9t,computeBbox:Q9t,doesCrossAntiMeridian:DH,getFitboundsLonRange:eFt,unwrapLonRange:JLe,ANTIMERIDIAN_LON_SHIFT:ZA}});var RH=ne((rvr,r7e)=>{"use strict";var tFt=Ea(),rFt=li(),e7e=_a(),t7e=Md(),nFt=t7e.stylePoints,aFt=t7e.styleText;r7e.exports=function(t,r){r&&iFt(t,r)};function iFt(e,t){var r=t[0].trace,n=t[0].node3;n.style("opacity",t[0].trace.opacity),nFt(n,r,e),aFt(n,r,e),n.selectAll("path.js-line").style("fill","none").each(function(a){var i=tFt.select(this),o=a.trace,s=o.line||{};i.call(e7e.stroke,s.color).call(rFt.dashLine,s.dash||"",s.width||0),o.fill!=="none"&&i.call(e7e.fill,o.fillcolor)})}});var BH=ne((nvr,i7e)=>{"use strict";var n7e=Ea(),V7=Zt(),oFt=C7().getTopojsonFeatures,IH=jA(),U7=sg(),a7e=I0().findExtremes,qH=uo().BADNUM,sFt=Qv().calcMarkerSize,zH=ml(),lFt=RH();function uFt(e,t,r){var n=t.layers.frontplot.select(".scatterlayer"),a=V7.makeTraceGroups(n,r,"trace scattergeo");function i(o,s){o.lonlat[0]===qH&&n7e.select(s).remove()}a.selectAll("*").remove(),a.each(function(o){var s=n7e.select(this),l=o[0].trace;if(zH.hasLines(l)||l.fill!=="none"){var u=IH.calcTraceToLineCoords(o),c=l.fill!=="none"?IH.makePolygon(u):IH.makeLine(u);s.selectAll("path.js-line").data([{geojson:c,trace:l}]).enter().append("path").classed("js-line",!0).style("stroke-miterlimit",2)}zH.hasMarkers(l)&&s.selectAll("path.point").data(V7.identity).enter().append("path").classed("point",!0).each(function(f){i(f,this)}),zH.hasText(l)&&s.selectAll("g").data(V7.identity).enter().append("g").append("text").each(function(f){i(f,this)}),lFt(e,o)})}function cFt(e,t){var r=e[0].trace,n=t[r.geo],a=n._subplot,i=r._length,o,s;if(V7.isArrayOrTypedArray(r.locations)){var l=r.locationmode,u=l==="geojson-id"?U7.extractTraceFeature(e):oFt(r,a.topojson);for(o=0;o{"use strict";var fFt=cu(),hFt=uo().BADNUM,dFt=y_(),vFt=Zt().fillText,pFt=rw();o7e.exports=function(t,r,n){var a=t.cd,i=a[0].trace,o=t.xa,s=t.ya,l=t.subplot,u=l.projection.isLonLatOverEdges,c=l.project;function f(E){var M=E.lonlat;if(M[0]===hFt||u(M))return 1/0;var w=c(M),k=c([r,n]),y=Math.abs(w[0]-k[0]),S=Math.abs(w[1]-k[1]),T=Math.max(3,E.mrc||0);return Math.max(Math.sqrt(y*y+S*S)-T,1-3/T)}if(fFt.getClosest(a,f,t),t.index!==!1){var h=a[t.index],v=h.lonlat,d=[o.c2p(v),s.c2p(v)],m=h.mrc||1;t.x0=d[0]-m,t.x1=d[0]+m,t.y0=d[1]-m,t.y1=d[1]+m,t.loc=h.loc,t.lon=v[0],t.lat=v[1];var x={};x[i.geo]={_subplot:l};var g=i._module.formatLabels(h,i,x);return t.lonLabel=g.lonLabel,t.latLabel=g.latLabel,t.color=dFt(i,h),t.extraText=gFt(i,h,t,a[0].t.labels),t.hovertemplate=i.hovertemplate,[t]}};function gFt(e,t,r,n){if(e.hovertemplate)return;var a=t.hi||e.hoverinfo,i=a==="all"?pFt.hoverinfo.flags:a.split("+"),o=i.indexOf("location")!==-1&&Array.isArray(e.locations),s=i.indexOf("lon")!==-1,l=i.indexOf("lat")!==-1,u=i.indexOf("text")!==-1,c=[];function f(h){return h+"\xB0"}return o?c.push(t.loc):s&&l?c.push("("+f(r.latLabel)+", "+f(r.lonLabel)+")"):s?c.push(n.lon+f(r.lonLabel)):l&&c.push(n.lat+f(r.latLabel)),u&&vFt(t,e,c),c.join("
")}});var u7e=ne((ivr,l7e)=>{"use strict";l7e.exports=function(t,r,n,a,i){t.lon=r.lon,t.lat=r.lat,t.location=r.loc?r.loc:null;var o=a[i];return o.fIn&&o.fIn.properties&&(t.properties=o.fIn.properties),t}});var h7e=ne((ovr,f7e)=>{"use strict";var c7e=ml(),mFt=uo().BADNUM;f7e.exports=function(t,r){var n=t.cd,a=t.xaxis,i=t.yaxis,o=[],s=n[0].trace,l,u,c,f,h,v=!c7e.hasMarkers(s)&&!c7e.hasText(s);if(v)return[];if(r===!1)for(h=0;h{(function(e,t){typeof G7=="object"&&typeof d7e!="undefined"?t(G7,O7(),XA()):t(e.d3=e.d3||{},e.d3,e.d3)})(G7,(function(e,t,r){"use strict";var n=Math.abs,a=Math.atan,i=Math.atan2,o=Math.cos,s=Math.exp,l=Math.floor,u=Math.log,c=Math.max,f=Math.min,h=Math.pow,v=Math.round,d=Math.sign||function(Q){return Q>0?1:Q<0?-1:0},m=Math.sin,x=Math.tan,g=1e-6,E=1e-12,M=Math.PI,w=M/2,k=M/4,y=Math.SQRT1_2,S=q(2),T=q(M),p=M*2,C=180/M,A=M/180;function P(Q){return Q?Q/Math.sin(Q):1}function D(Q){return Q>1?w:Q<-1?-w:Math.asin(Q)}function z(Q){return Q>1?0:Q<-1?M:Math.acos(Q)}function q(Q){return Q>0?Math.sqrt(Q):0}function U(Q){return Q=s(2*Q),(Q-1)/(Q+1)}function O(Q){return(s(Q)-s(-Q))/2}function R(Q){return(s(Q)+s(-Q))/2}function B(Q){return u(Q+q(Q*Q+1))}function Y(Q){return u(Q+q(Q*Q-1))}function X(Q){var ae=x(Q/2),ve=2*u(o(Q/2))/(ae*ae);function be(De,Se){var Be=o(De),ut=o(Se),gt=m(Se),Mt=ut*Be,Ft=-((1-Mt?u((1+Mt)/2)/(1-Mt):-.5)+ve/(1+Mt));return[Ft*ut*m(De),Ft*gt]}return be.invert=function(De,Se){var Be=q(De*De+Se*Se),ut=-Q/2,gt=50,Mt;if(!Be)return[0,0];do{var Ft=ut/2,Ot=o(Ft),er=m(Ft),sr=er/Ot,wr=-u(n(Ot));ut-=Mt=(2/sr*wr-ve*sr-Be)/(-wr/(er*er)+1-ve/(2*Ot*Ot))*(Ot<0?.7:1)}while(n(Mt)>g&&--gt>0);var Gr=m(ut);return[i(De*Gr,Be*o(ut)),D(Se*Gr/Be)]},be}function te(){var Q=w,ae=t.geoProjectionMutator(X),ve=ae(Q);return ve.radius=function(be){return arguments.length?ae(Q=be*A):Q*C},ve.scale(179.976).clipAngle(147)}function se(Q,ae){var ve=o(ae),be=P(z(ve*o(Q/=2)));return[2*ve*m(Q)*be,m(ae)*be]}se.invert=function(Q,ae){if(!(Q*Q+4*ae*ae>M*M+g)){var ve=Q,be=ae,De=25;do{var Se=m(ve),Be=m(ve/2),ut=o(ve/2),gt=m(be),Mt=o(be),Ft=m(2*be),Ot=gt*gt,er=Mt*Mt,sr=Be*Be,wr=1-er*ut*ut,Gr=wr?z(Mt*ut)*q(pn=1/wr):pn=0,pn,cn=2*Gr*Mt*Be-Q,kn=Gr*gt-ae,ta=pn*(er*sr+Gr*Mt*ut*Ot),ka=pn*(.5*Se*Ft-Gr*2*gt*Be),va=pn*.25*(Ft*Be-Gr*gt*er*Se),Xa=pn*(Ot*ut+Gr*sr*Mt),Ai=ka*va-Xa*ta;if(!Ai)break;var di=(kn*ka-cn*Xa)/Ai,xo=(cn*va-kn*ta)/Ai;ve-=di,be-=xo}while((n(di)>g||n(xo)>g)&&--De>0);return[ve,be]}};function ue(){return t.geoProjection(se).scale(152.63)}function re(Q){var ae=m(Q),ve=o(Q),be=Q>=0?1:-1,De=x(be*Q),Se=(1+ae-ve)/2;function Be(ut,gt){var Mt=o(gt),Ft=o(ut/=2);return[(1+Mt)*m(ut),(be*gt>-i(Ft,De)-.001?0:-be*10)+Se+m(gt)*ve-(1+Mt)*ae*Ft]}return Be.invert=function(ut,gt){var Mt=0,Ft=0,Ot=50;do{var er=o(Mt),sr=m(Mt),wr=o(Ft),Gr=m(Ft),pn=1+wr,cn=pn*sr-ut,kn=Se+Gr*ve-pn*ae*er-gt,ta=pn*er/2,ka=-sr*Gr,va=ae*pn*sr/2,Xa=ve*wr+ae*er*Gr,Ai=ka*va-Xa*ta,di=(kn*ka-cn*Xa)/Ai/2,xo=(cn*va-kn*ta)/Ai;n(xo)>2&&(xo/=2),Mt-=di,Ft-=xo}while((n(di)>g||n(xo)>g)&&--Ot>0);return be*Ft>-i(o(Mt),De)-.001?[Mt*2,Ft]:null},Be}function j(){var Q=20*A,ae=Q>=0?1:-1,ve=x(ae*Q),be=t.geoProjectionMutator(re),De=be(Q),Se=De.stream;return De.parallel=function(Be){return arguments.length?(ve=x((ae=(Q=Be*A)>=0?1:-1)*Q),be(Q)):Q*C},De.stream=function(Be){var ut=De.rotate(),gt=Se(Be),Mt=(De.rotate([0,0]),Se(Be)),Ft=De.precision();return De.rotate(ut),gt.sphere=function(){Mt.polygonStart(),Mt.lineStart();for(var Ot=ae*-180;ae*Ot<180;Ot+=ae*90)Mt.point(Ot,ae*90);if(Q)for(;ae*(Ot-=3*ae*Ft)>=-180;)Mt.point(Ot,ae*-i(o(Ot*A/2),ve)*C);Mt.lineEnd(),Mt.polygonEnd()},gt},De.scale(218.695).center([0,28.0974])}function fe(Q,ae){var ve=x(ae/2),be=q(1-ve*ve),De=1+be*o(Q/=2),Se=m(Q)*be/De,Be=ve/De,ut=Se*Se,gt=Be*Be;return[4/3*Se*(3+ut-3*gt),4/3*Be*(3+3*ut-gt)]}fe.invert=function(Q,ae){if(Q*=3/8,ae*=3/8,!Q&&n(ae)>1)return null;var ve=Q*Q,be=ae*ae,De=1+ve+be,Se=q((De-q(De*De-4*ae*ae))/2),Be=D(Se)/3,ut=Se?Y(n(ae/Se))/3:B(n(Q))/3,gt=o(Be),Mt=R(ut),Ft=Mt*Mt-gt*gt;return[d(Q)*2*i(O(ut)*gt,.25-Ft),d(ae)*2*i(Mt*m(Be),.25+Ft)]};function ce(){return t.geoProjection(fe).scale(66.1603)}var oe=q(8),we=u(1+S);function he(Q,ae){var ve=n(ae);return veE&&--be>0);return[Q/(o(ve)*(oe-1/m(ve))),d(ae)*ve]};function ye(){return t.geoProjection(he).scale(112.314)}function Pe(Q){var ae=2*M/Q;function ve(be,De){var Se=t.geoAzimuthalEquidistantRaw(be,De);if(n(be)>w){var Be=i(Se[1],Se[0]),ut=q(Se[0]*Se[0]+Se[1]*Se[1]),gt=ae*v((Be-w)/ae)+w,Mt=i(m(Be-=gt),2-o(Be));Be=gt+D(M/ut*m(Mt))-Mt,Se[0]=ut*o(Be),Se[1]=ut*m(Be)}return Se}return ve.invert=function(be,De){var Se=q(be*be+De*De);if(Se>w){var Be=i(De,be),ut=ae*v((Be-w)/ae)+w,gt=Be>ut?-1:1,Mt=Se*o(ut-Be),Ft=1/x(gt*z((Mt-M)/q(M*(M-2*Mt)+Se*Se)));Be=ut+2*a((Ft+gt*q(Ft*Ft-3))/3),be=Se*o(Be),De=Se*m(Be)}return t.geoAzimuthalEquidistantRaw.invert(be,De)},ve}function le(){var Q=5,ae=t.geoProjectionMutator(Pe),ve=ae(Q),be=ve.stream,De=.01,Se=-o(De*A),Be=m(De*A);return ve.lobes=function(ut){return arguments.length?ae(Q=+ut):Q},ve.stream=function(ut){var gt=ve.rotate(),Mt=be(ut),Ft=(ve.rotate([0,0]),be(ut));return ve.rotate(gt),Mt.sphere=function(){Ft.polygonStart(),Ft.lineStart();for(var Ot=0,er=360/Q,sr=2*M/Q,wr=90-180/Q,Gr=w;Ot0&&n(De)>g);return be<0?NaN:ve}function Oe(Q,ae,ve){return ae===void 0&&(ae=40),ve===void 0&&(ve=E),function(be,De,Se,Be){var ut,gt,Mt;Se=Se===void 0?0:+Se,Be=Be===void 0?0:+Be;for(var Ft=0;Ftut){Se-=gt/=2,Be-=Mt/=2;continue}ut=wr;var Gr=(Se>0?-1:1)*ve,pn=(Be>0?-1:1)*ve,cn=Q(Se+Gr,Be),kn=Q(Se,Be+pn),ta=(cn[0]-Ot[0])/Gr,ka=(cn[1]-Ot[1])/Gr,va=(kn[0]-Ot[0])/pn,Xa=(kn[1]-Ot[1])/pn,Ai=Xa*ta-ka*va,di=(n(Ai)<.5?.5:1)/Ai;if(gt=(sr*va-er*Xa)*di,Mt=(er*ka-sr*ta)*di,Se+=gt,Be+=Mt,n(gt)0&&(ut[1]*=1+gt/1.5*ut[0]*ut[0]),ut}return be.invert=Oe(be),be}function mt(){return t.geoProjection(qe()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function lt(Q,ae){var ve=Q*m(ae),be=30,De;do ae-=De=(ae+m(ae)-ve)/(1+o(ae));while(n(De)>g&&--be>0);return ae/2}function Ie(Q,ae,ve){function be(De,Se){return[Q*De*o(Se=lt(ve,Se)),ae*m(Se)]}return be.invert=function(De,Se){return Se=D(Se/ae),[De/(Q*o(Se)),D((2*Se+m(2*Se))/ve)]},be}var de=Ie(S/w,S,M);function Ee(){return t.geoProjection(de).scale(169.529)}var Ue=2.00276,ge=1.11072;function Ge(Q,ae){var ve=lt(M,ae);return[Ue*Q/(1/o(ae)+ge/o(ve)),(ae+S*m(ve))/Ue]}Ge.invert=function(Q,ae){var ve=Ue*ae,be=ae<0?-k:k,De=25,Se,Be;do Be=ve-S*m(be),be-=Se=(m(2*be)+2*be-M*m(Be))/(2*o(2*be)+2+M*o(Be)*S*o(be));while(n(Se)>g&&--De>0);return Be=ve-S*m(be),[Q*(1/o(Be)+ge/o(be))/Ue,Be]};function tt(){return t.geoProjection(Ge).scale(160.857)}function ft(Q){var ae=0,ve=t.geoProjectionMutator(Q),be=ve(ae);return be.parallel=function(De){return arguments.length?ve(ae=De*A):ae*C},be}function He(Q,ae){return[Q*o(ae),ae]}He.invert=function(Q,ae){return[Q/o(ae),ae]};function Qe(){return t.geoProjection(He).scale(152.63)}function We(Q){if(!Q)return He;var ae=1/x(Q);function ve(be,De){var Se=ae+Q-De,Be=Se&&be*o(De)/Se;return[Se*m(Be),ae-Se*o(Be)]}return ve.invert=function(be,De){var Se=q(be*be+(De=ae-De)*De),Be=ae+Q-Se;return[Se/o(Be)*i(be,De),Be]},ve}function pt(){return ft(We).scale(123.082).center([0,26.1441]).parallel(45)}function kt(Q){function ae(ve,be){var De=w-be,Se=De&&ve*Q*m(De)/De;return[De*m(Se)/Q,w-De*o(Se)]}return ae.invert=function(ve,be){var De=ve*Q,Se=w-be,Be=q(De*De+Se*Se),ut=i(De,Se);return[(Be?Be/m(Be):1)*ut/Q,w-Be]},ae}function qt(){var Q=.5,ae=t.geoProjectionMutator(kt),ve=ae(Q);return ve.fraction=function(be){return arguments.length?ae(Q=+be):Q},ve.scale(158.837)}var Wt=Ie(1,4/M,M);function _r(){return t.geoProjection(Wt).scale(152.63)}function tr(Q,ae,ve,be,De,Se){var Be=o(Se),ut;if(n(Q)>1||n(Se)>1)ut=z(ve*De+ae*be*Be);else{var gt=m(Q/2),Mt=m(Se/2);ut=2*D(q(gt*gt+ae*be*Mt*Mt))}return n(ut)>g?[ut,i(be*m(Se),ae*De-ve*be*Be)]:[0,0]}function lr(Q,ae,ve){return z((Q*Q+ae*ae-ve*ve)/(2*Q*ae))}function Ye(Q){return Q-2*M*l((Q+M)/(2*M))}function Te(Q,ae,ve){for(var be=[[Q[0],Q[1],m(Q[1]),o(Q[1])],[ae[0],ae[1],m(ae[1]),o(ae[1])],[ve[0],ve[1],m(ve[1]),o(ve[1])]],De=be[2],Se,Be=0;Be<3;++Be,De=Se)Se=be[Be],De.v=tr(Se[1]-De[1],De[3],De[2],Se[3],Se[2],Se[0]-De[0]),De.point=[0,0];var ut=lr(be[0].v[0],be[2].v[0],be[1].v[0]),gt=lr(be[0].v[0],be[1].v[0],be[2].v[0]),Mt=M-ut;be[2].point[1]=0,be[0].point[0]=-(be[1].point[0]=be[0].v[0]/2);var Ft=[be[2].point[0]=be[0].point[0]+be[2].v[0]*o(ut),2*(be[0].point[1]=be[1].point[1]=be[2].v[0]*m(ut))];function Ot(er,sr){var wr=m(sr),Gr=o(sr),pn=new Array(3),cn;for(cn=0;cn<3;++cn){var kn=be[cn];if(pn[cn]=tr(sr-kn[1],kn[3],kn[2],Gr,wr,er-kn[0]),!pn[cn][0])return kn.point;pn[cn][1]=Ye(pn[cn][1]-kn.v[1])}var ta=Ft.slice();for(cn=0;cn<3;++cn){var ka=cn==2?0:cn+1,va=lr(be[cn].v[0],pn[cn][0],pn[ka][0]);pn[cn][1]<0&&(va=-va),cn?cn==1?(va=gt-va,ta[0]-=pn[cn][0]*o(va),ta[1]-=pn[cn][0]*m(va)):(va=Mt-va,ta[0]+=pn[cn][0]*o(va),ta[1]+=pn[cn][0]*m(va)):(ta[0]+=pn[cn][0]*o(va),ta[1]-=pn[cn][0]*m(va))}return ta[0]/=3,ta[1]/=3,ta}return Ot}function Fe(Q){return Q[0]*=A,Q[1]*=A,Q}function Ae(){return Re([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Re(Q,ae,ve){var be=t.geoCentroid({type:"MultiPoint",coordinates:[Q,ae,ve]}),De=[-be[0],-be[1]],Se=t.geoRotation(De),Be=Te(Fe(Se(Q)),Fe(Se(ae)),Fe(Se(ve)));Be.invert=Oe(Be);var ut=t.geoProjection(Be).rotate(De),gt=ut.center;return delete ut.rotate,ut.center=function(Mt){return arguments.length?gt(Se(Mt)):Se.invert(gt())},ut.clipAngle(90)}function Ze(Q,ae){var ve=q(1-m(ae));return[2/T*Q*ve,T*(1-ve)]}Ze.invert=function(Q,ae){var ve=(ve=ae/T-1)*ve;return[ve>0?Q*q(M/ve)/2:0,D(1-ve)]};function Ke(){return t.geoProjection(Ze).scale(95.6464).center([0,30])}function _t(Q){var ae=x(Q);function ve(be,De){return[be,(be?be/m(be):1)*(m(De)*o(be)-ae*o(De))]}return ve.invert=ae?function(be,De){be&&(De*=m(be)/be);var Se=o(be);return[be,2*i(q(Se*Se+ae*ae-De*De)-Se,ae-De)]}:function(be,De){return[be,D(be?De*x(be)/be:De)]},ve}function St(){return ft(_t).scale(249.828).clipAngle(90)}var Vt=q(3);function fr(Q,ae){return[Vt*Q*(2*o(2*ae/3)-1)/T,Vt*T*m(ae/3)]}fr.invert=function(Q,ae){var ve=3*D(ae/(Vt*T));return[T*Q/(Vt*(2*o(2*ve/3)-1)),ve]};function $t(){return t.geoProjection(fr).scale(156.19)}function gr(Q){var ae=o(Q);function ve(be,De){return[be*ae,m(De)/ae]}return ve.invert=function(be,De){return[be/ae,D(De*ae)]},ve}function Br(){return ft(gr).parallel(38.58).scale(195.044)}function Nr(Q){var ae=o(Q);function ve(be,De){return[be*ae,(1+ae)*x(De/2)]}return ve.invert=function(be,De){return[be/ae,a(De/(1+ae))*2]},ve}function Er(){return ft(Nr).scale(124.75)}function zr(Q,ae){var ve=q(8/(3*M));return[ve*Q*(1-n(ae)/M),ve*ae]}zr.invert=function(Q,ae){var ve=q(8/(3*M)),be=ae/ve;return[Q/(ve*(1-n(be)/M)),be]};function vn(){return t.geoProjection(zr).scale(165.664)}function Nn(Q,ae){var ve=q(4-3*m(n(ae)));return[2/q(6*M)*Q*ve,d(ae)*q(2*M/3)*(2-ve)]}Nn.invert=function(Q,ae){var ve=2-n(ae)/q(2*M/3);return[Q*q(6*M)/(2*ve),d(ae)*D((4-ve*ve)/3)]};function Xn(){return t.geoProjection(Nn).scale(165.664)}function Kn(Q,ae){var ve=q(M*(4+M));return[2/ve*Q*(1+q(1-4*ae*ae/(M*M))),4/ve*ae]}Kn.invert=function(Q,ae){var ve=q(M*(4+M))/2;return[Q*ve/(1+q(1-ae*ae*(4+M)/(4*M))),ae*ve/2]};function Qn(){return t.geoProjection(Kn).scale(180.739)}function un(Q,ae){var ve=(2+w)*m(ae);ae/=2;for(var be=0,De=1/0;be<10&&n(De)>g;be++){var Se=o(ae);ae-=De=(ae+m(ae)*(Se+2)-ve)/(2*Se*(1+Se))}return[2/q(M*(4+M))*Q*(1+o(ae)),2*q(M/(4+M))*m(ae)]}un.invert=function(Q,ae){var ve=ae*q((4+M)/M)/2,be=D(ve),De=o(be);return[Q/(2/q(M*(4+M))*(1+De)),D((be+ve*(De+2))/(2+w))]};function aa(){return t.geoProjection(un).scale(180.739)}function da(Q,ae){return[Q*(1+o(ae))/q(2+M),2*ae/q(2+M)]}da.invert=function(Q,ae){var ve=q(2+M),be=ae*ve/2;return[ve*Q/(1+o(be)),be]};function ua(){return t.geoProjection(da).scale(173.044)}function qa(Q,ae){for(var ve=(1+w)*m(ae),be=0,De=1/0;be<10&&n(De)>g;be++)ae-=De=(ae+m(ae)-ve)/(1+o(ae));return ve=q(2+M),[Q*(1+o(ae))/ve,2*ae/ve]}qa.invert=function(Q,ae){var ve=1+w,be=q(ve/2);return[Q*2*be/(1+o(ae*=be)),D((ae+m(ae))/ve)]};function ii(){return t.geoProjection(qa).scale(173.044)}var pa=3+2*S;function no(Q,ae){var ve=m(Q/=2),be=o(Q),De=q(o(ae)),Se=o(ae/=2),Be=m(ae)/(Se+S*be*De),ut=q(2/(1+Be*Be)),gt=q((S*Se+(be+ve)*De)/(S*Se+(be-ve)*De));return[pa*(ut*(gt-1/gt)-2*u(gt)),pa*(ut*Be*(gt+1/gt)-2*a(Be))]}no.invert=function(Q,ae){if(!(Se=fe.invert(Q/1.2,ae*1.065)))return null;var ve=Se[0],be=Se[1],De=20,Se;Q/=pa,ae/=pa;do{var Be=ve/2,ut=be/2,gt=m(Be),Mt=o(Be),Ft=m(ut),Ot=o(ut),er=o(be),sr=q(er),wr=Ft/(Ot+S*Mt*sr),Gr=wr*wr,pn=q(2/(1+Gr)),cn=S*Ot+(Mt+gt)*sr,kn=S*Ot+(Mt-gt)*sr,ta=cn/kn,ka=q(ta),va=ka-1/ka,Xa=ka+1/ka,Ai=pn*va-2*u(ka)-Q,di=pn*wr*Xa-2*a(wr)-ae,xo=Ft&&y*sr*gt*Gr/Ft,Xi=(S*Mt*Ot+sr)/(2*(Ot+S*Mt*sr)*(Ot+S*Mt*sr)*sr),Wo=-.5*wr*pn*pn*pn,fs=Wo*xo,ws=Wo*Xi,qo=(qo=2*Ot+S*sr*(Mt-gt))*qo*ka,Jo=(S*Mt*Ot*sr+er)/qo,Tl=-(S*gt*Ft)/(sr*qo),bu=va*fs-2*Jo/ka+pn*(Jo+Jo/ta),Gl=va*ws-2*Tl/ka+pn*(Tl+Tl/ta),zs=wr*Xa*fs-2*xo/(1+Gr)+pn*Xa*xo+pn*wr*(Jo-Jo/ta),Du=wr*Xa*ws-2*Xi/(1+Gr)+pn*Xa*Xi+pn*wr*(Tl-Tl/ta),_u=Gl*zs-Du*bu;if(!_u)break;var Qs=(di*Gl-Ai*Du)/_u,Al=(Ai*zs-di*bu)/_u;ve-=Qs,be=c(-w,f(w,be-Al))}while((n(Qs)>g||n(Al)>g)&&--De>0);return n(n(be)-w)be){var Ot=q(Ft),er=i(Mt,gt),sr=ve*v(er/ve),wr=er-sr,Gr=Q*o(wr),pn=(Q*m(wr)-wr*m(Gr))/(w-Gr),cn=yo(wr,pn),kn=(M-Q)/oo(cn,Gr,M);gt=Ot;var ta=50,ka;do gt-=ka=(Q+oo(cn,Gr,gt)*kn-Ot)/(cn(gt)*kn);while(n(ka)>g&&--ta>0);Mt=wr*m(gt),gtbe){var gt=q(ut),Mt=i(Be,Se),Ft=ve*v(Mt/ve),Ot=Mt-Ft;Se=gt*o(Ot),Be=gt*m(Ot);for(var er=Se-w,sr=m(Se),wr=Be/sr,Gr=Seg||n(wr)>g)&&--Gr>0);return[Ot,er]},gt}var Oa=Ni(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function xi(){return t.geoProjection(Oa).scale(149.995)}var Pi=Ni(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function ia(){return t.geoProjection(Pi).scale(153.93)}var rt=Ni(5/6*M,-.62636,-.0344,0,1.3493,-.05524,0,.045);function Xt(){return t.geoProjection(rt).scale(130.945)}function xr(Q,ae){var ve=Q*Q,be=ae*ae;return[Q*(1-.162388*be)*(.87-952426e-9*ve*ve),ae*(1+be/12)]}xr.invert=function(Q,ae){var ve=Q,be=ae,De=50,Se;do{var Be=be*be;be-=Se=(be*(1+Be/12)-ae)/(1+Be/4)}while(n(Se)>g&&--De>0);De=50,Q/=1-.162388*Be;do{var ut=(ut=ve*ve)*ut;ve-=Se=(ve*(.87-952426e-9*ut)-Q)/(.87-.00476213*ut)}while(n(Se)>g&&--De>0);return[ve,be]};function Fr(){return t.geoProjection(xr).scale(131.747)}var xn=Ni(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Mn(){return t.geoProjection(xn).scale(131.087)}function Rn(Q){var ae=Q(w,0)[0]-Q(-w,0)[0];function ve(be,De){var Se=be>0?-.5:.5,Be=Q(be+Se*M,De);return Be[0]-=Se*ae,Be}return Q.invert&&(ve.invert=function(be,De){var Se=be>0?-.5:.5,Be=Q.invert(be+Se*ae,De),ut=Be[0]-Se*M;return ut<-M?ut+=2*M:ut>M&&(ut-=2*M),Be[0]=ut,Be}),ve}function on(Q,ae){var ve=d(Q),be=d(ae),De=o(ae),Se=o(Q)*De,Be=m(Q)*De,ut=m(be*ae);Q=n(i(Be,ut)),ae=D(Se),n(Q-w)>g&&(Q%=w);var gt=En(Q>M/4?w-Q:Q,ae);return Q>M/4&&(ut=gt[0],gt[0]=-gt[1],gt[1]=-ut),gt[0]*=ve,gt[1]*=-be,gt}on.invert=function(Q,ae){n(Q)>1&&(Q=d(Q)*2-Q),n(ae)>1&&(ae=d(ae)*2-ae);var ve=d(Q),be=d(ae),De=-ve*Q,Se=-be*ae,Be=Se/De<1,ut=Aa(Be?Se:De,Be?De:Se),gt=ut[0],Mt=ut[1],Ft=o(Mt);return Be&&(gt=-w-gt),[ve*(i(m(gt)*Ft,-m(Mt))+M),be*D(o(gt)*Ft)]};function En(Q,ae){if(ae===w)return[0,0];var ve=m(ae),be=ve*ve,De=be*be,Se=1+De,Be=1+3*De,ut=1-De,gt=D(1/q(Se)),Mt=ut+be*Se*gt,Ft=(1-ve)/Mt,Ot=q(Ft),er=Ft*Se,sr=q(er),wr=Ot*ut,Gr,pn;if(Q===0)return[0,-(wr+be*sr)];var cn=o(ae),kn=1/cn,ta=2*ve*cn,ka=(-3*be+gt*Be)*ta,va=(-Mt*cn-(1-ve)*ka)/(Mt*Mt),Xa=.5*va/Ot,Ai=ut*Xa-2*be*Ot*ta,di=be*Se*va+Ft*Be*ta,xo=-kn*ta,Xi=-kn*di,Wo=-2*kn*Ai,fs=4*Q/M,ws;if(Q>.222*M||ae.175*M){if(Gr=(wr+be*q(er*(1+De)-wr*wr))/(1+De),Q>M/4)return[Gr,Gr];var qo=Gr,Jo=.5*Gr;Gr=.5*(Jo+qo),pn=50;do{var Tl=q(er-Gr*Gr),bu=Gr*(Wo+xo*Tl)+Xi*D(Gr/sr)-fs;if(!bu)break;bu<0?Jo=Gr:qo=Gr,Gr=.5*(Jo+qo)}while(n(qo-Jo)>g&&--pn>0)}else{Gr=g,pn=25;do{var Gl=Gr*Gr,zs=q(er-Gl),Du=Wo+xo*zs,_u=Gr*Du+Xi*D(Gr/sr)-fs,Qs=Du+(Xi-xo*Gl)/zs;Gr-=ws=zs?_u/Qs:0}while(n(ws)>g&&--pn>0)}return[Gr,-wr-be*q(er-Gr*Gr)]}function Aa(Q,ae){for(var ve=0,be=1,De=.5,Se=50;;){var Be=De*De,ut=q(De),gt=D(1/q(1+Be)),Mt=1-Be+De*(1+Be)*gt,Ft=(1-ut)/Mt,Ot=q(Ft),er=Ft*(1+Be),sr=Ot*(1-Be),wr=er-Q*Q,Gr=q(wr),pn=ae+sr+De*Gr;if(n(be-ve)0?ve=De:be=De,De=.5*(ve+be)}if(!Se)return null;var cn=D(ut),kn=o(cn),ta=1/kn,ka=2*ut*kn,va=(-3*De+gt*(1+3*Be))*ka,Xa=(-Mt*kn-(1-ut)*va)/(Mt*Mt),Ai=.5*Xa/Ot,di=(1-Be)*Ai-2*De*Ot*ka,xo=-2*ta*di,Xi=-ta*ka,Wo=-ta*(De*(1+Be)*Xa+Ft*(1+3*Be)*ka);return[M/4*(Q*(xo+Xi*Gr)+Wo*D(Q/q(er))),cn]}function ba(){return t.geoProjection(Rn(on)).scale(239.75)}function Ia(Q,ae,ve){var be,De,Se;return Q?(be=hi(Q,ve),ae?(De=hi(ae,1-ve),Se=De[1]*De[1]+ve*be[0]*be[0]*De[0]*De[0],[[be[0]*De[2]/Se,be[1]*be[2]*De[0]*De[1]/Se],[be[1]*De[1]/Se,-be[0]*be[2]*De[0]*De[2]/Se],[be[2]*De[1]*De[2]/Se,-ve*be[0]*be[1]*De[0]/Se]]):[[be[0],0],[be[1],0],[be[2],0]]):(De=hi(ae,1-ve),[[0,De[0]/De[1]],[1/De[1],0],[De[2]/De[1],0]])}function hi(Q,ae){var ve,be,De,Se,Be;if(ae=1-g)return ve=(1-ae)/4,be=R(Q),Se=U(Q),De=1/be,Be=be*O(Q),[Se+ve*(Be-Q)/(be*be),De-ve*Se*De*(Be-Q),De+ve*Se*De*(Be+Q),2*a(s(Q))-w+ve*(Be-Q)/be];var ut=[1,0,0,0,0,0,0,0,0],gt=[q(ae),0,0,0,0,0,0,0,0],Mt=0;for(be=q(1-ae),Be=1;n(gt[Mt]/ut[Mt])>g&&Mt<8;)ve=ut[Mt++],gt[Mt]=(ve-be)/2,ut[Mt]=(ve+be)/2,be=q(ve*be),Be*=2;De=Be*ut[Mt]*Q;do Se=gt[Mt]*m(be=De)/ut[Mt],De=(D(Se)+De)/2;while(--Mt);return[m(De),Se=o(De),Se/o(De-be),De]}function ki(Q,ae,ve){var be=n(Q),De=n(ae),Se=O(De);if(be){var Be=1/m(be),ut=1/(x(be)*x(be)),gt=-(ut+ve*(Se*Se*Be*Be)-1+ve),Mt=(ve-1)*ut,Ft=(-gt+q(gt*gt-4*Mt))/2;return[ui(a(1/q(Ft)),ve)*d(Q),ui(a(q((Ft/ut-1)/ve)),1-ve)*d(ae)]}return[0,ui(a(Se),1-ve)*d(ae)]}function ui(Q,ae){if(!ae)return Q;if(ae===1)return u(x(Q/2+k));for(var ve=1,be=q(1-ae),De=q(ae),Se=0;n(De)>g;Se++){if(Q%M){var Be=a(be*x(Q)/ve);Be<0&&(Be+=M),Q+=Be+~~(Q/M)*M}else Q+=Q;De=(ve+be)/2,be=q(ve*be),De=((ve=De)-be)/2}return Q/(h(2,Se)*ve)}function Mi(Q,ae){var ve=(S-1)/(S+1),be=q(1-ve*ve),De=ui(w,be*be),Se=-1,Be=u(x(M/4+n(ae)/2)),ut=s(Se*Be)/q(ve),gt=_i(ut*o(Se*Q),ut*m(Se*Q)),Mt=ki(gt[0],gt[1],be*be);return[-Mt[1],(ae>=0?1:-1)*(.5*De-Mt[0])]}function _i(Q,ae){var ve=Q*Q,be=ae+1,De=1-ve-ae*ae;return[.5*((Q>=0?w:-w)-i(De,2*Q)),-.25*u(De*De+4*ve)+.5*u(be*be+ve)]}function ko(Q,ae){var ve=ae[0]*ae[0]+ae[1]*ae[1];return[(Q[0]*ae[0]+Q[1]*ae[1])/ve,(Q[1]*ae[0]-Q[0]*ae[1])/ve]}Mi.invert=function(Q,ae){var ve=(S-1)/(S+1),be=q(1-ve*ve),De=ui(w,be*be),Se=-1,Be=Ia(.5*De-ae,-Q,be*be),ut=ko(Be[0],Be[1]),gt=i(ut[1],ut[0])/Se;return[gt,2*a(s(.5/Se*u(ve*ut[0]*ut[0]+ve*ut[1]*ut[1])))-w]};function Io(){return t.geoProjection(Rn(Mi)).scale(151.496)}function $o(Q){var ae=m(Q),ve=o(Q),be=Is(Q);be.invert=Is(-Q);function De(Se,Be){var ut=be(Se,Be);Se=ut[0],Be=ut[1];var gt=m(Be),Mt=o(Be),Ft=o(Se),Ot=z(ae*gt+ve*Mt*Ft),er=m(Ot),sr=n(er)>g?Ot/er:1;return[sr*ve*m(Se),(n(Se)>w?sr:-sr)*(ae*Mt-ve*gt*Ft)]}return De.invert=function(Se,Be){var ut=q(Se*Se+Be*Be),gt=-m(ut),Mt=o(ut),Ft=ut*Mt,Ot=-Be*gt,er=ut*ae,sr=q(Ft*Ft+Ot*Ot-er*er),wr=i(Ft*er+Ot*sr,Ot*er-Ft*sr),Gr=(ut>w?-1:1)*i(Se*gt,ut*o(wr)*Mt+Be*m(wr)*gt);return be.invert(Gr,wr)},De}function Is(Q){var ae=m(Q),ve=o(Q);return function(be,De){var Se=o(De),Be=o(be)*Se,ut=m(be)*Se,gt=m(De);return[i(ut,Be*ve-gt*ae),D(gt*ve+Be*ae)]}}function Es(){var Q=0,ae=t.geoProjectionMutator($o),ve=ae(Q),be=ve.rotate,De=ve.stream,Se=t.geoCircle();return ve.parallel=function(Be){if(!arguments.length)return Q*C;var ut=ve.rotate();return ae(Q=Be*A).rotate(ut)},ve.rotate=function(Be){return arguments.length?(be.call(ve,[Be[0],Be[1]-Q*C]),Se.center([-Be[0],-Be[1]]),ve):(Be=be.call(ve),Be[1]+=Q*C,Be)},ve.stream=function(Be){return Be=De(Be),Be.sphere=function(){Be.polygonStart();var ut=.01,gt=Se.radius(90-ut)().coordinates[0],Mt=gt.length-1,Ft=-1,Ot;for(Be.lineStart();++Ft=0;)Be.point((Ot=gt[Ft])[0],Ot[1]);Be.lineEnd(),Be.polygonEnd()},Be},ve.scale(79.4187).parallel(45).clipAngle(180-.001)}var Ks=3,nl=D(1-1/Ks)*C,ks=gr(0);function us(Q){var ae=nl*A,ve=Ze(M,ae)[0]-Ze(-M,ae)[0],be=ks(0,ae)[1],De=Ze(0,ae)[1],Se=T-De,Be=p/Q,ut=4/p,gt=be+Se*Se*4/p;function Mt(Ft,Ot){var er,sr=n(Ot);if(sr>ae){var wr=f(Q-1,c(0,l((Ft+M)/Be)));Ft+=M*(Q-1)/Q-wr*Be,er=Ze(Ft,sr),er[0]=er[0]*p/ve-p*(Q-1)/(2*Q)+wr*p/Q,er[1]=be+(er[1]-De)*4*Se/p,Ot<0&&(er[1]=-er[1])}else er=ks(Ft,Ot);return er[0]*=ut,er[1]/=gt,er}return Mt.invert=function(Ft,Ot){Ft/=ut,Ot*=gt;var er=n(Ot);if(er>be){var sr=f(Q-1,c(0,l((Ft+M)/Be)));Ft=(Ft+M*(Q-1)/Q-sr*Be)*ve/p;var wr=Ze.invert(Ft,.25*(er-be)*p/Se+De);return wr[0]-=M*(Q-1)/Q-sr*Be,Ot<0&&(wr[1]=-wr[1]),wr}return ks.invert(Ft,Ot)},Mt}function xs(Q,ae){return[Q,ae&1?90-g:nl]}function Co(Q,ae){return[Q,ae&1?-90+g:-nl]}function Si(Q){return[Q[0]*(1-g),Q[1]]}function io(Q){var ae=[].concat(r.range(-180,180+Q/2,Q).map(xs),r.range(180,-180-Q/2,-Q).map(Co));return{type:"Polygon",coordinates:[Q===180?ae.map(Si):ae]}}function Bs(){var Q=4,ae=t.geoProjectionMutator(us),ve=ae(Q),be=ve.stream;return ve.lobes=function(De){return arguments.length?ae(Q=+De):Q},ve.stream=function(De){var Se=ve.rotate(),Be=be(De),ut=(ve.rotate([0,0]),be(De));return ve.rotate(Se),Be.sphere=function(){t.geoStream(io(180/Q),ut)},Be},ve.scale(239.75)}function Fl(Q){var ae=1+Q,ve=m(1/ae),be=D(ve),De=2*q(M/(Se=M+4*be*ae)),Se,Be=.5*De*(ae+q(Q*(2+Q))),ut=Q*Q,gt=ae*ae;function Mt(Ft,Ot){var er=1-m(Ot),sr,wr;if(er&&er<2){var Gr=w-Ot,pn=25,cn;do{var kn=m(Gr),ta=o(Gr),ka=be+i(kn,ae-ta),va=1+gt-2*ae*ta;Gr-=cn=(Gr-ut*be-ae*kn+va*ka-.5*er*Se)/(2*ae*kn*ka)}while(n(cn)>E&&--pn>0);sr=De*q(va),wr=Ft*ka/M}else sr=De*(Q+er),wr=Ft*be/M;return[sr*m(wr),Be-sr*o(wr)]}return Mt.invert=function(Ft,Ot){var er=Ft*Ft+(Ot-=Be)*Ot,sr=(1+gt-er/(De*De))/(2*ae),wr=z(sr),Gr=m(wr),pn=be+i(Gr,ae-sr);return[D(Ft/q(er))*M/pn,D(1-2*(wr-ut*be-ae*Gr+(1+gt-2*ae*sr)*pn)/Se)]},Mt}function Eu(){var Q=1,ae=t.geoProjectionMutator(Fl),ve=ae(Q);return ve.ratio=function(be){return arguments.length?ae(Q=+be):Q},ve.scale(167.774).center([0,18.67])}var Cs=.7109889596207567,Nl=.0528035274542;function du(Q,ae){return ae>-Cs?(Q=de(Q,ae),Q[1]+=Nl,Q):He(Q,ae)}du.invert=function(Q,ae){return ae>-Cs?de.invert(Q,ae-Nl):He.invert(Q,ae)};function Kl(){return t.geoProjection(du).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function al(Q,ae){return n(ae)>Cs?(Q=de(Q,ae),Q[1]-=ae>0?Nl:-Nl,Q):He(Q,ae)}al.invert=function(Q,ae){return n(ae)>Cs?de.invert(Q,ae+(ae>0?Nl:-Nl)):He.invert(Q,ae)};function co(){return t.geoProjection(al).scale(152.63)}function Ul(Q,ae,ve,be){var De=q(4*M/(2*ve+(1+Q-ae/2)*m(2*ve)+(Q+ae)/2*m(4*ve)+ae/2*m(6*ve))),Se=q(be*m(ve)*q((1+Q*o(2*ve)+ae*o(4*ve))/(1+Q+ae))),Be=ve*gt(1);function ut(Ot){return q(1+Q*o(2*Ot)+ae*o(4*Ot))}function gt(Ot){var er=Ot*ve;return(2*er+(1+Q-ae/2)*m(2*er)+(Q+ae)/2*m(4*er)+ae/2*m(6*er))/ve}function Mt(Ot){return ut(Ot)*m(Ot)}var Ft=function(Ot,er){var sr=ve*st(gt,Be*m(er)/ve,er/M);isNaN(sr)&&(sr=ve*d(er));var wr=De*ut(sr);return[wr*Se*Ot/M*o(sr),wr/Se*m(sr)]};return Ft.invert=function(Ot,er){var sr=st(Mt,er*Se/De);return[Ot*M/(o(sr)*De*Se*ut(sr)),D(ve*gt(sr/ve)/Be)]},ve===0&&(De=q(be/M),Ft=function(Ot,er){return[Ot*De,m(er)/De]},Ft.invert=function(Ot,er){return[Ot/De,D(er*De)]}),Ft}function Ls(){var Q=1,ae=0,ve=45*A,be=2,De=t.geoProjectionMutator(Ul),Se=De(Q,ae,ve,be);return Se.a=function(Be){return arguments.length?De(Q=+Be,ae,ve,be):Q},Se.b=function(Be){return arguments.length?De(Q,ae=+Be,ve,be):ae},Se.psiMax=function(Be){return arguments.length?De(Q,ae,ve=+Be*A,be):ve*C},Se.ratio=function(Be){return arguments.length?De(Q,ae,ve,be=+Be):be},Se.scale(180.739)}function il(Q,ae,ve,be,De,Se,Be,ut,gt,Mt,Ft){if(Ft.nanEncountered)return NaN;var Ot,er,sr,wr,Gr,pn,cn,kn,ta,ka;if(Ot=ve-ae,er=Q(ae+Ot*.25),sr=Q(ve-Ot*.25),isNaN(er)){Ft.nanEncountered=!0;return}if(isNaN(sr)){Ft.nanEncountered=!0;return}return wr=Ot*(be+4*er+De)/12,Gr=Ot*(De+4*sr+Se)/12,pn=wr+Gr,ka=(pn-Be)/15,Mt>gt?(Ft.maxDepthCount++,pn+ka):Math.abs(ka)>1;do gt[pn]>sr?Gr=pn:wr=pn,pn=wr+Gr>>1;while(pn>wr);var cn=gt[pn+1]-gt[pn];return cn&&(cn=(sr-gt[pn+1])/cn),(pn+1+cn)/Be}var Ot=2*Ft(1)/M*Se/ve,er=function(sr,wr){var Gr=Ft(n(m(wr))),pn=be(Gr)*sr;return Gr/=Ot,[pn,wr>=0?Gr:-Gr]};return er.invert=function(sr,wr){var Gr;return wr*=Ot,n(wr)<1&&(Gr=d(wr)*D(De(n(wr))*Se)),[sr/be(n(wr)),Gr]},er}function Vu(){var Q=0,ae=2.5,ve=1.183136,be=t.geoProjectionMutator(Os),De=be(Q,ae,ve);return De.alpha=function(Se){return arguments.length?be(Q=+Se,ae,ve):Q},De.k=function(Se){return arguments.length?be(Q,ae=+Se,ve):ae},De.gamma=function(Se){return arguments.length?be(Q,ae,ve=+Se):ve},De.scale(152.63)}function kf(Q,ae){return n(Q[0]-ae[0])=0;--gt)ve=Q[1][gt],be=ve[0][0],De=ve[0][1],Se=ve[1][1],Be=ve[2][0],ut=ve[2][1],ae.push(Jl([[Be-g,ut-g],[Be-g,Se+g],[be+g,Se+g],[be+g,De-g]],30));return{type:"Polygon",coordinates:[r.merge(ae)]}}function wc(Q,ae,ve){var be,De;function Se(gt,Mt){for(var Ft=Mt<0?-1:1,Ot=ae[+(Mt<0)],er=0,sr=Ot.length-1;erOt[er][2][0];++er);var wr=Q(gt-Ot[er][1][0],Mt);return wr[0]+=Q(Ot[er][1][0],Ft*Mt>Ft*Ot[er][0][1]?Ot[er][0][1]:Mt)[0],wr}ve?Se.invert=ve(Se):Q.invert&&(Se.invert=function(gt,Mt){for(var Ft=De[+(Mt<0)],Ot=ae[+(Mt<0)],er=0,sr=Ft.length;erwr&&(Gr=sr,sr=wr,wr=Gr),[[Ot,sr],[er,wr]]})}),Be):ae.map(function(Mt){return Mt.map(function(Ft){return[[Ft[0][0]*C,Ft[0][1]*C],[Ft[1][0]*C,Ft[1][1]*C],[Ft[2][0]*C,Ft[2][1]*C]]})})},ae!=null&&Be.lobes(ae),Be}var Cf=[[[[-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 Rd(){return wc(Ge,Cf).scale(160.857)}var ol=[[[[-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 af(){return wc(al,ol).scale(152.63)}var ec=[[[[-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 Tc(){return wc(de,ec).scale(169.529)}var vu=[[[[-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 jc(){return wc(de,vu).scale(169.529).rotate([20,0])}var Lf=[[[[-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 tc(){return wc(du,Lf,Oe).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var Lh=[[[[-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 of(){return wc(He,Lh).scale(152.63).rotate([-20,0])}function Ff(Q,ae){return[3/p*Q*q(M*M/3-ae*ae),ae]}Ff.invert=function(Q,ae){return[p/3*Q/q(M*M/3-ae*ae),ae]};function Pf(){return t.geoProjection(Ff).scale(158.837)}function rh(Q){function ae(ve,be){if(n(n(be)-w)2)return null;ve/=2,be/=2;var Se=ve*ve,Be=be*be,ut=2*be/(1+Se+Be);return ut=h((1+ut)/(1-ut),1/Q),[i(2*ve,1-Se-Be)/Q,D((ut-1)/(ut+1))]},ae}function Fh(){var Q=.5,ae=t.geoProjectionMutator(rh),ve=ae(Q);return ve.spacing=function(be){return arguments.length?ae(Q=+be):Q},ve.scale(124.75)}var pu=M/S;function gu(Q,ae){return[Q*(1+q(o(ae)))/2,ae/(o(ae/2)*o(Q/6))]}gu.invert=function(Q,ae){var ve=n(Q),be=n(ae),De=g,Se=w;beg||n(pn)>g)&&--De>0);return De&&[ve,be]};function as(){return t.geoProjection(Ql).scale(139.98)}function fo(Q,ae){return[m(Q)/o(ae),x(ae)*o(Q)]}fo.invert=function(Q,ae){var ve=Q*Q,be=ae*ae,De=be+1,Se=ve+De,Be=Q?y*q((Se-q(Se*Se-4*ve))/ve):1/q(De);return[D(Q*Be),d(ae)*z(Be)]};function Ns(){return t.geoProjection(fo).scale(144.049).clipAngle(90-.001)}function ku(Q){var ae=o(Q),ve=x(k+Q/2);function be(De,Se){var Be=Se-Q,ut=n(Be)=0;)Ft=Q[Mt],Ot=Ft[0]+ut*(sr=Ot)-gt*er,er=Ft[1]+ut*er+gt*sr;return Ot=ut*(sr=Ot)-gt*er,er=ut*er+gt*sr,[Ot,er]}return ve.invert=function(be,De){var Se=20,Be=be,ut=De;do{for(var gt=ae,Mt=Q[gt],Ft=Mt[0],Ot=Mt[1],er=0,sr=0,wr;--gt>=0;)Mt=Q[gt],er=Ft+Be*(wr=er)-ut*sr,sr=Ot+Be*sr+ut*wr,Ft=Mt[0]+Be*(wr=Ft)-ut*Ot,Ot=Mt[1]+Be*Ot+ut*wr;er=Ft+Be*(wr=er)-ut*sr,sr=Ot+Be*sr+ut*wr,Ft=Be*(wr=Ft)-ut*Ot-be,Ot=Be*Ot+ut*wr-De;var Gr=er*er+sr*sr,pn,cn;Be-=pn=(Ft*er+Ot*sr)/Gr,ut-=cn=(Ot*er-Ft*sr)/Gr}while(n(pn)+n(cn)>g*g&&--Se>0);if(Se){var kn=q(Be*Be+ut*ut),ta=2*a(kn*.5),ka=m(ta);return[i(Be*ka,kn*o(ta)),kn?D(ut*ka/kn):0]}},ve}var Wi=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],Zh=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],so=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],ei=[[.9245,0],[0,0],[.01943,0]],nc=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Wc(){return Us(Wi,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function _l(){return Us(Zh,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function nh(){return Us(so,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function Cu(){return Us(ei,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function Ac(){return Us(nc,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Us(Q,ae){var ve=t.geoProjection(Xh(Q)).rotate(ae).clipAngle(90),be=t.geoRotation(ae),De=ve.center;return delete ve.rotate,ve.center=function(Se){return arguments.length?De(be(Se)):be.invert(De())},ve}var ah=q(6),Df=q(7);function Mc(Q,ae){var ve=D(7*m(ae)/(3*ah));return[ah*Q*(2*o(2*ve/3)-1)/Df,9*m(ve/3)/Df]}Mc.invert=function(Q,ae){var ve=3*D(ae*Df/9);return[Q*Df/(ah*(2*o(2*ve/3)-1)),D(m(ve)*3*ah/7)]};function Sc(){return t.geoProjection(Mc).scale(164.859)}function Rf(Q,ae){for(var ve=(1+y)*m(ae),be=ae,De=0,Se;De<25&&(be-=Se=(m(be/2)+m(be)-ve)/(.5*o(be/2)+o(be)),!(n(Se)E&&--be>0);return Se=ve*ve,Be=Se*Se,ut=Se*Be,[Q/(.84719-.13063*Se+ut*ut*(-.04515+.05494*Se-.02326*Be+.00331*ut)),ve]};function Ec(){return t.geoProjection(tu).scale(175.295)}function bs(Q,ae){return[Q*(1+o(ae))/2,2*(ae-x(ae/2))]}bs.invert=function(Q,ae){for(var ve=ae/2,be=0,De=1/0;be<10&&n(De)>g;++be){var Se=o(ae/2);ae-=De=(ae-x(ae/2)-ve)/(1-.5/(Se*Se))}return[2*Q/(1+o(ae)),ae]};function kc(){return t.geoProjection(bs).scale(152.63)}var Gu=[[[[-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 po(){return wc(ze(1/0),Gu).rotate([20,0]).scale(152.63)}function uf(Q,ae){var ve=m(ae),be=o(ae),De=d(Q);if(Q===0||n(ae)===w)return[0,ae];if(ae===0)return[Q,0];if(n(Q)===w)return[Q*be,w*ve];var Se=M/(2*Q)-2*Q/M,Be=2*ae/M,ut=(1-Be*Be)/(ve-Be),gt=Se*Se,Mt=ut*ut,Ft=1+gt/Mt,Ot=1+Mt/gt,er=(Se*ve/ut-Se/2)/Ft,sr=(Mt*ve/gt+ut/2)/Ot,wr=er*er+be*be/Ft,Gr=sr*sr-(Mt*ve*ve/gt+ut*ve-1)/Ot;return[w*(er+q(wr)*De),w*(sr+q(Gr<0?0:Gr)*d(-ae*Se)*De)]}uf.invert=function(Q,ae){Q/=w,ae/=w;var ve=Q*Q,be=ae*ae,De=ve+be,Se=M*M;return[Q?(De-1+q((1-De)*(1-De)+4*ve))/(2*Q)*w:0,st(function(Be){return De*(M*m(Be)-2*Be)*M+4*Be*Be*(ae-m(Be))+2*M*Be-Se*ae},0)]};function $h(){return t.geoProjection(uf).scale(127.267)}var ih=1.0148,ac=.23185,oh=-.14499,cf=.02406,Kh=ih,_s=5*ac,ru=7*oh,sh=9*cf,Ko=1.790857183;function Hu(Q,ae){var ve=ae*ae;return[Q,ae*(ih+ve*ve*(ac+ve*(oh+cf*ve)))]}Hu.invert=function(Q,ae){ae>Ko?ae=Ko:ae<-Ko&&(ae=-Ko);var ve=ae,be;do{var De=ve*ve;ve-=be=(ve*(ih+De*De*(ac+De*(oh+cf*De)))-ae)/(Kh+De*De*(_s+De*(ru+sh*De)))}while(n(be)>g);return[Q,ve]};function Pl(){return t.geoProjection(Hu).scale(139.319)}function ic(Q,ae){if(n(ae)g&&--De>0);return Be=x(be),[(n(ae)=0;)if(be=ae[ut],ve[0]===be[0]&&ve[1]===be[1]){if(Se)return[Se,ve];Se=ve}}}function Fs(Q){for(var ae=Q.length,ve=[],be=Q[ae-1],De=0;De0?[-be[0],0]:[180-be[0],180])};var ae=qf.map(function(ve){return{face:ve,project:Q(ve)}});return[-1,0,0,1,0,1,4,5].forEach(function(ve,be){var De=ae[ve];De&&(De.children||(De.children=[])).push(ae[be])}),Xc(ae[0],function(ve,be){return ae[ve<-M/2?be<0?6:4:ve<0?be<0?2:0:vebe^sr>be&&ve<(er-Mt)*(be-Ft)/(sr-Ft)+Mt&&(De=!De)}return De}function uh(Q,ae){var ve=ae.stream,be;if(!ve)throw new Error("invalid projection");switch(Q&&Q.type){case"Feature":be=hf;break;case"FeatureCollection":be=Qh;break;default:be=df;break}return be(Q,ve)}function Qh(Q,ae){return{type:"FeatureCollection",features:Q.features.map(function(ve){return hf(ve,ae)})}}function hf(Q,ae){return{type:"Feature",id:Q.id,properties:Q.properties,geometry:df(Q.geometry,ae)}}function ch(Q,ae){return{type:"GeometryCollection",geometries:Q.geometries.map(function(ve){return df(ve,ae)})}}function df(Q,ae){if(!Q)return null;if(Q.type==="GeometryCollection")return ch(Q,ae);var ve;switch(Q.type){case"Point":ve=fh;break;case"MultiPoint":ve=fh;break;case"LineString":ve=ed;break;case"MultiLineString":ve=ed;break;case"Polygon":ve=vf;break;case"MultiPolygon":ve=vf;break;case"Sphere":ve=vf;break;default:return null}return t.geoStream(Q,ae(ve)),ve.result()}var sl=[],Fu=[],fh={point:function(Q,ae){sl.push([Q,ae])},result:function(){var Q=sl.length?sl.length<2?{type:"Point",coordinates:sl[0]}:{type:"MultiPoint",coordinates:sl}:null;return sl=[],Q}},ed={lineStart:sc,point:function(Q,ae){sl.push([Q,ae])},lineEnd:function(){sl.length&&(Fu.push(sl),sl=[])},result:function(){var Q=Fu.length?Fu.length<2?{type:"LineString",coordinates:Fu[0]}:{type:"MultiLineString",coordinates:Fu}:null;return Fu=[],Q}},vf={polygonStart:sc,lineStart:sc,point:function(Q,ae){sl.push([Q,ae])},lineEnd:function(){var Q=sl.length;if(Q){do sl.push(sl[0].slice());while(++Q<4);Fu.push(sl),sl=[]}},polygonEnd:sc,result:function(){if(!Fu.length)return null;var Q=[],ae=[];return Fu.forEach(function(ve){Nf(ve)?Q.push([ve]):ae.push(ve)}),ae.forEach(function(ve){var be=ve[0];Q.some(function(De){if(Uf(De[0],be))return De.push(ve),!0})||Q.push([ve])}),Fu=[],Q.length?Q.length>1?{type:"MultiPolygon",coordinates:Q}:{type:"Polygon",coordinates:Q[0]}:null}};function Wu(Q){var ae=Q(w,0)[0]-Q(-w,0)[0];function ve(be,De){var Se=n(be)0?be-M:be+M,De),ut=(Be[0]-Be[1])*y,gt=(Be[0]+Be[1])*y;if(Se)return[ut,gt];var Mt=ae*y,Ft=ut>0^gt>0?-1:1;return[Ft*ut-d(gt)*Mt,Ft*gt-d(ut)*Mt]}return Q.invert&&(ve.invert=function(be,De){var Se=(be+De)*y,Be=(De-be)*y,ut=n(Se)<.5*ae&&n(Be)<.5*ae;if(!ut){var gt=ae*y,Mt=Se>0^Be>0?-1:1,Ft=-Mt*be+(Be>0?1:-1)*gt,Ot=-Mt*De+(Se>0?1:-1)*gt;Se=(-Ft-Ot)*y,Be=(Ft-Ot)*y}var er=Q.invert(Se,Be);return ut||(er[0]+=Se>0?M:-M),er}),t.geoProjection(ve).rotate([-90,-90,45]).clipAngle(180-.001)}function Je(){return Wu(on).scale(176.423)}function yt(){return Wu(Mi).scale(111.48)}function Gt(Q,ae){if(!(0<=(ae=+ae)&&ae<=20))throw new Error("invalid digits");function ve(Mt){var Ft=Mt.length,Ot=2,er=new Array(Ft);for(er[0]=+Mt[0].toFixed(ae),er[1]=+Mt[1].toFixed(ae);Ot2||sr[0]!=Ft[0]||sr[1]!=Ft[1])&&(Ot.push(sr),Ft=sr)}return Ot.length===1&&Mt.length>1&&Ot.push(ve(Mt[Mt.length-1])),Ot}function Se(Mt){return Mt.map(De)}function Be(Mt){if(Mt==null)return Mt;var Ft;switch(Mt.type){case"GeometryCollection":Ft={type:"GeometryCollection",geometries:Mt.geometries.map(Be)};break;case"Point":Ft={type:"Point",coordinates:ve(Mt.coordinates)};break;case"MultiPoint":Ft={type:Mt.type,coordinates:be(Mt.coordinates)};break;case"LineString":Ft={type:Mt.type,coordinates:De(Mt.coordinates)};break;case"MultiLineString":case"Polygon":Ft={type:Mt.type,coordinates:Se(Mt.coordinates)};break;case"MultiPolygon":Ft={type:"MultiPolygon",coordinates:Mt.coordinates.map(Se)};break;default:return Mt}return Mt.bbox!=null&&(Ft.bbox=Mt.bbox),Ft}function ut(Mt){var Ft={type:"Feature",properties:Mt.properties,geometry:Be(Mt.geometry)};return Mt.id!=null&&(Ft.id=Mt.id),Mt.bbox!=null&&(Ft.bbox=Mt.bbox),Ft}if(Q!=null)switch(Q.type){case"Feature":return ut(Q);case"FeatureCollection":{var gt={type:"FeatureCollection",features:Q.features.map(ut)};return Q.bbox!=null&&(gt.bbox=Q.bbox),gt}default:return Be(Q)}return Q}function Bt(Q){var ae=m(Q);function ve(be,De){var Se=ae?x(be*ae/2)/ae:be/2;if(!De)return[2*Se,-Q];var Be=2*a(Se*m(De)),ut=1/x(De);return[m(Be)*ut,De+(1-o(Be))*ut-Q]}return ve.invert=function(be,De){if(n(De+=Q)g&&--ut>0);var er=be*(Mt=x(Be)),sr=x(n(De)0?w:-w)*(gt+De*(Ft-Be)/2+De*De*(Ft-2*gt+Be)/2)]}en.invert=function(Q,ae){var ve=ae/w,be=ve*90,De=f(18,n(be/5)),Se=c(0,l(De));do{var Be=Ur[Se][1],ut=Ur[Se+1][1],gt=Ur[f(19,Se+2)][1],Mt=gt-Be,Ft=gt-2*ut+Be,Ot=2*(n(ve)-ut)/Mt,er=Ft/Mt,sr=Ot*(1-er*Ot*(1-2*er*Ot));if(sr>=0||Se===1){be=(ae>=0?5:-5)*(sr+De);var wr=50,Gr;do De=f(18,n(be)/5),Se=l(De),sr=De-Se,Be=Ur[Se][1],ut=Ur[Se+1][1],gt=Ur[f(19,Se+2)][1],be-=(Gr=(ae>=0?w:-w)*(ut+sr*(gt-Be)/2+sr*sr*(gt-2*ut+Be)/2)-ae)*C;while(n(Gr)>E&&--wr>0);break}}while(--Se>=0);var pn=Ur[Se][0],cn=Ur[Se+1][0],kn=Ur[f(19,Se+2)][0];return[Q/(cn+sr*(kn-pn)/2+sr*sr*(kn-2*cn+pn)/2),be*A]};function mn(){return t.geoProjection(en).scale(152.63)}function An(Q){function ae(ve,be){var De=o(be),Se=(Q-1)/(Q-De*o(ve));return[Se*De*m(ve),Se*m(be)]}return ae.invert=function(ve,be){var De=ve*ve+be*be,Se=q(De),Be=(Q-q(1-De*(Q+1)/(Q-1)))/((Q-1)/Se+Se/(Q-1));return[i(ve*Be,Se*q(1-Be*Be)),Se?D(be*Be/Se):0]},ae}function Vn(Q,ae){var ve=An(Q);if(!ae)return ve;var be=o(ae),De=m(ae);function Se(Be,ut){var gt=ve(Be,ut),Mt=gt[1],Ft=Mt*De/(Q-1)+be;return[gt[0]*be/Ft,Mt/Ft]}return Se.invert=function(Be,ut){var gt=(Q-1)/(Q-1-ut*De);return ve.invert(gt*Be,gt*ut*be)},Se}function tn(){var Q=2,ae=0,ve=t.geoProjectionMutator(Vn),be=ve(Q,ae);return be.distance=function(De){return arguments.length?ve(Q=+De,ae):Q},be.tilt=function(De){return arguments.length?ve(Q,ae=De*A):ae*C},be.scale(432.147).clipAngle(z(1/Q)*C-1e-6)}var nn=1e-4,dn=1e4,Wr=-180,ea=Wr+nn,Ca=180,Pa=Ca-nn,La=-90,Va=La+nn,na=90,zn=na-nn;function Ja(Q){return Q.length>0}function pi(Q){return Math.floor(Q*dn)/dn}function ji(Q){return Q===La||Q===na?[0,Q]:[Wr,pi(Q)]}function Ao(Q){var ae=Q[0],ve=Q[1],be=!1;return ae<=ea?(ae=Wr,be=!0):ae>=Pa&&(ae=Ca,be=!0),ve<=Va?(ve=La,be=!0):ve>=zn&&(ve=na,be=!0),be?[ae,ve]:Q}function Qi(Q){return Q.map(Ao)}function zo(Q,ae,ve){for(var be=0,De=Q.length;be=Pa||Ft<=Va||Ft>=zn){Se[Be]=Ao(gt);for(var Ot=Be+1;Otea&&srVa&&wr=ut)break;ve.push({index:-1,polygon:ae,ring:Se=Se.slice(Ot-1)}),Se[0]=ji(Se[0][1]),Be=-1,ut=Se.length}}}}function Vi(Q){var ae,ve=Q.length,be={},De={},Se,Be,ut,gt,Mt;for(ae=0;ae0?M-ut:ut)*C],Mt=t.geoProjection(Q(Be)).rotate(gt),Ft=t.geoRotation(gt),Ot=Mt.center;return delete Mt.rotate,Mt.center=function(er){return arguments.length?Ot(Ft(er)):Ft.invert(Ot())},Mt.clipAngle(90)}function Yi(Q){var ae=o(Q);function ve(be,De){var Se=t.geoGnomonicRaw(be,De);return Se[0]*=ae,Se}return ve.invert=function(be,De){return t.geoGnomonicRaw.invert(be/ae,De)},ve}function Vs(){return xu([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function xu(Q,ae){return wo(Yi,Q,ae)}function au(Q){if(!(Q*=2))return t.geoAzimuthalEquidistantRaw;var ae=-Q/2,ve=-ae,be=Q*Q,De=x(ve),Se=.5/m(ve);function Be(ut,gt){var Mt=z(o(gt)*o(ut-ae)),Ft=z(o(gt)*o(ut-ve)),Ot=gt<0?-1:1;return Mt*=Mt,Ft*=Ft,[(Mt-Ft)/(2*Q),Ot*q(4*be*Ft-(be-Mt+Ft)*(be-Mt+Ft))/(2*Q)]}return Be.invert=function(ut,gt){var Mt=gt*gt,Ft=o(q(Mt+(er=ut+ae)*er)),Ot=o(q(Mt+(er=ut+ve)*er)),er,sr;return[i(sr=Ft-Ot,er=(Ft+Ot)*De),(gt<0?-1:1)*z(q(er*er+sr*sr)*Se)]},Be}function Yu(){return ll([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function ll(Q,ae){return wo(au,Q,ae)}function Pu(Q,ae){if(n(ae)g&&--ut>0);return[d(Q)*(q(De*De+4)+De)*M/4,w*Be]};function iu(){return t.geoProjection(pf).scale(127.16)}function K(Q,ae,ve,be,De){function Se(Be,ut){var gt=ve*m(be*ut),Mt=q(1-gt*gt),Ft=q(2/(1+Mt*o(Be*=De)));return[Q*Mt*Ft*m(Be),ae*gt*Ft]}return Se.invert=function(Be,ut){var gt=Be/Q,Mt=ut/ae,Ft=q(gt*gt+Mt*Mt),Ot=2*D(Ft/2);return[i(Be*x(Ot),Q*Ft)/De,Ft&&D(ut*m(Ot)/(ae*ve*Ft))/be]},Se}function b(Q,ae,ve,be){var De=M/3;Q=c(Q,g),ae=c(ae,g),Q=f(Q,w),ae=f(ae,M-g),ve=c(ve,0),ve=f(ve,100-g),be=c(be,g);var Se=ve/100+1,Be=be/100,ut=z(Se*o(De))/De,gt=m(Q)/m(ut*w),Mt=ae/M,Ft=q(Be*m(Q/2)/m(ae/2)),Ot=Ft/q(Mt*gt*ut),er=1/(Ft*q(Mt*gt*ut));return K(Ot,er,gt,ut,Mt)}function I(){var Q=65*A,ae=60*A,ve=20,be=200,De=t.geoProjectionMutator(b),Se=De(Q,ae,ve,be);return Se.poleline=function(Be){return arguments.length?De(Q=+Be*A,ae,ve,be):Q*C},Se.parallels=function(Be){return arguments.length?De(Q,ae=+Be*A,ve,be):ae*C},Se.inflation=function(Be){return arguments.length?De(Q,ae,ve=+Be,be):ve},Se.ratio=function(Be){return arguments.length?De(Q,ae,ve,be=+Be):be},Se.scale(163.775)}function G(){return I().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)}var H=4*M+3*q(3),$=2*q(2*M*q(3)/H),xe=Ie($*q(3)/M,$,H/6);function ke(){return t.geoProjection(xe).scale(176.84)}function Ne(Q,ae){return[Q*q(1-3*ae*ae/(M*M)),ae]}Ne.invert=function(Q,ae){return[Q/q(1-3*ae*ae/(M*M)),ae]};function et(){return t.geoProjection(Ne).scale(152.63)}function bt(Q,ae){var ve=o(ae),be=o(Q)*ve,De=1-be,Se=o(Q=i(m(Q)*ve,-m(ae))),Be=m(Q);return ve=q(1-be*be),[Be*ve-Se*De,-Se*ve-Be*De]}bt.invert=function(Q,ae){var ve=(Q*Q+ae*ae)/-2,be=q(-ve*(2+ve)),De=ae*ve+Q*be,Se=Q*ve-ae*be,Be=q(Se*Se+De*De);return[i(be*De,Be*(1+ve)),Be?-D(be*Se/Be):0]};function Tt(){return t.geoProjection(bt).rotate([0,-90,45]).scale(124.75).clipAngle(180-.001)}function zt(Q,ae){var ve=se(Q,ae);return[(ve[0]+Q/w)/2,(ve[1]+ae)/2]}zt.invert=function(Q,ae){var ve=Q,be=ae,De=25;do{var Se=o(be),Be=m(be),ut=m(2*be),gt=Be*Be,Mt=Se*Se,Ft=m(ve),Ot=o(ve/2),er=m(ve/2),sr=er*er,wr=1-Mt*Ot*Ot,Gr=wr?z(Se*Ot)*q(pn=1/wr):pn=0,pn,cn=.5*(2*Gr*Se*er+ve/w)-Q,kn=.5*(Gr*Be+be)-ae,ta=.5*pn*(Mt*sr+Gr*Se*Ot*gt)+.5/w,ka=pn*(Ft*ut/4-Gr*Be*er),va=.125*pn*(ut*er-Gr*Be*Mt*Ft),Xa=.5*pn*(gt*Ot+Gr*sr*Se)+.5,Ai=ka*va-Xa*ta,di=(kn*ka-cn*Xa)/Ai,xo=(cn*va-kn*ta)/Ai;ve-=di,be-=xo}while((n(di)>g||n(xo)>g)&&--De>0);return[ve,be]};function Yt(){return t.geoProjection(zt).scale(158.837)}e.geoNaturalEarth=t.geoNaturalEarth1,e.geoNaturalEarthRaw=t.geoNaturalEarth1Raw,e.geoAiry=te,e.geoAiryRaw=X,e.geoAitoff=ue,e.geoAitoffRaw=se,e.geoArmadillo=j,e.geoArmadilloRaw=re,e.geoAugust=ce,e.geoAugustRaw=fe,e.geoBaker=ye,e.geoBakerRaw=he,e.geoBerghaus=le,e.geoBerghausRaw=Pe,e.geoBertin1953=mt,e.geoBertin1953Raw=qe,e.geoBoggs=tt,e.geoBoggsRaw=Ge,e.geoBonne=pt,e.geoBonneRaw=We,e.geoBottomley=qt,e.geoBottomleyRaw=kt,e.geoBromley=_r,e.geoBromleyRaw=Wt,e.geoChamberlin=Re,e.geoChamberlinRaw=Te,e.geoChamberlinAfrica=Ae,e.geoCollignon=Ke,e.geoCollignonRaw=Ze,e.geoCraig=St,e.geoCraigRaw=_t,e.geoCraster=$t,e.geoCrasterRaw=fr,e.geoCylindricalEqualArea=Br,e.geoCylindricalEqualAreaRaw=gr,e.geoCylindricalStereographic=Er,e.geoCylindricalStereographicRaw=Nr,e.geoEckert1=vn,e.geoEckert1Raw=zr,e.geoEckert2=Xn,e.geoEckert2Raw=Nn,e.geoEckert3=Qn,e.geoEckert3Raw=Kn,e.geoEckert4=aa,e.geoEckert4Raw=un,e.geoEckert5=ua,e.geoEckert5Raw=da,e.geoEckert6=ii,e.geoEckert6Raw=qa,e.geoEisenlohr=Gi,e.geoEisenlohrRaw=no,e.geoFahey=_o,e.geoFaheyRaw=fi,e.geoFoucaut=ni,e.geoFoucautRaw=Oi,e.geoFoucautSinusoidal=Hi,e.geoFoucautSinusoidalRaw=ao,e.geoGilbert=Zo,e.geoGingery=rl,e.geoGingeryRaw=Fi,e.geoGinzburg4=xi,e.geoGinzburg4Raw=Oa,e.geoGinzburg5=ia,e.geoGinzburg5Raw=Pi,e.geoGinzburg6=Xt,e.geoGinzburg6Raw=rt,e.geoGinzburg8=Fr,e.geoGinzburg8Raw=xr,e.geoGinzburg9=Mn,e.geoGinzburg9Raw=xn,e.geoGringorten=ba,e.geoGringortenRaw=on,e.geoGuyou=Io,e.geoGuyouRaw=Mi,e.geoHammer=vt,e.geoHammerRaw=ze,e.geoHammerRetroazimuthal=Es,e.geoHammerRetroazimuthalRaw=$o,e.geoHealpix=Bs,e.geoHealpixRaw=us,e.geoHill=Eu,e.geoHillRaw=Fl,e.geoHomolosine=co,e.geoHomolosineRaw=al,e.geoHufnagel=Ls,e.geoHufnagelRaw=Ul,e.geoHyperelliptical=Vu,e.geoHyperellipticalRaw=Os,e.geoInterrupt=wc,e.geoInterruptedBoggs=Rd,e.geoInterruptedHomolosine=af,e.geoInterruptedMollweide=Tc,e.geoInterruptedMollweideHemispheres=jc,e.geoInterruptedSinuMollweide=tc,e.geoInterruptedSinusoidal=of,e.geoKavrayskiy7=Pf,e.geoKavrayskiy7Raw=Ff,e.geoLagrange=Fh,e.geoLagrangeRaw=rh,e.geoLarrivee=mu,e.geoLarriveeRaw=gu,e.geoLaskowski=as,e.geoLaskowskiRaw=Ql,e.geoLittrow=Ns,e.geoLittrowRaw=fo,e.geoLoximuthal=rc,e.geoLoximuthalRaw=ku,e.geoMiller=is,e.geoMillerRaw=sf,e.geoModifiedStereographic=Us,e.geoModifiedStereographicRaw=Xh,e.geoModifiedStereographicAlaska=Wc,e.geoModifiedStereographicGs48=_l,e.geoModifiedStereographicGs50=nh,e.geoModifiedStereographicMiller=Cu,e.geoModifiedStereographicLee=Ac,e.geoMollweide=Ee,e.geoMollweideRaw=de,e.geoMtFlatPolarParabolic=Sc,e.geoMtFlatPolarParabolicRaw=Mc,e.geoMtFlatPolarQuartic=If,e.geoMtFlatPolarQuarticRaw=Rf,e.geoMtFlatPolarSinusoidal=lf,e.geoMtFlatPolarSinusoidalRaw=eu,e.geoNaturalEarth2=Ec,e.geoNaturalEarth2Raw=tu,e.geoNellHammer=kc,e.geoNellHammerRaw=bs,e.geoInterruptedQuarticAuthalic=po,e.geoNicolosi=$h,e.geoNicolosiRaw=uf,e.geoPatterson=Pl,e.geoPattersonRaw=Hu,e.geoPolyconic=Yc,e.geoPolyconicRaw=ic,e.geoPolyhedral=Xc,e.geoPolyhedralButterfly=Lo,e.geoPolyhedralCollignon=Bf,e.geoPolyhedralWaterman=Of,e.geoProject=uh,e.geoGringortenQuincuncial=Je,e.geoPeirceQuincuncial=yt,e.geoPierceQuincuncial=yt,e.geoQuantize=Gt,e.geoQuincuncial=Wu,e.geoRectangularPolyconic=mr,e.geoRectangularPolyconicRaw=Bt,e.geoRobinson=mn,e.geoRobinsonRaw=en,e.geoSatellite=tn,e.geoSatelliteRaw=Vn,e.geoSinuMollweide=Kl,e.geoSinuMollweideRaw=du,e.geoSinusoidal=Qe,e.geoSinusoidalRaw=He,e.geoStitch=Mo,e.geoTimes=ho,e.geoTimesRaw=ya,e.geoTwoPointAzimuthal=xu,e.geoTwoPointAzimuthalRaw=Yi,e.geoTwoPointAzimuthalUsa=Vs,e.geoTwoPointEquidistant=ll,e.geoTwoPointEquidistantRaw=au,e.geoTwoPointEquidistantUsa=Yu,e.geoVanDerGrinten=ul,e.geoVanDerGrintenRaw=Pu,e.geoVanDerGrinten2=Wa,e.geoVanDerGrinten2Raw=Pc,e.geoVanDerGrinten3=Ph,e.geoVanDerGrinten3Raw=oi,e.geoVanDerGrinten4=iu,e.geoVanDerGrinten4Raw=pf,e.geoWagner=I,e.geoWagner7=G,e.geoWagnerRaw=b,e.geoWagner4=ke,e.geoWagner4Raw=xe,e.geoWagner6=et,e.geoWagner6Raw=Ne,e.geoWiechel=Tt,e.geoWiechelRaw=bt,e.geoWinkel3=Yt,e.geoWinkel3Raw=zt,Object.defineProperty(e,"__esModule",{value:!0})}))});var x7e=ne((svr,y7e)=>{"use strict";var Ou=Ea(),OH=Zt(),yFt=Fa(),nw=Math.PI/180,w2=180/Math.PI,UH={cursor:"pointer"},VH={cursor:"auto"};function xFt(e,t){var r=e.projection,n;return t._isScoped?n=bFt:t._isClipped?n=wFt:n=_Ft,n(e,r)}y7e.exports=xFt;function GH(e,t){return Ou.behavior.zoom().translate(t.translate()).scaleExtent(t.scaleExtent()).scale(t.scale())}function HH(e,t,r){var n=e.id,a=e.graphDiv,i=a.layout,o=i[n],s=a._fullLayout,l=s[n],u={},c={};function f(h,v){u[n+"."+h]=OH.nestedProperty(o,h).get(),yFt.call("_storeDirectGUIEdit",i,s._preGUI,u);var d=OH.nestedProperty(l,h);d.get()!==v&&(d.set(v),OH.nestedProperty(o,h).set(v),c[n+"."+h]=v)}r(f),f("projection.scale",t.scale()/e.fitScale),f("fitbounds",!1),a.emit("plotly_relayout",c)}function bFt(e,t){var r=GH(e,t);function n(){Ou.select(this).style(UH)}function a(){t.scale(Ou.event.scale).translate(Ou.event.translate),e.render(!0);var s=t.invert(e.midPt);e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.center.lon":s[0],"geo.center.lat":s[1]})}function i(s){var l=t.invert(e.midPt);s("center.lon",l[0]),s("center.lat",l[1])}function o(){Ou.select(this).style(VH),HH(e,t,i)}return r.on("zoomstart",n).on("zoom",a).on("zoomend",o),r}function _Ft(e,t){var r=GH(e,t),n=2,a,i,o,s,l,u,c,f,h;function v(M){return t.invert(M)}function d(M){var w=v(M);if(!w)return!0;var k=t(w);return Math.abs(k[0]-M[0])>n||Math.abs(k[1]-M[1])>n}function m(){Ou.select(this).style(UH);let{x:M,y:w,width:k,height:y}=this.getBBox();a=Ou.event.sourceEvent?Ou.mouse(this):[M+k/2,w+y/2],i=t.rotate(),o=t.translate(),s=i,l=v(a)}function x(){let{x:M,y:w,width:k,height:y}=this.getBBox();if(u=Ou.event.sourceEvent?Ou.mouse(this):[M+k/2,w+y/2],d(a)){r.scale(t.scale()),r.translate(t.translate());return}t.scale(Ou.event.scale),t.translate([o[0],Ou.event.translate[1]]),l?v(u)&&(f=v(u),c=[s[0]+(f[0]-l[0]),i[1],i[2]],t.rotate(c),s=c):(a=u,l=v(a)),h=!0,e.render(!0);var S=t.rotate(),T=t.invert(e.midPt);e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.center.lon":T[0],"geo.center.lat":T[1],"geo.projection.rotation.lon":-S[0]})}function g(){Ou.select(this).style(VH),h&&HH(e,t,E)}function E(M){var w=t.rotate(),k=t.invert(e.midPt);M("projection.rotation.lon",-w[0]),M("center.lon",k[0]),M("center.lat",k[1])}return r.on("zoomstart",m).on("zoom",x).on("zoomend",g),r}function wFt(e,t){var r={r:t.rotate(),k:t.scale()},n=GH(e,t),a=LFt(n,"zoomstart","zoom","zoomend"),i=0,o=n.on,s;n.on("zoomstart",function(){Ou.select(this).style(UH);let{x:h,y:v,width:d,height:m}=this.getBBox(),x=Ou.event.sourceEvent?Ou.mouse(this):[h+d/2,v+m/2],g=t.rotate(),E=g,M=t.translate(),w=TFt(g);s=H7(t,x),o.call(n,"zoom",function(){let{x:k,y,width:S,height:T}=this.getBBox(),p=Ou.event.sourceEvent?Ou.mouse(this):[k+S/2,y+T/2];if(t.scale(r.k=Ou.event.scale),!s)x=p,s=H7(t,x);else if(H7(t,p)){t.rotate(g).translate(M);var C=H7(t,p),A=MFt(s,C),P=EFt(AFt(w,A)),D=r.r=SFt(P,s,E);(!isFinite(D[0])||!isFinite(D[1])||!isFinite(D[2]))&&(D=E),t.rotate(D),E=D}u(a.of(this,arguments))}),l(a.of(this,arguments))}).on("zoomend",function(){Ou.select(this).style(VH),o.call(n,"zoom",null),c(a.of(this,arguments)),HH(e,t,f)}).on("zoom.redraw",function(){e.render(!0);var h=t.rotate();e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.projection.rotation.lon":-h[0],"geo.projection.rotation.lat":-h[1]})});function l(h){i++||h({type:"zoomstart"})}function u(h){h({type:"zoom"})}function c(h){--i||h({type:"zoomend"})}function f(h){var v=t.rotate();h("projection.rotation.lon",-v[0]),h("projection.rotation.lat",-v[1])}return Ou.rebind(n,a,"on")}function H7(e,t){var r=e.invert(t);return r&&isFinite(r[0])&&isFinite(r[1])&&kFt(r)}function TFt(e){var t=.5*e[0]*nw,r=.5*e[1]*nw,n=.5*e[2]*nw,a=Math.sin(t),i=Math.cos(t),o=Math.sin(r),s=Math.cos(r),l=Math.sin(n),u=Math.cos(n);return[i*s*u+a*o*l,a*s*u-i*o*l,i*o*u+a*s*l,i*s*l-a*o*u]}function AFt(e,t){var r=e[0],n=e[1],a=e[2],i=e[3],o=t[0],s=t[1],l=t[2],u=t[3];return[r*o-n*s-a*l-i*u,r*s+n*o+a*u-i*l,r*l-n*u+a*o+i*s,r*u+n*l-a*s+i*o]}function MFt(e,t){if(!(!e||!t)){var r=CFt(e,t),n=Math.sqrt(m7e(r,r)),a=.5*Math.acos(Math.max(-1,Math.min(1,m7e(e,t)))),i=Math.sin(a)/n;return n&&[Math.cos(a),r[2]*i,-r[1]*i,r[0]*i]}}function SFt(e,t,r){var n=NH(t,2,e[0]);n=NH(n,1,e[1]),n=NH(n,0,e[2]-r[2]);var a=t[0],i=t[1],o=t[2],s=n[0],l=n[1],u=n[2],c=Math.atan2(i,a)*w2,f=Math.sqrt(a*a+i*i),h,v;Math.abs(l)>f?(v=(l>0?90:-90)-c,h=0):(v=Math.asin(l/f)*w2-c,h=Math.sqrt(f*f-l*l));var d=180-v-2*c,m=(Math.atan2(u,s)-Math.atan2(o,h))*w2,x=(Math.atan2(u,s)-Math.atan2(o,-h))*w2,g=p7e(r[0],r[1],v,m),E=p7e(r[0],r[1],d,x);return g<=E?[v,m,r[2]]:[d,x,r[2]]}function p7e(e,t,r,n){var a=g7e(r-e),i=g7e(n-t);return Math.sqrt(a*a+i*i)}function g7e(e){return(e%360+540)%360-180}function NH(e,t,r){var n=r*nw,a=e.slice(),i=t===0?1:0,o=t===2?1:2,s=Math.cos(n),l=Math.sin(n);return a[i]=e[i]*s-e[o]*l,a[o]=e[o]*s+e[i]*l,a}function EFt(e){return[Math.atan2(2*(e[0]*e[1]+e[2]*e[3]),1-2*(e[1]*e[1]+e[2]*e[2]))*w2,Math.asin(Math.max(-1,Math.min(1,2*(e[0]*e[2]-e[3]*e[1]))))*w2,Math.atan2(2*(e[0]*e[3]+e[1]*e[2]),1-2*(e[2]*e[2]+e[3]*e[3]))*w2]}function kFt(e){var t=e[0]*nw,r=e[1]*nw,n=Math.cos(r);return[n*Math.cos(t),n*Math.sin(t),Math.sin(r)]}function m7e(e,t){for(var r=0,n=0,a=e.length;n{"use strict";var i1=Ea(),YH=O7(),FFt=YH.geoPath,PFt=YH.geoDistance,DFt=v7e(),RFt=Fa(),T2=Zt(),IFt=T2.strTranslate,j7=_a(),$A=li(),b7e=cu(),zFt=Sl(),WH=ri(),_7e=I0().getAutoRange,jH=od(),qFt=ef().prepSelect,BFt=ef().clearOutline,OFt=ef().selectOnClick,NFt=x7e(),Ld=GA(),T7e=sg(),{getFitboundsLonRange:UFt,unwrapLonRange:VFt}=T7e,A7e=C7(),GFt=_H().feature;function M7e(e){this.id=e.id,this.graphDiv=e.graphDiv,this.container=e.container,this.topojsonURL=e.topojsonURL,this.isStatic=e.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.scope=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}var up=M7e.prototype;S7e.exports=function(t){return new M7e(t)};up.plot=function(e,t,r,n){var a=this;if(n)return a.update(e,t,!0);a._geoCalcData=e,a._fullLayout=t;var i=t[this.id],o=[],s=!1;for(var l in Ld.layerNameToAdjective)if(l!=="frame"&&i["show"+l]){s=!0;break}for(var u=!1,c=0;c0&&o._module.calcGeoJSON(i,t)}if(!r){var s=this.updateProjection(e,t);if(s)return;(!this.viewInitial||this.scope!==n.scope)&&this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(t,n),this.updateDims(t,n),this.updateFx(t,n),zFt.generalUpdatePerTraceModule(this.graphDiv,this,e,n);var l=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=l.selectAll(".point"),this.dataPoints.text=l.selectAll("text"),this.dataPaths.line=l.selectAll(".js-line");var u=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=u.selectAll("path"),this._render()};up.updateProjection=function(e,t){var re;var r=this.graphDiv,n=t[this.id],a=t._size,i=n.domain,o=n.projection,s=n.lonaxis,l=n.lataxis,u=s._ax,c=l._ax,f=this.projection=HFt(n),h=[[a.l+a.w*i.x[0],a.t+a.h*(1-i.y[1])],[a.l+a.w*i.x[1],a.t+a.h*(1-i.y[0])]],v=n.center||{},d=o.rotation||{},m=s.range||[],x=l.range||[];if(n.fitbounds){if(u._length=h[1][0]-h[0][0],c._length=h[1][1]-h[0][1],u.range=_7e(r,u),c.range=_7e(r,c),!this.hasChoropleth&&n.fitbounds==="locations"){for(var g=[],E=!1,M=0;M0?(u.range[1]-u.range[0]-p)/2*(T[1]-T[0])/p:0;u.range=[T[0]-C,T[1]+C]}}}var A=(u.range[0]+u.range[1])/2,P=(c.range[0]+c.range[1])/2;if(n._isScoped)v={lon:A,lat:P};else if(n._isClipped){v={lon:A,lat:P},d={lon:A,lat:P,roll:d.roll};var D=o.type,z=Ld.lonaxisSpan[D]/2||180,q=Ld.lataxisSpan[D]/2||90;m=[A-z,A+z],x=[P-q,P+q]}else v={lon:A,lat:P},d={lon:A,lat:d.lat,roll:d.roll}}f.center([v.lon-d.lon,v.lat-d.lat]).rotate([-d.lon,-d.lat,d.roll]).parallels(o.parallels);var U=w7e(m,x);f.fitExtent(h,U);var O=this.bounds=f.getBounds(U),R=this.fitScale=f.scale(),B=f.translate();if(f.scaleExtent=()=>{var ce;let{minscale:j}=o,fe=(ce=o.maxscale)!=null?ce:1/0;return[R*Math.min(j,fe),R*Math.max(j,fe)]},n.fitbounds){var Y=f.getBounds(w7e(u.range,c.range)),X=Math.min((O[1][0]-O[0][0])/(Y[1][0]-Y[0][0]),(O[1][1]-O[0][1])/(Y[1][1]-Y[0][1]));isFinite(X)?f.scale(X*R):T2.warn("Something went wrong during"+this.id+"fitbounds computations.")}else f.scale(o.scale*R);var te=this.midPt=[(O[0][0]+O[1][0])/2,(O[0][1]+O[1][1])/2];if(f.translate([B[0]+(te[0]-B[0]),B[1]+(te[1]-B[1])]).clipExtent(O),n._isAlbersUsa){var se=f([v.lon,v.lat]);if(se){var ue=f.translate();f.translate([ue[0]-(se[0]-ue[0]),ue[1]-(se[1]-ue[1])])}}};up.updateBaseLayers=function(e,t){var r=this,n=r.topojson,a=r.layers,i=r.basePaths;function o(h){return h==="lonaxis"||h==="lataxis"}function s(h){return!!Ld.lineLayers[h]}function l(h){return!!Ld.fillLayers[h]}var u=this.hasChoropleth?Ld.layersForChoropleth:Ld.layers,c=u.filter(function(h){return s(h)||l(h)?t["show"+h]:o(h)?t[h].showgrid:!0}),f=r.framework.selectAll(".layer").data(c,String);f.exit().each(function(h){delete a[h],delete i[h],i1.select(this).remove()}),f.enter().append("g").attr("class",function(h){return"layer "+h}).each(function(h){var v=a[h]=i1.select(this);h==="bg"?r.bgRect=v.append("rect").style("pointer-events","all"):o(h)?i[h]=v.append("path").style("fill","none"):h==="backplot"?v.append("g").classed("choroplethlayer",!0):h==="frontplot"?v.append("g").classed("scatterlayer",!0):s(h)?i[h]=v.append("path").style("fill","none").style("stroke-miterlimit",2):l(h)&&(i[h]=v.append("path").style("stroke","none"))}),f.order(),f.each(function(h){var v=i[h],d=Ld.layerNameToAdjective[h];h==="frame"?v.datum(Ld.sphereSVG):s(h)||l(h)?v.datum(GFt(n,n.objects[h])):o(h)&&v.datum(jFt(h,t,e)).call(j7.stroke,t[h].gridcolor).call($A.dashLine,t[h].griddash,t[h].gridwidth),s(h)?v.call(j7.stroke,t[d+"color"]).call($A.dashLine,"",t[d+"width"]):l(h)&&v.call(j7.fill,t[d+"color"])})};up.updateDims=function(e,t){var r=this.bounds,n=(t.framewidth||0)/2,a=r[0][0]-n,i=r[0][1]-n,o=r[1][0]-a+n,s=r[1][1]-i+n;$A.setRect(this.clipRect,a,i,o,s),this.bgRect.call($A.setRect,a,i,o,s).call(j7.fill,t.bgcolor),this.xaxis._offset=a,this.xaxis._length=o,this.yaxis._offset=i,this.yaxis._length=s};up.updateFx=function(e,t){var r=this,n=r.graphDiv,a=r.bgRect,i=e.dragmode,o=e.clickmode;if(r.isStatic)return;function s(){var f=r.viewInitial,h={};for(var v in f)h[r.id+"."+v]=f[v];RFt.call("_guiRelayout",n,h),n.emit("plotly_doubleclick",null)}function l(f){return r.projection.invert([f[0]+r.xaxis._offset,f[1]+r.yaxis._offset])}var u=function(f,h){if(h.isRect){var v=f.range={};v[r.id]=[l([h.xmin,h.ymin]),l([h.xmax,h.ymax])]}else{var d=f.lassoPoints={};d[r.id]=h.map(l)}},c={element:r.bgRect.node(),gd:n,plotinfo:{id:r.id,xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:u},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id,clickFn:function(f){f===2&&BFt(n)}};if(i==="pan"){a.node().onmousedown=null;let f=NFt(r,t);if(a.call(f),!i1.event){let h=r.projection.scale(),[v,d]=r.projection.scaleExtent();(hd)&&f.event(a)}a.on("dblclick.zoom",s),n._context._scrollZoom.geo||a.on("wheel.zoom",null)}else(i==="select"||i==="lasso")&&(a.on(".zoom",null),c.prepFn=function(f,h,v){qFt(f,h,v,c,i)},jH.init(c));a.on("mousemove",function(){var f=r.projection.invert(T2.getPositionFromD3Event());if(!f)return jH.unhover(n,i1.event);r.xaxis.p2c=function(){return f[0]},r.yaxis.p2c=function(){return f[1]},b7e.hover(n,i1.event,r.id)}),a.on("mouseout",function(){n._dragging||jH.unhover(n,i1.event)}),a.on("click",function(){i!=="select"&&i!=="lasso"&&(o.indexOf("select")>-1&&OFt(i1.event,n,[r.xaxis],[r.yaxis],r.id,c),o.indexOf("event")>-1&&b7e.click(n,i1.event))})};up.makeFramework=function(){var e=this,t=e.graphDiv,r=t._fullLayout,n="clip"+r._uid+e.id;e.clipDef=r._clips.append("clipPath").attr("id",n),e.clipRect=e.clipDef.append("rect"),e.framework=i1.select(e.container).append("g").attr("class","geo "+e.id).call($A.setClipUrl,n,t),e.project=function(a){var i=e.projection(a);return i?[i[0]-e.xaxis._offset,i[1]-e.yaxis._offset]:[null,null]},e.xaxis={_id:"x",c2p:function(a){return e.project(a)[0]}},e.yaxis={_id:"y",c2p:function(a){return e.project(a)[1]}},e.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},WH.setConvert(e.mockAxis,r)};up.saveViewInitial=function(e){var t=e.center||{},r=e.projection,n=r.rotation||{};this.viewInitial={fitbounds:e.fitbounds,"projection.scale":r.scale};var a;e._isScoped?a={"center.lon":t.lon,"center.lat":t.lat}:e._isClipped?a={"projection.rotation.lon":n.lon,"projection.rotation.lat":n.lat,"center.lon":t.lon,"center.lat":t.lat}:a={"center.lon":t.lon,"center.lat":t.lat,"projection.rotation.lon":n.lon},T2.extendFlat(this.viewInitial,a)};up.render=function(e){this._hasMarkerAngles&&e?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()};up._render=function(){var e=this.projection,t=e.getPath(),r;function n(i){var o=e(i.lonlat);return o?IFt(o[0],o[1]):null}function a(i){return e.isLonLatOverEdges(i.lonlat)?"none":null}for(r in this.basePaths)this.basePaths[r].attr("d",t);for(r in this.dataPaths)this.dataPaths[r].attr("d",function(i){return t(i.geojson)});for(r in this.dataPoints)this.dataPoints[r].attr("display",a).attr("transform",n)};function HFt(e){var t=e.projection,r=t.type,n=Ld.projNames[r];n="geo"+T2.titleCase(n);for(var a=YH[n]||DFt[n],i=a(),o=e._isSatellite?Math.acos(1/t.distance)*180/Math.PI:e._isClipped?Ld.lonaxisSpan[r]/2:null,s=["center","rotate","parallels","clipExtent"],l=function(f){return f?i:[]},u=0;ud}else return!1},i.getPath=function(){return FFt().projection(i)},i.getBounds=function(f){return i.getPath().bounds(f)},i.precision(Ld.precision),e._isSatellite&&i.tilt(t.tilt).distance(t.distance),o&&i.clipAngle(o-Ld.clipPad),i}function jFt(e,t,r){var n=1e-6,a=2.5,i=t[e],o=Ld.scopeDefaults[t.scope],s,l,u;e==="lonaxis"?(s=o.lonaxisRange,l=o.lataxisRange,u=function(E,M){return[E,M]}):e==="lataxis"&&(s=o.lataxisRange,l=o.lonaxisRange,u=function(E,M){return[M,E]});var c={type:"linear",range:[s[0],s[1]-n],tick0:i.tick0,dtick:i.dtick};WH.setConvert(c,r);var f=WH.calcTicks(c);!t.isScoped&&e==="lonaxis"&&f.pop();for(var h=f.length,v=new Array(h),d=0;d{"use strict";var iw=Ic(),WFt=zl().attributes,YFt=xf().dash,aw=GA(),XFt=Il().overrideAll,k7e=(By(),vl(qy)).default,C7e={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:iw.lightLine},gridwidth:{valType:"number",min:0,dflt:1},griddash:YFt},ZFt=L7e.exports=XFt({domain:WFt({name:"geo"},{}),fitbounds:{valType:"enumerated",values:[!1,"locations","geojson"],dflt:"locations",editType:"plot"},resolution:{valType:"enumerated",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:"enumerated",values:k7e(aw.scopeDefaults),dflt:"world"},projection:{type:{valType:"enumerated",values:k7e(aw.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},minscale:{valType:"number",min:0,dflt:0},maxscale:{valType:"number",min:0,dflt:null}},center:{lon:{valType:"number"},lat:{valType:"number"}},visible:{valType:"boolean",dflt:!0},showcoastlines:{valType:"boolean"},coastlinecolor:{valType:"color",dflt:iw.defaultLine},coastlinewidth:{valType:"number",min:0,dflt:1},showland:{valType:"boolean",dflt:!1},landcolor:{valType:"color",dflt:aw.landColor},showocean:{valType:"boolean",dflt:!1},oceancolor:{valType:"color",dflt:aw.waterColor},showlakes:{valType:"boolean",dflt:!1},lakecolor:{valType:"color",dflt:aw.waterColor},showrivers:{valType:"boolean",dflt:!1},rivercolor:{valType:"color",dflt:aw.waterColor},riverwidth:{valType:"number",min:0,dflt:1},showcountries:{valType:"boolean"},countrycolor:{valType:"color",dflt:iw.defaultLine},countrywidth:{valType:"number",min:0,dflt:1},showsubunits:{valType:"boolean"},subunitcolor:{valType:"color",dflt:iw.defaultLine},subunitwidth:{valType:"number",min:0,dflt:1},showframe:{valType:"boolean"},framecolor:{valType:"color",dflt:iw.defaultLine},framewidth:{valType:"number",min:0,dflt:1},bgcolor:{valType:"color",dflt:iw.background},lonaxis:C7e,lataxis:C7e},"plot","from-root");ZFt.uirevision={valType:"any",editType:"none"}});var D7e=ne((cvr,P7e)=>{"use strict";var W7=Zt(),$Ft=qx(),KFt=mh().getSubplotData,{unwrapLonRange:JFt}=sg(),KA=GA(),QFt=XH(),F7e=KA.axesNames;P7e.exports=function(t,r,n){$Ft(t,r,n,{type:"geo",attributes:QFt,handleDefaults:ePt,fullData:n,partition:"y"})};function ePt(e,t,r,n){var a=KFt(n.fullData,"geo",n.id),i=a.map(function(Y){return Y.index}),o=r("resolution"),s=r("scope"),l=KA.scopeDefaults[s],u=r("projection.type",l.projType),c=t._isAlbersUsa=u==="albers usa";c&&(s=t.scope="usa");var f=t._isScoped=s!=="world",h=t._isSatellite=u==="satellite",v=t._isConic=u.indexOf("conic")!==-1||u==="albers",d=t._isClipped=!!KA.lonaxisSpan[u];if(e.visible===!1){var m=W7.extendDeep({},t._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),t._template=m}for(var x=r("visible"),g,E=0;Efe[ce]!=null)||KA.fitboundsIncompatible.has(u)?t.fitbounds=!1:re.forEach(({dst:fe,key:ce})=>fe&&(fe[ce]=null))}}});var ZH=ne((fvr,z7e)=>{"use strict";var tPt=mh().getSubplotCalcData,rPt=Zt().counterRegex,nPt=E7e(),o1="geo",R7e=rPt(o1),I7e={};I7e[o1]={valType:"subplotid",dflt:o1,editType:"calc"};function aPt(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[o1],a=0;a{"use strict";q7e.exports={attributes:rw(),supplyDefaults:dLe(),colorbar:bh(),formatLabels:gLe(),calc:bH(),calcGeoJSON:BH().calcGeoJSON,plot:BH().plot,style:RH(),styleOnSelect:Md().styleOnSelect,hoverPoints:s7e(),eventData:u7e(),selectPoints:h7e(),moduleType:"trace",name:"scattergeo",basePlotModule:ZH(),categories:["geo","symbols","showLegend","scatter-like"],meta:{}}});var N7e=ne((dvr,O7e)=>{"use strict";O7e.exports=B7e()});var JA=ne((vvr,G7e)=>{"use strict";var{hovertemplateAttrs:sPt,templatefallbackAttrs:lPt}=rs(),$m=rw(),uPt=Ys(),U7e=os(),cPt=Ic().defaultLine,Zm=ci().extendFlat,V7e=$m.marker.line;G7e.exports=Zm({locations:{valType:"data_array",editType:"calc"},locationmode:$m.locationmode,z:{valType:"data_array",editType:"calc"},geojson:Zm({},$m.geojson,{}),featureidkey:$m.featureidkey,text:Zm({},$m.text,{}),hovertext:Zm({},$m.hovertext,{}),marker:{line:{color:Zm({},V7e.color,{dflt:cPt}),width:Zm({},V7e.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:$m.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:$m.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:Zm({},U7e.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:sPt(),hovertemplatefallback:lPt(),showlegend:Zm({},U7e.showlegend,{dflt:!1})},uPt("",{cLetter:"z",editTypeOverride:"calc"}))});var j7e=ne((pvr,H7e)=>{"use strict";var Y7=Zt(),fPt=bf(),hPt=JA();H7e.exports=function(t,r,n,a){function i(h,v){return Y7.coerce(t,r,hPt,h,v)}var o=i("locations"),s=i("z");if(!(o&&o.length&&Y7.isArrayOrTypedArray(s)&&s.length)){r.visible=!1;return}r._length=Math.min(o.length,s.length);var l=i("geojson"),u;(typeof l=="string"&&l!==""||Y7.isPlainObject(l))&&(u="geojson-id");var c=i("locationmode",u);c==="geojson-id"&&i("featureidkey"),i("text"),i("hovertext"),i("hovertemplate"),i("hovertemplatefallback");var f=i("marker.line.width");f&&i("marker.line.color"),i("marker.opacity"),fPt(t,r,a,i,{prefix:"",cLetter:"z"}),Y7.coerceSelectionMarkerOpacity(r,i)}});var $H=ne((gvr,X7e)=>{"use strict";var W7e=mi(),dPt=uo().BADNUM,vPt=qh(),pPt=Op(),gPt=mv();function Y7e(e){return e&&typeof e=="string"}X7e.exports=function(t,r){var n=r._length,a=new Array(n),i;r.geojson?i=function(c){return Y7e(c)||W7e(c)}:i=Y7e;for(var o=0;o{"use strict";var mPt=Ea(),yPt=_a(),KH=li(),xPt=El();function bPt(e,t){t&&Z7e(e,t)}function Z7e(e,t){var r=t[0].trace,n=t[0].node3,a=n.selectAll(".choroplethlocation"),i=r.marker||{},o=i.line||{},s=xPt.makeColorScaleFuncFromTrace(r);a.each(function(l){mPt.select(this).attr("fill",s(l.z)).call(yPt.stroke,l.mlc||o.color).call(KH.dashLine,"",l.mlw||o.width||0).style("opacity",i.opacity)}),KH.selectedPointStyle(a,r)}function _Pt(e,t){var r=t[0].node3,n=t[0].trace;n.selectedpoints?KH.selectedPointStyle(r.selectAll(".choroplethlocation"),n):Z7e(e,t)}$7e.exports={style:bPt,styleOnSelect:_Pt}});var JH=ne((yvr,Q7e)=>{"use strict";var wPt=Ea(),K7e=Zt(),ow=sg(),TPt=C7().getTopojsonFeatures,J7e=I0().findExtremes,APt=X7().style;function MPt(e,t,r){var n=t.layers.backplot.select(".choroplethlayer");K7e.makeTraceGroups(n,r,"trace choropleth").each(function(a){var i=wPt.select(this),o=i.selectAll("path.choroplethlocation").data(K7e.identity);o.enter().append("path").classed("choroplethlocation",!0),o.exit().remove(),APt(e,a)})}function SPt(e,t){var r=e[0].trace,n=t[r.geo],a=n._subplot,i=r.locationmode,o=r._length,s=i==="geojson-id"?ow.extractTraceFeature(e):TPt(r,a.topojson);let l=n.fitbounds==="geojson"&&i==="geojson-id"?ow.computeBbox(ow.getTraceGeojson(r)):null;for(var u=[],c=[],f=0;f{"use strict";var EPt=ri(),kPt=JA(),CPt=Zt().fillText,{ANTIMERIDIAN_LON_SHIFT:LPt}=sg();e9e.exports=function(t,r,n){var a=t.cd,i=a[0].trace,o=t.subplot,s,l,u,c,f=[r,n];let h=[r+LPt,n];for(l=0;l")}}});var ej=ne((bvr,t9e)=>{"use strict";t9e.exports=function(t,r,n,a,i){t.location=r.location,t.z=r.z;var o=a[i];return o.fIn&&o.fIn.properties&&(t.properties=o.fIn.properties),t.ct=o.ct,t}});var tj=ne((_vr,r9e)=>{"use strict";r9e.exports=function(t,r){var n=t.cd,a=t.xaxis,i=t.yaxis,o=[],s,l,u,c,f;if(r===!1)for(s=0;s{"use strict";n9e.exports={attributes:JA(),supplyDefaults:j7e(),colorbar:V_(),calc:$H(),calcGeoJSON:JH().calcGeoJSON,plot:JH().plot,style:X7().style,styleOnSelect:X7().styleOnSelect,hoverPoints:QH(),eventData:ej(),selectPoints:tj(),moduleType:"trace",name:"choropleth",basePlotModule:ZH(),categories:["geo","noOpacity","showLegend"],meta:{}}});var o9e=ne((Tvr,i9e)=>{"use strict";i9e.exports=a9e()});var Z7=ne((Avr,l9e)=>{"use strict";var PPt=Fa(),Ev=Zt(),DPt=y_();function RPt(e,t,r,n){var a=e.cd,i=a[0].t,o=a[0].trace,s=e.xa,l=e.ya,u=i.x,c=i.y,f=s.c2p(t),h=l.c2p(r),v=e.distance,d;if(i.tree){var m=s.p2c(f-v),x=s.p2c(f+v),g=l.p2c(h-v),E=l.p2c(h+v);n==="x"?d=i.tree.range(Math.min(m,x),Math.min(l._rl[0],l._rl[1]),Math.max(m,x),Math.max(l._rl[0],l._rl[1])):d=i.tree.range(Math.min(m,x),Math.min(g,E),Math.max(m,x),Math.max(g,E))}else d=i.ids;var M,w,k,y,S,T,p,C,A,P=v;if(n==="x"){var D=!!o.xperiodalignment,z=!!o.yperiodalignment;for(S=0;S=Math.min(q,U)&&f<=Math.max(q,U)?0:1/0}if(T=Math.min(O,R)&&h<=Math.max(O,R)?0:1/0}A=Math.sqrt(T*T+p*p),w=d[S]}}}else for(S=d.length-1;S>-1;S--)M=d[S],k=u[M],y=c[M],T=s.c2p(k)-f,p=l.c2p(y)-h,C=Math.sqrt(T*T+p*p),C{"use strict";var u9e=20;c9e.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:u9e,SYMBOL_STROKE:u9e/20,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}});var QA=ne((Svr,v9e)=>{"use strict";var IPt=os(),zPt=pl(),qPt=zp(),hu=Tu(),f9e=Wl().axisHoverFormat,h9e=Ys(),BPt=(By(),vl(qy)).default,rj=ci().extendFlat,OPt=Il().overrideAll,NPt=Km().DASHES,d9e=hu.line,lg=hu.marker,UPt=lg.line,Jm=v9e.exports=OPt({x:hu.x,x0:hu.x0,dx:hu.dx,y:hu.y,y0:hu.y0,dy:hu.dy,xperiod:hu.xperiod,yperiod:hu.yperiod,xperiod0:hu.xperiod0,yperiod0:hu.yperiod0,xperiodalignment:hu.xperiodalignment,yperiodalignment:hu.yperiodalignment,xhoverformat:f9e("x"),yhoverformat:f9e("y"),text:hu.text,hovertext:hu.hovertext,textposition:hu.textposition,textfont:zPt({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:"calc",colorEditType:"style",arrayOk:!0,noNumericWeightValues:!0,variantValues:["normal","small-caps"]}),mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"]},line:{color:d9e.color,width:d9e.width,shape:{valType:"enumerated",values:["linear","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot"},dash:{valType:"enumerated",values:BPt(NPt),dflt:"solid"}},marker:rj({},h9e("marker"),{symbol:lg.symbol,angle:lg.angle,size:lg.size,sizeref:lg.sizeref,sizemin:lg.sizemin,sizemode:lg.sizemode,opacity:lg.opacity,colorbar:lg.colorbar,line:rj({},h9e("marker.line"),{width:UPt.width})}),connectgaps:hu.connectgaps,fill:rj({},hu.fill,{dflt:"none"}),fillcolor:qPt(),selected:{marker:hu.selected.marker,textfont:hu.selected.textfont},unselected:{marker:hu.unselected.marker,textfont:hu.unselected.textfont},opacity:IPt.opacity},"calc","nested");Jm.x.editType=Jm.y.editType=Jm.x0.editType=Jm.y0.editType="calc+clearAxisTypes";Jm.hovertemplate=hu.hovertemplate;Jm.hovertemplatefallback=hu.hovertemplatefallback;Jm.texttemplate=hu.texttemplate;Jm.texttemplatefallback=hu.texttemplatefallback});var $7=ne(nj=>{"use strict";var p9e=Km();nj.isOpenSymbol=function(e){return typeof e=="string"?p9e.OPEN_RE.test(e):e%200>100};nj.isDotSymbol=function(e){return typeof e=="string"?p9e.DOT_RE.test(e):e>200}});var y9e=ne((kvr,m9e)=>{"use strict";var g9e=Zt(),VPt=Fa(),GPt=$7(),HPt=QA(),jPt=Ip(),K7=ml(),WPt=yx(),YPt=U0(),XPt=Kv(),ZPt=V0(),$Pt=Bp(),KPt=G0();m9e.exports=function(t,r,n,a){function i(v,d){return g9e.coerce(t,r,HPt,v,d)}var o=t.marker?GPt.isOpenSymbol(t.marker.symbol):!1,s=K7.isBubble(t),l=WPt(t,r,a,i);if(!l){r.visible=!1;return}YPt(t,r,a,i),i("xhoverformat"),i("yhoverformat");var u=l{"use strict";var JPt=vk();x9e.exports=function(t,r,n){var a=t.i;return"x"in t||(t.x=r._x[a]),"y"in t||(t.y=r._y[a]),JPt(t,r,n)}});var w9e=ne((Lvr,_9e)=>{"use strict";function QPt(e,t,r,n,a){for(var i=a+1;n<=a;){var o=n+a>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l>=0?(i=o,a=o-1):n=o+1}return i}function eDt(e,t,r,n,a){for(var i=a+1;n<=a;){var o=n+a>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l>0?(i=o,a=o-1):n=o+1}return i}function tDt(e,t,r,n,a){for(var i=n-1;n<=a;){var o=n+a>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l<0?(i=o,n=o+1):a=o-1}return i}function rDt(e,t,r,n,a){for(var i=n-1;n<=a;){var o=n+a>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l<=0?(i=o,n=o+1):a=o-1}return i}function nDt(e,t,r,n,a){for(;n<=a;){var i=n+a>>>1,o=e[i],s=r!==void 0?r(o,t):o-t;if(s===0)return i;s<=0?n=i+1:a=i-1}return-1}function e6(e,t,r,n,a,i){return typeof r=="function"?i(e,t,r,n===void 0?0:n|0,a===void 0?e.length-1:a|0):i(e,t,void 0,r===void 0?0:r|0,n===void 0?e.length-1:n|0)}_9e.exports={ge:function(e,t,r,n,a){return e6(e,t,r,n,a,QPt)},gt:function(e,t,r,n,a){return e6(e,t,r,n,a,eDt)},lt:function(e,t,r,n,a){return e6(e,t,r,n,a,tDt)},le:function(e,t,r,n,a){return e6(e,t,r,n,a,rDt)},eq:function(e,t,r,n,a){return e6(e,t,r,n,a,nDt)}}});var s1=ne((Fvr,A9e)=>{"use strict";A9e.exports=function(t,r,n){var a={},i,o;if(typeof r=="string"&&(r=T9e(r)),Array.isArray(r)){var s={};for(o=0;o{"use strict";var aDt=s1();M9e.exports=iDt;function iDt(e){var t;return arguments.length>1&&(e=arguments),typeof e=="string"?e=e.split(/\s/).map(parseFloat):typeof e=="number"&&(e=[e]),e.length&&typeof e[0]=="number"?e.length===1?t={width:e[0],height:e[0],x:0,y:0}:e.length===2?t={width:e[0],height:e[1],x:0,y:0}:t={x:e[0],y:e[1],width:e[2]-e[0]||0,height:e[3]-e[1]||0}:e&&(e=aDt(e,{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"}),t={x:e.left||0,y:e.top||0},e.width==null?e.right?t.width=e.right-t.x:t.width=0:t.width=e.width,e.height==null?e.bottom?t.height=e.bottom-t.y:t.height=0:t.height=e.height),t}});var A2=ne((Dvr,S9e)=>{"use strict";S9e.exports=oDt;function oDt(e,t){if(!e||e.length==null)throw Error("Argument should be an array");t==null?t=1:t=Math.floor(t);for(var r=Array(t*2),n=0;na&&(a=e[o]),e[o]{E9e.exports=function(){for(var e=0;e{var C9e=u7();L9e.exports=sDt;function sDt(e,t,r){if(!e)throw new TypeError("must specify data as first parameter");if(r=+(r||0)|0,Array.isArray(e)&&e[0]&&typeof e[0][0]=="number"){var n=e[0].length,a=e.length*n,i,o,s,l;(!t||typeof t=="string")&&(t=new(C9e(t||"float32"))(a+r));var u=t.length-r;if(a!==u)throw new Error("source length "+a+" ("+n+"x"+e.length+") does not match destination length "+u);for(i=0,s=r;i{"use strict";F9e.exports=function(e){var t=typeof e;return e!==null&&(t==="object"||t==="function")}});var R9e=ne((qvr,D9e)=>{"use strict";D9e.exports=Math.log2||function(e){return Math.log(e)*Math.LOG2E}});var U9e=ne((Bvr,N9e)=>{"use strict";var I9e=w9e(),z9e=zA(),lDt=sw(),uDt=A2(),q9e=s1(),ij=k9e(),cDt=M2(),fDt=P9e(),hDt=u7(),B9e=R9e(),dDt=1073741824;N9e.exports=function(t,r){r||(r={}),t=cDt(t,"float64"),r=q9e(r,{bounds:"range bounds dataBox databox",maxDepth:"depth maxDepth maxdepth level maxLevel maxlevel levels",dtype:"type dtype format out dst output destination"});let n=ij(r.maxDepth,255),a=ij(r.bounds,uDt(t,2));a[0]===a[2]&&a[2]++,a[1]===a[3]&&a[3]++;let i=O9e(t,a),o=t.length>>>1,s;r.dtype||(r.dtype="array"),typeof r.dtype=="string"?s=new(hDt(r.dtype))(o):r.dtype&&(s=r.dtype,Array.isArray(s)&&(s.length=o));for(let g=0;gn||y>dDt){for(let R=0;Rte||p>se||C=P||Y===X)return;let ue=l[B];X===void 0&&(X=ue.length);for(let Pe=Y;Pe=w&&ze<=y&&Xe>=k&&Xe<=S&&D.push(le)}let re=u[B],j=re[Y*4+0],fe=re[Y*4+1],ce=re[Y*4+2],oe=re[Y*4+3],we=q(re,Y+1),he=R*.5,ye=B+1;z(U,O,he,ye,j,fe||ce||oe||we),z(U,O+he,he,ye,fe,ce||oe||we),z(U+he,O,he,ye,ce,oe||we),z(U+he,O+he,he,ye,oe,we)}function q(U,O){let R=null,B=0;for(;R===null;)if(R=U[O*4+B],B++,B>U.length)return null;return R}return D}function m(g,E,M,w,k){let y=[];for(let S=0;S{"use strict";V9e.exports=U9e()});var oj=ne((Nvr,G9e)=>{G9e.exports=vDt;function vDt(e){var t=0,r=0,n=0,a=0;return e.map(function(i){i=i.slice();var o=i[0],s=o.toUpperCase();if(o!=s)switch(i[0]=s,o){case"a":i[6]+=n,i[7]+=a;break;case"v":i[1]+=a;break;case"h":i[1]+=n;break;default:for(var l=1;l{"use strict";Object.defineProperty(Q7,"__esModule",{value:!0});var pDt=(function(){function e(t,r){var n=[],a=!0,i=!1,o=void 0;try{for(var s=t[Symbol.iterator](),l;!(a=(l=s.next()).done)&&(n.push(l.value),!(r&&n.length===r));a=!0);}catch(u){i=!0,o=u}finally{try{!a&&s.return&&s.return()}finally{if(i)throw o}}return n}return function(t,r){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),t6=Math.PI*2,sj=function(t,r,n,a,i,o,s){var l=t.x,u=t.y;l*=r,u*=n;var c=a*l-i*u,f=i*l+a*u;return{x:c+o,y:f+s}},gDt=function(t,r){var n=r===1.5707963267948966?.551915024494:r===-1.5707963267948966?-.551915024494:1.3333333333333333*Math.tan(r/4),a=Math.cos(t),i=Math.sin(t),o=Math.cos(t+r),s=Math.sin(t+r);return[{x:a-i*n,y:i+a*n},{x:o+s*n,y:s-o*n},{x:o,y:s}]},H9e=function(t,r,n,a){var i=t*a-r*n<0?-1:1,o=t*n+r*a;return o>1&&(o=1),o<-1&&(o=-1),i*Math.acos(o)},mDt=function(t,r,n,a,i,o,s,l,u,c,f,h){var v=Math.pow(i,2),d=Math.pow(o,2),m=Math.pow(f,2),x=Math.pow(h,2),g=v*d-v*x-d*m;g<0&&(g=0),g/=v*x+d*m,g=Math.sqrt(g)*(s===l?-1:1);var E=g*i/o*h,M=g*-o/i*f,w=c*E-u*M+(t+n)/2,k=u*E+c*M+(r+a)/2,y=(f-E)/i,S=(h-M)/o,T=(-f-E)/i,p=(-h-M)/o,C=H9e(1,0,y,S),A=H9e(y,S,T,p);return l===0&&A>0&&(A-=t6),l===1&&A<0&&(A+=t6),[w,k,C,A]},yDt=function(t){var r=t.px,n=t.py,a=t.cx,i=t.cy,o=t.rx,s=t.ry,l=t.xAxisRotation,u=l===void 0?0:l,c=t.largeArcFlag,f=c===void 0?0:c,h=t.sweepFlag,v=h===void 0?0:h,d=[];if(o===0||s===0)return[];var m=Math.sin(u*t6/360),x=Math.cos(u*t6/360),g=x*(r-a)/2+m*(n-i)/2,E=-m*(r-a)/2+x*(n-i)/2;if(g===0&&E===0)return[];o=Math.abs(o),s=Math.abs(s);var M=Math.pow(g,2)/Math.pow(o,2)+Math.pow(E,2)/Math.pow(s,2);M>1&&(o*=Math.sqrt(M),s*=Math.sqrt(M));var w=mDt(r,n,a,i,o,s,f,v,m,x,g,E),k=pDt(w,4),y=k[0],S=k[1],T=k[2],p=k[3],C=Math.abs(p)/(t6/4);Math.abs(1-C)<1e-7&&(C=1);var A=Math.max(Math.ceil(C),1);p/=A;for(var P=0;P{"use strict";X9e.exports=bDt;var xDt=W9e();function bDt(e){for(var t,r=[],n=0,a=0,i=0,o=0,s=null,l=null,u=0,c=0,f=0,h=e.length;f4?(n=v[v.length-4],a=v[v.length-3]):(n=u,a=c),r.push(v)}return r}function e9(e,t,r,n){return["C",e,t,r,n,r,n]}function Y9e(e,t,r,n,a,i){return["C",e/3+2/3*r,t/3+2/3*n,a/3+2/3*r,i/3+2/3*n,a,i]}});var lj=ne((Vvr,$9e)=>{"use strict";$9e.exports=function(t){return typeof t!="string"?!1:(t=t.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\dz]$/i.test(t)&&t.length>4))}});var Q9e=ne((Gvr,J9e)=>{"use strict";var _Dt=V5(),wDt=oj(),TDt=Z9e(),ADt=lj(),K9e=$T();J9e.exports=MDt;function MDt(e){if(Array.isArray(e)&&e.length===1&&typeof e[0]=="string"&&(e=e[0]),typeof e=="string"&&(K9e(ADt(e),"String is not an SVG path."),e=_Dt(e)),K9e(Array.isArray(e),"Argument should be a string or an array of path segments."),e=wDt(e),e=TDt(e),!e.length)return[0,0,0,0];for(var t=[1/0,1/0,-1/0,-1/0],r=0,n=e.length;rt[2]&&(t[2]=a[i+0]),a[i+1]>t[3]&&(t[3]=a[i+1]);return t}});var iFe=ne((Hvr,aFe)=>{var S2=Math.PI,eFe=nFe(120);aFe.exports=SDt;function SDt(e){for(var t,r=[],n=0,a=0,i=0,o=0,s=null,l=null,u=0,c=0,f=0,h=e.length;f7&&(r.push(v.splice(0,7)),v.unshift("C"));break;case"S":var m=u,x=c;(t=="C"||t=="S")&&(m+=m-n,x+=x-a),v=["C",m,x,v[1],v[2],v[3],v[4]];break;case"T":t=="Q"||t=="T"?(s=u*2-s,l=c*2-l):(s=u,l=c),v=tFe(u,c,s,l,v[1],v[2]);break;case"Q":s=v[1],l=v[2],v=tFe(u,c,v[1],v[2],v[3],v[4]);break;case"L":v=t9(u,c,v[1],v[2]);break;case"H":v=t9(u,c,v[1],c);break;case"V":v=t9(u,c,u,v[1]);break;case"Z":v=t9(u,c,i,o);break}t=d,u=v[v.length-2],c=v[v.length-1],v.length>4?(n=v[v.length-4],a=v[v.length-3]):(n=u,a=c),r.push(v)}return r}function t9(e,t,r,n){return["C",e,t,r,n,r,n]}function tFe(e,t,r,n,a,i){return["C",e/3+2/3*r,t/3+2/3*n,a/3+2/3*r,i/3+2/3*n,a,i]}function rFe(e,t,r,n,a,i,o,s,l,u){if(u)M=u[0],w=u[1],g=u[2],E=u[3];else{var c=uj(e,t,-a);e=c.x,t=c.y,c=uj(s,l,-a),s=c.x,l=c.y;var f=(e-s)/2,h=(t-l)/2,v=f*f/(r*r)+h*h/(n*n);v>1&&(v=Math.sqrt(v),r=v*r,n=v*n);var d=r*r,m=n*n,x=(i==o?-1:1)*Math.sqrt(Math.abs((d*m-d*h*h-m*f*f)/(d*h*h+m*f*f)));x==1/0&&(x=1);var g=x*r*h/n+(e+s)/2,E=x*-n*f/r+(t+l)/2,M=Math.asin(((t-E)/n).toFixed(9)),w=Math.asin(((l-E)/n).toFixed(9));M=ew&&(M=M-S2*2),!o&&w>M&&(w=w-S2*2)}if(Math.abs(w-M)>eFe){var k=w,y=s,S=l;w=M+eFe*(o&&w>M?1:-1),s=g+r*Math.cos(w),l=E+n*Math.sin(w);var T=rFe(s,l,r,n,a,0,o,y,S,[w,k,g,E])}var p=Math.tan((w-M)/4),C=4/3*r*p,A=4/3*n*p,P=[2*e-(e+C*Math.sin(M)),2*t-(t-A*Math.cos(M)),s+C*Math.sin(w),l-A*Math.cos(w),s,l];if(u)return P;T&&(P=P.concat(T));for(var D=0;D{var EDt=oj(),kDt=iFe(),CDt={M:"moveTo",C:"bezierCurveTo"};oFe.exports=function(e,t){e.beginPath(),kDt(EDt(t)).forEach(function(r){var n=r[0],a=r.slice(1);e[CDt[n]].apply(e,a)}),e.closePath()}});var fFe=ne((Wvr,cFe)=>{"use strict";var LDt=zA();cFe.exports=FDt;var r6=1e20;function FDt(e,t){t||(t={});var r=t.cutoff==null?.25:t.cutoff,n=t.radius==null?8:t.radius,a=t.channel||0,i,o,s,l,u,c,f,h,v,d,m;if(ArrayBuffer.isView(e)||Array.isArray(e)){if(!t.width||!t.height)throw Error("For raw data width and height should be provided by options");i=t.width,o=t.height,l=e,t.stride?c=t.stride:c=Math.floor(e.length/i/o)}else window.HTMLCanvasElement&&e instanceof window.HTMLCanvasElement?(h=e,f=h.getContext("2d"),i=h.width,o=h.height,v=f.getImageData(0,0,i,o),l=v.data,c=4):window.CanvasRenderingContext2D&&e instanceof window.CanvasRenderingContext2D?(h=e.canvas,f=e,i=h.width,o=h.height,v=f.getImageData(0,0,i,o),l=v.data,c=4):window.ImageData&&e instanceof window.ImageData&&(v=e,i=e.width,o=e.height,l=v.data,c=4);if(s=Math.max(i,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(u=l,l=Array(i*o),d=0,m=u.length;d{"use strict";var PDt=Q9e(),DDt=V5(),RDt=sFe(),IDt=lj(),zDt=fFe(),cj=document.createElement("canvas"),Fd=cj.getContext("2d");hFe.exports=qDt;function qDt(e,t){if(!IDt(e))throw Error("Argument should be valid svg path string");t||(t={});var r,n;t.shape?(r=t.shape[0],n=t.shape[1]):(r=cj.width=t.w||t.width||200,n=cj.height=t.h||t.height||200);var a=Math.min(r,n),i=t.stroke||0,o=t.viewbox||t.viewBox||PDt(e),s=[r/(o[2]-o[0]),n/(o[3]-o[1])],l=Math.min(s[0]||0,s[1]||0)/2;if(Fd.fillStyle="black",Fd.fillRect(0,0,r,n),Fd.fillStyle="white",i&&(typeof i!="number"&&(i=1),i>0?Fd.strokeStyle="white":Fd.strokeStyle="black",Fd.lineWidth=Math.abs(i)),Fd.translate(r*.5,n*.5),Fd.scale(l,l),BDt()){var u=new Path2D(e);Fd.fill(u),i&&Fd.stroke(u)}else{var c=DDt(e);RDt(Fd,c),Fd.fill(),i&&Fd.stroke()}Fd.setTransform(1,0,0,1,0,0);var f=zDt(Fd,{cutoff:t.cutoff!=null?t.cutoff:.5,radius:t.radius!=null?t.radius:a*.5});return f}var r9;function BDt(){if(r9!=null)return r9;var e=document.createElement("canvas").getContext("2d");if(e.canvas.width=e.canvas.height=1,!window.Path2D)return r9=!1;var t=new Path2D("M0,0h1v1h-1v-1Z");e.fillStyle="black",e.fill(t);var r=e.getImageData(0,0,1,1);return r9=r&&r.data&&r.data[3]===255}});var k2=ne((Xvr,AFe)=>{"use strict";var a9=mi(),ODt=dFe(),n9=Hm(),NDt=Fa(),cw=Zt(),yc=cw.isArrayOrTypedArray,lw=li(),vFe=uu(),pFe=ag().formatColor,uw=ml(),UDt=U5(),hj=$7(),n6=Km(),VDt=A1().DESELECTDIM,gFe={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},GDt=Hd().appendArrayPointValue;function HDt(e,t){var r,n={marker:void 0,markerSel:void 0,markerUnsel:void 0,line:void 0,fill:void 0,errorX:void 0,errorY:void 0,text:void 0,textSel:void 0,textUnsel:void 0},a=e._context.plotGlPixelRatio;if(t.visible!==!0)return n;if(uw.hasText(t)&&(n.text=TFe(e,t),n.textSel=yFe(e,t,t.selected),n.textUnsel=yFe(e,t,t.unselected)),uw.hasMarkers(t)&&(n.marker=vj(e,t),n.markerSel=dj(e,t,t.selected),n.markerUnsel=dj(e,t,t.unselected),!t.unselected&&yc(t.marker.opacity))){var i=t.marker.opacity;for(n.markerUnsel.opacity=new Array(i.length),r=0;r500?"bold":"normal":e}function vj(e,t){var r=t._length,n=t.marker,a={},i,o=yc(n.symbol),s=yc(n.angle),l=yc(n.color),u=yc(n.line.color),c=yc(n.opacity),f=yc(n.size),h=yc(n.line.width),v;if(o||(v=hj.isOpenSymbol(n.symbol)),o||l||u||c||s){a.symbols=new Array(r),a.angles=new Array(r),a.colors=new Array(r),a.borderColors=new Array(r);var d=n.symbol,m=n.angle,x=pFe(n,n.opacity,r),g=pFe(n.line,n.opacity,r);if(!yc(g[0])){var E=g;for(g=Array(r),i=0;in6.TOO_MANY_POINTS||uw.hasMarkers(t)?"rect":"round";if(u&&t.connectgaps){var f=i[0],h=i[1];for(o=0;o1?l[o]:l[0]:l,v=yc(u)?u.length>1?u[o]:u[0]:u,d=gFe[h],m=gFe[v],x=c?c/.8+1:0,g=-m*x-m*.5;i.offset[o]=[d*x/f,g/f]}}return i}AFe.exports={style:HDt,markerStyle:vj,markerSelection:dj,linePositions:WDt,errorBarPositions:YDt,textPosition:XDt}});var pj=ne((Zvr,MFe)=>{"use strict";var i9=Zt();MFe.exports=function(t,r){var n=r._scene,a={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},i={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return r._scene||(n=r._scene={},n.init=function(){i9.extendFlat(n,i,a)},n.init(),n.update=function(s){var l=i9.repeat(s,n.count);if(n.fill2d&&n.fill2d.update(l),n.scatter2d&&n.scatter2d.update(l),n.line2d&&n.line2d.update(l),n.error2d&&n.error2d.update(l.concat(l)),n.select2d&&n.select2d.update(l),n.glText)for(var u=0;u{"use strict";var ZDt=J7(),fw=Zt(),SFe=uu(),$Dt=I0().findExtremes,EFe=H0(),gj=Qv(),KDt=gj.calcMarkerSize,JDt=gj.calcAxisExpansion,QDt=gj.setFirstScatter,eRt=Jv(),hw=k2(),tRt=pj(),kFe=uo().BADNUM,rRt=Km().TOO_MANY_POINTS;LFe.exports=function(t,r){var n=t._fullLayout,a=r._xA=SFe.getFromId(t,r.xaxis,"x"),i=r._yA=SFe.getFromId(t,r.yaxis,"y"),o=n._plots[r.xaxis+r.yaxis],s=r._length,l=s>=rRt,u=s*2,c={},f,h=a.makeCalcdata(r,"x"),v=i.makeCalcdata(r,"y"),d=EFe(r,a,"x",h),m=EFe(r,i,"y",v),x=d.vals,g=m.vals;r._x=x,r._y=g,r.xperiodalignment&&(r._origX=h,r._xStarts=d.starts,r._xEnds=d.ends),r.yperiodalignment&&(r._origY=v,r._yStarts=m.starts,r._yEnds=m.ends);var E=new Array(u),M=new Array(s);for(f=0;f1&&fw.extendFlat(o.line,hw.linePositions(e,r,n)),o.errorX||o.errorY){var s=hw.errorBarPositions(e,r,n,a,i);o.errorX&&fw.extendFlat(o.errorX,s.x),o.errorY&&fw.extendFlat(o.errorY,s.y)}return o.text&&(fw.extendFlat(o.text,{positions:n},hw.textPosition(e,r,o.text,o.marker)),fw.extendFlat(o.textSel,{positions:n},hw.textPosition(e,r,o.text,o.markerSel)),fw.extendFlat(o.textUnsel,{positions:n},hw.textPosition(e,r,o.text,o.markerUnsel))),o}});var mj=ne((Kvr,DFe)=>{"use strict";var PFe=Zt(),aRt=_a(),iRt=A1().DESELECTDIM;function oRt(e){var t=e[0],r=t.trace,n=t.t,a=n._scene,i=n.index,o=a.selectBatch[i],s=a.unselectBatch[i],l=a.textOptions[i],u=a.textSelectedOptions[i]||{},c=a.textUnselectedOptions[i]||{},f=PFe.extendFlat({},l),h,v;if(o.length||s.length){var d=u.color,m=c.color,x=l.color,g=PFe.isArrayOrTypedArray(x);for(f.color=new Array(r._length),h=0;h{"use strict";var RFe=ml(),sRt=mj().styleTextSelection;IFe.exports=function(t,r){var n=t.cd,a=t.xaxis,i=t.yaxis,o=[],s=n[0].trace,l=n[0].t,u=s._length,c=l.x,f=l.y,h=l._scene,v=l.index;if(!h)return o;var d=RFe.hasText(s),m=RFe.hasMarkers(s),x=!m&&!d;if(s.visible!==!0||x)return o;var g=[],E=[];if(r!==!1&&!r.degenerate)for(var M=0;M{"use strict";var lRt=Z7();zFe.exports={moduleType:"trace",name:"scattergl",basePlotModule:Ku(),categories:["gl","regl","cartesian","symbols","errorBarsOK","showLegend","scatter-like"],attributes:QA(),supplyDefaults:y9e(),crossTraceDefaults:sq(),colorbar:bh(),formatLabels:b9e(),calc:FFe(),hoverPoints:lRt.hoverPoints,selectPoints:yj(),meta:{}}});var OFe=ne((e0r,s9)=>{"use strict";var o9=zA();s9.exports=BFe;s9.exports.to=BFe;s9.exports.from=uRt;function BFe(e,t){t==null&&(t=!0);var r=e[0],n=e[1],a=e[2],i=e[3];i==null&&(i=t?1:255),t&&(r*=255,n*=255,a*=255,i*=255),r=o9(r,0,255)&255,n=o9(n,0,255)&255,a=o9(a,0,255)&255,i=o9(i,0,255)&255;var o=r*16777216+(n<<16)+(a<<8)+i;return o}function uRt(e,t){e=+e;var r=e>>>24,n=(e&16711680)>>>16,a=(e&65280)>>>8,i=e&255;return t===!1?[r,n,a,i]:[r/255,n/255,a/255,i/255]}});var Uc=ne((t0r,UFe)=>{"use strict";var NFe=Object.getOwnPropertySymbols,cRt=Object.prototype.hasOwnProperty,fRt=Object.prototype.propertyIsEnumerable;function hRt(e){if(e==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function dRt(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de",Object.getOwnPropertyNames(e)[0]==="5")return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;var n=Object.getOwnPropertyNames(t).map(function(i){return t[i]});if(n.join("")!=="0123456789")return!1;var a={};return"abcdefghijklmnopqrst".split("").forEach(function(i){a[i]=i}),Object.keys(Object.assign({},a)).join("")==="abcdefghijklmnopqrst"}catch(i){return!1}}UFe.exports=dRt()?Object.assign:function(e,t){for(var r,n=hRt(e),a,i=1;i{VFe.exports=function(e){typeof e=="string"&&(e=[e]);for(var t=[].slice.call(arguments,1),r=[],n=0;n{"use strict";HFe.exports=function(t,r,n){Array.isArray(n)||(n=[].slice.call(arguments,2));for(var a=0,i=n.length;a{"use strict";jFe.exports=typeof navigator!="undefined"&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))});var l9=ne((i0r,dw)=>{"use strict";dw.exports=a6;dw.exports.float32=dw.exports.float=a6;dw.exports.fract32=dw.exports.fract=vRt;var YFe=new Float32Array(1);function vRt(e,t){if(e.length){if(e instanceof Float32Array)return new Float32Array(e.length);t instanceof Float32Array||(t=a6(e));for(var r=0,n=t.length;r{"use strict";function pRt(e,t){var r=e==null?null:typeof Symbol!="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,a,i,o,s=[],l=!0,u=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(c){u=!0,a=c}finally{try{if(!l&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw a}}return s}}function gRt(e,t){return xRt(e)||pRt(e,t)||ZFe(e,t)||wRt()}function mRt(e){return yRt(e)||bRt(e)||ZFe(e)||_Rt()}function yRt(e){if(Array.isArray(e))return bj(e)}function xRt(e){if(Array.isArray(e))return e}function bRt(e){if(typeof Symbol!="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function ZFe(e,t){if(e){if(typeof e=="string")return bj(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return bj(e,t)}}function bj(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);rie)?N.tree=Qqt(j,{bounds:ge}):ie&&ie.length&&(N.tree=ie),N.tree){var re={primitive:"points",usage:"static",data:N.tree,type:"uint32"};N.elements?N.elements(re):N.elements=o.elements(re)}var Se=lz.float32(j);ae({data:Se,usage:"dynamic"});var ke=lz.fract32(j,Se);return _e({data:ke,usage:"dynamic"}),Ee({data:new Uint8Array(Ce),type:"uint8",usage:"stream"}),j}},{marker:function(j,N,H){var ie=N.activation;if(ie.forEach(function(ke){return ke&&ke.destroy&&ke.destroy()}),ie.length=0,!j||typeof j[0]=="number"){var ae=e.addMarker(j);ie[ae]=!0}else{for(var _e=[],Ee=0,Ce=Math.min(j.length,N.count);Ee=0)return i;var a;if(e instanceof Uint8Array||e instanceof Uint8ClampedArray)a=e;else{a=new Uint8Array(e.length);for(var o=0,s=e.length;on*4&&(this.tooManyColors=!0),this.updatePalette(r),i.length===1?i[0]:i};av.prototype.updatePalette=function(e){if(!this.tooManyColors){var t=this.maxColors,r=this.paletteTexture,n=Math.ceil(e.length*.25/t);if(n>1){e=e.slice();for(var i=e.length*.25%t;i{"use strict";AY.exports=fz;AY.exports.default=fz;function fz(e,t,r){r=r||2;var n=t&&t.length,i=n?t[0]*r:e.length,a=S7e(e,0,i,r,!0),o=[];if(!a||a.next===a.prev)return o;var s,l,u,c,f,h,d;if(n&&(a=fOt(e,t,a,r)),e.length>80*r){s=u=e[0],l=c=e[1];for(var v=r;vu&&(u=f),h>c&&(c=h);d=Math.max(u-s,c-l),d=d!==0?32767/d:0}return Tk(a,o,r,s,l,d,0),o}function S7e(e,t,r,n,i){var a,o;if(i===TY(e,t,r,n)>0)for(a=t;a=t;a-=n)o=A7e(a,e[a],e[a+1],o);return o&&hz(o,o.next)&&(Sk(o),o=o.next),o}function cw(e,t){if(!e)return e;t||(t=e);var r=e,n;do if(n=!1,!r.steiner&&(hz(r,r.next)||wh(r.prev,r,r.next)===0)){if(Sk(r),r=t=r.prev,r===r.next)break;n=!0}else r=r.next;while(n||r!==t);return t}function Tk(e,t,r,n,i,a,o){if(e){!o&&a&&gOt(e,n,i,a);for(var s=e,l,u;e.prev!==e.next;){if(l=e.prev,u=e.next,a?lOt(e,n,i,a):sOt(e)){t.push(l.i/r|0),t.push(e.i/r|0),t.push(u.i/r|0),Sk(e),e=u.next,s=u.next;continue}if(e=u,e===s){o?o===1?(e=uOt(cw(e),t,r),Tk(e,t,r,n,i,a,2)):o===2&&cOt(e,t,r,n,i,a):Tk(cw(e),t,r,n,i,a,1);break}}}}function sOt(e){var t=e.prev,r=e,n=e.next;if(wh(t,r,n)>=0)return!1;for(var i=t.x,a=r.x,o=n.x,s=t.y,l=r.y,u=n.y,c=ia?i>o?i:o:a>o?a:o,d=s>l?s>u?s:u:l>u?l:u,v=n.next;v!==t;){if(v.x>=c&&v.x<=h&&v.y>=f&&v.y<=d&&p5(i,s,a,l,o,u,v.x,v.y)&&wh(v.prev,v,v.next)>=0)return!1;v=v.next}return!0}function lOt(e,t,r,n){var i=e.prev,a=e,o=e.next;if(wh(i,a,o)>=0)return!1;for(var s=i.x,l=a.x,u=o.x,c=i.y,f=a.y,h=o.y,d=sl?s>u?s:u:l>u?l:u,b=c>f?c>h?c:h:f>h?f:h,p=bY(d,v,t,r,n),k=bY(m,b,t,r,n),M=e.prevZ,T=e.nextZ;M&&M.z>=p&&T&&T.z<=k;){if(M.x>=d&&M.x<=m&&M.y>=v&&M.y<=b&&M!==i&&M!==o&&p5(s,c,l,f,u,h,M.x,M.y)&&wh(M.prev,M,M.next)>=0||(M=M.prevZ,T.x>=d&&T.x<=m&&T.y>=v&&T.y<=b&&T!==i&&T!==o&&p5(s,c,l,f,u,h,T.x,T.y)&&wh(T.prev,T,T.next)>=0))return!1;T=T.nextZ}for(;M&&M.z>=p;){if(M.x>=d&&M.x<=m&&M.y>=v&&M.y<=b&&M!==i&&M!==o&&p5(s,c,l,f,u,h,M.x,M.y)&&wh(M.prev,M,M.next)>=0)return!1;M=M.prevZ}for(;T&&T.z<=k;){if(T.x>=d&&T.x<=m&&T.y>=v&&T.y<=b&&T!==i&&T!==o&&p5(s,c,l,f,u,h,T.x,T.y)&&wh(T.prev,T,T.next)>=0)return!1;T=T.nextZ}return!0}function uOt(e,t,r){var n=e;do{var i=n.prev,a=n.next.next;!hz(i,a)&&M7e(i,n,n.next,a)&&Ak(i,a)&&Ak(a,i)&&(t.push(i.i/r|0),t.push(n.i/r|0),t.push(a.i/r|0),Sk(n),Sk(n.next),n=e=a),n=n.next}while(n!==e);return cw(n)}function cOt(e,t,r,n,i,a){var o=e;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&_Ot(o,s)){var l=E7e(o,s);o=cw(o,o.next),l=cw(l,l.next),Tk(o,t,r,n,i,a,0),Tk(l,t,r,n,i,a,0);return}s=s.next}o=o.next}while(o!==e)}function fOt(e,t,r,n){var i=[],a,o,s,l,u;for(a=0,o=t.length;a=r.next.y&&r.next.y!==r.y){var s=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(s<=n&&s>a&&(a=s,o=r.x=r.x&&r.x>=u&&n!==r.x&&p5(io.x||r.x===o.x&&pOt(o,r)))&&(o=r,f=h)),r=r.next;while(r!==l);return o}function pOt(e,t){return wh(e.prev,e,t.prev)<0&&wh(t.next,e,e.next)<0}function gOt(e,t,r,n){var i=e;do i.z===0&&(i.z=bY(i.x,i.y,t,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,mOt(i)}function mOt(e){var t,r,n,i,a,o,s,l,u=1;do{for(r=e,e=null,a=null,o=0;r;){for(o++,n=r,s=0,t=0;t0||l>0&&n;)s!==0&&(l===0||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1);return e}function bY(e,t,r,n,i){return e=(e-r)*i|0,t=(t-n)*i|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function yOt(e){var t=e,r=e;do(t.x=(e-o)*(a-s)&&(e-o)*(n-s)>=(r-o)*(t-s)&&(r-o)*(a-s)>=(i-o)*(n-s)}function _Ot(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!xOt(e,t)&&(Ak(e,t)&&Ak(t,e)&&bOt(e,t)&&(wh(e.prev,e,t.prev)||wh(e,t.prev,t))||hz(e,t)&&wh(e.prev,e,e.next)>0&&wh(t.prev,t,t.next)>0)}function wh(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function hz(e,t){return e.x===t.x&&e.y===t.y}function M7e(e,t,r,n){var i=cz(wh(e,t,r)),a=cz(wh(e,t,n)),o=cz(wh(r,n,e)),s=cz(wh(r,n,t));return!!(i!==a&&o!==s||i===0&&uz(e,r,t)||a===0&&uz(e,n,t)||o===0&&uz(r,e,n)||s===0&&uz(r,t,n))}function uz(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function cz(e){return e>0?1:e<0?-1:0}function xOt(e,t){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&M7e(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}function Ak(e,t){return wh(e.prev,e,e.next)<0?wh(e,t,e.next)>=0&&wh(e,e.prev,t)>=0:wh(e,t,e.prev)<0||wh(e,e.next,t)<0}function bOt(e,t){var r=e,n=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;while(r!==e);return n}function E7e(e,t){var r=new wY(e.i,e.x,e.y),n=new wY(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function A7e(e,t,r,n){var i=new wY(e,t,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function Sk(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function wY(e,t,r){this.i=e,this.x=t,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}fz.deviation=function(e,t,r,n){var i=t&&t.length,a=i?t[0]*r:e.length,o=Math.abs(TY(e,0,a,r));if(i)for(var s=0,l=t.length;s0&&(n+=e[i-1].length,r.holes.push(n))}return r}});var L7e=ye((Hyr,C7e)=>{"use strict";var wOt=nw();C7e.exports=TOt;function TOt(e,t,r){if(!e||e.length==null)throw Error("Argument should be an array");t==null&&(t=1),r==null&&(r=wOt(e,t));for(var n=0;n{"use strict";P7e.exports=function(){var e,t;if(typeof WeakMap!="function")return!1;try{e=new WeakMap([[t={},"one"],[{},"two"],[{},"three"]])}catch(r){return!1}return!(String(e)!=="[object WeakMap]"||typeof e.set!="function"||e.set({},1)!==e||typeof e.delete!="function"||typeof e.has!="function"||e.get(t)!=="one")}});var D7e=ye((Wyr,R7e)=>{"use strict";R7e.exports=function(){}});var yx=ye((Xyr,F7e)=>{"use strict";var AOt=D7e()();F7e.exports=function(e){return e!==AOt&&e!==null}});var SY=ye((Zyr,q7e)=>{"use strict";var SOt=Object.create,MOt=Object.getPrototypeOf,z7e={};q7e.exports=function(){var e=Object.setPrototypeOf,t=arguments[0]||SOt;return typeof e!="function"?!1:MOt(e(t(null),z7e))===z7e}});var MY=ye((Yyr,O7e)=>{"use strict";var EOt=yx(),kOt={function:!0,object:!0};O7e.exports=function(e){return EOt(e)&&kOt[typeof e]||!1}});var c1=ye((Kyr,B7e)=>{"use strict";var COt=yx();B7e.exports=function(e){if(!COt(e))throw new TypeError("Cannot use null or undefined");return e}});var U7e=ye((Jyr,N7e)=>{"use strict";var EY=Object.create,dz;SY()()||(dz=kY());N7e.exports=function(){var e,t,r;return!dz||dz.level!==1?EY:(e={},t={},r={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach(function(n){if(n==="__proto__"){t[n]={configurable:!0,enumerable:!1,writable:!0,value:void 0};return}t[n]=r}),Object.defineProperties(e,t),Object.defineProperty(dz,"nullPolyfill",{configurable:!1,enumerable:!1,writable:!1,value:e}),function(n,i){return EY(n===null?e:n,i)})}()});var kY=ye(($yr,V7e)=>{"use strict";var LOt=MY(),POt=c1(),IOt=Object.prototype.isPrototypeOf,ROt=Object.defineProperty,DOt={configurable:!0,enumerable:!1,writable:!0,value:void 0},vz;vz=function(e,t){if(POt(e),t===null||LOt(t))return e;throw new TypeError("Prototype must be null or an object")};V7e.exports=function(e){var t,r;return e?(e.level===2?e.set?(r=e.set,t=function(n,i){return r.call(vz(n,i),i),n}):t=function(n,i){return vz(n,i).__proto__=i,n}:t=function n(i,a){var o;return vz(i,a),o=IOt.call(n.nullPolyfill,i),o&&delete n.nullPolyfill.__proto__,a===null&&(a=n.nullPolyfill),i.__proto__=a,o&&ROt(n.nullPolyfill,"__proto__",DOt),i},Object.defineProperty(t,"level",{configurable:!1,enumerable:!1,writable:!1,value:e.level})):null}(function(){var e=Object.create(null),t={},r,n=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__");if(n){try{r=n.set,r.call(e,t)}catch(i){}if(Object.getPrototypeOf(e)===t)return{set:r,level:2}}return e.__proto__=t,Object.getPrototypeOf(e)===t?{level:2}:(e={},e.__proto__=t,Object.getPrototypeOf(e)===t?{level:1}:!1)}());U7e()});var pz=ye((Qyr,G7e)=>{"use strict";G7e.exports=SY()()?Object.setPrototypeOf:kY()});var j7e=ye((e1r,H7e)=>{"use strict";var FOt=MY();H7e.exports=function(e){if(!FOt(e))throw new TypeError(e+" is not an Object");return e}});var X7e=ye((t1r,W7e)=>{"use strict";var zOt=Object.create(null),qOt=Math.random;W7e.exports=function(){var e;do e=qOt().toString(36).slice(2);while(zOt[e]);return e}});var fw=ye((r1r,Z7e)=>{"use strict";var OOt=void 0;Z7e.exports=function(e){return e!==OOt&&e!==null}});var gz=ye((i1r,Y7e)=>{"use strict";var BOt=fw(),NOt={object:!0,function:!0,undefined:!0};Y7e.exports=function(e){return BOt(e)?hasOwnProperty.call(NOt,typeof e):!1}});var J7e=ye((n1r,K7e)=>{"use strict";var UOt=gz();K7e.exports=function(e){if(!UOt(e))return!1;try{return e.constructor?e.constructor.prototype===e:!1}catch(t){return!1}}});var Q7e=ye((a1r,$7e)=>{"use strict";var VOt=J7e();$7e.exports=function(e){if(typeof e!="function"||!hasOwnProperty.call(e,"length"))return!1;try{if(typeof e.length!="number"||typeof e.call!="function"||typeof e.apply!="function")return!1}catch(t){return!1}return!VOt(e)}});var CY=ye((o1r,e9e)=>{"use strict";var GOt=Q7e(),HOt=/^\s*class[\s{/}]/,jOt=Function.prototype.toString;e9e.exports=function(e){return!(!GOt(e)||HOt.test(jOt.call(e)))}});var r9e=ye((s1r,t9e)=>{"use strict";t9e.exports=function(){var e=Object.assign,t;return typeof e!="function"?!1:(t={foo:"raz"},e(t,{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}});var n9e=ye((l1r,i9e)=>{"use strict";i9e.exports=function(){try{return Object.keys("primitive"),!0}catch(e){return!1}}});var o9e=ye((u1r,a9e)=>{"use strict";var WOt=yx(),XOt=Object.keys;a9e.exports=function(e){return XOt(WOt(e)?Object(e):e)}});var l9e=ye((c1r,s9e)=>{"use strict";s9e.exports=n9e()()?Object.keys:o9e()});var c9e=ye((f1r,u9e)=>{"use strict";var ZOt=l9e(),YOt=c1(),KOt=Math.max;u9e.exports=function(e,t){var r,n,i=KOt(arguments.length,2),a;for(e=Object(YOt(e)),a=function(o){try{e[o]=t[o]}catch(s){r||(r=s)}},n=1;n{"use strict";f9e.exports=r9e()()?Object.assign:c9e()});var LY=ye((d1r,h9e)=>{"use strict";var JOt=yx(),$Ot=Array.prototype.forEach,QOt=Object.create,eBt=function(e,t){var r;for(r in e)t[r]=e[r]};h9e.exports=function(e){var t=QOt(null);return $Ot.call(arguments,function(r){JOt(r)&&eBt(Object(r),t)}),t}});var v9e=ye((v1r,d9e)=>{"use strict";var PY="razdwatrzy";d9e.exports=function(){return typeof PY.contains!="function"?!1:PY.contains("dwa")===!0&&PY.contains("foo")===!1}});var g9e=ye((p1r,p9e)=>{"use strict";var tBt=String.prototype.indexOf;p9e.exports=function(e){return tBt.call(this,e,arguments[1])>-1}});var IY=ye((g1r,m9e)=>{"use strict";m9e.exports=v9e()()?String.prototype.contains:g9e()});var f1=ye((m1r,b9e)=>{"use strict";var yz=fw(),y9e=CY(),_9e=mz(),x9e=LY(),Mk=IY(),rBt=b9e.exports=function(e,t){var r,n,i,a,o;return arguments.length<2||typeof e!="string"?(a=t,t=e,e=null):a=arguments[2],yz(e)?(r=Mk.call(e,"c"),n=Mk.call(e,"e"),i=Mk.call(e,"w")):(r=i=!0,n=!1),o={value:t,configurable:r,enumerable:n,writable:i},a?_9e(x9e(a),o):o};rBt.gs=function(e,t,r){var n,i,a,o;return typeof e!="string"?(a=r,r=t,t=e,e=null):a=arguments[3],yz(t)?y9e(t)?yz(r)?y9e(r)||(a=r,r=void 0):r=void 0:(a=t,t=r=void 0):t=void 0,yz(e)?(n=Mk.call(e,"c"),i=Mk.call(e,"e")):(n=!0,i=!1),o={get:t,set:r,configurable:n,enumerable:i},a?_9e(x9e(a),o):o}});var Ek=ye((y1r,T9e)=>{"use strict";var w9e=Object.prototype.toString,iBt=w9e.call(function(){return arguments}());T9e.exports=function(e){return w9e.call(e)===iBt}});var kk=ye((_1r,S9e)=>{"use strict";var A9e=Object.prototype.toString,nBt=A9e.call("");S9e.exports=function(e){return typeof e=="string"||e&&typeof e=="object"&&(e instanceof String||A9e.call(e)===nBt)||!1}});var E9e=ye((x1r,M9e)=>{"use strict";M9e.exports=function(){return typeof globalThis!="object"||!globalThis?!1:globalThis.Array===Array}});var L9e=ye((b1r,C9e)=>{var k9e=function(){if(typeof self=="object"&&self)return self;if(typeof window=="object"&&window)return window;throw new Error("Unable to resolve global `this`")};C9e.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return k9e()}try{return __global__||k9e()}finally{delete Object.prototype.__global__}}()});var Ck=ye((w1r,P9e)=>{"use strict";P9e.exports=E9e()()?globalThis:L9e()});var R9e=ye((T1r,I9e)=>{"use strict";var aBt=Ck(),RY={object:!0,symbol:!0};I9e.exports=function(){var e=aBt.Symbol,t;if(typeof e!="function")return!1;t=e("test symbol");try{String(t)}catch(r){return!1}return!(!RY[typeof e.iterator]||!RY[typeof e.toPrimitive]||!RY[typeof e.toStringTag])}});var F9e=ye((A1r,D9e)=>{"use strict";D9e.exports=function(e){return e?typeof e=="symbol"?!0:!e.constructor||e.constructor.name!=="Symbol"?!1:e[e.constructor.toStringTag]==="Symbol":!1}});var DY=ye((S1r,z9e)=>{"use strict";var oBt=F9e();z9e.exports=function(e){if(!oBt(e))throw new TypeError(e+" is not a symbol");return e}});var U9e=ye((M1r,N9e)=>{"use strict";var q9e=f1(),sBt=Object.create,O9e=Object.defineProperty,lBt=Object.prototype,B9e=sBt(null);N9e.exports=function(e){for(var t=0,r,n;B9e[e+(t||"")];)++t;return e+=t||"",B9e[e]=!0,r="@@"+e,O9e(lBt,r,q9e.gs(null,function(i){n||(n=!0,O9e(this,r,q9e(i)),n=!1)})),r}});var G9e=ye((E1r,V9e)=>{"use strict";var rm=f1(),Uh=Ck().Symbol;V9e.exports=function(e){return Object.defineProperties(e,{hasInstance:rm("",Uh&&Uh.hasInstance||e("hasInstance")),isConcatSpreadable:rm("",Uh&&Uh.isConcatSpreadable||e("isConcatSpreadable")),iterator:rm("",Uh&&Uh.iterator||e("iterator")),match:rm("",Uh&&Uh.match||e("match")),replace:rm("",Uh&&Uh.replace||e("replace")),search:rm("",Uh&&Uh.search||e("search")),species:rm("",Uh&&Uh.species||e("species")),split:rm("",Uh&&Uh.split||e("split")),toPrimitive:rm("",Uh&&Uh.toPrimitive||e("toPrimitive")),toStringTag:rm("",Uh&&Uh.toStringTag||e("toStringTag")),unscopables:rm("",Uh&&Uh.unscopables||e("unscopables"))})}});var W9e=ye((k1r,j9e)=>{"use strict";var H9e=f1(),uBt=DY(),Lk=Object.create(null);j9e.exports=function(e){return Object.defineProperties(e,{for:H9e(function(t){return Lk[t]?Lk[t]:Lk[t]=e(String(t))}),keyFor:H9e(function(t){var r;uBt(t);for(r in Lk)if(Lk[r]===t)return r})})}});var Y9e=ye((C1r,Z9e)=>{"use strict";var ry=f1(),FY=DY(),_z=Ck().Symbol,cBt=U9e(),fBt=G9e(),hBt=W9e(),dBt=Object.create,zY=Object.defineProperties,xz=Object.defineProperty,Xv,g5,X9e;if(typeof _z=="function")try{String(_z()),X9e=!0}catch(e){}else _z=null;g5=function(t){if(this instanceof g5)throw new TypeError("Symbol is not a constructor");return Xv(t)};Z9e.exports=Xv=function e(t){var r;if(this instanceof e)throw new TypeError("Symbol is not a constructor");return X9e?_z(t):(r=dBt(g5.prototype),t=t===void 0?"":String(t),zY(r,{__description__:ry("",t),__name__:ry("",cBt(t))}))};fBt(Xv);hBt(Xv);zY(g5.prototype,{constructor:ry(Xv),toString:ry("",function(){return this.__name__})});zY(Xv.prototype,{toString:ry(function(){return"Symbol ("+FY(this).__description__+")"}),valueOf:ry(function(){return FY(this)})});xz(Xv.prototype,Xv.toPrimitive,ry("",function(){var e=FY(this);return typeof e=="symbol"?e:e.toString()}));xz(Xv.prototype,Xv.toStringTag,ry("c","Symbol"));xz(g5.prototype,Xv.toStringTag,ry("c",Xv.prototype[Xv.toStringTag]));xz(g5.prototype,Xv.toPrimitive,ry("c",Xv.prototype[Xv.toPrimitive]))});var _x=ye((L1r,K9e)=>{"use strict";K9e.exports=R9e()()?Ck().Symbol:Y9e()});var $9e=ye((P1r,J9e)=>{"use strict";var vBt=c1();J9e.exports=function(){return vBt(this).length=0,this}});var m5=ye((I1r,Q9e)=>{"use strict";Q9e.exports=function(e){if(typeof e!="function")throw new TypeError(e+" is not a function");return e}});var tqe=ye((R1r,eqe)=>{"use strict";var pBt=fw(),gBt=gz(),mBt=Object.prototype.toString;eqe.exports=function(e){if(!pBt(e))return null;if(gBt(e)){var t=e.toString;if(typeof t!="function"||t===mBt)return null}try{return""+e}catch(r){return null}}});var iqe=ye((D1r,rqe)=>{"use strict";rqe.exports=function(e){try{return e.toString()}catch(t){try{return String(e)}catch(r){return null}}}});var aqe=ye((F1r,nqe)=>{"use strict";var yBt=iqe(),_Bt=/[\n\r\u2028\u2029]/g;nqe.exports=function(e){var t=yBt(e);return t===null?"":(t.length>100&&(t=t.slice(0,99)+"\u2026"),t=t.replace(_Bt,function(r){switch(r){case` -`:return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}}),t)}});var qY=ye((z1r,lqe)=>{"use strict";var oqe=fw(),xBt=gz(),bBt=tqe(),wBt=aqe(),sqe=function(e,t){return e.replace("%v",wBt(t))};lqe.exports=function(e,t,r){if(!xBt(r))throw new TypeError(sqe(t,e));if(!oqe(e)){if("default"in r)return r.default;if(r.isOptional)return null}var n=bBt(r.errorMessage);throw oqe(n)||(n=t),new TypeError(sqe(n,e))}});var cqe=ye((q1r,uqe)=>{"use strict";var TBt=qY(),ABt=fw();uqe.exports=function(e){return ABt(e)?e:TBt(e,"Cannot use %v",arguments[1])}});var hqe=ye((O1r,fqe)=>{"use strict";var SBt=qY(),MBt=CY();fqe.exports=function(e){return MBt(e)?e:SBt(e,"%v is not a plain function",arguments[1])}});var vqe=ye((B1r,dqe)=>{"use strict";dqe.exports=function(){var e=Array.from,t,r;return typeof e!="function"?!1:(t=["raz","dwa"],r=e(t),!!(r&&r!==t&&r[1]==="dwa"))}});var gqe=ye((N1r,pqe)=>{"use strict";var EBt=Object.prototype.toString,kBt=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);pqe.exports=function(e){return typeof e=="function"&&kBt(EBt.call(e))}});var yqe=ye((U1r,mqe)=>{"use strict";mqe.exports=function(){var e=Math.sign;return typeof e!="function"?!1:e(10)===1&&e(-20)===-1}});var xqe=ye((V1r,_qe)=>{"use strict";_qe.exports=function(e){return e=Number(e),isNaN(e)||e===0?e:e>0?1:-1}});var wqe=ye((G1r,bqe)=>{"use strict";bqe.exports=yqe()()?Math.sign:xqe()});var Aqe=ye((H1r,Tqe)=>{"use strict";var CBt=wqe(),LBt=Math.abs,PBt=Math.floor;Tqe.exports=function(e){return isNaN(e)?0:(e=Number(e),e===0||!isFinite(e)?e:CBt(e)*PBt(LBt(e)))}});var Mqe=ye((j1r,Sqe)=>{"use strict";var IBt=Aqe(),RBt=Math.max;Sqe.exports=function(e){return RBt(0,IBt(e))}});var Lqe=ye((W1r,Cqe)=>{"use strict";var DBt=_x().iterator,FBt=Ek(),zBt=gqe(),qBt=Mqe(),Eqe=m5(),OBt=c1(),BBt=yx(),NBt=kk(),kqe=Array.isArray,OY=Function.prototype.call,hw={configurable:!0,enumerable:!0,writable:!0,value:null},BY=Object.defineProperty;Cqe.exports=function(e){var t=arguments[1],r=arguments[2],n,i,a,o,s,l,u,c,f,h;if(e=Object(OBt(e)),BBt(t)&&Eqe(t),!this||this===Array||!zBt(this)){if(!t){if(FBt(e))return s=e.length,s!==1?Array.apply(null,e):(o=new Array(1),o[0]=e[0],o);if(kqe(e)){for(o=new Array(s=e.length),i=0;i=55296&&l<=56319&&(h+=e[++i])),h=t?OY.call(t,r,h,a):h,n?(hw.value=h,BY(o,a,hw)):o[a]=h,++a;s=a}}if(s===void 0)for(s=qBt(e.length),n&&(o=new n(s)),i=0;i{"use strict";Pqe.exports=vqe()()?Array.from:Lqe()});var Dqe=ye((Z1r,Rqe)=>{"use strict";var UBt=Iqe(),VBt=mz(),GBt=c1();Rqe.exports=function(e){var t=Object(GBt(e)),r=arguments[1],n=Object(arguments[2]);if(t!==e&&!r)return t;var i={};return r?UBt(r,function(a){(n.ensure||a in e)&&(i[a]=e[a])}):VBt(i,e),i}});var qqe=ye((Y1r,zqe)=>{"use strict";var HBt=m5(),jBt=c1(),WBt=Function.prototype.bind,Fqe=Function.prototype.call,XBt=Object.keys,ZBt=Object.prototype.propertyIsEnumerable;zqe.exports=function(e,t){return function(r,n){var i,a=arguments[2],o=arguments[3];return r=Object(jBt(r)),HBt(n),i=XBt(r),o&&i.sort(typeof o=="function"?WBt.call(o,r):void 0),typeof e!="function"&&(e=i[e]),Fqe.call(e,i,function(s,l){return ZBt.call(r,s)?Fqe.call(n,a,r[s],s,r,l):t})}}});var Bqe=ye((K1r,Oqe)=>{"use strict";Oqe.exports=qqe()("forEach")});var Uqe=ye((J1r,Nqe)=>{"use strict";var YBt=m5(),KBt=Bqe(),JBt=Function.prototype.call;Nqe.exports=function(e,t){var r={},n=arguments[2];return YBt(t),KBt(e,function(i,a,o,s){r[a]=JBt.call(t,n,i,a,o,s)}),r}});var jqe=ye(($1r,Hqe)=>{"use strict";var $Bt=fw(),QBt=cqe(),Vqe=hqe(),eNt=Dqe(),tNt=LY(),rNt=Uqe(),iNt=Function.prototype.bind,nNt=Object.defineProperty,aNt=Object.prototype.hasOwnProperty,Gqe;Gqe=function(e,t,r){var n=QBt(t)&&Vqe(t.value),i;return i=eNt(t),delete i.writable,delete i.value,i.get=function(){return!r.overwriteDefinition&&aNt.call(this,e)?n:(t.value=iNt.call(n,r.resolveContext?r.resolveContext(this):this),nNt(this,e,t),this[e])},i};Hqe.exports=function(e){var t=tNt(arguments[1]);return $Bt(t.resolveContext)&&Vqe(t.resolveContext),rNt(e,function(r,n){return Gqe(n,r,t)})}});var NY=ye((Q1r,Yqe)=>{"use strict";var oNt=$9e(),sNt=mz(),lNt=m5(),uNt=c1(),Op=f1(),cNt=jqe(),Wqe=_x(),Xqe=Object.defineProperty,Zqe=Object.defineProperties,Pk;Yqe.exports=Pk=function(e,t){if(!(this instanceof Pk))throw new TypeError("Constructor requires 'new'");Zqe(this,{__list__:Op("w",uNt(e)),__context__:Op("w",t),__nextIndex__:Op("w",0)}),t&&(lNt(t.on),t.on("_add",this._onAdd),t.on("_delete",this._onDelete),t.on("_clear",this._onClear))};delete Pk.prototype.constructor;Zqe(Pk.prototype,sNt({_next:Op(function(){var e;if(this.__list__){if(this.__redo__&&(e=this.__redo__.shift(),e!==void 0))return e;if(this.__nextIndex__=this.__nextIndex__)){if(++this.__nextIndex__,!this.__redo__){Xqe(this,"__redo__",Op("c",[e]));return}this.__redo__.forEach(function(t,r){t>=e&&(this.__redo__[r]=++t)},this),this.__redo__.push(e)}}),_onDelete:Op(function(e){var t;e>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(t=this.__redo__.indexOf(e),t!==-1&&this.__redo__.splice(t,1),this.__redo__.forEach(function(r,n){r>e&&(this.__redo__[n]=--r)},this)))}),_onClear:Op(function(){this.__redo__&&oNt.call(this.__redo__),this.__nextIndex__=0})})));Xqe(Pk.prototype,Wqe.iterator,Op(function(){return this}))});var eOe=ye((e_r,Qqe)=>{"use strict";var Kqe=pz(),Jqe=IY(),UY=f1(),fNt=_x(),VY=NY(),$qe=Object.defineProperty,y5;y5=Qqe.exports=function(e,t){if(!(this instanceof y5))throw new TypeError("Constructor requires 'new'");VY.call(this,e),t?Jqe.call(t,"key+value")?t="key+value":Jqe.call(t,"key")?t="key":t="value":t="value",$qe(this,"__kind__",UY("",t))};Kqe&&Kqe(y5,VY);delete y5.prototype.constructor;y5.prototype=Object.create(VY.prototype,{_resolve:UY(function(e){return this.__kind__==="value"?this.__list__[e]:this.__kind__==="key+value"?[e,this.__list__[e]]:e})});$qe(y5.prototype,fNt.toStringTag,UY("c","Array Iterator"))});var nOe=ye((t_r,iOe)=>{"use strict";var tOe=pz(),bz=f1(),hNt=_x(),GY=NY(),rOe=Object.defineProperty,_5;_5=iOe.exports=function(e){if(!(this instanceof _5))throw new TypeError("Constructor requires 'new'");e=String(e),GY.call(this,e),rOe(this,"__length__",bz("",e.length))};tOe&&tOe(_5,GY);delete _5.prototype.constructor;_5.prototype=Object.create(GY.prototype,{_next:bz(function(){if(this.__list__){if(this.__nextIndex__=55296&&r<=56319?t+this.__list__[this.__nextIndex__++]:t)})});rOe(_5.prototype,hNt.toStringTag,bz("c","String Iterator"))});var oOe=ye((r_r,aOe)=>{"use strict";var dNt=Ek(),vNt=yx(),pNt=kk(),gNt=_x().iterator,mNt=Array.isArray;aOe.exports=function(e){return vNt(e)?mNt(e)||pNt(e)||dNt(e)?!0:typeof e[gNt]=="function":!1}});var lOe=ye((i_r,sOe)=>{"use strict";var yNt=oOe();sOe.exports=function(e){if(!yNt(e))throw new TypeError(e+" is not iterable");return e}});var HY=ye((n_r,fOe)=>{"use strict";var _Nt=Ek(),xNt=kk(),uOe=eOe(),bNt=nOe(),wNt=lOe(),cOe=_x().iterator;fOe.exports=function(e){return typeof wNt(e)[cOe]=="function"?e[cOe]():_Nt(e)?new uOe(e):xNt(e)?new bNt(e):new uOe(e)}});var dOe=ye((a_r,hOe)=>{"use strict";var TNt=Ek(),ANt=m5(),SNt=kk(),MNt=HY(),ENt=Array.isArray,jY=Function.prototype.call,kNt=Array.prototype.some;hOe.exports=function(e,t){var r,n=arguments[2],i,a,o,s,l,u,c;if(ENt(e)||TNt(e)?r="array":SNt(e)?r="string":e=MNt(e),ANt(t),a=function(){o=!0},r==="array"){kNt.call(e,function(f){return jY.call(t,n,f,a),o});return}if(r==="string"){for(l=e.length,s=0;s=55296&&c<=56319&&(u+=e[++s])),jY.call(t,n,u,a),!o);++s);return}for(i=e.next();!i.done;){if(jY.call(t,n,i.value,a),o)return;i=e.next()}}});var pOe=ye((o_r,vOe)=>{"use strict";vOe.exports=function(){return typeof WeakMap!="function"?!1:Object.prototype.toString.call(new WeakMap)==="[object WeakMap]"}()});var yOe=ye((s_r,mOe)=>{"use strict";var CNt=yx(),Tz=pz(),wz=j7e(),LNt=c1(),PNt=X7e(),h1=f1(),INt=HY(),RNt=dOe(),DNt=_x().toStringTag,gOe=pOe(),FNt=Array.isArray,XY=Object.defineProperty,WY=Object.prototype.hasOwnProperty,zNt=Object.getPrototypeOf,xx;mOe.exports=xx=function(){var e=arguments[0],t;if(!(this instanceof xx))throw new TypeError("Constructor requires 'new'");return t=gOe&&Tz&&WeakMap!==xx?Tz(new WeakMap,zNt(this)):this,CNt(e)&&(FNt(e)||(e=INt(e))),XY(t,"__weakMapData__",h1("c","$weakMap$"+PNt())),e&&RNt(e,function(r){LNt(r),t.set(r[0],r[1])}),t};gOe&&(Tz&&Tz(xx,WeakMap),xx.prototype=Object.create(WeakMap.prototype,{constructor:h1(xx)}));Object.defineProperties(xx.prototype,{delete:h1(function(e){return WY.call(wz(e),this.__weakMapData__)?(delete e[this.__weakMapData__],!0):!1}),get:h1(function(e){if(WY.call(wz(e),this.__weakMapData__))return e[this.__weakMapData__]}),has:h1(function(e){return WY.call(wz(e),this.__weakMapData__)}),set:h1(function(e,t){return XY(wz(e),this.__weakMapData__,h1("c",t)),this}),toString:h1(function(){return"[object WeakMap]"})});XY(xx.prototype,DNt,h1("c","WeakMap"))});var ZY=ye((l_r,_Oe)=>{"use strict";_Oe.exports=I7e()()?WeakMap:yOe()});var bOe=ye((u_r,xOe)=>{"use strict";xOe.exports=function(e,t,r){if(typeof Array.prototype.findIndex=="function")return e.findIndex(t,r);if(typeof t!="function")throw new TypeError("predicate must be a function");var n=Object(e),i=n.length;if(i===0)return-1;for(var a=0;a{"use strict";var Az=sx(),qNt=nw(),KY=Nh(),ONt=ty(),BNt=aw(),wOe=k7e(),NNt=L7e(),{float32:UNt,fract32:YY}=oz(),VNt=ZY(),TOe=l5(),GNt=bOe(),HNt=` +`]),XFe&&(d.frag=d.frag.replace("smoothstep","smoothStep"),v.frag=v.frag.replace("smoothstep","smoothStep")),this.drawCircle=e(d)}Eh.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};Eh.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this};Eh.prototype.draw=function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;nY)?R.tree=SRt(O,{bounds:re}):Y&&Y.length&&(R.tree=Y),R.tree){var j={primitive:"points",usage:"static",data:R.tree,type:"uint32"};R.elements?R.elements(j):R.elements=o.elements(j)}var fe=c9.float32(O);X({data:fe,usage:"dynamic"});var ce=c9.fract32(O,fe);return te({data:ce,usage:"dynamic"}),se({data:new Uint8Array(ue),type:"uint8",usage:"stream"}),O}},{marker:function(O,R,B){var Y=R.activation;if(Y.forEach(function(ce){return ce&&ce.destroy&&ce.destroy()}),Y.length=0,!O||typeof O[0]=="number"){var X=e.addMarker(O);Y[X]=!0}else{for(var te=[],se=0,ue=Math.min(O.length,R.count);se=0)return a;var i;if(e instanceof Uint8Array||e instanceof Uint8ClampedArray)i=e;else{i=new Uint8Array(e.length);for(var o=0,s=e.length;on*4&&(this.tooManyColors=!0),this.updatePalette(r),a.length===1?a[0]:a};Eh.prototype.updatePalette=function(e){if(!this.tooManyColors){var t=this.maxColors,r=this.paletteTexture,n=Math.ceil(e.length*.25/t);if(n>1){e=e.slice();for(var a=e.length*.25%t;a{"use strict";Mj.exports=d9;Mj.exports.default=d9;function d9(e,t,r){r=r||2;var n=t&&t.length,a=n?t[0]*r:e.length,i=JFe(e,0,a,r,!0),o=[];if(!i||i.next===i.prev)return o;var s,l,u,c,f,h,v;if(n&&(i=BRt(e,t,i,r)),e.length>80*r){s=u=e[0],l=c=e[1];for(var d=r;du&&(u=f),h>c&&(c=h);v=Math.max(u-s,c-l),v=v!==0?32767/v:0}return i6(i,o,r,s,l,v,0),o}function JFe(e,t,r,n,a){var i,o;if(a===Aj(e,t,r,n)>0)for(i=t;i=t;i-=n)o=KFe(i,e[i],e[i+1],o);return o&&v9(o,o.next)&&(s6(o),o=o.next),o}function L2(e,t){if(!e)return e;t||(t=e);var r=e,n;do if(n=!1,!r.steiner&&(v9(r,r.next)||xc(r.prev,r,r.next)===0)){if(s6(r),r=t=r.prev,r===r.next)break;n=!0}else r=r.next;while(n||r!==t);return t}function i6(e,t,r,n,a,i,o){if(e){!o&&i&&GRt(e,n,a,i);for(var s=e,l,u;e.prev!==e.next;){if(l=e.prev,u=e.next,i?IRt(e,n,a,i):RRt(e)){t.push(l.i/r|0),t.push(e.i/r|0),t.push(u.i/r|0),s6(e),e=u.next,s=u.next;continue}if(e=u,e===s){o?o===1?(e=zRt(L2(e),t,r),i6(e,t,r,n,a,i,2)):o===2&&qRt(e,t,r,n,a,i):i6(L2(e),t,r,n,a,i,1);break}}}}function RRt(e){var t=e.prev,r=e,n=e.next;if(xc(t,r,n)>=0)return!1;for(var a=t.x,i=r.x,o=n.x,s=t.y,l=r.y,u=n.y,c=ai?a>o?a:o:i>o?i:o,v=s>l?s>u?s:u:l>u?l:u,d=n.next;d!==t;){if(d.x>=c&&d.x<=h&&d.y>=f&&d.y<=v&&vw(a,s,i,l,o,u,d.x,d.y)&&xc(d.prev,d,d.next)>=0)return!1;d=d.next}return!0}function IRt(e,t,r,n){var a=e.prev,i=e,o=e.next;if(xc(a,i,o)>=0)return!1;for(var s=a.x,l=i.x,u=o.x,c=a.y,f=i.y,h=o.y,v=sl?s>u?s:u:l>u?l:u,x=c>f?c>h?c:h:f>h?f:h,g=wj(v,d,t,r,n),E=wj(m,x,t,r,n),M=e.prevZ,w=e.nextZ;M&&M.z>=g&&w&&w.z<=E;){if(M.x>=v&&M.x<=m&&M.y>=d&&M.y<=x&&M!==a&&M!==o&&vw(s,c,l,f,u,h,M.x,M.y)&&xc(M.prev,M,M.next)>=0||(M=M.prevZ,w.x>=v&&w.x<=m&&w.y>=d&&w.y<=x&&w!==a&&w!==o&&vw(s,c,l,f,u,h,w.x,w.y)&&xc(w.prev,w,w.next)>=0))return!1;w=w.nextZ}for(;M&&M.z>=g;){if(M.x>=v&&M.x<=m&&M.y>=d&&M.y<=x&&M!==a&&M!==o&&vw(s,c,l,f,u,h,M.x,M.y)&&xc(M.prev,M,M.next)>=0)return!1;M=M.prevZ}for(;w&&w.z<=E;){if(w.x>=v&&w.x<=m&&w.y>=d&&w.y<=x&&w!==a&&w!==o&&vw(s,c,l,f,u,h,w.x,w.y)&&xc(w.prev,w,w.next)>=0)return!1;w=w.nextZ}return!0}function zRt(e,t,r){var n=e;do{var a=n.prev,i=n.next.next;!v9(a,i)&&QFe(a,n,n.next,i)&&o6(a,i)&&o6(i,a)&&(t.push(a.i/r|0),t.push(n.i/r|0),t.push(i.i/r|0),s6(n),s6(n.next),n=e=i),n=n.next}while(n!==e);return L2(n)}function qRt(e,t,r,n,a,i){var o=e;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&WRt(o,s)){var l=ePe(o,s);o=L2(o,o.next),l=L2(l,l.next),i6(o,t,r,n,a,i,0),i6(l,t,r,n,a,i,0);return}s=s.next}o=o.next}while(o!==e)}function BRt(e,t,r,n){var a=[],i,o,s,l,u;for(i=0,o=t.length;i=r.next.y&&r.next.y!==r.y){var s=r.x+(a-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(s<=n&&s>i&&(i=s,o=r.x=r.x&&r.x>=u&&n!==r.x&&vw(ao.x||r.x===o.x&&VRt(o,r)))&&(o=r,f=h)),r=r.next;while(r!==l);return o}function VRt(e,t){return xc(e.prev,e,t.prev)<0&&xc(t.next,e,e.next)<0}function GRt(e,t,r,n){var a=e;do a.z===0&&(a.z=wj(a.x,a.y,t,r,n)),a.prevZ=a.prev,a.nextZ=a.next,a=a.next;while(a!==e);a.prevZ.nextZ=null,a.prevZ=null,HRt(a)}function HRt(e){var t,r,n,a,i,o,s,l,u=1;do{for(r=e,e=null,i=null,o=0;r;){for(o++,n=r,s=0,t=0;t0||l>0&&n;)s!==0&&(l===0||!n||r.z<=n.z)?(a=r,r=r.nextZ,s--):(a=n,n=n.nextZ,l--),i?i.nextZ=a:e=a,a.prevZ=i,i=a;r=n}i.nextZ=null,u*=2}while(o>1);return e}function wj(e,t,r,n,a){return e=(e-r)*a|0,t=(t-n)*a|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function jRt(e){var t=e,r=e;do(t.x=(e-o)*(i-s)&&(e-o)*(n-s)>=(r-o)*(t-s)&&(r-o)*(i-s)>=(a-o)*(n-s)}function WRt(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!YRt(e,t)&&(o6(e,t)&&o6(t,e)&&XRt(e,t)&&(xc(e.prev,e,t.prev)||xc(e,t.prev,t))||v9(e,t)&&xc(e.prev,e,e.next)>0&&xc(t.prev,t,t.next)>0)}function xc(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function v9(e,t){return e.x===t.x&&e.y===t.y}function QFe(e,t,r,n){var a=h9(xc(e,t,r)),i=h9(xc(e,t,n)),o=h9(xc(r,n,e)),s=h9(xc(r,n,t));return!!(a!==i&&o!==s||a===0&&f9(e,r,t)||i===0&&f9(e,n,t)||o===0&&f9(r,e,n)||s===0&&f9(r,t,n))}function f9(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function h9(e){return e>0?1:e<0?-1:0}function YRt(e,t){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&QFe(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}function o6(e,t){return xc(e.prev,e,e.next)<0?xc(e,t,e.next)>=0&&xc(e,e.prev,t)>=0:xc(e,t,e.prev)<0||xc(e,e.next,t)<0}function XRt(e,t){var r=e,n=!1,a=(e.x+t.x)/2,i=(e.y+t.y)/2;do r.y>i!=r.next.y>i&&r.next.y!==r.y&&a<(r.next.x-r.x)*(i-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;while(r!==e);return n}function ePe(e,t){var r=new Tj(e.i,e.x,e.y),n=new Tj(t.i,t.x,t.y),a=e.next,i=t.prev;return e.next=t,t.prev=e,r.next=a,a.prev=r,n.next=r,r.prev=n,i.next=n,n.prev=i,n}function KFe(e,t,r,n){var a=new Tj(e,t,r);return n?(a.next=n.next,a.prev=n,n.next.prev=a,n.next=a):(a.prev=a,a.next=a),a}function s6(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function Tj(e,t,r){this.i=e,this.x=t,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}d9.deviation=function(e,t,r,n){var a=t&&t.length,i=a?t[0]*r:e.length,o=Math.abs(Aj(e,0,i,r));if(a)for(var s=0,l=t.length;s0&&(n+=e[a-1].length,r.holes.push(n))}return r}});var nPe=ne((l0r,rPe)=>{"use strict";var ZRt=A2();rPe.exports=$Rt;function $Rt(e,t,r){if(!e||e.length==null)throw Error("Argument should be an array");t==null&&(t=1),r==null&&(r=ZRt(e,t));for(var n=0;n{"use strict";aPe.exports=function(){var e,t;if(typeof WeakMap!="function")return!1;try{e=new WeakMap([[t={},"one"],[{},"two"],[{},"three"]])}catch(r){return!1}return!(String(e)!=="[object WeakMap]"||typeof e.set!="function"||e.set({},1)!==e||typeof e.delete!="function"||typeof e.has!="function"||e.get(t)!=="one")}});var sPe=ne((c0r,oPe)=>{"use strict";oPe.exports=function(){}});var Qm=ne((f0r,lPe)=>{"use strict";var KRt=sPe()();lPe.exports=function(e){return e!==KRt&&e!==null}});var Sj=ne((h0r,cPe)=>{"use strict";var JRt=Object.create,QRt=Object.getPrototypeOf,uPe={};cPe.exports=function(){var e=Object.setPrototypeOf,t=arguments[0]||JRt;return typeof e!="function"?!1:QRt(e(t(null),uPe))===uPe}});var Ej=ne((d0r,fPe)=>{"use strict";var eIt=Qm(),tIt={function:!0,object:!0};fPe.exports=function(e){return eIt(e)&&tIt[typeof e]||!1}});var ug=ne((v0r,hPe)=>{"use strict";var rIt=Qm();hPe.exports=function(e){if(!rIt(e))throw new TypeError("Cannot use null or undefined");return e}});var vPe=ne((p0r,dPe)=>{"use strict";var kj=Object.create,p9;Sj()()||(p9=Cj());dPe.exports=(function(){var e,t,r;return!p9||p9.level!==1?kj:(e={},t={},r={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach(function(n){if(n==="__proto__"){t[n]={configurable:!0,enumerable:!1,writable:!0,value:void 0};return}t[n]=r}),Object.defineProperties(e,t),Object.defineProperty(p9,"nullPolyfill",{configurable:!1,enumerable:!1,writable:!1,value:e}),function(n,a){return kj(n===null?e:n,a)})})()});var Cj=ne((g0r,pPe)=>{"use strict";var nIt=Ej(),aIt=ug(),iIt=Object.prototype.isPrototypeOf,oIt=Object.defineProperty,sIt={configurable:!0,enumerable:!1,writable:!0,value:void 0},g9;g9=function(e,t){if(aIt(e),t===null||nIt(t))return e;throw new TypeError("Prototype must be null or an object")};pPe.exports=(function(e){var t,r;return e?(e.level===2?e.set?(r=e.set,t=function(n,a){return r.call(g9(n,a),a),n}):t=function(n,a){return g9(n,a).__proto__=a,n}:t=function n(a,i){var o;return g9(a,i),o=iIt.call(n.nullPolyfill,a),o&&delete n.nullPolyfill.__proto__,i===null&&(i=n.nullPolyfill),a.__proto__=i,o&&oIt(n.nullPolyfill,"__proto__",sIt),a},Object.defineProperty(t,"level",{configurable:!1,enumerable:!1,writable:!1,value:e.level})):null})((function(){var e=Object.create(null),t={},r,n=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__");if(n){try{r=n.set,r.call(e,t)}catch(a){}if(Object.getPrototypeOf(e)===t)return{set:r,level:2}}return e.__proto__=t,Object.getPrototypeOf(e)===t?{level:2}:(e={},e.__proto__=t,Object.getPrototypeOf(e)===t?{level:1}:!1)})());vPe()});var m9=ne((m0r,gPe)=>{"use strict";gPe.exports=Sj()()?Object.setPrototypeOf:Cj()});var yPe=ne((y0r,mPe)=>{"use strict";var lIt=Ej();mPe.exports=function(e){if(!lIt(e))throw new TypeError(e+" is not an Object");return e}});var bPe=ne((x0r,xPe)=>{"use strict";var uIt=Object.create(null),cIt=Math.random;xPe.exports=function(){var e;do e=cIt().toString(36).slice(2);while(uIt[e]);return e}});var F2=ne((b0r,_Pe)=>{"use strict";var fIt=void 0;_Pe.exports=function(e){return e!==fIt&&e!==null}});var y9=ne((_0r,wPe)=>{"use strict";var hIt=F2(),dIt={object:!0,function:!0,undefined:!0};wPe.exports=function(e){return hIt(e)?hasOwnProperty.call(dIt,typeof e):!1}});var APe=ne((w0r,TPe)=>{"use strict";var vIt=y9();TPe.exports=function(e){if(!vIt(e))return!1;try{return e.constructor?e.constructor.prototype===e:!1}catch(t){return!1}}});var SPe=ne((T0r,MPe)=>{"use strict";var pIt=APe();MPe.exports=function(e){if(typeof e!="function"||!hasOwnProperty.call(e,"length"))return!1;try{if(typeof e.length!="number"||typeof e.call!="function"||typeof e.apply!="function")return!1}catch(t){return!1}return!pIt(e)}});var Lj=ne((A0r,EPe)=>{"use strict";var gIt=SPe(),mIt=/^\s*class[\s{/}]/,yIt=Function.prototype.toString;EPe.exports=function(e){return!(!gIt(e)||mIt.test(yIt.call(e)))}});var CPe=ne((M0r,kPe)=>{"use strict";kPe.exports=function(){var e=Object.assign,t;return typeof e!="function"?!1:(t={foo:"raz"},e(t,{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}});var FPe=ne((S0r,LPe)=>{"use strict";LPe.exports=function(){try{return Object.keys("primitive"),!0}catch(e){return!1}}});var DPe=ne((E0r,PPe)=>{"use strict";var xIt=Qm(),bIt=Object.keys;PPe.exports=function(e){return bIt(xIt(e)?Object(e):e)}});var IPe=ne((k0r,RPe)=>{"use strict";RPe.exports=FPe()()?Object.keys:DPe()});var qPe=ne((C0r,zPe)=>{"use strict";var _It=IPe(),wIt=ug(),TIt=Math.max;zPe.exports=function(e,t){var r,n,a=TIt(arguments.length,2),i;for(e=Object(wIt(e)),i=function(o){try{e[o]=t[o]}catch(s){r||(r=s)}},n=1;n{"use strict";BPe.exports=CPe()()?Object.assign:qPe()});var Fj=ne((F0r,OPe)=>{"use strict";var AIt=Qm(),MIt=Array.prototype.forEach,SIt=Object.create,EIt=function(e,t){var r;for(r in e)t[r]=e[r]};OPe.exports=function(e){var t=SIt(null);return MIt.call(arguments,function(r){AIt(r)&&EIt(Object(r),t)}),t}});var UPe=ne((P0r,NPe)=>{"use strict";var Pj="razdwatrzy";NPe.exports=function(){return typeof Pj.contains!="function"?!1:Pj.contains("dwa")===!0&&Pj.contains("foo")===!1}});var GPe=ne((D0r,VPe)=>{"use strict";var kIt=String.prototype.indexOf;VPe.exports=function(e){return kIt.call(this,e,arguments[1])>-1}});var Dj=ne((R0r,HPe)=>{"use strict";HPe.exports=UPe()()?String.prototype.contains:GPe()});var cg=ne((I0r,XPe)=>{"use strict";var b9=F2(),jPe=Lj(),WPe=x9(),YPe=Fj(),l6=Dj(),CIt=XPe.exports=function(e,t){var r,n,a,i,o;return arguments.length<2||typeof e!="string"?(i=t,t=e,e=null):i=arguments[2],b9(e)?(r=l6.call(e,"c"),n=l6.call(e,"e"),a=l6.call(e,"w")):(r=a=!0,n=!1),o={value:t,configurable:r,enumerable:n,writable:a},i?WPe(YPe(i),o):o};CIt.gs=function(e,t,r){var n,a,i,o;return typeof e!="string"?(i=r,r=t,t=e,e=null):i=arguments[3],b9(t)?jPe(t)?b9(r)?jPe(r)||(i=r,r=void 0):r=void 0:(i=t,t=r=void 0):t=void 0,b9(e)?(n=l6.call(e,"c"),a=l6.call(e,"e")):(n=!0,a=!1),o={get:t,set:r,configurable:n,enumerable:a},i?WPe(YPe(i),o):o}});var u6=ne((z0r,$Pe)=>{"use strict";var ZPe=Object.prototype.toString,LIt=ZPe.call((function(){return arguments})());$Pe.exports=function(e){return ZPe.call(e)===LIt}});var c6=ne((q0r,JPe)=>{"use strict";var KPe=Object.prototype.toString,FIt=KPe.call("");JPe.exports=function(e){return typeof e=="string"||e&&typeof e=="object"&&(e instanceof String||KPe.call(e)===FIt)||!1}});var eDe=ne((B0r,QPe)=>{"use strict";QPe.exports=function(){return typeof globalThis!="object"||!globalThis?!1:globalThis.Array===Array}});var nDe=ne((O0r,rDe)=>{var tDe=function(){if(typeof self=="object"&&self)return self;if(typeof window=="object"&&window)return window;throw new Error("Unable to resolve global `this`")};rDe.exports=(function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return tDe()}try{return __global__||tDe()}finally{delete Object.prototype.__global__}})()});var f6=ne((N0r,aDe)=>{"use strict";aDe.exports=eDe()()?globalThis:nDe()});var oDe=ne((U0r,iDe)=>{"use strict";var PIt=f6(),Rj={object:!0,symbol:!0};iDe.exports=function(){var e=PIt.Symbol,t;if(typeof e!="function")return!1;t=e("test symbol");try{String(t)}catch(r){return!1}return!(!Rj[typeof e.iterator]||!Rj[typeof e.toPrimitive]||!Rj[typeof e.toStringTag])}});var lDe=ne((V0r,sDe)=>{"use strict";sDe.exports=function(e){return e?typeof e=="symbol"?!0:!e.constructor||e.constructor.name!=="Symbol"?!1:e[e.constructor.toStringTag]==="Symbol":!1}});var Ij=ne((G0r,uDe)=>{"use strict";var DIt=lDe();uDe.exports=function(e){if(!DIt(e))throw new TypeError(e+" is not a symbol");return e}});var vDe=ne((H0r,dDe)=>{"use strict";var cDe=cg(),RIt=Object.create,fDe=Object.defineProperty,IIt=Object.prototype,hDe=RIt(null);dDe.exports=function(e){for(var t=0,r,n;hDe[e+(t||"")];)++t;return e+=t||"",hDe[e]=!0,r="@@"+e,fDe(IIt,r,cDe.gs(null,function(a){n||(n=!0,fDe(this,r,cDe(a)),n=!1)})),r}});var gDe=ne((j0r,pDe)=>{"use strict";var cp=cg(),Vc=f6().Symbol;pDe.exports=function(e){return Object.defineProperties(e,{hasInstance:cp("",Vc&&Vc.hasInstance||e("hasInstance")),isConcatSpreadable:cp("",Vc&&Vc.isConcatSpreadable||e("isConcatSpreadable")),iterator:cp("",Vc&&Vc.iterator||e("iterator")),match:cp("",Vc&&Vc.match||e("match")),replace:cp("",Vc&&Vc.replace||e("replace")),search:cp("",Vc&&Vc.search||e("search")),species:cp("",Vc&&Vc.species||e("species")),split:cp("",Vc&&Vc.split||e("split")),toPrimitive:cp("",Vc&&Vc.toPrimitive||e("toPrimitive")),toStringTag:cp("",Vc&&Vc.toStringTag||e("toStringTag")),unscopables:cp("",Vc&&Vc.unscopables||e("unscopables"))})}});var xDe=ne((W0r,yDe)=>{"use strict";var mDe=cg(),zIt=Ij(),h6=Object.create(null);yDe.exports=function(e){return Object.defineProperties(e,{for:mDe(function(t){return h6[t]?h6[t]:h6[t]=e(String(t))}),keyFor:mDe(function(t){var r;zIt(t);for(r in h6)if(h6[r]===t)return r})})}});var wDe=ne((Y0r,_De)=>{"use strict";var l1=cg(),zj=Ij(),_9=f6().Symbol,qIt=vDe(),BIt=gDe(),OIt=xDe(),NIt=Object.create,qj=Object.defineProperties,w9=Object.defineProperty,gd,pw,bDe;if(typeof _9=="function")try{String(_9()),bDe=!0}catch(e){}else _9=null;pw=function(t){if(this instanceof pw)throw new TypeError("Symbol is not a constructor");return gd(t)};_De.exports=gd=function e(t){var r;if(this instanceof e)throw new TypeError("Symbol is not a constructor");return bDe?_9(t):(r=NIt(pw.prototype),t=t===void 0?"":String(t),qj(r,{__description__:l1("",t),__name__:l1("",qIt(t))}))};BIt(gd);OIt(gd);qj(pw.prototype,{constructor:l1(gd),toString:l1("",function(){return this.__name__})});qj(gd.prototype,{toString:l1(function(){return"Symbol ("+zj(this).__description__+")"}),valueOf:l1(function(){return zj(this)})});w9(gd.prototype,gd.toPrimitive,l1("",function(){var e=zj(this);return typeof e=="symbol"?e:e.toString()}));w9(gd.prototype,gd.toStringTag,l1("c","Symbol"));w9(pw.prototype,gd.toStringTag,l1("c",gd.prototype[gd.toStringTag]));w9(pw.prototype,gd.toPrimitive,l1("c",gd.prototype[gd.toPrimitive]))});var ey=ne((X0r,TDe)=>{"use strict";TDe.exports=oDe()()?f6().Symbol:wDe()});var MDe=ne((Z0r,ADe)=>{"use strict";var UIt=ug();ADe.exports=function(){return UIt(this).length=0,this}});var gw=ne(($0r,SDe)=>{"use strict";SDe.exports=function(e){if(typeof e!="function")throw new TypeError(e+" is not a function");return e}});var kDe=ne((K0r,EDe)=>{"use strict";var VIt=F2(),GIt=y9(),HIt=Object.prototype.toString;EDe.exports=function(e){if(!VIt(e))return null;if(GIt(e)){var t=e.toString;if(typeof t!="function"||t===HIt)return null}try{return""+e}catch(r){return null}}});var LDe=ne((J0r,CDe)=>{"use strict";CDe.exports=function(e){try{return e.toString()}catch(t){try{return String(e)}catch(r){return null}}}});var PDe=ne((Q0r,FDe)=>{"use strict";var jIt=LDe(),WIt=/[\n\r\u2028\u2029]/g;FDe.exports=function(e){var t=jIt(e);return t===null?"":(t.length>100&&(t=t.slice(0,99)+"\u2026"),t=t.replace(WIt,function(r){switch(r){case` +`:return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}}),t)}});var Bj=ne((epr,IDe)=>{"use strict";var DDe=F2(),YIt=y9(),XIt=kDe(),ZIt=PDe(),RDe=function(e,t){return e.replace("%v",ZIt(t))};IDe.exports=function(e,t,r){if(!YIt(r))throw new TypeError(RDe(t,e));if(!DDe(e)){if("default"in r)return r.default;if(r.isOptional)return null}var n=XIt(r.errorMessage);throw DDe(n)||(n=t),new TypeError(RDe(n,e))}});var qDe=ne((tpr,zDe)=>{"use strict";var $It=Bj(),KIt=F2();zDe.exports=function(e){return KIt(e)?e:$It(e,"Cannot use %v",arguments[1])}});var ODe=ne((rpr,BDe)=>{"use strict";var JIt=Bj(),QIt=Lj();BDe.exports=function(e){return QIt(e)?e:JIt(e,"%v is not a plain function",arguments[1])}});var UDe=ne((npr,NDe)=>{"use strict";NDe.exports=function(){var e=Array.from,t,r;return typeof e!="function"?!1:(t=["raz","dwa"],r=e(t),!!(r&&r!==t&&r[1]==="dwa"))}});var GDe=ne((apr,VDe)=>{"use strict";var ezt=Object.prototype.toString,tzt=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);VDe.exports=function(e){return typeof e=="function"&&tzt(ezt.call(e))}});var jDe=ne((ipr,HDe)=>{"use strict";HDe.exports=function(){var e=Math.sign;return typeof e!="function"?!1:e(10)===1&&e(-20)===-1}});var YDe=ne((opr,WDe)=>{"use strict";WDe.exports=function(e){return e=Number(e),isNaN(e)||e===0?e:e>0?1:-1}});var ZDe=ne((spr,XDe)=>{"use strict";XDe.exports=jDe()()?Math.sign:YDe()});var KDe=ne((lpr,$De)=>{"use strict";var rzt=ZDe(),nzt=Math.abs,azt=Math.floor;$De.exports=function(e){return isNaN(e)?0:(e=Number(e),e===0||!isFinite(e)?e:rzt(e)*azt(nzt(e)))}});var QDe=ne((upr,JDe)=>{"use strict";var izt=KDe(),ozt=Math.max;JDe.exports=function(e){return ozt(0,izt(e))}});var nRe=ne((cpr,rRe)=>{"use strict";var szt=ey().iterator,lzt=u6(),uzt=GDe(),czt=QDe(),eRe=gw(),fzt=ug(),hzt=Qm(),dzt=c6(),tRe=Array.isArray,Oj=Function.prototype.call,P2={configurable:!0,enumerable:!0,writable:!0,value:null},Nj=Object.defineProperty;rRe.exports=function(e){var t=arguments[1],r=arguments[2],n,a,i,o,s,l,u,c,f,h;if(e=Object(fzt(e)),hzt(t)&&eRe(t),!this||this===Array||!uzt(this)){if(!t){if(lzt(e))return s=e.length,s!==1?Array.apply(null,e):(o=new Array(1),o[0]=e[0],o);if(tRe(e)){for(o=new Array(s=e.length),a=0;a=55296&&l<=56319&&(h+=e[++a])),h=t?Oj.call(t,r,h,i):h,n?(P2.value=h,Nj(o,i,P2)):o[i]=h,++i;s=i}}if(s===void 0)for(s=czt(e.length),n&&(o=new n(s)),a=0;a{"use strict";aRe.exports=UDe()()?Array.from:nRe()});var sRe=ne((hpr,oRe)=>{"use strict";var vzt=iRe(),pzt=x9(),gzt=ug();oRe.exports=function(e){var t=Object(gzt(e)),r=arguments[1],n=Object(arguments[2]);if(t!==e&&!r)return t;var a={};return r?vzt(r,function(i){(n.ensure||i in e)&&(a[i]=e[i])}):pzt(a,e),a}});var cRe=ne((dpr,uRe)=>{"use strict";var mzt=gw(),yzt=ug(),xzt=Function.prototype.bind,lRe=Function.prototype.call,bzt=Object.keys,_zt=Object.prototype.propertyIsEnumerable;uRe.exports=function(e,t){return function(r,n){var a,i=arguments[2],o=arguments[3];return r=Object(yzt(r)),mzt(n),a=bzt(r),o&&a.sort(typeof o=="function"?xzt.call(o,r):void 0),typeof e!="function"&&(e=a[e]),lRe.call(e,a,function(s,l){return _zt.call(r,s)?lRe.call(n,i,r[s],s,r,l):t})}}});var hRe=ne((vpr,fRe)=>{"use strict";fRe.exports=cRe()("forEach")});var vRe=ne((ppr,dRe)=>{"use strict";var wzt=gw(),Tzt=hRe(),Azt=Function.prototype.call;dRe.exports=function(e,t){var r={},n=arguments[2];return wzt(t),Tzt(e,function(a,i,o,s){r[i]=Azt.call(t,n,a,i,o,s)}),r}});var yRe=ne((gpr,mRe)=>{"use strict";var Mzt=F2(),Szt=qDe(),pRe=ODe(),Ezt=sRe(),kzt=Fj(),Czt=vRe(),Lzt=Function.prototype.bind,Fzt=Object.defineProperty,Pzt=Object.prototype.hasOwnProperty,gRe;gRe=function(e,t,r){var n=Szt(t)&&pRe(t.value),a;return a=Ezt(t),delete a.writable,delete a.value,a.get=function(){return!r.overwriteDefinition&&Pzt.call(this,e)?n:(t.value=Lzt.call(n,r.resolveContext?r.resolveContext(this):this),Fzt(this,e,t),this[e])},a};mRe.exports=function(e){var t=kzt(arguments[1]);return Mzt(t.resolveContext)&&pRe(t.resolveContext),Czt(e,function(r,n){return gRe(n,r,t)})}});var Uj=ne((mpr,wRe)=>{"use strict";var Dzt=MDe(),Rzt=x9(),Izt=gw(),zzt=ug(),rv=cg(),qzt=yRe(),xRe=ey(),bRe=Object.defineProperty,_Re=Object.defineProperties,d6;wRe.exports=d6=function(e,t){if(!(this instanceof d6))throw new TypeError("Constructor requires 'new'");_Re(this,{__list__:rv("w",zzt(e)),__context__:rv("w",t),__nextIndex__:rv("w",0)}),t&&(Izt(t.on),t.on("_add",this._onAdd),t.on("_delete",this._onDelete),t.on("_clear",this._onClear))};delete d6.prototype.constructor;_Re(d6.prototype,Rzt({_next:rv(function(){var e;if(this.__list__){if(this.__redo__&&(e=this.__redo__.shift(),e!==void 0))return e;if(this.__nextIndex__=this.__nextIndex__)){if(++this.__nextIndex__,!this.__redo__){bRe(this,"__redo__",rv("c",[e]));return}this.__redo__.forEach(function(t,r){t>=e&&(this.__redo__[r]=++t)},this),this.__redo__.push(e)}}),_onDelete:rv(function(e){var t;e>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(t=this.__redo__.indexOf(e),t!==-1&&this.__redo__.splice(t,1),this.__redo__.forEach(function(r,n){r>e&&(this.__redo__[n]=--r)},this)))}),_onClear:rv(function(){this.__redo__&&Dzt.call(this.__redo__),this.__nextIndex__=0})})));bRe(d6.prototype,xRe.iterator,rv(function(){return this}))});var ERe=ne((ypr,SRe)=>{"use strict";var TRe=m9(),ARe=Dj(),Vj=cg(),Bzt=ey(),Gj=Uj(),MRe=Object.defineProperty,mw;mw=SRe.exports=function(e,t){if(!(this instanceof mw))throw new TypeError("Constructor requires 'new'");Gj.call(this,e),t?ARe.call(t,"key+value")?t="key+value":ARe.call(t,"key")?t="key":t="value":t="value",MRe(this,"__kind__",Vj("",t))};TRe&&TRe(mw,Gj);delete mw.prototype.constructor;mw.prototype=Object.create(Gj.prototype,{_resolve:Vj(function(e){return this.__kind__==="value"?this.__list__[e]:this.__kind__==="key+value"?[e,this.__list__[e]]:e})});MRe(mw.prototype,Bzt.toStringTag,Vj("c","Array Iterator"))});var FRe=ne((xpr,LRe)=>{"use strict";var kRe=m9(),T9=cg(),Ozt=ey(),Hj=Uj(),CRe=Object.defineProperty,yw;yw=LRe.exports=function(e){if(!(this instanceof yw))throw new TypeError("Constructor requires 'new'");e=String(e),Hj.call(this,e),CRe(this,"__length__",T9("",e.length))};kRe&&kRe(yw,Hj);delete yw.prototype.constructor;yw.prototype=Object.create(Hj.prototype,{_next:T9(function(){if(this.__list__){if(this.__nextIndex__=55296&&r<=56319?t+this.__list__[this.__nextIndex__++]:t)})});CRe(yw.prototype,Ozt.toStringTag,T9("c","String Iterator"))});var DRe=ne((bpr,PRe)=>{"use strict";var Nzt=u6(),Uzt=Qm(),Vzt=c6(),Gzt=ey().iterator,Hzt=Array.isArray;PRe.exports=function(e){return Uzt(e)?Hzt(e)||Vzt(e)||Nzt(e)?!0:typeof e[Gzt]=="function":!1}});var IRe=ne((_pr,RRe)=>{"use strict";var jzt=DRe();RRe.exports=function(e){if(!jzt(e))throw new TypeError(e+" is not iterable");return e}});var jj=ne((wpr,BRe)=>{"use strict";var Wzt=u6(),Yzt=c6(),zRe=ERe(),Xzt=FRe(),Zzt=IRe(),qRe=ey().iterator;BRe.exports=function(e){return typeof Zzt(e)[qRe]=="function"?e[qRe]():Wzt(e)?new zRe(e):Yzt(e)?new Xzt(e):new zRe(e)}});var NRe=ne((Tpr,ORe)=>{"use strict";var $zt=u6(),Kzt=gw(),Jzt=c6(),Qzt=jj(),eqt=Array.isArray,Wj=Function.prototype.call,tqt=Array.prototype.some;ORe.exports=function(e,t){var r,n=arguments[2],a,i,o,s,l,u,c;if(eqt(e)||$zt(e)?r="array":Jzt(e)?r="string":e=Qzt(e),Kzt(t),i=function(){o=!0},r==="array"){tqt.call(e,function(f){return Wj.call(t,n,f,i),o});return}if(r==="string"){for(l=e.length,s=0;s=55296&&c<=56319&&(u+=e[++s])),Wj.call(t,n,u,i),!o);++s);return}for(a=e.next();!a.done;){if(Wj.call(t,n,a.value,i),o)return;a=e.next()}}});var VRe=ne((Apr,URe)=>{"use strict";URe.exports=(function(){return typeof WeakMap!="function"?!1:Object.prototype.toString.call(new WeakMap)==="[object WeakMap]"})()});var jRe=ne((Mpr,HRe)=>{"use strict";var rqt=Qm(),M9=m9(),A9=yPe(),nqt=ug(),aqt=bPe(),fg=cg(),iqt=jj(),oqt=NRe(),sqt=ey().toStringTag,GRe=VRe(),lqt=Array.isArray,Xj=Object.defineProperty,Yj=Object.prototype.hasOwnProperty,uqt=Object.getPrototypeOf,ty;HRe.exports=ty=function(){var e=arguments[0],t;if(!(this instanceof ty))throw new TypeError("Constructor requires 'new'");return t=GRe&&M9&&WeakMap!==ty?M9(new WeakMap,uqt(this)):this,rqt(e)&&(lqt(e)||(e=iqt(e))),Xj(t,"__weakMapData__",fg("c","$weakMap$"+aqt())),e&&oqt(e,function(r){nqt(r),t.set(r[0],r[1])}),t};GRe&&(M9&&M9(ty,WeakMap),ty.prototype=Object.create(WeakMap.prototype,{constructor:fg(ty)}));Object.defineProperties(ty.prototype,{delete:fg(function(e){return Yj.call(A9(e),this.__weakMapData__)?(delete e[this.__weakMapData__],!0):!1}),get:fg(function(e){if(Yj.call(A9(e),this.__weakMapData__))return e[this.__weakMapData__]}),has:fg(function(e){return Yj.call(A9(e),this.__weakMapData__)}),set:fg(function(e,t){return Xj(A9(e),this.__weakMapData__,fg("c",t)),this}),toString:fg(function(){return"[object WeakMap]"})});Xj(ty.prototype,sqt,fg("c","WeakMap"))});var Zj=ne((Spr,WRe)=>{"use strict";WRe.exports=iPe()()?WeakMap:jRe()});var XRe=ne((Epr,YRe)=>{"use strict";YRe.exports=function(e,t,r){if(typeof Array.prototype.findIndex=="function")return e.findIndex(t,r);if(typeof t!="function")throw new TypeError("predicate must be a function");var n=Object(e),a=n.length;if(a===0)return-1;for(var i=0;i{"use strict";var S9=Hm(),cqt=A2(),Kj=Uc(),fqt=s1(),hqt=M2(),ZRe=tPe(),dqt=nPe(),{float32:vqt,fract32:$j}=l9(),pqt=Zj(),$Re=sw(),gqt=XRe(),mqt=` precision highp float; attribute vec2 aCoord, bCoord, aCoordFract, bCoordFract; @@ -2247,7 +2247,7 @@ void main() { fragColor = color / 255.; } -`,jNt=` +`,yqt=` precision highp float; uniform float dashLength, pixelRatio, thickness, opacity, id; @@ -2265,7 +2265,7 @@ void main() { gl_FragColor = fragColor; gl_FragColor.a *= alpha * opacity * dash; } -`,WNt=` +`,xqt=` precision highp float; attribute vec2 position, positionFract; @@ -2293,14 +2293,14 @@ void main() { fragColor = color / 255.; fragColor.a *= opacity; } -`,XNt=` +`,bqt=` precision highp float; varying vec4 fragColor; void main() { gl_FragColor = fragColor; } -`,ZNt=` +`,_qt=` precision highp float; attribute vec2 aCoord, bCoord, nextCoord, prevCoord; @@ -2504,7 +2504,7 @@ void main() { } } } -`,YNt=` +`,wqt=` precision highp float; uniform float dashLength, pixelRatio, thickness, opacity, id, miterMode; @@ -2584,7 +2584,7 @@ void main() { gl_FragColor = fragColor; gl_FragColor.a *= alpha * opacity * dash; } -`;AOe.exports=Wc;function Wc(e,t){if(!(this instanceof Wc))return new Wc(e,t);if(typeof e=="function"?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),e=t.regl,!e.hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");this.gl=e._gl,this.regl=e,this.passes=[],this.shaders=Wc.shaders.has(e)?Wc.shaders.get(e):Wc.shaders.set(e,Wc.createShaders(e)).get(e),this.update(t)}Wc.dashMult=2;Wc.maxPatternLength=256;Wc.precisionThreshold=3e6;Wc.maxPoints=1e4;Wc.maxLines=2048;Wc.shaders=new VNt;Wc.createShaders=function(e){let t=e.buffer({usage:"static",type:"float",data:[0,1,0,0,1,1,1,0]}),r={primitive:"triangle strip",instances:e.prop("count"),count:4,offset:0,uniforms:{miterMode:(o,s)=>s.join==="round"?2:1,miterLimit:e.prop("miterLimit"),scale:e.prop("scale"),scaleFract:e.prop("scaleFract"),translateFract:e.prop("translateFract"),translate:e.prop("translate"),thickness:e.prop("thickness"),dashTexture:e.prop("dashTexture"),opacity:e.prop("opacity"),pixelRatio:e.context("pixelRatio"),id:e.prop("id"),dashLength:e.prop("dashLength"),viewport:(o,s)=>[s.viewport.x,s.viewport.y,o.viewportWidth,o.viewportHeight],depth:e.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:(o,s)=>!s.overlay},stencil:{enable:!1},scissor:{enable:!0,box:e.prop("viewport")},viewport:e.prop("viewport")},n=e(KY({vert:HNt,frag:jNt,attributes:{lineEnd:{buffer:t,divisor:0,stride:8,offset:0},lineTop:{buffer:t,divisor:0,stride:8,offset:4},aCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:e.prop("positionFractBuffer"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:e.prop("positionFractBuffer"),stride:8,offset:16,divisor:1},color:{buffer:e.prop("colorBuffer"),stride:4,offset:0,divisor:1}}},r)),i;try{i=e(KY({cull:{enable:!0,face:"back"},vert:ZNt,frag:YNt,attributes:{lineEnd:{buffer:t,divisor:0,stride:8,offset:0},lineTop:{buffer:t,divisor:0,stride:8,offset:4},aColor:{buffer:e.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:e.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},r))}catch(o){i=n}return{fill:e({primitive:"triangle",elements:(o,s)=>s.triangles,offset:0,vert:WNt,frag:XNt,uniforms:{scale:e.prop("scale"),color:e.prop("fill"),scaleFract:e.prop("scaleFract"),translateFract:e.prop("translateFract"),translate:e.prop("translate"),opacity:e.prop("opacity"),pixelRatio:e.context("pixelRatio"),id:e.prop("id"),viewport:(o,s)=>[s.viewport.x,s.viewport.y,o.viewportWidth,o.viewportHeight]},attributes:{position:{buffer:e.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:e.prop("positionFractBuffer"),stride:8,offset:8}},blend:r.blend,depth:{enable:!1},scissor:r.scissor,stencil:r.stencil,viewport:r.viewport}),rect:n,miter:i}};Wc.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};Wc.prototype.render=function(...e){e.length&&this.update(...e),this.draw()};Wc.prototype.draw=function(...e){return(e.length?e:this.passes).forEach((t,r)=>{if(t&&Array.isArray(t))return this.draw(...t);typeof t=="number"&&(t=this.passes[t]),t&&t.count>1&&t.opacity&&(this.regl._refresh(),t.fill&&t.triangles&&t.triangles.length>2&&this.shaders.fill(t),t.thickness&&(t.scale[0]*t.viewport.width>Wc.precisionThreshold||t.scale[1]*t.viewport.height>Wc.precisionThreshold?this.shaders.rect(t):t.join==="rect"||!t.join&&(t.thickness<=2||t.count>=Wc.maxPoints)?this.shaders.rect(t):this.shaders.miter(t)))}),this};Wc.prototype.update=function(e){if(!e)return;e.length!=null?typeof e[0]=="number"&&(e=[{positions:e}]):Array.isArray(e)||(e=[e]);let{regl:t,gl:r}=this;if(e.forEach((i,a)=>{let o=this.passes[a];if(i!==void 0){if(i===null){this.passes[a]=null;return}if(typeof i[0]=="number"&&(i={positions:i}),i=ONt(i,{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"}),o||(this.passes[a]=o={id:a,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:t.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:t.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:t.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:t.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},i=KY({},Wc.defaults,i)),i.thickness!=null&&(o.thickness=parseFloat(i.thickness)),i.opacity!=null&&(o.opacity=parseFloat(i.opacity)),i.miterLimit!=null&&(o.miterLimit=parseFloat(i.miterLimit)),i.overlay!=null&&(o.overlay=!!i.overlay,aL-x),k=[],M=0,T=o.hole!=null?o.hole[0]:null;if(T!=null){let L=GNt(p,x=>x>=T);p=p.slice(0,L),p.push(T)}for(let L=0;Lg-T+(p[L]-M)),S=wOe(x,C);S=S.map(g=>g+M+(g+M{e.colorBuffer.destroy(),e.positionBuffer.destroy(),e.dashTexture.destroy()}),this.passes.length=0,this}});var COe=ye((f_r,kOe)=>{"use strict";var KNt=nw(),JNt=sx(),$Nt=yY(),QNt=ty(),SOe=Nh(),MOe=aw(),{float32:eUt,fract32:$Y}=oz();kOe.exports=tUt;var EOe=[[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 tUt(e,t){if(typeof e=="function"?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),e=t.regl,!e.hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");let r=e._gl,n,i,a,o,s,l,u={color:"black",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},c=[];return o=e.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array(0)}),i=e.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),a=e.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),s=e.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),l=e.buffer({usage:"static",type:"float",data:EOe}),v(t),n=e({vert:` +`;KRe.exports=Bl;function Bl(e,t){if(!(this instanceof Bl))return new Bl(e,t);if(typeof e=="function"?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),e=t.regl,!e.hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");this.gl=e._gl,this.regl=e,this.passes=[],this.shaders=Bl.shaders.has(e)?Bl.shaders.get(e):Bl.shaders.set(e,Bl.createShaders(e)).get(e),this.update(t)}Bl.dashMult=2;Bl.maxPatternLength=256;Bl.precisionThreshold=3e6;Bl.maxPoints=1e4;Bl.maxLines=2048;Bl.shaders=new pqt;Bl.createShaders=function(e){let t=e.buffer({usage:"static",type:"float",data:[0,1,0,0,1,1,1,0]}),r={primitive:"triangle strip",instances:e.prop("count"),count:4,offset:0,uniforms:{miterMode:(o,s)=>s.join==="round"?2:1,miterLimit:e.prop("miterLimit"),scale:e.prop("scale"),scaleFract:e.prop("scaleFract"),translateFract:e.prop("translateFract"),translate:e.prop("translate"),thickness:e.prop("thickness"),dashTexture:e.prop("dashTexture"),opacity:e.prop("opacity"),pixelRatio:e.context("pixelRatio"),id:e.prop("id"),dashLength:e.prop("dashLength"),viewport:(o,s)=>[s.viewport.x,s.viewport.y,o.viewportWidth,o.viewportHeight],depth:e.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:(o,s)=>!s.overlay},stencil:{enable:!1},scissor:{enable:!0,box:e.prop("viewport")},viewport:e.prop("viewport")},n=e(Kj({vert:mqt,frag:yqt,attributes:{lineEnd:{buffer:t,divisor:0,stride:8,offset:0},lineTop:{buffer:t,divisor:0,stride:8,offset:4},aCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:e.prop("positionFractBuffer"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:e.prop("positionFractBuffer"),stride:8,offset:16,divisor:1},color:{buffer:e.prop("colorBuffer"),stride:4,offset:0,divisor:1}}},r)),a;try{a=e(Kj({cull:{enable:!0,face:"back"},vert:_qt,frag:wqt,attributes:{lineEnd:{buffer:t,divisor:0,stride:8,offset:0},lineTop:{buffer:t,divisor:0,stride:8,offset:4},aColor:{buffer:e.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:e.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},r))}catch(o){a=n}return{fill:e({primitive:"triangle",elements:(o,s)=>s.triangles,offset:0,vert:xqt,frag:bqt,uniforms:{scale:e.prop("scale"),color:e.prop("fill"),scaleFract:e.prop("scaleFract"),translateFract:e.prop("translateFract"),translate:e.prop("translate"),opacity:e.prop("opacity"),pixelRatio:e.context("pixelRatio"),id:e.prop("id"),viewport:(o,s)=>[s.viewport.x,s.viewport.y,o.viewportWidth,o.viewportHeight]},attributes:{position:{buffer:e.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:e.prop("positionFractBuffer"),stride:8,offset:8}},blend:r.blend,depth:{enable:!1},scissor:r.scissor,stencil:r.stencil,viewport:r.viewport}),rect:n,miter:a}};Bl.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};Bl.prototype.render=function(...e){e.length&&this.update(...e),this.draw()};Bl.prototype.draw=function(...e){return(e.length?e:this.passes).forEach((t,r)=>{if(t&&Array.isArray(t))return this.draw(...t);typeof t=="number"&&(t=this.passes[t]),t&&t.count>1&&t.opacity&&(this.regl._refresh(),t.fill&&t.triangles&&t.triangles.length>2&&this.shaders.fill(t),t.thickness&&(t.scale[0]*t.viewport.width>Bl.precisionThreshold||t.scale[1]*t.viewport.height>Bl.precisionThreshold?this.shaders.rect(t):t.join==="rect"||!t.join&&(t.thickness<=2||t.count>=Bl.maxPoints)?this.shaders.rect(t):this.shaders.miter(t)))}),this};Bl.prototype.update=function(e){if(!e)return;e.length!=null?typeof e[0]=="number"&&(e=[{positions:e}]):Array.isArray(e)||(e=[e]);let{regl:t,gl:r}=this;if(e.forEach((a,i)=>{let o=this.passes[i];if(a!==void 0){if(a===null){this.passes[i]=null;return}if(typeof a[0]=="number"&&(a={positions:a}),a=fqt(a,{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"}),o||(this.passes[i]=o={id:i,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:t.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:t.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:t.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:t.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},a=Kj({},Bl.defaults,a)),a.thickness!=null&&(o.thickness=parseFloat(a.thickness)),a.opacity!=null&&(o.opacity=parseFloat(a.opacity)),a.miterLimit!=null&&(o.miterLimit=parseFloat(a.miterLimit)),a.overlay!=null&&(o.overlay=!!a.overlay,ik-y),E=[],M=0,w=o.hole!=null?o.hole[0]:null;if(w!=null){let k=gqt(g,y=>y>=w);g=g.slice(0,k),g.push(w)}for(let k=0;kp-w+(g[k]-M)),T=ZRe(y,S);T=T.map(p=>p+M+(p+M{e.colorBuffer.destroy(),e.positionBuffer.destroy(),e.dashTexture.destroy()}),this.passes.length=0,this}});var rIe=ne((Cpr,tIe)=>{"use strict";var Tqt=A2(),Aqt=Hm(),Mqt=xj(),Sqt=s1(),JRe=Uc(),QRe=M2(),{float32:Eqt,fract32:Qj}=l9();tIe.exports=kqt;var eIe=[[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 kqt(e,t){if(typeof e=="function"?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),e=t.regl,!e.hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");let r=e._gl,n,a,i,o,s,l,u={color:"black",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},c=[];return o=e.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array(0)}),a=e.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),i=e.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),s=e.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),l=e.buffer({usage:"static",type:"float",data:eIe}),d(t),n=e({vert:` precision highp float; attribute vec2 position, positionFract; @@ -2628,10 +2628,10 @@ void main() { gl_FragColor = fragColor; gl_FragColor.a *= opacity; } - `,uniforms:{range:e.prop("range"),lineWidth:e.prop("lineWidth"),capSize:e.prop("capSize"),opacity:e.prop("opacity"),scale:e.prop("scale"),translate:e.prop("translate"),scaleFract:e.prop("scaleFract"),translateFract:e.prop("translateFract"),viewport:(b,p)=>[p.viewport.x,p.viewport.y,b.viewportWidth,b.viewportHeight]},attributes:{color:{buffer:o,offset:(b,p)=>p.offset*4,divisor:1},position:{buffer:i,offset:(b,p)=>p.offset*8,divisor:1},positionFract:{buffer:a,offset:(b,p)=>p.offset*8,divisor:1},error:{buffer:s,offset:(b,p)=>p.offset*16,divisor:1},direction:{buffer:l,stride:24,offset:0},lineOffset:{buffer:l,stride:24,offset:8},capOffset:{buffer:l,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:e.prop("viewport")},viewport:e.prop("viewport"),stencil:!1,instances:e.prop("count"),count:EOe.length}),SOe(f,{update:v,draw:h,destroy:m,regl:e,gl:r,canvas:r.canvas,groups:c}),f;function f(b){b?v(b):b===null&&m(),h()}function h(b){if(typeof b=="number")return d(b);b&&!Array.isArray(b)&&(b=[b]),e._refresh(),c.forEach((p,k)=>{if(p){if(b&&(b[k]?p.draw=!0:p.draw=!1),!p.draw){p.draw=!0;return}d(k)}})}function d(b){typeof b=="number"&&(b=c[b]),b!=null&&b&&b.count&&b.color&&b.opacity&&b.positions&&b.positions.length>1&&(b.scaleRatio=[b.scale[0]*b.viewport.width,b.scale[1]*b.viewport.height],n(b),b.after&&b.after(b))}function v(b){if(!b)return;b.length!=null?typeof b[0]=="number"&&(b=[{positions:b}]):Array.isArray(b)||(b=[b]);let p=0,k=0;if(f.groups=c=b.map((L,x)=>{let C=c[x];if(L)typeof L=="function"?L={after:L}:typeof L[0]=="number"&&(L={positions:L});else return C;return L=QNt(L,{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"}),C||(c[x]=C={id:x,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},L=SOe({},u,L)),$Nt(C,L,[{lineWidth:S=>+S*.5,capSize:S=>+S*.5,opacity:parseFloat,errors:S=>(S=MOe(S),k+=S.length,S),positions:(S,g)=>(S=MOe(S,"float64"),g.count=Math.floor(S.length/2),g.bounds=KNt(S,2),g.offset=p,p+=g.count,S)},{color:(S,g)=>{let P=g.count;if(S||(S="transparent"),!Array.isArray(S)||typeof S[0]=="number"){let z=S;S=Array(P);for(let q=0;q{let E=g.bounds;return S||(S=E),g.scale=[1/(S[2]-S[0]),1/(S[3]-S[1])],g.translate=[-S[0],-S[1]],g.scaleFract=$Y(g.scale),g.translateFract=$Y(g.translate),S},viewport:S=>{let g;return Array.isArray(S)?g={x:S[0],y:S[1],width:S[2]-S[0],height:S[3]-S[1]}:S?(g={x:S.x||S.left||0,y:S.y||S.top||0},S.right?g.width=S.right-g.x:g.width=S.w||S.width||0,S.bottom?g.height=S.bottom-g.y:g.height=S.h||S.height||0):g={x:0,y:0,width:r.drawingBufferWidth,height:r.drawingBufferHeight},g}}]),C}),p||k){let L=c.reduce((g,P,E)=>g+(P?P.count:0),0),x=new Float64Array(L*2),C=new Uint8Array(L*4),S=new Float32Array(L*4);c.forEach((g,P)=>{if(!g)return;let{positions:E,count:z,offset:q,color:V,errors:G}=g;z&&(C.set(V,q*4),S.set(G,q*4),x.set(E,q*2))});var M=eUt(x);i(M);var T=$Y(x,M);a(T),o(C),s(S)}}function m(){i.destroy(),a.destroy(),o.destroy(),s.destroy(),l.destroy()}}});var IOe=ye((h_r,POe)=>{var LOe=/[\'\"]/;POe.exports=function(t){return t?(LOe.test(t.charAt(0))&&(t=t.substr(1)),LOe.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):""}});var QY=ye((d_r,rUt)=>{rUt.exports=["inherit","initial","unset"]});var eK=ye((v_r,iUt)=>{iUt.exports=["caption","icon","menu","message-box","small-caption","status-bar"]});var tK=ye((p_r,nUt)=>{nUt.exports=["normal","bold","bolder","lighter","100","200","300","400","500","600","700","800","900"]});var rK=ye((g_r,aUt)=>{aUt.exports=["normal","italic","oblique"]});var iK=ye((m_r,oUt)=>{oUt.exports=["normal","condensed","semi-condensed","extra-condensed","ultra-condensed","expanded","semi-expanded","extra-expanded","ultra-expanded"]});var zOe=ye((y_r,FOe)=>{"use strict";function ROe(e,t){if(typeof e!="string")return[e];var r=[e];typeof t=="string"||Array.isArray(t)?t={brackets:t}:t||(t={});var n=t.brackets?Array.isArray(t.brackets)?t.brackets:[t.brackets]:["{}","[]","()"],i=t.escape||"___",a=!!t.flat;n.forEach(function(l){var u=new RegExp(["\\",l[0],"[^\\",l[0],"\\",l[1],"]*\\",l[1]].join("")),c=[];function f(h,d,v){var m=r.push(h.slice(l[0].length,-l[1].length))-1;return c.push(m),i+m+i}r.forEach(function(h,d){for(var v,m=0;h!=v;)if(v=h,h=h.replace(u,f),m++>1e4)throw Error("References have circular dependency. Please, check them.");r[d]=h}),c=c.reverse(),r=r.map(function(h){return c.forEach(function(d){h=h.replace(new RegExp("(\\"+i+d+"\\"+i+")","g"),l[0]+"$1"+l[1])}),h})});var o=new RegExp("\\"+i+"([0-9]+)\\"+i);function s(l,u,c){for(var f=[],h,d=0;h=o.exec(l);){if(d++>1e4)throw Error("Circular references in parenthesis");f.push(l.slice(0,h.index)),f.push(s(u[h[1]],u)),l=l.slice(h.index+h[0].length)}return f.push(l),f}return a?r:s(r[0],r)}function DOe(e,t){if(t&&t.flat){var r=t&&t.escape||"___",n=e[0],i;if(!n)return"";for(var a=new RegExp("\\"+r+"([0-9]+)\\"+r),o=0;n!=i;){if(o++>1e4)throw Error("Circular references in "+e);i=n,n=n.replace(a,s)}return n}return e.reduce(function l(u,c){return Array.isArray(c)&&(c=c.reduce(l,"")),u+c},"");function s(l,u){if(e[u]==null)throw Error("Reference "+u+"is undefined");return e[u]}}function nK(e,t){return Array.isArray(e)?DOe(e,t):ROe(e,t)}nK.parse=ROe;nK.stringify=DOe;FOe.exports=nK});var BOe=ye((__r,OOe)=>{"use strict";var qOe=zOe();OOe.exports=function(t,r,n){if(t==null)throw Error("First argument should be a string");if(r==null)throw Error("Separator should be a string or a RegExp");n?(typeof n=="string"||Array.isArray(n))&&(n={ignore:n}):n={},n.escape==null&&(n.escape=!0),n.ignore==null?n.ignore=["[]","()","{}","<>",'""',"''","``","\u201C\u201D","\xAB\xBB"]:(typeof n.ignore=="string"&&(n.ignore=[n.ignore]),n.ignore=n.ignore.map(function(f){return f.length===1&&(f=f+f),f}));var i=qOe.parse(t,{flat:!0,brackets:n.ignore}),a=i[0],o=a.split(r);if(n.escape){for(var s=[],l=0;l{sUt.exports=["xx-small","x-small","small","medium","large","x-large","xx-large","larger","smaller"]});var aK=ye((b_r,UOe)=>{"use strict";var lUt=NOe();UOe.exports={isSize:function(t){return/^[\d\.]/.test(t)||t.indexOf("/")!==-1||lUt.indexOf(t)!==-1}}});var jOe=ye((w_r,HOe)=>{"use strict";var uUt=IOe(),cUt=QY(),fUt=eK(),hUt=tK(),dUt=rK(),vUt=iK(),oK=BOe(),pUt=aK().isSize;HOe.exports=GOe;var Ik=GOe.cache={};function GOe(e){if(typeof e!="string")throw new Error("Font argument must be a string.");if(Ik[e])return Ik[e];if(e==="")throw new Error("Cannot parse an empty string.");if(fUt.indexOf(e)!==-1)return Ik[e]={system:e};for(var t={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},r=oK(e,/\s+/),n;n=r.shift();){if(cUt.indexOf(n)!==-1)return["style","variant","weight","stretch"].forEach(function(a){t[a]=n}),Ik[e]=t;if(dUt.indexOf(n)!==-1){t.style=n;continue}if(n==="normal"||n==="small-caps"){t.variant=n;continue}if(vUt.indexOf(n)!==-1){t.stretch=n;continue}if(hUt.indexOf(n)!==-1){t.weight=n;continue}if(pUt(n)){var i=oK(n,"/");if(t.size=i[0],i[1]!=null?t.lineHeight=VOe(i[1]):r[0]==="/"&&(r.shift(),t.lineHeight=VOe(r.shift())),!r.length)throw new Error("Missing required font-family.");return t.family=oK(r.join(" "),/\s*,\s*/).map(uUt),Ik[e]=t}throw new Error("Unknown or unsupported font token: "+n)}throw new Error("Missing required font-size.")}function VOe(e){var t=parseFloat(e);return t.toString()===e?t:e}});var lK=ye((T_r,WOe)=>{"use strict";var gUt=ty(),mUt=aK().isSize,yUt=Dk(QY()),_Ut=Dk(eK()),xUt=Dk(tK()),bUt=Dk(rK()),wUt=Dk(iK()),TUt={normal:1,"small-caps":1},AUt={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},sK={style:"normal",variant:"normal",weight:"normal",stretch:"normal",size:"1rem",lineHeight:"normal",family:"serif"};WOe.exports=function(t){if(t=gUt(t,{style:"style fontstyle fontStyle font-style slope distinction",variant:"variant font-variant fontVariant fontvariant var capitalization",weight:"weight w font-weight fontWeight fontweight",stretch:"stretch font-stretch fontStretch fontstretch width",size:"size s font-size fontSize fontsize height em emSize",lineHeight:"lh line-height lineHeight lineheight leading",family:"font family fontFamily font-family fontfamily type typeface face",system:"system reserved default global"}),t.system)return t.system&&Rk(t.system,_Ut),t.system;if(Rk(t.style,bUt),Rk(t.variant,TUt),Rk(t.weight,xUt),Rk(t.stretch,wUt),t.size==null&&(t.size=sK.size),typeof t.size=="number"&&(t.size+="px"),!mUt)throw Error("Bad size value `"+t.size+"`");t.family||(t.family=sK.family),Array.isArray(t.family)&&(t.family.length||(t.family=[sK.family]),t.family=t.family.map(function(n){return AUt[n]?n:'"'+n+'"'}).join(", "));var r=[];return r.push(t.style),t.variant!==t.style&&r.push(t.variant),t.weight!==t.variant&&t.weight!==t.style&&r.push(t.weight),t.stretch!==t.weight&&t.stretch!==t.variant&&t.stretch!==t.style&&r.push(t.stretch),r.push(t.size+(t.lineHeight==null||t.lineHeight==="normal"||t.lineHeight+""=="1"?"":"/"+t.lineHeight)),r.push(t.family),r.filter(Boolean).join(" ")};function Rk(e,t){if(e&&!t[e]&&!yUt[e])throw Error("Unknown keyword `"+e+"`");return e}function Dk(e){for(var t={},r=0;r{"use strict";XOe.exports={parse:jOe(),stringify:lK()}});var YOe=ye((uK,cK)=>{(function(e,t){typeof uK=="object"&&typeof cK!="undefined"?cK.exports=t():e.createREGL=t()})(uK,function(){"use strict";var e=function(Me,bt){for(var Ot=Object.keys(bt),Lr=0;Lr1&&bt===Ot&&(bt==='"'||bt==="'"))return['"'+o(Me.substr(1,Me.length-2))+'"'];var Lr=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(Me);if(Lr)return s(Me.substr(0,Lr.index)).concat(s(Lr[1])).concat(s(Me.substr(Lr.index+Lr[0].length)));var Vr=Me.split(".");if(Vr.length===1)return['"'+o(Me)+'"'];for(var Or=[],Nr=0;Nr65535)<<4,Me>>>=bt,Ot=(Me>255)<<3,Me>>>=Ot,bt|=Ot,Ot=(Me>15)<<2,Me>>>=Ot,bt|=Ot,Ot=(Me>3)<<1,Me>>>=Ot,bt|=Ot,bt|Me>>1}function N(){var Me=S(8,function(){return[]});function bt(Or){var Nr=Z(Or),vi=Me[j(Nr)>>2];return vi.length>0?vi.pop():new ArrayBuffer(Nr)}function Ot(Or){Me[j(Or.byteLength)>>2].push(Or)}function Lr(Or,Nr){var vi=null;switch(Or){case g:vi=new Int8Array(bt(Nr),0,Nr);break;case P:vi=new Uint8Array(bt(Nr),0,Nr);break;case E:vi=new Int16Array(bt(2*Nr),0,Nr);break;case z:vi=new Uint16Array(bt(2*Nr),0,Nr);break;case q:vi=new Int32Array(bt(4*Nr),0,Nr);break;case V:vi=new Uint32Array(bt(4*Nr),0,Nr);break;case G:vi=new Float32Array(bt(4*Nr),0,Nr);break;default:return null}return vi.length!==Nr?vi.subarray(0,Nr):vi}function Vr(Or){Ot(Or.buffer)}return{alloc:bt,free:Ot,allocType:Lr,freeType:Vr}}var H=N();H.zero=N();var ie=3408,ae=3410,_e=3411,Ee=3412,Ce=3413,ge=3414,re=3415,Se=33901,ke=33902,be=3379,Be=3386,Le=34921,me=36347,Pe=36348,ce=35661,He=35660,lt=34930,mt=36349,Ht=34076,at=34024,ct=7936,ar=7937,Vt=7938,rr=35724,tt=34047,je=36063,Ue=34852,Ae=3553,rt=34067,St=34069,Tt=33984,dt=6408,Et=5126,pt=5121,jt=36160,or=36053,mr=36064,Ar=16384,ei=function(Me,bt){var Ot=1;bt.ext_texture_filter_anisotropic&&(Ot=Me.getParameter(tt));var Lr=1,Vr=1;bt.webgl_draw_buffers&&(Lr=Me.getParameter(Ue),Vr=Me.getParameter(je));var Or=!!bt.oes_texture_float;if(Or){var Nr=Me.createTexture();Me.bindTexture(Ae,Nr),Me.texImage2D(Ae,0,dt,1,1,0,dt,Et,null);var vi=Me.createFramebuffer();if(Me.bindFramebuffer(jt,vi),Me.framebufferTexture2D(jt,mr,Ae,Nr,0),Me.bindTexture(Ae,null),Me.checkFramebufferStatus(jt)!==or)Or=!1;else{Me.viewport(0,0,1,1),Me.clearColor(1,0,0,1),Me.clear(Ar);var Ni=H.allocType(Et,4);Me.readPixels(0,0,1,1,dt,Et,Ni),Me.getError()?Or=!1:(Me.deleteFramebuffer(vi),Me.deleteTexture(Nr),Or=Ni[0]===1),H.freeType(Ni)}}var qi=typeof navigator!="undefined"&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),Si=!0;if(!qi){var Vn=Me.createTexture(),Qi=H.allocType(pt,36);Me.activeTexture(Tt),Me.bindTexture(rt,Vn),Me.texImage2D(St,0,dt,3,3,0,dt,pt,Qi),H.freeType(Qi),Me.bindTexture(rt,null),Me.deleteTexture(Vn),Si=!Me.getError()}return{colorBits:[Me.getParameter(ae),Me.getParameter(_e),Me.getParameter(Ee),Me.getParameter(Ce)],depthBits:Me.getParameter(ge),stencilBits:Me.getParameter(re),subpixelBits:Me.getParameter(ie),extensions:Object.keys(bt).filter(function(ji){return!!bt[ji]}),maxAnisotropic:Ot,maxDrawbuffers:Lr,maxColorAttachments:Vr,pointSizeDims:Me.getParameter(Se),lineWidthDims:Me.getParameter(ke),maxViewportDims:Me.getParameter(Be),maxCombinedTextureUnits:Me.getParameter(ce),maxCubeMapSize:Me.getParameter(Ht),maxRenderbufferSize:Me.getParameter(at),maxTextureUnits:Me.getParameter(lt),maxTextureSize:Me.getParameter(be),maxAttributes:Me.getParameter(Le),maxVertexUniforms:Me.getParameter(me),maxVertexTextureUnits:Me.getParameter(He),maxVaryingVectors:Me.getParameter(Pe),maxFragmentUniforms:Me.getParameter(mt),glsl:Me.getParameter(rr),renderer:Me.getParameter(ar),vendor:Me.getParameter(ct),version:Me.getParameter(Vt),readFloat:Or,npotTextureCube:Si}},qr=function(Me){return Me instanceof Uint8Array||Me instanceof Uint16Array||Me instanceof Uint32Array||Me instanceof Int8Array||Me instanceof Int16Array||Me instanceof Int32Array||Me instanceof Float32Array||Me instanceof Float64Array||Me instanceof Uint8ClampedArray};function jr(Me){return!!Me&&typeof Me=="object"&&Array.isArray(Me.shape)&&Array.isArray(Me.stride)&&typeof Me.offset=="number"&&Me.shape.length===Me.stride.length&&(Array.isArray(Me.data)||qr(Me.data))}var gt=function(Me){return Object.keys(Me).map(function(bt){return Me[bt]})},Ge={shape:Kt,flatten:At};function Je(Me,bt,Ot){for(var Lr=0;Lr0){var qn;if(Array.isArray(Zr[0])){Xi=Vi(Zr);for(var fi=1,si=1;si0){if(typeof fi[0]=="number"){var Ui=H.allocType(ui.dtype,fi.length);wr(Ui,fi),Xi(Ui,mn),H.freeType(Ui)}else if(Array.isArray(fi[0])||qr(fi[0])){Ji=Vi(fi);var Bi=Qn(fi,Ji,ui.dtype);Xi(Bi,mn),H.freeType(Bi)}}}else if(jr(fi)){Ji=fi.shape;var pn=fi.stride,Nn=0,aa=0,Ki=0,Cn=0;Ji.length===1?(Nn=Ji[0],aa=1,Ki=pn[0],Cn=0):Ji.length===2&&(Nn=Ji[0],aa=Ji[1],Ki=pn[0],Cn=pn[1]);var ia=Array.isArray(fi.data)?ui.dtype:ir(fi.data),sa=H.allocType(ia,Nn*aa);Xr(sa,fi.data,Nn,aa,Ki,Cn,fi.offset),Xi(sa,mn),H.freeType(sa)}return nn}return yi||nn(Tr),nn._reglType="buffer",nn._buffer=ui,nn.subdata=qn,Ot.profile&&(nn.stats=ui.stats),nn.destroy=function(){Qi(ui)},nn}function oi(){gt(Or).forEach(function(Tr){Tr.buffer=Me.createBuffer(),Me.bindBuffer(Tr.type,Tr.buffer),Me.bufferData(Tr.type,Tr.persistentData||Tr.byteLength,Tr.usage)})}return Ot.profile&&(bt.getTotalBufferSize=function(){var Tr=0;return Object.keys(Or).forEach(function(Zr){Tr+=Or[Zr].stats.size}),Tr}),{create:ji,createStream:Ni,destroyStream:qi,clear:function(){gt(Or).forEach(Qi),vi.forEach(Qi)},getBuffer:function(Tr){return Tr&&Tr._buffer instanceof Nr?Tr._buffer:null},restore:oi,_initBuffer:Vn}}var $r=0,Ri=0,Zi=1,en=1,fn=4,yn=4,Mn={points:$r,point:Ri,lines:Zi,line:en,triangles:fn,triangle:yn,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},Ba=0,ua=1,ma=4,Wa=5120,Fa=5121,Xo=5122,da=5123,jn=5124,Ha=5125,vo=34963,Gn=35040,Ct=35044;function Sr(Me,bt,Ot,Lr){var Vr={},Or=0,Nr={uint8:Fa,uint16:da};bt.oes_element_index_uint&&(Nr.uint32=Ha);function vi(oi){this.id=Or++,Vr[this.id]=this,this.buffer=oi,this.primType=ma,this.vertCount=0,this.type=0}vi.prototype.bind=function(){this.buffer.bind()};var Ni=[];function qi(oi){var Tr=Ni.pop();return Tr||(Tr=new vi(Ot.create(null,vo,!0,!1)._buffer)),Vn(Tr,oi,Gn,-1,-1,0,0),Tr}function Si(oi){Ni.push(oi)}function Vn(oi,Tr,Zr,yi,Ii,ui,nn){oi.buffer.bind();var Xi;if(Tr){var qn=nn;!nn&&(!qr(Tr)||jr(Tr)&&!qr(Tr.data))&&(qn=bt.oes_element_index_uint?Ha:da),Ot._initBuffer(oi.buffer,Tr,Zr,qn,3)}else Me.bufferData(vo,ui,Zr),oi.buffer.dtype=Xi||Fa,oi.buffer.usage=Zr,oi.buffer.dimension=3,oi.buffer.byteLength=ui;if(Xi=nn,!nn){switch(oi.buffer.dtype){case Fa:case Wa:Xi=Fa;break;case da:case Xo:Xi=da;break;case Ha:case jn:Xi=Ha;break;default:}oi.buffer.dtype=Xi}oi.type=Xi;var fi=Ii;fi<0&&(fi=oi.buffer.byteLength,Xi===da?fi>>=1:Xi===Ha&&(fi>>=2)),oi.vertCount=fi;var si=yi;if(yi<0){si=ma;var mn=oi.buffer.dimension;mn===1&&(si=Ba),mn===2&&(si=ua),mn===3&&(si=ma)}oi.primType=si}function Qi(oi){Lr.elementsCount--,delete Vr[oi.id],oi.buffer.destroy(),oi.buffer=null}function ji(oi,Tr){var Zr=Ot.create(null,vo,!0),yi=new vi(Zr._buffer);Lr.elementsCount++;function Ii(ui){if(!ui)Zr(),yi.primType=ma,yi.vertCount=0,yi.type=Fa;else if(typeof ui=="number")Zr(ui),yi.primType=ma,yi.vertCount=ui|0,yi.type=Fa;else{var nn=null,Xi=Ct,qn=-1,fi=-1,si=0,mn=0;Array.isArray(ui)||qr(ui)||jr(ui)?nn=ui:("data"in ui&&(nn=ui.data),"usage"in ui&&(Xi=Hn[ui.usage]),"primitive"in ui&&(qn=Mn[ui.primitive]),"count"in ui&&(fi=ui.count|0),"type"in ui&&(mn=Nr[ui.type]),"length"in ui?si=ui.length|0:(si=fi,mn===da||mn===Xo?si*=2:(mn===Ha||mn===jn)&&(si*=4))),Vn(yi,nn,Xi,qn,fi,si,mn)}return Ii}return Ii(oi),Ii._reglType="elements",Ii._elements=yi,Ii.subdata=function(ui,nn){return Zr.subdata(ui,nn),Ii},Ii.destroy=function(){Qi(yi)},Ii}return{create:ji,createStream:qi,destroyStream:Si,getElements:function(oi){return typeof oi=="function"&&oi._elements instanceof vi?oi._elements:null},clear:function(){gt(Vr).forEach(Qi)}}}var Jr=new Float32Array(1),hi=new Uint32Array(Jr.buffer),hn=5123;function Sn(Me){for(var bt=H.allocType(hn,Me.length),Ot=0;Ot>>31<<15,Or=(Lr<<1>>>24)-127,Nr=Lr>>13&1023;if(Or<-24)bt[Ot]=Vr;else if(Or<-14){var vi=-14-Or;bt[Ot]=Vr+(Nr+1024>>vi)}else Or>15?bt[Ot]=Vr+31744:bt[Ot]=Vr+(Or+15<<10)+Nr}return bt}function En(Me){return Array.isArray(Me)||qr(Me)}var ki=34467,_n=3553,ya=34067,ea=34069,Ma=6408,_o=6406,No=6407,po=6409,Lo=6410,ko=32854,Ds=32855,Fs=36194,ll=32819,ul=32820,zl=33635,us=34042,il=6402,As=34041,cl=35904,Ks=35906,zs=36193,Io=33776,ls=33777,Yl=33778,Su=33779,nc=35986,bs=35987,Rn=34798,_a=35840,Vu=35841,ql=35842,xo=35843,Kl=36196,Ns=5121,Hl=5123,ac=5125,oa=5126,qo=10242,Oo=10243,Ol=10497,Pc=33071,Do=33648,nf=10240,Vf=10241,pl=9728,Zc=9729,Jl=9984,qs=9985,yu=9986,oc=9987,Cf=33170,sc=4352,jh=4353,Lf=4354,cs=34046,af=3317,Gf=37440,$l=37441,fl=37443,lc=37444,Fu=33984,Es=[Jl,yu,qs,oc],Hs=[0,po,Lo,No,Ma],Go={};Go[po]=Go[_o]=Go[il]=1,Go[As]=Go[Lo]=2,Go[No]=Go[cl]=3,Go[Ma]=Go[Ks]=4;function ps(Me){return"[object "+Me+"]"}var uc=ps("HTMLCanvasElement"),xl=ps("OffscreenCanvas"),Gu=ps("CanvasRenderingContext2D"),Os=ps("ImageBitmap"),od=ps("HTMLImageElement"),Po=ps("HTMLVideoElement"),sd=Object.keys(Qt).concat([uc,xl,Gu,Os,od,Po]),Ko=[];Ko[Ns]=1,Ko[oa]=4,Ko[zs]=2,Ko[Hl]=2,Ko[ac]=4;var Pa=[];Pa[ko]=2,Pa[Ds]=2,Pa[Fs]=2,Pa[As]=4,Pa[Io]=.5,Pa[ls]=.5,Pa[Yl]=1,Pa[Su]=1,Pa[nc]=.5,Pa[bs]=1,Pa[Rn]=1,Pa[_a]=.5,Pa[Vu]=.25,Pa[ql]=.5,Pa[xo]=.25,Pa[Kl]=.5;function of(Me){return Array.isArray(Me)&&(Me.length===0||typeof Me[0]=="number")}function Hu(Me){if(!Array.isArray(Me))return!1;var bt=Me.length;return!(bt===0||!En(Me[0]))}function bl(Me){return Object.prototype.toString.call(Me)}function Hf(Me){return bl(Me)===uc}function Ic(Me){return bl(Me)===xl}function yf(Me){return bl(Me)===Gu}function Bl(Me){return bl(Me)===Os}function Ah(Me){return bl(Me)===od}function Qf(Me){return bl(Me)===Po}function _f(Me){if(!Me)return!1;var bt=bl(Me);return sd.indexOf(bt)>=0?!0:of(Me)||Hu(Me)||jr(Me)}function Yc(Me){return Qt[Object.prototype.toString.call(Me)]|0}function eh(Me,bt){var Ot=bt.length;switch(Me.type){case Ns:case Hl:case ac:case oa:var Lr=H.allocType(Me.type,Ot);Lr.set(bt),Me.data=Lr;break;case zs:Me.data=Sn(bt);break;default:}}function th(Me,bt){return H.allocType(Me.type===zs?oa:Me.type,bt)}function ju(Me,bt){Me.type===zs?(Me.data=Sn(bt),H.freeType(bt)):Me.data=bt}function jf(Me,bt,Ot,Lr,Vr,Or){for(var Nr=Me.width,vi=Me.height,Ni=Me.channels,qi=Nr*vi*Ni,Si=th(Me,qi),Vn=0,Qi=0;Qi=1;)vi+=Nr*Ni*Ni,Ni/=2;return vi}else return Nr*Ot*Lr}function sf(Me,bt,Ot,Lr,Vr,Or,Nr){var vi={"don't care":sc,"dont care":sc,nice:Lf,fast:jh},Ni={repeat:Ol,clamp:Pc,mirror:Do},qi={nearest:pl,linear:Zc},Si=e({mipmap:oc,"nearest mipmap nearest":Jl,"linear mipmap nearest":qs,"nearest mipmap linear":yu,"linear mipmap linear":oc},qi),Vn={none:0,browser:lc},Qi={uint8:Ns,rgba4:ll,rgb565:zl,"rgb5 a1":ul},ji={alpha:_o,luminance:po,"luminance alpha":Lo,rgb:No,rgba:Ma,rgba4:ko,"rgb5 a1":Ds,rgb565:Fs},oi={};bt.ext_srgb&&(ji.srgb=cl,ji.srgba=Ks),bt.oes_texture_float&&(Qi.float32=Qi.float=oa),bt.oes_texture_half_float&&(Qi.float16=Qi["half float"]=zs),bt.webgl_depth_texture&&(e(ji,{depth:il,"depth stencil":As}),e(Qi,{uint16:Hl,uint32:ac,"depth stencil":us})),bt.webgl_compressed_texture_s3tc&&e(oi,{"rgb s3tc dxt1":Io,"rgba s3tc dxt1":ls,"rgba s3tc dxt3":Yl,"rgba s3tc dxt5":Su}),bt.webgl_compressed_texture_atc&&e(oi,{"rgb atc":nc,"rgba atc explicit alpha":bs,"rgba atc interpolated alpha":Rn}),bt.webgl_compressed_texture_pvrtc&&e(oi,{"rgb pvrtc 4bppv1":_a,"rgb pvrtc 2bppv1":Vu,"rgba pvrtc 4bppv1":ql,"rgba pvrtc 2bppv1":xo}),bt.webgl_compressed_texture_etc1&&(oi["rgb etc1"]=Kl);var Tr=Array.prototype.slice.call(Me.getParameter(ki));Object.keys(oi).forEach(function(ne){var we=oi[ne];Tr.indexOf(we)>=0&&(ji[ne]=we)});var Zr=Object.keys(ji);Ot.textureFormats=Zr;var yi=[];Object.keys(ji).forEach(function(ne){var we=ji[ne];yi[we]=ne});var Ii=[];Object.keys(Qi).forEach(function(ne){var we=Qi[ne];Ii[we]=ne});var ui=[];Object.keys(qi).forEach(function(ne){var we=qi[ne];ui[we]=ne});var nn=[];Object.keys(Si).forEach(function(ne){var we=Si[ne];nn[we]=ne});var Xi=[];Object.keys(Ni).forEach(function(ne){var we=Ni[ne];Xi[we]=ne});var qn=Zr.reduce(function(ne,we){var Oe=ji[we];return Oe===po||Oe===_o||Oe===po||Oe===Lo||Oe===il||Oe===As||bt.ext_srgb&&(Oe===cl||Oe===Ks)?ne[Oe]=Oe:Oe===Ds||we.indexOf("rgba")>=0?ne[Oe]=Ma:ne[Oe]=No,ne},{});function fi(){this.internalformat=Ma,this.format=Ma,this.type=Ns,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=lc,this.width=0,this.height=0,this.channels=0}function si(ne,we){ne.internalformat=we.internalformat,ne.format=we.format,ne.type=we.type,ne.compressed=we.compressed,ne.premultiplyAlpha=we.premultiplyAlpha,ne.flipY=we.flipY,ne.unpackAlignment=we.unpackAlignment,ne.colorSpace=we.colorSpace,ne.width=we.width,ne.height=we.height,ne.channels=we.channels}function mn(ne,we){if(!(typeof we!="object"||!we)){if("premultiplyAlpha"in we&&(ne.premultiplyAlpha=we.premultiplyAlpha),"flipY"in we&&(ne.flipY=we.flipY),"alignment"in we&&(ne.unpackAlignment=we.alignment),"colorSpace"in we&&(ne.colorSpace=Vn[we.colorSpace]),"type"in we){var Oe=we.type;ne.type=Qi[Oe]}var ht=ne.width,Yt=ne.height,cr=ne.channels,Nt=!1;"shape"in we?(ht=we.shape[0],Yt=we.shape[1],we.shape.length===3&&(cr=we.shape[2],Nt=!0)):("radius"in we&&(ht=Yt=we.radius),"width"in we&&(ht=we.width),"height"in we&&(Yt=we.height),"channels"in we&&(cr=we.channels,Nt=!0)),ne.width=ht|0,ne.height=Yt|0,ne.channels=cr|0;var Ne=!1;if("format"in we){var $e=we.format,st=ne.internalformat=ji[$e];ne.format=qn[st],$e in Qi&&("type"in we||(ne.type=Qi[$e])),$e in oi&&(ne.compressed=!0),Ne=!0}!Nt&&Ne?ne.channels=Go[ne.format]:Nt&&!Ne&&ne.channels!==Hs[ne.format]&&(ne.format=ne.internalformat=Hs[ne.channels])}}function Ji(ne){Me.pixelStorei(Gf,ne.flipY),Me.pixelStorei($l,ne.premultiplyAlpha),Me.pixelStorei(fl,ne.colorSpace),Me.pixelStorei(af,ne.unpackAlignment)}function Ui(){fi.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function Bi(ne,we){var Oe=null;if(_f(we)?Oe=we:we&&(mn(ne,we),"x"in we&&(ne.xOffset=we.x|0),"y"in we&&(ne.yOffset=we.y|0),_f(we.data)&&(Oe=we.data)),we.copy){var ht=Vr.viewportWidth,Yt=Vr.viewportHeight;ne.width=ne.width||ht-ne.xOffset,ne.height=ne.height||Yt-ne.yOffset,ne.needsCopy=!0}else if(!Oe)ne.width=ne.width||1,ne.height=ne.height||1,ne.channels=ne.channels||4;else if(qr(Oe))ne.channels=ne.channels||4,ne.data=Oe,!("type"in we)&&ne.type===Ns&&(ne.type=Yc(Oe));else if(of(Oe))ne.channels=ne.channels||4,eh(ne,Oe),ne.alignment=1,ne.needsFree=!0;else if(jr(Oe)){var cr=Oe.data;!Array.isArray(cr)&&ne.type===Ns&&(ne.type=Yc(cr));var Nt=Oe.shape,Ne=Oe.stride,$e,st,It,Bt,Ft,Ut;Nt.length===3?(It=Nt[2],Ut=Ne[2]):(It=1,Ut=1),$e=Nt[0],st=Nt[1],Bt=Ne[0],Ft=Ne[1],ne.alignment=1,ne.width=$e,ne.height=st,ne.channels=It,ne.format=ne.internalformat=Hs[It],ne.needsFree=!0,jf(ne,cr,Bt,Ft,Ut,Oe.offset)}else if(Hf(Oe)||Ic(Oe)||yf(Oe))Hf(Oe)||Ic(Oe)?ne.element=Oe:ne.element=Oe.canvas,ne.width=ne.element.width,ne.height=ne.element.height,ne.channels=4;else if(Bl(Oe))ne.element=Oe,ne.width=Oe.width,ne.height=Oe.height,ne.channels=4;else if(Ah(Oe))ne.element=Oe,ne.width=Oe.naturalWidth,ne.height=Oe.naturalHeight,ne.channels=4;else if(Qf(Oe))ne.element=Oe,ne.width=Oe.videoWidth,ne.height=Oe.videoHeight,ne.channels=4;else if(Hu(Oe)){var zt=ne.width||Oe[0].length,_t=ne.height||Oe.length,Dt=ne.channels;En(Oe[0][0])?Dt=Dt||Oe[0][0].length:Dt=Dt||1;for(var vt=Ge.shape(Oe),lr=1,_r=0;_r>=Yt,Oe.height>>=Yt,Bi(Oe,ht[Yt]),ne.mipmask|=1<=0&&!("faces"in we)&&(ne.genMipmaps=!0)}if("mag"in we){var ht=we.mag;ne.magFilter=qi[ht]}var Yt=ne.wrapS,cr=ne.wrapT;if("wrap"in we){var Nt=we.wrap;typeof Nt=="string"?Yt=cr=Ni[Nt]:Array.isArray(Nt)&&(Yt=Ni[Nt[0]],cr=Ni[Nt[1]])}else{if("wrapS"in we){var Ne=we.wrapS;Yt=Ni[Ne]}if("wrapT"in we){var $e=we.wrapT;cr=Ni[$e]}}if(ne.wrapS=Yt,ne.wrapT=cr,"anisotropic"in we){var st=we.anisotropic;ne.anisotropic=we.anisotropic}if("mipmap"in we){var It=!1;switch(typeof we.mipmap){case"string":ne.mipmapHint=vi[we.mipmap],ne.genMipmaps=!0,It=!0;break;case"boolean":It=ne.genMipmaps=we.mipmap;break;case"object":ne.genMipmaps=!1,It=!0;break;default:}It&&!("min"in we)&&(ne.minFilter=Jl)}}function al(ne,we){Me.texParameteri(we,Vf,ne.minFilter),Me.texParameteri(we,nf,ne.magFilter),Me.texParameteri(we,qo,ne.wrapS),Me.texParameteri(we,Oo,ne.wrapT),bt.ext_texture_filter_anisotropic&&Me.texParameteri(we,cs,ne.anisotropic),ne.genMipmaps&&(Me.hint(Cf,ne.mipmapHint),Me.generateMipmap(we))}var Vl=0,ss={},Vs=Ot.maxTextureUnits,Ys=Array(Vs).map(function(){return null});function wa(ne){fi.call(this),this.mipmask=0,this.internalformat=Ma,this.id=Vl++,this.refCount=1,this.target=ne,this.texture=Me.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new zo,Nr.profile&&(this.stats={size:0})}function ol(ne){Me.activeTexture(Fu),Me.bindTexture(ne.target,ne.texture)}function io(){var ne=Ys[0];ne?Me.bindTexture(ne.target,ne.texture):Me.bindTexture(_n,null)}function Y(ne){var we=ne.texture,Oe=ne.unit,ht=ne.target;Oe>=0&&(Me.activeTexture(Fu+Oe),Me.bindTexture(ht,null),Ys[Oe]=null),Me.deleteTexture(we),ne.texture=null,ne.params=null,ne.pixels=null,ne.refCount=0,delete ss[ne.id],Or.textureCount--}e(wa.prototype,{bind:function(){var ne=this;ne.bindCount+=1;var we=ne.unit;if(we<0){for(var Oe=0;Oe0)continue;ht.unit=-1}Ys[Oe]=ne,we=Oe;break}we>=Vs,Nr.profile&&Or.maxTextureUnits>Ft)-It,Ut.height=Ut.height||(Oe.height>>Ft)-Bt,ol(Oe),Nn(Ut,_n,It,Bt,Ft),io(),Cn(Ut),ht}function cr(Nt,Ne){var $e=Nt|0,st=Ne|0||$e;if($e===Oe.width&&st===Oe.height)return ht;ht.width=Oe.width=$e,ht.height=Oe.height=st,ol(Oe);for(var It=0;Oe.mipmask>>It;++It){var Bt=$e>>It,Ft=st>>It;if(!Bt||!Ft)break;Me.texImage2D(_n,It,Oe.format,Bt,Ft,0,Oe.format,Oe.type,null)}return io(),Nr.profile&&(Oe.stats.size=cc(Oe.internalformat,Oe.type,$e,st,!1,!1)),ht}return ht(ne,we),ht.subimage=Yt,ht.resize=cr,ht._reglType="texture2d",ht._texture=Oe,Nr.profile&&(ht.stats=Oe.stats),ht.destroy=function(){Oe.decRef()},ht}function J(ne,we,Oe,ht,Yt,cr){var Nt=new wa(ya);ss[Nt.id]=Nt,Or.cubeCount++;var Ne=new Array(6);function $e(Bt,Ft,Ut,zt,_t,Dt){var vt,lr=Nt.texInfo;for(zo.call(lr),vt=0;vt<6;++vt)Ne[vt]=Ga();if(typeof Bt=="number"||!Bt){var _r=Bt|0||1;for(vt=0;vt<6;++vt)sa(Ne[vt],_r,_r)}else if(typeof Bt=="object")if(Ft)ba(Ne[0],Bt),ba(Ne[1],Ft),ba(Ne[2],Ut),ba(Ne[3],zt),ba(Ne[4],_t),ba(Ne[5],Dt);else if(Qs(lr,Bt),mn(Nt,Bt),"faces"in Bt){var Br=Bt.faces;for(vt=0;vt<6;++vt)si(Ne[vt],Nt),ba(Ne[vt],Br[vt])}else for(vt=0;vt<6;++vt)ba(Ne[vt],Bt);for(si(Nt,Ne[0]),lr.genMipmaps?Nt.mipmask=(Ne[0].width<<1)-1:Nt.mipmask=Ne[0].mipmask,Nt.internalformat=Ne[0].internalformat,$e.width=Ne[0].width,$e.height=Ne[0].height,ol(Nt),vt=0;vt<6;++vt)is(Ne[vt],ea+vt);for(al(lr,ya),io(),Nr.profile&&(Nt.stats.size=cc(Nt.internalformat,Nt.type,$e.width,$e.height,lr.genMipmaps,!0)),$e.format=yi[Nt.internalformat],$e.type=Ii[Nt.type],$e.mag=ui[lr.magFilter],$e.min=nn[lr.minFilter],$e.wrapS=Xi[lr.wrapS],$e.wrapT=Xi[lr.wrapT],vt=0;vt<6;++vt)Ml(Ne[vt]);return $e}function st(Bt,Ft,Ut,zt,_t){var Dt=Ut|0,vt=zt|0,lr=_t|0,_r=Ki();return si(_r,Nt),_r.width=0,_r.height=0,Bi(_r,Ft),_r.width=_r.width||(Nt.width>>lr)-Dt,_r.height=_r.height||(Nt.height>>lr)-vt,ol(Nt),Nn(_r,ea+Bt,Dt,vt,lr),io(),Cn(_r),$e}function It(Bt){var Ft=Bt|0;if(Ft!==Nt.width){$e.width=Nt.width=Ft,$e.height=Nt.height=Ft,ol(Nt);for(var Ut=0;Ut<6;++Ut)for(var zt=0;Nt.mipmask>>zt;++zt)Me.texImage2D(ea+Ut,zt,Nt.format,Ft>>zt,Ft>>zt,0,Nt.format,Nt.type,null);return io(),Nr.profile&&(Nt.stats.size=cc(Nt.internalformat,Nt.type,$e.width,$e.height,!1,!0)),$e}}return $e(ne,we,Oe,ht,Yt,cr),$e.subimage=st,$e.resize=It,$e._reglType="textureCube",$e._texture=Nt,Nr.profile&&($e.stats=Nt.stats),$e.destroy=function(){Nt.decRef()},$e}function O(){for(var ne=0;ne>ht,Oe.height>>ht,0,Oe.internalformat,Oe.type,null);else for(var Yt=0;Yt<6;++Yt)Me.texImage2D(ea+Yt,ht,Oe.internalformat,Oe.width>>ht,Oe.height>>ht,0,Oe.internalformat,Oe.type,null);al(Oe.texInfo,Oe.target)})}function de(){for(var ne=0;ne=0?Ml=!0:Ni.indexOf(zo)>=0&&(Ml=!1))),("depthTexture"in wa||"depthStencilTexture"in wa)&&(Ys=!!(wa.depthTexture||wa.depthStencilTexture)),"depth"in wa&&(typeof wa.depth=="boolean"?is=wa.depth:(Vl=wa.depth,Zs=!1)),"stencil"in wa&&(typeof wa.stencil=="boolean"?Zs=wa.stencil:(ss=wa.stencil,is=!1)),"depthStencil"in wa&&(typeof wa.depthStencil=="boolean"?is=Zs=wa.depthStencil:(Vs=wa.depthStencil,is=!1,Zs=!1))}var io=null,Y=null,D=null,J=null;if(Array.isArray(Ga))io=Ga.map(oi);else if(Ga)io=[oi(Ga)];else for(io=new Array(al),ia=0;ia0&&(Cn.depth=Bi[0].depth,Cn.stencil=Bi[0].stencil,Cn.depthStencil=Bi[0].depthStencil),Bi[Ki]?Bi[Ki](Cn):Bi[Ki]=si(Cn)}return e(pn,{width:ia,height:ia,color:zo})}function Nn(aa){var Ki,Cn=aa|0;if(Cn===pn.width)return pn;var ia=pn.color;for(Ki=0;Ki=ia.byteLength?sa.subdata(ia):(sa.destroy(),si.buffers[aa]=null)),si.buffers[aa]||(sa=si.buffers[aa]=Vr.create(Ki,If,!1,!0)),Cn.buffer=Vr.getBuffer(sa),Cn.size=Cn.buffer.dimension|0,Cn.normalized=!1,Cn.type=Cn.buffer.dtype,Cn.offset=0,Cn.stride=0,Cn.divisor=0,Cn.state=1,pn[aa]=1}else Vr.getBuffer(Ki)?(Cn.buffer=Vr.getBuffer(Ki),Cn.size=Cn.buffer.dimension|0,Cn.normalized=!1,Cn.type=Cn.buffer.dtype,Cn.offset=0,Cn.stride=0,Cn.divisor=0,Cn.state=1):Vr.getBuffer(Ki.buffer)?(Cn.buffer=Vr.getBuffer(Ki.buffer),Cn.size=(+Ki.size||Cn.buffer.dimension)|0,Cn.normalized=!!Ki.normalized||!1,"type"in Ki?Cn.type=un[Ki.type]:Cn.type=Cn.buffer.dtype,Cn.offset=(Ki.offset||0)|0,Cn.stride=(Ki.stride||0)|0,Cn.divisor=(Ki.divisor||0)|0,Cn.state=1):"x"in Ki&&(Cn.x=+Ki.x||0,Cn.y=+Ki.y||0,Cn.z=+Ki.z||0,Cn.w=+Ki.w||0,Cn.state=2)}for(var ba=0;ba1)for(var Ji=0;JiTr&&(Tr=Zr.stats.uniformsCount)}),Tr},Ot.getMaxAttributesCount=function(){var Tr=0;return Si.forEach(function(Zr){Zr.stats.attributesCount>Tr&&(Tr=Zr.stats.attributesCount)}),Tr});function oi(){Vr={},Or={};for(var Tr=0;Tr16&&(Ot=Yi(Ot,Me.length*8));for(var Lr=Array(16),Vr=Array(16),Or=0;Or<16;Or++)Lr[Or]=Ot[Or]^909522486,Vr[Or]=Ot[Or]^1549556828;var Nr=Yi(Lr.concat(Bc(bt)),512+bt.length*8);return kt(Yi(Vr.concat(Nr),768))}function vu(Me){for(var bt=ah?"0123456789ABCDEF":"0123456789abcdef",Ot="",Lr,Vr=0;Vr>>4&15)+bt.charAt(Lr&15);return Ot}function Oc(Me){for(var bt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ot="",Lr=Me.length,Vr=0;VrMe.length*8?Ot+=Zu:Ot+=bt.charAt(Or>>>6*(3-Nr)&63);return Ot}function ff(Me,bt){var Ot=bt.length,Lr=Array(),Vr,Or,Nr,vi,Ni=Array(Math.ceil(Me.length/2));for(Vr=0;Vr0;){for(vi=Array(),Nr=0,Vr=0;Vr0||Or>0)&&(vi[vi.length]=Or);Lr[Lr.length]=Nr,Ni=vi}var qi="";for(Vr=Lr.length-1;Vr>=0;Vr--)qi+=bt.charAt(Lr[Vr]);var Si=Math.ceil(Me.length*8/(Math.log(bt.length)/Math.log(2)));for(Vr=qi.length;Vr>>6&31,128|Lr&63):Lr<=65535?bt+=String.fromCharCode(224|Lr>>>12&15,128|Lr>>>6&63,128|Lr&63):Lr<=2097151&&(bt+=String.fromCharCode(240|Lr>>>18&7,128|Lr>>>12&63,128|Lr>>>6&63,128|Lr&63));return bt}function Bc(Me){for(var bt=Array(Me.length>>2),Ot=0;Ot>5]|=(Me.charCodeAt(Ot/8)&255)<<24-Ot%32;return bt}function kt(Me){for(var bt="",Ot=0;Ot>5]>>>24-Ot%32&255);return bt}function Zt(Me,bt){return Me>>>bt|Me<<32-bt}function Er(Me,bt){return Me>>>bt}function xr(Me,bt,Ot){return Me&bt^~Me&Ot}function Kr(Me,bt,Ot){return Me&bt^Me&Ot^bt&Ot}function Mi(Me){return Zt(Me,2)^Zt(Me,13)^Zt(Me,22)}function Wi(Me){return Zt(Me,6)^Zt(Me,11)^Zt(Me,25)}function dn(Me){return Zt(Me,7)^Zt(Me,18)^Er(Me,3)}function wn(Me){return Zt(Me,17)^Zt(Me,19)^Er(Me,10)}var On=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 Yi(Me,bt){var Ot=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),Lr=new Array(64),Vr,Or,Nr,vi,Ni,qi,Si,Vn,Qi,ji,oi,Tr;for(Me[bt>>5]|=128<<24-bt%32,Me[(bt+64>>9<<4)+15]=bt,Qi=0;Qi>16)+(bt>>16)+(Ot>>16);return Lr<<16|Ot&65535}function an(Me){return Array.prototype.slice.call(Me)}function Fi(Me){return an(Me).join("")}function ta(Me){var bt=Me&&Me.cache,Ot=0,Lr=[],Vr=[],Or=[];function Nr(oi,Tr){var Zr=Tr&&Tr.stable;if(!Zr){for(var yi=0;yi0&&(oi.push(Ii,"="),oi.push.apply(oi,an(arguments)),oi.push(";")),Ii}return e(Tr,{def:yi,toString:function(){return Fi([Zr.length>0?"var "+Zr.join(",")+";":"",Fi(oi)])}})}function Ni(){var oi=vi(),Tr=vi(),Zr=oi.toString,yi=Tr.toString;function Ii(ui,nn){Tr(ui,nn,"=",oi.def(ui,nn),";")}return e(function(){oi.apply(oi,an(arguments))},{def:oi.def,entry:oi,exit:Tr,save:Ii,set:function(ui,nn,Xi){Ii(ui,nn),oi(ui,nn,"=",Xi,";")},toString:function(){return Zr()+yi()}})}function qi(){var oi=Fi(arguments),Tr=Ni(),Zr=Ni(),yi=Tr.toString,Ii=Zr.toString;return e(Tr,{then:function(){return Tr.apply(Tr,an(arguments)),this},else:function(){return Zr.apply(Zr,an(arguments)),this},toString:function(){var ui=Ii();return ui&&(ui="else{"+ui+"}"),Fi(["if(",oi,"){",yi(),"}",ui])}})}var Si=vi(),Vn={};function Qi(oi,Tr){var Zr=[];function yi(){var qn="a"+Zr.length;return Zr.push(qn),qn}Tr=Tr||0;for(var Ii=0;Ii[g.viewport.x,g.viewport.y,x.viewportWidth,x.viewportHeight]},attributes:{color:{buffer:o,offset:(x,g)=>g.offset*4,divisor:1},position:{buffer:a,offset:(x,g)=>g.offset*8,divisor:1},positionFract:{buffer:i,offset:(x,g)=>g.offset*8,divisor:1},error:{buffer:s,offset:(x,g)=>g.offset*16,divisor:1},direction:{buffer:l,stride:24,offset:0},lineOffset:{buffer:l,stride:24,offset:8},capOffset:{buffer:l,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:e.prop("viewport")},viewport:e.prop("viewport"),stencil:!1,instances:e.prop("count"),count:eIe.length}),JRe(f,{update:d,draw:h,destroy:m,regl:e,gl:r,canvas:r.canvas,groups:c}),f;function f(x){x?d(x):x===null&&m(),h()}function h(x){if(typeof x=="number")return v(x);x&&!Array.isArray(x)&&(x=[x]),e._refresh(),c.forEach((g,E)=>{if(g){if(x&&(x[E]?g.draw=!0:g.draw=!1),!g.draw){g.draw=!0;return}v(E)}})}function v(x){typeof x=="number"&&(x=c[x]),x!=null&&x&&x.count&&x.color&&x.opacity&&x.positions&&x.positions.length>1&&(x.scaleRatio=[x.scale[0]*x.viewport.width,x.scale[1]*x.viewport.height],n(x),x.after&&x.after(x))}function d(x){if(!x)return;x.length!=null?typeof x[0]=="number"&&(x=[{positions:x}]):Array.isArray(x)||(x=[x]);let g=0,E=0;if(f.groups=c=x.map((k,y)=>{let S=c[y];if(k)typeof k=="function"?k={after:k}:typeof k[0]=="number"&&(k={positions:k});else return S;return k=Sqt(k,{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"}),S||(c[y]=S={id:y,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},k=JRe({},u,k)),Mqt(S,k,[{lineWidth:T=>+T*.5,capSize:T=>+T*.5,opacity:parseFloat,errors:T=>(T=QRe(T),E+=T.length,T),positions:(T,p)=>(T=QRe(T,"float64"),p.count=Math.floor(T.length/2),p.bounds=Tqt(T,2),p.offset=g,g+=p.count,T)},{color:(T,p)=>{let C=p.count;if(T||(T="transparent"),!Array.isArray(T)||typeof T[0]=="number"){let P=T;T=Array(C);for(let D=0;D{let A=p.bounds;return T||(T=A),p.scale=[1/(T[2]-T[0]),1/(T[3]-T[1])],p.translate=[-T[0],-T[1]],p.scaleFract=Qj(p.scale),p.translateFract=Qj(p.translate),T},viewport:T=>{let p;return Array.isArray(T)?p={x:T[0],y:T[1],width:T[2]-T[0],height:T[3]-T[1]}:T?(p={x:T.x||T.left||0,y:T.y||T.top||0},T.right?p.width=T.right-p.x:p.width=T.w||T.width||0,T.bottom?p.height=T.bottom-p.y:p.height=T.h||T.height||0):p={x:0,y:0,width:r.drawingBufferWidth,height:r.drawingBufferHeight},p}}]),S}),g||E){let k=c.reduce((p,C,A)=>p+(C?C.count:0),0),y=new Float64Array(k*2),S=new Uint8Array(k*4),T=new Float32Array(k*4);c.forEach((p,C)=>{if(!p)return;let{positions:A,count:P,offset:D,color:z,errors:q}=p;P&&(S.set(z,D*4),T.set(q,D*4),y.set(A,D*2))});var M=Eqt(y);a(M);var w=Qj(y,M);i(w),o(S),s(T)}}function m(){a.destroy(),i.destroy(),o.destroy(),s.destroy(),l.destroy()}}});var iIe=ne((Lpr,aIe)=>{var nIe=/[\'\"]/;aIe.exports=function(t){return t?(nIe.test(t.charAt(0))&&(t=t.substr(1)),nIe.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):""}});var eW=ne((Fpr,Cqt)=>{Cqt.exports=["inherit","initial","unset"]});var tW=ne((Ppr,Lqt)=>{Lqt.exports=["caption","icon","menu","message-box","small-caption","status-bar"]});var rW=ne((Dpr,Fqt)=>{Fqt.exports=["normal","bold","bolder","lighter","100","200","300","400","500","600","700","800","900"]});var nW=ne((Rpr,Pqt)=>{Pqt.exports=["normal","italic","oblique"]});var aW=ne((Ipr,Dqt)=>{Dqt.exports=["normal","condensed","semi-condensed","extra-condensed","ultra-condensed","expanded","semi-expanded","extra-expanded","ultra-expanded"]});var uIe=ne((zpr,lIe)=>{"use strict";function oIe(e,t){if(typeof e!="string")return[e];var r=[e];typeof t=="string"||Array.isArray(t)?t={brackets:t}:t||(t={});var n=t.brackets?Array.isArray(t.brackets)?t.brackets:[t.brackets]:["{}","[]","()"],a=t.escape||"___",i=!!t.flat;n.forEach(function(l){var u=new RegExp(["\\",l[0],"[^\\",l[0],"\\",l[1],"]*\\",l[1]].join("")),c=[];function f(h,v,d){var m=r.push(h.slice(l[0].length,-l[1].length))-1;return c.push(m),a+m+a}r.forEach(function(h,v){for(var d,m=0;h!=d;)if(d=h,h=h.replace(u,f),m++>1e4)throw Error("References have circular dependency. Please, check them.");r[v]=h}),c=c.reverse(),r=r.map(function(h){return c.forEach(function(v){h=h.replace(new RegExp("(\\"+a+v+"\\"+a+")","g"),l[0]+"$1"+l[1])}),h})});var o=new RegExp("\\"+a+"([0-9]+)\\"+a);function s(l,u,c){for(var f=[],h,v=0;h=o.exec(l);){if(v++>1e4)throw Error("Circular references in parenthesis");f.push(l.slice(0,h.index)),f.push(s(u[h[1]],u)),l=l.slice(h.index+h[0].length)}return f.push(l),f}return i?r:s(r[0],r)}function sIe(e,t){if(t&&t.flat){var r=t&&t.escape||"___",n=e[0],a;if(!n)return"";for(var i=new RegExp("\\"+r+"([0-9]+)\\"+r),o=0;n!=a;){if(o++>1e4)throw Error("Circular references in "+e);a=n,n=n.replace(i,s)}return n}return e.reduce(function l(u,c){return Array.isArray(c)&&(c=c.reduce(l,"")),u+c},"");function s(l,u){if(e[u]==null)throw Error("Reference "+u+"is undefined");return e[u]}}function iW(e,t){return Array.isArray(e)?sIe(e,t):oIe(e,t)}iW.parse=oIe;iW.stringify=sIe;lIe.exports=iW});var hIe=ne((qpr,fIe)=>{"use strict";var cIe=uIe();fIe.exports=function(t,r,n){if(t==null)throw Error("First argument should be a string");if(r==null)throw Error("Separator should be a string or a RegExp");n?(typeof n=="string"||Array.isArray(n))&&(n={ignore:n}):n={},n.escape==null&&(n.escape=!0),n.ignore==null?n.ignore=["[]","()","{}","<>",'""',"''","``","\u201C\u201D","\xAB\xBB"]:(typeof n.ignore=="string"&&(n.ignore=[n.ignore]),n.ignore=n.ignore.map(function(f){return f.length===1&&(f=f+f),f}));var a=cIe.parse(t,{flat:!0,brackets:n.ignore}),i=a[0],o=i.split(r);if(n.escape){for(var s=[],l=0;l{Rqt.exports=["xx-small","x-small","small","medium","large","x-large","xx-large","larger","smaller"]});var oW=ne((Opr,vIe)=>{"use strict";var Iqt=dIe();vIe.exports={isSize:function(t){return/^[\d\.]/.test(t)||t.indexOf("/")!==-1||Iqt.indexOf(t)!==-1}}});var yIe=ne((Npr,mIe)=>{"use strict";var zqt=iIe(),qqt=eW(),Bqt=tW(),Oqt=rW(),Nqt=nW(),Uqt=aW(),sW=hIe(),Vqt=oW().isSize;mIe.exports=gIe;var v6=gIe.cache={};function gIe(e){if(typeof e!="string")throw new Error("Font argument must be a string.");if(v6[e])return v6[e];if(e==="")throw new Error("Cannot parse an empty string.");if(Bqt.indexOf(e)!==-1)return v6[e]={system:e};for(var t={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},r=sW(e,/\s+/),n;n=r.shift();){if(qqt.indexOf(n)!==-1)return["style","variant","weight","stretch"].forEach(function(i){t[i]=n}),v6[e]=t;if(Nqt.indexOf(n)!==-1){t.style=n;continue}if(n==="normal"||n==="small-caps"){t.variant=n;continue}if(Uqt.indexOf(n)!==-1){t.stretch=n;continue}if(Oqt.indexOf(n)!==-1){t.weight=n;continue}if(Vqt(n)){var a=sW(n,"/");if(t.size=a[0],a[1]!=null?t.lineHeight=pIe(a[1]):r[0]==="/"&&(r.shift(),t.lineHeight=pIe(r.shift())),!r.length)throw new Error("Missing required font-family.");return t.family=sW(r.join(" "),/\s*,\s*/).map(zqt),v6[e]=t}throw new Error("Unknown or unsupported font token: "+n)}throw new Error("Missing required font-size.")}function pIe(e){var t=parseFloat(e);return t.toString()===e?t:e}});var uW=ne((Upr,xIe)=>{"use strict";var Gqt=s1(),Hqt=oW().isSize,jqt=g6(eW()),Wqt=g6(tW()),Yqt=g6(rW()),Xqt=g6(nW()),Zqt=g6(aW()),$qt={normal:1,"small-caps":1},Kqt={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},lW={style:"normal",variant:"normal",weight:"normal",stretch:"normal",size:"1rem",lineHeight:"normal",family:"serif"};xIe.exports=function(t){if(t=Gqt(t,{style:"style fontstyle fontStyle font-style slope distinction",variant:"variant font-variant fontVariant fontvariant var capitalization",weight:"weight w font-weight fontWeight fontweight",stretch:"stretch font-stretch fontStretch fontstretch width",size:"size s font-size fontSize fontsize height em emSize",lineHeight:"lh line-height lineHeight lineheight leading",family:"font family fontFamily font-family fontfamily type typeface face",system:"system reserved default global"}),t.system)return t.system&&p6(t.system,Wqt),t.system;if(p6(t.style,Xqt),p6(t.variant,$qt),p6(t.weight,Yqt),p6(t.stretch,Zqt),t.size==null&&(t.size=lW.size),typeof t.size=="number"&&(t.size+="px"),!Hqt)throw Error("Bad size value `"+t.size+"`");t.family||(t.family=lW.family),Array.isArray(t.family)&&(t.family.length||(t.family=[lW.family]),t.family=t.family.map(function(n){return Kqt[n]?n:'"'+n+'"'}).join(", "));var r=[];return r.push(t.style),t.variant!==t.style&&r.push(t.variant),t.weight!==t.variant&&t.weight!==t.style&&r.push(t.weight),t.stretch!==t.weight&&t.stretch!==t.variant&&t.stretch!==t.style&&r.push(t.stretch),r.push(t.size+(t.lineHeight==null||t.lineHeight==="normal"||t.lineHeight+""=="1"?"":"/"+t.lineHeight)),r.push(t.family),r.filter(Boolean).join(" ")};function p6(e,t){if(e&&!t[e]&&!jqt[e])throw Error("Unknown keyword `"+e+"`");return e}function g6(e){for(var t={},r=0;r{"use strict";bIe.exports={parse:yIe(),stringify:uW()}});var wIe=ne((cW,fW)=>{(function(e,t){typeof cW=="object"&&typeof fW!="undefined"?fW.exports=t():e.createREGL=t()})(cW,(function(){"use strict";var e=function(pe,ot){for(var ht=Object.keys(ot),Kt=0;Kt1&&ot===ht&&(ot==='"'||ot==="'"))return['"'+o(pe.substr(1,pe.length-2))+'"'];var Kt=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(pe);if(Kt)return s(pe.substr(0,Kt.index)).concat(s(Kt[1])).concat(s(pe.substr(Kt.index+Kt[0].length)));var cr=pe.split(".");if(cr.length===1)return['"'+o(pe)+'"'];for(var dr=[],ur=0;ur65535)<<4,pe>>>=ot,ht=(pe>255)<<3,pe>>>=ht,ot|=ht,ht=(pe>15)<<2,pe>>>=ht,ot|=ht,ht=(pe>3)<<1,pe>>>=ht,ot|=ht,ot|pe>>1}function R(){var pe=T(8,function(){return[]});function ot(dr){var ur=U(dr),Rr=pe[O(ur)>>2];return Rr.length>0?Rr.pop():new ArrayBuffer(ur)}function ht(dr){pe[O(dr.byteLength)>>2].push(dr)}function Kt(dr,ur){var Rr=null;switch(dr){case p:Rr=new Int8Array(ot(ur),0,ur);break;case C:Rr=new Uint8Array(ot(ur),0,ur);break;case A:Rr=new Int16Array(ot(2*ur),0,ur);break;case P:Rr=new Uint16Array(ot(2*ur),0,ur);break;case D:Rr=new Int32Array(ot(4*ur),0,ur);break;case z:Rr=new Uint32Array(ot(4*ur),0,ur);break;case q:Rr=new Float32Array(ot(4*ur),0,ur);break;default:return null}return Rr.length!==ur?Rr.subarray(0,ur):Rr}function cr(dr){ht(dr.buffer)}return{alloc:ot,free:ht,allocType:Kt,freeType:cr}}var B=R();B.zero=R();var Y=3408,X=3410,te=3411,se=3412,ue=3413,re=3414,j=3415,fe=33901,ce=33902,oe=3379,we=3386,he=34921,ye=36347,Pe=36348,le=35661,ze=35660,Xe=34930,vt=36349,st=34076,Oe=34024,qe=7936,mt=7937,lt=7938,Ie=35724,de=34047,Ee=36063,Ue=34852,ge=3553,Ge=34067,tt=34069,ft=33984,He=6408,Qe=5126,We=5121,pt=36160,kt=36053,qt=36064,Wt=16384,_r=function(pe,ot){var ht=1;ot.ext_texture_filter_anisotropic&&(ht=pe.getParameter(de));var Kt=1,cr=1;ot.webgl_draw_buffers&&(Kt=pe.getParameter(Ue),cr=pe.getParameter(Ee));var dr=!!ot.oes_texture_float;if(dr){var ur=pe.createTexture();pe.bindTexture(ge,ur),pe.texImage2D(ge,0,He,1,1,0,He,Qe,null);var Rr=pe.createFramebuffer();if(pe.bindFramebuffer(pt,Rr),pe.framebufferTexture2D(pt,qt,ge,ur,0),pe.bindTexture(ge,null),pe.checkFramebufferStatus(pt)!==kt)dr=!1;else{pe.viewport(0,0,1,1),pe.clearColor(1,0,0,1),pe.clear(Wt);var Xr=B.allocType(Qe,4);pe.readPixels(0,0,1,1,He,Qe,Xr),pe.getError()?dr=!1:(pe.deleteFramebuffer(Rr),pe.deleteTexture(ur),dr=Xr[0]===1),B.freeType(Xr)}}var $r=typeof navigator!="undefined"&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),Kr=!0;if(!$r){var Hn=pe.createTexture(),Cn=B.allocType(We,36);pe.activeTexture(ft),pe.bindTexture(Ge,Hn),pe.texImage2D(tt,0,He,3,3,0,He,We,Cn),B.freeType(Cn),pe.bindTexture(Ge,null),pe.deleteTexture(Hn),Kr=!pe.getError()}return{colorBits:[pe.getParameter(X),pe.getParameter(te),pe.getParameter(se),pe.getParameter(ue)],depthBits:pe.getParameter(re),stencilBits:pe.getParameter(j),subpixelBits:pe.getParameter(Y),extensions:Object.keys(ot).filter(function(fn){return!!ot[fn]}),maxAnisotropic:ht,maxDrawbuffers:Kt,maxColorAttachments:cr,pointSizeDims:pe.getParameter(fe),lineWidthDims:pe.getParameter(ce),maxViewportDims:pe.getParameter(we),maxCombinedTextureUnits:pe.getParameter(le),maxCubeMapSize:pe.getParameter(st),maxRenderbufferSize:pe.getParameter(Oe),maxTextureUnits:pe.getParameter(Xe),maxTextureSize:pe.getParameter(oe),maxAttributes:pe.getParameter(he),maxVertexUniforms:pe.getParameter(ye),maxVertexTextureUnits:pe.getParameter(ze),maxVaryingVectors:pe.getParameter(Pe),maxFragmentUniforms:pe.getParameter(vt),glsl:pe.getParameter(Ie),renderer:pe.getParameter(mt),vendor:pe.getParameter(qe),version:pe.getParameter(lt),readFloat:dr,npotTextureCube:Kr}},tr=function(pe){return pe instanceof Uint8Array||pe instanceof Uint16Array||pe instanceof Uint32Array||pe instanceof Int8Array||pe instanceof Int16Array||pe instanceof Int32Array||pe instanceof Float32Array||pe instanceof Float64Array||pe instanceof Uint8ClampedArray};function lr(pe){return!!pe&&typeof pe=="object"&&Array.isArray(pe.shape)&&Array.isArray(pe.stride)&&typeof pe.offset=="number"&&pe.shape.length===pe.stride.length&&(Array.isArray(pe.data)||tr(pe.data))}var Ye=function(pe){return Object.keys(pe).map(function(ot){return pe[ot]})},Te={shape:_t,flatten:Ke};function Fe(pe,ot,ht){for(var Kt=0;Kt0){var Gn;if(Array.isArray(pr[0])){sn=un(pr);for(var kr=1,Mr=1;Mr0){if(typeof kr[0]=="number"){var Jr=B.allocType(Cr.dtype,kr.length);no(Jr,kr),sn(Jr,_n),B.freeType(Jr)}else if(Array.isArray(kr[0])||tr(kr[0])){an=un(kr);var Qr=Qn(kr,an,Cr.dtype);sn(Qr,_n),B.freeType(Qr)}}}else if(lr(kr)){an=kr.shape;var wn=kr.stride,jn=0,oa=0,rn=0,Sn=0;an.length===1?(jn=an[0],oa=1,rn=wn[0],Sn=0):an.length===2&&(jn=an[0],oa=an[1],rn=wn[0],Sn=wn[1]);var sa=Array.isArray(kr.data)?Cr.dtype:pa(kr.data),ca=B.allocType(sa,jn*oa);Gi(ca,kr.data,jn,oa,rn,Sn,kr.offset),sn(ca,_n),B.freeType(ca)}return hn}return Ir||hn(Ut),hn._reglType="buffer",hn._buffer=Cr,hn.subdata=Gn,ht.profile&&(hn.stats=Cr.stats),hn.destroy=function(){Cn(Cr)},hn}function Sr(){Ye(dr).forEach(function(Ut){Ut.buffer=pe.createBuffer(),pe.bindBuffer(Ut.type,Ut.buffer),pe.bufferData(Ut.type,Ut.persistentData||Ut.byteLength,Ut.usage)})}return ht.profile&&(ot.getTotalBufferSize=function(){var Ut=0;return Object.keys(dr).forEach(function(pr){Ut+=dr[pr].stats.size}),Ut}),{create:fn,createStream:Xr,destroyStream:$r,clear:function(){Ye(dr).forEach(Cn),Rr.forEach(Cn)},getBuffer:function(Ut){return Ut&&Ut._buffer instanceof ur?Ut._buffer:null},restore:Sr,_initBuffer:Hn}}var fi=0,_o=0,Oi=1,ni=1,ao=4,Hi=4,to={points:fi,point:_o,lines:Oi,line:ni,triangles:ao,triangle:Hi,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},Xo=0,Zo=1,Fi=4,yo=5120,oo=5121,rl=5122,Ni=5123,Oa=5124,xi=5125,Pi=34963,ia=35040,rt=35044;function Xt(pe,ot,ht,Kt){var cr={},dr=0,ur={uint8:oo,uint16:Ni};ot.oes_element_index_uint&&(ur.uint32=xi);function Rr(Sr){this.id=dr++,cr[this.id]=this,this.buffer=Sr,this.primType=Fi,this.vertCount=0,this.type=0}Rr.prototype.bind=function(){this.buffer.bind()};var Xr=[];function $r(Sr){var Ut=Xr.pop();return Ut||(Ut=new Rr(ht.create(null,Pi,!0,!1)._buffer)),Hn(Ut,Sr,ia,-1,-1,0,0),Ut}function Kr(Sr){Xr.push(Sr)}function Hn(Sr,Ut,pr,Ir,Zr,Cr,hn){Sr.buffer.bind();var sn;if(Ut){var Gn=hn;!hn&&(!tr(Ut)||lr(Ut)&&!tr(Ut.data))&&(Gn=ot.oes_element_index_uint?xi:Ni),ht._initBuffer(Sr.buffer,Ut,pr,Gn,3)}else pe.bufferData(Pi,Cr,pr),Sr.buffer.dtype=sn||oo,Sr.buffer.usage=pr,Sr.buffer.dimension=3,Sr.buffer.byteLength=Cr;if(sn=hn,!hn){switch(Sr.buffer.dtype){case oo:case yo:sn=oo;break;case Ni:case rl:sn=Ni;break;case xi:case Oa:sn=xi;break;default:}Sr.buffer.dtype=sn}Sr.type=sn;var kr=Zr;kr<0&&(kr=Sr.buffer.byteLength,sn===Ni?kr>>=1:sn===xi&&(kr>>=2)),Sr.vertCount=kr;var Mr=Ir;if(Ir<0){Mr=Fi;var _n=Sr.buffer.dimension;_n===1&&(Mr=Xo),_n===2&&(Mr=Zo),_n===3&&(Mr=Fi)}Sr.primType=Mr}function Cn(Sr){Kt.elementsCount--,delete cr[Sr.id],Sr.buffer.destroy(),Sr.buffer=null}function fn(Sr,Ut){var pr=ht.create(null,Pi,!0),Ir=new Rr(pr._buffer);Kt.elementsCount++;function Zr(Cr){if(!Cr)pr(),Ir.primType=Fi,Ir.vertCount=0,Ir.type=oo;else if(typeof Cr=="number")pr(Cr),Ir.primType=Fi,Ir.vertCount=Cr|0,Ir.type=oo;else{var hn=null,sn=rt,Gn=-1,kr=-1,Mr=0,_n=0;Array.isArray(Cr)||tr(Cr)||lr(Cr)?hn=Cr:("data"in Cr&&(hn=Cr.data),"usage"in Cr&&(sn=Kn[Cr.usage]),"primitive"in Cr&&(Gn=to[Cr.primitive]),"count"in Cr&&(kr=Cr.count|0),"type"in Cr&&(_n=ur[Cr.type]),"length"in Cr?Mr=Cr.length|0:(Mr=kr,_n===Ni||_n===rl?Mr*=2:(_n===xi||_n===Oa)&&(Mr*=4))),Hn(Ir,hn,sn,Gn,kr,Mr,_n)}return Zr}return Zr(Sr),Zr._reglType="elements",Zr._elements=Ir,Zr.subdata=function(Cr,hn){return pr.subdata(Cr,hn),Zr},Zr.destroy=function(){Cn(Ir)},Zr}return{create:fn,createStream:$r,destroyStream:Kr,getElements:function(Sr){return typeof Sr=="function"&&Sr._elements instanceof Rr?Sr._elements:null},clear:function(){Ye(cr).forEach(Cn)}}}var xr=new Float32Array(1),Fr=new Uint32Array(xr.buffer),xn=5123;function Mn(pe){for(var ot=B.allocType(xn,pe.length),ht=0;ht>>31<<15,dr=(Kt<<1>>>24)-127,ur=Kt>>13&1023;if(dr<-24)ot[ht]=cr;else if(dr<-14){var Rr=-14-dr;ot[ht]=cr+(ur+1024>>Rr)}else dr>15?ot[ht]=cr+31744:ot[ht]=cr+(dr+15<<10)+ur}return ot}function Rn(pe){return Array.isArray(pe)||tr(pe)}var on=34467,En=3553,Aa=34067,ba=34069,Ia=6408,hi=6406,ki=6407,ui=6409,Mi=6410,_i=32854,ko=32855,Io=36194,$o=32819,Is=32820,Es=33635,Ks=34042,nl=6402,ks=34041,us=35904,xs=35906,Co=36193,Si=33776,io=33777,Bs=33778,Fl=33779,Eu=35986,Cs=35987,Nl=34798,du=35840,Kl=35841,al=35842,co=35843,Ul=36196,Ls=5121,il=5123,_c=5125,Os=5126,Vu=10242,kf=10243,Jl=10497,th=33071,wc=33648,Cf=10240,Rd=10241,ol=9728,af=9729,ec=9984,Tc=9985,vu=9986,jc=9987,Lf=33170,tc=4352,Lh=4353,of=4354,Ff=34046,Pf=3317,rh=37440,Fh=37441,pu=37443,gu=37444,mu=33984,Ql=[ec,vu,Tc,jc],as=[0,ui,Mi,ki,Ia],fo={};fo[ui]=fo[hi]=fo[nl]=1,fo[ks]=fo[Mi]=2,fo[ki]=fo[us]=3,fo[Ia]=fo[xs]=4;function Ns(pe){return"[object "+pe+"]"}var ku=Ns("HTMLCanvasElement"),rc=Ns("OffscreenCanvas"),sf=Ns("CanvasRenderingContext2D"),is=Ns("ImageBitmap"),Xh=Ns("HTMLImageElement"),Wi=Ns("HTMLVideoElement"),Zh=Object.keys(St).concat([ku,rc,sf,is,Xh,Wi]),so=[];so[Ls]=1,so[Os]=4,so[Co]=2,so[il]=2,so[_c]=4;var ei=[];ei[_i]=2,ei[ko]=2,ei[Io]=2,ei[ks]=4,ei[Si]=.5,ei[io]=.5,ei[Bs]=1,ei[Fl]=1,ei[Eu]=.5,ei[Cs]=1,ei[Nl]=1,ei[du]=.5,ei[Kl]=.25,ei[al]=.5,ei[co]=.25,ei[Ul]=.5;function nc(pe){return Array.isArray(pe)&&(pe.length===0||typeof pe[0]=="number")}function Wc(pe){if(!Array.isArray(pe))return!1;var ot=pe.length;return!(ot===0||!Rn(pe[0]))}function _l(pe){return Object.prototype.toString.call(pe)}function nh(pe){return _l(pe)===ku}function Cu(pe){return _l(pe)===rc}function Ac(pe){return _l(pe)===sf}function Us(pe){return _l(pe)===is}function ah(pe){return _l(pe)===Xh}function Df(pe){return _l(pe)===Wi}function Mc(pe){if(!pe)return!1;var ot=_l(pe);return Zh.indexOf(ot)>=0?!0:nc(pe)||Wc(pe)||lr(pe)}function Sc(pe){return St[Object.prototype.toString.call(pe)]|0}function Rf(pe,ot){var ht=ot.length;switch(pe.type){case Ls:case il:case _c:case Os:var Kt=B.allocType(pe.type,ht);Kt.set(ot),pe.data=Kt;break;case Co:pe.data=Mn(ot);break;default:}}function If(pe,ot){return B.allocType(pe.type===Co?Os:pe.type,ot)}function eu(pe,ot){pe.type===Co?(pe.data=Mn(ot),B.freeType(ot)):pe.data=ot}function lf(pe,ot,ht,Kt,cr,dr){for(var ur=pe.width,Rr=pe.height,Xr=pe.channels,$r=ur*Rr*Xr,Kr=If(pe,$r),Hn=0,Cn=0;Cn=1;)Rr+=ur*Xr*Xr,Xr/=2;return Rr}else return ur*ht*Kt}function Ec(pe,ot,ht,Kt,cr,dr,ur){var Rr={"don't care":tc,"dont care":tc,nice:of,fast:Lh},Xr={repeat:Jl,clamp:th,mirror:wc},$r={nearest:ol,linear:af},Kr=e({mipmap:jc,"nearest mipmap nearest":ec,"linear mipmap nearest":Tc,"nearest mipmap linear":vu,"linear mipmap linear":jc},$r),Hn={none:0,browser:gu},Cn={uint8:Ls,rgba4:$o,rgb565:Es,"rgb5 a1":Is},fn={alpha:hi,luminance:ui,"luminance alpha":Mi,rgb:ki,rgba:Ia,rgba4:_i,"rgb5 a1":ko,rgb565:Io},Sr={};ot.ext_srgb&&(fn.srgb=us,fn.srgba=xs),ot.oes_texture_float&&(Cn.float32=Cn.float=Os),ot.oes_texture_half_float&&(Cn.float16=Cn["half float"]=Co),ot.webgl_depth_texture&&(e(fn,{depth:nl,"depth stencil":ks}),e(Cn,{uint16:il,uint32:_c,"depth stencil":Ks})),ot.webgl_compressed_texture_s3tc&&e(Sr,{"rgb s3tc dxt1":Si,"rgba s3tc dxt1":io,"rgba s3tc dxt3":Bs,"rgba s3tc dxt5":Fl}),ot.webgl_compressed_texture_atc&&e(Sr,{"rgb atc":Eu,"rgba atc explicit alpha":Cs,"rgba atc interpolated alpha":Nl}),ot.webgl_compressed_texture_pvrtc&&e(Sr,{"rgb pvrtc 4bppv1":du,"rgb pvrtc 2bppv1":Kl,"rgba pvrtc 4bppv1":al,"rgba pvrtc 2bppv1":co}),ot.webgl_compressed_texture_etc1&&(Sr["rgb etc1"]=Ul);var Ut=Array.prototype.slice.call(pe.getParameter(on));Object.keys(Sr).forEach(function(it){var ir=Sr[it];Ut.indexOf(ir)>=0&&(fn[it]=ir)});var pr=Object.keys(fn);ht.textureFormats=pr;var Ir=[];Object.keys(fn).forEach(function(it){var ir=fn[it];Ir[ir]=it});var Zr=[];Object.keys(Cn).forEach(function(it){var ir=Cn[it];Zr[ir]=it});var Cr=[];Object.keys($r).forEach(function(it){var ir=$r[it];Cr[ir]=it});var hn=[];Object.keys(Kr).forEach(function(it){var ir=Kr[it];hn[ir]=it});var sn=[];Object.keys(Xr).forEach(function(it){var ir=Xr[it];sn[ir]=it});var Gn=pr.reduce(function(it,ir){var or=fn[ir];return or===ui||or===hi||or===ui||or===Mi||or===nl||or===ks||ot.ext_srgb&&(or===us||or===xs)?it[or]=or:or===ko||ir.indexOf("rgba")>=0?it[or]=Ia:it[or]=ki,it},{});function kr(){this.internalformat=Ia,this.format=Ia,this.type=Ls,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=gu,this.width=0,this.height=0,this.channels=0}function Mr(it,ir){it.internalformat=ir.internalformat,it.format=ir.format,it.type=ir.type,it.compressed=ir.compressed,it.premultiplyAlpha=ir.premultiplyAlpha,it.flipY=ir.flipY,it.unpackAlignment=ir.unpackAlignment,it.colorSpace=ir.colorSpace,it.width=ir.width,it.height=ir.height,it.channels=ir.channels}function _n(it,ir){if(!(typeof ir!="object"||!ir)){if("premultiplyAlpha"in ir&&(it.premultiplyAlpha=ir.premultiplyAlpha),"flipY"in ir&&(it.flipY=ir.flipY),"alignment"in ir&&(it.unpackAlignment=ir.alignment),"colorSpace"in ir&&(it.colorSpace=Hn[ir.colorSpace]),"type"in ir){var or=ir.type;it.type=Cn[or]}var Fn=it.width,Ga=it.height,Li=it.channels,Pn=!1;"shape"in ir?(Fn=ir.shape[0],Ga=ir.shape[1],ir.shape.length===3&&(Li=ir.shape[2],Pn=!0)):("radius"in ir&&(Fn=Ga=ir.radius),"width"in ir&&(Fn=ir.width),"height"in ir&&(Ga=ir.height),"channels"in ir&&(Li=ir.channels,Pn=!0)),it.width=Fn|0,it.height=Ga|0,it.channels=Li|0;var $e=!1;if("format"in ir){var ct=ir.format,Et=it.internalformat=fn[ct];it.format=Gn[Et],ct in Cn&&("type"in ir||(it.type=Cn[ct])),ct in Sr&&(it.compressed=!0),$e=!0}!Pn&&$e?it.channels=fo[it.format]:Pn&&!$e&&it.channels!==as[it.format]&&(it.format=it.internalformat=as[it.channels])}}function an(it){pe.pixelStorei(rh,it.flipY),pe.pixelStorei(Fh,it.premultiplyAlpha),pe.pixelStorei(pu,it.colorSpace),pe.pixelStorei(Pf,it.unpackAlignment)}function Jr(){kr.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function Qr(it,ir){var or=null;if(Mc(ir)?or=ir:ir&&(_n(it,ir),"x"in ir&&(it.xOffset=ir.x|0),"y"in ir&&(it.yOffset=ir.y|0),Mc(ir.data)&&(or=ir.data)),ir.copy){var Fn=cr.viewportWidth,Ga=cr.viewportHeight;it.width=it.width||Fn-it.xOffset,it.height=it.height||Ga-it.yOffset,it.needsCopy=!0}else if(!or)it.width=it.width||1,it.height=it.height||1,it.channels=it.channels||4;else if(tr(or))it.channels=it.channels||4,it.data=or,!("type"in ir)&&it.type===Ls&&(it.type=Sc(or));else if(nc(or))it.channels=it.channels||4,Rf(it,or),it.alignment=1,it.needsFree=!0;else if(lr(or)){var Li=or.data;!Array.isArray(Li)&&it.type===Ls&&(it.type=Sc(Li));var Pn=or.shape,$e=or.stride,ct,Et,nr,vr,Ht,Nt;Pn.length===3?(nr=Pn[2],Nt=$e[2]):(nr=1,Nt=1),ct=Pn[0],Et=Pn[1],vr=$e[0],Ht=$e[1],it.alignment=1,it.width=ct,it.height=Et,it.channels=nr,it.format=it.internalformat=as[nr],it.needsFree=!0,lf(it,Li,vr,Ht,Nt,or.offset)}else if(nh(or)||Cu(or)||Ac(or))nh(or)||Cu(or)?it.element=or:it.element=or.canvas,it.width=it.element.width,it.height=it.element.height,it.channels=4;else if(Us(or))it.element=or,it.width=or.width,it.height=or.height,it.channels=4;else if(ah(or))it.element=or,it.width=or.naturalWidth,it.height=or.naturalHeight,it.channels=4;else if(Df(or))it.element=or,it.width=or.videoWidth,it.height=or.videoHeight,it.channels=4;else if(Wc(or)){var Pt=it.width||or[0].length,At=it.height||or.length,Lt=it.channels;Rn(or[0][0])?Lt=Lt||or[0][0].length:Lt=Lt||1;for(var dt=Te.shape(or),Jt=1,yr=0;yr>=Ga,or.height>>=Ga,Qr(or,Fn[Ga]),it.mipmask|=1<=0&&!("faces"in ir)&&(it.genMipmaps=!0)}if("mag"in ir){var Fn=ir.mag;it.magFilter=$r[Fn]}var Ga=it.wrapS,Li=it.wrapT;if("wrap"in ir){var Pn=ir.wrap;typeof Pn=="string"?Ga=Li=Xr[Pn]:Array.isArray(Pn)&&(Ga=Xr[Pn[0]],Li=Xr[Pn[1]])}else{if("wrapS"in ir){var $e=ir.wrapS;Ga=Xr[$e]}if("wrapT"in ir){var ct=ir.wrapT;Li=Xr[ct]}}if(it.wrapS=Ga,it.wrapT=Li,"anisotropic"in ir){var Et=ir.anisotropic;it.anisotropic=ir.anisotropic}if("mipmap"in ir){var nr=!1;switch(typeof ir.mipmap){case"string":it.mipmapHint=Rr[ir.mipmap],it.genMipmaps=!0,nr=!0;break;case"boolean":nr=it.genMipmaps=ir.mipmap;break;case"object":it.genMipmaps=!1,nr=!0;break;default:}nr&&!("min"in ir)&&(it.minFilter=ec)}}function es(it,ir){pe.texParameteri(ir,Rd,it.minFilter),pe.texParameteri(ir,Cf,it.magFilter),pe.texParameteri(ir,Vu,it.wrapS),pe.texParameteri(ir,kf,it.wrapT),ot.ext_texture_filter_anisotropic&&pe.texParameteri(ir,Ff,it.anisotropic),it.genMipmaps&&(pe.hint(Lf,it.mipmapHint),pe.generateMipmap(ir))}var Ds=0,Do={},Ro=ht.maxTextureUnits,Uo=Array(Ro).map(function(){return null});function Sa(it){kr.call(this),this.mipmask=0,this.internalformat=Ia,this.id=Ds++,this.refCount=1,this.target=it,this.texture=pe.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new Ci,ur.profile&&(this.stats={size:0})}function ts(it){pe.activeTexture(mu),pe.bindTexture(it.target,it.texture)}function qi(){var it=Uo[0];it?pe.bindTexture(it.target,it.texture):pe.bindTexture(En,null)}function Hs(it){var ir=it.texture,or=it.unit,Fn=it.target;or>=0&&(pe.activeTexture(mu+or),pe.bindTexture(Fn,null),Uo[or]=null),pe.deleteTexture(ir),it.texture=null,it.params=null,it.pixels=null,it.refCount=0,delete Do[it.id],dr.textureCount--}e(Sa.prototype,{bind:function(){var it=this;it.bindCount+=1;var ir=it.unit;if(ir<0){for(var or=0;or0)continue;Fn.unit=-1}Uo[or]=it,ir=or;break}ir>=Ro,ur.profile&&dr.maxTextureUnits>Ht)-nr,Nt.height=Nt.height||(or.height>>Ht)-vr,ts(or),jn(Nt,En,nr,vr,Ht),qi(),Sn(Nt),Fn}function Li(Pn,$e){var ct=Pn|0,Et=$e|0||ct;if(ct===or.width&&Et===or.height)return Fn;Fn.width=or.width=ct,Fn.height=or.height=Et,ts(or);for(var nr=0;or.mipmask>>nr;++nr){var vr=ct>>nr,Ht=Et>>nr;if(!vr||!Ht)break;pe.texImage2D(En,nr,or.format,vr,Ht,0,or.format,or.type,null)}return qi(),ur.profile&&(or.stats.size=tu(or.internalformat,or.type,ct,Et,!1,!1)),Fn}return Fn(it,ir),Fn.subimage=Ga,Fn.resize=Li,Fn._reglType="texture2d",Fn._texture=or,ur.profile&&(Fn.stats=or.stats),Fn.destroy=function(){or.decRef()},Fn}function fl(it,ir,or,Fn,Ga,Li){var Pn=new Sa(Aa);Do[Pn.id]=Pn,dr.cubeCount++;var $e=new Array(6);function ct(vr,Ht,Nt,Pt,At,Lt){var dt,Jt=Pn.texInfo;for(Ci.call(Jt),dt=0;dt<6;++dt)$e[dt]=ja();if(typeof vr=="number"||!vr){var yr=vr|0||1;for(dt=0;dt<6;++dt)ca($e[dt],yr,yr)}else if(typeof vr=="object")if(Ht)Ra($e[0],vr),Ra($e[1],Ht),Ra($e[2],Nt),Ra($e[3],Pt),Ra($e[4],At),Ra($e[5],Lt);else if(Ts(Jt,vr),_n(Pn,vr),"faces"in vr){var Or=vr.faces;for(dt=0;dt<6;++dt)Mr($e[dt],Pn),Ra($e[dt],Or[dt])}else for(dt=0;dt<6;++dt)Ra($e[dt],vr);for(Mr(Pn,$e[0]),Jt.genMipmaps?Pn.mipmask=($e[0].width<<1)-1:Pn.mipmask=$e[0].mipmask,Pn.internalformat=$e[0].internalformat,ct.width=$e[0].width,ct.height=$e[0].height,ts(Pn),dt=0;dt<6;++dt)go($e[dt],ba+dt);for(es(Jt,Aa),qi(),ur.profile&&(Pn.stats.size=tu(Pn.internalformat,Pn.type,ct.width,ct.height,Jt.genMipmaps,!0)),ct.format=Ir[Pn.internalformat],ct.type=Zr[Pn.type],ct.mag=Cr[Jt.magFilter],ct.min=hn[Jt.minFilter],ct.wrapS=sn[Jt.wrapS],ct.wrapT=sn[Jt.wrapT],dt=0;dt<6;++dt)cl($e[dt]);return ct}function Et(vr,Ht,Nt,Pt,At){var Lt=Nt|0,dt=Pt|0,Jt=At|0,yr=rn();return Mr(yr,Pn),yr.width=0,yr.height=0,Qr(yr,Ht),yr.width=yr.width||(Pn.width>>Jt)-Lt,yr.height=yr.height||(Pn.height>>Jt)-dt,ts(Pn),jn(yr,ba+vr,Lt,dt,Jt),qi(),Sn(yr),ct}function nr(vr){var Ht=vr|0;if(Ht!==Pn.width){ct.width=Pn.width=Ht,ct.height=Pn.height=Ht,ts(Pn);for(var Nt=0;Nt<6;++Nt)for(var Pt=0;Pn.mipmask>>Pt;++Pt)pe.texImage2D(ba+Nt,Pt,Pn.format,Ht>>Pt,Ht>>Pt,0,Pn.format,Pn.type,null);return qi(),ur.profile&&(Pn.stats.size=tu(Pn.internalformat,Pn.type,ct.width,ct.height,!1,!0)),ct}}return ct(it,ir,or,Fn,Ga,Li),ct.subimage=Et,ct.resize=nr,ct._reglType="textureCube",ct._texture=Pn,ur.profile&&(ct.stats=Pn.stats),ct.destroy=function(){Pn.decRef()},ct}function ha(){for(var it=0;it>Fn,or.height>>Fn,0,or.internalformat,or.type,null);else for(var Ga=0;Ga<6;++Ga)pe.texImage2D(ba+Ga,Fn,or.internalformat,or.width>>Fn,or.height>>Fn,0,or.internalformat,or.type,null);es(or.texInfo,or.target)})}function ti(){for(var it=0;it=0?cl=!0:Xr.indexOf(Ci)>=0&&(cl=!1))),("depthTexture"in Sa||"depthStencilTexture"in Sa)&&(Uo=!!(Sa.depthTexture||Sa.depthStencilTexture)),"depth"in Sa&&(typeof Sa.depth=="boolean"?go=Sa.depth:(Ds=Sa.depth,No=!1)),"stencil"in Sa&&(typeof Sa.stencil=="boolean"?No=Sa.stencil:(Do=Sa.stencil,go=!1)),"depthStencil"in Sa&&(typeof Sa.depthStencil=="boolean"?go=No=Sa.depthStencil:(Ro=Sa.depthStencil,go=!1,No=!1))}var qi=null,Hs=null,js=null,fl=null;if(Array.isArray(ja))qi=ja.map(Sr);else if(ja)qi=[Sr(ja)];else for(qi=new Array(es),sa=0;sa0&&(Sn.depth=Qr[0].depth,Sn.stencil=Qr[0].stencil,Sn.depthStencil=Qr[0].depthStencil),Qr[rn]?Qr[rn](Sn):Qr[rn]=Mr(Sn)}return e(wn,{width:sa,height:sa,color:Ci})}function jn(oa){var rn,Sn=oa|0;if(Sn===wn.width)return wn;var sa=wn.color;for(rn=0;rn=sa.byteLength?ca.subdata(sa):(ca.destroy(),Mr.buffers[oa]=null)),Mr.buffers[oa]||(ca=Mr.buffers[oa]=cr.create(rn,qf,!1,!0)),Sn.buffer=cr.getBuffer(ca),Sn.size=Sn.buffer.dimension|0,Sn.normalized=!1,Sn.type=Sn.buffer.dtype,Sn.offset=0,Sn.stride=0,Sn.divisor=0,Sn.state=1,wn[oa]=1}else cr.getBuffer(rn)?(Sn.buffer=cr.getBuffer(rn),Sn.size=Sn.buffer.dimension|0,Sn.normalized=!1,Sn.type=Sn.buffer.dtype,Sn.offset=0,Sn.stride=0,Sn.divisor=0,Sn.state=1):cr.getBuffer(rn.buffer)?(Sn.buffer=cr.getBuffer(rn.buffer),Sn.size=(+rn.size||Sn.buffer.dimension)|0,Sn.normalized=!!rn.normalized||!1,"type"in rn?Sn.type=vn[rn.type]:Sn.type=Sn.buffer.dtype,Sn.offset=(rn.offset||0)|0,Sn.stride=(rn.stride||0)|0,Sn.divisor=(rn.divisor||0)|0,Sn.state=1):"x"in rn&&(Sn.x=+rn.x||0,Sn.y=+rn.y||0,Sn.z=+rn.z||0,Sn.w=+rn.w||0,Sn.state=2)}for(var Ra=0;Ra1)for(var an=0;anUt&&(Ut=pr.stats.uniformsCount)}),Ut},ht.getMaxAttributesCount=function(){var Ut=0;return Kr.forEach(function(pr){pr.stats.attributesCount>Ut&&(Ut=pr.stats.attributesCount)}),Ut});function Sr(){cr={},dr={};for(var Ut=0;Ut16&&(ht=tn(ht,pe.length*8));for(var Kt=Array(16),cr=Array(16),dr=0;dr<16;dr++)Kt[dr]=ht[dr]^909522486,cr[dr]=ht[dr]^1549556828;var ur=tn(Kt.concat(Wu(ot)),512+ot.length*8);return Je(tn(cr.concat(ur),768))}function Fu(pe){for(var ot=Qh?"0123456789ABCDEF":"0123456789abcdef",ht="",Kt,cr=0;cr>>4&15)+ot.charAt(Kt&15);return ht}function fh(pe){for(var ot="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ht="",Kt=pe.length,cr=0;crpe.length*8?ht+=hf:ht+=ot.charAt(dr>>>6*(3-ur)&63);return ht}function ed(pe,ot){var ht=ot.length,Kt=Array(),cr,dr,ur,Rr,Xr=Array(Math.ceil(pe.length/2));for(cr=0;cr0;){for(Rr=Array(),ur=0,cr=0;cr0||dr>0)&&(Rr[Rr.length]=dr);Kt[Kt.length]=ur,Xr=Rr}var $r="";for(cr=Kt.length-1;cr>=0;cr--)$r+=ot.charAt(Kt[cr]);var Kr=Math.ceil(pe.length*8/(Math.log(ot.length)/Math.log(2)));for(cr=$r.length;cr>>6&31,128|Kt&63):Kt<=65535?ot+=String.fromCharCode(224|Kt>>>12&15,128|Kt>>>6&63,128|Kt&63):Kt<=2097151&&(ot+=String.fromCharCode(240|Kt>>>18&7,128|Kt>>>12&63,128|Kt>>>6&63,128|Kt&63));return ot}function Wu(pe){for(var ot=Array(pe.length>>2),ht=0;ht>5]|=(pe.charCodeAt(ht/8)&255)<<24-ht%32;return ot}function Je(pe){for(var ot="",ht=0;ht>5]>>>24-ht%32&255);return ot}function yt(pe,ot){return pe>>>ot|pe<<32-ot}function Gt(pe,ot){return pe>>>ot}function Bt(pe,ot,ht){return pe&ot^~pe&ht}function mr(pe,ot,ht){return pe&ot^pe&ht^ot&ht}function Ur(pe){return yt(pe,2)^yt(pe,13)^yt(pe,22)}function en(pe){return yt(pe,6)^yt(pe,11)^yt(pe,25)}function mn(pe){return yt(pe,7)^yt(pe,18)^Gt(pe,3)}function An(pe){return yt(pe,17)^yt(pe,19)^Gt(pe,10)}var Vn=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 tn(pe,ot){var ht=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),Kt=new Array(64),cr,dr,ur,Rr,Xr,$r,Kr,Hn,Cn,fn,Sr,Ut;for(pe[ot>>5]|=128<<24-ot%32,pe[(ot+64>>9<<4)+15]=ot,Cn=0;Cn>16)+(ot>>16)+(ht>>16);return Kt<<16|ht&65535}function dn(pe){return Array.prototype.slice.call(pe)}function Wr(pe){return dn(pe).join("")}function ea(pe){var ot=pe&&pe.cache,ht=0,Kt=[],cr=[],dr=[];function ur(Sr,Ut){var pr=Ut&&Ut.stable;if(!pr){for(var Ir=0;Ir0&&(Sr.push(Zr,"="),Sr.push.apply(Sr,dn(arguments)),Sr.push(";")),Zr}return e(Ut,{def:Ir,toString:function(){return Wr([pr.length>0?"var "+pr.join(",")+";":"",Wr(Sr)])}})}function Xr(){var Sr=Rr(),Ut=Rr(),pr=Sr.toString,Ir=Ut.toString;function Zr(Cr,hn){Ut(Cr,hn,"=",Sr.def(Cr,hn),";")}return e(function(){Sr.apply(Sr,dn(arguments))},{def:Sr.def,entry:Sr,exit:Ut,save:Zr,set:function(Cr,hn,sn){Zr(Cr,hn),Sr(Cr,hn,"=",sn,";")},toString:function(){return pr()+Ir()}})}function $r(){var Sr=Wr(arguments),Ut=Xr(),pr=Xr(),Ir=Ut.toString,Zr=pr.toString;return e(Ut,{then:function(){return Ut.apply(Ut,dn(arguments)),this},else:function(){return pr.apply(pr,dn(arguments)),this},toString:function(){var Cr=Zr();return Cr&&(Cr="else{"+Cr+"}"),Wr(["if(",Sr,"){",Ir(),"}",Cr])}})}var Kr=Rr(),Hn={};function Cn(Sr,Ut){var pr=[];function Ir(){var Gn="a"+pr.length;return pr.push(Gn),Gn}Ut=Ut||0;for(var Zr=0;Zr":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},ii={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},di={cw:Te,ccw:qe};function Li(Me){return Array.isArray(Me)||qr(Me)||jr(Me)}function Ti(Me){return Me.sort(function(bt,Ot){return bt===ee?-1:Ot===ee?1:bt=1,Lr>=2,bt)}else if(Ot===Zo){var Vr=Me.data;return new Qr(Vr.thisDep,Vr.contextDep,Vr.propDep,bt)}else{if(Ot===Ss)return new Qr(!1,!1,!1,bt);if(Ot===as){for(var Or=!1,Nr=!1,vi=!1,Ni=0;Ni=1&&(Nr=!0),Si>=2&&(vi=!0)}else qi.type===Zo&&(Or=Or||qi.data.thisDep,Nr=Nr||qi.data.contextDep,vi=vi||qi.data.propDep)}return new Qr(Or,Nr,vi,bt)}else return new Qr(Ot===bo,Ot===Ka,Ot===Dn,bt)}}var na=new Qr(!1,!1,!1,function(){});function Ea(Me,bt,Ot,Lr,Vr,Or,Nr,vi,Ni,qi,Si,Vn,Qi,ji,oi,Tr){var Zr=qi.Record,yi={add:32774,subtract:32778,"reverse subtract":32779};Ot.ext_blend_minmax&&(yi.min=Ve,yi.max=Ye);var Ii=Ot.angle_instanced_arrays,ui=Ot.webgl_draw_buffers,nn=Ot.oes_vertex_array_object,Xi={dirty:!0,profile:Tr.profile},qn={},fi=[],si={},mn={};function Ji(Ne){return Ne.replace(".","_")}function Ui(Ne,$e,st){var It=Ji(Ne);fi.push(Ne),qn[It]=Xi[It]=!!st,si[It]=$e}function Bi(Ne,$e,st){var It=Ji(Ne);fi.push(Ne),Array.isArray(st)?(Xi[It]=st.slice(),qn[It]=st.slice()):Xi[It]=qn[It]=st,mn[It]=$e}function pn(Ne){return!!isNaN(Ne)}Ui(ws,Ci),Ui(Ho,ri),Bi(ml,"blendColor",[0,0,0,0]),Bi(Ws,"blendEquationSeparate",[pr,pr]),Bi(Ls,"blendFuncSeparate",[dr,Xt,dr,Xt]),Ui(va,sn,!0),Bi(no,"depthFunc",Ur),Bi(ys,"depthRange",[0,1]),Bi(rs,"depthMask",!0),Bi(Ql,Ql,[!0,!0,!0,!0]),Ui(Cu,Hr),Bi(Yu,"cullFace",se),Bi(Nc,Nc,qe),Bi(pu,pu,1),Ui(Uc,Yn),Bi(xu,"polygonOffset",[0,0]),Ui(Ac,Aa),Ui(Va,fa),Bi(oo,"sampleCoverage",[1,!1]),Ui(Vc,cn),Bi(hc,"stencilMask",-1),Bi(Ku,"stencilFunc",[Pt,0,-1]),Bi(ue,"stencilOpSeparate",[X,ot,ot,ot]),Bi(w,"stencilOpSeparate",[se,ot,ot,ot]),Ui(B,Ln),Bi(Q,"scissor",[0,0,Me.drawingBufferWidth,Me.drawingBufferHeight]),Bi(ee,ee,[0,0,Me.drawingBufferWidth,Me.drawingBufferHeight]);var Nn={gl:Me,context:Qi,strings:bt,next:qn,current:Xi,draw:Vn,elements:Or,buffer:Vr,shader:Si,attributes:qi.state,vao:qi,uniforms:Ni,framebuffer:vi,extensions:Ot,timer:ji,isBufferArgs:Li},aa={primTypes:Mn,compareFuncs:Wr,blendFuncs:xi,blendEquations:yi,stencilOps:ii,glTypes:un,orientationType:di};ui&&(aa.backBuffer=[se],aa.drawBuffer=S(Lr.maxDrawbuffers,function(Ne){return Ne===0?[0]:S(Ne,function($e){return gi+$e})}));var Ki=0;function Cn(){var Ne=ta({cache:oi}),$e=Ne.link,st=Ne.global;Ne.id=Ki++,Ne.batchId="0";var It=$e(Nn),Bt=Ne.shared={props:"a0"};Object.keys(Nn).forEach(function(Dt){Bt[Dt]=st.def(It,".",Dt)});var Ft=Ne.next={},Ut=Ne.current={};Object.keys(mn).forEach(function(Dt){Array.isArray(Xi[Dt])&&(Ft[Dt]=st.def(Bt.next,".",Dt),Ut[Dt]=st.def(Bt.current,".",Dt))});var zt=Ne.constants={};Object.keys(aa).forEach(function(Dt){zt[Dt]=st.def(JSON.stringify(aa[Dt]))}),Ne.invoke=function(Dt,vt){switch(vt.type){case Zn:var lr=["this",Bt.context,Bt.props,Ne.batchId];return Dt.def($e(vt.data),".call(",lr.slice(0,Math.max(vt.data.length+1,4)),")");case Dn:return Dt.def(Bt.props,vt.data);case Ka:return Dt.def(Bt.context,vt.data);case bo:return Dt.def("this",vt.data);case Zo:return vt.data.append(Ne,Dt),vt.data.ref;case Ss:return vt.data.toString();case as:return vt.data.map(function(_r){return Ne.invoke(Dt,_r)})}},Ne.attribCache={};var _t={};return Ne.scopeAttrib=function(Dt){var vt=bt.id(Dt);if(vt in _t)return _t[vt];var lr=qi.scope[vt];lr||(lr=qi.scope[vt]=new Zr);var _r=_t[vt]=$e(lr);return _r},Ne}function ia(Ne){var $e=Ne.static,st=Ne.dynamic,It;if(le in $e){var Bt=!!$e[le];It=kn(function(Ut,zt){return Bt}),It.enable=Bt}else if(le in st){var Ft=st[le];It=Bn(Ft,function(Ut,zt){return Ut.invoke(zt,Ft)})}return It}function sa(Ne,$e){var st=Ne.static,It=Ne.dynamic;if(Fe in st){var Bt=st[Fe];return Bt?(Bt=vi.getFramebuffer(Bt),kn(function(Ut,zt){var _t=Ut.link(Bt),Dt=Ut.shared;zt.set(Dt.framebuffer,".next",_t);var vt=Dt.context;return zt.set(vt,"."+ze,_t+".width"),zt.set(vt,"."+Qe,_t+".height"),_t})):kn(function(Ut,zt){var _t=Ut.shared;zt.set(_t.framebuffer,".next","null");var Dt=_t.context;return zt.set(Dt,"."+ze,Dt+"."+Wt),zt.set(Dt,"."+Qe,Dt+"."+nr),"null"})}else if(Fe in It){var Ft=It[Fe];return Bn(Ft,function(Ut,zt){var _t=Ut.invoke(zt,Ft),Dt=Ut.shared,vt=Dt.framebuffer,lr=zt.def(vt,".getFramebuffer(",_t,")");zt.set(vt,".next",lr);var _r=Dt.context;return zt.set(_r,"."+ze,lr+"?"+lr+".width:"+_r+"."+Wt),zt.set(_r,"."+Qe,lr+"?"+lr+".height:"+_r+"."+nr),lr})}else return null}function ba(Ne,$e,st){var It=Ne.static,Bt=Ne.dynamic;function Ft(_t){if(_t in It){var Dt=It[_t],vt=!0,lr=Dt.x|0,_r=Dt.y|0,Br,Di;return"width"in Dt?Br=Dt.width|0:vt=!1,"height"in Dt?Di=Dt.height|0:vt=!1,new Qr(!vt&&$e&&$e.thisDep,!vt&&$e&&$e.contextDep,!vt&&$e&&$e.propDep,function(gn,tn){var Ei=gn.shared.context,Oi=Br;"width"in Dt||(Oi=tn.def(Ei,".",ze,"-",lr));var Gi=Di;return"height"in Dt||(Gi=tn.def(Ei,".",Qe,"-",_r)),[lr,_r,Oi,Gi]})}else if(_t in Bt){var ci=Bt[_t],bi=Bn(ci,function(gn,tn){var Ei=gn.invoke(tn,ci),Oi=gn.shared.context,Gi=tn.def(Ei,".x|0"),on=tn.def(Ei,".y|0"),zn=tn.def('"width" in ',Ei,"?",Ei,".width|0:","(",Oi,".",ze,"-",Gi,")"),Ja=tn.def('"height" in ',Ei,"?",Ei,".height|0:","(",Oi,".",Qe,"-",on,")");return[Gi,on,zn,Ja]});return $e&&(bi.thisDep=bi.thisDep||$e.thisDep,bi.contextDep=bi.contextDep||$e.contextDep,bi.propDep=bi.propDep||$e.propDep),bi}else return $e?new Qr($e.thisDep,$e.contextDep,$e.propDep,function(gn,tn){var Ei=gn.shared.context;return[0,0,tn.def(Ei,".",ze),tn.def(Ei,".",Qe)]}):null}var Ut=Ft(ee);if(Ut){var zt=Ut;Ut=new Qr(Ut.thisDep,Ut.contextDep,Ut.propDep,function(_t,Dt){var vt=zt.append(_t,Dt),lr=_t.shared.context;return Dt.set(lr,"."+Xe,vt[2]),Dt.set(lr,"."+nt,vt[3]),vt})}return{viewport:Ut,scissor_box:Ft(Q)}}function is(Ne,$e){var st=Ne.static,It=typeof st[ut]=="string"&&typeof st[Ze]=="string";if(It){if(Object.keys($e.dynamic).length>0)return null;var Bt=$e.static,Ft=Object.keys(Bt);if(Ft.length>0&&typeof Bt[Ft[0]]=="number"){for(var Ut=[],zt=0;zt"+Gi+"?"+vt+".constant["+Gi+"]:0;"}).join(""),"}}else{","if(",Br,"(",vt,".buffer)){",gn,"=",Di,".createStream(",br,",",vt,".buffer);","}else{",gn,"=",Di,".getBuffer(",vt,".buffer);","}",tn,'="type" in ',vt,"?",_r.glTypes,"[",vt,".type]:",gn,".dtype;",ci.normalized,"=!!",vt,".normalized;");function Ei(Oi){Dt(ci[Oi],"=",vt,".",Oi,"|0;")}return Ei("size"),Ei("offset"),Ei("stride"),Ei("divisor"),Dt("}}"),Dt.exit("if(",ci.isStream,"){",Di,".destroyStream(",gn,");","}"),ci}Bt[Ft]=Bn(Ut,zt)}),Bt}function al(Ne){var $e=Ne.static,st=Ne.dynamic,It={};return Object.keys($e).forEach(function(Bt){var Ft=$e[Bt];It[Bt]=kn(function(Ut,zt){return typeof Ft=="number"||typeof Ft=="boolean"?""+Ft:Ut.link(Ft)})}),Object.keys(st).forEach(function(Bt){var Ft=st[Bt];It[Bt]=Bn(Ft,function(Ut,zt){return Ut.invoke(zt,Ft)})}),It}function Vl(Ne,$e,st,It,Bt){var Ft=Ne.static,Ut=Ne.dynamic,zt=is(Ne,$e),_t=sa(Ne,Bt),Dt=ba(Ne,_t,Bt),vt=Ga(Ne,Bt),lr=Ml(Ne,Bt),_r=Zs(Ne,Bt,zt);function Br(Ei){var Oi=Dt[Ei];Oi&&(lr[Ei]=Oi)}Br(ee),Br(Ji(Q));var Di=Object.keys(lr).length>0,ci={framebuffer:_t,draw:vt,shader:_r,state:lr,dirty:Di,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(ci.profile=ia(Ne,Bt),ci.uniforms=zo(st,Bt),ci.drawVAO=ci.scopeVAO=vt.vao,!ci.drawVAO&&_r.program&&!zt&&Ot.angle_instanced_arrays&&vt.static.elements){var bi=!0,gn=_r.program.attributes.map(function(Ei){var Oi=$e.static[Ei];return bi=bi&&!!Oi,Oi});if(bi&&gn.length>0){var tn=qi.getVAO(qi.createVAO({attributes:gn,elements:vt.static.elements}));ci.drawVAO=new Qr(null,null,null,function(Ei,Oi){return Ei.link(tn)}),ci.useVAO=!0}}return zt?ci.useVAO=!0:ci.attributes=Qs($e,Bt),ci.context=al(It,Bt),ci}function ss(Ne,$e,st){var It=Ne.shared,Bt=It.context,Ft=Ne.scope();Object.keys(st).forEach(function(Ut){$e.save(Bt,"."+Ut);var zt=st[Ut],_t=zt.append(Ne,$e);Array.isArray(_t)?Ft(Bt,".",Ut,"=[",_t.join(),"];"):Ft(Bt,".",Ut,"=",_t,";")}),$e(Ft)}function Vs(Ne,$e,st,It){var Bt=Ne.shared,Ft=Bt.gl,Ut=Bt.framebuffer,zt;ui&&(zt=$e.def(Bt.extensions,".webgl_draw_buffers"));var _t=Ne.constants,Dt=_t.drawBuffer,vt=_t.backBuffer,lr;st?lr=st.append(Ne,$e):lr=$e.def(Ut,".next"),It||$e("if(",lr,"!==",Ut,".cur){"),$e("if(",lr,"){",Ft,".bindFramebuffer(",zr,",",lr,".framebuffer);"),ui&&$e(zt,".drawBuffersWEBGL(",Dt,"[",lr,".colorAttachments.length]);"),$e("}else{",Ft,".bindFramebuffer(",zr,",null);"),ui&&$e(zt,".drawBuffersWEBGL(",vt,");"),$e("}",Ut,".cur=",lr,";"),It||$e("}")}function Ys(Ne,$e,st){var It=Ne.shared,Bt=It.gl,Ft=Ne.current,Ut=Ne.next,zt=It.current,_t=It.next,Dt=Ne.cond(zt,".dirty");fi.forEach(function(vt){var lr=Ji(vt);if(!(lr in st.state)){var _r,Br;if(lr in Ut){_r=Ut[lr],Br=Ft[lr];var Di=S(Xi[lr].length,function(bi){return Dt.def(_r,"[",bi,"]")});Dt(Ne.cond(Di.map(function(bi,gn){return bi+"!=="+Br+"["+gn+"]"}).join("||")).then(Bt,".",mn[lr],"(",Di,");",Di.map(function(bi,gn){return Br+"["+gn+"]="+bi}).join(";"),";"))}else{_r=Dt.def(_t,".",lr);var ci=Ne.cond(_r,"!==",zt,".",lr);Dt(ci),lr in si?ci(Ne.cond(_r).then(Bt,".enable(",si[lr],");").else(Bt,".disable(",si[lr],");"),zt,".",lr,"=",_r,";"):ci(Bt,".",mn[lr],"(",_r,");",zt,".",lr,"=",_r,";")}}}),Object.keys(st.state).length===0&&Dt(zt,".dirty=false;"),$e(Dt)}function wa(Ne,$e,st,It){var Bt=Ne.shared,Ft=Ne.current,Ut=Bt.current,zt=Bt.gl,_t;Ti(Object.keys(st)).forEach(function(Dt){var vt=st[Dt];if(!(It&&!It(vt))){var lr=vt.append(Ne,$e);if(si[Dt]){var _r=si[Dt];Pn(vt)?(_t=Ne.link(lr,{stable:!0}),$e(Ne.cond(_t).then(zt,".enable(",_r,");").else(zt,".disable(",_r,");")),$e(Ut,".",Dt,"=",_t,";")):($e(Ne.cond(lr).then(zt,".enable(",_r,");").else(zt,".disable(",_r,");")),$e(Ut,".",Dt,"=",lr,";"))}else if(En(lr)){var Br=Ft[Dt];$e(zt,".",mn[Dt],"(",lr,");",lr.map(function(Di,ci){return Br+"["+ci+"]="+Di}).join(";"),";")}else Pn(vt)?(_t=Ne.link(lr,{stable:!0}),$e(zt,".",mn[Dt],"(",_t,");",Ut,".",Dt,"=",_t,";")):$e(zt,".",mn[Dt],"(",lr,");",Ut,".",Dt,"=",lr,";")}})}function ol(Ne,$e){Ii&&(Ne.instancing=$e.def(Ne.shared.extensions,".angle_instanced_arrays"))}function io(Ne,$e,st,It,Bt){var Ft=Ne.shared,Ut=Ne.stats,zt=Ft.current,_t=Ft.timer,Dt=st.profile;function vt(){return typeof performance=="undefined"?"Date.now()":"performance.now()"}var lr,_r;function Br(Ei){lr=$e.def(),Ei(lr,"=",vt(),";"),typeof Bt=="string"?Ei(Ut,".count+=",Bt,";"):Ei(Ut,".count++;"),ji&&(It?(_r=$e.def(),Ei(_r,"=",_t,".getNumPendingQueries();")):Ei(_t,".beginQuery(",Ut,");"))}function Di(Ei){Ei(Ut,".cpuTime+=",vt(),"-",lr,";"),ji&&(It?Ei(_t,".pushScopeStats(",_r,",",_t,".getNumPendingQueries(),",Ut,");"):Ei(_t,".endQuery();"))}function ci(Ei){var Oi=$e.def(zt,".profile");$e(zt,".profile=",Ei,";"),$e.exit(zt,".profile=",Oi,";")}var bi;if(Dt){if(Pn(Dt)){Dt.enable?(Br($e),Di($e.exit),ci("true")):ci("false");return}bi=Dt.append(Ne,$e),ci(bi)}else bi=$e.def(zt,".profile");var gn=Ne.block();Br(gn),$e("if(",bi,"){",gn,"}");var tn=Ne.block();Di(tn),$e.exit("if(",bi,"){",tn,"}")}function Y(Ne,$e,st,It,Bt){var Ft=Ne.shared;function Ut(_t){switch(_t){case Co:case Ps:case hl:return 2;case Qa:case Ts:case Ul:return 3;case mo:case wo:case Lu:return 4;default:return 1}}function zt(_t,Dt,vt){var lr=Ft.gl,_r=$e.def(_t,".location"),Br=$e.def(Ft.attributes,"[",_r,"]"),Di=vt.state,ci=vt.buffer,bi=[vt.x,vt.y,vt.z,vt.w],gn=["buffer","normalized","offset","stride"];function tn(){$e("if(!",Br,".buffer){",lr,".enableVertexAttribArray(",_r,");}");var Oi=vt.type,Gi;if(vt.size?Gi=$e.def(vt.size,"||",Dt):Gi=Dt,$e("if(",Br,".type!==",Oi,"||",Br,".size!==",Gi,"||",gn.map(function(zn){return Br+"."+zn+"!=="+vt[zn]}).join("||"),"){",lr,".bindBuffer(",br,",",ci,".buffer);",lr,".vertexAttribPointer(",[_r,Gi,Oi,vt.normalized,vt.stride,vt.offset],");",Br,".type=",Oi,";",Br,".size=",Gi,";",gn.map(function(zn){return Br+"."+zn+"="+vt[zn]+";"}).join(""),"}"),Ii){var on=vt.divisor;$e("if(",Br,".divisor!==",on,"){",Ne.instancing,".vertexAttribDivisorANGLE(",[_r,on],");",Br,".divisor=",on,";}")}}function Ei(){$e("if(",Br,".buffer){",lr,".disableVertexAttribArray(",_r,");",Br,".buffer=null;","}if(",Ca.map(function(Oi,Gi){return Br+"."+Oi+"!=="+bi[Gi]}).join("||"),"){",lr,".vertexAttrib4f(",_r,",",bi,");",Ca.map(function(Oi,Gi){return Br+"."+Oi+"="+bi[Gi]+";"}).join(""),"}")}Di===La?tn():Di===Ua?Ei():($e("if(",Di,"===",La,"){"),tn(),$e("}else{"),Ei(),$e("}"))}It.forEach(function(_t){var Dt=_t.name,vt=st.attributes[Dt],lr;if(vt){if(!Bt(vt))return;lr=vt.append(Ne,$e)}else{if(!Bt(na))return;var _r=Ne.scopeAttrib(Dt);lr={},Object.keys(new Zr).forEach(function(Br){lr[Br]=$e.def(_r,".",Br)})}zt(Ne.link(_t),Ut(_t.info.type),lr)})}function D(Ne,$e,st,It,Bt,Ft){for(var Ut=Ne.shared,zt=Ut.gl,_t,Dt=0;Dt1){for(var co=[],ts=[],so=0;so>1)",ci],");")}function on(){st(bi,".drawArraysInstancedANGLE(",[_r,Br,Di,ci],");")}vt&&vt!=="null"?tn?Gi():(st("if(",vt,"){"),Gi(),st("}else{"),on(),st("}")):on()}function Oi(){function Gi(){st(Ft+".drawElements("+[_r,Di,gn,Br+"<<(("+gn+"-"+Ra+")>>1)"]+");")}function on(){st(Ft+".drawArrays("+[_r,Br,Di]+");")}vt&&vt!=="null"?tn?Gi():(st("if(",vt,"){"),Gi(),st("}else{"),on(),st("}")):on()}Ii&&(typeof ci!="number"||ci>=0)?typeof ci=="string"?(st("if(",ci,">0){"),Ei(),st("}else if(",ci,"<0){"),Oi(),st("}")):Ei():Oi()}function O(Ne,$e,st,It,Bt){var Ft=Cn(),Ut=Ft.proc("body",Bt);return Ii&&(Ft.instancing=Ut.def(Ft.shared.extensions,".angle_instanced_arrays")),Ne(Ft,Ut,st,It),Ft.compile().body}function K(Ne,$e,st,It){ol(Ne,$e),st.useVAO?st.drawVAO?$e(Ne.shared.vao,".setVAO(",st.drawVAO.append(Ne,$e),");"):$e(Ne.shared.vao,".setVAO(",Ne.shared.vao,".targetVAO);"):($e(Ne.shared.vao,".setVAO(null);"),Y(Ne,$e,st,It.attributes,function(){return!0})),D(Ne,$e,st,It.uniforms,function(){return!0},!1),J(Ne,$e,$e,st)}function de(Ne,$e){var st=Ne.proc("draw",1);ol(Ne,st),ss(Ne,st,$e.context),Vs(Ne,st,$e.framebuffer),Ys(Ne,st,$e),wa(Ne,st,$e.state),io(Ne,st,$e,!1,!0);var It=$e.shader.progVar.append(Ne,st);if(st(Ne.shared.gl,".useProgram(",It,".program);"),$e.shader.program)K(Ne,st,$e,$e.shader.program);else{st(Ne.shared.vao,".setVAO(null);");var Bt=Ne.global.def("{}"),Ft=st.def(It,".id"),Ut=st.def(Bt,"[",Ft,"]");st(Ne.cond(Ut).then(Ut,".call(this,a0);").else(Ut,"=",Bt,"[",Ft,"]=",Ne.link(function(zt){return O(K,Ne,$e,zt,1)}),"(",It,");",Ut,".call(this,a0);"))}Object.keys($e.state).length>0&&st(Ne.shared.current,".dirty=true;"),Ne.shared.vao&&st(Ne.shared.vao,".setVAO(null);")}function ne(Ne,$e,st,It){Ne.batchId="a1",ol(Ne,$e);function Bt(){return!0}Y(Ne,$e,st,It.attributes,Bt),D(Ne,$e,st,It.uniforms,Bt,!1),J(Ne,$e,$e,st)}function we(Ne,$e,st,It){ol(Ne,$e);var Bt=st.contextDep,Ft=$e.def(),Ut="a0",zt="a1",_t=$e.def();Ne.shared.props=_t,Ne.batchId=Ft;var Dt=Ne.scope(),vt=Ne.scope();$e(Dt.entry,"for(",Ft,"=0;",Ft,"<",zt,";++",Ft,"){",_t,"=",Ut,"[",Ft,"];",vt,"}",Dt.exit);function lr(gn){return gn.contextDep&&Bt||gn.propDep}function _r(gn){return!lr(gn)}if(st.needsContext&&ss(Ne,vt,st.context),st.needsFramebuffer&&Vs(Ne,vt,st.framebuffer),wa(Ne,vt,st.state,lr),st.profile&&lr(st.profile)&&io(Ne,vt,st,!1,!0),It)st.useVAO?st.drawVAO?lr(st.drawVAO)?vt(Ne.shared.vao,".setVAO(",st.drawVAO.append(Ne,vt),");"):Dt(Ne.shared.vao,".setVAO(",st.drawVAO.append(Ne,Dt),");"):Dt(Ne.shared.vao,".setVAO(",Ne.shared.vao,".targetVAO);"):(Dt(Ne.shared.vao,".setVAO(null);"),Y(Ne,Dt,st,It.attributes,_r),Y(Ne,vt,st,It.attributes,lr)),D(Ne,Dt,st,It.uniforms,_r,!1),D(Ne,vt,st,It.uniforms,lr,!0),J(Ne,Dt,vt,st);else{var Br=Ne.global.def("{}"),Di=st.shader.progVar.append(Ne,vt),ci=vt.def(Di,".id"),bi=vt.def(Br,"[",ci,"]");vt(Ne.shared.gl,".useProgram(",Di,".program);","if(!",bi,"){",bi,"=",Br,"[",ci,"]=",Ne.link(function(gn){return O(ne,Ne,st,gn,2)}),"(",Di,");}",bi,".call(this,a0[",Ft,"],",Ft,");")}}function Oe(Ne,$e){var st=Ne.proc("batch",2);Ne.batchId="0",ol(Ne,st);var It=!1,Bt=!0;Object.keys($e.context).forEach(function(Br){It=It||$e.context[Br].propDep}),It||(ss(Ne,st,$e.context),Bt=!1);var Ft=$e.framebuffer,Ut=!1;Ft?(Ft.propDep?It=Ut=!0:Ft.contextDep&&It&&(Ut=!0),Ut||Vs(Ne,st,Ft)):Vs(Ne,st,null),$e.state.viewport&&$e.state.viewport.propDep&&(It=!0);function zt(Br){return Br.contextDep&&It||Br.propDep}Ys(Ne,st,$e),wa(Ne,st,$e.state,function(Br){return!zt(Br)}),(!$e.profile||!zt($e.profile))&&io(Ne,st,$e,!1,"a1"),$e.contextDep=It,$e.needsContext=Bt,$e.needsFramebuffer=Ut;var _t=$e.shader.progVar;if(_t.contextDep&&It||_t.propDep)we(Ne,st,$e,null);else{var Dt=_t.append(Ne,st);if(st(Ne.shared.gl,".useProgram(",Dt,".program);"),$e.shader.program)we(Ne,st,$e,$e.shader.program);else{st(Ne.shared.vao,".setVAO(null);");var vt=Ne.global.def("{}"),lr=st.def(Dt,".id"),_r=st.def(vt,"[",lr,"]");st(Ne.cond(_r).then(_r,".call(this,a0,a1);").else(_r,"=",vt,"[",lr,"]=",Ne.link(function(Br){return O(we,Ne,$e,Br,2)}),"(",Dt,");",_r,".call(this,a0,a1);"))}}Object.keys($e.state).length>0&&st(Ne.shared.current,".dirty=true;"),Ne.shared.vao&&st(Ne.shared.vao,".setVAO(null);")}function ht(Ne,$e){var st=Ne.proc("scope",3);Ne.batchId="a2";var It=Ne.shared,Bt=It.current;if(ss(Ne,st,$e.context),$e.framebuffer&&$e.framebuffer.append(Ne,st),Ti(Object.keys($e.state)).forEach(function(zt){var _t=$e.state[zt],Dt=_t.append(Ne,st);En(Dt)?Dt.forEach(function(vt,lr){pn(vt)?st.set(Ne.next[zt],"["+lr+"]",vt):st.set(Ne.next[zt],"["+lr+"]",Ne.link(vt,{stable:!0}))}):Pn(_t)?st.set(It.next,"."+zt,Ne.link(Dt,{stable:!0})):st.set(It.next,"."+zt,Dt)}),io(Ne,st,$e,!0,!0),[Mt,yr,$t,Cr,Jt].forEach(function(zt){var _t=$e.draw[zt];if(_t){var Dt=_t.append(Ne,st);pn(Dt)?st.set(It.draw,"."+zt,Dt):st.set(It.draw,"."+zt,Ne.link(Dt),{stable:!0})}}),Object.keys($e.uniforms).forEach(function(zt){var _t=$e.uniforms[zt].append(Ne,st);Array.isArray(_t)&&(_t="["+_t.map(function(Dt){return pn(Dt)?Dt:Ne.link(Dt,{stable:!0})})+"]"),st.set(It.uniforms,"["+Ne.link(bt.id(zt),{stable:!0})+"]",_t)}),Object.keys($e.attributes).forEach(function(zt){var _t=$e.attributes[zt].append(Ne,st),Dt=Ne.scopeAttrib(zt);Object.keys(new Zr).forEach(function(vt){st.set(Dt,"."+vt,_t[vt])})}),$e.scopeVAO){var Ft=$e.scopeVAO.append(Ne,st);pn(Ft)?st.set(It.vao,".targetVAO",Ft):st.set(It.vao,".targetVAO",Ne.link(Ft,{stable:!0}))}function Ut(zt){var _t=$e.shader[zt];if(_t){var Dt=_t.append(Ne,st);pn(Dt)?st.set(It.shader,"."+zt,Dt):st.set(It.shader,"."+zt,Ne.link(Dt,{stable:!0}))}}Ut(Ze),Ut(ut),Object.keys($e.state).length>0&&(st(Bt,".dirty=true;"),st.exit(Bt,".dirty=true;")),st("a1(",Ne.shared.context,",a0,",Ne.batchId,");")}function Yt(Ne){if(!(typeof Ne!="object"||En(Ne))){for(var $e=Object.keys(Ne),st=0;st<$e.length;++st)if(h.isDynamic(Ne[$e[st]]))return!0;return!1}}function cr(Ne,$e,st){var It=$e.static[st];if(!It||!Yt(It))return;var Bt=Ne.global,Ft=Object.keys(It),Ut=!1,zt=!1,_t=!1,Dt=Ne.global.def("{}");Ft.forEach(function(lr){var _r=It[lr];if(h.isDynamic(_r)){typeof _r=="function"&&(_r=It[lr]=h.unbox(_r));var Br=Bn(_r,null);Ut=Ut||Br.thisDep,_t=_t||Br.propDep,zt=zt||Br.contextDep}else{switch(Bt(Dt,".",lr,"="),typeof _r){case"number":Bt(_r);break;case"string":Bt('"',_r,'"');break;case"object":Array.isArray(_r)&&Bt("[",_r.join(),"]");break;default:Bt(Ne.link(_r));break}Bt(";")}});function vt(lr,_r){Ft.forEach(function(Br){var Di=It[Br];if(h.isDynamic(Di)){var ci=lr.invoke(_r,Di);_r(Dt,".",Br,"=",ci,";")}})}$e.dynamic[st]=new h.DynamicVariable(Zo,{thisDep:Ut,contextDep:zt,propDep:_t,ref:Dt,append:vt}),delete $e.static[st]}function Nt(Ne,$e,st,It,Bt){var Ft=Cn();Ft.stats=Ft.link(Bt),Object.keys($e.static).forEach(function(zt){cr(Ft,$e,zt)}),fr.forEach(function(zt){cr(Ft,Ne,zt)});var Ut=Vl(Ne,$e,st,It,Ft);return Ut.shader.program&&(Ut.shader.program.attributes.sort(function(zt,_t){return zt.name<_t.name?-1:1}),Ut.shader.program.uniforms.sort(function(zt,_t){return zt.name<_t.name?-1:1})),de(Ft,Ut),ht(Ft,Ut),Oe(Ft,Ut),e(Ft.compile(),{destroy:function(){Ut.shader.program.destroy()}})}return{next:qn,current:Xi,procs:function(){var Ne=Cn(),$e=Ne.proc("poll"),st=Ne.proc("refresh"),It=Ne.block();$e(It),st(It);var Bt=Ne.shared,Ft=Bt.gl,Ut=Bt.next,zt=Bt.current;It(zt,".dirty=false;"),Vs(Ne,$e),Vs(Ne,st,null,!0);var _t;Ii&&(_t=Ne.link(Ii)),Ot.oes_vertex_array_object&&st(Ne.link(Ot.oes_vertex_array_object),".bindVertexArrayOES(null);");var Dt=st.def(Bt.attributes),vt=st.def(0),lr=Ne.cond(vt,".buffer");lr.then(Ft,".enableVertexAttribArray(i);",Ft,".bindBuffer(",br,",",vt,".buffer.buffer);",Ft,".vertexAttribPointer(i,",vt,".size,",vt,".type,",vt,".normalized,",vt,".stride,",vt,".offset);").else(Ft,".disableVertexAttribArray(i);",Ft,".vertexAttrib4f(i,",vt,".x,",vt,".y,",vt,".z,",vt,".w);",vt,".buffer=null;");var _r=Ne.link(Lr.maxAttributes,{stable:!0});return st("for(var i=0;i<",_r,";++i){",vt,"=",Dt,"[i];",lr,"}"),Ii&&st("for(var i=0;i<",_r,";++i){",_t,".vertexAttribDivisorANGLE(i,",Dt,"[i].divisor);","}"),st(Ne.shared.vao,".currentVAO=null;",Ne.shared.vao,".setVAO(",Ne.shared.vao,".targetVAO);"),Object.keys(si).forEach(function(Br){var Di=si[Br],ci=It.def(Ut,".",Br),bi=Ne.block();bi("if(",ci,"){",Ft,".enable(",Di,")}else{",Ft,".disable(",Di,")}",zt,".",Br,"=",ci,";"),st(bi),$e("if(",ci,"!==",zt,".",Br,"){",bi,"}")}),Object.keys(mn).forEach(function(Br){var Di=mn[Br],ci=Xi[Br],bi,gn,tn=Ne.block();if(tn(Ft,".",Di,"("),En(ci)){var Ei=ci.length;bi=Ne.global.def(Ut,".",Br),gn=Ne.global.def(zt,".",Br),tn(S(Ei,function(Oi){return bi+"["+Oi+"]"}),");",S(Ei,function(Oi){return gn+"["+Oi+"]="+bi+"["+Oi+"];"}).join("")),$e("if(",S(Ei,function(Oi){return bi+"["+Oi+"]!=="+gn+"["+Oi+"]"}).join("||"),"){",tn,"}")}else bi=It.def(Ut,".",Br),gn=It.def(zt,".",Br),tn(bi,");",zt,".",Br,"=",bi,";"),$e("if(",bi,"!==",gn,"){",tn,"}");st(tn)}),Ne.compile()}(),compile:Nt}}function Ia(){return{vaoCount:0,bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0}}var yo=34918,Da=34919,go=35007,Is=function(Me,bt){if(!bt.ext_disjoint_timer_query)return null;var Ot=[];function Lr(){return Ot.pop()||bt.ext_disjoint_timer_query.createQueryEXT()}function Vr(yi){Ot.push(yi)}var Or=[];function Nr(yi){var Ii=Lr();bt.ext_disjoint_timer_query.beginQueryEXT(go,Ii),Or.push(Ii),ji(Or.length-1,Or.length,yi)}function vi(){bt.ext_disjoint_timer_query.endQueryEXT(go)}function Ni(){this.startQueryIndex=-1,this.endQueryIndex=-1,this.sum=0,this.stats=null}var qi=[];function Si(){return qi.pop()||new Ni}function Vn(yi){qi.push(yi)}var Qi=[];function ji(yi,Ii,ui){var nn=Si();nn.startQueryIndex=yi,nn.endQueryIndex=Ii,nn.sum=0,nn.stats=ui,Qi.push(nn)}var oi=[],Tr=[];function Zr(){var yi,Ii,ui=Or.length;if(ui!==0){Tr.length=Math.max(Tr.length,ui+1),oi.length=Math.max(oi.length,ui+1),oi[0]=0,Tr[0]=0;var nn=0;for(yi=0,Ii=0;Ii=0;--O){var K=Nn[O];K&&K(oi,null,0)}Ot.flush(),Si&&Si.update()}function ba(){!ia&&Nn.length>0&&(ia=d.next(sa))}function is(){ia&&(d.cancel(sa),ia=null)}function Zs(O){O.preventDefault(),Vr=!0,is(),aa.forEach(function(K){K()})}function Ga(O){Ot.getError(),Vr=!1,Or.restore(),qn.restore(),Ii.restore(),fi.restore(),si.restore(),mn.restore(),nn.restore(),Si&&Si.restore(),Ji.procs.refresh(),ba(),Ki.forEach(function(K){K()})}pn&&(pn.addEventListener(Fo,Zs,!1),pn.addEventListener(Uo,Ga,!1));function Ml(){Nn.length=0,is(),pn&&(pn.removeEventListener(Fo,Zs),pn.removeEventListener(Uo,Ga)),qn.clear(),mn.clear(),si.clear(),nn.clear(),fi.clear(),ui.clear(),Ii.clear(),Si&&Si.clear(),Cn.forEach(function(O){O()})}function zo(O){function K(Ft){var Ut=e({},Ft);delete Ut.uniforms,delete Ut.attributes,delete Ut.context,delete Ut.vao,"stencil"in Ut&&Ut.stencil.op&&(Ut.stencil.opBack=Ut.stencil.opFront=Ut.stencil.op,delete Ut.stencil.op);function zt(_t){if(_t in Ut){var Dt=Ut[_t];delete Ut[_t],Object.keys(Dt).forEach(function(vt){Ut[_t+"."+vt]=Dt[vt]})}}return zt("blend"),zt("depth"),zt("cull"),zt("stencil"),zt("polygonOffset"),zt("scissor"),zt("sample"),"vao"in Ft&&(Ut.vao=Ft.vao),Ut}function de(Ft,Ut){var zt={},_t={};return Object.keys(Ft).forEach(function(Dt){var vt=Ft[Dt];if(h.isDynamic(vt)){_t[Dt]=h.unbox(vt,Dt);return}else if(Ut&&Array.isArray(vt)){for(var lr=0;lr0)return Ne.call(this,It(Ft|0),Ft|0)}else if(Array.isArray(Ft)){if(Ft.length)return Ne.call(this,Ft,Ft.length)}else return Nt.call(this,Ft)}return e(Bt,{stats:Yt,destroy:function(){cr.destroy()}})}var Qs=mn.setFBO=zo({framebuffer:h.define.call(null,$s,"framebuffer")});function al(O,K){var de=0;Ji.procs.poll();var ne=K.color;ne&&(Ot.clearColor(+ne[0]||0,+ne[1]||0,+ne[2]||0,+ne[3]||0),de|=Ms),"depth"in K&&(Ot.clearDepth(+K.depth),de|=Xs),"stencil"in K&&(Ot.clearStencil(K.stencil|0),de|=Un),Ot.clear(de)}function Vl(O){if("framebuffer"in O)if(O.framebuffer&&O.framebuffer_reglType==="framebufferCube")for(var K=0;K<6;++K)Qs(e({framebuffer:O.framebuffer.faces[K]},O),al);else Qs(O,al);else al(null,O)}function ss(O){Nn.push(O);function K(){var de=dl(Nn,O);function ne(){var we=dl(Nn,ne);Nn[we]=Nn[Nn.length-1],Nn.length-=1,Nn.length<=0&&is()}Nn[de]=ne}return ba(),{cancel:K}}function Vs(){var O=Bi.viewport,K=Bi.scissor_box;O[0]=O[1]=K[0]=K[1]=0,oi.viewportWidth=oi.framebufferWidth=oi.drawingBufferWidth=O[2]=K[2]=Ot.drawingBufferWidth,oi.viewportHeight=oi.framebufferHeight=oi.drawingBufferHeight=O[3]=K[3]=Ot.drawingBufferHeight}function Ys(){oi.tick+=1,oi.time=ol(),Vs(),Ji.procs.poll()}function wa(){fi.refresh(),Vs(),Ji.procs.refresh(),Si&&Si.update()}function ol(){return(v()-Vn)/1e3}wa();function io(O,K){var de;switch(O){case"frame":return ss(K);case"lost":de=aa;break;case"restore":de=Ki;break;case"destroy":de=Cn;break;default:}return de.push(K),{cancel:function(){for(var ne=0;ne=0},read:Ui,destroy:Ml,_gl:Ot,_refresh:wa,poll:function(){Ys(),Si&&Si.update()},now:ol,stats:vi,getCachedCode:Y,preloadCachedCode:D});return bt.onDone(null,J),J}return Sc})});var eBe=ye((S_r,QOe)=>{"use strict";var SUt=ty();QOe.exports=function(t){if(t?typeof t=="string"&&(t={container:t}):t={},JOe(t)?t={container:t}:MUt(t)?t={container:t}:EUt(t)?t={gl:t}:t=SUt(t,{container:"container target element el canvas holder parent parentNode wrapper use ref root node",gl:"gl context webgl glContext",attrs:"attributes attrs contextAttributes",pixelRatio:"pixelRatio pxRatio px ratio pxratio pixelratio",width:"w width",height:"h height"},!0),t.pixelRatio||(t.pixelRatio=window.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if(typeof t.container=="string"){var r=document.querySelector(t.container);if(!r)throw Error("Element "+t.container+" is not found");t.container=r}JOe(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=$Oe(),t.container.appendChild(t.canvas),KOe(t))}else if(!t.canvas)if(typeof document!="undefined")t.container=document.body||document.documentElement,t.canvas=$Oe(),t.container.appendChild(t.canvas),KOe(t);else throw Error("Not DOM environment. Use headless-gl.");return t.gl||["webgl","experimental-webgl","webgl-experimental"].some(function(n){try{t.gl=t.canvas.getContext(n,t.attrs)}catch(i){}return t.gl}),t.gl};function KOe(e){if(e.container)if(e.container==document.body)document.body.style.width||(e.canvas.width=e.width||e.pixelRatio*window.innerWidth),document.body.style.height||(e.canvas.height=e.height||e.pixelRatio*window.innerHeight);else{var t=e.container.getBoundingClientRect();e.canvas.width=e.width||t.right-t.left,e.canvas.height=e.height||t.bottom-t.top}}function JOe(e){return typeof e.getContext=="function"&&"width"in e&&"height"in e}function MUt(e){return typeof e.nodeName=="string"&&typeof e.appendChild=="function"&&typeof e.getBoundingClientRect=="function"}function EUt(e){return typeof e.drawArrays=="function"||typeof e.drawElements=="function"}function $Oe(){var e=document.createElement("canvas");return e.style.position="absolute",e.style.top=0,e.style.left=0,e}});var rBe=ye((M_r,tBe)=>{"use strict";var kUt=lK(),CUt=[32,126];tBe.exports=LUt;function LUt(e){e=e||{};var t=e.shape?e.shape:e.canvas?[e.canvas.width,e.canvas.height]:[512,512],r=e.canvas||document.createElement("canvas"),n=e.font,i=typeof e.step=="number"?[e.step,e.step]:e.step||[32,32],a=e.chars||CUt;if(n&&typeof n!="string"&&(n=kUt(n)),!Array.isArray(a))a=String(a).split("");else if(a.length===2&&typeof a[0]=="number"&&typeof a[1]=="number"){for(var o=[],s=a[0],l=0;s<=a[1];s++)o[l++]=String.fromCharCode(s);a=o}t=t.slice(),r.width=t[0],r.height=t[1];var u=r.getContext("2d");u.fillStyle="#000",u.fillRect(0,0,r.width,r.height),u.font=n,u.textAlign="center",u.textBaseline="middle",u.fillStyle="#fff";for(var c=i[0]/2,f=i[1]/2,s=0;st[0]-i[0]/2&&(c=i[0]/2,f+=i[1]);return r}});var hK=ye(Vh=>{"use strict";"use restrict";var fK=32;Vh.INT_BITS=fK;Vh.INT_MAX=2147483647;Vh.INT_MIN=-1<0)-(e<0)};Vh.abs=function(e){var t=e>>fK-1;return(e^t)-t};Vh.min=function(e,t){return t^(e^t)&-(e65535)<<4,e>>>=t,r=(e>255)<<3,e>>>=r,t|=r,r=(e>15)<<2,e>>>=r,t|=r,r=(e>3)<<1,e>>>=r,t|=r,t|e>>1};Vh.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0};Vh.popCount=function(e){return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24};function iBe(e){var t=32;return e&=-e,e&&t--,e&65535&&(t-=16),e&16711935&&(t-=8),e&252645135&&(t-=4),e&858993459&&(t-=2),e&1431655765&&(t-=1),t}Vh.countTrailingZeros=iBe;Vh.nextPow2=function(e){return e+=e===0,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e+1};Vh.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e-(e>>>1)};Vh.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,e&=15,27030>>>e&1};var Fk=new Array(256);(function(e){for(var t=0;t<256;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=r&1,--i;e[t]=n<>>8&255]<<16|Fk[e>>>16&255]<<8|Fk[e>>>24&255]};Vh.interleave2=function(e,t){return e&=65535,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t&=65535,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1};Vh.deinterleave2=function(e,t){return e=e>>>t&1431655765,e=(e|e>>>1)&858993459,e=(e|e>>>2)&252645135,e=(e|e>>>4)&16711935,e=(e|e>>>16)&65535,e<<16>>16};Vh.interleave3=function(e,t,r){return e&=1023,e=(e|e<<16)&4278190335,e=(e|e<<8)&251719695,e=(e|e<<4)&3272356035,e=(e|e<<2)&1227133513,t&=1023,t=(t|t<<16)&4278190335,t=(t|t<<8)&251719695,t=(t|t<<4)&3272356035,t=(t|t<<2)&1227133513,e|=t<<1,r&=1023,r=(r|r<<16)&4278190335,r=(r|r<<8)&251719695,r=(r|r<<4)&3272356035,r=(r|r<<2)&1227133513,e|r<<2};Vh.deinterleave3=function(e,t){return e=e>>>t&1227133513,e=(e|e>>>2)&3272356035,e=(e|e>>>4)&251719695,e=(e|e>>>8)&4278190335,e=(e|e>>>16)&1023,e<<22>>22};Vh.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>iBe(e)+1}});var oBe=ye((k_r,aBe)=>{"use strict";function nBe(e,t,r){var n=e[r]|0;if(n<=0)return[];var i=new Array(n),a;if(r===e.length-1)for(a=0;a0)return PUt(e|0,t);break;case"object":if(typeof e.length=="number")return nBe(e,t,0);break}return[]}aBe.exports=IUt});var bBe=ye(mu=>{"use strict";var bx=hK(),Ev=oBe(),sBe=b2().Buffer;window.__TYPEDARRAY_POOL||(window.__TYPEDARRAY_POOL={UINT8:Ev([32,0]),UINT16:Ev([32,0]),UINT32:Ev([32,0]),BIGUINT64:Ev([32,0]),INT8:Ev([32,0]),INT16:Ev([32,0]),INT32:Ev([32,0]),BIGINT64:Ev([32,0]),FLOAT:Ev([32,0]),DOUBLE:Ev([32,0]),DATA:Ev([32,0]),UINT8C:Ev([32,0]),BUFFER:Ev([32,0])});var RUt=typeof Uint8ClampedArray!="undefined",DUt=typeof BigUint64Array!="undefined",FUt=typeof BigInt64Array!="undefined",ad=window.__TYPEDARRAY_POOL;ad.UINT8C||(ad.UINT8C=Ev([32,0]));ad.BIGUINT64||(ad.BIGUINT64=Ev([32,0]));ad.BIGINT64||(ad.BIGINT64=Ev([32,0]));ad.BUFFER||(ad.BUFFER=Ev([32,0]));var Sz=ad.DATA,Mz=ad.BUFFER;mu.free=function(t){if(sBe.isBuffer(t))Mz[bx.log2(t.length)].push(t);else{if(Object.prototype.toString.call(t)!=="[object ArrayBuffer]"&&(t=t.buffer),!t)return;var r=t.length||t.byteLength,n=bx.log2(r)|0;Sz[n].push(t)}};function lBe(e){if(e){var t=e.length||e.byteLength,r=bx.log2(t);Sz[r].push(e)}}function zUt(e){lBe(e.buffer)}mu.freeUint8=mu.freeUint16=mu.freeUint32=mu.freeBigUint64=mu.freeInt8=mu.freeInt16=mu.freeInt32=mu.freeBigInt64=mu.freeFloat32=mu.freeFloat=mu.freeFloat64=mu.freeDouble=mu.freeUint8Clamped=mu.freeDataView=zUt;mu.freeArrayBuffer=lBe;mu.freeBuffer=function(t){Mz[bx.log2(t.length)].push(t)};mu.malloc=function(t,r){if(r===void 0||r==="arraybuffer")return Bp(t);switch(r){case"uint8":return dK(t);case"uint16":return uBe(t);case"uint32":return cBe(t);case"int8":return fBe(t);case"int16":return hBe(t);case"int32":return dBe(t);case"float":case"float32":return vBe(t);case"double":case"float64":return pBe(t);case"uint8_clamped":return gBe(t);case"bigint64":return yBe(t);case"biguint64":return mBe(t);case"buffer":return xBe(t);case"data":case"dataview":return _Be(t);default:return null}return null};function Bp(t){var t=bx.nextPow2(t),r=bx.log2(t),n=Sz[r];return n.length>0?n.pop():new ArrayBuffer(t)}mu.mallocArrayBuffer=Bp;function dK(e){return new Uint8Array(Bp(e),0,e)}mu.mallocUint8=dK;function uBe(e){return new Uint16Array(Bp(2*e),0,e)}mu.mallocUint16=uBe;function cBe(e){return new Uint32Array(Bp(4*e),0,e)}mu.mallocUint32=cBe;function fBe(e){return new Int8Array(Bp(e),0,e)}mu.mallocInt8=fBe;function hBe(e){return new Int16Array(Bp(2*e),0,e)}mu.mallocInt16=hBe;function dBe(e){return new Int32Array(Bp(4*e),0,e)}mu.mallocInt32=dBe;function vBe(e){return new Float32Array(Bp(4*e),0,e)}mu.mallocFloat32=mu.mallocFloat=vBe;function pBe(e){return new Float64Array(Bp(8*e),0,e)}mu.mallocFloat64=mu.mallocDouble=pBe;function gBe(e){return RUt?new Uint8ClampedArray(Bp(e),0,e):dK(e)}mu.mallocUint8Clamped=gBe;function mBe(e){return DUt?new BigUint64Array(Bp(8*e),0,e):null}mu.mallocBigUint64=mBe;function yBe(e){return FUt?new BigInt64Array(Bp(8*e),0,e):null}mu.mallocBigInt64=yBe;function _Be(e){return new DataView(Bp(e),0,e)}mu.mallocDataView=_Be;function xBe(e){e=bx.nextPow2(e);var t=bx.log2(e),r=Mz[t];return r.length>0?r.pop():new sBe(e)}mu.mallocBuffer=xBe;mu.clearCache=function(){for(var t=0;t<32;++t)ad.UINT8[t].length=0,ad.UINT16[t].length=0,ad.UINT32[t].length=0,ad.INT8[t].length=0,ad.INT16[t].length=0,ad.INT32[t].length=0,ad.FLOAT[t].length=0,ad.DOUBLE[t].length=0,ad.BIGUINT64[t].length=0,ad.BIGINT64[t].length=0,ad.UINT8C[t].length=0,Sz[t].length=0,Mz[t].length=0}});var TBe=ye((L_r,wBe)=>{"use strict";var qUt=Object.prototype.toString;wBe.exports=function(e){var t;return qUt.call(e)==="[object Object]"&&(t=Object.getPrototypeOf(e),t===null||t===Object.getPrototypeOf({}))}});var vK=ye((P_r,ABe)=>{ABe.exports=function(t,r){r||(r=[0,""]),t=String(t);var n=parseFloat(t,10);return r[0]=n,r[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",r}});var EBe=ye((I_r,MBe)=>{"use strict";var OUt=vK();MBe.exports=SBe;var zk=96;function pK(e,t){var r=OUt(getComputedStyle(e).getPropertyValue(t));return r[0]*SBe(r[1],e)}function BUt(e,t){var r=document.createElement("div");r.style["font-size"]="128"+e,t.appendChild(r);var n=pK(r,"font-size")/128;return t.removeChild(r),n}function SBe(e,t){switch(t=t||document.body,e=(e||"px").trim().toLowerCase(),(t===window||t===document)&&(t=document.body),e){case"%":return t.clientHeight/100;case"ch":case"ex":return BUt(e,t);case"em":return pK(t,"font-size");case"rem":return pK(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 zk;case"cm":return zk/2.54;case"mm":return zk/25.4;case"pt":return zk/72;case"pc":return zk/6}return 1}});var LBe=ye((R_r,CBe)=>{"use strict";CBe.exports=Cz;var NUt=Cz.canvas=document.createElement("canvas"),Ez=NUt.getContext("2d"),kBe=kz([32,126]);Cz.createPairs=kz;Cz.ascii=kBe;function Cz(e,t){Array.isArray(e)&&(e=e.join(", "));var r={},n,i=16,a=.05;t&&(t.length===2&&typeof t[0]=="number"?n=kz(t):Array.isArray(t)?n=t:(t.o?n=kz(t.o):t.pairs&&(n=t.pairs),t.fontSize&&(i=t.fontSize),t.threshold!=null&&(a=t.threshold))),n||(n=kBe),Ez.font=i+"px "+e;for(var o=0;oi*a){var c=(u-l)/i;r[s]=c*1e3}}return r}function kz(e){for(var t=[],r=e[0];r<=e[1];r++)for(var n=String.fromCharCode(r),i=e[0];i{"use strict";RBe.exports=wx;wx.canvas=document.createElement("canvas");wx.cache={};function wx(o,t){t||(t={}),(typeof o=="string"||Array.isArray(o))&&(t.family=o);var r=Array.isArray(t.family)?t.family.join(", "):t.family;if(!r)throw Error("`family` must be defined");var n=t.size||t.fontSize||t.em||48,i=t.weight||t.fontWeight||"",a=t.style||t.fontStyle||"",o=[a,i,n].join(" ")+"px "+r,s=t.origin||"top";if(wx.cache[r]&&n<=wx.cache[r].em)return PBe(wx.cache[r],s);var l=t.canvas||wx.canvas,u=l.getContext("2d"),c={upper:t.upper!==void 0?t.upper:"H",lower:t.lower!==void 0?t.lower:"x",descent:t.descent!==void 0?t.descent:"p",ascent:t.ascent!==void 0?t.ascent:"h",tittle:t.tittle!==void 0?t.tittle:"i",overshoot:t.overshoot!==void 0?t.overshoot:"O"},f=Math.ceil(n*1.5);l.height=f,l.width=f*.5,u.font=o;var h="H",d={top:0};u.clearRect(0,0,f,f),u.textBaseline="top",u.fillStyle="black",u.fillText(h,0,0);var v=iy(u.getImageData(0,0,f,f));u.clearRect(0,0,f,f),u.textBaseline="bottom",u.fillText(h,0,f);var m=iy(u.getImageData(0,0,f,f));d.lineHeight=d.bottom=f-m+v,u.clearRect(0,0,f,f),u.textBaseline="alphabetic",u.fillText(h,0,f);var b=iy(u.getImageData(0,0,f,f)),p=f-b-1+v;d.baseline=d.alphabetic=p,u.clearRect(0,0,f,f),u.textBaseline="middle",u.fillText(h,0,f*.5);var k=iy(u.getImageData(0,0,f,f));d.median=d.middle=f-k-1+v-f*.5,u.clearRect(0,0,f,f),u.textBaseline="hanging",u.fillText(h,0,f*.5);var M=iy(u.getImageData(0,0,f,f));d.hanging=f-M-1+v-f*.5,u.clearRect(0,0,f,f),u.textBaseline="ideographic",u.fillText(h,0,f);var T=iy(u.getImageData(0,0,f,f));if(d.ideographic=f-T-1+v,c.upper&&(u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.upper,0,0),d.upper=iy(u.getImageData(0,0,f,f)),d.capHeight=d.baseline-d.upper),c.lower&&(u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.lower,0,0),d.lower=iy(u.getImageData(0,0,f,f)),d.xHeight=d.baseline-d.lower),c.tittle&&(u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.tittle,0,0),d.tittle=iy(u.getImageData(0,0,f,f))),c.ascent&&(u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.ascent,0,0),d.ascent=iy(u.getImageData(0,0,f,f))),c.descent&&(u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.descent,0,0),d.descent=IBe(u.getImageData(0,0,f,f))),c.overshoot){u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.overshoot,0,0);var L=IBe(u.getImageData(0,0,f,f));d.overshoot=L-p}for(var x in d)d[x]/=n;return d.em=n,wx.cache[r]=d,PBe(d,s)}function PBe(e,t){var r={};typeof t=="string"&&(t=e[t]);for(var n in e)n!=="em"&&(r[n]=e[n]-t);return r}function iy(e){for(var t=e.height,r=e.data,n=3;n0;n-=4)if(r[n]!==0)return Math.floor((n-3)*.25/t)}});var OBe=ye((F_r,qBe)=>{"use strict";var x5=ZOe(),UUt=ty(),VUt=YOe(),GUt=eBe(),HUt=ZY(),gK=sx(),jUt=rBe(),Tx=bBe(),WUt=l5(),XUt=TBe(),ZUt=vK(),YUt=EBe(),KUt=LBe(),JUt=Nh(),$Ut=DBe(),QUt=aw(),eVt=hK(),FBe=eVt.nextPow2,zBe=new HUt,Pz=!1;document.body&&(Lz=document.body.appendChild(document.createElement("div")),Lz.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(Lz).fontStretch&&(Pz=!0),document.body.removeChild(Lz));var Lz,xc=function(t){tVt(t)?(t={regl:t},this.gl=t.regl._gl):this.gl=GUt(t),this.shader=zBe.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||VUt({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(),zBe.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(XUt(t)?t:{})};xc.prototype.createShader=function(){var t=this.regl,r=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop("count"),offset:t.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this("sizeBuffer")},width:{offset:0,stride:8,buffer:t.this("sizeBuffer")},char:t.this("charBuffer"),position:t.this("position")},uniforms:{atlasSize:function(i,a){return[a.atlas.width,a.atlas.height]},atlasDim:function(i,a){return[a.atlas.cols,a.atlas.rows]},atlas:function(i,a){return a.atlas.texture},charStep:function(i,a){return a.atlas.step},em:function(i,a){return a.atlas.em},color:t.prop("color"),opacity:t.prop("opacity"),viewport:t.this("viewportArray"),scale:t.this("scale"),align:t.prop("align"),baseline:t.prop("baseline"),translate:t.this("translate"),positionOffset:t.prop("positionOffset")},primitive:"points",viewport:t.this("viewport"),vert:` +`),pr;if(ot&&(pr=ch(Ut),ot[pr]))return ot[pr].apply(null,cr);var Ir=Function.apply(null,Kt.concat(Ut));return ot&&(ot[pr]=Ir),Ir.apply(null,cr)}return{global:Kr,link:ur,block:Rr,proc:Cn,scope:Xr,cond:$r,compile:fn}}var Ca="xyzw".split(""),Pa=5121,La=1,Va=2,na=0,zn=1,Ja=2,pi=3,ji=4,Ao=5,Qi=6,zo="dither",Vi="blend.enable",Js="blend.color",cs="blend.equation",Mo="blend.func",ya="depth.enable",ho="depth.func",wo="depth.range",Yi="depth.mask",Vs="colorMask",xu="cull.enable",au="cull.face",Yu="frontFace",ll="lineWidth",Pu="polygonOffset.enable",ul="polygonOffset.offset",Pc="sample.alpha",Wa="sample.enable",oi="sample.coverage",Ph="stencil.enable",pf="stencil.mask",iu="stencil.func",K="stencil.opFront",b="stencil.opBack",I="scissor.enable",G="scissor.box",H="viewport",$="profile",xe="framebuffer",ke="vert",Ne="frag",et="elements",bt="primitive",Tt="count",zt="offset",Yt="instances",Q="vao",ae="Width",ve="Height",be=xe+ae,De=xe+ve,Se=H+ae,Be=H+ve,ut="drawingBuffer",gt=ut+ae,Mt=ut+ve,Ft=[Mo,cs,iu,K,b,oi,H,G,ul],Ot=34962,er=34963,sr=2884,wr=3042,Gr=3024,pn=2960,cn=2929,kn=3089,ta=32823,ka=32926,va=32928,Xa=5126,Ai=35664,di=35665,xo=35666,Xi=5124,Wo=35667,fs=35668,ws=35669,qo=35670,Jo=35671,Tl=35672,bu=35673,Gl=35674,zs=35675,Du=35676,_u=35678,Qs=35680,Al=4,V=1028,Z=1029,ie=2304,_e=2305,Me=32775,Le=32776,at=519,je=7680,xt=0,Dt=1,It=32774,ar=513,rr=36160,Dr=36064,Hr={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},hr={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Tr={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},Lr={cw:ie,ccw:_e};function Vr(pe){return Array.isArray(pe)||tr(pe)||lr(pe)}function jr(pe){return pe.sort(function(ot,ht){return ot===H?-1:ht===H?1:ot=1,Kt>=2,ot)}else if(ht===ji){var cr=pe.data;return new br(cr.thisDep,cr.contextDep,cr.propDep,ot)}else{if(ht===Ao)return new br(!1,!1,!1,ot);if(ht===Qi){for(var dr=!1,ur=!1,Rr=!1,Xr=0;Xr=1&&(ur=!0),Kr>=2&&(Rr=!0)}else $r.type===ji&&(dr=dr||$r.data.thisDep,ur=ur||$r.data.contextDep,Rr=Rr||$r.data.propDep)}return new br(dr,ur,Rr,ot)}else return new br(ht===pi,ht===Ja,ht===zn,ot)}}var xa=new br(!1,!1,!1,function(){});function Ba(pe,ot,ht,Kt,cr,dr,ur,Rr,Xr,$r,Kr,Hn,Cn,fn,Sr,Ut){var pr=$r.Record,Ir={add:32774,subtract:32778,"reverse subtract":32779};ht.ext_blend_minmax&&(Ir.min=Me,Ir.max=Le);var Zr=ht.angle_instanced_arrays,Cr=ht.webgl_draw_buffers,hn=ht.oes_vertex_array_object,sn={dirty:!0,profile:Ut.profile},Gn={},kr=[],Mr={},_n={};function an($e){return $e.replace(".","_")}function Jr($e,ct,Et){var nr=an($e);kr.push($e),Gn[nr]=sn[nr]=!!Et,Mr[nr]=ct}function Qr($e,ct,Et){var nr=an($e);kr.push($e),Array.isArray(Et)?(sn[nr]=Et.slice(),Gn[nr]=Et.slice()):sn[nr]=Gn[nr]=Et,_n[nr]=ct}function wn($e){return!!isNaN($e)}Jr(zo,Gr),Jr(Vi,wr),Qr(Js,"blendColor",[0,0,0,0]),Qr(cs,"blendEquationSeparate",[It,It]),Qr(Mo,"blendFuncSeparate",[Dt,xt,Dt,xt]),Jr(ya,cn,!0),Qr(ho,"depthFunc",ar),Qr(wo,"depthRange",[0,1]),Qr(Yi,"depthMask",!0),Qr(Vs,Vs,[!0,!0,!0,!0]),Jr(xu,sr),Qr(au,"cullFace",Z),Qr(Yu,Yu,_e),Qr(ll,ll,1),Jr(Pu,ta),Qr(ul,"polygonOffset",[0,0]),Jr(Pc,ka),Jr(Wa,va),Qr(oi,"sampleCoverage",[1,!1]),Jr(Ph,pn),Qr(pf,"stencilMask",-1),Qr(iu,"stencilFunc",[at,0,-1]),Qr(K,"stencilOpSeparate",[V,je,je,je]),Qr(b,"stencilOpSeparate",[Z,je,je,je]),Jr(I,kn),Qr(G,"scissor",[0,0,pe.drawingBufferWidth,pe.drawingBufferHeight]),Qr(H,H,[0,0,pe.drawingBufferWidth,pe.drawingBufferHeight]);var jn={gl:pe,context:Cn,strings:ot,next:Gn,current:sn,draw:Hn,elements:dr,buffer:cr,shader:Kr,attributes:$r.state,vao:$r,uniforms:Xr,framebuffer:Rr,extensions:ht,timer:fn,isBufferArgs:Vr},oa={primTypes:to,compareFuncs:hr,blendFuncs:Hr,blendEquations:Ir,stencilOps:Tr,glTypes:vn,orientationType:Lr};Cr&&(oa.backBuffer=[Z],oa.drawBuffer=T(Kt.maxDrawbuffers,function($e){return $e===0?[0]:T($e,function(ct){return Dr+ct})}));var rn=0;function Sn(){var $e=ea({cache:Sr}),ct=$e.link,Et=$e.global;$e.id=rn++,$e.batchId="0";var nr=ct(jn),vr=$e.shared={props:"a0"};Object.keys(jn).forEach(function(Lt){vr[Lt]=Et.def(nr,".",Lt)});var Ht=$e.next={},Nt=$e.current={};Object.keys(_n).forEach(function(Lt){Array.isArray(sn[Lt])&&(Ht[Lt]=Et.def(vr.next,".",Lt),Nt[Lt]=Et.def(vr.current,".",Lt))});var Pt=$e.constants={};Object.keys(oa).forEach(function(Lt){Pt[Lt]=Et.def(JSON.stringify(oa[Lt]))}),$e.invoke=function(Lt,dt){switch(dt.type){case na:var Jt=["this",vr.context,vr.props,$e.batchId];return Lt.def(ct(dt.data),".call(",Jt.slice(0,Math.max(dt.data.length+1,4)),")");case zn:return Lt.def(vr.props,dt.data);case Ja:return Lt.def(vr.context,dt.data);case pi:return Lt.def("this",dt.data);case ji:return dt.data.append($e,Lt),dt.data.ref;case Ao:return dt.data.toString();case Qi:return dt.data.map(function(yr){return $e.invoke(Lt,yr)})}},$e.attribCache={};var At={};return $e.scopeAttrib=function(Lt){var dt=ot.id(Lt);if(dt in At)return At[dt];var Jt=$r.scope[dt];Jt||(Jt=$r.scope[dt]=new pr);var yr=At[dt]=ct(Jt);return yr},$e}function sa($e){var ct=$e.static,Et=$e.dynamic,nr;if($ in ct){var vr=!!ct[$];nr=On(function(Nt,Pt){return vr}),nr.enable=vr}else if($ in Et){var Ht=Et[$];nr=ra(Ht,function(Nt,Pt){return Nt.invoke(Pt,Ht)})}return nr}function ca($e,ct){var Et=$e.static,nr=$e.dynamic;if(xe in Et){var vr=Et[xe];return vr?(vr=Rr.getFramebuffer(vr),On(function(Nt,Pt){var At=Nt.link(vr),Lt=Nt.shared;Pt.set(Lt.framebuffer,".next",At);var dt=Lt.context;return Pt.set(dt,"."+be,At+".width"),Pt.set(dt,"."+De,At+".height"),At})):On(function(Nt,Pt){var At=Nt.shared;Pt.set(At.framebuffer,".next","null");var Lt=At.context;return Pt.set(Lt,"."+be,Lt+"."+gt),Pt.set(Lt,"."+De,Lt+"."+Mt),"null"})}else if(xe in nr){var Ht=nr[xe];return ra(Ht,function(Nt,Pt){var At=Nt.invoke(Pt,Ht),Lt=Nt.shared,dt=Lt.framebuffer,Jt=Pt.def(dt,".getFramebuffer(",At,")");Pt.set(dt,".next",Jt);var yr=Lt.context;return Pt.set(yr,"."+be,Jt+"?"+Jt+".width:"+yr+"."+gt),Pt.set(yr,"."+De,Jt+"?"+Jt+".height:"+yr+"."+Mt),Jt})}else return null}function Ra($e,ct,Et){var nr=$e.static,vr=$e.dynamic;function Ht(At){if(At in nr){var Lt=nr[At],dt=!0,Jt=Lt.x|0,yr=Lt.y|0,Or,Yn;return"width"in Lt?Or=Lt.width|0:dt=!1,"height"in Lt?Yn=Lt.height|0:dt=!1,new br(!dt&&ct&&ct.thisDep,!dt&&ct&&ct.contextDep,!dt&&ct&&ct.propDep,function(Wn,Un){var qn=Wn.shared.context,yn=Or;"width"in Lt||(yn=Un.def(qn,".",be,"-",Jt));var Dn=Yn;return"height"in Lt||(Dn=Un.def(qn,".",De,"-",yr)),[Jt,yr,yn,Dn]})}else if(At in vr){var Tn=vr[At],bn=ra(Tn,function(Wn,Un){var qn=Wn.invoke(Un,Tn),yn=Wn.shared.context,Dn=Un.def(qn,".x|0"),In=Un.def(qn,".y|0"),fa=Un.def('"width" in ',qn,"?",qn,".width|0:","(",yn,".",be,"-",Dn,")"),Zi=Un.def('"height" in ',qn,"?",qn,".height|0:","(",yn,".",De,"-",In,")");return[Dn,In,fa,Zi]});return ct&&(bn.thisDep=bn.thisDep||ct.thisDep,bn.contextDep=bn.contextDep||ct.contextDep,bn.propDep=bn.propDep||ct.propDep),bn}else return ct?new br(ct.thisDep,ct.contextDep,ct.propDep,function(Wn,Un){var qn=Wn.shared.context;return[0,0,Un.def(qn,".",be),Un.def(qn,".",De)]}):null}var Nt=Ht(H);if(Nt){var Pt=Nt;Nt=new br(Nt.thisDep,Nt.contextDep,Nt.propDep,function(At,Lt){var dt=Pt.append(At,Lt),Jt=At.shared.context;return Lt.set(Jt,"."+Se,dt[2]),Lt.set(Jt,"."+Be,dt[3]),dt})}return{viewport:Nt,scissor_box:Ht(G)}}function go($e,ct){var Et=$e.static,nr=typeof Et[Ne]=="string"&&typeof Et[ke]=="string";if(nr){if(Object.keys(ct.dynamic).length>0)return null;var vr=ct.static,Ht=Object.keys(vr);if(Ht.length>0&&typeof vr[Ht[0]]=="number"){for(var Nt=[],Pt=0;Pt"+Dn+"?"+dt+".constant["+Dn+"]:0;"}).join(""),"}}else{","if(",Or,"(",dt,".buffer)){",Wn,"=",Yn,".createStream(",Ot,",",dt,".buffer);","}else{",Wn,"=",Yn,".getBuffer(",dt,".buffer);","}",Un,'="type" in ',dt,"?",yr.glTypes,"[",dt,".type]:",Wn,".dtype;",Tn.normalized,"=!!",dt,".normalized;");function qn(yn){Lt(Tn[yn],"=",dt,".",yn,"|0;")}return qn("size"),qn("offset"),qn("stride"),qn("divisor"),Lt("}}"),Lt.exit("if(",Tn.isStream,"){",Yn,".destroyStream(",Wn,");","}"),Tn}vr[Ht]=ra(Nt,Pt)}),vr}function es($e){var ct=$e.static,Et=$e.dynamic,nr={};return Object.keys(ct).forEach(function(vr){var Ht=ct[vr];nr[vr]=On(function(Nt,Pt){return typeof Ht=="number"||typeof Ht=="boolean"?""+Ht:Nt.link(Ht)})}),Object.keys(Et).forEach(function(vr){var Ht=Et[vr];nr[vr]=ra(Ht,function(Nt,Pt){return Nt.invoke(Pt,Ht)})}),nr}function Ds($e,ct,Et,nr,vr){var Ht=$e.static,Nt=$e.dynamic,Pt=go($e,ct),At=ca($e,vr),Lt=Ra($e,At,vr),dt=ja($e,vr),Jt=cl($e,vr),yr=No($e,vr,Pt);function Or(qn){var yn=Lt[qn];yn&&(Jt[qn]=yn)}Or(H),Or(an(G));var Yn=Object.keys(Jt).length>0,Tn={framebuffer:At,draw:dt,shader:yr,state:Jt,dirty:Yn,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(Tn.profile=sa($e,vr),Tn.uniforms=Ci(Et,vr),Tn.drawVAO=Tn.scopeVAO=dt.vao,!Tn.drawVAO&&yr.program&&!Pt&&ht.angle_instanced_arrays&&dt.static.elements){var bn=!0,Wn=yr.program.attributes.map(function(qn){var yn=ct.static[qn];return bn=bn&&!!yn,yn});if(bn&&Wn.length>0){var Un=$r.getVAO($r.createVAO({attributes:Wn,elements:dt.static.elements}));Tn.drawVAO=new br(null,null,null,function(qn,yn){return qn.link(Un)}),Tn.useVAO=!0}}return Pt?Tn.useVAO=!0:Tn.attributes=Ts(ct,vr),Tn.context=es(nr,vr),Tn}function Do($e,ct,Et){var nr=$e.shared,vr=nr.context,Ht=$e.scope();Object.keys(Et).forEach(function(Nt){ct.save(vr,"."+Nt);var Pt=Et[Nt],At=Pt.append($e,ct);Array.isArray(At)?Ht(vr,".",Nt,"=[",At.join(),"];"):Ht(vr,".",Nt,"=",At,";")}),ct(Ht)}function Ro($e,ct,Et,nr){var vr=$e.shared,Ht=vr.gl,Nt=vr.framebuffer,Pt;Cr&&(Pt=ct.def(vr.extensions,".webgl_draw_buffers"));var At=$e.constants,Lt=At.drawBuffer,dt=At.backBuffer,Jt;Et?Jt=Et.append($e,ct):Jt=ct.def(Nt,".next"),nr||ct("if(",Jt,"!==",Nt,".cur){"),ct("if(",Jt,"){",Ht,".bindFramebuffer(",rr,",",Jt,".framebuffer);"),Cr&&ct(Pt,".drawBuffersWEBGL(",Lt,"[",Jt,".colorAttachments.length]);"),ct("}else{",Ht,".bindFramebuffer(",rr,",null);"),Cr&&ct(Pt,".drawBuffersWEBGL(",dt,");"),ct("}",Nt,".cur=",Jt,";"),nr||ct("}")}function Uo($e,ct,Et){var nr=$e.shared,vr=nr.gl,Ht=$e.current,Nt=$e.next,Pt=nr.current,At=nr.next,Lt=$e.cond(Pt,".dirty");kr.forEach(function(dt){var Jt=an(dt);if(!(Jt in Et.state)){var yr,Or;if(Jt in Nt){yr=Nt[Jt],Or=Ht[Jt];var Yn=T(sn[Jt].length,function(bn){return Lt.def(yr,"[",bn,"]")});Lt($e.cond(Yn.map(function(bn,Wn){return bn+"!=="+Or+"["+Wn+"]"}).join("||")).then(vr,".",_n[Jt],"(",Yn,");",Yn.map(function(bn,Wn){return Or+"["+Wn+"]="+bn}).join(";"),";"))}else{yr=Lt.def(At,".",Jt);var Tn=$e.cond(yr,"!==",Pt,".",Jt);Lt(Tn),Jt in Mr?Tn($e.cond(yr).then(vr,".enable(",Mr[Jt],");").else(vr,".disable(",Mr[Jt],");"),Pt,".",Jt,"=",yr,";"):Tn(vr,".",_n[Jt],"(",yr,");",Pt,".",Jt,"=",yr,";")}}}),Object.keys(Et.state).length===0&&Lt(Pt,".dirty=false;"),ct(Lt)}function Sa($e,ct,Et,nr){var vr=$e.shared,Ht=$e.current,Nt=vr.current,Pt=vr.gl,At;jr(Object.keys(Et)).forEach(function(Lt){var dt=Et[Lt];if(!(nr&&!nr(dt))){var Jt=dt.append($e,ct);if(Mr[Lt]){var yr=Mr[Lt];Ln(dt)?(At=$e.link(Jt,{stable:!0}),ct($e.cond(At).then(Pt,".enable(",yr,");").else(Pt,".disable(",yr,");")),ct(Nt,".",Lt,"=",At,";")):(ct($e.cond(Jt).then(Pt,".enable(",yr,");").else(Pt,".disable(",yr,");")),ct(Nt,".",Lt,"=",Jt,";"))}else if(Rn(Jt)){var Or=Ht[Lt];ct(Pt,".",_n[Lt],"(",Jt,");",Jt.map(function(Yn,Tn){return Or+"["+Tn+"]="+Yn}).join(";"),";")}else Ln(dt)?(At=$e.link(Jt,{stable:!0}),ct(Pt,".",_n[Lt],"(",At,");",Nt,".",Lt,"=",At,";")):ct(Pt,".",_n[Lt],"(",Jt,");",Nt,".",Lt,"=",Jt,";")}})}function ts($e,ct){Zr&&($e.instancing=ct.def($e.shared.extensions,".angle_instanced_arrays"))}function qi($e,ct,Et,nr,vr){var Ht=$e.shared,Nt=$e.stats,Pt=Ht.current,At=Ht.timer,Lt=Et.profile;function dt(){return typeof performance=="undefined"?"Date.now()":"performance.now()"}var Jt,yr;function Or(qn){Jt=ct.def(),qn(Jt,"=",dt(),";"),typeof vr=="string"?qn(Nt,".count+=",vr,";"):qn(Nt,".count++;"),fn&&(nr?(yr=ct.def(),qn(yr,"=",At,".getNumPendingQueries();")):qn(At,".beginQuery(",Nt,");"))}function Yn(qn){qn(Nt,".cpuTime+=",dt(),"-",Jt,";"),fn&&(nr?qn(At,".pushScopeStats(",yr,",",At,".getNumPendingQueries(),",Nt,");"):qn(At,".endQuery();"))}function Tn(qn){var yn=ct.def(Pt,".profile");ct(Pt,".profile=",qn,";"),ct.exit(Pt,".profile=",yn,";")}var bn;if(Lt){if(Ln(Lt)){Lt.enable?(Or(ct),Yn(ct.exit),Tn("true")):Tn("false");return}bn=Lt.append($e,ct),Tn(bn)}else bn=ct.def(Pt,".profile");var Wn=$e.block();Or(Wn),ct("if(",bn,"){",Wn,"}");var Un=$e.block();Yn(Un),ct.exit("if(",bn,"){",Un,"}")}function Hs($e,ct,Et,nr,vr){var Ht=$e.shared;function Nt(At){switch(At){case Ai:case Wo:case Jo:return 2;case di:case fs:case Tl:return 3;case xo:case ws:case bu:return 4;default:return 1}}function Pt(At,Lt,dt){var Jt=Ht.gl,yr=ct.def(At,".location"),Or=ct.def(Ht.attributes,"[",yr,"]"),Yn=dt.state,Tn=dt.buffer,bn=[dt.x,dt.y,dt.z,dt.w],Wn=["buffer","normalized","offset","stride"];function Un(){ct("if(!",Or,".buffer){",Jt,".enableVertexAttribArray(",yr,");}");var yn=dt.type,Dn;if(dt.size?Dn=ct.def(dt.size,"||",Lt):Dn=Lt,ct("if(",Or,".type!==",yn,"||",Or,".size!==",Dn,"||",Wn.map(function(fa){return Or+"."+fa+"!=="+dt[fa]}).join("||"),"){",Jt,".bindBuffer(",Ot,",",Tn,".buffer);",Jt,".vertexAttribPointer(",[yr,Dn,yn,dt.normalized,dt.stride,dt.offset],");",Or,".type=",yn,";",Or,".size=",Dn,";",Wn.map(function(fa){return Or+"."+fa+"="+dt[fa]+";"}).join(""),"}"),Zr){var In=dt.divisor;ct("if(",Or,".divisor!==",In,"){",$e.instancing,".vertexAttribDivisorANGLE(",[yr,In],");",Or,".divisor=",In,";}")}}function qn(){ct("if(",Or,".buffer){",Jt,".disableVertexAttribArray(",yr,");",Or,".buffer=null;","}if(",Ca.map(function(yn,Dn){return Or+"."+yn+"!=="+bn[Dn]}).join("||"),"){",Jt,".vertexAttrib4f(",yr,",",bn,");",Ca.map(function(yn,Dn){return Or+"."+yn+"="+bn[Dn]+";"}).join(""),"}")}Yn===La?Un():Yn===Va?qn():(ct("if(",Yn,"===",La,"){"),Un(),ct("}else{"),qn(),ct("}"))}nr.forEach(function(At){var Lt=At.name,dt=Et.attributes[Lt],Jt;if(dt){if(!vr(dt))return;Jt=dt.append($e,ct)}else{if(!vr(xa))return;var yr=$e.scopeAttrib(Lt);Jt={},Object.keys(new pr).forEach(function(Or){Jt[Or]=ct.def(yr,".",Or)})}Pt($e.link(At),Nt(At.info.type),Jt)})}function js($e,ct,Et,nr,vr,Ht){for(var Nt=$e.shared,Pt=Nt.gl,At,Lt=0;Lt1){for(var Ws=[],Ru=[],Zc=0;Zc>1)",Tn],");")}function In(){Et(bn,".drawArraysInstancedANGLE(",[yr,Or,Yn,Tn],");")}dt&&dt!=="null"?Un?Dn():(Et("if(",dt,"){"),Dn(),Et("}else{"),In(),Et("}")):In()}function yn(){function Dn(){Et(Ht+".drawElements("+[yr,Yn,Wn,Or+"<<(("+Wn+"-"+Pa+")>>1)"]+");")}function In(){Et(Ht+".drawArrays("+[yr,Or,Yn]+");")}dt&&dt!=="null"?Un?Dn():(Et("if(",dt,"){"),Dn(),Et("}else{"),In(),Et("}")):In()}Zr&&(typeof Tn!="number"||Tn>=0)?typeof Tn=="string"?(Et("if(",Tn,">0){"),qn(),Et("}else if(",Tn,"<0){"),yn(),Et("}")):qn():yn()}function ha($e,ct,Et,nr,vr){var Ht=Sn(),Nt=Ht.proc("body",vr);return Zr&&(Ht.instancing=Nt.def(Ht.shared.extensions,".angle_instanced_arrays")),$e(Ht,Nt,Et,nr),Ht.compile().body}function Ka($e,ct,Et,nr){ts($e,ct),Et.useVAO?Et.drawVAO?ct($e.shared.vao,".setVAO(",Et.drawVAO.append($e,ct),");"):ct($e.shared.vao,".setVAO(",$e.shared.vao,".targetVAO);"):(ct($e.shared.vao,".setVAO(null);"),Hs($e,ct,Et,nr.attributes,function(){return!0})),js($e,ct,Et,nr.uniforms,function(){return!0},!1),fl($e,ct,ct,Et)}function ti($e,ct){var Et=$e.proc("draw",1);ts($e,Et),Do($e,Et,ct.context),Ro($e,Et,ct.framebuffer),Uo($e,Et,ct),Sa($e,Et,ct.state),qi($e,Et,ct,!1,!0);var nr=ct.shader.progVar.append($e,Et);if(Et($e.shared.gl,".useProgram(",nr,".program);"),ct.shader.program)Ka($e,Et,ct,ct.shader.program);else{Et($e.shared.vao,".setVAO(null);");var vr=$e.global.def("{}"),Ht=Et.def(nr,".id"),Nt=Et.def(vr,"[",Ht,"]");Et($e.cond(Nt).then(Nt,".call(this,a0);").else(Nt,"=",vr,"[",Ht,"]=",$e.link(function(Pt){return ha(Ka,$e,ct,Pt,1)}),"(",nr,");",Nt,".call(this,a0);"))}Object.keys(ct.state).length>0&&Et($e.shared.current,".dirty=true;"),$e.shared.vao&&Et($e.shared.vao,".setVAO(null);")}function it($e,ct,Et,nr){$e.batchId="a1",ts($e,ct);function vr(){return!0}Hs($e,ct,Et,nr.attributes,vr),js($e,ct,Et,nr.uniforms,vr,!1),fl($e,ct,ct,Et)}function ir($e,ct,Et,nr){ts($e,ct);var vr=Et.contextDep,Ht=ct.def(),Nt="a0",Pt="a1",At=ct.def();$e.shared.props=At,$e.batchId=Ht;var Lt=$e.scope(),dt=$e.scope();ct(Lt.entry,"for(",Ht,"=0;",Ht,"<",Pt,";++",Ht,"){",At,"=",Nt,"[",Ht,"];",dt,"}",Lt.exit);function Jt(Wn){return Wn.contextDep&&vr||Wn.propDep}function yr(Wn){return!Jt(Wn)}if(Et.needsContext&&Do($e,dt,Et.context),Et.needsFramebuffer&&Ro($e,dt,Et.framebuffer),Sa($e,dt,Et.state,Jt),Et.profile&&Jt(Et.profile)&&qi($e,dt,Et,!1,!0),nr)Et.useVAO?Et.drawVAO?Jt(Et.drawVAO)?dt($e.shared.vao,".setVAO(",Et.drawVAO.append($e,dt),");"):Lt($e.shared.vao,".setVAO(",Et.drawVAO.append($e,Lt),");"):Lt($e.shared.vao,".setVAO(",$e.shared.vao,".targetVAO);"):(Lt($e.shared.vao,".setVAO(null);"),Hs($e,Lt,Et,nr.attributes,yr),Hs($e,dt,Et,nr.attributes,Jt)),js($e,Lt,Et,nr.uniforms,yr,!1),js($e,dt,Et,nr.uniforms,Jt,!0),fl($e,Lt,dt,Et);else{var Or=$e.global.def("{}"),Yn=Et.shader.progVar.append($e,dt),Tn=dt.def(Yn,".id"),bn=dt.def(Or,"[",Tn,"]");dt($e.shared.gl,".useProgram(",Yn,".program);","if(!",bn,"){",bn,"=",Or,"[",Tn,"]=",$e.link(function(Wn){return ha(it,$e,Et,Wn,2)}),"(",Yn,");}",bn,".call(this,a0[",Ht,"],",Ht,");")}}function or($e,ct){var Et=$e.proc("batch",2);$e.batchId="0",ts($e,Et);var nr=!1,vr=!0;Object.keys(ct.context).forEach(function(Or){nr=nr||ct.context[Or].propDep}),nr||(Do($e,Et,ct.context),vr=!1);var Ht=ct.framebuffer,Nt=!1;Ht?(Ht.propDep?nr=Nt=!0:Ht.contextDep&&nr&&(Nt=!0),Nt||Ro($e,Et,Ht)):Ro($e,Et,null),ct.state.viewport&&ct.state.viewport.propDep&&(nr=!0);function Pt(Or){return Or.contextDep&&nr||Or.propDep}Uo($e,Et,ct),Sa($e,Et,ct.state,function(Or){return!Pt(Or)}),(!ct.profile||!Pt(ct.profile))&&qi($e,Et,ct,!1,"a1"),ct.contextDep=nr,ct.needsContext=vr,ct.needsFramebuffer=Nt;var At=ct.shader.progVar;if(At.contextDep&&nr||At.propDep)ir($e,Et,ct,null);else{var Lt=At.append($e,Et);if(Et($e.shared.gl,".useProgram(",Lt,".program);"),ct.shader.program)ir($e,Et,ct,ct.shader.program);else{Et($e.shared.vao,".setVAO(null);");var dt=$e.global.def("{}"),Jt=Et.def(Lt,".id"),yr=Et.def(dt,"[",Jt,"]");Et($e.cond(yr).then(yr,".call(this,a0,a1);").else(yr,"=",dt,"[",Jt,"]=",$e.link(function(Or){return ha(ir,$e,ct,Or,2)}),"(",Lt,");",yr,".call(this,a0,a1);"))}}Object.keys(ct.state).length>0&&Et($e.shared.current,".dirty=true;"),$e.shared.vao&&Et($e.shared.vao,".setVAO(null);")}function Fn($e,ct){var Et=$e.proc("scope",3);$e.batchId="a2";var nr=$e.shared,vr=nr.current;if(Do($e,Et,ct.context),ct.framebuffer&&ct.framebuffer.append($e,Et),jr(Object.keys(ct.state)).forEach(function(Pt){var At=ct.state[Pt],Lt=At.append($e,Et);Rn(Lt)?Lt.forEach(function(dt,Jt){wn(dt)?Et.set($e.next[Pt],"["+Jt+"]",dt):Et.set($e.next[Pt],"["+Jt+"]",$e.link(dt,{stable:!0}))}):Ln(At)?Et.set(nr.next,"."+Pt,$e.link(Lt,{stable:!0})):Et.set(nr.next,"."+Pt,Lt)}),qi($e,Et,ct,!0,!0),[et,zt,Tt,Yt,bt].forEach(function(Pt){var At=ct.draw[Pt];if(At){var Lt=At.append($e,Et);wn(Lt)?Et.set(nr.draw,"."+Pt,Lt):Et.set(nr.draw,"."+Pt,$e.link(Lt),{stable:!0})}}),Object.keys(ct.uniforms).forEach(function(Pt){var At=ct.uniforms[Pt].append($e,Et);Array.isArray(At)&&(At="["+At.map(function(Lt){return wn(Lt)?Lt:$e.link(Lt,{stable:!0})})+"]"),Et.set(nr.uniforms,"["+$e.link(ot.id(Pt),{stable:!0})+"]",At)}),Object.keys(ct.attributes).forEach(function(Pt){var At=ct.attributes[Pt].append($e,Et),Lt=$e.scopeAttrib(Pt);Object.keys(new pr).forEach(function(dt){Et.set(Lt,"."+dt,At[dt])})}),ct.scopeVAO){var Ht=ct.scopeVAO.append($e,Et);wn(Ht)?Et.set(nr.vao,".targetVAO",Ht):Et.set(nr.vao,".targetVAO",$e.link(Ht,{stable:!0}))}function Nt(Pt){var At=ct.shader[Pt];if(At){var Lt=At.append($e,Et);wn(Lt)?Et.set(nr.shader,"."+Pt,Lt):Et.set(nr.shader,"."+Pt,$e.link(Lt,{stable:!0}))}}Nt(ke),Nt(Ne),Object.keys(ct.state).length>0&&(Et(vr,".dirty=true;"),Et.exit(vr,".dirty=true;")),Et("a1(",$e.shared.context,",a0,",$e.batchId,");")}function Ga($e){if(!(typeof $e!="object"||Rn($e))){for(var ct=Object.keys($e),Et=0;Et=0;--ha){var Ka=jn[ha];Ka&&Ka(Sr,null,0)}ht.flush(),Kr&&Kr.update()}function Ra(){!sa&&jn.length>0&&(sa=v.next(ca))}function go(){sa&&(v.cancel(ca),sa=null)}function No(ha){ha.preventDefault(),cr=!0,go(),oa.forEach(function(Ka){Ka()})}function ja(ha){ht.getError(),cr=!1,dr.restore(),Gn.restore(),Zr.restore(),kr.restore(),Mr.restore(),_n.restore(),hn.restore(),Kr&&Kr.restore(),an.procs.refresh(),Ra(),rn.forEach(function(Ka){Ka()})}wn&&(wn.addEventListener(Ri,No,!1),wn.addEventListener(To,ja,!1));function cl(){jn.length=0,go(),wn&&(wn.removeEventListener(Ri,No),wn.removeEventListener(To,ja)),Gn.clear(),_n.clear(),Mr.clear(),hn.clear(),kr.clear(),Cr.clear(),Zr.clear(),Kr&&Kr.clear(),Sn.forEach(function(ha){ha()})}function Ci(ha){function Ka(Ht){var Nt=e({},Ht);delete Nt.uniforms,delete Nt.attributes,delete Nt.context,delete Nt.vao,"stencil"in Nt&&Nt.stencil.op&&(Nt.stencil.opBack=Nt.stencil.opFront=Nt.stencil.op,delete Nt.stencil.op);function Pt(At){if(At in Nt){var Lt=Nt[At];delete Nt[At],Object.keys(Lt).forEach(function(dt){Nt[At+"."+dt]=Lt[dt]})}}return Pt("blend"),Pt("depth"),Pt("cull"),Pt("stencil"),Pt("polygonOffset"),Pt("scissor"),Pt("sample"),"vao"in Ht&&(Nt.vao=Ht.vao),Nt}function ti(Ht,Nt){var Pt={},At={};return Object.keys(Ht).forEach(function(Lt){var dt=Ht[Lt];if(h.isDynamic(dt)){At[Lt]=h.unbox(dt,Lt);return}else if(Nt&&Array.isArray(dt)){for(var Jt=0;Jt0)return $e.call(this,nr(Ht|0),Ht|0)}else if(Array.isArray(Ht)){if(Ht.length)return $e.call(this,Ht,Ht.length)}else return Pn.call(this,Ht)}return e(vr,{stats:Ga,destroy:function(){Li.destroy()}})}var Ts=_n.setFBO=Ci({framebuffer:h.define.call(null,Qo,"framebuffer")});function es(ha,Ka){var ti=0;an.procs.poll();var it=Ka.color;it&&(ht.clearColor(+it[0]||0,+it[1]||0,+it[2]||0,+it[3]||0),ti|=Ps),"depth"in Ka&&(ht.clearDepth(+Ka.depth),ti|=Yo),"stencil"in Ka&&(ht.clearStencil(Ka.stencil|0),ti|=ma),ht.clear(ti)}function Ds(ha){if("framebuffer"in ha)if(ha.framebuffer&&ha.framebuffer_reglType==="framebufferCube")for(var Ka=0;Ka<6;++Ka)Ts(e({framebuffer:ha.framebuffer.faces[Ka]},ha),es);else Ts(ha,es);else es(null,ha)}function Do(ha){jn.push(ha);function Ka(){var ti=wu(jn,ha);function it(){var ir=wu(jn,it);jn[ir]=jn[jn.length-1],jn.length-=1,jn.length<=0&&go()}jn[ti]=it}return Ra(),{cancel:Ka}}function Ro(){var ha=Qr.viewport,Ka=Qr.scissor_box;ha[0]=ha[1]=Ka[0]=Ka[1]=0,Sr.viewportWidth=Sr.framebufferWidth=Sr.drawingBufferWidth=ha[2]=Ka[2]=ht.drawingBufferWidth,Sr.viewportHeight=Sr.framebufferHeight=Sr.drawingBufferHeight=ha[3]=Ka[3]=ht.drawingBufferHeight}function Uo(){Sr.tick+=1,Sr.time=ts(),Ro(),an.procs.poll()}function Sa(){kr.refresh(),Ro(),an.procs.refresh(),Kr&&Kr.update()}function ts(){return(d()-Hn)/1e3}Sa();function qi(ha,Ka){var ti;switch(ha){case"frame":return Do(Ka);case"lost":ti=oa;break;case"restore":ti=rn;break;case"destroy":ti=Sn;break;default:}return ti.push(Ka),{cancel:function(){for(var it=0;it=0},read:Jr,destroy:cl,_gl:ht,_refresh:Sa,poll:function(){Uo(),Kr&&Kr.update()},now:ts,stats:Rr,getCachedCode:Hs,preloadCachedCode:js});return ot.onDone(null,fl),fl}return Dc}))});var EIe=ne((Gpr,SIe)=>{"use strict";var Jqt=s1();SIe.exports=function(t){if(t?typeof t=="string"&&(t={container:t}):t={},AIe(t)?t={container:t}:Qqt(t)?t={container:t}:eBt(t)?t={gl:t}:t=Jqt(t,{container:"container target element el canvas holder parent parentNode wrapper use ref root node",gl:"gl context webgl glContext",attrs:"attributes attrs contextAttributes",pixelRatio:"pixelRatio pxRatio px ratio pxratio pixelratio",width:"w width",height:"h height"},!0),t.pixelRatio||(t.pixelRatio=window.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if(typeof t.container=="string"){var r=document.querySelector(t.container);if(!r)throw Error("Element "+t.container+" is not found");t.container=r}AIe(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=MIe(),t.container.appendChild(t.canvas),TIe(t))}else if(!t.canvas)if(typeof document!="undefined")t.container=document.body||document.documentElement,t.canvas=MIe(),t.container.appendChild(t.canvas),TIe(t);else throw Error("Not DOM environment. Use headless-gl.");return t.gl||["webgl","experimental-webgl","webgl-experimental"].some(function(n){try{t.gl=t.canvas.getContext(n,t.attrs)}catch(a){}return t.gl}),t.gl};function TIe(e){if(e.container)if(e.container==document.body)document.body.style.width||(e.canvas.width=e.width||e.pixelRatio*window.innerWidth),document.body.style.height||(e.canvas.height=e.height||e.pixelRatio*window.innerHeight);else{var t=e.container.getBoundingClientRect();e.canvas.width=e.width||t.right-t.left,e.canvas.height=e.height||t.bottom-t.top}}function AIe(e){return typeof e.getContext=="function"&&"width"in e&&"height"in e}function Qqt(e){return typeof e.nodeName=="string"&&typeof e.appendChild=="function"&&typeof e.getBoundingClientRect=="function"}function eBt(e){return typeof e.drawArrays=="function"||typeof e.drawElements=="function"}function MIe(){var e=document.createElement("canvas");return e.style.position="absolute",e.style.top=0,e.style.left=0,e}});var CIe=ne((Hpr,kIe)=>{"use strict";var tBt=uW(),rBt=[32,126];kIe.exports=nBt;function nBt(e){e=e||{};var t=e.shape?e.shape:e.canvas?[e.canvas.width,e.canvas.height]:[512,512],r=e.canvas||document.createElement("canvas"),n=e.font,a=typeof e.step=="number"?[e.step,e.step]:e.step||[32,32],i=e.chars||rBt;if(n&&typeof n!="string"&&(n=tBt(n)),!Array.isArray(i))i=String(i).split("");else if(i.length===2&&typeof i[0]=="number"&&typeof i[1]=="number"){for(var o=[],s=i[0],l=0;s<=i[1];s++)o[l++]=String.fromCharCode(s);i=o}t=t.slice(),r.width=t[0],r.height=t[1];var u=r.getContext("2d");u.fillStyle="#000",u.fillRect(0,0,r.width,r.height),u.font=n,u.textAlign="center",u.textBaseline="middle",u.fillStyle="#fff";for(var c=a[0]/2,f=a[1]/2,s=0;st[0]-a[0]/2&&(c=a[0]/2,f+=a[1]);return r}});var dW=ne(Gc=>{"use strict";"use restrict";var hW=32;Gc.INT_BITS=hW;Gc.INT_MAX=2147483647;Gc.INT_MIN=-1<0)-(e<0)};Gc.abs=function(e){var t=e>>hW-1;return(e^t)-t};Gc.min=function(e,t){return t^(e^t)&-(e65535)<<4,e>>>=t,r=(e>255)<<3,e>>>=r,t|=r,r=(e>15)<<2,e>>>=r,t|=r,r=(e>3)<<1,e>>>=r,t|=r,t|e>>1};Gc.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0};Gc.popCount=function(e){return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24};function LIe(e){var t=32;return e&=-e,e&&t--,e&65535&&(t-=16),e&16711935&&(t-=8),e&252645135&&(t-=4),e&858993459&&(t-=2),e&1431655765&&(t-=1),t}Gc.countTrailingZeros=LIe;Gc.nextPow2=function(e){return e+=e===0,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e+1};Gc.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e-(e>>>1)};Gc.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,e&=15,27030>>>e&1};var m6=new Array(256);(function(e){for(var t=0;t<256;++t){var r=t,n=t,a=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=r&1,--a;e[t]=n<>>8&255]<<16|m6[e>>>16&255]<<8|m6[e>>>24&255]};Gc.interleave2=function(e,t){return e&=65535,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t&=65535,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1};Gc.deinterleave2=function(e,t){return e=e>>>t&1431655765,e=(e|e>>>1)&858993459,e=(e|e>>>2)&252645135,e=(e|e>>>4)&16711935,e=(e|e>>>16)&65535,e<<16>>16};Gc.interleave3=function(e,t,r){return e&=1023,e=(e|e<<16)&4278190335,e=(e|e<<8)&251719695,e=(e|e<<4)&3272356035,e=(e|e<<2)&1227133513,t&=1023,t=(t|t<<16)&4278190335,t=(t|t<<8)&251719695,t=(t|t<<4)&3272356035,t=(t|t<<2)&1227133513,e|=t<<1,r&=1023,r=(r|r<<16)&4278190335,r=(r|r<<8)&251719695,r=(r|r<<4)&3272356035,r=(r|r<<2)&1227133513,e|r<<2};Gc.deinterleave3=function(e,t){return e=e>>>t&1227133513,e=(e|e>>>2)&3272356035,e=(e|e>>>4)&251719695,e=(e|e>>>8)&4278190335,e=(e|e>>>16)&1023,e<<22>>22};Gc.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>LIe(e)+1}});var DIe=ne((Wpr,PIe)=>{"use strict";function FIe(e,t,r){var n=e[r]|0;if(n<=0)return[];var a=new Array(n),i;if(r===e.length-1)for(i=0;i0)return aBt(e|0,t);break;case"object":if(typeof e.length=="number")return FIe(e,t,0);break}return[]}PIe.exports=iBt});var XIe=ne(Ss=>{"use strict";var ry=dW(),Wh=DIe(),RIe=Ux().Buffer;window.__TYPEDARRAY_POOL||(window.__TYPEDARRAY_POOL={UINT8:Wh([32,0]),UINT16:Wh([32,0]),UINT32:Wh([32,0]),BIGUINT64:Wh([32,0]),INT8:Wh([32,0]),INT16:Wh([32,0]),INT32:Wh([32,0]),BIGINT64:Wh([32,0]),FLOAT:Wh([32,0]),DOUBLE:Wh([32,0]),DATA:Wh([32,0]),UINT8C:Wh([32,0]),BUFFER:Wh([32,0])});var oBt=typeof Uint8ClampedArray!="undefined",sBt=typeof BigUint64Array!="undefined",lBt=typeof BigInt64Array!="undefined",nf=window.__TYPEDARRAY_POOL;nf.UINT8C||(nf.UINT8C=Wh([32,0]));nf.BIGUINT64||(nf.BIGUINT64=Wh([32,0]));nf.BIGINT64||(nf.BIGINT64=Wh([32,0]));nf.BUFFER||(nf.BUFFER=Wh([32,0]));var E9=nf.DATA,k9=nf.BUFFER;Ss.free=function(t){if(RIe.isBuffer(t))k9[ry.log2(t.length)].push(t);else{if(Object.prototype.toString.call(t)!=="[object ArrayBuffer]"&&(t=t.buffer),!t)return;var r=t.length||t.byteLength,n=ry.log2(r)|0;E9[n].push(t)}};function IIe(e){if(e){var t=e.length||e.byteLength,r=ry.log2(t);E9[r].push(e)}}function uBt(e){IIe(e.buffer)}Ss.freeUint8=Ss.freeUint16=Ss.freeUint32=Ss.freeBigUint64=Ss.freeInt8=Ss.freeInt16=Ss.freeInt32=Ss.freeBigInt64=Ss.freeFloat32=Ss.freeFloat=Ss.freeFloat64=Ss.freeDouble=Ss.freeUint8Clamped=Ss.freeDataView=uBt;Ss.freeArrayBuffer=IIe;Ss.freeBuffer=function(t){k9[ry.log2(t.length)].push(t)};Ss.malloc=function(t,r){if(r===void 0||r==="arraybuffer")return nv(t);switch(r){case"uint8":return vW(t);case"uint16":return zIe(t);case"uint32":return qIe(t);case"int8":return BIe(t);case"int16":return OIe(t);case"int32":return NIe(t);case"float":case"float32":return UIe(t);case"double":case"float64":return VIe(t);case"uint8_clamped":return GIe(t);case"bigint64":return jIe(t);case"biguint64":return HIe(t);case"buffer":return YIe(t);case"data":case"dataview":return WIe(t);default:return null}return null};function nv(t){var t=ry.nextPow2(t),r=ry.log2(t),n=E9[r];return n.length>0?n.pop():new ArrayBuffer(t)}Ss.mallocArrayBuffer=nv;function vW(e){return new Uint8Array(nv(e),0,e)}Ss.mallocUint8=vW;function zIe(e){return new Uint16Array(nv(2*e),0,e)}Ss.mallocUint16=zIe;function qIe(e){return new Uint32Array(nv(4*e),0,e)}Ss.mallocUint32=qIe;function BIe(e){return new Int8Array(nv(e),0,e)}Ss.mallocInt8=BIe;function OIe(e){return new Int16Array(nv(2*e),0,e)}Ss.mallocInt16=OIe;function NIe(e){return new Int32Array(nv(4*e),0,e)}Ss.mallocInt32=NIe;function UIe(e){return new Float32Array(nv(4*e),0,e)}Ss.mallocFloat32=Ss.mallocFloat=UIe;function VIe(e){return new Float64Array(nv(8*e),0,e)}Ss.mallocFloat64=Ss.mallocDouble=VIe;function GIe(e){return oBt?new Uint8ClampedArray(nv(e),0,e):vW(e)}Ss.mallocUint8Clamped=GIe;function HIe(e){return sBt?new BigUint64Array(nv(8*e),0,e):null}Ss.mallocBigUint64=HIe;function jIe(e){return lBt?new BigInt64Array(nv(8*e),0,e):null}Ss.mallocBigInt64=jIe;function WIe(e){return new DataView(nv(e),0,e)}Ss.mallocDataView=WIe;function YIe(e){e=ry.nextPow2(e);var t=ry.log2(e),r=k9[t];return r.length>0?r.pop():new RIe(e)}Ss.mallocBuffer=YIe;Ss.clearCache=function(){for(var t=0;t<32;++t)nf.UINT8[t].length=0,nf.UINT16[t].length=0,nf.UINT32[t].length=0,nf.INT8[t].length=0,nf.INT16[t].length=0,nf.INT32[t].length=0,nf.FLOAT[t].length=0,nf.DOUBLE[t].length=0,nf.BIGUINT64[t].length=0,nf.BIGINT64[t].length=0,nf.UINT8C[t].length=0,E9[t].length=0,k9[t].length=0}});var $Ie=ne((Xpr,ZIe)=>{"use strict";var cBt=Object.prototype.toString;ZIe.exports=function(e){var t;return cBt.call(e)==="[object Object]"&&(t=Object.getPrototypeOf(e),t===null||t===Object.getPrototypeOf({}))}});var pW=ne((Zpr,KIe)=>{KIe.exports=function(t,r){r||(r=[0,""]),t=String(t);var n=parseFloat(t,10);return r[0]=n,r[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",r}});var eze=ne(($pr,QIe)=>{"use strict";var fBt=pW();QIe.exports=JIe;var y6=96;function gW(e,t){var r=fBt(getComputedStyle(e).getPropertyValue(t));return r[0]*JIe(r[1],e)}function hBt(e,t){var r=document.createElement("div");r.style["font-size"]="128"+e,t.appendChild(r);var n=gW(r,"font-size")/128;return t.removeChild(r),n}function JIe(e,t){switch(t=t||document.body,e=(e||"px").trim().toLowerCase(),(t===window||t===document)&&(t=document.body),e){case"%":return t.clientHeight/100;case"ch":case"ex":return hBt(e,t);case"em":return gW(t,"font-size");case"rem":return gW(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 y6;case"cm":return y6/2.54;case"mm":return y6/25.4;case"pt":return y6/72;case"pc":return y6/6}return 1}});var nze=ne((Kpr,rze)=>{"use strict";rze.exports=F9;var dBt=F9.canvas=document.createElement("canvas"),C9=dBt.getContext("2d"),tze=L9([32,126]);F9.createPairs=L9;F9.ascii=tze;function F9(e,t){Array.isArray(e)&&(e=e.join(", "));var r={},n,a=16,i=.05;t&&(t.length===2&&typeof t[0]=="number"?n=L9(t):Array.isArray(t)?n=t:(t.o?n=L9(t.o):t.pairs&&(n=t.pairs),t.fontSize&&(a=t.fontSize),t.threshold!=null&&(i=t.threshold))),n||(n=tze),C9.font=a+"px "+e;for(var o=0;oa*i){var c=(u-l)/a;r[s]=c*1e3}}return r}function L9(e){for(var t=[],r=e[0];r<=e[1];r++)for(var n=String.fromCharCode(r),a=e[0];a{"use strict";oze.exports=ny;ny.canvas=document.createElement("canvas");ny.cache={};function ny(o,t){t||(t={}),(typeof o=="string"||Array.isArray(o))&&(t.family=o);var r=Array.isArray(t.family)?t.family.join(", "):t.family;if(!r)throw Error("`family` must be defined");var n=t.size||t.fontSize||t.em||48,a=t.weight||t.fontWeight||"",i=t.style||t.fontStyle||"",o=[i,a,n].join(" ")+"px "+r,s=t.origin||"top";if(ny.cache[r]&&n<=ny.cache[r].em)return aze(ny.cache[r],s);var l=t.canvas||ny.canvas,u=l.getContext("2d"),c={upper:t.upper!==void 0?t.upper:"H",lower:t.lower!==void 0?t.lower:"x",descent:t.descent!==void 0?t.descent:"p",ascent:t.ascent!==void 0?t.ascent:"h",tittle:t.tittle!==void 0?t.tittle:"i",overshoot:t.overshoot!==void 0?t.overshoot:"O"},f=Math.ceil(n*1.5);l.height=f,l.width=f*.5,u.font=o;var h="H",v={top:0};u.clearRect(0,0,f,f),u.textBaseline="top",u.fillStyle="black",u.fillText(h,0,0);var d=u1(u.getImageData(0,0,f,f));u.clearRect(0,0,f,f),u.textBaseline="bottom",u.fillText(h,0,f);var m=u1(u.getImageData(0,0,f,f));v.lineHeight=v.bottom=f-m+d,u.clearRect(0,0,f,f),u.textBaseline="alphabetic",u.fillText(h,0,f);var x=u1(u.getImageData(0,0,f,f)),g=f-x-1+d;v.baseline=v.alphabetic=g,u.clearRect(0,0,f,f),u.textBaseline="middle",u.fillText(h,0,f*.5);var E=u1(u.getImageData(0,0,f,f));v.median=v.middle=f-E-1+d-f*.5,u.clearRect(0,0,f,f),u.textBaseline="hanging",u.fillText(h,0,f*.5);var M=u1(u.getImageData(0,0,f,f));v.hanging=f-M-1+d-f*.5,u.clearRect(0,0,f,f),u.textBaseline="ideographic",u.fillText(h,0,f);var w=u1(u.getImageData(0,0,f,f));if(v.ideographic=f-w-1+d,c.upper&&(u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.upper,0,0),v.upper=u1(u.getImageData(0,0,f,f)),v.capHeight=v.baseline-v.upper),c.lower&&(u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.lower,0,0),v.lower=u1(u.getImageData(0,0,f,f)),v.xHeight=v.baseline-v.lower),c.tittle&&(u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.tittle,0,0),v.tittle=u1(u.getImageData(0,0,f,f))),c.ascent&&(u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.ascent,0,0),v.ascent=u1(u.getImageData(0,0,f,f))),c.descent&&(u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.descent,0,0),v.descent=ize(u.getImageData(0,0,f,f))),c.overshoot){u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.overshoot,0,0);var k=ize(u.getImageData(0,0,f,f));v.overshoot=k-g}for(var y in v)v[y]/=n;return v.em=n,ny.cache[r]=v,aze(v,s)}function aze(e,t){var r={};typeof t=="string"&&(t=e[t]);for(var n in e)n!=="em"&&(r[n]=e[n]-t);return r}function u1(e){for(var t=e.height,r=e.data,n=3;n0;n-=4)if(r[n]!==0)return Math.floor((n-3)*.25/t)}});var fze=ne((Qpr,cze)=>{"use strict";var xw=_Ie(),vBt=s1(),pBt=wIe(),gBt=EIe(),mBt=Zj(),mW=Hm(),yBt=CIe(),ay=XIe(),xBt=sw(),bBt=$Ie(),_Bt=pW(),wBt=eze(),TBt=nze(),ABt=Uc(),MBt=sze(),SBt=M2(),EBt=dW(),lze=EBt.nextPow2,uze=new mBt,D9=!1;document.body&&(P9=document.body.appendChild(document.createElement("div")),P9.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(P9).fontStretch&&(D9=!0),document.body.removeChild(P9));var P9,bl=function(t){kBt(t)?(t={regl:t},this.gl=t.regl._gl):this.gl=gBt(t),this.shader=uze.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||pBt({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(),uze.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(bBt(t)?t:{})};bl.prototype.createShader=function(){var t=this.regl,r=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop("count"),offset:t.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this("sizeBuffer")},width:{offset:0,stride:8,buffer:t.this("sizeBuffer")},char:t.this("charBuffer"),position:t.this("position")},uniforms:{atlasSize:function(a,i){return[i.atlas.width,i.atlas.height]},atlasDim:function(a,i){return[i.atlas.cols,i.atlas.rows]},atlas:function(a,i){return i.atlas.texture},charStep:function(a,i){return i.atlas.step},em:function(a,i){return i.atlas.em},color:t.prop("color"),opacity:t.prop("opacity"),viewport:t.this("viewportArray"),scale:t.this("scale"),align:t.prop("align"),baseline:t.prop("baseline"),translate:t.this("translate"),positionOffset:t.prop("positionOffset")},primitive:"points",viewport:t.this("viewport"),vert:` precision highp float; attribute float width, charOffset, char; attribute vec2 position; @@ -2705,513 +2705,12 @@ void main() { // color.rgb += (1. - color.rgb) * (1. - mask.rgb); gl_FragColor = color; - }`}),n={};return{regl:t,draw:r,atlas:n}};xc.prototype.update=function(t){var r=this;if(typeof t=="string")t={text:t};else if(!t)return;t=UUt(t,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},!0),t.opacity!=null&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map(function(Ce){return parseFloat(Ce)}):this.opacity=parseFloat(t.opacity)),t.viewport!=null&&(this.viewport=WUt(t.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]),t.kerning!=null&&(this.kerning=t.kerning),t.offset!=null&&(typeof t.offset=="number"&&(t.offset=[t.offset,0]),this.positionOffset=QUt(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),!this.font.length&&!t.font&&(t.font=xc.baseFontSize+"px sans-serif");var n=!1,i=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach(function(Ce,ge){if(typeof Ce=="string")try{Ce=x5.parse(Ce)}catch(He){Ce=x5.parse(xc.baseFontSize+"px "+Ce)}else{var re=Ce.style,Se=Ce.weight,ke=Ce.stretch,be=Ce.variant;Ce=x5.parse(x5.stringify(Ce)),re&&(Ce.style=re),Se&&(Ce.weight=Se),ke&&(Ce.stretch=ke),be&&(Ce.variant=be)}var Be=x5.stringify({size:xc.baseFontSize,family:Ce.family,stretch:Pz?Ce.stretch:void 0,variant:Ce.variant,weight:Ce.weight,style:Ce.style}),Le=ZUt(Ce.size),me=Math.round(Le[0]*YUt(Le[1]));if(me!==r.fontSize[ge]&&(i=!0,r.fontSize[ge]=me),(!r.font[ge]||Be!=r.font[ge].baseString)&&(n=!0,r.font[ge]=xc.fonts[Be],!r.font[ge])){var Pe=Ce.family.join(", "),ce=[Ce.style];Ce.style!=Ce.variant&&ce.push(Ce.variant),Ce.variant!=Ce.weight&&ce.push(Ce.weight),Pz&&Ce.weight!=Ce.stretch&&ce.push(Ce.stretch),r.font[ge]={baseString:Be,family:Pe,weight:Ce.weight,stretch:Ce.stretch,style:Ce.style,variant:Ce.variant,width:{},kerning:{},metrics:$Ut(Pe,{origin:"top",fontSize:xc.baseFontSize,fontStyle:ce.join(" ")})},xc.fonts[Be]=r.font[ge]}}),(n||i)&&this.font.forEach(function(Ce,ge){var re=x5.stringify({size:r.fontSize[ge],family:Ce.family,stretch:Pz?Ce.stretch:void 0,variant:Ce.variant,weight:Ce.weight,style:Ce.style});if(r.fontAtlas[ge]=r.shader.atlas[re],!r.fontAtlas[ge]){var Se=Ce.metrics;r.shader.atlas[re]=r.fontAtlas[ge]={fontString:re,step:Math.ceil(r.fontSize[ge]*Se.bottom*.5)*2,em:r.fontSize[ge],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:r.regl.texture()}}t.text==null&&(t.text=r.text)}),typeof t.text=="string"&&t.position&&t.position.length>2){for(var a=Array(t.position.length*.5),o=0;o2){for(var u=!t.position[0].length,c=Tx.mallocFloat(this.count*2),f=0,h=0;f1?r.align[ge]:r.align[0]:r.align;if(typeof re=="number")return re;switch(re){case"right":case"end":return-Ce;case"center":case"centre":case"middle":return-Ce*.5}return 0})),this.baseline==null&&t.baseline==null&&(t.baseline=0),t.baseline!=null&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map(function(Ce,ge){var re=(r.font[ge]||r.font[0]).metrics,Se=0;return Se+=re.bottom*.5,typeof Ce=="number"?Se+=Ce-re.baseline:Se+=-re[Ce],Se*=-1,Se})),t.color!=null)if(t.color||(t.color="transparent"),typeof t.color=="string"||!isNaN(t.color))this.color=gK(t.color,"uint8");else{var G;if(typeof t.color[0]=="number"&&t.color.length>this.counts.length){var Z=t.color.length;G=Tx.mallocUint8(Z);for(var j=(t.color.subarray||t.color.slice).bind(t.color),N=0;N4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2;if(ae){var _e=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(_e);for(var Ee=0;Ee1?this.counts[Ee]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[Ee]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(Ee*4,Ee*4+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[Ee]:this.opacity,baseline:this.baselineOffset[Ee]!=null?this.baselineOffset[Ee]:this.baselineOffset[0],align:this.align?this.alignOffset[Ee]!=null?this.alignOffset[Ee]:this.alignOffset[0]:0,atlas:this.fontAtlas[Ee]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(Ee*2,Ee*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=[]}};xc.prototype.destroy=function(){};xc.prototype.kerning=!0;xc.prototype.position={constant:new Float32Array(2)};xc.prototype.translate=null;xc.prototype.scale=null;xc.prototype.font=null;xc.prototype.text="";xc.prototype.positionOffset=[0,0];xc.prototype.opacity=1;xc.prototype.color=new Uint8Array([0,0,0,255]);xc.prototype.alignOffset=[0,0];xc.maxAtlasSize=1024;xc.atlasCanvas=document.createElement("canvas");xc.atlasContext=xc.atlasCanvas.getContext("2d",{alpha:!1});xc.baseFontSize=64;xc.fonts={};function tVt(e){return typeof e=="function"&&e._gl&&e.prop&&e.texture&&e.buffer}qBe.exports=xc});var BBe=ye((mK,yK)=>{(function(e,t){typeof mK=="object"&&typeof yK!="undefined"?yK.exports=t():e.createREGL=t()})(mK,function(){"use strict";var e=function(Me,bt){for(var Ot=Object.keys(bt),Lr=0;Lr1&&bt===Ot&&(bt==='"'||bt==="'"))return['"'+o(Me.substr(1,Me.length-2))+'"'];var Lr=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(Me);if(Lr)return s(Me.substr(0,Lr.index)).concat(s(Lr[1])).concat(s(Me.substr(Lr.index+Lr[0].length)));var Vr=Me.split(".");if(Vr.length===1)return['"'+o(Me)+'"'];for(var Or=[],Nr=0;Nr65535)<<4,Me>>>=bt,Ot=(Me>255)<<3,Me>>>=Ot,bt|=Ot,Ot=(Me>15)<<2,Me>>>=Ot,bt|=Ot,Ot=(Me>3)<<1,Me>>>=Ot,bt|=Ot,bt|Me>>1}function N(){var Me=S(8,function(){return[]});function bt(Or){var Nr=Z(Or),vi=Me[j(Nr)>>2];return vi.length>0?vi.pop():new ArrayBuffer(Nr)}function Ot(Or){Me[j(Or.byteLength)>>2].push(Or)}function Lr(Or,Nr){var vi=null;switch(Or){case g:vi=new Int8Array(bt(Nr),0,Nr);break;case P:vi=new Uint8Array(bt(Nr),0,Nr);break;case E:vi=new Int16Array(bt(2*Nr),0,Nr);break;case z:vi=new Uint16Array(bt(2*Nr),0,Nr);break;case q:vi=new Int32Array(bt(4*Nr),0,Nr);break;case V:vi=new Uint32Array(bt(4*Nr),0,Nr);break;case G:vi=new Float32Array(bt(4*Nr),0,Nr);break;default:return null}return vi.length!==Nr?vi.subarray(0,Nr):vi}function Vr(Or){Ot(Or.buffer)}return{alloc:bt,free:Ot,allocType:Lr,freeType:Vr}}var H=N();H.zero=N();var ie=3408,ae=3410,_e=3411,Ee=3412,Ce=3413,ge=3414,re=3415,Se=33901,ke=33902,be=3379,Be=3386,Le=34921,me=36347,Pe=36348,ce=35661,He=35660,lt=34930,mt=36349,Ht=34076,at=34024,ct=7936,ar=7937,Vt=7938,rr=35724,tt=34047,je=36063,Ue=34852,Ae=3553,rt=34067,St=34069,Tt=33984,dt=6408,Et=5126,pt=5121,jt=36160,or=36053,mr=36064,Ar=16384,ei=function(Me,bt){var Ot=1;bt.ext_texture_filter_anisotropic&&(Ot=Me.getParameter(tt));var Lr=1,Vr=1;bt.webgl_draw_buffers&&(Lr=Me.getParameter(Ue),Vr=Me.getParameter(je));var Or=!!bt.oes_texture_float;if(Or){var Nr=Me.createTexture();Me.bindTexture(Ae,Nr),Me.texImage2D(Ae,0,dt,1,1,0,dt,Et,null);var vi=Me.createFramebuffer();if(Me.bindFramebuffer(jt,vi),Me.framebufferTexture2D(jt,mr,Ae,Nr,0),Me.bindTexture(Ae,null),Me.checkFramebufferStatus(jt)!==or)Or=!1;else{Me.viewport(0,0,1,1),Me.clearColor(1,0,0,1),Me.clear(Ar);var Ni=H.allocType(Et,4);Me.readPixels(0,0,1,1,dt,Et,Ni),Me.getError()?Or=!1:(Me.deleteFramebuffer(vi),Me.deleteTexture(Nr),Or=Ni[0]===1),H.freeType(Ni)}}var qi=typeof navigator!="undefined"&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),Si=!0;if(!qi){var Vn=Me.createTexture(),Qi=H.allocType(pt,36);Me.activeTexture(Tt),Me.bindTexture(rt,Vn),Me.texImage2D(St,0,dt,3,3,0,dt,pt,Qi),H.freeType(Qi),Me.bindTexture(rt,null),Me.deleteTexture(Vn),Si=!Me.getError()}return{colorBits:[Me.getParameter(ae),Me.getParameter(_e),Me.getParameter(Ee),Me.getParameter(Ce)],depthBits:Me.getParameter(ge),stencilBits:Me.getParameter(re),subpixelBits:Me.getParameter(ie),extensions:Object.keys(bt).filter(function(ji){return!!bt[ji]}),maxAnisotropic:Ot,maxDrawbuffers:Lr,maxColorAttachments:Vr,pointSizeDims:Me.getParameter(Se),lineWidthDims:Me.getParameter(ke),maxViewportDims:Me.getParameter(Be),maxCombinedTextureUnits:Me.getParameter(ce),maxCubeMapSize:Me.getParameter(Ht),maxRenderbufferSize:Me.getParameter(at),maxTextureUnits:Me.getParameter(lt),maxTextureSize:Me.getParameter(be),maxAttributes:Me.getParameter(Le),maxVertexUniforms:Me.getParameter(me),maxVertexTextureUnits:Me.getParameter(He),maxVaryingVectors:Me.getParameter(Pe),maxFragmentUniforms:Me.getParameter(mt),glsl:Me.getParameter(rr),renderer:Me.getParameter(ar),vendor:Me.getParameter(ct),version:Me.getParameter(Vt),readFloat:Or,npotTextureCube:Si}},qr=function(Me){return Me instanceof Uint8Array||Me instanceof Uint16Array||Me instanceof Uint32Array||Me instanceof Int8Array||Me instanceof Int16Array||Me instanceof Int32Array||Me instanceof Float32Array||Me instanceof Float64Array||Me instanceof Uint8ClampedArray};function jr(Me){return!!Me&&typeof Me=="object"&&Array.isArray(Me.shape)&&Array.isArray(Me.stride)&&typeof Me.offset=="number"&&Me.shape.length===Me.stride.length&&(Array.isArray(Me.data)||qr(Me.data))}var gt=function(Me){return Object.keys(Me).map(function(bt){return Me[bt]})},Ge={shape:Kt,flatten:At};function Je(Me,bt,Ot){for(var Lr=0;Lr0){var qn;if(Array.isArray(Zr[0])){Xi=Vi(Zr);for(var fi=1,si=1;si0){if(typeof fi[0]=="number"){var Ui=H.allocType(ui.dtype,fi.length);wr(Ui,fi),Xi(Ui,mn),H.freeType(Ui)}else if(Array.isArray(fi[0])||qr(fi[0])){Ji=Vi(fi);var Bi=Qn(fi,Ji,ui.dtype);Xi(Bi,mn),H.freeType(Bi)}}}else if(jr(fi)){Ji=fi.shape;var pn=fi.stride,Nn=0,aa=0,Ki=0,Cn=0;Ji.length===1?(Nn=Ji[0],aa=1,Ki=pn[0],Cn=0):Ji.length===2&&(Nn=Ji[0],aa=Ji[1],Ki=pn[0],Cn=pn[1]);var ia=Array.isArray(fi.data)?ui.dtype:ir(fi.data),sa=H.allocType(ia,Nn*aa);Xr(sa,fi.data,Nn,aa,Ki,Cn,fi.offset),Xi(sa,mn),H.freeType(sa)}return nn}return yi||nn(Tr),nn._reglType="buffer",nn._buffer=ui,nn.subdata=qn,Ot.profile&&(nn.stats=ui.stats),nn.destroy=function(){Qi(ui)},nn}function oi(){gt(Or).forEach(function(Tr){Tr.buffer=Me.createBuffer(),Me.bindBuffer(Tr.type,Tr.buffer),Me.bufferData(Tr.type,Tr.persistentData||Tr.byteLength,Tr.usage)})}return Ot.profile&&(bt.getTotalBufferSize=function(){var Tr=0;return Object.keys(Or).forEach(function(Zr){Tr+=Or[Zr].stats.size}),Tr}),{create:ji,createStream:Ni,destroyStream:qi,clear:function(){gt(Or).forEach(Qi),vi.forEach(Qi)},getBuffer:function(Tr){return Tr&&Tr._buffer instanceof Nr?Tr._buffer:null},restore:oi,_initBuffer:Vn}}var $r=0,Ri=0,Zi=1,en=1,fn=4,yn=4,Mn={points:$r,point:Ri,lines:Zi,line:en,triangles:fn,triangle:yn,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},Ba=0,ua=1,ma=4,Wa=5120,Fa=5121,Xo=5122,da=5123,jn=5124,Ha=5125,vo=34963,Gn=35040,Ct=35044;function Sr(Me,bt,Ot,Lr){var Vr={},Or=0,Nr={uint8:Fa,uint16:da};bt.oes_element_index_uint&&(Nr.uint32=Ha);function vi(oi){this.id=Or++,Vr[this.id]=this,this.buffer=oi,this.primType=ma,this.vertCount=0,this.type=0}vi.prototype.bind=function(){this.buffer.bind()};var Ni=[];function qi(oi){var Tr=Ni.pop();return Tr||(Tr=new vi(Ot.create(null,vo,!0,!1)._buffer)),Vn(Tr,oi,Gn,-1,-1,0,0),Tr}function Si(oi){Ni.push(oi)}function Vn(oi,Tr,Zr,yi,Ii,ui,nn){oi.buffer.bind();var Xi;if(Tr){var qn=nn;!nn&&(!qr(Tr)||jr(Tr)&&!qr(Tr.data))&&(qn=bt.oes_element_index_uint?Ha:da),Ot._initBuffer(oi.buffer,Tr,Zr,qn,3)}else Me.bufferData(vo,ui,Zr),oi.buffer.dtype=Xi||Fa,oi.buffer.usage=Zr,oi.buffer.dimension=3,oi.buffer.byteLength=ui;if(Xi=nn,!nn){switch(oi.buffer.dtype){case Fa:case Wa:Xi=Fa;break;case da:case Xo:Xi=da;break;case Ha:case jn:Xi=Ha;break;default:}oi.buffer.dtype=Xi}oi.type=Xi;var fi=Ii;fi<0&&(fi=oi.buffer.byteLength,Xi===da?fi>>=1:Xi===Ha&&(fi>>=2)),oi.vertCount=fi;var si=yi;if(yi<0){si=ma;var mn=oi.buffer.dimension;mn===1&&(si=Ba),mn===2&&(si=ua),mn===3&&(si=ma)}oi.primType=si}function Qi(oi){Lr.elementsCount--,delete Vr[oi.id],oi.buffer.destroy(),oi.buffer=null}function ji(oi,Tr){var Zr=Ot.create(null,vo,!0),yi=new vi(Zr._buffer);Lr.elementsCount++;function Ii(ui){if(!ui)Zr(),yi.primType=ma,yi.vertCount=0,yi.type=Fa;else if(typeof ui=="number")Zr(ui),yi.primType=ma,yi.vertCount=ui|0,yi.type=Fa;else{var nn=null,Xi=Ct,qn=-1,fi=-1,si=0,mn=0;Array.isArray(ui)||qr(ui)||jr(ui)?nn=ui:("data"in ui&&(nn=ui.data),"usage"in ui&&(Xi=Hn[ui.usage]),"primitive"in ui&&(qn=Mn[ui.primitive]),"count"in ui&&(fi=ui.count|0),"type"in ui&&(mn=Nr[ui.type]),"length"in ui?si=ui.length|0:(si=fi,mn===da||mn===Xo?si*=2:(mn===Ha||mn===jn)&&(si*=4))),Vn(yi,nn,Xi,qn,fi,si,mn)}return Ii}return Ii(oi),Ii._reglType="elements",Ii._elements=yi,Ii.subdata=function(ui,nn){return Zr.subdata(ui,nn),Ii},Ii.destroy=function(){Qi(yi)},Ii}return{create:ji,createStream:qi,destroyStream:Si,getElements:function(oi){return typeof oi=="function"&&oi._elements instanceof vi?oi._elements:null},clear:function(){gt(Vr).forEach(Qi)}}}var Jr=new Float32Array(1),hi=new Uint32Array(Jr.buffer),hn=5123;function Sn(Me){for(var bt=H.allocType(hn,Me.length),Ot=0;Ot>>31<<15,Or=(Lr<<1>>>24)-127,Nr=Lr>>13&1023;if(Or<-24)bt[Ot]=Vr;else if(Or<-14){var vi=-14-Or;bt[Ot]=Vr+(Nr+1024>>vi)}else Or>15?bt[Ot]=Vr+31744:bt[Ot]=Vr+(Or+15<<10)+Nr}return bt}function En(Me){return Array.isArray(Me)||qr(Me)}var ki=34467,_n=3553,ya=34067,ea=34069,Ma=6408,_o=6406,No=6407,po=6409,Lo=6410,ko=32854,Ds=32855,Fs=36194,ll=32819,ul=32820,zl=33635,us=34042,il=6402,As=34041,cl=35904,Ks=35906,zs=36193,Io=33776,ls=33777,Yl=33778,Su=33779,nc=35986,bs=35987,Rn=34798,_a=35840,Vu=35841,ql=35842,xo=35843,Kl=36196,Ns=5121,Hl=5123,ac=5125,oa=5126,qo=10242,Oo=10243,Ol=10497,Pc=33071,Do=33648,nf=10240,Vf=10241,pl=9728,Zc=9729,Jl=9984,qs=9985,yu=9986,oc=9987,Cf=33170,sc=4352,jh=4353,Lf=4354,cs=34046,af=3317,Gf=37440,$l=37441,fl=37443,lc=37444,Fu=33984,Es=[Jl,yu,qs,oc],Hs=[0,po,Lo,No,Ma],Go={};Go[po]=Go[_o]=Go[il]=1,Go[As]=Go[Lo]=2,Go[No]=Go[cl]=3,Go[Ma]=Go[Ks]=4;function ps(Me){return"[object "+Me+"]"}var uc=ps("HTMLCanvasElement"),xl=ps("OffscreenCanvas"),Gu=ps("CanvasRenderingContext2D"),Os=ps("ImageBitmap"),od=ps("HTMLImageElement"),Po=ps("HTMLVideoElement"),sd=Object.keys(Qt).concat([uc,xl,Gu,Os,od,Po]),Ko=[];Ko[Ns]=1,Ko[oa]=4,Ko[zs]=2,Ko[Hl]=2,Ko[ac]=4;var Pa=[];Pa[ko]=2,Pa[Ds]=2,Pa[Fs]=2,Pa[As]=4,Pa[Io]=.5,Pa[ls]=.5,Pa[Yl]=1,Pa[Su]=1,Pa[nc]=.5,Pa[bs]=1,Pa[Rn]=1,Pa[_a]=.5,Pa[Vu]=.25,Pa[ql]=.5,Pa[xo]=.25,Pa[Kl]=.5;function of(Me){return Array.isArray(Me)&&(Me.length===0||typeof Me[0]=="number")}function Hu(Me){if(!Array.isArray(Me))return!1;var bt=Me.length;return!(bt===0||!En(Me[0]))}function bl(Me){return Object.prototype.toString.call(Me)}function Hf(Me){return bl(Me)===uc}function Ic(Me){return bl(Me)===xl}function yf(Me){return bl(Me)===Gu}function Bl(Me){return bl(Me)===Os}function Ah(Me){return bl(Me)===od}function Qf(Me){return bl(Me)===Po}function _f(Me){if(!Me)return!1;var bt=bl(Me);return sd.indexOf(bt)>=0?!0:of(Me)||Hu(Me)||jr(Me)}function Yc(Me){return Qt[Object.prototype.toString.call(Me)]|0}function eh(Me,bt){var Ot=bt.length;switch(Me.type){case Ns:case Hl:case ac:case oa:var Lr=H.allocType(Me.type,Ot);Lr.set(bt),Me.data=Lr;break;case zs:Me.data=Sn(bt);break;default:}}function th(Me,bt){return H.allocType(Me.type===zs?oa:Me.type,bt)}function ju(Me,bt){Me.type===zs?(Me.data=Sn(bt),H.freeType(bt)):Me.data=bt}function jf(Me,bt,Ot,Lr,Vr,Or){for(var Nr=Me.width,vi=Me.height,Ni=Me.channels,qi=Nr*vi*Ni,Si=th(Me,qi),Vn=0,Qi=0;Qi=1;)vi+=Nr*Ni*Ni,Ni/=2;return vi}else return Nr*Ot*Lr}function sf(Me,bt,Ot,Lr,Vr,Or,Nr){var vi={"don't care":sc,"dont care":sc,nice:Lf,fast:jh},Ni={repeat:Ol,clamp:Pc,mirror:Do},qi={nearest:pl,linear:Zc},Si=e({mipmap:oc,"nearest mipmap nearest":Jl,"linear mipmap nearest":qs,"nearest mipmap linear":yu,"linear mipmap linear":oc},qi),Vn={none:0,browser:lc},Qi={uint8:Ns,rgba4:ll,rgb565:zl,"rgb5 a1":ul},ji={alpha:_o,luminance:po,"luminance alpha":Lo,rgb:No,rgba:Ma,rgba4:ko,"rgb5 a1":Ds,rgb565:Fs},oi={};bt.ext_srgb&&(ji.srgb=cl,ji.srgba=Ks),bt.oes_texture_float&&(Qi.float32=Qi.float=oa),bt.oes_texture_half_float&&(Qi.float16=Qi["half float"]=zs),bt.webgl_depth_texture&&(e(ji,{depth:il,"depth stencil":As}),e(Qi,{uint16:Hl,uint32:ac,"depth stencil":us})),bt.webgl_compressed_texture_s3tc&&e(oi,{"rgb s3tc dxt1":Io,"rgba s3tc dxt1":ls,"rgba s3tc dxt3":Yl,"rgba s3tc dxt5":Su}),bt.webgl_compressed_texture_atc&&e(oi,{"rgb atc":nc,"rgba atc explicit alpha":bs,"rgba atc interpolated alpha":Rn}),bt.webgl_compressed_texture_pvrtc&&e(oi,{"rgb pvrtc 4bppv1":_a,"rgb pvrtc 2bppv1":Vu,"rgba pvrtc 4bppv1":ql,"rgba pvrtc 2bppv1":xo}),bt.webgl_compressed_texture_etc1&&(oi["rgb etc1"]=Kl);var Tr=Array.prototype.slice.call(Me.getParameter(ki));Object.keys(oi).forEach(function(ne){var we=oi[ne];Tr.indexOf(we)>=0&&(ji[ne]=we)});var Zr=Object.keys(ji);Ot.textureFormats=Zr;var yi=[];Object.keys(ji).forEach(function(ne){var we=ji[ne];yi[we]=ne});var Ii=[];Object.keys(Qi).forEach(function(ne){var we=Qi[ne];Ii[we]=ne});var ui=[];Object.keys(qi).forEach(function(ne){var we=qi[ne];ui[we]=ne});var nn=[];Object.keys(Si).forEach(function(ne){var we=Si[ne];nn[we]=ne});var Xi=[];Object.keys(Ni).forEach(function(ne){var we=Ni[ne];Xi[we]=ne});var qn=Zr.reduce(function(ne,we){var Oe=ji[we];return Oe===po||Oe===_o||Oe===po||Oe===Lo||Oe===il||Oe===As||bt.ext_srgb&&(Oe===cl||Oe===Ks)?ne[Oe]=Oe:Oe===Ds||we.indexOf("rgba")>=0?ne[Oe]=Ma:ne[Oe]=No,ne},{});function fi(){this.internalformat=Ma,this.format=Ma,this.type=Ns,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=lc,this.width=0,this.height=0,this.channels=0}function si(ne,we){ne.internalformat=we.internalformat,ne.format=we.format,ne.type=we.type,ne.compressed=we.compressed,ne.premultiplyAlpha=we.premultiplyAlpha,ne.flipY=we.flipY,ne.unpackAlignment=we.unpackAlignment,ne.colorSpace=we.colorSpace,ne.width=we.width,ne.height=we.height,ne.channels=we.channels}function mn(ne,we){if(!(typeof we!="object"||!we)){if("premultiplyAlpha"in we&&(ne.premultiplyAlpha=we.premultiplyAlpha),"flipY"in we&&(ne.flipY=we.flipY),"alignment"in we&&(ne.unpackAlignment=we.alignment),"colorSpace"in we&&(ne.colorSpace=Vn[we.colorSpace]),"type"in we){var Oe=we.type;ne.type=Qi[Oe]}var ht=ne.width,Yt=ne.height,cr=ne.channels,Nt=!1;"shape"in we?(ht=we.shape[0],Yt=we.shape[1],we.shape.length===3&&(cr=we.shape[2],Nt=!0)):("radius"in we&&(ht=Yt=we.radius),"width"in we&&(ht=we.width),"height"in we&&(Yt=we.height),"channels"in we&&(cr=we.channels,Nt=!0)),ne.width=ht|0,ne.height=Yt|0,ne.channels=cr|0;var Ne=!1;if("format"in we){var $e=we.format,st=ne.internalformat=ji[$e];ne.format=qn[st],$e in Qi&&("type"in we||(ne.type=Qi[$e])),$e in oi&&(ne.compressed=!0),Ne=!0}!Nt&&Ne?ne.channels=Go[ne.format]:Nt&&!Ne&&ne.channels!==Hs[ne.format]&&(ne.format=ne.internalformat=Hs[ne.channels])}}function Ji(ne){Me.pixelStorei(Gf,ne.flipY),Me.pixelStorei($l,ne.premultiplyAlpha),Me.pixelStorei(fl,ne.colorSpace),Me.pixelStorei(af,ne.unpackAlignment)}function Ui(){fi.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function Bi(ne,we){var Oe=null;if(_f(we)?Oe=we:we&&(mn(ne,we),"x"in we&&(ne.xOffset=we.x|0),"y"in we&&(ne.yOffset=we.y|0),_f(we.data)&&(Oe=we.data)),we.copy){var ht=Vr.viewportWidth,Yt=Vr.viewportHeight;ne.width=ne.width||ht-ne.xOffset,ne.height=ne.height||Yt-ne.yOffset,ne.needsCopy=!0}else if(!Oe)ne.width=ne.width||1,ne.height=ne.height||1,ne.channels=ne.channels||4;else if(qr(Oe))ne.channels=ne.channels||4,ne.data=Oe,!("type"in we)&&ne.type===Ns&&(ne.type=Yc(Oe));else if(of(Oe))ne.channels=ne.channels||4,eh(ne,Oe),ne.alignment=1,ne.needsFree=!0;else if(jr(Oe)){var cr=Oe.data;!Array.isArray(cr)&&ne.type===Ns&&(ne.type=Yc(cr));var Nt=Oe.shape,Ne=Oe.stride,$e,st,It,Bt,Ft,Ut;Nt.length===3?(It=Nt[2],Ut=Ne[2]):(It=1,Ut=1),$e=Nt[0],st=Nt[1],Bt=Ne[0],Ft=Ne[1],ne.alignment=1,ne.width=$e,ne.height=st,ne.channels=It,ne.format=ne.internalformat=Hs[It],ne.needsFree=!0,jf(ne,cr,Bt,Ft,Ut,Oe.offset)}else if(Hf(Oe)||Ic(Oe)||yf(Oe))Hf(Oe)||Ic(Oe)?ne.element=Oe:ne.element=Oe.canvas,ne.width=ne.element.width,ne.height=ne.element.height,ne.channels=4;else if(Bl(Oe))ne.element=Oe,ne.width=Oe.width,ne.height=Oe.height,ne.channels=4;else if(Ah(Oe))ne.element=Oe,ne.width=Oe.naturalWidth,ne.height=Oe.naturalHeight,ne.channels=4;else if(Qf(Oe))ne.element=Oe,ne.width=Oe.videoWidth,ne.height=Oe.videoHeight,ne.channels=4;else if(Hu(Oe)){var zt=ne.width||Oe[0].length,_t=ne.height||Oe.length,Dt=ne.channels;En(Oe[0][0])?Dt=Dt||Oe[0][0].length:Dt=Dt||1;for(var vt=Ge.shape(Oe),lr=1,_r=0;_r>=Yt,Oe.height>>=Yt,Bi(Oe,ht[Yt]),ne.mipmask|=1<=0&&!("faces"in we)&&(ne.genMipmaps=!0)}if("mag"in we){var ht=we.mag;ne.magFilter=qi[ht]}var Yt=ne.wrapS,cr=ne.wrapT;if("wrap"in we){var Nt=we.wrap;typeof Nt=="string"?Yt=cr=Ni[Nt]:Array.isArray(Nt)&&(Yt=Ni[Nt[0]],cr=Ni[Nt[1]])}else{if("wrapS"in we){var Ne=we.wrapS;Yt=Ni[Ne]}if("wrapT"in we){var $e=we.wrapT;cr=Ni[$e]}}if(ne.wrapS=Yt,ne.wrapT=cr,"anisotropic"in we){var st=we.anisotropic;ne.anisotropic=we.anisotropic}if("mipmap"in we){var It=!1;switch(typeof we.mipmap){case"string":ne.mipmapHint=vi[we.mipmap],ne.genMipmaps=!0,It=!0;break;case"boolean":It=ne.genMipmaps=we.mipmap;break;case"object":ne.genMipmaps=!1,It=!0;break;default:}It&&!("min"in we)&&(ne.minFilter=Jl)}}function al(ne,we){Me.texParameteri(we,Vf,ne.minFilter),Me.texParameteri(we,nf,ne.magFilter),Me.texParameteri(we,qo,ne.wrapS),Me.texParameteri(we,Oo,ne.wrapT),bt.ext_texture_filter_anisotropic&&Me.texParameteri(we,cs,ne.anisotropic),ne.genMipmaps&&(Me.hint(Cf,ne.mipmapHint),Me.generateMipmap(we))}var Vl=0,ss={},Vs=Ot.maxTextureUnits,Ys=Array(Vs).map(function(){return null});function wa(ne){fi.call(this),this.mipmask=0,this.internalformat=Ma,this.id=Vl++,this.refCount=1,this.target=ne,this.texture=Me.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new zo,Nr.profile&&(this.stats={size:0})}function ol(ne){Me.activeTexture(Fu),Me.bindTexture(ne.target,ne.texture)}function io(){var ne=Ys[0];ne?Me.bindTexture(ne.target,ne.texture):Me.bindTexture(_n,null)}function Y(ne){var we=ne.texture,Oe=ne.unit,ht=ne.target;Oe>=0&&(Me.activeTexture(Fu+Oe),Me.bindTexture(ht,null),Ys[Oe]=null),Me.deleteTexture(we),ne.texture=null,ne.params=null,ne.pixels=null,ne.refCount=0,delete ss[ne.id],Or.textureCount--}e(wa.prototype,{bind:function(){var ne=this;ne.bindCount+=1;var we=ne.unit;if(we<0){for(var Oe=0;Oe0)continue;ht.unit=-1}Ys[Oe]=ne,we=Oe;break}we>=Vs,Nr.profile&&Or.maxTextureUnits>Ft)-It,Ut.height=Ut.height||(Oe.height>>Ft)-Bt,ol(Oe),Nn(Ut,_n,It,Bt,Ft),io(),Cn(Ut),ht}function cr(Nt,Ne){var $e=Nt|0,st=Ne|0||$e;if($e===Oe.width&&st===Oe.height)return ht;ht.width=Oe.width=$e,ht.height=Oe.height=st,ol(Oe);for(var It=0;Oe.mipmask>>It;++It){var Bt=$e>>It,Ft=st>>It;if(!Bt||!Ft)break;Me.texImage2D(_n,It,Oe.format,Bt,Ft,0,Oe.format,Oe.type,null)}return io(),Nr.profile&&(Oe.stats.size=cc(Oe.internalformat,Oe.type,$e,st,!1,!1)),ht}return ht(ne,we),ht.subimage=Yt,ht.resize=cr,ht._reglType="texture2d",ht._texture=Oe,Nr.profile&&(ht.stats=Oe.stats),ht.destroy=function(){Oe.decRef()},ht}function J(ne,we,Oe,ht,Yt,cr){var Nt=new wa(ya);ss[Nt.id]=Nt,Or.cubeCount++;var Ne=new Array(6);function $e(Bt,Ft,Ut,zt,_t,Dt){var vt,lr=Nt.texInfo;for(zo.call(lr),vt=0;vt<6;++vt)Ne[vt]=Ga();if(typeof Bt=="number"||!Bt){var _r=Bt|0||1;for(vt=0;vt<6;++vt)sa(Ne[vt],_r,_r)}else if(typeof Bt=="object")if(Ft)ba(Ne[0],Bt),ba(Ne[1],Ft),ba(Ne[2],Ut),ba(Ne[3],zt),ba(Ne[4],_t),ba(Ne[5],Dt);else if(Qs(lr,Bt),mn(Nt,Bt),"faces"in Bt){var Br=Bt.faces;for(vt=0;vt<6;++vt)si(Ne[vt],Nt),ba(Ne[vt],Br[vt])}else for(vt=0;vt<6;++vt)ba(Ne[vt],Bt);for(si(Nt,Ne[0]),lr.genMipmaps?Nt.mipmask=(Ne[0].width<<1)-1:Nt.mipmask=Ne[0].mipmask,Nt.internalformat=Ne[0].internalformat,$e.width=Ne[0].width,$e.height=Ne[0].height,ol(Nt),vt=0;vt<6;++vt)is(Ne[vt],ea+vt);for(al(lr,ya),io(),Nr.profile&&(Nt.stats.size=cc(Nt.internalformat,Nt.type,$e.width,$e.height,lr.genMipmaps,!0)),$e.format=yi[Nt.internalformat],$e.type=Ii[Nt.type],$e.mag=ui[lr.magFilter],$e.min=nn[lr.minFilter],$e.wrapS=Xi[lr.wrapS],$e.wrapT=Xi[lr.wrapT],vt=0;vt<6;++vt)Ml(Ne[vt]);return $e}function st(Bt,Ft,Ut,zt,_t){var Dt=Ut|0,vt=zt|0,lr=_t|0,_r=Ki();return si(_r,Nt),_r.width=0,_r.height=0,Bi(_r,Ft),_r.width=_r.width||(Nt.width>>lr)-Dt,_r.height=_r.height||(Nt.height>>lr)-vt,ol(Nt),Nn(_r,ea+Bt,Dt,vt,lr),io(),Cn(_r),$e}function It(Bt){var Ft=Bt|0;if(Ft!==Nt.width){$e.width=Nt.width=Ft,$e.height=Nt.height=Ft,ol(Nt);for(var Ut=0;Ut<6;++Ut)for(var zt=0;Nt.mipmask>>zt;++zt)Me.texImage2D(ea+Ut,zt,Nt.format,Ft>>zt,Ft>>zt,0,Nt.format,Nt.type,null);return io(),Nr.profile&&(Nt.stats.size=cc(Nt.internalformat,Nt.type,$e.width,$e.height,!1,!0)),$e}}return $e(ne,we,Oe,ht,Yt,cr),$e.subimage=st,$e.resize=It,$e._reglType="textureCube",$e._texture=Nt,Nr.profile&&($e.stats=Nt.stats),$e.destroy=function(){Nt.decRef()},$e}function O(){for(var ne=0;ne>ht,Oe.height>>ht,0,Oe.internalformat,Oe.type,null);else for(var Yt=0;Yt<6;++Yt)Me.texImage2D(ea+Yt,ht,Oe.internalformat,Oe.width>>ht,Oe.height>>ht,0,Oe.internalformat,Oe.type,null);al(Oe.texInfo,Oe.target)})}function de(){for(var ne=0;ne=0?Ml=!0:Ni.indexOf(zo)>=0&&(Ml=!1))),("depthTexture"in wa||"depthStencilTexture"in wa)&&(Ys=!!(wa.depthTexture||wa.depthStencilTexture)),"depth"in wa&&(typeof wa.depth=="boolean"?is=wa.depth:(Vl=wa.depth,Zs=!1)),"stencil"in wa&&(typeof wa.stencil=="boolean"?Zs=wa.stencil:(ss=wa.stencil,is=!1)),"depthStencil"in wa&&(typeof wa.depthStencil=="boolean"?is=Zs=wa.depthStencil:(Vs=wa.depthStencil,is=!1,Zs=!1))}var io=null,Y=null,D=null,J=null;if(Array.isArray(Ga))io=Ga.map(oi);else if(Ga)io=[oi(Ga)];else for(io=new Array(al),ia=0;ia0&&(Cn.depth=Bi[0].depth,Cn.stencil=Bi[0].stencil,Cn.depthStencil=Bi[0].depthStencil),Bi[Ki]?Bi[Ki](Cn):Bi[Ki]=si(Cn)}return e(pn,{width:ia,height:ia,color:zo})}function Nn(aa){var Ki,Cn=aa|0;if(Cn===pn.width)return pn;var ia=pn.color;for(Ki=0;Ki=ia.byteLength?sa.subdata(ia):(sa.destroy(),si.buffers[aa]=null)),si.buffers[aa]||(sa=si.buffers[aa]=Vr.create(Ki,If,!1,!0)),Cn.buffer=Vr.getBuffer(sa),Cn.size=Cn.buffer.dimension|0,Cn.normalized=!1,Cn.type=Cn.buffer.dtype,Cn.offset=0,Cn.stride=0,Cn.divisor=0,Cn.state=1,pn[aa]=1}else Vr.getBuffer(Ki)?(Cn.buffer=Vr.getBuffer(Ki),Cn.size=Cn.buffer.dimension|0,Cn.normalized=!1,Cn.type=Cn.buffer.dtype,Cn.offset=0,Cn.stride=0,Cn.divisor=0,Cn.state=1):Vr.getBuffer(Ki.buffer)?(Cn.buffer=Vr.getBuffer(Ki.buffer),Cn.size=(+Ki.size||Cn.buffer.dimension)|0,Cn.normalized=!!Ki.normalized||!1,"type"in Ki?Cn.type=un[Ki.type]:Cn.type=Cn.buffer.dtype,Cn.offset=(Ki.offset||0)|0,Cn.stride=(Ki.stride||0)|0,Cn.divisor=(Ki.divisor||0)|0,Cn.state=1):"x"in Ki&&(Cn.x=+Ki.x||0,Cn.y=+Ki.y||0,Cn.z=+Ki.z||0,Cn.w=+Ki.w||0,Cn.state=2)}for(var ba=0;ba1)for(var Ji=0;JiTr&&(Tr=Zr.stats.uniformsCount)}),Tr},Ot.getMaxAttributesCount=function(){var Tr=0;return Si.forEach(function(Zr){Zr.stats.attributesCount>Tr&&(Tr=Zr.stats.attributesCount)}),Tr});function oi(){Vr={},Or={};for(var Tr=0;Tr16&&(Ot=Yi(Ot,Me.length*8));for(var Lr=Array(16),Vr=Array(16),Or=0;Or<16;Or++)Lr[Or]=Ot[Or]^909522486,Vr[Or]=Ot[Or]^1549556828;var Nr=Yi(Lr.concat(Bc(bt)),512+bt.length*8);return kt(Yi(Vr.concat(Nr),768))}function vu(Me){for(var bt=ah?"0123456789ABCDEF":"0123456789abcdef",Ot="",Lr,Vr=0;Vr>>4&15)+bt.charAt(Lr&15);return Ot}function Oc(Me){for(var bt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ot="",Lr=Me.length,Vr=0;VrMe.length*8?Ot+=Zu:Ot+=bt.charAt(Or>>>6*(3-Nr)&63);return Ot}function ff(Me,bt){var Ot=bt.length,Lr=Array(),Vr,Or,Nr,vi,Ni=Array(Math.ceil(Me.length/2));for(Vr=0;Vr0;){for(vi=Array(),Nr=0,Vr=0;Vr0||Or>0)&&(vi[vi.length]=Or);Lr[Lr.length]=Nr,Ni=vi}var qi="";for(Vr=Lr.length-1;Vr>=0;Vr--)qi+=bt.charAt(Lr[Vr]);var Si=Math.ceil(Me.length*8/(Math.log(bt.length)/Math.log(2)));for(Vr=qi.length;Vr>>6&31,128|Lr&63):Lr<=65535?bt+=String.fromCharCode(224|Lr>>>12&15,128|Lr>>>6&63,128|Lr&63):Lr<=2097151&&(bt+=String.fromCharCode(240|Lr>>>18&7,128|Lr>>>12&63,128|Lr>>>6&63,128|Lr&63));return bt}function Bc(Me){for(var bt=Array(Me.length>>2),Ot=0;Ot>5]|=(Me.charCodeAt(Ot/8)&255)<<24-Ot%32;return bt}function kt(Me){for(var bt="",Ot=0;Ot>5]>>>24-Ot%32&255);return bt}function Zt(Me,bt){return Me>>>bt|Me<<32-bt}function Er(Me,bt){return Me>>>bt}function xr(Me,bt,Ot){return Me&bt^~Me&Ot}function Kr(Me,bt,Ot){return Me&bt^Me&Ot^bt&Ot}function Mi(Me){return Zt(Me,2)^Zt(Me,13)^Zt(Me,22)}function Wi(Me){return Zt(Me,6)^Zt(Me,11)^Zt(Me,25)}function dn(Me){return Zt(Me,7)^Zt(Me,18)^Er(Me,3)}function wn(Me){return Zt(Me,17)^Zt(Me,19)^Er(Me,10)}var On=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 Yi(Me,bt){var Ot=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),Lr=new Array(64),Vr,Or,Nr,vi,Ni,qi,Si,Vn,Qi,ji,oi,Tr;for(Me[bt>>5]|=128<<24-bt%32,Me[(bt+64>>9<<4)+15]=bt,Qi=0;Qi>16)+(bt>>16)+(Ot>>16);return Lr<<16|Ot&65535}function an(Me){return Array.prototype.slice.call(Me)}function Fi(Me){return an(Me).join("")}function ta(Me){var bt=Me&&Me.cache,Ot=0,Lr=[],Vr=[],Or=[];function Nr(oi,Tr){var Zr=Tr&&Tr.stable;if(!Zr){for(var yi=0;yi0&&(oi.push(Ii,"="),oi.push.apply(oi,an(arguments)),oi.push(";")),Ii}return e(Tr,{def:yi,toString:function(){return Fi([Zr.length>0?"var "+Zr.join(",")+";":"",Fi(oi)])}})}function Ni(){var oi=vi(),Tr=vi(),Zr=oi.toString,yi=Tr.toString;function Ii(ui,nn){Tr(ui,nn,"=",oi.def(ui,nn),";")}return e(function(){oi.apply(oi,an(arguments))},{def:oi.def,entry:oi,exit:Tr,save:Ii,set:function(ui,nn,Xi){Ii(ui,nn),oi(ui,nn,"=",Xi,";")},toString:function(){return Zr()+yi()}})}function qi(){var oi=Fi(arguments),Tr=Ni(),Zr=Ni(),yi=Tr.toString,Ii=Zr.toString;return e(Tr,{then:function(){return Tr.apply(Tr,an(arguments)),this},else:function(){return Zr.apply(Zr,an(arguments)),this},toString:function(){var ui=Ii();return ui&&(ui="else{"+ui+"}"),Fi(["if(",oi,"){",yi(),"}",ui])}})}var Si=vi(),Vn={};function Qi(oi,Tr){var Zr=[];function yi(){var qn="a"+Zr.length;return Zr.push(qn),qn}Tr=Tr||0;for(var Ii=0;Ii2){for(var i=Array(t.position.length*.5),o=0;o2){for(var u=!t.position[0].length,c=ay.mallocFloat(this.count*2),f=0,h=0;f1?r.align[re]:r.align[0]:r.align;if(typeof j=="number")return j;switch(j){case"right":case"end":return-ue;case"center":case"centre":case"middle":return-ue*.5}return 0})),this.baseline==null&&t.baseline==null&&(t.baseline=0),t.baseline!=null&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map(function(ue,re){var j=(r.font[re]||r.font[0]).metrics,fe=0;return fe+=j.bottom*.5,typeof ue=="number"?fe+=ue-j.baseline:fe+=-j[ue],fe*=-1,fe})),t.color!=null)if(t.color||(t.color="transparent"),typeof t.color=="string"||!isNaN(t.color))this.color=mW(t.color,"uint8");else{var q;if(typeof t.color[0]=="number"&&t.color.length>this.counts.length){var U=t.color.length;q=ay.mallocUint8(U);for(var O=(t.color.subarray||t.color.slice).bind(t.color),R=0;R4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2;if(X){var te=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(te);for(var se=0;se1?this.counts[se]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[se]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(se*4,se*4+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[se]:this.opacity,baseline:this.baselineOffset[se]!=null?this.baselineOffset[se]:this.baselineOffset[0],align:this.align?this.alignOffset[se]!=null?this.alignOffset[se]:this.alignOffset[0]:0,atlas:this.fontAtlas[se]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(se*2,se*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=[]}};bl.prototype.destroy=function(){};bl.prototype.kerning=!0;bl.prototype.position={constant:new Float32Array(2)};bl.prototype.translate=null;bl.prototype.scale=null;bl.prototype.font=null;bl.prototype.text="";bl.prototype.positionOffset=[0,0];bl.prototype.opacity=1;bl.prototype.color=new Uint8Array([0,0,0,255]);bl.prototype.alignOffset=[0,0];bl.maxAtlasSize=1024;bl.atlasCanvas=document.createElement("canvas");bl.atlasContext=bl.atlasCanvas.getContext("2d",{alpha:!1});bl.baseFontSize=64;bl.fonts={};function kBt(e){return typeof e=="function"&&e._gl&&e.prop&&e.texture&&e.buffer}cze.exports=bl});var hze=ne((yW,xW)=>{(function(e,t){typeof yW=="object"&&typeof xW!="undefined"?xW.exports=t():e.createREGL=t()})(yW,(function(){"use strict";var e=function(pe,ot){for(var ht=Object.keys(ot),Kt=0;Kt1&&ot===ht&&(ot==='"'||ot==="'"))return['"'+o(pe.substr(1,pe.length-2))+'"'];var Kt=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(pe);if(Kt)return s(pe.substr(0,Kt.index)).concat(s(Kt[1])).concat(s(pe.substr(Kt.index+Kt[0].length)));var cr=pe.split(".");if(cr.length===1)return['"'+o(pe)+'"'];for(var dr=[],ur=0;ur65535)<<4,pe>>>=ot,ht=(pe>255)<<3,pe>>>=ht,ot|=ht,ht=(pe>15)<<2,pe>>>=ht,ot|=ht,ht=(pe>3)<<1,pe>>>=ht,ot|=ht,ot|pe>>1}function R(){var pe=T(8,function(){return[]});function ot(dr){var ur=U(dr),Rr=pe[O(ur)>>2];return Rr.length>0?Rr.pop():new ArrayBuffer(ur)}function ht(dr){pe[O(dr.byteLength)>>2].push(dr)}function Kt(dr,ur){var Rr=null;switch(dr){case p:Rr=new Int8Array(ot(ur),0,ur);break;case C:Rr=new Uint8Array(ot(ur),0,ur);break;case A:Rr=new Int16Array(ot(2*ur),0,ur);break;case P:Rr=new Uint16Array(ot(2*ur),0,ur);break;case D:Rr=new Int32Array(ot(4*ur),0,ur);break;case z:Rr=new Uint32Array(ot(4*ur),0,ur);break;case q:Rr=new Float32Array(ot(4*ur),0,ur);break;default:return null}return Rr.length!==ur?Rr.subarray(0,ur):Rr}function cr(dr){ht(dr.buffer)}return{alloc:ot,free:ht,allocType:Kt,freeType:cr}}var B=R();B.zero=R();var Y=3408,X=3410,te=3411,se=3412,ue=3413,re=3414,j=3415,fe=33901,ce=33902,oe=3379,we=3386,he=34921,ye=36347,Pe=36348,le=35661,ze=35660,Xe=34930,vt=36349,st=34076,Oe=34024,qe=7936,mt=7937,lt=7938,Ie=35724,de=34047,Ee=36063,Ue=34852,ge=3553,Ge=34067,tt=34069,ft=33984,He=6408,Qe=5126,We=5121,pt=36160,kt=36053,qt=36064,Wt=16384,_r=function(pe,ot){var ht=1;ot.ext_texture_filter_anisotropic&&(ht=pe.getParameter(de));var Kt=1,cr=1;ot.webgl_draw_buffers&&(Kt=pe.getParameter(Ue),cr=pe.getParameter(Ee));var dr=!!ot.oes_texture_float;if(dr){var ur=pe.createTexture();pe.bindTexture(ge,ur),pe.texImage2D(ge,0,He,1,1,0,He,Qe,null);var Rr=pe.createFramebuffer();if(pe.bindFramebuffer(pt,Rr),pe.framebufferTexture2D(pt,qt,ge,ur,0),pe.bindTexture(ge,null),pe.checkFramebufferStatus(pt)!==kt)dr=!1;else{pe.viewport(0,0,1,1),pe.clearColor(1,0,0,1),pe.clear(Wt);var Xr=B.allocType(Qe,4);pe.readPixels(0,0,1,1,He,Qe,Xr),pe.getError()?dr=!1:(pe.deleteFramebuffer(Rr),pe.deleteTexture(ur),dr=Xr[0]===1),B.freeType(Xr)}}var $r=typeof navigator!="undefined"&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),Kr=!0;if(!$r){var Hn=pe.createTexture(),Cn=B.allocType(We,36);pe.activeTexture(ft),pe.bindTexture(Ge,Hn),pe.texImage2D(tt,0,He,3,3,0,He,We,Cn),B.freeType(Cn),pe.bindTexture(Ge,null),pe.deleteTexture(Hn),Kr=!pe.getError()}return{colorBits:[pe.getParameter(X),pe.getParameter(te),pe.getParameter(se),pe.getParameter(ue)],depthBits:pe.getParameter(re),stencilBits:pe.getParameter(j),subpixelBits:pe.getParameter(Y),extensions:Object.keys(ot).filter(function(fn){return!!ot[fn]}),maxAnisotropic:ht,maxDrawbuffers:Kt,maxColorAttachments:cr,pointSizeDims:pe.getParameter(fe),lineWidthDims:pe.getParameter(ce),maxViewportDims:pe.getParameter(we),maxCombinedTextureUnits:pe.getParameter(le),maxCubeMapSize:pe.getParameter(st),maxRenderbufferSize:pe.getParameter(Oe),maxTextureUnits:pe.getParameter(Xe),maxTextureSize:pe.getParameter(oe),maxAttributes:pe.getParameter(he),maxVertexUniforms:pe.getParameter(ye),maxVertexTextureUnits:pe.getParameter(ze),maxVaryingVectors:pe.getParameter(Pe),maxFragmentUniforms:pe.getParameter(vt),glsl:pe.getParameter(Ie),renderer:pe.getParameter(mt),vendor:pe.getParameter(qe),version:pe.getParameter(lt),readFloat:dr,npotTextureCube:Kr}},tr=function(pe){return pe instanceof Uint8Array||pe instanceof Uint16Array||pe instanceof Uint32Array||pe instanceof Int8Array||pe instanceof Int16Array||pe instanceof Int32Array||pe instanceof Float32Array||pe instanceof Float64Array||pe instanceof Uint8ClampedArray};function lr(pe){return!!pe&&typeof pe=="object"&&Array.isArray(pe.shape)&&Array.isArray(pe.stride)&&typeof pe.offset=="number"&&pe.shape.length===pe.stride.length&&(Array.isArray(pe.data)||tr(pe.data))}var Ye=function(pe){return Object.keys(pe).map(function(ot){return pe[ot]})},Te={shape:_t,flatten:Ke};function Fe(pe,ot,ht){for(var Kt=0;Kt0){var Gn;if(Array.isArray(pr[0])){sn=un(pr);for(var kr=1,Mr=1;Mr0){if(typeof kr[0]=="number"){var Jr=B.allocType(Cr.dtype,kr.length);no(Jr,kr),sn(Jr,_n),B.freeType(Jr)}else if(Array.isArray(kr[0])||tr(kr[0])){an=un(kr);var Qr=Qn(kr,an,Cr.dtype);sn(Qr,_n),B.freeType(Qr)}}}else if(lr(kr)){an=kr.shape;var wn=kr.stride,jn=0,oa=0,rn=0,Sn=0;an.length===1?(jn=an[0],oa=1,rn=wn[0],Sn=0):an.length===2&&(jn=an[0],oa=an[1],rn=wn[0],Sn=wn[1]);var sa=Array.isArray(kr.data)?Cr.dtype:pa(kr.data),ca=B.allocType(sa,jn*oa);Gi(ca,kr.data,jn,oa,rn,Sn,kr.offset),sn(ca,_n),B.freeType(ca)}return hn}return Ir||hn(Ut),hn._reglType="buffer",hn._buffer=Cr,hn.subdata=Gn,ht.profile&&(hn.stats=Cr.stats),hn.destroy=function(){Cn(Cr)},hn}function Sr(){Ye(dr).forEach(function(Ut){Ut.buffer=pe.createBuffer(),pe.bindBuffer(Ut.type,Ut.buffer),pe.bufferData(Ut.type,Ut.persistentData||Ut.byteLength,Ut.usage)})}return ht.profile&&(ot.getTotalBufferSize=function(){var Ut=0;return Object.keys(dr).forEach(function(pr){Ut+=dr[pr].stats.size}),Ut}),{create:fn,createStream:Xr,destroyStream:$r,clear:function(){Ye(dr).forEach(Cn),Rr.forEach(Cn)},getBuffer:function(Ut){return Ut&&Ut._buffer instanceof ur?Ut._buffer:null},restore:Sr,_initBuffer:Hn}}var fi=0,_o=0,Oi=1,ni=1,ao=4,Hi=4,to={points:fi,point:_o,lines:Oi,line:ni,triangles:ao,triangle:Hi,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},Xo=0,Zo=1,Fi=4,yo=5120,oo=5121,rl=5122,Ni=5123,Oa=5124,xi=5125,Pi=34963,ia=35040,rt=35044;function Xt(pe,ot,ht,Kt){var cr={},dr=0,ur={uint8:oo,uint16:Ni};ot.oes_element_index_uint&&(ur.uint32=xi);function Rr(Sr){this.id=dr++,cr[this.id]=this,this.buffer=Sr,this.primType=Fi,this.vertCount=0,this.type=0}Rr.prototype.bind=function(){this.buffer.bind()};var Xr=[];function $r(Sr){var Ut=Xr.pop();return Ut||(Ut=new Rr(ht.create(null,Pi,!0,!1)._buffer)),Hn(Ut,Sr,ia,-1,-1,0,0),Ut}function Kr(Sr){Xr.push(Sr)}function Hn(Sr,Ut,pr,Ir,Zr,Cr,hn){Sr.buffer.bind();var sn;if(Ut){var Gn=hn;!hn&&(!tr(Ut)||lr(Ut)&&!tr(Ut.data))&&(Gn=ot.oes_element_index_uint?xi:Ni),ht._initBuffer(Sr.buffer,Ut,pr,Gn,3)}else pe.bufferData(Pi,Cr,pr),Sr.buffer.dtype=sn||oo,Sr.buffer.usage=pr,Sr.buffer.dimension=3,Sr.buffer.byteLength=Cr;if(sn=hn,!hn){switch(Sr.buffer.dtype){case oo:case yo:sn=oo;break;case Ni:case rl:sn=Ni;break;case xi:case Oa:sn=xi;break;default:}Sr.buffer.dtype=sn}Sr.type=sn;var kr=Zr;kr<0&&(kr=Sr.buffer.byteLength,sn===Ni?kr>>=1:sn===xi&&(kr>>=2)),Sr.vertCount=kr;var Mr=Ir;if(Ir<0){Mr=Fi;var _n=Sr.buffer.dimension;_n===1&&(Mr=Xo),_n===2&&(Mr=Zo),_n===3&&(Mr=Fi)}Sr.primType=Mr}function Cn(Sr){Kt.elementsCount--,delete cr[Sr.id],Sr.buffer.destroy(),Sr.buffer=null}function fn(Sr,Ut){var pr=ht.create(null,Pi,!0),Ir=new Rr(pr._buffer);Kt.elementsCount++;function Zr(Cr){if(!Cr)pr(),Ir.primType=Fi,Ir.vertCount=0,Ir.type=oo;else if(typeof Cr=="number")pr(Cr),Ir.primType=Fi,Ir.vertCount=Cr|0,Ir.type=oo;else{var hn=null,sn=rt,Gn=-1,kr=-1,Mr=0,_n=0;Array.isArray(Cr)||tr(Cr)||lr(Cr)?hn=Cr:("data"in Cr&&(hn=Cr.data),"usage"in Cr&&(sn=Kn[Cr.usage]),"primitive"in Cr&&(Gn=to[Cr.primitive]),"count"in Cr&&(kr=Cr.count|0),"type"in Cr&&(_n=ur[Cr.type]),"length"in Cr?Mr=Cr.length|0:(Mr=kr,_n===Ni||_n===rl?Mr*=2:(_n===xi||_n===Oa)&&(Mr*=4))),Hn(Ir,hn,sn,Gn,kr,Mr,_n)}return Zr}return Zr(Sr),Zr._reglType="elements",Zr._elements=Ir,Zr.subdata=function(Cr,hn){return pr.subdata(Cr,hn),Zr},Zr.destroy=function(){Cn(Ir)},Zr}return{create:fn,createStream:$r,destroyStream:Kr,getElements:function(Sr){return typeof Sr=="function"&&Sr._elements instanceof Rr?Sr._elements:null},clear:function(){Ye(cr).forEach(Cn)}}}var xr=new Float32Array(1),Fr=new Uint32Array(xr.buffer),xn=5123;function Mn(pe){for(var ot=B.allocType(xn,pe.length),ht=0;ht>>31<<15,dr=(Kt<<1>>>24)-127,ur=Kt>>13&1023;if(dr<-24)ot[ht]=cr;else if(dr<-14){var Rr=-14-dr;ot[ht]=cr+(ur+1024>>Rr)}else dr>15?ot[ht]=cr+31744:ot[ht]=cr+(dr+15<<10)+ur}return ot}function Rn(pe){return Array.isArray(pe)||tr(pe)}var on=34467,En=3553,Aa=34067,ba=34069,Ia=6408,hi=6406,ki=6407,ui=6409,Mi=6410,_i=32854,ko=32855,Io=36194,$o=32819,Is=32820,Es=33635,Ks=34042,nl=6402,ks=34041,us=35904,xs=35906,Co=36193,Si=33776,io=33777,Bs=33778,Fl=33779,Eu=35986,Cs=35987,Nl=34798,du=35840,Kl=35841,al=35842,co=35843,Ul=36196,Ls=5121,il=5123,_c=5125,Os=5126,Vu=10242,kf=10243,Jl=10497,th=33071,wc=33648,Cf=10240,Rd=10241,ol=9728,af=9729,ec=9984,Tc=9985,vu=9986,jc=9987,Lf=33170,tc=4352,Lh=4353,of=4354,Ff=34046,Pf=3317,rh=37440,Fh=37441,pu=37443,gu=37444,mu=33984,Ql=[ec,vu,Tc,jc],as=[0,ui,Mi,ki,Ia],fo={};fo[ui]=fo[hi]=fo[nl]=1,fo[ks]=fo[Mi]=2,fo[ki]=fo[us]=3,fo[Ia]=fo[xs]=4;function Ns(pe){return"[object "+pe+"]"}var ku=Ns("HTMLCanvasElement"),rc=Ns("OffscreenCanvas"),sf=Ns("CanvasRenderingContext2D"),is=Ns("ImageBitmap"),Xh=Ns("HTMLImageElement"),Wi=Ns("HTMLVideoElement"),Zh=Object.keys(St).concat([ku,rc,sf,is,Xh,Wi]),so=[];so[Ls]=1,so[Os]=4,so[Co]=2,so[il]=2,so[_c]=4;var ei=[];ei[_i]=2,ei[ko]=2,ei[Io]=2,ei[ks]=4,ei[Si]=.5,ei[io]=.5,ei[Bs]=1,ei[Fl]=1,ei[Eu]=.5,ei[Cs]=1,ei[Nl]=1,ei[du]=.5,ei[Kl]=.25,ei[al]=.5,ei[co]=.25,ei[Ul]=.5;function nc(pe){return Array.isArray(pe)&&(pe.length===0||typeof pe[0]=="number")}function Wc(pe){if(!Array.isArray(pe))return!1;var ot=pe.length;return!(ot===0||!Rn(pe[0]))}function _l(pe){return Object.prototype.toString.call(pe)}function nh(pe){return _l(pe)===ku}function Cu(pe){return _l(pe)===rc}function Ac(pe){return _l(pe)===sf}function Us(pe){return _l(pe)===is}function ah(pe){return _l(pe)===Xh}function Df(pe){return _l(pe)===Wi}function Mc(pe){if(!pe)return!1;var ot=_l(pe);return Zh.indexOf(ot)>=0?!0:nc(pe)||Wc(pe)||lr(pe)}function Sc(pe){return St[Object.prototype.toString.call(pe)]|0}function Rf(pe,ot){var ht=ot.length;switch(pe.type){case Ls:case il:case _c:case Os:var Kt=B.allocType(pe.type,ht);Kt.set(ot),pe.data=Kt;break;case Co:pe.data=Mn(ot);break;default:}}function If(pe,ot){return B.allocType(pe.type===Co?Os:pe.type,ot)}function eu(pe,ot){pe.type===Co?(pe.data=Mn(ot),B.freeType(ot)):pe.data=ot}function lf(pe,ot,ht,Kt,cr,dr){for(var ur=pe.width,Rr=pe.height,Xr=pe.channels,$r=ur*Rr*Xr,Kr=If(pe,$r),Hn=0,Cn=0;Cn=1;)Rr+=ur*Xr*Xr,Xr/=2;return Rr}else return ur*ht*Kt}function Ec(pe,ot,ht,Kt,cr,dr,ur){var Rr={"don't care":tc,"dont care":tc,nice:of,fast:Lh},Xr={repeat:Jl,clamp:th,mirror:wc},$r={nearest:ol,linear:af},Kr=e({mipmap:jc,"nearest mipmap nearest":ec,"linear mipmap nearest":Tc,"nearest mipmap linear":vu,"linear mipmap linear":jc},$r),Hn={none:0,browser:gu},Cn={uint8:Ls,rgba4:$o,rgb565:Es,"rgb5 a1":Is},fn={alpha:hi,luminance:ui,"luminance alpha":Mi,rgb:ki,rgba:Ia,rgba4:_i,"rgb5 a1":ko,rgb565:Io},Sr={};ot.ext_srgb&&(fn.srgb=us,fn.srgba=xs),ot.oes_texture_float&&(Cn.float32=Cn.float=Os),ot.oes_texture_half_float&&(Cn.float16=Cn["half float"]=Co),ot.webgl_depth_texture&&(e(fn,{depth:nl,"depth stencil":ks}),e(Cn,{uint16:il,uint32:_c,"depth stencil":Ks})),ot.webgl_compressed_texture_s3tc&&e(Sr,{"rgb s3tc dxt1":Si,"rgba s3tc dxt1":io,"rgba s3tc dxt3":Bs,"rgba s3tc dxt5":Fl}),ot.webgl_compressed_texture_atc&&e(Sr,{"rgb atc":Eu,"rgba atc explicit alpha":Cs,"rgba atc interpolated alpha":Nl}),ot.webgl_compressed_texture_pvrtc&&e(Sr,{"rgb pvrtc 4bppv1":du,"rgb pvrtc 2bppv1":Kl,"rgba pvrtc 4bppv1":al,"rgba pvrtc 2bppv1":co}),ot.webgl_compressed_texture_etc1&&(Sr["rgb etc1"]=Ul);var Ut=Array.prototype.slice.call(pe.getParameter(on));Object.keys(Sr).forEach(function(it){var ir=Sr[it];Ut.indexOf(ir)>=0&&(fn[it]=ir)});var pr=Object.keys(fn);ht.textureFormats=pr;var Ir=[];Object.keys(fn).forEach(function(it){var ir=fn[it];Ir[ir]=it});var Zr=[];Object.keys(Cn).forEach(function(it){var ir=Cn[it];Zr[ir]=it});var Cr=[];Object.keys($r).forEach(function(it){var ir=$r[it];Cr[ir]=it});var hn=[];Object.keys(Kr).forEach(function(it){var ir=Kr[it];hn[ir]=it});var sn=[];Object.keys(Xr).forEach(function(it){var ir=Xr[it];sn[ir]=it});var Gn=pr.reduce(function(it,ir){var or=fn[ir];return or===ui||or===hi||or===ui||or===Mi||or===nl||or===ks||ot.ext_srgb&&(or===us||or===xs)?it[or]=or:or===ko||ir.indexOf("rgba")>=0?it[or]=Ia:it[or]=ki,it},{});function kr(){this.internalformat=Ia,this.format=Ia,this.type=Ls,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=gu,this.width=0,this.height=0,this.channels=0}function Mr(it,ir){it.internalformat=ir.internalformat,it.format=ir.format,it.type=ir.type,it.compressed=ir.compressed,it.premultiplyAlpha=ir.premultiplyAlpha,it.flipY=ir.flipY,it.unpackAlignment=ir.unpackAlignment,it.colorSpace=ir.colorSpace,it.width=ir.width,it.height=ir.height,it.channels=ir.channels}function _n(it,ir){if(!(typeof ir!="object"||!ir)){if("premultiplyAlpha"in ir&&(it.premultiplyAlpha=ir.premultiplyAlpha),"flipY"in ir&&(it.flipY=ir.flipY),"alignment"in ir&&(it.unpackAlignment=ir.alignment),"colorSpace"in ir&&(it.colorSpace=Hn[ir.colorSpace]),"type"in ir){var or=ir.type;it.type=Cn[or]}var Fn=it.width,Ga=it.height,Li=it.channels,Pn=!1;"shape"in ir?(Fn=ir.shape[0],Ga=ir.shape[1],ir.shape.length===3&&(Li=ir.shape[2],Pn=!0)):("radius"in ir&&(Fn=Ga=ir.radius),"width"in ir&&(Fn=ir.width),"height"in ir&&(Ga=ir.height),"channels"in ir&&(Li=ir.channels,Pn=!0)),it.width=Fn|0,it.height=Ga|0,it.channels=Li|0;var $e=!1;if("format"in ir){var ct=ir.format,Et=it.internalformat=fn[ct];it.format=Gn[Et],ct in Cn&&("type"in ir||(it.type=Cn[ct])),ct in Sr&&(it.compressed=!0),$e=!0}!Pn&&$e?it.channels=fo[it.format]:Pn&&!$e&&it.channels!==as[it.format]&&(it.format=it.internalformat=as[it.channels])}}function an(it){pe.pixelStorei(rh,it.flipY),pe.pixelStorei(Fh,it.premultiplyAlpha),pe.pixelStorei(pu,it.colorSpace),pe.pixelStorei(Pf,it.unpackAlignment)}function Jr(){kr.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function Qr(it,ir){var or=null;if(Mc(ir)?or=ir:ir&&(_n(it,ir),"x"in ir&&(it.xOffset=ir.x|0),"y"in ir&&(it.yOffset=ir.y|0),Mc(ir.data)&&(or=ir.data)),ir.copy){var Fn=cr.viewportWidth,Ga=cr.viewportHeight;it.width=it.width||Fn-it.xOffset,it.height=it.height||Ga-it.yOffset,it.needsCopy=!0}else if(!or)it.width=it.width||1,it.height=it.height||1,it.channels=it.channels||4;else if(tr(or))it.channels=it.channels||4,it.data=or,!("type"in ir)&&it.type===Ls&&(it.type=Sc(or));else if(nc(or))it.channels=it.channels||4,Rf(it,or),it.alignment=1,it.needsFree=!0;else if(lr(or)){var Li=or.data;!Array.isArray(Li)&&it.type===Ls&&(it.type=Sc(Li));var Pn=or.shape,$e=or.stride,ct,Et,nr,vr,Ht,Nt;Pn.length===3?(nr=Pn[2],Nt=$e[2]):(nr=1,Nt=1),ct=Pn[0],Et=Pn[1],vr=$e[0],Ht=$e[1],it.alignment=1,it.width=ct,it.height=Et,it.channels=nr,it.format=it.internalformat=as[nr],it.needsFree=!0,lf(it,Li,vr,Ht,Nt,or.offset)}else if(nh(or)||Cu(or)||Ac(or))nh(or)||Cu(or)?it.element=or:it.element=or.canvas,it.width=it.element.width,it.height=it.element.height,it.channels=4;else if(Us(or))it.element=or,it.width=or.width,it.height=or.height,it.channels=4;else if(ah(or))it.element=or,it.width=or.naturalWidth,it.height=or.naturalHeight,it.channels=4;else if(Df(or))it.element=or,it.width=or.videoWidth,it.height=or.videoHeight,it.channels=4;else if(Wc(or)){var Pt=it.width||or[0].length,At=it.height||or.length,Lt=it.channels;Rn(or[0][0])?Lt=Lt||or[0][0].length:Lt=Lt||1;for(var dt=Te.shape(or),Jt=1,yr=0;yr>=Ga,or.height>>=Ga,Qr(or,Fn[Ga]),it.mipmask|=1<=0&&!("faces"in ir)&&(it.genMipmaps=!0)}if("mag"in ir){var Fn=ir.mag;it.magFilter=$r[Fn]}var Ga=it.wrapS,Li=it.wrapT;if("wrap"in ir){var Pn=ir.wrap;typeof Pn=="string"?Ga=Li=Xr[Pn]:Array.isArray(Pn)&&(Ga=Xr[Pn[0]],Li=Xr[Pn[1]])}else{if("wrapS"in ir){var $e=ir.wrapS;Ga=Xr[$e]}if("wrapT"in ir){var ct=ir.wrapT;Li=Xr[ct]}}if(it.wrapS=Ga,it.wrapT=Li,"anisotropic"in ir){var Et=ir.anisotropic;it.anisotropic=ir.anisotropic}if("mipmap"in ir){var nr=!1;switch(typeof ir.mipmap){case"string":it.mipmapHint=Rr[ir.mipmap],it.genMipmaps=!0,nr=!0;break;case"boolean":nr=it.genMipmaps=ir.mipmap;break;case"object":it.genMipmaps=!1,nr=!0;break;default:}nr&&!("min"in ir)&&(it.minFilter=ec)}}function es(it,ir){pe.texParameteri(ir,Rd,it.minFilter),pe.texParameteri(ir,Cf,it.magFilter),pe.texParameteri(ir,Vu,it.wrapS),pe.texParameteri(ir,kf,it.wrapT),ot.ext_texture_filter_anisotropic&&pe.texParameteri(ir,Ff,it.anisotropic),it.genMipmaps&&(pe.hint(Lf,it.mipmapHint),pe.generateMipmap(ir))}var Ds=0,Do={},Ro=ht.maxTextureUnits,Uo=Array(Ro).map(function(){return null});function Sa(it){kr.call(this),this.mipmask=0,this.internalformat=Ia,this.id=Ds++,this.refCount=1,this.target=it,this.texture=pe.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new Ci,ur.profile&&(this.stats={size:0})}function ts(it){pe.activeTexture(mu),pe.bindTexture(it.target,it.texture)}function qi(){var it=Uo[0];it?pe.bindTexture(it.target,it.texture):pe.bindTexture(En,null)}function Hs(it){var ir=it.texture,or=it.unit,Fn=it.target;or>=0&&(pe.activeTexture(mu+or),pe.bindTexture(Fn,null),Uo[or]=null),pe.deleteTexture(ir),it.texture=null,it.params=null,it.pixels=null,it.refCount=0,delete Do[it.id],dr.textureCount--}e(Sa.prototype,{bind:function(){var it=this;it.bindCount+=1;var ir=it.unit;if(ir<0){for(var or=0;or0)continue;Fn.unit=-1}Uo[or]=it,ir=or;break}ir>=Ro,ur.profile&&dr.maxTextureUnits>Ht)-nr,Nt.height=Nt.height||(or.height>>Ht)-vr,ts(or),jn(Nt,En,nr,vr,Ht),qi(),Sn(Nt),Fn}function Li(Pn,$e){var ct=Pn|0,Et=$e|0||ct;if(ct===or.width&&Et===or.height)return Fn;Fn.width=or.width=ct,Fn.height=or.height=Et,ts(or);for(var nr=0;or.mipmask>>nr;++nr){var vr=ct>>nr,Ht=Et>>nr;if(!vr||!Ht)break;pe.texImage2D(En,nr,or.format,vr,Ht,0,or.format,or.type,null)}return qi(),ur.profile&&(or.stats.size=tu(or.internalformat,or.type,ct,Et,!1,!1)),Fn}return Fn(it,ir),Fn.subimage=Ga,Fn.resize=Li,Fn._reglType="texture2d",Fn._texture=or,ur.profile&&(Fn.stats=or.stats),Fn.destroy=function(){or.decRef()},Fn}function fl(it,ir,or,Fn,Ga,Li){var Pn=new Sa(Aa);Do[Pn.id]=Pn,dr.cubeCount++;var $e=new Array(6);function ct(vr,Ht,Nt,Pt,At,Lt){var dt,Jt=Pn.texInfo;for(Ci.call(Jt),dt=0;dt<6;++dt)$e[dt]=ja();if(typeof vr=="number"||!vr){var yr=vr|0||1;for(dt=0;dt<6;++dt)ca($e[dt],yr,yr)}else if(typeof vr=="object")if(Ht)Ra($e[0],vr),Ra($e[1],Ht),Ra($e[2],Nt),Ra($e[3],Pt),Ra($e[4],At),Ra($e[5],Lt);else if(Ts(Jt,vr),_n(Pn,vr),"faces"in vr){var Or=vr.faces;for(dt=0;dt<6;++dt)Mr($e[dt],Pn),Ra($e[dt],Or[dt])}else for(dt=0;dt<6;++dt)Ra($e[dt],vr);for(Mr(Pn,$e[0]),Jt.genMipmaps?Pn.mipmask=($e[0].width<<1)-1:Pn.mipmask=$e[0].mipmask,Pn.internalformat=$e[0].internalformat,ct.width=$e[0].width,ct.height=$e[0].height,ts(Pn),dt=0;dt<6;++dt)go($e[dt],ba+dt);for(es(Jt,Aa),qi(),ur.profile&&(Pn.stats.size=tu(Pn.internalformat,Pn.type,ct.width,ct.height,Jt.genMipmaps,!0)),ct.format=Ir[Pn.internalformat],ct.type=Zr[Pn.type],ct.mag=Cr[Jt.magFilter],ct.min=hn[Jt.minFilter],ct.wrapS=sn[Jt.wrapS],ct.wrapT=sn[Jt.wrapT],dt=0;dt<6;++dt)cl($e[dt]);return ct}function Et(vr,Ht,Nt,Pt,At){var Lt=Nt|0,dt=Pt|0,Jt=At|0,yr=rn();return Mr(yr,Pn),yr.width=0,yr.height=0,Qr(yr,Ht),yr.width=yr.width||(Pn.width>>Jt)-Lt,yr.height=yr.height||(Pn.height>>Jt)-dt,ts(Pn),jn(yr,ba+vr,Lt,dt,Jt),qi(),Sn(yr),ct}function nr(vr){var Ht=vr|0;if(Ht!==Pn.width){ct.width=Pn.width=Ht,ct.height=Pn.height=Ht,ts(Pn);for(var Nt=0;Nt<6;++Nt)for(var Pt=0;Pn.mipmask>>Pt;++Pt)pe.texImage2D(ba+Nt,Pt,Pn.format,Ht>>Pt,Ht>>Pt,0,Pn.format,Pn.type,null);return qi(),ur.profile&&(Pn.stats.size=tu(Pn.internalformat,Pn.type,ct.width,ct.height,!1,!0)),ct}}return ct(it,ir,or,Fn,Ga,Li),ct.subimage=Et,ct.resize=nr,ct._reglType="textureCube",ct._texture=Pn,ur.profile&&(ct.stats=Pn.stats),ct.destroy=function(){Pn.decRef()},ct}function ha(){for(var it=0;it>Fn,or.height>>Fn,0,or.internalformat,or.type,null);else for(var Ga=0;Ga<6;++Ga)pe.texImage2D(ba+Ga,Fn,or.internalformat,or.width>>Fn,or.height>>Fn,0,or.internalformat,or.type,null);es(or.texInfo,or.target)})}function ti(){for(var it=0;it=0?cl=!0:Xr.indexOf(Ci)>=0&&(cl=!1))),("depthTexture"in Sa||"depthStencilTexture"in Sa)&&(Uo=!!(Sa.depthTexture||Sa.depthStencilTexture)),"depth"in Sa&&(typeof Sa.depth=="boolean"?go=Sa.depth:(Ds=Sa.depth,No=!1)),"stencil"in Sa&&(typeof Sa.stencil=="boolean"?No=Sa.stencil:(Do=Sa.stencil,go=!1)),"depthStencil"in Sa&&(typeof Sa.depthStencil=="boolean"?go=No=Sa.depthStencil:(Ro=Sa.depthStencil,go=!1,No=!1))}var qi=null,Hs=null,js=null,fl=null;if(Array.isArray(ja))qi=ja.map(Sr);else if(ja)qi=[Sr(ja)];else for(qi=new Array(es),sa=0;sa0&&(Sn.depth=Qr[0].depth,Sn.stencil=Qr[0].stencil,Sn.depthStencil=Qr[0].depthStencil),Qr[rn]?Qr[rn](Sn):Qr[rn]=Mr(Sn)}return e(wn,{width:sa,height:sa,color:Ci})}function jn(oa){var rn,Sn=oa|0;if(Sn===wn.width)return wn;var sa=wn.color;for(rn=0;rn=sa.byteLength?ca.subdata(sa):(ca.destroy(),Mr.buffers[oa]=null)),Mr.buffers[oa]||(ca=Mr.buffers[oa]=cr.create(rn,qf,!1,!0)),Sn.buffer=cr.getBuffer(ca),Sn.size=Sn.buffer.dimension|0,Sn.normalized=!1,Sn.type=Sn.buffer.dtype,Sn.offset=0,Sn.stride=0,Sn.divisor=0,Sn.state=1,wn[oa]=1}else cr.getBuffer(rn)?(Sn.buffer=cr.getBuffer(rn),Sn.size=Sn.buffer.dimension|0,Sn.normalized=!1,Sn.type=Sn.buffer.dtype,Sn.offset=0,Sn.stride=0,Sn.divisor=0,Sn.state=1):cr.getBuffer(rn.buffer)?(Sn.buffer=cr.getBuffer(rn.buffer),Sn.size=(+rn.size||Sn.buffer.dimension)|0,Sn.normalized=!!rn.normalized||!1,"type"in rn?Sn.type=vn[rn.type]:Sn.type=Sn.buffer.dtype,Sn.offset=(rn.offset||0)|0,Sn.stride=(rn.stride||0)|0,Sn.divisor=(rn.divisor||0)|0,Sn.state=1):"x"in rn&&(Sn.x=+rn.x||0,Sn.y=+rn.y||0,Sn.z=+rn.z||0,Sn.w=+rn.w||0,Sn.state=2)}for(var Ra=0;Ra1)for(var an=0;anUt&&(Ut=pr.stats.uniformsCount)}),Ut},ht.getMaxAttributesCount=function(){var Ut=0;return Kr.forEach(function(pr){pr.stats.attributesCount>Ut&&(Ut=pr.stats.attributesCount)}),Ut});function Sr(){cr={},dr={};for(var Ut=0;Ut16&&(ht=tn(ht,pe.length*8));for(var Kt=Array(16),cr=Array(16),dr=0;dr<16;dr++)Kt[dr]=ht[dr]^909522486,cr[dr]=ht[dr]^1549556828;var ur=tn(Kt.concat(Wu(ot)),512+ot.length*8);return Je(tn(cr.concat(ur),768))}function Fu(pe){for(var ot=Qh?"0123456789ABCDEF":"0123456789abcdef",ht="",Kt,cr=0;cr>>4&15)+ot.charAt(Kt&15);return ht}function fh(pe){for(var ot="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ht="",Kt=pe.length,cr=0;crpe.length*8?ht+=hf:ht+=ot.charAt(dr>>>6*(3-ur)&63);return ht}function ed(pe,ot){var ht=ot.length,Kt=Array(),cr,dr,ur,Rr,Xr=Array(Math.ceil(pe.length/2));for(cr=0;cr0;){for(Rr=Array(),ur=0,cr=0;cr0||dr>0)&&(Rr[Rr.length]=dr);Kt[Kt.length]=ur,Xr=Rr}var $r="";for(cr=Kt.length-1;cr>=0;cr--)$r+=ot.charAt(Kt[cr]);var Kr=Math.ceil(pe.length*8/(Math.log(ot.length)/Math.log(2)));for(cr=$r.length;cr>>6&31,128|Kt&63):Kt<=65535?ot+=String.fromCharCode(224|Kt>>>12&15,128|Kt>>>6&63,128|Kt&63):Kt<=2097151&&(ot+=String.fromCharCode(240|Kt>>>18&7,128|Kt>>>12&63,128|Kt>>>6&63,128|Kt&63));return ot}function Wu(pe){for(var ot=Array(pe.length>>2),ht=0;ht>5]|=(pe.charCodeAt(ht/8)&255)<<24-ht%32;return ot}function Je(pe){for(var ot="",ht=0;ht>5]>>>24-ht%32&255);return ot}function yt(pe,ot){return pe>>>ot|pe<<32-ot}function Gt(pe,ot){return pe>>>ot}function Bt(pe,ot,ht){return pe&ot^~pe&ht}function mr(pe,ot,ht){return pe&ot^pe&ht^ot&ht}function Ur(pe){return yt(pe,2)^yt(pe,13)^yt(pe,22)}function en(pe){return yt(pe,6)^yt(pe,11)^yt(pe,25)}function mn(pe){return yt(pe,7)^yt(pe,18)^Gt(pe,3)}function An(pe){return yt(pe,17)^yt(pe,19)^Gt(pe,10)}var Vn=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 tn(pe,ot){var ht=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),Kt=new Array(64),cr,dr,ur,Rr,Xr,$r,Kr,Hn,Cn,fn,Sr,Ut;for(pe[ot>>5]|=128<<24-ot%32,pe[(ot+64>>9<<4)+15]=ot,Cn=0;Cn>16)+(ot>>16)+(ht>>16);return Kt<<16|ht&65535}function dn(pe){return Array.prototype.slice.call(pe)}function Wr(pe){return dn(pe).join("")}function ea(pe){var ot=pe&&pe.cache,ht=0,Kt=[],cr=[],dr=[];function ur(Sr,Ut){var pr=Ut&&Ut.stable;if(!pr){for(var Ir=0;Ir0&&(Sr.push(Zr,"="),Sr.push.apply(Sr,dn(arguments)),Sr.push(";")),Zr}return e(Ut,{def:Ir,toString:function(){return Wr([pr.length>0?"var "+pr.join(",")+";":"",Wr(Sr)])}})}function Xr(){var Sr=Rr(),Ut=Rr(),pr=Sr.toString,Ir=Ut.toString;function Zr(Cr,hn){Ut(Cr,hn,"=",Sr.def(Cr,hn),";")}return e(function(){Sr.apply(Sr,dn(arguments))},{def:Sr.def,entry:Sr,exit:Ut,save:Zr,set:function(Cr,hn,sn){Zr(Cr,hn),Sr(Cr,hn,"=",sn,";")},toString:function(){return pr()+Ir()}})}function $r(){var Sr=Wr(arguments),Ut=Xr(),pr=Xr(),Ir=Ut.toString,Zr=pr.toString;return e(Ut,{then:function(){return Ut.apply(Ut,dn(arguments)),this},else:function(){return pr.apply(pr,dn(arguments)),this},toString:function(){var Cr=Zr();return Cr&&(Cr="else{"+Cr+"}"),Wr(["if(",Sr,"){",Ir(),"}",Cr])}})}var Kr=Rr(),Hn={};function Cn(Sr,Ut){var pr=[];function Ir(){var Gn="a"+pr.length;return pr.push(Gn),Gn}Ut=Ut||0;for(var Zr=0;Zr":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},ii={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},di={cw:Te,ccw:qe};function Li(Me){return Array.isArray(Me)||qr(Me)||jr(Me)}function Ti(Me){return Me.sort(function(bt,Ot){return bt===ee?-1:Ot===ee?1:bt=1,Lr>=2,bt)}else if(Ot===Zo){var Vr=Me.data;return new Qr(Vr.thisDep,Vr.contextDep,Vr.propDep,bt)}else{if(Ot===Ss)return new Qr(!1,!1,!1,bt);if(Ot===as){for(var Or=!1,Nr=!1,vi=!1,Ni=0;Ni=1&&(Nr=!0),Si>=2&&(vi=!0)}else qi.type===Zo&&(Or=Or||qi.data.thisDep,Nr=Nr||qi.data.contextDep,vi=vi||qi.data.propDep)}return new Qr(Or,Nr,vi,bt)}else return new Qr(Ot===bo,Ot===Ka,Ot===Dn,bt)}}var na=new Qr(!1,!1,!1,function(){});function Ea(Me,bt,Ot,Lr,Vr,Or,Nr,vi,Ni,qi,Si,Vn,Qi,ji,oi,Tr){var Zr=qi.Record,yi={add:32774,subtract:32778,"reverse subtract":32779};Ot.ext_blend_minmax&&(yi.min=Ve,yi.max=Ye);var Ii=Ot.angle_instanced_arrays,ui=Ot.webgl_draw_buffers,nn=Ot.oes_vertex_array_object,Xi={dirty:!0,profile:Tr.profile},qn={},fi=[],si={},mn={};function Ji(Ne){return Ne.replace(".","_")}function Ui(Ne,$e,st){var It=Ji(Ne);fi.push(Ne),qn[It]=Xi[It]=!!st,si[It]=$e}function Bi(Ne,$e,st){var It=Ji(Ne);fi.push(Ne),Array.isArray(st)?(Xi[It]=st.slice(),qn[It]=st.slice()):Xi[It]=qn[It]=st,mn[It]=$e}function pn(Ne){return!!isNaN(Ne)}Ui(ws,Ci),Ui(Ho,ri),Bi(ml,"blendColor",[0,0,0,0]),Bi(Ws,"blendEquationSeparate",[pr,pr]),Bi(Ls,"blendFuncSeparate",[dr,Xt,dr,Xt]),Ui(va,sn,!0),Bi(no,"depthFunc",Ur),Bi(ys,"depthRange",[0,1]),Bi(rs,"depthMask",!0),Bi(Ql,Ql,[!0,!0,!0,!0]),Ui(Cu,Hr),Bi(Yu,"cullFace",se),Bi(Nc,Nc,qe),Bi(pu,pu,1),Ui(Uc,Yn),Bi(xu,"polygonOffset",[0,0]),Ui(Ac,Aa),Ui(Va,fa),Bi(oo,"sampleCoverage",[1,!1]),Ui(Vc,cn),Bi(hc,"stencilMask",-1),Bi(Ku,"stencilFunc",[Pt,0,-1]),Bi(ue,"stencilOpSeparate",[X,ot,ot,ot]),Bi(w,"stencilOpSeparate",[se,ot,ot,ot]),Ui(B,Ln),Bi(Q,"scissor",[0,0,Me.drawingBufferWidth,Me.drawingBufferHeight]),Bi(ee,ee,[0,0,Me.drawingBufferWidth,Me.drawingBufferHeight]);var Nn={gl:Me,context:Qi,strings:bt,next:qn,current:Xi,draw:Vn,elements:Or,buffer:Vr,shader:Si,attributes:qi.state,vao:qi,uniforms:Ni,framebuffer:vi,extensions:Ot,timer:ji,isBufferArgs:Li},aa={primTypes:Mn,compareFuncs:Wr,blendFuncs:xi,blendEquations:yi,stencilOps:ii,glTypes:un,orientationType:di};ui&&(aa.backBuffer=[se],aa.drawBuffer=S(Lr.maxDrawbuffers,function(Ne){return Ne===0?[0]:S(Ne,function($e){return gi+$e})}));var Ki=0;function Cn(){var Ne=ta({cache:oi}),$e=Ne.link,st=Ne.global;Ne.id=Ki++,Ne.batchId="0";var It=$e(Nn),Bt=Ne.shared={props:"a0"};Object.keys(Nn).forEach(function(Dt){Bt[Dt]=st.def(It,".",Dt)});var Ft=Ne.next={},Ut=Ne.current={};Object.keys(mn).forEach(function(Dt){Array.isArray(Xi[Dt])&&(Ft[Dt]=st.def(Bt.next,".",Dt),Ut[Dt]=st.def(Bt.current,".",Dt))});var zt=Ne.constants={};Object.keys(aa).forEach(function(Dt){zt[Dt]=st.def(JSON.stringify(aa[Dt]))}),Ne.invoke=function(Dt,vt){switch(vt.type){case Zn:var lr=["this",Bt.context,Bt.props,Ne.batchId];return Dt.def($e(vt.data),".call(",lr.slice(0,Math.max(vt.data.length+1,4)),")");case Dn:return Dt.def(Bt.props,vt.data);case Ka:return Dt.def(Bt.context,vt.data);case bo:return Dt.def("this",vt.data);case Zo:return vt.data.append(Ne,Dt),vt.data.ref;case Ss:return vt.data.toString();case as:return vt.data.map(function(_r){return Ne.invoke(Dt,_r)})}},Ne.attribCache={};var _t={};return Ne.scopeAttrib=function(Dt){var vt=bt.id(Dt);if(vt in _t)return _t[vt];var lr=qi.scope[vt];lr||(lr=qi.scope[vt]=new Zr);var _r=_t[vt]=$e(lr);return _r},Ne}function ia(Ne){var $e=Ne.static,st=Ne.dynamic,It;if(le in $e){var Bt=!!$e[le];It=kn(function(Ut,zt){return Bt}),It.enable=Bt}else if(le in st){var Ft=st[le];It=Bn(Ft,function(Ut,zt){return Ut.invoke(zt,Ft)})}return It}function sa(Ne,$e){var st=Ne.static,It=Ne.dynamic;if(Fe in st){var Bt=st[Fe];return Bt?(Bt=vi.getFramebuffer(Bt),kn(function(Ut,zt){var _t=Ut.link(Bt),Dt=Ut.shared;zt.set(Dt.framebuffer,".next",_t);var vt=Dt.context;return zt.set(vt,"."+ze,_t+".width"),zt.set(vt,"."+Qe,_t+".height"),_t})):kn(function(Ut,zt){var _t=Ut.shared;zt.set(_t.framebuffer,".next","null");var Dt=_t.context;return zt.set(Dt,"."+ze,Dt+"."+Wt),zt.set(Dt,"."+Qe,Dt+"."+nr),"null"})}else if(Fe in It){var Ft=It[Fe];return Bn(Ft,function(Ut,zt){var _t=Ut.invoke(zt,Ft),Dt=Ut.shared,vt=Dt.framebuffer,lr=zt.def(vt,".getFramebuffer(",_t,")");zt.set(vt,".next",lr);var _r=Dt.context;return zt.set(_r,"."+ze,lr+"?"+lr+".width:"+_r+"."+Wt),zt.set(_r,"."+Qe,lr+"?"+lr+".height:"+_r+"."+nr),lr})}else return null}function ba(Ne,$e,st){var It=Ne.static,Bt=Ne.dynamic;function Ft(_t){if(_t in It){var Dt=It[_t],vt=!0,lr=Dt.x|0,_r=Dt.y|0,Br,Di;return"width"in Dt?Br=Dt.width|0:vt=!1,"height"in Dt?Di=Dt.height|0:vt=!1,new Qr(!vt&&$e&&$e.thisDep,!vt&&$e&&$e.contextDep,!vt&&$e&&$e.propDep,function(gn,tn){var Ei=gn.shared.context,Oi=Br;"width"in Dt||(Oi=tn.def(Ei,".",ze,"-",lr));var Gi=Di;return"height"in Dt||(Gi=tn.def(Ei,".",Qe,"-",_r)),[lr,_r,Oi,Gi]})}else if(_t in Bt){var ci=Bt[_t],bi=Bn(ci,function(gn,tn){var Ei=gn.invoke(tn,ci),Oi=gn.shared.context,Gi=tn.def(Ei,".x|0"),on=tn.def(Ei,".y|0"),zn=tn.def('"width" in ',Ei,"?",Ei,".width|0:","(",Oi,".",ze,"-",Gi,")"),Ja=tn.def('"height" in ',Ei,"?",Ei,".height|0:","(",Oi,".",Qe,"-",on,")");return[Gi,on,zn,Ja]});return $e&&(bi.thisDep=bi.thisDep||$e.thisDep,bi.contextDep=bi.contextDep||$e.contextDep,bi.propDep=bi.propDep||$e.propDep),bi}else return $e?new Qr($e.thisDep,$e.contextDep,$e.propDep,function(gn,tn){var Ei=gn.shared.context;return[0,0,tn.def(Ei,".",ze),tn.def(Ei,".",Qe)]}):null}var Ut=Ft(ee);if(Ut){var zt=Ut;Ut=new Qr(Ut.thisDep,Ut.contextDep,Ut.propDep,function(_t,Dt){var vt=zt.append(_t,Dt),lr=_t.shared.context;return Dt.set(lr,"."+Xe,vt[2]),Dt.set(lr,"."+nt,vt[3]),vt})}return{viewport:Ut,scissor_box:Ft(Q)}}function is(Ne,$e){var st=Ne.static,It=typeof st[ut]=="string"&&typeof st[Ze]=="string";if(It){if(Object.keys($e.dynamic).length>0)return null;var Bt=$e.static,Ft=Object.keys(Bt);if(Ft.length>0&&typeof Bt[Ft[0]]=="number"){for(var Ut=[],zt=0;zt"+Gi+"?"+vt+".constant["+Gi+"]:0;"}).join(""),"}}else{","if(",Br,"(",vt,".buffer)){",gn,"=",Di,".createStream(",br,",",vt,".buffer);","}else{",gn,"=",Di,".getBuffer(",vt,".buffer);","}",tn,'="type" in ',vt,"?",_r.glTypes,"[",vt,".type]:",gn,".dtype;",ci.normalized,"=!!",vt,".normalized;");function Ei(Oi){Dt(ci[Oi],"=",vt,".",Oi,"|0;")}return Ei("size"),Ei("offset"),Ei("stride"),Ei("divisor"),Dt("}}"),Dt.exit("if(",ci.isStream,"){",Di,".destroyStream(",gn,");","}"),ci}Bt[Ft]=Bn(Ut,zt)}),Bt}function al(Ne){var $e=Ne.static,st=Ne.dynamic,It={};return Object.keys($e).forEach(function(Bt){var Ft=$e[Bt];It[Bt]=kn(function(Ut,zt){return typeof Ft=="number"||typeof Ft=="boolean"?""+Ft:Ut.link(Ft)})}),Object.keys(st).forEach(function(Bt){var Ft=st[Bt];It[Bt]=Bn(Ft,function(Ut,zt){return Ut.invoke(zt,Ft)})}),It}function Vl(Ne,$e,st,It,Bt){var Ft=Ne.static,Ut=Ne.dynamic,zt=is(Ne,$e),_t=sa(Ne,Bt),Dt=ba(Ne,_t,Bt),vt=Ga(Ne,Bt),lr=Ml(Ne,Bt),_r=Zs(Ne,Bt,zt);function Br(Ei){var Oi=Dt[Ei];Oi&&(lr[Ei]=Oi)}Br(ee),Br(Ji(Q));var Di=Object.keys(lr).length>0,ci={framebuffer:_t,draw:vt,shader:_r,state:lr,dirty:Di,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(ci.profile=ia(Ne,Bt),ci.uniforms=zo(st,Bt),ci.drawVAO=ci.scopeVAO=vt.vao,!ci.drawVAO&&_r.program&&!zt&&Ot.angle_instanced_arrays&&vt.static.elements){var bi=!0,gn=_r.program.attributes.map(function(Ei){var Oi=$e.static[Ei];return bi=bi&&!!Oi,Oi});if(bi&&gn.length>0){var tn=qi.getVAO(qi.createVAO({attributes:gn,elements:vt.static.elements}));ci.drawVAO=new Qr(null,null,null,function(Ei,Oi){return Ei.link(tn)}),ci.useVAO=!0}}return zt?ci.useVAO=!0:ci.attributes=Qs($e,Bt),ci.context=al(It,Bt),ci}function ss(Ne,$e,st){var It=Ne.shared,Bt=It.context,Ft=Ne.scope();Object.keys(st).forEach(function(Ut){$e.save(Bt,"."+Ut);var zt=st[Ut],_t=zt.append(Ne,$e);Array.isArray(_t)?Ft(Bt,".",Ut,"=[",_t.join(),"];"):Ft(Bt,".",Ut,"=",_t,";")}),$e(Ft)}function Vs(Ne,$e,st,It){var Bt=Ne.shared,Ft=Bt.gl,Ut=Bt.framebuffer,zt;ui&&(zt=$e.def(Bt.extensions,".webgl_draw_buffers"));var _t=Ne.constants,Dt=_t.drawBuffer,vt=_t.backBuffer,lr;st?lr=st.append(Ne,$e):lr=$e.def(Ut,".next"),It||$e("if(",lr,"!==",Ut,".cur){"),$e("if(",lr,"){",Ft,".bindFramebuffer(",zr,",",lr,".framebuffer);"),ui&&$e(zt,".drawBuffersWEBGL(",Dt,"[",lr,".colorAttachments.length]);"),$e("}else{",Ft,".bindFramebuffer(",zr,",null);"),ui&&$e(zt,".drawBuffersWEBGL(",vt,");"),$e("}",Ut,".cur=",lr,";"),It||$e("}")}function Ys(Ne,$e,st){var It=Ne.shared,Bt=It.gl,Ft=Ne.current,Ut=Ne.next,zt=It.current,_t=It.next,Dt=Ne.cond(zt,".dirty");fi.forEach(function(vt){var lr=Ji(vt);if(!(lr in st.state)){var _r,Br;if(lr in Ut){_r=Ut[lr],Br=Ft[lr];var Di=S(Xi[lr].length,function(bi){return Dt.def(_r,"[",bi,"]")});Dt(Ne.cond(Di.map(function(bi,gn){return bi+"!=="+Br+"["+gn+"]"}).join("||")).then(Bt,".",mn[lr],"(",Di,");",Di.map(function(bi,gn){return Br+"["+gn+"]="+bi}).join(";"),";"))}else{_r=Dt.def(_t,".",lr);var ci=Ne.cond(_r,"!==",zt,".",lr);Dt(ci),lr in si?ci(Ne.cond(_r).then(Bt,".enable(",si[lr],");").else(Bt,".disable(",si[lr],");"),zt,".",lr,"=",_r,";"):ci(Bt,".",mn[lr],"(",_r,");",zt,".",lr,"=",_r,";")}}}),Object.keys(st.state).length===0&&Dt(zt,".dirty=false;"),$e(Dt)}function wa(Ne,$e,st,It){var Bt=Ne.shared,Ft=Ne.current,Ut=Bt.current,zt=Bt.gl,_t;Ti(Object.keys(st)).forEach(function(Dt){var vt=st[Dt];if(!(It&&!It(vt))){var lr=vt.append(Ne,$e);if(si[Dt]){var _r=si[Dt];Pn(vt)?(_t=Ne.link(lr,{stable:!0}),$e(Ne.cond(_t).then(zt,".enable(",_r,");").else(zt,".disable(",_r,");")),$e(Ut,".",Dt,"=",_t,";")):($e(Ne.cond(lr).then(zt,".enable(",_r,");").else(zt,".disable(",_r,");")),$e(Ut,".",Dt,"=",lr,";"))}else if(En(lr)){var Br=Ft[Dt];$e(zt,".",mn[Dt],"(",lr,");",lr.map(function(Di,ci){return Br+"["+ci+"]="+Di}).join(";"),";")}else Pn(vt)?(_t=Ne.link(lr,{stable:!0}),$e(zt,".",mn[Dt],"(",_t,");",Ut,".",Dt,"=",_t,";")):$e(zt,".",mn[Dt],"(",lr,");",Ut,".",Dt,"=",lr,";")}})}function ol(Ne,$e){Ii&&(Ne.instancing=$e.def(Ne.shared.extensions,".angle_instanced_arrays"))}function io(Ne,$e,st,It,Bt){var Ft=Ne.shared,Ut=Ne.stats,zt=Ft.current,_t=Ft.timer,Dt=st.profile;function vt(){return typeof performance=="undefined"?"Date.now()":"performance.now()"}var lr,_r;function Br(Ei){lr=$e.def(),Ei(lr,"=",vt(),";"),typeof Bt=="string"?Ei(Ut,".count+=",Bt,";"):Ei(Ut,".count++;"),ji&&(It?(_r=$e.def(),Ei(_r,"=",_t,".getNumPendingQueries();")):Ei(_t,".beginQuery(",Ut,");"))}function Di(Ei){Ei(Ut,".cpuTime+=",vt(),"-",lr,";"),ji&&(It?Ei(_t,".pushScopeStats(",_r,",",_t,".getNumPendingQueries(),",Ut,");"):Ei(_t,".endQuery();"))}function ci(Ei){var Oi=$e.def(zt,".profile");$e(zt,".profile=",Ei,";"),$e.exit(zt,".profile=",Oi,";")}var bi;if(Dt){if(Pn(Dt)){Dt.enable?(Br($e),Di($e.exit),ci("true")):ci("false");return}bi=Dt.append(Ne,$e),ci(bi)}else bi=$e.def(zt,".profile");var gn=Ne.block();Br(gn),$e("if(",bi,"){",gn,"}");var tn=Ne.block();Di(tn),$e.exit("if(",bi,"){",tn,"}")}function Y(Ne,$e,st,It,Bt){var Ft=Ne.shared;function Ut(_t){switch(_t){case Co:case Ps:case hl:return 2;case Qa:case Ts:case Ul:return 3;case mo:case wo:case Lu:return 4;default:return 1}}function zt(_t,Dt,vt){var lr=Ft.gl,_r=$e.def(_t,".location"),Br=$e.def(Ft.attributes,"[",_r,"]"),Di=vt.state,ci=vt.buffer,bi=[vt.x,vt.y,vt.z,vt.w],gn=["buffer","normalized","offset","stride"];function tn(){$e("if(!",Br,".buffer){",lr,".enableVertexAttribArray(",_r,");}");var Oi=vt.type,Gi;if(vt.size?Gi=$e.def(vt.size,"||",Dt):Gi=Dt,$e("if(",Br,".type!==",Oi,"||",Br,".size!==",Gi,"||",gn.map(function(zn){return Br+"."+zn+"!=="+vt[zn]}).join("||"),"){",lr,".bindBuffer(",br,",",ci,".buffer);",lr,".vertexAttribPointer(",[_r,Gi,Oi,vt.normalized,vt.stride,vt.offset],");",Br,".type=",Oi,";",Br,".size=",Gi,";",gn.map(function(zn){return Br+"."+zn+"="+vt[zn]+";"}).join(""),"}"),Ii){var on=vt.divisor;$e("if(",Br,".divisor!==",on,"){",Ne.instancing,".vertexAttribDivisorANGLE(",[_r,on],");",Br,".divisor=",on,";}")}}function Ei(){$e("if(",Br,".buffer){",lr,".disableVertexAttribArray(",_r,");",Br,".buffer=null;","}if(",Ca.map(function(Oi,Gi){return Br+"."+Oi+"!=="+bi[Gi]}).join("||"),"){",lr,".vertexAttrib4f(",_r,",",bi,");",Ca.map(function(Oi,Gi){return Br+"."+Oi+"="+bi[Gi]+";"}).join(""),"}")}Di===La?tn():Di===Ua?Ei():($e("if(",Di,"===",La,"){"),tn(),$e("}else{"),Ei(),$e("}"))}It.forEach(function(_t){var Dt=_t.name,vt=st.attributes[Dt],lr;if(vt){if(!Bt(vt))return;lr=vt.append(Ne,$e)}else{if(!Bt(na))return;var _r=Ne.scopeAttrib(Dt);lr={},Object.keys(new Zr).forEach(function(Br){lr[Br]=$e.def(_r,".",Br)})}zt(Ne.link(_t),Ut(_t.info.type),lr)})}function D(Ne,$e,st,It,Bt,Ft){for(var Ut=Ne.shared,zt=Ut.gl,_t,Dt=0;Dt1){for(var co=[],ts=[],so=0;so>1)",ci],");")}function on(){st(bi,".drawArraysInstancedANGLE(",[_r,Br,Di,ci],");")}vt&&vt!=="null"?tn?Gi():(st("if(",vt,"){"),Gi(),st("}else{"),on(),st("}")):on()}function Oi(){function Gi(){st(Ft+".drawElements("+[_r,Di,gn,Br+"<<(("+gn+"-"+Ra+")>>1)"]+");")}function on(){st(Ft+".drawArrays("+[_r,Br,Di]+");")}vt&&vt!=="null"?tn?Gi():(st("if(",vt,"){"),Gi(),st("}else{"),on(),st("}")):on()}Ii&&(typeof ci!="number"||ci>=0)?typeof ci=="string"?(st("if(",ci,">0){"),Ei(),st("}else if(",ci,"<0){"),Oi(),st("}")):Ei():Oi()}function O(Ne,$e,st,It,Bt){var Ft=Cn(),Ut=Ft.proc("body",Bt);return Ii&&(Ft.instancing=Ut.def(Ft.shared.extensions,".angle_instanced_arrays")),Ne(Ft,Ut,st,It),Ft.compile().body}function K(Ne,$e,st,It){ol(Ne,$e),st.useVAO?st.drawVAO?$e(Ne.shared.vao,".setVAO(",st.drawVAO.append(Ne,$e),");"):$e(Ne.shared.vao,".setVAO(",Ne.shared.vao,".targetVAO);"):($e(Ne.shared.vao,".setVAO(null);"),Y(Ne,$e,st,It.attributes,function(){return!0})),D(Ne,$e,st,It.uniforms,function(){return!0},!1),J(Ne,$e,$e,st)}function de(Ne,$e){var st=Ne.proc("draw",1);ol(Ne,st),ss(Ne,st,$e.context),Vs(Ne,st,$e.framebuffer),Ys(Ne,st,$e),wa(Ne,st,$e.state),io(Ne,st,$e,!1,!0);var It=$e.shader.progVar.append(Ne,st);if(st(Ne.shared.gl,".useProgram(",It,".program);"),$e.shader.program)K(Ne,st,$e,$e.shader.program);else{st(Ne.shared.vao,".setVAO(null);");var Bt=Ne.global.def("{}"),Ft=st.def(It,".id"),Ut=st.def(Bt,"[",Ft,"]");st(Ne.cond(Ut).then(Ut,".call(this,a0);").else(Ut,"=",Bt,"[",Ft,"]=",Ne.link(function(zt){return O(K,Ne,$e,zt,1)}),"(",It,");",Ut,".call(this,a0);"))}Object.keys($e.state).length>0&&st(Ne.shared.current,".dirty=true;"),Ne.shared.vao&&st(Ne.shared.vao,".setVAO(null);")}function ne(Ne,$e,st,It){Ne.batchId="a1",ol(Ne,$e);function Bt(){return!0}Y(Ne,$e,st,It.attributes,Bt),D(Ne,$e,st,It.uniforms,Bt,!1),J(Ne,$e,$e,st)}function we(Ne,$e,st,It){ol(Ne,$e);var Bt=st.contextDep,Ft=$e.def(),Ut="a0",zt="a1",_t=$e.def();Ne.shared.props=_t,Ne.batchId=Ft;var Dt=Ne.scope(),vt=Ne.scope();$e(Dt.entry,"for(",Ft,"=0;",Ft,"<",zt,";++",Ft,"){",_t,"=",Ut,"[",Ft,"];",vt,"}",Dt.exit);function lr(gn){return gn.contextDep&&Bt||gn.propDep}function _r(gn){return!lr(gn)}if(st.needsContext&&ss(Ne,vt,st.context),st.needsFramebuffer&&Vs(Ne,vt,st.framebuffer),wa(Ne,vt,st.state,lr),st.profile&&lr(st.profile)&&io(Ne,vt,st,!1,!0),It)st.useVAO?st.drawVAO?lr(st.drawVAO)?vt(Ne.shared.vao,".setVAO(",st.drawVAO.append(Ne,vt),");"):Dt(Ne.shared.vao,".setVAO(",st.drawVAO.append(Ne,Dt),");"):Dt(Ne.shared.vao,".setVAO(",Ne.shared.vao,".targetVAO);"):(Dt(Ne.shared.vao,".setVAO(null);"),Y(Ne,Dt,st,It.attributes,_r),Y(Ne,vt,st,It.attributes,lr)),D(Ne,Dt,st,It.uniforms,_r,!1),D(Ne,vt,st,It.uniforms,lr,!0),J(Ne,Dt,vt,st);else{var Br=Ne.global.def("{}"),Di=st.shader.progVar.append(Ne,vt),ci=vt.def(Di,".id"),bi=vt.def(Br,"[",ci,"]");vt(Ne.shared.gl,".useProgram(",Di,".program);","if(!",bi,"){",bi,"=",Br,"[",ci,"]=",Ne.link(function(gn){return O(ne,Ne,st,gn,2)}),"(",Di,");}",bi,".call(this,a0[",Ft,"],",Ft,");")}}function Oe(Ne,$e){var st=Ne.proc("batch",2);Ne.batchId="0",ol(Ne,st);var It=!1,Bt=!0;Object.keys($e.context).forEach(function(Br){It=It||$e.context[Br].propDep}),It||(ss(Ne,st,$e.context),Bt=!1);var Ft=$e.framebuffer,Ut=!1;Ft?(Ft.propDep?It=Ut=!0:Ft.contextDep&&It&&(Ut=!0),Ut||Vs(Ne,st,Ft)):Vs(Ne,st,null),$e.state.viewport&&$e.state.viewport.propDep&&(It=!0);function zt(Br){return Br.contextDep&&It||Br.propDep}Ys(Ne,st,$e),wa(Ne,st,$e.state,function(Br){return!zt(Br)}),(!$e.profile||!zt($e.profile))&&io(Ne,st,$e,!1,"a1"),$e.contextDep=It,$e.needsContext=Bt,$e.needsFramebuffer=Ut;var _t=$e.shader.progVar;if(_t.contextDep&&It||_t.propDep)we(Ne,st,$e,null);else{var Dt=_t.append(Ne,st);if(st(Ne.shared.gl,".useProgram(",Dt,".program);"),$e.shader.program)we(Ne,st,$e,$e.shader.program);else{st(Ne.shared.vao,".setVAO(null);");var vt=Ne.global.def("{}"),lr=st.def(Dt,".id"),_r=st.def(vt,"[",lr,"]");st(Ne.cond(_r).then(_r,".call(this,a0,a1);").else(_r,"=",vt,"[",lr,"]=",Ne.link(function(Br){return O(we,Ne,$e,Br,2)}),"(",Dt,");",_r,".call(this,a0,a1);"))}}Object.keys($e.state).length>0&&st(Ne.shared.current,".dirty=true;"),Ne.shared.vao&&st(Ne.shared.vao,".setVAO(null);")}function ht(Ne,$e){var st=Ne.proc("scope",3);Ne.batchId="a2";var It=Ne.shared,Bt=It.current;if(ss(Ne,st,$e.context),$e.framebuffer&&$e.framebuffer.append(Ne,st),Ti(Object.keys($e.state)).forEach(function(zt){var _t=$e.state[zt],Dt=_t.append(Ne,st);En(Dt)?Dt.forEach(function(vt,lr){pn(vt)?st.set(Ne.next[zt],"["+lr+"]",vt):st.set(Ne.next[zt],"["+lr+"]",Ne.link(vt,{stable:!0}))}):Pn(_t)?st.set(It.next,"."+zt,Ne.link(Dt,{stable:!0})):st.set(It.next,"."+zt,Dt)}),io(Ne,st,$e,!0,!0),[Mt,yr,$t,Cr,Jt].forEach(function(zt){var _t=$e.draw[zt];if(_t){var Dt=_t.append(Ne,st);pn(Dt)?st.set(It.draw,"."+zt,Dt):st.set(It.draw,"."+zt,Ne.link(Dt),{stable:!0})}}),Object.keys($e.uniforms).forEach(function(zt){var _t=$e.uniforms[zt].append(Ne,st);Array.isArray(_t)&&(_t="["+_t.map(function(Dt){return pn(Dt)?Dt:Ne.link(Dt,{stable:!0})})+"]"),st.set(It.uniforms,"["+Ne.link(bt.id(zt),{stable:!0})+"]",_t)}),Object.keys($e.attributes).forEach(function(zt){var _t=$e.attributes[zt].append(Ne,st),Dt=Ne.scopeAttrib(zt);Object.keys(new Zr).forEach(function(vt){st.set(Dt,"."+vt,_t[vt])})}),$e.scopeVAO){var Ft=$e.scopeVAO.append(Ne,st);pn(Ft)?st.set(It.vao,".targetVAO",Ft):st.set(It.vao,".targetVAO",Ne.link(Ft,{stable:!0}))}function Ut(zt){var _t=$e.shader[zt];if(_t){var Dt=_t.append(Ne,st);pn(Dt)?st.set(It.shader,"."+zt,Dt):st.set(It.shader,"."+zt,Ne.link(Dt,{stable:!0}))}}Ut(Ze),Ut(ut),Object.keys($e.state).length>0&&(st(Bt,".dirty=true;"),st.exit(Bt,".dirty=true;")),st("a1(",Ne.shared.context,",a0,",Ne.batchId,");")}function Yt(Ne){if(!(typeof Ne!="object"||En(Ne))){for(var $e=Object.keys(Ne),st=0;st<$e.length;++st)if(h.isDynamic(Ne[$e[st]]))return!0;return!1}}function cr(Ne,$e,st){var It=$e.static[st];if(!It||!Yt(It))return;var Bt=Ne.global,Ft=Object.keys(It),Ut=!1,zt=!1,_t=!1,Dt=Ne.global.def("{}");Ft.forEach(function(lr){var _r=It[lr];if(h.isDynamic(_r)){typeof _r=="function"&&(_r=It[lr]=h.unbox(_r));var Br=Bn(_r,null);Ut=Ut||Br.thisDep,_t=_t||Br.propDep,zt=zt||Br.contextDep}else{switch(Bt(Dt,".",lr,"="),typeof _r){case"number":Bt(_r);break;case"string":Bt('"',_r,'"');break;case"object":Array.isArray(_r)&&Bt("[",_r.join(),"]");break;default:Bt(Ne.link(_r));break}Bt(";")}});function vt(lr,_r){Ft.forEach(function(Br){var Di=It[Br];if(h.isDynamic(Di)){var ci=lr.invoke(_r,Di);_r(Dt,".",Br,"=",ci,";")}})}$e.dynamic[st]=new h.DynamicVariable(Zo,{thisDep:Ut,contextDep:zt,propDep:_t,ref:Dt,append:vt}),delete $e.static[st]}function Nt(Ne,$e,st,It,Bt){var Ft=Cn();Ft.stats=Ft.link(Bt),Object.keys($e.static).forEach(function(zt){cr(Ft,$e,zt)}),fr.forEach(function(zt){cr(Ft,Ne,zt)});var Ut=Vl(Ne,$e,st,It,Ft);return Ut.shader.program&&(Ut.shader.program.attributes.sort(function(zt,_t){return zt.name<_t.name?-1:1}),Ut.shader.program.uniforms.sort(function(zt,_t){return zt.name<_t.name?-1:1})),de(Ft,Ut),ht(Ft,Ut),Oe(Ft,Ut),e(Ft.compile(),{destroy:function(){Ut.shader.program.destroy()}})}return{next:qn,current:Xi,procs:function(){var Ne=Cn(),$e=Ne.proc("poll"),st=Ne.proc("refresh"),It=Ne.block();$e(It),st(It);var Bt=Ne.shared,Ft=Bt.gl,Ut=Bt.next,zt=Bt.current;It(zt,".dirty=false;"),Vs(Ne,$e),Vs(Ne,st,null,!0);var _t;Ii&&(_t=Ne.link(Ii)),Ot.oes_vertex_array_object&&st(Ne.link(Ot.oes_vertex_array_object),".bindVertexArrayOES(null);");var Dt=st.def(Bt.attributes),vt=st.def(0),lr=Ne.cond(vt,".buffer");lr.then(Ft,".enableVertexAttribArray(i);",Ft,".bindBuffer(",br,",",vt,".buffer.buffer);",Ft,".vertexAttribPointer(i,",vt,".size,",vt,".type,",vt,".normalized,",vt,".stride,",vt,".offset);").else(Ft,".disableVertexAttribArray(i);",Ft,".vertexAttrib4f(i,",vt,".x,",vt,".y,",vt,".z,",vt,".w);",vt,".buffer=null;");var _r=Ne.link(Lr.maxAttributes,{stable:!0});return st("for(var i=0;i<",_r,";++i){",vt,"=",Dt,"[i];",lr,"}"),Ii&&st("for(var i=0;i<",_r,";++i){",_t,".vertexAttribDivisorANGLE(i,",Dt,"[i].divisor);","}"),st(Ne.shared.vao,".currentVAO=null;",Ne.shared.vao,".setVAO(",Ne.shared.vao,".targetVAO);"),Object.keys(si).forEach(function(Br){var Di=si[Br],ci=It.def(Ut,".",Br),bi=Ne.block();bi("if(",ci,"){",Ft,".enable(",Di,")}else{",Ft,".disable(",Di,")}",zt,".",Br,"=",ci,";"),st(bi),$e("if(",ci,"!==",zt,".",Br,"){",bi,"}")}),Object.keys(mn).forEach(function(Br){var Di=mn[Br],ci=Xi[Br],bi,gn,tn=Ne.block();if(tn(Ft,".",Di,"("),En(ci)){var Ei=ci.length;bi=Ne.global.def(Ut,".",Br),gn=Ne.global.def(zt,".",Br),tn(S(Ei,function(Oi){return bi+"["+Oi+"]"}),");",S(Ei,function(Oi){return gn+"["+Oi+"]="+bi+"["+Oi+"];"}).join("")),$e("if(",S(Ei,function(Oi){return bi+"["+Oi+"]!=="+gn+"["+Oi+"]"}).join("||"),"){",tn,"}")}else bi=It.def(Ut,".",Br),gn=It.def(zt,".",Br),tn(bi,");",zt,".",Br,"=",bi,";"),$e("if(",bi,"!==",gn,"){",tn,"}");st(tn)}),Ne.compile()}(),compile:Nt}}function Ia(){return{vaoCount:0,bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0}}var yo=34918,Da=34919,go=35007,Is=function(Me,bt){if(!bt.ext_disjoint_timer_query)return null;var Ot=[];function Lr(){return Ot.pop()||bt.ext_disjoint_timer_query.createQueryEXT()}function Vr(yi){Ot.push(yi)}var Or=[];function Nr(yi){var Ii=Lr();bt.ext_disjoint_timer_query.beginQueryEXT(go,Ii),Or.push(Ii),ji(Or.length-1,Or.length,yi)}function vi(){bt.ext_disjoint_timer_query.endQueryEXT(go)}function Ni(){this.startQueryIndex=-1,this.endQueryIndex=-1,this.sum=0,this.stats=null}var qi=[];function Si(){return qi.pop()||new Ni}function Vn(yi){qi.push(yi)}var Qi=[];function ji(yi,Ii,ui){var nn=Si();nn.startQueryIndex=yi,nn.endQueryIndex=Ii,nn.sum=0,nn.stats=ui,Qi.push(nn)}var oi=[],Tr=[];function Zr(){var yi,Ii,ui=Or.length;if(ui!==0){Tr.length=Math.max(Tr.length,ui+1),oi.length=Math.max(oi.length,ui+1),oi[0]=0,Tr[0]=0;var nn=0;for(yi=0,Ii=0;Ii=0;--O){var K=Nn[O];K&&K(oi,null,0)}Ot.flush(),Si&&Si.update()}function ba(){!ia&&Nn.length>0&&(ia=d.next(sa))}function is(){ia&&(d.cancel(sa),ia=null)}function Zs(O){O.preventDefault(),Vr=!0,is(),aa.forEach(function(K){K()})}function Ga(O){Ot.getError(),Vr=!1,Or.restore(),qn.restore(),Ii.restore(),fi.restore(),si.restore(),mn.restore(),nn.restore(),Si&&Si.restore(),Ji.procs.refresh(),ba(),Ki.forEach(function(K){K()})}pn&&(pn.addEventListener(Fo,Zs,!1),pn.addEventListener(Uo,Ga,!1));function Ml(){Nn.length=0,is(),pn&&(pn.removeEventListener(Fo,Zs),pn.removeEventListener(Uo,Ga)),qn.clear(),mn.clear(),si.clear(),nn.clear(),fi.clear(),ui.clear(),Ii.clear(),Si&&Si.clear(),Cn.forEach(function(O){O()})}function zo(O){function K(Ft){var Ut=e({},Ft);delete Ut.uniforms,delete Ut.attributes,delete Ut.context,delete Ut.vao,"stencil"in Ut&&Ut.stencil.op&&(Ut.stencil.opBack=Ut.stencil.opFront=Ut.stencil.op,delete Ut.stencil.op);function zt(_t){if(_t in Ut){var Dt=Ut[_t];delete Ut[_t],Object.keys(Dt).forEach(function(vt){Ut[_t+"."+vt]=Dt[vt]})}}return zt("blend"),zt("depth"),zt("cull"),zt("stencil"),zt("polygonOffset"),zt("scissor"),zt("sample"),"vao"in Ft&&(Ut.vao=Ft.vao),Ut}function de(Ft,Ut){var zt={},_t={};return Object.keys(Ft).forEach(function(Dt){var vt=Ft[Dt];if(h.isDynamic(vt)){_t[Dt]=h.unbox(vt,Dt);return}else if(Ut&&Array.isArray(vt)){for(var lr=0;lr0)return Ne.call(this,It(Ft|0),Ft|0)}else if(Array.isArray(Ft)){if(Ft.length)return Ne.call(this,Ft,Ft.length)}else return Nt.call(this,Ft)}return e(Bt,{stats:Yt,destroy:function(){cr.destroy()}})}var Qs=mn.setFBO=zo({framebuffer:h.define.call(null,$s,"framebuffer")});function al(O,K){var de=0;Ji.procs.poll();var ne=K.color;ne&&(Ot.clearColor(+ne[0]||0,+ne[1]||0,+ne[2]||0,+ne[3]||0),de|=Ms),"depth"in K&&(Ot.clearDepth(+K.depth),de|=Xs),"stencil"in K&&(Ot.clearStencil(K.stencil|0),de|=Un),Ot.clear(de)}function Vl(O){if("framebuffer"in O)if(O.framebuffer&&O.framebuffer_reglType==="framebufferCube")for(var K=0;K<6;++K)Qs(e({framebuffer:O.framebuffer.faces[K]},O),al);else Qs(O,al);else al(null,O)}function ss(O){Nn.push(O);function K(){var de=dl(Nn,O);function ne(){var we=dl(Nn,ne);Nn[we]=Nn[Nn.length-1],Nn.length-=1,Nn.length<=0&&is()}Nn[de]=ne}return ba(),{cancel:K}}function Vs(){var O=Bi.viewport,K=Bi.scissor_box;O[0]=O[1]=K[0]=K[1]=0,oi.viewportWidth=oi.framebufferWidth=oi.drawingBufferWidth=O[2]=K[2]=Ot.drawingBufferWidth,oi.viewportHeight=oi.framebufferHeight=oi.drawingBufferHeight=O[3]=K[3]=Ot.drawingBufferHeight}function Ys(){oi.tick+=1,oi.time=ol(),Vs(),Ji.procs.poll()}function wa(){fi.refresh(),Vs(),Ji.procs.refresh(),Si&&Si.update()}function ol(){return(v()-Vn)/1e3}wa();function io(O,K){var de;switch(O){case"frame":return ss(K);case"lost":de=aa;break;case"restore":de=Ki;break;case"destroy":de=Cn;break;default:}return de.push(K),{cancel:function(){for(var ne=0;ne=0},read:Ui,destroy:Ml,_gl:Ot,_refresh:wa,poll:function(){Ys(),Si&&Si.update()},now:ol,stats:vi,getCachedCode:Y,preloadCachedCode:D});return bt.onDone(null,J),J}return Sc})});var Iz=ye((z_r,NBe)=>{"use strict";var rVt=qX(),iVt=BBe();NBe.exports=function(t,r,n){var i=t._fullLayout,a=!0;return i._glcanvas.each(function(o){if(o.regl){o.regl.preloadCachedCode(n);return}if(!(o.pick&&!i._has("parcoords"))){try{o.regl=iVt({canvas:this,attributes:{antialias:!o.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||window.devicePixelRatio,extensions:r||[],cachedCode:n||{}})}catch(s){a=!1}o.regl||(a=!1),a&&this.addEventListener("webglcontextlost",function(s){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:s,layer:o.key})},!1)}}),a||rVt({container:i._glcontainer.node()}),a}});var bK=ye((xK,jBe)=>{"use strict";var UBe=xY(),VBe=JY(),nVt=COe(),GBe=OBe(),_K=Pr(),aVt=Cg().selectMode,oVt=Iz(),sVt=Ru(),lVt=EU(),uVt=gY().styleTextSelection,HBe={};function cVt(e,t,r,n){var i=e._size,a=e.width*n,o=e.height*n,s=i.l*n,l=i.b*n,u=i.r*n,c=i.t*n,f=i.w*n,h=i.h*n;return[s+t.domain[0]*f,l+r.domain[0]*h,a-u-(1-t.domain[1])*f,o-c-(1-r.domain[1])*h]}var xK=jBe.exports=function(t,r,n){if(n.length){var i=t._fullLayout,a=r._scene,o=r.xaxis,s=r.yaxis,l,u;if(a){var c=oVt(t,["ANGLE_instanced_arrays","OES_element_index_uint"],HBe);if(!c){a.init();return}var f=a.count,h=i._glcanvas.data()[0].regl;if(lVt(t,r,n),a.dirty){if((a.line2d||a.error2d)&&!(a.scatter2d||a.fill2d||a.glText)&&h.clear({color:!0,depth:!0}),a.error2d===!0&&(a.error2d=nVt(h)),a.line2d===!0&&(a.line2d=VBe(h)),a.scatter2d===!0&&(a.scatter2d=UBe(h)),a.fill2d===!0&&(a.fill2d=VBe(h)),a.glText===!0)for(a.glText=new Array(f),l=0;la.glText.length){var d=f-a.glText.length;for(l=0;lie&&(isNaN(H[ae])||isNaN(H[ae+1]));)ae-=2;N.positions=H.slice(ie,ae+2)}return N}),a.line2d.update(a.lineOptions)),a.error2d){var b=(a.errorXOptions||[]).concat(a.errorYOptions||[]);a.error2d.update(b)}a.scatter2d&&a.scatter2d.update(a.markerOptions),a.fillOrder=_K.repeat(null,f),a.fill2d&&(a.fillOptions=a.fillOptions.map(function(N,H){var ie=n[H];if(!(!N||!ie||!ie[0]||!ie[0].trace)){var ae=ie[0],_e=ae.trace,Ee=ae.t,Ce=a.lineOptions[H],ge,re,Se=[];_e._ownfill&&Se.push(H),_e._nexttrace&&Se.push(H+1),Se.length&&(a.fillOrder[H]=Se);var ke=[],be=Ce&&Ce.positions||Ee.positions,Be,Le;if(_e.fill==="tozeroy"){for(Be=0;BeBe&&isNaN(be[Le+1]);)Le-=2;be[Be+1]!==0&&(ke=[be[Be],0]),ke=ke.concat(be.slice(Be,Le+2)),be[Le+1]!==0&&(ke=ke.concat([be[Le],0]))}else if(_e.fill==="tozerox"){for(Be=0;BeBe&&isNaN(be[Le]);)Le-=2;be[Be]!==0&&(ke=[0,be[Be+1]]),ke=ke.concat(be.slice(Be,Le+2)),be[Le]!==0&&(ke=ke.concat([0,be[Le+1]]))}else if(_e.fill==="toself"||_e.fill==="tonext"){for(ke=[],ge=0,N.splitNull=!0,re=0;re-1;for(let[N]of n)if(N){var T=N.trace,L=N.t,x=L.index,C=T._length,S=L.x,g=L.y;if(T.selectedpoints||k||M){if(k||(k=!0),T.selectedpoints){var P=a.selectBatch[x]=_K.selIndices2selPoints(T),E={};for(u=0;u{"use strict";var WBe=c7e();WBe.plot=bK();XBe.exports=WBe});var KBe=ye((O_r,YBe)=>{"use strict";YBe.exports=ZBe()});var wK=ye((B_r,eNe)=>{"use strict";var fVt=pf(),QBe=Tu(),JBe=vf().axisHoverFormat,{hovertemplateAttrs:hVt,templatefallbackAttrs:dVt}=Ll(),qk=mk(),vVt=Rh().idRegex,pVt=vl().templatedArray,b5=Ao().extendFlat,d1=fVt.marker,gVt=d1.line,mVt=b5(QBe("marker.line",{editTypeOverride:"calc"}),{width:b5({},gVt.width,{editType:"calc"}),editType:"calc"}),Rz=b5(QBe("marker"),{symbol:d1.symbol,angle:d1.angle,size:b5({},d1.size,{editType:"markerSize"}),sizeref:d1.sizeref,sizemin:d1.sizemin,sizemode:d1.sizemode,opacity:d1.opacity,colorbar:d1.colorbar,line:mVt,editType:"calc"});Rz.color.editType=Rz.cmin.editType=Rz.cmax.editType="style";function $Be(e){return{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"subplotid",regex:vVt[e],editType:"plot"}}}eNe.exports={dimensions:pVt("dimension",{visible:{valType:"boolean",dflt:!0,editType:"calc"},label:{valType:"string",editType:"calc"},values:{valType:"data_array",editType:"calc+clearAxisTypes"},axis:{type:{valType:"enumerated",values:["linear","log","date","category"],editType:"calc+clearAxisTypes"},matches:{valType:"boolean",dflt:!1,editType:"calc"},editType:"calc+clearAxisTypes"},editType:"calc+clearAxisTypes"}),text:b5({},qk.text,{}),hovertext:b5({},qk.hovertext,{}),hovertemplate:hVt(),hovertemplatefallback:dVt(),xhoverformat:JBe("x"),yhoverformat:JBe("y"),marker:Rz,xaxes:$Be("x"),yaxes:$Be("y"),diagonal:{visible:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},showupperhalf:{valType:"boolean",dflt:!0,editType:"calc"},showlowerhalf:{valType:"boolean",dflt:!0,editType:"calc"},selected:{marker:qk.selected.marker,editType:"calc"},unselected:{marker:qk.unselected.marker,editType:"calc"},opacity:qk.opacity}});var Dz=ye((N_r,tNe)=>{"use strict";tNe.exports=function(e,t,r,n){n||(n=1/0);var i,a;for(i=0;i{"use strict";var TK=Pr(),yVt=Kd(),rNe=wK(),_Vt=Ru(),xVt=$p(),bVt=Dz(),wVt=ZF().isOpenSymbol;iNe.exports=function(t,r,n,i){function a(d,v){return TK.coerce(t,r,rNe,d,v)}var o=yVt(t,r,{name:"dimensions",handleItemDefaults:TVt}),s=a("diagonal.visible"),l=a("showupperhalf"),u=a("showlowerhalf"),c=bVt(r,o,"values");if(!c||!s&&!l&&!u){r.visible=!1;return}a("text"),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback"),a("xhoverformat"),a("yhoverformat"),xVt(t,r,n,i,a,{noAngleRef:!0,noLineDash:!0,noStandOff:!0});var f=wVt(r.marker.symbol),h=_Vt.isBubble(r);a("marker.line.width",f||h?1:0),AVt(t,r,i,a),TK.coerceSelectionMarkerOpacity(r,a)};function TVt(e,t){function r(i,a){return TK.coerce(e,t,rNe.dimensions,i,a)}r("label");var n=r("values");n&&n.length?r("visible"):t.visible=!1,r("axis.type"),r("axis.matches")}function AVt(e,t,r,n){var i=t.dimensions,a=i.length,o=t.showupperhalf,s=t.showlowerhalf,l=t.diagonal.visible,u,c,f=new Array(a),h=new Array(a);for(u=0;uc&&o||u{"use strict";var aNe=Pr();oNe.exports=function(t,r){var n=t._fullLayout,i=r.uid,a=n._splomScenes;a||(a=n._splomScenes={});var o={dirty:!0,selectBatch:[],unselectBatch:[]},s={matrix:!1,selectBatch:[],unselectBatch:[]},l=a[r.uid];return l||(l=a[i]=aNe.extendFlat({},o,s),l.draw=function(){l.matrix&&l.matrix.draw&&(l.selectBatch.length||l.unselectBatch.length?l.matrix.draw(l.unselectBatch,l.selectBatch):l.matrix.draw()),l.dirty=!1},l.destroy=function(){l.matrix&&l.matrix.destroy&&l.matrix.destroy(),l.matrixOptions=null,l.selectBatch=null,l.unselectBatch=null,l=null}),l.dirty||aNe.extendFlat(l,o),l}});var cNe=ye((G_r,uNe)=>{"use strict";var AK=Pr(),Fz=df(),SVt=O0().calcMarkerSize,MVt=O0().calcAxisExpansion,EVt=z0(),lNe=lw().markerSelection,kVt=lw().markerStyle,CVt=sNe(),LVt=fs().BADNUM,PVt=gx().TOO_MANY_POINTS;uNe.exports=function(t,r){var n=r.dimensions,i=r._length,a={},o=a.cdata=[],s=a.data=[],l=r._visibleDims=[],u,c,f,h,d;function v(M,T){for(var L=M.makeCalcdata({v:T.values,vcalendar:r.calendar},"v"),x=0;xPVt,p;for(b?p=a.sizeAvg||Math.max(a.size,3):p=SVt(r,i),c=0;c{(function(){var e,t,r,n,i,a;typeof performance!="undefined"&&performance!==null&&performance.now?Ok.exports=function(){return performance.now()}:typeof process!="undefined"&&process!==null&&process.hrtime?(Ok.exports=function(){return(e()-i)/1e6},t=process.hrtime,e=function(){var o;return o=t(),o[0]*1e9+o[1]},n=e(),a=process.uptime()*1e9,i=n-a):Date.now?(Ok.exports=function(){return Date.now()-r},r=Date.now()):(Ok.exports=function(){return new Date().getTime()-r},r=new Date().getTime())}).call(fNe)});var vNe=ye((H_r,Oz)=>{var IVt=hNe(),v1=window,zz=["moz","webkit"],T5="AnimationFrame",A5=v1["request"+T5],Bk=v1["cancel"+T5]||v1["cancelRequest"+T5];for(w5=0;!A5&&w5{pNe.exports=function(t,r){var n=typeof t=="number",i=typeof r=="number";n&&!i?(r=t,t=0):!n&&!i&&(t=0,r=0),t=t|0,r=r|0;var a=r-t;if(a<0)throw new Error("array length must be positive");for(var o=new Array(a),s=0,l=t;s{"use strict";var RVt=xY(),DVt=ty(),FVt=nw(),mNe=vNe(),zVt=gNe(),MK=l5(),qVt=aw();_Ne.exports=Sx;function Sx(e,t){if(!(this instanceof Sx))return new Sx(e,t);this.traces=[],this.passes={},this.regl=e,this.scatter=RVt(e),this.canvas=this.scatter.canvas}Sx.prototype.render=function(...e){return e.length&&this.update(...e),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?this.planned==null&&(this.planned=mNe(()=>{this.draw(),this.dirty=!0,this.planned=null})):(this.draw(),this.dirty=!0,mNe(()=>{this.dirty=!1})),this)};Sx.prototype.update=function(...e){if(!e.length)return;for(let n=0;nb||!i.lower&&m{t[a+s]=n})}this.scatter.draw(...t)}return this};Sx.prototype.destroy=function(){return this.traces.forEach(e=>{e.buffer&&e.buffer.destroy&&e.buffer.destroy()}),this.traces=null,this.passes=null,this.scatter.destroy(),this};function OVt(e,t,r){let n=e.id!=null?e.id:e,i=t,a=r;return n<<16|(i&255)<<8|a&255}function Bz(e,t,r){let n,i,a,o,s,l,u,c,f=e[t],h=e[r];return f.length>2?(n=f[0],a=f[2],i=f[1],o=f[3]):f.length?(n=i=f[0],a=o=f[1]):(n=f.x,i=f.y,a=f.x+f.width,o=f.y+f.height),h.length>2?(s=h[0],u=h[2],l=h[1],c=h[3]):h.length?(s=l=h[0],u=c=h[1]):(s=h.x,l=h.y,u=h.x+h.width,c=h.y+h.height),[s,i,u,o]}function yNe(e){if(typeof e=="number")return[e,e,e,e];if(e.length===2)return[e[0],e[1],e[0],e[1]];{let t=MK(e);return[t.x,t.y,t.x+t.width,t.y+t.height]}}});var wNe=ye((X_r,bNe)=>{"use strict";var BVt=xNe(),EK=Pr(),Nz=df(),NVt=Cg().selectMode;bNe.exports=function(t,r,n){if(n.length)for(var i=0;i-1,E=NVt(c)||!!i.selectedpoints||P,z=!0;if(E){var q=i._length;if(i.selectedpoints){o.selectBatch=i.selectedpoints;var V=i.selectedpoints,G={};for(d=0;d{"use strict";TNe.getDimIndex=function(t,r){for(var n=r._id,i=n.charAt(0),a={x:0,y:1}[i],o=t._visibleDims,s=0;s{"use strict";var ANe=kK(),VVt=XF().calcHover,SNe=ho().getFromId,GVt=Ao().extendFlat;function HVt(e,t,r,n,i){i||(i={});var a=(n||"").charAt(0)==="x",o=(n||"").charAt(0)==="y",s=MNe(e,t,r);if((a||o)&&i.hoversubplots==="axis"&&s[0])for(var l=(a?e.xa:e.ya)._subplotsWith,u=i.gd,c=GVt({},e),f=0;f{"use strict";var INe=Pr(),CNe=INe.pushUnique,LNe=Ru(),PNe=kK();RNe.exports=function(t,r){var n=t.cd,i=n[0].trace,a=n[0].t,o=t.scene,s=o.matrixOptions.cdata,l=t.xaxis,u=t.yaxis,c=[];if(!o)return c;var f=!LNe.hasMarkers(i)&&!LNe.hasText(i);if(i.visible!==!0||f)return c;var h=PNe.getDimIndex(i,l),d=PNe.getDimIndex(i,u);if(h===!1||d===!1)return c;var v=a.xpx[h],m=a.ypx[d],b=s[h],p=s[d],k=(t.scene.selectBatch||[]).slice(),M=[];if(r!==!1&&!r.degenerate)for(var T=0;T{"use strict";var FNe=Pr(),jVt=z0(),WVt=lw().markerStyle;zNe.exports=function(t,r){var n=r.trace,i=t._fullLayout._splomScenes[n.uid];if(i){jVt(t,n),FNe.extendFlat(i.matrixOptions,WVt(t,n));var a=FNe.extendFlat({},i.matrixOptions,i.viewOpts);i.matrix.update(a,null)}}});var BNe=ye(($_r,ONe)=>{"use strict";var XVt=Oa(),ZVt=xV();ONe.exports={moduleType:"trace",name:"splom",categories:["gl","regl","cartesian","symbols","showLegend","scatter-like"],attributes:wK(),supplyDefaults:nNe(),colorbar:Qd(),calc:cNe(),plot:wNe(),hoverPoints:kNe().hoverPoints,selectPoints:DNe(),editStyle:qNe(),meta:{}};XVt.register(ZVt)});var jNe=ye((Q_r,HNe)=>{"use strict";var YVt=JY(),KVt=Oa(),JVt=Iz(),$Vt=Id().getModuleCalcData,Mx=mh(),NNe=df().getFromId,UNe=ho().shouldShowZeroLine,VNe="splom",GNe={};function QVt(e){var t=e._fullLayout,r=KVt.getModule(VNe),n=$Vt(e.calcdata,r)[0],i=JVt(e,["ANGLE_instanced_arrays","OES_element_index_uint"],GNe);i&&(t._hasOnlyLargeSploms&&CK(e),r.plot(e,{},n))}function eGt(e){var t=e.calcdata,r=e._fullLayout;r._hasOnlyLargeSploms&&CK(e);for(var n=0;n{"use strict";var WNe=BNe();WNe.basePlotModule=jNe(),XNe.exports=WNe});var KNe=ye((txr,YNe)=>{"use strict";YNe.exports=ZNe()});var IK=ye((rxr,JNe)=>{"use strict";var nGt=Tu(),LK=Rd(),PK=ec(),aGt=Cc().attributes,Uz=Ao().extendFlat,oGt=vl().templatedArray;JNe.exports={domain:aGt({name:"parcoords",trace:!0,editType:"plot"}),labelangle:{valType:"angle",dflt:0,editType:"plot"},labelside:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},labelfont:PK({editType:"plot"}),tickfont:PK({autoShadowDflt:!0,editType:"plot"}),rangefont:PK({editType:"plot"}),dimensions:oGt("dimension",{label:{valType:"string",editType:"plot"},tickvals:Uz({},LK.tickvals,{editType:"plot"}),ticktext:Uz({},LK.ticktext,{editType:"plot"}),tickformat:Uz({},LK.tickformat,{editType:"plot"}),visible:{valType:"boolean",dflt:!0,editType:"plot"},range:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},constraintrange:{valType:"info_array",freeLength:!0,dimensions:"1-2",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},multiselect:{valType:"boolean",dflt:!0,editType:"plot"},values:{valType:"data_array",editType:"calc"},editType:"calc"}),line:Uz({editType:"calc"},nGt("line",{colorscaleDflt:"Viridis",autoColorDflt:!1,editTypeOverride:"calc"})),unselected:{line:{color:{valType:"color",dflt:"#7f7f7f",editType:"plot"},opacity:{valType:"number",min:0,max:1,dflt:"auto",editType:"plot"},editType:"plot"},editType:"plot"}}});var Nk=ye((ixr,$Ne)=>{"use strict";$Ne.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,layers:["contextLineLayer","focusLineLayer","pickLineLayer"],axisTitleOffset:28,axisExtentOffset:10,bar:{width:4,captureWidth:10,fillColor:"magenta",fillOpacity:1,snapDuration:150,snapRatio:.25,snapClose:.01,strokeOpacity:1,strokeWidth:1,handleHeight:8,handleOpacity:1,handleOverlap:0},cn:{axisExtentText:"axis-extent-text",parcoordsLineLayers:"parcoords-line-layers",parcoordsLineLayer:"parcoords-lines",parcoords:"parcoords",parcoordsControlView:"parcoords-control-view",yAxis:"y-axis",axisOverlays:"axis-overlays",axis:"axis",axisHeading:"axis-heading",axisTitle:"axis-title",axisExtent:"axis-extent",axisExtentTop:"axis-extent-top",axisExtentTopText:"axis-extent-top-text",axisExtentBottom:"axis-extent-bottom",axisExtentBottomText:"axis-extent-bottom-text",axisBrush:"axis-brush"},id:{filterBarPattern:"filter-bar-pattern"}}});var ny=ye((nxr,eUe)=>{"use strict";var sGt=YS();function QNe(e){return[e]}eUe.exports={keyFun:function(e){return e.key},repeat:QNe,descend:sGt,wrap:QNe,unwrap:function(e){return e[0]}}});var FK=ye((axr,fUe)=>{"use strict";var Th=Nk(),im=qa(),lGt=ny().keyFun,Vz=ny().repeat,S5=Pr().sorterAsc,uGt=Pr().strTranslate,tUe=Th.bar.snapRatio;function rUe(e,t){return e*(1-tUe)+t*tUe}var iUe=Th.bar.snapClose;function cGt(e,t){return e*(1-iUe)+t*iUe}function Hz(e,t,r,n){if(fGt(r,n))return r;var i=e?-1:1,a=0,o=t.length-1;if(i<0){var s=a;a=o,o=s}for(var l=t[a],u=l,c=a;i*c=t[r][0]&&e<=t[r][1])return!0;return!1}function hGt(e){e.attr("x",-Th.bar.captureWidth/2).attr("width",Th.bar.captureWidth)}function dGt(e){e.attr("visibility","visible").style("visibility","visible").attr("fill","yellow").attr("opacity",0)}function vGt(e){if(!e.brush.filterSpecified)return"0,"+e.height;for(var t=nUe(e.brush.filter.getConsolidated(),e.height),r=[0],n,i,a,o=t.length?t[0][0]:null,s=0;se[1]+r||t=.9*e[1]+.1*e[0]?"n":t<=.9*e[0]+.1*e[1]?"s":"ns"}function aUe(){im.select(document.body).style("cursor",null)}function DK(e){e.attr("stroke-dasharray",vGt)}function Gz(e,t){var r=im.select(e).selectAll(".highlight, .highlight-shadow"),n=t?r.transition().duration(Th.bar.snapDuration).each("end",t):r;DK(n)}function oUe(e,t){var r=e.brush,n=r.filterSpecified,i=NaN,a={},o;if(n){var s=e.height,l=r.filter.getConsolidated(),u=nUe(l,s),c=NaN,f=NaN,h=NaN;for(o=0;o<=u.length;o++){var d=u[o];if(d&&d[0]<=t&&t<=d[1]){c=o;break}else if(f=o?o-1:NaN,d&&d[0]>t){h=o;break}}if(i=c,isNaN(i)&&(isNaN(f)||isNaN(h)?i=isNaN(f)?h:f:i=t-u[f][1]=k[0]&&p<=k[1]){a.clickableOrdinalRange=k;break}}}return a}function gGt(e,t){im.event.sourceEvent.stopPropagation();var r=t.height-im.mouse(e)[1]-2*Th.verticalPadding,n=t.unitToPaddedPx.invert(r),i=t.brush,a=oUe(t,r),o=a.interval,s=i.svgBrush;if(s.wasDragged=!1,s.grabbingBar=a.region==="ns",s.grabbingBar){var l=o.map(t.unitToPaddedPx);s.grabPoint=r-l[0]-Th.verticalPadding,s.barLength=l[1]-l[0]}s.clickableOrdinalRange=a.clickableOrdinalRange,s.stayingIntervals=t.multiselect&&i.filterSpecified?i.filter.getConsolidated():[],o&&(s.stayingIntervals=s.stayingIntervals.filter(function(u){return u[0]!==o[0]&&u[1]!==o[1]})),s.startExtent=a.region?o[a.region==="s"?1:0]:n,t.parent.inBrushDrag=!0,s.brushStartCallback()}function sUe(e,t){im.event.sourceEvent.stopPropagation();var r=t.height-im.mouse(e)[1]-2*Th.verticalPadding,n=t.brush.svgBrush;n.wasDragged=!0,n._dragging=!0,n.grabbingBar?n.newExtent=[r-n.grabPoint,r+n.barLength-n.grabPoint].map(t.unitToPaddedPx.invert):n.newExtent=[n.startExtent,t.unitToPaddedPx.invert(r)].sort(S5),t.brush.filterSpecified=!0,n.extent=n.stayingIntervals.concat([n.newExtent]),n.brushCallback(t),Gz(e.parentNode)}function mGt(e,t){var r=t.brush,n=r.filter,i=r.svgBrush;i._dragging||(lUe(e,t),sUe(e,t),t.brush.svgBrush.wasDragged=!1),i._dragging=!1;var a=im.event;a.sourceEvent.stopPropagation();var o=i.grabbingBar;if(i.grabbingBar=!1,i.grabLocation=void 0,t.parent.inBrushDrag=!1,aUe(),!i.wasDragged){i.wasDragged=void 0,i.clickableOrdinalRange?r.filterSpecified&&t.multiselect?i.extent.push(i.clickableOrdinalRange):(i.extent=[i.clickableOrdinalRange],r.filterSpecified=!0):o?(i.extent=i.stayingIntervals,i.extent.length===0&&RK(r)):RK(r),i.brushCallback(t),Gz(e.parentNode),i.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);return}var s=function(){n.set(n.getConsolidated())};if(t.ordinal){var l=t.unitTickvals;l[l.length-1]i.newExtent[0];i.extent=i.stayingIntervals.concat(u?[i.newExtent]:[]),i.extent.length||RK(r),i.brushCallback(t),u?Gz(e.parentNode,s):(s(),Gz(e.parentNode))}else s();i.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}function lUe(e,t){var r=t.height-im.mouse(e)[1]-2*Th.verticalPadding,n=oUe(t,r),i="crosshair";n.clickableOrdinalRange?i="pointer":n.region&&(i=n.region+"-resize"),im.select(document.body).style("cursor",i)}function yGt(e){e.on("mousemove",function(t){im.event.preventDefault(),t.parent.inBrushDrag||lUe(this,t)}).on("mouseleave",function(t){t.parent.inBrushDrag||aUe()}).call(im.behavior.drag().on("dragstart",function(t){gGt(this,t)}).on("drag",function(t){sUe(this,t)}).on("dragend",function(t){mGt(this,t)}))}function uUe(e,t){return e[0]-t[0]}function _Gt(e,t,r){var n=r._context.staticPlot,i=e.selectAll(".background").data(Vz);i.enter().append("rect").classed("background",!0).call(hGt).call(dGt).style("pointer-events",n?"none":"auto").attr("transform",uGt(0,Th.verticalPadding)),i.call(yGt).attr("height",function(s){return s.height-Th.verticalPadding});var a=e.selectAll(".highlight-shadow").data(Vz);a.enter().append("line").classed("highlight-shadow",!0).attr("x",-Th.bar.width/2).attr("stroke-width",Th.bar.width+Th.bar.strokeWidth).attr("stroke",t).attr("opacity",Th.bar.strokeOpacity).attr("stroke-linecap","butt"),a.attr("y1",function(s){return s.height}).call(DK);var o=e.selectAll(".highlight").data(Vz);o.enter().append("line").classed("highlight",!0).attr("x",-Th.bar.width/2).attr("stroke-width",Th.bar.width-Th.bar.strokeWidth).attr("stroke",Th.bar.fillColor).attr("opacity",Th.bar.fillOpacity).attr("stroke-linecap","butt"),o.attr("y1",function(s){return s.height}).call(DK)}function xGt(e,t,r){var n=e.selectAll("."+Th.cn.axisBrush).data(Vz,lGt);n.enter().append("g").classed(Th.cn.axisBrush,!0),_Gt(n,t,r)}function bGt(e){return e.svgBrush.extent.map(function(t){return t.slice()})}function RK(e){e.filterSpecified=!1,e.svgBrush.extent=[[-1/0,1/0]]}function wGt(e){return function(r){var n=r.brush,i=bGt(n),a=i.slice();n.filter.set(a),e()}}function cUe(e){for(var t=e.slice(),r=[],n,i=t.shift();i;){for(n=i.slice();(i=t.shift())&&i[0]<=n[1];)n[1]=Math.max(n[1],i[1]);r.push(n)}return r.length===1&&r[0][0]>r[0][1]&&(r=[]),r}function TGt(){var e=[],t,r;return{set:function(n){e=n.map(function(i){return i.slice().sort(S5)}).sort(uUe),e.length===1&&e[0][0]===-1/0&&e[0][1]===1/0&&(e=[[0,-1]]),t=cUe(e),r=e.reduce(function(i,a){return[Math.min(i[0],a[0]),Math.max(i[1],a[1])]},[1/0,-1/0])},get:function(){return e.slice()},getConsolidated:function(){return t},getBounds:function(){return r}}}function AGt(e,t,r,n,i,a){var o=TGt();return o.set(r),{filter:o,filterSpecified:t,svgBrush:{extent:[],brushStartCallback:n,brushCallback:wGt(i),brushEndCallback:a}}}function SGt(e,t){if(Array.isArray(e[0])?(e=e.map(function(n){return n.sort(S5)}),t.multiselect?e=cUe(e.sort(uUe)):e=[e[0]]):e=[e.sort(S5)],t.tickvals){var r=t.tickvals.slice().sort(S5);if(e=e.map(function(n){var i=[Hz(0,r,n[0],[]),Hz(1,r,n[1],[])];if(i[1]>i[0])return i}).filter(function(n){return n}),!e.length)return}return e.length>1?e:e[0]}fUe.exports={makeBrush:AGt,ensureAxisBrush:xGt,cleanRanges:SGt}});var vUe=ye((oxr,dUe)=>{"use strict";var Ex=Pr(),MGt=pv().hasColorscale,EGt=td(),kGt=Cc().defaults,CGt=Kd(),LGt=ho(),hUe=IK(),PGt=FK(),zK=Nk().maxDimensionCount,IGt=Dz();function RGt(e,t,r,n,i){var a=i("line.color",r);if(MGt(e,"line")&&Ex.isArrayOrTypedArray(a)){if(a.length)return i("line.colorscale"),EGt(e,t,n,i,{prefix:"line.",cLetter:"c"}),a.length;t.line.color=r}return 1/0}function DGt(e,t,r,n){function i(u,c){return Ex.coerce(e,t,hUe.dimensions,u,c)}var a=i("values"),o=i("visible");if(a&&a.length||(o=t.visible=!1),o){i("label"),i("tickvals"),i("ticktext"),i("tickformat");var s=i("range");t._ax={_id:"y",type:"linear",showexponent:"all",exponentformat:"B",range:s},LGt.setConvert(t._ax,n.layout),i("multiselect");var l=i("constraintrange");l&&(t.constraintrange=PGt.cleanRanges(l,t))}}dUe.exports=function(t,r,n,i){function a(c,f){return Ex.coerce(t,r,hUe,c,f)}var o=t.dimensions;Array.isArray(o)&&o.length>zK&&(Ex.log("parcoords traces support up to "+zK+" dimensions at the moment"),o.splice(zK));var s=CGt(t,r,{name:"dimensions",layout:i,handleItemDefaults:DGt}),l=RGt(t,r,n,i,a);kGt(r,i,a),(!Array.isArray(s)||!s.length)&&(r.visible=!1),IGt(r,s,"values",l);var u=Ex.extendFlat({},i.font,{size:Math.round(i.font.size/1.2)});Ex.coerceFont(a,"labelfont",u),Ex.coerceFont(a,"tickfont",u,{autoShadowDflt:!0}),Ex.coerceFont(a,"rangefont",u),a("labelangle"),a("labelside"),a("unselected.line.color"),a("unselected.line.opacity")}});var gUe=ye((sxr,pUe)=>{"use strict";var FGt=Pr().isArrayOrTypedArray,qK=tc(),zGt=ny().wrap;pUe.exports=function(t,r){var n,i;return qK.hasColorscale(r,"line")&&FGt(r.line.color)?(n=r.line.color,i=qK.extractOpts(r.line).colorscale,qK.calc(t,r,{vals:n,containerStr:"line",cLetter:"c"})):(n=qGt(r._length),i=[[0,r.line.color],[1,r.line.color]]),zGt({lineColor:n,cscale:i})};function qGt(e){for(var t=new Array(e),r=0;r>>16,(e&65280)>>>8,e&255],alpha:1};if(typeof e=="number")return{space:"rgb",values:[e>>>16,(e&65280)>>>8,e&255],alpha:1};if(e=String(e).toLowerCase(),OK.default[e])r=OK.default[e].slice(),i="rgb";else if(e==="transparent")n=0,i="rgb",r=[0,0,0];else if(e[0]==="#"){var a=e.slice(1),o=a.length,s=o<=4;n=1,s?(r=[parseInt(a[0]+a[0],16),parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16)],o===4&&(n=parseInt(a[3]+a[3],16)/255)):(r=[parseInt(a[0]+a[1],16),parseInt(a[2]+a[3],16),parseInt(a[4]+a[5],16)],o===8&&(n=parseInt(a[6]+a[7],16)/255)),r[0]||(r[0]=0),r[1]||(r[1]=0),r[2]||(r[2]=0),i="rgb"}else if(t=/^((?:rgba?|hs[lvb]a?|hwba?|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms|oklch|oklab|color))\s*\(([^\)]*)\)/.exec(e)){var l=t[1];i=l.replace(/a$/,"");var u=i==="cmyk"?4:i==="gray"?1:3;r=t[2].trim().split(/\s*[,\/]\s*|\s+/),i==="color"&&(i=r.shift()),r=r.map(function(h,d){if(h[h.length-1]==="%")return h=parseFloat(h)/100,d===3?h:i==="rgb"?h*255:i[0]==="h"||i[0]==="l"&&!d?h*100:i==="lab"?h*125:i==="lch"?d<2?h*150:h*360:i[0]==="o"&&!d?h:i==="oklab"?h*.4:i==="oklch"?d<2?h*.4:h*360:h;if(i[d]==="h"||d===2&&i[i.length-1]==="h"){if(mUe[h]!==void 0)return mUe[h];if(h.endsWith("deg"))return parseFloat(h);if(h.endsWith("turn"))return parseFloat(h)*360;if(h.endsWith("grad"))return parseFloat(h)*360/400;if(h.endsWith("rad"))return parseFloat(h)*180/Math.PI}return h==="none"?0:parseFloat(h)}),n=r.length>u?r.pop():1}else/[0-9](?:\s|\/|,)/.test(e)&&(r=e.match(/([0-9]+)/g).map(function(h){return parseFloat(h)}),i=((f=(c=e.match(/([a-z])/ig))==null?void 0:c.join(""))==null?void 0:f.toLowerCase())||"rgb");return{space:i,values:r,alpha:n}}var OK,yUe,mUe,_Ue=gu(()=>{OK=ktt(AX(),1),yUe=OGt,mUe={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}});var Uk,BK=gu(()=>{Uk={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}});var jz,xUe=gu(()=>{BK();jz={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(e){var t=e[0]/360,r=e[1]/100,n=e[2]/100,i,a,o,s,l,u=0;if(r===0)return l=n*255,[l,l,l];for(a=n<.5?n*(1+r):n+r-n*r,i=2*n-a,s=[0,0,0];u<3;)o=t+1/3*-(u-1),o<0?o++:o>1&&o--,l=6*o<1?i+(a-i)*6*o:2*o<1?a:3*o<2?i+(a-i)*(2/3-o)*6:i,s[u++]=l*255;return s}};Uk.hsl=function(e){var t=e[0]/255,r=e[1]/255,n=e[2]/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=a-i,s,l,u;return a===i?s=0:t===a?s=(r-n)/o:r===a?s=2+(n-t)/o:n===a&&(s=4+(t-r)/o),s=Math.min(s*60,360),s<0&&(s+=360),u=(i+a)/2,a===i?l=0:u<=.5?l=o/(a+i):l=o/(2-a-i),[s,l*100,u*100]}});var wUe={};yee(wUe,{default:()=>bUe});function bUe(e){Array.isArray(e)&&e.raw&&(e=String.raw(...arguments)),e instanceof Number&&(e=+e);var t,r,n,i=yUe(e);if(!i.space)return[];let a=i.space[0]==="h"?jz.min:Uk.min,o=i.space[0]==="h"?jz.max:Uk.max;return t=Array(3),t[0]=Math.min(Math.max(i.values[0],a[0]),o[0]),t[1]=Math.min(Math.max(i.values[1],a[1]),o[1]),t[2]=Math.min(Math.max(i.values[2],a[2]),o[2]),i.space[0]==="h"&&(t=jz.rgb(t)),t.push(Math.min(Math.max(i.alpha,0),1)),t}var TUe=gu(()=>{_Ue();BK();xUe()});var NK=ye(Wz=>{"use strict";var BGt=Pr().isTypedArray;Wz.convertTypedArray=function(e){return BGt(e)?Array.prototype.slice.call(e):e};Wz.isOrdinal=function(e){return!!e.tickvals};Wz.isVisible=function(e){return e.visible||!("visible"in e)}});var RUe=ye((gxr,IUe)=>{"use strict";var NGt=["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(` -`),UGt=["precision highp float;","","varying vec4 fragColor;","","void main() {"," gl_FragColor = fragColor;","}"].join(` -`),Vk=Nk().maxDimensionCount,CUe=Pr(),AUe=1e-6,Xz=2048,VGt=new Uint8Array(4),SUe=new Uint8Array(4),MUe={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function GGt(e){e.read({x:0,y:0,width:1,height:1,data:VGt})}function LUe(e,t,r,n,i){var a=e._gl;a.enable(a.SCISSOR_TEST),a.scissor(t,r,n,i),e.clear({color:[0,0,0,0],depth:1})}function HGt(e,t,r,n,i,a){var o=a.key;function s(l){var u=Math.min(n,i-l*n);l===0&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],LUe(e,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),!r.clearOnly&&(a.count=2*u,a.offset=2*l*n,t(a),l*n+u>>8*t)%256/255}function XGt(e,t,r){for(var n=new Array(e*(Vk+4)),i=0,a=0;aZ&&(Z=S[z].dim1.canvasX,V=z);E===0&&LUe(i,0,0,u.canvasWidth,u.canvasHeight);var j=M(r);for(z=0;z{"use strict";var Bd=qa(),p1=Pr(),VK=p1.isArrayOrTypedArray,BUe=p1.numberFormat,NUe=(TUe(),gb(wUe)).default,UUe=ho(),$Gt=p1.strRotate,ay=p1.strTranslate,QGt=Zl(),Zz=So(),DUe=tc(),jK=ny(),ig=jK.keyFun,oy=jK.repeat,VUe=jK.unwrap,M5=NK(),Dl=Nk(),GUe=FK(),eHt=RUe();function FUe(e,t,r){return p1.aggNums(e,null,t,r)}function HUe(e,t){return WK(FUe(Math.min,e,t),FUe(Math.max,e,t))}function Yz(e){var t=e.range;return t?WK(t[0],t[1]):HUe(e.values,e._length)}function WK(e,t){return(isNaN(e)||!isFinite(e))&&(e=0),(isNaN(t)||!isFinite(t))&&(t=0),e===t&&(e===0?(e-=1,t+=1):(e*=.9,t*=1.1)),[e,t]}function tHt(e,t){return t?function(r,n){var i=t[n];return i==null?e(r):i}:e}function rHt(e,t,r,n,i){var a=Yz(r);return n?Bd.scale.ordinal().domain(n.map(tHt(BUe(r.tickformat),i))).range(n.map(function(o){var s=(o-a[0])/(a[1]-a[0]);return e-t+s*(2*t-e)})):Bd.scale.linear().domain(a).range([e-t,t])}function iHt(e,t){return Bd.scale.linear().range([t,e-t])}function nHt(e,t){return Bd.scale.linear().domain(Yz(e)).range([t,1-t])}function aHt(e){if(e.tickvals){var t=Yz(e);return Bd.scale.ordinal().domain(e.tickvals).range(e.tickvals.map(function(r){return(r-t[0])/(t[1]-t[0])}))}}function oHt(e){var t=e.map(function(a){return a[0]}),r=e.map(function(a){var o=NUe(a[1]);return Bd.rgb("rgb("+o[0]+","+o[1]+","+o[2]+")")}),n=function(a){return function(o){return o[a]}},i="rgb".split("").map(function(a){return Bd.scale.linear().clamp(!0).domain(t).range(r.map(n(a)))});return function(a){return i.map(function(o){return o(a)})}}function HK(e){return e.dimensions.some(function(t){return t.brush.filterSpecified})}function sHt(e,t,r){var n=VUe(t),i=n.trace,a=M5.convertTypedArray(n.lineColor),o=i.line,s={color:NUe(i.unselected.line.color),opacity:i.unselected.line.opacity},l=DUe.extractOpts(o),u=l.reversescale?DUe.flipScale(n.cscale):n.cscale,c=i.domain,f=i.dimensions,h=e.width,d=i.labelangle,v=i.labelside,m=i.labelfont,b=i.tickfont,p=i.rangefont,k=p1.extendDeepNoArrays({},o,{color:a.map(Bd.scale.linear().domain(Yz({values:a,range:[l.min,l.max],_length:i._length}))),blockLineCount:Dl.blockLineCount,canvasOverdrag:Dl.overdrag*Dl.canvasPixelRatio}),M=Math.floor(h*(c.x[1]-c.x[0])),T=Math.floor(e.height*(c.y[1]-c.y[0])),L=e.margin||{l:80,r:80,t:100,b:80},x=M,C=T;return{key:r,colCount:f.filter(M5.isVisible).length,dimensions:f,tickDistance:Dl.tickDistance,unitToColor:oHt(u),lines:k,deselectedLines:s,labelAngle:d,labelSide:v,labelFont:m,tickFont:b,rangeFont:p,layoutWidth:h,layoutHeight:e.height,domain:c,translateX:c.x[0]*h,translateY:e.height-c.y[1]*e.height,pad:L,canvasWidth:x*Dl.canvasPixelRatio+2*k.canvasOverdrag,canvasHeight:C*Dl.canvasPixelRatio,width:x,height:C,canvasPixelRatio:Dl.canvasPixelRatio}}function lHt(e,t,r){var n=r.width,i=r.height,a=r.dimensions,o=r.canvasPixelRatio,s=function(h){return n*h/Math.max(1,r.colCount-1)},l=Dl.verticalPadding/i,u=iHt(i,Dl.verticalPadding),c={key:r.key,xScale:s,model:r,inBrushDrag:!1},f={};return c.dimensions=a.filter(M5.isVisible).map(function(h,d){var v=nHt(h,l),m=f[h.label];f[h.label]=(m||0)+1;var b=h.label+(m?"__"+m:""),p=h.constraintrange,k=p&&p.length;k&&!VK(p[0])&&(p=[p]);var M=k?p.map(function(q){return q.map(v)}):[[-1/0,1/0]],T=function(){var q=c;q.focusLayer&&q.focusLayer.render(q.panels,!0);var V=HK(q);!e.contextShown()&&V?(q.contextLayer&&q.contextLayer.render(q.panels,!0),e.contextShown(!0)):e.contextShown()&&!V&&(q.contextLayer&&q.contextLayer.render(q.panels,!0,!0),e.contextShown(!1))},L=h.values;L.length>h._length&&(L=L.slice(0,h._length));var x=h.tickvals,C;function S(q,V){return{val:q,text:C[V]}}function g(q,V){return q.val-V.val}if(VK(x)&&x.length){p1.isTypedArray(x)&&(x=Array.from(x)),C=h.ticktext,!VK(C)||!C.length?C=x.map(BUe(h.tickformat)):C.length>x.length?C=C.slice(0,x.length):x.length>C.length&&(x=x.slice(0,C.length));for(var P=1;P=V||N>=G)return;var H=z.lineLayer.readPixel(j,G-1-N),ie=H[3]!==0,ae=ie?H[2]+256*(H[1]+256*H[0]):null,_e={x:j,y:N,clientX:q.clientX,clientY:q.clientY,dataIndex:z.model.key,curveNumber:ae};ae!==v&&(ie?i.hover(_e):i.unhover&&i.unhover(_e),v=ae)}}),d.style("opacity",function(z){return z.pick?0:1}),s.style("background","rgba(255, 255, 255, 0)");var b=s.selectAll("."+Dl.cn.parcoords).data(h,ig);b.exit().remove(),b.enter().append("g").classed(Dl.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),b.attr("transform",function(z){return ay(z.model.translateX,z.model.translateY)});var p=b.selectAll("."+Dl.cn.parcoordsControlView).data(oy,ig);p.enter().append("g").classed(Dl.cn.parcoordsControlView,!0),p.attr("transform",function(z){return ay(z.model.pad.l,z.model.pad.t)});var k=p.selectAll("."+Dl.cn.yAxis).data(function(z){return z.dimensions},ig);k.enter().append("g").classed(Dl.cn.yAxis,!0),p.each(function(z){GK(k,z,u)}),d.each(function(z){if(z.viewModel){!z.lineLayer||i?z.lineLayer=eHt(this,z):z.lineLayer.update(z),(z.key||z.key===0)&&(z.viewModel[z.key]=z.lineLayer);var q=!z.context||i;z.lineLayer.render(z.viewModel.panels,q)}}),k.attr("transform",function(z){return ay(z.xScale(z.xIndex),0)}),k.call(Bd.behavior.drag().origin(function(z){return z}).on("drag",function(z){var q=z.parent;f.linePickActive(!1),z.x=Math.max(-Dl.overdrag,Math.min(z.model.width+Dl.overdrag,Bd.event.x)),z.canvasX=z.x*z.model.canvasPixelRatio,k.sort(function(V,G){return V.x-G.x}).each(function(V,G){V.xIndex=G,V.x=z===V?V.x:V.xScale(V.xIndex),V.canvasX=V.x*V.model.canvasPixelRatio}),GK(k,q,u),k.filter(function(V){return Math.abs(z.xIndex-V.xIndex)!==0}).attr("transform",function(V){return ay(V.xScale(V.xIndex),0)}),Bd.select(this).attr("transform",ay(z.x,0)),k.each(function(V,G,Z){Z===z.parent.key&&(q.dimensions[G]=V)}),q.contextLayer&&q.contextLayer.render(q.panels,!1,!HK(q)),q.focusLayer.render&&q.focusLayer.render(q.panels)}).on("dragend",function(z){var q=z.parent;z.x=z.xScale(z.xIndex),z.canvasX=z.x*z.model.canvasPixelRatio,GK(k,q,u),Bd.select(this).attr("transform",function(V){return ay(V.x,0)}),q.contextLayer&&q.contextLayer.render(q.panels,!1,!HK(q)),q.focusLayer&&q.focusLayer.render(q.panels),q.pickLayer&&q.pickLayer.render(q.panels,!0),f.linePickActive(!0),i&&i.axesMoved&&i.axesMoved(q.key,q.dimensions.map(function(V){return V.crossfilterDimensionIndex}))})),k.exit().remove();var M=k.selectAll("."+Dl.cn.axisOverlays).data(oy,ig);M.enter().append("g").classed(Dl.cn.axisOverlays,!0),M.selectAll("."+Dl.cn.axis).remove();var T=M.selectAll("."+Dl.cn.axis).data(oy,ig);T.enter().append("g").classed(Dl.cn.axis,!0),T.each(function(z){var q=z.model.height/z.model.tickDistance,V=z.domainScale,G=V.domain();Bd.select(this).call(Bd.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(q,z.tickFormat).tickValues(z.ordinal?G:null).tickFormat(function(Z){return M5.isOrdinal(z)?Z:jUe(z.model.dimensions[z.visibleIndex],Z)}).scale(V)),Zz.font(T.selectAll("text"),z.model.tickFont)}),T.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),T.selectAll("text").style("cursor","default");var L=M.selectAll("."+Dl.cn.axisHeading).data(oy,ig);L.enter().append("g").classed(Dl.cn.axisHeading,!0);var x=L.selectAll("."+Dl.cn.axisTitle).data(oy,ig);x.enter().append("text").classed(Dl.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events",a?"none":"auto"),x.text(function(z){return z.label}).each(function(z){var q=Bd.select(this);Zz.font(q,z.model.labelFont),QGt.convertToTspans(q,t)}).attr("transform",function(z){var q=qUe(z.model.labelAngle,z.model.labelSide),V=Dl.axisTitleOffset;return(q.dir>0?"":ay(0,2*V+z.model.height))+$Gt(q.degrees)+ay(-V*q.dx,-V*q.dy)}).attr("text-anchor",function(z){var q=qUe(z.model.labelAngle,z.model.labelSide),V=Math.abs(q.dx),G=Math.abs(q.dy);return 2*V>G?q.dir*q.dx<0?"start":"end":"middle"});var C=M.selectAll("."+Dl.cn.axisExtent).data(oy,ig);C.enter().append("g").classed(Dl.cn.axisExtent,!0);var S=C.selectAll("."+Dl.cn.axisExtentTop).data(oy,ig);S.enter().append("g").classed(Dl.cn.axisExtentTop,!0),S.attr("transform",ay(0,-Dl.axisExtentOffset));var g=S.selectAll("."+Dl.cn.axisExtentTopText).data(oy,ig);g.enter().append("text").classed(Dl.cn.axisExtentTopText,!0).call(zUe),g.text(function(z){return OUe(z,!0)}).each(function(z){Zz.font(Bd.select(this),z.model.rangeFont)});var P=C.selectAll("."+Dl.cn.axisExtentBottom).data(oy,ig);P.enter().append("g").classed(Dl.cn.axisExtentBottom,!0),P.attr("transform",function(z){return ay(0,z.model.height+Dl.axisExtentOffset)});var E=P.selectAll("."+Dl.cn.axisExtentBottomText).data(oy,ig);E.enter().append("text").classed(Dl.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(zUe),E.text(function(z){return OUe(z,!1)}).each(function(z){Zz.font(Bd.select(this),z.model.rangeFont)}),GUe.ensureAxisBrush(M,c,t)}});var ZK=ye((XK,JUe)=>{"use strict";var fHt=XUe(),hHt=Iz(),ZUe=NK().isVisible,KUe={};function YUe(e,t,r){var n=t.indexOf(r),i=e.indexOf(n);return i===-1&&(i+=t.length),i}function dHt(e,t){return function(n,i){return YUe(e,t,n)-YUe(e,t,i)}}var XK=JUe.exports=function(t,r){var n=t._fullLayout,i=hHt(t,[],KUe);if(i){var a={},o={},s={},l={},u=n._size;r.forEach(function(v,m){var b=v[0].trace;s[m]=b.index;var p=l[m]=b.index;a[m]=t.data[p].dimensions,o[m]=t.data[p].dimensions.slice()});var c=function(v,m,b){var p=o[v][m],k=b.map(function(S){return S.slice()}),M="dimensions["+m+"].constraintrange",T=n._tracePreGUI[t._fullData[s[v]]._fullInput.uid];if(T[M]===void 0){var L=p.constraintrange;T[M]=L||null}var x=t._fullData[s[v]].dimensions[m];k.length?(k.length===1&&(k=k[0]),p.constraintrange=k,x.constraintrange=k.slice(),k=[k]):(delete p.constraintrange,delete x.constraintrange,k=null);var C={};C[M]=k,t.emit("plotly_restyle",[C,[l[v]]])},f=function(v){t.emit("plotly_hover",v)},h=function(v){t.emit("plotly_unhover",v)},d=function(v,m){var b=dHt(m,o[v].filter(ZUe));a[v].sort(b),o[v].filter(function(p){return!ZUe(p)}).sort(function(p){return o[v].indexOf(p)}).forEach(function(p){a[v].splice(a[v].indexOf(p),1),a[v].splice(o[v].indexOf(p),0,p)}),t.emit("plotly_restyle",[{dimensions:[a[v]]},[l[v]]])};fHt(t,r,{width:u.w,height:u.h,margin:{t:u.t,r:u.r,b:u.b,l:u.l}},{filterChanged:c,hover:f,unhover:h,axesMoved:d})}};XK.reglPrecompiled=KUe});var QUe=ye(Gk=>{"use strict";var $Ue=qa(),vHt=Id().getModuleCalcData,pHt=ZK(),gHt=Wp();Gk.name="parcoords";Gk.plot=function(e){var t=vHt(e.calcdata,"parcoords")[0];t.length&&pHt(e,t)};Gk.clean=function(e,t,r,n){var i=n._has&&n._has("parcoords"),a=t._has&&t._has("parcoords");i&&!a&&(n._paperdiv.selectAll(".parcoords").remove(),n._glimages.selectAll("*").remove())};Gk.toSVG=function(e){var t=e._fullLayout._glimages,r=$Ue.select(e).selectAll(".svg-container"),n=r.filter(function(a,o){return o===r.size()-1}).selectAll(".gl-canvas-context, .gl-canvas-focus");function i(){var a=this,o=a.toDataURL("image/png"),s=t.append("svg:image");s.attr({xmlns:gHt.svg,"xlink:href":o,preserveAspectRatio:"none",x:0,y:0,width:a.style.width,height:a.style.height})}n.each(i),window.setTimeout(function(){$Ue.selectAll("#filterBarPattern").attr("id","filterBarPattern")},60)}});var tVe=ye((_xr,eVe)=>{"use strict";eVe.exports={attributes:IK(),supplyDefaults:vUe(),calc:gUe(),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:QUe(),categories:["gl","regl","noOpacity","noHover"],meta:{}}});var nVe=ye((xxr,iVe)=>{"use strict";var rVe=tVe();rVe.plot=ZK();iVe.exports=rVe});var oVe=ye((bxr,aVe)=>{"use strict";aVe.exports=nVe()});var YK=ye((wxr,fVe)=>{"use strict";var lVe=Ao().extendFlat,mHt=Gl(),sVe=ec(),yHt=Tu(),{hovertemplateAttrs:uVe,templatefallbackAttrs:cVe}=Ll(),_Ht=Cc().attributes,xHt=lVe({editType:"calc"},yHt("line",{editTypeOverride:"calc"}),{shape:{valType:"enumerated",values:["linear","hspline"],dflt:"linear",editType:"plot"},hovertemplate:uVe({editType:"plot",arrayOk:!1},{keys:["count","probability"]}),hovertemplatefallback:cVe({editType:"plot"})});fVe.exports={domain:_Ht({name:"parcats",trace:!0,editType:"calc"}),hoverinfo:lVe({},mHt.hoverinfo,{flags:["count","probability"],editType:"plot",arrayOk:!1}),hoveron:{valType:"enumerated",values:["category","color","dimension"],dflt:"category",editType:"plot"},hovertemplate:uVe({editType:"plot",arrayOk:!1},{keys:["count","probability","category","categorycount","colorcount","bandcolorcount"]}),hovertemplatefallback:cVe({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:sVe({editType:"calc"}),tickfont:sVe({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:xHt,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}});var vVe=ye((Txr,dVe)=>{"use strict";var E5=Pr(),bHt=pv().hasColorscale,wHt=td(),THt=Cc().defaults,AHt=Kd(),hVe=YK(),SHt=Dz(),MHt=Yd().isTypedArraySpec;function EHt(e,t,r,n,i){i("line.shape"),i("line.hovertemplate"),i("line.hovertemplatefallback");var a=i("line.color",n.colorway[0]);if(bHt(e,"line")&&E5.isArrayOrTypedArray(a)){if(a.length)return i("line.colorscale"),wHt(e,t,n,i,{prefix:"line.",cLetter:"c"}),a.length;t.line.color=r}return 1/0}function kHt(e,t){function r(u,c){return E5.coerce(e,t,hVe.dimensions,u,c)}var n=r("values"),i=r("visible");if(n&&n.length||(i=t.visible=!1),i){r("label"),r("displayindex",t._index);var a=e.categoryarray,o=E5.isArrayOrTypedArray(a)&&a.length>0||MHt(a),s;o&&(s="array");var l=r("categoryorder",s);l==="array"?(r("categoryarray"),r("ticktext")):(delete e.categoryarray,delete e.ticktext),!o&&l==="array"&&(t.categoryorder="trace")}}dVe.exports=function(t,r,n,i){function a(u,c){return E5.coerce(t,r,hVe,u,c)}var o=AHt(t,r,{name:"dimensions",handleItemDefaults:kHt}),s=EHt(t,r,n,i,a);THt(r,i,a),(!Array.isArray(o)||!o.length)&&(r.visible=!1),SHt(r,o,"values",s),a("hoveron"),a("hovertemplate"),a("hovertemplatefallback"),a("arrangement"),a("bundlecolors"),a("sortpaths"),a("counts");var l=i.font;E5.coerceFont(a,"labelfont",l,{overrideDflt:{size:Math.round(l.size)}}),E5.coerceFont(a,"tickfont",l,{autoShadowDflt:!0,overrideDflt:{size:Math.round(l.size/1.2)}})}});var gVe=ye((Axr,pVe)=>{"use strict";var CHt=ny().wrap,LHt=pv().hasColorscale,PHt=gv(),IHt=iO(),RHt=So(),Hk=Pr(),DHt=Eo();pVe.exports=function(t,r){var n=Hk.filterVisible(r.dimensions);if(n.length===0)return[];var i=n.map(function(g){var P;if(g.categoryorder==="trace")P=null;else if(g.categoryorder==="array")P=g.categoryarray;else{P=IHt(g.values);for(var E=!0,z=0;z=e.length||t[e[r]]!==void 0)return!1;t[e[r]]=!0}return!0}});var SVe=ye((Sxr,AVe)=>{"use strict";var Fl=qa(),jHt=(j2(),gb(H2)).interpolateNumber,WHt=YP(),Xk=ef(),kx=Pr(),jk=kx.strTranslate,mVe=So(),KK=fd(),XHt=Zl();function ZHt(e,t,r,n){var i=t._context.staticPlot,a=e.map(ujt.bind(0,t,r)),o=n.selectAll("g.parcatslayer").data([null]);o.enter().append("g").attr("class","parcatslayer").style("pointer-events",i?"none":"all");var s=o.selectAll("g.trace.parcats").data(a,g1),l=s.enter().append("g").attr("class","trace parcats");s.attr("transform",function(k){return jk(k.x,k.y)}),l.append("g").attr("class","paths");var u=s.select("g.paths"),c=u.selectAll("path.path").data(function(k){return k.paths},g1);c.attr("fill",function(k){return k.model.color});var f=c.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",function(k){return k.model.color}).attr("fill-opacity",0);QK(f),c.attr("d",function(k){return k.svgD}),f.empty()||c.sort(JK),c.exit().remove(),c.on("mouseover",YHt).on("mouseout",KHt).on("click",JHt),l.append("g").attr("class","dimensions");var h=s.select("g.dimensions"),d=h.selectAll("g.dimension").data(function(k){return k.dimensions},g1);d.enter().append("g").attr("class","dimension"),d.attr("transform",function(k){return jk(k.x,0)}),d.exit().remove();var v=d.selectAll("g.category").data(function(k){return k.categories},g1),m=v.enter().append("g").attr("class","category");v.attr("transform",function(k){return jk(0,k.y)}),m.append("rect").attr("class","catrect").attr("pointer-events","none"),v.select("rect.catrect").attr("fill","none").attr("width",function(k){return k.width}).attr("height",function(k){return k.height}),_Ve(m);var b=v.selectAll("rect.bandrect").data(function(k){return k.bands},g1);b.each(function(){kx.raiseToTop(this)}),b.attr("fill",function(k){return k.color});var p=b.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",function(k){return k.color}).attr("fill-opacity",0);b.attr("fill",function(k){return k.color}).attr("width",function(k){return k.width}).attr("height",function(k){return k.height}).attr("y",function(k){return k.y}).attr("cursor",function(k){return k.parcatsViewModel.arrangement==="fixed"?"default":k.parcatsViewModel.arrangement==="perpendicular"?"ns-resize":"move"}),tJ(p),b.exit().remove(),m.append("text").attr("class","catlabel").attr("pointer-events","none"),v.select("text.catlabel").attr("text-anchor",function(k){return Wk(k)?"start":"end"}).attr("alignment-baseline","middle").style("fill","rgb(0, 0, 0)").attr("x",function(k){return Wk(k)?k.width+5:-5}).attr("y",function(k){return k.height/2}).text(function(k){return k.model.categoryLabel}).each(function(k){mVe.font(Fl.select(this),k.parcatsViewModel.categorylabelfont),XHt.convertToTspans(Fl.select(this),t)}),m.append("text").attr("class","dimlabel"),v.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",function(k){return k.parcatsViewModel.arrangement==="fixed"?"default":"ew-resize"}).attr("x",function(k){return k.width/2}).attr("y",-5).text(function(k,M){return M===0?k.parcatsViewModel.model.dimensions[k.model.dimensionInd].dimensionLabel:null}).each(function(k){mVe.font(Fl.select(this),k.parcatsViewModel.labelfont)}),v.selectAll("rect.bandrect").on("mouseover",njt).on("mouseout",ajt),v.exit().remove(),d.call(Fl.behavior.drag().origin(function(k){return{x:k.x,y:0}}).on("dragstart",ojt).on("drag",sjt).on("dragend",ljt)),s.each(function(k){k.traceSelection=Fl.select(this),k.pathSelection=Fl.select(this).selectAll("g.paths").selectAll("path.path"),k.dimensionSelection=Fl.select(this).selectAll("g.dimensions").selectAll("g.dimension")}),s.exit().remove()}AVe.exports=function(e,t,r,n){ZHt(r,e,n,t)};function g1(e){return e.key}function Wk(e){var t=e.parcatsViewModel.dimensions.length,r=e.parcatsViewModel.dimensions[t-1].model.dimensionInd;return e.model.dimensionInd===r}function JK(e,t){return e.model.rawColor>t.model.rawColor?1:e.model.rawColor"),x=Fl.mouse(i)[0];Xk.loneHover({trace:a,x:v-s.left+l.left,y:m-s.top+l.top,text:L,color:e.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:b,idealAlign:x1&&u.displayInd===l.dimensions.length-1?(h=o.left,d="left"):(h=o.left+o.width,d="right");var v=s.model.count,m=s.model.categoryLabel,b=v/s.parcatsViewModel.model.count,p={countLabel:v,categoryLabel:m,probabilityLabel:b.toFixed(3)},k=[];s.parcatsViewModel.hoverinfoItems.indexOf("count")!==-1&&k.push(["Count:",p.countLabel].join(" ")),s.parcatsViewModel.hoverinfoItems.indexOf("probability")!==-1&&k.push(["P("+p.categoryLabel+"):",p.probabilityLabel].join(" "));var M=k.join("
");return{trace:c,x:n*(h-t.left),y:i*(f-t.top),text:M,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:d,hovertemplate:c.hovertemplate,hovertemplateLabels:p,eventData:[{data:c._input,fullData:c,count:v,category:m,probability:b}]}}function rjt(e,t,r){var n=[];return Fl.select(r.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each(function(){var i=this;n.push(xVe(e,t,i))}),n}function ijt(e,t,r){e._fullLayout._calcInverseTransform(e);var n=e._fullLayout._invScaleX,i=e._fullLayout._invScaleY,a=r.getBoundingClientRect(),o=Fl.select(r).datum(),s=o.categoryViewModel,l=s.parcatsViewModel,u=l.model.dimensions[s.model.dimensionInd],c=l.trace,f=a.y+a.height/2,h,d;l.dimensions.length>1&&u.displayInd===l.dimensions.length-1?(h=a.left,d="left"):(h=a.left+a.width,d="right");var v=s.model.categoryLabel,m=o.parcatsViewModel.model.count,b=0;o.categoryViewModel.bands.forEach(function(P){P.color===o.color&&(b+=P.count)});var p=s.model.count,k=0;l.pathSelection.each(function(P){P.model.color===o.color&&(k+=P.model.count)});var M=b/m,T=b/k,L=b/p,x={countLabel:b,categoryLabel:v,probabilityLabel:M.toFixed(3)},C=[];s.parcatsViewModel.hoverinfoItems.indexOf("count")!==-1&&C.push(["Count:",x.countLabel].join(" ")),s.parcatsViewModel.hoverinfoItems.indexOf("probability")!==-1&&(C.push("P(color \u2229 "+v+"): "+x.probabilityLabel),C.push("P("+v+" | color): "+T.toFixed(3)),C.push("P(color | "+v+"): "+L.toFixed(3)));var S=C.join("
"),g=KK.mostReadable(o.color,["black","white"]);return{trace:c,x:n*(h-t.left),y:i*(f-t.top),text:S,color:o.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:g,fontSize:10,idealAlign:d,hovertemplate:c.hovertemplate,hovertemplateLabels:x,eventData:[{data:c._input,fullData:c,category:v,count:m,probability:M,categorycount:p,colorcount:k,bandcolorcount:b}]}}function njt(e){if(!e.parcatsViewModel.dragDimension&&e.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1){var t=Fl.mouse(this)[1];if(t<-1)return;var r=e.parcatsViewModel.graphDiv,n=r._fullLayout,i=n._paperdiv.node().getBoundingClientRect(),a=e.parcatsViewModel.hoveron,o=this;if(a==="color"?(tjt(o),iJ(o,"plotly_hover",Fl.event)):(ejt(o),rJ(o,"plotly_hover",Fl.event)),e.parcatsViewModel.hoverinfoItems.indexOf("none")===-1){var s;a==="category"?s=xVe(r,i,o):a==="color"?s=ijt(r,i,o):a==="dimension"&&(s=rjt(r,i,o)),s&&Xk.loneHover(s,{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:r})}}}function ajt(e){var t=e.parcatsViewModel;if(!t.dragDimension&&(QK(t.pathSelection),_Ve(t.dimensionSelection.selectAll("g.category")),tJ(t.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),Xk.loneUnhover(t.graphDiv._fullLayout._hoverlayer.node()),t.pathSelection.sort(JK),t.hoverinfoItems.indexOf("skip")===-1)){var r=e.parcatsViewModel.hoveron,n=this;r==="color"?iJ(n,"plotly_unhover",Fl.event):rJ(n,"plotly_unhover",Fl.event)}}function ojt(e){e.parcatsViewModel.arrangement!=="fixed"&&(e.dragDimensionDisplayInd=e.model.displayInd,e.initialDragDimensionDisplayInds=e.parcatsViewModel.model.dimensions.map(function(t){return t.displayInd}),e.dragHasMoved=!1,e.dragCategoryDisplayInd=null,Fl.select(this).selectAll("g.category").select("rect.catrect").each(function(t){var r=Fl.mouse(this)[0],n=Fl.mouse(this)[1];-2<=r&&r<=t.width+2&&-2<=n&&n<=t.height+2&&(e.dragCategoryDisplayInd=t.model.displayInd,e.initialDragCategoryDisplayInds=e.model.categories.map(function(i){return i.displayInd}),t.model.dragY=t.y,kx.raiseToTop(this.parentNode),Fl.select(this.parentNode).selectAll("rect.bandrect").each(function(i){i.yc.y+c.height/2&&(a.model.displayInd=c.model.displayInd,c.model.displayInd=s),e.dragCategoryDisplayInd=a.model.displayInd}if(e.dragCategoryDisplayInd===null||e.parcatsViewModel.arrangement==="freeform"){i.model.dragX=Fl.event.x;var f=e.parcatsViewModel.dimensions[r],h=e.parcatsViewModel.dimensions[n];f!==void 0&&i.model.dragXh.x&&(i.model.displayInd=h.model.displayInd,h.model.displayInd=e.dragDimensionDisplayInd),e.dragDimensionDisplayInd=i.model.displayInd}aJ(e.parcatsViewModel),nJ(e.parcatsViewModel),TVe(e.parcatsViewModel),wVe(e.parcatsViewModel)}}function ljt(e){if(e.parcatsViewModel.arrangement!=="fixed"&&e.dragDimensionDisplayInd!==null){Fl.select(this).selectAll("text").attr("font-weight","normal");var t={},r=bVe(e.parcatsViewModel),n=e.parcatsViewModel.model.dimensions.map(function(h){return h.displayInd}),i=e.initialDragDimensionDisplayInds.some(function(h,d){return h!==n[d]});i&&n.forEach(function(h,d){var v=e.parcatsViewModel.model.dimensions[d].containerInd;t["dimensions["+v+"].displayindex"]=h});var a=!1;if(e.dragCategoryDisplayInd!==null){var o=e.model.categories.map(function(h){return h.displayInd});if(a=e.initialDragCategoryDisplayInds.some(function(h,d){return h!==o[d]}),a){var s=e.model.categories.slice().sort(function(h,d){return h.displayInd-d.displayInd}),l=s.map(function(h){return h.categoryValue}),u=s.map(function(h){return h.categoryLabel});t["dimensions["+e.model.containerInd+"].categoryarray"]=[l],t["dimensions["+e.model.containerInd+"].ticktext"]=[u],t["dimensions["+e.model.containerInd+"].categoryorder"]="array"}}if(e.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1&&!e.dragHasMoved&&e.potentialClickBand&&(e.parcatsViewModel.hoveron==="color"?iJ(e.potentialClickBand,"plotly_click",Fl.event.sourceEvent):rJ(e.potentialClickBand,"plotly_click",Fl.event.sourceEvent)),e.model.dragX=null,e.dragCategoryDisplayInd!==null){var c=e.parcatsViewModel.dimensions[e.dragDimensionDisplayInd].categories[e.dragCategoryDisplayInd];c.model.dragY=null,e.dragCategoryDisplayInd=null}e.dragDimensionDisplayInd=null,e.parcatsViewModel.dragDimension=null,e.dragHasMoved=null,e.potentialClickBand=null,aJ(e.parcatsViewModel),nJ(e.parcatsViewModel);var f=Fl.transition().duration(300).ease("cubic-in-out");f.each(function(){TVe(e.parcatsViewModel,!0),wVe(e.parcatsViewModel,!0)}).each("end",function(){(i||a)&&WHt.restyle(e.parcatsViewModel.graphDiv,t,[r])})}}function bVe(e){for(var t,r=e.graphDiv._fullData,n=0;n=0;l--)u+="C"+o[l]+","+(t[l+1]+n)+" "+a[l]+","+(t[l]+n)+" "+(e[l]+r[l])+","+(t[l]+n),u+="l-"+r[l]+",0 ";return u+="Z",u}function nJ(e){var t=e.dimensions,r=e.model,n=t.map(function(q){return q.categories.map(function(V){return V.y})}),i=e.model.dimensions.map(function(q){return q.categories.map(function(V){return V.displayInd})}),a=e.model.dimensions.map(function(q){return q.displayInd}),o=e.dimensions.map(function(q){return q.model.dimensionInd}),s=t.map(function(q){return q.x}),l=t.map(function(q){return q.width}),u=[];for(var c in r.paths)r.paths.hasOwnProperty(c)&&u.push(r.paths[c]);function f(q){var V=q.categoryInds.map(function(Z,j){return i[j][Z]}),G=o.map(function(Z){return V[Z]});return G}u.sort(function(q,V){var G=f(q),Z=f(V);return e.sortpaths==="backward"&&(G.reverse(),Z.reverse()),G.push(q.valueInds[0]),Z.push(V.valueInds[0]),e.bundlecolors&&(G.unshift(q.rawColor),Z.unshift(V.rawColor)),GZ?1:0});for(var h=new Array(u.length),d=t[0].model.count,v=t[0].categories.map(function(q){return q.height}).reduce(function(q,V){return q+V}),m=0;m0?p=v*(b.count/d):p=0;for(var k=new Array(n.length),M=0;M1?o=(e.width-2*r-n)/(i-1):o=0,s=r,l=s+o*a;var u=[],c=e.model.maxCats,f=t.categories.length,h=8,d=t.count,v=e.height-h*(c-1),m,b,p,k,M,T=(c-f)*h/2,L=t.categories.map(function(x){return{displayInd:x.displayInd,categoryInd:x.categoryInd}});for(L.sort(function(x,C){return x.displayInd-C.displayInd}),M=0;M0?m=b.count/d*v:m=0,p={key:b.valueInds[0],model:b,width:n,height:m,y:b.dragY!==null?b.dragY:T,bands:[],parcatsViewModel:e},T=T+m+h,u.push(p);return{key:t.dimensionInd,x:t.dragX!==null?t.dragX:l,y:0,width:n,model:t,categories:u,parcatsViewModel:e,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}});var oJ=ye((Mxr,MVe)=>{"use strict";var fjt=SVe();MVe.exports=function(t,r,n,i){var a=t._fullLayout,o=a._paper,s=a._size;fjt(t,o,r,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},n,i)}});var kVe=ye(Jz=>{"use strict";var hjt=Id().getModuleCalcData,djt=oJ(),EVe="parcats";Jz.name=EVe;Jz.plot=function(e,t,r,n){var i=hjt(e.calcdata,EVe);if(i.length){var a=i[0];djt(e,a,r,n)}};Jz.clean=function(e,t,r,n){var i=n._has&&n._has("parcats"),a=t._has&&t._has("parcats");i&&!a&&n._paperdiv.selectAll(".parcats").remove()}});var LVe=ye((kxr,CVe)=>{"use strict";CVe.exports={attributes:YK(),supplyDefaults:vVe(),calc:gVe(),plot:oJ(),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:kVe(),categories:["noOpacity"],meta:{}}});var IVe=ye((Cxr,PVe)=>{"use strict";PVe.exports=LVe()});var m1=ye((Lxr,BVe)=>{"use strict";var vjt=t_(),RVe="1.13.4",qVe='\xA9 OpenStreetMap contributors',DVe=['\xA9 Carto',qVe].join(" "),FVe=['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under ODbL'].join(" "),pjt=['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under CC BY SA'].join(" "),OVe={"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:qVe,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:DVe,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:DVe,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:FVe,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:FVe,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:pjt,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"}},zVe=vjt(OVe);BVe.exports={requiredVersion:RVe,styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",styleValuesMapbox:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],styleValueDflt:"basic",stylesNonMapbox:OVe,styleValuesNonMapbox:zVe,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@"+RVe+"."].join(` -`),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(` -`),missingStyleErrorMsg:["No valid mapbox style found, please set `mapbox.style` to one of:",zVe.join(", "),"or register a Mapbox access token to use a Mapbox-served style."].join(` -`),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(` -`),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')`}}});var Yk=ye((Pxr,GVe)=>{"use strict";var NVe=Pr(),UVe=ka().defaultLine,gjt=Cc().attributes,mjt=ec(),yjt=pf().textposition,_jt=mc().overrideAll,xjt=vl().templatedArray,sJ=m1(),VVe=mjt({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});VVe.family.dflt="Open Sans Regular, Arial Unicode MS Regular";var bjt=GVe.exports=_jt({_arrayAttrRegexps:[NVe.counterRegex("mapbox",".layers",!0)],domain:gjt({name:"mapbox"}),accesstoken:{valType:"string",noBlank:!0,strict:!0},style:{valType:"any",values:sJ.styleValuesMapbox.concat(sJ.styleValuesNonMapbox),dflt:sJ.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:xjt("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:UVe},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:UVe}},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:VVe,textposition:NVe.extendFlat({},yjt,{arrayOk:!1})}})},"plot","from-root");bjt.uirevision={valType:"any",editType:"none"}});var $z=ye((Ixr,XVe)=>{"use strict";var{hovertemplateAttrs:wjt,texttemplateAttrs:Tjt,templatefallbackAttrs:HVe}=Ll(),Ajt=Pg(),Kk=tw(),k5=pf(),jVe=Yk(),Sjt=Gl(),Mjt=Tu(),dw=Ao().extendFlat,Ejt=mc().overrideAll,kjt=Yk(),WVe=Kk.line,C5=Kk.marker;XVe.exports=Ejt({lon:Kk.lon,lat:Kk.lat,cluster:{enabled:{valType:"boolean"},maxzoom:dw({},kjt.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:dw({},C5.opacity,{dflt:1})},mode:dw({},k5.mode,{dflt:"markers"}),text:dw({},k5.text,{}),texttemplate:Tjt({editType:"plot"},{keys:["lat","lon","text"]}),texttemplatefallback:HVe({editType:"plot"}),hovertext:dw({},k5.hovertext,{}),line:{color:WVe.color,width:WVe.width},connectgaps:k5.connectgaps,marker:dw({symbol:{valType:"string",dflt:"circle",arrayOk:!0},angle:{valType:"number",dflt:"auto",arrayOk:!0},allowoverlap:{valType:"boolean",dflt:!1},opacity:C5.opacity,size:C5.size,sizeref:C5.sizeref,sizemin:C5.sizemin,sizemode:C5.sizemode},Mjt("marker")),fill:Kk.fill,fillcolor:Ajt(),textfont:jVe.layers.symbol.textfont,textposition:jVe.layers.symbol.textposition,below:{valType:"string"},selected:{marker:k5.selected.marker},unselected:{marker:k5.unselected.marker},hoverinfo:dw({},Sjt.hoverinfo,{flags:["lon","lat","text","name"]}),hovertemplate:wjt(),hovertemplatefallback:HVe()},"calc","nested")});var lJ=ye((Rxr,ZVe)=>{"use strict";var Cjt=["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"];ZVe.exports={isSupportedFont:function(e){return Cjt.indexOf(e)!==-1}}});var JVe=ye((Dxr,KVe)=>{"use strict";var Jk=Pr(),uJ=Ru(),Ljt=$p(),Pjt=D0(),Ijt=F0(),Rjt=Fg(),YVe=$z(),Djt=lJ().isSupportedFont;KVe.exports=function(t,r,n,i){function a(p,k){return Jk.coerce(t,r,YVe,p,k)}function o(p,k){return Jk.coerce2(t,r,YVe,p,k)}var s=Fjt(t,r,a);if(!s){r.visible=!1;return}if(a("text"),a("texttemplate"),a("texttemplatefallback"),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback"),a("mode"),a("below"),uJ.hasMarkers(r)){Ljt(t,r,n,i,a,{noLine:!0,noAngle:!0}),a("marker.allowoverlap"),a("marker.angle");var l=r.marker;l.symbol!=="circle"&&(Jk.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),Jk.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}uJ.hasLines(r)&&(Pjt(t,r,n,i,a,{noDash:!0}),a("connectgaps"));var u=o("cluster.maxzoom"),c=o("cluster.step"),f=o("cluster.color",r.marker&&r.marker.color||n),h=o("cluster.size"),d=o("cluster.opacity"),v=u!==!1||c!==!1||f!==!1||h!==!1||d!==!1,m=a("cluster.enabled",v);if(m||uJ.hasText(r)){var b=i.font.family;Ijt(t,r,i,a,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:Djt(b)?b:"Open Sans Regular",weight:i.font.weight,style:i.font.style,size:i.font.size,color:i.font.color}})}a("fill"),r.fill!=="none"&&Rjt(t,r,n,a),Jk.coerceSelectionMarkerOpacity(r,a)};function Fjt(e,t,r){var n=r("lon")||[],i=r("lat")||[],a=Math.min(n.length,i.length);return t._length=a,a}});var cJ=ye((Fxr,QVe)=>{"use strict";var $Ve=ho();QVe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=$Ve.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=$Ve.tickText(o,o.c2l(s[1]),!0).text,i}});var fJ=ye((zxr,tGe)=>{"use strict";var eGe=Pr();tGe.exports=function(t,r){var n=t.split(" "),i=n[0],a=n[1],o=eGe.isArrayOrTypedArray(r)?eGe.mean(r):r,s=.5+o/100,l=1.5+o/100,u=["",""],c=[0,0];switch(i){case"top":u[0]="top",c[1]=-l;break;case"bottom":u[0]="bottom",c[1]=l;break}switch(a){case"left":u[1]="right",c[0]=-s;break;case"right":u[1]="left",c[0]=s;break}var f;return u[0]&&u[1]?f=u.join("-"):u[0]?f=u[0]:u[1]?f=u[1]:f="center",{anchor:f,offset:c}}});var sGe=ye((qxr,oGe)=>{"use strict";var nGe=Eo(),ov=Pr(),zjt=fs().BADNUM,e7=fx(),rGe=tc(),qjt=So(),Ojt=B3(),t7=Ru(),Bjt=lJ().isSupportedFont,Njt=fJ(),Ujt=ip().appendArrayPointValue,Vjt=Zl().NEWLINES,Gjt=Zl().BR_TAG_ALL;oGe.exports=function(t,r){var n=r[0].trace,i=n.visible===!0&&n._length!==0,a=n.fill!=="none",o=t7.hasLines(n),s=t7.hasMarkers(n),l=t7.hasText(n),u=s&&n.marker.symbol==="circle",c=s&&n.marker.symbol!=="circle",f=n.cluster&&n.cluster.enabled,h=Qz("fill"),d=Qz("line"),v=Qz("circle"),m=Qz("symbol"),b={fill:h,line:d,circle:v,symbol:m};if(!i)return b;var p;if((a||o)&&(p=e7.calcTraceToLineCoords(r)),a&&(h.geojson=e7.makePolygon(p),h.layout.visibility="visible",ov.extendFlat(h.paint,{"fill-color":n.fillcolor})),o&&(d.geojson=e7.makeLine(p),d.layout.visibility="visible",ov.extendFlat(d.paint,{"line-width":n.line.width,"line-color":n.line.color,"line-opacity":n.opacity})),u){var k=Hjt(r);v.geojson=k.geojson,v.layout.visibility="visible",f&&(v.filter=["!",["has","point_count"]],b.cluster={type:"circle",filter:["has","point_count"],layout:{visibility:"visible"},paint:{"circle-color":dJ(n.cluster.color,n.cluster.step),"circle-radius":dJ(n.cluster.size,n.cluster.step),"circle-opacity":dJ(n.cluster.opacity,n.cluster.step)}},b.clusterCount={type:"symbol",filter:["has","point_count"],paint:{},layout:{"text-field":"{point_count_abbreviated}","text-font":iGe(n),"text-size":12}}),ov.extendFlat(v.paint,{"circle-color":k.mcc,"circle-radius":k.mrc,"circle-opacity":k.mo})}if(u&&f&&(v.filter=["!",["has","point_count"]]),(c||l)&&(m.geojson=jjt(r,t),ov.extendFlat(m.layout,{visibility:"visible","icon-image":"{symbol}-15","text-field":"{text}"}),c&&(ov.extendFlat(m.layout,{"icon-size":n.marker.size/10}),"angle"in n.marker&&n.marker.angle!=="auto"&&ov.extendFlat(m.layout,{"icon-rotate":{type:"identity",property:"angle"},"icon-rotation-alignment":"map"}),m.layout["icon-allow-overlap"]=n.marker.allowoverlap,ov.extendFlat(m.paint,{"icon-opacity":n.opacity*n.marker.opacity,"icon-color":n.marker.color})),l)){var M=(n.marker||{}).size,T=Njt(n.textposition,M);ov.extendFlat(m.layout,{"text-size":n.textfont.size,"text-anchor":T.anchor,"text-offset":T.offset,"text-font":iGe(n)}),ov.extendFlat(m.paint,{"text-color":n.textfont.color,"text-opacity":n.opacity})}return b};function Qz(e){return{type:e,geojson:e7.makeBlank(),layout:{visibility:"none"},filter:null,paint:{}}}function Hjt(e){var t=e[0].trace,r=t.marker,n=t.selectedpoints,i=ov.isArrayOrTypedArray(r.color),a=ov.isArrayOrTypedArray(r.size),o=ov.isArrayOrTypedArray(r.opacity),s;function l(M){return t.opacity*M}function u(M){return M/2}var c;i&&(rGe.hasColorscale(t,"marker")?c=rGe.makeColorScaleFuncFromTrace(r):c=ov.identity);var f;a&&(f=Ojt(t));var h;o&&(h=function(M){var T=nGe(M)?+ov.constrain(M,0,1):0;return l(T)});var d=[];for(s=0;s850?s+=" Black":i>750?s+=" Extra Bold":i>650?s+=" Bold":i>550?s+=" Semi Bold":i>450?s+=" Medium":i>350?s+=" Regular":i>250?s+=" Light":i>150?s+=" Extra Light":s+=" Thin"):a.slice(0,2).join(" ")==="Open Sans"?(s="Open Sans",i>750?s+=" Extrabold":i>650?s+=" Bold":i>550?s+=" Semibold":i>350?s+=" Regular":s+=" Light"):a.slice(0,3).join(" ")==="Klokantech Noto Sans"&&(s="Klokantech Noto Sans",a[3]==="CJK"&&(s+=" CJK"),s+=i>500?" Bold":" Regular")),o&&(s+=" Italic"),s==="Open Sans Regular Italic"?s="Open Sans Italic":s==="Open Sans Regular Bold"?s="Open Sans Bold":s==="Open Sans Regular Bold Italic"?s="Open Sans Bold Italic":s==="Klokantech Noto Sans Regular Italic"&&(s="Klokantech Noto Sans Italic"),Bjt(s)||(s=r);var l=s.split(", ");return l}});var fGe=ye((Oxr,cGe)=>{"use strict";var Wjt=Pr(),lGe=sGe(),L5=m1().traceLayerPrefix,ng={cluster:["cluster","clusterCount","circle"],nonCluster:["fill","line","circle","symbol"]};function uGe(e,t,r,n){this.type="scattermapbox",this.subplot=e,this.uid=t,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:"source-"+t+"-fill",line:"source-"+t+"-line",circle:"source-"+t+"-circle",symbol:"source-"+t+"-symbol",cluster:"source-"+t+"-circle",clusterCount:"source-"+t+"-circle"},this.layerIds={fill:L5+t+"-fill",line:L5+t+"-line",circle:L5+t+"-circle",symbol:L5+t+"-symbol",cluster:L5+t+"-cluster",clusterCount:L5+t+"-cluster-count"},this.below=null}var $k=uGe.prototype;$k.addSource=function(e,t,r){var n={type:"geojson",data:t.geojson};r&&r.enabled&&Wjt.extendFlat(n,{cluster:!0,clusterMaxZoom:r.maxzoom});var i=this.subplot.map.getSource(this.sourceIds[e]);i?i.setData(t.geojson):this.subplot.map.addSource(this.sourceIds[e],n)};$k.setSourceData=function(e,t){this.subplot.map.getSource(this.sourceIds[e]).setData(t.geojson)};$k.addLayer=function(e,t,r){var n={type:t.type,id:this.layerIds[e],source:this.sourceIds[e],layout:t.layout,paint:t.paint};t.filter&&(n.filter=t.filter);for(var i=this.layerIds[e],a,o=this.subplot.getMapLayers(),s=0;s=0;L--){var x=T[L];i.removeLayer(u.layerIds[x])}M||i.removeSource(u.sourceIds.circle)}function h(M){for(var T=ng.nonCluster,L=0;L=0;L--){var x=T[L];i.removeLayer(u.layerIds[x]),M||i.removeSource(u.sourceIds[x])}}function v(M){l?f(M):d(M)}function m(M){s?c(M):h(M)}function b(){for(var M=s?ng.cluster:ng.nonCluster,T=0;T=0;n--){var i=r[n];t.removeLayer(this.layerIds[i]),t.removeSource(this.sourceIds[i])}};cGe.exports=function(t,r){var n=r[0].trace,i=n.cluster&&n.cluster.enabled,a=n.visible!==!0,o=new uGe(t,n.uid,i,a),s=lGe(t.gd,r),l=o.below=t.belowLookup["trace-"+n.uid],u,c,f;if(i)for(o.addSource("circle",s.circle,n.cluster),u=0;u{"use strict";var Xjt=ef(),vJ=Pr(),Zjt=yT(),Yjt=vJ.fillText,Kjt=fs().BADNUM,Jjt=m1().traceLayerPrefix;function $jt(e,t,r){var n=e.cd,i=n[0].trace,a=e.xa,o=e.ya,s=e.subplot,l=[],u=Jjt+i.uid+"-circle",c=i.cluster&&i.cluster.enabled;if(c){var f=s.map.queryRenderedFeatures(null,{layers:[u]});l=f.map(function(S){return S.id})}var h=t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360),d=h*360,v=t-d;function m(S){var g=S.lonlat;if(g[0]===Kjt||c&&l.indexOf(S.i+1)===-1)return 1/0;var P=vJ.modHalf(g[0],360),E=g[1],z=s.project([P,E]),q=z.x-a.c2p([v,E]),V=z.y-o.c2p([P,r]),G=Math.max(3,S.mrc||0);return Math.max(Math.sqrt(q*q+V*V)-G,1-3/G)}if(Xjt.getClosest(n,m,e),e.index!==!1){var b=n[e.index],p=b.lonlat,k=[vJ.modHalf(p[0],360)+d,p[1]],M=a.c2p(k),T=o.c2p(k),L=b.mrc||1;e.x0=M-L,e.x1=M+L,e.y0=T-L,e.y1=T+L;var x={};x[i.subplot]={_subplot:s};var C=i._module.formatLabels(b,i,x);return e.lonLabel=C.lonLabel,e.latLabel=C.latLabel,e.color=Zjt(i,b),e.extraText=hGe(i,b,n[0].t.labels),e.hovertemplate=i.hovertemplate,[e]}}function hGe(e,t,r){if(e.hovertemplate)return;var n=t.hi||e.hoverinfo,i=n.split("+"),a=i.indexOf("all")!==-1,o=i.indexOf("lon")!==-1,s=i.indexOf("lat")!==-1,l=t.lonlat,u=[];function c(f){return f+"\xB0"}return a||o&&s?u.push("("+c(l[1])+", "+c(l[0])+")"):o?u.push(r.lon+c(l[0])):s&&u.push(r.lat+c(l[1])),(a||i.indexOf("text")!==-1)&&Yjt(t,e,u),u.join("
")}dGe.exports={hoverPoints:$jt,getExtraText:hGe}});var pGe=ye((Nxr,vGe)=>{"use strict";vGe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t}});var mGe=ye((Uxr,gGe)=>{"use strict";var Qjt=Pr(),eWt=Ru(),tWt=fs().BADNUM;gGe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l;if(!eWt.hasMarkers(s))return[];if(r===!1)for(l=0;l{(function(e,t){typeof pJ=="object"&&typeof gJ!="undefined"?gJ.exports=t():(e=e||self,e.mapboxgl=t())})(pJ,function(){"use strict";var e,t,r;function n(i,a){if(!e)e=a;else if(!t)t=a;else{var o="var sharedChunk = {}; ("+e+")(sharedChunk); ("+t+")(sharedChunk);",s={};e(s),r=a(s),typeof window!="undefined"&&(r.workerUrl=window.URL.createObjectURL(new Blob([o],{type:"text/javascript"})))}}return n(["exports"],function(i){"use strict";function a(y,_){return _={exports:{}},y(_,_.exports),_.exports}var o="1.13.4",s=l;function l(y,_,I,U){this.cx=3*y,this.bx=3*(I-y)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*_,this.by=3*(U-_)-this.cy,this.ay=1-this.cy-this.by,this.p1x=y,this.p1y=U,this.p2x=I,this.p2y=U}l.prototype.sampleCurveX=function(y){return((this.ax*y+this.bx)*y+this.cx)*y},l.prototype.sampleCurveY=function(y){return((this.ay*y+this.by)*y+this.cy)*y},l.prototype.sampleCurveDerivativeX=function(y){return(3*this.ax*y+2*this.bx)*y+this.cx},l.prototype.solveCurveX=function(y,_){typeof _=="undefined"&&(_=1e-6);var I,U,$,oe,he;for($=y,he=0;he<8;he++){if(oe=this.sampleCurveX($)-y,Math.abs(oe)<_)return $;var De=this.sampleCurveDerivativeX($);if(Math.abs(De)<1e-6)break;$=$-oe/De}if(I=0,U=1,$=y,$U)return U;for(;Ioe?I=$:U=$,$=(U-I)*.5+I}return $},l.prototype.solve=function(y,_){return this.sampleCurveY(this.solveCurveX(y,_))};var u=c;function c(y,_){this.x=y,this.y=_}c.prototype={clone:function(){return new c(this.x,this.y)},add:function(y){return this.clone()._add(y)},sub:function(y){return this.clone()._sub(y)},multByPoint:function(y){return this.clone()._multByPoint(y)},divByPoint:function(y){return this.clone()._divByPoint(y)},mult:function(y){return this.clone()._mult(y)},div:function(y){return this.clone()._div(y)},rotate:function(y){return this.clone()._rotate(y)},rotateAround:function(y,_){return this.clone()._rotateAround(y,_)},matMult:function(y){return this.clone()._matMult(y)},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(y){return this.x===y.x&&this.y===y.y},dist:function(y){return Math.sqrt(this.distSqr(y))},distSqr:function(y){var _=y.x-this.x,I=y.y-this.y;return _*_+I*I},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(y){return Math.atan2(this.y-y.y,this.x-y.x)},angleWith:function(y){return this.angleWithSep(y.x,y.y)},angleWithSep:function(y,_){return Math.atan2(this.x*_-this.y*y,this.x*y+this.y*_)},_matMult:function(y){var _=y[0]*this.x+y[1]*this.y,I=y[2]*this.x+y[3]*this.y;return this.x=_,this.y=I,this},_add:function(y){return this.x+=y.x,this.y+=y.y,this},_sub:function(y){return this.x-=y.x,this.y-=y.y,this},_mult:function(y){return this.x*=y,this.y*=y,this},_div:function(y){return this.x/=y,this.y/=y,this},_multByPoint:function(y){return this.x*=y.x,this.y*=y.y,this},_divByPoint:function(y){return this.x/=y.x,this.y/=y.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var y=this.y;return this.y=this.x,this.x=-y,this},_rotate:function(y){var _=Math.cos(y),I=Math.sin(y),U=_*this.x-I*this.y,$=I*this.x+_*this.y;return this.x=U,this.y=$,this},_rotateAround:function(y,_){var I=Math.cos(y),U=Math.sin(y),$=_.x+I*(this.x-_.x)-U*(this.y-_.y),oe=_.y+U*(this.x-_.x)+I*(this.y-_.y);return this.x=$,this.y=oe,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},c.convert=function(y){return y instanceof c?y:Array.isArray(y)?new c(y[0],y[1]):y};var f=typeof self!="undefined"?self:{};function h(y,_){if(Array.isArray(y)){if(!Array.isArray(_)||y.length!==_.length)return!1;for(var I=0;I=1)return 1;var _=y*y,I=_*y;return 4*(y<.5?I:3*(y-_)+I-.75)}function m(y,_,I,U){var $=new s(y,_,I,U);return function(oe){return $.solve(oe)}}var b=m(.25,.1,.25,1);function p(y,_,I){return Math.min(I,Math.max(_,y))}function k(y,_,I){var U=I-_,$=((y-_)%U+U)%U+_;return $===_?I:$}function M(y,_,I){if(!y.length)return I(null,[]);var U=y.length,$=new Array(y.length),oe=null;y.forEach(function(he,De){_(he,function(it,yt){it&&(oe=it),$[De]=yt,--U===0&&I(oe,$)})})}function T(y){var _=[];for(var I in y)_.push(y[I]);return _}function L(y,_){var I=[];for(var U in y)U in _||I.push(U);return I}function x(y){for(var _=[],I=arguments.length-1;I-- >0;)_[I]=arguments[I+1];for(var U=0,$=_;U<$.length;U+=1){var oe=$[U];for(var he in oe)y[he]=oe[he]}return y}function C(y,_){for(var I={},U=0;U<_.length;U++){var $=_[U];$ in y&&(I[$]=y[$])}return I}var S=1;function g(){return S++}function P(){function y(_){return _?(_^Math.random()*16>>_/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,y)}return y()}function E(y){return y<=1?1:Math.pow(2,Math.ceil(Math.log(y)/Math.LN2))}function z(y){return y?/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(y):!1}function q(y,_){y.forEach(function(I){_[I]&&(_[I]=_[I].bind(_))})}function V(y,_){return y.indexOf(_,y.length-_.length)!==-1}function G(y,_,I){var U={};for(var $ in y)U[$]=_.call(I||this,y[$],$,y);return U}function Z(y,_,I){var U={};for(var $ in y)_.call(I||this,y[$],$,y)&&(U[$]=y[$]);return U}function j(y){return Array.isArray(y)?y.map(j):typeof y=="object"&&y?G(y,j):y}function N(y,_){for(var I=0;I=0)return!0;return!1}var H={};function ie(y){H[y]||(typeof console!="undefined"&&console.warn(y),H[y]=!0)}function ae(y,_,I){return(I.y-y.y)*(_.x-y.x)>(_.y-y.y)*(I.x-y.x)}function _e(y){for(var _=0,I=0,U=y.length,$=U-1,oe=void 0,he=void 0;I@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,I={};if(y.replace(_,function($,oe,he,De){var it=he||De;return I[oe]=it?it.toLowerCase():!0,""}),I["max-age"]){var U=parseInt(I["max-age"],10);isNaN(U)?delete I["max-age"]:I["max-age"]=U}return I}var re=null;function Se(y){if(re==null){var _=y.navigator?y.navigator.userAgent:null;re=!!y.safari||!!(_&&(/\b(iPad|iPhone|iPod)\b/.test(_)||_.match("Safari")&&!_.match("Chrome")))}return re}function ke(y){try{var _=f[y];return _.setItem("_mapbox_test_",1),_.removeItem("_mapbox_test_"),!0}catch(I){return!1}}function be(y){return f.btoa(encodeURIComponent(y).replace(/%([0-9A-F]{2})/g,function(_,I){return String.fromCharCode(+("0x"+I))}))}function Be(y){return decodeURIComponent(f.atob(y).split("").map(function(_){return"%"+("00"+_.charCodeAt(0).toString(16)).slice(-2)}).join(""))}var Le=f.performance&&f.performance.now?f.performance.now.bind(f.performance):Date.now.bind(Date),me=f.requestAnimationFrame||f.mozRequestAnimationFrame||f.webkitRequestAnimationFrame||f.msRequestAnimationFrame,Pe=f.cancelAnimationFrame||f.mozCancelAnimationFrame||f.webkitCancelAnimationFrame||f.msCancelAnimationFrame,ce,He,lt={now:Le,frame:function(_){var I=me(_);return{cancel:function(){return Pe(I)}}},getImageData:function(_,I){I===void 0&&(I=0);var U=f.document.createElement("canvas"),$=U.getContext("2d");if(!$)throw new Error("failed to create canvas 2d context");return U.width=_.width,U.height=_.height,$.drawImage(_,0,0,_.width,_.height),$.getImageData(-I,-I,_.width+2*I,_.height+2*I)},resolveURL:function(_){return ce||(ce=f.document.createElement("a")),ce.href=_,ce.href},hardwareConcurrency:f.navigator&&f.navigator.hardwareConcurrency||4,get devicePixelRatio(){return f.devicePixelRatio},get prefersReducedMotion(){return f.matchMedia?(He==null&&(He=f.matchMedia("(prefers-reduced-motion: reduce)")),He.matches):!1}},mt={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},Ht={supported:!1,testSupport:rr},at,ct=!1,ar,Vt=!1;f.document&&(ar=f.document.createElement("img"),ar.onload=function(){at&&tt(at),at=null,Vt=!0},ar.onerror=function(){ct=!0,at=null},ar.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");function rr(y){ct||!ar||(Vt?tt(y):at=y)}function tt(y){var _=y.createTexture();y.bindTexture(y.TEXTURE_2D,_);try{if(y.texImage2D(y.TEXTURE_2D,0,y.RGBA,y.RGBA,y.UNSIGNED_BYTE,ar),y.isContextLost())return;Ht.supported=!0}catch(I){}y.deleteTexture(_),ct=!0}var je="01";function Ue(){for(var y="1",_="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",I="",U=0;U<10;U++)I+=_[Math.floor(Math.random()*62)];var $=12*60*60*1e3,oe=[y,je,I].join(""),he=Date.now()+$;return{token:oe,tokenExpiresAt:he}}var Ae=function(_,I){this._transformRequestFn=_,this._customAccessToken=I,this._createSkuToken()};Ae.prototype._createSkuToken=function(){var _=Ue();this._skuToken=_.token,this._skuTokenExpiresAt=_.tokenExpiresAt},Ae.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},Ae.prototype.transformRequest=function(_,I){return this._transformRequestFn?this._transformRequestFn(_,I)||{url:_}:{url:_}},Ae.prototype.normalizeStyleURL=function(_,I){if(!rt(_))return _;var U=jt(_);return U.path="/styles/v1"+U.path,this._makeAPIURL(U,this._customAccessToken||I)},Ae.prototype.normalizeGlyphsURL=function(_,I){if(!rt(_))return _;var U=jt(_);return U.path="/fonts/v1"+U.path,this._makeAPIURL(U,this._customAccessToken||I)},Ae.prototype.normalizeSourceURL=function(_,I){if(!rt(_))return _;var U=jt(_);return U.path="/v4/"+U.authority+".json",U.params.push("secure"),this._makeAPIURL(U,this._customAccessToken||I)},Ae.prototype.normalizeSpriteURL=function(_,I,U,$){var oe=jt(_);return rt(_)?(oe.path="/styles/v1"+oe.path+"/sprite"+I+U,this._makeAPIURL(oe,this._customAccessToken||$)):(oe.path+=""+I+U,or(oe))},Ae.prototype.normalizeTileURL=function(_,I){if(this._isSkuTokenExpired()&&this._createSkuToken(),_&&!rt(_))return _;var U=jt(_),$=/(\.(png|jpg)\d*)(?=$)/,oe=/^.+\/v4\//,he=lt.devicePixelRatio>=2||I===512?"@2x":"",De=Ht.supported?".webp":"$1";U.path=U.path.replace($,""+he+De),U.path=U.path.replace(oe,"/"),U.path="/v4"+U.path;var it=this._customAccessToken||Et(U.params)||mt.ACCESS_TOKEN;return mt.REQUIRE_ACCESS_TOKEN&&it&&this._skuToken&&U.params.push("sku="+this._skuToken),this._makeAPIURL(U,it)},Ae.prototype.canonicalizeTileURL=function(_,I){var U="/v4/",$=/\.[\w]+$/,oe=jt(_);if(!oe.path.match(/(^\/v4\/)/)||!oe.path.match($))return _;var he="mapbox://tiles/";he+=oe.path.replace(U,"");var De=oe.params;return I&&(De=De.filter(function(it){return!it.match(/^access_token=/)})),De.length&&(he+="?"+De.join("&")),he},Ae.prototype.canonicalizeTileset=function(_,I){for(var U=I?rt(I):!1,$=[],oe=0,he=_.tiles||[];oe=0&&_.params.splice(oe,1)}if($.path!=="/"&&(_.path=""+$.path+_.path),!mt.REQUIRE_ACCESS_TOKEN)return or(_);if(I=I||mt.ACCESS_TOKEN,!I)throw new Error("An API access token is required to use Mapbox GL. "+U);if(I[0]==="s")throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+U);return _.params=_.params.filter(function(he){return he.indexOf("access_token")===-1}),_.params.push("access_token="+I),or(_)};function rt(y){return y.indexOf("mapbox:")===0}var St=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;function Tt(y){return St.test(y)}function dt(y){return y.indexOf("sku=")>0&&Tt(y)}function Et(y){for(var _=0,I=y;_=1&&f.localStorage.setItem(I,JSON.stringify(this.eventData))}catch($){ie("Unable to write to LocalStorage")}},ei.prototype.processRequests=function(_){},ei.prototype.postEvent=function(_,I,U,$){var oe=this;if(mt.EVENTS_URL){var he=jt(mt.EVENTS_URL);he.params.push("access_token="+($||mt.ACCESS_TOKEN||""));var De={event:this.type,created:new Date(_).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:o,skuId:je,userId:this.anonId},it=I?x(De,I):De,yt={url:or(he),headers:{"Content-Type":"text/plain"},body:JSON.stringify([it])};this.pendingRequest=$r(yt,function(Lt){oe.pendingRequest=null,U(Lt),oe.saveEventData(),oe.processRequests($)})}},ei.prototype.queueRequest=function(_,I){this.queue.push(_),this.processRequests(I)};var qr=function(y){function _(){y.call(this,"map.load"),this.success={},this.skuToken=""}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype.postMapLoadEvent=function(U,$,oe,he){this.skuToken=oe,(mt.EVENTS_URL&&he||mt.ACCESS_TOKEN&&Array.isArray(U)&&U.some(function(De){return rt(De)||Tt(De)}))&&this.queueRequest({id:$,timestamp:Date.now()},he)},_.prototype.processRequests=function(U){var $=this;if(!(this.pendingRequest||this.queue.length===0)){var oe=this.queue.shift(),he=oe.id,De=oe.timestamp;he&&this.success[he]||(this.anonId||this.fetchEventData(),z(this.anonId)||(this.anonId=P()),this.postEvent(De,{skuToken:this.skuToken},function(it){it||he&&($.success[he]=!0)},U))}},_}(ei),jr=function(y){function _(I){y.call(this,"appUserTurnstile"),this._customAccessToken=I}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype.postTurnstileEvent=function(U,$){mt.EVENTS_URL&&mt.ACCESS_TOKEN&&Array.isArray(U)&&U.some(function(oe){return rt(oe)||Tt(oe)})&&this.queueRequest(Date.now(),$)},_.prototype.processRequests=function(U){var $=this;if(!(this.pendingRequest||this.queue.length===0)){(!this.anonId||!this.eventData.lastSuccess||!this.eventData.tokenU)&&this.fetchEventData();var oe=Ar(mt.ACCESS_TOKEN),he=oe?oe.u:mt.ACCESS_TOKEN,De=he!==this.eventData.tokenU;z(this.anonId)||(this.anonId=P(),De=!0);var it=this.queue.shift();if(this.eventData.lastSuccess){var yt=new Date(this.eventData.lastSuccess),Lt=new Date(it),sr=(it-this.eventData.lastSuccess)/(24*60*60*1e3);De=De||sr>=1||sr<-1||yt.getDate()!==Lt.getDate()}else De=!0;if(!De)return this.processRequests();this.postEvent(it,{"enabled.telemetry":!1},function(gr){gr||($.eventData.lastSuccess=it,$.eventData.tokenU=he)},U)}},_}(ei),gt=new jr,Ge=gt.postTurnstileEvent.bind(gt),Je=new qr,We=Je.postMapLoadEvent.bind(Je),et="mapbox-tiles",xt=500,At=50,Kt=1e3*60*7,Qt;function Mr(){f.caches&&!Qt&&(Qt=f.caches.open(et))}var Gr;function Ir(y,_){if(Gr===void 0)try{new Response(new ReadableStream),Gr=!0}catch(I){Gr=!1}Gr?_(y.body):y.blob().then(_)}function Yr(y,_,I){if(Mr(),!!Qt){var U={status:_.status,statusText:_.statusText,headers:new f.Headers};_.headers.forEach(function(he,De){return U.headers.set(De,he)});var $=ge(_.headers.get("Cache-Control")||"");if(!$["no-store"]){$["max-age"]&&U.headers.set("Expires",new Date(I+$["max-age"]*1e3).toUTCString());var oe=new Date(U.headers.get("Expires")).getTime()-I;oeDate.now()&&!I["no-cache"]}var mi=1/0;function un(y){mi++,mi>At&&(y.getActor().send("enforceCacheSizeLimit",xt),mi=0)}function Fn(y){Mr(),Qt&&Qt.then(function(_){_.keys().then(function(I){for(var U=0;U=200&&I.status<300||I.status===0)&&I.response!==null){var $=I.response;if(y.type==="json")try{$=JSON.parse(I.response)}catch(oe){return _(oe)}_(null,$,I.getResponseHeader("Cache-Control"),I.getResponseHeader("Expires"))}else _(new Jn(I.statusText,I.status,y.url))},I.send(y.body),{cancel:function(){return I.abort()}}}var wr=function(y,_){if(!wt(y.url)){if(f.fetch&&f.Request&&f.AbortController&&f.Request.prototype.hasOwnProperty("signal"))return tr(y,_);if(Ce()&&self.worker&&self.worker.actor){var I=!0;return self.worker.actor.send("getResource",y,_,void 0,I)}}return ir(y,_)},Xr=function(y,_){return wr(x(y,{type:"json"}),_)},ti=function(y,_){return wr(x(y,{type:"arrayBuffer"}),_)},$r=function(y,_){return wr(x(y,{method:"POST"}),_)};function Ri(y){var _=f.document.createElement("a");return _.href=y,_.protocol===f.document.location.protocol&&_.host===f.document.location.host}var Zi="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";function en(y,_,I,U){var $=new f.Image,oe=f.URL;$.onload=function(){_(null,$),oe.revokeObjectURL($.src),$.onload=null,f.requestAnimationFrame(function(){$.src=Zi})},$.onerror=function(){return _(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 he=new f.Blob([new Uint8Array(y)],{type:"image/png"});$.cacheControl=I,$.expires=U,$.src=y.byteLength?oe.createObjectURL(he):Zi}function fn(y,_){var I=new f.Blob([new Uint8Array(y)],{type:"image/png"});f.createImageBitmap(I).then(function(U){_(null,U)}).catch(function(U){_(new Error("Could not load image because of "+U.message+". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))})}var yn,Mn,Ba=function(){yn=[],Mn=0};Ba();var ua=function(y,_){if(Ht.supported&&(y.headers||(y.headers={}),y.headers.accept="image/webp,*/*"),Mn>=mt.MAX_PARALLEL_IMAGE_REQUESTS){var I={requestParameters:y,callback:_,cancelled:!1,cancel:function(){this.cancelled=!0}};return yn.push(I),I}Mn++;var U=!1,$=function(){if(!U)for(U=!0,Mn--;yn.length&&Mn0||this._oneTimeListeners&&this._oneTimeListeners[_]&&this._oneTimeListeners[_].length>0||this._eventedParent&&this._eventedParent.listens(_)},jn.prototype.setEventedParent=function(_,I){return this._eventedParent=_,this._eventedParentData=I,this};var Ha=8,vo={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"}},Gn={"*":{type:"source"}},Ct=["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],Sr={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:"*"}},Jr={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:"*"}},hi={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:"*"}},hn={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"}},Sn={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"}}},En={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"}}},ki={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"}},_n=["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],ya={visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},ea={"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"}},Ma={"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"}},_o={visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},No={"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"}},po={"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"}},Lo={visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},ko={visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},Ds={type:"array",value:"*"},Fs={type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},ll={type:"enum",values:{Point:{},LineString:{},Polygon:{}}},ul={type:"array",minimum:0,maximum:24,value:["number","color"],length:2},zl={type:"array",value:"*",minimum:1},us={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}},il=["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"}},cl={"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"}},Ks={"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"}},zs={"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"}},Io={"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"}},ls={"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"}},Yl={"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"}},Su={"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"}},nc={duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},bs={"*":{type:"string"}},Rn={$version:Ha,$root:vo,sources:Gn,source:Ct,source_vector:Sr,source_raster:Jr,source_raster_dem:hi,source_geojson:hn,source_video:Sn,source_image:En,layer:ki,layout:_n,layout_background:ya,layout_fill:ea,layout_circle:Ma,layout_heatmap:_o,"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:No,layout_symbol:po,layout_raster:Lo,layout_hillshade:ko,filter:Ds,filter_operator:Fs,geometry_type:ll,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:ul,expression:zl,light:us,paint:il,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:cl,paint_circle:Ks,paint_heatmap:zs,paint_symbol:Io,paint_raster:ls,paint_hillshade:Yl,paint_background:Su,transition:nc,"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:bs},_a=function(_,I,U,$){this.message=(_?_+": ":"")+U,$&&(this.identifier=$),I!=null&&I.__line__&&(this.line=I.__line__)};function Vu(y){var _=y.key,I=y.value;return I?[new _a(_,I,"constants have been deprecated as of v8")]:[]}function ql(y){for(var _=[],I=arguments.length-1;I-- >0;)_[I]=arguments[I+1];for(var U=0,$=_;U<$.length;U+=1){var oe=$[U];for(var he in oe)y[he]=oe[he]}return y}function xo(y){return y instanceof Number||y instanceof String||y instanceof Boolean?y.valueOf():y}function Kl(y){if(Array.isArray(y))return y.map(Kl);if(y instanceof Object&&!(y instanceof Number||y instanceof String||y instanceof Boolean)){var _={};for(var I in y)_[I]=Kl(y[I]);return _}return xo(y)}var Ns=function(y){function _(I,U){y.call(this,U),this.message=U,this.key=I}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_}(Error),Hl=function(_,I){I===void 0&&(I=[]),this.parent=_,this.bindings={};for(var U=0,$=I;U<$.length;U+=1){var oe=$[U],he=oe[0],De=oe[1];this.bindings[he]=De}};Hl.prototype.concat=function(_){return new Hl(this,_)},Hl.prototype.get=function(_){if(this.bindings[_])return this.bindings[_];if(this.parent)return this.parent.get(_);throw new Error(_+" not found in scope.")},Hl.prototype.has=function(_){return this.bindings[_]?!0:this.parent?this.parent.has(_):!1};var ac={kind:"null"},oa={kind:"number"},qo={kind:"string"},Oo={kind:"boolean"},Ol={kind:"color"},Pc={kind:"object"},Do={kind:"value"},nf={kind:"error"},Vf={kind:"collator"},pl={kind:"formatted"},Zc={kind:"resolvedImage"};function Jl(y,_){return{kind:"array",itemType:y,N:_}}function qs(y){if(y.kind==="array"){var _=qs(y.itemType);return typeof y.N=="number"?"array<"+_+", "+y.N+">":y.itemType.kind==="value"?"array":"array<"+_+">"}else return y.kind}var yu=[ac,oa,qo,Oo,Ol,pl,Pc,Jl(Do),Zc];function oc(y,_){if(_.kind==="error")return null;if(y.kind==="array"){if(_.kind==="array"&&(_.N===0&&_.itemType.kind==="value"||!oc(y.itemType,_.itemType))&&(typeof y.N!="number"||y.N===_.N))return null}else{if(y.kind===_.kind)return null;if(y.kind==="value")for(var I=0,U=yu;I255?255:yt}function $(yt){return yt<0?0:yt>1?1:yt}function oe(yt){return yt[yt.length-1]==="%"?U(parseFloat(yt)/100*255):U(parseInt(yt))}function he(yt){return yt[yt.length-1]==="%"?$(parseFloat(yt)/100):$(parseFloat(yt))}function De(yt,Lt,sr){return sr<0?sr+=1:sr>1&&(sr-=1),sr*6<1?yt+(Lt-yt)*sr*6:sr*2<1?Lt:sr*3<2?yt+(Lt-yt)*(2/3-sr)*6:yt}function it(yt){var Lt=yt.replace(/ /g,"").toLowerCase();if(Lt in I)return I[Lt].slice();if(Lt[0]==="#"){if(Lt.length===4){var sr=parseInt(Lt.substr(1),16);return sr>=0&&sr<=4095?[(sr&3840)>>4|(sr&3840)>>8,sr&240|(sr&240)>>4,sr&15|(sr&15)<<4,1]:null}else if(Lt.length===7){var sr=parseInt(Lt.substr(1),16);return sr>=0&&sr<=16777215?[(sr&16711680)>>16,(sr&65280)>>8,sr&255,1]:null}return null}var gr=Lt.indexOf("("),hr=Lt.indexOf(")");if(gr!==-1&&hr+1===Lt.length){var Rr=Lt.substr(0,gr),ni=Lt.substr(gr+1,hr-(gr+1)).split(","),Hi=1;switch(Rr){case"rgba":if(ni.length!==4)return null;Hi=he(ni.pop());case"rgb":return ni.length!==3?null:[oe(ni[0]),oe(ni[1]),oe(ni[2]),Hi];case"hsla":if(ni.length!==4)return null;Hi=he(ni.pop());case"hsl":if(ni.length!==3)return null;var wi=(parseFloat(ni[0])%360+360)%360/360,bn=he(ni[1]),rn=he(ni[2]),xn=rn<=.5?rn*(bn+1):rn+bn-rn*bn,In=rn*2-xn;return[U(De(In,xn,wi+1/3)*255),U(De(In,xn,wi)*255),U(De(In,xn,wi-1/3)*255),Hi];default:return null}}return null}try{_.parseCSSColor=it}catch(yt){}}),Lf=jh.parseCSSColor,cs=function(_,I,U,$){$===void 0&&($=1),this.r=_,this.g=I,this.b=U,this.a=$};cs.parse=function(_){if(_){if(_ instanceof cs)return _;if(typeof _=="string"){var I=Lf(_);if(I)return new cs(I[0]/255*I[3],I[1]/255*I[3],I[2]/255*I[3],I[3])}}},cs.prototype.toString=function(){var _=this.toArray(),I=_[0],U=_[1],$=_[2],oe=_[3];return"rgba("+Math.round(I)+","+Math.round(U)+","+Math.round($)+","+oe+")"},cs.prototype.toArray=function(){var _=this,I=_.r,U=_.g,$=_.b,oe=_.a;return oe===0?[0,0,0,0]:[I*255/oe,U*255/oe,$*255/oe,oe]},cs.black=new cs(0,0,0,1),cs.white=new cs(1,1,1,1),cs.transparent=new cs(0,0,0,0),cs.red=new cs(1,0,0,1);var af=function(_,I,U){_?this.sensitivity=I?"variant":"case":this.sensitivity=I?"accent":"base",this.locale=U,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};af.prototype.compare=function(_,I){return this.collator.compare(_,I)},af.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var Gf=function(_,I,U,$,oe){this.text=_,this.image=I,this.scale=U,this.fontStack=$,this.textColor=oe},$l=function(_){this.sections=_};$l.fromString=function(_){return new $l([new Gf(_,null,null,null,null)])},$l.prototype.isEmpty=function(){return this.sections.length===0?!0:!this.sections.some(function(_){return _.text.length!==0||_.image&&_.image.name.length!==0})},$l.factory=function(_){return _ instanceof $l?_:$l.fromString(_)},$l.prototype.toString=function(){return this.sections.length===0?"":this.sections.map(function(_){return _.text}).join("")},$l.prototype.serialize=function(){for(var _=["format"],I=0,U=this.sections;I=0&&y<=255&&typeof _=="number"&&_>=0&&_<=255&&typeof I=="number"&&I>=0&&I<=255)){var $=typeof U=="number"?[y,_,I,U]:[y,_,I];return"Invalid rgba value ["+$.join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}return typeof U=="undefined"||typeof U=="number"&&U>=0&&U<=1?null:"Invalid rgba value ["+[y,_,I,U].join(", ")+"]: 'a' must be between 0 and 1."}function Fu(y){if(y===null)return!0;if(typeof y=="string")return!0;if(typeof y=="boolean")return!0;if(typeof y=="number")return!0;if(y instanceof cs)return!0;if(y instanceof af)return!0;if(y instanceof $l)return!0;if(y instanceof fl)return!0;if(Array.isArray(y)){for(var _=0,I=y;_2){var De=_[1];if(typeof De!="string"||!(De in uc)||De==="object")return I.error('The item type argument of "array" must be one of string, number, boolean',1);he=uc[De],U++}else he=Do;var it;if(_.length>3){if(_[2]!==null&&(typeof _[2]!="number"||_[2]<0||_[2]!==Math.floor(_[2])))return I.error('The length argument to "array" must be a positive integer literal',2);it=_[2],U++}$=Jl(he,it)}else $=uc[oe];for(var yt=[];U<_.length;U++){var Lt=I.parse(_[U],U,Do);if(!Lt)return null;yt.push(Lt)}return new xl($,yt)},xl.prototype.evaluate=function(_){for(var I=0;I1)&&I.push($)}}return I.concat(this.args.map(function(oe){return oe.serialize()}))};var Gu=function(_){this.type=pl,this.sections=_};Gu.parse=function(_,I){if(_.length<2)return I.error("Expected at least one argument.");var U=_[1];if(!Array.isArray(U)&&typeof U=="object")return I.error("First argument must be an image or text section.");for(var $=[],oe=!1,he=1;he<=_.length-1;++he){var De=_[he];if(oe&&typeof De=="object"&&!Array.isArray(De)){oe=!1;var it=null;if(De["font-scale"]&&(it=I.parse(De["font-scale"],1,oa),!it))return null;var yt=null;if(De["text-font"]&&(yt=I.parse(De["text-font"],1,Jl(qo)),!yt))return null;var Lt=null;if(De["text-color"]&&(Lt=I.parse(De["text-color"],1,Ol),!Lt))return null;var sr=$[$.length-1];sr.scale=it,sr.font=yt,sr.textColor=Lt}else{var gr=I.parse(_[he],1,Do);if(!gr)return null;var hr=gr.type.kind;if(hr!=="string"&&hr!=="value"&&hr!=="null"&&hr!=="resolvedImage")return I.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");oe=!0,$.push({content:gr,scale:null,font:null,textColor:null})}}return new Gu($)},Gu.prototype.evaluate=function(_){var I=function(U){var $=U.content.evaluate(_);return Es($)===Zc?new Gf("",$,null,null,null):new Gf(Hs($),null,U.scale?U.scale.evaluate(_):null,U.font?U.font.evaluate(_).join(","):null,U.textColor?U.textColor.evaluate(_):null)};return new $l(this.sections.map(I))},Gu.prototype.eachChild=function(_){for(var I=0,U=this.sections;I-1),U},Os.prototype.eachChild=function(_){_(this.input)},Os.prototype.outputDefined=function(){return!1},Os.prototype.serialize=function(){return["image",this.input.serialize()]};var od={"to-boolean":Oo,"to-color":Ol,"to-number":oa,"to-string":qo},Po=function(_,I){this.type=_,this.args=I};Po.parse=function(_,I){if(_.length<2)return I.error("Expected at least one argument.");var U=_[0];if((U==="to-boolean"||U==="to-string")&&_.length!==2)return I.error("Expected one argument.");for(var $=od[U],oe=[],he=1;he<_.length;he++){var De=I.parse(_[he],he,Do);if(!De)return null;oe.push(De)}return new Po($,oe)},Po.prototype.evaluate=function(_){if(this.type.kind==="boolean")return!!this.args[0].evaluate(_);if(this.type.kind==="color"){for(var I,U,$=0,oe=this.args;$4?U="Invalid rbga value "+JSON.stringify(I)+": expected an array containing either three or four numeric values.":U=lc(I[0],I[1],I[2],I[3]),!U))return new cs(I[0]/255,I[1]/255,I[2]/255,I[3])}throw new ps(U||"Could not parse color from value '"+(typeof I=="string"?I:String(JSON.stringify(I)))+"'")}else if(this.type.kind==="number"){for(var it=null,yt=0,Lt=this.args;yt=_[2]||y[1]<=_[1]||y[3]>=_[3])}function Ah(y,_){var I=Ic(y[0]),U=yf(y[1]),$=Math.pow(2,_.z);return[Math.round(I*$*bl),Math.round(U*$*bl)]}function Qf(y,_,I){var U=y[0]-_[0],$=y[1]-_[1],oe=y[0]-I[0],he=y[1]-I[1];return U*he-oe*$===0&&U*oe<=0&&$*he<=0}function _f(y,_,I){return _[1]>y[1]!=I[1]>y[1]&&y[0]<(I[0]-_[0])*(y[1]-_[1])/(I[1]-_[1])+_[0]}function Yc(y,_){for(var I=!1,U=0,$=_.length;U<$;U++)for(var oe=_[U],he=0,De=oe.length;he0&&sr<0||Lt<0&&sr>0}function jf(y,_,I,U){var $=[_[0]-y[0],_[1]-y[1]],oe=[U[0]-I[0],U[1]-I[1]];return th(oe,$)===0?!1:!!(ju(y,_,I,U)&&ju(I,U,y,_))}function cc(y,_,I){for(var U=0,$=I;U<$.length;U+=1)for(var oe=$[U],he=0;heI[2]){var $=U*.5,oe=y[0]-I[0]>$?-U:I[0]-y[0]>$?U:0;oe===0&&(oe=y[0]-I[2]>$?-U:I[2]-y[0]>$?U:0),y[0]+=oe}Hf(_,y)}function Wf(y){y[0]=y[1]=1/0,y[2]=y[3]=-1/0}function Wh(y,_,I,U){for(var $=Math.pow(2,U.z)*bl,oe=[U.x*bl,U.y*bl],he=[],De=0,it=y;De=0)return!1;var I=!0;return y.eachChild(function(U){I&&!Eu(U,_)&&(I=!1)}),I}var Dc=function(_,I){this.type=I.type,this.name=_,this.boundExpression=I};Dc.parse=function(_,I){if(_.length!==2||typeof _[1]!="string")return I.error("'var' expression requires exactly one string literal argument.");var U=_[1];return I.scope.has(U)?new Dc(U,I.scope.get(U)):I.error('Unknown variable "'+U+'". Make sure "'+U+'" has been bound in an enclosing "let" expression before using it.',1)},Dc.prototype.evaluate=function(_){return this.boundExpression.evaluate(_)},Dc.prototype.eachChild=function(){},Dc.prototype.outputDefined=function(){return!1},Dc.prototype.serialize=function(){return["var",this.name]};var ks=function(_,I,U,$,oe){I===void 0&&(I=[]),$===void 0&&($=new Hl),oe===void 0&&(oe=[]),this.registry=_,this.path=I,this.key=I.map(function(he){return"["+he+"]"}).join(""),this.scope=$,this.errors=oe,this.expectedType=U};ks.prototype.parse=function(_,I,U,$,oe){return oe===void 0&&(oe={}),I?this.concat(I,U,$)._parse(_,oe):this._parse(_,oe)},ks.prototype._parse=function(_,I){(_===null||typeof _=="string"||typeof _=="boolean"||typeof _=="number")&&(_=["literal",_]);function U(Lt,sr,gr){return gr==="assert"?new xl(sr,[Lt]):gr==="coerce"?new Po(sr,[Lt]):Lt}if(Array.isArray(_)){if(_.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var $=_[0];if(typeof $!="string")return this.error("Expression name must be a string, but found "+typeof $+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var oe=this.registry[$];if(oe){var he=oe.parse(_,this);if(!he)return null;if(this.expectedType){var De=this.expectedType,it=he.type;if((De.kind==="string"||De.kind==="number"||De.kind==="boolean"||De.kind==="object"||De.kind==="array")&&it.kind==="value")he=U(he,De,I.typeAnnotation||"assert");else if((De.kind==="color"||De.kind==="formatted"||De.kind==="resolvedImage")&&(it.kind==="value"||it.kind==="string"))he=U(he,De,I.typeAnnotation||"coerce");else if(this.checkSubtype(De,it))return null}if(!(he instanceof Go)&&he.type.kind!=="resolvedImage"&&bc(he)){var yt=new Ko;try{he=new Go(he.type,he.evaluate(yt))}catch(Lt){return this.error(Lt.message),null}}return he}return this.error('Unknown expression "'+$+'". If you wanted a literal array, use ["literal", [...]].',0)}else return typeof _=="undefined"?this.error("'undefined' value invalid. Use null instead."):typeof _=="object"?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+typeof _+" instead.")},ks.prototype.concat=function(_,I,U){var $=typeof _=="number"?this.path.concat(_):this.path,oe=U?this.scope.concat(U):this.scope;return new ks(this.registry,$,I||null,oe,this.errors)},ks.prototype.error=function(_){for(var I=[],U=arguments.length-1;U-- >0;)I[U]=arguments[U+1];var $=""+this.key+I.map(function(oe){return"["+oe+"]"}).join("");this.errors.push(new Ns($,_))},ks.prototype.checkSubtype=function(_,I){var U=oc(_,I);return U&&this.error(U),U};function bc(y){if(y instanceof Dc)return bc(y.boundExpression);if(y instanceof Pa&&y.name==="error")return!1;if(y instanceof Hu)return!1;if(y instanceof Mu)return!1;var _=y instanceof Po||y instanceof xl,I=!0;return y.eachChild(function(U){_?I=I&&bc(U):I=I&&U instanceof Go}),I?ih(y)&&Eu(y,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"]):!1}function hu(y,_){for(var I=y.length-1,U=0,$=I,oe=0,he,De;U<=$;)if(oe=Math.floor((U+$)/2),he=y[oe],De=y[oe+1],he<=_){if(oe===I||__)$=oe-1;else throw new ps("Input is not a number.");return 0}var _u=function(_,I,U){this.type=_,this.input=I,this.labels=[],this.outputs=[];for(var $=0,oe=U;$=De)return I.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',yt);var sr=I.parse(it,Lt,oe);if(!sr)return null;oe=oe||sr.type,$.push([De,sr])}return new _u(oe,U,$)},_u.prototype.evaluate=function(_){var I=this.labels,U=this.outputs;if(I.length===1)return U[0].evaluate(_);var $=this.input.evaluate(_);if($<=I[0])return U[0].evaluate(_);var oe=I.length;if($>=I[oe-1])return U[oe-1].evaluate(_);var he=hu(I,$);return U[he].evaluate(_)},_u.prototype.eachChild=function(_){_(this.input);for(var I=0,U=this.outputs;I0&&_.push(this.labels[I]),_.push(this.outputs[I].serialize());return _};function nl(y,_,I){return y*(1-I)+_*I}function nh(y,_,I){return new cs(nl(y.r,_.r,I),nl(y.g,_.g,I),nl(y.b,_.b,I),nl(y.a,_.a,I))}function Mh(y,_,I){return y.map(function(U,$){return nl(U,_[$],I)})}var zu=Object.freeze({__proto__:null,number:nl,color:nh,array:Mh}),Fc=.95047,wc=1,bd=1.08883,xf=4/29,Pf=6/29,qu=3*Pf*Pf,bf=Pf*Pf*Pf,jl=Math.PI/180,uf=180/Math.PI;function Xh(y){return y>bf?Math.pow(y,1/3):y/qu+xf}function If(y){return y>Pf?y*y*y:qu*(y-xf)}function Cs(y){return 255*(y<=.0031308?12.92*y:1.055*Math.pow(y,1/2.4)-.055)}function du(y){return y/=255,y<=.04045?y/12.92:Math.pow((y+.055)/1.055,2.4)}function ku(y){var _=du(y.r),I=du(y.g),U=du(y.b),$=Xh((.4124564*_+.3575761*I+.1804375*U)/Fc),oe=Xh((.2126729*_+.7151522*I+.072175*U)/wc),he=Xh((.0193339*_+.119192*I+.9503041*U)/bd);return{l:116*oe-16,a:500*($-oe),b:200*(oe-he),alpha:y.a}}function Xf(y){var _=(y.l+16)/116,I=isNaN(y.a)?_:_+y.a/500,U=isNaN(y.b)?_:_-y.b/200;return _=wc*If(_),I=Fc*If(I),U=bd*If(U),new cs(Cs(3.2404542*I-1.5371385*_-.4985314*U),Cs(-.969266*I+1.8760108*_+.041556*U),Cs(.0556434*I-.2040259*_+1.0572252*U),y.alpha)}function Us(y,_,I){return{l:nl(y.l,_.l,I),a:nl(y.a,_.a,I),b:nl(y.b,_.b,I),alpha:nl(y.alpha,_.alpha,I)}}function wf(y){var _=ku(y),I=_.l,U=_.a,$=_.b,oe=Math.atan2($,U)*uf;return{h:oe<0?oe+360:oe,c:Math.sqrt(U*U+$*$),l:I,alpha:y.a}}function zc(y){var _=y.h*jl,I=y.c,U=y.l;return Xf({l:U,a:Math.cos(_)*I,b:Math.sin(_)*I,alpha:y.alpha})}function Wu(y,_,I){var U=_-y;return y+I*(U>180||U<-180?U-360*Math.round(U/360):U)}function Rf(y,_,I){return{h:Wu(y.h,_.h,I),c:nl(y.c,_.c,I),l:nl(y.l,_.l,I),alpha:nl(y.alpha,_.alpha,I)}}var Xu={forward:ku,reverse:Xf,interpolate:Us},cf={forward:wf,reverse:zc,interpolate:Rf},Zf=Object.freeze({__proto__:null,lab:Xu,hcl:cf}),Wl=function(_,I,U,$,oe){this.type=_,this.operator=I,this.interpolation=U,this.input=$,this.labels=[],this.outputs=[];for(var he=0,De=oe;he1}))return I.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);$={name:"cubic-bezier",controlPoints:it}}else return I.error("Unknown interpolation type "+String($[0]),1,0);if(_.length-1<4)return I.error("Expected at least 4 arguments, but found only "+(_.length-1)+".");if((_.length-1)%2!==0)return I.error("Expected an even number of arguments.");if(oe=I.parse(oe,2,oa),!oe)return null;var yt=[],Lt=null;U==="interpolate-hcl"||U==="interpolate-lab"?Lt=Ol:I.expectedType&&I.expectedType.kind!=="value"&&(Lt=I.expectedType);for(var sr=0;sr=gr)return I.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',Rr);var Hi=I.parse(hr,ni,Lt);if(!Hi)return null;Lt=Lt||Hi.type,yt.push([gr,Hi])}return Lt.kind!=="number"&&Lt.kind!=="color"&&!(Lt.kind==="array"&&Lt.itemType.kind==="number"&&typeof Lt.N=="number")?I.error("Type "+qs(Lt)+" is not interpolatable."):new Wl(Lt,U,$,oe,yt)},Wl.prototype.evaluate=function(_){var I=this.labels,U=this.outputs;if(I.length===1)return U[0].evaluate(_);var $=this.input.evaluate(_);if($<=I[0])return U[0].evaluate(_);var oe=I.length;if($>=I[oe-1])return U[oe-1].evaluate(_);var he=hu(I,$),De=I[he],it=I[he+1],yt=Wl.interpolationFactor(this.interpolation,$,De,it),Lt=U[he].evaluate(_),sr=U[he+1].evaluate(_);return this.operator==="interpolate"?zu[this.type.kind.toLowerCase()](Lt,sr,yt):this.operator==="interpolate-hcl"?cf.reverse(cf.interpolate(cf.forward(Lt),cf.forward(sr),yt)):Xu.reverse(Xu.interpolate(Xu.forward(Lt),Xu.forward(sr),yt))},Wl.prototype.eachChild=function(_){_(this.input);for(var I=0,U=this.outputs;I=U.length)throw new ps("Array index out of bounds: "+I+" > "+(U.length-1)+".");if(I!==Math.floor(I))throw new ps("Array index must be an integer, but found "+I+" instead.");return U[I]},Tc.prototype.eachChild=function(_){_(this.index),_(this.input)},Tc.prototype.outputDefined=function(){return!1},Tc.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var wl=function(_,I){this.type=Oo,this.needle=_,this.haystack=I};wl.parse=function(_,I){if(_.length!==3)return I.error("Expected 2 arguments, but found "+(_.length-1)+" instead.");var U=I.parse(_[1],1,Do),$=I.parse(_[2],2,Do);return!U||!$?null:Cf(U.type,[Oo,qo,oa,ac,Do])?new wl(U,$):I.error("Expected first argument to be of type boolean, string, number or null, but found "+qs(U.type)+" instead")},wl.prototype.evaluate=function(_){var I=this.needle.evaluate(_),U=this.haystack.evaluate(_);if(!U)return!1;if(!sc(I,["boolean","string","number","null"]))throw new ps("Expected first argument to be of type boolean, string, number or null, but found "+qs(Es(I))+" instead.");if(!sc(U,["string","array"]))throw new ps("Expected second argument to be of type array or string, but found "+qs(Es(U))+" instead.");return U.indexOf(I)>=0},wl.prototype.eachChild=function(_){_(this.needle),_(this.haystack)},wl.prototype.outputDefined=function(){return!0},wl.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};var vu=function(_,I,U){this.type=oa,this.needle=_,this.haystack=I,this.fromIndex=U};vu.parse=function(_,I){if(_.length<=2||_.length>=5)return I.error("Expected 3 or 4 arguments, but found "+(_.length-1)+" instead.");var U=I.parse(_[1],1,Do),$=I.parse(_[2],2,Do);if(!U||!$)return null;if(!Cf(U.type,[Oo,qo,oa,ac,Do]))return I.error("Expected first argument to be of type boolean, string, number or null, but found "+qs(U.type)+" instead");if(_.length===4){var oe=I.parse(_[3],3,oa);return oe?new vu(U,$,oe):null}else return new vu(U,$)},vu.prototype.evaluate=function(_){var I=this.needle.evaluate(_),U=this.haystack.evaluate(_);if(!sc(I,["boolean","string","number","null"]))throw new ps("Expected first argument to be of type boolean, string, number or null, but found "+qs(Es(I))+" instead.");if(!sc(U,["string","array"]))throw new ps("Expected second argument to be of type array or string, but found "+qs(Es(U))+" instead.");if(this.fromIndex){var $=this.fromIndex.evaluate(_);return U.indexOf(I,$)}return U.indexOf(I)},vu.prototype.eachChild=function(_){_(this.needle),_(this.haystack),this.fromIndex&&_(this.fromIndex)},vu.prototype.outputDefined=function(){return!1},vu.prototype.serialize=function(){if(this.fromIndex!=null&&this.fromIndex!==void 0){var _=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),_]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};var Oc=function(_,I,U,$,oe,he){this.inputType=_,this.type=I,this.input=U,this.cases=$,this.outputs=oe,this.otherwise=he};Oc.parse=function(_,I){if(_.length<5)return I.error("Expected at least 4 arguments, but found only "+(_.length-1)+".");if(_.length%2!==1)return I.error("Expected an even number of arguments.");var U,$;I.expectedType&&I.expectedType.kind!=="value"&&($=I.expectedType);for(var oe={},he=[],De=2;De<_.length-1;De+=2){var it=_[De],yt=_[De+1];Array.isArray(it)||(it=[it]);var Lt=I.concat(De);if(it.length===0)return Lt.error("Expected at least one branch label.");for(var sr=0,gr=it;srNumber.MAX_SAFE_INTEGER)return Lt.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if(typeof hr=="number"&&Math.floor(hr)!==hr)return Lt.error("Numeric branch labels must be integer values.");if(!U)U=Es(hr);else if(Lt.checkSubtype(U,Es(hr)))return null;if(typeof oe[String(hr)]!="undefined")return Lt.error("Branch labels must be unique.");oe[String(hr)]=he.length}var Rr=I.parse(yt,De,$);if(!Rr)return null;$=$||Rr.type,he.push(Rr)}var ni=I.parse(_[1],1,Do);if(!ni)return null;var Hi=I.parse(_[_.length-1],_.length-1,$);return!Hi||ni.type.kind!=="value"&&I.concat(1).checkSubtype(U,ni.type)?null:new Oc(U,$,ni,oe,he,Hi)},Oc.prototype.evaluate=function(_){var I=this.input.evaluate(_),U=Es(I)===this.inputType&&this.outputs[this.cases[I]]||this.otherwise;return U.evaluate(_)},Oc.prototype.eachChild=function(_){_(this.input),this.outputs.forEach(_),_(this.otherwise)},Oc.prototype.outputDefined=function(){return this.outputs.every(function(_){return _.outputDefined()})&&this.otherwise.outputDefined()},Oc.prototype.serialize=function(){for(var _=this,I=["match",this.input.serialize()],U=Object.keys(this.cases).sort(),$=[],oe={},he=0,De=U;he=5)return I.error("Expected 3 or 4 arguments, but found "+(_.length-1)+" instead.");var U=I.parse(_[1],1,Do),$=I.parse(_[2],2,oa);if(!U||!$)return null;if(!Cf(U.type,[Jl(Do),qo,Do]))return I.error("Expected first argument to be of type array or string, but found "+qs(U.type)+" instead");if(_.length===4){var oe=I.parse(_[3],3,oa);return oe?new fc(U.type,U,$,oe):null}else return new fc(U.type,U,$)},fc.prototype.evaluate=function(_){var I=this.input.evaluate(_),U=this.beginIndex.evaluate(_);if(!sc(I,["string","array"]))throw new ps("Expected first argument to be of type array or string, but found "+qs(Es(I))+" instead.");if(this.endIndex){var $=this.endIndex.evaluate(_);return I.slice(U,$)}return I.slice(U)},fc.prototype.eachChild=function(_){_(this.input),_(this.beginIndex),this.endIndex&&_(this.endIndex)},fc.prototype.outputDefined=function(){return!1},fc.prototype.serialize=function(){if(this.endIndex!=null&&this.endIndex!==void 0){var _=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),_]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};function Bc(y,_){return y==="=="||y==="!="?_.kind==="boolean"||_.kind==="string"||_.kind==="number"||_.kind==="null"||_.kind==="value":_.kind==="string"||_.kind==="number"||_.kind==="value"}function kt(y,_,I){return _===I}function Zt(y,_,I){return _!==I}function Er(y,_,I){return _I}function Kr(y,_,I){return _<=I}function Mi(y,_,I){return _>=I}function Wi(y,_,I,U){return U.compare(_,I)===0}function dn(y,_,I,U){return!Wi(y,_,I,U)}function wn(y,_,I,U){return U.compare(_,I)<0}function On(y,_,I,U){return U.compare(_,I)>0}function Yi(y,_,I,U){return U.compare(_,I)<=0}function $i(y,_,I,U){return U.compare(_,I)>=0}function an(y,_,I){var U=y!=="=="&&y!=="!=";return function(){function $(oe,he,De){this.type=Oo,this.lhs=oe,this.rhs=he,this.collator=De,this.hasUntypedArgument=oe.type.kind==="value"||he.type.kind==="value"}return $.parse=function(he,De){if(he.length!==3&&he.length!==4)return De.error("Expected two or three arguments.");var it=he[0],yt=De.parse(he[1],1,Do);if(!yt)return null;if(!Bc(it,yt.type))return De.concat(1).error('"'+it+`" comparisons are not supported for type '`+qs(yt.type)+"'.");var Lt=De.parse(he[2],2,Do);if(!Lt)return null;if(!Bc(it,Lt.type))return De.concat(2).error('"'+it+`" comparisons are not supported for type '`+qs(Lt.type)+"'.");if(yt.type.kind!==Lt.type.kind&&yt.type.kind!=="value"&&Lt.type.kind!=="value")return De.error("Cannot compare types '"+qs(yt.type)+"' and '"+qs(Lt.type)+"'.");U&&(yt.type.kind==="value"&&Lt.type.kind!=="value"?yt=new xl(Lt.type,[yt]):yt.type.kind!=="value"&&Lt.type.kind==="value"&&(Lt=new xl(yt.type,[Lt])));var sr=null;if(he.length===4){if(yt.type.kind!=="string"&&Lt.type.kind!=="string"&&yt.type.kind!=="value"&&Lt.type.kind!=="value")return De.error("Cannot use collator to compare non-string types.");if(sr=De.parse(he[3],3,Vf),!sr)return null}return new $(yt,Lt,sr)},$.prototype.evaluate=function(he){var De=this.lhs.evaluate(he),it=this.rhs.evaluate(he);if(U&&this.hasUntypedArgument){var yt=Es(De),Lt=Es(it);if(yt.kind!==Lt.kind||!(yt.kind==="string"||yt.kind==="number"))throw new ps('Expected arguments for "'+y+'" to be (string, string) or (number, number), but found ('+yt.kind+", "+Lt.kind+") instead.")}if(this.collator&&!U&&this.hasUntypedArgument){var sr=Es(De),gr=Es(it);if(sr.kind!=="string"||gr.kind!=="string")return _(he,De,it)}return this.collator?I(he,De,it,this.collator.evaluate(he)):_(he,De,it)},$.prototype.eachChild=function(he){he(this.lhs),he(this.rhs),this.collator&&he(this.collator)},$.prototype.outputDefined=function(){return!0},$.prototype.serialize=function(){var he=[y];return this.eachChild(function(De){he.push(De.serialize())}),he},$}()}var Fi=an("==",kt,Wi),ta=an("!=",Zt,dn),Ca=an("<",Er,wn),Ra=an(">",xr,On),La=an("<=",Kr,Yi),Ua=an(">=",Mi,$i),Zn=function(_,I,U,$,oe){this.type=qo,this.number=_,this.locale=I,this.currency=U,this.minFractionDigits=$,this.maxFractionDigits=oe};Zn.parse=function(_,I){if(_.length!==3)return I.error("Expected two arguments.");var U=I.parse(_[1],1,oa);if(!U)return null;var $=_[2];if(typeof $!="object"||Array.isArray($))return I.error("NumberFormat options argument must be an object.");var oe=null;if($.locale&&(oe=I.parse($.locale,1,qo),!oe))return null;var he=null;if($.currency&&(he=I.parse($.currency,1,qo),!he))return null;var De=null;if($["min-fraction-digits"]&&(De=I.parse($["min-fraction-digits"],1,oa),!De))return null;var it=null;return $["max-fraction-digits"]&&(it=I.parse($["max-fraction-digits"],1,oa),!it)?null:new Zn(U,oe,he,De,it)},Zn.prototype.evaluate=function(_){return new Intl.NumberFormat(this.locale?this.locale.evaluate(_):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(_):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(_):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(_):void 0}).format(this.number.evaluate(_))},Zn.prototype.eachChild=function(_){_(this.number),this.locale&&_(this.locale),this.currency&&_(this.currency),this.minFractionDigits&&_(this.minFractionDigits),this.maxFractionDigits&&_(this.maxFractionDigits)},Zn.prototype.outputDefined=function(){return!1},Zn.prototype.serialize=function(){var _={};return this.locale&&(_.locale=this.locale.serialize()),this.currency&&(_.currency=this.currency.serialize()),this.minFractionDigits&&(_["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(_["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),_]};var Dn=function(_){this.type=oa,this.input=_};Dn.parse=function(_,I){if(_.length!==2)return I.error("Expected 1 argument, but found "+(_.length-1)+" instead.");var U=I.parse(_[1],1);return U?U.type.kind!=="array"&&U.type.kind!=="string"&&U.type.kind!=="value"?I.error("Expected argument of type string or array, but found "+qs(U.type)+" instead."):new Dn(U):null},Dn.prototype.evaluate=function(_){var I=this.input.evaluate(_);if(typeof I=="string")return I.length;if(Array.isArray(I))return I.length;throw new ps("Expected value to be of type string or array, but found "+qs(Es(I))+" instead.")},Dn.prototype.eachChild=function(_){_(this.input)},Dn.prototype.outputDefined=function(){return!1},Dn.prototype.serialize=function(){var _=["length"];return this.eachChild(function(I){_.push(I.serialize())}),_};var Ka={"==":Fi,"!=":ta,">":Ra,"<":Ca,">=":Ua,"<=":La,array:xl,at:Tc,boolean:xl,case:ff,coalesce:Zu,collator:Hu,format:Gu,image:Os,in:wl,"index-of":vu,interpolate:Wl,"interpolate-hcl":Wl,"interpolate-lab":Wl,length:Dn,let:qc,literal:Go,match:Oc,number:xl,"number-format":Zn,object:xl,slice:fc,step:_u,string:xl,"to-boolean":Po,"to-color":Po,"to-number":Po,"to-string":Po,var:Dc,within:Mu};function bo(y,_){var I=_[0],U=_[1],$=_[2],oe=_[3];I=I.evaluate(y),U=U.evaluate(y),$=$.evaluate(y);var he=oe?oe.evaluate(y):1,De=lc(I,U,$,he);if(De)throw new ps(De);return new cs(I/255*he,U/255*he,$/255*he,he)}function Zo(y,_){return y in _}function Ss(y,_){var I=_[y];return typeof I=="undefined"?null:I}function as(y,_,I,U){for(;I<=U;){var $=I+U>>1;if(_[$]===y)return!0;_[$]>y?U=$-1:I=$+1}return!1}function ws(y){return{type:y}}Pa.register(Ka,{error:[nf,[qo],function(y,_){var I=_[0];throw new ps(I.evaluate(y))}],typeof:[qo,[Do],function(y,_){var I=_[0];return qs(Es(I.evaluate(y)))}],"to-rgba":[Jl(oa,4),[Ol],function(y,_){var I=_[0];return I.evaluate(y).toArray()}],rgb:[Ol,[oa,oa,oa],bo],rgba:[Ol,[oa,oa,oa,oa],bo],has:{type:Oo,overloads:[[[qo],function(y,_){var I=_[0];return Zo(I.evaluate(y),y.properties())}],[[qo,Pc],function(y,_){var I=_[0],U=_[1];return Zo(I.evaluate(y),U.evaluate(y))}]]},get:{type:Do,overloads:[[[qo],function(y,_){var I=_[0];return Ss(I.evaluate(y),y.properties())}],[[qo,Pc],function(y,_){var I=_[0],U=_[1];return Ss(I.evaluate(y),U.evaluate(y))}]]},"feature-state":[Do,[qo],function(y,_){var I=_[0];return Ss(I.evaluate(y),y.featureState||{})}],properties:[Pc,[],function(y){return y.properties()}],"geometry-type":[qo,[],function(y){return y.geometryType()}],id:[Do,[],function(y){return y.id()}],zoom:[oa,[],function(y){return y.globals.zoom}],"heatmap-density":[oa,[],function(y){return y.globals.heatmapDensity||0}],"line-progress":[oa,[],function(y){return y.globals.lineProgress||0}],accumulated:[Do,[],function(y){return y.globals.accumulated===void 0?null:y.globals.accumulated}],"+":[oa,ws(oa),function(y,_){for(var I=0,U=0,$=_;U<$.length;U+=1){var oe=$[U];I+=oe.evaluate(y)}return I}],"*":[oa,ws(oa),function(y,_){for(var I=1,U=0,$=_;U<$.length;U+=1){var oe=$[U];I*=oe.evaluate(y)}return I}],"-":{type:oa,overloads:[[[oa,oa],function(y,_){var I=_[0],U=_[1];return I.evaluate(y)-U.evaluate(y)}],[[oa],function(y,_){var I=_[0];return-I.evaluate(y)}]]},"/":[oa,[oa,oa],function(y,_){var I=_[0],U=_[1];return I.evaluate(y)/U.evaluate(y)}],"%":[oa,[oa,oa],function(y,_){var I=_[0],U=_[1];return I.evaluate(y)%U.evaluate(y)}],ln2:[oa,[],function(){return Math.LN2}],pi:[oa,[],function(){return Math.PI}],e:[oa,[],function(){return Math.E}],"^":[oa,[oa,oa],function(y,_){var I=_[0],U=_[1];return Math.pow(I.evaluate(y),U.evaluate(y))}],sqrt:[oa,[oa],function(y,_){var I=_[0];return Math.sqrt(I.evaluate(y))}],log10:[oa,[oa],function(y,_){var I=_[0];return Math.log(I.evaluate(y))/Math.LN10}],ln:[oa,[oa],function(y,_){var I=_[0];return Math.log(I.evaluate(y))}],log2:[oa,[oa],function(y,_){var I=_[0];return Math.log(I.evaluate(y))/Math.LN2}],sin:[oa,[oa],function(y,_){var I=_[0];return Math.sin(I.evaluate(y))}],cos:[oa,[oa],function(y,_){var I=_[0];return Math.cos(I.evaluate(y))}],tan:[oa,[oa],function(y,_){var I=_[0];return Math.tan(I.evaluate(y))}],asin:[oa,[oa],function(y,_){var I=_[0];return Math.asin(I.evaluate(y))}],acos:[oa,[oa],function(y,_){var I=_[0];return Math.acos(I.evaluate(y))}],atan:[oa,[oa],function(y,_){var I=_[0];return Math.atan(I.evaluate(y))}],min:[oa,ws(oa),function(y,_){return Math.min.apply(Math,_.map(function(I){return I.evaluate(y)}))}],max:[oa,ws(oa),function(y,_){return Math.max.apply(Math,_.map(function(I){return I.evaluate(y)}))}],abs:[oa,[oa],function(y,_){var I=_[0];return Math.abs(I.evaluate(y))}],round:[oa,[oa],function(y,_){var I=_[0],U=I.evaluate(y);return U<0?-Math.round(-U):Math.round(U)}],floor:[oa,[oa],function(y,_){var I=_[0];return Math.floor(I.evaluate(y))}],ceil:[oa,[oa],function(y,_){var I=_[0];return Math.ceil(I.evaluate(y))}],"filter-==":[Oo,[qo,Do],function(y,_){var I=_[0],U=_[1];return y.properties()[I.value]===U.value}],"filter-id-==":[Oo,[Do],function(y,_){var I=_[0];return y.id()===I.value}],"filter-type-==":[Oo,[qo],function(y,_){var I=_[0];return y.geometryType()===I.value}],"filter-<":[Oo,[qo,Do],function(y,_){var I=_[0],U=_[1],$=y.properties()[I.value],oe=U.value;return typeof $==typeof oe&&$":[Oo,[qo,Do],function(y,_){var I=_[0],U=_[1],$=y.properties()[I.value],oe=U.value;return typeof $==typeof oe&&$>oe}],"filter-id->":[Oo,[Do],function(y,_){var I=_[0],U=y.id(),$=I.value;return typeof U==typeof $&&U>$}],"filter-<=":[Oo,[qo,Do],function(y,_){var I=_[0],U=_[1],$=y.properties()[I.value],oe=U.value;return typeof $==typeof oe&&$<=oe}],"filter-id-<=":[Oo,[Do],function(y,_){var I=_[0],U=y.id(),$=I.value;return typeof U==typeof $&&U<=$}],"filter->=":[Oo,[qo,Do],function(y,_){var I=_[0],U=_[1],$=y.properties()[I.value],oe=U.value;return typeof $==typeof oe&&$>=oe}],"filter-id->=":[Oo,[Do],function(y,_){var I=_[0],U=y.id(),$=I.value;return typeof U==typeof $&&U>=$}],"filter-has":[Oo,[Do],function(y,_){var I=_[0];return I.value in y.properties()}],"filter-has-id":[Oo,[],function(y){return y.id()!==null&&y.id()!==void 0}],"filter-type-in":[Oo,[Jl(qo)],function(y,_){var I=_[0];return I.value.indexOf(y.geometryType())>=0}],"filter-id-in":[Oo,[Jl(Do)],function(y,_){var I=_[0];return I.value.indexOf(y.id())>=0}],"filter-in-small":[Oo,[qo,Jl(Do)],function(y,_){var I=_[0],U=_[1];return U.value.indexOf(y.properties()[I.value])>=0}],"filter-in-large":[Oo,[qo,Jl(Do)],function(y,_){var I=_[0],U=_[1];return as(y.properties()[I.value],U.value,0,U.value.length-1)}],all:{type:Oo,overloads:[[[Oo,Oo],function(y,_){var I=_[0],U=_[1];return I.evaluate(y)&&U.evaluate(y)}],[ws(Oo),function(y,_){for(var I=0,U=_;I-1}function va(y){return!!y.expression&&y.expression.interpolated}function no(y){return y instanceof Number?"number":y instanceof String?"string":y instanceof Boolean?"boolean":Array.isArray(y)?"array":y===null?"null":typeof y}function ys(y){return typeof y=="object"&&y!==null&&!Array.isArray(y)}function rs(y){return y}function Ql(y,_){var I=_.type==="color",U=y.stops&&typeof y.stops[0][0]=="object",$=U||y.property!==void 0,oe=U||!$,he=y.type||(va(_)?"exponential":"interval");if(I&&(y=ql({},y),y.stops&&(y.stops=y.stops.map(function(ha){return[ha[0],cs.parse(ha[1])]})),y.default?y.default=cs.parse(y.default):y.default=cs.parse(_.default)),y.colorSpace&&y.colorSpace!=="rgb"&&!Zf[y.colorSpace])throw new Error("Unknown color space: "+y.colorSpace);var De,it,yt;if(he==="exponential")De=pu;else if(he==="interval")De=Nc;else if(he==="categorical"){De=Yu,it=Object.create(null);for(var Lt=0,sr=y.stops;Lt=y.stops[U-1][0])return y.stops[U-1][1];var $=hu(y.stops.map(function(oe){return oe[0]}),I);return y.stops[$][1]}function pu(y,_,I){var U=y.base!==void 0?y.base:1;if(no(I)!=="number")return Cu(y.default,_.default);var $=y.stops.length;if($===1||I<=y.stops[0][0])return y.stops[0][1];if(I>=y.stops[$-1][0])return y.stops[$-1][1];var oe=hu(y.stops.map(function(sr){return sr[0]}),I),he=xu(I,U,y.stops[oe][0],y.stops[oe+1][0]),De=y.stops[oe][1],it=y.stops[oe+1][1],yt=zu[_.type]||rs;if(y.colorSpace&&y.colorSpace!=="rgb"){var Lt=Zf[y.colorSpace];yt=function(sr,gr){return Lt.reverse(Lt.interpolate(Lt.forward(sr),Lt.forward(gr),he))}}return typeof De.evaluate=="function"?{evaluate:function(){for(var gr=[],hr=arguments.length;hr--;)gr[hr]=arguments[hr];var Rr=De.evaluate.apply(void 0,gr),ni=it.evaluate.apply(void 0,gr);if(!(Rr===void 0||ni===void 0))return yt(Rr,ni,he)}}:yt(De,it,he)}function Uc(y,_,I){return _.type==="color"?I=cs.parse(I):_.type==="formatted"?I=$l.fromString(I.toString()):_.type==="resolvedImage"?I=fl.fromString(I.toString()):no(I)!==_.type&&(_.type!=="enum"||!_.values[I])&&(I=void 0),Cu(I,y.default,_.default)}function xu(y,_,I,U){var $=U-I,oe=y-I;return $===0?0:_===1?oe/$:(Math.pow(_,oe)-1)/(Math.pow(_,$)-1)}var Ac=function(_,I){this.expression=_,this._warningHistory={},this._evaluator=new Ko,this._defaultValue=I?ee(I):null,this._enumValues=I&&I.type==="enum"?I.values:null};Ac.prototype.evaluateWithoutErrorHandling=function(_,I,U,$,oe,he){return this._evaluator.globals=_,this._evaluator.feature=I,this._evaluator.featureState=U,this._evaluator.canonical=$,this._evaluator.availableImages=oe||null,this._evaluator.formattedSection=he,this.expression.evaluate(this._evaluator)},Ac.prototype.evaluate=function(_,I,U,$,oe,he){this._evaluator.globals=_,this._evaluator.feature=I||null,this._evaluator.featureState=U||null,this._evaluator.canonical=$,this._evaluator.availableImages=oe||null,this._evaluator.formattedSection=he||null;try{var De=this.expression.evaluate(this._evaluator);if(De==null||typeof De=="number"&&De!==De)return this._defaultValue;if(this._enumValues&&!(De in this._enumValues))throw new ps("Expected value to be one of "+Object.keys(this._enumValues).map(function(it){return JSON.stringify(it)}).join(", ")+", but found "+JSON.stringify(De)+" instead.");return De}catch(it){return this._warningHistory[it.message]||(this._warningHistory[it.message]=!0,typeof console!="undefined"&&console.warn(it.message)),this._defaultValue}};function Va(y){return Array.isArray(y)&&y.length>0&&typeof y[0]=="string"&&y[0]in Ka}function oo(y,_){var I=new ks(Ka,[],_?Q(_):void 0),U=I.parse(y,void 0,void 0,void 0,_&&_.type==="string"?{typeAnnotation:"coerce"}:void 0);return U?Ho(new Ac(U,_)):ml(I.errors)}var Vc=function(_,I){this.kind=_,this._styleExpression=I,this.isStateDependent=_!=="constant"&&!js(I.expression)};Vc.prototype.evaluateWithoutErrorHandling=function(_,I,U,$,oe,he){return this._styleExpression.evaluateWithoutErrorHandling(_,I,U,$,oe,he)},Vc.prototype.evaluate=function(_,I,U,$,oe,he){return this._styleExpression.evaluate(_,I,U,$,oe,he)};var hc=function(_,I,U,$){this.kind=_,this.zoomStops=U,this._styleExpression=I,this.isStateDependent=_!=="camera"&&!js(I.expression),this.interpolationType=$};hc.prototype.evaluateWithoutErrorHandling=function(_,I,U,$,oe,he){return this._styleExpression.evaluateWithoutErrorHandling(_,I,U,$,oe,he)},hc.prototype.evaluate=function(_,I,U,$,oe,he){return this._styleExpression.evaluate(_,I,U,$,oe,he)},hc.prototype.interpolationFactor=function(_,I,U){return this.interpolationType?Wl.interpolationFactor(this.interpolationType,_,I,U):0};function Ku(y,_){if(y=oo(y,_),y.result==="error")return y;var I=y.value.expression,U=ih(I);if(!U&&!Ws(_))return ml([new Ns("","data expressions not supported")]);var $=Eu(I,["zoom"]);if(!$&&!Ls(_))return ml([new Ns("","zoom expressions not supported")]);var oe=B(I);if(!oe&&!$)return ml([new Ns("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(oe instanceof Ns)return ml([oe]);if(oe instanceof Wl&&!va(_))return ml([new Ns("",'"interpolate" expressions cannot be used with this property')]);if(!oe)return Ho(U?new Vc("constant",y.value):new Vc("source",y.value));var he=oe instanceof Wl?oe.interpolation:void 0;return Ho(U?new hc("camera",y.value,oe.labels,he):new hc("composite",y.value,oe.labels,he))}var ue=function(_,I){this._parameters=_,this._specification=I,ql(this,Ql(this._parameters,this._specification))};ue.deserialize=function(_){return new ue(_._parameters,_._specification)},ue.serialize=function(_){return{_parameters:_._parameters,_specification:_._specification}};function w(y,_){if(ys(y))return new ue(y,_);if(Va(y)){var I=Ku(y,_);if(I.result==="error")throw new Error(I.value.map(function($){return $.key+": "+$.message}).join(", "));return I.value}else{var U=y;return typeof y=="string"&&_.type==="color"&&(U=cs.parse(y)),{kind:"constant",evaluate:function(){return U}}}}function B(y){var _=null;if(y instanceof qc)_=B(y.result);else if(y instanceof Zu)for(var I=0,U=y.args;IU.maximum?[new _a(_,I,I+" is greater than the maximum value "+U.maximum)]:[]}function ut(y){var _=y.valueSpec,I=xo(y.value.type),U,$={},oe,he,De=I!=="categorical"&&y.value.property===void 0,it=!De,yt=no(y.value.stops)==="array"&&no(y.value.stops[0])==="array"&&no(y.value.stops[0][0])==="object",Lt=le({key:y.key,value:y.value,valueSpec:y.styleSpec.function,style:y.style,styleSpec:y.styleSpec,objectElementValidators:{stops:sr,default:Rr}});return I==="identity"&&De&&Lt.push(new _a(y.key,y.value,'missing required property "property"')),I!=="identity"&&!y.value.stops&&Lt.push(new _a(y.key,y.value,'missing required property "stops"')),I==="exponential"&&y.valueSpec.expression&&!va(y.valueSpec)&&Lt.push(new _a(y.key,y.value,"exponential functions not supported")),y.styleSpec.$version>=8&&(it&&!Ws(y.valueSpec)?Lt.push(new _a(y.key,y.value,"property functions not supported")):De&&!Ls(y.valueSpec)&&Lt.push(new _a(y.key,y.value,"zoom functions not supported"))),(I==="categorical"||yt)&&y.value.property===void 0&&Lt.push(new _a(y.key,y.value,'"property" property is required')),Lt;function sr(ni){if(I==="identity")return[new _a(ni.key,ni.value,'identity function may not have a "stops" property')];var Hi=[],wi=ni.value;return Hi=Hi.concat(Fe({key:ni.key,value:wi,valueSpec:ni.valueSpec,style:ni.style,styleSpec:ni.styleSpec,arrayElementValidator:gr})),no(wi)==="array"&&wi.length===0&&Hi.push(new _a(ni.key,wi,"array must have at least one stop")),Hi}function gr(ni){var Hi=[],wi=ni.value,bn=ni.key;if(no(wi)!=="array")return[new _a(bn,wi,"array expected, "+no(wi)+" found")];if(wi.length!==2)return[new _a(bn,wi,"array length 2 expected, length "+wi.length+" found")];if(yt){if(no(wi[0])!=="object")return[new _a(bn,wi,"object expected, "+no(wi[0])+" found")];if(wi[0].zoom===void 0)return[new _a(bn,wi,"object stop key must have zoom")];if(wi[0].value===void 0)return[new _a(bn,wi,"object stop key must have value")];if(he&&he>xo(wi[0].zoom))return[new _a(bn,wi[0].zoom,"stop zoom values must appear in ascending order")];xo(wi[0].zoom)!==he&&(he=xo(wi[0].zoom),oe=void 0,$={}),Hi=Hi.concat(le({key:bn+"[0]",value:wi[0],valueSpec:{zoom:{}},style:ni.style,styleSpec:ni.styleSpec,objectElementValidators:{zoom:Ze,value:hr}}))}else Hi=Hi.concat(hr({key:bn+"[0]",value:wi[0],valueSpec:{},style:ni.style,styleSpec:ni.styleSpec},wi));return Va(Kl(wi[1]))?Hi.concat([new _a(bn+"[1]",wi[1],"expressions are not allowed in function stops.")]):Hi.concat(Qa({key:bn+"[1]",value:wi[1],valueSpec:_,style:ni.style,styleSpec:ni.styleSpec}))}function hr(ni,Hi){var wi=no(ni.value),bn=xo(ni.value),rn=ni.value!==null?ni.value:Hi;if(!U)U=wi;else if(wi!==U)return[new _a(ni.key,rn,wi+" stop domain type must match previous stop domain type "+U)];if(wi!=="number"&&wi!=="string"&&wi!=="boolean")return[new _a(ni.key,rn,"stop domain value must be a number, string, or boolean")];if(wi!=="number"&&I!=="categorical"){var xn="number expected, "+wi+" found";return Ws(_)&&I===void 0&&(xn+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new _a(ni.key,rn,xn)]}return I==="categorical"&&wi==="number"&&(!isFinite(bn)||Math.floor(bn)!==bn)?[new _a(ni.key,rn,"integer expected, found "+bn)]:I!=="categorical"&&wi==="number"&&oe!==void 0&&bn=2&&y[1]!=="$id"&&y[1]!=="$type";case"in":return y.length>=3&&(typeof y[1]!="string"||Array.isArray(y[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return y.length!==3||Array.isArray(y[1])||Array.isArray(y[2]);case"any":case"all":for(var _=0,I=y.slice(1);__?1:0}function ze(y){if(!Array.isArray(y))return!1;if(y[0]==="within")return!0;for(var _=1;_"||_==="<="||_===">="?Xe(y[1],y[2],_):_==="any"?nt(y.slice(1)):_==="all"?["all"].concat(y.slice(1).map(Qe)):_==="none"?["all"].concat(y.slice(1).map(Qe).map(nr)):_==="in"?qt(y[1],y.slice(2)):_==="!in"?nr(qt(y[1],y.slice(2))):_==="has"?Wt(y[1]):_==="!has"?nr(Wt(y[1])):_==="within"?y:!0;return I}function Xe(y,_,I){switch(y){case"$type":return["filter-type-"+I,_];case"$id":return["filter-id-"+I,_];default:return["filter-"+I,y,_]}}function nt(y){return["any"].concat(y.map(Qe))}function qt(y,_){if(_.length===0)return!1;switch(y){case"$type":return["filter-type-in",["literal",_]];case"$id":return["filter-id-in",["literal",_]];default:return _.length>200&&!_.some(function(I){return typeof I!=typeof _[0]})?["filter-in-large",y,["literal",_.sort(Ie)]]:["filter-in-small",y,["literal",_]]}}function Wt(y){switch(y){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",y]}}function nr(y){return["!",y]}function fr(y){return Cr(Kl(y.value))?Mt(ql({},y,{expressionContext:"filter",valueSpec:{value:"boolean"}})):br(y)}function br(y){var _=y.value,I=y.key;if(no(_)!=="array")return[new _a(I,_,"array expected, "+no(_)+" found")];var U=y.styleSpec,$,oe=[];if(_.length<1)return[new _a(I,_,"filter array must have at least 1 element")];switch(oe=oe.concat(yr({key:I+"[0]",value:_[0],valueSpec:U.filter_operator,style:y.style,styleSpec:y.styleSpec})),xo(_[0])){case"<":case"<=":case">":case">=":_.length>=2&&xo(_[1])==="$type"&&oe.push(new _a(I,_,'"$type" cannot be use with operator "'+_[0]+'"'));case"==":case"!=":_.length!==3&&oe.push(new _a(I,_,'filter array for operator "'+_[0]+'" must have 3 elements'));case"in":case"!in":_.length>=2&&($=no(_[1]),$!=="string"&&oe.push(new _a(I+"[1]",_[1],"string expected, "+$+" found")));for(var he=2;he<_.length;he++)$=no(_[he]),xo(_[1])==="$type"?oe=oe.concat(yr({key:I+"["+he+"]",value:_[he],valueSpec:U.geometry_type,style:y.style,styleSpec:y.styleSpec})):$!=="string"&&$!=="number"&&$!=="boolean"&&oe.push(new _a(I+"["+he+"]",_[he],"string, number, or boolean expected, "+$+" found"));break;case"any":case"all":case"none":for(var De=1;De<_.length;De++)oe=oe.concat(br({key:I+"["+De+"]",value:_[De],style:y.style,styleSpec:y.styleSpec}));break;case"has":case"!has":$=no(_[1]),_.length!==2?oe.push(new _a(I,_,'filter array for "'+_[0]+'" operator must have 2 elements')):$!=="string"&&oe.push(new _a(I+"[1]",_[1],"string expected, "+$+" found"));break;case"within":$=no(_[1]),_.length!==2?oe.push(new _a(I,_,'filter array for "'+_[0]+'" operator must have 2 elements')):$!=="object"&&oe.push(new _a(I+"[1]",_[1],"object expected, "+$+" found"));break}return oe}function Fr(y,_){var I=y.key,U=y.style,$=y.styleSpec,oe=y.value,he=y.objectKey,De=$[_+"_"+y.layerType];if(!De)return[];var it=he.match(/^(.*)-transition$/);if(_==="paint"&&it&&De[it[1]]&&De[it[1]].transition)return Qa({key:I,value:oe,valueSpec:$.transition,style:U,styleSpec:$});var yt=y.valueSpec||De[he];if(!yt)return[new _a(I,oe,'unknown property "'+he+'"')];var Lt;if(no(oe)==="string"&&Ws(yt)&&!yt.tokens&&(Lt=/^{([^}]+)}$/.exec(oe)))return[new _a(I,oe,'"'+he+'" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": '+JSON.stringify(Lt[1])+" }`.")];var sr=[];return y.layerType==="symbol"&&(he==="text-field"&&U&&!U.glyphs&&sr.push(new _a(I,oe,'use of "text-field" requires a style "glyphs" property')),he==="text-font"&&ys(Kl(oe))&&xo(oe.type)==="identity"&&sr.push(new _a(I,oe,'"text-font" does not support identity functions'))),sr.concat(Qa({key:y.key,value:oe,valueSpec:yt,style:U,styleSpec:$,expressionContext:"property",propertyType:_,propertyKey:he}))}function Hr(y){return Fr(y,"paint")}function ri(y){return Fr(y,"layout")}function Ci(y){var _=[],I=y.value,U=y.key,$=y.style,oe=y.styleSpec;!I.type&&!I.ref&&_.push(new _a(U,I,'either "type" or "ref" is required'));var he=xo(I.type),De=xo(I.ref);if(I.id)for(var it=xo(I.id),yt=0;yt=Lt[hr+0]&&U>=Lt[hr+1])?(he[gr]=!0,oe.push(yt[gr])):he[gr]=!1}}},eu.prototype._forEachCell=function(y,_,I,U,$,oe,he,De){for(var it=this._convertToCellCoord(y),yt=this._convertToCellCoord(_),Lt=this._convertToCellCoord(I),sr=this._convertToCellCoord(U),gr=it;gr<=Lt;gr++)for(var hr=yt;hr<=sr;hr++){var Rr=this.d*hr+gr;if(!(De&&!De(this._convertFromCellCoord(gr),this._convertFromCellCoord(hr),this._convertFromCellCoord(gr+1),this._convertFromCellCoord(hr+1)))&&$.call(this,y,_,I,U,Rr,oe,he,De))return}},eu.prototype._convertFromCellCoord=function(y){return(y-this.padding)/this.scale},eu.prototype._convertToCellCoord=function(y){return Math.max(0,Math.min(this.d-1,Math.floor(y*this.scale)+this.padding))},eu.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var y=this.cells,_=Js+this.cells.length+1+1,I=0,U=0;U=0)){var sr=y[Lt];yt[Lt]=Al[it].shallow.indexOf(Lt)>=0?sr:Ve(sr,_)}y instanceof Error&&(yt.message=y.message)}if(yt.$name)throw new Error("$name property is reserved for worker serialization logic.");return it!=="Object"&&(yt.$name=it),yt}throw new Error("can't serialize object of type "+typeof y)}function Ye(y){if(y==null||typeof y=="boolean"||typeof y=="number"||typeof y=="string"||y instanceof Boolean||y instanceof Number||y instanceof String||y instanceof Date||y instanceof RegExp||Te(y)||qe(y)||ArrayBuffer.isView(y)||y instanceof dc)return y;if(Array.isArray(y))return y.map(Ye);if(typeof y=="object"){var _=y.$name||"Object",I=Al[_],U=I.klass;if(!U)throw new Error("can't deserialize unregistered class "+_);if(U.deserialize)return U.deserialize(y);for(var $=Object.create(U.prototype),oe=0,he=Object.keys(y);oe=0?it:Ye(it)}}return $}throw new Error("can't deserialize object of type "+typeof y)}var Pt=function(){this.first=!0};Pt.prototype.update=function(_,I){var U=Math.floor(_);return this.first?(this.first=!1,this.lastIntegerZoom=U,this.lastIntegerZoomTime=0,this.lastZoom=_,this.lastFloorZoom=U,!0):(this.lastFloorZoom>U?(this.lastIntegerZoom=U+1,this.lastIntegerZoomTime=I):this.lastFloorZoom=128&&y<=255},Arabic:function(y){return y>=1536&&y<=1791},"Arabic Supplement":function(y){return y>=1872&&y<=1919},"Arabic Extended-A":function(y){return y>=2208&&y<=2303},"Hangul Jamo":function(y){return y>=4352&&y<=4607},"Unified Canadian Aboriginal Syllabics":function(y){return y>=5120&&y<=5759},Khmer:function(y){return y>=6016&&y<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(y){return y>=6320&&y<=6399},"General Punctuation":function(y){return y>=8192&&y<=8303},"Letterlike Symbols":function(y){return y>=8448&&y<=8527},"Number Forms":function(y){return y>=8528&&y<=8591},"Miscellaneous Technical":function(y){return y>=8960&&y<=9215},"Control Pictures":function(y){return y>=9216&&y<=9279},"Optical Character Recognition":function(y){return y>=9280&&y<=9311},"Enclosed Alphanumerics":function(y){return y>=9312&&y<=9471},"Geometric Shapes":function(y){return y>=9632&&y<=9727},"Miscellaneous Symbols":function(y){return y>=9728&&y<=9983},"Miscellaneous Symbols and Arrows":function(y){return y>=11008&&y<=11263},"CJK Radicals Supplement":function(y){return y>=11904&&y<=12031},"Kangxi Radicals":function(y){return y>=12032&&y<=12255},"Ideographic Description Characters":function(y){return y>=12272&&y<=12287},"CJK Symbols and Punctuation":function(y){return y>=12288&&y<=12351},Hiragana:function(y){return y>=12352&&y<=12447},Katakana:function(y){return y>=12448&&y<=12543},Bopomofo:function(y){return y>=12544&&y<=12591},"Hangul Compatibility Jamo":function(y){return y>=12592&&y<=12687},Kanbun:function(y){return y>=12688&&y<=12703},"Bopomofo Extended":function(y){return y>=12704&&y<=12735},"CJK Strokes":function(y){return y>=12736&&y<=12783},"Katakana Phonetic Extensions":function(y){return y>=12784&&y<=12799},"Enclosed CJK Letters and Months":function(y){return y>=12800&&y<=13055},"CJK Compatibility":function(y){return y>=13056&&y<=13311},"CJK Unified Ideographs Extension A":function(y){return y>=13312&&y<=19903},"Yijing Hexagram Symbols":function(y){return y>=19904&&y<=19967},"CJK Unified Ideographs":function(y){return y>=19968&&y<=40959},"Yi Syllables":function(y){return y>=40960&&y<=42127},"Yi Radicals":function(y){return y>=42128&&y<=42191},"Hangul Jamo Extended-A":function(y){return y>=43360&&y<=43391},"Hangul Syllables":function(y){return y>=44032&&y<=55215},"Hangul Jamo Extended-B":function(y){return y>=55216&&y<=55295},"Private Use Area":function(y){return y>=57344&&y<=63743},"CJK Compatibility Ideographs":function(y){return y>=63744&&y<=64255},"Arabic Presentation Forms-A":function(y){return y>=64336&&y<=65023},"Vertical Forms":function(y){return y>=65040&&y<=65055},"CJK Compatibility Forms":function(y){return y>=65072&&y<=65103},"Small Form Variants":function(y){return y>=65104&&y<=65135},"Arabic Presentation Forms-B":function(y){return y>=65136&&y<=65279},"Halfwidth and Fullwidth Forms":function(y){return y>=65280&&y<=65519}};function Xt(y){for(var _=0,I=y;_=65097&&y<=65103)||ot["CJK Compatibility Ideographs"](y)||ot["CJK Compatibility"](y)||ot["CJK Radicals Supplement"](y)||ot["CJK Strokes"](y)||ot["CJK Symbols and Punctuation"](y)&&!(y>=12296&&y<=12305)&&!(y>=12308&&y<=12319)&&y!==12336||ot["CJK Unified Ideographs Extension A"](y)||ot["CJK Unified Ideographs"](y)||ot["Enclosed CJK Letters and Months"](y)||ot["Hangul Compatibility Jamo"](y)||ot["Hangul Jamo Extended-A"](y)||ot["Hangul Jamo Extended-B"](y)||ot["Hangul Jamo"](y)||ot["Hangul Syllables"](y)||ot.Hiragana(y)||ot["Ideographic Description Characters"](y)||ot.Kanbun(y)||ot["Kangxi Radicals"](y)||ot["Katakana Phonetic Extensions"](y)||ot.Katakana(y)&&y!==12540||ot["Halfwidth and Fullwidth Forms"](y)&&y!==65288&&y!==65289&&y!==65293&&!(y>=65306&&y<=65310)&&y!==65339&&y!==65341&&y!==65343&&!(y>=65371&&y<=65503)&&y!==65507&&!(y>=65512&&y<=65519)||ot["Small Form Variants"](y)&&!(y>=65112&&y<=65118)&&!(y>=65123&&y<=65126)||ot["Unified Canadian Aboriginal Syllabics"](y)||ot["Unified Canadian Aboriginal Syllabics Extended"](y)||ot["Vertical Forms"](y)||ot["Yijing Hexagram Symbols"](y)||ot["Yi Syllables"](y)||ot["Yi Radicals"](y))}function gi(y){return!!(ot["Latin-1 Supplement"](y)&&(y===167||y===169||y===174||y===177||y===188||y===189||y===190||y===215||y===247)||ot["General Punctuation"](y)&&(y===8214||y===8224||y===8225||y===8240||y===8241||y===8251||y===8252||y===8258||y===8263||y===8264||y===8265||y===8273)||ot["Letterlike Symbols"](y)||ot["Number Forms"](y)||ot["Miscellaneous Technical"](y)&&(y>=8960&&y<=8967||y>=8972&&y<=8991||y>=8996&&y<=9e3||y===9003||y>=9085&&y<=9114||y>=9150&&y<=9165||y===9167||y>=9169&&y<=9179||y>=9186&&y<=9215)||ot["Control Pictures"](y)&&y!==9251||ot["Optical Character Recognition"](y)||ot["Enclosed Alphanumerics"](y)||ot["Geometric Shapes"](y)||ot["Miscellaneous Symbols"](y)&&!(y>=9754&&y<=9759)||ot["Miscellaneous Symbols and Arrows"](y)&&(y>=11026&&y<=11055||y>=11088&&y<=11097||y>=11192&&y<=11243)||ot["CJK Symbols and Punctuation"](y)||ot.Katakana(y)||ot["Private Use Area"](y)||ot["CJK Compatibility Forms"](y)||ot["Small Form Variants"](y)||ot["Halfwidth and Fullwidth Forms"](y)||y===8734||y===8756||y===8757||y>=9984&&y<=10087||y>=10102&&y<=10131||y===65532||y===65533)}function xi(y){return!(zr(y)||gi(y))}function Wr(y){return ot.Arabic(y)||ot["Arabic Supplement"](y)||ot["Arabic Extended-A"](y)||ot["Arabic Presentation Forms-A"](y)||ot["Arabic Presentation Forms-B"](y)}function ii(y){return y>=1424&&y<=2303||ot["Arabic Presentation Forms-A"](y)||ot["Arabic Presentation Forms-B"](y)}function di(y,_){return!(!_&&ii(y)||y>=2304&&y<=3583||y>=3840&&y<=4255||ot.Khmer(y))}function Li(y){for(var _=0,I=y;_-1&&(kn=Qr.error),Pn&&Pn(y)};function Ea(){Ia.fire(new Xo("pluginStateChange",{pluginStatus:kn,pluginURL:Bn}))}var Ia=new jn,yo=function(){return kn},Da=function(y){return y({pluginStatus:kn,pluginURL:Bn}),Ia.on("pluginStateChange",y),y},go=function(y,_,I){if(I===void 0&&(I=!1),kn===Qr.deferred||kn===Qr.loading||kn===Qr.loaded)throw new Error("setRTLTextPlugin cannot be called multiple times.");Bn=lt.resolveURL(y),kn=Qr.deferred,Pn=_,Ea(),I||Is()},Is=function(){if(kn!==Qr.deferred||!Bn)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");kn=Qr.loading,Ea(),Bn&&ti({url:Bn},function(y){y?na(y):(kn=Qr.loaded,Ea())})},Ms={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return kn===Qr.loaded||Ms.applyArabicShaping!=null},isLoading:function(){return kn===Qr.loading},setState:function(_){kn=_.pluginStatus,Bn=_.pluginURL},isParsed:function(){return Ms.applyArabicShaping!=null&&Ms.processBidirectionalText!=null&&Ms.processStyledBidirectionalText!=null},getPluginURL:function(){return Bn}},Xs=function(){!Ms.isLoading()&&!Ms.isLoaded()&&yo()==="deferred"&&Is()},Un=function(_,I){this.zoom=_,I?(this.now=I.now,this.fadeDuration=I.fadeDuration,this.zoomHistory=I.zoomHistory,this.transition=I.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Pt,this.transition={})};Un.prototype.isSupportedScript=function(_){return Ti(_,Ms.isLoaded())},Un.prototype.crossFadingFactor=function(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},Un.prototype.getCrossfadeParameters=function(){var _=this.zoom,I=_-Math.floor(_),U=this.crossFadingFactor();return _>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:I+(1-I)*U}:{fromScale:.5,toScale:1,t:1-(1-U)*I}};var ja=function(_,I){this.property=_,this.value=I,this.expression=w(I===void 0?_.specification.default:I,_.specification)};ja.prototype.isDataDriven=function(){return this.expression.kind==="source"||this.expression.kind==="composite"},ja.prototype.possiblyEvaluate=function(_,I,U){return this.property.possiblyEvaluate(this,_,I,U)};var Fo=function(_){this.property=_,this.value=new ja(_,void 0)};Fo.prototype.transitioned=function(_,I){return new $s(this.property,this.value,I,x({},_.transition,this.transition),_.now)},Fo.prototype.untransitioned=function(){return new $s(this.property,this.value,null,{},0)};var Uo=function(_){this._properties=_,this._values=Object.create(_.defaultTransitionablePropertyValues)};Uo.prototype.getValue=function(_){return j(this._values[_].value.value)},Uo.prototype.setValue=function(_,I){this._values.hasOwnProperty(_)||(this._values[_]=new Fo(this._values[_].property)),this._values[_].value=new ja(this._values[_].property,I===null?void 0:j(I))},Uo.prototype.getTransition=function(_){return j(this._values[_].transition)},Uo.prototype.setTransition=function(_,I){this._values.hasOwnProperty(_)||(this._values[_]=new Fo(this._values[_].property)),this._values[_].transition=j(I)||void 0},Uo.prototype.serialize=function(){for(var _={},I=0,U=Object.keys(this._values);Ithis.end)return this.prior=null,oe;if(this.value.isDataDriven())return this.prior=null,oe;if($he.zoomHistory.lastIntegerZoom?{from:U,to:$}:{from:oe,to:$}},_.prototype.interpolate=function(U){return U},_}(bt),Lr=function(_){this.specification=_};Lr.prototype.possiblyEvaluate=function(_,I,U,$){if(_.value!==void 0)if(_.expression.kind==="constant"){var oe=_.expression.evaluate(I,null,{},U,$);return this._calculate(oe,oe,oe,I)}else return this._calculate(_.expression.evaluate(new Un(Math.floor(I.zoom-1),I)),_.expression.evaluate(new Un(Math.floor(I.zoom),I)),_.expression.evaluate(new Un(Math.floor(I.zoom+1),I)),I)},Lr.prototype._calculate=function(_,I,U,$){var oe=$.zoom;return oe>$.zoomHistory.lastIntegerZoom?{from:_,to:I}:{from:U,to:I}},Lr.prototype.interpolate=function(_){return _};var Vr=function(_){this.specification=_};Vr.prototype.possiblyEvaluate=function(_,I,U,$){return!!_.expression.evaluate(I,null,{},U,$)},Vr.prototype.interpolate=function(){return!1};var Or=function(_){this.properties=_,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(var I in _){var U=_[I];U.specification.overridable&&this.overridableProperties.push(I);var $=this.defaultPropertyValues[I]=new ja(U,void 0),oe=this.defaultTransitionablePropertyValues[I]=new Fo(U);this.defaultTransitioningPropertyValues[I]=oe.untransitioned(),this.defaultPossiblyEvaluatedValues[I]=$.possiblyEvaluate({})}};X("DataDrivenProperty",bt),X("DataConstantProperty",Me),X("CrossFadedDataDrivenProperty",Ot),X("CrossFadedProperty",Lr),X("ColorRampProperty",Vr);var Nr="-transition",vi=function(y){function _(I,U){if(y.call(this),this.id=I.id,this.type=I.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},I.type!=="custom"&&(I=I,this.metadata=I.metadata,this.minzoom=I.minzoom,this.maxzoom=I.maxzoom,I.type!=="background"&&(this.source=I.source,this.sourceLayer=I["source-layer"],this.filter=I.filter),U.layout&&(this._unevaluatedLayout=new bu(U.layout)),U.paint)){this._transitionablePaint=new Uo(U.paint);for(var $ in I.paint)this.setPaintProperty($,I.paint[$],{validate:!1});for(var oe in I.layout)this.setLayoutProperty(oe,I.layout[oe],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Sc(U.paint)}}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},_.prototype.getLayoutProperty=function(U){return U==="visibility"?this.visibility:this._unevaluatedLayout.getValue(U)},_.prototype.setLayoutProperty=function(U,$,oe){if(oe===void 0&&(oe={}),$!=null){var he="layers."+this.id+".layout."+U;if(this._validate(Ul,he,U,$,oe))return}if(U==="visibility"){this.visibility=$;return}this._unevaluatedLayout.setValue(U,$)},_.prototype.getPaintProperty=function(U){return V(U,Nr)?this._transitionablePaint.getTransition(U.slice(0,-Nr.length)):this._transitionablePaint.getValue(U)},_.prototype.setPaintProperty=function(U,$,oe){if(oe===void 0&&(oe={}),$!=null){var he="layers."+this.id+".paint."+U;if(this._validate(hl,he,U,$,oe))return!1}if(V(U,Nr))return this._transitionablePaint.setTransition(U.slice(0,-Nr.length),$||void 0),!1;var De=this._transitionablePaint._values[U],it=De.property.specification["property-type"]==="cross-faded-data-driven",yt=De.value.isDataDriven(),Lt=De.value;this._transitionablePaint.setValue(U,$),this._handleSpecialPaintPropertyUpdate(U);var sr=this._transitionablePaint._values[U].value,gr=sr.isDataDriven();return gr||yt||it||this._handleOverridablePaintPropertyUpdate(U,Lt,sr)},_.prototype._handleSpecialPaintPropertyUpdate=function(U){},_.prototype._handleOverridablePaintPropertyUpdate=function(U,$,oe){return!1},_.prototype.isHidden=function(U){return this.minzoom&&U=this.maxzoom?!0:this.visibility==="none"},_.prototype.updateTransitions=function(U){this._transitioningPaint=this._transitionablePaint.transitioned(U,this._transitioningPaint)},_.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},_.prototype.recalculate=function(U,$){U.getCrossfadeParameters&&(this._crossfadeParameters=U.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(U,void 0,$)),this.paint=this._transitioningPaint.possiblyEvaluate(U,void 0,$)},_.prototype.serialize=function(){var U={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&&(U.layout=U.layout||{},U.layout.visibility=this.visibility),Z(U,function($,oe){return $!==void 0&&!(oe==="layout"&&!Object.keys($).length)&&!(oe==="paint"&&!Object.keys($).length)})},_.prototype._validate=function(U,$,oe,he,De){return De===void 0&&(De={}),De&&De.validate===!1?!1:Lu(this,U.call(wo,{key:$,layerType:this.type,objectKey:oe,value:he,styleSpec:Rn,style:{glyphs:!0,sprite:!0}}))},_.prototype.is3D=function(){return!1},_.prototype.isTileClipped=function(){return!1},_.prototype.hasOffscreenPass=function(){return!1},_.prototype.resize=function(){},_.prototype.isStateDependent=function(){for(var U in this.paint._values){var $=this.paint.get(U);if(!(!($ instanceof dl)||!Ws($.property.specification))&&($.value.kind==="source"||$.value.kind==="composite")&&$.value.isStateDependent)return!0}return!1},_}(jn),Ni={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},qi=function(_,I){this._structArray=_,this._pos1=I*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},Si=128,Vn=5,Qi=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};Qi.serialize=function(_,I){return _._trim(),I&&(_.isTransferred=!0,I.push(_.arrayBuffer)),{length:_.length,arrayBuffer:_.arrayBuffer}},Qi.deserialize=function(_){var I=Object.create(this.prototype);return I.arrayBuffer=_.arrayBuffer,I.length=_.length,I.capacity=_.arrayBuffer.byteLength/I.bytesPerElement,I._refreshViews(),I},Qi.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Qi.prototype.clear=function(){this.length=0},Qi.prototype.resize=function(_){this.reserve(_),this.length=_},Qi.prototype.reserve=function(_){if(_>this.capacity){this.capacity=Math.max(_,Math.floor(this.capacity*Vn),Si),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var I=this.uint8;this._refreshViews(),I&&this.uint8.set(I)}},Qi.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};function ji(y,_){_===void 0&&(_=1);var I=0,U=0,$=y.map(function(he){var De=oi(he.type),it=I=Tr(I,Math.max(_,De)),yt=he.components||1;return U=Math.max(U,De),I+=De*yt,{name:he.name,type:he.type,components:yt,offset:it}}),oe=Tr(I,Math.max(U,_));return{members:$,size:oe,alignment:_}}function oi(y){return Ni[y].BYTES_PER_ELEMENT}function Tr(y,_){return Math.ceil(y/_)*_}var Zr=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},_.prototype.emplaceBack=function(U,$){var oe=this.length;return this.resize(oe+1),this.emplace(oe,U,$)},_.prototype.emplace=function(U,$,oe){var he=U*2;return this.int16[he+0]=$,this.int16[he+1]=oe,U},_}(Qi);Zr.prototype.bytesPerElement=4,X("StructArrayLayout2i4",Zr);var yi=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},_.prototype.emplaceBack=function(U,$,oe,he){var De=this.length;return this.resize(De+1),this.emplace(De,U,$,oe,he)},_.prototype.emplace=function(U,$,oe,he,De){var it=U*4;return this.int16[it+0]=$,this.int16[it+1]=oe,this.int16[it+2]=he,this.int16[it+3]=De,U},_}(Qi);yi.prototype.bytesPerElement=8,X("StructArrayLayout4i8",yi);var Ii=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},_.prototype.emplaceBack=function(U,$,oe,he,De,it){var yt=this.length;return this.resize(yt+1),this.emplace(yt,U,$,oe,he,De,it)},_.prototype.emplace=function(U,$,oe,he,De,it,yt){var Lt=U*6;return this.int16[Lt+0]=$,this.int16[Lt+1]=oe,this.int16[Lt+2]=he,this.int16[Lt+3]=De,this.int16[Lt+4]=it,this.int16[Lt+5]=yt,U},_}(Qi);Ii.prototype.bytesPerElement=12,X("StructArrayLayout2i4i12",Ii);var ui=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},_.prototype.emplaceBack=function(U,$,oe,he,De,it){var yt=this.length;return this.resize(yt+1),this.emplace(yt,U,$,oe,he,De,it)},_.prototype.emplace=function(U,$,oe,he,De,it,yt){var Lt=U*4,sr=U*8;return this.int16[Lt+0]=$,this.int16[Lt+1]=oe,this.uint8[sr+4]=he,this.uint8[sr+5]=De,this.uint8[sr+6]=it,this.uint8[sr+7]=yt,U},_}(Qi);ui.prototype.bytesPerElement=8,X("StructArrayLayout2i4ub8",ui);var nn=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},_.prototype.emplaceBack=function(U,$){var oe=this.length;return this.resize(oe+1),this.emplace(oe,U,$)},_.prototype.emplace=function(U,$,oe){var he=U*2;return this.float32[he+0]=$,this.float32[he+1]=oe,U},_}(Qi);nn.prototype.bytesPerElement=8,X("StructArrayLayout2f8",nn);var Xi=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},_.prototype.emplaceBack=function(U,$,oe,he,De,it,yt,Lt,sr,gr){var hr=this.length;return this.resize(hr+1),this.emplace(hr,U,$,oe,he,De,it,yt,Lt,sr,gr)},_.prototype.emplace=function(U,$,oe,he,De,it,yt,Lt,sr,gr,hr){var Rr=U*10;return this.uint16[Rr+0]=$,this.uint16[Rr+1]=oe,this.uint16[Rr+2]=he,this.uint16[Rr+3]=De,this.uint16[Rr+4]=it,this.uint16[Rr+5]=yt,this.uint16[Rr+6]=Lt,this.uint16[Rr+7]=sr,this.uint16[Rr+8]=gr,this.uint16[Rr+9]=hr,U},_}(Qi);Xi.prototype.bytesPerElement=20,X("StructArrayLayout10ui20",Xi);var qn=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},_.prototype.emplaceBack=function(U,$,oe,he,De,it,yt,Lt,sr,gr,hr,Rr){var ni=this.length;return this.resize(ni+1),this.emplace(ni,U,$,oe,he,De,it,yt,Lt,sr,gr,hr,Rr)},_.prototype.emplace=function(U,$,oe,he,De,it,yt,Lt,sr,gr,hr,Rr,ni){var Hi=U*12;return this.int16[Hi+0]=$,this.int16[Hi+1]=oe,this.int16[Hi+2]=he,this.int16[Hi+3]=De,this.uint16[Hi+4]=it,this.uint16[Hi+5]=yt,this.uint16[Hi+6]=Lt,this.uint16[Hi+7]=sr,this.int16[Hi+8]=gr,this.int16[Hi+9]=hr,this.int16[Hi+10]=Rr,this.int16[Hi+11]=ni,U},_}(Qi);qn.prototype.bytesPerElement=24,X("StructArrayLayout4i4ui4i24",qn);var fi=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},_.prototype.emplaceBack=function(U,$,oe){var he=this.length;return this.resize(he+1),this.emplace(he,U,$,oe)},_.prototype.emplace=function(U,$,oe,he){var De=U*3;return this.float32[De+0]=$,this.float32[De+1]=oe,this.float32[De+2]=he,U},_}(Qi);fi.prototype.bytesPerElement=12,X("StructArrayLayout3f12",fi);var si=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},_.prototype.emplaceBack=function(U){var $=this.length;return this.resize($+1),this.emplace($,U)},_.prototype.emplace=function(U,$){var oe=U*1;return this.uint32[oe+0]=$,U},_}(Qi);si.prototype.bytesPerElement=4,X("StructArrayLayout1ul4",si);var mn=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.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)},_.prototype.emplaceBack=function(U,$,oe,he,De,it,yt,Lt,sr){var gr=this.length;return this.resize(gr+1),this.emplace(gr,U,$,oe,he,De,it,yt,Lt,sr)},_.prototype.emplace=function(U,$,oe,he,De,it,yt,Lt,sr,gr){var hr=U*10,Rr=U*5;return this.int16[hr+0]=$,this.int16[hr+1]=oe,this.int16[hr+2]=he,this.int16[hr+3]=De,this.int16[hr+4]=it,this.int16[hr+5]=yt,this.uint32[Rr+3]=Lt,this.uint16[hr+8]=sr,this.uint16[hr+9]=gr,U},_}(Qi);mn.prototype.bytesPerElement=20,X("StructArrayLayout6i1ul2ui20",mn);var Ji=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},_.prototype.emplaceBack=function(U,$,oe,he,De,it){var yt=this.length;return this.resize(yt+1),this.emplace(yt,U,$,oe,he,De,it)},_.prototype.emplace=function(U,$,oe,he,De,it,yt){var Lt=U*6;return this.int16[Lt+0]=$,this.int16[Lt+1]=oe,this.int16[Lt+2]=he,this.int16[Lt+3]=De,this.int16[Lt+4]=it,this.int16[Lt+5]=yt,U},_}(Qi);Ji.prototype.bytesPerElement=12,X("StructArrayLayout2i2i2i12",Ji);var Ui=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},_.prototype.emplaceBack=function(U,$,oe,he,De){var it=this.length;return this.resize(it+1),this.emplace(it,U,$,oe,he,De)},_.prototype.emplace=function(U,$,oe,he,De,it){var yt=U*4,Lt=U*8;return this.float32[yt+0]=$,this.float32[yt+1]=oe,this.float32[yt+2]=he,this.int16[Lt+6]=De,this.int16[Lt+7]=it,U},_}(Qi);Ui.prototype.bytesPerElement=16,X("StructArrayLayout2f1f2i16",Ui);var Bi=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},_.prototype.emplaceBack=function(U,$,oe,he){var De=this.length;return this.resize(De+1),this.emplace(De,U,$,oe,he)},_.prototype.emplace=function(U,$,oe,he,De){var it=U*12,yt=U*3;return this.uint8[it+0]=$,this.uint8[it+1]=oe,this.float32[yt+1]=he,this.float32[yt+2]=De,U},_}(Qi);Bi.prototype.bytesPerElement=12,X("StructArrayLayout2ub2f12",Bi);var pn=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},_.prototype.emplaceBack=function(U,$,oe){var he=this.length;return this.resize(he+1),this.emplace(he,U,$,oe)},_.prototype.emplace=function(U,$,oe,he){var De=U*3;return this.uint16[De+0]=$,this.uint16[De+1]=oe,this.uint16[De+2]=he,U},_}(Qi);pn.prototype.bytesPerElement=6,X("StructArrayLayout3ui6",pn);var Nn=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.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)},_.prototype.emplaceBack=function(U,$,oe,he,De,it,yt,Lt,sr,gr,hr,Rr,ni,Hi,wi,bn,rn){var xn=this.length;return this.resize(xn+1),this.emplace(xn,U,$,oe,he,De,it,yt,Lt,sr,gr,hr,Rr,ni,Hi,wi,bn,rn)},_.prototype.emplace=function(U,$,oe,he,De,it,yt,Lt,sr,gr,hr,Rr,ni,Hi,wi,bn,rn,xn){var In=U*24,Xn=U*12,ga=U*48;return this.int16[In+0]=$,this.int16[In+1]=oe,this.uint16[In+2]=he,this.uint16[In+3]=De,this.uint32[Xn+2]=it,this.uint32[Xn+3]=yt,this.uint32[Xn+4]=Lt,this.uint16[In+10]=sr,this.uint16[In+11]=gr,this.uint16[In+12]=hr,this.float32[Xn+7]=Rr,this.float32[Xn+8]=ni,this.uint8[ga+36]=Hi,this.uint8[ga+37]=wi,this.uint8[ga+38]=bn,this.uint32[Xn+10]=rn,this.int16[In+22]=xn,U},_}(Qi);Nn.prototype.bytesPerElement=48,X("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",Nn);var aa=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.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)},_.prototype.emplaceBack=function(U,$,oe,he,De,it,yt,Lt,sr,gr,hr,Rr,ni,Hi,wi,bn,rn,xn,In,Xn,ga,ha,eo,za,Za,Jo,to,ao){var _s=this.length;return this.resize(_s+1),this.emplace(_s,U,$,oe,he,De,it,yt,Lt,sr,gr,hr,Rr,ni,Hi,wi,bn,rn,xn,In,Xn,ga,ha,eo,za,Za,Jo,to,ao)},_.prototype.emplace=function(U,$,oe,he,De,it,yt,Lt,sr,gr,hr,Rr,ni,Hi,wi,bn,rn,xn,In,Xn,ga,ha,eo,za,Za,Jo,to,ao,_s){var jo=U*34,El=U*17;return this.int16[jo+0]=$,this.int16[jo+1]=oe,this.int16[jo+2]=he,this.int16[jo+3]=De,this.int16[jo+4]=it,this.int16[jo+5]=yt,this.int16[jo+6]=Lt,this.int16[jo+7]=sr,this.uint16[jo+8]=gr,this.uint16[jo+9]=hr,this.uint16[jo+10]=Rr,this.uint16[jo+11]=ni,this.uint16[jo+12]=Hi,this.uint16[jo+13]=wi,this.uint16[jo+14]=bn,this.uint16[jo+15]=rn,this.uint16[jo+16]=xn,this.uint16[jo+17]=In,this.uint16[jo+18]=Xn,this.uint16[jo+19]=ga,this.uint16[jo+20]=ha,this.uint16[jo+21]=eo,this.uint16[jo+22]=za,this.uint32[El+12]=Za,this.float32[El+13]=Jo,this.float32[El+14]=to,this.float32[El+15]=ao,this.float32[El+16]=_s,U},_}(Qi);aa.prototype.bytesPerElement=68,X("StructArrayLayout8i15ui1ul4f68",aa);var Ki=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},_.prototype.emplaceBack=function(U){var $=this.length;return this.resize($+1),this.emplace($,U)},_.prototype.emplace=function(U,$){var oe=U*1;return this.float32[oe+0]=$,U},_}(Qi);Ki.prototype.bytesPerElement=4,X("StructArrayLayout1f4",Ki);var Cn=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},_.prototype.emplaceBack=function(U,$,oe){var he=this.length;return this.resize(he+1),this.emplace(he,U,$,oe)},_.prototype.emplace=function(U,$,oe,he){var De=U*3;return this.int16[De+0]=$,this.int16[De+1]=oe,this.int16[De+2]=he,U},_}(Qi);Cn.prototype.bytesPerElement=6,X("StructArrayLayout3i6",Cn);var ia=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},_.prototype.emplaceBack=function(U,$,oe){var he=this.length;return this.resize(he+1),this.emplace(he,U,$,oe)},_.prototype.emplace=function(U,$,oe,he){var De=U*2,it=U*4;return this.uint32[De+0]=$,this.uint16[it+2]=oe,this.uint16[it+3]=he,U},_}(Qi);ia.prototype.bytesPerElement=8,X("StructArrayLayout1ul2ui8",ia);var sa=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},_.prototype.emplaceBack=function(U,$){var oe=this.length;return this.resize(oe+1),this.emplace(oe,U,$)},_.prototype.emplace=function(U,$,oe){var he=U*2;return this.uint16[he+0]=$,this.uint16[he+1]=oe,U},_}(Qi);sa.prototype.bytesPerElement=4,X("StructArrayLayout2ui4",sa);var ba=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},_.prototype.emplaceBack=function(U){var $=this.length;return this.resize($+1),this.emplace($,U)},_.prototype.emplace=function(U,$){var oe=U*1;return this.uint16[oe+0]=$,U},_}(Qi);ba.prototype.bytesPerElement=2,X("StructArrayLayout1ui2",ba);var is=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},_.prototype.emplaceBack=function(U,$,oe,he){var De=this.length;return this.resize(De+1),this.emplace(De,U,$,oe,he)},_.prototype.emplace=function(U,$,oe,he,De){var it=U*4;return this.float32[it+0]=$,this.float32[it+1]=oe,this.float32[it+2]=he,this.float32[it+3]=De,U},_}(Qi);is.prototype.bytesPerElement=16,X("StructArrayLayout4f16",is);var Zs=function(y){function _(){y.apply(this,arguments)}y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_;var I={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 I.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},I.x1.get=function(){return this._structArray.int16[this._pos2+2]},I.y1.get=function(){return this._structArray.int16[this._pos2+3]},I.x2.get=function(){return this._structArray.int16[this._pos2+4]},I.y2.get=function(){return this._structArray.int16[this._pos2+5]},I.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},I.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},I.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},I.anchorPoint.get=function(){return new u(this.anchorPointX,this.anchorPointY)},Object.defineProperties(_.prototype,I),_}(qi);Zs.prototype.size=20;var Ga=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype.get=function(U){return new Zs(this,U)},_}(mn);X("CollisionBoxArray",Ga);var Ml=function(y){function _(){y.apply(this,arguments)}y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_;var I={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 I.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},I.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},I.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},I.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},I.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},I.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},I.segment.get=function(){return this._structArray.uint16[this._pos2+10]},I.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},I.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},I.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},I.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},I.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},I.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},I.placedOrientation.set=function(U){this._structArray.uint8[this._pos1+37]=U},I.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},I.hidden.set=function(U){this._structArray.uint8[this._pos1+38]=U},I.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},I.crossTileID.set=function(U){this._structArray.uint32[this._pos4+10]=U},I.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(_.prototype,I),_}(qi);Ml.prototype.size=48;var zo=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype.get=function(U){return new Ml(this,U)},_}(Nn);X("PlacedSymbolArray",zo);var Qs=function(y){function _(){y.apply(this,arguments)}y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_;var I={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 I.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},I.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},I.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},I.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},I.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},I.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},I.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},I.key.get=function(){return this._structArray.uint16[this._pos2+8]},I.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},I.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},I.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},I.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},I.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},I.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},I.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},I.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},I.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},I.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},I.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},I.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},I.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},I.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},I.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},I.crossTileID.set=function(U){this._structArray.uint32[this._pos4+12]=U},I.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},I.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},I.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},I.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(_.prototype,I),_}(qi);Qs.prototype.size=68;var al=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype.get=function(U){return new Qs(this,U)},_}(aa);X("SymbolInstanceArray",al);var Vl=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype.getoffsetX=function(U){return this.float32[U*1+0]},_}(Ki);X("GlyphOffsetArray",Vl);var ss=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype.getx=function(U){return this.int16[U*3+0]},_.prototype.gety=function(U){return this.int16[U*3+1]},_.prototype.gettileUnitDistanceFromAnchor=function(U){return this.int16[U*3+2]},_}(Cn);X("SymbolLineVertexArray",ss);var Vs=function(y){function _(){y.apply(this,arguments)}y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_;var I={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return I.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},I.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},I.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(_.prototype,I),_}(qi);Vs.prototype.size=8;var Ys=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype.get=function(U){return new Vs(this,U)},_}(ia);X("FeatureIndexArray",Ys);var wa=ji([{name:"a_pos",components:2,type:"Int16"}],4),ol=wa.members,io=function(_){_===void 0&&(_=[]),this.segments=_};io.prototype.prepareSegment=function(_,I,U,$){var oe=this.segments[this.segments.length-1];return _>io.MAX_VERTEX_ARRAY_LENGTH&&ie("Max vertices per segment is "+io.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+_),(!oe||oe.vertexLength+_>io.MAX_VERTEX_ARRAY_LENGTH||oe.sortKey!==$)&&(oe={vertexOffset:I.length,primitiveOffset:U.length,vertexLength:0,primitiveLength:0},$!==void 0&&(oe.sortKey=$),this.segments.push(oe)),oe},io.prototype.get=function(){return this.segments},io.prototype.destroy=function(){for(var _=0,I=this.segments;_>>16)*it&65535)<<16)&4294967295,Lt=Lt<<15|Lt>>>17,Lt=(Lt&65535)*yt+(((Lt>>>16)*yt&65535)<<16)&4294967295,he^=Lt,he=he<<13|he>>>19,De=(he&65535)*5+(((he>>>16)*5&65535)<<16)&4294967295,he=(De&65535)+27492+(((De>>>16)+58964&65535)<<16);switch(Lt=0,$){case 3:Lt^=(I.charCodeAt(sr+2)&255)<<16;case 2:Lt^=(I.charCodeAt(sr+1)&255)<<8;case 1:Lt^=I.charCodeAt(sr)&255,Lt=(Lt&65535)*it+(((Lt>>>16)*it&65535)<<16)&4294967295,Lt=Lt<<15|Lt>>>17,Lt=(Lt&65535)*yt+(((Lt>>>16)*yt&65535)<<16)&4294967295,he^=Lt}return he^=I.length,he^=he>>>16,he=(he&65535)*2246822507+(((he>>>16)*2246822507&65535)<<16)&4294967295,he^=he>>>13,he=(he&65535)*3266489909+(((he>>>16)*3266489909&65535)<<16)&4294967295,he^=he>>>16,he>>>0}y.exports=_}),O=a(function(y){function _(I,U){for(var $=I.length,oe=U^$,he=0,De;$>=4;)De=I.charCodeAt(he)&255|(I.charCodeAt(++he)&255)<<8|(I.charCodeAt(++he)&255)<<16|(I.charCodeAt(++he)&255)<<24,De=(De&65535)*1540483477+(((De>>>16)*1540483477&65535)<<16),De^=De>>>24,De=(De&65535)*1540483477+(((De>>>16)*1540483477&65535)<<16),oe=(oe&65535)*1540483477+(((oe>>>16)*1540483477&65535)<<16)^De,$-=4,++he;switch($){case 3:oe^=(I.charCodeAt(he+2)&255)<<16;case 2:oe^=(I.charCodeAt(he+1)&255)<<8;case 1:oe^=I.charCodeAt(he)&255,oe=(oe&65535)*1540483477+(((oe>>>16)*1540483477&65535)<<16)}return oe^=oe>>>13,oe=(oe&65535)*1540483477+(((oe>>>16)*1540483477&65535)<<16),oe^=oe>>>15,oe>>>0}y.exports=_}),K=J,de=J,ne=O;K.murmur3=de,K.murmur2=ne;var we=function(){this.ids=[],this.positions=[],this.indexed=!1};we.prototype.add=function(_,I,U,$){this.ids.push(ht(_)),this.positions.push(I,U,$)},we.prototype.getPositions=function(_){for(var I=ht(_),U=0,$=this.ids.length-1;U<$;){var oe=U+$>>1;this.ids[oe]>=I?$=oe:U=oe+1}for(var he=[];this.ids[U]===I;){var De=this.positions[3*U],it=this.positions[3*U+1],yt=this.positions[3*U+2];he.push({index:De,start:it,end:yt}),U++}return he},we.serialize=function(_,I){var U=new Float64Array(_.ids),$=new Uint32Array(_.positions);return Yt(U,$,0,U.length-1),I&&I.push(U.buffer,$.buffer),{ids:U,positions:$}},we.deserialize=function(_){var I=new we;return I.ids=_.ids,I.positions=_.positions,I.indexed=!0,I};var Oe=Math.pow(2,53)-1;function ht(y){var _=+y;return!isNaN(_)&&_<=Oe?_:K(String(y))}function Yt(y,_,I,U){for(;I>1],oe=I-1,he=U+1;;){do oe++;while(y[oe]<$);do he--;while(y[he]>$);if(oe>=he)break;cr(y,oe,he),cr(_,3*oe,3*he),cr(_,3*oe+1,3*he+1),cr(_,3*oe+2,3*he+2)}he-Ihe.x+1||ithe.y+1)&&ie("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return I}function Ja(y,_){return{type:y.type,id:y.id,properties:y.properties,geometry:_?zn(y):[]}}function co(y,_,I,U,$){y.emplaceBack(_*2+(U+1)/2,I*2+($+1)/2)}var ts=function(_){this.zoom=_.zoom,this.overscaling=_.overscaling,this.layers=_.layers,this.layerIds=this.layers.map(function(I){return I.id}),this.index=_.index,this.hasPattern=!1,this.layoutVertexArray=new Zr,this.indexArray=new pn,this.segments=new io,this.programConfigurations=new ci(_.layers,_.zoom),this.stateDependentLayerIds=this.layers.filter(function(I){return I.isStateDependent()}).map(function(I){return I.id})};ts.prototype.populate=function(_,I,U){var $=this.layers[0],oe=[],he=null;$.type==="circle"&&(he=$.layout.get("circle-sort-key"));for(var De=0,it=_;De=Ei||gr<0||gr>=Ei)){var hr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,_.sortKey),Rr=hr.vertexLength;co(this.layoutVertexArray,sr,gr,-1,-1),co(this.layoutVertexArray,sr,gr,1,-1),co(this.layoutVertexArray,sr,gr,1,1),co(this.layoutVertexArray,sr,gr,-1,1),this.indexArray.emplaceBack(Rr,Rr+1,Rr+2),this.indexArray.emplaceBack(Rr,Rr+3,Rr+2),hr.vertexLength+=4,hr.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,_,U,{},$)},X("CircleBucket",ts,{omit:["layers"]});function so(y,_){for(var I=0;I=3){for(var oe=0;oe<$.length;oe++)if(Td(y,$[oe]))return!0}if(Cv(y,$,I))return!0}return!1}function Cv(y,_,I){if(y.length>1){if(Lv(y,_))return!0;for(var U=0;U<_.length;U++)if(Kv(_[U],y,I))return!0}for(var $=0;$1?y.distSqr(I):y.distSqr(I.sub(_)._mult($)._add(_))}function gp(y,_){for(var I=!1,U,$,oe,he=0;he_.y!=oe.y>_.y&&_.x<(oe.x-$.x)*(_.y-$.y)/(oe.y-$.y)+$.x&&(I=!I)}return I}function Td(y,_){for(var I=!1,U=0,$=y.length-1;U_.y!=he.y>_.y&&_.x<(he.x-oe.x)*(_.y-oe.y)/(he.y-oe.y)+oe.x&&(I=!I)}return I}function mp(y,_,I,U,$){for(var oe=0,he=y;oe=De.x&&$>=De.y)return!0}var it=[new u(_,I),new u(_,$),new u(U,$),new u(U,I)];if(y.length>2)for(var yt=0,Lt=it;yt$.x&&_.x>$.x||y.y$.y&&_.y>$.y)return!1;var oe=ae(y,_,I[0]);return oe!==ae(y,_,I[1])||oe!==ae(y,_,I[2])||oe!==ae(y,_,I[3])}function Ad(y,_,I){var U=_.paint.get(y).value;return U.kind==="constant"?U.value:I.programConfigurations.get(_.id).getMaxValue(y)}function Pv(y){return Math.sqrt(y[0]*y[0]+y[1]*y[1])}function Jv(y,_,I,U,$){if(!_[0]&&!_[1])return y;var oe=u.convert(_)._mult($);I==="viewport"&&oe._rotate(-U);for(var he=[],De=0;De0&&(oe=1/Math.sqrt(oe)),y[0]=_[0]*oe,y[1]=_[1]*oe,y[2]=_[2]*oe,y}function H9(y,_){return y[0]*_[0]+y[1]*_[1]+y[2]*_[2]}function j9(y,_,I){var U=_[0],$=_[1],oe=_[2],he=I[0],De=I[1],it=I[2];return y[0]=$*it-oe*De,y[1]=oe*he-U*it,y[2]=U*De-$*he,y}function W9(y,_,I){var U=_[0],$=_[1],oe=_[2];return y[0]=U*I[0]+$*I[3]+oe*I[6],y[1]=U*I[1]+$*I[4]+oe*I[7],y[2]=U*I[2]+$*I[5]+oe*I[8],y}var X9=um,OQ=function(){var y=lm();return function(_,I,U,$,oe,he){var De,it;for(I||(I=3),U||(U=0),$?it=Math.min($*I+U,_.length):it=_.length,De=U;Dey.width||$.height>y.height||I.x>y.width-$.width||I.y>y.height-$.height)throw new RangeError("out of range source coordinates for image copy");if($.width>_.width||$.height>_.height||U.x>_.width-$.width||U.y>_.height-$.height)throw new RangeError("out of range destination coordinates for image copy");for(var he=y.data,De=_.data,it=0;it<$.height;it++)for(var yt=((I.y+it)*y.width+I.x)*oe,Lt=((U.y+it)*_.width+U.x)*oe,sr=0;sr<$.width*oe;sr++)De[Lt+sr]=he[yt+sr];return _}var Dv=function(_,I){Md(this,_,1,I)};Dv.prototype.resize=function(_){Uw(this,_,1)},Dv.prototype.clone=function(){return new Dv({width:this.width,height:this.height},new Uint8Array(this.data))},Dv.copy=function(_,I,U,$,oe){Vw(_,I,U,$,oe,1)};var Eh=function(_,I){Md(this,_,4,I)};Eh.prototype.resize=function(_){Uw(this,_,4)},Eh.prototype.replace=function(_,I){I?this.data.set(_):_ instanceof Uint8ClampedArray?this.data=new Uint8Array(_.buffer):this.data=_},Eh.prototype.clone=function(){return new Eh({width:this.width,height:this.height},new Uint8Array(this.data))},Eh.copy=function(_,I,U,$,oe){Vw(_,I,U,$,oe,4)},X("AlphaImage",Dv),X("RGBAImage",Eh);var Qx=new Or({"heatmap-radius":new bt(Rn.paint_heatmap["heatmap-radius"]),"heatmap-weight":new bt(Rn.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new Me(Rn.paint_heatmap["heatmap-intensity"]),"heatmap-color":new Vr(Rn.paint_heatmap["heatmap-color"]),"heatmap-opacity":new Me(Rn.paint_heatmap["heatmap-opacity"])}),P1={paint:Qx};function eb(y){var _={},I=y.resolution||256,U=y.clips?y.clips.length:1,$=y.image||new Eh({width:I,height:U}),oe=function(bn,rn,xn){_[y.evaluationKey]=xn;var In=y.expression.evaluate(_);$.data[bn+rn+0]=Math.floor(In.r*255/In.a),$.data[bn+rn+1]=Math.floor(In.g*255/In.a),$.data[bn+rn+2]=Math.floor(In.b*255/In.a),$.data[bn+rn+3]=Math.floor(In.a*255)};if(y.clips)for(var yt=0,Lt=0;yt80*I){De=yt=y[0],it=Lt=y[1];for(var Rr=I;Rr<$;Rr+=I)sr=y[Rr],gr=y[Rr+1],sryt&&(yt=sr),gr>Lt&&(Lt=gr);hr=Math.max(yt-De,Lt-it),hr=hr!==0?1/hr:0}return tb(oe,he,I,De,it,hr),he}function jw(y,_,I,U,$){var oe,he;if($===yS(y,_,I,U)>0)for(oe=_;oe=_;oe-=U)he=zC(oe,y[oe],y[oe+1],he);return he&&ib(he,he.next)&&(ob(he),he=he.next),he}function cm(y,_){if(!y)return y;_||(_=y);var I=y,U;do if(U=!1,!I.steiner&&(ib(I,I.next)||Tf(I.prev,I,I.next)===0)){if(ob(I),I=_=I.prev,I===I.next)break;U=!0}else I=I.next;while(U||I!==_);return _}function tb(y,_,I,U,$,oe,he){if(y){!he&&oe&&Ww(y,U,$,oe);for(var De=y,it,yt;y.prev!==y.next;){if(it=y.prev,yt=y.next,oe?RC(y,U,$,oe):IC(y)){_.push(it.i/I),_.push(y.i/I),_.push(yt.i/I),ob(y),y=yt.next,De=yt.next;continue}if(y=yt,y===De){he?he===1?(y=rb(cm(y),_,I),tb(y,_,I,U,$,oe,2)):he===2&&v0(y,_,I,U,$,oe):tb(cm(y),_,I,U,$,oe,1);break}}}}function IC(y){var _=y.prev,I=y,U=y.next;if(Tf(_,I,U)>=0)return!1;for(var $=y.next.next;$!==y.prev;){if(hm(_.x,_.y,I.x,I.y,U.x,U.y,$.x,$.y)&&Tf($.prev,$,$.next)>=0)return!1;$=$.next}return!0}function RC(y,_,I,U){var $=y.prev,oe=y,he=y.next;if(Tf($,oe,he)>=0)return!1;for(var De=$.xoe.x?$.x>he.x?$.x:he.x:oe.x>he.x?oe.x:he.x,Lt=$.y>oe.y?$.y>he.y?$.y:he.y:oe.y>he.y?oe.y:he.y,sr=vS(De,it,_,I,U),gr=vS(yt,Lt,_,I,U),hr=y.prevZ,Rr=y.nextZ;hr&&hr.z>=sr&&Rr&&Rr.z<=gr;){if(hr!==y.prev&&hr!==y.next&&hm($.x,$.y,oe.x,oe.y,he.x,he.y,hr.x,hr.y)&&Tf(hr.prev,hr,hr.next)>=0||(hr=hr.prevZ,Rr!==y.prev&&Rr!==y.next&&hm($.x,$.y,oe.x,oe.y,he.x,he.y,Rr.x,Rr.y)&&Tf(Rr.prev,Rr,Rr.next)>=0))return!1;Rr=Rr.nextZ}for(;hr&&hr.z>=sr;){if(hr!==y.prev&&hr!==y.next&&hm($.x,$.y,oe.x,oe.y,he.x,he.y,hr.x,hr.y)&&Tf(hr.prev,hr,hr.next)>=0)return!1;hr=hr.prevZ}for(;Rr&&Rr.z<=gr;){if(Rr!==y.prev&&Rr!==y.next&&hm($.x,$.y,oe.x,oe.y,he.x,he.y,Rr.x,Rr.y)&&Tf(Rr.prev,Rr,Rr.next)>=0)return!1;Rr=Rr.nextZ}return!0}function rb(y,_,I){var U=y;do{var $=U.prev,oe=U.next.next;!ib($,oe)&&Xw($,U,U.next,oe)&&ab($,oe)&&ab(oe,$)&&(_.push($.i/I),_.push(U.i/I),_.push(oe.i/I),ob(U),ob(U.next),U=y=oe),U=U.next}while(U!==y);return cm(U)}function v0(y,_,I,U,$,oe){var he=y;do{for(var De=he.next.next;De!==he.prev;){if(he.i!==De.i&&R1(he,De)){var it=gS(he,De);he=cm(he,he.next),it=cm(it,it.next),tb(he,_,I,U,$,oe),tb(it,_,I,U,$,oe);return}De=De.next}he=he.next}while(he!==y)}function fm(y,_,I,U){var $=[],oe,he,De,it,yt;for(oe=0,he=_.length;oe=I.next.y&&I.next.y!==I.y){var De=I.x+($-I.y)*(I.next.x-I.x)/(I.next.y-I.y);if(De<=U&&De>oe){if(oe=De,De===U){if($===I.y)return I;if($===I.next.y)return I.next}he=I.x=I.x&&I.x>=yt&&U!==I.x&&hm($he.x||I.x===he.x&&rq(he,I)))&&(he=I,sr=gr)),I=I.next;while(I!==it);return he}function rq(y,_){return Tf(y.prev,y,_.prev)<0&&Tf(_.next,y,y.next)<0}function Ww(y,_,I,U){var $=y;do $.z===null&&($.z=vS($.x,$.y,_,I,U)),$.prevZ=$.prev,$.nextZ=$.next,$=$.next;while($!==y);$.prevZ.nextZ=null,$.prevZ=null,dS($)}function dS(y){var _,I,U,$,oe,he,De,it,yt=1;do{for(I=y,y=null,oe=null,he=0;I;){for(he++,U=I,De=0,_=0;_0||it>0&&U;)De!==0&&(it===0||!U||I.z<=U.z)?($=I,I=I.nextZ,De--):($=U,U=U.nextZ,it--),oe?oe.nextZ=$:y=$,$.prevZ=oe,oe=$;I=U}oe.nextZ=null,yt*=2}while(he>1);return y}function vS(y,_,I,U,$){return y=32767*(y-I)*$,_=32767*(_-U)*$,y=(y|y<<8)&16711935,y=(y|y<<4)&252645135,y=(y|y<<2)&858993459,y=(y|y<<1)&1431655765,_=(_|_<<8)&16711935,_=(_|_<<4)&252645135,_=(_|_<<2)&858993459,_=(_|_<<1)&1431655765,y|_<<1}function pS(y){var _=y,I=y;do(_.x=0&&(y-he)*(U-De)-(I-he)*(_-De)>=0&&(I-he)*(oe-De)-($-he)*(U-De)>=0}function R1(y,_){return y.next.i!==_.i&&y.prev.i!==_.i&&!FC(y,_)&&(ab(y,_)&&ab(_,y)&&iq(y,_)&&(Tf(y.prev,y,_.prev)||Tf(y,_.prev,_))||ib(y,_)&&Tf(y.prev,y,y.next)>0&&Tf(_.prev,_,_.next)>0)}function Tf(y,_,I){return(_.y-y.y)*(I.x-_.x)-(_.x-y.x)*(I.y-_.y)}function ib(y,_){return y.x===_.x&&y.y===_.y}function Xw(y,_,I,U){var $=my(Tf(y,_,I)),oe=my(Tf(y,_,U)),he=my(Tf(I,U,y)),De=my(Tf(I,U,_));return!!($!==oe&&he!==De||$===0&&nb(y,I,_)||oe===0&&nb(y,U,_)||he===0&&nb(I,y,U)||De===0&&nb(I,_,U))}function nb(y,_,I){return _.x<=Math.max(y.x,I.x)&&_.x>=Math.min(y.x,I.x)&&_.y<=Math.max(y.y,I.y)&&_.y>=Math.min(y.y,I.y)}function my(y){return y>0?1:y<0?-1:0}function FC(y,_){var I=y;do{if(I.i!==y.i&&I.next.i!==y.i&&I.i!==_.i&&I.next.i!==_.i&&Xw(I,I.next,y,_))return!0;I=I.next}while(I!==y);return!1}function ab(y,_){return Tf(y.prev,y,y.next)<0?Tf(y,_,y.next)>=0&&Tf(y,y.prev,_)>=0:Tf(y,_,y.prev)<0||Tf(y,y.next,_)<0}function iq(y,_){var I=y,U=!1,$=(y.x+_.x)/2,oe=(y.y+_.y)/2;do I.y>oe!=I.next.y>oe&&I.next.y!==I.y&&$<(I.next.x-I.x)*(oe-I.y)/(I.next.y-I.y)+I.x&&(U=!U),I=I.next;while(I!==y);return U}function gS(y,_){var I=new mS(y.i,y.x,y.y),U=new mS(_.i,_.x,_.y),$=y.next,oe=_.prev;return y.next=_,_.prev=y,I.next=$,$.prev=I,U.next=I,I.prev=U,oe.next=U,U.prev=oe,U}function zC(y,_,I,U){var $=new mS(y,_,I);return U?($.next=U.next,$.prev=U,U.next.prev=$,U.next=$):($.prev=$,$.next=$),$}function ob(y){y.next.prev=y.prev,y.prev.next=y.next,y.prevZ&&(y.prevZ.nextZ=y.nextZ),y.nextZ&&(y.nextZ.prevZ=y.prevZ)}function mS(y,_,I){this.i=y,this.x=_,this.y=I,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}I1.deviation=function(y,_,I,U){var $=_&&_.length,oe=$?_[0]*I:y.length,he=Math.abs(yS(y,0,oe,I));if($)for(var De=0,it=_.length;De0&&(U+=y[$-1].length,I.holes.push(U))}return I},Hw.default=PC;function _S(y,_,I,U,$){pg(y,_,I||0,U||y.length-1,$||qC)}function pg(y,_,I,U,$){for(;U>I;){if(U-I>600){var oe=U-I+1,he=_-I+1,De=Math.log(oe),it=.5*Math.exp(2*De/3),yt=.5*Math.sqrt(De*it*(oe-it)/oe)*(he-oe/2<0?-1:1),Lt=Math.max(I,Math.floor(_-he*it/oe+yt)),sr=Math.min(U,Math.floor(_+(oe-he)*it/oe+yt));pg(y,_,Lt,sr,$)}var gr=y[_],hr=I,Rr=U;for(D1(y,I,_),$(y[U],gr)>0&&D1(y,I,U);hr0;)Rr--}$(y[I],gr)===0?D1(y,I,Rr):(Rr++,D1(y,Rr,U)),Rr<=_&&(I=Rr+1),_<=Rr&&(U=Rr-1)}}function D1(y,_,I){var U=y[_];y[_]=y[I],y[I]=U}function qC(y,_){return y<_?-1:y>_?1:0}function Zw(y,_){var I=y.length;if(I<=1)return[y];for(var U=[],$,oe,he=0;he1)for(var it=0;it>3}if(U--,I===1||I===2)$+=y.readSVarint(),oe+=y.readSVarint(),I===1&&(De&&he.push(De),De=[]),De.push(new u($,oe));else if(I===7)De&&De.push(De[0].clone());else throw new Error("unknown command "+I)}return De&&he.push(De),he},yy.prototype.bbox=function(){var y=this._pbf;y.pos=this._geometry;for(var _=y.readVarint()+y.pos,I=1,U=0,$=0,oe=0,he=1/0,De=-1/0,it=1/0,yt=-1/0;y.pos<_;){if(U<=0){var Lt=y.readVarint();I=Lt&7,U=Lt>>3}if(U--,I===1||I===2)$+=y.readSVarint(),oe+=y.readSVarint(),$De&&(De=$),oeyt&&(yt=oe);else if(I!==7)throw new Error("unknown command "+I)}return[he,it,De,yt]},yy.prototype.toGeoJSON=function(y,_,I){var U=this.extent*Math.pow(2,I),$=this.extent*y,oe=this.extent*_,he=this.loadGeometry(),De=yy.types[this.type],it,yt;function Lt(hr){for(var Rr=0;Rr>3;_=U===1?y.readString():U===2?y.readFloat():U===3?y.readDouble():U===4?y.readVarint64():U===5?y.readVarint():U===6?y.readSVarint():U===7?y.readBoolean():null}return _}wS.prototype.feature=function(y){if(y<0||y>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[y];var _=this._pbf.readVarint()+this._pbf.pos;return new bS(this._pbf,_,this.extent,this._keys,this._values)};var XC=aq;function aq(y,_){this.layers=y.readFields(oq,{},_)}function oq(y,_,I){if(y===3){var U=new gg(I,I.readVarint()+I.pos);U.length&&(_[U.name]=U)}}var ZC=XC,F1=bS,YC=gg,mg={VectorTile:ZC,VectorTileFeature:F1,VectorTileLayer:YC},KC=mg.VectorTileFeature.types,Kw=500,z1=Math.pow(2,13);function dm(y,_,I,U,$,oe,he,De){y.emplaceBack(_,I,Math.floor(U*z1)*2+he,$*z1*2,oe*z1*2,Math.round(De))}var Vp=function(_){this.zoom=_.zoom,this.overscaling=_.overscaling,this.layers=_.layers,this.layerIds=this.layers.map(function(I){return I.id}),this.index=_.index,this.hasPattern=!1,this.layoutVertexArray=new Ii,this.indexArray=new pn,this.programConfigurations=new ci(_.layers,_.zoom),this.segments=new io,this.stateDependentLayerIds=this.layers.filter(function(I){return I.isStateDependent()}).map(function(I){return I.id})};Vp.prototype.populate=function(_,I,U){this.features=[],this.hasPattern=Yw("fill-extrusion",this.layers,I);for(var $=0,oe=_;$=1){var xn=Hi[bn-1];if(!sq(rn,xn)){hr.vertexLength+4>io.MAX_VERTEX_ARRAY_LENGTH&&(hr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var In=rn.sub(xn)._perp()._unit(),Xn=xn.dist(rn);wi+Xn>32768&&(wi=0),dm(this.layoutVertexArray,rn.x,rn.y,In.x,In.y,0,0,wi),dm(this.layoutVertexArray,rn.x,rn.y,In.x,In.y,0,1,wi),wi+=Xn,dm(this.layoutVertexArray,xn.x,xn.y,In.x,In.y,0,0,wi),dm(this.layoutVertexArray,xn.x,xn.y,In.x,In.y,0,1,wi);var ga=hr.vertexLength;this.indexArray.emplaceBack(ga,ga+2,ga+1),this.indexArray.emplaceBack(ga+1,ga+2,ga+3),hr.vertexLength+=4,hr.primitiveLength+=2}}}}if(hr.vertexLength+yt>io.MAX_VERTEX_ARRAY_LENGTH&&(hr=this.segments.prepareSegment(yt,this.layoutVertexArray,this.indexArray)),KC[_.type]==="Polygon"){for(var ha=[],eo=[],za=hr.vertexLength,Za=0,Jo=it;ZaEi)||y.y===_.y&&(y.y<0||y.y>Ei)}function lq(y){return y.every(function(_){return _.x<0})||y.every(function(_){return _.x>Ei})||y.every(function(_){return _.y<0})||y.every(function(_){return _.y>Ei})}var q1=new Or({"fill-extrusion-opacity":new Me(Rn["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new bt(Rn["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new Me(Rn["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new Me(Rn["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new Ot(Rn["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new bt(Rn["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new bt(Rn["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new Me(Rn["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])}),ld={paint:q1},vm=function(y){function _(I){y.call(this,I,ld)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype.createBucket=function(U){return new Vp(U)},_.prototype.queryRadius=function(){return Pv(this.paint.get("fill-extrusion-translate"))},_.prototype.is3D=function(){return!0},_.prototype.queryIntersectsFeature=function(U,$,oe,he,De,it,yt,Lt){var sr=Jv(U,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),it.angle,yt),gr=this.paint.get("fill-extrusion-height").evaluate($,oe),hr=this.paint.get("fill-extrusion-base").evaluate($,oe),Rr=uq(sr,Lt,it,0),ni=AS(he,hr,gr,Lt),Hi=ni[0],wi=ni[1];return JC(Hi,wi,Rr)},_}(vi);function _y(y,_){return y.x*_.x+y.y*_.y}function TS(y,_){if(y.length===1){for(var I=0,U=_[I++],$;!$||U.equals($);)if($=_[I++],!$)return 1/0;for(;I<_.length;I++){var oe=_[I],he=y[0],De=$.sub(U),it=oe.sub(U),yt=he.sub(U),Lt=_y(De,De),sr=_y(De,it),gr=_y(it,it),hr=_y(yt,De),Rr=_y(yt,it),ni=Lt*gr-sr*sr,Hi=(gr*hr-sr*Rr)/ni,wi=(Lt*Rr-sr*hr)/ni,bn=1-Hi-wi,rn=U.z*bn+$.z*Hi+oe.z*wi;if(isFinite(rn))return rn}return 1/0}else{for(var xn=1/0,In=0,Xn=_;In=2&&_[yt-1].equals(_[yt-2]);)yt--;for(var Lt=0;Lt0;if(ha&&bn>Lt){var za=hr.dist(Rr);if(za>2*sr){var Za=hr.sub(hr.sub(Rr)._mult(sr/za)._round());this.updateDistance(Rr,Za),this.addCurrentVertex(Za,Hi,0,0,gr),Rr=Za}}var Jo=Rr&&ni,to=Jo?U:it?"butt":$;if(Jo&&to==="round"&&(Xnoe&&(to="bevel"),to==="bevel"&&(Xn>2&&(to="flipbevel"),Xn100)rn=wi.mult(-1);else{var ao=Xn*Hi.add(wi).mag()/Hi.sub(wi).mag();rn._perp()._mult(ao*(eo?-1:1))}this.addCurrentVertex(hr,rn,0,0,gr),this.addCurrentVertex(hr,rn.mult(-1),0,0,gr)}else if(to==="bevel"||to==="fakeround"){var _s=-Math.sqrt(Xn*Xn-1),jo=eo?_s:0,El=eo?0:_s;if(Rr&&this.addCurrentVertex(hr,Hi,jo,El,gr),to==="fakeround")for(var Iu=Math.round(ga*180/Math.PI/MS),kl=1;kl2*sr){var ch=hr.add(ni.sub(hr)._mult(sr/$h)._round());this.updateDistance(hr,ch),this.addCurrentVertex(ch,wi,0,0,gr),hr=ch}}}}},sh.prototype.addCurrentVertex=function(_,I,U,$,oe,he){he===void 0&&(he=!1);var De=I.x+I.y*U,it=I.y-I.x*U,yt=-I.x+I.y*$,Lt=-I.y-I.x*$;this.addHalfVertex(_,De,it,he,!1,U,oe),this.addHalfVertex(_,yt,Lt,he,!0,-$,oe),this.distance>fb/2&&this.totalDistance===0&&(this.distance=0,this.addCurrentVertex(_,I,U,$,oe,he))},sh.prototype.addHalfVertex=function(_,I,U,$,oe,he,De){var it=_.x,yt=_.y,Lt=this.lineClips?this.scaledDistance*(fb-1):this.scaledDistance,sr=Lt*$w;if(this.layoutVertexArray.emplaceBack((it<<1)+($?1:0),(yt<<1)+(oe?1:0),Math.round(Jw*I)+128,Math.round(Jw*U)+128,(he===0?0:he<0?-1:1)+1|(sr&63)<<2,sr>>6),this.lineClips){var gr=this.scaledDistance-this.lineClips.start,hr=this.lineClips.end-this.lineClips.start,Rr=gr/hr;this.layoutVertexArray2.emplaceBack(Rr,this.lineClipsArray.length)}var ni=De.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,ni),De.primitiveLength++),oe?this.e2=ni:this.e1=ni},sh.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance},sh.prototype.updateDistance=function(_,I){this.distance+=_.dist(I),this.updateScaledDistance()},X("LineBucket",sh,{omit:["layers","patternFeatures"]});var ES=new Or({"line-cap":new Me(Rn.layout_line["line-cap"]),"line-join":new bt(Rn.layout_line["line-join"]),"line-miter-limit":new Me(Rn.layout_line["line-miter-limit"]),"line-round-limit":new Me(Rn.layout_line["line-round-limit"]),"line-sort-key":new bt(Rn.layout_line["line-sort-key"])}),kS=new Or({"line-opacity":new bt(Rn.paint_line["line-opacity"]),"line-color":new bt(Rn.paint_line["line-color"]),"line-translate":new Me(Rn.paint_line["line-translate"]),"line-translate-anchor":new Me(Rn.paint_line["line-translate-anchor"]),"line-width":new bt(Rn.paint_line["line-width"]),"line-gap-width":new bt(Rn.paint_line["line-gap-width"]),"line-offset":new bt(Rn.paint_line["line-offset"]),"line-blur":new bt(Rn.paint_line["line-blur"]),"line-dasharray":new Lr(Rn.paint_line["line-dasharray"]),"line-pattern":new Ot(Rn.paint_line["line-pattern"]),"line-gradient":new Vr(Rn.paint_line["line-gradient"])}),Qw={paint:kS,layout:ES},fq=function(y){function _(){y.apply(this,arguments)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype.possiblyEvaluate=function(U,$){return $=new Un(Math.floor($.zoom),{now:$.now,fadeDuration:$.fadeDuration,zoomHistory:$.zoomHistory,transition:$.transition}),y.prototype.possiblyEvaluate.call(this,U,$)},_.prototype.evaluate=function(U,$,oe,he){return $=x({},$,{zoom:Math.floor($.zoom)}),y.prototype.evaluate.call(this,U,$,oe,he)},_}(bt),R=new fq(Qw.paint.properties["line-width"].specification);R.useIntegerZoom=!0;var A=function(y){function _(I){y.call(this,I,Qw),this.gradientVersion=0}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype._handleSpecialPaintPropertyUpdate=function(U){if(U==="line-gradient"){var $=this._transitionablePaint._values["line-gradient"].value.expression;this.stepInterpolant=$._styleExpression.expression instanceof _u,this.gradientVersion=(this.gradientVersion+1)%d}},_.prototype.gradientExpression=function(){return this._transitionablePaint._values["line-gradient"].value.expression},_.prototype.recalculate=function(U,$){y.prototype.recalculate.call(this,U,$),this.paint._values["line-floorwidth"]=R.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,U)},_.prototype.createBucket=function(U){return new sh(U)},_.prototype.queryRadius=function(U){var $=U,oe=F(Ad("line-width",this,$),Ad("line-gap-width",this,$)),he=Ad("line-offset",this,$);return oe/2+Math.abs(he)+Pv(this.paint.get("line-translate"))},_.prototype.queryIntersectsFeature=function(U,$,oe,he,De,it,yt){var Lt=Jv(U,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),it.angle,yt),sr=yt/2*F(this.paint.get("line-width").evaluate($,oe),this.paint.get("line-gap-width").evaluate($,oe)),gr=this.paint.get("line-offset").evaluate($,oe);return gr&&(he=W(he,gr*yt)),ou(Lt,he,sr)},_.prototype.isTileClipped=function(){return!0},_}(vi);function F(y,_){return _>0?_+2*y:y}function W(y,_){for(var I=[],U=new u(0,0),$=0;$":"\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 ln(y){for(var _="",I=0;I>1,Lt=-7,sr=I?$-1:0,gr=I?-1:1,hr=y[_+sr];for(sr+=gr,oe=hr&(1<<-Lt)-1,hr>>=-Lt,Lt+=De;Lt>0;oe=oe*256+y[_+sr],sr+=gr,Lt-=8);for(he=oe&(1<<-Lt)-1,oe>>=-Lt,Lt+=U;Lt>0;he=he*256+y[_+sr],sr+=gr,Lt-=8);if(oe===0)oe=1-yt;else{if(oe===it)return he?NaN:(hr?-1:1)*(1/0);he=he+Math.pow(2,U),oe=oe-yt}return(hr?-1:1)*he*Math.pow(2,oe-U)},ro=function(y,_,I,U,$,oe){var he,De,it,yt=oe*8-$-1,Lt=(1<>1,gr=$===23?Math.pow(2,-24)-Math.pow(2,-77):0,hr=U?0:oe-1,Rr=U?1:-1,ni=_<0||_===0&&1/_<0?1:0;for(_=Math.abs(_),isNaN(_)||_===1/0?(De=isNaN(_)?1:0,he=Lt):(he=Math.floor(Math.log(_)/Math.LN2),_*(it=Math.pow(2,-he))<1&&(he--,it*=2),he+sr>=1?_+=gr/it:_+=gr*Math.pow(2,1-sr),_*it>=2&&(he++,it/=2),he+sr>=Lt?(De=0,he=Lt):he+sr>=1?(De=(_*it-1)*Math.pow(2,$),he=he+sr):(De=_*Math.pow(2,sr-1)*Math.pow(2,$),he=0));$>=8;y[I+hr]=De&255,hr+=Rr,De/=256,$-=8);for(he=he<<$|De,yt+=$;yt>0;y[I+hr]=he&255,hr+=Rr,he/=256,yt-=8);y[I+hr-Rr]|=ni*128},Vo={read:pa,write:ro},Xa=la;function la(y){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(y)?y:new Uint8Array(y||0),this.pos=0,this.type=0,this.length=this.buf.length}la.Varint=0,la.Fixed64=1,la.Bytes=2,la.Fixed32=5;var Mo=65536*65536,fo=1/Mo,lo=12,Wn=typeof TextDecoder=="undefined"?null:new TextDecoder("utf8");la.prototype={destroy:function(){this.buf=null},readFields:function(y,_,I){for(I=I||this.length;this.pos>3,oe=this.pos;this.type=U&7,y($,_,this),this.pos===oe&&this.skip(U)}return _},readMessage:function(y,_){return this.readFields(y,_,this.readVarint()+this.pos)},readFixed32:function(){var y=Yh(this.buf,this.pos);return this.pos+=4,y},readSFixed32:function(){var y=Fv(this.buf,this.pos);return this.pos+=4,y},readFixed64:function(){var y=Yh(this.buf,this.pos)+Yh(this.buf,this.pos+4)*Mo;return this.pos+=8,y},readSFixed64:function(){var y=Yh(this.buf,this.pos)+Fv(this.buf,this.pos+4)*Mo;return this.pos+=8,y},readFloat:function(){var y=Vo.read(this.buf,this.pos,!0,23,4);return this.pos+=4,y},readDouble:function(){var y=Vo.read(this.buf,this.pos,!0,52,8);return this.pos+=8,y},readVarint:function(y){var _=this.buf,I,U;return U=_[this.pos++],I=U&127,U<128||(U=_[this.pos++],I|=(U&127)<<7,U<128)||(U=_[this.pos++],I|=(U&127)<<14,U<128)||(U=_[this.pos++],I|=(U&127)<<21,U<128)?I:(U=_[this.pos],I|=(U&15)<<28,Ro(I,y,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var y=this.readVarint();return y%2===1?(y+1)/-2:y/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var y=this.readVarint()+this.pos,_=this.pos;return this.pos=y,y-_>=lo&&Wn?ru(this.buf,_,y):uv(this.buf,_,y)},readBytes:function(){var y=this.readVarint()+this.pos,_=this.buf.subarray(this.pos,y);return this.pos=y,_},readPackedVarint:function(y,_){if(this.type!==la.Bytes)return y.push(this.readVarint(_));var I=uo(this);for(y=y||[];this.pos127;);else if(_===la.Bytes)this.pos=this.readVarint()+this.pos;else if(_===la.Fixed32)this.pos+=4;else if(_===la.Fixed64)this.pos+=8;else throw new Error("Unimplemented type: "+_)},writeTag:function(y,_){this.writeVarint(y<<3|_)},realloc:function(y){for(var _=this.length||16;_268435455||y<0){Ju(y,this);return}this.realloc(4),this.buf[this.pos++]=y&127|(y>127?128:0),!(y<=127)&&(this.buf[this.pos++]=(y>>>=7)&127|(y>127?128:0),!(y<=127)&&(this.buf[this.pos++]=(y>>>=7)&127|(y>127?128:0),!(y<=127)&&(this.buf[this.pos++]=y>>>7&127)))},writeSVarint:function(y){this.writeVarint(y<0?-y*2-1:y*2)},writeBoolean:function(y){this.writeVarint(!!y)},writeString:function(y){y=String(y),this.realloc(y.length*4),this.pos++;var _=this.pos;this.pos=pc(this.buf,y,this.pos);var I=this.pos-_;I>=128&&Qv(_,I,this),this.pos=_-1,this.writeVarint(I),this.pos+=I},writeFloat:function(y){this.realloc(4),Vo.write(this.buf,y,this.pos,!0,23,4),this.pos+=4},writeDouble:function(y){this.realloc(8),Vo.write(this.buf,y,this.pos,!0,52,8),this.pos+=8},writeBytes:function(y){var _=y.length;this.writeVarint(_),this.realloc(_);for(var I=0;I<_;I++)this.buf[this.pos++]=y[I]},writeRawMessage:function(y,_){this.pos++;var I=this.pos;y(_,this);var U=this.pos-I;U>=128&&Qv(I,U,this),this.pos=I-1,this.writeVarint(U),this.pos+=U},writeMessage:function(y,_,I){this.writeTag(y,la.Bytes),this.writeRawMessage(_,I)},writePackedVarint:function(y,_){_.length&&this.writeMessage(y,ud,_)},writePackedSVarint:function(y,_){_.length&&this.writeMessage(y,Ch,_)},writePackedBoolean:function(y,_){_.length&&this.writeMessage(y,jd,_)},writePackedFloat:function(y,_){_.length&&this.writeMessage(y,Gd,_)},writePackedDouble:function(y,_){_.length&&this.writeMessage(y,Hd,_)},writePackedFixed32:function(y,_){_.length&&this.writeMessage(y,Af,_)},writePackedSFixed32:function(y,_){_.length&&this.writeMessage(y,Lh,_)},writePackedFixed64:function(y,_){_.length&&this.writeMessage(y,Ed,_)},writePackedSFixed64:function(y,_){_.length&&this.writeMessage(y,cd,_)},writeBytesField:function(y,_){this.writeTag(y,la.Bytes),this.writeBytes(_)},writeFixed32Field:function(y,_){this.writeTag(y,la.Fixed32),this.writeFixed32(_)},writeSFixed32Field:function(y,_){this.writeTag(y,la.Fixed32),this.writeSFixed32(_)},writeFixed64Field:function(y,_){this.writeTag(y,la.Fixed64),this.writeFixed64(_)},writeSFixed64Field:function(y,_){this.writeTag(y,la.Fixed64),this.writeSFixed64(_)},writeVarintField:function(y,_){this.writeTag(y,la.Varint),this.writeVarint(_)},writeSVarintField:function(y,_){this.writeTag(y,la.Varint),this.writeSVarint(_)},writeStringField:function(y,_){this.writeTag(y,la.Bytes),this.writeString(_)},writeFloatField:function(y,_){this.writeTag(y,la.Fixed32),this.writeFloat(_)},writeDoubleField:function(y,_){this.writeTag(y,la.Fixed64),this.writeDouble(_)},writeBooleanField:function(y,_){this.writeVarintField(y,!!_)}};function Ro(y,_,I){var U=I.buf,$,oe;if(oe=U[I.pos++],$=(oe&112)>>4,oe<128||(oe=U[I.pos++],$|=(oe&127)<<3,oe<128)||(oe=U[I.pos++],$|=(oe&127)<<10,oe<128)||(oe=U[I.pos++],$|=(oe&127)<<17,oe<128)||(oe=U[I.pos++],$|=(oe&127)<<24,oe<128)||(oe=U[I.pos++],$|=(oe&1)<<31,oe<128))return $o(y,$,_);throw new Error("Expected varint not more than 10 bytes")}function uo(y){return y.type===la.Bytes?y.readVarint()+y.pos:y.pos+1}function $o(y,_,I){return I?_*4294967296+(y>>>0):(_>>>0)*4294967296+(y>>>0)}function Ju(y,_){var I,U;if(y>=0?(I=y%4294967296|0,U=y/4294967296|0):(I=~(-y%4294967296),U=~(-y/4294967296),I^4294967295?I=I+1|0:(I=0,U=U+1|0)),y>=18446744073709552e3||y<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");_.realloc(10),Ou(I,U,_),kh(U,_)}function Ou(y,_,I){I.buf[I.pos++]=y&127|128,y>>>=7,I.buf[I.pos++]=y&127|128,y>>>=7,I.buf[I.pos++]=y&127|128,y>>>=7,I.buf[I.pos++]=y&127|128,y>>>=7,I.buf[I.pos]=y&127}function kh(y,_){var I=(y&7)<<4;_.buf[_.pos++]|=I|((y>>>=3)?128:0),y&&(_.buf[_.pos++]=y&127|((y>>>=7)?128:0),y&&(_.buf[_.pos++]=y&127|((y>>>=7)?128:0),y&&(_.buf[_.pos++]=y&127|((y>>>=7)?128:0),y&&(_.buf[_.pos++]=y&127|((y>>>=7)?128:0),y&&(_.buf[_.pos++]=y&127)))))}function Qv(y,_,I){var U=_<=16383?1:_<=2097151?2:_<=268435455?3:Math.floor(Math.log(_)/(Math.LN2*7));I.realloc(U);for(var $=I.pos-1;$>=y;$--)I.buf[$+U]=I.buf[$]}function ud(y,_){for(var I=0;I>>8,y[I+2]=_>>>16,y[I+3]=_>>>24}function Fv(y,_){return(y[_]|y[_+1]<<8|y[_+2]<<16)+(y[_+3]<<24)}function uv(y,_,I){for(var U="",$=_;$239?4:oe>223?3:oe>191?2:1;if($+De>I)break;var it,yt,Lt;De===1?oe<128&&(he=oe):De===2?(it=y[$+1],(it&192)===128&&(he=(oe&31)<<6|it&63,he<=127&&(he=null))):De===3?(it=y[$+1],yt=y[$+2],(it&192)===128&&(yt&192)===128&&(he=(oe&15)<<12|(it&63)<<6|yt&63,(he<=2047||he>=55296&&he<=57343)&&(he=null))):De===4&&(it=y[$+1],yt=y[$+2],Lt=y[$+3],(it&192)===128&&(yt&192)===128&&(Lt&192)===128&&(he=(oe&15)<<18|(it&63)<<12|(yt&63)<<6|Lt&63,(he<=65535||he>=1114112)&&(he=null))),he===null?(he=65533,De=1):he>65535&&(he-=65536,U+=String.fromCharCode(he>>>10&1023|55296),he=56320|he&1023),U+=String.fromCharCode(he),$+=De}return U}function ru(y,_,I){return Wn.decode(y.subarray(_,I))}function pc(y,_,I){for(var U=0,$,oe;U<_.length;U++){if($=_.charCodeAt(U),$>55295&&$<57344)if(oe)if($<56320){y[I++]=239,y[I++]=191,y[I++]=189,oe=$;continue}else $=oe-55296<<10|$-56320|65536,oe=null;else{$>56319||U+1===_.length?(y[I++]=239,y[I++]=191,y[I++]=189):oe=$;continue}else oe&&(y[I++]=239,y[I++]=191,y[I++]=189,oe=null);$<128?y[I++]=$:($<2048?y[I++]=$>>6|192:($<65536?y[I++]=$>>12|224:(y[I++]=$>>18|240,y[I++]=$>>12&63|128),y[I++]=$>>6&63|128),y[I++]=$&63|128)}return I}var $u=3;function zv(y,_,I){y===1&&I.readMessage(hf,_)}function hf(y,_,I){if(y===3){var U=I.readMessage(O1,{}),$=U.id,oe=U.bitmap,he=U.width,De=U.height,it=U.left,yt=U.top,Lt=U.advance;_.push({id:$,bitmap:new Dv({width:he+2*$u,height:De+2*$u},oe),metrics:{width:he,height:De,left:it,top:yt,advance:Lt}})}}function O1(y,_,I){y===1?_.id=I.readVarint():y===2?_.bitmap=I.readBytes():y===3?_.width=I.readVarint():y===4?_.height=I.readVarint():y===5?_.left=I.readSVarint():y===6?_.top=I.readSVarint():y===7&&(_.advance=I.readVarint())}function p0(y){return new Xa(y).readFields(zv,[])}var Gp=$u;function ep(y){for(var _=0,I=0,U=0,$=y;U<$.length;U+=1){var oe=$[U];_+=oe.w*oe.h,I=Math.max(I,oe.w)}y.sort(function(Hi,wi){return wi.h-Hi.h});for(var he=Math.max(Math.ceil(Math.sqrt(_/.95)),I),De=[{x:0,y:0,w:he,h:1/0}],it=0,yt=0,Lt=0,sr=y;Lt=0;hr--){var Rr=De[hr];if(!(gr.w>Rr.w||gr.h>Rr.h)){if(gr.x=Rr.x,gr.y=Rr.y,yt=Math.max(yt,gr.y+gr.h),it=Math.max(it,gr.x+gr.w),gr.w===Rr.w&&gr.h===Rr.h){var ni=De.pop();hr=0&&$>=_&&m0[this.text.charCodeAt($)];$--)U--;this.text=this.text.substring(_,U),this.sectionIndex=this.sectionIndex.slice(_,U)},Kh.prototype.substring=function(_,I){var U=new Kh;return U.text=this.text.substring(_,I),U.sectionIndex=this.sectionIndex.slice(_,I),U.sections=this.sections,U},Kh.prototype.toString=function(){return this.text},Kh.prototype.getMaxScale=function(){var _=this;return this.sectionIndex.reduce(function(I,U){return Math.max(I,_.sections[U].scale)},0)},Kh.prototype.addTextSection=function(_,I){this.text+=_.text,this.sections.push(xy.forText(_.scale,_.fontStack||I));for(var U=this.sections.length-1,$=0;$<_.text.length;++$)this.sectionIndex.push(U)},Kh.prototype.addImageSection=function(_){var I=_.image?_.image.name:"";if(I.length===0){ie("Can't add FormattedSection with an empty image.");return}var U=this.getNextImageSectionCharCode();if(!U){ie("Reached maximum number of images "+(g0-e3+2));return}this.text+=String.fromCharCode(U),this.sections.push(xy.forImage(I)),this.sectionIndex.push(this.sections.length-1)},Kh.prototype.getNextImageSectionCharCode=function(){return this.imageSectionID?this.imageSectionID>=g0?null:++this.imageSectionID:(this.imageSectionID=e3,this.imageSectionID)};function hq(y,_){for(var I=[],U=y.text,$=0,oe=0,he=_;oe=0,Lt=0,sr=0;sr0&&ch>eo&&(eo=ch)}else{var Cl=I[Za.fontStack],yl=Cl&&Cl[to];if(yl&&yl.rect)jo=yl.rect,_s=yl.metrics;else{var Qu=_[Za.fontStack],gc=Qu&&Qu[to];if(!gc)continue;_s=gc.metrics}ao=(In-Za.scale)*Tn}kl?(y.verticalizable=!0,ha.push({glyph:to,imageName:El,x:gr,y:hr+ao,vertical:kl,scale:Za.scale,fontStack:Za.fontStack,sectionIndex:Jo,metrics:_s,rect:jo}),gr+=Iu*Za.scale+yt):(ha.push({glyph:to,imageName:El,x:gr,y:hr+ao,vertical:kl,scale:Za.scale,fontStack:Za.fontStack,sectionIndex:Jo,metrics:_s,rect:jo}),gr+=_s.advance*Za.scale+yt)}if(ha.length!==0){var Xd=gr-yt;Rr=Math.max(Xd,Rr),gq(ha,0,ha.length-1,Hi,eo)}gr=0;var Zd=oe*In+eo;ga.lineOffset=Math.max(eo,Xn),hr+=Zd,ni=Math.max(Zd,ni),++wi}var Qh=hr-B1,hv=LS(he),dv=hv.horizontalAlign,Ph=hv.verticalAlign;kd(y.positionedLines,Hi,dv,Ph,Rr,ni,oe,Qh,$.length),y.top+=-Ph*Qh,y.bottom=y.top+Qh,y.left+=-dv*Rr,y.right=y.left+Rr}function gq(y,_,I,U,$){if(!(!U&&!$))for(var oe=y[I],he=oe.metrics.advance*oe.scale,De=(y[I].x+he)*U,it=_;it<=I;it++)y[it].x-=De,y[it].y+=$}function kd(y,_,I,U,$,oe,he,De,it){var yt=(_-I)*$,Lt=0;oe!==he?Lt=-De*U-B1:Lt=(-U*it+.5)*he;for(var sr=0,gr=y;sr-I/2;){if(he--,he<0)return!1;De-=y[he].dist(oe),oe=y[he]}De+=y[he].dist(y[he+1]),he++;for(var it=[],yt=0;DeU;)yt-=it.shift().angleDelta;if(yt>$)return!1;he++,De+=sr.dist(gr)}return!0}function GQ(y){for(var _=0,I=0;Iyt){var Rr=(yt-it)/hr,ni=nl(sr.x,gr.x,Rr),Hi=nl(sr.y,gr.y,Rr),wi=new Wd(ni,Hi,gr.angleTo(sr),Lt);return wi._round(),!he||VQ(y,wi,De,he,_)?wi:void 0}it+=hr}}function Bet(y,_,I,U,$,oe,he,De,it){var yt=HQ(U,oe,he),Lt=jQ(U,$),sr=Lt*he,gr=y[0].x===0||y[0].x===it||y[0].y===0||y[0].y===it;_-sr<_/4&&(_=sr+_/4);var hr=oe*2,Rr=gr?_/2*De%_:(Lt/2+hr)*he*De%_;return WQ(y,Rr,_,yt,I,sr,gr,!1,it)}function WQ(y,_,I,U,$,oe,he,De,it){for(var yt=oe/2,Lt=GQ(y),sr=0,gr=_-I,hr=[],Rr=0;Rr=0&&xn=0&&In=0&&gr+yt<=Lt){var Xn=new Wd(xn,In,bn,Rr);Xn._round(),(!U||VQ(y,Xn,oe,U,$))&&hr.push(Xn)}}sr+=wi}return!De&&!hr.length&&!he&&(hr=WQ(y,sr/2,I,U,$,oe,he,!0,it)),hr}function XQ(y,_,I,U,$){for(var oe=[],he=0;he=U&&sr.x>=U)&&(Lt.x>=U?Lt=new u(U,Lt.y+(sr.y-Lt.y)*((U-Lt.x)/(sr.x-Lt.x)))._round():sr.x>=U&&(sr=new u(U,Lt.y+(sr.y-Lt.y)*((U-Lt.x)/(sr.x-Lt.x)))._round()),!(Lt.y>=$&&sr.y>=$)&&(Lt.y>=$?Lt=new u(Lt.x+(sr.x-Lt.x)*(($-Lt.y)/(sr.y-Lt.y)),$)._round():sr.y>=$&&(sr=new u(Lt.x+(sr.x-Lt.x)*(($-Lt.y)/(sr.y-Lt.y)),$)._round()),(!it||!Lt.equals(it[it.length-1]))&&(it=[Lt],oe.push(it)),it.push(sr)))))}return oe}var i3=Gc;function ZQ(y,_,I,U){var $=[],oe=y.image,he=oe.pixelRatio,De=oe.paddedRect.w-2*i3,it=oe.paddedRect.h-2*i3,yt=y.right-y.left,Lt=y.bottom-y.top,sr=oe.stretchX||[[0,De]],gr=oe.stretchY||[[0,it]],hr=function(Cl,yl){return Cl+yl[1]-yl[0]},Rr=sr.reduce(hr,0),ni=gr.reduce(hr,0),Hi=De-Rr,wi=it-ni,bn=0,rn=Rr,xn=0,In=ni,Xn=0,ga=Hi,ha=0,eo=wi;if(oe.content&&U){var za=oe.content;bn=a6(sr,0,za[0]),xn=a6(gr,0,za[1]),rn=a6(sr,za[0],za[2]),In=a6(gr,za[1],za[3]),Xn=za[0]-bn,ha=za[1]-xn,ga=za[2]-za[0]-rn,eo=za[3]-za[1]-In}var Za=function(Cl,yl,Qu,gc){var Sf=o6(Cl.stretch-bn,rn,yt,y.left),Ff=s6(Cl.fixed-Xn,ga,Cl.stretch,Rr),$h=o6(yl.stretch-xn,In,Lt,y.top),ch=s6(yl.fixed-ha,eo,yl.stretch,ni),Xd=o6(Qu.stretch-bn,rn,yt,y.left),Zd=s6(Qu.fixed-Xn,ga,Qu.stretch,Rr),Qh=o6(gc.stretch-xn,In,Lt,y.top),hv=s6(gc.fixed-ha,eo,gc.stretch,ni),dv=new u(Sf,$h),Ph=new u(Xd,$h),vv=new u(Xd,Qh),bp=new u(Sf,Qh),Ty=new u(Ff/he,ch/he),V1=new u(Zd/he,hv/he),G1=_*Math.PI/180;if(G1){var H1=Math.sin(G1),f3=Math.cos(G1),y0=[f3,-H1,H1,f3];dv._matMult(y0),Ph._matMult(y0),bp._matMult(y0),vv._matMult(y0)}var d6=Cl.stretch+Cl.fixed,Aq=Qu.stretch+Qu.fixed,v6=yl.stretch+yl.fixed,Sq=gc.stretch+gc.fixed,Hp={x:oe.paddedRect.x+i3+d6,y:oe.paddedRect.y+i3+v6,w:Aq-d6,h:Sq-v6},h3=ga/he/yt,p6=eo/he/Lt;return{tl:dv,tr:Ph,bl:bp,br:vv,tex:Hp,writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:Ty,pixelOffsetBR:V1,minFontScaleX:h3,minFontScaleY:p6,isSDF:I}};if(!U||!oe.stretchX&&!oe.stretchY)$.push(Za({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:De+1},{fixed:0,stretch:it+1}));else for(var Jo=YQ(sr,Hi,Rr),to=YQ(gr,wi,ni),ao=0;ao0&&(Rr=Math.max(10,Rr),this.circleDiameter=Rr)}else{var ni=he.top*De-it,Hi=he.bottom*De+it,wi=he.left*De-it,bn=he.right*De+it,rn=he.collisionPadding;if(rn&&(wi-=rn[0]*De,ni-=rn[1]*De,bn+=rn[2]*De,Hi+=rn[3]*De),Lt){var xn=new u(wi,ni),In=new u(bn,ni),Xn=new u(wi,Hi),ga=new u(bn,Hi),ha=Lt*Math.PI/180;xn._rotate(ha),In._rotate(ha),Xn._rotate(ha),ga._rotate(ha),wi=Math.min(xn.x,In.x,Xn.x,ga.x),bn=Math.max(xn.x,In.x,Xn.x,ga.x),ni=Math.min(xn.y,In.y,Xn.y,ga.y),Hi=Math.max(xn.y,In.y,Xn.y,ga.y)}_.emplaceBack(I.x,I.y,wi,ni,bn,Hi,U,$,oe)}this.boxEndIndex=_.length},n3=function(_,I){if(_===void 0&&(_=[]),I===void 0&&(I=Uet),this.data=_,this.length=this.data.length,this.compare=I,this.length>0)for(var U=(this.length>>1)-1;U>=0;U--)this._down(U)};n3.prototype.push=function(_){this.data.push(_),this.length++,this._up(this.length-1)},n3.prototype.pop=function(){if(this.length!==0){var _=this.data[0],I=this.data.pop();return this.length--,this.length>0&&(this.data[0]=I,this._down(0)),_}},n3.prototype.peek=function(){return this.data[0]},n3.prototype._up=function(_){for(var I=this,U=I.data,$=I.compare,oe=U[_];_>0;){var he=_-1>>1,De=U[he];if($(oe,De)>=0)break;U[_]=De,_=he}U[_]=oe},n3.prototype._down=function(_){for(var I=this,U=I.data,$=I.compare,oe=this.length>>1,he=U[_];_=0)break;U[_]=it,_=De}U[_]=he};function Uet(y,_){return y<_?-1:y>_?1:0}function Vet(y,_,I){_===void 0&&(_=1),I===void 0&&(I=!1);for(var U=1/0,$=1/0,oe=-1/0,he=-1/0,De=y[0],it=0;itoe)&&(oe=yt.x),(!it||yt.y>he)&&(he=yt.y)}var Lt=oe-U,sr=he-$,gr=Math.min(Lt,sr),hr=gr/2,Rr=new n3([],Get);if(gr===0)return new u(U,$);for(var ni=U;niwi.d||!wi.d)&&(wi=rn,I&&console.log("found best %d after %d probes",Math.round(1e4*rn.d)/1e4,bn)),!(rn.max-wi.d<=_)&&(hr=rn.h/2,Rr.push(new a3(rn.p.x-hr,rn.p.y-hr,hr,y)),Rr.push(new a3(rn.p.x+hr,rn.p.y-hr,hr,y)),Rr.push(new a3(rn.p.x-hr,rn.p.y+hr,hr,y)),Rr.push(new a3(rn.p.x+hr,rn.p.y+hr,hr,y)),bn+=4)}return I&&(console.log("num probes: "+bn),console.log("best distance: "+wi.d)),wi.p}function Get(y,_){return _.max-y.max}function a3(y,_,I,U){this.p=new u(y,_),this.h=I,this.d=Het(this.p,U),this.max=this.d+this.h*Math.SQRT2}function Het(y,_){for(var I=!1,U=1/0,$=0;$<_.length;$++)for(var oe=_[$],he=0,De=oe.length,it=De-1;hey.y!=Lt.y>y.y&&y.x<(Lt.x-yt.x)*(y.y-yt.y)/(Lt.y-yt.y)+yt.x&&(I=!I),U=Math.min(U,hg(y,yt,Lt))}return(I?1:-1)*Math.sqrt(U)}function jet(y){for(var _=0,I=0,U=0,$=y[0],oe=0,he=$.length,De=he-1;oe=Ei||y0.y<0||y0.y>=Ei||Zet(y,y0,f3,I,U,$,to,y.layers[0],y.collisionBoxArray,_.index,_.sourceLayerIndex,y.index,wi,In,ha,it,rn,Xn,eo,hr,_,oe,yt,Lt,he)};if(za==="line")for(var _s=0,jo=XQ(_.geometry,0,0,Ei,Ei);_s1){var $h=Oet(Ff,ga,I.vertical||Rr,U,ni,bn);$h&&ao(Ff,$h)}}else if(_.type==="Polygon")for(var ch=0,Xd=Zw(_.geometry,0);chN1&&ie(y.layerIds[0]+': Value for "text-size" is >= '+PS+'. Reduce your "text-size".')):Hi.kind==="composite"&&(wi=[Cd*hr.compositeTextSizes[0].evaluate(he,{},Rr),Cd*hr.compositeTextSizes[1].evaluate(he,{},Rr)],(wi[0]>N1||wi[1]>N1)&&ie(y.layerIds[0]+': Value for "text-size" is >= '+PS+'. Reduce your "text-size".')),y.addSymbols(y.text,ni,wi,De,oe,he,yt,_,it.lineStartIndex,it.lineLength,gr,Rr);for(var bn=0,rn=Lt;bnN1&&ie(y.layerIds[0]+': Value for "icon-size" is >= '+PS+'. Reduce your "icon-size".')):dv.kind==="composite"&&(Ph=[Cd*In.compositeIconSizes[0].evaluate(xn,{},ga),Cd*In.compositeIconSizes[1].evaluate(xn,{},ga)],(Ph[0]>N1||Ph[1]>N1)&&ie(y.layerIds[0]+': Value for "icon-size" is >= '+PS+'. Reduce your "icon-size".')),y.addSymbols(y.icon,Qh,Ph,rn,bn,xn,!1,_,za.lineStartIndex,za.lineLength,-1,ga),kl=y.icon.placedSymbolArray.length-1,hv&&(jo=hv.length*4,y.addSymbols(y.icon,hv,Ph,rn,bn,xn,cv.vertical,_,za.lineStartIndex,za.lineLength,-1,ga),Cl=y.icon.placedSymbolArray.length-1)}for(var vv in U.horizontal){var bp=U.horizontal[vv];if(!Za){Qu=K(bp.text);var Ty=De.layout.get("text-rotate").evaluate(xn,{},ga);Za=new l6(it,_,yt,Lt,sr,bp,gr,hr,Rr,Ty)}var V1=bp.positionedLines.length===1;if(El+=JQ(y,_,bp,oe,De,Rr,xn,ni,za,U.vertical?cv.horizontal:cv.horizontalOnly,V1?Object.keys(U.horizontal):[vv],yl,kl,In,ga),V1)break}U.vertical&&(Iu+=JQ(y,_,U.vertical,oe,De,Rr,xn,ni,za,cv.vertical,["vertical"],yl,Cl,In,ga));var G1=Za?Za.boxStartIndex:y.collisionBoxArray.length,H1=Za?Za.boxEndIndex:y.collisionBoxArray.length,f3=to?to.boxStartIndex:y.collisionBoxArray.length,y0=to?to.boxEndIndex:y.collisionBoxArray.length,d6=Jo?Jo.boxStartIndex:y.collisionBoxArray.length,Aq=Jo?Jo.boxEndIndex:y.collisionBoxArray.length,v6=ao?ao.boxStartIndex:y.collisionBoxArray.length,Sq=ao?ao.boxEndIndex:y.collisionBoxArray.length,Hp=-1,h3=function(DS,vee){return DS&&DS.circleDiameter?Math.max(DS.circleDiameter,vee):vee};Hp=h3(Za,Hp),Hp=h3(to,Hp),Hp=h3(Jo,Hp),Hp=h3(ao,Hp);var p6=Hp>-1?1:0;p6&&(Hp*=ha/Tn),y.glyphOffsetArray.length>=Pu.MAX_GLYPHS&&ie("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),xn.sortKey!==void 0&&y.addToSortKeyRanges(y.symbolInstances.length,xn.sortKey),y.symbolInstances.emplaceBack(_.x,_.y,yl.right>=0?yl.right:-1,yl.center>=0?yl.center:-1,yl.left>=0?yl.left:-1,yl.vertical||-1,kl,Cl,Qu,G1,H1,f3,y0,d6,Aq,v6,Sq,yt,El,Iu,_s,jo,p6,0,gr,gc,Sf,Hp)}function Yet(y,_,I,U){var $=y.compareText;if(!(_ in $))$[_]=[];else for(var oe=$[_],he=oe.length-1;he>=0;he--)if(U.dist(oe[he])0)&&(he.value.kind!=="constant"||he.value.value.length>0),Lt=it.value.kind!=="constant"||!!it.value.value||Object.keys(it.parameters).length>0,sr=oe.get("symbol-sort-key");if(this.features=[],!(!yt&&!Lt)){for(var gr=I.iconDependencies,hr=I.glyphDependencies,Rr=I.availableImages,ni=new Un(this.zoom),Hi=0,wi=_;Hi=0;for(var Iu=0,kl=eo.sections;Iu=0;it--)he[it]={x:I[it].x,y:I[it].y,tileUnitDistanceFromAnchor:oe},it>0&&(oe+=I[it-1].dist(I[it]));for(var yt=0;yt0},Pu.prototype.hasIconData=function(){return this.icon.segments.get().length>0},Pu.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},Pu.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},Pu.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},Pu.prototype.addIndicesForPlacedSymbol=function(_,I){for(var U=_.placedSymbolArray.get(I),$=U.vertexStartIndex+U.numGlyphs*4,oe=U.vertexStartIndex;oe<$;oe+=4)_.indexArray.emplaceBack(oe,oe+1,oe+2),_.indexArray.emplaceBack(oe+1,oe+2,oe+3)},Pu.prototype.getSortedSymbolIndexes=function(_){if(this.sortedAngle===_&&this.symbolInstanceIndexes!==void 0)return this.symbolInstanceIndexes;for(var I=Math.sin(_),U=Math.cos(_),$=[],oe=[],he=[],De=0;De1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(_),this.sortedAngle=_,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var U=0,$=this.symbolInstanceIndexes;U<$.length;U+=1){var oe=$[U],he=this.symbolInstances.get(oe);this.featureSortOrder.push(he.featureIndex),[he.rightJustifiedTextSymbolIndex,he.centerJustifiedTextSymbolIndex,he.leftJustifiedTextSymbolIndex].forEach(function(De,it,yt){De>=0&&yt.indexOf(De)===it&&I.addIndicesForPlacedSymbol(I.text,De)}),he.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,he.verticalPlacedTextSymbolIndex),he.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,he.placedIconSymbolIndex),he.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,he.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},X("SymbolBucket",Pu,{omit:["layers","collisionBoxArray","features","compareText"]}),Pu.MAX_GLYPHS=65535,Pu.addDynamicAttributes=_q;function Qet(y,_){return _.replace(/{([^{}]+)}/g,function(I,U){return U in y?String(y[U]):""})}var ett=new Or({"symbol-placement":new Me(Rn.layout_symbol["symbol-placement"]),"symbol-spacing":new Me(Rn.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Me(Rn.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new bt(Rn.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Me(Rn.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Me(Rn.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new Me(Rn.layout_symbol["icon-ignore-placement"]),"icon-optional":new Me(Rn.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Me(Rn.layout_symbol["icon-rotation-alignment"]),"icon-size":new bt(Rn.layout_symbol["icon-size"]),"icon-text-fit":new Me(Rn.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Me(Rn.layout_symbol["icon-text-fit-padding"]),"icon-image":new bt(Rn.layout_symbol["icon-image"]),"icon-rotate":new bt(Rn.layout_symbol["icon-rotate"]),"icon-padding":new Me(Rn.layout_symbol["icon-padding"]),"icon-keep-upright":new Me(Rn.layout_symbol["icon-keep-upright"]),"icon-offset":new bt(Rn.layout_symbol["icon-offset"]),"icon-anchor":new bt(Rn.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Me(Rn.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Me(Rn.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Me(Rn.layout_symbol["text-rotation-alignment"]),"text-field":new bt(Rn.layout_symbol["text-field"]),"text-font":new bt(Rn.layout_symbol["text-font"]),"text-size":new bt(Rn.layout_symbol["text-size"]),"text-max-width":new bt(Rn.layout_symbol["text-max-width"]),"text-line-height":new Me(Rn.layout_symbol["text-line-height"]),"text-letter-spacing":new bt(Rn.layout_symbol["text-letter-spacing"]),"text-justify":new bt(Rn.layout_symbol["text-justify"]),"text-radial-offset":new bt(Rn.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Me(Rn.layout_symbol["text-variable-anchor"]),"text-anchor":new bt(Rn.layout_symbol["text-anchor"]),"text-max-angle":new Me(Rn.layout_symbol["text-max-angle"]),"text-writing-mode":new Me(Rn.layout_symbol["text-writing-mode"]),"text-rotate":new bt(Rn.layout_symbol["text-rotate"]),"text-padding":new Me(Rn.layout_symbol["text-padding"]),"text-keep-upright":new Me(Rn.layout_symbol["text-keep-upright"]),"text-transform":new bt(Rn.layout_symbol["text-transform"]),"text-offset":new bt(Rn.layout_symbol["text-offset"]),"text-allow-overlap":new Me(Rn.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new Me(Rn.layout_symbol["text-ignore-placement"]),"text-optional":new Me(Rn.layout_symbol["text-optional"])}),ttt=new Or({"icon-opacity":new bt(Rn.paint_symbol["icon-opacity"]),"icon-color":new bt(Rn.paint_symbol["icon-color"]),"icon-halo-color":new bt(Rn.paint_symbol["icon-halo-color"]),"icon-halo-width":new bt(Rn.paint_symbol["icon-halo-width"]),"icon-halo-blur":new bt(Rn.paint_symbol["icon-halo-blur"]),"icon-translate":new Me(Rn.paint_symbol["icon-translate"]),"icon-translate-anchor":new Me(Rn.paint_symbol["icon-translate-anchor"]),"text-opacity":new bt(Rn.paint_symbol["text-opacity"]),"text-color":new bt(Rn.paint_symbol["text-color"],{runtimeType:Ol,getOverride:function(y){return y.textColor},hasOverride:function(y){return!!y.textColor}}),"text-halo-color":new bt(Rn.paint_symbol["text-halo-color"]),"text-halo-width":new bt(Rn.paint_symbol["text-halo-width"]),"text-halo-blur":new bt(Rn.paint_symbol["text-halo-blur"]),"text-translate":new Me(Rn.paint_symbol["text-translate"]),"text-translate-anchor":new Me(Rn.paint_symbol["text-translate-anchor"])}),xq={paint:ttt,layout:ett},l3=function(_){this.type=_.property.overrides?_.property.overrides.runtimeType:ac,this.defaultValue=_};l3.prototype.evaluate=function(_){if(_.formattedSection){var I=this.defaultValue.property.overrides;if(I&&I.hasOverride(_.formattedSection))return I.getOverride(_.formattedSection)}return _.feature&&_.featureState?this.defaultValue.evaluate(_.feature,_.featureState):this.defaultValue.property.specification.default},l3.prototype.eachChild=function(_){if(!this.defaultValue.isConstant()){var I=this.defaultValue.value;_(I._styleExpression.expression)}},l3.prototype.outputDefined=function(){return!1},l3.prototype.serialize=function(){return null},X("FormatSectionOverride",l3,{omit:["defaultValue"]});var rtt=function(y){function _(I){y.call(this,I,xq)}return y&&(_.__proto__=y),_.prototype=Object.create(y&&y.prototype),_.prototype.constructor=_,_.prototype.recalculate=function(U,$){if(y.prototype.recalculate.call(this,U,$),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 oe=this.layout.get("text-writing-mode");if(oe){for(var he=[],De=0,it=oe;De",targetMapId:$,sourceMapId:he.mapId})}}},u3.prototype.receive=function(_){var I=_.data,U=I.id;if(U&&!(I.targetMapId&&this.mapId!==I.targetMapId))if(I.type===""){delete this.tasks[U];var $=this.cancelCallbacks[U];delete this.cancelCallbacks[U],$&&$()}else Ce()||I.mustQueue?(this.tasks[U]=I,this.taskQueue.push(U),this.invoker.trigger()):this.processTask(U,I)},u3.prototype.process=function(){if(this.taskQueue.length){var _=this.taskQueue.shift(),I=this.tasks[_];delete this.tasks[_],this.taskQueue.length&&this.invoker.trigger(),I&&this.processTask(_,I)}},u3.prototype.processTask=function(_,I){var U=this;if(I.type===""){var $=this.callbacks[_];delete this.callbacks[_],$&&(I.error?$(Ye(I.error)):$(null,Ye(I.data)))}else{var oe=!1,he=Se(this.globalScope)?void 0:[],De=I.hasCallback?function(gr,hr){oe=!0,delete U.cancelCallbacks[_],U.target.postMessage({id:_,type:"",sourceMapId:U.mapId,error:gr?Ve(gr):null,data:Ve(hr,he)},he)}:function(gr){oe=!0},it=null,yt=Ye(I.data);if(this.parent[I.type])it=this.parent[I.type](I.sourceMapId,yt,De);else if(this.parent.getWorkerSource){var Lt=I.type.split("."),sr=this.parent.getWorkerSource(I.sourceMapId,Lt[0],yt.source);it=sr[Lt[1]](yt,De)}else De(new Error("Could not find function "+I.type));!oe&&it&&it.cancel&&(this.cancelCallbacks[_]=it.cancel)}},u3.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)};function dtt(y,_,I){_=Math.pow(2,I)-_-1;var U=iee(y*256,_*256,I),$=iee((y+1)*256,(_+1)*256,I);return U[0]+","+U[1]+","+$[0]+","+$[1]}function iee(y,_,I){var U=2*Math.PI*6378137/256/Math.pow(2,I),$=y*U-2*Math.PI*6378137/2,oe=_*U-2*Math.PI*6378137/2;return[$,oe]}var lh=function(_,I){_&&(I?this.setSouthWest(_).setNorthEast(I):_.length===4?this.setSouthWest([_[0],_[1]]).setNorthEast([_[2],_[3]]):this.setSouthWest(_[0]).setNorthEast(_[1]))};lh.prototype.setNorthEast=function(_){return this._ne=_ instanceof Hc?new Hc(_.lng,_.lat):Hc.convert(_),this},lh.prototype.setSouthWest=function(_){return this._sw=_ instanceof Hc?new Hc(_.lng,_.lat):Hc.convert(_),this},lh.prototype.extend=function(_){var I=this._sw,U=this._ne,$,oe;if(_ instanceof Hc)$=_,oe=_;else if(_ instanceof lh){if($=_._sw,oe=_._ne,!$||!oe)return this}else{if(Array.isArray(_))if(_.length===4||_.every(Array.isArray)){var he=_;return this.extend(lh.convert(he))}else{var De=_;return this.extend(Hc.convert(De))}return this}return!I&&!U?(this._sw=new Hc($.lng,$.lat),this._ne=new Hc(oe.lng,oe.lat)):(I.lng=Math.min($.lng,I.lng),I.lat=Math.min($.lat,I.lat),U.lng=Math.max(oe.lng,U.lng),U.lat=Math.max(oe.lat,U.lat)),this},lh.prototype.getCenter=function(){return new Hc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},lh.prototype.getSouthWest=function(){return this._sw},lh.prototype.getNorthEast=function(){return this._ne},lh.prototype.getNorthWest=function(){return new Hc(this.getWest(),this.getNorth())},lh.prototype.getSouthEast=function(){return new Hc(this.getEast(),this.getSouth())},lh.prototype.getWest=function(){return this._sw.lng},lh.prototype.getSouth=function(){return this._sw.lat},lh.prototype.getEast=function(){return this._ne.lng},lh.prototype.getNorth=function(){return this._ne.lat},lh.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},lh.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},lh.prototype.isEmpty=function(){return!(this._sw&&this._ne)},lh.prototype.contains=function(_){var I=Hc.convert(_),U=I.lng,$=I.lat,oe=this._sw.lat<=$&&$<=this._ne.lat,he=this._sw.lng<=U&&U<=this._ne.lng;return this._sw.lng>this._ne.lng&&(he=this._sw.lng>=U&&U>=this._ne.lng),oe&&he},lh.convert=function(_){return!_||_ instanceof lh?_:new lh(_)};var nee=63710088e-1,Hc=function(_,I){if(isNaN(_)||isNaN(I))throw new Error("Invalid LngLat object: ("+_+", "+I+")");if(this.lng=+_,this.lat=+I,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};Hc.prototype.wrap=function(){return new Hc(k(this.lng,-180,180),this.lat)},Hc.prototype.toArray=function(){return[this.lng,this.lat]},Hc.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},Hc.prototype.distanceTo=function(_){var I=Math.PI/180,U=this.lat*I,$=_.lat*I,oe=Math.sin(U)*Math.sin($)+Math.cos(U)*Math.cos($)*Math.cos((_.lng-this.lng)*I),he=nee*Math.acos(Math.min(oe,1));return he},Hc.prototype.toBounds=function(_){_===void 0&&(_=0);var I=40075017,U=360*_/I,$=U/Math.cos(Math.PI/180*this.lat);return new lh(new Hc(this.lng-$,this.lat-U),new Hc(this.lng+$,this.lat+U))},Hc.convert=function(_){if(_ instanceof Hc)return _;if(Array.isArray(_)&&(_.length===2||_.length===3))return new Hc(Number(_[0]),Number(_[1]));if(!Array.isArray(_)&&typeof _=="object"&&_!==null)return new Hc(Number("lng"in _?_.lng:_.lon),Number(_.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 aee=2*Math.PI*nee;function oee(y){return aee*Math.cos(y*Math.PI/180)}function see(y){return(180+y)/360}function lee(y){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+y*Math.PI/360)))/360}function uee(y,_){return y/oee(_)}function vtt(y){return y*360-180}function wq(y){var _=180-y*360;return 360/Math.PI*Math.atan(Math.exp(_*Math.PI/180))-90}function ptt(y,_){return y*oee(wq(_))}function gtt(y){return 1/Math.cos(y*Math.PI/180)}var vb=function(_,I,U){U===void 0&&(U=0),this.x=+_,this.y=+I,this.z=+U};vb.fromLngLat=function(_,I){I===void 0&&(I=0);var U=Hc.convert(_);return new vb(see(U.lng),lee(U.lat),uee(I,U.lat))},vb.prototype.toLngLat=function(){return new Hc(vtt(this.x),wq(this.y))},vb.prototype.toAltitude=function(){return ptt(this.z,this.y)},vb.prototype.meterInMercatorCoordinateUnits=function(){return 1/aee*gtt(wq(this.y))};var pb=function(_,I,U){this.z=_,this.x=I,this.y=U,this.key=RS(0,_,_,I,U)};pb.prototype.equals=function(_){return this.z===_.z&&this.x===_.x&&this.y===_.y},pb.prototype.url=function(_,I){var U=dtt(this.x,this.y,this.z),$=mtt(this.z,this.x,this.y);return _[(this.x+this.y)%_.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(I==="tms"?Math.pow(2,this.z)-this.y-1:this.y)).replace("{quadkey}",$).replace("{bbox-epsg-3857}",U)},pb.prototype.getTilePoint=function(_){var I=Math.pow(2,this.z);return new u((_.x*I-this.x)*Ei,(_.y*I-this.y)*Ei)},pb.prototype.toString=function(){return this.z+"/"+this.x+"/"+this.y};var cee=function(_,I){this.wrap=_,this.canonical=I,this.key=RS(_,I.z,I.z,I.x,I.y)},uh=function(_,I,U,$,oe){this.overscaledZ=_,this.wrap=I,this.canonical=new pb(U,+$,+oe),this.key=RS(I,_,U,$,oe)};uh.prototype.equals=function(_){return this.overscaledZ===_.overscaledZ&&this.wrap===_.wrap&&this.canonical.equals(_.canonical)},uh.prototype.scaledTo=function(_){var I=this.canonical.z-_;return _>this.canonical.z?new uh(_,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new uh(_,this.wrap,_,this.canonical.x>>I,this.canonical.y>>I)},uh.prototype.calculateScaledKey=function(_,I){var U=this.canonical.z-_;return _>this.canonical.z?RS(this.wrap*+I,_,this.canonical.z,this.canonical.x,this.canonical.y):RS(this.wrap*+I,_,_,this.canonical.x>>U,this.canonical.y>>U)},uh.prototype.isChildOf=function(_){if(_.wrap!==this.wrap)return!1;var I=this.canonical.z-_.canonical.z;return _.overscaledZ===0||_.overscaledZ>I&&_.canonical.y===this.canonical.y>>I},uh.prototype.children=function(_){if(this.overscaledZ>=_)return[new uh(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var I=this.canonical.z+1,U=this.canonical.x*2,$=this.canonical.y*2;return[new uh(I,this.wrap,I,U,$),new uh(I,this.wrap,I,U+1,$),new uh(I,this.wrap,I,U,$+1),new uh(I,this.wrap,I,U+1,$+1)]},uh.prototype.isLessThan=function(_){return this.wrap<_.wrap?!0:this.wrap>_.wrap?!1:this.overscaledZ<_.overscaledZ?!0:this.overscaledZ>_.overscaledZ?!1:this.canonical.x<_.canonical.x?!0:this.canonical.x>_.canonical.x?!1:this.canonical.y<_.canonical.y},uh.prototype.wrapped=function(){return new uh(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},uh.prototype.unwrapTo=function(_){return new uh(this.overscaledZ,_,this.canonical.z,this.canonical.x,this.canonical.y)},uh.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},uh.prototype.toUnwrapped=function(){return new cee(this.wrap,this.canonical)},uh.prototype.toString=function(){return this.overscaledZ+"/"+this.canonical.x+"/"+this.canonical.y},uh.prototype.getTilePoint=function(_){return this.canonical.getTilePoint(new vb(_.x-this.wrap,_.y))};function RS(y,_,I,U,$){y*=2,y<0&&(y=y*-1-1);var oe=1<0;oe--)$=1<=this.dim+1||I<-1||I>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(I+1)*this.stride+(_+1)},by.prototype._unpackMapbox=function(_,I,U){return(_*256*256+I*256+U)/10-1e4},by.prototype._unpackTerrarium=function(_,I,U){return _*256+I+U/256-32768},by.prototype.getPixels=function(){return new Eh({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},by.prototype.backfillBorder=function(_,I,U){if(this.dim!==_.dim)throw new Error("dem dimension mismatch");var $=I*this.dim,oe=I*this.dim+this.dim,he=U*this.dim,De=U*this.dim+this.dim;switch(I){case-1:$=oe-1;break;case 1:oe=$+1;break}switch(U){case-1:he=De-1;break;case 1:De=he+1;break}for(var it=-I*this.dim,yt=-U*this.dim,Lt=he;Lt=0&&sr[3]>=0&&it.insert(De,sr[0],sr[1],sr[2],sr[3])}},wy.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new mg.VectorTile(new Xa(this.rawTileData)).layers,this.sourceLayerCoder=new f6(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},wy.prototype.query=function(_,I,U,$){var oe=this;this.loadVTLayers();for(var he=_.params||{},De=Ei/_.tileSize/_.scale,it=xe(he.filter),yt=_.queryGeometry,Lt=_.queryPadding*De,sr=hee(yt),gr=this.grid.query(sr.minX-Lt,sr.minY-Lt,sr.maxX+Lt,sr.maxY+Lt),hr=hee(_.cameraQueryGeometry),Rr=this.grid3D.query(hr.minX-Lt,hr.minY-Lt,hr.maxX+Lt,hr.maxY+Lt,function(Xn,ga,ha,eo){return mp(_.cameraQueryGeometry,Xn-Lt,ga-Lt,ha+Lt,eo+Lt)}),ni=0,Hi=Rr;ni$)oe=!1;else if(!I)oe=!0;else if(this.expirationTime=Ha.maxzoom)&&Ha.visibility!=="none"){h(jn,this.zoom,ir);var vo=Zi[Ha.id]=Ha.createBucket({index:Ri.bucketLayerIDs.length,layers:jn,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:Ba,sourceID:this.source});vo.populate(ua,en,this.tileID.canonical),Ri.bucketLayerIDs.push(jn.map(function(ki){return ki.id}))}}}}var Gn,Ct,Sr,Jr,hi=i.mapObject(en.glyphDependencies,function(ki){return Object.keys(ki).map(Number)});Object.keys(hi).length?wr.send("getGlyphs",{uid:this.uid,stacks:hi},function(ki,_n){Gn||(Gn=ki,Ct=_n,En.call(ti))}):Ct={};var hn=Object.keys(en.iconDependencies);hn.length?wr.send("getImages",{icons:hn,source:this.source,tileID:this.tileID,type:"icons"},function(ki,_n){Gn||(Gn=ki,Sr=_n,En.call(ti))}):Sr={};var Sn=Object.keys(en.patternDependencies);Sn.length?wr.send("getImages",{icons:Sn,source:this.source,tileID:this.tileID,type:"patterns"},function(ki,_n){Gn||(Gn=ki,Jr=_n,En.call(ti))}):Jr={},En.call(this);function En(){if(Gn)return Xr(Gn);if(Ct&&Sr&&Jr){var ki=new c(Ct),_n=new i.ImageAtlas(Sr,Jr);for(var ya in Zi){var ea=Zi[ya];ea instanceof i.SymbolBucket?(h(ea.layers,this.zoom,ir),i.performSymbolLayout(ea,Ct,ki.positions,Sr,_n.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):ea.hasPattern&&(ea instanceof i.LineBucket||ea instanceof i.FillBucket||ea instanceof i.FillExtrusionBucket)&&(h(ea.layers,this.zoom,ir),ea.addFeatures(en,this.tileID.canonical,_n.patternPositions))}this.status="done",Xr(null,{buckets:i.values(Zi).filter(function(Ma){return!Ma.isEmpty()}),featureIndex:Ri,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:ki.image,imageAtlas:_n,glyphMap:this.returnDependencies?Ct:null,iconMap:this.returnDependencies?Sr:null,glyphPositions:this.returnDependencies?ki.positions:null})}}};function h(Gt,wt,tr){for(var ir=new i.EvaluationParameters(wt),wr=0,Xr=Gt;wr=0!=!!wt&&Gt.reverse()}var L=i.vectorTile.VectorTileFeature.prototype.toGeoJSON,x=function(wt){this._feature=wt,this.extent=i.EXTENT,this.type=wt.type,this.properties=wt.tags,"id"in wt&&!isNaN(wt.id)&&(this.id=parseInt(wt.id,10))};x.prototype.loadGeometry=function(){if(this._feature.type===1){for(var wt=[],tr=0,ir=this._feature.geometry;tr>31}function Ce(Gt,wt){for(var tr=Gt.loadGeometry(),ir=Gt.type,wr=0,Xr=0,ti=tr.length,$r=0;$r>1;Se(Gt,wt,ti,ir,wr,Xr%2),re(Gt,wt,tr,ir,ti-1,Xr+1),re(Gt,wt,tr,ti+1,wr,Xr+1)}}function Se(Gt,wt,tr,ir,wr,Xr){for(;wr>ir;){if(wr-ir>600){var ti=wr-ir+1,$r=tr-ir+1,Ri=Math.log(ti),Zi=.5*Math.exp(2*Ri/3),en=.5*Math.sqrt(Ri*Zi*(ti-Zi)/ti)*($r-ti/2<0?-1:1),fn=Math.max(ir,Math.floor(tr-$r*Zi/ti+en)),yn=Math.min(wr,Math.floor(tr+(ti-$r)*Zi/ti+en));Se(Gt,wt,tr,fn,yn,Xr)}var Mn=wt[2*tr+Xr],Ba=ir,ua=wr;for(ke(Gt,wt,ir,tr),wt[2*wr+Xr]>Mn&&ke(Gt,wt,ir,wr);BaMn;)ua--}wt[2*ir+Xr]===Mn?ke(Gt,wt,ir,ua):(ua++,ke(Gt,wt,ua,wr)),ua<=tr&&(ir=ua+1),tr<=ua&&(wr=ua-1)}}function ke(Gt,wt,tr,ir){be(Gt,tr,ir),be(wt,2*tr,2*ir),be(wt,2*tr+1,2*ir+1)}function be(Gt,wt,tr){var ir=Gt[wt];Gt[wt]=Gt[tr],Gt[tr]=ir}function Be(Gt,wt,tr,ir,wr,Xr,ti){for(var $r=[0,Gt.length-1,0],Ri=[],Zi,en;$r.length;){var fn=$r.pop(),yn=$r.pop(),Mn=$r.pop();if(yn-Mn<=ti){for(var Ba=Mn;Ba<=yn;Ba++)Zi=wt[2*Ba],en=wt[2*Ba+1],Zi>=tr&&Zi<=wr&&en>=ir&&en<=Xr&&Ri.push(Gt[Ba]);continue}var ua=Math.floor((Mn+yn)/2);Zi=wt[2*ua],en=wt[2*ua+1],Zi>=tr&&Zi<=wr&&en>=ir&&en<=Xr&&Ri.push(Gt[ua]);var ma=(fn+1)%2;(fn===0?tr<=Zi:ir<=en)&&($r.push(Mn),$r.push(ua-1),$r.push(ma)),(fn===0?wr>=Zi:Xr>=en)&&($r.push(ua+1),$r.push(yn),$r.push(ma))}return Ri}function Le(Gt,wt,tr,ir,wr,Xr){for(var ti=[0,Gt.length-1,0],$r=[],Ri=wr*wr;ti.length;){var Zi=ti.pop(),en=ti.pop(),fn=ti.pop();if(en-fn<=Xr){for(var yn=fn;yn<=en;yn++)me(wt[2*yn],wt[2*yn+1],tr,ir)<=Ri&&$r.push(Gt[yn]);continue}var Mn=Math.floor((fn+en)/2),Ba=wt[2*Mn],ua=wt[2*Mn+1];me(Ba,ua,tr,ir)<=Ri&&$r.push(Gt[Mn]);var ma=(Zi+1)%2;(Zi===0?tr-wr<=Ba:ir-wr<=ua)&&(ti.push(fn),ti.push(Mn-1),ti.push(ma)),(Zi===0?tr+wr>=Ba:ir+wr>=ua)&&(ti.push(Mn+1),ti.push(en),ti.push(ma))}return $r}function me(Gt,wt,tr,ir){var wr=Gt-tr,Xr=wt-ir;return wr*wr+Xr*Xr}var Pe=function(Gt){return Gt[0]},ce=function(Gt){return Gt[1]},He=function(wt,tr,ir,wr,Xr){tr===void 0&&(tr=Pe),ir===void 0&&(ir=ce),wr===void 0&&(wr=64),Xr===void 0&&(Xr=Float64Array),this.nodeSize=wr,this.points=wt;for(var ti=wt.length<65536?Uint16Array:Uint32Array,$r=this.ids=new ti(wt.length),Ri=this.coords=new Xr(wt.length*2),Zi=0;Zi=wr;en--){var fn=+Date.now();Ri=this._cluster(Ri,en),this.trees[en]=new He(Ri,Ae,rt,ti,Float32Array),ir&&console.log("z%d: %d clusters in %dms",en,Ri.length,+Date.now()-fn)}return ir&&console.timeEnd("total time"),this},mt.prototype.getClusters=function(wt,tr){var ir=((wt[0]+180)%360+360)%360-180,wr=Math.max(-90,Math.min(90,wt[1])),Xr=wt[2]===180?180:((wt[2]+180)%360+360)%360-180,ti=Math.max(-90,Math.min(90,wt[3]));if(wt[2]-wt[0]>=360)ir=-180,Xr=180;else if(ir>Xr){var $r=this.getClusters([ir,wr,180,ti],tr),Ri=this.getClusters([-180,wr,Xr,ti],tr);return $r.concat(Ri)}for(var Zi=this.trees[this._limitZoom(tr)],en=Zi.range(Vt(ir),rr(ti),Vt(Xr),rr(wr)),fn=[],yn=0,Mn=en;yntr&&(ua+=Xo.numPoints||1)}if(ua>=Ri){for(var da=fn.x*Ba,jn=fn.y*Ba,Ha=$r&&Ba>1?this._map(fn,!0):null,vo=(en<<5)+(tr+1)+this.points.length,Gn=0,Ct=Mn;Gn1)for(var hn=0,Sn=Mn;hn>5},mt.prototype._getOriginZoom=function(wt){return(wt-this.points.length)%32},mt.prototype._map=function(wt,tr){if(wt.numPoints)return tr?Ue({},wt.properties):wt.properties;var ir=this.points[wt.index].properties,wr=this.options.map(ir);return tr&&wr===ir?Ue({},wr):wr};function Ht(Gt,wt,tr,ir,wr){return{x:Gt,y:wt,zoom:1/0,id:tr,parentId:-1,numPoints:ir,properties:wr}}function at(Gt,wt){var tr=Gt.geometry.coordinates,ir=tr[0],wr=tr[1];return{x:Vt(ir),y:rr(wr),zoom:1/0,index:wt,parentId:-1}}function ct(Gt){return{type:"Feature",id:Gt.id,properties:ar(Gt),geometry:{type:"Point",coordinates:[tt(Gt.x),je(Gt.y)]}}}function ar(Gt){var wt=Gt.numPoints,tr=wt>=1e4?Math.round(wt/1e3)+"k":wt>=1e3?Math.round(wt/100)/10+"k":wt;return Ue(Ue({},Gt.properties),{cluster:!0,cluster_id:Gt.id,point_count:wt,point_count_abbreviated:tr})}function Vt(Gt){return Gt/360+.5}function rr(Gt){var wt=Math.sin(Gt*Math.PI/180),tr=.5-.25*Math.log((1+wt)/(1-wt))/Math.PI;return tr<0?0:tr>1?1:tr}function tt(Gt){return(Gt-.5)*360}function je(Gt){var wt=(180-Gt*360)*Math.PI/180;return 360*Math.atan(Math.exp(wt))/Math.PI-90}function Ue(Gt,wt){for(var tr in wt)Gt[tr]=wt[tr];return Gt}function Ae(Gt){return Gt.x}function rt(Gt){return Gt.y}function St(Gt,wt,tr,ir){for(var wr=ir,Xr=tr-wt>>1,ti=tr-wt,$r,Ri=Gt[wt],Zi=Gt[wt+1],en=Gt[tr],fn=Gt[tr+1],yn=wt+3;ynwr)$r=yn,wr=Mn;else if(Mn===wr){var Ba=Math.abs(yn-Xr);Bair&&($r-wt>3&&St(Gt,wt,$r,ir),Gt[$r+2]=wr,tr-$r>3&&St(Gt,$r,tr,ir))}function Tt(Gt,wt,tr,ir,wr,Xr){var ti=wr-tr,$r=Xr-ir;if(ti!==0||$r!==0){var Ri=((Gt-tr)*ti+(wt-ir)*$r)/(ti*ti+$r*$r);Ri>1?(tr=wr,ir=Xr):Ri>0&&(tr+=ti*Ri,ir+=$r*Ri)}return ti=Gt-tr,$r=wt-ir,ti*ti+$r*$r}function dt(Gt,wt,tr,ir){var wr={id:typeof Gt=="undefined"?null:Gt,type:wt,geometry:tr,tags:ir,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return Et(wr),wr}function Et(Gt){var wt=Gt.geometry,tr=Gt.type;if(tr==="Point"||tr==="MultiPoint"||tr==="LineString")pt(Gt,wt);else if(tr==="Polygon"||tr==="MultiLineString")for(var ir=0;ir0&&(ir?ti+=(wr*Zi-Ri*Xr)/2:ti+=Math.sqrt(Math.pow(Ri-wr,2)+Math.pow(Zi-Xr,2))),wr=Ri,Xr=Zi}var en=wt.length-3;wt[2]=1,St(wt,0,en,tr),wt[en+2]=1,wt.size=Math.abs(ti),wt.start=0,wt.end=wt.size}function ei(Gt,wt,tr,ir){for(var wr=0;wr1?1:tr}function gt(Gt,wt,tr,ir,wr,Xr,ti,$r){if(tr/=wt,ir/=wt,Xr>=tr&&ti=ir)return null;for(var Ri=[],Zi=0;Zi=tr&&Ba=ir)continue;var ua=[];if(yn==="Point"||yn==="MultiPoint")Ge(fn,ua,tr,ir,wr);else if(yn==="LineString")Je(fn,ua,tr,ir,wr,!1,$r.lineMetrics);else if(yn==="MultiLineString")et(fn,ua,tr,ir,wr,!1);else if(yn==="Polygon")et(fn,ua,tr,ir,wr,!0);else if(yn==="MultiPolygon")for(var ma=0;ma=tr&&ti<=ir&&(wt.push(Gt[Xr]),wt.push(Gt[Xr+1]),wt.push(Gt[Xr+2]))}}function Je(Gt,wt,tr,ir,wr,Xr,ti){for(var $r=We(Gt),Ri=wr===0?At:Kt,Zi=Gt.start,en,fn,yn=0;yntr&&(fn=Ri($r,Mn,Ba,ma,Wa,tr),ti&&($r.start=Zi+en*fn)):Fa>ir?Xo=tr&&(fn=Ri($r,Mn,Ba,ma,Wa,tr),da=!0),Xo>ir&&Fa<=ir&&(fn=Ri($r,Mn,Ba,ma,Wa,ir),da=!0),!Xr&&da&&(ti&&($r.end=Zi+en*fn),wt.push($r),$r=We(Gt)),ti&&(Zi+=en)}var jn=Gt.length-3;Mn=Gt[jn],Ba=Gt[jn+1],ua=Gt[jn+2],Fa=wr===0?Mn:Ba,Fa>=tr&&Fa<=ir&&xt($r,Mn,Ba,ua),jn=$r.length-3,Xr&&jn>=3&&($r[jn]!==$r[0]||$r[jn+1]!==$r[1])&&xt($r,$r[0],$r[1],$r[2]),$r.length&&wt.push($r)}function We(Gt){var wt=[];return wt.size=Gt.size,wt.start=Gt.start,wt.end=Gt.end,wt}function et(Gt,wt,tr,ir,wr,Xr){for(var ti=0;titi.maxX&&(ti.maxX=en),fn>ti.maxY&&(ti.maxY=fn)}return ti}function Pi(Gt,wt,tr,ir){var wr=wt.geometry,Xr=wt.type,ti=[];if(Xr==="Point"||Xr==="MultiPoint")for(var $r=0;$r0&&wt.size<(wr?ti:ir)){tr.numPoints+=wt.length/3;return}for(var $r=[],Ri=0;Riti)&&(tr.numSimplified++,$r.push(wt[Ri]),$r.push(wt[Ri+1])),tr.numPoints++;wr&&mi($r,Xr),Gt.push($r)}function mi(Gt,wt){for(var tr=0,ir=0,wr=Gt.length,Xr=wr-2;ir0===wt)for(ir=0,wr=Gt.length;ir24)throw new Error("maxZoom should be in the 0-24 range");if(wt.promoteId&&wt.generateId)throw new Error("promoteId and generateId cannot be used together.");var ir=jt(Gt,wt);this.tiles={},this.tileCoords=[],tr&&(console.timeEnd("preprocess data"),console.log("index: maxZoom: %d, maxPoints: %d",wt.indexMaxZoom,wt.indexMaxPoints),console.time("generate tiles"),this.stats={},this.total=0),ir=Qt(ir,wt),ir.length&&this.splitTile(ir,0,0,0),tr&&(ir.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)))}Fn.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},Fn.prototype.splitTile=function(Gt,wt,tr,ir,wr,Xr,ti){for(var $r=[Gt,wt,tr,ir],Ri=this.options,Zi=Ri.debug;$r.length;){ir=$r.pop(),tr=$r.pop(),wt=$r.pop(),Gt=$r.pop();var en=1<1&&console.time("creation"),yn=this.tiles[fn]=_i(Gt,wt,tr,ir,Ri),this.tileCoords.push({z:wt,x:tr,y:ir}),Zi)){Zi>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",wt,tr,ir,yn.numFeatures,yn.numPoints,yn.numSimplified),console.timeEnd("creation"));var Mn="z"+wt;this.stats[Mn]=(this.stats[Mn]||0)+1,this.total++}if(yn.source=Gt,wr){if(wt===Ri.maxZoom||wt===wr)continue;var Ba=1<1&&console.time("clipping");var ua=.5*Ri.buffer/Ri.extent,ma=.5-ua,Wa=.5+ua,Fa=1+ua,Xo,da,jn,Ha,vo,Gn;Xo=da=jn=Ha=null,vo=gt(Gt,en,tr-ua,tr+Wa,0,yn.minX,yn.maxX,Ri),Gn=gt(Gt,en,tr+ma,tr+Fa,0,yn.minX,yn.maxX,Ri),Gt=null,vo&&(Xo=gt(vo,en,ir-ua,ir+Wa,1,yn.minY,yn.maxY,Ri),da=gt(vo,en,ir+ma,ir+Fa,1,yn.minY,yn.maxY,Ri),vo=null),Gn&&(jn=gt(Gn,en,ir-ua,ir+Wa,1,yn.minY,yn.maxY,Ri),Ha=gt(Gn,en,ir+ma,ir+Fa,1,yn.minY,yn.maxY,Ri),Gn=null),Zi>1&&console.timeEnd("clipping"),$r.push(Xo||[],wt+1,tr*2,ir*2),$r.push(da||[],wt+1,tr*2,ir*2+1),$r.push(jn||[],wt+1,tr*2+1,ir*2),$r.push(Ha||[],wt+1,tr*2+1,ir*2+1)}}},Fn.prototype.getTile=function(Gt,wt,tr){var ir=this.options,wr=ir.extent,Xr=ir.debug;if(Gt<0||Gt>24)return null;var ti=1<1&&console.log("drilling down to z%d-%d-%d",Gt,wt,tr);for(var Ri=Gt,Zi=wt,en=tr,fn;!fn&&Ri>0;)Ri--,Zi=Math.floor(Zi/2),en=Math.floor(en/2),fn=this.tiles[An(Ri,Zi,en)];return!fn||!fn.source?null:(Xr>1&&console.log("found parent tile z%d-%d-%d",Ri,Zi,en),Xr>1&&console.time("drilling down"),this.splitTile(fn.source,Ri,Zi,en,Gt,wt,tr),Xr>1&&console.timeEnd("drilling down"),this.tiles[$r]?Ir(this.tiles[$r],wr):null)};function An(Gt,wt,tr){return((1<=0?0:Y.button},o.remove=function(Y){Y.parentNode&&Y.parentNode.removeChild(Y)};function m(Y,D,J){var O,K,de,ne=i.browser.devicePixelRatio>1?"@2x":"",we=i.getJSON(D.transformRequest(D.normalizeSpriteURL(Y,ne,".json"),i.ResourceType.SpriteJSON),function(Yt,cr){we=null,de||(de=Yt,O=cr,ht())}),Oe=i.getImage(D.transformRequest(D.normalizeSpriteURL(Y,ne,".png"),i.ResourceType.SpriteImage),function(Yt,cr){Oe=null,de||(de=Yt,K=cr,ht())});function ht(){if(de)J(de);else if(O&&K){var Yt=i.browser.getImageData(K),cr={};for(var Nt in O){var Ne=O[Nt],$e=Ne.width,st=Ne.height,It=Ne.x,Bt=Ne.y,Ft=Ne.sdf,Ut=Ne.pixelRatio,zt=Ne.stretchX,_t=Ne.stretchY,Dt=Ne.content,vt=new i.RGBAImage({width:$e,height:st});i.RGBAImage.copy(Yt,vt,{x:It,y:Bt},{x:0,y:0},{width:$e,height:st}),cr[Nt]={data:vt,pixelRatio:Ut,sdf:Ft,stretchX:zt,stretchY:_t,content:Dt}}J(null,cr)}}return{cancel:function(){we&&(we.cancel(),we=null),Oe&&(Oe.cancel(),Oe=null)}}}function b(Y){var D=Y.userImage;if(D&&D.render){var J=D.render();if(J)return Y.data.replace(new Uint8Array(D.data.buffer)),!0}return!1}var p=1,k=function(Y){function D(){Y.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new i.RGBAImage({width:1,height:1}),this.dirty=!0}return Y&&(D.__proto__=Y),D.prototype=Object.create(Y&&Y.prototype),D.prototype.constructor=D,D.prototype.isLoaded=function(){return this.loaded},D.prototype.setLoaded=function(O){if(this.loaded!==O&&(this.loaded=O,O)){for(var K=0,de=this.requestors;K=0?1.2:1))}C.prototype.draw=function(Y){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(Y,this.buffer,this.middle);for(var D=this.ctx.getImageData(0,0,this.size,this.size),J=new Uint8ClampedArray(this.size*this.size),O=0;O65535){Yt(new Error("glyphs > 65535 not supported"));return}if(Ne.ranges[st]){Yt(null,{stack:cr,id:Nt,glyph:$e});return}var It=Ne.requests[st];It||(It=Ne.requests[st]=[],P.loadGlyphRange(cr,st,O.url,O.requestManager,function(Bt,Ft){if(Ft){for(var Ut in Ft)O._doesCharSupportLocalGlyph(+Ut)||(Ne.glyphs[+Ut]=Ft[+Ut]);Ne.ranges[st]=!0}for(var zt=0,_t=It;zt<_t.length;zt+=1){var Dt=_t[zt];Dt(Bt,Ft)}delete Ne.requests[st]})),It.push(function(Bt,Ft){Bt?Yt(Bt):Ft&&Yt(null,{stack:cr,id:Nt,glyph:Ft[Nt]||null})})},function(ht,Yt){if(ht)J(ht);else if(Yt){for(var cr={},Nt=0,Ne=Yt;Nt1&&(ht=D[++Oe]);var cr=Math.abs(Yt-ht.left),Nt=Math.abs(Yt-ht.right),Ne=Math.min(cr,Nt),$e=void 0,st=de/O*(K+1);if(ht.isDash){var It=K-Math.abs(st);$e=Math.sqrt(Ne*Ne+It*It)}else $e=K-Math.sqrt(Ne*Ne+st*st);this.data[we+Yt]=Math.max(0,Math.min(255,$e+128))}},G.prototype.addRegularDash=function(D){for(var J=D.length-1;J>=0;--J){var O=D[J],K=D[J+1];O.zeroLength?D.splice(J,1):K&&K.isDash===O.isDash&&(K.left=O.left,D.splice(J,1))}var de=D[0],ne=D[D.length-1];de.isDash===ne.isDash&&(de.left=ne.left-this.width,ne.right=de.right+this.width);for(var we=this.width*this.nextRow,Oe=0,ht=D[Oe],Yt=0;Yt1&&(ht=D[++Oe]);var cr=Math.abs(Yt-ht.left),Nt=Math.abs(Yt-ht.right),Ne=Math.min(cr,Nt),$e=ht.isDash?Ne:-Ne;this.data[we+Yt]=Math.max(0,Math.min(255,$e+128))}},G.prototype.addDash=function(D,J){var O=J?7:0,K=2*O+1;if(this.nextRow+K>this.height)return i.warnOnce("LineAtlas out of space"),null;for(var de=0,ne=0;ne=O.minX&&D.x=O.minY&&D.y0&&(Yt[new i.OverscaledTileID(O.overscaledZ,we,K.z,ne,K.y-1).key]={backfilled:!1},Yt[new i.OverscaledTileID(O.overscaledZ,O.wrap,K.z,K.x,K.y-1).key]={backfilled:!1},Yt[new i.OverscaledTileID(O.overscaledZ,ht,K.z,Oe,K.y-1).key]={backfilled:!1}),K.y+10&&(de.resourceTiming=O._resourceTiming,O._resourceTiming=[]),O.fire(new i.Event("data",de))})},D.prototype.onAdd=function(O){this.map=O,this.load()},D.prototype.setData=function(O){var K=this;return this._data=O,this.fire(new i.Event("dataloading",{dataType:"source"})),this._updateWorkerData(function(de){if(de){K.fire(new i.ErrorEvent(de));return}var ne={dataType:"source",sourceDataType:"content"};K._collectResourceTiming&&K._resourceTiming&&K._resourceTiming.length>0&&(ne.resourceTiming=K._resourceTiming,K._resourceTiming=[]),K.fire(new i.Event("data",ne))}),this},D.prototype.getClusterExpansionZoom=function(O,K){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:O,source:this.id},K),this},D.prototype.getClusterChildren=function(O,K){return this.actor.send("geojson.getClusterChildren",{clusterId:O,source:this.id},K),this},D.prototype.getClusterLeaves=function(O,K,de,ne){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:O,limit:K,offset:de},ne),this},D.prototype._updateWorkerData=function(O){var K=this;this._loaded=!1;var de=i.extend({},this.workerOptions),ne=this._data;typeof ne=="string"?(de.request=this.map._requestManager.transformRequest(i.browser.resolveURL(ne),i.ResourceType.Source),de.request.collectResourceTiming=this._collectResourceTiming):de.data=JSON.stringify(ne),this.actor.send(this.type+".loadData",de,function(we,Oe){K._removed||Oe&&Oe.abandoned||(K._loaded=!0,Oe&&Oe.resourceTiming&&Oe.resourceTiming[K.id]&&(K._resourceTiming=Oe.resourceTiming[K.id].slice(0)),K.actor.send(K.type+".coalesce",{source:de.source},null),O(we))})},D.prototype.loaded=function(){return this._loaded},D.prototype.loadTile=function(O,K){var de=this,ne=O.actor?"reloadTile":"loadTile";O.actor=this.actor;var we={type:this.type,uid:O.uid,tileID:O.tileID,zoom:O.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:i.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};O.request=this.actor.send(ne,we,function(Oe,ht){return delete O.request,O.unloadVectorData(),O.aborted?K(null):Oe?K(Oe):(O.loadVectorData(ht,de.map.painter,ne==="reloadTile"),K(null))})},D.prototype.abortTile=function(O){O.request&&(O.request.cancel(),delete O.request),O.aborted=!0},D.prototype.unloadTile=function(O){O.unloadVectorData(),this.actor.send("removeTile",{uid:O.uid,type:this.type,source:this.id})},D.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})},D.prototype.serialize=function(){return i.extend({},this._options,{type:this.type,data:this._data})},D.prototype.hasTransition=function(){return!1},D}(i.Evented),Ee=i.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),Ce=function(Y){function D(J,O,K,de){Y.call(this),this.id=J,this.dispatcher=K,this.coordinates=O.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(de),this.options=O}return Y&&(D.__proto__=Y),D.prototype=Object.create(Y&&Y.prototype),D.prototype.constructor=D,D.prototype.load=function(O,K){var de=this;this._loaded=!1,this.fire(new i.Event("dataloading",{dataType:"source"})),this.url=this.options.url,i.getImage(this.map._requestManager.transformRequest(this.url,i.ResourceType.Image),function(ne,we){de._loaded=!0,ne?de.fire(new i.ErrorEvent(ne)):we&&(de.image=we,O&&(de.coordinates=O),K&&K(),de._finishLoading())})},D.prototype.loaded=function(){return this._loaded},D.prototype.updateImage=function(O){var K=this;return!this.image||!O.url?this:(this.options.url=O.url,this.load(O.coordinates,function(){K.texture=null}),this)},D.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new i.Event("data",{dataType:"source",sourceDataType:"metadata"})))},D.prototype.onAdd=function(O){this.map=O,this.load()},D.prototype.setCoordinates=function(O){var K=this;this.coordinates=O;var de=O.map(i.MercatorCoordinate.fromLngLat);this.tileID=ge(de),this.minzoom=this.maxzoom=this.tileID.z;var ne=de.map(function(we){return K.tileID.getTilePoint(we)._round()});return this._boundsArray=new i.StructArrayLayout4i8,this._boundsArray.emplaceBack(ne[0].x,ne[0].y,0,0),this._boundsArray.emplaceBack(ne[1].x,ne[1].y,i.EXTENT,0),this._boundsArray.emplaceBack(ne[3].x,ne[3].y,0,i.EXTENT),this._boundsArray.emplaceBack(ne[2].x,ne[2].y,i.EXTENT,i.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new i.Event("data",{dataType:"source",sourceDataType:"content"})),this},D.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||!this.image)){var O=this.map.painter.context,K=O.gl;this.boundsBuffer||(this.boundsBuffer=O.createVertexBuffer(this._boundsArray,Ee.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new i.Texture(O,this.image,K.RGBA),this.texture.bind(K.LINEAR,K.CLAMP_TO_EDGE));for(var de in this.tiles){var ne=this.tiles[de];ne.state!=="loaded"&&(ne.state="loaded",ne.texture=this.texture)}}},D.prototype.loadTile=function(O,K){this.tileID&&this.tileID.equals(O.tileID.canonical)?(this.tiles[String(O.tileID.wrap)]=O,O.buckets={},K(null)):(O.state="errored",K(null))},D.prototype.serialize=function(){return{type:"image",url:this.options.url,coordinates:this.coordinates}},D.prototype.hasTransition=function(){return!1},D}(i.Evented);function ge(Y){for(var D=1/0,J=1/0,O=-1/0,K=-1/0,de=0,ne=Y;deK.end(0)?this.fire(new i.ErrorEvent(new i.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+K.start(0)+" and "+K.end(0)+"-second mark."))):this.video.currentTime=O}},D.prototype.getVideo=function(){return this.video},D.prototype.onAdd=function(O){this.map||(this.map=O,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},D.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||this.video.readyState<2)){var O=this.map.painter.context,K=O.gl;this.boundsBuffer||(this.boundsBuffer=O.createVertexBuffer(this._boundsArray,Ee.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(K.LINEAR,K.CLAMP_TO_EDGE),K.texSubImage2D(K.TEXTURE_2D,0,0,0,K.RGBA,K.UNSIGNED_BYTE,this.video)):(this.texture=new i.Texture(O,this.video,K.RGBA),this.texture.bind(K.LINEAR,K.CLAMP_TO_EDGE));for(var de in this.tiles){var ne=this.tiles[de];ne.state!=="loaded"&&(ne.state="loaded",ne.texture=this.texture)}}},D.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},D.prototype.hasTransition=function(){return this.video&&!this.video.paused},D}(Ce),Se=function(Y){function D(J,O,K,de){Y.call(this,J,O,K,de),O.coordinates?(!Array.isArray(O.coordinates)||O.coordinates.length!==4||O.coordinates.some(function(ne){return!Array.isArray(ne)||ne.length!==2||ne.some(function(we){return typeof we!="number"})}))&&this.fire(new i.ErrorEvent(new i.ValidationError("sources."+J,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new i.ErrorEvent(new i.ValidationError("sources."+J,null,'missing required property "coordinates"'))),O.animate&&typeof O.animate!="boolean"&&this.fire(new i.ErrorEvent(new i.ValidationError("sources."+J,null,'optional "animate" property must be a boolean value'))),O.canvas?typeof O.canvas!="string"&&!(O.canvas instanceof i.window.HTMLCanvasElement)&&this.fire(new i.ErrorEvent(new i.ValidationError("sources."+J,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 i.ErrorEvent(new i.ValidationError("sources."+J,null,'missing required property "canvas"'))),this.options=O,this.animate=O.animate!==void 0?O.animate:!0}return Y&&(D.__proto__=Y),D.prototype=Object.create(Y&&Y.prototype),D.prototype.constructor=D,D.prototype.load=function(){if(this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof i.window.HTMLCanvasElement?this.options.canvas:i.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()){this.fire(new i.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()},D.prototype.getCanvas=function(){return this.canvas},D.prototype.onAdd=function(O){this.map=O,this.load(),this.canvas&&this.animate&&this.play()},D.prototype.onRemove=function(){this.pause()},D.prototype.prepare=function(){var O=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,O=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,O=!0),!this._hasInvalidDimensions()&&Object.keys(this.tiles).length!==0){var K=this.map.painter.context,de=K.gl;this.boundsBuffer||(this.boundsBuffer=K.createVertexBuffer(this._boundsArray,Ee.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(O||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new i.Texture(K,this.canvas,de.RGBA,{premultiply:!0});for(var ne in this.tiles){var we=this.tiles[ne];we.state!=="loaded"&&(we.state="loaded",we.texture=this.texture)}}},D.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},D.prototype.hasTransition=function(){return this._playing},D.prototype._hasInvalidDimensions=function(){for(var O=0,K=[this.canvas.width,this.canvas.height];Othis.max){var we=this._getAndRemoveByKey(this.order[0]);we&&this.onRemove(we)}return this},at.prototype.has=function(D){return D.wrapped().key in this.data},at.prototype.getAndRemove=function(D){return this.has(D)?this._getAndRemoveByKey(D.wrapped().key):null},at.prototype._getAndRemoveByKey=function(D){var J=this.data[D].shift();return J.timeout&&clearTimeout(J.timeout),this.data[D].length===0&&delete this.data[D],this.order.splice(this.order.indexOf(D),1),J.value},at.prototype.getByKey=function(D){var J=this.data[D];return J?J[0].value:null},at.prototype.get=function(D){if(!this.has(D))return null;var J=this.data[D.wrapped().key][0];return J.value},at.prototype.remove=function(D,J){if(!this.has(D))return this;var O=D.wrapped().key,K=J===void 0?0:this.data[O].indexOf(J),de=this.data[O][K];return this.data[O].splice(K,1),de.timeout&&clearTimeout(de.timeout),this.data[O].length===0&&delete this.data[O],this.onRemove(de.value),this.order.splice(this.order.indexOf(O),1),this},at.prototype.setMaxSize=function(D){for(this.max=D;this.order.length>this.max;){var J=this._getAndRemoveByKey(this.order[0]);J&&this.onRemove(J)}return this},at.prototype.filter=function(D){var J=[];for(var O in this.data)for(var K=0,de=this.data[O];K1||(Math.abs(cr)>1&&(Math.abs(cr+Ne)===1?cr+=Ne:Math.abs(cr-Ne)===1&&(cr-=Ne)),!(!Yt.dem||!ht.dem)&&(ht.dem.backfillBorder(Yt.dem,cr,Nt),ht.neighboringTiles&&ht.neighboringTiles[$e]&&(ht.neighboringTiles[$e].backfilled=!0)))}},D.prototype.getTile=function(O){return this.getTileByID(O.key)},D.prototype.getTileByID=function(O){return this._tiles[O]},D.prototype._retainLoadedChildren=function(O,K,de,ne){for(var we in this._tiles){var Oe=this._tiles[we];if(!(ne[we]||!Oe.hasData()||Oe.tileID.overscaledZ<=K||Oe.tileID.overscaledZ>de)){for(var ht=Oe.tileID;Oe&&Oe.tileID.overscaledZ>K+1;){var Yt=Oe.tileID.scaledTo(Oe.tileID.overscaledZ-1);Oe=this._tiles[Yt.key],Oe&&Oe.hasData()&&(ht=Yt)}for(var cr=ht;cr.overscaledZ>K;)if(cr=cr.scaledTo(cr.overscaledZ-1),O[cr.key]){ne[ht.key]=ht;break}}}},D.prototype.findLoadedParent=function(O,K){if(O.key in this._loadedParentTiles){var de=this._loadedParentTiles[O.key];return de&&de.tileID.overscaledZ>=K?de:null}for(var ne=O.overscaledZ-1;ne>=K;ne--){var we=O.scaledTo(ne),Oe=this._getLoadedTile(we);if(Oe)return Oe}},D.prototype._getLoadedTile=function(O){var K=this._tiles[O.key];if(K&&K.hasData())return K;var de=this._cache.getByKey(O.wrapped().key);return de},D.prototype.updateCacheSize=function(O){var K=Math.ceil(O.width/this._source.tileSize)+1,de=Math.ceil(O.height/this._source.tileSize)+1,ne=K*de,we=5,Oe=Math.floor(ne*we),ht=typeof this._maxTileCacheSize=="number"?Math.min(this._maxTileCacheSize,Oe):Oe;this._cache.setMaxSize(ht)},D.prototype.handleWrapJump=function(O){var K=this._prevLng===void 0?O:this._prevLng,de=O-K,ne=de/360,we=Math.round(ne);if(this._prevLng=O,we){var Oe={};for(var ht in this._tiles){var Yt=this._tiles[ht];Yt.tileID=Yt.tileID.unwrapTo(Yt.tileID.wrap+we),Oe[Yt.tileID.key]=Yt}this._tiles=Oe;for(var cr in this._timers)clearTimeout(this._timers[cr]),delete this._timers[cr];for(var Nt in this._tiles){var Ne=this._tiles[Nt];this._setTileReloadTimer(Nt,Ne)}}},D.prototype.update=function(O){var K=this;if(this.transform=O,!(!this._sourceLoaded||this._paused)){this.updateCacheSize(O),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={};var de;this.used?this._source.tileID?de=O.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(Br){return new i.OverscaledTileID(Br.canonical.z,Br.wrap,Br.canonical.z,Br.canonical.x,Br.canonical.y)}):(de=O.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(de=de.filter(function(Br){return K._source.hasTile(Br)}))):de=[];var ne=O.coveringZoomLevel(this._source),we=Math.max(ne-D.maxOverzooming,this._source.minzoom),Oe=Math.max(ne+D.maxUnderzooming,this._source.minzoom),ht=this._updateRetainedTiles(de,ne);if(Ri(this._source.type)){for(var Yt={},cr={},Nt=Object.keys(ht),Ne=0,$e=Nt;Ne<$e.length;Ne+=1){var st=$e[Ne],It=ht[st],Bt=this._tiles[st];if(!(!Bt||Bt.fadeEndTime&&Bt.fadeEndTime<=i.browser.now())){var Ft=this.findLoadedParent(It,we);Ft&&(this._addTile(Ft.tileID),Yt[Ft.tileID.key]=Ft.tileID),cr[st]=It}}this._retainLoadedChildren(cr,ne,Oe,ht);for(var Ut in Yt)ht[Ut]||(this._coveredTiles[Ut]=!0,ht[Ut]=Yt[Ut])}for(var zt in ht)this._tiles[zt].clearFadeHold();for(var _t=i.keysDifference(this._tiles,ht),Dt=0,vt=_t;Dtthis._source.maxzoom){var Ft=It.children(this._source.maxzoom)[0],Ut=this.getTile(Ft);if(Ut&&Ut.hasData()){de[Ft.key]=Ft;continue}}else{var zt=It.children(this._source.maxzoom);if(de[zt[0].key]&&de[zt[1].key]&&de[zt[2].key]&&de[zt[3].key])continue}for(var _t=Bt.wasRequested(),Dt=It.overscaledZ-1;Dt>=we;--Dt){var vt=It.scaledTo(Dt);if(ne[vt.key]||(ne[vt.key]=!0,Bt=this.getTile(vt),!Bt&&_t&&(Bt=this._addTile(vt)),Bt&&(de[vt.key]=vt,_t=Bt.wasRequested(),Bt.hasData())))break}}}return de},D.prototype._updateLoadedParentTileCache=function(){this._loadedParentTiles={};for(var O in this._tiles){for(var K=[],de=void 0,ne=this._tiles[O].tileID;ne.overscaledZ>0;){if(ne.key in this._loadedParentTiles){de=this._loadedParentTiles[ne.key];break}K.push(ne.key);var we=ne.scaledTo(ne.overscaledZ-1);if(de=this._getLoadedTile(we),de)break;ne=we}for(var Oe=0,ht=K;Oe0)&&(K.hasData()&&K.state!=="reloading"?this._cache.add(K.tileID,K,K.getExpiryTimeout()):(K.aborted=!0,this._abortTile(K),this._unloadTile(K))))},D.prototype.clearTiles=function(){this._shouldReloadOnResume=!1,this._paused=!1;for(var O in this._tiles)this._removeTile(O);this._cache.reset()},D.prototype.tilesIn=function(O,K,de){var ne=this,we=[],Oe=this.transform;if(!Oe)return we;for(var ht=de?Oe.getCameraQueryGeometry(O):O,Yt=O.map(function(Dt){return Oe.pointCoordinate(Dt)}),cr=ht.map(function(Dt){return Oe.pointCoordinate(Dt)}),Nt=this.getIds(),Ne=1/0,$e=1/0,st=-1/0,It=-1/0,Bt=0,Ft=cr;Bt=0&&Di[1].y+Br>=0){var ci=Yt.map(function(gn){return lr.getTilePoint(gn)}),bi=cr.map(function(gn){return lr.getTilePoint(gn)});we.push({tile:vt,tileID:lr,queryGeometry:ci,cameraQueryGeometry:bi,scale:_r})}}},_t=0;_t=i.browser.now())return!0}return!1},D.prototype.setFeatureState=function(O,K,de){O=O||"_geojsonTileLayer",this._state.updateState(O,K,de)},D.prototype.removeFeatureState=function(O,K,de){O=O||"_geojsonTileLayer",this._state.removeFeatureState(O,K,de)},D.prototype.getFeatureState=function(O,K){return O=O||"_geojsonTileLayer",this._state.getState(O,K)},D.prototype.setDependencies=function(O,K,de){var ne=this._tiles[O];ne&&ne.setDependencies(K,de)},D.prototype.reloadTilesForDependencies=function(O,K){for(var de in this._tiles){var ne=this._tiles[de];ne.hasDependency(O,K)&&this._reloadTile(de,"reloading")}this._cache.filter(function(we){return!we.hasDependency(O,K)})},D}(i.Evented);ti.maxOverzooming=10,ti.maxUnderzooming=3;function $r(Y,D){var J=Math.abs(Y.wrap*2)-+(Y.wrap<0),O=Math.abs(D.wrap*2)-+(D.wrap<0);return Y.overscaledZ-D.overscaledZ||O-J||D.canonical.y-Y.canonical.y||D.canonical.x-Y.canonical.x}function Ri(Y){return Y==="raster"||Y==="image"||Y==="video"}function Zi(){return new i.window.Worker(io.workerUrl)}var en="mapboxgl_preloaded_worker_pool",fn=function(){this.active={}};fn.prototype.acquire=function(D){if(!this.workers)for(this.workers=[];this.workers.length0?(K-ne)/we:0;return this.points[de].mult(1-Oe).add(this.points[J].mult(Oe))};var ki=function(D,J,O){var K=this.boxCells=[],de=this.circleCells=[];this.xCellCount=Math.ceil(D/O),this.yCellCount=Math.ceil(J/O);for(var ne=0;nethis.width||K<0||J>this.height)return de?!1:[];var we=[];if(D<=0&&J<=0&&this.width<=O&&this.height<=K){if(de)return!0;for(var Oe=0;Oe0:we}},ki.prototype._queryCircle=function(D,J,O,K,de){var ne=D-O,we=D+O,Oe=J-O,ht=J+O;if(we<0||ne>this.width||ht<0||Oe>this.height)return K?!1:[];var Yt=[],cr={hitTest:K,circle:{x:D,y:J,radius:O},seenUids:{box:{},circle:{}}};return this._forEachCell(ne,Oe,we,ht,this._queryCellCircle,Yt,cr,de),K?Yt.length>0:Yt},ki.prototype.query=function(D,J,O,K,de){return this._query(D,J,O,K,!1,de)},ki.prototype.hitTest=function(D,J,O,K,de){return this._query(D,J,O,K,!0,de)},ki.prototype.hitTestCircle=function(D,J,O,K){return this._queryCircle(D,J,O,!0,K)},ki.prototype._queryCell=function(D,J,O,K,de,ne,we,Oe){var ht=we.seenUids,Yt=this.boxCells[de];if(Yt!==null)for(var cr=this.bboxes,Nt=0,Ne=Yt;Nt=cr[st+0]&&K>=cr[st+1]&&(!Oe||Oe(this.boxKeys[$e]))){if(we.hitTest)return ne.push(!0),!0;ne.push({key:this.boxKeys[$e],x1:cr[st],y1:cr[st+1],x2:cr[st+2],y2:cr[st+3]})}}}var It=this.circleCells[de];if(It!==null)for(var Bt=this.circles,Ft=0,Ut=It;Ftwe*we+Oe*Oe},ki.prototype._circleAndRectCollide=function(D,J,O,K,de,ne,we){var Oe=(ne-K)/2,ht=Math.abs(D-(K+Oe));if(ht>Oe+O)return!1;var Yt=(we-de)/2,cr=Math.abs(J-(de+Yt));if(cr>Yt+O)return!1;if(ht<=Oe||cr<=Yt)return!0;var Nt=ht-Oe,Ne=cr-Yt;return Nt*Nt+Ne*Ne<=O*O};function _n(Y,D,J,O,K){var de=i.create();return D?(i.scale(de,de,[1/K,1/K,1]),J||i.rotateZ(de,de,O.angle)):i.multiply(de,O.labelPlaneMatrix,Y),de}function ya(Y,D,J,O,K){if(D){var de=i.clone(Y);return i.scale(de,de,[K,K,1]),J||i.rotateZ(de,de,-O.angle),de}else return O.glCoordMatrix}function ea(Y,D){var J=[Y.x,Y.y,0,1];zl(J,J,D);var O=J[3];return{point:new i.Point(J[0]/O,J[1]/O),signedDistanceFromCamera:O}}function Ma(Y,D){return .5+.5*(Y/D)}function _o(Y,D){var J=Y[0]/Y[3],O=Y[1]/Y[3],K=J>=-D[0]&&J<=D[0]&&O>=-D[1]&&O<=D[1];return K}function No(Y,D,J,O,K,de,ne,we){var Oe=O?Y.textSizeData:Y.iconSizeData,ht=i.evaluateSizeForZoom(Oe,J.transform.zoom),Yt=[256/J.width*2+1,256/J.height*2+1],cr=O?Y.text.dynamicLayoutVertexArray:Y.icon.dynamicLayoutVertexArray;cr.clear();for(var Nt=Y.lineVertexArray,Ne=O?Y.text.placedSymbolArray:Y.icon.placedSymbolArray,$e=J.transform.width/J.transform.height,st=!1,It=0;Itde)return{useVertical:!0}}return(Y===i.WritingMode.vertical?D.yJ.x)?{needsFlipping:!0}:null}function ko(Y,D,J,O,K,de,ne,we,Oe,ht,Yt,cr,Nt,Ne){var $e=D/24,st=Y.lineOffsetX*$e,It=Y.lineOffsetY*$e,Bt;if(Y.numGlyphs>1){var Ft=Y.glyphStartIndex+Y.numGlyphs,Ut=Y.lineStartIndex,zt=Y.lineStartIndex+Y.lineLength,_t=po($e,we,st,It,J,Yt,cr,Y,Oe,de,Nt);if(!_t)return{notEnoughRoom:!0};var Dt=ea(_t.first.point,ne).point,vt=ea(_t.last.point,ne).point;if(O&&!J){var lr=Lo(Y.writingMode,Dt,vt,Ne);if(lr)return lr}Bt=[_t.first];for(var _r=Y.glyphStartIndex+1;_r0?bi.point:Ds(cr,ci,Br,1,K),tn=Lo(Y.writingMode,Br,gn,Ne);if(tn)return tn}var Ei=Fs($e*we.getoffsetX(Y.glyphStartIndex),st,It,J,Yt,cr,Y.segment,Y.lineStartIndex,Y.lineStartIndex+Y.lineLength,Oe,de,Nt);if(!Ei)return{notEnoughRoom:!0};Bt=[Ei]}for(var Oi=0,Gi=Bt;Oi0?1:-1,$e=0;O&&(Ne*=-1,$e=Math.PI),Ne<0&&($e+=Math.PI);for(var st=Ne>0?we+ne:we+ne+1,It=K,Bt=K,Ft=0,Ut=0,zt=Math.abs(Nt),_t=[];Ft+Ut<=zt;){if(st+=Ne,st=Oe)return null;if(Bt=It,_t.push(It),It=cr[st],It===void 0){var Dt=new i.Point(ht.getx(st),ht.gety(st)),vt=ea(Dt,Yt);if(vt.signedDistanceFromCamera>0)It=cr[st]=vt.point;else{var lr=st-Ne,_r=Ft===0?de:new i.Point(ht.getx(lr),ht.gety(lr));It=Ds(_r,Dt,Bt,zt-Ft+1,Yt)}}Ft+=Ut,Ut=Bt.dist(It)}var Br=(zt-Ft)/Ut,Di=It.sub(Bt),ci=Di.mult(Br)._add(Bt);ci._add(Di._unit()._perp()._mult(J*Ne));var bi=$e+Math.atan2(It.y-Bt.y,It.x-Bt.x);return _t.push(ci),{point:ci,angle:bi,path:_t}}var ll=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ul(Y,D){for(var J=0;J=1;on--)Gi.push(Ei.path[on]);for(var zn=1;zn0){for(var so=Gi[0].clone(),Yo=Gi[0].clone(),ms=1;ms=bi.x&&Yo.x<=gn.x&&so.y>=bi.y&&Yo.y<=gn.y?ts=[Gi]:Yo.xgn.x||Yo.ygn.y?ts=[]:ts=i.clipLine([Gi],bi.x,bi.y,gn.x,gn.y)}for(var ou=0,Cv=ts;ou=this.screenRightBoundary||Kthis.screenBottomBoundary},il.prototype.isInsideGrid=function(D,J,O,K){return O>=0&&D=0&&J0){var zt;return this.prevPlacement&&this.prevPlacement.variableOffsets[Nt.crossTileID]&&this.prevPlacement.placements[Nt.crossTileID]&&this.prevPlacement.placements[Nt.crossTileID].text&&(zt=this.prevPlacement.variableOffsets[Nt.crossTileID].anchor),this.variableOffsets[Nt.crossTileID]={textOffset:It,width:O,height:K,anchor:D,textBoxScale:de,prevAnchor:zt},this.markUsedJustification(Ne,D,Nt,$e),Ne.allowVerticalPlacement&&(this.markUsedOrientation(Ne,$e,Nt),this.placedOrientations[Nt.crossTileID]=$e),{shift:Bt,placedGlyphBoxes:Ft}}},bs.prototype.placeLayerBucketPart=function(D,J,O){var K=this,de=D.parameters,ne=de.bucket,we=de.layout,Oe=de.posMatrix,ht=de.textLabelPlaneMatrix,Yt=de.labelToScreenMatrix,cr=de.textPixelRatio,Nt=de.holdingForFade,Ne=de.collisionBoxArray,$e=de.partiallyEvaluatedTextSize,st=de.collisionGroup,It=we.get("text-optional"),Bt=we.get("icon-optional"),Ft=we.get("text-allow-overlap"),Ut=we.get("icon-allow-overlap"),zt=we.get("text-rotation-alignment")==="map",_t=we.get("text-pitch-alignment")==="map",Dt=we.get("icon-text-fit")!=="none",vt=we.get("symbol-z-order")==="viewport-y",lr=Ft&&(Ut||!ne.hasIconData()||Bt),_r=Ut&&(Ft||!ne.hasTextData()||It);!ne.collisionArrays&&Ne&&ne.deserializeCollisionBoxes(Ne);var Br=function(Ei,Oi){if(!J[Ei.crossTileID]){if(Nt){K.placements[Ei.crossTileID]=new zs(!1,!1,!1);return}var Gi=!1,on=!1,zn=!0,Ja=null,co={box:null,offscreen:null},ts={box:null,offscreen:null},so=null,Yo=null,ms=null,ou=0,Cv=0,Lv=0;Oi.textFeatureIndex?ou=Oi.textFeatureIndex:Ei.useRuntimeCollisionCircles&&(ou=Ei.featureIndex),Oi.verticalTextFeatureIndex&&(Cv=Oi.verticalTextFeatureIndex);var wd=Oi.textBox;if(wd){var Kv=function(vc){var tu=i.WritingMode.horizontal;if(ne.allowVerticalPlacement&&!vc&&K.prevPlacement){var Sd=K.prevPlacement.placedOrientations[Ei.crossTileID];Sd&&(K.placedOrientations[Ei.crossTileID]=Sd,tu=Sd,K.markUsedOrientation(ne,tu,Ei))}return tu},hg=function(vc,tu){if(ne.allowVerticalPlacement&&Ei.numVerticalGlyphVertices>0&&Oi.verticalTextBox)for(var Sd=0,py=ne.writingModes;Sd0&&(Vd=Vd.filter(function(vc){return vc!==Ad.anchor}),Vd.unshift(Ad.anchor))}var Pv=function(vc,tu,Sd){for(var py=vc.x2-vc.x1,L1=vc.y2-vc.y1,wu=Ei.textBoxScale,Kx=Dt&&!Ut?tu:null,lm={box:[],offscreen:!1},Bw=Ft?Vd.length*2:Vd.length,Rv=0;Rv=Vd.length,Jx=K.attemptAnchorPlacement(um,vc,py,L1,wu,zt,_t,cr,Oe,st,Nw,Ei,ne,Sd,Kx);if(Jx&&(lm=Jx.placedGlyphBoxes,lm&&lm.box&&lm.box.length)){Gi=!0,Ja=Jx.shift;break}}return lm},Jv=function(){return Pv(wd,Oi.iconBox,i.WritingMode.horizontal)},Iv=function(){var vc=Oi.verticalTextBox,tu=co&&co.box&&co.box.length;return ne.allowVerticalPlacement&&!tu&&Ei.numVerticalGlyphVertices>0&&vc?Pv(vc,Oi.verticalIconBox,i.WritingMode.vertical):{box:null,offscreen:null}};hg(Jv,Iv),co&&(Gi=co.box,zn=co.offscreen);var hy=Kv(co&&co.box);if(!Gi&&K.prevPlacement){var dg=K.prevPlacement.variableOffsets[Ei.crossTileID];dg&&(K.variableOffsets[Ei.crossTileID]=dg,K.markUsedJustification(ne,dg.anchor,Ei,hy))}}else{var gp=function(vc,tu){var Sd=K.collisionIndex.placeCollisionBox(vc,Ft,cr,Oe,st.predicate);return Sd&&Sd.box&&Sd.box.length&&(K.markUsedOrientation(ne,tu,Ei),K.placedOrientations[Ei.crossTileID]=tu),Sd},Td=function(){return gp(wd,i.WritingMode.horizontal)},mp=function(){var vc=Oi.verticalTextBox;return ne.allowVerticalPlacement&&Ei.numVerticalGlyphVertices>0&&vc?gp(vc,i.WritingMode.vertical):{box:null,offscreen:null}};hg(Td,mp),Kv(co&&co.box&&co.box.length)}}if(so=co,Gi=so&&so.box&&so.box.length>0,zn=so&&so.offscreen,Ei.useRuntimeCollisionCircles){var oh=ne.text.placedSymbolArray.get(Ei.centerJustifiedTextSymbolIndex),vg=i.evaluateSizeForFeature(ne.textSizeData,$e,oh),dy=we.get("text-padding"),Zh=Ei.collisionCircleDiameter;Yo=K.collisionIndex.placeCollisionCircles(Ft,oh,ne.lineVertexArray,ne.glyphOffsetArray,vg,Oe,ht,Yt,O,_t,st.predicate,Zh,dy),Gi=Ft||Yo.circles.length>0&&!Yo.collisionDetected,zn=zn&&Yo.offscreen}if(Oi.iconFeatureIndex&&(Lv=Oi.iconFeatureIndex),Oi.iconBox){var am=function(vc){var tu=Dt&&Ja?nc(vc,Ja.x,Ja.y,zt,_t,K.transform.angle):vc;return K.collisionIndex.placeCollisionBox(tu,Ut,cr,Oe,st.predicate)};ts&&ts.box&&ts.box.length&&Oi.verticalIconBox?(ms=am(Oi.verticalIconBox),on=ms.box.length>0):(ms=am(Oi.iconBox),on=ms.box.length>0),zn=zn&&ms.offscreen}var k1=It||Ei.numHorizontalGlyphVertices===0&&Ei.numVerticalGlyphVertices===0,C1=Bt||Ei.numIconVertices===0;if(!k1&&!C1?on=Gi=on&&Gi:C1?k1||(on=on&&Gi):Gi=on&&Gi,Gi&&so&&so.box&&(ts&&ts.box&&Cv?K.collisionIndex.insertCollisionBox(so.box,we.get("text-ignore-placement"),ne.bucketInstanceId,Cv,st.ID):K.collisionIndex.insertCollisionBox(so.box,we.get("text-ignore-placement"),ne.bucketInstanceId,ou,st.ID)),on&&ms&&K.collisionIndex.insertCollisionBox(ms.box,we.get("icon-ignore-placement"),ne.bucketInstanceId,Lv,st.ID),Yo&&(Gi&&K.collisionIndex.insertCollisionCircles(Yo.circles,we.get("text-ignore-placement"),ne.bucketInstanceId,ou,st.ID),O)){var vy=ne.bucketInstanceId,om=K.collisionCircleArrays[vy];om===void 0&&(om=K.collisionCircleArrays[vy]=new Io);for(var sm=0;sm=0;--ci){var bi=Di[ci];Br(ne.symbolInstances.get(bi),ne.collisionArrays[bi])}else for(var gn=D.symbolInstanceStart;gn=0&&(ne>=0&&Yt!==ne?D.text.placedSymbolArray.get(Yt).crossTileID=0:D.text.placedSymbolArray.get(Yt).crossTileID=O.crossTileID)}},bs.prototype.markUsedOrientation=function(D,J,O){for(var K=J===i.WritingMode.horizontal||J===i.WritingMode.horizontalOnly?J:0,de=J===i.WritingMode.vertical?J:0,ne=[O.leftJustifiedTextSymbolIndex,O.centerJustifiedTextSymbolIndex,O.rightJustifiedTextSymbolIndex],we=0,Oe=ne;we0||_t>0,Br=Ut.numIconVertices>0,Di=K.placedOrientations[Ut.crossTileID],ci=Di===i.WritingMode.vertical,bi=Di===i.WritingMode.horizontal||Di===i.WritingMode.horizontalOnly;if(_r){var gn=ac(lr.text),tn=ci?oa:gn;$e(D.text,zt,tn);var Ei=bi?oa:gn;$e(D.text,_t,Ei);var Oi=lr.text.isHidden();[Ut.rightJustifiedTextSymbolIndex,Ut.centerJustifiedTextSymbolIndex,Ut.leftJustifiedTextSymbolIndex].forEach(function(Lv){Lv>=0&&(D.text.placedSymbolArray.get(Lv).hidden=Oi||ci?1:0)}),Ut.verticalPlacedTextSymbolIndex>=0&&(D.text.placedSymbolArray.get(Ut.verticalPlacedTextSymbolIndex).hidden=Oi||bi?1:0);var Gi=K.variableOffsets[Ut.crossTileID];Gi&&K.markUsedJustification(D,Gi.anchor,Ut,Di);var on=K.placedOrientations[Ut.crossTileID];on&&(K.markUsedJustification(D,"left",Ut,on),K.markUsedOrientation(D,on,Ut))}if(Br){var zn=ac(lr.icon),Ja=!(Nt&&Ut.verticalPlacedIconSymbolIndex&&ci);if(Ut.placedIconSymbolIndex>=0){var co=Ja?zn:oa;$e(D.icon,Ut.numIconVertices,co),D.icon.placedSymbolArray.get(Ut.placedIconSymbolIndex).hidden=lr.icon.isHidden()}if(Ut.verticalPlacedIconSymbolIndex>=0){var ts=Ja?oa:zn;$e(D.icon,Ut.numVerticalIconVertices,ts),D.icon.placedSymbolArray.get(Ut.verticalPlacedIconSymbolIndex).hidden=lr.icon.isHidden()}}if(D.hasIconCollisionBoxData()||D.hasTextCollisionBoxData()){var so=D.collisionArrays[Ft];if(so){var Yo=new i.Point(0,0);if(so.textBox||so.verticalTextBox){var ms=!0;if(ht){var ou=K.variableOffsets[Dt];ou?(Yo=Su(ou.anchor,ou.width,ou.height,ou.textOffset,ou.textBoxScale),Yt&&Yo._rotate(cr?K.transform.angle:-K.transform.angle)):ms=!1}so.textBox&&Rn(D.textCollisionBox.collisionVertexArray,lr.text.placed,!ms||ci,Yo.x,Yo.y),so.verticalTextBox&&Rn(D.textCollisionBox.collisionVertexArray,lr.text.placed,!ms||bi,Yo.x,Yo.y)}var Cv=!!(!bi&&so.verticalIconBox);so.iconBox&&Rn(D.iconCollisionBox.collisionVertexArray,lr.icon.placed,Cv,Nt?Yo.x:0,Nt?Yo.y:0),so.verticalIconBox&&Rn(D.iconCollisionBox.collisionVertexArray,lr.icon.placed,!Cv,Nt?Yo.x:0,Nt?Yo.y:0)}}},It=0;ItD},bs.prototype.setStale=function(){this.stale=!0};function Rn(Y,D,J,O,K){Y.emplaceBack(D?1:0,J?1:0,O||0,K||0),Y.emplaceBack(D?1:0,J?1:0,O||0,K||0),Y.emplaceBack(D?1:0,J?1:0,O||0,K||0),Y.emplaceBack(D?1:0,J?1:0,O||0,K||0)}var _a=Math.pow(2,25),Vu=Math.pow(2,24),ql=Math.pow(2,17),xo=Math.pow(2,16),Kl=Math.pow(2,9),Ns=Math.pow(2,8),Hl=Math.pow(2,1);function ac(Y){if(Y.opacity===0&&!Y.placed)return 0;if(Y.opacity===1&&Y.placed)return 4294967295;var D=Y.placed?1:0,J=Math.floor(Y.opacity*127);return J*_a+D*Vu+J*ql+D*xo+J*Kl+D*Ns+J*Hl+D}var oa=0,qo=function(D){this._sortAcrossTiles=D.layout.get("symbol-z-order")!=="viewport-y"&&D.layout.get("symbol-sort-key").constantOr(1)!==void 0,this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};qo.prototype.continuePlacement=function(D,J,O,K,de){for(var ne=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var we=D[this._currentPlacementIndex],Oe=J[we],ht=this.placement.collisionIndex.transform.zoom;if(Oe.type==="symbol"&&(!Oe.minzoom||Oe.minzoom<=ht)&&(!Oe.maxzoom||Oe.maxzoom>ht)){this._inProgressLayer||(this._inProgressLayer=new qo(Oe));var Yt=this._inProgressLayer.continuePlacement(O[Oe.source],this.placement,this._showCollisionBoxes,Oe,ne);if(Yt)return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Oo.prototype.commit=function(D){return this.placement.commit(D),this.placement};var Ol=512/i.EXTENT/2,Pc=function(D,J,O){this.tileID=D,this.indexedSymbolInstances={},this.bucketInstanceId=O;for(var K=0;KD.overscaledZ)for(var ht in Oe){var Yt=Oe[ht];Yt.tileID.isChildOf(D)&&Yt.findMatches(J.symbolInstances,D,ne)}else{var cr=D.scaledTo(Number(we)),Nt=Oe[cr.key];Nt&&Nt.findMatches(J.symbolInstances,D,ne)}}for(var Ne=0;Ne0)throw new Error("Unimplemented: "+ne.map(function(we){return we.command}).join(", ")+".");return de.forEach(function(we){we.command!=="setTransition"&&K[we.command].apply(K,we.args)}),this.stylesheet=O,!0},D.prototype.addImage=function(O,K){if(this.getImage(O))return this.fire(new i.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(O,K),this._afterImageUpdated(O)},D.prototype.updateImage=function(O,K){this.imageManager.updateImage(O,K)},D.prototype.getImage=function(O){return this.imageManager.getImage(O)},D.prototype.removeImage=function(O){if(!this.getImage(O))return this.fire(new i.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(O),this._afterImageUpdated(O)},D.prototype._afterImageUpdated=function(O){this._availableImages=this.imageManager.listImages(),this._changedImages[O]=!0,this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new i.Event("data",{dataType:"style"}))},D.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},D.prototype.addSource=function(O,K,de){var ne=this;if(de===void 0&&(de={}),this._checkLoaded(),this.sourceCaches[O]!==void 0)throw new Error("There is already a source with this ID");if(!K.type)throw new Error("The type property must be defined, but only the following properties were given: "+Object.keys(K).join(", ")+".");var we=["vector","raster","geojson","video","image"],Oe=we.indexOf(K.type)>=0;if(!(Oe&&this._validate(i.validateStyle.source,"sources."+O,K,null,de))){this.map&&this.map._collectResourceTiming&&(K.collectResourceTiming=!0);var ht=this.sourceCaches[O]=new ti(O,K,this.dispatcher);ht.style=this,ht.setEventedParent(this,function(){return{isSourceLoaded:ne.loaded(),source:ht.serialize(),sourceId:O}}),ht.onAdd(this.map),this._changed=!0}},D.prototype.removeSource=function(O){if(this._checkLoaded(),this.sourceCaches[O]===void 0)throw new Error("There is no source with this ID");for(var K in this._layers)if(this._layers[K].source===O)return this.fire(new i.ErrorEvent(new Error('Source "'+O+'" cannot be removed while layer "'+K+'" is using it.')));var de=this.sourceCaches[O];delete this.sourceCaches[O],delete this._updatedSources[O],de.fire(new i.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:O})),de.setEventedParent(null),de.clearTiles(),de.onRemove&&de.onRemove(this.map),this._changed=!0},D.prototype.setGeoJSONSourceData=function(O,K){this._checkLoaded();var de=this.sourceCaches[O].getSource();de.setData(K),this._changed=!0},D.prototype.getSource=function(O){return this.sourceCaches[O]&&this.sourceCaches[O].getSource()},D.prototype.addLayer=function(O,K,de){de===void 0&&(de={}),this._checkLoaded();var ne=O.id;if(this.getLayer(ne)){this.fire(new i.ErrorEvent(new Error('Layer with id "'+ne+'" already exists on this map')));return}var we;if(O.type==="custom"){if(pl(this,i.validateCustomStyleLayer(O)))return;we=i.createStyleLayer(O)}else{if(typeof O.source=="object"&&(this.addSource(ne,O.source),O=i.clone$1(O),O=i.extend(O,{source:ne})),this._validate(i.validateStyle.layer,"layers."+ne,O,{arrayIndex:-1},de))return;we=i.createStyleLayer(O),this._validateLayer(we),we.setEventedParent(this,{layer:{id:ne}}),this._serializedLayers[we.id]=we.serialize()}var Oe=K?this._order.indexOf(K):this._order.length;if(K&&Oe===-1){this.fire(new i.ErrorEvent(new Error('Layer with id "'+K+'" does not exist on this map.')));return}if(this._order.splice(Oe,0,ne),this._layerOrderChanged=!0,this._layers[ne]=we,this._removedLayers[ne]&&we.source&&we.type!=="custom"){var ht=this._removedLayers[ne];delete this._removedLayers[ne],ht.type!==we.type?this._updatedSources[we.source]="clear":(this._updatedSources[we.source]="reload",this.sourceCaches[we.source].pause())}this._updateLayer(we),we.onAdd&&we.onAdd(this.map)},D.prototype.moveLayer=function(O,K){this._checkLoaded(),this._changed=!0;var de=this._layers[O];if(!de){this.fire(new i.ErrorEvent(new Error("The layer '"+O+"' does not exist in the map's style and cannot be moved.")));return}if(O!==K){var ne=this._order.indexOf(O);this._order.splice(ne,1);var we=K?this._order.indexOf(K):this._order.length;if(K&&we===-1){this.fire(new i.ErrorEvent(new Error('Layer with id "'+K+'" does not exist on this map.')));return}this._order.splice(we,0,O),this._layerOrderChanged=!0}},D.prototype.removeLayer=function(O){this._checkLoaded();var K=this._layers[O];if(!K){this.fire(new i.ErrorEvent(new Error("The layer '"+O+"' does not exist in the map's style and cannot be removed.")));return}K.setEventedParent(null);var de=this._order.indexOf(O);this._order.splice(de,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[O]=K,delete this._layers[O],delete this._serializedLayers[O],delete this._updatedLayers[O],delete this._updatedPaintProps[O],K.onRemove&&K.onRemove(this.map)},D.prototype.getLayer=function(O){return this._layers[O]},D.prototype.hasLayer=function(O){return O in this._layers},D.prototype.setLayerZoomRange=function(O,K,de){this._checkLoaded();var ne=this.getLayer(O);if(!ne){this.fire(new i.ErrorEvent(new Error("The layer '"+O+"' does not exist in the map's style and cannot have zoom extent.")));return}ne.minzoom===K&&ne.maxzoom===de||(K!=null&&(ne.minzoom=K),de!=null&&(ne.maxzoom=de),this._updateLayer(ne))},D.prototype.setFilter=function(O,K,de){de===void 0&&(de={}),this._checkLoaded();var ne=this.getLayer(O);if(!ne){this.fire(new i.ErrorEvent(new Error("The layer '"+O+"' does not exist in the map's style and cannot be filtered.")));return}if(!i.deepEqual(ne.filter,K)){if(K==null){ne.filter=void 0,this._updateLayer(ne);return}this._validate(i.validateStyle.filter,"layers."+ne.id+".filter",K,null,de)||(ne.filter=i.clone$1(K),this._updateLayer(ne))}},D.prototype.getFilter=function(O){return i.clone$1(this.getLayer(O).filter)},D.prototype.setLayoutProperty=function(O,K,de,ne){ne===void 0&&(ne={}),this._checkLoaded();var we=this.getLayer(O);if(!we){this.fire(new i.ErrorEvent(new Error("The layer '"+O+"' does not exist in the map's style and cannot be styled.")));return}i.deepEqual(we.getLayoutProperty(K),de)||(we.setLayoutProperty(K,de,ne),this._updateLayer(we))},D.prototype.getLayoutProperty=function(O,K){var de=this.getLayer(O);if(!de){this.fire(new i.ErrorEvent(new Error("The layer '"+O+"' does not exist in the map's style.")));return}return de.getLayoutProperty(K)},D.prototype.setPaintProperty=function(O,K,de,ne){ne===void 0&&(ne={}),this._checkLoaded();var we=this.getLayer(O);if(!we){this.fire(new i.ErrorEvent(new Error("The layer '"+O+"' does not exist in the map's style and cannot be styled.")));return}if(!i.deepEqual(we.getPaintProperty(K),de)){var Oe=we.setPaintProperty(K,de,ne);Oe&&this._updateLayer(we),this._changed=!0,this._updatedPaintProps[O]=!0}},D.prototype.getPaintProperty=function(O,K){return this.getLayer(O).getPaintProperty(K)},D.prototype.setFeatureState=function(O,K){this._checkLoaded();var de=O.source,ne=O.sourceLayer,we=this.sourceCaches[de];if(we===void 0){this.fire(new i.ErrorEvent(new Error("The source '"+de+"' does not exist in the map's style.")));return}var Oe=we.getSource().type;if(Oe==="geojson"&&ne){this.fire(new i.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter.")));return}if(Oe==="vector"&&!ne){this.fire(new i.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));return}O.id===void 0&&this.fire(new i.ErrorEvent(new Error("The feature id parameter must be provided."))),we.setFeatureState(ne,O.id,K)},D.prototype.removeFeatureState=function(O,K){this._checkLoaded();var de=O.source,ne=this.sourceCaches[de];if(ne===void 0){this.fire(new i.ErrorEvent(new Error("The source '"+de+"' does not exist in the map's style.")));return}var we=ne.getSource().type,Oe=we==="vector"?O.sourceLayer:void 0;if(we==="vector"&&!Oe){this.fire(new i.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));return}if(K&&typeof O.id!="string"&&typeof O.id!="number"){this.fire(new i.ErrorEvent(new Error("A feature id is required to remove its specific state property.")));return}ne.removeFeatureState(Oe,O.id,K)},D.prototype.getFeatureState=function(O){this._checkLoaded();var K=O.source,de=O.sourceLayer,ne=this.sourceCaches[K];if(ne===void 0){this.fire(new i.ErrorEvent(new Error("The source '"+K+"' does not exist in the map's style.")));return}var we=ne.getSource().type;if(we==="vector"&&!de){this.fire(new i.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));return}return O.id===void 0&&this.fire(new i.ErrorEvent(new Error("The feature id parameter must be provided."))),ne.getFeatureState(de,O.id)},D.prototype.getTransition=function(){return i.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},D.prototype.serialize=function(){return i.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:i.mapObject(this.sourceCaches,function(O){return O.serialize()}),layers:this._serializeLayers(this._order)},function(O){return O!==void 0})},D.prototype._updateLayer=function(O){this._updatedLayers[O.id]=!0,O.source&&!this._updatedSources[O.source]&&this.sourceCaches[O.source].getSource().type!=="raster"&&(this._updatedSources[O.source]="reload",this.sourceCaches[O.source].pause()),this._changed=!0},D.prototype._flattenAndSortRenderedFeatures=function(O){for(var K=this,de=function(bi){return K._layers[bi].type==="fill-extrusion"},ne={},we=[],Oe=this._order.length-1;Oe>=0;Oe--){var ht=this._order[Oe];if(de(ht)){ne[ht]=Oe;for(var Yt=0,cr=O;Yt=0;Ft--){var Ut=this._order[Ft];if(de(Ut))for(var zt=we.length-1;zt>=0;zt--){var _t=we[zt].feature;if(ne[_t.layer.id] 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;}`,Bl=`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; -#pragma mapbox: define lowp float base -#pragma mapbox: define lowp float height -#pragma mapbox: define lowp vec4 pattern_from -#pragma mapbox: define lowp vec4 pattern_to -#pragma mapbox: define lowp float pixel_ratio_from -#pragma mapbox: define lowp float pixel_ratio_to -void main() { -#pragma mapbox: initialize lowp float base -#pragma mapbox: initialize lowp float height -#pragma mapbox: initialize mediump vec4 pattern_from -#pragma mapbox: initialize mediump vec4 pattern_to -#pragma mapbox: initialize lowp float pixel_ratio_from -#pragma mapbox: initialize lowp float pixel_ratio_to -vec2 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; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,Ah=`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; -#pragma mapbox: define lowp float base -#pragma mapbox: define lowp float height -#pragma mapbox: define lowp vec4 pattern_from -#pragma mapbox: define lowp vec4 pattern_to -#pragma mapbox: define lowp float pixel_ratio_from -#pragma mapbox: define lowp float pixel_ratio_to -void main() { -#pragma mapbox: initialize lowp float base -#pragma mapbox: initialize lowp float height -#pragma mapbox: initialize mediump vec4 pattern_from -#pragma mapbox: initialize mediump vec4 pattern_to -#pragma mapbox: initialize lowp float pixel_ratio_from -#pragma mapbox: initialize lowp float pixel_ratio_to -vec2 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 -? a_pos -: 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;}`,Qf=`#ifdef GL_ES -precision highp float; -#endif -uniform 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); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,_f="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;}",Yc=`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; -#define PI 3.141592653589793 -void 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; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,eh="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;}",th=`uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale; -#pragma mapbox: define highp vec4 color -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -void main() { -#pragma mapbox: initialize highp vec4 color -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -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);gl_FragColor=color*(alpha*opacity); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,ju=` -#define scale 0.015873016 -attribute 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; -#pragma mapbox: define highp vec4 color -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -#pragma mapbox: define mediump float gapwidth -#pragma mapbox: define lowp float offset -#pragma mapbox: define mediump float width -void main() { -#pragma mapbox: initialize highp vec4 color -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize mediump float gapwidth -#pragma mapbox: initialize lowp float offset -#pragma mapbox: initialize mediump float width -float 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);}`,jf=`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; -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -void main() { -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -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);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,cc=` -#define scale 0.015873016 -attribute 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; -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -#pragma mapbox: define mediump float gapwidth -#pragma mapbox: define lowp float offset -#pragma mapbox: define mediump float width -void main() { -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize mediump float gapwidth -#pragma mapbox: initialize lowp float offset -#pragma mapbox: initialize mediump float width -float 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);}`,sf=`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; -#pragma mapbox: define lowp vec4 pattern_from -#pragma mapbox: define lowp vec4 pattern_to -#pragma mapbox: define lowp float pixel_ratio_from -#pragma mapbox: define lowp float pixel_ratio_to -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -void main() { -#pragma mapbox: initialize mediump vec4 pattern_from -#pragma mapbox: initialize mediump vec4 pattern_to -#pragma mapbox: initialize lowp float pixel_ratio_from -#pragma mapbox: initialize lowp float pixel_ratio_to -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -vec2 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; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,Nl=` -#define scale 0.015873016 -#define LINE_DISTANCE_SCALE 2.0 -attribute 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; -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -#pragma mapbox: define lowp float offset -#pragma mapbox: define mediump float gapwidth -#pragma mapbox: define mediump float width -#pragma mapbox: define lowp float floorwidth -#pragma mapbox: define lowp vec4 pattern_from -#pragma mapbox: define lowp vec4 pattern_to -#pragma mapbox: define lowp float pixel_ratio_from -#pragma mapbox: define lowp float pixel_ratio_to -void main() { -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize lowp float offset -#pragma mapbox: initialize mediump float gapwidth -#pragma mapbox: initialize mediump float width -#pragma mapbox: initialize lowp float floorwidth -#pragma mapbox: initialize mediump vec4 pattern_from -#pragma mapbox: initialize mediump vec4 pattern_to -#pragma mapbox: initialize lowp float pixel_ratio_from -#pragma mapbox: initialize lowp float pixel_ratio_to -float 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;}`,Kc=`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; -#pragma mapbox: define highp vec4 color -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -#pragma mapbox: define mediump float width -#pragma mapbox: define lowp float floorwidth -void main() { -#pragma mapbox: initialize highp vec4 color -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize mediump float width -#pragma mapbox: initialize lowp float floorwidth -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 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); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,Rc=` -#define scale 0.015873016 -#define LINE_DISTANCE_SCALE 2.0 -attribute 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; -#pragma mapbox: define highp vec4 color -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -#pragma mapbox: define mediump float gapwidth -#pragma mapbox: define lowp float offset -#pragma mapbox: define mediump float width -#pragma mapbox: define lowp float floorwidth -void main() { -#pragma mapbox: initialize highp vec4 color -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize mediump float gapwidth -#pragma mapbox: initialize lowp float offset -#pragma mapbox: initialize mediump float width -#pragma mapbox: initialize lowp float floorwidth -float 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);}`,gs=`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); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,Wf="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;}",Wh=`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity; -#pragma mapbox: define lowp float opacity -void main() { -#pragma mapbox: initialize lowp float opacity -lowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,rh=`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; -#pragma mapbox: define lowp float opacity -void main() { -#pragma mapbox: initialize lowp float opacity -vec2 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 ? -camera_to_anchor_distance/u_camera_to_center_distance : -u_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));}`,lf=`#define SDF_PX 8.0 -uniform 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; -#pragma mapbox: define highp vec4 fill_color -#pragma mapbox: define highp vec4 halo_color -#pragma mapbox: define lowp float opacity -#pragma mapbox: define lowp float halo_width -#pragma mapbox: define lowp float halo_blur -void main() { -#pragma mapbox: initialize highp vec4 fill_color -#pragma mapbox: initialize highp vec4 halo_color -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize lowp float halo_width -#pragma mapbox: initialize lowp float halo_blur -float 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); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,Sh=`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; -#pragma mapbox: define highp vec4 fill_color -#pragma mapbox: define highp vec4 halo_color -#pragma mapbox: define lowp float opacity -#pragma mapbox: define lowp float halo_width -#pragma mapbox: define lowp float halo_blur -void main() { -#pragma mapbox: initialize highp vec4 fill_color -#pragma mapbox: initialize highp vec4 halo_color -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize lowp float halo_width -#pragma mapbox: initialize lowp float halo_blur -vec2 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 ? -camera_to_anchor_distance/u_camera_to_center_distance : -u_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);}`,Mu=`#define SDF_PX 8.0 -#define SDF 1.0 -#define ICON 0.0 -uniform 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; -#pragma mapbox: define highp vec4 fill_color -#pragma mapbox: define highp vec4 halo_color -#pragma mapbox: define lowp float opacity -#pragma mapbox: define lowp float halo_width -#pragma mapbox: define lowp float halo_blur -void main() { -#pragma mapbox: initialize highp vec4 fill_color -#pragma mapbox: initialize highp vec4 halo_color -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize lowp float halo_width -#pragma mapbox: initialize lowp float halo_blur -float 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; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -return;}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); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,ih=`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; -#pragma mapbox: define highp vec4 fill_color -#pragma mapbox: define highp vec4 halo_color -#pragma mapbox: define lowp float opacity -#pragma mapbox: define lowp float halo_width -#pragma mapbox: define lowp float halo_blur -void main() { -#pragma mapbox: initialize highp vec4 fill_color -#pragma mapbox: initialize highp vec4 halo_color -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize lowp float halo_width -#pragma mapbox: initialize lowp float halo_blur -vec2 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 ? -camera_to_anchor_distance/u_camera_to_center_distance : -u_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);}`,js=Us(Cf,sc),Eu=Us(jh,Lf),Dc=Us(cs,af),ks=Us(Gf,$l),bc=Us(fl,lc),hu=Us(Fu,Es),_u=Us(Hs,Go),nl=Us(ps,uc),nh=Us(xl,Gu),Mh=Us(Os,od),zu=Us(Po,sd),Fc=Us(Ko,Pa),wc=Us(of,Hu),bd=Us(bl,Hf),xf=Us(Ic,yf),Pf=Us(Bl,Ah),qu=Us(Qf,_f),bf=Us(Yc,eh),jl=Us(th,ju),uf=Us(jf,cc),Xh=Us(sf,Nl),If=Us(Kc,Rc),Cs=Us(gs,Wf),du=Us(Wh,rh),ku=Us(lf,Sh),Xf=Us(Mu,ih);function Us(Y,D){var J=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,O=D.match(/attribute ([\w]+) ([\w]+)/g),K=Y.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),de=D.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),ne=de?de.concat(K):K,we={};return Y=Y.replace(J,function(Oe,ht,Yt,cr,Nt){return we[Nt]=!0,ht==="define"?` -#ifndef HAS_UNIFORM_u_`+Nt+` -varying `+Yt+" "+cr+" "+Nt+`; -#else -uniform `+Yt+" "+cr+" u_"+Nt+`; -#endif -`:` -#ifdef HAS_UNIFORM_u_`+Nt+` - `+Yt+" "+cr+" "+Nt+" = u_"+Nt+`; -#endif -`}),D=D.replace(J,function(Oe,ht,Yt,cr,Nt){var Ne=cr==="float"?"vec2":"vec4",$e=Nt.match(/color/)?"color":Ne;return we[Nt]?ht==="define"?` -#ifndef HAS_UNIFORM_u_`+Nt+` -uniform lowp float u_`+Nt+`_t; -attribute `+Yt+" "+Ne+" a_"+Nt+`; -varying `+Yt+" "+cr+" "+Nt+`; -#else -uniform `+Yt+" "+cr+" u_"+Nt+`; -#endif -`:$e==="vec4"?` -#ifndef HAS_UNIFORM_u_`+Nt+` - `+Nt+" = a_"+Nt+`; -#else - `+Yt+" "+cr+" "+Nt+" = u_"+Nt+`; -#endif -`:` -#ifndef HAS_UNIFORM_u_`+Nt+` - `+Nt+" = unpack_mix_"+$e+"(a_"+Nt+", u_"+Nt+`_t); -#else - `+Yt+" "+cr+" "+Nt+" = u_"+Nt+`; -#endif -`:ht==="define"?` -#ifndef HAS_UNIFORM_u_`+Nt+` -uniform lowp float u_`+Nt+`_t; -attribute `+Yt+" "+Ne+" a_"+Nt+`; -#else -uniform `+Yt+" "+cr+" u_"+Nt+`; -#endif -`:$e==="vec4"?` -#ifndef HAS_UNIFORM_u_`+Nt+` - `+Yt+" "+cr+" "+Nt+" = a_"+Nt+`; -#else - `+Yt+" "+cr+" "+Nt+" = u_"+Nt+`; -#endif -`:` -#ifndef HAS_UNIFORM_u_`+Nt+` - `+Yt+" "+cr+" "+Nt+" = unpack_mix_"+$e+"(a_"+Nt+", u_"+Nt+`_t); -#else - `+Yt+" "+cr+" "+Nt+" = u_"+Nt+`; -#endif -`}),{fragmentSource:Y,vertexSource:D,staticAttributes:O,staticUniforms:ne}}var wf=Object.freeze({__proto__:null,prelude:js,background:Eu,backgroundPattern:Dc,circle:ks,clippingMask:bc,heatmap:hu,heatmapTexture:_u,collisionBox:nl,collisionCircle:nh,debug:Mh,fill:zu,fillOutline:Fc,fillOutlinePattern:wc,fillPattern:bd,fillExtrusion:xf,fillExtrusionPattern:Pf,hillshadePrepare:qu,hillshade:bf,line:jl,lineGradient:uf,linePattern:Xh,lineSDF:If,raster:Cs,symbolIcon:du,symbolSDF:ku,symbolTextAndIcon:Xf}),zc=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};zc.prototype.bind=function(D,J,O,K,de,ne,we,Oe){this.context=D;for(var ht=this.boundPaintVertexBuffers.length!==K.length,Yt=0;!ht&&Yt>16,we>>16],u_pixel_coord_lower:[ne&65535,we&65535]}}function cf(Y,D,J,O){var K=J.imageManager.getPattern(Y.from.toString()),de=J.imageManager.getPattern(Y.to.toString()),ne=J.imageManager.getPixelSize(),we=ne.width,Oe=ne.height,ht=Math.pow(2,O.tileID.overscaledZ),Yt=O.tileSize*Math.pow(2,J.transform.tileZoom)/ht,cr=Yt*(O.tileID.canonical.x+O.tileID.wrap*ht),Nt=Yt*O.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:K.tl,u_pattern_br_a:K.br,u_pattern_tl_b:de.tl,u_pattern_br_b:de.br,u_texsize:[we,Oe],u_mix:D.t,u_pattern_size_a:K.displaySize,u_pattern_size_b:de.displaySize,u_scale_a:D.fromScale,u_scale_b:D.toScale,u_tile_units_to_pixels:1/As(O,1,J.transform.tileZoom),u_pixel_coord_upper:[cr>>16,Nt>>16],u_pixel_coord_lower:[cr&65535,Nt&65535]}}var Zf=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_lightpos:new i.Uniform3f(Y,D.u_lightpos),u_lightintensity:new i.Uniform1f(Y,D.u_lightintensity),u_lightcolor:new i.Uniform3f(Y,D.u_lightcolor),u_vertical_gradient:new i.Uniform1f(Y,D.u_vertical_gradient),u_opacity:new i.Uniform1f(Y,D.u_opacity)}},Wl=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_lightpos:new i.Uniform3f(Y,D.u_lightpos),u_lightintensity:new i.Uniform1f(Y,D.u_lightintensity),u_lightcolor:new i.Uniform3f(Y,D.u_lightcolor),u_vertical_gradient:new i.Uniform1f(Y,D.u_vertical_gradient),u_height_factor:new i.Uniform1f(Y,D.u_height_factor),u_image:new i.Uniform1i(Y,D.u_image),u_texsize:new i.Uniform2f(Y,D.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,D.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,D.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,D.u_scale),u_fade:new i.Uniform1f(Y,D.u_fade),u_opacity:new i.Uniform1f(Y,D.u_opacity)}},ah=function(Y,D,J,O){var K=D.style.light,de=K.properties.get("position"),ne=[de.x,de.y,de.z],we=i.create$1();K.properties.get("anchor")==="viewport"&&i.fromRotation(we,-D.transform.angle),i.transformMat3(ne,ne,we);var Oe=K.properties.get("color");return{u_matrix:Y,u_lightpos:ne,u_lightintensity:K.properties.get("intensity"),u_lightcolor:[Oe.r,Oe.g,Oe.b],u_vertical_gradient:+J,u_opacity:O}},Zu=function(Y,D,J,O,K,de,ne){return i.extend(ah(Y,D,J,O),Xu(de,D,ne),{u_height_factor:-Math.pow(2,K.overscaledZ)/ne.tileSize/8})},qc=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix)}},Tc=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_image:new i.Uniform1i(Y,D.u_image),u_texsize:new i.Uniform2f(Y,D.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,D.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,D.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,D.u_scale),u_fade:new i.Uniform1f(Y,D.u_fade)}},wl=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_world:new i.Uniform2f(Y,D.u_world)}},vu=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_world:new i.Uniform2f(Y,D.u_world),u_image:new i.Uniform1i(Y,D.u_image),u_texsize:new i.Uniform2f(Y,D.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,D.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,D.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,D.u_scale),u_fade:new i.Uniform1f(Y,D.u_fade)}},Oc=function(Y){return{u_matrix:Y}},ff=function(Y,D,J,O){return i.extend(Oc(Y),Xu(J,D,O))},fc=function(Y,D){return{u_matrix:Y,u_world:D}},Bc=function(Y,D,J,O,K){return i.extend(ff(Y,D,J,O),{u_world:K})},kt=function(Y,D){return{u_camera_to_center_distance:new i.Uniform1f(Y,D.u_camera_to_center_distance),u_scale_with_map:new i.Uniform1i(Y,D.u_scale_with_map),u_pitch_with_map:new i.Uniform1i(Y,D.u_pitch_with_map),u_extrude_scale:new i.Uniform2f(Y,D.u_extrude_scale),u_device_pixel_ratio:new i.Uniform1f(Y,D.u_device_pixel_ratio),u_matrix:new i.UniformMatrix4f(Y,D.u_matrix)}},Zt=function(Y,D,J,O){var K=Y.transform,de,ne;if(O.paint.get("circle-pitch-alignment")==="map"){var we=As(J,1,K.zoom);de=!0,ne=[we,we]}else de=!1,ne=K.pixelsToGLUnits;return{u_camera_to_center_distance:K.cameraToCenterDistance,u_scale_with_map:+(O.paint.get("circle-pitch-scale")==="map"),u_matrix:Y.translatePosMatrix(D.posMatrix,J,O.paint.get("circle-translate"),O.paint.get("circle-translate-anchor")),u_pitch_with_map:+de,u_device_pixel_ratio:i.browser.devicePixelRatio,u_extrude_scale:ne}},Er=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_camera_to_center_distance:new i.Uniform1f(Y,D.u_camera_to_center_distance),u_pixels_to_tile_units:new i.Uniform1f(Y,D.u_pixels_to_tile_units),u_extrude_scale:new i.Uniform2f(Y,D.u_extrude_scale),u_overscale_factor:new i.Uniform1f(Y,D.u_overscale_factor)}},xr=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_inv_matrix:new i.UniformMatrix4f(Y,D.u_inv_matrix),u_camera_to_center_distance:new i.Uniform1f(Y,D.u_camera_to_center_distance),u_viewport_size:new i.Uniform2f(Y,D.u_viewport_size)}},Kr=function(Y,D,J){var O=As(J,1,D.zoom),K=Math.pow(2,D.zoom-J.tileID.overscaledZ),de=J.tileID.overscaleFactor();return{u_matrix:Y,u_camera_to_center_distance:D.cameraToCenterDistance,u_pixels_to_tile_units:O,u_extrude_scale:[D.pixelsToGLUnits[0]/(O*K),D.pixelsToGLUnits[1]/(O*K)],u_overscale_factor:de}},Mi=function(Y,D,J){return{u_matrix:Y,u_inv_matrix:D,u_camera_to_center_distance:J.cameraToCenterDistance,u_viewport_size:[J.width,J.height]}},Wi=function(Y,D){return{u_color:new i.UniformColor(Y,D.u_color),u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_overlay:new i.Uniform1i(Y,D.u_overlay),u_overlay_scale:new i.Uniform1f(Y,D.u_overlay_scale)}},dn=function(Y,D,J){return J===void 0&&(J=1),{u_matrix:Y,u_color:D,u_overlay:0,u_overlay_scale:J}},wn=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix)}},On=function(Y){return{u_matrix:Y}},Yi=function(Y,D){return{u_extrude_scale:new i.Uniform1f(Y,D.u_extrude_scale),u_intensity:new i.Uniform1f(Y,D.u_intensity),u_matrix:new i.UniformMatrix4f(Y,D.u_matrix)}},$i=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_world:new i.Uniform2f(Y,D.u_world),u_image:new i.Uniform1i(Y,D.u_image),u_color_ramp:new i.Uniform1i(Y,D.u_color_ramp),u_opacity:new i.Uniform1f(Y,D.u_opacity)}},an=function(Y,D,J,O){return{u_matrix:Y,u_extrude_scale:As(D,1,J),u_intensity:O}},Fi=function(Y,D,J,O){var K=i.create();i.ortho(K,0,Y.width,Y.height,0,0,1);var de=Y.context.gl;return{u_matrix:K,u_world:[de.drawingBufferWidth,de.drawingBufferHeight],u_image:J,u_color_ramp:O,u_opacity:D.paint.get("heatmap-opacity")}},ta=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_image:new i.Uniform1i(Y,D.u_image),u_latrange:new i.Uniform2f(Y,D.u_latrange),u_light:new i.Uniform2f(Y,D.u_light),u_shadow:new i.UniformColor(Y,D.u_shadow),u_highlight:new i.UniformColor(Y,D.u_highlight),u_accent:new i.UniformColor(Y,D.u_accent)}},Ca=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_image:new i.Uniform1i(Y,D.u_image),u_dimension:new i.Uniform2f(Y,D.u_dimension),u_zoom:new i.Uniform1f(Y,D.u_zoom),u_unpack:new i.Uniform4f(Y,D.u_unpack)}},Ra=function(Y,D,J){var O=J.paint.get("hillshade-shadow-color"),K=J.paint.get("hillshade-highlight-color"),de=J.paint.get("hillshade-accent-color"),ne=J.paint.get("hillshade-illumination-direction")*(Math.PI/180);J.paint.get("hillshade-illumination-anchor")==="viewport"&&(ne-=Y.transform.angle);var we=!Y.options.moving;return{u_matrix:Y.transform.calculatePosMatrix(D.tileID.toUnwrapped(),we),u_image:0,u_latrange:Ua(Y,D.tileID),u_light:[J.paint.get("hillshade-exaggeration"),ne],u_shadow:O,u_highlight:K,u_accent:de}},La=function(Y,D){var J=D.stride,O=i.create();return i.ortho(O,0,i.EXTENT,-i.EXTENT,0,0,1),i.translate(O,O,[0,-i.EXTENT,0]),{u_matrix:O,u_image:1,u_dimension:[J,J],u_zoom:Y.overscaledZ,u_unpack:D.getUnpackVector()}};function Ua(Y,D){var J=Math.pow(2,D.canonical.z),O=D.canonical.y;return[new i.MercatorCoordinate(0,O/J).toLngLat().lat,new i.MercatorCoordinate(0,(O+1)/J).toLngLat().lat]}var Zn=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_ratio:new i.Uniform1f(Y,D.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,D.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,D.u_units_to_pixels)}},Dn=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_ratio:new i.Uniform1f(Y,D.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,D.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,D.u_units_to_pixels),u_image:new i.Uniform1i(Y,D.u_image),u_image_height:new i.Uniform1f(Y,D.u_image_height)}},Ka=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_texsize:new i.Uniform2f(Y,D.u_texsize),u_ratio:new i.Uniform1f(Y,D.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,D.u_device_pixel_ratio),u_image:new i.Uniform1i(Y,D.u_image),u_units_to_pixels:new i.Uniform2f(Y,D.u_units_to_pixels),u_scale:new i.Uniform3f(Y,D.u_scale),u_fade:new i.Uniform1f(Y,D.u_fade)}},bo=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_ratio:new i.Uniform1f(Y,D.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,D.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,D.u_units_to_pixels),u_patternscale_a:new i.Uniform2f(Y,D.u_patternscale_a),u_patternscale_b:new i.Uniform2f(Y,D.u_patternscale_b),u_sdfgamma:new i.Uniform1f(Y,D.u_sdfgamma),u_image:new i.Uniform1i(Y,D.u_image),u_tex_y_a:new i.Uniform1f(Y,D.u_tex_y_a),u_tex_y_b:new i.Uniform1f(Y,D.u_tex_y_b),u_mix:new i.Uniform1f(Y,D.u_mix)}},Zo=function(Y,D,J){var O=Y.transform;return{u_matrix:ml(Y,D,J),u_ratio:1/As(D,1,O.zoom),u_device_pixel_ratio:i.browser.devicePixelRatio,u_units_to_pixels:[1/O.pixelsToGLUnits[0],1/O.pixelsToGLUnits[1]]}},Ss=function(Y,D,J,O){return i.extend(Zo(Y,D,J),{u_image:0,u_image_height:O})},as=function(Y,D,J,O){var K=Y.transform,de=Ho(D,K);return{u_matrix:ml(Y,D,J),u_texsize:D.imageAtlasTexture.size,u_ratio:1/As(D,1,K.zoom),u_device_pixel_ratio:i.browser.devicePixelRatio,u_image:0,u_scale:[de,O.fromScale,O.toScale],u_fade:O.t,u_units_to_pixels:[1/K.pixelsToGLUnits[0],1/K.pixelsToGLUnits[1]]}},ws=function(Y,D,J,O,K){var de=Y.transform,ne=Y.lineAtlas,we=Ho(D,de),Oe=J.layout.get("line-cap")==="round",ht=ne.getDash(O.from,Oe),Yt=ne.getDash(O.to,Oe),cr=ht.width*K.fromScale,Nt=Yt.width*K.toScale;return i.extend(Zo(Y,D,J),{u_patternscale_a:[we/cr,-ht.height/2],u_patternscale_b:[we/Nt,-Yt.height/2],u_sdfgamma:ne.width/(Math.min(cr,Nt)*256*i.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:ht.y,u_tex_y_b:Yt.y,u_mix:K.t})};function Ho(Y,D){return 1/As(Y,1,D.tileZoom)}function ml(Y,D,J){return Y.translatePosMatrix(D.tileID.posMatrix,D,J.paint.get("line-translate"),J.paint.get("line-translate-anchor"))}var Ws=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_tl_parent:new i.Uniform2f(Y,D.u_tl_parent),u_scale_parent:new i.Uniform1f(Y,D.u_scale_parent),u_buffer_scale:new i.Uniform1f(Y,D.u_buffer_scale),u_fade_t:new i.Uniform1f(Y,D.u_fade_t),u_opacity:new i.Uniform1f(Y,D.u_opacity),u_image0:new i.Uniform1i(Y,D.u_image0),u_image1:new i.Uniform1i(Y,D.u_image1),u_brightness_low:new i.Uniform1f(Y,D.u_brightness_low),u_brightness_high:new i.Uniform1f(Y,D.u_brightness_high),u_saturation_factor:new i.Uniform1f(Y,D.u_saturation_factor),u_contrast_factor:new i.Uniform1f(Y,D.u_contrast_factor),u_spin_weights:new i.Uniform3f(Y,D.u_spin_weights)}},Ls=function(Y,D,J,O,K){return{u_matrix:Y,u_tl_parent:D,u_scale_parent:J,u_buffer_scale:1,u_fade_t:O.mix,u_opacity:O.opacity*K.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:K.paint.get("raster-brightness-min"),u_brightness_high:K.paint.get("raster-brightness-max"),u_saturation_factor:ys(K.paint.get("raster-saturation")),u_contrast_factor:no(K.paint.get("raster-contrast")),u_spin_weights:va(K.paint.get("raster-hue-rotate"))}};function va(Y){Y*=Math.PI/180;var D=Math.sin(Y),J=Math.cos(Y);return[(2*J+1)/3,(-Math.sqrt(3)*D-J+1)/3,(Math.sqrt(3)*D-J+1)/3]}function no(Y){return Y>0?1/(1-Y):1+Y}function ys(Y){return Y>0?1-1/(1.001-Y):-Y}var rs=function(Y,D){return{u_is_size_zoom_constant:new i.Uniform1i(Y,D.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,D.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,D.u_size_t),u_size:new i.Uniform1f(Y,D.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,D.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,D.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,D.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,D.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,D.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,D.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,D.u_coord_matrix),u_is_text:new i.Uniform1i(Y,D.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,D.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,D.u_texsize),u_texture:new i.Uniform1i(Y,D.u_texture)}},Ql=function(Y,D){return{u_is_size_zoom_constant:new i.Uniform1i(Y,D.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,D.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,D.u_size_t),u_size:new i.Uniform1f(Y,D.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,D.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,D.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,D.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,D.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,D.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,D.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,D.u_coord_matrix),u_is_text:new i.Uniform1i(Y,D.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,D.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,D.u_texsize),u_texture:new i.Uniform1i(Y,D.u_texture),u_gamma_scale:new i.Uniform1f(Y,D.u_gamma_scale),u_device_pixel_ratio:new i.Uniform1f(Y,D.u_device_pixel_ratio),u_is_halo:new i.Uniform1i(Y,D.u_is_halo)}},Cu=function(Y,D){return{u_is_size_zoom_constant:new i.Uniform1i(Y,D.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,D.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,D.u_size_t),u_size:new i.Uniform1f(Y,D.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,D.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,D.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,D.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,D.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,D.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,D.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,D.u_coord_matrix),u_is_text:new i.Uniform1i(Y,D.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,D.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,D.u_texsize),u_texsize_icon:new i.Uniform2f(Y,D.u_texsize_icon),u_texture:new i.Uniform1i(Y,D.u_texture),u_texture_icon:new i.Uniform1i(Y,D.u_texture_icon),u_gamma_scale:new i.Uniform1f(Y,D.u_gamma_scale),u_device_pixel_ratio:new i.Uniform1f(Y,D.u_device_pixel_ratio),u_is_halo:new i.Uniform1i(Y,D.u_is_halo)}},Yu=function(Y,D,J,O,K,de,ne,we,Oe,ht){var Yt=K.transform;return{u_is_size_zoom_constant:+(Y==="constant"||Y==="source"),u_is_size_feature_constant:+(Y==="constant"||Y==="camera"),u_size_t:D?D.uSizeT:0,u_size:D?D.uSize:0,u_camera_to_center_distance:Yt.cameraToCenterDistance,u_pitch:Yt.pitch/360*2*Math.PI,u_rotate_symbol:+J,u_aspect_ratio:Yt.width/Yt.height,u_fade_change:K.options.fadeDuration?K.symbolFadeChange:1,u_matrix:de,u_label_plane_matrix:ne,u_coord_matrix:we,u_is_text:+Oe,u_pitch_with_map:+O,u_texsize:ht,u_texture:0}},Nc=function(Y,D,J,O,K,de,ne,we,Oe,ht,Yt){var cr=K.transform;return i.extend(Yu(Y,D,J,O,K,de,ne,we,Oe,ht),{u_gamma_scale:O?Math.cos(cr._pitch)*cr.cameraToCenterDistance:1,u_device_pixel_ratio:i.browser.devicePixelRatio,u_is_halo:+Yt})},pu=function(Y,D,J,O,K,de,ne,we,Oe,ht){return i.extend(Nc(Y,D,J,O,K,de,ne,we,!0,Oe,!0),{u_texsize_icon:ht,u_texture_icon:1})},Uc=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_opacity:new i.Uniform1f(Y,D.u_opacity),u_color:new i.UniformColor(Y,D.u_color)}},xu=function(Y,D){return{u_matrix:new i.UniformMatrix4f(Y,D.u_matrix),u_opacity:new i.Uniform1f(Y,D.u_opacity),u_image:new i.Uniform1i(Y,D.u_image),u_pattern_tl_a:new i.Uniform2f(Y,D.u_pattern_tl_a),u_pattern_br_a:new i.Uniform2f(Y,D.u_pattern_br_a),u_pattern_tl_b:new i.Uniform2f(Y,D.u_pattern_tl_b),u_pattern_br_b:new i.Uniform2f(Y,D.u_pattern_br_b),u_texsize:new i.Uniform2f(Y,D.u_texsize),u_mix:new i.Uniform1f(Y,D.u_mix),u_pattern_size_a:new i.Uniform2f(Y,D.u_pattern_size_a),u_pattern_size_b:new i.Uniform2f(Y,D.u_pattern_size_b),u_scale_a:new i.Uniform1f(Y,D.u_scale_a),u_scale_b:new i.Uniform1f(Y,D.u_scale_b),u_pixel_coord_upper:new i.Uniform2f(Y,D.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,D.u_pixel_coord_lower),u_tile_units_to_pixels:new i.Uniform1f(Y,D.u_tile_units_to_pixels)}},Ac=function(Y,D,J){return{u_matrix:Y,u_opacity:D,u_color:J}},Va=function(Y,D,J,O,K,de){return i.extend(cf(O,de,J,K),{u_matrix:Y,u_opacity:D})},oo={fillExtrusion:Zf,fillExtrusionPattern:Wl,fill:qc,fillPattern:Tc,fillOutline:wl,fillOutlinePattern:vu,circle:kt,collisionBox:Er,collisionCircle:xr,debug:Wi,clippingMask:wn,heatmap:Yi,heatmapTexture:$i,hillshade:ta,hillshadePrepare:Ca,line:Zn,lineGradient:Dn,linePattern:Ka,lineSDF:bo,raster:Ws,symbolIcon:rs,symbolSDF:Ql,symbolTextAndIcon:Cu,background:Uc,backgroundPattern:xu},Vc;function hc(Y,D,J,O,K,de,ne){for(var we=Y.context,Oe=we.gl,ht=Y.useProgram("collisionBox"),Yt=[],cr=0,Nt=0,Ne=0;Ne0){var zt=i.create(),_t=Bt;i.mul(zt,It.placementInvProjMatrix,Y.transform.glCoordMatrix),i.mul(zt,zt,It.placementViewportMatrix),Yt.push({circleArray:Ut,circleOffset:Nt,transform:_t,invTransform:zt}),cr+=Ut.length/4,Nt=cr}Ft&&ht.draw(we,Oe.LINES,An.disabled,Vi.disabled,Y.colorModeForRenderPass(),wr.disabled,Kr(Bt,Y.transform,st),J.id,Ft.layoutVertexBuffer,Ft.indexBuffer,Ft.segments,null,Y.transform.zoom,null,null,Ft.collisionVertexBuffer)}}if(!(!ne||!Yt.length)){var Dt=Y.useProgram("collisionCircle"),vt=new i.StructArrayLayout2f1f2i16;vt.resize(cr*4),vt._trim();for(var lr=0,_r=0,Br=Yt;_r=0&&($e[It.associatedIconIndex]={shiftedAnchor:bi,angle:gn})}}if(Yt){Ne.clear();for(var Ei=Y.icon.placedSymbolArray,Oi=0;Oi0){var ne=i.browser.now(),we=(ne-Y.timeAdded)/de,Oe=D?(ne-D.timeAdded)/de:-1,ht=J.getSource(),Yt=K.coveringZoomLevel({tileSize:ht.tileSize,roundZoom:ht.roundZoom}),cr=!D||Math.abs(D.tileID.overscaledZ-Yt)>Math.abs(Y.tileID.overscaledZ-Yt),Nt=cr&&Y.refreshedUponExpiration?1:i.clamp(cr?we:1-Oe,0,1);return Y.refreshedUponExpiration&&we>=1&&(Y.refreshedUponExpiration=!1),D?{opacity:1,mix:1-Nt}:{opacity:Nt,mix:0}}else return{opacity:1,mix:0}}function nr(Y,D,J){var O=J.paint.get("background-color"),K=J.paint.get("background-opacity");if(K!==0){var de=Y.context,ne=de.gl,we=Y.transform,Oe=we.tileSize,ht=J.paint.get("background-pattern");if(!Y.isPatternMissing(ht)){var Yt=!ht&&O.a===1&&K===1&&Y.opaquePassEnabledForLayer()?"opaque":"translucent";if(Y.renderPass===Yt){var cr=Vi.disabled,Nt=Y.depthModeForSublayer(0,Yt==="opaque"?An.ReadWrite:An.ReadOnly),Ne=Y.colorModeForRenderPass(),$e=Y.useProgram(ht?"backgroundPattern":"background"),st=we.coveringTiles({tileSize:Oe});ht&&(de.activeTexture.set(ne.TEXTURE0),Y.imageManager.bind(Y.context));for(var It=J.getCrossfadeParameters(),Bt=0,Ft=st;Bt "+J.overscaledZ);var Bt=It+" "+Ne+"kb";$a(Y,Bt),ne.draw(O,K.TRIANGLES,we,Oe,wt.alphaBlended,wr.disabled,dn(de,i.Color.transparent,st),Yt,Y.debugBuffer,Y.quadTriangleIndexBuffer,Y.debugSegments)}function $a(Y,D){Y.initDebugOverlayCanvas();var J=Y.debugOverlayCanvas,O=Y.context.gl,K=Y.debugOverlayCanvas.getContext("2d");K.clearRect(0,0,J.width,J.height),K.shadowColor="white",K.shadowBlur=2,K.lineWidth=1.5,K.strokeStyle="white",K.textBaseline="top",K.font="bold 36px Open Sans, sans-serif",K.fillText(D,5,5),K.strokeText(D,5,5),Y.debugOverlayTexture.update(J),Y.debugOverlayTexture.bind(O.LINEAR,O.CLAMP_TO_EDGE)}function Co(Y,D,J){var O=Y.context,K=J.implementation;if(Y.renderPass==="offscreen"){var de=K.prerender;de&&(Y.setCustomLayerDefaults(),O.setColorMode(Y.colorModeForRenderPass()),de.call(K,O.gl,Y.transform.customLayerMatrix()),O.setDirty(),Y.setBaseState())}else if(Y.renderPass==="translucent"){Y.setCustomLayerDefaults(),O.setColorMode(Y.colorModeForRenderPass()),O.setStencilMode(Vi.disabled);var ne=K.renderingMode==="3d"?new An(Y.context.gl.LEQUAL,An.ReadWrite,Y.depthRangeFor3D):Y.depthModeForSublayer(0,An.ReadOnly);O.setDepthMode(ne),K.render(O.gl,Y.transform.customLayerMatrix()),O.setDirty(),Y.setBaseState(),O.bindFramebuffer.set(null)}}var Qa={symbol:w,circle:ut,heatmap:Mt,line:Cr,fill:ve,"fill-extrusion":Ie,hillshade:Qe,raster:qt,background:nr,debug:Aa,custom:Co},mo=function(D,J){this.context=new Xr(D),this.transform=J,this._tileTextures={},this.setup(),this.numSublayers=ti.maxUnderzooming+ti.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Vf,this.gpuTimers={}};mo.prototype.resize=function(D,J){if(this.width=D*i.browser.devicePixelRatio,this.height=J*i.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var O=0,K=this.style._order;O256&&this.clearStencil(),O.setColorMode(wt.disabled),O.setDepthMode(An.disabled);var de=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var ne=0,we=J;ne256&&this.clearStencil();var D=this.nextStencilID++,J=this.context.gl;return new Vi({func:J.NOTEQUAL,mask:255},D,255,J.KEEP,J.KEEP,J.REPLACE)},mo.prototype.stencilModeForClipping=function(D){var J=this.context.gl;return new Vi({func:J.EQUAL,mask:255},this._tileClippingMaskIDs[D.key],0,J.KEEP,J.KEEP,J.REPLACE)},mo.prototype.stencilConfigForOverlap=function(D){var J,O=this.context.gl,K=D.sort(function(ht,Yt){return Yt.overscaledZ-ht.overscaledZ}),de=K[K.length-1].overscaledZ,ne=K[0].overscaledZ-de+1;if(ne>1){this.currentStencilSource=void 0,this.nextStencilID+ne>256&&this.clearStencil();for(var we={},Oe=0;Oe=0;this.currentLayer--){var zt=this.style._layers[K[this.currentLayer]],_t=de[zt.source],Dt=Oe[zt.source];this._renderTileClippingMasks(zt,Dt),this.renderLayer(this,_t,zt,Dt)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer0?J.pop():null},mo.prototype.isPatternMissing=function(D){if(!D)return!1;if(!D.from||!D.to)return!0;var J=this.imageManager.getPattern(D.from.toString()),O=this.imageManager.getPattern(D.to.toString());return!J||!O},mo.prototype.useProgram=function(D,J){this.cache=this.cache||{};var O=""+D+(J?J.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[O]||(this.cache[O]=new Rf(this.context,D,wf[D],J,oo[D],this._showOverdrawInspector)),this.cache[O]},mo.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()},mo.prototype.setBaseState=function(){var D=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(D.FUNC_ADD)},mo.prototype.initDebugOverlayCanvas=function(){if(this.debugOverlayCanvas==null){this.debugOverlayCanvas=i.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var D=this.context.gl;this.debugOverlayTexture=new i.Texture(this.context,this.debugOverlayCanvas,D.RGBA)}},mo.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var Bo=function(D,J){this.points=D,this.planes=J};Bo.fromInvProjectionMatrix=function(D,J,O){var K=[[-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]],de=Math.pow(2,O),ne=K.map(function(ht){return i.transformMat4([],ht,D)}).map(function(ht){return i.scale$1([],ht,1/ht[3]/J*de)}),we=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]],Oe=we.map(function(ht){var Yt=i.sub([],ne[ht[0]],ne[ht[1]]),cr=i.sub([],ne[ht[2]],ne[ht[1]]),Nt=i.normalize([],i.cross([],Yt,cr)),Ne=-i.dot(Nt,ne[ht[1]]);return Nt.concat(Ne)});return new Bo(ne,Oe)};var Ps=function(D,J){this.min=D,this.max=J,this.center=i.scale$2([],i.add([],this.min,this.max),.5)};Ps.prototype.quadrant=function(D){for(var J=[D%2===0,D<2],O=i.clone$2(this.min),K=i.clone$2(this.max),de=0;de=0;if(ne===0)return 0;ne!==J.length&&(O=!1)}if(O)return 2;for(var Oe=0;Oe<3;Oe++){for(var ht=Number.MAX_VALUE,Yt=-Number.MAX_VALUE,cr=0;crthis.max[Oe]-this.min[Oe])return 0}return 1};var Ts=function(D,J,O,K){if(D===void 0&&(D=0),J===void 0&&(J=0),O===void 0&&(O=0),K===void 0&&(K=0),isNaN(D)||D<0||isNaN(J)||J<0||isNaN(O)||O<0||isNaN(K)||K<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=D,this.bottom=J,this.left=O,this.right=K};Ts.prototype.interpolate=function(D,J,O){return J.top!=null&&D.top!=null&&(this.top=i.number(D.top,J.top,O)),J.bottom!=null&&D.bottom!=null&&(this.bottom=i.number(D.bottom,J.bottom,O)),J.left!=null&&D.left!=null&&(this.left=i.number(D.left,J.left,O)),J.right!=null&&D.right!=null&&(this.right=i.number(D.right,J.right,O)),this},Ts.prototype.getCenter=function(D,J){var O=i.clamp((this.left+D-this.right)/2,0,D),K=i.clamp((this.top+J-this.bottom)/2,0,J);return new i.Point(O,K)},Ts.prototype.equals=function(D){return this.top===D.top&&this.bottom===D.bottom&&this.left===D.left&&this.right===D.right},Ts.prototype.clone=function(){return new Ts(this.top,this.bottom,this.left,this.right)},Ts.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var wo=function(D,J,O,K,de){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=de===void 0?!0:de,this._minZoom=D||0,this._maxZoom=J||22,this._minPitch=O==null?0:O,this._maxPitch=K==null?60:K,this.setMaxBounds(),this.width=0,this.height=0,this._center=new i.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Ts,this._posMatrixCache={},this._alignedPosMatrixCache={}},To={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}};wo.prototype.clone=function(){var D=new wo(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return D.tileSize=this.tileSize,D.latRange=this.latRange,D.width=this.width,D.height=this.height,D._center=this._center,D.zoom=this.zoom,D.angle=this.angle,D._fov=this._fov,D._pitch=this._pitch,D._unmodified=this._unmodified,D._edgeInsets=this._edgeInsets.clone(),D._calcMatrices(),D},To.minZoom.get=function(){return this._minZoom},To.minZoom.set=function(Y){this._minZoom!==Y&&(this._minZoom=Y,this.zoom=Math.max(this.zoom,Y))},To.maxZoom.get=function(){return this._maxZoom},To.maxZoom.set=function(Y){this._maxZoom!==Y&&(this._maxZoom=Y,this.zoom=Math.min(this.zoom,Y))},To.minPitch.get=function(){return this._minPitch},To.minPitch.set=function(Y){this._minPitch!==Y&&(this._minPitch=Y,this.pitch=Math.max(this.pitch,Y))},To.maxPitch.get=function(){return this._maxPitch},To.maxPitch.set=function(Y){this._maxPitch!==Y&&(this._maxPitch=Y,this.pitch=Math.min(this.pitch,Y))},To.renderWorldCopies.get=function(){return this._renderWorldCopies},To.renderWorldCopies.set=function(Y){Y===void 0?Y=!0:Y===null&&(Y=!1),this._renderWorldCopies=Y},To.worldSize.get=function(){return this.tileSize*this.scale},To.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},To.size.get=function(){return new i.Point(this.width,this.height)},To.bearing.get=function(){return-this.angle/Math.PI*180},To.bearing.set=function(Y){var D=-i.wrap(Y,-180,180)*Math.PI/180;this.angle!==D&&(this._unmodified=!1,this.angle=D,this._calcMatrices(),this.rotationMatrix=i.create$2(),i.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},To.pitch.get=function(){return this._pitch/Math.PI*180},To.pitch.set=function(Y){var D=i.clamp(Y,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==D&&(this._unmodified=!1,this._pitch=D,this._calcMatrices())},To.fov.get=function(){return this._fov/Math.PI*180},To.fov.set=function(Y){Y=Math.max(.01,Math.min(60,Y)),this._fov!==Y&&(this._unmodified=!1,this._fov=Y/180*Math.PI,this._calcMatrices())},To.zoom.get=function(){return this._zoom},To.zoom.set=function(Y){var D=Math.min(Math.max(Y,this.minZoom),this.maxZoom);this._zoom!==D&&(this._unmodified=!1,this._zoom=D,this.scale=this.zoomScale(D),this.tileZoom=Math.floor(D),this.zoomFraction=D-this.tileZoom,this._constrain(),this._calcMatrices())},To.center.get=function(){return this._center},To.center.set=function(Y){Y.lat===this._center.lat&&Y.lng===this._center.lng||(this._unmodified=!1,this._center=Y,this._constrain(),this._calcMatrices())},To.padding.get=function(){return this._edgeInsets.toJSON()},To.padding.set=function(Y){this._edgeInsets.equals(Y)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,Y,1),this._calcMatrices())},To.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},wo.prototype.isPaddingEqual=function(D){return this._edgeInsets.equals(D)},wo.prototype.interpolatePadding=function(D,J,O){this._unmodified=!1,this._edgeInsets.interpolate(D,J,O),this._constrain(),this._calcMatrices()},wo.prototype.coveringZoomLevel=function(D){var J=(D.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/D.tileSize));return Math.max(0,J)},wo.prototype.getVisibleUnwrappedCoordinates=function(D){var J=[new i.UnwrappedTileID(0,D)];if(this._renderWorldCopies)for(var O=this.pointCoordinate(new i.Point(0,0)),K=this.pointCoordinate(new i.Point(this.width,0)),de=this.pointCoordinate(new i.Point(this.width,this.height)),ne=this.pointCoordinate(new i.Point(0,this.height)),we=Math.floor(Math.min(O.x,K.x,de.x,ne.x)),Oe=Math.floor(Math.max(O.x,K.x,de.x,ne.x)),ht=1,Yt=we-ht;Yt<=Oe+ht;Yt++)Yt!==0&&J.push(new i.UnwrappedTileID(Yt,D));return J},wo.prototype.coveringTiles=function(D){var J=this.coveringZoomLevel(D),O=J;if(D.minzoom!==void 0&&JD.maxzoom&&(J=D.maxzoom);var K=i.MercatorCoordinate.fromLngLat(this.center),de=Math.pow(2,J),ne=[de*K.x,de*K.y,0],we=Bo.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,J),Oe=D.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(Oe=J);var ht=3,Yt=function(ci){return{aabb:new Ps([ci*de,0,0],[(ci+1)*de,de,0]),zoom:0,x:0,y:0,wrap:ci,fullyVisible:!1}},cr=[],Nt=[],Ne=J,$e=D.reparseOverscaled?O:J;if(this._renderWorldCopies)for(var st=1;st<=3;st++)cr.push(Yt(-st)),cr.push(Yt(st));for(cr.push(Yt(0));cr.length>0;){var It=cr.pop(),Bt=It.x,Ft=It.y,Ut=It.fullyVisible;if(!Ut){var zt=It.aabb.intersects(we);if(zt===0)continue;Ut=zt===2}var _t=It.aabb.distanceX(ne),Dt=It.aabb.distanceY(ne),vt=Math.max(Math.abs(_t),Math.abs(Dt)),lr=ht+(1<lr&&It.zoom>=Oe){Nt.push({tileID:new i.OverscaledTileID(It.zoom===Ne?$e:It.zoom,It.wrap,It.zoom,Bt,Ft),distanceSq:i.sqrLen([ne[0]-.5-Bt,ne[1]-.5-Ft])});continue}for(var _r=0;_r<4;_r++){var Br=(Bt<<1)+_r%2,Di=(Ft<<1)+(_r>>1);cr.push({aabb:It.aabb.quadrant(_r),zoom:It.zoom+1,x:Br,y:Di,wrap:It.wrap,fullyVisible:Ut})}}return Nt.sort(function(ci,bi){return ci.distanceSq-bi.distanceSq}).map(function(ci){return ci.tileID})},wo.prototype.resize=function(D,J){this.width=D,this.height=J,this.pixelsToGLUnits=[2/D,-2/J],this._constrain(),this._calcMatrices()},To.unmodified.get=function(){return this._unmodified},wo.prototype.zoomScale=function(D){return Math.pow(2,D)},wo.prototype.scaleZoom=function(D){return Math.log(D)/Math.LN2},wo.prototype.project=function(D){var J=i.clamp(D.lat,-this.maxValidLatitude,this.maxValidLatitude);return new i.Point(i.mercatorXfromLng(D.lng)*this.worldSize,i.mercatorYfromLat(J)*this.worldSize)},wo.prototype.unproject=function(D){return new i.MercatorCoordinate(D.x/this.worldSize,D.y/this.worldSize).toLngLat()},To.point.get=function(){return this.project(this.center)},wo.prototype.setLocationAtPoint=function(D,J){var O=this.pointCoordinate(J),K=this.pointCoordinate(this.centerPoint),de=this.locationCoordinate(D),ne=new i.MercatorCoordinate(de.x-(O.x-K.x),de.y-(O.y-K.y));this.center=this.coordinateLocation(ne),this._renderWorldCopies&&(this.center=this.center.wrap())},wo.prototype.locationPoint=function(D){return this.coordinatePoint(this.locationCoordinate(D))},wo.prototype.pointLocation=function(D){return this.coordinateLocation(this.pointCoordinate(D))},wo.prototype.locationCoordinate=function(D){return i.MercatorCoordinate.fromLngLat(D)},wo.prototype.coordinateLocation=function(D){return D.toLngLat()},wo.prototype.pointCoordinate=function(D){var J=0,O=[D.x,D.y,0,1],K=[D.x,D.y,1,1];i.transformMat4(O,O,this.pixelMatrixInverse),i.transformMat4(K,K,this.pixelMatrixInverse);var de=O[3],ne=K[3],we=O[0]/de,Oe=K[0]/ne,ht=O[1]/de,Yt=K[1]/ne,cr=O[2]/de,Nt=K[2]/ne,Ne=cr===Nt?0:(J-cr)/(Nt-cr);return new i.MercatorCoordinate(i.number(we,Oe,Ne)/this.worldSize,i.number(ht,Yt,Ne)/this.worldSize)},wo.prototype.coordinatePoint=function(D){var J=[D.x*this.worldSize,D.y*this.worldSize,0,1];return i.transformMat4(J,J,this.pixelMatrix),new i.Point(J[0]/J[3],J[1]/J[3])},wo.prototype.getBounds=function(){return new i.LngLatBounds().extend(this.pointLocation(new i.Point(0,0))).extend(this.pointLocation(new i.Point(this.width,0))).extend(this.pointLocation(new i.Point(this.width,this.height))).extend(this.pointLocation(new i.Point(0,this.height)))},wo.prototype.getMaxBounds=function(){return!this.latRange||this.latRange.length!==2||!this.lngRange||this.lngRange.length!==2?null:new i.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]])},wo.prototype.setMaxBounds=function(D){D?(this.lngRange=[D.getWest(),D.getEast()],this.latRange=[D.getSouth(),D.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},wo.prototype.calculatePosMatrix=function(D,J){J===void 0&&(J=!1);var O=D.key,K=J?this._alignedPosMatrixCache:this._posMatrixCache;if(K[O])return K[O];var de=D.canonical,ne=this.worldSize/this.zoomScale(de.z),we=de.x+Math.pow(2,de.z)*D.wrap,Oe=i.identity(new Float64Array(16));return i.translate(Oe,Oe,[we*ne,de.y*ne,0]),i.scale(Oe,Oe,[ne/i.EXTENT,ne/i.EXTENT,1]),i.multiply(Oe,J?this.alignedProjMatrix:this.projMatrix,Oe),K[O]=new Float32Array(Oe),K[O]},wo.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},wo.prototype._constrain=function(){if(!(!this.center||!this.width||!this.height||this._constraining)){this._constraining=!0;var D=-90,J=90,O=-180,K=180,de,ne,we,Oe,ht=this.size,Yt=this._unmodified;if(this.latRange){var cr=this.latRange;D=i.mercatorYfromLat(cr[1])*this.worldSize,J=i.mercatorYfromLat(cr[0])*this.worldSize,de=J-DJ&&(Oe=J-It)}if(this.lngRange){var Bt=Ne.x,Ft=ht.x/2;Bt-FtK&&(we=K-Ft)}(we!==void 0||Oe!==void 0)&&(this.center=this.unproject(new i.Point(we!==void 0?we:Ne.x,Oe!==void 0?Oe:Ne.y))),this._unmodified=Yt,this._constraining=!1}},wo.prototype._calcMatrices=function(){if(this.height){var D=this._fov/2,J=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(D)*this.height;var O=Math.PI/2+this._pitch,K=this._fov*(.5+J.y/this.height),de=Math.sin(K)*this.cameraToCenterDistance/Math.sin(i.clamp(Math.PI-O-K,.01,Math.PI-.01)),ne=this.point,we=ne.x,Oe=ne.y,ht=Math.cos(Math.PI/2-this._pitch)*de+this.cameraToCenterDistance,Yt=ht*1.01,cr=this.height/50,Nt=new Float64Array(16);i.perspective(Nt,this._fov,this.width/this.height,cr,Yt),Nt[8]=-J.x*2/this.width,Nt[9]=J.y*2/this.height,i.scale(Nt,Nt,[1,-1,1]),i.translate(Nt,Nt,[0,0,-this.cameraToCenterDistance]),i.rotateX(Nt,Nt,this._pitch),i.rotateZ(Nt,Nt,this.angle),i.translate(Nt,Nt,[-we,-Oe,0]),this.mercatorMatrix=i.scale([],Nt,[this.worldSize,this.worldSize,this.worldSize]),i.scale(Nt,Nt,[1,1,i.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=Nt,this.invProjMatrix=i.invert([],this.projMatrix);var Ne=this.width%2/2,$e=this.height%2/2,st=Math.cos(this.angle),It=Math.sin(this.angle),Bt=we-Math.round(we)+st*Ne+It*$e,Ft=Oe-Math.round(Oe)+st*$e+It*Ne,Ut=new Float64Array(Nt);if(i.translate(Ut,Ut,[Bt>.5?Bt-1:Bt,Ft>.5?Ft-1:Ft,0]),this.alignedProjMatrix=Ut,Nt=i.create(),i.scale(Nt,Nt,[this.width/2,-this.height/2,1]),i.translate(Nt,Nt,[1,-1,0]),this.labelPlaneMatrix=Nt,Nt=i.create(),i.scale(Nt,Nt,[1,-1,1]),i.translate(Nt,Nt,[-1,-1,0]),i.scale(Nt,Nt,[2/this.width,2/this.height,1]),this.glCoordMatrix=Nt,this.pixelMatrix=i.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),Nt=i.invert(new Float64Array(16),this.pixelMatrix),!Nt)throw new Error("failed to invert matrix");this.pixelMatrixInverse=Nt,this._posMatrixCache={},this._alignedPosMatrixCache={}}},wo.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var D=this.pointCoordinate(new i.Point(0,0)),J=[D.x*this.worldSize,D.y*this.worldSize,0,1],O=i.transformMat4(J,J,this.pixelMatrix);return O[3]/this.cameraToCenterDistance},wo.prototype.getCameraPoint=function(){var D=this._pitch,J=Math.tan(D)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new i.Point(0,J))},wo.prototype.getCameraQueryGeometry=function(D){var J=this.getCameraPoint();if(D.length===1)return[D[0],J];for(var O=J.x,K=J.y,de=J.x,ne=J.y,we=0,Oe=D;we=3&&!D.some(function(O){return isNaN(O)})){var J=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(D[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+D[2],+D[1]],zoom:+D[0],bearing:J,pitch:+(D[4]||0)}),!0}return!1},Ul.prototype._updateHashUnthrottled=function(){var D=i.window.location.href.replace(/(#.+)?$/,this.getHashString());try{i.window.history.replaceState(i.window.history.state,null,D)}catch(J){}};var Lu={linearity:.3,easing:i.bezier(0,0,.3,1)},au=i.extend({deceleration:2500,maxSpeed:1400},Lu),Js=i.extend({deceleration:20,maxSpeed:1400},Lu),eu=i.extend({deceleration:1e3,maxSpeed:360},Lu),dc=i.extend({deceleration:1e3,maxSpeed:90},Lu),Tl=function(D){this._map=D,this.clear()};Tl.prototype.clear=function(){this._inertiaBuffer=[]},Tl.prototype.record=function(D){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:i.browser.now(),settings:D})},Tl.prototype._drainInertiaBuffer=function(){for(var D=this._inertiaBuffer,J=i.browser.now(),O=160;D.length>0&&J-D[0].time>O;)D.shift()},Tl.prototype._onMoveEnd=function(D){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var J={zoom:0,bearing:0,pitch:0,pan:new i.Point(0,0),pinchAround:void 0,around:void 0},O=0,K=this._inertiaBuffer;O=this._clickTolerance||this._map.fire(new se(D.type,this._map,D))},Ve.prototype.dblclick=function(D){return this._firePreventable(new se(D.type,this._map,D))},Ve.prototype.mouseover=function(D){this._map.fire(new se(D.type,this._map,D))},Ve.prototype.mouseout=function(D){this._map.fire(new se(D.type,this._map,D))},Ve.prototype.touchstart=function(D){return this._firePreventable(new Te(D.type,this._map,D))},Ve.prototype.touchmove=function(D){this._map.fire(new Te(D.type,this._map,D))},Ve.prototype.touchend=function(D){this._map.fire(new Te(D.type,this._map,D))},Ve.prototype.touchcancel=function(D){this._map.fire(new Te(D.type,this._map,D))},Ve.prototype._firePreventable=function(D){if(this._map.fire(D),D.defaultPrevented)return{}},Ve.prototype.isEnabled=function(){return!0},Ve.prototype.isActive=function(){return!1},Ve.prototype.enable=function(){},Ve.prototype.disable=function(){};var Ye=function(D){this._map=D};Ye.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},Ye.prototype.mousemove=function(D){this._map.fire(new se(D.type,this._map,D))},Ye.prototype.mousedown=function(){this._delayContextMenu=!0},Ye.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new se("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},Ye.prototype.contextmenu=function(D){this._delayContextMenu?this._contextMenuEvent=D:this._map.fire(new se(D.type,this._map,D)),this._map.listens("contextmenu")&&D.preventDefault()},Ye.prototype.isEnabled=function(){return!0},Ye.prototype.isActive=function(){return!1},Ye.prototype.enable=function(){},Ye.prototype.disable=function(){};var Pt=function(D,J){this._map=D,this._el=D.getCanvasContainer(),this._container=D.getContainer(),this._clickTolerance=J.clickTolerance||1};Pt.prototype.isEnabled=function(){return!!this._enabled},Pt.prototype.isActive=function(){return!!this._active},Pt.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},Pt.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},Pt.prototype.mousedown=function(D,J){this.isEnabled()&&D.shiftKey&&D.button===0&&(o.disableDrag(),this._startPos=this._lastPos=J,this._active=!0)},Pt.prototype.mousemoveWindow=function(D,J){if(this._active){var O=J;if(!(this._lastPos.equals(O)||!this._box&&O.dist(this._startPos)this.numTouches)&&(this.aborted=!0),!this.aborted&&(this.startTime===void 0&&(this.startTime=D.timeStamp),O.length===this.numTouches&&(this.centroid=Xt(J),this.touches=ot(O,J)))},zr.prototype.touchmove=function(D,J,O){if(!(this.aborted||!this.centroid)){var K=ot(O,J);for(var de in this.touches){var ne=this.touches[de],we=K[de];(!we||we.dist(ne)>Ur)&&(this.aborted=!0)}}},zr.prototype.touchend=function(D,J,O){if((!this.centroid||D.timeStamp-this.startTime>pr)&&(this.aborted=!0),O.length===0){var K=!this.aborted&&this.centroid;if(this.reset(),K)return K}};var gi=function(D){this.singleTap=new zr(D),this.numTaps=D.numTaps,this.reset()};gi.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},gi.prototype.touchstart=function(D,J,O){this.singleTap.touchstart(D,J,O)},gi.prototype.touchmove=function(D,J,O){this.singleTap.touchmove(D,J,O)},gi.prototype.touchend=function(D,J,O){var K=this.singleTap.touchend(D,J,O);if(K){var de=D.timeStamp-this.lastTime0&&(this._active=!0);var K=ot(O,J),de=new i.Point(0,0),ne=new i.Point(0,0),we=0;for(var Oe in K){var ht=K[Oe],Yt=this._touches[Oe];Yt&&(de._add(ht),ne._add(ht.sub(Yt)),we++,K[Oe]=ht)}if(this._touches=K,!(weMath.abs(Y.x)}var Un=100,ja=function(Y){function D(){Y.apply(this,arguments)}return Y&&(D.__proto__=Y),D.prototype=Object.create(Y&&Y.prototype),D.prototype.constructor=D,D.prototype.reset=function(){Y.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},D.prototype._start=function(O){this._lastPoints=O,Xs(O[0].sub(O[1]))&&(this._valid=!1)},D.prototype._move=function(O,K,de){var ne=O[0].sub(this._lastPoints[0]),we=O[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(ne,we,de.timeStamp),!!this._valid){this._lastPoints=O,this._active=!0;var Oe=(ne.y+we.y)/2,ht=-.5;return{pitchDelta:Oe*ht}}},D.prototype.gestureBeginsVertically=function(O,K,de){if(this._valid!==void 0)return this._valid;var ne=2,we=O.mag()>=ne,Oe=K.mag()>=ne;if(!(!we&&!Oe)){if(!we||!Oe)return this._firstMove===void 0&&(this._firstMove=de),de-this._firstMove0==K.y>0;return Xs(O)&&Xs(K)&&ht}},D}(na),Fo={panStep:100,bearingStep:15,pitchStep:10},Uo=function(){var D=Fo;this._panStep=D.panStep,this._bearingStep=D.bearingStep,this._pitchStep=D.pitchStep,this._rotationDisabled=!1};Uo.prototype.reset=function(){this._active=!1},Uo.prototype.keydown=function(D){var J=this;if(!(D.altKey||D.ctrlKey||D.metaKey)){var O=0,K=0,de=0,ne=0,we=0;switch(D.keyCode){case 61:case 107:case 171:case 187:O=1;break;case 189:case 109:case 173:O=-1;break;case 37:D.shiftKey?K=-1:(D.preventDefault(),ne=-1);break;case 39:D.shiftKey?K=1:(D.preventDefault(),ne=1);break;case 38:D.shiftKey?de=1:(D.preventDefault(),we=-1);break;case 40:D.shiftKey?de=-1:(D.preventDefault(),we=1);break;default:return}return this._rotationDisabled&&(K=0,de=0),{cameraAnimation:function(Oe){var ht=Oe.getZoom();Oe.easeTo({duration:300,easeId:"keyboardHandler",easing:$s,zoom:O?Math.round(ht)+O*(D.shiftKey?2:1):ht,bearing:Oe.getBearing()+K*J._bearingStep,pitch:Oe.getPitch()+de*J._pitchStep,offset:[-ne*J._panStep,-we*J._panStep],center:Oe.getCenter()},{originalEvent:D})}}}},Uo.prototype.enable=function(){this._enabled=!0},Uo.prototype.disable=function(){this._enabled=!1,this.reset()},Uo.prototype.isEnabled=function(){return this._enabled},Uo.prototype.isActive=function(){return this._active},Uo.prototype.disableRotation=function(){this._rotationDisabled=!0},Uo.prototype.enableRotation=function(){this._rotationDisabled=!1};function $s(Y){return Y*(2-Y)}var Sl=4.000244140625,bu=1/100,dl=1/450,Sc=2,Me=function(D,J){this._map=D,this._el=D.getCanvasContainer(),this._handler=J,this._delta=0,this._defaultZoomRate=bu,this._wheelZoomRate=dl,i.bindAll(["_onTimeout"],this)};Me.prototype.setZoomRate=function(D){this._defaultZoomRate=D},Me.prototype.setWheelZoomRate=function(D){this._wheelZoomRate=D},Me.prototype.isEnabled=function(){return!!this._enabled},Me.prototype.isActive=function(){return!!this._active||this._finishTimeout!==void 0},Me.prototype.isZooming=function(){return!!this._zooming},Me.prototype.enable=function(D){this.isEnabled()||(this._enabled=!0,this._aroundCenter=D&&D.around==="center")},Me.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},Me.prototype.wheel=function(D){if(this.isEnabled()){var J=D.deltaMode===i.window.WheelEvent.DOM_DELTA_LINE?D.deltaY*40:D.deltaY,O=i.browser.now(),K=O-(this._lastWheelEventTime||0);this._lastWheelEventTime=O,J!==0&&J%Sl===0?this._type="wheel":J!==0&&Math.abs(J)<4?this._type="trackpad":K>400?(this._type=null,this._lastValue=J,this._timeout=setTimeout(this._onTimeout,40,D)):this._type||(this._type=Math.abs(K*J)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,J+=this._lastValue)),D.shiftKey&&J&&(J=J/4),this._type&&(this._lastWheelEvent=D,this._delta-=J,this._active||this._start(D)),D.preventDefault()}},Me.prototype._onTimeout=function(D){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(D)},Me.prototype._start=function(D){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 J=o.mousePos(this._el,D);this._around=i.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(J)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},Me.prototype.renderFrame=function(){var D=this;if(this._frameId&&(this._frameId=null,!!this.isActive())){var J=this._map.transform;if(this._delta!==0){var O=this._type==="wheel"&&Math.abs(this._delta)>Sl?this._wheelZoomRate:this._defaultZoomRate,K=Sc/(1+Math.exp(-Math.abs(this._delta*O)));this._delta<0&&K!==0&&(K=1/K);var de=typeof this._targetZoom=="number"?J.zoomScale(this._targetZoom):J.scale;this._targetZoom=Math.min(J.maxZoom,Math.max(J.minZoom,J.scaleZoom(de*K))),this._type==="wheel"&&(this._startZoom=J.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var ne=typeof this._targetZoom=="number"?this._targetZoom:J.zoom,we=this._startZoom,Oe=this._easing,ht=!1,Yt;if(this._type==="wheel"&&we&&Oe){var cr=Math.min((i.browser.now()-this._lastWheelEventTime)/200,1),Nt=Oe(cr);Yt=i.number(we,ne,Nt),cr<1?this._frameId||(this._frameId=!0):ht=!0}else Yt=ne,ht=!0;return this._active=!0,ht&&(this._active=!1,this._finishTimeout=setTimeout(function(){D._zooming=!1,D._handler._triggerRenderFrame(),delete D._targetZoom,delete D._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!ht,zoomDelta:Yt-J.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},Me.prototype._smoothOutEasing=function(D){var J=i.ease;if(this._prevEase){var O=this._prevEase,K=(i.browser.now()-O.start)/O.duration,de=O.easing(K+.01)-O.easing(K),ne=.27/Math.sqrt(de*de+1e-4)*.01,we=Math.sqrt(.27*.27-ne*ne);J=i.bezier(ne,we,.25,1)}return this._prevEase={start:i.browser.now(),duration:D,easing:J},J},Me.prototype.reset=function(){this._active=!1};var bt=function(D,J){this._clickZoom=D,this._tapZoom=J};bt.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},bt.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},bt.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},bt.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var Ot=function(){this.reset()};Ot.prototype.reset=function(){this._active=!1},Ot.prototype.dblclick=function(D,J){return D.preventDefault(),{cameraAnimation:function(O){O.easeTo({duration:300,zoom:O.getZoom()+(D.shiftKey?-1:1),around:O.unproject(J)},{originalEvent:D})}}},Ot.prototype.enable=function(){this._enabled=!0},Ot.prototype.disable=function(){this._enabled=!1,this.reset()},Ot.prototype.isEnabled=function(){return this._enabled},Ot.prototype.isActive=function(){return this._active};var Lr=function(){this._tap=new gi({numTouches:1,numTaps:1}),this.reset()};Lr.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},Lr.prototype.touchstart=function(D,J,O){this._swipePoint||(this._tapTime&&D.timeStamp-this._tapTime>dr&&this.reset(),this._tapTime?O.length>0&&(this._swipePoint=J[0],this._swipeTouch=O[0].identifier):this._tap.touchstart(D,J,O))},Lr.prototype.touchmove=function(D,J,O){if(!this._tapTime)this._tap.touchmove(D,J,O);else if(this._swipePoint){if(O[0].identifier!==this._swipeTouch)return;var K=J[0],de=K.y-this._swipePoint.y;return this._swipePoint=K,D.preventDefault(),this._active=!0,{zoomDelta:de/128}}},Lr.prototype.touchend=function(D,J,O){if(this._tapTime)this._swipePoint&&O.length===0&&this.reset();else{var K=this._tap.touchend(D,J,O);K&&(this._tapTime=D.timeStamp)}},Lr.prototype.touchcancel=function(){this.reset()},Lr.prototype.enable=function(){this._enabled=!0},Lr.prototype.disable=function(){this._enabled=!1,this.reset()},Lr.prototype.isEnabled=function(){return this._enabled},Lr.prototype.isActive=function(){return this._active};var Vr=function(D,J,O){this._el=D,this._mousePan=J,this._touchPan=O};Vr.prototype.enable=function(D){this._inertiaOptions=D||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")},Vr.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")},Vr.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},Vr.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var Or=function(D,J,O){this._pitchWithRotate=D.pitchWithRotate,this._mouseRotate=J,this._mousePitch=O};Or.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},Or.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},Or.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},Or.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var Nr=function(D,J,O,K){this._el=D,this._touchZoom=J,this._touchRotate=O,this._tapDragZoom=K,this._rotationDisabled=!1,this._enabled=!0};Nr.prototype.enable=function(D){this._touchZoom.enable(D),this._rotationDisabled||this._touchRotate.enable(D),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")},Nr.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")},Nr.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},Nr.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},Nr.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},Nr.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var vi=function(Y){return Y.zoom||Y.drag||Y.pitch||Y.rotate},Ni=function(Y){function D(){Y.apply(this,arguments)}return Y&&(D.__proto__=Y),D.prototype=Object.create(Y&&Y.prototype),D.prototype.constructor=D,D}(i.Event);function qi(Y){return Y.panDelta&&Y.panDelta.mag()||Y.zoomDelta||Y.bearingDelta||Y.pitchDelta}var Si=function(D,J){this._map=D,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Tl(D),this._bearingSnap=J.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(J),i.bindAll(["handleEvent","handleWindowEvent"],this);var O=this._el;this._listeners=[[O,"touchstart",{passive:!0}],[O,"touchmove",{passive:!1}],[O,"touchend",void 0],[O,"touchcancel",void 0],[O,"mousedown",void 0],[O,"mousemove",void 0],[O,"mouseup",void 0],[i.window.document,"mousemove",{capture:!0}],[i.window.document,"mouseup",void 0],[O,"mouseover",void 0],[O,"mouseout",void 0],[O,"dblclick",void 0],[O,"click",void 0],[O,"keydown",{capture:!1}],[O,"keyup",void 0],[O,"wheel",{passive:!1}],[O,"contextmenu",void 0],[i.window,"blur",void 0]];for(var K=0,de=this._listeners;Kwe?Math.min(2,_t):Math.max(.5,_t),ci=Math.pow(Di,1-_r),bi=ne.unproject(Ut.add(zt.mult(_r*ci)).mult(Br));ne.setLocationAtPoint(ne.renderWorldCopies?bi.wrap():bi,It)}de._fireMoveEvents(K)},function(_r){de._afterEase(K,_r)},O),this},D.prototype._prepareEase=function(O,K,de){de===void 0&&(de={}),this._moving=!0,!K&&!de.moving&&this.fire(new i.Event("movestart",O)),this._zooming&&!de.zooming&&this.fire(new i.Event("zoomstart",O)),this._rotating&&!de.rotating&&this.fire(new i.Event("rotatestart",O)),this._pitching&&!de.pitching&&this.fire(new i.Event("pitchstart",O))},D.prototype._fireMoveEvents=function(O){this.fire(new i.Event("move",O)),this._zooming&&this.fire(new i.Event("zoom",O)),this._rotating&&this.fire(new i.Event("rotate",O)),this._pitching&&this.fire(new i.Event("pitch",O))},D.prototype._afterEase=function(O,K){if(!(this._easeId&&K&&this._easeId===K)){delete this._easeId;var de=this._zooming,ne=this._rotating,we=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,de&&this.fire(new i.Event("zoomend",O)),ne&&this.fire(new i.Event("rotateend",O)),we&&this.fire(new i.Event("pitchend",O)),this.fire(new i.Event("moveend",O))}},D.prototype.flyTo=function(O,K){var de=this;if(!O.essential&&i.browser.prefersReducedMotion){var ne=i.pick(O,["center","zoom","bearing","pitch","around"]);return this.jumpTo(ne,K)}this.stop(),O=i.extend({offset:[0,0],speed:1.2,curve:1.42,easing:i.ease},O);var we=this.transform,Oe=this.getZoom(),ht=this.getBearing(),Yt=this.getPitch(),cr=this.getPadding(),Nt="zoom"in O?i.clamp(+O.zoom,we.minZoom,we.maxZoom):Oe,Ne="bearing"in O?this._normalizeBearing(O.bearing,ht):ht,$e="pitch"in O?+O.pitch:Yt,st="padding"in O?O.padding:we.padding,It=we.zoomScale(Nt-Oe),Bt=i.Point.convert(O.offset),Ft=we.centerPoint.add(Bt),Ut=we.pointLocation(Ft),zt=i.LngLat.convert(O.center||Ut);this._normalizeCenter(zt);var _t=we.project(Ut),Dt=we.project(zt).sub(_t),vt=O.curve,lr=Math.max(we.width,we.height),_r=lr/It,Br=Dt.mag();if("minZoom"in O){var Di=i.clamp(Math.min(O.minZoom,Oe,Nt),we.minZoom,we.maxZoom),ci=lr/we.zoomScale(Di-Oe);vt=Math.sqrt(ci/Br*2)}var bi=vt*vt;function gn(so){var Yo=(_r*_r-lr*lr+(so?-1:1)*bi*bi*Br*Br)/(2*(so?_r:lr)*bi*Br);return Math.log(Math.sqrt(Yo*Yo+1)-Yo)}function tn(so){return(Math.exp(so)-Math.exp(-so))/2}function Ei(so){return(Math.exp(so)+Math.exp(-so))/2}function Oi(so){return tn(so)/Ei(so)}var Gi=gn(0),on=function(so){return Ei(Gi)/Ei(Gi+vt*so)},zn=function(so){return lr*((Ei(Gi)*Oi(Gi+vt*so)-tn(Gi))/bi)/Br},Ja=(gn(1)-Gi)/vt;if(Math.abs(Br)<1e-6||!isFinite(Ja)){if(Math.abs(lr-_r)<1e-6)return this.easeTo(O,K);var co=_rO.maxDuration&&(O.duration=0),this._zooming=!0,this._rotating=ht!==Ne,this._pitching=$e!==Yt,this._padding=!we.isPaddingEqual(st),this._prepareEase(K,!1),this._ease(function(so){var Yo=so*Ja,ms=1/on(Yo);we.zoom=so===1?Nt:Oe+we.scaleZoom(ms),de._rotating&&(we.bearing=i.number(ht,Ne,so)),de._pitching&&(we.pitch=i.number(Yt,$e,so)),de._padding&&(we.interpolatePadding(cr,st,so),Ft=we.centerPoint.add(Bt));var ou=so===1?zt:we.unproject(_t.add(Dt.mult(zn(Yo))).mult(ms));we.setLocationAtPoint(we.renderWorldCopies?ou.wrap():ou,Ft),de._fireMoveEvents(K)},function(){return de._afterEase(K)},O),this},D.prototype.isEasing=function(){return!!this._easeFrameId},D.prototype.stop=function(){return this._stop()},D.prototype._stop=function(O,K){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var de=this._onEaseEnd;delete this._onEaseEnd,de.call(this,K)}if(!O){var ne=this.handlers;ne&&ne.stop(!1)}return this},D.prototype._ease=function(O,K,de){de.animate===!1||de.duration===0?(O(1),K()):(this._easeStart=i.browser.now(),this._easeOptions=de,this._onEaseFrame=O,this._onEaseEnd=K,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},D.prototype._renderFrameCallback=function(){var O=Math.min((i.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(O)),O<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},D.prototype._normalizeBearing=function(O,K){O=i.wrap(O,-180,180);var de=Math.abs(O-K);return Math.abs(O-360-K)180?-360:de<-180?360:0}},D}(i.Evented),Qi=function(D){D===void 0&&(D={}),this.options=D,i.bindAll(["_toggleAttribution","_updateEditLink","_updateData","_updateCompact"],this)};Qi.prototype.getDefaultPosition=function(){return"bottom-right"},Qi.prototype.onAdd=function(D){var J=this.options&&this.options.compact;return this._map=D,this._container=o.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._compactButton=o.create("button","mapboxgl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=o.create("div","mapboxgl-ctrl-attrib-inner",this._container),this._innerContainer.setAttribute("role","list"),J&&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),J===void 0&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},Qi.prototype.onRemove=function(){o.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},Qi.prototype._setElementTitle=function(D,J){var O=this._map._getUIString("AttributionControl."+J);D.title=O,D.setAttribute("aria-label",O)},Qi.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"))},Qi.prototype._updateEditLink=function(){var D=this._editLink;D||(D=this._editLink=this._container.querySelector(".mapbox-improve-map"));var J=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||i.config.ACCESS_TOKEN}];if(D){var O=J.reduce(function(K,de,ne){return de.value&&(K+=de.key+"="+de.value+(ne=0)return!1;return!0});var we=D.join(" | ");we!==this._attribHTML&&(this._attribHTML=we,D.length?(this._innerContainer.innerHTML=we,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},Qi.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact","mapboxgl-compact-show")};var ji=function(){i.bindAll(["_updateLogo"],this),i.bindAll(["_updateCompact"],this)};ji.prototype.onAdd=function(D){this._map=D,this._container=o.create("div","mapboxgl-ctrl");var J=o.create("a","mapboxgl-ctrl-logo");return J.target="_blank",J.rel="noopener nofollow",J.href="https://www.mapbox.com/",J.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),J.setAttribute("rel","noopener nofollow"),this._container.appendChild(J),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},ji.prototype.onRemove=function(){o.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},ji.prototype.getDefaultPosition=function(){return"bottom-left"},ji.prototype._updateLogo=function(D){(!D||D.sourceDataType==="metadata")&&(this._container.style.display=this._logoRequired()?"block":"none")},ji.prototype._logoRequired=function(){if(this._map.style){var D=this._map.style.sourceCaches;for(var J in D){var O=D[J].getSource();if(O.mapbox_logo)return!0}return!1}},ji.prototype._updateCompact=function(){var D=this._container.children;if(D.length){var J=D[0];this._map.getCanvasContainer().offsetWidth<250?J.classList.add("mapboxgl-compact"):J.classList.remove("mapboxgl-compact")}};var oi=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};oi.prototype.add=function(D){var J=++this._id,O=this._queue;return O.push({callback:D,id:J,cancelled:!1}),J},oi.prototype.remove=function(D){for(var J=this._currentlyRunning,O=J?this._queue.concat(J):this._queue,K=0,de=O;KO.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(O.minPitch!=null&&O.maxPitch!=null&&O.minPitch>O.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(O.minPitch!=null&&O.minPitchqn)throw new Error("maxPitch must be less than or equal to "+qn);var de=new wo(O.minZoom,O.maxZoom,O.minPitch,O.maxPitch,O.renderWorldCopies);if(Y.call(this,de,O),this._interactive=O.interactive,this._maxTileCacheSize=O.maxTileCacheSize,this._failIfMajorPerformanceCaveat=O.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=O.preserveDrawingBuffer,this._antialias=O.antialias,this._trackResize=O.trackResize,this._bearingSnap=O.bearingSnap,this._refreshExpiredTiles=O.refreshExpiredTiles,this._fadeDuration=O.fadeDuration,this._crossSourceCollisions=O.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=O.collectResourceTiming,this._renderTaskQueue=new oi,this._controls=[],this._mapId=i.uniqueId(),this._locale=i.extend({},Tr,O.locale),this._clickTolerance=O.clickTolerance,this._requestManager=new i.RequestManager(O.transformRequest,O.accessToken),typeof O.container=="string"){if(this._container=i.window.document.getElementById(O.container),!this._container)throw new Error("Container '"+O.container+"' not found.")}else if(O.container instanceof yi)this._container=O.container;else throw new Error("Invalid type: 'container' must be a String or HTMLElement.");if(O.maxBounds&&this.setMaxBounds(O.maxBounds),i.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 K._update(!1)}),this.on("moveend",function(){return K._update(!1)}),this.on("zoom",function(){return K._update(!0)}),typeof i.window!="undefined"&&(i.window.addEventListener("online",this._onWindowOnline,!1),i.window.addEventListener("resize",this._onWindowResize,!1),i.window.addEventListener("orientationchange",this._onWindowResize,!1)),this.handlers=new Si(this,O);var ne=typeof O.hash=="string"&&O.hash||void 0;this._hash=O.hash&&new Ul(ne).addTo(this),(!this._hash||!this._hash._onHashChange())&&(this.jumpTo({center:O.center,zoom:O.zoom,bearing:O.bearing,pitch:O.pitch}),O.bounds&&(this.resize(),this.fitBounds(O.bounds,i.extend({},O.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=O.localIdeographFontFamily,O.style&&this.setStyle(O.style,{localIdeographFontFamily:O.localIdeographFontFamily}),O.attributionControl&&this.addControl(new Qi({customAttribution:O.customAttribution})),this.addControl(new ji,O.logoPosition),this.on("style.load",function(){K.transform.unmodified&&K.jumpTo(K.style.stylesheet)}),this.on("data",function(we){K._update(we.dataType==="style"),K.fire(new i.Event(we.dataType+"data",we))}),this.on("dataloading",function(we){K.fire(new i.Event(we.dataType+"dataloading",we))})}Y&&(D.__proto__=Y),D.prototype=Object.create(Y&&Y.prototype),D.prototype.constructor=D;var J={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return D.prototype._getMapId=function(){return this._mapId},D.prototype.addControl=function(K,de){if(de===void 0&&(K.getDefaultPosition?de=K.getDefaultPosition():de="top-right"),!K||!K.onAdd)return this.fire(new i.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var ne=K.onAdd(this);this._controls.push(K);var we=this._controlPositions[de];return de.indexOf("bottom")!==-1?we.insertBefore(ne,we.firstChild):we.appendChild(ne),this},D.prototype.removeControl=function(K){if(!K||!K.onRemove)return this.fire(new i.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var de=this._controls.indexOf(K);return de>-1&&this._controls.splice(de,1),K.onRemove(this),this},D.prototype.hasControl=function(K){return this._controls.indexOf(K)>-1},D.prototype.resize=function(K){var de=this._containerDimensions(),ne=de[0],we=de[1];this._resizeCanvas(ne,we),this.transform.resize(ne,we),this.painter.resize(ne,we);var Oe=!this._moving;return Oe&&(this.stop(),this.fire(new i.Event("movestart",K)).fire(new i.Event("move",K))),this.fire(new i.Event("resize",K)),Oe&&this.fire(new i.Event("moveend",K)),this},D.prototype.getBounds=function(){return this.transform.getBounds()},D.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},D.prototype.setMaxBounds=function(K){return this.transform.setMaxBounds(i.LngLatBounds.convert(K)),this._update()},D.prototype.setMinZoom=function(K){if(K=K==null?ui:K,K>=ui&&K<=this.transform.maxZoom)return this.transform.minZoom=K,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=K,this._update(),this.getZoom()>K&&this.setZoom(K),this;throw new Error("maxZoom must be greater than the current minZoom")},D.prototype.getMaxZoom=function(){return this.transform.maxZoom},D.prototype.setMinPitch=function(K){if(K=K==null?Xi:K,K=Xi&&K<=this.transform.maxPitch)return this.transform.minPitch=K,this._update(),this.getPitch()qn)throw new Error("maxPitch must be less than or equal to "+qn);if(K>=this.transform.minPitch)return this.transform.maxPitch=K,this._update(),this.getPitch()>K&&this.setPitch(K),this;throw new Error("maxPitch must be greater than the current minPitch")},D.prototype.getMaxPitch=function(){return this.transform.maxPitch},D.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},D.prototype.setRenderWorldCopies=function(K){return this.transform.renderWorldCopies=K,this._update()},D.prototype.project=function(K){return this.transform.locationPoint(i.LngLat.convert(K))},D.prototype.unproject=function(K){return this.transform.pointLocation(i.Point.convert(K))},D.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},D.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},D.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},D.prototype._createDelegatedListener=function(K,de,ne){var we=this,Oe;if(K==="mouseenter"||K==="mouseover"){var ht=!1,Yt=function(It){var Bt=we.getLayer(de)?we.queryRenderedFeatures(It.point,{layers:[de]}):[];Bt.length?ht||(ht=!0,ne.call(we,new se(K,we,It.originalEvent,{features:Bt}))):ht=!1},cr=function(){ht=!1};return{layer:de,listener:ne,delegates:{mousemove:Yt,mouseout:cr}}}else if(K==="mouseleave"||K==="mouseout"){var Nt=!1,Ne=function(It){var Bt=we.getLayer(de)?we.queryRenderedFeatures(It.point,{layers:[de]}):[];Bt.length?Nt=!0:Nt&&(Nt=!1,ne.call(we,new se(K,we,It.originalEvent)))},$e=function(It){Nt&&(Nt=!1,ne.call(we,new se(K,we,It.originalEvent)))};return{layer:de,listener:ne,delegates:{mousemove:Ne,mouseout:$e}}}else{var st=function(It){var Bt=we.getLayer(de)?we.queryRenderedFeatures(It.point,{layers:[de]}):[];Bt.length&&(It.features=Bt,ne.call(we,It),delete It.features)};return{layer:de,listener:ne,delegates:(Oe={},Oe[K]=st,Oe)}}},D.prototype.on=function(K,de,ne){if(ne===void 0)return Y.prototype.on.call(this,K,de);var we=this._createDelegatedListener(K,de,ne);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[K]=this._delegatedListeners[K]||[],this._delegatedListeners[K].push(we);for(var Oe in we.delegates)this.on(Oe,we.delegates[Oe]);return this},D.prototype.once=function(K,de,ne){if(ne===void 0)return Y.prototype.once.call(this,K,de);var we=this._createDelegatedListener(K,de,ne);for(var Oe in we.delegates)this.once(Oe,we.delegates[Oe]);return this},D.prototype.off=function(K,de,ne){var we=this;if(ne===void 0)return Y.prototype.off.call(this,K,de);var Oe=function(ht){for(var Yt=ht[K],cr=0;cr180;){var ne=J.locationPoint(Y);if(ne.x>=0&&ne.y>=0&&ne.x<=J.width&&ne.y<=J.height)break;Y.lng>J.center.lng?Y.lng-=360:Y.lng+=360}return Y}var Nn={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};function aa(Y,D,J){var O=Y.classList;for(var K in Nn)O.remove("mapboxgl-"+J+"-anchor-"+K);O.add("mapboxgl-"+J+"-anchor-"+D)}var Ki=function(Y){function D(J,O){if(Y.call(this),(J instanceof i.window.HTMLElement||O)&&(J=i.extend({element:J},O)),i.bindAll(["_update","_onMove","_onUp","_addDragHandler","_onMapClick","_onKeyPress"],this),this._anchor=J&&J.anchor||"center",this._color=J&&J.color||"#3FB1CE",this._scale=J&&J.scale||1,this._draggable=J&&J.draggable||!1,this._clickTolerance=J&&J.clickTolerance||0,this._isDragging=!1,this._state="inactive",this._rotation=J&&J.rotation||0,this._rotationAlignment=J&&J.rotationAlignment||"auto",this._pitchAlignment=J&&J.pitchAlignment&&J.pitchAlignment!=="auto"?J.pitchAlignment:this._rotationAlignment,!J||!J.element){this._defaultMarker=!0,this._element=o.create("div"),this._element.setAttribute("aria-label","Map marker");var K=o.createNS("http://www.w3.org/2000/svg","svg"),de=41,ne=27;K.setAttributeNS(null,"display","block"),K.setAttributeNS(null,"height",de+"px"),K.setAttributeNS(null,"width",ne+"px"),K.setAttributeNS(null,"viewBox","0 0 "+ne+" "+de);var we=o.createNS("http://www.w3.org/2000/svg","g");we.setAttributeNS(null,"stroke","none"),we.setAttributeNS(null,"stroke-width","1"),we.setAttributeNS(null,"fill","none"),we.setAttributeNS(null,"fill-rule","evenodd");var Oe=o.createNS("http://www.w3.org/2000/svg","g");Oe.setAttributeNS(null,"fill-rule","nonzero");var ht=o.createNS("http://www.w3.org/2000/svg","g");ht.setAttributeNS(null,"transform","translate(3.0, 29.0)"),ht.setAttributeNS(null,"fill","#000000");for(var Yt=[{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"}],cr=0,Nt=Yt;cr=K}this._isDragging&&(this._pos=O.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 i.Event("dragstart"))),this.fire(new i.Event("drag")))},D.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 i.Event("dragend")),this._state="inactive"},D.prototype._addDragHandler=function(O){this._element.contains(O.originalEvent.target)&&(O.preventDefault(),this._positionDelta=O.point.sub(this._pos).add(this._offset),this._pointerdownPos=O.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))},D.prototype.setDraggable=function(O){return this._draggable=!!O,this._map&&(O?(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},D.prototype.isDraggable=function(){return this._draggable},D.prototype.setRotation=function(O){return this._rotation=O||0,this._update(),this},D.prototype.getRotation=function(){return this._rotation},D.prototype.setRotationAlignment=function(O){return this._rotationAlignment=O||"auto",this._update(),this},D.prototype.getRotationAlignment=function(){return this._rotationAlignment},D.prototype.setPitchAlignment=function(O){return this._pitchAlignment=O&&O!=="auto"?O:this._rotationAlignment,this._update(),this},D.prototype.getPitchAlignment=function(){return this._pitchAlignment},D}(i.Evented),Cn={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},ia;function sa(Y){ia!==void 0?Y(ia):i.window.navigator.permissions!==void 0?i.window.navigator.permissions.query({name:"geolocation"}).then(function(D){ia=D.state!=="denied",Y(ia)}):(ia=!!i.window.navigator.geolocation,Y(ia))}var ba=0,is=!1,Zs=function(Y){function D(J){Y.call(this),this.options=i.extend({},Cn,J),i.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker"],this)}return Y&&(D.__proto__=Y),D.prototype=Object.create(Y&&Y.prototype),D.prototype.constructor=D,D.prototype.onAdd=function(O){return this._map=O,this._container=o.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),sa(this._setupUI),this._container},D.prototype.onRemove=function(){this._geolocationWatchID!==void 0&&(i.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(),o.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,ba=0,is=!1},D.prototype._isOutOfMapMaxBounds=function(O){var K=this._map.getMaxBounds(),de=O.coords;return K&&(de.longitudeK.getEast()||de.latitudeK.getNorth())},D.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}},D.prototype._onSuccess=function(O){if(this._map){if(this._isOutOfMapMaxBounds(O)){this._setErrorState(),this.fire(new i.Event("outofmaxbounds",O)),this._updateMarker(),this._finish();return}if(this.options.trackUserLocation)switch(this._lastKnownPosition=O,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(O),(!this.options.trackUserLocation||this._watchState==="ACTIVE_LOCK")&&this._updateCamera(O),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new i.Event("geolocate",O)),this._finish()}},D.prototype._updateCamera=function(O){var K=new i.LngLat(O.coords.longitude,O.coords.latitude),de=O.coords.accuracy,ne=this._map.getBearing(),we=i.extend({bearing:ne},this.options.fitBoundsOptions);this._map.fitBounds(K.toBounds(de),we,{geolocateSource:!0})},D.prototype._updateMarker=function(O){if(O){var K=new i.LngLat(O.coords.longitude,O.coords.latitude);this._accuracyCircleMarker.setLngLat(K).addTo(this._map),this._userLocationDotMarker.setLngLat(K).addTo(this._map),this._accuracy=O.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},D.prototype._updateCircleRadius=function(){var O=this._map._container.clientHeight/2,K=this._map.unproject([0,O]),de=this._map.unproject([1,O]),ne=K.distanceTo(de),we=Math.ceil(2*this._accuracy/ne);this._circleElement.style.width=we+"px",this._circleElement.style.height=we+"px"},D.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},D.prototype._onError=function(O){if(this._map){if(this.options.trackUserLocation)if(O.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 K=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=K,this._geolocateButton.setAttribute("aria-label",K),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(O.code===3&&is)return;this._setErrorState()}this._watchState!=="OFF"&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new i.Event("error",O)),this._finish()}},D.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},D.prototype._setupUI=function(O){var K=this;if(this._container.addEventListener("contextmenu",function(we){return we.preventDefault()}),this._geolocateButton=o.create("button","mapboxgl-ctrl-geolocate",this._container),o.create("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden",!0),this._geolocateButton.type="button",O===!1){i.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");var de=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=de,this._geolocateButton.setAttribute("aria-label",de)}else{var ne=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=ne,this._geolocateButton.setAttribute("aria-label",ne)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=o.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new Ki(this._dotElement),this._circleElement=o.create("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Ki({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(we){var Oe=we.originalEvent&&we.originalEvent.type==="resize";!we.geolocateSource&&K._watchState==="ACTIVE_LOCK"&&!Oe&&(K._watchState="BACKGROUND",K._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),K._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),K.fire(new i.Event("trackuserlocationend")))})},D.prototype.trigger=function(){if(!this._setup)return i.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 i.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":ba--,is=!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 i.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 i.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"),ba++;var O;ba>1?(O={maximumAge:6e5,timeout:0},is=!0):(O=this.options.positionOptions,is=!1),this._geolocationWatchID=i.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,O)}}else i.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},D.prototype._clearWatch=function(){i.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)},D}(i.Evented),Ga={maxWidth:100,unit:"metric"},Ml=function(D){this.options=i.extend({},Ga,D),i.bindAll(["_onMove","setUnit"],this)};Ml.prototype.getDefaultPosition=function(){return"bottom-left"},Ml.prototype._onMove=function(){zo(this._map,this._container,this.options)},Ml.prototype.onAdd=function(D){return this._map=D,this._container=o.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",D.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},Ml.prototype.onRemove=function(){o.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},Ml.prototype.setUnit=function(D){this.options.unit=D,zo(this._map,this._container,this.options)};function zo(Y,D,J){var O=J&&J.maxWidth||100,K=Y._container.clientHeight/2,de=Y.unproject([0,K]),ne=Y.unproject([O,K]),we=de.distanceTo(ne);if(J&&J.unit==="imperial"){var Oe=3.2808*we;if(Oe>5280){var ht=Oe/5280;Qs(D,O,ht,Y._getUIString("ScaleControl.Miles"))}else Qs(D,O,Oe,Y._getUIString("ScaleControl.Feet"))}else if(J&&J.unit==="nautical"){var Yt=we/1852;Qs(D,O,Yt,Y._getUIString("ScaleControl.NauticalMiles"))}else we>=1e3?Qs(D,O,we/1e3,Y._getUIString("ScaleControl.Kilometers")):Qs(D,O,we,Y._getUIString("ScaleControl.Meters"))}function Qs(Y,D,J,O){var K=Vl(J),de=K/J;Y.style.width=D*de+"px",Y.innerHTML=K+" "+O}function al(Y){var D=Math.pow(10,Math.ceil(-Math.log(Y)/Math.LN10));return Math.round(Y*D)/D}function Vl(Y){var D=Math.pow(10,(""+Math.floor(Y)).length-1),J=Y/D;return J=J>=10?10:J>=5?5:J>=3?3:J>=2?2:J>=1?1:al(J),D*J}var ss=function(D){this._fullscreen=!1,D&&D.container&&(D.container instanceof i.window.HTMLElement?this._container=D.container:i.warnOnce("Full screen control 'container' must be a DOM element.")),i.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in i.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in i.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in i.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in i.window.document&&(this._fullscreenchange="MSFullscreenChange")};ss.prototype.onAdd=function(D){return this._map=D,this._container||(this._container=this._map.getContainer()),this._controlContainer=o.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",i.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},ss.prototype.onRemove=function(){o.remove(this._controlContainer),this._map=null,i.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},ss.prototype._checkFullscreenSupport=function(){return!!(i.window.document.fullscreenEnabled||i.window.document.mozFullScreenEnabled||i.window.document.msFullscreenEnabled||i.window.document.webkitFullscreenEnabled)},ss.prototype._setupUI=function(){var D=this._fullscreenButton=o.create("button","mapboxgl-ctrl-fullscreen",this._controlContainer);o.create("span","mapboxgl-ctrl-icon",D).setAttribute("aria-hidden",!0),D.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),i.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},ss.prototype._updateTitle=function(){var D=this._getTitle();this._fullscreenButton.setAttribute("aria-label",D),this._fullscreenButton.title=D},ss.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")},ss.prototype._isFullscreen=function(){return this._fullscreen},ss.prototype._changeIcon=function(){var D=i.window.document.fullscreenElement||i.window.document.mozFullScreenElement||i.window.document.webkitFullscreenElement||i.window.document.msFullscreenElement;D===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())},ss.prototype._onClickFullscreen=function(){this._isFullscreen()?i.window.document.exitFullscreen?i.window.document.exitFullscreen():i.window.document.mozCancelFullScreen?i.window.document.mozCancelFullScreen():i.window.document.msExitFullscreen?i.window.document.msExitFullscreen():i.window.document.webkitCancelFullScreen&&i.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 Vs={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px"},Ys=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", "),wa=function(Y){function D(J){Y.call(this),this.options=i.extend(Object.create(Vs),J),i.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}return Y&&(D.__proto__=Y),D.prototype=Object.create(Y&&Y.prototype),D.prototype.constructor=D,D.prototype.addTo=function(O){return this._map&&this.remove(),this._map=O,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 i.Event("open")),this},D.prototype.isOpen=function(){return!!this._map},D.prototype.remove=function(){return this._content&&o.remove(this._content),this._container&&(o.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 i.Event("close")),this},D.prototype.getLngLat=function(){return this._lngLat},D.prototype.setLngLat=function(O){return this._lngLat=i.LngLat.convert(O),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},D.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},D.prototype.getElement=function(){return this._container},D.prototype.setText=function(O){return this.setDOMContent(i.window.document.createTextNode(O))},D.prototype.setHTML=function(O){var K=i.window.document.createDocumentFragment(),de=i.window.document.createElement("body"),ne;for(de.innerHTML=O;ne=de.firstChild,!!ne;)K.appendChild(ne);return this.setDOMContent(K)},D.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},D.prototype.setMaxWidth=function(O){return this.options.maxWidth=O,this._update(),this},D.prototype.setDOMContent=function(O){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=o.create("div","mapboxgl-popup-content",this._container);return this._content.appendChild(O),this._createCloseButton(),this._update(),this._focusFirstElement(),this},D.prototype.addClassName=function(O){this._container&&this._container.classList.add(O)},D.prototype.removeClassName=function(O){this._container&&this._container.classList.remove(O)},D.prototype.setOffset=function(O){return this.options.offset=O,this._update(),this},D.prototype.toggleClassName=function(O){if(this._container)return this._container.classList.toggle(O)},D.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=o.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))},D.prototype._onMouseUp=function(O){this._update(O.point)},D.prototype._onMouseMove=function(O){this._update(O.point)},D.prototype._onDrag=function(O){this._update(O.point)},D.prototype._update=function(O){var K=this,de=this._lngLat||this._trackPointer;if(!(!this._map||!de||!this._content)&&(this._container||(this._container=o.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=o.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach(function(Ne){return K._container.classList.add(Ne)}),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=pn(this._lngLat,this._pos,this._map.transform)),!(this._trackPointer&&!O))){var ne=this._pos=this._trackPointer&&O?O:this._map.project(this._lngLat),we=this.options.anchor,Oe=ol(this.options.offset);if(!we){var ht=this._container.offsetWidth,Yt=this._container.offsetHeight,cr;ne.y+Oe.bottom.ythis._map.transform.height-Yt?cr=["bottom"]:cr=[],ne.xthis._map.transform.width-ht/2&&cr.push("right"),cr.length===0?we="bottom":we=cr.join("-")}var Nt=ne.add(Oe[we]).round();o.setTransform(this._container,Nn[we]+" translate("+Nt.x+"px,"+Nt.y+"px)"),aa(this._container,we,"popup")}},D.prototype._focusFirstElement=function(){if(!(!this.options.focusAfterOpen||!this._container)){var O=this._container.querySelector(Ys);O&&O.focus()}},D.prototype._onClose=function(){this.remove()},D}(i.Evented);function ol(Y){if(Y)if(typeof Y=="number"){var D=Math.round(Math.sqrt(.5*Math.pow(Y,2)));return{center:new i.Point(0,0),top:new i.Point(0,Y),"top-left":new i.Point(D,D),"top-right":new i.Point(-D,D),bottom:new i.Point(0,-Y),"bottom-left":new i.Point(D,-D),"bottom-right":new i.Point(-D,-D),left:new i.Point(Y,0),right:new i.Point(-Y,0)}}else if(Y instanceof i.Point||Array.isArray(Y)){var J=i.Point.convert(Y);return{center:J,top:J,"top-left":J,"top-right":J,bottom:J,"bottom-left":J,"bottom-right":J,left:J,right:J}}else return{center:i.Point.convert(Y.center||[0,0]),top:i.Point.convert(Y.top||[0,0]),"top-left":i.Point.convert(Y["top-left"]||[0,0]),"top-right":i.Point.convert(Y["top-right"]||[0,0]),bottom:i.Point.convert(Y.bottom||[0,0]),"bottom-left":i.Point.convert(Y["bottom-left"]||[0,0]),"bottom-right":i.Point.convert(Y["bottom-right"]||[0,0]),left:i.Point.convert(Y.left||[0,0]),right:i.Point.convert(Y.right||[0,0])};else return ol(new i.Point(0,0))}var io={version:i.version,supported:a,setRTLTextPlugin:i.setRTLTextPlugin,getRTLTextPluginStatus:i.getRTLTextPluginStatus,Map:si,NavigationControl:Ui,GeolocateControl:Zs,AttributionControl:Qi,ScaleControl:Ml,FullscreenControl:ss,Popup:wa,Marker:Ki,Style:yu,LngLat:i.LngLat,LngLatBounds:i.LngLatBounds,Point:i.Point,MercatorCoordinate:i.MercatorCoordinate,Evented:i.Evented,config:i.config,prewarm:ua,clearPrewarmedResources:ma,get accessToken(){return i.config.ACCESS_TOKEN},set accessToken(Y){i.config.ACCESS_TOKEN=Y},get baseApiUrl(){return i.config.API_URL},set baseApiUrl(Y){i.config.API_URL=Y},get workerCount(){return fn.workerCount},set workerCount(Y){fn.workerCount=Y},get maxParallelImageRequests(){return i.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(Y){i.config.MAX_PARALLEL_IMAGE_REQUESTS=Y},clearStorage:function(D){i.clearTileCache(D)},workerUrl:""};return io}),r})});var wGe=ye((Vxr,bGe)=>{"use strict";var vw=Pr(),rWt=Zl().sanitizeHTML,iWt=fJ(),yGe=m1();function _Ge(e,t){this.subplot=e,this.uid=e.uid+"-"+t,this.index=t,this.idSource="source-"+this.uid,this.idLayer=yGe.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var ag=_Ge.prototype;ag.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=n7(t)};ag.needsNewImage=function(e){var t=this.subplot.map;return t.getSource(this.idSource)&&this.sourceType==="image"&&e.sourcetype==="image"&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))};ag.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type};ag.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup["layout-"+this.index]};ag.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]};ag.updateImage=function(e){var t=this.subplot.map;t.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var r=this.findFollowingMapboxLayerId(this.lookupBelow());r!==null&&this.subplot.map.moveLayer(this.idLayer,r)};ag.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,!!n7(e)){var r=nWt(e);t.addSource(this.idSource,r)}};ag.findFollowingMapboxLayerId=function(e){if(e==="traces")for(var t=this.subplot.getMapLayers(),r=0;r0){for(var r=0;r0}function xGe(e){var t={},r={};switch(e.type){case"circle":vw.extendFlat(r,{"circle-radius":e.circle.radius,"circle-color":e.color,"circle-opacity":e.opacity});break;case"line":vw.extendFlat(r,{"line-width":e.line.width,"line-color":e.color,"line-opacity":e.opacity,"line-dasharray":e.line.dash});break;case"fill":vw.extendFlat(r,{"fill-color":e.color,"fill-outline-color":e.fill.outlinecolor,"fill-opacity":e.opacity});break;case"symbol":var n=e.symbol,i=iWt(n.textposition,n.iconsize);vw.extendFlat(t,{"icon-image":n.icon+"-15","icon-size":n.iconsize/10,"text-field":n.text,"text-size":n.textfont.size,"text-anchor":i.anchor,"text-offset":i.offset,"symbol-placement":n.placement}),vw.extendFlat(r,{"icon-color":e.color,"text-color":n.textfont.color,"text-opacity":e.opacity});break;case"raster":vw.extendFlat(r,{"raster-fade-duration":0,"raster-opacity":e.opacity});break}return{layout:t,paint:r}}function nWt(e){var t=e.sourcetype,r=e.source,n={type:t},i;return t==="geojson"?i="data":t==="vector"?i=typeof r=="string"?"url":"tiles":t==="raster"?(i="tiles",n.tileSize=256):t==="image"&&(i="url",n.coordinates=e.coordinates),n[i]=r,e.sourceattribution&&(n.attribution=rWt(e.sourceattribution)),n}bGe.exports=function(t,r,n){var i=new _Ge(t,r);return i.update(n),i}});var PGe=ye((Gxr,LGe)=>{"use strict";var yJ=mJ(),_J=Pr(),MGe=dx(),TGe=Oa(),aWt=ho(),oWt=yv(),a7=ef(),EGe=Cg(),sWt=EGe.drawMode,lWt=EGe.selectMode,uWt=qf().prepSelect,cWt=qf().clearOutline,fWt=qf().clearSelectionsCache,hWt=qf().selectOnClick,Cx=m1(),dWt=wGe();function kGe(e,t){this.id=t,this.gd=e;var r=e._fullLayout,n=e._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+"-"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var Gh=kGe.prototype;Gh.plot=function(e,t,r){var n=this,i=t[n.id];n.map&&i.accesstoken!==n.accessToken&&(n.map.remove(),n.map=null,n.styleObj=null,n.traceHash={},n.layerList=[]);var a;n.map?a=new Promise(function(o,s){n.updateMap(e,t,o,s)}):a=new Promise(function(o,s){n.createMap(e,t,o,s)}),r.push(a)};Gh.createMap=function(e,t,r,n){var i=this,a=t[i.id],o=i.styleObj=CGe(a.style,t);i.accessToken=a.accesstoken;var s=a.bounds,l=s?[[s.west,s.south],[s.east,s.north]]:null,u=i.map=new yJ.Map({container:i.div,style:o.style,center:xJ(a.center),zoom:a.zoom,bearing:a.bearing,pitch:a.pitch,maxBounds:l,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new yJ.AttributionControl({compact:!0}));u._canvas.style.left="0px",u._canvas.style.top="0px",i.rejectOnError(n),i.isStatic||i.initFx(e,t);var c=[];c.push(new Promise(function(f){u.once("load",f)})),c=c.concat(MGe.fetchTraceGeoData(e)),Promise.all(c).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Gh.updateMap=function(e,t,r,n){var i=this,a=i.map,o=t[this.id];i.rejectOnError(n);var s=[],l=CGe(o.style,t);JSON.stringify(i.styleObj)!==JSON.stringify(l)&&(i.styleObj=l,a.setStyle(l.style),i.traceHash={},s.push(new Promise(function(u){a.once("styledata",u)}))),s=s.concat(MGe.fetchTraceGeoData(e)),Promise.all(s).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Gh.fillBelowLookup=function(e,t){var r=t[this.id],n=r.layers,i,a,o=this.belowLookup={},s=!1;for(i=0;i1)for(i=0;i-1&&hWt(l.originalEvent,n,[r.xaxis],[r.yaxis],r.id,s),u.indexOf("event")>-1&&a7.click(n,l.originalEvent)}}};Gh.updateFx=function(e){var t=this,r=t.map,n=t.gd;if(t.isStatic)return;function i(l){var u=t.map.unproject(l);return[u.lng,u.lat]}var a=e.dragmode,o;o=function(l,u){if(u.isRect){var c=l.range={};c[t.id]=[i([u.xmin,u.ymin]),i([u.xmax,u.ymax])]}else{var f=l.lassoPoints={};f[t.id]=u.map(i)}};var s=t.dragOptions;t.dragOptions=_J.extendDeep(s||{},{dragmode:e.dragmode,element:t.div,gd:n,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:o},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off("click",t.onClickInPanHandler),lWt(a)||sWt(a)?(r.dragPan.disable(),r.on("zoomstart",t.clearOutline),t.dragOptions.prepFn=function(l,u,c){uWt(l,u,c,t.dragOptions,a)},oWt.init(t.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",t.clearOutline),t.div.onmousedown=null,t.div.ontouchstart=null,t.div.removeEventListener("touchstart",t.div._ontouchstart),t.onClickInPanHandler=t.onClickInPanFn(t.dragOptions),r.on("click",t.onClickInPanHandler))};Gh.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+"px",n.height=r.h*(t.y[1]-t.y[0])+"px",n.left=r.l+t.x[0]*r.w+"px",n.top=r.t+(1-t.y[1])*r.h+"px",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])};Gh.updateLayers=function(e){var t=e[this.id],r=t.layers,n=this.layerList,i;if(r.length!==n.length){for(i=0;i{"use strict";var bJ=Pr(),vWt=q_(),pWt=Kd(),IGe=Yk();RGe.exports=function(t,r,n){vWt(t,r,n,{type:"mapbox",attributes:IGe,handleDefaults:gWt,partition:"y",accessToken:r._mapboxAccessToken})};function gWt(e,t,r,n){r("accesstoken",n.accessToken),r("style"),r("center.lon"),r("center.lat"),r("zoom"),r("bearing"),r("pitch");var i=r("bounds.west"),a=r("bounds.east"),o=r("bounds.south"),s=r("bounds.north");(i===void 0||a===void 0||o===void 0||s===void 0)&&delete t.bounds,pWt(e,t,{name:"layers",handleItemDefaults:mWt}),t._input=e}function mWt(e,t){function r(l,u){return bJ.coerce(e,t,IGe.layers,l,u)}var n=r("visible");if(n){var i=r("sourcetype"),a=i==="raster"||i==="image";r("source"),r("sourceattribution"),i==="vector"&&r("sourcelayer"),i==="image"&&r("coordinates");var o;a&&(o="raster");var s=r("type",o);a&&s!=="raster"&&(s=t.type="raster",bJ.log("Source types *raster* and *image* must drawn *raster* layer type.")),r("below"),r("color"),r("opacity"),r("minzoom"),r("maxzoom"),s==="circle"&&r("circle.radius"),s==="line"&&(r("line.width"),r("line.dash")),s==="fill"&&r("fill.outlinecolor"),s==="symbol"&&(r("symbol.icon"),r("symbol.iconsize"),r("symbol.text"),bJ.coerceFont(r,"symbol.textfont",void 0,{noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}),r("symbol.textposition"),r("symbol.placement"))}}});var o7=ye(Np=>{"use strict";var FGe=mJ(),nm=Pr(),wJ=nm.strTranslate,yWt=nm.strScale,_Wt=Id().getSubplotCalcData,xWt=Wp(),bWt=qa(),zGe=So(),wWt=Zl(),TWt=PGe(),Lx="mapbox",sy=Np.constants=m1();Np.name=Lx;Np.attr="subplot";Np.idRoot=Lx;Np.idRegex=Np.attrRegex=nm.counterRegex(Lx);var AWt=["mapbox subplots and traces are deprecated!","Please consider switching to `map` subplots and traces.","Learn more at: https://plotly.com/python/maplibre-migration/","as well as https://plotly.com/javascript/maplibre-migration/"].join(" ");Np.attributes={subplot:{valType:"subplotid",dflt:"mapbox",editType:"calc"}};Np.layoutAttributes=Yk();Np.supplyLayoutDefaults=DGe();var qGe=!0;Np.plot=function(t){qGe&&(qGe=!1,nm.warn(AWt));var r=t._fullLayout,n=t.calcdata,i=r._subplots[Lx];if(FGe.version!==sy.requiredVersion)throw new Error(sy.wrongVersionErrorMsg);var a=SWt(t,i);FGe.accessToken=a;for(var o=0;op/2){var k=d.split("|").join("
");m.text(k).attr("data-unformatted",k).call(wWt.convertToTspans,e),b=zGe.bBox(m.node())}m.attr("transform",wJ(-3,-b.height+8)),v.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 M=1;b.width+6>p&&(M=p/(b.width+6));var T=[n.l+n.w*o.x[1],n.t+n.h*(1-o.y[0])];v.attr("transform",wJ(T[0],T[1])+yWt(M))}};function SWt(e,t){var r=e._fullLayout,n=e._context;if(n.mapboxAccessToken==="")return"";for(var i=[],a=[],o=!1,s=!1,l=0;l1&&nm.warn(sy.multipleTokensErrorMsg),i[0]):(a.length&&nm.log(["Listed mapbox access token(s)",a.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" ")),"")}function OGe(e){return typeof e=="string"&&(sy.styleValuesMapbox.indexOf(e)!==-1||e.indexOf("mapbox://")===0||e.indexOf("stamen")===0)}Np.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[Lx],n=0;n{"use strict";var Wxr=["*scattermapbox* trace is deprecated!","Please consider switching to the *scattermap* trace type and `map` subplots.","Learn more at: https://plotly.com/python/maplibre-migration/","as well as https://plotly.com/javascript/maplibre-migration/"].join(" ");BGe.exports={attributes:$z(),supplyDefaults:JVe(),colorbar:Qd(),formatLabels:cJ(),calc:bF(),plot:fGe(),hoverPoints:i7().hoverPoints,eventData:pGe(),selectPoints:mGe(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.update(t)}},moduleType:"trace",name:"scattermapbox",basePlotModule:o7(),categories:["mapbox","gl","symbols","showLegend","scatter-like"],meta:{}}});var VGe=ye((Zxr,UGe)=>{"use strict";UGe.exports=NGe()});var TJ=ye((Yxr,GGe)=>{"use strict";var y1=o5(),MWt=Tu(),{hovertemplateAttrs:EWt,templatefallbackAttrs:kWt}=Ll(),CWt=Gl(),Px=Ao().extendFlat;GGe.exports=Px({locations:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},geojson:{valType:"any",editType:"calc"},featureidkey:Px({},y1.featureidkey,{}),below:{valType:"string",editType:"plot"},text:y1.text,hovertext:y1.hovertext,marker:{line:{color:Px({},y1.marker.line.color,{editType:"plot"}),width:Px({},y1.marker.line.width,{editType:"plot"}),editType:"calc"},opacity:Px({},y1.marker.opacity,{editType:"plot"}),editType:"calc"},selected:{marker:{opacity:Px({},y1.selected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},unselected:{marker:{opacity:Px({},y1.unselected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},hoverinfo:y1.hoverinfo,hovertemplate:EWt({},{keys:["properties"]}),hovertemplatefallback:kWt(),showlegend:Px({},CWt.showlegend,{dflt:!1})},MWt("",{cLetter:"z",editTypeOverride:"calc"}))});var jGe=ye((Kxr,HGe)=>{"use strict";var Qk=Pr(),LWt=td(),PWt=TJ();HGe.exports=function(t,r,n,i){function a(c,f){return Qk.coerce(t,r,PWt,c,f)}var o=a("locations"),s=a("z"),l=a("geojson");if(!Qk.isArrayOrTypedArray(o)||!o.length||!Qk.isArrayOrTypedArray(s)||!s.length||!(typeof l=="string"&&l!==""||Qk.isPlainObject(l))){r.visible=!1;return}a("featureidkey"),r._length=Math.min(o.length,s.length),a("below"),a("text"),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback");var u=a("marker.line.width");u&&a("marker.line.color"),a("marker.opacity"),LWt(t,r,i,a,{prefix:"",cLetter:"z"}),Qk.coerceSelectionMarkerOpacity(r,a)}});var AJ=ye((Jxr,ZGe)=>{"use strict";var IWt=Eo(),_1=Pr(),RWt=tc(),DWt=So(),FWt=fx().makeBlank,WGe=dx();function zWt(e){var t=e[0].trace,r=t.visible===!0&&t._length!==0,n={layout:{visibility:"none"},paint:{}},i={layout:{visibility:"none"},paint:{}},a=t._opts={fill:n,line:i,geojson:FWt()};if(!r)return a;var o=WGe.extractTraceFeature(e);if(!o)return a;var s=RWt.makeColorScaleFuncFromTrace(t),l=t.marker,u=l.line||{},c;_1.isArrayOrTypedArray(l.opacity)&&(c=function(k){var M=k.mo;return IWt(M)?+_1.constrain(M,0,1):0});var f;_1.isArrayOrTypedArray(u.color)&&(f=function(k){return k.mlc});var h;_1.isArrayOrTypedArray(u.width)&&(h=function(k){return k.mlw});for(var d=0;d{"use strict";var KGe=AJ().convert,qWt=AJ().convertOnSelect,YGe=m1().traceLayerPrefix;function JGe(e,t){this.type="choroplethmapbox",this.subplot=e,this.uid=t,this.sourceId="source-"+t,this.layerList=[["fill",YGe+t+"-fill"],["line",YGe+t+"-line"]],this.below=null}var P5=JGe.prototype;P5.update=function(e){this._update(KGe(e)),e[0].trace._glTrace=this};P5.updateOnSelect=function(e){this._update(qWt(e))};P5._update=function(e){var t=this.subplot,r=this.layerList,n=t.belowLookup["trace-"+this.uid];t.map.getSource(this.sourceId).setData(e.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(e,n),this.below=n);for(var i=0;i=0;r--)e.removeLayer(t[r][1])};P5.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};$Ge.exports=function(t,r){var n=r[0].trace,i=new JGe(t,n.uid),a=i.sourceId,o=KGe(r),s=i.below=t.belowLookup["trace-"+n.uid];return t.map.addSource(a,{type:"geojson",data:o.geojson}),i._addLayers(o,s),r[0].trace._glTrace=i,i}});var tHe=ye((ebr,eHe)=>{"use strict";var Qxr=["*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(" ");eHe.exports={attributes:TJ(),supplyDefaults:jGe(),colorbar:D_(),calc:VF(),plot:QGe(),hoverPoints:HF(),eventData:jF(),selectPoints:WF(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.updateOnSelect(t)}},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if(typeof i=="string"&&i.indexOf("water")===0){for(var a=n+1;a{"use strict";rHe.exports=tHe()});var MJ=ye((rbr,aHe)=>{"use strict";var OWt=Tu(),{hovertemplateAttrs:BWt,templatefallbackAttrs:NWt}=Ll(),nHe=Gl(),s7=$z(),SJ=Ao().extendFlat;aHe.exports=SJ({lon:s7.lon,lat:s7.lat,z:{valType:"data_array",editType:"calc"},radius:{valType:"number",editType:"plot",arrayOk:!0,min:1,dflt:30},below:{valType:"string",editType:"plot"},text:s7.text,hovertext:s7.hovertext,hoverinfo:SJ({},nHe.hoverinfo,{flags:["lon","lat","z","text","name"]}),hovertemplate:BWt(),hovertemplatefallback:NWt(),showlegend:SJ({},nHe.showlegend,{dflt:!1})},OWt("",{cLetter:"z",editTypeOverride:"calc"}))});var sHe=ye((ibr,oHe)=>{"use strict";var UWt=Pr(),VWt=td(),GWt=MJ();oHe.exports=function(t,r,n,i){function a(u,c){return UWt.coerce(t,r,GWt,u,c)}var o=a("lon")||[],s=a("lat")||[],l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a("z"),a("radius"),a("below"),a("text"),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback"),VWt(t,r,i,a,{prefix:"",cLetter:"z"})}});var cHe=ye((nbr,uHe)=>{"use strict";var EJ=Eo(),HWt=Pr().isArrayOrTypedArray,kJ=fs().BADNUM,jWt=gv(),lHe=Pr()._;uHe.exports=function(t,r){for(var n=r._length,i=new Array(n),a=r.z,o=HWt(a)&&a.length,s=0;s{"use strict";var WWt=Eo(),CJ=Pr(),fHe=ka(),hHe=tc(),dHe=fs().BADNUM,XWt=fx().makeBlank;vHe.exports=function(t){var r=t[0].trace,n=r.visible===!0&&r._length!==0,i={layout:{visibility:"none"},paint:{}},a=r._opts={heatmap:i,geojson:XWt()};if(!n)return a;var o=[],s,l=r.z,u=r.radius,c=CJ.isArrayOrTypedArray(l)&&l.length,f=CJ.isArrayOrTypedArray(u);for(s=0;s0?+u[s]:0),o.push({type:"Feature",geometry:{type:"Point",coordinates:d},properties:v})}}var b=hHe.extractOpts(r),p=b.reversescale?hHe.flipScale(b.colorscale):b.colorscale,k=p[0][1],M=fHe.opacity(k)<1?k:fHe.addOpacity(k,0),T=["interpolate",["linear"],["heatmap-density"],0,M];for(s=1;s{"use strict";var gHe=pHe(),ZWt=m1().traceLayerPrefix;function mHe(e,t){this.type="densitymapbox",this.subplot=e,this.uid=t,this.sourceId="source-"+t,this.layerList=[["heatmap",ZWt+t+"-heatmap"]],this.below=null}var l7=mHe.prototype;l7.update=function(e){var t=this.subplot,r=this.layerList,n=gHe(e),i=t.belowLookup["trace-"+this.uid];t.map.getSource(this.sourceId).setData(n.geojson),i!==this.below&&(this._removeLayers(),this._addLayers(n,i),this.below=i);for(var a=0;a=0;r--)e.removeLayer(t[r][1])};l7.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};yHe.exports=function(t,r){var n=r[0].trace,i=new mHe(t,n.uid),a=i.sourceId,o=gHe(r),s=i.below=t.belowLookup["trace-"+n.uid];return t.map.addSource(a,{type:"geojson",data:o.geojson}),i._addLayers(o,s),i}});var bHe=ye((sbr,xHe)=>{"use strict";var YWt=ho(),KWt=i7().hoverPoints,JWt=i7().getExtraText;xHe.exports=function(t,r,n){var i=KWt(t,r,n);if(i){var a=i[0],o=a.cd,s=o[0].trace,l=o[a.index];if(delete a.color,"z"in l){var u=a.subplot.mockAxis;a.z=l.z,a.zLabel=YWt.tickText(u,u.c2l(l.z),"hover").text}return a.extraText=JWt(s,l,o[0].t.labels),[a]}}});var THe=ye((lbr,wHe)=>{"use strict";wHe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t.z=r.z,t}});var SHe=ye((cbr,AHe)=>{"use strict";var ubr=["*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(" ");AHe.exports={attributes:MJ(),supplyDefaults:sHe(),colorbar:D_(),formatLabels:cJ(),calc:cHe(),plot:_He(),hoverPoints:bHe(),eventData:THe(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;n{"use strict";MHe.exports=SHe()});var CHe=ye((hbr,kHe)=>{kHe.exports={version:8,name:"orto",metadata:{"maputnik:renderer":"mlgljs"},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"}},{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} +`),pr;if(ot&&(pr=ch(Ut),ot[pr]))return ot[pr].apply(null,cr);var Ir=Function.apply(null,Kt.concat(Ut));return ot&&(ot[pr]=Ir),Ir.apply(null,cr)}return{global:Kr,link:ur,block:Rr,proc:Cn,scope:Xr,cond:$r,compile:fn}}var Ca="xyzw".split(""),Pa=5121,La=1,Va=2,na=0,zn=1,Ja=2,pi=3,ji=4,Ao=5,Qi=6,zo="dither",Vi="blend.enable",Js="blend.color",cs="blend.equation",Mo="blend.func",ya="depth.enable",ho="depth.func",wo="depth.range",Yi="depth.mask",Vs="colorMask",xu="cull.enable",au="cull.face",Yu="frontFace",ll="lineWidth",Pu="polygonOffset.enable",ul="polygonOffset.offset",Pc="sample.alpha",Wa="sample.enable",oi="sample.coverage",Ph="stencil.enable",pf="stencil.mask",iu="stencil.func",K="stencil.opFront",b="stencil.opBack",I="scissor.enable",G="scissor.box",H="viewport",$="profile",xe="framebuffer",ke="vert",Ne="frag",et="elements",bt="primitive",Tt="count",zt="offset",Yt="instances",Q="vao",ae="Width",ve="Height",be=xe+ae,De=xe+ve,Se=H+ae,Be=H+ve,ut="drawingBuffer",gt=ut+ae,Mt=ut+ve,Ft=[Mo,cs,iu,K,b,oi,H,G,ul],Ot=34962,er=34963,sr=2884,wr=3042,Gr=3024,pn=2960,cn=2929,kn=3089,ta=32823,ka=32926,va=32928,Xa=5126,Ai=35664,di=35665,xo=35666,Xi=5124,Wo=35667,fs=35668,ws=35669,qo=35670,Jo=35671,Tl=35672,bu=35673,Gl=35674,zs=35675,Du=35676,_u=35678,Qs=35680,Al=4,V=1028,Z=1029,ie=2304,_e=2305,Me=32775,Le=32776,at=519,je=7680,xt=0,Dt=1,It=32774,ar=513,rr=36160,Dr=36064,Hr={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},hr={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Tr={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},Lr={cw:ie,ccw:_e};function Vr(pe){return Array.isArray(pe)||tr(pe)||lr(pe)}function jr(pe){return pe.sort(function(ot,ht){return ot===H?-1:ht===H?1:ot=1,Kt>=2,ot)}else if(ht===ji){var cr=pe.data;return new br(cr.thisDep,cr.contextDep,cr.propDep,ot)}else{if(ht===Ao)return new br(!1,!1,!1,ot);if(ht===Qi){for(var dr=!1,ur=!1,Rr=!1,Xr=0;Xr=1&&(ur=!0),Kr>=2&&(Rr=!0)}else $r.type===ji&&(dr=dr||$r.data.thisDep,ur=ur||$r.data.contextDep,Rr=Rr||$r.data.propDep)}return new br(dr,ur,Rr,ot)}else return new br(ht===pi,ht===Ja,ht===zn,ot)}}var xa=new br(!1,!1,!1,function(){});function Ba(pe,ot,ht,Kt,cr,dr,ur,Rr,Xr,$r,Kr,Hn,Cn,fn,Sr,Ut){var pr=$r.Record,Ir={add:32774,subtract:32778,"reverse subtract":32779};ht.ext_blend_minmax&&(Ir.min=Me,Ir.max=Le);var Zr=ht.angle_instanced_arrays,Cr=ht.webgl_draw_buffers,hn=ht.oes_vertex_array_object,sn={dirty:!0,profile:Ut.profile},Gn={},kr=[],Mr={},_n={};function an($e){return $e.replace(".","_")}function Jr($e,ct,Et){var nr=an($e);kr.push($e),Gn[nr]=sn[nr]=!!Et,Mr[nr]=ct}function Qr($e,ct,Et){var nr=an($e);kr.push($e),Array.isArray(Et)?(sn[nr]=Et.slice(),Gn[nr]=Et.slice()):sn[nr]=Gn[nr]=Et,_n[nr]=ct}function wn($e){return!!isNaN($e)}Jr(zo,Gr),Jr(Vi,wr),Qr(Js,"blendColor",[0,0,0,0]),Qr(cs,"blendEquationSeparate",[It,It]),Qr(Mo,"blendFuncSeparate",[Dt,xt,Dt,xt]),Jr(ya,cn,!0),Qr(ho,"depthFunc",ar),Qr(wo,"depthRange",[0,1]),Qr(Yi,"depthMask",!0),Qr(Vs,Vs,[!0,!0,!0,!0]),Jr(xu,sr),Qr(au,"cullFace",Z),Qr(Yu,Yu,_e),Qr(ll,ll,1),Jr(Pu,ta),Qr(ul,"polygonOffset",[0,0]),Jr(Pc,ka),Jr(Wa,va),Qr(oi,"sampleCoverage",[1,!1]),Jr(Ph,pn),Qr(pf,"stencilMask",-1),Qr(iu,"stencilFunc",[at,0,-1]),Qr(K,"stencilOpSeparate",[V,je,je,je]),Qr(b,"stencilOpSeparate",[Z,je,je,je]),Jr(I,kn),Qr(G,"scissor",[0,0,pe.drawingBufferWidth,pe.drawingBufferHeight]),Qr(H,H,[0,0,pe.drawingBufferWidth,pe.drawingBufferHeight]);var jn={gl:pe,context:Cn,strings:ot,next:Gn,current:sn,draw:Hn,elements:dr,buffer:cr,shader:Kr,attributes:$r.state,vao:$r,uniforms:Xr,framebuffer:Rr,extensions:ht,timer:fn,isBufferArgs:Vr},oa={primTypes:to,compareFuncs:hr,blendFuncs:Hr,blendEquations:Ir,stencilOps:Tr,glTypes:vn,orientationType:Lr};Cr&&(oa.backBuffer=[Z],oa.drawBuffer=T(Kt.maxDrawbuffers,function($e){return $e===0?[0]:T($e,function(ct){return Dr+ct})}));var rn=0;function Sn(){var $e=ea({cache:Sr}),ct=$e.link,Et=$e.global;$e.id=rn++,$e.batchId="0";var nr=ct(jn),vr=$e.shared={props:"a0"};Object.keys(jn).forEach(function(Lt){vr[Lt]=Et.def(nr,".",Lt)});var Ht=$e.next={},Nt=$e.current={};Object.keys(_n).forEach(function(Lt){Array.isArray(sn[Lt])&&(Ht[Lt]=Et.def(vr.next,".",Lt),Nt[Lt]=Et.def(vr.current,".",Lt))});var Pt=$e.constants={};Object.keys(oa).forEach(function(Lt){Pt[Lt]=Et.def(JSON.stringify(oa[Lt]))}),$e.invoke=function(Lt,dt){switch(dt.type){case na:var Jt=["this",vr.context,vr.props,$e.batchId];return Lt.def(ct(dt.data),".call(",Jt.slice(0,Math.max(dt.data.length+1,4)),")");case zn:return Lt.def(vr.props,dt.data);case Ja:return Lt.def(vr.context,dt.data);case pi:return Lt.def("this",dt.data);case ji:return dt.data.append($e,Lt),dt.data.ref;case Ao:return dt.data.toString();case Qi:return dt.data.map(function(yr){return $e.invoke(Lt,yr)})}},$e.attribCache={};var At={};return $e.scopeAttrib=function(Lt){var dt=ot.id(Lt);if(dt in At)return At[dt];var Jt=$r.scope[dt];Jt||(Jt=$r.scope[dt]=new pr);var yr=At[dt]=ct(Jt);return yr},$e}function sa($e){var ct=$e.static,Et=$e.dynamic,nr;if($ in ct){var vr=!!ct[$];nr=On(function(Nt,Pt){return vr}),nr.enable=vr}else if($ in Et){var Ht=Et[$];nr=ra(Ht,function(Nt,Pt){return Nt.invoke(Pt,Ht)})}return nr}function ca($e,ct){var Et=$e.static,nr=$e.dynamic;if(xe in Et){var vr=Et[xe];return vr?(vr=Rr.getFramebuffer(vr),On(function(Nt,Pt){var At=Nt.link(vr),Lt=Nt.shared;Pt.set(Lt.framebuffer,".next",At);var dt=Lt.context;return Pt.set(dt,"."+be,At+".width"),Pt.set(dt,"."+De,At+".height"),At})):On(function(Nt,Pt){var At=Nt.shared;Pt.set(At.framebuffer,".next","null");var Lt=At.context;return Pt.set(Lt,"."+be,Lt+"."+gt),Pt.set(Lt,"."+De,Lt+"."+Mt),"null"})}else if(xe in nr){var Ht=nr[xe];return ra(Ht,function(Nt,Pt){var At=Nt.invoke(Pt,Ht),Lt=Nt.shared,dt=Lt.framebuffer,Jt=Pt.def(dt,".getFramebuffer(",At,")");Pt.set(dt,".next",Jt);var yr=Lt.context;return Pt.set(yr,"."+be,Jt+"?"+Jt+".width:"+yr+"."+gt),Pt.set(yr,"."+De,Jt+"?"+Jt+".height:"+yr+"."+Mt),Jt})}else return null}function Ra($e,ct,Et){var nr=$e.static,vr=$e.dynamic;function Ht(At){if(At in nr){var Lt=nr[At],dt=!0,Jt=Lt.x|0,yr=Lt.y|0,Or,Yn;return"width"in Lt?Or=Lt.width|0:dt=!1,"height"in Lt?Yn=Lt.height|0:dt=!1,new br(!dt&&ct&&ct.thisDep,!dt&&ct&&ct.contextDep,!dt&&ct&&ct.propDep,function(Wn,Un){var qn=Wn.shared.context,yn=Or;"width"in Lt||(yn=Un.def(qn,".",be,"-",Jt));var Dn=Yn;return"height"in Lt||(Dn=Un.def(qn,".",De,"-",yr)),[Jt,yr,yn,Dn]})}else if(At in vr){var Tn=vr[At],bn=ra(Tn,function(Wn,Un){var qn=Wn.invoke(Un,Tn),yn=Wn.shared.context,Dn=Un.def(qn,".x|0"),In=Un.def(qn,".y|0"),fa=Un.def('"width" in ',qn,"?",qn,".width|0:","(",yn,".",be,"-",Dn,")"),Zi=Un.def('"height" in ',qn,"?",qn,".height|0:","(",yn,".",De,"-",In,")");return[Dn,In,fa,Zi]});return ct&&(bn.thisDep=bn.thisDep||ct.thisDep,bn.contextDep=bn.contextDep||ct.contextDep,bn.propDep=bn.propDep||ct.propDep),bn}else return ct?new br(ct.thisDep,ct.contextDep,ct.propDep,function(Wn,Un){var qn=Wn.shared.context;return[0,0,Un.def(qn,".",be),Un.def(qn,".",De)]}):null}var Nt=Ht(H);if(Nt){var Pt=Nt;Nt=new br(Nt.thisDep,Nt.contextDep,Nt.propDep,function(At,Lt){var dt=Pt.append(At,Lt),Jt=At.shared.context;return Lt.set(Jt,"."+Se,dt[2]),Lt.set(Jt,"."+Be,dt[3]),dt})}return{viewport:Nt,scissor_box:Ht(G)}}function go($e,ct){var Et=$e.static,nr=typeof Et[Ne]=="string"&&typeof Et[ke]=="string";if(nr){if(Object.keys(ct.dynamic).length>0)return null;var vr=ct.static,Ht=Object.keys(vr);if(Ht.length>0&&typeof vr[Ht[0]]=="number"){for(var Nt=[],Pt=0;Pt"+Dn+"?"+dt+".constant["+Dn+"]:0;"}).join(""),"}}else{","if(",Or,"(",dt,".buffer)){",Wn,"=",Yn,".createStream(",Ot,",",dt,".buffer);","}else{",Wn,"=",Yn,".getBuffer(",dt,".buffer);","}",Un,'="type" in ',dt,"?",yr.glTypes,"[",dt,".type]:",Wn,".dtype;",Tn.normalized,"=!!",dt,".normalized;");function qn(yn){Lt(Tn[yn],"=",dt,".",yn,"|0;")}return qn("size"),qn("offset"),qn("stride"),qn("divisor"),Lt("}}"),Lt.exit("if(",Tn.isStream,"){",Yn,".destroyStream(",Wn,");","}"),Tn}vr[Ht]=ra(Nt,Pt)}),vr}function es($e){var ct=$e.static,Et=$e.dynamic,nr={};return Object.keys(ct).forEach(function(vr){var Ht=ct[vr];nr[vr]=On(function(Nt,Pt){return typeof Ht=="number"||typeof Ht=="boolean"?""+Ht:Nt.link(Ht)})}),Object.keys(Et).forEach(function(vr){var Ht=Et[vr];nr[vr]=ra(Ht,function(Nt,Pt){return Nt.invoke(Pt,Ht)})}),nr}function Ds($e,ct,Et,nr,vr){var Ht=$e.static,Nt=$e.dynamic,Pt=go($e,ct),At=ca($e,vr),Lt=Ra($e,At,vr),dt=ja($e,vr),Jt=cl($e,vr),yr=No($e,vr,Pt);function Or(qn){var yn=Lt[qn];yn&&(Jt[qn]=yn)}Or(H),Or(an(G));var Yn=Object.keys(Jt).length>0,Tn={framebuffer:At,draw:dt,shader:yr,state:Jt,dirty:Yn,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(Tn.profile=sa($e,vr),Tn.uniforms=Ci(Et,vr),Tn.drawVAO=Tn.scopeVAO=dt.vao,!Tn.drawVAO&&yr.program&&!Pt&&ht.angle_instanced_arrays&&dt.static.elements){var bn=!0,Wn=yr.program.attributes.map(function(qn){var yn=ct.static[qn];return bn=bn&&!!yn,yn});if(bn&&Wn.length>0){var Un=$r.getVAO($r.createVAO({attributes:Wn,elements:dt.static.elements}));Tn.drawVAO=new br(null,null,null,function(qn,yn){return qn.link(Un)}),Tn.useVAO=!0}}return Pt?Tn.useVAO=!0:Tn.attributes=Ts(ct,vr),Tn.context=es(nr,vr),Tn}function Do($e,ct,Et){var nr=$e.shared,vr=nr.context,Ht=$e.scope();Object.keys(Et).forEach(function(Nt){ct.save(vr,"."+Nt);var Pt=Et[Nt],At=Pt.append($e,ct);Array.isArray(At)?Ht(vr,".",Nt,"=[",At.join(),"];"):Ht(vr,".",Nt,"=",At,";")}),ct(Ht)}function Ro($e,ct,Et,nr){var vr=$e.shared,Ht=vr.gl,Nt=vr.framebuffer,Pt;Cr&&(Pt=ct.def(vr.extensions,".webgl_draw_buffers"));var At=$e.constants,Lt=At.drawBuffer,dt=At.backBuffer,Jt;Et?Jt=Et.append($e,ct):Jt=ct.def(Nt,".next"),nr||ct("if(",Jt,"!==",Nt,".cur){"),ct("if(",Jt,"){",Ht,".bindFramebuffer(",rr,",",Jt,".framebuffer);"),Cr&&ct(Pt,".drawBuffersWEBGL(",Lt,"[",Jt,".colorAttachments.length]);"),ct("}else{",Ht,".bindFramebuffer(",rr,",null);"),Cr&&ct(Pt,".drawBuffersWEBGL(",dt,");"),ct("}",Nt,".cur=",Jt,";"),nr||ct("}")}function Uo($e,ct,Et){var nr=$e.shared,vr=nr.gl,Ht=$e.current,Nt=$e.next,Pt=nr.current,At=nr.next,Lt=$e.cond(Pt,".dirty");kr.forEach(function(dt){var Jt=an(dt);if(!(Jt in Et.state)){var yr,Or;if(Jt in Nt){yr=Nt[Jt],Or=Ht[Jt];var Yn=T(sn[Jt].length,function(bn){return Lt.def(yr,"[",bn,"]")});Lt($e.cond(Yn.map(function(bn,Wn){return bn+"!=="+Or+"["+Wn+"]"}).join("||")).then(vr,".",_n[Jt],"(",Yn,");",Yn.map(function(bn,Wn){return Or+"["+Wn+"]="+bn}).join(";"),";"))}else{yr=Lt.def(At,".",Jt);var Tn=$e.cond(yr,"!==",Pt,".",Jt);Lt(Tn),Jt in Mr?Tn($e.cond(yr).then(vr,".enable(",Mr[Jt],");").else(vr,".disable(",Mr[Jt],");"),Pt,".",Jt,"=",yr,";"):Tn(vr,".",_n[Jt],"(",yr,");",Pt,".",Jt,"=",yr,";")}}}),Object.keys(Et.state).length===0&&Lt(Pt,".dirty=false;"),ct(Lt)}function Sa($e,ct,Et,nr){var vr=$e.shared,Ht=$e.current,Nt=vr.current,Pt=vr.gl,At;jr(Object.keys(Et)).forEach(function(Lt){var dt=Et[Lt];if(!(nr&&!nr(dt))){var Jt=dt.append($e,ct);if(Mr[Lt]){var yr=Mr[Lt];Ln(dt)?(At=$e.link(Jt,{stable:!0}),ct($e.cond(At).then(Pt,".enable(",yr,");").else(Pt,".disable(",yr,");")),ct(Nt,".",Lt,"=",At,";")):(ct($e.cond(Jt).then(Pt,".enable(",yr,");").else(Pt,".disable(",yr,");")),ct(Nt,".",Lt,"=",Jt,";"))}else if(Rn(Jt)){var Or=Ht[Lt];ct(Pt,".",_n[Lt],"(",Jt,");",Jt.map(function(Yn,Tn){return Or+"["+Tn+"]="+Yn}).join(";"),";")}else Ln(dt)?(At=$e.link(Jt,{stable:!0}),ct(Pt,".",_n[Lt],"(",At,");",Nt,".",Lt,"=",At,";")):ct(Pt,".",_n[Lt],"(",Jt,");",Nt,".",Lt,"=",Jt,";")}})}function ts($e,ct){Zr&&($e.instancing=ct.def($e.shared.extensions,".angle_instanced_arrays"))}function qi($e,ct,Et,nr,vr){var Ht=$e.shared,Nt=$e.stats,Pt=Ht.current,At=Ht.timer,Lt=Et.profile;function dt(){return typeof performance=="undefined"?"Date.now()":"performance.now()"}var Jt,yr;function Or(qn){Jt=ct.def(),qn(Jt,"=",dt(),";"),typeof vr=="string"?qn(Nt,".count+=",vr,";"):qn(Nt,".count++;"),fn&&(nr?(yr=ct.def(),qn(yr,"=",At,".getNumPendingQueries();")):qn(At,".beginQuery(",Nt,");"))}function Yn(qn){qn(Nt,".cpuTime+=",dt(),"-",Jt,";"),fn&&(nr?qn(At,".pushScopeStats(",yr,",",At,".getNumPendingQueries(),",Nt,");"):qn(At,".endQuery();"))}function Tn(qn){var yn=ct.def(Pt,".profile");ct(Pt,".profile=",qn,";"),ct.exit(Pt,".profile=",yn,";")}var bn;if(Lt){if(Ln(Lt)){Lt.enable?(Or(ct),Yn(ct.exit),Tn("true")):Tn("false");return}bn=Lt.append($e,ct),Tn(bn)}else bn=ct.def(Pt,".profile");var Wn=$e.block();Or(Wn),ct("if(",bn,"){",Wn,"}");var Un=$e.block();Yn(Un),ct.exit("if(",bn,"){",Un,"}")}function Hs($e,ct,Et,nr,vr){var Ht=$e.shared;function Nt(At){switch(At){case Ai:case Wo:case Jo:return 2;case di:case fs:case Tl:return 3;case xo:case ws:case bu:return 4;default:return 1}}function Pt(At,Lt,dt){var Jt=Ht.gl,yr=ct.def(At,".location"),Or=ct.def(Ht.attributes,"[",yr,"]"),Yn=dt.state,Tn=dt.buffer,bn=[dt.x,dt.y,dt.z,dt.w],Wn=["buffer","normalized","offset","stride"];function Un(){ct("if(!",Or,".buffer){",Jt,".enableVertexAttribArray(",yr,");}");var yn=dt.type,Dn;if(dt.size?Dn=ct.def(dt.size,"||",Lt):Dn=Lt,ct("if(",Or,".type!==",yn,"||",Or,".size!==",Dn,"||",Wn.map(function(fa){return Or+"."+fa+"!=="+dt[fa]}).join("||"),"){",Jt,".bindBuffer(",Ot,",",Tn,".buffer);",Jt,".vertexAttribPointer(",[yr,Dn,yn,dt.normalized,dt.stride,dt.offset],");",Or,".type=",yn,";",Or,".size=",Dn,";",Wn.map(function(fa){return Or+"."+fa+"="+dt[fa]+";"}).join(""),"}"),Zr){var In=dt.divisor;ct("if(",Or,".divisor!==",In,"){",$e.instancing,".vertexAttribDivisorANGLE(",[yr,In],");",Or,".divisor=",In,";}")}}function qn(){ct("if(",Or,".buffer){",Jt,".disableVertexAttribArray(",yr,");",Or,".buffer=null;","}if(",Ca.map(function(yn,Dn){return Or+"."+yn+"!=="+bn[Dn]}).join("||"),"){",Jt,".vertexAttrib4f(",yr,",",bn,");",Ca.map(function(yn,Dn){return Or+"."+yn+"="+bn[Dn]+";"}).join(""),"}")}Yn===La?Un():Yn===Va?qn():(ct("if(",Yn,"===",La,"){"),Un(),ct("}else{"),qn(),ct("}"))}nr.forEach(function(At){var Lt=At.name,dt=Et.attributes[Lt],Jt;if(dt){if(!vr(dt))return;Jt=dt.append($e,ct)}else{if(!vr(xa))return;var yr=$e.scopeAttrib(Lt);Jt={},Object.keys(new pr).forEach(function(Or){Jt[Or]=ct.def(yr,".",Or)})}Pt($e.link(At),Nt(At.info.type),Jt)})}function js($e,ct,Et,nr,vr,Ht){for(var Nt=$e.shared,Pt=Nt.gl,At,Lt=0;Lt1){for(var Ws=[],Ru=[],Zc=0;Zc>1)",Tn],");")}function In(){Et(bn,".drawArraysInstancedANGLE(",[yr,Or,Yn,Tn],");")}dt&&dt!=="null"?Un?Dn():(Et("if(",dt,"){"),Dn(),Et("}else{"),In(),Et("}")):In()}function yn(){function Dn(){Et(Ht+".drawElements("+[yr,Yn,Wn,Or+"<<(("+Wn+"-"+Pa+")>>1)"]+");")}function In(){Et(Ht+".drawArrays("+[yr,Or,Yn]+");")}dt&&dt!=="null"?Un?Dn():(Et("if(",dt,"){"),Dn(),Et("}else{"),In(),Et("}")):In()}Zr&&(typeof Tn!="number"||Tn>=0)?typeof Tn=="string"?(Et("if(",Tn,">0){"),qn(),Et("}else if(",Tn,"<0){"),yn(),Et("}")):qn():yn()}function ha($e,ct,Et,nr,vr){var Ht=Sn(),Nt=Ht.proc("body",vr);return Zr&&(Ht.instancing=Nt.def(Ht.shared.extensions,".angle_instanced_arrays")),$e(Ht,Nt,Et,nr),Ht.compile().body}function Ka($e,ct,Et,nr){ts($e,ct),Et.useVAO?Et.drawVAO?ct($e.shared.vao,".setVAO(",Et.drawVAO.append($e,ct),");"):ct($e.shared.vao,".setVAO(",$e.shared.vao,".targetVAO);"):(ct($e.shared.vao,".setVAO(null);"),Hs($e,ct,Et,nr.attributes,function(){return!0})),js($e,ct,Et,nr.uniforms,function(){return!0},!1),fl($e,ct,ct,Et)}function ti($e,ct){var Et=$e.proc("draw",1);ts($e,Et),Do($e,Et,ct.context),Ro($e,Et,ct.framebuffer),Uo($e,Et,ct),Sa($e,Et,ct.state),qi($e,Et,ct,!1,!0);var nr=ct.shader.progVar.append($e,Et);if(Et($e.shared.gl,".useProgram(",nr,".program);"),ct.shader.program)Ka($e,Et,ct,ct.shader.program);else{Et($e.shared.vao,".setVAO(null);");var vr=$e.global.def("{}"),Ht=Et.def(nr,".id"),Nt=Et.def(vr,"[",Ht,"]");Et($e.cond(Nt).then(Nt,".call(this,a0);").else(Nt,"=",vr,"[",Ht,"]=",$e.link(function(Pt){return ha(Ka,$e,ct,Pt,1)}),"(",nr,");",Nt,".call(this,a0);"))}Object.keys(ct.state).length>0&&Et($e.shared.current,".dirty=true;"),$e.shared.vao&&Et($e.shared.vao,".setVAO(null);")}function it($e,ct,Et,nr){$e.batchId="a1",ts($e,ct);function vr(){return!0}Hs($e,ct,Et,nr.attributes,vr),js($e,ct,Et,nr.uniforms,vr,!1),fl($e,ct,ct,Et)}function ir($e,ct,Et,nr){ts($e,ct);var vr=Et.contextDep,Ht=ct.def(),Nt="a0",Pt="a1",At=ct.def();$e.shared.props=At,$e.batchId=Ht;var Lt=$e.scope(),dt=$e.scope();ct(Lt.entry,"for(",Ht,"=0;",Ht,"<",Pt,";++",Ht,"){",At,"=",Nt,"[",Ht,"];",dt,"}",Lt.exit);function Jt(Wn){return Wn.contextDep&&vr||Wn.propDep}function yr(Wn){return!Jt(Wn)}if(Et.needsContext&&Do($e,dt,Et.context),Et.needsFramebuffer&&Ro($e,dt,Et.framebuffer),Sa($e,dt,Et.state,Jt),Et.profile&&Jt(Et.profile)&&qi($e,dt,Et,!1,!0),nr)Et.useVAO?Et.drawVAO?Jt(Et.drawVAO)?dt($e.shared.vao,".setVAO(",Et.drawVAO.append($e,dt),");"):Lt($e.shared.vao,".setVAO(",Et.drawVAO.append($e,Lt),");"):Lt($e.shared.vao,".setVAO(",$e.shared.vao,".targetVAO);"):(Lt($e.shared.vao,".setVAO(null);"),Hs($e,Lt,Et,nr.attributes,yr),Hs($e,dt,Et,nr.attributes,Jt)),js($e,Lt,Et,nr.uniforms,yr,!1),js($e,dt,Et,nr.uniforms,Jt,!0),fl($e,Lt,dt,Et);else{var Or=$e.global.def("{}"),Yn=Et.shader.progVar.append($e,dt),Tn=dt.def(Yn,".id"),bn=dt.def(Or,"[",Tn,"]");dt($e.shared.gl,".useProgram(",Yn,".program);","if(!",bn,"){",bn,"=",Or,"[",Tn,"]=",$e.link(function(Wn){return ha(it,$e,Et,Wn,2)}),"(",Yn,");}",bn,".call(this,a0[",Ht,"],",Ht,");")}}function or($e,ct){var Et=$e.proc("batch",2);$e.batchId="0",ts($e,Et);var nr=!1,vr=!0;Object.keys(ct.context).forEach(function(Or){nr=nr||ct.context[Or].propDep}),nr||(Do($e,Et,ct.context),vr=!1);var Ht=ct.framebuffer,Nt=!1;Ht?(Ht.propDep?nr=Nt=!0:Ht.contextDep&&nr&&(Nt=!0),Nt||Ro($e,Et,Ht)):Ro($e,Et,null),ct.state.viewport&&ct.state.viewport.propDep&&(nr=!0);function Pt(Or){return Or.contextDep&&nr||Or.propDep}Uo($e,Et,ct),Sa($e,Et,ct.state,function(Or){return!Pt(Or)}),(!ct.profile||!Pt(ct.profile))&&qi($e,Et,ct,!1,"a1"),ct.contextDep=nr,ct.needsContext=vr,ct.needsFramebuffer=Nt;var At=ct.shader.progVar;if(At.contextDep&&nr||At.propDep)ir($e,Et,ct,null);else{var Lt=At.append($e,Et);if(Et($e.shared.gl,".useProgram(",Lt,".program);"),ct.shader.program)ir($e,Et,ct,ct.shader.program);else{Et($e.shared.vao,".setVAO(null);");var dt=$e.global.def("{}"),Jt=Et.def(Lt,".id"),yr=Et.def(dt,"[",Jt,"]");Et($e.cond(yr).then(yr,".call(this,a0,a1);").else(yr,"=",dt,"[",Jt,"]=",$e.link(function(Or){return ha(ir,$e,ct,Or,2)}),"(",Lt,");",yr,".call(this,a0,a1);"))}}Object.keys(ct.state).length>0&&Et($e.shared.current,".dirty=true;"),$e.shared.vao&&Et($e.shared.vao,".setVAO(null);")}function Fn($e,ct){var Et=$e.proc("scope",3);$e.batchId="a2";var nr=$e.shared,vr=nr.current;if(Do($e,Et,ct.context),ct.framebuffer&&ct.framebuffer.append($e,Et),jr(Object.keys(ct.state)).forEach(function(Pt){var At=ct.state[Pt],Lt=At.append($e,Et);Rn(Lt)?Lt.forEach(function(dt,Jt){wn(dt)?Et.set($e.next[Pt],"["+Jt+"]",dt):Et.set($e.next[Pt],"["+Jt+"]",$e.link(dt,{stable:!0}))}):Ln(At)?Et.set(nr.next,"."+Pt,$e.link(Lt,{stable:!0})):Et.set(nr.next,"."+Pt,Lt)}),qi($e,Et,ct,!0,!0),[et,zt,Tt,Yt,bt].forEach(function(Pt){var At=ct.draw[Pt];if(At){var Lt=At.append($e,Et);wn(Lt)?Et.set(nr.draw,"."+Pt,Lt):Et.set(nr.draw,"."+Pt,$e.link(Lt),{stable:!0})}}),Object.keys(ct.uniforms).forEach(function(Pt){var At=ct.uniforms[Pt].append($e,Et);Array.isArray(At)&&(At="["+At.map(function(Lt){return wn(Lt)?Lt:$e.link(Lt,{stable:!0})})+"]"),Et.set(nr.uniforms,"["+$e.link(ot.id(Pt),{stable:!0})+"]",At)}),Object.keys(ct.attributes).forEach(function(Pt){var At=ct.attributes[Pt].append($e,Et),Lt=$e.scopeAttrib(Pt);Object.keys(new pr).forEach(function(dt){Et.set(Lt,"."+dt,At[dt])})}),ct.scopeVAO){var Ht=ct.scopeVAO.append($e,Et);wn(Ht)?Et.set(nr.vao,".targetVAO",Ht):Et.set(nr.vao,".targetVAO",$e.link(Ht,{stable:!0}))}function Nt(Pt){var At=ct.shader[Pt];if(At){var Lt=At.append($e,Et);wn(Lt)?Et.set(nr.shader,"."+Pt,Lt):Et.set(nr.shader,"."+Pt,$e.link(Lt,{stable:!0}))}}Nt(ke),Nt(Ne),Object.keys(ct.state).length>0&&(Et(vr,".dirty=true;"),Et.exit(vr,".dirty=true;")),Et("a1(",$e.shared.context,",a0,",$e.batchId,");")}function Ga($e){if(!(typeof $e!="object"||Rn($e))){for(var ct=Object.keys($e),Et=0;Et=0;--ha){var Ka=jn[ha];Ka&&Ka(Sr,null,0)}ht.flush(),Kr&&Kr.update()}function Ra(){!sa&&jn.length>0&&(sa=v.next(ca))}function go(){sa&&(v.cancel(ca),sa=null)}function No(ha){ha.preventDefault(),cr=!0,go(),oa.forEach(function(Ka){Ka()})}function ja(ha){ht.getError(),cr=!1,dr.restore(),Gn.restore(),Zr.restore(),kr.restore(),Mr.restore(),_n.restore(),hn.restore(),Kr&&Kr.restore(),an.procs.refresh(),Ra(),rn.forEach(function(Ka){Ka()})}wn&&(wn.addEventListener(Ri,No,!1),wn.addEventListener(To,ja,!1));function cl(){jn.length=0,go(),wn&&(wn.removeEventListener(Ri,No),wn.removeEventListener(To,ja)),Gn.clear(),_n.clear(),Mr.clear(),hn.clear(),kr.clear(),Cr.clear(),Zr.clear(),Kr&&Kr.clear(),Sn.forEach(function(ha){ha()})}function Ci(ha){function Ka(Ht){var Nt=e({},Ht);delete Nt.uniforms,delete Nt.attributes,delete Nt.context,delete Nt.vao,"stencil"in Nt&&Nt.stencil.op&&(Nt.stencil.opBack=Nt.stencil.opFront=Nt.stencil.op,delete Nt.stencil.op);function Pt(At){if(At in Nt){var Lt=Nt[At];delete Nt[At],Object.keys(Lt).forEach(function(dt){Nt[At+"."+dt]=Lt[dt]})}}return Pt("blend"),Pt("depth"),Pt("cull"),Pt("stencil"),Pt("polygonOffset"),Pt("scissor"),Pt("sample"),"vao"in Ht&&(Nt.vao=Ht.vao),Nt}function ti(Ht,Nt){var Pt={},At={};return Object.keys(Ht).forEach(function(Lt){var dt=Ht[Lt];if(h.isDynamic(dt)){At[Lt]=h.unbox(dt,Lt);return}else if(Nt&&Array.isArray(dt)){for(var Jt=0;Jt0)return $e.call(this,nr(Ht|0),Ht|0)}else if(Array.isArray(Ht)){if(Ht.length)return $e.call(this,Ht,Ht.length)}else return Pn.call(this,Ht)}return e(vr,{stats:Ga,destroy:function(){Li.destroy()}})}var Ts=_n.setFBO=Ci({framebuffer:h.define.call(null,Qo,"framebuffer")});function es(ha,Ka){var ti=0;an.procs.poll();var it=Ka.color;it&&(ht.clearColor(+it[0]||0,+it[1]||0,+it[2]||0,+it[3]||0),ti|=Ps),"depth"in Ka&&(ht.clearDepth(+Ka.depth),ti|=Yo),"stencil"in Ka&&(ht.clearStencil(Ka.stencil|0),ti|=ma),ht.clear(ti)}function Ds(ha){if("framebuffer"in ha)if(ha.framebuffer&&ha.framebuffer_reglType==="framebufferCube")for(var Ka=0;Ka<6;++Ka)Ts(e({framebuffer:ha.framebuffer.faces[Ka]},ha),es);else Ts(ha,es);else es(null,ha)}function Do(ha){jn.push(ha);function Ka(){var ti=wu(jn,ha);function it(){var ir=wu(jn,it);jn[ir]=jn[jn.length-1],jn.length-=1,jn.length<=0&&go()}jn[ti]=it}return Ra(),{cancel:Ka}}function Ro(){var ha=Qr.viewport,Ka=Qr.scissor_box;ha[0]=ha[1]=Ka[0]=Ka[1]=0,Sr.viewportWidth=Sr.framebufferWidth=Sr.drawingBufferWidth=ha[2]=Ka[2]=ht.drawingBufferWidth,Sr.viewportHeight=Sr.framebufferHeight=Sr.drawingBufferHeight=ha[3]=Ka[3]=ht.drawingBufferHeight}function Uo(){Sr.tick+=1,Sr.time=ts(),Ro(),an.procs.poll()}function Sa(){kr.refresh(),Ro(),an.procs.refresh(),Kr&&Kr.update()}function ts(){return(d()-Hn)/1e3}Sa();function qi(ha,Ka){var ti;switch(ha){case"frame":return Do(Ka);case"lost":ti=oa;break;case"restore":ti=rn;break;case"destroy":ti=Sn;break;default:}return ti.push(Ka),{cancel:function(){for(var it=0;it=0},read:Jr,destroy:cl,_gl:ht,_refresh:Sa,poll:function(){Uo(),Kr&&Kr.update()},now:ts,stats:Rr,getCachedCode:Hs,preloadCachedCode:js});return ot.onDone(null,fl),fl}return Dc}))});var R9=ne((e1r,dze)=>{"use strict";var CBt=LG(),LBt=hze();dze.exports=function(t,r,n){var a=t._fullLayout,i=!0;return a._glcanvas.each(function(o){if(o.regl){o.regl.preloadCachedCode(n);return}if(!(o.pick&&!a._has("parcoords"))){try{o.regl=LBt({canvas:this,attributes:{antialias:!o.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||window.devicePixelRatio,extensions:r||[],cachedCode:n||{}})}catch(s){i=!1}o.regl||(i=!1),i&&this.addEventListener("webglcontextlost",function(s){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:s,layer:o.key})},!1)}}),i||CBt({container:a._glcontainer.node()}),i}});var _W=ne((bW,xze)=>{"use strict";var vze=_j(),pze=Jj(),FBt=rIe(),gze=fze(),mze=Zt(),PBt=Cp().selectMode,DBt=R9(),RBt=ml(),IBt=wq(),zBt=mj().styleTextSelection,yze={};function qBt(e,t,r,n){var a=e._size,i=e.width*n,o=e.height*n,s=a.l*n,l=a.b*n,u=a.r*n,c=a.t*n,f=a.w*n,h=a.h*n;return[s+t.domain[0]*f,l+r.domain[0]*h,i-u-(1-t.domain[1])*f,o-c-(1-r.domain[1])*h]}var bW=xze.exports=function(t,r,n){if(n.length){var a=t._fullLayout,i=r._scene,o=r.xaxis,s=r.yaxis,l,u;if(i){var c=DBt(t,["ANGLE_instanced_arrays","OES_element_index_uint"],yze);if(!c){i.init();return}var f=i.count,h=a._glcanvas.data()[0].regl;if(IBt(t,r,n),i.dirty){if((i.line2d||i.error2d)&&!(i.scatter2d||i.fill2d||i.glText)&&h.clear({color:!0,depth:!0}),i.error2d===!0&&(i.error2d=FBt(h)),i.line2d===!0&&(i.line2d=pze(h)),i.scatter2d===!0&&(i.scatter2d=vze(h)),i.fill2d===!0&&(i.fill2d=pze(h)),i.glText===!0)for(i.glText=new Array(f),l=0;li.glText.length){var v=f-i.glText.length;for(l=0;lY&&(isNaN(B[X])||isNaN(B[X+1]));)X-=2;R.positions=B.slice(Y,X+2)}return R}),i.line2d.update(i.lineOptions)),i.error2d){var x=(i.errorXOptions||[]).concat(i.errorYOptions||[]).map(function(R){return R||{positions:[],errors:[]}});i.error2d.update(x)}i.scatter2d&&i.scatter2d.update(i.markerOptions),i.fillOrder=mze.repeat(null,f),i.fill2d&&(i.fillOptions=i.fillOptions.map(function(R,B){var Y=n[B];if(!(!R||!Y||!Y[0]||!Y[0].trace)){var X=Y[0],te=X.trace,se=X.t,ue=i.lineOptions[B],re,j,fe=[];te._ownfill&&fe.push(B),te._nexttrace&&fe.push(B+1),fe.length&&(i.fillOrder[B]=fe);var ce=[],oe=ue&&ue.positions||se.positions,we,he;if(te.fill==="tozeroy"){for(we=0;wewe&&isNaN(oe[he+1]);)he-=2;oe[we+1]!==0&&(ce=[oe[we],0]),ce=ce.concat(oe.slice(we,he+2)),oe[he+1]!==0&&(ce=ce.concat([oe[he],0]))}else if(te.fill==="tozerox"){for(we=0;wewe&&isNaN(oe[he]);)he-=2;oe[we]!==0&&(ce=[0,oe[we+1]]),ce=ce.concat(oe.slice(we,he+2)),oe[he]!==0&&(ce=ce.concat([0,oe[he+1]]))}else if(te.fill==="toself"||te.fill==="tonext"){for(ce=[],re=0,R.splitNull=!0,j=0;j-1;for(let[R]of n)if(R){var w=R.trace,k=R.t,y=k.index,S=w._length,T=k.x,p=k.y;if(w.selectedpoints||E||M){if(E||(E=!0),w.selectedpoints){var C=i.selectBatch[y]=w.selectedpoints,A={};for(u=0;u{"use strict";var bze=qFe();bze.plot=_W();_ze.exports=bze});var Aze=ne((r1r,Tze)=>{"use strict";Tze.exports=wze()});var wW=ne((n1r,kze)=>{"use strict";var BBt=Tu(),Eze=Ys(),Mze=Wl().axisHoverFormat,{hovertemplateAttrs:OBt,templatefallbackAttrs:NBt}=rs(),x6=QA(),UBt=zc().idRegex,VBt=Bo().templatedArray,bw=ci().extendFlat,hg=BBt.marker,GBt=hg.line,HBt=bw(Eze("marker.line",{editTypeOverride:"calc"}),{width:bw({},GBt.width,{editType:"calc"}),editType:"calc"}),I9=bw(Eze("marker"),{symbol:hg.symbol,angle:hg.angle,size:bw({},hg.size,{editType:"markerSize"}),sizeref:hg.sizeref,sizemin:hg.sizemin,sizemode:hg.sizemode,opacity:hg.opacity,colorbar:hg.colorbar,line:HBt,editType:"calc"});I9.color.editType=I9.cmin.editType=I9.cmax.editType="style";function Sze(e){return{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"subplotid",regex:UBt[e],editType:"plot"}}}kze.exports={dimensions:VBt("dimension",{visible:{valType:"boolean",dflt:!0,editType:"calc"},label:{valType:"string",editType:"calc"},values:{valType:"data_array",editType:"calc+clearAxisTypes"},axis:{type:{valType:"enumerated",values:["linear","log","date","category"],editType:"calc+clearAxisTypes"},matches:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc+clearAxisTypes"},editType:"calc+clearAxisTypes"}),text:bw({},x6.text,{}),hovertext:bw({},x6.hovertext,{}),hovertemplate:OBt(),hovertemplatefallback:NBt(),xhoverformat:Mze("x"),yhoverformat:Mze("y"),marker:I9,xaxes:Sze("x"),yaxes:Sze("y"),diagonal:{visible:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},showupperhalf:{valType:"boolean",dflt:!0,editType:"calc"},showlowerhalf:{valType:"boolean",dflt:!0,editType:"calc"},selected:{marker:x6.selected.marker,editType:"calc"},unselected:{marker:x6.unselected.marker,editType:"calc"},opacity:x6.opacity}});var z9=ne((a1r,Cze)=>{"use strict";Cze.exports=function(e,t,r,n){n||(n=1/0);var a,i;for(a=0;a{"use strict";var TW=Zt(),jBt=zh(),Lze=wW(),WBt=ml(),YBt=Kv(),XBt=z9(),ZBt=$7().isOpenSymbol;Fze.exports=function(t,r,n,a){function i(v,d){return TW.coerce(t,r,Lze,v,d)}var o=jBt(t,r,{name:"dimensions",handleItemDefaults:$Bt}),s=i("diagonal.visible"),l=i("showupperhalf"),u=i("showlowerhalf"),c=XBt(r,o,"values");if(!c||!s&&!l&&!u){r.visible=!1;return}i("text"),i("hovertext"),i("hovertemplate"),i("hovertemplatefallback"),i("xhoverformat"),i("yhoverformat"),YBt(t,r,n,a,i,{noAngleRef:!0,noLineDash:!0,noStandOff:!0});var f=ZBt(r.marker.symbol),h=WBt.isBubble(r);i("marker.line.width",f||h?1:0),KBt(t,r,a,i),TW.coerceSelectionMarkerOpacity(r,i)};function $Bt(e,t){function r(a,i){return TW.coerce(e,t,Lze.dimensions,a,i)}r("label");var n=r("values");n&&n.length?r("visible"):t.visible=!1,r("axis.type"),r("axis.matches")}function KBt(e,t,r,n){var a=t.dimensions,i=a.length,o=t.showupperhalf,s=t.showlowerhalf,l=t.diagonal.visible,u,c,f=new Array(i),h=new Array(i);for(u=0;uc&&o||u{"use strict";var Dze=Zt();Rze.exports=function(t,r){var n=t._fullLayout,a=r.uid,i=n._splomScenes;i||(i=n._splomScenes={});var o={dirty:!0,selectBatch:[],unselectBatch:[]},s={matrix:!1,selectBatch:[],unselectBatch:[]},l=i[r.uid];return l||(l=i[a]=Dze.extendFlat({},o,s),l.draw=function(){l.matrix&&l.matrix.draw&&(l.selectBatch.length||l.unselectBatch.length?l.matrix.draw(l.unselectBatch,l.selectBatch):l.matrix.draw()),l.dirty=!1},l.destroy=function(){l.matrix&&l.matrix.destroy&&l.matrix.destroy(),l.matrixOptions=null,l.selectBatch=null,l.unselectBatch=null,l=null}),l.dirty||Dze.extendFlat(l,o),l}});var Bze=ne((s1r,qze)=>{"use strict";var AW=Zt(),q9=uu(),JBt=Qv().calcMarkerSize,QBt=Qv().calcAxisExpansion,eOt=Jv(),zze=k2().markerSelection,tOt=k2().markerStyle,rOt=Ize(),nOt=uo().BADNUM,aOt=Km().TOO_MANY_POINTS;qze.exports=function(t,r){var n=r.dimensions,a=r._length,i={},o=i.cdata=[],s=i.data=[],l=r._visibleDims=[],u,c,f,h,v;function d(M,w){for(var k=M.makeCalcdata({v:w.values,vcalendar:r.calendar},"v"),y=0;yaOt,g;for(x?g=i.sizeAvg||Math.max(i.size,3):g=JBt(r,a),c=0;c{(function(){var e,t,r,n,a,i;typeof performance!="undefined"&&performance!==null&&performance.now?b6.exports=function(){return performance.now()}:typeof process!="undefined"&&process!==null&&process.hrtime?(b6.exports=function(){return(e()-a)/1e6},t=process.hrtime,e=function(){var o;return o=t(),o[0]*1e9+o[1]},n=e(),i=process.uptime()*1e9,a=n-i):Date.now?(b6.exports=function(){return Date.now()-r},r=Date.now()):(b6.exports=function(){return new Date().getTime()-r},r=new Date().getTime())}).call(Oze)});var Vze=ne((l1r,N9)=>{var iOt=Nze(),dg=window,B9=["moz","webkit"],ww="AnimationFrame",Tw=dg["request"+ww],_6=dg["cancel"+ww]||dg["cancelRequest"+ww];for(_w=0;!Tw&&_w{Gze.exports=function(t,r){var n=typeof t=="number",a=typeof r=="number";n&&!a?(r=t,t=0):!n&&!a&&(t=0,r=0),t=t|0,r=r|0;var i=r-t;if(i<0)throw new Error("array length must be positive");for(var o=new Array(i),s=0,l=t;s{"use strict";var oOt=_j(),sOt=s1(),lOt=A2(),jze=Vze(),uOt=Hze(),SW=sw(),cOt=M2();Yze.exports=oy;function oy(e,t){if(!(this instanceof oy))return new oy(e,t);this.traces=[],this.passes={},this.regl=e,this.scatter=oOt(e),this.canvas=this.scatter.canvas}oy.prototype.render=function(...e){return e.length&&this.update(...e),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?this.planned==null&&(this.planned=jze(()=>{this.draw(),this.dirty=!0,this.planned=null})):(this.draw(),this.dirty=!0,jze(()=>{this.dirty=!1})),this)};oy.prototype.update=function(...e){if(!e.length)return;for(let n=0;nx||!a.lower&&m{t[i+s]=n})}this.scatter.draw(...t)}return this};oy.prototype.destroy=function(){return this.traces.forEach(e=>{e.buffer&&e.buffer.destroy&&e.buffer.destroy()}),this.traces=null,this.passes=null,this.scatter.destroy(),this};function fOt(e,t,r){let n=e.id!=null?e.id:e,a=t,i=r;return n<<16|(a&255)<<8|i&255}function U9(e,t,r){let n,a,i,o,s,l,u,c,f=e[t],h=e[r];return f.length>2?(n=f[0],i=f[2],a=f[1],o=f[3]):f.length?(n=a=f[0],i=o=f[1]):(n=f.x,a=f.y,i=f.x+f.width,o=f.y+f.height),h.length>2?(s=h[0],u=h[2],l=h[1],c=h[3]):h.length?(s=l=h[0],u=c=h[1]):(s=h.x,l=h.y,u=h.x+h.width,c=h.y+h.height),[s,a,u,o]}function Wze(e){if(typeof e=="number")return[e,e,e,e];if(e.length===2)return[e[0],e[1],e[0],e[1]];{let t=SW(e);return[t.x,t.y,t.x+t.width,t.y+t.height]}}});var $ze=ne((f1r,Zze)=>{"use strict";var hOt=Xze(),EW=Zt(),V9=uu(),dOt=Cp().selectMode;Zze.exports=function(t,r,n){if(n.length)for(var a=0;a-1,A=dOt(c)||!!a.selectedpoints||C,P=!0;if(A){var D=a._length;if(a.selectedpoints){o.selectBatch=a.selectedpoints;var z=a.selectedpoints,q={};for(v=0;v{"use strict";Kze.getDimIndex=function(t,r){for(var n=r._id,a=n.charAt(0),i={x:0,y:1}[a],o=t._visibleDims,s=0;s{"use strict";var Jze=kW(),pOt=Z7().calcHover,Qze=ri().getFromId,gOt=ci().extendFlat;function mOt(e,t,r,n,a){a||(a={});var i=(n||"").charAt(0)==="x",o=(n||"").charAt(0)==="y",s=eqe(e,t,r);if((i||o)&&a.hoversubplots==="axis"&&s[0])for(var l=(i?e.xa:e.ya)._subplotsWith,u=a.gd,c=gOt({},e),f=0;f{"use strict";var oqe=Zt(),nqe=oqe.pushUnique,aqe=ml(),iqe=kW();sqe.exports=function(t,r){var n=t.cd,a=n[0].trace,i=n[0].t,o=t.scene,s=o.matrixOptions.cdata,l=t.xaxis,u=t.yaxis,c=[];if(!o)return c;var f=!aqe.hasMarkers(a)&&!aqe.hasText(a);if(a.visible!==!0||f)return c;var h=iqe.getDimIndex(a,l),v=iqe.getDimIndex(a,u);if(h===!1||v===!1)return c;var d=i.xpx[h],m=i.ypx[v],x=s[h],g=s[v],E=(t.scene.selectBatch||[]).slice(),M=[];if(r!==!1&&!r.degenerate)for(var w=0;w{"use strict";var uqe=Zt(),yOt=Jv(),xOt=k2().markerStyle;cqe.exports=function(t,r){var n=r.trace,a=t._fullLayout._splomScenes[n.uid];if(a){yOt(t,n),uqe.extendFlat(a.matrixOptions,xOt(t,n));var i=uqe.extendFlat({},a.matrixOptions,a.viewOpts);a.matrix.update(i,null)}}});var dqe=ne((g1r,hqe)=>{"use strict";var bOt=Fa(),_Ot=pB();hqe.exports={moduleType:"trace",name:"splom",categories:["gl","regl","cartesian","symbols","showLegend","scatter-like"],attributes:wW(),supplyDefaults:Pze(),colorbar:bh(),calc:Bze(),plot:$ze(),hoverPoints:rqe().hoverPoints,selectPoints:lqe(),editStyle:fqe(),meta:{}};bOt.register(_Ot)});var xqe=ne((m1r,yqe)=>{"use strict";var wOt=Jj(),TOt=Fa(),AOt=R9(),MOt=mh().getModuleCalcData,sy=Ku(),vqe=uu().getFromId,pqe=ri().shouldShowZeroLine,gqe="splom",mqe={};function SOt(e){var t=e._fullLayout,r=TOt.getModule(gqe),n=MOt(e.calcdata,r)[0],a=AOt(e,["ANGLE_instanced_arrays","OES_element_index_uint"],mqe);a&&(t._hasOnlyLargeSploms&&CW(e),r.plot(e,{},n))}function EOt(e){var t=e.calcdata,r=e._fullLayout;r._hasOnlyLargeSploms&&CW(e);for(var n=0;n{"use strict";var bqe=dqe();bqe.basePlotModule=xqe(),_qe.exports=bqe});var Aqe=ne((x1r,Tqe)=>{"use strict";Tqe.exports=wqe()});var PW=ne((b1r,Mqe)=>{"use strict";var FOt=Ys(),LW=Wf(),FW=pl(),POt=zl().attributes,G9=ci().extendFlat,DOt=Bo().templatedArray;Mqe.exports={domain:POt({name:"parcoords",trace:!0,editType:"plot"}),labelangle:{valType:"angle",dflt:0,editType:"plot"},labelside:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},labelfont:FW({editType:"plot"}),tickfont:FW({autoShadowDflt:!0,editType:"plot"}),rangefont:FW({editType:"plot"}),dimensions:DOt("dimension",{label:{valType:"string",editType:"plot"},tickvals:G9({},LW.tickvals,{editType:"plot"}),ticktext:G9({},LW.ticktext,{editType:"plot"}),tickformat:G9({},LW.tickformat,{editType:"plot"}),visible:{valType:"boolean",dflt:!0,editType:"plot"},range:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},constraintrange:{valType:"info_array",freeLength:!0,dimensions:"1-2",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},multiselect:{valType:"boolean",dflt:!0,editType:"plot"},values:{valType:"data_array",editType:"calc"},editType:"calc"}),line:G9({editType:"calc"},FOt("line",{colorscaleDflt:"Viridis",autoColorDflt:!1,editTypeOverride:"calc"})),unselected:{line:{color:{valType:"color",dflt:"#7f7f7f",editType:"plot"},opacity:{valType:"number",min:0,max:1,dflt:"auto",editType:"plot"},editType:"plot"},editType:"plot"}}});var w6=ne((_1r,Sqe)=>{"use strict";Sqe.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,layers:["contextLineLayer","focusLineLayer","pickLineLayer"],axisTitleOffset:28,axisExtentOffset:10,bar:{width:4,captureWidth:10,fillColor:"magenta",fillOpacity:1,snapDuration:150,snapRatio:.25,snapClose:.01,strokeOpacity:1,strokeWidth:1,handleHeight:8,handleOpacity:1,handleOverlap:0},cn:{axisExtentText:"axis-extent-text",parcoordsLineLayers:"parcoords-line-layers",parcoordsLineLayer:"parcoords-lines",parcoords:"parcoords",parcoordsControlView:"parcoords-control-view",yAxis:"y-axis",axisOverlays:"axis-overlays",axis:"axis",axisHeading:"axis-heading",axisTitle:"axis-title",axisExtent:"axis-extent",axisExtentTop:"axis-extent-top",axisExtentTopText:"axis-extent-top-text",axisExtentBottom:"axis-extent-bottom",axisExtentBottomText:"axis-extent-bottom-text",axisBrush:"axis-brush"},id:{filterBarPattern:"filter-bar-pattern"}}});var c1=ne((w1r,kqe)=>{"use strict";var ROt=F5();function Eqe(e){return[e]}kqe.exports={keyFun:function(e){return e.key},repeat:Eqe,descend:ROt,wrap:Eqe,unwrap:function(e){return e[0]}}});var IW=ne((T1r,Oqe)=>{"use strict";var bc=w6(),fp=Ea(),IOt=c1().keyFun,H9=c1().repeat,Aw=Zt().sorterAsc,zOt=Zt().strTranslate,Cqe=bc.bar.snapRatio;function Lqe(e,t){return e*(1-Cqe)+t*Cqe}var Fqe=bc.bar.snapClose;function qOt(e,t){return e*(1-Fqe)+t*Fqe}function W9(e,t,r,n){if(BOt(r,n))return r;var a=e?-1:1,i=0,o=t.length-1;if(a<0){var s=i;i=o,o=s}for(var l=t[i],u=l,c=i;a*c=t[r][0]&&e<=t[r][1])return!0;return!1}function OOt(e){e.attr("x",-bc.bar.captureWidth/2).attr("width",bc.bar.captureWidth)}function NOt(e){e.attr("visibility","visible").style("visibility","visible").attr("fill","yellow").attr("opacity",0)}function UOt(e){if(!e.brush.filterSpecified)return"0,"+e.height;for(var t=Pqe(e.brush.filter.getConsolidated(),e.height),r=[0],n,a,i,o=t.length?t[0][0]:null,s=0;se[1]+r||t=.9*e[1]+.1*e[0]?"n":t<=.9*e[0]+.1*e[1]?"s":"ns"}function Dqe(){fp.select(document.body).style("cursor",null)}function RW(e){e.attr("stroke-dasharray",UOt)}function j9(e,t){var r=fp.select(e).selectAll(".highlight, .highlight-shadow"),n=t?r.transition().duration(bc.bar.snapDuration).each("end",t):r;RW(n)}function Rqe(e,t){var r=e.brush,n=r.filterSpecified,a=NaN,i={},o;if(n){var s=e.height,l=r.filter.getConsolidated(),u=Pqe(l,s),c=NaN,f=NaN,h=NaN;for(o=0;o<=u.length;o++){var v=u[o];if(v&&v[0]<=t&&t<=v[1]){c=o;break}else if(f=o?o-1:NaN,v&&v[0]>t){h=o;break}}if(a=c,isNaN(a)&&(isNaN(f)||isNaN(h)?a=isNaN(f)?h:f:a=t-u[f][1]=E[0]&&g<=E[1]){i.clickableOrdinalRange=E;break}}}return i}function GOt(e,t){fp.event.sourceEvent.stopPropagation();var r=t.height-fp.mouse(e)[1]-2*bc.verticalPadding,n=t.unitToPaddedPx.invert(r),a=t.brush,i=Rqe(t,r),o=i.interval,s=a.svgBrush;if(s.wasDragged=!1,s.grabbingBar=i.region==="ns",s.grabbingBar){var l=o.map(t.unitToPaddedPx);s.grabPoint=r-l[0]-bc.verticalPadding,s.barLength=l[1]-l[0]}s.clickableOrdinalRange=i.clickableOrdinalRange,s.stayingIntervals=t.multiselect&&a.filterSpecified?a.filter.getConsolidated():[],o&&(s.stayingIntervals=s.stayingIntervals.filter(function(u){return u[0]!==o[0]&&u[1]!==o[1]})),s.startExtent=i.region?o[i.region==="s"?1:0]:n,t.parent.inBrushDrag=!0,s.brushStartCallback()}function Iqe(e,t){fp.event.sourceEvent.stopPropagation();var r=t.height-fp.mouse(e)[1]-2*bc.verticalPadding,n=t.brush.svgBrush;n.wasDragged=!0,n._dragging=!0,n.grabbingBar?n.newExtent=[r-n.grabPoint,r+n.barLength-n.grabPoint].map(t.unitToPaddedPx.invert):n.newExtent=[n.startExtent,t.unitToPaddedPx.invert(r)].sort(Aw),t.brush.filterSpecified=!0,n.extent=n.stayingIntervals.concat([n.newExtent]),n.brushCallback(t),j9(e.parentNode)}function HOt(e,t){var r=t.brush,n=r.filter,a=r.svgBrush;a._dragging||(zqe(e,t),Iqe(e,t),t.brush.svgBrush.wasDragged=!1),a._dragging=!1;var i=fp.event;i.sourceEvent.stopPropagation();var o=a.grabbingBar;if(a.grabbingBar=!1,a.grabLocation=void 0,t.parent.inBrushDrag=!1,Dqe(),!a.wasDragged){a.wasDragged=void 0,a.clickableOrdinalRange?r.filterSpecified&&t.multiselect?a.extent.push(a.clickableOrdinalRange):(a.extent=[a.clickableOrdinalRange],r.filterSpecified=!0):o?(a.extent=a.stayingIntervals,a.extent.length===0&&DW(r)):DW(r),a.brushCallback(t),j9(e.parentNode),a.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);return}var s=function(){n.set(n.getConsolidated())};if(t.ordinal){var l=t.unitTickvals;l[l.length-1]a.newExtent[0];a.extent=a.stayingIntervals.concat(u?[a.newExtent]:[]),a.extent.length||DW(r),a.brushCallback(t),u?j9(e.parentNode,s):(s(),j9(e.parentNode))}else s();a.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}function zqe(e,t){var r=t.height-fp.mouse(e)[1]-2*bc.verticalPadding,n=Rqe(t,r),a="crosshair";n.clickableOrdinalRange?a="pointer":n.region&&(a=n.region+"-resize"),fp.select(document.body).style("cursor",a)}function jOt(e){e.on("mousemove",function(t){fp.event.preventDefault(),t.parent.inBrushDrag||zqe(this,t)}).on("mouseleave",function(t){t.parent.inBrushDrag||Dqe()}).call(fp.behavior.drag().on("dragstart",function(t){GOt(this,t)}).on("drag",function(t){Iqe(this,t)}).on("dragend",function(t){HOt(this,t)}))}function qqe(e,t){return e[0]-t[0]}function WOt(e,t,r){var n=r._context.staticPlot,a=e.selectAll(".background").data(H9);a.enter().append("rect").classed("background",!0).call(OOt).call(NOt).style("pointer-events",n?"none":"auto").attr("transform",zOt(0,bc.verticalPadding)),a.call(jOt).attr("height",function(s){return s.height-bc.verticalPadding});var i=e.selectAll(".highlight-shadow").data(H9);i.enter().append("line").classed("highlight-shadow",!0).attr("x",-bc.bar.width/2).attr("stroke-width",bc.bar.width+bc.bar.strokeWidth).attr("stroke",t).attr("opacity",bc.bar.strokeOpacity).attr("stroke-linecap","butt"),i.attr("y1",function(s){return s.height}).call(RW);var o=e.selectAll(".highlight").data(H9);o.enter().append("line").classed("highlight",!0).attr("x",-bc.bar.width/2).attr("stroke-width",bc.bar.width-bc.bar.strokeWidth).attr("stroke",bc.bar.fillColor).attr("opacity",bc.bar.fillOpacity).attr("stroke-linecap","butt"),o.attr("y1",function(s){return s.height}).call(RW)}function YOt(e,t,r){var n=e.selectAll("."+bc.cn.axisBrush).data(H9,IOt);n.enter().append("g").classed(bc.cn.axisBrush,!0),WOt(n,t,r)}function XOt(e){return e.svgBrush.extent.map(function(t){return t.slice()})}function DW(e){e.filterSpecified=!1,e.svgBrush.extent=[[-1/0,1/0]]}function ZOt(e){return function(r){var n=r.brush,a=XOt(n),i=a.slice();n.filter.set(i),e()}}function Bqe(e){for(var t=e.slice(),r=[],n,a=t.shift();a;){for(n=a.slice();(a=t.shift())&&a[0]<=n[1];)n[1]=Math.max(n[1],a[1]);r.push(n)}return r.length===1&&r[0][0]>r[0][1]&&(r=[]),r}function $Ot(){var e=[],t,r;return{set:function(n){e=n.map(function(a){return a.slice().sort(Aw)}).sort(qqe),e.length===1&&e[0][0]===-1/0&&e[0][1]===1/0&&(e=[[0,-1]]),t=Bqe(e),r=e.reduce(function(a,i){return[Math.min(a[0],i[0]),Math.max(a[1],i[1])]},[1/0,-1/0])},get:function(){return e.slice()},getConsolidated:function(){return t},getBounds:function(){return r}}}function KOt(e,t,r,n,a,i){var o=$Ot();return o.set(r),{filter:o,filterSpecified:t,svgBrush:{extent:[],brushStartCallback:n,brushCallback:ZOt(a),brushEndCallback:i}}}function JOt(e,t){if(Array.isArray(e[0])?(e=e.map(function(n){return n.sort(Aw)}),t.multiselect?e=Bqe(e.sort(qqe)):e=[e[0]]):e=[e.sort(Aw)],t.tickvals){var r=t.tickvals.slice().sort(Aw);if(e=e.map(function(n){var a=[W9(0,r,n[0],[]),W9(1,r,n[1],[])];if(a[1]>a[0])return a}).filter(function(n){return n}),!e.length)return}return e.length>1?e:e[0]}Oqe.exports={makeBrush:KOt,ensureAxisBrush:YOt,cleanRanges:JOt}});var Vqe=ne((A1r,Uqe)=>{"use strict";var ly=Zt(),QOt=yh().hasColorscale,eNt=bf(),tNt=zl().defaults,rNt=zh(),nNt=ri(),Nqe=PW(),aNt=IW(),zW=w6().maxDimensionCount,iNt=z9();function oNt(e,t,r,n,a){var i=a("line.color",r);if(QOt(e,"line")&&ly.isArrayOrTypedArray(i)){if(i.length)return a("line.colorscale"),eNt(e,t,n,a,{prefix:"line.",cLetter:"c"}),i.length;t.line.color=r}return 1/0}function sNt(e,t,r,n){function a(u,c){return ly.coerce(e,t,Nqe.dimensions,u,c)}var i=a("values"),o=a("visible");if(i&&i.length||(o=t.visible=!1),o){a("label"),a("tickvals"),a("ticktext"),a("tickformat");var s=a("range");t._ax={_id:"y",type:"linear",showexponent:"all",exponentformat:"B",range:s},nNt.setConvert(t._ax,n.layout),a("multiselect");var l=a("constraintrange");l&&(t.constraintrange=aNt.cleanRanges(l,t))}}Uqe.exports=function(t,r,n,a){function i(c,f){return ly.coerce(t,r,Nqe,c,f)}var o=t.dimensions;Array.isArray(o)&&o.length>zW&&(ly.log("parcoords traces support up to "+zW+" dimensions at the moment"),o.splice(zW));var s=rNt(t,r,{name:"dimensions",layout:a,handleItemDefaults:sNt}),l=oNt(t,r,n,a,i);tNt(r,a,i),(!Array.isArray(s)||!s.length)&&(r.visible=!1),iNt(r,s,"values",l);var u=ly.extendFlat({},a.font,{size:Math.round(a.font.size/1.2)});ly.coerceFont(i,"labelfont",u),ly.coerceFont(i,"tickfont",u,{autoShadowDflt:!0}),ly.coerceFont(i,"rangefont",u),i("labelangle"),i("labelside"),i("unselected.line.color"),i("unselected.line.opacity")}});var Hqe=ne((M1r,Gqe)=>{"use strict";var lNt=Zt().isArrayOrTypedArray,qW=El(),uNt=c1().wrap;Gqe.exports=function(t,r){var n,a;return qW.hasColorscale(r,"line")&&lNt(r.line.color)?(n=r.line.color,a=qW.extractOpts(r.line).colorscale,qW.calc(t,r,{vals:n,containerStr:"line",cLetter:"c"})):(n=cNt(r._length),a=[[0,r.line.color],[1,r.line.color]]),uNt({lineColor:n,cscale:a})};function cNt(e){for(var t=new Array(e),r=0;r>>16,(e&65280)>>>8,e&255],alpha:1};if(typeof e=="number")return{space:"rgb",values:[e>>>16,(e&65280)>>>8,e&255],alpha:1};if(e=String(e).toLowerCase(),BW.default[e])r=BW.default[e].slice(),a="rgb";else if(e==="transparent")n=0,a="rgb",r=[0,0,0];else if(e[0]==="#"){var i=e.slice(1),o=i.length,s=o<=4;n=1,s?(r=[parseInt(i[0]+i[0],16),parseInt(i[1]+i[1],16),parseInt(i[2]+i[2],16)],o===4&&(n=parseInt(i[3]+i[3],16)/255)):(r=[parseInt(i[0]+i[1],16),parseInt(i[2]+i[3],16),parseInt(i[4]+i[5],16)],o===8&&(n=parseInt(i[6]+i[7],16)/255)),r[0]||(r[0]=0),r[1]||(r[1]=0),r[2]||(r[2]=0),a="rgb"}else if(t=/^((?:rgba?|hs[lvb]a?|hwba?|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms|oklch|oklab|color))\s*\(([^\)]*)\)/.exec(e)){var l=t[1];a=l.replace(/a$/,"");var u=a==="cmyk"?4:a==="gray"?1:3;r=t[2].trim().split(/\s*[,\/]\s*|\s+/),a==="color"&&(a=r.shift()),r=r.map(function(h,v){if(h[h.length-1]==="%")return h=parseFloat(h)/100,v===3?h:a==="rgb"?h*255:a[0]==="h"||a[0]==="l"&&!v?h*100:a==="lab"?h*125:a==="lch"?v<2?h*150:h*360:a[0]==="o"&&!v?h:a==="oklab"?h*.4:a==="oklch"?v<2?h*.4:h*360:h;if(a[v]==="h"||v===2&&a[a.length-1]==="h"){if(jqe[h]!==void 0)return jqe[h];if(h.endsWith("deg"))return parseFloat(h);if(h.endsWith("turn"))return parseFloat(h)*360;if(h.endsWith("grad"))return parseFloat(h)*360/400;if(h.endsWith("rad"))return parseFloat(h)*180/Math.PI}return h==="none"?0:parseFloat(h)}),n=r.length>u?r.pop():1}else/[0-9](?:\s|\/|,)/.test(e)&&(r=e.match(/([0-9]+)/g).map(function(h){return parseFloat(h)}),a=((f=(c=e.match(/([a-z])/ig))==null?void 0:c.join(""))==null?void 0:f.toLowerCase())||"rgb");return{space:a,values:r,alpha:n}}var BW,Wqe,jqe,Yqe=lo(()=>{BW=yp(mG(),1),Wqe=fNt,jqe={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}});var T6,OW=lo(()=>{T6={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}});var Y9,Xqe=lo(()=>{OW();Y9={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(e){var t=e[0]/360,r=e[1]/100,n=e[2]/100,a,i,o,s,l,u=0;if(r===0)return l=n*255,[l,l,l];for(i=n<.5?n*(1+r):n+r-n*r,a=2*n-i,s=[0,0,0];u<3;)o=t+1/3*-(u-1),o<0?o++:o>1&&o--,l=6*o<1?a+(i-a)*6*o:2*o<1?i:3*o<2?a+(i-a)*(2/3-o)*6:a,s[u++]=l*255;return s}};T6.hsl=function(e){var t=e[0]/255,r=e[1]/255,n=e[2]/255,a=Math.min(t,r,n),i=Math.max(t,r,n),o=i-a,s,l,u;return i===a?s=0:t===i?s=(r-n)/o:r===i?s=2+(n-t)/o:n===i&&(s=4+(t-r)/o),s=Math.min(s*60,360),s<0&&(s+=360),u=(a+i)/2,i===a?l=0:u<=.5?l=o/(i+a):l=o/(2-i-a),[s,l*100,u*100]}});var $qe={};E0($qe,{default:()=>Zqe});function Zqe(e){Array.isArray(e)&&e.raw&&(e=String.raw(...arguments)),e instanceof Number&&(e=+e);var t,r,n,a=Wqe(e);if(!a.space)return[];let i=a.space[0]==="h"?Y9.min:T6.min,o=a.space[0]==="h"?Y9.max:T6.max;return t=Array(3),t[0]=Math.min(Math.max(a.values[0],i[0]),o[0]),t[1]=Math.min(Math.max(a.values[1],i[1]),o[1]),t[2]=Math.min(Math.max(a.values[2],i[2]),o[2]),a.space[0]==="h"&&(t=Y9.rgb(t)),t.push(Math.min(Math.max(a.alpha,0),1)),t}var Kqe=lo(()=>{Yqe();OW();Xqe()});var NW=ne(X9=>{"use strict";var hNt=Zt().isTypedArray;X9.convertTypedArray=function(e){return hNt(e)?Array.prototype.slice.call(e):e};X9.isOrdinal=function(e){return!!e.tickvals};X9.isVisible=function(e){return e.visible||!("visible"in e)}});var sBe=ne((R1r,oBe)=>{"use strict";var dNt=["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(` +`),vNt=["precision highp float;","","varying vec4 fragColor;","","void main() {"," gl_FragColor = fragColor;","}"].join(` +`),A6=w6().maxDimensionCount,nBe=Zt(),Jqe=1e-6,Z9=2048,pNt=new Uint8Array(4),Qqe=new Uint8Array(4),eBe={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function gNt(e){e.read({x:0,y:0,width:1,height:1,data:pNt})}function aBe(e,t,r,n,a){var i=e._gl;i.enable(i.SCISSOR_TEST),i.scissor(t,r,n,a),e.clear({color:[0,0,0,0],depth:1})}function mNt(e,t,r,n,a,i){var o=i.key;function s(l){var u=Math.min(n,a-l*n);l===0&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],aBe(e,i.scissorX,i.scissorY,i.scissorWidth,i.viewBoxSize[1])),!r.clearOnly&&(i.count=2*u,i.offset=2*l*n,t(i),l*n+u>>8*t)%256/255}function bNt(e,t,r){for(var n=new Array(e*(A6+4)),a=0,i=0;iU&&(U=T[P].dim1.canvasX,z=P);A===0&&aBe(a,0,0,u.canvasWidth,u.canvasHeight);var O=M(r);for(P=0;P{"use strict";var Jf=Ea(),vg=Zt(),VW=vg.isArrayOrTypedArray,dBe=vg.numberFormat,vBe=(Kqe(),vl($qe)).default,pBe=ri(),MNt=vg.strRotate,f1=vg.strTranslate,SNt=Ms(),$9=li(),lBe=El(),jW=c1(),y0=jW.keyFun,h1=jW.repeat,gBe=jW.unwrap,Mw=NW(),Ho=w6(),mBe=IW(),ENt=sBe();function uBe(e,t,r){return vg.aggNums(e,null,t,r)}function yBe(e,t){return WW(uBe(Math.min,e,t),uBe(Math.max,e,t))}function K9(e){var t=e.range;return t?WW(t[0],t[1]):yBe(e.values,e._length)}function WW(e,t){return(isNaN(e)||!isFinite(e))&&(e=0),(isNaN(t)||!isFinite(t))&&(t=0),e===t&&(e===0?(e-=1,t+=1):(e*=.9,t*=1.1)),[e,t]}function kNt(e,t){return t?function(r,n){var a=t[n];return a==null?e(r):a}:e}function CNt(e,t,r,n,a){var i=K9(r);return n?Jf.scale.ordinal().domain(n.map(kNt(dBe(r.tickformat),a))).range(n.map(function(o){var s=(o-i[0])/(i[1]-i[0]);return e-t+s*(2*t-e)})):Jf.scale.linear().domain(i).range([e-t,t])}function LNt(e,t){return Jf.scale.linear().range([t,e-t])}function FNt(e,t){return Jf.scale.linear().domain(K9(e)).range([t,1-t])}function PNt(e){if(e.tickvals){var t=K9(e);return Jf.scale.ordinal().domain(e.tickvals).range(e.tickvals.map(function(r){return(r-t[0])/(t[1]-t[0])}))}}function DNt(e){var t=e.map(function(i){return i[0]}),r=e.map(function(i){var o=vBe(i[1]);return Jf.rgb("rgb("+o[0]+","+o[1]+","+o[2]+")")}),n=function(i){return function(o){return o[i]}},a="rgb".split("").map(function(i){return Jf.scale.linear().clamp(!0).domain(t).range(r.map(n(i)))});return function(i){return a.map(function(o){return o(i)})}}function HW(e){return e.dimensions.some(function(t){return t.brush.filterSpecified})}function RNt(e,t,r){var n=gBe(t),a=n.trace,i=Mw.convertTypedArray(n.lineColor),o=a.line,s={color:vBe(a.unselected.line.color),opacity:a.unselected.line.opacity},l=lBe.extractOpts(o),u=l.reversescale?lBe.flipScale(n.cscale):n.cscale,c=a.domain,f=a.dimensions,h=e.width,v=a.labelangle,d=a.labelside,m=a.labelfont,x=a.tickfont,g=a.rangefont,E=vg.extendDeepNoArrays({},o,{color:i.map(Jf.scale.linear().domain(K9({values:i,range:[l.min,l.max],_length:a._length}))),blockLineCount:Ho.blockLineCount,canvasOverdrag:Ho.overdrag*Ho.canvasPixelRatio}),M=Math.floor(h*(c.x[1]-c.x[0])),w=Math.floor(e.height*(c.y[1]-c.y[0])),k=e.margin||{l:80,r:80,t:100,b:80},y=M,S=w;return{key:r,colCount:f.filter(Mw.isVisible).length,dimensions:f,tickDistance:Ho.tickDistance,unitToColor:DNt(u),lines:E,deselectedLines:s,labelAngle:v,labelSide:d,labelFont:m,tickFont:x,rangeFont:g,layoutWidth:h,layoutHeight:e.height,domain:c,translateX:c.x[0]*h,translateY:e.height-c.y[1]*e.height,pad:k,canvasWidth:y*Ho.canvasPixelRatio+2*E.canvasOverdrag,canvasHeight:S*Ho.canvasPixelRatio,width:y,height:S,canvasPixelRatio:Ho.canvasPixelRatio}}function INt(e,t,r){var n=r.width,a=r.height,i=r.dimensions,o=r.canvasPixelRatio,s=function(h){return n*h/Math.max(1,r.colCount-1)},l=Ho.verticalPadding/a,u=LNt(a,Ho.verticalPadding),c={key:r.key,xScale:s,model:r,inBrushDrag:!1},f={};return c.dimensions=i.filter(Mw.isVisible).map(function(h,v){var d=FNt(h,l),m=f[h.label];f[h.label]=(m||0)+1;var x=h.label+(m?"__"+m:""),g=h.constraintrange,E=g&&g.length;E&&!VW(g[0])&&(g=[g]);var M=E?g.map(function(D){return D.map(d)}):[[-1/0,1/0]],w=function(){var D=c;D.focusLayer&&D.focusLayer.render(D.panels,!0);var z=HW(D);!e.contextShown()&&z?(D.contextLayer&&D.contextLayer.render(D.panels,!0),e.contextShown(!0)):e.contextShown()&&!z&&(D.contextLayer&&D.contextLayer.render(D.panels,!0,!0),e.contextShown(!1))},k=h.values;k.length>h._length&&(k=k.slice(0,h._length));var y=h.tickvals,S;function T(D,z){return{val:D,text:S[z]}}function p(D,z){return D.val-z.val}if(VW(y)&&y.length){vg.isTypedArray(y)&&(y=Array.from(y)),S=h.ticktext,!VW(S)||!S.length?S=y.map(dBe(h.tickformat)):S.length>y.length?S=S.slice(0,y.length):y.length>S.length&&(y=y.slice(0,S.length));for(var C=1;C=z||R>=q)return;var B=P.lineLayer.readPixel(O,q-1-R),Y=B[3]!==0,X=Y?B[2]+256*(B[1]+256*B[0]):null,te={x:O,y:R,clientX:D.clientX,clientY:D.clientY,dataIndex:P.model.key,curveNumber:X};X!==d&&(Y?a.hover(te):a.unhover&&a.unhover(te),d=X)}}),v.style("opacity",function(P){return P.pick?0:1}),s.style("background","rgba(255, 255, 255, 0)");var x=s.selectAll("."+Ho.cn.parcoords).data(h,y0);x.exit().remove(),x.enter().append("g").classed(Ho.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),x.attr("transform",function(P){return f1(P.model.translateX,P.model.translateY)});var g=x.selectAll("."+Ho.cn.parcoordsControlView).data(h1,y0);g.enter().append("g").classed(Ho.cn.parcoordsControlView,!0),g.attr("transform",function(P){return f1(P.model.pad.l,P.model.pad.t)});var E=g.selectAll("."+Ho.cn.yAxis).data(function(P){return P.dimensions},y0);E.enter().append("g").classed(Ho.cn.yAxis,!0),g.each(function(P){GW(E,P,u)}),v.each(function(P){if(P.viewModel){!P.lineLayer||a?P.lineLayer=ENt(this,P):P.lineLayer.update(P),(P.key||P.key===0)&&(P.viewModel[P.key]=P.lineLayer);var D=!P.context||a;P.lineLayer.render(P.viewModel.panels,D)}}),E.attr("transform",function(P){return f1(P.xScale(P.xIndex),0)}),E.call(Jf.behavior.drag().origin(function(P){return P}).on("drag",function(P){var D=P.parent;f.linePickActive(!1),P.x=Math.max(-Ho.overdrag,Math.min(P.model.width+Ho.overdrag,Jf.event.x)),P.canvasX=P.x*P.model.canvasPixelRatio,E.sort(function(z,q){return z.x-q.x}).each(function(z,q){z.xIndex=q,z.x=P===z?z.x:z.xScale(z.xIndex),z.canvasX=z.x*z.model.canvasPixelRatio}),GW(E,D,u),E.filter(function(z){return Math.abs(P.xIndex-z.xIndex)!==0}).attr("transform",function(z){return f1(z.xScale(z.xIndex),0)}),Jf.select(this).attr("transform",f1(P.x,0)),E.each(function(z,q,U){U===P.parent.key&&(D.dimensions[q]=z)}),D.contextLayer&&D.contextLayer.render(D.panels,!1,!HW(D)),D.focusLayer.render&&D.focusLayer.render(D.panels)}).on("dragend",function(P){var D=P.parent;P.x=P.xScale(P.xIndex),P.canvasX=P.x*P.model.canvasPixelRatio,GW(E,D,u),Jf.select(this).attr("transform",function(z){return f1(z.x,0)}),D.contextLayer&&D.contextLayer.render(D.panels,!1,!HW(D)),D.focusLayer&&D.focusLayer.render(D.panels),D.pickLayer&&D.pickLayer.render(D.panels,!0),f.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(D.key,D.dimensions.map(function(z){return z.crossfilterDimensionIndex}))})),E.exit().remove();var M=E.selectAll("."+Ho.cn.axisOverlays).data(h1,y0);M.enter().append("g").classed(Ho.cn.axisOverlays,!0),M.selectAll("."+Ho.cn.axis).remove();var w=M.selectAll("."+Ho.cn.axis).data(h1,y0);w.enter().append("g").classed(Ho.cn.axis,!0),w.each(function(P){var D=P.model.height/P.model.tickDistance,z=P.domainScale,q=z.domain();Jf.select(this).call(Jf.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(D,P.tickFormat).tickValues(P.ordinal?q:null).tickFormat(function(U){return Mw.isOrdinal(P)?U:xBe(P.model.dimensions[P.visibleIndex],U)}).scale(z)),$9.font(w.selectAll("text"),P.model.tickFont)}),w.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),w.selectAll("text").style("cursor","default");var k=M.selectAll("."+Ho.cn.axisHeading).data(h1,y0);k.enter().append("g").classed(Ho.cn.axisHeading,!0);var y=k.selectAll("."+Ho.cn.axisTitle).data(h1,y0);y.enter().append("text").classed(Ho.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events",i?"none":"auto"),y.text(function(P){return P.label}).each(function(P){var D=Jf.select(this);$9.font(D,P.model.labelFont),SNt.convertToTspans(D,t)}).attr("transform",function(P){var D=fBe(P.model.labelAngle,P.model.labelSide),z=Ho.axisTitleOffset;return(D.dir>0?"":f1(0,2*z+P.model.height))+MNt(D.degrees)+f1(-z*D.dx,-z*D.dy)}).attr("text-anchor",function(P){var D=fBe(P.model.labelAngle,P.model.labelSide),z=Math.abs(D.dx),q=Math.abs(D.dy);return 2*z>q?D.dir*D.dx<0?"start":"end":"middle"});var S=M.selectAll("."+Ho.cn.axisExtent).data(h1,y0);S.enter().append("g").classed(Ho.cn.axisExtent,!0);var T=S.selectAll("."+Ho.cn.axisExtentTop).data(h1,y0);T.enter().append("g").classed(Ho.cn.axisExtentTop,!0),T.attr("transform",f1(0,-Ho.axisExtentOffset));var p=T.selectAll("."+Ho.cn.axisExtentTopText).data(h1,y0);p.enter().append("text").classed(Ho.cn.axisExtentTopText,!0).call(cBe),p.text(function(P){return hBe(P,!0)}).each(function(P){$9.font(Jf.select(this),P.model.rangeFont)});var C=S.selectAll("."+Ho.cn.axisExtentBottom).data(h1,y0);C.enter().append("g").classed(Ho.cn.axisExtentBottom,!0),C.attr("transform",function(P){return f1(0,P.model.height+Ho.axisExtentOffset)});var A=C.selectAll("."+Ho.cn.axisExtentBottomText).data(h1,y0);A.enter().append("text").classed(Ho.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(cBe),A.text(function(P){return hBe(P,!1)}).each(function(P){$9.font(Jf.select(this),P.model.rangeFont)}),mBe.ensureAxisBrush(M,c,t)}});var XW=ne((YW,MBe)=>{"use strict";var BNt=_Be(),ONt=R9(),wBe=NW().isVisible,ABe={};function TBe(e,t,r){var n=t.indexOf(r),a=e.indexOf(n);return a===-1&&(a+=t.length),a}function NNt(e,t){return function(n,a){return TBe(e,t,n)-TBe(e,t,a)}}var YW=MBe.exports=function(t,r){var n=t._fullLayout,a=ONt(t,[],ABe);if(a){var i={},o={},s={},l=n._size;r.forEach(function(v,d){var m=v[0].trace,x=s[d]=m.index;i[d]=t.data[x].dimensions,o[d]=t.data[x].dimensions.slice()});var u=function(v,d,m){var x=o[v][d],g=m.map(function(S){return S.slice()}),E="dimensions["+d+"].constraintrange",M=n._tracePreGUI[t._fullData[s[v]].uid];if(M[E]===void 0){var w=x.constraintrange;M[E]=w||null}var k=t._fullData[s[v]].dimensions[d];g.length?(g.length===1&&(g=g[0]),x.constraintrange=g,k.constraintrange=g.slice(),g=[g]):(delete x.constraintrange,delete k.constraintrange,g=null);var y={};y[E]=g,t.emit("plotly_restyle",[y,[s[v]]])},c=function(v){t.emit("plotly_hover",v)},f=function(v){t.emit("plotly_unhover",v)},h=function(v,d){var m=NNt(d,o[v].filter(wBe));i[v].sort(m),o[v].filter(function(x){return!wBe(x)}).sort(function(x){return o[v].indexOf(x)}).forEach(function(x){i[v].splice(i[v].indexOf(x),1),i[v].splice(o[v].indexOf(x),0,x)}),t.emit("plotly_restyle",[{dimensions:[i[v]]},[s[v]]])};BNt(t,r,{width:l.w,height:l.h,margin:{t:l.t,r:l.r,b:l.b,l:l.l}},{filterChanged:u,hover:c,unhover:f,axesMoved:h})}};YW.reglPrecompiled=ABe});var EBe=ne(M6=>{"use strict";var SBe=Ea(),UNt=mh().getModuleCalcData,VNt=XW(),GNt=qv();M6.name="parcoords";M6.plot=function(e){var t=UNt(e.calcdata,"parcoords")[0];t.length&&VNt(e,t)};M6.clean=function(e,t,r,n){var a=n._has&&n._has("parcoords"),i=t._has&&t._has("parcoords");a&&!i&&(n._paperdiv.selectAll(".parcoords").remove(),n._glimages.selectAll("*").remove())};M6.toSVG=function(e){var t=e._fullLayout._glimages,r=SBe.select(e).selectAll(".svg-container"),n=r.filter(function(i,o){return o===r.size()-1}).selectAll(".gl-canvas-context, .gl-canvas-focus");function a(){var i=this,o=i.toDataURL("image/png"),s=t.append("svg:image");s.attr({xmlns:GNt.svg,"xlink:href":o,preserveAspectRatio:"none",x:0,y:0,width:i.style.width,height:i.style.height})}n.each(a),window.setTimeout(function(){SBe.selectAll("#filterBarPattern").attr("id","filterBarPattern")},60)}});var CBe=ne((q1r,kBe)=>{"use strict";kBe.exports={attributes:PW(),supplyDefaults:Vqe(),calc:Hqe(),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:EBe(),categories:["gl","regl","noOpacity","noHover"],meta:{}}});var PBe=ne((B1r,FBe)=>{"use strict";var LBe=CBe();LBe.plot=XW();FBe.exports=LBe});var RBe=ne((O1r,DBe)=>{"use strict";DBe.exports=PBe()});var ZW=ne((N1r,OBe)=>{"use strict";var zBe=ci().extendFlat,HNt=os(),IBe=pl(),jNt=Ys(),{hovertemplateAttrs:qBe,templatefallbackAttrs:BBe}=rs(),WNt=zl().attributes,YNt=zBe({editType:"calc"},jNt("line",{editTypeOverride:"calc"}),{shape:{valType:"enumerated",values:["linear","hspline"],dflt:"linear",editType:"plot"},hovertemplate:qBe({editType:"plot",arrayOk:!1},{keys:["count","probability"]}),hovertemplatefallback:BBe({editType:"plot"})});OBe.exports={domain:WNt({name:"parcats",trace:!0,editType:"calc"}),hoverinfo:zBe({},HNt.hoverinfo,{flags:["count","probability"],editType:"plot",arrayOk:!1}),hoveron:{valType:"enumerated",values:["category","color","dimension"],dflt:"category",editType:"plot"},hovertemplate:qBe({editType:"plot",arrayOk:!1},{keys:["count","probability","category","categorycount","colorcount","bandcolorcount"]}),hovertemplatefallback:BBe({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:IBe({editType:"calc"}),tickfont:IBe({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:YNt,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}});var VBe=ne((U1r,UBe)=>{"use strict";var Sw=Zt(),XNt=yh().hasColorscale,ZNt=bf(),$Nt=zl().defaults,KNt=zh(),NBe=ZW(),JNt=z9(),QNt=Ih().isTypedArraySpec;function eUt(e,t,r,n,a){a("line.shape"),a("line.hovertemplate"),a("line.hovertemplatefallback");var i=a("line.color",n.colorway[0]);if(XNt(e,"line")&&Sw.isArrayOrTypedArray(i)){if(i.length)return a("line.colorscale"),ZNt(e,t,n,a,{prefix:"line.",cLetter:"c"}),i.length;t.line.color=r}return 1/0}function tUt(e,t){function r(u,c){return Sw.coerce(e,t,NBe.dimensions,u,c)}var n=r("values"),a=r("visible");if(n&&n.length||(a=t.visible=!1),a){r("label"),r("displayindex",t._index);var i=e.categoryarray,o=Sw.isArrayOrTypedArray(i)&&i.length>0||QNt(i),s;o&&(s="array");var l=r("categoryorder",s);l==="array"?(r("categoryarray"),r("ticktext")):(delete e.categoryarray,delete e.ticktext),!o&&l==="array"&&(t.categoryorder="trace")}}UBe.exports=function(t,r,n,a){function i(u,c){return Sw.coerce(t,r,NBe,u,c)}var o=KNt(t,r,{name:"dimensions",handleItemDefaults:tUt}),s=eUt(t,r,n,a,i);$Nt(r,a,i),(!Array.isArray(o)||!o.length)&&(r.visible=!1),JNt(r,o,"values",s),i("hoveron"),i("hovertemplate"),i("hovertemplatefallback"),i("arrangement"),i("bundlecolors"),i("sortpaths"),i("counts");var l=a.font;Sw.coerceFont(i,"labelfont",l,{overrideDflt:{size:Math.round(l.size)}}),Sw.coerceFont(i,"tickfont",l,{autoShadowDflt:!0,overrideDflt:{size:Math.round(l.size/1.2)}})}});var HBe=ne((V1r,GBe)=>{"use strict";var rUt=c1().wrap,nUt=yh().hasColorscale,aUt=qh(),iUt=ZD(),oUt=li(),S6=Zt(),sUt=mi();GBe.exports=function(t,r){var n=S6.filterVisible(r.dimensions);if(n.length===0)return[];var a=n.map(function(p){var C;if(p.categoryorder==="trace")C=null;else if(p.categoryorder==="array")C=p.categoryarray;else{C=iUt(p.values);for(var A=!0,P=0;P=e.length||t[e[r]]!==void 0)return!1;t[e[r]]=!0}return!0}});var QBe=ne((G1r,JBe)=>{"use strict";var jo=Ea(),yUt=(f2(),vl(c2)).interpolateNumber,xUt=QE(),$W=_a(),C6=cu(),uy=Zt(),E6=uy.strTranslate,jBe=li(),bUt=Ms();function _Ut(e,t,r,n){var a=t._context.staticPlot,i=e.map(zUt.bind(0,t,r)),o=n.selectAll("g.parcatslayer").data([null]);o.enter().append("g").attr("class","parcatslayer").style("pointer-events",a?"none":"all");var s=o.selectAll("g.trace.parcats").data(i,pg),l=s.enter().append("g").attr("class","trace parcats");s.attr("transform",function(E){return E6(E.x,E.y)}),l.append("g").attr("class","paths");var u=s.select("g.paths"),c=u.selectAll("path.path").data(function(E){return E.paths},pg);c.attr("fill",function(E){return E.model.color});var f=c.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",function(E){return E.model.color}).attr("fill-opacity",0);QW(f),c.attr("d",function(E){return E.svgD}),f.empty()||c.sort(KW),c.exit().remove(),c.on("mouseover",wUt).on("mouseout",TUt).on("click",AUt),l.append("g").attr("class","dimensions");var h=s.select("g.dimensions"),v=h.selectAll("g.dimension").data(function(E){return E.dimensions},pg);v.enter().append("g").attr("class","dimension"),v.attr("transform",function(E){return E6(E.x,0)}),v.exit().remove();var d=v.selectAll("g.category").data(function(E){return E.categories},pg),m=d.enter().append("g").attr("class","category");d.attr("transform",function(E){return E6(0,E.y)}),m.append("rect").attr("class","catrect").attr("pointer-events","none"),d.select("rect.catrect").attr("fill","none").attr("width",function(E){return E.width}).attr("height",function(E){return E.height}),YBe(m);var x=d.selectAll("rect.bandrect").data(function(E){return E.bands},pg);x.each(function(){uy.raiseToTop(this)}),x.attr("fill",function(E){return E.color});var g=x.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",function(E){return E.color}).attr("fill-opacity",0);x.attr("fill",function(E){return E.color}).attr("width",function(E){return E.width}).attr("height",function(E){return E.height}).attr("y",function(E){return E.y}).attr("cursor",function(E){return E.parcatsViewModel.arrangement==="fixed"?"default":E.parcatsViewModel.arrangement==="perpendicular"?"ns-resize":"move"}),tY(g),x.exit().remove(),m.append("text").attr("class","catlabel").attr("pointer-events","none"),d.select("text.catlabel").attr("text-anchor",function(E){return k6(E)?"start":"end"}).attr("alignment-baseline","middle").style("fill","rgb(0, 0, 0)").attr("x",function(E){return k6(E)?E.width+5:-5}).attr("y",function(E){return E.height/2}).text(function(E){return E.model.categoryLabel}).each(function(E){jBe.font(jo.select(this),E.parcatsViewModel.categorylabelfont),bUt.convertToTspans(jo.select(this),t)}),m.append("text").attr("class","dimlabel"),d.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",function(E){return E.parcatsViewModel.arrangement==="fixed"?"default":"ew-resize"}).attr("x",function(E){return E.width/2}).attr("y",-5).text(function(E,M){return M===0?E.parcatsViewModel.model.dimensions[E.model.dimensionInd].dimensionLabel:null}).each(function(E){jBe.font(jo.select(this),E.parcatsViewModel.labelfont)}),d.selectAll("rect.bandrect").on("mouseover",FUt).on("mouseout",PUt),d.exit().remove(),v.call(jo.behavior.drag().origin(function(E){return{x:E.x,y:0}}).on("dragstart",DUt).on("drag",RUt).on("dragend",IUt)),s.each(function(E){E.traceSelection=jo.select(this),E.pathSelection=jo.select(this).selectAll("g.paths").selectAll("path.path"),E.dimensionSelection=jo.select(this).selectAll("g.dimensions").selectAll("g.dimension")}),s.exit().remove()}JBe.exports=function(e,t,r,n){_Ut(r,e,n,t)};function pg(e){return e.key}function k6(e){var t=e.parcatsViewModel.dimensions.length,r=e.parcatsViewModel.dimensions[t-1].model.dimensionInd;return e.model.dimensionInd===r}function KW(e,t){return e.model.rawColor>t.model.rawColor?1:e.model.rawColor"),y=jo.mouse(a)[0];C6.loneHover({trace:i,x:d-s.left+l.left,y:m-s.top+l.top,text:k,color:e.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:x,idealAlign:y$W.mostReadable(t.model.color)).attr("stroke-width",.3)}function MUt(e){e.select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}function YBe(e){e.select("rect.catrect").attr("stroke","black").attr("stroke-width",1).attr("stroke-opacity",1)}function SUt(e){e.attr("stroke","black").attr("stroke-width",1.5)}function tY(e){e.attr("stroke","black").attr("stroke-width",.2).attr("stroke-opacity",1).attr("fill-opacity",1)}function J9(e){var t=e.parcatsViewModel.pathSelection,r=e.categoryViewModel.model.dimensionInd,n=e.categoryViewModel.model.categoryInd;return t.filter(function(a){return a.model.categoryInds[r]===n&&a.model.color===e.color})}function EUt(e){var t=jo.select(e.parentNode).selectAll("rect.bandrect");t.each(function(r){var n=J9(r);eY(n),n.each(function(){uy.raiseToTop(this)})}),MUt(jo.select(e.parentNode))}function kUt(e){var t=jo.select(e).datum(),r=J9(t);eY(r),r.each(function(){uy.raiseToTop(this)}),jo.select(e.parentNode).selectAll("rect.bandrect").filter(function(n){return n.color===t.color}).each(function(){uy.raiseToTop(this),SUt(jo.select(this))})}function rY(e,t,r){var n=jo.select(e).datum(),a=n.categoryViewModel.model,i=n.parcatsViewModel.graphDiv,o=jo.select(e.parentNode).selectAll("rect.bandrect"),s=[];o.each(function(u){var c=J9(u);c.each(function(f){Array.prototype.push.apply(s,L6(f))})});var l={};l[a.dimensionInd]=a.categoryValue,i.emit(t,{points:s,event:r,constraints:l})}function nY(e,t,r){var n=jo.select(e).datum(),a=n.categoryViewModel.model,i=n.parcatsViewModel.graphDiv,o=J9(n),s=[];o.each(function(u){Array.prototype.push.apply(s,L6(u))});var l={};l[a.dimensionInd]=a.categoryValue,n.rawColor!==void 0&&(l.color=n.rawColor),i.emit(t,{points:s,event:r,constraints:l})}function XBe(e,t,r){e._fullLayout._calcInverseTransform(e);var n=e._fullLayout._invScaleX,a=e._fullLayout._invScaleY,i=jo.select(r.parentNode).select("rect.catrect"),o=i.node().getBoundingClientRect(),s=i.datum(),l=s.parcatsViewModel,u=l.model.dimensions[s.model.dimensionInd],c=l.trace,f=o.top+o.height/2,h,v;l.dimensions.length>1&&u.displayInd===l.dimensions.length-1?(h=o.left,v="left"):(h=o.left+o.width,v="right");var d=s.model.count,m=s.model.categoryLabel,x=d/s.parcatsViewModel.model.count,g={countLabel:d,categoryLabel:m,probabilityLabel:x.toFixed(3)},E=[];s.parcatsViewModel.hoverinfoItems.indexOf("count")!==-1&&E.push(["Count:",g.countLabel].join(" ")),s.parcatsViewModel.hoverinfoItems.indexOf("probability")!==-1&&E.push(["P("+g.categoryLabel+"):",g.probabilityLabel].join(" "));var M=E.join("
");return{trace:c,x:n*(h-t.left),y:a*(f-t.top),text:M,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:v,hovertemplate:c.hovertemplate,hovertemplateLabels:g,eventData:[{data:c._input,fullData:c,count:d,category:m,probability:x}]}}function CUt(e,t,r){var n=[];return jo.select(r.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each(function(){var a=this;n.push(XBe(e,t,a))}),n}function LUt(e,t,r){e._fullLayout._calcInverseTransform(e);var n=e._fullLayout._invScaleX,a=e._fullLayout._invScaleY,i=r.getBoundingClientRect(),o=jo.select(r).datum(),s=o.categoryViewModel,l=s.parcatsViewModel,u=l.model.dimensions[s.model.dimensionInd],c=l.trace,f=i.y+i.height/2,h,v;l.dimensions.length>1&&u.displayInd===l.dimensions.length-1?(h=i.left,v="left"):(h=i.left+i.width,v="right");var d=s.model.categoryLabel,m=o.parcatsViewModel.model.count,x=0;o.categoryViewModel.bands.forEach(function(C){C.color===o.color&&(x+=C.count)});var g=s.model.count,E=0;l.pathSelection.each(function(C){C.model.color===o.color&&(E+=C.model.count)});var M=x/m,w=x/E,k=x/g,y={countLabel:x,categoryLabel:d,probabilityLabel:M.toFixed(3)},S=[];s.parcatsViewModel.hoverinfoItems.indexOf("count")!==-1&&S.push(["Count:",y.countLabel].join(" ")),s.parcatsViewModel.hoverinfoItems.indexOf("probability")!==-1&&(S.push("P(color \u2229 "+d+"): "+y.probabilityLabel),S.push("P("+d+" | color): "+w.toFixed(3)),S.push("P(color | "+d+"): "+k.toFixed(3)));var T=S.join("
"),p=$W.mostReadable(o.color);return{trace:c,x:n*(h-t.left),y:a*(f-t.top),text:T,color:o.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:p,fontSize:10,idealAlign:v,hovertemplate:c.hovertemplate,hovertemplateLabels:y,eventData:[{data:c._input,fullData:c,category:d,count:m,probability:M,categorycount:g,colorcount:E,bandcolorcount:x}]}}function FUt(e){if(!e.parcatsViewModel.dragDimension&&e.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1){var t=jo.mouse(this)[1];if(t<-1)return;var r=e.parcatsViewModel.graphDiv,n=r._fullLayout,a=n._paperdiv.node().getBoundingClientRect(),i=e.parcatsViewModel.hoveron,o=this;if(i==="color"?(kUt(o),nY(o,"plotly_hover",jo.event)):(EUt(o),rY(o,"plotly_hover",jo.event)),e.parcatsViewModel.hoverinfoItems.indexOf("none")===-1){var s;i==="category"?s=XBe(r,a,o):i==="color"?s=LUt(r,a,o):i==="dimension"&&(s=CUt(r,a,o)),s&&C6.loneHover(s,{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:r})}}}function PUt(e){var t=e.parcatsViewModel;if(!t.dragDimension&&(QW(t.pathSelection),YBe(t.dimensionSelection.selectAll("g.category")),tY(t.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),C6.loneUnhover(t.graphDiv._fullLayout._hoverlayer.node()),t.pathSelection.sort(KW),t.hoverinfoItems.indexOf("skip")===-1)){var r=e.parcatsViewModel.hoveron,n=this;r==="color"?nY(n,"plotly_unhover",jo.event):rY(n,"plotly_unhover",jo.event)}}function DUt(e){e.parcatsViewModel.arrangement!=="fixed"&&(e.dragDimensionDisplayInd=e.model.displayInd,e.initialDragDimensionDisplayInds=e.parcatsViewModel.model.dimensions.map(function(t){return t.displayInd}),e.dragHasMoved=!1,e.dragCategoryDisplayInd=null,jo.select(this).selectAll("g.category").select("rect.catrect").each(function(t){var r=jo.mouse(this)[0],n=jo.mouse(this)[1];-2<=r&&r<=t.width+2&&-2<=n&&n<=t.height+2&&(e.dragCategoryDisplayInd=t.model.displayInd,e.initialDragCategoryDisplayInds=e.model.categories.map(function(a){return a.displayInd}),t.model.dragY=t.y,uy.raiseToTop(this.parentNode),jo.select(this.parentNode).selectAll("rect.bandrect").each(function(a){a.yc.y+c.height/2&&(i.model.displayInd=c.model.displayInd,c.model.displayInd=s),e.dragCategoryDisplayInd=i.model.displayInd}if(e.dragCategoryDisplayInd===null||e.parcatsViewModel.arrangement==="freeform"){a.model.dragX=jo.event.x;var f=e.parcatsViewModel.dimensions[r],h=e.parcatsViewModel.dimensions[n];f!==void 0&&a.model.dragXh.x&&(a.model.displayInd=h.model.displayInd,h.model.displayInd=e.dragDimensionDisplayInd),e.dragDimensionDisplayInd=a.model.displayInd}iY(e.parcatsViewModel),aY(e.parcatsViewModel),KBe(e.parcatsViewModel),$Be(e.parcatsViewModel)}}function IUt(e){if(e.parcatsViewModel.arrangement!=="fixed"&&e.dragDimensionDisplayInd!==null){jo.select(this).selectAll("text").attr("font-weight","normal");var t={},r=ZBe(e.parcatsViewModel),n=e.parcatsViewModel.model.dimensions.map(function(h){return h.displayInd}),a=e.initialDragDimensionDisplayInds.some(function(h,v){return h!==n[v]});a&&n.forEach(function(h,v){var d=e.parcatsViewModel.model.dimensions[v].containerInd;t["dimensions["+d+"].displayindex"]=h});var i=!1;if(e.dragCategoryDisplayInd!==null){var o=e.model.categories.map(function(h){return h.displayInd});if(i=e.initialDragCategoryDisplayInds.some(function(h,v){return h!==o[v]}),i){var s=e.model.categories.slice().sort(function(h,v){return h.displayInd-v.displayInd}),l=s.map(function(h){return h.categoryValue}),u=s.map(function(h){return h.categoryLabel});t["dimensions["+e.model.containerInd+"].categoryarray"]=[l],t["dimensions["+e.model.containerInd+"].ticktext"]=[u],t["dimensions["+e.model.containerInd+"].categoryorder"]="array"}}if(e.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1&&!e.dragHasMoved&&e.potentialClickBand&&(e.parcatsViewModel.hoveron==="color"?nY(e.potentialClickBand,"plotly_click",jo.event.sourceEvent):rY(e.potentialClickBand,"plotly_click",jo.event.sourceEvent)),e.model.dragX=null,e.dragCategoryDisplayInd!==null){var c=e.parcatsViewModel.dimensions[e.dragDimensionDisplayInd].categories[e.dragCategoryDisplayInd];c.model.dragY=null,e.dragCategoryDisplayInd=null}e.dragDimensionDisplayInd=null,e.parcatsViewModel.dragDimension=null,e.dragHasMoved=null,e.potentialClickBand=null,iY(e.parcatsViewModel),aY(e.parcatsViewModel);var f=jo.transition().duration(300).ease("cubic-in-out");f.each(function(){KBe(e.parcatsViewModel,!0),$Be(e.parcatsViewModel,!0)}).each("end",function(){(a||i)&&xUt.restyle(e.parcatsViewModel.graphDiv,t,[r])})}}function ZBe(e){for(var t,r=e.graphDiv._fullData,n=0;n=0;l--)u+="C"+o[l]+","+(t[l+1]+n)+" "+i[l]+","+(t[l]+n)+" "+(e[l]+r[l])+","+(t[l]+n),u+="l-"+r[l]+",0 ";return u+="Z",u}function aY(e){var t=e.dimensions,r=e.model,n=t.map(function(D){return D.categories.map(function(z){return z.y})}),a=e.model.dimensions.map(function(D){return D.categories.map(function(z){return z.displayInd})}),i=e.model.dimensions.map(function(D){return D.displayInd}),o=e.dimensions.map(function(D){return D.model.dimensionInd}),s=t.map(function(D){return D.x}),l=t.map(function(D){return D.width}),u=[];for(var c in r.paths)r.paths.hasOwnProperty(c)&&u.push(r.paths[c]);function f(D){var z=D.categoryInds.map(function(U,O){return a[O][U]}),q=o.map(function(U){return z[U]});return q}u.sort(function(D,z){var q=f(D),U=f(z);return e.sortpaths==="backward"&&(q.reverse(),U.reverse()),q.push(D.valueInds[0]),U.push(z.valueInds[0]),e.bundlecolors&&(q.unshift(D.rawColor),U.unshift(z.rawColor)),qU?1:0});for(var h=new Array(u.length),v=t[0].model.count,d=t[0].categories.map(function(D){return D.height}).reduce(function(D,z){return D+z}),m=0;m0?g=d*(x.count/v):g=0;for(var E=new Array(n.length),M=0;M1?o=(e.width-2*r-n)/(a-1):o=0,s=r,l=s+o*i;var u=[],c=e.model.maxCats,f=t.categories.length,h=8,v=t.count,d=e.height-h*(c-1),m,x,g,E,M,w=(c-f)*h/2,k=t.categories.map(function(y){return{displayInd:y.displayInd,categoryInd:y.categoryInd}});for(k.sort(function(y,S){return y.displayInd-S.displayInd}),M=0;M0?m=x.count/v*d:m=0,g={key:x.valueInds[0],model:x,width:n,height:m,y:x.dragY!==null?x.dragY:w,bands:[],parcatsViewModel:e},w=w+m+h,u.push(g);return{key:t.dimensionInd,x:t.dragX!==null?t.dragX:l,y:0,width:n,model:t,categories:u,parcatsViewModel:e,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}});var oY=ne((H1r,eOe)=>{"use strict";var BUt=QBe();eOe.exports=function(t,r,n,a){var i=t._fullLayout,o=i._paper,s=i._size;BUt(t,o,r,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},n,a)}});var rOe=ne(Q9=>{"use strict";var OUt=mh().getModuleCalcData,NUt=oY(),tOe="parcats";Q9.name=tOe;Q9.plot=function(e,t,r,n){var a=OUt(e.calcdata,tOe);if(a.length){var i=a[0];NUt(e,i,r,n)}};Q9.clean=function(e,t,r,n){var a=n._has&&n._has("parcats"),i=t._has&&t._has("parcats");a&&!i&&n._paperdiv.selectAll(".parcats").remove()}});var aOe=ne((W1r,nOe)=>{"use strict";nOe.exports={attributes:ZW(),supplyDefaults:VBe(),calc:HBe(),plot:oY(),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:rOe(),categories:["noOpacity"],meta:{}}});var oOe=ne((Y1r,iOe)=>{"use strict";iOe.exports=aOe()});var lOe=ne((X1r,sOe)=>{"use strict";sOe.exports={version:8,name:"orto",metadata:{"maputnik:renderer":"mlgljs"},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"}},{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} {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} {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} {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} @@ -3222,10 +2721,10 @@ uniform `+Yt+" "+cr+" u_"+Nt+`; {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} {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} {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} -{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"}});var PHe=ye((dbr,LHe)=>{LHe.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"}}]}});var Ix=ye((vbr,zHe)=>{"use strict";var $Wt=t_(),QWt=CHe(),eXt=PHe(),tXt='\xA9 OpenStreetMap contributors',IHe="https://basemaps.cartocdn.com/gl/positron-gl-style/style.json",RHe="https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",u7="https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",rXt="https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json",iXt="https://basemaps.cartocdn.com/gl/dark-matter-nolabels-gl-style/style.json",nXt="https://basemaps.cartocdn.com/gl/voyager-nolabels-gl-style/style.json",FHe={basic:u7,streets:u7,outdoors:u7,light:IHe,dark:RHe,satellite:eXt,"satellite-streets":QWt,"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:tXt,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":IHe,"carto-darkmatter":RHe,"carto-voyager":u7,"carto-positron-nolabels":rXt,"carto-darkmatter-nolabels":iXt,"carto-voyager-nolabels":nXt},DHe=$Wt(FHe);zHe.exports={styleValueDflt:"basic",stylesMap:FHe,styleValuesMap:DHe,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",missingStyleErrorMsg:["No valid maplibre style found, please set `map.style` to one of:",DHe.join(", "),"or use a tile service."].join(` -`),mapOnErrorMsg:"Map error."}});var eC=ye((pbr,UHe)=>{"use strict";var qHe=Pr(),OHe=ka().defaultLine,aXt=Cc().attributes,oXt=ec(),sXt=pf().textposition,lXt=mc().overrideAll,uXt=vl().templatedArray,BHe=Ix(),NHe=oXt({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});NHe.family.dflt="Open Sans Regular, Arial Unicode MS Regular";var cXt=UHe.exports=lXt({_arrayAttrRegexps:[qHe.counterRegex("map",".layers",!0)],domain:aXt({name:"map"}),style:{valType:"any",values:BHe.styleValuesMap,dflt:BHe.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:uXt("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:OHe},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:OHe}},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:NHe,textposition:qHe.extendFlat({},sXt,{arrayOk:!1})}})},"plot","from-root");cXt.uirevision={valType:"any",editType:"none"}});var c7=ye((gbr,jHe)=>{"use strict";var{hovertemplateAttrs:fXt,texttemplateAttrs:hXt,templatefallbackAttrs:VHe}=Ll(),dXt=Pg(),tC=tw(),I5=pf(),GHe=eC(),vXt=Gl(),pXt=Tu(),pw=Ao().extendFlat,gXt=mc().overrideAll,mXt=eC(),HHe=tC.line,R5=tC.marker;jHe.exports=gXt({lon:tC.lon,lat:tC.lat,cluster:{enabled:{valType:"boolean"},maxzoom:pw({},mXt.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:pw({},R5.opacity,{dflt:1})},mode:pw({},I5.mode,{dflt:"markers"}),text:pw({},I5.text,{}),texttemplate:hXt({editType:"plot"},{keys:["lat","lon","text"]}),texttemplatefallback:VHe({editType:"plot"}),hovertext:pw({},I5.hovertext,{}),line:{color:HHe.color,width:HHe.width},connectgaps:I5.connectgaps,marker:pw({symbol:{valType:"string",dflt:"circle",arrayOk:!0},angle:{valType:"number",dflt:"auto",arrayOk:!0},allowoverlap:{valType:"boolean",dflt:!1},opacity:R5.opacity,size:R5.size,sizeref:R5.sizeref,sizemin:R5.sizemin,sizemode:R5.sizemode},pXt("marker")),fill:tC.fill,fillcolor:dXt(),textfont:GHe.layers.symbol.textfont,textposition:GHe.layers.symbol.textposition,below:{valType:"string"},selected:{marker:I5.selected.marker},unselected:{marker:I5.unselected.marker},hoverinfo:pw({},vXt.hoverinfo,{flags:["lon","lat","text","name"]}),hovertemplate:fXt(),hovertemplatefallback:VHe()},"calc","nested")});var LJ=ye((mbr,WHe)=>{"use strict";var yXt=["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"];WHe.exports={isSupportedFont:function(e){return yXt.indexOf(e)!==-1}}});var YHe=ye((ybr,ZHe)=>{"use strict";var rC=Pr(),PJ=Ru(),_Xt=$p(),xXt=D0(),bXt=F0(),wXt=Fg(),XHe=c7(),TXt=LJ().isSupportedFont;ZHe.exports=function(t,r,n,i){function a(p,k){return rC.coerce(t,r,XHe,p,k)}function o(p,k){return rC.coerce2(t,r,XHe,p,k)}var s=AXt(t,r,a);if(!s){r.visible=!1;return}if(a("text"),a("texttemplate"),a("texttemplatefallback"),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback"),a("mode"),a("below"),PJ.hasMarkers(r)){_Xt(t,r,n,i,a,{noLine:!0,noAngle:!0}),a("marker.allowoverlap"),a("marker.angle");var l=r.marker;l.symbol!=="circle"&&(rC.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),rC.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}PJ.hasLines(r)&&(xXt(t,r,n,i,a,{noDash:!0}),a("connectgaps"));var u=o("cluster.maxzoom"),c=o("cluster.step"),f=o("cluster.color",r.marker&&r.marker.color||n),h=o("cluster.size"),d=o("cluster.opacity"),v=u!==!1||c!==!1||f!==!1||h!==!1||d!==!1,m=a("cluster.enabled",v);if(m||PJ.hasText(r)){var b=i.font.family;bXt(t,r,i,a,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:TXt(b)?b:"Open Sans Regular",weight:i.font.weight,style:i.font.style,size:i.font.size,color:i.font.color}})}a("fill"),r.fill!=="none"&&wXt(t,r,n,a),rC.coerceSelectionMarkerOpacity(r,a)};function AXt(e,t,r){var n=r("lon")||[],i=r("lat")||[],a=Math.min(n.length,i.length);return t._length=a,a}});var IJ=ye((_br,JHe)=>{"use strict";var KHe=ho();JHe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=KHe.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=KHe.tickText(o,o.c2l(s[1]),!0).text,i}});var RJ=ye((xbr,QHe)=>{"use strict";var $He=Pr();QHe.exports=function(t,r){var n=t.split(" "),i=n[0],a=n[1],o=$He.isArrayOrTypedArray(r)?$He.mean(r):r,s=.5+o/100,l=1.5+o/100,u=["",""],c=[0,0];switch(i){case"top":u[0]="top",c[1]=-l;break;case"bottom":u[0]="bottom",c[1]=l;break}switch(a){case"left":u[1]="right",c[0]=-s;break;case"right":u[1]="left",c[0]=s;break}var f;return u[0]&&u[1]?f=u.join("-"):u[0]?f=u[0]:u[1]?f=u[1]:f="center",{anchor:f,offset:c}}});var aje=ye((bbr,nje)=>{"use strict";var rje=Eo(),sv=Pr(),SXt=fs().BADNUM,h7=fx(),eje=tc(),MXt=So(),EXt=B3(),d7=Ru(),kXt=LJ().isSupportedFont,CXt=RJ(),LXt=ip().appendArrayPointValue,PXt=Zl().NEWLINES,IXt=Zl().BR_TAG_ALL;nje.exports=function(t,r){var n=r[0].trace,i=n.visible===!0&&n._length!==0,a=n.fill!=="none",o=d7.hasLines(n),s=d7.hasMarkers(n),l=d7.hasText(n),u=s&&n.marker.symbol==="circle",c=s&&n.marker.symbol!=="circle",f=n.cluster&&n.cluster.enabled,h=f7("fill"),d=f7("line"),v=f7("circle"),m=f7("symbol"),b={fill:h,line:d,circle:v,symbol:m};if(!i)return b;var p;if((a||o)&&(p=h7.calcTraceToLineCoords(r)),a&&(h.geojson=h7.makePolygon(p),h.layout.visibility="visible",sv.extendFlat(h.paint,{"fill-color":n.fillcolor})),o&&(d.geojson=h7.makeLine(p),d.layout.visibility="visible",sv.extendFlat(d.paint,{"line-width":n.line.width,"line-color":n.line.color,"line-opacity":n.opacity})),u){var k=RXt(r);v.geojson=k.geojson,v.layout.visibility="visible",f&&(v.filter=["!",["has","point_count"]],b.cluster={type:"circle",filter:["has","point_count"],layout:{visibility:"visible"},paint:{"circle-color":FJ(n.cluster.color,n.cluster.step),"circle-radius":FJ(n.cluster.size,n.cluster.step),"circle-opacity":FJ(n.cluster.opacity,n.cluster.step)}},b.clusterCount={type:"symbol",filter:["has","point_count"],paint:{},layout:{"text-field":"{point_count_abbreviated}","text-font":tje(n),"text-size":12}}),sv.extendFlat(v.paint,{"circle-color":k.mcc,"circle-radius":k.mrc,"circle-opacity":k.mo})}if(u&&f&&(v.filter=["!",["has","point_count"]]),(c||l)&&(m.geojson=DXt(r,t),sv.extendFlat(m.layout,{visibility:"visible","icon-image":"{symbol}-15","text-field":"{text}"}),c&&(sv.extendFlat(m.layout,{"icon-size":n.marker.size/10}),"angle"in n.marker&&n.marker.angle!=="auto"&&sv.extendFlat(m.layout,{"icon-rotate":{type:"identity",property:"angle"},"icon-rotation-alignment":"map"}),m.layout["icon-allow-overlap"]=n.marker.allowoverlap,sv.extendFlat(m.paint,{"icon-opacity":n.opacity*n.marker.opacity,"icon-color":n.marker.color})),l)){var M=(n.marker||{}).size,T=CXt(n.textposition,M);sv.extendFlat(m.layout,{"text-size":n.textfont.size,"text-anchor":T.anchor,"text-offset":T.offset,"text-font":tje(n)}),sv.extendFlat(m.paint,{"text-color":n.textfont.color,"text-opacity":n.opacity})}return b};function f7(e){return{type:e,geojson:h7.makeBlank(),layout:{visibility:"none"},filter:null,paint:{}}}function RXt(e){var t=e[0].trace,r=t.marker,n=t.selectedpoints,i=sv.isArrayOrTypedArray(r.color),a=sv.isArrayOrTypedArray(r.size),o=sv.isArrayOrTypedArray(r.opacity),s;function l(M){return t.opacity*M}function u(M){return M/2}var c;i&&(eje.hasColorscale(t,"marker")?c=eje.makeColorScaleFuncFromTrace(r):c=sv.identity);var f;a&&(f=EXt(t));var h;o&&(h=function(M){var T=rje(M)?+sv.constrain(M,0,1):0;return l(T)});var d=[];for(s=0;s850?s+=" Black":i>750?s+=" Extra Bold":i>650?s+=" Bold":i>550?s+=" Semi Bold":i>450?s+=" Medium":i>350?s+=" Regular":i>250?s+=" Light":i>150?s+=" Extra Light":s+=" Thin"):a.slice(0,2).join(" ")==="Open Sans"?(s="Open Sans",i>750?s+=" Extrabold":i>650?s+=" Bold":i>550?s+=" Semibold":i>350?s+=" Regular":s+=" Light"):a.slice(0,3).join(" ")==="Klokantech Noto Sans"&&(s="Klokantech Noto Sans",a[3]==="CJK"&&(s+=" CJK"),s+=i>500?" Bold":" Regular")),o&&(s+=" Italic"),s==="Open Sans Regular Italic"?s="Open Sans Italic":s==="Open Sans Regular Bold"?s="Open Sans Bold":s==="Open Sans Regular Bold Italic"?s="Open Sans Bold Italic":s==="Klokantech Noto Sans Regular Italic"&&(s="Klokantech Noto Sans Italic"),kXt(s)||(s=r);var l=s.split(", ");return l}});var uje=ye((wbr,lje)=>{"use strict";var FXt=Pr(),oje=aje(),D5=Ix().traceLayerPrefix,og={cluster:["cluster","clusterCount","circle"],nonCluster:["fill","line","circle","symbol"]};function sje(e,t,r,n){this.type="scattermap",this.subplot=e,this.uid=t,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:"source-"+t+"-fill",line:"source-"+t+"-line",circle:"source-"+t+"-circle",symbol:"source-"+t+"-symbol",cluster:"source-"+t+"-circle",clusterCount:"source-"+t+"-circle"},this.layerIds={fill:D5+t+"-fill",line:D5+t+"-line",circle:D5+t+"-circle",symbol:D5+t+"-symbol",cluster:D5+t+"-cluster",clusterCount:D5+t+"-cluster-count"},this.below=null}var iC=sje.prototype;iC.addSource=function(e,t,r){var n={type:"geojson",data:t.geojson};r&&r.enabled&&FXt.extendFlat(n,{cluster:!0,clusterMaxZoom:r.maxzoom});var i=this.subplot.map.getSource(this.sourceIds[e]);i?i.setData(t.geojson):this.subplot.map.addSource(this.sourceIds[e],n)};iC.setSourceData=function(e,t){this.subplot.map.getSource(this.sourceIds[e]).setData(t.geojson)};iC.addLayer=function(e,t,r){var n={type:t.type,id:this.layerIds[e],source:this.sourceIds[e],layout:t.layout,paint:t.paint};t.filter&&(n.filter=t.filter);for(var i=this.layerIds[e],a,o=this.subplot.getMapLayers(),s=0;s=0;L--){var x=T[L];i.removeLayer(u.layerIds[x])}M||i.removeSource(u.sourceIds.circle)}function h(M){for(var T=og.nonCluster,L=0;L=0;L--){var x=T[L];i.removeLayer(u.layerIds[x]),M||i.removeSource(u.sourceIds[x])}}function v(M){l?f(M):d(M)}function m(M){s?c(M):h(M)}function b(){for(var M=s?og.cluster:og.nonCluster,T=0;T=0;n--){var i=r[n];t.removeLayer(this.layerIds[i]),t.removeSource(this.sourceIds[i])}};lje.exports=function(t,r){var n=r[0].trace,i=n.cluster&&n.cluster.enabled,a=n.visible!==!0,o=new sje(t,n.uid,i,a),s=oje(t.gd,r),l=o.below=t.belowLookup["trace-"+n.uid],u,c,f;if(i)for(o.addSource("circle",s.circle,n.cluster),u=0;u{"use strict";var zXt=ef(),zJ=Pr(),qXt=yT(),OXt=zJ.fillText,BXt=fs().BADNUM,NXt=Ix().traceLayerPrefix;function UXt(e,t,r){var n=e.cd,i=n[0].trace,a=e.xa,o=e.ya,s=e.subplot,l=[],u=NXt+i.uid+"-circle",c=i.cluster&&i.cluster.enabled;if(c){var f=s.map.queryRenderedFeatures(null,{layers:[u]});l=f.map(function(S){return S.id})}var h=t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360),d=h*360,v=t-d;function m(S){var g=S.lonlat;if(g[0]===BXt||c&&l.indexOf(S.i+1)===-1)return 1/0;var P=zJ.modHalf(g[0],360),E=g[1],z=s.project([P,E]),q=z.x-a.c2p([v,E]),V=z.y-o.c2p([P,r]),G=Math.max(3,S.mrc||0);return Math.max(Math.sqrt(q*q+V*V)-G,1-3/G)}if(zXt.getClosest(n,m,e),e.index!==!1){var b=n[e.index],p=b.lonlat,k=[zJ.modHalf(p[0],360)+d,p[1]],M=a.c2p(k),T=o.c2p(k),L=b.mrc||1;e.x0=M-L,e.x1=M+L,e.y0=T-L,e.y1=T+L;var x={};x[i.subplot]={_subplot:s};var C=i._module.formatLabels(b,i,x);return e.lonLabel=C.lonLabel,e.latLabel=C.latLabel,e.color=qXt(i,b),e.extraText=cje(i,b,n[0].t.labels),e.hovertemplate=i.hovertemplate,[e]}}function cje(e,t,r){if(e.hovertemplate)return;var n=t.hi||e.hoverinfo,i=n.split("+"),a=i.indexOf("all")!==-1,o=i.indexOf("lon")!==-1,s=i.indexOf("lat")!==-1,l=t.lonlat,u=[];function c(f){return f+"\xB0"}return a||o&&s?u.push("("+c(l[1])+", "+c(l[0])+")"):o?u.push(r.lon+c(l[0])):s&&u.push(r.lat+c(l[1])),(a||i.indexOf("text")!==-1)&&OXt(t,e,u),u.join("
")}fje.exports={hoverPoints:UXt,getExtraText:cje}});var dje=ye((Abr,hje)=>{"use strict";hje.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t}});var pje=ye((Sbr,vje)=>{"use strict";var VXt=Pr(),GXt=Ru(),HXt=fs().BADNUM;vje.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l;if(!GXt.hasMarkers(s))return[];if(r===!1)for(l=0;l{(function(e,t){typeof qJ=="object"&&typeof OJ!="undefined"?OJ.exports=t():(e=typeof globalThis!="undefined"?globalThis:e||self,e.maplibregl=t())})(qJ,function(){"use strict";var e={},t={};function r(i,a,o){if(t[i]=o,i==="index"){var s="var sharedModule = {}; ("+t.shared+")(sharedModule); ("+t.worker+")(sharedModule);",l={};return t.shared(l),t.index(e,l),typeof window!="undefined"&&e.setWorkerUrl(window.URL.createObjectURL(new Blob([s],{type:"text/javascript"}))),e}}r("shared",["exports"],function(i){"use strict";function a(R,A,F,W){return new(F||(F=Promise))(function(te,fe){function pe(ft){try{Ke(W.next(ft))}catch(Rt){fe(Rt)}}function Re(ft){try{Ke(W.throw(ft))}catch(Rt){fe(Rt)}}function Ke(ft){var Rt;ft.done?te(ft.value):(Rt=ft.value,Rt instanceof F?Rt:new F(function(er){er(Rt)})).then(pe,Re)}Ke((W=W.apply(R,A||[])).next())})}function o(R){return R&&R.__esModule&&Object.prototype.hasOwnProperty.call(R,"default")?R.default:R}typeof SuppressedError=="function"&&SuppressedError;var s=l;function l(R,A){this.x=R,this.y=A}l.prototype={clone:function(){return new l(this.x,this.y)},add:function(R){return this.clone()._add(R)},sub:function(R){return this.clone()._sub(R)},multByPoint:function(R){return this.clone()._multByPoint(R)},divByPoint:function(R){return this.clone()._divByPoint(R)},mult:function(R){return this.clone()._mult(R)},div:function(R){return this.clone()._div(R)},rotate:function(R){return this.clone()._rotate(R)},rotateAround:function(R,A){return this.clone()._rotateAround(R,A)},matMult:function(R){return this.clone()._matMult(R)},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(R){return this.x===R.x&&this.y===R.y},dist:function(R){return Math.sqrt(this.distSqr(R))},distSqr:function(R){var A=R.x-this.x,F=R.y-this.y;return A*A+F*F},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(R){return Math.atan2(this.y-R.y,this.x-R.x)},angleWith:function(R){return this.angleWithSep(R.x,R.y)},angleWithSep:function(R,A){return Math.atan2(this.x*A-this.y*R,this.x*R+this.y*A)},_matMult:function(R){var A=R[2]*this.x+R[3]*this.y;return this.x=R[0]*this.x+R[1]*this.y,this.y=A,this},_add:function(R){return this.x+=R.x,this.y+=R.y,this},_sub:function(R){return this.x-=R.x,this.y-=R.y,this},_mult:function(R){return this.x*=R,this.y*=R,this},_div:function(R){return this.x/=R,this.y/=R,this},_multByPoint:function(R){return this.x*=R.x,this.y*=R.y,this},_divByPoint:function(R){return this.x/=R.x,this.y/=R.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var R=this.y;return this.y=this.x,this.x=-R,this},_rotate:function(R){var A=Math.cos(R),F=Math.sin(R),W=F*this.x+A*this.y;return this.x=A*this.x-F*this.y,this.y=W,this},_rotateAround:function(R,A){var F=Math.cos(R),W=Math.sin(R),te=A.y+W*(this.x-A.x)+F*(this.y-A.y);return this.x=A.x+F*(this.x-A.x)-W*(this.y-A.y),this.y=te,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},l.convert=function(R){return R instanceof l?R:Array.isArray(R)?new l(R[0],R[1]):R};var u=o(s),c=f;function f(R,A,F,W){this.cx=3*R,this.bx=3*(F-R)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*A,this.by=3*(W-A)-this.cy,this.ay=1-this.cy-this.by,this.p1x=R,this.p1y=A,this.p2x=F,this.p2y=W}f.prototype={sampleCurveX:function(R){return((this.ax*R+this.bx)*R+this.cx)*R},sampleCurveY:function(R){return((this.ay*R+this.by)*R+this.cy)*R},sampleCurveDerivativeX:function(R){return(3*this.ax*R+2*this.bx)*R+this.cx},solveCurveX:function(R,A){if(A===void 0&&(A=1e-6),R<0)return 0;if(R>1)return 1;for(var F=R,W=0;W<8;W++){var te=this.sampleCurveX(F)-R;if(Math.abs(te)te?pe=F:Re=F,F=.5*(Re-pe)+pe;return F},solve:function(R,A){return this.sampleCurveY(this.solveCurveX(R,A))}};var h=o(c);let d,v;function m(){return d==null&&(d=typeof OffscreenCanvas!="undefined"&&new OffscreenCanvas(1,1).getContext("2d")&&typeof createImageBitmap=="function"),d}function b(){if(v==null&&(v=!1,m())){let A=new OffscreenCanvas(5,5).getContext("2d",{willReadFrequently:!0});if(A){for(let W=0;W<5*5;W++){let te=4*W;A.fillStyle=`rgb(${te},${te+1},${te+2})`,A.fillRect(W%5,Math.floor(W/5),1,1)}let F=A.getImageData(0,0,5,5).data;for(let W=0;W<5*5*4;W++)if(W%4!=3&&F[W]!==W){v=!0;break}}}return v||!1}function p(R,A,F,W){let te=new h(R,A,F,W);return fe=>te.solve(fe)}let k=p(.25,.1,.25,1);function M(R,A,F){return Math.min(F,Math.max(A,R))}function T(R,A,F){let W=F-A,te=((R-A)%W+W)%W+A;return te===A?F:te}function L(R,...A){for(let F of A)for(let W in F)R[W]=F[W];return R}let x=1;function C(R,A,F){let W={};for(let te in R)W[te]=A.call(this,R[te],te,R);return W}function S(R,A,F){let W={};for(let te in R)A.call(this,R[te],te,R)&&(W[te]=R[te]);return W}function g(R){return Array.isArray(R)?R.map(g):typeof R=="object"&&R?C(R,g):R}let P={};function E(R){P[R]||(typeof console!="undefined"&&console.warn(R),P[R]=!0)}function z(R,A,F){return(F.y-R.y)*(A.x-R.x)>(A.y-R.y)*(F.x-R.x)}function q(R){return typeof WorkerGlobalScope!="undefined"&&R!==void 0&&R instanceof WorkerGlobalScope}let V=null;function G(R){return typeof ImageBitmap!="undefined"&&R instanceof ImageBitmap}let Z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";function j(R,A,F,W,te){return a(this,void 0,void 0,function*(){if(typeof VideoFrame=="undefined")throw new Error("VideoFrame not supported");let fe=new VideoFrame(R,{timestamp:0});try{let pe=fe==null?void 0:fe.format;if(!pe||!pe.startsWith("BGR")&&!pe.startsWith("RGB"))throw new Error(`Unrecognized format ${pe}`);let Re=pe.startsWith("BGR"),Ke=new Uint8ClampedArray(W*te*4);if(yield fe.copyTo(Ke,function(ft,Rt,er,ur,vr){let kr=4*Math.max(-Rt,0),Dr=(Math.max(0,er)-er)*ur*4+kr,li=4*ur,pi=Math.max(0,Rt),vn=Math.max(0,er);return{rect:{x:pi,y:vn,width:Math.min(ft.width,Rt+ur)-pi,height:Math.min(ft.height,er+vr)-vn},layout:[{offset:Dr,stride:li}]}}(R,A,F,W,te)),Re)for(let ft=0;ftq(self)?self.worker&&self.worker.referrer:(window.location.protocol==="blob:"?window.parent:window).location.href,Se=function(R,A){if(/:\/\//.test(R.url)&&!/^https?:|^file:/.test(R.url)){let W=Ee(R.url);if(W)return W(R,A);if(q(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:R,targetMapId:Ce},A)}if(!(/^file:/.test(F=R.url)||/^file:/.test(re())&&!/^\w+:/.test(F))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return function(W,te){return a(this,void 0,void 0,function*(){let fe=new Request(W.url,{method:W.method||"GET",body:W.body,credentials:W.credentials,headers:W.headers,cache:W.cache,referrer:re(),signal:te.signal});W.type!=="json"||fe.headers.has("Accept")||fe.headers.set("Accept","application/json");let pe=yield fetch(fe);if(!pe.ok){let ft=yield pe.blob();throw new ge(pe.status,pe.statusText,W.url,ft)}let Re;Re=W.type==="arrayBuffer"||W.type==="image"?pe.arrayBuffer():W.type==="json"?pe.json():pe.text();let Ke=yield Re;if(te.signal.aborted)throw ae();return{data:Ke,cacheControl:pe.headers.get("Cache-Control"),expires:pe.headers.get("Expires")}})}(R,A);if(q(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:R,mustQueue:!0,targetMapId:Ce},A)}var F;return function(W,te){return new Promise((fe,pe)=>{var Re;let Ke=new XMLHttpRequest;Ke.open(W.method||"GET",W.url,!0),W.type!=="arrayBuffer"&&W.type!=="image"||(Ke.responseType="arraybuffer");for(let ft in W.headers)Ke.setRequestHeader(ft,W.headers[ft]);W.type==="json"&&(Ke.responseType="text",!((Re=W.headers)===null||Re===void 0)&&Re.Accept||Ke.setRequestHeader("Accept","application/json")),Ke.withCredentials=W.credentials==="include",Ke.onerror=()=>{pe(new Error(Ke.statusText))},Ke.onload=()=>{if(!te.signal.aborted)if((Ke.status>=200&&Ke.status<300||Ke.status===0)&&Ke.response!==null){let ft=Ke.response;if(W.type==="json")try{ft=JSON.parse(Ke.response)}catch(Rt){return void pe(Rt)}fe({data:ft,cacheControl:Ke.getResponseHeader("Cache-Control"),expires:Ke.getResponseHeader("Expires")})}else{let ft=new Blob([Ke.response],{type:Ke.getResponseHeader("Content-Type")});pe(new ge(Ke.status,Ke.statusText,W.url,ft))}},te.signal.addEventListener("abort",()=>{Ke.abort(),pe(ae())}),Ke.send(W.body)})}(R,A)};function ke(R){if(!R||R.indexOf("://")<=0||R.indexOf("data:image/")===0||R.indexOf("blob:")===0)return!0;let A=new URL(R),F=window.location;return A.protocol===F.protocol&&A.host===F.host}function be(R,A,F){F[R]&&F[R].indexOf(A)!==-1||(F[R]=F[R]||[],F[R].push(A))}function Be(R,A,F){if(F&&F[R]){let W=F[R].indexOf(A);W!==-1&&F[R].splice(W,1)}}class Le{constructor(A,F={}){L(this,F),this.type=A}}class me extends Le{constructor(A,F={}){super("error",L({error:A},F))}}class Pe{on(A,F){return this._listeners=this._listeners||{},be(A,F,this._listeners),this}off(A,F){return Be(A,F,this._listeners),Be(A,F,this._oneTimeListeners),this}once(A,F){return F?(this._oneTimeListeners=this._oneTimeListeners||{},be(A,F,this._oneTimeListeners),this):new Promise(W=>this.once(A,W))}fire(A,F){typeof A=="string"&&(A=new Le(A,F||{}));let W=A.type;if(this.listens(W)){A.target=this;let te=this._listeners&&this._listeners[W]?this._listeners[W].slice():[];for(let Re of te)Re.call(this,A);let fe=this._oneTimeListeners&&this._oneTimeListeners[W]?this._oneTimeListeners[W].slice():[];for(let Re of fe)Be(W,Re,this._oneTimeListeners),Re.call(this,A);let pe=this._eventedParent;pe&&(L(A,typeof this._eventedParentData=="function"?this._eventedParentData():this._eventedParentData),pe.fire(A))}else A instanceof me&&console.error(A.error);return this}listens(A){return this._listeners&&this._listeners[A]&&this._listeners[A].length>0||this._oneTimeListeners&&this._oneTimeListeners[A]&&this._oneTimeListeners[A].length>0||this._eventedParent&&this._eventedParent.listens(A)}setEventedParent(A,F){return this._eventedParent=A,this._eventedParentData=F,this}}var ce={$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 He=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function lt(R,A){let F={};for(let W in R)W!=="ref"&&(F[W]=R[W]);return He.forEach(W=>{W in A&&(F[W]=A[W])}),F}function mt(R,A){if(Array.isArray(R)){if(!Array.isArray(A)||R.length!==A.length)return!1;for(let F=0;F`:R.itemType.kind==="value"?"array":`array<${A}>`}return R.kind}let We=[Tt,dt,Et,pt,jt,ei,or,Ge(mr),qr,jr,gt];function et(R,A){if(A.kind==="error")return null;if(R.kind==="array"){if(A.kind==="array"&&(A.N===0&&A.itemType.kind==="value"||!et(R.itemType,A.itemType))&&(typeof R.N!="number"||R.N===A.N))return null}else{if(R.kind===A.kind)return null;if(R.kind==="value"){for(let F of We)if(!et(F,A))return null}}return`Expected ${Je(R)} but found ${Je(A)} instead.`}function xt(R,A){return A.some(F=>F.kind===R.kind)}function At(R,A){return A.some(F=>F==="null"?R===null:F==="array"?Array.isArray(R):F==="object"?R&&!Array.isArray(R)&&typeof R=="object":F===typeof R)}function Kt(R,A){return R.kind==="array"&&A.kind==="array"?R.itemType.kind===A.itemType.kind&&typeof R.N=="number":R.kind===A.kind}let Qt=.96422,Mr=.82521,Gr=4/29,Ir=6/29,Yr=3*Ir*Ir,_i=Ir*Ir*Ir,Pi=Math.PI/180,ai=180/Math.PI;function mi(R){return(R%=360)<0&&(R+=360),R}function un([R,A,F,W]){let te,fe,pe=An((.2225045*(R=Fn(R))+.7168786*(A=Fn(A))+.0606169*(F=Fn(F)))/1);R===A&&A===F?te=fe=pe:(te=An((.4360747*R+.3850649*A+.1430804*F)/Qt),fe=An((.0139322*R+.0971045*A+.7141733*F)/Mr));let Re=116*pe-16;return[Re<0?0:Re,500*(te-pe),200*(pe-fe),W]}function Fn(R){return R<=.04045?R/12.92:Math.pow((R+.055)/1.055,2.4)}function An(R){return R>_i?Math.pow(R,1/3):R/Yr+Gr}function Hn([R,A,F,W]){let te=(R+16)/116,fe=isNaN(A)?te:te+A/500,pe=isNaN(F)?te:te-F/200;return te=1*Vi(te),fe=Qt*Vi(fe),pe=Mr*Vi(pe),[Qn(3.1338561*fe-1.6168667*te-.4906146*pe),Qn(-.9787684*fe+1.9161415*te+.033454*pe),Qn(.0719453*fe-.2289914*te+1.4052427*pe),W]}function Qn(R){return(R=R<=.00304?12.92*R:1.055*Math.pow(R,1/2.4)-.055)<0?0:R>1?1:R}function Vi(R){return R>Ir?R*R*R:Yr*(R-Gr)}function Kn(R){return parseInt(R.padEnd(2,R),16)/255}function Jn(R,A){return Gt(A?R/100:R,0,1)}function Gt(R,A,F){return Math.min(Math.max(A,R),F)}function wt(R){return!R.some(Number.isNaN)}let tr={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 ir{constructor(A,F,W,te=1,fe=!0){this.r=A,this.g=F,this.b=W,this.a=te,fe||(this.r*=te,this.g*=te,this.b*=te,te||this.overwriteGetter("rgb",[A,F,W,te]))}static parse(A){if(A instanceof ir)return A;if(typeof A!="string")return;let F=function(W){if((W=W.toLowerCase().trim())==="transparent")return[0,0,0,0];let te=tr[W];if(te){let[pe,Re,Ke]=te;return[pe/255,Re/255,Ke/255,1]}if(W.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(W)){let pe=W.length<6?1:2,Re=1;return[Kn(W.slice(Re,Re+=pe)),Kn(W.slice(Re,Re+=pe)),Kn(W.slice(Re,Re+=pe)),Kn(W.slice(Re,Re+pe)||"ff")]}if(W.startsWith("rgb")){let pe=W.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(pe){let[Re,Ke,ft,Rt,er,ur,vr,kr,Dr,li,pi,vn]=pe,zi=[Rt||" ",vr||" ",li].join("");if(zi===" "||zi===" /"||zi===",,"||zi===",,,"){let ln=[ft,ur,Dr].join(""),Tn=ln==="%%%"?100:ln===""?255:0;if(Tn){let pa=[Gt(+Ke/Tn,0,1),Gt(+er/Tn,0,1),Gt(+kr/Tn,0,1),pi?Jn(+pi,vn):1];if(wt(pa))return pa}}return}}let fe=W.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(fe){let[pe,Re,Ke,ft,Rt,er,ur,vr,kr]=fe,Dr=[Ke||" ",Rt||" ",ur].join("");if(Dr===" "||Dr===" /"||Dr===",,"||Dr===",,,"){let li=[+Re,Gt(+ft,0,100),Gt(+er,0,100),vr?Jn(+vr,kr):1];if(wt(li))return function([pi,vn,zi,ln]){function Tn(pa){let ro=(pa+pi/30)%12,Vo=vn*Math.min(zi,1-zi);return zi-Vo*Math.max(-1,Math.min(ro-3,9-ro,1))}return pi=mi(pi),vn/=100,zi/=100,[Tn(0),Tn(8),Tn(4),ln]}(li)}}}(A);return F?new ir(...F,!1):void 0}get rgb(){let{r:A,g:F,b:W,a:te}=this,fe=te||1/0;return this.overwriteGetter("rgb",[A/fe,F/fe,W/fe,te])}get hcl(){return this.overwriteGetter("hcl",function(A){let[F,W,te,fe]=un(A),pe=Math.sqrt(W*W+te*te);return[Math.round(1e4*pe)?mi(Math.atan2(te,W)*ai):NaN,pe,F,fe]}(this.rgb))}get lab(){return this.overwriteGetter("lab",un(this.rgb))}overwriteGetter(A,F){return Object.defineProperty(this,A,{value:F}),F}toString(){let[A,F,W,te]=this.rgb;return`rgba(${[A,F,W].map(fe=>Math.round(255*fe)).join(",")},${te})`}}ir.black=new ir(0,0,0,1),ir.white=new ir(1,1,1,1),ir.transparent=new ir(0,0,0,0),ir.red=new ir(1,0,0,1);class wr{constructor(A,F,W){this.sensitivity=A?F?"variant":"case":F?"accent":"base",this.locale=W,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(A,F){return this.collator.compare(A,F)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Xr{constructor(A,F,W,te,fe){this.text=A,this.image=F,this.scale=W,this.fontStack=te,this.textColor=fe}}class ti{constructor(A){this.sections=A}static fromString(A){return new ti([new Xr(A,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(A=>A.text.length!==0||A.image&&A.image.name.length!==0)}static factory(A){return A instanceof ti?A:ti.fromString(A)}toString(){return this.sections.length===0?"":this.sections.map(A=>A.text).join("")}}class $r{constructor(A){this.values=A.slice()}static parse(A){if(A instanceof $r)return A;if(typeof A=="number")return new $r([A,A,A,A]);if(Array.isArray(A)&&!(A.length<1||A.length>4)){for(let F of A)if(typeof F!="number")return;switch(A.length){case 1:A=[A[0],A[0],A[0],A[0]];break;case 2:A=[A[0],A[1],A[0],A[1]];break;case 3:A=[A[0],A[1],A[2],A[1]]}return new $r(A)}}toString(){return JSON.stringify(this.values)}}let Ri=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);class Zi{constructor(A){this.values=A.slice()}static parse(A){if(A instanceof Zi)return A;if(Array.isArray(A)&&!(A.length<1)&&A.length%2==0){for(let F=0;F=0&&R<=255&&typeof A=="number"&&A>=0&&A<=255&&typeof F=="number"&&F>=0&&F<=255?W===void 0||typeof W=="number"&&W>=0&&W<=1?null:`Invalid rgba value [${[R,A,F,W].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof W=="number"?[R,A,F,W]:[R,A,F]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function yn(R){if(R===null||typeof R=="string"||typeof R=="boolean"||typeof R=="number"||R instanceof ir||R instanceof wr||R instanceof ti||R instanceof $r||R instanceof Zi||R instanceof en)return!0;if(Array.isArray(R)){for(let A of R)if(!yn(A))return!1;return!0}if(typeof R=="object"){for(let A in R)if(!yn(R[A]))return!1;return!0}return!1}function Mn(R){if(R===null)return Tt;if(typeof R=="string")return Et;if(typeof R=="boolean")return pt;if(typeof R=="number")return dt;if(R instanceof ir)return jt;if(R instanceof wr)return Ar;if(R instanceof ti)return ei;if(R instanceof $r)return qr;if(R instanceof Zi)return gt;if(R instanceof en)return jr;if(Array.isArray(R)){let A=R.length,F;for(let W of R){let te=Mn(W);if(F){if(F===te)continue;F=mr;break}F=te}return Ge(F||mr,A)}return or}function Ba(R){let A=typeof R;return R===null?"":A==="string"||A==="number"||A==="boolean"?String(R):R instanceof ir||R instanceof ti||R instanceof $r||R instanceof Zi||R instanceof en?R.toString():JSON.stringify(R)}class ua{constructor(A,F){this.type=A,this.value=F}static parse(A,F){if(A.length!==2)return F.error(`'literal' expression requires exactly one argument, but found ${A.length-1} instead.`);if(!yn(A[1]))return F.error("invalid value");let W=A[1],te=Mn(W),fe=F.expectedType;return te.kind!=="array"||te.N!==0||!fe||fe.kind!=="array"||typeof fe.N=="number"&&fe.N!==0||(te=fe),new ua(te,W)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class ma{constructor(A){this.name="ExpressionEvaluationError",this.message=A}toJSON(){return this.message}}let Wa={string:Et,number:dt,boolean:pt,object:or};class Fa{constructor(A,F){this.type=A,this.args=F}static parse(A,F){if(A.length<2)return F.error("Expected at least one argument.");let W,te=1,fe=A[0];if(fe==="array"){let Re,Ke;if(A.length>2){let ft=A[1];if(typeof ft!="string"||!(ft in Wa)||ft==="object")return F.error('The item type argument of "array" must be one of string, number, boolean',1);Re=Wa[ft],te++}else Re=mr;if(A.length>3){if(A[2]!==null&&(typeof A[2]!="number"||A[2]<0||A[2]!==Math.floor(A[2])))return F.error('The length argument to "array" must be a positive integer literal',2);Ke=A[2],te++}W=Ge(Re,Ke)}else{if(!Wa[fe])throw new Error(`Types doesn't contain name = ${fe}`);W=Wa[fe]}let pe=[];for(;teA.outputDefined())}}let Xo={"to-boolean":pt,"to-color":jt,"to-number":dt,"to-string":Et};class da{constructor(A,F){this.type=A,this.args=F}static parse(A,F){if(A.length<2)return F.error("Expected at least one argument.");let W=A[0];if(!Xo[W])throw new Error(`Can't parse ${W} as it is not part of the known types`);if((W==="to-boolean"||W==="to-string")&&A.length!==2)return F.error("Expected one argument.");let te=Xo[W],fe=[];for(let pe=1;pe4?`Invalid rbga value ${JSON.stringify(F)}: expected an array containing either three or four numeric values.`:fn(F[0],F[1],F[2],F[3]),!W))return new ir(F[0]/255,F[1]/255,F[2]/255,F[3])}throw new ma(W||`Could not parse color from value '${typeof F=="string"?F:JSON.stringify(F)}'`)}case"padding":{let F;for(let W of this.args){F=W.evaluate(A);let te=$r.parse(F);if(te)return te}throw new ma(`Could not parse padding from value '${typeof F=="string"?F:JSON.stringify(F)}'`)}case"variableAnchorOffsetCollection":{let F;for(let W of this.args){F=W.evaluate(A);let te=Zi.parse(F);if(te)return te}throw new ma(`Could not parse variableAnchorOffsetCollection from value '${typeof F=="string"?F:JSON.stringify(F)}'`)}case"number":{let F=null;for(let W of this.args){if(F=W.evaluate(A),F===null)return 0;let te=Number(F);if(!isNaN(te))return te}throw new ma(`Could not convert ${JSON.stringify(F)} to number.`)}case"formatted":return ti.fromString(Ba(this.args[0].evaluate(A)));case"resolvedImage":return en.fromString(Ba(this.args[0].evaluate(A)));default:return Ba(this.args[0].evaluate(A))}}eachChild(A){this.args.forEach(A)}outputDefined(){return this.args.every(A=>A.outputDefined())}}let jn=["Unknown","Point","LineString","Polygon"];class Ha{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"?jn[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(A){let F=this._parseColorCache[A];return F||(F=this._parseColorCache[A]=ir.parse(A)),F}}class vo{constructor(A,F,W=[],te,fe=new St,pe=[]){this.registry=A,this.path=W,this.key=W.map(Re=>`[${Re}]`).join(""),this.scope=fe,this.errors=pe,this.expectedType=te,this._isConstant=F}parse(A,F,W,te,fe={}){return F?this.concat(F,W,te)._parse(A,fe):this._parse(A,fe)}_parse(A,F){function W(te,fe,pe){return pe==="assert"?new Fa(fe,[te]):pe==="coerce"?new da(fe,[te]):te}if(A!==null&&typeof A!="string"&&typeof A!="boolean"&&typeof A!="number"||(A=["literal",A]),Array.isArray(A)){if(A.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');let te=A[0];if(typeof te!="string")return this.error(`Expression name must be a string, but found ${typeof te} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;let fe=this.registry[te];if(fe){let pe=fe.parse(A,this);if(!pe)return null;if(this.expectedType){let Re=this.expectedType,Ke=pe.type;if(Re.kind!=="string"&&Re.kind!=="number"&&Re.kind!=="boolean"&&Re.kind!=="object"&&Re.kind!=="array"||Ke.kind!=="value")if(Re.kind!=="color"&&Re.kind!=="formatted"&&Re.kind!=="resolvedImage"||Ke.kind!=="value"&&Ke.kind!=="string")if(Re.kind!=="padding"||Ke.kind!=="value"&&Ke.kind!=="number"&&Ke.kind!=="array")if(Re.kind!=="variableAnchorOffsetCollection"||Ke.kind!=="value"&&Ke.kind!=="array"){if(this.checkSubtype(Re,Ke))return null}else pe=W(pe,Re,F.typeAnnotation||"coerce");else pe=W(pe,Re,F.typeAnnotation||"coerce");else pe=W(pe,Re,F.typeAnnotation||"coerce");else pe=W(pe,Re,F.typeAnnotation||"assert")}if(!(pe instanceof ua)&&pe.type.kind!=="resolvedImage"&&this._isConstant(pe)){let Re=new Ha;try{pe=new ua(pe.type,pe.evaluate(Re))}catch(Ke){return this.error(Ke.message),null}}return pe}return this.error(`Unknown expression "${te}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(A===void 0?"'undefined' value invalid. Use null instead.":typeof A=="object"?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof A} instead.`)}concat(A,F,W){let te=typeof A=="number"?this.path.concat(A):this.path,fe=W?this.scope.concat(W):this.scope;return new vo(this.registry,this._isConstant,te,F||null,fe,this.errors)}error(A,...F){let W=`${this.key}${F.map(te=>`[${te}]`).join("")}`;this.errors.push(new rt(W,A))}checkSubtype(A,F){let W=et(A,F);return W&&this.error(W),W}}class Gn{constructor(A,F){this.type=F.type,this.bindings=[].concat(A),this.result=F}evaluate(A){return this.result.evaluate(A)}eachChild(A){for(let F of this.bindings)A(F[1]);A(this.result)}static parse(A,F){if(A.length<4)return F.error(`Expected at least 3 arguments, but found ${A.length-1} instead.`);let W=[];for(let fe=1;fe=W.length)throw new ma(`Array index out of bounds: ${F} > ${W.length-1}.`);if(F!==Math.floor(F))throw new ma(`Array index must be an integer, but found ${F} instead.`);return W[F]}eachChild(A){A(this.index),A(this.input)}outputDefined(){return!1}}class Jr{constructor(A,F){this.type=pt,this.needle=A,this.haystack=F}static parse(A,F){if(A.length!==3)return F.error(`Expected 2 arguments, but found ${A.length-1} instead.`);let W=F.parse(A[1],1,mr),te=F.parse(A[2],2,mr);return W&&te?xt(W.type,[pt,Et,dt,Tt,mr])?new Jr(W,te):F.error(`Expected first argument to be of type boolean, string, number or null, but found ${Je(W.type)} instead`):null}evaluate(A){let F=this.needle.evaluate(A),W=this.haystack.evaluate(A);if(!W)return!1;if(!At(F,["boolean","string","number","null"]))throw new ma(`Expected first argument to be of type boolean, string, number or null, but found ${Je(Mn(F))} instead.`);if(!At(W,["string","array"]))throw new ma(`Expected second argument to be of type array or string, but found ${Je(Mn(W))} instead.`);return W.indexOf(F)>=0}eachChild(A){A(this.needle),A(this.haystack)}outputDefined(){return!0}}class hi{constructor(A,F,W){this.type=dt,this.needle=A,this.haystack=F,this.fromIndex=W}static parse(A,F){if(A.length<=2||A.length>=5)return F.error(`Expected 3 or 4 arguments, but found ${A.length-1} instead.`);let W=F.parse(A[1],1,mr),te=F.parse(A[2],2,mr);if(!W||!te)return null;if(!xt(W.type,[pt,Et,dt,Tt,mr]))return F.error(`Expected first argument to be of type boolean, string, number or null, but found ${Je(W.type)} instead`);if(A.length===4){let fe=F.parse(A[3],3,dt);return fe?new hi(W,te,fe):null}return new hi(W,te)}evaluate(A){let F=this.needle.evaluate(A),W=this.haystack.evaluate(A);if(!At(F,["boolean","string","number","null"]))throw new ma(`Expected first argument to be of type boolean, string, number or null, but found ${Je(Mn(F))} instead.`);let te;if(this.fromIndex&&(te=this.fromIndex.evaluate(A)),At(W,["string"])){let fe=W.indexOf(F,te);return fe===-1?-1:[...W.slice(0,fe)].length}if(At(W,["array"]))return W.indexOf(F,te);throw new ma(`Expected second argument to be of type array or string, but found ${Je(Mn(W))} instead.`)}eachChild(A){A(this.needle),A(this.haystack),this.fromIndex&&A(this.fromIndex)}outputDefined(){return!1}}class hn{constructor(A,F,W,te,fe,pe){this.inputType=A,this.type=F,this.input=W,this.cases=te,this.outputs=fe,this.otherwise=pe}static parse(A,F){if(A.length<5)return F.error(`Expected at least 4 arguments, but found only ${A.length-1}.`);if(A.length%2!=1)return F.error("Expected an even number of arguments.");let W,te;F.expectedType&&F.expectedType.kind!=="value"&&(te=F.expectedType);let fe={},pe=[];for(let ft=2;ftNumber.MAX_SAFE_INTEGER)return ur.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof kr=="number"&&Math.floor(kr)!==kr)return ur.error("Numeric branch labels must be integer values.");if(W){if(ur.checkSubtype(W,Mn(kr)))return null}else W=Mn(kr);if(fe[String(kr)]!==void 0)return ur.error("Branch labels must be unique.");fe[String(kr)]=pe.length}let vr=F.parse(er,ft,te);if(!vr)return null;te=te||vr.type,pe.push(vr)}let Re=F.parse(A[1],1,mr);if(!Re)return null;let Ke=F.parse(A[A.length-1],A.length-1,te);return Ke?Re.type.kind!=="value"&&F.concat(1).checkSubtype(W,Re.type)?null:new hn(W,te,Re,fe,pe,Ke):null}evaluate(A){let F=this.input.evaluate(A);return(Mn(F)===this.inputType&&this.outputs[this.cases[F]]||this.otherwise).evaluate(A)}eachChild(A){A(this.input),this.outputs.forEach(A),A(this.otherwise)}outputDefined(){return this.outputs.every(A=>A.outputDefined())&&this.otherwise.outputDefined()}}class Sn{constructor(A,F,W){this.type=A,this.branches=F,this.otherwise=W}static parse(A,F){if(A.length<4)return F.error(`Expected at least 3 arguments, but found only ${A.length-1}.`);if(A.length%2!=0)return F.error("Expected an odd number of arguments.");let W;F.expectedType&&F.expectedType.kind!=="value"&&(W=F.expectedType);let te=[];for(let pe=1;peF.outputDefined())&&this.otherwise.outputDefined()}}class En{constructor(A,F,W,te){this.type=A,this.input=F,this.beginIndex=W,this.endIndex=te}static parse(A,F){if(A.length<=2||A.length>=5)return F.error(`Expected 3 or 4 arguments, but found ${A.length-1} instead.`);let W=F.parse(A[1],1,mr),te=F.parse(A[2],2,dt);if(!W||!te)return null;if(!xt(W.type,[Ge(mr),Et,mr]))return F.error(`Expected first argument to be of type array or string, but found ${Je(W.type)} instead`);if(A.length===4){let fe=F.parse(A[3],3,dt);return fe?new En(W.type,W,te,fe):null}return new En(W.type,W,te)}evaluate(A){let F=this.input.evaluate(A),W=this.beginIndex.evaluate(A),te;if(this.endIndex&&(te=this.endIndex.evaluate(A)),At(F,["string"]))return[...F].slice(W,te).join("");if(At(F,["array"]))return F.slice(W,te);throw new ma(`Expected first argument to be of type array or string, but found ${Je(Mn(F))} instead.`)}eachChild(A){A(this.input),A(this.beginIndex),this.endIndex&&A(this.endIndex)}outputDefined(){return!1}}function ki(R,A){let F=R.length-1,W,te,fe=0,pe=F,Re=0;for(;fe<=pe;)if(Re=Math.floor((fe+pe)/2),W=R[Re],te=R[Re+1],W<=A){if(Re===F||AA))throw new ma("Input is not a number.");pe=Re-1}return 0}class _n{constructor(A,F,W){this.type=A,this.input=F,this.labels=[],this.outputs=[];for(let[te,fe]of W)this.labels.push(te),this.outputs.push(fe)}static parse(A,F){if(A.length-1<4)return F.error(`Expected at least 4 arguments, but found only ${A.length-1}.`);if((A.length-1)%2!=0)return F.error("Expected an even number of arguments.");let W=F.parse(A[1],1,dt);if(!W)return null;let te=[],fe=null;F.expectedType&&F.expectedType.kind!=="value"&&(fe=F.expectedType);for(let pe=1;pe=Re)return F.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',ft);let er=F.parse(Ke,Rt,fe);if(!er)return null;fe=fe||er.type,te.push([Re,er])}return new _n(fe,W,te)}evaluate(A){let F=this.labels,W=this.outputs;if(F.length===1)return W[0].evaluate(A);let te=this.input.evaluate(A);if(te<=F[0])return W[0].evaluate(A);let fe=F.length;return te>=F[fe-1]?W[fe-1].evaluate(A):W[ki(F,te)].evaluate(A)}eachChild(A){A(this.input);for(let F of this.outputs)A(F)}outputDefined(){return this.outputs.every(A=>A.outputDefined())}}function ya(R){return R&&R.__esModule&&Object.prototype.hasOwnProperty.call(R,"default")?R.default:R}var ea=Ma;function Ma(R,A,F,W){this.cx=3*R,this.bx=3*(F-R)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*A,this.by=3*(W-A)-this.cy,this.ay=1-this.cy-this.by,this.p1x=R,this.p1y=A,this.p2x=F,this.p2y=W}Ma.prototype={sampleCurveX:function(R){return((this.ax*R+this.bx)*R+this.cx)*R},sampleCurveY:function(R){return((this.ay*R+this.by)*R+this.cy)*R},sampleCurveDerivativeX:function(R){return(3*this.ax*R+2*this.bx)*R+this.cx},solveCurveX:function(R,A){if(A===void 0&&(A=1e-6),R<0)return 0;if(R>1)return 1;for(var F=R,W=0;W<8;W++){var te=this.sampleCurveX(F)-R;if(Math.abs(te)te?pe=F:Re=F,F=.5*(Re-pe)+pe;return F},solve:function(R,A){return this.sampleCurveY(this.solveCurveX(R,A))}};var _o=ya(ea);function No(R,A,F){return R+F*(A-R)}function po(R,A,F){return R.map((W,te)=>No(W,A[te],F))}let Lo={number:No,color:function(R,A,F,W="rgb"){switch(W){case"rgb":{let[te,fe,pe,Re]=po(R.rgb,A.rgb,F);return new ir(te,fe,pe,Re,!1)}case"hcl":{let[te,fe,pe,Re]=R.hcl,[Ke,ft,Rt,er]=A.hcl,ur,vr;if(isNaN(te)||isNaN(Ke))isNaN(te)?isNaN(Ke)?ur=NaN:(ur=Ke,pe!==1&&pe!==0||(vr=ft)):(ur=te,Rt!==1&&Rt!==0||(vr=fe));else{let vn=Ke-te;Ke>te&&vn>180?vn-=360:Ke180&&(vn+=360),ur=te+F*vn}let[kr,Dr,li,pi]=function([vn,zi,ln,Tn]){return vn=isNaN(vn)?0:vn*Pi,Hn([ln,Math.cos(vn)*zi,Math.sin(vn)*zi,Tn])}([ur,vr!=null?vr:No(fe,ft,F),No(pe,Rt,F),No(Re,er,F)]);return new ir(kr,Dr,li,pi,!1)}case"lab":{let[te,fe,pe,Re]=Hn(po(R.lab,A.lab,F));return new ir(te,fe,pe,Re,!1)}}},array:po,padding:function(R,A,F){return new $r(po(R.values,A.values,F))},variableAnchorOffsetCollection:function(R,A,F){let W=R.values,te=A.values;if(W.length!==te.length)throw new ma(`Cannot interpolate values of different length. from: ${R.toString()}, to: ${A.toString()}`);let fe=[];for(let pe=0;petypeof Rt!="number"||Rt<0||Rt>1))return F.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);te={name:"cubic-bezier",controlPoints:ft}}}if(A.length-1<4)return F.error(`Expected at least 4 arguments, but found only ${A.length-1}.`);if((A.length-1)%2!=0)return F.error("Expected an even number of arguments.");if(fe=F.parse(fe,2,dt),!fe)return null;let Re=[],Ke=null;W==="interpolate-hcl"||W==="interpolate-lab"?Ke=jt:F.expectedType&&F.expectedType.kind!=="value"&&(Ke=F.expectedType);for(let ft=0;ft=Rt)return F.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',ur);let kr=F.parse(er,vr,Ke);if(!kr)return null;Ke=Ke||kr.type,Re.push([Rt,kr])}return Kt(Ke,dt)||Kt(Ke,jt)||Kt(Ke,qr)||Kt(Ke,gt)||Kt(Ke,Ge(dt))?new ko(Ke,W,te,fe,Re):F.error(`Type ${Je(Ke)} is not interpolatable.`)}evaluate(A){let F=this.labels,W=this.outputs;if(F.length===1)return W[0].evaluate(A);let te=this.input.evaluate(A);if(te<=F[0])return W[0].evaluate(A);let fe=F.length;if(te>=F[fe-1])return W[fe-1].evaluate(A);let pe=ki(F,te),Re=ko.interpolationFactor(this.interpolation,te,F[pe],F[pe+1]),Ke=W[pe].evaluate(A),ft=W[pe+1].evaluate(A);switch(this.operator){case"interpolate":return Lo[this.type.kind](Ke,ft,Re);case"interpolate-hcl":return Lo.color(Ke,ft,Re,"hcl");case"interpolate-lab":return Lo.color(Ke,ft,Re,"lab")}}eachChild(A){A(this.input);for(let F of this.outputs)A(F)}outputDefined(){return this.outputs.every(A=>A.outputDefined())}}function Ds(R,A,F,W){let te=W-F,fe=R-F;return te===0?0:A===1?fe/te:(Math.pow(A,fe)-1)/(Math.pow(A,te)-1)}class Fs{constructor(A,F){this.type=A,this.args=F}static parse(A,F){if(A.length<2)return F.error("Expectected at least one argument.");let W=null,te=F.expectedType;te&&te.kind!=="value"&&(W=te);let fe=[];for(let Re of A.slice(1)){let Ke=F.parse(Re,1+fe.length,W,void 0,{typeAnnotation:"omit"});if(!Ke)return null;W=W||Ke.type,fe.push(Ke)}if(!W)throw new Error("No output type");let pe=te&&fe.some(Re=>et(te,Re.type));return new Fs(pe?mr:W,fe)}evaluate(A){let F,W=null,te=0;for(let fe of this.args)if(te++,W=fe.evaluate(A),W&&W instanceof en&&!W.available&&(F||(F=W.name),W=null,te===this.args.length&&(W=F)),W!==null)break;return W}eachChild(A){this.args.forEach(A)}outputDefined(){return this.args.every(A=>A.outputDefined())}}function ll(R,A){return R==="=="||R==="!="?A.kind==="boolean"||A.kind==="string"||A.kind==="number"||A.kind==="null"||A.kind==="value":A.kind==="string"||A.kind==="number"||A.kind==="value"}function ul(R,A,F,W){return W.compare(A,F)===0}function zl(R,A,F){let W=R!=="=="&&R!=="!=";return class gje{constructor(fe,pe,Re){this.type=pt,this.lhs=fe,this.rhs=pe,this.collator=Re,this.hasUntypedArgument=fe.type.kind==="value"||pe.type.kind==="value"}static parse(fe,pe){if(fe.length!==3&&fe.length!==4)return pe.error("Expected two or three arguments.");let Re=fe[0],Ke=pe.parse(fe[1],1,mr);if(!Ke)return null;if(!ll(Re,Ke.type))return pe.concat(1).error(`"${Re}" comparisons are not supported for type '${Je(Ke.type)}'.`);let ft=pe.parse(fe[2],2,mr);if(!ft)return null;if(!ll(Re,ft.type))return pe.concat(2).error(`"${Re}" comparisons are not supported for type '${Je(ft.type)}'.`);if(Ke.type.kind!==ft.type.kind&&Ke.type.kind!=="value"&&ft.type.kind!=="value")return pe.error(`Cannot compare types '${Je(Ke.type)}' and '${Je(ft.type)}'.`);W&&(Ke.type.kind==="value"&&ft.type.kind!=="value"?Ke=new Fa(ft.type,[Ke]):Ke.type.kind!=="value"&&ft.type.kind==="value"&&(ft=new Fa(Ke.type,[ft])));let Rt=null;if(fe.length===4){if(Ke.type.kind!=="string"&&ft.type.kind!=="string"&&Ke.type.kind!=="value"&&ft.type.kind!=="value")return pe.error("Cannot use collator to compare non-string types.");if(Rt=pe.parse(fe[3],3,Ar),!Rt)return null}return new gje(Ke,ft,Rt)}evaluate(fe){let pe=this.lhs.evaluate(fe),Re=this.rhs.evaluate(fe);if(W&&this.hasUntypedArgument){let Ke=Mn(pe),ft=Mn(Re);if(Ke.kind!==ft.kind||Ke.kind!=="string"&&Ke.kind!=="number")throw new ma(`Expected arguments for "${R}" to be (string, string) or (number, number), but found (${Ke.kind}, ${ft.kind}) instead.`)}if(this.collator&&!W&&this.hasUntypedArgument){let Ke=Mn(pe),ft=Mn(Re);if(Ke.kind!=="string"||ft.kind!=="string")return A(fe,pe,Re)}return this.collator?F(fe,pe,Re,this.collator.evaluate(fe)):A(fe,pe,Re)}eachChild(fe){fe(this.lhs),fe(this.rhs),this.collator&&fe(this.collator)}outputDefined(){return!0}}}let us=zl("==",function(R,A,F){return A===F},ul),il=zl("!=",function(R,A,F){return A!==F},function(R,A,F,W){return!ul(0,A,F,W)}),As=zl("<",function(R,A,F){return A",function(R,A,F){return A>F},function(R,A,F,W){return W.compare(A,F)>0}),Ks=zl("<=",function(R,A,F){return A<=F},function(R,A,F,W){return W.compare(A,F)<=0}),zs=zl(">=",function(R,A,F){return A>=F},function(R,A,F,W){return W.compare(A,F)>=0});class Io{constructor(A,F,W){this.type=Ar,this.locale=W,this.caseSensitive=A,this.diacriticSensitive=F}static parse(A,F){if(A.length!==2)return F.error("Expected one argument.");let W=A[1];if(typeof W!="object"||Array.isArray(W))return F.error("Collator options argument must be an object.");let te=F.parse(W["case-sensitive"]!==void 0&&W["case-sensitive"],1,pt);if(!te)return null;let fe=F.parse(W["diacritic-sensitive"]!==void 0&&W["diacritic-sensitive"],1,pt);if(!fe)return null;let pe=null;return W.locale&&(pe=F.parse(W.locale,1,Et),!pe)?null:new Io(te,fe,pe)}evaluate(A){return new wr(this.caseSensitive.evaluate(A),this.diacriticSensitive.evaluate(A),this.locale?this.locale.evaluate(A):null)}eachChild(A){A(this.caseSensitive),A(this.diacriticSensitive),this.locale&&A(this.locale)}outputDefined(){return!1}}class ls{constructor(A,F,W,te,fe){this.type=Et,this.number=A,this.locale=F,this.currency=W,this.minFractionDigits=te,this.maxFractionDigits=fe}static parse(A,F){if(A.length!==3)return F.error("Expected two arguments.");let W=F.parse(A[1],1,dt);if(!W)return null;let te=A[2];if(typeof te!="object"||Array.isArray(te))return F.error("NumberFormat options argument must be an object.");let fe=null;if(te.locale&&(fe=F.parse(te.locale,1,Et),!fe))return null;let pe=null;if(te.currency&&(pe=F.parse(te.currency,1,Et),!pe))return null;let Re=null;if(te["min-fraction-digits"]&&(Re=F.parse(te["min-fraction-digits"],1,dt),!Re))return null;let Ke=null;return te["max-fraction-digits"]&&(Ke=F.parse(te["max-fraction-digits"],1,dt),!Ke)?null:new ls(W,fe,pe,Re,Ke)}evaluate(A){return new Intl.NumberFormat(this.locale?this.locale.evaluate(A):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(A):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(A):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(A):void 0}).format(this.number.evaluate(A))}eachChild(A){A(this.number),this.locale&&A(this.locale),this.currency&&A(this.currency),this.minFractionDigits&&A(this.minFractionDigits),this.maxFractionDigits&&A(this.maxFractionDigits)}outputDefined(){return!1}}class Yl{constructor(A){this.type=ei,this.sections=A}static parse(A,F){if(A.length<2)return F.error("Expected at least one argument.");let W=A[1];if(!Array.isArray(W)&&typeof W=="object")return F.error("First argument must be an image or text section.");let te=[],fe=!1;for(let pe=1;pe<=A.length-1;++pe){let Re=A[pe];if(fe&&typeof Re=="object"&&!Array.isArray(Re)){fe=!1;let Ke=null;if(Re["font-scale"]&&(Ke=F.parse(Re["font-scale"],1,dt),!Ke))return null;let ft=null;if(Re["text-font"]&&(ft=F.parse(Re["text-font"],1,Ge(Et)),!ft))return null;let Rt=null;if(Re["text-color"]&&(Rt=F.parse(Re["text-color"],1,jt),!Rt))return null;let er=te[te.length-1];er.scale=Ke,er.font=ft,er.textColor=Rt}else{let Ke=F.parse(A[pe],1,mr);if(!Ke)return null;let ft=Ke.type.kind;if(ft!=="string"&&ft!=="value"&&ft!=="null"&&ft!=="resolvedImage")return F.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");fe=!0,te.push({content:Ke,scale:null,font:null,textColor:null})}}return new Yl(te)}evaluate(A){return new ti(this.sections.map(F=>{let W=F.content.evaluate(A);return Mn(W)===jr?new Xr("",W,null,null,null):new Xr(Ba(W),null,F.scale?F.scale.evaluate(A):null,F.font?F.font.evaluate(A).join(","):null,F.textColor?F.textColor.evaluate(A):null)}))}eachChild(A){for(let F of this.sections)A(F.content),F.scale&&A(F.scale),F.font&&A(F.font),F.textColor&&A(F.textColor)}outputDefined(){return!1}}class Su{constructor(A){this.type=jr,this.input=A}static parse(A,F){if(A.length!==2)return F.error("Expected two arguments.");let W=F.parse(A[1],1,Et);return W?new Su(W):F.error("No image name provided.")}evaluate(A){let F=this.input.evaluate(A),W=en.fromString(F);return W&&A.availableImages&&(W.available=A.availableImages.indexOf(F)>-1),W}eachChild(A){A(this.input)}outputDefined(){return!1}}class nc{constructor(A){this.type=dt,this.input=A}static parse(A,F){if(A.length!==2)return F.error(`Expected 1 argument, but found ${A.length-1} instead.`);let W=F.parse(A[1],1);return W?W.type.kind!=="array"&&W.type.kind!=="string"&&W.type.kind!=="value"?F.error(`Expected argument of type string or array, but found ${Je(W.type)} instead.`):new nc(W):null}evaluate(A){let F=this.input.evaluate(A);if(typeof F=="string")return[...F].length;if(Array.isArray(F))return F.length;throw new ma(`Expected value to be of type string or array, but found ${Je(Mn(F))} instead.`)}eachChild(A){A(this.input)}outputDefined(){return!1}}let bs=8192;function Rn(R,A){let F=(180+R[0])/360,W=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+R[1]*Math.PI/360)))/360,te=Math.pow(2,A.z);return[Math.round(F*te*bs),Math.round(W*te*bs)]}function _a(R,A){let F=Math.pow(2,A.z);return[(te=(R[0]/bs+A.x)/F,360*te-180),(W=(R[1]/bs+A.y)/F,360/Math.PI*Math.atan(Math.exp((180-360*W)*Math.PI/180))-90)];var W,te}function Vu(R,A){R[0]=Math.min(R[0],A[0]),R[1]=Math.min(R[1],A[1]),R[2]=Math.max(R[2],A[0]),R[3]=Math.max(R[3],A[1])}function ql(R,A){return!(R[0]<=A[0]||R[2]>=A[2]||R[1]<=A[1]||R[3]>=A[3])}function xo(R,A,F){let W=R[0]-A[0],te=R[1]-A[1],fe=R[0]-F[0],pe=R[1]-F[1];return W*pe-fe*te==0&&W*fe<=0&&te*pe<=0}function Kl(R,A,F,W){return(te=[W[0]-F[0],W[1]-F[1]])[0]*(fe=[A[0]-R[0],A[1]-R[1]])[1]-te[1]*fe[0]!=0&&!(!Oo(R,A,F,W)||!Oo(F,W,R,A));var te,fe}function Ns(R,A,F){for(let W of F)for(let te=0;te(te=R)[1]!=(pe=Re[Ke+1])[1]>te[1]&&te[0]<(pe[0]-fe[0])*(te[1]-fe[1])/(pe[1]-fe[1])+fe[0]&&(W=!W)}var te,fe,pe;return W}function ac(R,A){for(let F of A)if(Hl(R,F))return!0;return!1}function oa(R,A){for(let F of R)if(!Hl(F,A))return!1;for(let F=0;F0&&Re<0||pe<0&&Re>0}function Ol(R,A,F){let W=[];for(let te=0;teF[2]){let te=.5*W,fe=R[0]-F[0]>te?-W:F[0]-R[0]>te?W:0;fe===0&&(fe=R[0]-F[2]>te?-W:F[2]-R[0]>te?W:0),R[0]+=fe}Vu(A,R)}function nf(R,A,F,W){let te=Math.pow(2,W.z)*bs,fe=[W.x*bs,W.y*bs],pe=[];for(let Re of R)for(let Ke of Re){let ft=[Ke.x+fe[0],Ke.y+fe[1]];Do(ft,A,F,te),pe.push(ft)}return pe}function Vf(R,A,F,W){let te=Math.pow(2,W.z)*bs,fe=[W.x*bs,W.y*bs],pe=[];for(let Ke of R){let ft=[];for(let Rt of Ke){let er=[Rt.x+fe[0],Rt.y+fe[1]];Vu(A,er),ft.push(er)}pe.push(ft)}if(A[2]-A[0]<=te/2){(Re=A)[0]=Re[1]=1/0,Re[2]=Re[3]=-1/0;for(let Ke of pe)for(let ft of Ke)Do(ft,A,F,te)}var Re;return pe}class pl{constructor(A,F){this.type=pt,this.geojson=A,this.geometries=F}static parse(A,F){if(A.length!==2)return F.error(`'within' expression requires exactly one argument, but found ${A.length-1} instead.`);if(yn(A[1])){let W=A[1];if(W.type==="FeatureCollection"){let te=[];for(let fe of W.features){let{type:pe,coordinates:Re}=fe.geometry;pe==="Polygon"&&te.push(Re),pe==="MultiPolygon"&&te.push(...Re)}if(te.length)return new pl(W,{type:"MultiPolygon",coordinates:te})}else if(W.type==="Feature"){let te=W.geometry.type;if(te==="Polygon"||te==="MultiPolygon")return new pl(W,W.geometry)}else if(W.type==="Polygon"||W.type==="MultiPolygon")return new pl(W,W)}return F.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(A){if(A.geometry()!=null&&A.canonicalID()!=null){if(A.geometryType()==="Point")return function(F,W){let te=[1/0,1/0,-1/0,-1/0],fe=[1/0,1/0,-1/0,-1/0],pe=F.canonicalID();if(W.type==="Polygon"){let Re=Ol(W.coordinates,fe,pe),Ke=nf(F.geometry(),te,fe,pe);if(!ql(te,fe))return!1;for(let ft of Ke)if(!Hl(ft,Re))return!1}if(W.type==="MultiPolygon"){let Re=Pc(W.coordinates,fe,pe),Ke=nf(F.geometry(),te,fe,pe);if(!ql(te,fe))return!1;for(let ft of Ke)if(!ac(ft,Re))return!1}return!0}(A,this.geometries);if(A.geometryType()==="LineString")return function(F,W){let te=[1/0,1/0,-1/0,-1/0],fe=[1/0,1/0,-1/0,-1/0],pe=F.canonicalID();if(W.type==="Polygon"){let Re=Ol(W.coordinates,fe,pe),Ke=Vf(F.geometry(),te,fe,pe);if(!ql(te,fe))return!1;for(let ft of Ke)if(!oa(ft,Re))return!1}if(W.type==="MultiPolygon"){let Re=Pc(W.coordinates,fe,pe),Ke=Vf(F.geometry(),te,fe,pe);if(!ql(te,fe))return!1;for(let ft of Ke)if(!qo(ft,Re))return!1}return!0}(A,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let Zc=class{constructor(R=[],A=(F,W)=>FW?1:0){if(this.data=R,this.length=this.data.length,this.compare=A,this.length>0)for(let F=(this.length>>1)-1;F>=0;F--)this._down(F)}push(R){this.data.push(R),this._up(this.length++)}pop(){if(this.length===0)return;let R=this.data[0],A=this.data.pop();return--this.length>0&&(this.data[0]=A,this._down(0)),R}peek(){return this.data[0]}_up(R){let{data:A,compare:F}=this,W=A[R];for(;R>0;){let te=R-1>>1,fe=A[te];if(F(W,fe)>=0)break;A[R]=fe,R=te}A[R]=W}_down(R){let{data:A,compare:F}=this,W=this.length>>1,te=A[R];for(;R=0)break;A[R]=A[fe],R=fe}A[R]=te}};function Jl(R,A,F,W,te){qs(R,A,F,W||R.length-1,te||oc)}function qs(R,A,F,W,te){for(;W>F;){if(W-F>600){var fe=W-F+1,pe=A-F+1,Re=Math.log(fe),Ke=.5*Math.exp(2*Re/3),ft=.5*Math.sqrt(Re*Ke*(fe-Ke)/fe)*(pe-fe/2<0?-1:1);qs(R,A,Math.max(F,Math.floor(A-pe*Ke/fe+ft)),Math.min(W,Math.floor(A+(fe-pe)*Ke/fe+ft)),te)}var Rt=R[A],er=F,ur=W;for(yu(R,F,A),te(R[W],Rt)>0&&yu(R,F,W);er0;)ur--}te(R[F],Rt)===0?yu(R,F,ur):yu(R,++ur,W),ur<=A&&(F=ur+1),A<=ur&&(W=ur-1)}}function yu(R,A,F){var W=R[A];R[A]=R[F],R[F]=W}function oc(R,A){return RA?1:0}function Cf(R,A){if(R.length<=1)return[R];let F=[],W,te;for(let fe of R){let pe=jh(fe);pe!==0&&(fe.area=Math.abs(pe),te===void 0&&(te=pe<0),te===pe<0?(W&&F.push(W),W=[fe]):W.push(fe))}if(W&&F.push(W),A>1)for(let fe=0;fe1?(ft=A[Ke+1][0],Rt=A[Ke+1][1]):vr>0&&(ft+=er/this.kx*vr,Rt+=ur/this.ky*vr)),er=this.wrap(F[0]-ft)*this.kx,ur=(F[1]-Rt)*this.ky;let kr=er*er+ur*ur;kr180;)A-=360;return A}}function $l(R,A){return A[0]-R[0]}function fl(R){return R[1]-R[0]+1}function lc(R,A){return R[1]>=R[0]&&R[1]R[1])return[null,null];let F=fl(R);if(A){if(F===2)return[R,null];let te=Math.floor(F/2);return[[R[0],R[0]+te],[R[0]+te,R[1]]]}if(F===1)return[R,null];let W=Math.floor(F/2)-1;return[[R[0],R[0]+W],[R[0]+W+1,R[1]]]}function Es(R,A){if(!lc(A,R.length))return[1/0,1/0,-1/0,-1/0];let F=[1/0,1/0,-1/0,-1/0];for(let W=A[0];W<=A[1];++W)Vu(F,R[W]);return F}function Hs(R){let A=[1/0,1/0,-1/0,-1/0];for(let F of R)for(let W of F)Vu(A,W);return A}function Go(R){return R[0]!==-1/0&&R[1]!==-1/0&&R[2]!==1/0&&R[3]!==1/0}function ps(R,A,F){if(!Go(R)||!Go(A))return NaN;let W=0,te=0;return R[2]A[2]&&(W=R[0]-A[2]),R[1]>A[3]&&(te=R[1]-A[3]),R[3]=W)return W;if(ql(te,fe)){if(sd(R,A))return 0}else if(sd(A,R))return 0;let pe=1/0;for(let Re of R)for(let Ke=0,ft=Re.length,Rt=ft-1;Ke0;){let Ke=pe.pop();if(Ke[0]>=fe)continue;let ft=Ke[1],Rt=A?50:100;if(fl(ft)<=Rt){if(!lc(ft,R.length))return NaN;if(A){let er=Po(R,ft,F,W);if(isNaN(er)||er===0)return er;fe=Math.min(fe,er)}else for(let er=ft[0];er<=ft[1];++er){let ur=od(R[er],F,W);if(fe=Math.min(fe,ur),fe===0)return 0}}else{let er=Fu(ft,A);Pa(pe,fe,W,R,Re,er[0]),Pa(pe,fe,W,R,Re,er[1])}}return fe}function bl(R,A,F,W,te,fe=1/0){let pe=Math.min(fe,te.distance(R[0],F[0]));if(pe===0)return pe;let Re=new Zc([[0,[0,R.length-1],[0,F.length-1]]],$l);for(;Re.length>0;){let Ke=Re.pop();if(Ke[0]>=pe)continue;let ft=Ke[1],Rt=Ke[2],er=A?50:100,ur=W?50:100;if(fl(ft)<=er&&fl(Rt)<=ur){if(!lc(ft,R.length)&&lc(Rt,F.length))return NaN;let vr;if(A&&W)vr=Gu(R,ft,F,Rt,te),pe=Math.min(pe,vr);else if(A&&!W){let kr=R.slice(ft[0],ft[1]+1);for(let Dr=Rt[0];Dr<=Rt[1];++Dr)if(vr=uc(F[Dr],kr,te),pe=Math.min(pe,vr),pe===0)return pe}else if(!A&&W){let kr=F.slice(Rt[0],Rt[1]+1);for(let Dr=ft[0];Dr<=ft[1];++Dr)if(vr=uc(R[Dr],kr,te),pe=Math.min(pe,vr),pe===0)return pe}else vr=Os(R,ft,F,Rt,te),pe=Math.min(pe,vr)}else{let vr=Fu(ft,A),kr=Fu(Rt,W);of(Re,pe,te,R,F,vr[0],kr[0]),of(Re,pe,te,R,F,vr[0],kr[1]),of(Re,pe,te,R,F,vr[1],kr[0]),of(Re,pe,te,R,F,vr[1],kr[1])}}return pe}function Hf(R){return R.type==="MultiPolygon"?R.coordinates.map(A=>({type:"Polygon",coordinates:A})):R.type==="MultiLineString"?R.coordinates.map(A=>({type:"LineString",coordinates:A})):R.type==="MultiPoint"?R.coordinates.map(A=>({type:"Point",coordinates:A})):[R]}class Ic{constructor(A,F){this.type=dt,this.geojson=A,this.geometries=F}static parse(A,F){if(A.length!==2)return F.error(`'distance' expression requires exactly one argument, but found ${A.length-1} instead.`);if(yn(A[1])){let W=A[1];if(W.type==="FeatureCollection")return new Ic(W,W.features.map(te=>Hf(te.geometry)).flat());if(W.type==="Feature")return new Ic(W,Hf(W.geometry));if("type"in W&&"coordinates"in W)return new Ic(W,Hf(W))}return F.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(A){if(A.geometry()!=null&&A.canonicalID()!=null){if(A.geometryType()==="Point")return function(F,W){let te=F.geometry(),fe=te.flat().map(Ke=>_a([Ke.x,Ke.y],F.canonical));if(te.length===0)return NaN;let pe=new Gf(fe[0][1]),Re=1/0;for(let Ke of W){switch(Ke.type){case"Point":Re=Math.min(Re,bl(fe,!1,[Ke.coordinates],!1,pe,Re));break;case"LineString":Re=Math.min(Re,bl(fe,!1,Ke.coordinates,!0,pe,Re));break;case"Polygon":Re=Math.min(Re,Hu(fe,!1,Ke.coordinates,pe,Re))}if(Re===0)return Re}return Re}(A,this.geometries);if(A.geometryType()==="LineString")return function(F,W){let te=F.geometry(),fe=te.flat().map(Ke=>_a([Ke.x,Ke.y],F.canonical));if(te.length===0)return NaN;let pe=new Gf(fe[0][1]),Re=1/0;for(let Ke of W){switch(Ke.type){case"Point":Re=Math.min(Re,bl(fe,!0,[Ke.coordinates],!1,pe,Re));break;case"LineString":Re=Math.min(Re,bl(fe,!0,Ke.coordinates,!0,pe,Re));break;case"Polygon":Re=Math.min(Re,Hu(fe,!0,Ke.coordinates,pe,Re))}if(Re===0)return Re}return Re}(A,this.geometries);if(A.geometryType()==="Polygon")return function(F,W){let te=F.geometry();if(te.length===0||te[0].length===0)return NaN;let fe=Cf(te,0).map(Ke=>Ke.map(ft=>ft.map(Rt=>_a([Rt.x,Rt.y],F.canonical)))),pe=new Gf(fe[0][0][0][1]),Re=1/0;for(let Ke of W)for(let ft of fe){switch(Ke.type){case"Point":Re=Math.min(Re,Hu([Ke.coordinates],!1,ft,pe,Re));break;case"LineString":Re=Math.min(Re,Hu(Ke.coordinates,!0,ft,pe,Re));break;case"Polygon":Re=Math.min(Re,Ko(ft,Ke.coordinates,pe,Re))}if(Re===0)return Re}return Re}(A,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}let yf={"==":us,"!=":il,">":cl,"<":As,">=":zs,"<=":Ks,array:Fa,at:Sr,boolean:Fa,case:Sn,coalesce:Fs,collator:Io,format:Yl,image:Su,in:Jr,"index-of":hi,interpolate:ko,"interpolate-hcl":ko,"interpolate-lab":ko,length:nc,let:Gn,literal:ua,match:hn,number:Fa,"number-format":ls,object:Fa,slice:En,step:_n,string:Fa,"to-boolean":da,"to-color":da,"to-number":da,"to-string":da,var:Ct,within:pl,distance:Ic};class Bl{constructor(A,F,W,te){this.name=A,this.type=F,this._evaluate=W,this.args=te}evaluate(A){return this._evaluate(A,this.args)}eachChild(A){this.args.forEach(A)}outputDefined(){return!1}static parse(A,F){let W=A[0],te=Bl.definitions[W];if(!te)return F.error(`Unknown expression "${W}". If you wanted a literal array, use ["literal", [...]].`,0);let fe=Array.isArray(te)?te[0]:te.type,pe=Array.isArray(te)?[[te[1],te[2]]]:te.overloads,Re=pe.filter(([ft])=>!Array.isArray(ft)||ft.length===A.length-1),Ke=null;for(let[ft,Rt]of Re){Ke=new vo(F.registry,eh,F.path,null,F.scope);let er=[],ur=!1;for(let vr=1;vr{return ur=er,Array.isArray(ur)?`(${ur.map(Je).join(", ")})`:`(${Je(ur.type)}...)`;var ur}).join(" | "),Rt=[];for(let er=1;er{F=A?F&&eh(W):F&&W instanceof ua}),!!F&&th(R)&&jf(R,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function th(R){if(R instanceof Bl&&(R.name==="get"&&R.args.length===1||R.name==="feature-state"||R.name==="has"&&R.args.length===1||R.name==="properties"||R.name==="geometry-type"||R.name==="id"||/^filter-/.test(R.name))||R instanceof pl||R instanceof Ic)return!1;let A=!0;return R.eachChild(F=>{A&&!th(F)&&(A=!1)}),A}function ju(R){if(R instanceof Bl&&R.name==="feature-state")return!1;let A=!0;return R.eachChild(F=>{A&&!ju(F)&&(A=!1)}),A}function jf(R,A){if(R instanceof Bl&&A.indexOf(R.name)>=0)return!1;let F=!0;return R.eachChild(W=>{F&&!jf(W,A)&&(F=!1)}),F}function cc(R){return{result:"success",value:R}}function sf(R){return{result:"error",value:R}}function Nl(R){return R["property-type"]==="data-driven"||R["property-type"]==="cross-faded-data-driven"}function Kc(R){return!!R.expression&&R.expression.parameters.indexOf("zoom")>-1}function Rc(R){return!!R.expression&&R.expression.interpolated}function gs(R){return R instanceof Number?"number":R instanceof String?"string":R instanceof Boolean?"boolean":Array.isArray(R)?"array":R===null?"null":typeof R}function Wf(R){return typeof R=="object"&&R!==null&&!Array.isArray(R)}function Wh(R){return R}function rh(R,A){let F=A.type==="color",W=R.stops&&typeof R.stops[0][0]=="object",te=W||!(W||R.property!==void 0),fe=R.type||(Rc(A)?"exponential":"interval");if(F||A.type==="padding"){let Rt=F?ir.parse:$r.parse;(R=Ae({},R)).stops&&(R.stops=R.stops.map(er=>[er[0],Rt(er[1])])),R.default=Rt(R.default?R.default:A.default)}if(R.colorSpace&&(pe=R.colorSpace)!=="rgb"&&pe!=="hcl"&&pe!=="lab")throw new Error(`Unknown color space: "${R.colorSpace}"`);var pe;let Re,Ke,ft;if(fe==="exponential")Re=ih;else if(fe==="interval")Re=Mu;else if(fe==="categorical"){Re=Sh,Ke=Object.create(null);for(let Rt of R.stops)Ke[Rt[0]]=Rt[1];ft=typeof R.stops[0][0]}else{if(fe!=="identity")throw new Error(`Unknown function type "${fe}"`);Re=js}if(W){let Rt={},er=[];for(let kr=0;krkr[0]),evaluate:({zoom:kr},Dr)=>ih({stops:ur,base:R.base},A,kr).evaluate(kr,Dr)}}if(te){let Rt=fe==="exponential"?{name:"exponential",base:R.base!==void 0?R.base:1}:null;return{kind:"camera",interpolationType:Rt,interpolationFactor:ko.interpolationFactor.bind(void 0,Rt),zoomStops:R.stops.map(er=>er[0]),evaluate:({zoom:er})=>Re(R,A,er,Ke,ft)}}return{kind:"source",evaluate(Rt,er){let ur=er&&er.properties?er.properties[R.property]:void 0;return ur===void 0?lf(R.default,A.default):Re(R,A,ur,Ke,ft)}}}function lf(R,A,F){return R!==void 0?R:A!==void 0?A:F!==void 0?F:void 0}function Sh(R,A,F,W,te){return lf(typeof F===te?W[F]:void 0,R.default,A.default)}function Mu(R,A,F){if(gs(F)!=="number")return lf(R.default,A.default);let W=R.stops.length;if(W===1||F<=R.stops[0][0])return R.stops[0][1];if(F>=R.stops[W-1][0])return R.stops[W-1][1];let te=ki(R.stops.map(fe=>fe[0]),F);return R.stops[te][1]}function ih(R,A,F){let W=R.base!==void 0?R.base:1;if(gs(F)!=="number")return lf(R.default,A.default);let te=R.stops.length;if(te===1||F<=R.stops[0][0])return R.stops[0][1];if(F>=R.stops[te-1][0])return R.stops[te-1][1];let fe=ki(R.stops.map(Rt=>Rt[0]),F),pe=function(Rt,er,ur,vr){let kr=vr-ur,Dr=Rt-ur;return kr===0?0:er===1?Dr/kr:(Math.pow(er,Dr)-1)/(Math.pow(er,kr)-1)}(F,W,R.stops[fe][0],R.stops[fe+1][0]),Re=R.stops[fe][1],Ke=R.stops[fe+1][1],ft=Lo[A.type]||Wh;return typeof Re.evaluate=="function"?{evaluate(...Rt){let er=Re.evaluate.apply(void 0,Rt),ur=Ke.evaluate.apply(void 0,Rt);if(er!==void 0&&ur!==void 0)return ft(er,ur,pe,R.colorSpace)}}:ft(Re,Ke,pe,R.colorSpace)}function js(R,A,F){switch(A.type){case"color":F=ir.parse(F);break;case"formatted":F=ti.fromString(F.toString());break;case"resolvedImage":F=en.fromString(F.toString());break;case"padding":F=$r.parse(F);break;default:gs(F)===A.type||A.type==="enum"&&A.values[F]||(F=void 0)}return lf(F,R.default,A.default)}Bl.register(yf,{error:[{kind:"error"},[Et],(R,[A])=>{throw new ma(A.evaluate(R))}],typeof:[Et,[mr],(R,[A])=>Je(Mn(A.evaluate(R)))],"to-rgba":[Ge(dt,4),[jt],(R,[A])=>{let[F,W,te,fe]=A.evaluate(R).rgb;return[255*F,255*W,255*te,fe]}],rgb:[jt,[dt,dt,dt],Ah],rgba:[jt,[dt,dt,dt,dt],Ah],has:{type:pt,overloads:[[[Et],(R,[A])=>Qf(A.evaluate(R),R.properties())],[[Et,or],(R,[A,F])=>Qf(A.evaluate(R),F.evaluate(R))]]},get:{type:mr,overloads:[[[Et],(R,[A])=>_f(A.evaluate(R),R.properties())],[[Et,or],(R,[A,F])=>_f(A.evaluate(R),F.evaluate(R))]]},"feature-state":[mr,[Et],(R,[A])=>_f(A.evaluate(R),R.featureState||{})],properties:[or,[],R=>R.properties()],"geometry-type":[Et,[],R=>R.geometryType()],id:[mr,[],R=>R.id()],zoom:[dt,[],R=>R.globals.zoom],"heatmap-density":[dt,[],R=>R.globals.heatmapDensity||0],"line-progress":[dt,[],R=>R.globals.lineProgress||0],accumulated:[mr,[],R=>R.globals.accumulated===void 0?null:R.globals.accumulated],"+":[dt,Yc(dt),(R,A)=>{let F=0;for(let W of A)F+=W.evaluate(R);return F}],"*":[dt,Yc(dt),(R,A)=>{let F=1;for(let W of A)F*=W.evaluate(R);return F}],"-":{type:dt,overloads:[[[dt,dt],(R,[A,F])=>A.evaluate(R)-F.evaluate(R)],[[dt],(R,[A])=>-A.evaluate(R)]]},"/":[dt,[dt,dt],(R,[A,F])=>A.evaluate(R)/F.evaluate(R)],"%":[dt,[dt,dt],(R,[A,F])=>A.evaluate(R)%F.evaluate(R)],ln2:[dt,[],()=>Math.LN2],pi:[dt,[],()=>Math.PI],e:[dt,[],()=>Math.E],"^":[dt,[dt,dt],(R,[A,F])=>Math.pow(A.evaluate(R),F.evaluate(R))],sqrt:[dt,[dt],(R,[A])=>Math.sqrt(A.evaluate(R))],log10:[dt,[dt],(R,[A])=>Math.log(A.evaluate(R))/Math.LN10],ln:[dt,[dt],(R,[A])=>Math.log(A.evaluate(R))],log2:[dt,[dt],(R,[A])=>Math.log(A.evaluate(R))/Math.LN2],sin:[dt,[dt],(R,[A])=>Math.sin(A.evaluate(R))],cos:[dt,[dt],(R,[A])=>Math.cos(A.evaluate(R))],tan:[dt,[dt],(R,[A])=>Math.tan(A.evaluate(R))],asin:[dt,[dt],(R,[A])=>Math.asin(A.evaluate(R))],acos:[dt,[dt],(R,[A])=>Math.acos(A.evaluate(R))],atan:[dt,[dt],(R,[A])=>Math.atan(A.evaluate(R))],min:[dt,Yc(dt),(R,A)=>Math.min(...A.map(F=>F.evaluate(R)))],max:[dt,Yc(dt),(R,A)=>Math.max(...A.map(F=>F.evaluate(R)))],abs:[dt,[dt],(R,[A])=>Math.abs(A.evaluate(R))],round:[dt,[dt],(R,[A])=>{let F=A.evaluate(R);return F<0?-Math.round(-F):Math.round(F)}],floor:[dt,[dt],(R,[A])=>Math.floor(A.evaluate(R))],ceil:[dt,[dt],(R,[A])=>Math.ceil(A.evaluate(R))],"filter-==":[pt,[Et,mr],(R,[A,F])=>R.properties()[A.value]===F.value],"filter-id-==":[pt,[mr],(R,[A])=>R.id()===A.value],"filter-type-==":[pt,[Et],(R,[A])=>R.geometryType()===A.value],"filter-<":[pt,[Et,mr],(R,[A,F])=>{let W=R.properties()[A.value],te=F.value;return typeof W==typeof te&&W{let F=R.id(),W=A.value;return typeof F==typeof W&&F":[pt,[Et,mr],(R,[A,F])=>{let W=R.properties()[A.value],te=F.value;return typeof W==typeof te&&W>te}],"filter-id->":[pt,[mr],(R,[A])=>{let F=R.id(),W=A.value;return typeof F==typeof W&&F>W}],"filter-<=":[pt,[Et,mr],(R,[A,F])=>{let W=R.properties()[A.value],te=F.value;return typeof W==typeof te&&W<=te}],"filter-id-<=":[pt,[mr],(R,[A])=>{let F=R.id(),W=A.value;return typeof F==typeof W&&F<=W}],"filter->=":[pt,[Et,mr],(R,[A,F])=>{let W=R.properties()[A.value],te=F.value;return typeof W==typeof te&&W>=te}],"filter-id->=":[pt,[mr],(R,[A])=>{let F=R.id(),W=A.value;return typeof F==typeof W&&F>=W}],"filter-has":[pt,[mr],(R,[A])=>A.value in R.properties()],"filter-has-id":[pt,[],R=>R.id()!==null&&R.id()!==void 0],"filter-type-in":[pt,[Ge(Et)],(R,[A])=>A.value.indexOf(R.geometryType())>=0],"filter-id-in":[pt,[Ge(mr)],(R,[A])=>A.value.indexOf(R.id())>=0],"filter-in-small":[pt,[Et,Ge(mr)],(R,[A,F])=>F.value.indexOf(R.properties()[A.value])>=0],"filter-in-large":[pt,[Et,Ge(mr)],(R,[A,F])=>function(W,te,fe,pe){for(;fe<=pe;){let Re=fe+pe>>1;if(te[Re]===W)return!0;te[Re]>W?pe=Re-1:fe=Re+1}return!1}(R.properties()[A.value],F.value,0,F.value.length-1)],all:{type:pt,overloads:[[[pt,pt],(R,[A,F])=>A.evaluate(R)&&F.evaluate(R)],[Yc(pt),(R,A)=>{for(let F of A)if(!F.evaluate(R))return!1;return!0}]]},any:{type:pt,overloads:[[[pt,pt],(R,[A,F])=>A.evaluate(R)||F.evaluate(R)],[Yc(pt),(R,A)=>{for(let F of A)if(F.evaluate(R))return!0;return!1}]]},"!":[pt,[pt],(R,[A])=>!A.evaluate(R)],"is-supported-script":[pt,[Et],(R,[A])=>{let F=R.globals&&R.globals.isSupportedScript;return!F||F(A.evaluate(R))}],upcase:[Et,[Et],(R,[A])=>A.evaluate(R).toUpperCase()],downcase:[Et,[Et],(R,[A])=>A.evaluate(R).toLowerCase()],concat:[Et,Yc(mr),(R,A)=>A.map(F=>Ba(F.evaluate(R))).join("")],"resolved-locale":[Et,[Ar],(R,[A])=>A.evaluate(R).resolvedLocale()]});class Eu{constructor(A,F){var W;this.expression=A,this._warningHistory={},this._evaluator=new Ha,this._defaultValue=F?(W=F).type==="color"&&Wf(W.default)?new ir(0,0,0,0):W.type==="color"?ir.parse(W.default)||null:W.type==="padding"?$r.parse(W.default)||null:W.type==="variableAnchorOffsetCollection"?Zi.parse(W.default)||null:W.default===void 0?null:W.default:null,this._enumValues=F&&F.type==="enum"?F.values:null}evaluateWithoutErrorHandling(A,F,W,te,fe,pe){return this._evaluator.globals=A,this._evaluator.feature=F,this._evaluator.featureState=W,this._evaluator.canonical=te,this._evaluator.availableImages=fe||null,this._evaluator.formattedSection=pe,this.expression.evaluate(this._evaluator)}evaluate(A,F,W,te,fe,pe){this._evaluator.globals=A,this._evaluator.feature=F||null,this._evaluator.featureState=W||null,this._evaluator.canonical=te,this._evaluator.availableImages=fe||null,this._evaluator.formattedSection=pe||null;try{let Re=this.expression.evaluate(this._evaluator);if(Re==null||typeof Re=="number"&&Re!=Re)return this._defaultValue;if(this._enumValues&&!(Re in this._enumValues))throw new ma(`Expected value to be one of ${Object.keys(this._enumValues).map(Ke=>JSON.stringify(Ke)).join(", ")}, but found ${JSON.stringify(Re)} instead.`);return Re}catch(Re){return this._warningHistory[Re.message]||(this._warningHistory[Re.message]=!0,typeof console!="undefined"&&console.warn(Re.message)),this._defaultValue}}}function Dc(R){return Array.isArray(R)&&R.length>0&&typeof R[0]=="string"&&R[0]in yf}function ks(R,A){let F=new vo(yf,eh,[],A?function(te){let fe={color:jt,string:Et,number:dt,enum:Et,boolean:pt,formatted:ei,padding:qr,resolvedImage:jr,variableAnchorOffsetCollection:gt};return te.type==="array"?Ge(fe[te.value]||mr,te.length):fe[te.type]}(A):void 0),W=F.parse(R,void 0,void 0,void 0,A&&A.type==="string"?{typeAnnotation:"coerce"}:void 0);return W?cc(new Eu(W,A)):sf(F.errors)}class bc{constructor(A,F){this.kind=A,this._styleExpression=F,this.isStateDependent=A!=="constant"&&!ju(F.expression)}evaluateWithoutErrorHandling(A,F,W,te,fe,pe){return this._styleExpression.evaluateWithoutErrorHandling(A,F,W,te,fe,pe)}evaluate(A,F,W,te,fe,pe){return this._styleExpression.evaluate(A,F,W,te,fe,pe)}}class hu{constructor(A,F,W,te){this.kind=A,this.zoomStops=W,this._styleExpression=F,this.isStateDependent=A!=="camera"&&!ju(F.expression),this.interpolationType=te}evaluateWithoutErrorHandling(A,F,W,te,fe,pe){return this._styleExpression.evaluateWithoutErrorHandling(A,F,W,te,fe,pe)}evaluate(A,F,W,te,fe,pe){return this._styleExpression.evaluate(A,F,W,te,fe,pe)}interpolationFactor(A,F,W){return this.interpolationType?ko.interpolationFactor(this.interpolationType,A,F,W):0}}function _u(R,A){let F=ks(R,A);if(F.result==="error")return F;let W=F.value.expression,te=th(W);if(!te&&!Nl(A))return sf([new rt("","data expressions not supported")]);let fe=jf(W,["zoom"]);if(!fe&&!Kc(A))return sf([new rt("","zoom expressions not supported")]);let pe=nh(W);return pe||fe?pe instanceof rt?sf([pe]):pe instanceof ko&&!Rc(A)?sf([new rt("",'"interpolate" expressions cannot be used with this property')]):cc(pe?new hu(te?"camera":"composite",F.value,pe.labels,pe instanceof ko?pe.interpolation:void 0):new bc(te?"constant":"source",F.value)):sf([new rt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class nl{constructor(A,F){this._parameters=A,this._specification=F,Ae(this,rh(this._parameters,this._specification))}static deserialize(A){return new nl(A._parameters,A._specification)}static serialize(A){return{_parameters:A._parameters,_specification:A._specification}}}function nh(R){let A=null;if(R instanceof Gn)A=nh(R.result);else if(R instanceof Fs){for(let F of R.args)if(A=nh(F),A)break}else(R instanceof _n||R instanceof ko)&&R.input instanceof Bl&&R.input.name==="zoom"&&(A=R);return A instanceof rt||R.eachChild(F=>{let W=nh(F);W instanceof rt?A=W:!A&&W?A=new rt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):A&&W&&A!==W&&(A=new rt("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),A}function Mh(R){if(R===!0||R===!1)return!0;if(!Array.isArray(R)||R.length===0)return!1;switch(R[0]){case"has":return R.length>=2&&R[1]!=="$id"&&R[1]!=="$type";case"in":return R.length>=3&&(typeof R[1]!="string"||Array.isArray(R[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return R.length!==3||Array.isArray(R[1])||Array.isArray(R[2]);case"any":case"all":for(let A of R.slice(1))if(!Mh(A)&&typeof A!="boolean")return!1;return!0;default:return!0}}let zu={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function Fc(R){if(R==null)return{filter:()=>!0,needGeometry:!1};Mh(R)||(R=xf(R));let A=ks(R,zu);if(A.result==="error")throw new Error(A.value.map(F=>`${F.key}: ${F.message}`).join(", "));return{filter:(F,W,te)=>A.value.evaluate(F,W,{},te),needGeometry:bd(R)}}function wc(R,A){return RA?1:0}function bd(R){if(!Array.isArray(R))return!1;if(R[0]==="within"||R[0]==="distance")return!0;for(let A=1;A"||A==="<="||A===">="?Pf(R[1],R[2],A):A==="any"?(F=R.slice(1),["any"].concat(F.map(xf))):A==="all"?["all"].concat(R.slice(1).map(xf)):A==="none"?["all"].concat(R.slice(1).map(xf).map(jl)):A==="in"?qu(R[1],R.slice(2)):A==="!in"?jl(qu(R[1],R.slice(2))):A==="has"?bf(R[1]):A!=="!has"||jl(bf(R[1]));var F}function Pf(R,A,F){switch(R){case"$type":return[`filter-type-${F}`,A];case"$id":return[`filter-id-${F}`,A];default:return[`filter-${F}`,R,A]}}function qu(R,A){if(A.length===0)return!1;switch(R){case"$type":return["filter-type-in",["literal",A]];case"$id":return["filter-id-in",["literal",A]];default:return A.length>200&&!A.some(F=>typeof F!=typeof A[0])?["filter-in-large",R,["literal",A.sort(wc)]]:["filter-in-small",R,["literal",A]]}}function bf(R){switch(R){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",R]}}function jl(R){return["!",R]}function uf(R){let A=typeof R;if(A==="number"||A==="boolean"||A==="string"||R==null)return JSON.stringify(R);if(Array.isArray(R)){let te="[";for(let fe of R)te+=`${uf(fe)},`;return`${te}]`}let F=Object.keys(R).sort(),W="{";for(let te=0;teW.maximum?[new Ue(A,F,`${F} is greater than the maximum value ${W.maximum}`)]:[]}function wf(R){let A=R.valueSpec,F=Cs(R.value.type),W,te,fe,pe={},Re=F!=="categorical"&&R.value.property===void 0,Ke=!Re,ft=gs(R.value.stops)==="array"&&gs(R.value.stops[0])==="array"&&gs(R.value.stops[0][0])==="object",Rt=ku({key:R.key,value:R.value,valueSpec:R.styleSpec.function,validateSpec:R.validateSpec,style:R.style,styleSpec:R.styleSpec,objectElementValidators:{stops:function(vr){if(F==="identity")return[new Ue(vr.key,vr.value,'identity function may not have a "stops" property')];let kr=[],Dr=vr.value;return kr=kr.concat(Xf({key:vr.key,value:Dr,valueSpec:vr.valueSpec,validateSpec:vr.validateSpec,style:vr.style,styleSpec:vr.styleSpec,arrayElementValidator:er})),gs(Dr)==="array"&&Dr.length===0&&kr.push(new Ue(vr.key,Dr,"array must have at least one stop")),kr},default:function(vr){return vr.validateSpec({key:vr.key,value:vr.value,valueSpec:A,validateSpec:vr.validateSpec,style:vr.style,styleSpec:vr.styleSpec})}}});return F==="identity"&&Re&&Rt.push(new Ue(R.key,R.value,'missing required property "property"')),F==="identity"||R.value.stops||Rt.push(new Ue(R.key,R.value,'missing required property "stops"')),F==="exponential"&&R.valueSpec.expression&&!Rc(R.valueSpec)&&Rt.push(new Ue(R.key,R.value,"exponential functions not supported")),R.styleSpec.$version>=8&&(Ke&&!Nl(R.valueSpec)?Rt.push(new Ue(R.key,R.value,"property functions not supported")):Re&&!Kc(R.valueSpec)&&Rt.push(new Ue(R.key,R.value,"zoom functions not supported"))),F!=="categorical"&&!ft||R.value.property!==void 0||Rt.push(new Ue(R.key,R.value,'"property" property is required')),Rt;function er(vr){let kr=[],Dr=vr.value,li=vr.key;if(gs(Dr)!=="array")return[new Ue(li,Dr,`array expected, ${gs(Dr)} found`)];if(Dr.length!==2)return[new Ue(li,Dr,`array length 2 expected, length ${Dr.length} found`)];if(ft){if(gs(Dr[0])!=="object")return[new Ue(li,Dr,`object expected, ${gs(Dr[0])} found`)];if(Dr[0].zoom===void 0)return[new Ue(li,Dr,"object stop key must have zoom")];if(Dr[0].value===void 0)return[new Ue(li,Dr,"object stop key must have value")];if(fe&&fe>Cs(Dr[0].zoom))return[new Ue(li,Dr[0].zoom,"stop zoom values must appear in ascending order")];Cs(Dr[0].zoom)!==fe&&(fe=Cs(Dr[0].zoom),te=void 0,pe={}),kr=kr.concat(ku({key:`${li}[0]`,value:Dr[0],valueSpec:{zoom:{}},validateSpec:vr.validateSpec,style:vr.style,styleSpec:vr.styleSpec,objectElementValidators:{zoom:Us,value:ur}}))}else kr=kr.concat(ur({key:`${li}[0]`,value:Dr[0],valueSpec:{},validateSpec:vr.validateSpec,style:vr.style,styleSpec:vr.styleSpec},Dr));return Dc(du(Dr[1]))?kr.concat([new Ue(`${li}[1]`,Dr[1],"expressions are not allowed in function stops.")]):kr.concat(vr.validateSpec({key:`${li}[1]`,value:Dr[1],valueSpec:A,validateSpec:vr.validateSpec,style:vr.style,styleSpec:vr.styleSpec}))}function ur(vr,kr){let Dr=gs(vr.value),li=Cs(vr.value),pi=vr.value!==null?vr.value:kr;if(W){if(Dr!==W)return[new Ue(vr.key,pi,`${Dr} stop domain type must match previous stop domain type ${W}`)]}else W=Dr;if(Dr!=="number"&&Dr!=="string"&&Dr!=="boolean")return[new Ue(vr.key,pi,"stop domain value must be a number, string, or boolean")];if(Dr!=="number"&&F!=="categorical"){let vn=`number expected, ${Dr} found`;return Nl(A)&&F===void 0&&(vn+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new Ue(vr.key,pi,vn)]}return F!=="categorical"||Dr!=="number"||isFinite(li)&&Math.floor(li)===li?F!=="categorical"&&Dr==="number"&&te!==void 0&&linew Ue(`${R.key}${W.key}`,R.value,W.message));let F=A.value.expression||A.value._styleExpression.expression;if(R.expressionContext==="property"&&R.propertyKey==="text-font"&&!F.outputDefined())return[new Ue(R.key,R.value,`Invalid data expression for "${R.propertyKey}". Output values must be contained as literals within the expression.`)];if(R.expressionContext==="property"&&R.propertyType==="layout"&&!ju(F))return[new Ue(R.key,R.value,'"feature-state" data expressions are not supported with layout properties.')];if(R.expressionContext==="filter"&&!ju(F))return[new Ue(R.key,R.value,'"feature-state" data expressions are not supported with filters.')];if(R.expressionContext&&R.expressionContext.indexOf("cluster")===0){if(!jf(F,["zoom","feature-state"]))return[new Ue(R.key,R.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if(R.expressionContext==="cluster-initial"&&!th(F))return[new Ue(R.key,R.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function Wu(R){let A=R.key,F=R.value,W=R.valueSpec,te=[];return Array.isArray(W.values)?W.values.indexOf(Cs(F))===-1&&te.push(new Ue(A,F,`expected one of [${W.values.join(", ")}], ${JSON.stringify(F)} found`)):Object.keys(W.values).indexOf(Cs(F))===-1&&te.push(new Ue(A,F,`expected one of [${Object.keys(W.values).join(", ")}], ${JSON.stringify(F)} found`)),te}function Rf(R){return Mh(du(R.value))?zc(Ae({},R,{expressionContext:"filter",valueSpec:{value:"boolean"}})):Xu(R)}function Xu(R){let A=R.value,F=R.key;if(gs(A)!=="array")return[new Ue(F,A,`array expected, ${gs(A)} found`)];let W=R.styleSpec,te,fe=[];if(A.length<1)return[new Ue(F,A,"filter array must have at least 1 element")];switch(fe=fe.concat(Wu({key:`${F}[0]`,value:A[0],valueSpec:W.filter_operator,style:R.style,styleSpec:R.styleSpec})),Cs(A[0])){case"<":case"<=":case">":case">=":A.length>=2&&Cs(A[1])==="$type"&&fe.push(new Ue(F,A,`"$type" cannot be use with operator "${A[0]}"`));case"==":case"!=":A.length!==3&&fe.push(new Ue(F,A,`filter array for operator "${A[0]}" must have 3 elements`));case"in":case"!in":A.length>=2&&(te=gs(A[1]),te!=="string"&&fe.push(new Ue(`${F}[1]`,A[1],`string expected, ${te} found`)));for(let pe=2;pe{ft in F&&A.push(new Ue(W,F[ft],`"${ft}" is prohibited for ref layers`))}),te.layers.forEach(ft=>{Cs(ft.id)===Re&&(Ke=ft)}),Ke?Ke.ref?A.push(new Ue(W,F.ref,"ref cannot reference another ref layer")):pe=Cs(Ke.type):A.push(new Ue(W,F.ref,`ref layer "${Re}" not found`))}else if(pe!=="background")if(F.source){let Ke=te.sources&&te.sources[F.source],ft=Ke&&Cs(Ke.type);Ke?ft==="vector"&&pe==="raster"?A.push(new Ue(W,F.source,`layer "${F.id}" requires a raster source`)):ft!=="raster-dem"&&pe==="hillshade"?A.push(new Ue(W,F.source,`layer "${F.id}" requires a raster-dem source`)):ft==="raster"&&pe!=="raster"?A.push(new Ue(W,F.source,`layer "${F.id}" requires a vector source`)):ft!=="vector"||F["source-layer"]?ft==="raster-dem"&&pe!=="hillshade"?A.push(new Ue(W,F.source,"raster-dem source can only be used with layer type 'hillshade'.")):pe!=="line"||!F.paint||!F.paint["line-gradient"]||ft==="geojson"&&Ke.lineMetrics||A.push(new Ue(W,F,`layer "${F.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):A.push(new Ue(W,F,`layer "${F.id}" must specify a "source-layer"`)):A.push(new Ue(W,F.source,`source "${F.source}" not found`))}else A.push(new Ue(W,F,'missing required property "source"'));return A=A.concat(ku({key:W,value:F,valueSpec:fe.layer,style:R.style,styleSpec:R.styleSpec,validateSpec:R.validateSpec,objectElementValidators:{"*":()=>[],type:()=>R.validateSpec({key:`${W}.type`,value:F.type,valueSpec:fe.layer.type,style:R.style,styleSpec:R.styleSpec,validateSpec:R.validateSpec,object:F,objectKey:"type"}),filter:Rf,layout:Ke=>ku({layer:F,key:Ke.key,value:Ke.value,style:Ke.style,styleSpec:Ke.styleSpec,validateSpec:Ke.validateSpec,objectElementValidators:{"*":ft=>Wl(Ae({layerType:pe},ft))}}),paint:Ke=>ku({layer:F,key:Ke.key,value:Ke.value,style:Ke.style,styleSpec:Ke.styleSpec,validateSpec:Ke.validateSpec,objectElementValidators:{"*":ft=>Zf(Ae({layerType:pe},ft))}})}})),A}function Zu(R){let A=R.value,F=R.key,W=gs(A);return W!=="string"?[new Ue(F,A,`string expected, ${W} found`)]:[]}let qc={promoteId:function({key:R,value:A}){if(gs(A)==="string")return Zu({key:R,value:A});{let F=[];for(let W in A)F.push(...Zu({key:`${R}.${W}`,value:A[W]}));return F}}};function Tc(R){let A=R.value,F=R.key,W=R.styleSpec,te=R.style,fe=R.validateSpec;if(!A.type)return[new Ue(F,A,'"type" is required')];let pe=Cs(A.type),Re;switch(pe){case"vector":case"raster":return Re=ku({key:F,value:A,valueSpec:W[`source_${pe.replace("-","_")}`],style:R.style,styleSpec:W,objectElementValidators:qc,validateSpec:fe}),Re;case"raster-dem":return Re=function(Ke){var ft;let Rt=(ft=Ke.sourceName)!==null&&ft!==void 0?ft:"",er=Ke.value,ur=Ke.styleSpec,vr=ur.source_raster_dem,kr=Ke.style,Dr=[],li=gs(er);if(er===void 0)return Dr;if(li!=="object")return Dr.push(new Ue("source_raster_dem",er,`object expected, ${li} found`)),Dr;let pi=Cs(er.encoding)==="custom",vn=["redFactor","greenFactor","blueFactor","baseShift"],zi=Ke.value.encoding?`"${Ke.value.encoding}"`:"Default";for(let ln in er)!pi&&vn.includes(ln)?Dr.push(new Ue(ln,er[ln],`In "${Rt}": "${ln}" is only valid when "encoding" is set to "custom". ${zi} encoding found`)):vr[ln]?Dr=Dr.concat(Ke.validateSpec({key:ln,value:er[ln],valueSpec:vr[ln],validateSpec:Ke.validateSpec,style:kr,styleSpec:ur})):Dr.push(new Ue(ln,er[ln],`unknown property "${ln}"`));return Dr}({sourceName:F,value:A,style:R.style,styleSpec:W,validateSpec:fe}),Re;case"geojson":if(Re=ku({key:F,value:A,valueSpec:W.source_geojson,style:te,styleSpec:W,validateSpec:fe,objectElementValidators:qc}),A.cluster)for(let Ke in A.clusterProperties){let[ft,Rt]=A.clusterProperties[Ke],er=typeof ft=="string"?[ft,["accumulated"],["get",Ke]]:ft;Re.push(...zc({key:`${F}.${Ke}.map`,value:Rt,validateSpec:fe,expressionContext:"cluster-map"})),Re.push(...zc({key:`${F}.${Ke}.reduce`,value:er,validateSpec:fe,expressionContext:"cluster-reduce"}))}return Re;case"video":return ku({key:F,value:A,valueSpec:W.source_video,style:te,validateSpec:fe,styleSpec:W});case"image":return ku({key:F,value:A,valueSpec:W.source_image,style:te,validateSpec:fe,styleSpec:W});case"canvas":return[new Ue(F,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return Wu({key:`${F}.type`,value:A.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:te,validateSpec:fe,styleSpec:W})}}function wl(R){let A=R.value,F=R.styleSpec,W=F.light,te=R.style,fe=[],pe=gs(A);if(A===void 0)return fe;if(pe!=="object")return fe=fe.concat([new Ue("light",A,`object expected, ${pe} found`)]),fe;for(let Re in A){let Ke=Re.match(/^(.*)-transition$/);fe=fe.concat(Ke&&W[Ke[1]]&&W[Ke[1]].transition?R.validateSpec({key:Re,value:A[Re],valueSpec:F.transition,validateSpec:R.validateSpec,style:te,styleSpec:F}):W[Re]?R.validateSpec({key:Re,value:A[Re],valueSpec:W[Re],validateSpec:R.validateSpec,style:te,styleSpec:F}):[new Ue(Re,A[Re],`unknown property "${Re}"`)])}return fe}function vu(R){let A=R.value,F=R.styleSpec,W=F.sky,te=R.style,fe=gs(A);if(A===void 0)return[];if(fe!=="object")return[new Ue("sky",A,`object expected, ${fe} found`)];let pe=[];for(let Re in A)pe=pe.concat(W[Re]?R.validateSpec({key:Re,value:A[Re],valueSpec:W[Re],style:te,styleSpec:F}):[new Ue(Re,A[Re],`unknown property "${Re}"`)]);return pe}function Oc(R){let A=R.value,F=R.styleSpec,W=F.terrain,te=R.style,fe=[],pe=gs(A);if(A===void 0)return fe;if(pe!=="object")return fe=fe.concat([new Ue("terrain",A,`object expected, ${pe} found`)]),fe;for(let Re in A)fe=fe.concat(W[Re]?R.validateSpec({key:Re,value:A[Re],valueSpec:W[Re],validateSpec:R.validateSpec,style:te,styleSpec:F}):[new Ue(Re,A[Re],`unknown property "${Re}"`)]);return fe}function ff(R){let A=[],F=R.value,W=R.key;if(Array.isArray(F)){let te=[],fe=[];for(let pe in F)F[pe].id&&te.includes(F[pe].id)&&A.push(new Ue(W,F,`all the sprites' ids must be unique, but ${F[pe].id} is duplicated`)),te.push(F[pe].id),F[pe].url&&fe.includes(F[pe].url)&&A.push(new Ue(W,F,`all the sprites' URLs must be unique, but ${F[pe].url} is duplicated`)),fe.push(F[pe].url),A=A.concat(ku({key:`${W}[${pe}]`,value:F[pe],valueSpec:{id:{type:"string",required:!0},url:{type:"string",required:!0}},validateSpec:R.validateSpec}));return A}return Zu({key:W,value:F})}let fc={"*":()=>[],array:Xf,boolean:function(R){let A=R.value,F=R.key,W=gs(A);return W!=="boolean"?[new Ue(F,A,`boolean expected, ${W} found`)]:[]},number:Us,color:function(R){let A=R.key,F=R.value,W=gs(F);return W!=="string"?[new Ue(A,F,`color expected, ${W} found`)]:ir.parse(String(F))?[]:[new Ue(A,F,`color expected, "${F}" found`)]},constants:If,enum:Wu,filter:Rf,function:wf,layer:ah,object:ku,source:Tc,light:wl,sky:vu,terrain:Oc,projection:function(R){let A=R.value,F=R.styleSpec,W=F.projection,te=R.style,fe=gs(A);if(A===void 0)return[];if(fe!=="object")return[new Ue("projection",A,`object expected, ${fe} found`)];let pe=[];for(let Re in A)pe=pe.concat(W[Re]?R.validateSpec({key:Re,value:A[Re],valueSpec:W[Re],style:te,styleSpec:F}):[new Ue(Re,A[Re],`unknown property "${Re}"`)]);return pe},string:Zu,formatted:function(R){return Zu(R).length===0?[]:zc(R)},resolvedImage:function(R){return Zu(R).length===0?[]:zc(R)},padding:function(R){let A=R.key,F=R.value;if(gs(F)==="array"){if(F.length<1||F.length>4)return[new Ue(A,F,`padding requires 1 to 4 values; ${F.length} values found`)];let W={type:"number"},te=[];for(let fe=0;fe[]}})),R.constants&&(F=F.concat(If({key:"constants",value:R.constants,style:R,styleSpec:A,validateSpec:Bc}))),xr(F)}function Er(R){return function(A){return R(j1(_g({},A),{validateSpec:Bc}))}}function xr(R){return[].concat(R).sort((A,F)=>A.line-F.line)}function Kr(R){return function(...A){return xr(R.apply(this,A))}}Zt.source=Kr(Er(Tc)),Zt.sprite=Kr(Er(ff)),Zt.glyphs=Kr(Er(kt)),Zt.light=Kr(Er(wl)),Zt.sky=Kr(Er(vu)),Zt.terrain=Kr(Er(Oc)),Zt.layer=Kr(Er(ah)),Zt.filter=Kr(Er(Rf)),Zt.paintProperty=Kr(Er(Zf)),Zt.layoutProperty=Kr(Er(Wl));let Mi=Zt,Wi=Mi.light,dn=Mi.sky,wn=Mi.paintProperty,On=Mi.layoutProperty;function Yi(R,A){let F=!1;if(A&&A.length)for(let W of A)R.fire(new me(new Error(W.message))),F=!0;return F}class $i{constructor(A,F,W){let te=this.cells=[];if(A instanceof ArrayBuffer){this.arrayBuffer=A;let pe=new Int32Array(this.arrayBuffer);A=pe[0],this.d=(F=pe[1])+2*(W=pe[2]);for(let Ke=0;Ke=er[kr+0]&&te>=er[kr+1])?(Re[vr]=!0,pe.push(Rt[vr])):Re[vr]=!1}}}}_forEachCell(A,F,W,te,fe,pe,Re,Ke){let ft=this._convertToCellCoord(A),Rt=this._convertToCellCoord(F),er=this._convertToCellCoord(W),ur=this._convertToCellCoord(te);for(let vr=ft;vr<=er;vr++)for(let kr=Rt;kr<=ur;kr++){let Dr=this.d*kr+vr;if((!Ke||Ke(this._convertFromCellCoord(vr),this._convertFromCellCoord(kr),this._convertFromCellCoord(vr+1),this._convertFromCellCoord(kr+1)))&&fe.call(this,A,F,W,te,Dr,pe,Re,Ke))return}}_convertFromCellCoord(A){return(A-this.padding)/this.scale}_convertToCellCoord(A){return Math.max(0,Math.min(this.d-1,Math.floor(A*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let A=this.cells,F=3+this.cells.length+1+1,W=0;for(let pe=0;pe=0)continue;let pe=R[fe];te[fe]=an[F].shallow.indexOf(fe)>=0?pe:La(pe,A)}R instanceof Error&&(te.message=R.message)}if(te.$name)throw new Error("$name property is reserved for worker serialization logic.");return F!=="Object"&&(te.$name=F),te}function Ua(R){if(Ra(R))return R;if(Array.isArray(R))return R.map(Ua);if(typeof R!="object")throw new Error("can't deserialize object of type "+typeof R);let A=Ca(R)||"Object";if(!an[A])throw new Error(`can't deserialize unregistered class ${A}`);let{klass:F}=an[A];if(!F)throw new Error(`can't deserialize unregistered class ${A}`);if(F.deserialize)return F.deserialize(R);let W=Object.create(F.prototype);for(let te of Object.keys(R)){if(te==="$name")continue;let fe=R[te];W[te]=an[A].shallow.indexOf(te)>=0?fe:Ua(fe)}return W}class Zn{constructor(){this.first=!0}update(A,F){let W=Math.floor(A);return this.first?(this.first=!1,this.lastIntegerZoom=W,this.lastIntegerZoomTime=0,this.lastZoom=A,this.lastFloorZoom=W,!0):(this.lastFloorZoom>W?(this.lastIntegerZoom=W+1,this.lastIntegerZoomTime=F):this.lastFloorZoomR>=128&&R<=255,"Hangul Jamo":R=>R>=4352&&R<=4607,Khmer:R=>R>=6016&&R<=6143,"General Punctuation":R=>R>=8192&&R<=8303,"Letterlike Symbols":R=>R>=8448&&R<=8527,"Number Forms":R=>R>=8528&&R<=8591,"Miscellaneous Technical":R=>R>=8960&&R<=9215,"Control Pictures":R=>R>=9216&&R<=9279,"Optical Character Recognition":R=>R>=9280&&R<=9311,"Enclosed Alphanumerics":R=>R>=9312&&R<=9471,"Geometric Shapes":R=>R>=9632&&R<=9727,"Miscellaneous Symbols":R=>R>=9728&&R<=9983,"Miscellaneous Symbols and Arrows":R=>R>=11008&&R<=11263,"Ideographic Description Characters":R=>R>=12272&&R<=12287,"CJK Symbols and Punctuation":R=>R>=12288&&R<=12351,Katakana:R=>R>=12448&&R<=12543,Kanbun:R=>R>=12688&&R<=12703,"CJK Strokes":R=>R>=12736&&R<=12783,"Enclosed CJK Letters and Months":R=>R>=12800&&R<=13055,"CJK Compatibility":R=>R>=13056&&R<=13311,"Yijing Hexagram Symbols":R=>R>=19904&&R<=19967,"Private Use Area":R=>R>=57344&&R<=63743,"Vertical Forms":R=>R>=65040&&R<=65055,"CJK Compatibility Forms":R=>R>=65072&&R<=65103,"Small Form Variants":R=>R>=65104&&R<=65135,"Halfwidth and Fullwidth Forms":R=>R>=65280&&R<=65519};function Ka(R){for(let A of R)if(Ho(A.charCodeAt(0)))return!0;return!1}function bo(R){for(let A of R)if(!as(A.charCodeAt(0)))return!1;return!0}function Zo(R){let A=R.map(F=>{try{return new RegExp(`\\p{sc=${F}}`,"u").source}catch(W){return null}}).filter(F=>F);return new RegExp(A.join("|"),"u")}let Ss=Zo(["Arab","Dupl","Mong","Ougr","Syrc"]);function as(R){return!Ss.test(String.fromCodePoint(R))}let ws=Zo(["Bopo","Hani","Hira","Kana","Kits","Nshu","Tang","Yiii"]);function Ho(R){return!(R!==746&&R!==747&&(R<4352||!(Dn["CJK Compatibility Forms"](R)&&!(R>=65097&&R<=65103)||Dn["CJK Compatibility"](R)||Dn["CJK Strokes"](R)||!(!Dn["CJK Symbols and Punctuation"](R)||R>=12296&&R<=12305||R>=12308&&R<=12319||R===12336)||Dn["Enclosed CJK Letters and Months"](R)||Dn["Ideographic Description Characters"](R)||Dn.Kanbun(R)||Dn.Katakana(R)&&R!==12540||!(!Dn["Halfwidth and Fullwidth Forms"](R)||R===65288||R===65289||R===65293||R>=65306&&R<=65310||R===65339||R===65341||R===65343||R>=65371&&R<=65503||R===65507||R>=65512&&R<=65519)||!(!Dn["Small Form Variants"](R)||R>=65112&&R<=65118||R>=65123&&R<=65126)||Dn["Vertical Forms"](R)||Dn["Yijing Hexagram Symbols"](R)||new RegExp("\\p{sc=Cans}","u").test(String.fromCodePoint(R))||new RegExp("\\p{sc=Hang}","u").test(String.fromCodePoint(R))||ws.test(String.fromCodePoint(R)))))}function ml(R){return!(Ho(R)||function(A){return!!(Dn["Latin-1 Supplement"](A)&&(A===167||A===169||A===174||A===177||A===188||A===189||A===190||A===215||A===247)||Dn["General Punctuation"](A)&&(A===8214||A===8224||A===8225||A===8240||A===8241||A===8251||A===8252||A===8258||A===8263||A===8264||A===8265||A===8273)||Dn["Letterlike Symbols"](A)||Dn["Number Forms"](A)||Dn["Miscellaneous Technical"](A)&&(A>=8960&&A<=8967||A>=8972&&A<=8991||A>=8996&&A<=9e3||A===9003||A>=9085&&A<=9114||A>=9150&&A<=9165||A===9167||A>=9169&&A<=9179||A>=9186&&A<=9215)||Dn["Control Pictures"](A)&&A!==9251||Dn["Optical Character Recognition"](A)||Dn["Enclosed Alphanumerics"](A)||Dn["Geometric Shapes"](A)||Dn["Miscellaneous Symbols"](A)&&!(A>=9754&&A<=9759)||Dn["Miscellaneous Symbols and Arrows"](A)&&(A>=11026&&A<=11055||A>=11088&&A<=11097||A>=11192&&A<=11243)||Dn["CJK Symbols and Punctuation"](A)||Dn.Katakana(A)||Dn["Private Use Area"](A)||Dn["CJK Compatibility Forms"](A)||Dn["Small Form Variants"](A)||Dn["Halfwidth and Fullwidth Forms"](A)||A===8734||A===8756||A===8757||A>=9984&&A<=10087||A>=10102&&A<=10131||A===65532||A===65533)}(R))}let Ws=Zo(["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 Ls(R){return Ws.test(String.fromCodePoint(R))}function va(R,A){return!(!A&&Ls(R)||R>=2304&&R<=3583||R>=3840&&R<=4255||Dn.Khmer(R))}function no(R){for(let A of R)if(Ls(A.charCodeAt(0)))return!0;return!1}let ys=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus="unavailable",this.pluginURL=null}setState(R){this.pluginStatus=R.pluginStatus,this.pluginURL=R.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(R){this.applyArabicShaping=R.applyArabicShaping,this.processBidirectionalText=R.processBidirectionalText,this.processStyledBidirectionalText=R.processStyledBidirectionalText}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class rs{constructor(A,F){this.zoom=A,F?(this.now=F.now,this.fadeDuration=F.fadeDuration,this.zoomHistory=F.zoomHistory,this.transition=F.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Zn,this.transition={})}isSupportedScript(A){return function(F,W){for(let te of F)if(!va(te.charCodeAt(0),W))return!1;return!0}(A,ys.getRTLTextPluginStatus()==="loaded")}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let A=this.zoom,F=A-Math.floor(A),W=this.crossFadingFactor();return A>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:F+(1-F)*W}:{fromScale:.5,toScale:1,t:1-(1-W)*F}}}class Ql{constructor(A,F){this.property=A,this.value=F,this.expression=function(W,te){if(Wf(W))return new nl(W,te);if(Dc(W)){let fe=_u(W,te);if(fe.result==="error")throw new Error(fe.value.map(pe=>`${pe.key}: ${pe.message}`).join(", "));return fe.value}{let fe=W;return te.type==="color"&&typeof W=="string"?fe=ir.parse(W):te.type!=="padding"||typeof W!="number"&&!Array.isArray(W)?te.type==="variableAnchorOffsetCollection"&&Array.isArray(W)&&(fe=Zi.parse(W)):fe=$r.parse(W),{kind:"constant",evaluate:()=>fe}}}(F===void 0?A.specification.default:F,A.specification)}isDataDriven(){return this.expression.kind==="source"||this.expression.kind==="composite"}possiblyEvaluate(A,F,W){return this.property.possiblyEvaluate(this,A,F,W)}}class Cu{constructor(A){this.property=A,this.value=new Ql(A,void 0)}transitioned(A,F){return new Nc(this.property,this.value,F,L({},A.transition,this.transition),A.now)}untransitioned(){return new Nc(this.property,this.value,null,{},0)}}class Yu{constructor(A){this._properties=A,this._values=Object.create(A.defaultTransitionablePropertyValues)}getValue(A){return g(this._values[A].value.value)}setValue(A,F){Object.prototype.hasOwnProperty.call(this._values,A)||(this._values[A]=new Cu(this._values[A].property)),this._values[A].value=new Ql(this._values[A].property,F===null?void 0:g(F))}getTransition(A){return g(this._values[A].transition)}setTransition(A,F){Object.prototype.hasOwnProperty.call(this._values,A)||(this._values[A]=new Cu(this._values[A].property)),this._values[A].transition=g(F)||void 0}serialize(){let A={};for(let F of Object.keys(this._values)){let W=this.getValue(F);W!==void 0&&(A[F]=W);let te=this.getTransition(F);te!==void 0&&(A[`${F}-transition`]=te)}return A}transitioned(A,F){let W=new pu(this._properties);for(let te of Object.keys(this._values))W._values[te]=this._values[te].transitioned(A,F._values[te]);return W}untransitioned(){let A=new pu(this._properties);for(let F of Object.keys(this._values))A._values[F]=this._values[F].untransitioned();return A}}class Nc{constructor(A,F,W,te,fe){this.property=A,this.value=F,this.begin=fe+te.delay||0,this.end=this.begin+te.duration||0,A.specification.transition&&(te.delay||te.duration)&&(this.prior=W)}possiblyEvaluate(A,F,W){let te=A.now||0,fe=this.value.possiblyEvaluate(A,F,W),pe=this.prior;if(pe){if(te>this.end)return this.prior=null,fe;if(this.value.isDataDriven())return this.prior=null,fe;if(te=1)return 1;let ft=Ke*Ke,Rt=ft*Ke;return 4*(Ke<.5?Rt:3*(Ke-ft)+Rt-.75)}(Re))}}return fe}}class pu{constructor(A){this._properties=A,this._values=Object.create(A.defaultTransitioningPropertyValues)}possiblyEvaluate(A,F,W){let te=new Ac(this._properties);for(let fe of Object.keys(this._values))te._values[fe]=this._values[fe].possiblyEvaluate(A,F,W);return te}hasTransition(){for(let A of Object.keys(this._values))if(this._values[A].prior)return!0;return!1}}class Uc{constructor(A){this._properties=A,this._values=Object.create(A.defaultPropertyValues)}hasValue(A){return this._values[A].value!==void 0}getValue(A){return g(this._values[A].value)}setValue(A,F){this._values[A]=new Ql(this._values[A].property,F===null?void 0:g(F))}serialize(){let A={};for(let F of Object.keys(this._values)){let W=this.getValue(F);W!==void 0&&(A[F]=W)}return A}possiblyEvaluate(A,F,W){let te=new Ac(this._properties);for(let fe of Object.keys(this._values))te._values[fe]=this._values[fe].possiblyEvaluate(A,F,W);return te}}class xu{constructor(A,F,W){this.property=A,this.value=F,this.parameters=W}isConstant(){return this.value.kind==="constant"}constantOr(A){return this.value.kind==="constant"?this.value.value:A}evaluate(A,F,W,te){return this.property.evaluate(this.value,this.parameters,A,F,W,te)}}class Ac{constructor(A){this._properties=A,this._values=Object.create(A.defaultPossiblyEvaluatedValues)}get(A){return this._values[A]}}class Va{constructor(A){this.specification=A}possiblyEvaluate(A,F){if(A.isDataDriven())throw new Error("Value should not be data driven");return A.expression.evaluate(F)}interpolate(A,F,W){let te=Lo[this.specification.type];return te?te(A,F,W):A}}class oo{constructor(A,F){this.specification=A,this.overrides=F}possiblyEvaluate(A,F,W,te){return new xu(this,A.expression.kind==="constant"||A.expression.kind==="camera"?{kind:"constant",value:A.expression.evaluate(F,null,{},W,te)}:A.expression,F)}interpolate(A,F,W){if(A.value.kind!=="constant"||F.value.kind!=="constant")return A;if(A.value.value===void 0||F.value.value===void 0)return new xu(this,{kind:"constant",value:void 0},A.parameters);let te=Lo[this.specification.type];if(te){let fe=te(A.value.value,F.value.value,W);return new xu(this,{kind:"constant",value:fe},A.parameters)}return A}evaluate(A,F,W,te,fe,pe){return A.kind==="constant"?A.value:A.evaluate(F,W,te,fe,pe)}}class Vc extends oo{possiblyEvaluate(A,F,W,te){if(A.value===void 0)return new xu(this,{kind:"constant",value:void 0},F);if(A.expression.kind==="constant"){let fe=A.expression.evaluate(F,null,{},W,te),pe=A.property.specification.type==="resolvedImage"&&typeof fe!="string"?fe.name:fe,Re=this._calculate(pe,pe,pe,F);return new xu(this,{kind:"constant",value:Re},F)}if(A.expression.kind==="camera"){let fe=this._calculate(A.expression.evaluate({zoom:F.zoom-1}),A.expression.evaluate({zoom:F.zoom}),A.expression.evaluate({zoom:F.zoom+1}),F);return new xu(this,{kind:"constant",value:fe},F)}return new xu(this,A.expression,F)}evaluate(A,F,W,te,fe,pe){if(A.kind==="source"){let Re=A.evaluate(F,W,te,fe,pe);return this._calculate(Re,Re,Re,F)}return A.kind==="composite"?this._calculate(A.evaluate({zoom:Math.floor(F.zoom)-1},W,te),A.evaluate({zoom:Math.floor(F.zoom)},W,te),A.evaluate({zoom:Math.floor(F.zoom)+1},W,te),F):A.value}_calculate(A,F,W,te){return te.zoom>te.zoomHistory.lastIntegerZoom?{from:A,to:F}:{from:W,to:F}}interpolate(A){return A}}class hc{constructor(A){this.specification=A}possiblyEvaluate(A,F,W,te){if(A.value!==void 0){if(A.expression.kind==="constant"){let fe=A.expression.evaluate(F,null,{},W,te);return this._calculate(fe,fe,fe,F)}return this._calculate(A.expression.evaluate(new rs(Math.floor(F.zoom-1),F)),A.expression.evaluate(new rs(Math.floor(F.zoom),F)),A.expression.evaluate(new rs(Math.floor(F.zoom+1),F)),F)}}_calculate(A,F,W,te){return te.zoom>te.zoomHistory.lastIntegerZoom?{from:A,to:F}:{from:W,to:F}}interpolate(A){return A}}class Ku{constructor(A){this.specification=A}possiblyEvaluate(A,F,W,te){return!!A.expression.evaluate(F,null,{},W,te)}interpolate(){return!1}}class ue{constructor(A){this.properties=A,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let F in A){let W=A[F];W.specification.overridable&&this.overridableProperties.push(F);let te=this.defaultPropertyValues[F]=new Ql(W,void 0),fe=this.defaultTransitionablePropertyValues[F]=new Cu(W);this.defaultTransitioningPropertyValues[F]=fe.untransitioned(),this.defaultPossiblyEvaluatedValues[F]=te.possiblyEvaluate({})}}}Fi("DataDrivenProperty",oo),Fi("DataConstantProperty",Va),Fi("CrossFadedDataDrivenProperty",Vc),Fi("CrossFadedProperty",hc),Fi("ColorRampProperty",Ku);let w="-transition";class B extends Pe{constructor(A,F){if(super(),this.id=A.id,this.type=A.type,this._featureFilter={filter:()=>!0,needGeometry:!1},A.type!=="custom"&&(this.metadata=A.metadata,this.minzoom=A.minzoom,this.maxzoom=A.maxzoom,A.type!=="background"&&(this.source=A.source,this.sourceLayer=A["source-layer"],this.filter=A.filter),F.layout&&(this._unevaluatedLayout=new Uc(F.layout)),F.paint)){this._transitionablePaint=new Yu(F.paint);for(let W in A.paint)this.setPaintProperty(W,A.paint[W],{validate:!1});for(let W in A.layout)this.setLayoutProperty(W,A.layout[W],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Ac(F.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(A){return A==="visibility"?this.visibility:this._unevaluatedLayout.getValue(A)}setLayoutProperty(A,F,W={}){F!=null&&this._validate(On,`layers.${this.id}.layout.${A}`,A,F,W)||(A!=="visibility"?this._unevaluatedLayout.setValue(A,F):this.visibility=F)}getPaintProperty(A){return A.endsWith(w)?this._transitionablePaint.getTransition(A.slice(0,-11)):this._transitionablePaint.getValue(A)}setPaintProperty(A,F,W={}){if(F!=null&&this._validate(wn,`layers.${this.id}.paint.${A}`,A,F,W))return!1;if(A.endsWith(w))return this._transitionablePaint.setTransition(A.slice(0,-11),F||void 0),!1;{let te=this._transitionablePaint._values[A],fe=te.property.specification["property-type"]==="cross-faded-data-driven",pe=te.value.isDataDriven(),Re=te.value;this._transitionablePaint.setValue(A,F),this._handleSpecialPaintPropertyUpdate(A);let Ke=this._transitionablePaint._values[A].value;return Ke.isDataDriven()||pe||fe||this._handleOverridablePaintPropertyUpdate(A,Re,Ke)}}_handleSpecialPaintPropertyUpdate(A){}_handleOverridablePaintPropertyUpdate(A,F,W){return!1}isHidden(A){return!!(this.minzoom&&A=this.maxzoom)||this.visibility==="none"}updateTransitions(A){this._transitioningPaint=this._transitionablePaint.transitioned(A,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(A,F){A.getCrossfadeParameters&&(this._crossfadeParameters=A.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(A,void 0,F)),this.paint=this._transitioningPaint.possiblyEvaluate(A,void 0,F)}serialize(){let A={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(A.layout=A.layout||{},A.layout.visibility=this.visibility),S(A,(F,W)=>!(F===void 0||W==="layout"&&!Object.keys(F).length||W==="paint"&&!Object.keys(F).length))}_validate(A,F,W,te,fe={}){return(!fe||fe.validate!==!1)&&Yi(this,A.call(Mi,{key:F,layerType:this.type,objectKey:W,value:te,styleSpec:ce,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let A in this.paint._values){let F=this.paint.get(A);if(F instanceof xu&&Nl(F.property.specification)&&(F.value.kind==="source"||F.value.kind==="composite")&&F.value.isStateDependent)return!0}return!1}}let Q={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class ee{constructor(A,F){this._structArray=A,this._pos1=F*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class le{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(A,F){return A._trim(),F&&(A.isTransferred=!0,F.push(A.arrayBuffer)),{length:A.length,arrayBuffer:A.arrayBuffer}}static deserialize(A){let F=Object.create(this.prototype);return F.arrayBuffer=A.arrayBuffer,F.length=A.length,F.capacity=A.arrayBuffer.byteLength/F.bytesPerElement,F._refreshViews(),F}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(A){this.reserve(A),this.length=A}reserve(A){if(A>this.capacity){this.capacity=Math.max(A,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let F=this.uint8;this._refreshViews(),F&&this.uint8.set(F)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}}function Fe(R,A=1){let F=0,W=0;return{members:R.map(te=>{let fe=Q[te.type].BYTES_PER_ELEMENT,pe=F=Ze(F,Math.max(A,fe)),Re=te.components||1;return W=Math.max(W,fe),F+=fe*Re,{name:te.name,type:te.type,components:Re,offset:pe}}),size:Ze(F,Math.max(W,A)),alignment:A}}function Ze(R,A){return Math.ceil(R/A)*A}class ut extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(A,F){let W=this.length;return this.resize(W+1),this.emplace(W,A,F)}emplace(A,F,W){let te=2*A;return this.int16[te+0]=F,this.int16[te+1]=W,A}}ut.prototype.bytesPerElement=4,Fi("StructArrayLayout2i4",ut);class Mt extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(A,F,W){let te=this.length;return this.resize(te+1),this.emplace(te,A,F,W)}emplace(A,F,W,te){let fe=3*A;return this.int16[fe+0]=F,this.int16[fe+1]=W,this.int16[fe+2]=te,A}}Mt.prototype.bytesPerElement=6,Fi("StructArrayLayout3i6",Mt);class Jt extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(A,F,W,te){let fe=this.length;return this.resize(fe+1),this.emplace(fe,A,F,W,te)}emplace(A,F,W,te,fe){let pe=4*A;return this.int16[pe+0]=F,this.int16[pe+1]=W,this.int16[pe+2]=te,this.int16[pe+3]=fe,A}}Jt.prototype.bytesPerElement=8,Fi("StructArrayLayout4i8",Jt);class $t extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(A,F,W,te,fe,pe){let Re=this.length;return this.resize(Re+1),this.emplace(Re,A,F,W,te,fe,pe)}emplace(A,F,W,te,fe,pe,Re){let Ke=6*A;return this.int16[Ke+0]=F,this.int16[Ke+1]=W,this.int16[Ke+2]=te,this.int16[Ke+3]=fe,this.int16[Ke+4]=pe,this.int16[Ke+5]=Re,A}}$t.prototype.bytesPerElement=12,Fi("StructArrayLayout2i4i12",$t);class yr extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(A,F,W,te,fe,pe){let Re=this.length;return this.resize(Re+1),this.emplace(Re,A,F,W,te,fe,pe)}emplace(A,F,W,te,fe,pe,Re){let Ke=4*A,ft=8*A;return this.int16[Ke+0]=F,this.int16[Ke+1]=W,this.uint8[ft+4]=te,this.uint8[ft+5]=fe,this.uint8[ft+6]=pe,this.uint8[ft+7]=Re,A}}yr.prototype.bytesPerElement=8,Fi("StructArrayLayout2i4ub8",yr);class Cr extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(A,F){let W=this.length;return this.resize(W+1),this.emplace(W,A,F)}emplace(A,F,W){let te=2*A;return this.float32[te+0]=F,this.float32[te+1]=W,A}}Cr.prototype.bytesPerElement=8,Fi("StructArrayLayout2f8",Cr);class ve extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(A,F,W,te,fe,pe,Re,Ke,ft,Rt){let er=this.length;return this.resize(er+1),this.emplace(er,A,F,W,te,fe,pe,Re,Ke,ft,Rt)}emplace(A,F,W,te,fe,pe,Re,Ke,ft,Rt,er){let ur=10*A;return this.uint16[ur+0]=F,this.uint16[ur+1]=W,this.uint16[ur+2]=te,this.uint16[ur+3]=fe,this.uint16[ur+4]=pe,this.uint16[ur+5]=Re,this.uint16[ur+6]=Ke,this.uint16[ur+7]=ft,this.uint16[ur+8]=Rt,this.uint16[ur+9]=er,A}}ve.prototype.bytesPerElement=20,Fi("StructArrayLayout10ui20",ve);class xe extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(A,F,W,te,fe,pe,Re,Ke,ft,Rt,er,ur){let vr=this.length;return this.resize(vr+1),this.emplace(vr,A,F,W,te,fe,pe,Re,Ke,ft,Rt,er,ur)}emplace(A,F,W,te,fe,pe,Re,Ke,ft,Rt,er,ur,vr){let kr=12*A;return this.int16[kr+0]=F,this.int16[kr+1]=W,this.int16[kr+2]=te,this.int16[kr+3]=fe,this.uint16[kr+4]=pe,this.uint16[kr+5]=Re,this.uint16[kr+6]=Ke,this.uint16[kr+7]=ft,this.int16[kr+8]=Rt,this.int16[kr+9]=er,this.int16[kr+10]=ur,this.int16[kr+11]=vr,A}}xe.prototype.bytesPerElement=24,Fi("StructArrayLayout4i4ui4i24",xe);class Ie extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(A,F,W){let te=this.length;return this.resize(te+1),this.emplace(te,A,F,W)}emplace(A,F,W,te){let fe=3*A;return this.float32[fe+0]=F,this.float32[fe+1]=W,this.float32[fe+2]=te,A}}Ie.prototype.bytesPerElement=12,Fi("StructArrayLayout3f12",Ie);class ze extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(A){let F=this.length;return this.resize(F+1),this.emplace(F,A)}emplace(A,F){return this.uint32[1*A+0]=F,A}}ze.prototype.bytesPerElement=4,Fi("StructArrayLayout1ul4",ze);class Qe extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(A,F,W,te,fe,pe,Re,Ke,ft){let Rt=this.length;return this.resize(Rt+1),this.emplace(Rt,A,F,W,te,fe,pe,Re,Ke,ft)}emplace(A,F,W,te,fe,pe,Re,Ke,ft,Rt){let er=10*A,ur=5*A;return this.int16[er+0]=F,this.int16[er+1]=W,this.int16[er+2]=te,this.int16[er+3]=fe,this.int16[er+4]=pe,this.int16[er+5]=Re,this.uint32[ur+3]=Ke,this.uint16[er+8]=ft,this.uint16[er+9]=Rt,A}}Qe.prototype.bytesPerElement=20,Fi("StructArrayLayout6i1ul2ui20",Qe);class Xe extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(A,F,W,te,fe,pe){let Re=this.length;return this.resize(Re+1),this.emplace(Re,A,F,W,te,fe,pe)}emplace(A,F,W,te,fe,pe,Re){let Ke=6*A;return this.int16[Ke+0]=F,this.int16[Ke+1]=W,this.int16[Ke+2]=te,this.int16[Ke+3]=fe,this.int16[Ke+4]=pe,this.int16[Ke+5]=Re,A}}Xe.prototype.bytesPerElement=12,Fi("StructArrayLayout2i2i2i12",Xe);class nt extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(A,F,W,te,fe){let pe=this.length;return this.resize(pe+1),this.emplace(pe,A,F,W,te,fe)}emplace(A,F,W,te,fe,pe){let Re=4*A,Ke=8*A;return this.float32[Re+0]=F,this.float32[Re+1]=W,this.float32[Re+2]=te,this.int16[Ke+6]=fe,this.int16[Ke+7]=pe,A}}nt.prototype.bytesPerElement=16,Fi("StructArrayLayout2f1f2i16",nt);class qt extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(A,F,W,te,fe,pe){let Re=this.length;return this.resize(Re+1),this.emplace(Re,A,F,W,te,fe,pe)}emplace(A,F,W,te,fe,pe,Re){let Ke=16*A,ft=4*A,Rt=8*A;return this.uint8[Ke+0]=F,this.uint8[Ke+1]=W,this.float32[ft+1]=te,this.float32[ft+2]=fe,this.int16[Rt+6]=pe,this.int16[Rt+7]=Re,A}}qt.prototype.bytesPerElement=16,Fi("StructArrayLayout2ub2f2i16",qt);class Wt extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(A,F,W){let te=this.length;return this.resize(te+1),this.emplace(te,A,F,W)}emplace(A,F,W,te){let fe=3*A;return this.uint16[fe+0]=F,this.uint16[fe+1]=W,this.uint16[fe+2]=te,A}}Wt.prototype.bytesPerElement=6,Fi("StructArrayLayout3ui6",Wt);class nr extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(A,F,W,te,fe,pe,Re,Ke,ft,Rt,er,ur,vr,kr,Dr,li,pi){let vn=this.length;return this.resize(vn+1),this.emplace(vn,A,F,W,te,fe,pe,Re,Ke,ft,Rt,er,ur,vr,kr,Dr,li,pi)}emplace(A,F,W,te,fe,pe,Re,Ke,ft,Rt,er,ur,vr,kr,Dr,li,pi,vn){let zi=24*A,ln=12*A,Tn=48*A;return this.int16[zi+0]=F,this.int16[zi+1]=W,this.uint16[zi+2]=te,this.uint16[zi+3]=fe,this.uint32[ln+2]=pe,this.uint32[ln+3]=Re,this.uint32[ln+4]=Ke,this.uint16[zi+10]=ft,this.uint16[zi+11]=Rt,this.uint16[zi+12]=er,this.float32[ln+7]=ur,this.float32[ln+8]=vr,this.uint8[Tn+36]=kr,this.uint8[Tn+37]=Dr,this.uint8[Tn+38]=li,this.uint32[ln+10]=pi,this.int16[zi+22]=vn,A}}nr.prototype.bytesPerElement=48,Fi("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",nr);class fr extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(A,F,W,te,fe,pe,Re,Ke,ft,Rt,er,ur,vr,kr,Dr,li,pi,vn,zi,ln,Tn,pa,ro,Vo,Xa,la,Mo,fo){let lo=this.length;return this.resize(lo+1),this.emplace(lo,A,F,W,te,fe,pe,Re,Ke,ft,Rt,er,ur,vr,kr,Dr,li,pi,vn,zi,ln,Tn,pa,ro,Vo,Xa,la,Mo,fo)}emplace(A,F,W,te,fe,pe,Re,Ke,ft,Rt,er,ur,vr,kr,Dr,li,pi,vn,zi,ln,Tn,pa,ro,Vo,Xa,la,Mo,fo,lo){let Wn=32*A,Ro=16*A;return this.int16[Wn+0]=F,this.int16[Wn+1]=W,this.int16[Wn+2]=te,this.int16[Wn+3]=fe,this.int16[Wn+4]=pe,this.int16[Wn+5]=Re,this.int16[Wn+6]=Ke,this.int16[Wn+7]=ft,this.uint16[Wn+8]=Rt,this.uint16[Wn+9]=er,this.uint16[Wn+10]=ur,this.uint16[Wn+11]=vr,this.uint16[Wn+12]=kr,this.uint16[Wn+13]=Dr,this.uint16[Wn+14]=li,this.uint16[Wn+15]=pi,this.uint16[Wn+16]=vn,this.uint16[Wn+17]=zi,this.uint16[Wn+18]=ln,this.uint16[Wn+19]=Tn,this.uint16[Wn+20]=pa,this.uint16[Wn+21]=ro,this.uint16[Wn+22]=Vo,this.uint32[Ro+12]=Xa,this.float32[Ro+13]=la,this.float32[Ro+14]=Mo,this.uint16[Wn+30]=fo,this.uint16[Wn+31]=lo,A}}fr.prototype.bytesPerElement=64,Fi("StructArrayLayout8i15ui1ul2f2ui64",fr);class br extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(A){let F=this.length;return this.resize(F+1),this.emplace(F,A)}emplace(A,F){return this.float32[1*A+0]=F,A}}br.prototype.bytesPerElement=4,Fi("StructArrayLayout1f4",br);class Fr extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(A,F,W){let te=this.length;return this.resize(te+1),this.emplace(te,A,F,W)}emplace(A,F,W,te){let fe=3*A;return this.uint16[6*A+0]=F,this.float32[fe+1]=W,this.float32[fe+2]=te,A}}Fr.prototype.bytesPerElement=12,Fi("StructArrayLayout1ui2f12",Fr);class Hr extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(A,F,W){let te=this.length;return this.resize(te+1),this.emplace(te,A,F,W)}emplace(A,F,W,te){let fe=4*A;return this.uint32[2*A+0]=F,this.uint16[fe+2]=W,this.uint16[fe+3]=te,A}}Hr.prototype.bytesPerElement=8,Fi("StructArrayLayout1ul2ui8",Hr);class ri extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(A,F){let W=this.length;return this.resize(W+1),this.emplace(W,A,F)}emplace(A,F,W){let te=2*A;return this.uint16[te+0]=F,this.uint16[te+1]=W,A}}ri.prototype.bytesPerElement=4,Fi("StructArrayLayout2ui4",ri);class Ci extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(A){let F=this.length;return this.resize(F+1),this.emplace(F,A)}emplace(A,F){return this.uint16[1*A+0]=F,A}}Ci.prototype.bytesPerElement=2,Fi("StructArrayLayout1ui2",Ci);class cn extends le{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(A,F,W,te){let fe=this.length;return this.resize(fe+1),this.emplace(fe,A,F,W,te)}emplace(A,F,W,te,fe){let pe=4*A;return this.float32[pe+0]=F,this.float32[pe+1]=W,this.float32[pe+2]=te,this.float32[pe+3]=fe,A}}cn.prototype.bytesPerElement=16,Fi("StructArrayLayout4f16",cn);class sn extends ee{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 u(this.anchorPointX,this.anchorPointY)}}sn.prototype.size=20;class Ln extends Qe{get(A){return new sn(this,A)}}Fi("CollisionBoxArray",Ln);class Yn extends ee{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(A){this._structArray.uint8[this._pos1+37]=A}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(A){this._structArray.uint8[this._pos1+38]=A}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(A){this._structArray.uint32[this._pos4+10]=A}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Yn.prototype.size=48;class Aa extends nr{get(A){return new Yn(this,A)}}Fi("PlacedSymbolArray",Aa);class fa extends ee{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(A){this._structArray.uint32[this._pos4+12]=A}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}fa.prototype.size=64;class $a extends fr{get(A){return new fa(this,A)}}Fi("SymbolInstanceArray",$a);class Co extends br{getoffsetX(A){return this.float32[1*A+0]}}Fi("GlyphOffsetArray",Co);class Qa extends Mt{getx(A){return this.int16[3*A+0]}gety(A){return this.int16[3*A+1]}gettileUnitDistanceFromAnchor(A){return this.int16[3*A+2]}}Fi("SymbolLineVertexArray",Qa);class mo extends ee{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]}}mo.prototype.size=12;class Bo extends Fr{get(A){return new mo(this,A)}}Fi("TextAnchorOffsetArray",Bo);class Ps extends ee{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]}}Ps.prototype.size=8;class Ts extends Hr{get(A){return new Ps(this,A)}}Fi("FeatureIndexArray",Ts);class wo extends ut{}class To extends ut{}class hl extends ut{}class Ul extends $t{}class Lu extends yr{}class au extends Cr{}class Js extends ve{}class eu extends xe{}class dc extends Ie{}class Tl extends ze{}class Al extends Xe{}class X extends qt{}class se extends Wt{}class Te extends ri{}let qe=Fe([{name:"a_pos",components:2,type:"Int16"}],4),{members:Ve}=qe;class Ye{constructor(A=[]){this.segments=A}prepareSegment(A,F,W,te){let fe=this.segments[this.segments.length-1];return A>Ye.MAX_VERTEX_ARRAY_LENGTH&&E(`Max vertices per segment is ${Ye.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${A}`),(!fe||fe.vertexLength+A>Ye.MAX_VERTEX_ARRAY_LENGTH||fe.sortKey!==te)&&(fe={vertexOffset:F.length,primitiveOffset:W.length,vertexLength:0,primitiveLength:0},te!==void 0&&(fe.sortKey=te),this.segments.push(fe)),fe}get(){return this.segments}destroy(){for(let A of this.segments)for(let F in A.vaos)A.vaos[F].destroy()}static simpleSegment(A,F,W,te){return new Ye([{vertexOffset:A,primitiveOffset:F,vertexLength:W,primitiveLength:te,vaos:{},sortKey:0}])}}function Pt(R,A){return 256*(R=M(Math.floor(R),0,255))+M(Math.floor(A),0,255)}Ye.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Fi("SegmentVector",Ye);let ot=Fe([{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 Xt={exports:{}},dr={exports:{}};dr.exports=function(R,A){var F,W,te,fe,pe,Re,Ke,ft;for(W=R.length-(F=3&R.length),te=A,pe=3432918353,Re=461845907,ft=0;ft>>16)*pe&65535)<<16)&4294967295)<<15|Ke>>>17))*Re+(((Ke>>>16)*Re&65535)<<16)&4294967295)<<13|te>>>19))+((5*(te>>>16)&65535)<<16)&4294967295))+((58964+(fe>>>16)&65535)<<16);switch(Ke=0,F){case 3:Ke^=(255&R.charCodeAt(ft+2))<<16;case 2:Ke^=(255&R.charCodeAt(ft+1))<<8;case 1:te^=Ke=(65535&(Ke=(Ke=(65535&(Ke^=255&R.charCodeAt(ft)))*pe+(((Ke>>>16)*pe&65535)<<16)&4294967295)<<15|Ke>>>17))*Re+(((Ke>>>16)*Re&65535)<<16)&4294967295}return te^=R.length,te=2246822507*(65535&(te^=te>>>16))+((2246822507*(te>>>16)&65535)<<16)&4294967295,te=3266489909*(65535&(te^=te>>>13))+((3266489909*(te>>>16)&65535)<<16)&4294967295,(te^=te>>>16)>>>0};var pr=dr.exports,Ur={exports:{}};Ur.exports=function(R,A){for(var F,W=R.length,te=A^W,fe=0;W>=4;)F=1540483477*(65535&(F=255&R.charCodeAt(fe)|(255&R.charCodeAt(++fe))<<8|(255&R.charCodeAt(++fe))<<16|(255&R.charCodeAt(++fe))<<24))+((1540483477*(F>>>16)&65535)<<16),te=1540483477*(65535&te)+((1540483477*(te>>>16)&65535)<<16)^(F=1540483477*(65535&(F^=F>>>24))+((1540483477*(F>>>16)&65535)<<16)),W-=4,++fe;switch(W){case 3:te^=(255&R.charCodeAt(fe+2))<<16;case 2:te^=(255&R.charCodeAt(fe+1))<<8;case 1:te=1540483477*(65535&(te^=255&R.charCodeAt(fe)))+((1540483477*(te>>>16)&65535)<<16)}return te=1540483477*(65535&(te^=te>>>13))+((1540483477*(te>>>16)&65535)<<16),(te^=te>>>15)>>>0};var zr=pr,gi=Ur.exports;Xt.exports=zr,Xt.exports.murmur3=zr,Xt.exports.murmur2=gi;var xi=o(Xt.exports);class Wr{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(A,F,W,te){this.ids.push(ii(A)),this.positions.push(F,W,te)}getPositions(A){if(!this.indexed)throw new Error("Trying to get index, but feature positions are not indexed");let F=ii(A),W=0,te=this.ids.length-1;for(;W>1;this.ids[pe]>=F?te=pe:W=pe+1}let fe=[];for(;this.ids[W]===F;)fe.push({index:this.positions[3*W],start:this.positions[3*W+1],end:this.positions[3*W+2]}),W++;return fe}static serialize(A,F){let W=new Float64Array(A.ids),te=new Uint32Array(A.positions);return di(W,te,0,W.length-1),F&&F.push(W.buffer,te.buffer),{ids:W,positions:te}}static deserialize(A){let F=new Wr;return F.ids=A.ids,F.positions=A.positions,F.indexed=!0,F}}function ii(R){let A=+R;return!isNaN(A)&&A<=Number.MAX_SAFE_INTEGER?A:xi(String(R))}function di(R,A,F,W){for(;F>1],fe=F-1,pe=W+1;for(;;){do fe++;while(R[fe]te);if(fe>=pe)break;Li(R,fe,pe),Li(A,3*fe,3*pe),Li(A,3*fe+1,3*pe+1),Li(A,3*fe+2,3*pe+2)}pe-F`u_${te}`),this.type=W}setUniform(A,F,W){A.set(W.constantOr(this.value))}getBinding(A,F,W){return this.type==="color"?new kn(A,F):new Qr(A,F)}}class Ia{constructor(A,F){this.uniformNames=F.map(W=>`u_${W}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(A,F){this.pixelRatioFrom=F.pixelRatio,this.pixelRatioTo=A.pixelRatio,this.patternFrom=F.tlbr,this.patternTo=A.tlbr}setUniform(A,F,W,te){let fe=te==="u_pattern_to"?this.patternTo:te==="u_pattern_from"?this.patternFrom:te==="u_pixel_ratio_to"?this.pixelRatioTo:te==="u_pixel_ratio_from"?this.pixelRatioFrom:null;fe&&A.set(fe)}getBinding(A,F,W){return W.substr(0,9)==="u_pattern"?new Pn(A,F):new Qr(A,F)}}class yo{constructor(A,F,W,te){this.expression=A,this.type=W,this.maxValue=0,this.paintVertexAttributes=F.map(fe=>({name:`a_${fe}`,type:"Float32",components:W==="color"?2:1,offset:0})),this.paintVertexArray=new te}populatePaintArray(A,F,W,te,fe){let pe=this.paintVertexArray.length,Re=this.expression.evaluate(new rs(0),F,{},te,[],fe);this.paintVertexArray.resize(A),this._setPaintValue(pe,A,Re)}updatePaintArray(A,F,W,te){let fe=this.expression.evaluate({zoom:0},W,te);this._setPaintValue(A,F,fe)}_setPaintValue(A,F,W){if(this.type==="color"){let te=na(W);for(let fe=A;fe`u_${Re}_t`),this.type=W,this.useIntegerZoom=te,this.zoom=fe,this.maxValue=0,this.paintVertexAttributes=F.map(Re=>({name:`a_${Re}`,type:"Float32",components:W==="color"?4:2,offset:0})),this.paintVertexArray=new pe}populatePaintArray(A,F,W,te,fe){let pe=this.expression.evaluate(new rs(this.zoom),F,{},te,[],fe),Re=this.expression.evaluate(new rs(this.zoom+1),F,{},te,[],fe),Ke=this.paintVertexArray.length;this.paintVertexArray.resize(A),this._setPaintValue(Ke,A,pe,Re)}updatePaintArray(A,F,W,te){let fe=this.expression.evaluate({zoom:this.zoom},W,te),pe=this.expression.evaluate({zoom:this.zoom+1},W,te);this._setPaintValue(A,F,fe,pe)}_setPaintValue(A,F,W,te){if(this.type==="color"){let fe=na(W),pe=na(te);for(let Re=A;Re`#define HAS_UNIFORM_${te}`))}return A}getBinderAttributes(){let A=[];for(let F in this.binders){let W=this.binders[F];if(W instanceof yo||W instanceof Da)for(let te=0;te!0){this.programConfigurations={};for(let te of A)this.programConfigurations[te.id]=new Is(te,F,W);this.needsUpload=!1,this._featureMap=new Wr,this._bufferOffset=0}populatePaintArrays(A,F,W,te,fe,pe){for(let Re in this.programConfigurations)this.programConfigurations[Re].populatePaintArrays(A,F,te,fe,pe);F.id!==void 0&&this._featureMap.add(F.id,W,this._bufferOffset,A),this._bufferOffset=A,this.needsUpload=!0}updatePaintArrays(A,F,W,te){for(let fe of W)this.needsUpload=this.programConfigurations[fe.id].updatePaintArrays(A,this._featureMap,F,fe,te)||this.needsUpload}get(A){return this.programConfigurations[A]}upload(A){if(this.needsUpload){for(let F in this.programConfigurations)this.programConfigurations[F].upload(A);this.needsUpload=!1}}destroy(){for(let A in this.programConfigurations)this.programConfigurations[A].destroy()}}function Xs(R,A){return{"text-opacity":["opacity"],"icon-opacity":["opacity"],"text-color":["fill_color"],"icon-color":["fill_color"],"text-halo-color":["halo_color"],"icon-halo-color":["halo_color"],"text-halo-blur":["halo_blur"],"icon-halo-blur":["halo_blur"],"text-halo-width":["halo_width"],"icon-halo-width":["halo_width"],"line-gap-width":["gapwidth"],"line-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-extrusion-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"]}[R]||[R.replace(`${A}-`,"").replace(/-/g,"_")]}function Un(R,A,F){let W={color:{source:Cr,composite:cn},number:{source:br,composite:Cr}},te=function(fe){return{"line-pattern":{source:Js,composite:Js},"fill-pattern":{source:Js,composite:Js},"fill-extrusion-pattern":{source:Js,composite:Js}}[fe]}(R);return te&&te[F]||W[A][F]}Fi("ConstantBinder",Ea),Fi("CrossFadedConstantBinder",Ia),Fi("SourceExpressionBinder",yo),Fi("CrossFadedCompositeBinder",go),Fi("CompositeExpressionBinder",Da),Fi("ProgramConfiguration",Is,{omit:["_buffers"]}),Fi("ProgramConfigurationSet",Ms);let ja=8192,Fo=Math.pow(2,14)-1,Uo=-Fo-1;function $s(R){let A=ja/R.extent,F=R.loadGeometry();for(let W=0;Wpe.x+1||Kepe.y+1)&&E("Geometry exceeds allowed extent, reduce your vector tile buffer size")}}return F}function Sl(R,A){return{type:R.type,id:R.id,properties:R.properties,geometry:A?$s(R):[]}}function bu(R,A,F,W,te){R.emplaceBack(2*A+(W+1)/2,2*F+(te+1)/2)}class dl{constructor(A){this.zoom=A.zoom,this.overscaling=A.overscaling,this.layers=A.layers,this.layerIds=this.layers.map(F=>F.id),this.index=A.index,this.hasPattern=!1,this.layoutVertexArray=new To,this.indexArray=new se,this.segments=new Ye,this.programConfigurations=new Ms(A.layers,A.zoom),this.stateDependentLayerIds=this.layers.filter(F=>F.isStateDependent()).map(F=>F.id)}populate(A,F,W){let te=this.layers[0],fe=[],pe=null,Re=!1;te.type==="circle"&&(pe=te.layout.get("circle-sort-key"),Re=!pe.isConstant());for(let{feature:Ke,id:ft,index:Rt,sourceLayerIndex:er}of A){let ur=this.layers[0]._featureFilter.needGeometry,vr=Sl(Ke,ur);if(!this.layers[0]._featureFilter.filter(new rs(this.zoom),vr,W))continue;let kr=Re?pe.evaluate(vr,{},W):void 0,Dr={id:ft,properties:Ke.properties,type:Ke.type,sourceLayerIndex:er,index:Rt,geometry:ur?vr.geometry:$s(Ke),patterns:{},sortKey:kr};fe.push(Dr)}Re&&fe.sort((Ke,ft)=>Ke.sortKey-ft.sortKey);for(let Ke of fe){let{geometry:ft,index:Rt,sourceLayerIndex:er}=Ke,ur=A[Rt].feature;this.addFeature(Ke,ft,Rt,W),F.featureIndex.insert(ur,ft,Rt,er,this.index)}}update(A,F,W){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(A,F,this.stateDependentLayers,W)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(A){this.uploaded||(this.layoutVertexBuffer=A.createVertexBuffer(this.layoutVertexArray,Ve),this.indexBuffer=A.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(A),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(A,F,W,te){for(let fe of F)for(let pe of fe){let Re=pe.x,Ke=pe.y;if(Re<0||Re>=ja||Ke<0||Ke>=ja)continue;let ft=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,A.sortKey),Rt=ft.vertexLength;bu(this.layoutVertexArray,Re,Ke,-1,-1),bu(this.layoutVertexArray,Re,Ke,1,-1),bu(this.layoutVertexArray,Re,Ke,1,1),bu(this.layoutVertexArray,Re,Ke,-1,1),this.indexArray.emplaceBack(Rt,Rt+1,Rt+2),this.indexArray.emplaceBack(Rt,Rt+3,Rt+2),ft.vertexLength+=4,ft.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,A,W,{},te)}}function Sc(R,A){for(let F=0;F1){if(Lr(R,A))return!0;for(let W=0;W1?F:F.sub(A)._mult(te)._add(A))}function vi(R,A){let F,W,te,fe=!1;for(let pe=0;peA.y!=te.y>A.y&&A.x<(te.x-W.x)*(A.y-W.y)/(te.y-W.y)+W.x&&(fe=!fe)}return fe}function Ni(R,A){let F=!1;for(let W=0,te=R.length-1;WA.y!=pe.y>A.y&&A.x<(pe.x-fe.x)*(A.y-fe.y)/(pe.y-fe.y)+fe.x&&(F=!F)}return F}function qi(R,A,F){let W=F[0],te=F[2];if(R.xte.x&&A.x>te.x||R.yte.y&&A.y>te.y)return!1;let fe=z(R,A,F[0]);return fe!==z(R,A,F[1])||fe!==z(R,A,F[2])||fe!==z(R,A,F[3])}function Si(R,A,F){let W=A.paint.get(R).value;return W.kind==="constant"?W.value:F.programConfigurations.get(A.id).getMaxValue(R)}function Vn(R){return Math.sqrt(R[0]*R[0]+R[1]*R[1])}function Qi(R,A,F,W,te){if(!A[0]&&!A[1])return R;let fe=u.convert(A)._mult(te);F==="viewport"&&fe._rotate(-W);let pe=[];for(let Re=0;Resi(li,Dr))}(ft,Ke),vr=er?Rt*Re:Rt;for(let kr of te)for(let Dr of kr){let li=er?Dr:si(Dr,Ke),pi=vr,vn=qn([],[Dr.x,Dr.y,0,1],Ke);if(this.paint.get("circle-pitch-scale")==="viewport"&&this.paint.get("circle-pitch-alignment")==="map"?pi*=vn[3]/pe.cameraToCenterDistance:this.paint.get("circle-pitch-scale")==="map"&&this.paint.get("circle-pitch-alignment")==="viewport"&&(pi*=pe.cameraToCenterDistance/vn[3]),Me(ur,li,pi))return!0}return!1}}function si(R,A){let F=qn([],[R.x,R.y,0,1],A);return new u(F[0]/F[3],F[1]/F[3])}class mn extends dl{}let Ji;Fi("HeatmapBucket",mn,{omit:["layers"]});var Ui={get paint(){return Ji=Ji||new ue({"heatmap-radius":new oo(ce.paint_heatmap["heatmap-radius"]),"heatmap-weight":new oo(ce.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new Va(ce.paint_heatmap["heatmap-intensity"]),"heatmap-color":new Ku(ce.paint_heatmap["heatmap-color"]),"heatmap-opacity":new Va(ce.paint_heatmap["heatmap-opacity"])})}};function Bi(R,{width:A,height:F},W,te){if(te){if(te instanceof Uint8ClampedArray)te=new Uint8Array(te.buffer);else if(te.length!==A*F*W)throw new RangeError(`mismatched image size. expected: ${te.length} but got: ${A*F*W}`)}else te=new Uint8Array(A*F*W);return R.width=A,R.height=F,R.data=te,R}function pn(R,{width:A,height:F},W){if(A===R.width&&F===R.height)return;let te=Bi({},{width:A,height:F},W);Nn(R,te,{x:0,y:0},{x:0,y:0},{width:Math.min(R.width,A),height:Math.min(R.height,F)},W),R.width=A,R.height=F,R.data=te.data}function Nn(R,A,F,W,te,fe){if(te.width===0||te.height===0)return A;if(te.width>R.width||te.height>R.height||F.x>R.width-te.width||F.y>R.height-te.height)throw new RangeError("out of range source coordinates for image copy");if(te.width>A.width||te.height>A.height||W.x>A.width-te.width||W.y>A.height-te.height)throw new RangeError("out of range destination coordinates for image copy");let pe=R.data,Re=A.data;if(pe===Re)throw new Error("srcData equals dstData, so image is already copied");for(let Ke=0;Ke{A[R.evaluationKey]=Ke;let ft=R.expression.evaluate(A);te.data[pe+Re+0]=Math.floor(255*ft.r/ft.a),te.data[pe+Re+1]=Math.floor(255*ft.g/ft.a),te.data[pe+Re+2]=Math.floor(255*ft.b/ft.a),te.data[pe+Re+3]=Math.floor(255*ft.a)};if(R.clips)for(let pe=0,Re=0;pe80*F){Re=1/0,Ke=1/0;let Rt=-1/0,er=-1/0;for(let ur=F;urRt&&(Rt=vr),kr>er&&(er=kr)}ft=Math.max(Rt-Re,er-Ke),ft=ft!==0?32767/ft:0}return Vl(fe,pe,F,Re,Ke,ft,0),pe}function Qs(R,A,F,W,te){let fe;if(te===function(pe,Re,Ke,ft){let Rt=0;for(let er=Re,ur=Ke-ft;er0)for(let pe=A;pe=A;pe-=W)fe=Nt(pe/W|0,R[pe],R[pe+1],fe);return fe&&ne(fe,fe.next)&&(Ne(fe),fe=fe.next),fe}function al(R,A){if(!R)return R;A||(A=R);let F,W=R;do if(F=!1,W.steiner||!ne(W,W.next)&&de(W.prev,W,W.next)!==0)W=W.next;else{if(Ne(W),W=A=W.prev,W===W.next)break;F=!0}while(F||W!==A);return A}function Vl(R,A,F,W,te,fe,pe){if(!R)return;!pe&&fe&&function(Ke,ft,Rt,er){let ur=Ke;do ur.z===0&&(ur.z=D(ur.x,ur.y,ft,Rt,er)),ur.prevZ=ur.prev,ur.nextZ=ur.next,ur=ur.next;while(ur!==Ke);ur.prevZ.nextZ=null,ur.prevZ=null,function(vr){let kr,Dr=1;do{let li,pi=vr;vr=null;let vn=null;for(kr=0;pi;){kr++;let zi=pi,ln=0;for(let pa=0;pa0||Tn>0&&zi;)ln!==0&&(Tn===0||!zi||pi.z<=zi.z)?(li=pi,pi=pi.nextZ,ln--):(li=zi,zi=zi.nextZ,Tn--),vn?vn.nextZ=li:vr=li,li.prevZ=vn,vn=li;pi=zi}vn.nextZ=null,Dr*=2}while(kr>1)}(ur)}(R,W,te,fe);let Re=R;for(;R.prev!==R.next;){let Ke=R.prev,ft=R.next;if(fe?Vs(R,W,te,fe):ss(R))A.push(Ke.i,R.i,ft.i),Ne(R),R=ft.next,Re=ft.next;else if((R=ft)===Re){pe?pe===1?Vl(R=Ys(al(R),A),A,F,W,te,fe,2):pe===2&&wa(R,A,F,W,te,fe):Vl(al(R),A,F,W,te,fe,1);break}}}function ss(R){let A=R.prev,F=R,W=R.next;if(de(A,F,W)>=0)return!1;let te=A.x,fe=F.x,pe=W.x,Re=A.y,Ke=F.y,ft=W.y,Rt=tefe?te>pe?te:pe:fe>pe?fe:pe,vr=Re>Ke?Re>ft?Re:ft:Ke>ft?Ke:ft,kr=W.next;for(;kr!==A;){if(kr.x>=Rt&&kr.x<=ur&&kr.y>=er&&kr.y<=vr&&O(te,Re,fe,Ke,pe,ft,kr.x,kr.y)&&de(kr.prev,kr,kr.next)>=0)return!1;kr=kr.next}return!0}function Vs(R,A,F,W){let te=R.prev,fe=R,pe=R.next;if(de(te,fe,pe)>=0)return!1;let Re=te.x,Ke=fe.x,ft=pe.x,Rt=te.y,er=fe.y,ur=pe.y,vr=ReKe?Re>ft?Re:ft:Ke>ft?Ke:ft,li=Rt>er?Rt>ur?Rt:ur:er>ur?er:ur,pi=D(vr,kr,A,F,W),vn=D(Dr,li,A,F,W),zi=R.prevZ,ln=R.nextZ;for(;zi&&zi.z>=pi&&ln&&ln.z<=vn;){if(zi.x>=vr&&zi.x<=Dr&&zi.y>=kr&&zi.y<=li&&zi!==te&&zi!==pe&&O(Re,Rt,Ke,er,ft,ur,zi.x,zi.y)&&de(zi.prev,zi,zi.next)>=0||(zi=zi.prevZ,ln.x>=vr&&ln.x<=Dr&&ln.y>=kr&&ln.y<=li&&ln!==te&&ln!==pe&&O(Re,Rt,Ke,er,ft,ur,ln.x,ln.y)&&de(ln.prev,ln,ln.next)>=0))return!1;ln=ln.nextZ}for(;zi&&zi.z>=pi;){if(zi.x>=vr&&zi.x<=Dr&&zi.y>=kr&&zi.y<=li&&zi!==te&&zi!==pe&&O(Re,Rt,Ke,er,ft,ur,zi.x,zi.y)&&de(zi.prev,zi,zi.next)>=0)return!1;zi=zi.prevZ}for(;ln&&ln.z<=vn;){if(ln.x>=vr&&ln.x<=Dr&&ln.y>=kr&&ln.y<=li&&ln!==te&&ln!==pe&&O(Re,Rt,Ke,er,ft,ur,ln.x,ln.y)&&de(ln.prev,ln,ln.next)>=0)return!1;ln=ln.nextZ}return!0}function Ys(R,A){let F=R;do{let W=F.prev,te=F.next.next;!ne(W,te)&&we(W,F,F.next,te)&&Yt(W,te)&&Yt(te,W)&&(A.push(W.i,F.i,te.i),Ne(F),Ne(F.next),F=R=te),F=F.next}while(F!==R);return al(F)}function wa(R,A,F,W,te,fe){let pe=R;do{let Re=pe.next.next;for(;Re!==pe.prev;){if(pe.i!==Re.i&&K(pe,Re)){let Ke=cr(pe,Re);return pe=al(pe,pe.next),Ke=al(Ke,Ke.next),Vl(pe,A,F,W,te,fe,0),void Vl(Ke,A,F,W,te,fe,0)}Re=Re.next}pe=pe.next}while(pe!==R)}function ol(R,A){return R.x-A.x}function io(R,A){let F=function(te,fe){let pe=fe,Re=te.x,Ke=te.y,ft,Rt=-1/0;do{if(Ke<=pe.y&&Ke>=pe.next.y&&pe.next.y!==pe.y){let Dr=pe.x+(Ke-pe.y)*(pe.next.x-pe.x)/(pe.next.y-pe.y);if(Dr<=Re&&Dr>Rt&&(Rt=Dr,ft=pe.x=pe.x&&pe.x>=ur&&Re!==pe.x&&O(Keft.x||pe.x===ft.x&&Y(ft,pe)))&&(ft=pe,kr=Dr)}pe=pe.next}while(pe!==er);return ft}(R,A);if(!F)return A;let W=cr(F,R);return al(W,W.next),al(F,F.next)}function Y(R,A){return de(R.prev,R,A.prev)<0&&de(A.next,R,R.next)<0}function D(R,A,F,W,te){return(R=1431655765&((R=858993459&((R=252645135&((R=16711935&((R=(R-F)*te|0)|R<<8))|R<<4))|R<<2))|R<<1))|(A=1431655765&((A=858993459&((A=252645135&((A=16711935&((A=(A-W)*te|0)|A<<8))|A<<4))|A<<2))|A<<1))<<1}function J(R){let A=R,F=R;do(A.x=(R-pe)*(fe-Re)&&(R-pe)*(W-Re)>=(F-pe)*(A-Re)&&(F-pe)*(fe-Re)>=(te-pe)*(W-Re)}function K(R,A){return R.next.i!==A.i&&R.prev.i!==A.i&&!function(F,W){let te=F;do{if(te.i!==F.i&&te.next.i!==F.i&&te.i!==W.i&&te.next.i!==W.i&&we(te,te.next,F,W))return!0;te=te.next}while(te!==F);return!1}(R,A)&&(Yt(R,A)&&Yt(A,R)&&function(F,W){let te=F,fe=!1,pe=(F.x+W.x)/2,Re=(F.y+W.y)/2;do te.y>Re!=te.next.y>Re&&te.next.y!==te.y&&pe<(te.next.x-te.x)*(Re-te.y)/(te.next.y-te.y)+te.x&&(fe=!fe),te=te.next;while(te!==F);return fe}(R,A)&&(de(R.prev,R,A.prev)||de(R,A.prev,A))||ne(R,A)&&de(R.prev,R,R.next)>0&&de(A.prev,A,A.next)>0)}function de(R,A,F){return(A.y-R.y)*(F.x-A.x)-(A.x-R.x)*(F.y-A.y)}function ne(R,A){return R.x===A.x&&R.y===A.y}function we(R,A,F,W){let te=ht(de(R,A,F)),fe=ht(de(R,A,W)),pe=ht(de(F,W,R)),Re=ht(de(F,W,A));return te!==fe&&pe!==Re||!(te!==0||!Oe(R,F,A))||!(fe!==0||!Oe(R,W,A))||!(pe!==0||!Oe(F,R,W))||!(Re!==0||!Oe(F,A,W))}function Oe(R,A,F){return A.x<=Math.max(R.x,F.x)&&A.x>=Math.min(R.x,F.x)&&A.y<=Math.max(R.y,F.y)&&A.y>=Math.min(R.y,F.y)}function ht(R){return R>0?1:R<0?-1:0}function Yt(R,A){return de(R.prev,R,R.next)<0?de(R,A,R.next)>=0&&de(R,R.prev,A)>=0:de(R,A,R.prev)<0||de(R,R.next,A)<0}function cr(R,A){let F=$e(R.i,R.x,R.y),W=$e(A.i,A.x,A.y),te=R.next,fe=A.prev;return R.next=A,A.prev=R,F.next=te,te.prev=F,W.next=F,F.prev=W,fe.next=W,W.prev=fe,W}function Nt(R,A,F,W){let te=$e(R,A,F);return W?(te.next=W.next,te.prev=W,W.next.prev=te,W.next=te):(te.prev=te,te.next=te),te}function Ne(R){R.next.prev=R.prev,R.prev.next=R.next,R.prevZ&&(R.prevZ.nextZ=R.nextZ),R.nextZ&&(R.nextZ.prevZ=R.prevZ)}function $e(R,A,F){return{i:R,x:A,y:F,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function st(R,A,F){let W=F.patternDependencies,te=!1;for(let fe of A){let pe=fe.paint.get(`${R}-pattern`);pe.isConstant()||(te=!0);let Re=pe.constantOr(null);Re&&(te=!0,W[Re.to]=!0,W[Re.from]=!0)}return te}function It(R,A,F,W,te){let fe=te.patternDependencies;for(let pe of A){let Re=pe.paint.get(`${R}-pattern`).value;if(Re.kind!=="constant"){let Ke=Re.evaluate({zoom:W-1},F,{},te.availableImages),ft=Re.evaluate({zoom:W},F,{},te.availableImages),Rt=Re.evaluate({zoom:W+1},F,{},te.availableImages);Ke=Ke&&Ke.name?Ke.name:Ke,ft=ft&&ft.name?ft.name:ft,Rt=Rt&&Rt.name?Rt.name:Rt,fe[Ke]=!0,fe[ft]=!0,fe[Rt]=!0,F.patterns[pe.id]={min:Ke,mid:ft,max:Rt}}}return F}class Bt{constructor(A){this.zoom=A.zoom,this.overscaling=A.overscaling,this.layers=A.layers,this.layerIds=this.layers.map(F=>F.id),this.index=A.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new hl,this.indexArray=new se,this.indexArray2=new Te,this.programConfigurations=new Ms(A.layers,A.zoom),this.segments=new Ye,this.segments2=new Ye,this.stateDependentLayerIds=this.layers.filter(F=>F.isStateDependent()).map(F=>F.id)}populate(A,F,W){this.hasPattern=st("fill",this.layers,F);let te=this.layers[0].layout.get("fill-sort-key"),fe=!te.isConstant(),pe=[];for(let{feature:Re,id:Ke,index:ft,sourceLayerIndex:Rt}of A){let er=this.layers[0]._featureFilter.needGeometry,ur=Sl(Re,er);if(!this.layers[0]._featureFilter.filter(new rs(this.zoom),ur,W))continue;let vr=fe?te.evaluate(ur,{},W,F.availableImages):void 0,kr={id:Ke,properties:Re.properties,type:Re.type,sourceLayerIndex:Rt,index:ft,geometry:er?ur.geometry:$s(Re),patterns:{},sortKey:vr};pe.push(kr)}fe&&pe.sort((Re,Ke)=>Re.sortKey-Ke.sortKey);for(let Re of pe){let{geometry:Ke,index:ft,sourceLayerIndex:Rt}=Re;if(this.hasPattern){let er=It("fill",this.layers,Re,this.zoom,F);this.patternFeatures.push(er)}else this.addFeature(Re,Ke,ft,W,{});F.featureIndex.insert(A[ft].feature,Ke,ft,Rt,this.index)}}update(A,F,W){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(A,F,this.stateDependentLayers,W)}addFeatures(A,F,W){for(let te of this.patternFeatures)this.addFeature(te,te.geometry,te.index,F,W)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(A){this.uploaded||(this.layoutVertexBuffer=A.createVertexBuffer(this.layoutVertexArray,Ml),this.indexBuffer=A.createIndexBuffer(this.indexArray),this.indexBuffer2=A.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(A),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(A,F,W,te,fe){for(let pe of Cf(F,500)){let Re=0;for(let vr of pe)Re+=vr.length;let Ke=this.segments.prepareSegment(Re,this.layoutVertexArray,this.indexArray),ft=Ke.vertexLength,Rt=[],er=[];for(let vr of pe){if(vr.length===0)continue;vr!==pe[0]&&er.push(Rt.length/2);let kr=this.segments2.prepareSegment(vr.length,this.layoutVertexArray,this.indexArray2),Dr=kr.vertexLength;this.layoutVertexArray.emplaceBack(vr[0].x,vr[0].y),this.indexArray2.emplaceBack(Dr+vr.length-1,Dr),Rt.push(vr[0].x),Rt.push(vr[0].y);for(let li=1;li>3}if(te--,W===1||W===2)fe+=R.readSVarint(),pe+=R.readSVarint(),W===1&&(A&&Re.push(A),A=[]),A.push(new Br(fe,pe));else{if(W!==7)throw new Error("unknown command "+W);A&&A.push(A[0].clone())}}return A&&Re.push(A),Re},ci.prototype.bbox=function(){var R=this._pbf;R.pos=this._geometry;for(var A=R.readVarint()+R.pos,F=1,W=0,te=0,fe=0,pe=1/0,Re=-1/0,Ke=1/0,ft=-1/0;R.pos>3}if(W--,F===1||F===2)(te+=R.readSVarint())Re&&(Re=te),(fe+=R.readSVarint())ft&&(ft=fe);else if(F!==7)throw new Error("unknown command "+F)}return[pe,Ke,Re,ft]},ci.prototype.toGeoJSON=function(R,A,F){var W,te,fe=this.extent*Math.pow(2,F),pe=this.extent*R,Re=this.extent*A,Ke=this.loadGeometry(),ft=ci.types[this.type];function Rt(vr){for(var kr=0;kr>3;te=pe===1?W.readString():pe===2?W.readFloat():pe===3?W.readDouble():pe===4?W.readVarint64():pe===5?W.readVarint():pe===6?W.readSVarint():pe===7?W.readBoolean():null}return te}(F))}Oi.prototype.feature=function(R){if(R<0||R>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[R];var A=this._pbf.readVarint()+this._pbf.pos;return new tn(this._pbf,A,this.extent,this._keys,this._values)};var on=Ei;function zn(R,A,F){if(R===3){var W=new on(F,F.readVarint()+F.pos);W.length&&(A[W.name]=W)}}_r.VectorTile=function(R,A){this.layers=R.readFields(zn,{},A)},_r.VectorTileFeature=Di,_r.VectorTileLayer=Ei;let Ja=_r.VectorTileFeature.types,co=Math.pow(2,13);function ts(R,A,F,W,te,fe,pe,Re){R.emplaceBack(A,F,2*Math.floor(W*co)+pe,te*co*2,fe*co*2,Math.round(Re))}class so{constructor(A){this.zoom=A.zoom,this.overscaling=A.overscaling,this.layers=A.layers,this.layerIds=this.layers.map(F=>F.id),this.index=A.index,this.hasPattern=!1,this.layoutVertexArray=new Ul,this.centroidVertexArray=new wo,this.indexArray=new se,this.programConfigurations=new Ms(A.layers,A.zoom),this.segments=new Ye,this.stateDependentLayerIds=this.layers.filter(F=>F.isStateDependent()).map(F=>F.id)}populate(A,F,W){this.features=[],this.hasPattern=st("fill-extrusion",this.layers,F);for(let{feature:te,id:fe,index:pe,sourceLayerIndex:Re}of A){let Ke=this.layers[0]._featureFilter.needGeometry,ft=Sl(te,Ke);if(!this.layers[0]._featureFilter.filter(new rs(this.zoom),ft,W))continue;let Rt={id:fe,sourceLayerIndex:Re,index:pe,geometry:Ke?ft.geometry:$s(te),properties:te.properties,type:te.type,patterns:{}};this.hasPattern?this.features.push(It("fill-extrusion",this.layers,Rt,this.zoom,F)):this.addFeature(Rt,Rt.geometry,pe,W,{}),F.featureIndex.insert(te,Rt.geometry,pe,Re,this.index,!0)}}addFeatures(A,F,W){for(let te of this.features){let{geometry:fe}=te;this.addFeature(te,fe,te.index,F,W)}}update(A,F,W){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(A,F,this.stateDependentLayers,W)}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(A){this.uploaded||(this.layoutVertexBuffer=A.createVertexBuffer(this.layoutVertexArray,lr),this.centroidVertexBuffer=A.createVertexBuffer(this.centroidVertexArray,vt.members,!0),this.indexBuffer=A.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(A),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(A,F,W,te,fe){for(let pe of Cf(F,500)){let Re={x:0,y:0,vertexCount:0},Ke=0;for(let kr of pe)Ke+=kr.length;let ft=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(let kr of pe){if(kr.length===0||ms(kr))continue;let Dr=0;for(let li=0;li=1){let vn=kr[li-1];if(!Yo(pi,vn)){ft.vertexLength+4>Ye.MAX_VERTEX_ARRAY_LENGTH&&(ft=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let zi=pi.sub(vn)._perp()._unit(),ln=vn.dist(pi);Dr+ln>32768&&(Dr=0),ts(this.layoutVertexArray,pi.x,pi.y,zi.x,zi.y,0,0,Dr),ts(this.layoutVertexArray,pi.x,pi.y,zi.x,zi.y,0,1,Dr),Re.x+=2*pi.x,Re.y+=2*pi.y,Re.vertexCount+=2,Dr+=ln,ts(this.layoutVertexArray,vn.x,vn.y,zi.x,zi.y,0,0,Dr),ts(this.layoutVertexArray,vn.x,vn.y,zi.x,zi.y,0,1,Dr),Re.x+=2*vn.x,Re.y+=2*vn.y,Re.vertexCount+=2;let Tn=ft.vertexLength;this.indexArray.emplaceBack(Tn,Tn+2,Tn+1),this.indexArray.emplaceBack(Tn+1,Tn+2,Tn+3),ft.vertexLength+=4,ft.primitiveLength+=2}}}}if(ft.vertexLength+Ke>Ye.MAX_VERTEX_ARRAY_LENGTH&&(ft=this.segments.prepareSegment(Ke,this.layoutVertexArray,this.indexArray)),Ja[A.type]!=="Polygon")continue;let Rt=[],er=[],ur=ft.vertexLength;for(let kr of pe)if(kr.length!==0){kr!==pe[0]&&er.push(Rt.length/2);for(let Dr=0;Drja)||R.y===A.y&&(R.y<0||R.y>ja)}function ms(R){return R.every(A=>A.x<0)||R.every(A=>A.x>ja)||R.every(A=>A.y<0)||R.every(A=>A.y>ja)}let ou;Fi("FillExtrusionBucket",so,{omit:["layers","features"]});var Cv={get paint(){return ou=ou||new ue({"fill-extrusion-opacity":new Va(ce["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new oo(ce["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new Va(ce["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new Va(ce["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new Vc(ce["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new oo(ce["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new oo(ce["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new Va(ce["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})}};class Lv extends B{constructor(A){super(A,Cv)}createBucket(A){return new so(A)}queryRadius(){return Vn(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature(A,F,W,te,fe,pe,Re,Ke){let ft=Qi(A,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),pe.angle,Re),Rt=this.paint.get("fill-extrusion-height").evaluate(F,W),er=this.paint.get("fill-extrusion-base").evaluate(F,W),ur=function(kr,Dr,li,pi){let vn=[];for(let zi of kr){let ln=[zi.x,zi.y,0,1];qn(ln,ln,Dr),vn.push(new u(ln[0]/ln[3],ln[1]/ln[3]))}return vn}(ft,Ke),vr=function(kr,Dr,li,pi){let vn=[],zi=[],ln=pi[8]*Dr,Tn=pi[9]*Dr,pa=pi[10]*Dr,ro=pi[11]*Dr,Vo=pi[8]*li,Xa=pi[9]*li,la=pi[10]*li,Mo=pi[11]*li;for(let fo of kr){let lo=[],Wn=[];for(let Ro of fo){let uo=Ro.x,$o=Ro.y,Ju=pi[0]*uo+pi[4]*$o+pi[12],Ou=pi[1]*uo+pi[5]*$o+pi[13],kh=pi[2]*uo+pi[6]*$o+pi[14],Qv=pi[3]*uo+pi[7]*$o+pi[15],ud=kh+pa,Ch=Qv+ro,Gd=Ju+Vo,Hd=Ou+Xa,jd=kh+la,Af=Qv+Mo,Lh=new u((Ju+ln)/Ch,(Ou+Tn)/Ch);Lh.z=ud/Ch,lo.push(Lh);let Ed=new u(Gd/Af,Hd/Af);Ed.z=jd/Af,Wn.push(Ed)}vn.push(lo),zi.push(Wn)}return[vn,zi]}(te,er,Rt,Ke);return function(kr,Dr,li){let pi=1/0;bt(li,Dr)&&(pi=Kv(li,Dr[0]));for(let vn=0;vnF.id),this.index=A.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(F=>{this.gradients[F.id]={}}),this.layoutVertexArray=new Lu,this.layoutVertexArray2=new au,this.indexArray=new se,this.programConfigurations=new Ms(A.layers,A.zoom),this.segments=new Ye,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(F=>F.isStateDependent()).map(F=>F.id)}populate(A,F,W){this.hasPattern=st("line",this.layers,F);let te=this.layers[0].layout.get("line-sort-key"),fe=!te.isConstant(),pe=[];for(let{feature:Re,id:Ke,index:ft,sourceLayerIndex:Rt}of A){let er=this.layers[0]._featureFilter.needGeometry,ur=Sl(Re,er);if(!this.layers[0]._featureFilter.filter(new rs(this.zoom),ur,W))continue;let vr=fe?te.evaluate(ur,{},W):void 0,kr={id:Ke,properties:Re.properties,type:Re.type,sourceLayerIndex:Rt,index:ft,geometry:er?ur.geometry:$s(Re),patterns:{},sortKey:vr};pe.push(kr)}fe&&pe.sort((Re,Ke)=>Re.sortKey-Ke.sortKey);for(let Re of pe){let{geometry:Ke,index:ft,sourceLayerIndex:Rt}=Re;if(this.hasPattern){let er=It("line",this.layers,Re,this.zoom,F);this.patternFeatures.push(er)}else this.addFeature(Re,Ke,ft,W,{});F.featureIndex.insert(A[ft].feature,Ke,ft,Rt,this.index)}}update(A,F,W){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(A,F,this.stateDependentLayers,W)}addFeatures(A,F,W){for(let te of this.patternFeatures)this.addFeature(te,te.geometry,te.index,F,W)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(A){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=A.createVertexBuffer(this.layoutVertexArray2,mp)),this.layoutVertexBuffer=A.createVertexBuffer(this.layoutVertexArray,gp),this.indexBuffer=A.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(A),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(A){if(A.properties&&Object.prototype.hasOwnProperty.call(A.properties,"mapbox_clip_start")&&Object.prototype.hasOwnProperty.call(A.properties,"mapbox_clip_end"))return{start:+A.properties.mapbox_clip_start,end:+A.properties.mapbox_clip_end}}addFeature(A,F,W,te,fe){let pe=this.layers[0].layout,Re=pe.get("line-join").evaluate(A,{}),Ke=pe.get("line-cap"),ft=pe.get("line-miter-limit"),Rt=pe.get("line-round-limit");this.lineClips=this.lineFeatureClips(A);for(let er of F)this.addLine(er,A,Re,Ke,ft,Rt);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,A,W,fe,te)}addLine(A,F,W,te,fe,pe){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let pi=0;pi=2&&A[Ke-1].equals(A[Ke-2]);)Ke--;let ft=0;for(;ft0;if(ro&&pi>ft){let Mo=ur.dist(vr);if(Mo>2*Rt){let fo=ur.sub(ur.sub(vr)._mult(Rt/Mo)._round());this.updateDistance(vr,fo),this.addCurrentVertex(fo,Dr,0,0,er),vr=fo}}let Xa=vr&&kr,la=Xa?W:Re?"butt":te;if(Xa&&la==="round"&&(Tnfe&&(la="bevel"),la==="bevel"&&(Tn>2&&(la="flipbevel"),Tn100)vn=li.mult(-1);else{let Mo=Tn*Dr.add(li).mag()/Dr.sub(li).mag();vn._perp()._mult(Mo*(Vo?-1:1))}this.addCurrentVertex(ur,vn,0,0,er),this.addCurrentVertex(ur,vn.mult(-1),0,0,er)}else if(la==="bevel"||la==="fakeround"){let Mo=-Math.sqrt(Tn*Tn-1),fo=Vo?Mo:0,lo=Vo?0:Mo;if(vr&&this.addCurrentVertex(ur,Dr,fo,lo,er),la==="fakeround"){let Wn=Math.round(180*pa/Math.PI/20);for(let Ro=1;Ro2*Rt){let fo=ur.add(kr.sub(ur)._mult(Rt/Mo)._round());this.updateDistance(ur,fo),this.addCurrentVertex(fo,li,0,0,er),ur=fo}}}}addCurrentVertex(A,F,W,te,fe,pe=!1){let Re=F.y*te-F.x,Ke=-F.y-F.x*te;this.addHalfVertex(A,F.x+F.y*W,F.y-F.x*W,pe,!1,W,fe),this.addHalfVertex(A,Re,Ke,pe,!0,-te,fe),this.distance>Pv/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(A,F,W,te,fe,pe))}addHalfVertex({x:A,y:F},W,te,fe,pe,Re,Ke){let ft=.5*(this.lineClips?this.scaledDistance*(Pv-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((A<<1)+(fe?1:0),(F<<1)+(pe?1:0),Math.round(63*W)+128,Math.round(63*te)+128,1+(Re===0?0:Re<0?-1:1)|(63&ft)<<2,ft>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let Rt=Ke.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,Rt),Ke.primitiveLength++),pe?this.e2=Rt:this.e1=Rt}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(A,F){this.distance+=A.dist(F),this.updateScaledDistance()}}let Iv,hy;Fi("LineBucket",Jv,{omit:["layers","patternFeatures"]});var dg={get paint(){return hy=hy||new ue({"line-opacity":new oo(ce.paint_line["line-opacity"]),"line-color":new oo(ce.paint_line["line-color"]),"line-translate":new Va(ce.paint_line["line-translate"]),"line-translate-anchor":new Va(ce.paint_line["line-translate-anchor"]),"line-width":new oo(ce.paint_line["line-width"]),"line-gap-width":new oo(ce.paint_line["line-gap-width"]),"line-offset":new oo(ce.paint_line["line-offset"]),"line-blur":new oo(ce.paint_line["line-blur"]),"line-dasharray":new hc(ce.paint_line["line-dasharray"]),"line-pattern":new Vc(ce.paint_line["line-pattern"]),"line-gradient":new Ku(ce.paint_line["line-gradient"])})},get layout(){return Iv=Iv||new ue({"line-cap":new Va(ce.layout_line["line-cap"]),"line-join":new oo(ce.layout_line["line-join"]),"line-miter-limit":new Va(ce.layout_line["line-miter-limit"]),"line-round-limit":new Va(ce.layout_line["line-round-limit"]),"line-sort-key":new oo(ce.layout_line["line-sort-key"])})}};class oh extends oo{possiblyEvaluate(A,F){return F=new rs(Math.floor(F.zoom),{now:F.now,fadeDuration:F.fadeDuration,zoomHistory:F.zoomHistory,transition:F.transition}),super.possiblyEvaluate(A,F)}evaluate(A,F,W,te){return F=L({},F,{zoom:Math.floor(F.zoom)}),super.evaluate(A,F,W,te)}}let vg;class dy extends B{constructor(A){super(A,dg),this.gradientVersion=0,vg||(vg=new oh(dg.paint.properties["line-width"].specification),vg.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(A){if(A==="line-gradient"){let F=this.gradientExpression();this.stepInterpolant=!!function(W){return W._styleExpression!==void 0}(F)&&F._styleExpression.expression instanceof _n,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values["line-gradient"].value.expression}recalculate(A,F){super.recalculate(A,F),this.paint._values["line-floorwidth"]=vg.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,A)}createBucket(A){return new Jv(A)}queryRadius(A){let F=A,W=Zh(Si("line-width",this,F),Si("line-gap-width",this,F)),te=Si("line-offset",this,F);return W/2+Math.abs(te)+Vn(this.paint.get("line-translate"))}queryIntersectsFeature(A,F,W,te,fe,pe,Re){let Ke=Qi(A,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),pe.angle,Re),ft=Re/2*Zh(this.paint.get("line-width").evaluate(F,W),this.paint.get("line-gap-width").evaluate(F,W)),Rt=this.paint.get("line-offset").evaluate(F,W);return Rt&&(te=function(er,ur){let vr=[];for(let kr=0;kr=3){for(let li=0;li0?A+2*R:R}let am=Fe([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),k1=Fe([{name:"a_projected_pos",components:3,type:"Float32"}],4);Fe([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);let C1=Fe([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"},{name:"a_box_real",components:2,type:"Int16"}]);Fe([{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 vy=Fe([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),om=Fe([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function sm(R,A,F){return R.sections.forEach(W=>{W.text=function(te,fe,pe){let Re=fe.layout.get("text-transform").evaluate(pe,{});return Re==="uppercase"?te=te.toLocaleUpperCase():Re==="lowercase"&&(te=te.toLocaleLowerCase()),ys.applyArabicShaping&&(te=ys.applyArabicShaping(te)),te}(W.text,A,F)}),R}Fe([{name:"triangle",components:3,type:"Uint16"}]),Fe([{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"}]),Fe([{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"}]),Fe([{type:"Float32",name:"offsetX"}]),Fe([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]),Fe([{type:"Uint16",name:"textAnchor"},{type:"Float32",components:2,name:"textOffset"}]);let vc={"!":"\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 tu=24,Sd=wu,py=function(R,A,F,W,te){var fe,pe,Re=8*te-W-1,Ke=(1<>1,Rt=-7,er=F?te-1:0,ur=F?-1:1,vr=R[A+er];for(er+=ur,fe=vr&(1<<-Rt)-1,vr>>=-Rt,Rt+=Re;Rt>0;fe=256*fe+R[A+er],er+=ur,Rt-=8);for(pe=fe&(1<<-Rt)-1,fe>>=-Rt,Rt+=W;Rt>0;pe=256*pe+R[A+er],er+=ur,Rt-=8);if(fe===0)fe=1-ft;else{if(fe===Ke)return pe?NaN:1/0*(vr?-1:1);pe+=Math.pow(2,W),fe-=ft}return(vr?-1:1)*pe*Math.pow(2,fe-W)},L1=function(R,A,F,W,te,fe){var pe,Re,Ke,ft=8*fe-te-1,Rt=(1<>1,ur=te===23?Math.pow(2,-24)-Math.pow(2,-77):0,vr=W?0:fe-1,kr=W?1:-1,Dr=A<0||A===0&&1/A<0?1:0;for(A=Math.abs(A),isNaN(A)||A===1/0?(Re=isNaN(A)?1:0,pe=Rt):(pe=Math.floor(Math.log(A)/Math.LN2),A*(Ke=Math.pow(2,-pe))<1&&(pe--,Ke*=2),(A+=pe+er>=1?ur/Ke:ur*Math.pow(2,1-er))*Ke>=2&&(pe++,Ke/=2),pe+er>=Rt?(Re=0,pe=Rt):pe+er>=1?(Re=(A*Ke-1)*Math.pow(2,te),pe+=er):(Re=A*Math.pow(2,er-1)*Math.pow(2,te),pe=0));te>=8;R[F+vr]=255&Re,vr+=kr,Re/=256,te-=8);for(pe=pe<0;R[F+vr]=255&pe,vr+=kr,pe/=256,ft-=8);R[F+vr-kr]|=128*Dr};function wu(R){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(R)?R:new Uint8Array(R||0),this.pos=0,this.type=0,this.length=this.buf.length}wu.Varint=0,wu.Fixed64=1,wu.Bytes=2,wu.Fixed32=5;var Kx=4294967296,lm=1/Kx,Bw=typeof TextDecoder=="undefined"?null:new TextDecoder("utf-8");function Rv(R){return R.type===wu.Bytes?R.readVarint()+R.pos:R.pos+1}function um(R,A,F){return F?4294967296*A+(R>>>0):4294967296*(A>>>0)+(R>>>0)}function Nw(R,A,F){var W=A<=16383?1:A<=2097151?2:A<=268435455?3:Math.floor(Math.log(A)/(7*Math.LN2));F.realloc(W);for(var te=F.pos-1;te>=R;te--)F.buf[te+W]=F.buf[te]}function Jx(R,A){for(var F=0;F>>8,R[F+2]=A>>>16,R[F+3]=A>>>24}function MC(R,A){return(R[A]|R[A+1]<<8|R[A+2]<<16)+(R[A+3]<<24)}wu.prototype={destroy:function(){this.buf=null},readFields:function(R,A,F){for(F=F||this.length;this.pos>3,fe=this.pos;this.type=7&W,R(te,A,this),this.pos===fe&&this.skip(W)}return A},readMessage:function(R,A){return this.readFields(R,A,this.readVarint()+this.pos)},readFixed32:function(){var R=gy(this.buf,this.pos);return this.pos+=4,R},readSFixed32:function(){var R=MC(this.buf,this.pos);return this.pos+=4,R},readFixed64:function(){var R=gy(this.buf,this.pos)+gy(this.buf,this.pos+4)*Kx;return this.pos+=8,R},readSFixed64:function(){var R=gy(this.buf,this.pos)+MC(this.buf,this.pos+4)*Kx;return this.pos+=8,R},readFloat:function(){var R=py(this.buf,this.pos,!0,23,4);return this.pos+=4,R},readDouble:function(){var R=py(this.buf,this.pos,!0,52,8);return this.pos+=8,R},readVarint:function(R){var A,F,W=this.buf;return A=127&(F=W[this.pos++]),F<128?A:(A|=(127&(F=W[this.pos++]))<<7,F<128?A:(A|=(127&(F=W[this.pos++]))<<14,F<128?A:(A|=(127&(F=W[this.pos++]))<<21,F<128?A:function(te,fe,pe){var Re,Ke,ft=pe.buf;if(Re=(112&(Ke=ft[pe.pos++]))>>4,Ke<128||(Re|=(127&(Ke=ft[pe.pos++]))<<3,Ke<128)||(Re|=(127&(Ke=ft[pe.pos++]))<<10,Ke<128)||(Re|=(127&(Ke=ft[pe.pos++]))<<17,Ke<128)||(Re|=(127&(Ke=ft[pe.pos++]))<<24,Ke<128)||(Re|=(1&(Ke=ft[pe.pos++]))<<31,Ke<128))return um(te,Re,fe);throw new Error("Expected varint not more than 10 bytes")}(A|=(15&(F=W[this.pos]))<<28,R,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var R=this.readVarint();return R%2==1?(R+1)/-2:R/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var R=this.readVarint()+this.pos,A=this.pos;return this.pos=R,R-A>=12&&Bw?function(F,W,te){return Bw.decode(F.subarray(W,te))}(this.buf,A,R):function(F,W,te){for(var fe="",pe=W;pe239?4:Rt>223?3:Rt>191?2:1;if(pe+ur>te)break;ur===1?Rt<128&&(er=Rt):ur===2?(192&(Re=F[pe+1]))==128&&(er=(31&Rt)<<6|63&Re)<=127&&(er=null):ur===3?(Ke=F[pe+2],(192&(Re=F[pe+1]))==128&&(192&Ke)==128&&((er=(15&Rt)<<12|(63&Re)<<6|63&Ke)<=2047||er>=55296&&er<=57343)&&(er=null)):ur===4&&(Ke=F[pe+2],ft=F[pe+3],(192&(Re=F[pe+1]))==128&&(192&Ke)==128&&(192&ft)==128&&((er=(15&Rt)<<18|(63&Re)<<12|(63&Ke)<<6|63&ft)<=65535||er>=1114112)&&(er=null)),er===null?(er=65533,ur=1):er>65535&&(er-=65536,fe+=String.fromCharCode(er>>>10&1023|55296),er=56320|1023&er),fe+=String.fromCharCode(er),pe+=ur}return fe}(this.buf,A,R)},readBytes:function(){var R=this.readVarint()+this.pos,A=this.buf.subarray(this.pos,R);return this.pos=R,A},readPackedVarint:function(R,A){if(this.type!==wu.Bytes)return R.push(this.readVarint(A));var F=Rv(this);for(R=R||[];this.pos127;);else if(A===wu.Bytes)this.pos=this.readVarint()+this.pos;else if(A===wu.Fixed32)this.pos+=4;else{if(A!==wu.Fixed64)throw new Error("Unimplemented type: "+A);this.pos+=8}},writeTag:function(R,A){this.writeVarint(R<<3|A)},realloc:function(R){for(var A=this.length||16;A268435455||R<0?function(A,F){var W,te;if(A>=0?(W=A%4294967296|0,te=A/4294967296|0):(te=~(-A/4294967296),4294967295^(W=~(-A%4294967296))?W=W+1|0:(W=0,te=te+1|0)),A>=18446744073709552e3||A<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");F.realloc(10),function(fe,pe,Re){Re.buf[Re.pos++]=127&fe|128,fe>>>=7,Re.buf[Re.pos++]=127&fe|128,fe>>>=7,Re.buf[Re.pos++]=127&fe|128,fe>>>=7,Re.buf[Re.pos++]=127&fe|128,Re.buf[Re.pos]=127&(fe>>>=7)}(W,0,F),function(fe,pe){var Re=(7&fe)<<4;pe.buf[pe.pos++]|=Re|((fe>>>=3)?128:0),fe&&(pe.buf[pe.pos++]=127&fe|((fe>>>=7)?128:0),fe&&(pe.buf[pe.pos++]=127&fe|((fe>>>=7)?128:0),fe&&(pe.buf[pe.pos++]=127&fe|((fe>>>=7)?128:0),fe&&(pe.buf[pe.pos++]=127&fe|((fe>>>=7)?128:0),fe&&(pe.buf[pe.pos++]=127&fe)))))}(te,F)}(R,this):(this.realloc(4),this.buf[this.pos++]=127&R|(R>127?128:0),R<=127||(this.buf[this.pos++]=127&(R>>>=7)|(R>127?128:0),R<=127||(this.buf[this.pos++]=127&(R>>>=7)|(R>127?128:0),R<=127||(this.buf[this.pos++]=R>>>7&127))))},writeSVarint:function(R){this.writeVarint(R<0?2*-R-1:2*R)},writeBoolean:function(R){this.writeVarint(!!R)},writeString:function(R){R=String(R),this.realloc(4*R.length),this.pos++;var A=this.pos;this.pos=function(W,te,fe){for(var pe,Re,Ke=0;Ke55295&&pe<57344){if(!Re){pe>56319||Ke+1===te.length?(W[fe++]=239,W[fe++]=191,W[fe++]=189):Re=pe;continue}if(pe<56320){W[fe++]=239,W[fe++]=191,W[fe++]=189,Re=pe;continue}pe=Re-55296<<10|pe-56320|65536,Re=null}else Re&&(W[fe++]=239,W[fe++]=191,W[fe++]=189,Re=null);pe<128?W[fe++]=pe:(pe<2048?W[fe++]=pe>>6|192:(pe<65536?W[fe++]=pe>>12|224:(W[fe++]=pe>>18|240,W[fe++]=pe>>12&63|128),W[fe++]=pe>>6&63|128),W[fe++]=63&pe|128)}return fe}(this.buf,R,this.pos);var F=this.pos-A;F>=128&&Nw(A,F,this),this.pos=A-1,this.writeVarint(F),this.pos+=F},writeFloat:function(R){this.realloc(4),L1(this.buf,R,this.pos,!0,23,4),this.pos+=4},writeDouble:function(R){this.realloc(8),L1(this.buf,R,this.pos,!0,52,8),this.pos+=8},writeBytes:function(R){var A=R.length;this.writeVarint(A),this.realloc(A);for(var F=0;F=128&&Nw(F,W,this),this.pos=F-1,this.writeVarint(W),this.pos+=W},writeMessage:function(R,A,F){this.writeTag(R,wu.Bytes),this.writeRawMessage(A,F)},writePackedVarint:function(R,A){A.length&&this.writeMessage(R,Jx,A)},writePackedSVarint:function(R,A){A.length&&this.writeMessage(R,H9,A)},writePackedBoolean:function(R,A){A.length&&this.writeMessage(R,X9,A)},writePackedFloat:function(R,A){A.length&&this.writeMessage(R,j9,A)},writePackedDouble:function(R,A){A.length&&this.writeMessage(R,W9,A)},writePackedFixed32:function(R,A){A.length&&this.writeMessage(R,OQ,A)},writePackedSFixed32:function(R,A){A.length&&this.writeMessage(R,Z9,A)},writePackedFixed64:function(R,A){A.length&&this.writeMessage(R,Y9,A)},writePackedSFixed64:function(R,A){A.length&&this.writeMessage(R,K9,A)},writeBytesField:function(R,A){this.writeTag(R,wu.Bytes),this.writeBytes(A)},writeFixed32Field:function(R,A){this.writeTag(R,wu.Fixed32),this.writeFixed32(A)},writeSFixed32Field:function(R,A){this.writeTag(R,wu.Fixed32),this.writeSFixed32(A)},writeFixed64Field:function(R,A){this.writeTag(R,wu.Fixed64),this.writeFixed64(A)},writeSFixed64Field:function(R,A){this.writeTag(R,wu.Fixed64),this.writeSFixed64(A)},writeVarintField:function(R,A){this.writeTag(R,wu.Varint),this.writeVarint(A)},writeSVarintField:function(R,A){this.writeTag(R,wu.Varint),this.writeSVarint(A)},writeStringField:function(R,A){this.writeTag(R,wu.Bytes),this.writeString(A)},writeFloatField:function(R,A){this.writeTag(R,wu.Fixed32),this.writeFloat(A)},writeDoubleField:function(R,A){this.writeTag(R,wu.Fixed64),this.writeDouble(A)},writeBooleanField:function(R,A){this.writeVarintField(R,!!A)}};var uS=o(Sd);let cS=3;function BQ(R,A,F){R===1&&F.readMessage(J9,A)}function J9(R,A,F){if(R===3){let{id:W,bitmap:te,width:fe,height:pe,left:Re,top:Ke,advance:ft}=F.readMessage(EC,{});A.push({id:W,bitmap:new aa({width:fe+2*cS,height:pe+2*cS},te),metrics:{width:fe,height:pe,left:Re,top:Ke,advance:ft}})}}function EC(R,A,F){R===1?A.id=F.readVarint():R===2?A.bitmap=F.readBytes():R===3?A.width=F.readVarint():R===4?A.height=F.readVarint():R===5?A.left=F.readSVarint():R===6?A.top=F.readSVarint():R===7&&(A.advance=F.readVarint())}let kC=cS;function fS(R){let A=0,F=0;for(let pe of R)A+=pe.w*pe.h,F=Math.max(F,pe.w);R.sort((pe,Re)=>Re.h-pe.h);let W=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(A/.95)),F),h:1/0}],te=0,fe=0;for(let pe of R)for(let Re=W.length-1;Re>=0;Re--){let Ke=W[Re];if(!(pe.w>Ke.w||pe.h>Ke.h)){if(pe.x=Ke.x,pe.y=Ke.y,fe=Math.max(fe,pe.y+pe.h),te=Math.max(te,pe.x+pe.w),pe.w===Ke.w&&pe.h===Ke.h){let ft=W.pop();Re=0&&W>=A&&Gw[this.text.charCodeAt(W)];W--)F--;this.text=this.text.substring(A,F),this.sectionIndex=this.sectionIndex.slice(A,F)}substring(A,F){let W=new P1;return W.text=this.text.substring(A,F),W.sectionIndex=this.sectionIndex.slice(A,F),W.sections=this.sections,W}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((A,F)=>Math.max(A,this.sections[F].scale),0)}addTextSection(A,F){this.text+=A.text,this.sections.push(Qx.forText(A.scale,A.fontStack||F));let W=this.sections.length-1;for(let te=0;te=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function eb(R,A,F,W,te,fe,pe,Re,Ke,ft,Rt,er,ur,vr,kr){let Dr=P1.fromFeature(R,te),li;er===i.ah.vertical&&Dr.verticalizePunctuation();let{processBidirectionalText:pi,processStyledBidirectionalText:vn}=ys;if(pi&&Dr.sections.length===1){li=[];let Tn=pi(Dr.toString(),I1(Dr,ft,fe,A,W,vr));for(let pa of Tn){let ro=new P1;ro.text=pa,ro.sections=Dr.sections;for(let Vo=0;Vo0&&tp>Df&&(Df=tp)}else{let Gc=ro[ru.fontStack],Yf=Gc&&Gc[$u];if(Yf&&Yf.rect)O1=Yf.rect,hf=Yf.metrics;else{let tp=pa[ru.fontStack],yg=tp&&tp[$u];if(!yg)continue;hf=yg.metrics}zv=(Lh-ru.scale)*tu}ep?(Tn.verticalizable=!0,Yh.push({glyph:$u,imageName:p0,x:$o,y:Ju+zv,vertical:ep,scale:ru.scale,fontStack:ru.fontStack,sectionIndex:pc,metrics:hf,rect:O1}),$o+=Gp*ru.scale+Wn):(Yh.push({glyph:$u,imageName:p0,x:$o,y:Ju+zv,vertical:ep,scale:ru.scale,fontStack:ru.fontStack,sectionIndex:pc,metrics:hf,rect:O1}),$o+=hf.advance*ru.scale+Wn)}Yh.length!==0&&(Ou=Math.max($o-Wn,Ou),cm(Yh,0,Yh.length-1,Qv,Df)),$o=0;let Fv=la*Lh+Df;cd.lineOffset=Math.max(Df,Ed),Ju+=Fv,kh=Math.max(Fv,kh),++ud}var Ch;let Gd=Ju-Eh,{horizontalAlign:Hd,verticalAlign:jd}=jw(Mo);(function(Af,Lh,Ed,cd,Yh,Df,Fv,uv,ru){let pc=(Lh-Ed)*Yh,$u=0;$u=Df!==Fv?-uv*cd-Eh:(-cd*ru+.5)*Fv;for(let zv of Af)for(let hf of zv.positionedGlyphs)hf.x+=pc,hf.y+=$u})(Tn.positionedLines,Qv,Hd,jd,Ou,kh,la,Gd,Xa.length),Tn.top+=-jd*Gd,Tn.bottom=Tn.top+Gd,Tn.left+=-Hd*Ou,Tn.right=Tn.left+Ou}(ln,A,F,W,li,pe,Re,Ke,er,ft,ur,kr),!function(Tn){for(let pa of Tn)if(pa.positionedGlyphs.length!==0)return!1;return!0}(zi)&&ln}let Gw={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},$9={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},Q9={40:!0};function CC(R,A,F,W,te,fe){if(A.imageName){let pe=W[A.imageName];return pe?pe.displaySize[0]*A.scale*tu/fe+te:0}{let pe=F[A.fontStack],Re=pe&&pe[R];return Re?Re.metrics.advance*A.scale+te:0}}function LC(R,A,F,W){let te=Math.pow(R-A,2);return W?R=0,ft=0;for(let er=0;erft){let Rt=Math.ceil(fe/ft);te*=Rt/pe,pe=Rt}return{x1:W,y1:te,x2:W+fe,y2:te+pe}}function RC(R,A,F,W,te,fe){let pe=R.image,Re;if(pe.content){let li=pe.content,pi=pe.pixelRatio||1;Re=[li[0]/pi,li[1]/pi,pe.displaySize[0]-li[2]/pi,pe.displaySize[1]-li[3]/pi]}let Ke=A.left*fe,ft=A.right*fe,Rt,er,ur,vr;F==="width"||F==="both"?(vr=te[0]+Ke-W[3],er=te[0]+ft+W[1]):(vr=te[0]+(Ke+ft-pe.displaySize[0])/2,er=vr+pe.displaySize[0]);let kr=A.top*fe,Dr=A.bottom*fe;return F==="height"||F==="both"?(Rt=te[1]+kr-W[0],ur=te[1]+Dr+W[2]):(Rt=te[1]+(kr+Dr-pe.displaySize[1])/2,ur=Rt+pe.displaySize[1]),{image:pe,top:Rt,right:er,bottom:ur,left:vr,collisionPadding:Re}}let rb=255,v0=128,fm=rb*v0;function DC(R,A){let{expression:F}=A;if(F.kind==="constant")return{kind:"constant",layoutSize:F.evaluate(new rs(R+1))};if(F.kind==="source")return{kind:"source"};{let{zoomStops:W,interpolationType:te}=F,fe=0;for(;fepe.id),this.index=A.index,this.pixelRatio=A.pixelRatio,this.sourceLayerIndex=A.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=Ii([]),this.placementViewportMatrix=Ii([]);let F=this.layers[0]._unevaluatedLayout._values;this.textSizeData=DC(this.zoom,F["text-size"]),this.iconSizeData=DC(this.zoom,F["icon-size"]);let W=this.layers[0].layout,te=W.get("symbol-sort-key"),fe=W.get("symbol-z-order");this.canOverlap=hS(W,"text-overlap","text-allow-overlap")!=="never"||hS(W,"icon-overlap","icon-allow-overlap")!=="never"||W.get("text-ignore-placement")||W.get("icon-ignore-placement"),this.sortFeaturesByKey=fe!=="viewport-y"&&!te.isConstant(),this.sortFeaturesByY=(fe==="viewport-y"||fe==="auto"&&!this.sortFeaturesByKey)&&this.canOverlap,W.get("symbol-placement")==="point"&&(this.writingModes=W.get("text-writing-mode").map(pe=>i.ah[pe])),this.stateDependentLayerIds=this.layers.filter(pe=>pe.isStateDependent()).map(pe=>pe.id),this.sourceID=A.sourceID}createArrays(){this.text=new pS(new Ms(this.layers,this.zoom,A=>/^text/.test(A))),this.icon=new pS(new Ms(this.layers,this.zoom,A=>/^icon/.test(A))),this.glyphOffsetArray=new Co,this.lineVertexArray=new Qa,this.symbolInstances=new $a,this.textAnchorOffsets=new Bo}calculateGlyphDependencies(A,F,W,te,fe){for(let pe=0;pe0)&&(pe.value.kind!=="constant"||pe.value.value.length>0),Rt=Ke.value.kind!=="constant"||!!Ke.value.value||Object.keys(Ke.parameters).length>0,er=fe.get("symbol-sort-key");if(this.features=[],!ft&&!Rt)return;let ur=F.iconDependencies,vr=F.glyphDependencies,kr=F.availableImages,Dr=new rs(this.zoom);for(let{feature:li,id:pi,index:vn,sourceLayerIndex:zi}of A){let ln=te._featureFilter.needGeometry,Tn=Sl(li,ln);if(!te._featureFilter.filter(Dr,Tn,W))continue;let pa,ro;if(ln||(Tn.geometry=$s(li)),ft){let Xa=te.getValueAndResolveTokens("text-field",Tn,W,kr),la=ti.factory(Xa),Mo=this.hasRTLText=this.hasRTLText||vS(la);(!Mo||ys.getRTLTextPluginStatus()==="unavailable"||Mo&&ys.isParsed())&&(pa=sm(la,te,Tn))}if(Rt){let Xa=te.getValueAndResolveTokens("icon-image",Tn,W,kr);ro=Xa instanceof en?Xa:en.fromString(Xa)}if(!pa&&!ro)continue;let Vo=this.sortFeaturesByKey?er.evaluate(Tn,{},W):void 0;if(this.features.push({id:pi,text:pa,icon:ro,index:vn,sourceLayerIndex:zi,geometry:Tn.geometry,properties:li.properties,type:tq[li.type],sortKey:Vo}),ro&&(ur[ro.name]=!0),pa){let Xa=pe.evaluate(Tn,{},W).join(","),la=fe.get("text-rotation-alignment")!=="viewport"&&fe.get("symbol-placement")!=="point";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(i.ah.vertical)>=0;for(let Mo of pa.sections)if(Mo.image)ur[Mo.image.name]=!0;else{let fo=Ka(pa.toString()),lo=Mo.fontStack||Xa,Wn=vr[lo]=vr[lo]||{};this.calculateGlyphDependencies(Mo.text,Wn,la,this.allowVerticalPlacement,fo)}}}fe.get("symbol-placement")==="line"&&(this.features=function(li){let pi={},vn={},zi=[],ln=0;function Tn(Xa){zi.push(li[Xa]),ln++}function pa(Xa,la,Mo){let fo=vn[Xa];return delete vn[Xa],vn[la]=fo,zi[fo].geometry[0].pop(),zi[fo].geometry[0]=zi[fo].geometry[0].concat(Mo[0]),fo}function ro(Xa,la,Mo){let fo=pi[la];return delete pi[la],pi[Xa]=fo,zi[fo].geometry[0].shift(),zi[fo].geometry[0]=Mo[0].concat(zi[fo].geometry[0]),fo}function Vo(Xa,la,Mo){let fo=Mo?la[0][la[0].length-1]:la[0][0];return`${Xa}:${fo.x}:${fo.y}`}for(let Xa=0;XaXa.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort((li,pi)=>li.sortKey-pi.sortKey)}update(A,F,W){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(A,F,this.layers,W),this.icon.programConfigurations.updatePaintArrays(A,F,this.layers,W))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(A){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(A),this.iconCollisionBox.upload(A)),this.text.upload(A,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(A,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(A,F){let W=this.lineVertexArray.length;if(A.segment!==void 0){let te=A.dist(F[A.segment+1]),fe=A.dist(F[A.segment]),pe={};for(let Re=A.segment+1;Re=0;Re--)pe[Re]={x:F[Re].x,y:F[Re].y,tileUnitDistanceFromAnchor:fe},Re>0&&(fe+=F[Re-1].dist(F[Re]));for(let Re=0;Re0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(A,F){let W=A.placedSymbolArray.get(F),te=W.vertexStartIndex+4*W.numGlyphs;for(let fe=W.vertexStartIndex;fete[Re]-te[Ke]||fe[Ke]-fe[Re]),pe}addToSortKeyRanges(A,F){let W=this.sortKeyRanges[this.sortKeyRanges.length-1];W&&W.sortKey===F?W.symbolInstanceEnd=A+1:this.sortKeyRanges.push({sortKey:F,symbolInstanceStart:A,symbolInstanceEnd:A+1})}sortFeatures(A){if(this.sortFeaturesByY&&this.sortedAngle!==A&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(A),this.sortedAngle=A,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let F of this.symbolInstanceIndexes){let W=this.symbolInstances.get(F);this.featureSortOrder.push(W.featureIndex),[W.rightJustifiedTextSymbolIndex,W.centerJustifiedTextSymbolIndex,W.leftJustifiedTextSymbolIndex].forEach((te,fe,pe)=>{te>=0&&pe.indexOf(te)===fe&&this.addIndicesForPlacedSymbol(this.text,te)}),W.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,W.verticalPlacedTextSymbolIndex),W.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,W.placedIconSymbolIndex),W.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,W.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let Tf,ib;Fi("SymbolBucket",R1,{omit:["layers","collisionBoxArray","features","compareText"]}),R1.MAX_GLYPHS=65535,R1.addDynamicAttributes=dS;var Xw={get paint(){return ib=ib||new ue({"icon-opacity":new oo(ce.paint_symbol["icon-opacity"]),"icon-color":new oo(ce.paint_symbol["icon-color"]),"icon-halo-color":new oo(ce.paint_symbol["icon-halo-color"]),"icon-halo-width":new oo(ce.paint_symbol["icon-halo-width"]),"icon-halo-blur":new oo(ce.paint_symbol["icon-halo-blur"]),"icon-translate":new Va(ce.paint_symbol["icon-translate"]),"icon-translate-anchor":new Va(ce.paint_symbol["icon-translate-anchor"]),"text-opacity":new oo(ce.paint_symbol["text-opacity"]),"text-color":new oo(ce.paint_symbol["text-color"],{runtimeType:jt,getOverride:R=>R.textColor,hasOverride:R=>!!R.textColor}),"text-halo-color":new oo(ce.paint_symbol["text-halo-color"]),"text-halo-width":new oo(ce.paint_symbol["text-halo-width"]),"text-halo-blur":new oo(ce.paint_symbol["text-halo-blur"]),"text-translate":new Va(ce.paint_symbol["text-translate"]),"text-translate-anchor":new Va(ce.paint_symbol["text-translate-anchor"])})},get layout(){return Tf=Tf||new ue({"symbol-placement":new Va(ce.layout_symbol["symbol-placement"]),"symbol-spacing":new Va(ce.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Va(ce.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new oo(ce.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Va(ce.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Va(ce.layout_symbol["icon-allow-overlap"]),"icon-overlap":new Va(ce.layout_symbol["icon-overlap"]),"icon-ignore-placement":new Va(ce.layout_symbol["icon-ignore-placement"]),"icon-optional":new Va(ce.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Va(ce.layout_symbol["icon-rotation-alignment"]),"icon-size":new oo(ce.layout_symbol["icon-size"]),"icon-text-fit":new Va(ce.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Va(ce.layout_symbol["icon-text-fit-padding"]),"icon-image":new oo(ce.layout_symbol["icon-image"]),"icon-rotate":new oo(ce.layout_symbol["icon-rotate"]),"icon-padding":new oo(ce.layout_symbol["icon-padding"]),"icon-keep-upright":new Va(ce.layout_symbol["icon-keep-upright"]),"icon-offset":new oo(ce.layout_symbol["icon-offset"]),"icon-anchor":new oo(ce.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Va(ce.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Va(ce.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Va(ce.layout_symbol["text-rotation-alignment"]),"text-field":new oo(ce.layout_symbol["text-field"]),"text-font":new oo(ce.layout_symbol["text-font"]),"text-size":new oo(ce.layout_symbol["text-size"]),"text-max-width":new oo(ce.layout_symbol["text-max-width"]),"text-line-height":new Va(ce.layout_symbol["text-line-height"]),"text-letter-spacing":new oo(ce.layout_symbol["text-letter-spacing"]),"text-justify":new oo(ce.layout_symbol["text-justify"]),"text-radial-offset":new oo(ce.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Va(ce.layout_symbol["text-variable-anchor"]),"text-variable-anchor-offset":new oo(ce.layout_symbol["text-variable-anchor-offset"]),"text-anchor":new oo(ce.layout_symbol["text-anchor"]),"text-max-angle":new Va(ce.layout_symbol["text-max-angle"]),"text-writing-mode":new Va(ce.layout_symbol["text-writing-mode"]),"text-rotate":new oo(ce.layout_symbol["text-rotate"]),"text-padding":new Va(ce.layout_symbol["text-padding"]),"text-keep-upright":new Va(ce.layout_symbol["text-keep-upright"]),"text-transform":new oo(ce.layout_symbol["text-transform"]),"text-offset":new oo(ce.layout_symbol["text-offset"]),"text-allow-overlap":new Va(ce.layout_symbol["text-allow-overlap"]),"text-overlap":new Va(ce.layout_symbol["text-overlap"]),"text-ignore-placement":new Va(ce.layout_symbol["text-ignore-placement"]),"text-optional":new Va(ce.layout_symbol["text-optional"])})}};class nb{constructor(A){if(A.property.overrides===void 0)throw new Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=A.property.overrides?A.property.overrides.runtimeType:Tt,this.defaultValue=A}evaluate(A){if(A.formattedSection){let F=this.defaultValue.property.overrides;if(F&&F.hasOverride(A.formattedSection))return F.getOverride(A.formattedSection)}return A.feature&&A.featureState?this.defaultValue.evaluate(A.feature,A.featureState):this.defaultValue.property.specification.default}eachChild(A){this.defaultValue.isConstant()||A(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Fi("FormatSectionOverride",nb,{omit:["defaultValue"]});class my extends B{constructor(A){super(A,Xw)}recalculate(A,F){if(super.recalculate(A,F),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 W=this.layout.get("text-writing-mode");if(W){let te=[];for(let fe of W)te.indexOf(fe)<0&&te.push(fe);this.layout._values["text-writing-mode"]=te}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(A,F,W,te){let fe=this.layout.get(A).evaluate(F,{},W,te),pe=this._unevaluatedLayout._values[A];return pe.isDataDriven()||Dc(pe.value)||!fe?fe:function(Re,Ke){return Ke.replace(/{([^{}]+)}/g,(ft,Rt)=>Re&&Rt in Re?String(Re[Rt]):"")}(F.properties,fe)}createBucket(A){return new R1(A)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(let A of Xw.paint.overridableProperties){if(!my.hasPaintOverride(this.layout,A))continue;let F=this.paint.get(A),W=new nb(F),te=new Eu(W,F.property.specification),fe=null;fe=F.value.kind==="constant"||F.value.kind==="source"?new bc("source",te):new hu("composite",te,F.value.zoomStops),this.paint._values[A]=new xu(F.property,fe,F.parameters)}}_handleOverridablePaintPropertyUpdate(A,F,W){return!(!this.layout||F.isDataDriven()||W.isDataDriven())&&my.hasPaintOverride(this.layout,A)}static hasPaintOverride(A,F){let W=A.get("text-field"),te=Xw.paint.properties[F],fe=!1,pe=Re=>{for(let Ke of Re)if(te.overrides&&te.overrides.hasOverride(Ke))return void(fe=!0)};if(W.value.kind==="constant"&&W.value.value instanceof ti)pe(W.value.value.sections);else if(W.value.kind==="source"){let Re=ft=>{fe||(ft instanceof ua&&Mn(ft.value)===ei?pe(ft.value.sections):ft instanceof Yl?pe(ft.sections):ft.eachChild(Re))},Ke=W.value;Ke._styleExpression&&Re(Ke._styleExpression.expression)}return fe}}let FC;var ab={get paint(){return FC=FC||new ue({"background-color":new Va(ce.paint_background["background-color"]),"background-pattern":new hc(ce.paint_background["background-pattern"]),"background-opacity":new Va(ce.paint_background["background-opacity"])})}};class iq extends B{constructor(A){super(A,ab)}}let gS;var zC={get paint(){return gS=gS||new ue({"raster-opacity":new Va(ce.paint_raster["raster-opacity"]),"raster-hue-rotate":new Va(ce.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new Va(ce.paint_raster["raster-brightness-min"]),"raster-brightness-max":new Va(ce.paint_raster["raster-brightness-max"]),"raster-saturation":new Va(ce.paint_raster["raster-saturation"]),"raster-contrast":new Va(ce.paint_raster["raster-contrast"]),"raster-resampling":new Va(ce.paint_raster["raster-resampling"]),"raster-fade-duration":new Va(ce.paint_raster["raster-fade-duration"])})}};class ob extends B{constructor(A){super(A,zC)}}class mS extends B{constructor(A){super(A,{}),this.onAdd=F=>{this.implementation.onAdd&&this.implementation.onAdd(F,F.painter.context.gl)},this.onRemove=F=>{this.implementation.onRemove&&this.implementation.onRemove(F,F.painter.context.gl)},this.implementation=A}is3D(){return this.implementation.renderingMode==="3d"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error("Custom layers cannot be serialized")}}class yS{constructor(A){this._methodToThrottle=A,this._triggered=!1,typeof MessageChannel!="undefined"&&(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 _S=63710088e-1;class pg{constructor(A,F){if(isNaN(A)||isNaN(F))throw new Error(`Invalid LngLat object: (${A}, ${F})`);if(this.lng=+A,this.lat=+F,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new pg(T(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(A){let F=Math.PI/180,W=this.lat*F,te=A.lat*F,fe=Math.sin(W)*Math.sin(te)+Math.cos(W)*Math.cos(te)*Math.cos((A.lng-this.lng)*F);return _S*Math.acos(Math.min(fe,1))}static convert(A){if(A instanceof pg)return A;if(Array.isArray(A)&&(A.length===2||A.length===3))return new pg(Number(A[0]),Number(A[1]));if(!Array.isArray(A)&&typeof A=="object"&&A!==null)return new pg(Number("lng"in A?A.lng:A.lon),Number(A.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")}}let D1=2*Math.PI*_S;function qC(R){return D1*Math.cos(R*Math.PI/180)}function Zw(R){return(180+R)/360}function OC(R){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+R*Math.PI/360)))/360}function Yw(R,A){return R/qC(A)}function sb(R){return 360/Math.PI*Math.atan(Math.exp((180-360*R)*Math.PI/180))-90}class lb{constructor(A,F,W=0){this.x=+A,this.y=+F,this.z=+W}static fromLngLat(A,F=0){let W=pg.convert(A);return new lb(Zw(W.lng),OC(W.lat),Yw(F,W.lat))}toLngLat(){return new pg(360*this.x-180,sb(this.y))}toAltitude(){return this.z*qC(sb(this.y))}meterInMercatorCoordinateUnits(){return 1/D1*(A=sb(this.y),1/Math.cos(A*Math.PI/180));var A}}function yp(R,A,F){var W=2*Math.PI*6378137/256/Math.pow(2,F);return[R*W-2*Math.PI*6378137/2,A*W-2*Math.PI*6378137/2]}class xS{constructor(A,F,W){if(!function(te,fe,pe){return!(te<0||te>25||pe<0||pe>=Math.pow(2,te)||fe<0||fe>=Math.pow(2,te))}(A,F,W))throw new Error(`x=${F}, y=${W}, z=${A} outside of bounds. 0<=x<${Math.pow(2,A)}, 0<=y<${Math.pow(2,A)} 0<=z<=25 `);this.z=A,this.x=F,this.y=W,this.key=ub(0,A,A,F,W)}equals(A){return this.z===A.z&&this.x===A.x&&this.y===A.y}url(A,F,W){let te=(pe=this.y,Re=this.z,Ke=yp(256*(fe=this.x),256*(pe=Math.pow(2,Re)-pe-1),Re),ft=yp(256*(fe+1),256*(pe+1),Re),Ke[0]+","+Ke[1]+","+ft[0]+","+ft[1]);var fe,pe,Re,Ke,ft;let Rt=function(er,ur,vr){let kr,Dr="";for(let li=er;li>0;li--)kr=1<1?"@2x":"").replace(/{quadkey}/g,Rt).replace(/{bbox-epsg-3857}/g,te)}isChildOf(A){let F=this.z-A.z;return F>0&&A.x===this.x>>F&&A.y===this.y>>F}getTilePoint(A){let F=Math.pow(2,this.z);return new u((A.x*F-this.x)*ja,(A.y*F-this.y)*ja)}toString(){return`${this.z}/${this.x}/${this.y}`}}class BC{constructor(A,F){this.wrap=A,this.canonical=F,this.key=ub(A,F.z,F.z,F.x,F.y)}}class $v{constructor(A,F,W,te,fe){if(A= z; overscaledZ = ${A}; z = ${W}`);this.overscaledZ=A,this.wrap=F,this.canonical=new xS(W,+te,+fe),this.key=ub(F,A,W,te,fe)}clone(){return new $v(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(A){return this.overscaledZ===A.overscaledZ&&this.wrap===A.wrap&&this.canonical.equals(A.canonical)}scaledTo(A){if(A>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${A}; overscaledZ = ${this.overscaledZ}`);let F=this.canonical.z-A;return A>this.canonical.z?new $v(A,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new $v(A,this.wrap,A,this.canonical.x>>F,this.canonical.y>>F)}calculateScaledKey(A,F){if(A>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${A}; overscaledZ = ${this.overscaledZ}`);let W=this.canonical.z-A;return A>this.canonical.z?ub(this.wrap*+F,A,this.canonical.z,this.canonical.x,this.canonical.y):ub(this.wrap*+F,A,A,this.canonical.x>>W,this.canonical.y>>W)}isChildOf(A){if(A.wrap!==this.wrap)return!1;let F=this.canonical.z-A.canonical.z;return A.overscaledZ===0||A.overscaledZ>F&&A.canonical.y===this.canonical.y>>F}children(A){if(this.overscaledZ>=A)return[new $v(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let F=this.canonical.z+1,W=2*this.canonical.x,te=2*this.canonical.y;return[new $v(F,this.wrap,F,W,te),new $v(F,this.wrap,F,W+1,te),new $v(F,this.wrap,F,W,te+1),new $v(F,this.wrap,F,W+1,te+1)]}isLessThan(A){return this.wrapA.wrap)&&(this.overscaledZA.overscaledZ)&&(this.canonical.xA.canonical.x)&&this.canonical.ythis.max&&(this.max=er),er=this.dim+1||F<-1||F>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(F+1)*this.stride+(A+1)}unpack(A,F,W){return A*this.redFactor+F*this.greenFactor+W*this.blueFactor-this.baseShift}getPixels(){return new Ki({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(A,F,W){if(this.dim!==A.dim)throw new Error("dem dimension mismatch");let te=F*this.dim,fe=F*this.dim+this.dim,pe=W*this.dim,Re=W*this.dim+this.dim;switch(F){case-1:te=fe-1;break;case 1:fe=te+1}switch(W){case-1:pe=Re-1;break;case 1:Re=pe+1}let Ke=-F*this.dim,ft=-W*this.dim;for(let Rt=pe;Rt=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${A} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[A]}}class bS{constructor(A,F,W,te,fe){this.type="Feature",this._vectorTileFeature=A,A._z=F,A._x=W,A._y=te,this.properties=A.properties,this.id=fe}get geometry(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(A){this._geometry=A}toJSON(){let A={geometry:this.geometry};for(let F in this)F!=="_geometry"&&F!=="_vectorTileFeature"&&(A[F]=this[F]);return A}}class yy{constructor(A,F){this.tileID=A,this.x=A.canonical.x,this.y=A.canonical.y,this.z=A.canonical.z,this.grid=new $i(ja,16,0),this.grid3D=new $i(ja,16,0),this.featureIndexArray=new Ts,this.promoteId=F}insert(A,F,W,te,fe,pe){let Re=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(W,te,fe);let Ke=pe?this.grid3D:this.grid;for(let ft=0;ft=0&&er[3]>=0&&Ke.insert(Re,er[0],er[1],er[2],er[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new _r.VectorTile(new uS(this.rawTileData)).layers,this.sourceLayerCoder=new UC(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers}query(A,F,W,te){this.loadVTLayers();let fe=A.params||{},pe=ja/A.tileSize/A.scale,Re=Fc(fe.filter),Ke=A.queryGeometry,ft=A.queryPadding*pe,Rt=GC(Ke),er=this.grid.query(Rt.minX-ft,Rt.minY-ft,Rt.maxX+ft,Rt.maxY+ft),ur=GC(A.cameraQueryGeometry),vr=this.grid3D.query(ur.minX-ft,ur.minY-ft,ur.maxX+ft,ur.maxY+ft,(li,pi,vn,zi)=>function(ln,Tn,pa,ro,Vo){for(let la of ln)if(Tn<=la.x&&pa<=la.y&&ro>=la.x&&Vo>=la.y)return!0;let Xa=[new u(Tn,pa),new u(Tn,Vo),new u(ro,Vo),new u(ro,pa)];if(ln.length>2){for(let la of Xa)if(Ni(ln,la))return!0}for(let la=0;la(zi||(zi=$s(ln)),Tn.queryIntersectsFeature(Ke,ln,pa,zi,this.z,A.transform,pe,A.pixelPosMatrix)))}return kr}loadMatchingFeature(A,F,W,te,fe,pe,Re,Ke,ft,Rt,er){let ur=this.bucketLayerIDs[F];if(pe&&!function(li,pi){for(let vn=0;vn=0)return!0;return!1}(pe,ur))return;let vr=this.sourceLayerCoder.decode(W),kr=this.vtLayers[vr].feature(te);if(fe.needGeometry){let li=Sl(kr,!0);if(!fe.filter(new rs(this.tileID.overscaledZ),li,this.tileID.canonical))return}else if(!fe.filter(new rs(this.tileID.overscaledZ),kr))return;let Dr=this.getId(kr,vr);for(let li=0;li{let Re=A instanceof Ac?A.get(pe):null;return Re&&Re.evaluate?Re.evaluate(F,W,te):Re})}function GC(R){let A=1/0,F=1/0,W=-1/0,te=-1/0;for(let fe of R)A=Math.min(A,fe.x),F=Math.min(F,fe.y),W=Math.max(W,fe.x),te=Math.max(te,fe.y);return{minX:A,minY:F,maxX:W,maxY:te}}function nq(R,A){return A-R}function HC(R,A,F,W,te){let fe=[];for(let pe=0;pe=W&&er.x>=W||(Rt.x>=W?Rt=new u(W,Rt.y+(W-Rt.x)/(er.x-Rt.x)*(er.y-Rt.y))._round():er.x>=W&&(er=new u(W,Rt.y+(W-Rt.x)/(er.x-Rt.x)*(er.y-Rt.y))._round()),Rt.y>=te&&er.y>=te||(Rt.y>=te?Rt=new u(Rt.x+(te-Rt.y)/(er.y-Rt.y)*(er.x-Rt.x),te)._round():er.y>=te&&(er=new u(Rt.x+(te-Rt.y)/(er.y-Rt.y)*(er.x-Rt.x),te)._round()),Ke&&Rt.equals(Ke[Ke.length-1])||(Ke=[Rt],fe.push(Ke)),Ke.push(er)))))}}return fe}Fi("FeatureIndex",yy,{omit:["rawTileData","sourceLayerCoder"]});class gg extends u{constructor(A,F,W,te){super(A,F),this.angle=W,te!==void 0&&(this.segment=te)}clone(){return new gg(this.x,this.y,this.angle,this.segment)}}function wS(R,A,F,W,te){if(A.segment===void 0||F===0)return!0;let fe=A,pe=A.segment+1,Re=0;for(;Re>-F/2;){if(pe--,pe<0)return!1;Re-=R[pe].dist(fe),fe=R[pe]}Re+=R[pe].dist(R[pe+1]),pe++;let Ke=[],ft=0;for(;ReW;)ft-=Ke.shift().angleDelta;if(ft>te)return!1;pe++,Re+=Rt.dist(er)}return!0}function jC(R){let A=0;for(let F=0;Fft){let kr=(ft-Ke)/vr,Dr=Lo.number(er.x,ur.x,kr),li=Lo.number(er.y,ur.y,kr),pi=new gg(Dr,li,ur.angleTo(er),Rt);return pi._round(),!pe||wS(R,pi,Re,pe,A)?pi:void 0}Ke+=vr}}function oq(R,A,F,W,te,fe,pe,Re,Ke){let ft=WC(W,fe,pe),Rt=XC(W,te),er=Rt*pe,ur=R[0].x===0||R[0].x===Ke||R[0].y===0||R[0].y===Ke;return A-er=0&&ln=0&&Tn=0&&ur+ft<=Rt){let pa=new gg(ln,Tn,vn,kr);pa._round(),W&&!wS(R,pa,fe,W,te)||vr.push(pa)}}er+=pi}return Re||vr.length||pe||(vr=ZC(R,er/2,F,W,te,fe,pe,!0,Ke)),vr}Fi("Anchor",gg);let F1=Md;function YC(R,A,F,W){let te=[],fe=R.image,pe=fe.pixelRatio,Re=fe.paddedRect.w-2*F1,Ke=fe.paddedRect.h-2*F1,ft={x1:R.left,y1:R.top,x2:R.right,y2:R.bottom},Rt=fe.stretchX||[[0,Re]],er=fe.stretchY||[[0,Ke]],ur=(Wn,Ro)=>Wn+Ro[1]-Ro[0],vr=Rt.reduce(ur,0),kr=er.reduce(ur,0),Dr=Re-vr,li=Ke-kr,pi=0,vn=vr,zi=0,ln=kr,Tn=0,pa=Dr,ro=0,Vo=li;if(fe.content&&W){let Wn=fe.content,Ro=Wn[2]-Wn[0],uo=Wn[3]-Wn[1];(fe.textFitWidth||fe.textFitHeight)&&(ft=IC(R)),pi=mg(Rt,0,Wn[0]),zi=mg(er,0,Wn[1]),vn=mg(Rt,Wn[0],Wn[2]),ln=mg(er,Wn[1],Wn[3]),Tn=Wn[0]-pi,ro=Wn[1]-zi,pa=Ro-vn,Vo=uo-ln}let Xa=ft.x1,la=ft.y1,Mo=ft.x2-Xa,fo=ft.y2-la,lo=(Wn,Ro,uo,$o)=>{let Ju=Kw(Wn.stretch-pi,vn,Mo,Xa),Ou=z1(Wn.fixed-Tn,pa,Wn.stretch,vr),kh=Kw(Ro.stretch-zi,ln,fo,la),Qv=z1(Ro.fixed-ro,Vo,Ro.stretch,kr),ud=Kw(uo.stretch-pi,vn,Mo,Xa),Ch=z1(uo.fixed-Tn,pa,uo.stretch,vr),Gd=Kw($o.stretch-zi,ln,fo,la),Hd=z1($o.fixed-ro,Vo,$o.stretch,kr),jd=new u(Ju,kh),Af=new u(ud,kh),Lh=new u(ud,Gd),Ed=new u(Ju,Gd),cd=new u(Ou/pe,Qv/pe),Yh=new u(Ch/pe,Hd/pe),Df=A*Math.PI/180;if(Df){let ru=Math.sin(Df),pc=Math.cos(Df),$u=[pc,-ru,ru,pc];jd._matMult($u),Af._matMult($u),Ed._matMult($u),Lh._matMult($u)}let Fv=Wn.stretch+Wn.fixed,uv=Ro.stretch+Ro.fixed;return{tl:jd,tr:Af,bl:Ed,br:Lh,tex:{x:fe.paddedRect.x+F1+Fv,y:fe.paddedRect.y+F1+uv,w:uo.stretch+uo.fixed-Fv,h:$o.stretch+$o.fixed-uv},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:cd,pixelOffsetBR:Yh,minFontScaleX:pa/pe/Mo,minFontScaleY:Vo/pe/fo,isSDF:F}};if(W&&(fe.stretchX||fe.stretchY)){let Wn=KC(Rt,Dr,vr),Ro=KC(er,li,kr);for(let uo=0;uo0&&(Dr=Math.max(10,Dr),this.circleDiameter=Dr)}else{let ur=!((er=pe.image)===null||er===void 0)&&er.content&&(pe.image.textFitWidth||pe.image.textFitHeight)?IC(pe):{x1:pe.left,y1:pe.top,x2:pe.right,y2:pe.bottom};ur.y1=ur.y1*Re-Ke[0],ur.y2=ur.y2*Re+Ke[2],ur.x1=ur.x1*Re-Ke[3],ur.x2=ur.x2*Re+Ke[1];let vr=pe.collisionPadding;if(vr&&(ur.x1-=vr[0]*Re,ur.y1-=vr[1]*Re,ur.x2+=vr[2]*Re,ur.y2+=vr[3]*Re),Rt){let kr=new u(ur.x1,ur.y1),Dr=new u(ur.x2,ur.y1),li=new u(ur.x1,ur.y2),pi=new u(ur.x2,ur.y2),vn=Rt*Math.PI/180;kr._rotate(vn),Dr._rotate(vn),li._rotate(vn),pi._rotate(vn),ur.x1=Math.min(kr.x,Dr.x,li.x,pi.x),ur.x2=Math.max(kr.x,Dr.x,li.x,pi.x),ur.y1=Math.min(kr.y,Dr.y,li.y,pi.y),ur.y2=Math.max(kr.y,Dr.y,li.y,pi.y)}A.emplaceBack(F.x,F.y,ur.x1,ur.y1,ur.x2,ur.y2,W,te,fe)}this.boxEndIndex=A.length}}class Vp{constructor(A=[],F=(W,te)=>Wte?1:0){if(this.data=A,this.length=this.data.length,this.compare=F,this.length>0)for(let W=(this.length>>1)-1;W>=0;W--)this._down(W)}push(A){this.data.push(A),this._up(this.length++)}pop(){if(this.length===0)return;let A=this.data[0],F=this.data.pop();return--this.length>0&&(this.data[0]=F,this._down(0)),A}peek(){return this.data[0]}_up(A){let{data:F,compare:W}=this,te=F[A];for(;A>0;){let fe=A-1>>1,pe=F[fe];if(W(te,pe)>=0)break;F[A]=pe,A=fe}F[A]=te}_down(A){let{data:F,compare:W}=this,te=this.length>>1,fe=F[A];for(;A=0)break;F[A]=F[pe],A=pe}F[A]=fe}}function sq(R,A=1,F=!1){let W=1/0,te=1/0,fe=-1/0,pe=-1/0,Re=R[0];for(let vr=0;vrfe)&&(fe=kr.x),(!vr||kr.y>pe)&&(pe=kr.y)}let Ke=Math.min(fe-W,pe-te),ft=Ke/2,Rt=new Vp([],lq);if(Ke===0)return new u(W,te);for(let vr=W;vrer.d||!er.d)&&(er=vr,F&&console.log("found best %d after %d probes",Math.round(1e4*vr.d)/1e4,ur)),vr.max-er.d<=A||(ft=vr.h/2,Rt.push(new q1(vr.p.x-ft,vr.p.y-ft,ft,R)),Rt.push(new q1(vr.p.x+ft,vr.p.y-ft,ft,R)),Rt.push(new q1(vr.p.x-ft,vr.p.y+ft,ft,R)),Rt.push(new q1(vr.p.x+ft,vr.p.y+ft,ft,R)),ur+=4)}return F&&(console.log(`num probes: ${ur}`),console.log(`best distance: ${er.d}`)),er.p}function lq(R,A){return A.max-R.max}function q1(R,A,F,W){this.p=new u(R,A),this.h=F,this.d=function(te,fe){let pe=!1,Re=1/0;for(let Ke=0;Kete.y!=kr.y>te.y&&te.x<(kr.x-vr.x)*(te.y-vr.y)/(kr.y-vr.y)+vr.x&&(pe=!pe),Re=Math.min(Re,Nr(te,vr,kr))}}return(pe?1:-1)*Math.sqrt(Re)}(this.p,W),this.max=this.d+this.h*Math.SQRT2}var ld;i.aq=void 0,(ld=i.aq||(i.aq={}))[ld.center=1]="center",ld[ld.left=2]="left",ld[ld.right=3]="right",ld[ld.top=4]="top",ld[ld.bottom=5]="bottom",ld[ld["top-left"]=6]="top-left",ld[ld["top-right"]=7]="top-right",ld[ld["bottom-left"]=8]="bottom-left",ld[ld["bottom-right"]=9]="bottom-right";let vm=7,_y=Number.POSITIVE_INFINITY;function TS(R,A){return A[1]!==_y?function(F,W,te){let fe=0,pe=0;switch(W=Math.abs(W),te=Math.abs(te),F){case"top-right":case"top-left":case"top":pe=te-vm;break;case"bottom-right":case"bottom-left":case"bottom":pe=-te+vm}switch(F){case"top-right":case"bottom-right":case"right":fe=-W;break;case"top-left":case"bottom-left":case"left":fe=W}return[fe,pe]}(R,A[0],A[1]):function(F,W){let te=0,fe=0;W<0&&(W=0);let pe=W/Math.SQRT2;switch(F){case"top-right":case"top-left":fe=pe-vm;break;case"bottom-right":case"bottom-left":fe=-pe+vm;break;case"bottom":fe=-W+vm;break;case"top":fe=W-vm}switch(F){case"top-right":case"bottom-right":te=-pe;break;case"top-left":case"bottom-left":te=pe;break;case"left":te=W;break;case"right":te=-W}return[te,fe]}(R,A[0])}function JC(R,A,F){var W;let te=R.layout,fe=(W=te.get("text-variable-anchor-offset"))===null||W===void 0?void 0:W.evaluate(A,{},F);if(fe){let Re=fe.values,Ke=[];for(let ft=0;ftur*tu);Rt.startsWith("top")?er[1]-=vm:Rt.startsWith("bottom")&&(er[1]+=vm),Ke[ft+1]=er}return new Zi(Ke)}let pe=te.get("text-variable-anchor");if(pe){let Re;Re=R._unevaluatedLayout.getValue("text-radial-offset")!==void 0?[te.get("text-radial-offset").evaluate(A,{},F)*tu,_y]:te.get("text-offset").evaluate(A,{},F).map(ft=>ft*tu);let Ke=[];for(let ft of pe)Ke.push(ft,TS(ft,Re));return new Zi(Ke)}return null}function AS(R){switch(R){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function uq(R,A,F,W,te,fe,pe,Re,Ke,ft,Rt){let er=fe.textMaxSize.evaluate(A,{});er===void 0&&(er=pe);let ur=R.layers[0].layout,vr=ur.get("icon-offset").evaluate(A,{},Rt),kr=QC(F.horizontal),Dr=pe/24,li=R.tilePixelRatio*Dr,pi=R.tilePixelRatio*er/24,vn=R.tilePixelRatio*Re,zi=R.tilePixelRatio*ur.get("symbol-spacing"),ln=ur.get("text-padding")*R.tilePixelRatio,Tn=function(Wn,Ro,uo,$o=1){let Ju=Wn.get("icon-padding").evaluate(Ro,{},uo),Ou=Ju&&Ju.values;return[Ou[0]*$o,Ou[1]*$o,Ou[2]*$o,Ou[3]*$o]}(ur,A,Rt,R.tilePixelRatio),pa=ur.get("text-max-angle")/180*Math.PI,ro=ur.get("text-rotation-alignment")!=="viewport"&&ur.get("symbol-placement")!=="point",Vo=ur.get("icon-rotation-alignment")==="map"&&ur.get("symbol-placement")!=="point",Xa=ur.get("symbol-placement"),la=zi/2,Mo=ur.get("icon-text-fit"),fo;W&&Mo!=="none"&&(R.allowVerticalPlacement&&F.vertical&&(fo=RC(W,F.vertical,Mo,ur.get("icon-text-fit-padding"),vr,Dr)),kr&&(W=RC(W,kr,Mo,ur.get("icon-text-fit-padding"),vr,Dr)));let lo=(Wn,Ro)=>{Ro.x<0||Ro.x>=ja||Ro.y<0||Ro.y>=ja||function(uo,$o,Ju,Ou,kh,Qv,ud,Ch,Gd,Hd,jd,Af,Lh,Ed,cd,Yh,Df,Fv,uv,ru,pc,$u,zv,hf,O1){let p0=uo.addToLineVertexArray($o,Ju),Gp,ep,Gc,Yf,tp=0,yg=0,cv=0,B1=0,CS=-1,e3=-1,g0={},xy=xi("");if(uo.allowVerticalPlacement&&Ou.vertical){let kd=Ch.layout.get("text-rotate").evaluate(pc,{},hf)+90;Gc=new dm(Gd,$o,Hd,jd,Af,Ou.vertical,Lh,Ed,cd,kd),ud&&(Yf=new dm(Gd,$o,Hd,jd,Af,ud,Df,Fv,cd,kd))}if(kh){let kd=Ch.layout.get("icon-rotate").evaluate(pc,{}),rp=Ch.layout.get("icon-text-fit")!=="none",pm=YC(kh,kd,zv,rp),Wd=ud?YC(ud,kd,zv,rp):void 0;ep=new dm(Gd,$o,Hd,jd,Af,kh,Df,Fv,!1,kd),tp=4*pm.length;let Cd=uo.iconSizeData,xp=null;Cd.kind==="source"?(xp=[v0*Ch.layout.get("icon-size").evaluate(pc,{})],xp[0]>fm&&E(`${uo.layerIds[0]}: Value for "icon-size" is >= ${rb}. Reduce your "icon-size".`)):Cd.kind==="composite"&&(xp=[v0*$u.compositeIconSizes[0].evaluate(pc,{},hf),v0*$u.compositeIconSizes[1].evaluate(pc,{},hf)],(xp[0]>fm||xp[1]>fm)&&E(`${uo.layerIds[0]}: Value for "icon-size" is >= ${rb}. Reduce your "icon-size".`)),uo.addSymbols(uo.icon,pm,xp,ru,uv,pc,i.ah.none,$o,p0.lineStartIndex,p0.lineLength,-1,hf),CS=uo.icon.placedSymbolArray.length-1,Wd&&(yg=4*Wd.length,uo.addSymbols(uo.icon,Wd,xp,ru,uv,pc,i.ah.vertical,$o,p0.lineStartIndex,p0.lineLength,-1,hf),e3=uo.icon.placedSymbolArray.length-1)}let Kh=Object.keys(Ou.horizontal);for(let kd of Kh){let rp=Ou.horizontal[kd];if(!Gp){xy=xi(rp.text);let Wd=Ch.layout.get("text-rotate").evaluate(pc,{},hf);Gp=new dm(Gd,$o,Hd,jd,Af,rp,Lh,Ed,cd,Wd)}let pm=rp.positionedLines.length===1;if(cv+=$C(uo,$o,rp,Qv,Ch,cd,pc,Yh,p0,Ou.vertical?i.ah.horizontal:i.ah.horizontalOnly,pm?Kh:[kd],g0,CS,$u,hf),pm)break}Ou.vertical&&(B1+=$C(uo,$o,Ou.vertical,Qv,Ch,cd,pc,Yh,p0,i.ah.vertical,["vertical"],g0,e3,$u,hf));let hq=Gp?Gp.boxStartIndex:uo.collisionBoxArray.length,t3=Gp?Gp.boxEndIndex:uo.collisionBoxArray.length,m0=Gc?Gc.boxStartIndex:uo.collisionBoxArray.length,fv=Gc?Gc.boxEndIndex:uo.collisionBoxArray.length,i6=ep?ep.boxStartIndex:uo.collisionBoxArray.length,dq=ep?ep.boxEndIndex:uo.collisionBoxArray.length,n6=Yf?Yf.boxStartIndex:uo.collisionBoxArray.length,vq=Yf?Yf.boxEndIndex:uo.collisionBoxArray.length,_p=-1,hb=(kd,rp)=>kd&&kd.circleDiameter?Math.max(kd.circleDiameter,rp):rp;_p=hb(Gp,_p),_p=hb(Gc,_p),_p=hb(ep,_p),_p=hb(Yf,_p);let r3=_p>-1?1:0;r3&&(_p*=O1/tu),uo.glyphOffsetArray.length>=R1.MAX_GLYPHS&&E("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),pc.sortKey!==void 0&&uo.addToSortKeyRanges(uo.symbolInstances.length,pc.sortKey);let LS=JC(Ch,pc,hf),[pq,gq]=function(kd,rp){let pm=kd.length,Wd=rp==null?void 0:rp.values;if((Wd==null?void 0:Wd.length)>0)for(let Cd=0;Cd=0?g0.right:-1,g0.center>=0?g0.center:-1,g0.left>=0?g0.left:-1,g0.vertical||-1,CS,e3,xy,hq,t3,m0,fv,i6,dq,n6,vq,Hd,cv,B1,tp,yg,r3,0,Lh,_p,pq,gq)}(R,Ro,Wn,F,W,te,fo,R.layers[0],R.collisionBoxArray,A.index,A.sourceLayerIndex,R.index,li,[ln,ln,ln,ln],ro,Ke,vn,Tn,Vo,vr,A,fe,ft,Rt,pe)};if(Xa==="line")for(let Wn of HC(A.geometry,0,0,ja,ja)){let Ro=oq(Wn,zi,pa,F.vertical||kr,W,24,pi,R.overscaling,ja);for(let uo of Ro)kr&&cq(R,kr.text,la,uo)||lo(Wn,uo)}else if(Xa==="line-center"){for(let Wn of A.geometry)if(Wn.length>1){let Ro=aq(Wn,pa,F.vertical||kr,W,24,pi);Ro&&lo(Wn,Ro)}}else if(A.type==="Polygon")for(let Wn of Cf(A.geometry,0)){let Ro=sq(Wn,16);lo(Wn[0],new gg(Ro.x,Ro.y,0))}else if(A.type==="LineString")for(let Wn of A.geometry)lo(Wn,new gg(Wn[0].x,Wn[0].y,0));else if(A.type==="Point")for(let Wn of A.geometry)for(let Ro of Wn)lo([Ro],new gg(Ro.x,Ro.y,0))}function $C(R,A,F,W,te,fe,pe,Re,Ke,ft,Rt,er,ur,vr,kr){let Dr=function(vn,zi,ln,Tn,pa,ro,Vo,Xa){let la=Tn.layout.get("text-rotate").evaluate(ro,{})*Math.PI/180,Mo=[];for(let fo of zi.positionedLines)for(let lo of fo.positionedGlyphs){if(!lo.rect)continue;let Wn=lo.rect||{},Ro=kC+1,uo=!0,$o=1,Ju=0,Ou=(pa||Xa)&&lo.vertical,kh=lo.metrics.advance*lo.scale/2;if(Xa&&zi.verticalizable&&(Ju=fo.lineOffset/2-(lo.imageName?-(tu-lo.metrics.width*lo.scale)/2:(lo.scale-1)*tu)),lo.imageName){let ru=Vo[lo.imageName];uo=ru.sdf,$o=ru.pixelRatio,Ro=Md/$o}let Qv=pa?[lo.x+kh,lo.y]:[0,0],ud=pa?[0,0]:[lo.x+kh+ln[0],lo.y+ln[1]-Ju],Ch=[0,0];Ou&&(Ch=ud,ud=[0,0]);let Gd=lo.metrics.isDoubleResolution?2:1,Hd=(lo.metrics.left-Ro)*lo.scale-kh+ud[0],jd=(-lo.metrics.top-Ro)*lo.scale+ud[1],Af=Hd+Wn.w/Gd*lo.scale/$o,Lh=jd+Wn.h/Gd*lo.scale/$o,Ed=new u(Hd,jd),cd=new u(Af,jd),Yh=new u(Hd,Lh),Df=new u(Af,Lh);if(Ou){let ru=new u(-kh,kh-Eh),pc=-Math.PI/2,$u=tu/2-kh,zv=new u(5-Eh-$u,-(lo.imageName?$u:0)),hf=new u(...Ch);Ed._rotateAround(pc,ru)._add(zv)._add(hf),cd._rotateAround(pc,ru)._add(zv)._add(hf),Yh._rotateAround(pc,ru)._add(zv)._add(hf),Df._rotateAround(pc,ru)._add(zv)._add(hf)}if(la){let ru=Math.sin(la),pc=Math.cos(la),$u=[pc,-ru,ru,pc];Ed._matMult($u),cd._matMult($u),Yh._matMult($u),Df._matMult($u)}let Fv=new u(0,0),uv=new u(0,0);Mo.push({tl:Ed,tr:cd,bl:Yh,br:Df,tex:Wn,writingMode:zi.writingMode,glyphOffset:Qv,sectionIndex:lo.sectionIndex,isSDF:uo,pixelOffsetTL:Fv,pixelOffsetBR:uv,minFontScaleX:0,minFontScaleY:0})}return Mo}(0,F,Re,te,fe,pe,W,R.allowVerticalPlacement),li=R.textSizeData,pi=null;li.kind==="source"?(pi=[v0*te.layout.get("text-size").evaluate(pe,{})],pi[0]>fm&&E(`${R.layerIds[0]}: Value for "text-size" is >= ${rb}. Reduce your "text-size".`)):li.kind==="composite"&&(pi=[v0*vr.compositeTextSizes[0].evaluate(pe,{},kr),v0*vr.compositeTextSizes[1].evaluate(pe,{},kr)],(pi[0]>fm||pi[1]>fm)&&E(`${R.layerIds[0]}: Value for "text-size" is >= ${rb}. Reduce your "text-size".`)),R.addSymbols(R.text,Dr,pi,Re,fe,pe,ft,A,Ke.lineStartIndex,Ke.lineLength,ur,kr);for(let vn of Rt)er[vn]=R.text.placedSymbolArray.length-1;return 4*Dr.length}function QC(R){for(let A in R)return R[A];return null}function cq(R,A,F,W){let te=R.compareText;if(A in te){let fe=te[A];for(let pe=fe.length-1;pe>=0;pe--)if(W.dist(fe[pe])>4;if(te!==1)throw new Error(`Got v${te} data when expected v1.`);let fe=e6[15&W];if(!fe)throw new Error("Unrecognized array type.");let[pe]=new Uint16Array(A,2,1),[Re]=new Uint32Array(A,4,1);return new SS(Re,pe,fe,A)}constructor(A,F=64,W=Float64Array,te){if(isNaN(A)||A<0)throw new Error(`Unpexpected numItems value: ${A}.`);this.numItems=+A,this.nodeSize=Math.min(Math.max(+F,2),65535),this.ArrayType=W,this.IndexArrayType=A<65536?Uint16Array:Uint32Array;let fe=e6.indexOf(this.ArrayType),pe=2*A*this.ArrayType.BYTES_PER_ELEMENT,Re=A*this.IndexArrayType.BYTES_PER_ELEMENT,Ke=(8-Re%8)%8;if(fe<0)throw new Error(`Unexpected typed array class: ${W}.`);te&&te instanceof ArrayBuffer?(this.data=te,this.ids=new this.IndexArrayType(this.data,8,A),this.coords=new this.ArrayType(this.data,8+Re+Ke,2*A),this._pos=2*A,this._finished=!0):(this.data=new ArrayBuffer(8+pe+Re+Ke),this.ids=new this.IndexArrayType(this.data,8,A),this.coords=new this.ArrayType(this.data,8+Re+Ke,2*A),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+fe]),new Uint16Array(this.data,2,1)[0]=F,new Uint32Array(this.data,4,1)[0]=A)}add(A,F){let W=this._pos>>1;return this.ids[W]=W,this.coords[this._pos++]=A,this.coords[this._pos++]=F,W}finish(){let A=this._pos>>1;if(A!==this.numItems)throw new Error(`Added ${A} items when expected ${this.numItems}.`);return Jw(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(A,F,W,te){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:fe,coords:pe,nodeSize:Re}=this,Ke=[0,fe.length-1,0],ft=[];for(;Ke.length;){let Rt=Ke.pop()||0,er=Ke.pop()||0,ur=Ke.pop()||0;if(er-ur<=Re){for(let li=ur;li<=er;li++){let pi=pe[2*li],vn=pe[2*li+1];pi>=A&&pi<=W&&vn>=F&&vn<=te&&ft.push(fe[li])}continue}let vr=ur+er>>1,kr=pe[2*vr],Dr=pe[2*vr+1];kr>=A&&kr<=W&&Dr>=F&&Dr<=te&&ft.push(fe[vr]),(Rt===0?A<=kr:F<=Dr)&&(Ke.push(ur),Ke.push(vr-1),Ke.push(1-Rt)),(Rt===0?W>=kr:te>=Dr)&&(Ke.push(vr+1),Ke.push(er),Ke.push(1-Rt))}return ft}within(A,F,W){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:te,coords:fe,nodeSize:pe}=this,Re=[0,te.length-1,0],Ke=[],ft=W*W;for(;Re.length;){let Rt=Re.pop()||0,er=Re.pop()||0,ur=Re.pop()||0;if(er-ur<=pe){for(let li=ur;li<=er;li++)r6(fe[2*li],fe[2*li+1],A,F)<=ft&&Ke.push(te[li]);continue}let vr=ur+er>>1,kr=fe[2*vr],Dr=fe[2*vr+1];r6(kr,Dr,A,F)<=ft&&Ke.push(te[vr]),(Rt===0?A-W<=kr:F-W<=Dr)&&(Re.push(ur),Re.push(vr-1),Re.push(1-Rt)),(Rt===0?A+W>=kr:F+W>=Dr)&&(Re.push(vr+1),Re.push(er),Re.push(1-Rt))}return Ke}}function Jw(R,A,F,W,te,fe){if(te-W<=F)return;let pe=W+te>>1;t6(R,A,pe,W,te,fe),Jw(R,A,F,W,pe-1,1-fe),Jw(R,A,F,pe+1,te,1-fe)}function t6(R,A,F,W,te,fe){for(;te>W;){if(te-W>600){let ft=te-W+1,Rt=F-W+1,er=Math.log(ft),ur=.5*Math.exp(2*er/3),vr=.5*Math.sqrt(er*ur*(ft-ur)/ft)*(Rt-ft/2<0?-1:1);t6(R,A,F,Math.max(W,Math.floor(F-Rt*ur/ft+vr)),Math.min(te,Math.floor(F+(ft-Rt)*ur/ft+vr)),fe)}let pe=A[2*F+fe],Re=W,Ke=te;for(cb(R,A,W,F),A[2*te+fe]>pe&&cb(R,A,W,te);Repe;)Ke--}A[2*W+fe]===pe?cb(R,A,W,Ke):(Ke++,cb(R,A,Ke,te)),Ke<=F&&(W=Ke+1),F<=Ke&&(te=Ke-1)}}function cb(R,A,F,W){MS(R,F,W),MS(A,2*F,2*W),MS(A,2*F+1,2*W+1)}function MS(R,A,F){let W=R[A];R[A]=R[F],R[F]=W}function r6(R,A,F,W){let te=R-F,fe=A-W;return te*te+fe*fe}var $w;i.bg=void 0,($w=i.bg||(i.bg={})).create="create",$w.load="load",$w.fullLoad="fullLoad";let fb=null,sh=[],ES=1e3/60,kS="loadTime",Qw="fullLoadTime",fq={mark(R){performance.mark(R)},frame(R){let A=R;fb!=null&&sh.push(A-fb),fb=A},clearMetrics(){fb=null,sh=[],performance.clearMeasures(kS),performance.clearMeasures(Qw);for(let R in i.bg)performance.clearMarks(i.bg[R])},getPerformanceMetrics(){performance.measure(kS,i.bg.create,i.bg.load),performance.measure(Qw,i.bg.create,i.bg.fullLoad);let R=performance.getEntriesByName(kS)[0].duration,A=performance.getEntriesByName(Qw)[0].duration,F=sh.length,W=1/(sh.reduce((fe,pe)=>fe+pe,0)/F/1e3),te=sh.filter(fe=>fe>ES).reduce((fe,pe)=>fe+(pe-ES)/ES,0);return{loadTime:R,fullLoadTime:A,fps:W,percentDroppedFrames:te/(F+te)*100,totalFrames:F}}};i.$=class extends Jt{},i.A=yi,i.B=dn,i.C=function(R){if(V==null){let A=R.navigator?R.navigator.userAgent:null;V=!!R.safari||!(!A||!(/\b(iPad|iPhone|iPod)\b/.test(A)||A.match("Safari")&&!A.match("Chrome")))}return V},i.D=Va,i.E=Pe,i.F=class{constructor(R,A){this.target=R,this.mapId=A,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new yS(()=>this.process()),this.subscription=function(F,W,te,fe){return F.addEventListener(W,te,!1),{unsubscribe:()=>{F.removeEventListener(W,te,!1)}}}(this.target,"message",F=>this.receive(F)),this.globalScope=q(self)?R:window}registerMessageHandler(R,A){this.messageHandlers[R]=A}sendAsync(R,A){return new Promise((F,W)=>{let te=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[te]={resolve:F,reject:W},A&&A.signal.addEventListener("abort",()=>{delete this.resolveRejects[te];let Re={id:te,type:"",origin:location.origin,targetMapId:R.targetMapId,sourceMapId:this.mapId};this.target.postMessage(Re)},{once:!0});let fe=[],pe=Object.assign(Object.assign({},R),{id:te,sourceMapId:this.mapId,origin:location.origin,data:La(R.data,fe)});this.target.postMessage(pe,{transfer:fe})})}receive(R){let A=R.data,F=A.id;if(!(A.origin!=="file://"&&location.origin!=="file://"&&A.origin!=="resource://android"&&location.origin!=="resource://android"&&A.origin!==location.origin||A.targetMapId&&this.mapId!==A.targetMapId)){if(A.type===""){delete this.tasks[F];let W=this.abortControllers[F];return delete this.abortControllers[F],void(W&&W.abort())}if(q(self)||A.mustQueue)return this.tasks[F]=A,this.taskQueue.push(F),void this.invoker.trigger();this.processTask(F,A)}}process(){if(this.taskQueue.length===0)return;let R=this.taskQueue.shift(),A=this.tasks[R];delete this.tasks[R],this.taskQueue.length>0&&this.invoker.trigger(),A&&this.processTask(R,A)}processTask(R,A){return a(this,void 0,void 0,function*(){if(A.type===""){let te=this.resolveRejects[R];return delete this.resolveRejects[R],te?void(A.error?te.reject(Ua(A.error)):te.resolve(Ua(A.data))):void 0}if(!this.messageHandlers[A.type])return void this.completeTask(R,new Error(`Could not find a registered handler for ${A.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(", ")}`));let F=Ua(A.data),W=new AbortController;this.abortControllers[R]=W;try{let te=yield this.messageHandlers[A.type](A.sourceMapId,F,W);this.completeTask(R,null,te)}catch(te){this.completeTask(R,te)}})}completeTask(R,A,F){let W=[];delete this.abortControllers[R];let te={id:R,type:"",sourceMapId:this.mapId,origin:location.origin,error:A?La(A):null,data:La(F,W)};this.target.postMessage(te,{transfer:W})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},i.G=Ce,i.H=function(){var R=new yi(16);return yi!=Float32Array&&(R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[11]=0,R[12]=0,R[13]=0,R[14]=0),R[0]=1,R[5]=1,R[10]=1,R[15]=1,R},i.I=Uw,i.J=function(R,A,F){var W,te,fe,pe,Re,Ke,ft,Rt,er,ur,vr,kr,Dr=F[0],li=F[1],pi=F[2];return A===R?(R[12]=A[0]*Dr+A[4]*li+A[8]*pi+A[12],R[13]=A[1]*Dr+A[5]*li+A[9]*pi+A[13],R[14]=A[2]*Dr+A[6]*li+A[10]*pi+A[14],R[15]=A[3]*Dr+A[7]*li+A[11]*pi+A[15]):(te=A[1],fe=A[2],pe=A[3],Re=A[4],Ke=A[5],ft=A[6],Rt=A[7],er=A[8],ur=A[9],vr=A[10],kr=A[11],R[0]=W=A[0],R[1]=te,R[2]=fe,R[3]=pe,R[4]=Re,R[5]=Ke,R[6]=ft,R[7]=Rt,R[8]=er,R[9]=ur,R[10]=vr,R[11]=kr,R[12]=W*Dr+Re*li+er*pi+A[12],R[13]=te*Dr+Ke*li+ur*pi+A[13],R[14]=fe*Dr+ft*li+vr*pi+A[14],R[15]=pe*Dr+Rt*li+kr*pi+A[15]),R},i.K=function(R,A,F){var W=F[0],te=F[1],fe=F[2];return R[0]=A[0]*W,R[1]=A[1]*W,R[2]=A[2]*W,R[3]=A[3]*W,R[4]=A[4]*te,R[5]=A[5]*te,R[6]=A[6]*te,R[7]=A[7]*te,R[8]=A[8]*fe,R[9]=A[9]*fe,R[10]=A[10]*fe,R[11]=A[11]*fe,R[12]=A[12],R[13]=A[13],R[14]=A[14],R[15]=A[15],R},i.L=ui,i.M=function(R,A){let F={};for(let W=0;W{let A=window.document.createElement("video");return A.muted=!0,new Promise(F=>{A.onloadstart=()=>{F(A)};for(let W of R){let te=window.document.createElement("source");ke(W)||(A.crossOrigin="Anonymous"),te.src=W,A.appendChild(te)}})},i.a4=function(){return x++},i.a5=Ln,i.a6=R1,i.a7=Fc,i.a8=Sl,i.a9=bS,i.aA=function(R){if(R.type==="custom")return new mS(R);switch(R.type){case"background":return new iq(R);case"circle":return new fi(R);case"fill":return new _t(R);case"fill-extrusion":return new Lv(R);case"heatmap":return new sa(R);case"hillshade":return new Zs(R);case"line":return new dy(R);case"raster":return new ob(R);case"symbol":return new my(R)}},i.aB=g,i.aC=function(R,A){if(!R)return[{command:"setStyle",args:[A]}];let F=[];try{if(!mt(R.version,A.version))return[{command:"setStyle",args:[A]}];mt(R.center,A.center)||F.push({command:"setCenter",args:[A.center]}),mt(R.zoom,A.zoom)||F.push({command:"setZoom",args:[A.zoom]}),mt(R.bearing,A.bearing)||F.push({command:"setBearing",args:[A.bearing]}),mt(R.pitch,A.pitch)||F.push({command:"setPitch",args:[A.pitch]}),mt(R.sprite,A.sprite)||F.push({command:"setSprite",args:[A.sprite]}),mt(R.glyphs,A.glyphs)||F.push({command:"setGlyphs",args:[A.glyphs]}),mt(R.transition,A.transition)||F.push({command:"setTransition",args:[A.transition]}),mt(R.light,A.light)||F.push({command:"setLight",args:[A.light]}),mt(R.terrain,A.terrain)||F.push({command:"setTerrain",args:[A.terrain]}),mt(R.sky,A.sky)||F.push({command:"setSky",args:[A.sky]}),mt(R.projection,A.projection)||F.push({command:"setProjection",args:[A.projection]});let W={},te=[];(function(pe,Re,Ke,ft){let Rt;for(Rt in Re=Re||{},pe=pe||{})Object.prototype.hasOwnProperty.call(pe,Rt)&&(Object.prototype.hasOwnProperty.call(Re,Rt)||ct(Rt,Ke,ft));for(Rt in Re)Object.prototype.hasOwnProperty.call(Re,Rt)&&(Object.prototype.hasOwnProperty.call(pe,Rt)?mt(pe[Rt],Re[Rt])||(pe[Rt].type==="geojson"&&Re[Rt].type==="geojson"&&Vt(pe,Re,Rt)?Ht(Ke,{command:"setGeoJSONSourceData",args:[Rt,Re[Rt].data]}):ar(Rt,Re,Ke,ft)):at(Rt,Re,Ke))})(R.sources,A.sources,te,W);let fe=[];R.layers&&R.layers.forEach(pe=>{"source"in pe&&W[pe.source]?F.push({command:"removeLayer",args:[pe.id]}):fe.push(pe)}),F=F.concat(te),function(pe,Re,Ke){Re=Re||[];let ft=(pe=pe||[]).map(tt),Rt=Re.map(tt),er=pe.reduce(je,{}),ur=Re.reduce(je,{}),vr=ft.slice(),kr=Object.create(null),Dr,li,pi,vn,zi;for(let ln=0,Tn=0;ln@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(F,W,te,fe)=>{let pe=te||fe;return A[W]=!pe||pe.toLowerCase(),""}),A["max-age"]){let F=parseInt(A["max-age"],10);isNaN(F)?delete A["max-age"]:A["max-age"]=F}return A},i.ab=function(R,A){let F=[];for(let W in R)W in A||F.push(W);return F},i.ac=M,i.ad=function(R,A,F){var W=Math.sin(F),te=Math.cos(F),fe=A[0],pe=A[1],Re=A[2],Ke=A[3],ft=A[4],Rt=A[5],er=A[6],ur=A[7];return A!==R&&(R[8]=A[8],R[9]=A[9],R[10]=A[10],R[11]=A[11],R[12]=A[12],R[13]=A[13],R[14]=A[14],R[15]=A[15]),R[0]=fe*te+ft*W,R[1]=pe*te+Rt*W,R[2]=Re*te+er*W,R[3]=Ke*te+ur*W,R[4]=ft*te-fe*W,R[5]=Rt*te-pe*W,R[6]=er*te-Re*W,R[7]=ur*te-Ke*W,R},i.ae=function(R){var A=new yi(16);return A[0]=R[0],A[1]=R[1],A[2]=R[2],A[3]=R[3],A[4]=R[4],A[5]=R[5],A[6]=R[6],A[7]=R[7],A[8]=R[8],A[9]=R[9],A[10]=R[10],A[11]=R[11],A[12]=R[12],A[13]=R[13],A[14]=R[14],A[15]=R[15],A},i.af=qn,i.ag=function(R,A){let F=0,W=0;if(R.kind==="constant")W=R.layoutSize;else if(R.kind!=="source"){let{interpolationType:te,minZoom:fe,maxZoom:pe}=R,Re=te?M(ko.interpolationFactor(te,A,fe,pe),0,1):0;R.kind==="camera"?W=Lo.number(R.minSize,R.maxSize,Re):F=Re}return{uSizeT:F,uSize:W}},i.ai=function(R,{uSize:A,uSizeT:F},{lowerSize:W,upperSize:te}){return R.kind==="source"?W/v0:R.kind==="composite"?Lo.number(W/v0,te/v0,F):A},i.aj=dS,i.ak=function(R,A,F,W){let te=A.y-R.y,fe=A.x-R.x,pe=W.y-F.y,Re=W.x-F.x,Ke=pe*fe-Re*te;if(Ke===0)return null;let ft=(Re*(R.y-F.y)-pe*(R.x-F.x))/Ke;return new u(R.x+ft*fe,R.y+ft*te)},i.al=HC,i.am=Sc,i.an=Ii,i.ao=function(R){let A=1/0,F=1/0,W=-1/0,te=-1/0;for(let fe of R)A=Math.min(A,fe.x),F=Math.min(F,fe.y),W=Math.max(W,fe.x),te=Math.max(te,fe.y);return[A,F,W,te]},i.ap=tu,i.ar=hS,i.as=function(R,A){var F=A[0],W=A[1],te=A[2],fe=A[3],pe=A[4],Re=A[5],Ke=A[6],ft=A[7],Rt=A[8],er=A[9],ur=A[10],vr=A[11],kr=A[12],Dr=A[13],li=A[14],pi=A[15],vn=F*Re-W*pe,zi=F*Ke-te*pe,ln=F*ft-fe*pe,Tn=W*Ke-te*Re,pa=W*ft-fe*Re,ro=te*ft-fe*Ke,Vo=Rt*Dr-er*kr,Xa=Rt*li-ur*kr,la=Rt*pi-vr*kr,Mo=er*li-ur*Dr,fo=er*pi-vr*Dr,lo=ur*pi-vr*li,Wn=vn*lo-zi*fo+ln*Mo+Tn*la-pa*Xa+ro*Vo;return Wn?(R[0]=(Re*lo-Ke*fo+ft*Mo)*(Wn=1/Wn),R[1]=(te*fo-W*lo-fe*Mo)*Wn,R[2]=(Dr*ro-li*pa+pi*Tn)*Wn,R[3]=(ur*pa-er*ro-vr*Tn)*Wn,R[4]=(Ke*la-pe*lo-ft*Xa)*Wn,R[5]=(F*lo-te*la+fe*Xa)*Wn,R[6]=(li*ln-kr*ro-pi*zi)*Wn,R[7]=(Rt*ro-ur*ln+vr*zi)*Wn,R[8]=(pe*fo-Re*la+ft*Vo)*Wn,R[9]=(W*la-F*fo-fe*Vo)*Wn,R[10]=(kr*pa-Dr*ln+pi*vn)*Wn,R[11]=(er*ln-Rt*pa-vr*vn)*Wn,R[12]=(Re*Xa-pe*Mo-Ke*Vo)*Wn,R[13]=(F*Mo-W*Xa+te*Vo)*Wn,R[14]=(Dr*zi-kr*Tn-li*vn)*Wn,R[15]=(Rt*Tn-er*zi+ur*vn)*Wn,R):null},i.at=AS,i.au=jw,i.av=SS,i.aw=function(){let R={},A=ce.$version;for(let F in ce.$root){let W=ce.$root[F];if(W.required){let te=null;te=F==="version"?A:W.type==="array"?[]:{},te!=null&&(R[F]=te)}}return R},i.ax=Zn,i.ay=re,i.az=function(R){R=R.slice();let A=Object.create(null);for(let F=0;F25||W<0||W>=1||F<0||F>=1)},i.bc=function(R,A){return R[0]=A[0],R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[5]=A[1],R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[10]=A[2],R[11]=0,R[12]=0,R[13]=0,R[14]=0,R[15]=1,R},i.bd=class extends Mt{},i.be=_S,i.bf=fq,i.bh=ge,i.bi=function(R,A){_e.REGISTERED_PROTOCOLS[R]=A},i.bj=function(R){delete _e.REGISTERED_PROTOCOLS[R]},i.bk=function(R,A){let F={};for(let te=0;telo*tu)}let Xa=pe?"center":F.get("text-justify").evaluate(ft,{},R.canonical),la=F.get("symbol-placement")==="point"?F.get("text-max-width").evaluate(ft,{},R.canonical)*tu:1/0,Mo=()=>{R.bucket.allowVerticalPlacement&&Ka(ln)&&(kr.vertical=eb(Dr,R.glyphMap,R.glyphPositions,R.imagePositions,Rt,la,fe,ro,"left",pa,pi,i.ah.vertical,!0,ur,er))};if(!pe&&Vo){let fo=new Set;if(Xa==="auto")for(let Wn=0;Wna(void 0,void 0,void 0,function*(){if(R.byteLength===0)return createImageBitmap(new ImageData(1,1));let A=new Blob([new Uint8Array(R)],{type:"image/png"});try{return createImageBitmap(A)}catch(F){throw new Error(`Could not load image because of ${F.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}}),i.e=L,i.f=R=>new Promise((A,F)=>{let W=new Image;W.onload=()=>{A(W),URL.revokeObjectURL(W.src),W.onload=null,window.requestAnimationFrame(()=>{W.src=Z})},W.onerror=()=>F(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 te=new Blob([new Uint8Array(R)],{type:"image/png"});W.src=R.byteLength?URL.createObjectURL(te):Z}),i.g=Ee,i.h=(R,A)=>Se(L(R,{type:"json"}),A),i.i=q,i.j=me,i.k=Le,i.l=(R,A)=>Se(L(R,{type:"arrayBuffer"}),A),i.m=Se,i.n=function(R){return new uS(R).readFields(BQ,[])},i.o=aa,i.p=fS,i.q=ue,i.r=Wi,i.s=ke,i.t=Yi,i.u=Mi,i.v=ce,i.w=E,i.x=function([R,A,F]){return A+=90,A*=Math.PI/180,F*=Math.PI/180,{x:R*Math.cos(A)*Math.sin(F),y:R*Math.sin(A)*Math.sin(F),z:R*Math.cos(F)}},i.y=Lo,i.z=rs}),r("worker",["./shared"],function(i){"use strict";class a{constructor(Ge){this.keyCache={},Ge&&this.replace(Ge)}replace(Ge){this._layerConfigs={},this._layers={},this.update(Ge,[])}update(Ge,Je){for(let et of Ge){this._layerConfigs[et.id]=et;let xt=this._layers[et.id]=i.aA(et);xt._featureFilter=i.a7(xt.filter),this.keyCache[et.id]&&delete this.keyCache[et.id]}for(let et of Je)delete this.keyCache[et],delete this._layerConfigs[et],delete this._layers[et];this.familiesBySource={};let We=i.bk(Object.values(this._layerConfigs),this.keyCache);for(let et of We){let xt=et.map(Ir=>this._layers[Ir.id]),At=xt[0];if(At.visibility==="none")continue;let Kt=At.source||"",Qt=this.familiesBySource[Kt];Qt||(Qt=this.familiesBySource[Kt]={});let Mr=At.sourceLayer||"_geojsonTileLayer",Gr=Qt[Mr];Gr||(Gr=Qt[Mr]=[]),Gr.push(xt)}}}class o{constructor(Ge){let Je={},We=[];for(let Kt in Ge){let Qt=Ge[Kt],Mr=Je[Kt]={};for(let Gr in Qt){let Ir=Qt[+Gr];if(!Ir||Ir.bitmap.width===0||Ir.bitmap.height===0)continue;let Yr={x:0,y:0,w:Ir.bitmap.width+2,h:Ir.bitmap.height+2};We.push(Yr),Mr[Gr]={rect:Yr,metrics:Ir.metrics}}}let{w:et,h:xt}=i.p(We),At=new i.o({width:et||1,height:xt||1});for(let Kt in Ge){let Qt=Ge[Kt];for(let Mr in Qt){let Gr=Qt[+Mr];if(!Gr||Gr.bitmap.width===0||Gr.bitmap.height===0)continue;let Ir=Je[Kt][Mr].rect;i.o.copy(Gr.bitmap,At,{x:0,y:0},{x:Ir.x+1,y:Ir.y+1},Gr.bitmap)}}this.image=At,this.positions=Je}}i.bl("GlyphAtlas",o);class s{constructor(Ge){this.tileID=new i.S(Ge.tileID.overscaledZ,Ge.tileID.wrap,Ge.tileID.canonical.z,Ge.tileID.canonical.x,Ge.tileID.canonical.y),this.uid=Ge.uid,this.zoom=Ge.zoom,this.pixelRatio=Ge.pixelRatio,this.tileSize=Ge.tileSize,this.source=Ge.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=Ge.showCollisionBoxes,this.collectResourceTiming=!!Ge.collectResourceTiming,this.returnDependencies=!!Ge.returnDependencies,this.promoteId=Ge.promoteId,this.inFlightDependencies=[]}parse(Ge,Je,We,et){return i._(this,void 0,void 0,function*(){this.status="parsing",this.data=Ge,this.collisionBoxArray=new i.a5;let xt=new i.bm(Object.keys(Ge.layers).sort()),At=new i.bn(this.tileID,this.promoteId);At.bucketLayerIDs=[];let Kt={},Qt={featureIndex:At,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:We},Mr=Je.familiesBySource[this.source];for(let Qn in Mr){let Vi=Ge.layers[Qn];if(!Vi)continue;Vi.version===1&&i.w(`Vector tile source "${this.source}" layer "${Qn}" does not use vector tile spec v2 and therefore may have some rendering errors.`);let Kn=xt.encode(Qn),Jn=[];for(let Gt=0;Gt=wt.maxzoom||wt.visibility!=="none"&&(l(Gt,this.zoom,We),(Kt[wt.id]=wt.createBucket({index:At.bucketLayerIDs.length,layers:Gt,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:Kn,sourceID:this.source})).populate(Jn,Qt,this.tileID.canonical),At.bucketLayerIDs.push(Gt.map(tr=>tr.id)))}}let Gr=i.aF(Qt.glyphDependencies,Qn=>Object.keys(Qn).map(Number));this.inFlightDependencies.forEach(Qn=>Qn==null?void 0:Qn.abort()),this.inFlightDependencies=[];let Ir=Promise.resolve({});if(Object.keys(Gr).length){let Qn=new AbortController;this.inFlightDependencies.push(Qn),Ir=et.sendAsync({type:"GG",data:{stacks:Gr,source:this.source,tileID:this.tileID,type:"glyphs"}},Qn)}let Yr=Object.keys(Qt.iconDependencies),_i=Promise.resolve({});if(Yr.length){let Qn=new AbortController;this.inFlightDependencies.push(Qn),_i=et.sendAsync({type:"GI",data:{icons:Yr,source:this.source,tileID:this.tileID,type:"icons"}},Qn)}let Pi=Object.keys(Qt.patternDependencies),ai=Promise.resolve({});if(Pi.length){let Qn=new AbortController;this.inFlightDependencies.push(Qn),ai=et.sendAsync({type:"GI",data:{icons:Pi,source:this.source,tileID:this.tileID,type:"patterns"}},Qn)}let[mi,un,Fn]=yield Promise.all([Ir,_i,ai]),An=new o(mi),Hn=new i.bo(un,Fn);for(let Qn in Kt){let Vi=Kt[Qn];Vi instanceof i.a6?(l(Vi.layers,this.zoom,We),i.bp({bucket:Vi,glyphMap:mi,glyphPositions:An.positions,imageMap:un,imagePositions:Hn.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):Vi.hasPattern&&(Vi instanceof i.bq||Vi instanceof i.br||Vi instanceof i.bs)&&(l(Vi.layers,this.zoom,We),Vi.addFeatures(Qt,this.tileID.canonical,Hn.patternPositions))}return this.status="done",{buckets:Object.values(Kt).filter(Qn=>!Qn.isEmpty()),featureIndex:At,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:An.image,imageAtlas:Hn,glyphMap:this.returnDependencies?mi:null,iconMap:this.returnDependencies?un:null,glyphPositions:this.returnDependencies?An.positions:null}})}}function l(gt,Ge,Je){let We=new i.z(Ge);for(let et of gt)et.recalculate(We,Je)}class u{constructor(Ge,Je,We){this.actor=Ge,this.layerIndex=Je,this.availableImages=We,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(Ge,Je){return i._(this,void 0,void 0,function*(){let We=yield i.l(Ge.request,Je);try{return{vectorTile:new i.bt.VectorTile(new i.bu(We.data)),rawData:We.data,cacheControl:We.cacheControl,expires:We.expires}}catch(et){let xt=new Uint8Array(We.data),At=`Unable to parse the tile at ${Ge.request.url}, `;throw At+=xt[0]===31&&xt[1]===139?"please make sure the data is not gzipped and that you have configured the relevant header in the server":`got error: ${et.message}`,new Error(At)}})}loadTile(Ge){return i._(this,void 0,void 0,function*(){let Je=Ge.uid,We=!!(Ge&&Ge.request&&Ge.request.collectResourceTiming)&&new i.bv(Ge.request),et=new s(Ge);this.loading[Je]=et;let xt=new AbortController;et.abort=xt;try{let At=yield this.loadVectorTile(Ge,xt);if(delete this.loading[Je],!At)return null;let Kt=At.rawData,Qt={};At.expires&&(Qt.expires=At.expires),At.cacheControl&&(Qt.cacheControl=At.cacheControl);let Mr={};if(We){let Ir=We.finish();Ir&&(Mr.resourceTiming=JSON.parse(JSON.stringify(Ir)))}et.vectorTile=At.vectorTile;let Gr=et.parse(At.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[Je]=et,this.fetching[Je]={rawTileData:Kt,cacheControl:Qt,resourceTiming:Mr};try{let Ir=yield Gr;return i.e({rawTileData:Kt.slice(0)},Ir,Qt,Mr)}finally{delete this.fetching[Je]}}catch(At){throw delete this.loading[Je],et.status="done",this.loaded[Je]=et,At}})}reloadTile(Ge){return i._(this,void 0,void 0,function*(){let Je=Ge.uid;if(!this.loaded||!this.loaded[Je])throw new Error("Should not be trying to reload a tile that was never loaded or has been removed");let We=this.loaded[Je];if(We.showCollisionBoxes=Ge.showCollisionBoxes,We.status==="parsing"){let et=yield We.parse(We.vectorTile,this.layerIndex,this.availableImages,this.actor),xt;if(this.fetching[Je]){let{rawTileData:At,cacheControl:Kt,resourceTiming:Qt}=this.fetching[Je];delete this.fetching[Je],xt=i.e({rawTileData:At.slice(0)},et,Kt,Qt)}else xt=et;return xt}if(We.status==="done"&&We.vectorTile)return We.parse(We.vectorTile,this.layerIndex,this.availableImages,this.actor)})}abortTile(Ge){return i._(this,void 0,void 0,function*(){let Je=this.loading,We=Ge.uid;Je&&Je[We]&&Je[We].abort&&(Je[We].abort.abort(),delete Je[We])})}removeTile(Ge){return i._(this,void 0,void 0,function*(){this.loaded&&this.loaded[Ge.uid]&&delete this.loaded[Ge.uid]})}}class c{constructor(){this.loaded={}}loadTile(Ge){return i._(this,void 0,void 0,function*(){let{uid:Je,encoding:We,rawImageData:et,redFactor:xt,greenFactor:At,blueFactor:Kt,baseShift:Qt}=Ge,Mr=et.width+2,Gr=et.height+2,Ir=i.b(et)?new i.R({width:Mr,height:Gr},yield i.bw(et,-1,-1,Mr,Gr)):et,Yr=new i.bx(Je,Ir,We,xt,At,Kt,Qt);return this.loaded=this.loaded||{},this.loaded[Je]=Yr,Yr})}removeTile(Ge){let Je=this.loaded,We=Ge.uid;Je&&Je[We]&&delete Je[We]}}function f(gt,Ge){if(gt.length!==0){h(gt[0],Ge);for(var Je=1;Je=Math.abs(Kt)?Je-Qt+Kt:Kt-Qt+Je,Je=Qt}Je+We>=0!=!!Ge&>.reverse()}var d=i.by(function gt(Ge,Je){var We,et=Ge&&Ge.type;if(et==="FeatureCollection")for(We=0;We>31}function q(gt,Ge){for(var Je=gt.loadGeometry(),We=gt.type,et=0,xt=0,At=Je.length,Kt=0;Ktgt},j=Math.fround||(N=new Float32Array(1),gt=>(N[0]=+gt,N[0]));var N;let H=3,ie=5,ae=6;class _e{constructor(Ge){this.options=Object.assign(Object.create(Z),Ge),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(Ge){let{log:Je,minZoom:We,maxZoom:et}=this.options;Je&&console.time("total time");let xt=`prepare ${Ge.length} points`;Je&&console.time(xt),this.points=Ge;let At=[];for(let Qt=0;Qt=We;Qt--){let Mr=+Date.now();Kt=this.trees[Qt]=this._createTree(this._cluster(Kt,Qt)),Je&&console.log("z%d: %d clusters in %dms",Qt,Kt.numItems,+Date.now()-Mr)}return Je&&console.timeEnd("total time"),this}getClusters(Ge,Je){let We=((Ge[0]+180)%360+360)%360-180,et=Math.max(-90,Math.min(90,Ge[1])),xt=Ge[2]===180?180:((Ge[2]+180)%360+360)%360-180,At=Math.max(-90,Math.min(90,Ge[3]));if(Ge[2]-Ge[0]>=360)We=-180,xt=180;else if(We>xt){let Ir=this.getClusters([We,et,180,At],Je),Yr=this.getClusters([-180,et,xt,At],Je);return Ir.concat(Yr)}let Kt=this.trees[this._limitZoom(Je)],Qt=Kt.range(ge(We),re(At),ge(xt),re(et)),Mr=Kt.data,Gr=[];for(let Ir of Qt){let Yr=this.stride*Ir;Gr.push(Mr[Yr+ie]>1?Ee(Mr,Yr,this.clusterProps):this.points[Mr[Yr+H]])}return Gr}getChildren(Ge){let Je=this._getOriginId(Ge),We=this._getOriginZoom(Ge),et="No cluster with the specified id.",xt=this.trees[We];if(!xt)throw new Error(et);let At=xt.data;if(Je*this.stride>=At.length)throw new Error(et);let Kt=this.options.radius/(this.options.extent*Math.pow(2,We-1)),Qt=xt.within(At[Je*this.stride],At[Je*this.stride+1],Kt),Mr=[];for(let Gr of Qt){let Ir=Gr*this.stride;At[Ir+4]===Ge&&Mr.push(At[Ir+ie]>1?Ee(At,Ir,this.clusterProps):this.points[At[Ir+H]])}if(Mr.length===0)throw new Error(et);return Mr}getLeaves(Ge,Je,We){let et=[];return this._appendLeaves(et,Ge,Je=Je||10,We=We||0,0),et}getTile(Ge,Je,We){let et=this.trees[this._limitZoom(Ge)],xt=Math.pow(2,Ge),{extent:At,radius:Kt}=this.options,Qt=Kt/At,Mr=(We-Qt)/xt,Gr=(We+1+Qt)/xt,Ir={features:[]};return this._addTileFeatures(et.range((Je-Qt)/xt,Mr,(Je+1+Qt)/xt,Gr),et.data,Je,We,xt,Ir),Je===0&&this._addTileFeatures(et.range(1-Qt/xt,Mr,1,Gr),et.data,xt,We,xt,Ir),Je===xt-1&&this._addTileFeatures(et.range(0,Mr,Qt/xt,Gr),et.data,-1,We,xt,Ir),Ir.features.length?Ir:null}getClusterExpansionZoom(Ge){let Je=this._getOriginZoom(Ge)-1;for(;Je<=this.options.maxZoom;){let We=this.getChildren(Ge);if(Je++,We.length!==1)break;Ge=We[0].properties.cluster_id}return Je}_appendLeaves(Ge,Je,We,et,xt){let At=this.getChildren(Je);for(let Kt of At){let Qt=Kt.properties;if(Qt&&Qt.cluster?xt+Qt.point_count<=et?xt+=Qt.point_count:xt=this._appendLeaves(Ge,Qt.cluster_id,We,et,xt):xt1,Gr,Ir,Yr;if(Mr)Gr=Ce(Je,Qt,this.clusterProps),Ir=Je[Qt],Yr=Je[Qt+1];else{let ai=this.points[Je[Qt+H]];Gr=ai.properties;let[mi,un]=ai.geometry.coordinates;Ir=ge(mi),Yr=re(un)}let _i={type:1,geometry:[[Math.round(this.options.extent*(Ir*xt-We)),Math.round(this.options.extent*(Yr*xt-et))]],tags:Gr},Pi;Pi=Mr||this.options.generateId?Je[Qt+H]:this.points[Je[Qt+H]].id,Pi!==void 0&&(_i.id=Pi),At.features.push(_i)}}_limitZoom(Ge){return Math.max(this.options.minZoom,Math.min(Math.floor(+Ge),this.options.maxZoom+1))}_cluster(Ge,Je){let{radius:We,extent:et,reduce:xt,minPoints:At}=this.options,Kt=We/(et*Math.pow(2,Je)),Qt=Ge.data,Mr=[],Gr=this.stride;for(let Ir=0;IrJe&&(mi+=Qt[Fn+ie])}if(mi>ai&&mi>=At){let un,Fn=Yr*ai,An=_i*ai,Hn=-1,Qn=((Ir/Gr|0)<<5)+(Je+1)+this.points.length;for(let Vi of Pi){let Kn=Vi*Gr;if(Qt[Kn+2]<=Je)continue;Qt[Kn+2]=Je;let Jn=Qt[Kn+ie];Fn+=Qt[Kn]*Jn,An+=Qt[Kn+1]*Jn,Qt[Kn+4]=Qn,xt&&(un||(un=this._map(Qt,Ir,!0),Hn=this.clusterProps.length,this.clusterProps.push(un)),xt(un,this._map(Qt,Kn)))}Qt[Ir+4]=Qn,Mr.push(Fn/mi,An/mi,1/0,Qn,-1,mi),xt&&Mr.push(Hn)}else{for(let un=0;un1)for(let un of Pi){let Fn=un*Gr;if(!(Qt[Fn+2]<=Je)){Qt[Fn+2]=Je;for(let An=0;An>5}_getOriginZoom(Ge){return(Ge-this.points.length)%32}_map(Ge,Je,We){if(Ge[Je+ie]>1){let At=this.clusterProps[Ge[Je+ae]];return We?Object.assign({},At):At}let et=this.points[Ge[Je+H]].properties,xt=this.options.map(et);return We&&xt===et?Object.assign({},xt):xt}}function Ee(gt,Ge,Je){return{type:"Feature",id:gt[Ge+H],properties:Ce(gt,Ge,Je),geometry:{type:"Point",coordinates:[(We=gt[Ge],360*(We-.5)),Se(gt[Ge+1])]}};var We}function Ce(gt,Ge,Je){let We=gt[Ge+ie],et=We>=1e4?`${Math.round(We/1e3)}k`:We>=1e3?Math.round(We/100)/10+"k":We,xt=gt[Ge+ae],At=xt===-1?{}:Object.assign({},Je[xt]);return Object.assign(At,{cluster:!0,cluster_id:gt[Ge+H],point_count:We,point_count_abbreviated:et})}function ge(gt){return gt/360+.5}function re(gt){let Ge=Math.sin(gt*Math.PI/180),Je=.5-.25*Math.log((1+Ge)/(1-Ge))/Math.PI;return Je<0?0:Je>1?1:Je}function Se(gt){let Ge=(180-360*gt)*Math.PI/180;return 360*Math.atan(Math.exp(Ge))/Math.PI-90}function ke(gt,Ge,Je,We){let et=We,xt=Ge+(Je-Ge>>1),At,Kt=Je-Ge,Qt=gt[Ge],Mr=gt[Ge+1],Gr=gt[Je],Ir=gt[Je+1];for(let Yr=Ge+3;Yret)At=Yr,et=_i;else if(_i===et){let Pi=Math.abs(Yr-xt);PiWe&&(At-Ge>3&&ke(gt,Ge,At,We),gt[At+2]=et,Je-At>3&&ke(gt,At,Je,We))}function be(gt,Ge,Je,We,et,xt){let At=et-Je,Kt=xt-We;if(At!==0||Kt!==0){let Qt=((gt-Je)*At+(Ge-We)*Kt)/(At*At+Kt*Kt);Qt>1?(Je=et,We=xt):Qt>0&&(Je+=At*Qt,We+=Kt*Qt)}return At=gt-Je,Kt=Ge-We,At*At+Kt*Kt}function Be(gt,Ge,Je,We){let et={id:gt==null?null:gt,type:Ge,geometry:Je,tags:We,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(Ge==="Point"||Ge==="MultiPoint"||Ge==="LineString")Le(et,Je);else if(Ge==="Polygon")Le(et,Je[0]);else if(Ge==="MultiLineString")for(let xt of Je)Le(et,xt);else if(Ge==="MultiPolygon")for(let xt of Je)Le(et,xt[0]);return et}function Le(gt,Ge){for(let Je=0;Je0&&(At+=We?(et*Gr-Mr*xt)/2:Math.sqrt(Math.pow(Mr-et,2)+Math.pow(Gr-xt,2))),et=Mr,xt=Gr}let Kt=Ge.length-3;Ge[2]=1,ke(Ge,0,Kt,Je),Ge[Kt+2]=1,Ge.size=Math.abs(At),Ge.start=0,Ge.end=Ge.size}function He(gt,Ge,Je,We){for(let et=0;et1?1:Je}function Ht(gt,Ge,Je,We,et,xt,At,Kt){if(We/=Ge,xt>=(Je/=Ge)&&At=We)return null;let Qt=[];for(let Mr of gt){let Gr=Mr.geometry,Ir=Mr.type,Yr=et===0?Mr.minX:Mr.minY,_i=et===0?Mr.maxX:Mr.maxY;if(Yr>=Je&&_i=We)continue;let Pi=[];if(Ir==="Point"||Ir==="MultiPoint")at(Gr,Pi,Je,We,et);else if(Ir==="LineString")ct(Gr,Pi,Je,We,et,!1,Kt.lineMetrics);else if(Ir==="MultiLineString")Vt(Gr,Pi,Je,We,et,!1);else if(Ir==="Polygon")Vt(Gr,Pi,Je,We,et,!0);else if(Ir==="MultiPolygon")for(let ai of Gr){let mi=[];Vt(ai,mi,Je,We,et,!0),mi.length&&Pi.push(mi)}if(Pi.length){if(Kt.lineMetrics&&Ir==="LineString"){for(let ai of Pi)Qt.push(Be(Mr.id,Ir,ai,Mr.tags));continue}Ir!=="LineString"&&Ir!=="MultiLineString"||(Pi.length===1?(Ir="LineString",Pi=Pi[0]):Ir="MultiLineString"),Ir!=="Point"&&Ir!=="MultiPoint"||(Ir=Pi.length===3?"Point":"MultiPoint"),Qt.push(Be(Mr.id,Ir,Pi,Mr.tags))}}return Qt.length?Qt:null}function at(gt,Ge,Je,We,et){for(let xt=0;xt=Je&&At<=We&&rr(Ge,gt[xt],gt[xt+1],gt[xt+2])}}function ct(gt,Ge,Je,We,et,xt,At){let Kt=ar(gt),Qt=et===0?tt:je,Mr,Gr,Ir=gt.start;for(let mi=0;miJe&&(Gr=Qt(Kt,un,Fn,Hn,Qn,Je),At&&(Kt.start=Ir+Mr*Gr)):Vi>We?Kn=Je&&(Gr=Qt(Kt,un,Fn,Hn,Qn,Je),Jn=!0),Kn>We&&Vi<=We&&(Gr=Qt(Kt,un,Fn,Hn,Qn,We),Jn=!0),!xt&&Jn&&(At&&(Kt.end=Ir+Mr*Gr),Ge.push(Kt),Kt=ar(gt)),At&&(Ir+=Mr)}let Yr=gt.length-3,_i=gt[Yr],Pi=gt[Yr+1],ai=et===0?_i:Pi;ai>=Je&&ai<=We&&rr(Kt,_i,Pi,gt[Yr+2]),Yr=Kt.length-3,xt&&Yr>=3&&(Kt[Yr]!==Kt[0]||Kt[Yr+1]!==Kt[1])&&rr(Kt,Kt[0],Kt[1],Kt[2]),Kt.length&&Ge.push(Kt)}function ar(gt){let Ge=[];return Ge.size=gt.size,Ge.start=gt.start,Ge.end=gt.end,Ge}function Vt(gt,Ge,Je,We,et,xt){for(let At of gt)ct(At,Ge,Je,We,et,xt,!1)}function rr(gt,Ge,Je,We){gt.push(Ge,Je,We)}function tt(gt,Ge,Je,We,et,xt){let At=(xt-Ge)/(We-Ge);return rr(gt,xt,Je+(et-Je)*At,1),At}function je(gt,Ge,Je,We,et,xt){let At=(xt-Je)/(et-Je);return rr(gt,Ge+(We-Ge)*At,xt,1),At}function Ue(gt,Ge){let Je=[];for(let We=0;We0&&Ge.size<(et?At:We))return void(Je.numPoints+=Ge.length/3);let Kt=[];for(let Qt=0;QtAt)&&(Je.numSimplified++,Kt.push(Ge[Qt],Ge[Qt+1])),Je.numPoints++;et&&function(Qt,Mr){let Gr=0;for(let Ir=0,Yr=Qt.length,_i=Yr-2;Ir0===Mr)for(let Ir=0,Yr=Qt.length;Ir24)throw new Error("maxZoom should be in the 0-24 range");if(Je.promoteId&&Je.generateId)throw new Error("promoteId and generateId cannot be used together.");let et=function(xt,At){let Kt=[];if(xt.type==="FeatureCollection")for(let Qt=0;Qt1&&console.time("creation"),_i=this.tiles[Yr]=Tt(Ge,Je,We,et,Mr),this.tileCoords.push({z:Je,x:We,y:et}),Gr)){Gr>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",Je,We,et,_i.numFeatures,_i.numPoints,_i.numSimplified),console.timeEnd("creation"));let Jn=`z${Je}`;this.stats[Jn]=(this.stats[Jn]||0)+1,this.total++}if(_i.source=Ge,xt==null){if(Je===Mr.indexMaxZoom||_i.numPoints<=Mr.indexMaxPoints)continue}else{if(Je===Mr.maxZoom||Je===xt)continue;if(xt!=null){let Jn=xt-Je;if(We!==At>>Jn||et!==Kt>>Jn)continue}}if(_i.source=null,Ge.length===0)continue;Gr>1&&console.time("clipping");let Pi=.5*Mr.buffer/Mr.extent,ai=.5-Pi,mi=.5+Pi,un=1+Pi,Fn=null,An=null,Hn=null,Qn=null,Vi=Ht(Ge,Ir,We-Pi,We+mi,0,_i.minX,_i.maxX,Mr),Kn=Ht(Ge,Ir,We+ai,We+un,0,_i.minX,_i.maxX,Mr);Ge=null,Vi&&(Fn=Ht(Vi,Ir,et-Pi,et+mi,1,_i.minY,_i.maxY,Mr),An=Ht(Vi,Ir,et+ai,et+un,1,_i.minY,_i.maxY,Mr),Vi=null),Kn&&(Hn=Ht(Kn,Ir,et-Pi,et+mi,1,_i.minY,_i.maxY,Mr),Qn=Ht(Kn,Ir,et+ai,et+un,1,_i.minY,_i.maxY,Mr),Kn=null),Gr>1&&console.timeEnd("clipping"),Qt.push(Fn||[],Je+1,2*We,2*et),Qt.push(An||[],Je+1,2*We,2*et+1),Qt.push(Hn||[],Je+1,2*We+1,2*et),Qt.push(Qn||[],Je+1,2*We+1,2*et+1)}}getTile(Ge,Je,We){Ge=+Ge,Je=+Je,We=+We;let et=this.options,{extent:xt,debug:At}=et;if(Ge<0||Ge>24)return null;let Kt=1<1&&console.log("drilling down to z%d-%d-%d",Ge,Je,We);let Mr,Gr=Ge,Ir=Je,Yr=We;for(;!Mr&&Gr>0;)Gr--,Ir>>=1,Yr>>=1,Mr=this.tiles[or(Gr,Ir,Yr)];return Mr&&Mr.source?(At>1&&(console.log("found parent tile z%d-%d-%d",Gr,Ir,Yr),console.time("drilling down")),this.splitTile(Mr.source,Gr,Ir,Yr,Ge,Je,We),At>1&&console.timeEnd("drilling down"),this.tiles[Qt]?rt(this.tiles[Qt],xt):null):null}}function or(gt,Ge,Je){return 32*((1<{Ir.properties=_i;let Pi={};for(let ai of Yr)Pi[ai]=Qt[ai].evaluate(Gr,Ir);return Pi},At.reduce=(_i,Pi)=>{Ir.properties=Pi;for(let ai of Yr)Gr.accumulated=_i[ai],_i[ai]=Mr[ai].evaluate(Gr,Ir)},At}(Ge)).load((yield this._pendingData).features):(et=yield this._pendingData,new jt(et,Ge.geojsonVtOptions)),this.loaded={};let xt={};if(We){let At=We.finish();At&&(xt.resourceTiming={},xt.resourceTiming[Ge.source]=JSON.parse(JSON.stringify(At)))}return xt}catch(xt){if(delete this._pendingRequest,i.bB(xt))return{abandoned:!0};throw xt}var et})}getData(){return i._(this,void 0,void 0,function*(){return this._pendingData})}reloadTile(Ge){let Je=this.loaded;return Je&&Je[Ge.uid]?super.reloadTile(Ge):this.loadTile(Ge)}loadAndProcessGeoJSON(Ge,Je){return i._(this,void 0,void 0,function*(){let We=yield this.loadGeoJSON(Ge,Je);if(delete this._pendingRequest,typeof We!="object")throw new Error(`Input data given to '${Ge.source}' is not a valid GeoJSON object.`);if(d(We,!0),Ge.filter){let et=i.bC(Ge.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if(et.result==="error")throw new Error(et.value.map(At=>`${At.key}: ${At.message}`).join(", "));We={type:"FeatureCollection",features:We.features.filter(At=>et.value.evaluate({zoom:0},At))}}return We})}loadGeoJSON(Ge,Je){return i._(this,void 0,void 0,function*(){let{promoteId:We}=Ge;if(Ge.request){let et=yield i.h(Ge.request,Je);return this._dataUpdateable=Ar(et.data,We)?ei(et.data,We):void 0,et.data}if(typeof Ge.data=="string")try{let et=JSON.parse(Ge.data);return this._dataUpdateable=Ar(et,We)?ei(et,We):void 0,et}catch(et){throw new Error(`Input data given to '${Ge.source}' is not a valid GeoJSON object.`)}if(!Ge.dataDiff)throw new Error(`Input data given to '${Ge.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${Ge.source}`);return function(et,xt,At){var Kt,Qt,Mr,Gr;if(xt.removeAll&&et.clear(),xt.remove)for(let Ir of xt.remove)et.delete(Ir);if(xt.add)for(let Ir of xt.add){let Yr=mr(Ir,At);Yr!=null&&et.set(Yr,Ir)}if(xt.update)for(let Ir of xt.update){let Yr=et.get(Ir.id);if(Yr==null)continue;let _i=!Ir.removeAllProperties&&(((Kt=Ir.removeProperties)===null||Kt===void 0?void 0:Kt.length)>0||((Qt=Ir.addOrUpdateProperties)===null||Qt===void 0?void 0:Qt.length)>0);if((Ir.newGeometry||Ir.removeAllProperties||_i)&&(Yr=Object.assign({},Yr),et.set(Ir.id,Yr),_i&&(Yr.properties=Object.assign({},Yr.properties))),Ir.newGeometry&&(Yr.geometry=Ir.newGeometry),Ir.removeAllProperties)Yr.properties={};else if(((Mr=Ir.removeProperties)===null||Mr===void 0?void 0:Mr.length)>0)for(let Pi of Ir.removeProperties)Object.prototype.hasOwnProperty.call(Yr.properties,Pi)&&delete Yr.properties[Pi];if(((Gr=Ir.addOrUpdateProperties)===null||Gr===void 0?void 0:Gr.length)>0)for(let{key:Pi,value:ai}of Ir.addOrUpdateProperties)Yr.properties[Pi]=ai}}(this._dataUpdateable,Ge.dataDiff,We),{type:"FeatureCollection",features:Array.from(this._dataUpdateable.values())}})}removeSource(Ge){return i._(this,void 0,void 0,function*(){this._pendingRequest&&this._pendingRequest.abort()})}getClusterExpansionZoom(Ge){return this._geoJSONIndex.getClusterExpansionZoom(Ge.clusterId)}getClusterChildren(Ge){return this._geoJSONIndex.getChildren(Ge.clusterId)}getClusterLeaves(Ge){return this._geoJSONIndex.getLeaves(Ge.clusterId,Ge.limit,Ge.offset)}}class jr{constructor(Ge){this.self=Ge,this.actor=new i.F(Ge),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(Je,We)=>{if(this.externalWorkerSourceTypes[Je])throw new Error(`Worker source with name "${Je}" already registered.`);this.externalWorkerSourceTypes[Je]=We},this.self.addProtocol=i.bi,this.self.removeProtocol=i.bj,this.self.registerRTLTextPlugin=Je=>{if(i.bD.isParsed())throw new Error("RTL text plugin already registered.");i.bD.setMethods(Je)},this.actor.registerMessageHandler("LDT",(Je,We)=>this._getDEMWorkerSource(Je,We.source).loadTile(We)),this.actor.registerMessageHandler("RDT",(Je,We)=>i._(this,void 0,void 0,function*(){this._getDEMWorkerSource(Je,We.source).removeTile(We)})),this.actor.registerMessageHandler("GCEZ",(Je,We)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Je,We.type,We.source).getClusterExpansionZoom(We)})),this.actor.registerMessageHandler("GCC",(Je,We)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Je,We.type,We.source).getClusterChildren(We)})),this.actor.registerMessageHandler("GCL",(Je,We)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Je,We.type,We.source).getClusterLeaves(We)})),this.actor.registerMessageHandler("LD",(Je,We)=>this._getWorkerSource(Je,We.type,We.source).loadData(We)),this.actor.registerMessageHandler("GD",(Je,We)=>this._getWorkerSource(Je,We.type,We.source).getData()),this.actor.registerMessageHandler("LT",(Je,We)=>this._getWorkerSource(Je,We.type,We.source).loadTile(We)),this.actor.registerMessageHandler("RT",(Je,We)=>this._getWorkerSource(Je,We.type,We.source).reloadTile(We)),this.actor.registerMessageHandler("AT",(Je,We)=>this._getWorkerSource(Je,We.type,We.source).abortTile(We)),this.actor.registerMessageHandler("RMT",(Je,We)=>this._getWorkerSource(Je,We.type,We.source).removeTile(We)),this.actor.registerMessageHandler("RS",(Je,We)=>i._(this,void 0,void 0,function*(){if(!this.workerSources[Je]||!this.workerSources[Je][We.type]||!this.workerSources[Je][We.type][We.source])return;let et=this.workerSources[Je][We.type][We.source];delete this.workerSources[Je][We.type][We.source],et.removeSource!==void 0&&et.removeSource(We)})),this.actor.registerMessageHandler("RM",Je=>i._(this,void 0,void 0,function*(){delete this.layerIndexes[Je],delete this.availableImages[Je],delete this.workerSources[Je],delete this.demWorkerSources[Je]})),this.actor.registerMessageHandler("SR",(Je,We)=>i._(this,void 0,void 0,function*(){this.referrer=We})),this.actor.registerMessageHandler("SRPS",(Je,We)=>this._syncRTLPluginState(Je,We)),this.actor.registerMessageHandler("IS",(Je,We)=>i._(this,void 0,void 0,function*(){this.self.importScripts(We)})),this.actor.registerMessageHandler("SI",(Je,We)=>this._setImages(Je,We)),this.actor.registerMessageHandler("UL",(Je,We)=>i._(this,void 0,void 0,function*(){this._getLayerIndex(Je).update(We.layers,We.removedIds)})),this.actor.registerMessageHandler("SL",(Je,We)=>i._(this,void 0,void 0,function*(){this._getLayerIndex(Je).replace(We)}))}_setImages(Ge,Je){return i._(this,void 0,void 0,function*(){this.availableImages[Ge]=Je;for(let We in this.workerSources[Ge]){let et=this.workerSources[Ge][We];for(let xt in et)et[xt].availableImages=Je}})}_syncRTLPluginState(Ge,Je){return i._(this,void 0,void 0,function*(){if(i.bD.isParsed())return i.bD.getState();if(Je.pluginStatus!=="loading")return i.bD.setState(Je),Je;let We=Je.pluginURL;if(this.self.importScripts(We),i.bD.isParsed()){let et={pluginStatus:"loaded",pluginURL:We};return i.bD.setState(et),et}throw i.bD.setState({pluginStatus:"error",pluginURL:""}),new Error(`RTL Text Plugin failed to import scripts from ${We}`)})}_getAvailableImages(Ge){let Je=this.availableImages[Ge];return Je||(Je=[]),Je}_getLayerIndex(Ge){let Je=this.layerIndexes[Ge];return Je||(Je=this.layerIndexes[Ge]=new a),Je}_getWorkerSource(Ge,Je,We){if(this.workerSources[Ge]||(this.workerSources[Ge]={}),this.workerSources[Ge][Je]||(this.workerSources[Ge][Je]={}),!this.workerSources[Ge][Je][We]){let et={sendAsync:(xt,At)=>(xt.targetMapId=Ge,this.actor.sendAsync(xt,At))};switch(Je){case"vector":this.workerSources[Ge][Je][We]=new u(et,this._getLayerIndex(Ge),this._getAvailableImages(Ge));break;case"geojson":this.workerSources[Ge][Je][We]=new qr(et,this._getLayerIndex(Ge),this._getAvailableImages(Ge));break;default:this.workerSources[Ge][Je][We]=new this.externalWorkerSourceTypes[Je](et,this._getLayerIndex(Ge),this._getAvailableImages(Ge))}}return this.workerSources[Ge][Je][We]}_getDEMWorkerSource(Ge,Je){return this.demWorkerSources[Ge]||(this.demWorkerSources[Ge]={}),this.demWorkerSources[Ge][Je]||(this.demWorkerSources[Ge][Je]=new c),this.demWorkerSources[Ge][Je]}}return i.i(self)&&(self.worker=new jr(self)),jr}),r("index",["exports","./shared"],function(i,a){"use strict";var o="4.7.1";let s,l,u={now:typeof performance!="undefined"&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:ue=>new Promise((w,B)=>{let Q=requestAnimationFrame(w);ue.signal.addEventListener("abort",()=>{cancelAnimationFrame(Q),B(a.c())})}),getImageData(ue,w=0){return this.getImageCanvasContext(ue).getImageData(-w,-w,ue.width+2*w,ue.height+2*w)},getImageCanvasContext(ue){let w=window.document.createElement("canvas"),B=w.getContext("2d",{willReadFrequently:!0});if(!B)throw new Error("failed to create canvas 2d context");return w.width=ue.width,w.height=ue.height,B.drawImage(ue,0,0,ue.width,ue.height),B},resolveURL:ue=>(s||(s=document.createElement("a")),s.href=ue,s.href),hardwareConcurrency:typeof navigator!="undefined"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(l==null&&(l=matchMedia("(prefers-reduced-motion: reduce)")),l.matches)}};class c{static testProp(w){if(!c.docStyle)return w[0];for(let B=0;B{window.removeEventListener("click",c.suppressClickInternal,!0)},0)}static getScale(w){let B=w.getBoundingClientRect();return{x:B.width/w.offsetWidth||1,y:B.height/w.offsetHeight||1,boundingClientRect:B}}static getPoint(w,B,Q){let ee=B.boundingClientRect;return new a.P((Q.clientX-ee.left)/B.x-w.clientLeft,(Q.clientY-ee.top)/B.y-w.clientTop)}static mousePos(w,B){let Q=c.getScale(w);return c.getPoint(w,Q,B)}static touchPos(w,B){let Q=[],ee=c.getScale(w);for(let le=0;le{h&&b(h),h=null,m=!0},d.onerror=()=>{v=!0,h=null},d.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="),function(ue){let w,B,Q,ee;ue.resetRequestQueue=()=>{w=[],B=0,Q=0,ee={}},ue.addThrottleControl=ut=>{let Mt=Q++;return ee[Mt]=ut,Mt},ue.removeThrottleControl=ut=>{delete ee[ut],Fe()},ue.getImage=(ut,Mt,Jt=!0)=>new Promise(($t,yr)=>{f.supported&&(ut.headers||(ut.headers={}),ut.headers.accept="image/webp,*/*"),a.e(ut,{type:"image"}),w.push({abortController:Mt,requestParameters:ut,supportImageRefresh:Jt,state:"queued",onError:Cr=>{yr(Cr)},onSuccess:Cr=>{$t(Cr)}}),Fe()});let le=ut=>a._(this,void 0,void 0,function*(){ut.state="running";let{requestParameters:Mt,supportImageRefresh:Jt,onError:$t,onSuccess:yr,abortController:Cr}=ut,ve=Jt===!1&&!a.i(self)&&!a.g(Mt.url)&&(!Mt.headers||Object.keys(Mt.headers).reduce((ze,Qe)=>ze&&Qe==="accept",!0));B++;let xe=ve?Ze(Mt,Cr):a.m(Mt,Cr);try{let ze=yield xe;delete ut.abortController,ut.state="completed",ze.data instanceof HTMLImageElement||a.b(ze.data)?yr(ze):ze.data&&yr({data:yield(Ie=ze.data,typeof createImageBitmap=="function"?a.d(Ie):a.f(Ie)),cacheControl:ze.cacheControl,expires:ze.expires})}catch(ze){delete ut.abortController,$t(ze)}finally{B--,Fe()}var Ie}),Fe=()=>{let ut=(()=>{for(let Mt of Object.keys(ee))if(ee[Mt]())return!0;return!1})()?a.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:a.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let Mt=B;Mt0;Mt++){let Jt=w.shift();Jt.abortController.signal.aborted?Mt--:le(Jt)}},Ze=(ut,Mt)=>new Promise((Jt,$t)=>{let yr=new Image,Cr=ut.url,ve=ut.credentials;ve&&ve==="include"?yr.crossOrigin="use-credentials":(ve&&ve==="same-origin"||!a.s(Cr))&&(yr.crossOrigin="anonymous"),Mt.signal.addEventListener("abort",()=>{yr.src="",$t(a.c())}),yr.fetchPriority="high",yr.onload=()=>{yr.onerror=yr.onload=null,Jt({data:yr})},yr.onerror=()=>{yr.onerror=yr.onload=null,Mt.signal.aborted||$t(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."))},yr.src=Cr})}(p||(p={})),p.resetRequestQueue();class k{constructor(w){this._transformRequestFn=w}transformRequest(w,B){return this._transformRequestFn&&this._transformRequestFn(w,B)||{url:w}}setTransformRequest(w){this._transformRequestFn=w}}function M(ue){var w=new a.A(3);return w[0]=ue[0],w[1]=ue[1],w[2]=ue[2],w}var T,L=function(ue,w,B){return ue[0]=w[0]-B[0],ue[1]=w[1]-B[1],ue[2]=w[2]-B[2],ue};T=new a.A(3),a.A!=Float32Array&&(T[0]=0,T[1]=0,T[2]=0);var x=function(ue){var w=ue[0],B=ue[1];return w*w+B*B};function C(ue){let w=[];if(typeof ue=="string")w.push({id:"default",url:ue});else if(ue&&ue.length>0){let B=[];for(let{id:Q,url:ee}of ue){let le=`${Q}${ee}`;B.indexOf(le)===-1&&(B.push(le),w.push({id:Q,url:ee}))}}return w}function S(ue,w,B){let Q=ue.split("?");return Q[0]+=`${w}${B}`,Q.join("?")}(function(){var ue=new a.A(2);a.A!=Float32Array&&(ue[0]=0,ue[1]=0)})();class g{constructor(w,B,Q,ee){this.context=w,this.format=Q,this.texture=w.gl.createTexture(),this.update(B,ee)}update(w,B,Q){let{width:ee,height:le}=w,Fe=!(this.size&&this.size[0]===ee&&this.size[1]===le||Q),{context:Ze}=this,{gl:ut}=Ze;if(this.useMipmap=!!(B&&B.useMipmap),ut.bindTexture(ut.TEXTURE_2D,this.texture),Ze.pixelStoreUnpackFlipY.set(!1),Ze.pixelStoreUnpack.set(1),Ze.pixelStoreUnpackPremultiplyAlpha.set(this.format===ut.RGBA&&(!B||B.premultiply!==!1)),Fe)this.size=[ee,le],w instanceof HTMLImageElement||w instanceof HTMLCanvasElement||w instanceof HTMLVideoElement||w instanceof ImageData||a.b(w)?ut.texImage2D(ut.TEXTURE_2D,0,this.format,this.format,ut.UNSIGNED_BYTE,w):ut.texImage2D(ut.TEXTURE_2D,0,this.format,ee,le,0,this.format,ut.UNSIGNED_BYTE,w.data);else{let{x:Mt,y:Jt}=Q||{x:0,y:0};w instanceof HTMLImageElement||w instanceof HTMLCanvasElement||w instanceof HTMLVideoElement||w instanceof ImageData||a.b(w)?ut.texSubImage2D(ut.TEXTURE_2D,0,Mt,Jt,ut.RGBA,ut.UNSIGNED_BYTE,w):ut.texSubImage2D(ut.TEXTURE_2D,0,Mt,Jt,ee,le,ut.RGBA,ut.UNSIGNED_BYTE,w.data)}this.useMipmap&&this.isSizePowerOfTwo()&&ut.generateMipmap(ut.TEXTURE_2D)}bind(w,B,Q){let{context:ee}=this,{gl:le}=ee;le.bindTexture(le.TEXTURE_2D,this.texture),Q!==le.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(Q=le.LINEAR),w!==this.filter&&(le.texParameteri(le.TEXTURE_2D,le.TEXTURE_MAG_FILTER,w),le.texParameteri(le.TEXTURE_2D,le.TEXTURE_MIN_FILTER,Q||w),this.filter=w),B!==this.wrap&&(le.texParameteri(le.TEXTURE_2D,le.TEXTURE_WRAP_S,B),le.texParameteri(le.TEXTURE_2D,le.TEXTURE_WRAP_T,B),this.wrap=B)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:w}=this.context;w.deleteTexture(this.texture),this.texture=null}}function P(ue){let{userImage:w}=ue;return!!(w&&w.render&&w.render())&&(ue.data.replace(new Uint8Array(w.data.buffer)),!0)}class E extends a.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new a.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(w){if(this.loaded!==w&&(this.loaded=w,w)){for(let{ids:B,promiseResolve:Q}of this.requestors)Q(this._getImagesForIds(B));this.requestors=[]}}getImage(w){let B=this.images[w];if(B&&!B.data&&B.spriteData){let Q=B.spriteData;B.data=new a.R({width:Q.width,height:Q.height},Q.context.getImageData(Q.x,Q.y,Q.width,Q.height).data),B.spriteData=null}return B}addImage(w,B){if(this.images[w])throw new Error(`Image id ${w} already exist, use updateImage instead`);this._validate(w,B)&&(this.images[w]=B)}_validate(w,B){let Q=!0,ee=B.data||B.spriteData;return this._validateStretch(B.stretchX,ee&&ee.width)||(this.fire(new a.j(new Error(`Image "${w}" has invalid "stretchX" value`))),Q=!1),this._validateStretch(B.stretchY,ee&&ee.height)||(this.fire(new a.j(new Error(`Image "${w}" has invalid "stretchY" value`))),Q=!1),this._validateContent(B.content,B)||(this.fire(new a.j(new Error(`Image "${w}" has invalid "content" value`))),Q=!1),Q}_validateStretch(w,B){if(!w)return!0;let Q=0;for(let ee of w){if(ee[0]{let ee=!0;if(!this.isLoaded())for(let le of w)this.images[le]||(ee=!1);this.isLoaded()||ee?B(this._getImagesForIds(w)):this.requestors.push({ids:w,promiseResolve:B})})}_getImagesForIds(w){let B={};for(let Q of w){let ee=this.getImage(Q);ee||(this.fire(new a.k("styleimagemissing",{id:Q})),ee=this.getImage(Q)),ee?B[Q]={data:ee.data.clone(),pixelRatio:ee.pixelRatio,sdf:ee.sdf,version:ee.version,stretchX:ee.stretchX,stretchY:ee.stretchY,content:ee.content,textFitWidth:ee.textFitWidth,textFitHeight:ee.textFitHeight,hasRenderCallback:!!(ee.userImage&&ee.userImage.render)}:a.w(`Image "${Q}" 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 B}getPixelSize(){let{width:w,height:B}=this.atlasImage;return{width:w,height:B}}getPattern(w){let B=this.patterns[w],Q=this.getImage(w);if(!Q)return null;if(B&&B.position.version===Q.version)return B.position;if(B)B.position.version=Q.version;else{let ee={w:Q.data.width+2,h:Q.data.height+2,x:0,y:0},le=new a.I(ee,Q);this.patterns[w]={bin:ee,position:le}}return this._updatePatternAtlas(),this.patterns[w].position}bind(w){let B=w.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new g(w,this.atlasImage,B.RGBA),this.atlasTexture.bind(B.LINEAR,B.CLAMP_TO_EDGE)}_updatePatternAtlas(){let w=[];for(let le in this.patterns)w.push(this.patterns[le].bin);let{w:B,h:Q}=a.p(w),ee=this.atlasImage;ee.resize({width:B||1,height:Q||1});for(let le in this.patterns){let{bin:Fe}=this.patterns[le],Ze=Fe.x+1,ut=Fe.y+1,Mt=this.getImage(le).data,Jt=Mt.width,$t=Mt.height;a.R.copy(Mt,ee,{x:0,y:0},{x:Ze,y:ut},{width:Jt,height:$t}),a.R.copy(Mt,ee,{x:0,y:$t-1},{x:Ze,y:ut-1},{width:Jt,height:1}),a.R.copy(Mt,ee,{x:0,y:0},{x:Ze,y:ut+$t},{width:Jt,height:1}),a.R.copy(Mt,ee,{x:Jt-1,y:0},{x:Ze-1,y:ut},{width:1,height:$t}),a.R.copy(Mt,ee,{x:0,y:0},{x:Ze+Jt,y:ut},{width:1,height:$t})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(w){for(let B of w){if(this.callbackDispatchedThisFrame[B])continue;this.callbackDispatchedThisFrame[B]=!0;let Q=this.getImage(B);Q||a.w(`Image with ID: "${B}" was not found`),P(Q)&&this.updateImage(B,Q)}}}let z=1e20;function q(ue,w,B,Q,ee,le,Fe,Ze,ut){for(let Mt=w;Mt-1);ut++,le[ut]=Ze,Fe[ut]=Mt,Fe[ut+1]=z}for(let Ze=0,ut=0;Ze65535)throw new Error("glyphs > 65535 not supported");if(Q.ranges[le])return{stack:w,id:B,glyph:ee};if(!this.url)throw new Error("glyphsUrl is not set");if(!Q.requests[le]){let Ze=G.loadGlyphRange(w,le,this.url,this.requestManager);Q.requests[le]=Ze}let Fe=yield Q.requests[le];for(let Ze in Fe)this._doesCharSupportLocalGlyph(+Ze)||(Q.glyphs[+Ze]=Fe[+Ze]);return Q.ranges[le]=!0,{stack:w,id:B,glyph:Fe[B]||null}})}_doesCharSupportLocalGlyph(w){return!!this.localIdeographFontFamily&&new RegExp("\\p{Ideo}|\\p{sc=Hang}|\\p{sc=Hira}|\\p{sc=Kana}","u").test(String.fromCodePoint(w))}_tinySDF(w,B,Q){let ee=this.localIdeographFontFamily;if(!ee||!this._doesCharSupportLocalGlyph(Q))return;let le=w.tinySDF;if(!le){let Ze="400";/bold/i.test(B)?Ze="900":/medium/i.test(B)?Ze="500":/light/i.test(B)&&(Ze="200"),le=w.tinySDF=new G.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:ee,fontWeight:Ze})}let Fe=le.draw(String.fromCharCode(Q));return{id:Q,bitmap:new a.o({width:Fe.width||60,height:Fe.height||60},Fe.data),metrics:{width:Fe.glyphWidth/2||24,height:Fe.glyphHeight/2||24,left:Fe.glyphLeft/2+.5||0,top:Fe.glyphTop/2-27.5||-8,advance:Fe.glyphAdvance/2||24,isDoubleResolution:!0}}}}G.loadGlyphRange=function(ue,w,B,Q){return a._(this,void 0,void 0,function*(){let ee=256*w,le=ee+255,Fe=Q.transformRequest(B.replace("{fontstack}",ue).replace("{range}",`${ee}-${le}`),"Glyphs"),Ze=yield a.l(Fe,new AbortController);if(!Ze||!Ze.data)throw new Error(`Could not load glyph range. range: ${w}, ${ee}-${le}`);let ut={};for(let Mt of a.n(Ze.data))ut[Mt.id]=Mt;return ut})},G.TinySDF=class{constructor({fontSize:ue=24,buffer:w=3,radius:B=8,cutoff:Q=.25,fontFamily:ee="sans-serif",fontWeight:le="normal",fontStyle:Fe="normal"}={}){this.buffer=w,this.cutoff=Q,this.radius=B;let Ze=this.size=ue+4*w,ut=this._createCanvas(Ze),Mt=this.ctx=ut.getContext("2d",{willReadFrequently:!0});Mt.font=`${Fe} ${le} ${ue}px ${ee}`,Mt.textBaseline="alphabetic",Mt.textAlign="left",Mt.fillStyle="black",this.gridOuter=new Float64Array(Ze*Ze),this.gridInner=new Float64Array(Ze*Ze),this.f=new Float64Array(Ze),this.z=new Float64Array(Ze+1),this.v=new Uint16Array(Ze)}_createCanvas(ue){let w=document.createElement("canvas");return w.width=w.height=ue,w}draw(ue){let{width:w,actualBoundingBoxAscent:B,actualBoundingBoxDescent:Q,actualBoundingBoxLeft:ee,actualBoundingBoxRight:le}=this.ctx.measureText(ue),Fe=Math.ceil(B),Ze=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(le-ee))),ut=Math.min(this.size-this.buffer,Fe+Math.ceil(Q)),Mt=Ze+2*this.buffer,Jt=ut+2*this.buffer,$t=Math.max(Mt*Jt,0),yr=new Uint8ClampedArray($t),Cr={data:yr,width:Mt,height:Jt,glyphWidth:Ze,glyphHeight:ut,glyphTop:Fe,glyphLeft:0,glyphAdvance:w};if(Ze===0||ut===0)return Cr;let{ctx:ve,buffer:xe,gridInner:Ie,gridOuter:ze}=this;ve.clearRect(xe,xe,Ze,ut),ve.fillText(ue,xe,xe+Fe);let Qe=ve.getImageData(xe,xe,Ze,ut);ze.fill(z,0,$t),Ie.fill(0,0,$t);for(let Xe=0;Xe0?nr*nr:0,Ie[Wt]=nr<0?nr*nr:0}}q(ze,0,0,Mt,Jt,Mt,this.f,this.v,this.z),q(Ie,xe,xe,Ze,ut,Mt,this.f,this.v,this.z);for(let Xe=0;Xe<$t;Xe++){let nt=Math.sqrt(ze[Xe])-Math.sqrt(Ie[Xe]);yr[Xe]=Math.round(255-255*(nt/this.radius+this.cutoff))}return Cr}};class Z{constructor(){this.specification=a.v.light.position}possiblyEvaluate(w,B){return a.x(w.expression.evaluate(B))}interpolate(w,B,Q){return{x:a.y.number(w.x,B.x,Q),y:a.y.number(w.y,B.y,Q),z:a.y.number(w.z,B.z,Q)}}}let j;class N extends a.E{constructor(w){super(),j=j||new a.q({anchor:new a.D(a.v.light.anchor),position:new Z,color:new a.D(a.v.light.color),intensity:new a.D(a.v.light.intensity)}),this._transitionable=new a.T(j),this.setLight(w),this._transitioning=this._transitionable.untransitioned()}getLight(){return this._transitionable.serialize()}setLight(w,B={}){if(!this._validate(a.r,w,B))for(let Q in w){let ee=w[Q];Q.endsWith("-transition")?this._transitionable.setTransition(Q.slice(0,-11),ee):this._transitionable.setValue(Q,ee)}}updateTransitions(w){this._transitioning=this._transitionable.transitioned(w,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(w){this.properties=this._transitioning.possiblyEvaluate(w)}_validate(w,B,Q){return(!Q||Q.validate!==!1)&&a.t(this,w.call(a.u,{value:B,style:{glyphs:!0,sprite:!0},styleSpec:a.v}))}}let H=new a.q({"sky-color":new a.D(a.v.sky["sky-color"]),"horizon-color":new a.D(a.v.sky["horizon-color"]),"fog-color":new a.D(a.v.sky["fog-color"]),"fog-ground-blend":new a.D(a.v.sky["fog-ground-blend"]),"horizon-fog-blend":new a.D(a.v.sky["horizon-fog-blend"]),"sky-horizon-blend":new a.D(a.v.sky["sky-horizon-blend"]),"atmosphere-blend":new a.D(a.v.sky["atmosphere-blend"])});class ie extends a.E{constructor(w){super(),this._transitionable=new a.T(H),this.setSky(w),this._transitioning=this._transitionable.untransitioned(),this.recalculate(new a.z(0))}setSky(w,B={}){if(!this._validate(a.B,w,B)){w||(w={"sky-color":"transparent","horizon-color":"transparent","fog-color":"transparent","fog-ground-blend":1,"atmosphere-blend":0});for(let Q in w){let ee=w[Q];Q.endsWith("-transition")?this._transitionable.setTransition(Q.slice(0,-11),ee):this._transitionable.setValue(Q,ee)}}}getSky(){return this._transitionable.serialize()}updateTransitions(w){this._transitioning=this._transitionable.transitioned(w,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(w){this.properties=this._transitioning.possiblyEvaluate(w)}_validate(w,B,Q={}){return(Q==null?void 0:Q.validate)!==!1&&a.t(this,w.call(a.u,a.e({value:B,style:{glyphs:!0,sprite:!0},styleSpec:a.v})))}calculateFogBlendOpacity(w){return w<60?0:w<70?(w-60)/10:1}}class ae{constructor(w,B){this.width=w,this.height=B,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}}getDash(w,B){let Q=w.join(",")+String(B);return this.dashEntry[Q]||(this.dashEntry[Q]=this.addDash(w,B)),this.dashEntry[Q]}getDashRanges(w,B,Q){let ee=[],le=w.length%2==1?-w[w.length-1]*Q:0,Fe=w[0]*Q,Ze=!0;ee.push({left:le,right:Fe,isDash:Ze,zeroLength:w[0]===0});let ut=w[0];for(let Mt=1;Mt1&&(ut=w[++Ze]);let Jt=Math.abs(Mt-ut.left),$t=Math.abs(Mt-ut.right),yr=Math.min(Jt,$t),Cr,ve=le/Q*(ee+1);if(ut.isDash){let xe=ee-Math.abs(ve);Cr=Math.sqrt(yr*yr+xe*xe)}else Cr=ee-Math.sqrt(yr*yr+ve*ve);this.data[Fe+Mt]=Math.max(0,Math.min(255,Cr+128))}}}addRegularDash(w){for(let Ze=w.length-1;Ze>=0;--Ze){let ut=w[Ze],Mt=w[Ze+1];ut.zeroLength?w.splice(Ze,1):Mt&&Mt.isDash===ut.isDash&&(Mt.left=ut.left,w.splice(Ze,1))}let B=w[0],Q=w[w.length-1];B.isDash===Q.isDash&&(B.left=Q.left-this.width,Q.right=B.right+this.width);let ee=this.width*this.nextRow,le=0,Fe=w[le];for(let Ze=0;Ze1&&(Fe=w[++le]);let ut=Math.abs(Ze-Fe.left),Mt=Math.abs(Ze-Fe.right),Jt=Math.min(ut,Mt);this.data[ee+Ze]=Math.max(0,Math.min(255,(Fe.isDash?Jt:-Jt)+128))}}addDash(w,B){let Q=B?7:0,ee=2*Q+1;if(this.nextRow+ee>this.height)return a.w("LineAtlas out of space"),null;let le=0;for(let Ze=0;Ze{B.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[_e]}numActive(){return Object.keys(this.active).length}}let Ce=Math.floor(u.hardwareConcurrency/2),ge,re;function Se(){return ge||(ge=new Ee),ge}Ee.workerCount=a.C(globalThis)?Math.max(Math.min(Ce,3),1):1;class ke{constructor(w,B){this.workerPool=w,this.actors=[],this.currentActor=0,this.id=B;let Q=this.workerPool.acquire(B);for(let ee=0;ee{B.remove()}),this.actors=[],w&&this.workerPool.release(this.id)}registerMessageHandler(w,B){for(let Q of this.actors)Q.registerMessageHandler(w,B)}}function be(){return re||(re=new ke(Se(),a.G),re.registerMessageHandler("GR",(ue,w,B)=>a.m(w,B))),re}function Be(ue,w){let B=a.H();return a.J(B,B,[1,1,0]),a.K(B,B,[.5*ue.width,.5*ue.height,1]),a.L(B,B,ue.calculatePosMatrix(w.toUnwrapped()))}function Le(ue,w,B,Q,ee,le){let Fe=function($t,yr,Cr){if($t)for(let ve of $t){let xe=yr[ve];if(xe&&xe.source===Cr&&xe.type==="fill-extrusion")return!0}else for(let ve in yr){let xe=yr[ve];if(xe.source===Cr&&xe.type==="fill-extrusion")return!0}return!1}(ee&&ee.layers,w,ue.id),Ze=le.maxPitchScaleFactor(),ut=ue.tilesIn(Q,Ze,Fe);ut.sort(me);let Mt=[];for(let $t of ut)Mt.push({wrappedTileID:$t.tileID.wrapped().key,queryResults:$t.tile.queryRenderedFeatures(w,B,ue._state,$t.queryGeometry,$t.cameraQueryGeometry,$t.scale,ee,le,Ze,Be(ue.transform,$t.tileID))});let Jt=function($t){let yr={},Cr={};for(let ve of $t){let xe=ve.queryResults,Ie=ve.wrappedTileID,ze=Cr[Ie]=Cr[Ie]||{};for(let Qe in xe){let Xe=xe[Qe],nt=ze[Qe]=ze[Qe]||{},qt=yr[Qe]=yr[Qe]||[];for(let Wt of Xe)nt[Wt.featureIndex]||(nt[Wt.featureIndex]=!0,qt.push(Wt))}}return yr}(Mt);for(let $t in Jt)Jt[$t].forEach(yr=>{let Cr=yr.feature,ve=ue.getFeatureState(Cr.layer["source-layer"],Cr.id);Cr.source=Cr.layer.source,Cr.layer["source-layer"]&&(Cr.sourceLayer=Cr.layer["source-layer"]),Cr.state=ve});return Jt}function me(ue,w){let B=ue.tileID,Q=w.tileID;return B.overscaledZ-Q.overscaledZ||B.canonical.y-Q.canonical.y||B.wrap-Q.wrap||B.canonical.x-Q.canonical.x}function Pe(ue,w,B){return a._(this,void 0,void 0,function*(){let Q=ue;if(ue.url?Q=(yield a.h(w.transformRequest(ue.url,"Source"),B)).data:yield u.frameAsync(B),!Q)return null;let ee=a.M(a.e(Q,ue),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);return"vector_layers"in Q&&Q.vector_layers&&(ee.vectorLayerIds=Q.vector_layers.map(le=>le.id)),ee})}class ce{constructor(w,B){w&&(B?this.setSouthWest(w).setNorthEast(B):Array.isArray(w)&&(w.length===4?this.setSouthWest([w[0],w[1]]).setNorthEast([w[2],w[3]]):this.setSouthWest(w[0]).setNorthEast(w[1])))}setNorthEast(w){return this._ne=w instanceof a.N?new a.N(w.lng,w.lat):a.N.convert(w),this}setSouthWest(w){return this._sw=w instanceof a.N?new a.N(w.lng,w.lat):a.N.convert(w),this}extend(w){let B=this._sw,Q=this._ne,ee,le;if(w instanceof a.N)ee=w,le=w;else{if(!(w instanceof ce))return Array.isArray(w)?w.length===4||w.every(Array.isArray)?this.extend(ce.convert(w)):this.extend(a.N.convert(w)):w&&("lng"in w||"lon"in w)&&"lat"in w?this.extend(a.N.convert(w)):this;if(ee=w._sw,le=w._ne,!ee||!le)return this}return B||Q?(B.lng=Math.min(ee.lng,B.lng),B.lat=Math.min(ee.lat,B.lat),Q.lng=Math.max(le.lng,Q.lng),Q.lat=Math.max(le.lat,Q.lat)):(this._sw=new a.N(ee.lng,ee.lat),this._ne=new a.N(le.lng,le.lat)),this}getCenter(){return new a.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 a.N(this.getWest(),this.getNorth())}getSouthEast(){return new a.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(w){let{lng:B,lat:Q}=a.N.convert(w),ee=this._sw.lng<=B&&B<=this._ne.lng;return this._sw.lng>this._ne.lng&&(ee=this._sw.lng>=B&&B>=this._ne.lng),this._sw.lat<=Q&&Q<=this._ne.lat&&ee}static convert(w){return w instanceof ce?w:w&&new ce(w)}static fromLngLat(w,B=0){let Q=360*B/40075017,ee=Q/Math.cos(Math.PI/180*w.lat);return new ce(new a.N(w.lng-ee,w.lat-Q),new a.N(w.lng+ee,w.lat+Q))}adjustAntiMeridian(){let w=new a.N(this._sw.lng,this._sw.lat),B=new a.N(this._ne.lng,this._ne.lat);return new ce(w,w.lng>B.lng?new a.N(B.lng+360,B.lat):B)}}class He{constructor(w,B,Q){this.bounds=ce.convert(this.validateBounds(w)),this.minzoom=B||0,this.maxzoom=Q||24}validateBounds(w){return Array.isArray(w)&&w.length===4?[Math.max(-180,w[0]),Math.max(-90,w[1]),Math.min(180,w[2]),Math.min(90,w[3])]:[-180,-90,180,90]}contains(w){let B=Math.pow(2,w.z),Q=Math.floor(a.O(this.bounds.getWest())*B),ee=Math.floor(a.Q(this.bounds.getNorth())*B),le=Math.ceil(a.O(this.bounds.getEast())*B),Fe=Math.ceil(a.Q(this.bounds.getSouth())*B);return w.x>=Q&&w.x=ee&&w.y{this._options.tiles=w}),this}setUrl(w){return this.setSourceProperty(()=>{this.url=w,this._options.url=w}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return a.e({},this._options)}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),Q={request:this.map._requestManager.transformRequest(B,"Tile"),uid:w.uid,tileID:w.tileID,zoom:w.tileID.overscaledZ,tileSize:this.tileSize*w.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};Q.request.collectResourceTiming=this._collectResourceTiming;let ee="RT";if(w.actor&&w.state!=="expired"){if(w.state==="loading")return new Promise((le,Fe)=>{w.reloadPromise={resolve:le,reject:Fe}})}else w.actor=this.dispatcher.getActor(),ee="LT";w.abortController=new AbortController;try{let le=yield w.actor.sendAsync({type:ee,data:Q},w.abortController);if(delete w.abortController,w.aborted)return;this._afterTileLoadWorkerResponse(w,le)}catch(le){if(delete w.abortController,w.aborted)return;if(le&&le.status!==404)throw le;this._afterTileLoadWorkerResponse(w,null)}})}_afterTileLoadWorkerResponse(w,B){if(B&&B.resourceTiming&&(w.resourceTiming=B.resourceTiming),B&&this.map._refreshExpiredTiles&&w.setExpiryData(B),w.loadVectorData(B,this.map.painter),w.reloadPromise){let Q=w.reloadPromise;w.reloadPromise=null,this.loadTile(w).then(Q.resolve).catch(Q.reject)}}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController),w.actor&&(yield w.actor.sendAsync({type:"AT",data:{uid:w.uid,type:this.type,source:this.id}}))})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.unloadVectorData(),w.actor&&(yield w.actor.sendAsync({type:"RMT",data:{uid:w.uid,type:this.type,source:this.id}}))})}hasTransition(){return!1}}class mt extends a.E{constructor(w,B,Q,ee){super(),this.id=w,this.dispatcher=Q,this.setEventedParent(ee),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=a.e({type:"raster"},B),a.e(this,a.M(B,["url","scheme","tileSize"]))}load(){return a._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new a.k("dataloading",{dataType:"source"})),this._tileJSONRequest=new AbortController;try{let w=yield Pe(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,w&&(a.e(this,w),w.bounds&&(this.tileBounds=new He(w.bounds,this.minzoom,this.maxzoom)),this.fire(new a.k("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new a.k("data",{dataType:"source",sourceDataType:"content"})))}catch(w){this._tileJSONRequest=null,this.fire(new a.j(w))}})}loaded(){return this._loaded}onAdd(w){this.map=w,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(w){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),w(),this.load()}setTiles(w){return this.setSourceProperty(()=>{this._options.tiles=w}),this}setUrl(w){return this.setSourceProperty(()=>{this.url=w,this._options.url=w}),this}serialize(){return a.e({},this._options)}hasTile(w){return!this.tileBounds||this.tileBounds.contains(w.canonical)}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);w.abortController=new AbortController;try{let Q=yield p.getImage(this.map._requestManager.transformRequest(B,"Tile"),w.abortController,this.map._refreshExpiredTiles);if(delete w.abortController,w.aborted)return void(w.state="unloaded");if(Q&&Q.data){this.map._refreshExpiredTiles&&Q.cacheControl&&Q.expires&&w.setExpiryData({cacheControl:Q.cacheControl,expires:Q.expires});let ee=this.map.painter.context,le=ee.gl,Fe=Q.data;w.texture=this.map.painter.getTileTexture(Fe.width),w.texture?w.texture.update(Fe,{useMipmap:!0}):(w.texture=new g(ee,Fe,le.RGBA,{useMipmap:!0}),w.texture.bind(le.LINEAR,le.CLAMP_TO_EDGE,le.LINEAR_MIPMAP_NEAREST)),w.state="loaded"}}catch(Q){if(delete w.abortController,w.aborted)w.state="unloaded";else if(Q)throw w.state="errored",Q}})}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController)})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.texture&&this.map.painter.saveTileTexture(w.texture)})}hasTransition(){return!1}}class Ht extends mt{constructor(w,B,Q,ee){super(w,B,Q,ee),this.type="raster-dem",this.maxzoom=22,this._options=a.e({type:"raster-dem"},B),this.encoding=B.encoding||"mapbox",this.redFactor=B.redFactor,this.greenFactor=B.greenFactor,this.blueFactor=B.blueFactor,this.baseShift=B.baseShift}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),Q=this.map._requestManager.transformRequest(B,"Tile");w.neighboringTiles=this._getNeighboringTiles(w.tileID),w.abortController=new AbortController;try{let ee=yield p.getImage(Q,w.abortController,this.map._refreshExpiredTiles);if(delete w.abortController,w.aborted)return void(w.state="unloaded");if(ee&&ee.data){let le=ee.data;this.map._refreshExpiredTiles&&ee.cacheControl&&ee.expires&&w.setExpiryData({cacheControl:ee.cacheControl,expires:ee.expires});let Fe=a.b(le)&&a.U()?le:yield this.readImageNow(le),Ze={type:this.type,uid:w.uid,source:this.id,rawImageData:Fe,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!w.actor||w.state==="expired"){w.actor=this.dispatcher.getActor();let ut=yield w.actor.sendAsync({type:"LDT",data:Ze});w.dem=ut,w.needsHillshadePrepare=!0,w.needsTerrainPrepare=!0,w.state="loaded"}}}catch(ee){if(delete w.abortController,w.aborted)w.state="unloaded";else if(ee)throw w.state="errored",ee}})}readImageNow(w){return a._(this,void 0,void 0,function*(){if(typeof VideoFrame!="undefined"&&a.V()){let B=w.width+2,Q=w.height+2;try{return new a.R({width:B,height:Q},yield a.W(w,-1,-1,B,Q))}catch(ee){}}return u.getImageData(w,1)})}_getNeighboringTiles(w){let B=w.canonical,Q=Math.pow(2,B.z),ee=(B.x-1+Q)%Q,le=B.x===0?w.wrap-1:w.wrap,Fe=(B.x+1+Q)%Q,Ze=B.x+1===Q?w.wrap+1:w.wrap,ut={};return ut[new a.S(w.overscaledZ,le,B.z,ee,B.y).key]={backfilled:!1},ut[new a.S(w.overscaledZ,Ze,B.z,Fe,B.y).key]={backfilled:!1},B.y>0&&(ut[new a.S(w.overscaledZ,le,B.z,ee,B.y-1).key]={backfilled:!1},ut[new a.S(w.overscaledZ,w.wrap,B.z,B.x,B.y-1).key]={backfilled:!1},ut[new a.S(w.overscaledZ,Ze,B.z,Fe,B.y-1).key]={backfilled:!1}),B.y+10&&a.e(le,{resourceTiming:ee}),this.fire(new a.k("data",Object.assign(Object.assign({},le),{sourceDataType:"metadata"}))),this.fire(new a.k("data",Object.assign(Object.assign({},le),{sourceDataType:"content"})))}catch(Q){if(this._pendingLoads--,this._removed)return void this.fire(new a.k("dataabort",{dataType:"source"}));this.fire(new a.j(Q))}})}loaded(){return this._pendingLoads===0}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.actor?"RT":"LT";w.actor=this.actor;let Q={type:this.type,uid:w.uid,tileID:w.tileID,zoom:w.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};w.abortController=new AbortController;let ee=yield this.actor.sendAsync({type:B,data:Q},w.abortController);delete w.abortController,w.unloadVectorData(),w.aborted||w.loadVectorData(ee,this.map.painter,B==="RT")})}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController),w.aborted=!0})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.unloadVectorData(),yield this.actor.sendAsync({type:"RMT",data:{uid:w.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 a.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var ct=a.Y([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class ar extends a.E{constructor(w,B,Q,ee){super(),this.id=w,this.dispatcher=Q,this.coordinates=B.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(ee),this.options=B}load(w){return a._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new a.k("dataloading",{dataType:"source"})),this.url=this.options.url,this._request=new AbortController;try{let B=yield p.getImage(this.map._requestManager.transformRequest(this.url,"Image"),this._request);this._request=null,this._loaded=!0,B&&B.data&&(this.image=B.data,w&&(this.coordinates=w),this._finishLoading())}catch(B){this._request=null,this._loaded=!0,this.fire(new a.j(B))}})}loaded(){return this._loaded}updateImage(w){return w.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=w.url,this.load(w.coordinates).finally(()=>{this.texture=null}),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new a.k("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(w){this.map=w,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(w){this.coordinates=w;let B=w.map(a.Z.fromLngLat);this.tileID=function(ee){let le=1/0,Fe=1/0,Ze=-1/0,ut=-1/0;for(let yr of ee)le=Math.min(le,yr.x),Fe=Math.min(Fe,yr.y),Ze=Math.max(Ze,yr.x),ut=Math.max(ut,yr.y);let Mt=Math.max(Ze-le,ut-Fe),Jt=Math.max(0,Math.floor(-Math.log(Mt)/Math.LN2)),$t=Math.pow(2,Jt);return new a.a1(Jt,Math.floor((le+Ze)/2*$t),Math.floor((Fe+ut)/2*$t))}(B),this.minzoom=this.maxzoom=this.tileID.z;let Q=B.map(ee=>this.tileID.getTilePoint(ee)._round());return this._boundsArray=new a.$,this._boundsArray.emplaceBack(Q[0].x,Q[0].y,0,0),this._boundsArray.emplaceBack(Q[1].x,Q[1].y,a.X,0),this._boundsArray.emplaceBack(Q[3].x,Q[3].y,0,a.X),this._boundsArray.emplaceBack(Q[2].x,Q[2].y,a.X,a.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new a.k("data",{dataType:"source",sourceDataType:"content"})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;let w=this.map.painter.context,B=w.gl;this.boundsBuffer||(this.boundsBuffer=w.createVertexBuffer(this._boundsArray,ct.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new g(w,this.image,B.RGBA),this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE));let Q=!1;for(let ee in this.tiles){let le=this.tiles[ee];le.state!=="loaded"&&(le.state="loaded",le.texture=this.texture,Q=!0)}Q&&this.fire(new a.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}loadTile(w){return a._(this,void 0,void 0,function*(){this.tileID&&this.tileID.equals(w.tileID.canonical)?(this.tiles[String(w.tileID.wrap)]=w,w.buckets={}):w.state="errored"})}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class Vt extends ar{constructor(w,B,Q,ee){super(w,B,Q,ee),this.roundZoom=!0,this.type="video",this.options=B}load(){return a._(this,void 0,void 0,function*(){this._loaded=!1;let w=this.options;this.urls=[];for(let B of w.urls)this.urls.push(this.map._requestManager.transformRequest(B,"Source").url);try{let B=yield a.a3(this.urls);if(this._loaded=!0,!B)return;this.video=B,this.video.loop=!0,this.video.addEventListener("playing",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading()}catch(B){this.fire(new a.j(B))}})}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(w){if(this.video){let B=this.video.seekable;wB.end(0)?this.fire(new a.j(new a.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${B.start(0)} and ${B.end(0)}-second mark.`))):this.video.currentTime=w}}getVideo(){return this.video}onAdd(w){this.map||(this.map=w,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 w=this.map.painter.context,B=w.gl;this.boundsBuffer||(this.boundsBuffer=w.createVertexBuffer(this._boundsArray,ct.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE),B.texSubImage2D(B.TEXTURE_2D,0,0,0,B.RGBA,B.UNSIGNED_BYTE,this.video)):(this.texture=new g(w,this.video,B.RGBA),this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE));let Q=!1;for(let ee in this.tiles){let le=this.tiles[ee];le.state!=="loaded"&&(le.state="loaded",le.texture=this.texture,Q=!0)}Q&&this.fire(new a.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 rr extends ar{constructor(w,B,Q,ee){super(w,B,Q,ee),B.coordinates?Array.isArray(B.coordinates)&&B.coordinates.length===4&&!B.coordinates.some(le=>!Array.isArray(le)||le.length!==2||le.some(Fe=>typeof Fe!="number"))||this.fire(new a.j(new a.a2(`sources.${w}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new a.j(new a.a2(`sources.${w}`,null,'missing required property "coordinates"'))),B.animate&&typeof B.animate!="boolean"&&this.fire(new a.j(new a.a2(`sources.${w}`,null,'optional "animate" property must be a boolean value'))),B.canvas?typeof B.canvas=="string"||B.canvas instanceof HTMLCanvasElement||this.fire(new a.j(new a.a2(`sources.${w}`,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 a.j(new a.a2(`sources.${w}`,null,'missing required property "canvas"'))),this.options=B,this.animate=B.animate===void 0||B.animate}load(){return a._(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 a.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(w){this.map=w,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let w=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,w=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,w=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let B=this.map.painter.context,Q=B.gl;this.boundsBuffer||(this.boundsBuffer=B.createVertexBuffer(this._boundsArray,ct.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture?(w||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new g(B,this.canvas,Q.RGBA,{premultiply:!0});let ee=!1;for(let le in this.tiles){let Fe=this.tiles[le];Fe.state!=="loaded"&&(Fe.state="loaded",Fe.texture=this.texture,ee=!0)}ee&&this.fire(new a.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"canvas",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let w of[this.canvas.width,this.canvas.height])if(isNaN(w)||w<=0)return!0;return!1}}let tt={},je=ue=>{switch(ue){case"geojson":return at;case"image":return ar;case"raster":return mt;case"raster-dem":return Ht;case"vector":return lt;case"video":return Vt;case"canvas":return rr}return tt[ue]},Ue="RTLPluginLoaded";class Ae extends a.E{constructor(){super(...arguments),this.status="unavailable",this.url=null,this.dispatcher=be()}_syncState(w){return this.status=w,this.dispatcher.broadcast("SRPS",{pluginStatus:w,pluginURL:this.url}).catch(B=>{throw this.status="error",B})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status="unavailable",this.url=null}setRTLTextPlugin(w){return a._(this,arguments,void 0,function*(B,Q=!1){if(this.url)throw new Error("setRTLTextPlugin cannot be called multiple times.");if(this.url=u.resolveURL(B),!this.url)throw new Error(`requested url ${B} is invalid`);if(this.status==="unavailable"){if(!Q)return this._requestImport();this.status="deferred",this._syncState(this.status)}else if(this.status==="requested")return this._requestImport()})}_requestImport(){return a._(this,void 0,void 0,function*(){yield this._syncState("loading"),this.status="loaded",this.fire(new a.k(Ue))})}lazyLoad(){this.status==="unavailable"?this.status="requested":this.status==="deferred"&&this._requestImport()}}let rt=null;function St(){return rt||(rt=new Ae),rt}class Tt{constructor(w,B){this.timeAdded=0,this.fadeEndTime=0,this.tileID=w,this.uid=a.a4(),this.uses=0,this.tileSize=B,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(w){let B=w+this.timeAdded;Ble.getLayer(Mt)).filter(Boolean);if(ut.length!==0){Ze.layers=ut,Ze.stateDependentLayerIds&&(Ze.stateDependentLayers=Ze.stateDependentLayerIds.map(Mt=>ut.filter(Jt=>Jt.id===Mt)[0]));for(let Mt of ut)Fe[Mt.id]=Ze}}return Fe}(w.buckets,B.style),this.hasSymbolBuckets=!1;for(let ee in this.buckets){let le=this.buckets[ee];if(le instanceof a.a6){if(this.hasSymbolBuckets=!0,!Q)break;le.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let ee in this.buckets){let le=this.buckets[ee];if(le instanceof a.a6&&le.hasRTLText){this.hasRTLText=!0,St().lazyLoad();break}}this.queryPadding=0;for(let ee in this.buckets){let le=this.buckets[ee];this.queryPadding=Math.max(this.queryPadding,B.style.getLayer(ee).queryRadius(le))}w.imageAtlas&&(this.imageAtlas=w.imageAtlas),w.glyphAtlasImage&&(this.glyphAtlasImage=w.glyphAtlasImage)}else this.collisionBoxArray=new a.a5}unloadVectorData(){for(let w in this.buckets)this.buckets[w].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(w){return this.buckets[w.id]}upload(w){for(let Q in this.buckets){let ee=this.buckets[Q];ee.uploadPending()&&ee.upload(w)}let B=w.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new g(w,this.imageAtlas.image,B.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new g(w,this.glyphAtlasImage,B.ALPHA),this.glyphAtlasImage=null)}prepare(w){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(w,this.imageAtlasTexture)}queryRenderedFeatures(w,B,Q,ee,le,Fe,Ze,ut,Mt,Jt){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:ee,cameraQueryGeometry:le,scale:Fe,tileSize:this.tileSize,pixelPosMatrix:Jt,transform:ut,params:Ze,queryPadding:this.queryPadding*Mt},w,B,Q):{}}querySourceFeatures(w,B){let Q=this.latestFeatureIndex;if(!Q||!Q.rawTileData)return;let ee=Q.loadVTLayers(),le=B&&B.sourceLayer?B.sourceLayer:"",Fe=ee._geojsonTileLayer||ee[le];if(!Fe)return;let Ze=a.a7(B&&B.filter),{z:ut,x:Mt,y:Jt}=this.tileID.canonical,$t={z:ut,x:Mt,y:Jt};for(let yr=0;yrQ)ee=!1;else if(B)if(this.expirationTime{this.remove(w,le)},Q)),this.data[ee].push(le),this.order.push(ee),this.order.length>this.max){let Fe=this._getAndRemoveByKey(this.order[0]);Fe&&this.onRemove(Fe)}return this}has(w){return w.wrapped().key in this.data}getAndRemove(w){return this.has(w)?this._getAndRemoveByKey(w.wrapped().key):null}_getAndRemoveByKey(w){let B=this.data[w].shift();return B.timeout&&clearTimeout(B.timeout),this.data[w].length===0&&delete this.data[w],this.order.splice(this.order.indexOf(w),1),B.value}getByKey(w){let B=this.data[w];return B?B[0].value:null}get(w){return this.has(w)?this.data[w.wrapped().key][0].value:null}remove(w,B){if(!this.has(w))return this;let Q=w.wrapped().key,ee=B===void 0?0:this.data[Q].indexOf(B),le=this.data[Q][ee];return this.data[Q].splice(ee,1),le.timeout&&clearTimeout(le.timeout),this.data[Q].length===0&&delete this.data[Q],this.onRemove(le.value),this.order.splice(this.order.indexOf(Q),1),this}setMaxSize(w){for(this.max=w;this.order.length>this.max;){let B=this._getAndRemoveByKey(this.order[0]);B&&this.onRemove(B)}return this}filter(w){let B=[];for(let Q in this.data)for(let ee of this.data[Q])w(ee.value)||B.push(ee);for(let Q of B)this.remove(Q.value.tileID,Q)}}class Et{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(w,B,Q){let ee=String(B);if(this.stateChanges[w]=this.stateChanges[w]||{},this.stateChanges[w][ee]=this.stateChanges[w][ee]||{},a.e(this.stateChanges[w][ee],Q),this.deletedStates[w]===null){this.deletedStates[w]={};for(let le in this.state[w])le!==ee&&(this.deletedStates[w][le]=null)}else if(this.deletedStates[w]&&this.deletedStates[w][ee]===null){this.deletedStates[w][ee]={};for(let le in this.state[w][ee])Q[le]||(this.deletedStates[w][ee][le]=null)}else for(let le in Q)this.deletedStates[w]&&this.deletedStates[w][ee]&&this.deletedStates[w][ee][le]===null&&delete this.deletedStates[w][ee][le]}removeFeatureState(w,B,Q){if(this.deletedStates[w]===null)return;let ee=String(B);if(this.deletedStates[w]=this.deletedStates[w]||{},Q&&B!==void 0)this.deletedStates[w][ee]!==null&&(this.deletedStates[w][ee]=this.deletedStates[w][ee]||{},this.deletedStates[w][ee][Q]=null);else if(B!==void 0)if(this.stateChanges[w]&&this.stateChanges[w][ee])for(Q in this.deletedStates[w][ee]={},this.stateChanges[w][ee])this.deletedStates[w][ee][Q]=null;else this.deletedStates[w][ee]=null;else this.deletedStates[w]=null}getState(w,B){let Q=String(B),ee=a.e({},(this.state[w]||{})[Q],(this.stateChanges[w]||{})[Q]);if(this.deletedStates[w]===null)return{};if(this.deletedStates[w]){let le=this.deletedStates[w][B];if(le===null)return{};for(let Fe in le)delete ee[Fe]}return ee}initializeTileState(w,B){w.setFeatureState(this.state,B)}coalesceChanges(w,B){let Q={};for(let ee in this.stateChanges){this.state[ee]=this.state[ee]||{};let le={};for(let Fe in this.stateChanges[ee])this.state[ee][Fe]||(this.state[ee][Fe]={}),a.e(this.state[ee][Fe],this.stateChanges[ee][Fe]),le[Fe]=this.state[ee][Fe];Q[ee]=le}for(let ee in this.deletedStates){this.state[ee]=this.state[ee]||{};let le={};if(this.deletedStates[ee]===null)for(let Fe in this.state[ee])le[Fe]={},this.state[ee][Fe]={};else for(let Fe in this.deletedStates[ee]){if(this.deletedStates[ee][Fe]===null)this.state[ee][Fe]={};else for(let Ze of Object.keys(this.deletedStates[ee][Fe]))delete this.state[ee][Fe][Ze];le[Fe]=this.state[ee][Fe]}Q[ee]=Q[ee]||{},a.e(Q[ee],le)}if(this.stateChanges={},this.deletedStates={},Object.keys(Q).length!==0)for(let ee in w)w[ee].setFeatureState(Q,B)}}class pt extends a.E{constructor(w,B,Q){super(),this.id=w,this.dispatcher=Q,this.on("data",ee=>this._dataHandler(ee)),this.on("dataloading",()=>{this._sourceErrored=!1}),this.on("error",()=>{this._sourceErrored=this._source.loaded()}),this._source=((ee,le,Fe,Ze)=>{let ut=new(je(le.type))(ee,le,Fe,Ze);if(ut.id!==ee)throw new Error(`Expected Source id to be ${ee} instead of ${ut.id}`);return ut})(w,B,Q,this),this._tiles={},this._cache=new dt(0,ee=>this._unloadTile(ee)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new Et,this._didEmitContent=!1,this._updated=!1}onAdd(w){this.map=w,this._maxTileCacheSize=w?w._maxTileCacheSize:null,this._maxTileCacheZoomLevels=w?w._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(w)}onRemove(w){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(w)}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 w in this._tiles){let B=this._tiles[w];if(B.state!=="loaded"&&B.state!=="errored")return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let w=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,w&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(w,B,Q){return a._(this,void 0,void 0,function*(){try{yield this._source.loadTile(w),this._tileLoaded(w,B,Q)}catch(ee){w.state="errored",ee.status!==404?this._source.fire(new a.j(ee,{tile:w})):this.update(this.transform,this.terrain)}})}_unloadTile(w){this._source.unloadTile&&this._source.unloadTile(w)}_abortTile(w){this._source.abortTile&&this._source.abortTile(w),this._source.fire(new a.k("dataabort",{tile:w,coord:w.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(w){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(let B in this._tiles){let Q=this._tiles[B];Q.upload(w),Q.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map(w=>w.tileID).sort(jt).map(w=>w.key)}getRenderableIds(w){let B=[];for(let Q in this._tiles)this._isIdRenderable(Q,w)&&B.push(this._tiles[Q]);return w?B.sort((Q,ee)=>{let le=Q.tileID,Fe=ee.tileID,Ze=new a.P(le.canonical.x,le.canonical.y)._rotate(this.transform.angle),ut=new a.P(Fe.canonical.x,Fe.canonical.y)._rotate(this.transform.angle);return le.overscaledZ-Fe.overscaledZ||ut.y-Ze.y||ut.x-Ze.x}).map(Q=>Q.tileID.key):B.map(Q=>Q.tileID).sort(jt).map(Q=>Q.key)}hasRenderableParent(w){let B=this.findLoadedParent(w,0);return!!B&&this._isIdRenderable(B.tileID.key)}_isIdRenderable(w,B){return this._tiles[w]&&this._tiles[w].hasData()&&!this._coveredTiles[w]&&(B||!this._tiles[w].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(let w in this._tiles)this._tiles[w].state!=="errored"&&this._reloadTile(w,"reloading")}}_reloadTile(w,B){return a._(this,void 0,void 0,function*(){let Q=this._tiles[w];Q&&(Q.state!=="loading"&&(Q.state=B),yield this._loadTile(Q,w,B))})}_tileLoaded(w,B,Q){w.timeAdded=u.now(),Q==="expired"&&(w.refreshedUponExpiration=!0),this._setTileReloadTimer(B,w),this.getSource().type==="raster-dem"&&w.dem&&this._backfillDEM(w),this._state.initializeTileState(w,this.map?this.map.painter:null),w.aborted||this._source.fire(new a.k("data",{dataType:"source",tile:w,coord:w.tileID}))}_backfillDEM(w){let B=this.getRenderableIds();for(let ee=0;ee1||(Math.abs(Fe)>1&&(Math.abs(Fe+ut)===1?Fe+=ut:Math.abs(Fe-ut)===1&&(Fe-=ut)),le.dem&&ee.dem&&(ee.dem.backfillBorder(le.dem,Fe,Ze),ee.neighboringTiles&&ee.neighboringTiles[Mt]&&(ee.neighboringTiles[Mt].backfilled=!0)))}}getTile(w){return this.getTileByID(w.key)}getTileByID(w){return this._tiles[w]}_retainLoadedChildren(w,B,Q,ee){for(let le in this._tiles){let Fe=this._tiles[le];if(ee[le]||!Fe.hasData()||Fe.tileID.overscaledZ<=B||Fe.tileID.overscaledZ>Q)continue;let Ze=Fe.tileID;for(;Fe&&Fe.tileID.overscaledZ>B+1;){let Mt=Fe.tileID.scaledTo(Fe.tileID.overscaledZ-1);Fe=this._tiles[Mt.key],Fe&&Fe.hasData()&&(Ze=Mt)}let ut=Ze;for(;ut.overscaledZ>B;)if(ut=ut.scaledTo(ut.overscaledZ-1),w[ut.key]){ee[Ze.key]=Ze;break}}}findLoadedParent(w,B){if(w.key in this._loadedParentTiles){let Q=this._loadedParentTiles[w.key];return Q&&Q.tileID.overscaledZ>=B?Q:null}for(let Q=w.overscaledZ-1;Q>=B;Q--){let ee=w.scaledTo(Q),le=this._getLoadedTile(ee);if(le)return le}}findLoadedSibling(w){return this._getLoadedTile(w)}_getLoadedTile(w){let B=this._tiles[w.key];return B&&B.hasData()?B:this._cache.getByKey(w.wrapped().key)}updateCacheSize(w){let B=Math.ceil(w.width/this._source.tileSize)+1,Q=Math.ceil(w.height/this._source.tileSize)+1,ee=Math.floor(B*Q*(this._maxTileCacheZoomLevels===null?a.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),le=typeof this._maxTileCacheSize=="number"?Math.min(this._maxTileCacheSize,ee):ee;this._cache.setMaxSize(le)}handleWrapJump(w){let B=Math.round((w-(this._prevLng===void 0?w:this._prevLng))/360);if(this._prevLng=w,B){let Q={};for(let ee in this._tiles){let le=this._tiles[ee];le.tileID=le.tileID.unwrapTo(le.tileID.wrap+B),Q[le.tileID.key]=le}this._tiles=Q;for(let ee in this._timers)clearTimeout(this._timers[ee]),delete this._timers[ee];for(let ee in this._tiles)this._setTileReloadTimer(ee,this._tiles[ee])}}_updateCoveredAndRetainedTiles(w,B,Q,ee,le,Fe){let Ze={},ut={},Mt=Object.keys(w),Jt=u.now();for(let $t of Mt){let yr=w[$t],Cr=this._tiles[$t];if(!Cr||Cr.fadeEndTime!==0&&Cr.fadeEndTime<=Jt)continue;let ve=this.findLoadedParent(yr,B),xe=this.findLoadedSibling(yr),Ie=ve||xe||null;Ie&&(this._addTile(Ie.tileID),Ze[Ie.tileID.key]=Ie.tileID),ut[$t]=yr}this._retainLoadedChildren(ut,ee,Q,w);for(let $t in Ze)w[$t]||(this._coveredTiles[$t]=!0,w[$t]=Ze[$t]);if(Fe){let $t={},yr={};for(let Cr of le)this._tiles[Cr.key].hasData()?$t[Cr.key]=Cr:yr[Cr.key]=Cr;for(let Cr in yr){let ve=yr[Cr].children(this._source.maxzoom);this._tiles[ve[0].key]&&this._tiles[ve[1].key]&&this._tiles[ve[2].key]&&this._tiles[ve[3].key]&&($t[ve[0].key]=w[ve[0].key]=ve[0],$t[ve[1].key]=w[ve[1].key]=ve[1],$t[ve[2].key]=w[ve[2].key]=ve[2],$t[ve[3].key]=w[ve[3].key]=ve[3],delete yr[Cr])}for(let Cr in yr){let ve=yr[Cr],xe=this.findLoadedParent(ve,this._source.minzoom),Ie=this.findLoadedSibling(ve),ze=xe||Ie||null;if(ze){$t[ze.tileID.key]=w[ze.tileID.key]=ze.tileID;for(let Qe in $t)$t[Qe].isChildOf(ze.tileID)&&delete $t[Qe]}}for(let Cr in this._tiles)$t[Cr]||(this._coveredTiles[Cr]=!0)}}update(w,B){if(!this._sourceLoaded||this._paused)return;let Q;this.transform=w,this.terrain=B,this.updateCacheSize(w),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?Q=w.getVisibleUnwrappedCoordinates(this._source.tileID).map(Jt=>new a.S(Jt.canonical.z,Jt.wrap,Jt.canonical.z,Jt.canonical.x,Jt.canonical.y)):(Q=w.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:B}),this._source.hasTile&&(Q=Q.filter(Jt=>this._source.hasTile(Jt)))):Q=[];let ee=w.coveringZoomLevel(this._source),le=Math.max(ee-pt.maxOverzooming,this._source.minzoom),Fe=Math.max(ee+pt.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let Jt={};for(let $t of Q)if($t.canonical.z>this._source.minzoom){let yr=$t.scaledTo($t.canonical.z-1);Jt[yr.key]=yr;let Cr=$t.scaledTo(Math.max(this._source.minzoom,Math.min($t.canonical.z,5)));Jt[Cr.key]=Cr}Q=Q.concat(Object.values(Jt))}let Ze=Q.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,Ze&&this.fire(new a.k("data",{sourceDataType:"idle",dataType:"source",sourceId:this.id}));let ut=this._updateRetainedTiles(Q,ee);or(this._source.type)&&this._updateCoveredAndRetainedTiles(ut,le,Fe,ee,Q,B);for(let Jt in ut)this._tiles[Jt].clearFadeHold();let Mt=a.ab(this._tiles,ut);for(let Jt of Mt){let $t=this._tiles[Jt];$t.hasSymbolBuckets&&!$t.holdingForFade()?$t.setHoldDuration(this.map._fadeDuration):$t.hasSymbolBuckets&&!$t.symbolFadeFinished()||this._removeTile(Jt)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(let w in this._tiles)this._tiles[w].holdingForFade()&&this._removeTile(w)}_updateRetainedTiles(w,B){var Q;let ee={},le={},Fe=Math.max(B-pt.maxOverzooming,this._source.minzoom),Ze=Math.max(B+pt.maxUnderzooming,this._source.minzoom),ut={};for(let Mt of w){let Jt=this._addTile(Mt);ee[Mt.key]=Mt,Jt.hasData()||Bthis._source.maxzoom){let yr=Mt.children(this._source.maxzoom)[0],Cr=this.getTile(yr);if(Cr&&Cr.hasData()){ee[yr.key]=yr;continue}}else{let yr=Mt.children(this._source.maxzoom);if(ee[yr[0].key]&&ee[yr[1].key]&&ee[yr[2].key]&&ee[yr[3].key])continue}let $t=Jt.wasRequested();for(let yr=Mt.overscaledZ-1;yr>=Fe;--yr){let Cr=Mt.scaledTo(yr);if(le[Cr.key])break;if(le[Cr.key]=!0,Jt=this.getTile(Cr),!Jt&&$t&&(Jt=this._addTile(Cr)),Jt){let ve=Jt.hasData();if((ve||!(!((Q=this.map)===null||Q===void 0)&&Q.cancelPendingTileRequestsWhileZooming)||$t)&&(ee[Cr.key]=Cr),$t=Jt.wasRequested(),ve)break}}}return ee}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(let w in this._tiles){let B=[],Q,ee=this._tiles[w].tileID;for(;ee.overscaledZ>0;){if(ee.key in this._loadedParentTiles){Q=this._loadedParentTiles[ee.key];break}B.push(ee.key);let le=ee.scaledTo(ee.overscaledZ-1);if(Q=this._getLoadedTile(le),Q)break;ee=le}for(let le of B)this._loadedParentTiles[le]=Q}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(let w in this._tiles){let B=this._tiles[w].tileID,Q=this._getLoadedTile(B);this._loadedSiblingTiles[B.key]=Q}}_addTile(w){let B=this._tiles[w.key];if(B)return B;B=this._cache.getAndRemove(w),B&&(this._setTileReloadTimer(w.key,B),B.tileID=w,this._state.initializeTileState(B,this.map?this.map.painter:null),this._cacheTimers[w.key]&&(clearTimeout(this._cacheTimers[w.key]),delete this._cacheTimers[w.key],this._setTileReloadTimer(w.key,B)));let Q=B;return B||(B=new Tt(w,this._source.tileSize*w.overscaleFactor()),this._loadTile(B,w.key,B.state)),B.uses++,this._tiles[w.key]=B,Q||this._source.fire(new a.k("dataloading",{tile:B,coord:B.tileID,dataType:"source"})),B}_setTileReloadTimer(w,B){w in this._timers&&(clearTimeout(this._timers[w]),delete this._timers[w]);let Q=B.getExpiryTimeout();Q&&(this._timers[w]=setTimeout(()=>{this._reloadTile(w,"expired"),delete this._timers[w]},Q))}_removeTile(w){let B=this._tiles[w];B&&(B.uses--,delete this._tiles[w],this._timers[w]&&(clearTimeout(this._timers[w]),delete this._timers[w]),B.uses>0||(B.hasData()&&B.state!=="reloading"?this._cache.add(B.tileID,B,B.getExpiryTimeout()):(B.aborted=!0,this._abortTile(B),this._unloadTile(B))))}_dataHandler(w){let B=w.sourceDataType;w.dataType==="source"&&B==="metadata"&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&w.dataType==="source"&&B==="content"&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let w in this._tiles)this._removeTile(w);this._cache.reset()}tilesIn(w,B,Q){let ee=[],le=this.transform;if(!le)return ee;let Fe=Q?le.getCameraQueryGeometry(w):w,Ze=w.map(ve=>le.pointCoordinate(ve,this.terrain)),ut=Fe.map(ve=>le.pointCoordinate(ve,this.terrain)),Mt=this.getIds(),Jt=1/0,$t=1/0,yr=-1/0,Cr=-1/0;for(let ve of ut)Jt=Math.min(Jt,ve.x),$t=Math.min($t,ve.y),yr=Math.max(yr,ve.x),Cr=Math.max(Cr,ve.y);for(let ve=0;ve=0&&Xe[1].y+Qe>=0){let nt=Ze.map(Wt=>Ie.getTilePoint(Wt)),qt=ut.map(Wt=>Ie.getTilePoint(Wt));ee.push({tile:xe,tileID:Ie,queryGeometry:nt,cameraQueryGeometry:qt,scale:ze})}}return ee}getVisibleCoordinates(w){let B=this.getRenderableIds(w).map(Q=>this._tiles[Q].tileID);for(let Q of B)Q.posMatrix=this.transform.calculatePosMatrix(Q.toUnwrapped());return B}hasTransition(){if(this._source.hasTransition())return!0;if(or(this._source.type)){let w=u.now();for(let B in this._tiles)if(this._tiles[B].fadeEndTime>=w)return!0}return!1}setFeatureState(w,B,Q){this._state.updateState(w=w||"_geojsonTileLayer",B,Q)}removeFeatureState(w,B,Q){this._state.removeFeatureState(w=w||"_geojsonTileLayer",B,Q)}getFeatureState(w,B){return this._state.getState(w=w||"_geojsonTileLayer",B)}setDependencies(w,B,Q){let ee=this._tiles[w];ee&&ee.setDependencies(B,Q)}reloadTilesForDependencies(w,B){for(let Q in this._tiles)this._tiles[Q].hasDependency(w,B)&&this._reloadTile(Q,"reloading");this._cache.filter(Q=>!Q.hasDependency(w,B))}}function jt(ue,w){let B=Math.abs(2*ue.wrap)-+(ue.wrap<0),Q=Math.abs(2*w.wrap)-+(w.wrap<0);return ue.overscaledZ-w.overscaledZ||Q-B||w.canonical.y-ue.canonical.y||w.canonical.x-ue.canonical.x}function or(ue){return ue==="raster"||ue==="image"||ue==="video"}pt.maxOverzooming=10,pt.maxUnderzooming=3;class mr{constructor(w,B){this.reset(w,B)}reset(w,B){this.points=w||[],this._distances=[0];for(let Q=1;Q0?(ee-Fe)/Ze:0;return this.points[le].mult(1-ut).add(this.points[B].mult(ut))}}function Ar(ue,w){let B=!0;return ue==="always"||ue!=="never"&&w!=="never"||(B=!1),B}class ei{constructor(w,B,Q){let ee=this.boxCells=[],le=this.circleCells=[];this.xCellCount=Math.ceil(w/Q),this.yCellCount=Math.ceil(B/Q);for(let Fe=0;Fethis.width||ee<0||B>this.height)return[];let ut=[];if(w<=0&&B<=0&&this.width<=Q&&this.height<=ee){if(le)return[{key:null,x1:w,y1:B,x2:Q,y2:ee}];for(let Mt=0;Mt0}hitTestCircle(w,B,Q,ee,le){let Fe=w-Q,Ze=w+Q,ut=B-Q,Mt=B+Q;if(Ze<0||Fe>this.width||Mt<0||ut>this.height)return!1;let Jt=[];return this._forEachCell(Fe,ut,Ze,Mt,this._queryCellCircle,Jt,{hitTest:!0,overlapMode:ee,circle:{x:w,y:B,radius:Q},seenUids:{box:{},circle:{}}},le),Jt.length>0}_queryCell(w,B,Q,ee,le,Fe,Ze,ut){let{seenUids:Mt,hitTest:Jt,overlapMode:$t}=Ze,yr=this.boxCells[le];if(yr!==null){let ve=this.bboxes;for(let xe of yr)if(!Mt.box[xe]){Mt.box[xe]=!0;let Ie=4*xe,ze=this.boxKeys[xe];if(w<=ve[Ie+2]&&B<=ve[Ie+3]&&Q>=ve[Ie+0]&&ee>=ve[Ie+1]&&(!ut||ut(ze))&&(!Jt||!Ar($t,ze.overlapMode))&&(Fe.push({key:ze,x1:ve[Ie],y1:ve[Ie+1],x2:ve[Ie+2],y2:ve[Ie+3]}),Jt))return!0}}let Cr=this.circleCells[le];if(Cr!==null){let ve=this.circles;for(let xe of Cr)if(!Mt.circle[xe]){Mt.circle[xe]=!0;let Ie=3*xe,ze=this.circleKeys[xe];if(this._circleAndRectCollide(ve[Ie],ve[Ie+1],ve[Ie+2],w,B,Q,ee)&&(!ut||ut(ze))&&(!Jt||!Ar($t,ze.overlapMode))){let Qe=ve[Ie],Xe=ve[Ie+1],nt=ve[Ie+2];if(Fe.push({key:ze,x1:Qe-nt,y1:Xe-nt,x2:Qe+nt,y2:Xe+nt}),Jt)return!0}}}return!1}_queryCellCircle(w,B,Q,ee,le,Fe,Ze,ut){let{circle:Mt,seenUids:Jt,overlapMode:$t}=Ze,yr=this.boxCells[le];if(yr!==null){let ve=this.bboxes;for(let xe of yr)if(!Jt.box[xe]){Jt.box[xe]=!0;let Ie=4*xe,ze=this.boxKeys[xe];if(this._circleAndRectCollide(Mt.x,Mt.y,Mt.radius,ve[Ie+0],ve[Ie+1],ve[Ie+2],ve[Ie+3])&&(!ut||ut(ze))&&!Ar($t,ze.overlapMode))return Fe.push(!0),!0}}let Cr=this.circleCells[le];if(Cr!==null){let ve=this.circles;for(let xe of Cr)if(!Jt.circle[xe]){Jt.circle[xe]=!0;let Ie=3*xe,ze=this.circleKeys[xe];if(this._circlesCollide(ve[Ie],ve[Ie+1],ve[Ie+2],Mt.x,Mt.y,Mt.radius)&&(!ut||ut(ze))&&!Ar($t,ze.overlapMode))return Fe.push(!0),!0}}}_forEachCell(w,B,Q,ee,le,Fe,Ze,ut){let Mt=this._convertToXCellCoord(w),Jt=this._convertToYCellCoord(B),$t=this._convertToXCellCoord(Q),yr=this._convertToYCellCoord(ee);for(let Cr=Mt;Cr<=$t;Cr++)for(let ve=Jt;ve<=yr;ve++)if(le.call(this,w,B,Q,ee,this.xCellCount*ve+Cr,Fe,Ze,ut))return}_convertToXCellCoord(w){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(w*this.xScale)))}_convertToYCellCoord(w){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(w*this.yScale)))}_circlesCollide(w,B,Q,ee,le,Fe){let Ze=ee-w,ut=le-B,Mt=Q+Fe;return Mt*Mt>Ze*Ze+ut*ut}_circleAndRectCollide(w,B,Q,ee,le,Fe,Ze){let ut=(Fe-ee)/2,Mt=Math.abs(w-(ee+ut));if(Mt>ut+Q)return!1;let Jt=(Ze-le)/2,$t=Math.abs(B-(le+Jt));if($t>Jt+Q)return!1;if(Mt<=ut||$t<=Jt)return!0;let yr=Mt-ut,Cr=$t-Jt;return yr*yr+Cr*Cr<=Q*Q}}function qr(ue,w,B,Q,ee){let le=a.H();return w?(a.K(le,le,[1/ee,1/ee,1]),B||a.ad(le,le,Q.angle)):a.L(le,Q.labelPlaneMatrix,ue),le}function jr(ue,w,B,Q,ee){if(w){let le=a.ae(ue);return a.K(le,le,[ee,ee,1]),B||a.ad(le,le,-Q.angle),le}return Q.glCoordMatrix}function gt(ue,w,B,Q){let ee;Q?(ee=[ue,w,Q(ue,w),1],a.af(ee,ee,B)):(ee=[ue,w,0,1],ai(ee,ee,B));let le=ee[3];return{point:new a.P(ee[0]/le,ee[1]/le),signedDistanceFromCamera:le,isOccluded:!1}}function Ge(ue,w){return .5+ue/w*.5}function Je(ue,w){return ue.x>=-w[0]&&ue.x<=w[0]&&ue.y>=-w[1]&&ue.y<=w[1]}function We(ue,w,B,Q,ee,le,Fe,Ze,ut,Mt,Jt,$t,yr,Cr,ve){let xe=Q?ue.textSizeData:ue.iconSizeData,Ie=a.ag(xe,B.transform.zoom),ze=[256/B.width*2+1,256/B.height*2+1],Qe=Q?ue.text.dynamicLayoutVertexArray:ue.icon.dynamicLayoutVertexArray;Qe.clear();let Xe=ue.lineVertexArray,nt=Q?ue.text.placedSymbolArray:ue.icon.placedSymbolArray,qt=B.transform.width/B.transform.height,Wt=!1;for(let nr=0;nrMath.abs(B.x-w.x)*Q?{useVertical:!0}:(ue===a.ah.vertical?w.yB.x)?{needsFlipping:!0}:null}function At(ue,w,B,Q,ee,le,Fe,Ze,ut,Mt,Jt){let $t=B/24,yr=w.lineOffsetX*$t,Cr=w.lineOffsetY*$t,ve;if(w.numGlyphs>1){let xe=w.glyphStartIndex+w.numGlyphs,Ie=w.lineStartIndex,ze=w.lineStartIndex+w.lineLength,Qe=et($t,Ze,yr,Cr,Q,w,Jt,ue);if(!Qe)return{notEnoughRoom:!0};let Xe=gt(Qe.first.point.x,Qe.first.point.y,Fe,ue.getElevation).point,nt=gt(Qe.last.point.x,Qe.last.point.y,Fe,ue.getElevation).point;if(ee&&!Q){let qt=xt(w.writingMode,Xe,nt,Mt);if(qt)return qt}ve=[Qe.first];for(let qt=w.glyphStartIndex+1;qt0?Xe.point:function(Wt,nr,fr,br,Fr,Hr){return Kt(Wt,nr,fr,1,Fr,Hr)}(ue.tileAnchorPoint,Qe,Ie,0,le,ue),qt=xt(w.writingMode,Ie,nt,Mt);if(qt)return qt}let xe=Yr($t*Ze.getoffsetX(w.glyphStartIndex),yr,Cr,Q,w.segment,w.lineStartIndex,w.lineStartIndex+w.lineLength,ue,Jt);if(!xe||ue.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};ve=[xe]}for(let xe of ve)a.aj(ut,xe.point,xe.angle);return{}}function Kt(ue,w,B,Q,ee,le){let Fe=ue.add(ue.sub(w)._unit()),Ze=ee!==void 0?gt(Fe.x,Fe.y,ee,le.getElevation).point:Mr(Fe.x,Fe.y,le).point,ut=B.sub(Ze);return B.add(ut._mult(Q/ut.mag()))}function Qt(ue,w,B){let Q=w.projectionCache;if(Q.projections[ue])return Q.projections[ue];let ee=new a.P(w.lineVertexArray.getx(ue),w.lineVertexArray.gety(ue)),le=Mr(ee.x,ee.y,w);if(le.signedDistanceFromCamera>0)return Q.projections[ue]=le.point,Q.anyProjectionOccluded=Q.anyProjectionOccluded||le.isOccluded,le.point;let Fe=ue-B.direction;return function(Ze,ut,Mt,Jt,$t){return Kt(Ze,ut,Mt,Jt,void 0,$t)}(B.distanceFromAnchor===0?w.tileAnchorPoint:new a.P(w.lineVertexArray.getx(Fe),w.lineVertexArray.gety(Fe)),ee,B.previousVertex,B.absOffsetX-B.distanceFromAnchor+1,w)}function Mr(ue,w,B){let Q=ue+B.translation[0],ee=w+B.translation[1],le;return!B.pitchWithMap&&B.projection.useSpecialProjectionForSymbols?(le=B.projection.projectTileCoordinates(Q,ee,B.unwrappedTileID,B.getElevation),le.point.x=(.5*le.point.x+.5)*B.width,le.point.y=(.5*-le.point.y+.5)*B.height):(le=gt(Q,ee,B.labelPlaneMatrix,B.getElevation),le.isOccluded=!1),le}function Gr(ue,w,B){return ue._unit()._perp()._mult(w*B)}function Ir(ue,w,B,Q,ee,le,Fe,Ze,ut){if(Ze.projectionCache.offsets[ue])return Ze.projectionCache.offsets[ue];let Mt=B.add(w);if(ue+ut.direction=ee)return Ze.projectionCache.offsets[ue]=Mt,Mt;let Jt=Qt(ue+ut.direction,Ze,ut),$t=Gr(Jt.sub(B),Fe,ut.direction),yr=B.add($t),Cr=Jt.add($t);return Ze.projectionCache.offsets[ue]=a.ak(le,Mt,yr,Cr)||Mt,Ze.projectionCache.offsets[ue]}function Yr(ue,w,B,Q,ee,le,Fe,Ze,ut){let Mt=Q?ue-w:ue+w,Jt=Mt>0?1:-1,$t=0;Q&&(Jt*=-1,$t=Math.PI),Jt<0&&($t+=Math.PI);let yr,Cr=Jt>0?le+ee:le+ee+1;Ze.projectionCache.cachedAnchorPoint?yr=Ze.projectionCache.cachedAnchorPoint:(yr=Mr(Ze.tileAnchorPoint.x,Ze.tileAnchorPoint.y,Ze).point,Ze.projectionCache.cachedAnchorPoint=yr);let ve,xe,Ie=yr,ze=yr,Qe=0,Xe=0,nt=Math.abs(Mt),qt=[],Wt;for(;Qe+Xe<=nt;){if(Cr+=Jt,Cr=Fe)return null;Qe+=Xe,ze=Ie,xe=ve;let br={absOffsetX:nt,direction:Jt,distanceFromAnchor:Qe,previousVertex:ze};if(Ie=Qt(Cr,Ze,br),B===0)qt.push(ze),Wt=Ie.sub(ze);else{let Fr,Hr=Ie.sub(ze);Fr=Hr.mag()===0?Gr(Qt(Cr+Jt,Ze,br).sub(Ie),B,Jt):Gr(Hr,B,Jt),xe||(xe=ze.add(Fr)),ve=Ir(Cr,Fr,Ie,le,Fe,xe,B,Ze,br),qt.push(xe),Wt=ve.sub(xe)}Xe=Wt.mag()}let nr=Wt._mult((nt-Qe)/Xe)._add(xe||ze),fr=$t+Math.atan2(Ie.y-ze.y,Ie.x-ze.x);return qt.push(nr),{point:nr,angle:ut?fr:0,path:qt}}let _i=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Pi(ue,w){for(let B=0;B=1;fa--)Ln.push(cn.path[fa]);for(let fa=1;fa$a.signedDistanceFromCamera<=0)?[]:fa.map($a=>$a.point)}let Aa=[];if(Ln.length>0){let fa=Ln[0].clone(),$a=Ln[0].clone();for(let Co=1;Co=Hr.x&&$a.x<=ri.x&&fa.y>=Hr.y&&$a.y<=ri.y?[Ln]:$a.xri.x||$a.yri.y?[]:a.al([Ln],Hr.x,Hr.y,ri.x,ri.y)}for(let fa of Aa){Ci.reset(fa,.25*Fr);let $a=0;$a=Ci.length<=.5*Fr?1:Math.ceil(Ci.paddedLength/Yn)+1;for(let Co=0;Co<$a;Co++){let Qa=Co/Math.max($a-1,1),mo=Ci.lerp(Qa),Bo=mo.x+mi,Ps=mo.y+mi;ze.push(Bo,Ps,Fr,0);let Ts=Bo-Fr,wo=Ps-Fr,To=Bo+Fr,hl=Ps+Fr;if(br=br&&this.isOffscreen(Ts,wo,To,hl),fr=fr||this.isInsideGrid(Ts,wo,To,hl),w!=="always"&&this.grid.hitTestCircle(Bo,Ps,Fr,w,yr)&&(nr=!0,!Jt))return{circles:[],offscreen:!1,collisionDetected:nr}}}}return{circles:!Jt&&nr||!fr||Xegt(ee.x,ee.y,Q,B.getElevation))}queryRenderedSymbols(w){if(w.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};let B=[],Q=1/0,ee=1/0,le=-1/0,Fe=-1/0;for(let Jt of w){let $t=new a.P(Jt.x+mi,Jt.y+mi);Q=Math.min(Q,$t.x),ee=Math.min(ee,$t.y),le=Math.max(le,$t.x),Fe=Math.max(Fe,$t.y),B.push($t)}let Ze=this.grid.query(Q,ee,le,Fe).concat(this.ignoredGrid.query(Q,ee,le,Fe)),ut={},Mt={};for(let Jt of Ze){let $t=Jt.key;if(ut[$t.bucketInstanceId]===void 0&&(ut[$t.bucketInstanceId]={}),ut[$t.bucketInstanceId][$t.featureIndex])continue;let yr=[new a.P(Jt.x1,Jt.y1),new a.P(Jt.x2,Jt.y1),new a.P(Jt.x2,Jt.y2),new a.P(Jt.x1,Jt.y2)];a.am(B,yr)&&(ut[$t.bucketInstanceId][$t.featureIndex]=!0,Mt[$t.bucketInstanceId]===void 0&&(Mt[$t.bucketInstanceId]=[]),Mt[$t.bucketInstanceId].push($t.featureIndex))}return Mt}insertCollisionBox(w,B,Q,ee,le,Fe){(Q?this.ignoredGrid:this.grid).insert({bucketInstanceId:ee,featureIndex:le,collisionGroupID:Fe,overlapMode:B},w[0],w[1],w[2],w[3])}insertCollisionCircles(w,B,Q,ee,le,Fe){let Ze=Q?this.ignoredGrid:this.grid,ut={bucketInstanceId:ee,featureIndex:le,collisionGroupID:Fe,overlapMode:B};for(let Mt=0;Mt=this.screenRightBoundary||eethis.screenBottomBoundary}isInsideGrid(w,B,Q,ee){return Q>=0&&w=0&&Bthis.projectAndGetPerspectiveRatio(Q,Fr.x,Fr.y,ee,Mt));fr=br.some(Fr=>!Fr.isOccluded),nr=br.map(Fr=>Fr.point)}else fr=!0;return{box:a.ao(nr),allPointsOccluded:!fr}}}function Fn(ue,w,B){return w*(a.X/(ue.tileSize*Math.pow(2,B-ue.tileID.overscaledZ)))}class An{constructor(w,B,Q,ee){this.opacity=w?Math.max(0,Math.min(1,w.opacity+(w.placed?B:-B))):ee&&Q?1:0,this.placed=Q}isHidden(){return this.opacity===0&&!this.placed}}class Hn{constructor(w,B,Q,ee,le){this.text=new An(w?w.text:null,B,Q,le),this.icon=new An(w?w.icon:null,B,ee,le)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class Qn{constructor(w,B,Q){this.text=w,this.icon=B,this.skipFade=Q}}class Vi{constructor(){this.invProjMatrix=a.H(),this.viewportMatrix=a.H(),this.circles=[]}}class Kn{constructor(w,B,Q,ee,le){this.bucketInstanceId=w,this.featureIndex=B,this.sourceLayerIndex=Q,this.bucketIndex=ee,this.tileID=le}}class Jn{constructor(w){this.crossSourceCollisions=w,this.maxGroupID=0,this.collisionGroups={}}get(w){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[w]){let B=++this.maxGroupID;this.collisionGroups[w]={ID:B,predicate:Q=>Q.collisionGroupID===B}}return this.collisionGroups[w]}}function Gt(ue,w,B,Q,ee){let{horizontalAlign:le,verticalAlign:Fe}=a.au(ue);return new a.P(-(le-.5)*w+Q[0]*ee,-(Fe-.5)*B+Q[1]*ee)}class wt{constructor(w,B,Q,ee,le,Fe){this.transform=w.clone(),this.terrain=Q,this.collisionIndex=new un(this.transform,B),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=ee,this.retainedQueryData={},this.collisionGroups=new Jn(le),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=Fe,Fe&&(Fe.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(w){let B=this.terrain;return B?(Q,ee)=>B.getElevation(w,Q,ee):null}getBucketParts(w,B,Q,ee){let le=Q.getBucket(B),Fe=Q.latestFeatureIndex;if(!le||!Fe||B.id!==le.layerIds[0])return;let Ze=Q.collisionBoxArray,ut=le.layers[0].layout,Mt=le.layers[0].paint,Jt=Math.pow(2,this.transform.zoom-Q.tileID.overscaledZ),$t=Q.tileSize/a.X,yr=Q.tileID.toUnwrapped(),Cr=this.transform.calculatePosMatrix(yr),ve=ut.get("text-pitch-alignment")==="map",xe=ut.get("text-rotation-alignment")==="map",Ie=Fn(Q,1,this.transform.zoom),ze=this.collisionIndex.mapProjection.translatePosition(this.transform,Q,Mt.get("text-translate"),Mt.get("text-translate-anchor")),Qe=this.collisionIndex.mapProjection.translatePosition(this.transform,Q,Mt.get("icon-translate"),Mt.get("icon-translate-anchor")),Xe=qr(Cr,ve,xe,this.transform,Ie),nt=null;if(ve){let Wt=jr(Cr,ve,xe,this.transform,Ie);nt=a.L([],this.transform.labelPlaneMatrix,Wt)}this.retainedQueryData[le.bucketInstanceId]=new Kn(le.bucketInstanceId,Fe,le.sourceLayerIndex,le.index,Q.tileID);let qt={bucket:le,layout:ut,translationText:ze,translationIcon:Qe,posMatrix:Cr,unwrappedTileID:yr,textLabelPlaneMatrix:Xe,labelToScreenMatrix:nt,scale:Jt,textPixelRatio:$t,holdingForFade:Q.holdingForFade(),collisionBoxArray:Ze,partiallyEvaluatedTextSize:a.ag(le.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(le.sourceID)};if(ee)for(let Wt of le.sortKeyRanges){let{sortKey:nr,symbolInstanceStart:fr,symbolInstanceEnd:br}=Wt;w.push({sortKey:nr,symbolInstanceStart:fr,symbolInstanceEnd:br,parameters:qt})}else w.push({symbolInstanceStart:0,symbolInstanceEnd:le.symbolInstances.length,parameters:qt})}attemptAnchorPlacement(w,B,Q,ee,le,Fe,Ze,ut,Mt,Jt,$t,yr,Cr,ve,xe,Ie,ze,Qe,Xe){let nt=a.aq[w.textAnchor],qt=[w.textOffset0,w.textOffset1],Wt=Gt(nt,Q,ee,qt,le),nr=this.collisionIndex.placeCollisionBox(B,yr,ut,Mt,Jt,Ze,Fe,Ie,$t.predicate,Xe,Wt);if((!Qe||this.collisionIndex.placeCollisionBox(Qe,yr,ut,Mt,Jt,Ze,Fe,ze,$t.predicate,Xe,Wt).placeable)&&nr.placeable){let fr;if(this.prevPlacement&&this.prevPlacement.variableOffsets[Cr.crossTileID]&&this.prevPlacement.placements[Cr.crossTileID]&&this.prevPlacement.placements[Cr.crossTileID].text&&(fr=this.prevPlacement.variableOffsets[Cr.crossTileID].anchor),Cr.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[Cr.crossTileID]={textOffset:qt,width:Q,height:ee,anchor:nt,textBoxScale:le,prevAnchor:fr},this.markUsedJustification(ve,nt,Cr,xe),ve.allowVerticalPlacement&&(this.markUsedOrientation(ve,xe,Cr),this.placedOrientations[Cr.crossTileID]=xe),{shift:Wt,placedGlyphBoxes:nr}}}placeLayerBucketPart(w,B,Q){let{bucket:ee,layout:le,translationText:Fe,translationIcon:Ze,posMatrix:ut,unwrappedTileID:Mt,textLabelPlaneMatrix:Jt,labelToScreenMatrix:$t,textPixelRatio:yr,holdingForFade:Cr,collisionBoxArray:ve,partiallyEvaluatedTextSize:xe,collisionGroup:Ie}=w.parameters,ze=le.get("text-optional"),Qe=le.get("icon-optional"),Xe=a.ar(le,"text-overlap","text-allow-overlap"),nt=Xe==="always",qt=a.ar(le,"icon-overlap","icon-allow-overlap"),Wt=qt==="always",nr=le.get("text-rotation-alignment")==="map",fr=le.get("text-pitch-alignment")==="map",br=le.get("icon-text-fit")!=="none",Fr=le.get("symbol-z-order")==="viewport-y",Hr=nt&&(Wt||!ee.hasIconData()||Qe),ri=Wt&&(nt||!ee.hasTextData()||ze);!ee.collisionArrays&&ve&&ee.deserializeCollisionBoxes(ve);let Ci=this._getTerrainElevationFunc(this.retainedQueryData[ee.bucketInstanceId].tileID),cn=(sn,Ln,Yn)=>{var Aa,fa;if(B[sn.crossTileID])return;if(Cr)return void(this.placements[sn.crossTileID]=new Qn(!1,!1,!1));let $a=!1,Co=!1,Qa=!0,mo=null,Bo={box:null,placeable:!1,offscreen:null},Ps={box:null,placeable:!1,offscreen:null},Ts=null,wo=null,To=null,hl=0,Ul=0,Lu=0;Ln.textFeatureIndex?hl=Ln.textFeatureIndex:sn.useRuntimeCollisionCircles&&(hl=sn.featureIndex),Ln.verticalTextFeatureIndex&&(Ul=Ln.verticalTextFeatureIndex);let au=Ln.textBox;if(au){let Tl=Te=>{let qe=a.ah.horizontal;if(ee.allowVerticalPlacement&&!Te&&this.prevPlacement){let Ve=this.prevPlacement.placedOrientations[sn.crossTileID];Ve&&(this.placedOrientations[sn.crossTileID]=Ve,qe=Ve,this.markUsedOrientation(ee,qe,sn))}return qe},Al=(Te,qe)=>{if(ee.allowVerticalPlacement&&sn.numVerticalGlyphVertices>0&&Ln.verticalTextBox){for(let Ve of ee.writingModes)if(Ve===a.ah.vertical?(Bo=qe(),Ps=Bo):Bo=Te(),Bo&&Bo.placeable)break}else Bo=Te()},X=sn.textAnchorOffsetStartIndex,se=sn.textAnchorOffsetEndIndex;if(se===X){let Te=(qe,Ve)=>{let Ye=this.collisionIndex.placeCollisionBox(qe,Xe,yr,ut,Mt,fr,nr,Fe,Ie.predicate,Ci);return Ye&&Ye.placeable&&(this.markUsedOrientation(ee,Ve,sn),this.placedOrientations[sn.crossTileID]=Ve),Ye};Al(()=>Te(au,a.ah.horizontal),()=>{let qe=Ln.verticalTextBox;return ee.allowVerticalPlacement&&sn.numVerticalGlyphVertices>0&&qe?Te(qe,a.ah.vertical):{box:null,offscreen:null}}),Tl(Bo&&Bo.placeable)}else{let Te=a.aq[(fa=(Aa=this.prevPlacement)===null||Aa===void 0?void 0:Aa.variableOffsets[sn.crossTileID])===null||fa===void 0?void 0:fa.anchor],qe=(Ye,Pt,ot)=>{let Xt=Ye.x2-Ye.x1,dr=Ye.y2-Ye.y1,pr=sn.textBoxScale,Ur=br&&qt==="never"?Pt:null,zr=null,gi=Xe==="never"?1:2,xi="never";Te&&gi++;for(let Wr=0;Wrqe(au,Ln.iconBox,a.ah.horizontal),()=>{let Ye=Ln.verticalTextBox;return ee.allowVerticalPlacement&&(!Bo||!Bo.placeable)&&sn.numVerticalGlyphVertices>0&&Ye?qe(Ye,Ln.verticalIconBox,a.ah.vertical):{box:null,occluded:!0,offscreen:null}}),Bo&&($a=Bo.placeable,Qa=Bo.offscreen);let Ve=Tl(Bo&&Bo.placeable);if(!$a&&this.prevPlacement){let Ye=this.prevPlacement.variableOffsets[sn.crossTileID];Ye&&(this.variableOffsets[sn.crossTileID]=Ye,this.markUsedJustification(ee,Ye.anchor,sn,Ve))}}}if(Ts=Bo,$a=Ts&&Ts.placeable,Qa=Ts&&Ts.offscreen,sn.useRuntimeCollisionCircles){let Tl=ee.text.placedSymbolArray.get(sn.centerJustifiedTextSymbolIndex),Al=a.ai(ee.textSizeData,xe,Tl),X=le.get("text-padding");wo=this.collisionIndex.placeCollisionCircles(Xe,Tl,ee.lineVertexArray,ee.glyphOffsetArray,Al,ut,Mt,Jt,$t,Q,fr,Ie.predicate,sn.collisionCircleDiameter,X,Fe,Ci),wo.circles.length&&wo.collisionDetected&&!Q&&a.w("Collisions detected, but collision boxes are not shown"),$a=nt||wo.circles.length>0&&!wo.collisionDetected,Qa=Qa&&wo.offscreen}if(Ln.iconFeatureIndex&&(Lu=Ln.iconFeatureIndex),Ln.iconBox){let Tl=Al=>this.collisionIndex.placeCollisionBox(Al,qt,yr,ut,Mt,fr,nr,Ze,Ie.predicate,Ci,br&&mo?mo:void 0);Ps&&Ps.placeable&&Ln.verticalIconBox?(To=Tl(Ln.verticalIconBox),Co=To.placeable):(To=Tl(Ln.iconBox),Co=To.placeable),Qa=Qa&&To.offscreen}let Js=ze||sn.numHorizontalGlyphVertices===0&&sn.numVerticalGlyphVertices===0,eu=Qe||sn.numIconVertices===0;Js||eu?eu?Js||(Co=Co&&$a):$a=Co&&$a:Co=$a=Co&&$a;let dc=Co&&To.placeable;if($a&&Ts.placeable&&this.collisionIndex.insertCollisionBox(Ts.box,Xe,le.get("text-ignore-placement"),ee.bucketInstanceId,Ps&&Ps.placeable&&Ul?Ul:hl,Ie.ID),dc&&this.collisionIndex.insertCollisionBox(To.box,qt,le.get("icon-ignore-placement"),ee.bucketInstanceId,Lu,Ie.ID),wo&&$a&&this.collisionIndex.insertCollisionCircles(wo.circles,Xe,le.get("text-ignore-placement"),ee.bucketInstanceId,hl,Ie.ID),Q&&this.storeCollisionData(ee.bucketInstanceId,Yn,Ln,Ts,To,wo),sn.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");if(ee.bucketInstanceId===0)throw new Error("bucket.bucketInstanceId can't be 0");this.placements[sn.crossTileID]=new Qn($a||Hr,Co||ri,Qa||ee.justReloaded),B[sn.crossTileID]=!0};if(Fr){if(w.symbolInstanceStart!==0)throw new Error("bucket.bucketInstanceId should be 0");let sn=ee.getSortedSymbolIndexes(this.transform.angle);for(let Ln=sn.length-1;Ln>=0;--Ln){let Yn=sn[Ln];cn(ee.symbolInstances.get(Yn),ee.collisionArrays[Yn],Yn)}}else for(let sn=w.symbolInstanceStart;sn=0&&(w.text.placedSymbolArray.get(Ze).crossTileID=le>=0&&Ze!==le?0:Q.crossTileID)}markUsedOrientation(w,B,Q){let ee=B===a.ah.horizontal||B===a.ah.horizontalOnly?B:0,le=B===a.ah.vertical?B:0,Fe=[Q.leftJustifiedTextSymbolIndex,Q.centerJustifiedTextSymbolIndex,Q.rightJustifiedTextSymbolIndex];for(let Ze of Fe)w.text.placedSymbolArray.get(Ze).placedOrientation=ee;Q.verticalPlacedTextSymbolIndex&&(w.text.placedSymbolArray.get(Q.verticalPlacedTextSymbolIndex).placedOrientation=le)}commit(w){this.commitTime=w,this.zoomAtLastRecencyCheck=this.transform.zoom;let B=this.prevPlacement,Q=!1;this.prevZoomAdjustment=B?B.zoomAdjustment(this.transform.zoom):0;let ee=B?B.symbolFadeChange(w):1,le=B?B.opacities:{},Fe=B?B.variableOffsets:{},Ze=B?B.placedOrientations:{};for(let ut in this.placements){let Mt=this.placements[ut],Jt=le[ut];Jt?(this.opacities[ut]=new Hn(Jt,ee,Mt.text,Mt.icon),Q=Q||Mt.text!==Jt.text.placed||Mt.icon!==Jt.icon.placed):(this.opacities[ut]=new Hn(null,ee,Mt.text,Mt.icon,Mt.skipFade),Q=Q||Mt.text||Mt.icon)}for(let ut in le){let Mt=le[ut];if(!this.opacities[ut]){let Jt=new Hn(Mt,ee,!1,!1);Jt.isHidden()||(this.opacities[ut]=Jt,Q=Q||Mt.text.placed||Mt.icon.placed)}}for(let ut in Fe)this.variableOffsets[ut]||!this.opacities[ut]||this.opacities[ut].isHidden()||(this.variableOffsets[ut]=Fe[ut]);for(let ut in Ze)this.placedOrientations[ut]||!this.opacities[ut]||this.opacities[ut].isHidden()||(this.placedOrientations[ut]=Ze[ut]);if(B&&B.lastPlacementChangeTime===void 0)throw new Error("Last placement time for previous placement is not defined");Q?this.lastPlacementChangeTime=w:typeof this.lastPlacementChangeTime!="number"&&(this.lastPlacementChangeTime=B?B.lastPlacementChangeTime:w)}updateLayerOpacities(w,B){let Q={};for(let ee of B){let le=ee.getBucket(w);le&&ee.latestFeatureIndex&&w.id===le.layerIds[0]&&this.updateBucketOpacities(le,ee.tileID,Q,ee.collisionBoxArray)}}updateBucketOpacities(w,B,Q,ee){w.hasTextData()&&(w.text.opacityVertexArray.clear(),w.text.hasVisibleVertices=!1),w.hasIconData()&&(w.icon.opacityVertexArray.clear(),w.icon.hasVisibleVertices=!1),w.hasIconCollisionBoxData()&&w.iconCollisionBox.collisionVertexArray.clear(),w.hasTextCollisionBoxData()&&w.textCollisionBox.collisionVertexArray.clear();let le=w.layers[0],Fe=le.layout,Ze=new Hn(null,0,!1,!1,!0),ut=Fe.get("text-allow-overlap"),Mt=Fe.get("icon-allow-overlap"),Jt=le._unevaluatedLayout.hasValue("text-variable-anchor")||le._unevaluatedLayout.hasValue("text-variable-anchor-offset"),$t=Fe.get("text-rotation-alignment")==="map",yr=Fe.get("text-pitch-alignment")==="map",Cr=Fe.get("icon-text-fit")!=="none",ve=new Hn(null,0,ut&&(Mt||!w.hasIconData()||Fe.get("icon-optional")),Mt&&(ut||!w.hasTextData()||Fe.get("text-optional")),!0);!w.collisionArrays&&ee&&(w.hasIconCollisionBoxData()||w.hasTextCollisionBoxData())&&w.deserializeCollisionBoxes(ee);let xe=(ze,Qe,Xe)=>{for(let nt=0;nt0,fr=this.placedOrientations[Qe.crossTileID],br=fr===a.ah.vertical,Fr=fr===a.ah.horizontal||fr===a.ah.horizontalOnly;if(Xe>0||nt>0){let ri=en(Wt.text);xe(w.text,Xe,br?fn:ri),xe(w.text,nt,Fr?fn:ri);let Ci=Wt.text.isHidden();[Qe.rightJustifiedTextSymbolIndex,Qe.centerJustifiedTextSymbolIndex,Qe.leftJustifiedTextSymbolIndex].forEach(Ln=>{Ln>=0&&(w.text.placedSymbolArray.get(Ln).hidden=Ci||br?1:0)}),Qe.verticalPlacedTextSymbolIndex>=0&&(w.text.placedSymbolArray.get(Qe.verticalPlacedTextSymbolIndex).hidden=Ci||Fr?1:0);let cn=this.variableOffsets[Qe.crossTileID];cn&&this.markUsedJustification(w,cn.anchor,Qe,fr);let sn=this.placedOrientations[Qe.crossTileID];sn&&(this.markUsedJustification(w,"left",Qe,sn),this.markUsedOrientation(w,sn,Qe))}if(nr){let ri=en(Wt.icon),Ci=!(Cr&&Qe.verticalPlacedIconSymbolIndex&&br);Qe.placedIconSymbolIndex>=0&&(xe(w.icon,Qe.numIconVertices,Ci?ri:fn),w.icon.placedSymbolArray.get(Qe.placedIconSymbolIndex).hidden=Wt.icon.isHidden()),Qe.verticalPlacedIconSymbolIndex>=0&&(xe(w.icon,Qe.numVerticalIconVertices,Ci?fn:ri),w.icon.placedSymbolArray.get(Qe.verticalPlacedIconSymbolIndex).hidden=Wt.icon.isHidden())}let Hr=Ie&&Ie.has(ze)?Ie.get(ze):{text:null,icon:null};if(w.hasIconCollisionBoxData()||w.hasTextCollisionBoxData()){let ri=w.collisionArrays[ze];if(ri){let Ci=new a.P(0,0);if(ri.textBox||ri.verticalTextBox){let cn=!0;if(Jt){let sn=this.variableOffsets[qt];sn?(Ci=Gt(sn.anchor,sn.width,sn.height,sn.textOffset,sn.textBoxScale),$t&&Ci._rotate(yr?this.transform.angle:-this.transform.angle)):cn=!1}if(ri.textBox||ri.verticalTextBox){let sn;ri.textBox&&(sn=br),ri.verticalTextBox&&(sn=Fr),tr(w.textCollisionBox.collisionVertexArray,Wt.text.placed,!cn||sn,Hr.text,Ci.x,Ci.y)}}if(ri.iconBox||ri.verticalIconBox){let cn=!!(!Fr&&ri.verticalIconBox),sn;ri.iconBox&&(sn=cn),ri.verticalIconBox&&(sn=!cn),tr(w.iconCollisionBox.collisionVertexArray,Wt.icon.placed,sn,Hr.icon,Cr?Ci.x:0,Cr?Ci.y:0)}}}}if(w.sortFeatures(this.transform.angle),this.retainedQueryData[w.bucketInstanceId]&&(this.retainedQueryData[w.bucketInstanceId].featureSortOrder=w.featureSortOrder),w.hasTextData()&&w.text.opacityVertexBuffer&&w.text.opacityVertexBuffer.updateData(w.text.opacityVertexArray),w.hasIconData()&&w.icon.opacityVertexBuffer&&w.icon.opacityVertexBuffer.updateData(w.icon.opacityVertexArray),w.hasIconCollisionBoxData()&&w.iconCollisionBox.collisionVertexBuffer&&w.iconCollisionBox.collisionVertexBuffer.updateData(w.iconCollisionBox.collisionVertexArray),w.hasTextCollisionBoxData()&&w.textCollisionBox.collisionVertexBuffer&&w.textCollisionBox.collisionVertexBuffer.updateData(w.textCollisionBox.collisionVertexArray),w.text.opacityVertexArray.length!==w.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${w.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${w.text.layoutVertexArray.length}) / 4`);if(w.icon.opacityVertexArray.length!==w.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${w.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${w.icon.layoutVertexArray.length}) / 4`);if(w.bucketInstanceId in this.collisionCircleArrays){let ze=this.collisionCircleArrays[w.bucketInstanceId];w.placementInvProjMatrix=ze.invProjMatrix,w.placementViewportMatrix=ze.viewportMatrix,w.collisionCircleArray=ze.circles,delete this.collisionCircleArrays[w.bucketInstanceId]}}symbolFadeChange(w){return this.fadeDuration===0?1:(w-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(w){return Math.max(0,(this.transform.zoom-w)/1.5)}hasTransitions(w){return this.stale||w-this.lastPlacementChangeTimew}setStale(){this.stale=!0}}function tr(ue,w,B,Q,ee,le){Q&&Q.length!==0||(Q=[0,0,0,0]);let Fe=Q[0]-mi,Ze=Q[1]-mi,ut=Q[2]-mi,Mt=Q[3]-mi;ue.emplaceBack(w?1:0,B?1:0,ee||0,le||0,Fe,Ze),ue.emplaceBack(w?1:0,B?1:0,ee||0,le||0,ut,Ze),ue.emplaceBack(w?1:0,B?1:0,ee||0,le||0,ut,Mt),ue.emplaceBack(w?1:0,B?1:0,ee||0,le||0,Fe,Mt)}let ir=Math.pow(2,25),wr=Math.pow(2,24),Xr=Math.pow(2,17),ti=Math.pow(2,16),$r=Math.pow(2,9),Ri=Math.pow(2,8),Zi=Math.pow(2,1);function en(ue){if(ue.opacity===0&&!ue.placed)return 0;if(ue.opacity===1&&ue.placed)return 4294967295;let w=ue.placed?1:0,B=Math.floor(127*ue.opacity);return B*ir+w*wr+B*Xr+w*ti+B*$r+w*Ri+B*Zi+w}let fn=0;function yn(){return{isOccluded:(ue,w,B)=>!1,getPitchedTextCorrection:(ue,w,B)=>1,get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(ue,w,B,Q){throw new Error("Not implemented.")},translatePosition:(ue,w,B,Q)=>function(ee,le,Fe,Ze,ut=!1){if(!Fe[0]&&!Fe[1])return[0,0];let Mt=ut?Ze==="map"?ee.angle:0:Ze==="viewport"?-ee.angle:0;if(Mt){let Jt=Math.sin(Mt),$t=Math.cos(Mt);Fe=[Fe[0]*$t-Fe[1]*Jt,Fe[0]*Jt+Fe[1]*$t]}return[ut?Fe[0]:Fn(le,Fe[0],ee.zoom),ut?Fe[1]:Fn(le,Fe[1],ee.zoom)]}(ue,w,B,Q),getCircleRadiusCorrection:ue=>1}}class Mn{constructor(w){this._sortAcrossTiles=w.layout.get("symbol-z-order")!=="viewport-y"&&!w.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(w,B,Q,ee,le){let Fe=this._bucketParts;for(;this._currentTileIndexZe.sortKey-ut.sortKey));this._currentPartIndex!this._forceFullPlacement&&u.now()-ee>2;for(;this._currentPlacementIndex>=0;){let Fe=B[w[this._currentPlacementIndex]],Ze=this.placement.collisionIndex.transform.zoom;if(Fe.type==="symbol"&&(!Fe.minzoom||Fe.minzoom<=Ze)&&(!Fe.maxzoom||Fe.maxzoom>Ze)){if(this._inProgressLayer||(this._inProgressLayer=new Mn(Fe)),this._inProgressLayer.continuePlacement(Q[Fe.source],this.placement,this._showCollisionBoxes,Fe,le))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(w){return this.placement.commit(w),this.placement}}let ua=512/a.X/2;class ma{constructor(w,B,Q){this.tileID=w,this.bucketInstanceId=Q,this._symbolsByKey={};let ee=new Map;for(let le=0;le({x:Math.floor(ut.anchorX*ua),y:Math.floor(ut.anchorY*ua)})),crossTileIDs:Fe.map(ut=>ut.crossTileID)};if(Ze.positions.length>128){let ut=new a.av(Ze.positions.length,16,Uint16Array);for(let{x:Mt,y:Jt}of Ze.positions)ut.add(Mt,Jt);ut.finish(),delete Ze.positions,Ze.index=ut}this._symbolsByKey[le]=Ze}}getScaledCoordinates(w,B){let{x:Q,y:ee,z:le}=this.tileID.canonical,{x:Fe,y:Ze,z:ut}=B.canonical,Mt=ua/Math.pow(2,ut-le),Jt=(Ze*a.X+w.anchorY)*Mt,$t=ee*a.X*ua;return{x:Math.floor((Fe*a.X+w.anchorX)*Mt-Q*a.X*ua),y:Math.floor(Jt-$t)}}findMatches(w,B,Q){let ee=this.tileID.canonical.zw)}}class Wa{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class Fa{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(w){let B=Math.round((w-this.lng)/360);if(B!==0)for(let Q in this.indexes){let ee=this.indexes[Q],le={};for(let Fe in ee){let Ze=ee[Fe];Ze.tileID=Ze.tileID.unwrapTo(Ze.tileID.wrap+B),le[Ze.tileID.key]=Ze}this.indexes[Q]=le}this.lng=w}addBucket(w,B,Q){if(this.indexes[w.overscaledZ]&&this.indexes[w.overscaledZ][w.key]){if(this.indexes[w.overscaledZ][w.key].bucketInstanceId===B.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(w.overscaledZ,this.indexes[w.overscaledZ][w.key])}for(let le=0;lew.overscaledZ)for(let Ze in Fe){let ut=Fe[Ze];ut.tileID.isChildOf(w)&&ut.findMatches(B.symbolInstances,w,ee)}else{let Ze=Fe[w.scaledTo(Number(le)).key];Ze&&Ze.findMatches(B.symbolInstances,w,ee)}}for(let le=0;le{B[Q]=!0});for(let Q in this.layerIndexes)B[Q]||delete this.layerIndexes[Q]}}let da=(ue,w)=>a.t(ue,w&&w.filter(B=>B.identifier!=="source.canvas")),jn=a.aw();class Ha extends a.E{constructor(w,B={}){super(),this._rtlPluginLoaded=()=>{for(let Q in this.sourceCaches){let ee=this.sourceCaches[Q].getSource().type;ee!=="vector"&&ee!=="geojson"||this.sourceCaches[Q].reload()}},this.map=w,this.dispatcher=new ke(Se(),w._getMapId()),this.dispatcher.registerMessageHandler("GG",(Q,ee)=>this.getGlyphs(Q,ee)),this.dispatcher.registerMessageHandler("GI",(Q,ee)=>this.getImages(Q,ee)),this.imageManager=new E,this.imageManager.setEventedParent(this),this.glyphManager=new G(w._requestManager,B.localIdeographFontFamily),this.lineAtlas=new ae(256,512),this.crossTileSymbolIndex=new Xo,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new a.ax,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast("SR",a.ay()),St().on(Ue,this._rtlPluginLoaded),this.on("data",Q=>{if(Q.dataType!=="source"||Q.sourceDataType!=="metadata")return;let ee=this.sourceCaches[Q.sourceId];if(!ee)return;let le=ee.getSource();if(le&&le.vectorLayerIds)for(let Fe in this._layers){let Ze=this._layers[Fe];Ze.source===le.id&&this._validateLayer(Ze)}})}loadURL(w,B={},Q){this.fire(new a.k("dataloading",{dataType:"style"})),B.validate=typeof B.validate!="boolean"||B.validate;let ee=this.map._requestManager.transformRequest(w,"Style");this._loadStyleRequest=new AbortController;let le=this._loadStyleRequest;a.h(ee,this._loadStyleRequest).then(Fe=>{this._loadStyleRequest=null,this._load(Fe.data,B,Q)}).catch(Fe=>{this._loadStyleRequest=null,Fe&&!le.signal.aborted&&this.fire(new a.j(Fe))})}loadJSON(w,B={},Q){this.fire(new a.k("dataloading",{dataType:"style"})),this._frameRequest=new AbortController,u.frameAsync(this._frameRequest).then(()=>{this._frameRequest=null,B.validate=B.validate!==!1,this._load(w,B,Q)}).catch(()=>{})}loadEmpty(){this.fire(new a.k("dataloading",{dataType:"style"})),this._load(jn,{validate:!1})}_load(w,B,Q){var ee;let le=B.transformStyle?B.transformStyle(Q,w):w;if(!B.validate||!da(this,a.u(le))){this._loaded=!0,this.stylesheet=le;for(let Fe in le.sources)this.addSource(Fe,le.sources[Fe],{validate:!1});le.sprite?this._loadSprite(le.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(le.glyphs),this._createLayers(),this.light=new N(this.stylesheet.light),this.sky=new ie(this.stylesheet.sky),this.map.setTerrain((ee=this.stylesheet.terrain)!==null&&ee!==void 0?ee:null),this.fire(new a.k("data",{dataType:"style"})),this.fire(new a.k("style.load"))}}_createLayers(){let w=a.az(this.stylesheet.layers);this.dispatcher.broadcast("SL",w),this._order=w.map(B=>B.id),this._layers={},this._serializedLayers=null;for(let B of w){let Q=a.aA(B);Q.setEventedParent(this,{layer:{id:B.id}}),this._layers[B.id]=Q}}_loadSprite(w,B=!1,Q=void 0){let ee;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(le,Fe,Ze,ut){return a._(this,void 0,void 0,function*(){let Mt=C(le),Jt=Ze>1?"@2x":"",$t={},yr={};for(let{id:Cr,url:ve}of Mt){let xe=Fe.transformRequest(S(ve,Jt,".json"),"SpriteJSON");$t[Cr]=a.h(xe,ut);let Ie=Fe.transformRequest(S(ve,Jt,".png"),"SpriteImage");yr[Cr]=p.getImage(Ie,ut)}return yield Promise.all([...Object.values($t),...Object.values(yr)]),function(Cr,ve){return a._(this,void 0,void 0,function*(){let xe={};for(let Ie in Cr){xe[Ie]={};let ze=u.getImageCanvasContext((yield ve[Ie]).data),Qe=(yield Cr[Ie]).data;for(let Xe in Qe){let{width:nt,height:qt,x:Wt,y:nr,sdf:fr,pixelRatio:br,stretchX:Fr,stretchY:Hr,content:ri,textFitWidth:Ci,textFitHeight:cn}=Qe[Xe];xe[Ie][Xe]={data:null,pixelRatio:br,sdf:fr,stretchX:Fr,stretchY:Hr,content:ri,textFitWidth:Ci,textFitHeight:cn,spriteData:{width:nt,height:qt,x:Wt,y:nr,context:ze}}}}return xe})}($t,yr)})}(w,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then(le=>{if(this._spriteRequest=null,le)for(let Fe in le){this._spritesImagesIds[Fe]=[];let Ze=this._spritesImagesIds[Fe]?this._spritesImagesIds[Fe].filter(ut=>!(ut in le)):[];for(let ut of Ze)this.imageManager.removeImage(ut),this._changedImages[ut]=!0;for(let ut in le[Fe]){let Mt=Fe==="default"?ut:`${Fe}:${ut}`;this._spritesImagesIds[Fe].push(Mt),Mt in this.imageManager.images?this.imageManager.updateImage(Mt,le[Fe][ut],!1):this.imageManager.addImage(Mt,le[Fe][ut]),B&&(this._changedImages[Mt]=!0)}}}).catch(le=>{this._spriteRequest=null,ee=le,this.fire(new a.j(ee))}).finally(()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),B&&(this._changed=!0),this.dispatcher.broadcast("SI",this._availableImages),this.fire(new a.k("data",{dataType:"style"})),Q&&Q(ee)})}_unloadSprite(){for(let w of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(w),this._changedImages[w]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new a.k("data",{dataType:"style"}))}_validateLayer(w){let B=this.sourceCaches[w.source];if(!B)return;let Q=w.sourceLayer;if(!Q)return;let ee=B.getSource();(ee.type==="geojson"||ee.vectorLayerIds&&ee.vectorLayerIds.indexOf(Q)===-1)&&this.fire(new a.j(new Error(`Source layer "${Q}" does not exist on source "${ee.id}" as specified by style layer "${w.id}".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let w in this.sourceCaches)if(!this.sourceCaches[w].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(w,B=!1){let Q=this._serializedAllLayers();if(!w||w.length===0)return Object.values(B?a.aB(Q):Q);let ee=[];for(let le of w)if(Q[le]){let Fe=B?a.aB(Q[le]):Q[le];ee.push(Fe)}return ee}_serializedAllLayers(){let w=this._serializedLayers;if(w)return w;w=this._serializedLayers={};let B=Object.keys(this._layers);for(let Q of B){let ee=this._layers[Q];ee.type!=="custom"&&(w[Q]=ee.serialize())}return w}hasTransitions(){if(this.light&&this.light.hasTransition()||this.sky&&this.sky.hasTransition())return!0;for(let w in this.sourceCaches)if(this.sourceCaches[w].hasTransition())return!0;for(let w in this._layers)if(this._layers[w].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading.")}update(w){if(!this._loaded)return;let B=this._changed;if(B){let ee=Object.keys(this._updatedLayers),le=Object.keys(this._removedLayers);(ee.length||le.length)&&this._updateWorkerLayers(ee,le);for(let Fe in this._updatedSources){let Ze=this._updatedSources[Fe];if(Ze==="reload")this._reloadSource(Fe);else{if(Ze!=="clear")throw new Error(`Invalid action ${Ze}`);this._clearSource(Fe)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let Fe in this._updatedPaintProps)this._layers[Fe].updateTransitions(w);this.light.updateTransitions(w),this.sky.updateTransitions(w),this._resetUpdates()}let Q={};for(let ee in this.sourceCaches){let le=this.sourceCaches[ee];Q[ee]=le.used,le.used=!1}for(let ee of this._order){let le=this._layers[ee];le.recalculate(w,this._availableImages),!le.isHidden(w.zoom)&&le.source&&(this.sourceCaches[le.source].used=!0)}for(let ee in Q){let le=this.sourceCaches[ee];!!Q[ee]!=!!le.used&&le.fire(new a.k("data",{sourceDataType:"visibility",dataType:"source",sourceId:ee}))}this.light.recalculate(w),this.sky.recalculate(w),this.z=w.zoom,B&&this.fire(new a.k("data",{dataType:"style"}))}_updateTilesForChangedImages(){let w=Object.keys(this._changedImages);if(w.length){for(let B in this.sourceCaches)this.sourceCaches[B].reloadTilesForDependencies(["icons","patterns"],w);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let w in this.sourceCaches)this.sourceCaches[w].reloadTilesForDependencies(["glyphs"],[""]);this._glyphsDidChange=!1}}_updateWorkerLayers(w,B){this.dispatcher.broadcast("UL",{layers:this._serializeByIds(w,!1),removedIds:B})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(w,B={}){var Q;this._checkLoaded();let ee=this.serialize();if(w=B.transformStyle?B.transformStyle(ee,w):w,((Q=B.validate)===null||Q===void 0||Q)&&da(this,a.u(w)))return!1;(w=a.aB(w)).layers=a.az(w.layers);let le=a.aC(ee,w),Fe=this._getOperationsToPerform(le);if(Fe.unimplemented.length>0)throw new Error(`Unimplemented: ${Fe.unimplemented.join(", ")}.`);if(Fe.operations.length===0)return!1;for(let Ze of Fe.operations)Ze();return this.stylesheet=w,this._serializedLayers=null,!0}_getOperationsToPerform(w){let B=[],Q=[];for(let ee of w)switch(ee.command){case"setCenter":case"setZoom":case"setBearing":case"setPitch":continue;case"addLayer":B.push(()=>this.addLayer.apply(this,ee.args));break;case"removeLayer":B.push(()=>this.removeLayer.apply(this,ee.args));break;case"setPaintProperty":B.push(()=>this.setPaintProperty.apply(this,ee.args));break;case"setLayoutProperty":B.push(()=>this.setLayoutProperty.apply(this,ee.args));break;case"setFilter":B.push(()=>this.setFilter.apply(this,ee.args));break;case"addSource":B.push(()=>this.addSource.apply(this,ee.args));break;case"removeSource":B.push(()=>this.removeSource.apply(this,ee.args));break;case"setLayerZoomRange":B.push(()=>this.setLayerZoomRange.apply(this,ee.args));break;case"setLight":B.push(()=>this.setLight.apply(this,ee.args));break;case"setGeoJSONSourceData":B.push(()=>this.setGeoJSONSourceData.apply(this,ee.args));break;case"setGlyphs":B.push(()=>this.setGlyphs.apply(this,ee.args));break;case"setSprite":B.push(()=>this.setSprite.apply(this,ee.args));break;case"setSky":B.push(()=>this.setSky.apply(this,ee.args));break;case"setTerrain":B.push(()=>this.map.setTerrain.apply(this,ee.args));break;case"setTransition":B.push(()=>{});break;default:Q.push(ee.command)}return{operations:B,unimplemented:Q}}addImage(w,B){if(this.getImage(w))return this.fire(new a.j(new Error(`An image named "${w}" already exists.`)));this.imageManager.addImage(w,B),this._afterImageUpdated(w)}updateImage(w,B){this.imageManager.updateImage(w,B)}getImage(w){return this.imageManager.getImage(w)}removeImage(w){if(!this.getImage(w))return this.fire(new a.j(new Error(`An image named "${w}" does not exist.`)));this.imageManager.removeImage(w),this._afterImageUpdated(w)}_afterImageUpdated(w){this._availableImages=this.imageManager.listImages(),this._changedImages[w]=!0,this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new a.k("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(w,B,Q={}){if(this._checkLoaded(),this.sourceCaches[w]!==void 0)throw new Error(`Source "${w}" already exists.`);if(!B.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(B).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(B.type)>=0&&this._validate(a.u.source,`sources.${w}`,B,null,Q))return;this.map&&this.map._collectResourceTiming&&(B.collectResourceTiming=!0);let ee=this.sourceCaches[w]=new pt(w,B,this.dispatcher);ee.style=this,ee.setEventedParent(this,()=>({isSourceLoaded:ee.loaded(),source:ee.serialize(),sourceId:w})),ee.onAdd(this.map),this._changed=!0}removeSource(w){if(this._checkLoaded(),this.sourceCaches[w]===void 0)throw new Error("There is no source with this ID");for(let Q in this._layers)if(this._layers[Q].source===w)return this.fire(new a.j(new Error(`Source "${w}" cannot be removed while layer "${Q}" is using it.`)));let B=this.sourceCaches[w];delete this.sourceCaches[w],delete this._updatedSources[w],B.fire(new a.k("data",{sourceDataType:"metadata",dataType:"source",sourceId:w})),B.setEventedParent(null),B.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(w,B){if(this._checkLoaded(),this.sourceCaches[w]===void 0)throw new Error(`There is no source with this ID=${w}`);let Q=this.sourceCaches[w].getSource();if(Q.type!=="geojson")throw new Error(`geojsonSource.type is ${Q.type}, which is !== 'geojson`);Q.setData(B),this._changed=!0}getSource(w){return this.sourceCaches[w]&&this.sourceCaches[w].getSource()}addLayer(w,B,Q={}){this._checkLoaded();let ee=w.id;if(this.getLayer(ee))return void this.fire(new a.j(new Error(`Layer "${ee}" already exists on this map.`)));let le;if(w.type==="custom"){if(da(this,a.aD(w)))return;le=a.aA(w)}else{if("source"in w&&typeof w.source=="object"&&(this.addSource(ee,w.source),w=a.aB(w),w=a.e(w,{source:ee})),this._validate(a.u.layer,`layers.${ee}`,w,{arrayIndex:-1},Q))return;le=a.aA(w),this._validateLayer(le),le.setEventedParent(this,{layer:{id:ee}})}let Fe=B?this._order.indexOf(B):this._order.length;if(B&&Fe===-1)this.fire(new a.j(new Error(`Cannot add layer "${ee}" before non-existing layer "${B}".`)));else{if(this._order.splice(Fe,0,ee),this._layerOrderChanged=!0,this._layers[ee]=le,this._removedLayers[ee]&&le.source&&le.type!=="custom"){let Ze=this._removedLayers[ee];delete this._removedLayers[ee],Ze.type!==le.type?this._updatedSources[le.source]="clear":(this._updatedSources[le.source]="reload",this.sourceCaches[le.source].pause())}this._updateLayer(le),le.onAdd&&le.onAdd(this.map)}}moveLayer(w,B){if(this._checkLoaded(),this._changed=!0,!this._layers[w])return void this.fire(new a.j(new Error(`The layer '${w}' does not exist in the map's style and cannot be moved.`)));if(w===B)return;let Q=this._order.indexOf(w);this._order.splice(Q,1);let ee=B?this._order.indexOf(B):this._order.length;B&&ee===-1?this.fire(new a.j(new Error(`Cannot move layer "${w}" before non-existing layer "${B}".`))):(this._order.splice(ee,0,w),this._layerOrderChanged=!0)}removeLayer(w){this._checkLoaded();let B=this._layers[w];if(!B)return void this.fire(new a.j(new Error(`Cannot remove non-existing layer "${w}".`)));B.setEventedParent(null);let Q=this._order.indexOf(w);this._order.splice(Q,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[w]=B,delete this._layers[w],this._serializedLayers&&delete this._serializedLayers[w],delete this._updatedLayers[w],delete this._updatedPaintProps[w],B.onRemove&&B.onRemove(this.map)}getLayer(w){return this._layers[w]}getLayersOrder(){return[...this._order]}hasLayer(w){return w in this._layers}setLayerZoomRange(w,B,Q){this._checkLoaded();let ee=this.getLayer(w);ee?ee.minzoom===B&&ee.maxzoom===Q||(B!=null&&(ee.minzoom=B),Q!=null&&(ee.maxzoom=Q),this._updateLayer(ee)):this.fire(new a.j(new Error(`Cannot set the zoom range of non-existing layer "${w}".`)))}setFilter(w,B,Q={}){this._checkLoaded();let ee=this.getLayer(w);if(ee){if(!a.aE(ee.filter,B))return B==null?(ee.filter=void 0,void this._updateLayer(ee)):void(this._validate(a.u.filter,`layers.${ee.id}.filter`,B,null,Q)||(ee.filter=a.aB(B),this._updateLayer(ee)))}else this.fire(new a.j(new Error(`Cannot filter non-existing layer "${w}".`)))}getFilter(w){return a.aB(this.getLayer(w).filter)}setLayoutProperty(w,B,Q,ee={}){this._checkLoaded();let le=this.getLayer(w);le?a.aE(le.getLayoutProperty(B),Q)||(le.setLayoutProperty(B,Q,ee),this._updateLayer(le)):this.fire(new a.j(new Error(`Cannot style non-existing layer "${w}".`)))}getLayoutProperty(w,B){let Q=this.getLayer(w);if(Q)return Q.getLayoutProperty(B);this.fire(new a.j(new Error(`Cannot get style of non-existing layer "${w}".`)))}setPaintProperty(w,B,Q,ee={}){this._checkLoaded();let le=this.getLayer(w);le?a.aE(le.getPaintProperty(B),Q)||(le.setPaintProperty(B,Q,ee)&&this._updateLayer(le),this._changed=!0,this._updatedPaintProps[w]=!0,this._serializedLayers=null):this.fire(new a.j(new Error(`Cannot style non-existing layer "${w}".`)))}getPaintProperty(w,B){return this.getLayer(w).getPaintProperty(B)}setFeatureState(w,B){this._checkLoaded();let Q=w.source,ee=w.sourceLayer,le=this.sourceCaches[Q];if(le===void 0)return void this.fire(new a.j(new Error(`The source '${Q}' does not exist in the map's style.`)));let Fe=le.getSource().type;Fe==="geojson"&&ee?this.fire(new a.j(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):Fe!=="vector"||ee?(w.id===void 0&&this.fire(new a.j(new Error("The feature id parameter must be provided."))),le.setFeatureState(ee,w.id,B)):this.fire(new a.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(w,B){this._checkLoaded();let Q=w.source,ee=this.sourceCaches[Q];if(ee===void 0)return void this.fire(new a.j(new Error(`The source '${Q}' does not exist in the map's style.`)));let le=ee.getSource().type,Fe=le==="vector"?w.sourceLayer:void 0;le!=="vector"||Fe?B&&typeof w.id!="string"&&typeof w.id!="number"?this.fire(new a.j(new Error("A feature id is required to remove its specific state property."))):ee.removeFeatureState(Fe,w.id,B):this.fire(new a.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(w){this._checkLoaded();let B=w.source,Q=w.sourceLayer,ee=this.sourceCaches[B];if(ee!==void 0)return ee.getSource().type!=="vector"||Q?(w.id===void 0&&this.fire(new a.j(new Error("The feature id parameter must be provided."))),ee.getFeatureState(Q,w.id)):void this.fire(new a.j(new Error("The sourceLayer parameter must be provided for vector source types.")));this.fire(new a.j(new Error(`The source '${B}' does not exist in the map's style.`)))}getTransition(){return a.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;let w=a.aF(this.sourceCaches,le=>le.serialize()),B=this._serializeByIds(this._order,!0),Q=this.map.getTerrain()||void 0,ee=this.stylesheet;return a.aG({version:ee.version,name:ee.name,metadata:ee.metadata,light:ee.light,sky:ee.sky,center:ee.center,zoom:ee.zoom,bearing:ee.bearing,pitch:ee.pitch,sprite:ee.sprite,glyphs:ee.glyphs,transition:ee.transition,sources:w,layers:B,terrain:Q},le=>le!==void 0)}_updateLayer(w){this._updatedLayers[w.id]=!0,w.source&&!this._updatedSources[w.source]&&this.sourceCaches[w.source].getSource().type!=="raster"&&(this._updatedSources[w.source]="reload",this.sourceCaches[w.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(w){let B=Fe=>this._layers[Fe].type==="fill-extrusion",Q={},ee=[];for(let Fe=this._order.length-1;Fe>=0;Fe--){let Ze=this._order[Fe];if(B(Ze)){Q[Ze]=Fe;for(let ut of w){let Mt=ut[Ze];if(Mt)for(let Jt of Mt)ee.push(Jt)}}}ee.sort((Fe,Ze)=>Ze.intersectionZ-Fe.intersectionZ);let le=[];for(let Fe=this._order.length-1;Fe>=0;Fe--){let Ze=this._order[Fe];if(B(Ze))for(let ut=ee.length-1;ut>=0;ut--){let Mt=ee[ut].feature;if(Q[Mt.layer.id]{let fr=ze.featureSortOrder;if(fr){let br=fr.indexOf(Wt.featureIndex);return fr.indexOf(nr.featureIndex)-br}return nr.featureIndex-Wt.featureIndex});for(let Wt of qt)nt.push(Wt)}}for(let ze in ve)ve[ze].forEach(Qe=>{let Xe=Qe.feature,nt=Mt[Ze[ze].source].getFeatureState(Xe.layer["source-layer"],Xe.id);Xe.source=Xe.layer.source,Xe.layer["source-layer"]&&(Xe.sourceLayer=Xe.layer["source-layer"]),Xe.state=nt});return ve}(this._layers,Fe,this.sourceCaches,w,B,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(le)}querySourceFeatures(w,B){B&&B.filter&&this._validate(a.u.filter,"querySourceFeatures.filter",B.filter,null,B);let Q=this.sourceCaches[w];return Q?function(ee,le){let Fe=ee.getRenderableIds().map(Mt=>ee.getTileByID(Mt)),Ze=[],ut={};for(let Mt=0;Mtyr.getTileByID(Cr)).sort((Cr,ve)=>ve.tileID.overscaledZ-Cr.tileID.overscaledZ||(Cr.tileID.isLessThan(ve.tileID)?-1:1))}let $t=this.crossTileSymbolIndex.addLayer(Jt,ut[Jt.source],w.center.lng);Fe=Fe||$t}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((le=le||this._layerOrderChanged||Q===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(u.now(),w.zoom))&&(this.pauseablePlacement=new Ba(w,this.map.terrain,this._order,le,B,Q,ee,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,ut),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(u.now()),Ze=!0),Fe&&this.pauseablePlacement.placement.setStale()),Ze||Fe)for(let Mt of this._order){let Jt=this._layers[Mt];Jt.type==="symbol"&&this.placement.updateLayerOpacities(Jt,ut[Jt.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(u.now())}_releaseSymbolFadeTiles(){for(let w in this.sourceCaches)this.sourceCaches[w].releaseSymbolFadeTiles()}getImages(w,B){return a._(this,void 0,void 0,function*(){let Q=yield this.imageManager.getImages(B.icons);this._updateTilesForChangedImages();let ee=this.sourceCaches[B.source];return ee&&ee.setDependencies(B.tileID.key,B.type,B.icons),Q})}getGlyphs(w,B){return a._(this,void 0,void 0,function*(){let Q=yield this.glyphManager.getGlyphs(B.stacks),ee=this.sourceCaches[B.source];return ee&&ee.setDependencies(B.tileID.key,B.type,[""]),Q})}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(w,B={}){this._checkLoaded(),w&&this._validate(a.u.glyphs,"glyphs",w,null,B)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=w,this.glyphManager.entries={},this.glyphManager.setURL(w))}addSprite(w,B,Q={},ee){this._checkLoaded();let le=[{id:w,url:B}],Fe=[...C(this.stylesheet.sprite),...le];this._validate(a.u.sprite,"sprite",Fe,null,Q)||(this.stylesheet.sprite=Fe,this._loadSprite(le,!0,ee))}removeSprite(w){this._checkLoaded();let B=C(this.stylesheet.sprite);if(B.find(Q=>Q.id===w)){if(this._spritesImagesIds[w])for(let Q of this._spritesImagesIds[w])this.imageManager.removeImage(Q),this._changedImages[Q]=!0;B.splice(B.findIndex(Q=>Q.id===w),1),this.stylesheet.sprite=B.length>0?B:void 0,delete this._spritesImagesIds[w],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new a.k("data",{dataType:"style"}))}else this.fire(new a.j(new Error(`Sprite "${w}" doesn't exists on this map.`)))}getSprite(){return C(this.stylesheet.sprite)}setSprite(w,B={},Q){this._checkLoaded(),w&&this._validate(a.u.sprite,"sprite",w,null,B)||(this.stylesheet.sprite=w,w?this._loadSprite(w,!0,Q):(this._unloadSprite(),Q&&Q(null)))}}var vo=a.Y([{name:"a_pos",type:"Int16",components:2}]);let Gn={prelude:Ct(`#ifdef GL_ES +{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"}});var cOe=ne((Z1r,uOe)=>{"use strict";uOe.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"}}]}});var cy=ne(($1r,pOe)=>{"use strict";var UUt=(By(),vl(qy)).default,VUt=lOe(),GUt=cOe(),HUt='\xA9 OpenStreetMap contributors',fOe="https://basemaps.cartocdn.com/gl/positron-gl-style/style.json",hOe="https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",eF="https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",jUt="https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json",WUt="https://basemaps.cartocdn.com/gl/dark-matter-nolabels-gl-style/style.json",YUt="https://basemaps.cartocdn.com/gl/voyager-nolabels-gl-style/style.json",vOe={basic:eF,streets:eF,outdoors:eF,light:fOe,dark:hOe,satellite:GUt,"satellite-streets":VUt,"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:HUt,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":fOe,"carto-darkmatter":hOe,"carto-voyager":eF,"carto-positron-nolabels":jUt,"carto-darkmatter-nolabels":WUt,"carto-voyager-nolabels":YUt},dOe=UUt(vOe);pOe.exports={styleValueDflt:"basic",stylesMap:vOe,styleValuesMap:dOe,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",missingStyleErrorMsg:["No valid maplibre style found, please set `map.style` to one of:",dOe.join(", "),"or use a tile service."].join(` +`),mapOnErrorMsg:"Map error.",fitBoundsPadding:20}});var F6=ne((K1r,bOe)=>{"use strict";var gOe=Zt(),mOe=_a().defaultLine,XUt=zl().attributes,ZUt=pl(),$Ut=Tu().textposition,KUt=Il().overrideAll,JUt=Bo().templatedArray,yOe=cy(),xOe=ZUt({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});xOe.family.dflt="Open Sans Regular, Arial Unicode MS Regular";var QUt=bOe.exports=KUt({_arrayAttrRegexps:[gOe.counterRegex("map",".layers",!0)],domain:XUt({name:"map"}),style:{valType:"any",values:yOe.styleValuesMap,dflt:yOe.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},fitbounds:{valType:"enumerated",values:[!1,"locations"],dflt:"locations"},bounds:{west:{valType:"number"},east:{valType:"number"},south:{valType:"number"},north:{valType:"number"}},layers:JUt("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:mOe},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:mOe}},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:xOe,textposition:gOe.extendFlat({},$Ut,{arrayOk:!1})}})},"plot","from-root");QUt.uirevision={valType:"any",editType:"none"}});var tF=ne((J1r,AOe)=>{"use strict";var{hovertemplateAttrs:eVt,texttemplateAttrs:tVt,templatefallbackAttrs:_Oe}=rs(),rVt=zp(),P6=rw(),Ew=Tu(),wOe=F6(),nVt=os(),aVt=Ys(),D2=ci().extendFlat,iVt=Il().overrideAll,oVt=F6(),TOe=P6.line,kw=P6.marker;AOe.exports=iVt({lon:P6.lon,lat:P6.lat,cluster:{enabled:{valType:"boolean"},maxzoom:D2({},oVt.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:D2({},kw.opacity,{dflt:1})},mode:D2({},Ew.mode,{dflt:"markers"}),text:D2({},Ew.text,{}),texttemplate:tVt({editType:"plot"},{keys:["lat","lon","text"]}),texttemplatefallback:_Oe({editType:"plot"}),hovertext:D2({},Ew.hovertext,{}),line:{color:TOe.color,width:TOe.width},connectgaps:Ew.connectgaps,marker:D2({symbol:{valType:"string",dflt:"circle",arrayOk:!0},angle:{valType:"number",dflt:"auto",arrayOk:!0},allowoverlap:{valType:"boolean",dflt:!1},opacity:kw.opacity,size:kw.size,sizeref:kw.sizeref,sizemin:kw.sizemin,sizemode:kw.sizemode},aVt("marker")),fill:P6.fill,fillcolor:rVt(),textfont:wOe.layers.symbol.textfont,textposition:wOe.layers.symbol.textposition,below:{valType:"string"},selected:{marker:Ew.selected.marker},unselected:{marker:Ew.unselected.marker},hoverinfo:D2({},nVt.hoverinfo,{flags:["lon","lat","text","name"]}),hovertemplate:eVt(),hovertemplatefallback:_Oe()},"calc","nested")});var sY=ne((Q1r,MOe)=>{"use strict";var sVt=["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"];MOe.exports={isSupportedFont:function(e){return sVt.indexOf(e)!==-1}}});var kOe=ne((egr,EOe)=>{"use strict";var D6=Zt(),lY=ml(),lVt=Kv(),uVt=V0(),cVt=G0(),fVt=Bp(),SOe=tF(),hVt=sY().isSupportedFont;EOe.exports=function(t,r,n,a){function i(g,E){return D6.coerce(t,r,SOe,g,E)}function o(g,E){return D6.coerce2(t,r,SOe,g,E)}var s=dVt(t,r,i);if(!s){r.visible=!1;return}if(i("text"),i("texttemplate"),i("texttemplatefallback"),i("hovertext"),i("hovertemplate"),i("hovertemplatefallback"),i("mode"),i("below"),lY.hasMarkers(r)){lVt(t,r,n,a,i,{noLine:!0,noAngle:!0}),i("marker.allowoverlap"),i("marker.angle");var l=r.marker;l.symbol!=="circle"&&(D6.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),D6.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}lY.hasLines(r)&&(uVt(t,r,n,a,i,{noDash:!0}),i("connectgaps"));var u=o("cluster.maxzoom"),c=o("cluster.step"),f=o("cluster.color",r.marker&&r.marker.color||n),h=o("cluster.size"),v=o("cluster.opacity"),d=u!==!1||c!==!1||f!==!1||h!==!1||v!==!1,m=i("cluster.enabled",d);if(m||lY.hasText(r)){var x=a.font.family;cVt(t,r,a,i,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:hVt(x)?x:"Open Sans Regular",weight:a.font.weight,style:a.font.style,size:a.font.size,color:a.font.color}})}i("fill"),r.fill!=="none"&&fVt(t,r,n,i),D6.coerceSelectionMarkerOpacity(r,i)};function dVt(e,t,r){var n=r("lon")||[],a=r("lat")||[],i=Math.min(n.length,a.length);return t._length=i,i}});var uY=ne((tgr,LOe)=>{"use strict";var COe=ri();LOe.exports=function(t,r,n){var a={},i=n[r.subplot]._subplot,o=i.mockAxis,s=t.lonlat;return a.lonLabel=COe.tickText(o,o.c2l(s[0]),!0).text,a.latLabel=COe.tickText(o,o.c2l(s[1]),!0).text,a}});var cY=ne((rgr,POe)=>{"use strict";var FOe=Zt();POe.exports=function(t,r){var n=t.split(" "),a=n[0],i=n[1],o=FOe.isArrayOrTypedArray(r)?FOe.mean(r):r,s=.5+o/100,l=1.5+o/100,u=["",""],c=[0,0];switch(a){case"top":u[0]="top",c[1]=-l;break;case"bottom":u[0]="bottom",c[1]=l;break}switch(i){case"left":u[1]="right",c[0]=-s;break;case"right":u[1]="left",c[0]=s;break}var f;return u[0]&&u[1]?f=u.join("-"):u[0]?f=u[0]:u[1]?f=u[1]:f="center",{anchor:f,offset:c}}});var BOe=ne((ngr,qOe)=>{"use strict";var IOe=mi(),kh=Zt(),vVt=uo().BADNUM,nF=jA(),DOe=El(),pVt=li(),gVt=U5(),aF=ml(),mVt=sY().isSupportedFont,yVt=cY(),xVt=Hd().appendArrayPointValue,bVt=Ms().NEWLINES,_Vt=Ms().BR_TAG_ALL;qOe.exports=function(t,r){var n=r[0].trace,a=n.visible===!0&&n._length!==0,i=n.fill!=="none",o=aF.hasLines(n),s=aF.hasMarkers(n),l=aF.hasText(n),u=s&&n.marker.symbol==="circle",c=s&&n.marker.symbol!=="circle",f=n.cluster&&n.cluster.enabled,h=rF("fill"),v=rF("line"),d=rF("circle"),m=rF("symbol"),x={fill:h,line:v,circle:d,symbol:m};if(!a)return x;var g;if((i||o)&&(g=nF.calcTraceToLineCoords(r)),i&&(h.geojson=nF.makePolygon(g),h.layout.visibility="visible",kh.extendFlat(h.paint,{"fill-color":n.fillcolor})),o&&(v.geojson=nF.makeLine(g),v.layout.visibility="visible",kh.extendFlat(v.paint,{"line-width":n.line.width,"line-color":n.line.color,"line-opacity":n.opacity})),u){var E=wVt(r);d.geojson=E.geojson,d.layout.visibility="visible",f&&(d.filter=["!",["has","point_count"]],x.cluster={type:"circle",filter:["has","point_count"],layout:{visibility:"visible"},paint:{"circle-color":hY(n.cluster.color,n.cluster.step),"circle-radius":hY(n.cluster.size,n.cluster.step),"circle-opacity":hY(n.cluster.opacity,n.cluster.step)}},x.clusterCount={type:"symbol",filter:["has","point_count"],paint:{},layout:{"text-field":"{point_count_abbreviated}","text-font":ROe(n),"text-size":12}}),kh.extendFlat(d.paint,{"circle-color":E.mcc,"circle-radius":E.mrc,"circle-opacity":E.mo})}if(u&&f&&(d.filter=["!",["has","point_count"]]),(c||l)&&(m.geojson=TVt(r,t),kh.extendFlat(m.layout,{visibility:"visible","icon-image":"{symbol}","text-field":"{text}"}),c&&(kh.extendFlat(m.layout,{"icon-size":n.marker.size/10}),"angle"in n.marker&&n.marker.angle!=="auto"&&kh.extendFlat(m.layout,{"icon-rotate":{type:"identity",property:"angle"},"icon-rotation-alignment":"map"}),m.layout["icon-allow-overlap"]=n.marker.allowoverlap,kh.extendFlat(m.paint,{"icon-opacity":n.opacity*n.marker.opacity,"icon-color":n.marker.color,"icon-halo-color":n.marker.color,"icon-halo-width":2,"icon-halo-blur":1.5})),l)){var M=(n.marker||{}).size,w=yVt(n.textposition,M);kh.extendFlat(m.layout,{"text-size":n.textfont.size,"text-anchor":w.anchor,"text-offset":w.offset,"text-font":ROe(n)}),kh.extendFlat(m.paint,{"text-color":n.textfont.color,"text-opacity":n.opacity})}return x};function rF(e){return{type:e,geojson:nF.makeBlank(),layout:{visibility:"none"},filter:null,paint:{}}}function wVt(e){var t=e[0].trace,r=t.marker,n=t.selectedpoints,a=kh.isArrayOrTypedArray(r.color),i=kh.isArrayOrTypedArray(r.size),o=kh.isArrayOrTypedArray(r.opacity),s;function l(M){return t.opacity*M}function u(M){return M/2}var c;a&&(DOe.hasColorscale(t,"marker")?c=DOe.makeColorScaleFuncFromTrace(r):c=kh.identity);var f;i&&(f=gVt(t));var h;o&&(h=function(M){var w=IOe(M)?+kh.constrain(M,0,1):0;return l(w)});var v=[];for(s=0;s850?s+=" Black":a>750?s+=" Extra Bold":a>650?s+=" Bold":a>550?s+=" Semi Bold":a>450?s+=" Medium":a>350?s+=" Regular":a>250?s+=" Light":a>150?s+=" Extra Light":s+=" Thin"):i.slice(0,2).join(" ")==="Open Sans"?(s="Open Sans",a>750?s+=" Extrabold":a>650?s+=" Bold":a>550?s+=" Semibold":a>350?s+=" Regular":s+=" Light"):i.slice(0,3).join(" ")==="Klokantech Noto Sans"&&(s="Klokantech Noto Sans",i[3]==="CJK"&&(s+=" CJK"),s+=a>500?" Bold":" Regular")),o&&(s+=" Italic"),s==="Open Sans Regular Italic"?s="Open Sans Italic":s==="Open Sans Regular Bold"?s="Open Sans Bold":s==="Open Sans Regular Bold Italic"?s="Open Sans Bold Italic":s==="Klokantech Noto Sans Regular Italic"&&(s="Klokantech Noto Sans Italic"),mVt(s)||(s=r);var l=s.split(", ");return l}});var VOe=ne((agr,UOe)=>{"use strict";var AVt=Zt(),OOe=BOe(),Cw=cy().traceLayerPrefix,x0={cluster:["cluster","clusterCount","circle"],nonCluster:["fill","line","circle","symbol"]};function NOe(e,t,r,n){this.type="scattermap",this.subplot=e,this.uid=t,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:"source-"+t+"-fill",line:"source-"+t+"-line",circle:"source-"+t+"-circle",symbol:"source-"+t+"-symbol",cluster:"source-"+t+"-circle",clusterCount:"source-"+t+"-circle"},this.layerIds={fill:Cw+t+"-fill",line:Cw+t+"-line",circle:Cw+t+"-circle",symbol:Cw+t+"-symbol",cluster:Cw+t+"-cluster",clusterCount:Cw+t+"-cluster-count"},this.below=null}var R6=NOe.prototype;R6.addSource=function(e,t,r){var n={type:"geojson",data:t.geojson};r&&r.enabled&&AVt.extendFlat(n,{cluster:!0,clusterMaxZoom:r.maxzoom});var a=this.subplot.map.getSource(this.sourceIds[e]);a?a.setData(t.geojson):this.subplot.map.addSource(this.sourceIds[e],n)};R6.setSourceData=function(e,t){this.subplot.map.getSource(this.sourceIds[e]).setData(t.geojson)};R6.addLayer=function(e,t,r){var n={type:t.type,id:this.layerIds[e],source:this.sourceIds[e],layout:t.layout,paint:t.paint};t.filter&&(n.filter=t.filter);for(var a=this.layerIds[e],i,o=this.subplot.getMapLayers(),s=0;s=0;k--){var y=w[k];a.removeLayer(u.layerIds[y])}M||a.removeSource(u.sourceIds.circle)}function h(M){for(var w=x0.nonCluster,k=0;k=0;k--){var y=w[k];a.removeLayer(u.layerIds[y]),M||a.removeSource(u.sourceIds[y])}}function d(M){l?f(M):v(M)}function m(M){s?c(M):h(M)}function x(){for(var M=s?x0.cluster:x0.nonCluster,w=0;w=0;n--){var a=r[n];t.removeLayer(this.layerIds[a]),t.removeSource(this.sourceIds[a])}};UOe.exports=function(t,r){var n=r[0].trace,a=n.cluster&&n.cluster.enabled,i=n.visible!==!0,o=new NOe(t,n.uid,a,i),s=OOe(t.gd,r),l=o.below=t.belowLookup["trace-"+n.uid],u,c,f;if(a)for(o.addSource("circle",s.circle,n.cluster),u=0;u{"use strict";var MVt=cu(),dY=Zt(),SVt=y_(),EVt=dY.fillText,kVt=uo().BADNUM,CVt=cy().traceLayerPrefix;function LVt(e,t,r){var n=e.cd,a=n[0].trace,i=e.xa,o=e.ya,s=e.subplot,l=[],u=CVt+a.uid+"-circle",c=a.cluster&&a.cluster.enabled;if(c){var f=s.map.queryRenderedFeatures(null,{layers:[u]});l=f.map(function(T){return T.id})}var h=t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360),v=h*360,d=t-v;function m(T){var p=T.lonlat;if(p[0]===kVt||c&&l.indexOf(T.i+1)===-1)return 1/0;var C=dY.modHalf(p[0],360),A=p[1],P=s.project([C,A]),D=P.x-i.c2p([d,A]),z=P.y-o.c2p([C,r]),q=Math.max(3,T.mrc||0);return Math.max(Math.sqrt(D*D+z*z)-q,1-3/q)}if(MVt.getClosest(n,m,e),e.index!==!1){var x=n[e.index],g=x.lonlat,E=[dY.modHalf(g[0],360)+v,g[1]],M=i.c2p(E),w=o.c2p(E),k=x.mrc||1;e.x0=M-k,e.x1=M+k,e.y0=w-k,e.y1=w+k;var y={};y[a.subplot]={_subplot:s};var S=a._module.formatLabels(x,a,y);return e.lonLabel=S.lonLabel,e.latLabel=S.latLabel,e.color=SVt(a,x),e.extraText=GOe(a,x,n[0].t.labels),e.hovertemplate=a.hovertemplate,[e]}}function GOe(e,t,r){if(e.hovertemplate)return;var n=t.hi||e.hoverinfo,a=n.split("+"),i=a.indexOf("all")!==-1,o=a.indexOf("lon")!==-1,s=a.indexOf("lat")!==-1,l=t.lonlat,u=[];function c(f){return f+"\xB0"}return i||o&&s?u.push("("+c(l[1])+", "+c(l[0])+")"):o?u.push(r.lon+c(l[0])):s&&u.push(r.lat+c(l[1])),(i||a.indexOf("text")!==-1)&&EVt(t,e,u),u.join("
")}HOe.exports={hoverPoints:LVt,getExtraText:GOe}});var WOe=ne((ogr,jOe)=>{"use strict";jOe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t}});var XOe=ne((sgr,YOe)=>{"use strict";var FVt=Zt(),PVt=ml(),DVt=uo().BADNUM;YOe.exports=function(t,r){var n=t.cd,a=t.xaxis,i=t.yaxis,o=[],s=n[0].trace,l;if(!PVt.hasMarkers(s))return[];if(r===!1)for(l=0;l{(function(e,t){typeof vY=="object"&&typeof pY!="undefined"?pY.exports=t():(e=typeof globalThis!="undefined"?globalThis:e||self,e.maplibregl=t())})(vY,(function(){"use strict";var e={},t={};function r(a,i,o){if(t[a]=o,a==="index"){var s="var sharedModule = {}; ("+t.shared+")(sharedModule); ("+t.worker+")(sharedModule);",l={};return t.shared(l),t.index(e,l),typeof window!="undefined"&&e.setWorkerUrl(window.URL.createObjectURL(new Blob([s],{type:"text/javascript"}))),e}}r("shared",["exports"],(function(a){"use strict";function i(L,_,F,N){return new(F||(F=Promise))((function(W,J){function ee(Ve){try{Ce(N.next(Ve))}catch(nt){J(nt)}}function me(Ve){try{Ce(N.throw(Ve))}catch(nt){J(nt)}}function Ce(Ve){var nt;Ve.done?W(Ve.value):(nt=Ve.value,nt instanceof F?nt:new F((function(wt){wt(nt)}))).then(ee,me)}Ce((N=N.apply(L,_||[])).next())}))}function o(L){return L&&L.__esModule&&Object.prototype.hasOwnProperty.call(L,"default")?L.default:L}typeof SuppressedError=="function"&&SuppressedError;var s=l;function l(L,_){this.x=L,this.y=_}l.prototype={clone:function(){return new l(this.x,this.y)},add:function(L){return this.clone()._add(L)},sub:function(L){return this.clone()._sub(L)},multByPoint:function(L){return this.clone()._multByPoint(L)},divByPoint:function(L){return this.clone()._divByPoint(L)},mult:function(L){return this.clone()._mult(L)},div:function(L){return this.clone()._div(L)},rotate:function(L){return this.clone()._rotate(L)},rotateAround:function(L,_){return this.clone()._rotateAround(L,_)},matMult:function(L){return this.clone()._matMult(L)},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(L){return this.x===L.x&&this.y===L.y},dist:function(L){return Math.sqrt(this.distSqr(L))},distSqr:function(L){var _=L.x-this.x,F=L.y-this.y;return _*_+F*F},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(L){return Math.atan2(this.y-L.y,this.x-L.x)},angleWith:function(L){return this.angleWithSep(L.x,L.y)},angleWithSep:function(L,_){return Math.atan2(this.x*_-this.y*L,this.x*L+this.y*_)},_matMult:function(L){var _=L[2]*this.x+L[3]*this.y;return this.x=L[0]*this.x+L[1]*this.y,this.y=_,this},_add:function(L){return this.x+=L.x,this.y+=L.y,this},_sub:function(L){return this.x-=L.x,this.y-=L.y,this},_mult:function(L){return this.x*=L,this.y*=L,this},_div:function(L){return this.x/=L,this.y/=L,this},_multByPoint:function(L){return this.x*=L.x,this.y*=L.y,this},_divByPoint:function(L){return this.x/=L.x,this.y/=L.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var L=this.y;return this.y=this.x,this.x=-L,this},_rotate:function(L){var _=Math.cos(L),F=Math.sin(L),N=F*this.x+_*this.y;return this.x=_*this.x-F*this.y,this.y=N,this},_rotateAround:function(L,_){var F=Math.cos(L),N=Math.sin(L),W=_.y+N*(this.x-_.x)+F*(this.y-_.y);return this.x=_.x+F*(this.x-_.x)-N*(this.y-_.y),this.y=W,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},l.convert=function(L){return L instanceof l?L:Array.isArray(L)?new l(L[0],L[1]):L};var u=o(s),c=f;function f(L,_,F,N){this.cx=3*L,this.bx=3*(F-L)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*_,this.by=3*(N-_)-this.cy,this.ay=1-this.cy-this.by,this.p1x=L,this.p1y=_,this.p2x=F,this.p2y=N}f.prototype={sampleCurveX:function(L){return((this.ax*L+this.bx)*L+this.cx)*L},sampleCurveY:function(L){return((this.ay*L+this.by)*L+this.cy)*L},sampleCurveDerivativeX:function(L){return(3*this.ax*L+2*this.bx)*L+this.cx},solveCurveX:function(L,_){if(_===void 0&&(_=1e-6),L<0)return 0;if(L>1)return 1;for(var F=L,N=0;N<8;N++){var W=this.sampleCurveX(F)-L;if(Math.abs(W)<_)return F;var J=this.sampleCurveDerivativeX(F);if(Math.abs(J)<1e-6)break;F-=W/J}var ee=0,me=1;for(F=L,N=0;N<20&&(W=this.sampleCurveX(F),!(Math.abs(W-L)<_));N++)L>W?ee=F:me=F,F=.5*(me-ee)+ee;return F},solve:function(L,_){return this.sampleCurveY(this.solveCurveX(L,_))}};var h=o(c);let v,d;function m(){return v==null&&(v=typeof OffscreenCanvas!="undefined"&&new OffscreenCanvas(1,1).getContext("2d")&&typeof createImageBitmap=="function"),v}function x(){if(d==null&&(d=!1,m())){let _=new OffscreenCanvas(5,5).getContext("2d",{willReadFrequently:!0});if(_){for(let N=0;N<25;N++){let W=4*N;_.fillStyle=`rgb(${W},${W+1},${W+2})`,_.fillRect(N%5,Math.floor(N/5),1,1)}let F=_.getImageData(0,0,5,5).data;for(let N=0;N<100;N++)if(N%4!=3&&F[N]!==N){d=!0;break}}}return d||!1}function g(L,_,F,N){let W=new h(L,_,F,N);return J=>W.solve(J)}let E=g(.25,.1,.25,1);function M(L,_,F){return Math.min(F,Math.max(_,L))}function w(L,_,F){let N=F-_,W=((L-_)%N+N)%N+_;return W===_?F:W}function k(L,..._){for(let F of _)for(let N in F)L[N]=F[N];return L}let y=1;function S(L,_,F){let N={};for(let W in L)N[W]=_.call(this,L[W],W,L);return N}function T(L,_,F){let N={};for(let W in L)_.call(this,L[W],W,L)&&(N[W]=L[W]);return N}function p(L){return Array.isArray(L)?L.map(p):typeof L=="object"&&L?S(L,p):L}let C={};function A(L){C[L]||(typeof console!="undefined"&&console.warn(L),C[L]=!0)}function P(L,_,F){return(F.y-L.y)*(_.x-L.x)>(_.y-L.y)*(F.x-L.x)}function D(L){return typeof WorkerGlobalScope!="undefined"&&L!==void 0&&L instanceof WorkerGlobalScope}let z=null;function q(L){return typeof ImageBitmap!="undefined"&&L instanceof ImageBitmap}let U="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";function O(L,_,F,N,W){return i(this,void 0,void 0,(function*(){if(typeof VideoFrame=="undefined")throw new Error("VideoFrame not supported");let J=new VideoFrame(L,{timestamp:0});try{let ee=J==null?void 0:J.format;if(!ee||!ee.startsWith("BGR")&&!ee.startsWith("RGB"))throw new Error(`Unrecognized format ${ee}`);let me=ee.startsWith("BGR"),Ce=new Uint8ClampedArray(N*W*4);if(yield J.copyTo(Ce,(function(Ve,nt,wt,Ct,Rt){let jt=4*Math.max(-nt,0),Qt=(Math.max(0,wt)-wt)*Ct*4+jt,Ar=4*Ct,Pr=Math.max(0,nt),gn=Math.max(0,wt);return{rect:{x:Pr,y:gn,width:Math.min(Ve.width,nt+Ct)-Pr,height:Math.min(Ve.height,wt+Rt)-gn},layout:[{offset:Qt,stride:Ar}]}})(L,_,F,N,W)),me)for(let Ve=0;VeD(self)?self.worker&&self.worker.referrer:(window.location.protocol==="blob:"?window.parent:window).location.href,fe=function(L,_){if(/:\/\//.test(L.url)&&!/^https?:|^file:/.test(L.url)){let N=se(L.url);if(N)return N(L,_);if(D(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:L,targetMapId:ue},_)}if(!(/^file:/.test(F=L.url)||/^file:/.test(j())&&!/^\w+:/.test(F))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return(function(N,W){return i(this,void 0,void 0,(function*(){let J=new Request(N.url,{method:N.method||"GET",body:N.body,credentials:N.credentials,headers:N.headers,cache:N.cache,referrer:j(),signal:W.signal});N.type!=="json"||J.headers.has("Accept")||J.headers.set("Accept","application/json");let ee=yield fetch(J);if(!ee.ok){let Ve=yield ee.blob();throw new re(ee.status,ee.statusText,N.url,Ve)}let me;me=N.type==="arrayBuffer"||N.type==="image"?ee.arrayBuffer():N.type==="json"?ee.json():ee.text();let Ce=yield me;if(W.signal.aborted)throw X();return{data:Ce,cacheControl:ee.headers.get("Cache-Control"),expires:ee.headers.get("Expires")}}))})(L,_);if(D(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:L,mustQueue:!0,targetMapId:ue},_)}var F;return(function(N,W){return new Promise(((J,ee)=>{var me;let Ce=new XMLHttpRequest;Ce.open(N.method||"GET",N.url,!0),N.type!=="arrayBuffer"&&N.type!=="image"||(Ce.responseType="arraybuffer");for(let Ve in N.headers)Ce.setRequestHeader(Ve,N.headers[Ve]);N.type==="json"&&(Ce.responseType="text",!((me=N.headers)===null||me===void 0)&&me.Accept||Ce.setRequestHeader("Accept","application/json")),Ce.withCredentials=N.credentials==="include",Ce.onerror=()=>{ee(new Error(Ce.statusText))},Ce.onload=()=>{if(!W.signal.aborted)if((Ce.status>=200&&Ce.status<300||Ce.status===0)&&Ce.response!==null){let Ve=Ce.response;if(N.type==="json")try{Ve=JSON.parse(Ce.response)}catch(nt){return void ee(nt)}J({data:Ve,cacheControl:Ce.getResponseHeader("Cache-Control"),expires:Ce.getResponseHeader("Expires")})}else{let Ve=new Blob([Ce.response],{type:Ce.getResponseHeader("Content-Type")});ee(new re(Ce.status,Ce.statusText,N.url,Ve))}},W.signal.addEventListener("abort",(()=>{Ce.abort(),ee(X())})),Ce.send(N.body)}))})(L,_)};function ce(L){if(!L||L.indexOf("://")<=0||L.indexOf("data:image/")===0||L.indexOf("blob:")===0)return!0;let _=new URL(L),F=window.location;return _.protocol===F.protocol&&_.host===F.host}function oe(L,_,F){F[L]&&F[L].indexOf(_)!==-1||(F[L]=F[L]||[],F[L].push(_))}function we(L,_,F){if(F&&F[L]){let N=F[L].indexOf(_);N!==-1&&F[L].splice(N,1)}}class he{constructor(_,F={}){k(this,F),this.type=_}}class ye extends he{constructor(_,F={}){super("error",k({error:_},F))}}class Pe{on(_,F){return this._listeners=this._listeners||{},oe(_,F,this._listeners),this}off(_,F){return we(_,F,this._listeners),we(_,F,this._oneTimeListeners),this}once(_,F){return F?(this._oneTimeListeners=this._oneTimeListeners||{},oe(_,F,this._oneTimeListeners),this):new Promise((N=>this.once(_,N)))}fire(_,F){typeof _=="string"&&(_=new he(_,F||{}));let N=_.type;if(this.listens(N)){_.target=this;let W=this._listeners&&this._listeners[N]?this._listeners[N].slice():[];for(let me of W)me.call(this,_);let J=this._oneTimeListeners&&this._oneTimeListeners[N]?this._oneTimeListeners[N].slice():[];for(let me of J)we(N,me,this._oneTimeListeners),me.call(this,_);let ee=this._eventedParent;ee&&(k(_,typeof this._eventedParentData=="function"?this._eventedParentData():this._eventedParentData),ee.fire(_))}else _ instanceof ye&&console.error(_.error);return this}listens(_){return this._listeners&&this._listeners[_]&&this._listeners[_].length>0||this._oneTimeListeners&&this._oneTimeListeners[_]&&this._oneTimeListeners[_].length>0||this._eventedParent&&this._eventedParent.listens(_)}setEventedParent(_,F){return this._eventedParent=_,this._eventedParentData=F,this}}var le={$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 ze=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function Xe(L,_){let F={};for(let N in L)N!=="ref"&&(F[N]=L[N]);return ze.forEach((N=>{N in _&&(F[N]=_[N])})),F}function vt(L,_){if(Array.isArray(L)){if(!Array.isArray(_)||L.length!==_.length)return!1;for(let F=0;F`:L.itemType.kind==="value"?"array":`array<${_}>`}return L.kind}let Ae=[ft,He,Qe,We,pt,_r,kt,Te(qt),tr,lr,Ye];function Re(L,_){if(_.kind==="error")return null;if(L.kind==="array"){if(_.kind==="array"&&(_.N===0&&_.itemType.kind==="value"||!Re(L.itemType,_.itemType))&&(typeof L.N!="number"||L.N===_.N))return null}else{if(L.kind===_.kind)return null;if(L.kind==="value"){for(let F of Ae)if(!Re(F,_))return null}}return`Expected ${Fe(L)} but found ${Fe(_)} instead.`}function Ze(L,_){return _.some((F=>F.kind===L.kind))}function Ke(L,_){return _.some((F=>F==="null"?L===null:F==="array"?Array.isArray(L):F==="object"?L&&!Array.isArray(L)&&typeof L=="object":F===typeof L))}function _t(L,_){return L.kind==="array"&&_.kind==="array"?L.itemType.kind===_.itemType.kind&&typeof L.N=="number":L.kind===_.kind}let St=.96422,Vt=.82521,fr=4/29,$t=6/29,gr=3*$t*$t,Br=$t*$t*$t,Nr=Math.PI/180,Er=180/Math.PI;function zr(L){return(L%=360)<0&&(L+=360),L}function vn([L,_,F,N]){let W,J,ee=Xn((.2225045*(L=Nn(L))+.7168786*(_=Nn(_))+.0606169*(F=Nn(F)))/1);L===_&&_===F?W=J=ee:(W=Xn((.4360747*L+.3850649*_+.1430804*F)/St),J=Xn((.0139322*L+.0971045*_+.7141733*F)/Vt));let me=116*ee-16;return[me<0?0:me,500*(W-ee),200*(ee-J),N]}function Nn(L){return L<=.04045?L/12.92:Math.pow((L+.055)/1.055,2.4)}function Xn(L){return L>Br?Math.pow(L,1/3):L/gr+fr}function Kn([L,_,F,N]){let W=(L+16)/116,J=isNaN(_)?W:W+_/500,ee=isNaN(F)?W:W-F/200;return W=1*un(W),J=St*un(J),ee=Vt*un(ee),[Qn(3.1338561*J-1.6168667*W-.4906146*ee),Qn(-.9787684*J+1.9161415*W+.033454*ee),Qn(.0719453*J-.2289914*W+1.4052427*ee),N]}function Qn(L){return(L=L<=.00304?12.92*L:1.055*Math.pow(L,1/2.4)-.055)<0?0:L>1?1:L}function un(L){return L>$t?L*L*L:gr*(L-fr)}function aa(L){return parseInt(L.padEnd(2,L),16)/255}function da(L,_){return ua(_?L/100:L,0,1)}function ua(L,_,F){return Math.min(Math.max(_,L),F)}function qa(L){return!L.some(Number.isNaN)}let ii={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 pa{constructor(_,F,N,W=1,J=!0){this.r=_,this.g=F,this.b=N,this.a=W,J||(this.r*=W,this.g*=W,this.b*=W,W||this.overwriteGetter("rgb",[_,F,N,W]))}static parse(_){if(_ instanceof pa)return _;if(typeof _!="string")return;let F=(function(N){if((N=N.toLowerCase().trim())==="transparent")return[0,0,0,0];let W=ii[N];if(W){let[ee,me,Ce]=W;return[ee/255,me/255,Ce/255,1]}if(N.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(N)){let ee=N.length<6?1:2,me=1;return[aa(N.slice(me,me+=ee)),aa(N.slice(me,me+=ee)),aa(N.slice(me,me+=ee)),aa(N.slice(me,me+ee)||"ff")]}if(N.startsWith("rgb")){let ee=N.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(ee){let[me,Ce,Ve,nt,wt,Ct,Rt,jt,Qt,Ar,Pr,gn]=ee,Yr=[nt||" ",Rt||" ",Ar].join("");if(Yr===" "||Yr===" /"||Yr===",,"||Yr===",,,"){let ln=[Ve,Ct,Qt].join(""),Bn=ln==="%%%"?100:ln===""?255:0;if(Bn){let ga=[ua(+Ce/Bn,0,1),ua(+wt/Bn,0,1),ua(+jt/Bn,0,1),Pr?da(+Pr,gn):1];if(qa(ga))return ga}}return}}let J=N.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(J){let[ee,me,Ce,Ve,nt,wt,Ct,Rt,jt]=J,Qt=[Ce||" ",nt||" ",Ct].join("");if(Qt===" "||Qt===" /"||Qt===",,"||Qt===",,,"){let Ar=[+me,ua(+Ve,0,100),ua(+wt,0,100),Rt?da(+Rt,jt):1];if(qa(Ar))return(function([Pr,gn,Yr,ln]){function Bn(ga){let Za=(ga+Pr/30)%12,Ii=gn*Math.min(Yr,1-Yr);return Yr-Ii*Math.max(-1,Math.min(Za-3,9-Za,1))}return Pr=zr(Pr),gn/=100,Yr/=100,[Bn(0),Bn(8),Bn(4),ln]})(Ar)}}})(_);return F?new pa(...F,!1):void 0}get rgb(){let{r:_,g:F,b:N,a:W}=this,J=W||1/0;return this.overwriteGetter("rgb",[_/J,F/J,N/J,W])}get hcl(){return this.overwriteGetter("hcl",(function(_){let[F,N,W,J]=vn(_),ee=Math.sqrt(N*N+W*W);return[Math.round(1e4*ee)?zr(Math.atan2(W,N)*Er):NaN,ee,F,J]})(this.rgb))}get lab(){return this.overwriteGetter("lab",vn(this.rgb))}overwriteGetter(_,F){return Object.defineProperty(this,_,{value:F}),F}toString(){let[_,F,N,W]=this.rgb;return`rgba(${[_,F,N].map((J=>Math.round(255*J))).join(",")},${W})`}}pa.black=new pa(0,0,0,1),pa.white=new pa(1,1,1,1),pa.transparent=new pa(0,0,0,0),pa.red=new pa(1,0,0,1);class no{constructor(_,F,N){this.sensitivity=_?F?"variant":"case":F?"accent":"base",this.locale=N,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(_,F){return this.collator.compare(_,F)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Gi{constructor(_,F,N,W,J){this.text=_,this.image=F,this.scale=N,this.fontStack=W,this.textColor=J}}class Ti{constructor(_){this.sections=_}static fromString(_){return new Ti([new Gi(_,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some((_=>_.text.length!==0||_.image&&_.image.name.length!==0))}static factory(_){return _ instanceof Ti?_:Ti.fromString(_)}toString(){return this.sections.length===0?"":this.sections.map((_=>_.text)).join("")}}class fi{constructor(_){this.values=_.slice()}static parse(_){if(_ instanceof fi)return _;if(typeof _=="number")return new fi([_,_,_,_]);if(Array.isArray(_)&&!(_.length<1||_.length>4)){for(let F of _)if(typeof F!="number")return;switch(_.length){case 1:_=[_[0],_[0],_[0],_[0]];break;case 2:_=[_[0],_[1],_[0],_[1]];break;case 3:_=[_[0],_[1],_[2],_[1]]}return new fi(_)}}toString(){return JSON.stringify(this.values)}}let _o=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);class Oi{constructor(_){this.values=_.slice()}static parse(_){if(_ instanceof Oi)return _;if(Array.isArray(_)&&!(_.length<1)&&_.length%2==0){for(let F=0;F<_.length;F+=2){let N=_[F],W=_[F+1];if(typeof N!="string"||!_o.has(N)||!Array.isArray(W)||W.length!==2||typeof W[0]!="number"||typeof W[1]!="number")return}return new Oi(_)}}toString(){return JSON.stringify(this.values)}}class ni{constructor(_){this.name=_.name,this.available=_.available}toString(){return this.name}static fromString(_){return _?new ni({name:_,available:!1}):null}}function ao(L,_,F,N){return typeof L=="number"&&L>=0&&L<=255&&typeof _=="number"&&_>=0&&_<=255&&typeof F=="number"&&F>=0&&F<=255?N===void 0||typeof N=="number"&&N>=0&&N<=1?null:`Invalid rgba value [${[L,_,F,N].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof N=="number"?[L,_,F,N]:[L,_,F]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Hi(L){if(L===null||typeof L=="string"||typeof L=="boolean"||typeof L=="number"||L instanceof pa||L instanceof no||L instanceof Ti||L instanceof fi||L instanceof Oi||L instanceof ni)return!0;if(Array.isArray(L)){for(let _ of L)if(!Hi(_))return!1;return!0}if(typeof L=="object"){for(let _ in L)if(!Hi(L[_]))return!1;return!0}return!1}function to(L){if(L===null)return ft;if(typeof L=="string")return Qe;if(typeof L=="boolean")return We;if(typeof L=="number")return He;if(L instanceof pa)return pt;if(L instanceof no)return Wt;if(L instanceof Ti)return _r;if(L instanceof fi)return tr;if(L instanceof Oi)return Ye;if(L instanceof ni)return lr;if(Array.isArray(L)){let _=L.length,F;for(let N of L){let W=to(N);if(F){if(F===W)continue;F=qt;break}F=W}return Te(F||qt,_)}return kt}function Xo(L){let _=typeof L;return L===null?"":_==="string"||_==="number"||_==="boolean"?String(L):L instanceof pa||L instanceof Ti||L instanceof fi||L instanceof Oi||L instanceof ni?L.toString():JSON.stringify(L)}class Zo{constructor(_,F){this.type=_,this.value=F}static parse(_,F){if(_.length!==2)return F.error(`'literal' expression requires exactly one argument, but found ${_.length-1} instead.`);if(!Hi(_[1]))return F.error("invalid value");let N=_[1],W=to(N),J=F.expectedType;return W.kind!=="array"||W.N!==0||!J||J.kind!=="array"||typeof J.N=="number"&&J.N!==0||(W=J),new Zo(W,N)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class Fi{constructor(_){this.name="ExpressionEvaluationError",this.message=_}toJSON(){return this.message}}let yo={string:Qe,number:He,boolean:We,object:kt};class oo{constructor(_,F){this.type=_,this.args=F}static parse(_,F){if(_.length<2)return F.error("Expected at least one argument.");let N,W=1,J=_[0];if(J==="array"){let me,Ce;if(_.length>2){let Ve=_[1];if(typeof Ve!="string"||!(Ve in yo)||Ve==="object")return F.error('The item type argument of "array" must be one of string, number, boolean',1);me=yo[Ve],W++}else me=qt;if(_.length>3){if(_[2]!==null&&(typeof _[2]!="number"||_[2]<0||_[2]!==Math.floor(_[2])))return F.error('The length argument to "array" must be a positive integer literal',2);Ce=_[2],W++}N=Te(me,Ce)}else{if(!yo[J])throw new Error(`Types doesn't contain name = ${J}`);N=yo[J]}let ee=[];for(;W<_.length;W++){let me=F.parse(_[W],W,qt);if(!me)return null;ee.push(me)}return new oo(N,ee)}evaluate(_){for(let F=0;F_.outputDefined()))}}let rl={"to-boolean":We,"to-color":pt,"to-number":He,"to-string":Qe};class Ni{constructor(_,F){this.type=_,this.args=F}static parse(_,F){if(_.length<2)return F.error("Expected at least one argument.");let N=_[0];if(!rl[N])throw new Error(`Can't parse ${N} as it is not part of the known types`);if((N==="to-boolean"||N==="to-string")&&_.length!==2)return F.error("Expected one argument.");let W=rl[N],J=[];for(let ee=1;ee<_.length;ee++){let me=F.parse(_[ee],ee,qt);if(!me)return null;J.push(me)}return new Ni(W,J)}evaluate(_){switch(this.type.kind){case"boolean":return!!this.args[0].evaluate(_);case"color":{let F,N;for(let W of this.args){if(F=W.evaluate(_),N=null,F instanceof pa)return F;if(typeof F=="string"){let J=_.parseColor(F);if(J)return J}else if(Array.isArray(F)&&(N=F.length<3||F.length>4?`Invalid rbga value ${JSON.stringify(F)}: expected an array containing either three or four numeric values.`:ao(F[0],F[1],F[2],F[3]),!N))return new pa(F[0]/255,F[1]/255,F[2]/255,F[3])}throw new Fi(N||`Could not parse color from value '${typeof F=="string"?F:JSON.stringify(F)}'`)}case"padding":{let F;for(let N of this.args){F=N.evaluate(_);let W=fi.parse(F);if(W)return W}throw new Fi(`Could not parse padding from value '${typeof F=="string"?F:JSON.stringify(F)}'`)}case"variableAnchorOffsetCollection":{let F;for(let N of this.args){F=N.evaluate(_);let W=Oi.parse(F);if(W)return W}throw new Fi(`Could not parse variableAnchorOffsetCollection from value '${typeof F=="string"?F:JSON.stringify(F)}'`)}case"number":{let F=null;for(let N of this.args){if(F=N.evaluate(_),F===null)return 0;let W=Number(F);if(!isNaN(W))return W}throw new Fi(`Could not convert ${JSON.stringify(F)} to number.`)}case"formatted":return Ti.fromString(Xo(this.args[0].evaluate(_)));case"resolvedImage":return ni.fromString(Xo(this.args[0].evaluate(_)));default:return Xo(this.args[0].evaluate(_))}}eachChild(_){this.args.forEach(_)}outputDefined(){return this.args.every((_=>_.outputDefined()))}}let Oa=["Unknown","Point","LineString","Polygon"];class xi{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"?Oa[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(_){let F=this._parseColorCache[_];return F||(F=this._parseColorCache[_]=pa.parse(_)),F}}class Pi{constructor(_,F,N=[],W,J=new tt,ee=[]){this.registry=_,this.path=N,this.key=N.map((me=>`[${me}]`)).join(""),this.scope=J,this.errors=ee,this.expectedType=W,this._isConstant=F}parse(_,F,N,W,J={}){return F?this.concat(F,N,W)._parse(_,J):this._parse(_,J)}_parse(_,F){function N(W,J,ee){return ee==="assert"?new oo(J,[W]):ee==="coerce"?new Ni(J,[W]):W}if(_!==null&&typeof _!="string"&&typeof _!="boolean"&&typeof _!="number"||(_=["literal",_]),Array.isArray(_)){if(_.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');let W=_[0];if(typeof W!="string")return this.error(`Expression name must be a string, but found ${typeof W} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;let J=this.registry[W];if(J){let ee=J.parse(_,this);if(!ee)return null;if(this.expectedType){let me=this.expectedType,Ce=ee.type;if(me.kind!=="string"&&me.kind!=="number"&&me.kind!=="boolean"&&me.kind!=="object"&&me.kind!=="array"||Ce.kind!=="value")if(me.kind!=="color"&&me.kind!=="formatted"&&me.kind!=="resolvedImage"||Ce.kind!=="value"&&Ce.kind!=="string")if(me.kind!=="padding"||Ce.kind!=="value"&&Ce.kind!=="number"&&Ce.kind!=="array")if(me.kind!=="variableAnchorOffsetCollection"||Ce.kind!=="value"&&Ce.kind!=="array"){if(this.checkSubtype(me,Ce))return null}else ee=N(ee,me,F.typeAnnotation||"coerce");else ee=N(ee,me,F.typeAnnotation||"coerce");else ee=N(ee,me,F.typeAnnotation||"coerce");else ee=N(ee,me,F.typeAnnotation||"assert")}if(!(ee instanceof Zo)&&ee.type.kind!=="resolvedImage"&&this._isConstant(ee)){let me=new xi;try{ee=new Zo(ee.type,ee.evaluate(me))}catch(Ce){return this.error(Ce.message),null}}return ee}return this.error(`Unknown expression "${W}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(_===void 0?"'undefined' value invalid. Use null instead.":typeof _=="object"?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof _} instead.`)}concat(_,F,N){let W=typeof _=="number"?this.path.concat(_):this.path,J=N?this.scope.concat(N):this.scope;return new Pi(this.registry,this._isConstant,W,F||null,J,this.errors)}error(_,...F){let N=`${this.key}${F.map((W=>`[${W}]`)).join("")}`;this.errors.push(new Ge(N,_))}checkSubtype(_,F){let N=Re(_,F);return N&&this.error(N),N}}class ia{constructor(_,F){this.type=F.type,this.bindings=[].concat(_),this.result=F}evaluate(_){return this.result.evaluate(_)}eachChild(_){for(let F of this.bindings)_(F[1]);_(this.result)}static parse(_,F){if(_.length<4)return F.error(`Expected at least 3 arguments, but found ${_.length-1} instead.`);let N=[];for(let J=1;J<_.length-1;J+=2){let ee=_[J];if(typeof ee!="string")return F.error(`Expected string, but found ${typeof ee} instead.`,J);if(/[^a-zA-Z0-9_]/.test(ee))return F.error("Variable names must contain only alphanumeric characters or '_'.",J);let me=F.parse(_[J+1],J+1);if(!me)return null;N.push([ee,me])}let W=F.parse(_[_.length-1],_.length-1,F.expectedType,N);return W?new ia(N,W):null}outputDefined(){return this.result.outputDefined()}}class rt{constructor(_,F){this.type=F.type,this.name=_,this.boundExpression=F}static parse(_,F){if(_.length!==2||typeof _[1]!="string")return F.error("'var' expression requires exactly one string literal argument.");let N=_[1];return F.scope.has(N)?new rt(N,F.scope.get(N)):F.error(`Unknown variable "${N}". Make sure "${N}" has been bound in an enclosing "let" expression before using it.`,1)}evaluate(_){return this.boundExpression.evaluate(_)}eachChild(){}outputDefined(){return!1}}class Xt{constructor(_,F,N){this.type=_,this.index=F,this.input=N}static parse(_,F){if(_.length!==3)return F.error(`Expected 2 arguments, but found ${_.length-1} instead.`);let N=F.parse(_[1],1,He),W=F.parse(_[2],2,Te(F.expectedType||qt));return N&&W?new Xt(W.type.itemType,N,W):null}evaluate(_){let F=this.index.evaluate(_),N=this.input.evaluate(_);if(F<0)throw new Fi(`Array index out of bounds: ${F} < 0.`);if(F>=N.length)throw new Fi(`Array index out of bounds: ${F} > ${N.length-1}.`);if(F!==Math.floor(F))throw new Fi(`Array index must be an integer, but found ${F} instead.`);return N[F]}eachChild(_){_(this.index),_(this.input)}outputDefined(){return!1}}class xr{constructor(_,F){this.type=We,this.needle=_,this.haystack=F}static parse(_,F){if(_.length!==3)return F.error(`Expected 2 arguments, but found ${_.length-1} instead.`);let N=F.parse(_[1],1,qt),W=F.parse(_[2],2,qt);return N&&W?Ze(N.type,[We,Qe,He,ft,qt])?new xr(N,W):F.error(`Expected first argument to be of type boolean, string, number or null, but found ${Fe(N.type)} instead`):null}evaluate(_){let F=this.needle.evaluate(_),N=this.haystack.evaluate(_);if(!N)return!1;if(!Ke(F,["boolean","string","number","null"]))throw new Fi(`Expected first argument to be of type boolean, string, number or null, but found ${Fe(to(F))} instead.`);if(!Ke(N,["string","array"]))throw new Fi(`Expected second argument to be of type array or string, but found ${Fe(to(N))} instead.`);return N.indexOf(F)>=0}eachChild(_){_(this.needle),_(this.haystack)}outputDefined(){return!0}}class Fr{constructor(_,F,N){this.type=He,this.needle=_,this.haystack=F,this.fromIndex=N}static parse(_,F){if(_.length<=2||_.length>=5)return F.error(`Expected 3 or 4 arguments, but found ${_.length-1} instead.`);let N=F.parse(_[1],1,qt),W=F.parse(_[2],2,qt);if(!N||!W)return null;if(!Ze(N.type,[We,Qe,He,ft,qt]))return F.error(`Expected first argument to be of type boolean, string, number or null, but found ${Fe(N.type)} instead`);if(_.length===4){let J=F.parse(_[3],3,He);return J?new Fr(N,W,J):null}return new Fr(N,W)}evaluate(_){let F=this.needle.evaluate(_),N=this.haystack.evaluate(_);if(!Ke(F,["boolean","string","number","null"]))throw new Fi(`Expected first argument to be of type boolean, string, number or null, but found ${Fe(to(F))} instead.`);let W;if(this.fromIndex&&(W=this.fromIndex.evaluate(_)),Ke(N,["string"])){let J=N.indexOf(F,W);return J===-1?-1:[...N.slice(0,J)].length}if(Ke(N,["array"]))return N.indexOf(F,W);throw new Fi(`Expected second argument to be of type array or string, but found ${Fe(to(N))} instead.`)}eachChild(_){_(this.needle),_(this.haystack),this.fromIndex&&_(this.fromIndex)}outputDefined(){return!1}}class xn{constructor(_,F,N,W,J,ee){this.inputType=_,this.type=F,this.input=N,this.cases=W,this.outputs=J,this.otherwise=ee}static parse(_,F){if(_.length<5)return F.error(`Expected at least 4 arguments, but found only ${_.length-1}.`);if(_.length%2!=1)return F.error("Expected an even number of arguments.");let N,W;F.expectedType&&F.expectedType.kind!=="value"&&(W=F.expectedType);let J={},ee=[];for(let Ve=2;Ve<_.length-1;Ve+=2){let nt=_[Ve],wt=_[Ve+1];Array.isArray(nt)||(nt=[nt]);let Ct=F.concat(Ve);if(nt.length===0)return Ct.error("Expected at least one branch label.");for(let jt of nt){if(typeof jt!="number"&&typeof jt!="string")return Ct.error("Branch labels must be numbers or strings.");if(typeof jt=="number"&&Math.abs(jt)>Number.MAX_SAFE_INTEGER)return Ct.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof jt=="number"&&Math.floor(jt)!==jt)return Ct.error("Numeric branch labels must be integer values.");if(N){if(Ct.checkSubtype(N,to(jt)))return null}else N=to(jt);if(J[String(jt)]!==void 0)return Ct.error("Branch labels must be unique.");J[String(jt)]=ee.length}let Rt=F.parse(wt,Ve,W);if(!Rt)return null;W=W||Rt.type,ee.push(Rt)}let me=F.parse(_[1],1,qt);if(!me)return null;let Ce=F.parse(_[_.length-1],_.length-1,W);return Ce?me.type.kind!=="value"&&F.concat(1).checkSubtype(N,me.type)?null:new xn(N,W,me,J,ee,Ce):null}evaluate(_){let F=this.input.evaluate(_);return(to(F)===this.inputType&&this.outputs[this.cases[F]]||this.otherwise).evaluate(_)}eachChild(_){_(this.input),this.outputs.forEach(_),_(this.otherwise)}outputDefined(){return this.outputs.every((_=>_.outputDefined()))&&this.otherwise.outputDefined()}}class Mn{constructor(_,F,N){this.type=_,this.branches=F,this.otherwise=N}static parse(_,F){if(_.length<4)return F.error(`Expected at least 3 arguments, but found only ${_.length-1}.`);if(_.length%2!=0)return F.error("Expected an odd number of arguments.");let N;F.expectedType&&F.expectedType.kind!=="value"&&(N=F.expectedType);let W=[];for(let ee=1;ee<_.length-1;ee+=2){let me=F.parse(_[ee],ee,We);if(!me)return null;let Ce=F.parse(_[ee+1],ee+1,N);if(!Ce)return null;W.push([me,Ce]),N=N||Ce.type}let J=F.parse(_[_.length-1],_.length-1,N);if(!J)return null;if(!N)throw new Error("Can't infer output type");return new Mn(N,W,J)}evaluate(_){for(let[F,N]of this.branches)if(F.evaluate(_))return N.evaluate(_);return this.otherwise.evaluate(_)}eachChild(_){for(let[F,N]of this.branches)_(F),_(N);_(this.otherwise)}outputDefined(){return this.branches.every((([_,F])=>F.outputDefined()))&&this.otherwise.outputDefined()}}class Rn{constructor(_,F,N,W){this.type=_,this.input=F,this.beginIndex=N,this.endIndex=W}static parse(_,F){if(_.length<=2||_.length>=5)return F.error(`Expected 3 or 4 arguments, but found ${_.length-1} instead.`);let N=F.parse(_[1],1,qt),W=F.parse(_[2],2,He);if(!N||!W)return null;if(!Ze(N.type,[Te(qt),Qe,qt]))return F.error(`Expected first argument to be of type array or string, but found ${Fe(N.type)} instead`);if(_.length===4){let J=F.parse(_[3],3,He);return J?new Rn(N.type,N,W,J):null}return new Rn(N.type,N,W)}evaluate(_){let F=this.input.evaluate(_),N=this.beginIndex.evaluate(_),W;if(this.endIndex&&(W=this.endIndex.evaluate(_)),Ke(F,["string"]))return[...F].slice(N,W).join("");if(Ke(F,["array"]))return F.slice(N,W);throw new Fi(`Expected first argument to be of type array or string, but found ${Fe(to(F))} instead.`)}eachChild(_){_(this.input),_(this.beginIndex),this.endIndex&&_(this.endIndex)}outputDefined(){return!1}}function on(L,_){let F=L.length-1,N,W,J=0,ee=F,me=0;for(;J<=ee;)if(me=Math.floor((J+ee)/2),N=L[me],W=L[me+1],N<=_){if(me===F||__))throw new Fi("Input is not a number.");ee=me-1}return 0}class En{constructor(_,F,N){this.type=_,this.input=F,this.labels=[],this.outputs=[];for(let[W,J]of N)this.labels.push(W),this.outputs.push(J)}static parse(_,F){if(_.length-1<4)return F.error(`Expected at least 4 arguments, but found only ${_.length-1}.`);if((_.length-1)%2!=0)return F.error("Expected an even number of arguments.");let N=F.parse(_[1],1,He);if(!N)return null;let W=[],J=null;F.expectedType&&F.expectedType.kind!=="value"&&(J=F.expectedType);for(let ee=1;ee<_.length;ee+=2){let me=ee===1?-1/0:_[ee],Ce=_[ee+1],Ve=ee,nt=ee+1;if(typeof me!="number")return F.error('Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.',Ve);if(W.length&&W[W.length-1][0]>=me)return F.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',Ve);let wt=F.parse(Ce,nt,J);if(!wt)return null;J=J||wt.type,W.push([me,wt])}return new En(J,N,W)}evaluate(_){let F=this.labels,N=this.outputs;if(F.length===1)return N[0].evaluate(_);let W=this.input.evaluate(_);if(W<=F[0])return N[0].evaluate(_);let J=F.length;return W>=F[J-1]?N[J-1].evaluate(_):N[on(F,W)].evaluate(_)}eachChild(_){_(this.input);for(let F of this.outputs)_(F)}outputDefined(){return this.outputs.every((_=>_.outputDefined()))}}function Aa(L){return L&&L.__esModule&&Object.prototype.hasOwnProperty.call(L,"default")?L.default:L}var ba=Ia;function Ia(L,_,F,N){this.cx=3*L,this.bx=3*(F-L)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*_,this.by=3*(N-_)-this.cy,this.ay=1-this.cy-this.by,this.p1x=L,this.p1y=_,this.p2x=F,this.p2y=N}Ia.prototype={sampleCurveX:function(L){return((this.ax*L+this.bx)*L+this.cx)*L},sampleCurveY:function(L){return((this.ay*L+this.by)*L+this.cy)*L},sampleCurveDerivativeX:function(L){return(3*this.ax*L+2*this.bx)*L+this.cx},solveCurveX:function(L,_){if(_===void 0&&(_=1e-6),L<0)return 0;if(L>1)return 1;for(var F=L,N=0;N<8;N++){var W=this.sampleCurveX(F)-L;if(Math.abs(W)<_)return F;var J=this.sampleCurveDerivativeX(F);if(Math.abs(J)<1e-6)break;F-=W/J}var ee=0,me=1;for(F=L,N=0;N<20&&(W=this.sampleCurveX(F),!(Math.abs(W-L)<_));N++)L>W?ee=F:me=F,F=.5*(me-ee)+ee;return F},solve:function(L,_){return this.sampleCurveY(this.solveCurveX(L,_))}};var hi=Aa(ba);function ki(L,_,F){return L+F*(_-L)}function ui(L,_,F){return L.map(((N,W)=>ki(N,_[W],F)))}let Mi={number:ki,color:function(L,_,F,N="rgb"){switch(N){case"rgb":{let[W,J,ee,me]=ui(L.rgb,_.rgb,F);return new pa(W,J,ee,me,!1)}case"hcl":{let[W,J,ee,me]=L.hcl,[Ce,Ve,nt,wt]=_.hcl,Ct,Rt;if(isNaN(W)||isNaN(Ce))isNaN(W)?isNaN(Ce)?Ct=NaN:(Ct=Ce,ee!==1&&ee!==0||(Rt=Ve)):(Ct=W,nt!==1&&nt!==0||(Rt=J));else{let gn=Ce-W;Ce>W&&gn>180?gn-=360:Ce180&&(gn+=360),Ct=W+F*gn}let[jt,Qt,Ar,Pr]=(function([gn,Yr,ln,Bn]){return gn=isNaN(gn)?0:gn*Nr,Kn([ln,Math.cos(gn)*Yr,Math.sin(gn)*Yr,Bn])})([Ct,Rt!=null?Rt:ki(J,Ve,F),ki(ee,nt,F),ki(me,wt,F)]);return new pa(jt,Qt,Ar,Pr,!1)}case"lab":{let[W,J,ee,me]=Kn(ui(L.lab,_.lab,F));return new pa(W,J,ee,me,!1)}}},array:ui,padding:function(L,_,F){return new fi(ui(L.values,_.values,F))},variableAnchorOffsetCollection:function(L,_,F){let N=L.values,W=_.values;if(N.length!==W.length)throw new Fi(`Cannot interpolate values of different length. from: ${L.toString()}, to: ${_.toString()}`);let J=[];for(let ee=0;eetypeof nt!="number"||nt<0||nt>1)))return F.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);W={name:"cubic-bezier",controlPoints:Ve}}}if(_.length-1<4)return F.error(`Expected at least 4 arguments, but found only ${_.length-1}.`);if((_.length-1)%2!=0)return F.error("Expected an even number of arguments.");if(J=F.parse(J,2,He),!J)return null;let me=[],Ce=null;N==="interpolate-hcl"||N==="interpolate-lab"?Ce=pt:F.expectedType&&F.expectedType.kind!=="value"&&(Ce=F.expectedType);for(let Ve=0;Ve=nt)return F.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',Ct);let jt=F.parse(wt,Rt,Ce);if(!jt)return null;Ce=Ce||jt.type,me.push([nt,jt])}return _t(Ce,He)||_t(Ce,pt)||_t(Ce,tr)||_t(Ce,Ye)||_t(Ce,Te(He))?new _i(Ce,N,W,J,me):F.error(`Type ${Fe(Ce)} is not interpolatable.`)}evaluate(_){let F=this.labels,N=this.outputs;if(F.length===1)return N[0].evaluate(_);let W=this.input.evaluate(_);if(W<=F[0])return N[0].evaluate(_);let J=F.length;if(W>=F[J-1])return N[J-1].evaluate(_);let ee=on(F,W),me=_i.interpolationFactor(this.interpolation,W,F[ee],F[ee+1]),Ce=N[ee].evaluate(_),Ve=N[ee+1].evaluate(_);switch(this.operator){case"interpolate":return Mi[this.type.kind](Ce,Ve,me);case"interpolate-hcl":return Mi.color(Ce,Ve,me,"hcl");case"interpolate-lab":return Mi.color(Ce,Ve,me,"lab")}}eachChild(_){_(this.input);for(let F of this.outputs)_(F)}outputDefined(){return this.outputs.every((_=>_.outputDefined()))}}function ko(L,_,F,N){let W=N-F,J=L-F;return W===0?0:_===1?J/W:(Math.pow(_,J)-1)/(Math.pow(_,W)-1)}class Io{constructor(_,F){this.type=_,this.args=F}static parse(_,F){if(_.length<2)return F.error("Expectected at least one argument.");let N=null,W=F.expectedType;W&&W.kind!=="value"&&(N=W);let J=[];for(let me of _.slice(1)){let Ce=F.parse(me,1+J.length,N,void 0,{typeAnnotation:"omit"});if(!Ce)return null;N=N||Ce.type,J.push(Ce)}if(!N)throw new Error("No output type");let ee=W&&J.some((me=>Re(W,me.type)));return new Io(ee?qt:N,J)}evaluate(_){let F,N=null,W=0;for(let J of this.args)if(W++,N=J.evaluate(_),N&&N instanceof ni&&!N.available&&(F||(F=N.name),N=null,W===this.args.length&&(N=F)),N!==null)break;return N}eachChild(_){this.args.forEach(_)}outputDefined(){return this.args.every((_=>_.outputDefined()))}}function $o(L,_){return L==="=="||L==="!="?_.kind==="boolean"||_.kind==="string"||_.kind==="number"||_.kind==="null"||_.kind==="value":_.kind==="string"||_.kind==="number"||_.kind==="value"}function Is(L,_,F,N){return N.compare(_,F)===0}function Es(L,_,F){let N=L!=="=="&&L!=="!=";return class ZOe{constructor(J,ee,me){this.type=We,this.lhs=J,this.rhs=ee,this.collator=me,this.hasUntypedArgument=J.type.kind==="value"||ee.type.kind==="value"}static parse(J,ee){if(J.length!==3&&J.length!==4)return ee.error("Expected two or three arguments.");let me=J[0],Ce=ee.parse(J[1],1,qt);if(!Ce)return null;if(!$o(me,Ce.type))return ee.concat(1).error(`"${me}" comparisons are not supported for type '${Fe(Ce.type)}'.`);let Ve=ee.parse(J[2],2,qt);if(!Ve)return null;if(!$o(me,Ve.type))return ee.concat(2).error(`"${me}" comparisons are not supported for type '${Fe(Ve.type)}'.`);if(Ce.type.kind!==Ve.type.kind&&Ce.type.kind!=="value"&&Ve.type.kind!=="value")return ee.error(`Cannot compare types '${Fe(Ce.type)}' and '${Fe(Ve.type)}'.`);N&&(Ce.type.kind==="value"&&Ve.type.kind!=="value"?Ce=new oo(Ve.type,[Ce]):Ce.type.kind!=="value"&&Ve.type.kind==="value"&&(Ve=new oo(Ce.type,[Ve])));let nt=null;if(J.length===4){if(Ce.type.kind!=="string"&&Ve.type.kind!=="string"&&Ce.type.kind!=="value"&&Ve.type.kind!=="value")return ee.error("Cannot use collator to compare non-string types.");if(nt=ee.parse(J[3],3,Wt),!nt)return null}return new ZOe(Ce,Ve,nt)}evaluate(J){let ee=this.lhs.evaluate(J),me=this.rhs.evaluate(J);if(N&&this.hasUntypedArgument){let Ce=to(ee),Ve=to(me);if(Ce.kind!==Ve.kind||Ce.kind!=="string"&&Ce.kind!=="number")throw new Fi(`Expected arguments for "${L}" to be (string, string) or (number, number), but found (${Ce.kind}, ${Ve.kind}) instead.`)}if(this.collator&&!N&&this.hasUntypedArgument){let Ce=to(ee),Ve=to(me);if(Ce.kind!=="string"||Ve.kind!=="string")return _(J,ee,me)}return this.collator?F(J,ee,me,this.collator.evaluate(J)):_(J,ee,me)}eachChild(J){J(this.lhs),J(this.rhs),this.collator&&J(this.collator)}outputDefined(){return!0}}}let Ks=Es("==",(function(L,_,F){return _===F}),Is),nl=Es("!=",(function(L,_,F){return _!==F}),(function(L,_,F,N){return!Is(0,_,F,N)})),ks=Es("<",(function(L,_,F){return _",(function(L,_,F){return _>F}),(function(L,_,F,N){return N.compare(_,F)>0})),xs=Es("<=",(function(L,_,F){return _<=F}),(function(L,_,F,N){return N.compare(_,F)<=0})),Co=Es(">=",(function(L,_,F){return _>=F}),(function(L,_,F,N){return N.compare(_,F)>=0}));class Si{constructor(_,F,N){this.type=Wt,this.locale=N,this.caseSensitive=_,this.diacriticSensitive=F}static parse(_,F){if(_.length!==2)return F.error("Expected one argument.");let N=_[1];if(typeof N!="object"||Array.isArray(N))return F.error("Collator options argument must be an object.");let W=F.parse(N["case-sensitive"]!==void 0&&N["case-sensitive"],1,We);if(!W)return null;let J=F.parse(N["diacritic-sensitive"]!==void 0&&N["diacritic-sensitive"],1,We);if(!J)return null;let ee=null;return N.locale&&(ee=F.parse(N.locale,1,Qe),!ee)?null:new Si(W,J,ee)}evaluate(_){return new no(this.caseSensitive.evaluate(_),this.diacriticSensitive.evaluate(_),this.locale?this.locale.evaluate(_):null)}eachChild(_){_(this.caseSensitive),_(this.diacriticSensitive),this.locale&&_(this.locale)}outputDefined(){return!1}}class io{constructor(_,F,N,W,J){this.type=Qe,this.number=_,this.locale=F,this.currency=N,this.minFractionDigits=W,this.maxFractionDigits=J}static parse(_,F){if(_.length!==3)return F.error("Expected two arguments.");let N=F.parse(_[1],1,He);if(!N)return null;let W=_[2];if(typeof W!="object"||Array.isArray(W))return F.error("NumberFormat options argument must be an object.");let J=null;if(W.locale&&(J=F.parse(W.locale,1,Qe),!J))return null;let ee=null;if(W.currency&&(ee=F.parse(W.currency,1,Qe),!ee))return null;let me=null;if(W["min-fraction-digits"]&&(me=F.parse(W["min-fraction-digits"],1,He),!me))return null;let Ce=null;return W["max-fraction-digits"]&&(Ce=F.parse(W["max-fraction-digits"],1,He),!Ce)?null:new io(N,J,ee,me,Ce)}evaluate(_){return new Intl.NumberFormat(this.locale?this.locale.evaluate(_):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(_):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(_):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(_):void 0}).format(this.number.evaluate(_))}eachChild(_){_(this.number),this.locale&&_(this.locale),this.currency&&_(this.currency),this.minFractionDigits&&_(this.minFractionDigits),this.maxFractionDigits&&_(this.maxFractionDigits)}outputDefined(){return!1}}class Bs{constructor(_){this.type=_r,this.sections=_}static parse(_,F){if(_.length<2)return F.error("Expected at least one argument.");let N=_[1];if(!Array.isArray(N)&&typeof N=="object")return F.error("First argument must be an image or text section.");let W=[],J=!1;for(let ee=1;ee<=_.length-1;++ee){let me=_[ee];if(J&&typeof me=="object"&&!Array.isArray(me)){J=!1;let Ce=null;if(me["font-scale"]&&(Ce=F.parse(me["font-scale"],1,He),!Ce))return null;let Ve=null;if(me["text-font"]&&(Ve=F.parse(me["text-font"],1,Te(Qe)),!Ve))return null;let nt=null;if(me["text-color"]&&(nt=F.parse(me["text-color"],1,pt),!nt))return null;let wt=W[W.length-1];wt.scale=Ce,wt.font=Ve,wt.textColor=nt}else{let Ce=F.parse(_[ee],1,qt);if(!Ce)return null;let Ve=Ce.type.kind;if(Ve!=="string"&&Ve!=="value"&&Ve!=="null"&&Ve!=="resolvedImage")return F.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");J=!0,W.push({content:Ce,scale:null,font:null,textColor:null})}}return new Bs(W)}evaluate(_){return new Ti(this.sections.map((F=>{let N=F.content.evaluate(_);return to(N)===lr?new Gi("",N,null,null,null):new Gi(Xo(N),null,F.scale?F.scale.evaluate(_):null,F.font?F.font.evaluate(_).join(","):null,F.textColor?F.textColor.evaluate(_):null)})))}eachChild(_){for(let F of this.sections)_(F.content),F.scale&&_(F.scale),F.font&&_(F.font),F.textColor&&_(F.textColor)}outputDefined(){return!1}}class Fl{constructor(_){this.type=lr,this.input=_}static parse(_,F){if(_.length!==2)return F.error("Expected two arguments.");let N=F.parse(_[1],1,Qe);return N?new Fl(N):F.error("No image name provided.")}evaluate(_){let F=this.input.evaluate(_),N=ni.fromString(F);return N&&_.availableImages&&(N.available=_.availableImages.indexOf(F)>-1),N}eachChild(_){_(this.input)}outputDefined(){return!1}}class Eu{constructor(_){this.type=He,this.input=_}static parse(_,F){if(_.length!==2)return F.error(`Expected 1 argument, but found ${_.length-1} instead.`);let N=F.parse(_[1],1);return N?N.type.kind!=="array"&&N.type.kind!=="string"&&N.type.kind!=="value"?F.error(`Expected argument of type string or array, but found ${Fe(N.type)} instead.`):new Eu(N):null}evaluate(_){let F=this.input.evaluate(_);if(typeof F=="string")return[...F].length;if(Array.isArray(F))return F.length;throw new Fi(`Expected value to be of type string or array, but found ${Fe(to(F))} instead.`)}eachChild(_){_(this.input)}outputDefined(){return!1}}let Cs=8192;function Nl(L,_){let F=(180+L[0])/360,N=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+L[1]*Math.PI/360)))/360,W=Math.pow(2,_.z);return[Math.round(F*W*Cs),Math.round(N*W*Cs)]}function du(L,_){let F=Math.pow(2,_.z);return[(W=(L[0]/Cs+_.x)/F,360*W-180),(N=(L[1]/Cs+_.y)/F,360/Math.PI*Math.atan(Math.exp((180-360*N)*Math.PI/180))-90)];var N,W}function Kl(L,_){L[0]=Math.min(L[0],_[0]),L[1]=Math.min(L[1],_[1]),L[2]=Math.max(L[2],_[0]),L[3]=Math.max(L[3],_[1])}function al(L,_){return!(L[0]<=_[0]||L[2]>=_[2]||L[1]<=_[1]||L[3]>=_[3])}function co(L,_,F){let N=L[0]-_[0],W=L[1]-_[1],J=L[0]-F[0],ee=L[1]-F[1];return N*ee-J*W==0&&N*J<=0&&W*ee<=0}function Ul(L,_,F,N){return(W=[N[0]-F[0],N[1]-F[1]])[0]*(J=[_[0]-L[0],_[1]-L[1]])[1]-W[1]*J[0]!=0&&!(!kf(L,_,F,N)||!kf(F,N,L,_));var W,J}function Ls(L,_,F){for(let N of F)for(let W=0;W(W=L)[1]!=(ee=me[Ce+1])[1]>W[1]&&W[0]<(ee[0]-J[0])*(W[1]-J[1])/(ee[1]-J[1])+J[0]&&(N=!N)}var W,J,ee;return N}function _c(L,_){for(let F of _)if(il(L,F))return!0;return!1}function Os(L,_){for(let F of L)if(!il(F,_))return!1;for(let F=0;F0&&me<0||ee<0&&me>0}function Jl(L,_,F){let N=[];for(let W=0;WF[2]){let W=.5*N,J=L[0]-F[0]>W?-N:F[0]-L[0]>W?N:0;J===0&&(J=L[0]-F[2]>W?-N:F[2]-L[0]>W?N:0),L[0]+=J}Kl(_,L)}function Cf(L,_,F,N){let W=Math.pow(2,N.z)*Cs,J=[N.x*Cs,N.y*Cs],ee=[];for(let me of L)for(let Ce of me){let Ve=[Ce.x+J[0],Ce.y+J[1]];wc(Ve,_,F,W),ee.push(Ve)}return ee}function Rd(L,_,F,N){let W=Math.pow(2,N.z)*Cs,J=[N.x*Cs,N.y*Cs],ee=[];for(let Ce of L){let Ve=[];for(let nt of Ce){let wt=[nt.x+J[0],nt.y+J[1]];Kl(_,wt),Ve.push(wt)}ee.push(Ve)}if(_[2]-_[0]<=W/2){(me=_)[0]=me[1]=1/0,me[2]=me[3]=-1/0;for(let Ce of ee)for(let Ve of Ce)wc(Ve,_,F,W)}var me;return ee}class ol{constructor(_,F){this.type=We,this.geojson=_,this.geometries=F}static parse(_,F){if(_.length!==2)return F.error(`'within' expression requires exactly one argument, but found ${_.length-1} instead.`);if(Hi(_[1])){let N=_[1];if(N.type==="FeatureCollection"){let W=[];for(let J of N.features){let{type:ee,coordinates:me}=J.geometry;ee==="Polygon"&&W.push(me),ee==="MultiPolygon"&&W.push(...me)}if(W.length)return new ol(N,{type:"MultiPolygon",coordinates:W})}else if(N.type==="Feature"){let W=N.geometry.type;if(W==="Polygon"||W==="MultiPolygon")return new ol(N,N.geometry)}else if(N.type==="Polygon"||N.type==="MultiPolygon")return new ol(N,N)}return F.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(_){if(_.geometry()!=null&&_.canonicalID()!=null){if(_.geometryType()==="Point")return(function(F,N){let W=[1/0,1/0,-1/0,-1/0],J=[1/0,1/0,-1/0,-1/0],ee=F.canonicalID();if(N.type==="Polygon"){let me=Jl(N.coordinates,J,ee),Ce=Cf(F.geometry(),W,J,ee);if(!al(W,J))return!1;for(let Ve of Ce)if(!il(Ve,me))return!1}if(N.type==="MultiPolygon"){let me=th(N.coordinates,J,ee),Ce=Cf(F.geometry(),W,J,ee);if(!al(W,J))return!1;for(let Ve of Ce)if(!_c(Ve,me))return!1}return!0})(_,this.geometries);if(_.geometryType()==="LineString")return(function(F,N){let W=[1/0,1/0,-1/0,-1/0],J=[1/0,1/0,-1/0,-1/0],ee=F.canonicalID();if(N.type==="Polygon"){let me=Jl(N.coordinates,J,ee),Ce=Rd(F.geometry(),W,J,ee);if(!al(W,J))return!1;for(let Ve of Ce)if(!Os(Ve,me))return!1}if(N.type==="MultiPolygon"){let me=th(N.coordinates,J,ee),Ce=Rd(F.geometry(),W,J,ee);if(!al(W,J))return!1;for(let Ve of Ce)if(!Vu(Ve,me))return!1}return!0})(_,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let af=class{constructor(L=[],_=((F,N)=>FN?1:0)){if(this.data=L,this.length=this.data.length,this.compare=_,this.length>0)for(let F=(this.length>>1)-1;F>=0;F--)this._down(F)}push(L){this.data.push(L),this._up(this.length++)}pop(){if(this.length===0)return;let L=this.data[0],_=this.data.pop();return--this.length>0&&(this.data[0]=_,this._down(0)),L}peek(){return this.data[0]}_up(L){let{data:_,compare:F}=this,N=_[L];for(;L>0;){let W=L-1>>1,J=_[W];if(F(N,J)>=0)break;_[L]=J,L=W}_[L]=N}_down(L){let{data:_,compare:F}=this,N=this.length>>1,W=_[L];for(;L=0)break;_[L]=_[J],L=J}_[L]=W}};function ec(L,_,F,N,W){Tc(L,_,F,N||L.length-1,W||jc)}function Tc(L,_,F,N,W){for(;N>F;){if(N-F>600){var J=N-F+1,ee=_-F+1,me=Math.log(J),Ce=.5*Math.exp(2*me/3),Ve=.5*Math.sqrt(me*Ce*(J-Ce)/J)*(ee-J/2<0?-1:1);Tc(L,_,Math.max(F,Math.floor(_-ee*Ce/J+Ve)),Math.min(N,Math.floor(_+(J-ee)*Ce/J+Ve)),W)}var nt=L[_],wt=F,Ct=N;for(vu(L,F,_),W(L[N],nt)>0&&vu(L,F,N);wt0;)Ct--}W(L[F],nt)===0?vu(L,F,Ct):vu(L,++Ct,N),Ct<=_&&(F=Ct+1),_<=Ct&&(N=Ct-1)}}function vu(L,_,F){var N=L[_];L[_]=L[F],L[F]=N}function jc(L,_){return L<_?-1:L>_?1:0}function Lf(L,_){if(L.length<=1)return[L];let F=[],N,W;for(let J of L){let ee=Lh(J);ee!==0&&(J.area=Math.abs(ee),W===void 0&&(W=ee<0),W===ee<0?(N&&F.push(N),N=[J]):N.push(J))}if(N&&F.push(N),_>1)for(let J=0;J1?(Ve=_[Ce+1][0],nt=_[Ce+1][1]):Rt>0&&(Ve+=wt/this.kx*Rt,nt+=Ct/this.ky*Rt)),wt=this.wrap(F[0]-Ve)*this.kx,Ct=(F[1]-nt)*this.ky;let jt=wt*wt+Ct*Ct;jt180;)_-=360;return _}}function Fh(L,_){return _[0]-L[0]}function pu(L){return L[1]-L[0]+1}function gu(L,_){return L[1]>=L[0]&&L[1]<_}function mu(L,_){if(L[0]>L[1])return[null,null];let F=pu(L);if(_){if(F===2)return[L,null];let W=Math.floor(F/2);return[[L[0],L[0]+W],[L[0]+W,L[1]]]}if(F===1)return[L,null];let N=Math.floor(F/2)-1;return[[L[0],L[0]+N],[L[0]+N+1,L[1]]]}function Ql(L,_){if(!gu(_,L.length))return[1/0,1/0,-1/0,-1/0];let F=[1/0,1/0,-1/0,-1/0];for(let N=_[0];N<=_[1];++N)Kl(F,L[N]);return F}function as(L){let _=[1/0,1/0,-1/0,-1/0];for(let F of L)for(let N of F)Kl(_,N);return _}function fo(L){return L[0]!==-1/0&&L[1]!==-1/0&&L[2]!==1/0&&L[3]!==1/0}function Ns(L,_,F){if(!fo(L)||!fo(_))return NaN;let N=0,W=0;return L[2]<_[0]&&(N=_[0]-L[2]),L[0]>_[2]&&(N=L[0]-_[2]),L[1]>_[3]&&(W=L[1]-_[3]),L[3]<_[1]&&(W=_[1]-L[3]),F.distance([0,0],[N,W])}function ku(L,_,F){let N=F.pointOnLine(_,L);return F.distance(L,N.point)}function rc(L,_,F,N,W){let J=Math.min(ku(L,[F,N],W),ku(_,[F,N],W)),ee=Math.min(ku(F,[L,_],W),ku(N,[L,_],W));return Math.min(J,ee)}function sf(L,_,F,N,W){if(!gu(_,L.length)||!gu(N,F.length))return 1/0;let J=1/0;for(let ee=_[0];ee<_[1];++ee){let me=L[ee],Ce=L[ee+1];for(let Ve=N[0];Ve=N)return N;if(al(W,J)){if(Zh(L,_))return 0}else if(Zh(_,L))return 0;let ee=1/0;for(let me of L)for(let Ce=0,Ve=me.length,nt=Ve-1;Ce0;){let Ce=ee.pop();if(Ce[0]>=J)continue;let Ve=Ce[1],nt=_?50:100;if(pu(Ve)<=nt){if(!gu(Ve,L.length))return NaN;if(_){let wt=Wi(L,Ve,F,N);if(isNaN(wt)||wt===0)return wt;J=Math.min(J,wt)}else for(let wt=Ve[0];wt<=Ve[1];++wt){let Ct=Xh(L[wt],F,N);if(J=Math.min(J,Ct),J===0)return 0}}else{let wt=mu(Ve,_);ei(ee,J,N,L,me,wt[0]),ei(ee,J,N,L,me,wt[1])}}return J}function _l(L,_,F,N,W,J=1/0){let ee=Math.min(J,W.distance(L[0],F[0]));if(ee===0)return ee;let me=new af([[0,[0,L.length-1],[0,F.length-1]]],Fh);for(;me.length>0;){let Ce=me.pop();if(Ce[0]>=ee)continue;let Ve=Ce[1],nt=Ce[2],wt=_?50:100,Ct=N?50:100;if(pu(Ve)<=wt&&pu(nt)<=Ct){if(!gu(Ve,L.length)&&gu(nt,F.length))return NaN;let Rt;if(_&&N)Rt=sf(L,Ve,F,nt,W),ee=Math.min(ee,Rt);else if(_&&!N){let jt=L.slice(Ve[0],Ve[1]+1);for(let Qt=nt[0];Qt<=nt[1];++Qt)if(Rt=ku(F[Qt],jt,W),ee=Math.min(ee,Rt),ee===0)return ee}else if(!_&&N){let jt=F.slice(nt[0],nt[1]+1);for(let Qt=Ve[0];Qt<=Ve[1];++Qt)if(Rt=ku(L[Qt],jt,W),ee=Math.min(ee,Rt),ee===0)return ee}else Rt=is(L,Ve,F,nt,W),ee=Math.min(ee,Rt)}else{let Rt=mu(Ve,_),jt=mu(nt,N);nc(me,ee,W,L,F,Rt[0],jt[0]),nc(me,ee,W,L,F,Rt[0],jt[1]),nc(me,ee,W,L,F,Rt[1],jt[0]),nc(me,ee,W,L,F,Rt[1],jt[1])}}return ee}function nh(L){return L.type==="MultiPolygon"?L.coordinates.map((_=>({type:"Polygon",coordinates:_}))):L.type==="MultiLineString"?L.coordinates.map((_=>({type:"LineString",coordinates:_}))):L.type==="MultiPoint"?L.coordinates.map((_=>({type:"Point",coordinates:_}))):[L]}class Cu{constructor(_,F){this.type=He,this.geojson=_,this.geometries=F}static parse(_,F){if(_.length!==2)return F.error(`'distance' expression requires exactly one argument, but found ${_.length-1} instead.`);if(Hi(_[1])){let N=_[1];if(N.type==="FeatureCollection")return new Cu(N,N.features.map((W=>nh(W.geometry))).flat());if(N.type==="Feature")return new Cu(N,nh(N.geometry));if("type"in N&&"coordinates"in N)return new Cu(N,nh(N))}return F.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(_){if(_.geometry()!=null&&_.canonicalID()!=null){if(_.geometryType()==="Point")return(function(F,N){let W=F.geometry(),J=W.flat().map((Ce=>du([Ce.x,Ce.y],F.canonical)));if(W.length===0)return NaN;let ee=new rh(J[0][1]),me=1/0;for(let Ce of N){switch(Ce.type){case"Point":me=Math.min(me,_l(J,!1,[Ce.coordinates],!1,ee,me));break;case"LineString":me=Math.min(me,_l(J,!1,Ce.coordinates,!0,ee,me));break;case"Polygon":me=Math.min(me,Wc(J,!1,Ce.coordinates,ee,me))}if(me===0)return me}return me})(_,this.geometries);if(_.geometryType()==="LineString")return(function(F,N){let W=F.geometry(),J=W.flat().map((Ce=>du([Ce.x,Ce.y],F.canonical)));if(W.length===0)return NaN;let ee=new rh(J[0][1]),me=1/0;for(let Ce of N){switch(Ce.type){case"Point":me=Math.min(me,_l(J,!0,[Ce.coordinates],!1,ee,me));break;case"LineString":me=Math.min(me,_l(J,!0,Ce.coordinates,!0,ee,me));break;case"Polygon":me=Math.min(me,Wc(J,!0,Ce.coordinates,ee,me))}if(me===0)return me}return me})(_,this.geometries);if(_.geometryType()==="Polygon")return(function(F,N){let W=F.geometry();if(W.length===0||W[0].length===0)return NaN;let J=Lf(W,0).map((Ce=>Ce.map((Ve=>Ve.map((nt=>du([nt.x,nt.y],F.canonical))))))),ee=new rh(J[0][0][0][1]),me=1/0;for(let Ce of N)for(let Ve of J){switch(Ce.type){case"Point":me=Math.min(me,Wc([Ce.coordinates],!1,Ve,ee,me));break;case"LineString":me=Math.min(me,Wc(Ce.coordinates,!0,Ve,ee,me));break;case"Polygon":me=Math.min(me,so(Ve,Ce.coordinates,ee,me))}if(me===0)return me}return me})(_,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}let Ac={"==":Ks,"!=":nl,">":us,"<":ks,">=":Co,"<=":xs,array:oo,at:Xt,boolean:oo,case:Mn,coalesce:Io,collator:Si,format:Bs,image:Fl,in:xr,"index-of":Fr,interpolate:_i,"interpolate-hcl":_i,"interpolate-lab":_i,length:Eu,let:ia,literal:Zo,match:xn,number:oo,"number-format":io,object:oo,slice:Rn,step:En,string:oo,"to-boolean":Ni,"to-color":Ni,"to-number":Ni,"to-string":Ni,var:rt,within:ol,distance:Cu};class Us{constructor(_,F,N,W){this.name=_,this.type=F,this._evaluate=N,this.args=W}evaluate(_){return this._evaluate(_,this.args)}eachChild(_){this.args.forEach(_)}outputDefined(){return!1}static parse(_,F){let N=_[0],W=Us.definitions[N];if(!W)return F.error(`Unknown expression "${N}". If you wanted a literal array, use ["literal", [...]].`,0);let J=Array.isArray(W)?W[0]:W.type,ee=Array.isArray(W)?[[W[1],W[2]]]:W.overloads,me=ee.filter((([Ve])=>!Array.isArray(Ve)||Ve.length===_.length-1)),Ce=null;for(let[Ve,nt]of me){Ce=new Pi(F.registry,Rf,F.path,null,F.scope);let wt=[],Ct=!1;for(let Rt=1;Rt<_.length;Rt++){let jt=_[Rt],Qt=Array.isArray(Ve)?Ve[Rt-1]:Ve.type,Ar=Ce.parse(jt,1+wt.length,Qt);if(!Ar){Ct=!0;break}wt.push(Ar)}if(!Ct)if(Array.isArray(Ve)&&Ve.length!==wt.length)Ce.error(`Expected ${Ve.length} arguments, but found ${wt.length} instead.`);else{for(let Rt=0;Rt{return Ct=wt,Array.isArray(Ct)?`(${Ct.map(Fe).join(", ")})`:`(${Fe(Ct.type)}...)`;var Ct})).join(" | "),nt=[];for(let wt=1;wt<_.length;wt++){let Ct=F.parse(_[wt],1+nt.length);if(!Ct)return null;nt.push(Fe(Ct.type))}F.error(`Expected arguments of type ${Ve}, but found (${nt.join(", ")}) instead.`)}return null}static register(_,F){Us.definitions=F;for(let N in F)_[N]=Us}}function ah(L,[_,F,N,W]){_=_.evaluate(L),F=F.evaluate(L),N=N.evaluate(L);let J=W?W.evaluate(L):1,ee=ao(_,F,N,J);if(ee)throw new Fi(ee);return new pa(_/255,F/255,N/255,J,!1)}function Df(L,_){return L in _}function Mc(L,_){let F=_[L];return F===void 0?null:F}function Sc(L){return{type:L}}function Rf(L){if(L instanceof rt)return Rf(L.boundExpression);if(L instanceof Us&&L.name==="error"||L instanceof Si||L instanceof ol||L instanceof Cu)return!1;let _=L instanceof Ni||L instanceof oo,F=!0;return L.eachChild((N=>{F=_?F&&Rf(N):F&&N instanceof Zo})),!!F&&If(L)&&lf(L,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function If(L){if(L instanceof Us&&(L.name==="get"&&L.args.length===1||L.name==="feature-state"||L.name==="has"&&L.args.length===1||L.name==="properties"||L.name==="geometry-type"||L.name==="id"||/^filter-/.test(L.name))||L instanceof ol||L instanceof Cu)return!1;let _=!0;return L.eachChild((F=>{_&&!If(F)&&(_=!1)})),_}function eu(L){if(L instanceof Us&&L.name==="feature-state")return!1;let _=!0;return L.eachChild((F=>{_&&!eu(F)&&(_=!1)})),_}function lf(L,_){if(L instanceof Us&&_.indexOf(L.name)>=0)return!1;let F=!0;return L.eachChild((N=>{F&&!lf(N,_)&&(F=!1)})),F}function tu(L){return{result:"success",value:L}}function Ec(L){return{result:"error",value:L}}function bs(L){return L["property-type"]==="data-driven"||L["property-type"]==="cross-faded-data-driven"}function kc(L){return!!L.expression&&L.expression.parameters.indexOf("zoom")>-1}function Gu(L){return!!L.expression&&L.expression.interpolated}function po(L){return L instanceof Number?"number":L instanceof String?"string":L instanceof Boolean?"boolean":Array.isArray(L)?"array":L===null?"null":typeof L}function uf(L){return typeof L=="object"&&L!==null&&!Array.isArray(L)}function $h(L){return L}function ih(L,_){let F=_.type==="color",N=L.stops&&typeof L.stops[0][0]=="object",W=N||!(N||L.property!==void 0),J=L.type||(Gu(_)?"exponential":"interval");if(F||_.type==="padding"){let nt=F?pa.parse:fi.parse;(L=ge({},L)).stops&&(L.stops=L.stops.map((wt=>[wt[0],nt(wt[1])]))),L.default=nt(L.default?L.default:_.default)}if(L.colorSpace&&(ee=L.colorSpace)!=="rgb"&&ee!=="hcl"&&ee!=="lab")throw new Error(`Unknown color space: "${L.colorSpace}"`);var ee;let me,Ce,Ve;if(J==="exponential")me=Kh;else if(J==="interval")me=cf;else if(J==="categorical"){me=oh,Ce=Object.create(null);for(let nt of L.stops)Ce[nt[0]]=nt[1];Ve=typeof L.stops[0][0]}else{if(J!=="identity")throw new Error(`Unknown function type "${J}"`);me=_s}if(N){let nt={},wt=[];for(let jt=0;jtjt[0])),evaluate:({zoom:jt},Qt)=>Kh({stops:Ct,base:L.base},_,jt).evaluate(jt,Qt)}}if(W){let nt=J==="exponential"?{name:"exponential",base:L.base!==void 0?L.base:1}:null;return{kind:"camera",interpolationType:nt,interpolationFactor:_i.interpolationFactor.bind(void 0,nt),zoomStops:L.stops.map((wt=>wt[0])),evaluate:({zoom:wt})=>me(L,_,wt,Ce,Ve)}}return{kind:"source",evaluate(nt,wt){let Ct=wt&&wt.properties?wt.properties[L.property]:void 0;return Ct===void 0?ac(L.default,_.default):me(L,_,Ct,Ce,Ve)}}}function ac(L,_,F){return L!==void 0?L:_!==void 0?_:F!==void 0?F:void 0}function oh(L,_,F,N,W){return ac(typeof F===W?N[F]:void 0,L.default,_.default)}function cf(L,_,F){if(po(F)!=="number")return ac(L.default,_.default);let N=L.stops.length;if(N===1||F<=L.stops[0][0])return L.stops[0][1];if(F>=L.stops[N-1][0])return L.stops[N-1][1];let W=on(L.stops.map((J=>J[0])),F);return L.stops[W][1]}function Kh(L,_,F){let N=L.base!==void 0?L.base:1;if(po(F)!=="number")return ac(L.default,_.default);let W=L.stops.length;if(W===1||F<=L.stops[0][0])return L.stops[0][1];if(F>=L.stops[W-1][0])return L.stops[W-1][1];let J=on(L.stops.map((nt=>nt[0])),F),ee=(function(nt,wt,Ct,Rt){let jt=Rt-Ct,Qt=nt-Ct;return jt===0?0:wt===1?Qt/jt:(Math.pow(wt,Qt)-1)/(Math.pow(wt,jt)-1)})(F,N,L.stops[J][0],L.stops[J+1][0]),me=L.stops[J][1],Ce=L.stops[J+1][1],Ve=Mi[_.type]||$h;return typeof me.evaluate=="function"?{evaluate(...nt){let wt=me.evaluate.apply(void 0,nt),Ct=Ce.evaluate.apply(void 0,nt);if(wt!==void 0&&Ct!==void 0)return Ve(wt,Ct,ee,L.colorSpace)}}:Ve(me,Ce,ee,L.colorSpace)}function _s(L,_,F){switch(_.type){case"color":F=pa.parse(F);break;case"formatted":F=Ti.fromString(F.toString());break;case"resolvedImage":F=ni.fromString(F.toString());break;case"padding":F=fi.parse(F);break;default:po(F)===_.type||_.type==="enum"&&_.values[F]||(F=void 0)}return ac(F,L.default,_.default)}Us.register(Ac,{error:[{kind:"error"},[Qe],(L,[_])=>{throw new Fi(_.evaluate(L))}],typeof:[Qe,[qt],(L,[_])=>Fe(to(_.evaluate(L)))],"to-rgba":[Te(He,4),[pt],(L,[_])=>{let[F,N,W,J]=_.evaluate(L).rgb;return[255*F,255*N,255*W,J]}],rgb:[pt,[He,He,He],ah],rgba:[pt,[He,He,He,He],ah],has:{type:We,overloads:[[[Qe],(L,[_])=>Df(_.evaluate(L),L.properties())],[[Qe,kt],(L,[_,F])=>Df(_.evaluate(L),F.evaluate(L))]]},get:{type:qt,overloads:[[[Qe],(L,[_])=>Mc(_.evaluate(L),L.properties())],[[Qe,kt],(L,[_,F])=>Mc(_.evaluate(L),F.evaluate(L))]]},"feature-state":[qt,[Qe],(L,[_])=>Mc(_.evaluate(L),L.featureState||{})],properties:[kt,[],L=>L.properties()],"geometry-type":[Qe,[],L=>L.geometryType()],id:[qt,[],L=>L.id()],zoom:[He,[],L=>L.globals.zoom],"heatmap-density":[He,[],L=>L.globals.heatmapDensity||0],"line-progress":[He,[],L=>L.globals.lineProgress||0],accumulated:[qt,[],L=>L.globals.accumulated===void 0?null:L.globals.accumulated],"+":[He,Sc(He),(L,_)=>{let F=0;for(let N of _)F+=N.evaluate(L);return F}],"*":[He,Sc(He),(L,_)=>{let F=1;for(let N of _)F*=N.evaluate(L);return F}],"-":{type:He,overloads:[[[He,He],(L,[_,F])=>_.evaluate(L)-F.evaluate(L)],[[He],(L,[_])=>-_.evaluate(L)]]},"/":[He,[He,He],(L,[_,F])=>_.evaluate(L)/F.evaluate(L)],"%":[He,[He,He],(L,[_,F])=>_.evaluate(L)%F.evaluate(L)],ln2:[He,[],()=>Math.LN2],pi:[He,[],()=>Math.PI],e:[He,[],()=>Math.E],"^":[He,[He,He],(L,[_,F])=>Math.pow(_.evaluate(L),F.evaluate(L))],sqrt:[He,[He],(L,[_])=>Math.sqrt(_.evaluate(L))],log10:[He,[He],(L,[_])=>Math.log(_.evaluate(L))/Math.LN10],ln:[He,[He],(L,[_])=>Math.log(_.evaluate(L))],log2:[He,[He],(L,[_])=>Math.log(_.evaluate(L))/Math.LN2],sin:[He,[He],(L,[_])=>Math.sin(_.evaluate(L))],cos:[He,[He],(L,[_])=>Math.cos(_.evaluate(L))],tan:[He,[He],(L,[_])=>Math.tan(_.evaluate(L))],asin:[He,[He],(L,[_])=>Math.asin(_.evaluate(L))],acos:[He,[He],(L,[_])=>Math.acos(_.evaluate(L))],atan:[He,[He],(L,[_])=>Math.atan(_.evaluate(L))],min:[He,Sc(He),(L,_)=>Math.min(..._.map((F=>F.evaluate(L))))],max:[He,Sc(He),(L,_)=>Math.max(..._.map((F=>F.evaluate(L))))],abs:[He,[He],(L,[_])=>Math.abs(_.evaluate(L))],round:[He,[He],(L,[_])=>{let F=_.evaluate(L);return F<0?-Math.round(-F):Math.round(F)}],floor:[He,[He],(L,[_])=>Math.floor(_.evaluate(L))],ceil:[He,[He],(L,[_])=>Math.ceil(_.evaluate(L))],"filter-==":[We,[Qe,qt],(L,[_,F])=>L.properties()[_.value]===F.value],"filter-id-==":[We,[qt],(L,[_])=>L.id()===_.value],"filter-type-==":[We,[Qe],(L,[_])=>L.geometryType()===_.value],"filter-<":[We,[Qe,qt],(L,[_,F])=>{let N=L.properties()[_.value],W=F.value;return typeof N==typeof W&&N{let F=L.id(),N=_.value;return typeof F==typeof N&&F":[We,[Qe,qt],(L,[_,F])=>{let N=L.properties()[_.value],W=F.value;return typeof N==typeof W&&N>W}],"filter-id->":[We,[qt],(L,[_])=>{let F=L.id(),N=_.value;return typeof F==typeof N&&F>N}],"filter-<=":[We,[Qe,qt],(L,[_,F])=>{let N=L.properties()[_.value],W=F.value;return typeof N==typeof W&&N<=W}],"filter-id-<=":[We,[qt],(L,[_])=>{let F=L.id(),N=_.value;return typeof F==typeof N&&F<=N}],"filter->=":[We,[Qe,qt],(L,[_,F])=>{let N=L.properties()[_.value],W=F.value;return typeof N==typeof W&&N>=W}],"filter-id->=":[We,[qt],(L,[_])=>{let F=L.id(),N=_.value;return typeof F==typeof N&&F>=N}],"filter-has":[We,[qt],(L,[_])=>_.value in L.properties()],"filter-has-id":[We,[],L=>L.id()!==null&&L.id()!==void 0],"filter-type-in":[We,[Te(Qe)],(L,[_])=>_.value.indexOf(L.geometryType())>=0],"filter-id-in":[We,[Te(qt)],(L,[_])=>_.value.indexOf(L.id())>=0],"filter-in-small":[We,[Qe,Te(qt)],(L,[_,F])=>F.value.indexOf(L.properties()[_.value])>=0],"filter-in-large":[We,[Qe,Te(qt)],(L,[_,F])=>(function(N,W,J,ee){for(;J<=ee;){let me=J+ee>>1;if(W[me]===N)return!0;W[me]>N?ee=me-1:J=me+1}return!1})(L.properties()[_.value],F.value,0,F.value.length-1)],all:{type:We,overloads:[[[We,We],(L,[_,F])=>_.evaluate(L)&&F.evaluate(L)],[Sc(We),(L,_)=>{for(let F of _)if(!F.evaluate(L))return!1;return!0}]]},any:{type:We,overloads:[[[We,We],(L,[_,F])=>_.evaluate(L)||F.evaluate(L)],[Sc(We),(L,_)=>{for(let F of _)if(F.evaluate(L))return!0;return!1}]]},"!":[We,[We],(L,[_])=>!_.evaluate(L)],"is-supported-script":[We,[Qe],(L,[_])=>{let F=L.globals&&L.globals.isSupportedScript;return!F||F(_.evaluate(L))}],upcase:[Qe,[Qe],(L,[_])=>_.evaluate(L).toUpperCase()],downcase:[Qe,[Qe],(L,[_])=>_.evaluate(L).toLowerCase()],concat:[Qe,Sc(qt),(L,_)=>_.map((F=>Xo(F.evaluate(L)))).join("")],"resolved-locale":[Qe,[Wt],(L,[_])=>_.evaluate(L).resolvedLocale()]});class ru{constructor(_,F){var N;this.expression=_,this._warningHistory={},this._evaluator=new xi,this._defaultValue=F?(N=F).type==="color"&&uf(N.default)?new pa(0,0,0,0):N.type==="color"?pa.parse(N.default)||null:N.type==="padding"?fi.parse(N.default)||null:N.type==="variableAnchorOffsetCollection"?Oi.parse(N.default)||null:N.default===void 0?null:N.default:null,this._enumValues=F&&F.type==="enum"?F.values:null}evaluateWithoutErrorHandling(_,F,N,W,J,ee){return this._evaluator.globals=_,this._evaluator.feature=F,this._evaluator.featureState=N,this._evaluator.canonical=W,this._evaluator.availableImages=J||null,this._evaluator.formattedSection=ee,this.expression.evaluate(this._evaluator)}evaluate(_,F,N,W,J,ee){this._evaluator.globals=_,this._evaluator.feature=F||null,this._evaluator.featureState=N||null,this._evaluator.canonical=W,this._evaluator.availableImages=J||null,this._evaluator.formattedSection=ee||null;try{let me=this.expression.evaluate(this._evaluator);if(me==null||typeof me=="number"&&me!=me)return this._defaultValue;if(this._enumValues&&!(me in this._enumValues))throw new Fi(`Expected value to be one of ${Object.keys(this._enumValues).map((Ce=>JSON.stringify(Ce))).join(", ")}, but found ${JSON.stringify(me)} instead.`);return me}catch(me){return this._warningHistory[me.message]||(this._warningHistory[me.message]=!0,typeof console!="undefined"&&console.warn(me.message)),this._defaultValue}}}function sh(L){return Array.isArray(L)&&L.length>0&&typeof L[0]=="string"&&L[0]in Ac}function Ko(L,_){let F=new Pi(Ac,Rf,[],_?(function(W){let J={color:pt,string:Qe,number:He,enum:Qe,boolean:We,formatted:_r,padding:tr,resolvedImage:lr,variableAnchorOffsetCollection:Ye};return W.type==="array"?Te(J[W.value]||qt,W.length):J[W.type]})(_):void 0),N=F.parse(L,void 0,void 0,void 0,_&&_.type==="string"?{typeAnnotation:"coerce"}:void 0);return N?tu(new ru(N,_)):Ec(F.errors)}class Hu{constructor(_,F){this.kind=_,this._styleExpression=F,this.isStateDependent=_!=="constant"&&!eu(F.expression)}evaluateWithoutErrorHandling(_,F,N,W,J,ee){return this._styleExpression.evaluateWithoutErrorHandling(_,F,N,W,J,ee)}evaluate(_,F,N,W,J,ee){return this._styleExpression.evaluate(_,F,N,W,J,ee)}}class Pl{constructor(_,F,N,W){this.kind=_,this.zoomStops=N,this._styleExpression=F,this.isStateDependent=_!=="camera"&&!eu(F.expression),this.interpolationType=W}evaluateWithoutErrorHandling(_,F,N,W,J,ee){return this._styleExpression.evaluateWithoutErrorHandling(_,F,N,W,J,ee)}evaluate(_,F,N,W,J,ee){return this._styleExpression.evaluate(_,F,N,W,J,ee)}interpolationFactor(_,F,N){return this.interpolationType?_i.interpolationFactor(this.interpolationType,_,F,N):0}}function ic(L,_){let F=Ko(L,_);if(F.result==="error")return F;let N=F.value.expression,W=If(N);if(!W&&!bs(_))return Ec([new Ge("","data expressions not supported")]);let J=lf(N,["zoom"]);if(!J&&!kc(_))return Ec([new Ge("","zoom expressions not supported")]);let ee=zf(N);return ee||J?ee instanceof Ge?Ec([ee]):ee instanceof _i&&!Gu(_)?Ec([new Ge("",'"interpolate" expressions cannot be used with this property')]):tu(ee?new Pl(W?"camera":"composite",F.value,ee.labels,ee instanceof _i?ee.interpolation:void 0):new Hu(W?"constant":"source",F.value)):Ec([new Ge("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class Yc{constructor(_,F){this._parameters=_,this._specification=F,ge(this,ih(this._parameters,this._specification))}static deserialize(_){return new Yc(_._parameters,_._specification)}static serialize(_){return{_parameters:_._parameters,_specification:_._specification}}}function zf(L){let _=null;if(L instanceof ia)_=zf(L.result);else if(L instanceof Io){for(let F of L.args)if(_=zf(F),_)break}else(L instanceof En||L instanceof _i)&&L.input instanceof Us&&L.input.name==="zoom"&&(_=L);return _ instanceof Ge||L.eachChild((F=>{let N=zf(F);N instanceof Ge?_=N:!_&&N?_=new Ge("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):_&&N&&_!==N&&(_=new Ge("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))})),_}function lh(L){if(L===!0||L===!1)return!0;if(!Array.isArray(L)||L.length===0)return!1;switch(L[0]){case"has":return L.length>=2&&L[1]!=="$id"&&L[1]!=="$type";case"in":return L.length>=3&&(typeof L[1]!="string"||Array.isArray(L[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return L.length!==3||Array.isArray(L[1])||Array.isArray(L[2]);case"any":case"all":for(let _ of L.slice(1))if(!lh(_)&&typeof _!="boolean")return!1;return!0;default:return!0}}let yu={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function ju(L){if(L==null)return{filter:()=>!0,needGeometry:!1};lh(L)||(L=Xc(L));let _=Ko(L,yu);if(_.result==="error")throw new Error(_.value.map((F=>`${F.key}: ${F.message}`)).join(", "));return{filter:(F,N,W)=>_.value.evaluate(F,N,{},W),needGeometry:Id(L)}}function Lu(L,_){return L<_?-1:L>_?1:0}function Id(L){if(!Array.isArray(L))return!1;if(L[0]==="within"||L[0]==="distance")return!0;for(let _=1;_"||_==="<="||_===">="?Jh(L[1],L[2],_):_==="any"?(F=L.slice(1),["any"].concat(F.map(Xc))):_==="all"?["all"].concat(L.slice(1).map(Xc)):_==="none"?["all"].concat(L.slice(1).map(Xc).map(Fs)):_==="in"?Vl(L[1],L.slice(2)):_==="!in"?Fs(Vl(L[1],L.slice(2))):_==="has"?Cc(L[1]):_!=="!has"||Fs(Cc(L[1]));var F}function Jh(L,_,F){switch(L){case"$type":return[`filter-type-${F}`,_];case"$id":return[`filter-id-${F}`,_];default:return[`filter-${F}`,L,_]}}function Vl(L,_){if(_.length===0)return!1;switch(L){case"$type":return["filter-type-in",["literal",_]];case"$id":return["filter-id-in",["literal",_]];default:return _.length>200&&!_.some((F=>typeof F!=typeof _[0]))?["filter-in-large",L,["literal",_.sort(Lu)]]:["filter-in-small",L,["literal",_]]}}function Cc(L){switch(L){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",L]}}function Fs(L){return["!",L]}function oc(L){let _=typeof L;if(_==="number"||_==="boolean"||_==="string"||L==null)return JSON.stringify(L);if(Array.isArray(L)){let W="[";for(let J of L)W+=`${oc(J)},`;return`${W}]`}let F=Object.keys(L).sort(),N="{";for(let W=0;WN.maximum?[new Ue(_,F,`${F} is greater than the maximum value ${N.maximum}`)]:[]}function Lc(L){let _=L.valueSpec,F=Lo(L.value.type),N,W,J,ee={},me=F!=="categorical"&&L.value.property===void 0,Ce=!me,Ve=po(L.value.stops)==="array"&&po(L.value.stops[0])==="array"&&po(L.value.stops[0][0])==="object",nt=Dl({key:L.key,value:L.value,valueSpec:L.styleSpec.function,validateSpec:L.validateSpec,style:L.style,styleSpec:L.styleSpec,objectElementValidators:{stops:function(Rt){if(F==="identity")return[new Ue(Rt.key,Rt.value,'identity function may not have a "stops" property')];let jt=[],Qt=Rt.value;return jt=jt.concat(Bf({key:Rt.key,value:Qt,valueSpec:Rt.valueSpec,validateSpec:Rt.validateSpec,style:Rt.style,styleSpec:Rt.styleSpec,arrayElementValidator:wt})),po(Qt)==="array"&&Qt.length===0&&jt.push(new Ue(Rt.key,Qt,"array must have at least one stop")),jt},default:function(Rt){return Rt.validateSpec({key:Rt.key,value:Rt.value,valueSpec:_,validateSpec:Rt.validateSpec,style:Rt.style,styleSpec:Rt.styleSpec})}}});return F==="identity"&&me&&nt.push(new Ue(L.key,L.value,'missing required property "property"')),F==="identity"||L.value.stops||nt.push(new Ue(L.key,L.value,'missing required property "stops"')),F==="exponential"&&L.valueSpec.expression&&!Gu(L.valueSpec)&&nt.push(new Ue(L.key,L.value,"exponential functions not supported")),L.styleSpec.$version>=8&&(Ce&&!bs(L.valueSpec)?nt.push(new Ue(L.key,L.value,"property functions not supported")):me&&!kc(L.valueSpec)&&nt.push(new Ue(L.key,L.value,"zoom functions not supported"))),F!=="categorical"&&!Ve||L.value.property!==void 0||nt.push(new Ue(L.key,L.value,'"property" property is required')),nt;function wt(Rt){let jt=[],Qt=Rt.value,Ar=Rt.key;if(po(Qt)!=="array")return[new Ue(Ar,Qt,`array expected, ${po(Qt)} found`)];if(Qt.length!==2)return[new Ue(Ar,Qt,`array length 2 expected, length ${Qt.length} found`)];if(Ve){if(po(Qt[0])!=="object")return[new Ue(Ar,Qt,`object expected, ${po(Qt[0])} found`)];if(Qt[0].zoom===void 0)return[new Ue(Ar,Qt,"object stop key must have zoom")];if(Qt[0].value===void 0)return[new Ue(Ar,Qt,"object stop key must have value")];if(J&&J>Lo(Qt[0].zoom))return[new Ue(Ar,Qt[0].zoom,"stop zoom values must appear in ascending order")];Lo(Qt[0].zoom)!==J&&(J=Lo(Qt[0].zoom),W=void 0,ee={}),jt=jt.concat(Dl({key:`${Ar}[0]`,value:Qt[0],valueSpec:{zoom:{}},validateSpec:Rt.validateSpec,style:Rt.style,styleSpec:Rt.styleSpec,objectElementValidators:{zoom:Of,value:Ct}}))}else jt=jt.concat(Ct({key:`${Ar}[0]`,value:Qt[0],valueSpec:{},validateSpec:Rt.validateSpec,style:Rt.style,styleSpec:Rt.styleSpec},Qt));return sh(wl(Qt[1]))?jt.concat([new Ue(`${Ar}[1]`,Qt[1],"expressions are not allowed in function stops.")]):jt.concat(Rt.validateSpec({key:`${Ar}[1]`,value:Qt[1],valueSpec:_,validateSpec:Rt.validateSpec,style:Rt.style,styleSpec:Rt.styleSpec}))}function Ct(Rt,jt){let Qt=po(Rt.value),Ar=Lo(Rt.value),Pr=Rt.value!==null?Rt.value:jt;if(N){if(Qt!==N)return[new Ue(Rt.key,Pr,`${Qt} stop domain type must match previous stop domain type ${N}`)]}else N=Qt;if(Qt!=="number"&&Qt!=="string"&&Qt!=="boolean")return[new Ue(Rt.key,Pr,"stop domain value must be a number, string, or boolean")];if(Qt!=="number"&&F!=="categorical"){let gn=`number expected, ${Qt} found`;return bs(_)&&F===void 0&&(gn+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new Ue(Rt.key,Pr,gn)]}return F!=="categorical"||Qt!=="number"||isFinite(Ar)&&Math.floor(Ar)===Ar?F!=="categorical"&&Qt==="number"&&W!==void 0&&Arnew Ue(`${L.key}${N.key}`,L.value,N.message)));let F=_.value.expression||_.value._styleExpression.expression;if(L.expressionContext==="property"&&L.propertyKey==="text-font"&&!F.outputDefined())return[new Ue(L.key,L.value,`Invalid data expression for "${L.propertyKey}". Output values must be contained as literals within the expression.`)];if(L.expressionContext==="property"&&L.propertyType==="layout"&&!eu(F))return[new Ue(L.key,L.value,'"feature-state" data expressions are not supported with layout properties.')];if(L.expressionContext==="filter"&&!eu(F))return[new Ue(L.key,L.value,'"feature-state" data expressions are not supported with filters.')];if(L.expressionContext&&L.expressionContext.indexOf("cluster")===0){if(!lf(F,["zoom","feature-state"]))return[new Ue(L.key,L.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if(L.expressionContext==="cluster-initial"&&!If(F))return[new Ue(L.key,L.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function nu(L){let _=L.key,F=L.value,N=L.valueSpec,W=[];return Array.isArray(N.values)?N.values.indexOf(Lo(F))===-1&&W.push(new Ue(_,F,`expected one of [${N.values.join(", ")}], ${JSON.stringify(F)} found`)):Object.keys(N.values).indexOf(Lo(F))===-1&&W.push(new Ue(_,F,`expected one of [${Object.keys(N.values).join(", ")}], ${JSON.stringify(F)} found`)),W}function ff(L){return lh(wl(L.value))?Fc(ge({},L,{expressionContext:"filter",valueSpec:{value:"boolean"}})):sc(L)}function sc(L){let _=L.value,F=L.key;if(po(_)!=="array")return[new Ue(F,_,`array expected, ${po(_)} found`)];let N=L.styleSpec,W,J=[];if(_.length<1)return[new Ue(F,_,"filter array must have at least 1 element")];switch(J=J.concat(nu({key:`${F}[0]`,value:_[0],valueSpec:N.filter_operator,style:L.style,styleSpec:L.styleSpec})),Lo(_[0])){case"<":case"<=":case">":case">=":_.length>=2&&Lo(_[1])==="$type"&&J.push(new Ue(F,_,`"$type" cannot be use with operator "${_[0]}"`));case"==":case"!=":_.length!==3&&J.push(new Ue(F,_,`filter array for operator "${_[0]}" must have 3 elements`));case"in":case"!in":_.length>=2&&(W=po(_[1]),W!=="string"&&J.push(new Ue(`${F}[1]`,_[1],`string expected, ${W} found`)));for(let ee=2;ee<_.length;ee++)W=po(_[ee]),Lo(_[1])==="$type"?J=J.concat(nu({key:`${F}[${ee}]`,value:_[ee],valueSpec:N.geometry_type,style:L.style,styleSpec:L.styleSpec})):W!=="string"&&W!=="number"&&W!=="boolean"&&J.push(new Ue(`${F}[${ee}]`,_[ee],`string, number, or boolean expected, ${W} found`));break;case"any":case"all":case"none":for(let ee=1;ee<_.length;ee++)J=J.concat(sc({key:`${F}[${ee}]`,value:_[ee],style:L.style,styleSpec:L.styleSpec}));break;case"has":case"!has":W=po(_[1]),_.length!==2?J.push(new Ue(F,_,`filter array for "${_[0]}" operator must have 2 elements`)):W!=="string"&&J.push(new Ue(`${F}[1]`,_[1],`string expected, ${W} found`))}return J}function Nf(L,_){let F=L.key,N=L.validateSpec,W=L.style,J=L.styleSpec,ee=L.value,me=L.objectKey,Ce=J[`${_}_${L.layerType}`];if(!Ce)return[];let Ve=me.match(/^(.*)-transition$/);if(_==="paint"&&Ve&&Ce[Ve[1]]&&Ce[Ve[1]].transition)return N({key:F,value:ee,valueSpec:J.transition,style:W,styleSpec:J});let nt=L.valueSpec||Ce[me];if(!nt)return[new Ue(F,ee,`unknown property "${me}"`)];let wt;if(po(ee)==="string"&&bs(nt)&&!nt.tokens&&(wt=/^{([^}]+)}$/.exec(ee)))return[new Ue(F,ee,`"${me}" does not support interpolation syntax +Use an identity property function instead: \`{ "type": "identity", "property": ${JSON.stringify(wt[1])} }\`.`)];let Ct=[];return L.layerType==="symbol"&&(me==="text-field"&&W&&!W.glyphs&&Ct.push(new Ue(F,ee,'use of "text-field" requires a style "glyphs" property')),me==="text-font"&&uf(wl(ee))&&Lo(ee.type)==="identity"&&Ct.push(new Ue(F,ee,'"text-font" does not support identity functions'))),Ct.concat(N({key:L.key,value:ee,valueSpec:nt,style:W,styleSpec:J,expressionContext:"property",propertyType:_,propertyKey:me}))}function Uf(L){return Nf(L,"paint")}function uh(L){return Nf(L,"layout")}function Qh(L){let _=[],F=L.value,N=L.key,W=L.style,J=L.styleSpec;F.type||F.ref||_.push(new Ue(N,F,'either "type" or "ref" is required'));let ee=Lo(F.type),me=Lo(F.ref);if(F.id){let Ce=Lo(F.id);for(let Ve=0;Ve{Ve in F&&_.push(new Ue(N,F[Ve],`"${Ve}" is prohibited for ref layers`))})),W.layers.forEach((Ve=>{Lo(Ve.id)===me&&(Ce=Ve)})),Ce?Ce.ref?_.push(new Ue(N,F.ref,"ref cannot reference another ref layer")):ee=Lo(Ce.type):_.push(new Ue(N,F.ref,`ref layer "${me}" not found`))}else if(ee!=="background")if(F.source){let Ce=W.sources&&W.sources[F.source],Ve=Ce&&Lo(Ce.type);Ce?Ve==="vector"&&ee==="raster"?_.push(new Ue(N,F.source,`layer "${F.id}" requires a raster source`)):Ve!=="raster-dem"&&ee==="hillshade"?_.push(new Ue(N,F.source,`layer "${F.id}" requires a raster-dem source`)):Ve==="raster"&&ee!=="raster"?_.push(new Ue(N,F.source,`layer "${F.id}" requires a vector source`)):Ve!=="vector"||F["source-layer"]?Ve==="raster-dem"&&ee!=="hillshade"?_.push(new Ue(N,F.source,"raster-dem source can only be used with layer type 'hillshade'.")):ee!=="line"||!F.paint||!F.paint["line-gradient"]||Ve==="geojson"&&Ce.lineMetrics||_.push(new Ue(N,F,`layer "${F.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):_.push(new Ue(N,F,`layer "${F.id}" must specify a "source-layer"`)):_.push(new Ue(N,F.source,`source "${F.source}" not found`))}else _.push(new Ue(N,F,'missing required property "source"'));return _=_.concat(Dl({key:N,value:F,valueSpec:J.layer,style:L.style,styleSpec:L.styleSpec,validateSpec:L.validateSpec,objectElementValidators:{"*":()=>[],type:()=>L.validateSpec({key:`${N}.type`,value:F.type,valueSpec:J.layer.type,style:L.style,styleSpec:L.styleSpec,validateSpec:L.validateSpec,object:F,objectKey:"type"}),filter:ff,layout:Ce=>Dl({layer:F,key:Ce.key,value:Ce.value,style:Ce.style,styleSpec:Ce.styleSpec,validateSpec:Ce.validateSpec,objectElementValidators:{"*":Ve=>uh(ge({layerType:ee},Ve))}}),paint:Ce=>Dl({layer:F,key:Ce.key,value:Ce.value,style:Ce.style,styleSpec:Ce.styleSpec,validateSpec:Ce.validateSpec,objectElementValidators:{"*":Ve=>Uf(ge({layerType:ee},Ve))}})}})),_}function hf(L){let _=L.value,F=L.key,N=po(_);return N!=="string"?[new Ue(F,_,`string expected, ${N} found`)]:[]}let ch={promoteId:function({key:L,value:_}){if(po(_)==="string")return hf({key:L,value:_});{let F=[];for(let N in _)F.push(...hf({key:`${L}.${N}`,value:_[N]}));return F}}};function df(L){let _=L.value,F=L.key,N=L.styleSpec,W=L.style,J=L.validateSpec;if(!_.type)return[new Ue(F,_,'"type" is required')];let ee=Lo(_.type),me;switch(ee){case"vector":case"raster":return me=Dl({key:F,value:_,valueSpec:N[`source_${ee.replace("-","_")}`],style:L.style,styleSpec:N,objectElementValidators:ch,validateSpec:J}),me;case"raster-dem":return me=(function(Ce){var Ve;let nt=(Ve=Ce.sourceName)!==null&&Ve!==void 0?Ve:"",wt=Ce.value,Ct=Ce.styleSpec,Rt=Ct.source_raster_dem,jt=Ce.style,Qt=[],Ar=po(wt);if(wt===void 0)return Qt;if(Ar!=="object")return Qt.push(new Ue("source_raster_dem",wt,`object expected, ${Ar} found`)),Qt;let Pr=Lo(wt.encoding)==="custom",gn=["redFactor","greenFactor","blueFactor","baseShift"],Yr=Ce.value.encoding?`"${Ce.value.encoding}"`:"Default";for(let ln in wt)!Pr&&gn.includes(ln)?Qt.push(new Ue(ln,wt[ln],`In "${nt}": "${ln}" is only valid when "encoding" is set to "custom". ${Yr} encoding found`)):Rt[ln]?Qt=Qt.concat(Ce.validateSpec({key:ln,value:wt[ln],valueSpec:Rt[ln],validateSpec:Ce.validateSpec,style:jt,styleSpec:Ct})):Qt.push(new Ue(ln,wt[ln],`unknown property "${ln}"`));return Qt})({sourceName:F,value:_,style:L.style,styleSpec:N,validateSpec:J}),me;case"geojson":if(me=Dl({key:F,value:_,valueSpec:N.source_geojson,style:W,styleSpec:N,validateSpec:J,objectElementValidators:ch}),_.cluster)for(let Ce in _.clusterProperties){let[Ve,nt]=_.clusterProperties[Ce],wt=typeof Ve=="string"?[Ve,["accumulated"],["get",Ce]]:Ve;me.push(...Fc({key:`${F}.${Ce}.map`,value:nt,validateSpec:J,expressionContext:"cluster-map"})),me.push(...Fc({key:`${F}.${Ce}.reduce`,value:wt,validateSpec:J,expressionContext:"cluster-reduce"}))}return me;case"video":return Dl({key:F,value:_,valueSpec:N.source_video,style:W,validateSpec:J,styleSpec:N});case"image":return Dl({key:F,value:_,valueSpec:N.source_image,style:W,validateSpec:J,styleSpec:N});case"canvas":return[new Ue(F,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return nu({key:`${F}.type`,value:_.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:W,validateSpec:J,styleSpec:N})}}function sl(L){let _=L.value,F=L.styleSpec,N=F.light,W=L.style,J=[],ee=po(_);if(_===void 0)return J;if(ee!=="object")return J=J.concat([new Ue("light",_,`object expected, ${ee} found`)]),J;for(let me in _){let Ce=me.match(/^(.*)-transition$/);J=J.concat(Ce&&N[Ce[1]]&&N[Ce[1]].transition?L.validateSpec({key:me,value:_[me],valueSpec:F.transition,validateSpec:L.validateSpec,style:W,styleSpec:F}):N[me]?L.validateSpec({key:me,value:_[me],valueSpec:N[me],validateSpec:L.validateSpec,style:W,styleSpec:F}):[new Ue(me,_[me],`unknown property "${me}"`)])}return J}function Fu(L){let _=L.value,F=L.styleSpec,N=F.sky,W=L.style,J=po(_);if(_===void 0)return[];if(J!=="object")return[new Ue("sky",_,`object expected, ${J} found`)];let ee=[];for(let me in _)ee=ee.concat(N[me]?L.validateSpec({key:me,value:_[me],valueSpec:N[me],style:W,styleSpec:F}):[new Ue(me,_[me],`unknown property "${me}"`)]);return ee}function fh(L){let _=L.value,F=L.styleSpec,N=F.terrain,W=L.style,J=[],ee=po(_);if(_===void 0)return J;if(ee!=="object")return J=J.concat([new Ue("terrain",_,`object expected, ${ee} found`)]),J;for(let me in _)J=J.concat(N[me]?L.validateSpec({key:me,value:_[me],valueSpec:N[me],validateSpec:L.validateSpec,style:W,styleSpec:F}):[new Ue(me,_[me],`unknown property "${me}"`)]);return J}function ed(L){let _=[],F=L.value,N=L.key;if(Array.isArray(F)){let W=[],J=[];for(let ee in F)F[ee].id&&W.includes(F[ee].id)&&_.push(new Ue(N,F,`all the sprites' ids must be unique, but ${F[ee].id} is duplicated`)),W.push(F[ee].id),F[ee].url&&J.includes(F[ee].url)&&_.push(new Ue(N,F,`all the sprites' URLs must be unique, but ${F[ee].url} is duplicated`)),J.push(F[ee].url),_=_.concat(Dl({key:`${N}[${ee}]`,value:F[ee],valueSpec:{id:{type:"string",required:!0},url:{type:"string",required:!0}},validateSpec:L.validateSpec}));return _}return hf({key:N,value:F})}let vf={"*":()=>[],array:Bf,boolean:function(L){let _=L.value,F=L.key,N=po(_);return N!=="boolean"?[new Ue(F,_,`boolean expected, ${N} found`)]:[]},number:Of,color:function(L){let _=L.key,F=L.value,N=po(F);return N!=="string"?[new Ue(_,F,`color expected, ${N} found`)]:pa.parse(String(F))?[]:[new Ue(_,F,`color expected, "${F}" found`)]},constants:qf,enum:nu,filter:ff,function:Lc,layer:Qh,object:Dl,source:df,light:sl,sky:Fu,terrain:fh,projection:function(L){let _=L.value,F=L.styleSpec,N=F.projection,W=L.style,J=po(_);if(_===void 0)return[];if(J!=="object")return[new Ue("projection",_,`object expected, ${J} found`)];let ee=[];for(let me in _)ee=ee.concat(N[me]?L.validateSpec({key:me,value:_[me],valueSpec:N[me],style:W,styleSpec:F}):[new Ue(me,_[me],`unknown property "${me}"`)]);return ee},string:hf,formatted:function(L){return hf(L).length===0?[]:Fc(L)},resolvedImage:function(L){return hf(L).length===0?[]:Fc(L)},padding:function(L){let _=L.key,F=L.value;if(po(F)==="array"){if(F.length<1||F.length>4)return[new Ue(_,F,`padding requires 1 to 4 values; ${F.length} values found`)];let N={type:"number"},W=[];for(let J=0;J[]}})),L.constants&&(F=F.concat(qf({key:"constants",value:L.constants,style:L,styleSpec:_,validateSpec:Wu}))),Bt(F)}function Gt(L){return function(_){return L(Cg(uv({},_),{validateSpec:Wu}))}}function Bt(L){return[].concat(L).sort(((_,F)=>_.line-F.line))}function mr(L){return function(..._){return Bt(L.apply(this,_))}}yt.source=mr(Gt(df)),yt.sprite=mr(Gt(ed)),yt.glyphs=mr(Gt(Je)),yt.light=mr(Gt(sl)),yt.sky=mr(Gt(Fu)),yt.terrain=mr(Gt(fh)),yt.layer=mr(Gt(Qh)),yt.filter=mr(Gt(ff)),yt.paintProperty=mr(Gt(Uf)),yt.layoutProperty=mr(Gt(uh));let Ur=yt,en=Ur.light,mn=Ur.sky,An=Ur.paintProperty,Vn=Ur.layoutProperty;function tn(L,_){let F=!1;if(_&&_.length)for(let N of _)L.fire(new ye(new Error(N.message))),F=!0;return F}class nn{constructor(_,F,N){let W=this.cells=[];if(_ instanceof ArrayBuffer){this.arrayBuffer=_;let ee=new Int32Array(this.arrayBuffer);_=ee[0],this.d=(F=ee[1])+2*(N=ee[2]);for(let Ce=0;Ce=wt[jt+0]&&W>=wt[jt+1])?(me[Rt]=!0,ee.push(nt[Rt])):me[Rt]=!1}}}}_forEachCell(_,F,N,W,J,ee,me,Ce){let Ve=this._convertToCellCoord(_),nt=this._convertToCellCoord(F),wt=this._convertToCellCoord(N),Ct=this._convertToCellCoord(W);for(let Rt=Ve;Rt<=wt;Rt++)for(let jt=nt;jt<=Ct;jt++){let Qt=this.d*jt+Rt;if((!Ce||Ce(this._convertFromCellCoord(Rt),this._convertFromCellCoord(jt),this._convertFromCellCoord(Rt+1),this._convertFromCellCoord(jt+1)))&&J.call(this,_,F,N,W,Qt,ee,me,Ce))return}}_convertFromCellCoord(_){return(_-this.padding)/this.scale}_convertToCellCoord(_){return Math.max(0,Math.min(this.d-1,Math.floor(_*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let _=this.cells,F=3+this.cells.length+1+1,N=0;for(let ee=0;ee=0)continue;let ee=L[J];W[J]=dn[F].shallow.indexOf(J)>=0?ee:La(ee,_)}L instanceof Error&&(W.message=L.message)}if(W.$name)throw new Error("$name property is reserved for worker serialization logic.");return F!=="Object"&&(W.$name=F),W}function Va(L){if(Pa(L))return L;if(Array.isArray(L))return L.map(Va);if(typeof L!="object")throw new Error("can't deserialize object of type "+typeof L);let _=Ca(L)||"Object";if(!dn[_])throw new Error(`can't deserialize unregistered class ${_}`);let{klass:F}=dn[_];if(!F)throw new Error(`can't deserialize unregistered class ${_}`);if(F.deserialize)return F.deserialize(L);let N=Object.create(F.prototype);for(let W of Object.keys(L)){if(W==="$name")continue;let J=L[W];N[W]=dn[_].shallow.indexOf(W)>=0?J:Va(J)}return N}class na{constructor(){this.first=!0}update(_,F){let N=Math.floor(_);return this.first?(this.first=!1,this.lastIntegerZoom=N,this.lastIntegerZoomTime=0,this.lastZoom=_,this.lastFloorZoom=N,!0):(this.lastFloorZoom>N?(this.lastIntegerZoom=N+1,this.lastIntegerZoomTime=F):this.lastFloorZoomL>=128&&L<=255,"Hangul Jamo":L=>L>=4352&&L<=4607,Khmer:L=>L>=6016&&L<=6143,"General Punctuation":L=>L>=8192&&L<=8303,"Letterlike Symbols":L=>L>=8448&&L<=8527,"Number Forms":L=>L>=8528&&L<=8591,"Miscellaneous Technical":L=>L>=8960&&L<=9215,"Control Pictures":L=>L>=9216&&L<=9279,"Optical Character Recognition":L=>L>=9280&&L<=9311,"Enclosed Alphanumerics":L=>L>=9312&&L<=9471,"Geometric Shapes":L=>L>=9632&&L<=9727,"Miscellaneous Symbols":L=>L>=9728&&L<=9983,"Miscellaneous Symbols and Arrows":L=>L>=11008&&L<=11263,"Ideographic Description Characters":L=>L>=12272&&L<=12287,"CJK Symbols and Punctuation":L=>L>=12288&&L<=12351,Katakana:L=>L>=12448&&L<=12543,Kanbun:L=>L>=12688&&L<=12703,"CJK Strokes":L=>L>=12736&&L<=12783,"Enclosed CJK Letters and Months":L=>L>=12800&&L<=13055,"CJK Compatibility":L=>L>=13056&&L<=13311,"Yijing Hexagram Symbols":L=>L>=19904&&L<=19967,"Private Use Area":L=>L>=57344&&L<=63743,"Vertical Forms":L=>L>=65040&&L<=65055,"CJK Compatibility Forms":L=>L>=65072&&L<=65103,"Small Form Variants":L=>L>=65104&&L<=65135,"Halfwidth and Fullwidth Forms":L=>L>=65280&&L<=65519};function Ja(L){for(let _ of L)if(Vi(_.charCodeAt(0)))return!0;return!1}function pi(L){for(let _ of L)if(!Qi(_.charCodeAt(0)))return!1;return!0}function ji(L){let _=L.map((F=>{try{return new RegExp(`\\p{sc=${F}}`,"u").source}catch(N){return null}})).filter((F=>F));return new RegExp(_.join("|"),"u")}let Ao=ji(["Arab","Dupl","Mong","Ougr","Syrc"]);function Qi(L){return!Ao.test(String.fromCodePoint(L))}let zo=ji(["Bopo","Hani","Hira","Kana","Kits","Nshu","Tang","Yiii"]);function Vi(L){return!(L!==746&&L!==747&&(L<4352||!(zn["CJK Compatibility Forms"](L)&&!(L>=65097&&L<=65103)||zn["CJK Compatibility"](L)||zn["CJK Strokes"](L)||!(!zn["CJK Symbols and Punctuation"](L)||L>=12296&&L<=12305||L>=12308&&L<=12319||L===12336)||zn["Enclosed CJK Letters and Months"](L)||zn["Ideographic Description Characters"](L)||zn.Kanbun(L)||zn.Katakana(L)&&L!==12540||!(!zn["Halfwidth and Fullwidth Forms"](L)||L===65288||L===65289||L===65293||L>=65306&&L<=65310||L===65339||L===65341||L===65343||L>=65371&&L<=65503||L===65507||L>=65512&&L<=65519)||!(!zn["Small Form Variants"](L)||L>=65112&&L<=65118||L>=65123&&L<=65126)||zn["Vertical Forms"](L)||zn["Yijing Hexagram Symbols"](L)||new RegExp("\\p{sc=Cans}","u").test(String.fromCodePoint(L))||new RegExp("\\p{sc=Hang}","u").test(String.fromCodePoint(L))||zo.test(String.fromCodePoint(L)))))}function Js(L){return!(Vi(L)||(function(_){return!!(zn["Latin-1 Supplement"](_)&&(_===167||_===169||_===174||_===177||_===188||_===189||_===190||_===215||_===247)||zn["General Punctuation"](_)&&(_===8214||_===8224||_===8225||_===8240||_===8241||_===8251||_===8252||_===8258||_===8263||_===8264||_===8265||_===8273)||zn["Letterlike Symbols"](_)||zn["Number Forms"](_)||zn["Miscellaneous Technical"](_)&&(_>=8960&&_<=8967||_>=8972&&_<=8991||_>=8996&&_<=9e3||_===9003||_>=9085&&_<=9114||_>=9150&&_<=9165||_===9167||_>=9169&&_<=9179||_>=9186&&_<=9215)||zn["Control Pictures"](_)&&_!==9251||zn["Optical Character Recognition"](_)||zn["Enclosed Alphanumerics"](_)||zn["Geometric Shapes"](_)||zn["Miscellaneous Symbols"](_)&&!(_>=9754&&_<=9759)||zn["Miscellaneous Symbols and Arrows"](_)&&(_>=11026&&_<=11055||_>=11088&&_<=11097||_>=11192&&_<=11243)||zn["CJK Symbols and Punctuation"](_)||zn.Katakana(_)||zn["Private Use Area"](_)||zn["CJK Compatibility Forms"](_)||zn["Small Form Variants"](_)||zn["Halfwidth and Fullwidth Forms"](_)||_===8734||_===8756||_===8757||_>=9984&&_<=10087||_>=10102&&_<=10131||_===65532||_===65533)})(L))}let cs=ji(["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 Mo(L){return cs.test(String.fromCodePoint(L))}function ya(L,_){return!(!_&&Mo(L)||L>=2304&&L<=3583||L>=3840&&L<=4255||zn.Khmer(L))}function ho(L){for(let _ of L)if(Mo(_.charCodeAt(0)))return!0;return!1}let wo=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus="unavailable",this.pluginURL=null}setState(L){this.pluginStatus=L.pluginStatus,this.pluginURL=L.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(L){this.applyArabicShaping=L.applyArabicShaping,this.processBidirectionalText=L.processBidirectionalText,this.processStyledBidirectionalText=L.processStyledBidirectionalText}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class Yi{constructor(_,F){this.zoom=_,F?(this.now=F.now,this.fadeDuration=F.fadeDuration,this.zoomHistory=F.zoomHistory,this.transition=F.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new na,this.transition={})}isSupportedScript(_){return(function(F,N){for(let W of F)if(!ya(W.charCodeAt(0),N))return!1;return!0})(_,wo.getRTLTextPluginStatus()==="loaded")}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let _=this.zoom,F=_-Math.floor(_),N=this.crossFadingFactor();return _>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:F+(1-F)*N}:{fromScale:.5,toScale:1,t:1-(1-N)*F}}}class Vs{constructor(_,F){this.property=_,this.value=F,this.expression=(function(N,W){if(uf(N))return new Yc(N,W);if(sh(N)){let J=ic(N,W);if(J.result==="error")throw new Error(J.value.map((ee=>`${ee.key}: ${ee.message}`)).join(", "));return J.value}{let J=N;return W.type==="color"&&typeof N=="string"?J=pa.parse(N):W.type!=="padding"||typeof N!="number"&&!Array.isArray(N)?W.type==="variableAnchorOffsetCollection"&&Array.isArray(N)&&(J=Oi.parse(N)):J=fi.parse(N),{kind:"constant",evaluate:()=>J}}})(F===void 0?_.specification.default:F,_.specification)}isDataDriven(){return this.expression.kind==="source"||this.expression.kind==="composite"}possiblyEvaluate(_,F,N){return this.property.possiblyEvaluate(this,_,F,N)}}class xu{constructor(_){this.property=_,this.value=new Vs(_,void 0)}transitioned(_,F){return new Yu(this.property,this.value,F,k({},_.transition,this.transition),_.now)}untransitioned(){return new Yu(this.property,this.value,null,{},0)}}class au{constructor(_){this._properties=_,this._values=Object.create(_.defaultTransitionablePropertyValues)}getValue(_){return p(this._values[_].value.value)}setValue(_,F){Object.prototype.hasOwnProperty.call(this._values,_)||(this._values[_]=new xu(this._values[_].property)),this._values[_].value=new Vs(this._values[_].property,F===null?void 0:p(F))}getTransition(_){return p(this._values[_].transition)}setTransition(_,F){Object.prototype.hasOwnProperty.call(this._values,_)||(this._values[_]=new xu(this._values[_].property)),this._values[_].transition=p(F)||void 0}serialize(){let _={};for(let F of Object.keys(this._values)){let N=this.getValue(F);N!==void 0&&(_[F]=N);let W=this.getTransition(F);W!==void 0&&(_[`${F}-transition`]=W)}return _}transitioned(_,F){let N=new ll(this._properties);for(let W of Object.keys(this._values))N._values[W]=this._values[W].transitioned(_,F._values[W]);return N}untransitioned(){let _=new ll(this._properties);for(let F of Object.keys(this._values))_._values[F]=this._values[F].untransitioned();return _}}class Yu{constructor(_,F,N,W,J){this.property=_,this.value=F,this.begin=J+W.delay||0,this.end=this.begin+W.duration||0,_.specification.transition&&(W.delay||W.duration)&&(this.prior=N)}possiblyEvaluate(_,F,N){let W=_.now||0,J=this.value.possiblyEvaluate(_,F,N),ee=this.prior;if(ee){if(W>this.end)return this.prior=null,J;if(this.value.isDataDriven())return this.prior=null,J;if(W=1)return 1;let Ve=Ce*Ce,nt=Ve*Ce;return 4*(Ce<.5?nt:3*(Ce-Ve)+nt-.75)})(me))}}return J}}class ll{constructor(_){this._properties=_,this._values=Object.create(_.defaultTransitioningPropertyValues)}possiblyEvaluate(_,F,N){let W=new Pc(this._properties);for(let J of Object.keys(this._values))W._values[J]=this._values[J].possiblyEvaluate(_,F,N);return W}hasTransition(){for(let _ of Object.keys(this._values))if(this._values[_].prior)return!0;return!1}}class Pu{constructor(_){this._properties=_,this._values=Object.create(_.defaultPropertyValues)}hasValue(_){return this._values[_].value!==void 0}getValue(_){return p(this._values[_].value)}setValue(_,F){this._values[_]=new Vs(this._values[_].property,F===null?void 0:p(F))}serialize(){let _={};for(let F of Object.keys(this._values)){let N=this.getValue(F);N!==void 0&&(_[F]=N)}return _}possiblyEvaluate(_,F,N){let W=new Pc(this._properties);for(let J of Object.keys(this._values))W._values[J]=this._values[J].possiblyEvaluate(_,F,N);return W}}class ul{constructor(_,F,N){this.property=_,this.value=F,this.parameters=N}isConstant(){return this.value.kind==="constant"}constantOr(_){return this.value.kind==="constant"?this.value.value:_}evaluate(_,F,N,W){return this.property.evaluate(this.value,this.parameters,_,F,N,W)}}class Pc{constructor(_){this._properties=_,this._values=Object.create(_.defaultPossiblyEvaluatedValues)}get(_){return this._values[_]}}class Wa{constructor(_){this.specification=_}possiblyEvaluate(_,F){if(_.isDataDriven())throw new Error("Value should not be data driven");return _.expression.evaluate(F)}interpolate(_,F,N){let W=Mi[this.specification.type];return W?W(_,F,N):_}}class oi{constructor(_,F){this.specification=_,this.overrides=F}possiblyEvaluate(_,F,N,W){return new ul(this,_.expression.kind==="constant"||_.expression.kind==="camera"?{kind:"constant",value:_.expression.evaluate(F,null,{},N,W)}:_.expression,F)}interpolate(_,F,N){if(_.value.kind!=="constant"||F.value.kind!=="constant")return _;if(_.value.value===void 0||F.value.value===void 0)return new ul(this,{kind:"constant",value:void 0},_.parameters);let W=Mi[this.specification.type];if(W){let J=W(_.value.value,F.value.value,N);return new ul(this,{kind:"constant",value:J},_.parameters)}return _}evaluate(_,F,N,W,J,ee){return _.kind==="constant"?_.value:_.evaluate(F,N,W,J,ee)}}class Ph extends oi{possiblyEvaluate(_,F,N,W){if(_.value===void 0)return new ul(this,{kind:"constant",value:void 0},F);if(_.expression.kind==="constant"){let J=_.expression.evaluate(F,null,{},N,W),ee=_.property.specification.type==="resolvedImage"&&typeof J!="string"?J.name:J,me=this._calculate(ee,ee,ee,F);return new ul(this,{kind:"constant",value:me},F)}if(_.expression.kind==="camera"){let J=this._calculate(_.expression.evaluate({zoom:F.zoom-1}),_.expression.evaluate({zoom:F.zoom}),_.expression.evaluate({zoom:F.zoom+1}),F);return new ul(this,{kind:"constant",value:J},F)}return new ul(this,_.expression,F)}evaluate(_,F,N,W,J,ee){if(_.kind==="source"){let me=_.evaluate(F,N,W,J,ee);return this._calculate(me,me,me,F)}return _.kind==="composite"?this._calculate(_.evaluate({zoom:Math.floor(F.zoom)-1},N,W),_.evaluate({zoom:Math.floor(F.zoom)},N,W),_.evaluate({zoom:Math.floor(F.zoom)+1},N,W),F):_.value}_calculate(_,F,N,W){return W.zoom>W.zoomHistory.lastIntegerZoom?{from:_,to:F}:{from:N,to:F}}interpolate(_){return _}}class pf{constructor(_){this.specification=_}possiblyEvaluate(_,F,N,W){if(_.value!==void 0){if(_.expression.kind==="constant"){let J=_.expression.evaluate(F,null,{},N,W);return this._calculate(J,J,J,F)}return this._calculate(_.expression.evaluate(new Yi(Math.floor(F.zoom-1),F)),_.expression.evaluate(new Yi(Math.floor(F.zoom),F)),_.expression.evaluate(new Yi(Math.floor(F.zoom+1),F)),F)}}_calculate(_,F,N,W){return W.zoom>W.zoomHistory.lastIntegerZoom?{from:_,to:F}:{from:N,to:F}}interpolate(_){return _}}class iu{constructor(_){this.specification=_}possiblyEvaluate(_,F,N,W){return!!_.expression.evaluate(F,null,{},N,W)}interpolate(){return!1}}class K{constructor(_){this.properties=_,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let F in _){let N=_[F];N.specification.overridable&&this.overridableProperties.push(F);let W=this.defaultPropertyValues[F]=new Vs(N,void 0),J=this.defaultTransitionablePropertyValues[F]=new xu(N);this.defaultTransitioningPropertyValues[F]=J.untransitioned(),this.defaultPossiblyEvaluatedValues[F]=W.possiblyEvaluate({})}}}Wr("DataDrivenProperty",oi),Wr("DataConstantProperty",Wa),Wr("CrossFadedDataDrivenProperty",Ph),Wr("CrossFadedProperty",pf),Wr("ColorRampProperty",iu);let b="-transition";class I extends Pe{constructor(_,F){if(super(),this.id=_.id,this.type=_.type,this._featureFilter={filter:()=>!0,needGeometry:!1},_.type!=="custom"&&(this.metadata=_.metadata,this.minzoom=_.minzoom,this.maxzoom=_.maxzoom,_.type!=="background"&&(this.source=_.source,this.sourceLayer=_["source-layer"],this.filter=_.filter),F.layout&&(this._unevaluatedLayout=new Pu(F.layout)),F.paint)){this._transitionablePaint=new au(F.paint);for(let N in _.paint)this.setPaintProperty(N,_.paint[N],{validate:!1});for(let N in _.layout)this.setLayoutProperty(N,_.layout[N],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Pc(F.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(_){return _==="visibility"?this.visibility:this._unevaluatedLayout.getValue(_)}setLayoutProperty(_,F,N={}){F!=null&&this._validate(Vn,`layers.${this.id}.layout.${_}`,_,F,N)||(_!=="visibility"?this._unevaluatedLayout.setValue(_,F):this.visibility=F)}getPaintProperty(_){return _.endsWith(b)?this._transitionablePaint.getTransition(_.slice(0,-11)):this._transitionablePaint.getValue(_)}setPaintProperty(_,F,N={}){if(F!=null&&this._validate(An,`layers.${this.id}.paint.${_}`,_,F,N))return!1;if(_.endsWith(b))return this._transitionablePaint.setTransition(_.slice(0,-11),F||void 0),!1;{let W=this._transitionablePaint._values[_],J=W.property.specification["property-type"]==="cross-faded-data-driven",ee=W.value.isDataDriven(),me=W.value;this._transitionablePaint.setValue(_,F),this._handleSpecialPaintPropertyUpdate(_);let Ce=this._transitionablePaint._values[_].value;return Ce.isDataDriven()||ee||J||this._handleOverridablePaintPropertyUpdate(_,me,Ce)}}_handleSpecialPaintPropertyUpdate(_){}_handleOverridablePaintPropertyUpdate(_,F,N){return!1}isHidden(_){return!!(this.minzoom&&_=this.maxzoom)||this.visibility==="none"}updateTransitions(_){this._transitioningPaint=this._transitionablePaint.transitioned(_,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(_,F){_.getCrossfadeParameters&&(this._crossfadeParameters=_.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(_,void 0,F)),this.paint=this._transitioningPaint.possiblyEvaluate(_,void 0,F)}serialize(){let _={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&&(_.layout=_.layout||{},_.layout.visibility=this.visibility),T(_,((F,N)=>!(F===void 0||N==="layout"&&!Object.keys(F).length||N==="paint"&&!Object.keys(F).length)))}_validate(_,F,N,W,J={}){return(!J||J.validate!==!1)&&tn(this,_.call(Ur,{key:F,layerType:this.type,objectKey:N,value:W,styleSpec:le,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let _ in this.paint._values){let F=this.paint.get(_);if(F instanceof ul&&bs(F.property.specification)&&(F.value.kind==="source"||F.value.kind==="composite")&&F.value.isStateDependent)return!0}return!1}}let G={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class H{constructor(_,F){this._structArray=_,this._pos1=F*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class ${constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(_,F){return _._trim(),F&&(_.isTransferred=!0,F.push(_.arrayBuffer)),{length:_.length,arrayBuffer:_.arrayBuffer}}static deserialize(_){let F=Object.create(this.prototype);return F.arrayBuffer=_.arrayBuffer,F.length=_.length,F.capacity=_.arrayBuffer.byteLength/F.bytesPerElement,F._refreshViews(),F}_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(_){this.reserve(_),this.length=_}reserve(_){if(_>this.capacity){this.capacity=Math.max(_,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let F=this.uint8;this._refreshViews(),F&&this.uint8.set(F)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}}function xe(L,_=1){let F=0,N=0;return{members:L.map((W=>{let J=G[W.type].BYTES_PER_ELEMENT,ee=F=ke(F,Math.max(_,J)),me=W.components||1;return N=Math.max(N,J),F+=J*me,{name:W.name,type:W.type,components:me,offset:ee}})),size:ke(F,Math.max(N,_)),alignment:_}}function ke(L,_){return Math.ceil(L/_)*_}class Ne extends ${_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(_,F){let N=this.length;return this.resize(N+1),this.emplace(N,_,F)}emplace(_,F,N){let W=2*_;return this.int16[W+0]=F,this.int16[W+1]=N,_}}Ne.prototype.bytesPerElement=4,Wr("StructArrayLayout2i4",Ne);class et extends ${_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(_,F,N){let W=this.length;return this.resize(W+1),this.emplace(W,_,F,N)}emplace(_,F,N,W){let J=3*_;return this.int16[J+0]=F,this.int16[J+1]=N,this.int16[J+2]=W,_}}et.prototype.bytesPerElement=6,Wr("StructArrayLayout3i6",et);class bt extends ${_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(_,F,N,W){let J=this.length;return this.resize(J+1),this.emplace(J,_,F,N,W)}emplace(_,F,N,W,J){let ee=4*_;return this.int16[ee+0]=F,this.int16[ee+1]=N,this.int16[ee+2]=W,this.int16[ee+3]=J,_}}bt.prototype.bytesPerElement=8,Wr("StructArrayLayout4i8",bt);class Tt extends ${_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(_,F,N,W,J,ee){let me=this.length;return this.resize(me+1),this.emplace(me,_,F,N,W,J,ee)}emplace(_,F,N,W,J,ee,me){let Ce=6*_;return this.int16[Ce+0]=F,this.int16[Ce+1]=N,this.int16[Ce+2]=W,this.int16[Ce+3]=J,this.int16[Ce+4]=ee,this.int16[Ce+5]=me,_}}Tt.prototype.bytesPerElement=12,Wr("StructArrayLayout2i4i12",Tt);class zt extends ${_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(_,F,N,W,J,ee){let me=this.length;return this.resize(me+1),this.emplace(me,_,F,N,W,J,ee)}emplace(_,F,N,W,J,ee,me){let Ce=4*_,Ve=8*_;return this.int16[Ce+0]=F,this.int16[Ce+1]=N,this.uint8[Ve+4]=W,this.uint8[Ve+5]=J,this.uint8[Ve+6]=ee,this.uint8[Ve+7]=me,_}}zt.prototype.bytesPerElement=8,Wr("StructArrayLayout2i4ub8",zt);class Yt extends ${_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(_,F){let N=this.length;return this.resize(N+1),this.emplace(N,_,F)}emplace(_,F,N){let W=2*_;return this.float32[W+0]=F,this.float32[W+1]=N,_}}Yt.prototype.bytesPerElement=8,Wr("StructArrayLayout2f8",Yt);class Q extends ${_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(_,F,N,W,J,ee,me,Ce,Ve,nt){let wt=this.length;return this.resize(wt+1),this.emplace(wt,_,F,N,W,J,ee,me,Ce,Ve,nt)}emplace(_,F,N,W,J,ee,me,Ce,Ve,nt,wt){let Ct=10*_;return this.uint16[Ct+0]=F,this.uint16[Ct+1]=N,this.uint16[Ct+2]=W,this.uint16[Ct+3]=J,this.uint16[Ct+4]=ee,this.uint16[Ct+5]=me,this.uint16[Ct+6]=Ce,this.uint16[Ct+7]=Ve,this.uint16[Ct+8]=nt,this.uint16[Ct+9]=wt,_}}Q.prototype.bytesPerElement=20,Wr("StructArrayLayout10ui20",Q);class ae extends ${_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(_,F,N,W,J,ee,me,Ce,Ve,nt,wt,Ct){let Rt=this.length;return this.resize(Rt+1),this.emplace(Rt,_,F,N,W,J,ee,me,Ce,Ve,nt,wt,Ct)}emplace(_,F,N,W,J,ee,me,Ce,Ve,nt,wt,Ct,Rt){let jt=12*_;return this.int16[jt+0]=F,this.int16[jt+1]=N,this.int16[jt+2]=W,this.int16[jt+3]=J,this.uint16[jt+4]=ee,this.uint16[jt+5]=me,this.uint16[jt+6]=Ce,this.uint16[jt+7]=Ve,this.int16[jt+8]=nt,this.int16[jt+9]=wt,this.int16[jt+10]=Ct,this.int16[jt+11]=Rt,_}}ae.prototype.bytesPerElement=24,Wr("StructArrayLayout4i4ui4i24",ae);class ve extends ${_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(_,F,N){let W=this.length;return this.resize(W+1),this.emplace(W,_,F,N)}emplace(_,F,N,W){let J=3*_;return this.float32[J+0]=F,this.float32[J+1]=N,this.float32[J+2]=W,_}}ve.prototype.bytesPerElement=12,Wr("StructArrayLayout3f12",ve);class be extends ${_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(_){let F=this.length;return this.resize(F+1),this.emplace(F,_)}emplace(_,F){return this.uint32[1*_+0]=F,_}}be.prototype.bytesPerElement=4,Wr("StructArrayLayout1ul4",be);class De extends ${_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(_,F,N,W,J,ee,me,Ce,Ve){let nt=this.length;return this.resize(nt+1),this.emplace(nt,_,F,N,W,J,ee,me,Ce,Ve)}emplace(_,F,N,W,J,ee,me,Ce,Ve,nt){let wt=10*_,Ct=5*_;return this.int16[wt+0]=F,this.int16[wt+1]=N,this.int16[wt+2]=W,this.int16[wt+3]=J,this.int16[wt+4]=ee,this.int16[wt+5]=me,this.uint32[Ct+3]=Ce,this.uint16[wt+8]=Ve,this.uint16[wt+9]=nt,_}}De.prototype.bytesPerElement=20,Wr("StructArrayLayout6i1ul2ui20",De);class Se extends ${_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(_,F,N,W,J,ee){let me=this.length;return this.resize(me+1),this.emplace(me,_,F,N,W,J,ee)}emplace(_,F,N,W,J,ee,me){let Ce=6*_;return this.int16[Ce+0]=F,this.int16[Ce+1]=N,this.int16[Ce+2]=W,this.int16[Ce+3]=J,this.int16[Ce+4]=ee,this.int16[Ce+5]=me,_}}Se.prototype.bytesPerElement=12,Wr("StructArrayLayout2i2i2i12",Se);class Be extends ${_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(_,F,N,W,J){let ee=this.length;return this.resize(ee+1),this.emplace(ee,_,F,N,W,J)}emplace(_,F,N,W,J,ee){let me=4*_,Ce=8*_;return this.float32[me+0]=F,this.float32[me+1]=N,this.float32[me+2]=W,this.int16[Ce+6]=J,this.int16[Ce+7]=ee,_}}Be.prototype.bytesPerElement=16,Wr("StructArrayLayout2f1f2i16",Be);class ut extends ${_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(_,F,N,W,J,ee){let me=this.length;return this.resize(me+1),this.emplace(me,_,F,N,W,J,ee)}emplace(_,F,N,W,J,ee,me){let Ce=16*_,Ve=4*_,nt=8*_;return this.uint8[Ce+0]=F,this.uint8[Ce+1]=N,this.float32[Ve+1]=W,this.float32[Ve+2]=J,this.int16[nt+6]=ee,this.int16[nt+7]=me,_}}ut.prototype.bytesPerElement=16,Wr("StructArrayLayout2ub2f2i16",ut);class gt extends ${_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(_,F,N){let W=this.length;return this.resize(W+1),this.emplace(W,_,F,N)}emplace(_,F,N,W){let J=3*_;return this.uint16[J+0]=F,this.uint16[J+1]=N,this.uint16[J+2]=W,_}}gt.prototype.bytesPerElement=6,Wr("StructArrayLayout3ui6",gt);class Mt extends ${_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(_,F,N,W,J,ee,me,Ce,Ve,nt,wt,Ct,Rt,jt,Qt,Ar,Pr){let gn=this.length;return this.resize(gn+1),this.emplace(gn,_,F,N,W,J,ee,me,Ce,Ve,nt,wt,Ct,Rt,jt,Qt,Ar,Pr)}emplace(_,F,N,W,J,ee,me,Ce,Ve,nt,wt,Ct,Rt,jt,Qt,Ar,Pr,gn){let Yr=24*_,ln=12*_,Bn=48*_;return this.int16[Yr+0]=F,this.int16[Yr+1]=N,this.uint16[Yr+2]=W,this.uint16[Yr+3]=J,this.uint32[ln+2]=ee,this.uint32[ln+3]=me,this.uint32[ln+4]=Ce,this.uint16[Yr+10]=Ve,this.uint16[Yr+11]=nt,this.uint16[Yr+12]=wt,this.float32[ln+7]=Ct,this.float32[ln+8]=Rt,this.uint8[Bn+36]=jt,this.uint8[Bn+37]=Qt,this.uint8[Bn+38]=Ar,this.uint32[ln+10]=Pr,this.int16[Yr+22]=gn,_}}Mt.prototype.bytesPerElement=48,Wr("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",Mt);class Ft extends ${_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(_,F,N,W,J,ee,me,Ce,Ve,nt,wt,Ct,Rt,jt,Qt,Ar,Pr,gn,Yr,ln,Bn,ga,Za,Ii,Ya,Ua,gi,ai){let Qa=this.length;return this.resize(Qa+1),this.emplace(Qa,_,F,N,W,J,ee,me,Ce,Ve,nt,wt,Ct,Rt,jt,Qt,Ar,Pr,gn,Yr,ln,Bn,ga,Za,Ii,Ya,Ua,gi,ai)}emplace(_,F,N,W,J,ee,me,Ce,Ve,nt,wt,Ct,Rt,jt,Qt,Ar,Pr,gn,Yr,ln,Bn,ga,Za,Ii,Ya,Ua,gi,ai,Qa){let Zn=32*_,wi=16*_;return this.int16[Zn+0]=F,this.int16[Zn+1]=N,this.int16[Zn+2]=W,this.int16[Zn+3]=J,this.int16[Zn+4]=ee,this.int16[Zn+5]=me,this.int16[Zn+6]=Ce,this.int16[Zn+7]=Ve,this.uint16[Zn+8]=nt,this.uint16[Zn+9]=wt,this.uint16[Zn+10]=Ct,this.uint16[Zn+11]=Rt,this.uint16[Zn+12]=jt,this.uint16[Zn+13]=Qt,this.uint16[Zn+14]=Ar,this.uint16[Zn+15]=Pr,this.uint16[Zn+16]=gn,this.uint16[Zn+17]=Yr,this.uint16[Zn+18]=ln,this.uint16[Zn+19]=Bn,this.uint16[Zn+20]=ga,this.uint16[Zn+21]=Za,this.uint16[Zn+22]=Ii,this.uint32[wi+12]=Ya,this.float32[wi+13]=Ua,this.float32[wi+14]=gi,this.uint16[Zn+30]=ai,this.uint16[Zn+31]=Qa,_}}Ft.prototype.bytesPerElement=64,Wr("StructArrayLayout8i15ui1ul2f2ui64",Ft);class Ot extends ${_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(_){let F=this.length;return this.resize(F+1),this.emplace(F,_)}emplace(_,F){return this.float32[1*_+0]=F,_}}Ot.prototype.bytesPerElement=4,Wr("StructArrayLayout1f4",Ot);class er extends ${_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(_,F,N){let W=this.length;return this.resize(W+1),this.emplace(W,_,F,N)}emplace(_,F,N,W){let J=3*_;return this.uint16[6*_+0]=F,this.float32[J+1]=N,this.float32[J+2]=W,_}}er.prototype.bytesPerElement=12,Wr("StructArrayLayout1ui2f12",er);class sr extends ${_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(_,F,N){let W=this.length;return this.resize(W+1),this.emplace(W,_,F,N)}emplace(_,F,N,W){let J=4*_;return this.uint32[2*_+0]=F,this.uint16[J+2]=N,this.uint16[J+3]=W,_}}sr.prototype.bytesPerElement=8,Wr("StructArrayLayout1ul2ui8",sr);class wr extends ${_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(_,F){let N=this.length;return this.resize(N+1),this.emplace(N,_,F)}emplace(_,F,N){let W=2*_;return this.uint16[W+0]=F,this.uint16[W+1]=N,_}}wr.prototype.bytesPerElement=4,Wr("StructArrayLayout2ui4",wr);class Gr extends ${_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(_){let F=this.length;return this.resize(F+1),this.emplace(F,_)}emplace(_,F){return this.uint16[1*_+0]=F,_}}Gr.prototype.bytesPerElement=2,Wr("StructArrayLayout1ui2",Gr);class pn extends ${_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(_,F,N,W){let J=this.length;return this.resize(J+1),this.emplace(J,_,F,N,W)}emplace(_,F,N,W,J){let ee=4*_;return this.float32[ee+0]=F,this.float32[ee+1]=N,this.float32[ee+2]=W,this.float32[ee+3]=J,_}}pn.prototype.bytesPerElement=16,Wr("StructArrayLayout4f16",pn);class cn extends H{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 u(this.anchorPointX,this.anchorPointY)}}cn.prototype.size=20;class kn extends De{get(_){return new cn(this,_)}}Wr("CollisionBoxArray",kn);class ta extends H{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(_){this._structArray.uint8[this._pos1+37]=_}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(_){this._structArray.uint8[this._pos1+38]=_}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(_){this._structArray.uint32[this._pos4+10]=_}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}ta.prototype.size=48;class ka extends Mt{get(_){return new ta(this,_)}}Wr("PlacedSymbolArray",ka);class va extends H{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(_){this._structArray.uint32[this._pos4+12]=_}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]}}va.prototype.size=64;class Xa extends Ft{get(_){return new va(this,_)}}Wr("SymbolInstanceArray",Xa);class Ai extends Ot{getoffsetX(_){return this.float32[1*_+0]}}Wr("GlyphOffsetArray",Ai);class di extends et{getx(_){return this.int16[3*_+0]}gety(_){return this.int16[3*_+1]}gettileUnitDistanceFromAnchor(_){return this.int16[3*_+2]}}Wr("SymbolLineVertexArray",di);class xo extends H{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]}}xo.prototype.size=12;class Xi extends er{get(_){return new xo(this,_)}}Wr("TextAnchorOffsetArray",Xi);class Wo extends H{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]}}Wo.prototype.size=8;class fs extends sr{get(_){return new Wo(this,_)}}Wr("FeatureIndexArray",fs);class ws extends Ne{}class qo extends Ne{}class Jo extends Ne{}class Tl extends Tt{}class bu extends zt{}class Gl extends Yt{}class zs extends Q{}class Du extends ae{}class _u extends ve{}class Qs extends be{}class Al extends Se{}class V extends ut{}class Z extends gt{}class ie extends wr{}let _e=xe([{name:"a_pos",components:2,type:"Int16"}],4),{members:Me}=_e;class Le{constructor(_=[]){this.segments=_}prepareSegment(_,F,N,W){let J=this.segments[this.segments.length-1];return _>Le.MAX_VERTEX_ARRAY_LENGTH&&A(`Max vertices per segment is ${Le.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${_}`),(!J||J.vertexLength+_>Le.MAX_VERTEX_ARRAY_LENGTH||J.sortKey!==W)&&(J={vertexOffset:F.length,primitiveOffset:N.length,vertexLength:0,primitiveLength:0},W!==void 0&&(J.sortKey=W),this.segments.push(J)),J}get(){return this.segments}destroy(){for(let _ of this.segments)for(let F in _.vaos)_.vaos[F].destroy()}static simpleSegment(_,F,N,W){return new Le([{vertexOffset:_,primitiveOffset:F,vertexLength:N,primitiveLength:W,vaos:{},sortKey:0}])}}function at(L,_){return 256*(L=M(Math.floor(L),0,255))+M(Math.floor(_),0,255)}Le.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Wr("SegmentVector",Le);let je=xe([{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 xt={exports:{}},Dt={exports:{}};Dt.exports=function(L,_){var F,N,W,J,ee,me,Ce,Ve;for(N=L.length-(F=3&L.length),W=_,ee=3432918353,me=461845907,Ve=0;Ve>>16)*ee&65535)<<16)&4294967295)<<15|Ce>>>17))*me+(((Ce>>>16)*me&65535)<<16)&4294967295)<<13|W>>>19))+((5*(W>>>16)&65535)<<16)&4294967295))+((58964+(J>>>16)&65535)<<16);switch(Ce=0,F){case 3:Ce^=(255&L.charCodeAt(Ve+2))<<16;case 2:Ce^=(255&L.charCodeAt(Ve+1))<<8;case 1:W^=Ce=(65535&(Ce=(Ce=(65535&(Ce^=255&L.charCodeAt(Ve)))*ee+(((Ce>>>16)*ee&65535)<<16)&4294967295)<<15|Ce>>>17))*me+(((Ce>>>16)*me&65535)<<16)&4294967295}return W^=L.length,W=2246822507*(65535&(W^=W>>>16))+((2246822507*(W>>>16)&65535)<<16)&4294967295,W=3266489909*(65535&(W^=W>>>13))+((3266489909*(W>>>16)&65535)<<16)&4294967295,(W^=W>>>16)>>>0};var It=Dt.exports,ar={exports:{}};ar.exports=function(L,_){for(var F,N=L.length,W=_^N,J=0;N>=4;)F=1540483477*(65535&(F=255&L.charCodeAt(J)|(255&L.charCodeAt(++J))<<8|(255&L.charCodeAt(++J))<<16|(255&L.charCodeAt(++J))<<24))+((1540483477*(F>>>16)&65535)<<16),W=1540483477*(65535&W)+((1540483477*(W>>>16)&65535)<<16)^(F=1540483477*(65535&(F^=F>>>24))+((1540483477*(F>>>16)&65535)<<16)),N-=4,++J;switch(N){case 3:W^=(255&L.charCodeAt(J+2))<<16;case 2:W^=(255&L.charCodeAt(J+1))<<8;case 1:W=1540483477*(65535&(W^=255&L.charCodeAt(J)))+((1540483477*(W>>>16)&65535)<<16)}return W=1540483477*(65535&(W^=W>>>13))+((1540483477*(W>>>16)&65535)<<16),(W^=W>>>15)>>>0};var rr=It,Dr=ar.exports;xt.exports=rr,xt.exports.murmur3=rr,xt.exports.murmur2=Dr;var Hr=o(xt.exports);class hr{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(_,F,N,W){this.ids.push(Tr(_)),this.positions.push(F,N,W)}getPositions(_){if(!this.indexed)throw new Error("Trying to get index, but feature positions are not indexed");let F=Tr(_),N=0,W=this.ids.length-1;for(;N>1;this.ids[ee]>=F?W=ee:N=ee+1}let J=[];for(;this.ids[N]===F;)J.push({index:this.positions[3*N],start:this.positions[3*N+1],end:this.positions[3*N+2]}),N++;return J}static serialize(_,F){let N=new Float64Array(_.ids),W=new Uint32Array(_.positions);return Lr(N,W,0,N.length-1),F&&F.push(N.buffer,W.buffer),{ids:N,positions:W}}static deserialize(_){let F=new hr;return F.ids=_.ids,F.positions=_.positions,F.indexed=!0,F}}function Tr(L){let _=+L;return!isNaN(_)&&_<=Number.MAX_SAFE_INTEGER?_:Hr(String(L))}function Lr(L,_,F,N){for(;F>1],J=F-1,ee=N+1;for(;;){do J++;while(L[J]W);if(J>=ee)break;Vr(L,J,ee),Vr(_,3*J,3*ee),Vr(_,3*J+1,3*ee+1),Vr(_,3*J+2,3*ee+2)}ee-F`u_${W}`)),this.type=N}setUniform(_,F,N){_.set(N.constantOr(this.value))}getBinding(_,F,N){return this.type==="color"?new On(_,F):new br(_,F)}}class za{constructor(_,F){this.uniformNames=F.map((N=>`u_${N}`)),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(_,F){this.pixelRatioFrom=F.pixelRatio,this.pixelRatioTo=_.pixelRatio,this.patternFrom=F.tlbr,this.patternTo=_.tlbr}setUniform(_,F,N,W){let J=W==="u_pattern_to"?this.patternTo:W==="u_pattern_from"?this.patternFrom:W==="u_pixel_ratio_to"?this.pixelRatioTo:W==="u_pixel_ratio_from"?this.pixelRatioFrom:null;J&&_.set(J)}getBinding(_,F,N){return N.substr(0,9)==="u_pattern"?new Ln(_,F):new br(_,F)}}class bi{constructor(_,F,N,W){this.expression=_,this.type=N,this.maxValue=0,this.paintVertexAttributes=F.map((J=>({name:`a_${J}`,type:"Float32",components:N==="color"?2:1,offset:0}))),this.paintVertexArray=new W}populatePaintArray(_,F,N,W,J){let ee=this.paintVertexArray.length,me=this.expression.evaluate(new Yi(0),F,{},W,[],J);this.paintVertexArray.resize(_),this._setPaintValue(ee,_,me)}updatePaintArray(_,F,N,W){let J=this.expression.evaluate({zoom:0},N,W);this._setPaintValue(_,F,J)}_setPaintValue(_,F,N){if(this.type==="color"){let W=xa(N);for(let J=_;J`u_${me}_t`)),this.type=N,this.useIntegerZoom=W,this.zoom=J,this.maxValue=0,this.paintVertexAttributes=F.map((me=>({name:`a_${me}`,type:"Float32",components:N==="color"?4:2,offset:0}))),this.paintVertexArray=new ee}populatePaintArray(_,F,N,W,J){let ee=this.expression.evaluate(new Yi(this.zoom),F,{},W,[],J),me=this.expression.evaluate(new Yi(this.zoom+1),F,{},W,[],J),Ce=this.paintVertexArray.length;this.paintVertexArray.resize(_),this._setPaintValue(Ce,_,ee,me)}updatePaintArray(_,F,N,W){let J=this.expression.evaluate({zoom:this.zoom},N,W),ee=this.expression.evaluate({zoom:this.zoom+1},N,W);this._setPaintValue(_,F,J,ee)}_setPaintValue(_,F,N,W){if(this.type==="color"){let J=xa(N),ee=xa(W);for(let me=_;me`#define HAS_UNIFORM_${W}`)))}return _}getBinderAttributes(){let _=[];for(let F in this.binders){let N=this.binders[F];if(N instanceof bi||N instanceof Da)for(let W=0;W!0)){this.programConfigurations={};for(let W of _)this.programConfigurations[W.id]=new Fo(W,F,N);this.needsUpload=!1,this._featureMap=new hr,this._bufferOffset=0}populatePaintArrays(_,F,N,W,J,ee){for(let me in this.programConfigurations)this.programConfigurations[me].populatePaintArrays(_,F,W,J,ee);F.id!==void 0&&this._featureMap.add(F.id,N,this._bufferOffset,_),this._bufferOffset=_,this.needsUpload=!0}updatePaintArrays(_,F,N,W){for(let J of N)this.needsUpload=this.programConfigurations[J.id].updatePaintArrays(_,this._featureMap,F,J,W)||this.needsUpload}get(_){return this.programConfigurations[_]}upload(_){if(this.needsUpload){for(let F in this.programConfigurations)this.programConfigurations[F].upload(_);this.needsUpload=!1}}destroy(){for(let _ in this.programConfigurations)this.programConfigurations[_].destroy()}}function Yo(L,_){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"]}[L]||[L.replace(`${_}-`,"").replace(/-/g,"_")]}function ma(L,_,F){let N={color:{source:Yt,composite:pn},number:{source:Ot,composite:Yt}},W=(function(J){return{"line-pattern":{source:zs,composite:zs},"fill-pattern":{source:zs,composite:zs},"fill-extrusion-pattern":{source:zs,composite:zs}}[J]})(L);return W&&W[F]||N[_][F]}Wr("ConstantBinder",Ba),Wr("CrossFadedConstantBinder",za),Wr("SourceExpressionBinder",bi),Wr("CrossFadedCompositeBinder",si),Wr("CompositeExpressionBinder",Da),Wr("ProgramConfiguration",Fo,{omit:["_buffers"]}),Wr("ProgramConfigurationSet",Ps);let $a=8192,Ri=Math.pow(2,14)-1,To=-Ri-1;function Qo(L){let _=$a/L.extent,F=L.loadGeometry();for(let N=0;Nee.x+1||Ceee.y+1)&&A("Geometry exceeds allowed extent, reduce your vector tile buffer size")}}return F}function Gs(L,_){return{type:L.type,id:L.id,properties:L.properties,geometry:_?Qo(L):[]}}function ou(L,_,F,N,W){L.emplaceBack(2*_+(N+1)/2,2*F+(W+1)/2)}class wu{constructor(_){this.zoom=_.zoom,this.overscaling=_.overscaling,this.layers=_.layers,this.layerIds=this.layers.map((F=>F.id)),this.index=_.index,this.hasPattern=!1,this.layoutVertexArray=new qo,this.indexArray=new Z,this.segments=new Le,this.programConfigurations=new Ps(_.layers,_.zoom),this.stateDependentLayerIds=this.layers.filter((F=>F.isStateDependent())).map((F=>F.id))}populate(_,F,N){let W=this.layers[0],J=[],ee=null,me=!1;W.type==="circle"&&(ee=W.layout.get("circle-sort-key"),me=!ee.isConstant());for(let{feature:Ce,id:Ve,index:nt,sourceLayerIndex:wt}of _){let Ct=this.layers[0]._featureFilter.needGeometry,Rt=Gs(Ce,Ct);if(!this.layers[0]._featureFilter.filter(new Yi(this.zoom),Rt,N))continue;let jt=me?ee.evaluate(Rt,{},N):void 0,Qt={id:Ve,properties:Ce.properties,type:Ce.type,sourceLayerIndex:wt,index:nt,geometry:Ct?Rt.geometry:Qo(Ce),patterns:{},sortKey:jt};J.push(Qt)}me&&J.sort(((Ce,Ve)=>Ce.sortKey-Ve.sortKey));for(let Ce of J){let{geometry:Ve,index:nt,sourceLayerIndex:wt}=Ce,Ct=_[nt].feature;this.addFeature(Ce,Ve,nt,N),F.featureIndex.insert(Ct,Ve,nt,wt,this.index)}}update(_,F,N){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(_,F,this.stateDependentLayers,N)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(_){this.uploaded||(this.layoutVertexBuffer=_.createVertexBuffer(this.layoutVertexArray,Me),this.indexBuffer=_.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(_),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(_,F,N,W){for(let J of F)for(let ee of J){let me=ee.x,Ce=ee.y;if(me<0||me>=$a||Ce<0||Ce>=$a)continue;let Ve=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,_.sortKey),nt=Ve.vertexLength;ou(this.layoutVertexArray,me,Ce,-1,-1),ou(this.layoutVertexArray,me,Ce,1,-1),ou(this.layoutVertexArray,me,Ce,1,1),ou(this.layoutVertexArray,me,Ce,-1,1),this.indexArray.emplaceBack(nt,nt+1,nt+2),this.indexArray.emplaceBack(nt,nt+3,nt+2),Ve.vertexLength+=4,Ve.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,_,N,{},W)}}function Dc(L,_){for(let F=0;F1){if(Kt(L,_))return!0;for(let N=0;N<_.length;N++)if(dr(_[N],L,F))return!0}for(let N=0;N1?F:F.sub(_)._mult(W)._add(_))}function Rr(L,_){let F,N,W,J=!1;for(let ee=0;ee_.y!=W.y>_.y&&_.x<(W.x-N.x)*(_.y-N.y)/(W.y-N.y)+N.x&&(J=!J)}return J}function Xr(L,_){let F=!1;for(let N=0,W=L.length-1;N_.y!=ee.y>_.y&&_.x<(ee.x-J.x)*(_.y-J.y)/(ee.y-J.y)+J.x&&(F=!F)}return F}function $r(L,_,F){let N=F[0],W=F[2];if(L.xW.x&&_.x>W.x||L.yW.y&&_.y>W.y)return!1;let J=P(L,_,F[0]);return J!==P(L,_,F[1])||J!==P(L,_,F[2])||J!==P(L,_,F[3])}function Kr(L,_,F){let N=_.paint.get(L).value;return N.kind==="constant"?N.value:F.programConfigurations.get(_.id).getMaxValue(L)}function Hn(L){return Math.sqrt(L[0]*L[0]+L[1]*L[1])}function Cn(L,_,F,N,W){if(!_[0]&&!_[1])return L;let J=u.convert(_)._mult(W);F==="viewport"&&J._rotate(-N);let ee=[];for(let me=0;meMr(Ar,Qt)))})(Ve,Ce),Rt=wt?nt*me:nt;for(let jt of W)for(let Qt of jt){let Ar=wt?Qt:Mr(Qt,Ce),Pr=Rt,gn=Gn([],[Qt.x,Qt.y,0,1],Ce);if(this.paint.get("circle-pitch-scale")==="viewport"&&this.paint.get("circle-pitch-alignment")==="map"?Pr*=gn[3]/ee.cameraToCenterDistance:this.paint.get("circle-pitch-scale")==="map"&&this.paint.get("circle-pitch-alignment")==="viewport"&&(Pr*=ee.cameraToCenterDistance/gn[3]),pe(Ct,Ar,Pr))return!0}return!1}}function Mr(L,_){let F=Gn([],[L.x,L.y,0,1],_);return new u(F[0]/F[3],F[1]/F[3])}class _n extends wu{}let an;Wr("HeatmapBucket",_n,{omit:["layers"]});var Jr={get paint(){return an=an||new K({"heatmap-radius":new oi(le.paint_heatmap["heatmap-radius"]),"heatmap-weight":new oi(le.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new Wa(le.paint_heatmap["heatmap-intensity"]),"heatmap-color":new iu(le.paint_heatmap["heatmap-color"]),"heatmap-opacity":new Wa(le.paint_heatmap["heatmap-opacity"])})}};function Qr(L,{width:_,height:F},N,W){if(W){if(W instanceof Uint8ClampedArray)W=new Uint8Array(W.buffer);else if(W.length!==_*F*N)throw new RangeError(`mismatched image size. expected: ${W.length} but got: ${_*F*N}`)}else W=new Uint8Array(_*F*N);return L.width=_,L.height=F,L.data=W,L}function wn(L,{width:_,height:F},N){if(_===L.width&&F===L.height)return;let W=Qr({},{width:_,height:F},N);jn(L,W,{x:0,y:0},{x:0,y:0},{width:Math.min(L.width,_),height:Math.min(L.height,F)},N),L.width=_,L.height=F,L.data=W.data}function jn(L,_,F,N,W,J){if(W.width===0||W.height===0)return _;if(W.width>L.width||W.height>L.height||F.x>L.width-W.width||F.y>L.height-W.height)throw new RangeError("out of range source coordinates for image copy");if(W.width>_.width||W.height>_.height||N.x>_.width-W.width||N.y>_.height-W.height)throw new RangeError("out of range destination coordinates for image copy");let ee=L.data,me=_.data;if(ee===me)throw new Error("srcData equals dstData, so image is already copied");for(let Ce=0;Ce{_[L.evaluationKey]=Ce;let Ve=L.expression.evaluate(_);W.data[ee+me+0]=Math.floor(255*Ve.r/Ve.a),W.data[ee+me+1]=Math.floor(255*Ve.g/Ve.a),W.data[ee+me+2]=Math.floor(255*Ve.b/Ve.a),W.data[ee+me+3]=Math.floor(255*Ve.a)};if(L.clips)for(let ee=0,me=0;ee80*F){me=1/0,Ce=1/0;let nt=-1/0,wt=-1/0;for(let Ct=F;Ctnt&&(nt=Rt),jt>wt&&(wt=jt)}Ve=Math.max(nt-me,wt-Ce),Ve=Ve!==0?32767/Ve:0}return Ds(J,ee,F,me,Ce,Ve,0),ee}function Ts(L,_,F,N,W){let J;if(W===(function(ee,me,Ce,Ve){let nt=0;for(let wt=me,Ct=Ce-Ve;wt0)for(let ee=_;ee=_;ee-=N)J=Pn(ee/N|0,L[ee],L[ee+1],J);return J&&it(J,J.next)&&($e(J),J=J.next),J}function es(L,_){if(!L)return L;_||(_=L);let F,N=L;do if(F=!1,N.steiner||!it(N,N.next)&&ti(N.prev,N,N.next)!==0)N=N.next;else{if($e(N),N=_=N.prev,N===N.next)break;F=!0}while(F||N!==_);return _}function Ds(L,_,F,N,W,J,ee){if(!L)return;!ee&&J&&(function(Ce,Ve,nt,wt){let Ct=Ce;do Ct.z===0&&(Ct.z=js(Ct.x,Ct.y,Ve,nt,wt)),Ct.prevZ=Ct.prev,Ct.nextZ=Ct.next,Ct=Ct.next;while(Ct!==Ce);Ct.prevZ.nextZ=null,Ct.prevZ=null,(function(Rt){let jt,Qt=1;do{let Ar,Pr=Rt;Rt=null;let gn=null;for(jt=0;Pr;){jt++;let Yr=Pr,ln=0;for(let ga=0;ga0||Bn>0&&Yr;)ln!==0&&(Bn===0||!Yr||Pr.z<=Yr.z)?(Ar=Pr,Pr=Pr.nextZ,ln--):(Ar=Yr,Yr=Yr.nextZ,Bn--),gn?gn.nextZ=Ar:Rt=Ar,Ar.prevZ=gn,gn=Ar;Pr=Yr}gn.nextZ=null,Qt*=2}while(jt>1)})(Ct)})(L,N,W,J);let me=L;for(;L.prev!==L.next;){let Ce=L.prev,Ve=L.next;if(J?Ro(L,N,W,J):Do(L))_.push(Ce.i,L.i,Ve.i),$e(L),L=Ve.next,me=Ve.next;else if((L=Ve)===me){ee?ee===1?Ds(L=Uo(es(L),_),_,F,N,W,J,2):ee===2&&Sa(L,_,F,N,W,J):Ds(es(L),_,F,N,W,J,1);break}}}function Do(L){let _=L.prev,F=L,N=L.next;if(ti(_,F,N)>=0)return!1;let W=_.x,J=F.x,ee=N.x,me=_.y,Ce=F.y,Ve=N.y,nt=WJ?W>ee?W:ee:J>ee?J:ee,Rt=me>Ce?me>Ve?me:Ve:Ce>Ve?Ce:Ve,jt=N.next;for(;jt!==_;){if(jt.x>=nt&&jt.x<=Ct&&jt.y>=wt&&jt.y<=Rt&&ha(W,me,J,Ce,ee,Ve,jt.x,jt.y)&&ti(jt.prev,jt,jt.next)>=0)return!1;jt=jt.next}return!0}function Ro(L,_,F,N){let W=L.prev,J=L,ee=L.next;if(ti(W,J,ee)>=0)return!1;let me=W.x,Ce=J.x,Ve=ee.x,nt=W.y,wt=J.y,Ct=ee.y,Rt=meCe?me>Ve?me:Ve:Ce>Ve?Ce:Ve,Ar=nt>wt?nt>Ct?nt:Ct:wt>Ct?wt:Ct,Pr=js(Rt,jt,_,F,N),gn=js(Qt,Ar,_,F,N),Yr=L.prevZ,ln=L.nextZ;for(;Yr&&Yr.z>=Pr&&ln&&ln.z<=gn;){if(Yr.x>=Rt&&Yr.x<=Qt&&Yr.y>=jt&&Yr.y<=Ar&&Yr!==W&&Yr!==ee&&ha(me,nt,Ce,wt,Ve,Ct,Yr.x,Yr.y)&&ti(Yr.prev,Yr,Yr.next)>=0||(Yr=Yr.prevZ,ln.x>=Rt&&ln.x<=Qt&&ln.y>=jt&&ln.y<=Ar&&ln!==W&&ln!==ee&&ha(me,nt,Ce,wt,Ve,Ct,ln.x,ln.y)&&ti(ln.prev,ln,ln.next)>=0))return!1;ln=ln.nextZ}for(;Yr&&Yr.z>=Pr;){if(Yr.x>=Rt&&Yr.x<=Qt&&Yr.y>=jt&&Yr.y<=Ar&&Yr!==W&&Yr!==ee&&ha(me,nt,Ce,wt,Ve,Ct,Yr.x,Yr.y)&&ti(Yr.prev,Yr,Yr.next)>=0)return!1;Yr=Yr.prevZ}for(;ln&&ln.z<=gn;){if(ln.x>=Rt&&ln.x<=Qt&&ln.y>=jt&&ln.y<=Ar&&ln!==W&&ln!==ee&&ha(me,nt,Ce,wt,Ve,Ct,ln.x,ln.y)&&ti(ln.prev,ln,ln.next)>=0)return!1;ln=ln.nextZ}return!0}function Uo(L,_){let F=L;do{let N=F.prev,W=F.next.next;!it(N,W)&&ir(N,F,F.next,W)&&Ga(N,W)&&Ga(W,N)&&(_.push(N.i,F.i,W.i),$e(F),$e(F.next),F=L=W),F=F.next}while(F!==L);return es(F)}function Sa(L,_,F,N,W,J){let ee=L;do{let me=ee.next.next;for(;me!==ee.prev;){if(ee.i!==me.i&&Ka(ee,me)){let Ce=Li(ee,me);return ee=es(ee,ee.next),Ce=es(Ce,Ce.next),Ds(ee,_,F,N,W,J,0),void Ds(Ce,_,F,N,W,J,0)}me=me.next}ee=ee.next}while(ee!==L)}function ts(L,_){return L.x-_.x}function qi(L,_){let F=(function(W,J){let ee=J,me=W.x,Ce=W.y,Ve,nt=-1/0;do{if(Ce<=ee.y&&Ce>=ee.next.y&&ee.next.y!==ee.y){let Qt=ee.x+(Ce-ee.y)*(ee.next.x-ee.x)/(ee.next.y-ee.y);if(Qt<=me&&Qt>nt&&(nt=Qt,Ve=ee.x=ee.x&&ee.x>=Ct&&me!==ee.x&&ha(CeVe.x||ee.x===Ve.x&&Hs(Ve,ee)))&&(Ve=ee,jt=Qt)}ee=ee.next}while(ee!==wt);return Ve})(L,_);if(!F)return _;let N=Li(F,L);return es(N,N.next),es(F,F.next)}function Hs(L,_){return ti(L.prev,L,_.prev)<0&&ti(_.next,L,L.next)<0}function js(L,_,F,N,W){return(L=1431655765&((L=858993459&((L=252645135&((L=16711935&((L=(L-F)*W|0)|L<<8))|L<<4))|L<<2))|L<<1))|(_=1431655765&((_=858993459&((_=252645135&((_=16711935&((_=(_-N)*W|0)|_<<8))|_<<4))|_<<2))|_<<1))<<1}function fl(L){let _=L,F=L;do(_.x=(L-ee)*(J-me)&&(L-ee)*(N-me)>=(F-ee)*(_-me)&&(F-ee)*(J-me)>=(W-ee)*(N-me)}function Ka(L,_){return L.next.i!==_.i&&L.prev.i!==_.i&&!(function(F,N){let W=F;do{if(W.i!==F.i&&W.next.i!==F.i&&W.i!==N.i&&W.next.i!==N.i&&ir(W,W.next,F,N))return!0;W=W.next}while(W!==F);return!1})(L,_)&&(Ga(L,_)&&Ga(_,L)&&(function(F,N){let W=F,J=!1,ee=(F.x+N.x)/2,me=(F.y+N.y)/2;do W.y>me!=W.next.y>me&&W.next.y!==W.y&&ee<(W.next.x-W.x)*(me-W.y)/(W.next.y-W.y)+W.x&&(J=!J),W=W.next;while(W!==F);return J})(L,_)&&(ti(L.prev,L,_.prev)||ti(L,_.prev,_))||it(L,_)&&ti(L.prev,L,L.next)>0&&ti(_.prev,_,_.next)>0)}function ti(L,_,F){return(_.y-L.y)*(F.x-_.x)-(_.x-L.x)*(F.y-_.y)}function it(L,_){return L.x===_.x&&L.y===_.y}function ir(L,_,F,N){let W=Fn(ti(L,_,F)),J=Fn(ti(L,_,N)),ee=Fn(ti(F,N,L)),me=Fn(ti(F,N,_));return W!==J&&ee!==me||!(W!==0||!or(L,F,_))||!(J!==0||!or(L,N,_))||!(ee!==0||!or(F,L,N))||!(me!==0||!or(F,_,N))}function or(L,_,F){return _.x<=Math.max(L.x,F.x)&&_.x>=Math.min(L.x,F.x)&&_.y<=Math.max(L.y,F.y)&&_.y>=Math.min(L.y,F.y)}function Fn(L){return L>0?1:L<0?-1:0}function Ga(L,_){return ti(L.prev,L,L.next)<0?ti(L,_,L.next)>=0&&ti(L,L.prev,_)>=0:ti(L,_,L.prev)<0||ti(L,L.next,_)<0}function Li(L,_){let F=ct(L.i,L.x,L.y),N=ct(_.i,_.x,_.y),W=L.next,J=_.prev;return L.next=_,_.prev=L,F.next=W,W.prev=F,N.next=F,F.prev=N,J.next=N,N.prev=J,N}function Pn(L,_,F,N){let W=ct(L,_,F);return N?(W.next=N.next,W.prev=N,N.next.prev=W,N.next=W):(W.prev=W,W.next=W),W}function $e(L){L.next.prev=L.prev,L.prev.next=L.next,L.prevZ&&(L.prevZ.nextZ=L.nextZ),L.nextZ&&(L.nextZ.prevZ=L.prevZ)}function ct(L,_,F){return{i:L,x:_,y:F,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function Et(L,_,F){let N=F.patternDependencies,W=!1;for(let J of _){let ee=J.paint.get(`${L}-pattern`);ee.isConstant()||(W=!0);let me=ee.constantOr(null);me&&(W=!0,N[me.to]=!0,N[me.from]=!0)}return W}function nr(L,_,F,N,W){let J=W.patternDependencies;for(let ee of _){let me=ee.paint.get(`${L}-pattern`).value;if(me.kind!=="constant"){let Ce=me.evaluate({zoom:N-1},F,{},W.availableImages),Ve=me.evaluate({zoom:N},F,{},W.availableImages),nt=me.evaluate({zoom:N+1},F,{},W.availableImages);Ce=Ce&&Ce.name?Ce.name:Ce,Ve=Ve&&Ve.name?Ve.name:Ve,nt=nt&&nt.name?nt.name:nt,J[Ce]=!0,J[Ve]=!0,J[nt]=!0,F.patterns[ee.id]={min:Ce,mid:Ve,max:nt}}}return F}class vr{constructor(_){this.zoom=_.zoom,this.overscaling=_.overscaling,this.layers=_.layers,this.layerIds=this.layers.map((F=>F.id)),this.index=_.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Jo,this.indexArray=new Z,this.indexArray2=new ie,this.programConfigurations=new Ps(_.layers,_.zoom),this.segments=new Le,this.segments2=new Le,this.stateDependentLayerIds=this.layers.filter((F=>F.isStateDependent())).map((F=>F.id))}populate(_,F,N){this.hasPattern=Et("fill",this.layers,F);let W=this.layers[0].layout.get("fill-sort-key"),J=!W.isConstant(),ee=[];for(let{feature:me,id:Ce,index:Ve,sourceLayerIndex:nt}of _){let wt=this.layers[0]._featureFilter.needGeometry,Ct=Gs(me,wt);if(!this.layers[0]._featureFilter.filter(new Yi(this.zoom),Ct,N))continue;let Rt=J?W.evaluate(Ct,{},N,F.availableImages):void 0,jt={id:Ce,properties:me.properties,type:me.type,sourceLayerIndex:nt,index:Ve,geometry:wt?Ct.geometry:Qo(me),patterns:{},sortKey:Rt};ee.push(jt)}J&&ee.sort(((me,Ce)=>me.sortKey-Ce.sortKey));for(let me of ee){let{geometry:Ce,index:Ve,sourceLayerIndex:nt}=me;if(this.hasPattern){let wt=nr("fill",this.layers,me,this.zoom,F);this.patternFeatures.push(wt)}else this.addFeature(me,Ce,Ve,N,{});F.featureIndex.insert(_[Ve].feature,Ce,Ve,nt,this.index)}}update(_,F,N){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(_,F,this.stateDependentLayers,N)}addFeatures(_,F,N){for(let W of this.patternFeatures)this.addFeature(W,W.geometry,W.index,F,N)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(_){this.uploaded||(this.layoutVertexBuffer=_.createVertexBuffer(this.layoutVertexArray,cl),this.indexBuffer=_.createIndexBuffer(this.indexArray),this.indexBuffer2=_.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(_),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(_,F,N,W,J){for(let ee of Lf(F,500)){let me=0;for(let Rt of ee)me+=Rt.length;let Ce=this.segments.prepareSegment(me,this.layoutVertexArray,this.indexArray),Ve=Ce.vertexLength,nt=[],wt=[];for(let Rt of ee){if(Rt.length===0)continue;Rt!==ee[0]&&wt.push(nt.length/2);let jt=this.segments2.prepareSegment(Rt.length,this.layoutVertexArray,this.indexArray2),Qt=jt.vertexLength;this.layoutVertexArray.emplaceBack(Rt[0].x,Rt[0].y),this.indexArray2.emplaceBack(Qt+Rt.length-1,Qt),nt.push(Rt[0].x),nt.push(Rt[0].y);for(let Ar=1;Ar>3}if(W--,N===1||N===2)J+=L.readSVarint(),ee+=L.readSVarint(),N===1&&(_&&me.push(_),_=[]),_.push(new Or(J,ee));else{if(N!==7)throw new Error("unknown command "+N);_&&_.push(_[0].clone())}}return _&&me.push(_),me},Tn.prototype.bbox=function(){var L=this._pbf;L.pos=this._geometry;for(var _=L.readVarint()+L.pos,F=1,N=0,W=0,J=0,ee=1/0,me=-1/0,Ce=1/0,Ve=-1/0;L.pos<_;){if(N<=0){var nt=L.readVarint();F=7&nt,N=nt>>3}if(N--,F===1||F===2)(W+=L.readSVarint())me&&(me=W),(J+=L.readSVarint())Ve&&(Ve=J);else if(F!==7)throw new Error("unknown command "+F)}return[ee,Ce,me,Ve]},Tn.prototype.toGeoJSON=function(L,_,F){var N,W,J=this.extent*Math.pow(2,F),ee=this.extent*L,me=this.extent*_,Ce=this.loadGeometry(),Ve=Tn.types[this.type];function nt(Rt){for(var jt=0;jt>3;W=ee===1?N.readString():ee===2?N.readFloat():ee===3?N.readDouble():ee===4?N.readVarint64():ee===5?N.readVarint():ee===6?N.readSVarint():ee===7?N.readBoolean():null}return W})(F))}yn.prototype.feature=function(L){if(L<0||L>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[L];var _=this._pbf.readVarint()+this._pbf.pos;return new Un(this._pbf,_,this.extent,this._keys,this._values)};var In=qn;function fa(L,_,F){if(L===3){var N=new In(F,F.readVarint()+F.pos);N.length&&(_[N.name]=N)}}yr.VectorTile=function(L,_){this.layers=L.readFields(fa,{},_)},yr.VectorTileFeature=Yn,yr.VectorTileLayer=qn;let Zi=yr.VectorTileFeature.types,Ws=Math.pow(2,13);function Ru(L,_,F,N,W,J,ee,me){L.emplaceBack(_,F,2*Math.floor(N*Ws)+ee,W*Ws*2,J*Ws*2,Math.round(me))}class Zc{constructor(_){this.zoom=_.zoom,this.overscaling=_.overscaling,this.layers=_.layers,this.layerIds=this.layers.map((F=>F.id)),this.index=_.index,this.hasPattern=!1,this.layoutVertexArray=new Tl,this.centroidVertexArray=new ws,this.indexArray=new Z,this.programConfigurations=new Ps(_.layers,_.zoom),this.segments=new Le,this.stateDependentLayerIds=this.layers.filter((F=>F.isStateDependent())).map((F=>F.id))}populate(_,F,N){this.features=[],this.hasPattern=Et("fill-extrusion",this.layers,F);for(let{feature:W,id:J,index:ee,sourceLayerIndex:me}of _){let Ce=this.layers[0]._featureFilter.needGeometry,Ve=Gs(W,Ce);if(!this.layers[0]._featureFilter.filter(new Yi(this.zoom),Ve,N))continue;let nt={id:J,sourceLayerIndex:me,index:ee,geometry:Ce?Ve.geometry:Qo(W),properties:W.properties,type:W.type,patterns:{}};this.hasPattern?this.features.push(nr("fill-extrusion",this.layers,nt,this.zoom,F)):this.addFeature(nt,nt.geometry,ee,N,{}),F.featureIndex.insert(W,nt.geometry,ee,me,this.index,!0)}}addFeatures(_,F,N){for(let W of this.features){let{geometry:J}=W;this.addFeature(W,J,W.index,F,N)}}update(_,F,N){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(_,F,this.stateDependentLayers,N)}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(_){this.uploaded||(this.layoutVertexBuffer=_.createVertexBuffer(this.layoutVertexArray,Jt),this.centroidVertexBuffer=_.createVertexBuffer(this.centroidVertexArray,dt.members,!0),this.indexBuffer=_.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(_),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(_,F,N,W,J){for(let ee of Lf(F,500)){let me={x:0,y:0,vertexCount:0},Ce=0;for(let jt of ee)Ce+=jt.length;let Ve=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(let jt of ee){if(jt.length===0||su(jt))continue;let Qt=0;for(let Ar=0;Ar=1){let gn=jt[Ar-1];if(!Vf(Pr,gn)){Ve.vertexLength+4>Le.MAX_VERTEX_ARRAY_LENGTH&&(Ve=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let Yr=Pr.sub(gn)._perp()._unit(),ln=gn.dist(Pr);Qt+ln>32768&&(Qt=0),Ru(this.layoutVertexArray,Pr.x,Pr.y,Yr.x,Yr.y,0,0,Qt),Ru(this.layoutVertexArray,Pr.x,Pr.y,Yr.x,Yr.y,0,1,Qt),me.x+=2*Pr.x,me.y+=2*Pr.y,me.vertexCount+=2,Qt+=ln,Ru(this.layoutVertexArray,gn.x,gn.y,Yr.x,Yr.y,0,0,Qt),Ru(this.layoutVertexArray,gn.x,gn.y,Yr.x,Yr.y,0,1,Qt),me.x+=2*gn.x,me.y+=2*gn.y,me.vertexCount+=2;let Bn=Ve.vertexLength;this.indexArray.emplaceBack(Bn,Bn+2,Bn+1),this.indexArray.emplaceBack(Bn+1,Bn+2,Bn+3),Ve.vertexLength+=4,Ve.primitiveLength+=2}}}}if(Ve.vertexLength+Ce>Le.MAX_VERTEX_ARRAY_LENGTH&&(Ve=this.segments.prepareSegment(Ce,this.layoutVertexArray,this.indexArray)),Zi[_.type]!=="Polygon")continue;let nt=[],wt=[],Ct=Ve.vertexLength;for(let jt of ee)if(jt.length!==0){jt!==ee[0]&&wt.push(nt.length/2);for(let Qt=0;Qt$a)||L.y===_.y&&(L.y<0||L.y>$a)}function su(L){return L.every((_=>_.x<0))||L.every((_=>_.x>$a))||L.every((_=>_.y<0))||L.every((_=>_.y>$a))}let zd;Wr("FillExtrusionBucket",Zc,{omit:["layers","features"]});var HZe={get paint(){return zd=zd||new K({"fill-extrusion-opacity":new Wa(le["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new oi(le["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new Wa(le["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new Wa(le["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new Ph(le["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new oi(le["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new oi(le["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new Wa(le["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})}};class jZe extends I{constructor(_){super(_,HZe)}createBucket(_){return new Zc(_)}queryRadius(){return Hn(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature(_,F,N,W,J,ee,me,Ce){let Ve=Cn(_,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),ee.angle,me),nt=this.paint.get("fill-extrusion-height").evaluate(F,N),wt=this.paint.get("fill-extrusion-base").evaluate(F,N),Ct=(function(jt,Qt,Ar,Pr){let gn=[];for(let Yr of jt){let ln=[Yr.x,Yr.y,0,1];Gn(ln,ln,Qt),gn.push(new u(ln[0]/ln[3],ln[1]/ln[3]))}return gn})(Ve,Ce),Rt=(function(jt,Qt,Ar,Pr){let gn=[],Yr=[],ln=Pr[8]*Qt,Bn=Pr[9]*Qt,ga=Pr[10]*Qt,Za=Pr[11]*Qt,Ii=Pr[8]*Ar,Ya=Pr[9]*Ar,Ua=Pr[10]*Ar,gi=Pr[11]*Ar;for(let ai of jt){let Qa=[],Zn=[];for(let wi of ai){let vi=wi.x,eo=wi.y,Ml=Pr[0]*vi+Pr[4]*eo+Pr[12],dl=Pr[1]*vi+Pr[5]*eo+Pr[13],gf=Pr[2]*vi+Pr[6]*eo+Pr[14],Dv=Pr[3]*vi+Pr[7]*eo+Pr[15],dh=gf+ga,mf=Dv+Za,td=Ml+Ii,rd=dl+Ya,nd=gf+Ua,Xu=Dv+gi,yf=new u((Ml+ln)/mf,(dl+Bn)/mf);yf.z=dh/mf,Qa.push(yf);let Dh=new u(td/Xu,rd/Xu);Dh.z=nd/Xu,Zn.push(Dh)}gn.push(Qa),Yr.push(Zn)}return[gn,Yr]})(W,wt,nt,Ce);return(function(jt,Qt,Ar){let Pr=1/0;ot(Ar,Qt)&&(Pr=xZ(Ar,Qt[0]));for(let gn=0;gnF.id)),this.index=_.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((F=>{this.gradients[F.id]={}})),this.layoutVertexArray=new bu,this.layoutVertexArray2=new Gl,this.indexArray=new Z,this.programConfigurations=new Ps(_.layers,_.zoom),this.segments=new Le,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((F=>F.isStateDependent())).map((F=>F.id))}populate(_,F,N){this.hasPattern=Et("line",this.layers,F);let W=this.layers[0].layout.get("line-sort-key"),J=!W.isConstant(),ee=[];for(let{feature:me,id:Ce,index:Ve,sourceLayerIndex:nt}of _){let wt=this.layers[0]._featureFilter.needGeometry,Ct=Gs(me,wt);if(!this.layers[0]._featureFilter.filter(new Yi(this.zoom),Ct,N))continue;let Rt=J?W.evaluate(Ct,{},N):void 0,jt={id:Ce,properties:me.properties,type:me.type,sourceLayerIndex:nt,index:Ve,geometry:wt?Ct.geometry:Qo(me),patterns:{},sortKey:Rt};ee.push(jt)}J&&ee.sort(((me,Ce)=>me.sortKey-Ce.sortKey));for(let me of ee){let{geometry:Ce,index:Ve,sourceLayerIndex:nt}=me;if(this.hasPattern){let wt=nr("line",this.layers,me,this.zoom,F);this.patternFeatures.push(wt)}else this.addFeature(me,Ce,Ve,N,{});F.featureIndex.insert(_[Ve].feature,Ce,Ve,nt,this.index)}}update(_,F,N){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(_,F,this.stateDependentLayers,N)}addFeatures(_,F,N){for(let W of this.patternFeatures)this.addFeature(W,W.geometry,W.index,F,N)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(_){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=_.createVertexBuffer(this.layoutVertexArray2,ZZe)),this.layoutVertexBuffer=_.createVertexBuffer(this.layoutVertexArray,YZe),this.indexBuffer=_.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(_),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(_){if(_.properties&&Object.prototype.hasOwnProperty.call(_.properties,"mapbox_clip_start")&&Object.prototype.hasOwnProperty.call(_.properties,"mapbox_clip_end"))return{start:+_.properties.mapbox_clip_start,end:+_.properties.mapbox_clip_end}}addFeature(_,F,N,W,J){let ee=this.layers[0].layout,me=ee.get("line-join").evaluate(_,{}),Ce=ee.get("line-cap"),Ve=ee.get("line-miter-limit"),nt=ee.get("line-round-limit");this.lineClips=this.lineFeatureClips(_);for(let wt of F)this.addLine(wt,_,me,Ce,Ve,nt);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,_,N,J,W)}addLine(_,F,N,W,J,ee){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let Pr=0;Pr<_.length-1;Pr++)this.totalDistance+=_[Pr].dist(_[Pr+1]);this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance)}let me=$Ze[F.type]==="Polygon",Ce=_.length;for(;Ce>=2&&_[Ce-1].equals(_[Ce-2]);)Ce--;let Ve=0;for(;Ve0;if(Za&&Pr>Ve){let gi=Ct.dist(Rt);if(gi>2*nt){let ai=Ct.sub(Ct.sub(Rt)._mult(nt/gi)._round());this.updateDistance(Rt,ai),this.addCurrentVertex(ai,Qt,0,0,wt),Rt=ai}}let Ya=Rt&&jt,Ua=Ya?N:me?"butt":W;if(Ya&&Ua==="round"&&(BnJ&&(Ua="bevel"),Ua==="bevel"&&(Bn>2&&(Ua="flipbevel"),Bn100)gn=Ar.mult(-1);else{let gi=Bn*Qt.add(Ar).mag()/Qt.sub(Ar).mag();gn._perp()._mult(gi*(Ii?-1:1))}this.addCurrentVertex(Ct,gn,0,0,wt),this.addCurrentVertex(Ct,gn.mult(-1),0,0,wt)}else if(Ua==="bevel"||Ua==="fakeround"){let gi=-Math.sqrt(Bn*Bn-1),ai=Ii?gi:0,Qa=Ii?0:gi;if(Rt&&this.addCurrentVertex(Ct,Qt,ai,Qa,wt),Ua==="fakeround"){let Zn=Math.round(180*ga/Math.PI/20);for(let wi=1;wi2*nt){let ai=Ct.add(jt.sub(Ct)._mult(nt/gi)._round());this.updateDistance(Ct,ai),this.addCurrentVertex(ai,Ar,0,0,wt),Ct=ai}}}}addCurrentVertex(_,F,N,W,J,ee=!1){let me=F.y*W-F.x,Ce=-F.y-F.x*W;this.addHalfVertex(_,F.x+F.y*N,F.y-F.x*N,ee,!1,N,J),this.addHalfVertex(_,me,Ce,ee,!0,-W,J),this.distance>bZ/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(_,F,N,W,J,ee))}addHalfVertex({x:_,y:F},N,W,J,ee,me,Ce){let Ve=.5*(this.lineClips?this.scaledDistance*(bZ-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((_<<1)+(J?1:0),(F<<1)+(ee?1:0),Math.round(63*N)+128,Math.round(63*W)+128,1+(me===0?0:me<0?-1:1)|(63&Ve)<<2,Ve>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let nt=Ce.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,nt),Ce.primitiveLength++),ee?this.e2=nt:this.e1=nt}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(_,F){this.distance+=_.dist(F),this.updateScaledDistance()}}let _Z,wZ;Wr("LineBucket",OP,{omit:["layers","patternFeatures"]});var TZ={get paint(){return wZ=wZ||new K({"line-opacity":new oi(le.paint_line["line-opacity"]),"line-color":new oi(le.paint_line["line-color"]),"line-translate":new Wa(le.paint_line["line-translate"]),"line-translate-anchor":new Wa(le.paint_line["line-translate-anchor"]),"line-width":new oi(le.paint_line["line-width"]),"line-gap-width":new oi(le.paint_line["line-gap-width"]),"line-offset":new oi(le.paint_line["line-offset"]),"line-blur":new oi(le.paint_line["line-blur"]),"line-dasharray":new pf(le.paint_line["line-dasharray"]),"line-pattern":new Ph(le.paint_line["line-pattern"]),"line-gradient":new iu(le.paint_line["line-gradient"])})},get layout(){return _Z=_Z||new K({"line-cap":new Wa(le.layout_line["line-cap"]),"line-join":new oi(le.layout_line["line-join"]),"line-miter-limit":new Wa(le.layout_line["line-miter-limit"]),"line-round-limit":new Wa(le.layout_line["line-round-limit"]),"line-sort-key":new oi(le.layout_line["line-sort-key"])})}};class JZe extends oi{possiblyEvaluate(_,F){return F=new Yi(Math.floor(F.zoom),{now:F.now,fadeDuration:F.fadeDuration,zoomHistory:F.zoomHistory,transition:F.transition}),super.possiblyEvaluate(_,F)}evaluate(_,F,N,W){return F=k({},F,{zoom:Math.floor(F.zoom)}),super.evaluate(_,F,N,W)}}let sM;class QZe extends I{constructor(_){super(_,TZ),this.gradientVersion=0,sM||(sM=new JZe(TZ.paint.properties["line-width"].specification),sM.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(_){if(_==="line-gradient"){let F=this.gradientExpression();this.stepInterpolant=!!(function(N){return N._styleExpression!==void 0})(F)&&F._styleExpression.expression instanceof En,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values["line-gradient"].value.expression}recalculate(_,F){super.recalculate(_,F),this.paint._values["line-floorwidth"]=sM.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,_)}createBucket(_){return new OP(_)}queryRadius(_){let F=_,N=AZ(Kr("line-width",this,F),Kr("line-gap-width",this,F)),W=Kr("line-offset",this,F);return N/2+Math.abs(W)+Hn(this.paint.get("line-translate"))}queryIntersectsFeature(_,F,N,W,J,ee,me){let Ce=Cn(_,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),ee.angle,me),Ve=me/2*AZ(this.paint.get("line-width").evaluate(F,N),this.paint.get("line-gap-width").evaluate(F,N)),nt=this.paint.get("line-offset").evaluate(F,N);return nt&&(W=(function(wt,Ct){let Rt=[];for(let jt=0;jt=3){for(let Ar=0;Ar0?_+2*L:L}let e$e=xe([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),t$e=xe([{name:"a_projected_pos",components:3,type:"Float32"}],4);xe([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);let r$e=xe([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"},{name:"a_box_real",components:2,type:"Int16"}]);xe([{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 MZ=xe([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),n$e=xe([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function a$e(L,_,F){return L.sections.forEach((N=>{N.text=(function(W,J,ee){let me=J.layout.get("text-transform").evaluate(ee,{});return me==="uppercase"?W=W.toLocaleUpperCase():me==="lowercase"&&(W=W.toLocaleLowerCase()),wo.applyArabicShaping&&(W=wo.applyArabicShaping(W)),W})(N.text,_,F)})),L}xe([{name:"triangle",components:3,type:"Uint16"}]),xe([{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"}]),xe([{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"}]),xe([{type:"Float32",name:"offsetX"}]),xe([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]),xe([{type:"Uint16",name:"textAnchor"},{type:"Float32",components:2,name:"textOffset"}]);let o5={"!":"\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 $c=24,SZ=hl,EZ=function(L,_,F,N,W){var J,ee,me=8*W-N-1,Ce=(1<>1,nt=-7,wt=F?W-1:0,Ct=F?-1:1,Rt=L[_+wt];for(wt+=Ct,J=Rt&(1<<-nt)-1,Rt>>=-nt,nt+=me;nt>0;J=256*J+L[_+wt],wt+=Ct,nt-=8);for(ee=J&(1<<-nt)-1,J>>=-nt,nt+=N;nt>0;ee=256*ee+L[_+wt],wt+=Ct,nt-=8);if(J===0)J=1-Ve;else{if(J===Ce)return ee?NaN:1/0*(Rt?-1:1);ee+=Math.pow(2,N),J-=Ve}return(Rt?-1:1)*ee*Math.pow(2,J-N)},kZ=function(L,_,F,N,W,J){var ee,me,Ce,Ve=8*J-W-1,nt=(1<>1,Ct=W===23?Math.pow(2,-24)-Math.pow(2,-77):0,Rt=N?0:J-1,jt=N?1:-1,Qt=_<0||_===0&&1/_<0?1:0;for(_=Math.abs(_),isNaN(_)||_===1/0?(me=isNaN(_)?1:0,ee=nt):(ee=Math.floor(Math.log(_)/Math.LN2),_*(Ce=Math.pow(2,-ee))<1&&(ee--,Ce*=2),(_+=ee+wt>=1?Ct/Ce:Ct*Math.pow(2,1-wt))*Ce>=2&&(ee++,Ce/=2),ee+wt>=nt?(me=0,ee=nt):ee+wt>=1?(me=(_*Ce-1)*Math.pow(2,W),ee+=wt):(me=_*Math.pow(2,wt-1)*Math.pow(2,W),ee=0));W>=8;L[F+Rt]=255&me,Rt+=jt,me/=256,W-=8);for(ee=ee<0;L[F+Rt]=255&ee,Rt+=jt,ee/=256,Ve-=8);L[F+Rt-jt]|=128*Qt};function hl(L){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(L)?L:new Uint8Array(L||0),this.pos=0,this.type=0,this.length=this.buf.length}hl.Varint=0,hl.Fixed64=1,hl.Bytes=2,hl.Fixed32=5;var NP=4294967296,CZ=1/NP,LZ=typeof TextDecoder=="undefined"?null:new TextDecoder("utf-8");function y1(L){return L.type===hl.Bytes?L.readVarint()+L.pos:L.pos+1}function rb(L,_,F){return F?4294967296*_+(L>>>0):4294967296*(_>>>0)+(L>>>0)}function FZ(L,_,F){var N=_<=16383?1:_<=2097151?2:_<=268435455?3:Math.floor(Math.log(_)/(7*Math.LN2));F.realloc(N);for(var W=F.pos-1;W>=L;W--)F.buf[W+N]=F.buf[W]}function i$e(L,_){for(var F=0;F>>8,L[F+2]=_>>>16,L[F+3]=_>>>24}function PZ(L,_){return(L[_]|L[_+1]<<8|L[_+2]<<16)+(L[_+3]<<24)}hl.prototype={destroy:function(){this.buf=null},readFields:function(L,_,F){for(F=F||this.length;this.pos>3,J=this.pos;this.type=7&N,L(W,_,this),this.pos===J&&this.skip(N)}return _},readMessage:function(L,_){return this.readFields(L,_,this.readVarint()+this.pos)},readFixed32:function(){var L=lM(this.buf,this.pos);return this.pos+=4,L},readSFixed32:function(){var L=PZ(this.buf,this.pos);return this.pos+=4,L},readFixed64:function(){var L=lM(this.buf,this.pos)+lM(this.buf,this.pos+4)*NP;return this.pos+=8,L},readSFixed64:function(){var L=lM(this.buf,this.pos)+PZ(this.buf,this.pos+4)*NP;return this.pos+=8,L},readFloat:function(){var L=EZ(this.buf,this.pos,!0,23,4);return this.pos+=4,L},readDouble:function(){var L=EZ(this.buf,this.pos,!0,52,8);return this.pos+=8,L},readVarint:function(L){var _,F,N=this.buf;return _=127&(F=N[this.pos++]),F<128?_:(_|=(127&(F=N[this.pos++]))<<7,F<128?_:(_|=(127&(F=N[this.pos++]))<<14,F<128?_:(_|=(127&(F=N[this.pos++]))<<21,F<128?_:(function(W,J,ee){var me,Ce,Ve=ee.buf;if(me=(112&(Ce=Ve[ee.pos++]))>>4,Ce<128||(me|=(127&(Ce=Ve[ee.pos++]))<<3,Ce<128)||(me|=(127&(Ce=Ve[ee.pos++]))<<10,Ce<128)||(me|=(127&(Ce=Ve[ee.pos++]))<<17,Ce<128)||(me|=(127&(Ce=Ve[ee.pos++]))<<24,Ce<128)||(me|=(1&(Ce=Ve[ee.pos++]))<<31,Ce<128))return rb(W,me,J);throw new Error("Expected varint not more than 10 bytes")})(_|=(15&(F=N[this.pos]))<<28,L,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var L=this.readVarint();return L%2==1?(L+1)/-2:L/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var L=this.readVarint()+this.pos,_=this.pos;return this.pos=L,L-_>=12&&LZ?(function(F,N,W){return LZ.decode(F.subarray(N,W))})(this.buf,_,L):(function(F,N,W){for(var J="",ee=N;ee239?4:nt>223?3:nt>191?2:1;if(ee+Ct>W)break;Ct===1?nt<128&&(wt=nt):Ct===2?(192&(me=F[ee+1]))==128&&(wt=(31&nt)<<6|63&me)<=127&&(wt=null):Ct===3?(Ce=F[ee+2],(192&(me=F[ee+1]))==128&&(192&Ce)==128&&((wt=(15&nt)<<12|(63&me)<<6|63&Ce)<=2047||wt>=55296&&wt<=57343)&&(wt=null)):Ct===4&&(Ce=F[ee+2],Ve=F[ee+3],(192&(me=F[ee+1]))==128&&(192&Ce)==128&&(192&Ve)==128&&((wt=(15&nt)<<18|(63&me)<<12|(63&Ce)<<6|63&Ve)<=65535||wt>=1114112)&&(wt=null)),wt===null?(wt=65533,Ct=1):wt>65535&&(wt-=65536,J+=String.fromCharCode(wt>>>10&1023|55296),wt=56320|1023&wt),J+=String.fromCharCode(wt),ee+=Ct}return J})(this.buf,_,L)},readBytes:function(){var L=this.readVarint()+this.pos,_=this.buf.subarray(this.pos,L);return this.pos=L,_},readPackedVarint:function(L,_){if(this.type!==hl.Bytes)return L.push(this.readVarint(_));var F=y1(this);for(L=L||[];this.pos127;);else if(_===hl.Bytes)this.pos=this.readVarint()+this.pos;else if(_===hl.Fixed32)this.pos+=4;else{if(_!==hl.Fixed64)throw new Error("Unimplemented type: "+_);this.pos+=8}},writeTag:function(L,_){this.writeVarint(L<<3|_)},realloc:function(L){for(var _=this.length||16;_268435455||L<0?(function(_,F){var N,W;if(_>=0?(N=_%4294967296|0,W=_/4294967296|0):(W=~(-_/4294967296),4294967295^(N=~(-_%4294967296))?N=N+1|0:(N=0,W=W+1|0)),_>=18446744073709552e3||_<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");F.realloc(10),(function(J,ee,me){me.buf[me.pos++]=127&J|128,J>>>=7,me.buf[me.pos++]=127&J|128,J>>>=7,me.buf[me.pos++]=127&J|128,J>>>=7,me.buf[me.pos++]=127&J|128,me.buf[me.pos]=127&(J>>>=7)})(N,0,F),(function(J,ee){var me=(7&J)<<4;ee.buf[ee.pos++]|=me|((J>>>=3)?128:0),J&&(ee.buf[ee.pos++]=127&J|((J>>>=7)?128:0),J&&(ee.buf[ee.pos++]=127&J|((J>>>=7)?128:0),J&&(ee.buf[ee.pos++]=127&J|((J>>>=7)?128:0),J&&(ee.buf[ee.pos++]=127&J|((J>>>=7)?128:0),J&&(ee.buf[ee.pos++]=127&J)))))})(W,F)})(L,this):(this.realloc(4),this.buf[this.pos++]=127&L|(L>127?128:0),L<=127||(this.buf[this.pos++]=127&(L>>>=7)|(L>127?128:0),L<=127||(this.buf[this.pos++]=127&(L>>>=7)|(L>127?128:0),L<=127||(this.buf[this.pos++]=L>>>7&127))))},writeSVarint:function(L){this.writeVarint(L<0?2*-L-1:2*L)},writeBoolean:function(L){this.writeVarint(!!L)},writeString:function(L){L=String(L),this.realloc(4*L.length),this.pos++;var _=this.pos;this.pos=(function(N,W,J){for(var ee,me,Ce=0;Ce55295&&ee<57344){if(!me){ee>56319||Ce+1===W.length?(N[J++]=239,N[J++]=191,N[J++]=189):me=ee;continue}if(ee<56320){N[J++]=239,N[J++]=191,N[J++]=189,me=ee;continue}ee=me-55296<<10|ee-56320|65536,me=null}else me&&(N[J++]=239,N[J++]=191,N[J++]=189,me=null);ee<128?N[J++]=ee:(ee<2048?N[J++]=ee>>6|192:(ee<65536?N[J++]=ee>>12|224:(N[J++]=ee>>18|240,N[J++]=ee>>12&63|128),N[J++]=ee>>6&63|128),N[J++]=63&ee|128)}return J})(this.buf,L,this.pos);var F=this.pos-_;F>=128&&FZ(_,F,this),this.pos=_-1,this.writeVarint(F),this.pos+=F},writeFloat:function(L){this.realloc(4),kZ(this.buf,L,this.pos,!0,23,4),this.pos+=4},writeDouble:function(L){this.realloc(8),kZ(this.buf,L,this.pos,!0,52,8),this.pos+=8},writeBytes:function(L){var _=L.length;this.writeVarint(_),this.realloc(_);for(var F=0;F<_;F++)this.buf[this.pos++]=L[F]},writeRawMessage:function(L,_){this.pos++;var F=this.pos;L(_,this);var N=this.pos-F;N>=128&&FZ(F,N,this),this.pos=F-1,this.writeVarint(N),this.pos+=N},writeMessage:function(L,_,F){this.writeTag(L,hl.Bytes),this.writeRawMessage(_,F)},writePackedVarint:function(L,_){_.length&&this.writeMessage(L,i$e,_)},writePackedSVarint:function(L,_){_.length&&this.writeMessage(L,o$e,_)},writePackedBoolean:function(L,_){_.length&&this.writeMessage(L,u$e,_)},writePackedFloat:function(L,_){_.length&&this.writeMessage(L,s$e,_)},writePackedDouble:function(L,_){_.length&&this.writeMessage(L,l$e,_)},writePackedFixed32:function(L,_){_.length&&this.writeMessage(L,c$e,_)},writePackedSFixed32:function(L,_){_.length&&this.writeMessage(L,f$e,_)},writePackedFixed64:function(L,_){_.length&&this.writeMessage(L,h$e,_)},writePackedSFixed64:function(L,_){_.length&&this.writeMessage(L,d$e,_)},writeBytesField:function(L,_){this.writeTag(L,hl.Bytes),this.writeBytes(_)},writeFixed32Field:function(L,_){this.writeTag(L,hl.Fixed32),this.writeFixed32(_)},writeSFixed32Field:function(L,_){this.writeTag(L,hl.Fixed32),this.writeSFixed32(_)},writeFixed64Field:function(L,_){this.writeTag(L,hl.Fixed64),this.writeFixed64(_)},writeSFixed64Field:function(L,_){this.writeTag(L,hl.Fixed64),this.writeSFixed64(_)},writeVarintField:function(L,_){this.writeTag(L,hl.Varint),this.writeVarint(_)},writeSVarintField:function(L,_){this.writeTag(L,hl.Varint),this.writeSVarint(_)},writeStringField:function(L,_){this.writeTag(L,hl.Bytes),this.writeString(_)},writeFloatField:function(L,_){this.writeTag(L,hl.Fixed32),this.writeFloat(_)},writeDoubleField:function(L,_){this.writeTag(L,hl.Fixed64),this.writeDouble(_)},writeBooleanField:function(L,_){this.writeVarintField(L,!!_)}};var UP=o(SZ);let VP=3;function v$e(L,_,F){L===1&&F.readMessage(p$e,_)}function p$e(L,_,F){if(L===3){let{id:N,bitmap:W,width:J,height:ee,left:me,top:Ce,advance:Ve}=F.readMessage(g$e,{});_.push({id:N,bitmap:new oa({width:J+2*VP,height:ee+2*VP},W),metrics:{width:J,height:ee,left:me,top:Ce,advance:Ve}})}}function g$e(L,_,F){L===1?_.id=F.readVarint():L===2?_.bitmap=F.readBytes():L===3?_.width=F.readVarint():L===4?_.height=F.readVarint():L===5?_.left=F.readSVarint():L===6?_.top=F.readSVarint():L===7&&(_.advance=F.readVarint())}let DZ=VP;function RZ(L){let _=0,F=0;for(let ee of L)_+=ee.w*ee.h,F=Math.max(F,ee.w);L.sort(((ee,me)=>me.h-ee.h));let N=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(_/.95)),F),h:1/0}],W=0,J=0;for(let ee of L)for(let me=N.length-1;me>=0;me--){let Ce=N[me];if(!(ee.w>Ce.w||ee.h>Ce.h)){if(ee.x=Ce.x,ee.y=Ce.y,J=Math.max(J,ee.y+ee.h),W=Math.max(W,ee.x+ee.w),ee.w===Ce.w&&ee.h===Ce.h){let Ve=N.pop();me=0&&N>=_&&cM[this.text.charCodeAt(N)];N--)F--;this.text=this.text.substring(_,F),this.sectionIndex=this.sectionIndex.slice(_,F)}substring(_,F){let N=new ab;return N.text=this.text.substring(_,F),N.sectionIndex=this.sectionIndex.slice(_,F),N.sections=this.sections,N}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((_,F)=>Math.max(_,this.sections[F].scale)),0)}addTextSection(_,F){this.text+=_.text,this.sections.push(l5.forText(_.scale,_.fontStack||F));let N=this.sections.length-1;for(let W=0;W<_.text.length;++W)this.sectionIndex.push(N)}addImageSection(_){let F=_.image?_.image.name:"";if(F.length===0)return void A("Can't add FormattedSection with an empty image.");let N=this.getNextImageSectionCharCode();N?(this.text+=String.fromCharCode(N),this.sections.push(l5.forImage(F)),this.sectionIndex.push(this.sections.length-1)):A("Reached maximum number of images 6401")}getNextImageSectionCharCode(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function uM(L,_,F,N,W,J,ee,me,Ce,Ve,nt,wt,Ct,Rt,jt){let Qt=ab.fromFeature(L,W),Ar;wt===a.ah.vertical&&Qt.verticalizePunctuation();let{processBidirectionalText:Pr,processStyledBidirectionalText:gn}=wo;if(Pr&&Qt.sections.length===1){Ar=[];let Bn=Pr(Qt.toString(),HP(Qt,Ve,J,_,N,Rt));for(let ga of Bn){let Za=new ab;Za.text=ga,Za.sections=Qt.sections;for(let Ii=0;Ii0&&x1>ph&&(ph=x1)}else{let sv=Za[As.fontStack],Gf=sv&&sv[Hl];if(Gf&&Gf.rect)lb=Gf.rect,Iu=Gf.metrics;else{let x1=ga[As.fontStack],v5=x1&&x1[Hl];if(!v5)continue;Iu=v5.metrics}qd=(yf-As.scale)*$c}Rv?(Bn.verticalizable=!0,ad.push({glyph:Hl,imageName:pp,x:eo,y:Ml+qd,vertical:Rv,scale:As.scale,fontStack:As.fontStack,sectionIndex:Rl,metrics:Iu,rect:lb}),eo+=gp*As.scale+Zn):(ad.push({glyph:Hl,imageName:pp,x:eo,y:Ml+qd,vertical:Rv,scale:As.scale,fontStack:As.fontStack,sectionIndex:Rl,metrics:Iu,rect:lb}),eo+=Iu.advance*As.scale+Zn)}ad.length!==0&&(dl=Math.max(eo-Zn,dl),b$e(ad,0,ad.length-1,Dv,ph)),eo=0;let ov=Ua*yf+ph;vh.lineOffset=Math.max(ph,Dh),Ml+=ov,gf=Math.max(ov,gf),++dh}var mf;let td=Ml-s5,{horizontalAlign:rd,verticalAlign:nd}=jP(gi);(function(Xu,yf,Dh,vh,ad,ph,ov,_d,As){let Rl=(yf-Dh)*ad,Hl=0;Hl=ph!==ov?-_d*vh-s5:(-vh*As+.5)*ov;for(let qd of Xu)for(let Iu of qd.positionedGlyphs)Iu.x+=Rl,Iu.y+=Hl})(Bn.positionedLines,Dv,rd,nd,dl,gf,Ua,td,Ya.length),Bn.top+=-nd*td,Bn.bottom=Bn.top+td,Bn.left+=-rd*dl,Bn.right=Bn.left+dl})(ln,_,F,N,Ar,ee,me,Ce,wt,Ve,Ct,jt),!(function(Bn){for(let ga of Bn)if(ga.positionedGlyphs.length!==0)return!1;return!0})(Yr)&&ln}let cM={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},m$e={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},y$e={40:!0};function zZ(L,_,F,N,W,J){if(_.imageName){let ee=N[_.imageName];return ee?ee.displaySize[0]*_.scale*$c/J+W:0}{let ee=F[_.fontStack],me=ee&&ee[L];return me?me.metrics.advance*_.scale+W:0}}function qZ(L,_,F,N){let W=Math.pow(L-_,2);return N?L<_?W/2:2*W:W+Math.abs(F)*F}function x$e(L,_,F){let N=0;return L===10&&(N-=1e4),F&&(N+=150),L!==40&&L!==65288||(N+=50),_!==41&&_!==65289||(N+=50),N}function BZ(L,_,F,N,W,J){let ee=null,me=qZ(_,F,W,J);for(let Ce of N){let Ve=qZ(_-Ce.x,F,W,J)+Ce.badness;Ve<=me&&(ee=Ce,me=Ve)}return{index:L,x:_,priorBreak:ee,badness:me}}function OZ(L){return L?OZ(L.priorBreak).concat(L.index):[]}function HP(L,_,F,N,W,J){if(!L)return[];let ee=[],me=(function(wt,Ct,Rt,jt,Qt,Ar){let Pr=0;for(let gn=0;gn=0,Ve=0;for(let wt=0;wtVe){let nt=Math.ceil(J/Ve);W*=nt/ee,ee=nt}return{x1:N,y1:W,x2:N+J,y2:W+ee}}function UZ(L,_,F,N,W,J){let ee=L.image,me;if(ee.content){let Ar=ee.content,Pr=ee.pixelRatio||1;me=[Ar[0]/Pr,Ar[1]/Pr,ee.displaySize[0]-Ar[2]/Pr,ee.displaySize[1]-Ar[3]/Pr]}let Ce=_.left*J,Ve=_.right*J,nt,wt,Ct,Rt;F==="width"||F==="both"?(Rt=W[0]+Ce-N[3],wt=W[0]+Ve+N[1]):(Rt=W[0]+(Ce+Ve-ee.displaySize[0])/2,wt=Rt+ee.displaySize[0]);let jt=_.top*J,Qt=_.bottom*J;return F==="height"||F==="both"?(nt=W[1]+jt-N[0],Ct=W[1]+Qt+N[2]):(nt=W[1]+(jt+Qt-ee.displaySize[1])/2,Ct=nt+ee.displaySize[1]),{image:ee,top:nt,right:wt,bottom:Ct,left:Rt,collisionPadding:me}}let u5=255,vp=128,Mg=u5*vp;function VZ(L,_){let{expression:F}=_;if(F.kind==="constant")return{kind:"constant",layoutSize:F.evaluate(new Yi(L+1))};if(F.kind==="source")return{kind:"source"};{let{zoomStops:N,interpolationType:W}=F,J=0;for(;Jee.id)),this.index=_.index,this.pixelRatio=_.pixelRatio,this.sourceLayerIndex=_.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=Zr([]),this.placementViewportMatrix=Zr([]);let F=this.layers[0]._unevaluatedLayout._values;this.textSizeData=VZ(this.zoom,F["text-size"]),this.iconSizeData=VZ(this.zoom,F["icon-size"]);let N=this.layers[0].layout,W=N.get("symbol-sort-key"),J=N.get("symbol-z-order");this.canOverlap=WP(N,"text-overlap","text-allow-overlap")!=="never"||WP(N,"icon-overlap","icon-allow-overlap")!=="never"||N.get("text-ignore-placement")||N.get("icon-ignore-placement"),this.sortFeaturesByKey=J!=="viewport-y"&&!W.isConstant(),this.sortFeaturesByY=(J==="viewport-y"||J==="auto"&&!this.sortFeaturesByKey)&&this.canOverlap,N.get("symbol-placement")==="point"&&(this.writingModes=N.get("text-writing-mode").map((ee=>a.ah[ee]))),this.stateDependentLayerIds=this.layers.filter((ee=>ee.isStateDependent())).map((ee=>ee.id)),this.sourceID=_.sourceID}createArrays(){this.text=new XP(new Ps(this.layers,this.zoom,(_=>/^text/.test(_)))),this.icon=new XP(new Ps(this.layers,this.zoom,(_=>/^icon/.test(_)))),this.glyphOffsetArray=new Ai,this.lineVertexArray=new di,this.symbolInstances=new Xa,this.textAnchorOffsets=new Xi}calculateGlyphDependencies(_,F,N,W,J){for(let ee=0;ee<_.length;ee++)if(F[_.charCodeAt(ee)]=!0,(N||W)&&J){let me=o5[_.charAt(ee)];me&&(F[me.charCodeAt(0)]=!0)}}populate(_,F,N){let W=this.layers[0],J=W.layout,ee=J.get("text-font"),me=J.get("text-field"),Ce=J.get("icon-image"),Ve=(me.value.kind!=="constant"||me.value.value instanceof Ti&&!me.value.value.isEmpty()||me.value.value.toString().length>0)&&(ee.value.kind!=="constant"||ee.value.value.length>0),nt=Ce.value.kind!=="constant"||!!Ce.value.value||Object.keys(Ce.parameters).length>0,wt=J.get("symbol-sort-key");if(this.features=[],!Ve&&!nt)return;let Ct=F.iconDependencies,Rt=F.glyphDependencies,jt=F.availableImages,Qt=new Yi(this.zoom);for(let{feature:Ar,id:Pr,index:gn,sourceLayerIndex:Yr}of _){let ln=W._featureFilter.needGeometry,Bn=Gs(Ar,ln);if(!W._featureFilter.filter(Qt,Bn,N))continue;let ga,Za;if(ln||(Bn.geometry=Qo(Ar)),Ve){let Ya=W.getValueAndResolveTokens("text-field",Bn,N,jt),Ua=Ti.factory(Ya),gi=this.hasRTLText=this.hasRTLText||A$e(Ua);(!gi||wo.getRTLTextPluginStatus()==="unavailable"||gi&&wo.isParsed())&&(ga=a$e(Ua,W,Bn))}if(nt){let Ya=W.getValueAndResolveTokens("icon-image",Bn,N,jt);Za=Ya instanceof ni?Ya:ni.fromString(Ya)}if(!ga&&!Za)continue;let Ii=this.sortFeaturesByKey?wt.evaluate(Bn,{},N):void 0;if(this.features.push({id:Pr,text:ga,icon:Za,index:gn,sourceLayerIndex:Yr,geometry:Bn.geometry,properties:Ar.properties,type:w$e[Ar.type],sortKey:Ii}),Za&&(Ct[Za.name]=!0),ga){let Ya=ee.evaluate(Bn,{},N).join(","),Ua=J.get("text-rotation-alignment")!=="viewport"&&J.get("symbol-placement")!=="point";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(a.ah.vertical)>=0;for(let gi of ga.sections)if(gi.image)Ct[gi.image.name]=!0;else{let ai=Ja(ga.toString()),Qa=gi.fontStack||Ya,Zn=Rt[Qa]=Rt[Qa]||{};this.calculateGlyphDependencies(gi.text,Zn,Ua,this.allowVerticalPlacement,ai)}}}J.get("symbol-placement")==="line"&&(this.features=(function(Ar){let Pr={},gn={},Yr=[],ln=0;function Bn(Ya){Yr.push(Ar[Ya]),ln++}function ga(Ya,Ua,gi){let ai=gn[Ya];return delete gn[Ya],gn[Ua]=ai,Yr[ai].geometry[0].pop(),Yr[ai].geometry[0]=Yr[ai].geometry[0].concat(gi[0]),ai}function Za(Ya,Ua,gi){let ai=Pr[Ua];return delete Pr[Ua],Pr[Ya]=ai,Yr[ai].geometry[0].shift(),Yr[ai].geometry[0]=gi[0].concat(Yr[ai].geometry[0]),ai}function Ii(Ya,Ua,gi){let ai=gi?Ua[0][Ua[0].length-1]:Ua[0][0];return`${Ya}:${ai.x}:${ai.y}`}for(let Ya=0;YaYa.geometry))})(this.features)),this.sortFeaturesByKey&&this.features.sort(((Ar,Pr)=>Ar.sortKey-Pr.sortKey))}update(_,F,N){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(_,F,this.layers,N),this.icon.programConfigurations.updatePaintArrays(_,F,this.layers,N))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(_){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(_),this.iconCollisionBox.upload(_)),this.text.upload(_,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(_,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(_,F){let N=this.lineVertexArray.length;if(_.segment!==void 0){let W=_.dist(F[_.segment+1]),J=_.dist(F[_.segment]),ee={};for(let me=_.segment+1;me=0;me--)ee[me]={x:F[me].x,y:F[me].y,tileUnitDistanceFromAnchor:J},me>0&&(J+=F[me-1].dist(F[me]));for(let me=0;me0}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(_,F){let N=_.placedSymbolArray.get(F),W=N.vertexStartIndex+4*N.numGlyphs;for(let J=N.vertexStartIndex;JW[me]-W[Ce]||J[Ce]-J[me])),ee}addToSortKeyRanges(_,F){let N=this.sortKeyRanges[this.sortKeyRanges.length-1];N&&N.sortKey===F?N.symbolInstanceEnd=_+1:this.sortKeyRanges.push({sortKey:F,symbolInstanceStart:_,symbolInstanceEnd:_+1})}sortFeatures(_){if(this.sortFeaturesByY&&this.sortedAngle!==_&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(_),this.sortedAngle=_,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let F of this.symbolInstanceIndexes){let N=this.symbolInstances.get(F);this.featureSortOrder.push(N.featureIndex),[N.rightJustifiedTextSymbolIndex,N.centerJustifiedTextSymbolIndex,N.leftJustifiedTextSymbolIndex].forEach(((W,J,ee)=>{W>=0&&ee.indexOf(W)===J&&this.addIndicesForPlacedSymbol(this.text,W)})),N.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,N.verticalPlacedTextSymbolIndex),N.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,N.placedIconSymbolIndex),N.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,N.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let GZ,HZ;Wr("SymbolBucket",ib,{omit:["layers","collisionBoxArray","features","compareText"]}),ib.MAX_GLYPHS=65535,ib.addDynamicAttributes=YP;var $P={get paint(){return HZ=HZ||new K({"icon-opacity":new oi(le.paint_symbol["icon-opacity"]),"icon-color":new oi(le.paint_symbol["icon-color"]),"icon-halo-color":new oi(le.paint_symbol["icon-halo-color"]),"icon-halo-width":new oi(le.paint_symbol["icon-halo-width"]),"icon-halo-blur":new oi(le.paint_symbol["icon-halo-blur"]),"icon-translate":new Wa(le.paint_symbol["icon-translate"]),"icon-translate-anchor":new Wa(le.paint_symbol["icon-translate-anchor"]),"text-opacity":new oi(le.paint_symbol["text-opacity"]),"text-color":new oi(le.paint_symbol["text-color"],{runtimeType:pt,getOverride:L=>L.textColor,hasOverride:L=>!!L.textColor}),"text-halo-color":new oi(le.paint_symbol["text-halo-color"]),"text-halo-width":new oi(le.paint_symbol["text-halo-width"]),"text-halo-blur":new oi(le.paint_symbol["text-halo-blur"]),"text-translate":new Wa(le.paint_symbol["text-translate"]),"text-translate-anchor":new Wa(le.paint_symbol["text-translate-anchor"])})},get layout(){return GZ=GZ||new K({"symbol-placement":new Wa(le.layout_symbol["symbol-placement"]),"symbol-spacing":new Wa(le.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Wa(le.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new oi(le.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Wa(le.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Wa(le.layout_symbol["icon-allow-overlap"]),"icon-overlap":new Wa(le.layout_symbol["icon-overlap"]),"icon-ignore-placement":new Wa(le.layout_symbol["icon-ignore-placement"]),"icon-optional":new Wa(le.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Wa(le.layout_symbol["icon-rotation-alignment"]),"icon-size":new oi(le.layout_symbol["icon-size"]),"icon-text-fit":new Wa(le.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Wa(le.layout_symbol["icon-text-fit-padding"]),"icon-image":new oi(le.layout_symbol["icon-image"]),"icon-rotate":new oi(le.layout_symbol["icon-rotate"]),"icon-padding":new oi(le.layout_symbol["icon-padding"]),"icon-keep-upright":new Wa(le.layout_symbol["icon-keep-upright"]),"icon-offset":new oi(le.layout_symbol["icon-offset"]),"icon-anchor":new oi(le.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Wa(le.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Wa(le.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Wa(le.layout_symbol["text-rotation-alignment"]),"text-field":new oi(le.layout_symbol["text-field"]),"text-font":new oi(le.layout_symbol["text-font"]),"text-size":new oi(le.layout_symbol["text-size"]),"text-max-width":new oi(le.layout_symbol["text-max-width"]),"text-line-height":new Wa(le.layout_symbol["text-line-height"]),"text-letter-spacing":new oi(le.layout_symbol["text-letter-spacing"]),"text-justify":new oi(le.layout_symbol["text-justify"]),"text-radial-offset":new oi(le.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Wa(le.layout_symbol["text-variable-anchor"]),"text-variable-anchor-offset":new oi(le.layout_symbol["text-variable-anchor-offset"]),"text-anchor":new oi(le.layout_symbol["text-anchor"]),"text-max-angle":new Wa(le.layout_symbol["text-max-angle"]),"text-writing-mode":new Wa(le.layout_symbol["text-writing-mode"]),"text-rotate":new oi(le.layout_symbol["text-rotate"]),"text-padding":new Wa(le.layout_symbol["text-padding"]),"text-keep-upright":new Wa(le.layout_symbol["text-keep-upright"]),"text-transform":new oi(le.layout_symbol["text-transform"]),"text-offset":new oi(le.layout_symbol["text-offset"]),"text-allow-overlap":new Wa(le.layout_symbol["text-allow-overlap"]),"text-overlap":new Wa(le.layout_symbol["text-overlap"]),"text-ignore-placement":new Wa(le.layout_symbol["text-ignore-placement"]),"text-optional":new Wa(le.layout_symbol["text-optional"])})}};class jZ{constructor(_){if(_.property.overrides===void 0)throw new Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=_.property.overrides?_.property.overrides.runtimeType:ft,this.defaultValue=_}evaluate(_){if(_.formattedSection){let F=this.defaultValue.property.overrides;if(F&&F.hasOverride(_.formattedSection))return F.getOverride(_.formattedSection)}return _.feature&&_.featureState?this.defaultValue.evaluate(_.feature,_.featureState):this.defaultValue.property.specification.default}eachChild(_){this.defaultValue.isConstant()||_(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Wr("FormatSectionOverride",jZ,{omit:["defaultValue"]});class hM extends I{constructor(_){super(_,$P)}recalculate(_,F){if(super.recalculate(_,F),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 N=this.layout.get("text-writing-mode");if(N){let W=[];for(let J of N)W.indexOf(J)<0&&W.push(J);this.layout._values["text-writing-mode"]=W}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(_,F,N,W){let J=this.layout.get(_).evaluate(F,{},N,W),ee=this._unevaluatedLayout._values[_];return ee.isDataDriven()||sh(ee.value)||!J?J:(function(me,Ce){return Ce.replace(/{([^{}]+)}/g,((Ve,nt)=>me&&nt in me?String(me[nt]):""))})(F.properties,J)}createBucket(_){return new ib(_)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(let _ of $P.paint.overridableProperties){if(!hM.hasPaintOverride(this.layout,_))continue;let F=this.paint.get(_),N=new jZ(F),W=new ru(N,F.property.specification),J=null;J=F.value.kind==="constant"||F.value.kind==="source"?new Hu("source",W):new Pl("composite",W,F.value.zoomStops),this.paint._values[_]=new ul(F.property,J,F.parameters)}}_handleOverridablePaintPropertyUpdate(_,F,N){return!(!this.layout||F.isDataDriven()||N.isDataDriven())&&hM.hasPaintOverride(this.layout,_)}static hasPaintOverride(_,F){let N=_.get("text-field"),W=$P.paint.properties[F],J=!1,ee=me=>{for(let Ce of me)if(W.overrides&&W.overrides.hasOverride(Ce))return void(J=!0)};if(N.value.kind==="constant"&&N.value.value instanceof Ti)ee(N.value.value.sections);else if(N.value.kind==="source"){let me=Ve=>{J||(Ve instanceof Zo&&to(Ve.value)===_r?ee(Ve.value.sections):Ve instanceof Bs?ee(Ve.sections):Ve.eachChild(me))},Ce=N.value;Ce._styleExpression&&me(Ce._styleExpression.expression)}return J}}let WZ;var M$e={get paint(){return WZ=WZ||new K({"background-color":new Wa(le.paint_background["background-color"]),"background-pattern":new pf(le.paint_background["background-pattern"]),"background-opacity":new Wa(le.paint_background["background-opacity"])})}};class S$e extends I{constructor(_){super(_,M$e)}}let YZ;var E$e={get paint(){return YZ=YZ||new K({"raster-opacity":new Wa(le.paint_raster["raster-opacity"]),"raster-hue-rotate":new Wa(le.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new Wa(le.paint_raster["raster-brightness-min"]),"raster-brightness-max":new Wa(le.paint_raster["raster-brightness-max"]),"raster-saturation":new Wa(le.paint_raster["raster-saturation"]),"raster-contrast":new Wa(le.paint_raster["raster-contrast"]),"raster-resampling":new Wa(le.paint_raster["raster-resampling"]),"raster-fade-duration":new Wa(le.paint_raster["raster-fade-duration"])})}};class k$e extends I{constructor(_){super(_,E$e)}}class C$e extends I{constructor(_){super(_,{}),this.onAdd=F=>{this.implementation.onAdd&&this.implementation.onAdd(F,F.painter.context.gl)},this.onRemove=F=>{this.implementation.onRemove&&this.implementation.onRemove(F,F.painter.context.gl)},this.implementation=_}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 L$e{constructor(_){this._methodToThrottle=_,this._triggered=!1,typeof MessageChannel!="undefined"&&(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 KP=63710088e-1;class Sg{constructor(_,F){if(isNaN(_)||isNaN(F))throw new Error(`Invalid LngLat object: (${_}, ${F})`);if(this.lng=+_,this.lat=+F,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new Sg(w(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(_){let F=Math.PI/180,N=this.lat*F,W=_.lat*F,J=Math.sin(N)*Math.sin(W)+Math.cos(N)*Math.cos(W)*Math.cos((_.lng-this.lng)*F);return KP*Math.acos(Math.min(J,1))}static convert(_){if(_ instanceof Sg)return _;if(Array.isArray(_)&&(_.length===2||_.length===3))return new Sg(Number(_[0]),Number(_[1]));if(!Array.isArray(_)&&typeof _=="object"&&_!==null)return new Sg(Number("lng"in _?_.lng:_.lon),Number(_.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 XZ=2*Math.PI*KP;function ZZ(L){return XZ*Math.cos(L*Math.PI/180)}function $Z(L){return(180+L)/360}function KZ(L){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+L*Math.PI/360)))/360}function JZ(L,_){return L/ZZ(_)}function JP(L){return 360/Math.PI*Math.atan(Math.exp((180-360*L)*Math.PI/180))-90}class c5{constructor(_,F,N=0){this.x=+_,this.y=+F,this.z=+N}static fromLngLat(_,F=0){let N=Sg.convert(_);return new c5($Z(N.lng),KZ(N.lat),JZ(F,N.lat))}toLngLat(){return new Sg(360*this.x-180,JP(this.y))}toAltitude(){return this.z*ZZ(JP(this.y))}meterInMercatorCoordinateUnits(){return 1/XZ*(_=JP(this.y),1/Math.cos(_*Math.PI/180));var _}}function QZ(L,_,F){var N=2*Math.PI*6378137/256/Math.pow(2,F);return[L*N-2*Math.PI*6378137/2,_*N-2*Math.PI*6378137/2]}class QP{constructor(_,F,N){if(!(function(W,J,ee){return!(W<0||W>25||ee<0||ee>=Math.pow(2,W)||J<0||J>=Math.pow(2,W))})(_,F,N))throw new Error(`x=${F}, y=${N}, z=${_} outside of bounds. 0<=x<${Math.pow(2,_)}, 0<=y<${Math.pow(2,_)} 0<=z<=25 `);this.z=_,this.x=F,this.y=N,this.key=f5(0,_,_,F,N)}equals(_){return this.z===_.z&&this.x===_.x&&this.y===_.y}url(_,F,N){let W=(ee=this.y,me=this.z,Ce=QZ(256*(J=this.x),256*(ee=Math.pow(2,me)-ee-1),me),Ve=QZ(256*(J+1),256*(ee+1),me),Ce[0]+","+Ce[1]+","+Ve[0]+","+Ve[1]);var J,ee,me,Ce,Ve;let nt=(function(wt,Ct,Rt){let jt,Qt="";for(let Ar=wt;Ar>0;Ar--)jt=1<1?"@2x":"").replace(/{quadkey}/g,nt).replace(/{bbox-epsg-3857}/g,W)}isChildOf(_){let F=this.z-_.z;return F>0&&_.x===this.x>>F&&_.y===this.y>>F}getTilePoint(_){let F=Math.pow(2,this.z);return new u((_.x*F-this.x)*$a,(_.y*F-this.y)*$a)}toString(){return`${this.z}/${this.x}/${this.y}`}}class e${constructor(_,F){this.wrap=_,this.canonical=F,this.key=f5(_,F.z,F.z,F.x,F.y)}}class iv{constructor(_,F,N,W,J){if(_= z; overscaledZ = ${_}; z = ${N}`);this.overscaledZ=_,this.wrap=F,this.canonical=new QP(N,+W,+J),this.key=f5(F,_,N,W,J)}clone(){return new iv(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(_){return this.overscaledZ===_.overscaledZ&&this.wrap===_.wrap&&this.canonical.equals(_.canonical)}scaledTo(_){if(_>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${_}; overscaledZ = ${this.overscaledZ}`);let F=this.canonical.z-_;return _>this.canonical.z?new iv(_,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new iv(_,this.wrap,_,this.canonical.x>>F,this.canonical.y>>F)}calculateScaledKey(_,F){if(_>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${_}; overscaledZ = ${this.overscaledZ}`);let N=this.canonical.z-_;return _>this.canonical.z?f5(this.wrap*+F,_,this.canonical.z,this.canonical.x,this.canonical.y):f5(this.wrap*+F,_,_,this.canonical.x>>N,this.canonical.y>>N)}isChildOf(_){if(_.wrap!==this.wrap)return!1;let F=this.canonical.z-_.canonical.z;return _.overscaledZ===0||_.overscaledZ>F&&_.canonical.y===this.canonical.y>>F}children(_){if(this.overscaledZ>=_)return[new iv(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let F=this.canonical.z+1,N=2*this.canonical.x,W=2*this.canonical.y;return[new iv(F,this.wrap,F,N,W),new iv(F,this.wrap,F,N+1,W),new iv(F,this.wrap,F,N,W+1),new iv(F,this.wrap,F,N+1,W+1)]}isLessThan(_){return this.wrap<_.wrap||!(this.wrap>_.wrap)&&(this.overscaledZ<_.overscaledZ||!(this.overscaledZ>_.overscaledZ)&&(this.canonical.x<_.canonical.x||!(this.canonical.x>_.canonical.x)&&this.canonical.y<_.canonical.y))}wrapped(){return new iv(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)}unwrapTo(_){return new iv(this.overscaledZ,_,this.canonical.z,this.canonical.x,this.canonical.y)}overscaleFactor(){return Math.pow(2,this.overscaledZ-this.canonical.z)}toUnwrapped(){return new e$(this.wrap,this.canonical)}toString(){return`${this.overscaledZ}/${this.canonical.x}/${this.canonical.y}`}getTilePoint(_){return this.canonical.getTilePoint(new c5(_.x-this.wrap,_.y))}}function f5(L,_,F,N,W){(L*=2)<0&&(L=-1*L-1);let J=1<this.max&&(this.max=wt),wt=this.dim+1||F<-1||F>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(F+1)*this.stride+(_+1)}unpack(_,F,N){return _*this.redFactor+F*this.greenFactor+N*this.blueFactor-this.baseShift}getPixels(){return new rn({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(_,F,N){if(this.dim!==_.dim)throw new Error("dem dimension mismatch");let W=F*this.dim,J=F*this.dim+this.dim,ee=N*this.dim,me=N*this.dim+this.dim;switch(F){case-1:W=J-1;break;case 1:J=W+1}switch(N){case-1:ee=me-1;break;case 1:me=ee+1}let Ce=-F*this.dim,Ve=-N*this.dim;for(let nt=ee;nt=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${_} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[_]}}class n${constructor(_,F,N,W,J){this.type="Feature",this._vectorTileFeature=_,_._z=F,_._x=N,_._y=W,this.properties=_.properties,this.id=J}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(_){this._geometry=_}toJSON(){let _={geometry:this.geometry};for(let F in this)F!=="_geometry"&&F!=="_vectorTileFeature"&&(_[F]=this[F]);return _}}class a${constructor(_,F){this.tileID=_,this.x=_.canonical.x,this.y=_.canonical.y,this.z=_.canonical.z,this.grid=new nn($a,16,0),this.grid3D=new nn($a,16,0),this.featureIndexArray=new fs,this.promoteId=F}insert(_,F,N,W,J,ee){let me=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(N,W,J);let Ce=ee?this.grid3D:this.grid;for(let Ve=0;Ve=0&&wt[3]>=0&&Ce.insert(me,wt[0],wt[1],wt[2],wt[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new yr.VectorTile(new UP(this.rawTileData)).layers,this.sourceLayerCoder=new r$(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers}query(_,F,N,W){this.loadVTLayers();let J=_.params||{},ee=$a/_.tileSize/_.scale,me=ju(J.filter),Ce=_.queryGeometry,Ve=_.queryPadding*ee,nt=o$(Ce),wt=this.grid.query(nt.minX-Ve,nt.minY-Ve,nt.maxX+Ve,nt.maxY+Ve),Ct=o$(_.cameraQueryGeometry),Rt=this.grid3D.query(Ct.minX-Ve,Ct.minY-Ve,Ct.maxX+Ve,Ct.maxY+Ve,((Ar,Pr,gn,Yr)=>(function(ln,Bn,ga,Za,Ii){for(let Ua of ln)if(Bn<=Ua.x&&ga<=Ua.y&&Za>=Ua.x&&Ii>=Ua.y)return!0;let Ya=[new u(Bn,ga),new u(Bn,Ii),new u(Za,Ii),new u(Za,ga)];if(ln.length>2){for(let Ua of Ya)if(Xr(ln,Ua))return!0}for(let Ua=0;Ua(Yr||(Yr=Qo(ln)),Bn.queryIntersectsFeature(Ce,ln,ga,Yr,this.z,_.transform,ee,_.pixelPosMatrix))))}return jt}loadMatchingFeature(_,F,N,W,J,ee,me,Ce,Ve,nt,wt){let Ct=this.bucketLayerIDs[F];if(ee&&!(function(Ar,Pr){for(let gn=0;gn=0)return!0;return!1})(ee,Ct))return;let Rt=this.sourceLayerCoder.decode(N),jt=this.vtLayers[Rt].feature(W);if(J.needGeometry){let Ar=Gs(jt,!0);if(!J.filter(new Yi(this.tileID.overscaledZ),Ar,this.tileID.canonical))return}else if(!J.filter(new Yi(this.tileID.overscaledZ),jt))return;let Qt=this.getId(jt,Rt);for(let Ar=0;Ar{let me=_ instanceof Pc?_.get(ee):null;return me&&me.evaluate?me.evaluate(F,N,W):me}))}function o$(L){let _=1/0,F=1/0,N=-1/0,W=-1/0;for(let J of L)_=Math.min(_,J.x),F=Math.min(F,J.y),N=Math.max(N,J.x),W=Math.max(W,J.y);return{minX:_,minY:F,maxX:N,maxY:W}}function F$e(L,_){return _-L}function s$(L,_,F,N,W){let J=[];for(let ee=0;ee=N&&wt.x>=N||(nt.x>=N?nt=new u(N,nt.y+(N-nt.x)/(wt.x-nt.x)*(wt.y-nt.y))._round():wt.x>=N&&(wt=new u(N,nt.y+(N-nt.x)/(wt.x-nt.x)*(wt.y-nt.y))._round()),nt.y>=W&&wt.y>=W||(nt.y>=W?nt=new u(nt.x+(W-nt.y)/(wt.y-nt.y)*(wt.x-nt.x),W)._round():wt.y>=W&&(wt=new u(nt.x+(W-nt.y)/(wt.y-nt.y)*(wt.x-nt.x),W)._round()),Ce&&nt.equals(Ce[Ce.length-1])||(Ce=[nt],J.push(Ce)),Ce.push(wt)))))}}return J}Wr("FeatureIndex",a$,{omit:["rawTileData","sourceLayerCoder"]});class Eg extends u{constructor(_,F,N,W){super(_,F),this.angle=N,W!==void 0&&(this.segment=W)}clone(){return new Eg(this.x,this.y,this.angle,this.segment)}}function l$(L,_,F,N,W){if(_.segment===void 0||F===0)return!0;let J=_,ee=_.segment+1,me=0;for(;me>-F/2;){if(ee--,ee<0)return!1;me-=L[ee].dist(J),J=L[ee]}me+=L[ee].dist(L[ee+1]),ee++;let Ce=[],Ve=0;for(;meN;)Ve-=Ce.shift().angleDelta;if(Ve>W)return!1;ee++,me+=nt.dist(wt)}return!0}function u$(L){let _=0;for(let F=0;FVe){let jt=(Ve-Ce)/Rt,Qt=Mi.number(wt.x,Ct.x,jt),Ar=Mi.number(wt.y,Ct.y,jt),Pr=new Eg(Qt,Ar,Ct.angleTo(wt),nt);return Pr._round(),!ee||l$(L,Pr,me,ee,_)?Pr:void 0}Ce+=Rt}}function D$e(L,_,F,N,W,J,ee,me,Ce){let Ve=c$(N,J,ee),nt=f$(N,W),wt=nt*ee,Ct=L[0].x===0||L[0].x===Ce||L[0].y===0||L[0].y===Ce;return _-wt<_/4&&(_=wt+_/4),h$(L,Ct?_/2*me%_:(nt/2+2*J)*ee*me%_,_,Ve,F,wt,Ct,!1,Ce)}function h$(L,_,F,N,W,J,ee,me,Ce){let Ve=J/2,nt=u$(L),wt=0,Ct=_-F,Rt=[];for(let jt=0;jt=0&&ln=0&&Bn=0&&Ct+Ve<=nt){let ga=new Eg(ln,Bn,gn,jt);ga._round(),N&&!l$(L,ga,J,N,W)||Rt.push(ga)}}wt+=Pr}return me||Rt.length||ee||(Rt=h$(L,wt/2,F,N,W,J,ee,!0,Ce)),Rt}Wr("Anchor",Eg);let ob=bd;function d$(L,_,F,N){let W=[],J=L.image,ee=J.pixelRatio,me=J.paddedRect.w-2*ob,Ce=J.paddedRect.h-2*ob,Ve={x1:L.left,y1:L.top,x2:L.right,y2:L.bottom},nt=J.stretchX||[[0,me]],wt=J.stretchY||[[0,Ce]],Ct=(Zn,wi)=>Zn+wi[1]-wi[0],Rt=nt.reduce(Ct,0),jt=wt.reduce(Ct,0),Qt=me-Rt,Ar=Ce-jt,Pr=0,gn=Rt,Yr=0,ln=jt,Bn=0,ga=Qt,Za=0,Ii=Ar;if(J.content&&N){let Zn=J.content,wi=Zn[2]-Zn[0],vi=Zn[3]-Zn[1];(J.textFitWidth||J.textFitHeight)&&(Ve=NZ(L)),Pr=dM(nt,0,Zn[0]),Yr=dM(wt,0,Zn[1]),gn=dM(nt,Zn[0],Zn[2]),ln=dM(wt,Zn[1],Zn[3]),Bn=Zn[0]-Pr,Za=Zn[1]-Yr,ga=wi-gn,Ii=vi-ln}let Ya=Ve.x1,Ua=Ve.y1,gi=Ve.x2-Ya,ai=Ve.y2-Ua,Qa=(Zn,wi,vi,eo)=>{let Ml=vM(Zn.stretch-Pr,gn,gi,Ya),dl=pM(Zn.fixed-Bn,ga,Zn.stretch,Rt),gf=vM(wi.stretch-Yr,ln,ai,Ua),Dv=pM(wi.fixed-Za,Ii,wi.stretch,jt),dh=vM(vi.stretch-Pr,gn,gi,Ya),mf=pM(vi.fixed-Bn,ga,vi.stretch,Rt),td=vM(eo.stretch-Yr,ln,ai,Ua),rd=pM(eo.fixed-Za,Ii,eo.stretch,jt),nd=new u(Ml,gf),Xu=new u(dh,gf),yf=new u(dh,td),Dh=new u(Ml,td),vh=new u(dl/ee,Dv/ee),ad=new u(mf/ee,rd/ee),ph=_*Math.PI/180;if(ph){let As=Math.sin(ph),Rl=Math.cos(ph),Hl=[Rl,-As,As,Rl];nd._matMult(Hl),Xu._matMult(Hl),Dh._matMult(Hl),yf._matMult(Hl)}let ov=Zn.stretch+Zn.fixed,_d=wi.stretch+wi.fixed;return{tl:nd,tr:Xu,bl:Dh,br:yf,tex:{x:J.paddedRect.x+ob+ov,y:J.paddedRect.y+ob+_d,w:vi.stretch+vi.fixed-ov,h:eo.stretch+eo.fixed-_d},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:vh,pixelOffsetBR:ad,minFontScaleX:ga/ee/gi,minFontScaleY:Ii/ee/ai,isSDF:F}};if(N&&(J.stretchX||J.stretchY)){let Zn=v$(nt,Qt,Rt),wi=v$(wt,Ar,jt);for(let vi=0;vi0&&(Qt=Math.max(10,Qt),this.circleDiameter=Qt)}else{let Ct=!((wt=ee.image)===null||wt===void 0)&&wt.content&&(ee.image.textFitWidth||ee.image.textFitHeight)?NZ(ee):{x1:ee.left,y1:ee.top,x2:ee.right,y2:ee.bottom};Ct.y1=Ct.y1*me-Ce[0],Ct.y2=Ct.y2*me+Ce[2],Ct.x1=Ct.x1*me-Ce[3],Ct.x2=Ct.x2*me+Ce[1];let Rt=ee.collisionPadding;if(Rt&&(Ct.x1-=Rt[0]*me,Ct.y1-=Rt[1]*me,Ct.x2+=Rt[2]*me,Ct.y2+=Rt[3]*me),nt){let jt=new u(Ct.x1,Ct.y1),Qt=new u(Ct.x2,Ct.y1),Ar=new u(Ct.x1,Ct.y2),Pr=new u(Ct.x2,Ct.y2),gn=nt*Math.PI/180;jt._rotate(gn),Qt._rotate(gn),Ar._rotate(gn),Pr._rotate(gn),Ct.x1=Math.min(jt.x,Qt.x,Ar.x,Pr.x),Ct.x2=Math.max(jt.x,Qt.x,Ar.x,Pr.x),Ct.y1=Math.min(jt.y,Qt.y,Ar.y,Pr.y),Ct.y2=Math.max(jt.y,Qt.y,Ar.y,Pr.y)}_.emplaceBack(F.x,F.y,Ct.x1,Ct.y1,Ct.x2,Ct.y2,N,W,J)}this.boxEndIndex=_.length}}class R$e{constructor(_=[],F=((N,W)=>NW?1:0)){if(this.data=_,this.length=this.data.length,this.compare=F,this.length>0)for(let N=(this.length>>1)-1;N>=0;N--)this._down(N)}push(_){this.data.push(_),this._up(this.length++)}pop(){if(this.length===0)return;let _=this.data[0],F=this.data.pop();return--this.length>0&&(this.data[0]=F,this._down(0)),_}peek(){return this.data[0]}_up(_){let{data:F,compare:N}=this,W=F[_];for(;_>0;){let J=_-1>>1,ee=F[J];if(N(W,ee)>=0)break;F[_]=ee,_=J}F[_]=W}_down(_){let{data:F,compare:N}=this,W=this.length>>1,J=F[_];for(;_=0)break;F[_]=F[ee],_=ee}F[_]=J}}function I$e(L,_=1,F=!1){let N=1/0,W=1/0,J=-1/0,ee=-1/0,me=L[0];for(let Rt=0;RtJ)&&(J=jt.x),(!Rt||jt.y>ee)&&(ee=jt.y)}let Ce=Math.min(J-N,ee-W),Ve=Ce/2,nt=new R$e([],z$e);if(Ce===0)return new u(N,W);for(let Rt=N;Rtwt.d||!wt.d)&&(wt=Rt,F&&console.log("found best %d after %d probes",Math.round(1e4*Rt.d)/1e4,Ct)),Rt.max-wt.d<=_||(Ve=Rt.h/2,nt.push(new sb(Rt.p.x-Ve,Rt.p.y-Ve,Ve,L)),nt.push(new sb(Rt.p.x+Ve,Rt.p.y-Ve,Ve,L)),nt.push(new sb(Rt.p.x-Ve,Rt.p.y+Ve,Ve,L)),nt.push(new sb(Rt.p.x+Ve,Rt.p.y+Ve,Ve,L)),Ct+=4)}return F&&(console.log(`num probes: ${Ct}`),console.log(`best distance: ${wt.d}`)),wt.p}function z$e(L,_){return _.max-L.max}function sb(L,_,F,N){this.p=new u(L,_),this.h=F,this.d=(function(W,J){let ee=!1,me=1/0;for(let Ce=0;CeW.y!=jt.y>W.y&&W.x<(jt.x-Rt.x)*(W.y-Rt.y)/(jt.y-Rt.y)+Rt.x&&(ee=!ee),me=Math.min(me,ur(W,Rt,jt))}}return(ee?1:-1)*Math.sqrt(me)})(this.p,N),this.max=this.d+this.h*Math.SQRT2}var hh;a.aq=void 0,(hh=a.aq||(a.aq={}))[hh.center=1]="center",hh[hh.left=2]="left",hh[hh.right=3]="right",hh[hh.top=4]="top",hh[hh.bottom=5]="bottom",hh[hh["top-left"]=6]="top-left",hh[hh["top-right"]=7]="top-right",hh[hh["bottom-left"]=8]="bottom-left",hh[hh["bottom-right"]=9]="bottom-right";let kg=7,eD=Number.POSITIVE_INFINITY;function p$(L,_){return _[1]!==eD?(function(F,N,W){let J=0,ee=0;switch(N=Math.abs(N),W=Math.abs(W),F){case"top-right":case"top-left":case"top":ee=W-kg;break;case"bottom-right":case"bottom-left":case"bottom":ee=-W+kg}switch(F){case"top-right":case"bottom-right":case"right":J=-N;break;case"top-left":case"bottom-left":case"left":J=N}return[J,ee]})(L,_[0],_[1]):(function(F,N){let W=0,J=0;N<0&&(N=0);let ee=N/Math.SQRT2;switch(F){case"top-right":case"top-left":J=ee-kg;break;case"bottom-right":case"bottom-left":J=-ee+kg;break;case"bottom":J=-N+kg;break;case"top":J=N-kg}switch(F){case"top-right":case"bottom-right":W=-ee;break;case"top-left":case"bottom-left":W=ee;break;case"left":W=N;break;case"right":W=-N}return[W,J]})(L,_[0])}function g$(L,_,F){var N;let W=L.layout,J=(N=W.get("text-variable-anchor-offset"))===null||N===void 0?void 0:N.evaluate(_,{},F);if(J){let me=J.values,Ce=[];for(let Ve=0;VeCt*$c));nt.startsWith("top")?wt[1]-=kg:nt.startsWith("bottom")&&(wt[1]+=kg),Ce[Ve+1]=wt}return new Oi(Ce)}let ee=W.get("text-variable-anchor");if(ee){let me;me=L._unevaluatedLayout.getValue("text-radial-offset")!==void 0?[W.get("text-radial-offset").evaluate(_,{},F)*$c,eD]:W.get("text-offset").evaluate(_,{},F).map((Ve=>Ve*$c));let Ce=[];for(let Ve of ee)Ce.push(Ve,p$(Ve,me));return new Oi(Ce)}return null}function tD(L){switch(L){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function q$e(L,_,F,N,W,J,ee,me,Ce,Ve,nt){let wt=J.textMaxSize.evaluate(_,{});wt===void 0&&(wt=ee);let Ct=L.layers[0].layout,Rt=Ct.get("icon-offset").evaluate(_,{},nt),jt=y$(F.horizontal),Qt=ee/24,Ar=L.tilePixelRatio*Qt,Pr=L.tilePixelRatio*wt/24,gn=L.tilePixelRatio*me,Yr=L.tilePixelRatio*Ct.get("symbol-spacing"),ln=Ct.get("text-padding")*L.tilePixelRatio,Bn=(function(Zn,wi,vi,eo=1){let Ml=Zn.get("icon-padding").evaluate(wi,{},vi),dl=Ml&&Ml.values;return[dl[0]*eo,dl[1]*eo,dl[2]*eo,dl[3]*eo]})(Ct,_,nt,L.tilePixelRatio),ga=Ct.get("text-max-angle")/180*Math.PI,Za=Ct.get("text-rotation-alignment")!=="viewport"&&Ct.get("symbol-placement")!=="point",Ii=Ct.get("icon-rotation-alignment")==="map"&&Ct.get("symbol-placement")!=="point",Ya=Ct.get("symbol-placement"),Ua=Yr/2,gi=Ct.get("icon-text-fit"),ai;N&&gi!=="none"&&(L.allowVerticalPlacement&&F.vertical&&(ai=UZ(N,F.vertical,gi,Ct.get("icon-text-fit-padding"),Rt,Qt)),jt&&(N=UZ(N,jt,gi,Ct.get("icon-text-fit-padding"),Rt,Qt)));let Qa=(Zn,wi)=>{wi.x<0||wi.x>=$a||wi.y<0||wi.y>=$a||(function(vi,eo,Ml,dl,gf,Dv,dh,mf,td,rd,nd,Xu,yf,Dh,vh,ad,ph,ov,_d,As,Rl,Hl,qd,Iu,lb){let pp=vi.addToLineVertexArray(eo,Ml),gp,Rv,sv,Gf,x1=0,v5=0,w$=0,T$=0,uD=-1,cD=-1,b1={},A$=Hr("");if(vi.allowVerticalPlacement&&dl.vertical){let Rh=mf.layout.get("text-rotate").evaluate(Rl,{},Iu)+90;sv=new gM(td,eo,rd,nd,Xu,dl.vertical,yf,Dh,vh,Rh),dh&&(Gf=new gM(td,eo,rd,nd,Xu,dh,ph,ov,vh,Rh))}if(gf){let Rh=mf.layout.get("icon-rotate").evaluate(Rl,{}),lv=mf.layout.get("icon-text-fit")!=="none",Cy=d$(gf,Rh,qd,lv),S0=dh?d$(dh,Rh,qd,lv):void 0;Rv=new gM(td,eo,rd,nd,Xu,gf,ph,ov,!1,Rh),x1=4*Cy.length;let Ly=vi.iconSizeData,mp=null;Ly.kind==="source"?(mp=[vp*mf.layout.get("icon-size").evaluate(Rl,{})],mp[0]>Mg&&A(`${vi.layerIds[0]}: Value for "icon-size" is >= ${u5}. Reduce your "icon-size".`)):Ly.kind==="composite"&&(mp=[vp*Hl.compositeIconSizes[0].evaluate(Rl,{},Iu),vp*Hl.compositeIconSizes[1].evaluate(Rl,{},Iu)],(mp[0]>Mg||mp[1]>Mg)&&A(`${vi.layerIds[0]}: Value for "icon-size" is >= ${u5}. Reduce your "icon-size".`)),vi.addSymbols(vi.icon,Cy,mp,As,_d,Rl,a.ah.none,eo,pp.lineStartIndex,pp.lineLength,-1,Iu),uD=vi.icon.placedSymbolArray.length-1,S0&&(v5=4*S0.length,vi.addSymbols(vi.icon,S0,mp,As,_d,Rl,a.ah.vertical,eo,pp.lineStartIndex,pp.lineLength,-1,Iu),cD=vi.icon.placedSymbolArray.length-1)}let M$=Object.keys(dl.horizontal);for(let Rh of M$){let lv=dl.horizontal[Rh];if(!gp){A$=Hr(lv.text);let S0=mf.layout.get("text-rotate").evaluate(Rl,{},Iu);gp=new gM(td,eo,rd,nd,Xu,lv,yf,Dh,vh,S0)}let Cy=lv.positionedLines.length===1;if(w$+=m$(vi,eo,lv,Dv,mf,vh,Rl,ad,pp,dl.vertical?a.ah.horizontal:a.ah.horizontalOnly,Cy?M$:[Rh],b1,uD,Hl,Iu),Cy)break}dl.vertical&&(T$+=m$(vi,eo,dl.vertical,Dv,mf,vh,Rl,ad,pp,a.ah.vertical,["vertical"],b1,cD,Hl,Iu));let N$e=gp?gp.boxStartIndex:vi.collisionBoxArray.length,U$e=gp?gp.boxEndIndex:vi.collisionBoxArray.length,V$e=sv?sv.boxStartIndex:vi.collisionBoxArray.length,G$e=sv?sv.boxEndIndex:vi.collisionBoxArray.length,H$e=Rv?Rv.boxStartIndex:vi.collisionBoxArray.length,j$e=Rv?Rv.boxEndIndex:vi.collisionBoxArray.length,W$e=Gf?Gf.boxStartIndex:vi.collisionBoxArray.length,Y$e=Gf?Gf.boxEndIndex:vi.collisionBoxArray.length,M0=-1,yM=(Rh,lv)=>Rh&&Rh.circleDiameter?Math.max(Rh.circleDiameter,lv):lv;M0=yM(gp,M0),M0=yM(sv,M0),M0=yM(Rv,M0),M0=yM(Gf,M0);let S$=M0>-1?1:0;S$&&(M0*=lb/$c),vi.glyphOffsetArray.length>=ib.MAX_GLYPHS&&A("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),Rl.sortKey!==void 0&&vi.addToSortKeyRanges(vi.symbolInstances.length,Rl.sortKey);let X$e=g$(mf,Rl,Iu),[Z$e,$$e]=(function(Rh,lv){let Cy=Rh.length,S0=lv==null?void 0:lv.values;if((S0==null?void 0:S0.length)>0)for(let Ly=0;Ly=0?b1.right:-1,b1.center>=0?b1.center:-1,b1.left>=0?b1.left:-1,b1.vertical||-1,uD,cD,A$,N$e,U$e,V$e,G$e,H$e,j$e,W$e,Y$e,rd,w$,T$,x1,v5,S$,0,yf,M0,Z$e,$$e)})(L,wi,Zn,F,N,W,ai,L.layers[0],L.collisionBoxArray,_.index,_.sourceLayerIndex,L.index,Ar,[ln,ln,ln,ln],Za,Ce,gn,Bn,Ii,Rt,_,J,Ve,nt,ee)};if(Ya==="line")for(let Zn of s$(_.geometry,0,0,$a,$a)){let wi=D$e(Zn,Yr,ga,F.vertical||jt,N,24,Pr,L.overscaling,$a);for(let vi of wi)jt&&B$e(L,jt.text,Ua,vi)||Qa(Zn,vi)}else if(Ya==="line-center"){for(let Zn of _.geometry)if(Zn.length>1){let wi=P$e(Zn,ga,F.vertical||jt,N,24,Pr);wi&&Qa(Zn,wi)}}else if(_.type==="Polygon")for(let Zn of Lf(_.geometry,0)){let wi=I$e(Zn,16);Qa(Zn[0],new Eg(wi.x,wi.y,0))}else if(_.type==="LineString")for(let Zn of _.geometry)Qa(Zn,new Eg(Zn[0].x,Zn[0].y,0));else if(_.type==="Point")for(let Zn of _.geometry)for(let wi of Zn)Qa([wi],new Eg(wi.x,wi.y,0))}function m$(L,_,F,N,W,J,ee,me,Ce,Ve,nt,wt,Ct,Rt,jt){let Qt=(function(gn,Yr,ln,Bn,ga,Za,Ii,Ya){let Ua=Bn.layout.get("text-rotate").evaluate(Za,{})*Math.PI/180,gi=[];for(let ai of Yr.positionedLines)for(let Qa of ai.positionedGlyphs){if(!Qa.rect)continue;let Zn=Qa.rect||{},wi=DZ+1,vi=!0,eo=1,Ml=0,dl=(ga||Ya)&&Qa.vertical,gf=Qa.metrics.advance*Qa.scale/2;if(Ya&&Yr.verticalizable&&(Ml=ai.lineOffset/2-(Qa.imageName?-($c-Qa.metrics.width*Qa.scale)/2:(Qa.scale-1)*$c)),Qa.imageName){let As=Ii[Qa.imageName];vi=As.sdf,eo=As.pixelRatio,wi=bd/eo}let Dv=ga?[Qa.x+gf,Qa.y]:[0,0],dh=ga?[0,0]:[Qa.x+gf+ln[0],Qa.y+ln[1]-Ml],mf=[0,0];dl&&(mf=dh,dh=[0,0]);let td=Qa.metrics.isDoubleResolution?2:1,rd=(Qa.metrics.left-wi)*Qa.scale-gf+dh[0],nd=(-Qa.metrics.top-wi)*Qa.scale+dh[1],Xu=rd+Zn.w/td*Qa.scale/eo,yf=nd+Zn.h/td*Qa.scale/eo,Dh=new u(rd,nd),vh=new u(Xu,nd),ad=new u(rd,yf),ph=new u(Xu,yf);if(dl){let As=new u(-gf,gf-s5),Rl=-Math.PI/2,Hl=$c/2-gf,qd=new u(5-s5-Hl,-(Qa.imageName?Hl:0)),Iu=new u(...mf);Dh._rotateAround(Rl,As)._add(qd)._add(Iu),vh._rotateAround(Rl,As)._add(qd)._add(Iu),ad._rotateAround(Rl,As)._add(qd)._add(Iu),ph._rotateAround(Rl,As)._add(qd)._add(Iu)}if(Ua){let As=Math.sin(Ua),Rl=Math.cos(Ua),Hl=[Rl,-As,As,Rl];Dh._matMult(Hl),vh._matMult(Hl),ad._matMult(Hl),ph._matMult(Hl)}let ov=new u(0,0),_d=new u(0,0);gi.push({tl:Dh,tr:vh,bl:ad,br:ph,tex:Zn,writingMode:Yr.writingMode,glyphOffset:Dv,sectionIndex:Qa.sectionIndex,isSDF:vi,pixelOffsetTL:ov,pixelOffsetBR:_d,minFontScaleX:0,minFontScaleY:0})}return gi})(0,F,me,W,J,ee,N,L.allowVerticalPlacement),Ar=L.textSizeData,Pr=null;Ar.kind==="source"?(Pr=[vp*W.layout.get("text-size").evaluate(ee,{})],Pr[0]>Mg&&A(`${L.layerIds[0]}: Value for "text-size" is >= ${u5}. Reduce your "text-size".`)):Ar.kind==="composite"&&(Pr=[vp*Rt.compositeTextSizes[0].evaluate(ee,{},jt),vp*Rt.compositeTextSizes[1].evaluate(ee,{},jt)],(Pr[0]>Mg||Pr[1]>Mg)&&A(`${L.layerIds[0]}: Value for "text-size" is >= ${u5}. Reduce your "text-size".`)),L.addSymbols(L.text,Qt,Pr,me,J,ee,Ve,_,Ce.lineStartIndex,Ce.lineLength,Ct,jt);for(let gn of nt)wt[gn]=L.text.placedSymbolArray.length-1;return 4*Qt.length}function y$(L){for(let _ in L)return L[_];return null}function B$e(L,_,F,N){let W=L.compareText;if(_ in W){let J=W[_];for(let ee=J.length-1;ee>=0;ee--)if(N.dist(J[ee])>4;if(W!==1)throw new Error(`Got v${W} data when expected v1.`);let J=x$[15&N];if(!J)throw new Error("Unrecognized array type.");let[ee]=new Uint16Array(_,2,1),[me]=new Uint32Array(_,4,1);return new rD(me,ee,J,_)}constructor(_,F=64,N=Float64Array,W){if(isNaN(_)||_<0)throw new Error(`Unpexpected numItems value: ${_}.`);this.numItems=+_,this.nodeSize=Math.min(Math.max(+F,2),65535),this.ArrayType=N,this.IndexArrayType=_<65536?Uint16Array:Uint32Array;let J=x$.indexOf(this.ArrayType),ee=2*_*this.ArrayType.BYTES_PER_ELEMENT,me=_*this.IndexArrayType.BYTES_PER_ELEMENT,Ce=(8-me%8)%8;if(J<0)throw new Error(`Unexpected typed array class: ${N}.`);W&&W instanceof ArrayBuffer?(this.data=W,this.ids=new this.IndexArrayType(this.data,8,_),this.coords=new this.ArrayType(this.data,8+me+Ce,2*_),this._pos=2*_,this._finished=!0):(this.data=new ArrayBuffer(8+ee+me+Ce),this.ids=new this.IndexArrayType(this.data,8,_),this.coords=new this.ArrayType(this.data,8+me+Ce,2*_),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+J]),new Uint16Array(this.data,2,1)[0]=F,new Uint32Array(this.data,4,1)[0]=_)}add(_,F){let N=this._pos>>1;return this.ids[N]=N,this.coords[this._pos++]=_,this.coords[this._pos++]=F,N}finish(){let _=this._pos>>1;if(_!==this.numItems)throw new Error(`Added ${_} items when expected ${this.numItems}.`);return nD(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(_,F,N,W){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:J,coords:ee,nodeSize:me}=this,Ce=[0,J.length-1,0],Ve=[];for(;Ce.length;){let nt=Ce.pop()||0,wt=Ce.pop()||0,Ct=Ce.pop()||0;if(wt-Ct<=me){for(let Ar=Ct;Ar<=wt;Ar++){let Pr=ee[2*Ar],gn=ee[2*Ar+1];Pr>=_&&Pr<=N&&gn>=F&&gn<=W&&Ve.push(J[Ar])}continue}let Rt=Ct+wt>>1,jt=ee[2*Rt],Qt=ee[2*Rt+1];jt>=_&&jt<=N&&Qt>=F&&Qt<=W&&Ve.push(J[Rt]),(nt===0?_<=jt:F<=Qt)&&(Ce.push(Ct),Ce.push(Rt-1),Ce.push(1-nt)),(nt===0?N>=jt:W>=Qt)&&(Ce.push(Rt+1),Ce.push(wt),Ce.push(1-nt))}return Ve}within(_,F,N){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:W,coords:J,nodeSize:ee}=this,me=[0,W.length-1,0],Ce=[],Ve=N*N;for(;me.length;){let nt=me.pop()||0,wt=me.pop()||0,Ct=me.pop()||0;if(wt-Ct<=ee){for(let Ar=Ct;Ar<=wt;Ar++)_$(J[2*Ar],J[2*Ar+1],_,F)<=Ve&&Ce.push(W[Ar]);continue}let Rt=Ct+wt>>1,jt=J[2*Rt],Qt=J[2*Rt+1];_$(jt,Qt,_,F)<=Ve&&Ce.push(W[Rt]),(nt===0?_-N<=jt:F-N<=Qt)&&(me.push(Ct),me.push(Rt-1),me.push(1-nt)),(nt===0?_+N>=jt:F+N>=Qt)&&(me.push(Rt+1),me.push(wt),me.push(1-nt))}return Ce}}function nD(L,_,F,N,W,J){if(W-N<=F)return;let ee=N+W>>1;b$(L,_,ee,N,W,J),nD(L,_,F,N,ee-1,1-J),nD(L,_,F,ee+1,W,1-J)}function b$(L,_,F,N,W,J){for(;W>N;){if(W-N>600){let Ve=W-N+1,nt=F-N+1,wt=Math.log(Ve),Ct=.5*Math.exp(2*wt/3),Rt=.5*Math.sqrt(wt*Ct*(Ve-Ct)/Ve)*(nt-Ve/2<0?-1:1);b$(L,_,F,Math.max(N,Math.floor(F-nt*Ct/Ve+Rt)),Math.min(W,Math.floor(F+(Ve-nt)*Ct/Ve+Rt)),J)}let ee=_[2*F+J],me=N,Ce=W;for(h5(L,_,N,F),_[2*W+J]>ee&&h5(L,_,N,W);meee;)Ce--}_[2*N+J]===ee?h5(L,_,N,Ce):(Ce++,h5(L,_,Ce,W)),Ce<=F&&(N=Ce+1),F<=Ce&&(W=Ce-1)}}function h5(L,_,F,N){aD(L,F,N),aD(_,2*F,2*N),aD(_,2*F+1,2*N+1)}function aD(L,_,F){let N=L[_];L[_]=L[F],L[F]=N}function _$(L,_,F,N){let W=L-F,J=_-N;return W*W+J*J}var iD;a.bg=void 0,(iD=a.bg||(a.bg={})).create="create",iD.load="load",iD.fullLoad="fullLoad";let mM=null,d5=[],oD=1e3/60,sD="loadTime",lD="fullLoadTime",O$e={mark(L){performance.mark(L)},frame(L){let _=L;mM!=null&&d5.push(_-mM),mM=_},clearMetrics(){mM=null,d5=[],performance.clearMeasures(sD),performance.clearMeasures(lD);for(let L in a.bg)performance.clearMarks(a.bg[L])},getPerformanceMetrics(){performance.measure(sD,a.bg.create,a.bg.load),performance.measure(lD,a.bg.create,a.bg.fullLoad);let L=performance.getEntriesByName(sD)[0].duration,_=performance.getEntriesByName(lD)[0].duration,F=d5.length,N=1/(d5.reduce(((J,ee)=>J+ee),0)/F/1e3),W=d5.filter((J=>J>oD)).reduce(((J,ee)=>J+(ee-oD)/oD),0);return{loadTime:L,fullLoadTime:_,fps:N,percentDroppedFrames:W/(F+W)*100,totalFrames:F}}};a.$=class extends bt{},a.A=Ir,a.B=mn,a.C=function(L){if(z==null){let _=L.navigator?L.navigator.userAgent:null;z=!!L.safari||!(!_||!(/\b(iPad|iPhone|iPod)\b/.test(_)||_.match("Safari")&&!_.match("Chrome")))}return z},a.D=Wa,a.E=Pe,a.F=class{constructor(L,_){this.target=L,this.mapId=_,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new L$e((()=>this.process())),this.subscription=(function(F,N,W,J){return F.addEventListener(N,W,!1),{unsubscribe:()=>{F.removeEventListener(N,W,!1)}}})(this.target,"message",(F=>this.receive(F))),this.globalScope=D(self)?L:window}registerMessageHandler(L,_){this.messageHandlers[L]=_}sendAsync(L,_){return new Promise(((F,N)=>{let W=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[W]={resolve:F,reject:N},_&&_.signal.addEventListener("abort",(()=>{delete this.resolveRejects[W];let me={id:W,type:"",origin:location.origin,targetMapId:L.targetMapId,sourceMapId:this.mapId};this.target.postMessage(me)}),{once:!0});let J=[],ee=Object.assign(Object.assign({},L),{id:W,sourceMapId:this.mapId,origin:location.origin,data:La(L.data,J)});this.target.postMessage(ee,{transfer:J})}))}receive(L){let _=L.data,F=_.id;if(!(_.origin!=="file://"&&location.origin!=="file://"&&_.origin!=="resource://android"&&location.origin!=="resource://android"&&_.origin!==location.origin||_.targetMapId&&this.mapId!==_.targetMapId)){if(_.type===""){delete this.tasks[F];let N=this.abortControllers[F];return delete this.abortControllers[F],void(N&&N.abort())}if(D(self)||_.mustQueue)return this.tasks[F]=_,this.taskQueue.push(F),void this.invoker.trigger();this.processTask(F,_)}}process(){if(this.taskQueue.length===0)return;let L=this.taskQueue.shift(),_=this.tasks[L];delete this.tasks[L],this.taskQueue.length>0&&this.invoker.trigger(),_&&this.processTask(L,_)}processTask(L,_){return i(this,void 0,void 0,(function*(){if(_.type===""){let W=this.resolveRejects[L];return delete this.resolveRejects[L],W?void(_.error?W.reject(Va(_.error)):W.resolve(Va(_.data))):void 0}if(!this.messageHandlers[_.type])return void this.completeTask(L,new Error(`Could not find a registered handler for ${_.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(", ")}`));let F=Va(_.data),N=new AbortController;this.abortControllers[L]=N;try{let W=yield this.messageHandlers[_.type](_.sourceMapId,F,N);this.completeTask(L,null,W)}catch(W){this.completeTask(L,W)}}))}completeTask(L,_,F){let N=[];delete this.abortControllers[L];let W={id:L,type:"",sourceMapId:this.mapId,origin:location.origin,error:_?La(_):null,data:La(F,N)};this.target.postMessage(W,{transfer:N})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},a.G=ue,a.H=function(){var L=new Ir(16);return Ir!=Float32Array&&(L[1]=0,L[2]=0,L[3]=0,L[4]=0,L[6]=0,L[7]=0,L[8]=0,L[9]=0,L[11]=0,L[12]=0,L[13]=0,L[14]=0),L[0]=1,L[5]=1,L[10]=1,L[15]=1,L},a.I=GP,a.J=function(L,_,F){var N,W,J,ee,me,Ce,Ve,nt,wt,Ct,Rt,jt,Qt=F[0],Ar=F[1],Pr=F[2];return _===L?(L[12]=_[0]*Qt+_[4]*Ar+_[8]*Pr+_[12],L[13]=_[1]*Qt+_[5]*Ar+_[9]*Pr+_[13],L[14]=_[2]*Qt+_[6]*Ar+_[10]*Pr+_[14],L[15]=_[3]*Qt+_[7]*Ar+_[11]*Pr+_[15]):(W=_[1],J=_[2],ee=_[3],me=_[4],Ce=_[5],Ve=_[6],nt=_[7],wt=_[8],Ct=_[9],Rt=_[10],jt=_[11],L[0]=N=_[0],L[1]=W,L[2]=J,L[3]=ee,L[4]=me,L[5]=Ce,L[6]=Ve,L[7]=nt,L[8]=wt,L[9]=Ct,L[10]=Rt,L[11]=jt,L[12]=N*Qt+me*Ar+wt*Pr+_[12],L[13]=W*Qt+Ce*Ar+Ct*Pr+_[13],L[14]=J*Qt+Ve*Ar+Rt*Pr+_[14],L[15]=ee*Qt+nt*Ar+jt*Pr+_[15]),L},a.K=function(L,_,F){var N=F[0],W=F[1],J=F[2];return L[0]=_[0]*N,L[1]=_[1]*N,L[2]=_[2]*N,L[3]=_[3]*N,L[4]=_[4]*W,L[5]=_[5]*W,L[6]=_[6]*W,L[7]=_[7]*W,L[8]=_[8]*J,L[9]=_[9]*J,L[10]=_[10]*J,L[11]=_[11]*J,L[12]=_[12],L[13]=_[13],L[14]=_[14],L[15]=_[15],L},a.L=Cr,a.M=function(L,_){let F={};for(let N=0;N<_.length;N++){let W=_[N];W in L&&(F[W]=L[W])}return F},a.N=Sg,a.O=$Z,a.P=u,a.Q=KZ,a.R=rn,a.S=iv,a.T=au,a.U=m,a.V=x,a.W=O,a.X=$a,a.Y=xe,a.Z=c5,a._=i,a.a=te,a.a$=function(L,_){var F=L[0],N=L[1],W=L[2],J=L[3],ee=L[4],me=L[5],Ce=L[6],Ve=L[7],nt=L[8],wt=L[9],Ct=L[10],Rt=L[11],jt=L[12],Qt=L[13],Ar=L[14],Pr=L[15],gn=_[0],Yr=_[1],ln=_[2],Bn=_[3],ga=_[4],Za=_[5],Ii=_[6],Ya=_[7],Ua=_[8],gi=_[9],ai=_[10],Qa=_[11],Zn=_[12],wi=_[13],vi=_[14],eo=_[15];return Math.abs(F-gn)<=pr*Math.max(1,Math.abs(F),Math.abs(gn))&&Math.abs(N-Yr)<=pr*Math.max(1,Math.abs(N),Math.abs(Yr))&&Math.abs(W-ln)<=pr*Math.max(1,Math.abs(W),Math.abs(ln))&&Math.abs(J-Bn)<=pr*Math.max(1,Math.abs(J),Math.abs(Bn))&&Math.abs(ee-ga)<=pr*Math.max(1,Math.abs(ee),Math.abs(ga))&&Math.abs(me-Za)<=pr*Math.max(1,Math.abs(me),Math.abs(Za))&&Math.abs(Ce-Ii)<=pr*Math.max(1,Math.abs(Ce),Math.abs(Ii))&&Math.abs(Ve-Ya)<=pr*Math.max(1,Math.abs(Ve),Math.abs(Ya))&&Math.abs(nt-Ua)<=pr*Math.max(1,Math.abs(nt),Math.abs(Ua))&&Math.abs(wt-gi)<=pr*Math.max(1,Math.abs(wt),Math.abs(gi))&&Math.abs(Ct-ai)<=pr*Math.max(1,Math.abs(Ct),Math.abs(ai))&&Math.abs(Rt-Qa)<=pr*Math.max(1,Math.abs(Rt),Math.abs(Qa))&&Math.abs(jt-Zn)<=pr*Math.max(1,Math.abs(jt),Math.abs(Zn))&&Math.abs(Qt-wi)<=pr*Math.max(1,Math.abs(Qt),Math.abs(wi))&&Math.abs(Ar-vi)<=pr*Math.max(1,Math.abs(Ar),Math.abs(vi))&&Math.abs(Pr-eo)<=pr*Math.max(1,Math.abs(Pr),Math.abs(eo))},a.a0=Le,a.a1=QP,a.a2=Ue,a.a3=L=>{let _=window.document.createElement("video");return _.muted=!0,new Promise((F=>{_.onloadstart=()=>{F(_)};for(let N of L){let W=window.document.createElement("source");ce(N)||(_.crossOrigin="Anonymous"),W.src=N,_.appendChild(W)}}))},a.a4=function(){return y++},a.a5=kn,a.a6=ib,a.a7=ju,a.a8=Gs,a.a9=n$,a.aA=function(L){if(L.type==="custom")return new C$e(L);switch(L.type){case"background":return new S$e(L);case"circle":return new kr(L);case"fill":return new At(L);case"fill-extrusion":return new jZe(L);case"heatmap":return new ca(L);case"hillshade":return new No(L);case"line":return new QZe(L);case"raster":return new k$e(L);case"symbol":return new hM(L)}},a.aB=p,a.aC=function(L,_){if(!L)return[{command:"setStyle",args:[_]}];let F=[];try{if(!vt(L.version,_.version))return[{command:"setStyle",args:[_]}];vt(L.center,_.center)||F.push({command:"setCenter",args:[_.center]}),vt(L.zoom,_.zoom)||F.push({command:"setZoom",args:[_.zoom]}),vt(L.bearing,_.bearing)||F.push({command:"setBearing",args:[_.bearing]}),vt(L.pitch,_.pitch)||F.push({command:"setPitch",args:[_.pitch]}),vt(L.sprite,_.sprite)||F.push({command:"setSprite",args:[_.sprite]}),vt(L.glyphs,_.glyphs)||F.push({command:"setGlyphs",args:[_.glyphs]}),vt(L.transition,_.transition)||F.push({command:"setTransition",args:[_.transition]}),vt(L.light,_.light)||F.push({command:"setLight",args:[_.light]}),vt(L.terrain,_.terrain)||F.push({command:"setTerrain",args:[_.terrain]}),vt(L.sky,_.sky)||F.push({command:"setSky",args:[_.sky]}),vt(L.projection,_.projection)||F.push({command:"setProjection",args:[_.projection]});let N={},W=[];(function(ee,me,Ce,Ve){let nt;for(nt in me=me||{},ee=ee||{})Object.prototype.hasOwnProperty.call(ee,nt)&&(Object.prototype.hasOwnProperty.call(me,nt)||qe(nt,Ce,Ve));for(nt in me)Object.prototype.hasOwnProperty.call(me,nt)&&(Object.prototype.hasOwnProperty.call(ee,nt)?vt(ee[nt],me[nt])||(ee[nt].type==="geojson"&&me[nt].type==="geojson"&<(ee,me,nt)?st(Ce,{command:"setGeoJSONSourceData",args:[nt,me[nt].data]}):mt(nt,me,Ce,Ve)):Oe(nt,me,Ce))})(L.sources,_.sources,W,N);let J=[];L.layers&&L.layers.forEach((ee=>{"source"in ee&&N[ee.source]?F.push({command:"removeLayer",args:[ee.id]}):J.push(ee)})),F=F.concat(W),(function(ee,me,Ce){me=me||[];let Ve=(ee=ee||[]).map(de),nt=me.map(de),wt=ee.reduce(Ee,{}),Ct=me.reduce(Ee,{}),Rt=Ve.slice(),jt=Object.create(null),Qt,Ar,Pr,gn,Yr;for(let ln=0,Bn=0;ln@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,((F,N,W,J)=>{let ee=W||J;return _[N]=!ee||ee.toLowerCase(),""})),_["max-age"]){let F=parseInt(_["max-age"],10);isNaN(F)?delete _["max-age"]:_["max-age"]=F}return _},a.ab=function(L,_){let F=[];for(let N in L)N in _||F.push(N);return F},a.ac=M,a.ad=function(L,_,F){var N=Math.sin(F),W=Math.cos(F),J=_[0],ee=_[1],me=_[2],Ce=_[3],Ve=_[4],nt=_[5],wt=_[6],Ct=_[7];return _!==L&&(L[8]=_[8],L[9]=_[9],L[10]=_[10],L[11]=_[11],L[12]=_[12],L[13]=_[13],L[14]=_[14],L[15]=_[15]),L[0]=J*W+Ve*N,L[1]=ee*W+nt*N,L[2]=me*W+wt*N,L[3]=Ce*W+Ct*N,L[4]=Ve*W-J*N,L[5]=nt*W-ee*N,L[6]=wt*W-me*N,L[7]=Ct*W-Ce*N,L},a.ae=function(L){var _=new Ir(16);return _[0]=L[0],_[1]=L[1],_[2]=L[2],_[3]=L[3],_[4]=L[4],_[5]=L[5],_[6]=L[6],_[7]=L[7],_[8]=L[8],_[9]=L[9],_[10]=L[10],_[11]=L[11],_[12]=L[12],_[13]=L[13],_[14]=L[14],_[15]=L[15],_},a.af=Gn,a.ag=function(L,_){let F=0,N=0;if(L.kind==="constant")N=L.layoutSize;else if(L.kind!=="source"){let{interpolationType:W,minZoom:J,maxZoom:ee}=L,me=W?M(_i.interpolationFactor(W,_,J,ee),0,1):0;L.kind==="camera"?N=Mi.number(L.minSize,L.maxSize,me):F=me}return{uSizeT:F,uSize:N}},a.ai=function(L,{uSize:_,uSizeT:F},{lowerSize:N,upperSize:W}){return L.kind==="source"?N/vp:L.kind==="composite"?Mi.number(N/vp,W/vp,F):_},a.aj=YP,a.ak=function(L,_,F,N){let W=_.y-L.y,J=_.x-L.x,ee=N.y-F.y,me=N.x-F.x,Ce=ee*J-me*W;if(Ce===0)return null;let Ve=(me*(L.y-F.y)-ee*(L.x-F.x))/Ce;return new u(L.x+Ve*J,L.y+Ve*W)},a.al=s$,a.am=Dc,a.an=Zr,a.ao=function(L){let _=1/0,F=1/0,N=-1/0,W=-1/0;for(let J of L)_=Math.min(_,J.x),F=Math.min(F,J.y),N=Math.max(N,J.x),W=Math.max(W,J.y);return[_,F,N,W]},a.ap=$c,a.ar=WP,a.as=function(L,_){var F=_[0],N=_[1],W=_[2],J=_[3],ee=_[4],me=_[5],Ce=_[6],Ve=_[7],nt=_[8],wt=_[9],Ct=_[10],Rt=_[11],jt=_[12],Qt=_[13],Ar=_[14],Pr=_[15],gn=F*me-N*ee,Yr=F*Ce-W*ee,ln=F*Ve-J*ee,Bn=N*Ce-W*me,ga=N*Ve-J*me,Za=W*Ve-J*Ce,Ii=nt*Qt-wt*jt,Ya=nt*Ar-Ct*jt,Ua=nt*Pr-Rt*jt,gi=wt*Ar-Ct*Qt,ai=wt*Pr-Rt*Qt,Qa=Ct*Pr-Rt*Ar,Zn=gn*Qa-Yr*ai+ln*gi+Bn*Ua-ga*Ya+Za*Ii;return Zn?(L[0]=(me*Qa-Ce*ai+Ve*gi)*(Zn=1/Zn),L[1]=(W*ai-N*Qa-J*gi)*Zn,L[2]=(Qt*Za-Ar*ga+Pr*Bn)*Zn,L[3]=(Ct*ga-wt*Za-Rt*Bn)*Zn,L[4]=(Ce*Ua-ee*Qa-Ve*Ya)*Zn,L[5]=(F*Qa-W*Ua+J*Ya)*Zn,L[6]=(Ar*ln-jt*Za-Pr*Yr)*Zn,L[7]=(nt*Za-Ct*ln+Rt*Yr)*Zn,L[8]=(ee*ai-me*Ua+Ve*Ii)*Zn,L[9]=(N*Ua-F*ai-J*Ii)*Zn,L[10]=(jt*ga-Qt*ln+Pr*gn)*Zn,L[11]=(wt*ln-nt*ga-Rt*gn)*Zn,L[12]=(me*Ya-ee*gi-Ce*Ii)*Zn,L[13]=(F*gi-N*Ya+W*Ii)*Zn,L[14]=(Qt*Yr-jt*Bn-Ar*gn)*Zn,L[15]=(nt*Bn-wt*Yr+Ct*gn)*Zn,L):null},a.at=tD,a.au=jP,a.av=rD,a.aw=function(){let L={},_=le.$version;for(let F in le.$root){let N=le.$root[F];if(N.required){let W=null;W=F==="version"?_:N.type==="array"?[]:{},W!=null&&(L[F]=W)}}return L},a.ax=na,a.ay=j,a.az=function(L){L=L.slice();let _=Object.create(null);for(let F=0;F25||N<0||N>=1||F<0||F>=1)},a.bc=function(L,_){return L[0]=_[0],L[1]=0,L[2]=0,L[3]=0,L[4]=0,L[5]=_[1],L[6]=0,L[7]=0,L[8]=0,L[9]=0,L[10]=_[2],L[11]=0,L[12]=0,L[13]=0,L[14]=0,L[15]=1,L},a.bd=class extends et{},a.be=KP,a.bf=O$e,a.bh=re,a.bi=function(L,_){te.REGISTERED_PROTOCOLS[L]=_},a.bj=function(L){delete te.REGISTERED_PROTOCOLS[L]},a.bk=function(L,_){let F={};for(let W=0;WQa*$c))}let Ya=ee?"center":F.get("text-justify").evaluate(Ve,{},L.canonical),Ua=F.get("symbol-placement")==="point"?F.get("text-max-width").evaluate(Ve,{},L.canonical)*$c:1/0,gi=()=>{L.bucket.allowVerticalPlacement&&Ja(ln)&&(jt.vertical=uM(Qt,L.glyphMap,L.glyphPositions,L.imagePositions,nt,Ua,J,Za,"left",ga,Pr,a.ah.vertical,!0,Ct,wt))};if(!ee&&Ii){let ai=new Set;if(Ya==="auto")for(let Zn=0;Zni(void 0,void 0,void 0,(function*(){if(L.byteLength===0)return createImageBitmap(new ImageData(1,1));let _=new Blob([new Uint8Array(L)],{type:"image/png"});try{return createImageBitmap(_)}catch(F){throw new Error(`Could not load image because of ${F.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}})),a.e=k,a.f=L=>new Promise(((_,F)=>{let N=new Image;N.onload=()=>{_(N),URL.revokeObjectURL(N.src),N.onload=null,window.requestAnimationFrame((()=>{N.src=U}))},N.onerror=()=>F(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 W=new Blob([new Uint8Array(L)],{type:"image/png"});N.src=L.byteLength?URL.createObjectURL(W):U})),a.g=se,a.h=(L,_)=>fe(k(L,{type:"json"}),_),a.i=D,a.j=ye,a.k=he,a.l=(L,_)=>fe(k(L,{type:"arrayBuffer"}),_),a.m=fe,a.n=function(L){return new UP(L).readFields(v$e,[])},a.o=oa,a.p=RZ,a.q=K,a.r=en,a.s=ce,a.t=tn,a.u=Ur,a.v=le,a.w=A,a.x=function([L,_,F]){return _+=90,_*=Math.PI/180,F*=Math.PI/180,{x:L*Math.cos(_)*Math.sin(F),y:L*Math.sin(_)*Math.sin(F),z:L*Math.cos(F)}},a.y=Mi,a.z=Yi})),r("worker",["./shared"],(function(a){"use strict";class i{constructor(Te){this.keyCache={},Te&&this.replace(Te)}replace(Te){this._layerConfigs={},this._layers={},this.update(Te,[])}update(Te,Fe){for(let Re of Te){this._layerConfigs[Re.id]=Re;let Ze=this._layers[Re.id]=a.aA(Re);Ze._featureFilter=a.a7(Ze.filter),this.keyCache[Re.id]&&delete this.keyCache[Re.id]}for(let Re of Fe)delete this.keyCache[Re],delete this._layerConfigs[Re],delete this._layers[Re];this.familiesBySource={};let Ae=a.bk(Object.values(this._layerConfigs),this.keyCache);for(let Re of Ae){let Ze=Re.map(($t=>this._layers[$t.id])),Ke=Ze[0];if(Ke.visibility==="none")continue;let _t=Ke.source||"",St=this.familiesBySource[_t];St||(St=this.familiesBySource[_t]={});let Vt=Ke.sourceLayer||"_geojsonTileLayer",fr=St[Vt];fr||(fr=St[Vt]=[]),fr.push(Ze)}}}class o{constructor(Te){let Fe={},Ae=[];for(let _t in Te){let St=Te[_t],Vt=Fe[_t]={};for(let fr in St){let $t=St[+fr];if(!$t||$t.bitmap.width===0||$t.bitmap.height===0)continue;let gr={x:0,y:0,w:$t.bitmap.width+2,h:$t.bitmap.height+2};Ae.push(gr),Vt[fr]={rect:gr,metrics:$t.metrics}}}let{w:Re,h:Ze}=a.p(Ae),Ke=new a.o({width:Re||1,height:Ze||1});for(let _t in Te){let St=Te[_t];for(let Vt in St){let fr=St[+Vt];if(!fr||fr.bitmap.width===0||fr.bitmap.height===0)continue;let $t=Fe[_t][Vt].rect;a.o.copy(fr.bitmap,Ke,{x:0,y:0},{x:$t.x+1,y:$t.y+1},fr.bitmap)}}this.image=Ke,this.positions=Fe}}a.bl("GlyphAtlas",o);class s{constructor(Te){this.tileID=new a.S(Te.tileID.overscaledZ,Te.tileID.wrap,Te.tileID.canonical.z,Te.tileID.canonical.x,Te.tileID.canonical.y),this.uid=Te.uid,this.zoom=Te.zoom,this.pixelRatio=Te.pixelRatio,this.tileSize=Te.tileSize,this.source=Te.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=Te.showCollisionBoxes,this.collectResourceTiming=!!Te.collectResourceTiming,this.returnDependencies=!!Te.returnDependencies,this.promoteId=Te.promoteId,this.inFlightDependencies=[]}parse(Te,Fe,Ae,Re){return a._(this,void 0,void 0,(function*(){this.status="parsing",this.data=Te,this.collisionBoxArray=new a.a5;let Ze=new a.bm(Object.keys(Te.layers).sort()),Ke=new a.bn(this.tileID,this.promoteId);Ke.bucketLayerIDs=[];let _t={},St={featureIndex:Ke,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:Ae},Vt=Fe.familiesBySource[this.source];for(let Qn in Vt){let un=Te.layers[Qn];if(!un)continue;un.version===1&&a.w(`Vector tile source "${this.source}" layer "${Qn}" does not use vector tile spec v2 and therefore may have some rendering errors.`);let aa=Ze.encode(Qn),da=[];for(let ua=0;ua=qa.maxzoom||qa.visibility!=="none"&&(l(ua,this.zoom,Ae),(_t[qa.id]=qa.createBucket({index:Ke.bucketLayerIDs.length,layers:ua,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:aa,sourceID:this.source})).populate(da,St,this.tileID.canonical),Ke.bucketLayerIDs.push(ua.map((ii=>ii.id))))}}let fr=a.aF(St.glyphDependencies,(Qn=>Object.keys(Qn).map(Number)));this.inFlightDependencies.forEach((Qn=>Qn==null?void 0:Qn.abort())),this.inFlightDependencies=[];let $t=Promise.resolve({});if(Object.keys(fr).length){let Qn=new AbortController;this.inFlightDependencies.push(Qn),$t=Re.sendAsync({type:"GG",data:{stacks:fr,source:this.source,tileID:this.tileID,type:"glyphs"}},Qn)}let gr=Object.keys(St.iconDependencies),Br=Promise.resolve({});if(gr.length){let Qn=new AbortController;this.inFlightDependencies.push(Qn),Br=Re.sendAsync({type:"GI",data:{icons:gr,source:this.source,tileID:this.tileID,type:"icons"}},Qn)}let Nr=Object.keys(St.patternDependencies),Er=Promise.resolve({});if(Nr.length){let Qn=new AbortController;this.inFlightDependencies.push(Qn),Er=Re.sendAsync({type:"GI",data:{icons:Nr,source:this.source,tileID:this.tileID,type:"patterns"}},Qn)}let[zr,vn,Nn]=yield Promise.all([$t,Br,Er]),Xn=new o(zr),Kn=new a.bo(vn,Nn);for(let Qn in _t){let un=_t[Qn];un instanceof a.a6?(l(un.layers,this.zoom,Ae),a.bp({bucket:un,glyphMap:zr,glyphPositions:Xn.positions,imageMap:vn,imagePositions:Kn.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):un.hasPattern&&(un instanceof a.bq||un instanceof a.br||un instanceof a.bs)&&(l(un.layers,this.zoom,Ae),un.addFeatures(St,this.tileID.canonical,Kn.patternPositions))}return this.status="done",{buckets:Object.values(_t).filter((Qn=>!Qn.isEmpty())),featureIndex:Ke,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:Xn.image,imageAtlas:Kn,glyphMap:this.returnDependencies?zr:null,iconMap:this.returnDependencies?vn:null,glyphPositions:this.returnDependencies?Xn.positions:null}}))}}function l(Ye,Te,Fe){let Ae=new a.z(Te);for(let Re of Ye)Re.recalculate(Ae,Fe)}class u{constructor(Te,Fe,Ae){this.actor=Te,this.layerIndex=Fe,this.availableImages=Ae,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(Te,Fe){return a._(this,void 0,void 0,(function*(){let Ae=yield a.l(Te.request,Fe);try{return{vectorTile:new a.bt.VectorTile(new a.bu(Ae.data)),rawData:Ae.data,cacheControl:Ae.cacheControl,expires:Ae.expires}}catch(Re){let Ze=new Uint8Array(Ae.data),Ke=`Unable to parse the tile at ${Te.request.url}, `;throw Ke+=Ze[0]===31&&Ze[1]===139?"please make sure the data is not gzipped and that you have configured the relevant header in the server":`got error: ${Re.message}`,new Error(Ke)}}))}loadTile(Te){return a._(this,void 0,void 0,(function*(){let Fe=Te.uid,Ae=!!(Te&&Te.request&&Te.request.collectResourceTiming)&&new a.bv(Te.request),Re=new s(Te);this.loading[Fe]=Re;let Ze=new AbortController;Re.abort=Ze;try{let Ke=yield this.loadVectorTile(Te,Ze);if(delete this.loading[Fe],!Ke)return null;let _t=Ke.rawData,St={};Ke.expires&&(St.expires=Ke.expires),Ke.cacheControl&&(St.cacheControl=Ke.cacheControl);let Vt={};if(Ae){let $t=Ae.finish();$t&&(Vt.resourceTiming=JSON.parse(JSON.stringify($t)))}Re.vectorTile=Ke.vectorTile;let fr=Re.parse(Ke.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[Fe]=Re,this.fetching[Fe]={rawTileData:_t,cacheControl:St,resourceTiming:Vt};try{let $t=yield fr;return a.e({rawTileData:_t.slice(0)},$t,St,Vt)}finally{delete this.fetching[Fe]}}catch(Ke){throw delete this.loading[Fe],Re.status="done",this.loaded[Fe]=Re,Ke}}))}reloadTile(Te){return a._(this,void 0,void 0,(function*(){let Fe=Te.uid;if(!this.loaded||!this.loaded[Fe])throw new Error("Should not be trying to reload a tile that was never loaded or has been removed");let Ae=this.loaded[Fe];if(Ae.showCollisionBoxes=Te.showCollisionBoxes,Ae.status==="parsing"){let Re=yield Ae.parse(Ae.vectorTile,this.layerIndex,this.availableImages,this.actor),Ze;if(this.fetching[Fe]){let{rawTileData:Ke,cacheControl:_t,resourceTiming:St}=this.fetching[Fe];delete this.fetching[Fe],Ze=a.e({rawTileData:Ke.slice(0)},Re,_t,St)}else Ze=Re;return Ze}if(Ae.status==="done"&&Ae.vectorTile)return Ae.parse(Ae.vectorTile,this.layerIndex,this.availableImages,this.actor)}))}abortTile(Te){return a._(this,void 0,void 0,(function*(){let Fe=this.loading,Ae=Te.uid;Fe&&Fe[Ae]&&Fe[Ae].abort&&(Fe[Ae].abort.abort(),delete Fe[Ae])}))}removeTile(Te){return a._(this,void 0,void 0,(function*(){this.loaded&&this.loaded[Te.uid]&&delete this.loaded[Te.uid]}))}}class c{constructor(){this.loaded={}}loadTile(Te){return a._(this,void 0,void 0,(function*(){let{uid:Fe,encoding:Ae,rawImageData:Re,redFactor:Ze,greenFactor:Ke,blueFactor:_t,baseShift:St}=Te,Vt=Re.width+2,fr=Re.height+2,$t=a.b(Re)?new a.R({width:Vt,height:fr},yield a.bw(Re,-1,-1,Vt,fr)):Re,gr=new a.bx(Fe,$t,Ae,Ze,Ke,_t,St);return this.loaded=this.loaded||{},this.loaded[Fe]=gr,gr}))}removeTile(Te){let Fe=this.loaded,Ae=Te.uid;Fe&&Fe[Ae]&&delete Fe[Ae]}}function f(Ye,Te){if(Ye.length!==0){h(Ye[0],Te);for(var Fe=1;Fe=Math.abs(_t)?Fe-St+_t:_t-St+Fe,Fe=St}Fe+Ae>=0!=!!Te&&Ye.reverse()}var v=a.by((function Ye(Te,Fe){var Ae,Re=Te&&Te.type;if(Re==="FeatureCollection")for(Ae=0;Ae>31}function D(Ye,Te){for(var Fe=Ye.loadGeometry(),Ae=Ye.type,Re=0,Ze=0,Ke=Fe.length,_t=0;_tYe},O=Math.fround||(R=new Float32Array(1),Ye=>(R[0]=+Ye,R[0]));var R;let B=3,Y=5,X=6;class te{constructor(Te){this.options=Object.assign(Object.create(U),Te),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(Te){let{log:Fe,minZoom:Ae,maxZoom:Re}=this.options;Fe&&console.time("total time");let Ze=`prepare ${Te.length} points`;Fe&&console.time(Ze),this.points=Te;let Ke=[];for(let St=0;St=Ae;St--){let Vt=+Date.now();_t=this.trees[St]=this._createTree(this._cluster(_t,St)),Fe&&console.log("z%d: %d clusters in %dms",St,_t.numItems,+Date.now()-Vt)}return Fe&&console.timeEnd("total time"),this}getClusters(Te,Fe){let Ae=((Te[0]+180)%360+360)%360-180,Re=Math.max(-90,Math.min(90,Te[1])),Ze=Te[2]===180?180:((Te[2]+180)%360+360)%360-180,Ke=Math.max(-90,Math.min(90,Te[3]));if(Te[2]-Te[0]>=360)Ae=-180,Ze=180;else if(Ae>Ze){let $t=this.getClusters([Ae,Re,180,Ke],Fe),gr=this.getClusters([-180,Re,Ze,Ke],Fe);return $t.concat(gr)}let _t=this.trees[this._limitZoom(Fe)],St=_t.range(re(Ae),j(Ke),re(Ze),j(Re)),Vt=_t.data,fr=[];for(let $t of St){let gr=this.stride*$t;fr.push(Vt[gr+Y]>1?se(Vt,gr,this.clusterProps):this.points[Vt[gr+B]])}return fr}getChildren(Te){let Fe=this._getOriginId(Te),Ae=this._getOriginZoom(Te),Re="No cluster with the specified id.",Ze=this.trees[Ae];if(!Ze)throw new Error(Re);let Ke=Ze.data;if(Fe*this.stride>=Ke.length)throw new Error(Re);let _t=this.options.radius/(this.options.extent*Math.pow(2,Ae-1)),St=Ze.within(Ke[Fe*this.stride],Ke[Fe*this.stride+1],_t),Vt=[];for(let fr of St){let $t=fr*this.stride;Ke[$t+4]===Te&&Vt.push(Ke[$t+Y]>1?se(Ke,$t,this.clusterProps):this.points[Ke[$t+B]])}if(Vt.length===0)throw new Error(Re);return Vt}getLeaves(Te,Fe,Ae){let Re=[];return this._appendLeaves(Re,Te,Fe=Fe||10,Ae=Ae||0,0),Re}getTile(Te,Fe,Ae){let Re=this.trees[this._limitZoom(Te)],Ze=Math.pow(2,Te),{extent:Ke,radius:_t}=this.options,St=_t/Ke,Vt=(Ae-St)/Ze,fr=(Ae+1+St)/Ze,$t={features:[]};return this._addTileFeatures(Re.range((Fe-St)/Ze,Vt,(Fe+1+St)/Ze,fr),Re.data,Fe,Ae,Ze,$t),Fe===0&&this._addTileFeatures(Re.range(1-St/Ze,Vt,1,fr),Re.data,Ze,Ae,Ze,$t),Fe===Ze-1&&this._addTileFeatures(Re.range(0,Vt,St/Ze,fr),Re.data,-1,Ae,Ze,$t),$t.features.length?$t:null}getClusterExpansionZoom(Te){let Fe=this._getOriginZoom(Te)-1;for(;Fe<=this.options.maxZoom;){let Ae=this.getChildren(Te);if(Fe++,Ae.length!==1)break;Te=Ae[0].properties.cluster_id}return Fe}_appendLeaves(Te,Fe,Ae,Re,Ze){let Ke=this.getChildren(Fe);for(let _t of Ke){let St=_t.properties;if(St&&St.cluster?Ze+St.point_count<=Re?Ze+=St.point_count:Ze=this._appendLeaves(Te,St.cluster_id,Ae,Re,Ze):Ze1,fr,$t,gr;if(Vt)fr=ue(Fe,St,this.clusterProps),$t=Fe[St],gr=Fe[St+1];else{let Er=this.points[Fe[St+B]];fr=Er.properties;let[zr,vn]=Er.geometry.coordinates;$t=re(zr),gr=j(vn)}let Br={type:1,geometry:[[Math.round(this.options.extent*($t*Ze-Ae)),Math.round(this.options.extent*(gr*Ze-Re))]],tags:fr},Nr;Nr=Vt||this.options.generateId?Fe[St+B]:this.points[Fe[St+B]].id,Nr!==void 0&&(Br.id=Nr),Ke.features.push(Br)}}_limitZoom(Te){return Math.max(this.options.minZoom,Math.min(Math.floor(+Te),this.options.maxZoom+1))}_cluster(Te,Fe){let{radius:Ae,extent:Re,reduce:Ze,minPoints:Ke}=this.options,_t=Ae/(Re*Math.pow(2,Fe)),St=Te.data,Vt=[],fr=this.stride;for(let $t=0;$tFe&&(zr+=St[Nn+Y])}if(zr>Er&&zr>=Ke){let vn,Nn=gr*Er,Xn=Br*Er,Kn=-1,Qn=(($t/fr|0)<<5)+(Fe+1)+this.points.length;for(let un of Nr){let aa=un*fr;if(St[aa+2]<=Fe)continue;St[aa+2]=Fe;let da=St[aa+Y];Nn+=St[aa]*da,Xn+=St[aa+1]*da,St[aa+4]=Qn,Ze&&(vn||(vn=this._map(St,$t,!0),Kn=this.clusterProps.length,this.clusterProps.push(vn)),Ze(vn,this._map(St,aa)))}St[$t+4]=Qn,Vt.push(Nn/zr,Xn/zr,1/0,Qn,-1,zr),Ze&&Vt.push(Kn)}else{for(let vn=0;vn1)for(let vn of Nr){let Nn=vn*fr;if(!(St[Nn+2]<=Fe)){St[Nn+2]=Fe;for(let Xn=0;Xn>5}_getOriginZoom(Te){return(Te-this.points.length)%32}_map(Te,Fe,Ae){if(Te[Fe+Y]>1){let Ke=this.clusterProps[Te[Fe+X]];return Ae?Object.assign({},Ke):Ke}let Re=this.points[Te[Fe+B]].properties,Ze=this.options.map(Re);return Ae&&Ze===Re?Object.assign({},Ze):Ze}}function se(Ye,Te,Fe){return{type:"Feature",id:Ye[Te+B],properties:ue(Ye,Te,Fe),geometry:{type:"Point",coordinates:[(Ae=Ye[Te],360*(Ae-.5)),fe(Ye[Te+1])]}};var Ae}function ue(Ye,Te,Fe){let Ae=Ye[Te+Y],Re=Ae>=1e4?`${Math.round(Ae/1e3)}k`:Ae>=1e3?Math.round(Ae/100)/10+"k":Ae,Ze=Ye[Te+X],Ke=Ze===-1?{}:Object.assign({},Fe[Ze]);return Object.assign(Ke,{cluster:!0,cluster_id:Ye[Te+B],point_count:Ae,point_count_abbreviated:Re})}function re(Ye){return Ye/360+.5}function j(Ye){let Te=Math.sin(Ye*Math.PI/180),Fe=.5-.25*Math.log((1+Te)/(1-Te))/Math.PI;return Fe<0?0:Fe>1?1:Fe}function fe(Ye){let Te=(180-360*Ye)*Math.PI/180;return 360*Math.atan(Math.exp(Te))/Math.PI-90}function ce(Ye,Te,Fe,Ae){let Re=Ae,Ze=Te+(Fe-Te>>1),Ke,_t=Fe-Te,St=Ye[Te],Vt=Ye[Te+1],fr=Ye[Fe],$t=Ye[Fe+1];for(let gr=Te+3;grRe)Ke=gr,Re=Br;else if(Br===Re){let Nr=Math.abs(gr-Ze);Nr<_t&&(Ke=gr,_t=Nr)}}Re>Ae&&(Ke-Te>3&&ce(Ye,Te,Ke,Ae),Ye[Ke+2]=Re,Fe-Ke>3&&ce(Ye,Ke,Fe,Ae))}function oe(Ye,Te,Fe,Ae,Re,Ze){let Ke=Re-Fe,_t=Ze-Ae;if(Ke!==0||_t!==0){let St=((Ye-Fe)*Ke+(Te-Ae)*_t)/(Ke*Ke+_t*_t);St>1?(Fe=Re,Ae=Ze):St>0&&(Fe+=Ke*St,Ae+=_t*St)}return Ke=Ye-Fe,_t=Te-Ae,Ke*Ke+_t*_t}function we(Ye,Te,Fe,Ae){let Re={id:Ye==null?null:Ye,type:Te,geometry:Fe,tags:Ae,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(Te==="Point"||Te==="MultiPoint"||Te==="LineString")he(Re,Fe);else if(Te==="Polygon")he(Re,Fe[0]);else if(Te==="MultiLineString")for(let Ze of Fe)he(Re,Ze);else if(Te==="MultiPolygon")for(let Ze of Fe)he(Re,Ze[0]);return Re}function he(Ye,Te){for(let Fe=0;Fe0&&(Ke+=Ae?(Re*fr-Vt*Ze)/2:Math.sqrt(Math.pow(Vt-Re,2)+Math.pow(fr-Ze,2))),Re=Vt,Ze=fr}let _t=Te.length-3;Te[2]=1,ce(Te,0,_t,Fe),Te[_t+2]=1,Te.size=Math.abs(Ke),Te.start=0,Te.end=Te.size}function ze(Ye,Te,Fe,Ae){for(let Re=0;Re1?1:Fe}function st(Ye,Te,Fe,Ae,Re,Ze,Ke,_t){if(Ae/=Te,Ze>=(Fe/=Te)&&Ke=Ae)return null;let St=[];for(let Vt of Ye){let fr=Vt.geometry,$t=Vt.type,gr=Re===0?Vt.minX:Vt.minY,Br=Re===0?Vt.maxX:Vt.maxY;if(gr>=Fe&&Br=Ae)continue;let Nr=[];if($t==="Point"||$t==="MultiPoint")Oe(fr,Nr,Fe,Ae,Re);else if($t==="LineString")qe(fr,Nr,Fe,Ae,Re,!1,_t.lineMetrics);else if($t==="MultiLineString")lt(fr,Nr,Fe,Ae,Re,!1);else if($t==="Polygon")lt(fr,Nr,Fe,Ae,Re,!0);else if($t==="MultiPolygon")for(let Er of fr){let zr=[];lt(Er,zr,Fe,Ae,Re,!0),zr.length&&Nr.push(zr)}if(Nr.length){if(_t.lineMetrics&&$t==="LineString"){for(let Er of Nr)St.push(we(Vt.id,$t,Er,Vt.tags));continue}$t!=="LineString"&&$t!=="MultiLineString"||(Nr.length===1?($t="LineString",Nr=Nr[0]):$t="MultiLineString"),$t!=="Point"&&$t!=="MultiPoint"||($t=Nr.length===3?"Point":"MultiPoint"),St.push(we(Vt.id,$t,Nr,Vt.tags))}}return St.length?St:null}function Oe(Ye,Te,Fe,Ae,Re){for(let Ze=0;Ze=Fe&&Ke<=Ae&&Ie(Te,Ye[Ze],Ye[Ze+1],Ye[Ze+2])}}function qe(Ye,Te,Fe,Ae,Re,Ze,Ke){let _t=mt(Ye),St=Re===0?de:Ee,Vt,fr,$t=Ye.start;for(let zr=0;zrFe&&(fr=St(_t,vn,Nn,Kn,Qn,Fe),Ke&&(_t.start=$t+Vt*fr)):un>Ae?aa=Fe&&(fr=St(_t,vn,Nn,Kn,Qn,Fe),da=!0),aa>Ae&&un<=Ae&&(fr=St(_t,vn,Nn,Kn,Qn,Ae),da=!0),!Ze&&da&&(Ke&&(_t.end=$t+Vt*fr),Te.push(_t),_t=mt(Ye)),Ke&&($t+=Vt)}let gr=Ye.length-3,Br=Ye[gr],Nr=Ye[gr+1],Er=Re===0?Br:Nr;Er>=Fe&&Er<=Ae&&Ie(_t,Br,Nr,Ye[gr+2]),gr=_t.length-3,Ze&&gr>=3&&(_t[gr]!==_t[0]||_t[gr+1]!==_t[1])&&Ie(_t,_t[0],_t[1],_t[2]),_t.length&&Te.push(_t)}function mt(Ye){let Te=[];return Te.size=Ye.size,Te.start=Ye.start,Te.end=Ye.end,Te}function lt(Ye,Te,Fe,Ae,Re,Ze){for(let Ke of Ye)qe(Ke,Te,Fe,Ae,Re,Ze,!1)}function Ie(Ye,Te,Fe,Ae){Ye.push(Te,Fe,Ae)}function de(Ye,Te,Fe,Ae,Re,Ze){let Ke=(Ze-Te)/(Ae-Te);return Ie(Ye,Ze,Fe+(Re-Fe)*Ke,1),Ke}function Ee(Ye,Te,Fe,Ae,Re,Ze){let Ke=(Ze-Fe)/(Re-Fe);return Ie(Ye,Te+(Ae-Te)*Ke,Ze,1),Ke}function Ue(Ye,Te){let Fe=[];for(let Ae=0;Ae0&&Te.size<(Re?Ke:Ae))return void(Fe.numPoints+=Te.length/3);let _t=[];for(let St=0;StKe)&&(Fe.numSimplified++,_t.push(Te[St],Te[St+1])),Fe.numPoints++;Re&&(function(St,Vt){let fr=0;for(let $t=0,gr=St.length,Br=gr-2;$t0===Vt)for(let $t=0,gr=St.length;$t24)throw new Error("maxZoom should be in the 0-24 range");if(Fe.promoteId&&Fe.generateId)throw new Error("promoteId and generateId cannot be used together.");let Re=(function(Ze,Ke){let _t=[];if(Ze.type==="FeatureCollection")for(let St=0;St1&&console.time("creation"),Br=this.tiles[gr]=ft(Te,Fe,Ae,Re,Vt),this.tileCoords.push({z:Fe,x:Ae,y:Re}),fr)){fr>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",Fe,Ae,Re,Br.numFeatures,Br.numPoints,Br.numSimplified),console.timeEnd("creation"));let da=`z${Fe}`;this.stats[da]=(this.stats[da]||0)+1,this.total++}if(Br.source=Te,Ze==null){if(Fe===Vt.indexMaxZoom||Br.numPoints<=Vt.indexMaxPoints)continue}else{if(Fe===Vt.maxZoom||Fe===Ze)continue;if(Ze!=null){let da=Ze-Fe;if(Ae!==Ke>>da||Re!==_t>>da)continue}}if(Br.source=null,Te.length===0)continue;fr>1&&console.time("clipping");let Nr=.5*Vt.buffer/Vt.extent,Er=.5-Nr,zr=.5+Nr,vn=1+Nr,Nn=null,Xn=null,Kn=null,Qn=null,un=st(Te,$t,Ae-Nr,Ae+zr,0,Br.minX,Br.maxX,Vt),aa=st(Te,$t,Ae+Er,Ae+vn,0,Br.minX,Br.maxX,Vt);Te=null,un&&(Nn=st(un,$t,Re-Nr,Re+zr,1,Br.minY,Br.maxY,Vt),Xn=st(un,$t,Re+Er,Re+vn,1,Br.minY,Br.maxY,Vt),un=null),aa&&(Kn=st(aa,$t,Re-Nr,Re+zr,1,Br.minY,Br.maxY,Vt),Qn=st(aa,$t,Re+Er,Re+vn,1,Br.minY,Br.maxY,Vt),aa=null),fr>1&&console.timeEnd("clipping"),St.push(Nn||[],Fe+1,2*Ae,2*Re),St.push(Xn||[],Fe+1,2*Ae,2*Re+1),St.push(Kn||[],Fe+1,2*Ae+1,2*Re),St.push(Qn||[],Fe+1,2*Ae+1,2*Re+1)}}getTile(Te,Fe,Ae){Te=+Te,Fe=+Fe,Ae=+Ae;let Re=this.options,{extent:Ze,debug:Ke}=Re;if(Te<0||Te>24)return null;let _t=1<1&&console.log("drilling down to z%d-%d-%d",Te,Fe,Ae);let Vt,fr=Te,$t=Fe,gr=Ae;for(;!Vt&&fr>0;)fr--,$t>>=1,gr>>=1,Vt=this.tiles[kt(fr,$t,gr)];return Vt&&Vt.source?(Ke>1&&(console.log("found parent tile z%d-%d-%d",fr,$t,gr),console.time("drilling down")),this.splitTile(Vt.source,fr,$t,gr,Te,Fe,Ae),Ke>1&&console.timeEnd("drilling down"),this.tiles[St]?Ge(this.tiles[St],Ze):null):null}}function kt(Ye,Te,Fe){return 32*((1<{$t.properties=Br;let Nr={};for(let Er of gr)Nr[Er]=St[Er].evaluate(fr,$t);return Nr},Ke.reduce=(Br,Nr)=>{$t.properties=Nr;for(let Er of gr)fr.accumulated=Br[Er],Br[Er]=Vt[Er].evaluate(fr,$t)},Ke})(Te)).load((yield this._pendingData).features):(Re=yield this._pendingData,new pt(Re,Te.geojsonVtOptions)),this.loaded={};let Ze={};if(Ae){let Ke=Ae.finish();Ke&&(Ze.resourceTiming={},Ze.resourceTiming[Te.source]=JSON.parse(JSON.stringify(Ke)))}return Ze}catch(Ze){if(delete this._pendingRequest,a.bB(Ze))return{abandoned:!0};throw Ze}var Re}))}getData(){return a._(this,void 0,void 0,(function*(){return this._pendingData}))}reloadTile(Te){let Fe=this.loaded;return Fe&&Fe[Te.uid]?super.reloadTile(Te):this.loadTile(Te)}loadAndProcessGeoJSON(Te,Fe){return a._(this,void 0,void 0,(function*(){let Ae=yield this.loadGeoJSON(Te,Fe);if(delete this._pendingRequest,typeof Ae!="object")throw new Error(`Input data given to '${Te.source}' is not a valid GeoJSON object.`);if(v(Ae,!0),Te.filter){let Re=a.bC(Te.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if(Re.result==="error")throw new Error(Re.value.map((Ke=>`${Ke.key}: ${Ke.message}`)).join(", "));Ae={type:"FeatureCollection",features:Ae.features.filter((Ke=>Re.value.evaluate({zoom:0},Ke)))}}return Ae}))}loadGeoJSON(Te,Fe){return a._(this,void 0,void 0,(function*(){let{promoteId:Ae}=Te;if(Te.request){let Re=yield a.h(Te.request,Fe);return this._dataUpdateable=Wt(Re.data,Ae)?_r(Re.data,Ae):void 0,Re.data}if(typeof Te.data=="string")try{let Re=JSON.parse(Te.data);return this._dataUpdateable=Wt(Re,Ae)?_r(Re,Ae):void 0,Re}catch(Re){throw new Error(`Input data given to '${Te.source}' is not a valid GeoJSON object.`)}if(!Te.dataDiff)throw new Error(`Input data given to '${Te.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${Te.source}`);return(function(Re,Ze,Ke){var _t,St,Vt,fr;if(Ze.removeAll&&Re.clear(),Ze.remove)for(let $t of Ze.remove)Re.delete($t);if(Ze.add)for(let $t of Ze.add){let gr=qt($t,Ke);gr!=null&&Re.set(gr,$t)}if(Ze.update)for(let $t of Ze.update){let gr=Re.get($t.id);if(gr==null)continue;let Br=!$t.removeAllProperties&&(((_t=$t.removeProperties)===null||_t===void 0?void 0:_t.length)>0||((St=$t.addOrUpdateProperties)===null||St===void 0?void 0:St.length)>0);if(($t.newGeometry||$t.removeAllProperties||Br)&&(gr=Object.assign({},gr),Re.set($t.id,gr),Br&&(gr.properties=Object.assign({},gr.properties))),$t.newGeometry&&(gr.geometry=$t.newGeometry),$t.removeAllProperties)gr.properties={};else if(((Vt=$t.removeProperties)===null||Vt===void 0?void 0:Vt.length)>0)for(let Nr of $t.removeProperties)Object.prototype.hasOwnProperty.call(gr.properties,Nr)&&delete gr.properties[Nr];if(((fr=$t.addOrUpdateProperties)===null||fr===void 0?void 0:fr.length)>0)for(let{key:Nr,value:Er}of $t.addOrUpdateProperties)gr.properties[Nr]=Er}})(this._dataUpdateable,Te.dataDiff,Ae),{type:"FeatureCollection",features:Array.from(this._dataUpdateable.values())}}))}removeSource(Te){return a._(this,void 0,void 0,(function*(){this._pendingRequest&&this._pendingRequest.abort()}))}getClusterExpansionZoom(Te){return this._geoJSONIndex.getClusterExpansionZoom(Te.clusterId)}getClusterChildren(Te){return this._geoJSONIndex.getChildren(Te.clusterId)}getClusterLeaves(Te){return this._geoJSONIndex.getLeaves(Te.clusterId,Te.limit,Te.offset)}}class lr{constructor(Te){this.self=Te,this.actor=new a.F(Te),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(Fe,Ae)=>{if(this.externalWorkerSourceTypes[Fe])throw new Error(`Worker source with name "${Fe}" already registered.`);this.externalWorkerSourceTypes[Fe]=Ae},this.self.addProtocol=a.bi,this.self.removeProtocol=a.bj,this.self.registerRTLTextPlugin=Fe=>{if(a.bD.isParsed())throw new Error("RTL text plugin already registered.");a.bD.setMethods(Fe)},this.actor.registerMessageHandler("LDT",((Fe,Ae)=>this._getDEMWorkerSource(Fe,Ae.source).loadTile(Ae))),this.actor.registerMessageHandler("RDT",((Fe,Ae)=>a._(this,void 0,void 0,(function*(){this._getDEMWorkerSource(Fe,Ae.source).removeTile(Ae)})))),this.actor.registerMessageHandler("GCEZ",((Fe,Ae)=>a._(this,void 0,void 0,(function*(){return this._getWorkerSource(Fe,Ae.type,Ae.source).getClusterExpansionZoom(Ae)})))),this.actor.registerMessageHandler("GCC",((Fe,Ae)=>a._(this,void 0,void 0,(function*(){return this._getWorkerSource(Fe,Ae.type,Ae.source).getClusterChildren(Ae)})))),this.actor.registerMessageHandler("GCL",((Fe,Ae)=>a._(this,void 0,void 0,(function*(){return this._getWorkerSource(Fe,Ae.type,Ae.source).getClusterLeaves(Ae)})))),this.actor.registerMessageHandler("LD",((Fe,Ae)=>this._getWorkerSource(Fe,Ae.type,Ae.source).loadData(Ae))),this.actor.registerMessageHandler("GD",((Fe,Ae)=>this._getWorkerSource(Fe,Ae.type,Ae.source).getData())),this.actor.registerMessageHandler("LT",((Fe,Ae)=>this._getWorkerSource(Fe,Ae.type,Ae.source).loadTile(Ae))),this.actor.registerMessageHandler("RT",((Fe,Ae)=>this._getWorkerSource(Fe,Ae.type,Ae.source).reloadTile(Ae))),this.actor.registerMessageHandler("AT",((Fe,Ae)=>this._getWorkerSource(Fe,Ae.type,Ae.source).abortTile(Ae))),this.actor.registerMessageHandler("RMT",((Fe,Ae)=>this._getWorkerSource(Fe,Ae.type,Ae.source).removeTile(Ae))),this.actor.registerMessageHandler("RS",((Fe,Ae)=>a._(this,void 0,void 0,(function*(){if(!this.workerSources[Fe]||!this.workerSources[Fe][Ae.type]||!this.workerSources[Fe][Ae.type][Ae.source])return;let Re=this.workerSources[Fe][Ae.type][Ae.source];delete this.workerSources[Fe][Ae.type][Ae.source],Re.removeSource!==void 0&&Re.removeSource(Ae)})))),this.actor.registerMessageHandler("RM",(Fe=>a._(this,void 0,void 0,(function*(){delete this.layerIndexes[Fe],delete this.availableImages[Fe],delete this.workerSources[Fe],delete this.demWorkerSources[Fe]})))),this.actor.registerMessageHandler("SR",((Fe,Ae)=>a._(this,void 0,void 0,(function*(){this.referrer=Ae})))),this.actor.registerMessageHandler("SRPS",((Fe,Ae)=>this._syncRTLPluginState(Fe,Ae))),this.actor.registerMessageHandler("IS",((Fe,Ae)=>a._(this,void 0,void 0,(function*(){this.self.importScripts(Ae)})))),this.actor.registerMessageHandler("SI",((Fe,Ae)=>this._setImages(Fe,Ae))),this.actor.registerMessageHandler("UL",((Fe,Ae)=>a._(this,void 0,void 0,(function*(){this._getLayerIndex(Fe).update(Ae.layers,Ae.removedIds)})))),this.actor.registerMessageHandler("SL",((Fe,Ae)=>a._(this,void 0,void 0,(function*(){this._getLayerIndex(Fe).replace(Ae)}))))}_setImages(Te,Fe){return a._(this,void 0,void 0,(function*(){this.availableImages[Te]=Fe;for(let Ae in this.workerSources[Te]){let Re=this.workerSources[Te][Ae];for(let Ze in Re)Re[Ze].availableImages=Fe}}))}_syncRTLPluginState(Te,Fe){return a._(this,void 0,void 0,(function*(){if(a.bD.isParsed())return a.bD.getState();if(Fe.pluginStatus!=="loading")return a.bD.setState(Fe),Fe;let Ae=Fe.pluginURL;if(this.self.importScripts(Ae),a.bD.isParsed()){let Re={pluginStatus:"loaded",pluginURL:Ae};return a.bD.setState(Re),Re}throw a.bD.setState({pluginStatus:"error",pluginURL:""}),new Error(`RTL Text Plugin failed to import scripts from ${Ae}`)}))}_getAvailableImages(Te){let Fe=this.availableImages[Te];return Fe||(Fe=[]),Fe}_getLayerIndex(Te){let Fe=this.layerIndexes[Te];return Fe||(Fe=this.layerIndexes[Te]=new i),Fe}_getWorkerSource(Te,Fe,Ae){if(this.workerSources[Te]||(this.workerSources[Te]={}),this.workerSources[Te][Fe]||(this.workerSources[Te][Fe]={}),!this.workerSources[Te][Fe][Ae]){let Re={sendAsync:(Ze,Ke)=>(Ze.targetMapId=Te,this.actor.sendAsync(Ze,Ke))};switch(Fe){case"vector":this.workerSources[Te][Fe][Ae]=new u(Re,this._getLayerIndex(Te),this._getAvailableImages(Te));break;case"geojson":this.workerSources[Te][Fe][Ae]=new tr(Re,this._getLayerIndex(Te),this._getAvailableImages(Te));break;default:this.workerSources[Te][Fe][Ae]=new this.externalWorkerSourceTypes[Fe](Re,this._getLayerIndex(Te),this._getAvailableImages(Te))}}return this.workerSources[Te][Fe][Ae]}_getDEMWorkerSource(Te,Fe){return this.demWorkerSources[Te]||(this.demWorkerSources[Te]={}),this.demWorkerSources[Te][Fe]||(this.demWorkerSources[Te][Fe]=new c),this.demWorkerSources[Te][Fe]}}return a.i(self)&&(self.worker=new lr(self)),lr})),r("index",["exports","./shared"],(function(a,i){"use strict";var o="4.7.1";let s,l,u={now:typeof performance!="undefined"&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:K=>new Promise(((b,I)=>{let G=requestAnimationFrame(b);K.signal.addEventListener("abort",(()=>{cancelAnimationFrame(G),I(i.c())}))})),getImageData(K,b=0){return this.getImageCanvasContext(K).getImageData(-b,-b,K.width+2*b,K.height+2*b)},getImageCanvasContext(K){let b=window.document.createElement("canvas"),I=b.getContext("2d",{willReadFrequently:!0});if(!I)throw new Error("failed to create canvas 2d context");return b.width=K.width,b.height=K.height,I.drawImage(K,0,0,K.width,K.height),I},resolveURL:K=>(s||(s=document.createElement("a")),s.href=K,s.href),hardwareConcurrency:typeof navigator!="undefined"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(l==null&&(l=matchMedia("(prefers-reduced-motion: reduce)")),l.matches)}};class c{static testProp(b){if(!c.docStyle)return b[0];for(let I=0;I{window.removeEventListener("click",c.suppressClickInternal,!0)}),0)}static getScale(b){let I=b.getBoundingClientRect();return{x:I.width/b.offsetWidth||1,y:I.height/b.offsetHeight||1,boundingClientRect:I}}static getPoint(b,I,G){let H=I.boundingClientRect;return new i.P((G.clientX-H.left)/I.x-b.clientLeft,(G.clientY-H.top)/I.y-b.clientTop)}static mousePos(b,I){let G=c.getScale(b);return c.getPoint(b,G,I)}static touchPos(b,I){let G=[],H=c.getScale(b);for(let $=0;${h&&x(h),h=null,m=!0},v.onerror=()=>{d=!0,h=null},v.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="),(function(K){let b,I,G,H;K.resetRequestQueue=()=>{b=[],I=0,G=0,H={}},K.addThrottleControl=Ne=>{let et=G++;return H[et]=Ne,et},K.removeThrottleControl=Ne=>{delete H[Ne],xe()},K.getImage=(Ne,et,bt=!0)=>new Promise(((Tt,zt)=>{f.supported&&(Ne.headers||(Ne.headers={}),Ne.headers.accept="image/webp,*/*"),i.e(Ne,{type:"image"}),b.push({abortController:et,requestParameters:Ne,supportImageRefresh:bt,state:"queued",onError:Yt=>{zt(Yt)},onSuccess:Yt=>{Tt(Yt)}}),xe()}));let $=Ne=>i._(this,void 0,void 0,(function*(){Ne.state="running";let{requestParameters:et,supportImageRefresh:bt,onError:Tt,onSuccess:zt,abortController:Yt}=Ne,Q=bt===!1&&!i.i(self)&&!i.g(et.url)&&(!et.headers||Object.keys(et.headers).reduce(((be,De)=>be&&De==="accept"),!0));I++;let ae=Q?ke(et,Yt):i.m(et,Yt);try{let be=yield ae;delete Ne.abortController,Ne.state="completed",be.data instanceof HTMLImageElement||i.b(be.data)?zt(be):be.data&&zt({data:yield(ve=be.data,typeof createImageBitmap=="function"?i.d(ve):i.f(ve)),cacheControl:be.cacheControl,expires:be.expires})}catch(be){delete Ne.abortController,Tt(be)}finally{I--,xe()}var ve})),xe=()=>{let Ne=(()=>{for(let et of Object.keys(H))if(H[et]())return!0;return!1})()?i.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:i.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let et=I;et0;et++){let bt=b.shift();bt.abortController.signal.aborted?et--:$(bt)}},ke=(Ne,et)=>new Promise(((bt,Tt)=>{let zt=new Image,Yt=Ne.url,Q=Ne.credentials;Q&&Q==="include"?zt.crossOrigin="use-credentials":(Q&&Q==="same-origin"||!i.s(Yt))&&(zt.crossOrigin="anonymous"),et.signal.addEventListener("abort",(()=>{zt.src="",Tt(i.c())})),zt.fetchPriority="high",zt.onload=()=>{zt.onerror=zt.onload=null,bt({data:zt})},zt.onerror=()=>{zt.onerror=zt.onload=null,et.signal.aborted||Tt(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."))},zt.src=Yt}))})(g||(g={})),g.resetRequestQueue();class E{constructor(b){this._transformRequestFn=b}transformRequest(b,I){return this._transformRequestFn&&this._transformRequestFn(b,I)||{url:b}}setTransformRequest(b){this._transformRequestFn=b}}function M(K){var b=new i.A(3);return b[0]=K[0],b[1]=K[1],b[2]=K[2],b}var w,k=function(K,b,I){return K[0]=b[0]-I[0],K[1]=b[1]-I[1],K[2]=b[2]-I[2],K};w=new i.A(3),i.A!=Float32Array&&(w[0]=0,w[1]=0,w[2]=0);var y=function(K){var b=K[0],I=K[1];return b*b+I*I};function S(K){let b=[];if(typeof K=="string")b.push({id:"default",url:K});else if(K&&K.length>0){let I=[];for(let{id:G,url:H}of K){let $=`${G}${H}`;I.indexOf($)===-1&&(I.push($),b.push({id:G,url:H}))}}return b}function T(K,b,I){let G=K.split("?");return G[0]+=`${b}${I}`,G.join("?")}(function(){var K=new i.A(2);i.A!=Float32Array&&(K[0]=0,K[1]=0)})();class p{constructor(b,I,G,H){this.context=b,this.format=G,this.texture=b.gl.createTexture(),this.update(I,H)}update(b,I,G){let{width:H,height:$}=b,xe=!(this.size&&this.size[0]===H&&this.size[1]===$||G),{context:ke}=this,{gl:Ne}=ke;if(this.useMipmap=!!(I&&I.useMipmap),Ne.bindTexture(Ne.TEXTURE_2D,this.texture),ke.pixelStoreUnpackFlipY.set(!1),ke.pixelStoreUnpack.set(1),ke.pixelStoreUnpackPremultiplyAlpha.set(this.format===Ne.RGBA&&(!I||I.premultiply!==!1)),xe)this.size=[H,$],b instanceof HTMLImageElement||b instanceof HTMLCanvasElement||b instanceof HTMLVideoElement||b instanceof ImageData||i.b(b)?Ne.texImage2D(Ne.TEXTURE_2D,0,this.format,this.format,Ne.UNSIGNED_BYTE,b):Ne.texImage2D(Ne.TEXTURE_2D,0,this.format,H,$,0,this.format,Ne.UNSIGNED_BYTE,b.data);else{let{x:et,y:bt}=G||{x:0,y:0};b instanceof HTMLImageElement||b instanceof HTMLCanvasElement||b instanceof HTMLVideoElement||b instanceof ImageData||i.b(b)?Ne.texSubImage2D(Ne.TEXTURE_2D,0,et,bt,Ne.RGBA,Ne.UNSIGNED_BYTE,b):Ne.texSubImage2D(Ne.TEXTURE_2D,0,et,bt,H,$,Ne.RGBA,Ne.UNSIGNED_BYTE,b.data)}this.useMipmap&&this.isSizePowerOfTwo()&&Ne.generateMipmap(Ne.TEXTURE_2D)}bind(b,I,G){let{context:H}=this,{gl:$}=H;$.bindTexture($.TEXTURE_2D,this.texture),G!==$.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(G=$.LINEAR),b!==this.filter&&($.texParameteri($.TEXTURE_2D,$.TEXTURE_MAG_FILTER,b),$.texParameteri($.TEXTURE_2D,$.TEXTURE_MIN_FILTER,G||b),this.filter=b),I!==this.wrap&&($.texParameteri($.TEXTURE_2D,$.TEXTURE_WRAP_S,I),$.texParameteri($.TEXTURE_2D,$.TEXTURE_WRAP_T,I),this.wrap=I)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:b}=this.context;b.deleteTexture(this.texture),this.texture=null}}function C(K){let{userImage:b}=K;return!!(b&&b.render&&b.render())&&(K.data.replace(new Uint8Array(b.data.buffer)),!0)}class A extends i.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new i.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(b){if(this.loaded!==b&&(this.loaded=b,b)){for(let{ids:I,promiseResolve:G}of this.requestors)G(this._getImagesForIds(I));this.requestors=[]}}getImage(b){let I=this.images[b];if(I&&!I.data&&I.spriteData){let G=I.spriteData;I.data=new i.R({width:G.width,height:G.height},G.context.getImageData(G.x,G.y,G.width,G.height).data),I.spriteData=null}return I}addImage(b,I){if(this.images[b])throw new Error(`Image id ${b} already exist, use updateImage instead`);this._validate(b,I)&&(this.images[b]=I)}_validate(b,I){let G=!0,H=I.data||I.spriteData;return this._validateStretch(I.stretchX,H&&H.width)||(this.fire(new i.j(new Error(`Image "${b}" has invalid "stretchX" value`))),G=!1),this._validateStretch(I.stretchY,H&&H.height)||(this.fire(new i.j(new Error(`Image "${b}" has invalid "stretchY" value`))),G=!1),this._validateContent(I.content,I)||(this.fire(new i.j(new Error(`Image "${b}" has invalid "content" value`))),G=!1),G}_validateStretch(b,I){if(!b)return!0;let G=0;for(let H of b){if(H[0]{let H=!0;if(!this.isLoaded())for(let $ of b)this.images[$]||(H=!1);this.isLoaded()||H?I(this._getImagesForIds(b)):this.requestors.push({ids:b,promiseResolve:I})}))}_getImagesForIds(b){let I={};for(let G of b){let H=this.getImage(G);H||(this.fire(new i.k("styleimagemissing",{id:G})),H=this.getImage(G)),H?I[G]={data:H.data.clone(),pixelRatio:H.pixelRatio,sdf:H.sdf,version:H.version,stretchX:H.stretchX,stretchY:H.stretchY,content:H.content,textFitWidth:H.textFitWidth,textFitHeight:H.textFitHeight,hasRenderCallback:!!(H.userImage&&H.userImage.render)}:i.w(`Image "${G}" 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 I}getPixelSize(){let{width:b,height:I}=this.atlasImage;return{width:b,height:I}}getPattern(b){let I=this.patterns[b],G=this.getImage(b);if(!G)return null;if(I&&I.position.version===G.version)return I.position;if(I)I.position.version=G.version;else{let H={w:G.data.width+2,h:G.data.height+2,x:0,y:0},$=new i.I(H,G);this.patterns[b]={bin:H,position:$}}return this._updatePatternAtlas(),this.patterns[b].position}bind(b){let I=b.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new p(b,this.atlasImage,I.RGBA),this.atlasTexture.bind(I.LINEAR,I.CLAMP_TO_EDGE)}_updatePatternAtlas(){let b=[];for(let $ in this.patterns)b.push(this.patterns[$].bin);let{w:I,h:G}=i.p(b),H=this.atlasImage;H.resize({width:I||1,height:G||1});for(let $ in this.patterns){let{bin:xe}=this.patterns[$],ke=xe.x+1,Ne=xe.y+1,et=this.getImage($).data,bt=et.width,Tt=et.height;i.R.copy(et,H,{x:0,y:0},{x:ke,y:Ne},{width:bt,height:Tt}),i.R.copy(et,H,{x:0,y:Tt-1},{x:ke,y:Ne-1},{width:bt,height:1}),i.R.copy(et,H,{x:0,y:0},{x:ke,y:Ne+Tt},{width:bt,height:1}),i.R.copy(et,H,{x:bt-1,y:0},{x:ke-1,y:Ne},{width:1,height:Tt}),i.R.copy(et,H,{x:0,y:0},{x:ke+bt,y:Ne},{width:1,height:Tt})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(b){for(let I of b){if(this.callbackDispatchedThisFrame[I])continue;this.callbackDispatchedThisFrame[I]=!0;let G=this.getImage(I);G||i.w(`Image with ID: "${I}" was not found`),C(G)&&this.updateImage(I,G)}}}let P=1e20;function D(K,b,I,G,H,$,xe,ke,Ne){for(let et=b;et-1);Ne++,$[Ne]=ke,xe[Ne]=et,xe[Ne+1]=P}for(let ke=0,Ne=0;ke65535)throw new Error("glyphs > 65535 not supported");if(G.ranges[$])return{stack:b,id:I,glyph:H};if(!this.url)throw new Error("glyphsUrl is not set");if(!G.requests[$]){let ke=q.loadGlyphRange(b,$,this.url,this.requestManager);G.requests[$]=ke}let xe=yield G.requests[$];for(let ke in xe)this._doesCharSupportLocalGlyph(+ke)||(G.glyphs[+ke]=xe[+ke]);return G.ranges[$]=!0,{stack:b,id:I,glyph:xe[I]||null}}))}_doesCharSupportLocalGlyph(b){return!!this.localIdeographFontFamily&&new RegExp("\\p{Ideo}|\\p{sc=Hang}|\\p{sc=Hira}|\\p{sc=Kana}","u").test(String.fromCodePoint(b))}_tinySDF(b,I,G){let H=this.localIdeographFontFamily;if(!H||!this._doesCharSupportLocalGlyph(G))return;let $=b.tinySDF;if(!$){let ke="400";/bold/i.test(I)?ke="900":/medium/i.test(I)?ke="500":/light/i.test(I)&&(ke="200"),$=b.tinySDF=new q.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:H,fontWeight:ke})}let xe=$.draw(String.fromCharCode(G));return{id:G,bitmap:new i.o({width:xe.width||60,height:xe.height||60},xe.data),metrics:{width:xe.glyphWidth/2||24,height:xe.glyphHeight/2||24,left:xe.glyphLeft/2+.5||0,top:xe.glyphTop/2-27.5||-8,advance:xe.glyphAdvance/2||24,isDoubleResolution:!0}}}}q.loadGlyphRange=function(K,b,I,G){return i._(this,void 0,void 0,(function*(){let H=256*b,$=H+255,xe=G.transformRequest(I.replace("{fontstack}",K).replace("{range}",`${H}-${$}`),"Glyphs"),ke=yield i.l(xe,new AbortController);if(!ke||!ke.data)throw new Error(`Could not load glyph range. range: ${b}, ${H}-${$}`);let Ne={};for(let et of i.n(ke.data))Ne[et.id]=et;return Ne}))},q.TinySDF=class{constructor({fontSize:K=24,buffer:b=3,radius:I=8,cutoff:G=.25,fontFamily:H="sans-serif",fontWeight:$="normal",fontStyle:xe="normal"}={}){this.buffer=b,this.cutoff=G,this.radius=I;let ke=this.size=K+4*b,Ne=this._createCanvas(ke),et=this.ctx=Ne.getContext("2d",{willReadFrequently:!0});et.font=`${xe} ${$} ${K}px ${H}`,et.textBaseline="alphabetic",et.textAlign="left",et.fillStyle="black",this.gridOuter=new Float64Array(ke*ke),this.gridInner=new Float64Array(ke*ke),this.f=new Float64Array(ke),this.z=new Float64Array(ke+1),this.v=new Uint16Array(ke)}_createCanvas(K){let b=document.createElement("canvas");return b.width=b.height=K,b}draw(K){let{width:b,actualBoundingBoxAscent:I,actualBoundingBoxDescent:G,actualBoundingBoxLeft:H,actualBoundingBoxRight:$}=this.ctx.measureText(K),xe=Math.ceil(I),ke=Math.max(0,Math.min(this.size-this.buffer,Math.ceil($-H))),Ne=Math.min(this.size-this.buffer,xe+Math.ceil(G)),et=ke+2*this.buffer,bt=Ne+2*this.buffer,Tt=Math.max(et*bt,0),zt=new Uint8ClampedArray(Tt),Yt={data:zt,width:et,height:bt,glyphWidth:ke,glyphHeight:Ne,glyphTop:xe,glyphLeft:0,glyphAdvance:b};if(ke===0||Ne===0)return Yt;let{ctx:Q,buffer:ae,gridInner:ve,gridOuter:be}=this;Q.clearRect(ae,ae,ke,Ne),Q.fillText(K,ae,ae+xe);let De=Q.getImageData(ae,ae,ke,Ne);be.fill(P,0,Tt),ve.fill(0,0,Tt);for(let Se=0;Se0?Mt*Mt:0,ve[gt]=Mt<0?Mt*Mt:0}}D(be,0,0,et,bt,et,this.f,this.v,this.z),D(ve,ae,ae,ke,Ne,et,this.f,this.v,this.z);for(let Se=0;Se1&&(Ne=b[++ke]);let bt=Math.abs(et-Ne.left),Tt=Math.abs(et-Ne.right),zt=Math.min(bt,Tt),Yt,Q=$/G*(H+1);if(Ne.isDash){let ae=H-Math.abs(Q);Yt=Math.sqrt(zt*zt+ae*ae)}else Yt=H-Math.sqrt(zt*zt+Q*Q);this.data[xe+et]=Math.max(0,Math.min(255,Yt+128))}}}addRegularDash(b){for(let ke=b.length-1;ke>=0;--ke){let Ne=b[ke],et=b[ke+1];Ne.zeroLength?b.splice(ke,1):et&&et.isDash===Ne.isDash&&(et.left=Ne.left,b.splice(ke,1))}let I=b[0],G=b[b.length-1];I.isDash===G.isDash&&(I.left=G.left-this.width,G.right=I.right+this.width);let H=this.width*this.nextRow,$=0,xe=b[$];for(let ke=0;ke1&&(xe=b[++$]);let Ne=Math.abs(ke-xe.left),et=Math.abs(ke-xe.right),bt=Math.min(Ne,et);this.data[H+ke]=Math.max(0,Math.min(255,(xe.isDash?bt:-bt)+128))}}addDash(b,I){let G=I?7:0,H=2*G+1;if(this.nextRow+H>this.height)return i.w("LineAtlas out of space"),null;let $=0;for(let ke=0;ke{I.terminate()})),this.workers=null)}isPreloaded(){return!!this.active[te]}numActive(){return Object.keys(this.active).length}}let ue=Math.floor(u.hardwareConcurrency/2),re,j;function fe(){return re||(re=new se),re}se.workerCount=i.C(globalThis)?Math.max(Math.min(ue,3),1):1;class ce{constructor(b,I){this.workerPool=b,this.actors=[],this.currentActor=0,this.id=I;let G=this.workerPool.acquire(I);for(let H=0;H{I.remove()})),this.actors=[],b&&this.workerPool.release(this.id)}registerMessageHandler(b,I){for(let G of this.actors)G.registerMessageHandler(b,I)}}function oe(){return j||(j=new ce(fe(),i.G),j.registerMessageHandler("GR",((K,b,I)=>i.m(b,I)))),j}function we(K,b){let I=i.H();return i.J(I,I,[1,1,0]),i.K(I,I,[.5*K.width,.5*K.height,1]),i.L(I,I,K.calculatePosMatrix(b.toUnwrapped()))}function he(K,b,I,G,H,$){let xe=(function(Tt,zt,Yt){if(Tt)for(let Q of Tt){let ae=zt[Q];if(ae&&ae.source===Yt&&ae.type==="fill-extrusion")return!0}else for(let Q in zt){let ae=zt[Q];if(ae.source===Yt&&ae.type==="fill-extrusion")return!0}return!1})(H&&H.layers,b,K.id),ke=$.maxPitchScaleFactor(),Ne=K.tilesIn(G,ke,xe);Ne.sort(ye);let et=[];for(let Tt of Ne)et.push({wrappedTileID:Tt.tileID.wrapped().key,queryResults:Tt.tile.queryRenderedFeatures(b,I,K._state,Tt.queryGeometry,Tt.cameraQueryGeometry,Tt.scale,H,$,ke,we(K.transform,Tt.tileID))});let bt=(function(Tt){let zt={},Yt={};for(let Q of Tt){let ae=Q.queryResults,ve=Q.wrappedTileID,be=Yt[ve]=Yt[ve]||{};for(let De in ae){let Se=ae[De],Be=be[De]=be[De]||{},ut=zt[De]=zt[De]||[];for(let gt of Se)Be[gt.featureIndex]||(Be[gt.featureIndex]=!0,ut.push(gt))}}return zt})(et);for(let Tt in bt)bt[Tt].forEach((zt=>{let Yt=zt.feature,Q=K.getFeatureState(Yt.layer["source-layer"],Yt.id);Yt.source=Yt.layer.source,Yt.layer["source-layer"]&&(Yt.sourceLayer=Yt.layer["source-layer"]),Yt.state=Q}));return bt}function ye(K,b){let I=K.tileID,G=b.tileID;return I.overscaledZ-G.overscaledZ||I.canonical.y-G.canonical.y||I.wrap-G.wrap||I.canonical.x-G.canonical.x}function Pe(K,b,I){return i._(this,void 0,void 0,(function*(){let G=K;if(K.url?G=(yield i.h(b.transformRequest(K.url,"Source"),I)).data:yield u.frameAsync(I),!G)return null;let H=i.M(i.e(G,K),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);return"vector_layers"in G&&G.vector_layers&&(H.vectorLayerIds=G.vector_layers.map(($=>$.id))),H}))}class le{constructor(b,I){b&&(I?this.setSouthWest(b).setNorthEast(I):Array.isArray(b)&&(b.length===4?this.setSouthWest([b[0],b[1]]).setNorthEast([b[2],b[3]]):this.setSouthWest(b[0]).setNorthEast(b[1])))}setNorthEast(b){return this._ne=b instanceof i.N?new i.N(b.lng,b.lat):i.N.convert(b),this}setSouthWest(b){return this._sw=b instanceof i.N?new i.N(b.lng,b.lat):i.N.convert(b),this}extend(b){let I=this._sw,G=this._ne,H,$;if(b instanceof i.N)H=b,$=b;else{if(!(b instanceof le))return Array.isArray(b)?b.length===4||b.every(Array.isArray)?this.extend(le.convert(b)):this.extend(i.N.convert(b)):b&&("lng"in b||"lon"in b)&&"lat"in b?this.extend(i.N.convert(b)):this;if(H=b._sw,$=b._ne,!H||!$)return this}return I||G?(I.lng=Math.min(H.lng,I.lng),I.lat=Math.min(H.lat,I.lat),G.lng=Math.max($.lng,G.lng),G.lat=Math.max($.lat,G.lat)):(this._sw=new i.N(H.lng,H.lat),this._ne=new i.N($.lng,$.lat)),this}getCenter(){return new i.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 i.N(this.getWest(),this.getNorth())}getSouthEast(){return new i.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(b){let{lng:I,lat:G}=i.N.convert(b),H=this._sw.lng<=I&&I<=this._ne.lng;return this._sw.lng>this._ne.lng&&(H=this._sw.lng>=I&&I>=this._ne.lng),this._sw.lat<=G&&G<=this._ne.lat&&H}static convert(b){return b instanceof le?b:b&&new le(b)}static fromLngLat(b,I=0){let G=360*I/40075017,H=G/Math.cos(Math.PI/180*b.lat);return new le(new i.N(b.lng-H,b.lat-G),new i.N(b.lng+H,b.lat+G))}adjustAntiMeridian(){let b=new i.N(this._sw.lng,this._sw.lat),I=new i.N(this._ne.lng,this._ne.lat);return new le(b,b.lng>I.lng?new i.N(I.lng+360,I.lat):I)}}class ze{constructor(b,I,G){this.bounds=le.convert(this.validateBounds(b)),this.minzoom=I||0,this.maxzoom=G||24}validateBounds(b){return Array.isArray(b)&&b.length===4?[Math.max(-180,b[0]),Math.max(-90,b[1]),Math.min(180,b[2]),Math.min(90,b[3])]:[-180,-90,180,90]}contains(b){let I=Math.pow(2,b.z),G=Math.floor(i.O(this.bounds.getWest())*I),H=Math.floor(i.Q(this.bounds.getNorth())*I),$=Math.ceil(i.O(this.bounds.getEast())*I),xe=Math.ceil(i.Q(this.bounds.getSouth())*I);return b.x>=G&&b.x<$&&b.y>=H&&b.y{this._options.tiles=b})),this}setUrl(b){return this.setSourceProperty((()=>{this.url=b,this._options.url=b})),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return i.e({},this._options)}loadTile(b){return i._(this,void 0,void 0,(function*(){let I=b.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),G={request:this.map._requestManager.transformRequest(I,"Tile"),uid:b.uid,tileID:b.tileID,zoom:b.tileID.overscaledZ,tileSize:this.tileSize*b.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};G.request.collectResourceTiming=this._collectResourceTiming;let H="RT";if(b.actor&&b.state!=="expired"){if(b.state==="loading")return new Promise((($,xe)=>{b.reloadPromise={resolve:$,reject:xe}}))}else b.actor=this.dispatcher.getActor(),H="LT";b.abortController=new AbortController;try{let $=yield b.actor.sendAsync({type:H,data:G},b.abortController);if(delete b.abortController,b.aborted)return;this._afterTileLoadWorkerResponse(b,$)}catch($){if(delete b.abortController,b.aborted)return;if($&&$.status!==404)throw $;this._afterTileLoadWorkerResponse(b,null)}}))}_afterTileLoadWorkerResponse(b,I){if(I&&I.resourceTiming&&(b.resourceTiming=I.resourceTiming),I&&this.map._refreshExpiredTiles&&b.setExpiryData(I),b.loadVectorData(I,this.map.painter),b.reloadPromise){let G=b.reloadPromise;b.reloadPromise=null,this.loadTile(b).then(G.resolve).catch(G.reject)}}abortTile(b){return i._(this,void 0,void 0,(function*(){b.abortController&&(b.abortController.abort(),delete b.abortController),b.actor&&(yield b.actor.sendAsync({type:"AT",data:{uid:b.uid,type:this.type,source:this.id}}))}))}unloadTile(b){return i._(this,void 0,void 0,(function*(){b.unloadVectorData(),b.actor&&(yield b.actor.sendAsync({type:"RMT",data:{uid:b.uid,type:this.type,source:this.id}}))}))}hasTransition(){return!1}}class vt extends i.E{constructor(b,I,G,H){super(),this.id=b,this.dispatcher=G,this.setEventedParent(H),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=i.e({type:"raster"},I),i.e(this,i.M(I,["url","scheme","tileSize"]))}load(){return i._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new i.k("dataloading",{dataType:"source"})),this._tileJSONRequest=new AbortController;try{let b=yield Pe(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,b&&(i.e(this,b),b.bounds&&(this.tileBounds=new ze(b.bounds,this.minzoom,this.maxzoom)),this.fire(new i.k("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new i.k("data",{dataType:"source",sourceDataType:"content"})))}catch(b){this._tileJSONRequest=null,this.fire(new i.j(b))}}))}loaded(){return this._loaded}onAdd(b){this.map=b,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(b){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),b(),this.load()}setTiles(b){return this.setSourceProperty((()=>{this._options.tiles=b})),this}setUrl(b){return this.setSourceProperty((()=>{this.url=b,this._options.url=b})),this}serialize(){return i.e({},this._options)}hasTile(b){return!this.tileBounds||this.tileBounds.contains(b.canonical)}loadTile(b){return i._(this,void 0,void 0,(function*(){let I=b.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);b.abortController=new AbortController;try{let G=yield g.getImage(this.map._requestManager.transformRequest(I,"Tile"),b.abortController,this.map._refreshExpiredTiles);if(delete b.abortController,b.aborted)return void(b.state="unloaded");if(G&&G.data){this.map._refreshExpiredTiles&&G.cacheControl&&G.expires&&b.setExpiryData({cacheControl:G.cacheControl,expires:G.expires});let H=this.map.painter.context,$=H.gl,xe=G.data;b.texture=this.map.painter.getTileTexture(xe.width),b.texture?b.texture.update(xe,{useMipmap:!0}):(b.texture=new p(H,xe,$.RGBA,{useMipmap:!0}),b.texture.bind($.LINEAR,$.CLAMP_TO_EDGE,$.LINEAR_MIPMAP_NEAREST)),b.state="loaded"}}catch(G){if(delete b.abortController,b.aborted)b.state="unloaded";else if(G)throw b.state="errored",G}}))}abortTile(b){return i._(this,void 0,void 0,(function*(){b.abortController&&(b.abortController.abort(),delete b.abortController)}))}unloadTile(b){return i._(this,void 0,void 0,(function*(){b.texture&&this.map.painter.saveTileTexture(b.texture)}))}hasTransition(){return!1}}class st extends vt{constructor(b,I,G,H){super(b,I,G,H),this.type="raster-dem",this.maxzoom=22,this._options=i.e({type:"raster-dem"},I),this.encoding=I.encoding||"mapbox",this.redFactor=I.redFactor,this.greenFactor=I.greenFactor,this.blueFactor=I.blueFactor,this.baseShift=I.baseShift}loadTile(b){return i._(this,void 0,void 0,(function*(){let I=b.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),G=this.map._requestManager.transformRequest(I,"Tile");b.neighboringTiles=this._getNeighboringTiles(b.tileID),b.abortController=new AbortController;try{let H=yield g.getImage(G,b.abortController,this.map._refreshExpiredTiles);if(delete b.abortController,b.aborted)return void(b.state="unloaded");if(H&&H.data){let $=H.data;this.map._refreshExpiredTiles&&H.cacheControl&&H.expires&&b.setExpiryData({cacheControl:H.cacheControl,expires:H.expires});let xe=i.b($)&&i.U()?$:yield this.readImageNow($),ke={type:this.type,uid:b.uid,source:this.id,rawImageData:xe,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!b.actor||b.state==="expired"){b.actor=this.dispatcher.getActor();let Ne=yield b.actor.sendAsync({type:"LDT",data:ke});b.dem=Ne,b.needsHillshadePrepare=!0,b.needsTerrainPrepare=!0,b.state="loaded"}}}catch(H){if(delete b.abortController,b.aborted)b.state="unloaded";else if(H)throw b.state="errored",H}}))}readImageNow(b){return i._(this,void 0,void 0,(function*(){if(typeof VideoFrame!="undefined"&&i.V()){let I=b.width+2,G=b.height+2;try{return new i.R({width:I,height:G},yield i.W(b,-1,-1,I,G))}catch(H){}}return u.getImageData(b,1)}))}_getNeighboringTiles(b){let I=b.canonical,G=Math.pow(2,I.z),H=(I.x-1+G)%G,$=I.x===0?b.wrap-1:b.wrap,xe=(I.x+1+G)%G,ke=I.x+1===G?b.wrap+1:b.wrap,Ne={};return Ne[new i.S(b.overscaledZ,$,I.z,H,I.y).key]={backfilled:!1},Ne[new i.S(b.overscaledZ,ke,I.z,xe,I.y).key]={backfilled:!1},I.y>0&&(Ne[new i.S(b.overscaledZ,$,I.z,H,I.y-1).key]={backfilled:!1},Ne[new i.S(b.overscaledZ,b.wrap,I.z,I.x,I.y-1).key]={backfilled:!1},Ne[new i.S(b.overscaledZ,ke,I.z,xe,I.y-1).key]={backfilled:!1}),I.y+10&&i.e($,{resourceTiming:H}),this.fire(new i.k("data",Object.assign(Object.assign({},$),{sourceDataType:"metadata"}))),this.fire(new i.k("data",Object.assign(Object.assign({},$),{sourceDataType:"content"})))}catch(G){if(this._pendingLoads--,this._removed)return void this.fire(new i.k("dataabort",{dataType:"source"}));this.fire(new i.j(G))}}))}loaded(){return this._pendingLoads===0}loadTile(b){return i._(this,void 0,void 0,(function*(){let I=b.actor?"RT":"LT";b.actor=this.actor;let G={type:this.type,uid:b.uid,tileID:b.tileID,zoom:b.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};b.abortController=new AbortController;let H=yield this.actor.sendAsync({type:I,data:G},b.abortController);delete b.abortController,b.unloadVectorData(),b.aborted||b.loadVectorData(H,this.map.painter,I==="RT")}))}abortTile(b){return i._(this,void 0,void 0,(function*(){b.abortController&&(b.abortController.abort(),delete b.abortController),b.aborted=!0}))}unloadTile(b){return i._(this,void 0,void 0,(function*(){b.unloadVectorData(),yield this.actor.sendAsync({type:"RMT",data:{uid:b.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 i.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var qe=i.Y([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class mt extends i.E{constructor(b,I,G,H){super(),this.id=b,this.dispatcher=G,this.coordinates=I.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(H),this.options=I}load(b){return i._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new i.k("dataloading",{dataType:"source"})),this.url=this.options.url,this._request=new AbortController;try{let I=yield g.getImage(this.map._requestManager.transformRequest(this.url,"Image"),this._request);this._request=null,this._loaded=!0,I&&I.data&&(this.image=I.data,b&&(this.coordinates=b),this._finishLoading())}catch(I){this._request=null,this._loaded=!0,this.fire(new i.j(I))}}))}loaded(){return this._loaded}updateImage(b){return b.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=b.url,this.load(b.coordinates).finally((()=>{this.texture=null})),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new i.k("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(b){this.map=b,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(b){this.coordinates=b;let I=b.map(i.Z.fromLngLat);this.tileID=(function(H){let $=1/0,xe=1/0,ke=-1/0,Ne=-1/0;for(let zt of H)$=Math.min($,zt.x),xe=Math.min(xe,zt.y),ke=Math.max(ke,zt.x),Ne=Math.max(Ne,zt.y);let et=Math.max(ke-$,Ne-xe),bt=Math.max(0,Math.floor(-Math.log(et)/Math.LN2)),Tt=Math.pow(2,bt);return new i.a1(bt,Math.floor(($+ke)/2*Tt),Math.floor((xe+Ne)/2*Tt))})(I),this.minzoom=this.maxzoom=this.tileID.z;let G=I.map((H=>this.tileID.getTilePoint(H)._round()));return this._boundsArray=new i.$,this._boundsArray.emplaceBack(G[0].x,G[0].y,0,0),this._boundsArray.emplaceBack(G[1].x,G[1].y,i.X,0),this._boundsArray.emplaceBack(G[3].x,G[3].y,0,i.X),this._boundsArray.emplaceBack(G[2].x,G[2].y,i.X,i.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new i.k("data",{dataType:"source",sourceDataType:"content"})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;let b=this.map.painter.context,I=b.gl;this.boundsBuffer||(this.boundsBuffer=b.createVertexBuffer(this._boundsArray,qe.members)),this.boundsSegments||(this.boundsSegments=i.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new p(b,this.image,I.RGBA),this.texture.bind(I.LINEAR,I.CLAMP_TO_EDGE));let G=!1;for(let H in this.tiles){let $=this.tiles[H];$.state!=="loaded"&&($.state="loaded",$.texture=this.texture,G=!0)}G&&this.fire(new i.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}loadTile(b){return i._(this,void 0,void 0,(function*(){this.tileID&&this.tileID.equals(b.tileID.canonical)?(this.tiles[String(b.tileID.wrap)]=b,b.buckets={}):b.state="errored"}))}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class lt extends mt{constructor(b,I,G,H){super(b,I,G,H),this.roundZoom=!0,this.type="video",this.options=I}load(){return i._(this,void 0,void 0,(function*(){this._loaded=!1;let b=this.options;this.urls=[];for(let I of b.urls)this.urls.push(this.map._requestManager.transformRequest(I,"Source").url);try{let I=yield i.a3(this.urls);if(this._loaded=!0,!I)return;this.video=I,this.video.loop=!0,this.video.addEventListener("playing",(()=>{this.map.triggerRepaint()})),this.map&&this.video.play(),this._finishLoading()}catch(I){this.fire(new i.j(I))}}))}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(b){if(this.video){let I=this.video.seekable;bI.end(0)?this.fire(new i.j(new i.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${I.start(0)} and ${I.end(0)}-second mark.`))):this.video.currentTime=b}}getVideo(){return this.video}onAdd(b){this.map||(this.map=b,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 b=this.map.painter.context,I=b.gl;this.boundsBuffer||(this.boundsBuffer=b.createVertexBuffer(this._boundsArray,qe.members)),this.boundsSegments||(this.boundsSegments=i.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(I.LINEAR,I.CLAMP_TO_EDGE),I.texSubImage2D(I.TEXTURE_2D,0,0,0,I.RGBA,I.UNSIGNED_BYTE,this.video)):(this.texture=new p(b,this.video,I.RGBA),this.texture.bind(I.LINEAR,I.CLAMP_TO_EDGE));let G=!1;for(let H in this.tiles){let $=this.tiles[H];$.state!=="loaded"&&($.state="loaded",$.texture=this.texture,G=!0)}G&&this.fire(new i.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 Ie extends mt{constructor(b,I,G,H){super(b,I,G,H),I.coordinates?Array.isArray(I.coordinates)&&I.coordinates.length===4&&!I.coordinates.some(($=>!Array.isArray($)||$.length!==2||$.some((xe=>typeof xe!="number"))))||this.fire(new i.j(new i.a2(`sources.${b}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new i.j(new i.a2(`sources.${b}`,null,'missing required property "coordinates"'))),I.animate&&typeof I.animate!="boolean"&&this.fire(new i.j(new i.a2(`sources.${b}`,null,'optional "animate" property must be a boolean value'))),I.canvas?typeof I.canvas=="string"||I.canvas instanceof HTMLCanvasElement||this.fire(new i.j(new i.a2(`sources.${b}`,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 i.j(new i.a2(`sources.${b}`,null,'missing required property "canvas"'))),this.options=I,this.animate=I.animate===void 0||I.animate}load(){return i._(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 i.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(b){this.map=b,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let b=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,b=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,b=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let I=this.map.painter.context,G=I.gl;this.boundsBuffer||(this.boundsBuffer=I.createVertexBuffer(this._boundsArray,qe.members)),this.boundsSegments||(this.boundsSegments=i.a0.simpleSegment(0,0,4,2)),this.texture?(b||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new p(I,this.canvas,G.RGBA,{premultiply:!0});let H=!1;for(let $ in this.tiles){let xe=this.tiles[$];xe.state!=="loaded"&&(xe.state="loaded",xe.texture=this.texture,H=!0)}H&&this.fire(new i.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"canvas",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let b of[this.canvas.width,this.canvas.height])if(isNaN(b)||b<=0)return!0;return!1}}let de={},Ee=K=>{switch(K){case"geojson":return Oe;case"image":return mt;case"raster":return vt;case"raster-dem":return st;case"vector":return Xe;case"video":return lt;case"canvas":return Ie}return de[K]},Ue="RTLPluginLoaded";class ge extends i.E{constructor(){super(...arguments),this.status="unavailable",this.url=null,this.dispatcher=oe()}_syncState(b){return this.status=b,this.dispatcher.broadcast("SRPS",{pluginStatus:b,pluginURL:this.url}).catch((I=>{throw this.status="error",I}))}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status="unavailable",this.url=null}setRTLTextPlugin(b){return i._(this,arguments,void 0,(function*(I,G=!1){if(this.url)throw new Error("setRTLTextPlugin cannot be called multiple times.");if(this.url=u.resolveURL(I),!this.url)throw new Error(`requested url ${I} is invalid`);if(this.status==="unavailable"){if(!G)return this._requestImport();this.status="deferred",this._syncState(this.status)}else if(this.status==="requested")return this._requestImport()}))}_requestImport(){return i._(this,void 0,void 0,(function*(){yield this._syncState("loading"),this.status="loaded",this.fire(new i.k(Ue))}))}lazyLoad(){this.status==="unavailable"?this.status="requested":this.status==="deferred"&&this._requestImport()}}let Ge=null;function tt(){return Ge||(Ge=new ge),Ge}class ft{constructor(b,I){this.timeAdded=0,this.fadeEndTime=0,this.tileID=b,this.uid=i.a4(),this.uses=0,this.tileSize=I,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(b){let I=b+this.timeAdded;I$.getLayer(et))).filter(Boolean);if(Ne.length!==0){ke.layers=Ne,ke.stateDependentLayerIds&&(ke.stateDependentLayers=ke.stateDependentLayerIds.map((et=>Ne.filter((bt=>bt.id===et))[0])));for(let et of Ne)xe[et.id]=ke}}return xe})(b.buckets,I.style),this.hasSymbolBuckets=!1;for(let H in this.buckets){let $=this.buckets[H];if($ instanceof i.a6){if(this.hasSymbolBuckets=!0,!G)break;$.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let H in this.buckets){let $=this.buckets[H];if($ instanceof i.a6&&$.hasRTLText){this.hasRTLText=!0,tt().lazyLoad();break}}this.queryPadding=0;for(let H in this.buckets){let $=this.buckets[H];this.queryPadding=Math.max(this.queryPadding,I.style.getLayer(H).queryRadius($))}b.imageAtlas&&(this.imageAtlas=b.imageAtlas),b.glyphAtlasImage&&(this.glyphAtlasImage=b.glyphAtlasImage)}else this.collisionBoxArray=new i.a5}unloadVectorData(){for(let b in this.buckets)this.buckets[b].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(b){return this.buckets[b.id]}upload(b){for(let G in this.buckets){let H=this.buckets[G];H.uploadPending()&&H.upload(b)}let I=b.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new p(b,this.imageAtlas.image,I.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new p(b,this.glyphAtlasImage,I.ALPHA),this.glyphAtlasImage=null)}prepare(b){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(b,this.imageAtlasTexture)}queryRenderedFeatures(b,I,G,H,$,xe,ke,Ne,et,bt){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:H,cameraQueryGeometry:$,scale:xe,tileSize:this.tileSize,pixelPosMatrix:bt,transform:Ne,params:ke,queryPadding:this.queryPadding*et},b,I,G):{}}querySourceFeatures(b,I){let G=this.latestFeatureIndex;if(!G||!G.rawTileData)return;let H=G.loadVTLayers(),$=I&&I.sourceLayer?I.sourceLayer:"",xe=H._geojsonTileLayer||H[$];if(!xe)return;let ke=i.a7(I&&I.filter),{z:Ne,x:et,y:bt}=this.tileID.canonical,Tt={z:Ne,x:et,y:bt};for(let zt=0;ztG)H=!1;else if(I)if(this.expirationTime{this.remove(b,$)}),G)),this.data[H].push($),this.order.push(H),this.order.length>this.max){let xe=this._getAndRemoveByKey(this.order[0]);xe&&this.onRemove(xe)}return this}has(b){return b.wrapped().key in this.data}getAndRemove(b){return this.has(b)?this._getAndRemoveByKey(b.wrapped().key):null}_getAndRemoveByKey(b){let I=this.data[b].shift();return I.timeout&&clearTimeout(I.timeout),this.data[b].length===0&&delete this.data[b],this.order.splice(this.order.indexOf(b),1),I.value}getByKey(b){let I=this.data[b];return I?I[0].value:null}get(b){return this.has(b)?this.data[b.wrapped().key][0].value:null}remove(b,I){if(!this.has(b))return this;let G=b.wrapped().key,H=I===void 0?0:this.data[G].indexOf(I),$=this.data[G][H];return this.data[G].splice(H,1),$.timeout&&clearTimeout($.timeout),this.data[G].length===0&&delete this.data[G],this.onRemove($.value),this.order.splice(this.order.indexOf(G),1),this}setMaxSize(b){for(this.max=b;this.order.length>this.max;){let I=this._getAndRemoveByKey(this.order[0]);I&&this.onRemove(I)}return this}filter(b){let I=[];for(let G in this.data)for(let H of this.data[G])b(H.value)||I.push(H);for(let G of I)this.remove(G.value.tileID,G)}}class Qe{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(b,I,G){let H=String(I);if(this.stateChanges[b]=this.stateChanges[b]||{},this.stateChanges[b][H]=this.stateChanges[b][H]||{},i.e(this.stateChanges[b][H],G),this.deletedStates[b]===null){this.deletedStates[b]={};for(let $ in this.state[b])$!==H&&(this.deletedStates[b][$]=null)}else if(this.deletedStates[b]&&this.deletedStates[b][H]===null){this.deletedStates[b][H]={};for(let $ in this.state[b][H])G[$]||(this.deletedStates[b][H][$]=null)}else for(let $ in G)this.deletedStates[b]&&this.deletedStates[b][H]&&this.deletedStates[b][H][$]===null&&delete this.deletedStates[b][H][$]}removeFeatureState(b,I,G){if(this.deletedStates[b]===null)return;let H=String(I);if(this.deletedStates[b]=this.deletedStates[b]||{},G&&I!==void 0)this.deletedStates[b][H]!==null&&(this.deletedStates[b][H]=this.deletedStates[b][H]||{},this.deletedStates[b][H][G]=null);else if(I!==void 0)if(this.stateChanges[b]&&this.stateChanges[b][H])for(G in this.deletedStates[b][H]={},this.stateChanges[b][H])this.deletedStates[b][H][G]=null;else this.deletedStates[b][H]=null;else this.deletedStates[b]=null}getState(b,I){let G=String(I),H=i.e({},(this.state[b]||{})[G],(this.stateChanges[b]||{})[G]);if(this.deletedStates[b]===null)return{};if(this.deletedStates[b]){let $=this.deletedStates[b][I];if($===null)return{};for(let xe in $)delete H[xe]}return H}initializeTileState(b,I){b.setFeatureState(this.state,I)}coalesceChanges(b,I){let G={};for(let H in this.stateChanges){this.state[H]=this.state[H]||{};let $={};for(let xe in this.stateChanges[H])this.state[H][xe]||(this.state[H][xe]={}),i.e(this.state[H][xe],this.stateChanges[H][xe]),$[xe]=this.state[H][xe];G[H]=$}for(let H in this.deletedStates){this.state[H]=this.state[H]||{};let $={};if(this.deletedStates[H]===null)for(let xe in this.state[H])$[xe]={},this.state[H][xe]={};else for(let xe in this.deletedStates[H]){if(this.deletedStates[H][xe]===null)this.state[H][xe]={};else for(let ke of Object.keys(this.deletedStates[H][xe]))delete this.state[H][xe][ke];$[xe]=this.state[H][xe]}G[H]=G[H]||{},i.e(G[H],$)}if(this.stateChanges={},this.deletedStates={},Object.keys(G).length!==0)for(let H in b)b[H].setFeatureState(G,I)}}class We extends i.E{constructor(b,I,G){super(),this.id=b,this.dispatcher=G,this.on("data",(H=>this._dataHandler(H))),this.on("dataloading",(()=>{this._sourceErrored=!1})),this.on("error",(()=>{this._sourceErrored=this._source.loaded()})),this._source=((H,$,xe,ke)=>{let Ne=new(Ee($.type))(H,$,xe,ke);if(Ne.id!==H)throw new Error(`Expected Source id to be ${H} instead of ${Ne.id}`);return Ne})(b,I,G,this),this._tiles={},this._cache=new He(0,(H=>this._unloadTile(H))),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new Qe,this._didEmitContent=!1,this._updated=!1}onAdd(b){this.map=b,this._maxTileCacheSize=b?b._maxTileCacheSize:null,this._maxTileCacheZoomLevels=b?b._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(b)}onRemove(b){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(b)}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 b in this._tiles){let I=this._tiles[b];if(I.state!=="loaded"&&I.state!=="errored")return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let b=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,b&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(b,I,G){return i._(this,void 0,void 0,(function*(){try{yield this._source.loadTile(b),this._tileLoaded(b,I,G)}catch(H){b.state="errored",H.status!==404?this._source.fire(new i.j(H,{tile:b})):this.update(this.transform,this.terrain)}}))}_unloadTile(b){this._source.unloadTile&&this._source.unloadTile(b)}_abortTile(b){this._source.abortTile&&this._source.abortTile(b),this._source.fire(new i.k("dataabort",{tile:b,coord:b.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(b){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(let I in this._tiles){let G=this._tiles[I];G.upload(b),G.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map((b=>b.tileID)).sort(pt).map((b=>b.key))}getRenderableIds(b){let I=[];for(let G in this._tiles)this._isIdRenderable(G,b)&&I.push(this._tiles[G]);return b?I.sort(((G,H)=>{let $=G.tileID,xe=H.tileID,ke=new i.P($.canonical.x,$.canonical.y)._rotate(this.transform.angle),Ne=new i.P(xe.canonical.x,xe.canonical.y)._rotate(this.transform.angle);return $.overscaledZ-xe.overscaledZ||Ne.y-ke.y||Ne.x-ke.x})).map((G=>G.tileID.key)):I.map((G=>G.tileID)).sort(pt).map((G=>G.key))}hasRenderableParent(b){let I=this.findLoadedParent(b,0);return!!I&&this._isIdRenderable(I.tileID.key)}_isIdRenderable(b,I){return this._tiles[b]&&this._tiles[b].hasData()&&!this._coveredTiles[b]&&(I||!this._tiles[b].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(let b in this._tiles)this._tiles[b].state!=="errored"&&this._reloadTile(b,"reloading")}}_reloadTile(b,I){return i._(this,void 0,void 0,(function*(){let G=this._tiles[b];G&&(G.state!=="loading"&&(G.state=I),yield this._loadTile(G,b,I))}))}_tileLoaded(b,I,G){b.timeAdded=u.now(),G==="expired"&&(b.refreshedUponExpiration=!0),this._setTileReloadTimer(I,b),this.getSource().type==="raster-dem"&&b.dem&&this._backfillDEM(b),this._state.initializeTileState(b,this.map?this.map.painter:null),b.aborted||this._source.fire(new i.k("data",{dataType:"source",tile:b,coord:b.tileID}))}_backfillDEM(b){let I=this.getRenderableIds();for(let H=0;H1||(Math.abs(xe)>1&&(Math.abs(xe+Ne)===1?xe+=Ne:Math.abs(xe-Ne)===1&&(xe-=Ne)),$.dem&&H.dem&&(H.dem.backfillBorder($.dem,xe,ke),H.neighboringTiles&&H.neighboringTiles[et]&&(H.neighboringTiles[et].backfilled=!0)))}}getTile(b){return this.getTileByID(b.key)}getTileByID(b){return this._tiles[b]}_retainLoadedChildren(b,I,G,H){for(let $ in this._tiles){let xe=this._tiles[$];if(H[$]||!xe.hasData()||xe.tileID.overscaledZ<=I||xe.tileID.overscaledZ>G)continue;let ke=xe.tileID;for(;xe&&xe.tileID.overscaledZ>I+1;){let et=xe.tileID.scaledTo(xe.tileID.overscaledZ-1);xe=this._tiles[et.key],xe&&xe.hasData()&&(ke=et)}let Ne=ke;for(;Ne.overscaledZ>I;)if(Ne=Ne.scaledTo(Ne.overscaledZ-1),b[Ne.key]){H[ke.key]=ke;break}}}findLoadedParent(b,I){if(b.key in this._loadedParentTiles){let G=this._loadedParentTiles[b.key];return G&&G.tileID.overscaledZ>=I?G:null}for(let G=b.overscaledZ-1;G>=I;G--){let H=b.scaledTo(G),$=this._getLoadedTile(H);if($)return $}}findLoadedSibling(b){return this._getLoadedTile(b)}_getLoadedTile(b){let I=this._tiles[b.key];return I&&I.hasData()?I:this._cache.getByKey(b.wrapped().key)}updateCacheSize(b){let I=Math.ceil(b.width/this._source.tileSize)+1,G=Math.ceil(b.height/this._source.tileSize)+1,H=Math.floor(I*G*(this._maxTileCacheZoomLevels===null?i.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),$=typeof this._maxTileCacheSize=="number"?Math.min(this._maxTileCacheSize,H):H;this._cache.setMaxSize($)}handleWrapJump(b){let I=Math.round((b-(this._prevLng===void 0?b:this._prevLng))/360);if(this._prevLng=b,I){let G={};for(let H in this._tiles){let $=this._tiles[H];$.tileID=$.tileID.unwrapTo($.tileID.wrap+I),G[$.tileID.key]=$}this._tiles=G;for(let H in this._timers)clearTimeout(this._timers[H]),delete this._timers[H];for(let H in this._tiles)this._setTileReloadTimer(H,this._tiles[H])}}_updateCoveredAndRetainedTiles(b,I,G,H,$,xe){let ke={},Ne={},et=Object.keys(b),bt=u.now();for(let Tt of et){let zt=b[Tt],Yt=this._tiles[Tt];if(!Yt||Yt.fadeEndTime!==0&&Yt.fadeEndTime<=bt)continue;let Q=this.findLoadedParent(zt,I),ae=this.findLoadedSibling(zt),ve=Q||ae||null;ve&&(this._addTile(ve.tileID),ke[ve.tileID.key]=ve.tileID),Ne[Tt]=zt}this._retainLoadedChildren(Ne,H,G,b);for(let Tt in ke)b[Tt]||(this._coveredTiles[Tt]=!0,b[Tt]=ke[Tt]);if(xe){let Tt={},zt={};for(let Yt of $)this._tiles[Yt.key].hasData()?Tt[Yt.key]=Yt:zt[Yt.key]=Yt;for(let Yt in zt){let Q=zt[Yt].children(this._source.maxzoom);this._tiles[Q[0].key]&&this._tiles[Q[1].key]&&this._tiles[Q[2].key]&&this._tiles[Q[3].key]&&(Tt[Q[0].key]=b[Q[0].key]=Q[0],Tt[Q[1].key]=b[Q[1].key]=Q[1],Tt[Q[2].key]=b[Q[2].key]=Q[2],Tt[Q[3].key]=b[Q[3].key]=Q[3],delete zt[Yt])}for(let Yt in zt){let Q=zt[Yt],ae=this.findLoadedParent(Q,this._source.minzoom),ve=this.findLoadedSibling(Q),be=ae||ve||null;if(be){Tt[be.tileID.key]=b[be.tileID.key]=be.tileID;for(let De in Tt)Tt[De].isChildOf(be.tileID)&&delete Tt[De]}}for(let Yt in this._tiles)Tt[Yt]||(this._coveredTiles[Yt]=!0)}}update(b,I){if(!this._sourceLoaded||this._paused)return;let G;this.transform=b,this.terrain=I,this.updateCacheSize(b),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?G=b.getVisibleUnwrappedCoordinates(this._source.tileID).map((bt=>new i.S(bt.canonical.z,bt.wrap,bt.canonical.z,bt.canonical.x,bt.canonical.y))):(G=b.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:I}),this._source.hasTile&&(G=G.filter((bt=>this._source.hasTile(bt))))):G=[];let H=b.coveringZoomLevel(this._source),$=Math.max(H-We.maxOverzooming,this._source.minzoom),xe=Math.max(H+We.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let bt={};for(let Tt of G)if(Tt.canonical.z>this._source.minzoom){let zt=Tt.scaledTo(Tt.canonical.z-1);bt[zt.key]=zt;let Yt=Tt.scaledTo(Math.max(this._source.minzoom,Math.min(Tt.canonical.z,5)));bt[Yt.key]=Yt}G=G.concat(Object.values(bt))}let ke=G.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,ke&&this.fire(new i.k("data",{sourceDataType:"idle",dataType:"source",sourceId:this.id}));let Ne=this._updateRetainedTiles(G,H);kt(this._source.type)&&this._updateCoveredAndRetainedTiles(Ne,$,xe,H,G,I);for(let bt in Ne)this._tiles[bt].clearFadeHold();let et=i.ab(this._tiles,Ne);for(let bt of et){let Tt=this._tiles[bt];Tt.hasSymbolBuckets&&!Tt.holdingForFade()?Tt.setHoldDuration(this.map._fadeDuration):Tt.hasSymbolBuckets&&!Tt.symbolFadeFinished()||this._removeTile(bt)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(let b in this._tiles)this._tiles[b].holdingForFade()&&this._removeTile(b)}_updateRetainedTiles(b,I){var G;let H={},$={},xe=Math.max(I-We.maxOverzooming,this._source.minzoom),ke=Math.max(I+We.maxUnderzooming,this._source.minzoom),Ne={};for(let et of b){let bt=this._addTile(et);H[et.key]=et,bt.hasData()||Ithis._source.maxzoom){let zt=et.children(this._source.maxzoom)[0],Yt=this.getTile(zt);if(Yt&&Yt.hasData()){H[zt.key]=zt;continue}}else{let zt=et.children(this._source.maxzoom);if(H[zt[0].key]&&H[zt[1].key]&&H[zt[2].key]&&H[zt[3].key])continue}let Tt=bt.wasRequested();for(let zt=et.overscaledZ-1;zt>=xe;--zt){let Yt=et.scaledTo(zt);if($[Yt.key])break;if($[Yt.key]=!0,bt=this.getTile(Yt),!bt&&Tt&&(bt=this._addTile(Yt)),bt){let Q=bt.hasData();if((Q||!(!((G=this.map)===null||G===void 0)&&G.cancelPendingTileRequestsWhileZooming)||Tt)&&(H[Yt.key]=Yt),Tt=bt.wasRequested(),Q)break}}}return H}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(let b in this._tiles){let I=[],G,H=this._tiles[b].tileID;for(;H.overscaledZ>0;){if(H.key in this._loadedParentTiles){G=this._loadedParentTiles[H.key];break}I.push(H.key);let $=H.scaledTo(H.overscaledZ-1);if(G=this._getLoadedTile($),G)break;H=$}for(let $ of I)this._loadedParentTiles[$]=G}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(let b in this._tiles){let I=this._tiles[b].tileID,G=this._getLoadedTile(I);this._loadedSiblingTiles[I.key]=G}}_addTile(b){let I=this._tiles[b.key];if(I)return I;I=this._cache.getAndRemove(b),I&&(this._setTileReloadTimer(b.key,I),I.tileID=b,this._state.initializeTileState(I,this.map?this.map.painter:null),this._cacheTimers[b.key]&&(clearTimeout(this._cacheTimers[b.key]),delete this._cacheTimers[b.key],this._setTileReloadTimer(b.key,I)));let G=I;return I||(I=new ft(b,this._source.tileSize*b.overscaleFactor()),this._loadTile(I,b.key,I.state)),I.uses++,this._tiles[b.key]=I,G||this._source.fire(new i.k("dataloading",{tile:I,coord:I.tileID,dataType:"source"})),I}_setTileReloadTimer(b,I){b in this._timers&&(clearTimeout(this._timers[b]),delete this._timers[b]);let G=I.getExpiryTimeout();G&&(this._timers[b]=setTimeout((()=>{this._reloadTile(b,"expired"),delete this._timers[b]}),G))}_removeTile(b){let I=this._tiles[b];I&&(I.uses--,delete this._tiles[b],this._timers[b]&&(clearTimeout(this._timers[b]),delete this._timers[b]),I.uses>0||(I.hasData()&&I.state!=="reloading"?this._cache.add(I.tileID,I,I.getExpiryTimeout()):(I.aborted=!0,this._abortTile(I),this._unloadTile(I))))}_dataHandler(b){let I=b.sourceDataType;b.dataType==="source"&&I==="metadata"&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&b.dataType==="source"&&I==="content"&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let b in this._tiles)this._removeTile(b);this._cache.reset()}tilesIn(b,I,G){let H=[],$=this.transform;if(!$)return H;let xe=G?$.getCameraQueryGeometry(b):b,ke=b.map((Q=>$.pointCoordinate(Q,this.terrain))),Ne=xe.map((Q=>$.pointCoordinate(Q,this.terrain))),et=this.getIds(),bt=1/0,Tt=1/0,zt=-1/0,Yt=-1/0;for(let Q of Ne)bt=Math.min(bt,Q.x),Tt=Math.min(Tt,Q.y),zt=Math.max(zt,Q.x),Yt=Math.max(Yt,Q.y);for(let Q=0;Q=0&&Se[1].y+De>=0){let Be=ke.map((gt=>ve.getTilePoint(gt))),ut=Ne.map((gt=>ve.getTilePoint(gt)));H.push({tile:ae,tileID:ve,queryGeometry:Be,cameraQueryGeometry:ut,scale:be})}}return H}getVisibleCoordinates(b){let I=this.getRenderableIds(b).map((G=>this._tiles[G].tileID));for(let G of I)G.posMatrix=this.transform.calculatePosMatrix(G.toUnwrapped());return I}hasTransition(){if(this._source.hasTransition())return!0;if(kt(this._source.type)){let b=u.now();for(let I in this._tiles)if(this._tiles[I].fadeEndTime>=b)return!0}return!1}setFeatureState(b,I,G){this._state.updateState(b=b||"_geojsonTileLayer",I,G)}removeFeatureState(b,I,G){this._state.removeFeatureState(b=b||"_geojsonTileLayer",I,G)}getFeatureState(b,I){return this._state.getState(b=b||"_geojsonTileLayer",I)}setDependencies(b,I,G){let H=this._tiles[b];H&&H.setDependencies(I,G)}reloadTilesForDependencies(b,I){for(let G in this._tiles)this._tiles[G].hasDependency(b,I)&&this._reloadTile(G,"reloading");this._cache.filter((G=>!G.hasDependency(b,I)))}}function pt(K,b){let I=Math.abs(2*K.wrap)-+(K.wrap<0),G=Math.abs(2*b.wrap)-+(b.wrap<0);return K.overscaledZ-b.overscaledZ||G-I||b.canonical.y-K.canonical.y||b.canonical.x-K.canonical.x}function kt(K){return K==="raster"||K==="image"||K==="video"}We.maxOverzooming=10,We.maxUnderzooming=3;class qt{constructor(b,I){this.reset(b,I)}reset(b,I){this.points=b||[],this._distances=[0];for(let G=1;G0?(H-xe)/ke:0;return this.points[$].mult(1-Ne).add(this.points[I].mult(Ne))}}function Wt(K,b){let I=!0;return K==="always"||K!=="never"&&b!=="never"||(I=!1),I}class _r{constructor(b,I,G){let H=this.boxCells=[],$=this.circleCells=[];this.xCellCount=Math.ceil(b/G),this.yCellCount=Math.ceil(I/G);for(let xe=0;xethis.width||H<0||I>this.height)return[];let Ne=[];if(b<=0&&I<=0&&this.width<=G&&this.height<=H){if($)return[{key:null,x1:b,y1:I,x2:G,y2:H}];for(let et=0;et0}hitTestCircle(b,I,G,H,$){let xe=b-G,ke=b+G,Ne=I-G,et=I+G;if(ke<0||xe>this.width||et<0||Ne>this.height)return!1;let bt=[];return this._forEachCell(xe,Ne,ke,et,this._queryCellCircle,bt,{hitTest:!0,overlapMode:H,circle:{x:b,y:I,radius:G},seenUids:{box:{},circle:{}}},$),bt.length>0}_queryCell(b,I,G,H,$,xe,ke,Ne){let{seenUids:et,hitTest:bt,overlapMode:Tt}=ke,zt=this.boxCells[$];if(zt!==null){let Q=this.bboxes;for(let ae of zt)if(!et.box[ae]){et.box[ae]=!0;let ve=4*ae,be=this.boxKeys[ae];if(b<=Q[ve+2]&&I<=Q[ve+3]&&G>=Q[ve+0]&&H>=Q[ve+1]&&(!Ne||Ne(be))&&(!bt||!Wt(Tt,be.overlapMode))&&(xe.push({key:be,x1:Q[ve],y1:Q[ve+1],x2:Q[ve+2],y2:Q[ve+3]}),bt))return!0}}let Yt=this.circleCells[$];if(Yt!==null){let Q=this.circles;for(let ae of Yt)if(!et.circle[ae]){et.circle[ae]=!0;let ve=3*ae,be=this.circleKeys[ae];if(this._circleAndRectCollide(Q[ve],Q[ve+1],Q[ve+2],b,I,G,H)&&(!Ne||Ne(be))&&(!bt||!Wt(Tt,be.overlapMode))){let De=Q[ve],Se=Q[ve+1],Be=Q[ve+2];if(xe.push({key:be,x1:De-Be,y1:Se-Be,x2:De+Be,y2:Se+Be}),bt)return!0}}}return!1}_queryCellCircle(b,I,G,H,$,xe,ke,Ne){let{circle:et,seenUids:bt,overlapMode:Tt}=ke,zt=this.boxCells[$];if(zt!==null){let Q=this.bboxes;for(let ae of zt)if(!bt.box[ae]){bt.box[ae]=!0;let ve=4*ae,be=this.boxKeys[ae];if(this._circleAndRectCollide(et.x,et.y,et.radius,Q[ve+0],Q[ve+1],Q[ve+2],Q[ve+3])&&(!Ne||Ne(be))&&!Wt(Tt,be.overlapMode))return xe.push(!0),!0}}let Yt=this.circleCells[$];if(Yt!==null){let Q=this.circles;for(let ae of Yt)if(!bt.circle[ae]){bt.circle[ae]=!0;let ve=3*ae,be=this.circleKeys[ae];if(this._circlesCollide(Q[ve],Q[ve+1],Q[ve+2],et.x,et.y,et.radius)&&(!Ne||Ne(be))&&!Wt(Tt,be.overlapMode))return xe.push(!0),!0}}}_forEachCell(b,I,G,H,$,xe,ke,Ne){let et=this._convertToXCellCoord(b),bt=this._convertToYCellCoord(I),Tt=this._convertToXCellCoord(G),zt=this._convertToYCellCoord(H);for(let Yt=et;Yt<=Tt;Yt++)for(let Q=bt;Q<=zt;Q++)if($.call(this,b,I,G,H,this.xCellCount*Q+Yt,xe,ke,Ne))return}_convertToXCellCoord(b){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(b*this.xScale)))}_convertToYCellCoord(b){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(b*this.yScale)))}_circlesCollide(b,I,G,H,$,xe){let ke=H-b,Ne=$-I,et=G+xe;return et*et>ke*ke+Ne*Ne}_circleAndRectCollide(b,I,G,H,$,xe,ke){let Ne=(xe-H)/2,et=Math.abs(b-(H+Ne));if(et>Ne+G)return!1;let bt=(ke-$)/2,Tt=Math.abs(I-($+bt));if(Tt>bt+G)return!1;if(et<=Ne||Tt<=bt)return!0;let zt=et-Ne,Yt=Tt-bt;return zt*zt+Yt*Yt<=G*G}}function tr(K,b,I,G,H){let $=i.H();return b?(i.K($,$,[1/H,1/H,1]),I||i.ad($,$,G.angle)):i.L($,G.labelPlaneMatrix,K),$}function lr(K,b,I,G,H){if(b){let $=i.ae(K);return i.K($,$,[H,H,1]),I||i.ad($,$,-G.angle),$}return G.glCoordMatrix}function Ye(K,b,I,G){let H;G?(H=[K,b,G(K,b),1],i.af(H,H,I)):(H=[K,b,0,1],Er(H,H,I));let $=H[3];return{point:new i.P(H[0]/$,H[1]/$),signedDistanceFromCamera:$,isOccluded:!1}}function Te(K,b){return .5+K/b*.5}function Fe(K,b){return K.x>=-b[0]&&K.x<=b[0]&&K.y>=-b[1]&&K.y<=b[1]}function Ae(K,b,I,G,H,$,xe,ke,Ne,et,bt,Tt,zt,Yt,Q){let ae=G?K.textSizeData:K.iconSizeData,ve=i.ag(ae,I.transform.zoom),be=[256/I.width*2+1,256/I.height*2+1],De=G?K.text.dynamicLayoutVertexArray:K.icon.dynamicLayoutVertexArray;De.clear();let Se=K.lineVertexArray,Be=G?K.text.placedSymbolArray:K.icon.placedSymbolArray,ut=I.transform.width/I.transform.height,gt=!1;for(let Mt=0;MtMath.abs(I.x-b.x)*G?{useVertical:!0}:(K===i.ah.vertical?b.yI.x)?{needsFlipping:!0}:null}function Ke(K,b,I,G,H,$,xe,ke,Ne,et,bt){let Tt=I/24,zt=b.lineOffsetX*Tt,Yt=b.lineOffsetY*Tt,Q;if(b.numGlyphs>1){let ae=b.glyphStartIndex+b.numGlyphs,ve=b.lineStartIndex,be=b.lineStartIndex+b.lineLength,De=Re(Tt,ke,zt,Yt,G,b,bt,K);if(!De)return{notEnoughRoom:!0};let Se=Ye(De.first.point.x,De.first.point.y,xe,K.getElevation).point,Be=Ye(De.last.point.x,De.last.point.y,xe,K.getElevation).point;if(H&&!G){let ut=Ze(b.writingMode,Se,Be,et);if(ut)return ut}Q=[De.first];for(let ut=b.glyphStartIndex+1;ut0?Se.point:(function(gt,Mt,Ft,Ot,er,sr){return _t(gt,Mt,Ft,1,er,sr)})(K.tileAnchorPoint,De,ve,0,$,K),ut=Ze(b.writingMode,ve,Be,et);if(ut)return ut}let ae=gr(Tt*ke.getoffsetX(b.glyphStartIndex),zt,Yt,G,b.segment,b.lineStartIndex,b.lineStartIndex+b.lineLength,K,bt);if(!ae||K.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};Q=[ae]}for(let ae of Q)i.aj(Ne,ae.point,ae.angle);return{}}function _t(K,b,I,G,H,$){let xe=K.add(K.sub(b)._unit()),ke=H!==void 0?Ye(xe.x,xe.y,H,$.getElevation).point:Vt(xe.x,xe.y,$).point,Ne=I.sub(ke);return I.add(Ne._mult(G/Ne.mag()))}function St(K,b,I){let G=b.projectionCache;if(G.projections[K])return G.projections[K];let H=new i.P(b.lineVertexArray.getx(K),b.lineVertexArray.gety(K)),$=Vt(H.x,H.y,b);if($.signedDistanceFromCamera>0)return G.projections[K]=$.point,G.anyProjectionOccluded=G.anyProjectionOccluded||$.isOccluded,$.point;let xe=K-I.direction;return(function(ke,Ne,et,bt,Tt){return _t(ke,Ne,et,bt,void 0,Tt)})(I.distanceFromAnchor===0?b.tileAnchorPoint:new i.P(b.lineVertexArray.getx(xe),b.lineVertexArray.gety(xe)),H,I.previousVertex,I.absOffsetX-I.distanceFromAnchor+1,b)}function Vt(K,b,I){let G=K+I.translation[0],H=b+I.translation[1],$;return!I.pitchWithMap&&I.projection.useSpecialProjectionForSymbols?($=I.projection.projectTileCoordinates(G,H,I.unwrappedTileID,I.getElevation),$.point.x=(.5*$.point.x+.5)*I.width,$.point.y=(.5*-$.point.y+.5)*I.height):($=Ye(G,H,I.labelPlaneMatrix,I.getElevation),$.isOccluded=!1),$}function fr(K,b,I){return K._unit()._perp()._mult(b*I)}function $t(K,b,I,G,H,$,xe,ke,Ne){if(ke.projectionCache.offsets[K])return ke.projectionCache.offsets[K];let et=I.add(b);if(K+Ne.direction=H)return ke.projectionCache.offsets[K]=et,et;let bt=St(K+Ne.direction,ke,Ne),Tt=fr(bt.sub(I),xe,Ne.direction),zt=I.add(Tt),Yt=bt.add(Tt);return ke.projectionCache.offsets[K]=i.ak($,et,zt,Yt)||et,ke.projectionCache.offsets[K]}function gr(K,b,I,G,H,$,xe,ke,Ne){let et=G?K-b:K+b,bt=et>0?1:-1,Tt=0;G&&(bt*=-1,Tt=Math.PI),bt<0&&(Tt+=Math.PI);let zt,Yt=bt>0?$+H:$+H+1;ke.projectionCache.cachedAnchorPoint?zt=ke.projectionCache.cachedAnchorPoint:(zt=Vt(ke.tileAnchorPoint.x,ke.tileAnchorPoint.y,ke).point,ke.projectionCache.cachedAnchorPoint=zt);let Q,ae,ve=zt,be=zt,De=0,Se=0,Be=Math.abs(et),ut=[],gt;for(;De+Se<=Be;){if(Yt+=bt,Yt<$||Yt>=xe)return null;De+=Se,be=ve,ae=Q;let Ot={absOffsetX:Be,direction:bt,distanceFromAnchor:De,previousVertex:be};if(ve=St(Yt,ke,Ot),I===0)ut.push(be),gt=ve.sub(be);else{let er,sr=ve.sub(be);er=sr.mag()===0?fr(St(Yt+bt,ke,Ot).sub(ve),I,bt):fr(sr,I,bt),ae||(ae=be.add(er)),Q=$t(Yt,er,ve,$,xe,ae,I,ke,Ot),ut.push(ae),gt=Q.sub(ae)}Se=gt.mag()}let Mt=gt._mult((Be-De)/Se)._add(ae||be),Ft=Tt+Math.atan2(ve.y-be.y,ve.x-be.x);return ut.push(Mt),{point:Mt,angle:Ne?Ft:0,path:ut}}let Br=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Nr(K,b){for(let I=0;I=1;va--)kn.push(pn.path[va]);for(let va=1;vaXa.signedDistanceFromCamera<=0))?[]:va.map((Xa=>Xa.point))}let ka=[];if(kn.length>0){let va=kn[0].clone(),Xa=kn[0].clone();for(let Ai=1;Ai=sr.x&&Xa.x<=wr.x&&va.y>=sr.y&&Xa.y<=wr.y?[kn]:Xa.xwr.x||Xa.ywr.y?[]:i.al([kn],sr.x,sr.y,wr.x,wr.y)}for(let va of ka){Gr.reset(va,.25*er);let Xa=0;Xa=Gr.length<=.5*er?1:Math.ceil(Gr.paddedLength/ta)+1;for(let Ai=0;AiYe(H.x,H.y,G,I.getElevation)))}queryRenderedSymbols(b){if(b.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};let I=[],G=1/0,H=1/0,$=-1/0,xe=-1/0;for(let bt of b){let Tt=new i.P(bt.x+zr,bt.y+zr);G=Math.min(G,Tt.x),H=Math.min(H,Tt.y),$=Math.max($,Tt.x),xe=Math.max(xe,Tt.y),I.push(Tt)}let ke=this.grid.query(G,H,$,xe).concat(this.ignoredGrid.query(G,H,$,xe)),Ne={},et={};for(let bt of ke){let Tt=bt.key;if(Ne[Tt.bucketInstanceId]===void 0&&(Ne[Tt.bucketInstanceId]={}),Ne[Tt.bucketInstanceId][Tt.featureIndex])continue;let zt=[new i.P(bt.x1,bt.y1),new i.P(bt.x2,bt.y1),new i.P(bt.x2,bt.y2),new i.P(bt.x1,bt.y2)];i.am(I,zt)&&(Ne[Tt.bucketInstanceId][Tt.featureIndex]=!0,et[Tt.bucketInstanceId]===void 0&&(et[Tt.bucketInstanceId]=[]),et[Tt.bucketInstanceId].push(Tt.featureIndex))}return et}insertCollisionBox(b,I,G,H,$,xe){(G?this.ignoredGrid:this.grid).insert({bucketInstanceId:H,featureIndex:$,collisionGroupID:xe,overlapMode:I},b[0],b[1],b[2],b[3])}insertCollisionCircles(b,I,G,H,$,xe){let ke=G?this.ignoredGrid:this.grid,Ne={bucketInstanceId:H,featureIndex:$,collisionGroupID:xe,overlapMode:I};for(let et=0;et=this.screenRightBoundary||Hthis.screenBottomBoundary}isInsideGrid(b,I,G,H){return G>=0&&b=0&&Ithis.projectAndGetPerspectiveRatio(G,er.x,er.y,H,et)));Ft=Ot.some((er=>!er.isOccluded)),Mt=Ot.map((er=>er.point))}else Ft=!0;return{box:i.ao(Mt),allPointsOccluded:!Ft}}}function Nn(K,b,I){return b*(i.X/(K.tileSize*Math.pow(2,I-K.tileID.overscaledZ)))}class Xn{constructor(b,I,G,H){this.opacity=b?Math.max(0,Math.min(1,b.opacity+(b.placed?I:-I))):H&&G?1:0,this.placed=G}isHidden(){return this.opacity===0&&!this.placed}}class Kn{constructor(b,I,G,H,$){this.text=new Xn(b?b.text:null,I,G,$),this.icon=new Xn(b?b.icon:null,I,H,$)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class Qn{constructor(b,I,G){this.text=b,this.icon=I,this.skipFade=G}}class un{constructor(){this.invProjMatrix=i.H(),this.viewportMatrix=i.H(),this.circles=[]}}class aa{constructor(b,I,G,H,$){this.bucketInstanceId=b,this.featureIndex=I,this.sourceLayerIndex=G,this.bucketIndex=H,this.tileID=$}}class da{constructor(b){this.crossSourceCollisions=b,this.maxGroupID=0,this.collisionGroups={}}get(b){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[b]){let I=++this.maxGroupID;this.collisionGroups[b]={ID:I,predicate:G=>G.collisionGroupID===I}}return this.collisionGroups[b]}}function ua(K,b,I,G,H){let{horizontalAlign:$,verticalAlign:xe}=i.au(K);return new i.P(-($-.5)*b+G[0]*H,-(xe-.5)*I+G[1]*H)}class qa{constructor(b,I,G,H,$,xe){this.transform=b.clone(),this.terrain=G,this.collisionIndex=new vn(this.transform,I),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=H,this.retainedQueryData={},this.collisionGroups=new da($),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=xe,xe&&(xe.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(b){let I=this.terrain;return I?(G,H)=>I.getElevation(b,G,H):null}getBucketParts(b,I,G,H){let $=G.getBucket(I),xe=G.latestFeatureIndex;if(!$||!xe||I.id!==$.layerIds[0])return;let ke=G.collisionBoxArray,Ne=$.layers[0].layout,et=$.layers[0].paint,bt=Math.pow(2,this.transform.zoom-G.tileID.overscaledZ),Tt=G.tileSize/i.X,zt=G.tileID.toUnwrapped(),Yt=this.transform.calculatePosMatrix(zt),Q=Ne.get("text-pitch-alignment")==="map",ae=Ne.get("text-rotation-alignment")==="map",ve=Nn(G,1,this.transform.zoom),be=this.collisionIndex.mapProjection.translatePosition(this.transform,G,et.get("text-translate"),et.get("text-translate-anchor")),De=this.collisionIndex.mapProjection.translatePosition(this.transform,G,et.get("icon-translate"),et.get("icon-translate-anchor")),Se=tr(Yt,Q,ae,this.transform,ve),Be=null;if(Q){let gt=lr(Yt,Q,ae,this.transform,ve);Be=i.L([],this.transform.labelPlaneMatrix,gt)}this.retainedQueryData[$.bucketInstanceId]=new aa($.bucketInstanceId,xe,$.sourceLayerIndex,$.index,G.tileID);let ut={bucket:$,layout:Ne,translationText:be,translationIcon:De,posMatrix:Yt,unwrappedTileID:zt,textLabelPlaneMatrix:Se,labelToScreenMatrix:Be,scale:bt,textPixelRatio:Tt,holdingForFade:G.holdingForFade(),collisionBoxArray:ke,partiallyEvaluatedTextSize:i.ag($.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get($.sourceID)};if(H)for(let gt of $.sortKeyRanges){let{sortKey:Mt,symbolInstanceStart:Ft,symbolInstanceEnd:Ot}=gt;b.push({sortKey:Mt,symbolInstanceStart:Ft,symbolInstanceEnd:Ot,parameters:ut})}else b.push({symbolInstanceStart:0,symbolInstanceEnd:$.symbolInstances.length,parameters:ut})}attemptAnchorPlacement(b,I,G,H,$,xe,ke,Ne,et,bt,Tt,zt,Yt,Q,ae,ve,be,De,Se){let Be=i.aq[b.textAnchor],ut=[b.textOffset0,b.textOffset1],gt=ua(Be,G,H,ut,$),Mt=this.collisionIndex.placeCollisionBox(I,zt,Ne,et,bt,ke,xe,ve,Tt.predicate,Se,gt);if((!De||this.collisionIndex.placeCollisionBox(De,zt,Ne,et,bt,ke,xe,be,Tt.predicate,Se,gt).placeable)&&Mt.placeable){let Ft;if(this.prevPlacement&&this.prevPlacement.variableOffsets[Yt.crossTileID]&&this.prevPlacement.placements[Yt.crossTileID]&&this.prevPlacement.placements[Yt.crossTileID].text&&(Ft=this.prevPlacement.variableOffsets[Yt.crossTileID].anchor),Yt.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[Yt.crossTileID]={textOffset:ut,width:G,height:H,anchor:Be,textBoxScale:$,prevAnchor:Ft},this.markUsedJustification(Q,Be,Yt,ae),Q.allowVerticalPlacement&&(this.markUsedOrientation(Q,ae,Yt),this.placedOrientations[Yt.crossTileID]=ae),{shift:gt,placedGlyphBoxes:Mt}}}placeLayerBucketPart(b,I,G){let{bucket:H,layout:$,translationText:xe,translationIcon:ke,posMatrix:Ne,unwrappedTileID:et,textLabelPlaneMatrix:bt,labelToScreenMatrix:Tt,textPixelRatio:zt,holdingForFade:Yt,collisionBoxArray:Q,partiallyEvaluatedTextSize:ae,collisionGroup:ve}=b.parameters,be=$.get("text-optional"),De=$.get("icon-optional"),Se=i.ar($,"text-overlap","text-allow-overlap"),Be=Se==="always",ut=i.ar($,"icon-overlap","icon-allow-overlap"),gt=ut==="always",Mt=$.get("text-rotation-alignment")==="map",Ft=$.get("text-pitch-alignment")==="map",Ot=$.get("icon-text-fit")!=="none",er=$.get("symbol-z-order")==="viewport-y",sr=Be&&(gt||!H.hasIconData()||De),wr=gt&&(Be||!H.hasTextData()||be);!H.collisionArrays&&Q&&H.deserializeCollisionBoxes(Q);let Gr=this._getTerrainElevationFunc(this.retainedQueryData[H.bucketInstanceId].tileID),pn=(cn,kn,ta)=>{var ka,va;if(I[cn.crossTileID])return;if(Yt)return void(this.placements[cn.crossTileID]=new Qn(!1,!1,!1));let Xa=!1,Ai=!1,di=!0,xo=null,Xi={box:null,placeable:!1,offscreen:null},Wo={box:null,placeable:!1,offscreen:null},fs=null,ws=null,qo=null,Jo=0,Tl=0,bu=0;kn.textFeatureIndex?Jo=kn.textFeatureIndex:cn.useRuntimeCollisionCircles&&(Jo=cn.featureIndex),kn.verticalTextFeatureIndex&&(Tl=kn.verticalTextFeatureIndex);let Gl=kn.textBox;if(Gl){let Qs=ie=>{let _e=i.ah.horizontal;if(H.allowVerticalPlacement&&!ie&&this.prevPlacement){let Me=this.prevPlacement.placedOrientations[cn.crossTileID];Me&&(this.placedOrientations[cn.crossTileID]=Me,_e=Me,this.markUsedOrientation(H,_e,cn))}return _e},Al=(ie,_e)=>{if(H.allowVerticalPlacement&&cn.numVerticalGlyphVertices>0&&kn.verticalTextBox){for(let Me of H.writingModes)if(Me===i.ah.vertical?(Xi=_e(),Wo=Xi):Xi=ie(),Xi&&Xi.placeable)break}else Xi=ie()},V=cn.textAnchorOffsetStartIndex,Z=cn.textAnchorOffsetEndIndex;if(Z===V){let ie=(_e,Me)=>{let Le=this.collisionIndex.placeCollisionBox(_e,Se,zt,Ne,et,Ft,Mt,xe,ve.predicate,Gr);return Le&&Le.placeable&&(this.markUsedOrientation(H,Me,cn),this.placedOrientations[cn.crossTileID]=Me),Le};Al((()=>ie(Gl,i.ah.horizontal)),(()=>{let _e=kn.verticalTextBox;return H.allowVerticalPlacement&&cn.numVerticalGlyphVertices>0&&_e?ie(_e,i.ah.vertical):{box:null,offscreen:null}})),Qs(Xi&&Xi.placeable)}else{let ie=i.aq[(va=(ka=this.prevPlacement)===null||ka===void 0?void 0:ka.variableOffsets[cn.crossTileID])===null||va===void 0?void 0:va.anchor],_e=(Le,at,je)=>{let xt=Le.x2-Le.x1,Dt=Le.y2-Le.y1,It=cn.textBoxScale,ar=Ot&&ut==="never"?at:null,rr=null,Dr=Se==="never"?1:2,Hr="never";ie&&Dr++;for(let hr=0;hr_e(Gl,kn.iconBox,i.ah.horizontal)),(()=>{let Le=kn.verticalTextBox;return H.allowVerticalPlacement&&(!Xi||!Xi.placeable)&&cn.numVerticalGlyphVertices>0&&Le?_e(Le,kn.verticalIconBox,i.ah.vertical):{box:null,occluded:!0,offscreen:null}})),Xi&&(Xa=Xi.placeable,di=Xi.offscreen);let Me=Qs(Xi&&Xi.placeable);if(!Xa&&this.prevPlacement){let Le=this.prevPlacement.variableOffsets[cn.crossTileID];Le&&(this.variableOffsets[cn.crossTileID]=Le,this.markUsedJustification(H,Le.anchor,cn,Me))}}}if(fs=Xi,Xa=fs&&fs.placeable,di=fs&&fs.offscreen,cn.useRuntimeCollisionCircles){let Qs=H.text.placedSymbolArray.get(cn.centerJustifiedTextSymbolIndex),Al=i.ai(H.textSizeData,ae,Qs),V=$.get("text-padding");ws=this.collisionIndex.placeCollisionCircles(Se,Qs,H.lineVertexArray,H.glyphOffsetArray,Al,Ne,et,bt,Tt,G,Ft,ve.predicate,cn.collisionCircleDiameter,V,xe,Gr),ws.circles.length&&ws.collisionDetected&&!G&&i.w("Collisions detected, but collision boxes are not shown"),Xa=Be||ws.circles.length>0&&!ws.collisionDetected,di=di&&ws.offscreen}if(kn.iconFeatureIndex&&(bu=kn.iconFeatureIndex),kn.iconBox){let Qs=Al=>this.collisionIndex.placeCollisionBox(Al,ut,zt,Ne,et,Ft,Mt,ke,ve.predicate,Gr,Ot&&xo?xo:void 0);Wo&&Wo.placeable&&kn.verticalIconBox?(qo=Qs(kn.verticalIconBox),Ai=qo.placeable):(qo=Qs(kn.iconBox),Ai=qo.placeable),di=di&&qo.offscreen}let zs=be||cn.numHorizontalGlyphVertices===0&&cn.numVerticalGlyphVertices===0,Du=De||cn.numIconVertices===0;zs||Du?Du?zs||(Ai=Ai&&Xa):Xa=Ai&&Xa:Ai=Xa=Ai&&Xa;let _u=Ai&&qo.placeable;if(Xa&&fs.placeable&&this.collisionIndex.insertCollisionBox(fs.box,Se,$.get("text-ignore-placement"),H.bucketInstanceId,Wo&&Wo.placeable&&Tl?Tl:Jo,ve.ID),_u&&this.collisionIndex.insertCollisionBox(qo.box,ut,$.get("icon-ignore-placement"),H.bucketInstanceId,bu,ve.ID),ws&&Xa&&this.collisionIndex.insertCollisionCircles(ws.circles,Se,$.get("text-ignore-placement"),H.bucketInstanceId,Jo,ve.ID),G&&this.storeCollisionData(H.bucketInstanceId,ta,kn,fs,qo,ws),cn.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");if(H.bucketInstanceId===0)throw new Error("bucket.bucketInstanceId can't be 0");this.placements[cn.crossTileID]=new Qn(Xa||sr,Ai||wr,di||H.justReloaded),I[cn.crossTileID]=!0};if(er){if(b.symbolInstanceStart!==0)throw new Error("bucket.bucketInstanceId should be 0");let cn=H.getSortedSymbolIndexes(this.transform.angle);for(let kn=cn.length-1;kn>=0;--kn){let ta=cn[kn];pn(H.symbolInstances.get(ta),H.collisionArrays[ta],ta)}}else for(let cn=b.symbolInstanceStart;cn=0&&(b.text.placedSymbolArray.get(ke).crossTileID=$>=0&&ke!==$?0:G.crossTileID)}markUsedOrientation(b,I,G){let H=I===i.ah.horizontal||I===i.ah.horizontalOnly?I:0,$=I===i.ah.vertical?I:0,xe=[G.leftJustifiedTextSymbolIndex,G.centerJustifiedTextSymbolIndex,G.rightJustifiedTextSymbolIndex];for(let ke of xe)b.text.placedSymbolArray.get(ke).placedOrientation=H;G.verticalPlacedTextSymbolIndex&&(b.text.placedSymbolArray.get(G.verticalPlacedTextSymbolIndex).placedOrientation=$)}commit(b){this.commitTime=b,this.zoomAtLastRecencyCheck=this.transform.zoom;let I=this.prevPlacement,G=!1;this.prevZoomAdjustment=I?I.zoomAdjustment(this.transform.zoom):0;let H=I?I.symbolFadeChange(b):1,$=I?I.opacities:{},xe=I?I.variableOffsets:{},ke=I?I.placedOrientations:{};for(let Ne in this.placements){let et=this.placements[Ne],bt=$[Ne];bt?(this.opacities[Ne]=new Kn(bt,H,et.text,et.icon),G=G||et.text!==bt.text.placed||et.icon!==bt.icon.placed):(this.opacities[Ne]=new Kn(null,H,et.text,et.icon,et.skipFade),G=G||et.text||et.icon)}for(let Ne in $){let et=$[Ne];if(!this.opacities[Ne]){let bt=new Kn(et,H,!1,!1);bt.isHidden()||(this.opacities[Ne]=bt,G=G||et.text.placed||et.icon.placed)}}for(let Ne in xe)this.variableOffsets[Ne]||!this.opacities[Ne]||this.opacities[Ne].isHidden()||(this.variableOffsets[Ne]=xe[Ne]);for(let Ne in ke)this.placedOrientations[Ne]||!this.opacities[Ne]||this.opacities[Ne].isHidden()||(this.placedOrientations[Ne]=ke[Ne]);if(I&&I.lastPlacementChangeTime===void 0)throw new Error("Last placement time for previous placement is not defined");G?this.lastPlacementChangeTime=b:typeof this.lastPlacementChangeTime!="number"&&(this.lastPlacementChangeTime=I?I.lastPlacementChangeTime:b)}updateLayerOpacities(b,I){let G={};for(let H of I){let $=H.getBucket(b);$&&H.latestFeatureIndex&&b.id===$.layerIds[0]&&this.updateBucketOpacities($,H.tileID,G,H.collisionBoxArray)}}updateBucketOpacities(b,I,G,H){b.hasTextData()&&(b.text.opacityVertexArray.clear(),b.text.hasVisibleVertices=!1),b.hasIconData()&&(b.icon.opacityVertexArray.clear(),b.icon.hasVisibleVertices=!1),b.hasIconCollisionBoxData()&&b.iconCollisionBox.collisionVertexArray.clear(),b.hasTextCollisionBoxData()&&b.textCollisionBox.collisionVertexArray.clear();let $=b.layers[0],xe=$.layout,ke=new Kn(null,0,!1,!1,!0),Ne=xe.get("text-allow-overlap"),et=xe.get("icon-allow-overlap"),bt=$._unevaluatedLayout.hasValue("text-variable-anchor")||$._unevaluatedLayout.hasValue("text-variable-anchor-offset"),Tt=xe.get("text-rotation-alignment")==="map",zt=xe.get("text-pitch-alignment")==="map",Yt=xe.get("icon-text-fit")!=="none",Q=new Kn(null,0,Ne&&(et||!b.hasIconData()||xe.get("icon-optional")),et&&(Ne||!b.hasTextData()||xe.get("text-optional")),!0);!b.collisionArrays&&H&&(b.hasIconCollisionBoxData()||b.hasTextCollisionBoxData())&&b.deserializeCollisionBoxes(H);let ae=(be,De,Se)=>{for(let Be=0;Be0,Ft=this.placedOrientations[De.crossTileID],Ot=Ft===i.ah.vertical,er=Ft===i.ah.horizontal||Ft===i.ah.horizontalOnly;if(Se>0||Be>0){let wr=ni(gt.text);ae(b.text,Se,Ot?ao:wr),ae(b.text,Be,er?ao:wr);let Gr=gt.text.isHidden();[De.rightJustifiedTextSymbolIndex,De.centerJustifiedTextSymbolIndex,De.leftJustifiedTextSymbolIndex].forEach((kn=>{kn>=0&&(b.text.placedSymbolArray.get(kn).hidden=Gr||Ot?1:0)})),De.verticalPlacedTextSymbolIndex>=0&&(b.text.placedSymbolArray.get(De.verticalPlacedTextSymbolIndex).hidden=Gr||er?1:0);let pn=this.variableOffsets[De.crossTileID];pn&&this.markUsedJustification(b,pn.anchor,De,Ft);let cn=this.placedOrientations[De.crossTileID];cn&&(this.markUsedJustification(b,"left",De,cn),this.markUsedOrientation(b,cn,De))}if(Mt){let wr=ni(gt.icon),Gr=!(Yt&&De.verticalPlacedIconSymbolIndex&&Ot);De.placedIconSymbolIndex>=0&&(ae(b.icon,De.numIconVertices,Gr?wr:ao),b.icon.placedSymbolArray.get(De.placedIconSymbolIndex).hidden=gt.icon.isHidden()),De.verticalPlacedIconSymbolIndex>=0&&(ae(b.icon,De.numVerticalIconVertices,Gr?ao:wr),b.icon.placedSymbolArray.get(De.verticalPlacedIconSymbolIndex).hidden=gt.icon.isHidden())}let sr=ve&&ve.has(be)?ve.get(be):{text:null,icon:null};if(b.hasIconCollisionBoxData()||b.hasTextCollisionBoxData()){let wr=b.collisionArrays[be];if(wr){let Gr=new i.P(0,0);if(wr.textBox||wr.verticalTextBox){let pn=!0;if(bt){let cn=this.variableOffsets[ut];cn?(Gr=ua(cn.anchor,cn.width,cn.height,cn.textOffset,cn.textBoxScale),Tt&&Gr._rotate(zt?this.transform.angle:-this.transform.angle)):pn=!1}if(wr.textBox||wr.verticalTextBox){let cn;wr.textBox&&(cn=Ot),wr.verticalTextBox&&(cn=er),ii(b.textCollisionBox.collisionVertexArray,gt.text.placed,!pn||cn,sr.text,Gr.x,Gr.y)}}if(wr.iconBox||wr.verticalIconBox){let pn=!!(!er&&wr.verticalIconBox),cn;wr.iconBox&&(cn=pn),wr.verticalIconBox&&(cn=!pn),ii(b.iconCollisionBox.collisionVertexArray,gt.icon.placed,cn,sr.icon,Yt?Gr.x:0,Yt?Gr.y:0)}}}}if(b.sortFeatures(this.transform.angle),this.retainedQueryData[b.bucketInstanceId]&&(this.retainedQueryData[b.bucketInstanceId].featureSortOrder=b.featureSortOrder),b.hasTextData()&&b.text.opacityVertexBuffer&&b.text.opacityVertexBuffer.updateData(b.text.opacityVertexArray),b.hasIconData()&&b.icon.opacityVertexBuffer&&b.icon.opacityVertexBuffer.updateData(b.icon.opacityVertexArray),b.hasIconCollisionBoxData()&&b.iconCollisionBox.collisionVertexBuffer&&b.iconCollisionBox.collisionVertexBuffer.updateData(b.iconCollisionBox.collisionVertexArray),b.hasTextCollisionBoxData()&&b.textCollisionBox.collisionVertexBuffer&&b.textCollisionBox.collisionVertexBuffer.updateData(b.textCollisionBox.collisionVertexArray),b.text.opacityVertexArray.length!==b.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${b.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${b.text.layoutVertexArray.length}) / 4`);if(b.icon.opacityVertexArray.length!==b.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${b.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${b.icon.layoutVertexArray.length}) / 4`);if(b.bucketInstanceId in this.collisionCircleArrays){let be=this.collisionCircleArrays[b.bucketInstanceId];b.placementInvProjMatrix=be.invProjMatrix,b.placementViewportMatrix=be.viewportMatrix,b.collisionCircleArray=be.circles,delete this.collisionCircleArrays[b.bucketInstanceId]}}symbolFadeChange(b){return this.fadeDuration===0?1:(b-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(b){return Math.max(0,(this.transform.zoom-b)/1.5)}hasTransitions(b){return this.stale||b-this.lastPlacementChangeTimeb}setStale(){this.stale=!0}}function ii(K,b,I,G,H,$){G&&G.length!==0||(G=[0,0,0,0]);let xe=G[0]-zr,ke=G[1]-zr,Ne=G[2]-zr,et=G[3]-zr;K.emplaceBack(b?1:0,I?1:0,H||0,$||0,xe,ke),K.emplaceBack(b?1:0,I?1:0,H||0,$||0,Ne,ke),K.emplaceBack(b?1:0,I?1:0,H||0,$||0,Ne,et),K.emplaceBack(b?1:0,I?1:0,H||0,$||0,xe,et)}let pa=Math.pow(2,25),no=Math.pow(2,24),Gi=Math.pow(2,17),Ti=Math.pow(2,16),fi=Math.pow(2,9),_o=Math.pow(2,8),Oi=Math.pow(2,1);function ni(K){if(K.opacity===0&&!K.placed)return 0;if(K.opacity===1&&K.placed)return 4294967295;let b=K.placed?1:0,I=Math.floor(127*K.opacity);return I*pa+b*no+I*Gi+b*Ti+I*fi+b*_o+I*Oi+b}let ao=0;function Hi(){return{isOccluded:(K,b,I)=>!1,getPitchedTextCorrection:(K,b,I)=>1,get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(K,b,I,G){throw new Error("Not implemented.")},translatePosition:(K,b,I,G)=>(function(H,$,xe,ke,Ne=!1){if(!xe[0]&&!xe[1])return[0,0];let et=Ne?ke==="map"?H.angle:0:ke==="viewport"?-H.angle:0;if(et){let bt=Math.sin(et),Tt=Math.cos(et);xe=[xe[0]*Tt-xe[1]*bt,xe[0]*bt+xe[1]*Tt]}return[Ne?xe[0]:Nn($,xe[0],H.zoom),Ne?xe[1]:Nn($,xe[1],H.zoom)]})(K,b,I,G),getCircleRadiusCorrection:K=>1}}class to{constructor(b){this._sortAcrossTiles=b.layout.get("symbol-z-order")!=="viewport-y"&&!b.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(b,I,G,H,$){let xe=this._bucketParts;for(;this._currentTileIndexke.sortKey-Ne.sortKey)));this._currentPartIndex!this._forceFullPlacement&&u.now()-H>2;for(;this._currentPlacementIndex>=0;){let xe=I[b[this._currentPlacementIndex]],ke=this.placement.collisionIndex.transform.zoom;if(xe.type==="symbol"&&(!xe.minzoom||xe.minzoom<=ke)&&(!xe.maxzoom||xe.maxzoom>ke)){if(this._inProgressLayer||(this._inProgressLayer=new to(xe)),this._inProgressLayer.continuePlacement(G[xe.source],this.placement,this._showCollisionBoxes,xe,$))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(b){return this.placement.commit(b),this.placement}}let Zo=512/i.X/2;class Fi{constructor(b,I,G){this.tileID=b,this.bucketInstanceId=G,this._symbolsByKey={};let H=new Map;for(let $=0;$({x:Math.floor(Ne.anchorX*Zo),y:Math.floor(Ne.anchorY*Zo)}))),crossTileIDs:xe.map((Ne=>Ne.crossTileID))};if(ke.positions.length>128){let Ne=new i.av(ke.positions.length,16,Uint16Array);for(let{x:et,y:bt}of ke.positions)Ne.add(et,bt);Ne.finish(),delete ke.positions,ke.index=Ne}this._symbolsByKey[$]=ke}}getScaledCoordinates(b,I){let{x:G,y:H,z:$}=this.tileID.canonical,{x:xe,y:ke,z:Ne}=I.canonical,et=Zo/Math.pow(2,Ne-$),bt=(ke*i.X+b.anchorY)*et,Tt=H*i.X*Zo;return{x:Math.floor((xe*i.X+b.anchorX)*et-G*i.X*Zo),y:Math.floor(bt-Tt)}}findMatches(b,I,G){let H=this.tileID.canonical.zb))}}class yo{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class oo{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(b){let I=Math.round((b-this.lng)/360);if(I!==0)for(let G in this.indexes){let H=this.indexes[G],$={};for(let xe in H){let ke=H[xe];ke.tileID=ke.tileID.unwrapTo(ke.tileID.wrap+I),$[ke.tileID.key]=ke}this.indexes[G]=$}this.lng=b}addBucket(b,I,G){if(this.indexes[b.overscaledZ]&&this.indexes[b.overscaledZ][b.key]){if(this.indexes[b.overscaledZ][b.key].bucketInstanceId===I.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(b.overscaledZ,this.indexes[b.overscaledZ][b.key])}for(let $=0;$b.overscaledZ)for(let ke in xe){let Ne=xe[ke];Ne.tileID.isChildOf(b)&&Ne.findMatches(I.symbolInstances,b,H)}else{let ke=xe[b.scaledTo(Number($)).key];ke&&ke.findMatches(I.symbolInstances,b,H)}}for(let $=0;${I[G]=!0}));for(let G in this.layerIndexes)I[G]||delete this.layerIndexes[G]}}let Ni=(K,b)=>i.t(K,b&&b.filter((I=>I.identifier!=="source.canvas"))),Oa=i.aw();class xi extends i.E{constructor(b,I={}){super(),this._rtlPluginLoaded=()=>{for(let G in this.sourceCaches){let H=this.sourceCaches[G].getSource().type;H!=="vector"&&H!=="geojson"||this.sourceCaches[G].reload()}},this.map=b,this.dispatcher=new ce(fe(),b._getMapId()),this.dispatcher.registerMessageHandler("GG",((G,H)=>this.getGlyphs(G,H))),this.dispatcher.registerMessageHandler("GI",((G,H)=>this.getImages(G,H))),this.imageManager=new A,this.imageManager.setEventedParent(this),this.glyphManager=new q(b._requestManager,I.localIdeographFontFamily),this.lineAtlas=new X(256,512),this.crossTileSymbolIndex=new rl,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new i.ax,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast("SR",i.ay()),tt().on(Ue,this._rtlPluginLoaded),this.on("data",(G=>{if(G.dataType!=="source"||G.sourceDataType!=="metadata")return;let H=this.sourceCaches[G.sourceId];if(!H)return;let $=H.getSource();if($&&$.vectorLayerIds)for(let xe in this._layers){let ke=this._layers[xe];ke.source===$.id&&this._validateLayer(ke)}}))}loadURL(b,I={},G){this.fire(new i.k("dataloading",{dataType:"style"})),I.validate=typeof I.validate!="boolean"||I.validate;let H=this.map._requestManager.transformRequest(b,"Style");this._loadStyleRequest=new AbortController;let $=this._loadStyleRequest;i.h(H,this._loadStyleRequest).then((xe=>{this._loadStyleRequest=null,this._load(xe.data,I,G)})).catch((xe=>{this._loadStyleRequest=null,xe&&!$.signal.aborted&&this.fire(new i.j(xe))}))}loadJSON(b,I={},G){this.fire(new i.k("dataloading",{dataType:"style"})),this._frameRequest=new AbortController,u.frameAsync(this._frameRequest).then((()=>{this._frameRequest=null,I.validate=I.validate!==!1,this._load(b,I,G)})).catch((()=>{}))}loadEmpty(){this.fire(new i.k("dataloading",{dataType:"style"})),this._load(Oa,{validate:!1})}_load(b,I,G){var H;let $=I.transformStyle?I.transformStyle(G,b):b;if(!I.validate||!Ni(this,i.u($))){this._loaded=!0,this.stylesheet=$;for(let xe in $.sources)this.addSource(xe,$.sources[xe],{validate:!1});$.sprite?this._loadSprite($.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL($.glyphs),this._createLayers(),this.light=new R(this.stylesheet.light),this.sky=new Y(this.stylesheet.sky),this.map.setTerrain((H=this.stylesheet.terrain)!==null&&H!==void 0?H:null),this.fire(new i.k("data",{dataType:"style"})),this.fire(new i.k("style.load"))}}_createLayers(){let b=i.az(this.stylesheet.layers);this.dispatcher.broadcast("SL",b),this._order=b.map((I=>I.id)),this._layers={},this._serializedLayers=null;for(let I of b){let G=i.aA(I);G.setEventedParent(this,{layer:{id:I.id}}),this._layers[I.id]=G}}_loadSprite(b,I=!1,G=void 0){let H;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,(function($,xe,ke,Ne){return i._(this,void 0,void 0,(function*(){let et=S($),bt=ke>1?"@2x":"",Tt={},zt={};for(let{id:Yt,url:Q}of et){let ae=xe.transformRequest(T(Q,bt,".json"),"SpriteJSON");Tt[Yt]=i.h(ae,Ne);let ve=xe.transformRequest(T(Q,bt,".png"),"SpriteImage");zt[Yt]=g.getImage(ve,Ne)}return yield Promise.all([...Object.values(Tt),...Object.values(zt)]),(function(Yt,Q){return i._(this,void 0,void 0,(function*(){let ae={};for(let ve in Yt){ae[ve]={};let be=u.getImageCanvasContext((yield Q[ve]).data),De=(yield Yt[ve]).data;for(let Se in De){let{width:Be,height:ut,x:gt,y:Mt,sdf:Ft,pixelRatio:Ot,stretchX:er,stretchY:sr,content:wr,textFitWidth:Gr,textFitHeight:pn}=De[Se];ae[ve][Se]={data:null,pixelRatio:Ot,sdf:Ft,stretchX:er,stretchY:sr,content:wr,textFitWidth:Gr,textFitHeight:pn,spriteData:{width:Be,height:ut,x:gt,y:Mt,context:be}}}}return ae}))})(Tt,zt)}))})(b,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then(($=>{if(this._spriteRequest=null,$)for(let xe in $){this._spritesImagesIds[xe]=[];let ke=this._spritesImagesIds[xe]?this._spritesImagesIds[xe].filter((Ne=>!(Ne in $))):[];for(let Ne of ke)this.imageManager.removeImage(Ne),this._changedImages[Ne]=!0;for(let Ne in $[xe]){let et=xe==="default"?Ne:`${xe}:${Ne}`;this._spritesImagesIds[xe].push(et),et in this.imageManager.images?this.imageManager.updateImage(et,$[xe][Ne],!1):this.imageManager.addImage(et,$[xe][Ne]),I&&(this._changedImages[et]=!0)}}})).catch(($=>{this._spriteRequest=null,H=$,this.fire(new i.j(H))})).finally((()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),I&&(this._changed=!0),this.dispatcher.broadcast("SI",this._availableImages),this.fire(new i.k("data",{dataType:"style"})),G&&G(H)}))}_unloadSprite(){for(let b of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(b),this._changedImages[b]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new i.k("data",{dataType:"style"}))}_validateLayer(b){let I=this.sourceCaches[b.source];if(!I)return;let G=b.sourceLayer;if(!G)return;let H=I.getSource();(H.type==="geojson"||H.vectorLayerIds&&H.vectorLayerIds.indexOf(G)===-1)&&this.fire(new i.j(new Error(`Source layer "${G}" does not exist on source "${H.id}" as specified by style layer "${b.id}".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let b in this.sourceCaches)if(!this.sourceCaches[b].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(b,I=!1){let G=this._serializedAllLayers();if(!b||b.length===0)return Object.values(I?i.aB(G):G);let H=[];for(let $ of b)if(G[$]){let xe=I?i.aB(G[$]):G[$];H.push(xe)}return H}_serializedAllLayers(){let b=this._serializedLayers;if(b)return b;b=this._serializedLayers={};let I=Object.keys(this._layers);for(let G of I){let H=this._layers[G];H.type!=="custom"&&(b[G]=H.serialize())}return b}hasTransitions(){if(this.light&&this.light.hasTransition()||this.sky&&this.sky.hasTransition())return!0;for(let b in this.sourceCaches)if(this.sourceCaches[b].hasTransition())return!0;for(let b in this._layers)if(this._layers[b].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading.")}update(b){if(!this._loaded)return;let I=this._changed;if(I){let H=Object.keys(this._updatedLayers),$=Object.keys(this._removedLayers);(H.length||$.length)&&this._updateWorkerLayers(H,$);for(let xe in this._updatedSources){let ke=this._updatedSources[xe];if(ke==="reload")this._reloadSource(xe);else{if(ke!=="clear")throw new Error(`Invalid action ${ke}`);this._clearSource(xe)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let xe in this._updatedPaintProps)this._layers[xe].updateTransitions(b);this.light.updateTransitions(b),this.sky.updateTransitions(b),this._resetUpdates()}let G={};for(let H in this.sourceCaches){let $=this.sourceCaches[H];G[H]=$.used,$.used=!1}for(let H of this._order){let $=this._layers[H];$.recalculate(b,this._availableImages),!$.isHidden(b.zoom)&&$.source&&(this.sourceCaches[$.source].used=!0)}for(let H in G){let $=this.sourceCaches[H];!!G[H]!=!!$.used&&$.fire(new i.k("data",{sourceDataType:"visibility",dataType:"source",sourceId:H}))}this.light.recalculate(b),this.sky.recalculate(b),this.z=b.zoom,I&&this.fire(new i.k("data",{dataType:"style"}))}_updateTilesForChangedImages(){let b=Object.keys(this._changedImages);if(b.length){for(let I in this.sourceCaches)this.sourceCaches[I].reloadTilesForDependencies(["icons","patterns"],b);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let b in this.sourceCaches)this.sourceCaches[b].reloadTilesForDependencies(["glyphs"],[""]);this._glyphsDidChange=!1}}_updateWorkerLayers(b,I){this.dispatcher.broadcast("UL",{layers:this._serializeByIds(b,!1),removedIds:I})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(b,I={}){var G;this._checkLoaded();let H=this.serialize();if(b=I.transformStyle?I.transformStyle(H,b):b,((G=I.validate)===null||G===void 0||G)&&Ni(this,i.u(b)))return!1;(b=i.aB(b)).layers=i.az(b.layers);let $=i.aC(H,b),xe=this._getOperationsToPerform($);if(xe.unimplemented.length>0)throw new Error(`Unimplemented: ${xe.unimplemented.join(", ")}.`);if(xe.operations.length===0)return!1;for(let ke of xe.operations)ke();return this.stylesheet=b,this._serializedLayers=null,!0}_getOperationsToPerform(b){let I=[],G=[];for(let H of b)switch(H.command){case"setCenter":case"setZoom":case"setBearing":case"setPitch":continue;case"addLayer":I.push((()=>this.addLayer.apply(this,H.args)));break;case"removeLayer":I.push((()=>this.removeLayer.apply(this,H.args)));break;case"setPaintProperty":I.push((()=>this.setPaintProperty.apply(this,H.args)));break;case"setLayoutProperty":I.push((()=>this.setLayoutProperty.apply(this,H.args)));break;case"setFilter":I.push((()=>this.setFilter.apply(this,H.args)));break;case"addSource":I.push((()=>this.addSource.apply(this,H.args)));break;case"removeSource":I.push((()=>this.removeSource.apply(this,H.args)));break;case"setLayerZoomRange":I.push((()=>this.setLayerZoomRange.apply(this,H.args)));break;case"setLight":I.push((()=>this.setLight.apply(this,H.args)));break;case"setGeoJSONSourceData":I.push((()=>this.setGeoJSONSourceData.apply(this,H.args)));break;case"setGlyphs":I.push((()=>this.setGlyphs.apply(this,H.args)));break;case"setSprite":I.push((()=>this.setSprite.apply(this,H.args)));break;case"setSky":I.push((()=>this.setSky.apply(this,H.args)));break;case"setTerrain":I.push((()=>this.map.setTerrain.apply(this,H.args)));break;case"setTransition":I.push((()=>{}));break;default:G.push(H.command)}return{operations:I,unimplemented:G}}addImage(b,I){if(this.getImage(b))return this.fire(new i.j(new Error(`An image named "${b}" already exists.`)));this.imageManager.addImage(b,I),this._afterImageUpdated(b)}updateImage(b,I){this.imageManager.updateImage(b,I)}getImage(b){return this.imageManager.getImage(b)}removeImage(b){if(!this.getImage(b))return this.fire(new i.j(new Error(`An image named "${b}" does not exist.`)));this.imageManager.removeImage(b),this._afterImageUpdated(b)}_afterImageUpdated(b){this._availableImages=this.imageManager.listImages(),this._changedImages[b]=!0,this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new i.k("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(b,I,G={}){if(this._checkLoaded(),this.sourceCaches[b]!==void 0)throw new Error(`Source "${b}" already exists.`);if(!I.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(I).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(I.type)>=0&&this._validate(i.u.source,`sources.${b}`,I,null,G))return;this.map&&this.map._collectResourceTiming&&(I.collectResourceTiming=!0);let H=this.sourceCaches[b]=new We(b,I,this.dispatcher);H.style=this,H.setEventedParent(this,(()=>({isSourceLoaded:H.loaded(),source:H.serialize(),sourceId:b}))),H.onAdd(this.map),this._changed=!0}removeSource(b){if(this._checkLoaded(),this.sourceCaches[b]===void 0)throw new Error("There is no source with this ID");for(let G in this._layers)if(this._layers[G].source===b)return this.fire(new i.j(new Error(`Source "${b}" cannot be removed while layer "${G}" is using it.`)));let I=this.sourceCaches[b];delete this.sourceCaches[b],delete this._updatedSources[b],I.fire(new i.k("data",{sourceDataType:"metadata",dataType:"source",sourceId:b})),I.setEventedParent(null),I.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(b,I){if(this._checkLoaded(),this.sourceCaches[b]===void 0)throw new Error(`There is no source with this ID=${b}`);let G=this.sourceCaches[b].getSource();if(G.type!=="geojson")throw new Error(`geojsonSource.type is ${G.type}, which is !== 'geojson`);G.setData(I),this._changed=!0}getSource(b){return this.sourceCaches[b]&&this.sourceCaches[b].getSource()}addLayer(b,I,G={}){this._checkLoaded();let H=b.id;if(this.getLayer(H))return void this.fire(new i.j(new Error(`Layer "${H}" already exists on this map.`)));let $;if(b.type==="custom"){if(Ni(this,i.aD(b)))return;$=i.aA(b)}else{if("source"in b&&typeof b.source=="object"&&(this.addSource(H,b.source),b=i.aB(b),b=i.e(b,{source:H})),this._validate(i.u.layer,`layers.${H}`,b,{arrayIndex:-1},G))return;$=i.aA(b),this._validateLayer($),$.setEventedParent(this,{layer:{id:H}})}let xe=I?this._order.indexOf(I):this._order.length;if(I&&xe===-1)this.fire(new i.j(new Error(`Cannot add layer "${H}" before non-existing layer "${I}".`)));else{if(this._order.splice(xe,0,H),this._layerOrderChanged=!0,this._layers[H]=$,this._removedLayers[H]&&$.source&&$.type!=="custom"){let ke=this._removedLayers[H];delete this._removedLayers[H],ke.type!==$.type?this._updatedSources[$.source]="clear":(this._updatedSources[$.source]="reload",this.sourceCaches[$.source].pause())}this._updateLayer($),$.onAdd&&$.onAdd(this.map)}}moveLayer(b,I){if(this._checkLoaded(),this._changed=!0,!this._layers[b])return void this.fire(new i.j(new Error(`The layer '${b}' does not exist in the map's style and cannot be moved.`)));if(b===I)return;let G=this._order.indexOf(b);this._order.splice(G,1);let H=I?this._order.indexOf(I):this._order.length;I&&H===-1?this.fire(new i.j(new Error(`Cannot move layer "${b}" before non-existing layer "${I}".`))):(this._order.splice(H,0,b),this._layerOrderChanged=!0)}removeLayer(b){this._checkLoaded();let I=this._layers[b];if(!I)return void this.fire(new i.j(new Error(`Cannot remove non-existing layer "${b}".`)));I.setEventedParent(null);let G=this._order.indexOf(b);this._order.splice(G,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[b]=I,delete this._layers[b],this._serializedLayers&&delete this._serializedLayers[b],delete this._updatedLayers[b],delete this._updatedPaintProps[b],I.onRemove&&I.onRemove(this.map)}getLayer(b){return this._layers[b]}getLayersOrder(){return[...this._order]}hasLayer(b){return b in this._layers}setLayerZoomRange(b,I,G){this._checkLoaded();let H=this.getLayer(b);H?H.minzoom===I&&H.maxzoom===G||(I!=null&&(H.minzoom=I),G!=null&&(H.maxzoom=G),this._updateLayer(H)):this.fire(new i.j(new Error(`Cannot set the zoom range of non-existing layer "${b}".`)))}setFilter(b,I,G={}){this._checkLoaded();let H=this.getLayer(b);if(H){if(!i.aE(H.filter,I))return I==null?(H.filter=void 0,void this._updateLayer(H)):void(this._validate(i.u.filter,`layers.${H.id}.filter`,I,null,G)||(H.filter=i.aB(I),this._updateLayer(H)))}else this.fire(new i.j(new Error(`Cannot filter non-existing layer "${b}".`)))}getFilter(b){return i.aB(this.getLayer(b).filter)}setLayoutProperty(b,I,G,H={}){this._checkLoaded();let $=this.getLayer(b);$?i.aE($.getLayoutProperty(I),G)||($.setLayoutProperty(I,G,H),this._updateLayer($)):this.fire(new i.j(new Error(`Cannot style non-existing layer "${b}".`)))}getLayoutProperty(b,I){let G=this.getLayer(b);if(G)return G.getLayoutProperty(I);this.fire(new i.j(new Error(`Cannot get style of non-existing layer "${b}".`)))}setPaintProperty(b,I,G,H={}){this._checkLoaded();let $=this.getLayer(b);$?i.aE($.getPaintProperty(I),G)||($.setPaintProperty(I,G,H)&&this._updateLayer($),this._changed=!0,this._updatedPaintProps[b]=!0,this._serializedLayers=null):this.fire(new i.j(new Error(`Cannot style non-existing layer "${b}".`)))}getPaintProperty(b,I){return this.getLayer(b).getPaintProperty(I)}setFeatureState(b,I){this._checkLoaded();let G=b.source,H=b.sourceLayer,$=this.sourceCaches[G];if($===void 0)return void this.fire(new i.j(new Error(`The source '${G}' does not exist in the map's style.`)));let xe=$.getSource().type;xe==="geojson"&&H?this.fire(new i.j(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):xe!=="vector"||H?(b.id===void 0&&this.fire(new i.j(new Error("The feature id parameter must be provided."))),$.setFeatureState(H,b.id,I)):this.fire(new i.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(b,I){this._checkLoaded();let G=b.source,H=this.sourceCaches[G];if(H===void 0)return void this.fire(new i.j(new Error(`The source '${G}' does not exist in the map's style.`)));let $=H.getSource().type,xe=$==="vector"?b.sourceLayer:void 0;$!=="vector"||xe?I&&typeof b.id!="string"&&typeof b.id!="number"?this.fire(new i.j(new Error("A feature id is required to remove its specific state property."))):H.removeFeatureState(xe,b.id,I):this.fire(new i.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(b){this._checkLoaded();let I=b.source,G=b.sourceLayer,H=this.sourceCaches[I];if(H!==void 0)return H.getSource().type!=="vector"||G?(b.id===void 0&&this.fire(new i.j(new Error("The feature id parameter must be provided."))),H.getFeatureState(G,b.id)):void this.fire(new i.j(new Error("The sourceLayer parameter must be provided for vector source types.")));this.fire(new i.j(new Error(`The source '${I}' does not exist in the map's style.`)))}getTransition(){return i.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;let b=i.aF(this.sourceCaches,($=>$.serialize())),I=this._serializeByIds(this._order,!0),G=this.map.getTerrain()||void 0,H=this.stylesheet;return i.aG({version:H.version,name:H.name,metadata:H.metadata,light:H.light,sky:H.sky,center:H.center,zoom:H.zoom,bearing:H.bearing,pitch:H.pitch,sprite:H.sprite,glyphs:H.glyphs,transition:H.transition,sources:b,layers:I,terrain:G},($=>$!==void 0))}_updateLayer(b){this._updatedLayers[b.id]=!0,b.source&&!this._updatedSources[b.source]&&this.sourceCaches[b.source].getSource().type!=="raster"&&(this._updatedSources[b.source]="reload",this.sourceCaches[b.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(b){let I=xe=>this._layers[xe].type==="fill-extrusion",G={},H=[];for(let xe=this._order.length-1;xe>=0;xe--){let ke=this._order[xe];if(I(ke)){G[ke]=xe;for(let Ne of b){let et=Ne[ke];if(et)for(let bt of et)H.push(bt)}}}H.sort(((xe,ke)=>ke.intersectionZ-xe.intersectionZ));let $=[];for(let xe=this._order.length-1;xe>=0;xe--){let ke=this._order[xe];if(I(ke))for(let Ne=H.length-1;Ne>=0;Ne--){let et=H[Ne].feature;if(G[et.layer.id]{let Ft=be.featureSortOrder;if(Ft){let Ot=Ft.indexOf(gt.featureIndex);return Ft.indexOf(Mt.featureIndex)-Ot}return Mt.featureIndex-gt.featureIndex}));for(let gt of ut)Be.push(gt)}}for(let be in Q)Q[be].forEach((De=>{let Se=De.feature,Be=et[ke[be].source].getFeatureState(Se.layer["source-layer"],Se.id);Se.source=Se.layer.source,Se.layer["source-layer"]&&(Se.sourceLayer=Se.layer["source-layer"]),Se.state=Be}));return Q})(this._layers,xe,this.sourceCaches,b,I,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures($)}querySourceFeatures(b,I){I&&I.filter&&this._validate(i.u.filter,"querySourceFeatures.filter",I.filter,null,I);let G=this.sourceCaches[b];return G?(function(H,$){let xe=H.getRenderableIds().map((et=>H.getTileByID(et))),ke=[],Ne={};for(let et=0;etzt.getTileByID(Yt))).sort(((Yt,Q)=>Q.tileID.overscaledZ-Yt.tileID.overscaledZ||(Yt.tileID.isLessThan(Q.tileID)?-1:1)))}let Tt=this.crossTileSymbolIndex.addLayer(bt,Ne[bt.source],b.center.lng);xe=xe||Tt}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),(($=$||this._layerOrderChanged||G===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(u.now(),b.zoom))&&(this.pauseablePlacement=new Xo(b,this.map.terrain,this._order,$,I,G,H,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,Ne),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(u.now()),ke=!0),xe&&this.pauseablePlacement.placement.setStale()),ke||xe)for(let et of this._order){let bt=this._layers[et];bt.type==="symbol"&&this.placement.updateLayerOpacities(bt,Ne[bt.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(u.now())}_releaseSymbolFadeTiles(){for(let b in this.sourceCaches)this.sourceCaches[b].releaseSymbolFadeTiles()}getImages(b,I){return i._(this,void 0,void 0,(function*(){let G=yield this.imageManager.getImages(I.icons);this._updateTilesForChangedImages();let H=this.sourceCaches[I.source];return H&&H.setDependencies(I.tileID.key,I.type,I.icons),G}))}getGlyphs(b,I){return i._(this,void 0,void 0,(function*(){let G=yield this.glyphManager.getGlyphs(I.stacks),H=this.sourceCaches[I.source];return H&&H.setDependencies(I.tileID.key,I.type,[""]),G}))}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(b,I={}){this._checkLoaded(),b&&this._validate(i.u.glyphs,"glyphs",b,null,I)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=b,this.glyphManager.entries={},this.glyphManager.setURL(b))}addSprite(b,I,G={},H){this._checkLoaded();let $=[{id:b,url:I}],xe=[...S(this.stylesheet.sprite),...$];this._validate(i.u.sprite,"sprite",xe,null,G)||(this.stylesheet.sprite=xe,this._loadSprite($,!0,H))}removeSprite(b){this._checkLoaded();let I=S(this.stylesheet.sprite);if(I.find((G=>G.id===b))){if(this._spritesImagesIds[b])for(let G of this._spritesImagesIds[b])this.imageManager.removeImage(G),this._changedImages[G]=!0;I.splice(I.findIndex((G=>G.id===b)),1),this.stylesheet.sprite=I.length>0?I:void 0,delete this._spritesImagesIds[b],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new i.k("data",{dataType:"style"}))}else this.fire(new i.j(new Error(`Sprite "${b}" doesn't exists on this map.`)))}getSprite(){return S(this.stylesheet.sprite)}setSprite(b,I={},G){this._checkLoaded(),b&&this._validate(i.u.sprite,"sprite",b,null,I)||(this.stylesheet.sprite=b,b?this._loadSprite(b,!0,G):(this._unloadSprite(),G&&G(null)))}}var Pi=i.Y([{name:"a_pos",type:"Int16",components:2}]);let ia={prelude:rt(`#ifdef GL_ES precision mediump float; #else #if !defined(lowp) @@ -3280,15 +2779,15 @@ vec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=frac #else return 0.0; #endif -}`),background:Ct(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity; +}`),background:rt(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity; #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(1.0); #endif -}`,"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),backgroundPattern:Ct(`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; +}`,"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),backgroundPattern:rt(`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; #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(1.0); #endif -}`,"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:Ct(`varying vec3 v_data;varying float v_visibility; +}`,"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:rt(`varying vec3 v_data;varying float v_visibility; #pragma mapbox: define highp vec4 color #pragma mapbox: define mediump float radius #pragma mapbox: define lowp float blur @@ -3324,7 +2823,7 @@ void main(void) { #pragma mapbox: initialize highp vec4 stroke_color #pragma mapbox: initialize mediump float stroke_width #pragma mapbox: initialize lowp float stroke_opacity -vec2 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:Ct("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:Ct(`uniform highp float u_intensity;varying vec2 v_extrude; +vec2 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:rt("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:rt(`uniform highp float u_intensity;varying vec2 v_extrude; #pragma mapbox: define highp float weight #define GAUSS_COEF 0.3989422804014327 void main() { @@ -3341,11 +2840,11 @@ const highp float ZERO=1.0/255.0/16.0; void main(void) { #pragma mapbox: initialize highp float weight #pragma mapbox: initialize mediump float radius -vec2 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:Ct(`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; +vec2 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:rt(`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; #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(0.0); #endif -}`,"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:Ct("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:Ct("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:Ct("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:Ct(`#pragma mapbox: define highp vec4 color +}`,"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:rt("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:rt("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:rt("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:rt(`#pragma mapbox: define highp vec4 color #pragma mapbox: define lowp float opacity void main() { #pragma mapbox: initialize highp vec4 color @@ -3360,7 +2859,7 @@ gl_FragColor=vec4(1.0); void main() { #pragma mapbox: initialize highp vec4 color #pragma mapbox: initialize lowp float opacity -gl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:Ct(`varying vec2 v_pos; +gl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:rt(`varying vec2 v_pos; #pragma mapbox: define highp vec4 outline_color #pragma mapbox: define lowp float opacity void main() { @@ -3376,7 +2875,7 @@ gl_FragColor=vec4(1.0); void main() { #pragma mapbox: initialize highp vec4 outline_color #pragma mapbox: initialize lowp float opacity -gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillOutlinePattern:Ct(`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; +gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillOutlinePattern:rt(`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; #pragma mapbox: define lowp float opacity #pragma mapbox: define lowp vec4 pattern_from #pragma mapbox: define lowp vec4 pattern_to @@ -3400,7 +2899,7 @@ void main() { #pragma mapbox: initialize mediump vec4 pattern_to #pragma mapbox: initialize lowp float pixel_ratio_from #pragma mapbox: initialize lowp float pixel_ratio_to -vec2 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:Ct(`#ifdef GL_ES +vec2 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:rt(`#ifdef GL_ES precision highp float; #endif uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b; @@ -3427,7 +2926,7 @@ void main() { #pragma mapbox: initialize mediump vec4 pattern_to #pragma mapbox: initialize lowp float pixel_ratio_from #pragma mapbox: initialize lowp float pixel_ratio_to -vec2 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:Ct(`varying vec4 v_color;void main() {gl_FragColor=v_color; +vec2 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:rt(`varying vec4 v_color;void main() {gl_FragColor=v_color; #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(1.0); #endif @@ -3449,7 +2948,7 @@ float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_off #else float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0; #endif -base=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:Ct(`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; +base=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:rt(`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; #pragma mapbox: define lowp float base #pragma mapbox: define lowp float height #pragma mapbox: define lowp vec4 pattern_from @@ -3493,20 +2992,20 @@ float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0; #endif base=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 ? a_pos -: 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:Ct(`#ifdef GL_ES +: 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:rt(`#ifdef GL_ES precision highp float; #endif uniform 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); #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(1.0); #endif -}`,"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:Ct(`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; +}`,"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:rt(`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; #define PI 3.141592653589793 void 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; #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(1.0); #endif -}`,"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:Ct(`uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale; +}`,"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:rt(`uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale; #pragma mapbox: define highp vec4 color #pragma mapbox: define lowp float blur #pragma mapbox: define lowp float opacity @@ -3540,7 +3039,7 @@ v_gamma_scale=1.0; #else 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; #endif -v_width2=vec2(outset,inset);}`),lineGradient:Ct(`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; +v_width2=vec2(outset,inset);}`),lineGradient:rt(`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; #pragma mapbox: define lowp float blur #pragma mapbox: define lowp float opacity void main() { @@ -3570,7 +3069,7 @@ v_gamma_scale=1.0; #else 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; #endif -v_width2=vec2(outset,inset);}`),linePattern:Ct(`#ifdef GL_ES +v_width2=vec2(outset,inset);}`),linePattern:rt(`#ifdef GL_ES precision highp float; #endif 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; @@ -3622,7 +3121,7 @@ v_gamma_scale=1.0; #else 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; #endif -v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:Ct(`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; +v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:rt(`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; #pragma mapbox: define highp vec4 color #pragma mapbox: define lowp float blur #pragma mapbox: define lowp float opacity @@ -3663,11 +3162,11 @@ v_gamma_scale=1.0; #else 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; #endif -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);}`),raster:Ct(`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); +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);}`),raster:rt(`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); #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(1.0); #endif -}`,"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:Ct(`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity; +}`,"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:rt(`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity; #pragma mapbox: define lowp float opacity void main() { #pragma mapbox: initialize lowp float opacity @@ -3681,7 +3180,7 @@ void main() { #pragma mapbox: initialize lowp float opacity vec2 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 ? camera_to_anchor_distance/u_camera_to_center_distance : -u_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:Ct(`#define SDF_PX 8.0 +u_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:rt(`#define SDF_PX 8.0 uniform 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; #pragma mapbox: define highp vec4 fill_color #pragma mapbox: define highp vec4 halo_color @@ -3712,7 +3211,7 @@ void main() { #pragma mapbox: initialize lowp float halo_blur vec2 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 ? camera_to_anchor_distance/u_camera_to_center_distance : -u_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:Ct(`#define SDF_PX 8.0 +u_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:rt(`#define SDF_PX 8.0 #define SDF 1.0 #define ICON 0.0 uniform 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; @@ -3749,58 +3248,58 @@ void main() { #pragma mapbox: initialize lowp float halo_blur vec2 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 ? camera_to_anchor_distance/u_camera_to_center_distance : -u_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:Ct("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:Ct("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:Ct("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:Ct("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 Ct(ue,w){let B=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,Q=w.match(/attribute ([\w]+) ([\w]+)/g),ee=ue.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),le=w.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),Fe=le?le.concat(ee):ee,Ze={};return{fragmentSource:ue=ue.replace(B,(ut,Mt,Jt,$t,yr)=>(Ze[yr]=!0,Mt==="define"?` -#ifndef HAS_UNIFORM_u_${yr} -varying ${Jt} ${$t} ${yr}; +u_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:rt("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:rt("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:rt("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:rt("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 rt(K,b){let I=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,G=b.match(/attribute ([\w]+) ([\w]+)/g),H=K.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),$=b.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),xe=$?$.concat(H):H,ke={};return{fragmentSource:K=K.replace(I,((Ne,et,bt,Tt,zt)=>(ke[zt]=!0,et==="define"?` +#ifndef HAS_UNIFORM_u_${zt} +varying ${bt} ${Tt} ${zt}; #else -uniform ${Jt} ${$t} u_${yr}; +uniform ${bt} ${Tt} u_${zt}; #endif `:` -#ifdef HAS_UNIFORM_u_${yr} - ${Jt} ${$t} ${yr} = u_${yr}; -#endif -`)),vertexSource:w=w.replace(B,(ut,Mt,Jt,$t,yr)=>{let Cr=$t==="float"?"vec2":"vec4",ve=yr.match(/color/)?"color":Cr;return Ze[yr]?Mt==="define"?` -#ifndef HAS_UNIFORM_u_${yr} -uniform lowp float u_${yr}_t; -attribute ${Jt} ${Cr} a_${yr}; -varying ${Jt} ${$t} ${yr}; +#ifdef HAS_UNIFORM_u_${zt} + ${bt} ${Tt} ${zt} = u_${zt}; +#endif +`))),vertexSource:b=b.replace(I,((Ne,et,bt,Tt,zt)=>{let Yt=Tt==="float"?"vec2":"vec4",Q=zt.match(/color/)?"color":Yt;return ke[zt]?et==="define"?` +#ifndef HAS_UNIFORM_u_${zt} +uniform lowp float u_${zt}_t; +attribute ${bt} ${Yt} a_${zt}; +varying ${bt} ${Tt} ${zt}; #else -uniform ${Jt} ${$t} u_${yr}; +uniform ${bt} ${Tt} u_${zt}; #endif -`:ve==="vec4"?` -#ifndef HAS_UNIFORM_u_${yr} - ${yr} = a_${yr}; +`:Q==="vec4"?` +#ifndef HAS_UNIFORM_u_${zt} + ${zt} = a_${zt}; #else - ${Jt} ${$t} ${yr} = u_${yr}; + ${bt} ${Tt} ${zt} = u_${zt}; #endif `:` -#ifndef HAS_UNIFORM_u_${yr} - ${yr} = unpack_mix_${ve}(a_${yr}, u_${yr}_t); +#ifndef HAS_UNIFORM_u_${zt} + ${zt} = unpack_mix_${Q}(a_${zt}, u_${zt}_t); #else - ${Jt} ${$t} ${yr} = u_${yr}; + ${bt} ${Tt} ${zt} = u_${zt}; #endif -`:Mt==="define"?` -#ifndef HAS_UNIFORM_u_${yr} -uniform lowp float u_${yr}_t; -attribute ${Jt} ${Cr} a_${yr}; +`:et==="define"?` +#ifndef HAS_UNIFORM_u_${zt} +uniform lowp float u_${zt}_t; +attribute ${bt} ${Yt} a_${zt}; #else -uniform ${Jt} ${$t} u_${yr}; +uniform ${bt} ${Tt} u_${zt}; #endif -`:ve==="vec4"?` -#ifndef HAS_UNIFORM_u_${yr} - ${Jt} ${$t} ${yr} = a_${yr}; +`:Q==="vec4"?` +#ifndef HAS_UNIFORM_u_${zt} + ${bt} ${Tt} ${zt} = a_${zt}; #else - ${Jt} ${$t} ${yr} = u_${yr}; + ${bt} ${Tt} ${zt} = u_${zt}; #endif `:` -#ifndef HAS_UNIFORM_u_${yr} - ${Jt} ${$t} ${yr} = unpack_mix_${ve}(a_${yr}, u_${yr}_t); +#ifndef HAS_UNIFORM_u_${zt} + ${bt} ${Tt} ${zt} = unpack_mix_${Q}(a_${zt}, u_${zt}_t); #else - ${Jt} ${$t} ${yr} = u_${yr}; + ${bt} ${Tt} ${zt} = u_${zt}; #endif -`}),staticAttributes:Q,staticUniforms:Fe}}class Sr{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(w,B,Q,ee,le,Fe,Ze,ut,Mt){this.context=w;let Jt=this.boundPaintVertexBuffers.length!==ee.length;for(let $t=0;!Jt&&$t({u_matrix:ue,u_texture:0,u_ele_delta:w,u_fog_matrix:B,u_fog_color:Q?Q.properties.get("fog-color"):a.aM.white,u_fog_ground_blend:Q?Q.properties.get("fog-ground-blend"):1,u_fog_ground_blend_opacity:Q?Q.calculateFogBlendOpacity(ee):0,u_horizon_color:Q?Q.properties.get("horizon-color"):a.aM.white,u_horizon_fog_blend:Q?Q.properties.get("horizon-fog-blend"):1});function hi(ue){let w=[];for(let B=0;B({u_depth:new a.aH(Wt,nr.u_depth),u_terrain:new a.aH(Wt,nr.u_terrain),u_terrain_dim:new a.aI(Wt,nr.u_terrain_dim),u_terrain_matrix:new a.aJ(Wt,nr.u_terrain_matrix),u_terrain_unpack:new a.aK(Wt,nr.u_terrain_unpack),u_terrain_exaggeration:new a.aI(Wt,nr.u_terrain_exaggeration)}))(w,qt),this.binderUniforms=Q?Q.getUniforms(w,qt):[]}draw(w,B,Q,ee,le,Fe,Ze,ut,Mt,Jt,$t,yr,Cr,ve,xe,Ie,ze,Qe){let Xe=w.gl;if(this.failedToCreate)return;if(w.program.set(this.program),w.setDepthMode(Q),w.setStencilMode(ee),w.setColorMode(le),w.setCullFace(Fe),ut){w.activeTexture.set(Xe.TEXTURE2),Xe.bindTexture(Xe.TEXTURE_2D,ut.depthTexture),w.activeTexture.set(Xe.TEXTURE3),Xe.bindTexture(Xe.TEXTURE_2D,ut.texture);for(let qt in this.terrainUniforms)this.terrainUniforms[qt].set(ut[qt])}for(let qt in this.fixedUniforms)this.fixedUniforms[qt].set(Ze[qt]);xe&&xe.setUniforms(w,this.binderUniforms,Cr,{zoom:ve});let nt=0;switch(B){case Xe.LINES:nt=2;break;case Xe.TRIANGLES:nt=3;break;case Xe.LINE_STRIP:nt=1}for(let qt of yr.get()){let Wt=qt.vaos||(qt.vaos={});(Wt[Mt]||(Wt[Mt]=new Sr)).bind(w,this,Jt,xe?xe.getPaintVertexBuffers():[],$t,qt.vertexOffset,Ie,ze,Qe),Xe.drawElements(B,qt.primitiveLength*nt,Xe.UNSIGNED_SHORT,qt.primitiveOffset*nt*2)}}}function Sn(ue,w,B){let Q=1/Fn(B,1,w.transform.tileZoom),ee=Math.pow(2,B.tileID.overscaledZ),le=B.tileSize*Math.pow(2,w.transform.tileZoom)/ee,Fe=le*(B.tileID.canonical.x+B.tileID.wrap*ee),Ze=le*B.tileID.canonical.y;return{u_image:0,u_texsize:B.imageAtlasTexture.size,u_scale:[Q,ue.fromScale,ue.toScale],u_fade:ue.t,u_pixel_coord_upper:[Fe>>16,Ze>>16],u_pixel_coord_lower:[65535&Fe,65535&Ze]}}let En=(ue,w,B,Q)=>{let ee=w.style.light,le=ee.properties.get("position"),Fe=[le.x,le.y,le.z],Ze=function(){var Mt=new a.A(9);return a.A!=Float32Array&&(Mt[1]=0,Mt[2]=0,Mt[3]=0,Mt[5]=0,Mt[6]=0,Mt[7]=0),Mt[0]=1,Mt[4]=1,Mt[8]=1,Mt}();ee.properties.get("anchor")==="viewport"&&function(Mt,Jt){var $t=Math.sin(Jt),yr=Math.cos(Jt);Mt[0]=yr,Mt[1]=$t,Mt[2]=0,Mt[3]=-$t,Mt[4]=yr,Mt[5]=0,Mt[6]=0,Mt[7]=0,Mt[8]=1}(Ze,-w.transform.angle),function(Mt,Jt,$t){var yr=Jt[0],Cr=Jt[1],ve=Jt[2];Mt[0]=yr*$t[0]+Cr*$t[3]+ve*$t[6],Mt[1]=yr*$t[1]+Cr*$t[4]+ve*$t[7],Mt[2]=yr*$t[2]+Cr*$t[5]+ve*$t[8]}(Fe,Fe,Ze);let ut=ee.properties.get("color");return{u_matrix:ue,u_lightpos:Fe,u_lightintensity:ee.properties.get("intensity"),u_lightcolor:[ut.r,ut.g,ut.b],u_vertical_gradient:+B,u_opacity:Q}},ki=(ue,w,B,Q,ee,le,Fe)=>a.e(En(ue,w,B,Q),Sn(le,w,Fe),{u_height_factor:-Math.pow(2,ee.overscaledZ)/Fe.tileSize/8}),_n=ue=>({u_matrix:ue}),ya=(ue,w,B,Q)=>a.e(_n(ue),Sn(B,w,Q)),ea=(ue,w)=>({u_matrix:ue,u_world:w}),Ma=(ue,w,B,Q,ee)=>a.e(ya(ue,w,B,Q),{u_world:ee}),_o=(ue,w,B,Q)=>{let ee=ue.transform,le,Fe;if(Q.paint.get("circle-pitch-alignment")==="map"){let Ze=Fn(B,1,ee.zoom);le=!0,Fe=[Ze,Ze]}else le=!1,Fe=ee.pixelsToGLUnits;return{u_camera_to_center_distance:ee.cameraToCenterDistance,u_scale_with_map:+(Q.paint.get("circle-pitch-scale")==="map"),u_matrix:ue.translatePosMatrix(w.posMatrix,B,Q.paint.get("circle-translate"),Q.paint.get("circle-translate-anchor")),u_pitch_with_map:+le,u_device_pixel_ratio:ue.pixelRatio,u_extrude_scale:Fe}},No=(ue,w,B)=>({u_matrix:ue,u_inv_matrix:w,u_camera_to_center_distance:B.cameraToCenterDistance,u_viewport_size:[B.width,B.height]}),po=(ue,w,B=1)=>({u_matrix:ue,u_color:w,u_overlay:0,u_overlay_scale:B}),Lo=ue=>({u_matrix:ue}),ko=(ue,w,B,Q)=>({u_matrix:ue,u_extrude_scale:Fn(w,1,B),u_intensity:Q}),Ds=(ue,w,B,Q)=>{let ee=a.H();a.aP(ee,0,ue.width,ue.height,0,0,1);let le=ue.context.gl;return{u_matrix:ee,u_world:[le.drawingBufferWidth,le.drawingBufferHeight],u_image:B,u_color_ramp:Q,u_opacity:w.paint.get("heatmap-opacity")}};function Fs(ue,w){let B=Math.pow(2,w.canonical.z),Q=w.canonical.y;return[new a.Z(0,Q/B).toLngLat().lat,new a.Z(0,(Q+1)/B).toLngLat().lat]}let ll=(ue,w,B,Q)=>{let ee=ue.transform;return{u_matrix:As(ue,w,B,Q),u_ratio:1/Fn(w,1,ee.zoom),u_device_pixel_ratio:ue.pixelRatio,u_units_to_pixels:[1/ee.pixelsToGLUnits[0],1/ee.pixelsToGLUnits[1]]}},ul=(ue,w,B,Q,ee)=>a.e(ll(ue,w,B,ee),{u_image:0,u_image_height:Q}),zl=(ue,w,B,Q,ee)=>{let le=ue.transform,Fe=il(w,le);return{u_matrix:As(ue,w,B,ee),u_texsize:w.imageAtlasTexture.size,u_ratio:1/Fn(w,1,le.zoom),u_device_pixel_ratio:ue.pixelRatio,u_image:0,u_scale:[Fe,Q.fromScale,Q.toScale],u_fade:Q.t,u_units_to_pixels:[1/le.pixelsToGLUnits[0],1/le.pixelsToGLUnits[1]]}},us=(ue,w,B,Q,ee,le)=>{let Fe=ue.lineAtlas,Ze=il(w,ue.transform),ut=B.layout.get("line-cap")==="round",Mt=Fe.getDash(Q.from,ut),Jt=Fe.getDash(Q.to,ut),$t=Mt.width*ee.fromScale,yr=Jt.width*ee.toScale;return a.e(ll(ue,w,B,le),{u_patternscale_a:[Ze/$t,-Mt.height/2],u_patternscale_b:[Ze/yr,-Jt.height/2],u_sdfgamma:Fe.width/(256*Math.min($t,yr)*ue.pixelRatio)/2,u_image:0,u_tex_y_a:Mt.y,u_tex_y_b:Jt.y,u_mix:ee.t})};function il(ue,w){return 1/Fn(ue,1,w.tileZoom)}function As(ue,w,B,Q){return ue.translatePosMatrix(Q?Q.posMatrix:w.tileID.posMatrix,w,B.paint.get("line-translate"),B.paint.get("line-translate-anchor"))}let cl=(ue,w,B,Q,ee)=>{return{u_matrix:ue,u_tl_parent:w,u_scale_parent:B,u_buffer_scale:1,u_fade_t:Q.mix,u_opacity:Q.opacity*ee.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:ee.paint.get("raster-brightness-min"),u_brightness_high:ee.paint.get("raster-brightness-max"),u_saturation_factor:(Fe=ee.paint.get("raster-saturation"),Fe>0?1-1/(1.001-Fe):-Fe),u_contrast_factor:(le=ee.paint.get("raster-contrast"),le>0?1/(1-le):1+le),u_spin_weights:Ks(ee.paint.get("raster-hue-rotate"))};var le,Fe};function Ks(ue){ue*=Math.PI/180;let w=Math.sin(ue),B=Math.cos(ue);return[(2*B+1)/3,(-Math.sqrt(3)*w-B+1)/3,(Math.sqrt(3)*w-B+1)/3]}let zs=(ue,w,B,Q,ee,le,Fe,Ze,ut,Mt,Jt,$t,yr,Cr)=>{let ve=Fe.transform;return{u_is_size_zoom_constant:+(ue==="constant"||ue==="source"),u_is_size_feature_constant:+(ue==="constant"||ue==="camera"),u_size_t:w?w.uSizeT:0,u_size:w?w.uSize:0,u_camera_to_center_distance:ve.cameraToCenterDistance,u_pitch:ve.pitch/360*2*Math.PI,u_rotate_symbol:+B,u_aspect_ratio:ve.width/ve.height,u_fade_change:Fe.options.fadeDuration?Fe.symbolFadeChange:1,u_matrix:Ze,u_label_plane_matrix:ut,u_coord_matrix:Mt,u_is_text:+$t,u_pitch_with_map:+Q,u_is_along_line:ee,u_is_variable_anchor:le,u_texsize:yr,u_texture:0,u_translation:Jt,u_pitched_scale:Cr}},Io=(ue,w,B,Q,ee,le,Fe,Ze,ut,Mt,Jt,$t,yr,Cr,ve)=>{let xe=Fe.transform;return a.e(zs(ue,w,B,Q,ee,le,Fe,Ze,ut,Mt,Jt,$t,yr,ve),{u_gamma_scale:Q?Math.cos(xe._pitch)*xe.cameraToCenterDistance:1,u_device_pixel_ratio:Fe.pixelRatio,u_is_halo:+Cr})},ls=(ue,w,B,Q,ee,le,Fe,Ze,ut,Mt,Jt,$t,yr,Cr)=>a.e(Io(ue,w,B,Q,ee,le,Fe,Ze,ut,Mt,Jt,!0,$t,!0,Cr),{u_texsize_icon:yr,u_texture_icon:1}),Yl=(ue,w,B)=>({u_matrix:ue,u_opacity:w,u_color:B}),Su=(ue,w,B,Q,ee,le)=>a.e(function(Fe,Ze,ut,Mt){let Jt=ut.imageManager.getPattern(Fe.from.toString()),$t=ut.imageManager.getPattern(Fe.to.toString()),{width:yr,height:Cr}=ut.imageManager.getPixelSize(),ve=Math.pow(2,Mt.tileID.overscaledZ),xe=Mt.tileSize*Math.pow(2,ut.transform.tileZoom)/ve,Ie=xe*(Mt.tileID.canonical.x+Mt.tileID.wrap*ve),ze=xe*Mt.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:Jt.tl,u_pattern_br_a:Jt.br,u_pattern_tl_b:$t.tl,u_pattern_br_b:$t.br,u_texsize:[yr,Cr],u_mix:Ze.t,u_pattern_size_a:Jt.displaySize,u_pattern_size_b:$t.displaySize,u_scale_a:Ze.fromScale,u_scale_b:Ze.toScale,u_tile_units_to_pixels:1/Fn(Mt,1,ut.transform.tileZoom),u_pixel_coord_upper:[Ie>>16,ze>>16],u_pixel_coord_lower:[65535&Ie,65535&ze]}}(Q,le,B,ee),{u_matrix:ue,u_opacity:w}),nc={fillExtrusion:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_lightpos:new a.aN(ue,w.u_lightpos),u_lightintensity:new a.aI(ue,w.u_lightintensity),u_lightcolor:new a.aN(ue,w.u_lightcolor),u_vertical_gradient:new a.aI(ue,w.u_vertical_gradient),u_opacity:new a.aI(ue,w.u_opacity)}),fillExtrusionPattern:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_lightpos:new a.aN(ue,w.u_lightpos),u_lightintensity:new a.aI(ue,w.u_lightintensity),u_lightcolor:new a.aN(ue,w.u_lightcolor),u_vertical_gradient:new a.aI(ue,w.u_vertical_gradient),u_height_factor:new a.aI(ue,w.u_height_factor),u_image:new a.aH(ue,w.u_image),u_texsize:new a.aO(ue,w.u_texsize),u_pixel_coord_upper:new a.aO(ue,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(ue,w.u_pixel_coord_lower),u_scale:new a.aN(ue,w.u_scale),u_fade:new a.aI(ue,w.u_fade),u_opacity:new a.aI(ue,w.u_opacity)}),fill:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix)}),fillPattern:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_image:new a.aH(ue,w.u_image),u_texsize:new a.aO(ue,w.u_texsize),u_pixel_coord_upper:new a.aO(ue,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(ue,w.u_pixel_coord_lower),u_scale:new a.aN(ue,w.u_scale),u_fade:new a.aI(ue,w.u_fade)}),fillOutline:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_world:new a.aO(ue,w.u_world)}),fillOutlinePattern:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_world:new a.aO(ue,w.u_world),u_image:new a.aH(ue,w.u_image),u_texsize:new a.aO(ue,w.u_texsize),u_pixel_coord_upper:new a.aO(ue,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(ue,w.u_pixel_coord_lower),u_scale:new a.aN(ue,w.u_scale),u_fade:new a.aI(ue,w.u_fade)}),circle:(ue,w)=>({u_camera_to_center_distance:new a.aI(ue,w.u_camera_to_center_distance),u_scale_with_map:new a.aH(ue,w.u_scale_with_map),u_pitch_with_map:new a.aH(ue,w.u_pitch_with_map),u_extrude_scale:new a.aO(ue,w.u_extrude_scale),u_device_pixel_ratio:new a.aI(ue,w.u_device_pixel_ratio),u_matrix:new a.aJ(ue,w.u_matrix)}),collisionBox:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_pixel_extrude_scale:new a.aO(ue,w.u_pixel_extrude_scale)}),collisionCircle:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_inv_matrix:new a.aJ(ue,w.u_inv_matrix),u_camera_to_center_distance:new a.aI(ue,w.u_camera_to_center_distance),u_viewport_size:new a.aO(ue,w.u_viewport_size)}),debug:(ue,w)=>({u_color:new a.aL(ue,w.u_color),u_matrix:new a.aJ(ue,w.u_matrix),u_overlay:new a.aH(ue,w.u_overlay),u_overlay_scale:new a.aI(ue,w.u_overlay_scale)}),clippingMask:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix)}),heatmap:(ue,w)=>({u_extrude_scale:new a.aI(ue,w.u_extrude_scale),u_intensity:new a.aI(ue,w.u_intensity),u_matrix:new a.aJ(ue,w.u_matrix)}),heatmapTexture:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_world:new a.aO(ue,w.u_world),u_image:new a.aH(ue,w.u_image),u_color_ramp:new a.aH(ue,w.u_color_ramp),u_opacity:new a.aI(ue,w.u_opacity)}),hillshade:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_image:new a.aH(ue,w.u_image),u_latrange:new a.aO(ue,w.u_latrange),u_light:new a.aO(ue,w.u_light),u_shadow:new a.aL(ue,w.u_shadow),u_highlight:new a.aL(ue,w.u_highlight),u_accent:new a.aL(ue,w.u_accent)}),hillshadePrepare:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_image:new a.aH(ue,w.u_image),u_dimension:new a.aO(ue,w.u_dimension),u_zoom:new a.aI(ue,w.u_zoom),u_unpack:new a.aK(ue,w.u_unpack)}),line:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_ratio:new a.aI(ue,w.u_ratio),u_device_pixel_ratio:new a.aI(ue,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(ue,w.u_units_to_pixels)}),lineGradient:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_ratio:new a.aI(ue,w.u_ratio),u_device_pixel_ratio:new a.aI(ue,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(ue,w.u_units_to_pixels),u_image:new a.aH(ue,w.u_image),u_image_height:new a.aI(ue,w.u_image_height)}),linePattern:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_texsize:new a.aO(ue,w.u_texsize),u_ratio:new a.aI(ue,w.u_ratio),u_device_pixel_ratio:new a.aI(ue,w.u_device_pixel_ratio),u_image:new a.aH(ue,w.u_image),u_units_to_pixels:new a.aO(ue,w.u_units_to_pixels),u_scale:new a.aN(ue,w.u_scale),u_fade:new a.aI(ue,w.u_fade)}),lineSDF:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_ratio:new a.aI(ue,w.u_ratio),u_device_pixel_ratio:new a.aI(ue,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(ue,w.u_units_to_pixels),u_patternscale_a:new a.aO(ue,w.u_patternscale_a),u_patternscale_b:new a.aO(ue,w.u_patternscale_b),u_sdfgamma:new a.aI(ue,w.u_sdfgamma),u_image:new a.aH(ue,w.u_image),u_tex_y_a:new a.aI(ue,w.u_tex_y_a),u_tex_y_b:new a.aI(ue,w.u_tex_y_b),u_mix:new a.aI(ue,w.u_mix)}),raster:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_tl_parent:new a.aO(ue,w.u_tl_parent),u_scale_parent:new a.aI(ue,w.u_scale_parent),u_buffer_scale:new a.aI(ue,w.u_buffer_scale),u_fade_t:new a.aI(ue,w.u_fade_t),u_opacity:new a.aI(ue,w.u_opacity),u_image0:new a.aH(ue,w.u_image0),u_image1:new a.aH(ue,w.u_image1),u_brightness_low:new a.aI(ue,w.u_brightness_low),u_brightness_high:new a.aI(ue,w.u_brightness_high),u_saturation_factor:new a.aI(ue,w.u_saturation_factor),u_contrast_factor:new a.aI(ue,w.u_contrast_factor),u_spin_weights:new a.aN(ue,w.u_spin_weights)}),symbolIcon:(ue,w)=>({u_is_size_zoom_constant:new a.aH(ue,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(ue,w.u_is_size_feature_constant),u_size_t:new a.aI(ue,w.u_size_t),u_size:new a.aI(ue,w.u_size),u_camera_to_center_distance:new a.aI(ue,w.u_camera_to_center_distance),u_pitch:new a.aI(ue,w.u_pitch),u_rotate_symbol:new a.aH(ue,w.u_rotate_symbol),u_aspect_ratio:new a.aI(ue,w.u_aspect_ratio),u_fade_change:new a.aI(ue,w.u_fade_change),u_matrix:new a.aJ(ue,w.u_matrix),u_label_plane_matrix:new a.aJ(ue,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(ue,w.u_coord_matrix),u_is_text:new a.aH(ue,w.u_is_text),u_pitch_with_map:new a.aH(ue,w.u_pitch_with_map),u_is_along_line:new a.aH(ue,w.u_is_along_line),u_is_variable_anchor:new a.aH(ue,w.u_is_variable_anchor),u_texsize:new a.aO(ue,w.u_texsize),u_texture:new a.aH(ue,w.u_texture),u_translation:new a.aO(ue,w.u_translation),u_pitched_scale:new a.aI(ue,w.u_pitched_scale)}),symbolSDF:(ue,w)=>({u_is_size_zoom_constant:new a.aH(ue,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(ue,w.u_is_size_feature_constant),u_size_t:new a.aI(ue,w.u_size_t),u_size:new a.aI(ue,w.u_size),u_camera_to_center_distance:new a.aI(ue,w.u_camera_to_center_distance),u_pitch:new a.aI(ue,w.u_pitch),u_rotate_symbol:new a.aH(ue,w.u_rotate_symbol),u_aspect_ratio:new a.aI(ue,w.u_aspect_ratio),u_fade_change:new a.aI(ue,w.u_fade_change),u_matrix:new a.aJ(ue,w.u_matrix),u_label_plane_matrix:new a.aJ(ue,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(ue,w.u_coord_matrix),u_is_text:new a.aH(ue,w.u_is_text),u_pitch_with_map:new a.aH(ue,w.u_pitch_with_map),u_is_along_line:new a.aH(ue,w.u_is_along_line),u_is_variable_anchor:new a.aH(ue,w.u_is_variable_anchor),u_texsize:new a.aO(ue,w.u_texsize),u_texture:new a.aH(ue,w.u_texture),u_gamma_scale:new a.aI(ue,w.u_gamma_scale),u_device_pixel_ratio:new a.aI(ue,w.u_device_pixel_ratio),u_is_halo:new a.aH(ue,w.u_is_halo),u_translation:new a.aO(ue,w.u_translation),u_pitched_scale:new a.aI(ue,w.u_pitched_scale)}),symbolTextAndIcon:(ue,w)=>({u_is_size_zoom_constant:new a.aH(ue,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(ue,w.u_is_size_feature_constant),u_size_t:new a.aI(ue,w.u_size_t),u_size:new a.aI(ue,w.u_size),u_camera_to_center_distance:new a.aI(ue,w.u_camera_to_center_distance),u_pitch:new a.aI(ue,w.u_pitch),u_rotate_symbol:new a.aH(ue,w.u_rotate_symbol),u_aspect_ratio:new a.aI(ue,w.u_aspect_ratio),u_fade_change:new a.aI(ue,w.u_fade_change),u_matrix:new a.aJ(ue,w.u_matrix),u_label_plane_matrix:new a.aJ(ue,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(ue,w.u_coord_matrix),u_is_text:new a.aH(ue,w.u_is_text),u_pitch_with_map:new a.aH(ue,w.u_pitch_with_map),u_is_along_line:new a.aH(ue,w.u_is_along_line),u_is_variable_anchor:new a.aH(ue,w.u_is_variable_anchor),u_texsize:new a.aO(ue,w.u_texsize),u_texsize_icon:new a.aO(ue,w.u_texsize_icon),u_texture:new a.aH(ue,w.u_texture),u_texture_icon:new a.aH(ue,w.u_texture_icon),u_gamma_scale:new a.aI(ue,w.u_gamma_scale),u_device_pixel_ratio:new a.aI(ue,w.u_device_pixel_ratio),u_is_halo:new a.aH(ue,w.u_is_halo),u_translation:new a.aO(ue,w.u_translation),u_pitched_scale:new a.aI(ue,w.u_pitched_scale)}),background:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_opacity:new a.aI(ue,w.u_opacity),u_color:new a.aL(ue,w.u_color)}),backgroundPattern:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_opacity:new a.aI(ue,w.u_opacity),u_image:new a.aH(ue,w.u_image),u_pattern_tl_a:new a.aO(ue,w.u_pattern_tl_a),u_pattern_br_a:new a.aO(ue,w.u_pattern_br_a),u_pattern_tl_b:new a.aO(ue,w.u_pattern_tl_b),u_pattern_br_b:new a.aO(ue,w.u_pattern_br_b),u_texsize:new a.aO(ue,w.u_texsize),u_mix:new a.aI(ue,w.u_mix),u_pattern_size_a:new a.aO(ue,w.u_pattern_size_a),u_pattern_size_b:new a.aO(ue,w.u_pattern_size_b),u_scale_a:new a.aI(ue,w.u_scale_a),u_scale_b:new a.aI(ue,w.u_scale_b),u_pixel_coord_upper:new a.aO(ue,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(ue,w.u_pixel_coord_lower),u_tile_units_to_pixels:new a.aI(ue,w.u_tile_units_to_pixels)}),terrain:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_texture:new a.aH(ue,w.u_texture),u_ele_delta:new a.aI(ue,w.u_ele_delta),u_fog_matrix:new a.aJ(ue,w.u_fog_matrix),u_fog_color:new a.aL(ue,w.u_fog_color),u_fog_ground_blend:new a.aI(ue,w.u_fog_ground_blend),u_fog_ground_blend_opacity:new a.aI(ue,w.u_fog_ground_blend_opacity),u_horizon_color:new a.aL(ue,w.u_horizon_color),u_horizon_fog_blend:new a.aI(ue,w.u_horizon_fog_blend)}),terrainDepth:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_ele_delta:new a.aI(ue,w.u_ele_delta)}),terrainCoords:(ue,w)=>({u_matrix:new a.aJ(ue,w.u_matrix),u_texture:new a.aH(ue,w.u_texture),u_terrain_coords_id:new a.aI(ue,w.u_terrain_coords_id),u_ele_delta:new a.aI(ue,w.u_ele_delta)}),sky:(ue,w)=>({u_sky_color:new a.aL(ue,w.u_sky_color),u_horizon_color:new a.aL(ue,w.u_horizon_color),u_horizon:new a.aI(ue,w.u_horizon),u_sky_horizon_blend:new a.aI(ue,w.u_sky_horizon_blend)})};class bs{constructor(w,B,Q){this.context=w;let ee=w.gl;this.buffer=ee.createBuffer(),this.dynamicDraw=!!Q,this.context.unbindVAO(),w.bindElementBuffer.set(this.buffer),ee.bufferData(ee.ELEMENT_ARRAY_BUFFER,B.arrayBuffer,this.dynamicDraw?ee.DYNAMIC_DRAW:ee.STATIC_DRAW),this.dynamicDraw||delete B.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(w){let B=this.context.gl;if(!this.dynamicDraw)throw new Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),B.bufferSubData(B.ELEMENT_ARRAY_BUFFER,0,w.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let Rn={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class _a{constructor(w,B,Q,ee){this.length=B.length,this.attributes=Q,this.itemSize=B.bytesPerElement,this.dynamicDraw=ee,this.context=w;let le=w.gl;this.buffer=le.createBuffer(),w.bindVertexBuffer.set(this.buffer),le.bufferData(le.ARRAY_BUFFER,B.arrayBuffer,this.dynamicDraw?le.DYNAMIC_DRAW:le.STATIC_DRAW),this.dynamicDraw||delete B.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(w){if(w.length!==this.length)throw new Error(`Length of new data is ${w.length}, which doesn't match current length of ${this.length}`);let B=this.context.gl;this.bind(),B.bufferSubData(B.ARRAY_BUFFER,0,w.arrayBuffer)}enableAttributes(w,B){for(let Q=0;Q0){let Wt=a.H();a.aQ(Wt,Xe.placementInvProjMatrix,ue.transform.glCoordMatrix),a.aQ(Wt,Wt,Xe.placementViewportMatrix),ut.push({circleArray:qt,circleOffset:Jt,transform:Qe.posMatrix,invTransform:Wt,coord:Qe}),Mt+=qt.length/4,Jt=Mt}nt&&Ze.draw(le,Fe.LINES,Po.disabled,Ko.disabled,ue.colorModeForRenderPass(),Pa.disabled,{u_matrix:Qe.posMatrix,u_pixel_extrude_scale:[1/($t=ue.transform).width,1/$t.height]},ue.style.map.terrain&&ue.style.map.terrain.getTerrainData(Qe),B.id,nt.layoutVertexBuffer,nt.indexBuffer,nt.segments,null,ue.transform.zoom,null,null,nt.collisionVertexBuffer)}var $t;if(!ee||!ut.length)return;let yr=ue.useProgram("collisionCircle"),Cr=new a.aR;Cr.resize(4*Mt),Cr._trim();let ve=0;for(let ze of ut)for(let Qe=0;Qe=0&&(ze[Xe.associatedIconIndex]={shiftedAnchor:Yn,angle:Aa})}else Pi(Xe.numGlyphs,xe)}if(Mt){Ie.clear();let Qe=ue.icon.placedSymbolArray;for(let Xe=0;Xeue.style.map.terrain.getElevation(Hr,ot,Xt):null,Pt=B.layout.get("text-rotation-alignment")==="map";We(Ci,Hr.posMatrix,ue,ee,Ul,au,ze,Mt,Pt,xe,Hr.toUnwrapped(),ve.width,ve.height,Js,Ye)}let Tl=Hr.posMatrix,Al=ee&&fr||dc,X=Qe||Al?bl:Ul,se=Lu,Te=Ln&&B.paint.get(ee?"text-halo-width":"icon-halo-width").constantOr(1)!==0,qe;qe=Ln?Ci.iconsInText?ls(Yn.kind,$a,Xe,ze,Qe,Al,ue,Tl,X,se,Js,Qa,Ts,Fr):Io(Yn.kind,$a,Xe,ze,Qe,Al,ue,Tl,X,se,Js,ee,Qa,!0,Fr):zs(Yn.kind,$a,Xe,ze,Qe,Al,ue,Tl,X,se,Js,ee,Qa,Fr);let Ve={program:fa,buffers:cn,uniformValues:qe,atlasTexture:mo,atlasTextureIcon:wo,atlasInterpolation:Bo,atlasInterpolationIcon:Ps,isSDF:Ln,hasHalo:Te};if(qt&&Ci.canOverlap){Wt=!0;let Ye=cn.segments.get();for(let Pt of Ye)br.push({segments:new a.a0([Pt]),sortKey:Pt.sortKey,state:Ve,terrainData:Co})}else br.push({segments:cn.segments,sortKey:0,state:Ve,terrainData:Co})}Wt&&br.sort((Hr,ri)=>Hr.sortKey-ri.sortKey);for(let Hr of br){let ri=Hr.state;if(yr.activeTexture.set(Cr.TEXTURE0),ri.atlasTexture.bind(ri.atlasInterpolation,Cr.CLAMP_TO_EDGE),ri.atlasTextureIcon&&(yr.activeTexture.set(Cr.TEXTURE1),ri.atlasTextureIcon&&ri.atlasTextureIcon.bind(ri.atlasInterpolationIcon,Cr.CLAMP_TO_EDGE)),ri.isSDF){let Ci=ri.uniformValues;ri.hasHalo&&(Ci.u_is_halo=1,Qf(ri.buffers,Hr.segments,B,ue,ri.program,nr,Jt,$t,Ci,Hr.terrainData)),Ci.u_is_halo=0}Qf(ri.buffers,Hr.segments,B,ue,ri.program,nr,Jt,$t,ri.uniformValues,Hr.terrainData)}}function Qf(ue,w,B,Q,ee,le,Fe,Ze,ut,Mt){let Jt=Q.context;ee.draw(Jt,Jt.gl.TRIANGLES,le,Fe,Ze,Pa.disabled,ut,Mt,B.id,ue.layoutVertexBuffer,ue.indexBuffer,w,B.paint,Q.transform.zoom,ue.programConfigurations.get(B.id),ue.dynamicLayoutVertexBuffer,ue.opacityVertexBuffer)}function _f(ue,w,B,Q){let ee=ue.context,le=ee.gl,Fe=Ko.disabled,Ze=new Os([le.ONE,le.ONE],a.aM.transparent,[!0,!0,!0,!0]),ut=w.getBucket(B);if(!ut)return;let Mt=Q.key,Jt=B.heatmapFbos.get(Mt);Jt||(Jt=eh(ee,w.tileSize,w.tileSize),B.heatmapFbos.set(Mt,Jt)),ee.bindFramebuffer.set(Jt.framebuffer),ee.viewport.set([0,0,w.tileSize,w.tileSize]),ee.clear({color:a.aM.transparent});let $t=ut.programConfigurations.get(B.id),yr=ue.useProgram("heatmap",$t),Cr=ue.style.map.terrain.getTerrainData(Q);yr.draw(ee,le.TRIANGLES,Po.disabled,Fe,Ze,Pa.disabled,ko(Q.posMatrix,w,ue.transform.zoom,B.paint.get("heatmap-intensity")),Cr,B.id,ut.layoutVertexBuffer,ut.indexBuffer,ut.segments,B.paint,ue.transform.zoom,$t)}function Yc(ue,w,B){let Q=ue.context,ee=Q.gl;Q.setColorMode(ue.colorModeForRenderPass());let le=th(Q,w),Fe=B.key,Ze=w.heatmapFbos.get(Fe);Ze&&(Q.activeTexture.set(ee.TEXTURE0),ee.bindTexture(ee.TEXTURE_2D,Ze.colorAttachment.get()),Q.activeTexture.set(ee.TEXTURE1),le.bind(ee.LINEAR,ee.CLAMP_TO_EDGE),ue.useProgram("heatmapTexture").draw(Q,ee.TRIANGLES,Po.disabled,Ko.disabled,ue.colorModeForRenderPass(),Pa.disabled,Ds(ue,w,0,1),null,w.id,ue.rasterBoundsBuffer,ue.quadTriangleIndexBuffer,ue.rasterBoundsSegments,w.paint,ue.transform.zoom),Ze.destroy(),w.heatmapFbos.delete(Fe))}function eh(ue,w,B){var Q,ee;let le=ue.gl,Fe=le.createTexture();le.bindTexture(le.TEXTURE_2D,Fe),le.texParameteri(le.TEXTURE_2D,le.TEXTURE_WRAP_S,le.CLAMP_TO_EDGE),le.texParameteri(le.TEXTURE_2D,le.TEXTURE_WRAP_T,le.CLAMP_TO_EDGE),le.texParameteri(le.TEXTURE_2D,le.TEXTURE_MIN_FILTER,le.LINEAR),le.texParameteri(le.TEXTURE_2D,le.TEXTURE_MAG_FILTER,le.LINEAR);let Ze=(Q=ue.HALF_FLOAT)!==null&&Q!==void 0?Q:le.UNSIGNED_BYTE,ut=(ee=ue.RGBA16F)!==null&&ee!==void 0?ee:le.RGBA;le.texImage2D(le.TEXTURE_2D,0,ut,w,B,0,le.RGBA,Ze,null);let Mt=ue.createFramebuffer(w,B,!1,!1);return Mt.colorAttachment.set(Fe),Mt}function th(ue,w){return w.colorRampTexture||(w.colorRampTexture=new g(ue,w.colorRamp,ue.gl.RGBA)),w.colorRampTexture}function ju(ue,w,B,Q,ee){if(!B||!Q||!Q.imageAtlas)return;let le=Q.imageAtlas.patternPositions,Fe=le[B.to.toString()],Ze=le[B.from.toString()];if(!Fe&&Ze&&(Fe=Ze),!Ze&&Fe&&(Ze=Fe),!Fe||!Ze){let ut=ee.getPaintProperty(w);Fe=le[ut],Ze=le[ut]}Fe&&Ze&&ue.setConstantPatternPositions(Fe,Ze)}function jf(ue,w,B,Q,ee,le,Fe){let Ze=ue.context.gl,ut="fill-pattern",Mt=B.paint.get(ut),Jt=Mt&&Mt.constantOr(1),$t=B.getCrossfadeParameters(),yr,Cr,ve,xe,Ie;Fe?(Cr=Jt&&!B.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",yr=Ze.LINES):(Cr=Jt?"fillPattern":"fill",yr=Ze.TRIANGLES);let ze=Mt.constantOr(null);for(let Qe of Q){let Xe=w.getTile(Qe);if(Jt&&!Xe.patternsLoaded())continue;let nt=Xe.getBucket(B);if(!nt)continue;let qt=nt.programConfigurations.get(B.id),Wt=ue.useProgram(Cr,qt),nr=ue.style.map.terrain&&ue.style.map.terrain.getTerrainData(Qe);Jt&&(ue.context.activeTexture.set(Ze.TEXTURE0),Xe.imageAtlasTexture.bind(Ze.LINEAR,Ze.CLAMP_TO_EDGE),qt.updatePaintBuffers($t)),ju(qt,ut,ze,Xe,B);let fr=nr?Qe:null,br=ue.translatePosMatrix(fr?fr.posMatrix:Qe.posMatrix,Xe,B.paint.get("fill-translate"),B.paint.get("fill-translate-anchor"));if(Fe){xe=nt.indexBuffer2,Ie=nt.segments2;let Fr=[Ze.drawingBufferWidth,Ze.drawingBufferHeight];ve=Cr==="fillOutlinePattern"&&Jt?Ma(br,ue,$t,Xe,Fr):ea(br,Fr)}else xe=nt.indexBuffer,Ie=nt.segments,ve=Jt?ya(br,ue,$t,Xe):_n(br);Wt.draw(ue.context,yr,ee,ue.stencilModeForClipping(Qe),le,Pa.disabled,ve,nr,B.id,nt.layoutVertexBuffer,xe,Ie,B.paint,ue.transform.zoom,qt)}}function cc(ue,w,B,Q,ee,le,Fe){let Ze=ue.context,ut=Ze.gl,Mt="fill-extrusion-pattern",Jt=B.paint.get(Mt),$t=Jt.constantOr(1),yr=B.getCrossfadeParameters(),Cr=B.paint.get("fill-extrusion-opacity"),ve=Jt.constantOr(null);for(let xe of Q){let Ie=w.getTile(xe),ze=Ie.getBucket(B);if(!ze)continue;let Qe=ue.style.map.terrain&&ue.style.map.terrain.getTerrainData(xe),Xe=ze.programConfigurations.get(B.id),nt=ue.useProgram($t?"fillExtrusionPattern":"fillExtrusion",Xe);$t&&(ue.context.activeTexture.set(ut.TEXTURE0),Ie.imageAtlasTexture.bind(ut.LINEAR,ut.CLAMP_TO_EDGE),Xe.updatePaintBuffers(yr)),ju(Xe,Mt,ve,Ie,B);let qt=ue.translatePosMatrix(xe.posMatrix,Ie,B.paint.get("fill-extrusion-translate"),B.paint.get("fill-extrusion-translate-anchor")),Wt=B.paint.get("fill-extrusion-vertical-gradient"),nr=$t?ki(qt,ue,Wt,Cr,xe,yr,Ie):En(qt,ue,Wt,Cr);nt.draw(Ze,Ze.gl.TRIANGLES,ee,le,Fe,Pa.backCCW,nr,Qe,B.id,ze.layoutVertexBuffer,ze.indexBuffer,ze.segments,B.paint,ue.transform.zoom,Xe,ue.style.map.terrain&&ze.centroidVertexBuffer)}}function sf(ue,w,B,Q,ee,le,Fe){let Ze=ue.context,ut=Ze.gl,Mt=B.fbo;if(!Mt)return;let Jt=ue.useProgram("hillshade"),$t=ue.style.map.terrain&&ue.style.map.terrain.getTerrainData(w);Ze.activeTexture.set(ut.TEXTURE0),ut.bindTexture(ut.TEXTURE_2D,Mt.colorAttachment.get()),Jt.draw(Ze,ut.TRIANGLES,ee,le,Fe,Pa.disabled,((yr,Cr,ve,xe)=>{let Ie=ve.paint.get("hillshade-shadow-color"),ze=ve.paint.get("hillshade-highlight-color"),Qe=ve.paint.get("hillshade-accent-color"),Xe=ve.paint.get("hillshade-illumination-direction")*(Math.PI/180);ve.paint.get("hillshade-illumination-anchor")==="viewport"&&(Xe-=yr.transform.angle);let nt=!yr.options.moving;return{u_matrix:xe?xe.posMatrix:yr.transform.calculatePosMatrix(Cr.tileID.toUnwrapped(),nt),u_image:0,u_latrange:Fs(0,Cr.tileID),u_light:[ve.paint.get("hillshade-exaggeration"),Xe],u_shadow:Ie,u_highlight:ze,u_accent:Qe}})(ue,B,Q,$t?w:null),$t,Q.id,ue.rasterBoundsBuffer,ue.quadTriangleIndexBuffer,ue.rasterBoundsSegments)}function Nl(ue,w,B,Q,ee,le){let Fe=ue.context,Ze=Fe.gl,ut=w.dem;if(ut&&ut.data){let Mt=ut.dim,Jt=ut.stride,$t=ut.getPixels();if(Fe.activeTexture.set(Ze.TEXTURE1),Fe.pixelStoreUnpackPremultiplyAlpha.set(!1),w.demTexture=w.demTexture||ue.getTileTexture(Jt),w.demTexture){let Cr=w.demTexture;Cr.update($t,{premultiply:!1}),Cr.bind(Ze.NEAREST,Ze.CLAMP_TO_EDGE)}else w.demTexture=new g(Fe,$t,Ze.RGBA,{premultiply:!1}),w.demTexture.bind(Ze.NEAREST,Ze.CLAMP_TO_EDGE);Fe.activeTexture.set(Ze.TEXTURE0);let yr=w.fbo;if(!yr){let Cr=new g(Fe,{width:Mt,height:Mt,data:null},Ze.RGBA);Cr.bind(Ze.LINEAR,Ze.CLAMP_TO_EDGE),yr=w.fbo=Fe.createFramebuffer(Mt,Mt,!0,!1),yr.colorAttachment.set(Cr.texture)}Fe.bindFramebuffer.set(yr.framebuffer),Fe.viewport.set([0,0,Mt,Mt]),ue.useProgram("hillshadePrepare").draw(Fe,Ze.TRIANGLES,Q,ee,le,Pa.disabled,((Cr,ve)=>{let xe=ve.stride,Ie=a.H();return a.aP(Ie,0,a.X,-a.X,0,0,1),a.J(Ie,Ie,[0,-a.X,0]),{u_matrix:Ie,u_image:1,u_dimension:[xe,xe],u_zoom:Cr.overscaledZ,u_unpack:ve.getUnpackVector()}})(w.tileID,ut),null,B.id,ue.rasterBoundsBuffer,ue.quadTriangleIndexBuffer,ue.rasterBoundsSegments),w.needsHillshadePrepare=!1}}function Kc(ue,w,B,Q,ee,le){let Fe=Q.paint.get("raster-fade-duration");if(!le&&Fe>0){let Ze=u.now(),ut=(Ze-ue.timeAdded)/Fe,Mt=w?(Ze-w.timeAdded)/Fe:-1,Jt=B.getSource(),$t=ee.coveringZoomLevel({tileSize:Jt.tileSize,roundZoom:Jt.roundZoom}),yr=!w||Math.abs(w.tileID.overscaledZ-$t)>Math.abs(ue.tileID.overscaledZ-$t),Cr=yr&&ue.refreshedUponExpiration?1:a.ac(yr?ut:1-Mt,0,1);return ue.refreshedUponExpiration&&ut>=1&&(ue.refreshedUponExpiration=!1),w?{opacity:1,mix:1-Cr}:{opacity:Cr,mix:0}}return{opacity:1,mix:0}}let Rc=new a.aM(1,0,0,1),gs=new a.aM(0,1,0,1),Wf=new a.aM(0,0,1,1),Wh=new a.aM(1,0,1,1),rh=new a.aM(0,1,1,1);function lf(ue,w,B,Q){Mu(ue,0,w+B/2,ue.transform.width,B,Q)}function Sh(ue,w,B,Q){Mu(ue,w-B/2,0,B,ue.transform.height,Q)}function Mu(ue,w,B,Q,ee,le){let Fe=ue.context,Ze=Fe.gl;Ze.enable(Ze.SCISSOR_TEST),Ze.scissor(w*ue.pixelRatio,B*ue.pixelRatio,Q*ue.pixelRatio,ee*ue.pixelRatio),Fe.clear({color:le}),Ze.disable(Ze.SCISSOR_TEST)}function ih(ue,w,B){let Q=ue.context,ee=Q.gl,le=B.posMatrix,Fe=ue.useProgram("debug"),Ze=Po.disabled,ut=Ko.disabled,Mt=ue.colorModeForRenderPass(),Jt="$debug",$t=ue.style.map.terrain&&ue.style.map.terrain.getTerrainData(B);Q.activeTexture.set(ee.TEXTURE0);let yr=w.getTileByID(B.key).latestRawTileData,Cr=Math.floor((yr&&yr.byteLength||0)/1024),ve=w.getTile(B).tileSize,xe=512/Math.min(ve,512)*(B.overscaledZ/ue.transform.zoom)*.5,Ie=B.canonical.toString();B.overscaledZ!==B.canonical.z&&(Ie+=` => ${B.overscaledZ}`),function(ze,Qe){ze.initDebugOverlayCanvas();let Xe=ze.debugOverlayCanvas,nt=ze.context.gl,qt=ze.debugOverlayCanvas.getContext("2d");qt.clearRect(0,0,Xe.width,Xe.height),qt.shadowColor="white",qt.shadowBlur=2,qt.lineWidth=1.5,qt.strokeStyle="white",qt.textBaseline="top",qt.font="bold 36px Open Sans, sans-serif",qt.fillText(Qe,5,5),qt.strokeText(Qe,5,5),ze.debugOverlayTexture.update(Xe),ze.debugOverlayTexture.bind(nt.LINEAR,nt.CLAMP_TO_EDGE)}(ue,`${Ie} ${Cr}kB`),Fe.draw(Q,ee.TRIANGLES,Ze,ut,Os.alphaBlended,Pa.disabled,po(le,a.aM.transparent,xe),null,Jt,ue.debugBuffer,ue.quadTriangleIndexBuffer,ue.debugSegments),Fe.draw(Q,ee.LINE_STRIP,Ze,ut,Mt,Pa.disabled,po(le,a.aM.red),$t,Jt,ue.debugBuffer,ue.tileBorderIndexBuffer,ue.debugSegments)}function js(ue,w,B){let Q=ue.context,ee=Q.gl,le=ue.colorModeForRenderPass(),Fe=new Po(ee.LEQUAL,Po.ReadWrite,ue.depthRangeFor3D),Ze=ue.useProgram("terrain"),ut=w.getTerrainMesh();Q.bindFramebuffer.set(null),Q.viewport.set([0,0,ue.width,ue.height]);for(let Mt of B){let Jt=ue.renderToTexture.getTexture(Mt),$t=w.getTerrainData(Mt.tileID);Q.activeTexture.set(ee.TEXTURE0),ee.bindTexture(ee.TEXTURE_2D,Jt.texture);let yr=ue.transform.calculatePosMatrix(Mt.tileID.toUnwrapped()),Cr=w.getMeshFrameDelta(ue.transform.zoom),ve=ue.transform.calculateFogMatrix(Mt.tileID.toUnwrapped()),xe=Jr(yr,Cr,ve,ue.style.sky,ue.transform.pitch);Ze.draw(Q,ee.TRIANGLES,Fe,Ko.disabled,le,Pa.backCCW,xe,$t,"terrain",ut.vertexBuffer,ut.indexBuffer,ut.segments)}}class Eu{constructor(w,B,Q){this.vertexBuffer=w,this.indexBuffer=B,this.segments=Q}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class Dc{constructor(w,B){this.context=new od(w),this.transform=B,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:a.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=pt.maxUnderzooming+pt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Xo}resize(w,B,Q){if(this.width=Math.floor(w*Q),this.height=Math.floor(B*Q),this.pixelRatio=Q,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let ee of this.style._order)this.style._layers[ee].resize()}setup(){let w=this.context,B=new a.aX;B.emplaceBack(0,0),B.emplaceBack(a.X,0),B.emplaceBack(0,a.X),B.emplaceBack(a.X,a.X),this.tileExtentBuffer=w.createVertexBuffer(B,vo.members),this.tileExtentSegments=a.a0.simpleSegment(0,0,4,2);let Q=new a.aX;Q.emplaceBack(0,0),Q.emplaceBack(a.X,0),Q.emplaceBack(0,a.X),Q.emplaceBack(a.X,a.X),this.debugBuffer=w.createVertexBuffer(Q,vo.members),this.debugSegments=a.a0.simpleSegment(0,0,4,5);let ee=new a.$;ee.emplaceBack(0,0,0,0),ee.emplaceBack(a.X,0,a.X,0),ee.emplaceBack(0,a.X,0,a.X),ee.emplaceBack(a.X,a.X,a.X,a.X),this.rasterBoundsBuffer=w.createVertexBuffer(ee,ct.members),this.rasterBoundsSegments=a.a0.simpleSegment(0,0,4,2);let le=new a.aX;le.emplaceBack(0,0),le.emplaceBack(1,0),le.emplaceBack(0,1),le.emplaceBack(1,1),this.viewportBuffer=w.createVertexBuffer(le,vo.members),this.viewportSegments=a.a0.simpleSegment(0,0,4,2);let Fe=new a.aZ;Fe.emplaceBack(0),Fe.emplaceBack(1),Fe.emplaceBack(3),Fe.emplaceBack(2),Fe.emplaceBack(0),this.tileBorderIndexBuffer=w.createIndexBuffer(Fe);let Ze=new a.aY;Ze.emplaceBack(0,1,2),Ze.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=w.createIndexBuffer(Ze);let ut=this.context.gl;this.stencilClearMode=new Ko({func:ut.ALWAYS,mask:0},0,255,ut.ZERO,ut.ZERO,ut.ZERO)}clearStencil(){let w=this.context,B=w.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let Q=a.H();a.aP(Q,0,this.width,this.height,0,0,1),a.K(Q,Q,[B.drawingBufferWidth,B.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(w,B.TRIANGLES,Po.disabled,this.stencilClearMode,Os.disabled,Pa.disabled,Lo(Q),null,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(w,B){if(this.currentStencilSource===w.source||!w.isTileClipped()||!B||!B.length)return;this.currentStencilSource=w.source;let Q=this.context,ee=Q.gl;this.nextStencilID+B.length>256&&this.clearStencil(),Q.setColorMode(Os.disabled),Q.setDepthMode(Po.disabled);let le=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(let Fe of B){let Ze=this._tileClippingMaskIDs[Fe.key]=this.nextStencilID++,ut=this.style.map.terrain&&this.style.map.terrain.getTerrainData(Fe);le.draw(Q,ee.TRIANGLES,Po.disabled,new Ko({func:ee.ALWAYS,mask:0},Ze,255,ee.KEEP,ee.KEEP,ee.REPLACE),Os.disabled,Pa.disabled,Lo(Fe.posMatrix),ut,"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let w=this.nextStencilID++,B=this.context.gl;return new Ko({func:B.NOTEQUAL,mask:255},w,255,B.KEEP,B.KEEP,B.REPLACE)}stencilModeForClipping(w){let B=this.context.gl;return new Ko({func:B.EQUAL,mask:255},this._tileClippingMaskIDs[w.key],0,B.KEEP,B.KEEP,B.REPLACE)}stencilConfigForOverlap(w){let B=this.context.gl,Q=w.sort((Fe,Ze)=>Ze.overscaledZ-Fe.overscaledZ),ee=Q[Q.length-1].overscaledZ,le=Q[0].overscaledZ-ee+1;if(le>1){this.currentStencilSource=void 0,this.nextStencilID+le>256&&this.clearStencil();let Fe={};for(let Ze=0;Ze({u_sky_color:ze.properties.get("sky-color"),u_horizon_color:ze.properties.get("horizon-color"),u_horizon:(Qe.height/2+Qe.getHorizon())*Xe,u_sky_horizon_blend:ze.properties.get("sky-horizon-blend")*Qe.height/2*Xe}))(Mt,ut.style.map.transform,ut.pixelRatio),Cr=new Po($t.LEQUAL,Po.ReadWrite,[0,1]),ve=Ko.disabled,xe=ut.colorModeForRenderPass(),Ie=ut.useProgram("sky");if(!Mt.mesh){let ze=new a.aX;ze.emplaceBack(-1,-1),ze.emplaceBack(1,-1),ze.emplaceBack(1,1),ze.emplaceBack(-1,1);let Qe=new a.aY;Qe.emplaceBack(0,1,2),Qe.emplaceBack(0,2,3),Mt.mesh=new Eu(Jt.createVertexBuffer(ze,vo.members),Jt.createIndexBuffer(Qe),a.a0.simpleSegment(0,0,ze.length,Qe.length))}Ie.draw(Jt,$t.TRIANGLES,Cr,ve,xe,Pa.disabled,yr,void 0,"sky",Mt.mesh.vertexBuffer,Mt.mesh.indexBuffer,Mt.mesh.segments)}(this,this.style.sky),this._showOverdrawInspector=B.showOverdrawInspector,this.depthRangeFor3D=[0,1-(w._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass="opaque",this.currentLayer=Q.length-1;this.currentLayer>=0;this.currentLayer--){let ut=this.style._layers[Q[this.currentLayer]],Mt=ee[ut.source],Jt=le[ut.source];this._renderTileClippingMasks(ut,Jt),this.renderLayer(this,Mt,ut,Jt)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayerIe.source&&!Ie.isHidden(Jt)?[Mt.sourceCaches[Ie.source]]:[]),Cr=yr.filter(Ie=>Ie.getSource().type==="vector"),ve=yr.filter(Ie=>Ie.getSource().type!=="vector"),xe=Ie=>{(!$t||$t.getSource().maxzoomxe(Ie)),$t||ve.forEach(Ie=>xe(Ie)),$t}(this.style,this.transform.zoom);ut&&function(Mt,Jt,$t){for(let yr=0;yr<$t.length;yr++)ih(Mt,Jt,$t[yr])}(this,ut,ut.getVisibleCoordinates())}this.options.showPadding&&function(ut){let Mt=ut.transform.padding;lf(ut,ut.transform.height-(Mt.top||0),3,Rc),lf(ut,Mt.bottom||0,3,gs),Sh(ut,Mt.left||0,3,Wf),Sh(ut,ut.transform.width-(Mt.right||0),3,Wh);let Jt=ut.transform.centerPoint;(function($t,yr,Cr,ve){Mu($t,yr-1,Cr-10,2,20,ve),Mu($t,yr-10,Cr-1,20,2,ve)})(ut,Jt.x,ut.transform.height-Jt.y,rh)}(this),this.context.setDefault()}maybeDrawDepthAndCoords(w){if(!this.style||!this.style.map||!this.style.map.terrain)return;let B=this.terrainFacilitator.matrix,Q=this.transform.modelViewProjectionMatrix,ee=this.terrainFacilitator.dirty;ee||(ee=w?!a.a_(B,Q):!a.a$(B,Q)),ee||(ee=this.style.map.terrain.sourceCache.tilesAfterTime(this.terrainFacilitator.renderTime).length>0),ee&&(a.b0(B,Q),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(le,Fe){let Ze=le.context,ut=Ze.gl,Mt=Os.unblended,Jt=new Po(ut.LEQUAL,Po.ReadWrite,[0,1]),$t=Fe.getTerrainMesh(),yr=Fe.sourceCache.getRenderableTiles(),Cr=le.useProgram("terrainDepth");Ze.bindFramebuffer.set(Fe.getFramebuffer("depth").framebuffer),Ze.viewport.set([0,0,le.width/devicePixelRatio,le.height/devicePixelRatio]),Ze.clear({color:a.aM.transparent,depth:1});for(let ve of yr){let xe=Fe.getTerrainData(ve.tileID),Ie={u_matrix:le.transform.calculatePosMatrix(ve.tileID.toUnwrapped()),u_ele_delta:Fe.getMeshFrameDelta(le.transform.zoom)};Cr.draw(Ze,ut.TRIANGLES,Jt,Ko.disabled,Mt,Pa.backCCW,Ie,xe,"terrain",$t.vertexBuffer,$t.indexBuffer,$t.segments)}Ze.bindFramebuffer.set(null),Ze.viewport.set([0,0,le.width,le.height])}(this,this.style.map.terrain),function(le,Fe){let Ze=le.context,ut=Ze.gl,Mt=Os.unblended,Jt=new Po(ut.LEQUAL,Po.ReadWrite,[0,1]),$t=Fe.getTerrainMesh(),yr=Fe.getCoordsTexture(),Cr=Fe.sourceCache.getRenderableTiles(),ve=le.useProgram("terrainCoords");Ze.bindFramebuffer.set(Fe.getFramebuffer("coords").framebuffer),Ze.viewport.set([0,0,le.width/devicePixelRatio,le.height/devicePixelRatio]),Ze.clear({color:a.aM.transparent,depth:1}),Fe.coordsIndex=[];for(let xe of Cr){let Ie=Fe.getTerrainData(xe.tileID);Ze.activeTexture.set(ut.TEXTURE0),ut.bindTexture(ut.TEXTURE_2D,yr.texture);let ze={u_matrix:le.transform.calculatePosMatrix(xe.tileID.toUnwrapped()),u_terrain_coords_id:(255-Fe.coordsIndex.length)/255,u_texture:0,u_ele_delta:Fe.getMeshFrameDelta(le.transform.zoom)};ve.draw(Ze,ut.TRIANGLES,Jt,Ko.disabled,Mt,Pa.backCCW,ze,Ie,"terrain",$t.vertexBuffer,$t.indexBuffer,$t.segments),Fe.coordsIndex.push(xe.tileID.key)}Ze.bindFramebuffer.set(null),Ze.viewport.set([0,0,le.width,le.height])}(this,this.style.map.terrain))}renderLayer(w,B,Q,ee){if(!Q.isHidden(this.transform.zoom)&&(Q.type==="background"||Q.type==="custom"||(ee||[]).length))switch(this.id=Q.id,Q.type){case"symbol":(function(le,Fe,Ze,ut,Mt){if(le.renderPass!=="translucent")return;let Jt=Ko.disabled,$t=le.colorModeForRenderPass();(Ze._unevaluatedLayout.hasValue("text-variable-anchor")||Ze._unevaluatedLayout.hasValue("text-variable-anchor-offset"))&&function(yr,Cr,ve,xe,Ie,ze,Qe,Xe,nt){let qt=Cr.transform,Wt=yn(),nr=Ie==="map",fr=ze==="map";for(let br of yr){let Fr=xe.getTile(br),Hr=Fr.getBucket(ve);if(!Hr||!Hr.text||!Hr.text.segments.get().length)continue;let ri=a.ag(Hr.textSizeData,qt.zoom),Ci=Fn(Fr,1,Cr.transform.zoom),cn=qr(br.posMatrix,fr,nr,Cr.transform,Ci),sn=ve.layout.get("icon-text-fit")!=="none"&&Hr.hasIconData();if(ri){let Ln=Math.pow(2,qt.zoom-Fr.tileID.overscaledZ),Yn=Cr.style.map.terrain?(fa,$a)=>Cr.style.map.terrain.getElevation(br,fa,$a):null,Aa=Wt.translatePosition(qt,Fr,Qe,Xe);yf(Hr,nr,fr,nt,qt,cn,br.posMatrix,Ln,ri,sn,Wt,Aa,br.toUnwrapped(),Yn)}}}(ut,le,Ze,Fe,Ze.layout.get("text-rotation-alignment"),Ze.layout.get("text-pitch-alignment"),Ze.paint.get("text-translate"),Ze.paint.get("text-translate-anchor"),Mt),Ze.paint.get("icon-opacity").constantOr(1)!==0&&Ah(le,Fe,Ze,ut,!1,Ze.paint.get("icon-translate"),Ze.paint.get("icon-translate-anchor"),Ze.layout.get("icon-rotation-alignment"),Ze.layout.get("icon-pitch-alignment"),Ze.layout.get("icon-keep-upright"),Jt,$t),Ze.paint.get("text-opacity").constantOr(1)!==0&&Ah(le,Fe,Ze,ut,!0,Ze.paint.get("text-translate"),Ze.paint.get("text-translate-anchor"),Ze.layout.get("text-rotation-alignment"),Ze.layout.get("text-pitch-alignment"),Ze.layout.get("text-keep-upright"),Jt,$t),Fe.map.showCollisionBoxes&&(Hu(le,Fe,Ze,ut,!0),Hu(le,Fe,Ze,ut,!1))})(w,B,Q,ee,this.style.placement.variableOffsets);break;case"circle":(function(le,Fe,Ze,ut){if(le.renderPass!=="translucent")return;let Mt=Ze.paint.get("circle-opacity"),Jt=Ze.paint.get("circle-stroke-width"),$t=Ze.paint.get("circle-stroke-opacity"),yr=!Ze.layout.get("circle-sort-key").isConstant();if(Mt.constantOr(1)===0&&(Jt.constantOr(1)===0||$t.constantOr(1)===0))return;let Cr=le.context,ve=Cr.gl,xe=le.depthModeForSublayer(0,Po.ReadOnly),Ie=Ko.disabled,ze=le.colorModeForRenderPass(),Qe=[];for(let Xe=0;XeXe.sortKey-nt.sortKey);for(let Xe of Qe){let{programConfiguration:nt,program:qt,layoutVertexBuffer:Wt,indexBuffer:nr,uniformValues:fr,terrainData:br}=Xe.state;qt.draw(Cr,ve.TRIANGLES,xe,Ie,ze,Pa.disabled,fr,br,Ze.id,Wt,nr,Xe.segments,Ze.paint,le.transform.zoom,nt)}})(w,B,Q,ee);break;case"heatmap":(function(le,Fe,Ze,ut){if(Ze.paint.get("heatmap-opacity")===0)return;let Mt=le.context;if(le.style.map.terrain){for(let Jt of ut){let $t=Fe.getTile(Jt);Fe.hasRenderableParent(Jt)||(le.renderPass==="offscreen"?_f(le,$t,Ze,Jt):le.renderPass==="translucent"&&Yc(le,Ze,Jt))}Mt.viewport.set([0,0,le.width,le.height])}else le.renderPass==="offscreen"?function(Jt,$t,yr,Cr){let ve=Jt.context,xe=ve.gl,Ie=Ko.disabled,ze=new Os([xe.ONE,xe.ONE],a.aM.transparent,[!0,!0,!0,!0]);(function(Qe,Xe,nt){let qt=Qe.gl;Qe.activeTexture.set(qt.TEXTURE1),Qe.viewport.set([0,0,Xe.width/4,Xe.height/4]);let Wt=nt.heatmapFbos.get(a.aU);Wt?(qt.bindTexture(qt.TEXTURE_2D,Wt.colorAttachment.get()),Qe.bindFramebuffer.set(Wt.framebuffer)):(Wt=eh(Qe,Xe.width/4,Xe.height/4),nt.heatmapFbos.set(a.aU,Wt))})(ve,Jt,yr),ve.clear({color:a.aM.transparent});for(let Qe=0;Qe20&&Jt.texParameterf(Jt.TEXTURE_2D,Mt.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,Mt.extTextureFilterAnisotropicMax);let Hr=le.style.map.terrain&&le.style.map.terrain.getTerrainData(Qe),ri=Hr?Qe:null,Ci=ri?ri.posMatrix:le.transform.calculatePosMatrix(Qe.toUnwrapped(),ze),cn=cl(Ci,br||[0,0],fr||1,nr,Ze);$t instanceof ar?yr.draw(Mt,Jt.TRIANGLES,Xe,Ko.disabled,Cr,Pa.disabled,cn,Hr,Ze.id,$t.boundsBuffer,le.quadTriangleIndexBuffer,$t.boundsSegments):yr.draw(Mt,Jt.TRIANGLES,Xe,ve[Qe.overscaledZ],Cr,Pa.disabled,cn,Hr,Ze.id,le.rasterBoundsBuffer,le.quadTriangleIndexBuffer,le.rasterBoundsSegments)}})(w,B,Q,ee);break;case"background":(function(le,Fe,Ze,ut){let Mt=Ze.paint.get("background-color"),Jt=Ze.paint.get("background-opacity");if(Jt===0)return;let $t=le.context,yr=$t.gl,Cr=le.transform,ve=Cr.tileSize,xe=Ze.paint.get("background-pattern");if(le.isPatternMissing(xe))return;let Ie=!xe&&Mt.a===1&&Jt===1&&le.opaquePassEnabledForLayer()?"opaque":"translucent";if(le.renderPass!==Ie)return;let ze=Ko.disabled,Qe=le.depthModeForSublayer(0,Ie==="opaque"?Po.ReadWrite:Po.ReadOnly),Xe=le.colorModeForRenderPass(),nt=le.useProgram(xe?"backgroundPattern":"background"),qt=ut||Cr.coveringTiles({tileSize:ve,terrain:le.style.map.terrain});xe&&($t.activeTexture.set(yr.TEXTURE0),le.imageManager.bind(le.context));let Wt=Ze.getCrossfadeParameters();for(let nr of qt){let fr=ut?nr.posMatrix:le.transform.calculatePosMatrix(nr.toUnwrapped()),br=xe?Su(fr,Jt,le,xe,{tileID:nr,tileSize:ve},Wt):Yl(fr,Jt,Mt),Fr=le.style.map.terrain&&le.style.map.terrain.getTerrainData(nr);nt.draw($t,yr.TRIANGLES,Qe,ze,Xe,Pa.disabled,br,Fr,Ze.id,le.tileExtentBuffer,le.quadTriangleIndexBuffer,le.tileExtentSegments)}})(w,0,Q,ee);break;case"custom":(function(le,Fe,Ze){let ut=le.context,Mt=Ze.implementation;if(le.renderPass==="offscreen"){let Jt=Mt.prerender;Jt&&(le.setCustomLayerDefaults(),ut.setColorMode(le.colorModeForRenderPass()),Jt.call(Mt,ut.gl,le.transform.customLayerMatrix()),ut.setDirty(),le.setBaseState())}else if(le.renderPass==="translucent"){le.setCustomLayerDefaults(),ut.setColorMode(le.colorModeForRenderPass()),ut.setStencilMode(Ko.disabled);let Jt=Mt.renderingMode==="3d"?new Po(le.context.gl.LEQUAL,Po.ReadWrite,le.depthRangeFor3D):le.depthModeForSublayer(0,Po.ReadOnly);ut.setDepthMode(Jt),Mt.render(ut.gl,le.transform.customLayerMatrix(),{farZ:le.transform.farZ,nearZ:le.transform.nearZ,fov:le.transform._fov,modelViewProjectionMatrix:le.transform.modelViewProjectionMatrix,projectionMatrix:le.transform.projectionMatrix}),ut.setDirty(),le.setBaseState(),ut.bindFramebuffer.set(null)}})(w,0,Q)}}translatePosMatrix(w,B,Q,ee,le){if(!Q[0]&&!Q[1])return w;let Fe=le?ee==="map"?this.transform.angle:0:ee==="viewport"?-this.transform.angle:0;if(Fe){let Mt=Math.sin(Fe),Jt=Math.cos(Fe);Q=[Q[0]*Jt-Q[1]*Mt,Q[0]*Mt+Q[1]*Jt]}let Ze=[le?Q[0]:Fn(B,Q[0],this.transform.zoom),le?Q[1]:Fn(B,Q[1],this.transform.zoom),0],ut=new Float32Array(16);return a.J(ut,w,Ze),ut}saveTileTexture(w){let B=this._tileTextures[w.size[0]];B?B.push(w):this._tileTextures[w.size[0]]=[w]}getTileTexture(w){let B=this._tileTextures[w];return B&&B.length>0?B.pop():null}isPatternMissing(w){if(!w)return!1;if(!w.from||!w.to)return!0;let B=this.imageManager.getPattern(w.from.toString()),Q=this.imageManager.getPattern(w.to.toString());return!B||!Q}useProgram(w,B){this.cache=this.cache||{};let Q=w+(B?B.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"")+(this.style.map.terrain?"/terrain":"");return this.cache[Q]||(this.cache[Q]=new hn(this.context,Gn[w],B,nc[w],this._showOverdrawInspector,this.style.map.terrain)),this.cache[Q]}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 w=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(w.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new g(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:w,drawingBufferHeight:B}=this.context.gl;return this.width!==w||this.height!==B}}class ks{constructor(w,B){this.points=w,this.planes=B}static fromInvProjectionMatrix(w,B,Q){let ee=Math.pow(2,Q),le=[[-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(Ze=>{let ut=1/(Ze=a.af([],Ze,w))[3]/B*ee;return a.b1(Ze,Ze,[ut,ut,1/Ze[3],ut])}),Fe=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(Ze=>{let ut=function(yr,Cr){var ve=Cr[0],xe=Cr[1],Ie=Cr[2],ze=ve*ve+xe*xe+Ie*Ie;return ze>0&&(ze=1/Math.sqrt(ze)),yr[0]=Cr[0]*ze,yr[1]=Cr[1]*ze,yr[2]=Cr[2]*ze,yr}([],function(yr,Cr,ve){var xe=Cr[0],Ie=Cr[1],ze=Cr[2],Qe=ve[0],Xe=ve[1],nt=ve[2];return yr[0]=Ie*nt-ze*Xe,yr[1]=ze*Qe-xe*nt,yr[2]=xe*Xe-Ie*Qe,yr}([],L([],le[Ze[0]],le[Ze[1]]),L([],le[Ze[2]],le[Ze[1]]))),Mt=-((Jt=ut)[0]*($t=le[Ze[1]])[0]+Jt[1]*$t[1]+Jt[2]*$t[2]);var Jt,$t;return ut.concat(Mt)});return new ks(le,Fe)}}class bc{constructor(w,B){this.min=w,this.max=B,this.center=function(Q,ee,le){return Q[0]=.5*ee[0],Q[1]=.5*ee[1],Q[2]=.5*ee[2],Q}([],function(Q,ee,le){return Q[0]=ee[0]+le[0],Q[1]=ee[1]+le[1],Q[2]=ee[2]+le[2],Q}([],this.min,this.max))}quadrant(w){let B=[w%2==0,w<2],Q=M(this.min),ee=M(this.max);for(let le=0;le=0&&Fe++;if(Fe===0)return 0;Fe!==B.length&&(Q=!1)}if(Q)return 2;for(let ee=0;ee<3;ee++){let le=Number.MAX_VALUE,Fe=-Number.MAX_VALUE;for(let Ze=0;Zethis.max[ee]-this.min[ee])return 0}return 1}}class hu{constructor(w=0,B=0,Q=0,ee=0){if(isNaN(w)||w<0||isNaN(B)||B<0||isNaN(Q)||Q<0||isNaN(ee)||ee<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=w,this.bottom=B,this.left=Q,this.right=ee}interpolate(w,B,Q){return B.top!=null&&w.top!=null&&(this.top=a.y.number(w.top,B.top,Q)),B.bottom!=null&&w.bottom!=null&&(this.bottom=a.y.number(w.bottom,B.bottom,Q)),B.left!=null&&w.left!=null&&(this.left=a.y.number(w.left,B.left,Q)),B.right!=null&&w.right!=null&&(this.right=a.y.number(w.right,B.right,Q)),this}getCenter(w,B){let Q=a.ac((this.left+w-this.right)/2,0,w),ee=a.ac((this.top+B-this.bottom)/2,0,B);return new a.P(Q,ee)}equals(w){return this.top===w.top&&this.bottom===w.bottom&&this.left===w.left&&this.right===w.right}clone(){return new hu(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}let _u=85.051129;class nl{constructor(w,B,Q,ee,le){this.tileSize=512,this._renderWorldCopies=le===void 0||!!le,this._minZoom=w||0,this._maxZoom=B||22,this._minPitch=Q==null?0:Q,this._maxPitch=ee==null?60:ee,this.setMaxBounds(),this.width=0,this.height=0,this._center=new a.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new hu,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){let w=new nl(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return w.apply(this),w}apply(w){this.tileSize=w.tileSize,this.latRange=w.latRange,this.lngRange=w.lngRange,this.width=w.width,this.height=w.height,this._center=w._center,this._elevation=w._elevation,this.minElevationForCurrentTile=w.minElevationForCurrentTile,this.zoom=w.zoom,this.angle=w.angle,this._fov=w._fov,this._pitch=w._pitch,this._unmodified=w._unmodified,this._edgeInsets=w._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(w){this._minZoom!==w&&(this._minZoom=w,this.zoom=Math.max(this.zoom,w))}get maxZoom(){return this._maxZoom}set maxZoom(w){this._maxZoom!==w&&(this._maxZoom=w,this.zoom=Math.min(this.zoom,w))}get minPitch(){return this._minPitch}set minPitch(w){this._minPitch!==w&&(this._minPitch=w,this.pitch=Math.max(this.pitch,w))}get maxPitch(){return this._maxPitch}set maxPitch(w){this._maxPitch!==w&&(this._maxPitch=w,this.pitch=Math.min(this.pitch,w))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(w){w===void 0?w=!0:w===null&&(w=!1),this._renderWorldCopies=w}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new a.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(w){let B=-a.b3(w,-180,180)*Math.PI/180;this.angle!==B&&(this._unmodified=!1,this.angle=B,this._calcMatrices(),this.rotationMatrix=function(){var Q=new a.A(4);return a.A!=Float32Array&&(Q[1]=0,Q[2]=0),Q[0]=1,Q[3]=1,Q}(),function(Q,ee,le){var Fe=ee[0],Ze=ee[1],ut=ee[2],Mt=ee[3],Jt=Math.sin(le),$t=Math.cos(le);Q[0]=Fe*$t+ut*Jt,Q[1]=Ze*$t+Mt*Jt,Q[2]=Fe*-Jt+ut*$t,Q[3]=Ze*-Jt+Mt*$t}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(w){let B=a.ac(w,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==B&&(this._unmodified=!1,this._pitch=B,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(w){w=Math.max(.01,Math.min(60,w)),this._fov!==w&&(this._unmodified=!1,this._fov=w/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(w){let B=Math.min(Math.max(w,this.minZoom),this.maxZoom);this._zoom!==B&&(this._unmodified=!1,this._zoom=B,this.tileZoom=Math.max(0,Math.floor(B)),this.scale=this.zoomScale(B),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(w){w.lat===this._center.lat&&w.lng===this._center.lng||(this._unmodified=!1,this._center=w,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(w){w!==this._elevation&&(this._elevation=w,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(w){this._edgeInsets.equals(w)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,w,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(w){return this._edgeInsets.equals(w)}interpolatePadding(w,B,Q){this._unmodified=!1,this._edgeInsets.interpolate(w,B,Q),this._constrain(),this._calcMatrices()}coveringZoomLevel(w){let B=(w.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/w.tileSize));return Math.max(0,B)}getVisibleUnwrappedCoordinates(w){let B=[new a.b4(0,w)];if(this._renderWorldCopies){let Q=this.pointCoordinate(new a.P(0,0)),ee=this.pointCoordinate(new a.P(this.width,0)),le=this.pointCoordinate(new a.P(this.width,this.height)),Fe=this.pointCoordinate(new a.P(0,this.height)),Ze=Math.floor(Math.min(Q.x,ee.x,le.x,Fe.x)),ut=Math.floor(Math.max(Q.x,ee.x,le.x,Fe.x)),Mt=1;for(let Jt=Ze-Mt;Jt<=ut+Mt;Jt++)Jt!==0&&B.push(new a.b4(Jt,w))}return B}coveringTiles(w){var B,Q;let ee=this.coveringZoomLevel(w),le=ee;if(w.minzoom!==void 0&&eew.maxzoom&&(ee=w.maxzoom);let Fe=this.pointCoordinate(this.getCameraPoint()),Ze=a.Z.fromLngLat(this.center),ut=Math.pow(2,ee),Mt=[ut*Fe.x,ut*Fe.y,0],Jt=[ut*Ze.x,ut*Ze.y,0],$t=ks.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,ee),yr=w.minzoom||0;!w.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(yr=ee);let Cr=w.terrain?2/Math.min(this.tileSize,w.tileSize)*this.tileSize:3,ve=Xe=>({aabb:new bc([Xe*ut,0,0],[(Xe+1)*ut,ut,0]),zoom:0,x:0,y:0,wrap:Xe,fullyVisible:!1}),xe=[],Ie=[],ze=ee,Qe=w.reparseOverscaled?le:ee;if(this._renderWorldCopies)for(let Xe=1;Xe<=3;Xe++)xe.push(ve(-Xe)),xe.push(ve(Xe));for(xe.push(ve(0));xe.length>0;){let Xe=xe.pop(),nt=Xe.x,qt=Xe.y,Wt=Xe.fullyVisible;if(!Wt){let Hr=Xe.aabb.intersects($t);if(Hr===0)continue;Wt=Hr===2}let nr=w.terrain?Mt:Jt,fr=Xe.aabb.distanceX(nr),br=Xe.aabb.distanceY(nr),Fr=Math.max(Math.abs(fr),Math.abs(br));if(Xe.zoom===ze||Fr>Cr+(1<=yr){let Hr=ze-Xe.zoom,ri=Mt[0]-.5-(nt<>1),cn=Xe.zoom+1,sn=Xe.aabb.quadrant(Hr);if(w.terrain){let Ln=new a.S(cn,Xe.wrap,cn,ri,Ci),Yn=w.terrain.getMinMaxElevation(Ln),Aa=(B=Yn.minElevation)!==null&&B!==void 0?B:this.elevation,fa=(Q=Yn.maxElevation)!==null&&Q!==void 0?Q:this.elevation;sn=new bc([sn.min[0],sn.min[1],Aa],[sn.max[0],sn.max[1],fa])}xe.push({aabb:sn,zoom:cn,x:ri,y:Ci,wrap:Xe.wrap,fullyVisible:Wt})}}return Ie.sort((Xe,nt)=>Xe.distanceSq-nt.distanceSq).map(Xe=>Xe.tileID)}resize(w,B){this.width=w,this.height=B,this.pixelsToGLUnits=[2/w,-2/B],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(w){return Math.pow(2,w)}scaleZoom(w){return Math.log(w)/Math.LN2}project(w){let B=a.ac(w.lat,-85.051129,_u);return new a.P(a.O(w.lng)*this.worldSize,a.Q(B)*this.worldSize)}unproject(w){return new a.Z(w.x/this.worldSize,w.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(w){let B=this.elevation,Q=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,ee=this.pointLocation(this.centerPoint,w),le=w.getElevationForLngLatZoom(ee,this.tileZoom);if(!(this.elevation-le))return;let Fe=Q+B-le,Ze=Math.cos(this._pitch)*this.cameraToCenterDistance/Fe/a.b5(1,ee.lat),ut=this.scaleZoom(Ze/this.tileSize);this._elevation=le,this._center=ee,this.zoom=ut}setLocationAtPoint(w,B){let Q=this.pointCoordinate(B),ee=this.pointCoordinate(this.centerPoint),le=this.locationCoordinate(w),Fe=new a.Z(le.x-(Q.x-ee.x),le.y-(Q.y-ee.y));this.center=this.coordinateLocation(Fe),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(w,B){return B?this.coordinatePoint(this.locationCoordinate(w),B.getElevationForLngLatZoom(w,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(w))}pointLocation(w,B){return this.coordinateLocation(this.pointCoordinate(w,B))}locationCoordinate(w){return a.Z.fromLngLat(w)}coordinateLocation(w){return w&&w.toLngLat()}pointCoordinate(w,B){if(B){let yr=B.pointCoordinate(w);if(yr!=null)return yr}let Q=[w.x,w.y,0,1],ee=[w.x,w.y,1,1];a.af(Q,Q,this.pixelMatrixInverse),a.af(ee,ee,this.pixelMatrixInverse);let le=Q[3],Fe=ee[3],Ze=Q[1]/le,ut=ee[1]/Fe,Mt=Q[2]/le,Jt=ee[2]/Fe,$t=Mt===Jt?0:(0-Mt)/(Jt-Mt);return new a.Z(a.y.number(Q[0]/le,ee[0]/Fe,$t)/this.worldSize,a.y.number(Ze,ut,$t)/this.worldSize)}coordinatePoint(w,B=0,Q=this.pixelMatrix){let ee=[w.x*this.worldSize,w.y*this.worldSize,B,1];return a.af(ee,ee,Q),new a.P(ee[0]/ee[3],ee[1]/ee[3])}getBounds(){let w=Math.max(0,this.height/2-this.getHorizon());return new ce().extend(this.pointLocation(new a.P(0,w))).extend(this.pointLocation(new a.P(this.width,w))).extend(this.pointLocation(new a.P(this.width,this.height))).extend(this.pointLocation(new a.P(0,this.height)))}getMaxBounds(){return this.latRange&&this.latRange.length===2&&this.lngRange&&this.lngRange.length===2?new ce([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(w){w?(this.lngRange=[w.getWest(),w.getEast()],this.latRange=[w.getSouth(),w.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,_u])}calculateTileMatrix(w){let B=w.canonical,Q=this.worldSize/this.zoomScale(B.z),ee=B.x+Math.pow(2,B.z)*w.wrap,le=a.an(new Float64Array(16));return a.J(le,le,[ee*Q,B.y*Q,0]),a.K(le,le,[Q/a.X,Q/a.X,1]),le}calculatePosMatrix(w,B=!1){let Q=w.key,ee=B?this._alignedPosMatrixCache:this._posMatrixCache;if(ee[Q])return ee[Q];let le=this.calculateTileMatrix(w);return a.L(le,B?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,le),ee[Q]=new Float32Array(le),ee[Q]}calculateFogMatrix(w){let B=w.key,Q=this._fogMatrixCache;if(Q[B])return Q[B];let ee=this.calculateTileMatrix(w);return a.L(ee,this.fogMatrix,ee),Q[B]=new Float32Array(ee),Q[B]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(w,B){B=a.ac(+B,this.minZoom,this.maxZoom);let Q={center:new a.N(w.lng,w.lat),zoom:B},ee=this.lngRange;if(!this._renderWorldCopies&&ee===null){let Xe=179.9999999999;ee=[-Xe,Xe]}let le=this.tileSize*this.zoomScale(Q.zoom),Fe=0,Ze=le,ut=0,Mt=le,Jt=0,$t=0,{x:yr,y:Cr}=this.size;if(this.latRange){let Xe=this.latRange;Fe=a.Q(Xe[1])*le,Ze=a.Q(Xe[0])*le,Ze-FeZe&&(ze=Ze-Xe)}if(ee){let Xe=(ut+Mt)/2,nt=ve;this._renderWorldCopies&&(nt=a.b3(ve,Xe-le/2,Xe+le/2));let qt=yr/2;nt-qtMt&&(Ie=Mt-qt)}if(Ie!==void 0||ze!==void 0){let Xe=new a.P(Ie!=null?Ie:ve,ze!=null?ze:xe);Q.center=this.unproject.call({worldSize:le},Xe).wrap()}return Q}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let w=this._unmodified,{center:B,zoom:Q}=this.getConstrained(this.center,this.zoom);this.center=B,this.zoom=Q,this._unmodified=w,this._constraining=!1}_calcMatrices(){if(!this.height)return;let w=this.centerOffset,B=this.point.x,Q=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=a.b5(1,this.center.lat)*this.worldSize;let ee=a.an(new Float64Array(16));a.K(ee,ee,[this.width/2,-this.height/2,1]),a.J(ee,ee,[1,-1,0]),this.labelPlaneMatrix=ee,ee=a.an(new Float64Array(16)),a.K(ee,ee,[1,-1,1]),a.J(ee,ee,[-1,-1,0]),a.K(ee,ee,[2/this.width,2/this.height,1]),this.glCoordMatrix=ee;let le=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),Fe=Math.min(this.elevation,this.minElevationForCurrentTile),Ze=le-Fe*this._pixelPerMeter/Math.cos(this._pitch),ut=Fe<0?Ze:le,Mt=Math.PI/2+this._pitch,Jt=this._fov*(.5+w.y/this.height),$t=Math.sin(Jt)*ut/Math.sin(a.ac(Math.PI-Mt-Jt,.01,Math.PI-.01)),yr=this.getHorizon(),Cr=2*Math.atan(yr/this.cameraToCenterDistance)*(.5+w.y/(2*yr)),ve=Math.sin(Cr)*ut/Math.sin(a.ac(Math.PI-Mt-Cr,.01,Math.PI-.01)),xe=Math.min($t,ve);this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*xe+ut),this.nearZ=this.height/50,ee=new Float64Array(16),a.b6(ee,this._fov,this.width/this.height,this.nearZ,this.farZ),ee[8]=2*-w.x/this.width,ee[9]=2*w.y/this.height,this.projectionMatrix=a.ae(ee),a.K(ee,ee,[1,-1,1]),a.J(ee,ee,[0,0,-this.cameraToCenterDistance]),a.b7(ee,ee,this._pitch),a.ad(ee,ee,this.angle),a.J(ee,ee,[-B,-Q,0]),this.mercatorMatrix=a.K([],ee,[this.worldSize,this.worldSize,this.worldSize]),a.K(ee,ee,[1,1,this._pixelPerMeter]),this.pixelMatrix=a.L(new Float64Array(16),this.labelPlaneMatrix,ee),a.J(ee,ee,[0,0,-this.elevation]),this.modelViewProjectionMatrix=ee,this.invModelViewProjectionMatrix=a.as([],ee),this.fogMatrix=new Float64Array(16),a.b6(this.fogMatrix,this._fov,this.width/this.height,le,this.farZ),this.fogMatrix[8]=2*-w.x/this.width,this.fogMatrix[9]=2*w.y/this.height,a.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),a.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),a.b7(this.fogMatrix,this.fogMatrix,this._pitch),a.ad(this.fogMatrix,this.fogMatrix,this.angle),a.J(this.fogMatrix,this.fogMatrix,[-B,-Q,0]),a.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),a.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=a.L(new Float64Array(16),this.labelPlaneMatrix,ee);let Ie=this.width%2/2,ze=this.height%2/2,Qe=Math.cos(this.angle),Xe=Math.sin(this.angle),nt=B-Math.round(B)+Qe*Ie+Xe*ze,qt=Q-Math.round(Q)+Qe*ze+Xe*Ie,Wt=new Float64Array(ee);if(a.J(Wt,Wt,[nt>.5?nt-1:nt,qt>.5?qt-1:qt,0]),this.alignedModelViewProjectionMatrix=Wt,ee=a.as(new Float64Array(16),this.pixelMatrix),!ee)throw new Error("failed to invert matrix");this.pixelMatrixInverse=ee,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let w=this.pointCoordinate(new a.P(0,0)),B=[w.x*this.worldSize,w.y*this.worldSize,0,1];return a.af(B,B,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let w=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new a.P(0,w))}getCameraQueryGeometry(w){let B=this.getCameraPoint();if(w.length===1)return[w[0],B];{let Q=B.x,ee=B.y,le=B.x,Fe=B.y;for(let Ze of w)Q=Math.min(Q,Ze.x),ee=Math.min(ee,Ze.y),le=Math.max(le,Ze.x),Fe=Math.max(Fe,Ze.y);return[new a.P(Q,ee),new a.P(le,ee),new a.P(le,Fe),new a.P(Q,Fe),new a.P(Q,ee)]}}lngLatToCameraDepth(w,B){let Q=this.locationCoordinate(w),ee=[Q.x*this.worldSize,Q.y*this.worldSize,B,1];return a.af(ee,ee,this.modelViewProjectionMatrix),ee[2]/ee[3]}}function nh(ue,w){let B,Q=!1,ee=null,le=null,Fe=()=>{ee=null,Q&&(ue.apply(le,B),ee=setTimeout(Fe,w),Q=!1)};return(...Ze)=>(Q=!0,le=this,B=Ze,ee||Fe(),ee)}class Mh{constructor(w){this._getCurrentHash=()=>{let B=window.location.hash.replace("#","");if(this._hashName){let Q;return B.split("&").map(ee=>ee.split("=")).forEach(ee=>{ee[0]===this._hashName&&(Q=ee)}),(Q&&Q[1]||"").split("/")}return B.split("/")},this._onHashChange=()=>{let B=this._getCurrentHash();if(B.length>=3&&!B.some(Q=>isNaN(Q))){let Q=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(B[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+B[2],+B[1]],zoom:+B[0],bearing:Q,pitch:+(B[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let B=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,B)},this._removeHash=()=>{let B=this._getCurrentHash();if(B.length===0)return;let Q=B.join("/"),ee=Q;ee.split("&").length>0&&(ee=ee.split("&")[0]),this._hashName&&(ee=`${this._hashName}=${Q}`);let le=window.location.hash.replace(ee,"");le.startsWith("#&")?le=le.slice(0,1)+le.slice(2):le==="#"&&(le="");let Fe=window.location.href.replace(/(#.+)?$/,le);Fe=Fe.replace("&&","&"),window.history.replaceState(window.history.state,null,Fe)},this._updateHash=nh(this._updateHashUnthrottled,300),this._hashName=w&&encodeURIComponent(w)}addTo(w){return this._map=w,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(w){let B=this._map.getCenter(),Q=Math.round(100*this._map.getZoom())/100,ee=Math.ceil((Q*Math.LN2+Math.log(512/360/.5))/Math.LN10),le=Math.pow(10,ee),Fe=Math.round(B.lng*le)/le,Ze=Math.round(B.lat*le)/le,ut=this._map.getBearing(),Mt=this._map.getPitch(),Jt="";if(Jt+=w?`/${Fe}/${Ze}/${Q}`:`${Q}/${Ze}/${Fe}`,(ut||Mt)&&(Jt+="/"+Math.round(10*ut)/10),Mt&&(Jt+=`/${Math.round(Mt)}`),this._hashName){let $t=this._hashName,yr=!1,Cr=window.location.hash.slice(1).split("&").map(ve=>{let xe=ve.split("=")[0];return xe===$t?(yr=!0,`${xe}=${Jt}`):ve}).filter(ve=>ve);return yr||Cr.push(`${$t}=${Jt}`),`#${Cr.join("&")}`}return`#${Jt}`}}let zu={linearity:.3,easing:a.b8(0,0,.3,1)},Fc=a.e({deceleration:2500,maxSpeed:1400},zu),wc=a.e({deceleration:20,maxSpeed:1400},zu),bd=a.e({deceleration:1e3,maxSpeed:360},zu),xf=a.e({deceleration:1e3,maxSpeed:90},zu);class Pf{constructor(w){this._map=w,this.clear()}clear(){this._inertiaBuffer=[]}record(w){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:u.now(),settings:w})}_drainInertiaBuffer(){let w=this._inertiaBuffer,B=u.now();for(;w.length>0&&B-w[0].time>160;)w.shift()}_onMoveEnd(w){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let B={zoom:0,bearing:0,pitch:0,pan:new a.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:le}of this._inertiaBuffer)B.zoom+=le.zoomDelta||0,B.bearing+=le.bearingDelta||0,B.pitch+=le.pitchDelta||0,le.panDelta&&B.pan._add(le.panDelta),le.around&&(B.around=le.around),le.pinchAround&&(B.pinchAround=le.pinchAround);let Q=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,ee={};if(B.pan.mag()){let le=bf(B.pan.mag(),Q,a.e({},Fc,w||{}));ee.offset=B.pan.mult(le.amount/B.pan.mag()),ee.center=this._map.transform.center,qu(ee,le)}if(B.zoom){let le=bf(B.zoom,Q,wc);ee.zoom=this._map.transform.zoom+le.amount,qu(ee,le)}if(B.bearing){let le=bf(B.bearing,Q,bd);ee.bearing=this._map.transform.bearing+a.ac(le.amount,-179,179),qu(ee,le)}if(B.pitch){let le=bf(B.pitch,Q,xf);ee.pitch=this._map.transform.pitch+le.amount,qu(ee,le)}if(ee.zoom||ee.bearing){let le=B.pinchAround===void 0?B.around:B.pinchAround;ee.around=le?this._map.unproject(le):this._map.getCenter()}return this.clear(),a.e(ee,{noMoveStart:!0})}}function qu(ue,w){(!ue.duration||ue.durationB.unproject(ut)),Ze=le.reduce((ut,Mt,Jt,$t)=>ut.add(Mt.div($t.length)),new a.P(0,0));super(w,{points:le,point:Ze,lngLats:Fe,lngLat:B.unproject(Ze),originalEvent:Q}),this._defaultPrevented=!1}}class Xh extends a.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(w,B,Q){super(w,{originalEvent:Q}),this._defaultPrevented=!1}}class If{constructor(w,B){this._map=w,this._clickTolerance=B.clickTolerance}reset(){delete this._mousedownPos}wheel(w){return this._firePreventable(new Xh(w.type,this._map,w))}mousedown(w,B){return this._mousedownPos=B,this._firePreventable(new jl(w.type,this._map,w))}mouseup(w){this._map.fire(new jl(w.type,this._map,w))}click(w,B){this._mousedownPos&&this._mousedownPos.dist(B)>=this._clickTolerance||this._map.fire(new jl(w.type,this._map,w))}dblclick(w){return this._firePreventable(new jl(w.type,this._map,w))}mouseover(w){this._map.fire(new jl(w.type,this._map,w))}mouseout(w){this._map.fire(new jl(w.type,this._map,w))}touchstart(w){return this._firePreventable(new uf(w.type,this._map,w))}touchmove(w){this._map.fire(new uf(w.type,this._map,w))}touchend(w){this._map.fire(new uf(w.type,this._map,w))}touchcancel(w){this._map.fire(new uf(w.type,this._map,w))}_firePreventable(w){if(this._map.fire(w),w.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Cs{constructor(w){this._map=w}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(w){this._map.fire(new jl(w.type,this._map,w))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new jl("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(w){this._delayContextMenu?this._contextMenuEvent=w:this._ignoreContextMenu||this._map.fire(new jl(w.type,this._map,w)),this._map.listens("contextmenu")&&w.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class du{constructor(w){this._map=w}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(w){return this.transform.pointLocation(a.P.convert(w),this._map.terrain)}}class ku{constructor(w,B){this._map=w,this._tr=new du(w),this._el=w.getCanvasContainer(),this._container=w.getContainer(),this._clickTolerance=B.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(w,B){this.isEnabled()&&w.shiftKey&&w.button===0&&(c.disableDrag(),this._startPos=this._lastPos=B,this._active=!0)}mousemoveWindow(w,B){if(!this._active)return;let Q=B;if(this._lastPos.equals(Q)||!this._box&&Q.dist(this._startPos)le.fitScreenCoordinates(Q,ee,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",w)}keydown(w){this._active&&w.keyCode===27&&(this.reset(),this._fireEvent("boxzoomcancel",w))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(c.remove(this._box),this._box=null),c.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(w,B){return this._map.fire(new a.k(w,{originalEvent:B}))}}function Xf(ue,w){if(ue.length!==w.length)throw new Error(`The number of touches and points are not equal - touches ${ue.length}, points ${w.length}`);let B={};for(let Q=0;Qthis.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=w.timeStamp),Q.length===this.numTouches&&(this.centroid=function(ee){let le=new a.P(0,0);for(let Fe of ee)le._add(Fe);return le.div(ee.length)}(B),this.touches=Xf(Q,B)))}touchmove(w,B,Q){if(this.aborted||!this.centroid)return;let ee=Xf(Q,B);for(let le in this.touches){let Fe=ee[le];(!Fe||Fe.dist(this.touches[le])>30)&&(this.aborted=!0)}}touchend(w,B,Q){if((!this.centroid||w.timeStamp-this.startTime>500)&&(this.aborted=!0),Q.length===0){let ee=!this.aborted&&this.centroid;if(this.reset(),ee)return ee}}}class wf{constructor(w){this.singleTap=new Us(w),this.numTaps=w.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(w,B,Q){this.singleTap.touchstart(w,B,Q)}touchmove(w,B,Q){this.singleTap.touchmove(w,B,Q)}touchend(w,B,Q){let ee=this.singleTap.touchend(w,B,Q);if(ee){let le=w.timeStamp-this.lastTime<500,Fe=!this.lastTap||this.lastTap.dist(ee)<30;if(le&&Fe||this.reset(),this.count++,this.lastTime=w.timeStamp,this.lastTap=ee,this.count===this.numTaps)return this.reset(),ee}}}class zc{constructor(w){this._tr=new du(w),this._zoomIn=new wf({numTouches:1,numTaps:2}),this._zoomOut=new wf({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(w,B,Q){this._zoomIn.touchstart(w,B,Q),this._zoomOut.touchstart(w,B,Q)}touchmove(w,B,Q){this._zoomIn.touchmove(w,B,Q),this._zoomOut.touchmove(w,B,Q)}touchend(w,B,Q){let ee=this._zoomIn.touchend(w,B,Q),le=this._zoomOut.touchend(w,B,Q),Fe=this._tr;return ee?(this._active=!0,w.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:Ze=>Ze.easeTo({duration:300,zoom:Fe.zoom+1,around:Fe.unproject(ee)},{originalEvent:w})}):le?(this._active=!0,w.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:Ze=>Ze.easeTo({duration:300,zoom:Fe.zoom-1,around:Fe.unproject(le)},{originalEvent:w})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Wu{constructor(w){this._enabled=!!w.enable,this._moveStateManager=w.moveStateManager,this._clickTolerance=w.clickTolerance||1,this._moveFunction=w.move,this._activateOnStart=!!w.activateOnStart,w.assignEvents(this),this.reset()}reset(w){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(w)}_move(...w){let B=this._moveFunction(...w);if(B.bearingDelta||B.pitchDelta||B.around||B.panDelta)return this._active=!0,B}dragStart(w,B){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(w)&&(this._moveStateManager.startMove(w),this._lastPoint=B.length?B[0]:B,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(w,B){if(!this.isEnabled())return;let Q=this._lastPoint;if(!Q)return;if(w.preventDefault(),!this._moveStateManager.isValidMoveEvent(w))return void this.reset(w);let ee=B.length?B[0]:B;return!this._moved&&ee.dist(Q){ue.mousedown=ue.dragStart,ue.mousemoveWindow=ue.dragMove,ue.mouseup=ue.dragEnd,ue.contextmenu=w=>{w.preventDefault()}},Wl=({enable:ue,clickTolerance:w,bearingDegreesPerPixelMoved:B=.8})=>{let Q=new Xu({checkCorrectEvent:ee=>c.mouseButton(ee)===0&&ee.ctrlKey||c.mouseButton(ee)===2});return new Wu({clickTolerance:w,move:(ee,le)=>({bearingDelta:(le.x-ee.x)*B}),moveStateManager:Q,enable:ue,assignEvents:Zf})},ah=({enable:ue,clickTolerance:w,pitchDegreesPerPixelMoved:B=-.5})=>{let Q=new Xu({checkCorrectEvent:ee=>c.mouseButton(ee)===0&&ee.ctrlKey||c.mouseButton(ee)===2});return new Wu({clickTolerance:w,move:(ee,le)=>({pitchDelta:(le.y-ee.y)*B}),moveStateManager:Q,enable:ue,assignEvents:Zf})};class Zu{constructor(w,B){this._clickTolerance=w.clickTolerance||1,this._map=B,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new a.P(0,0)}_shouldBePrevented(w){return w<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(w,B,Q){return this._calculateTransform(w,B,Q)}touchmove(w,B,Q){if(this._active){if(!this._shouldBePrevented(Q.length))return w.preventDefault(),this._calculateTransform(w,B,Q);this._map.cooperativeGestures.notifyGestureBlocked("touch_pan",w)}}touchend(w,B,Q){this._calculateTransform(w,B,Q),this._active&&this._shouldBePrevented(Q.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(w,B,Q){Q.length>0&&(this._active=!0);let ee=Xf(Q,B),le=new a.P(0,0),Fe=new a.P(0,0),Ze=0;for(let Mt in ee){let Jt=ee[Mt],$t=this._touches[Mt];$t&&(le._add(Jt),Fe._add(Jt.sub($t)),Ze++,ee[Mt]=Jt)}if(this._touches=ee,this._shouldBePrevented(Ze)||!Fe.mag())return;let ut=Fe.div(Ze);return this._sum._add(ut),this._sum.mag()Math.abs(ue.x)}class Bc extends qc{constructor(w){super(),this._currentTouchCount=0,this._map=w}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(w,B,Q){super.touchstart(w,B,Q),this._currentTouchCount=Q.length}_start(w){this._lastPoints=w,fc(w[0].sub(w[1]))&&(this._valid=!1)}_move(w,B,Q){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let ee=w[0].sub(this._lastPoints[0]),le=w[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(ee,le,Q.timeStamp),this._valid?(this._lastPoints=w,this._active=!0,{pitchDelta:(ee.y+le.y)/2*-.5}):void 0}gestureBeginsVertically(w,B,Q){if(this._valid!==void 0)return this._valid;let ee=w.mag()>=2,le=B.mag()>=2;if(!ee&&!le)return;if(!ee||!le)return this._firstMove===void 0&&(this._firstMove=Q),Q-this._firstMove<100&&void 0;let Fe=w.y>0==B.y>0;return fc(w)&&fc(B)&&Fe}}let kt={panStep:100,bearingStep:15,pitchStep:10};class Zt{constructor(w){this._tr=new du(w);let B=kt;this._panStep=B.panStep,this._bearingStep=B.bearingStep,this._pitchStep=B.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(w){if(w.altKey||w.ctrlKey||w.metaKey)return;let B=0,Q=0,ee=0,le=0,Fe=0;switch(w.keyCode){case 61:case 107:case 171:case 187:B=1;break;case 189:case 109:case 173:B=-1;break;case 37:w.shiftKey?Q=-1:(w.preventDefault(),le=-1);break;case 39:w.shiftKey?Q=1:(w.preventDefault(),le=1);break;case 38:w.shiftKey?ee=1:(w.preventDefault(),Fe=-1);break;case 40:w.shiftKey?ee=-1:(w.preventDefault(),Fe=1);break;default:return}return this._rotationDisabled&&(Q=0,ee=0),{cameraAnimation:Ze=>{let ut=this._tr;Ze.easeTo({duration:300,easeId:"keyboardHandler",easing:Er,zoom:B?Math.round(ut.zoom)+B*(w.shiftKey?2:1):ut.zoom,bearing:ut.bearing+Q*this._bearingStep,pitch:ut.pitch+ee*this._pitchStep,offset:[-le*this._panStep,-Fe*this._panStep],center:ut.center},{originalEvent:w})}}}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 Er(ue){return ue*(2-ue)}let xr=4.000244140625;class Kr{constructor(w,B){this._onTimeout=Q=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(Q)},this._map=w,this._tr=new du(w),this._triggerRenderFrame=B,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(w){this._defaultZoomRate=w}setWheelZoomRate(w){this._wheelZoomRate=w}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(w){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!w&&w.around==="center")}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(w){return!!this._map.cooperativeGestures.isEnabled()&&!(w.ctrlKey||this._map.cooperativeGestures.isBypassed(w))}wheel(w){if(!this.isEnabled())return;if(this._shouldBePrevented(w))return void this._map.cooperativeGestures.notifyGestureBlocked("wheel_zoom",w);let B=w.deltaMode===WheelEvent.DOM_DELTA_LINE?40*w.deltaY:w.deltaY,Q=u.now(),ee=Q-(this._lastWheelEventTime||0);this._lastWheelEventTime=Q,B!==0&&B%xr==0?this._type="wheel":B!==0&&Math.abs(B)<4?this._type="trackpad":ee>400?(this._type=null,this._lastValue=B,this._timeout=setTimeout(this._onTimeout,40,w)):this._type||(this._type=Math.abs(ee*B)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,B+=this._lastValue)),w.shiftKey&&B&&(B/=4),this._type&&(this._lastWheelEvent=w,this._delta-=B,this._active||this._start(w)),w.preventDefault()}_start(w){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 B=c.mousePos(this._map.getCanvas(),w),Q=this._tr;this._around=B.y>Q.transform.height/2-Q.transform.getHorizon()?a.N.convert(this._aroundCenter?Q.center:Q.unproject(B)):a.N.convert(Q.center),this._aroundPoint=Q.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let w=this._tr.transform;if(this._delta!==0){let ut=this._type==="wheel"&&Math.abs(this._delta)>xr?this._wheelZoomRate:this._defaultZoomRate,Mt=2/(1+Math.exp(-Math.abs(this._delta*ut)));this._delta<0&&Mt!==0&&(Mt=1/Mt);let Jt=typeof this._targetZoom=="number"?w.zoomScale(this._targetZoom):w.scale;this._targetZoom=Math.min(w.maxZoom,Math.max(w.minZoom,w.scaleZoom(Jt*Mt))),this._type==="wheel"&&(this._startZoom=w.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let B=typeof this._targetZoom=="number"?this._targetZoom:w.zoom,Q=this._startZoom,ee=this._easing,le,Fe=!1,Ze=u.now()-this._lastWheelEventTime;if(this._type==="wheel"&&Q&&ee&&Ze){let ut=Math.min(Ze/200,1),Mt=ee(ut);le=a.y.number(Q,B,Mt),ut<1?this._frameId||(this._frameId=!0):Fe=!0}else le=B,Fe=!0;return this._active=!0,Fe&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!Fe,zoomDelta:le-w.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(w){let B=a.b9;if(this._prevEase){let Q=this._prevEase,ee=(u.now()-Q.start)/Q.duration,le=Q.easing(ee+.01)-Q.easing(ee),Fe=.27/Math.sqrt(le*le+1e-4)*.01,Ze=Math.sqrt(.0729-Fe*Fe);B=a.b8(Fe,Ze,.25,1)}return this._prevEase={start:u.now(),duration:w,easing:B},B}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class Mi{constructor(w,B){this._clickZoom=w,this._tapZoom=B}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 Wi{constructor(w){this._tr=new du(w),this.reset()}reset(){this._active=!1}dblclick(w,B){return w.preventDefault(),{cameraAnimation:Q=>{Q.easeTo({duration:300,zoom:this._tr.zoom+(w.shiftKey?-1:1),around:this._tr.unproject(B)},{originalEvent:w})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class dn{constructor(){this._tap=new wf({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(w,B,Q){if(!this._swipePoint)if(this._tapTime){let ee=B[0],le=w.timeStamp-this._tapTime<500,Fe=this._tapPoint.dist(ee)<30;le&&Fe?Q.length>0&&(this._swipePoint=ee,this._swipeTouch=Q[0].identifier):this.reset()}else this._tap.touchstart(w,B,Q)}touchmove(w,B,Q){if(this._tapTime){if(this._swipePoint){if(Q[0].identifier!==this._swipeTouch)return;let ee=B[0],le=ee.y-this._swipePoint.y;return this._swipePoint=ee,w.preventDefault(),this._active=!0,{zoomDelta:le/128}}}else this._tap.touchmove(w,B,Q)}touchend(w,B,Q){if(this._tapTime)this._swipePoint&&Q.length===0&&this.reset();else{let ee=this._tap.touchend(w,B,Q);ee&&(this._tapTime=w.timeStamp,this._tapPoint=ee)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class wn{constructor(w,B,Q){this._el=w,this._mousePan=B,this._touchPan=Q}enable(w){this._inertiaOptions=w||{},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 On{constructor(w,B,Q){this._pitchWithRotate=w.pitchWithRotate,this._mouseRotate=B,this._mousePitch=Q}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 Yi{constructor(w,B,Q,ee){this._el=w,this._touchZoom=B,this._touchRotate=Q,this._tapDragZoom=ee,this._rotationDisabled=!1,this._enabled=!0}enable(w){this._touchZoom.enable(w),this._rotationDisabled||this._touchRotate.enable(w),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 $i{constructor(w,B){this._bypassKey=navigator.userAgent.indexOf("Mac")!==-1?"metaKey":"ctrlKey",this._map=w,this._options=B,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let w=this._map.getCanvasContainer();w.classList.add("maplibregl-cooperative-gestures"),this._container=c.create("div","maplibregl-cooperative-gesture-screen",w);let B=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");this._bypassKey==="metaKey"&&(B=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));let Q=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),ee=document.createElement("div");ee.className="maplibregl-desktop-message",ee.textContent=B,this._container.appendChild(ee);let le=document.createElement("div");le.className="maplibregl-mobile-message",le.textContent=Q,this._container.appendChild(le),this._container.setAttribute("aria-hidden","true")}_destroyUI(){this._container&&(c.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(w){return w[this._bypassKey]}notifyGestureBlocked(w,B){this._enabled&&(this._map.fire(new a.k("cooperativegestureprevented",{gestureType:w,originalEvent:B})),this._container.classList.add("maplibregl-show"),setTimeout(()=>{this._container.classList.remove("maplibregl-show")},100))}}let an=ue=>ue.zoom||ue.drag||ue.pitch||ue.rotate;class Fi extends a.k{}function ta(ue){return ue.panDelta&&ue.panDelta.mag()||ue.zoomDelta||ue.bearingDelta||ue.pitchDelta}class Ca{constructor(w,B){this.handleWindowEvent=ee=>{this.handleEvent(ee,`${ee.type}Window`)},this.handleEvent=(ee,le)=>{if(ee.type==="blur")return void this.stop(!0);this._updatingCamera=!0;let Fe=ee.type==="renderFrame"?void 0:ee,Ze={needsRenderFrame:!1},ut={},Mt={},Jt=ee.touches,$t=Jt?this._getMapTouches(Jt):void 0,yr=$t?c.touchPos(this._map.getCanvas(),$t):c.mousePos(this._map.getCanvas(),ee);for(let{handlerName:xe,handler:Ie,allowed:ze}of this._handlers){if(!Ie.isEnabled())continue;let Qe;this._blockedByActive(Mt,ze,xe)?Ie.reset():Ie[le||ee.type]&&(Qe=Ie[le||ee.type](ee,yr,$t),this.mergeHandlerResult(Ze,ut,Qe,xe,Fe),Qe&&Qe.needsRenderFrame&&this._triggerRenderFrame()),(Qe||Ie.isActive())&&(Mt[xe]=Ie)}let Cr={};for(let xe in this._previousActiveHandlers)Mt[xe]||(Cr[xe]=Fe);this._previousActiveHandlers=Mt,(Object.keys(Cr).length||ta(Ze))&&(this._changes.push([Ze,ut,Cr]),this._triggerRenderFrame()),(Object.keys(Mt).length||ta(Ze))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:ve}=Ze;ve&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],ve(this._map))},this._map=w,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Pf(w),this._bearingSnap=B.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(B);let Q=this._el;this._listeners=[[Q,"touchstart",{passive:!0}],[Q,"touchmove",{passive:!1}],[Q,"touchend",void 0],[Q,"touchcancel",void 0],[Q,"mousedown",void 0],[Q,"mousemove",void 0],[Q,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[Q,"mouseover",void 0],[Q,"mouseout",void 0],[Q,"dblclick",void 0],[Q,"click",void 0],[Q,"keydown",{capture:!1}],[Q,"keyup",void 0],[Q,"wheel",{passive:!1}],[Q,"contextmenu",void 0],[window,"blur",void 0]];for(let[ee,le,Fe]of this._listeners)c.addEventListener(ee,le,ee===document?this.handleWindowEvent:this.handleEvent,Fe)}destroy(){for(let[w,B,Q]of this._listeners)c.removeEventListener(w,B,w===document?this.handleWindowEvent:this.handleEvent,Q)}_addDefaultHandlers(w){let B=this._map,Q=B.getCanvasContainer();this._add("mapEvent",new If(B,w));let ee=B.boxZoom=new ku(B,w);this._add("boxZoom",ee),w.interactive&&w.boxZoom&&ee.enable();let le=B.cooperativeGestures=new $i(B,w.cooperativeGestures);this._add("cooperativeGestures",le),w.cooperativeGestures&&le.enable();let Fe=new zc(B),Ze=new Wi(B);B.doubleClickZoom=new Mi(Ze,Fe),this._add("tapZoom",Fe),this._add("clickZoom",Ze),w.interactive&&w.doubleClickZoom&&B.doubleClickZoom.enable();let ut=new dn;this._add("tapDragZoom",ut);let Mt=B.touchPitch=new Bc(B);this._add("touchPitch",Mt),w.interactive&&w.touchPitch&&B.touchPitch.enable(w.touchPitch);let Jt=Wl(w),$t=ah(w);B.dragRotate=new On(w,Jt,$t),this._add("mouseRotate",Jt,["mousePitch"]),this._add("mousePitch",$t,["mouseRotate"]),w.interactive&&w.dragRotate&&B.dragRotate.enable();let yr=(({enable:Qe,clickTolerance:Xe})=>{let nt=new Xu({checkCorrectEvent:qt=>c.mouseButton(qt)===0&&!qt.ctrlKey});return new Wu({clickTolerance:Xe,move:(qt,Wt)=>({around:Wt,panDelta:Wt.sub(qt)}),activateOnStart:!0,moveStateManager:nt,enable:Qe,assignEvents:Zf})})(w),Cr=new Zu(w,B);B.dragPan=new wn(Q,yr,Cr),this._add("mousePan",yr),this._add("touchPan",Cr,["touchZoom","touchRotate"]),w.interactive&&w.dragPan&&B.dragPan.enable(w.dragPan);let ve=new ff,xe=new vu;B.touchZoomRotate=new Yi(Q,xe,ve,ut),this._add("touchRotate",ve,["touchPan","touchZoom"]),this._add("touchZoom",xe,["touchPan","touchRotate"]),w.interactive&&w.touchZoomRotate&&B.touchZoomRotate.enable(w.touchZoomRotate);let Ie=B.scrollZoom=new Kr(B,()=>this._triggerRenderFrame());this._add("scrollZoom",Ie,["mousePan"]),w.interactive&&w.scrollZoom&&B.scrollZoom.enable(w.scrollZoom);let ze=B.keyboard=new Zt(B);this._add("keyboard",ze),w.interactive&&w.keyboard&&B.keyboard.enable(),this._add("blockableMapEvent",new Cs(B))}_add(w,B,Q){this._handlers.push({handlerName:w,handler:B,allowed:Q}),this._handlersById[w]=B}stop(w){if(!this._updatingCamera){for(let{handler:B}of this._handlers)B.reset();this._inertia.clear(),this._fireEvents({},{},w),this._changes=[]}}isActive(){for(let{handler:w}of this._handlers)if(w.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!an(this._eventsInProgress)||this.isZooming()}_blockedByActive(w,B,Q){for(let ee in w)if(ee!==Q&&(!B||B.indexOf(ee)<0))return!0;return!1}_getMapTouches(w){let B=[];for(let Q of w)this._el.contains(Q.target)&&B.push(Q);return B}mergeHandlerResult(w,B,Q,ee,le){if(!Q)return;a.e(w,Q);let Fe={handlerName:ee,originalEvent:Q.originalEvent||le};Q.zoomDelta!==void 0&&(B.zoom=Fe),Q.panDelta!==void 0&&(B.drag=Fe),Q.pitchDelta!==void 0&&(B.pitch=Fe),Q.bearingDelta!==void 0&&(B.rotate=Fe)}_applyChanges(){let w={},B={},Q={};for(let[ee,le,Fe]of this._changes)ee.panDelta&&(w.panDelta=(w.panDelta||new a.P(0,0))._add(ee.panDelta)),ee.zoomDelta&&(w.zoomDelta=(w.zoomDelta||0)+ee.zoomDelta),ee.bearingDelta&&(w.bearingDelta=(w.bearingDelta||0)+ee.bearingDelta),ee.pitchDelta&&(w.pitchDelta=(w.pitchDelta||0)+ee.pitchDelta),ee.around!==void 0&&(w.around=ee.around),ee.pinchAround!==void 0&&(w.pinchAround=ee.pinchAround),ee.noInertia&&(w.noInertia=ee.noInertia),a.e(B,le),a.e(Q,Fe);this._updateMapTransform(w,B,Q),this._changes=[]}_updateMapTransform(w,B,Q){let ee=this._map,le=ee._getTransformForUpdate(),Fe=ee.terrain;if(!(ta(w)||Fe&&this._terrainMovement))return this._fireEvents(B,Q,!0);let{panDelta:Ze,zoomDelta:ut,bearingDelta:Mt,pitchDelta:Jt,around:$t,pinchAround:yr}=w;yr!==void 0&&($t=yr),ee._stop(!0),$t=$t||ee.transform.centerPoint;let Cr=le.pointLocation(Ze?$t.sub(Ze):$t);Mt&&(le.bearing+=Mt),Jt&&(le.pitch+=Jt),ut&&(le.zoom+=ut),Fe?this._terrainMovement||!B.drag&&!B.zoom?B.drag&&this._terrainMovement?le.center=le.pointLocation(le.centerPoint.sub(Ze)):le.setLocationAtPoint(Cr,$t):(this._terrainMovement=!0,this._map._elevationFreeze=!0,le.setLocationAtPoint(Cr,$t)):le.setLocationAtPoint(Cr,$t),ee._applyUpdatedTransform(le),this._map._update(),w.noInertia||this._inertia.record(w),this._fireEvents(B,Q,!0)}_fireEvents(w,B,Q){let ee=an(this._eventsInProgress),le=an(w),Fe={};for(let $t in w){let{originalEvent:yr}=w[$t];this._eventsInProgress[$t]||(Fe[`${$t}start`]=yr),this._eventsInProgress[$t]=w[$t]}!ee&&le&&this._fireEvent("movestart",le.originalEvent);for(let $t in Fe)this._fireEvent($t,Fe[$t]);le&&this._fireEvent("move",le.originalEvent);for(let $t in w){let{originalEvent:yr}=w[$t];this._fireEvent($t,yr)}let Ze={},ut;for(let $t in this._eventsInProgress){let{handlerName:yr,originalEvent:Cr}=this._eventsInProgress[$t];this._handlersById[yr].isActive()||(delete this._eventsInProgress[$t],ut=B[yr]||Cr,Ze[`${$t}end`]=ut)}for(let $t in Ze)this._fireEvent($t,Ze[$t]);let Mt=an(this._eventsInProgress),Jt=(ee||le)&&!Mt;if(Jt&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;let $t=this._map._getTransformForUpdate();$t.recalculateZoom(this._map.terrain),this._map._applyUpdatedTransform($t)}if(Q&&Jt){this._updatingCamera=!0;let $t=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),yr=Cr=>Cr!==0&&-this._bearingSnap{delete this._frameId,this.handleEvent(new Fi("renderFrame",{timeStamp:w})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class Ra extends a.E{constructor(w,B){super(),this._renderFrameCallback=()=>{let Q=Math.min((u.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(Q)),Q<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=w,this._bearingSnap=B.bearingSnap,this.on("moveend",()=>{delete this._requestedCameraState})}getCenter(){return new a.N(this.transform.center.lng,this.transform.center.lat)}setCenter(w,B){return this.jumpTo({center:w},B)}panBy(w,B,Q){return w=a.P.convert(w).mult(-1),this.panTo(this.transform.center,a.e({offset:w},B),Q)}panTo(w,B,Q){return this.easeTo(a.e({center:w},B),Q)}getZoom(){return this.transform.zoom}setZoom(w,B){return this.jumpTo({zoom:w},B),this}zoomTo(w,B,Q){return this.easeTo(a.e({zoom:w},B),Q)}zoomIn(w,B){return this.zoomTo(this.getZoom()+1,w,B),this}zoomOut(w,B){return this.zoomTo(this.getZoom()-1,w,B),this}getBearing(){return this.transform.bearing}setBearing(w,B){return this.jumpTo({bearing:w},B),this}getPadding(){return this.transform.padding}setPadding(w,B){return this.jumpTo({padding:w},B),this}rotateTo(w,B,Q){return this.easeTo(a.e({bearing:w},B),Q)}resetNorth(w,B){return this.rotateTo(0,a.e({duration:1e3},w),B),this}resetNorthPitch(w,B){return this.easeTo(a.e({bearing:0,pitch:0,duration:1e3},w),B),this}snapToNorth(w,B){return Math.abs(this.getBearing()){if(this._zooming&&(ee.zoom=a.y.number(le,Ie,nr)),this._rotating&&(ee.bearing=a.y.number(Fe,Mt,nr)),this._pitching&&(ee.pitch=a.y.number(Ze,Jt,nr)),this._padding&&(ee.interpolatePadding(ut,$t,nr),Cr=ee.centerPoint.add(yr)),this.terrain&&!w.freezeElevation&&this._updateElevation(nr),nt)ee.setLocationAtPoint(nt,qt);else{let fr=ee.zoomScale(ee.zoom-le),br=Ie>le?Math.min(2,Xe):Math.max(.5,Xe),Fr=Math.pow(br,1-nr),Hr=ee.unproject(ze.add(Qe.mult(nr*Fr)).mult(fr));ee.setLocationAtPoint(ee.renderWorldCopies?Hr.wrap():Hr,Cr)}this._applyUpdatedTransform(ee),this._fireMoveEvents(B)},nr=>{this.terrain&&w.freezeElevation&&this._finalizeElevation(),this._afterEase(B,nr)},w),this}_prepareEase(w,B,Q={}){this._moving=!0,B||Q.moving||this.fire(new a.k("movestart",w)),this._zooming&&!Q.zooming&&this.fire(new a.k("zoomstart",w)),this._rotating&&!Q.rotating&&this.fire(new a.k("rotatestart",w)),this._pitching&&!Q.pitching&&this.fire(new a.k("pitchstart",w))}_prepareElevation(w){this._elevationCenter=w,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(w,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(w){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let B=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(w<1&&B!==this._elevationTarget){let Q=this._elevationTarget-this._elevationStart;this._elevationStart+=w*(Q-(B-(Q*w+this._elevationStart))/(1-w)),this._elevationTarget=B}this.transform.elevation=a.y.number(this._elevationStart,this._elevationTarget,w)}_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(w){let B=w.getCameraPosition(),Q=this.terrain.getElevationForLngLatZoom(B.lngLat,w.zoom);if(B.altitudethis._elevateCameraIfInsideTerrain(ee)),this.transformCameraUpdate&&B.push(ee=>this.transformCameraUpdate(ee)),!B.length)return;let Q=w.clone();for(let ee of B){let le=Q.clone(),{center:Fe,zoom:Ze,pitch:ut,bearing:Mt,elevation:Jt}=ee(le);Fe&&(le.center=Fe),Ze!==void 0&&(le.zoom=Ze),ut!==void 0&&(le.pitch=ut),Mt!==void 0&&(le.bearing=Mt),Jt!==void 0&&(le.elevation=Jt),Q.apply(le)}this.transform.apply(Q)}_fireMoveEvents(w){this.fire(new a.k("move",w)),this._zooming&&this.fire(new a.k("zoom",w)),this._rotating&&this.fire(new a.k("rotate",w)),this._pitching&&this.fire(new a.k("pitch",w))}_afterEase(w,B){if(this._easeId&&B&&this._easeId===B)return;delete this._easeId;let Q=this._zooming,ee=this._rotating,le=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,Q&&this.fire(new a.k("zoomend",w)),ee&&this.fire(new a.k("rotateend",w)),le&&this.fire(new a.k("pitchend",w)),this.fire(new a.k("moveend",w))}flyTo(w,B){var Q;if(!w.essential&&u.prefersReducedMotion){let Ln=a.M(w,["center","zoom","bearing","pitch","around"]);return this.jumpTo(Ln,B)}this.stop(),w=a.e({offset:[0,0],speed:1.2,curve:1.42,easing:a.b9},w);let ee=this._getTransformForUpdate(),le=ee.zoom,Fe=ee.bearing,Ze=ee.pitch,ut=ee.padding,Mt="bearing"in w?this._normalizeBearing(w.bearing,Fe):Fe,Jt="pitch"in w?+w.pitch:Ze,$t="padding"in w?w.padding:ee.padding,yr=a.P.convert(w.offset),Cr=ee.centerPoint.add(yr),ve=ee.pointLocation(Cr),{center:xe,zoom:Ie}=ee.getConstrained(a.N.convert(w.center||ve),(Q=w.zoom)!==null&&Q!==void 0?Q:le);this._normalizeCenter(xe,ee);let ze=ee.zoomScale(Ie-le),Qe=ee.project(ve),Xe=ee.project(xe).sub(Qe),nt=w.curve,qt=Math.max(ee.width,ee.height),Wt=qt/ze,nr=Xe.mag();if("minZoom"in w){let Ln=a.ac(Math.min(w.minZoom,le,Ie),ee.minZoom,ee.maxZoom),Yn=qt/ee.zoomScale(Ln-le);nt=Math.sqrt(Yn/nr*2)}let fr=nt*nt;function br(Ln){let Yn=(Wt*Wt-qt*qt+(Ln?-1:1)*fr*fr*nr*nr)/(2*(Ln?Wt:qt)*fr*nr);return Math.log(Math.sqrt(Yn*Yn+1)-Yn)}function Fr(Ln){return(Math.exp(Ln)-Math.exp(-Ln))/2}function Hr(Ln){return(Math.exp(Ln)+Math.exp(-Ln))/2}let ri=br(!1),Ci=function(Ln){return Hr(ri)/Hr(ri+nt*Ln)},cn=function(Ln){return qt*((Hr(ri)*(Fr(Yn=ri+nt*Ln)/Hr(Yn))-Fr(ri))/fr)/nr;var Yn},sn=(br(!0)-ri)/nt;if(Math.abs(nr)<1e-6||!isFinite(sn)){if(Math.abs(qt-Wt)<1e-6)return this.easeTo(w,B);let Ln=Wt0,Ci=Yn=>Math.exp(Ln*nt*Yn)}return w.duration="duration"in w?+w.duration:1e3*sn/("screenSpeed"in w?+w.screenSpeed/nt:+w.speed),w.maxDuration&&w.duration>w.maxDuration&&(w.duration=0),this._zooming=!0,this._rotating=Fe!==Mt,this._pitching=Jt!==Ze,this._padding=!ee.isPaddingEqual($t),this._prepareEase(B,!1),this.terrain&&this._prepareElevation(xe),this._ease(Ln=>{let Yn=Ln*sn,Aa=1/Ci(Yn);ee.zoom=Ln===1?Ie:le+ee.scaleZoom(Aa),this._rotating&&(ee.bearing=a.y.number(Fe,Mt,Ln)),this._pitching&&(ee.pitch=a.y.number(Ze,Jt,Ln)),this._padding&&(ee.interpolatePadding(ut,$t,Ln),Cr=ee.centerPoint.add(yr)),this.terrain&&!w.freezeElevation&&this._updateElevation(Ln);let fa=Ln===1?xe:ee.unproject(Qe.add(Xe.mult(cn(Yn))).mult(Aa));ee.setLocationAtPoint(ee.renderWorldCopies?fa.wrap():fa,Cr),this._applyUpdatedTransform(ee),this._fireMoveEvents(B)},()=>{this.terrain&&w.freezeElevation&&this._finalizeElevation(),this._afterEase(B)},w),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(w,B){var Q;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let ee=this._onEaseEnd;delete this._onEaseEnd,ee.call(this,B)}return w||(Q=this.handlers)===null||Q===void 0||Q.stop(!1),this}_ease(w,B,Q){Q.animate===!1||Q.duration===0?(w(1),B()):(this._easeStart=u.now(),this._easeOptions=Q,this._onEaseFrame=w,this._onEaseEnd=B,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(w,B){w=a.b3(w,-180,180);let Q=Math.abs(w-B);return Math.abs(w-360-B)180?-360:Q<-180?360:0}queryTerrainElevation(w){return this.terrain?this.terrain.getElevationForLngLatZoom(a.N.convert(w),this.transform.tileZoom)-this.transform.elevation:null}}let La={compact:!0,customAttribution:'MapLibre'};class Ua{constructor(w=La){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=B=>{!B||B.sourceDataType!=="metadata"&&B.sourceDataType!=="visibility"&&B.dataType!=="style"&&B.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=w}getDefaultPosition(){return"bottom-right"}onAdd(w){return this._map=w,this._compact=this.options.compact,this._container=c.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=c.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=c.create("div","maplibregl-ctrl-attrib-inner",this._container),this._updateAttributions(),this._updateCompact(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("terrain",this._updateData),this._map.on("resize",this._updateCompact),this._map.on("drag",this._updateCompactMinimize),this._container}onRemove(){c.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("terrain",this._updateData),this._map.off("resize",this._updateCompact),this._map.off("drag",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(w,B){let Q=this._map._getUIString(`AttributionControl.${B}`);w.title=Q,w.setAttribute("aria-label",Q)}_updateAttributions(){if(!this._map.style)return;let w=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?w=w.concat(this.options.customAttribution.map(ee=>typeof ee!="string"?"":ee)):typeof this.options.customAttribution=="string"&&w.push(this.options.customAttribution)),this._map.style.stylesheet){let ee=this._map.style.stylesheet;this.styleOwner=ee.owner,this.styleId=ee.id}let B=this._map.style.sourceCaches;for(let ee in B){let le=B[ee];if(le.used||le.usedForTerrain){let Fe=le.getSource();Fe.attribution&&w.indexOf(Fe.attribution)<0&&w.push(Fe.attribution)}}w=w.filter(ee=>String(ee).trim()),w.sort((ee,le)=>ee.length-le.length),w=w.filter((ee,le)=>{for(let Fe=le+1;Fe=0)return!1;return!0});let Q=w.join(" | ");Q!==this._attribHTML&&(this._attribHTML=Q,w.length?(this._innerContainer.innerHTML=Q,this._container.classList.remove("maplibregl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty"),this._updateCompact(),this._editLink=null)}}class Zn{constructor(w={}){this._updateCompact=()=>{let B=this._container.children;if(B.length){let Q=B[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&Q.classList.add("maplibregl-compact"):Q.classList.remove("maplibregl-compact")}},this.options=w}getDefaultPosition(){return"bottom-left"}onAdd(w){this._map=w,this._compact=this.options&&this.options.compact,this._container=c.create("div","maplibregl-ctrl");let B=c.create("a","maplibregl-ctrl-logo");return B.target="_blank",B.rel="noopener nofollow",B.href="https://maplibre.org/",B.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),B.setAttribute("rel","noopener nofollow"),this._container.appendChild(B),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){c.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}}class Dn{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(w){let B=++this._id;return this._queue.push({callback:w,id:B,cancelled:!1}),B}remove(w){let B=this._currentlyRunning,Q=B?this._queue.concat(B):this._queue;for(let ee of Q)if(ee.id===w)return void(ee.cancelled=!0)}run(w=0){if(this._currentlyRunning)throw new Error("Attempting to run(), but is already running.");let B=this._currentlyRunning=this._queue;this._queue=[];for(let Q of B)if(!Q.cancelled&&(Q.callback(w),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var Ka=a.Y([{name:"a_pos3d",type:"Int16",components:3}]);class bo extends a.E{constructor(w){super(),this.sourceCache=w,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,w.usedForTerrain=!0,w.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(w,B){this.sourceCache.update(w,B),this._renderableTilesKeys=[];let Q={};for(let ee of w.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:B}))Q[ee.key]=!0,this._renderableTilesKeys.push(ee.key),this._tiles[ee.key]||(ee.posMatrix=new Float64Array(16),a.aP(ee.posMatrix,0,a.X,0,a.X,0,1),this._tiles[ee.key]=new Tt(ee,this.tileSize));for(let ee in this._tiles)Q[ee]||delete this._tiles[ee]}freeRtt(w){for(let B in this._tiles){let Q=this._tiles[B];(!w||Q.tileID.equals(w)||Q.tileID.isChildOf(w)||w.isChildOf(Q.tileID))&&(Q.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(w=>this.getTileByID(w))}getTileByID(w){return this._tiles[w]}getTerrainCoords(w){let B={};for(let Q of this._renderableTilesKeys){let ee=this._tiles[Q].tileID;if(ee.canonical.equals(w.canonical)){let le=w.clone();le.posMatrix=new Float64Array(16),a.aP(le.posMatrix,0,a.X,0,a.X,0,1),B[Q]=le}else if(ee.canonical.isChildOf(w.canonical)){let le=w.clone();le.posMatrix=new Float64Array(16);let Fe=ee.canonical.z-w.canonical.z,Ze=ee.canonical.x-(ee.canonical.x>>Fe<>Fe<>Fe;a.aP(le.posMatrix,0,Mt,0,Mt,0,1),a.J(le.posMatrix,le.posMatrix,[-Ze*Mt,-ut*Mt,0]),B[Q]=le}else if(w.canonical.isChildOf(ee.canonical)){let le=w.clone();le.posMatrix=new Float64Array(16);let Fe=w.canonical.z-ee.canonical.z,Ze=w.canonical.x-(w.canonical.x>>Fe<>Fe<>Fe;a.aP(le.posMatrix,0,a.X,0,a.X,0,1),a.J(le.posMatrix,le.posMatrix,[Ze*Mt,ut*Mt,0]),a.K(le.posMatrix,le.posMatrix,[1/2**Fe,1/2**Fe,0]),B[Q]=le}}return B}getSourceTile(w,B){let Q=this.sourceCache._source,ee=w.overscaledZ-this.deltaZoom;if(ee>Q.maxzoom&&(ee=Q.maxzoom),ee=Q.minzoom&&(!le||!le.dem);)le=this.sourceCache.getTileByID(w.scaledTo(ee--).key);return le}tilesAfterTime(w=Date.now()){return Object.values(this._tiles).filter(B=>B.timeAdded>=w)}}class Zo{constructor(w,B,Q){this.painter=w,this.sourceCache=new bo(B),this.options=Q,this.exaggeration=typeof Q.exaggeration=="number"?Q.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(w,B,Q,ee=a.X){var le;if(!(B>=0&&B=0&&Qw.canonical.z&&(w.canonical.z>=ee?le=w.canonical.z-ee:a.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));let Fe=w.canonical.x-(w.canonical.x>>le<>le<>8<<4|le>>8,B[Fe+3]=0;let Q=new a.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(B.buffer)),ee=new g(w,Q,w.gl.RGBA,{premultiply:!1});return ee.bind(w.gl.NEAREST,w.gl.CLAMP_TO_EDGE),this._coordsTexture=ee,ee}pointCoordinate(w){this.painter.maybeDrawDepthAndCoords(!0);let B=new Uint8Array(4),Q=this.painter.context,ee=Q.gl,le=Math.round(w.x*this.painter.pixelRatio/devicePixelRatio),Fe=Math.round(w.y*this.painter.pixelRatio/devicePixelRatio),Ze=Math.round(this.painter.height/devicePixelRatio);Q.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),ee.readPixels(le,Ze-Fe-1,1,1,ee.RGBA,ee.UNSIGNED_BYTE,B),Q.bindFramebuffer.set(null);let ut=B[0]+(B[2]>>4<<8),Mt=B[1]+((15&B[2])<<8),Jt=this.coordsIndex[255-B[3]],$t=Jt&&this.sourceCache.getTileByID(Jt);if(!$t)return null;let yr=this._coordsTextureSize,Cr=(1<<$t.tileID.canonical.z)*yr;return new a.Z(($t.tileID.canonical.x*yr+ut)/Cr+$t.tileID.wrap,($t.tileID.canonical.y*yr+Mt)/Cr,this.getElevation($t.tileID,ut,Mt,yr))}depthAtPoint(w){let B=new Uint8Array(4),Q=this.painter.context,ee=Q.gl;return Q.bindFramebuffer.set(this.getFramebuffer("depth").framebuffer),ee.readPixels(w.x,this.painter.height/devicePixelRatio-w.y-1,1,1,ee.RGBA,ee.UNSIGNED_BYTE,B),Q.bindFramebuffer.set(null),(B[0]/16777216+B[1]/65536+B[2]/256+B[3])/256}getTerrainMesh(){if(this._mesh)return this._mesh;let w=this.painter.context,B=new a.bd,Q=new a.aY,ee=this.meshSize,le=a.X/ee,Fe=ee*ee;for(let $t=0;$t<=ee;$t++)for(let yr=0;yr<=ee;yr++)B.emplaceBack(yr*le,$t*le,0);for(let $t=0;$tw.id!==B),this._recentlyUsed.push(w.id)}stampObject(w){w.stamp=++this._stamp}getOrCreateFreeObject(){for(let B of this._recentlyUsed)if(!this._objects[B].inUse)return this._objects[B];if(this._objects.length>=this._size)throw new Error("No free RenderPool available, call freeAllObjects() required!");let w=this._createObject(this._objects.length);return this._objects.push(w),w}freeObject(w){w.inUse=!1}freeAllObjects(){for(let w of this._objects)this.freeObject(w)}isFull(){return!(this._objects.length!w.inUse)===!1}}let as={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class ws{constructor(w,B){this.painter=w,this.terrain=B,this.pool=new Ss(w.context,30,B.sourceCache.tileSize*B.qualityFactor)}destruct(){this.pool.destruct()}getTexture(w){return this.pool.getObjectForId(w.rtt[this._stacks.length-1].id).texture}prepareForRender(w,B){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=w._order.filter(Q=>!w._layers[Q].isHidden(B)),this._coordsDescendingInv={};for(let Q in w.sourceCaches){this._coordsDescendingInv[Q]={};let ee=w.sourceCaches[Q].getVisibleCoordinates();for(let le of ee){let Fe=this.terrain.sourceCache.getTerrainCoords(le);for(let Ze in Fe)this._coordsDescendingInv[Q][Ze]||(this._coordsDescendingInv[Q][Ze]=[]),this._coordsDescendingInv[Q][Ze].push(Fe[Ze])}}this._coordsDescendingInvStr={};for(let Q of w._order){let ee=w._layers[Q],le=ee.source;if(as[ee.type]&&!this._coordsDescendingInvStr[le]){this._coordsDescendingInvStr[le]={};for(let Fe in this._coordsDescendingInv[le])this._coordsDescendingInvStr[le][Fe]=this._coordsDescendingInv[le][Fe].map(Ze=>Ze.key).sort().join()}}for(let Q of this._renderableTiles)for(let ee in this._coordsDescendingInvStr){let le=this._coordsDescendingInvStr[ee][Q.tileID.key];le&&le!==Q.rttCoords[ee]&&(Q.rtt=[])}}renderLayer(w){if(w.isHidden(this.painter.transform.zoom))return!1;let B=w.type,Q=this.painter,ee=this._renderableLayerIds[this._renderableLayerIds.length-1]===w.id;if(as[B]&&(this._prevType&&as[this._prevType]||this._stacks.push([]),this._prevType=B,this._stacks[this._stacks.length-1].push(w.id),!ee))return!0;if(as[this._prevType]||as[B]&&ee){this._prevType=B;let le=this._stacks.length-1,Fe=this._stacks[le]||[];for(let Ze of this._renderableTiles){if(this.pool.isFull()&&(js(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(Ze),Ze.rtt[le]){let Mt=this.pool.getObjectForId(Ze.rtt[le].id);if(Mt.stamp===Ze.rtt[le].stamp){this.pool.useObject(Mt);continue}}let ut=this.pool.getOrCreateFreeObject();this.pool.useObject(ut),this.pool.stampObject(ut),Ze.rtt[le]={id:ut.id,stamp:ut.stamp},Q.context.bindFramebuffer.set(ut.fbo.framebuffer),Q.context.clear({color:a.aM.transparent,stencil:0}),Q.currentStencilSource=void 0;for(let Mt=0;Mt{ue.touchstart=ue.dragStart,ue.touchmoveWindow=ue.dragMove,ue.touchend=ue.dragEnd},va={showCompass:!0,showZoom:!0,visualizePitch:!1};class no{constructor(w,B,Q=!1){this.mousedown=Fe=>{this.startMouse(a.e({},Fe,{ctrlKey:!0,preventDefault:()=>Fe.preventDefault()}),c.mousePos(this.element,Fe)),c.addEventListener(window,"mousemove",this.mousemove),c.addEventListener(window,"mouseup",this.mouseup)},this.mousemove=Fe=>{this.moveMouse(Fe,c.mousePos(this.element,Fe))},this.mouseup=Fe=>{this.mouseRotate.dragEnd(Fe),this.mousePitch&&this.mousePitch.dragEnd(Fe),this.offTemp()},this.touchstart=Fe=>{Fe.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=c.touchPos(this.element,Fe.targetTouches)[0],this.startTouch(Fe,this._startPos),c.addEventListener(window,"touchmove",this.touchmove,{passive:!1}),c.addEventListener(window,"touchend",this.touchend))},this.touchmove=Fe=>{Fe.targetTouches.length!==1?this.reset():(this._lastPos=c.touchPos(this.element,Fe.targetTouches)[0],this.moveTouch(Fe,this._lastPos))},this.touchend=Fe=>{Fe.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 ee=w.dragRotate._mouseRotate.getClickTolerance(),le=w.dragRotate._mousePitch.getClickTolerance();this.element=B,this.mouseRotate=Wl({clickTolerance:ee,enable:!0}),this.touchRotate=(({enable:Fe,clickTolerance:Ze,bearingDegreesPerPixelMoved:ut=.8})=>{let Mt=new cf;return new Wu({clickTolerance:Ze,move:(Jt,$t)=>({bearingDelta:($t.x-Jt.x)*ut}),moveStateManager:Mt,enable:Fe,assignEvents:Ls})})({clickTolerance:ee,enable:!0}),this.map=w,Q&&(this.mousePitch=ah({clickTolerance:le,enable:!0}),this.touchPitch=(({enable:Fe,clickTolerance:Ze,pitchDegreesPerPixelMoved:ut=-.5})=>{let Mt=new cf;return new Wu({clickTolerance:Ze,move:(Jt,$t)=>({pitchDelta:($t.y-Jt.y)*ut}),moveStateManager:Mt,enable:Fe,assignEvents:Ls})})({clickTolerance:le,enable:!0})),c.addEventListener(B,"mousedown",this.mousedown),c.addEventListener(B,"touchstart",this.touchstart,{passive:!1}),c.addEventListener(B,"touchcancel",this.reset)}startMouse(w,B){this.mouseRotate.dragStart(w,B),this.mousePitch&&this.mousePitch.dragStart(w,B),c.disableDrag()}startTouch(w,B){this.touchRotate.dragStart(w,B),this.touchPitch&&this.touchPitch.dragStart(w,B),c.disableDrag()}moveMouse(w,B){let Q=this.map,{bearingDelta:ee}=this.mouseRotate.dragMove(w,B)||{};if(ee&&Q.setBearing(Q.getBearing()+ee),this.mousePitch){let{pitchDelta:le}=this.mousePitch.dragMove(w,B)||{};le&&Q.setPitch(Q.getPitch()+le)}}moveTouch(w,B){let Q=this.map,{bearingDelta:ee}=this.touchRotate.dragMove(w,B)||{};if(ee&&Q.setBearing(Q.getBearing()+ee),this.touchPitch){let{pitchDelta:le}=this.touchPitch.dragMove(w,B)||{};le&&Q.setPitch(Q.getPitch()+le)}}off(){let w=this.element;c.removeEventListener(w,"mousedown",this.mousedown),c.removeEventListener(w,"touchstart",this.touchstart,{passive:!1}),c.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),c.removeEventListener(window,"touchend",this.touchend),c.removeEventListener(w,"touchcancel",this.reset),this.offTemp()}offTemp(){c.enableDrag(),c.removeEventListener(window,"mousemove",this.mousemove),c.removeEventListener(window,"mouseup",this.mouseup),c.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),c.removeEventListener(window,"touchend",this.touchend)}}let ys;function rs(ue,w,B){let Q=new a.N(ue.lng,ue.lat);if(ue=new a.N(ue.lng,ue.lat),w){let ee=new a.N(ue.lng-360,ue.lat),le=new a.N(ue.lng+360,ue.lat),Fe=B.locationPoint(ue).distSqr(w);B.locationPoint(ee).distSqr(w)180;){let ee=B.locationPoint(ue);if(ee.x>=0&&ee.y>=0&&ee.x<=B.width&&ee.y<=B.height)break;ue.lng>B.center.lng?ue.lng-=360:ue.lng+=360}return ue.lng!==Q.lng&&B.locationPoint(ue).y>B.height/2-B.getHorizon()?ue:Q}let Ql={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 Cu(ue,w,B){let Q=ue.classList;for(let ee in Ql)Q.remove(`maplibregl-${B}-anchor-${ee}`);Q.add(`maplibregl-${B}-anchor-${w}`)}class Yu extends a.E{constructor(w){if(super(),this._onKeyPress=B=>{let Q=B.code,ee=B.charCode||B.keyCode;Q!=="Space"&&Q!=="Enter"&&ee!==32&&ee!==13||this.togglePopup()},this._onMapClick=B=>{let Q=B.originalEvent.target,ee=this._element;this._popup&&(Q===ee||ee.contains(Q))&&this.togglePopup()},this._update=B=>{var Q;if(!this._map)return;let ee=this._map.loaded()&&!this._map.isMoving();((B==null?void 0:B.type)==="terrain"||(B==null?void 0:B.type)==="render"&&!ee)&&this._map.once("render",this._update),this._lngLat=this._map.transform.renderWorldCopies?rs(this._lngLat,this._flatPos,this._map.transform):(Q=this._lngLat)===null||Q===void 0?void 0:Q.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 le="";this._rotationAlignment==="viewport"||this._rotationAlignment==="auto"?le=`rotateZ(${this._rotation}deg)`:this._rotationAlignment==="map"&&(le=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let Fe="";this._pitchAlignment==="viewport"||this._pitchAlignment==="auto"?Fe="rotateX(0deg)":this._pitchAlignment==="map"&&(Fe=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||B&&B.type!=="moveend"||(this._pos=this._pos.round()),c.setTransform(this._element,`${Ql[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${Fe} ${le}`),u.frameAsync(new AbortController).then(()=>{this._updateOpacity(B&&B.type==="moveend")}).catch(()=>{})},this._onMove=B=>{if(!this._isDragging){let Q=this._clickTolerance||this._map._clickTolerance;this._isDragging=B.point.dist(this._pointerdownPos)>=Q}this._isDragging&&(this._pos=B.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 a.k("dragstart"))),this.fire(new a.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 a.k("dragend")),this._state="inactive"},this._addDragHandler=B=>{this._element.contains(B.originalEvent.target)&&(B.preventDefault(),this._positionDelta=B.point.sub(this._pos).add(this._offset),this._pointerdownPos=B.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=w&&w.anchor||"center",this._color=w&&w.color||"#3FB1CE",this._scale=w&&w.scale||1,this._draggable=w&&w.draggable||!1,this._clickTolerance=w&&w.clickTolerance||0,this._subpixelPositioning=w&&w.subpixelPositioning||!1,this._isDragging=!1,this._state="inactive",this._rotation=w&&w.rotation||0,this._rotationAlignment=w&&w.rotationAlignment||"auto",this._pitchAlignment=w&&w.pitchAlignment&&w.pitchAlignment!=="auto"?w.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(w==null?void 0:w.opacity,w==null?void 0:w.opacityWhenCovered),w&&w.element)this._element=w.element,this._offset=a.P.convert(w&&w.offset||[0,0]);else{this._defaultMarker=!0,this._element=c.create("div");let B=c.createNS("http://www.w3.org/2000/svg","svg"),Q=41,ee=27;B.setAttributeNS(null,"display","block"),B.setAttributeNS(null,"height",`${Q}px`),B.setAttributeNS(null,"width",`${ee}px`),B.setAttributeNS(null,"viewBox",`0 0 ${ee} ${Q}`);let le=c.createNS("http://www.w3.org/2000/svg","g");le.setAttributeNS(null,"stroke","none"),le.setAttributeNS(null,"stroke-width","1"),le.setAttributeNS(null,"fill","none"),le.setAttributeNS(null,"fill-rule","evenodd");let Fe=c.createNS("http://www.w3.org/2000/svg","g");Fe.setAttributeNS(null,"fill-rule","nonzero");let Ze=c.createNS("http://www.w3.org/2000/svg","g");Ze.setAttributeNS(null,"transform","translate(3.0, 29.0)"),Ze.setAttributeNS(null,"fill","#000000");let ut=[{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 ze of ut){let Qe=c.createNS("http://www.w3.org/2000/svg","ellipse");Qe.setAttributeNS(null,"opacity","0.04"),Qe.setAttributeNS(null,"cx","10.5"),Qe.setAttributeNS(null,"cy","5.80029008"),Qe.setAttributeNS(null,"rx",ze.rx),Qe.setAttributeNS(null,"ry",ze.ry),Ze.appendChild(Qe)}let Mt=c.createNS("http://www.w3.org/2000/svg","g");Mt.setAttributeNS(null,"fill",this._color);let Jt=c.createNS("http://www.w3.org/2000/svg","path");Jt.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"),Mt.appendChild(Jt);let $t=c.createNS("http://www.w3.org/2000/svg","g");$t.setAttributeNS(null,"opacity","0.25"),$t.setAttributeNS(null,"fill","#000000");let yr=c.createNS("http://www.w3.org/2000/svg","path");yr.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"),$t.appendChild(yr);let Cr=c.createNS("http://www.w3.org/2000/svg","g");Cr.setAttributeNS(null,"transform","translate(6.0, 7.0)"),Cr.setAttributeNS(null,"fill","#FFFFFF");let ve=c.createNS("http://www.w3.org/2000/svg","g");ve.setAttributeNS(null,"transform","translate(8.0, 8.0)");let xe=c.createNS("http://www.w3.org/2000/svg","circle");xe.setAttributeNS(null,"fill","#000000"),xe.setAttributeNS(null,"opacity","0.25"),xe.setAttributeNS(null,"cx","5.5"),xe.setAttributeNS(null,"cy","5.5"),xe.setAttributeNS(null,"r","5.4999962");let Ie=c.createNS("http://www.w3.org/2000/svg","circle");Ie.setAttributeNS(null,"fill","#FFFFFF"),Ie.setAttributeNS(null,"cx","5.5"),Ie.setAttributeNS(null,"cy","5.5"),Ie.setAttributeNS(null,"r","5.4999962"),ve.appendChild(xe),ve.appendChild(Ie),Fe.appendChild(Ze),Fe.appendChild(Mt),Fe.appendChild($t),Fe.appendChild(Cr),Fe.appendChild(ve),B.appendChild(Fe),B.setAttributeNS(null,"height",Q*this._scale+"px"),B.setAttributeNS(null,"width",ee*this._scale+"px"),this._element.appendChild(B),this._offset=a.P.convert(w&&w.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",B=>{B.preventDefault()}),this._element.addEventListener("mousedown",B=>{B.preventDefault()}),Cu(this._element,this._anchor,"marker"),w&&w.className)for(let B of w.className.split(" "))this._element.classList.add(B);this._popup=null}addTo(w){return this.remove(),this._map=w,this._element.setAttribute("aria-label",w._getUIString("Marker.Title")),w.getCanvasContainer().appendChild(this._element),w.on("move",this._update),w.on("moveend",this._update),w.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),c.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(w){return this._lngLat=a.N.convert(w),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(w){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),w){if(!("offset"in w.options)){let ee=Math.abs(13.5)/Math.SQRT2;w.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[ee,-1*(38.1-13.5+ee)],"bottom-right":[-ee,-1*(38.1-13.5+ee)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=w,this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}setSubpixelPositioning(w){return this._subpixelPositioning=w,this}getPopup(){return this._popup}togglePopup(){let w=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:w?(w.isOpen()?w.remove():(w.setLngLat(this._lngLat),w.addTo(this._map)),this):this}_updateOpacity(w=!1){var B,Q;if(!(!((B=this._map)===null||B===void 0)&&B.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(w)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}let ee=this._map,le=ee.terrain.depthAtPoint(this._pos),Fe=ee.terrain.getElevationForLngLatZoom(this._lngLat,ee.transform.tileZoom);if(ee.transform.lngLatToCameraDepth(this._lngLat,Fe)-le<.006)return void(this._element.style.opacity=this._opacity);let Ze=-this._offset.y/ee.transform._pixelPerMeter,ut=Math.sin(ee.getPitch()*Math.PI/180)*Ze,Mt=ee.terrain.depthAtPoint(new a.P(this._pos.x,this._pos.y-this._offset.y)),Jt=ee.transform.lngLatToCameraDepth(this._lngLat,Fe+ut)-Mt>.006;!((Q=this._popup)===null||Q===void 0)&&Q.isOpen()&&Jt&&this._popup.remove(),this._element.style.opacity=Jt?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(w){return this._offset=a.P.convert(w),this._update(),this}addClassName(w){this._element.classList.add(w)}removeClassName(w){this._element.classList.remove(w)}toggleClassName(w){return this._element.classList.toggle(w)}setDraggable(w){return this._draggable=!!w,this._map&&(w?(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(w){return this._rotation=w||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(w){return this._rotationAlignment=w||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(w){return this._pitchAlignment=w&&w!=="auto"?w:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(w,B){return w===void 0&&B===void 0&&(this._opacity="1",this._opacityWhenCovered="0.2"),w!==void 0&&(this._opacity=w),B!==void 0&&(this._opacityWhenCovered=B),this._map&&this._updateOpacity(!0),this}}let Nc={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},pu=0,Uc=!1,xu={maxWidth:100,unit:"metric"};function Ac(ue,w,B){let Q=B&&B.maxWidth||100,ee=ue._container.clientHeight/2,le=ue.unproject([0,ee]),Fe=ue.unproject([Q,ee]),Ze=le.distanceTo(Fe);if(B&&B.unit==="imperial"){let ut=3.2808*Ze;ut>5280?Va(w,Q,ut/5280,ue._getUIString("ScaleControl.Miles")):Va(w,Q,ut,ue._getUIString("ScaleControl.Feet"))}else B&&B.unit==="nautical"?Va(w,Q,Ze/1852,ue._getUIString("ScaleControl.NauticalMiles")):Ze>=1e3?Va(w,Q,Ze/1e3,ue._getUIString("ScaleControl.Kilometers")):Va(w,Q,Ze,ue._getUIString("ScaleControl.Meters"))}function Va(ue,w,B,Q){let ee=function(le){let Fe=Math.pow(10,`${Math.floor(le)}`.length-1),Ze=le/Fe;return Ze=Ze>=10?10:Ze>=5?5:Ze>=3?3:Ze>=2?2:Ze>=1?1:function(ut){let Mt=Math.pow(10,Math.ceil(-Math.log(ut)/Math.LN10));return Math.round(ut*Mt)/Mt}(Ze),Fe*Ze}(B);ue.style.width=w*(ee/B)+"px",ue.innerHTML=`${ee} ${Q}`}let oo={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",subpixelPositioning:!1},Vc=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function hc(ue){if(ue){if(typeof ue=="number"){let w=Math.round(Math.abs(ue)/Math.SQRT2);return{center:new a.P(0,0),top:new a.P(0,ue),"top-left":new a.P(w,w),"top-right":new a.P(-w,w),bottom:new a.P(0,-ue),"bottom-left":new a.P(w,-w),"bottom-right":new a.P(-w,-w),left:new a.P(ue,0),right:new a.P(-ue,0)}}if(ue instanceof a.P||Array.isArray(ue)){let w=a.P.convert(ue);return{center:w,top:w,"top-left":w,"top-right":w,bottom:w,"bottom-left":w,"bottom-right":w,left:w,right:w}}return{center:a.P.convert(ue.center||[0,0]),top:a.P.convert(ue.top||[0,0]),"top-left":a.P.convert(ue["top-left"]||[0,0]),"top-right":a.P.convert(ue["top-right"]||[0,0]),bottom:a.P.convert(ue.bottom||[0,0]),"bottom-left":a.P.convert(ue["bottom-left"]||[0,0]),"bottom-right":a.P.convert(ue["bottom-right"]||[0,0]),left:a.P.convert(ue.left||[0,0]),right:a.P.convert(ue.right||[0,0])}}return hc(new a.P(0,0))}let Ku=o;i.AJAXError=a.bh,i.Evented=a.E,i.LngLat=a.N,i.MercatorCoordinate=a.Z,i.Point=a.P,i.addProtocol=a.bi,i.config=a.a,i.removeProtocol=a.bj,i.AttributionControl=Ua,i.BoxZoomHandler=ku,i.CanvasSource=rr,i.CooperativeGesturesHandler=$i,i.DoubleClickZoomHandler=Mi,i.DragPanHandler=wn,i.DragRotateHandler=On,i.EdgeInsets=hu,i.FullscreenControl=class extends a.E{constructor(ue={}){super(),this._onFullscreenChange=()=>{var w;let B=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;!((w=B==null?void 0:B.shadowRoot)===null||w===void 0)&&w.fullscreenElement;)B=B.shadowRoot.fullscreenElement;B===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:a.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=c.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),this._controlContainer}onRemove(){c.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let ue=this._fullscreenButton=c.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);c.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 a.k("fullscreenstart")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new a.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()}},i.GeoJSONSource=at,i.GeolocateControl=class extends a.E{constructor(ue){super(),this._onSuccess=w=>{if(this._map){if(this._isOutOfMapMaxBounds(w))return this._setErrorState(),this.fire(new a.k("outofmaxbounds",w)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=w,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(w),this.options.trackUserLocation&&this._watchState!=="ACTIVE_LOCK"||this._updateCamera(w),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new a.k("geolocate",w)),this._finish()}},this._updateCamera=w=>{let B=new a.N(w.coords.longitude,w.coords.latitude),Q=w.coords.accuracy,ee=this._map.getBearing(),le=a.e({bearing:ee},this.options.fitBoundsOptions),Fe=ce.fromLngLat(B,Q);this._map.fitBounds(Fe,le,{geolocateSource:!0})},this._updateMarker=w=>{if(w){let B=new a.N(w.coords.longitude,w.coords.latitude);this._accuracyCircleMarker.setLngLat(B).addTo(this._map),this._userLocationDotMarker.setLngLat(B).addTo(this._map),this._accuracy=w.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=w=>{if(this._map){if(this.options.trackUserLocation)if(w.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 B=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=B,this._geolocateButton.setAttribute("aria-label",B),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(w.code===3&&Uc)return;this._setErrorState()}this._watchState!=="OFF"&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new a.k("error",w)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener("contextmenu",w=>w.preventDefault()),this._geolocateButton=c.create("button","maplibregl-ctrl-geolocate",this._container),c.create("span","maplibregl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",this._geolocateButton.disabled=!0)},this._finishSetupUI=w=>{if(this._map){if(w===!1){a.w("Geolocation support is not available so the GeolocateControl will be disabled.");let B=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=B,this._geolocateButton.setAttribute("aria-label",B)}else{let B=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.disabled=!1,this._geolocateButton.title=B,this._geolocateButton.setAttribute("aria-label",B)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=c.create("div","maplibregl-user-location-dot"),this._userLocationDotMarker=new Yu({element:this._dotElement}),this._circleElement=c.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Yu({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",B=>{B.geolocateSource||this._watchState!=="ACTIVE_LOCK"||B.originalEvent&&B.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 a.k("trackuserlocationend")),this.fire(new a.k("userlocationlostfocus")))})}},this.options=a.e({},Nc,ue)}onAdd(ue){return this._map=ue,this._container=c.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),function(){return a._(this,arguments,void 0,function*(w=!1){if(ys!==void 0&&!w)return ys;if(window.navigator.permissions===void 0)return ys=!!window.navigator.geolocation,ys;try{ys=(yield window.navigator.permissions.query({name:"geolocation"})).state!=="denied"}catch(B){ys=!!window.navigator.geolocation}return ys})}().then(w=>this._finishSetupUI(w)),this._container}onRemove(){this._geolocationWatchID!==void 0&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),c.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,pu=0,Uc=!1}_isOutOfMapMaxBounds(ue){let w=this._map.getMaxBounds(),B=ue.coords;return w&&(B.longitudew.getEast()||B.latitudew.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(),w=ue.getSouthEast(),B=ue.getNorthEast(),Q=w.distanceTo(B),ee=Math.ceil(this._accuracy/(Q/this._map._container.clientHeight)*2);this._circleElement.style.width=`${ee}px`,this._circleElement.style.height=`${ee}px`}trigger(){if(!this._setup)return a.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 a.k("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":pu--,Uc=!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 a.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 a.k("trackuserlocationstart")),this.fire(new a.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"),pu++,pu>1?(ue={maximumAge:6e5,timeout:0},Uc=!0):(ue=this.options.positionOptions,Uc=!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)}},i.Hash=Mh,i.ImageSource=ar,i.KeyboardHandler=Zt,i.LngLatBounds=ce,i.LogoControl=Zn,i.Map=class extends Ra{constructor(ue){a.bf.mark(a.bg.create);let w=Object.assign(Object.assign({},Ws),ue);if(w.minZoom!=null&&w.maxZoom!=null&&w.minZoom>w.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(w.minPitch!=null&&w.maxPitch!=null&&w.minPitch>w.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(w.minPitch!=null&&w.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(w.maxPitch!=null&&w.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(super(new nl(w.minZoom,w.maxZoom,w.minPitch,w.maxPitch,w.renderWorldCopies),{bearingSnap:w.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new Dn,this._controls=[],this._mapId=a.a4(),this._contextLost=B=>{B.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new a.k("webglcontextlost",{originalEvent:B}))},this._contextRestored=B=>{this._setupPainter(),this.resize(),this._update(),this.fire(new a.k("webglcontextrestored",{originalEvent:B}))},this._onMapScroll=B=>{if(B.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=w.interactive,this._maxTileCacheSize=w.maxTileCacheSize,this._maxTileCacheZoomLevels=w.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=w.failIfMajorPerformanceCaveat===!0,this._preserveDrawingBuffer=w.preserveDrawingBuffer===!0,this._antialias=w.antialias===!0,this._trackResize=w.trackResize===!0,this._bearingSnap=w.bearingSnap,this._refreshExpiredTiles=w.refreshExpiredTiles===!0,this._fadeDuration=w.fadeDuration,this._crossSourceCollisions=w.crossSourceCollisions===!0,this._collectResourceTiming=w.collectResourceTiming===!0,this._locale=Object.assign(Object.assign({},Ho),w.locale),this._clickTolerance=w.clickTolerance,this._overridePixelRatio=w.pixelRatio,this._maxCanvasSize=w.maxCanvasSize,this.transformCameraUpdate=w.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=w.cancelPendingTileRequestsWhileZooming===!0,this._imageQueueHandle=p.addThrottleControl(()=>this.isMoving()),this._requestManager=new k(w.transformRequest),typeof w.container=="string"){if(this._container=document.getElementById(w.container),!this._container)throw new Error(`Container '${w.container}' not found.`)}else{if(!(w.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=w.container}if(w.maxBounds&&this.setMaxBounds(w.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!="undefined"){addEventListener("online",this._onWindowOnline,!1);let B=!1,Q=nh(ee=>{this._trackResize&&!this._removed&&(this.resize(ee),this.redraw())},50);this._resizeObserver=new ResizeObserver(ee=>{B?Q(ee):B=!0}),this._resizeObserver.observe(this._container)}this.handlers=new Ca(this,w),this._hash=w.hash&&new Mh(typeof w.hash=="string"&&w.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:w.center,zoom:w.zoom,bearing:w.bearing,pitch:w.pitch}),w.bounds&&(this.resize(),this.fitBounds(w.bounds,a.e({},w.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=w.localIdeographFontFamily,this._validateStyle=w.validateStyle,w.style&&this.setStyle(w.style,{localIdeographFontFamily:w.localIdeographFontFamily}),w.attributionControl&&this.addControl(new Ua(typeof w.attributionControl=="boolean"?void 0:w.attributionControl)),w.maplibreLogo&&this.addControl(new Zn,w.logoPosition),this.on("style.load",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on("data",B=>{this._update(B.dataType==="style"),this.fire(new a.k(`${B.dataType}data`,B))}),this.on("dataloading",B=>{this.fire(new a.k(`${B.dataType}dataloading`,B))}),this.on("dataabort",B=>{this.fire(new a.k("sourcedataabort",B))})}_getMapId(){return this._mapId}addControl(ue,w){if(w===void 0&&(w=ue.getDefaultPosition?ue.getDefaultPosition():"top-right"),!ue||!ue.onAdd)return this.fire(new a.j(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));let B=ue.onAdd(this);this._controls.push(ue);let Q=this._controlPositions[w];return w.indexOf("bottom")!==-1?Q.insertBefore(B,Q.firstChild):Q.appendChild(B),this}removeControl(ue){if(!ue||!ue.onRemove)return this.fire(new a.j(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));let w=this._controls.indexOf(ue);return w>-1&&this._controls.splice(w,1),ue.onRemove(this),this}hasControl(ue){return this._controls.indexOf(ue)>-1}calculateCameraOptionsFromTo(ue,w,B,Q){return Q==null&&this.terrain&&(Q=this.terrain.getElevationForLngLatZoom(B,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(ue,w,B,Q)}resize(ue){var w;let B=this._containerDimensions(),Q=B[0],ee=B[1],le=this._getClampedPixelRatio(Q,ee);if(this._resizeCanvas(Q,ee,le),this.painter.resize(Q,ee,le),this.painter.overLimit()){let Ze=this.painter.context.gl;this._maxCanvasSize=[Ze.drawingBufferWidth,Ze.drawingBufferHeight];let ut=this._getClampedPixelRatio(Q,ee);this._resizeCanvas(Q,ee,ut),this.painter.resize(Q,ee,ut)}this.transform.resize(Q,ee),(w=this._requestedCameraState)===null||w===void 0||w.resize(Q,ee);let Fe=!this._moving;return Fe&&(this.stop(),this.fire(new a.k("movestart",ue)).fire(new a.k("move",ue))),this.fire(new a.k("resize",ue)),Fe&&this.fire(new a.k("moveend",ue)),this}_getClampedPixelRatio(ue,w){let{0:B,1:Q}=this._maxCanvasSize,ee=this.getPixelRatio(),le=ue*ee,Fe=w*ee;return Math.min(le>B?B/le:1,Fe>Q?Q/Fe:1)*ee}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(ce.convert(ue)),this._update()}setMinZoom(ue){if((ue=ue==null?-2:ue)>=-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==null?0:ue)<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(a.N.convert(ue),this.style&&this.terrain)}unproject(ue){return this.transform.pointLocation(a.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,w,B){if(ue==="mouseenter"||ue==="mouseover"){let Q=!1;return{layers:w,listener:B,delegates:{mousemove:le=>{let Fe=w.filter(ut=>this.getLayer(ut)),Ze=Fe.length!==0?this.queryRenderedFeatures(le.point,{layers:Fe}):[];Ze.length?Q||(Q=!0,B.call(this,new jl(ue,this,le.originalEvent,{features:Ze}))):Q=!1},mouseout:()=>{Q=!1}}}}if(ue==="mouseleave"||ue==="mouseout"){let Q=!1;return{layers:w,listener:B,delegates:{mousemove:Fe=>{let Ze=w.filter(ut=>this.getLayer(ut));(Ze.length!==0?this.queryRenderedFeatures(Fe.point,{layers:Ze}):[]).length?Q=!0:Q&&(Q=!1,B.call(this,new jl(ue,this,Fe.originalEvent)))},mouseout:Fe=>{Q&&(Q=!1,B.call(this,new jl(ue,this,Fe.originalEvent)))}}}}{let Q=ee=>{let le=w.filter(Ze=>this.getLayer(Ze)),Fe=le.length!==0?this.queryRenderedFeatures(ee.point,{layers:le}):[];Fe.length&&(ee.features=Fe,B.call(this,ee),delete ee.features)};return{layers:w,listener:B,delegates:{[ue]:Q}}}}_saveDelegatedListener(ue,w){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[ue]=this._delegatedListeners[ue]||[],this._delegatedListeners[ue].push(w)}_removeDelegatedListener(ue,w,B){if(!this._delegatedListeners||!this._delegatedListeners[ue])return;let Q=this._delegatedListeners[ue];for(let ee=0;eew.includes(Fe))){for(let Fe in le.delegates)this.off(Fe,le.delegates[Fe]);return void Q.splice(ee,1)}}}on(ue,w,B){if(B===void 0)return super.on(ue,w);let Q=this._createDelegatedListener(ue,typeof w=="string"?[w]:w,B);this._saveDelegatedListener(ue,Q);for(let ee in Q.delegates)this.on(ee,Q.delegates[ee]);return this}once(ue,w,B){if(B===void 0)return super.once(ue,w);let Q=typeof w=="string"?[w]:w,ee=this._createDelegatedListener(ue,Q,B);for(let le in ee.delegates){let Fe=ee.delegates[le];ee.delegates[le]=(...Ze)=>{this._removeDelegatedListener(ue,Q,B),Fe(...Ze)}}this._saveDelegatedListener(ue,ee);for(let le in ee.delegates)this.once(le,ee.delegates[le]);return this}off(ue,w,B){return B===void 0?super.off(ue,w):(this._removeDelegatedListener(ue,typeof w=="string"?[w]:w,B),this)}queryRenderedFeatures(ue,w){if(!this.style)return[];let B,Q=ue instanceof a.P||Array.isArray(ue),ee=Q?ue:[[0,0],[this.transform.width,this.transform.height]];if(w=w||(Q?{}:ue)||{},ee instanceof a.P||typeof ee[0]=="number")B=[a.P.convert(ee)];else{let le=a.P.convert(ee[0]),Fe=a.P.convert(ee[1]);B=[le,new a.P(Fe.x,le.y),Fe,new a.P(le.x,Fe.y),le]}return this.style.queryRenderedFeatures(B,w,this.transform)}querySourceFeatures(ue,w){return this.style.querySourceFeatures(ue,w)}setStyle(ue,w){return(w=a.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},w)).diff!==!1&&w.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&ue?(this._diffStyle(ue,w),this):(this._localIdeographFontFamily=w.localIdeographFontFamily,this._updateStyle(ue,w))}setTransformRequest(ue){return this._requestManager.setTransformRequest(ue),this}_getUIString(ue){let w=this._locale[ue];if(w==null)throw new Error(`Missing UI string '${ue}'`);return w}_updateStyle(ue,w){if(w.transformStyle&&this.style&&!this.style._loaded)return void this.style.once("style.load",()=>this._updateStyle(ue,w));let B=this.style&&w.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!ue)),ue?(this.style=new Ha(this,w||{}),this.style.setEventedParent(this,{style:this.style}),typeof ue=="string"?this.style.loadURL(ue,w,B):this.style.loadJSON(ue,w,B),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new Ha(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(ue,w){if(typeof ue=="string"){let B=this._requestManager.transformRequest(ue,"Style");a.h(B,new AbortController).then(Q=>{this._updateDiff(Q.data,w)}).catch(Q=>{Q&&this.fire(new a.j(Q))})}else typeof ue=="object"&&this._updateDiff(ue,w)}_updateDiff(ue,w){try{this.style.setState(ue,w)&&this._update(!0)}catch(B){a.w(`Unable to perform style diff: ${B.message||B.error||B}. Rebuilding the style from scratch.`),this._updateStyle(ue,w)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():a.w("There is no style added to the map.")}addSource(ue,w){return this._lazyInitEmptyStyle(),this.style.addSource(ue,w),this._update(!0)}isSourceLoaded(ue){let w=this.style&&this.style.sourceCaches[ue];if(w!==void 0)return w.loaded();this.fire(new a.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 w=this.style.sourceCaches[ue.source];if(!w)throw new Error(`cannot load terrain, because there exists no source with ID: ${ue.source}`);this.terrain===null&&w.reload();for(let B in this.style._layers){let Q=this.style._layers[B];Q.type==="hillshade"&&Q.source===ue.source&&a.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 Zo(this.painter,w,ue),this.painter.renderToTexture=new ws(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=B=>{B.dataType==="style"?this.terrain.sourceCache.freeRtt():B.dataType==="source"&&B.tile&&(B.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(B.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 a.k("terrain",{terrain:ue})),this}getTerrain(){var ue,w;return(w=(ue=this.terrain)===null||ue===void 0?void 0:ue.options)!==null&&w!==void 0?w:null}areTilesLoaded(){let ue=this.style&&this.style.sourceCaches;for(let w in ue){let B=ue[w]._tiles;for(let Q in B){let ee=B[Q];if(ee.state!=="loaded"&&ee.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,w,B={}){let{pixelRatio:Q=1,sdf:ee=!1,stretchX:le,stretchY:Fe,content:Ze,textFitWidth:ut,textFitHeight:Mt}=B;if(this._lazyInitEmptyStyle(),!(w instanceof HTMLImageElement||a.b(w))){if(w.width===void 0||w.height===void 0)return this.fire(new a.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:Jt,height:$t,data:yr}=w,Cr=w;return this.style.addImage(ue,{data:new a.R({width:Jt,height:$t},new Uint8Array(yr)),pixelRatio:Q,stretchX:le,stretchY:Fe,content:Ze,textFitWidth:ut,textFitHeight:Mt,sdf:ee,version:0,userImage:Cr}),Cr.onAdd&&Cr.onAdd(this,ue),this}}{let{width:Jt,height:$t,data:yr}=u.getImageData(w);this.style.addImage(ue,{data:new a.R({width:Jt,height:$t},yr),pixelRatio:Q,stretchX:le,stretchY:Fe,content:Ze,textFitWidth:ut,textFitHeight:Mt,sdf:ee,version:0})}}updateImage(ue,w){let B=this.style.getImage(ue);if(!B)return this.fire(new a.j(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));let Q=w instanceof HTMLImageElement||a.b(w)?u.getImageData(w):w,{width:ee,height:le,data:Fe}=Q;if(ee===void 0||le===void 0)return this.fire(new a.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(ee!==B.data.width||le!==B.data.height)return this.fire(new a.j(new Error("The width and height of the updated image must be that same as the previous version of the image")));let Ze=!(w instanceof HTMLImageElement||a.b(w));return B.data.replace(Fe,Ze),this.style.updateImage(ue,B),this}getImage(ue){return this.style.getImage(ue)}hasImage(ue){return ue?!!this.style.getImage(ue):(this.fire(new a.j(new Error("Missing required image id"))),!1)}removeImage(ue){this.style.removeImage(ue)}loadImage(ue){return p.getImage(this._requestManager.transformRequest(ue,"Image"),new AbortController)}listImages(){return this.style.listImages()}addLayer(ue,w){return this._lazyInitEmptyStyle(),this.style.addLayer(ue,w),this._update(!0)}moveLayer(ue,w){return this.style.moveLayer(ue,w),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,w,B){return this.style.setLayerZoomRange(ue,w,B),this._update(!0)}setFilter(ue,w,B={}){return this.style.setFilter(ue,w,B),this._update(!0)}getFilter(ue){return this.style.getFilter(ue)}setPaintProperty(ue,w,B,Q={}){return this.style.setPaintProperty(ue,w,B,Q),this._update(!0)}getPaintProperty(ue,w){return this.style.getPaintProperty(ue,w)}setLayoutProperty(ue,w,B,Q={}){return this.style.setLayoutProperty(ue,w,B,Q),this._update(!0)}getLayoutProperty(ue,w){return this.style.getLayoutProperty(ue,w)}setGlyphs(ue,w={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(ue,w),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(ue,w,B={}){return this._lazyInitEmptyStyle(),this.style.addSprite(ue,w,B,Q=>{Q||this._update(!0)}),this}removeSprite(ue){return this._lazyInitEmptyStyle(),this.style.removeSprite(ue),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(ue,w={}){return this._lazyInitEmptyStyle(),this.style.setSprite(ue,w,B=>{B||this._update(!0)}),this}setLight(ue,w={}){return this._lazyInitEmptyStyle(),this.style.setLight(ue,w),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,w){return this.style.setFeatureState(ue,w),this._update()}removeFeatureState(ue,w){return this.style.removeFeatureState(ue,w),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,w=0;return this._container&&(ue=this._container.clientWidth||400,w=this._container.clientHeight||300),[ue,w]}_setupContainer(){let ue=this._container;ue.classList.add("maplibregl-map");let w=this._canvasContainer=c.create("div","maplibregl-canvas-container",ue);this._interactive&&w.classList.add("maplibregl-interactive"),this._canvas=c.create("canvas","maplibregl-canvas",w),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 B=this._containerDimensions(),Q=this._getClampedPixelRatio(B[0],B[1]);this._resizeCanvas(B[0],B[1],Q);let ee=this._controlContainer=c.create("div","maplibregl-control-container",ue),le=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(Fe=>{le[Fe]=c.create("div",`maplibregl-ctrl-${Fe} `,ee)}),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(ue,w,B){this._canvas.width=Math.floor(B*ue),this._canvas.height=Math.floor(B*w),this._canvas.style.width=`${ue}px`,this._canvas.style.height=`${w}px`}_setupPainter(){let ue={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},w=null;this._canvas.addEventListener("webglcontextcreationerror",Q=>{w={requestedAttributes:ue},Q&&(w.statusMessage=Q.statusMessage,w.type=Q.type)},{once:!0});let B=this._canvas.getContext("webgl2",ue)||this._canvas.getContext("webgl",ue);if(!B){let Q="Failed to initialize WebGL";throw w?(w.message=Q,new Error(JSON.stringify(w))):new Error(Q)}this.painter=new Dc(B,this.transform),f.testSupport(B)}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 w=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(ue),this._removed)return;let B=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let ee=this.transform.zoom,le=u.now();this.style.zoomHistory.update(ee,le);let Fe=new a.z(ee,{now:le,fadeDuration:w,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),Ze=Fe.crossFadingFactor();Ze===1&&Ze===this._crossFadingFactor||(B=!0,this._crossFadingFactor=Ze),this.style.update(Fe)}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,w,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:w,showPadding:this.showPadding}),this.fire(new a.k("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,a.bf.mark(a.bg.load),this.fire(new a.k("load"))),this.style&&(this.style.hasTransitions()||B)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let Q=this._sourcesDirty||this._styleDirty||this._placementDirty;return Q||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new a.k("idle")),!this._loaded||this._fullyLoaded||Q||(this._fullyLoaded=!0,a.bf.mark(a.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 B of this._controls)B.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!="undefined"&&removeEventListener("online",this._onWindowOnline,!1),p.removeThrottleControl(this._imageQueueHandle),(ue=this._resizeObserver)===null||ue===void 0||ue.disconnect();let w=this.painter.context.gl.getExtension("WEBGL_lose_context");w!=null&&w.loseContext&&w.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),c.remove(this._canvasContainer),c.remove(this._controlContainer),this._container.classList.remove("maplibregl-map"),a.bf.clearMetrics(),this._removed=!0,this.fire(new a.k("remove"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,u.frameAsync(this._frameRequest).then(ue=>{a.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 ml}getCameraTargetElevation(){return this.transform.elevation}},i.MapMouseEvent=jl,i.MapTouchEvent=uf,i.MapWheelEvent=Xh,i.Marker=Yu,i.NavigationControl=class{constructor(ue){this._updateZoomButtons=()=>{let w=this._map.getZoom(),B=w===this._map.getMaxZoom(),Q=w===this._map.getMinZoom();this._zoomInButton.disabled=B,this._zoomOutButton.disabled=Q,this._zoomInButton.setAttribute("aria-disabled",B.toString()),this._zoomOutButton.setAttribute("aria-disabled",Q.toString())},this._rotateCompassArrow=()=>{let w=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=w},this._setButtonTitle=(w,B)=>{let Q=this._map._getUIString(`NavigationControl.${B}`);w.title=Q,w.setAttribute("aria-label",Q)},this.options=a.e({},va,ue),this._container=c.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",w=>w.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",w=>this._map.zoomIn({},{originalEvent:w})),c.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",w=>this._map.zoomOut({},{originalEvent:w})),c.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",w=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:w}):this._map.resetNorth({},{originalEvent:w})}),this._compassIcon=c.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 no(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){c.remove(this._container),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(ue,w){let B=c.create("button",ue,this._container);return B.type="button",B.addEventListener("click",w),B}},i.Popup=class extends a.E{constructor(ue){super(),this.remove=()=>(this._content&&c.remove(this._content),this._container&&(c.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),this._map._canvasContainer.classList.remove("maplibregl-track-pointer"),delete this._map,this.fire(new a.k("close"))),this),this._onMouseUp=w=>{this._update(w.point)},this._onMouseMove=w=>{this._update(w.point)},this._onDrag=w=>{this._update(w.point)},this._update=w=>{var B;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=c.create("div","maplibregl-popup",this._map.getContainer()),this._tip=c.create("div","maplibregl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className)for(let Ze of this.options.className.split(" "))this._container.classList.add(Ze);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):(B=this._lngLat)===null||B===void 0?void 0:B.wrap(),this._trackPointer&&!w)return;let Q=this._flatPos=this._pos=this._trackPointer&&w?w:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&w?w:this._map.transform.locationPoint(this._lngLat));let ee=this.options.anchor,le=hc(this.options.offset);if(!ee){let Ze=this._container.offsetWidth,ut=this._container.offsetHeight,Mt;Mt=Q.y+le.bottom.ythis._map.transform.height-ut?["bottom"]:[],Q.xthis._map.transform.width-Ze/2&&Mt.push("right"),ee=Mt.length===0?"bottom":Mt.join("-")}let Fe=Q.add(le[ee]);this.options.subpixelPositioning||(Fe=Fe.round()),c.setTransform(this._container,`${Ql[ee]} translate(${Fe.x}px,${Fe.y}px)`),Cu(this._container,ee,"popup")},this._onClose=()=>{this.remove()},this.options=a.e(Object.create(oo),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 a.k("open")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(ue){return this._lngLat=a.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 w=document.createDocumentFragment(),B=document.createElement("body"),Q;for(B.innerHTML=ue;Q=B.firstChild,Q;)w.appendChild(Q);return this.setDOMContent(w)}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=c.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=c.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(Vc);ue&&ue.focus()}},i.RasterDEMTileSource=Ht,i.RasterTileSource=mt,i.ScaleControl=class{constructor(ue){this._onMove=()=>{Ac(this._map,this._container,this.options)},this.setUnit=w=>{this.options.unit=w,Ac(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},xu),ue)}getDefaultPosition(){return"bottom-left"}onAdd(ue){return this._map=ue,this._container=c.create("div","maplibregl-ctrl maplibregl-ctrl-scale",ue.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){c.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}},i.ScrollZoomHandler=Kr,i.Style=Ha,i.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=c.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._terrainButton=c.create("button","maplibregl-ctrl-terrain",this._container),c.create("span","maplibregl-ctrl-icon",this._terrainButton).setAttribute("aria-hidden","true"),this._terrainButton.type="button",this._terrainButton.addEventListener("click",this._toggleTerrain),this._updateTerrainIcon(),this._map.on("terrain",this._updateTerrainIcon),this._container}onRemove(){c.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}},i.TwoFingersTouchPitchHandler=Bc,i.TwoFingersTouchRotateHandler=ff,i.TwoFingersTouchZoomHandler=vu,i.TwoFingersTouchZoomRotateHandler=Yi,i.VectorTileSource=lt,i.VideoSource=Vt,i.addSourceType=(ue,w)=>a._(void 0,void 0,void 0,function*(){if(je(ue))throw new Error(`A source type called "${ue}" already exists.`);((B,Q)=>{tt[B]=Q})(ue,w)}),i.clearPrewarmedResources=function(){let ue=ge;ue&&(ue.isPreloaded()&&ue.numActive()===1?(ue.release(_e),ge=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()"))},i.getMaxParallelImageRequests=function(){return a.a.MAX_PARALLEL_IMAGE_REQUESTS},i.getRTLTextPluginStatus=function(){return St().getRTLTextPluginStatus()},i.getVersion=function(){return Ku},i.getWorkerCount=function(){return Ee.workerCount},i.getWorkerUrl=function(){return a.a.WORKER_URL},i.importScriptInWorkers=function(ue){return be().broadcast("IS",ue)},i.prewarm=function(){Se().acquire(_e)},i.setMaxParallelImageRequests=function(ue){a.a.MAX_PARALLEL_IMAGE_REQUESTS=ue},i.setRTLTextPlugin=function(ue,w){return St().setRTLTextPlugin(ue,w)},i.setWorkerCount=function(ue){Ee.workerCount=ue},i.setWorkerUrl=function(ue){a.a.WORKER_URL=ue}});var n=e;return n})});var wje=ye((Kbr,bje)=>{"use strict";var gw=Pr(),jXt=Zl().sanitizeHTML,WXt=RJ(),yje=Ix();function _je(e,t){this.subplot=e,this.uid=e.uid+"-"+t,this.index=t,this.idSource="source-"+this.uid,this.idLayer=yje.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var sg=_je.prototype;sg.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=g7(t)};sg.needsNewImage=function(e){var t=this.subplot.map;return t.getSource(this.idSource)&&this.sourceType==="image"&&e.sourcetype==="image"&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))};sg.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type};sg.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup["layout-"+this.index]};sg.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]};sg.updateImage=function(e){var t=this.subplot.map;t.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var r=this.findFollowingMapLayerId(this.lookupBelow());r!==null&&this.subplot.map.moveLayer(this.idLayer,r)};sg.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,!!g7(e)){var r=XXt(e);t.addSource(this.idSource,r)}};sg.findFollowingMapLayerId=function(e){if(e==="traces")for(var t=this.subplot.getMapLayers(),r=0;r0){for(var r=0;r0}function xje(e){var t={},r={};switch(e.type){case"circle":gw.extendFlat(r,{"circle-radius":e.circle.radius,"circle-color":e.color,"circle-opacity":e.opacity});break;case"line":gw.extendFlat(r,{"line-width":e.line.width,"line-color":e.color,"line-opacity":e.opacity,"line-dasharray":e.line.dash});break;case"fill":gw.extendFlat(r,{"fill-color":e.color,"fill-outline-color":e.fill.outlinecolor,"fill-opacity":e.opacity});break;case"symbol":var n=e.symbol,i=WXt(n.textposition,n.iconsize);gw.extendFlat(t,{"icon-image":n.icon+"-15","icon-size":n.iconsize/10,"text-field":n.text,"text-size":n.textfont.size,"text-anchor":i.anchor,"text-offset":i.offset,"symbol-placement":n.placement}),gw.extendFlat(r,{"icon-color":e.color,"text-color":n.textfont.color,"text-opacity":e.opacity});break;case"raster":gw.extendFlat(r,{"raster-fade-duration":0,"raster-opacity":e.opacity});break}return{layout:t,paint:r}}function XXt(e){var t=e.sourcetype,r=e.source,n={type:t},i;return t==="geojson"?i="data":t==="vector"?i=typeof r=="string"?"url":"tiles":t==="raster"?(i="tiles",n.tileSize=256):t==="image"&&(i="url",n.coordinates=e.coordinates),n[i]=r,e.sourceattribution&&(n.attribution=jXt(e.sourceattribution)),n}bje.exports=function(t,r,n){var i=new _je(t,r);return i.update(n),i}});var Lje=ye((Jbr,Cje)=>{"use strict";var BJ=mje(),NJ=Pr(),Sje=dx(),Tje=Oa(),ZXt=ho(),YXt=yv(),m7=ef(),Mje=Cg(),KXt=Mje.drawMode,JXt=Mje.selectMode,$Xt=qf().prepSelect,QXt=qf().clearOutline,eZt=qf().clearSelectionsCache,tZt=qf().selectOnClick,mw=Ix(),rZt=wje();function Eje(e,t){this.id=t,this.gd=e;var r=e._fullLayout,n=e._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+"-"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var Hh=Eje.prototype;Hh.plot=function(e,t,r){var n=this,i;n.map?i=new Promise(function(a,o){n.updateMap(e,t,a,o)}):i=new Promise(function(a,o){n.createMap(e,t,a,o)}),r.push(i)};Hh.createMap=function(e,t,r,n){var i=this,a=t[i.id],o=i.styleObj=kje(a.style),s=a.bounds,l=s?[[s.west,s.south],[s.east,s.north]]:null,u=i.map=new BJ.Map({container:i.div,style:o.style,center:UJ(a.center),zoom:a.zoom,bearing:a.bearing,pitch:a.pitch,maxBounds:l,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new BJ.AttributionControl({compact:!0})),c={};u.on("styleimagemissing",function(h){var d=h.id;if(!c[d]&&d.includes("-15")){c[d]=!0;var v=new Image(15,15);v.onload=function(){u.addImage(d,v)},v.crossOrigin="Anonymous",v.src="https://unpkg.com/maki@2.1.0/icons/"+d+".svg"}}),u.setTransformRequest(function(h){return h=h.replace("https://fonts.openmaptiles.org/Open Sans Extrabold","https://fonts.openmaptiles.org/Open Sans Extra Bold"),h=h.replace("https://tiles.basemaps.cartocdn.com/fonts/Open Sans Extrabold","https://fonts.openmaptiles.org/Open Sans Extra Bold"),h=h.replace("https://fonts.openmaptiles.org/Open Sans Regular,Arial Unicode MS Regular","https://fonts.openmaptiles.org/Klokantech Noto Sans Regular"),{url:h}}),u._canvas.style.left="0px",u._canvas.style.top="0px",i.rejectOnError(n),i.isStatic||i.initFx(e,t);var f=[];f.push(new Promise(function(h){u.once("load",h)})),f=f.concat(Sje.fetchTraceGeoData(e)),Promise.all(f).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Hh.updateMap=function(e,t,r,n){var i=this,a=i.map,o=t[this.id];i.rejectOnError(n);var s=[],l=kje(o.style);JSON.stringify(i.styleObj)!==JSON.stringify(l)&&(i.styleObj=l,a.setStyle(l.style),i.traceHash={},s.push(new Promise(function(u){a.once("styledata",u)}))),s=s.concat(Sje.fetchTraceGeoData(e)),Promise.all(s).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Hh.fillBelowLookup=function(e,t){var r=t[this.id],n=r.layers,i,a,o=this.belowLookup={},s=!1;for(i=0;i1)for(i=0;i-1&&tZt(l.originalEvent,n,[r.xaxis],[r.yaxis],r.id,s),u.indexOf("event")>-1&&m7.click(n,l.originalEvent)}}};Hh.updateFx=function(e){var t=this,r=t.map,n=t.gd;if(t.isStatic)return;function i(l){var u=t.map.unproject(l);return[u.lng,u.lat]}var a=e.dragmode,o;o=function(l,u){if(u.isRect){var c=l.range={};c[t.id]=[i([u.xmin,u.ymin]),i([u.xmax,u.ymax])]}else{var f=l.lassoPoints={};f[t.id]=u.map(i)}};var s=t.dragOptions;t.dragOptions=NJ.extendDeep(s||{},{dragmode:e.dragmode,element:t.div,gd:n,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:o},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off("click",t.onClickInPanHandler),JXt(a)||KXt(a)?(r.dragPan.disable(),r.on("zoomstart",t.clearOutline),t.dragOptions.prepFn=function(l,u,c){$Xt(l,u,c,t.dragOptions,a)},YXt.init(t.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",t.clearOutline),t.div.onmousedown=null,t.div.ontouchstart=null,t.div.removeEventListener("touchstart",t.div._ontouchstart),t.onClickInPanHandler=t.onClickInPanFn(t.dragOptions),r.on("click",t.onClickInPanHandler))};Hh.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+"px",n.height=r.h*(t.y[1]-t.y[0])+"px",n.left=r.l+t.x[0]*r.w+"px",n.top=r.t+(1-t.y[1])*r.h+"px",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])};Hh.updateLayers=function(e){var t=e[this.id],r=t.layers,n=this.layerList,i;if(r.length!==n.length){for(i=0;i{"use strict";var VJ=Pr(),nZt=q_(),aZt=Kd(),Pje=eC();Ije.exports=function(t,r,n){nZt(t,r,n,{type:"map",attributes:Pje,handleDefaults:oZt,partition:"y"})};function oZt(e,t,r){r("style"),r("center.lon"),r("center.lat"),r("zoom"),r("bearing"),r("pitch");var n=r("bounds.west"),i=r("bounds.east"),a=r("bounds.south"),o=r("bounds.north");(n===void 0||i===void 0||a===void 0||o===void 0)&&delete t.bounds,aZt(e,t,{name:"layers",handleItemDefaults:sZt}),t._input=e}function sZt(e,t){function r(l,u){return VJ.coerce(e,t,Pje.layers,l,u)}var n=r("visible");if(n){var i=r("sourcetype"),a=i==="raster"||i==="image";r("source"),r("sourceattribution"),i==="vector"&&r("sourcelayer"),i==="image"&&r("coordinates");var o;a&&(o="raster");var s=r("type",o);a&&s!=="raster"&&(s=t.type="raster",VJ.log("Source types *raster* and *image* must drawn *raster* layer type.")),r("below"),r("color"),r("opacity"),r("minzoom"),r("maxzoom"),s==="circle"&&r("circle.radius"),s==="line"&&(r("line.width"),r("line.dash")),s==="fill"&&r("fill.outlinecolor"),s==="symbol"&&(r("symbol.icon"),r("symbol.iconsize"),r("symbol.text"),VJ.coerceFont(r,"symbol.textfont",void 0,{noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}),r("symbol.textposition"),r("symbol.placement"))}}});var _7=ye(u0=>{"use strict";var y7=Pr(),Dje=y7.strTranslate,lZt=y7.strScale,uZt=Id().getSubplotCalcData,cZt=Wp(),fZt=qa(),Fje=So(),hZt=Zl(),dZt=Lje(),Rx="map";u0.name=Rx;u0.attr="subplot";u0.idRoot=Rx;u0.idRegex=u0.attrRegex=y7.counterRegex(Rx);u0.attributes={subplot:{valType:"subplotid",dflt:"map",editType:"calc"}};u0.layoutAttributes=eC();u0.supplyLayoutDefaults=Rje();u0.plot=function(t){for(var r=t._fullLayout,n=t.calcdata,i=r._subplots[Rx],a=0;am/2){var b=f.split("|").join("
");d.text(b).attr("data-unformatted",b).call(hZt.convertToTspans,e),v=Fje.bBox(d.node())}d.attr("transform",Dje(-3,-v.height+8)),h.insert("rect",".static-attribution").attr({x:-v.width-6,y:-v.height-3,width:v.width+6,height:v.height+3,fill:"rgba(255, 255, 255, 0.75)"});var p=1;v.width+6>m&&(p=m/(v.width+6));var k=[n.l+n.w*o.x[1],n.t+n.h*(1-o.y[0])];h.attr("transform",Dje(k[0],k[1])+lZt(p))}};u0.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[Rx],n=0;n{"use strict";zje.exports={attributes:c7(),supplyDefaults:YHe(),colorbar:Qd(),formatLabels:IJ(),calc:bF(),plot:uje(),hoverPoints:p7().hoverPoints,eventData:dje(),selectPoints:pje(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.update(t)}},moduleType:"trace",name:"scattermap",basePlotModule:_7(),categories:["map","gl","symbols","showLegend","scatter-like"],meta:{}}});var Bje=ye((t2r,Oje)=>{"use strict";Oje.exports=qje()});var GJ=ye((r2r,Nje)=>{"use strict";var x1=o5(),vZt=Tu(),{hovertemplateAttrs:pZt,templatefallbackAttrs:gZt}=Ll(),mZt=Gl(),Dx=Ao().extendFlat;Nje.exports=Dx({locations:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},geojson:{valType:"any",editType:"calc"},featureidkey:Dx({},x1.featureidkey,{}),below:{valType:"string",editType:"plot"},text:x1.text,hovertext:x1.hovertext,marker:{line:{color:Dx({},x1.marker.line.color,{editType:"plot"}),width:Dx({},x1.marker.line.width,{editType:"plot"}),editType:"calc"},opacity:Dx({},x1.marker.opacity,{editType:"plot"}),editType:"calc"},selected:{marker:{opacity:Dx({},x1.selected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},unselected:{marker:{opacity:Dx({},x1.unselected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},hoverinfo:x1.hoverinfo,hovertemplate:pZt({},{keys:["properties"]}),hovertemplatefallback:gZt(),showlegend:Dx({},mZt.showlegend,{dflt:!1})},vZt("",{cLetter:"z",editTypeOverride:"calc"}))});var Vje=ye((i2r,Uje)=>{"use strict";var nC=Pr(),yZt=td(),_Zt=GJ();Uje.exports=function(t,r,n,i){function a(c,f){return nC.coerce(t,r,_Zt,c,f)}var o=a("locations"),s=a("z"),l=a("geojson");if(!nC.isArrayOrTypedArray(o)||!o.length||!nC.isArrayOrTypedArray(s)||!s.length||!(typeof l=="string"&&l!==""||nC.isPlainObject(l))){r.visible=!1;return}a("featureidkey"),r._length=Math.min(o.length,s.length),a("below"),a("text"),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback");var u=a("marker.line.width");u&&a("marker.line.color"),a("marker.opacity"),yZt(t,r,i,a,{prefix:"",cLetter:"z"}),nC.coerceSelectionMarkerOpacity(r,a)}});var HJ=ye((n2r,jje)=>{"use strict";var xZt=Eo(),b1=Pr(),bZt=tc(),wZt=So(),TZt=fx().makeBlank,Gje=dx();function AZt(e){var t=e[0].trace,r=t.visible===!0&&t._length!==0,n={layout:{visibility:"none"},paint:{}},i={layout:{visibility:"none"},paint:{}},a=t._opts={fill:n,line:i,geojson:TZt()};if(!r)return a;var o=Gje.extractTraceFeature(e);if(!o)return a;var s=bZt.makeColorScaleFuncFromTrace(t),l=t.marker,u=l.line||{},c;b1.isArrayOrTypedArray(l.opacity)&&(c=function(k){var M=k.mo;return xZt(M)?+b1.constrain(M,0,1):0});var f;b1.isArrayOrTypedArray(u.color)&&(f=function(k){return k.mlc});var h;b1.isArrayOrTypedArray(u.width)&&(h=function(k){return k.mlw});for(var d=0;d{"use strict";var Xje=HJ().convert,SZt=HJ().convertOnSelect,Wje=Ix().traceLayerPrefix;function Zje(e,t){this.type="choroplethmap",this.subplot=e,this.uid=t,this.sourceId="source-"+t,this.layerList=[["fill",Wje+t+"-fill"],["line",Wje+t+"-line"]],this.below=null}var F5=Zje.prototype;F5.update=function(e){this._update(Xje(e)),e[0].trace._glTrace=this};F5.updateOnSelect=function(e){this._update(SZt(e))};F5._update=function(e){var t=this.subplot,r=this.layerList,n=t.belowLookup["trace-"+this.uid];t.map.getSource(this.sourceId).setData(e.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(e,n),this.below=n);for(var i=0;i=0;r--)e.removeLayer(t[r][1])};F5.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};Yje.exports=function(t,r){var n=r[0].trace,i=new Zje(t,n.uid),a=i.sourceId,o=Xje(r),s=i.below=t.belowLookup["trace-"+n.uid];return t.map.addSource(a,{type:"geojson",data:o.geojson}),i._addLayers(o,s),r[0].trace._glTrace=i,i}});var $je=ye((o2r,Jje)=>{"use strict";Jje.exports={attributes:GJ(),supplyDefaults:Vje(),colorbar:D_(),calc:VF(),plot:Kje(),hoverPoints:HF(),eventData:jF(),selectPoints:WF(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.updateOnSelect(t)}},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if(typeof i=="string"&&i.indexOf("water")===0){for(var a=n+1;a{"use strict";Qje.exports=$je()});var WJ=ye((l2r,rWe)=>{"use strict";var MZt=Tu(),{hovertemplateAttrs:EZt,templatefallbackAttrs:kZt}=Ll(),tWe=Gl(),x7=c7(),jJ=Ao().extendFlat;rWe.exports=jJ({lon:x7.lon,lat:x7.lat,z:{valType:"data_array",editType:"calc"},radius:{valType:"number",editType:"plot",arrayOk:!0,min:1,dflt:30},below:{valType:"string",editType:"plot"},text:x7.text,hovertext:x7.hovertext,hoverinfo:jJ({},tWe.hoverinfo,{flags:["lon","lat","z","text","name"]}),hovertemplate:EZt(),hovertemplatefallback:kZt(),showlegend:jJ({},tWe.showlegend,{dflt:!1})},MZt("",{cLetter:"z",editTypeOverride:"calc"}))});var nWe=ye((u2r,iWe)=>{"use strict";var CZt=Pr(),LZt=td(),PZt=WJ();iWe.exports=function(t,r,n,i){function a(u,c){return CZt.coerce(t,r,PZt,u,c)}var o=a("lon")||[],s=a("lat")||[],l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a("z"),a("radius"),a("below"),a("text"),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback"),LZt(t,r,i,a,{prefix:"",cLetter:"z"})}});var sWe=ye((c2r,oWe)=>{"use strict";var XJ=Eo(),IZt=Pr().isArrayOrTypedArray,ZJ=fs().BADNUM,RZt=gv(),aWe=Pr()._;oWe.exports=function(t,r){for(var n=r._length,i=new Array(n),a=r.z,o=IZt(a)&&a.length,s=0;s{"use strict";var DZt=Eo(),YJ=Pr(),lWe=ka(),uWe=tc(),cWe=fs().BADNUM,FZt=fx().makeBlank;fWe.exports=function(t){var r=t[0].trace,n=r.visible===!0&&r._length!==0,i={layout:{visibility:"none"},paint:{}},a=r._opts={heatmap:i,geojson:FZt()};if(!n)return a;var o=[],s,l=r.z,u=r.radius,c=YJ.isArrayOrTypedArray(l)&&l.length,f=YJ.isArrayOrTypedArray(u);for(s=0;s0?+u[s]:0),o.push({type:"Feature",geometry:{type:"Point",coordinates:d},properties:v})}}var b=uWe.extractOpts(r),p=b.reversescale?uWe.flipScale(b.colorscale):b.colorscale,k=p[0][1],M=lWe.opacity(k)<1?k:lWe.addOpacity(k,0),T=["interpolate",["linear"],["heatmap-density"],0,M];for(s=1;s{"use strict";var dWe=hWe(),zZt=Ix().traceLayerPrefix;function vWe(e,t){this.type="densitymap",this.subplot=e,this.uid=t,this.sourceId="source-"+t,this.layerList=[["heatmap",zZt+t+"-heatmap"]],this.below=null}var b7=vWe.prototype;b7.update=function(e){var t=this.subplot,r=this.layerList,n=dWe(e),i=t.belowLookup["trace-"+this.uid];t.map.getSource(this.sourceId).setData(n.geojson),i!==this.below&&(this._removeLayers(),this._addLayers(n,i),this.below=i);for(var a=0;a=0;r--)e.removeLayer(t[r][1])};b7.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};pWe.exports=function(t,r){var n=r[0].trace,i=new vWe(t,n.uid),a=i.sourceId,o=dWe(r),s=i.below=t.belowLookup["trace-"+n.uid];return t.map.addSource(a,{type:"geojson",data:o.geojson}),i._addLayers(o,s),i}});var yWe=ye((d2r,mWe)=>{"use strict";var qZt=ho(),OZt=p7().hoverPoints,BZt=p7().getExtraText;mWe.exports=function(t,r,n){var i=OZt(t,r,n);if(i){var a=i[0],o=a.cd,s=o[0].trace,l=o[a.index];if(delete a.color,"z"in l){var u=a.subplot.mockAxis;a.z=l.z,a.zLabel=qZt.tickText(u,u.c2l(l.z),"hover").text}return a.extraText=BZt(s,l,o[0].t.labels),[a]}}});var xWe=ye((v2r,_We)=>{"use strict";_We.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t.z=r.z,t}});var wWe=ye((p2r,bWe)=>{"use strict";bWe.exports={attributes:WJ(),supplyDefaults:nWe(),colorbar:D_(),formatLabels:IJ(),calc:sWe(),plot:gWe(),hoverPoints:yWe(),eventData:xWe(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;n{"use strict";TWe.exports=wWe()});var JJ=ye((y2r,CWe)=>{"use strict";var NZt=ec(),UZt=Gl(),SWe=Ih(),KJ=g3(),VZt=Cc().attributes,{hovertemplateAttrs:MWe,templatefallbackAttrs:EWe}=Ll(),GZt=Tu(),HZt=vl().templatedArray,jZt=vf().descriptionOnlyNumbers,kWe=Ao().extendFlat,WZt=mc().overrideAll,m2r=CWe.exports=WZt({hoverinfo:kWe({},UZt.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:KJ.hoverlabel,domain:VZt({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h"},valueformat:{valType:"string",dflt:".3s",description:jZt("value")},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:NZt({autoShadowDflt:!0}),customdata:void 0,node:{label:{valType:"data_array",dflt:[]},groups:{valType:"info_array",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:"number",editType:"calc"}},x:{valType:"data_array",dflt:[]},y:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:SWe.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:.5,arrayOk:!0}},pad:{valType:"number",arrayOk:!1,min:0,dflt:20},thickness:{valType:"number",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:KJ.hoverlabel,hovertemplate:MWe({},{keys:["value","label"]}),hovertemplatefallback:EWe(),align:{valType:"enumerated",values:["justify","left","right","center"],dflt:"justify"}},link:{arrowlen:{valType:"number",min:0,dflt:0},label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},hovercolor:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:SWe.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:0,arrayOk:!0}},source:{valType:"data_array",dflt:[]},target:{valType:"data_array",dflt:[]},value:{valType:"data_array",dflt:[]},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:KJ.hoverlabel,hovertemplate:MWe({},{keys:["value","label"]}),hovertemplatefallback:EWe(),colorscales:HZt("concentrationscales",{editType:"calc",label:{valType:"string",editType:"calc",dflt:""},cmax:{valType:"number",editType:"calc",dflt:1},cmin:{valType:"number",editType:"calc",dflt:0},colorscale:kWe(GZt().colorscale,{dflt:[[0,"white"],[1,"black"]]})})}},"calc","nested")});var DWe=ye((_2r,RWe)=>{"use strict";var z5=Pr(),w7=JJ(),XZt=ka(),LWe=fd(),ZZt=Cc().defaults,PWe=xM(),IWe=vl(),YZt=Kd();RWe.exports=function(t,r,n,i){function a(T,L){return z5.coerce(t,r,w7,T,L)}var o=z5.extendDeep(i.hoverlabel,t.hoverlabel),s=t.node,l=IWe.newContainer(r,"node");function u(T,L){return z5.coerce(s,l,w7.node,T,L)}u("label"),u("groups"),u("x"),u("y"),u("pad"),u("thickness"),u("line.color"),u("line.width"),u("hoverinfo",t.hoverinfo),PWe(s,l,u,o),u("hovertemplate"),u("align");var c=i.colorway,f=function(T){return c[T%c.length]};u("color",l.label.map(function(T,L){return XZt.addOpacity(f(L),.8)})),u("customdata");var h=t.link||{},d=IWe.newContainer(r,"link");function v(T,L){return z5.coerce(h,d,w7.link,T,L)}v("label"),v("arrowlen"),v("source"),v("target"),v("value"),v("line.color"),v("line.width"),v("hoverinfo",t.hoverinfo),PWe(h,d,v,o),v("hovertemplate");var m=LWe(i.paper_bgcolor).getLuminance()<.333,b=m?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)",p=v("color",b);function k(T){var L=LWe(T);if(!L.isValid())return T;var x=L.getAlpha();return x<=.8?L.setAlpha(x+.2):L=m?L.brighten():L.darken(),L.toRgbString()}v("hovercolor",Array.isArray(p)?p.map(k):k(p)),v("customdata"),YZt(h,d,{name:"colorscales",handleItemDefaults:KZt}),ZZt(r,i,a),a("orientation"),a("valueformat"),a("valuesuffix");var M;l.x.length&&l.y.length&&(M="freeform"),a("arrangement",M),z5.coerceFont(a,"textfont",i.font,{autoShadowDflt:!0}),r._length=null};function KZt(e,t){function r(n,i){return z5.coerce(e,t,w7.link.colorscales,n,i)}r("label"),r("cmin"),r("cmax"),r("colorscale")}});var $J=ye((x2r,FWe)=>{"use strict";FWe.exports=JZt;function JZt(e){for(var t=e.length,r=new Array(t),n=new Array(t),i=new Array(t),a=new Array(t),o=new Array(t),s=new Array(t),l=0;l0;){b=k[k.length-1];var M=e[b];if(a[b]=0&&s[b].push(o[L])}a[b]=T}else{if(n[b]===r[b]){for(var x=[],C=[],S=0,T=p.length-1;T>=0;--T){var g=p[T];if(i[g]=!1,x.push(g),C.push(s[g]),S+=s[g].length,o[g]=c.length,g===b){p.length=T;break}}c.push(x);for(var P=new Array(S),T=0;T{"use strict";var $Zt=$J(),q5=Pr(),QZt=ny().wrap,aC=q5.isArrayOrTypedArray,zWe=q5.isIndex,qWe=tc();function eYt(e){var t=e.node,r=e.link,n=[],i=aC(r.color),a=aC(r.hovercolor),o=aC(r.customdata),s={},l={},u=r.colorscales.length,c;for(c=0;cv&&(v=r.source[c]),r.target[c]>v&&(v=r.target[c]);var m=v+1;e.node._count=m;var b,p=e.node.groups,k={};for(c=0;c0&&zWe(S,m)&&zWe(g,m)&&!(k.hasOwnProperty(S)&&k.hasOwnProperty(g)&&k[S]===k[g])){k.hasOwnProperty(g)&&(g=k[g]),k.hasOwnProperty(S)&&(S=k[S]),S=+S,g=+g,s[S]=s[g]=!0;var P="";r.label&&r.label[c]&&(P=r.label[c]);var E=null;P&&l.hasOwnProperty(P)&&(E=l[P]),n.push({pointNumber:c,label:P,color:i?r.color[c]:r.color,hovercolor:a?r.hovercolor[c]:r.hovercolor,customdata:o?r.customdata[c]:r.customdata,concentrationscale:E,source:S,target:g,value:+C}),x.source.push(S),x.target.push(g)}}var z=m+p.length,q=aC(t.color),V=aC(t.customdata),G=[];for(c=0;cm-1,childrenNodes:[],pointNumber:c,label:Z,color:q?t.color[c]:t.color,customdata:V?t.customdata[c]:t.customdata})}var j=!1;return tYt(z,x.source,x.target)&&(j=!0),{circular:j,links:n,nodes:G,groups:p,groupLookup:k}}function tYt(e,t,r){for(var n=q5.init2dArray(e,0),i=0;i1})}OWe.exports=function(t,r){var n=eYt(r);return QZt({circular:n.circular,_nodes:n.nodes,_links:n.links,_groups:n.groups,_groupLookup:n.groupLookup})}});var UWe=ye((T7,NWe)=>{(function(e,t){typeof T7=="object"&&typeof NWe!="undefined"?t(T7):(e=e||self,t(e.d3=e.d3||{}))})(T7,function(e){"use strict";function t(C){var S=+this._x.call(null,C),g=+this._y.call(null,C);return r(this.cover(S,g),S,g,C)}function r(C,S,g,P){if(isNaN(S)||isNaN(g))return C;var E,z=C._root,q={data:P},V=C._x0,G=C._y0,Z=C._x1,j=C._y1,N,H,ie,ae,_e,Ee,Ce,ge;if(!z)return C._root=q,C;for(;z.length;)if((_e=S>=(N=(V+Z)/2))?V=N:Z=N,(Ee=g>=(H=(G+j)/2))?G=H:j=H,E=z,!(z=z[Ce=Ee<<1|_e]))return E[Ce]=q,C;if(ie=+C._x.call(null,z.data),ae=+C._y.call(null,z.data),S===ie&&g===ae)return q.next=z,E?E[Ce]=q:C._root=q,C;do E=E?E[Ce]=new Array(4):C._root=new Array(4),(_e=S>=(N=(V+Z)/2))?V=N:Z=N,(Ee=g>=(H=(G+j)/2))?G=H:j=H;while((Ce=Ee<<1|_e)===(ge=(ae>=H)<<1|ie>=N));return E[ge]=z,E[Ce]=q,C}function n(C){var S,g,P=C.length,E,z,q=new Array(P),V=new Array(P),G=1/0,Z=1/0,j=-1/0,N=-1/0;for(g=0;gj&&(j=E),zN&&(N=z));if(G>j||Z>N)return this;for(this.cover(G,Z).cover(j,N),g=0;gC||C>=E||P>S||S>=z;)switch(Z=(Sj||(V=ae.y0)>N||(G=ae.x1)=Ce)<<1|C>=Ee)&&(ae=H[H.length-1],H[H.length-1]=H[H.length-1-_e],H[H.length-1-_e]=ae)}else{var ge=C-+this._x.call(null,ie.data),re=S-+this._y.call(null,ie.data),Se=ge*ge+re*re;if(Se=(H=(q+G)/2))?q=H:G=H,(_e=N>=(ie=(V+Z)/2))?V=ie:Z=ie,S=g,!(g=g[Ee=_e<<1|ae]))return this;if(!g.length)break;(S[Ee+1&3]||S[Ee+2&3]||S[Ee+3&3])&&(P=S,Ce=Ee)}for(;g.data!==C;)if(E=g,!(g=g.next))return this;return(z=g.next)&&delete g.next,E?(z?E.next=z:delete E.next,this):S?(z?S[Ee]=z:delete S[Ee],(g=S[0]||S[1]||S[2]||S[3])&&g===(S[3]||S[2]||S[1]||S[0])&&!g.length&&(P?P[Ce]=g:this._root=g),this):(this._root=z,this)}function c(C){for(var S=0,g=C.length;S{(function(e,t){t(typeof A7=="object"&&typeof VWe!="undefined"?A7:e.d3=e.d3||{})})(A7,function(e){"use strict";var t="$";function r(){}r.prototype=n.prototype={constructor:r,has:function(m){return t+m in this},get:function(m){return this[t+m]},set:function(m,b){return this[t+m]=b,this},remove:function(m){var b=t+m;return b in this&&delete this[b]},clear:function(){for(var m in this)m[0]===t&&delete this[m]},keys:function(){var m=[];for(var b in this)b[0]===t&&m.push(b.slice(1));return m},values:function(){var m=[];for(var b in this)b[0]===t&&m.push(this[b]);return m},entries:function(){var m=[];for(var b in this)b[0]===t&&m.push({key:b.slice(1),value:this[b]});return m},size:function(){var m=0;for(var b in this)b[0]===t&&++m;return m},empty:function(){for(var m in this)if(m[0]===t)return!1;return!0},each:function(m){for(var b in this)b[0]===t&&m(this[b],b.slice(1),this)}};function n(m,b){var p=new r;if(m instanceof r)m.each(function(x,C){p.set(C,x)});else if(Array.isArray(m)){var k=-1,M=m.length,T;if(b==null)for(;++k=m.length)return p!=null&&x.sort(p),k!=null?k(x):x;for(var P=-1,E=x.length,z=m[C++],q,V,G=n(),Z,j=S();++Pm.length)return x;var S,g=b[C-1];return k!=null&&C>=m.length?S=x.entries():(S=[],x.each(function(P,E){S.push({key:E,values:L(P,C)})})),g!=null?S.sort(function(P,E){return g(P.key,E.key)}):S}return M={object:function(x){return T(x,0,a,o)},map:function(x){return T(x,0,s,l)},entries:function(x){return L(T(x,0,s,l),0)},key:function(x){return m.push(x),M},sortKeys:function(x){return b[m.length-1]=x,M},sortValues:function(x){return p=x,M},rollup:function(x){return k=x,M}}}function a(){return{}}function o(m,b,p){m[b]=p}function s(){return n()}function l(m,b,p){m.set(b,p)}function u(){}var c=n.prototype;u.prototype=f.prototype={constructor:u,has:c.has,add:function(m){return m+="",this[t+m]=m,this},remove:c.remove,clear:c.clear,values:c.keys,size:c.size,empty:c.empty,each:c.each};function f(m,b){var p=new u;if(m instanceof u)m.each(function(T){p.add(T)});else if(m){var k=-1,M=m.length;if(b==null)for(;++k{(function(e,t){typeof M7=="object"&&typeof GWe!="undefined"?t(M7):(e=e||self,t(e.d3=e.d3||{}))})(M7,function(e){"use strict";var t={value:function(){}};function r(){for(var s=0,l=arguments.length,u={},c;s=0&&(c=u.slice(f+1),u=u.slice(0,f)),u&&!l.hasOwnProperty(u))throw new Error("unknown type: "+u);return{type:u,name:c}})}n.prototype=r.prototype={constructor:n,on:function(s,l){var u=this._,c=i(s+"",u),f,h=-1,d=c.length;if(arguments.length<2){for(;++h0)for(var u=new Array(f),c=0,f,h;c{(function(e,t){typeof E7=="object"&&typeof jWe!="undefined"?t(E7):(e=e||self,t(e.d3=e.d3||{}))})(E7,function(e){"use strict";var t=0,r=0,n=0,i=1e3,a,o,s=0,l=0,u=0,c=typeof performance=="object"&&performance.now?performance:Date,f=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(C){setTimeout(C,17)};function h(){return l||(f(d),l=c.now()+u)}function d(){l=0}function v(){this._call=this._time=this._next=null}v.prototype=m.prototype={constructor:v,restart:function(C,S,g){if(typeof C!="function")throw new TypeError("callback is not a function");g=(g==null?h():+g)+(S==null?0:+S),!this._next&&o!==this&&(o?o._next=this:a=this,o=this),this._call=C,this._time=g,T()},stop:function(){this._call&&(this._call=null,this._time=1/0,T())}};function m(C,S,g){var P=new v;return P.restart(C,S,g),P}function b(){h(),++t;for(var C=a,S;C;)(S=l-C._time)>=0&&C._call.call(null,S),C=C._next;--t}function p(){l=(s=c.now())+u,t=r=0;try{b()}finally{t=0,M(),l=0}}function k(){var C=c.now(),S=C-s;S>i&&(u-=S,s=C)}function M(){for(var C,S=a,g,P=1/0;S;)S._call?(P>S._time&&(P=S._time),C=S,S=S._next):(g=S._next,S._next=null,S=C?C._next=g:a=g);o=C,T(P)}function T(C){if(!t){r&&(r=clearTimeout(r));var S=C-l;S>24?(C<1/0&&(r=setTimeout(p,C-c.now()-u)),n&&(n=clearInterval(n))):(n||(s=c.now(),n=setInterval(k,i)),t=1,f(p))}}function L(C,S,g){var P=new v;return S=S==null?0:+S,P.restart(function(E){P.stop(),C(E+S)},S,g),P}function x(C,S,g){var P=new v,E=S;return S==null?(P.restart(C,S,g),P):(S=+S,g=g==null?h():+g,P.restart(function z(q){q+=E,P.restart(z,E+=S,g),C(q)},S,g),P)}e.interval=x,e.now=h,e.timeout=L,e.timer=m,e.timerFlush=b,Object.defineProperty(e,"__esModule",{value:!0})})});var ZWe=ye((k7,XWe)=>{(function(e,t){typeof k7=="object"&&typeof XWe!="undefined"?t(k7,UWe(),S7(),HWe(),WWe()):t(e.d3=e.d3||{},e.d3,e.d3,e.d3,e.d3)})(k7,function(e,t,r,n,i){"use strict";function a(C,S){var g;C==null&&(C=0),S==null&&(S=0);function P(){var E,z=g.length,q,V=0,G=0;for(E=0;EN.index){var Pe=H-Be.x-Be.vx,ce=ie-Be.y-Be.vy,He=Pe*Pe+ce*ce;HeH+me||keie+me||beG.r&&(G.r=G[Z].r)}function V(){if(S){var G,Z=S.length,j;for(g=new Array(Z),G=0;G1?(_e==null?V.remove(ae):V.set(ae,ie(_e)),S):V.get(ae)},find:function(ae,_e,Ee){var Ce=0,ge=C.length,re,Se,ke,be,Be;for(Ee==null?Ee=1/0:Ee*=Ee,Ce=0;Ce1?(Z.on(ae,_e),S):Z.on(ae)}}}function M(){var C,S,g,P=o(-30),E,z=1,q=1/0,V=.81;function G(H){var ie,ae=C.length,_e=t.quadtree(C,v,m).visitAfter(j);for(g=H,ie=0;ie=q)return;(H.data!==S||H.next)&&(Ee===0&&(Ee=s(),re+=Ee*Ee),Ce===0&&(Ce=s(),re+=Ce*Ce),re{(function(e,t){typeof C7=="object"&&typeof YWe!="undefined"?t(C7):(e=e||self,t(e.d3=e.d3||{}))})(C7,function(e){"use strict";var t=Math.PI,r=2*t,n=1e-6,i=r-n;function a(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function o(){return new a}a.prototype=o.prototype={constructor:a,moveTo:function(s,l){this._+="M"+(this._x0=this._x1=+s)+","+(this._y0=this._y1=+l)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(s,l){this._+="L"+(this._x1=+s)+","+(this._y1=+l)},quadraticCurveTo:function(s,l,u,c){this._+="Q"+ +s+","+ +l+","+(this._x1=+u)+","+(this._y1=+c)},bezierCurveTo:function(s,l,u,c,f,h){this._+="C"+ +s+","+ +l+","+ +u+","+ +c+","+(this._x1=+f)+","+(this._y1=+h)},arcTo:function(s,l,u,c,f){s=+s,l=+l,u=+u,c=+c,f=+f;var h=this._x1,d=this._y1,v=u-s,m=c-l,b=h-s,p=d-l,k=b*b+p*p;if(f<0)throw new Error("negative radius: "+f);if(this._x1===null)this._+="M"+(this._x1=s)+","+(this._y1=l);else if(k>n)if(!(Math.abs(p*v-m*b)>n)||!f)this._+="L"+(this._x1=s)+","+(this._y1=l);else{var M=u-h,T=c-d,L=v*v+m*m,x=M*M+T*T,C=Math.sqrt(L),S=Math.sqrt(k),g=f*Math.tan((t-Math.acos((L+k-x)/(2*C*S)))/2),P=g/S,E=g/C;Math.abs(P-1)>n&&(this._+="L"+(s+P*b)+","+(l+P*p)),this._+="A"+f+","+f+",0,0,"+ +(p*M>b*T)+","+(this._x1=s+E*v)+","+(this._y1=l+E*m)}},arc:function(s,l,u,c,f,h){s=+s,l=+l,u=+u,h=!!h;var d=u*Math.cos(c),v=u*Math.sin(c),m=s+d,b=l+v,p=1^h,k=h?c-f:f-c;if(u<0)throw new Error("negative radius: "+u);this._x1===null?this._+="M"+m+","+b:(Math.abs(this._x1-m)>n||Math.abs(this._y1-b)>n)&&(this._+="L"+m+","+b),u&&(k<0&&(k=k%r+r),k>i?this._+="A"+u+","+u+",0,1,"+p+","+(s-d)+","+(l-v)+"A"+u+","+u+",0,1,"+p+","+(this._x1=m)+","+(this._y1=b):k>n&&(this._+="A"+u+","+u+",0,"+ +(k>=t)+","+p+","+(this._x1=s+u*Math.cos(f))+","+(this._y1=l+u*Math.sin(f))))},rect:function(s,l,u,c){this._+="M"+(this._x0=this._x1=+s)+","+(this._y0=this._y1=+l)+"h"+ +u+"v"+ +c+"h"+-u+"Z"},toString:function(){return this._}},e.path=o,Object.defineProperty(e,"__esModule",{value:!0})})});var QJ=ye((L7,JWe)=>{(function(e,t){typeof L7=="object"&&typeof JWe!="undefined"?t(L7,KWe()):(e=e||self,t(e.d3=e.d3||{},e.d3))})(L7,function(e,t){"use strict";function r(Ct){return function(){return Ct}}var n=Math.abs,i=Math.atan2,a=Math.cos,o=Math.max,s=Math.min,l=Math.sin,u=Math.sqrt,c=1e-12,f=Math.PI,h=f/2,d=2*f;function v(Ct){return Ct>1?0:Ct<-1?f:Math.acos(Ct)}function m(Ct){return Ct>=1?h:Ct<=-1?-h:Math.asin(Ct)}function b(Ct){return Ct.innerRadius}function p(Ct){return Ct.outerRadius}function k(Ct){return Ct.startAngle}function M(Ct){return Ct.endAngle}function T(Ct){return Ct&&Ct.padAngle}function L(Ct,Sr,Jr,hi,hn,Sn,En,ki){var _n=Jr-Ct,ya=hi-Sr,ea=En-hn,Ma=ki-Sn,_o=Ma*_n-ea*ya;if(!(_o*_oYl*Yl+Su*Su&&(As=Ks,cl=zs),{cx:As,cy:cl,x01:-ea,y01:-Ma,x11:As*(hn/zl-1),y11:cl*(hn/zl-1)}}function C(){var Ct=b,Sr=p,Jr=r(0),hi=null,hn=k,Sn=M,En=T,ki=null;function _n(){var ya,ea,Ma=+Ct.apply(this,arguments),_o=+Sr.apply(this,arguments),No=hn.apply(this,arguments)-h,po=Sn.apply(this,arguments)-h,Lo=n(po-No),ko=po>No;if(ki||(ki=ya=t.path()),_oc))ki.moveTo(0,0);else if(Lo>d-c)ki.moveTo(_o*a(No),_o*l(No)),ki.arc(0,0,_o,No,po,!ko),Ma>c&&(ki.moveTo(Ma*a(po),Ma*l(po)),ki.arc(0,0,Ma,po,No,ko));else{var Ds=No,Fs=po,ll=No,ul=po,zl=Lo,us=Lo,il=En.apply(this,arguments)/2,As=il>c&&(hi?+hi.apply(this,arguments):u(Ma*Ma+_o*_o)),cl=s(n(_o-Ma)/2,+Jr.apply(this,arguments)),Ks=cl,zs=cl,Io,ls;if(As>c){var Yl=m(As/Ma*l(il)),Su=m(As/_o*l(il));(zl-=Yl*2)>c?(Yl*=ko?1:-1,ll+=Yl,ul-=Yl):(zl=0,ll=ul=(No+po)/2),(us-=Su*2)>c?(Su*=ko?1:-1,Ds+=Su,Fs-=Su):(us=0,Ds=Fs=(No+po)/2)}var nc=_o*a(Ds),bs=_o*l(Ds),Rn=Ma*a(ul),_a=Ma*l(ul);if(cl>c){var Vu=_o*a(Fs),ql=_o*l(Fs),xo=Ma*a(ll),Kl=Ma*l(ll),Ns;if(Loc?zs>c?(Io=x(xo,Kl,nc,bs,_o,zs,ko),ls=x(Vu,ql,Rn,_a,_o,zs,ko),ki.moveTo(Io.cx+Io.x01,Io.cy+Io.y01),zsc)||!(zl>c)?ki.lineTo(Rn,_a):Ks>c?(Io=x(Rn,_a,Vu,ql,Ma,-Ks,ko),ls=x(nc,bs,xo,Kl,Ma,-Ks,ko),ki.lineTo(Io.cx+Io.x01,Io.cy+Io.y01),Ks=_o;--No)ki.point(Fs[No],ll[No]);ki.lineEnd(),ki.areaEnd()}ko&&(Fs[Ma]=+Ct(Lo,Ma,ea),ll[Ma]=+Jr(Lo,Ma,ea),ki.point(Sr?+Sr(Lo,Ma,ea):Fs[Ma],hi?+hi(Lo,Ma,ea):ll[Ma]))}if(Ds)return ki=null,Ds+""||null}function ya(){return z().defined(hn).curve(En).context(Sn)}return _n.x=function(ea){return arguments.length?(Ct=typeof ea=="function"?ea:r(+ea),Sr=null,_n):Ct},_n.x0=function(ea){return arguments.length?(Ct=typeof ea=="function"?ea:r(+ea),_n):Ct},_n.x1=function(ea){return arguments.length?(Sr=ea==null?null:typeof ea=="function"?ea:r(+ea),_n):Sr},_n.y=function(ea){return arguments.length?(Jr=typeof ea=="function"?ea:r(+ea),hi=null,_n):Jr},_n.y0=function(ea){return arguments.length?(Jr=typeof ea=="function"?ea:r(+ea),_n):Jr},_n.y1=function(ea){return arguments.length?(hi=ea==null?null:typeof ea=="function"?ea:r(+ea),_n):hi},_n.lineX0=_n.lineY0=function(){return ya().x(Ct).y(Jr)},_n.lineY1=function(){return ya().x(Ct).y(hi)},_n.lineX1=function(){return ya().x(Sr).y(Jr)},_n.defined=function(ea){return arguments.length?(hn=typeof ea=="function"?ea:r(!!ea),_n):hn},_n.curve=function(ea){return arguments.length?(En=ea,Sn!=null&&(ki=En(Sn)),_n):En},_n.context=function(ea){return arguments.length?(ea==null?Sn=ki=null:ki=En(Sn=ea),_n):Sn},_n}function V(Ct,Sr){return SrCt?1:Sr>=Ct?0:NaN}function G(Ct){return Ct}function Z(){var Ct=G,Sr=V,Jr=null,hi=r(0),hn=r(d),Sn=r(0);function En(ki){var _n,ya=ki.length,ea,Ma,_o=0,No=new Array(ya),po=new Array(ya),Lo=+hi.apply(this,arguments),ko=Math.min(d,Math.max(-d,hn.apply(this,arguments)-Lo)),Ds,Fs=Math.min(Math.abs(ko)/ya,Sn.apply(this,arguments)),ll=Fs*(ko<0?-1:1),ul;for(_n=0;_n0&&(_o+=ul);for(Sr!=null?No.sort(function(zl,us){return Sr(po[zl],po[us])}):Jr!=null&&No.sort(function(zl,us){return Jr(ki[zl],ki[us])}),_n=0,Ma=_o?(ko-ya*ll)/_o:0;_n0?ul*Ma:0)+ll,po[ea]={data:ki[ea],index:_n,value:ul,startAngle:Lo,endAngle:Ds,padAngle:Fs};return po}return En.value=function(ki){return arguments.length?(Ct=typeof ki=="function"?ki:r(+ki),En):Ct},En.sortValues=function(ki){return arguments.length?(Sr=ki,Jr=null,En):Sr},En.sort=function(ki){return arguments.length?(Jr=ki,Sr=null,En):Jr},En.startAngle=function(ki){return arguments.length?(hi=typeof ki=="function"?ki:r(+ki),En):hi},En.endAngle=function(ki){return arguments.length?(hn=typeof ki=="function"?ki:r(+ki),En):hn},En.padAngle=function(ki){return arguments.length?(Sn=typeof ki=="function"?ki:r(+ki),En):Sn},En}var j=H(g);function N(Ct){this._curve=Ct}N.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(Ct,Sr){this._curve.point(Sr*Math.sin(Ct),Sr*-Math.cos(Ct))}};function H(Ct){function Sr(Jr){return new N(Ct(Jr))}return Sr._curve=Ct,Sr}function ie(Ct){var Sr=Ct.curve;return Ct.angle=Ct.x,delete Ct.x,Ct.radius=Ct.y,delete Ct.y,Ct.curve=function(Jr){return arguments.length?Sr(H(Jr)):Sr()._curve},Ct}function ae(){return ie(z().curve(j))}function _e(){var Ct=q().curve(j),Sr=Ct.curve,Jr=Ct.lineX0,hi=Ct.lineX1,hn=Ct.lineY0,Sn=Ct.lineY1;return Ct.angle=Ct.x,delete Ct.x,Ct.startAngle=Ct.x0,delete Ct.x0,Ct.endAngle=Ct.x1,delete Ct.x1,Ct.radius=Ct.y,delete Ct.y,Ct.innerRadius=Ct.y0,delete Ct.y0,Ct.outerRadius=Ct.y1,delete Ct.y1,Ct.lineStartAngle=function(){return ie(Jr())},delete Ct.lineX0,Ct.lineEndAngle=function(){return ie(hi())},delete Ct.lineX1,Ct.lineInnerRadius=function(){return ie(hn())},delete Ct.lineY0,Ct.lineOuterRadius=function(){return ie(Sn())},delete Ct.lineY1,Ct.curve=function(En){return arguments.length?Sr(H(En)):Sr()._curve},Ct}function Ee(Ct,Sr){return[(Sr=+Sr)*Math.cos(Ct-=Math.PI/2),Sr*Math.sin(Ct)]}var Ce=Array.prototype.slice;function ge(Ct){return Ct.source}function re(Ct){return Ct.target}function Se(Ct){var Sr=ge,Jr=re,hi=P,hn=E,Sn=null;function En(){var ki,_n=Ce.call(arguments),ya=Sr.apply(this,_n),ea=Jr.apply(this,_n);if(Sn||(Sn=ki=t.path()),Ct(Sn,+hi.apply(this,(_n[0]=ya,_n)),+hn.apply(this,_n),+hi.apply(this,(_n[0]=ea,_n)),+hn.apply(this,_n)),ki)return Sn=null,ki+""||null}return En.source=function(ki){return arguments.length?(Sr=ki,En):Sr},En.target=function(ki){return arguments.length?(Jr=ki,En):Jr},En.x=function(ki){return arguments.length?(hi=typeof ki=="function"?ki:r(+ki),En):hi},En.y=function(ki){return arguments.length?(hn=typeof ki=="function"?ki:r(+ki),En):hn},En.context=function(ki){return arguments.length?(Sn=ki==null?null:ki,En):Sn},En}function ke(Ct,Sr,Jr,hi,hn){Ct.moveTo(Sr,Jr),Ct.bezierCurveTo(Sr=(Sr+hi)/2,Jr,Sr,hn,hi,hn)}function be(Ct,Sr,Jr,hi,hn){Ct.moveTo(Sr,Jr),Ct.bezierCurveTo(Sr,Jr=(Jr+hn)/2,hi,Jr,hi,hn)}function Be(Ct,Sr,Jr,hi,hn){var Sn=Ee(Sr,Jr),En=Ee(Sr,Jr=(Jr+hn)/2),ki=Ee(hi,Jr),_n=Ee(hi,hn);Ct.moveTo(Sn[0],Sn[1]),Ct.bezierCurveTo(En[0],En[1],ki[0],ki[1],_n[0],_n[1])}function Le(){return Se(ke)}function me(){return Se(be)}function Pe(){var Ct=Se(Be);return Ct.angle=Ct.x,delete Ct.x,Ct.radius=Ct.y,delete Ct.y,Ct}var ce={draw:function(Ct,Sr){var Jr=Math.sqrt(Sr/f);Ct.moveTo(Jr,0),Ct.arc(0,0,Jr,0,d)}},He={draw:function(Ct,Sr){var Jr=Math.sqrt(Sr/5)/2;Ct.moveTo(-3*Jr,-Jr),Ct.lineTo(-Jr,-Jr),Ct.lineTo(-Jr,-3*Jr),Ct.lineTo(Jr,-3*Jr),Ct.lineTo(Jr,-Jr),Ct.lineTo(3*Jr,-Jr),Ct.lineTo(3*Jr,Jr),Ct.lineTo(Jr,Jr),Ct.lineTo(Jr,3*Jr),Ct.lineTo(-Jr,3*Jr),Ct.lineTo(-Jr,Jr),Ct.lineTo(-3*Jr,Jr),Ct.closePath()}},lt=Math.sqrt(1/3),mt=lt*2,Ht={draw:function(Ct,Sr){var Jr=Math.sqrt(Sr/mt),hi=Jr*lt;Ct.moveTo(0,-Jr),Ct.lineTo(hi,0),Ct.lineTo(0,Jr),Ct.lineTo(-hi,0),Ct.closePath()}},at=.8908130915292852,ct=Math.sin(f/10)/Math.sin(7*f/10),ar=Math.sin(d/10)*ct,Vt=-Math.cos(d/10)*ct,rr={draw:function(Ct,Sr){var Jr=Math.sqrt(Sr*at),hi=ar*Jr,hn=Vt*Jr;Ct.moveTo(0,-Jr),Ct.lineTo(hi,hn);for(var Sn=1;Sn<5;++Sn){var En=d*Sn/5,ki=Math.cos(En),_n=Math.sin(En);Ct.lineTo(_n*Jr,-ki*Jr),Ct.lineTo(ki*hi-_n*hn,_n*hi+ki*hn)}Ct.closePath()}},tt={draw:function(Ct,Sr){var Jr=Math.sqrt(Sr),hi=-Jr/2;Ct.rect(hi,hi,Jr,Jr)}},je=Math.sqrt(3),Ue={draw:function(Ct,Sr){var Jr=-Math.sqrt(Sr/(je*3));Ct.moveTo(0,Jr*2),Ct.lineTo(-je*Jr,-Jr),Ct.lineTo(je*Jr,-Jr),Ct.closePath()}},Ae=-.5,rt=Math.sqrt(3)/2,St=1/Math.sqrt(12),Tt=(St/2+1)*3,dt={draw:function(Ct,Sr){var Jr=Math.sqrt(Sr/Tt),hi=Jr/2,hn=Jr*St,Sn=hi,En=Jr*St+Jr,ki=-Sn,_n=En;Ct.moveTo(hi,hn),Ct.lineTo(Sn,En),Ct.lineTo(ki,_n),Ct.lineTo(Ae*hi-rt*hn,rt*hi+Ae*hn),Ct.lineTo(Ae*Sn-rt*En,rt*Sn+Ae*En),Ct.lineTo(Ae*ki-rt*_n,rt*ki+Ae*_n),Ct.lineTo(Ae*hi+rt*hn,Ae*hn-rt*hi),Ct.lineTo(Ae*Sn+rt*En,Ae*En-rt*Sn),Ct.lineTo(Ae*ki+rt*_n,Ae*_n-rt*ki),Ct.closePath()}},Et=[ce,He,Ht,tt,rr,Ue,dt];function pt(){var Ct=r(ce),Sr=r(64),Jr=null;function hi(){var hn;if(Jr||(Jr=hn=t.path()),Ct.apply(this,arguments).draw(Jr,+Sr.apply(this,arguments)),hn)return Jr=null,hn+""||null}return hi.type=function(hn){return arguments.length?(Ct=typeof hn=="function"?hn:r(hn),hi):Ct},hi.size=function(hn){return arguments.length?(Sr=typeof hn=="function"?hn:r(+hn),hi):Sr},hi.context=function(hn){return arguments.length?(Jr=hn==null?null:hn,hi):Jr},hi}function jt(){}function or(Ct,Sr,Jr){Ct._context.bezierCurveTo((2*Ct._x0+Ct._x1)/3,(2*Ct._y0+Ct._y1)/3,(Ct._x0+2*Ct._x1)/3,(Ct._y0+2*Ct._y1)/3,(Ct._x0+4*Ct._x1+Sr)/6,(Ct._y0+4*Ct._y1+Jr)/6)}function mr(Ct){this._context=Ct}mr.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:or(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(Ct,Sr){switch(Ct=+Ct,Sr=+Sr,this._point){case 0:this._point=1,this._line?this._context.lineTo(Ct,Sr):this._context.moveTo(Ct,Sr);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:or(this,Ct,Sr);break}this._x0=this._x1,this._x1=Ct,this._y0=this._y1,this._y1=Sr}};function Ar(Ct){return new mr(Ct)}function ei(Ct){this._context=Ct}ei.prototype={areaStart:jt,areaEnd:jt,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(Ct,Sr){switch(Ct=+Ct,Sr=+Sr,this._point){case 0:this._point=1,this._x2=Ct,this._y2=Sr;break;case 1:this._point=2,this._x3=Ct,this._y3=Sr;break;case 2:this._point=3,this._x4=Ct,this._y4=Sr,this._context.moveTo((this._x0+4*this._x1+Ct)/6,(this._y0+4*this._y1+Sr)/6);break;default:or(this,Ct,Sr);break}this._x0=this._x1,this._x1=Ct,this._y0=this._y1,this._y1=Sr}};function qr(Ct){return new ei(Ct)}function jr(Ct){this._context=Ct}jr.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(Ct,Sr){switch(Ct=+Ct,Sr=+Sr,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var Jr=(this._x0+4*this._x1+Ct)/6,hi=(this._y0+4*this._y1+Sr)/6;this._line?this._context.lineTo(Jr,hi):this._context.moveTo(Jr,hi);break;case 3:this._point=4;default:or(this,Ct,Sr);break}this._x0=this._x1,this._x1=Ct,this._y0=this._y1,this._y1=Sr}};function gt(Ct){return new jr(Ct)}function Ge(Ct,Sr){this._basis=new mr(Ct),this._beta=Sr}Ge.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var Ct=this._x,Sr=this._y,Jr=Ct.length-1;if(Jr>0)for(var hi=Ct[0],hn=Sr[0],Sn=Ct[Jr]-hi,En=Sr[Jr]-hn,ki=-1,_n;++ki<=Jr;)_n=ki/Jr,this._basis.point(this._beta*Ct[ki]+(1-this._beta)*(hi+_n*Sn),this._beta*Sr[ki]+(1-this._beta)*(hn+_n*En));this._x=this._y=null,this._basis.lineEnd()},point:function(Ct,Sr){this._x.push(+Ct),this._y.push(+Sr)}};var Je=function Ct(Sr){function Jr(hi){return Sr===1?new mr(hi):new Ge(hi,Sr)}return Jr.beta=function(hi){return Ct(+hi)},Jr}(.85);function We(Ct,Sr,Jr){Ct._context.bezierCurveTo(Ct._x1+Ct._k*(Ct._x2-Ct._x0),Ct._y1+Ct._k*(Ct._y2-Ct._y0),Ct._x2+Ct._k*(Ct._x1-Sr),Ct._y2+Ct._k*(Ct._y1-Jr),Ct._x2,Ct._y2)}function et(Ct,Sr){this._context=Ct,this._k=(1-Sr)/6}et.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:We(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(Ct,Sr){switch(Ct=+Ct,Sr=+Sr,this._point){case 0:this._point=1,this._line?this._context.lineTo(Ct,Sr):this._context.moveTo(Ct,Sr);break;case 1:this._point=2,this._x1=Ct,this._y1=Sr;break;case 2:this._point=3;default:We(this,Ct,Sr);break}this._x0=this._x1,this._x1=this._x2,this._x2=Ct,this._y0=this._y1,this._y1=this._y2,this._y2=Sr}};var xt=function Ct(Sr){function Jr(hi){return new et(hi,Sr)}return Jr.tension=function(hi){return Ct(+hi)},Jr}(0);function At(Ct,Sr){this._context=Ct,this._k=(1-Sr)/6}At.prototype={areaStart:jt,areaEnd:jt,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(Ct,Sr){switch(Ct=+Ct,Sr=+Sr,this._point){case 0:this._point=1,this._x3=Ct,this._y3=Sr;break;case 1:this._point=2,this._context.moveTo(this._x4=Ct,this._y4=Sr);break;case 2:this._point=3,this._x5=Ct,this._y5=Sr;break;default:We(this,Ct,Sr);break}this._x0=this._x1,this._x1=this._x2,this._x2=Ct,this._y0=this._y1,this._y1=this._y2,this._y2=Sr}};var Kt=function Ct(Sr){function Jr(hi){return new At(hi,Sr)}return Jr.tension=function(hi){return Ct(+hi)},Jr}(0);function Qt(Ct,Sr){this._context=Ct,this._k=(1-Sr)/6}Qt.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(Ct,Sr){switch(Ct=+Ct,Sr=+Sr,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:We(this,Ct,Sr);break}this._x0=this._x1,this._x1=this._x2,this._x2=Ct,this._y0=this._y1,this._y1=this._y2,this._y2=Sr}};var Mr=function Ct(Sr){function Jr(hi){return new Qt(hi,Sr)}return Jr.tension=function(hi){return Ct(+hi)},Jr}(0);function Gr(Ct,Sr,Jr){var hi=Ct._x1,hn=Ct._y1,Sn=Ct._x2,En=Ct._y2;if(Ct._l01_a>c){var ki=2*Ct._l01_2a+3*Ct._l01_a*Ct._l12_a+Ct._l12_2a,_n=3*Ct._l01_a*(Ct._l01_a+Ct._l12_a);hi=(hi*ki-Ct._x0*Ct._l12_2a+Ct._x2*Ct._l01_2a)/_n,hn=(hn*ki-Ct._y0*Ct._l12_2a+Ct._y2*Ct._l01_2a)/_n}if(Ct._l23_a>c){var ya=2*Ct._l23_2a+3*Ct._l23_a*Ct._l12_a+Ct._l12_2a,ea=3*Ct._l23_a*(Ct._l23_a+Ct._l12_a);Sn=(Sn*ya+Ct._x1*Ct._l23_2a-Sr*Ct._l12_2a)/ea,En=(En*ya+Ct._y1*Ct._l23_2a-Jr*Ct._l12_2a)/ea}Ct._context.bezierCurveTo(hi,hn,Sn,En,Ct._x2,Ct._y2)}function Ir(Ct,Sr){this._context=Ct,this._alpha=Sr}Ir.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(Ct,Sr){if(Ct=+Ct,Sr=+Sr,this._point){var Jr=this._x2-Ct,hi=this._y2-Sr;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Jr*Jr+hi*hi,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(Ct,Sr):this._context.moveTo(Ct,Sr);break;case 1:this._point=2;break;case 2:this._point=3;default:Gr(this,Ct,Sr);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=Ct,this._y0=this._y1,this._y1=this._y2,this._y2=Sr}};var Yr=function Ct(Sr){function Jr(hi){return Sr?new Ir(hi,Sr):new et(hi,0)}return Jr.alpha=function(hi){return Ct(+hi)},Jr}(.5);function _i(Ct,Sr){this._context=Ct,this._alpha=Sr}_i.prototype={areaStart:jt,areaEnd:jt,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(Ct,Sr){if(Ct=+Ct,Sr=+Sr,this._point){var Jr=this._x2-Ct,hi=this._y2-Sr;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Jr*Jr+hi*hi,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=Ct,this._y3=Sr;break;case 1:this._point=2,this._context.moveTo(this._x4=Ct,this._y4=Sr);break;case 2:this._point=3,this._x5=Ct,this._y5=Sr;break;default:Gr(this,Ct,Sr);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=Ct,this._y0=this._y1,this._y1=this._y2,this._y2=Sr}};var Pi=function Ct(Sr){function Jr(hi){return Sr?new _i(hi,Sr):new At(hi,0)}return Jr.alpha=function(hi){return Ct(+hi)},Jr}(.5);function ai(Ct,Sr){this._context=Ct,this._alpha=Sr}ai.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(Ct,Sr){if(Ct=+Ct,Sr=+Sr,this._point){var Jr=this._x2-Ct,hi=this._y2-Sr;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Jr*Jr+hi*hi,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:Gr(this,Ct,Sr);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=Ct,this._y0=this._y1,this._y1=this._y2,this._y2=Sr}};var mi=function Ct(Sr){function Jr(hi){return Sr?new ai(hi,Sr):new Qt(hi,0)}return Jr.alpha=function(hi){return Ct(+hi)},Jr}(.5);function un(Ct){this._context=Ct}un.prototype={areaStart:jt,areaEnd:jt,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(Ct,Sr){Ct=+Ct,Sr=+Sr,this._point?this._context.lineTo(Ct,Sr):(this._point=1,this._context.moveTo(Ct,Sr))}};function Fn(Ct){return new un(Ct)}function An(Ct){return Ct<0?-1:1}function Hn(Ct,Sr,Jr){var hi=Ct._x1-Ct._x0,hn=Sr-Ct._x1,Sn=(Ct._y1-Ct._y0)/(hi||hn<0&&-0),En=(Jr-Ct._y1)/(hn||hi<0&&-0),ki=(Sn*hn+En*hi)/(hi+hn);return(An(Sn)+An(En))*Math.min(Math.abs(Sn),Math.abs(En),.5*Math.abs(ki))||0}function Qn(Ct,Sr){var Jr=Ct._x1-Ct._x0;return Jr?(3*(Ct._y1-Ct._y0)/Jr-Sr)/2:Sr}function Vi(Ct,Sr,Jr){var hi=Ct._x0,hn=Ct._y0,Sn=Ct._x1,En=Ct._y1,ki=(Sn-hi)/3;Ct._context.bezierCurveTo(hi+ki,hn+ki*Sr,Sn-ki,En-ki*Jr,Sn,En)}function Kn(Ct){this._context=Ct}Kn.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:Vi(this,this._t0,Qn(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(Ct,Sr){var Jr=NaN;if(Ct=+Ct,Sr=+Sr,!(Ct===this._x1&&Sr===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(Ct,Sr):this._context.moveTo(Ct,Sr);break;case 1:this._point=2;break;case 2:this._point=3,Vi(this,Qn(this,Jr=Hn(this,Ct,Sr)),Jr);break;default:Vi(this,this._t0,Jr=Hn(this,Ct,Sr));break}this._x0=this._x1,this._x1=Ct,this._y0=this._y1,this._y1=Sr,this._t0=Jr}}};function Jn(Ct){this._context=new Gt(Ct)}(Jn.prototype=Object.create(Kn.prototype)).point=function(Ct,Sr){Kn.prototype.point.call(this,Sr,Ct)};function Gt(Ct){this._context=Ct}Gt.prototype={moveTo:function(Ct,Sr){this._context.moveTo(Sr,Ct)},closePath:function(){this._context.closePath()},lineTo:function(Ct,Sr){this._context.lineTo(Sr,Ct)},bezierCurveTo:function(Ct,Sr,Jr,hi,hn,Sn){this._context.bezierCurveTo(Sr,Ct,hi,Jr,Sn,hn)}};function wt(Ct){return new Kn(Ct)}function tr(Ct){return new Jn(Ct)}function ir(Ct){this._context=Ct}ir.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var Ct=this._x,Sr=this._y,Jr=Ct.length;if(Jr)if(this._line?this._context.lineTo(Ct[0],Sr[0]):this._context.moveTo(Ct[0],Sr[0]),Jr===2)this._context.lineTo(Ct[1],Sr[1]);else for(var hi=wr(Ct),hn=wr(Sr),Sn=0,En=1;En=0;--Sr)hn[Sr]=(En[Sr]-hn[Sr+1])/Sn[Sr];for(Sn[Jr-1]=(Ct[Jr]+hn[Jr-1])/2,Sr=0;Sr=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(Ct,Sr){switch(Ct=+Ct,Sr=+Sr,this._point){case 0:this._point=1,this._line?this._context.lineTo(Ct,Sr):this._context.moveTo(Ct,Sr);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,Sr),this._context.lineTo(Ct,Sr);else{var Jr=this._x*(1-this._t)+Ct*this._t;this._context.lineTo(Jr,this._y),this._context.lineTo(Jr,Sr)}break}}this._x=Ct,this._y=Sr}};function $r(Ct){return new ti(Ct,.5)}function Ri(Ct){return new ti(Ct,0)}function Zi(Ct){return new ti(Ct,1)}function en(Ct,Sr){if((En=Ct.length)>1)for(var Jr=1,hi,hn,Sn=Ct[Sr[0]],En,ki=Sn.length;Jr=0;)Jr[Sr]=Sr;return Jr}function yn(Ct,Sr){return Ct[Sr]}function Mn(){var Ct=r([]),Sr=fn,Jr=en,hi=yn;function hn(Sn){var En=Ct.apply(this,arguments),ki,_n=Sn.length,ya=En.length,ea=new Array(ya),Ma;for(ki=0;ki0){for(var Jr,hi,hn=0,Sn=Ct[0].length,En;hn0)for(var Jr,hi=0,hn,Sn,En,ki,_n,ya=Ct[Sr[0]].length;hi0?(hn[0]=En,hn[1]=En+=Sn):Sn<0?(hn[1]=ki,hn[0]=ki+=Sn):(hn[0]=0,hn[1]=Sn)}function ma(Ct,Sr){if((hn=Ct.length)>0){for(var Jr=0,hi=Ct[Sr[0]],hn,Sn=hi.length;Jr0)||!((Sn=(hn=Ct[Sr[0]]).length)>0))){for(var Jr=0,hi=1,hn,Sn,En;hiSn&&(Sn=hn,Jr=Sr);return Jr}function da(Ct){var Sr=Ct.map(jn);return fn(Ct).sort(function(Jr,hi){return Sr[Jr]-Sr[hi]})}function jn(Ct){for(var Sr=0,Jr=-1,hi=Ct.length,hn;++Jr{(function(e,t){typeof P7=="object"&&typeof $We!="undefined"?t(P7,dk(),S7(),QJ()):t(e.d3=e.d3||{},e.d3,e.d3,e.d3)})(P7,function(e,t,r,n){"use strict";function i(g){return g.target.depth}function a(g){return g.depth}function o(g,P){return P-1-g.height}function s(g,P){return g.sourceLinks.length?g.depth:P-1}function l(g){return g.targetLinks.length?g.depth:g.sourceLinks.length?t.min(g.sourceLinks,i)-1:0}function u(g){return function(){return g}}function c(g,P){return h(g.source,P.source)||g.index-P.index}function f(g,P){return h(g.target,P.target)||g.index-P.index}function h(g,P){return g.y0-P.y0}function d(g){return g.value}function v(g){return(g.y0+g.y1)/2}function m(g){return v(g.source)*g.value}function b(g){return v(g.target)*g.value}function p(g){return g.index}function k(g){return g.nodes}function M(g){return g.links}function T(g,P){var E=g.get(P);if(!E)throw new Error("missing: "+P);return E}var L=function(){var g=0,P=0,E=1,z=1,q=24,V=8,G=p,Z=s,j=k,N=M,H=32,ie=2/3;function ae(){var Se={nodes:j.apply(null,arguments),links:N.apply(null,arguments)};return _e(Se),Ee(Se),Ce(Se),ge(Se,H),re(Se),Se}ae.update=function(Se){return re(Se),Se},ae.nodeId=function(Se){return arguments.length?(G=typeof Se=="function"?Se:u(Se),ae):G},ae.nodeAlign=function(Se){return arguments.length?(Z=typeof Se=="function"?Se:u(Se),ae):Z},ae.nodeWidth=function(Se){return arguments.length?(q=+Se,ae):q},ae.nodePadding=function(Se){return arguments.length?(V=+Se,ae):V},ae.nodes=function(Se){return arguments.length?(j=typeof Se=="function"?Se:u(Se),ae):j},ae.links=function(Se){return arguments.length?(N=typeof Se=="function"?Se:u(Se),ae):N},ae.size=function(Se){return arguments.length?(g=P=0,E=+Se[0],z=+Se[1],ae):[E-g,z-P]},ae.extent=function(Se){return arguments.length?(g=+Se[0][0],E=+Se[1][0],P=+Se[0][1],z=+Se[1][1],ae):[[g,P],[E,z]]},ae.iterations=function(Se){return arguments.length?(H=+Se,ae):H};function _e(Se){Se.nodes.forEach(function(be,Be){be.index=Be,be.sourceLinks=[],be.targetLinks=[]});var ke=r.map(Se.nodes,G);Se.links.forEach(function(be,Be){be.index=Be;var Le=be.source,me=be.target;typeof Le!="object"&&(Le=be.source=T(ke,Le)),typeof me!="object"&&(me=be.target=T(ke,me)),Le.sourceLinks.push(be),me.targetLinks.push(be)})}function Ee(Se){Se.nodes.forEach(function(ke){ke.value=Math.max(t.sum(ke.sourceLinks,d),t.sum(ke.targetLinks,d))})}function Ce(Se){var ke,be,Be;for(ke=Se.nodes,be=[],Be=0;ke.length;++Be,ke=be,be=[])ke.forEach(function(me){me.depth=Be,me.sourceLinks.forEach(function(Pe){be.indexOf(Pe.target)<0&&be.push(Pe.target)})});for(ke=Se.nodes,be=[],Be=0;ke.length;++Be,ke=be,be=[])ke.forEach(function(me){me.height=Be,me.targetLinks.forEach(function(Pe){be.indexOf(Pe.source)<0&&be.push(Pe.source)})});var Le=(E-g-q)/(Be-1);Se.nodes.forEach(function(me){me.x1=(me.x0=g+Math.max(0,Math.min(Be-1,Math.floor(Z.call(null,me,Be))))*Le)+q})}function ge(Se){var ke=r.nest().key(function(He){return He.x0}).sortKeys(t.ascending).entries(Se.nodes).map(function(He){return He.values});Le(),ce();for(var be=1,Be=H;Be>0;--Be)Pe(be*=.99),ce(),me(be),ce();function Le(){var He=t.max(ke,function(Ht){return Ht.length}),lt=ie*(z-P)/(He-1);V>lt&&(V=lt);var mt=t.min(ke,function(Ht){return(z-P-(Ht.length-1)*V)/t.sum(Ht,d)});ke.forEach(function(Ht){Ht.forEach(function(at,ct){at.y1=(at.y0=ct)+at.value*mt})}),Se.links.forEach(function(Ht){Ht.width=Ht.value*mt})}function me(He){ke.forEach(function(lt){lt.forEach(function(mt){if(mt.targetLinks.length){var Ht=(t.sum(mt.targetLinks,m)/t.sum(mt.targetLinks,d)-v(mt))*He;mt.y0+=Ht,mt.y1+=Ht}})})}function Pe(He){ke.slice().reverse().forEach(function(lt){lt.forEach(function(mt){if(mt.sourceLinks.length){var Ht=(t.sum(mt.sourceLinks,b)/t.sum(mt.sourceLinks,d)-v(mt))*He;mt.y0+=Ht,mt.y1+=Ht}})})}function ce(){ke.forEach(function(He){var lt,mt,Ht=P,at=He.length,ct;for(He.sort(h),ct=0;ct0&&(lt.y0+=mt,lt.y1+=mt),Ht=lt.y1+V;if(mt=Ht-V-z,mt>0)for(Ht=lt.y0-=mt,lt.y1-=mt,ct=at-2;ct>=0;--ct)lt=He[ct],mt=lt.y1+V-Ht,mt>0&&(lt.y0-=mt,lt.y1-=mt),Ht=lt.y0})}}function re(Se){Se.nodes.forEach(function(ke){ke.sourceLinks.sort(f),ke.targetLinks.sort(c)}),Se.nodes.forEach(function(ke){var be=ke.y0,Be=be;ke.sourceLinks.forEach(function(Le){Le.y0=be+Le.width/2,be+=Le.width}),ke.targetLinks.forEach(function(Le){Le.y1=Be+Le.width/2,Be+=Le.width})})}return ae};function x(g){return[g.source.x1,g.y0]}function C(g){return[g.target.x0,g.y1]}var S=function(){return n.linkHorizontal().source(x).target(C)};e.sankey=L,e.sankeyCenter=l,e.sankeyLeft=a,e.sankeyRight=o,e.sankeyJustify=s,e.sankeyLinkHorizontal=S,Object.defineProperty(e,"__esModule",{value:!0})})});var tXe=ye((w2r,eXe)=>{var rYt=$J();eXe.exports=function(t,r){var n=[],i=[],a=[],o={},s=[],l;function u(M){a[M]=!1,o.hasOwnProperty(M)&&Object.keys(o[M]).forEach(function(T){delete o[M][T],a[T]&&u(T)})}function c(M){var T=!1;i.push(M),a[M]=!0;var L,x;for(L=0;L=M})}function d(M){h(M);for(var T=t,L=rYt(T),x=L.components.filter(function(q){return q.length>1}),C=1/0,S,g=0;g{(function(e,t){typeof I7=="object"&&typeof rXe!="undefined"?t(I7,dk(),S7(),QJ(),tXe()):t(e.d3=e.d3||{},e.d3,e.d3,e.d3,null)})(I7,function(e,t,r,n,i){"use strict";i=i&&i.hasOwnProperty("default")?i.default:i;function a(at){return at.target.depth}function o(at){return at.depth}function s(at,ct){return ct-1-at.height}function l(at,ct){return at.sourceLinks.length?at.depth:ct-1}function u(at){return at.targetLinks.length?at.depth:at.sourceLinks.length?t.min(at.sourceLinks,a)-1:0}function c(at){return function(){return at}}var f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(at){return typeof at}:function(at){return at&&typeof Symbol=="function"&&at.constructor===Symbol&&at!==Symbol.prototype?"symbol":typeof at};function h(at,ct){return v(at.source,ct.source)||at.index-ct.index}function d(at,ct){return v(at.target,ct.target)||at.index-ct.index}function v(at,ct){return at.partOfCycle===ct.partOfCycle?at.y0-ct.y0:at.circularLinkType==="top"||ct.circularLinkType==="bottom"?-1:1}function m(at){return at.value}function b(at){return(at.y0+at.y1)/2}function p(at){return b(at.source)}function k(at){return b(at.target)}function M(at){return at.index}function T(at){return at.nodes}function L(at){return at.links}function x(at,ct){var ar=at.get(ct);if(!ar)throw new Error("missing: "+ct);return ar}function C(at,ct){return ct(at)}var S=25,g=10,P=.3;function E(){var at=0,ct=0,ar=1,Vt=1,rr=24,tt,je=M,Ue=l,Ae=T,rt=L,St=32,Tt=2,dt,Et=null;function pt(){var gt={nodes:Ae.apply(null,arguments),links:rt.apply(null,arguments)};jt(gt),z(gt,je,Et),or(gt),ei(gt),q(gt,je),qr(gt,St,je),jr(gt);for(var Ge=4,Je=0;Je0?Ge+S+g:Ge,Je=Je>0?Je+S+g:Je,We=We>0?We+S+g:We,et=et>0?et+S+g:et,{top:Ge,bottom:Je,left:et,right:We}}function Ar(gt,Ge){var Je=t.max(gt.nodes,function(Mr){return Mr.column}),We=ar-at,et=Vt-ct,xt=We+Ge.right+Ge.left,At=et+Ge.top+Ge.bottom,Kt=We/xt,Qt=et/At;return at=at*Kt+Ge.left,ar=Ge.right==0?ar:ar*Kt,ct=ct*Qt+Ge.top,Vt=Vt*Qt,gt.nodes.forEach(function(Mr){Mr.x0=at+Mr.column*((ar-at-rr)/Je),Mr.x1=Mr.x0+rr}),Qt}function ei(gt){var Ge,Je,We;for(Ge=gt.nodes,Je=[],We=0;Ge.length;++We,Ge=Je,Je=[])Ge.forEach(function(et){et.depth=We,et.sourceLinks.forEach(function(xt){Je.indexOf(xt.target)<0&&!xt.circular&&Je.push(xt.target)})});for(Ge=gt.nodes,Je=[],We=0;Ge.length;++We,Ge=Je,Je=[])Ge.forEach(function(et){et.height=We,et.targetLinks.forEach(function(xt){Je.indexOf(xt.source)<0&&!xt.circular&&Je.push(xt.source)})});gt.nodes.forEach(function(et){et.column=Math.floor(Ue.call(null,et,We))})}function qr(gt,Ge,Je){var We=r.nest().key(function(Mr){return Mr.column}).sortKeys(t.ascending).entries(gt.nodes).map(function(Mr){return Mr.values});At(Je),Qt();for(var et=1,xt=Ge;xt>0;--xt)Kt(et*=.99,Je),Qt();function At(Mr){if(dt){var Gr=1/0;We.forEach(function(Pi){var ai=Vt*dt/(Pi.length+1);Gr=ai0))if(Pi==0&&_i==1)mi=ai.y1-ai.y0,ai.y0=Vt/2-mi/2,ai.y1=Vt/2+mi/2;else if(Pi==Ir-1&&_i==1)mi=ai.y1-ai.y0,ai.y0=Vt/2-mi/2,ai.y1=Vt/2+mi/2;else{var un=0,Fn=t.mean(ai.sourceLinks,k),An=t.mean(ai.targetLinks,p);Fn&&An?un=(Fn+An)/2:un=Fn||An;var Hn=(un-b(ai))*Mr;ai.y0+=Hn,ai.y1+=Hn}})})}function Qt(){We.forEach(function(Mr){var Gr,Ir,Yr=ct,_i=Mr.length,Pi;for(Mr.sort(v),Pi=0;Pi<_i;++Pi)Gr=Mr[Pi],Ir=Yr-Gr.y0,Ir>0&&(Gr.y0+=Ir,Gr.y1+=Ir),Yr=Gr.y1+tt;if(Ir=Yr-tt-Vt,Ir>0)for(Yr=Gr.y0-=Ir,Gr.y1-=Ir,Pi=_i-2;Pi>=0;--Pi)Gr=Mr[Pi],Ir=Gr.y1+tt-Yr,Ir>0&&(Gr.y0-=Ir,Gr.y1-=Ir),Yr=Gr.y0})}}function jr(gt){gt.nodes.forEach(function(Ge){Ge.sourceLinks.sort(d),Ge.targetLinks.sort(h)}),gt.nodes.forEach(function(Ge){var Je=Ge.y0,We=Je,et=Ge.y1,xt=et;Ge.sourceLinks.forEach(function(At){At.circular?(At.y0=et-At.width/2,et=et-At.width):(At.y0=Je+At.width/2,Je+=At.width)}),Ge.targetLinks.forEach(function(At){At.circular?(At.y1=xt-At.width/2,xt=xt-At.width):(At.y1=We+At.width/2,We+=At.width)})})}return pt}function z(at,ct,ar){var Vt=0;if(ar===null){for(var rr=[],tt=0;ttct.source.column)}function Z(at,ct){var ar=0;at.sourceLinks.forEach(function(rr){ar=rr.circular&&!mt(rr,ct)?ar+1:ar});var Vt=0;return at.targetLinks.forEach(function(rr){Vt=rr.circular&&!mt(rr,ct)?Vt+1:Vt}),ar+Vt}function j(at){var ct=at.source.sourceLinks,ar=0;ct.forEach(function(tt){ar=tt.circular?ar+1:ar});var Vt=at.target.targetLinks,rr=0;return Vt.forEach(function(tt){rr=tt.circular?rr+1:rr}),!(ar>1||rr>1)}function N(at,ct,ar){return at.sort(ae),at.forEach(function(Vt,rr){var tt=0;if(mt(Vt,ar)&&j(Vt))Vt.circularPathData.verticalBuffer=tt+Vt.width/2;else{var je=0;for(je;jett?Ue:tt}Vt.circularPathData.verticalBuffer=tt+Vt.width/2}}),at}function H(at,ct,ar,Vt){var rr=5,tt=t.min(at.links,function(Ae){return Ae.source.y0});at.links.forEach(function(Ae){Ae.circular&&(Ae.circularPathData={})});var je=at.links.filter(function(Ae){return Ae.circularLinkType=="top"});N(je,ct,Vt);var Ue=at.links.filter(function(Ae){return Ae.circularLinkType=="bottom"});N(Ue,ct,Vt),at.links.forEach(function(Ae){if(Ae.circular){if(Ae.circularPathData.arcRadius=Ae.width+g,Ae.circularPathData.leftNodeBuffer=rr,Ae.circularPathData.rightNodeBuffer=rr,Ae.circularPathData.sourceWidth=Ae.source.x1-Ae.source.x0,Ae.circularPathData.sourceX=Ae.source.x0+Ae.circularPathData.sourceWidth,Ae.circularPathData.targetX=Ae.target.x0,Ae.circularPathData.sourceY=Ae.y0,Ae.circularPathData.targetY=Ae.y1,mt(Ae,Vt)&&j(Ae))Ae.circularPathData.leftSmallArcRadius=g+Ae.width/2,Ae.circularPathData.leftLargeArcRadius=g+Ae.width/2,Ae.circularPathData.rightSmallArcRadius=g+Ae.width/2,Ae.circularPathData.rightLargeArcRadius=g+Ae.width/2,Ae.circularLinkType=="bottom"?(Ae.circularPathData.verticalFullExtent=Ae.source.y1+S+Ae.circularPathData.verticalBuffer,Ae.circularPathData.verticalLeftInnerExtent=Ae.circularPathData.verticalFullExtent-Ae.circularPathData.leftLargeArcRadius,Ae.circularPathData.verticalRightInnerExtent=Ae.circularPathData.verticalFullExtent-Ae.circularPathData.rightLargeArcRadius):(Ae.circularPathData.verticalFullExtent=Ae.source.y0-S-Ae.circularPathData.verticalBuffer,Ae.circularPathData.verticalLeftInnerExtent=Ae.circularPathData.verticalFullExtent+Ae.circularPathData.leftLargeArcRadius,Ae.circularPathData.verticalRightInnerExtent=Ae.circularPathData.verticalFullExtent+Ae.circularPathData.rightLargeArcRadius);else{var rt=Ae.source.column,St=Ae.circularLinkType,Tt=at.links.filter(function(pt){return pt.source.column==rt&&pt.circularLinkType==St});Ae.circularLinkType=="bottom"?Tt.sort(Ee):Tt.sort(_e);var dt=0;Tt.forEach(function(pt,jt){pt.circularLinkID==Ae.circularLinkID&&(Ae.circularPathData.leftSmallArcRadius=g+Ae.width/2+dt,Ae.circularPathData.leftLargeArcRadius=g+Ae.width/2+jt*ct+dt),dt=dt+pt.width}),rt=Ae.target.column,Tt=at.links.filter(function(pt){return pt.target.column==rt&&pt.circularLinkType==St}),Ae.circularLinkType=="bottom"?Tt.sort(ge):Tt.sort(Ce),dt=0,Tt.forEach(function(pt,jt){pt.circularLinkID==Ae.circularLinkID&&(Ae.circularPathData.rightSmallArcRadius=g+Ae.width/2+dt,Ae.circularPathData.rightLargeArcRadius=g+Ae.width/2+jt*ct+dt),dt=dt+pt.width}),Ae.circularLinkType=="bottom"?(Ae.circularPathData.verticalFullExtent=Math.max(ar,Ae.source.y1,Ae.target.y1)+S+Ae.circularPathData.verticalBuffer,Ae.circularPathData.verticalLeftInnerExtent=Ae.circularPathData.verticalFullExtent-Ae.circularPathData.leftLargeArcRadius,Ae.circularPathData.verticalRightInnerExtent=Ae.circularPathData.verticalFullExtent-Ae.circularPathData.rightLargeArcRadius):(Ae.circularPathData.verticalFullExtent=tt-S-Ae.circularPathData.verticalBuffer,Ae.circularPathData.verticalLeftInnerExtent=Ae.circularPathData.verticalFullExtent+Ae.circularPathData.leftLargeArcRadius,Ae.circularPathData.verticalRightInnerExtent=Ae.circularPathData.verticalFullExtent+Ae.circularPathData.rightLargeArcRadius)}Ae.circularPathData.leftInnerExtent=Ae.circularPathData.sourceX+Ae.circularPathData.leftNodeBuffer,Ae.circularPathData.rightInnerExtent=Ae.circularPathData.targetX-Ae.circularPathData.rightNodeBuffer,Ae.circularPathData.leftFullExtent=Ae.circularPathData.sourceX+Ae.circularPathData.leftLargeArcRadius+Ae.circularPathData.leftNodeBuffer,Ae.circularPathData.rightFullExtent=Ae.circularPathData.targetX-Ae.circularPathData.rightLargeArcRadius-Ae.circularPathData.rightNodeBuffer}if(Ae.circular)Ae.path=ie(Ae);else{var Et=n.linkHorizontal().source(function(pt){var jt=pt.source.x0+(pt.source.x1-pt.source.x0),or=pt.y0;return[jt,or]}).target(function(pt){var jt=pt.target.x0,or=pt.y1;return[jt,or]});Ae.path=Et(Ae)}})}function ie(at){var ct="";return at.circularLinkType=="top"?ct="M"+at.circularPathData.sourceX+" "+at.circularPathData.sourceY+" L"+at.circularPathData.leftInnerExtent+" "+at.circularPathData.sourceY+" A"+at.circularPathData.leftLargeArcRadius+" "+at.circularPathData.leftSmallArcRadius+" 0 0 0 "+at.circularPathData.leftFullExtent+" "+(at.circularPathData.sourceY-at.circularPathData.leftSmallArcRadius)+" L"+at.circularPathData.leftFullExtent+" "+at.circularPathData.verticalLeftInnerExtent+" A"+at.circularPathData.leftLargeArcRadius+" "+at.circularPathData.leftLargeArcRadius+" 0 0 0 "+at.circularPathData.leftInnerExtent+" "+at.circularPathData.verticalFullExtent+" L"+at.circularPathData.rightInnerExtent+" "+at.circularPathData.verticalFullExtent+" A"+at.circularPathData.rightLargeArcRadius+" "+at.circularPathData.rightLargeArcRadius+" 0 0 0 "+at.circularPathData.rightFullExtent+" "+at.circularPathData.verticalRightInnerExtent+" L"+at.circularPathData.rightFullExtent+" "+(at.circularPathData.targetY-at.circularPathData.rightSmallArcRadius)+" A"+at.circularPathData.rightLargeArcRadius+" "+at.circularPathData.rightSmallArcRadius+" 0 0 0 "+at.circularPathData.rightInnerExtent+" "+at.circularPathData.targetY+" L"+at.circularPathData.targetX+" "+at.circularPathData.targetY:ct="M"+at.circularPathData.sourceX+" "+at.circularPathData.sourceY+" L"+at.circularPathData.leftInnerExtent+" "+at.circularPathData.sourceY+" A"+at.circularPathData.leftLargeArcRadius+" "+at.circularPathData.leftSmallArcRadius+" 0 0 1 "+at.circularPathData.leftFullExtent+" "+(at.circularPathData.sourceY+at.circularPathData.leftSmallArcRadius)+" L"+at.circularPathData.leftFullExtent+" "+at.circularPathData.verticalLeftInnerExtent+" A"+at.circularPathData.leftLargeArcRadius+" "+at.circularPathData.leftLargeArcRadius+" 0 0 1 "+at.circularPathData.leftInnerExtent+" "+at.circularPathData.verticalFullExtent+" L"+at.circularPathData.rightInnerExtent+" "+at.circularPathData.verticalFullExtent+" A"+at.circularPathData.rightLargeArcRadius+" "+at.circularPathData.rightLargeArcRadius+" 0 0 1 "+at.circularPathData.rightFullExtent+" "+at.circularPathData.verticalRightInnerExtent+" L"+at.circularPathData.rightFullExtent+" "+(at.circularPathData.targetY+at.circularPathData.rightSmallArcRadius)+" A"+at.circularPathData.rightLargeArcRadius+" "+at.circularPathData.rightSmallArcRadius+" 0 0 1 "+at.circularPathData.rightInnerExtent+" "+at.circularPathData.targetY+" L"+at.circularPathData.targetX+" "+at.circularPathData.targetY,ct}function ae(at,ct){return re(at)==re(ct)?at.circularLinkType=="bottom"?Ee(at,ct):_e(at,ct):re(ct)-re(at)}function _e(at,ct){return at.y0-ct.y0}function Ee(at,ct){return ct.y0-at.y0}function Ce(at,ct){return at.y1-ct.y1}function ge(at,ct){return ct.y1-at.y1}function re(at){return at.target.column-at.source.column}function Se(at){return at.target.x0-at.source.x1}function ke(at,ct){var ar=V(at),Vt=Se(ct)/Math.tan(ar),rr=lt(at)=="up"?at.y1+Vt:at.y1-Vt;return rr}function be(at,ct){var ar=V(at),Vt=Se(ct)/Math.tan(ar),rr=lt(at)=="up"?at.y1-Vt:at.y1+Vt;return rr}function Be(at,ct,ar,Vt){at.links.forEach(function(rr){if(!rr.circular&&rr.target.column-rr.source.column>1){var tt=rr.source.column+1,je=rr.target.column-1,Ue=1,Ae=je-tt+1;for(Ue=1;tt<=je;tt++,Ue++)at.nodes.forEach(function(rt){if(rt.column==tt){var St=Ue/(Ae+1),Tt=Math.pow(1-St,3),dt=3*St*Math.pow(1-St,2),Et=3*Math.pow(St,2)*(1-St),pt=Math.pow(St,3),jt=Tt*rr.y0+dt*rr.y0+Et*rr.y1+pt*rr.y1,or=jt-rr.width/2,mr=jt+rr.width/2,Ar;or>rt.y0&&orrt.y0&&mrrt.y1&&me(ei,Ar,ct,ar)})):orrt.y1&&(Ar=mr-rt.y0+10,rt=me(rt,Ar,ct,ar),at.nodes.forEach(function(ei){C(ei,Vt)==C(rt,Vt)||ei.column!=rt.column||ei.y0rt.y1&&me(ei,Ar,ct,ar)}))}})}})}function Le(at,ct){return at.y0>ct.y0&&at.y0ct.y0&&at.y1ct.y1}function me(at,ct,ar,Vt){return at.y0+ct>=ar&&at.y1+ct<=Vt&&(at.y0=at.y0+ct,at.y1=at.y1+ct,at.targetLinks.forEach(function(rr){rr.y1=rr.y1+ct}),at.sourceLinks.forEach(function(rr){rr.y0=rr.y0+ct})),at}function Pe(at,ct,ar,Vt){at.nodes.forEach(function(rr){Vt&&rr.y+(rr.y1-rr.y0)>ct&&(rr.y=rr.y-(rr.y+(rr.y1-rr.y0)-ct));var tt=at.links.filter(function(Ae){return C(Ae.source,ar)==C(rr,ar)}),je=tt.length;je>1&&tt.sort(function(Ae,rt){if(!Ae.circular&&!rt.circular){if(Ae.target.column==rt.target.column)return Ae.y1-rt.y1;if(He(Ae,rt)){if(Ae.target.column>rt.target.column){var St=be(rt,Ae);return Ae.y1-St}if(rt.target.column>Ae.target.column){var Tt=be(Ae,rt);return Tt-rt.y1}}else return Ae.y1-rt.y1}if(Ae.circular&&!rt.circular)return Ae.circularLinkType=="top"?-1:1;if(rt.circular&&!Ae.circular)return rt.circularLinkType=="top"?1:-1;if(Ae.circular&&rt.circular)return Ae.circularLinkType===rt.circularLinkType&&Ae.circularLinkType=="top"?Ae.target.column===rt.target.column?Ae.target.y1-rt.target.y1:rt.target.column-Ae.target.column:Ae.circularLinkType===rt.circularLinkType&&Ae.circularLinkType=="bottom"?Ae.target.column===rt.target.column?rt.target.y1-Ae.target.y1:Ae.target.column-rt.target.column:Ae.circularLinkType=="top"?-1:1});var Ue=rr.y0;tt.forEach(function(Ae){Ae.y0=Ue+Ae.width/2,Ue=Ue+Ae.width}),tt.forEach(function(Ae,rt){if(Ae.circularLinkType=="bottom"){var St=rt+1,Tt=0;for(St;St1&&rr.sort(function(Ue,Ae){if(!Ue.circular&&!Ae.circular){if(Ue.source.column==Ae.source.column)return Ue.y0-Ae.y0;if(He(Ue,Ae)){if(Ae.source.column0?"up":"down"}function mt(at,ct){return C(at.source,ct)==C(at.target,ct)}function Ht(at,ct,ar){var Vt=at.nodes,rr=at.links,tt=!1,je=!1;if(rr.forEach(function(dt){dt.circularLinkType=="top"?tt=!0:dt.circularLinkType=="bottom"&&(je=!0)}),tt==!1||je==!1){var Ue=t.min(Vt,function(dt){return dt.y0}),Ae=t.max(Vt,function(dt){return dt.y1}),rt=Ae-Ue,St=ar-ct,Tt=St/rt;Vt.forEach(function(dt){var Et=(dt.y1-dt.y0)*Tt;dt.y0=(dt.y0-Ue)*Tt,dt.y1=dt.y0+Et}),rr.forEach(function(dt){dt.y0=(dt.y0-Ue)*Tt,dt.y1=(dt.y1-Ue)*Tt,dt.width=dt.width*Tt})}}e.sankeyCircular=E,e.sankeyCenter=u,e.sankeyLeft=o,e.sankeyRight=s,e.sankeyJustify=l,Object.defineProperty(e,"__esModule",{value:!0})})});var e$=ye((T2r,nXe)=>{"use strict";nXe.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"}}});var mXe=ye((A2r,gXe)=>{"use strict";var aXe=ZWe(),iYt=(j2(),gb(H2)).interpolateNumber,O5=qa(),oC=QWe(),nYt=iXe(),Nu=e$(),B5=fd(),yw=ka(),aYt=So(),w1=Pr(),i$=w1.strTranslate,oYt=w1.strRotate,n$=ny(),sC=n$.keyFun,R7=n$.repeat,fXe=n$.unwrap,oXe=Zl(),sYt=Oa(),hXe=Dh(),lYt=hXe.CAP_SHIFT,uYt=hXe.LINE_SPACING,cYt=3;function fYt(e,t,r){var n=fXe(t),i=n.trace,a=i.domain,o=i.orientation==="h",s=i.node.pad,l=i.node.thickness,u={justify:oC.sankeyJustify,left:oC.sankeyLeft,right:oC.sankeyRight,center:oC.sankeyCenter}[i.node.align],c=e.width*(a.x[1]-a.x[0]),f=e.height*(a.y[1]-a.y[0]),h=n._nodes,d=n._links,v=n.circular,m;v?m=nYt.sankeyCircular().circularLinkGap(0):m=oC.sankey(),m.iterations(Nu.sankeyIterations).size(o?[c,f]:[f,c]).nodeWidth(l).nodePadding(s).nodeId(function(V){return V.pointNumber}).nodeAlign(u).nodes(h).links(d);var b=m();m.nodePadding()=N||(j=N-Z.y0,j>1e-6&&(Z.y0+=j,Z.y1+=j)),N=Z.y1+s})}function P(V){var G=V.map(function(_e,Ee){return{x0:_e.x0,index:Ee}}).sort(function(_e,Ee){return _e.x0-Ee.x0}),Z=[],j=-1,N,H=-1/0,ie;for(p=0;pH+l&&(j+=1,N=ae.x0),H=ae.x0,Z[j]||(Z[j]=[]),Z[j].push(ae),ie=N-ae.x0,ae.x0+=ie,ae.x1+=ie}return Z}if(i.node.x.length&&i.node.y.length){for(p=0;p0?" L "+i.targetX+" "+i.targetY:"")+"Z"):(r="M "+(i.targetX-t)+" "+(i.targetY-n)+" L "+(i.rightInnerExtent-t)+" "+(i.targetY-n)+" A "+(i.rightLargeArcRadius+n)+" "+(i.rightSmallArcRadius+n)+" 0 0 0 "+(i.rightFullExtent-n-t)+" "+(i.targetY+i.rightSmallArcRadius)+" L "+(i.rightFullExtent-n-t)+" "+i.verticalRightInnerExtent,a&&o?r+=" A "+(i.rightLargeArcRadius+n)+" "+(i.rightLargeArcRadius+n)+" 0 0 0 "+(i.rightInnerExtent-n-t)+" "+(i.verticalFullExtent+n)+" L "+(i.rightFullExtent+n-t-(i.rightLargeArcRadius-n))+" "+(i.verticalFullExtent+n)+" A "+(i.rightLargeArcRadius+n)+" "+(i.rightLargeArcRadius+n)+" 0 0 0 "+(i.leftFullExtent+n)+" "+i.verticalLeftInnerExtent:a?r+=" A "+(i.rightLargeArcRadius-n)+" "+(i.rightSmallArcRadius-n)+" 0 0 1 "+(i.rightFullExtent-t-n-(i.rightLargeArcRadius-n))+" "+(i.verticalFullExtent-n)+" L "+(i.leftFullExtent+n+(i.rightLargeArcRadius-n))+" "+(i.verticalFullExtent-n)+" A "+(i.rightLargeArcRadius-n)+" "+(i.rightSmallArcRadius-n)+" 0 0 1 "+(i.leftFullExtent+n)+" "+i.verticalLeftInnerExtent:r+=" A "+(i.rightLargeArcRadius+n)+" "+(i.rightLargeArcRadius+n)+" 0 0 0 "+(i.rightInnerExtent-t)+" "+(i.verticalFullExtent+n)+" L "+i.leftInnerExtent+" "+(i.verticalFullExtent+n)+" A "+(i.leftLargeArcRadius+n)+" "+(i.leftLargeArcRadius+n)+" 0 0 0 "+(i.leftFullExtent+n)+" "+i.verticalLeftInnerExtent,r+=" L "+(i.leftFullExtent+n)+" "+(i.sourceY+i.leftSmallArcRadius)+" A "+(i.leftLargeArcRadius+n)+" "+(i.leftSmallArcRadius+n)+" 0 0 0 "+i.leftInnerExtent+" "+(i.sourceY-n)+" L "+i.sourceX+" "+(i.sourceY-n)+" L "+i.sourceX+" "+(i.sourceY+n)+" L "+i.leftInnerExtent+" "+(i.sourceY+n)+" A "+(i.leftLargeArcRadius-n)+" "+(i.leftSmallArcRadius-n)+" 0 0 1 "+(i.leftFullExtent-n)+" "+(i.sourceY+i.leftSmallArcRadius)+" L "+(i.leftFullExtent-n)+" "+i.verticalLeftInnerExtent,a&&o?r+=" A "+(i.rightLargeArcRadius-n)+" "+(i.rightSmallArcRadius-n)+" 0 0 1 "+(i.leftFullExtent-n-(i.rightLargeArcRadius-n))+" "+(i.verticalFullExtent-n)+" L "+(i.rightFullExtent+n-t+(i.rightLargeArcRadius-n))+" "+(i.verticalFullExtent-n)+" A "+(i.rightLargeArcRadius-n)+" "+(i.rightSmallArcRadius-n)+" 0 0 1 "+(i.rightFullExtent+n-t)+" "+i.verticalRightInnerExtent:a?r+=" A "+(i.rightLargeArcRadius+n)+" "+(i.rightLargeArcRadius+n)+" 0 0 0 "+(i.leftFullExtent+n)+" "+(i.verticalFullExtent+n)+" L "+(i.rightFullExtent-t-n)+" "+(i.verticalFullExtent+n)+" A "+(i.rightLargeArcRadius+n)+" "+(i.rightLargeArcRadius+n)+" 0 0 0 "+(i.rightFullExtent+n-t)+" "+i.verticalRightInnerExtent:r+=" A "+(i.leftLargeArcRadius-n)+" "+(i.leftLargeArcRadius-n)+" 0 0 1 "+i.leftInnerExtent+" "+(i.verticalFullExtent-n)+" L "+(i.rightInnerExtent-t)+" "+(i.verticalFullExtent-n)+" A "+(i.rightLargeArcRadius-n)+" "+(i.rightLargeArcRadius-n)+" 0 0 1 "+(i.rightFullExtent+n-t)+" "+i.verticalRightInnerExtent,r+=" L "+(i.rightFullExtent+n-t)+" "+(i.targetY+i.rightSmallArcRadius)+" A "+(i.rightLargeArcRadius-n)+" "+(i.rightSmallArcRadius-n)+" 0 0 1 "+(i.rightInnerExtent-t)+" "+(i.targetY+n)+" L "+(i.targetX-t)+" "+(i.targetY+n)+(t>0?" L "+i.targetX+" "+i.targetY:"")+"Z"),r}function a$(){var e=.5;function t(r){var n=r.linkArrowLength;if(r.link.circular)return dYt(r.link,n);var i=Math.abs((r.link.target.x0-r.link.source.x1)/2);n>i&&(n=i);var a=r.link.source.x1,o=r.link.target.x0-n,s=iYt(a,o),l=s(e),u=s(1-e),c=r.link.y0-r.link.width/2,f=r.link.y0+r.link.width/2,h=r.link.y1-r.link.width/2,d=r.link.y1+r.link.width/2,v="M"+a+","+c,m="C"+l+","+c+" "+u+","+h+" "+o+","+h,b="C"+u+","+d+" "+l+","+f+" "+a+","+f,p=n>0?"L"+(o+n)+","+(h+r.link.width/2):"";return p+="L"+o+","+d,v+m+p+b+"Z"}return t}function vYt(e,t){var r=B5(t.color),n=Nu.nodePadAcross,i=e.nodePad/2;t.dx=t.x1-t.x0,t.dy=t.y1-t.y0;var a=t.dx,o=Math.max(.5,t.dy),s="node_"+t.pointNumber;return t.group&&(s=w1.randstr()),t.trace=e.trace,t.curveNumber=e.trace.index,{index:t.pointNumber,key:s,partOfGroup:t.partOfGroup||!1,group:t.group,traceId:e.key,trace:e.trace,node:t,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:e.horizontal?t.dy/2+1:t.dx/2+1,left:t.originalLayer===1,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:yw.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,graph:e.graph,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,s].join("_"),interactionState:e.interactionState,figure:e}}function r$(e){e.attr("transform",function(t){return i$(t.node.x0.toFixed(3),t.node.y0.toFixed(3))})}function pYt(e){e.call(r$)}function dXe(e,t){e.call(pYt),t.attr("d",a$())}function sXe(e){e.attr("width",function(t){return t.node.x1-t.node.x0}).attr("height",function(t){return t.visibleHeight})}function t$(e){return e.link.width>1||e.linkLineWidth>0}function lXe(e){var t=i$(e.translateX,e.translateY);return t+(e.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function uXe(e,t,r){e.on(".basic",null).on("mouseover.basic",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.hover(this,n,t),n.interactionState.hovered=[this,n])}).on("mousemove.basic",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.follow(this,n),n.interactionState.hovered=[this,n])}).on("mouseout.basic",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.unhover(this,n,t),n.interactionState.hovered=!1)}).on("click.basic",function(n){n.interactionState.hovered&&(r.unhover(this,n,t),n.interactionState.hovered=!1),!n.interactionState.dragInProgress&&!n.partOfGroup&&r.select(this,n,t)})}function gYt(e,t,r,n){var i=O5.behavior.drag().origin(function(a){return{x:a.node.x0+a.visibleWidth/2,y:a.node.y0+a.visibleHeight/2}}).on("dragstart",function(a){if(a.arrangement!=="fixed"&&(w1.ensureSingle(n._fullLayout._infolayer,"g","dragcover",function(s){n._fullLayout._dragCover=s}),w1.raiseToTop(this),a.interactionState.dragInProgress=a.node,cXe(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),a.arrangement==="snap")){var o=a.traceId+"|"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):mYt(e,o,a,n),yYt(e,t,a,o,n)}}).on("drag",function(a){if(a.arrangement!=="fixed"){var o=O5.event.x,s=O5.event.y;a.arrangement==="snap"?(a.node.x0=o-a.visibleWidth/2,a.node.x1=o+a.visibleWidth/2,a.node.y0=s-a.visibleHeight/2,a.node.y1=s+a.visibleHeight/2):(a.arrangement==="freeform"&&(a.node.x0=o-a.visibleWidth/2,a.node.x1=o+a.visibleWidth/2),s=Math.max(0,Math.min(a.size-a.visibleHeight/2,s)),a.node.y0=s-a.visibleHeight/2,a.node.y1=s+a.visibleHeight/2),cXe(a.node),a.arrangement!=="snap"&&(a.sankey.update(a.graph),dXe(e.filter(pXe(a)),t))}}).on("dragend",function(a){if(a.arrangement!=="fixed"){a.interactionState.dragInProgress=!1;for(var o=0;o0)window.requestAnimationFrame(a);else{var l=r.node.originalX;r.node.x0=l-r.visibleWidth/2,r.node.x1=l+r.visibleWidth/2,vXe(r,i)}})}function _Yt(e,t,r,n){return function(){for(var a=0,o=0;o0&&n.forceLayouts[t].alpha(0)}}function vXe(e,t){for(var r=[],n=[],i=0;i{"use strict";var Zv=qa(),s$=Pr(),D7=s$.numberFormat,TYt=mXe(),N5=ef(),AYt=ka(),Fx=e$().cn,lC=s$._;function yXe(e){return e!==""}function U5(e,t){return e.filter(function(r){return r.key===t.traceId})}function _Xe(e,t){Zv.select(e).select("path").style("fill-opacity",t),Zv.select(e).select("rect").style("fill-opacity",t)}function xXe(e){Zv.select(e).select("text.name").style("fill","black")}function bXe(e){return function(t){return e.node.sourceLinks.indexOf(t.link)!==-1||e.node.targetLinks.indexOf(t.link)!==-1}}function wXe(e){return function(t){return t.node.sourceLinks.indexOf(e.link)!==-1||t.node.targetLinks.indexOf(e.link)!==-1}}function TXe(e,t,r){t&&r&&U5(r,t).selectAll("."+Fx.sankeyLink).filter(bXe(t)).call(AXe.bind(0,t,r,!1))}function o$(e,t,r){t&&r&&U5(r,t).selectAll("."+Fx.sankeyLink).filter(bXe(t)).call(SXe.bind(0,t,r,!1))}function AXe(e,t,r,n){n.style("fill",function(i){if(!i.link.concentrationscale)return i.tinyColorHoverHue}).style("fill-opacity",function(i){if(!i.link.concentrationscale)return i.tinyColorHoverAlpha}),n.each(function(i){var a=i.link.label;a!==""&&U5(t,e).selectAll("."+Fx.sankeyLink).filter(function(o){return o.link.label===a}).style("fill",function(o){if(!o.link.concentrationscale)return o.tinyColorHoverHue}).style("fill-opacity",function(o){if(!o.link.concentrationscale)return o.tinyColorHoverAlpha})}),r&&U5(t,e).selectAll("."+Fx.sankeyNode).filter(wXe(e)).call(TXe)}function SXe(e,t,r,n){n.style("fill",function(i){return i.tinyColorHue}).style("fill-opacity",function(i){return i.tinyColorAlpha}),n.each(function(i){var a=i.link.label;a!==""&&U5(t,e).selectAll("."+Fx.sankeyLink).filter(function(o){return o.link.label===a}).style("fill",function(o){return o.tinyColorHue}).style("fill-opacity",function(o){return o.tinyColorAlpha})}),r&&U5(t,e).selectAll(Fx.sankeyNode).filter(wXe(e)).call(o$)}function kf(e,t){var r=e.hoverlabel||{},n=s$.nestedProperty(r,t).get();return Array.isArray(n)?!1:n}MXe.exports=function(t,r){for(var n=t._fullLayout,i=n._paper,a=n._size,o=0;o"),color:kf(C,"bgcolor")||AYt.addOpacity(z.color,1),borderColor:kf(C,"bordercolor"),fontFamily:kf(C,"font.family"),fontSize:kf(C,"font.size"),fontColor:kf(C,"font.color"),fontWeight:kf(C,"font.weight"),fontStyle:kf(C,"font.style"),fontVariant:kf(C,"font.variant"),fontTextcase:kf(C,"font.textcase"),fontLineposition:kf(C,"font.lineposition"),fontShadow:kf(C,"font.shadow"),nameLength:kf(C,"namelength"),textAlign:kf(C,"align"),idealAlign:Zv.event.x"),color:kf(C,"bgcolor")||x.tinyColorHue,borderColor:kf(C,"bordercolor"),fontFamily:kf(C,"font.family"),fontSize:kf(C,"font.size"),fontColor:kf(C,"font.color"),fontWeight:kf(C,"font.weight"),fontStyle:kf(C,"font.style"),fontVariant:kf(C,"font.variant"),fontTextcase:kf(C,"font.textcase"),fontLineposition:kf(C,"font.lineposition"),fontShadow:kf(C,"font.shadow"),nameLength:kf(C,"namelength"),textAlign:kf(C,"align"),idealAlign:"left",hovertemplate:C.hovertemplate,hovertemplateLabels:V,eventData:[x.node]},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t});_Xe(j,.85),xXe(j)}}},T=function(L,x,C){t._fullLayout.hovermode!==!1&&(Zv.select(L).call(o$,x,C),x.node.trace.node.hoverinfo!=="skip"&&(x.node.fullData=x.node.trace,t.emit("plotly_unhover",{event:Zv.event,points:[x.node]})),N5.loneUnhover(n._hoverlayer.node()))};TYt(t,i,r,{width:a.w,height:a.h,margin:{t:a.t,r:a.r,b:a.b,l:a.l}},{linkEvents:{hover:u,follow:m,unhover:b,select:l},nodeEvents:{hover:k,follow:M,unhover:T,select:p}})}});var EXe=ye(_w=>{"use strict";var SYt=mc().overrideAll,MYt=Id().getModuleCalcData,EYt=l$(),kYt=W1(),CYt=Eg(),LYt=yv(),PYt=qf().prepSelect,u$=Pr(),IYt=Oa(),F7="sankey";_w.name=F7;_w.baseLayoutAttrOverrides=SYt({hoverlabel:kYt.hoverlabel},"plot","nested");_w.plot=function(e){var t=MYt(e.calcdata,F7)[0];EYt(e,t),_w.updateFx(e)};_w.clean=function(e,t,r,n){var i=n._has&&n._has(F7),a=t._has&&t._has(F7);i&&!a&&(n._paperdiv.selectAll(".sankey").remove(),n._paperdiv.selectAll(".bgsankey").remove())};_w.updateFx=function(e){for(var t=0;t{"use strict";kXe.exports=function(t,r){for(var n=t.cd,i=[],a=n[0].trace,o=a._sankey.graph.nodes,s=0;s{"use strict";LXe.exports={attributes:JJ(),supplyDefaults:DWe(),calc:BWe(),plot:l$(),moduleType:"trace",name:"sankey",basePlotModule:EXe(),selectPoints:CXe(),categories:["noOpacity"],meta:{}}});var RXe=ye((C2r,IXe)=>{"use strict";IXe.exports=PXe()});var FXe=ye(V5=>{"use strict";var DXe=Mc();V5.name="indicator";V5.plot=function(e,t,r,n){DXe.plotBasePlot(V5.name,e,t,r,n)};V5.clean=function(e,t,r,n){DXe.cleanBasePlot(V5.name,e,t,r,n)}});var f$=ye((P2r,UXe)=>{"use strict";var zx=Ao().extendFlat,qXe=Ao().extendDeep,DYt=mc().overrideAll,OXe=ec(),BXe=Ih(),FYt=Cc().attributes,Nf=Rd(),zYt=vl().templatedArray,z7=QT(),zXe=vf().descriptionOnlyNumbers,c$=OXe({editType:"plot",colorEditType:"plot"}),uC={color:{valType:"color",editType:"plot"},line:{color:{valType:"color",dflt:BXe.defaultLine,editType:"plot"},width:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},thickness:{valType:"number",min:0,max:1,dflt:1,editType:"plot"},editType:"calc"},NXe={valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},qYt=zYt("step",qXe({},uC,{range:NXe}));UXe.exports={mode:{valType:"flaglist",editType:"calc",flags:["number","delta","gauge"],dflt:"number"},value:{valType:"number",editType:"calc",anim:!0},align:{valType:"enumerated",values:["left","center","right"],editType:"plot"},domain:FYt({name:"indicator",trace:!0,editType:"calc"}),title:{text:{valType:"string",editType:"plot"},align:{valType:"enumerated",values:["left","center","right"],editType:"plot"},font:zx({},c$,{}),editType:"plot"},number:{valueformat:{valType:"string",dflt:"",editType:"plot",description:zXe("value")},font:zx({},c$,{}),prefix:{valType:"string",dflt:"",editType:"plot"},suffix:{valType:"string",dflt:"",editType:"plot"},editType:"plot"},delta:{reference:{valType:"number",editType:"calc"},position:{valType:"enumerated",values:["top","bottom","left","right"],dflt:"bottom",editType:"plot"},relative:{valType:"boolean",editType:"plot",dflt:!1},valueformat:{valType:"string",editType:"plot",description:zXe("value")},increasing:{symbol:{valType:"string",dflt:z7.INCREASING.SYMBOL,editType:"plot"},color:{valType:"color",dflt:z7.INCREASING.COLOR,editType:"plot"},editType:"plot"},decreasing:{symbol:{valType:"string",dflt:z7.DECREASING.SYMBOL,editType:"plot"},color:{valType:"color",dflt:z7.DECREASING.COLOR,editType:"plot"},editType:"plot"},font:zx({},c$,{}),prefix:{valType:"string",dflt:"",editType:"plot"},suffix:{valType:"string",dflt:"",editType:"plot"},editType:"calc"},gauge:{shape:{valType:"enumerated",editType:"plot",dflt:"angular",values:["angular","bullet"]},bar:qXe({},uC,{color:{dflt:"green"}}),bgcolor:{valType:"color",editType:"plot"},bordercolor:{valType:"color",dflt:BXe.defaultLine,editType:"plot"},borderwidth:{valType:"number",min:0,dflt:1,editType:"plot"},axis:DYt({range:NXe,visible:zx({},Nf.visible,{dflt:!0}),tickmode:Nf.minor.tickmode,nticks:Nf.nticks,tick0:Nf.tick0,dtick:Nf.dtick,tickvals:Nf.tickvals,ticktext:Nf.ticktext,ticks:zx({},Nf.ticks,{dflt:"outside"}),ticklen:Nf.ticklen,tickwidth:Nf.tickwidth,tickcolor:Nf.tickcolor,ticklabelstep:Nf.ticklabelstep,showticklabels:Nf.showticklabels,labelalias:Nf.labelalias,tickfont:OXe({}),tickangle:Nf.tickangle,tickformat:Nf.tickformat,tickformatstops:Nf.tickformatstops,tickprefix:Nf.tickprefix,showtickprefix:Nf.showtickprefix,ticksuffix:Nf.ticksuffix,showticksuffix:Nf.showticksuffix,separatethousands:Nf.separatethousands,exponentformat:Nf.exponentformat,minexponent:Nf.minexponent,showexponent:Nf.showexponent,editType:"plot"},"plot"),steps:qYt,threshold:{line:{color:zx({},uC.line.color,{}),width:zx({},uC.line.width,{dflt:1}),editType:"plot"},thickness:zx({},uC.thickness,{dflt:.85}),value:{valType:"number",editType:"calc",dflt:!1},editType:"plot"},editType:"plot"}}});var h$=ye((I2r,VXe)=>{"use strict";VXe.exports={defaultNumberFontSize:80,bulletNumberDomainSize:.25,bulletPadding:.025,innerRadius:.75,valueThickness:.5,titlePadding:5,horizontalPadding:10}});var jXe=ye((R2r,HXe)=>{"use strict";var ly=Pr(),O7=f$(),OYt=Cc().defaults,GXe=vl(),BYt=Kd(),q7=h$(),NYt=Pb(),UYt=q3(),VYt=s_(),GYt=l_();function HYt(e,t,r,n){function i(x,C){return ly.coerce(e,t,O7,x,C)}OYt(t,n,i),i("mode"),t._hasNumber=t.mode.indexOf("number")!==-1,t._hasDelta=t.mode.indexOf("delta")!==-1,t._hasGauge=t.mode.indexOf("gauge")!==-1;var a=i("value");t._range=[0,typeof a=="number"?1.5*a:1];var o=new Array(2),s;if(t._hasNumber){i("number.valueformat");var l=ly.extendFlat({},n.font);l.size=void 0,ly.coerceFont(i,"number.font",l),t.number.font.size===void 0&&(t.number.font.size=q7.defaultNumberFontSize,o[0]=!0),i("number.prefix"),i("number.suffix"),s=t.number.font.size}var u;if(t._hasDelta){var c=ly.extendFlat({},n.font);c.size=void 0,ly.coerceFont(i,"delta.font",c),t.delta.font.size===void 0&&(t.delta.font.size=(t._hasNumber?.5:1)*(s||q7.defaultNumberFontSize),o[1]=!0),i("delta.reference",t.value),i("delta.relative"),i("delta.valueformat",t.delta.relative?"2%":""),i("delta.increasing.symbol"),i("delta.increasing.color"),i("delta.decreasing.symbol"),i("delta.decreasing.color"),i("delta.position"),i("delta.prefix"),i("delta.suffix"),u=t.delta.font.size}t._scaleNumbers=(!t._hasNumber||o[0])&&(!t._hasDelta||o[1])||!1;var f=ly.extendFlat({},n.font);f.size=.25*(s||u||q7.defaultNumberFontSize),ly.coerceFont(i,"title.font",f),i("title.text");var h,d,v,m;function b(x,C){return ly.coerce(h,d,O7.gauge,x,C)}function p(x,C){return ly.coerce(v,m,O7.gauge.axis,x,C)}if(t._hasGauge){h=e.gauge,h||(h={}),d=GXe.newContainer(t,"gauge"),b("shape");var k=t._isBullet=t.gauge.shape==="bullet";k||i("title.align","center");var M=t._isAngular=t.gauge.shape==="angular";M||i("align","center"),b("bgcolor",n.paper_bgcolor),b("borderwidth"),b("bordercolor"),b("bar.color"),b("bar.line.color"),b("bar.line.width");var T=q7.valueThickness*(t.gauge.shape==="bullet"?.5:1);b("bar.thickness",T),BYt(h,d,{name:"steps",handleItemDefaults:jYt}),b("threshold.value"),b("threshold.thickness"),b("threshold.line.width"),b("threshold.line.color"),v={},h&&(v=h.axis||{}),m=GXe.newContainer(d,"axis"),p("visible"),t._range=p("range",t._range);var L={font:n.font,noAutotickangles:!0,outerTicks:!0,noTicklabelshift:!0,noTicklabelstandoff:!0};NYt(v,m,p,"linear"),GYt(v,m,p,"linear",L),VYt(v,m,p,"linear",L),UYt(v,m,p,L)}else i("title.align","center"),i("align","center"),t._isAngular=t._isBullet=!1;t._length=null}function jYt(e,t){function r(n,i){return ly.coerce(e,t,O7.gauge.steps,n,i)}r("color"),r("line.color"),r("line.width"),r("range"),r("thickness")}HXe.exports={supplyDefaults:HYt}});var XXe=ye((D2r,WXe)=>{"use strict";function WYt(e,t){var r=[],n=t.value;typeof t._lastValue!="number"&&(t._lastValue=t.value);var i=t._lastValue,a=i;return t._hasDelta&&typeof t.delta.reference=="number"&&(a=t.delta.reference),r[0]={y:n,lastY:i,delta:n-a,relativeDelta:(n-a)/a},r}WXe.exports={calc:WYt}});var QXe=ye((F2r,$Xe)=>{"use strict";var Aw=qa(),XYt=(j2(),gb(H2)).interpolate,ZXe=(j2(),gb(H2)).interpolateNumber,qx=Pr(),ZYt=qx.strScale,fC=qx.strTranslate,YYt=qx.rad2deg,KYt=Dh().MID_SHIFT,Tw=So(),xw=h$(),N7=Zl(),lv=ho(),JYt=h4(),$Yt=vI(),QYt=Rd(),G5=ka(),d$={left:"start",center:"middle",right:"end"},bw={left:0,center:.5,right:1},YXe=/[yzafpnµmkMGTPEZY]/;function hC(e){return e&&e.duration>0}$Xe.exports=function(t,r,n,i){var a=t._fullLayout,o;hC(n)&&i&&(o=i()),qx.makeTraceGroups(a._indicatorlayer,r,"trace").each(function(s){var l=s[0],u=l.trace,c=Aw.select(this),f=u._hasGauge,h=u._isAngular,d=u._isBullet,v=u.domain,m={w:a._size.w*(v.x[1]-v.x[0]),h:a._size.h*(v.y[1]-v.y[0]),l:a._size.l+a._size.w*v.x[0],r:a._size.r+a._size.w*(1-v.x[1]),t:a._size.t+a._size.h*(1-v.y[1]),b:a._size.b+a._size.h*v.y[0]},b=m.l+m.w/2,p=m.t+m.h/2,k=Math.min(m.w/2,m.h),M=xw.innerRadius*k,T,L,x,C=u.align||"center";if(L=p,!f)T=m.l+bw[C]*m.w,x=function(j){return KXe(j,m.w,m.h)};else if(h&&(T=b,L=p+k/2,x=function(j){return nKt(j,.9*M)}),d){var S=xw.bulletPadding,g=1-xw.bulletNumberDomainSize+S;T=m.l+(g+(1-g)*bw[C])*m.w,x=function(j){return KXe(j,(xw.bulletNumberDomainSize-S)*m.w,m.h)}}rKt(t,c,s,{numbersX:T,numbersY:L,numbersScaler:x,transitionOpts:n,onComplete:o});var P,E;f&&(P={range:u.gauge.axis.range,color:u.gauge.bgcolor,line:{color:u.gauge.bordercolor,width:0},thickness:1},E={range:u.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:u.gauge.bordercolor,width:u.gauge.borderwidth},thickness:1});var z=c.selectAll("g.angular").data(h?s:[]);z.exit().remove();var q=c.selectAll("g.angularaxis").data(h?s:[]);q.exit().remove(),h&&tKt(t,c,s,{radius:k,innerRadius:M,gauge:z,layer:q,size:m,gaugeBg:P,gaugeOutline:E,transitionOpts:n,onComplete:o});var V=c.selectAll("g.bullet").data(d?s:[]);V.exit().remove();var G=c.selectAll("g.bulletaxis").data(d?s:[]);G.exit().remove(),d&&eKt(t,c,s,{gauge:V,layer:G,size:m,gaugeBg:P,gaugeOutline:E,transitionOpts:n,onComplete:o});var Z=c.selectAll("text.title").data(s);Z.exit().remove(),Z.enter().append("text").classed("title",!0),Z.attr("text-anchor",function(){return d?d$.right:d$[u.title.align]}).text(u.title.text).call(Tw.font,u.title.font).call(N7.convertToTspans,t),Z.attr("transform",function(){var j=m.l+m.w*bw[u.title.align],N,H=xw.titlePadding,ie=Tw.bBox(Z.node());if(f){if(h)if(u.gauge.axis.visible){var ae=Tw.bBox(q.node());N=ae.top-H-ie.bottom}else N=m.t+m.h/2-k/2-ie.bottom-H;d&&(N=L-(ie.top+ie.bottom)/2,j=m.l-xw.bulletPadding*m.w)}else N=u._numbersTop-H-ie.bottom;return fC(j,N)})})};function eKt(e,t,r,n){var i=r[0].trace,a=n.gauge,o=n.layer,s=n.gaugeBg,l=n.gaugeOutline,u=n.size,c=i.domain,f=n.transitionOpts,h=n.onComplete,d,v,m,b,p;a.enter().append("g").classed("bullet",!0),a.attr("transform",fC(u.l,u.t)),o.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),o.selectAll("g.xbulletaxistick,path,text").remove();var k=u.h,M=i.gauge.bar.thickness*k,T=c.x[0],L=c.x[0]+(c.x[1]-c.x[0])*(i._hasNumber||i._hasDelta?1-xw.bulletNumberDomainSize:1);d=cC(e,i.gauge.axis),d._id="xbulletaxis",d.domain=[T,L],d.setScale(),v=lv.calcTicks(d),m=lv.makeTransTickFn(d),b=lv.getTickSigns(d)[2],p=u.t+u.h,d.visible&&(lv.drawTicks(e,d,{vals:d.ticks==="inside"?lv.clipEnds(d,v):v,layer:o,path:lv.makeTickPath(d,p,b),transFn:m}),lv.drawLabels(e,d,{vals:v,layer:o,transFn:m,labelFns:lv.makeLabelFns(d,p)}));function x(q){q.attr("width",function(V){return Math.max(0,d.c2p(V.range[1])-d.c2p(V.range[0]))}).attr("x",function(V){return d.c2p(V.range[0])}).attr("y",function(V){return .5*(1-V.thickness)*k}).attr("height",function(V){return V.thickness*k})}var C=[s].concat(i.gauge.steps),S=a.selectAll("g.bg-bullet").data(C);S.enter().append("g").classed("bg-bullet",!0).append("rect"),S.select("rect").call(x).call(ww),S.exit().remove();var g=a.selectAll("g.value-bullet").data([i.gauge.bar]);g.enter().append("g").classed("value-bullet",!0).append("rect"),g.select("rect").attr("height",M).attr("y",(k-M)/2).call(ww),hC(f)?g.select("rect").transition().duration(f.duration).ease(f.easing).each("end",function(){h&&h()}).each("interrupt",function(){h&&h()}).attr("width",Math.max(0,d.c2p(Math.min(i.gauge.axis.range[1],r[0].y)))):g.select("rect").attr("width",typeof r[0].y=="number"?Math.max(0,d.c2p(Math.min(i.gauge.axis.range[1],r[0].y))):0),g.exit().remove();var P=r.filter(function(){return i.gauge.threshold.value||i.gauge.threshold.value===0}),E=a.selectAll("g.threshold-bullet").data(P);E.enter().append("g").classed("threshold-bullet",!0).append("line"),E.select("line").attr("x1",d.c2p(i.gauge.threshold.value)).attr("x2",d.c2p(i.gauge.threshold.value)).attr("y1",(1-i.gauge.threshold.thickness)/2*k).attr("y2",(1-(1-i.gauge.threshold.thickness)/2)*k).call(G5.stroke,i.gauge.threshold.line.color).style("stroke-width",i.gauge.threshold.line.width),E.exit().remove();var z=a.selectAll("g.gauge-outline").data([l]);z.enter().append("g").classed("gauge-outline",!0).append("rect"),z.select("rect").call(x).call(ww),z.exit().remove()}function tKt(e,t,r,n){var i=r[0].trace,a=n.size,o=n.radius,s=n.innerRadius,l=n.gaugeBg,u=n.gaugeOutline,c=[a.l+a.w/2,a.t+a.h/2+o/2],f=n.gauge,h=n.layer,d=n.transitionOpts,v=n.onComplete,m=Math.PI/2;function b(_e){var Ee=i.gauge.axis.range[0],Ce=i.gauge.axis.range[1],ge=(_e-Ee)/(Ce-Ee)*Math.PI-m;return ge<-m?-m:ge>m?m:ge}function p(_e){return Aw.svg.arc().innerRadius((s+o)/2-_e/2*(o-s)).outerRadius((s+o)/2+_e/2*(o-s)).startAngle(-m)}function k(_e){_e.attr("d",function(Ee){return p(Ee.thickness).startAngle(b(Ee.range[0])).endAngle(b(Ee.range[1]))()})}var M,T,L,x;f.enter().append("g").classed("angular",!0),f.attr("transform",fC(c[0],c[1])),h.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),h.selectAll("g.xangularaxistick,path,text").remove(),M=cC(e,i.gauge.axis),M.type="linear",M.range=i.gauge.axis.range,M._id="xangularaxis",M.ticklabeloverflow="allow",M.setScale();var C=function(_e){return(M.range[0]-_e.x)/(M.range[1]-M.range[0])*Math.PI+Math.PI},S={},g=lv.makeLabelFns(M,0),P=g.labelStandoff;S.xFn=function(_e){var Ee=C(_e);return Math.cos(Ee)*P},S.yFn=function(_e){var Ee=C(_e),Ce=Math.sin(Ee)>0?.2:1;return-Math.sin(Ee)*(P+_e.fontSize*Ce)+Math.abs(Math.cos(Ee))*(_e.fontSize*KYt)},S.anchorFn=function(_e){var Ee=C(_e),Ce=Math.cos(Ee);return Math.abs(Ce)<.1?"middle":Ce>0?"start":"end"},S.heightFn=function(_e,Ee,Ce){var ge=C(_e);return-.5*(1+Math.sin(ge))*Ce};var E=function(_e){return fC(c[0]+o*Math.cos(_e),c[1]-o*Math.sin(_e))};L=function(_e){return E(C(_e))};var z=function(_e){var Ee=C(_e);return E(Ee)+"rotate("+-YYt(Ee)+")"};if(T=lv.calcTicks(M),x=lv.getTickSigns(M)[2],M.visible){x=M.ticks==="inside"?-1:1;var q=(M.linewidth||1)/2;lv.drawTicks(e,M,{vals:T,layer:h,path:"M"+x*q+",0h"+x*M.ticklen,transFn:z}),lv.drawLabels(e,M,{vals:T,layer:h,transFn:L,labelFns:S})}var V=[l].concat(i.gauge.steps),G=f.selectAll("g.bg-arc").data(V);G.enter().append("g").classed("bg-arc",!0).append("path"),G.select("path").call(k).call(ww),G.exit().remove();var Z=p(i.gauge.bar.thickness),j=f.selectAll("g.value-arc").data([i.gauge.bar]);j.enter().append("g").classed("value-arc",!0).append("path");var N=j.select("path");hC(d)?(N.transition().duration(d.duration).ease(d.easing).each("end",function(){v&&v()}).each("interrupt",function(){v&&v()}).attrTween("d",iKt(Z,b(r[0].lastY),b(r[0].y))),i._lastValue=r[0].y):N.attr("d",typeof r[0].y=="number"?Z.endAngle(b(r[0].y)):"M0,0Z"),N.call(ww),j.exit().remove(),V=[];var H=i.gauge.threshold.value;(H||H===0)&&V.push({range:[H,H],color:i.gauge.threshold.color,line:{color:i.gauge.threshold.line.color,width:i.gauge.threshold.line.width},thickness:i.gauge.threshold.thickness});var ie=f.selectAll("g.threshold-arc").data(V);ie.enter().append("g").classed("threshold-arc",!0).append("path"),ie.select("path").call(k).call(ww),ie.exit().remove();var ae=f.selectAll("g.gauge-outline").data([u]);ae.enter().append("g").classed("gauge-outline",!0).append("path"),ae.select("path").call(k).call(ww),ae.exit().remove()}function rKt(e,t,r,n){var i=r[0].trace,a=n.numbersX,o=n.numbersY,s=i.align||"center",l=d$[s],u=n.transitionOpts,c=n.onComplete,f=qx.ensureSingle(t,"g","numbers"),h,d,v,m=[];i._hasNumber&&m.push("number"),i._hasDelta&&(m.push("delta"),i.delta.position==="left"&&m.reverse());var b=f.selectAll("text").data(m);b.enter().append("text"),b.attr("text-anchor",function(){return l}).attr("class",function(E){return E}).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),b.exit().remove();function p(E,z,q,V){if(E.match("s")&&q>=0!=V>=0&&!z(q).slice(-1).match(YXe)&&!z(V).slice(-1).match(YXe)){var G=E.slice().replace("s","f").replace(/\d+/,function(j){return parseInt(j)-1}),Z=cC(e,{tickformat:G});return function(j){return Math.abs(j)<1?lv.tickText(Z,j).text:z(j)}}else return z}function k(){var E=cC(e,{tickformat:i.number.valueformat},i._range);E.setScale(),lv.prepTicks(E);var z=function(j){return lv.tickText(E,j).text},q=i.number.suffix,V=i.number.prefix,G=f.select("text.number");function Z(){var j=typeof r[0].y=="number"?V+z(r[0].y)+q:"-";G.text(j).call(Tw.font,i.number.font).call(N7.convertToTspans,e)}return hC(u)?G.transition().duration(u.duration).ease(u.easing).each("end",function(){Z(),c&&c()}).each("interrupt",function(){Z(),c&&c()}).attrTween("text",function(){var j=Aw.select(this),N=ZXe(r[0].lastY,r[0].y);i._lastValue=r[0].y;var H=p(i.number.valueformat,z,r[0].lastY,r[0].y);return function(ie){j.text(V+H(N(ie))+q)}}):Z(),h=JXe(V+z(r[0].y)+q,i.number.font,l,e),G}function M(){var E=cC(e,{tickformat:i.delta.valueformat},i._range);E.setScale(),lv.prepTicks(E);var z=function(ie){return lv.tickText(E,ie).text},q=i.delta.suffix,V=i.delta.prefix,G=function(ie){var ae=i.delta.relative?ie.relativeDelta:ie.delta;return ae},Z=function(ie,ae){return ie===0||typeof ie!="number"||isNaN(ie)?"-":(ie>0?i.delta.increasing.symbol:i.delta.decreasing.symbol)+V+ae(ie)+q},j=function(ie){return ie.delta>=0?i.delta.increasing.color:i.delta.decreasing.color};i._deltaLastValue===void 0&&(i._deltaLastValue=G(r[0]));var N=f.select("text.delta");N.call(Tw.font,i.delta.font).call(G5.fill,j({delta:i._deltaLastValue}));function H(){N.text(Z(G(r[0]),z)).call(G5.fill,j(r[0])).call(N7.convertToTspans,e)}return hC(u)?N.transition().duration(u.duration).ease(u.easing).tween("text",function(){var ie=Aw.select(this),ae=G(r[0]),_e=i._deltaLastValue,Ee=p(i.delta.valueformat,z,_e,ae),Ce=ZXe(_e,ae);return i._deltaLastValue=ae,function(ge){ie.text(Z(Ce(ge),Ee)),ie.call(G5.fill,j({delta:Ce(ge)}))}}).each("end",function(){H(),c&&c()}).each("interrupt",function(){H(),c&&c()}):H(),d=JXe(Z(G(r[0]),z),i.delta.font,l,e),N}var T=i.mode+i.align,L;if(i._hasDelta&&(L=M(),T+=i.delta.position+i.delta.font.size+i.delta.font.family+i.delta.valueformat,T+=i.delta.increasing.symbol+i.delta.decreasing.symbol,v=d),i._hasNumber&&(k(),T+=i.number.font.size+i.number.font.family+i.number.valueformat+i.number.suffix+i.number.prefix,v=h),i._hasDelta&&i._hasNumber){var x=[(h.left+h.right)/2,(h.top+h.bottom)/2],C=[(d.left+d.right)/2,(d.top+d.bottom)/2],S,g,P=.75*i.delta.font.size;i.delta.position==="left"&&(S=B7(i,"deltaPos",0,-1*(h.width*bw[i.align]+d.width*(1-bw[i.align])+P),T,Math.min),g=x[1]-C[1],v={width:h.width+d.width+P,height:Math.max(h.height,d.height),left:d.left+S,right:h.right,top:Math.min(h.top,d.top+g),bottom:Math.max(h.bottom,d.bottom+g)}),i.delta.position==="right"&&(S=B7(i,"deltaPos",0,h.width*(1-bw[i.align])+d.width*bw[i.align]+P,T,Math.max),g=x[1]-C[1],v={width:h.width+d.width+P,height:Math.max(h.height,d.height),left:h.left,right:d.right+S,top:Math.min(h.top,d.top+g),bottom:Math.max(h.bottom,d.bottom+g)}),i.delta.position==="bottom"&&(S=null,g=d.height,v={width:Math.max(h.width,d.width),height:h.height+d.height,left:Math.min(h.left,d.left),right:Math.max(h.right,d.right),top:h.bottom-h.height,bottom:h.bottom+d.height}),i.delta.position==="top"&&(S=null,g=h.top,v={width:Math.max(h.width,d.width),height:h.height+d.height,left:Math.min(h.left,d.left),right:Math.max(h.right,d.right),top:h.bottom-h.height-d.height,bottom:h.bottom}),L.attr({dx:S,dy:g})}(i._hasNumber||i._hasDelta)&&f.attr("transform",function(){var E=n.numbersScaler(v);T+=E[2];var z=B7(i,"numbersScale",1,E[0],T,Math.min),q;i._scaleNumbers||(z=1),i._isAngular?q=o-z*v.bottom:q=o-z*(v.top+v.bottom)/2,i._numbersTop=z*v.top+q;var V=v[s];s==="center"&&(V=(v.left+v.right)/2);var G=a-z*V;return G=B7(i,"numbersTranslate",0,G,T,Math.max),fC(G,q)+ZYt(z)})}function ww(e){e.each(function(t){G5.stroke(Aw.select(this),t.line.color)}).each(function(t){G5.fill(Aw.select(this),t.color)}).style("stroke-width",function(t){return t.line.width})}function iKt(e,t,r){return function(){var n=XYt(t,r);return function(i){return e.endAngle(n(i))()}}}function cC(e,t,r){var n=e._fullLayout,i=qx.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},t),a={type:"linear",_id:"x"+t._id},o={letter:"x",font:n.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function s(l,u){return qx.coerce(i,a,QYt,l,u)}return JYt(i,a,s,o,n),$Yt(i,a,s,o),a}function KXe(e,t,r){var n=Math.min(t/e.width,r/e.height);return[n,e,t+"x"+r]}function nKt(e,t){var r=Math.sqrt(e.width/2*(e.width/2)+e.height*e.height),n=t/r;return[n,e,t]}function JXe(e,t,r,n){var i=document.createElementNS("http://www.w3.org/2000/svg","text"),a=Aw.select(i);return a.text(e).attr("x",0).attr("y",0).attr("text-anchor",r).attr("data-unformatted",e).call(N7.convertToTspans,n).call(Tw.font,t),Tw.bBox(a.node())}function B7(e,t,r,n,i,a){var o="_cache"+t;e[o]&&e[o].key===i||(e[o]={key:i,value:r});var s=qx.aggNums(a,null,[e[o].value,n],2);return e[o].value=s,s}});var tZe=ye((z2r,eZe)=>{"use strict";eZe.exports={moduleType:"trace",name:"indicator",basePlotModule:FXe(),categories:["svg","noOpacity","noHover"],animatable:!0,attributes:f$(),supplyDefaults:jXe().supplyDefaults,calc:XXe().calc,plot:QXe(),meta:{}}});var iZe=ye((q2r,rZe)=>{"use strict";rZe.exports=tZe()});var v$=ye((B2r,sZe)=>{"use strict";var nZe=Qb(),U7=Ao().extendFlat,aKt=mc().overrideAll,aZe=ec(),oKt=Cc().attributes,oZe=vf().descriptionOnlyNumbers,O2r=sZe.exports=aKt({domain:oKt({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:oZe("cell value")},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:28},align:U7({},nZe.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:U7({},aZe({arrayOk:!0}))},cells:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[],description:oZe("cell value")},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:20},align:U7({},nZe.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:U7({},aZe({arrayOk:!0}))}},"calc","from-root")});var uZe=ye((N2r,lZe)=>{"use strict";var p$=Pr(),sKt=v$(),lKt=Cc().defaults;function uKt(e,t){for(var r=e.columnorder||[],n=e.header.values.length,i=r.slice(0,n),a=i.slice().sort(function(l,u){return l-u}),o=i.map(function(l){return a.indexOf(l)}),s=o.length;s{"use strict";var cKt=ny().wrap;cZe.exports=function(){return cKt({})}});var g$=ye((V2r,hZe)=>{"use strict";hZe.exports={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\$.*\$$/,goldenRatio:1.618,lineBreaker:"
",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"}}});var bZe=ye((G2r,xZe)=>{"use strict";var dZe=g$(),y$=Ao().extendFlat,fKt=Eo(),hKt=Yd().isTypedArray,V7=Yd().isArrayOrTypedArray;xZe.exports=function(t,r){var n=m$(r.cells.values),i=function(g){return g.slice(r.header.values.length,g.length)},a=m$(r.header.values);a.length&&!a[0].length&&(a[0]=[""],a=m$(a));var o=a.concat(i(n).map(function(){return _Ze((a[0]||[""]).length)})),s=r.domain,l=Math.floor(t._fullLayout._size.w*(s.x[1]-s.x[0])),u=Math.floor(t._fullLayout._size.h*(s.y[1]-s.y[0])),c=r.header.values.length?o[0].map(function(){return r.header.height}):[dZe.emptyHeaderHeight],f=n.length?n[0].map(function(){return r.cells.height}):[],h=c.reduce(vZe,0),d=u-h,v=d+dZe.uplift,m=mZe(f,v),b=mZe(c,h),p=gZe(b,[]),k=gZe(m,p),M={},T=r._fullInput.columnorder;V7(T)&&(T=Array.from(T)),T=T.concat(i(n.map(function(g,P){return P})));var L=o.map(function(g,P){var E=V7(r.columnwidth)?r.columnwidth[Math.min(P,r.columnwidth.length-1)]:r.columnwidth;return fKt(E)?Number(E):1}),x=L.reduce(vZe,0);L=L.map(function(g){return g/x*l});var C=Math.max(_$(r.header.line.width),_$(r.cells.line.width)),S={key:r.uid+t._context.staticPlot,translateX:s.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-s.y[1]),size:t._fullLayout._size,width:l,maxLineWidth:C,height:u,columnOrder:T,groupHeight:u,rowBlocks:k,headerRowBlocks:p,scrollY:0,cells:y$({},r.cells,{values:n}),headerCells:y$({},r.header,{values:o}),gdColumns:o.map(function(g){return g[0]}),gdColumnsOriginalOrder:o.map(function(g){return g[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:o.map(function(g,P){var E=M[g];M[g]=(E||0)+1;var z=g+"__"+M[g];return{key:z,label:g,specIndex:P,xIndex:T[P],xScale:pZe,x:void 0,calcdata:void 0,columnWidth:L[P]}})};return S.columns.forEach(function(g){g.calcdata=S,g.x=pZe(g)}),S};function _$(e){if(V7(e)){for(var t=0,r=0;r=t||u===e.length-1)&&(r[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=u,o=yZe(),i+=a,s=u+1,a=0);return r}function yZe(){return{firstRowIndex:null,lastRowIndex:null,rows:[]}}});var wZe=ye(x$=>{"use strict";var G7=Ao().extendFlat;x$.splitToPanels=function(e){var t=[0,0],r=G7({},e,{key:"header",type:"header",page:0,prevPages:t,currentRepaint:[null,null],dragHandle:!0,values:e.calcdata.headerCells.values[e.specIndex],rowBlocks:e.calcdata.headerRowBlocks,calcdata:G7({},e.calcdata,{cells:e.calcdata.headerCells})}),n=G7({},e,{key:"cells1",type:"cells",page:0,prevPages:t,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks}),i=G7({},e,{key:"cells2",type:"cells",page:1,prevPages:t,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks});return[n,i,r]};x$.splitToCells=function(e){var t=dKt(e);return(e.values||[]).slice(t[0],t[1]).map(function(r,n){var i=typeof r=="string"&&r.match(/[<$&> ]/)?"_keybuster_"+Math.random():"";return{keyWithinBlock:n+i,key:t[0]+n,column:e,calcdata:e.calcdata,page:e.page,rowBlocks:e.rowBlocks,value:r}})};function dKt(e){var t=e.rowBlocks[e.page],r=t?t.rows[0].rowIndex:0,n=t?r+t.rows.length:0;return[r,n]}});var L$=ye((j2r,RZe)=>{"use strict";var Ya=g$(),rf=qa(),b$=Pr(),vKt=b$.numberFormat,Uu=ny(),w$=So(),pKt=Zl(),gKt=Pr().raiseToTop,lg=Pr().strTranslate,mKt=Pr().cancelTransition,yKt=bZe(),CZe=wZe(),TZe=ka();RZe.exports=function(t,r){var n=!t._context.staticPlot,i=t._fullLayout._paper.selectAll("."+Ya.cn.table).data(r.map(function(k){var M=Uu.unwrap(k),T=M.trace;return yKt(t,T)}),Uu.keyFun);i.exit().remove(),i.enter().append("g").classed(Ya.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"),i.attr("width",function(k){return k.width+k.size.l+k.size.r}).attr("height",function(k){return k.height+k.size.t+k.size.b}).attr("transform",function(k){return lg(k.translateX,k.translateY)});var a=i.selectAll("."+Ya.cn.tableControlView).data(Uu.repeat,Uu.keyFun),o=a.enter().append("g").classed(Ya.cn.tableControlView,!0).style("box-sizing","content-box");if(n){var s="onwheel"in document?"wheel":"mousewheel";o.on("mousemove",function(k){a.filter(function(M){return k===M}).call(dC,t)}).on(s,function(k){if(!k.scrollbarState.wheeling){k.scrollbarState.wheeling=!0;var M=k.scrollY+rf.event.deltaY,T=j7(t,a,null,M)(k);T||(rf.event.stopPropagation(),rf.event.preventDefault()),k.scrollbarState.wheeling=!1}}).call(dC,t,!0)}a.attr("transform",function(k){return lg(k.size.l,k.size.t)});var l=a.selectAll("."+Ya.cn.scrollBackground).data(Uu.repeat,Uu.keyFun);l.enter().append("rect").classed(Ya.cn.scrollBackground,!0).attr("fill","none"),l.attr("width",function(k){return k.width}).attr("height",function(k){return k.height}),a.each(function(k){w$.setClipUrl(rf.select(this),AZe(t,k),t)});var u=a.selectAll("."+Ya.cn.yColumn).data(function(k){return k.columns},Uu.keyFun);u.enter().append("g").classed(Ya.cn.yColumn,!0),u.exit().remove(),u.attr("transform",function(k){return lg(k.x,0)}),n&&u.call(rf.behavior.drag().origin(function(k){var M=rf.select(this);return EZe(M,k,-Ya.uplift),gKt(this),k.calcdata.columnDragInProgress=!0,dC(a.filter(function(T){return k.calcdata.key===T.key}),t),k}).on("drag",function(k){var M=rf.select(this),T=function(C){return(k===C?rf.event.x:C.x)+C.columnWidth/2};k.x=Math.max(-Ya.overdrag,Math.min(k.calcdata.width+Ya.overdrag-k.columnWidth,rf.event.x));var L=LZe(u).filter(function(C){return C.calcdata.key===k.calcdata.key}),x=L.sort(function(C,S){return T(C)-T(S)});x.forEach(function(C,S){C.xIndex=S,C.x=k===C?C.x:C.xScale(C)}),u.filter(function(C){return k!==C}).transition().ease(Ya.transitionEase).duration(Ya.transitionDuration).attr("transform",function(C){return lg(C.x,0)}),M.call(mKt).attr("transform",lg(k.x,-Ya.uplift))}).on("dragend",function(k){var M=rf.select(this),T=k.calcdata;k.x=k.xScale(k),k.calcdata.columnDragInProgress=!1,EZe(M,k,0),kKt(t,T,T.columns.map(function(L){return L.xIndex}))})),u.each(function(k){w$.setClipUrl(rf.select(this),SZe(t,k),t)});var c=u.selectAll("."+Ya.cn.columnBlock).data(CZe.splitToPanels,Uu.keyFun);c.enter().append("g").classed(Ya.cn.columnBlock,!0).attr("id",function(k){return k.key}),c.style("cursor",function(k){return k.dragHandle?"ew-resize":k.calcdata.scrollbarState.barWiggleRoom?"ns-resize":"default"});var f=c.filter(CKt),h=c.filter(E$);n&&h.call(rf.behavior.drag().origin(function(k){return rf.event.stopPropagation(),k}).on("drag",j7(t,a,-1)).on("dragend",function(){})),T$(t,a,f,c),T$(t,a,h,c);var d=a.selectAll("."+Ya.cn.scrollAreaClip).data(Uu.repeat,Uu.keyFun);d.enter().append("clipPath").classed(Ya.cn.scrollAreaClip,!0).attr("id",function(k){return AZe(t,k)});var v=d.selectAll("."+Ya.cn.scrollAreaClipRect).data(Uu.repeat,Uu.keyFun);v.enter().append("rect").classed(Ya.cn.scrollAreaClipRect,!0).attr("x",-Ya.overdrag).attr("y",-Ya.uplift).attr("fill","none"),v.attr("width",function(k){return k.width+2*Ya.overdrag}).attr("height",function(k){return k.height+Ya.uplift});var m=u.selectAll("."+Ya.cn.columnBoundary).data(Uu.repeat,Uu.keyFun);m.enter().append("g").classed(Ya.cn.columnBoundary,!0);var b=u.selectAll("."+Ya.cn.columnBoundaryClippath).data(Uu.repeat,Uu.keyFun);b.enter().append("clipPath").classed(Ya.cn.columnBoundaryClippath,!0),b.attr("id",function(k){return SZe(t,k)});var p=b.selectAll("."+Ya.cn.columnBoundaryRect).data(Uu.repeat,Uu.keyFun);p.enter().append("rect").classed(Ya.cn.columnBoundaryRect,!0).attr("fill","none"),p.attr("width",function(k){return k.columnWidth+2*H7(k)}).attr("height",function(k){return k.calcdata.height+2*H7(k)+Ya.uplift}).attr("x",function(k){return-H7(k)}).attr("y",function(k){return-H7(k)}),k$(null,h,a)};function H7(e){return Math.ceil(e.calcdata.maxLineWidth/2)}function AZe(e,t){return"clip"+e._fullLayout._uid+"_scrollAreaBottomClip_"+t.key}function SZe(e,t){return"clip"+e._fullLayout._uid+"_columnBoundaryClippath_"+t.calcdata.key+"_"+t.specIndex}function LZe(e){return[].concat.apply([],e.map(function(t){return t})).map(function(t){return t.__data__})}function dC(e,t,r){function n(u){var c=u.rowBlocks;return S$(c,c.length-1)+(c.length?W7(c[c.length-1],1/0):1)}var i=e.selectAll("."+Ya.cn.scrollbarKit).data(Uu.repeat,Uu.keyFun);i.enter().append("g").classed(Ya.cn.scrollbarKit,!0).style("shape-rendering","geometricPrecision"),i.each(function(u){var c=u.scrollbarState;c.totalHeight=n(u),c.scrollableAreaHeight=u.groupHeight-A$(u),c.currentlyVisibleHeight=Math.min(c.totalHeight,c.scrollableAreaHeight),c.ratio=c.currentlyVisibleHeight/c.totalHeight,c.barLength=Math.max(c.ratio*c.currentlyVisibleHeight,Ya.goldenRatio*Ya.scrollbarWidth),c.barWiggleRoom=c.currentlyVisibleHeight-c.barLength,c.wiggleRoom=Math.max(0,c.totalHeight-c.scrollableAreaHeight),c.topY=c.barWiggleRoom===0?0:u.scrollY/c.wiggleRoom*c.barWiggleRoom,c.bottomY=c.topY+c.barLength,c.dragMultiplier=c.wiggleRoom/c.barWiggleRoom}).attr("transform",function(u){var c=u.width+Ya.scrollbarWidth/2+Ya.scrollbarOffset;return lg(c,A$(u))});var a=i.selectAll("."+Ya.cn.scrollbar).data(Uu.repeat,Uu.keyFun);a.enter().append("g").classed(Ya.cn.scrollbar,!0);var o=a.selectAll("."+Ya.cn.scrollbarSlider).data(Uu.repeat,Uu.keyFun);o.enter().append("g").classed(Ya.cn.scrollbarSlider,!0),o.attr("transform",function(u){return lg(0,u.scrollbarState.topY||0)});var s=o.selectAll("."+Ya.cn.scrollbarGlyph).data(Uu.repeat,Uu.keyFun);s.enter().append("line").classed(Ya.cn.scrollbarGlyph,!0).attr("stroke","black").attr("stroke-width",Ya.scrollbarWidth).attr("stroke-linecap","round").attr("y1",Ya.scrollbarWidth/2),s.attr("y2",function(u){return u.scrollbarState.barLength-Ya.scrollbarWidth/2}).attr("stroke-opacity",function(u){return u.columnDragInProgress||!u.scrollbarState.barWiggleRoom||r?0:.4}),s.transition().delay(0).duration(0),s.transition().delay(Ya.scrollbarHideDelay).duration(Ya.scrollbarHideDuration).attr("stroke-opacity",0);var l=a.selectAll("."+Ya.cn.scrollbarCaptureZone).data(Uu.repeat,Uu.keyFun);l.enter().append("line").classed(Ya.cn.scrollbarCaptureZone,!0).attr("stroke","white").attr("stroke-opacity",.01).attr("stroke-width",Ya.scrollbarCaptureWidth).attr("stroke-linecap","butt").attr("y1",0).on("mousedown",function(u){var c=rf.event.y,f=this.getBoundingClientRect(),h=u.scrollbarState,d=c-f.top,v=rf.scale.linear().domain([0,h.scrollableAreaHeight]).range([0,h.totalHeight]).clamp(!0);h.topY<=d&&d<=h.bottomY||j7(t,e,null,v(d-h.barLength/2))(u)}).call(rf.behavior.drag().origin(function(u){return rf.event.stopPropagation(),u.scrollbarState.scrollbarScrollInProgress=!0,u}).on("drag",j7(t,e)).on("dragend",function(){})),l.attr("y2",function(u){return u.scrollbarState.scrollableAreaHeight}),t._context.staticPlot&&(s.remove(),l.remove())}function T$(e,t,r,n){var i=_Kt(r),a=xKt(i);AKt(a);var o=bKt(a);MKt(o);var s=TKt(a),l=wKt(s);SKt(l),PZe(l,t,n,e),C$(a)}function _Kt(e){var t=e.selectAll("."+Ya.cn.columnCells).data(Uu.repeat,Uu.keyFun);return t.enter().append("g").classed(Ya.cn.columnCells,!0),t.exit().remove(),t}function xKt(e){var t=e.selectAll("."+Ya.cn.columnCell).data(CZe.splitToCells,function(r){return r.keyWithinBlock});return t.enter().append("g").classed(Ya.cn.columnCell,!0),t.exit().remove(),t}function bKt(e){var t=e.selectAll("."+Ya.cn.cellRect).data(Uu.repeat,function(r){return r.keyWithinBlock});return t.enter().append("rect").classed(Ya.cn.cellRect,!0),t}function wKt(e){var t=e.selectAll("."+Ya.cn.cellText).data(Uu.repeat,function(r){return r.keyWithinBlock});return t.enter().append("text").classed(Ya.cn.cellText,!0).style("cursor",function(){return"auto"}).on("mousedown",function(){rf.event.stopPropagation()}),t}function TKt(e){var t=e.selectAll("."+Ya.cn.cellTextHolder).data(Uu.repeat,function(r){return r.keyWithinBlock});return t.enter().append("g").classed(Ya.cn.cellTextHolder,!0).style("shape-rendering","geometricPrecision"),t}function AKt(e){e.each(function(t,r){var n=t.calcdata.cells.font,i=t.column.specIndex,a={size:Yv(n.size,i,r),color:Yv(n.color,i,r),family:Yv(n.family,i,r),weight:Yv(n.weight,i,r),style:Yv(n.style,i,r),variant:Yv(n.variant,i,r),textcase:Yv(n.textcase,i,r),lineposition:Yv(n.lineposition,i,r),shadow:Yv(n.shadow,i,r)};t.rowNumber=t.key,t.align=Yv(t.calcdata.cells.align,i,r),t.cellBorderWidth=Yv(t.calcdata.cells.line.width,i,r),t.font=a})}function SKt(e){e.each(function(t){w$.font(rf.select(this),t.font)})}function MKt(e){e.attr("width",function(t){return t.column.columnWidth}).attr("stroke-width",function(t){return t.cellBorderWidth}).each(function(t){var r=rf.select(this);TZe.stroke(r,Yv(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),TZe.fill(r,Yv(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}function PZe(e,t,r,n){e.text(function(i){var a=i.column.specIndex,o=i.rowNumber,s=i.value,l=typeof s=="string",u=l&&s.match(/
/i),c=!l||u;i.mayHaveMarkup=l&&s.match(/[<&>]/);var f=EKt(s);i.latex=f;var h=f?"":Yv(i.calcdata.cells.prefix,a,o)||"",d=f?"":Yv(i.calcdata.cells.suffix,a,o)||"",v=f?null:Yv(i.calcdata.cells.format,a,o)||null,m=h+(v?vKt(v)(i.value):i.value)+d,b;i.wrappingNeeded=!i.wrapped&&!c&&!f&&(b=MZe(m)),i.cellHeightMayIncrease=u||f||i.mayHaveMarkup||(b===void 0?MZe(m):b),i.needsConvertToTspans=i.mayHaveMarkup||i.wrappingNeeded||i.latex;var p;if(i.wrappingNeeded){var k=Ya.wrapSplitCharacter===" "?m.replace(/i&&n.push(a),i+=l}return n}function k$(e,t,r){var n=LZe(t)[0];if(n!==void 0){var i=n.rowBlocks,a=n.calcdata,o=S$(i,i.length),s=n.calcdata.groupHeight-A$(n),l=a.scrollY=Math.max(0,Math.min(o-s,a.scrollY)),u=LKt(i,l,s);u.length===1&&(u[0]===i.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),t.each(function(c,f){c.page=u[f],c.scrollY=l}),t.attr("transform",function(c){var f=S$(c.rowBlocks,c.page)-c.scrollY;return lg(0,f)}),e&&(kZe(e,r,t,u,n.prevPages,n,0),kZe(e,r,t,u,n.prevPages,n,1),dC(r,e))}}function j7(e,t,r,n){return function(a){var o=a.calcdata?a.calcdata:a,s=t.filter(function(f){return o.key===f.key}),l=r||o.scrollbarState.dragMultiplier,u=o.scrollY;o.scrollY=n===void 0?o.scrollY+l*rf.event.dy:n;var c=s.selectAll("."+Ya.cn.yColumn).selectAll("."+Ya.cn.columnBlock).filter(E$);return k$(e,c,s),o.scrollY===u}}function kZe(e,t,r,n,i,a,o){var s=n[o]!==i[o];s&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){var l=r.filter(function(u,c){return c===o&&n[c]!==i[c]});T$(e,t,l,r),i[o]=n[o]}))}function PKt(e,t,r,n){return function(){var a=rf.select(t.parentNode);a.each(function(o){var s=o.fragments;a.selectAll("tspan.line").each(function(m,b){s[b].width=this.getComputedTextLength()});var l=s[s.length-1].width,u=s.slice(0,-1),c=[],f,h,d=0,v=o.column.columnWidth-2*Ya.cellPad;for(o.value="";u.length;)f=u.shift(),h=f.width+l,d+h>v&&(o.value+=c.join(Ya.wrapSpacer)+Ya.lineBreaker,c=[],d=0),c.push(f.text),d+=h;d&&(o.value+=c.join(Ya.wrapSpacer)),o.wrapped=!0}),a.selectAll("tspan.line").remove(),PZe(a.select("."+Ya.cn.cellText),r,e,n),rf.select(t.parentNode.parentNode).call(C$)}}function IKt(e,t,r,n,i){return function(){if(!i.settledY){var o=rf.select(t.parentNode),s=M$(i),l=i.key-s.firstRowIndex,u=s.rows[l].rowHeight,c=i.cellHeightMayIncrease?t.parentNode.getBoundingClientRect().height+2*Ya.cellPad:u,f=Math.max(c,u),h=f-s.rows[l].rowHeight;h&&(s.rows[l].rowHeight=f,e.selectAll("."+Ya.cn.columnCell).call(C$),k$(null,e.filter(E$),0),dC(r,n,!0)),o.attr("transform",function(){var d=this,v=d.parentNode,m=v.getBoundingClientRect(),b=rf.select(d.parentNode).select("."+Ya.cn.cellRect).node().getBoundingClientRect(),p=d.transform.baseVal.consolidate(),k=b.top-m.top+(p?p.matrix.f:Ya.cellPad);return lg(IZe(i,rf.select(d.parentNode).select("."+Ya.cn.cellTextHolder).node().getBoundingClientRect().width),k)}),i.settledY=!0}}}function IZe(e,t){switch(e.align){case"left":return Ya.cellPad;case"right":return e.column.columnWidth-(t||0)-Ya.cellPad;case"center":return(e.column.columnWidth-(t||0))/2;default:return Ya.cellPad}}function C$(e){e.attr("transform",function(t){var r=t.rowBlocks[0].auxiliaryBlocks.reduce(function(o,s){return o+W7(s,1/0)},0),n=M$(t),i=W7(n,t.key),a=i+r;return lg(0,a)}).selectAll("."+Ya.cn.cellRect).attr("height",function(t){return DKt(M$(t),t.key).rowHeight})}function S$(e,t){for(var r=0,n=t-1;n>=0;n--)r+=RKt(e[n]);return r}function W7(e,t){for(var r=0,n=0;n{"use strict";var FKt=Id().getModuleCalcData,zKt=L$(),X7="table";Z7.name=X7;Z7.plot=function(e){var t=FKt(e.calcdata,X7)[0];t.length&&zKt(e,t)};Z7.clean=function(e,t,r,n){var i=n._has&&n._has(X7),a=t._has&&t._has(X7);i&&!a&&n._paperdiv.selectAll(".table").remove()}});var zZe=ye((X2r,FZe)=>{"use strict";FZe.exports={attributes:v$(),supplyDefaults:uZe(),calc:fZe(),plot:L$(),moduleType:"trace",name:"table",basePlotModule:DZe(),categories:["noOpacity"],meta:{}}});var OZe=ye((Z2r,qZe)=>{"use strict";qZe.exports=zZe()});var GZe=ye((Y2r,VZe)=>{"use strict";var BZe=ec(),NZe=Ih(),P$=Rd(),qKt=vf().descriptionWithDates,OKt=mc().overrideAll,UZe=Pd().dash,I$=Ao().extendFlat;VZe.exports={color:{valType:"color",editType:"calc"},smoothing:{valType:"number",dflt:1,min:0,max:1.3,editType:"calc"},title:{text:{valType:"string",dflt:"",editType:"calc"},font:BZe({editType:"calc"}),offset:{valType:"number",dflt:10,editType:"calc"},editType:"calc"},type:{valType:"enumerated",values:["-","linear","date","category"],dflt:"-",editType:"calc"},autotypenumbers:P$.autotypenumbers,autorange:{valType:"enumerated",values:[!0,!1,"reversed"],dflt:!0,editType:"calc"},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"calc"},range:{valType:"info_array",editType:"calc",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}]},fixedrange:{valType:"boolean",dflt:!1,editType:"calc"},cheatertype:{valType:"enumerated",values:["index","value"],dflt:"value",editType:"calc"},tickmode:{valType:"enumerated",values:["linear","array"],dflt:"array",editType:"calc"},nticks:{valType:"integer",min:0,dflt:0,editType:"calc"},tickvals:{valType:"data_array",editType:"calc"},ticktext:{valType:"data_array",editType:"calc"},showticklabels:{valType:"enumerated",values:["start","end","both","none"],dflt:"start",editType:"calc"},labelalias:I$({},P$.labelalias,{editType:"calc"}),tickfont:BZe({editType:"calc"}),tickangle:{valType:"angle",dflt:"auto",editType:"calc"},tickprefix:{valType:"string",dflt:"",editType:"calc"},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},ticksuffix:{valType:"string",dflt:"",editType:"calc"},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B","SI extended"],dflt:"B",editType:"calc"},minexponent:{valType:"number",dflt:3,min:0,editType:"calc"},separatethousands:{valType:"boolean",dflt:!1,editType:"calc"},tickformat:{valType:"string",dflt:"",editType:"calc",description:qKt("tick label")},tickformatstops:OKt(P$.tickformatstops,"calc","from-root"),categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},labelpadding:{valType:"integer",dflt:10,editType:"calc"},labelprefix:{valType:"string",editType:"calc"},labelsuffix:{valType:"string",dflt:"",editType:"calc"},showline:{valType:"boolean",dflt:!1,editType:"calc"},linecolor:{valType:"color",dflt:NZe.defaultLine,editType:"calc"},linewidth:{valType:"number",min:0,dflt:1,editType:"calc"},gridcolor:{valType:"color",editType:"calc"},gridwidth:{valType:"number",min:0,dflt:1,editType:"calc"},griddash:I$({},UZe,{editType:"calc"}),showgrid:{valType:"boolean",dflt:!0,editType:"calc"},minorgridcount:{valType:"integer",min:0,dflt:0,editType:"calc"},minorgridwidth:{valType:"number",min:0,dflt:1,editType:"calc"},minorgriddash:I$({},UZe,{editType:"calc"}),minorgridcolor:{valType:"color",dflt:NZe.lightLine,editType:"calc"},startline:{valType:"boolean",editType:"calc"},startlinecolor:{valType:"color",editType:"calc"},startlinewidth:{valType:"number",dflt:1,editType:"calc"},endline:{valType:"boolean",editType:"calc"},endlinewidth:{valType:"number",dflt:1,editType:"calc"},endlinecolor:{valType:"color",editType:"calc"},tick0:{valType:"number",min:0,dflt:0,editType:"calc"},dtick:{valType:"number",min:0,dflt:1,editType:"calc"},arraytick0:{valType:"integer",min:0,dflt:0,editType:"calc"},arraydtick:{valType:"integer",min:1,dflt:1,editType:"calc"},editType:"calc"}});var K7=ye((K2r,WZe)=>{"use strict";var BKt=ec(),HZe=GZe(),jZe=Ih(),Y7=BKt({editType:"calc"}),NKt=pf().zorder;Y7.family.dflt='"Open Sans", verdana, arial, sans-serif';Y7.size.dflt=12;Y7.color.dflt=jZe.defaultLine;WZe.exports={carpet:{valType:"string",editType:"calc"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},a:{valType:"data_array",editType:"calc"},a0:{valType:"number",dflt:0,editType:"calc"},da:{valType:"number",dflt:1,editType:"calc"},b:{valType:"data_array",editType:"calc"},b0:{valType:"number",dflt:0,editType:"calc"},db:{valType:"number",dflt:1,editType:"calc"},cheaterslope:{valType:"number",dflt:1,editType:"calc"},aaxis:HZe,baxis:HZe,font:Y7,color:{valType:"color",dflt:jZe.defaultLine,editType:"plot"},zorder:NKt}});var YZe=ye((J2r,ZZe)=>{"use strict";var XZe=Pr().isArray1D;ZZe.exports=function(t,r,n){var i=n("x"),a=i&&i.length,o=n("y"),s=o&&o.length;if(!a&&!s)return!1;if(r._cheater=!i,(!a||XZe(i))&&(!s||XZe(o))){var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),r.a&&r.a.length&&(l=Math.min(l,r.a.length)),r.b&&r.b.length&&(l=Math.min(l,r.b.length)),r._length=l}else r._length=null;return!0}});var $Ze=ye(($2r,JZe)=>{"use strict";var UKt=K7(),KZe=ka().addOpacity,VKt=Oa(),vC=Pr(),GKt=Pb(),HKt=s_(),jKt=l_(),WKt=fI(),XKt=xm(),ZKt=H3();JZe.exports=function(t,r,n){var i=n.letter,a=n.font||{},o=UKt[i+"axis"];function s(g,P){return vC.coerce(t,r,o,g,P)}function l(g,P){return vC.coerce2(t,r,o,g,P)}n.name&&(r._name=n.name,r._id=n.name),s("autotypenumbers",n.autotypenumbersDflt);var u=s("type");if(u==="-"&&(n.data&&YKt(r,n.data),r.type==="-"?r.type="linear":u=t.type=r.type),s("smoothing"),s("cheatertype"),s("showticklabels"),s("labelprefix",i+" = "),s("labelsuffix"),s("showtickprefix"),s("showticksuffix"),s("separatethousands"),s("tickformat"),s("exponentformat"),s("minexponent"),s("showexponent"),s("categoryorder"),s("tickmode"),s("tickvals"),s("ticktext"),s("tick0"),s("dtick"),r.tickmode==="array"&&(s("arraytick0"),s("arraydtick")),s("labelpadding"),r._hovertitle=i,u==="date"){var c=VKt.getComponentMethod("calendars","handleDefaults");c(t,r,"calendar",n.calendar)}XKt(r,n.fullLayout),r.c2p=vC.identity;var f=s("color",n.dfltColor),h=f===t.color?f:a.color,d=s("title.text");d&&(vC.coerceFont(s,"title.font",a,{overrideDflt:{size:vC.bigFont(a.size),color:h}}),s("title.offset")),s("tickangle");var v=s("autorange",!r.isValidRange(t.range));v&&s("rangemode"),s("range"),r.cleanRange(),s("fixedrange"),GKt(t,r,s,u),jKt(t,r,s,u,n),HKt(t,r,s,u,n),WKt(t,r,s,{data:n.data,dataAttr:i});var m=l("gridcolor",KZe(f,.3)),b=l("gridwidth"),p=l("griddash"),k=s("showgrid");k||(delete r.gridcolor,delete r.gridwidth,delete r.griddash);var M=l("startlinecolor",f),T=l("startlinewidth",b),L=s("startline",r.showgrid||!!M||!!T);L||(delete r.startlinecolor,delete r.startlinewidth);var x=l("endlinecolor",f),C=l("endlinewidth",b),S=s("endline",r.showgrid||!!x||!!C);return S||(delete r.endlinecolor,delete r.endlinewidth),k?(s("minorgridcount"),s("minorgridwidth",b),s("minorgriddash",p),s("minorgridcolor",KZe(m,.06)),r.minorgridcount||(delete r.minorgridwidth,delete r.minorgriddash,delete r.minorgridcolor)):(delete r.gridcolor,delete r.gridwidth,delete r.griddash),r.showticklabels==="none"&&(delete r.tickfont,delete r.tickangle,delete r.showexponent,delete r.exponentformat,delete r.minexponent,delete r.tickformat,delete r.showticksuffix,delete r.showtickprefix),r.showticksuffix||delete r.ticksuffix,r.showtickprefix||delete r.tickprefix,s("tickmode"),r};function YKt(e,t){if(e.type==="-"){var r=e._id,n=r.charAt(0),i=n+"calendar",a=e[i];e.type=ZKt(t,a,{autotypenumbers:e.autotypenumbers})}}});var eYe=ye((Q2r,QZe)=>{"use strict";var KKt=$Ze(),JKt=vl();QZe.exports=function(t,r,n,i,a){var o=i("a");o||(i("da"),i("a0"));var s=i("b");s||(i("db"),i("b0")),$Kt(t,r,n,a)};function $Kt(e,t,r,n){var i=["aaxis","baxis"];i.forEach(function(a){var o=a.charAt(0),s=e[a]||{},l=JKt.newContainer(t,a),u={noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,noTicklabelstep:!0,tickfont:"x",id:o+"axis",letter:o,font:t.font,name:a,data:e[o],calendar:t.calendar,dfltColor:n,bgColor:r.paper_bgcolor,autotypenumbersDflt:r.autotypenumbers,fullLayout:r};KKt(s,l,u),l._categories=l._categories||[],!e[a]&&s.type!=="-"&&(e[a]={type:s.type})})}});var iYe=ye((ewr,rYe)=>{"use strict";var tYe=Pr(),QKt=YZe(),eJt=eYe(),tJt=K7(),rJt=Ih();rYe.exports=function(t,r,n,i){function a(l,u){return tYe.coerce(t,r,tJt,l,u)}r._clipPathId="clip"+r.uid+"carpet";var o=a("color",rJt.defaultLine);if(tYe.coerceFont(a,"font",i.font),a("carpet"),eJt(t,r,i,a,o),!r.a||!r.b){r.visible=!1;return}r.a.length<3&&(r.aaxis.smoothing=0),r.b.length<3&&(r.baxis.smoothing=0);var s=QKt(t,r,a);s||(r.visible=!1),r._cheater&&a("cheaterslope"),a("zorder")}});var R$=ye((twr,nYe)=>{"use strict";var iJt=Pr().isArrayOrTypedArray;nYe.exports=function(t,r,n){var i;for(iJt(t)?t.length>r.length&&(t=t.slice(0,r.length)):t=[],i=0;i{"use strict";aYe.exports=function(t,r,n){if(t.length===0)return"";var i,a=[],o=n?3:1;for(i=0;i{"use strict";oYe.exports=function(t,r,n,i,a,o){var s=a[0]*t.dpdx(r),l=a[1]*t.dpdy(n),u=1,c=1;if(o){var f=Math.sqrt(a[0]*a[0]+a[1]*a[1]),h=Math.sqrt(o[0]*o[0]+o[1]*o[1]),d=(a[0]*o[0]+a[1]*o[1])/f/h;c=Math.max(0,d)}var v=Math.atan2(l,s)*180/Math.PI;return v<-90?(v+=180,u=-u):v>90&&(v-=180,u=-u),{angle:v,flip:u,p:t.c2p(i,r,n),offsetMultplier:c}}});var pYe=ye((nwr,vYe)=>{"use strict";var e9=qa(),J7=So(),$7=R$(),cYe=D$(),pC=sYe(),F$=Zl(),Up=Pr(),fYe=Up.strRotate,Q7=Up.strTranslate,hYe=Dh();vYe.exports=function(t,r,n,i){var a=t._context.staticPlot,o=r.xaxis,s=r.yaxis,l=t._fullLayout,u=l._clips;Up.makeTraceGroups(i,n,"trace").each(function(c){var f=e9.select(this),h=c[0],d=h.trace,v=d.aaxis,m=d.baxis,b=Up.ensureSingle(f,"g","minorlayer"),p=Up.ensureSingle(f,"g","majorlayer"),k=Up.ensureSingle(f,"g","boundarylayer"),M=Up.ensureSingle(f,"g","labellayer");f.style("opacity",d.opacity),H5(o,s,p,v,"a",v._gridlines,!0,a),H5(o,s,p,m,"b",m._gridlines,!0,a),H5(o,s,b,v,"a",v._minorgridlines,!0,a),H5(o,s,b,m,"b",m._minorgridlines,!0,a),H5(o,s,k,v,"a-boundary",v._boundarylines,a),H5(o,s,k,m,"b-boundary",m._boundarylines,a);var T=lYe(t,o,s,d,h,M,v._labels,"a-label"),L=lYe(t,o,s,d,h,M,m._labels,"b-label");aJt(t,M,d,h,o,s,T,L),nJt(d,h,u,o,s)})};function nJt(e,t,r,n,i){var a,o,s,l,u=r.select("#"+e._clipPathId);u.size()||(u=r.append("clipPath").classed("carpetclip",!0));var c=Up.ensureSingle(u,"path","carpetboundary"),f=t.clipsegments,h=[];for(l=0;l0?"start":"end","data-notex":1}).call(J7.font,f.font).text(f.text).call(F$.convertToTspans,e),p=J7.bBox(this);b.attr("transform",Q7(d.p[0],d.p[1])+fYe(d.angle)+Q7(f.axis.labelpadding*m,p.height*.3)),u=Math.max(u,p.width+f.axis.labelpadding)}),l.exit().remove(),c.maxExtent=u,c}function aJt(e,t,r,n,i,a,o,s){var l,u,c,f,h=Up.aggNums(Math.min,null,r.a),d=Up.aggNums(Math.max,null,r.a),v=Up.aggNums(Math.min,null,r.b),m=Up.aggNums(Math.max,null,r.b);l=.5*(h+d),u=v,c=r.ab2xy(l,u,!0),f=r.dxyda_rough(l,u),o.angle===void 0&&Up.extendFlat(o,pC(r,i,a,c,r.dxydb_rough(l,u))),uYe(e,t,r,n,c,f,r.aaxis,i,a,o,"a-title"),l=h,u=.5*(v+m),c=r.ab2xy(l,u,!0),f=r.dxydb_rough(l,u),s.angle===void 0&&Up.extendFlat(s,pC(r,i,a,c,r.dxyda_rough(l,u))),uYe(e,t,r,n,c,f,r.baxis,i,a,s,"b-title")}var dYe=hYe.LINE_SPACING,oJt=(1-hYe.MID_SHIFT)/dYe+1;function uYe(e,t,r,n,i,a,o,s,l,u,c){var f=[];o.title.text&&f.push(o.title.text);var h=t.selectAll("text."+c).data(f),d=u.maxExtent;h.enter().append("text").classed(c,!0),h.each(function(){var v=pC(r,s,l,i,a);["start","both"].indexOf(o.showticklabels)===-1&&(d=0);var m=o.title.font.size;d+=m+o.title.offset;var b=u.angle+(u.flip<0?180:0),p=(b-v.angle+450)%360,k=p>90&&p<270,M=e9.select(this);M.text(o.title.text).call(F$.convertToTspans,e),k&&(d=(-F$.lineCount(M)+oJt)*dYe*m-d),M.attr("transform",Q7(v.p[0],v.p[1])+fYe(v.angle)+Q7(0,d)).attr("text-anchor","middle").call(J7.font,o.title.font)}),h.exit().remove()}});var mYe=ye((awr,gYe)=>{"use strict";var t9=Pr().isArrayOrTypedArray;gYe.exports=function(e,t,r){var n,i,a,o,s,l,u=[],c=t9(e)?e.length:e,f=t9(t)?t.length:t,h=t9(e)?e:null,d=t9(t)?t:null;h&&(a=(h.length-1)/(h[h.length-1]-h[0])/(c-1)),d&&(o=(d.length-1)/(d[d.length-1]-d[0])/(f-1));var v,m=1/0,b=-1/0;for(i=0;i{"use strict";var yYe=Pr().isArrayOrTypedArray;xYe.exports=function(e){return _Ye(e,0)};function _Ye(e,t){if(!yYe(e)||t>=10)return null;for(var r=1/0,n=-1/0,i=e.length,a=0;a{"use strict";var sJt=ho(),Ox=Ao().extendFlat;wYe.exports=function(t,r,n){var i,a,o,s,l,u,c,f,h,d,v,m,b,p,k=t["_"+r],M=t[r+"axis"],T=M._gridlines=[],L=M._minorgridlines=[],x=M._boundarylines=[],C=t["_"+n],S=t[n+"axis"];M.tickmode==="array"&&(M.tickvals=k.slice());var g=t._xctrl,P=t._yctrl,E=g[0].length,z=g.length,q=t._a.length,V=t._b.length;sJt.prepTicks(M),M.tickmode==="array"&&delete M.tickvals;var G=M.smoothing?3:1;function Z(N){var H,ie,ae,_e,Ee,Ce,ge,re,Se,ke,be,Be,Le=[],me=[],Pe={};if(r==="b")for(ie=t.b2j(N),ae=Math.floor(Math.max(0,Math.min(V-2,ie))),_e=ie-ae,Pe.length=V,Pe.crossLength=q,Pe.xy=function(ce){return t.evalxy([],ce,ie)},Pe.dxy=function(ce,He){return t.dxydi([],ce,ae,He,_e)},H=0;H0&&(Se=t.dxydi([],H-1,ae,0,_e),Le.push(Ee[0]+Se[0]/3),me.push(Ee[1]+Se[1]/3),ke=t.dxydi([],H-1,ae,1,_e),Le.push(re[0]-ke[0]/3),me.push(re[1]-ke[1]/3)),Le.push(re[0]),me.push(re[1]),Ee=re;else for(H=t.a2i(N),Ce=Math.floor(Math.max(0,Math.min(q-2,H))),ge=H-Ce,Pe.length=q,Pe.crossLength=V,Pe.xy=function(ce){return t.evalxy([],H,ce)},Pe.dxy=function(ce,He){return t.dxydj([],Ce,ce,ge,He)},ie=0;ie0&&(be=t.dxydj([],Ce,ie-1,ge,0),Le.push(Ee[0]+be[0]/3),me.push(Ee[1]+be[1]/3),Be=t.dxydj([],Ce,ie-1,ge,1),Le.push(re[0]-Be[0]/3),me.push(re[1]-Be[1]/3)),Le.push(re[0]),me.push(re[1]),Ee=re;return Pe.axisLetter=r,Pe.axis=M,Pe.crossAxis=S,Pe.value=N,Pe.constvar=n,Pe.index=f,Pe.x=Le,Pe.y=me,Pe.smoothing=S.smoothing,Pe}function j(N){var H,ie,ae,_e,Ee,Ce=[],ge=[],re={};if(re.length=k.length,re.crossLength=C.length,r==="b")for(ae=Math.max(0,Math.min(V-2,N)),Ee=Math.min(1,Math.max(0,N-ae)),re.xy=function(Se){return t.evalxy([],Se,N)},re.dxy=function(Se,ke){return t.dxydi([],Se,ae,ke,Ee)},H=0;Hk.length-1)&&T.push(Ox(j(a),{color:M.gridcolor,width:M.gridwidth,dash:M.griddash}));for(f=u;fk.length-1)&&!(v<0||v>k.length-1))for(m=k[o],b=k[v],i=0;ik[k.length-1])&&L.push(Ox(Z(d),{color:M.minorgridcolor,width:M.minorgridwidth,dash:M.minorgriddash})));M.startline&&x.push(Ox(j(0),{color:M.startlinecolor,width:M.startlinewidth})),M.endline&&x.push(Ox(j(k.length-1),{color:M.endlinecolor,width:M.endlinewidth}))}else{for(s=5e-15,l=[Math.floor((k[k.length-1]-M.tick0)/M.dtick*(1+s)),Math.ceil((k[0]-M.tick0)/M.dtick/(1+s))].sort(function(N,H){return N-H}),u=l[0],c=l[1],f=u;f<=c;f++)h=M.tick0+M.dtick*f,T.push(Ox(Z(h),{color:M.gridcolor,width:M.gridwidth,dash:M.griddash}));for(f=u-1;fk[k.length-1])&&L.push(Ox(Z(d),{color:M.minorgridcolor,width:M.minorgridwidth,dash:M.minorgriddash}));M.startline&&x.push(Ox(Z(k[0]),{color:M.startlinecolor,width:M.startlinewidth})),M.endline&&x.push(Ox(Z(k[k.length-1]),{color:M.endlinecolor,width:M.endlinewidth}))}}});var EYe=ye((lwr,MYe)=>{"use strict";var AYe=ho(),SYe=Ao().extendFlat;MYe.exports=function(t,r){var n,i,a,o,s,l=r._labels=[],u=r._gridlines;for(n=0;n{"use strict";kYe.exports=function(t,r,n,i){var a,o,s,l=[],u=!!n.smoothing,c=!!i.smoothing,f=t[0].length-1,h=t.length-1;for(a=0,o=[],s=[];a<=f;a++)o[a]=t[0][a],s[a]=r[0][a];for(l.push({x:o,y:s,bicubic:u}),a=0,o=[],s=[];a<=h;a++)o[a]=t[a][f],s[a]=r[a][f];for(l.push({x:o,y:s,bicubic:c}),a=f,o=[],s=[];a>=0;a--)o[f-a]=t[h][a],s[f-a]=r[h][a];for(l.push({x:o,y:s,bicubic:u}),a=h,o=[],s=[];a>=0;a--)o[h-a]=t[a][0],s[h-a]=r[a][0];return l.push({x:o,y:s,bicubic:c}),l}});var PYe=ye((cwr,LYe)=>{"use strict";var lJt=Pr();LYe.exports=function(t,r,n){var i,a,o,s=[],l=[],u=t[0].length,c=t.length;function f(ae,_e){var Ee=0,Ce,ge=0;return ae>0&&(Ce=t[_e][ae-1])!==void 0&&(ge++,Ee+=Ce),ae0&&(Ce=t[_e-1][ae])!==void 0&&(ge++,Ee+=Ce),_e0&&a0&&iS);return lJt.log("Smoother converged to",g,"after",E,"iterations"),t}});var RYe=ye((fwr,IYe)=>{"use strict";IYe.exports={RELATIVE_CULL_TOLERANCE:1e-6}});var zYe=ye((hwr,FYe)=>{"use strict";var DYe=.5;FYe.exports=function(t,r,n,i){var a=t[0]-r[0],o=t[1]-r[1],s=n[0]-r[0],l=n[1]-r[1],u=Math.pow(a*a+o*o,DYe/2),c=Math.pow(s*s+l*l,DYe/2),f=(c*c*a-u*u*s)*i,h=(c*c*o-u*u*l)*i,d=c*(u+c)*3,v=u*(u+c)*3;return[[r[0]+(d&&f/d),r[1]+(d&&h/d)],[r[0]-(v&&f/v),r[1]-(v&&h/v)]]}});var OYe=ye((dwr,qYe)=>{"use strict";var z$=zYe(),r9=Pr().ensureArray;function j5(e,t,r){var n=-.5*r[0]+1.5*t[0],i=-.5*r[1]+1.5*t[1];return[(2*n+e[0])/3,(2*i+e[1])/3]}qYe.exports=function(t,r,n,i,a,o){var s,l,u,c,f,h,d,v,m,b,p=n[0].length,k=n.length,M=a?3*p-2:p,T=o?3*k-2:k;for(t=r9(t,T),r=r9(r,T),u=0;u{"use strict";BYe.exports=function(e,t,r,n,i){var a=t-2,o=r-2;return n&&i?function(s,l,u){s||(s=[]);var c,f,h,d,v,m,b=Math.max(0,Math.min(Math.floor(l),a)),p=Math.max(0,Math.min(Math.floor(u),o)),k=Math.max(0,Math.min(1,l-b)),M=Math.max(0,Math.min(1,u-p));b*=3,p*=3;var T=k*k,L=T*k,x=1-k,C=x*x,S=C*x,g=M*M,P=g*M,E=1-M,z=E*E,q=z*E;for(m=0;m{"use strict";UYe.exports=function(e,t,r){return t&&r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;i*=3,a*=3;var v=o*o,m=1-o,b=m*m,p=m*o*2,k=-3*b,M=3*(b-p),T=3*(p-v),L=3*v,x=s*s,C=x*s,S=1-s,g=S*S,P=g*S;for(d=0;d{"use strict";GYe.exports=function(e,t,r){return t&&r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;i*=3,a*=3;var v=o*o,m=v*o,b=1-o,p=b*b,k=p*b,M=s*s,T=1-s,L=T*T,x=T*s*2,C=-3*L,S=3*(L-x),g=3*(x-M),P=3*M;for(d=0;d{"use strict";var jYe=RYe(),WYe=V6().findBin,uJt=OYe(),cJt=NYe(),fJt=VYe(),hJt=HYe();XYe.exports=function(t){var r=t._a,n=t._b,i=r.length,a=n.length,o=t.aaxis,s=t.baxis,l=r[0],u=r[i-1],c=n[0],f=n[a-1],h=r[r.length-1]-r[0],d=n[n.length-1]-n[0],v=h*jYe.RELATIVE_CULL_TOLERANCE,m=d*jYe.RELATIVE_CULL_TOLERANCE;l-=v,u+=v,c-=m,f+=m,t.isVisible=function(b,p){return b>l&&bc&&pu||pf},t.setScale=function(){var b=t._x,p=t._y,k=uJt(t._xctrl,t._yctrl,b,p,o.smoothing,s.smoothing);t._xctrl=k[0],t._yctrl=k[1],t.evalxy=cJt([t._xctrl,t._yctrl],i,a,o.smoothing,s.smoothing),t.dxydi=fJt([t._xctrl,t._yctrl],o.smoothing,s.smoothing),t.dxydj=hJt([t._xctrl,t._yctrl],o.smoothing,s.smoothing)},t.i2a=function(b){var p=Math.max(0,Math.floor(b[0]),i-2),k=b[0]-p;return(1-k)*r[p]+k*r[p+1]},t.j2b=function(b){var p=Math.max(0,Math.floor(b[1]),i-2),k=b[1]-p;return(1-k)*n[p]+k*n[p+1]},t.ij2ab=function(b){return[t.i2a(b[0]),t.j2b(b[1])]},t.a2i=function(b){var p=Math.max(0,Math.min(WYe(b,r),i-2)),k=r[p],M=r[p+1];return Math.max(0,Math.min(i-1,p+(b-k)/(M-k)))},t.b2j=function(b){var p=Math.max(0,Math.min(WYe(b,n),a-2)),k=n[p],M=n[p+1];return Math.max(0,Math.min(a-1,p+(b-k)/(M-k)))},t.ab2ij=function(b){return[t.a2i(b[0]),t.b2j(b[1])]},t.i2c=function(b,p){return t.evalxy([],b,p)},t.ab2xy=function(b,p,k){if(!k&&(br[i-1]|pn[a-1]))return[!1,!1];var M=t.a2i(b),T=t.b2j(p),L=t.evalxy([],M,T);if(k){var x=0,C=0,S=[],g,P,E,z;br[i-1]?(g=i-2,P=1,x=(b-r[i-1])/(r[i-1]-r[i-2])):(g=Math.max(0,Math.min(i-2,Math.floor(M))),P=M-g),pn[a-1]?(E=a-2,z=1,C=(p-n[a-1])/(n[a-1]-n[a-2])):(E=Math.max(0,Math.min(a-2,Math.floor(T))),z=T-E),x&&(t.dxydi(S,g,E,P,z),L[0]+=S[0]*x,L[1]+=S[1]*x),C&&(t.dxydj(S,g,E,P,z),L[0]+=S[0]*C,L[1]+=S[1]*C)}return L},t.c2p=function(b,p,k){return[p.c2p(b[0]),k.c2p(b[1])]},t.p2x=function(b,p,k){return[p.p2c(b[0]),k.p2c(b[1])]},t.dadi=function(b){var p=Math.max(0,Math.min(r.length-2,b));return r[p+1]-r[p]},t.dbdj=function(b){var p=Math.max(0,Math.min(n.length-2,b));return n[p+1]-n[p]},t.dxyda=function(b,p,k,M){var T=t.dxydi(null,b,p,k,M),L=t.dadi(b,k);return[T[0]/L,T[1]/L]},t.dxydb=function(b,p,k,M){var T=t.dxydj(null,b,p,k,M),L=t.dbdj(p,M);return[T[0]/L,T[1]/L]},t.dxyda_rough=function(b,p,k){var M=h*(k||.1),T=t.ab2xy(b+M,p,!0),L=t.ab2xy(b-M,p,!0);return[(T[0]-L[0])*.5/M,(T[1]-L[1])*.5/M]},t.dxydb_rough=function(b,p,k){var M=d*(k||.1),T=t.ab2xy(b,p+M,!0),L=t.ab2xy(b,p-M,!0);return[(T[0]-L[0])*.5/M,(T[1]-L[1])*.5/M]},t.dpdx=function(b){return b._m},t.dpdy=function(b){return b._m}}});var rKe=ye((ywr,tKe)=>{"use strict";var i9=ho(),YYe=Pr().isArray1D,dJt=mYe(),KYe=bYe(),JYe=TYe(),$Ye=EYe(),vJt=CYe(),QYe=c8(),eKe=PYe(),pJt=l8(),gJt=ZYe();tKe.exports=function(t,r){var n=i9.getFromId(t,r.xaxis),i=i9.getFromId(t,r.yaxis),a=r.aaxis,o=r.baxis,s=r.x,l=r.y,u=[];s&&YYe(s)&&u.push("x"),l&&YYe(l)&&u.push("y"),u.length&&pJt(r,a,o,"a","b",u);var c=r._a=r._a||r.a,f=r._b=r._b||r.b;s=r._x||r.x,l=r._y||r.y;var h={};if(r._cheater){var d=a.cheatertype==="index"?c.length:c,v=o.cheatertype==="index"?f.length:f;s=dJt(d,v,r.cheaterslope)}r._x=s=QYe(s),r._y=l=QYe(l),eKe(s,c,f),eKe(l,c,f),gJt(r),r.setScale();var m=KYe(s),b=KYe(l),p=.5*(m[1]-m[0]),k=.5*(m[1]+m[0]),M=.5*(b[1]-b[0]),T=.5*(b[1]+b[0]),L=1.3;return m=[k-p*L,k+p*L],b=[T-M*L,T+M*L],r._extremes[n._id]=i9.findExtremes(n,m,{padded:!0}),r._extremes[i._id]=i9.findExtremes(i,b,{padded:!0}),JYe(r,"a","b"),JYe(r,"b","a"),$Ye(r,a),$Ye(r,o),h.clipsegments=vJt(r._xctrl,r._yctrl,a,o),h.x=s,h.y=l,h.a=c,h.b=f,[h]}});var nKe=ye((_wr,iKe)=>{"use strict";iKe.exports={attributes:K7(),supplyDefaults:iYe(),plot:pYe(),calc:rKe(),animatable:!0,isContainer:!0,moduleType:"trace",name:"carpet",basePlotModule:mh(),categories:["cartesian","svg","carpet","carpetAxis","notLegendIsolatable","noMultiCategory","noHover","noSortingByValue"],meta:{}}});var oKe=ye((xwr,aKe)=>{"use strict";aKe.exports=nKe()});var q$=ye((bwr,cKe)=>{"use strict";var mJt=Pg(),c0=pf(),yJt=Gl(),{hovertemplateAttrs:_Jt,texttemplateAttrs:xJt,templatefallbackAttrs:sKe}=Ll(),lKe=Tu(),Bx=Ao().extendFlat,ug=c0.marker,W5=c0.line,uKe=ug.line;cKe.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:Bx({},c0.mode,{dflt:"markers"}),text:Bx({},c0.text,{}),texttemplate:xJt({editType:"plot"},{keys:["a","b","text"]}),texttemplatefallback:sKe({editType:"plot"}),hovertext:Bx({},c0.hovertext,{}),line:{color:W5.color,width:W5.width,dash:W5.dash,backoff:W5.backoff,shape:Bx({},W5.shape,{values:["linear","spline"]}),smoothing:W5.smoothing,editType:"calc"},connectgaps:c0.connectgaps,fill:Bx({},c0.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:mJt(),marker:Bx({symbol:ug.symbol,opacity:ug.opacity,maxdisplayed:ug.maxdisplayed,angle:ug.angle,angleref:ug.angleref,standoff:ug.standoff,size:ug.size,sizeref:ug.sizeref,sizemin:ug.sizemin,sizemode:ug.sizemode,line:Bx({width:uKe.width,dash:uKe.dash,editType:"calc"},lKe("marker.line")),gradient:ug.gradient,editType:"calc"},lKe("marker")),textfont:c0.textfont,textposition:c0.textposition,selected:c0.selected,unselected:c0.unselected,hoverinfo:Bx({},yJt.hoverinfo,{flags:["a","b","text","name"]}),hoveron:c0.hoveron,hovertemplate:_Jt(),hovertemplatefallback:sKe(),zorder:c0.zorder}});var vKe=ye((wwr,dKe)=>{"use strict";var fKe=Pr(),bJt=Pm(),X5=Ru(),wJt=$p(),TJt=D0(),hKe=uT(),AJt=F0(),SJt=Fg(),MJt=q$();dKe.exports=function(t,r,n,i){function a(h,d){return fKe.coerce(t,r,MJt,h,d)}a("carpet"),r.xaxis="x",r.yaxis="y";var o=a("a"),s=a("b"),l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a("text"),a("texttemplate"),a("texttemplatefallback"),a("hovertext");var u=l{"use strict";pKe.exports=function(t,r){var n={},i=r._carpet,a=i.ab2ij([t.a,t.b]),o=Math.floor(a[0]),s=a[0]-o,l=Math.floor(a[1]),u=a[1]-l,c=i.evalxy([],o,l,s,u);return n.yLabel=c[1].toFixed(3),n}});var n9=ye((Awr,mKe)=>{"use strict";mKe.exports=function(e,t){for(var r=e._fullData.length,n,i=0;i{"use strict";var yKe=Eo(),EJt=z0(),kJt=Dm(),CJt=q0(),LJt=O0().calcMarkerSize,PJt=n9();_Ke.exports=function(t,r){var n=r._carpetTrace=PJt(t,r);if(!(!n||!n.visible||n.visible==="legendonly")){var i;r.xaxis=n.xaxis,r.yaxis=n.yaxis;var a=r._length,o=new Array(a),s,l,u=!1;for(i=0;i{"use strict";var IJt=pT(),bKe=ho(),RJt=So();wKe.exports=function(t,r,n,i){var a,o,s,l=n[0][0].carpet,u=bKe.getFromId(t,l.xaxis||"x"),c=bKe.getFromId(t,l.yaxis||"y"),f={xaxis:u,yaxis:c,plot:r.plot};for(a=0;a{"use strict";var DJt=_T(),FJt=Pr().fillText;AKe.exports=function(t,r,n,i){var a=DJt(t,r,n,i);if(!a||a[0].index===!1)return;var o=a[0];if(o.index===void 0){var s=1-o.y0/t.ya._length,l=t.xa._length,u=l*s/2,c=l-u;return o.x0=Math.max(Math.min(o.x0,c),u),o.x1=Math.max(Math.min(o.x1,c),u),a}var f=o.cd[o.index];o.a=f.a,o.b=f.b,o.xLabelVal=void 0,o.yLabelVal=void 0;var h=o.trace,d=h._carpet,v=h._module.formatLabels(f,h);o.yLabel=v.yLabel,delete o.text;var m=[];function b(M,T){var L;M.labelprefix&&M.labelprefix.length>0?L=M.labelprefix.replace(/ = $/,""):L=M._hovertitle,m.push(L+": "+T.toFixed(3)+M.labelsuffix)}if(!h.hovertemplate){var p=f.hi||h.hoverinfo,k=p.split("+");k.indexOf("all")!==-1&&(k=["a","b","text"]),k.indexOf("a")!==-1&&b(d.aaxis,f.a),k.indexOf("b")!==-1&&b(d.baxis,f.b),m.push("y: "+o.yLabel),k.indexOf("text")!==-1&&FJt(f,h,m),o.extraText=m.join("
")}return a}});var EKe=ye((kwr,MKe)=>{"use strict";MKe.exports=function(t,r,n,i,a){var o=i[a];return t.a=o.a,t.b=o.b,t.y=o.y,t}});var CKe=ye((Cwr,kKe)=>{"use strict";kKe.exports={attributes:q$(),supplyDefaults:vKe(),colorbar:Qd(),formatLabels:gKe(),calc:xKe(),plot:TKe(),style:sp().style,styleOnSelect:sp().styleOnSelect,hoverPoints:SKe(),selectPoints:xT(),eventData:EKe(),moduleType:"trace",name:"scattercarpet",basePlotModule:mh(),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}});var PKe=ye((Lwr,LKe)=>{"use strict";LKe.exports=CKe()});var O$=ye((Pwr,IKe)=>{"use strict";var cg=qT(),T1=O4(),zJt=Tu(),qJt=Ao().extendFlat,uy=T1.contours;IKe.exports=qJt({carpet:{valType:"string",editType:"calc"},z:cg.z,a:cg.x,a0:cg.x0,da:cg.dx,b:cg.y,b0:cg.y0,db:cg.dy,text:cg.text,hovertext:cg.hovertext,transpose:cg.transpose,atype:cg.xtype,btype:cg.ytype,fillcolor:T1.fillcolor,autocontour:T1.autocontour,ncontours:T1.ncontours,contours:{type:uy.type,start:uy.start,end:uy.end,size:uy.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:uy.showlines,showlabels:uy.showlabels,labelfont:uy.labelfont,labelformat:uy.labelformat,operation:uy.operation,value:uy.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:T1.line.color,width:T1.line.width,dash:T1.line.dash,smoothing:T1.line.smoothing,editType:"plot"},zorder:T1.zorder},zJt("",{cLetter:"z",autoColorDflt:!1}))});var B$=ye((Iwr,FKe)=>{"use strict";var RKe=Pr(),OJt=a8(),DKe=O$(),BJt=FG(),NJt=C8(),UJt=L8();FKe.exports=function(t,r,n,i){function a(u,c){return RKe.coerce(t,r,DKe,u,c)}function o(u){return RKe.coerce2(t,r,DKe,u)}if(a("carpet"),t.a&&t.b){var s=OJt(t,r,a,i,"a","b");if(!s){r.visible=!1;return}a("text");var l=a("contours.type")==="constraint";l?BJt(t,r,a,i,n,{hasHover:!1}):(NJt(t,r,a,o),UJt(t,r,a,i,{hasHover:!1}))}else r._defaultColor=n,r._length=null;a("zorder")}});var BKe=ye((Rwr,OKe)=>{"use strict";var VJt=gv(),zKe=Pr(),GJt=l8(),HJt=c8(),jJt=f8(),WJt=h8(),qKe=nG(),XJt=B$(),ZJt=n9(),YJt=TG();OKe.exports=function(t,r){var n=r._carpetTrace=ZJt(t,r);if(!(!n||!n.visible||n.visible==="legendonly")){if(!r.a||!r.b){var i=t.data[n.index],a=t.data[r.index];a.a||(a.a=i.a),a.b||(a.b=i.b),XJt(a,r,r._defaultColor,t._fullLayout)}var o=KJt(t,r);return YJt(r,r._z),o}};function KJt(e,t){var r=t._carpetTrace,n=r.aaxis,i=r.baxis,a,o,s,l,u,c,f;n._minDtick=0,i._minDtick=0,zKe.isArray1D(t.z)&&GJt(t,n,i,"a","b",["z"]),a=t._a=t._a||t.a,l=t._b=t._b||t.b,a=a?n.makeCalcdata(t,"_a"):[],l=l?i.makeCalcdata(t,"_b"):[],o=t.a0||0,s=t.da||1,u=t.b0||0,c=t.db||1,f=t._z=HJt(t._z||t.z,t.transpose),t._emptypoints=WJt(f),jJt(f,t._emptypoints);var h=zKe.maxRowLength(f),d=t.xtype==="scaled"?"":a,v=qKe(t,d,o,s,h,n),m=t.ytype==="scaled"?"":l,b=qKe(t,m,u,c,f.length,i),p={a:v,b,z:f};return t.contours.type==="levels"&&t.contours.coloring!=="none"&&VJt(e,t,{vals:f,containerStr:"",cLetter:"z"}),[p]}});var UKe=ye((Dwr,NKe)=>{"use strict";var JJt=Pr().isArrayOrTypedArray;NKe.exports=function(e,t,r,n){var i,a,o,s,l,u,c,f,h,d,v,m,b,p=JJt(r)?"a":"b",k=p==="a"?e.aaxis:e.baxis,M=k.smoothing,T=p==="a"?e.a2i:e.b2j,L=p==="a"?r:n,x=p==="a"?n:r,C=p==="a"?t.a.length:t.b.length,S=p==="a"?t.b.length:t.a.length,g=Math.floor(p==="a"?e.b2j(x):e.a2i(x)),P=p==="a"?function(_e){return e.evalxy([],_e,g)}:function(_e){return e.evalxy([],g,_e)};M&&(o=Math.max(0,Math.min(S-2,g)),s=g-o,a=p==="a"?function(_e,Ee){return e.dxydi([],_e,o,Ee,s)}:function(_e,Ee){return e.dxydj([],o,_e,s,Ee)});var E=T(L[0]),z=T(L[1]),q=E0?Math.floor:Math.ceil,Z=q>0?Math.ceil:Math.floor,j=q>0?Math.min:Math.max,N=q>0?Math.max:Math.min,H=G(E+V),ie=Z(z-V);c=P(E);var ae=[[c]];for(i=H;i*q{"use strict";var o9=qa(),s9=R$(),WKe=D$(),gC=So(),A1=Pr(),$Jt=SG(),QJt=MG(),Sw=R8(),a9=N4(),e$t=LG(),t$t=CG(),r$t=PG(),i$t=n9(),VKe=UKe();XKe.exports=function(t,r,n,i){var a=r.xaxis,o=r.yaxis;A1.makeTraceGroups(i,n,"contour").each(function(s){var l=o9.select(this),u=s[0],c=u.trace,f=c._carpetTrace=i$t(t,c),h=t.calcdata[f.index][0];if(!f.visible||f.visible==="legendonly")return;var d=u.a,v=u.b,m=c.contours,b=t$t(m,r,u),p=m.type==="constraint",k=m._operation,M=p?k==="="?"lines":"fill":m.coloring;function T(G){var Z=f.ab2xy(G[0],G[1],!0);return[a.c2p(Z[0]),o.c2p(Z[1])]}var L=[[d[0],v[v.length-1]],[d[d.length-1],v[v.length-1]],[d[d.length-1],v[0]],[d[0],v[0]]];$Jt(b);var x=(d[d.length-1]-d[0])*1e-8,C=(v[v.length-1]-v[0])*1e-8;QJt(b,x,C);var S=b;m.type==="constraint"&&(S=e$t(b,k)),n$t(b,T);var g,P,E,z,q=[];for(z=h.clipsegments.length-1;z>=0;z--)g=h.clipsegments[z],P=s9([],g.x,a.c2p),E=s9([],g.y,o.c2p),P.reverse(),E.reverse(),q.push(WKe(P,E,g.bicubic));var V="M"+q.join("L")+"Z";s$t(l,h.clipsegments,a,o,p,M),l$t(c,l,a,o,S,L,T,f,h,M,V),a$t(l,b,t,u,m,r,f),gC.setClipUrl(l,f._clipPathId,t)})};function n$t(e,t){var r,n,i,a,o,s,l,u,c;for(r=0;rb&&(n.max=b),n.len=n.max-n.min}function GKe(e,t,r){var n=e.getPointAtLength(t),i=e.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function HKe(e){var t=Math.sqrt(e[0]*e[0]+e[1]*e[1]);return[e[0]/t,e[1]/t]}function jKe(e,t){var r=Math.abs(e[0]*t[0]+e[1]*t[1]),n=Math.sqrt(1-r*r);return n/r}function s$t(e,t,r,n,i,a){var o,s,l,u,c=A1.ensureSingle(e,"g","contourbg"),f=c.selectAll("path").data(a==="fill"&&!i?[0]:[]);f.enter().append("path"),f.exit().remove();var h=[];for(u=0;u=0&&(d=P,m=b):Math.abs(h[1]-d[1])=0&&(d=P,m=b):A1.log("endpt to newendpt is not vert. or horz.",h,d,P)}if(m>=0)break;u+=S(h,d),h=d}if(m===t.edgepaths.length){A1.log("unclosed perimeter path");break}l=m,f=c.indexOf(l)===-1,f&&(l=c[0],u+=S(h,d)+"Z",h=null)}for(l=0;l{"use strict";YKe.exports={attributes:O$(),supplyDefaults:B$(),colorbar:z8(),calc:BKe(),plot:ZKe(),style:F8(),moduleType:"trace",name:"contourcarpet",basePlotModule:mh(),categories:["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],meta:{}}});var $Ke=ye((qwr,JKe)=>{"use strict";JKe.exports=KKe()});var u9=ye((Owr,iJe)=>{"use strict";var l9=Pr().extendFlat,mC=pf(),QKe=vf().axisHoverFormat,{hovertemplateAttrs:c$t,templatefallbackAttrs:f$t}=Ll(),tJe=Pd().dash,h$t=g3(),rJe=QT(),d$t=rJe.INCREASING.COLOR,v$t=rJe.DECREASING.COLOR,N$=mC.line;function eJe(e){return{line:{color:l9({},N$.color,{dflt:e}),width:N$.width,dash:tJe,editType:"style"},editType:"style"}}iJe.exports={xperiod:mC.xperiod,xperiod0:mC.xperiod0,xperiodalignment:mC.xperiodalignment,xhoverformat:QKe("x"),yhoverformat:QKe("y"),x:{valType:"data_array",editType:"calc+clearAxisTypes"},open:{valType:"data_array",editType:"calc"},high:{valType:"data_array",editType:"calc"},low:{valType:"data_array",editType:"calc"},close:{valType:"data_array",editType:"calc"},line:{width:l9({},N$.width,{}),dash:l9({},tJe,{}),editType:"style"},increasing:eJe(d$t),decreasing:eJe(v$t),text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:c$t({},{keys:["open","high","low","close"]}),hovertemplatefallback:f$t(),tickwidth:{valType:"number",min:0,max:.5,dflt:.3,editType:"calc"},hoverlabel:l9({},h$t.hoverlabel,{split:{valType:"boolean",dflt:!1,editType:"style"}}),zorder:mC.zorder}});var U$=ye((Bwr,nJe)=>{"use strict";var p$t=Oa(),g$t=Pr();nJe.exports=function(t,r,n,i){var a=n("x"),o=n("open"),s=n("high"),l=n("low"),u=n("close");n("hoverlabel.split");var c=p$t.getComponentMethod("calendars","handleTraceDefaults");if(c(t,r,["x"],i),!!(o&&s&&l&&u)){var f=Math.min(o.length,s.length,l.length,u.length);return a&&(f=Math.min(f,g$t.minRowLength(a))),r._length=f,f}}});var sJe=ye((Nwr,oJe)=>{"use strict";var m$t=Pr(),y$t=U$(),_$t=Dg(),x$t=u9();oJe.exports=function(t,r,n,i){function a(s,l){return m$t.coerce(t,r,x$t,s,l)}var o=y$t(t,r,a,i);if(!o){r.visible=!1;return}_$t(t,r,i,a,{x:!0}),a("xhoverformat"),a("yhoverformat"),a("line.width"),a("line.dash"),aJe(t,r,a,"increasing"),aJe(t,r,a,"decreasing"),a("text"),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback"),a("tickwidth"),i._requestRangeslider[r.xaxis]=!0,a("zorder")};function aJe(e,t,r,n){r(n+".line.color"),r(n+".line.width",t.line.width),r(n+".line.dash",t.line.dash)}});var V$=ye((Uwr,uJe)=>{"use strict";var Z5=Pr(),c9=Z5._,f9=ho(),b$t=zg(),yC=fs().BADNUM;function w$t(e,t){var r=f9.getFromId(e,t.xaxis),n=f9.getFromId(e,t.yaxis),i=A$t(e,r,t),a=t._minDiff;t._minDiff=null;var o=t._origX;t._origX=null;var s=t._xcalc;t._xcalc=null;var l=lJe(e,t,o,s,n,T$t);return t._extremes[r._id]=f9.findExtremes(r,s,{vpad:a/2}),l.length?(Z5.extendFlat(l[0].t,{wHover:a/2,tickLen:i}),l):[{t:{empty:!0}}]}function T$t(e,t,r,n){return{o:e,h:t,l:r,c:n}}function lJe(e,t,r,n,i,a){for(var o=i.makeCalcdata(t,"open"),s=i.makeCalcdata(t,"high"),l=i.makeCalcdata(t,"low"),u=i.makeCalcdata(t,"close"),c=Z5.isArrayOrTypedArray(t.text),f=Z5.isArrayOrTypedArray(t.hovertext),h=!0,d=null,v=!!t.xperiodalignment,m=[],b=0;bd):h=L>k,d=L;var x=a(k,M,T,L);x.pos=p,x.yc=(k+L)/2,x.i=b,x.dir=h?"increasing":"decreasing",x.x=x.pos,x.y=[T,M],v&&(x.orig_p=r[b]),c&&(x.tx=t.text[b]),f&&(x.htx=t.hovertext[b]),m.push(x)}else m.push({pos:p,empty:!0})}return t._extremes[i._id]=f9.findExtremes(i,Z5.concat(l,s),{padded:!0}),m.length&&(m[0].t={labels:{open:c9(e,"open:")+" ",high:c9(e,"high:")+" ",low:c9(e,"low:")+" ",close:c9(e,"close:")+" "}}),m}function A$t(e,t,r){var n=r._minDiff;if(!n){var i=e._fullData,a=[];n=1/0;var o;for(o=0;o{"use strict";var S$t=qa(),cJe=Pr();fJe.exports=function(t,r,n,i){var a=r.yaxis,o=r.xaxis,s=!!o.rangebreaks;cJe.makeTraceGroups(i,n,"trace ohlc").each(function(l){var u=S$t.select(this),c=l[0],f=c.t,h=c.trace;if(h.visible!==!0||f.empty){u.remove();return}var d=f.tickLen,v=u.selectAll("path").data(cJe.identity);v.enter().append("path"),v.exit().remove(),v.attr("d",function(m){if(m.empty)return"M0,0Z";var b=o.c2p(m.pos-d,!0),p=o.c2p(m.pos+d,!0),k=s?(b+p)/2:o.c2p(m.pos,!0),M=a.c2p(m.o,!0),T=a.c2p(m.h,!0),L=a.c2p(m.l,!0),x=a.c2p(m.c,!0);return"M"+b+","+M+"H"+k+"M"+k+","+T+"V"+L+"M"+p+","+x+"H"+k})})}});var vJe=ye((Gwr,dJe)=>{"use strict";var G$=qa(),M$t=So(),E$t=ka();dJe.exports=function(t,r,n){var i=n||G$.select(t).selectAll("g.ohlclayer").selectAll("g.trace");i.style("opacity",function(a){return a[0].trace.opacity}),i.each(function(a){var o=a[0].trace;G$.select(this).selectAll("path").each(function(s){if(!s.empty){var l=o[s.dir].line;G$.select(this).style("fill","none").call(E$t.stroke,l.color).call(M$t.dashLine,l.dash,l.width).style("opacity",o.selectedpoints&&!s.selected?.3:1)}})})}});var j$=ye((Hwr,_Je)=>{"use strict";var H$=ho(),k$t=Pr(),h9=ef(),C$t=ka(),L$t=Pr().fillText,pJe=QT(),P$t={increasing:pJe.INCREASING.SYMBOL,decreasing:pJe.DECREASING.SYMBOL};function I$t(e,t,r,n){var i=e.cd,a=i[0].trace;return a.hoverlabel.split?mJe(e,t,r,n):yJe(e,t,r,n)}function gJe(e,t,r,n){var i=e.cd,a=e.xa,o=i[0].trace,s=i[0].t,l=o.type,u=l==="ohlc"?"l":"min",c=l==="ohlc"?"h":"max",f,h,d=s.bPos||0,v=function(P){return P.pos+d-t},m=s.bdPos||s.tickLen,b=s.wHover,p=Math.min(1,m/Math.abs(a.r2c(a.range[1])-a.r2c(a.range[0])));f=e.maxHoverDistance-p,h=e.maxSpikeDistance-p;function k(P){var E=v(P);return h9.inbox(E-b,E+b,f)}function M(P){var E=P[u],z=P[c];return E===z||h9.inbox(E-r,z-r,f)}function T(P){return(k(P)+M(P))/2}var L=h9.getDistanceFunction(n,k,M,T);if(h9.getClosest(i,L,e),e.index===!1)return null;var x=i[e.index];if(x.empty)return null;var C=x.dir,S=o[C],g=S.line.color;return C$t.opacity(g)&&S.line.width?e.color=g:e.color=S.fillcolor,e.x0=a.c2p(x.pos+d-m,!0),e.x1=a.c2p(x.pos+d+m,!0),e.xLabelVal=x.orig_p!==void 0?x.orig_p:x.pos,e.spikeDistance=T(x)*h/f,e.xSpike=a.c2p(x.pos,!0),e}function mJe(e,t,r,n){var i=e.cd,a=e.ya,o=i[0].trace,s=i[0].t,l=[],u=gJe(e,t,r,n);if(!u)return[];var c=i[u.index],f=c.hi||o.hoverinfo||"";if(f==="none"||f==="skip")return[];for(var h=["high","open","close","low"],d={},v=0;v"+s.labels[m]+H$.hoverLabelText(a,b,o.yhoverformat)):(k=k$t.extendFlat({},u),k.y0=k.y1=p,k.yLabelVal=b,k.yLabel=s.labels[m]+H$.hoverLabelText(a,b,o.yhoverformat),k.name="",l.push(k),d[b]=k)}return l}function yJe(e,t,r,n){var i=e.cd,a=e.ya,o=i[0].trace,s=i[0].t,l=gJe(e,t,r,n);if(!l)return[];var u=l.index,c=i[u],f=l.index=c.i,h=c.dir;function d(T){return s.labels[T]+H$.hoverLabelText(a,o[T][f],o.yhoverformat)}var v=c.hi||o.hoverinfo||"",m=v.split("+"),b=v==="all",p=b||m.indexOf("y")!==-1,k=b||m.indexOf("text")!==-1,M=p?[d("open"),d("high"),d("low"),d("close")+" "+P$t[h]]:[];return k&&L$t(c,o,M),l.extraText=M.join("
"),l.y0=l.y1=a.c2p(c.yc,!0),[l]}_Je.exports={hoverPoints:I$t,hoverSplit:mJe,hoverOnPoints:yJe}});var W$=ye((jwr,xJe)=>{"use strict";xJe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l=n[0].t.bPos||0;if(r===!1)for(s=0;s{"use strict";bJe.exports={moduleType:"trace",name:"ohlc",basePlotModule:mh(),categories:["cartesian","svg","showLegend"],meta:{},attributes:u9(),supplyDefaults:sJe(),calc:V$().calc,plot:hJe(),style:vJe(),hoverPoints:j$().hoverPoints,selectPoints:W$()}});var AJe=ye((Xwr,TJe)=>{"use strict";TJe.exports=wJe()});var Z$=ye((Zwr,EJe)=>{"use strict";var X$=Pr().extendFlat,SJe=vf().axisHoverFormat,vp=u9(),Y5=C4();function MJe(e){return{line:{color:X$({},Y5.line.color,{dflt:e}),width:Y5.line.width,editType:"style"},fillcolor:Y5.fillcolor,editType:"style"}}EJe.exports={xperiod:vp.xperiod,xperiod0:vp.xperiod0,xperiodalignment:vp.xperiodalignment,xhoverformat:SJe("x"),yhoverformat:SJe("y"),x:vp.x,open:vp.open,high:vp.high,low:vp.low,close:vp.close,line:{width:X$({},Y5.line.width,{}),editType:"style"},increasing:MJe(vp.increasing.line.color.dflt),decreasing:MJe(vp.decreasing.line.color.dflt),text:vp.text,hovertext:vp.hovertext,hovertemplate:vp.hovertemplate,hovertemplatefallback:vp.hovertemplatefallback,whiskerwidth:X$({},Y5.whiskerwidth,{dflt:0}),hoverlabel:vp.hoverlabel,zorder:Y5.zorder}});var LJe=ye((Ywr,CJe)=>{"use strict";var R$t=Pr(),D$t=ka(),F$t=U$(),z$t=Dg(),q$t=Z$();CJe.exports=function(t,r,n,i){function a(s,l){return R$t.coerce(t,r,q$t,s,l)}var o=F$t(t,r,a,i);if(!o){r.visible=!1;return}z$t(t,r,i,a,{x:!0}),a("xhoverformat"),a("yhoverformat"),a("line.width"),kJe(t,r,a,"increasing"),kJe(t,r,a,"decreasing"),a("text"),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback"),a("whiskerwidth"),i._requestRangeslider[r.xaxis]=!0,a("zorder")};function kJe(e,t,r,n){var i=r(n+".line.color");r(n+".line.width",t.line.width),r(n+".fillcolor",D$t.addOpacity(i,.5))}});var DJe=ye((Kwr,RJe)=>{"use strict";var PJe=Pr(),IJe=ho(),O$t=zg(),B$t=V$().calcCommon;RJe.exports=function(e,t){var r=e._fullLayout,n=IJe.getFromId(e,t.xaxis),i=IJe.getFromId(e,t.yaxis),a=n.makeCalcdata(t,"x"),o=O$t(t,n,"x",a).vals,s=B$t(e,t,a,o,i,N$t);return s.length?(PJe.extendFlat(s[0].t,{num:r._numBoxes,dPos:PJe.distinctVals(o).minDiff/2,posLetter:"x",valLetter:"y"}),r._numBoxes++,s):[{t:{empty:!0}}]};function N$t(e,t,r,n){return{min:r,q1:Math.min(e,n),med:n,q3:Math.max(e,n),max:t}}});var zJe=ye((Jwr,FJe)=>{"use strict";FJe.exports={moduleType:"trace",name:"candlestick",basePlotModule:mh(),categories:["cartesian","svg","showLegend","candlestick","boxLayout"],meta:{},attributes:Z$(),layoutAttributes:L4(),supplyLayoutDefaults:QI().supplyLayoutDefaults,crossTraceCalc:t8().crossTraceCalc,supplyDefaults:LJe(),calc:DJe(),plot:r8().plot,layerName:"boxlayer",style:i8().style,hoverPoints:j$().hoverPoints,selectPoints:W$()}});var OJe=ye(($wr,qJe)=>{"use strict";qJe.exports=zJe()});var K$=ye((Qwr,BJe)=>{"use strict";var v9=Pr(),U$t=xm(),d9=v9.deg2rad,Y$=v9.rad2deg;BJe.exports=function(t,r,n){switch(U$t(t,n),t._id){case"x":case"radialaxis":V$t(t,r);break;case"angularaxis":j$t(t,r);break}};function V$t(e,t){var r=t._subplot;e.setGeometry=function(){var n=e._rl[0],i=e._rl[1],a=r.innerRadius,o=(r.radius-a)/(i-n),s=a/o,l=n>i?function(u){return u<=0}:function(u){return u>=0};e.c2g=function(u){var c=e.c2l(u)-n;return(l(c)?c:0)+s},e.g2c=function(u){return e.l2c(u+n-s)},e.g2p=function(u){return u*o},e.c2p=function(u){return e.g2p(e.c2g(u))}}}function G$t(e,t){return t==="degrees"?d9(e):e}function H$t(e,t){return t==="degrees"?Y$(e):e}function j$t(e,t){var r=e.type;if(r==="linear"){var n=e.d2c,i=e.c2d;e.d2c=function(a,o){return G$t(n(a),o)},e.c2d=function(a,o){return i(H$t(a,o))}}e.makeCalcdata=function(a,o){var s=a[o],l=a._length,u,c,f=function(b){return e.d2c(b,a.thetaunit)};if(s)for(u=new Array(l),c=0;c{"use strict";NJe.exports={attr:"subplot",name:"polar",axisNames:["angularaxis","radialaxis"],axisName2dataArray:{angularaxis:"theta",radialaxis:"r"},layerNames:["draglayer","plotbg","backplot","angular-grid","radial-grid","frontplot","angular-line","radial-line","angular-axis","radial-axis"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}});var m9=ye((t3r,jJe)=>{"use strict";var Mw=Pr(),UJe=zM().tester,J$=Mw.findIndexOfMin,GJe=Mw.isAngleInsideSector,W$t=Mw.angleDelta,VJe=Mw.angleDist;function X$t(e,t,r,n,i){if(!GJe(t,n))return!1;var a,o;r[0]0?o:1/0},n=J$(t,r),i=Mw.mod(n+1,t.length);return[t[n],t[i]]}function g9(e){return Math.abs(e)>1e-10?e:0}function $$(e,t,r){t=t||0,r=r||0;for(var n=e.length,i=new Array(n),a=0;a{"use strict";function WJe(e){return e<0?-1:e>0?1:0}function J5(e){var t=e[0],r=e[1];if(!isFinite(t)||!isFinite(r))return[1,0];var n=(t+1)*(t+1)+r*r;return[(t*t+r*r-1)/n,2*r/n]}function $5(e,t){var r=t[0],n=t[1];return[r*e.radius+e.cx,-n*e.radius+e.cy]}function XJe(e,t){return t*e.radius}function tQt(e,t,r,n){var i=$5(e,J5([r,t])),a=i[0],o=i[1],s=$5(e,J5([n,t])),l=s[0],u=s[1];if(t===0)return["M"+a+","+o,"L"+l+","+u].join(" ");var c=XJe(e,1/Math.abs(t));return["M"+a+","+o,"A"+c+","+c+" 0 0,"+(t<0?1:0)+" "+l+","+u].join(" ")}function rQt(e,t,r,n){var i=XJe(e,1/(t+1)),a=$5(e,J5([t,r])),o=a[0],s=a[1],l=$5(e,J5([t,n])),u=l[0],c=l[1];if(WJe(r)!==WJe(n)){var f=$5(e,J5([t,0])),h=f[0],d=f[1];return["M"+o+","+s,"A"+i+","+i+" 0 0,"+(0{"use strict";var Ew=qa(),iQt=fd(),Cw=Oa(),Xc=Pr(),cy=Xc.strRotate,xd=Xc.strTranslate,eQ=ka(),_C=So(),nQt=Mc(),pp=ho(),aQt=xm(),oQt=K$(),sQt=Mg().doAutoRange,S1=XN(),x9=yv(),YJe=ef(),lQt=qb(),uQt=qf().prepSelect,cQt=qf().selectOnClick,tQ=qf().clearOutline,KJe=Eg(),JJe=wM(),$Je=LM().redrawReglTraces,fQt=Dh().MID_SHIFT,Nx=p9(),M1=m9(),b9=Q$(),y9=b9.smith,hQt=b9.reactanceArc,dQt=b9.resistanceArc,_9=b9.smithTransform,vQt=Xc._,QJe=Xc.mod,Ux=Xc.deg2rad,kw=Xc.rad2deg;function e$e(e,t,r){this.isSmith=r||!1,this.id=t,this.gd=e,this._hasClipOnAxisFalse=null,this.vangles=null,this.radialAxisAngle=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var n=e._fullLayout,i="clip"+n._uid+t;this.clipIds.forTraces=i+"-for-traces",this.clipPaths.forTraces=n._clips.append("clipPath").attr("id",this.clipIds.forTraces),this.clipPaths.forTraces.append("path"),this.framework=n["_"+(r?"smith":"polar")+"layer"].append("g").attr("class",t),this.getHole=function(a){return this.isSmith?0:a.hole},this.getSector=function(a){return this.isSmith?[0,360]:a.sector},this.getRadial=function(a){return this.isSmith?a.realaxis:a.radialaxis},this.getAngular=function(a){return this.isSmith?a.imaginaryaxis:a.angularaxis},r||(this.radialTickLayout=null,this.angularTickLayout=null)}var Nd=e$e.prototype;i$e.exports=function(t,r,n){return new e$e(t,r,n)};Nd.plot=function(e,t){for(var r=this,n=t[r.id],i=!1,a=0;ab?(p=u,k=u*b,L=(c-k)/i.h/2,M=[s[0],s[1]],T=[l[0]+L,l[1]-L]):(p=c/b,k=c,L=(u-p)/i.w/2,M=[s[0]+L,s[1]-L],T=[l[0],l[1]]),r.xLength2=p,r.yLength2=k,r.xDomain2=M,r.yDomain2=T;var x=r.xOffset2=i.l+i.w*M[0],C=r.yOffset2=i.t+i.h*(1-T[1]),S=r.radius=p/d,g=r.innerRadius=r.getHole(t)*S,P=r.cx=x-S*h[0],E=r.cy=C+S*h[3],z=r.cxx=P-x,q=r.cyy=E-C,V=a.side,G;V==="counterclockwise"?(G=V,V="top"):V==="clockwise"&&(G=V,V="bottom"),r.radialAxis=r.mockAxis(e,t,a,{_id:"x",side:V,_trueSide:G,domain:[g/i.w,S/i.w]}),r.angularAxis=r.mockAxis(e,t,o,{side:"right",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(e,t),r.updateAngularAxis(e,t),r.updateRadialAxis(e,t),r.updateRadialAxisTitle(e,t),r.xaxis=r.mockCartesianAxis(e,t,{_id:"x",domain:M}),r.yaxis=r.mockCartesianAxis(e,t,{_id:"y",domain:T});var Z=r.pathSubplot();r.clipPaths.forTraces.select("path").attr("d",Z).attr("transform",xd(z,q)),n.frontplot.attr("transform",xd(x,C)).call(_C.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr("d",Z).attr("transform",xd(P,E)).call(eQ.fill,t.bgcolor)};Nd.mockAxis=function(e,t,r,n){var i=Xc.extendFlat({},r,n);return oQt(i,t,e),i};Nd.mockCartesianAxis=function(e,t,r){var n=this,i=n.isSmith,a=r._id,o=Xc.extendFlat({type:"linear"},r);aQt(o,e);var s={x:[0,2],y:[1,3]};return o.setRange=function(){var l=n.sectorBBox,u=s[a],c=n.radialAxis._rl,f=(c[1]-c[0])/(1-n.getHole(t));o.range=[l[u[0]]*f,l[u[1]]*f]},o.isPtWithinRange=a==="x"&&!i?function(l){return n.isPtInside(l)}:function(){return!0},o.setRange(),o.setScale(),o};Nd.doAutoRange=function(e,t){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(t);sQt(n,i);var o=i.range;if(a.range=o.slice(),a._input.range=o.slice(),i._rl=[i.r2l(o[0],null,"gregorian"),i.r2l(o[1],null,"gregorian")],i.minallowed!==void 0){var s=i.r2l(i.minallowed);i._rl[0]>i._rl[1]?i._rl[1]=Math.max(i._rl[1],s):i._rl[0]=Math.max(i._rl[0],s)}if(i.maxallowed!==void 0){var l=i.r2l(i.maxallowed);i._rl[0]90&&c<=270&&(f.tickangle=180);var v=d?function(S){var g=_9(r,y9([S.x,0]));return xd(g[0]-s,g[1]-l)}:function(S){return xd(f.l2p(S.x)+o,0)},m=d?function(S){return dQt(r,S.x,-1/0,1/0)}:function(S){return r.pathArc(f.r2p(S.x)+o)},b=t$e(u);if(r.radialTickLayout!==b&&(i["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=b),h){f.setScale();var p=0,k=d?(f.tickvals||[]).filter(function(S){return S>=0}).map(function(S){return pp.tickText(f,S,!0,!1)}):pp.calcTicks(f),M=d?k:pp.clipEnds(f,k),T=pp.getTickSigns(f)[2];d&&((f.ticks==="top"&&f.side==="bottom"||f.ticks==="bottom"&&f.side==="top")&&(T=-T),f.ticks==="top"&&f.side==="top"&&(p=-f.ticklen),f.ticks==="bottom"&&f.side==="bottom"&&(p=f.ticklen)),pp.drawTicks(n,f,{vals:k,layer:i["radial-axis"],path:pp.makeTickPath(f,0,T),transFn:v,crisp:!1}),pp.drawGrid(n,f,{vals:M,layer:i["radial-grid"],path:m,transFn:Xc.noop,crisp:!1}),pp.drawLabels(n,f,{vals:k,layer:i["radial-axis"],transFn:v,labelFns:pp.makeLabelFns(f,p)})}var L=r.radialAxisAngle=r.vangles?kw(r$e(Ux(u.angle),r.vangles)):u.angle,x=xd(s,l),C=x+cy(-L);xC(i["radial-axis"],h&&(u.showticklabels||u.ticks),{transform:C}),xC(i["radial-grid"],h&&u.showgrid,{transform:d?"":x}),xC(i["radial-line"].select("line"),h&&u.showline,{x1:d?-a:o,y1:0,x2:a,y2:0,transform:C}).attr("stroke-width",u.linewidth).call(eQ.stroke,u.linecolor)};Nd.updateRadialAxisTitle=function(e,t,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,l=n.getRadial(t),u=n.id+"title",c=0;if(l.title){var f=_C.bBox(n.layers["radial-axis"].node()).height,h=l.title.font.size,d=l.side;c=d==="top"?h:d==="counterclockwise"?-(f+h*.4):f+h*.8}var v=r!==void 0?r:n.radialAxisAngle,m=Ux(v),b=Math.cos(m),p=Math.sin(m),k=o+a/2*b+c*p,M=s-a/2*p+c*b;n.layers["radial-axis-title"]=lQt.draw(i,u,{propContainer:l,propName:n.id+".radialaxis.title.text",placeholder:vQt(i,"Click to enter radial axis title"),attributes:{x:k,y:M,"text-anchor":"middle"},transform:{rotate:-v}})}};Nd.updateAngularAxis=function(e,t){var r=this,n=r.gd,i=r.layers,a=r.radius,o=r.innerRadius,s=r.cx,l=r.cy,u=r.getAngular(t),c=r.angularAxis,f=r.isSmith;f||(r.fillViewInitialKey("angularaxis.rotation",u.rotation),c.setGeometry(),c.setScale());var h=f?function(g){var P=_9(r,y9([0,g.x]));return Math.atan2(P[0]-s,P[1]-l)-Math.PI/2}:function(g){return c.t2g(g.x)};c.type==="linear"&&c.thetaunit==="radians"&&(c.tick0=kw(c.tick0),c.dtick=kw(c.dtick));var d=function(g){return xd(s+a*Math.cos(g),l-a*Math.sin(g))},v=f?function(g){var P=_9(r,y9([0,g.x]));return xd(P[0],P[1])}:function(g){return d(h(g))},m=f?function(g){var P=_9(r,y9([0,g.x])),E=Math.atan2(P[0]-s,P[1]-l)-Math.PI/2;return xd(P[0],P[1])+cy(-kw(E))}:function(g){var P=h(g);return d(P)+cy(-kw(P))},b=f?function(g){return hQt(r,g.x,0,1/0)}:function(g){var P=h(g),E=Math.cos(P),z=Math.sin(P);return"M"+[s+o*E,l-o*z]+"L"+[s+a*E,l-a*z]},p=pp.makeLabelFns(c,0),k=p.labelStandoff,M={};M.xFn=function(g){var P=h(g);return Math.cos(P)*k},M.yFn=function(g){var P=h(g),E=Math.sin(P)>0?.2:1;return-Math.sin(P)*(k+g.fontSize*E)+Math.abs(Math.cos(P))*(g.fontSize*fQt)},M.anchorFn=function(g){var P=h(g),E=Math.cos(P);return Math.abs(E)<.1?"middle":E>0?"start":"end"},M.heightFn=function(g,P,E){var z=h(g);return-.5*(1+Math.sin(z))*E};var T=t$e(u);r.angularTickLayout!==T&&(i["angular-axis"].selectAll("."+c._id+"tick").remove(),r.angularTickLayout=T);var L=f?[1/0].concat(c.tickvals||[]).map(function(g){return pp.tickText(c,g,!0,!1)}):pp.calcTicks(c);f&&(L[0].text="\u221E",L[0].fontSize*=1.75);var x;if(t.gridshape==="linear"?(x=L.map(h),Xc.angleDelta(x[0],x[1])<0&&(x=x.slice().reverse())):x=null,r.vangles=x,c.type==="category"&&(L=L.filter(function(g){return Xc.isAngleInsideSector(h(g),r.sectorInRad)})),c.visible){var C=c.ticks==="inside"?-1:1,S=(c.linewidth||1)/2;pp.drawTicks(n,c,{vals:L,layer:i["angular-axis"],path:"M"+C*S+",0h"+C*c.ticklen,transFn:m,crisp:!1}),pp.drawGrid(n,c,{vals:L,layer:i["angular-grid"],path:b,transFn:Xc.noop,crisp:!1}),pp.drawLabels(n,c,{vals:L,layer:i["angular-axis"],repositionOnUpdate:!0,transFn:v,labelFns:M})}xC(i["angular-line"].select("path"),u.showline,{d:r.pathSubplot(),transform:xd(s,l)}).attr("stroke-width",u.linewidth).call(eQ.stroke,u.linecolor)};Nd.updateFx=function(e,t){if(!this.gd._context.staticPlot){var r=!this.isSmith;r&&(this.updateAngularDrag(e),this.updateRadialDrag(e,t,0),this.updateRadialDrag(e,t,1)),this.updateHoverAndMainDrag(e)}};Nd.updateHoverAndMainDrag=function(e){var t=this,r=t.isSmith,n=t.gd,i=t.layers,a=e._zoomlayer,o=Nx.MINZOOM,s=Nx.OFFEDGE,l=t.radius,u=t.innerRadius,c=t.cx,f=t.cy,h=t.cxx,d=t.cyy,v=t.sectorInRad,m=t.vangles,b=t.radialAxis,p=M1.clampTiny,k=M1.findXYatLength,M=M1.findEnclosingVertexAngles,T=Nx.cornerHalfWidth,L=Nx.cornerLen/2,x,C,S=S1.makeDragger(i,"path","maindrag",e.dragmode===!1?"none":"crosshair");Ew.select(S).attr("d",t.pathSubplot()).attr("transform",xd(c,f)),S.onmousemove=function(ce){YJe.hover(n,ce,t.id),n._fullLayout._lasthover=S,n._fullLayout._hoversubplot=t.id},S.onmouseout=function(ce){n._dragging||x9.unhover(n,ce)};var g={element:S,gd:n,subplot:t.id,plotinfo:{id:t.id,xaxis:t.xaxis,yaxis:t.yaxis},xaxes:[t.xaxis],yaxes:[t.yaxis]},P,E,z,q,V,G,Z,j,N;function H(ce,He){return Math.sqrt(ce*ce+He*He)}function ie(ce,He){return H(ce-h,He-d)}function ae(ce,He){return Math.atan2(d-He,ce-h)}function _e(ce,He){return[ce*Math.cos(He),ce*Math.sin(-He)]}function Ee(ce,He){if(ce===0)return t.pathSector(2*T);var lt=L/ce,mt=He-lt,Ht=He+lt,at=Math.max(0,Math.min(ce,l)),ct=at-T,ar=at+T;return"M"+_e(ct,mt)+"A"+[ct,ct]+" 0,0,0 "+_e(ct,Ht)+"L"+_e(ar,Ht)+"A"+[ar,ar]+" 0,0,1 "+_e(ar,mt)+"Z"}function Ce(ce,He,lt){if(ce===0)return t.pathSector(2*T);var mt=_e(ce,He),Ht=_e(ce,lt),at=p((mt[0]+Ht[0])/2),ct=p((mt[1]+Ht[1])/2),ar,Vt;if(at&&ct){var rr=ct/at,tt=-1/rr,je=k(T,rr,at,ct);ar=k(L,tt,je[0][0],je[0][1]),Vt=k(L,tt,je[1][0],je[1][1])}else{var Ue,Ae;ct?(Ue=L,Ae=T):(Ue=T,Ae=L),ar=[[at-Ue,ct-Ae],[at+Ue,ct-Ae]],Vt=[[at-Ue,ct+Ae],[at+Ue,ct+Ae]]}return"M"+ar.join("L")+"L"+Vt.reverse().join("L")+"Z"}function ge(){z=null,q=null,V=t.pathSubplot(),G=!1;var ce=n._fullLayout[t.id];Z=iQt(ce.bgcolor).getLuminance(),j=S1.makeZoombox(a,Z,c,f,V),j.attr("fill-rule","evenodd"),N=S1.makeCorners(a,c,f),tQ(n)}function re(ce,He){return He=Math.max(Math.min(He,l),u),ceo?(ce-1&&ce===1&&cQt(He,n,[t.xaxis],[t.yaxis],t.id,g),lt.indexOf("event")>-1&&YJe.click(n,He,t.id)}g.prepFn=function(ce,He,lt){var mt=n._fullLayout.dragmode,Ht=S.getBoundingClientRect();n._fullLayout._calcInverseTransform(n);var at=n._fullLayout._invTransform;x=n._fullLayout._invScaleX,C=n._fullLayout._invScaleY;var ct=Xc.apply3DTransform(at)(He-Ht.left,lt-Ht.top);if(P=ct[0],E=ct[1],m){var ar=M1.findPolygonOffset(l,v[0],v[1],m);P+=h+ar[0],E+=d+ar[1]}switch(mt){case"zoom":g.clickFn=Pe,r||(m?g.moveFn=Be:g.moveFn=ke,g.doneFn=Le,ge(ce,He,lt));break;case"select":case"lasso":uQt(ce,He,lt,g,mt);break}},x9.init(g)};Nd.updateRadialDrag=function(e,t,r){var n=this,i=n.gd,a=n.layers,o=n.radius,s=n.innerRadius,l=n.cx,u=n.cy,c=n.radialAxis,f=Nx.radialDragBoxSize,h=f/2;if(!c.visible)return;var d=Ux(n.radialAxisAngle),v=c._rl,m=v[0],b=v[1],p=v[r],k=.75*(v[1]-v[0])/(1-n.getHole(t))/o,M,T,L;r?(M=l+(o+h)*Math.cos(d),T=u-(o+h)*Math.sin(d),L="radialdrag"):(M=l+(s-h)*Math.cos(d),T=u-(s-h)*Math.sin(d),L="radialdrag-inner");var x=S1.makeRectDragger(a,L,"crosshair",-h,-h,f,f),C={element:x,gd:i};e.dragmode===!1&&(C.dragmode=!1),xC(Ew.select(x),c.visible&&s0!=(r?P>m:P=90||i>90&&a>=450?d=1:s<=0&&u<=0?d=0:d=Math.max(s,u),i<=180&&a>=180||i>180&&a>=540?c=-1:o>=0&&l>=0?c=0:c=Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?f=-1:s>=0&&u>=0?f=0:f=Math.min(s,u),a>=360?h=1:o<=0&&l<=0?h=0:h=Math.max(o,l),[c,f,h,d]}function r$e(e,t){var r=function(i){return Xc.angleDist(e,i)},n=Xc.findIndexOfMin(t,r);return t[n]}function xC(e,t,r){return t?(e.attr("display",null),e.attr(r)):e&&e.attr("display","none"),e}});var iQ=ye((n3r,u$e)=>{"use strict";var gQt=Ih(),os=Rd(),mQt=Cc().attributes,f0=Pr().extendFlat,n$e=mc().overrideAll,a$e=n$e({color:os.color,showline:f0({},os.showline,{dflt:!0}),linecolor:os.linecolor,linewidth:os.linewidth,showgrid:f0({},os.showgrid,{dflt:!0}),gridcolor:os.gridcolor,gridwidth:os.gridwidth,griddash:os.griddash},"plot","from-root"),o$e=n$e({tickmode:os.minor.tickmode,nticks:os.nticks,tick0:os.tick0,dtick:os.dtick,tickvals:os.tickvals,ticktext:os.ticktext,ticks:os.ticks,ticklen:os.ticklen,tickwidth:os.tickwidth,tickcolor:os.tickcolor,ticklabelstep:os.ticklabelstep,showticklabels:os.showticklabels,labelalias:os.labelalias,minorloglabels:os.minorloglabels,showtickprefix:os.showtickprefix,tickprefix:os.tickprefix,showticksuffix:os.showticksuffix,ticksuffix:os.ticksuffix,showexponent:os.showexponent,exponentformat:os.exponentformat,minexponent:os.minexponent,separatethousands:os.separatethousands,tickfont:os.tickfont,tickangle:os.tickangle,tickformat:os.tickformat,tickformatstops:os.tickformatstops,layer:os.layer},"plot","from-root"),s$e={visible:f0({},os.visible,{dflt:!0}),type:f0({},os.type,{values:["-","linear","log","date","category"]}),autotypenumbers:os.autotypenumbers,autorangeoptions:{minallowed:os.autorangeoptions.minallowed,maxallowed:os.autorangeoptions.maxallowed,clipmin:os.autorangeoptions.clipmin,clipmax:os.autorangeoptions.clipmax,include:os.autorangeoptions.include,editType:"plot"},autorange:f0({},os.autorange,{editType:"plot"}),rangemode:{valType:"enumerated",values:["tozero","nonnegative","normal"],dflt:"tozero",editType:"calc"},minallowed:f0({},os.minallowed,{editType:"plot"}),maxallowed:f0({},os.maxallowed,{editType:"plot"}),range:f0({},os.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],editType:"plot"}),categoryorder:os.categoryorder,categoryarray:os.categoryarray,angle:{valType:"angle",editType:"plot"},autotickangles:os.autotickangles,side:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"clockwise",editType:"plot"},title:{text:f0({},os.title.text,{editType:"plot",dflt:""}),font:f0({},os.title.font,{editType:"plot"}),editType:"plot"},hoverformat:os.hoverformat,uirevision:{valType:"any",editType:"none"},editType:"calc"};f0(s$e,a$e,o$e);var l$e={visible:f0({},os.visible,{dflt:!0}),type:{valType:"enumerated",values:["-","linear","category"],dflt:"-",editType:"calc",_noTemplating:!0},autotypenumbers:os.autotypenumbers,categoryorder:os.categoryorder,categoryarray:os.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:os.hoverformat,uirevision:{valType:"any",editType:"none"},editType:"calc"};f0(l$e,a$e,o$e);u$e.exports={domain:mQt({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:gQt.background},radialaxis:s$e,angularaxis:l$e,gridshape:{valType:"enumerated",values:["circular","linear"],dflt:"circular",editType:"plot"},uirevision:{valType:"any",editType:"none"},editType:"calc"}});var d$e=ye((a3r,h$e)=>{"use strict";var w9=Pr(),yQt=ka(),_Qt=vl(),xQt=q_(),bQt=Id().getSubplotData,wQt=Pb(),TQt=q3(),AQt=s_(),SQt=l_(),MQt=fI(),EQt=c4(),kQt=SB(),CQt=H3(),f$e=iQ(),LQt=K$(),T9=p9(),c$e=T9.axisNames;function PQt(e,t,r,n){var i=r("bgcolor");n.bgColor=yQt.combine(i,n.paper_bgcolor);var a=r("sector");r("hole");var o=bQt(n.fullData,T9.name,n.id),s=n.layoutOut,l;function u(j,N){return r(l+"."+j,N)}for(var c=0;c{"use strict";var RQt=Id().getSubplotCalcData,DQt=Pr().counterRegex,FQt=rQ(),p$e=p9(),g$e=p$e.attr,Lw=p$e.name,v$e=DQt(Lw),m$e={};m$e[g$e]={valType:"subplotid",dflt:Lw,editType:"calc"};function zQt(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[Lw],i=0;i{"use strict";var{hovertemplateAttrs:OQt,texttemplateAttrs:BQt,templatefallbackAttrs:_$e}=Ll(),S9=Ao().extendFlat,NQt=Pg(),h0=pf(),UQt=Gl(),Q5=h0.line;x$e.exports={mode:h0.mode,r:{valType:"data_array",editType:"calc+clearAxisTypes"},theta:{valType:"data_array",editType:"calc+clearAxisTypes"},r0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dr:{valType:"number",dflt:1,editType:"calc"},theta0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dtheta:{valType:"number",editType:"calc"},thetaunit:{valType:"enumerated",values:["radians","degrees","gradians"],dflt:"degrees",editType:"calc+clearAxisTypes"},text:h0.text,texttemplate:BQt({editType:"plot"},{keys:["r","theta","text"]}),texttemplatefallback:_$e({editType:"plot"}),hovertext:h0.hovertext,line:{color:Q5.color,width:Q5.width,dash:Q5.dash,backoff:Q5.backoff,shape:S9({},Q5.shape,{values:["linear","spline"]}),smoothing:Q5.smoothing,editType:"calc"},connectgaps:h0.connectgaps,marker:h0.marker,cliponaxis:S9({},h0.cliponaxis,{dflt:!1}),textposition:h0.textposition,textfont:h0.textfont,fill:S9({},h0.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:NQt(),hoverinfo:S9({},UQt.hoverinfo,{flags:["r","theta","text","name"]}),hoveron:h0.hoveron,hovertemplate:OQt(),hovertemplatefallback:_$e(),selected:h0.selected,unselected:h0.unselected}});var E9=ye((l3r,T$e)=>{"use strict";var M9=Pr(),eS=Ru(),VQt=$p(),GQt=D0(),b$e=uT(),HQt=F0(),jQt=Fg(),WQt=Pm().PTS_LINESONLY,XQt=bC();function ZQt(e,t,r,n){function i(s,l){return M9.coerce(e,t,XQt,s,l)}var a=w$e(e,t,n,i);if(!a){t.visible=!1;return}i("thetaunit"),i("mode",a{"use strict";var YQt=Pr(),A$e=ho();S$e.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o,s;a?(o=a.radialAxis,s=a.angularAxis):(a=n[r.subplot],o=a.radialaxis,s=a.angularaxis);var l=o.c2l(t.r);i.rLabel=A$e.tickText(o,l,!0).text;var u=s.thetaunit==="degrees"?YQt.rad2deg(t.theta):t.theta;return i.thetaLabel=A$e.tickText(s,u,!0).text,i}});var k$e=ye((c3r,E$e)=>{"use strict";var M$e=Eo(),KQt=fs().BADNUM,JQt=ho(),$Qt=z0(),QQt=Dm(),eer=q0(),ter=O0().calcMarkerSize;E$e.exports=function(t,r){for(var n=t._fullLayout,i=r.subplot,a=n[i].radialaxis,o=n[i].angularaxis,s=a.makeCalcdata(r,"r"),l=o.makeCalcdata(r,"theta"),u=r._length,c=new Array(u),f=0;f{"use strict";var rer=pT(),C$e=fs().BADNUM;L$e.exports=function(t,r,n){for(var i=r.layers.frontplot.select("g.scatterlayer"),a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:r.framework,layerClipId:r._hasClipOnAxisFalse?r.clipIds.forTraces:null},l=r.radialAxis,u=r.angularAxis,c=0;c{"use strict";var ier=_T();function ner(e,t,r,n){var i=ier(e,t,r,n);if(!(!i||i[0].index===!1)){var a=i[0];if(a.index===void 0)return i;var o=e.subplot,s=a.cd[a.index],l=a.trace;if(o.isPtInside(s))return a.xLabelVal=void 0,a.yLabelVal=void 0,I$e(s,l,o,a),a.hovertemplate=l.hovertemplate,i}}function I$e(e,t,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle="r",a._hovertitle="\u03B8";var o={};o[t.subplot]={_subplot:r};var s=t._module.formatLabels(e,t,o);n.rLabel=s.rLabel,n.thetaLabel=s.thetaLabel;var l=e.hi||t.hoverinfo,u=[];function c(h,d){u.push(h._hovertitle+": "+d)}if(!t.hovertemplate){var f=l.split("+");f.indexOf("all")!==-1&&(f=["r","theta","text"]),f.indexOf("r")!==-1&&c(i,n.rLabel),f.indexOf("theta")!==-1&&c(a,n.thetaLabel),f.indexOf("text")!==-1&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join("
")}}R$e.exports={hoverPoints:ner,makeHoverPointText:I$e}});var F$e=ye((d3r,D$e)=>{"use strict";D$e.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:A9(),categories:["polar","symbols","showLegend","scatter-like"],attributes:bC(),supplyDefaults:E9().supplyDefaults,colorbar:Qd(),formatLabels:k9(),calc:k$e(),plot:P$e(),style:sp().style,styleOnSelect:sp().styleOnSelect,hoverPoints:C9().hoverPoints,selectPoints:xT(),meta:{}}});var q$e=ye((v3r,z$e)=>{"use strict";z$e.exports=F$e()});var nQ=ye((m3r,B$e)=>{"use strict";var O$e=bC(),{cliponaxis:p3r,hoveron:g3r}=O$e,aer=mee(O$e,["cliponaxis","hoveron"]),{connectgaps:oer,line:{color:ser,dash:ler,width:uer},fill:cer,fillcolor:fer,marker:her,textfont:der,textposition:ver}=mk();B$e.exports=j1(_g({},aer),{connectgaps:oer,fill:cer,fillcolor:fer,line:{color:ser,dash:ler,editType:"calc",width:uer},marker:her,textfont:der,textposition:ver})});var V$e=ye((_3r,U$e)=>{"use strict";var N$e=Pr(),aQ=Ru(),per=E9().handleRThetaDefaults,ger=$p(),mer=D0(),yer=F0(),_er=Fg(),xer=Pm().PTS_LINESONLY,ber=nQ();U$e.exports=function(t,r,n,i){function a(s,l){return N$e.coerce(t,r,ber,s,l)}var o=per(t,r,i,a);if(!o){r.visible=!1;return}a("thetaunit"),a("mode",o{"use strict";var wer=k9();G$e.exports=function(t,r,n){var i=t.i;return"r"in t||(t.r=r._r[i]),"theta"in t||(t.theta=r._theta[i]),wer(t,r,n)}});var W$e=ye((b3r,j$e)=>{"use strict";var Ter=z0(),Aer=O0().calcMarkerSize,Ser=lw(),Mer=ho(),Eer=gx().TOO_MANY_POINTS;j$e.exports=function(t,r){var n=t._fullLayout,i=r.subplot,a=n[i].radialaxis,o=n[i].angularaxis,s=r._r=a.makeCalcdata(r,"r"),l=r._theta=o.makeCalcdata(r,"theta"),u=r._length,c={};u{"use strict";var ker=XF(),Cer=C9().makeHoverPointText;function Ler(e,t,r,n){var i=e.cd,a=i[0].t,o=a.r,s=a.theta,l=ker.hoverPoints(e,t,r,n);if(!(!l||l[0].index===!1)){var u=l[0];if(u.index===void 0)return l;var c=e.subplot,f=u.cd[u.index],h=u.trace;if(f.r=o[u.index],f.theta=s[u.index],!!c.isPtInside(f))return u.xLabelVal=void 0,u.yLabelVal=void 0,Cer(f,h,c,u),l}}X$e.exports={hoverPoints:Ler}});var K$e=ye((T3r,Y$e)=>{"use strict";Y$e.exports={moduleType:"trace",name:"scatterpolargl",basePlotModule:A9(),categories:["gl","regl","polar","symbols","showLegend","scatter-like"],attributes:nQ(),supplyDefaults:V$e(),colorbar:Qd(),formatLabels:H$e(),calc:W$e(),hoverPoints:Z$e().hoverPoints,selectPoints:mY(),meta:{}}});var J$e=ye((A3r,oQ)=>{"use strict";var Per=KF(),Ier=Eo(),Rer=bK(),Der=vY(),L9=lw(),P9=Pr(),Fer=gx().TOO_MANY_POINTS,zer={};oQ.exports=function(t,r,n){if(n.length){var i=r.radialAxis,a=r.angularAxis,o=Der(t,r);return n.forEach(function(s){if(!(!s||!s[0]||!s[0].trace)){var l=s[0],u=l.trace,c=l.t,f=u._length,h=c.r,d=c.theta,v=c.opts,m,b=h.slice(),p=d.slice();for(m=0;m=Fer&&(v.marker.cluster=c.tree),v.marker&&(v.markerSel.positions=v.markerUnsel.positions=v.marker.positions=k),v.line&&k.length>1&&P9.extendFlat(v.line,L9.linePositions(t,u,k)),v.text&&(P9.extendFlat(v.text,{positions:k},L9.textPosition(t,u,v.text,v.marker)),P9.extendFlat(v.textSel,{positions:k},L9.textPosition(t,u,v.text,v.markerSel)),P9.extendFlat(v.textUnsel,{positions:k},L9.textPosition(t,u,v.text,v.markerUnsel))),v.fill&&!o.fill2d&&(o.fill2d=!0),v.marker&&!o.scatter2d&&(o.scatter2d=!0),v.line&&!o.line2d&&(o.line2d=!0),v.text&&!o.glText&&(o.glText=!0),o.lineOptions.push(v.line),o.fillOptions.push(v.fill),o.markerOptions.push(v.marker),o.markerSelectedOptions.push(v.markerSel),o.markerUnselectedOptions.push(v.markerUnsel),o.textOptions.push(v.text),o.textSelectedOptions.push(v.textSel),o.textUnselectedOptions.push(v.textUnsel),o.selectBatch.push([]),o.unselectBatch.push([]),c.x=M,c.y=T,c.rawx=M,c.rawy=T,c.r=h,c.theta=d,c.positions=k,c._scene=o,c.index=o.count,o.count++}}),Rer(t,r,n)}};oQ.exports.reglPrecompiled=zer});var eQe=ye((S3r,Q$e)=>{"use strict";var $$e=K$e();$$e.plot=J$e();Q$e.exports=$$e});var rQe=ye((M3r,tQe)=>{"use strict";tQe.exports=eQe()});var sQ=ye((E3r,iQe)=>{"use strict";var{hovertemplateAttrs:qer,templatefallbackAttrs:Oer}=Ll(),tS=Ao().extendFlat,Vx=bC(),Gx=qm();iQe.exports={r:Vx.r,theta:Vx.theta,r0:Vx.r0,dr:Vx.dr,theta0:Vx.theta0,dtheta:Vx.dtheta,thetaunit:Vx.thetaunit,base:tS({},Gx.base,{}),offset:tS({},Gx.offset,{}),width:tS({},Gx.width,{}),text:tS({},Gx.text,{}),hovertext:tS({},Gx.hovertext,{}),marker:Ber(),hoverinfo:Vx.hoverinfo,hovertemplate:qer(),hovertemplatefallback:Oer(),selected:Gx.selected,unselected:Gx.unselected};function Ber(){var e=tS({},Gx.marker);return delete e.cornerradius,e}});var lQ=ye((k3r,nQe)=>{"use strict";nQe.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}});var sQe=ye((C3r,oQe)=>{"use strict";var aQe=Pr(),Ner=E9().handleRThetaDefaults,Uer=XI(),Ver=sQ();oQe.exports=function(t,r,n,i){function a(s,l){return aQe.coerce(t,r,Ver,s,l)}var o=Ner(t,r,i,a);if(!o){r.visible=!1;return}a("thetaunit"),a("base"),a("offset"),a("width"),a("text"),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback"),Uer(t,r,a,n,i),aQe.coerceSelectionMarkerOpacity(r,a)}});var uQe=ye((L3r,lQe)=>{"use strict";var Ger=Pr(),Her=lQ();lQe.exports=function(e,t,r){var n={},i;function a(l,u){return Ger.coerce(e[i]||{},t[i],Her,l,u)}for(var o=0;o{"use strict";var cQe=pv().hasColorscale,fQe=gv(),jer=Pr().isArrayOrTypedArray,Wer=S4(),Xer=i2().setGroupPositions,Zer=q0(),Yer=Oa().traceIs,Ker=Pr().extendFlat;function Jer(e,t){for(var r=e._fullLayout,n=t.subplot,i=r[n].radialaxis,a=r[n].angularaxis,o=i.makeCalcdata(t,"r"),s=a.makeCalcdata(t,"theta"),l=t._length,u=new Array(l),c=o,f=s,h=0;h{"use strict";var dQe=qa(),I9=Eo(),rS=Pr(),Qer=So(),cQ=m9();vQe.exports=function(t,r,n){var i=t._context.staticPlot,a=r.xaxis,o=r.yaxis,s=r.radialAxis,l=r.angularAxis,u=etr(r),c=r.layers.frontplot.select("g.barlayer");rS.makeTraceGroups(c,n,"trace bars").each(function(){var f=dQe.select(this),h=rS.ensureSingle(f,"g","points"),d=h.selectAll("g.point").data(rS.identity);d.enter().append("g").style("vector-effect",i?"none":"non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),d.exit().remove(),d.each(function(v){var m=dQe.select(this),b=v.rp0=s.c2p(v.s0),p=v.rp1=s.c2p(v.s1),k=v.thetag0=l.c2g(v.p0),M=v.thetag1=l.c2g(v.p1),T;if(!I9(b)||!I9(p)||!I9(k)||!I9(M)||b===p||k===M)T="M0,0Z";else{var L=s.c2g(v.s1),x=(k+M)/2;v.ct=[a.c2p(L*Math.cos(x)),o.c2p(L*Math.sin(x))],T=u(b,p,k,M)}rS.ensureSingle(m,"path").attr("d",T)}),Qer.setClipUrl(f,r._hasClipOnAxisFalse?r.clipIds.forTraces:null,t)})};function etr(e){var t=e.cxx,r=e.cyy;return e.vangles?function(n,i,a,o){var s,l;rS.angleDelta(a,o)>0?(s=a,l=o):(s=o,l=a);var u=cQ.findEnclosingVertexAngles(s,e.vangles)[0],c=cQ.findEnclosingVertexAngles(l,e.vangles)[1],f=[u,(s+l)/2,c];return cQ.pathPolygonAnnulus(n,i,s,l,f,t,r)}:function(n,i,a,o){return rS.pathAnnulus(n,i,a,o,t,r)}}});var mQe=ye((R3r,gQe)=>{"use strict";var ttr=ef(),fQ=Pr(),rtr=RT().getTraceColor,itr=fQ.fillText,ntr=C9().makeHoverPointText,atr=m9().isPtInsidePolygon;gQe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.subplot,s=o.radialAxis,l=o.angularAxis,u=o.vangles,c=u?atr:fQ.isPtInsideSector,f=t.maxHoverDistance,h=l._period||2*Math.PI,d=Math.abs(s.g2p(Math.sqrt(r*r+n*n))),v=Math.atan2(n,r);s.range[0]>s.range[1]&&(v+=Math.PI);var m=function(M){return c(d,v,[M.rp0,M.rp1],[M.thetag0,M.thetag1],u)?f+Math.min(1,Math.abs(M.thetag1-M.thetag0)/h)-1+(M.rp1-d)/(M.rp1-M.rp0)-1:1/0};if(ttr.getClosest(i,m,t),t.index!==!1){var b=t.index,p=i[b];t.x0=t.x1=p.ct[0],t.y0=t.y1=p.ct[1];var k=fQ.extendFlat({},p,{r:p.s,theta:p.p});return itr(p,a,t),ntr(k,a,o,t),t.hovertemplate=a.hovertemplate,t.color=rtr(a,p),t.xLabelVal=t.yLabelVal=void 0,p.s<0&&(t.idealAlign="left"),[t]}}});var _Qe=ye((D3r,yQe)=>{"use strict";yQe.exports={moduleType:"trace",name:"barpolar",basePlotModule:A9(),categories:["polar","bar","showLegend"],attributes:sQ(),layoutAttributes:lQ(),supplyDefaults:sQe(),supplyLayoutDefaults:uQe(),calc:uQ().calc,crossTraceCalc:uQ().crossTraceCalc,plot:pQe(),colorbar:Qd(),formatLabels:k9(),style:V0().style,styleOnSelect:V0().styleOnSelect,hoverPoints:mQe(),selectPoints:DT(),meta:{}}});var bQe=ye((F3r,xQe)=>{"use strict";xQe.exports=_Qe()});var hQ=ye((z3r,wQe)=>{"use strict";wQe.exports={attr:"subplot",name:"smith",axisNames:["realaxis","imaginaryaxis"],axisName2dataArray:{imaginaryaxis:"imag",realaxis:"real"}}});var dQ=ye((q3r,MQe)=>{"use strict";var otr=Ih(),Uf=Rd(),str=Cc().attributes,Hx=Pr().extendFlat,TQe=mc().overrideAll,AQe=TQe({color:Uf.color,showline:Hx({},Uf.showline,{dflt:!0}),linecolor:Uf.linecolor,linewidth:Uf.linewidth,showgrid:Hx({},Uf.showgrid,{dflt:!0}),gridcolor:Uf.gridcolor,gridwidth:Uf.gridwidth,griddash:Uf.griddash},"plot","from-root"),SQe=TQe({ticklen:Uf.ticklen,tickwidth:Hx({},Uf.tickwidth,{dflt:2}),tickcolor:Uf.tickcolor,showticklabels:Uf.showticklabels,labelalias:Uf.labelalias,showtickprefix:Uf.showtickprefix,tickprefix:Uf.tickprefix,showticksuffix:Uf.showticksuffix,ticksuffix:Uf.ticksuffix,tickfont:Uf.tickfont,tickformat:Uf.tickformat,hoverformat:Uf.hoverformat,layer:Uf.layer},"plot","from-root"),ltr=Hx({visible:Hx({},Uf.visible,{dflt:!0}),tickvals:{dflt:[.2,.5,1,2,5],valType:"data_array",editType:"plot"},tickangle:Hx({},Uf.tickangle,{dflt:90}),ticks:{valType:"enumerated",values:["top","bottom",""],editType:"ticks"},side:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},editType:"calc"},AQe,SQe),utr=Hx({visible:Hx({},Uf.visible,{dflt:!0}),tickvals:{valType:"data_array",editType:"plot"},ticks:Uf.ticks,editType:"calc"},AQe,SQe);MQe.exports={domain:str({name:"smith",editType:"plot"}),bgcolor:{valType:"color",editType:"plot",dflt:otr.background},realaxis:ltr,imaginaryaxis:utr,editType:"calc"}});var CQe=ye((O3r,kQe)=>{"use strict";var iS=Pr(),ctr=ka(),ftr=vl(),htr=q_(),dtr=Id().getSubplotData,vtr=l_(),ptr=s_(),gtr=c4(),mtr=xm(),nS=dQ(),vQ=hQ(),EQe=vQ.axisNames,ytr=xtr(function(e){return iS.isTypedArray(e)&&(e=Array.from(e)),e.slice().reverse().map(function(t){return-t}).concat([0]).concat(e)},String);function _tr(e,t,r,n){var i=r("bgcolor");n.bgColor=ctr.combine(i,n.paper_bgcolor);var a=dtr(n.fullData,vQ.name,n.id),o=n.layoutOut,s;function l(L,x){return r(s+"."+L,x)}for(var u=0;u{"use strict";var btr=Id().getSubplotCalcData,wtr=Pr().counterRegex,Ttr=rQ(),PQe=hQ(),IQe=PQe.attr,Pw=PQe.name,LQe=wtr(Pw),RQe={};RQe[IQe]={valType:"subplotid",dflt:Pw,editType:"calc"};function Atr(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[Pw],i=0;i{"use strict";var{hovertemplateAttrs:Mtr,texttemplateAttrs:Etr,templatefallbackAttrs:zQe}=Ll(),R9=Ao().extendFlat,ktr=Pg(),d0=pf(),Ctr=Gl(),aS=d0.line;qQe.exports={mode:d0.mode,real:{valType:"data_array",editType:"calc+clearAxisTypes"},imag:{valType:"data_array",editType:"calc+clearAxisTypes"},text:d0.text,texttemplate:Etr({editType:"plot"},{keys:["real","imag","text"]}),texttemplatefallback:zQe({editType:"plot"}),hovertext:d0.hovertext,line:{color:aS.color,width:aS.width,dash:aS.dash,backoff:aS.backoff,shape:R9({},aS.shape,{values:["linear","spline"]}),smoothing:aS.smoothing,editType:"calc"},connectgaps:d0.connectgaps,marker:d0.marker,cliponaxis:R9({},d0.cliponaxis,{dflt:!1}),textposition:d0.textposition,textfont:d0.textfont,fill:R9({},d0.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:ktr(),hoverinfo:R9({},Ctr.hoverinfo,{flags:["real","imag","text","name"]}),hoveron:d0.hoveron,hovertemplate:Mtr(),hovertemplatefallback:zQe(),selected:d0.selected,unselected:d0.unselected}});var NQe=ye((U3r,BQe)=>{"use strict";var D9=Pr(),oS=Ru(),Ltr=$p(),Ptr=D0(),OQe=uT(),Itr=F0(),Rtr=Fg(),Dtr=Pm().PTS_LINESONLY,Ftr=pQ();BQe.exports=function(t,r,n,i){function a(l,u){return D9.coerce(t,r,Ftr,l,u)}var o=ztr(t,r,i,a);if(!o){r.visible=!1;return}a("mode",o{"use strict";var UQe=ho();VQe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot;return i.realLabel=UQe.tickText(a.radialAxis,t.real,!0).text,i.imagLabel=UQe.tickText(a.angularAxis,t.imag,!0).text,i}});var WQe=ye((G3r,jQe)=>{"use strict";var HQe=Eo(),qtr=fs().BADNUM,Otr=z0(),Btr=Dm(),Ntr=q0(),Utr=O0().calcMarkerSize;jQe.exports=function(t,r){for(var n=t._fullLayout,i=r.subplot,a=n[i].realaxis,o=n[i].imaginaryaxis,s=a.makeCalcdata(r,"real"),l=o.makeCalcdata(r,"imag"),u=r._length,c=new Array(u),f=0;f{"use strict";var Vtr=pT(),XQe=fs().BADNUM,Gtr=Q$(),Htr=Gtr.smith;ZQe.exports=function(t,r,n){for(var i=r.layers.frontplot.select("g.scatterlayer"),a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:r.framework,layerClipId:r._hasClipOnAxisFalse?r.clipIds.forTraces:null},l=0;l{"use strict";var jtr=_T();function Wtr(e,t,r,n){var i=jtr(e,t,r,n);if(!(!i||i[0].index===!1)){var a=i[0];if(a.index===void 0)return i;var o=e.subplot,s=a.cd[a.index],l=a.trace;if(o.isPtInside(s))return a.xLabelVal=void 0,a.yLabelVal=void 0,KQe(s,l,o,a),a.hovertemplate=l.hovertemplate,i}}function KQe(e,t,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle="real",a._hovertitle="imag";var o={};o[t.subplot]={_subplot:r};var s=t._module.formatLabels(e,t,o);n.realLabel=s.realLabel,n.imagLabel=s.imagLabel;var l=e.hi||t.hoverinfo,u=[];function c(h,d){u.push(h._hovertitle+": "+d)}if(!t.hovertemplate){var f=l.split("+");f.indexOf("all")!==-1&&(f=["real","imag","text"]),f.indexOf("real")!==-1&&c(i,n.realLabel),f.indexOf("imag")!==-1&&c(a,n.imagLabel),f.indexOf("text")!==-1&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join("
")}}JQe.exports={hoverPoints:Wtr,makeHoverPointText:KQe}});var eet=ye((W3r,QQe)=>{"use strict";QQe.exports={moduleType:"trace",name:"scattersmith",basePlotModule:FQe(),categories:["smith","symbols","showLegend","scatter-like"],attributes:pQ(),supplyDefaults:NQe(),colorbar:Qd(),formatLabels:GQe(),calc:WQe(),plot:YQe(),style:sp().style,styleOnSelect:sp().styleOnSelect,hoverPoints:$Qe().hoverPoints,selectPoints:xT(),meta:{}}});var ret=ye((X3r,tet)=>{"use strict";tet.exports=eet()});var kv=ye((Z3r,net)=>{var z9=Nh();function iet(){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={}}z9(iet.prototype,{instance:function(e,t){e=(e||"gregorian").toLowerCase(),t=t||"";var r=this._localCals[e+"-"+t];if(!r&&this.calendars[e]&&(r=new this.calendars[e](t),this._localCals[e+"-"+t]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,e);return r},newDate:function(e,t,r,n,i){return n=(e!=null&&e.year?e.calendar():typeof n=="string"?this.instance(n,i):n)||this.instance(),n.newDate(e,t,r)},substituteDigits:function(e){return function(t){return(t+"").replace(/[0-9]/g,function(r){return e[r]})}},substituteChineseDigits:function(e,t){return function(r){for(var n="",i=0;r>0;){var a=r%10;n=(a===0?"":e[a]+t[i])+n,i++,r=Math.floor(r/10)}return n.indexOf(e[1]+t[1])===0&&(n=n.substr(1)),n||e[0]}}});function gQ(e,t,r,n){if(this._calendar=e,this._year=t,this._month=r,this._day=n,this._calendar._validateLevel===0&&!this._calendar.isValid(this._year,this._month,this._day))throw(Gs.local.invalidDate||Gs.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function F9(e,t){return e=""+e,"000000".substring(0,t-e.length)+e}z9(gQ.prototype,{newDate:function(e,t,r){return this._calendar.newDate(e==null?this:e,t,r)},year:function(e){return arguments.length===0?this._year:this.set(e,"y")},month:function(e){return arguments.length===0?this._month:this.set(e,"m")},day:function(e){return arguments.length===0?this._day:this.set(e,"d")},date:function(e,t,r){if(!this._calendar.isValid(e,t,r))throw(Gs.local.invalidDate||Gs.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=e,this._month=t,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(e,t){return this._calendar.add(this,e,t)},set:function(e,t){return this._calendar.set(this,e,t)},compareTo:function(e){if(this._calendar.name!==e._calendar.name)throw(Gs.local.differentCalendars||Gs.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,e._calendar.local.name);var t=this._year!==e._year?this._year-e._year:this._month!==e._month?this.monthOfYear()-e.monthOfYear():this._day-e._day;return t===0?0:t<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(e){return this._calendar.fromJD(e)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(e){return this._calendar.fromJSDate(e)},toString:function(){return(this.year()<0?"-":"")+F9(Math.abs(this.year()),4)+"-"+F9(this.month(),2)+"-"+F9(this.day(),2)}});function mQ(){this.shortYearCutoff="+10"}z9(mQ.prototype,{_validateLevel:0,newDate:function(e,t,r){return e==null?this.today():(e.year&&(this._validate(e,t,r,Gs.local.invalidDate||Gs.regionalOptions[""].invalidDate),r=e.day(),t=e.month(),e=e.year()),new gQ(this,e,t,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(e){var t=this._validate(e,this.minMonth,this.minDay,Gs.local.invalidYear||Gs.regionalOptions[""].invalidYear);return t.year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Gs.local.invalidYear||Gs.regionalOptions[""].invalidYear);return(t.year()<0?"-":"")+F9(Math.abs(t.year()),4)},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Gs.local.invalidYear||Gs.regionalOptions[""].invalidYear),12},monthOfYear:function(e,t){var r=this._validate(e,t,this.minDay,Gs.local.invalidMonth||Gs.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(e,t){var r=(t+this.firstMonth-2*this.minMonth)%this.monthsInYear(e)+this.minMonth;return this._validate(e,r,this.minDay,Gs.local.invalidMonth||Gs.regionalOptions[""].invalidMonth),r},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Gs.local.invalidYear||Gs.regionalOptions[""].invalidYear);return this.leapYear(t)?366:365},dayOfYear:function(e,t,r){var n=this._validate(e,t,r,Gs.local.invalidDate||Gs.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,Gs.local.invalidDate||Gs.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(e,t,r){return this._validate(e,t,r,Gs.local.invalidDate||Gs.regionalOptions[""].invalidDate),{}},add:function(e,t,r){return this._validate(e,this.minMonth,this.minDay,Gs.local.invalidDate||Gs.regionalOptions[""].invalidDate),this._correctAdd(e,this._add(e,t,r),t,r)},_add:function(e,t,r){if(this._validateLevel++,r==="d"||r==="w"){var n=e.toJD()+t*(r==="w"?this.daysInWeek():1),i=e.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=e.year()+(r==="y"?t:0),o=e.monthOfYear()+(r==="m"?t:0),i=e.day(),s=function(c){for(;of-1+c.minMonth;)a++,o-=f,f=c.monthsInYear(a)};r==="y"?(e.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,e.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):r==="m"&&(s(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var l=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,l}catch(u){throw this._validateLevel--,u}},_correctAdd:function(e,t,r,n){if(!this.hasYearZero&&(n==="y"||n==="m")&&(t[0]===0||e.year()>0!=t[0]>0)){var i={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],a=r<0?-1:1;t=this._add(e,r*i[0]+a*i[1],i[2])}return e.date(t[0],t[1],t[2])},set:function(e,t,r){this._validate(e,this.minMonth,this.minDay,Gs.local.invalidDate||Gs.regionalOptions[""].invalidDate);var n=r==="y"?t:e.year(),i=r==="m"?t:e.month(),a=r==="d"?t:e.day();return(r==="y"||r==="m")&&(a=Math.min(a,this.daysInMonth(n,i))),e.date(n,i,a)},isValid:function(e,t,r){this._validateLevel++;var n=this.hasYearZero||e!==0;if(n){var i=this.newDate(e,t,this.minDay);n=t>=this.minMonth&&t-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(e,t,r){var n=this._validate(e,t,r,Gs.local.invalidDate||Gs.regionalOptions[""].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(e){return this.newDate(e.getFullYear(),e.getMonth()+1,e.getDate())}});var Gs=net.exports=new iet;Gs.cdate=gQ;Gs.baseCalendar=mQ;Gs.calendars.gregorian=yQ});var aet=ye(()=>{var _Q=Nh(),Ud=kv();_Q(Ud.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"});Ud.local=Ud.regionalOptions[""];_Q(Ud.cdate.prototype,{formatDate:function(e,t){return typeof e!="string"&&(t=e,e=""),this._calendar.formatDate(e||"",this,t)}});_Q(Ud.baseCalendar.prototype,{UNIX_EPOCH:Ud.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:24*60*60,TICKS_EPOCH:Ud.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(e,t,r){if(typeof e!="string"&&(r=t,t=e,e=""),!t)return"";if(t.calendar()!==this)throw Ud.local.invalidFormat||Ud.regionalOptions[""].invalidFormat;e=e||this.local.dateFormat,r=r||{};for(var n=r.dayNamesShort||this.local.dayNamesShort,i=r.dayNames||this.local.dayNames,a=r.monthNumbers||this.local.monthNumbers,o=r.monthNamesShort||this.local.monthNamesShort,s=r.monthNames||this.local.monthNames,l=r.calculateWeek||this.local.calculateWeek,u=function(T,L){for(var x=1;M+x1},c=function(T,L,x,C){var S=""+L;if(u(T,C))for(;S.length1},k=function(z,q){var V=p(z,q),G=[2,3,V?4:2,V?4:2,10,11,20]["oyYJ@!".indexOf(z)+1],Z=new RegExp("^-?\\d{1,"+G+"}"),j=t.substring(S).match(Z);if(!j)throw(Ud.local.missingNumberAt||Ud.regionalOptions[""].missingNumberAt).replace(/\{0\}/,S);return S+=j[0].length,parseInt(j[0],10)},M=this,T=function(){if(typeof s=="function"){p("m");var z=s.call(M,t.substring(S));return S+=z.length,z}return k("m")},L=function(z,q,V,G){for(var Z=p(z,G)?V:q,j=0;j-1){h=1,d=v;for(var E=this.daysInMonth(f,h);d>E;E=this.daysInMonth(f,h))h++,d-=E}return c>-1?this.fromJD(c):this.newDate(f,h,d)},determineDate:function(e,t,r,n,i){r&&typeof r!="object"&&(i=n,n=r,r=null),typeof n!="string"&&(i=n,n="");var a=this,o=function(s){try{return a.parseDate(n,s,i)}catch(f){}s=s.toLowerCase();for(var l=(s.match(/^c/)&&r?r.newDate():null)||a.today(),u=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,c=u.exec(s);c;)l.add(parseInt(c[1],10),c[2]||"d"),c=u.exec(s);return l};return t=t?t.newDate():null,e=e==null?t:typeof e=="string"?o(e):typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?t:a.today().add(e,"d"):a.newDate(e),e}})});var oet=ye(()=>{var jx=kv(),Xtr=Nh(),xQ=jx.instance();function q9(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}q9.prototype=new jx.baseCalendar;Xtr(q9.prototype,{name:"Chinese",jdEpoch:17214255e-1,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(e,t){if(typeof e=="string"){var r=e.match(Ytr);return r?r[0]:""}var n=this._validateYear(e),i=e.month(),a=""+this.toChineseMonth(n,i);return t&&a.length<2&&(a="0"+a),this.isIntercalaryMonth(n,i)&&(a+="i"),a},monthNames:function(e){if(typeof e=="string"){var t=e.match(Ktr);return t?t[0]:""}var r=this._validateYear(e),n=e.month(),i=this.toChineseMonth(r,n),a=["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"][i-1];return this.isIntercalaryMonth(r,n)&&(a="\u95F0"+a),a},monthNamesShort:function(e){if(typeof e=="string"){var t=e.match(Jtr);return t?t[0]:""}var r=this._validateYear(e),n=e.month(),i=this.toChineseMonth(r,n),a=["\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D","\u4E03","\u516B","\u4E5D","\u5341","\u5341\u4E00","\u5341\u4E8C"][i-1];return this.isIntercalaryMonth(r,n)&&(a="\u95F0"+a),a},parseMonth:function(e,t){e=this._validateYear(e);var r=parseInt(t),n;if(isNaN(r))t[0]==="\u95F0"&&(n=!0,t=t.substring(1)),t[t.length-1]==="\u6708"&&(t=t.substring(0,t.length-1)),r=1+["\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D","\u4E03","\u516B","\u4E5D","\u5341","\u5341\u4E00","\u5341\u4E8C"].indexOf(t);else{var i=t[t.length-1];n=i==="i"||i==="I"}var a=this.toMonthIndex(e,r,n);return a},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(e,t){if(e.year&&(e=e.year()),typeof e!="number"||e<1888||e>2111)throw t.replace(/\{0\}/,this.local.name);return e},toMonthIndex:function(e,t,r){var n=this.intercalaryMonth(e),i=r&&t!==n;if(i||t<1||t>12)throw jx.local.invalidMonth.replace(/\{0\}/,this.local.name);var a;return n?!r&&t<=n?a=t-1:a=t:a=t-1,a},toChineseMonth:function(e,t){e.year&&(e=e.year(),t=e.month());var r=this.intercalaryMonth(e),n=r?12:11;if(t<0||t>n)throw jx.local.invalidMonth.replace(/\{0\}/,this.local.name);var i;return r?t>13;return r},isIntercalaryMonth:function(e,t){e.year&&(e=e.year(),t=e.month());var r=this.intercalaryMonth(e);return!!r&&r===t},leapYear:function(e){return this.intercalaryMonth(e)!==0},weekOfYear:function(e,t,r){var n=this._validateYear(e,jx.local.invalidyear),i=Xx[n-Xx[0]],a=i>>9&4095,o=i>>5&15,s=i&31,l;l=xQ.newDate(a,o,s),l.add(4-(l.dayOfWeek()||7),"d");var u=this.toJD(e,t,r)-l.toJD();return 1+Math.floor(u/7)},monthsInYear:function(e){return this.leapYear(e)?13:12},daysInMonth:function(e,t){e.year&&(t=e.month(),e=e.year()),e=this._validateYear(e);var r=Wx[e-Wx[0]],n=r>>13,i=n?12:11;if(t>i)throw jx.local.invalidMonth.replace(/\{0\}/,this.local.name);var a=r&1<<12-t?30:29;return a},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,a,r,jx.local.invalidDate);e=this._validateYear(n.year()),t=n.month(),r=n.day();var i=this.isIntercalaryMonth(e,t),a=this.toChineseMonth(e,t),o=Qtr(e,a,r,i);return xQ.toJD(o.year,o.month,o.day)},fromJD:function(e){var t=xQ.fromJD(e),r=$tr(t.year(),t.month(),t.day()),n=this.toMonthIndex(r.year,r.month,r.isIntercalary);return this.newDate(r.year,n,r.day)},fromString:function(e){var t=e.match(Ztr),r=this._validateYear(+t[1]),n=+t[2],i=!!t[3],a=this.toMonthIndex(r,n,i),o=+t[4];return this.newDate(r,a,o)},add:function(e,t,r){var n=e.year(),i=e.month(),a=this.isIntercalaryMonth(n,i),o=this.toChineseMonth(n,i),s=Object.getPrototypeOf(q9.prototype).add.call(this,e,t,r);if(r==="y"){var l=s.year(),u=s.month(),c=this.isIntercalaryMonth(l,o),f=a&&c?this.toMonthIndex(l,o,!0):this.toMonthIndex(l,o,!1);f!==u&&s.month(f)}return s}});var Ztr=/^\s*(-?\d\d\d\d|\d\d)[-/](\d?\d)([iI]?)[-/](\d?\d)/m,Ytr=/^\d?\d[iI]?/m,Ktr=/^闰?十?[一二三四五六七八九]?月/m,Jtr=/^闰?十?[一二三四五六七八九]?/m;jx.calendars.chinese=q9;var Wx=[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],Xx=[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 $tr(e,t,r,n){var i,a;if(typeof e=="object")i=e,a=t||{};else{var o=typeof e=="number"&&e>=1888&&e<=2111;if(!o)throw new Error("Solar year outside range 1888-2111");var s=typeof t=="number"&&t>=1&&t<=12;if(!s)throw new Error("Solar month outside range 1 - 12");var l=typeof r=="number"&&r>=1&&r<=31;if(!l)throw new Error("Solar day outside range 1 - 31");i={year:e,month:t,day:r},a=n||{}}var u=Xx[i.year-Xx[0]],c=i.year<<9|i.month<<5|i.day;a.year=c>=u?i.year:i.year-1,u=Xx[a.year-Xx[0]];var f=u>>9&4095,h=u>>5&15,d=u&31,v,m=new Date(f,h-1,d),b=new Date(i.year,i.month-1,i.day);v=Math.round((b-m)/(24*3600*1e3));var p=Wx[a.year-Wx[0]],k;for(k=0;k<13;k++){var M=p&1<<12-k?30:29;if(v>13;return!T||k=1888&&e<=2111;if(!s)throw new Error("Lunar year outside range 1888-2111");var l=typeof t=="number"&&t>=1&&t<=12;if(!l)throw new Error("Lunar month outside range 1 - 12");var u=typeof r=="number"&&r>=1&&r<=30;if(!u)throw new Error("Lunar day outside range 1 - 30");var c;typeof n=="object"?(c=!1,a=n):(c=!!n,a=i||{}),o={year:e,month:t,day:r,isIntercalary:c}}var f;f=o.day-1;var h=Wx[o.year-Wx[0]],d=h>>13,v;d&&(o.month>d||o.isIntercalary)?v=o.month:v=o.month-1;for(var m=0;m>9&4095,M=p>>5&15,T=p&31,L=new Date(k,M-1,T+f);return a.year=L.getFullYear(),a.month=1+L.getMonth(),a.day=L.getDate(),a}});var set=ye(()=>{var Iw=kv(),err=Nh();function bQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}bQ.prototype=new Iw.baseCalendar;err(bQ.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(r){var t=this._validate(r,this.minMonth,this.minDay,Iw.local.invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===3||r%4===-1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Iw.local.invalidYear||Iw.regionalOptions[""].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Iw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===13&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,Iw.local.invalidDate);return e=n.year(),e<0&&e++,n.day()+(n.month()-1)*30+(e-1)*365+Math.floor(e/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,i=t-(n-1)*30+1;return this.newDate(r,n,i)}});Iw.calendars.coptic=bQ});var uet=ye(()=>{var E1=kv(),trr=Nh();function wQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}wQ.prototype=new E1.baseCalendar;trr(wQ.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(e){return this._validate(e,this.minMonth,this.minDay,E1.local.invalidYear),!1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,E1.local.invalidYear),13},daysInYear:function(e){return this._validate(e,this.minMonth,this.minDay,E1.local.invalidYear),400},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,E1.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,E1.local.invalidDate);return(n.day()+1)%8},weekDay:function(e,t,r){var n=this.dayOfWeek(e,t,r);return n>=2&&n<=6},extraInfo:function(e,t,r){var n=this._validate(e,t,r,E1.local.invalidDate);return{century:rrr[Math.floor((n.year()-1)/100)+1]||""}},toJD:function(e,t,r){var n=this._validate(e,t,r,E1.local.invalidDate);return e=n.year()+(n.year()<0?1:0),t=n.month(),r=n.day(),r+(t>1?16:0)+(t>2?(t-2)*32:0)+(e-1)*400+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e+.5)-Math.floor(this.jdEpoch)-1;var t=Math.floor(e/400)+1;e-=(t-1)*400,e+=e>15?16:0;var r=Math.floor(e/32)+1,n=e-(r-1)*32+1;return this.newDate(t<=0?t-1:t,r,n)}});var rrr={20:"Fruitbat",21:"Anchovy"};E1.calendars.discworld=wQ});var cet=ye(()=>{var Rw=kv(),irr=Nh();function TQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}TQ.prototype=new Rw.baseCalendar;irr(TQ.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(r){var t=this._validate(r,this.minMonth,this.minDay,Rw.local.invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===3||r%4===-1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Rw.local.invalidYear||Rw.regionalOptions[""].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Rw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===13&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,Rw.local.invalidDate);return e=n.year(),e<0&&e++,n.day()+(n.month()-1)*30+(e-1)*365+Math.floor(e/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,i=t-(n-1)*30+1;return this.newDate(r,n,i)}});Rw.calendars.ethiopian=TQ});var fet=ye(()=>{var Zx=kv(),nrr=Nh();function AQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}AQ.prototype=new Zx.baseCalendar;nrr(AQ.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(e){var t=this._validate(e,this.minMonth,this.minDay,Zx.local.invalidYear);return this._leapYear(t.year())},_leapYear:function(e){return e=e<0?e+1:e,O9(e*7+1,19)<7},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Zx.local.invalidYear),this._leapYear(e.year?e.year():e)?13:12},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Zx.local.invalidYear);return e=t.year(),this.toJD(e===-1?1:e+1,7,1)-this.toJD(e,7,1)},daysInMonth:function(e,t){return e.year&&(t=e.month(),e=e.year()),this._validate(e,t,this.minDay,Zx.local.invalidMonth),t===12&&this.leapYear(e)||t===8&&O9(this.daysInYear(e),10)===5?30:t===9&&O9(this.daysInYear(e),10)===3?29:this.daysPerMonth[t-1]},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==6},extraInfo:function(e,t,r){var n=this._validate(e,t,r,Zx.local.invalidDate);return{yearType:(this.leapYear(n)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(n)%10-3]}},toJD:function(e,t,r){var n=this._validate(e,t,r,Zx.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=e<=0?e+1:e,a=this.jdEpoch+this._delay1(i)+this._delay2(i)+r+1;if(t<7){for(var o=7;o<=this.monthsInYear(e);o++)a+=this.daysInMonth(e,o);for(var o=1;o=this.toJD(t===-1?1:t+1,7,1);)t++;for(var r=ethis.toJD(t,r,this.daysInMonth(t,r));)r++;var n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}});function O9(e,t){return e-t*Math.floor(e/t)}Zx.calendars.hebrew=AQ});var het=ye(()=>{var wC=kv(),arr=Nh();function SQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}SQ.prototype=new wC.baseCalendar;arr(SQ.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(e){var t=this._validate(e,this.minMonth,this.minDay,wC.local.invalidYear);return(t.year()*11+14)%30<11},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){return this.leapYear(e)?355:354},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,wC.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,wC.local.invalidDate);return e=n.year(),t=n.month(),r=n.day(),e=e<=0?e+1:e,r+Math.ceil(29.5*(t-1))+(e-1)*354+Math.floor((3+11*e)/30)+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=Math.floor((30*(e-this.jdEpoch)+10646)/10631);t=t<=0?t-1:t;var r=Math.min(12,Math.ceil((e-29-this.toJD(t,1,1))/29.5)+1),n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}});wC.calendars.islamic=SQ});var det=ye(()=>{var TC=kv(),orr=Nh();function MQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}MQ.prototype=new TC.baseCalendar;orr(MQ.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(r){var t=this._validate(r,this.minMonth,this.minDay,TC.local.invalidYear),r=t.year()<0?t.year()+1:t.year();return r%4===0},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,TC.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,TC.local.invalidDate);return e=n.year(),t=n.month(),r=n.day(),e<0&&e++,t<=2&&(e--,t+=12),Math.floor(365.25*(e+4716))+Math.floor(30.6001*(t+1))+r-1524.5},fromJD:function(e){var t=Math.floor(e+.5),r=t+1524,n=Math.floor((r-122.1)/365.25),i=Math.floor(365.25*n),a=Math.floor((r-i)/30.6001),o=a-Math.floor(a<14?1:13),s=n-Math.floor(o>2?4716:4715),l=r-i-Math.floor(30.6001*a);return s<=0&&s--,this.newDate(s,o,l)}});TC.calendars.julian=MQ});var pet=ye(()=>{var fg=kv(),srr=Nh();function kQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}kQ.prototype=new fg.baseCalendar;srr(kQ.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,fg.local.invalidYear),!1},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,fg.local.invalidYear);e=t.year();var r=Math.floor(e/400);e=e%400,e+=e<0?400:0;var n=Math.floor(e/20);return r+"."+n+"."+e%20},forYear:function(e){if(e=e.split("."),e.length<3)throw"Invalid Mayan year";for(var t=0,r=0;r19||r>0&&n<0)throw"Invalid Mayan year";t=t*20+n}return t},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,fg.local.invalidYear),18},weekOfYear:function(e,t,r){return this._validate(e,t,r,fg.local.invalidDate),0},daysInYear:function(e){return this._validate(e,this.minMonth,this.minDay,fg.local.invalidYear),360},daysInMonth:function(e,t){return this._validate(e,t,this.minDay,fg.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,fg.local.invalidDate);return n.day()},weekDay:function(e,t,r){return this._validate(e,t,r,fg.local.invalidDate),!0},extraInfo:function(e,t,r){var n=this._validate(e,t,r,fg.local.invalidDate),i=n.toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(e){e-=this.jdEpoch;var t=EQ(e+8+17*20,365);return[Math.floor(t/20)+1,EQ(t,20)]},_toTzolkin:function(e){return e-=this.jdEpoch,[vet(e+20,20),vet(e+4,13)]},toJD:function(e,t,r){var n=this._validate(e,t,r,fg.local.invalidDate);return n.day()+n.month()*20+n.year()*360+this.jdEpoch},fromJD:function(e){e=Math.floor(e)+.5-this.jdEpoch;var t=Math.floor(e/360);e=e%360,e+=e<0?360:0;var r=Math.floor(e/20),n=e%20;return this.newDate(t,r,n)}});function EQ(e,t){return e-t*Math.floor(e/t)}function vet(e,t){return EQ(e-1,t)+1}fg.calendars.mayan=kQ});var met=ye(()=>{var Dw=kv(),lrr=Nh();function CQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}CQ.prototype=new Dw.baseCalendar;var get=Dw.instance("gregorian");lrr(CQ.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(e){var t=this._validate(e,this.minMonth,this.minDay,Dw.local.invalidYear||Dw.regionalOptions[""].invalidYear);return get.leapYear(t.year()+(t.year()<1?1:0)+1469)},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Dw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,Dw.local.invalidMonth),i=n.year();i<0&&i++;for(var a=n.day(),o=1;o=this.toJD(t+1,1,1);)t++;for(var r=e-Math.floor(this.toJD(t,1,1)+.5)+1,n=1;r>this.daysInMonth(t,n);)r-=this.daysInMonth(t,n),n++;return this.newDate(t,n,r)}});Dw.calendars.nanakshahi=CQ});var yet=ye(()=>{var Fw=kv(),urr=Nh();function LQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}LQ.prototype=new Fw.baseCalendar;urr(LQ.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(e){return this.daysInYear(e)!==this.daysPerYear},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Fw.local.invalidYear);if(e=t.year(),typeof this.NEPALI_CALENDAR_DATA[e]=="undefined")return this.daysPerYear;for(var r=0,n=this.minMonth;n<=12;n++)r+=this.NEPALI_CALENDAR_DATA[e][n];return r},daysInMonth:function(e,t){return e.year&&(t=e.month(),e=e.year()),this._validate(e,t,this.minDay,Fw.local.invalidMonth),typeof this.NEPALI_CALENDAR_DATA[e]=="undefined"?this.daysPerMonth[t-1]:this.NEPALI_CALENDAR_DATA[e][t]},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==6},toJD:function(e,t,r){var n=this._validate(e,t,r,Fw.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=Fw.instance(),a=0,o=t,s=e;this._createMissingCalendarData(e);var l=e-(o>9||o===9&&r>=this.NEPALI_CALENDAR_DATA[s][0]?56:57);for(t!==9&&(a=r,o--);o!==9;)o<=0&&(o=12,s--),a+=this.NEPALI_CALENDAR_DATA[s][o],o--;return t===9?(a+=r-this.NEPALI_CALENDAR_DATA[s][0],a<0&&(a+=i.daysInYear(l))):a+=this.NEPALI_CALENDAR_DATA[s][9]-this.NEPALI_CALENDAR_DATA[s][0],i.newDate(l,1,1).add(a,"d").toJD()},fromJD:function(e){var t=Fw.instance(),r=t.fromJD(e),n=r.year(),i=r.dayOfYear(),a=n+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)o++,o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var u=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,u)},_createMissingCalendarData:function(e){var t=this.daysPerMonth.slice(0);t.unshift(17);for(var r=e-1;r{var sS=kv(),crr=Nh();function N9(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}function B9(e){var t=e-475;e<0&&t++;var r=.242197,n=r*t,i=r*(t+1),a=n-Math.floor(n),o=i-Math.floor(i);return a>o}N9.prototype=new sS.baseCalendar;crr(N9.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(e){var t=this._validate(e,this.minMonth,this.minDay,sS.local.invalidYear);return B9(t.year())},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-((n.dayOfWeek()+1)%7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,sS.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,sS.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=0;if(e>0)for(var a=1;a0?e-1:e)*365+i+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=475+(e-this.toJD(475,1,1))/365.242197,r=Math.floor(t);r<=0&&r--,e>this.toJD(r,12,B9(r)?30:29)&&(r++,r===0&&r++);var n=e-this.toJD(r,1,1)+1,i=n<=186?Math.ceil(n/31):Math.ceil((n-6)/30),a=e-this.toJD(r,i,1)+1;return this.newDate(r,i,a)}});sS.calendars.persian=N9;sS.calendars.jalali=N9});var xet=ye(()=>{var zw=kv(),frr=Nh(),U9=zw.instance();function PQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}PQ.prototype=new zw.baseCalendar;frr(PQ.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(r){var t=this._validate(r,this.minMonth,this.minDay,zw.local.invalidYear),r=this._t2gYear(t.year());return U9.leapYear(r)},weekOfYear:function(i,t,r){var n=this._validate(i,this.minMonth,this.minDay,zw.local.invalidYear),i=this._t2gYear(n.year());return U9.weekOfYear(i,n.month(),n.day())},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,zw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,zw.local.invalidDate),i=this._t2gYear(n.year());return U9.toJD(i,n.month(),n.day())},fromJD:function(e){var t=U9.fromJD(e),r=this._g2tYear(t.year());return this.newDate(r,t.month(),t.day())},_t2gYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)},_g2tYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)}});zw.calendars.taiwan=PQ});var bet=ye(()=>{var qw=kv(),hrr=Nh(),V9=qw.instance();function IQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}IQ.prototype=new qw.baseCalendar;hrr(IQ.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(r){var t=this._validate(r,this.minMonth,this.minDay,qw.local.invalidYear),r=this._t2gYear(t.year());return V9.leapYear(r)},weekOfYear:function(i,t,r){var n=this._validate(i,this.minMonth,this.minDay,qw.local.invalidYear),i=this._t2gYear(n.year());return V9.weekOfYear(i,n.month(),n.day())},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,qw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,qw.local.invalidDate),i=this._t2gYear(n.year());return V9.toJD(i,n.month(),n.day())},fromJD:function(e){var t=V9.fromJD(e),r=this._g2tYear(t.year());return this.newDate(r,t.month(),t.day())},_t2gYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)},_g2tYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)}});qw.calendars.thai=IQ});var wet=ye(()=>{var Ow=kv(),drr=Nh();function RQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}RQ.prototype=new Ow.baseCalendar;drr(RQ.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(e){var t=this._validate(e,this.minMonth,this.minDay,Ow.local.invalidYear);return this.daysInYear(t.year())===355},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){for(var t=0,r=1;r<=12;r++)t+=this.daysInMonth(e,r);return t},daysInMonth:function(e,t){for(var r=this._validate(e,t,this.minDay,Ow.local.invalidMonth),n=r.toJD()-24e5+.5,i=0,a=0;an)return Yx[i]-Yx[i-1];i++}return 30},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,Ow.local.invalidDate),i=12*(n.year()-1)+n.month()-15292,a=n.day()+Yx[i-1]-1;return a+24e5-.5},fromJD:function(e){for(var t=e-24e5+.5,r=0,n=0;nt);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),o=a+1,s=i-12*a,l=t-Yx[r-1]+1;return this.newDate(o,s,l)},isValid:function(e,t,r){var n=Ow.baseCalendar.prototype.isValid.apply(this,arguments);return n&&(e=e.year!=null?e.year:e,n=e>=1276&&e<=1500),n},_validate:function(e,t,r,n){var i=Ow.baseCalendar.prototype._validate.apply(this,arguments);if(i.year<1276||i.year>1500)throw n.replace(/\{0\}/,this.local.name);return i}});Ow.calendars.ummalqura=RQ;var Yx=[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]});var Aet=ye((STr,Tet)=>{"use strict";Tet.exports=kv();aet();oet();set();uet();cet();fet();het();det();pet();met();yet();_et();xet();bet();wet()});var Iet=ye((MTr,Pet)=>{"use strict";var Eet=Aet(),AC=Pr(),ket=fs(),vrr=ket.EPOCHJD,prr=ket.ONEDAY,zQ={valType:"enumerated",values:AC.sortObjectKeys(Eet.calendars),editType:"calc",dflt:"gregorian"},Cet=function(e,t,r,n){var i={};return i[r]=zQ,AC.coerce(e,t,i,r,n)},grr=function(e,t,r,n){for(var i=0;i{"use strict";Ret.exports=Iet()});var wrr=ye((kTr,zet)=>{var Fet=fye();Fet.register([d1e(),e_e(),vxe(),Fxe(),Yxe(),jbe(),n2e(),W2e(),bwe(),i3e(),H3e(),rke(),jke(),z6e(),ALe(),tPe(),SPe(),KIe(),p8e(),R8e(),j8e(),aRe(),xRe(),zRe(),dFe(),RFe(),KBe(),KNe(),oVe(),IVe(),VGe(),iHe(),EHe(),Bje(),eWe(),AWe(),RXe(),iZe(),OZe(),oKe(),PKe(),$Ke(),AJe(),OJe(),q$e(),rQe(),bQe(),ret(),Det()]);zet.exports=Fet});return wrr();})(); +`})),staticAttributes:G,staticUniforms:xe}}class Xt{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(b,I,G,H,$,xe,ke,Ne,et){this.context=b;let bt=this.boundPaintVertexBuffers.length!==H.length;for(let Tt=0;!bt&&Tt({u_matrix:K,u_texture:0,u_ele_delta:b,u_fog_matrix:I,u_fog_color:G?G.properties.get("fog-color"):i.aM.white,u_fog_ground_blend:G?G.properties.get("fog-ground-blend"):1,u_fog_ground_blend_opacity:G?G.calculateFogBlendOpacity(H):0,u_horizon_color:G?G.properties.get("horizon-color"):i.aM.white,u_horizon_fog_blend:G?G.properties.get("horizon-fog-blend"):1});function Fr(K){let b=[];for(let I=0;I({u_depth:new i.aH(gt,Mt.u_depth),u_terrain:new i.aH(gt,Mt.u_terrain),u_terrain_dim:new i.aI(gt,Mt.u_terrain_dim),u_terrain_matrix:new i.aJ(gt,Mt.u_terrain_matrix),u_terrain_unpack:new i.aK(gt,Mt.u_terrain_unpack),u_terrain_exaggeration:new i.aI(gt,Mt.u_terrain_exaggeration)}))(b,ut),this.binderUniforms=G?G.getUniforms(b,ut):[]}draw(b,I,G,H,$,xe,ke,Ne,et,bt,Tt,zt,Yt,Q,ae,ve,be,De){let Se=b.gl;if(this.failedToCreate)return;if(b.program.set(this.program),b.setDepthMode(G),b.setStencilMode(H),b.setColorMode($),b.setCullFace(xe),Ne){b.activeTexture.set(Se.TEXTURE2),Se.bindTexture(Se.TEXTURE_2D,Ne.depthTexture),b.activeTexture.set(Se.TEXTURE3),Se.bindTexture(Se.TEXTURE_2D,Ne.texture);for(let ut in this.terrainUniforms)this.terrainUniforms[ut].set(Ne[ut])}for(let ut in this.fixedUniforms)this.fixedUniforms[ut].set(ke[ut]);ae&&ae.setUniforms(b,this.binderUniforms,Yt,{zoom:Q});let Be=0;switch(I){case Se.LINES:Be=2;break;case Se.TRIANGLES:Be=3;break;case Se.LINE_STRIP:Be=1}for(let ut of zt.get()){let gt=ut.vaos||(ut.vaos={});(gt[et]||(gt[et]=new Xt)).bind(b,this,bt,ae?ae.getPaintVertexBuffers():[],Tt,ut.vertexOffset,ve,be,De),Se.drawElements(I,ut.primitiveLength*Be,Se.UNSIGNED_SHORT,ut.primitiveOffset*Be*2)}}}function Mn(K,b,I){let G=1/Nn(I,1,b.transform.tileZoom),H=Math.pow(2,I.tileID.overscaledZ),$=I.tileSize*Math.pow(2,b.transform.tileZoom)/H,xe=$*(I.tileID.canonical.x+I.tileID.wrap*H),ke=$*I.tileID.canonical.y;return{u_image:0,u_texsize:I.imageAtlasTexture.size,u_scale:[G,K.fromScale,K.toScale],u_fade:K.t,u_pixel_coord_upper:[xe>>16,ke>>16],u_pixel_coord_lower:[65535&xe,65535&ke]}}let Rn=(K,b,I,G)=>{let H=b.style.light,$=H.properties.get("position"),xe=[$.x,$.y,$.z],ke=(function(){var et=new i.A(9);return i.A!=Float32Array&&(et[1]=0,et[2]=0,et[3]=0,et[5]=0,et[6]=0,et[7]=0),et[0]=1,et[4]=1,et[8]=1,et})();H.properties.get("anchor")==="viewport"&&(function(et,bt){var Tt=Math.sin(bt),zt=Math.cos(bt);et[0]=zt,et[1]=Tt,et[2]=0,et[3]=-Tt,et[4]=zt,et[5]=0,et[6]=0,et[7]=0,et[8]=1})(ke,-b.transform.angle),(function(et,bt,Tt){var zt=bt[0],Yt=bt[1],Q=bt[2];et[0]=zt*Tt[0]+Yt*Tt[3]+Q*Tt[6],et[1]=zt*Tt[1]+Yt*Tt[4]+Q*Tt[7],et[2]=zt*Tt[2]+Yt*Tt[5]+Q*Tt[8]})(xe,xe,ke);let Ne=H.properties.get("color");return{u_matrix:K,u_lightpos:xe,u_lightintensity:H.properties.get("intensity"),u_lightcolor:[Ne.r,Ne.g,Ne.b],u_vertical_gradient:+I,u_opacity:G}},on=(K,b,I,G,H,$,xe)=>i.e(Rn(K,b,I,G),Mn($,b,xe),{u_height_factor:-Math.pow(2,H.overscaledZ)/xe.tileSize/8}),En=K=>({u_matrix:K}),Aa=(K,b,I,G)=>i.e(En(K),Mn(I,b,G)),ba=(K,b)=>({u_matrix:K,u_world:b}),Ia=(K,b,I,G,H)=>i.e(Aa(K,b,I,G),{u_world:H}),hi=(K,b,I,G)=>{let H=K.transform,$,xe;if(G.paint.get("circle-pitch-alignment")==="map"){let ke=Nn(I,1,H.zoom);$=!0,xe=[ke,ke]}else $=!1,xe=H.pixelsToGLUnits;return{u_camera_to_center_distance:H.cameraToCenterDistance,u_scale_with_map:+(G.paint.get("circle-pitch-scale")==="map"),u_matrix:K.translatePosMatrix(b.posMatrix,I,G.paint.get("circle-translate"),G.paint.get("circle-translate-anchor")),u_pitch_with_map:+$,u_device_pixel_ratio:K.pixelRatio,u_extrude_scale:xe}},ki=(K,b,I)=>({u_matrix:K,u_inv_matrix:b,u_camera_to_center_distance:I.cameraToCenterDistance,u_viewport_size:[I.width,I.height]}),ui=(K,b,I=1)=>({u_matrix:K,u_color:b,u_overlay:0,u_overlay_scale:I}),Mi=K=>({u_matrix:K}),_i=(K,b,I,G)=>({u_matrix:K,u_extrude_scale:Nn(b,1,I),u_intensity:G}),ko=(K,b,I,G)=>{let H=i.H();i.aP(H,0,K.width,K.height,0,0,1);let $=K.context.gl;return{u_matrix:H,u_world:[$.drawingBufferWidth,$.drawingBufferHeight],u_image:I,u_color_ramp:G,u_opacity:b.paint.get("heatmap-opacity")}};function Io(K,b){let I=Math.pow(2,b.canonical.z),G=b.canonical.y;return[new i.Z(0,G/I).toLngLat().lat,new i.Z(0,(G+1)/I).toLngLat().lat]}let $o=(K,b,I,G)=>{let H=K.transform;return{u_matrix:ks(K,b,I,G),u_ratio:1/Nn(b,1,H.zoom),u_device_pixel_ratio:K.pixelRatio,u_units_to_pixels:[1/H.pixelsToGLUnits[0],1/H.pixelsToGLUnits[1]]}},Is=(K,b,I,G,H)=>i.e($o(K,b,I,H),{u_image:0,u_image_height:G}),Es=(K,b,I,G,H)=>{let $=K.transform,xe=nl(b,$);return{u_matrix:ks(K,b,I,H),u_texsize:b.imageAtlasTexture.size,u_ratio:1/Nn(b,1,$.zoom),u_device_pixel_ratio:K.pixelRatio,u_image:0,u_scale:[xe,G.fromScale,G.toScale],u_fade:G.t,u_units_to_pixels:[1/$.pixelsToGLUnits[0],1/$.pixelsToGLUnits[1]]}},Ks=(K,b,I,G,H,$)=>{let xe=K.lineAtlas,ke=nl(b,K.transform),Ne=I.layout.get("line-cap")==="round",et=xe.getDash(G.from,Ne),bt=xe.getDash(G.to,Ne),Tt=et.width*H.fromScale,zt=bt.width*H.toScale;return i.e($o(K,b,I,$),{u_patternscale_a:[ke/Tt,-et.height/2],u_patternscale_b:[ke/zt,-bt.height/2],u_sdfgamma:xe.width/(256*Math.min(Tt,zt)*K.pixelRatio)/2,u_image:0,u_tex_y_a:et.y,u_tex_y_b:bt.y,u_mix:H.t})};function nl(K,b){return 1/Nn(K,1,b.tileZoom)}function ks(K,b,I,G){return K.translatePosMatrix(G?G.posMatrix:b.tileID.posMatrix,b,I.paint.get("line-translate"),I.paint.get("line-translate-anchor"))}let us=(K,b,I,G,H)=>{return{u_matrix:K,u_tl_parent:b,u_scale_parent:I,u_buffer_scale:1,u_fade_t:G.mix,u_opacity:G.opacity*H.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:H.paint.get("raster-brightness-min"),u_brightness_high:H.paint.get("raster-brightness-max"),u_saturation_factor:(xe=H.paint.get("raster-saturation"),xe>0?1-1/(1.001-xe):-xe),u_contrast_factor:($=H.paint.get("raster-contrast"),$>0?1/(1-$):1+$),u_spin_weights:xs(H.paint.get("raster-hue-rotate"))};var $,xe};function xs(K){K*=Math.PI/180;let b=Math.sin(K),I=Math.cos(K);return[(2*I+1)/3,(-Math.sqrt(3)*b-I+1)/3,(Math.sqrt(3)*b-I+1)/3]}let Co=(K,b,I,G,H,$,xe,ke,Ne,et,bt,Tt,zt,Yt)=>{let Q=xe.transform;return{u_is_size_zoom_constant:+(K==="constant"||K==="source"),u_is_size_feature_constant:+(K==="constant"||K==="camera"),u_size_t:b?b.uSizeT:0,u_size:b?b.uSize:0,u_camera_to_center_distance:Q.cameraToCenterDistance,u_pitch:Q.pitch/360*2*Math.PI,u_rotate_symbol:+I,u_aspect_ratio:Q.width/Q.height,u_fade_change:xe.options.fadeDuration?xe.symbolFadeChange:1,u_matrix:ke,u_label_plane_matrix:Ne,u_coord_matrix:et,u_is_text:+Tt,u_pitch_with_map:+G,u_is_along_line:H,u_is_variable_anchor:$,u_texsize:zt,u_texture:0,u_translation:bt,u_pitched_scale:Yt}},Si=(K,b,I,G,H,$,xe,ke,Ne,et,bt,Tt,zt,Yt,Q)=>{let ae=xe.transform;return i.e(Co(K,b,I,G,H,$,xe,ke,Ne,et,bt,Tt,zt,Q),{u_gamma_scale:G?Math.cos(ae._pitch)*ae.cameraToCenterDistance:1,u_device_pixel_ratio:xe.pixelRatio,u_is_halo:+Yt})},io=(K,b,I,G,H,$,xe,ke,Ne,et,bt,Tt,zt,Yt)=>i.e(Si(K,b,I,G,H,$,xe,ke,Ne,et,bt,!0,Tt,!0,Yt),{u_texsize_icon:zt,u_texture_icon:1}),Bs=(K,b,I)=>({u_matrix:K,u_opacity:b,u_color:I}),Fl=(K,b,I,G,H,$)=>i.e((function(xe,ke,Ne,et){let bt=Ne.imageManager.getPattern(xe.from.toString()),Tt=Ne.imageManager.getPattern(xe.to.toString()),{width:zt,height:Yt}=Ne.imageManager.getPixelSize(),Q=Math.pow(2,et.tileID.overscaledZ),ae=et.tileSize*Math.pow(2,Ne.transform.tileZoom)/Q,ve=ae*(et.tileID.canonical.x+et.tileID.wrap*Q),be=ae*et.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:bt.tl,u_pattern_br_a:bt.br,u_pattern_tl_b:Tt.tl,u_pattern_br_b:Tt.br,u_texsize:[zt,Yt],u_mix:ke.t,u_pattern_size_a:bt.displaySize,u_pattern_size_b:Tt.displaySize,u_scale_a:ke.fromScale,u_scale_b:ke.toScale,u_tile_units_to_pixels:1/Nn(et,1,Ne.transform.tileZoom),u_pixel_coord_upper:[ve>>16,be>>16],u_pixel_coord_lower:[65535&ve,65535&be]}})(G,$,I,H),{u_matrix:K,u_opacity:b}),Eu={fillExtrusion:(K,b)=>({u_matrix:new i.aJ(K,b.u_matrix),u_lightpos:new i.aN(K,b.u_lightpos),u_lightintensity:new i.aI(K,b.u_lightintensity),u_lightcolor:new i.aN(K,b.u_lightcolor),u_vertical_gradient:new i.aI(K,b.u_vertical_gradient),u_opacity:new i.aI(K,b.u_opacity)}),fillExtrusionPattern:(K,b)=>({u_matrix:new i.aJ(K,b.u_matrix),u_lightpos:new i.aN(K,b.u_lightpos),u_lightintensity:new i.aI(K,b.u_lightintensity),u_lightcolor:new i.aN(K,b.u_lightcolor),u_vertical_gradient:new i.aI(K,b.u_vertical_gradient),u_height_factor:new i.aI(K,b.u_height_factor),u_image:new i.aH(K,b.u_image),u_texsize:new i.aO(K,b.u_texsize),u_pixel_coord_upper:new i.aO(K,b.u_pixel_coord_upper),u_pixel_coord_lower:new i.aO(K,b.u_pixel_coord_lower),u_scale:new i.aN(K,b.u_scale),u_fade:new i.aI(K,b.u_fade),u_opacity:new i.aI(K,b.u_opacity)}),fill:(K,b)=>({u_matrix:new i.aJ(K,b.u_matrix)}),fillPattern:(K,b)=>({u_matrix:new i.aJ(K,b.u_matrix),u_image:new i.aH(K,b.u_image),u_texsize:new i.aO(K,b.u_texsize),u_pixel_coord_upper:new i.aO(K,b.u_pixel_coord_upper),u_pixel_coord_lower:new i.aO(K,b.u_pixel_coord_lower),u_scale:new i.aN(K,b.u_scale),u_fade:new i.aI(K,b.u_fade)}),fillOutline:(K,b)=>({u_matrix:new i.aJ(K,b.u_matrix),u_world:new i.aO(K,b.u_world)}),fillOutlinePattern:(K,b)=>({u_matrix:new i.aJ(K,b.u_matrix),u_world:new i.aO(K,b.u_world),u_image:new i.aH(K,b.u_image),u_texsize:new i.aO(K,b.u_texsize),u_pixel_coord_upper:new i.aO(K,b.u_pixel_coord_upper),u_pixel_coord_lower:new i.aO(K,b.u_pixel_coord_lower),u_scale:new i.aN(K,b.u_scale),u_fade:new i.aI(K,b.u_fade)}),circle:(K,b)=>({u_camera_to_center_distance:new i.aI(K,b.u_camera_to_center_distance),u_scale_with_map:new i.aH(K,b.u_scale_with_map),u_pitch_with_map:new i.aH(K,b.u_pitch_with_map),u_extrude_scale:new i.aO(K,b.u_extrude_scale),u_device_pixel_ratio:new i.aI(K,b.u_device_pixel_ratio),u_matrix:new i.aJ(K,b.u_matrix)}),collisionBox:(K,b)=>({u_matrix:new i.aJ(K,b.u_matrix),u_pixel_extrude_scale:new i.aO(K,b.u_pixel_extrude_scale)}),collisionCircle:(K,b)=>({u_matrix:new i.aJ(K,b.u_matrix),u_inv_matrix:new i.aJ(K,b.u_inv_matrix),u_camera_to_center_distance:new i.aI(K,b.u_camera_to_center_distance),u_viewport_size:new i.aO(K,b.u_viewport_size)}),debug:(K,b)=>({u_color:new i.aL(K,b.u_color),u_matrix:new i.aJ(K,b.u_matrix),u_overlay:new i.aH(K,b.u_overlay),u_overlay_scale:new i.aI(K,b.u_overlay_scale)}),clippingMask:(K,b)=>({u_matrix:new i.aJ(K,b.u_matrix)}),heatmap:(K,b)=>({u_extrude_scale:new i.aI(K,b.u_extrude_scale),u_intensity:new i.aI(K,b.u_intensity),u_matrix:new i.aJ(K,b.u_matrix)}),heatmapTexture:(K,b)=>({u_matrix:new i.aJ(K,b.u_matrix),u_world:new i.aO(K,b.u_world),u_image:new i.aH(K,b.u_image),u_color_ramp:new i.aH(K,b.u_color_ramp),u_opacity:new i.aI(K,b.u_opacity)}),hillshade:(K,b)=>({u_matrix:new i.aJ(K,b.u_matrix),u_image:new i.aH(K,b.u_image),u_latrange:new i.aO(K,b.u_latrange),u_light:new i.aO(K,b.u_light),u_shadow:new i.aL(K,b.u_shadow),u_highlight:new i.aL(K,b.u_highlight),u_accent:new i.aL(K,b.u_accent)}),hillshadePrepare:(K,b)=>({u_matrix:new i.aJ(K,b.u_matrix),u_image:new i.aH(K,b.u_image),u_dimension:new i.aO(K,b.u_dimension),u_zoom:new i.aI(K,b.u_zoom),u_unpack:new i.aK(K,b.u_unpack)}),line:(K,b)=>({u_matrix:new i.aJ(K,b.u_matrix),u_ratio:new i.aI(K,b.u_ratio),u_device_pixel_ratio:new i.aI(K,b.u_device_pixel_ratio),u_units_to_pixels:new i.aO(K,b.u_units_to_pixels)}),lineGradient:(K,b)=>({u_matrix:new i.aJ(K,b.u_matrix),u_ratio:new i.aI(K,b.u_ratio),u_device_pixel_ratio:new i.aI(K,b.u_device_pixel_ratio),u_units_to_pixels:new i.aO(K,b.u_units_to_pixels),u_image:new i.aH(K,b.u_image),u_image_height:new i.aI(K,b.u_image_height)}),linePattern:(K,b)=>({u_matrix:new i.aJ(K,b.u_matrix),u_texsize:new i.aO(K,b.u_texsize),u_ratio:new i.aI(K,b.u_ratio),u_device_pixel_ratio:new i.aI(K,b.u_device_pixel_ratio),u_image:new i.aH(K,b.u_image),u_units_to_pixels:new i.aO(K,b.u_units_to_pixels),u_scale:new i.aN(K,b.u_scale),u_fade:new i.aI(K,b.u_fade)}),lineSDF:(K,b)=>({u_matrix:new i.aJ(K,b.u_matrix),u_ratio:new i.aI(K,b.u_ratio),u_device_pixel_ratio:new i.aI(K,b.u_device_pixel_ratio),u_units_to_pixels:new i.aO(K,b.u_units_to_pixels),u_patternscale_a:new i.aO(K,b.u_patternscale_a),u_patternscale_b:new i.aO(K,b.u_patternscale_b),u_sdfgamma:new i.aI(K,b.u_sdfgamma),u_image:new i.aH(K,b.u_image),u_tex_y_a:new i.aI(K,b.u_tex_y_a),u_tex_y_b:new i.aI(K,b.u_tex_y_b),u_mix:new i.aI(K,b.u_mix)}),raster:(K,b)=>({u_matrix:new i.aJ(K,b.u_matrix),u_tl_parent:new i.aO(K,b.u_tl_parent),u_scale_parent:new i.aI(K,b.u_scale_parent),u_buffer_scale:new i.aI(K,b.u_buffer_scale),u_fade_t:new i.aI(K,b.u_fade_t),u_opacity:new i.aI(K,b.u_opacity),u_image0:new i.aH(K,b.u_image0),u_image1:new i.aH(K,b.u_image1),u_brightness_low:new i.aI(K,b.u_brightness_low),u_brightness_high:new i.aI(K,b.u_brightness_high),u_saturation_factor:new i.aI(K,b.u_saturation_factor),u_contrast_factor:new i.aI(K,b.u_contrast_factor),u_spin_weights:new i.aN(K,b.u_spin_weights)}),symbolIcon:(K,b)=>({u_is_size_zoom_constant:new i.aH(K,b.u_is_size_zoom_constant),u_is_size_feature_constant:new i.aH(K,b.u_is_size_feature_constant),u_size_t:new i.aI(K,b.u_size_t),u_size:new i.aI(K,b.u_size),u_camera_to_center_distance:new i.aI(K,b.u_camera_to_center_distance),u_pitch:new i.aI(K,b.u_pitch),u_rotate_symbol:new i.aH(K,b.u_rotate_symbol),u_aspect_ratio:new i.aI(K,b.u_aspect_ratio),u_fade_change:new i.aI(K,b.u_fade_change),u_matrix:new i.aJ(K,b.u_matrix),u_label_plane_matrix:new i.aJ(K,b.u_label_plane_matrix),u_coord_matrix:new i.aJ(K,b.u_coord_matrix),u_is_text:new i.aH(K,b.u_is_text),u_pitch_with_map:new i.aH(K,b.u_pitch_with_map),u_is_along_line:new i.aH(K,b.u_is_along_line),u_is_variable_anchor:new i.aH(K,b.u_is_variable_anchor),u_texsize:new i.aO(K,b.u_texsize),u_texture:new i.aH(K,b.u_texture),u_translation:new i.aO(K,b.u_translation),u_pitched_scale:new i.aI(K,b.u_pitched_scale)}),symbolSDF:(K,b)=>({u_is_size_zoom_constant:new i.aH(K,b.u_is_size_zoom_constant),u_is_size_feature_constant:new i.aH(K,b.u_is_size_feature_constant),u_size_t:new i.aI(K,b.u_size_t),u_size:new i.aI(K,b.u_size),u_camera_to_center_distance:new i.aI(K,b.u_camera_to_center_distance),u_pitch:new i.aI(K,b.u_pitch),u_rotate_symbol:new i.aH(K,b.u_rotate_symbol),u_aspect_ratio:new i.aI(K,b.u_aspect_ratio),u_fade_change:new i.aI(K,b.u_fade_change),u_matrix:new i.aJ(K,b.u_matrix),u_label_plane_matrix:new i.aJ(K,b.u_label_plane_matrix),u_coord_matrix:new i.aJ(K,b.u_coord_matrix),u_is_text:new i.aH(K,b.u_is_text),u_pitch_with_map:new i.aH(K,b.u_pitch_with_map),u_is_along_line:new i.aH(K,b.u_is_along_line),u_is_variable_anchor:new i.aH(K,b.u_is_variable_anchor),u_texsize:new i.aO(K,b.u_texsize),u_texture:new i.aH(K,b.u_texture),u_gamma_scale:new i.aI(K,b.u_gamma_scale),u_device_pixel_ratio:new i.aI(K,b.u_device_pixel_ratio),u_is_halo:new i.aH(K,b.u_is_halo),u_translation:new i.aO(K,b.u_translation),u_pitched_scale:new i.aI(K,b.u_pitched_scale)}),symbolTextAndIcon:(K,b)=>({u_is_size_zoom_constant:new i.aH(K,b.u_is_size_zoom_constant),u_is_size_feature_constant:new i.aH(K,b.u_is_size_feature_constant),u_size_t:new i.aI(K,b.u_size_t),u_size:new i.aI(K,b.u_size),u_camera_to_center_distance:new i.aI(K,b.u_camera_to_center_distance),u_pitch:new i.aI(K,b.u_pitch),u_rotate_symbol:new i.aH(K,b.u_rotate_symbol),u_aspect_ratio:new i.aI(K,b.u_aspect_ratio),u_fade_change:new i.aI(K,b.u_fade_change),u_matrix:new i.aJ(K,b.u_matrix),u_label_plane_matrix:new i.aJ(K,b.u_label_plane_matrix),u_coord_matrix:new i.aJ(K,b.u_coord_matrix),u_is_text:new i.aH(K,b.u_is_text),u_pitch_with_map:new i.aH(K,b.u_pitch_with_map),u_is_along_line:new i.aH(K,b.u_is_along_line),u_is_variable_anchor:new i.aH(K,b.u_is_variable_anchor),u_texsize:new i.aO(K,b.u_texsize),u_texsize_icon:new i.aO(K,b.u_texsize_icon),u_texture:new i.aH(K,b.u_texture),u_texture_icon:new i.aH(K,b.u_texture_icon),u_gamma_scale:new i.aI(K,b.u_gamma_scale),u_device_pixel_ratio:new i.aI(K,b.u_device_pixel_ratio),u_is_halo:new i.aH(K,b.u_is_halo),u_translation:new i.aO(K,b.u_translation),u_pitched_scale:new i.aI(K,b.u_pitched_scale)}),background:(K,b)=>({u_matrix:new i.aJ(K,b.u_matrix),u_opacity:new i.aI(K,b.u_opacity),u_color:new i.aL(K,b.u_color)}),backgroundPattern:(K,b)=>({u_matrix:new i.aJ(K,b.u_matrix),u_opacity:new i.aI(K,b.u_opacity),u_image:new i.aH(K,b.u_image),u_pattern_tl_a:new i.aO(K,b.u_pattern_tl_a),u_pattern_br_a:new i.aO(K,b.u_pattern_br_a),u_pattern_tl_b:new i.aO(K,b.u_pattern_tl_b),u_pattern_br_b:new i.aO(K,b.u_pattern_br_b),u_texsize:new i.aO(K,b.u_texsize),u_mix:new i.aI(K,b.u_mix),u_pattern_size_a:new i.aO(K,b.u_pattern_size_a),u_pattern_size_b:new i.aO(K,b.u_pattern_size_b),u_scale_a:new i.aI(K,b.u_scale_a),u_scale_b:new i.aI(K,b.u_scale_b),u_pixel_coord_upper:new i.aO(K,b.u_pixel_coord_upper),u_pixel_coord_lower:new i.aO(K,b.u_pixel_coord_lower),u_tile_units_to_pixels:new i.aI(K,b.u_tile_units_to_pixels)}),terrain:(K,b)=>({u_matrix:new i.aJ(K,b.u_matrix),u_texture:new i.aH(K,b.u_texture),u_ele_delta:new i.aI(K,b.u_ele_delta),u_fog_matrix:new i.aJ(K,b.u_fog_matrix),u_fog_color:new i.aL(K,b.u_fog_color),u_fog_ground_blend:new i.aI(K,b.u_fog_ground_blend),u_fog_ground_blend_opacity:new i.aI(K,b.u_fog_ground_blend_opacity),u_horizon_color:new i.aL(K,b.u_horizon_color),u_horizon_fog_blend:new i.aI(K,b.u_horizon_fog_blend)}),terrainDepth:(K,b)=>({u_matrix:new i.aJ(K,b.u_matrix),u_ele_delta:new i.aI(K,b.u_ele_delta)}),terrainCoords:(K,b)=>({u_matrix:new i.aJ(K,b.u_matrix),u_texture:new i.aH(K,b.u_texture),u_terrain_coords_id:new i.aI(K,b.u_terrain_coords_id),u_ele_delta:new i.aI(K,b.u_ele_delta)}),sky:(K,b)=>({u_sky_color:new i.aL(K,b.u_sky_color),u_horizon_color:new i.aL(K,b.u_horizon_color),u_horizon:new i.aI(K,b.u_horizon),u_sky_horizon_blend:new i.aI(K,b.u_sky_horizon_blend)})};class Cs{constructor(b,I,G){this.context=b;let H=b.gl;this.buffer=H.createBuffer(),this.dynamicDraw=!!G,this.context.unbindVAO(),b.bindElementBuffer.set(this.buffer),H.bufferData(H.ELEMENT_ARRAY_BUFFER,I.arrayBuffer,this.dynamicDraw?H.DYNAMIC_DRAW:H.STATIC_DRAW),this.dynamicDraw||delete I.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(b){let I=this.context.gl;if(!this.dynamicDraw)throw new Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),I.bufferSubData(I.ELEMENT_ARRAY_BUFFER,0,b.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let Nl={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class du{constructor(b,I,G,H){this.length=I.length,this.attributes=G,this.itemSize=I.bytesPerElement,this.dynamicDraw=H,this.context=b;let $=b.gl;this.buffer=$.createBuffer(),b.bindVertexBuffer.set(this.buffer),$.bufferData($.ARRAY_BUFFER,I.arrayBuffer,this.dynamicDraw?$.DYNAMIC_DRAW:$.STATIC_DRAW),this.dynamicDraw||delete I.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(b){if(b.length!==this.length)throw new Error(`Length of new data is ${b.length}, which doesn't match current length of ${this.length}`);let I=this.context.gl;this.bind(),I.bufferSubData(I.ARRAY_BUFFER,0,b.arrayBuffer)}enableAttributes(b,I){for(let G=0;G0){let gt=i.H();i.aQ(gt,Se.placementInvProjMatrix,K.transform.glCoordMatrix),i.aQ(gt,gt,Se.placementViewportMatrix),Ne.push({circleArray:ut,circleOffset:bt,transform:De.posMatrix,invTransform:gt,coord:De}),et+=ut.length/4,bt=et}Be&&ke.draw($,xe.LINES,Wi.disabled,so.disabled,K.colorModeForRenderPass(),ei.disabled,{u_matrix:De.posMatrix,u_pixel_extrude_scale:[1/(Tt=K.transform).width,1/Tt.height]},K.style.map.terrain&&K.style.map.terrain.getTerrainData(De),I.id,Be.layoutVertexBuffer,Be.indexBuffer,Be.segments,null,K.transform.zoom,null,null,Be.collisionVertexBuffer)}var Tt;if(!H||!Ne.length)return;let zt=K.useProgram("collisionCircle"),Yt=new i.aR;Yt.resize(4*et),Yt._trim();let Q=0;for(let be of Ne)for(let De=0;De=0&&(be[Se.associatedIconIndex]={shiftedAnchor:ta,angle:ka})}else Nr(Se.numGlyphs,ae)}if(et){ve.clear();let De=K.icon.placedSymbolArray;for(let Se=0;SeK.style.map.terrain.getElevation(sr,je,xt):null,at=I.layout.get("text-rotation-alignment")==="map";Ae(Gr,sr.posMatrix,K,H,Tl,Gl,be,et,at,ae,sr.toUnwrapped(),Q.width,Q.height,zs,Le)}let Qs=sr.posMatrix,Al=H&&Ft||_u,V=De||Al?_l:Tl,Z=bu,ie=kn&&I.paint.get(H?"text-halo-width":"icon-halo-width").constantOr(1)!==0,_e;_e=kn?Gr.iconsInText?io(ta.kind,Xa,Se,be,De,Al,K,Qs,V,Z,zs,di,fs,er):Si(ta.kind,Xa,Se,be,De,Al,K,Qs,V,Z,zs,H,di,!0,er):Co(ta.kind,Xa,Se,be,De,Al,K,Qs,V,Z,zs,H,di,er);let Me={program:va,buffers:pn,uniformValues:_e,atlasTexture:xo,atlasTextureIcon:ws,atlasInterpolation:Xi,atlasInterpolationIcon:Wo,isSDF:kn,hasHalo:ie};if(ut&&Gr.canOverlap){gt=!0;let Le=pn.segments.get();for(let at of Le)Ot.push({segments:new i.a0([at]),sortKey:at.sortKey,state:Me,terrainData:Ai})}else Ot.push({segments:pn.segments,sortKey:0,state:Me,terrainData:Ai})}gt&&Ot.sort(((sr,wr)=>sr.sortKey-wr.sortKey));for(let sr of Ot){let wr=sr.state;if(zt.activeTexture.set(Yt.TEXTURE0),wr.atlasTexture.bind(wr.atlasInterpolation,Yt.CLAMP_TO_EDGE),wr.atlasTextureIcon&&(zt.activeTexture.set(Yt.TEXTURE1),wr.atlasTextureIcon&&wr.atlasTextureIcon.bind(wr.atlasInterpolationIcon,Yt.CLAMP_TO_EDGE)),wr.isSDF){let Gr=wr.uniformValues;wr.hasHalo&&(Gr.u_is_halo=1,Df(wr.buffers,sr.segments,I,K,wr.program,Mt,bt,Tt,Gr,sr.terrainData)),Gr.u_is_halo=0}Df(wr.buffers,sr.segments,I,K,wr.program,Mt,bt,Tt,wr.uniformValues,sr.terrainData)}}function Df(K,b,I,G,H,$,xe,ke,Ne,et){let bt=G.context;H.draw(bt,bt.gl.TRIANGLES,$,xe,ke,ei.disabled,Ne,et,I.id,K.layoutVertexBuffer,K.indexBuffer,b,I.paint,G.transform.zoom,K.programConfigurations.get(I.id),K.dynamicLayoutVertexBuffer,K.opacityVertexBuffer)}function Mc(K,b,I,G){let H=K.context,$=H.gl,xe=so.disabled,ke=new is([$.ONE,$.ONE],i.aM.transparent,[!0,!0,!0,!0]),Ne=b.getBucket(I);if(!Ne)return;let et=G.key,bt=I.heatmapFbos.get(et);bt||(bt=Rf(H,b.tileSize,b.tileSize),I.heatmapFbos.set(et,bt)),H.bindFramebuffer.set(bt.framebuffer),H.viewport.set([0,0,b.tileSize,b.tileSize]),H.clear({color:i.aM.transparent});let Tt=Ne.programConfigurations.get(I.id),zt=K.useProgram("heatmap",Tt),Yt=K.style.map.terrain.getTerrainData(G);zt.draw(H,$.TRIANGLES,Wi.disabled,xe,ke,ei.disabled,_i(G.posMatrix,b,K.transform.zoom,I.paint.get("heatmap-intensity")),Yt,I.id,Ne.layoutVertexBuffer,Ne.indexBuffer,Ne.segments,I.paint,K.transform.zoom,Tt)}function Sc(K,b,I){let G=K.context,H=G.gl;G.setColorMode(K.colorModeForRenderPass());let $=If(G,b),xe=I.key,ke=b.heatmapFbos.get(xe);ke&&(G.activeTexture.set(H.TEXTURE0),H.bindTexture(H.TEXTURE_2D,ke.colorAttachment.get()),G.activeTexture.set(H.TEXTURE1),$.bind(H.LINEAR,H.CLAMP_TO_EDGE),K.useProgram("heatmapTexture").draw(G,H.TRIANGLES,Wi.disabled,so.disabled,K.colorModeForRenderPass(),ei.disabled,ko(K,b,0,1),null,b.id,K.rasterBoundsBuffer,K.quadTriangleIndexBuffer,K.rasterBoundsSegments,b.paint,K.transform.zoom),ke.destroy(),b.heatmapFbos.delete(xe))}function Rf(K,b,I){var G,H;let $=K.gl,xe=$.createTexture();$.bindTexture($.TEXTURE_2D,xe),$.texParameteri($.TEXTURE_2D,$.TEXTURE_WRAP_S,$.CLAMP_TO_EDGE),$.texParameteri($.TEXTURE_2D,$.TEXTURE_WRAP_T,$.CLAMP_TO_EDGE),$.texParameteri($.TEXTURE_2D,$.TEXTURE_MIN_FILTER,$.LINEAR),$.texParameteri($.TEXTURE_2D,$.TEXTURE_MAG_FILTER,$.LINEAR);let ke=(G=K.HALF_FLOAT)!==null&&G!==void 0?G:$.UNSIGNED_BYTE,Ne=(H=K.RGBA16F)!==null&&H!==void 0?H:$.RGBA;$.texImage2D($.TEXTURE_2D,0,Ne,b,I,0,$.RGBA,ke,null);let et=K.createFramebuffer(b,I,!1,!1);return et.colorAttachment.set(xe),et}function If(K,b){return b.colorRampTexture||(b.colorRampTexture=new p(K,b.colorRamp,K.gl.RGBA)),b.colorRampTexture}function eu(K,b,I,G,H){if(!I||!G||!G.imageAtlas)return;let $=G.imageAtlas.patternPositions,xe=$[I.to.toString()],ke=$[I.from.toString()];if(!xe&&ke&&(xe=ke),!ke&&xe&&(ke=xe),!xe||!ke){let Ne=H.getPaintProperty(b);xe=$[Ne],ke=$[Ne]}xe&&ke&&K.setConstantPatternPositions(xe,ke)}function lf(K,b,I,G,H,$,xe){let ke=K.context.gl,Ne="fill-pattern",et=I.paint.get(Ne),bt=et&&et.constantOr(1),Tt=I.getCrossfadeParameters(),zt,Yt,Q,ae,ve;xe?(Yt=bt&&!I.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",zt=ke.LINES):(Yt=bt?"fillPattern":"fill",zt=ke.TRIANGLES);let be=et.constantOr(null);for(let De of G){let Se=b.getTile(De);if(bt&&!Se.patternsLoaded())continue;let Be=Se.getBucket(I);if(!Be)continue;let ut=Be.programConfigurations.get(I.id),gt=K.useProgram(Yt,ut),Mt=K.style.map.terrain&&K.style.map.terrain.getTerrainData(De);bt&&(K.context.activeTexture.set(ke.TEXTURE0),Se.imageAtlasTexture.bind(ke.LINEAR,ke.CLAMP_TO_EDGE),ut.updatePaintBuffers(Tt)),eu(ut,Ne,be,Se,I);let Ft=Mt?De:null,Ot=K.translatePosMatrix(Ft?Ft.posMatrix:De.posMatrix,Se,I.paint.get("fill-translate"),I.paint.get("fill-translate-anchor"));if(xe){ae=Be.indexBuffer2,ve=Be.segments2;let er=[ke.drawingBufferWidth,ke.drawingBufferHeight];Q=Yt==="fillOutlinePattern"&&bt?Ia(Ot,K,Tt,Se,er):ba(Ot,er)}else ae=Be.indexBuffer,ve=Be.segments,Q=bt?Aa(Ot,K,Tt,Se):En(Ot);gt.draw(K.context,zt,H,K.stencilModeForClipping(De),$,ei.disabled,Q,Mt,I.id,Be.layoutVertexBuffer,ae,ve,I.paint,K.transform.zoom,ut)}}function tu(K,b,I,G,H,$,xe){let ke=K.context,Ne=ke.gl,et="fill-extrusion-pattern",bt=I.paint.get(et),Tt=bt.constantOr(1),zt=I.getCrossfadeParameters(),Yt=I.paint.get("fill-extrusion-opacity"),Q=bt.constantOr(null);for(let ae of G){let ve=b.getTile(ae),be=ve.getBucket(I);if(!be)continue;let De=K.style.map.terrain&&K.style.map.terrain.getTerrainData(ae),Se=be.programConfigurations.get(I.id),Be=K.useProgram(Tt?"fillExtrusionPattern":"fillExtrusion",Se);Tt&&(K.context.activeTexture.set(Ne.TEXTURE0),ve.imageAtlasTexture.bind(Ne.LINEAR,Ne.CLAMP_TO_EDGE),Se.updatePaintBuffers(zt)),eu(Se,et,Q,ve,I);let ut=K.translatePosMatrix(ae.posMatrix,ve,I.paint.get("fill-extrusion-translate"),I.paint.get("fill-extrusion-translate-anchor")),gt=I.paint.get("fill-extrusion-vertical-gradient"),Mt=Tt?on(ut,K,gt,Yt,ae,zt,ve):Rn(ut,K,gt,Yt);Be.draw(ke,ke.gl.TRIANGLES,H,$,xe,ei.backCCW,Mt,De,I.id,be.layoutVertexBuffer,be.indexBuffer,be.segments,I.paint,K.transform.zoom,Se,K.style.map.terrain&&be.centroidVertexBuffer)}}function Ec(K,b,I,G,H,$,xe){let ke=K.context,Ne=ke.gl,et=I.fbo;if(!et)return;let bt=K.useProgram("hillshade"),Tt=K.style.map.terrain&&K.style.map.terrain.getTerrainData(b);ke.activeTexture.set(Ne.TEXTURE0),Ne.bindTexture(Ne.TEXTURE_2D,et.colorAttachment.get()),bt.draw(ke,Ne.TRIANGLES,H,$,xe,ei.disabled,((zt,Yt,Q,ae)=>{let ve=Q.paint.get("hillshade-shadow-color"),be=Q.paint.get("hillshade-highlight-color"),De=Q.paint.get("hillshade-accent-color"),Se=Q.paint.get("hillshade-illumination-direction")*(Math.PI/180);Q.paint.get("hillshade-illumination-anchor")==="viewport"&&(Se-=zt.transform.angle);let Be=!zt.options.moving;return{u_matrix:ae?ae.posMatrix:zt.transform.calculatePosMatrix(Yt.tileID.toUnwrapped(),Be),u_image:0,u_latrange:Io(0,Yt.tileID),u_light:[Q.paint.get("hillshade-exaggeration"),Se],u_shadow:ve,u_highlight:be,u_accent:De}})(K,I,G,Tt?b:null),Tt,G.id,K.rasterBoundsBuffer,K.quadTriangleIndexBuffer,K.rasterBoundsSegments)}function bs(K,b,I,G,H,$){let xe=K.context,ke=xe.gl,Ne=b.dem;if(Ne&&Ne.data){let et=Ne.dim,bt=Ne.stride,Tt=Ne.getPixels();if(xe.activeTexture.set(ke.TEXTURE1),xe.pixelStoreUnpackPremultiplyAlpha.set(!1),b.demTexture=b.demTexture||K.getTileTexture(bt),b.demTexture){let Yt=b.demTexture;Yt.update(Tt,{premultiply:!1}),Yt.bind(ke.NEAREST,ke.CLAMP_TO_EDGE)}else b.demTexture=new p(xe,Tt,ke.RGBA,{premultiply:!1}),b.demTexture.bind(ke.NEAREST,ke.CLAMP_TO_EDGE);xe.activeTexture.set(ke.TEXTURE0);let zt=b.fbo;if(!zt){let Yt=new p(xe,{width:et,height:et,data:null},ke.RGBA);Yt.bind(ke.LINEAR,ke.CLAMP_TO_EDGE),zt=b.fbo=xe.createFramebuffer(et,et,!0,!1),zt.colorAttachment.set(Yt.texture)}xe.bindFramebuffer.set(zt.framebuffer),xe.viewport.set([0,0,et,et]),K.useProgram("hillshadePrepare").draw(xe,ke.TRIANGLES,G,H,$,ei.disabled,((Yt,Q)=>{let ae=Q.stride,ve=i.H();return i.aP(ve,0,i.X,-i.X,0,0,1),i.J(ve,ve,[0,-i.X,0]),{u_matrix:ve,u_image:1,u_dimension:[ae,ae],u_zoom:Yt.overscaledZ,u_unpack:Q.getUnpackVector()}})(b.tileID,Ne),null,I.id,K.rasterBoundsBuffer,K.quadTriangleIndexBuffer,K.rasterBoundsSegments),b.needsHillshadePrepare=!1}}function kc(K,b,I,G,H,$){let xe=G.paint.get("raster-fade-duration");if(!$&&xe>0){let ke=u.now(),Ne=(ke-K.timeAdded)/xe,et=b?(ke-b.timeAdded)/xe:-1,bt=I.getSource(),Tt=H.coveringZoomLevel({tileSize:bt.tileSize,roundZoom:bt.roundZoom}),zt=!b||Math.abs(b.tileID.overscaledZ-Tt)>Math.abs(K.tileID.overscaledZ-Tt),Yt=zt&&K.refreshedUponExpiration?1:i.ac(zt?Ne:1-et,0,1);return K.refreshedUponExpiration&&Ne>=1&&(K.refreshedUponExpiration=!1),b?{opacity:1,mix:1-Yt}:{opacity:Yt,mix:0}}return{opacity:1,mix:0}}let Gu=new i.aM(1,0,0,1),po=new i.aM(0,1,0,1),uf=new i.aM(0,0,1,1),$h=new i.aM(1,0,1,1),ih=new i.aM(0,1,1,1);function ac(K,b,I,G){cf(K,0,b+I/2,K.transform.width,I,G)}function oh(K,b,I,G){cf(K,b-I/2,0,I,K.transform.height,G)}function cf(K,b,I,G,H,$){let xe=K.context,ke=xe.gl;ke.enable(ke.SCISSOR_TEST),ke.scissor(b*K.pixelRatio,I*K.pixelRatio,G*K.pixelRatio,H*K.pixelRatio),xe.clear({color:$}),ke.disable(ke.SCISSOR_TEST)}function Kh(K,b,I){let G=K.context,H=G.gl,$=I.posMatrix,xe=K.useProgram("debug"),ke=Wi.disabled,Ne=so.disabled,et=K.colorModeForRenderPass(),bt="$debug",Tt=K.style.map.terrain&&K.style.map.terrain.getTerrainData(I);G.activeTexture.set(H.TEXTURE0);let zt=b.getTileByID(I.key).latestRawTileData,Yt=Math.floor((zt&&zt.byteLength||0)/1024),Q=b.getTile(I).tileSize,ae=512/Math.min(Q,512)*(I.overscaledZ/K.transform.zoom)*.5,ve=I.canonical.toString();I.overscaledZ!==I.canonical.z&&(ve+=` => ${I.overscaledZ}`),(function(be,De){be.initDebugOverlayCanvas();let Se=be.debugOverlayCanvas,Be=be.context.gl,ut=be.debugOverlayCanvas.getContext("2d");ut.clearRect(0,0,Se.width,Se.height),ut.shadowColor="white",ut.shadowBlur=2,ut.lineWidth=1.5,ut.strokeStyle="white",ut.textBaseline="top",ut.font="bold 36px Open Sans, sans-serif",ut.fillText(De,5,5),ut.strokeText(De,5,5),be.debugOverlayTexture.update(Se),be.debugOverlayTexture.bind(Be.LINEAR,Be.CLAMP_TO_EDGE)})(K,`${ve} ${Yt}kB`),xe.draw(G,H.TRIANGLES,ke,Ne,is.alphaBlended,ei.disabled,ui($,i.aM.transparent,ae),null,bt,K.debugBuffer,K.quadTriangleIndexBuffer,K.debugSegments),xe.draw(G,H.LINE_STRIP,ke,Ne,et,ei.disabled,ui($,i.aM.red),Tt,bt,K.debugBuffer,K.tileBorderIndexBuffer,K.debugSegments)}function _s(K,b,I){let G=K.context,H=G.gl,$=K.colorModeForRenderPass(),xe=new Wi(H.LEQUAL,Wi.ReadWrite,K.depthRangeFor3D),ke=K.useProgram("terrain"),Ne=b.getTerrainMesh();G.bindFramebuffer.set(null),G.viewport.set([0,0,K.width,K.height]);for(let et of I){let bt=K.renderToTexture.getTexture(et),Tt=b.getTerrainData(et.tileID);G.activeTexture.set(H.TEXTURE0),H.bindTexture(H.TEXTURE_2D,bt.texture);let zt=K.transform.calculatePosMatrix(et.tileID.toUnwrapped()),Yt=b.getMeshFrameDelta(K.transform.zoom),Q=K.transform.calculateFogMatrix(et.tileID.toUnwrapped()),ae=xr(zt,Yt,Q,K.style.sky,K.transform.pitch);ke.draw(G,H.TRIANGLES,xe,so.disabled,$,ei.backCCW,ae,Tt,"terrain",Ne.vertexBuffer,Ne.indexBuffer,Ne.segments)}}class ru{constructor(b,I,G){this.vertexBuffer=b,this.indexBuffer=I,this.segments=G}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class sh{constructor(b,I){this.context=new Xh(b),this.transform=I,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:i.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=We.maxUnderzooming+We.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new rl}resize(b,I,G){if(this.width=Math.floor(b*G),this.height=Math.floor(I*G),this.pixelRatio=G,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let H of this.style._order)this.style._layers[H].resize()}setup(){let b=this.context,I=new i.aX;I.emplaceBack(0,0),I.emplaceBack(i.X,0),I.emplaceBack(0,i.X),I.emplaceBack(i.X,i.X),this.tileExtentBuffer=b.createVertexBuffer(I,Pi.members),this.tileExtentSegments=i.a0.simpleSegment(0,0,4,2);let G=new i.aX;G.emplaceBack(0,0),G.emplaceBack(i.X,0),G.emplaceBack(0,i.X),G.emplaceBack(i.X,i.X),this.debugBuffer=b.createVertexBuffer(G,Pi.members),this.debugSegments=i.a0.simpleSegment(0,0,4,5);let H=new i.$;H.emplaceBack(0,0,0,0),H.emplaceBack(i.X,0,i.X,0),H.emplaceBack(0,i.X,0,i.X),H.emplaceBack(i.X,i.X,i.X,i.X),this.rasterBoundsBuffer=b.createVertexBuffer(H,qe.members),this.rasterBoundsSegments=i.a0.simpleSegment(0,0,4,2);let $=new i.aX;$.emplaceBack(0,0),$.emplaceBack(1,0),$.emplaceBack(0,1),$.emplaceBack(1,1),this.viewportBuffer=b.createVertexBuffer($,Pi.members),this.viewportSegments=i.a0.simpleSegment(0,0,4,2);let xe=new i.aZ;xe.emplaceBack(0),xe.emplaceBack(1),xe.emplaceBack(3),xe.emplaceBack(2),xe.emplaceBack(0),this.tileBorderIndexBuffer=b.createIndexBuffer(xe);let ke=new i.aY;ke.emplaceBack(0,1,2),ke.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=b.createIndexBuffer(ke);let Ne=this.context.gl;this.stencilClearMode=new so({func:Ne.ALWAYS,mask:0},0,255,Ne.ZERO,Ne.ZERO,Ne.ZERO)}clearStencil(){let b=this.context,I=b.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let G=i.H();i.aP(G,0,this.width,this.height,0,0,1),i.K(G,G,[I.drawingBufferWidth,I.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(b,I.TRIANGLES,Wi.disabled,this.stencilClearMode,is.disabled,ei.disabled,Mi(G),null,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(b,I){if(this.currentStencilSource===b.source||!b.isTileClipped()||!I||!I.length)return;this.currentStencilSource=b.source;let G=this.context,H=G.gl;this.nextStencilID+I.length>256&&this.clearStencil(),G.setColorMode(is.disabled),G.setDepthMode(Wi.disabled);let $=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(let xe of I){let ke=this._tileClippingMaskIDs[xe.key]=this.nextStencilID++,Ne=this.style.map.terrain&&this.style.map.terrain.getTerrainData(xe);$.draw(G,H.TRIANGLES,Wi.disabled,new so({func:H.ALWAYS,mask:0},ke,255,H.KEEP,H.KEEP,H.REPLACE),is.disabled,ei.disabled,Mi(xe.posMatrix),Ne,"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let b=this.nextStencilID++,I=this.context.gl;return new so({func:I.NOTEQUAL,mask:255},b,255,I.KEEP,I.KEEP,I.REPLACE)}stencilModeForClipping(b){let I=this.context.gl;return new so({func:I.EQUAL,mask:255},this._tileClippingMaskIDs[b.key],0,I.KEEP,I.KEEP,I.REPLACE)}stencilConfigForOverlap(b){let I=this.context.gl,G=b.sort(((xe,ke)=>ke.overscaledZ-xe.overscaledZ)),H=G[G.length-1].overscaledZ,$=G[0].overscaledZ-H+1;if($>1){this.currentStencilSource=void 0,this.nextStencilID+$>256&&this.clearStencil();let xe={};for(let ke=0;ke<$;ke++)xe[ke+H]=new so({func:I.GEQUAL,mask:255},ke+this.nextStencilID,255,I.KEEP,I.KEEP,I.REPLACE);return this.nextStencilID+=$,[xe,G]}return[{[H]:so.disabled},G]}colorModeForRenderPass(){let b=this.context.gl;return this._showOverdrawInspector?new is([b.CONSTANT_COLOR,b.ONE],new i.aM(.125,.125,.125,0),[!0,!0,!0,!0]):this.renderPass==="opaque"?is.unblended:is.alphaBlended}depthModeForSublayer(b,I,G){if(!this.opaquePassEnabledForLayer())return Wi.disabled;let H=1-((1+this.currentLayer)*this.numSublayers+b)*this.depthEpsilon;return new Wi(G||this.context.gl.LEQUAL,I,[H,H])}opaquePassEnabledForLayer(){return this.currentLayer({u_sky_color:be.properties.get("sky-color"),u_horizon_color:be.properties.get("horizon-color"),u_horizon:(De.height/2+De.getHorizon())*Se,u_sky_horizon_blend:be.properties.get("sky-horizon-blend")*De.height/2*Se}))(et,Ne.style.map.transform,Ne.pixelRatio),Yt=new Wi(Tt.LEQUAL,Wi.ReadWrite,[0,1]),Q=so.disabled,ae=Ne.colorModeForRenderPass(),ve=Ne.useProgram("sky");if(!et.mesh){let be=new i.aX;be.emplaceBack(-1,-1),be.emplaceBack(1,-1),be.emplaceBack(1,1),be.emplaceBack(-1,1);let De=new i.aY;De.emplaceBack(0,1,2),De.emplaceBack(0,2,3),et.mesh=new ru(bt.createVertexBuffer(be,Pi.members),bt.createIndexBuffer(De),i.a0.simpleSegment(0,0,be.length,De.length))}ve.draw(bt,Tt.TRIANGLES,Yt,Q,ae,ei.disabled,zt,void 0,"sky",et.mesh.vertexBuffer,et.mesh.indexBuffer,et.mesh.segments)})(this,this.style.sky),this._showOverdrawInspector=I.showOverdrawInspector,this.depthRangeFor3D=[0,1-(b._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass="opaque",this.currentLayer=G.length-1;this.currentLayer>=0;this.currentLayer--){let Ne=this.style._layers[G[this.currentLayer]],et=H[Ne.source],bt=$[Ne.source];this._renderTileClippingMasks(Ne,bt),this.renderLayer(this,et,Ne,bt)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayerve.source&&!ve.isHidden(bt)?[et.sourceCaches[ve.source]]:[])),Yt=zt.filter((ve=>ve.getSource().type==="vector")),Q=zt.filter((ve=>ve.getSource().type!=="vector")),ae=ve=>{(!Tt||Tt.getSource().maxzoomae(ve))),Tt||Q.forEach((ve=>ae(ve))),Tt})(this.style,this.transform.zoom);Ne&&(function(et,bt,Tt){for(let zt=0;zt0),H&&(i.b0(I,G),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,(function($,xe){let ke=$.context,Ne=ke.gl,et=is.unblended,bt=new Wi(Ne.LEQUAL,Wi.ReadWrite,[0,1]),Tt=xe.getTerrainMesh(),zt=xe.sourceCache.getRenderableTiles(),Yt=$.useProgram("terrainDepth");ke.bindFramebuffer.set(xe.getFramebuffer("depth").framebuffer),ke.viewport.set([0,0,$.width/devicePixelRatio,$.height/devicePixelRatio]),ke.clear({color:i.aM.transparent,depth:1});for(let Q of zt){let ae=xe.getTerrainData(Q.tileID),ve={u_matrix:$.transform.calculatePosMatrix(Q.tileID.toUnwrapped()),u_ele_delta:xe.getMeshFrameDelta($.transform.zoom)};Yt.draw(ke,Ne.TRIANGLES,bt,so.disabled,et,ei.backCCW,ve,ae,"terrain",Tt.vertexBuffer,Tt.indexBuffer,Tt.segments)}ke.bindFramebuffer.set(null),ke.viewport.set([0,0,$.width,$.height])})(this,this.style.map.terrain),(function($,xe){let ke=$.context,Ne=ke.gl,et=is.unblended,bt=new Wi(Ne.LEQUAL,Wi.ReadWrite,[0,1]),Tt=xe.getTerrainMesh(),zt=xe.getCoordsTexture(),Yt=xe.sourceCache.getRenderableTiles(),Q=$.useProgram("terrainCoords");ke.bindFramebuffer.set(xe.getFramebuffer("coords").framebuffer),ke.viewport.set([0,0,$.width/devicePixelRatio,$.height/devicePixelRatio]),ke.clear({color:i.aM.transparent,depth:1}),xe.coordsIndex=[];for(let ae of Yt){let ve=xe.getTerrainData(ae.tileID);ke.activeTexture.set(Ne.TEXTURE0),Ne.bindTexture(Ne.TEXTURE_2D,zt.texture);let be={u_matrix:$.transform.calculatePosMatrix(ae.tileID.toUnwrapped()),u_terrain_coords_id:(255-xe.coordsIndex.length)/255,u_texture:0,u_ele_delta:xe.getMeshFrameDelta($.transform.zoom)};Q.draw(ke,Ne.TRIANGLES,bt,so.disabled,et,ei.backCCW,be,ve,"terrain",Tt.vertexBuffer,Tt.indexBuffer,Tt.segments),xe.coordsIndex.push(ae.tileID.key)}ke.bindFramebuffer.set(null),ke.viewport.set([0,0,$.width,$.height])})(this,this.style.map.terrain))}renderLayer(b,I,G,H){if(!G.isHidden(this.transform.zoom)&&(G.type==="background"||G.type==="custom"||(H||[]).length))switch(this.id=G.id,G.type){case"symbol":(function($,xe,ke,Ne,et){if($.renderPass!=="translucent")return;let bt=so.disabled,Tt=$.colorModeForRenderPass();(ke._unevaluatedLayout.hasValue("text-variable-anchor")||ke._unevaluatedLayout.hasValue("text-variable-anchor-offset"))&&(function(zt,Yt,Q,ae,ve,be,De,Se,Be){let ut=Yt.transform,gt=Hi(),Mt=ve==="map",Ft=be==="map";for(let Ot of zt){let er=ae.getTile(Ot),sr=er.getBucket(Q);if(!sr||!sr.text||!sr.text.segments.get().length)continue;let wr=i.ag(sr.textSizeData,ut.zoom),Gr=Nn(er,1,Yt.transform.zoom),pn=tr(Ot.posMatrix,Ft,Mt,Yt.transform,Gr),cn=Q.layout.get("icon-text-fit")!=="none"&&sr.hasIconData();if(wr){let kn=Math.pow(2,ut.zoom-er.tileID.overscaledZ),ta=Yt.style.map.terrain?(va,Xa)=>Yt.style.map.terrain.getElevation(Ot,va,Xa):null,ka=gt.translatePosition(ut,er,De,Se);Ac(sr,Mt,Ft,Be,ut,pn,Ot.posMatrix,kn,wr,cn,gt,ka,Ot.toUnwrapped(),ta)}}})(Ne,$,ke,xe,ke.layout.get("text-rotation-alignment"),ke.layout.get("text-pitch-alignment"),ke.paint.get("text-translate"),ke.paint.get("text-translate-anchor"),et),ke.paint.get("icon-opacity").constantOr(1)!==0&&ah($,xe,ke,Ne,!1,ke.paint.get("icon-translate"),ke.paint.get("icon-translate-anchor"),ke.layout.get("icon-rotation-alignment"),ke.layout.get("icon-pitch-alignment"),ke.layout.get("icon-keep-upright"),bt,Tt),ke.paint.get("text-opacity").constantOr(1)!==0&&ah($,xe,ke,Ne,!0,ke.paint.get("text-translate"),ke.paint.get("text-translate-anchor"),ke.layout.get("text-rotation-alignment"),ke.layout.get("text-pitch-alignment"),ke.layout.get("text-keep-upright"),bt,Tt),xe.map.showCollisionBoxes&&(Wc($,xe,ke,Ne,!0),Wc($,xe,ke,Ne,!1))})(b,I,G,H,this.style.placement.variableOffsets);break;case"circle":(function($,xe,ke,Ne){if($.renderPass!=="translucent")return;let et=ke.paint.get("circle-opacity"),bt=ke.paint.get("circle-stroke-width"),Tt=ke.paint.get("circle-stroke-opacity"),zt=!ke.layout.get("circle-sort-key").isConstant();if(et.constantOr(1)===0&&(bt.constantOr(1)===0||Tt.constantOr(1)===0))return;let Yt=$.context,Q=Yt.gl,ae=$.depthModeForSublayer(0,Wi.ReadOnly),ve=so.disabled,be=$.colorModeForRenderPass(),De=[];for(let Se=0;SeSe.sortKey-Be.sortKey));for(let Se of De){let{programConfiguration:Be,program:ut,layoutVertexBuffer:gt,indexBuffer:Mt,uniformValues:Ft,terrainData:Ot}=Se.state;ut.draw(Yt,Q.TRIANGLES,ae,ve,be,ei.disabled,Ft,Ot,ke.id,gt,Mt,Se.segments,ke.paint,$.transform.zoom,Be)}})(b,I,G,H);break;case"heatmap":(function($,xe,ke,Ne){if(ke.paint.get("heatmap-opacity")===0)return;let et=$.context;if($.style.map.terrain){for(let bt of Ne){let Tt=xe.getTile(bt);xe.hasRenderableParent(bt)||($.renderPass==="offscreen"?Mc($,Tt,ke,bt):$.renderPass==="translucent"&&Sc($,ke,bt))}et.viewport.set([0,0,$.width,$.height])}else $.renderPass==="offscreen"?(function(bt,Tt,zt,Yt){let Q=bt.context,ae=Q.gl,ve=so.disabled,be=new is([ae.ONE,ae.ONE],i.aM.transparent,[!0,!0,!0,!0]);(function(De,Se,Be){let ut=De.gl;De.activeTexture.set(ut.TEXTURE1),De.viewport.set([0,0,Se.width/4,Se.height/4]);let gt=Be.heatmapFbos.get(i.aU);gt?(ut.bindTexture(ut.TEXTURE_2D,gt.colorAttachment.get()),De.bindFramebuffer.set(gt.framebuffer)):(gt=Rf(De,Se.width/4,Se.height/4),Be.heatmapFbos.set(i.aU,gt))})(Q,bt,zt),Q.clear({color:i.aM.transparent});for(let De=0;De20&&bt.texParameterf(bt.TEXTURE_2D,et.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,et.extTextureFilterAnisotropicMax);let sr=$.style.map.terrain&&$.style.map.terrain.getTerrainData(De),wr=sr?De:null,Gr=wr?wr.posMatrix:$.transform.calculatePosMatrix(De.toUnwrapped(),be),pn=us(Gr,Ot||[0,0],Ft||1,Mt,ke);Tt instanceof mt?zt.draw(et,bt.TRIANGLES,Se,so.disabled,Yt,ei.disabled,pn,sr,ke.id,Tt.boundsBuffer,$.quadTriangleIndexBuffer,Tt.boundsSegments):zt.draw(et,bt.TRIANGLES,Se,Q[De.overscaledZ],Yt,ei.disabled,pn,sr,ke.id,$.rasterBoundsBuffer,$.quadTriangleIndexBuffer,$.rasterBoundsSegments)}})(b,I,G,H);break;case"background":(function($,xe,ke,Ne){let et=ke.paint.get("background-color"),bt=ke.paint.get("background-opacity");if(bt===0)return;let Tt=$.context,zt=Tt.gl,Yt=$.transform,Q=Yt.tileSize,ae=ke.paint.get("background-pattern");if($.isPatternMissing(ae))return;let ve=!ae&&et.a===1&&bt===1&&$.opaquePassEnabledForLayer()?"opaque":"translucent";if($.renderPass!==ve)return;let be=so.disabled,De=$.depthModeForSublayer(0,ve==="opaque"?Wi.ReadWrite:Wi.ReadOnly),Se=$.colorModeForRenderPass(),Be=$.useProgram(ae?"backgroundPattern":"background"),ut=Ne||Yt.coveringTiles({tileSize:Q,terrain:$.style.map.terrain});ae&&(Tt.activeTexture.set(zt.TEXTURE0),$.imageManager.bind($.context));let gt=ke.getCrossfadeParameters();for(let Mt of ut){let Ft=Ne?Mt.posMatrix:$.transform.calculatePosMatrix(Mt.toUnwrapped()),Ot=ae?Fl(Ft,bt,$,ae,{tileID:Mt,tileSize:Q},gt):Bs(Ft,bt,et),er=$.style.map.terrain&&$.style.map.terrain.getTerrainData(Mt);Be.draw(Tt,zt.TRIANGLES,De,be,Se,ei.disabled,Ot,er,ke.id,$.tileExtentBuffer,$.quadTriangleIndexBuffer,$.tileExtentSegments)}})(b,0,G,H);break;case"custom":(function($,xe,ke){let Ne=$.context,et=ke.implementation;if($.renderPass==="offscreen"){let bt=et.prerender;bt&&($.setCustomLayerDefaults(),Ne.setColorMode($.colorModeForRenderPass()),bt.call(et,Ne.gl,$.transform.customLayerMatrix()),Ne.setDirty(),$.setBaseState())}else if($.renderPass==="translucent"){$.setCustomLayerDefaults(),Ne.setColorMode($.colorModeForRenderPass()),Ne.setStencilMode(so.disabled);let bt=et.renderingMode==="3d"?new Wi($.context.gl.LEQUAL,Wi.ReadWrite,$.depthRangeFor3D):$.depthModeForSublayer(0,Wi.ReadOnly);Ne.setDepthMode(bt),et.render(Ne.gl,$.transform.customLayerMatrix(),{farZ:$.transform.farZ,nearZ:$.transform.nearZ,fov:$.transform._fov,modelViewProjectionMatrix:$.transform.modelViewProjectionMatrix,projectionMatrix:$.transform.projectionMatrix}),Ne.setDirty(),$.setBaseState(),Ne.bindFramebuffer.set(null)}})(b,0,G)}}translatePosMatrix(b,I,G,H,$){if(!G[0]&&!G[1])return b;let xe=$?H==="map"?this.transform.angle:0:H==="viewport"?-this.transform.angle:0;if(xe){let et=Math.sin(xe),bt=Math.cos(xe);G=[G[0]*bt-G[1]*et,G[0]*et+G[1]*bt]}let ke=[$?G[0]:Nn(I,G[0],this.transform.zoom),$?G[1]:Nn(I,G[1],this.transform.zoom),0],Ne=new Float32Array(16);return i.J(Ne,b,ke),Ne}saveTileTexture(b){let I=this._tileTextures[b.size[0]];I?I.push(b):this._tileTextures[b.size[0]]=[b]}getTileTexture(b){let I=this._tileTextures[b];return I&&I.length>0?I.pop():null}isPatternMissing(b){if(!b)return!1;if(!b.from||!b.to)return!0;let I=this.imageManager.getPattern(b.from.toString()),G=this.imageManager.getPattern(b.to.toString());return!I||!G}useProgram(b,I){this.cache=this.cache||{};let G=b+(I?I.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"")+(this.style.map.terrain?"/terrain":"");return this.cache[G]||(this.cache[G]=new xn(this.context,ia[b],I,Eu[b],this._showOverdrawInspector,this.style.map.terrain)),this.cache[G]}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 b=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(b.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new p(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:b,drawingBufferHeight:I}=this.context.gl;return this.width!==b||this.height!==I}}class Ko{constructor(b,I){this.points=b,this.planes=I}static fromInvProjectionMatrix(b,I,G){let H=Math.pow(2,G),$=[[-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((ke=>{let Ne=1/(ke=i.af([],ke,b))[3]/I*H;return i.b1(ke,ke,[Ne,Ne,1/ke[3],Ne])})),xe=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((ke=>{let Ne=(function(zt,Yt){var Q=Yt[0],ae=Yt[1],ve=Yt[2],be=Q*Q+ae*ae+ve*ve;return be>0&&(be=1/Math.sqrt(be)),zt[0]=Yt[0]*be,zt[1]=Yt[1]*be,zt[2]=Yt[2]*be,zt})([],(function(zt,Yt,Q){var ae=Yt[0],ve=Yt[1],be=Yt[2],De=Q[0],Se=Q[1],Be=Q[2];return zt[0]=ve*Be-be*Se,zt[1]=be*De-ae*Be,zt[2]=ae*Se-ve*De,zt})([],k([],$[ke[0]],$[ke[1]]),k([],$[ke[2]],$[ke[1]]))),et=-((bt=Ne)[0]*(Tt=$[ke[1]])[0]+bt[1]*Tt[1]+bt[2]*Tt[2]);var bt,Tt;return Ne.concat(et)}));return new Ko($,xe)}}class Hu{constructor(b,I){this.min=b,this.max=I,this.center=(function(G,H,$){return G[0]=.5*H[0],G[1]=.5*H[1],G[2]=.5*H[2],G})([],(function(G,H,$){return G[0]=H[0]+$[0],G[1]=H[1]+$[1],G[2]=H[2]+$[2],G})([],this.min,this.max))}quadrant(b){let I=[b%2==0,b<2],G=M(this.min),H=M(this.max);for(let $=0;$=0&&xe++;if(xe===0)return 0;xe!==I.length&&(G=!1)}if(G)return 2;for(let H=0;H<3;H++){let $=Number.MAX_VALUE,xe=-Number.MAX_VALUE;for(let ke=0;kethis.max[H]-this.min[H])return 0}return 1}}class Pl{constructor(b=0,I=0,G=0,H=0){if(isNaN(b)||b<0||isNaN(I)||I<0||isNaN(G)||G<0||isNaN(H)||H<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=b,this.bottom=I,this.left=G,this.right=H}interpolate(b,I,G){return I.top!=null&&b.top!=null&&(this.top=i.y.number(b.top,I.top,G)),I.bottom!=null&&b.bottom!=null&&(this.bottom=i.y.number(b.bottom,I.bottom,G)),I.left!=null&&b.left!=null&&(this.left=i.y.number(b.left,I.left,G)),I.right!=null&&b.right!=null&&(this.right=i.y.number(b.right,I.right,G)),this}getCenter(b,I){let G=i.ac((this.left+b-this.right)/2,0,b),H=i.ac((this.top+I-this.bottom)/2,0,I);return new i.P(G,H)}equals(b){return this.top===b.top&&this.bottom===b.bottom&&this.left===b.left&&this.right===b.right}clone(){return new Pl(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}let ic=85.051129;class Yc{constructor(b,I,G,H,$){this.tileSize=512,this._renderWorldCopies=$===void 0||!!$,this._minZoom=b||0,this._maxZoom=I||22,this._minPitch=G==null?0:G,this._maxPitch=H==null?60:H,this.setMaxBounds(),this.width=0,this.height=0,this._center=new i.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Pl,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){let b=new Yc(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return b.apply(this),b}apply(b){this.tileSize=b.tileSize,this.latRange=b.latRange,this.lngRange=b.lngRange,this.width=b.width,this.height=b.height,this._center=b._center,this._elevation=b._elevation,this.minElevationForCurrentTile=b.minElevationForCurrentTile,this.zoom=b.zoom,this.angle=b.angle,this._fov=b._fov,this._pitch=b._pitch,this._unmodified=b._unmodified,this._edgeInsets=b._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(b){this._minZoom!==b&&(this._minZoom=b,this.zoom=Math.max(this.zoom,b))}get maxZoom(){return this._maxZoom}set maxZoom(b){this._maxZoom!==b&&(this._maxZoom=b,this.zoom=Math.min(this.zoom,b))}get minPitch(){return this._minPitch}set minPitch(b){this._minPitch!==b&&(this._minPitch=b,this.pitch=Math.max(this.pitch,b))}get maxPitch(){return this._maxPitch}set maxPitch(b){this._maxPitch!==b&&(this._maxPitch=b,this.pitch=Math.min(this.pitch,b))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(b){b===void 0?b=!0:b===null&&(b=!1),this._renderWorldCopies=b}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new i.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(b){let I=-i.b3(b,-180,180)*Math.PI/180;this.angle!==I&&(this._unmodified=!1,this.angle=I,this._calcMatrices(),this.rotationMatrix=(function(){var G=new i.A(4);return i.A!=Float32Array&&(G[1]=0,G[2]=0),G[0]=1,G[3]=1,G})(),(function(G,H,$){var xe=H[0],ke=H[1],Ne=H[2],et=H[3],bt=Math.sin($),Tt=Math.cos($);G[0]=xe*Tt+Ne*bt,G[1]=ke*Tt+et*bt,G[2]=xe*-bt+Ne*Tt,G[3]=ke*-bt+et*Tt})(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(b){let I=i.ac(b,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==I&&(this._unmodified=!1,this._pitch=I,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(b){b=Math.max(.01,Math.min(60,b)),this._fov!==b&&(this._unmodified=!1,this._fov=b/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(b){let I=Math.min(Math.max(b,this.minZoom),this.maxZoom);this._zoom!==I&&(this._unmodified=!1,this._zoom=I,this.tileZoom=Math.max(0,Math.floor(I)),this.scale=this.zoomScale(I),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(b){b.lat===this._center.lat&&b.lng===this._center.lng||(this._unmodified=!1,this._center=b,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(b){b!==this._elevation&&(this._elevation=b,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(b){this._edgeInsets.equals(b)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,b,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(b){return this._edgeInsets.equals(b)}interpolatePadding(b,I,G){this._unmodified=!1,this._edgeInsets.interpolate(b,I,G),this._constrain(),this._calcMatrices()}coveringZoomLevel(b){let I=(b.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/b.tileSize));return Math.max(0,I)}getVisibleUnwrappedCoordinates(b){let I=[new i.b4(0,b)];if(this._renderWorldCopies){let G=this.pointCoordinate(new i.P(0,0)),H=this.pointCoordinate(new i.P(this.width,0)),$=this.pointCoordinate(new i.P(this.width,this.height)),xe=this.pointCoordinate(new i.P(0,this.height)),ke=Math.floor(Math.min(G.x,H.x,$.x,xe.x)),Ne=Math.floor(Math.max(G.x,H.x,$.x,xe.x)),et=1;for(let bt=ke-et;bt<=Ne+et;bt++)bt!==0&&I.push(new i.b4(bt,b))}return I}coveringTiles(b){var I,G;let H=this.coveringZoomLevel(b),$=H;if(b.minzoom!==void 0&&Hb.maxzoom&&(H=b.maxzoom);let xe=this.pointCoordinate(this.getCameraPoint()),ke=i.Z.fromLngLat(this.center),Ne=Math.pow(2,H),et=[Ne*xe.x,Ne*xe.y,0],bt=[Ne*ke.x,Ne*ke.y,0],Tt=Ko.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,H),zt=b.minzoom||0;!b.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(zt=H);let Yt=b.terrain?2/Math.min(this.tileSize,b.tileSize)*this.tileSize:3,Q=Se=>({aabb:new Hu([Se*Ne,0,0],[(Se+1)*Ne,Ne,0]),zoom:0,x:0,y:0,wrap:Se,fullyVisible:!1}),ae=[],ve=[],be=H,De=b.reparseOverscaled?$:H;if(this._renderWorldCopies)for(let Se=1;Se<=3;Se++)ae.push(Q(-Se)),ae.push(Q(Se));for(ae.push(Q(0));ae.length>0;){let Se=ae.pop(),Be=Se.x,ut=Se.y,gt=Se.fullyVisible;if(!gt){let sr=Se.aabb.intersects(Tt);if(sr===0)continue;gt=sr===2}let Mt=b.terrain?et:bt,Ft=Se.aabb.distanceX(Mt),Ot=Se.aabb.distanceY(Mt),er=Math.max(Math.abs(Ft),Math.abs(Ot));if(Se.zoom===be||er>Yt+(1<=zt){let sr=be-Se.zoom,wr=et[0]-.5-(Be<>1),pn=Se.zoom+1,cn=Se.aabb.quadrant(sr);if(b.terrain){let kn=new i.S(pn,Se.wrap,pn,wr,Gr),ta=b.terrain.getMinMaxElevation(kn),ka=(I=ta.minElevation)!==null&&I!==void 0?I:this.elevation,va=(G=ta.maxElevation)!==null&&G!==void 0?G:this.elevation;cn=new Hu([cn.min[0],cn.min[1],ka],[cn.max[0],cn.max[1],va])}ae.push({aabb:cn,zoom:pn,x:wr,y:Gr,wrap:Se.wrap,fullyVisible:gt})}}return ve.sort(((Se,Be)=>Se.distanceSq-Be.distanceSq)).map((Se=>Se.tileID))}resize(b,I){this.width=b,this.height=I,this.pixelsToGLUnits=[2/b,-2/I],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(b){return Math.pow(2,b)}scaleZoom(b){return Math.log(b)/Math.LN2}project(b){let I=i.ac(b.lat,-85.051129,ic);return new i.P(i.O(b.lng)*this.worldSize,i.Q(I)*this.worldSize)}unproject(b){return new i.Z(b.x/this.worldSize,b.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(b){let I=this.elevation,G=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,H=this.pointLocation(this.centerPoint,b),$=b.getElevationForLngLatZoom(H,this.tileZoom);if(!(this.elevation-$))return;let xe=G+I-$,ke=Math.cos(this._pitch)*this.cameraToCenterDistance/xe/i.b5(1,H.lat),Ne=this.scaleZoom(ke/this.tileSize);this._elevation=$,this._center=H,this.zoom=Ne}setLocationAtPoint(b,I){let G=this.pointCoordinate(I),H=this.pointCoordinate(this.centerPoint),$=this.locationCoordinate(b),xe=new i.Z($.x-(G.x-H.x),$.y-(G.y-H.y));this.center=this.coordinateLocation(xe),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(b,I){return I?this.coordinatePoint(this.locationCoordinate(b),I.getElevationForLngLatZoom(b,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(b))}pointLocation(b,I){return this.coordinateLocation(this.pointCoordinate(b,I))}locationCoordinate(b){return i.Z.fromLngLat(b)}coordinateLocation(b){return b&&b.toLngLat()}pointCoordinate(b,I){if(I){let zt=I.pointCoordinate(b);if(zt!=null)return zt}let G=[b.x,b.y,0,1],H=[b.x,b.y,1,1];i.af(G,G,this.pixelMatrixInverse),i.af(H,H,this.pixelMatrixInverse);let $=G[3],xe=H[3],ke=G[1]/$,Ne=H[1]/xe,et=G[2]/$,bt=H[2]/xe,Tt=et===bt?0:(0-et)/(bt-et);return new i.Z(i.y.number(G[0]/$,H[0]/xe,Tt)/this.worldSize,i.y.number(ke,Ne,Tt)/this.worldSize)}coordinatePoint(b,I=0,G=this.pixelMatrix){let H=[b.x*this.worldSize,b.y*this.worldSize,I,1];return i.af(H,H,G),new i.P(H[0]/H[3],H[1]/H[3])}getBounds(){let b=Math.max(0,this.height/2-this.getHorizon());return new le().extend(this.pointLocation(new i.P(0,b))).extend(this.pointLocation(new i.P(this.width,b))).extend(this.pointLocation(new i.P(this.width,this.height))).extend(this.pointLocation(new i.P(0,this.height)))}getMaxBounds(){return this.latRange&&this.latRange.length===2&&this.lngRange&&this.lngRange.length===2?new le([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(b){b?(this.lngRange=[b.getWest(),b.getEast()],this.latRange=[b.getSouth(),b.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,ic])}calculateTileMatrix(b){let I=b.canonical,G=this.worldSize/this.zoomScale(I.z),H=I.x+Math.pow(2,I.z)*b.wrap,$=i.an(new Float64Array(16));return i.J($,$,[H*G,I.y*G,0]),i.K($,$,[G/i.X,G/i.X,1]),$}calculatePosMatrix(b,I=!1){let G=b.key,H=I?this._alignedPosMatrixCache:this._posMatrixCache;if(H[G])return H[G];let $=this.calculateTileMatrix(b);return i.L($,I?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,$),H[G]=new Float32Array($),H[G]}calculateFogMatrix(b){let I=b.key,G=this._fogMatrixCache;if(G[I])return G[I];let H=this.calculateTileMatrix(b);return i.L(H,this.fogMatrix,H),G[I]=new Float32Array(H),G[I]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(b,I){I=i.ac(+I,this.minZoom,this.maxZoom);let G={center:new i.N(b.lng,b.lat),zoom:I},H=this.lngRange;if(!this._renderWorldCopies&&H===null){let Se=179.9999999999;H=[-Se,Se]}let $=this.tileSize*this.zoomScale(G.zoom),xe=0,ke=$,Ne=0,et=$,bt=0,Tt=0,{x:zt,y:Yt}=this.size;if(this.latRange){let Se=this.latRange;xe=i.Q(Se[1])*$,ke=i.Q(Se[0])*$,ke-xeke&&(be=ke-Se)}if(H){let Se=(Ne+et)/2,Be=Q;this._renderWorldCopies&&(Be=i.b3(Q,Se-$/2,Se+$/2));let ut=zt/2;Be-utet&&(ve=et-ut)}if(ve!==void 0||be!==void 0){let Se=new i.P(ve!=null?ve:Q,be!=null?be:ae);G.center=this.unproject.call({worldSize:$},Se).wrap()}return G}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let b=this._unmodified,{center:I,zoom:G}=this.getConstrained(this.center,this.zoom);this.center=I,this.zoom=G,this._unmodified=b,this._constraining=!1}_calcMatrices(){if(!this.height)return;let b=this.centerOffset,I=this.point.x,G=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=i.b5(1,this.center.lat)*this.worldSize;let H=i.an(new Float64Array(16));i.K(H,H,[this.width/2,-this.height/2,1]),i.J(H,H,[1,-1,0]),this.labelPlaneMatrix=H,H=i.an(new Float64Array(16)),i.K(H,H,[1,-1,1]),i.J(H,H,[-1,-1,0]),i.K(H,H,[2/this.width,2/this.height,1]),this.glCoordMatrix=H;let $=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),xe=Math.min(this.elevation,this.minElevationForCurrentTile),ke=$-xe*this._pixelPerMeter/Math.cos(this._pitch),Ne=xe<0?ke:$,et=Math.PI/2+this._pitch,bt=this._fov*(.5+b.y/this.height),Tt=Math.sin(bt)*Ne/Math.sin(i.ac(Math.PI-et-bt,.01,Math.PI-.01)),zt=this.getHorizon(),Yt=2*Math.atan(zt/this.cameraToCenterDistance)*(.5+b.y/(2*zt)),Q=Math.sin(Yt)*Ne/Math.sin(i.ac(Math.PI-et-Yt,.01,Math.PI-.01)),ae=Math.min(Tt,Q);this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*ae+Ne),this.nearZ=this.height/50,H=new Float64Array(16),i.b6(H,this._fov,this.width/this.height,this.nearZ,this.farZ),H[8]=2*-b.x/this.width,H[9]=2*b.y/this.height,this.projectionMatrix=i.ae(H),i.K(H,H,[1,-1,1]),i.J(H,H,[0,0,-this.cameraToCenterDistance]),i.b7(H,H,this._pitch),i.ad(H,H,this.angle),i.J(H,H,[-I,-G,0]),this.mercatorMatrix=i.K([],H,[this.worldSize,this.worldSize,this.worldSize]),i.K(H,H,[1,1,this._pixelPerMeter]),this.pixelMatrix=i.L(new Float64Array(16),this.labelPlaneMatrix,H),i.J(H,H,[0,0,-this.elevation]),this.modelViewProjectionMatrix=H,this.invModelViewProjectionMatrix=i.as([],H),this.fogMatrix=new Float64Array(16),i.b6(this.fogMatrix,this._fov,this.width/this.height,$,this.farZ),this.fogMatrix[8]=2*-b.x/this.width,this.fogMatrix[9]=2*b.y/this.height,i.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),i.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),i.b7(this.fogMatrix,this.fogMatrix,this._pitch),i.ad(this.fogMatrix,this.fogMatrix,this.angle),i.J(this.fogMatrix,this.fogMatrix,[-I,-G,0]),i.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),i.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=i.L(new Float64Array(16),this.labelPlaneMatrix,H);let ve=this.width%2/2,be=this.height%2/2,De=Math.cos(this.angle),Se=Math.sin(this.angle),Be=I-Math.round(I)+De*ve+Se*be,ut=G-Math.round(G)+De*be+Se*ve,gt=new Float64Array(H);if(i.J(gt,gt,[Be>.5?Be-1:Be,ut>.5?ut-1:ut,0]),this.alignedModelViewProjectionMatrix=gt,H=i.as(new Float64Array(16),this.pixelMatrix),!H)throw new Error("failed to invert matrix");this.pixelMatrixInverse=H,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let b=this.pointCoordinate(new i.P(0,0)),I=[b.x*this.worldSize,b.y*this.worldSize,0,1];return i.af(I,I,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let b=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new i.P(0,b))}getCameraQueryGeometry(b){let I=this.getCameraPoint();if(b.length===1)return[b[0],I];{let G=I.x,H=I.y,$=I.x,xe=I.y;for(let ke of b)G=Math.min(G,ke.x),H=Math.min(H,ke.y),$=Math.max($,ke.x),xe=Math.max(xe,ke.y);return[new i.P(G,H),new i.P($,H),new i.P($,xe),new i.P(G,xe),new i.P(G,H)]}}lngLatToCameraDepth(b,I){let G=this.locationCoordinate(b),H=[G.x*this.worldSize,G.y*this.worldSize,I,1];return i.af(H,H,this.modelViewProjectionMatrix),H[2]/H[3]}}function zf(K,b){let I,G=!1,H=null,$=null,xe=()=>{H=null,G&&(K.apply($,I),H=setTimeout(xe,b),G=!1)};return(...ke)=>(G=!0,$=this,I=ke,H||xe(),H)}class lh{constructor(b){this._getCurrentHash=()=>{let I=window.location.hash.replace("#","");if(this._hashName){let G;return I.split("&").map((H=>H.split("="))).forEach((H=>{H[0]===this._hashName&&(G=H)})),(G&&G[1]||"").split("/")}return I.split("/")},this._onHashChange=()=>{let I=this._getCurrentHash();if(I.length>=3&&!I.some((G=>isNaN(G)))){let G=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(I[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+I[2],+I[1]],zoom:+I[0],bearing:G,pitch:+(I[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let I=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,I)},this._removeHash=()=>{let I=this._getCurrentHash();if(I.length===0)return;let G=I.join("/"),H=G;H.split("&").length>0&&(H=H.split("&")[0]),this._hashName&&(H=`${this._hashName}=${G}`);let $=window.location.hash.replace(H,"");$.startsWith("#&")?$=$.slice(0,1)+$.slice(2):$==="#"&&($="");let xe=window.location.href.replace(/(#.+)?$/,$);xe=xe.replace("&&","&"),window.history.replaceState(window.history.state,null,xe)},this._updateHash=zf(this._updateHashUnthrottled,300),this._hashName=b&&encodeURIComponent(b)}addTo(b){return this._map=b,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(b){let I=this._map.getCenter(),G=Math.round(100*this._map.getZoom())/100,H=Math.ceil((G*Math.LN2+Math.log(512/360/.5))/Math.LN10),$=Math.pow(10,H),xe=Math.round(I.lng*$)/$,ke=Math.round(I.lat*$)/$,Ne=this._map.getBearing(),et=this._map.getPitch(),bt="";if(bt+=b?`/${xe}/${ke}/${G}`:`${G}/${ke}/${xe}`,(Ne||et)&&(bt+="/"+Math.round(10*Ne)/10),et&&(bt+=`/${Math.round(et)}`),this._hashName){let Tt=this._hashName,zt=!1,Yt=window.location.hash.slice(1).split("&").map((Q=>{let ae=Q.split("=")[0];return ae===Tt?(zt=!0,`${ae}=${bt}`):Q})).filter((Q=>Q));return zt||Yt.push(`${Tt}=${bt}`),`#${Yt.join("&")}`}return`#${bt}`}}let yu={linearity:.3,easing:i.b8(0,0,.3,1)},ju=i.e({deceleration:2500,maxSpeed:1400},yu),Lu=i.e({deceleration:20,maxSpeed:1400},yu),Id=i.e({deceleration:1e3,maxSpeed:360},yu),Xc=i.e({deceleration:1e3,maxSpeed:90},yu);class Jh{constructor(b){this._map=b,this.clear()}clear(){this._inertiaBuffer=[]}record(b){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:u.now(),settings:b})}_drainInertiaBuffer(){let b=this._inertiaBuffer,I=u.now();for(;b.length>0&&I-b[0].time>160;)b.shift()}_onMoveEnd(b){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let I={zoom:0,bearing:0,pitch:0,pan:new i.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:$}of this._inertiaBuffer)I.zoom+=$.zoomDelta||0,I.bearing+=$.bearingDelta||0,I.pitch+=$.pitchDelta||0,$.panDelta&&I.pan._add($.panDelta),$.around&&(I.around=$.around),$.pinchAround&&(I.pinchAround=$.pinchAround);let G=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,H={};if(I.pan.mag()){let $=Cc(I.pan.mag(),G,i.e({},ju,b||{}));H.offset=I.pan.mult($.amount/I.pan.mag()),H.center=this._map.transform.center,Vl(H,$)}if(I.zoom){let $=Cc(I.zoom,G,Lu);H.zoom=this._map.transform.zoom+$.amount,Vl(H,$)}if(I.bearing){let $=Cc(I.bearing,G,Id);H.bearing=this._map.transform.bearing+i.ac($.amount,-179,179),Vl(H,$)}if(I.pitch){let $=Cc(I.pitch,G,Xc);H.pitch=this._map.transform.pitch+$.amount,Vl(H,$)}if(H.zoom||H.bearing){let $=I.pinchAround===void 0?I.around:I.pinchAround;H.around=$?this._map.unproject($):this._map.getCenter()}return this.clear(),i.e(H,{noMoveStart:!0})}}function Vl(K,b){(!K.duration||K.durationI.unproject(Ne))),ke=$.reduce(((Ne,et,bt,Tt)=>Ne.add(et.div(Tt.length))),new i.P(0,0));super(b,{points:$,point:ke,lngLats:xe,lngLat:I.unproject(ke),originalEvent:G}),this._defaultPrevented=!1}}class xd extends i.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(b,I,G){super(b,{originalEvent:G}),this._defaultPrevented=!1}}class qf{constructor(b,I){this._map=b,this._clickTolerance=I.clickTolerance}reset(){delete this._mousedownPos}wheel(b){return this._firePreventable(new xd(b.type,this._map,b))}mousedown(b,I){return this._mousedownPos=I,this._firePreventable(new Fs(b.type,this._map,b))}mouseup(b){this._map.fire(new Fs(b.type,this._map,b))}click(b,I){this._mousedownPos&&this._mousedownPos.dist(I)>=this._clickTolerance||this._map.fire(new Fs(b.type,this._map,b))}dblclick(b){return this._firePreventable(new Fs(b.type,this._map,b))}mouseover(b){this._map.fire(new Fs(b.type,this._map,b))}mouseout(b){this._map.fire(new Fs(b.type,this._map,b))}touchstart(b){return this._firePreventable(new oc(b.type,this._map,b))}touchmove(b){this._map.fire(new oc(b.type,this._map,b))}touchend(b){this._map.fire(new oc(b.type,this._map,b))}touchcancel(b){this._map.fire(new oc(b.type,this._map,b))}_firePreventable(b){if(this._map.fire(b),b.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Lo{constructor(b){this._map=b}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(b){this._map.fire(new Fs(b.type,this._map,b))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Fs("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(b){this._delayContextMenu?this._contextMenuEvent=b:this._ignoreContextMenu||this._map.fire(new Fs(b.type,this._map,b)),this._map.listens("contextmenu")&&b.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class wl{constructor(b){this._map=b}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(b){return this.transform.pointLocation(i.P.convert(b),this._map.terrain)}}class Dl{constructor(b,I){this._map=b,this._tr=new wl(b),this._el=b.getCanvasContainer(),this._container=b.getContainer(),this._clickTolerance=I.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(b,I){this.isEnabled()&&b.shiftKey&&b.button===0&&(c.disableDrag(),this._startPos=this._lastPos=I,this._active=!0)}mousemoveWindow(b,I){if(!this._active)return;let G=I;if(this._lastPos.equals(G)||!this._box&&G.dist(this._startPos)$.fitScreenCoordinates(G,H,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",b)}keydown(b){this._active&&b.keyCode===27&&(this.reset(),this._fireEvent("boxzoomcancel",b))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(c.remove(this._box),this._box=null),c.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(b,I){return this._map.fire(new i.k(b,{originalEvent:I}))}}function Bf(K,b){if(K.length!==b.length)throw new Error(`The number of touches and points are not equal - touches ${K.length}, points ${b.length}`);let I={};for(let G=0;Gthis.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=b.timeStamp),G.length===this.numTouches&&(this.centroid=(function(H){let $=new i.P(0,0);for(let xe of H)$._add(xe);return $.div(H.length)})(I),this.touches=Bf(G,I)))}touchmove(b,I,G){if(this.aborted||!this.centroid)return;let H=Bf(G,I);for(let $ in this.touches){let xe=H[$];(!xe||xe.dist(this.touches[$])>30)&&(this.aborted=!0)}}touchend(b,I,G){if((!this.centroid||b.timeStamp-this.startTime>500)&&(this.aborted=!0),G.length===0){let H=!this.aborted&&this.centroid;if(this.reset(),H)return H}}}class Lc{constructor(b){this.singleTap=new Of(b),this.numTaps=b.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(b,I,G){this.singleTap.touchstart(b,I,G)}touchmove(b,I,G){this.singleTap.touchmove(b,I,G)}touchend(b,I,G){let H=this.singleTap.touchend(b,I,G);if(H){let $=b.timeStamp-this.lastTime<500,xe=!this.lastTap||this.lastTap.dist(H)<30;if($&&xe||this.reset(),this.count++,this.lastTime=b.timeStamp,this.lastTap=H,this.count===this.numTaps)return this.reset(),H}}}class Fc{constructor(b){this._tr=new wl(b),this._zoomIn=new Lc({numTouches:1,numTaps:2}),this._zoomOut=new Lc({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(b,I,G){this._zoomIn.touchstart(b,I,G),this._zoomOut.touchstart(b,I,G)}touchmove(b,I,G){this._zoomIn.touchmove(b,I,G),this._zoomOut.touchmove(b,I,G)}touchend(b,I,G){let H=this._zoomIn.touchend(b,I,G),$=this._zoomOut.touchend(b,I,G),xe=this._tr;return H?(this._active=!0,b.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:ke=>ke.easeTo({duration:300,zoom:xe.zoom+1,around:xe.unproject(H)},{originalEvent:b})}):$?(this._active=!0,b.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:ke=>ke.easeTo({duration:300,zoom:xe.zoom-1,around:xe.unproject($)},{originalEvent:b})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class nu{constructor(b){this._enabled=!!b.enable,this._moveStateManager=b.moveStateManager,this._clickTolerance=b.clickTolerance||1,this._moveFunction=b.move,this._activateOnStart=!!b.activateOnStart,b.assignEvents(this),this.reset()}reset(b){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(b)}_move(...b){let I=this._moveFunction(...b);if(I.bearingDelta||I.pitchDelta||I.around||I.panDelta)return this._active=!0,I}dragStart(b,I){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(b)&&(this._moveStateManager.startMove(b),this._lastPoint=I.length?I[0]:I,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(b,I){if(!this.isEnabled())return;let G=this._lastPoint;if(!G)return;if(b.preventDefault(),!this._moveStateManager.isValidMoveEvent(b))return void this.reset(b);let H=I.length?I[0]:I;return!this._moved&&H.dist(G){K.mousedown=K.dragStart,K.mousemoveWindow=K.dragMove,K.mouseup=K.dragEnd,K.contextmenu=b=>{b.preventDefault()}},uh=({enable:K,clickTolerance:b,bearingDegreesPerPixelMoved:I=.8})=>{let G=new sc({checkCorrectEvent:H=>c.mouseButton(H)===0&&H.ctrlKey||c.mouseButton(H)===2});return new nu({clickTolerance:b,move:(H,$)=>({bearingDelta:($.x-H.x)*I}),moveStateManager:G,enable:K,assignEvents:Uf})},Qh=({enable:K,clickTolerance:b,pitchDegreesPerPixelMoved:I=-.5})=>{let G=new sc({checkCorrectEvent:H=>c.mouseButton(H)===0&&H.ctrlKey||c.mouseButton(H)===2});return new nu({clickTolerance:b,move:(H,$)=>({pitchDelta:($.y-H.y)*I}),moveStateManager:G,enable:K,assignEvents:Uf})};class hf{constructor(b,I){this._clickTolerance=b.clickTolerance||1,this._map=I,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new i.P(0,0)}_shouldBePrevented(b){return b<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(b,I,G){return this._calculateTransform(b,I,G)}touchmove(b,I,G){if(this._active){if(!this._shouldBePrevented(G.length))return b.preventDefault(),this._calculateTransform(b,I,G);this._map.cooperativeGestures.notifyGestureBlocked("touch_pan",b)}}touchend(b,I,G){this._calculateTransform(b,I,G),this._active&&this._shouldBePrevented(G.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(b,I,G){G.length>0&&(this._active=!0);let H=Bf(G,I),$=new i.P(0,0),xe=new i.P(0,0),ke=0;for(let et in H){let bt=H[et],Tt=this._touches[et];Tt&&($._add(bt),xe._add(bt.sub(Tt)),ke++,H[et]=bt)}if(this._touches=H,this._shouldBePrevented(ke)||!xe.mag())return;let Ne=xe.div(ke);return this._sum._add(Ne),this._sum.mag()Math.abs(K.x)}class Wu extends ch{constructor(b){super(),this._currentTouchCount=0,this._map=b}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(b,I,G){super.touchstart(b,I,G),this._currentTouchCount=G.length}_start(b){this._lastPoints=b,vf(b[0].sub(b[1]))&&(this._valid=!1)}_move(b,I,G){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let H=b[0].sub(this._lastPoints[0]),$=b[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(H,$,G.timeStamp),this._valid?(this._lastPoints=b,this._active=!0,{pitchDelta:(H.y+$.y)/2*-.5}):void 0}gestureBeginsVertically(b,I,G){if(this._valid!==void 0)return this._valid;let H=b.mag()>=2,$=I.mag()>=2;if(!H&&!$)return;if(!H||!$)return this._firstMove===void 0&&(this._firstMove=G),G-this._firstMove<100&&void 0;let xe=b.y>0==I.y>0;return vf(b)&&vf(I)&&xe}}let Je={panStep:100,bearingStep:15,pitchStep:10};class yt{constructor(b){this._tr=new wl(b);let I=Je;this._panStep=I.panStep,this._bearingStep=I.bearingStep,this._pitchStep=I.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(b){if(b.altKey||b.ctrlKey||b.metaKey)return;let I=0,G=0,H=0,$=0,xe=0;switch(b.keyCode){case 61:case 107:case 171:case 187:I=1;break;case 189:case 109:case 173:I=-1;break;case 37:b.shiftKey?G=-1:(b.preventDefault(),$=-1);break;case 39:b.shiftKey?G=1:(b.preventDefault(),$=1);break;case 38:b.shiftKey?H=1:(b.preventDefault(),xe=-1);break;case 40:b.shiftKey?H=-1:(b.preventDefault(),xe=1);break;default:return}return this._rotationDisabled&&(G=0,H=0),{cameraAnimation:ke=>{let Ne=this._tr;ke.easeTo({duration:300,easeId:"keyboardHandler",easing:Gt,zoom:I?Math.round(Ne.zoom)+I*(b.shiftKey?2:1):Ne.zoom,bearing:Ne.bearing+G*this._bearingStep,pitch:Ne.pitch+H*this._pitchStep,offset:[-$*this._panStep,-xe*this._panStep],center:Ne.center},{originalEvent:b})}}}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 Gt(K){return K*(2-K)}let Bt=4.000244140625;class mr{constructor(b,I){this._onTimeout=G=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(G)},this._map=b,this._tr=new wl(b),this._triggerRenderFrame=I,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(b){this._defaultZoomRate=b}setWheelZoomRate(b){this._wheelZoomRate=b}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(b){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!b&&b.around==="center")}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(b){return!!this._map.cooperativeGestures.isEnabled()&&!(b.ctrlKey||this._map.cooperativeGestures.isBypassed(b))}wheel(b){if(!this.isEnabled())return;if(this._shouldBePrevented(b))return void this._map.cooperativeGestures.notifyGestureBlocked("wheel_zoom",b);let I=b.deltaMode===WheelEvent.DOM_DELTA_LINE?40*b.deltaY:b.deltaY,G=u.now(),H=G-(this._lastWheelEventTime||0);this._lastWheelEventTime=G,I!==0&&I%Bt==0?this._type="wheel":I!==0&&Math.abs(I)<4?this._type="trackpad":H>400?(this._type=null,this._lastValue=I,this._timeout=setTimeout(this._onTimeout,40,b)):this._type||(this._type=Math.abs(H*I)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,I+=this._lastValue)),b.shiftKey&&I&&(I/=4),this._type&&(this._lastWheelEvent=b,this._delta-=I,this._active||this._start(b)),b.preventDefault()}_start(b){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 I=c.mousePos(this._map.getCanvas(),b),G=this._tr;this._around=I.y>G.transform.height/2-G.transform.getHorizon()?i.N.convert(this._aroundCenter?G.center:G.unproject(I)):i.N.convert(G.center),this._aroundPoint=G.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let b=this._tr.transform;if(this._delta!==0){let Ne=this._type==="wheel"&&Math.abs(this._delta)>Bt?this._wheelZoomRate:this._defaultZoomRate,et=2/(1+Math.exp(-Math.abs(this._delta*Ne)));this._delta<0&&et!==0&&(et=1/et);let bt=typeof this._targetZoom=="number"?b.zoomScale(this._targetZoom):b.scale;this._targetZoom=Math.min(b.maxZoom,Math.max(b.minZoom,b.scaleZoom(bt*et))),this._type==="wheel"&&(this._startZoom=b.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let I=typeof this._targetZoom=="number"?this._targetZoom:b.zoom,G=this._startZoom,H=this._easing,$,xe=!1,ke=u.now()-this._lastWheelEventTime;if(this._type==="wheel"&&G&&H&&ke){let Ne=Math.min(ke/200,1),et=H(Ne);$=i.y.number(G,I,et),Ne<1?this._frameId||(this._frameId=!0):xe=!0}else $=I,xe=!0;return this._active=!0,xe&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!xe,zoomDelta:$-b.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(b){let I=i.b9;if(this._prevEase){let G=this._prevEase,H=(u.now()-G.start)/G.duration,$=G.easing(H+.01)-G.easing(H),xe=.27/Math.sqrt($*$+1e-4)*.01,ke=Math.sqrt(.0729-xe*xe);I=i.b8(xe,ke,.25,1)}return this._prevEase={start:u.now(),duration:b,easing:I},I}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class Ur{constructor(b,I){this._clickZoom=b,this._tapZoom=I}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 en{constructor(b){this._tr=new wl(b),this.reset()}reset(){this._active=!1}dblclick(b,I){return b.preventDefault(),{cameraAnimation:G=>{G.easeTo({duration:300,zoom:this._tr.zoom+(b.shiftKey?-1:1),around:this._tr.unproject(I)},{originalEvent:b})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class mn{constructor(){this._tap=new Lc({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(b,I,G){if(!this._swipePoint)if(this._tapTime){let H=I[0],$=b.timeStamp-this._tapTime<500,xe=this._tapPoint.dist(H)<30;$&&xe?G.length>0&&(this._swipePoint=H,this._swipeTouch=G[0].identifier):this.reset()}else this._tap.touchstart(b,I,G)}touchmove(b,I,G){if(this._tapTime){if(this._swipePoint){if(G[0].identifier!==this._swipeTouch)return;let H=I[0],$=H.y-this._swipePoint.y;return this._swipePoint=H,b.preventDefault(),this._active=!0,{zoomDelta:$/128}}}else this._tap.touchmove(b,I,G)}touchend(b,I,G){if(this._tapTime)this._swipePoint&&G.length===0&&this.reset();else{let H=this._tap.touchend(b,I,G);H&&(this._tapTime=b.timeStamp,this._tapPoint=H)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class An{constructor(b,I,G){this._el=b,this._mousePan=I,this._touchPan=G}enable(b){this._inertiaOptions=b||{},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 Vn{constructor(b,I,G){this._pitchWithRotate=b.pitchWithRotate,this._mouseRotate=I,this._mousePitch=G}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 tn{constructor(b,I,G,H){this._el=b,this._touchZoom=I,this._touchRotate=G,this._tapDragZoom=H,this._rotationDisabled=!1,this._enabled=!0}enable(b){this._touchZoom.enable(b),this._rotationDisabled||this._touchRotate.enable(b),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 nn{constructor(b,I){this._bypassKey=navigator.userAgent.indexOf("Mac")!==-1?"metaKey":"ctrlKey",this._map=b,this._options=I,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let b=this._map.getCanvasContainer();b.classList.add("maplibregl-cooperative-gestures"),this._container=c.create("div","maplibregl-cooperative-gesture-screen",b);let I=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");this._bypassKey==="metaKey"&&(I=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));let G=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),H=document.createElement("div");H.className="maplibregl-desktop-message",H.textContent=I,this._container.appendChild(H);let $=document.createElement("div");$.className="maplibregl-mobile-message",$.textContent=G,this._container.appendChild($),this._container.setAttribute("aria-hidden","true")}_destroyUI(){this._container&&(c.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(b){return b[this._bypassKey]}notifyGestureBlocked(b,I){this._enabled&&(this._map.fire(new i.k("cooperativegestureprevented",{gestureType:b,originalEvent:I})),this._container.classList.add("maplibregl-show"),setTimeout((()=>{this._container.classList.remove("maplibregl-show")}),100))}}let dn=K=>K.zoom||K.drag||K.pitch||K.rotate;class Wr extends i.k{}function ea(K){return K.panDelta&&K.panDelta.mag()||K.zoomDelta||K.bearingDelta||K.pitchDelta}class Ca{constructor(b,I){this.handleWindowEvent=H=>{this.handleEvent(H,`${H.type}Window`)},this.handleEvent=(H,$)=>{if(H.type==="blur")return void this.stop(!0);this._updatingCamera=!0;let xe=H.type==="renderFrame"?void 0:H,ke={needsRenderFrame:!1},Ne={},et={},bt=H.touches,Tt=bt?this._getMapTouches(bt):void 0,zt=Tt?c.touchPos(this._map.getCanvas(),Tt):c.mousePos(this._map.getCanvas(),H);for(let{handlerName:ae,handler:ve,allowed:be}of this._handlers){if(!ve.isEnabled())continue;let De;this._blockedByActive(et,be,ae)?ve.reset():ve[$||H.type]&&(De=ve[$||H.type](H,zt,Tt),this.mergeHandlerResult(ke,Ne,De,ae,xe),De&&De.needsRenderFrame&&this._triggerRenderFrame()),(De||ve.isActive())&&(et[ae]=ve)}let Yt={};for(let ae in this._previousActiveHandlers)et[ae]||(Yt[ae]=xe);this._previousActiveHandlers=et,(Object.keys(Yt).length||ea(ke))&&(this._changes.push([ke,Ne,Yt]),this._triggerRenderFrame()),(Object.keys(et).length||ea(ke))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:Q}=ke;Q&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],Q(this._map))},this._map=b,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Jh(b),this._bearingSnap=I.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(I);let G=this._el;this._listeners=[[G,"touchstart",{passive:!0}],[G,"touchmove",{passive:!1}],[G,"touchend",void 0],[G,"touchcancel",void 0],[G,"mousedown",void 0],[G,"mousemove",void 0],[G,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[G,"mouseover",void 0],[G,"mouseout",void 0],[G,"dblclick",void 0],[G,"click",void 0],[G,"keydown",{capture:!1}],[G,"keyup",void 0],[G,"wheel",{passive:!1}],[G,"contextmenu",void 0],[window,"blur",void 0]];for(let[H,$,xe]of this._listeners)c.addEventListener(H,$,H===document?this.handleWindowEvent:this.handleEvent,xe)}destroy(){for(let[b,I,G]of this._listeners)c.removeEventListener(b,I,b===document?this.handleWindowEvent:this.handleEvent,G)}_addDefaultHandlers(b){let I=this._map,G=I.getCanvasContainer();this._add("mapEvent",new qf(I,b));let H=I.boxZoom=new Dl(I,b);this._add("boxZoom",H),b.interactive&&b.boxZoom&&H.enable();let $=I.cooperativeGestures=new nn(I,b.cooperativeGestures);this._add("cooperativeGestures",$),b.cooperativeGestures&&$.enable();let xe=new Fc(I),ke=new en(I);I.doubleClickZoom=new Ur(ke,xe),this._add("tapZoom",xe),this._add("clickZoom",ke),b.interactive&&b.doubleClickZoom&&I.doubleClickZoom.enable();let Ne=new mn;this._add("tapDragZoom",Ne);let et=I.touchPitch=new Wu(I);this._add("touchPitch",et),b.interactive&&b.touchPitch&&I.touchPitch.enable(b.touchPitch);let bt=uh(b),Tt=Qh(b);I.dragRotate=new Vn(b,bt,Tt),this._add("mouseRotate",bt,["mousePitch"]),this._add("mousePitch",Tt,["mouseRotate"]),b.interactive&&b.dragRotate&&I.dragRotate.enable();let zt=(({enable:De,clickTolerance:Se})=>{let Be=new sc({checkCorrectEvent:ut=>c.mouseButton(ut)===0&&!ut.ctrlKey});return new nu({clickTolerance:Se,move:(ut,gt)=>({around:gt,panDelta:gt.sub(ut)}),activateOnStart:!0,moveStateManager:Be,enable:De,assignEvents:Uf})})(b),Yt=new hf(b,I);I.dragPan=new An(G,zt,Yt),this._add("mousePan",zt),this._add("touchPan",Yt,["touchZoom","touchRotate"]),b.interactive&&b.dragPan&&I.dragPan.enable(b.dragPan);let Q=new ed,ae=new Fu;I.touchZoomRotate=new tn(G,ae,Q,Ne),this._add("touchRotate",Q,["touchPan","touchZoom"]),this._add("touchZoom",ae,["touchPan","touchRotate"]),b.interactive&&b.touchZoomRotate&&I.touchZoomRotate.enable(b.touchZoomRotate);let ve=I.scrollZoom=new mr(I,(()=>this._triggerRenderFrame()));this._add("scrollZoom",ve,["mousePan"]),b.interactive&&b.scrollZoom&&I.scrollZoom.enable(b.scrollZoom);let be=I.keyboard=new yt(I);this._add("keyboard",be),b.interactive&&b.keyboard&&I.keyboard.enable(),this._add("blockableMapEvent",new Lo(I))}_add(b,I,G){this._handlers.push({handlerName:b,handler:I,allowed:G}),this._handlersById[b]=I}stop(b){if(!this._updatingCamera){for(let{handler:I}of this._handlers)I.reset();this._inertia.clear(),this._fireEvents({},{},b),this._changes=[]}}isActive(){for(let{handler:b}of this._handlers)if(b.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!dn(this._eventsInProgress)||this.isZooming()}_blockedByActive(b,I,G){for(let H in b)if(H!==G&&(!I||I.indexOf(H)<0))return!0;return!1}_getMapTouches(b){let I=[];for(let G of b)this._el.contains(G.target)&&I.push(G);return I}mergeHandlerResult(b,I,G,H,$){if(!G)return;i.e(b,G);let xe={handlerName:H,originalEvent:G.originalEvent||$};G.zoomDelta!==void 0&&(I.zoom=xe),G.panDelta!==void 0&&(I.drag=xe),G.pitchDelta!==void 0&&(I.pitch=xe),G.bearingDelta!==void 0&&(I.rotate=xe)}_applyChanges(){let b={},I={},G={};for(let[H,$,xe]of this._changes)H.panDelta&&(b.panDelta=(b.panDelta||new i.P(0,0))._add(H.panDelta)),H.zoomDelta&&(b.zoomDelta=(b.zoomDelta||0)+H.zoomDelta),H.bearingDelta&&(b.bearingDelta=(b.bearingDelta||0)+H.bearingDelta),H.pitchDelta&&(b.pitchDelta=(b.pitchDelta||0)+H.pitchDelta),H.around!==void 0&&(b.around=H.around),H.pinchAround!==void 0&&(b.pinchAround=H.pinchAround),H.noInertia&&(b.noInertia=H.noInertia),i.e(I,$),i.e(G,xe);this._updateMapTransform(b,I,G),this._changes=[]}_updateMapTransform(b,I,G){let H=this._map,$=H._getTransformForUpdate(),xe=H.terrain;if(!(ea(b)||xe&&this._terrainMovement))return this._fireEvents(I,G,!0);let{panDelta:ke,zoomDelta:Ne,bearingDelta:et,pitchDelta:bt,around:Tt,pinchAround:zt}=b;zt!==void 0&&(Tt=zt),H._stop(!0),Tt=Tt||H.transform.centerPoint;let Yt=$.pointLocation(ke?Tt.sub(ke):Tt);et&&($.bearing+=et),bt&&($.pitch+=bt),Ne&&($.zoom+=Ne),xe?this._terrainMovement||!I.drag&&!I.zoom?I.drag&&this._terrainMovement?$.center=$.pointLocation($.centerPoint.sub(ke)):$.setLocationAtPoint(Yt,Tt):(this._terrainMovement=!0,this._map._elevationFreeze=!0,$.setLocationAtPoint(Yt,Tt)):$.setLocationAtPoint(Yt,Tt),H._applyUpdatedTransform($),this._map._update(),b.noInertia||this._inertia.record(b),this._fireEvents(I,G,!0)}_fireEvents(b,I,G){let H=dn(this._eventsInProgress),$=dn(b),xe={};for(let Tt in b){let{originalEvent:zt}=b[Tt];this._eventsInProgress[Tt]||(xe[`${Tt}start`]=zt),this._eventsInProgress[Tt]=b[Tt]}!H&&$&&this._fireEvent("movestart",$.originalEvent);for(let Tt in xe)this._fireEvent(Tt,xe[Tt]);$&&this._fireEvent("move",$.originalEvent);for(let Tt in b){let{originalEvent:zt}=b[Tt];this._fireEvent(Tt,zt)}let ke={},Ne;for(let Tt in this._eventsInProgress){let{handlerName:zt,originalEvent:Yt}=this._eventsInProgress[Tt];this._handlersById[zt].isActive()||(delete this._eventsInProgress[Tt],Ne=I[zt]||Yt,ke[`${Tt}end`]=Ne)}for(let Tt in ke)this._fireEvent(Tt,ke[Tt]);let et=dn(this._eventsInProgress),bt=(H||$)&&!et;if(bt&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;let Tt=this._map._getTransformForUpdate();Tt.recalculateZoom(this._map.terrain),this._map._applyUpdatedTransform(Tt)}if(G&&bt){this._updatingCamera=!0;let Tt=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),zt=Yt=>Yt!==0&&-this._bearingSnap{delete this._frameId,this.handleEvent(new Wr("renderFrame",{timeStamp:b})),this._applyChanges()}))}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class Pa extends i.E{constructor(b,I){super(),this._renderFrameCallback=()=>{let G=Math.min((u.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(G)),G<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=b,this._bearingSnap=I.bearingSnap,this.on("moveend",(()=>{delete this._requestedCameraState}))}getCenter(){return new i.N(this.transform.center.lng,this.transform.center.lat)}setCenter(b,I){return this.jumpTo({center:b},I)}panBy(b,I,G){return b=i.P.convert(b).mult(-1),this.panTo(this.transform.center,i.e({offset:b},I),G)}panTo(b,I,G){return this.easeTo(i.e({center:b},I),G)}getZoom(){return this.transform.zoom}setZoom(b,I){return this.jumpTo({zoom:b},I),this}zoomTo(b,I,G){return this.easeTo(i.e({zoom:b},I),G)}zoomIn(b,I){return this.zoomTo(this.getZoom()+1,b,I),this}zoomOut(b,I){return this.zoomTo(this.getZoom()-1,b,I),this}getBearing(){return this.transform.bearing}setBearing(b,I){return this.jumpTo({bearing:b},I),this}getPadding(){return this.transform.padding}setPadding(b,I){return this.jumpTo({padding:b},I),this}rotateTo(b,I,G){return this.easeTo(i.e({bearing:b},I),G)}resetNorth(b,I){return this.rotateTo(0,i.e({duration:1e3},b),I),this}resetNorthPitch(b,I){return this.easeTo(i.e({bearing:0,pitch:0,duration:1e3},b),I),this}snapToNorth(b,I){return Math.abs(this.getBearing()){if(this._zooming&&(H.zoom=i.y.number($,ve,Mt)),this._rotating&&(H.bearing=i.y.number(xe,et,Mt)),this._pitching&&(H.pitch=i.y.number(ke,bt,Mt)),this._padding&&(H.interpolatePadding(Ne,Tt,Mt),Yt=H.centerPoint.add(zt)),this.terrain&&!b.freezeElevation&&this._updateElevation(Mt),Be)H.setLocationAtPoint(Be,ut);else{let Ft=H.zoomScale(H.zoom-$),Ot=ve>$?Math.min(2,Se):Math.max(.5,Se),er=Math.pow(Ot,1-Mt),sr=H.unproject(be.add(De.mult(Mt*er)).mult(Ft));H.setLocationAtPoint(H.renderWorldCopies?sr.wrap():sr,Yt)}this._applyUpdatedTransform(H),this._fireMoveEvents(I)}),(Mt=>{this.terrain&&b.freezeElevation&&this._finalizeElevation(),this._afterEase(I,Mt)}),b),this}_prepareEase(b,I,G={}){this._moving=!0,I||G.moving||this.fire(new i.k("movestart",b)),this._zooming&&!G.zooming&&this.fire(new i.k("zoomstart",b)),this._rotating&&!G.rotating&&this.fire(new i.k("rotatestart",b)),this._pitching&&!G.pitching&&this.fire(new i.k("pitchstart",b))}_prepareElevation(b){this._elevationCenter=b,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(b,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(b){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let I=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(b<1&&I!==this._elevationTarget){let G=this._elevationTarget-this._elevationStart;this._elevationStart+=b*(G-(I-(G*b+this._elevationStart))/(1-b)),this._elevationTarget=I}this.transform.elevation=i.y.number(this._elevationStart,this._elevationTarget,b)}_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(b){let I=b.getCameraPosition(),G=this.terrain.getElevationForLngLatZoom(I.lngLat,b.zoom);if(I.altitudethis._elevateCameraIfInsideTerrain(H))),this.transformCameraUpdate&&I.push((H=>this.transformCameraUpdate(H))),!I.length)return;let G=b.clone();for(let H of I){let $=G.clone(),{center:xe,zoom:ke,pitch:Ne,bearing:et,elevation:bt}=H($);xe&&($.center=xe),ke!==void 0&&($.zoom=ke),Ne!==void 0&&($.pitch=Ne),et!==void 0&&($.bearing=et),bt!==void 0&&($.elevation=bt),G.apply($)}this.transform.apply(G)}_fireMoveEvents(b){this.fire(new i.k("move",b)),this._zooming&&this.fire(new i.k("zoom",b)),this._rotating&&this.fire(new i.k("rotate",b)),this._pitching&&this.fire(new i.k("pitch",b))}_afterEase(b,I){if(this._easeId&&I&&this._easeId===I)return;delete this._easeId;let G=this._zooming,H=this._rotating,$=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,G&&this.fire(new i.k("zoomend",b)),H&&this.fire(new i.k("rotateend",b)),$&&this.fire(new i.k("pitchend",b)),this.fire(new i.k("moveend",b))}flyTo(b,I){var G;if(!b.essential&&u.prefersReducedMotion){let kn=i.M(b,["center","zoom","bearing","pitch","around"]);return this.jumpTo(kn,I)}this.stop(),b=i.e({offset:[0,0],speed:1.2,curve:1.42,easing:i.b9},b);let H=this._getTransformForUpdate(),$=H.zoom,xe=H.bearing,ke=H.pitch,Ne=H.padding,et="bearing"in b?this._normalizeBearing(b.bearing,xe):xe,bt="pitch"in b?+b.pitch:ke,Tt="padding"in b?b.padding:H.padding,zt=i.P.convert(b.offset),Yt=H.centerPoint.add(zt),Q=H.pointLocation(Yt),{center:ae,zoom:ve}=H.getConstrained(i.N.convert(b.center||Q),(G=b.zoom)!==null&&G!==void 0?G:$);this._normalizeCenter(ae,H);let be=H.zoomScale(ve-$),De=H.project(Q),Se=H.project(ae).sub(De),Be=b.curve,ut=Math.max(H.width,H.height),gt=ut/be,Mt=Se.mag();if("minZoom"in b){let kn=i.ac(Math.min(b.minZoom,$,ve),H.minZoom,H.maxZoom),ta=ut/H.zoomScale(kn-$);Be=Math.sqrt(ta/Mt*2)}let Ft=Be*Be;function Ot(kn){let ta=(gt*gt-ut*ut+(kn?-1:1)*Ft*Ft*Mt*Mt)/(2*(kn?gt:ut)*Ft*Mt);return Math.log(Math.sqrt(ta*ta+1)-ta)}function er(kn){return(Math.exp(kn)-Math.exp(-kn))/2}function sr(kn){return(Math.exp(kn)+Math.exp(-kn))/2}let wr=Ot(!1),Gr=function(kn){return sr(wr)/sr(wr+Be*kn)},pn=function(kn){return ut*((sr(wr)*(er(ta=wr+Be*kn)/sr(ta))-er(wr))/Ft)/Mt;var ta},cn=(Ot(!0)-wr)/Be;if(Math.abs(Mt)<1e-6||!isFinite(cn)){if(Math.abs(ut-gt)<1e-6)return this.easeTo(b,I);let kn=gt0,Gr=ta=>Math.exp(kn*Be*ta)}return b.duration="duration"in b?+b.duration:1e3*cn/("screenSpeed"in b?+b.screenSpeed/Be:+b.speed),b.maxDuration&&b.duration>b.maxDuration&&(b.duration=0),this._zooming=!0,this._rotating=xe!==et,this._pitching=bt!==ke,this._padding=!H.isPaddingEqual(Tt),this._prepareEase(I,!1),this.terrain&&this._prepareElevation(ae),this._ease((kn=>{let ta=kn*cn,ka=1/Gr(ta);H.zoom=kn===1?ve:$+H.scaleZoom(ka),this._rotating&&(H.bearing=i.y.number(xe,et,kn)),this._pitching&&(H.pitch=i.y.number(ke,bt,kn)),this._padding&&(H.interpolatePadding(Ne,Tt,kn),Yt=H.centerPoint.add(zt)),this.terrain&&!b.freezeElevation&&this._updateElevation(kn);let va=kn===1?ae:H.unproject(De.add(Se.mult(pn(ta))).mult(ka));H.setLocationAtPoint(H.renderWorldCopies?va.wrap():va,Yt),this._applyUpdatedTransform(H),this._fireMoveEvents(I)}),(()=>{this.terrain&&b.freezeElevation&&this._finalizeElevation(),this._afterEase(I)}),b),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(b,I){var G;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let H=this._onEaseEnd;delete this._onEaseEnd,H.call(this,I)}return b||(G=this.handlers)===null||G===void 0||G.stop(!1),this}_ease(b,I,G){G.animate===!1||G.duration===0?(b(1),I()):(this._easeStart=u.now(),this._easeOptions=G,this._onEaseFrame=b,this._onEaseEnd=I,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(b,I){b=i.b3(b,-180,180);let G=Math.abs(b-I);return Math.abs(b-360-I)180?-360:G<-180?360:0}queryTerrainElevation(b){return this.terrain?this.terrain.getElevationForLngLatZoom(i.N.convert(b),this.transform.tileZoom)-this.transform.elevation:null}}let La={compact:!0,customAttribution:'
MapLibre'};class Va{constructor(b=La){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=I=>{!I||I.sourceDataType!=="metadata"&&I.sourceDataType!=="visibility"&&I.dataType!=="style"&&I.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=b}getDefaultPosition(){return"bottom-right"}onAdd(b){return this._map=b,this._compact=this.options.compact,this._container=c.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=c.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=c.create("div","maplibregl-ctrl-attrib-inner",this._container),this._updateAttributions(),this._updateCompact(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("terrain",this._updateData),this._map.on("resize",this._updateCompact),this._map.on("drag",this._updateCompactMinimize),this._container}onRemove(){c.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("terrain",this._updateData),this._map.off("resize",this._updateCompact),this._map.off("drag",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(b,I){let G=this._map._getUIString(`AttributionControl.${I}`);b.title=G,b.setAttribute("aria-label",G)}_updateAttributions(){if(!this._map.style)return;let b=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?b=b.concat(this.options.customAttribution.map((H=>typeof H!="string"?"":H))):typeof this.options.customAttribution=="string"&&b.push(this.options.customAttribution)),this._map.style.stylesheet){let H=this._map.style.stylesheet;this.styleOwner=H.owner,this.styleId=H.id}let I=this._map.style.sourceCaches;for(let H in I){let $=I[H];if($.used||$.usedForTerrain){let xe=$.getSource();xe.attribution&&b.indexOf(xe.attribution)<0&&b.push(xe.attribution)}}b=b.filter((H=>String(H).trim())),b.sort(((H,$)=>H.length-$.length)),b=b.filter(((H,$)=>{for(let xe=$+1;xe=0)return!1;return!0}));let G=b.join(" | ");G!==this._attribHTML&&(this._attribHTML=G,b.length?(this._innerContainer.innerHTML=G,this._container.classList.remove("maplibregl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty"),this._updateCompact(),this._editLink=null)}}class na{constructor(b={}){this._updateCompact=()=>{let I=this._container.children;if(I.length){let G=I[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&G.classList.add("maplibregl-compact"):G.classList.remove("maplibregl-compact")}},this.options=b}getDefaultPosition(){return"bottom-left"}onAdd(b){this._map=b,this._compact=this.options&&this.options.compact,this._container=c.create("div","maplibregl-ctrl");let I=c.create("a","maplibregl-ctrl-logo");return I.target="_blank",I.rel="noopener nofollow",I.href="https://maplibre.org/",I.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),I.setAttribute("rel","noopener nofollow"),this._container.appendChild(I),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){c.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}}class zn{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(b){let I=++this._id;return this._queue.push({callback:b,id:I,cancelled:!1}),I}remove(b){let I=this._currentlyRunning,G=I?this._queue.concat(I):this._queue;for(let H of G)if(H.id===b)return void(H.cancelled=!0)}run(b=0){if(this._currentlyRunning)throw new Error("Attempting to run(), but is already running.");let I=this._currentlyRunning=this._queue;this._queue=[];for(let G of I)if(!G.cancelled&&(G.callback(b),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var Ja=i.Y([{name:"a_pos3d",type:"Int16",components:3}]);class pi extends i.E{constructor(b){super(),this.sourceCache=b,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,b.usedForTerrain=!0,b.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(b,I){this.sourceCache.update(b,I),this._renderableTilesKeys=[];let G={};for(let H of b.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:I}))G[H.key]=!0,this._renderableTilesKeys.push(H.key),this._tiles[H.key]||(H.posMatrix=new Float64Array(16),i.aP(H.posMatrix,0,i.X,0,i.X,0,1),this._tiles[H.key]=new ft(H,this.tileSize));for(let H in this._tiles)G[H]||delete this._tiles[H]}freeRtt(b){for(let I in this._tiles){let G=this._tiles[I];(!b||G.tileID.equals(b)||G.tileID.isChildOf(b)||b.isChildOf(G.tileID))&&(G.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map((b=>this.getTileByID(b)))}getTileByID(b){return this._tiles[b]}getTerrainCoords(b){let I={};for(let G of this._renderableTilesKeys){let H=this._tiles[G].tileID;if(H.canonical.equals(b.canonical)){let $=b.clone();$.posMatrix=new Float64Array(16),i.aP($.posMatrix,0,i.X,0,i.X,0,1),I[G]=$}else if(H.canonical.isChildOf(b.canonical)){let $=b.clone();$.posMatrix=new Float64Array(16);let xe=H.canonical.z-b.canonical.z,ke=H.canonical.x-(H.canonical.x>>xe<>xe<>xe;i.aP($.posMatrix,0,et,0,et,0,1),i.J($.posMatrix,$.posMatrix,[-ke*et,-Ne*et,0]),I[G]=$}else if(b.canonical.isChildOf(H.canonical)){let $=b.clone();$.posMatrix=new Float64Array(16);let xe=b.canonical.z-H.canonical.z,ke=b.canonical.x-(b.canonical.x>>xe<>xe<>xe;i.aP($.posMatrix,0,i.X,0,i.X,0,1),i.J($.posMatrix,$.posMatrix,[ke*et,Ne*et,0]),i.K($.posMatrix,$.posMatrix,[1/2**xe,1/2**xe,0]),I[G]=$}}return I}getSourceTile(b,I){let G=this.sourceCache._source,H=b.overscaledZ-this.deltaZoom;if(H>G.maxzoom&&(H=G.maxzoom),H=G.minzoom&&(!$||!$.dem);)$=this.sourceCache.getTileByID(b.scaledTo(H--).key);return $}tilesAfterTime(b=Date.now()){return Object.values(this._tiles).filter((I=>I.timeAdded>=b))}}class ji{constructor(b,I,G){this.painter=b,this.sourceCache=new pi(I),this.options=G,this.exaggeration=typeof G.exaggeration=="number"?G.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(b,I,G,H=i.X){var $;if(!(I>=0&&I=0&&Gb.canonical.z&&(b.canonical.z>=H?$=b.canonical.z-H:i.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));let xe=b.canonical.x-(b.canonical.x>>$<<$),ke=b.canonical.y-(b.canonical.y>>$<<$),Ne=i.bc(new Float64Array(16),[1/(i.X<<$),1/(i.X<<$),0]);i.J(Ne,Ne,[xe*i.X,ke*i.X,0]),this._demMatrixCache[b.key]={matrix:Ne,coord:b}}return{u_depth:2,u_terrain:3,u_terrain_dim:I&&I.dem&&I.dem.dim||1,u_terrain_matrix:G?this._demMatrixCache[b.key].matrix:this._emptyDemMatrix,u_terrain_unpack:I&&I.dem&&I.dem.getUnpackVector()||this._emptyDemUnpack,u_terrain_exaggeration:this.exaggeration,texture:(I&&I.demTexture||this._emptyDemTexture).texture,depthTexture:(this._fboDepthTexture||this._emptyDepthTexture).texture,tile:I}}getFramebuffer(b){let I=this.painter,G=I.width/devicePixelRatio,H=I.height/devicePixelRatio;return!this._fbo||this._fbo.width===G&&this._fbo.height===H||(this._fbo.destroy(),this._fboCoordsTexture.destroy(),this._fboDepthTexture.destroy(),delete this._fbo,delete this._fboDepthTexture,delete this._fboCoordsTexture),this._fboCoordsTexture||(this._fboCoordsTexture=new p(I.context,{width:G,height:H,data:null},I.context.gl.RGBA,{premultiply:!1}),this._fboCoordsTexture.bind(I.context.gl.NEAREST,I.context.gl.CLAMP_TO_EDGE)),this._fboDepthTexture||(this._fboDepthTexture=new p(I.context,{width:G,height:H,data:null},I.context.gl.RGBA,{premultiply:!1}),this._fboDepthTexture.bind(I.context.gl.NEAREST,I.context.gl.CLAMP_TO_EDGE)),this._fbo||(this._fbo=I.context.createFramebuffer(G,H,!0,!1),this._fbo.depthAttachment.set(I.context.createRenderbuffer(I.context.gl.DEPTH_COMPONENT16,G,H))),this._fbo.colorAttachment.set(b==="coords"?this._fboCoordsTexture.texture:this._fboDepthTexture.texture),this._fbo}getCoordsTexture(){let b=this.painter.context;if(this._coordsTexture)return this._coordsTexture;let I=new Uint8Array(this._coordsTextureSize*this._coordsTextureSize*4);for(let $=0,xe=0;$>8<<4|$>>8,I[xe+3]=0;let G=new i.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(I.buffer)),H=new p(b,G,b.gl.RGBA,{premultiply:!1});return H.bind(b.gl.NEAREST,b.gl.CLAMP_TO_EDGE),this._coordsTexture=H,H}pointCoordinate(b){this.painter.maybeDrawDepthAndCoords(!0);let I=new Uint8Array(4),G=this.painter.context,H=G.gl,$=Math.round(b.x*this.painter.pixelRatio/devicePixelRatio),xe=Math.round(b.y*this.painter.pixelRatio/devicePixelRatio),ke=Math.round(this.painter.height/devicePixelRatio);G.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),H.readPixels($,ke-xe-1,1,1,H.RGBA,H.UNSIGNED_BYTE,I),G.bindFramebuffer.set(null);let Ne=I[0]+(I[2]>>4<<8),et=I[1]+((15&I[2])<<8),bt=this.coordsIndex[255-I[3]],Tt=bt&&this.sourceCache.getTileByID(bt);if(!Tt)return null;let zt=this._coordsTextureSize,Yt=(1<b.id!==I)),this._recentlyUsed.push(b.id)}stampObject(b){b.stamp=++this._stamp}getOrCreateFreeObject(){for(let I of this._recentlyUsed)if(!this._objects[I].inUse)return this._objects[I];if(this._objects.length>=this._size)throw new Error("No free RenderPool available, call freeAllObjects() required!");let b=this._createObject(this._objects.length);return this._objects.push(b),b}freeObject(b){b.inUse=!1}freeAllObjects(){for(let b of this._objects)this.freeObject(b)}isFull(){return!(this._objects.length!b.inUse))===!1}}let Qi={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class zo{constructor(b,I){this.painter=b,this.terrain=I,this.pool=new Ao(b.context,30,I.sourceCache.tileSize*I.qualityFactor)}destruct(){this.pool.destruct()}getTexture(b){return this.pool.getObjectForId(b.rtt[this._stacks.length-1].id).texture}prepareForRender(b,I){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=b._order.filter((G=>!b._layers[G].isHidden(I))),this._coordsDescendingInv={};for(let G in b.sourceCaches){this._coordsDescendingInv[G]={};let H=b.sourceCaches[G].getVisibleCoordinates();for(let $ of H){let xe=this.terrain.sourceCache.getTerrainCoords($);for(let ke in xe)this._coordsDescendingInv[G][ke]||(this._coordsDescendingInv[G][ke]=[]),this._coordsDescendingInv[G][ke].push(xe[ke])}}this._coordsDescendingInvStr={};for(let G of b._order){let H=b._layers[G],$=H.source;if(Qi[H.type]&&!this._coordsDescendingInvStr[$]){this._coordsDescendingInvStr[$]={};for(let xe in this._coordsDescendingInv[$])this._coordsDescendingInvStr[$][xe]=this._coordsDescendingInv[$][xe].map((ke=>ke.key)).sort().join()}}for(let G of this._renderableTiles)for(let H in this._coordsDescendingInvStr){let $=this._coordsDescendingInvStr[H][G.tileID.key];$&&$!==G.rttCoords[H]&&(G.rtt=[])}}renderLayer(b){if(b.isHidden(this.painter.transform.zoom))return!1;let I=b.type,G=this.painter,H=this._renderableLayerIds[this._renderableLayerIds.length-1]===b.id;if(Qi[I]&&(this._prevType&&Qi[this._prevType]||this._stacks.push([]),this._prevType=I,this._stacks[this._stacks.length-1].push(b.id),!H))return!0;if(Qi[this._prevType]||Qi[I]&&H){this._prevType=I;let $=this._stacks.length-1,xe=this._stacks[$]||[];for(let ke of this._renderableTiles){if(this.pool.isFull()&&(_s(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(ke),ke.rtt[$]){let et=this.pool.getObjectForId(ke.rtt[$].id);if(et.stamp===ke.rtt[$].stamp){this.pool.useObject(et);continue}}let Ne=this.pool.getOrCreateFreeObject();this.pool.useObject(Ne),this.pool.stampObject(Ne),ke.rtt[$]={id:Ne.id,stamp:Ne.stamp},G.context.bindFramebuffer.set(Ne.fbo.framebuffer),G.context.clear({color:i.aM.transparent,stencil:0}),G.currentStencilSource=void 0;for(let et=0;et{K.touchstart=K.dragStart,K.touchmoveWindow=K.dragMove,K.touchend=K.dragEnd},ya={showCompass:!0,showZoom:!0,visualizePitch:!1};class ho{constructor(b,I,G=!1){this.mousedown=xe=>{this.startMouse(i.e({},xe,{ctrlKey:!0,preventDefault:()=>xe.preventDefault()}),c.mousePos(this.element,xe)),c.addEventListener(window,"mousemove",this.mousemove),c.addEventListener(window,"mouseup",this.mouseup)},this.mousemove=xe=>{this.moveMouse(xe,c.mousePos(this.element,xe))},this.mouseup=xe=>{this.mouseRotate.dragEnd(xe),this.mousePitch&&this.mousePitch.dragEnd(xe),this.offTemp()},this.touchstart=xe=>{xe.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=c.touchPos(this.element,xe.targetTouches)[0],this.startTouch(xe,this._startPos),c.addEventListener(window,"touchmove",this.touchmove,{passive:!1}),c.addEventListener(window,"touchend",this.touchend))},this.touchmove=xe=>{xe.targetTouches.length!==1?this.reset():(this._lastPos=c.touchPos(this.element,xe.targetTouches)[0],this.moveTouch(xe,this._lastPos))},this.touchend=xe=>{xe.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 H=b.dragRotate._mouseRotate.getClickTolerance(),$=b.dragRotate._mousePitch.getClickTolerance();this.element=I,this.mouseRotate=uh({clickTolerance:H,enable:!0}),this.touchRotate=(({enable:xe,clickTolerance:ke,bearingDegreesPerPixelMoved:Ne=.8})=>{let et=new Nf;return new nu({clickTolerance:ke,move:(bt,Tt)=>({bearingDelta:(Tt.x-bt.x)*Ne}),moveStateManager:et,enable:xe,assignEvents:Mo})})({clickTolerance:H,enable:!0}),this.map=b,G&&(this.mousePitch=Qh({clickTolerance:$,enable:!0}),this.touchPitch=(({enable:xe,clickTolerance:ke,pitchDegreesPerPixelMoved:Ne=-.5})=>{let et=new Nf;return new nu({clickTolerance:ke,move:(bt,Tt)=>({pitchDelta:(Tt.y-bt.y)*Ne}),moveStateManager:et,enable:xe,assignEvents:Mo})})({clickTolerance:$,enable:!0})),c.addEventListener(I,"mousedown",this.mousedown),c.addEventListener(I,"touchstart",this.touchstart,{passive:!1}),c.addEventListener(I,"touchcancel",this.reset)}startMouse(b,I){this.mouseRotate.dragStart(b,I),this.mousePitch&&this.mousePitch.dragStart(b,I),c.disableDrag()}startTouch(b,I){this.touchRotate.dragStart(b,I),this.touchPitch&&this.touchPitch.dragStart(b,I),c.disableDrag()}moveMouse(b,I){let G=this.map,{bearingDelta:H}=this.mouseRotate.dragMove(b,I)||{};if(H&&G.setBearing(G.getBearing()+H),this.mousePitch){let{pitchDelta:$}=this.mousePitch.dragMove(b,I)||{};$&&G.setPitch(G.getPitch()+$)}}moveTouch(b,I){let G=this.map,{bearingDelta:H}=this.touchRotate.dragMove(b,I)||{};if(H&&G.setBearing(G.getBearing()+H),this.touchPitch){let{pitchDelta:$}=this.touchPitch.dragMove(b,I)||{};$&&G.setPitch(G.getPitch()+$)}}off(){let b=this.element;c.removeEventListener(b,"mousedown",this.mousedown),c.removeEventListener(b,"touchstart",this.touchstart,{passive:!1}),c.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),c.removeEventListener(window,"touchend",this.touchend),c.removeEventListener(b,"touchcancel",this.reset),this.offTemp()}offTemp(){c.enableDrag(),c.removeEventListener(window,"mousemove",this.mousemove),c.removeEventListener(window,"mouseup",this.mouseup),c.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),c.removeEventListener(window,"touchend",this.touchend)}}let wo;function Yi(K,b,I){let G=new i.N(K.lng,K.lat);if(K=new i.N(K.lng,K.lat),b){let H=new i.N(K.lng-360,K.lat),$=new i.N(K.lng+360,K.lat),xe=I.locationPoint(K).distSqr(b);I.locationPoint(H).distSqr(b)180;){let H=I.locationPoint(K);if(H.x>=0&&H.y>=0&&H.x<=I.width&&H.y<=I.height)break;K.lng>I.center.lng?K.lng-=360:K.lng+=360}return K.lng!==G.lng&&I.locationPoint(K).y>I.height/2-I.getHorizon()?K:G}let Vs={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 xu(K,b,I){let G=K.classList;for(let H in Vs)G.remove(`maplibregl-${I}-anchor-${H}`);G.add(`maplibregl-${I}-anchor-${b}`)}class au extends i.E{constructor(b){if(super(),this._onKeyPress=I=>{let G=I.code,H=I.charCode||I.keyCode;G!=="Space"&&G!=="Enter"&&H!==32&&H!==13||this.togglePopup()},this._onMapClick=I=>{let G=I.originalEvent.target,H=this._element;this._popup&&(G===H||H.contains(G))&&this.togglePopup()},this._update=I=>{var G;if(!this._map)return;let H=this._map.loaded()&&!this._map.isMoving();((I==null?void 0:I.type)==="terrain"||(I==null?void 0:I.type)==="render"&&!H)&&this._map.once("render",this._update),this._lngLat=this._map.transform.renderWorldCopies?Yi(this._lngLat,this._flatPos,this._map.transform):(G=this._lngLat)===null||G===void 0?void 0:G.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 $="";this._rotationAlignment==="viewport"||this._rotationAlignment==="auto"?$=`rotateZ(${this._rotation}deg)`:this._rotationAlignment==="map"&&($=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let xe="";this._pitchAlignment==="viewport"||this._pitchAlignment==="auto"?xe="rotateX(0deg)":this._pitchAlignment==="map"&&(xe=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||I&&I.type!=="moveend"||(this._pos=this._pos.round()),c.setTransform(this._element,`${Vs[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${xe} ${$}`),u.frameAsync(new AbortController).then((()=>{this._updateOpacity(I&&I.type==="moveend")})).catch((()=>{}))},this._onMove=I=>{if(!this._isDragging){let G=this._clickTolerance||this._map._clickTolerance;this._isDragging=I.point.dist(this._pointerdownPos)>=G}this._isDragging&&(this._pos=I.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 i.k("dragstart"))),this.fire(new i.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 i.k("dragend")),this._state="inactive"},this._addDragHandler=I=>{this._element.contains(I.originalEvent.target)&&(I.preventDefault(),this._positionDelta=I.point.sub(this._pos).add(this._offset),this._pointerdownPos=I.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=b&&b.anchor||"center",this._color=b&&b.color||"#3FB1CE",this._scale=b&&b.scale||1,this._draggable=b&&b.draggable||!1,this._clickTolerance=b&&b.clickTolerance||0,this._subpixelPositioning=b&&b.subpixelPositioning||!1,this._isDragging=!1,this._state="inactive",this._rotation=b&&b.rotation||0,this._rotationAlignment=b&&b.rotationAlignment||"auto",this._pitchAlignment=b&&b.pitchAlignment&&b.pitchAlignment!=="auto"?b.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(b==null?void 0:b.opacity,b==null?void 0:b.opacityWhenCovered),b&&b.element)this._element=b.element,this._offset=i.P.convert(b&&b.offset||[0,0]);else{this._defaultMarker=!0,this._element=c.create("div");let I=c.createNS("http://www.w3.org/2000/svg","svg"),G=41,H=27;I.setAttributeNS(null,"display","block"),I.setAttributeNS(null,"height",`${G}px`),I.setAttributeNS(null,"width",`${H}px`),I.setAttributeNS(null,"viewBox",`0 0 ${H} ${G}`);let $=c.createNS("http://www.w3.org/2000/svg","g");$.setAttributeNS(null,"stroke","none"),$.setAttributeNS(null,"stroke-width","1"),$.setAttributeNS(null,"fill","none"),$.setAttributeNS(null,"fill-rule","evenodd");let xe=c.createNS("http://www.w3.org/2000/svg","g");xe.setAttributeNS(null,"fill-rule","nonzero");let ke=c.createNS("http://www.w3.org/2000/svg","g");ke.setAttributeNS(null,"transform","translate(3.0, 29.0)"),ke.setAttributeNS(null,"fill","#000000");let Ne=[{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 be of Ne){let De=c.createNS("http://www.w3.org/2000/svg","ellipse");De.setAttributeNS(null,"opacity","0.04"),De.setAttributeNS(null,"cx","10.5"),De.setAttributeNS(null,"cy","5.80029008"),De.setAttributeNS(null,"rx",be.rx),De.setAttributeNS(null,"ry",be.ry),ke.appendChild(De)}let et=c.createNS("http://www.w3.org/2000/svg","g");et.setAttributeNS(null,"fill",this._color);let bt=c.createNS("http://www.w3.org/2000/svg","path");bt.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"),et.appendChild(bt);let Tt=c.createNS("http://www.w3.org/2000/svg","g");Tt.setAttributeNS(null,"opacity","0.25"),Tt.setAttributeNS(null,"fill","#000000");let zt=c.createNS("http://www.w3.org/2000/svg","path");zt.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"),Tt.appendChild(zt);let Yt=c.createNS("http://www.w3.org/2000/svg","g");Yt.setAttributeNS(null,"transform","translate(6.0, 7.0)"),Yt.setAttributeNS(null,"fill","#FFFFFF");let Q=c.createNS("http://www.w3.org/2000/svg","g");Q.setAttributeNS(null,"transform","translate(8.0, 8.0)");let ae=c.createNS("http://www.w3.org/2000/svg","circle");ae.setAttributeNS(null,"fill","#000000"),ae.setAttributeNS(null,"opacity","0.25"),ae.setAttributeNS(null,"cx","5.5"),ae.setAttributeNS(null,"cy","5.5"),ae.setAttributeNS(null,"r","5.4999962");let ve=c.createNS("http://www.w3.org/2000/svg","circle");ve.setAttributeNS(null,"fill","#FFFFFF"),ve.setAttributeNS(null,"cx","5.5"),ve.setAttributeNS(null,"cy","5.5"),ve.setAttributeNS(null,"r","5.4999962"),Q.appendChild(ae),Q.appendChild(ve),xe.appendChild(ke),xe.appendChild(et),xe.appendChild(Tt),xe.appendChild(Yt),xe.appendChild(Q),I.appendChild(xe),I.setAttributeNS(null,"height",G*this._scale+"px"),I.setAttributeNS(null,"width",H*this._scale+"px"),this._element.appendChild(I),this._offset=i.P.convert(b&&b.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",(I=>{I.preventDefault()})),this._element.addEventListener("mousedown",(I=>{I.preventDefault()})),xu(this._element,this._anchor,"marker"),b&&b.className)for(let I of b.className.split(" "))this._element.classList.add(I);this._popup=null}addTo(b){return this.remove(),this._map=b,this._element.setAttribute("aria-label",b._getUIString("Marker.Title")),b.getCanvasContainer().appendChild(this._element),b.on("move",this._update),b.on("moveend",this._update),b.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),c.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(b){return this._lngLat=i.N.convert(b),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(b){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),b){if(!("offset"in b.options)){let H=Math.abs(13.5)/Math.SQRT2;b.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[H,-1*(38.1-13.5+H)],"bottom-right":[-H,-1*(38.1-13.5+H)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=b,this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}setSubpixelPositioning(b){return this._subpixelPositioning=b,this}getPopup(){return this._popup}togglePopup(){let b=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:b?(b.isOpen()?b.remove():(b.setLngLat(this._lngLat),b.addTo(this._map)),this):this}_updateOpacity(b=!1){var I,G;if(!(!((I=this._map)===null||I===void 0)&&I.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(b)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout((()=>{this._opacityTimeout=null}),100)}let H=this._map,$=H.terrain.depthAtPoint(this._pos),xe=H.terrain.getElevationForLngLatZoom(this._lngLat,H.transform.tileZoom);if(H.transform.lngLatToCameraDepth(this._lngLat,xe)-$<.006)return void(this._element.style.opacity=this._opacity);let ke=-this._offset.y/H.transform._pixelPerMeter,Ne=Math.sin(H.getPitch()*Math.PI/180)*ke,et=H.terrain.depthAtPoint(new i.P(this._pos.x,this._pos.y-this._offset.y)),bt=H.transform.lngLatToCameraDepth(this._lngLat,xe+Ne)-et>.006;!((G=this._popup)===null||G===void 0)&&G.isOpen()&&bt&&this._popup.remove(),this._element.style.opacity=bt?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(b){return this._offset=i.P.convert(b),this._update(),this}addClassName(b){this._element.classList.add(b)}removeClassName(b){this._element.classList.remove(b)}toggleClassName(b){return this._element.classList.toggle(b)}setDraggable(b){return this._draggable=!!b,this._map&&(b?(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(b){return this._rotation=b||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(b){return this._rotationAlignment=b||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(b){return this._pitchAlignment=b&&b!=="auto"?b:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(b,I){return b===void 0&&I===void 0&&(this._opacity="1",this._opacityWhenCovered="0.2"),b!==void 0&&(this._opacity=b),I!==void 0&&(this._opacityWhenCovered=I),this._map&&this._updateOpacity(!0),this}}let Yu={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},ll=0,Pu=!1,ul={maxWidth:100,unit:"metric"};function Pc(K,b,I){let G=I&&I.maxWidth||100,H=K._container.clientHeight/2,$=K.unproject([0,H]),xe=K.unproject([G,H]),ke=$.distanceTo(xe);if(I&&I.unit==="imperial"){let Ne=3.2808*ke;Ne>5280?Wa(b,G,Ne/5280,K._getUIString("ScaleControl.Miles")):Wa(b,G,Ne,K._getUIString("ScaleControl.Feet"))}else I&&I.unit==="nautical"?Wa(b,G,ke/1852,K._getUIString("ScaleControl.NauticalMiles")):ke>=1e3?Wa(b,G,ke/1e3,K._getUIString("ScaleControl.Kilometers")):Wa(b,G,ke,K._getUIString("ScaleControl.Meters"))}function Wa(K,b,I,G){let H=(function($){let xe=Math.pow(10,`${Math.floor($)}`.length-1),ke=$/xe;return ke=ke>=10?10:ke>=5?5:ke>=3?3:ke>=2?2:ke>=1?1:(function(Ne){let et=Math.pow(10,Math.ceil(-Math.log(Ne)/Math.LN10));return Math.round(Ne*et)/et})(ke),xe*ke})(I);K.style.width=b*(H/I)+"px",K.innerHTML=`${H} ${G}`}let oi={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",subpixelPositioning:!1},Ph=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function pf(K){if(K){if(typeof K=="number"){let b=Math.round(Math.abs(K)/Math.SQRT2);return{center:new i.P(0,0),top:new i.P(0,K),"top-left":new i.P(b,b),"top-right":new i.P(-b,b),bottom:new i.P(0,-K),"bottom-left":new i.P(b,-b),"bottom-right":new i.P(-b,-b),left:new i.P(K,0),right:new i.P(-K,0)}}if(K instanceof i.P||Array.isArray(K)){let b=i.P.convert(K);return{center:b,top:b,"top-left":b,"top-right":b,bottom:b,"bottom-left":b,"bottom-right":b,left:b,right:b}}return{center:i.P.convert(K.center||[0,0]),top:i.P.convert(K.top||[0,0]),"top-left":i.P.convert(K["top-left"]||[0,0]),"top-right":i.P.convert(K["top-right"]||[0,0]),bottom:i.P.convert(K.bottom||[0,0]),"bottom-left":i.P.convert(K["bottom-left"]||[0,0]),"bottom-right":i.P.convert(K["bottom-right"]||[0,0]),left:i.P.convert(K.left||[0,0]),right:i.P.convert(K.right||[0,0])}}return pf(new i.P(0,0))}let iu=o;a.AJAXError=i.bh,a.Evented=i.E,a.LngLat=i.N,a.MercatorCoordinate=i.Z,a.Point=i.P,a.addProtocol=i.bi,a.config=i.a,a.removeProtocol=i.bj,a.AttributionControl=Va,a.BoxZoomHandler=Dl,a.CanvasSource=Ie,a.CooperativeGesturesHandler=nn,a.DoubleClickZoomHandler=Ur,a.DragPanHandler=An,a.DragRotateHandler=Vn,a.EdgeInsets=Pl,a.FullscreenControl=class extends i.E{constructor(K={}){super(),this._onFullscreenChange=()=>{var b;let I=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;!((b=I==null?void 0:I.shadowRoot)===null||b===void 0)&&b.fullscreenElement;)I=I.shadowRoot.fullscreenElement;I===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,K&&K.container&&(K.container instanceof HTMLElement?this._container=K.container:i.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(K){return this._map=K,this._container||(this._container=this._map.getContainer()),this._controlContainer=c.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),this._controlContainer}onRemove(){c.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let K=this._fullscreenButton=c.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);c.create("span","maplibregl-ctrl-icon",K).setAttribute("aria-hidden","true"),K.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let K=this._getTitle();this._fullscreenButton.setAttribute("aria-label",K),this._fullscreenButton.title=K}_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 i.k("fullscreenstart")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new i.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()}},a.GeoJSONSource=Oe,a.GeolocateControl=class extends i.E{constructor(K){super(),this._onSuccess=b=>{if(this._map){if(this._isOutOfMapMaxBounds(b))return this._setErrorState(),this.fire(new i.k("outofmaxbounds",b)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=b,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(b),this.options.trackUserLocation&&this._watchState!=="ACTIVE_LOCK"||this._updateCamera(b),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new i.k("geolocate",b)),this._finish()}},this._updateCamera=b=>{let I=new i.N(b.coords.longitude,b.coords.latitude),G=b.coords.accuracy,H=this._map.getBearing(),$=i.e({bearing:H},this.options.fitBoundsOptions),xe=le.fromLngLat(I,G);this._map.fitBounds(xe,$,{geolocateSource:!0})},this._updateMarker=b=>{if(b){let I=new i.N(b.coords.longitude,b.coords.latitude);this._accuracyCircleMarker.setLngLat(I).addTo(this._map),this._userLocationDotMarker.setLngLat(I).addTo(this._map),this._accuracy=b.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=b=>{if(this._map){if(this.options.trackUserLocation)if(b.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 I=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=I,this._geolocateButton.setAttribute("aria-label",I),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(b.code===3&&Pu)return;this._setErrorState()}this._watchState!=="OFF"&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new i.k("error",b)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener("contextmenu",(b=>b.preventDefault())),this._geolocateButton=c.create("button","maplibregl-ctrl-geolocate",this._container),c.create("span","maplibregl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",this._geolocateButton.disabled=!0)},this._finishSetupUI=b=>{if(this._map){if(b===!1){i.w("Geolocation support is not available so the GeolocateControl will be disabled.");let I=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=I,this._geolocateButton.setAttribute("aria-label",I)}else{let I=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.disabled=!1,this._geolocateButton.title=I,this._geolocateButton.setAttribute("aria-label",I)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=c.create("div","maplibregl-user-location-dot"),this._userLocationDotMarker=new au({element:this._dotElement}),this._circleElement=c.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new au({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",(I=>{I.geolocateSource||this._watchState!=="ACTIVE_LOCK"||I.originalEvent&&I.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 i.k("trackuserlocationend")),this.fire(new i.k("userlocationlostfocus")))}))}},this.options=i.e({},Yu,K)}onAdd(K){return this._map=K,this._container=c.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),(function(){return i._(this,arguments,void 0,(function*(b=!1){if(wo!==void 0&&!b)return wo;if(window.navigator.permissions===void 0)return wo=!!window.navigator.geolocation,wo;try{wo=(yield window.navigator.permissions.query({name:"geolocation"})).state!=="denied"}catch(I){wo=!!window.navigator.geolocation}return wo}))})().then((b=>this._finishSetupUI(b))),this._container}onRemove(){this._geolocationWatchID!==void 0&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),c.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,ll=0,Pu=!1}_isOutOfMapMaxBounds(K){let b=this._map.getMaxBounds(),I=K.coords;return b&&(I.longitudeb.getEast()||I.latitudeb.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 K=this._map.getBounds(),b=K.getSouthEast(),I=K.getNorthEast(),G=b.distanceTo(I),H=Math.ceil(this._accuracy/(G/this._map._container.clientHeight)*2);this._circleElement.style.width=`${H}px`,this._circleElement.style.height=`${H}px`}trigger(){if(!this._setup)return i.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 i.k("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":ll--,Pu=!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 i.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 i.k("trackuserlocationstart")),this.fire(new i.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 K;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),ll++,ll>1?(K={maximumAge:6e5,timeout:0},Pu=!0):(K=this.options.positionOptions,Pu=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,K)}}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)}},a.Hash=lh,a.ImageSource=mt,a.KeyboardHandler=yt,a.LngLatBounds=le,a.LogoControl=na,a.Map=class extends Pa{constructor(K){i.bf.mark(i.bg.create);let b=Object.assign(Object.assign({},cs),K);if(b.minZoom!=null&&b.maxZoom!=null&&b.minZoom>b.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(b.minPitch!=null&&b.maxPitch!=null&&b.minPitch>b.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(b.minPitch!=null&&b.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(b.maxPitch!=null&&b.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(super(new Yc(b.minZoom,b.maxZoom,b.minPitch,b.maxPitch,b.renderWorldCopies),{bearingSnap:b.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new zn,this._controls=[],this._mapId=i.a4(),this._contextLost=I=>{I.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new i.k("webglcontextlost",{originalEvent:I}))},this._contextRestored=I=>{this._setupPainter(),this.resize(),this._update(),this.fire(new i.k("webglcontextrestored",{originalEvent:I}))},this._onMapScroll=I=>{if(I.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=b.interactive,this._maxTileCacheSize=b.maxTileCacheSize,this._maxTileCacheZoomLevels=b.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=b.failIfMajorPerformanceCaveat===!0,this._preserveDrawingBuffer=b.preserveDrawingBuffer===!0,this._antialias=b.antialias===!0,this._trackResize=b.trackResize===!0,this._bearingSnap=b.bearingSnap,this._refreshExpiredTiles=b.refreshExpiredTiles===!0,this._fadeDuration=b.fadeDuration,this._crossSourceCollisions=b.crossSourceCollisions===!0,this._collectResourceTiming=b.collectResourceTiming===!0,this._locale=Object.assign(Object.assign({},Vi),b.locale),this._clickTolerance=b.clickTolerance,this._overridePixelRatio=b.pixelRatio,this._maxCanvasSize=b.maxCanvasSize,this.transformCameraUpdate=b.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=b.cancelPendingTileRequestsWhileZooming===!0,this._imageQueueHandle=g.addThrottleControl((()=>this.isMoving())),this._requestManager=new E(b.transformRequest),typeof b.container=="string"){if(this._container=document.getElementById(b.container),!this._container)throw new Error(`Container '${b.container}' not found.`)}else{if(!(b.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=b.container}if(b.maxBounds&&this.setMaxBounds(b.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!="undefined"){addEventListener("online",this._onWindowOnline,!1);let I=!1,G=zf((H=>{this._trackResize&&!this._removed&&(this.resize(H),this.redraw())}),50);this._resizeObserver=new ResizeObserver((H=>{I?G(H):I=!0})),this._resizeObserver.observe(this._container)}this.handlers=new Ca(this,b),this._hash=b.hash&&new lh(typeof b.hash=="string"&&b.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:b.center,zoom:b.zoom,bearing:b.bearing,pitch:b.pitch}),b.bounds&&(this.resize(),this.fitBounds(b.bounds,i.e({},b.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=b.localIdeographFontFamily,this._validateStyle=b.validateStyle,b.style&&this.setStyle(b.style,{localIdeographFontFamily:b.localIdeographFontFamily}),b.attributionControl&&this.addControl(new Va(typeof b.attributionControl=="boolean"?void 0:b.attributionControl)),b.maplibreLogo&&this.addControl(new na,b.logoPosition),this.on("style.load",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)})),this.on("data",(I=>{this._update(I.dataType==="style"),this.fire(new i.k(`${I.dataType}data`,I))})),this.on("dataloading",(I=>{this.fire(new i.k(`${I.dataType}dataloading`,I))})),this.on("dataabort",(I=>{this.fire(new i.k("sourcedataabort",I))}))}_getMapId(){return this._mapId}addControl(K,b){if(b===void 0&&(b=K.getDefaultPosition?K.getDefaultPosition():"top-right"),!K||!K.onAdd)return this.fire(new i.j(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));let I=K.onAdd(this);this._controls.push(K);let G=this._controlPositions[b];return b.indexOf("bottom")!==-1?G.insertBefore(I,G.firstChild):G.appendChild(I),this}removeControl(K){if(!K||!K.onRemove)return this.fire(new i.j(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));let b=this._controls.indexOf(K);return b>-1&&this._controls.splice(b,1),K.onRemove(this),this}hasControl(K){return this._controls.indexOf(K)>-1}calculateCameraOptionsFromTo(K,b,I,G){return G==null&&this.terrain&&(G=this.terrain.getElevationForLngLatZoom(I,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(K,b,I,G)}resize(K){var b;let I=this._containerDimensions(),G=I[0],H=I[1],$=this._getClampedPixelRatio(G,H);if(this._resizeCanvas(G,H,$),this.painter.resize(G,H,$),this.painter.overLimit()){let ke=this.painter.context.gl;this._maxCanvasSize=[ke.drawingBufferWidth,ke.drawingBufferHeight];let Ne=this._getClampedPixelRatio(G,H);this._resizeCanvas(G,H,Ne),this.painter.resize(G,H,Ne)}this.transform.resize(G,H),(b=this._requestedCameraState)===null||b===void 0||b.resize(G,H);let xe=!this._moving;return xe&&(this.stop(),this.fire(new i.k("movestart",K)).fire(new i.k("move",K))),this.fire(new i.k("resize",K)),xe&&this.fire(new i.k("moveend",K)),this}_getClampedPixelRatio(K,b){let{0:I,1:G}=this._maxCanvasSize,H=this.getPixelRatio(),$=K*H,xe=b*H;return Math.min($>I?I/$:1,xe>G?G/xe:1)*H}getPixelRatio(){var K;return(K=this._overridePixelRatio)!==null&&K!==void 0?K:devicePixelRatio}setPixelRatio(K){this._overridePixelRatio=K,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(K){return this.transform.setMaxBounds(le.convert(K)),this._update()}setMinZoom(K){if((K=K==null?-2:K)>=-2&&K<=this.transform.maxZoom)return this.transform.minZoom=K,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=K,this._update(),this.getZoom()>K&&this.setZoom(K),this;throw new Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(K){if((K=K==null?0:K)<0)throw new Error("minPitch must be greater than or equal to 0");if(K>=0&&K<=this.transform.maxPitch)return this.transform.minPitch=K,this._update(),this.getPitch()85)throw new Error("maxPitch must be less than or equal to 85");if(K>=this.transform.minPitch)return this.transform.maxPitch=K,this._update(),this.getPitch()>K&&this.setPitch(K),this;throw new Error("maxPitch must be greater than the current minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(K){return this.transform.renderWorldCopies=K,this._update()}project(K){return this.transform.locationPoint(i.N.convert(K),this.style&&this.terrain)}unproject(K){return this.transform.pointLocation(i.P.convert(K),this.terrain)}isMoving(){var K;return this._moving||((K=this.handlers)===null||K===void 0?void 0:K.isMoving())}isZooming(){var K;return this._zooming||((K=this.handlers)===null||K===void 0?void 0:K.isZooming())}isRotating(){var K;return this._rotating||((K=this.handlers)===null||K===void 0?void 0:K.isRotating())}_createDelegatedListener(K,b,I){if(K==="mouseenter"||K==="mouseover"){let G=!1;return{layers:b,listener:I,delegates:{mousemove:$=>{let xe=b.filter((Ne=>this.getLayer(Ne))),ke=xe.length!==0?this.queryRenderedFeatures($.point,{layers:xe}):[];ke.length?G||(G=!0,I.call(this,new Fs(K,this,$.originalEvent,{features:ke}))):G=!1},mouseout:()=>{G=!1}}}}if(K==="mouseleave"||K==="mouseout"){let G=!1;return{layers:b,listener:I,delegates:{mousemove:xe=>{let ke=b.filter((Ne=>this.getLayer(Ne)));(ke.length!==0?this.queryRenderedFeatures(xe.point,{layers:ke}):[]).length?G=!0:G&&(G=!1,I.call(this,new Fs(K,this,xe.originalEvent)))},mouseout:xe=>{G&&(G=!1,I.call(this,new Fs(K,this,xe.originalEvent)))}}}}{let G=H=>{let $=b.filter((ke=>this.getLayer(ke))),xe=$.length!==0?this.queryRenderedFeatures(H.point,{layers:$}):[];xe.length&&(H.features=xe,I.call(this,H),delete H.features)};return{layers:b,listener:I,delegates:{[K]:G}}}}_saveDelegatedListener(K,b){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[K]=this._delegatedListeners[K]||[],this._delegatedListeners[K].push(b)}_removeDelegatedListener(K,b,I){if(!this._delegatedListeners||!this._delegatedListeners[K])return;let G=this._delegatedListeners[K];for(let H=0;Hb.includes(xe)))){for(let xe in $.delegates)this.off(xe,$.delegates[xe]);return void G.splice(H,1)}}}on(K,b,I){if(I===void 0)return super.on(K,b);let G=this._createDelegatedListener(K,typeof b=="string"?[b]:b,I);this._saveDelegatedListener(K,G);for(let H in G.delegates)this.on(H,G.delegates[H]);return this}once(K,b,I){if(I===void 0)return super.once(K,b);let G=typeof b=="string"?[b]:b,H=this._createDelegatedListener(K,G,I);for(let $ in H.delegates){let xe=H.delegates[$];H.delegates[$]=(...ke)=>{this._removeDelegatedListener(K,G,I),xe(...ke)}}this._saveDelegatedListener(K,H);for(let $ in H.delegates)this.once($,H.delegates[$]);return this}off(K,b,I){return I===void 0?super.off(K,b):(this._removeDelegatedListener(K,typeof b=="string"?[b]:b,I),this)}queryRenderedFeatures(K,b){if(!this.style)return[];let I,G=K instanceof i.P||Array.isArray(K),H=G?K:[[0,0],[this.transform.width,this.transform.height]];if(b=b||(G?{}:K)||{},H instanceof i.P||typeof H[0]=="number")I=[i.P.convert(H)];else{let $=i.P.convert(H[0]),xe=i.P.convert(H[1]);I=[$,new i.P(xe.x,$.y),xe,new i.P($.x,xe.y),$]}return this.style.queryRenderedFeatures(I,b,this.transform)}querySourceFeatures(K,b){return this.style.querySourceFeatures(K,b)}setStyle(K,b){return(b=i.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},b)).diff!==!1&&b.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&K?(this._diffStyle(K,b),this):(this._localIdeographFontFamily=b.localIdeographFontFamily,this._updateStyle(K,b))}setTransformRequest(K){return this._requestManager.setTransformRequest(K),this}_getUIString(K){let b=this._locale[K];if(b==null)throw new Error(`Missing UI string '${K}'`);return b}_updateStyle(K,b){if(b.transformStyle&&this.style&&!this.style._loaded)return void this.style.once("style.load",(()=>this._updateStyle(K,b)));let I=this.style&&b.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!K)),K?(this.style=new xi(this,b||{}),this.style.setEventedParent(this,{style:this.style}),typeof K=="string"?this.style.loadURL(K,b,I):this.style.loadJSON(K,b,I),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new xi(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(K,b){if(typeof K=="string"){let I=this._requestManager.transformRequest(K,"Style");i.h(I,new AbortController).then((G=>{this._updateDiff(G.data,b)})).catch((G=>{G&&this.fire(new i.j(G))}))}else typeof K=="object"&&this._updateDiff(K,b)}_updateDiff(K,b){try{this.style.setState(K,b)&&this._update(!0)}catch(I){i.w(`Unable to perform style diff: ${I.message||I.error||I}. Rebuilding the style from scratch.`),this._updateStyle(K,b)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():i.w("There is no style added to the map.")}addSource(K,b){return this._lazyInitEmptyStyle(),this.style.addSource(K,b),this._update(!0)}isSourceLoaded(K){let b=this.style&&this.style.sourceCaches[K];if(b!==void 0)return b.loaded();this.fire(new i.j(new Error(`There is no source with ID '${K}'`)))}setTerrain(K){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),K){let b=this.style.sourceCaches[K.source];if(!b)throw new Error(`cannot load terrain, because there exists no source with ID: ${K.source}`);this.terrain===null&&b.reload();for(let I in this.style._layers){let G=this.style._layers[I];G.type==="hillshade"&&G.source===K.source&&i.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 ji(this.painter,b,K),this.painter.renderToTexture=new zo(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=I=>{I.dataType==="style"?this.terrain.sourceCache.freeRtt():I.dataType==="source"&&I.tile&&(I.sourceId!==K.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(I.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 i.k("terrain",{terrain:K})),this}getTerrain(){var K,b;return(b=(K=this.terrain)===null||K===void 0?void 0:K.options)!==null&&b!==void 0?b:null}areTilesLoaded(){let K=this.style&&this.style.sourceCaches;for(let b in K){let I=K[b]._tiles;for(let G in I){let H=I[G];if(H.state!=="loaded"&&H.state!=="errored")return!1}}return!0}removeSource(K){return this.style.removeSource(K),this._update(!0)}getSource(K){return this.style.getSource(K)}addImage(K,b,I={}){let{pixelRatio:G=1,sdf:H=!1,stretchX:$,stretchY:xe,content:ke,textFitWidth:Ne,textFitHeight:et}=I;if(this._lazyInitEmptyStyle(),!(b instanceof HTMLImageElement||i.b(b))){if(b.width===void 0||b.height===void 0)return this.fire(new i.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:bt,height:Tt,data:zt}=b,Yt=b;return this.style.addImage(K,{data:new i.R({width:bt,height:Tt},new Uint8Array(zt)),pixelRatio:G,stretchX:$,stretchY:xe,content:ke,textFitWidth:Ne,textFitHeight:et,sdf:H,version:0,userImage:Yt}),Yt.onAdd&&Yt.onAdd(this,K),this}}{let{width:bt,height:Tt,data:zt}=u.getImageData(b);this.style.addImage(K,{data:new i.R({width:bt,height:Tt},zt),pixelRatio:G,stretchX:$,stretchY:xe,content:ke,textFitWidth:Ne,textFitHeight:et,sdf:H,version:0})}}updateImage(K,b){let I=this.style.getImage(K);if(!I)return this.fire(new i.j(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));let G=b instanceof HTMLImageElement||i.b(b)?u.getImageData(b):b,{width:H,height:$,data:xe}=G;if(H===void 0||$===void 0)return this.fire(new i.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(H!==I.data.width||$!==I.data.height)return this.fire(new i.j(new Error("The width and height of the updated image must be that same as the previous version of the image")));let ke=!(b instanceof HTMLImageElement||i.b(b));return I.data.replace(xe,ke),this.style.updateImage(K,I),this}getImage(K){return this.style.getImage(K)}hasImage(K){return K?!!this.style.getImage(K):(this.fire(new i.j(new Error("Missing required image id"))),!1)}removeImage(K){this.style.removeImage(K)}loadImage(K){return g.getImage(this._requestManager.transformRequest(K,"Image"),new AbortController)}listImages(){return this.style.listImages()}addLayer(K,b){return this._lazyInitEmptyStyle(),this.style.addLayer(K,b),this._update(!0)}moveLayer(K,b){return this.style.moveLayer(K,b),this._update(!0)}removeLayer(K){return this.style.removeLayer(K),this._update(!0)}getLayer(K){return this.style.getLayer(K)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(K,b,I){return this.style.setLayerZoomRange(K,b,I),this._update(!0)}setFilter(K,b,I={}){return this.style.setFilter(K,b,I),this._update(!0)}getFilter(K){return this.style.getFilter(K)}setPaintProperty(K,b,I,G={}){return this.style.setPaintProperty(K,b,I,G),this._update(!0)}getPaintProperty(K,b){return this.style.getPaintProperty(K,b)}setLayoutProperty(K,b,I,G={}){return this.style.setLayoutProperty(K,b,I,G),this._update(!0)}getLayoutProperty(K,b){return this.style.getLayoutProperty(K,b)}setGlyphs(K,b={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(K,b),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(K,b,I={}){return this._lazyInitEmptyStyle(),this.style.addSprite(K,b,I,(G=>{G||this._update(!0)})),this}removeSprite(K){return this._lazyInitEmptyStyle(),this.style.removeSprite(K),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(K,b={}){return this._lazyInitEmptyStyle(),this.style.setSprite(K,b,(I=>{I||this._update(!0)})),this}setLight(K,b={}){return this._lazyInitEmptyStyle(),this.style.setLight(K,b),this._update(!0)}getLight(){return this.style.getLight()}setSky(K){return this._lazyInitEmptyStyle(),this.style.setSky(K),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(K,b){return this.style.setFeatureState(K,b),this._update()}removeFeatureState(K,b){return this.style.removeFeatureState(K,b),this._update()}getFeatureState(K){return this.style.getFeatureState(K)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let K=0,b=0;return this._container&&(K=this._container.clientWidth||400,b=this._container.clientHeight||300),[K,b]}_setupContainer(){let K=this._container;K.classList.add("maplibregl-map");let b=this._canvasContainer=c.create("div","maplibregl-canvas-container",K);this._interactive&&b.classList.add("maplibregl-interactive"),this._canvas=c.create("canvas","maplibregl-canvas",b),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 I=this._containerDimensions(),G=this._getClampedPixelRatio(I[0],I[1]);this._resizeCanvas(I[0],I[1],G);let H=this._controlContainer=c.create("div","maplibregl-control-container",K),$=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach((xe=>{$[xe]=c.create("div",`maplibregl-ctrl-${xe} `,H)})),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(K,b,I){this._canvas.width=Math.floor(I*K),this._canvas.height=Math.floor(I*b),this._canvas.style.width=`${K}px`,this._canvas.style.height=`${b}px`}_setupPainter(){let K={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},b=null;this._canvas.addEventListener("webglcontextcreationerror",(G=>{b={requestedAttributes:K},G&&(b.statusMessage=G.statusMessage,b.type=G.type)}),{once:!0});let I=this._canvas.getContext("webgl2",K)||this._canvas.getContext("webgl",K);if(!I){let G="Failed to initialize WebGL";throw b?(b.message=G,new Error(JSON.stringify(b))):new Error(G)}this.painter=new sh(I,this.transform),f.testSupport(I)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(K){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||K,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(K){return this._update(),this._renderTaskQueue.add(K)}_cancelRenderFrame(K){this._renderTaskQueue.remove(K)}_render(K){let b=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(K),this._removed)return;let I=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let H=this.transform.zoom,$=u.now();this.style.zoomHistory.update(H,$);let xe=new i.z(H,{now:$,fadeDuration:b,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),ke=xe.crossFadingFactor();ke===1&&ke===this._crossFadingFactor||(I=!0,this._crossFadingFactor=ke),this.style.update(xe)}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,b,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:b,showPadding:this.showPadding}),this.fire(new i.k("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,i.bf.mark(i.bg.load),this.fire(new i.k("load"))),this.style&&(this.style.hasTransitions()||I)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let G=this._sourcesDirty||this._styleDirty||this._placementDirty;return G||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new i.k("idle")),!this._loaded||this._fullyLoaded||G||(this._fullyLoaded=!0,i.bf.mark(i.bg.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var K;this._hash&&this._hash.remove();for(let I of this._controls)I.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!="undefined"&&removeEventListener("online",this._onWindowOnline,!1),g.removeThrottleControl(this._imageQueueHandle),(K=this._resizeObserver)===null||K===void 0||K.disconnect();let b=this.painter.context.gl.getExtension("WEBGL_lose_context");b!=null&&b.loseContext&&b.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),c.remove(this._canvasContainer),c.remove(this._controlContainer),this._container.classList.remove("maplibregl-map"),i.bf.clearMetrics(),this._removed=!0,this.fire(new i.k("remove"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,u.frameAsync(this._frameRequest).then((K=>{i.bf.frame(K),this._frameRequest=null,this._render(K)})).catch((()=>{})))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(K){this._showTileBoundaries!==K&&(this._showTileBoundaries=K,this._update())}get showPadding(){return!!this._showPadding}set showPadding(K){this._showPadding!==K&&(this._showPadding=K,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(K){this._showCollisionBoxes!==K&&(this._showCollisionBoxes=K,K?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(K){this._showOverdrawInspector!==K&&(this._showOverdrawInspector=K,this._update())}get repaint(){return!!this._repaint}set repaint(K){this._repaint!==K&&(this._repaint=K,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(K){this._vertices=K,this._update()}get version(){return Js}getCameraTargetElevation(){return this.transform.elevation}},a.MapMouseEvent=Fs,a.MapTouchEvent=oc,a.MapWheelEvent=xd,a.Marker=au,a.NavigationControl=class{constructor(K){this._updateZoomButtons=()=>{let b=this._map.getZoom(),I=b===this._map.getMaxZoom(),G=b===this._map.getMinZoom();this._zoomInButton.disabled=I,this._zoomOutButton.disabled=G,this._zoomInButton.setAttribute("aria-disabled",I.toString()),this._zoomOutButton.setAttribute("aria-disabled",G.toString())},this._rotateCompassArrow=()=>{let b=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=b},this._setButtonTitle=(b,I)=>{let G=this._map._getUIString(`NavigationControl.${I}`);b.title=G,b.setAttribute("aria-label",G)},this.options=i.e({},ya,K),this._container=c.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",(b=>b.preventDefault())),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",(b=>this._map.zoomIn({},{originalEvent:b}))),c.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",(b=>this._map.zoomOut({},{originalEvent:b}))),c.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",(b=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:b}):this._map.resetNorth({},{originalEvent:b})})),this._compassIcon=c.create("span","maplibregl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}onAdd(K){return this._map=K,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 ho(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){c.remove(this._container),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(K,b){let I=c.create("button",K,this._container);return I.type="button",I.addEventListener("click",b),I}},a.Popup=class extends i.E{constructor(K){super(),this.remove=()=>(this._content&&c.remove(this._content),this._container&&(c.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),this._map._canvasContainer.classList.remove("maplibregl-track-pointer"),delete this._map,this.fire(new i.k("close"))),this),this._onMouseUp=b=>{this._update(b.point)},this._onMouseMove=b=>{this._update(b.point)},this._onDrag=b=>{this._update(b.point)},this._update=b=>{var I;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=c.create("div","maplibregl-popup",this._map.getContainer()),this._tip=c.create("div","maplibregl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className)for(let ke of this.options.className.split(" "))this._container.classList.add(ke);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?Yi(this._lngLat,this._flatPos,this._map.transform):(I=this._lngLat)===null||I===void 0?void 0:I.wrap(),this._trackPointer&&!b)return;let G=this._flatPos=this._pos=this._trackPointer&&b?b:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&b?b:this._map.transform.locationPoint(this._lngLat));let H=this.options.anchor,$=pf(this.options.offset);if(!H){let ke=this._container.offsetWidth,Ne=this._container.offsetHeight,et;et=G.y+$.bottom.ythis._map.transform.height-Ne?["bottom"]:[],G.xthis._map.transform.width-ke/2&&et.push("right"),H=et.length===0?"bottom":et.join("-")}let xe=G.add($[H]);this.options.subpixelPositioning||(xe=xe.round()),c.setTransform(this._container,`${Vs[H]} translate(${xe.x}px,${xe.y}px)`),xu(this._container,H,"popup")},this._onClose=()=>{this.remove()},this.options=i.e(Object.create(oi),K)}addTo(K){return this._map&&this.remove(),this._map=K,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 i.k("open")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(K){return this._lngLat=i.N.convert(K),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(K){return this.setDOMContent(document.createTextNode(K))}setHTML(K){let b=document.createDocumentFragment(),I=document.createElement("body"),G;for(I.innerHTML=K;G=I.firstChild,G;)b.appendChild(G);return this.setDOMContent(b)}getMaxWidth(){var K;return(K=this._container)===null||K===void 0?void 0:K.style.maxWidth}setMaxWidth(K){return this.options.maxWidth=K,this._update(),this}setDOMContent(K){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=c.create("div","maplibregl-popup-content",this._container);return this._content.appendChild(K),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(K){return this._container&&this._container.classList.add(K),this}removeClassName(K){return this._container&&this._container.classList.remove(K),this}setOffset(K){return this.options.offset=K,this._update(),this}toggleClassName(K){if(this._container)return this._container.classList.toggle(K)}setSubpixelPositioning(K){this.options.subpixelPositioning=K}_createCloseButton(){this.options.closeButton&&(this._closeButton=c.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 K=this._container.querySelector(Ph);K&&K.focus()}},a.RasterDEMTileSource=st,a.RasterTileSource=vt,a.ScaleControl=class{constructor(K){this._onMove=()=>{Pc(this._map,this._container,this.options)},this.setUnit=b=>{this.options.unit=b,Pc(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},ul),K)}getDefaultPosition(){return"bottom-left"}onAdd(K){return this._map=K,this._container=c.create("div","maplibregl-ctrl maplibregl-ctrl-scale",K.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){c.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}},a.ScrollZoomHandler=mr,a.Style=xi,a.TerrainControl=class{constructor(K){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=K}onAdd(K){return this._map=K,this._container=c.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._terrainButton=c.create("button","maplibregl-ctrl-terrain",this._container),c.create("span","maplibregl-ctrl-icon",this._terrainButton).setAttribute("aria-hidden","true"),this._terrainButton.type="button",this._terrainButton.addEventListener("click",this._toggleTerrain),this._updateTerrainIcon(),this._map.on("terrain",this._updateTerrainIcon),this._container}onRemove(){c.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}},a.TwoFingersTouchPitchHandler=Wu,a.TwoFingersTouchRotateHandler=ed,a.TwoFingersTouchZoomHandler=Fu,a.TwoFingersTouchZoomRotateHandler=tn,a.VectorTileSource=Xe,a.VideoSource=lt,a.addSourceType=(K,b)=>i._(void 0,void 0,void 0,(function*(){if(Ee(K))throw new Error(`A source type called "${K}" already exists.`);((I,G)=>{de[I]=G})(K,b)})),a.clearPrewarmedResources=function(){let K=re;K&&(K.isPreloaded()&&K.numActive()===1?(K.release(te),re=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()"))},a.getMaxParallelImageRequests=function(){return i.a.MAX_PARALLEL_IMAGE_REQUESTS},a.getRTLTextPluginStatus=function(){return tt().getRTLTextPluginStatus()},a.getVersion=function(){return iu},a.getWorkerCount=function(){return se.workerCount},a.getWorkerUrl=function(){return i.a.WORKER_URL},a.importScriptInWorkers=function(K){return oe().broadcast("IS",K)},a.prewarm=function(){fe().acquire(te)},a.setMaxParallelImageRequests=function(K){i.a.MAX_PARALLEL_IMAGE_REQUESTS=K},a.setRTLTextPlugin=function(K,b){return tt().setRTLTextPlugin(K,b)},a.setWorkerCount=function(K){se.workerCount=K},a.setWorkerUrl=function(K){i.a.WORKER_URL=K}}));var n=e;return n}))});var tNe=ne((Pgr,eNe)=>{"use strict";var R2=Zt(),RVt=Ms().sanitizeHTML,IVt=cY(),KOe=cy();function JOe(e,t){this.subplot=e,this.uid=e.uid+"-"+t,this.index=t,this.idSource="source-"+this.uid,this.idLayer=KOe.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var b0=JOe.prototype;b0.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=sF(t)};b0.needsNewImage=function(e){var t=this.subplot.map;return t.getSource(this.idSource)&&this.sourceType==="image"&&e.sourcetype==="image"&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))};b0.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type};b0.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup["layout-"+this.index]};b0.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]};b0.updateImage=function(e){var t=this.subplot.map;t.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var r=this.findFollowingMapLayerId(this.lookupBelow());r!==null&&this.subplot.map.moveLayer(this.idLayer,r)};b0.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,!!sF(e)){var r=zVt(e);t.addSource(this.idSource,r)}};b0.findFollowingMapLayerId=function(e){if(e==="traces")for(var t=this.subplot.getMapLayers(),r=0;r0){for(var r=0;r0}function QOe(e){var t={},r={};switch(e.type){case"circle":R2.extendFlat(r,{"circle-radius":e.circle.radius,"circle-color":e.color,"circle-opacity":e.opacity});break;case"line":R2.extendFlat(r,{"line-width":e.line.width,"line-color":e.color,"line-opacity":e.opacity,"line-dasharray":e.line.dash});break;case"fill":R2.extendFlat(r,{"fill-color":e.color,"fill-outline-color":e.fill.outlinecolor,"fill-opacity":e.opacity});break;case"symbol":var n=e.symbol,a=IVt(n.textposition,n.iconsize);R2.extendFlat(t,{"icon-image":n.icon,"icon-size":n.iconsize/10,"text-field":n.text,"text-size":n.textfont.size,"text-anchor":a.anchor,"text-offset":a.offset,"symbol-placement":n.placement}),R2.extendFlat(r,{"icon-color":e.color,"text-color":n.textfont.color,"text-opacity":e.opacity});break;case"raster":R2.extendFlat(r,{"raster-fade-duration":0,"raster-opacity":e.opacity});break}return{layout:t,paint:r}}function zVt(e){var t=e.sourcetype,r=e.source,n={type:t},a;return t==="geojson"?a="data":t==="vector"?a=typeof r=="string"?"url":"tiles":t==="raster"?(a="tiles",n.tileSize=256):t==="image"&&(a="url",n.coordinates=e.coordinates),n[a]=r,e.sourceattribution&&(n.attribution=RVt(e.sourceattribution)),n}eNe.exports=function(t,r,n){var a=new JOe(t,r);return a.update(n),a}});var fNe=ne((Dgr,cNe)=>{"use strict";var gY=$Oe(),uF=Zt(),aNe=sg(),rNe=Fa(),qVt=ri(),BVt=od(),lF=cu(),iNe=Cp(),OVt=iNe.drawMode,NVt=iNe.selectMode,UVt=ef().prepSelect,VVt=ef().clearOutline,GVt=ef().clearSelectionsCache,HVt=ef().selectOnClick,fy=cy(),jVt=tNe();function oNe(e,t){this.id=t,this.gd=e;var r=e._fullLayout,n=e._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+"-"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var Hc=oNe.prototype;Hc.plot=function(e,t,r){var n=this,a;n.map?a=new Promise(function(i,o){n.updateMap(e,t,i,o)}):a=new Promise(function(i,o){n.createMap(e,t,i,o)}),r.push(a)};Hc.createMap=function(e,t,r,n){var a=this,i=t[a.id],o=a.styleObj=uNe(i.style),s=i.bounds,l=s?[[s.west,s.south],[s.east,s.north]]:null;let u={container:a.div,style:o.style,center:mY(i.center),zoom:i.zoom,bearing:i.bearing,pitch:i.pitch,maxBounds:l,interactive:!a.isStatic,preserveDrawingBuffer:a.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1},c=i._fitBounds;c&&(u.bounds=[[c.west,c.south],[c.east,c.north]],u.fitBoundsOptions={padding:fy.fitBoundsPadding});let f=a.map=new gY.Map(u).addControl(new gY.AttributionControl({compact:!0}));var h={};f.on("styleimagemissing",function(d){var m=d.id;if(!h[m]&&/^[a-zA-Z0-9-]+$/.test(m)){h[m]=!0;var x=new Image(15,15);x.onload=function(){f.addImage(m,x,{sdf:!0})},x.crossOrigin="Anonymous",x.src="https://cdn.jsdelivr.net/npm/@mapbox/maki@8.2.0/icons/"+m+".svg"}}),f.setTransformRequest(function(d){return d=d.replace("https://fonts.openmaptiles.org/Open Sans Extrabold","https://fonts.openmaptiles.org/Open Sans Extra Bold"),d=d.replace("https://tiles.basemaps.cartocdn.com/fonts/Open Sans Extrabold","https://fonts.openmaptiles.org/Open Sans Extra Bold"),d=d.replace("https://fonts.openmaptiles.org/Open Sans Regular,Arial Unicode MS Regular","https://fonts.openmaptiles.org/Klokantech Noto Sans Regular"),{url:d}}),f._canvas.style.left="0px",f._canvas.style.top="0px",a.rejectOnError(n),a.isStatic||a.initFx(e,t);var v=[];v.push(new Promise(function(d){f.once("load",d)})),v=v.concat(aNe.fetchTraceGeoData(e)),Promise.all(v).then(function(){c&&sNe(a,i),lNe(a,i),a.fillBelowLookup(e,t),a.updateData(e),a.updateLayout(t),a.resolveOnRender(r)}).catch(n)};Hc.updateMap=function(e,t,r,n){var a=this,i=a.map,o=t[this.id];a.rejectOnError(n);var s=[],l=uNe(o.style);JSON.stringify(a.styleObj)!==JSON.stringify(l)&&(a.styleObj=l,i.setStyle(l.style),a.traceHash={},s.push(new Promise(function(u){i.once("styledata",u)}))),s=s.concat(aNe.fetchTraceGeoData(e)),Promise.all(s).then(function(){a.fillBelowLookup(e,t),a.updateData(e);let u=o._fitBounds;u&&(i.fitBounds([[u.west,u.south],[u.east,u.north]],{padding:fy.fitBoundsPadding,animate:!1}),sNe(a,o),lNe(a,o)),a.updateLayout(t),a.resolveOnRender(r)}).catch(n)};function sNe(e,t){let{center:r,zoom:n}=e.getView();t._input.center=t.center=r,t._input.zoom=t.zoom=n,t._input._fitView={center:uv({},r),zoom:n}}function lNe(e,t){let r=e.getView();e.viewInitial={center:uF.extendFlat({},r.center),bearing:t.bearing,pitch:t.pitch,zoom:r.zoom}}Hc.fillBelowLookup=function(e,t){var r=t[this.id],n=r.layers,a,i,o=this.belowLookup={},s=!1;for(a=0;a1)for(a=0;a-1&&HVt(l.originalEvent,n,[r.xaxis],[r.yaxis],r.id,s),u.indexOf("event")>-1&&lF.click(n,l.originalEvent)}}};Hc.updateFx=function(e){var t=this,r=t.map,n=t.gd;if(t.isStatic)return;function a(l){var u=t.map.unproject(l);return[u.lng,u.lat]}var i=e.dragmode,o;o=function(l,u){if(u.isRect){var c=l.range={};c[t.id]=[a([u.xmin,u.ymin]),a([u.xmax,u.ymax])]}else{var f=l.lassoPoints={};f[t.id]=u.map(a)}};var s=t.dragOptions;t.dragOptions=uF.extendDeep(s||{},{dragmode:e.dragmode,element:t.div,gd:n,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:o},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off("click",t.onClickInPanHandler),NVt(i)||OVt(i)?(r.dragPan.disable(),r.on("zoomstart",t.clearOutline),t.dragOptions.prepFn=function(l,u,c){UVt(l,u,c,t.dragOptions,i)},BVt.init(t.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",t.clearOutline),t.div.onmousedown=null,t.div.ontouchstart=null,t.div.removeEventListener("touchstart",t.div._ontouchstart),t.onClickInPanHandler=t.onClickInPanFn(t.dragOptions),r.on("click",t.onClickInPanHandler))};Hc.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+"px",n.height=r.h*(t.y[1]-t.y[0])+"px",n.left=r.l+t.x[0]*r.w+"px",n.top=r.t+(1-t.y[1])*r.h+"px",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])};Hc.updateLayers=function(e){var t=e[this.id],r=t.layers,n=this.layerList,a;if(r.length!==n.length){for(a=0;aWVt});function WVt(e,t){let r=[];for(let l of e){if(l.subplot!==t||l.visible!==!0)continue;if(l.type==="choroplethmap")return null;let{lat:u,lon:c}=l;if(!c||!u)continue;let f=Math.min(c.length,u.length);for(let h=0;h{"use strict";hNe=yp(sg())});var mNe=ne((Igr,gNe)=>{"use strict";var yY=Zt(),YVt=qx(),XVt=zh(),pNe=F6(),{getMapFitBounds:ZVt}=(vNe(),vl(dNe));gNe.exports=function(t,r,n){YVt(t,r,n,{type:"map",attributes:pNe,handleDefaults:$Vt,partition:"y",fullData:n})};function $Vt(e,t,r,n){r("style"),r("center.lon"),r("center.lat"),r("zoom"),r("bearing"),r("pitch");let a=r("fitbounds");var i=r("bounds.west"),o=r("bounds.east"),s=r("bounds.south"),l=r("bounds.north");(i===void 0||o===void 0||s===void 0||l===void 0)&&delete t.bounds,XVt(e,t,{name:"layers",handleItemDefaults:KVt}),t._fitBounds=null;let{_fitView:{center:u,zoom:c}={},center:f,zoom:h}=e,v=(f==null?void 0:f.lon)===(u==null?void 0:u.lon)&&(f==null?void 0:f.lat)===(u==null?void 0:u.lat)&&h===c;if(a&&v){let d=ZVt(n.fullData,n.id);d&&(t._fitBounds=d)}t._input=e}function KVt(e,t){function r(l,u){return yY.coerce(e,t,pNe.layers,l,u)}var n=r("visible");if(n){var a=r("sourcetype"),i=a==="raster"||a==="image";r("source"),r("sourceattribution"),a==="vector"&&r("sourcelayer"),a==="image"&&r("coordinates");var o;i&&(o="raster");var s=r("type",o);i&&s!=="raster"&&(s=t.type="raster",yY.log("Source types *raster* and *image* must drawn *raster* layer type.")),r("below"),r("color"),r("opacity"),r("minzoom"),r("maxzoom"),s==="circle"&&r("circle.radius"),s==="line"&&(r("line.width"),r("line.dash")),s==="fill"&&r("fill.outlinecolor"),s==="symbol"&&(r("symbol.icon"),r("symbol.iconsize"),r("symbol.text"),yY.coerceFont(r,"symbol.textfont",void 0,{noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}),r("symbol.textposition"),r("symbol.placement"))}}});var cF=ne(kv=>{"use strict";var xY=Zt(),yNe=xY.strTranslate,JVt=xY.strScale,QVt=mh().getSubplotCalcData,eGt=qv(),tGt=Ea(),xNe=li(),rGt=Ms(),nGt=fNe(),hy="map";kv.name=hy;kv.attr="subplot";kv.idRoot=hy;kv.idRegex=kv.attrRegex=xY.counterRegex(hy);kv.attributes={subplot:{valType:"subplotid",dflt:"map",editType:"calc"}};kv.layoutAttributes=F6();kv.supplyLayoutDefaults=mNe();kv.plot=function(t){for(var r=t._fullLayout,n=t.calcdata,a=r._subplots[hy],i=0;im/2){var x=f.split("|").join("
");v.text(x).attr("data-unformatted",x).call(rGt.convertToTspans,e),d=xNe.bBox(v.node())}v.attr("transform",yNe(-3,-d.height+8)),h.insert("rect",".static-attribution").attr({x:-d.width-6,y:-d.height-3,width:d.width+6,height:d.height+3,fill:"rgba(255, 255, 255, 0.75)"});var g=1;d.width+6>m&&(g=m/(d.width+6));var E=[n.l+n.w*o.x[1],n.t+n.h*(1-o.y[0])];h.attr("transform",yNe(E[0],E[1])+JVt(g))}};kv.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[hy],n=0;n{"use strict";bNe.exports={attributes:tF(),supplyDefaults:kOe(),colorbar:bh(),formatLabels:uY(),calc:bH(),plot:VOe(),hoverPoints:oF().hoverPoints,eventData:WOe(),selectPoints:XOe(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.update(t)}},moduleType:"trace",name:"scattermap",basePlotModule:cF(),categories:["map","gl","symbols","showLegend","scatter-like"],meta:{}}});var TNe=ne((Bgr,wNe)=>{"use strict";wNe.exports=_Ne()});var bY=ne((Ogr,ANe)=>{"use strict";var gg=JA(),aGt=Ys(),{hovertemplateAttrs:iGt,templatefallbackAttrs:oGt}=rs(),sGt=os(),dy=ci().extendFlat;ANe.exports=dy({locations:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},geojson:{valType:"any",editType:"calc"},featureidkey:dy({},gg.featureidkey,{}),below:{valType:"string",editType:"plot"},text:gg.text,hovertext:gg.hovertext,marker:{line:{color:dy({},gg.marker.line.color,{editType:"plot"}),width:dy({},gg.marker.line.width,{editType:"plot"}),editType:"calc"},opacity:dy({},gg.marker.opacity,{editType:"plot"}),editType:"calc"},selected:{marker:{opacity:dy({},gg.selected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},unselected:{marker:{opacity:dy({},gg.unselected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},hoverinfo:gg.hoverinfo,hovertemplate:iGt({},{keys:["properties"]}),hovertemplatefallback:oGt(),showlegend:dy({},sGt.showlegend,{dflt:!1})},aGt("",{cLetter:"z",editTypeOverride:"calc"}))});var SNe=ne((Ngr,MNe)=>{"use strict";var I6=Zt(),lGt=bf(),uGt=bY();MNe.exports=function(t,r,n,a){function i(c,f){return I6.coerce(t,r,uGt,c,f)}var o=i("locations"),s=i("z"),l=i("geojson");if(!I6.isArrayOrTypedArray(o)||!o.length||!I6.isArrayOrTypedArray(s)||!s.length||!(typeof l=="string"&&l!==""||I6.isPlainObject(l))){r.visible=!1;return}i("featureidkey"),r._length=Math.min(o.length,s.length),i("below"),i("text"),i("hovertext"),i("hovertemplate"),i("hovertemplatefallback");var u=i("marker.line.width");u&&i("marker.line.color"),i("marker.opacity"),lGt(t,r,a,i,{prefix:"",cLetter:"z"}),I6.coerceSelectionMarkerOpacity(r,i)}});var _Y=ne((Ugr,CNe)=>{"use strict";var cGt=mi(),mg=Zt(),fGt=El(),hGt=li(),dGt=jA().makeBlank,ENe=sg();function vGt(e){var t=e[0].trace,r=t.visible===!0&&t._length!==0,n={layout:{visibility:"none"},paint:{}},a={layout:{visibility:"none"},paint:{}},i=t._opts={fill:n,line:a,geojson:dGt()};if(!r)return i;var o=ENe.extractTraceFeature(e);if(!o)return i;var s=fGt.makeColorScaleFuncFromTrace(t),l=t.marker,u=l.line||{},c;mg.isArrayOrTypedArray(l.opacity)&&(c=function(E){var M=E.mo;return cGt(M)?+mg.constrain(M,0,1):0});var f;mg.isArrayOrTypedArray(u.color)&&(f=function(E){return E.mlc});var h;mg.isArrayOrTypedArray(u.width)&&(h=function(E){return E.mlw});for(var v=0;v{"use strict";var FNe=_Y().convert,pGt=_Y().convertOnSelect,LNe=cy().traceLayerPrefix;function PNe(e,t){this.type="choroplethmap",this.subplot=e,this.uid=t,this.sourceId="source-"+t,this.layerList=[["fill",LNe+t+"-fill"],["line",LNe+t+"-line"]],this.below=null}var Lw=PNe.prototype;Lw.update=function(e){this._update(FNe(e)),e[0].trace._glTrace=this};Lw.updateOnSelect=function(e){this._update(pGt(e))};Lw._update=function(e){var t=this.subplot,r=this.layerList,n=t.belowLookup["trace-"+this.uid];t.map.getSource(this.sourceId).setData(e.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(e,n),this.below=n);for(var a=0;a=0;r--)e.removeLayer(t[r][1])};Lw.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};DNe.exports=function(t,r){var n=r[0].trace,a=new PNe(t,n.uid),i=a.sourceId,o=FNe(r),s=a.below=t.belowLookup["trace-"+n.uid];return t.map.addSource(i,{type:"geojson",data:o.geojson}),a._addLayers(o,s),r[0].trace._glTrace=a,a}});var zNe=ne((Ggr,INe)=>{"use strict";INe.exports={attributes:bY(),supplyDefaults:SNe(),colorbar:V_(),calc:$H(),plot:RNe(),hoverPoints:QH(),eventData:ej(),selectPoints:tj(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.updateOnSelect(t)}},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var a=r[n].id;if(typeof a=="string"&&a.indexOf("water")===0){for(var i=n+1;i{"use strict";qNe.exports=zNe()});var TY=ne((jgr,NNe)=>{"use strict";var gGt=Ys(),{hovertemplateAttrs:mGt,templatefallbackAttrs:yGt}=rs(),ONe=os(),fF=tF(),wY=ci().extendFlat;NNe.exports=wY({lon:fF.lon,lat:fF.lat,z:{valType:"data_array",editType:"calc"},radius:{valType:"number",editType:"plot",arrayOk:!0,min:1,dflt:30},below:{valType:"string",editType:"plot"},text:fF.text,hovertext:fF.hovertext,hoverinfo:wY({},ONe.hoverinfo,{flags:["lon","lat","z","text","name"]}),hovertemplate:mGt(),hovertemplatefallback:yGt(),showlegend:wY({},ONe.showlegend,{dflt:!1})},gGt("",{cLetter:"z",editTypeOverride:"calc"}))});var VNe=ne((Wgr,UNe)=>{"use strict";var xGt=Zt(),bGt=bf(),_Gt=TY();UNe.exports=function(t,r,n,a){function i(u,c){return xGt.coerce(t,r,_Gt,u,c)}var o=i("lon")||[],s=i("lat")||[],l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,i("z"),i("radius"),i("below"),i("text"),i("hovertext"),i("hovertemplate"),i("hovertemplatefallback"),bGt(t,r,a,i,{prefix:"",cLetter:"z"})}});var jNe=ne((Ygr,HNe)=>{"use strict";var AY=mi(),wGt=Zt().isArrayOrTypedArray,MY=uo().BADNUM,TGt=qh(),GNe=Zt()._;HNe.exports=function(t,r){for(var n=r._length,a=new Array(n),i=r.z,o=wGt(i)&&i.length,s=0;s{"use strict";var AGt=mi(),SY=Zt(),WNe=_a(),YNe=El(),XNe=uo().BADNUM,MGt=jA().makeBlank;ZNe.exports=function(t){var r=t[0].trace,n=r.visible===!0&&r._length!==0,a={layout:{visibility:"none"},paint:{}},i=r._opts={heatmap:a,geojson:MGt()};if(!n)return i;var o=[],s,l=r.z,u=r.radius,c=SY.isArrayOrTypedArray(l)&&l.length,f=SY.isArrayOrTypedArray(u);for(s=0;s0?+u[s]:0),o.push({type:"Feature",geometry:{type:"Point",coordinates:v},properties:d})}}var x=YNe.extractOpts(r),g=x.reversescale?YNe.flipScale(x.colorscale):x.colorscale,E=g[0][1],M=WNe.opacity(E)<1?E:WNe.addOpacity(E,0),w=["interpolate",["linear"],["heatmap-density"],0,M];for(s=1;s{"use strict";var KNe=$Ne(),SGt=cy().traceLayerPrefix;function JNe(e,t){this.type="densitymap",this.subplot=e,this.uid=t,this.sourceId="source-"+t,this.layerList=[["heatmap",SGt+t+"-heatmap"]],this.below=null}var hF=JNe.prototype;hF.update=function(e){var t=this.subplot,r=this.layerList,n=KNe(e),a=t.belowLookup["trace-"+this.uid];t.map.getSource(this.sourceId).setData(n.geojson),a!==this.below&&(this._removeLayers(),this._addLayers(n,a),this.below=a);for(var i=0;i=0;r--)e.removeLayer(t[r][1])};hF.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};QNe.exports=function(t,r){var n=r[0].trace,a=new JNe(t,n.uid),i=a.sourceId,o=KNe(r),s=a.below=t.belowLookup["trace-"+n.uid];return t.map.addSource(i,{type:"geojson",data:o.geojson}),a._addLayers(o,s),a}});var rUe=ne(($gr,tUe)=>{"use strict";var EGt=ri(),kGt=oF().hoverPoints,CGt=oF().getExtraText;tUe.exports=function(t,r,n){var a=kGt(t,r,n);if(a){var i=a[0],o=i.cd,s=o[0].trace,l=o[i.index];if(delete i.color,"z"in l){var u=i.subplot.mockAxis;i.z=l.z,i.zLabel=EGt.tickText(u,u.c2l(l.z),"hover").text}return i.extraText=CGt(s,l,o[0].t.labels),[i]}}});var aUe=ne((Kgr,nUe)=>{"use strict";nUe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t.z=r.z,t}});var oUe=ne((Jgr,iUe)=>{"use strict";iUe.exports={attributes:TY(),supplyDefaults:VNe(),colorbar:V_(),formatLabels:uY(),calc:jNe(),plot:eUe(),hoverPoints:rUe(),eventData:aUe(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;n{"use strict";sUe.exports=oUe()});var kY=ne((tmr,dUe)=>{"use strict";var LGt=pl(),FGt=os(),uUe=Ic(),EY=db(),PGt=zl().attributes,{hovertemplateAttrs:cUe,templatefallbackAttrs:fUe}=rs(),DGt=Ys(),RGt=Bo().templatedArray,IGt=Wl().descriptionOnlyNumbers,hUe=ci().extendFlat,zGt=Il().overrideAll,emr=dUe.exports=zGt({hoverinfo:hUe({},FGt.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:EY.hoverlabel,domain:PGt({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h"},valueformat:{valType:"string",dflt:".3s",description:IGt("value")},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:LGt({autoShadowDflt:!0}),customdata:void 0,node:{label:{valType:"data_array",dflt:[]},groups:{valType:"info_array",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:"number",editType:"calc"}},x:{valType:"data_array",dflt:[]},y:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:uUe.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:.5,arrayOk:!0}},pad:{valType:"number",arrayOk:!1,min:0,dflt:20},thickness:{valType:"number",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:EY.hoverlabel,hovertemplate:cUe({},{keys:["value","label"]}),hovertemplatefallback:fUe(),align:{valType:"enumerated",values:["justify","left","right","center"],dflt:"justify"},sort:{valType:"enumerated",values:["auto","input"],dflt:"auto"}},link:{arrowlen:{valType:"number",min:0,dflt:0},label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},hovercolor:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:uUe.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:0,arrayOk:!0}},source:{valType:"data_array",dflt:[]},target:{valType:"data_array",dflt:[]},value:{valType:"data_array",dflt:[]},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:EY.hoverlabel,hovertemplate:cUe({},{keys:["value","label"]}),hovertemplatefallback:fUe(),colorscales:RGt("concentrationscales",{editType:"calc",label:{valType:"string",editType:"calc",dflt:""},cmax:{valType:"number",editType:"calc",dflt:1},cmin:{valType:"number",editType:"calc",dflt:0},colorscale:hUe(DGt().colorscale,{dflt:[[0,"white"],[1,"black"]]})}),sort:{valType:"enumerated",values:["auto","input"],dflt:"auto"}}},"calc","nested")});var mUe=ne((rmr,gUe)=>{"use strict";var Pw=Zt(),dF=kY(),Fw=_a(),qGt=zl().defaults,vUe=n4(),pUe=Bo(),BGt=zh();gUe.exports=function(t,r,n,a){function i(w,k){return Pw.coerce(t,r,dF,w,k)}var o=Pw.extendDeep(a.hoverlabel,t.hoverlabel),s=t.node,l=pUe.newContainer(r,"node");function u(w,k){return Pw.coerce(s,l,dF.node,w,k)}u("label"),u("groups"),u("x"),u("y"),u("pad"),u("thickness"),u("line.color"),u("line.width"),u("hoverinfo",t.hoverinfo),vUe(s,l,u,o),u("hovertemplate"),u("align"),u("sort");var c=a.colorway;let f=w=>c[w%c.length];u("color",l.label.map((w,k)=>Fw.addOpacity(f(k),.8))),u("customdata");var h=t.link||{},v=pUe.newContainer(r,"link");function d(w,k){return Pw.coerce(h,v,dF.link,w,k)}d("label"),d("arrowlen"),d("source"),d("target"),d("value"),d("line.color"),d("line.width"),d("hoverinfo",t.hoverinfo),vUe(h,v,d,o),d("hovertemplate"),d("sort");var m=Fw.color(a.paper_bgcolor).luminosity()<.333,x=m?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)",g=d("color",x);function E(w){if(!Fw.isValid(w))return w;let k=Fw.color(w),y=k.alpha();return y<=.8?k.alpha(y+.2).rgb().string():m?Fw.brighten(k,10):Fw.adjustLightness(k,-10).rgb().string()}d("hovercolor",Array.isArray(g)?g.map(E):E(g)),d("customdata"),BGt(h,v,{name:"colorscales",handleItemDefaults:OGt}),qGt(r,a,i),i("orientation"),i("valueformat"),i("valuesuffix");let M=l.x.length&&l.y.length?"freeform":void 0;i("arrangement",M),Pw.coerceFont(i,"textfont",a.font,{autoShadowDflt:!0}),r._length=null};function OGt(e,t){function r(n,a){return Pw.coerce(e,t,dF.link.colorscales,n,a)}r("label"),r("cmin"),r("cmax"),r("colorscale")}});var CY=ne((nmr,yUe)=>{"use strict";yUe.exports=NGt;function NGt(e){for(var t=e.length,r=new Array(t),n=new Array(t),a=new Array(t),i=new Array(t),o=new Array(t),s=new Array(t),l=0;l0;){x=E[E.length-1];var M=e[x];if(i[x]=0&&s[x].push(o[k])}i[x]=w}else{if(n[x]===r[x]){for(var y=[],S=[],T=0,w=g.length-1;w>=0;--w){var p=g[w];if(a[p]=!1,y.push(p),S.push(s[p]),T+=s[p].length,o[p]=c.length,p===x){g.length=w;break}}c.push(y);for(var C=new Array(T),w=0;w{"use strict";var UGt=CY(),Dw=Zt(),VGt=c1().wrap,z6=Dw.isArrayOrTypedArray,xUe=Dw.isIndex,bUe=El();function GGt(e){var t=e.node,r=e.link,n=[],a=z6(r.color),i=z6(r.hovercolor),o=z6(r.customdata),s={},l={},u=r.colorscales.length,c;for(c=0;cd&&(d=r.source[c]),r.target[c]>d&&(d=r.target[c]);var m=d+1;e.node._count=m;var x,g=e.node.groups,E={};for(c=0;c0&&xUe(T,m)&&xUe(p,m)&&!(E.hasOwnProperty(T)&&E.hasOwnProperty(p)&&E[T]===E[p])){E.hasOwnProperty(p)&&(p=E[p]),E.hasOwnProperty(T)&&(T=E[T]),T=+T,p=+p,s[T]=s[p]=!0;var C="";r.label&&r.label[c]&&(C=r.label[c]);var A=null;C&&l.hasOwnProperty(C)&&(A=l[C]),n.push({pointNumber:c,label:C,color:a?r.color[c]:r.color,hovercolor:i?r.hovercolor[c]:r.hovercolor,customdata:o?r.customdata[c]:r.customdata,concentrationscale:A,source:T,target:p,value:+S}),y.source.push(T),y.target.push(p)}}var P=m+g.length,D=z6(t.color),z=z6(t.customdata),q=[];for(c=0;cm-1,childrenNodes:[],pointNumber:c,label:U,color:D?t.color[c]:t.color,customdata:z?t.customdata[c]:t.customdata})}var O=!1;return HGt(P,y.source,y.target)&&(O=!0),{circular:O,links:n,nodes:q,groups:g,groupLookup:E}}function HGt(e,t,r){for(var n=Dw.init2dArray(e,0),a=0;a1})}_Ue.exports=function(t,r){var n=GGt(r);return VGt({circular:n.circular,_nodes:n.nodes,_links:n.links,_groups:n.groups,_groupLookup:n.groupLookup})}});var AUe=ne((vF,TUe)=>{(function(e,t){typeof vF=="object"&&typeof TUe!="undefined"?t(vF):(e=e||self,t(e.d3=e.d3||{}))})(vF,function(e){"use strict";function t(S){var T=+this._x.call(null,S),p=+this._y.call(null,S);return r(this.cover(T,p),T,p,S)}function r(S,T,p,C){if(isNaN(T)||isNaN(p))return S;var A,P=S._root,D={data:C},z=S._x0,q=S._y0,U=S._x1,O=S._y1,R,B,Y,X,te,se,ue,re;if(!P)return S._root=D,S;for(;P.length;)if((te=T>=(R=(z+U)/2))?z=R:U=R,(se=p>=(B=(q+O)/2))?q=B:O=B,A=P,!(P=P[ue=se<<1|te]))return A[ue]=D,S;if(Y=+S._x.call(null,P.data),X=+S._y.call(null,P.data),T===Y&&p===X)return D.next=P,A?A[ue]=D:S._root=D,S;do A=A?A[ue]=new Array(4):S._root=new Array(4),(te=T>=(R=(z+U)/2))?z=R:U=R,(se=p>=(B=(q+O)/2))?q=B:O=B;while((ue=se<<1|te)===(re=(X>=B)<<1|Y>=R));return A[re]=P,A[ue]=D,S}function n(S){var T,p,C=S.length,A,P,D=new Array(C),z=new Array(C),q=1/0,U=1/0,O=-1/0,R=-1/0;for(p=0;pO&&(O=A),PR&&(R=P));if(q>O||U>R)return this;for(this.cover(q,U).cover(O,R),p=0;pS||S>=A||C>T||T>=P;)switch(U=(TO||(z=X.y0)>R||(q=X.x1)=ue)<<1|S>=se)&&(X=B[B.length-1],B[B.length-1]=B[B.length-1-te],B[B.length-1-te]=X)}else{var re=S-+this._x.call(null,Y.data),j=T-+this._y.call(null,Y.data),fe=re*re+j*j;if(fe=(B=(D+q)/2))?D=B:q=B,(te=R>=(Y=(z+U)/2))?z=Y:U=Y,T=p,!(p=p[se=te<<1|X]))return this;if(!p.length)break;(T[se+1&3]||T[se+2&3]||T[se+3&3])&&(C=T,ue=se)}for(;p.data!==S;)if(A=p,!(p=p.next))return this;return(P=p.next)&&delete p.next,A?(P?A.next=P:delete A.next,this):T?(P?T[se]=P:delete T[se],(p=T[0]||T[1]||T[2]||T[3])&&p===(T[3]||T[2]||T[1]||T[0])&&!p.length&&(C?C[ue]=p:this._root=p),this):(this._root=P,this)}function c(S){for(var T=0,p=S.length;T{(function(e,t){t(typeof pF=="object"&&typeof MUe!="undefined"?pF:e.d3=e.d3||{})})(pF,(function(e){"use strict";var t="$";function r(){}r.prototype=n.prototype={constructor:r,has:function(m){return t+m in this},get:function(m){return this[t+m]},set:function(m,x){return this[t+m]=x,this},remove:function(m){var x=t+m;return x in this&&delete this[x]},clear:function(){for(var m in this)m[0]===t&&delete this[m]},keys:function(){var m=[];for(var x in this)x[0]===t&&m.push(x.slice(1));return m},values:function(){var m=[];for(var x in this)x[0]===t&&m.push(this[x]);return m},entries:function(){var m=[];for(var x in this)x[0]===t&&m.push({key:x.slice(1),value:this[x]});return m},size:function(){var m=0;for(var x in this)x[0]===t&&++m;return m},empty:function(){for(var m in this)if(m[0]===t)return!1;return!0},each:function(m){for(var x in this)x[0]===t&&m(this[x],x.slice(1),this)}};function n(m,x){var g=new r;if(m instanceof r)m.each(function(y,S){g.set(S,y)});else if(Array.isArray(m)){var E=-1,M=m.length,w;if(x==null)for(;++E=m.length)return g!=null&&y.sort(g),E!=null?E(y):y;for(var C=-1,A=y.length,P=m[S++],D,z,q=n(),U,O=T();++Cm.length)return y;var T,p=x[S-1];return E!=null&&S>=m.length?T=y.entries():(T=[],y.each(function(C,A){T.push({key:A,values:k(C,S)})})),p!=null?T.sort(function(C,A){return p(C.key,A.key)}):T}return M={object:function(y){return w(y,0,i,o)},map:function(y){return w(y,0,s,l)},entries:function(y){return k(w(y,0,s,l),0)},key:function(y){return m.push(y),M},sortKeys:function(y){return x[m.length-1]=y,M},sortValues:function(y){return g=y,M},rollup:function(y){return E=y,M}}}function i(){return{}}function o(m,x,g){m[x]=g}function s(){return n()}function l(m,x,g){m.set(x,g)}function u(){}var c=n.prototype;u.prototype=f.prototype={constructor:u,has:c.has,add:function(m){return m+="",this[t+m]=m,this},remove:c.remove,clear:c.clear,values:c.keys,size:c.size,empty:c.empty,each:c.each};function f(m,x){var g=new u;if(m instanceof u)m.each(function(w){g.add(w)});else if(m){var E=-1,M=m.length;if(x==null)for(;++E{(function(e,t){typeof gF=="object"&&typeof SUe!="undefined"?t(gF):(e=e||self,t(e.d3=e.d3||{}))})(gF,function(e){"use strict";var t={value:function(){}};function r(){for(var s=0,l=arguments.length,u={},c;s=0&&(c=u.slice(f+1),u=u.slice(0,f)),u&&!l.hasOwnProperty(u))throw new Error("unknown type: "+u);return{type:u,name:c}})}n.prototype=r.prototype={constructor:n,on:function(s,l){var u=this._,c=a(s+"",u),f,h=-1,v=c.length;if(arguments.length<2){for(;++h0)for(var u=new Array(f),c=0,f,h;c{(function(e,t){typeof mF=="object"&&typeof kUe!="undefined"?t(mF):(e=e||self,t(e.d3=e.d3||{}))})(mF,function(e){"use strict";var t=0,r=0,n=0,a=1e3,i,o,s=0,l=0,u=0,c=typeof performance=="object"&&performance.now?performance:Date,f=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(S){setTimeout(S,17)};function h(){return l||(f(v),l=c.now()+u)}function v(){l=0}function d(){this._call=this._time=this._next=null}d.prototype=m.prototype={constructor:d,restart:function(S,T,p){if(typeof S!="function")throw new TypeError("callback is not a function");p=(p==null?h():+p)+(T==null?0:+T),!this._next&&o!==this&&(o?o._next=this:i=this,o=this),this._call=S,this._time=p,w()},stop:function(){this._call&&(this._call=null,this._time=1/0,w())}};function m(S,T,p){var C=new d;return C.restart(S,T,p),C}function x(){h(),++t;for(var S=i,T;S;)(T=l-S._time)>=0&&S._call.call(null,T),S=S._next;--t}function g(){l=(s=c.now())+u,t=r=0;try{x()}finally{t=0,M(),l=0}}function E(){var S=c.now(),T=S-s;T>a&&(u-=T,s=S)}function M(){for(var S,T=i,p,C=1/0;T;)T._call?(C>T._time&&(C=T._time),S=T,T=T._next):(p=T._next,T._next=null,T=S?S._next=p:i=p);o=S,w(C)}function w(S){if(!t){r&&(r=clearTimeout(r));var T=S-l;T>24?(S<1/0&&(r=setTimeout(g,S-c.now()-u)),n&&(n=clearInterval(n))):(n||(s=c.now(),n=setInterval(E,a)),t=1,f(g))}}function k(S,T,p){var C=new d;return T=T==null?0:+T,C.restart(function(A){C.stop(),S(A+T)},T,p),C}function y(S,T,p){var C=new d,A=T;return T==null?(C.restart(S,T,p),C):(T=+T,p=p==null?h():+p,C.restart(function P(D){D+=A,C.restart(P,A+=T,p),S(D)},T,p),C)}e.interval=y,e.now=h,e.timeout=k,e.timer=m,e.timerFlush=x,Object.defineProperty(e,"__esModule",{value:!0})})});var FUe=ne((yF,LUe)=>{(function(e,t){typeof yF=="object"&&typeof LUe!="undefined"?t(yF,AUe(),LY(),EUe(),CUe()):t(e.d3=e.d3||{},e.d3,e.d3,e.d3,e.d3)})(yF,(function(e,t,r,n,a){"use strict";function i(S,T){var p;S==null&&(S=0),T==null&&(T=0);function C(){var A,P=p.length,D,z=0,q=0;for(A=0;AR.index){var Pe=B-we.x-we.vx,le=Y-we.y-we.vy,ze=Pe*Pe+le*le;zeB+ye||ceY+ye||oeq.r&&(q.r=q[U].r)}function z(){if(T){var q,U=T.length,O;for(p=new Array(U),q=0;q1?(te==null?z.remove(X):z.set(X,Y(te)),T):z.get(X)},find:function(X,te,se){var ue=0,re=S.length,j,fe,ce,oe,we;for(se==null?se=1/0:se*=se,ue=0;ue1?(U.on(X,te),T):U.on(X)}}}function M(){var S,T,p,C=o(-30),A,P=1,D=1/0,z=.81;function q(B){var Y,X=S.length,te=t.quadtree(S,d,m).visitAfter(O);for(p=B,Y=0;Y=D)return;(B.data!==T||B.next)&&(se===0&&(se=s(),j+=se*se),ue===0&&(ue=s(),j+=ue*ue),j{(function(e,t){typeof xF=="object"&&typeof PUe!="undefined"?t(xF):(e=e||self,t(e.d3=e.d3||{}))})(xF,function(e){"use strict";var t=Math.PI,r=2*t,n=1e-6,a=r-n;function i(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function o(){return new i}i.prototype=o.prototype={constructor:i,moveTo:function(s,l){this._+="M"+(this._x0=this._x1=+s)+","+(this._y0=this._y1=+l)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(s,l){this._+="L"+(this._x1=+s)+","+(this._y1=+l)},quadraticCurveTo:function(s,l,u,c){this._+="Q"+ +s+","+ +l+","+(this._x1=+u)+","+(this._y1=+c)},bezierCurveTo:function(s,l,u,c,f,h){this._+="C"+ +s+","+ +l+","+ +u+","+ +c+","+(this._x1=+f)+","+(this._y1=+h)},arcTo:function(s,l,u,c,f){s=+s,l=+l,u=+u,c=+c,f=+f;var h=this._x1,v=this._y1,d=u-s,m=c-l,x=h-s,g=v-l,E=x*x+g*g;if(f<0)throw new Error("negative radius: "+f);if(this._x1===null)this._+="M"+(this._x1=s)+","+(this._y1=l);else if(E>n)if(!(Math.abs(g*d-m*x)>n)||!f)this._+="L"+(this._x1=s)+","+(this._y1=l);else{var M=u-h,w=c-v,k=d*d+m*m,y=M*M+w*w,S=Math.sqrt(k),T=Math.sqrt(E),p=f*Math.tan((t-Math.acos((k+E-y)/(2*S*T)))/2),C=p/T,A=p/S;Math.abs(C-1)>n&&(this._+="L"+(s+C*x)+","+(l+C*g)),this._+="A"+f+","+f+",0,0,"+ +(g*M>x*w)+","+(this._x1=s+A*d)+","+(this._y1=l+A*m)}},arc:function(s,l,u,c,f,h){s=+s,l=+l,u=+u,h=!!h;var v=u*Math.cos(c),d=u*Math.sin(c),m=s+v,x=l+d,g=1^h,E=h?c-f:f-c;if(u<0)throw new Error("negative radius: "+u);this._x1===null?this._+="M"+m+","+x:(Math.abs(this._x1-m)>n||Math.abs(this._y1-x)>n)&&(this._+="L"+m+","+x),u&&(E<0&&(E=E%r+r),E>a?this._+="A"+u+","+u+",0,1,"+g+","+(s-v)+","+(l-d)+"A"+u+","+u+",0,1,"+g+","+(this._x1=m)+","+(this._y1=x):E>n&&(this._+="A"+u+","+u+",0,"+ +(E>=t)+","+g+","+(this._x1=s+u*Math.cos(f))+","+(this._y1=l+u*Math.sin(f))))},rect:function(s,l,u,c){this._+="M"+(this._x0=this._x1=+s)+","+(this._y0=this._y1=+l)+"h"+ +u+"v"+ +c+"h"+-u+"Z"},toString:function(){return this._}},e.path=o,Object.defineProperty(e,"__esModule",{value:!0})})});var FY=ne((bF,RUe)=>{(function(e,t){typeof bF=="object"&&typeof RUe!="undefined"?t(bF,DUe()):(e=e||self,t(e.d3=e.d3||{},e.d3))})(bF,function(e,t){"use strict";function r(rt){return function(){return rt}}var n=Math.abs,a=Math.atan2,i=Math.cos,o=Math.max,s=Math.min,l=Math.sin,u=Math.sqrt,c=1e-12,f=Math.PI,h=f/2,v=2*f;function d(rt){return rt>1?0:rt<-1?f:Math.acos(rt)}function m(rt){return rt>=1?h:rt<=-1?-h:Math.asin(rt)}function x(rt){return rt.innerRadius}function g(rt){return rt.outerRadius}function E(rt){return rt.startAngle}function M(rt){return rt.endAngle}function w(rt){return rt&&rt.padAngle}function k(rt,Xt,xr,Fr,xn,Mn,Rn,on){var En=xr-rt,Aa=Fr-Xt,ba=Rn-xn,Ia=on-Mn,hi=Ia*En-ba*Aa;if(!(hi*hiBs*Bs+Fl*Fl&&(ks=xs,us=Co),{cx:ks,cy:us,x01:-ba,y01:-Ia,x11:ks*(xn/Es-1),y11:us*(xn/Es-1)}}function S(){var rt=x,Xt=g,xr=r(0),Fr=null,xn=E,Mn=M,Rn=w,on=null;function En(){var Aa,ba,Ia=+rt.apply(this,arguments),hi=+Xt.apply(this,arguments),ki=xn.apply(this,arguments)-h,ui=Mn.apply(this,arguments)-h,Mi=n(ui-ki),_i=ui>ki;if(on||(on=Aa=t.path()),hic))on.moveTo(0,0);else if(Mi>v-c)on.moveTo(hi*i(ki),hi*l(ki)),on.arc(0,0,hi,ki,ui,!_i),Ia>c&&(on.moveTo(Ia*i(ui),Ia*l(ui)),on.arc(0,0,Ia,ui,ki,_i));else{var ko=ki,Io=ui,$o=ki,Is=ui,Es=Mi,Ks=Mi,nl=Rn.apply(this,arguments)/2,ks=nl>c&&(Fr?+Fr.apply(this,arguments):u(Ia*Ia+hi*hi)),us=s(n(hi-Ia)/2,+xr.apply(this,arguments)),xs=us,Co=us,Si,io;if(ks>c){var Bs=m(ks/Ia*l(nl)),Fl=m(ks/hi*l(nl));(Es-=Bs*2)>c?(Bs*=_i?1:-1,$o+=Bs,Is-=Bs):(Es=0,$o=Is=(ki+ui)/2),(Ks-=Fl*2)>c?(Fl*=_i?1:-1,ko+=Fl,Io-=Fl):(Ks=0,ko=Io=(ki+ui)/2)}var Eu=hi*i(ko),Cs=hi*l(ko),Nl=Ia*i(Is),du=Ia*l(Is);if(us>c){var Kl=hi*i(Io),al=hi*l(Io),co=Ia*i($o),Ul=Ia*l($o),Ls;if(Mic?Co>c?(Si=y(co,Ul,Eu,Cs,hi,Co,_i),io=y(Kl,al,Nl,du,hi,Co,_i),on.moveTo(Si.cx+Si.x01,Si.cy+Si.y01),Coc)||!(Es>c)?on.lineTo(Nl,du):xs>c?(Si=y(Nl,du,Kl,al,Ia,-xs,_i),io=y(Eu,Cs,co,Ul,Ia,-xs,_i),on.lineTo(Si.cx+Si.x01,Si.cy+Si.y01),xs=hi;--ki)on.point(Io[ki],$o[ki]);on.lineEnd(),on.areaEnd()}_i&&(Io[Ia]=+rt(Mi,Ia,ba),$o[Ia]=+xr(Mi,Ia,ba),on.point(Xt?+Xt(Mi,Ia,ba):Io[Ia],Fr?+Fr(Mi,Ia,ba):$o[Ia]))}if(ko)return on=null,ko+""||null}function Aa(){return P().defined(xn).curve(Rn).context(Mn)}return En.x=function(ba){return arguments.length?(rt=typeof ba=="function"?ba:r(+ba),Xt=null,En):rt},En.x0=function(ba){return arguments.length?(rt=typeof ba=="function"?ba:r(+ba),En):rt},En.x1=function(ba){return arguments.length?(Xt=ba==null?null:typeof ba=="function"?ba:r(+ba),En):Xt},En.y=function(ba){return arguments.length?(xr=typeof ba=="function"?ba:r(+ba),Fr=null,En):xr},En.y0=function(ba){return arguments.length?(xr=typeof ba=="function"?ba:r(+ba),En):xr},En.y1=function(ba){return arguments.length?(Fr=ba==null?null:typeof ba=="function"?ba:r(+ba),En):Fr},En.lineX0=En.lineY0=function(){return Aa().x(rt).y(xr)},En.lineY1=function(){return Aa().x(rt).y(Fr)},En.lineX1=function(){return Aa().x(Xt).y(xr)},En.defined=function(ba){return arguments.length?(xn=typeof ba=="function"?ba:r(!!ba),En):xn},En.curve=function(ba){return arguments.length?(Rn=ba,Mn!=null&&(on=Rn(Mn)),En):Rn},En.context=function(ba){return arguments.length?(ba==null?Mn=on=null:on=Rn(Mn=ba),En):Mn},En}function z(rt,Xt){return Xtrt?1:Xt>=rt?0:NaN}function q(rt){return rt}function U(){var rt=q,Xt=z,xr=null,Fr=r(0),xn=r(v),Mn=r(0);function Rn(on){var En,Aa=on.length,ba,Ia,hi=0,ki=new Array(Aa),ui=new Array(Aa),Mi=+Fr.apply(this,arguments),_i=Math.min(v,Math.max(-v,xn.apply(this,arguments)-Mi)),ko,Io=Math.min(Math.abs(_i)/Aa,Mn.apply(this,arguments)),$o=Io*(_i<0?-1:1),Is;for(En=0;En0&&(hi+=Is);for(Xt!=null?ki.sort(function(Es,Ks){return Xt(ui[Es],ui[Ks])}):xr!=null&&ki.sort(function(Es,Ks){return xr(on[Es],on[Ks])}),En=0,Ia=hi?(_i-Aa*$o)/hi:0;En0?Is*Ia:0)+$o,ui[ba]={data:on[ba],index:En,value:Is,startAngle:Mi,endAngle:ko,padAngle:Io};return ui}return Rn.value=function(on){return arguments.length?(rt=typeof on=="function"?on:r(+on),Rn):rt},Rn.sortValues=function(on){return arguments.length?(Xt=on,xr=null,Rn):Xt},Rn.sort=function(on){return arguments.length?(xr=on,Xt=null,Rn):xr},Rn.startAngle=function(on){return arguments.length?(Fr=typeof on=="function"?on:r(+on),Rn):Fr},Rn.endAngle=function(on){return arguments.length?(xn=typeof on=="function"?on:r(+on),Rn):xn},Rn.padAngle=function(on){return arguments.length?(Mn=typeof on=="function"?on:r(+on),Rn):Mn},Rn}var O=B(p);function R(rt){this._curve=rt}R.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(rt,Xt){this._curve.point(Xt*Math.sin(rt),Xt*-Math.cos(rt))}};function B(rt){function Xt(xr){return new R(rt(xr))}return Xt._curve=rt,Xt}function Y(rt){var Xt=rt.curve;return rt.angle=rt.x,delete rt.x,rt.radius=rt.y,delete rt.y,rt.curve=function(xr){return arguments.length?Xt(B(xr)):Xt()._curve},rt}function X(){return Y(P().curve(O))}function te(){var rt=D().curve(O),Xt=rt.curve,xr=rt.lineX0,Fr=rt.lineX1,xn=rt.lineY0,Mn=rt.lineY1;return rt.angle=rt.x,delete rt.x,rt.startAngle=rt.x0,delete rt.x0,rt.endAngle=rt.x1,delete rt.x1,rt.radius=rt.y,delete rt.y,rt.innerRadius=rt.y0,delete rt.y0,rt.outerRadius=rt.y1,delete rt.y1,rt.lineStartAngle=function(){return Y(xr())},delete rt.lineX0,rt.lineEndAngle=function(){return Y(Fr())},delete rt.lineX1,rt.lineInnerRadius=function(){return Y(xn())},delete rt.lineY0,rt.lineOuterRadius=function(){return Y(Mn())},delete rt.lineY1,rt.curve=function(Rn){return arguments.length?Xt(B(Rn)):Xt()._curve},rt}function se(rt,Xt){return[(Xt=+Xt)*Math.cos(rt-=Math.PI/2),Xt*Math.sin(rt)]}var ue=Array.prototype.slice;function re(rt){return rt.source}function j(rt){return rt.target}function fe(rt){var Xt=re,xr=j,Fr=C,xn=A,Mn=null;function Rn(){var on,En=ue.call(arguments),Aa=Xt.apply(this,En),ba=xr.apply(this,En);if(Mn||(Mn=on=t.path()),rt(Mn,+Fr.apply(this,(En[0]=Aa,En)),+xn.apply(this,En),+Fr.apply(this,(En[0]=ba,En)),+xn.apply(this,En)),on)return Mn=null,on+""||null}return Rn.source=function(on){return arguments.length?(Xt=on,Rn):Xt},Rn.target=function(on){return arguments.length?(xr=on,Rn):xr},Rn.x=function(on){return arguments.length?(Fr=typeof on=="function"?on:r(+on),Rn):Fr},Rn.y=function(on){return arguments.length?(xn=typeof on=="function"?on:r(+on),Rn):xn},Rn.context=function(on){return arguments.length?(Mn=on==null?null:on,Rn):Mn},Rn}function ce(rt,Xt,xr,Fr,xn){rt.moveTo(Xt,xr),rt.bezierCurveTo(Xt=(Xt+Fr)/2,xr,Xt,xn,Fr,xn)}function oe(rt,Xt,xr,Fr,xn){rt.moveTo(Xt,xr),rt.bezierCurveTo(Xt,xr=(xr+xn)/2,Fr,xr,Fr,xn)}function we(rt,Xt,xr,Fr,xn){var Mn=se(Xt,xr),Rn=se(Xt,xr=(xr+xn)/2),on=se(Fr,xr),En=se(Fr,xn);rt.moveTo(Mn[0],Mn[1]),rt.bezierCurveTo(Rn[0],Rn[1],on[0],on[1],En[0],En[1])}function he(){return fe(ce)}function ye(){return fe(oe)}function Pe(){var rt=fe(we);return rt.angle=rt.x,delete rt.x,rt.radius=rt.y,delete rt.y,rt}var le={draw:function(rt,Xt){var xr=Math.sqrt(Xt/f);rt.moveTo(xr,0),rt.arc(0,0,xr,0,v)}},ze={draw:function(rt,Xt){var xr=Math.sqrt(Xt/5)/2;rt.moveTo(-3*xr,-xr),rt.lineTo(-xr,-xr),rt.lineTo(-xr,-3*xr),rt.lineTo(xr,-3*xr),rt.lineTo(xr,-xr),rt.lineTo(3*xr,-xr),rt.lineTo(3*xr,xr),rt.lineTo(xr,xr),rt.lineTo(xr,3*xr),rt.lineTo(-xr,3*xr),rt.lineTo(-xr,xr),rt.lineTo(-3*xr,xr),rt.closePath()}},Xe=Math.sqrt(1/3),vt=Xe*2,st={draw:function(rt,Xt){var xr=Math.sqrt(Xt/vt),Fr=xr*Xe;rt.moveTo(0,-xr),rt.lineTo(Fr,0),rt.lineTo(0,xr),rt.lineTo(-Fr,0),rt.closePath()}},Oe=.8908130915292852,qe=Math.sin(f/10)/Math.sin(7*f/10),mt=Math.sin(v/10)*qe,lt=-Math.cos(v/10)*qe,Ie={draw:function(rt,Xt){var xr=Math.sqrt(Xt*Oe),Fr=mt*xr,xn=lt*xr;rt.moveTo(0,-xr),rt.lineTo(Fr,xn);for(var Mn=1;Mn<5;++Mn){var Rn=v*Mn/5,on=Math.cos(Rn),En=Math.sin(Rn);rt.lineTo(En*xr,-on*xr),rt.lineTo(on*Fr-En*xn,En*Fr+on*xn)}rt.closePath()}},de={draw:function(rt,Xt){var xr=Math.sqrt(Xt),Fr=-xr/2;rt.rect(Fr,Fr,xr,xr)}},Ee=Math.sqrt(3),Ue={draw:function(rt,Xt){var xr=-Math.sqrt(Xt/(Ee*3));rt.moveTo(0,xr*2),rt.lineTo(-Ee*xr,-xr),rt.lineTo(Ee*xr,-xr),rt.closePath()}},ge=-.5,Ge=Math.sqrt(3)/2,tt=1/Math.sqrt(12),ft=(tt/2+1)*3,He={draw:function(rt,Xt){var xr=Math.sqrt(Xt/ft),Fr=xr/2,xn=xr*tt,Mn=Fr,Rn=xr*tt+xr,on=-Mn,En=Rn;rt.moveTo(Fr,xn),rt.lineTo(Mn,Rn),rt.lineTo(on,En),rt.lineTo(ge*Fr-Ge*xn,Ge*Fr+ge*xn),rt.lineTo(ge*Mn-Ge*Rn,Ge*Mn+ge*Rn),rt.lineTo(ge*on-Ge*En,Ge*on+ge*En),rt.lineTo(ge*Fr+Ge*xn,ge*xn-Ge*Fr),rt.lineTo(ge*Mn+Ge*Rn,ge*Rn-Ge*Mn),rt.lineTo(ge*on+Ge*En,ge*En-Ge*on),rt.closePath()}},Qe=[le,ze,st,de,Ie,Ue,He];function We(){var rt=r(le),Xt=r(64),xr=null;function Fr(){var xn;if(xr||(xr=xn=t.path()),rt.apply(this,arguments).draw(xr,+Xt.apply(this,arguments)),xn)return xr=null,xn+""||null}return Fr.type=function(xn){return arguments.length?(rt=typeof xn=="function"?xn:r(xn),Fr):rt},Fr.size=function(xn){return arguments.length?(Xt=typeof xn=="function"?xn:r(+xn),Fr):Xt},Fr.context=function(xn){return arguments.length?(xr=xn==null?null:xn,Fr):xr},Fr}function pt(){}function kt(rt,Xt,xr){rt._context.bezierCurveTo((2*rt._x0+rt._x1)/3,(2*rt._y0+rt._y1)/3,(rt._x0+2*rt._x1)/3,(rt._y0+2*rt._y1)/3,(rt._x0+4*rt._x1+Xt)/6,(rt._y0+4*rt._y1+xr)/6)}function qt(rt){this._context=rt}qt.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:kt(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(rt,Xt){switch(rt=+rt,Xt=+Xt,this._point){case 0:this._point=1,this._line?this._context.lineTo(rt,Xt):this._context.moveTo(rt,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:kt(this,rt,Xt);break}this._x0=this._x1,this._x1=rt,this._y0=this._y1,this._y1=Xt}};function Wt(rt){return new qt(rt)}function _r(rt){this._context=rt}_r.prototype={areaStart:pt,areaEnd:pt,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(rt,Xt){switch(rt=+rt,Xt=+Xt,this._point){case 0:this._point=1,this._x2=rt,this._y2=Xt;break;case 1:this._point=2,this._x3=rt,this._y3=Xt;break;case 2:this._point=3,this._x4=rt,this._y4=Xt,this._context.moveTo((this._x0+4*this._x1+rt)/6,(this._y0+4*this._y1+Xt)/6);break;default:kt(this,rt,Xt);break}this._x0=this._x1,this._x1=rt,this._y0=this._y1,this._y1=Xt}};function tr(rt){return new _r(rt)}function lr(rt){this._context=rt}lr.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(rt,Xt){switch(rt=+rt,Xt=+Xt,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var xr=(this._x0+4*this._x1+rt)/6,Fr=(this._y0+4*this._y1+Xt)/6;this._line?this._context.lineTo(xr,Fr):this._context.moveTo(xr,Fr);break;case 3:this._point=4;default:kt(this,rt,Xt);break}this._x0=this._x1,this._x1=rt,this._y0=this._y1,this._y1=Xt}};function Ye(rt){return new lr(rt)}function Te(rt,Xt){this._basis=new qt(rt),this._beta=Xt}Te.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var rt=this._x,Xt=this._y,xr=rt.length-1;if(xr>0)for(var Fr=rt[0],xn=Xt[0],Mn=rt[xr]-Fr,Rn=Xt[xr]-xn,on=-1,En;++on<=xr;)En=on/xr,this._basis.point(this._beta*rt[on]+(1-this._beta)*(Fr+En*Mn),this._beta*Xt[on]+(1-this._beta)*(xn+En*Rn));this._x=this._y=null,this._basis.lineEnd()},point:function(rt,Xt){this._x.push(+rt),this._y.push(+Xt)}};var Fe=(function rt(Xt){function xr(Fr){return Xt===1?new qt(Fr):new Te(Fr,Xt)}return xr.beta=function(Fr){return rt(+Fr)},xr})(.85);function Ae(rt,Xt,xr){rt._context.bezierCurveTo(rt._x1+rt._k*(rt._x2-rt._x0),rt._y1+rt._k*(rt._y2-rt._y0),rt._x2+rt._k*(rt._x1-Xt),rt._y2+rt._k*(rt._y1-xr),rt._x2,rt._y2)}function Re(rt,Xt){this._context=rt,this._k=(1-Xt)/6}Re.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(rt,Xt){switch(rt=+rt,Xt=+Xt,this._point){case 0:this._point=1,this._line?this._context.lineTo(rt,Xt):this._context.moveTo(rt,Xt);break;case 1:this._point=2,this._x1=rt,this._y1=Xt;break;case 2:this._point=3;default:Ae(this,rt,Xt);break}this._x0=this._x1,this._x1=this._x2,this._x2=rt,this._y0=this._y1,this._y1=this._y2,this._y2=Xt}};var Ze=(function rt(Xt){function xr(Fr){return new Re(Fr,Xt)}return xr.tension=function(Fr){return rt(+Fr)},xr})(0);function Ke(rt,Xt){this._context=rt,this._k=(1-Xt)/6}Ke.prototype={areaStart:pt,areaEnd:pt,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(rt,Xt){switch(rt=+rt,Xt=+Xt,this._point){case 0:this._point=1,this._x3=rt,this._y3=Xt;break;case 1:this._point=2,this._context.moveTo(this._x4=rt,this._y4=Xt);break;case 2:this._point=3,this._x5=rt,this._y5=Xt;break;default:Ae(this,rt,Xt);break}this._x0=this._x1,this._x1=this._x2,this._x2=rt,this._y0=this._y1,this._y1=this._y2,this._y2=Xt}};var _t=(function rt(Xt){function xr(Fr){return new Ke(Fr,Xt)}return xr.tension=function(Fr){return rt(+Fr)},xr})(0);function St(rt,Xt){this._context=rt,this._k=(1-Xt)/6}St.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(rt,Xt){switch(rt=+rt,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:Ae(this,rt,Xt);break}this._x0=this._x1,this._x1=this._x2,this._x2=rt,this._y0=this._y1,this._y1=this._y2,this._y2=Xt}};var Vt=(function rt(Xt){function xr(Fr){return new St(Fr,Xt)}return xr.tension=function(Fr){return rt(+Fr)},xr})(0);function fr(rt,Xt,xr){var Fr=rt._x1,xn=rt._y1,Mn=rt._x2,Rn=rt._y2;if(rt._l01_a>c){var on=2*rt._l01_2a+3*rt._l01_a*rt._l12_a+rt._l12_2a,En=3*rt._l01_a*(rt._l01_a+rt._l12_a);Fr=(Fr*on-rt._x0*rt._l12_2a+rt._x2*rt._l01_2a)/En,xn=(xn*on-rt._y0*rt._l12_2a+rt._y2*rt._l01_2a)/En}if(rt._l23_a>c){var Aa=2*rt._l23_2a+3*rt._l23_a*rt._l12_a+rt._l12_2a,ba=3*rt._l23_a*(rt._l23_a+rt._l12_a);Mn=(Mn*Aa+rt._x1*rt._l23_2a-Xt*rt._l12_2a)/ba,Rn=(Rn*Aa+rt._y1*rt._l23_2a-xr*rt._l12_2a)/ba}rt._context.bezierCurveTo(Fr,xn,Mn,Rn,rt._x2,rt._y2)}function $t(rt,Xt){this._context=rt,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(rt,Xt){if(rt=+rt,Xt=+Xt,this._point){var xr=this._x2-rt,Fr=this._y2-Xt;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(xr*xr+Fr*Fr,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(rt,Xt):this._context.moveTo(rt,Xt);break;case 1:this._point=2;break;case 2:this._point=3;default:fr(this,rt,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=rt,this._y0=this._y1,this._y1=this._y2,this._y2=Xt}};var gr=(function rt(Xt){function xr(Fr){return Xt?new $t(Fr,Xt):new Re(Fr,0)}return xr.alpha=function(Fr){return rt(+Fr)},xr})(.5);function Br(rt,Xt){this._context=rt,this._alpha=Xt}Br.prototype={areaStart:pt,areaEnd:pt,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(rt,Xt){if(rt=+rt,Xt=+Xt,this._point){var xr=this._x2-rt,Fr=this._y2-Xt;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(xr*xr+Fr*Fr,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=rt,this._y3=Xt;break;case 1:this._point=2,this._context.moveTo(this._x4=rt,this._y4=Xt);break;case 2:this._point=3,this._x5=rt,this._y5=Xt;break;default:fr(this,rt,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=rt,this._y0=this._y1,this._y1=this._y2,this._y2=Xt}};var Nr=(function rt(Xt){function xr(Fr){return Xt?new Br(Fr,Xt):new Ke(Fr,0)}return xr.alpha=function(Fr){return rt(+Fr)},xr})(.5);function Er(rt,Xt){this._context=rt,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(rt,Xt){if(rt=+rt,Xt=+Xt,this._point){var xr=this._x2-rt,Fr=this._y2-Xt;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(xr*xr+Fr*Fr,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:fr(this,rt,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=rt,this._y0=this._y1,this._y1=this._y2,this._y2=Xt}};var zr=(function rt(Xt){function xr(Fr){return Xt?new Er(Fr,Xt):new St(Fr,0)}return xr.alpha=function(Fr){return rt(+Fr)},xr})(.5);function vn(rt){this._context=rt}vn.prototype={areaStart:pt,areaEnd:pt,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(rt,Xt){rt=+rt,Xt=+Xt,this._point?this._context.lineTo(rt,Xt):(this._point=1,this._context.moveTo(rt,Xt))}};function Nn(rt){return new vn(rt)}function Xn(rt){return rt<0?-1:1}function Kn(rt,Xt,xr){var Fr=rt._x1-rt._x0,xn=Xt-rt._x1,Mn=(rt._y1-rt._y0)/(Fr||xn<0&&-0),Rn=(xr-rt._y1)/(xn||Fr<0&&-0),on=(Mn*xn+Rn*Fr)/(Fr+xn);return(Xn(Mn)+Xn(Rn))*Math.min(Math.abs(Mn),Math.abs(Rn),.5*Math.abs(on))||0}function Qn(rt,Xt){var xr=rt._x1-rt._x0;return xr?(3*(rt._y1-rt._y0)/xr-Xt)/2:Xt}function un(rt,Xt,xr){var Fr=rt._x0,xn=rt._y0,Mn=rt._x1,Rn=rt._y1,on=(Mn-Fr)/3;rt._context.bezierCurveTo(Fr+on,xn+on*Xt,Mn-on,Rn-on*xr,Mn,Rn)}function aa(rt){this._context=rt}aa.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:un(this,this._t0,Qn(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(rt,Xt){var xr=NaN;if(rt=+rt,Xt=+Xt,!(rt===this._x1&&Xt===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(rt,Xt):this._context.moveTo(rt,Xt);break;case 1:this._point=2;break;case 2:this._point=3,un(this,Qn(this,xr=Kn(this,rt,Xt)),xr);break;default:un(this,this._t0,xr=Kn(this,rt,Xt));break}this._x0=this._x1,this._x1=rt,this._y0=this._y1,this._y1=Xt,this._t0=xr}}};function da(rt){this._context=new ua(rt)}(da.prototype=Object.create(aa.prototype)).point=function(rt,Xt){aa.prototype.point.call(this,Xt,rt)};function ua(rt){this._context=rt}ua.prototype={moveTo:function(rt,Xt){this._context.moveTo(Xt,rt)},closePath:function(){this._context.closePath()},lineTo:function(rt,Xt){this._context.lineTo(Xt,rt)},bezierCurveTo:function(rt,Xt,xr,Fr,xn,Mn){this._context.bezierCurveTo(Xt,rt,Fr,xr,Mn,xn)}};function qa(rt){return new aa(rt)}function ii(rt){return new da(rt)}function pa(rt){this._context=rt}pa.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var rt=this._x,Xt=this._y,xr=rt.length;if(xr)if(this._line?this._context.lineTo(rt[0],Xt[0]):this._context.moveTo(rt[0],Xt[0]),xr===2)this._context.lineTo(rt[1],Xt[1]);else for(var Fr=no(rt),xn=no(Xt),Mn=0,Rn=1;Rn=0;--Xt)xn[Xt]=(Rn[Xt]-xn[Xt+1])/Mn[Xt];for(Mn[xr-1]=(rt[xr]+xn[xr-1])/2,Xt=0;Xt=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(rt,Xt){switch(rt=+rt,Xt=+Xt,this._point){case 0:this._point=1,this._line?this._context.lineTo(rt,Xt):this._context.moveTo(rt,Xt);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,Xt),this._context.lineTo(rt,Xt);else{var xr=this._x*(1-this._t)+rt*this._t;this._context.lineTo(xr,this._y),this._context.lineTo(xr,Xt)}break}}this._x=rt,this._y=Xt}};function fi(rt){return new Ti(rt,.5)}function _o(rt){return new Ti(rt,0)}function Oi(rt){return new Ti(rt,1)}function ni(rt,Xt){if((Rn=rt.length)>1)for(var xr=1,Fr,xn,Mn=rt[Xt[0]],Rn,on=Mn.length;xr=0;)xr[Xt]=Xt;return xr}function Hi(rt,Xt){return rt[Xt]}function to(){var rt=r([]),Xt=ao,xr=ni,Fr=Hi;function xn(Mn){var Rn=rt.apply(this,arguments),on,En=Mn.length,Aa=Rn.length,ba=new Array(Aa),Ia;for(on=0;on0){for(var xr,Fr,xn=0,Mn=rt[0].length,Rn;xn0)for(var xr,Fr=0,xn,Mn,Rn,on,En,Aa=rt[Xt[0]].length;Fr0?(xn[0]=Rn,xn[1]=Rn+=Mn):Mn<0?(xn[1]=on,xn[0]=on+=Mn):(xn[0]=0,xn[1]=Mn)}function Fi(rt,Xt){if((xn=rt.length)>0){for(var xr=0,Fr=rt[Xt[0]],xn,Mn=Fr.length;xr0)||!((Mn=(xn=rt[Xt[0]]).length)>0))){for(var xr=0,Fr=1,xn,Mn,Rn;FrMn&&(Mn=xn,xr=Xt);return xr}function Ni(rt){var Xt=rt.map(Oa);return ao(rt).sort(function(xr,Fr){return Xt[xr]-Xt[Fr]})}function Oa(rt){for(var Xt=0,xr=-1,Fr=rt.length,xn;++xr{(function(e,t){typeof _F=="object"&&typeof IUe!="undefined"?t(_F,XA(),FY()):(e=e||self,t(e.d3=e.d3||{},e.d3,e.d3))})(_F,function(e,t,r){"use strict";function n(y){return y.target.depth}function a(y){return y.depth}function i(y,S){return S-1-y.height}function o(y,S){return y.sourceLinks.length?y.depth:S-1}function s(y){return y.targetLinks.length?y.depth:y.sourceLinks.length?t.min(y.sourceLinks,n)-1:0}function l(y){return function(){return y}}function u(y,S){return f(y.source,S.source)||y.index-S.index}function c(y,S){return f(y.target,S.target)||y.index-S.index}function f(y,S){return y.y0-S.y0}function h(y){return y.value}function v(y){return y.index}function d(y){return y.nodes}function m(y){return y.links}function x(y,S){let T=y.get(S);if(!T)throw new Error("missing: "+S);return T}function g({nodes:y}){for(let S of y){let T=S.y0,p=T;for(let C of S.sourceLinks)C.y0=T+C.width/2,T+=C.width;for(let C of S.targetLinks)C.y1=p+C.width/2,p+=C.width}}function E(){let y=0,S=0,T=1,p=1,C=24,A=8,P,D=v,z=o,q,U,O=d,R=m,B=6,Y=2/3;function X(){let st={nodes:O.apply(null,arguments),links:R.apply(null,arguments)};return te(st),se(st),ue(st),re(st),ce(st),g(st),st}X.update=function(st){return g(st),st},X.nodeId=function(st){return arguments.length?(D=typeof st=="function"?st:l(st),X):D},X.nodeAlign=function(st){return arguments.length?(z=typeof st=="function"?st:l(st),X):z},X.nodeSort=function(st){return arguments.length?(q=st,X):q},X.nodeWidth=function(st){return arguments.length?(C=+st,X):C},X.nodePadding=function(st){return arguments.length?(A=P=+st,X):A},X.nodes=function(st){return arguments.length?(O=typeof st=="function"?st:l(st),X):O},X.links=function(st){return arguments.length?(R=typeof st=="function"?st:l(st),X):R},X.linkSort=function(st){return arguments.length?(U=st,X):U},X.size=function(st){return arguments.length?(y=S=0,T=+st[0],p=+st[1],X):[T-y,p-S]},X.extent=function(st){return arguments.length?(y=+st[0][0],T=+st[1][0],S=+st[0][1],p=+st[1][1],X):[[y,S],[T,p]]},X.iterations=function(st){return arguments.length?(B=+st,X):B};function te({nodes:st,links:Oe}){for(let[mt,lt]of st.entries())lt.index=mt,lt.sourceLinks=[],lt.targetLinks=[];let qe=new Map(st.map((mt,lt)=>[D(mt,lt,st),mt]));for(let[mt,lt]of Oe.entries()){lt.index=mt;let{source:Ie,target:de}=lt;typeof Ie!="object"&&(Ie=lt.source=x(qe,Ie)),typeof de!="object"&&(de=lt.target=x(qe,de)),Ie.sourceLinks.push(lt),de.targetLinks.push(lt)}if(U!=null)for(let{sourceLinks:mt,targetLinks:lt}of st)mt.sort(U),lt.sort(U)}function se({nodes:st}){for(let Oe of st)Oe.value=Oe.fixedValue===void 0?Math.max(t.sum(Oe.sourceLinks,h),t.sum(Oe.targetLinks,h)):Oe.fixedValue}function ue({nodes:st}){let Oe=st.length,qe=new Set(st),mt=new Set,lt=0;for(;qe.size;){for(let Ie of qe){Ie.depth=lt;for(let{target:de}of Ie.sourceLinks)mt.add(de)}if(++lt>Oe)throw new Error("circular link");qe=mt,mt=new Set}}function re({nodes:st}){let Oe=st.length,qe=new Set(st),mt=new Set,lt=0;for(;qe.size;){for(let Ie of qe){Ie.height=lt;for(let{source:de}of Ie.targetLinks)mt.add(de)}if(++lt>Oe)throw new Error("circular link");qe=mt,mt=new Set}}function j({nodes:st}){let Oe=t.max(st,lt=>lt.depth)+1,qe=(T-y-C)/(Oe-1),mt=new Array(Oe);for(let lt of st){let Ie=Math.max(0,Math.min(Oe-1,Math.floor(z.call(null,lt,Oe))));lt.layer=Ie,lt.x0=y+Ie*qe,lt.x1=lt.x0+C,mt[Ie]?mt[Ie].push(lt):mt[Ie]=[lt]}if(q)for(let lt of mt)lt.sort(q);return mt}function fe(st){let Oe=t.min(st,qe=>(p-S-(qe.length-1)*P)/t.sum(qe,h));for(let qe of st){let mt=S;for(let lt of qe){lt.y0=mt,lt.y1=mt+lt.value*Oe,mt=lt.y1+P;for(let Ie of lt.sourceLinks)Ie.width=Ie.value*Oe}mt=(p-mt+P)/(qe.length+1);for(let lt=0;ltqe.length)-1)),fe(Oe);for(let qe=0;qe0))continue;let ge=(Ee/Ue-de.y0)*Oe;de.y0+=ge,de.y1+=ge,le(de)}q===void 0&&Ie.sort(f),he(Ie,qe)}}function we(st,Oe,qe){for(let mt=st.length,lt=mt-2;lt>=0;--lt){let Ie=st[lt];for(let de of Ie){let Ee=0,Ue=0;for(let{target:Ge,value:tt}of de.sourceLinks){let ft=tt*(Ge.layer-de.layer);Ee+=vt(de,Ge)*ft,Ue+=ft}if(!(Ue>0))continue;let ge=(Ee/Ue-de.y0)*Oe;de.y0+=ge,de.y1+=ge,le(de)}q===void 0&&Ie.sort(f),he(Ie,qe)}}function he(st,Oe){let qe=st.length>>1,mt=st[qe];Pe(st,mt.y0-P,qe-1,Oe),ye(st,mt.y1+P,qe+1,Oe),Pe(st,p,st.length-1,Oe),ye(st,S,0,Oe)}function ye(st,Oe,qe,mt){for(;qe1e-6&&(lt.y0+=Ie,lt.y1+=Ie),Oe=lt.y1+P}}function Pe(st,Oe,qe,mt){for(;qe>=0;--qe){let lt=st[qe],Ie=(lt.y1-Oe)*mt;Ie>1e-6&&(lt.y0-=Ie,lt.y1-=Ie),Oe=lt.y0-P}}function le({sourceLinks:st,targetLinks:Oe}){if(U===void 0){for(let{source:{sourceLinks:qe}}of Oe)qe.sort(c);for(let{target:{targetLinks:qe}}of st)qe.sort(u)}}function ze(st){if(U===void 0)for(let{sourceLinks:Oe,targetLinks:qe}of st)Oe.sort(c),qe.sort(u)}function Xe(st,Oe){let qe=st.y0-(st.sourceLinks.length-1)*P/2;for(let{target:mt,width:lt}of st.sourceLinks){if(mt===Oe)break;qe+=lt+P}for(let{source:mt,width:lt}of Oe.targetLinks){if(mt===st)break;qe-=lt}return qe}function vt(st,Oe){let qe=Oe.y0-(Oe.targetLinks.length-1)*P/2;for(let{source:mt,width:lt}of Oe.targetLinks){if(mt===st)break;qe+=lt+P}for(let{target:mt,width:lt}of st.sourceLinks){if(mt===Oe)break;qe-=lt}return qe}return X}function M(y){return[y.source.x1,y.y0]}function w(y){return[y.target.x0,y.y1]}function k(){return r.linkHorizontal().source(M).target(w)}e.sankey=E,e.sankeyCenter=s,e.sankeyJustify=o,e.sankeyLeft=a,e.sankeyLinkHorizontal=k,e.sankeyRight=i,Object.defineProperty(e,"__esModule",{value:!0})})});var BUe=ne((imr,qUe)=>{var jGt=CY();qUe.exports=function(t,r){var n=[],a=[],i=[],o={},s=[],l;function u(M){i[M]=!1,o.hasOwnProperty(M)&&Object.keys(o[M]).forEach(function(w){delete o[M][w],i[w]&&u(w)})}function c(M){var w=!1;a.push(M),i[M]=!0;var k,y;for(k=0;k=M})}function v(M){h(M);for(var w=t,k=jGt(w),y=k.components.filter(function(D){return D.length>1}),S=1/0,T,p=0;p{(function(e,t){typeof wF=="object"&&typeof OUe!="undefined"?t(wF,XA(),LY(),FY(),BUe()):t(e.d3=e.d3||{},e.d3,e.d3,e.d3,null)})(wF,(function(e,t,r,n,a){"use strict";a=a&&a.hasOwnProperty("default")?a.default:a;function i(Oe){return Oe.target.depth}function o(Oe){return Oe.depth}function s(Oe,qe){return qe-1-Oe.height}function l(Oe,qe){return Oe.sourceLinks.length?Oe.depth:qe-1}function u(Oe){return Oe.targetLinks.length?Oe.depth:Oe.sourceLinks.length?t.min(Oe.sourceLinks,i)-1:0}function c(Oe){return function(){return Oe}}var f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Oe){return typeof Oe}:function(Oe){return Oe&&typeof Symbol=="function"&&Oe.constructor===Symbol&&Oe!==Symbol.prototype?"symbol":typeof Oe};function h(Oe,qe){return d(Oe.source,qe.source)||Oe.index-qe.index}function v(Oe,qe){return d(Oe.target,qe.target)||Oe.index-qe.index}function d(Oe,qe){return Oe.partOfCycle===qe.partOfCycle?Oe.y0-qe.y0:Oe.circularLinkType==="top"||qe.circularLinkType==="bottom"?-1:1}function m(Oe){return Oe.value}function x(Oe){return(Oe.y0+Oe.y1)/2}function g(Oe){return x(Oe.source)}function E(Oe){return x(Oe.target)}function M(Oe){return Oe.index}function w(Oe){return Oe.nodes}function k(Oe){return Oe.links}function y(Oe,qe){var mt=Oe.get(qe);if(!mt)throw new Error("missing: "+qe);return mt}function S(Oe,qe){return qe(Oe)}var T=25,p=10,C=.3;function A(){var Oe=0,qe=0,mt=1,lt=1,Ie=24,de,Ee=M,Ue=l,ge=w,Ge=k,tt=32,ft=2,He,Qe=null;function We(){var Ye={nodes:ge.apply(null,arguments),links:Ge.apply(null,arguments)};pt(Ye),P(Ye,Ee,Qe),kt(Ye),_r(Ye),D(Ye,Ee),tr(Ye,tt,Ee),lr(Ye);for(var Te=4,Fe=0;Fe0?Te+T+p:Te,Fe=Fe>0?Fe+T+p:Fe,Ae=Ae>0?Ae+T+p:Ae,Re=Re>0?Re+T+p:Re,{top:Te,bottom:Fe,left:Re,right:Ae}}function Wt(Ye,Te){var Fe=t.max(Ye.nodes,function(Vt){return Vt.column}),Ae=mt-Oe,Re=lt-qe,Ze=Ae+Te.right+Te.left,Ke=Re+Te.top+Te.bottom,_t=Ae/Ze,St=Re/Ke;return Oe=Oe*_t+Te.left,mt=Te.right==0?mt:mt*_t,qe=qe*St+Te.top,lt=lt*St,Ye.nodes.forEach(function(Vt){Vt.x0=Oe+Vt.column*((mt-Oe-Ie)/Fe),Vt.x1=Vt.x0+Ie}),St}function _r(Ye){var Te,Fe,Ae;for(Te=Ye.nodes,Fe=[],Ae=0;Te.length;++Ae,Te=Fe,Fe=[])Te.forEach(function(Re){Re.depth=Ae,Re.sourceLinks.forEach(function(Ze){Fe.indexOf(Ze.target)<0&&!Ze.circular&&Fe.push(Ze.target)})});for(Te=Ye.nodes,Fe=[],Ae=0;Te.length;++Ae,Te=Fe,Fe=[])Te.forEach(function(Re){Re.height=Ae,Re.targetLinks.forEach(function(Ze){Fe.indexOf(Ze.source)<0&&!Ze.circular&&Fe.push(Ze.source)})});Ye.nodes.forEach(function(Re){Re.column=Math.floor(Ue.call(null,Re,Ae))})}function tr(Ye,Te,Fe){var Ae=r.nest().key(function(Vt){return Vt.column}).sortKeys(t.ascending).entries(Ye.nodes).map(function(Vt){return Vt.values});Ke(Fe),St();for(var Re=1,Ze=Te;Ze>0;--Ze)_t(Re*=.99,Fe),St();function Ke(Vt){if(He){var fr=1/0;Ae.forEach(function(Nr){var Er=lt*He/(Nr.length+1);fr=Er0))if(Nr==0&&Br==1)zr=Er.y1-Er.y0,Er.y0=lt/2-zr/2,Er.y1=lt/2+zr/2;else if(Nr==$t-1&&Br==1)zr=Er.y1-Er.y0,Er.y0=lt/2-zr/2,Er.y1=lt/2+zr/2;else{var vn=0,Nn=t.mean(Er.sourceLinks,E),Xn=t.mean(Er.targetLinks,g);Nn&&Xn?vn=(Nn+Xn)/2:vn=Nn||Xn;var Kn=(vn-x(Er))*Vt;Er.y0+=Kn,Er.y1+=Kn}})})}function St(){Ae.forEach(function(Vt){var fr,$t,gr=qe,Br=Vt.length,Nr;for(Vt.sort(d),Nr=0;Nr0&&(fr.y0+=$t,fr.y1+=$t),gr=fr.y1+de;if($t=gr-de-lt,$t>0)for(gr=fr.y0-=$t,fr.y1-=$t,Nr=Br-2;Nr>=0;--Nr)fr=Vt[Nr],$t=fr.y1+de-gr,$t>0&&(fr.y0-=$t,fr.y1-=$t),gr=fr.y0})}}function lr(Ye){Ye.nodes.forEach(function(Te){Te.sourceLinks.sort(v),Te.targetLinks.sort(h)}),Ye.nodes.forEach(function(Te){var Fe=Te.y0,Ae=Fe,Re=Te.y1,Ze=Re;Te.sourceLinks.forEach(function(Ke){Ke.circular?(Ke.y0=Re-Ke.width/2,Re=Re-Ke.width):(Ke.y0=Fe+Ke.width/2,Fe+=Ke.width)}),Te.targetLinks.forEach(function(Ke){Ke.circular?(Ke.y1=Ze-Ke.width/2,Ze=Ze-Ke.width):(Ke.y1=Ae+Ke.width/2,Ae+=Ke.width)})})}return We}function P(Oe,qe,mt){var lt=0;if(mt===null){for(var Ie=[],de=0;deqe.source.column)}function U(Oe,qe){var mt=0;Oe.sourceLinks.forEach(function(Ie){mt=Ie.circular&&!vt(Ie,qe)?mt+1:mt});var lt=0;return Oe.targetLinks.forEach(function(Ie){lt=Ie.circular&&!vt(Ie,qe)?lt+1:lt}),mt+lt}function O(Oe){var qe=Oe.source.sourceLinks,mt=0;qe.forEach(function(de){mt=de.circular?mt+1:mt});var lt=Oe.target.targetLinks,Ie=0;return lt.forEach(function(de){Ie=de.circular?Ie+1:Ie}),!(mt>1||Ie>1)}function R(Oe,qe,mt){return Oe.sort(X),Oe.forEach(function(lt,Ie){var de=0;if(vt(lt,mt)&&O(lt))lt.circularPathData.verticalBuffer=de+lt.width/2;else{var Ee=0;for(Ee;Eede?Ue:de}lt.circularPathData.verticalBuffer=de+lt.width/2}}),Oe}function B(Oe,qe,mt,lt){var Ie=5,de=t.min(Oe.links,function(ge){return ge.source.y0});Oe.links.forEach(function(ge){ge.circular&&(ge.circularPathData={})});var Ee=Oe.links.filter(function(ge){return ge.circularLinkType=="top"});R(Ee,qe,lt);var Ue=Oe.links.filter(function(ge){return ge.circularLinkType=="bottom"});R(Ue,qe,lt),Oe.links.forEach(function(ge){if(ge.circular){if(ge.circularPathData.arcRadius=ge.width+p,ge.circularPathData.leftNodeBuffer=Ie,ge.circularPathData.rightNodeBuffer=Ie,ge.circularPathData.sourceWidth=ge.source.x1-ge.source.x0,ge.circularPathData.sourceX=ge.source.x0+ge.circularPathData.sourceWidth,ge.circularPathData.targetX=ge.target.x0,ge.circularPathData.sourceY=ge.y0,ge.circularPathData.targetY=ge.y1,vt(ge,lt)&&O(ge))ge.circularPathData.leftSmallArcRadius=p+ge.width/2,ge.circularPathData.leftLargeArcRadius=p+ge.width/2,ge.circularPathData.rightSmallArcRadius=p+ge.width/2,ge.circularPathData.rightLargeArcRadius=p+ge.width/2,ge.circularLinkType=="bottom"?(ge.circularPathData.verticalFullExtent=ge.source.y1+T+ge.circularPathData.verticalBuffer,ge.circularPathData.verticalLeftInnerExtent=ge.circularPathData.verticalFullExtent-ge.circularPathData.leftLargeArcRadius,ge.circularPathData.verticalRightInnerExtent=ge.circularPathData.verticalFullExtent-ge.circularPathData.rightLargeArcRadius):(ge.circularPathData.verticalFullExtent=ge.source.y0-T-ge.circularPathData.verticalBuffer,ge.circularPathData.verticalLeftInnerExtent=ge.circularPathData.verticalFullExtent+ge.circularPathData.leftLargeArcRadius,ge.circularPathData.verticalRightInnerExtent=ge.circularPathData.verticalFullExtent+ge.circularPathData.rightLargeArcRadius);else{var Ge=ge.source.column,tt=ge.circularLinkType,ft=Oe.links.filter(function(We){return We.source.column==Ge&&We.circularLinkType==tt});ge.circularLinkType=="bottom"?ft.sort(se):ft.sort(te);var He=0;ft.forEach(function(We,pt){We.circularLinkID==ge.circularLinkID&&(ge.circularPathData.leftSmallArcRadius=p+ge.width/2+He,ge.circularPathData.leftLargeArcRadius=p+ge.width/2+pt*qe+He),He=He+We.width}),Ge=ge.target.column,ft=Oe.links.filter(function(We){return We.target.column==Ge&&We.circularLinkType==tt}),ge.circularLinkType=="bottom"?ft.sort(re):ft.sort(ue),He=0,ft.forEach(function(We,pt){We.circularLinkID==ge.circularLinkID&&(ge.circularPathData.rightSmallArcRadius=p+ge.width/2+He,ge.circularPathData.rightLargeArcRadius=p+ge.width/2+pt*qe+He),He=He+We.width}),ge.circularLinkType=="bottom"?(ge.circularPathData.verticalFullExtent=Math.max(mt,ge.source.y1,ge.target.y1)+T+ge.circularPathData.verticalBuffer,ge.circularPathData.verticalLeftInnerExtent=ge.circularPathData.verticalFullExtent-ge.circularPathData.leftLargeArcRadius,ge.circularPathData.verticalRightInnerExtent=ge.circularPathData.verticalFullExtent-ge.circularPathData.rightLargeArcRadius):(ge.circularPathData.verticalFullExtent=de-T-ge.circularPathData.verticalBuffer,ge.circularPathData.verticalLeftInnerExtent=ge.circularPathData.verticalFullExtent+ge.circularPathData.leftLargeArcRadius,ge.circularPathData.verticalRightInnerExtent=ge.circularPathData.verticalFullExtent+ge.circularPathData.rightLargeArcRadius)}ge.circularPathData.leftInnerExtent=ge.circularPathData.sourceX+ge.circularPathData.leftNodeBuffer,ge.circularPathData.rightInnerExtent=ge.circularPathData.targetX-ge.circularPathData.rightNodeBuffer,ge.circularPathData.leftFullExtent=ge.circularPathData.sourceX+ge.circularPathData.leftLargeArcRadius+ge.circularPathData.leftNodeBuffer,ge.circularPathData.rightFullExtent=ge.circularPathData.targetX-ge.circularPathData.rightLargeArcRadius-ge.circularPathData.rightNodeBuffer}if(ge.circular)ge.path=Y(ge);else{var Qe=n.linkHorizontal().source(function(We){var pt=We.source.x0+(We.source.x1-We.source.x0),kt=We.y0;return[pt,kt]}).target(function(We){var pt=We.target.x0,kt=We.y1;return[pt,kt]});ge.path=Qe(ge)}})}function Y(Oe){var qe="";return Oe.circularLinkType=="top"?qe="M"+Oe.circularPathData.sourceX+" "+Oe.circularPathData.sourceY+" L"+Oe.circularPathData.leftInnerExtent+" "+Oe.circularPathData.sourceY+" A"+Oe.circularPathData.leftLargeArcRadius+" "+Oe.circularPathData.leftSmallArcRadius+" 0 0 0 "+Oe.circularPathData.leftFullExtent+" "+(Oe.circularPathData.sourceY-Oe.circularPathData.leftSmallArcRadius)+" L"+Oe.circularPathData.leftFullExtent+" "+Oe.circularPathData.verticalLeftInnerExtent+" A"+Oe.circularPathData.leftLargeArcRadius+" "+Oe.circularPathData.leftLargeArcRadius+" 0 0 0 "+Oe.circularPathData.leftInnerExtent+" "+Oe.circularPathData.verticalFullExtent+" L"+Oe.circularPathData.rightInnerExtent+" "+Oe.circularPathData.verticalFullExtent+" A"+Oe.circularPathData.rightLargeArcRadius+" "+Oe.circularPathData.rightLargeArcRadius+" 0 0 0 "+Oe.circularPathData.rightFullExtent+" "+Oe.circularPathData.verticalRightInnerExtent+" L"+Oe.circularPathData.rightFullExtent+" "+(Oe.circularPathData.targetY-Oe.circularPathData.rightSmallArcRadius)+" A"+Oe.circularPathData.rightLargeArcRadius+" "+Oe.circularPathData.rightSmallArcRadius+" 0 0 0 "+Oe.circularPathData.rightInnerExtent+" "+Oe.circularPathData.targetY+" L"+Oe.circularPathData.targetX+" "+Oe.circularPathData.targetY:qe="M"+Oe.circularPathData.sourceX+" "+Oe.circularPathData.sourceY+" L"+Oe.circularPathData.leftInnerExtent+" "+Oe.circularPathData.sourceY+" A"+Oe.circularPathData.leftLargeArcRadius+" "+Oe.circularPathData.leftSmallArcRadius+" 0 0 1 "+Oe.circularPathData.leftFullExtent+" "+(Oe.circularPathData.sourceY+Oe.circularPathData.leftSmallArcRadius)+" L"+Oe.circularPathData.leftFullExtent+" "+Oe.circularPathData.verticalLeftInnerExtent+" A"+Oe.circularPathData.leftLargeArcRadius+" "+Oe.circularPathData.leftLargeArcRadius+" 0 0 1 "+Oe.circularPathData.leftInnerExtent+" "+Oe.circularPathData.verticalFullExtent+" L"+Oe.circularPathData.rightInnerExtent+" "+Oe.circularPathData.verticalFullExtent+" A"+Oe.circularPathData.rightLargeArcRadius+" "+Oe.circularPathData.rightLargeArcRadius+" 0 0 1 "+Oe.circularPathData.rightFullExtent+" "+Oe.circularPathData.verticalRightInnerExtent+" L"+Oe.circularPathData.rightFullExtent+" "+(Oe.circularPathData.targetY+Oe.circularPathData.rightSmallArcRadius)+" A"+Oe.circularPathData.rightLargeArcRadius+" "+Oe.circularPathData.rightSmallArcRadius+" 0 0 1 "+Oe.circularPathData.rightInnerExtent+" "+Oe.circularPathData.targetY+" L"+Oe.circularPathData.targetX+" "+Oe.circularPathData.targetY,qe}function X(Oe,qe){return j(Oe)==j(qe)?Oe.circularLinkType=="bottom"?se(Oe,qe):te(Oe,qe):j(qe)-j(Oe)}function te(Oe,qe){return Oe.y0-qe.y0}function se(Oe,qe){return qe.y0-Oe.y0}function ue(Oe,qe){return Oe.y1-qe.y1}function re(Oe,qe){return qe.y1-Oe.y1}function j(Oe){return Oe.target.column-Oe.source.column}function fe(Oe){return Oe.target.x0-Oe.source.x1}function ce(Oe,qe){var mt=z(Oe),lt=fe(qe)/Math.tan(mt),Ie=Xe(Oe)=="up"?Oe.y1+lt:Oe.y1-lt;return Ie}function oe(Oe,qe){var mt=z(Oe),lt=fe(qe)/Math.tan(mt),Ie=Xe(Oe)=="up"?Oe.y1-lt:Oe.y1+lt;return Ie}function we(Oe,qe,mt,lt){Oe.links.forEach(function(Ie){if(!Ie.circular&&Ie.target.column-Ie.source.column>1){var de=Ie.source.column+1,Ee=Ie.target.column-1,Ue=1,ge=Ee-de+1;for(Ue=1;de<=Ee;de++,Ue++)Oe.nodes.forEach(function(Ge){if(Ge.column==de){var tt=Ue/(ge+1),ft=Math.pow(1-tt,3),He=3*tt*Math.pow(1-tt,2),Qe=3*Math.pow(tt,2)*(1-tt),We=Math.pow(tt,3),pt=ft*Ie.y0+He*Ie.y0+Qe*Ie.y1+We*Ie.y1,kt=pt-Ie.width/2,qt=pt+Ie.width/2,Wt;kt>Ge.y0&&ktGe.y0&&qtGe.y1&&ye(_r,Wt,qe,mt)})):ktGe.y1&&(Wt=qt-Ge.y0+10,Ge=ye(Ge,Wt,qe,mt),Oe.nodes.forEach(function(_r){S(_r,lt)==S(Ge,lt)||_r.column!=Ge.column||_r.y0Ge.y1&&ye(_r,Wt,qe,mt)}))}})}})}function he(Oe,qe){return Oe.y0>qe.y0&&Oe.y0qe.y0&&Oe.y1qe.y1}function ye(Oe,qe,mt,lt){return Oe.y0+qe>=mt&&Oe.y1+qe<=lt&&(Oe.y0=Oe.y0+qe,Oe.y1=Oe.y1+qe,Oe.targetLinks.forEach(function(Ie){Ie.y1=Ie.y1+qe}),Oe.sourceLinks.forEach(function(Ie){Ie.y0=Ie.y0+qe})),Oe}function Pe(Oe,qe,mt,lt){Oe.nodes.forEach(function(Ie){lt&&Ie.y+(Ie.y1-Ie.y0)>qe&&(Ie.y=Ie.y-(Ie.y+(Ie.y1-Ie.y0)-qe));var de=Oe.links.filter(function(ge){return S(ge.source,mt)==S(Ie,mt)}),Ee=de.length;Ee>1&&de.sort(function(ge,Ge){if(!ge.circular&&!Ge.circular){if(ge.target.column==Ge.target.column)return ge.y1-Ge.y1;if(ze(ge,Ge)){if(ge.target.column>Ge.target.column){var tt=oe(Ge,ge);return ge.y1-tt}if(Ge.target.column>ge.target.column){var ft=oe(ge,Ge);return ft-Ge.y1}}else return ge.y1-Ge.y1}if(ge.circular&&!Ge.circular)return ge.circularLinkType=="top"?-1:1;if(Ge.circular&&!ge.circular)return Ge.circularLinkType=="top"?1:-1;if(ge.circular&&Ge.circular)return ge.circularLinkType===Ge.circularLinkType&&ge.circularLinkType=="top"?ge.target.column===Ge.target.column?ge.target.y1-Ge.target.y1:Ge.target.column-ge.target.column:ge.circularLinkType===Ge.circularLinkType&&ge.circularLinkType=="bottom"?ge.target.column===Ge.target.column?Ge.target.y1-ge.target.y1:ge.target.column-Ge.target.column:ge.circularLinkType=="top"?-1:1});var Ue=Ie.y0;de.forEach(function(ge){ge.y0=Ue+ge.width/2,Ue=Ue+ge.width}),de.forEach(function(ge,Ge){if(ge.circularLinkType=="bottom"){var tt=Ge+1,ft=0;for(tt;tt1&&Ie.sort(function(Ue,ge){if(!Ue.circular&&!ge.circular){if(Ue.source.column==ge.source.column)return Ue.y0-ge.y0;if(ze(Ue,ge)){if(ge.source.column0?"up":"down"}function vt(Oe,qe){return S(Oe.source,qe)==S(Oe.target,qe)}function st(Oe,qe,mt){var lt=Oe.nodes,Ie=Oe.links,de=!1,Ee=!1;if(Ie.forEach(function(He){He.circularLinkType=="top"?de=!0:He.circularLinkType=="bottom"&&(Ee=!0)}),de==!1||Ee==!1){var Ue=t.min(lt,function(He){return He.y0}),ge=t.max(lt,function(He){return He.y1}),Ge=ge-Ue,tt=mt-qe,ft=tt/Ge;lt.forEach(function(He){var Qe=(He.y1-He.y0)*ft;He.y0=(He.y0-Ue)*ft,He.y1=He.y0+Qe}),Ie.forEach(function(He){He.y0=(He.y0-Ue)*ft,He.y1=(He.y1-Ue)*ft,He.width=He.width*ft})}}e.sankeyCircular=A,e.sankeyCenter=u,e.sankeyLeft=o,e.sankeyRight=s,e.sankeyJustify=l,Object.defineProperty(e,"__esModule",{value:!0})}))});var PY=ne((omr,UUe)=>{"use strict";UUe.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"}}});var eVe=ne((smr,QUe)=>{"use strict";var VUe=FUe(),WGt=(f2(),vl(c2)).interpolateNumber,Rw=Ea(),q6=zUe(),YGt=NUe(),Zs=PY(),hp=_a(),XGt=li(),d1=Zt(),IY=d1.strTranslate,ZGt=d1.strRotate,zY=c1(),B6=zY.keyFun,TF=zY.repeat,XUe=zY.unwrap,GUe=Ms(),$Gt=Fa(),ZUe=qc(),KGt=ZUe.CAP_SHIFT,JGt=ZUe.LINE_SPACING,QGt=3;function eHt(e,t,r){var n=XUe(t),a=n.trace,i=a.domain,o=a.orientation==="h",s=a.node.pad,l=a.node.thickness,u={justify:q6.sankeyJustify,left:q6.sankeyLeft,right:q6.sankeyRight,center:q6.sankeyCenter}[a.node.align],c=e.width*(i.x[1]-i.x[0]),f=e.height*(i.y[1]-i.y[0]),h=n._nodes,v=n._links,d=n.circular,m;d?m=YGt.sankeyCircular().circularLinkGap(0):m=q6.sankey(),m.iterations(Zs.sankeyIterations).size(o?[c,f]:[f,c]).nodeWidth(l).nodePadding(s).nodeId(function(q){return q.pointNumber}).nodeAlign(u).nodes(h).links(v);function x(q){a[q].sort==="input"&&(d?d1.warn(`Circular Sankey diagrams do not support the "input" ${q}.sort mode; falling back to the default sort.`):m[`${q}Sort`](null))}x("link"),x("node");var g=m();m.nodePadding()=B||(R=B-O.y0,R>1e-6&&(O.y0+=R,O.y1+=R)),B=O.y1+s})}function A(q){var U=q.map(function(se,ue){return{x0:se.x0,index:ue}}).sort(function(se,ue){return se.x0-ue.x0}),O=[],R=-1,B,Y=-1/0,X;for(E=0;EY+l&&(R+=1,B=te.x0),Y=te.x0,O[R]||(O[R]=[]),O[R].push(te),X=B-te.x0,te.x0+=X,te.x1+=X}return O}if(a.node.x.length&&a.node.y.length){for(E=0;E0?" L "+a.targetX+" "+a.targetY:"")+"Z"):(r="M "+(a.targetX-t)+" "+(a.targetY-n)+" L "+(a.rightInnerExtent-t)+" "+(a.targetY-n)+" A "+(a.rightLargeArcRadius+n)+" "+(a.rightSmallArcRadius+n)+" 0 0 0 "+(a.rightFullExtent-n-t)+" "+(a.targetY+a.rightSmallArcRadius)+" L "+(a.rightFullExtent-n-t)+" "+a.verticalRightInnerExtent,i&&o?r+=" A "+(a.rightLargeArcRadius+n)+" "+(a.rightLargeArcRadius+n)+" 0 0 0 "+(a.rightInnerExtent-n-t)+" "+(a.verticalFullExtent+n)+" L "+(a.rightFullExtent+n-t-(a.rightLargeArcRadius-n))+" "+(a.verticalFullExtent+n)+" A "+(a.rightLargeArcRadius+n)+" "+(a.rightLargeArcRadius+n)+" 0 0 0 "+(a.leftFullExtent+n)+" "+a.verticalLeftInnerExtent:i?r+=" A "+(a.rightLargeArcRadius-n)+" "+(a.rightSmallArcRadius-n)+" 0 0 1 "+(a.rightFullExtent-t-n-(a.rightLargeArcRadius-n))+" "+(a.verticalFullExtent-n)+" L "+(a.leftFullExtent+n+(a.rightLargeArcRadius-n))+" "+(a.verticalFullExtent-n)+" A "+(a.rightLargeArcRadius-n)+" "+(a.rightSmallArcRadius-n)+" 0 0 1 "+(a.leftFullExtent+n)+" "+a.verticalLeftInnerExtent:r+=" A "+(a.rightLargeArcRadius+n)+" "+(a.rightLargeArcRadius+n)+" 0 0 0 "+(a.rightInnerExtent-t)+" "+(a.verticalFullExtent+n)+" L "+a.leftInnerExtent+" "+(a.verticalFullExtent+n)+" A "+(a.leftLargeArcRadius+n)+" "+(a.leftLargeArcRadius+n)+" 0 0 0 "+(a.leftFullExtent+n)+" "+a.verticalLeftInnerExtent,r+=" L "+(a.leftFullExtent+n)+" "+(a.sourceY+a.leftSmallArcRadius)+" A "+(a.leftLargeArcRadius+n)+" "+(a.leftSmallArcRadius+n)+" 0 0 0 "+a.leftInnerExtent+" "+(a.sourceY-n)+" L "+a.sourceX+" "+(a.sourceY-n)+" L "+a.sourceX+" "+(a.sourceY+n)+" L "+a.leftInnerExtent+" "+(a.sourceY+n)+" A "+(a.leftLargeArcRadius-n)+" "+(a.leftSmallArcRadius-n)+" 0 0 1 "+(a.leftFullExtent-n)+" "+(a.sourceY+a.leftSmallArcRadius)+" L "+(a.leftFullExtent-n)+" "+a.verticalLeftInnerExtent,i&&o?r+=" A "+(a.rightLargeArcRadius-n)+" "+(a.rightSmallArcRadius-n)+" 0 0 1 "+(a.leftFullExtent-n-(a.rightLargeArcRadius-n))+" "+(a.verticalFullExtent-n)+" L "+(a.rightFullExtent+n-t+(a.rightLargeArcRadius-n))+" "+(a.verticalFullExtent-n)+" A "+(a.rightLargeArcRadius-n)+" "+(a.rightSmallArcRadius-n)+" 0 0 1 "+(a.rightFullExtent+n-t)+" "+a.verticalRightInnerExtent:i?r+=" A "+(a.rightLargeArcRadius+n)+" "+(a.rightLargeArcRadius+n)+" 0 0 0 "+(a.leftFullExtent+n)+" "+(a.verticalFullExtent+n)+" L "+(a.rightFullExtent-t-n)+" "+(a.verticalFullExtent+n)+" A "+(a.rightLargeArcRadius+n)+" "+(a.rightLargeArcRadius+n)+" 0 0 0 "+(a.rightFullExtent+n-t)+" "+a.verticalRightInnerExtent:r+=" A "+(a.leftLargeArcRadius-n)+" "+(a.leftLargeArcRadius-n)+" 0 0 1 "+a.leftInnerExtent+" "+(a.verticalFullExtent-n)+" L "+(a.rightInnerExtent-t)+" "+(a.verticalFullExtent-n)+" A "+(a.rightLargeArcRadius-n)+" "+(a.rightLargeArcRadius-n)+" 0 0 1 "+(a.rightFullExtent+n-t)+" "+a.verticalRightInnerExtent,r+=" L "+(a.rightFullExtent+n-t)+" "+(a.targetY+a.rightSmallArcRadius)+" A "+(a.rightLargeArcRadius-n)+" "+(a.rightSmallArcRadius-n)+" 0 0 1 "+(a.rightInnerExtent-t)+" "+(a.targetY+n)+" L "+(a.targetX-t)+" "+(a.targetY+n)+(t>0?" L "+a.targetX+" "+a.targetY:"")+"Z"),r}function qY(){var e=.5;function t(r){var n=r.linkArrowLength;if(r.link.circular)return rHt(r.link,n);var a=Math.abs((r.link.target.x0-r.link.source.x1)/2);n>a&&(n=a);var i=r.link.source.x1,o=r.link.target.x0-n,s=WGt(i,o),l=s(e),u=s(1-e),c=r.link.y0-r.link.width/2,f=r.link.y0+r.link.width/2,h=r.link.y1-r.link.width/2,v=r.link.y1+r.link.width/2,d="M"+i+","+c,m="C"+l+","+c+" "+u+","+h+" "+o+","+h,x="C"+u+","+v+" "+l+","+f+" "+i+","+f,g=n>0?"L"+(o+n)+","+(h+r.link.width/2):"";return g+="L"+o+","+v,d+m+g+x+"Z"}return t}function nHt(e,t){var r=Zs.nodePadAcross,n=e.nodePad/2;t.dx=t.x1-t.x0,t.dy=t.y1-t.y0;var a=t.dx,i=Math.max(.5,t.dy),o="node_"+t.pointNumber;return t.group&&(o=d1.randstr()),t.trace=e.trace,t.curveNumber=e.trace.index,{index:t.pointNumber,key:o,partOfGroup:t.partOfGroup||!1,group:t.group,traceId:e.key,trace:e.trace,node:t,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(a),visibleHeight:i,zoneX:-r,zoneY:-n,zoneWidth:a+2*r,zoneHeight:i+2*n,labelY:e.horizontal?t.dy/2+1:t.dx/2+1,left:t.originalLayer===1,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:hp.color(t.color).isDark(),rgb:hp.rgb(t.color),alpha:hp.color(t.color).alpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,graph:e.graph,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,o].join("_"),interactionState:e.interactionState,figure:e}}function RY(e){e.attr("transform",function(t){return IY(t.node.x0.toFixed(3),t.node.y0.toFixed(3))})}function aHt(e){e.call(RY)}function $Ue(e,t){e.call(aHt),t.attr("d",qY())}function HUe(e){e.attr("width",function(t){return t.node.x1-t.node.x0}).attr("height",function(t){return t.visibleHeight})}function DY(e){return e.link.width>1||e.linkLineWidth>0}function jUe(e){var t=IY(e.translateX,e.translateY);return t+(e.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function WUe(e,t,r){e.on(".basic",null).on("mouseover.basic",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.hover(this,n,t),n.interactionState.hovered=[this,n])}).on("mousemove.basic",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.follow(this,n),n.interactionState.hovered=[this,n])}).on("mouseout.basic",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.unhover(this,n,t),n.interactionState.hovered=!1)}).on("click.basic",function(n){n.interactionState.hovered&&(r.unhover(this,n,t),n.interactionState.hovered=!1),!n.interactionState.dragInProgress&&!n.partOfGroup&&r.select(this,n,t)})}function iHt(e,t,r,n){var a=Rw.behavior.drag().origin(function(i){return{x:i.node.x0+i.visibleWidth/2,y:i.node.y0+i.visibleHeight/2}}).on("dragstart",function(i){if(i.arrangement!=="fixed"&&(d1.ensureSingle(n._fullLayout._infolayer,"g","dragcover",function(s){n._fullLayout._dragCover=s}),d1.raiseToTop(this),i.interactionState.dragInProgress=i.node,YUe(i.node),i.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,i.interactionState.hovered),i.interactionState.hovered=!1),i.arrangement==="snap")){var o=i.traceId+"|"+i.key;i.forceLayouts[o]?i.forceLayouts[o].alpha(1):oHt(e,o,i,n),sHt(e,t,i,o,n)}}).on("drag",function(i){if(i.arrangement!=="fixed"){var o=Rw.event.x,s=Rw.event.y;i.arrangement==="snap"?(i.node.x0=o-i.visibleWidth/2,i.node.x1=o+i.visibleWidth/2,i.node.y0=s-i.visibleHeight/2,i.node.y1=s+i.visibleHeight/2):(i.arrangement==="freeform"&&(i.node.x0=o-i.visibleWidth/2,i.node.x1=o+i.visibleWidth/2),s=Math.max(0,Math.min(i.size-i.visibleHeight/2,s)),i.node.y0=s-i.visibleHeight/2,i.node.y1=s+i.visibleHeight/2),YUe(i.node),i.arrangement!=="snap"&&(i.sankey.update(i.graph),$Ue(e.filter(JUe(i)),t))}}).on("dragend",function(i){if(i.arrangement!=="fixed"){i.interactionState.dragInProgress=!1;for(var o=0;o0)window.requestAnimationFrame(i);else{var l=r.node.originalX;r.node.x0=l-r.visibleWidth/2,r.node.x1=l+r.visibleWidth/2,KUe(r,a)}})}function lHt(e,t,r,n){return function(){for(var i=0,o=0;o0&&n.forceLayouts[t].alpha(0)}}function KUe(e,t){for(var r=[],n=[],a=0;aDY(x)?hp.rgb(x.linkLineColor):x.rgb).style("stroke-opacity",x=>DY(x)?hp.opacity(x.linkLineColor):x.alpha).style("fill",x=>x.rgb).style("fill-opacity",x=>x.alpha).style("stroke-width",x=>DY(x)?x.linkLineWidth:1).attr("d",qY()),f.style("opacity",function(){return e._context.staticPlot||o||s?1:0}).transition().ease(Zs.ease).duration(Zs.duration).style("opacity",1),f.exit().transition().ease(Zs.ease).duration(Zs.duration).style("opacity",0).remove();var h=u.selectAll("."+Zs.cn.sankeyNodeSet).data(TF,B6);h.enter().append("g").classed(Zs.cn.sankeyNodeSet,!0),h.style("cursor",function(x){switch(x.arrangement){case"fixed":return"default";case"perpendicular":return"ns-resize";default:return"move"}});var v=h.selectAll("."+Zs.cn.sankeyNode).data(function(x){var g=x.graph.nodes;return uHt(g),g.map(nHt.bind(null,x))},B6);v.enter().append("g").classed(Zs.cn.sankeyNode,!0).call(RY).style("opacity",function(x){return(e._context.staticPlot||o)&&!x.partOfGroup?1:0}),v.call(WUe,u,a.nodeEvents).call(iHt,f,a,e),v.transition().ease(Zs.ease).duration(Zs.duration).call(RY).style("opacity",function(x){return x.partOfGroup?0:1}),v.exit().transition().ease(Zs.ease).duration(Zs.duration).style("opacity",0).remove();var d=v.selectAll("."+Zs.cn.nodeRect).data(TF);d.enter().append("rect").classed(Zs.cn.nodeRect,!0).call(HUe),d.style("stroke-width",function(x){return x.nodeLineWidth}).style("stroke",function(x){return hp.rgb(x.nodeLineColor)}).style("stroke-opacity",function(x){return hp.opacity(x.nodeLineColor)}).style("fill",x=>x.rgb).style("fill-opacity",x=>x.alpha),d.transition().ease(Zs.ease).duration(Zs.duration).call(HUe);var m=v.selectAll("."+Zs.cn.nodeLabel).data(TF);m.enter().append("text").classed(Zs.cn.nodeLabel,!0).style("cursor","default"),m.attr("data-notex",1).text(function(x){return x.node.label}).each(function(x){var g=Rw.select(this);XGt.font(g,x.textFont),GUe.convertToTspans(g,e)}).attr("text-anchor",function(x){return x.horizontal&&x.left?"end":"start"}).attr("transform",function(x){var g=Rw.select(this),E=GUe.lineCount(g),M=x.textFont.size*((E-1)*JGt-KGt),w=x.nodeLineWidth/2+QGt,k=((x.horizontal?x.visibleHeight:x.visibleWidth)-M)/2;x.horizontal&&(x.left?w=-w:w+=x.visibleWidth);var y=x.horizontal?"":"scale(-1,1)"+ZGt(90);return IY(x.horizontal?w:k,x.horizontal?k:w)+y}),m.transition().ease(Zs.ease).duration(Zs.duration)}});var NY=ne((lmr,uVe)=>{"use strict";var md=Ea(),OY=Zt(),AF=OY.numberFormat,hHt=eVe(),Iw=cu(),dHt=_a(),vy=PY().cn,O6=OY._;function tVe(e){return e!==""}function zw(e,t){return e.filter(function(r){return r.key===t.traceId})}function rVe(e,t){md.select(e).select("path").style("fill-opacity",t),md.select(e).select("rect").style("fill-opacity",t)}function nVe(e){md.select(e).select("text.name").style("fill","black")}function aVe(e){return function(t){return e.node.sourceLinks.indexOf(t.link)!==-1||e.node.targetLinks.indexOf(t.link)!==-1}}function iVe(e){return function(t){return t.node.sourceLinks.indexOf(e.link)!==-1||t.node.targetLinks.indexOf(e.link)!==-1}}function oVe(e,t,r){t&&r&&zw(r,t).selectAll("."+vy.sankeyLink).filter(aVe(t)).call(sVe.bind(0,t,r,!1))}function BY(e,t,r){t&&r&&zw(r,t).selectAll("."+vy.sankeyLink).filter(aVe(t)).call(lVe.bind(0,t,r,!1))}function sVe(e,t,r,n){n.style("fill",function(a){if(!a.link.concentrationscale)return a.hoverRgb}).style("fill-opacity",function(a){if(!a.link.concentrationscale)return a.hoverAlpha}),n.each(function(a){var i=a.link.label;i!==""&&zw(t,e).selectAll("."+vy.sankeyLink).filter(function(o){return o.link.label===i}).style("fill",function(o){if(!o.link.concentrationscale)return o.hoverRgb}).style("fill-opacity",function(o){if(!o.link.concentrationscale)return o.hoverAlpha})}),r&&zw(t,e).selectAll("."+vy.sankeyNode).filter(iVe(e)).call(oVe)}function lVe(e,t,r,n){n.style("fill",function(a){return a.rgb}).style("fill-opacity",function(a){return a.alpha}),n.each(function(a){var i=a.link.label;i!==""&&zw(t,e).selectAll("."+vy.sankeyLink).filter(function(o){return o.link.label===i}).style("fill",o=>o.rgb).style("fill-opacity",o=>o.alpha)}),r&&zw(t,e).selectAll(vy.sankeyNode).filter(iVe(e)).call(BY)}function Su(e,t){var r=e.hoverlabel||{},n=OY.nestedProperty(r,t).get();return Array.isArray(n)?!1:n}uVe.exports=function(t,r){for(var n=t._fullLayout,a=n._paper,i=n._size,o=0;o"),color:Su(S,"bgcolor")||dHt.addOpacity(P.color,1),borderColor:Su(S,"bordercolor"),fontFamily:Su(S,"font.family"),fontSize:Su(S,"font.size"),fontColor:Su(S,"font.color"),fontWeight:Su(S,"font.weight"),fontStyle:Su(S,"font.style"),fontVariant:Su(S,"font.variant"),fontTextcase:Su(S,"font.textcase"),fontLineposition:Su(S,"font.lineposition"),fontShadow:Su(S,"font.shadow"),nameLength:Su(S,"namelength"),textAlign:Su(S,"align"),idealAlign:md.event.x"),color:Su(S,"bgcolor")||y.rgb,borderColor:Su(S,"bordercolor"),fontFamily:Su(S,"font.family"),fontSize:Su(S,"font.size"),fontColor:Su(S,"font.color"),fontWeight:Su(S,"font.weight"),fontStyle:Su(S,"font.style"),fontVariant:Su(S,"font.variant"),fontTextcase:Su(S,"font.textcase"),fontLineposition:Su(S,"font.lineposition"),fontShadow:Su(S,"font.shadow"),nameLength:Su(S,"namelength"),textAlign:Su(S,"align"),idealAlign:"left",hovertemplate:S.hovertemplate,hovertemplateLabels:z,eventData:[y.node]},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t});rVe(O,.85),nVe(O)}}},w=function(k,y,S){t._fullLayout.hovermode!==!1&&(md.select(k).call(BY,y,S),y.node.trace.node.hoverinfo!=="skip"&&(y.node.fullData=y.node.trace,t.emit("plotly_unhover",{event:md.event,points:[y.node]})),Iw.loneUnhover(n._hoverlayer.node()))};hHt(t,a,r,{width:i.w,height:i.h,margin:{t:i.t,r:i.r,b:i.b,l:i.l}},{linkEvents:{hover:u,follow:m,unhover:x,select:l},nodeEvents:{hover:E,follow:M,unhover:w,select:g}})}});var cVe=ne(I2=>{"use strict";var vHt=Il().overrideAll,pHt=mh().getModuleCalcData,gHt=NY(),mHt=Fg(),yHt=z0(),xHt=od(),bHt=ef().prepSelect,UY=Zt(),_Ht=Fa(),MF="sankey";I2.name=MF;I2.baseLayoutAttrOverrides=vHt({hoverlabel:mHt.hoverlabel},"plot","nested");I2.plot=function(e){var t=pHt(e.calcdata,MF)[0];gHt(e,t),I2.updateFx(e)};I2.clean=function(e,t,r,n){var a=n._has&&n._has(MF),i=t._has&&t._has(MF);a&&!i&&(n._paperdiv.selectAll(".sankey").remove(),n._paperdiv.selectAll(".bgsankey").remove())};I2.updateFx=function(e){for(var t=0;t{"use strict";fVe.exports=function(t,r){for(var n=t.cd,a=[],i=n[0].trace,o=i._sankey.graph.nodes,s=0;s{"use strict";dVe.exports={attributes:kY(),supplyDefaults:mUe(),calc:wUe(),plot:NY(),moduleType:"trace",name:"sankey",basePlotModule:cVe(),selectPoints:hVe(),categories:["noOpacity"],meta:{}}});var gVe=ne((hmr,pVe)=>{"use strict";pVe.exports=vVe()});var yVe=ne(qw=>{"use strict";var mVe=Sl();qw.name="indicator";qw.plot=function(e,t,r,n){mVe.plotBasePlot(qw.name,e,t,r,n)};qw.clean=function(e,t,r,n){mVe.cleanBasePlot(qw.name,e,t,r,n)}});var GY=ne((vmr,AVe)=>{"use strict";var py=ci().extendFlat,bVe=ci().extendDeep,THt=Il().overrideAll,_Ve=pl(),wVe=Ic(),AHt=zl().attributes,Nu=Wf(),MHt=Bo().templatedArray,SF=Q_(),xVe=Wl().descriptionOnlyNumbers,VY=_Ve({editType:"plot",colorEditType:"plot"}),N6={color:{valType:"color",editType:"plot"},line:{color:{valType:"color",dflt:wVe.defaultLine,editType:"plot"},width:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},thickness:{valType:"number",min:0,max:1,dflt:1,editType:"plot"},editType:"calc"},TVe={valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},SHt=MHt("step",bVe({},N6,{range:TVe}));AVe.exports={mode:{valType:"flaglist",editType:"calc",flags:["number","delta","gauge"],dflt:"number"},value:{valType:"number",editType:"calc",anim:!0},align:{valType:"enumerated",values:["left","center","right"],editType:"plot"},domain:AHt({name:"indicator",trace:!0,editType:"calc"}),title:{text:{valType:"string",editType:"plot"},align:{valType:"enumerated",values:["left","center","right"],editType:"plot"},font:py({},VY,{}),editType:"plot"},number:{valueformat:{valType:"string",dflt:"",editType:"plot",description:xVe("value")},font:py({},VY,{}),prefix:{valType:"string",dflt:"",editType:"plot"},suffix:{valType:"string",dflt:"",editType:"plot"},editType:"plot"},delta:{reference:{valType:"number",editType:"calc"},position:{valType:"enumerated",values:["top","bottom","left","right"],dflt:"bottom",editType:"plot"},relative:{valType:"boolean",editType:"plot",dflt:!1},valueformat:{valType:"string",editType:"plot",description:xVe("value")},increasing:{symbol:{valType:"string",dflt:SF.INCREASING.SYMBOL,editType:"plot"},color:{valType:"color",dflt:SF.INCREASING.COLOR,editType:"plot"},editType:"plot"},decreasing:{symbol:{valType:"string",dflt:SF.DECREASING.SYMBOL,editType:"plot"},color:{valType:"color",dflt:SF.DECREASING.COLOR,editType:"plot"},editType:"plot"},font:py({},VY,{}),prefix:{valType:"string",dflt:"",editType:"plot"},suffix:{valType:"string",dflt:"",editType:"plot"},editType:"calc"},gauge:{shape:{valType:"enumerated",editType:"plot",dflt:"angular",values:["angular","bullet"]},bar:bVe({},N6,{color:{dflt:"green"}}),bgcolor:{valType:"color",editType:"plot"},bordercolor:{valType:"color",dflt:wVe.defaultLine,editType:"plot"},borderwidth:{valType:"number",min:0,dflt:1,editType:"plot"},axis:THt({range:TVe,visible:py({},Nu.visible,{dflt:!0}),tickmode:Nu.minor.tickmode,nticks:Nu.nticks,tick0:Nu.tick0,dtick:Nu.dtick,tickvals:Nu.tickvals,ticktext:Nu.ticktext,ticks:py({},Nu.ticks,{dflt:"outside"}),ticklen:Nu.ticklen,tickwidth:Nu.tickwidth,tickcolor:Nu.tickcolor,ticklabelstep:Nu.ticklabelstep,showticklabels:Nu.showticklabels,labelalias:Nu.labelalias,tickfont:_Ve({}),tickangle:Nu.tickangle,tickformat:Nu.tickformat,tickformatstops:Nu.tickformatstops,tickprefix:Nu.tickprefix,showtickprefix:Nu.showtickprefix,ticksuffix:Nu.ticksuffix,showticksuffix:Nu.showticksuffix,separatethousands:Nu.separatethousands,exponentformat:Nu.exponentformat,minexponent:Nu.minexponent,showexponent:Nu.showexponent,editType:"plot"},"plot"),steps:SHt,threshold:{line:{color:py({},N6.line.color,{}),width:py({},N6.line.width,{dflt:1}),editType:"plot"},thickness:py({},N6.thickness,{dflt:.85}),value:{valType:"number",editType:"calc",dflt:!1},editType:"plot"},editType:"plot"}}});var HY=ne((pmr,MVe)=>{"use strict";MVe.exports={defaultNumberFontSize:80,bulletNumberDomainSize:.25,bulletPadding:.025,innerRadius:.75,valueThickness:.5,titlePadding:5,horizontalPadding:10}});var kVe=ne((gmr,EVe)=>{"use strict";var v1=Zt(),kF=GY(),EHt=zl().defaults,SVe=Bo(),kHt=zh(),EF=HY(),CHt=Xy(),LHt=Nb(),FHt=Hg(),PHt=jg();function DHt(e,t,r,n){function a(y,S){return v1.coerce(e,t,kF,y,S)}EHt(t,n,a),a("mode"),t._hasNumber=t.mode.indexOf("number")!==-1,t._hasDelta=t.mode.indexOf("delta")!==-1,t._hasGauge=t.mode.indexOf("gauge")!==-1;var i=a("value");t._range=[0,typeof i=="number"?1.5*i:1];var o=new Array(2),s;if(t._hasNumber){a("number.valueformat");var l=v1.extendFlat({},n.font);l.size=void 0,v1.coerceFont(a,"number.font",l),t.number.font.size===void 0&&(t.number.font.size=EF.defaultNumberFontSize,o[0]=!0),a("number.prefix"),a("number.suffix"),s=t.number.font.size}var u;if(t._hasDelta){var c=v1.extendFlat({},n.font);c.size=void 0,v1.coerceFont(a,"delta.font",c),t.delta.font.size===void 0&&(t.delta.font.size=(t._hasNumber?.5:1)*(s||EF.defaultNumberFontSize),o[1]=!0),a("delta.reference",t.value),a("delta.relative"),a("delta.valueformat",t.delta.relative?"2%":""),a("delta.increasing.symbol"),a("delta.increasing.color"),a("delta.decreasing.symbol"),a("delta.decreasing.color"),a("delta.position"),a("delta.prefix"),a("delta.suffix"),u=t.delta.font.size}t._scaleNumbers=(!t._hasNumber||o[0])&&(!t._hasDelta||o[1])||!1;var f=v1.extendFlat({},n.font);f.size=.25*(s||u||EF.defaultNumberFontSize),v1.coerceFont(a,"title.font",f),a("title.text");var h,v,d,m;function x(y,S){return v1.coerce(h,v,kF.gauge,y,S)}function g(y,S){return v1.coerce(d,m,kF.gauge.axis,y,S)}if(t._hasGauge){h=e.gauge,h||(h={}),v=SVe.newContainer(t,"gauge"),x("shape");var E=t._isBullet=t.gauge.shape==="bullet";E||a("title.align","center");var M=t._isAngular=t.gauge.shape==="angular";M||a("align","center"),x("bgcolor",n.paper_bgcolor),x("borderwidth"),x("bordercolor"),x("bar.color"),x("bar.line.color"),x("bar.line.width");var w=EF.valueThickness*(t.gauge.shape==="bullet"?.5:1);x("bar.thickness",w),kHt(h,v,{name:"steps",handleItemDefaults:RHt}),x("threshold.value"),x("threshold.thickness"),x("threshold.line.width"),x("threshold.line.color"),d={},h&&(d=h.axis||{}),m=SVe.newContainer(v,"axis"),g("visible"),t._range=g("range",t._range);var k={font:n.font,noAutotickangles:!0,outerTicks:!0,noTicklabelshift:!0,noTicklabelstandoff:!0};CHt(d,m,g,"linear"),PHt(d,m,g,"linear",k),FHt(d,m,g,"linear",k),LHt(d,m,g,k)}else a("title.align","center"),a("align","center"),t._isAngular=t._isBullet=!1;t._length=null}function RHt(e,t){function r(n,a){return v1.coerce(e,t,kF.gauge.steps,n,a)}r("color"),r("line.color"),r("line.width"),r("range"),r("thickness")}EVe.exports={supplyDefaults:DHt}});var LVe=ne((mmr,CVe)=>{"use strict";function IHt(e,t){var r=[],n=t.value;typeof t._lastValue!="number"&&(t._lastValue=t.value);var a=t._lastValue,i=a;return t._hasDelta&&typeof t.delta.reference=="number"&&(i=t.delta.reference),r[0]={y:n,lastY:a,delta:n-i,relativeDelta:(n-i)/i},r}CVe.exports={calc:IHt}});var zVe=ne((ymr,IVe)=>{"use strict";var N2=Ea(),zHt=(f2(),vl(c2)).interpolate,FVe=(f2(),vl(c2)).interpolateNumber,gy=Zt(),qHt=gy.strScale,V6=gy.strTranslate,BHt=gy.rad2deg,OHt=qc().MID_SHIFT,O2=li(),z2=HY(),LF=Ms(),Ch=ri(),NHt=Y4(),UHt=bk(),VHt=Wf(),Bw=_a(),jY={left:"start",center:"middle",right:"end"},q2={left:0,center:.5,right:1},PVe=/[yzafpnµmkMGTPEZY]/;function G6(e){return e&&e.duration>0}IVe.exports=function(t,r,n,a){var i=t._fullLayout,o;G6(n)&&a&&(o=a()),gy.makeTraceGroups(i._indicatorlayer,r,"trace").each(function(s){var l=s[0],u=l.trace,c=N2.select(this),f=u._hasGauge,h=u._isAngular,v=u._isBullet,d=u.domain,m={w:i._size.w*(d.x[1]-d.x[0]),h:i._size.h*(d.y[1]-d.y[0]),l:i._size.l+i._size.w*d.x[0],r:i._size.r+i._size.w*(1-d.x[1]),t:i._size.t+i._size.h*(1-d.y[1]),b:i._size.b+i._size.h*d.y[0]},x=m.l+m.w/2,g=m.t+m.h/2,E=Math.min(m.w/2,m.h),M=z2.innerRadius*E,w,k,y,S=u.align||"center";if(k=g,!f)w=m.l+q2[S]*m.w,y=function(O){return DVe(O,m.w,m.h)};else if(h&&(w=x,k=g+E/2,y=function(O){return YHt(O,.9*M)}),v){var T=z2.bulletPadding,p=1-z2.bulletNumberDomainSize+T;w=m.l+(p+(1-p)*q2[S])*m.w,y=function(O){return DVe(O,(z2.bulletNumberDomainSize-T)*m.w,m.h)}}jHt(t,c,s,{numbersX:w,numbersY:k,numbersScaler:y,transitionOpts:n,onComplete:o});var C,A;f&&(C={range:u.gauge.axis.range,color:u.gauge.bgcolor,line:{color:u.gauge.bordercolor,width:0},thickness:1},A={range:u.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:u.gauge.bordercolor,width:u.gauge.borderwidth},thickness:1});var P=c.selectAll("g.angular").data(h?s:[]);P.exit().remove();var D=c.selectAll("g.angularaxis").data(h?s:[]);D.exit().remove(),h&&HHt(t,c,s,{radius:E,innerRadius:M,gauge:P,layer:D,size:m,gaugeBg:C,gaugeOutline:A,transitionOpts:n,onComplete:o});var z=c.selectAll("g.bullet").data(v?s:[]);z.exit().remove();var q=c.selectAll("g.bulletaxis").data(v?s:[]);q.exit().remove(),v&&GHt(t,c,s,{gauge:z,layer:q,size:m,gaugeBg:C,gaugeOutline:A,transitionOpts:n,onComplete:o});var U=c.selectAll("text.title").data(s);U.exit().remove(),U.enter().append("text").classed("title",!0),U.attr("text-anchor",function(){return v?jY.right:jY[u.title.align]}).text(u.title.text).call(O2.font,u.title.font).call(LF.convertToTspans,t),U.attr("transform",function(){var O=m.l+m.w*q2[u.title.align],R,B=z2.titlePadding,Y=O2.bBox(U.node());if(f){if(h)if(u.gauge.axis.visible){var X=O2.bBox(D.node());R=X.top-B-Y.bottom}else R=m.t+m.h/2-E/2-Y.bottom-B;v&&(R=k-(Y.top+Y.bottom)/2,O=m.l-z2.bulletPadding*m.w)}else R=u._numbersTop-B-Y.bottom;return V6(O,R)})})};function GHt(e,t,r,n){var a=r[0].trace,i=n.gauge,o=n.layer,s=n.gaugeBg,l=n.gaugeOutline,u=n.size,c=a.domain,f=n.transitionOpts,h=n.onComplete,v,d,m,x,g;i.enter().append("g").classed("bullet",!0),i.attr("transform",V6(u.l,u.t)),o.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),o.selectAll("g.xbulletaxistick,path,text").remove();var E=u.h,M=a.gauge.bar.thickness*E,w=c.x[0],k=c.x[0]+(c.x[1]-c.x[0])*(a._hasNumber||a._hasDelta?1-z2.bulletNumberDomainSize:1);v=U6(e,a.gauge.axis),v._id="xbulletaxis",v.domain=[w,k],v.setScale(),d=Ch.calcTicks(v),m=Ch.makeTransTickFn(v),x=Ch.getTickSigns(v)[2],g=u.t+u.h,v.visible&&(Ch.drawTicks(e,v,{vals:v.ticks==="inside"?Ch.clipEnds(v,d):d,layer:o,path:Ch.makeTickPath(v,g,x),transFn:m}),Ch.drawLabels(e,v,{vals:d,layer:o,transFn:m,labelFns:Ch.makeLabelFns(v,g)}));function y(D){D.attr("width",function(z){return Math.max(0,v.c2p(z.range[1])-v.c2p(z.range[0]))}).attr("x",function(z){return v.c2p(z.range[0])}).attr("y",function(z){return .5*(1-z.thickness)*E}).attr("height",function(z){return z.thickness*E})}var S=[s].concat(a.gauge.steps),T=i.selectAll("g.bg-bullet").data(S);T.enter().append("g").classed("bg-bullet",!0).append("rect"),T.select("rect").call(y).call(B2),T.exit().remove();var p=i.selectAll("g.value-bullet").data([a.gauge.bar]);p.enter().append("g").classed("value-bullet",!0).append("rect"),p.select("rect").attr("height",M).attr("y",(E-M)/2).call(B2),G6(f)?p.select("rect").transition().duration(f.duration).ease(f.easing).each("end",function(){h&&h()}).each("interrupt",function(){h&&h()}).attr("width",Math.max(0,v.c2p(Math.min(a.gauge.axis.range[1],r[0].y)))):p.select("rect").attr("width",typeof r[0].y=="number"?Math.max(0,v.c2p(Math.min(a.gauge.axis.range[1],r[0].y))):0),p.exit().remove();var C=r.filter(function(){return a.gauge.threshold.value||a.gauge.threshold.value===0}),A=i.selectAll("g.threshold-bullet").data(C);A.enter().append("g").classed("threshold-bullet",!0).append("line"),A.select("line").attr("x1",v.c2p(a.gauge.threshold.value)).attr("x2",v.c2p(a.gauge.threshold.value)).attr("y1",(1-a.gauge.threshold.thickness)/2*E).attr("y2",(1-(1-a.gauge.threshold.thickness)/2)*E).call(Bw.stroke,a.gauge.threshold.line.color).style("stroke-width",a.gauge.threshold.line.width),A.exit().remove();var P=i.selectAll("g.gauge-outline").data([l]);P.enter().append("g").classed("gauge-outline",!0).append("rect"),P.select("rect").call(y).call(B2),P.exit().remove()}function HHt(e,t,r,n){var a=r[0].trace,i=n.size,o=n.radius,s=n.innerRadius,l=n.gaugeBg,u=n.gaugeOutline,c=[i.l+i.w/2,i.t+i.h/2+o/2],f=n.gauge,h=n.layer,v=n.transitionOpts,d=n.onComplete,m=Math.PI/2;function x(te){var se=a.gauge.axis.range[0],ue=a.gauge.axis.range[1],re=(te-se)/(ue-se)*Math.PI-m;return re<-m?-m:re>m?m:re}function g(te){return N2.svg.arc().innerRadius((s+o)/2-te/2*(o-s)).outerRadius((s+o)/2+te/2*(o-s)).startAngle(-m)}function E(te){te.attr("d",function(se){return g(se.thickness).startAngle(x(se.range[0])).endAngle(x(se.range[1]))()})}var M,w,k,y;f.enter().append("g").classed("angular",!0),f.attr("transform",V6(c[0],c[1])),h.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),h.selectAll("g.xangularaxistick,path,text").remove(),M=U6(e,a.gauge.axis),M.type="linear",M.range=a.gauge.axis.range,M._id="xangularaxis",M.ticklabeloverflow="allow",M.setScale();var S=function(te){return(M.range[0]-te.x)/(M.range[1]-M.range[0])*Math.PI+Math.PI},T={},p=Ch.makeLabelFns(M,0),C=p.labelStandoff;T.xFn=function(te){var se=S(te);return Math.cos(se)*C},T.yFn=function(te){var se=S(te),ue=Math.sin(se)>0?.2:1;return-Math.sin(se)*(C+te.fontSize*ue)+Math.abs(Math.cos(se))*(te.fontSize*OHt)},T.anchorFn=function(te){var se=S(te),ue=Math.cos(se);return Math.abs(ue)<.1?"middle":ue>0?"start":"end"},T.heightFn=function(te,se,ue){var re=S(te);return-.5*(1+Math.sin(re))*ue};var A=function(te){return V6(c[0]+o*Math.cos(te),c[1]-o*Math.sin(te))};k=function(te){return A(S(te))};var P=function(te){var se=S(te);return A(se)+"rotate("+-BHt(se)+")"};if(w=Ch.calcTicks(M),y=Ch.getTickSigns(M)[2],M.visible){y=M.ticks==="inside"?-1:1;var D=(M.linewidth||1)/2;Ch.drawTicks(e,M,{vals:w,layer:h,path:"M"+y*D+",0h"+y*M.ticklen,transFn:P}),Ch.drawLabels(e,M,{vals:w,layer:h,transFn:k,labelFns:T})}var z=[l].concat(a.gauge.steps),q=f.selectAll("g.bg-arc").data(z);q.enter().append("g").classed("bg-arc",!0).append("path"),q.select("path").call(E).call(B2),q.exit().remove();var U=g(a.gauge.bar.thickness),O=f.selectAll("g.value-arc").data([a.gauge.bar]);O.enter().append("g").classed("value-arc",!0).append("path");var R=O.select("path");G6(v)?(R.transition().duration(v.duration).ease(v.easing).each("end",function(){d&&d()}).each("interrupt",function(){d&&d()}).attrTween("d",WHt(U,x(r[0].lastY),x(r[0].y))),a._lastValue=r[0].y):R.attr("d",typeof r[0].y=="number"?U.endAngle(x(r[0].y)):"M0,0Z"),R.call(B2),O.exit().remove(),z=[];var B=a.gauge.threshold.value;(B||B===0)&&z.push({range:[B,B],color:a.gauge.threshold.color,line:{color:a.gauge.threshold.line.color,width:a.gauge.threshold.line.width},thickness:a.gauge.threshold.thickness});var Y=f.selectAll("g.threshold-arc").data(z);Y.enter().append("g").classed("threshold-arc",!0).append("path"),Y.select("path").call(E).call(B2),Y.exit().remove();var X=f.selectAll("g.gauge-outline").data([u]);X.enter().append("g").classed("gauge-outline",!0).append("path"),X.select("path").call(E).call(B2),X.exit().remove()}function jHt(e,t,r,n){var a=r[0].trace,i=n.numbersX,o=n.numbersY,s=a.align||"center",l=jY[s],u=n.transitionOpts,c=n.onComplete,f=gy.ensureSingle(t,"g","numbers"),h,v,d,m=[];a._hasNumber&&m.push("number"),a._hasDelta&&(m.push("delta"),a.delta.position==="left"&&m.reverse());var x=f.selectAll("text").data(m);x.enter().append("text"),x.attr("text-anchor",function(){return l}).attr("class",function(A){return A}).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),x.exit().remove();function g(A,P,D,z){if(A.match("s")&&D>=0!=z>=0&&!P(D).slice(-1).match(PVe)&&!P(z).slice(-1).match(PVe)){var q=A.slice().replace("s","f").replace(/\d+/,function(O){return parseInt(O)-1}),U=U6(e,{tickformat:q});return function(O){return Math.abs(O)<1?Ch.tickText(U,O).text:P(O)}}else return P}function E(){var A=U6(e,{tickformat:a.number.valueformat},a._range);A.setScale(),Ch.prepTicks(A);var P=function(O){return Ch.tickText(A,O).text},D=a.number.suffix,z=a.number.prefix,q=f.select("text.number");function U(){var O=typeof r[0].y=="number"?z+P(r[0].y)+D:"-";q.text(O).call(O2.font,a.number.font).call(LF.convertToTspans,e)}return G6(u)?q.transition().duration(u.duration).ease(u.easing).each("end",function(){U(),c&&c()}).each("interrupt",function(){U(),c&&c()}).attrTween("text",function(){var O=N2.select(this),R=FVe(r[0].lastY,r[0].y);a._lastValue=r[0].y;var B=g(a.number.valueformat,P,r[0].lastY,r[0].y);return function(Y){O.text(z+B(R(Y))+D)}}):U(),h=RVe(z+P(r[0].y)+D,a.number.font,l,e),q}function M(){var A=U6(e,{tickformat:a.delta.valueformat},a._range);A.setScale(),Ch.prepTicks(A);var P=function(Y){return Ch.tickText(A,Y).text},D=a.delta.suffix,z=a.delta.prefix,q=function(Y){var X=a.delta.relative?Y.relativeDelta:Y.delta;return X},U=function(Y,X){return Y===0||typeof Y!="number"||isNaN(Y)?"-":(Y>0?a.delta.increasing.symbol:a.delta.decreasing.symbol)+z+X(Y)+D},O=function(Y){return Y.delta>=0?a.delta.increasing.color:a.delta.decreasing.color};a._deltaLastValue===void 0&&(a._deltaLastValue=q(r[0]));var R=f.select("text.delta");R.call(O2.font,a.delta.font).call(Bw.fill,O({delta:a._deltaLastValue}));function B(){R.text(U(q(r[0]),P)).call(Bw.fill,O(r[0])).call(LF.convertToTspans,e)}return G6(u)?R.transition().duration(u.duration).ease(u.easing).tween("text",function(){var Y=N2.select(this),X=q(r[0]),te=a._deltaLastValue,se=g(a.delta.valueformat,P,te,X),ue=FVe(te,X);return a._deltaLastValue=X,function(re){Y.text(U(ue(re),se)),Y.call(Bw.fill,O({delta:ue(re)}))}}).each("end",function(){B(),c&&c()}).each("interrupt",function(){B(),c&&c()}):B(),v=RVe(U(q(r[0]),P),a.delta.font,l,e),R}var w=a.mode+a.align,k;if(a._hasDelta&&(k=M(),w+=a.delta.position+a.delta.font.size+a.delta.font.family+a.delta.valueformat,w+=a.delta.increasing.symbol+a.delta.decreasing.symbol,d=v),a._hasNumber&&(E(),w+=a.number.font.size+a.number.font.family+a.number.valueformat+a.number.suffix+a.number.prefix,d=h),a._hasDelta&&a._hasNumber){var y=[(h.left+h.right)/2,(h.top+h.bottom)/2],S=[(v.left+v.right)/2,(v.top+v.bottom)/2],T,p,C=.75*a.delta.font.size;a.delta.position==="left"&&(T=CF(a,"deltaPos",0,-1*(h.width*q2[a.align]+v.width*(1-q2[a.align])+C),w,Math.min),p=y[1]-S[1],d={width:h.width+v.width+C,height:Math.max(h.height,v.height),left:v.left+T,right:h.right,top:Math.min(h.top,v.top+p),bottom:Math.max(h.bottom,v.bottom+p)}),a.delta.position==="right"&&(T=CF(a,"deltaPos",0,h.width*(1-q2[a.align])+v.width*q2[a.align]+C,w,Math.max),p=y[1]-S[1],d={width:h.width+v.width+C,height:Math.max(h.height,v.height),left:h.left,right:v.right+T,top:Math.min(h.top,v.top+p),bottom:Math.max(h.bottom,v.bottom+p)}),a.delta.position==="bottom"&&(T=null,p=v.height,d={width:Math.max(h.width,v.width),height:h.height+v.height,left:Math.min(h.left,v.left),right:Math.max(h.right,v.right),top:h.bottom-h.height,bottom:h.bottom+v.height}),a.delta.position==="top"&&(T=null,p=h.top,d={width:Math.max(h.width,v.width),height:h.height+v.height,left:Math.min(h.left,v.left),right:Math.max(h.right,v.right),top:h.bottom-h.height-v.height,bottom:h.bottom}),k.attr({dx:T,dy:p})}(a._hasNumber||a._hasDelta)&&f.attr("transform",function(){var A=n.numbersScaler(d);w+=A[2];var P=CF(a,"numbersScale",1,A[0],w,Math.min),D;a._scaleNumbers||(P=1),a._isAngular?D=o-P*d.bottom:D=o-P*(d.top+d.bottom)/2,a._numbersTop=P*d.top+D;var z=d[s];s==="center"&&(z=(d.left+d.right)/2);var q=i-P*z;return q=CF(a,"numbersTranslate",0,q,w,Math.max),V6(q,D)+qHt(P)})}function B2(e){e.each(function(t){Bw.stroke(N2.select(this),t.line.color)}).each(function(t){Bw.fill(N2.select(this),t.color)}).style("stroke-width",function(t){return t.line.width})}function WHt(e,t,r){return function(){var n=zHt(t,r);return function(a){return e.endAngle(n(a))()}}}function U6(e,t,r){var n=e._fullLayout,a=gy.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},t),i={type:"linear",_id:"x"+t._id},o={letter:"x",font:n.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function s(l,u){return gy.coerce(a,i,VHt,l,u)}return NHt(a,i,s,o,n),UHt(a,i,s,o),i}function DVe(e,t,r){var n=Math.min(t/e.width,r/e.height);return[n,e,t+"x"+r]}function YHt(e,t){var r=Math.sqrt(e.width/2*(e.width/2)+e.height*e.height),n=t/r;return[n,e,t]}function RVe(e,t,r,n){var a=document.createElementNS("http://www.w3.org/2000/svg","text"),i=N2.select(a);return i.text(e).attr("x",0).attr("y",0).attr("text-anchor",r).attr("data-unformatted",e).call(LF.convertToTspans,n).call(O2.font,t),O2.bBox(i.node())}function CF(e,t,r,n,a,i){var o="_cache"+t;e[o]&&e[o].key===a||(e[o]={key:a,value:r});var s=gy.aggNums(i,null,[e[o].value,n],2);return e[o].value=s,s}});var BVe=ne((xmr,qVe)=>{"use strict";qVe.exports={moduleType:"trace",name:"indicator",basePlotModule:yVe(),categories:["svg","noOpacity","noHover"],animatable:!0,attributes:GY(),supplyDefaults:kVe().supplyDefaults,calc:LVe().calc,plot:zVe(),meta:{}}});var NVe=ne((bmr,OVe)=>{"use strict";OVe.exports=BVe()});var WY=ne((wmr,HVe)=>{"use strict";var UVe=om(),FF=ci().extendFlat,XHt=Il().overrideAll,VVe=pl(),ZHt=zl().attributes,GVe=Wl().descriptionOnlyNumbers,_mr=HVe.exports=XHt({domain:ZHt({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:GVe("cell value")},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:28},align:FF({},UVe.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:FF({},VVe({arrayOk:!0}))},cells:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[],description:GVe("cell value")},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:20},align:FF({},UVe.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:FF({},VVe({arrayOk:!0}))}},"calc","from-root")});var WVe=ne((Tmr,jVe)=>{"use strict";var YY=Zt(),$Ht=WY(),KHt=zl().defaults;function JHt(e,t){for(var r=e.columnorder||[],n=e.header.values.length,a=r.slice(0,n),i=a.slice().sort(function(l,u){return l-u}),o=a.map(function(l){return i.indexOf(l)}),s=o.length;s{"use strict";var QHt=c1().wrap;YVe.exports=function(){return QHt({})}});var XY=ne((Mmr,ZVe)=>{"use strict";ZVe.exports={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\$.*\$$/,goldenRatio:1.618,lineBreaker:"
",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"}}});var aGe=ne((Smr,nGe)=>{"use strict";var $Ve=XY(),$Y=ci().extendFlat,ejt=mi(),tjt=Ih().isTypedArray,PF=Ih().isArrayOrTypedArray;nGe.exports=function(t,r){var n=ZY(r.cells.values),a=function(p){return p.slice(r.header.values.length,p.length)},i=ZY(r.header.values);i.length&&!i[0].length&&(i[0]=[""],i=ZY(i));var o=i.concat(a(n).map(function(){return rGe((i[0]||[""]).length)})),s=r.domain,l=Math.floor(t._fullLayout._size.w*(s.x[1]-s.x[0])),u=Math.floor(t._fullLayout._size.h*(s.y[1]-s.y[0])),c=r.header.values.length?o[0].map(function(){return r.header.height}):[$Ve.emptyHeaderHeight],f=n.length?n[0].map(function(){return r.cells.height}):[],h=c.reduce(KVe,0),v=u-h,d=v+$Ve.uplift,m=eGe(f,d),x=eGe(c,h),g=QVe(x,[]),E=QVe(m,g),M={},w=r.columnorder;PF(w)&&(w=Array.from(w)),w=w.concat(a(n.map(function(p,C){return C})));var k=o.map(function(p,C){var A=PF(r.columnwidth)?r.columnwidth[Math.min(C,r.columnwidth.length-1)]:r.columnwidth;return ejt(A)?Number(A):1}),y=k.reduce(KVe,0);k=k.map(function(p){return p/y*l});var S=Math.max(KY(r.header.line.width),KY(r.cells.line.width)),T={key:r.uid+t._context.staticPlot,translateX:s.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-s.y[1]),size:t._fullLayout._size,width:l,maxLineWidth:S,height:u,columnOrder:w,groupHeight:u,rowBlocks:E,headerRowBlocks:g,scrollY:0,cells:$Y({},r.cells,{values:n}),headerCells:$Y({},r.header,{values:o}),gdColumns:o.map(function(p){return p[0]}),gdColumnsOriginalOrder:o.map(function(p){return p[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:o.map(function(p,C){var A=M[p];M[p]=(A||0)+1;var P=p+"__"+M[p];return{key:P,label:p,specIndex:C,xIndex:w[C],xScale:JVe,x:void 0,calcdata:void 0,columnWidth:k[C]}})};return T.columns.forEach(function(p){p.calcdata=T,p.x=JVe(p)}),T};function KY(e){if(PF(e)){for(var t=0,r=0;r=t||u===e.length-1)&&(r[a]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=u,o=tGe(),a+=i,s=u+1,i=0);return r}function tGe(){return{firstRowIndex:null,lastRowIndex:null,rows:[]}}});var iGe=ne(JY=>{"use strict";var DF=ci().extendFlat;JY.splitToPanels=function(e){var t=[0,0],r=DF({},e,{key:"header",type:"header",page:0,prevPages:t,currentRepaint:[null,null],dragHandle:!0,values:e.calcdata.headerCells.values[e.specIndex],rowBlocks:e.calcdata.headerRowBlocks,calcdata:DF({},e.calcdata,{cells:e.calcdata.headerCells})}),n=DF({},e,{key:"cells1",type:"cells",page:0,prevPages:t,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks}),a=DF({},e,{key:"cells2",type:"cells",page:1,prevPages:t,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks});return[n,a,r]};JY.splitToCells=function(e){var t=rjt(e);return(e.values||[]).slice(t[0],t[1]).map(function(r,n){var a=typeof r=="string"&&r.match(/[<$&> ]/)?"_keybuster_"+Math.random():"";return{keyWithinBlock:n+a,key:t[0]+n,column:e,calcdata:e.calcdata,page:e.page,rowBlocks:e.rowBlocks,value:r}})};function rjt(e){var t=e.rowBlocks[e.page],r=t?t.rows[0].rowIndex:0,n=t?r+t.rows.length:0;return[r,n]}});var lX=ne((kmr,gGe)=>{"use strict";var Na=XY(),$l=Ea(),QY=Zt(),njt=QY.numberFormat,$s=c1(),eX=li(),ajt=Ms(),ijt=Zt().raiseToTop,_0=Zt().strTranslate,ojt=Zt().cancelTransition,sjt=aGe(),hGe=iGe(),oGe=_a();gGe.exports=function(t,r){var n=!t._context.staticPlot,a=t._fullLayout._paper.selectAll("."+Na.cn.table).data(r.map(function(E){var M=$s.unwrap(E),w=M.trace;return sjt(t,w)}),$s.keyFun);a.exit().remove(),a.enter().append("g").classed(Na.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"),a.attr("width",function(E){return E.width+E.size.l+E.size.r}).attr("height",function(E){return E.height+E.size.t+E.size.b}).attr("transform",function(E){return _0(E.translateX,E.translateY)});var i=a.selectAll("."+Na.cn.tableControlView).data($s.repeat,$s.keyFun),o=i.enter().append("g").classed(Na.cn.tableControlView,!0).style("box-sizing","content-box");if(n){var s="onwheel"in document?"wheel":"mousewheel";o.on("mousemove",function(E){i.filter(function(M){return E===M}).call(H6,t)}).on(s,function(E){if(!E.scrollbarState.wheeling){E.scrollbarState.wheeling=!0;var M=E.scrollY+$l.event.deltaY,w=IF(t,i,null,M)(E);w||($l.event.stopPropagation(),$l.event.preventDefault()),E.scrollbarState.wheeling=!1}}).call(H6,t,!0)}i.attr("transform",function(E){return _0(E.size.l,E.size.t)});var l=i.selectAll("."+Na.cn.scrollBackground).data($s.repeat,$s.keyFun);l.enter().append("rect").classed(Na.cn.scrollBackground,!0).attr("fill","none"),l.attr("width",function(E){return E.width}).attr("height",function(E){return E.height}),i.each(function(E){eX.setClipUrl($l.select(this),sGe(t,E),t)});var u=i.selectAll("."+Na.cn.yColumn).data(function(E){return E.columns},$s.keyFun);u.enter().append("g").classed(Na.cn.yColumn,!0),u.exit().remove(),u.attr("transform",function(E){return _0(E.x,0)}),n&&u.call($l.behavior.drag().origin(function(E){var M=$l.select(this);return cGe(M,E,-Na.uplift),ijt(this),E.calcdata.columnDragInProgress=!0,H6(i.filter(function(w){return E.calcdata.key===w.key}),t),E}).on("drag",function(E){var M=$l.select(this),w=function(S){return(E===S?$l.event.x:S.x)+S.columnWidth/2};E.x=Math.max(-Na.overdrag,Math.min(E.calcdata.width+Na.overdrag-E.columnWidth,$l.event.x));var k=dGe(u).filter(function(S){return S.calcdata.key===E.calcdata.key}),y=k.sort(function(S,T){return w(S)-w(T)});y.forEach(function(S,T){S.xIndex=T,S.x=E===S?S.x:S.xScale(S)}),u.filter(function(S){return E!==S}).transition().ease(Na.transitionEase).duration(Na.transitionDuration).attr("transform",function(S){return _0(S.x,0)}),M.call(ojt).attr("transform",_0(E.x,-Na.uplift))}).on("dragend",function(E){var M=$l.select(this),w=E.calcdata;E.x=E.xScale(E),E.calcdata.columnDragInProgress=!1,cGe(M,E,0),mjt(t,w,w.columns.map(function(k){return k.xIndex}))})),u.each(function(E){eX.setClipUrl($l.select(this),lGe(t,E),t)});var c=u.selectAll("."+Na.cn.columnBlock).data(hGe.splitToPanels,$s.keyFun);c.enter().append("g").classed(Na.cn.columnBlock,!0).attr("id",function(E){return E.key}),c.style("cursor",function(E){return E.dragHandle?"ew-resize":E.calcdata.scrollbarState.barWiggleRoom?"ns-resize":"default"});var f=c.filter(yjt),h=c.filter(iX);n&&h.call($l.behavior.drag().origin(function(E){return $l.event.stopPropagation(),E}).on("drag",IF(t,i,-1)).on("dragend",function(){})),tX(t,i,f,c),tX(t,i,h,c);var v=i.selectAll("."+Na.cn.scrollAreaClip).data($s.repeat,$s.keyFun);v.enter().append("clipPath").classed(Na.cn.scrollAreaClip,!0).attr("id",function(E){return sGe(t,E)});var d=v.selectAll("."+Na.cn.scrollAreaClipRect).data($s.repeat,$s.keyFun);d.enter().append("rect").classed(Na.cn.scrollAreaClipRect,!0).attr("x",-Na.overdrag).attr("y",-Na.uplift).attr("fill","none"),d.attr("width",function(E){return E.width+2*Na.overdrag}).attr("height",function(E){return E.height+Na.uplift});var m=u.selectAll("."+Na.cn.columnBoundary).data($s.repeat,$s.keyFun);m.enter().append("g").classed(Na.cn.columnBoundary,!0);var x=u.selectAll("."+Na.cn.columnBoundaryClippath).data($s.repeat,$s.keyFun);x.enter().append("clipPath").classed(Na.cn.columnBoundaryClippath,!0),x.attr("id",function(E){return lGe(t,E)});var g=x.selectAll("."+Na.cn.columnBoundaryRect).data($s.repeat,$s.keyFun);g.enter().append("rect").classed(Na.cn.columnBoundaryRect,!0).attr("fill","none"),g.attr("width",function(E){return E.columnWidth+2*RF(E)}).attr("height",function(E){return E.calcdata.height+2*RF(E)+Na.uplift}).attr("x",function(E){return-RF(E)}).attr("y",function(E){return-RF(E)}),oX(null,h,i)};function RF(e){return Math.ceil(e.calcdata.maxLineWidth/2)}function sGe(e,t){return"clip"+e._fullLayout._uid+"_scrollAreaBottomClip_"+t.key}function lGe(e,t){return"clip"+e._fullLayout._uid+"_columnBoundaryClippath_"+t.calcdata.key+"_"+t.specIndex}function dGe(e){return[].concat.apply([],e.map(function(t){return t})).map(function(t){return t.__data__})}function H6(e,t,r){function n(u){var c=u.rowBlocks;return nX(c,c.length-1)+(c.length?zF(c[c.length-1],1/0):1)}var a=e.selectAll("."+Na.cn.scrollbarKit).data($s.repeat,$s.keyFun);a.enter().append("g").classed(Na.cn.scrollbarKit,!0).style("shape-rendering","geometricPrecision"),a.each(function(u){var c=u.scrollbarState;c.totalHeight=n(u),c.scrollableAreaHeight=u.groupHeight-rX(u),c.currentlyVisibleHeight=Math.min(c.totalHeight,c.scrollableAreaHeight),c.ratio=c.currentlyVisibleHeight/c.totalHeight,c.barLength=Math.max(c.ratio*c.currentlyVisibleHeight,Na.goldenRatio*Na.scrollbarWidth),c.barWiggleRoom=c.currentlyVisibleHeight-c.barLength,c.wiggleRoom=Math.max(0,c.totalHeight-c.scrollableAreaHeight),c.topY=c.barWiggleRoom===0?0:u.scrollY/c.wiggleRoom*c.barWiggleRoom,c.bottomY=c.topY+c.barLength,c.dragMultiplier=c.wiggleRoom/c.barWiggleRoom}).attr("transform",function(u){var c=u.width+Na.scrollbarWidth/2+Na.scrollbarOffset;return _0(c,rX(u))});var i=a.selectAll("."+Na.cn.scrollbar).data($s.repeat,$s.keyFun);i.enter().append("g").classed(Na.cn.scrollbar,!0);var o=i.selectAll("."+Na.cn.scrollbarSlider).data($s.repeat,$s.keyFun);o.enter().append("g").classed(Na.cn.scrollbarSlider,!0),o.attr("transform",function(u){return _0(0,u.scrollbarState.topY||0)});var s=o.selectAll("."+Na.cn.scrollbarGlyph).data($s.repeat,$s.keyFun);s.enter().append("line").classed(Na.cn.scrollbarGlyph,!0).attr("stroke","black").attr("stroke-width",Na.scrollbarWidth).attr("stroke-linecap","round").attr("y1",Na.scrollbarWidth/2),s.attr("y2",function(u){return u.scrollbarState.barLength-Na.scrollbarWidth/2}).attr("stroke-opacity",function(u){return u.columnDragInProgress||!u.scrollbarState.barWiggleRoom||r?0:.4}),s.transition().delay(0).duration(0),s.transition().delay(Na.scrollbarHideDelay).duration(Na.scrollbarHideDuration).attr("stroke-opacity",0);var l=i.selectAll("."+Na.cn.scrollbarCaptureZone).data($s.repeat,$s.keyFun);l.enter().append("line").classed(Na.cn.scrollbarCaptureZone,!0).attr("stroke","white").attr("stroke-opacity",.01).attr("stroke-width",Na.scrollbarCaptureWidth).attr("stroke-linecap","butt").attr("y1",0).on("mousedown",function(u){var c=$l.event.y,f=this.getBoundingClientRect(),h=u.scrollbarState,v=c-f.top,d=$l.scale.linear().domain([0,h.scrollableAreaHeight]).range([0,h.totalHeight]).clamp(!0);h.topY<=v&&v<=h.bottomY||IF(t,e,null,d(v-h.barLength/2))(u)}).call($l.behavior.drag().origin(function(u){return $l.event.stopPropagation(),u.scrollbarState.scrollbarScrollInProgress=!0,u}).on("drag",IF(t,e)).on("dragend",function(){})),l.attr("y2",function(u){return u.scrollbarState.scrollableAreaHeight}),t._context.staticPlot&&(s.remove(),l.remove())}function tX(e,t,r,n){var a=ljt(r),i=ujt(a);djt(i);var o=cjt(i);pjt(o);var s=hjt(i),l=fjt(s);vjt(l),vGe(l,t,n,e),sX(i)}function ljt(e){var t=e.selectAll("."+Na.cn.columnCells).data($s.repeat,$s.keyFun);return t.enter().append("g").classed(Na.cn.columnCells,!0),t.exit().remove(),t}function ujt(e){var t=e.selectAll("."+Na.cn.columnCell).data(hGe.splitToCells,function(r){return r.keyWithinBlock});return t.enter().append("g").classed(Na.cn.columnCell,!0),t.exit().remove(),t}function cjt(e){var t=e.selectAll("."+Na.cn.cellRect).data($s.repeat,function(r){return r.keyWithinBlock});return t.enter().append("rect").classed(Na.cn.cellRect,!0),t}function fjt(e){var t=e.selectAll("."+Na.cn.cellText).data($s.repeat,function(r){return r.keyWithinBlock});return t.enter().append("text").classed(Na.cn.cellText,!0).style("cursor",function(){return"auto"}).on("mousedown",function(){$l.event.stopPropagation()}),t}function hjt(e){var t=e.selectAll("."+Na.cn.cellTextHolder).data($s.repeat,function(r){return r.keyWithinBlock});return t.enter().append("g").classed(Na.cn.cellTextHolder,!0).style("shape-rendering","geometricPrecision"),t}function djt(e){e.each(function(t,r){var n=t.calcdata.cells.font,a=t.column.specIndex,i={size:yd(n.size,a,r),color:yd(n.color,a,r),family:yd(n.family,a,r),weight:yd(n.weight,a,r),style:yd(n.style,a,r),variant:yd(n.variant,a,r),textcase:yd(n.textcase,a,r),lineposition:yd(n.lineposition,a,r),shadow:yd(n.shadow,a,r)};t.rowNumber=t.key,t.align=yd(t.calcdata.cells.align,a,r),t.cellBorderWidth=yd(t.calcdata.cells.line.width,a,r),t.font=i})}function vjt(e){e.each(function(t){eX.font($l.select(this),t.font)})}function pjt(e){e.attr("width",function(t){return t.column.columnWidth}).attr("stroke-width",function(t){return t.cellBorderWidth}).each(function(t){var r=$l.select(this);oGe.stroke(r,yd(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),oGe.fill(r,yd(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}function vGe(e,t,r,n){e.text(function(a){var i=a.column.specIndex,o=a.rowNumber,s=a.value,l=typeof s=="string",u=l&&s.match(/
/i),c=!l||u;a.mayHaveMarkup=l&&s.match(/[<&>]/);var f=gjt(s);a.latex=f;var h=f?"":yd(a.calcdata.cells.prefix,i,o)||"",v=f?"":yd(a.calcdata.cells.suffix,i,o)||"",d=f?null:yd(a.calcdata.cells.format,i,o)||null,m=h+(d?njt(d)(a.value):a.value)+v,x;a.wrappingNeeded=!a.wrapped&&!c&&!f&&(x=uGe(m)),a.cellHeightMayIncrease=u||f||a.mayHaveMarkup||(x===void 0?uGe(m):x),a.needsConvertToTspans=a.mayHaveMarkup||a.wrappingNeeded||a.latex;var g;if(a.wrappingNeeded){var E=Na.wrapSplitCharacter===" "?m.replace(/a&&n.push(i),a+=l}return n}function oX(e,t,r){var n=dGe(t)[0];if(n!==void 0){var a=n.rowBlocks,i=n.calcdata,o=nX(a,a.length),s=n.calcdata.groupHeight-rX(n),l=i.scrollY=Math.max(0,Math.min(o-s,i.scrollY)),u=xjt(a,l,s);u.length===1&&(u[0]===a.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),t.each(function(c,f){c.page=u[f],c.scrollY=l}),t.attr("transform",function(c){var f=nX(c.rowBlocks,c.page)-c.scrollY;return _0(0,f)}),e&&(fGe(e,r,t,u,n.prevPages,n,0),fGe(e,r,t,u,n.prevPages,n,1),H6(r,e))}}function IF(e,t,r,n){return function(i){var o=i.calcdata?i.calcdata:i,s=t.filter(function(f){return o.key===f.key}),l=r||o.scrollbarState.dragMultiplier,u=o.scrollY;o.scrollY=n===void 0?o.scrollY+l*$l.event.dy:n;var c=s.selectAll("."+Na.cn.yColumn).selectAll("."+Na.cn.columnBlock).filter(iX);return oX(e,c,s),o.scrollY===u}}function fGe(e,t,r,n,a,i,o){var s=n[o]!==a[o];s&&(clearTimeout(i.currentRepaint[o]),i.currentRepaint[o]=setTimeout(function(){var l=r.filter(function(u,c){return c===o&&n[c]!==a[c]});tX(e,t,l,r),a[o]=n[o]}))}function bjt(e,t,r,n){return function(){var i=$l.select(t.parentNode);i.each(function(o){var s=o.fragments;i.selectAll("tspan.line").each(function(m,x){s[x].width=this.getComputedTextLength()});var l=s[s.length-1].width,u=s.slice(0,-1),c=[],f,h,v=0,d=o.column.columnWidth-2*Na.cellPad;for(o.value="";u.length;)f=u.shift(),h=f.width+l,v+h>d&&(o.value+=c.join(Na.wrapSpacer)+Na.lineBreaker,c=[],v=0),c.push(f.text),v+=h;v&&(o.value+=c.join(Na.wrapSpacer)),o.wrapped=!0}),i.selectAll("tspan.line").remove(),vGe(i.select("."+Na.cn.cellText),r,e,n),$l.select(t.parentNode.parentNode).call(sX)}}function _jt(e,t,r,n,a){return function(){if(!a.settledY){var o=$l.select(t.parentNode),s=aX(a),l=a.key-s.firstRowIndex,u=s.rows[l].rowHeight,c=a.cellHeightMayIncrease?t.parentNode.getBoundingClientRect().height+2*Na.cellPad:u,f=Math.max(c,u),h=f-s.rows[l].rowHeight;h&&(s.rows[l].rowHeight=f,e.selectAll("."+Na.cn.columnCell).call(sX),oX(null,e.filter(iX),0),H6(r,n,!0)),o.attr("transform",function(){var v=this,d=v.parentNode,m=d.getBoundingClientRect(),x=$l.select(v.parentNode).select("."+Na.cn.cellRect).node().getBoundingClientRect(),g=v.transform.baseVal.consolidate(),E=x.top-m.top+(g?g.matrix.f:Na.cellPad);return _0(pGe(a,$l.select(v.parentNode).select("."+Na.cn.cellTextHolder).node().getBoundingClientRect().width),E)}),a.settledY=!0}}}function pGe(e,t){switch(e.align){case"left":return Na.cellPad;case"right":return e.column.columnWidth-(t||0)-Na.cellPad;case"center":return(e.column.columnWidth-(t||0))/2;default:return Na.cellPad}}function sX(e){e.attr("transform",function(t){var r=t.rowBlocks[0].auxiliaryBlocks.reduce(function(o,s){return o+zF(s,1/0)},0),n=aX(t),a=zF(n,t.key),i=a+r;return _0(0,i)}).selectAll("."+Na.cn.cellRect).attr("height",function(t){return Tjt(aX(t),t.key).rowHeight})}function nX(e,t){for(var r=0,n=t-1;n>=0;n--)r+=wjt(e[n]);return r}function zF(e,t){for(var r=0,n=0;n{"use strict";var Ajt=mh().getModuleCalcData,Mjt=lX(),qF="table";BF.name=qF;BF.plot=function(e){var t=Ajt(e.calcdata,qF)[0];t.length&&Mjt(e,t)};BF.clean=function(e,t,r,n){var a=n._has&&n._has(qF),i=t._has&&t._has(qF);a&&!i&&n._paperdiv.selectAll(".table").remove()}});var xGe=ne((Lmr,yGe)=>{"use strict";yGe.exports={attributes:WY(),supplyDefaults:WVe(),calc:XVe(),plot:lX(),moduleType:"trace",name:"table",basePlotModule:mGe(),categories:["noOpacity"],meta:{}}});var _Ge=ne((Fmr,bGe)=>{"use strict";bGe.exports=xGe()});var SGe=ne((Pmr,MGe)=>{"use strict";var wGe=pl(),TGe=Ic(),uX=Wf(),Sjt=Wl().descriptionWithDates,Ejt=Il().overrideAll,AGe=xf().dash,cX=ci().extendFlat;MGe.exports={color:{valType:"color",editType:"calc"},smoothing:{valType:"number",dflt:1,min:0,max:1.3,editType:"calc"},title:{text:{valType:"string",dflt:"",editType:"calc"},font:wGe({editType:"calc"}),offset:{valType:"number",dflt:10,editType:"calc"},editType:"calc"},type:{valType:"enumerated",values:["-","linear","date","category"],dflt:"-",editType:"calc"},autotypenumbers:uX.autotypenumbers,autorange:{valType:"enumerated",values:[!0,!1,"reversed"],dflt:!0,editType:"calc"},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"calc"},range:{valType:"info_array",editType:"calc",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}]},fixedrange:{valType:"boolean",dflt:!1,editType:"calc"},cheatertype:{valType:"enumerated",values:["index","value"],dflt:"value",editType:"calc"},tickmode:{valType:"enumerated",values:["linear","array"],dflt:"array",editType:"calc"},nticks:{valType:"integer",min:0,dflt:0,editType:"calc"},tickvals:{valType:"data_array",editType:"calc"},ticktext:{valType:"data_array",editType:"calc"},showticklabels:{valType:"enumerated",values:["start","end","both","none"],dflt:"start",editType:"calc"},labelalias:cX({},uX.labelalias,{editType:"calc"}),tickfont:wGe({editType:"calc"}),tickangle:{valType:"angle",dflt:"auto",editType:"calc"},tickprefix:{valType:"string",dflt:"",editType:"calc"},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},ticksuffix:{valType:"string",dflt:"",editType:"calc"},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B","SI extended"],dflt:"B",editType:"calc"},minexponent:{valType:"number",dflt:3,min:0,editType:"calc"},separatethousands:{valType:"boolean",dflt:!1,editType:"calc"},tickformat:{valType:"string",dflt:"",editType:"calc",description:Sjt("tick label")},tickformatstops:Ejt(uX.tickformatstops,"calc","from-root"),categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},labelpadding:{valType:"integer",dflt:10,editType:"calc"},labelprefix:{valType:"string",editType:"calc"},labelsuffix:{valType:"string",dflt:"",editType:"calc"},showline:{valType:"boolean",dflt:!1,editType:"calc"},linecolor:{valType:"color",dflt:TGe.defaultLine,editType:"calc"},linewidth:{valType:"number",min:0,dflt:1,editType:"calc"},gridcolor:{valType:"color",editType:"calc"},gridwidth:{valType:"number",min:0,dflt:1,editType:"calc"},griddash:cX({},AGe,{editType:"calc"}),showgrid:{valType:"boolean",dflt:!0,editType:"calc"},minorgridcount:{valType:"integer",min:0,dflt:0,editType:"calc"},minorgridwidth:{valType:"number",min:0,dflt:1,editType:"calc"},minorgriddash:cX({},AGe,{editType:"calc"}),minorgridcolor:{valType:"color",dflt:TGe.lightLine,editType:"calc"},startline:{valType:"boolean",editType:"calc"},startlinecolor:{valType:"color",editType:"calc"},startlinewidth:{valType:"number",dflt:1,editType:"calc"},endline:{valType:"boolean",editType:"calc"},endlinewidth:{valType:"number",dflt:1,editType:"calc"},endlinecolor:{valType:"color",editType:"calc"},tick0:{valType:"number",min:0,dflt:0,editType:"calc"},dtick:{valType:"number",min:0,dflt:1,editType:"calc"},arraytick0:{valType:"integer",min:0,dflt:0,editType:"calc"},arraydtick:{valType:"integer",min:1,dflt:1,editType:"calc"},editType:"calc"}});var NF=ne((Dmr,CGe)=>{"use strict";var kjt=pl(),EGe=SGe(),kGe=Ic(),OF=kjt({editType:"calc"}),Cjt=Tu().zorder;OF.family.dflt='"Open Sans", verdana, arial, sans-serif';OF.size.dflt=12;OF.color.dflt=kGe.defaultLine;CGe.exports={carpet:{valType:"string",editType:"calc"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},a:{valType:"data_array",editType:"calc"},a0:{valType:"number",dflt:0,editType:"calc"},da:{valType:"number",dflt:1,editType:"calc"},b:{valType:"data_array",editType:"calc"},b0:{valType:"number",dflt:0,editType:"calc"},db:{valType:"number",dflt:1,editType:"calc"},cheaterslope:{valType:"number",dflt:1,editType:"calc"},aaxis:EGe,baxis:EGe,font:OF,color:{valType:"color",dflt:kGe.defaultLine,editType:"plot"},zorder:Cjt}});var PGe=ne((Rmr,FGe)=>{"use strict";var LGe=Zt().isArray1D;FGe.exports=function(t,r,n){var a=n("x"),i=a&&a.length,o=n("y"),s=o&&o.length;if(!i&&!s)return!1;if(r._cheater=!a,(!i||LGe(a))&&(!s||LGe(o))){var l=i?a.length:1/0;s&&(l=Math.min(l,o.length)),r.a&&r.a.length&&(l=Math.min(l,r.a.length)),r.b&&r.b.length&&(l=Math.min(l,r.b.length)),r._length=l}else r._length=null;return!0}});var IGe=ne((Imr,RGe)=>{"use strict";var Ljt=NF(),DGe=_a().addOpacity,Fjt=Fa(),j6=Zt(),Pjt=Xy(),Djt=Hg(),Rjt=jg(),Ijt=mk(),zjt=Tp(),qjt=Wb();RGe.exports=function(t,r,n){var a=n.letter,i=n.font||{},o=Ljt[a+"axis"];function s(p,C){return j6.coerce(t,r,o,p,C)}function l(p,C){return j6.coerce2(t,r,o,p,C)}n.name&&(r._name=n.name,r._id=n.name),s("autotypenumbers",n.autotypenumbersDflt);var u=s("type");if(u==="-"&&(n.data&&Bjt(r,n.data),r.type==="-"?r.type="linear":u=t.type=r.type),s("smoothing"),s("cheatertype"),s("showticklabels"),s("labelprefix",a+" = "),s("labelsuffix"),s("showtickprefix"),s("showticksuffix"),s("separatethousands"),s("tickformat"),s("exponentformat"),s("minexponent"),s("showexponent"),s("categoryorder"),s("tickmode"),s("tickvals"),s("ticktext"),s("tick0"),s("dtick"),r.tickmode==="array"&&(s("arraytick0"),s("arraydtick")),s("labelpadding"),r._hovertitle=a,u==="date"){var c=Fjt.getComponentMethod("calendars","handleDefaults");c(t,r,"calendar",n.calendar)}zjt(r,n.fullLayout),r.c2p=j6.identity;var f=s("color",n.dfltColor),h=f===t.color?f:i.color,v=s("title.text");v&&(j6.coerceFont(s,"title.font",i,{overrideDflt:{size:j6.bigFont(i.size),color:h}}),s("title.offset")),s("tickangle");var d=s("autorange",!r.isValidRange(t.range));d&&s("rangemode"),s("range"),r.cleanRange(),s("fixedrange"),Pjt(t,r,s,u),Rjt(t,r,s,u,n),Djt(t,r,s,u,n),Ijt(t,r,s,{data:n.data,dataAttr:a});var m=s("gridcolor",DGe(f,.3)),x=l("gridwidth"),g=l("griddash"),E=s("showgrid");E||(delete r.gridcolor,delete r.gridwidth,delete r.griddash);var M=l("startlinecolor",f),w=l("startlinewidth",x),k=s("startline",r.showgrid||!!M||!!w);k||(delete r.startlinecolor,delete r.startlinewidth);var y=l("endlinecolor",f),S=l("endlinewidth",x),T=s("endline",r.showgrid||!!y||!!S);return T||(delete r.endlinecolor,delete r.endlinewidth),E?(s("minorgridcount"),s("minorgridwidth",x),s("minorgriddash",g),s("minorgridcolor",DGe(m,.06)),r.minorgridcount||(delete r.minorgridwidth,delete r.minorgriddash,delete r.minorgridcolor)):(delete r.gridcolor,delete r.gridwidth,delete r.griddash),r.showticklabels==="none"&&(delete r.tickfont,delete r.tickangle,delete r.showexponent,delete r.exponentformat,delete r.minexponent,delete r.tickformat,delete r.showticksuffix,delete r.showtickprefix),r.showticksuffix||delete r.ticksuffix,r.showtickprefix||delete r.tickprefix,s("tickmode"),r};function Bjt(e,t){if(e.type==="-"){var r=e._id,n=r.charAt(0),a=n+"calendar",i=e[a];e.type=qjt(t,i,{autotypenumbers:e.autotypenumbers})}}});var qGe=ne((zmr,zGe)=>{"use strict";var Ojt=IGe(),Njt=Bo();zGe.exports=function(t,r,n,a,i){var o=a("a");o||(a("da"),a("a0"));var s=a("b");s||(a("db"),a("b0")),Ujt(t,r,n,i)};function Ujt(e,t,r,n){var a=["aaxis","baxis"];a.forEach(function(i){var o=i.charAt(0),s=e[i]||{},l=Njt.newContainer(t,i),u={noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,noTicklabelstep:!0,tickfont:"x",id:o+"axis",letter:o,font:t.font,name:i,data:e[o],calendar:t.calendar,dfltColor:n,bgColor:r.paper_bgcolor,autotypenumbersDflt:r.autotypenumbers,fullLayout:r};Ojt(s,l,u),l._categories=l._categories||[],!e[i]&&s.type!=="-"&&(e[i]={type:s.type})})}});var NGe=ne((qmr,OGe)=>{"use strict";var BGe=Zt(),Vjt=PGe(),Gjt=qGe(),Hjt=NF(),jjt=Ic();OGe.exports=function(t,r,n,a){function i(l,u){return BGe.coerce(t,r,Hjt,l,u)}r._clipPathId="clip"+r.uid+"carpet";var o=i("color",jjt.defaultLine);if(BGe.coerceFont(i,"font",a.font),i("carpet"),Gjt(t,r,a,i,o),!r.a||!r.b){r.visible=!1;return}r.a.length<3&&(r.aaxis.smoothing=0),r.b.length<3&&(r.baxis.smoothing=0);var s=Vjt(t,r,i);s||(r.visible=!1),r._cheater&&i("cheaterslope"),i("zorder")}});var fX=ne((Bmr,UGe)=>{"use strict";var Wjt=Zt().isArrayOrTypedArray;UGe.exports=function(t,r,n){var a;for(Wjt(t)?t.length>r.length&&(t=t.slice(0,r.length)):t=[],a=0;a{"use strict";VGe.exports=function(t,r,n){if(t.length===0)return"";var a,i=[],o=n?3:1;for(a=0;a{"use strict";GGe.exports=function(t,r,n,a,i,o){var s=i[0]*t.dpdx(r),l=i[1]*t.dpdy(n),u=1,c=1;if(o){var f=Math.sqrt(i[0]*i[0]+i[1]*i[1]),h=Math.sqrt(o[0]*o[0]+o[1]*o[1]),v=(i[0]*o[0]+i[1]*o[1])/f/h;c=Math.max(0,v)}var d=Math.atan2(l,s)*180/Math.PI;return d<-90?(d+=180,u=-u):d>90&&(d-=180,u=-u),{angle:d,flip:u,p:t.c2p(a,r,n),offsetMultplier:c}}});var JGe=ne((Umr,KGe)=>{"use strict";var HF=Ea(),UF=li(),VF=fX(),YGe=hX(),W6=HGe(),dX=Ms(),av=Zt(),XGe=av.strRotate,GF=av.strTranslate,ZGe=qc();KGe.exports=function(t,r,n,a){var i=t._context.staticPlot,o=r.xaxis,s=r.yaxis,l=t._fullLayout,u=l._clips;av.makeTraceGroups(a,n,"trace").each(function(c){var f=HF.select(this),h=c[0],v=h.trace,d=v.aaxis,m=v.baxis,x=av.ensureSingle(f,"g","minorlayer"),g=av.ensureSingle(f,"g","majorlayer"),E=av.ensureSingle(f,"g","boundarylayer"),M=av.ensureSingle(f,"g","labellayer");f.style("opacity",v.opacity),Ow(o,s,g,d,"a",d._gridlines,!0,i),Ow(o,s,g,m,"b",m._gridlines,!0,i),Ow(o,s,x,d,"a",d._minorgridlines,!0,i),Ow(o,s,x,m,"b",m._minorgridlines,!0,i),Ow(o,s,E,d,"a-boundary",d._boundarylines,i),Ow(o,s,E,m,"b-boundary",m._boundarylines,i);var w=jGe(t,o,s,v,h,M,d._labels,"a-label"),k=jGe(t,o,s,v,h,M,m._labels,"b-label");Xjt(t,M,v,h,o,s,w,k),Yjt(v,h,u,o,s)})};function Yjt(e,t,r,n,a){var i,o,s,l,u=r.select("#"+e._clipPathId);u.size()||(u=r.append("clipPath").classed("carpetclip",!0));var c=av.ensureSingle(u,"path","carpetboundary"),f=t.clipsegments,h=[];for(l=0;l0?"start":"end","data-notex":1}).call(UF.font,f.font).text(f.text).call(dX.convertToTspans,e),g=UF.bBox(this);x.attr("transform",GF(v.p[0],v.p[1])+XGe(v.angle)+GF(f.axis.labelpadding*m,g.height*.3)),u=Math.max(u,g.width+f.axis.labelpadding)}),l.exit().remove(),c.maxExtent=u,c}function Xjt(e,t,r,n,a,i,o,s){var l,u,c,f,h=av.aggNums(Math.min,null,r.a),v=av.aggNums(Math.max,null,r.a),d=av.aggNums(Math.min,null,r.b),m=av.aggNums(Math.max,null,r.b);l=.5*(h+v),u=d,c=r.ab2xy(l,u,!0),f=r.dxyda_rough(l,u),o.angle===void 0&&av.extendFlat(o,W6(r,a,i,c,r.dxydb_rough(l,u))),WGe(e,t,r,n,c,f,r.aaxis,a,i,o,"a-title"),l=h,u=.5*(d+m),c=r.ab2xy(l,u,!0),f=r.dxydb_rough(l,u),s.angle===void 0&&av.extendFlat(s,W6(r,a,i,c,r.dxyda_rough(l,u))),WGe(e,t,r,n,c,f,r.baxis,a,i,s,"b-title")}var $Ge=ZGe.LINE_SPACING,Zjt=(1-ZGe.MID_SHIFT)/$Ge+1;function WGe(e,t,r,n,a,i,o,s,l,u,c){var f=[];o.title.text&&f.push(o.title.text);var h=t.selectAll("text."+c).data(f),v=u.maxExtent;h.enter().append("text").classed(c,!0),h.each(function(){var d=W6(r,s,l,a,i);["start","both"].indexOf(o.showticklabels)===-1&&(v=0);var m=o.title.font.size;v+=m+o.title.offset;var x=u.angle+(u.flip<0?180:0),g=(x-d.angle+450)%360,E=g>90&&g<270,M=HF.select(this);M.text(o.title.text).call(dX.convertToTspans,e),E&&(v=(-dX.lineCount(M)+Zjt)*$Ge*m-v),M.attr("transform",GF(d.p[0],d.p[1])+XGe(d.angle)+GF(0,v)).attr("text-anchor","middle").call(UF.font,o.title.font)}),h.exit().remove()}});var eHe=ne((Vmr,QGe)=>{"use strict";var jF=Zt().isArrayOrTypedArray;QGe.exports=function(e,t,r){var n,a,i,o,s,l,u=[],c=jF(e)?e.length:e,f=jF(t)?t.length:t,h=jF(e)?e:null,v=jF(t)?t:null;h&&(i=(h.length-1)/(h[h.length-1]-h[0])/(c-1)),v&&(o=(v.length-1)/(v[v.length-1]-v[0])/(f-1));var d,m=1/0,x=-1/0;for(a=0;a{"use strict";var tHe=Zt().isArrayOrTypedArray;nHe.exports=function(e){return rHe(e,0)};function rHe(e,t){if(!tHe(e)||t>=10)return null;for(var r=1/0,n=-1/0,a=e.length,i=0;i{"use strict";var $jt=ri(),my=ci().extendFlat;iHe.exports=function(t,r,n){var a,i,o,s,l,u,c,f,h,v,d,m,x,g,E=t["_"+r],M=t[r+"axis"],w=M._gridlines=[],k=M._minorgridlines=[],y=M._boundarylines=[],S=t["_"+n],T=t[n+"axis"];M.tickmode==="array"&&(M.tickvals=E.slice());var p=t._xctrl,C=t._yctrl,A=p[0].length,P=p.length,D=t._a.length,z=t._b.length;$jt.prepTicks(M),M.tickmode==="array"&&delete M.tickvals;var q=M.smoothing?3:1;function U(R){var B,Y,X,te,se,ue,re,j,fe,ce,oe,we,he=[],ye=[],Pe={};if(r==="b")for(Y=t.b2j(R),X=Math.floor(Math.max(0,Math.min(z-2,Y))),te=Y-X,Pe.length=z,Pe.crossLength=D,Pe.xy=function(le){return t.evalxy([],le,Y)},Pe.dxy=function(le,ze){return t.dxydi([],le,X,ze,te)},B=0;B0&&(fe=t.dxydi([],B-1,X,0,te),he.push(se[0]+fe[0]/3),ye.push(se[1]+fe[1]/3),ce=t.dxydi([],B-1,X,1,te),he.push(j[0]-ce[0]/3),ye.push(j[1]-ce[1]/3)),he.push(j[0]),ye.push(j[1]),se=j;else for(B=t.a2i(R),ue=Math.floor(Math.max(0,Math.min(D-2,B))),re=B-ue,Pe.length=D,Pe.crossLength=z,Pe.xy=function(le){return t.evalxy([],B,le)},Pe.dxy=function(le,ze){return t.dxydj([],ue,le,re,ze)},Y=0;Y0&&(oe=t.dxydj([],ue,Y-1,re,0),he.push(se[0]+oe[0]/3),ye.push(se[1]+oe[1]/3),we=t.dxydj([],ue,Y-1,re,1),he.push(j[0]-we[0]/3),ye.push(j[1]-we[1]/3)),he.push(j[0]),ye.push(j[1]),se=j;return Pe.axisLetter=r,Pe.axis=M,Pe.crossAxis=T,Pe.value=R,Pe.constvar=n,Pe.index=f,Pe.x=he,Pe.y=ye,Pe.smoothing=T.smoothing,Pe}function O(R){var B,Y,X,te,se,ue=[],re=[],j={};if(j.length=E.length,j.crossLength=S.length,r==="b")for(X=Math.max(0,Math.min(z-2,R)),se=Math.min(1,Math.max(0,R-X)),j.xy=function(fe){return t.evalxy([],fe,R)},j.dxy=function(fe,ce){return t.dxydi([],fe,X,ce,se)},B=0;BE.length-1)&&w.push(my(O(i),{color:M.gridcolor,width:M.gridwidth,dash:M.griddash}));for(f=u;fE.length-1)&&!(d<0||d>E.length-1))for(m=E[o],x=E[d],a=0;aE[E.length-1])&&k.push(my(U(v),{color:M.minorgridcolor,width:M.minorgridwidth,dash:M.minorgriddash})));M.startline&&y.push(my(O(0),{color:M.startlinecolor,width:M.startlinewidth})),M.endline&&y.push(my(O(E.length-1),{color:M.endlinecolor,width:M.endlinewidth}))}else{for(s=5e-15,l=[Math.floor((E[E.length-1]-M.tick0)/M.dtick*(1+s)),Math.ceil((E[0]-M.tick0)/M.dtick/(1+s))].sort(function(R,B){return R-B}),u=l[0],c=l[1],f=u;f<=c;f++)h=M.tick0+M.dtick*f,w.push(my(U(h),{color:M.gridcolor,width:M.gridwidth,dash:M.griddash}));for(f=u-1;fE[E.length-1])&&k.push(my(U(v),{color:M.minorgridcolor,width:M.minorgridwidth,dash:M.minorgriddash}));M.startline&&y.push(my(U(E[0]),{color:M.startlinecolor,width:M.startlinewidth})),M.endline&&y.push(my(U(E[E.length-1]),{color:M.endlinecolor,width:M.endlinewidth}))}}});var cHe=ne((jmr,uHe)=>{"use strict";var sHe=ri(),lHe=ci().extendFlat;uHe.exports=function(t,r){var n,a,i,o,s,l=r._labels=[],u=r._gridlines;for(n=0;n{"use strict";fHe.exports=function(t,r,n,a){var i,o,s,l=[],u=!!n.smoothing,c=!!a.smoothing,f=t[0].length-1,h=t.length-1;for(i=0,o=[],s=[];i<=f;i++)o[i]=t[0][i],s[i]=r[0][i];for(l.push({x:o,y:s,bicubic:u}),i=0,o=[],s=[];i<=h;i++)o[i]=t[i][f],s[i]=r[i][f];for(l.push({x:o,y:s,bicubic:c}),i=f,o=[],s=[];i>=0;i--)o[f-i]=t[h][i],s[f-i]=r[h][i];for(l.push({x:o,y:s,bicubic:u}),i=h,o=[],s=[];i>=0;i--)o[h-i]=t[i][0],s[h-i]=r[i][0];return l.push({x:o,y:s,bicubic:c}),l}});var vHe=ne((Ymr,dHe)=>{"use strict";var Kjt=Zt();dHe.exports=function(t,r,n){var a,i,o,s=[],l=[],u=t[0].length,c=t.length;function f(X,te){var se=0,ue,re=0;return X>0&&(ue=t[te][X-1])!==void 0&&(re++,se+=ue),X0&&(ue=t[te-1][X])!==void 0&&(re++,se+=ue),te0&&i0&&aT);return Kjt.log("Smoother converged to",p,"after",A,"iterations"),t}});var gHe=ne((Xmr,pHe)=>{"use strict";pHe.exports={RELATIVE_CULL_TOLERANCE:1e-6}});var xHe=ne((Zmr,yHe)=>{"use strict";var mHe=.5;yHe.exports=function(t,r,n,a){var i=t[0]-r[0],o=t[1]-r[1],s=n[0]-r[0],l=n[1]-r[1],u=Math.pow(i*i+o*o,mHe/2),c=Math.pow(s*s+l*l,mHe/2),f=(c*c*i-u*u*s)*a,h=(c*c*o-u*u*l)*a,v=c*(u+c)*3,d=u*(u+c)*3;return[[r[0]+(v&&f/v),r[1]+(v&&h/v)],[r[0]-(d&&f/d),r[1]-(d&&h/d)]]}});var _He=ne(($mr,bHe)=>{"use strict";var vX=xHe(),WF=Zt().ensureArray;function Nw(e,t,r){var n=-.5*r[0]+1.5*t[0],a=-.5*r[1]+1.5*t[1];return[(2*n+e[0])/3,(2*a+e[1])/3]}bHe.exports=function(t,r,n,a,i,o){var s,l,u,c,f,h,v,d,m,x,g=n[0].length,E=n.length,M=i?3*g-2:g,w=o?3*E-2:E;for(t=WF(t,w),r=WF(r,w),u=0;u{"use strict";wHe.exports=function(e,t,r,n,a){var i=t-2,o=r-2;return n&&a?function(s,l,u){s||(s=[]);var c,f,h,v,d,m,x=Math.max(0,Math.min(Math.floor(l),i)),g=Math.max(0,Math.min(Math.floor(u),o)),E=Math.max(0,Math.min(1,l-x)),M=Math.max(0,Math.min(1,u-g));x*=3,g*=3;var w=E*E,k=w*E,y=1-E,S=y*y,T=S*y,p=M*M,C=p*M,A=1-M,P=A*A,D=P*A;for(m=0;m{"use strict";AHe.exports=function(e,t,r){return t&&r?function(n,a,i,o,s){n||(n=[]);var l,u,c,f,h,v;a*=3,i*=3;var d=o*o,m=1-o,x=m*m,g=m*o*2,E=-3*x,M=3*(x-g),w=3*(g-d),k=3*d,y=s*s,S=y*s,T=1-s,p=T*T,C=p*T;for(v=0;v{"use strict";SHe.exports=function(e,t,r){return t&&r?function(n,a,i,o,s){n||(n=[]);var l,u,c,f,h,v;a*=3,i*=3;var d=o*o,m=d*o,x=1-o,g=x*x,E=g*x,M=s*s,w=1-s,k=w*w,y=w*s*2,S=-3*k,T=3*(k-y),p=3*(y-M),C=3*M;for(v=0;v{"use strict";var kHe=gHe(),CHe=HM().findBin,Jjt=_He(),Qjt=THe(),eWt=MHe(),tWt=EHe();LHe.exports=function(t){var r=t._a,n=t._b,a=r.length,i=n.length,o=t.aaxis,s=t.baxis,l=r[0],u=r[a-1],c=n[0],f=n[i-1],h=r[r.length-1]-r[0],v=n[n.length-1]-n[0],d=h*kHe.RELATIVE_CULL_TOLERANCE,m=v*kHe.RELATIVE_CULL_TOLERANCE;l-=d,u+=d,c-=m,f+=m,t.isVisible=function(x,g){return x>l&&xc&&gu||gf},t.setScale=function(){var x=t._x,g=t._y,E=Jjt(t._xctrl,t._yctrl,x,g,o.smoothing,s.smoothing);t._xctrl=E[0],t._yctrl=E[1],t.evalxy=Qjt([t._xctrl,t._yctrl],a,i,o.smoothing,s.smoothing),t.dxydi=eWt([t._xctrl,t._yctrl],o.smoothing,s.smoothing),t.dxydj=tWt([t._xctrl,t._yctrl],o.smoothing,s.smoothing)},t.i2a=function(x){var g=Math.max(0,Math.floor(x[0]),a-2),E=x[0]-g;return(1-E)*r[g]+E*r[g+1]},t.j2b=function(x){var g=Math.max(0,Math.floor(x[1]),a-2),E=x[1]-g;return(1-E)*n[g]+E*n[g+1]},t.ij2ab=function(x){return[t.i2a(x[0]),t.j2b(x[1])]},t.a2i=function(x){var g=Math.max(0,Math.min(CHe(x,r),a-2)),E=r[g],M=r[g+1];return Math.max(0,Math.min(a-1,g+(x-E)/(M-E)))},t.b2j=function(x){var g=Math.max(0,Math.min(CHe(x,n),i-2)),E=n[g],M=n[g+1];return Math.max(0,Math.min(i-1,g+(x-E)/(M-E)))},t.ab2ij=function(x){return[t.a2i(x[0]),t.b2j(x[1])]},t.i2c=function(x,g){return t.evalxy([],x,g)},t.ab2xy=function(x,g,E){if(!E&&(xr[a-1]|gn[i-1]))return[!1,!1];var M=t.a2i(x),w=t.b2j(g),k=t.evalxy([],M,w);if(E){var y=0,S=0,T=[],p,C,A,P;xr[a-1]?(p=a-2,C=1,y=(x-r[a-1])/(r[a-1]-r[a-2])):(p=Math.max(0,Math.min(a-2,Math.floor(M))),C=M-p),gn[i-1]?(A=i-2,P=1,S=(g-n[i-1])/(n[i-1]-n[i-2])):(A=Math.max(0,Math.min(i-2,Math.floor(w))),P=w-A),y&&(t.dxydi(T,p,A,C,P),k[0]+=T[0]*y,k[1]+=T[1]*y),S&&(t.dxydj(T,p,A,C,P),k[0]+=T[0]*S,k[1]+=T[1]*S)}return k},t.c2p=function(x,g,E){return[g.c2p(x[0]),E.c2p(x[1])]},t.p2x=function(x,g,E){return[g.p2c(x[0]),E.p2c(x[1])]},t.dadi=function(x){var g=Math.max(0,Math.min(r.length-2,x));return r[g+1]-r[g]},t.dbdj=function(x){var g=Math.max(0,Math.min(n.length-2,x));return n[g+1]-n[g]},t.dxyda=function(x,g,E,M){var w=t.dxydi(null,x,g,E,M),k=t.dadi(x,E);return[w[0]/k,w[1]/k]},t.dxydb=function(x,g,E,M){var w=t.dxydj(null,x,g,E,M),k=t.dbdj(g,M);return[w[0]/k,w[1]/k]},t.dxyda_rough=function(x,g,E){var M=h*(E||.1),w=t.ab2xy(x+M,g,!0),k=t.ab2xy(x-M,g,!0);return[(w[0]-k[0])*.5/M,(w[1]-k[1])*.5/M]},t.dxydb_rough=function(x,g,E){var M=v*(E||.1),w=t.ab2xy(x,g+M,!0),k=t.ab2xy(x,g-M,!0);return[(w[0]-k[0])*.5/M,(w[1]-k[1])*.5/M]},t.dpdx=function(x){return x._m},t.dpdy=function(x){return x._m}}});var OHe=ne((tyr,BHe)=>{"use strict";var YF=ri(),PHe=Zt().isArray1D,rWt=eHe(),DHe=aHe(),RHe=oHe(),IHe=cHe(),nWt=hHe(),zHe=gC(),qHe=vHe(),aWt=vC(),iWt=FHe();BHe.exports=function(t,r){var n=YF.getFromId(t,r.xaxis),a=YF.getFromId(t,r.yaxis),i=r.aaxis,o=r.baxis,s=r.x,l=r.y,u=[];s&&PHe(s)&&u.push("x"),l&&PHe(l)&&u.push("y"),u.length&&aWt(r,i,o,"a","b",u);var c=r._a=r._a||r.a,f=r._b=r._b||r.b;s=r._x||r.x,l=r._y||r.y;var h={};if(r._cheater){var v=i.cheatertype==="index"?c.length:c,d=o.cheatertype==="index"?f.length:f;s=rWt(v,d,r.cheaterslope)}r._x=s=zHe(s),r._y=l=zHe(l),qHe(s,c,f),qHe(l,c,f),iWt(r),r.setScale();var m=DHe(s),x=DHe(l),g=.5*(m[1]-m[0]),E=.5*(m[1]+m[0]),M=.5*(x[1]-x[0]),w=.5*(x[1]+x[0]),k=1.3;return m=[E-g*k,E+g*k],x=[w-M*k,w+M*k],r._extremes[n._id]=YF.findExtremes(n,m,{padded:!0}),r._extremes[a._id]=YF.findExtremes(a,x,{padded:!0}),RHe(r,"a","b"),RHe(r,"b","a"),IHe(r,i),IHe(r,o),h.clipsegments=nWt(r._xctrl,r._yctrl,i,o),h.x=s,h.y=l,h.a=c,h.b=f,[h]}});var UHe=ne((ryr,NHe)=>{"use strict";NHe.exports={attributes:NF(),supplyDefaults:NGe(),plot:JGe(),calc:OHe(),animatable:!0,isContainer:!0,moduleType:"trace",name:"carpet",basePlotModule:Ku(),categories:["cartesian","svg","carpet","carpetAxis","notLegendIsolatable","noMultiCategory","noHover","noSortingByValue"],meta:{}}});var GHe=ne((nyr,VHe)=>{"use strict";VHe.exports=UHe()});var pX=ne((ayr,YHe)=>{"use strict";var oWt=zp(),Cv=Tu(),sWt=os(),{hovertemplateAttrs:lWt,texttemplateAttrs:uWt,templatefallbackAttrs:HHe}=rs(),jHe=Ys(),yy=ci().extendFlat,w0=Cv.marker,Uw=Cv.line,WHe=w0.line;YHe.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:yy({},Cv.mode,{dflt:"markers"}),text:yy({},Cv.text,{}),texttemplate:uWt({editType:"plot"},{keys:["a","b","text"]}),texttemplatefallback:HHe({editType:"plot"}),hovertext:yy({},Cv.hovertext,{}),line:{color:Uw.color,width:Uw.width,dash:Uw.dash,backoff:Uw.backoff,shape:yy({},Uw.shape,{values:["linear","spline"]}),smoothing:Uw.smoothing,editType:"calc"},connectgaps:Cv.connectgaps,fill:yy({},Cv.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:oWt(),marker:yy({symbol:w0.symbol,opacity:w0.opacity,maxdisplayed:w0.maxdisplayed,angle:w0.angle,angleref:w0.angleref,standoff:w0.standoff,size:w0.size,sizeref:w0.sizeref,sizemin:w0.sizemin,sizemode:w0.sizemode,line:yy({width:WHe.width,dash:WHe.dash,editType:"calc"},jHe("marker.line")),gradient:w0.gradient,editType:"calc"},jHe("marker")),textfont:Cv.textfont,textposition:Cv.textposition,selected:Cv.selected,unselected:Cv.unselected,hoverinfo:yy({},sWt.hoverinfo,{flags:["a","b","text","name"]}),hoveron:Cv.hoveron,hovertemplate:lWt(),hovertemplatefallback:HHe(),zorder:Cv.zorder}});var KHe=ne((iyr,$He)=>{"use strict";var XHe=Zt(),cWt=Ip(),Vw=ml(),fWt=Kv(),hWt=V0(),ZHe=u_(),dWt=G0(),vWt=Bp(),pWt=pX();$He.exports=function(t,r,n,a){function i(h,v){return XHe.coerce(t,r,pWt,h,v)}i("carpet"),r.xaxis="x",r.yaxis="y";var o=i("a"),s=i("b"),l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,i("text"),i("texttemplate"),i("texttemplatefallback"),i("hovertext");var u=l{"use strict";JHe.exports=function(t,r){var n={},a=r._carpet,i=a.ab2ij([t.a,t.b]),o=Math.floor(i[0]),s=i[0]-o,l=Math.floor(i[1]),u=i[1]-l,c=a.evalxy([],o,l,s,u);return n.yLabel=c[1].toFixed(3),n}});var XF=ne((syr,eje)=>{"use strict";eje.exports=function(e,t){for(var r=e._fullData.length,n,a=0;a{"use strict";var tje=mi(),gWt=Jv(),mWt=Op(),yWt=mv(),xWt=Qv().calcMarkerSize,bWt=XF();rje.exports=function(t,r){var n=r._carpetTrace=bWt(t,r);if(!(!n||!n.visible||n.visible==="legendonly")){var a;r.xaxis=n.xaxis,r.yaxis=n.yaxis;var i=r._length,o=new Array(i),s,l,u=!1;for(a=0;a{"use strict";var _Wt=p_(),aje=ri(),wWt=li();ije.exports=function(t,r,n,a){var i,o,s,l=n[0][0].carpet,u=aje.getFromId(t,l.xaxis||"x"),c=aje.getFromId(t,l.yaxis||"y"),f={xaxis:u,yaxis:c,plot:r.plot};for(i=0;i{"use strict";var TWt=x_(),AWt=Zt().fillText;sje.exports=function(t,r,n,a){var i=TWt(t,r,n,a);if(!i||i[0].index===!1)return;var o=i[0];if(o.index===void 0){var s=1-o.y0/t.ya._length,l=t.xa._length,u=l*s/2,c=l-u;return o.x0=Math.max(Math.min(o.x0,c),u),o.x1=Math.max(Math.min(o.x1,c),u),i}var f=o.cd[o.index];o.a=f.a,o.b=f.b,o.xLabelVal=void 0,o.yLabelVal=void 0;var h=o.trace,v=h._carpet,d=h._module.formatLabels(f,h);o.yLabel=d.yLabel,delete o.text;var m=[];function x(M,w){var k;M.labelprefix&&M.labelprefix.length>0?k=M.labelprefix.replace(/ = $/,""):k=M._hovertitle,m.push(k+": "+w.toFixed(3)+M.labelsuffix)}if(!h.hovertemplate){var g=f.hi||h.hoverinfo,E=g.split("+");E.indexOf("all")!==-1&&(E=["a","b","text"]),E.indexOf("a")!==-1&&x(v.aaxis,f.a),E.indexOf("b")!==-1&&x(v.baxis,f.b),m.push("y: "+o.yLabel),E.indexOf("text")!==-1&&AWt(f,h,m),o.extraText=m.join("
")}return i}});var cje=ne((fyr,uje)=>{"use strict";uje.exports=function(t,r,n,a,i){var o=a[i];return t.a=o.a,t.b=o.b,t.y=o.y,t}});var hje=ne((hyr,fje)=>{"use strict";fje.exports={attributes:pX(),supplyDefaults:KHe(),colorbar:bh(),formatLabels:QHe(),calc:nje(),plot:oje(),style:Md().style,styleOnSelect:Md().styleOnSelect,hoverPoints:lje(),selectPoints:_x(),eventData:cje(),moduleType:"trace",name:"scattercarpet",basePlotModule:Ku(),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}});var vje=ne((dyr,dje)=>{"use strict";dje.exports=hje()});var gX=ne((vyr,pje)=>{"use strict";var T0=q_(),yg=xT(),MWt=Ys(),SWt=ci().extendFlat,p1=yg.contours;pje.exports=SWt({carpet:{valType:"string",editType:"calc"},z:T0.z,a:T0.x,a0:T0.x0,da:T0.dx,b:T0.y,b0:T0.y0,db:T0.dy,text:T0.text,hovertext:T0.hovertext,transpose:T0.transpose,atype:T0.xtype,btype:T0.ytype,fillcolor:yg.fillcolor,autocontour:yg.autocontour,ncontours:yg.ncontours,contours:{type:p1.type,start:p1.start,end:p1.end,size:p1.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:p1.showlines,showlabels:p1.showlabels,labelfont:p1.labelfont,labelformat:p1.labelformat,operation:p1.operation,value:p1.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:yg.line.color,width:yg.line.width,dash:yg.line.dash,smoothing:yg.line.smoothing,editType:"plot"},zorder:yg.zorder},MWt("",{cLetter:"z",autoColorDflt:!1}))});var mX=ne((pyr,yje)=>{"use strict";var gje=Zt(),EWt=fC(),mje=gX(),kWt=kO(),CWt=IC(),LWt=zC();yje.exports=function(t,r,n,a){function i(u,c){return gje.coerce(t,r,mje,u,c)}function o(u){return gje.coerce2(t,r,mje,u)}if(i("carpet"),t.a&&t.b){var s=EWt(t,r,i,a,"a","b");if(!s){r.visible=!1;return}i("text");var l=i("contours.type")==="constraint";l?kWt(t,r,i,a,n,{hasHover:!1}):(CWt(t,r,i,o),LWt(t,r,i,a,{hasHover:!1}))}else r._defaultColor=n,r._length=null;i("zorder")}});var wje=ne((gyr,_je)=>{"use strict";var FWt=qh(),xje=Zt(),PWt=vC(),DWt=gC(),RWt=mC(),IWt=yC(),bje=KB(),zWt=mX(),qWt=XF(),BWt=gO();_je.exports=function(t,r){var n=r._carpetTrace=qWt(t,r);if(!(!n||!n.visible||n.visible==="legendonly")){if(!r.a||!r.b){var a=t.data[n.index],i=t.data[r.index];i.a||(i.a=a.a),i.b||(i.b=a.b),zWt(i,r,r._defaultColor,t._fullLayout)}var o=OWt(t,r);return BWt(r,r._z),o}};function OWt(e,t){var r=t._carpetTrace,n=r.aaxis,a=r.baxis,i,o,s,l,u,c,f;n._minDtick=0,a._minDtick=0,xje.isArray1D(t.z)&&PWt(t,n,a,"a","b",["z"]),i=t._a=t._a||t.a,l=t._b=t._b||t.b,i=i?n.makeCalcdata(t,"_a"):[],l=l?a.makeCalcdata(t,"_b"):[],o=t.a0||0,s=t.da||1,u=t.b0||0,c=t.db||1,f=t._z=DWt(t._z||t.z,t.transpose),t._emptypoints=IWt(f),RWt(f,t._emptypoints);var h=xje.maxRowLength(f),v=t.xtype==="scaled"?"":i,d=bje(t,v,o,s,h,n),m=t.ytype==="scaled"?"":l,x=bje(t,m,u,c,f.length,a),g={a:d,b:x,z:f};return t.contours.type==="levels"&&t.contours.coloring!=="none"&&FWt(e,t,{vals:f,containerStr:"",cLetter:"z"}),[g]}});var Aje=ne((myr,Tje)=>{"use strict";var NWt=Zt().isArrayOrTypedArray;Tje.exports=function(e,t,r,n){var a,i,o,s,l,u,c,f,h,v,d,m,x,g=NWt(r)?"a":"b",E=g==="a"?e.aaxis:e.baxis,M=E.smoothing,w=g==="a"?e.a2i:e.b2j,k=g==="a"?r:n,y=g==="a"?n:r,S=g==="a"?t.a.length:t.b.length,T=g==="a"?t.b.length:t.a.length,p=Math.floor(g==="a"?e.b2j(y):e.a2i(y)),C=g==="a"?function(te){return e.evalxy([],te,p)}:function(te){return e.evalxy([],p,te)};M&&(o=Math.max(0,Math.min(T-2,p)),s=p-o,i=g==="a"?function(te,se){return e.dxydi([],te,o,se,s)}:function(te,se){return e.dxydj([],o,te,s,se)});var A=w(k[0]),P=w(k[1]),D=A0?Math.floor:Math.ceil,U=D>0?Math.ceil:Math.floor,O=D>0?Math.min:Math.max,R=D>0?Math.max:Math.min,B=q(A+z),Y=U(P-z);c=C(A);var X=[[c]];for(a=B;a*D{"use strict";var $F=Ea(),KF=fX(),Cje=hX(),Y6=li(),xg=Zt(),UWt=yO(),VWt=xO(),U2=OC(),ZF=_T(),GWt=TO(),HWt=wO(),jWt=AO(),WWt=XF(),Mje=Aje();Lje.exports=function(t,r,n,a){var i=r.xaxis,o=r.yaxis;xg.makeTraceGroups(a,n,"contour").each(function(s){var l=$F.select(this),u=s[0],c=u.trace,f=c._carpetTrace=WWt(t,c),h=t.calcdata[f.index][0];if(!f.visible||f.visible==="legendonly")return;var v=u.a,d=u.b,m=c.contours,x=HWt(m,r,u),g=m.type==="constraint",E=m._operation,M=g?E==="="?"lines":"fill":m.coloring;function w(q){var U=f.ab2xy(q[0],q[1],!0);return[i.c2p(U[0]),o.c2p(U[1])]}var k=[[v[0],d[d.length-1]],[v[v.length-1],d[d.length-1]],[v[v.length-1],d[0]],[v[0],d[0]]];UWt(x);var y=(v[v.length-1]-v[0])*1e-8,S=(d[d.length-1]-d[0])*1e-8;VWt(x,y,S);var T=x;m.type==="constraint"&&(T=GWt(x,E)),YWt(x,w);var p,C,A,P,D=[];for(P=h.clipsegments.length-1;P>=0;P--)p=h.clipsegments[P],C=KF([],p.x,i.c2p),A=KF([],p.y,o.c2p),C.reverse(),A.reverse(),D.push(Cje(C,A,p.bicubic));var z="M"+D.join("L")+"Z";$Wt(l,h.clipsegments,i,o,g,M),KWt(c,l,i,o,T,k,w,f,h,M,z),XWt(l,x,t,u,m,r,f),Y6.setClipUrl(l,f._clipPathId,t)})};function YWt(e,t){var r,n,a,i,o,s,l,u,c;for(r=0;rx&&(n.max=x),n.len=n.max-n.min}function Sje(e,t,r){var n=e.getPointAtLength(t),a=e.getPointAtLength(r),i=a.x-n.x,o=a.y-n.y,s=Math.sqrt(i*i+o*o);return[i/s,o/s]}function Eje(e){var t=Math.sqrt(e[0]*e[0]+e[1]*e[1]);return[e[0]/t,e[1]/t]}function kje(e,t){var r=Math.abs(e[0]*t[0]+e[1]*t[1]),n=Math.sqrt(1-r*r);return n/r}function $Wt(e,t,r,n,a,i){var o,s,l,u,c=xg.ensureSingle(e,"g","contourbg"),f=c.selectAll("path").data(i==="fill"&&!a?[0]:[]);f.enter().append("path"),f.exit().remove();var h=[];for(u=0;u=0&&(v=C,m=x):Math.abs(h[1]-v[1])=0&&(v=C,m=x):xg.log("endpt to newendpt is not vert. or horz.",h,v,C)}if(m>=0)break;u+=T(h,v),h=v}if(m===t.edgepaths.length){xg.log("unclosed perimeter path");break}l=m,f=c.indexOf(l)===-1,f&&(l=c[0],u+=T(h,v)+"Z",h=null)}for(l=0;l{"use strict";Pje.exports={attributes:gX(),supplyDefaults:mX(),colorbar:VC(),calc:wje(),plot:Fje(),style:UC(),moduleType:"trace",name:"contourcarpet",basePlotModule:Ku(),categories:["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],meta:{}}});var Ije=ne((byr,Rje)=>{"use strict";Rje.exports=Dje()});var QF=ne((_yr,Nje)=>{"use strict";var JF=Zt().extendFlat,X6=Tu(),zje=Wl().axisHoverFormat,{hovertemplateAttrs:QWt,templatefallbackAttrs:eYt}=rs(),Bje=xf().dash,tYt=db(),Oje=Q_(),rYt=Oje.INCREASING.COLOR,nYt=Oje.DECREASING.COLOR,yX=X6.line;function qje(e){return{line:{color:JF({},yX.color,{dflt:e}),width:yX.width,dash:Bje,editType:"style"},editType:"style"}}Nje.exports={xperiod:X6.xperiod,xperiod0:X6.xperiod0,xperiodalignment:X6.xperiodalignment,xhoverformat:zje("x"),yhoverformat:zje("y"),x:{valType:"data_array",editType:"calc+clearAxisTypes"},open:{valType:"data_array",editType:"calc"},high:{valType:"data_array",editType:"calc"},low:{valType:"data_array",editType:"calc"},close:{valType:"data_array",editType:"calc"},line:{width:JF({},yX.width,{}),dash:JF({},Bje,{}),editType:"style"},increasing:qje(rYt),decreasing:qje(nYt),text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:QWt({},{keys:["open","high","low","close"]}),hovertemplatefallback:eYt(),tickwidth:{valType:"number",min:0,max:.5,dflt:.3,editType:"calc"},hoverlabel:JF({},tYt.hoverlabel,{split:{valType:"boolean",dflt:!1,editType:"style"}}),zorder:X6.zorder}});var xX=ne((wyr,Uje)=>{"use strict";var aYt=Fa(),iYt=Zt();Uje.exports=function(t,r,n,a){var i=n("x"),o=n("open"),s=n("high"),l=n("low"),u=n("close");n("hoverlabel.split");var c=aYt.getComponentMethod("calendars","handleTraceDefaults");if(c(t,r,["x"],a),!!(o&&s&&l&&u)){var f=Math.min(o.length,s.length,l.length,u.length);return i&&(f=Math.min(f,iYt.minRowLength(i))),r._length=f,f}}});var Hje=ne((Tyr,Gje)=>{"use strict";var oYt=Zt(),sYt=xX(),lYt=U0(),uYt=QF();Gje.exports=function(t,r,n,a){function i(s,l){return oYt.coerce(t,r,uYt,s,l)}var o=sYt(t,r,i,a);if(!o){r.visible=!1;return}lYt(t,r,a,i,{x:!0}),i("xhoverformat"),i("yhoverformat"),i("line.width"),i("line.dash"),Vje(t,r,i,"increasing"),Vje(t,r,i,"decreasing"),i("text"),i("hovertext"),i("hovertemplate"),i("hovertemplatefallback"),i("tickwidth"),a._requestRangeslider[r.xaxis]=!0,i("zorder")};function Vje(e,t,r,n){r(n+".line.color"),r(n+".line.width",t.line.width),r(n+".line.dash",t.line.dash)}});var bX=ne((Ayr,Wje)=>{"use strict";var Gw=Zt(),eP=Gw._,tP=ri(),cYt=H0(),Z6=uo().BADNUM;function fYt(e,t){var r=tP.getFromId(e,t.xaxis),n=tP.getFromId(e,t.yaxis),a=dYt(e,r,t),i=t._minDiff;t._minDiff=null;var o=t._origX;t._origX=null;var s=t._xcalc;t._xcalc=null;var l=jje(e,t,o,s,n,hYt);return t._extremes[r._id]=tP.findExtremes(r,s,{vpad:i/2}),l.length?(Gw.extendFlat(l[0].t,{wHover:i/2,tickLen:a}),l):[{t:{empty:!0}}]}function hYt(e,t,r,n){return{o:e,h:t,l:r,c:n}}function jje(e,t,r,n,a,i){for(var o=a.makeCalcdata(t,"open"),s=a.makeCalcdata(t,"high"),l=a.makeCalcdata(t,"low"),u=a.makeCalcdata(t,"close"),c=Gw.isArrayOrTypedArray(t.text),f=Gw.isArrayOrTypedArray(t.hovertext),h=!0,v=null,d=!!t.xperiodalignment,m=[],x=0;xv):h=k>E,v=k;var y=i(E,M,w,k);y.pos=g,y.yc=(E+k)/2,y.i=x,y.dir=h?"increasing":"decreasing",y.x=y.pos,y.y=[w,M],d&&(y.orig_p=r[x]),c&&(y.tx=t.text[x]),f&&(y.htx=t.hovertext[x]),m.push(y)}else m.push({pos:g,empty:!0})}return t._extremes[a._id]=tP.findExtremes(a,Gw.concat(l,s),{padded:!0}),m.length&&(m[0].t={labels:{open:eP(e,"open:")+" ",high:eP(e,"high:")+" ",low:eP(e,"low:")+" ",close:eP(e,"close:")+" "}}),m}function dYt(e,t,r){var n=r._minDiff;if(!n){var a=e._fullData,i=[];n=1/0;var o;for(o=0;o{"use strict";var vYt=Ea(),Yje=Zt();Xje.exports=function(t,r,n,a){var i=r.yaxis,o=r.xaxis,s=!!o.rangebreaks;Yje.makeTraceGroups(a,n,"trace ohlc").each(function(l){var u=vYt.select(this),c=l[0],f=c.t,h=c.trace;if(h.visible!==!0||f.empty){u.remove();return}var v=f.tickLen,d=u.selectAll("path").data(Yje.identity);d.enter().append("path"),d.exit().remove(),d.attr("d",function(m){if(m.empty)return"M0,0Z";var x=o.c2p(m.pos-v,!0),g=o.c2p(m.pos+v,!0),E=s?(x+g)/2:o.c2p(m.pos,!0),M=i.c2p(m.o,!0),w=i.c2p(m.h,!0),k=i.c2p(m.l,!0),y=i.c2p(m.c,!0);return"M"+x+","+M+"H"+E+"M"+E+","+w+"V"+k+"M"+g+","+y+"H"+E})})}});var Kje=ne((Syr,$je)=>{"use strict";var _X=Ea(),pYt=li(),gYt=_a();$je.exports=function(t,r,n){var a=n||_X.select(t).selectAll("g.ohlclayer").selectAll("g.trace");a.style("opacity",function(i){return i[0].trace.opacity}),a.each(function(i){var o=i[0].trace;_X.select(this).selectAll("path").each(function(s){if(!s.empty){var l=o[s.dir].line;_X.select(this).style("fill","none").call(gYt.stroke,l.color).call(pYt.dashLine,l.dash,l.width).style("opacity",o.selectedpoints&&!s.selected?.3:1)}})})}});var TX=ne((Eyr,rWe)=>{"use strict";var wX=ri(),mYt=Zt(),rP=cu(),yYt=_a(),xYt=Zt().fillText,Jje=Q_(),bYt={increasing:Jje.INCREASING.SYMBOL,decreasing:Jje.DECREASING.SYMBOL};function _Yt(e,t,r,n){var a=e.cd,i=a[0].trace;return i.hoverlabel.split?eWe(e,t,r,n):tWe(e,t,r,n)}function Qje(e,t,r,n){var a=e.cd,i=e.xa,o=a[0].trace,s=a[0].t,l=o.type,u=l==="ohlc"?"l":"min",c=l==="ohlc"?"h":"max",f,h,v=s.bPos||0,d=function(C){return C.pos+v-t},m=s.bdPos||s.tickLen,x=s.wHover,g=Math.min(1,m/Math.abs(i.r2c(i.range[1])-i.r2c(i.range[0])));f=e.maxHoverDistance-g,h=e.maxSpikeDistance-g;function E(C){var A=d(C);return rP.inbox(A-x,A+x,f)}function M(C){var A=C[u],P=C[c];return A===P||rP.inbox(A-r,P-r,f)}function w(C){return(E(C)+M(C))/2}var k=rP.getDistanceFunction(n,E,M,w);if(rP.getClosest(a,k,e),e.index===!1)return null;var y=a[e.index];if(y.empty)return null;var S=y.dir,T=o[S],p=T.line.color;return yYt.opacity(p)&&T.line.width?e.color=p:e.color=T.fillcolor,e.x0=i.c2p(y.pos+v-m,!0),e.x1=i.c2p(y.pos+v+m,!0),e.xLabelVal=y.orig_p!==void 0?y.orig_p:y.pos,e.spikeDistance=w(y)*h/f,e.xSpike=i.c2p(y.pos,!0),e}function eWe(e,t,r,n){var a=e.cd,i=e.ya,o=a[0].trace,s=a[0].t,l=[],u=Qje(e,t,r,n);if(!u)return[];var c=a[u.index],f=c.hi||o.hoverinfo||"";if(f==="none"||f==="skip")return[];for(var h=["high","open","close","low"],v={},d=0;d"+s.labels[m]+wX.hoverLabelText(i,x,o.yhoverformat)):(E=mYt.extendFlat({},u),E.y0=E.y1=g,E.yLabelVal=x,E.yLabel=s.labels[m]+wX.hoverLabelText(i,x,o.yhoverformat),E.name="",l.push(E),v[x]=E)}return l}function tWe(e,t,r,n){var a=e.cd,i=e.ya,o=a[0].trace,s=a[0].t,l=Qje(e,t,r,n);if(!l)return[];var u=l.index,c=a[u],f=l.index=c.i,h=c.dir;function v(w){return s.labels[w]+wX.hoverLabelText(i,o[w][f],o.yhoverformat)}var d=c.hi||o.hoverinfo||"",m=d.split("+"),x=d==="all",g=x||m.indexOf("y")!==-1,E=x||m.indexOf("text")!==-1,M=g?[v("open"),v("high"),v("low"),v("close")+" "+bYt[h]]:[];return E&&xYt(c,o,M),l.extraText=M.join("
"),l.y0=l.y1=i.c2p(c.yc,!0),[l]}rWe.exports={hoverPoints:_Yt,hoverSplit:eWe,hoverOnPoints:tWe}});var AX=ne((kyr,nWe)=>{"use strict";nWe.exports=function(t,r){var n=t.cd,a=t.xaxis,i=t.yaxis,o=[],s,l=n[0].t.bPos||0;if(r===!1)for(s=0;s{"use strict";aWe.exports={moduleType:"trace",name:"ohlc",basePlotModule:Ku(),categories:["cartesian","svg","showLegend"],meta:{},attributes:QF(),supplyDefaults:Hje(),calc:bX().calc,plot:Zje(),style:Kje(),hoverPoints:TX().hoverPoints,selectPoints:AX()}});var sWe=ne((Lyr,oWe)=>{"use strict";oWe.exports=iWe()});var SX=ne((Fyr,cWe)=>{"use strict";var MX=Zt().extendFlat,lWe=Wl().axisHoverFormat,Pd=QF(),Hw=cT();function uWe(e){return{line:{color:MX({},Hw.line.color,{dflt:e}),width:Hw.line.width,editType:"style"},fillcolor:Hw.fillcolor,editType:"style"}}cWe.exports={xperiod:Pd.xperiod,xperiod0:Pd.xperiod0,xperiodalignment:Pd.xperiodalignment,xhoverformat:lWe("x"),yhoverformat:lWe("y"),x:Pd.x,open:Pd.open,high:Pd.high,low:Pd.low,close:Pd.close,line:{width:MX({},Hw.line.width,{}),editType:"style"},increasing:uWe(Pd.increasing.line.color.dflt),decreasing:uWe(Pd.decreasing.line.color.dflt),text:Pd.text,hovertext:Pd.hovertext,hovertemplate:Pd.hovertemplate,hovertemplatefallback:Pd.hovertemplatefallback,whiskerwidth:MX({},Hw.whiskerwidth,{dflt:0}),hoverlabel:Pd.hoverlabel,zorder:Hw.zorder}});var dWe=ne((Pyr,hWe)=>{"use strict";var wYt=Zt(),TYt=_a(),AYt=xX(),MYt=U0(),SYt=SX();hWe.exports=function(t,r,n,a){function i(s,l){return wYt.coerce(t,r,SYt,s,l)}var o=AYt(t,r,i,a);if(!o){r.visible=!1;return}MYt(t,r,a,i,{x:!0}),i("xhoverformat"),i("yhoverformat"),i("line.width"),fWe(t,r,i,"increasing"),fWe(t,r,i,"decreasing"),i("text"),i("hovertext"),i("hovertemplate"),i("hovertemplatefallback"),i("whiskerwidth"),a._requestRangeslider[r.xaxis]=!0,i("zorder")};function fWe(e,t,r,n){var a=r(n+".line.color");r(n+".line.width",t.line.width),r(n+".fillcolor",TYt.addOpacity(a,.5))}});var mWe=ne((Dyr,gWe)=>{"use strict";var vWe=Zt(),pWe=ri(),EYt=H0(),kYt=bX().calcCommon;gWe.exports=function(e,t){var r=e._fullLayout,n=pWe.getFromId(e,t.xaxis),a=pWe.getFromId(e,t.yaxis),i=n.makeCalcdata(t,"x"),o=EYt(t,n,"x",i).vals,s=kYt(e,t,i,o,a,CYt);return s.length?(vWe.extendFlat(s[0].t,{num:r._numBoxes,dPos:vWe.distinctVals(o).minDiff/2,posLetter:"x",valLetter:"y"}),r._numBoxes++,s):[{t:{empty:!0}}]};function CYt(e,t,r,n){return{min:r,q1:Math.min(e,n),med:n,q3:Math.max(e,n),max:t}}});var xWe=ne((Ryr,yWe)=>{"use strict";yWe.exports={moduleType:"trace",name:"candlestick",basePlotModule:Ku(),categories:["cartesian","svg","showLegend","candlestick","boxLayout"],meta:{},attributes:SX(),layoutAttributes:fT(),supplyLayoutDefaults:iC().supplyLayoutDefaults,crossTraceCalc:sC().crossTraceCalc,supplyDefaults:dWe(),calc:mWe(),plot:lC().plot,layerName:"boxlayer",style:uC().style,hoverPoints:TX().hoverPoints,selectPoints:AX()}});var _We=ne((Iyr,bWe)=>{"use strict";bWe.exports=xWe()});var kX=ne((zyr,wWe)=>{"use strict";var aP=Zt(),LYt=Tp(),nP=aP.deg2rad,EX=aP.rad2deg;wWe.exports=function(t,r,n){switch(LYt(t,n),t._id){case"x":case"radialaxis":FYt(t,r);break;case"angularaxis":RYt(t,r);break}};function FYt(e,t){var r=t._subplot;e.setGeometry=function(){var n=e._rl[0],a=e._rl[1],i=r.innerRadius,o=(r.radius-i)/(a-n),s=i/o,l=n>a?function(u){return u<=0}:function(u){return u>=0};e.c2g=function(u){var c=e.c2l(u)-n;return(l(c)?c:0)+s},e.g2c=function(u){return e.l2c(u+n-s)},e.g2p=function(u){return u*o},e.c2p=function(u){return e.g2p(e.c2g(u))}}}function PYt(e,t){return t==="degrees"?nP(e):e}function DYt(e,t){return t==="degrees"?EX(e):e}function RYt(e,t){var r=e.type;if(r==="linear"){var n=e.d2c,a=e.c2d;e.d2c=function(i,o){return PYt(n(i),o)},e.c2d=function(i,o){return a(DYt(i,o))}}e.makeCalcdata=function(i,o){var s=i[o],l=i._length,u,c,f=function(x){return e.d2c(x,i.thetaunit)};if(s)for(u=new Array(l),c=0;c{"use strict";TWe.exports={attr:"subplot",name:"polar",axisNames:["angularaxis","radialaxis"],axisName2dataArray:{angularaxis:"theta",radialaxis:"r"},layerNames:["draglayer","plotbg","backplot","angular-grid","radial-grid","frontplot","angular-line","radial-line","angular-axis","radial-axis"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}});var sP=ne((Byr,kWe)=>{"use strict";var V2=Zt(),AWe=x4().tester,CX=V2.findIndexOfMin,SWe=V2.isAngleInsideSector,IYt=V2.angleDelta,MWe=V2.angleDist;function zYt(e,t,r,n,a){if(!SWe(t,n))return!1;var i,o;r[0]0?o:1/0},n=CX(t,r),a=V2.mod(n+1,t.length);return[t[n],t[a]]}function oP(e){return Math.abs(e)>1e-10?e:0}function LX(e,t,r){t=t||0,r=r||0;for(var n=e.length,a=new Array(n),i=0;i{"use strict";function CWe(e){return e<0?-1:e>0?1:0}function Ww(e){var t=e[0],r=e[1];if(!isFinite(t)||!isFinite(r))return[1,0];var n=(t+1)*(t+1)+r*r;return[(t*t+r*r-1)/n,2*r/n]}function Yw(e,t){var r=t[0],n=t[1];return[r*e.radius+e.cx,-n*e.radius+e.cy]}function LWe(e,t){return t*e.radius}function HYt(e,t,r,n){var a=Yw(e,Ww([r,t])),i=a[0],o=a[1],s=Yw(e,Ww([n,t])),l=s[0],u=s[1];if(t===0)return["M"+i+","+o,"L"+l+","+u].join(" ");var c=LWe(e,1/Math.abs(t));return["M"+i+","+o,"A"+c+","+c+" 0 0,"+(t<0?1:0)+" "+l+","+u].join(" ")}function jYt(e,t,r,n){var a=LWe(e,1/(t+1)),i=Yw(e,Ww([t,r])),o=i[0],s=i[1],l=Yw(e,Ww([t,n])),u=l[0],c=l[1];if(CWe(r)!==CWe(n)){var f=Yw(e,Ww([t,0])),h=f[0],v=f[1];return["M"+o+","+s,"A"+a+","+a+" 0 0,"+(0{"use strict";var G2=Ea(),j2=Fa(),Ol=Zt(),g1=Ol.strRotate,Ef=Ol.strTranslate,fP=_a(),$6=li(),WYt=Sl(),Dd=ri(),YYt=Tp(),XYt=kX(),ZYt=I0().doAutoRange,bg=Vz(),cP=od(),PWe=cu(),$Yt=Qy(),KYt=ef().prepSelect,JYt=ef().selectOnClick,PX=ef().clearOutline,DWe=z0(),RWe=i4(),IWe=d4().redrawReglTraces,QYt=qc().MID_SHIFT,xy=iP(),_g=sP(),hP=FX(),lP=hP.smith,eXt=hP.reactanceArc,tXt=hP.resistanceArc,uP=hP.smithTransform,rXt=Ol._,zWe=Ol.mod,by=Ol.deg2rad,H2=Ol.rad2deg;function qWe(e,t,r){this.isSmith=r||!1,this.id=t,this.gd=e,this._hasClipOnAxisFalse=null,this.vangles=null,this.radialAxisAngle=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var n=e._fullLayout,a="clip"+n._uid+t;this.clipIds.forTraces=a+"-for-traces",this.clipPaths.forTraces=n._clips.append("clipPath").attr("id",this.clipIds.forTraces),this.clipPaths.forTraces.append("path"),this.framework=n["_"+(r?"smith":"polar")+"layer"].append("g").attr("class",t),this.getHole=function(i){return this.isSmith?0:i.hole},this.getSector=function(i){return this.isSmith?[0,360]:i.sector},this.getRadial=function(i){return this.isSmith?i.realaxis:i.radialaxis},this.getAngular=function(i){return this.isSmith?i.imaginaryaxis:i.angularaxis},r||(this.radialTickLayout=null,this.angularTickLayout=null)}var Qf=qWe.prototype;NWe.exports=function(t,r,n){return new qWe(t,r,n)};Qf.plot=function(e,t){for(var r=this,n=t[r.id],a=!1,i=0;ix?(g=u,E=u*x,k=(c-E)/a.h/2,M=[s[0],s[1]],w=[l[0]+k,l[1]-k]):(g=c/x,E=c,k=(u-g)/a.w/2,M=[s[0]+k,s[1]-k],w=[l[0],l[1]]),r.xLength2=g,r.yLength2=E,r.xDomain2=M,r.yDomain2=w;var y=r.xOffset2=a.l+a.w*M[0],S=r.yOffset2=a.t+a.h*(1-w[1]),T=r.radius=g/v,p=r.innerRadius=r.getHole(t)*T,C=r.cx=y-T*h[0],A=r.cy=S+T*h[3],P=r.cxx=C-y,D=r.cyy=A-S,z=i.side,q;z==="counterclockwise"?(q=z,z="top"):z==="clockwise"&&(q=z,z="bottom"),r.radialAxis=r.mockAxis(e,t,i,{_id:"x",side:z,_trueSide:q,domain:[p/a.w,T/a.w]}),r.angularAxis=r.mockAxis(e,t,o,{side:"right",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(e,t),r.updateAngularAxis(e,t),r.updateRadialAxis(e,t),r.updateRadialAxisTitle(e,t),r.xaxis=r.mockCartesianAxis(e,t,{_id:"x",domain:M}),r.yaxis=r.mockCartesianAxis(e,t,{_id:"y",domain:w});var U=r.pathSubplot();r.clipPaths.forTraces.select("path").attr("d",U).attr("transform",Ef(P,D)),n.frontplot.attr("transform",Ef(y,S)).call($6.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr("d",U).attr("transform",Ef(C,A)).call(fP.fill,t.bgcolor)};Qf.mockAxis=function(e,t,r,n){var a=Ol.extendFlat({},r,n);return XYt(a,t,e),a};Qf.mockCartesianAxis=function(e,t,r){var n=this,a=n.isSmith,i=r._id,o=Ol.extendFlat({type:"linear"},r);YYt(o,e);var s={x:[0,2],y:[1,3]};return o.setRange=function(){var l=n.sectorBBox,u=s[i],c=n.radialAxis._rl,f=(c[1]-c[0])/(1-n.getHole(t));o.range=[l[u[0]]*f,l[u[1]]*f]},o.isPtWithinRange=i==="x"&&!a?function(l){return n.isPtInside(l)}:function(){return!0},o.setRange(),o.setScale(),o};Qf.doAutoRange=function(e,t){var r=this,n=r.gd,a=r.radialAxis,i=r.getRadial(t);ZYt(n,a);var o=a.range;if(i.range=o.slice(),i._input.range=o.slice(),a._rl=[a.r2l(o[0],null,"gregorian"),a.r2l(o[1],null,"gregorian")],a.minallowed!==void 0){var s=a.r2l(a.minallowed);a._rl[0]>a._rl[1]?a._rl[1]=Math.max(a._rl[1],s):a._rl[0]=Math.max(a._rl[0],s)}if(a.maxallowed!==void 0){var l=a.r2l(a.maxallowed);a._rl[0]90&&c<=270&&(f.tickangle=180);var d=v?function(T){var p=uP(r,lP([T.x,0]));return Ef(p[0]-s,p[1]-l)}:function(T){return Ef(f.l2p(T.x)+o,0)},m=v?function(T){return tXt(r,T.x,-1/0,1/0)}:function(T){return r.pathArc(f.r2p(T.x)+o)},x=BWe(u);if(r.radialTickLayout!==x&&(a["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=x),h){f.setScale();var g=0,E=v?(f.tickvals||[]).filter(function(T){return T>=0}).map(function(T){return Dd.tickText(f,T,!0,!1)}):Dd.calcTicks(f),M=v?E:Dd.clipEnds(f,E),w=Dd.getTickSigns(f)[2];v&&((f.ticks==="top"&&f.side==="bottom"||f.ticks==="bottom"&&f.side==="top")&&(w=-w),f.ticks==="top"&&f.side==="top"&&(g=-f.ticklen),f.ticks==="bottom"&&f.side==="bottom"&&(g=f.ticklen)),Dd.drawTicks(n,f,{vals:E,layer:a["radial-axis"],path:Dd.makeTickPath(f,0,w),transFn:d,crisp:!1}),Dd.drawGrid(n,f,{vals:M,layer:a["radial-grid"],path:m,transFn:Ol.noop,crisp:!1}),Dd.drawLabels(n,f,{vals:E,layer:a["radial-axis"],transFn:d,labelFns:Dd.makeLabelFns(f,g)})}var k=r.radialAxisAngle=r.vangles?H2(OWe(by(u.angle),r.vangles)):u.angle,y=Ef(s,l),S=y+g1(-k);K6(a["radial-axis"],h&&(u.showticklabels||u.ticks),{transform:S}),K6(a["radial-grid"],h&&u.showgrid,{transform:v?"":y}),K6(a["radial-line"].select("line"),h&&u.showline,{x1:v?-i:o,y1:0,x2:i,y2:0,transform:S}).attr("stroke-width",u.linewidth).call(fP.stroke,u.linecolor)};Qf.updateRadialAxisTitle=function(e,t,r){if(!this.isSmith){var n=this,a=n.gd,i=n.radius,o=n.cx,s=n.cy,l=n.getRadial(t),u=n.id+"title",c=0;if(l.title){var f=$6.bBox(n.layers["radial-axis"].node()).height,h=l.title.font.size,v=l.side;c=v==="top"?h:v==="counterclockwise"?-(f+h*.4):f+h*.8}var d=r!==void 0?r:n.radialAxisAngle,m=by(d),x=Math.cos(m),g=Math.sin(m),E=o+i/2*x+c*g,M=s-i/2*g+c*x;n.layers["radial-axis-title"]=$Yt.draw(a,u,{propContainer:l,propName:n.id+".radialaxis.title.text",placeholder:rXt(a,"Click to enter radial axis title"),attributes:{x:E,y:M,"text-anchor":"middle"},transform:{rotate:-d}})}};Qf.updateAngularAxis=function(e,t){var r=this,n=r.gd,a=r.layers,i=r.radius,o=r.innerRadius,s=r.cx,l=r.cy,u=r.getAngular(t),c=r.angularAxis,f=r.isSmith;f||(r.fillViewInitialKey("angularaxis.rotation",u.rotation),c.setGeometry(),c.setScale());var h=f?function(p){var C=uP(r,lP([0,p.x]));return Math.atan2(C[0]-s,C[1]-l)-Math.PI/2}:function(p){return c.t2g(p.x)};c.type==="linear"&&c.thetaunit==="radians"&&(c.tick0=H2(c.tick0),c.dtick=H2(c.dtick));var v=function(p){return Ef(s+i*Math.cos(p),l-i*Math.sin(p))},d=f?function(p){var C=uP(r,lP([0,p.x]));return Ef(C[0],C[1])}:function(p){return v(h(p))},m=f?function(p){var C=uP(r,lP([0,p.x])),A=Math.atan2(C[0]-s,C[1]-l)-Math.PI/2;return Ef(C[0],C[1])+g1(-H2(A))}:function(p){var C=h(p);return v(C)+g1(-H2(C))},x=f?function(p){return eXt(r,p.x,0,1/0)}:function(p){var C=h(p),A=Math.cos(C),P=Math.sin(C);return"M"+[s+o*A,l-o*P]+"L"+[s+i*A,l-i*P]},g=Dd.makeLabelFns(c,0),E=g.labelStandoff,M={};M.xFn=function(p){var C=h(p);return Math.cos(C)*E},M.yFn=function(p){var C=h(p),A=Math.sin(C)>0?.2:1;return-Math.sin(C)*(E+p.fontSize*A)+Math.abs(Math.cos(C))*(p.fontSize*QYt)},M.anchorFn=function(p){var C=h(p),A=Math.cos(C);return Math.abs(A)<.1?"middle":A>0?"start":"end"},M.heightFn=function(p,C,A){var P=h(p);return-.5*(1+Math.sin(P))*A};var w=BWe(u);r.angularTickLayout!==w&&(a["angular-axis"].selectAll("."+c._id+"tick").remove(),r.angularTickLayout=w);var k=f?[1/0].concat(c.tickvals||[]).map(function(p){return Dd.tickText(c,p,!0,!1)}):Dd.calcTicks(c);f&&(k[0].text="\u221E",k[0].fontSize*=1.75);var y;if(t.gridshape==="linear"?(y=k.map(h),Ol.angleDelta(y[0],y[1])<0&&(y=y.slice().reverse())):y=null,r.vangles=y,c.type==="category"&&(k=k.filter(function(p){return Ol.isAngleInsideSector(h(p),r.sectorInRad)})),c.visible){var S=c.ticks==="inside"?-1:1,T=(c.linewidth||1)/2;Dd.drawTicks(n,c,{vals:k,layer:a["angular-axis"],path:"M"+S*T+",0h"+S*c.ticklen,transFn:m,crisp:!1}),Dd.drawGrid(n,c,{vals:k,layer:a["angular-grid"],path:x,transFn:Ol.noop,crisp:!1}),Dd.drawLabels(n,c,{vals:k,layer:a["angular-axis"],repositionOnUpdate:!0,transFn:d,labelFns:M})}K6(a["angular-line"].select("path"),u.showline,{d:r.pathSubplot(),transform:Ef(s,l)}).attr("stroke-width",u.linewidth).call(fP.stroke,u.linecolor)};Qf.updateFx=function(e,t){if(!this.gd._context.staticPlot){var r=!this.isSmith;r&&(this.updateAngularDrag(e),this.updateRadialDrag(e,t,0),this.updateRadialDrag(e,t,1)),this.updateHoverAndMainDrag(e)}};Qf.updateHoverAndMainDrag=function(e){var t=this,r=t.isSmith,n=t.gd,a=t.layers,i=e._zoomlayer,o=xy.MINZOOM,s=xy.OFFEDGE,l=t.radius,u=t.innerRadius,c=t.cx,f=t.cy,h=t.cxx,v=t.cyy,d=t.sectorInRad,m=t.vangles,x=t.radialAxis,g=_g.clampTiny,E=_g.findXYatLength,M=_g.findEnclosingVertexAngles,w=xy.cornerHalfWidth,k=xy.cornerLen/2,y,S,T=bg.makeDragger(a,"path","maindrag",e.dragmode===!1?"none":"crosshair");G2.select(T).attr("d",t.pathSubplot()).attr("transform",Ef(c,f)),T.onmousemove=function(le){PWe.hover(n,le,t.id),n._fullLayout._lasthover=T,n._fullLayout._hoversubplot=t.id},T.onmouseout=function(le){n._dragging||cP.unhover(n,le)};var p={element:T,gd:n,subplot:t.id,plotinfo:{id:t.id,xaxis:t.xaxis,yaxis:t.yaxis},xaxes:[t.xaxis],yaxes:[t.yaxis]},C,A,P,D,z,q,U,O,R;function B(le,ze){return Math.sqrt(le*le+ze*ze)}function Y(le,ze){return B(le-h,ze-v)}function X(le,ze){return Math.atan2(v-ze,le-h)}function te(le,ze){return[le*Math.cos(ze),le*Math.sin(-ze)]}function se(le,ze){if(le===0)return t.pathSector(2*w);var Xe=k/le,vt=ze-Xe,st=ze+Xe,Oe=Math.max(0,Math.min(le,l)),qe=Oe-w,mt=Oe+w;return"M"+te(qe,vt)+"A"+[qe,qe]+" 0,0,0 "+te(qe,st)+"L"+te(mt,st)+"A"+[mt,mt]+" 0,0,1 "+te(mt,vt)+"Z"}function ue(le,ze,Xe){if(le===0)return t.pathSector(2*w);var vt=te(le,ze),st=te(le,Xe),Oe=g((vt[0]+st[0])/2),qe=g((vt[1]+st[1])/2),mt,lt;if(Oe&&qe){var Ie=qe/Oe,de=-1/Ie,Ee=E(w,Ie,Oe,qe);mt=E(k,de,Ee[0][0],Ee[0][1]),lt=E(k,de,Ee[1][0],Ee[1][1])}else{var Ue,ge;qe?(Ue=k,ge=w):(Ue=w,ge=k),mt=[[Oe-Ue,qe-ge],[Oe+Ue,qe-ge]],lt=[[Oe-Ue,qe+ge],[Oe+Ue,qe+ge]]}return"M"+mt.join("L")+"L"+lt.reverse().join("L")+"Z"}function re(){P=null,D=null,z=t.pathSubplot(),q=!1;var le=n._fullLayout[t.id];U=fP.color(le.bgcolor).luminosity(),O=bg.makeZoombox(i,U,c,f,z),O.attr("fill-rule","evenodd"),R=bg.makeCorners(i,c,f),PX(n)}function j(le,ze){return ze=Math.max(Math.min(ze,l),u),leo?(le-1&&le===1&&JYt(ze,n,[t.xaxis],[t.yaxis],t.id,p),Xe.indexOf("event")>-1&&PWe.click(n,ze,t.id)}p.prepFn=function(le,ze,Xe){var vt=n._fullLayout.dragmode,st=T.getBoundingClientRect();n._fullLayout._calcInverseTransform(n);var Oe=n._fullLayout._invTransform;y=n._fullLayout._invScaleX,S=n._fullLayout._invScaleY;var qe=Ol.apply3DTransform(Oe)(ze-st.left,Xe-st.top);if(C=qe[0],A=qe[1],m){var mt=_g.findPolygonOffset(l,d[0],d[1],m);C+=h+mt[0],A+=v+mt[1]}switch(vt){case"zoom":p.clickFn=Pe,r||(m?p.moveFn=we:p.moveFn=ce,p.doneFn=he,re(le,ze,Xe));break;case"select":case"lasso":KYt(le,ze,Xe,p,vt);break}},cP.init(p)};Qf.updateRadialDrag=function(e,t,r){var n=this,a=n.gd,i=n.layers,o=n.radius,s=n.innerRadius,l=n.cx,u=n.cy,c=n.radialAxis,f=xy.radialDragBoxSize,h=f/2;if(!c.visible)return;var v=by(n.radialAxisAngle),d=c._rl,m=d[0],x=d[1],g=d[r],E=.75*(d[1]-d[0])/(1-n.getHole(t))/o,M,w,k;r?(M=l+(o+h)*Math.cos(v),w=u-(o+h)*Math.sin(v),k="radialdrag"):(M=l+(s-h)*Math.cos(v),w=u-(s-h)*Math.sin(v),k="radialdrag-inner");var y=bg.makeRectDragger(i,k,"crosshair",-h,-h,f,f),S={element:y,gd:a};e.dragmode===!1&&(S.dragmode=!1),K6(G2.select(y),c.visible&&s0!=(r?C>m:C=90||a>90&&i>=450?v=1:s<=0&&u<=0?v=0:v=Math.max(s,u),a<=180&&i>=180||a>180&&i>=540?c=-1:o>=0&&l>=0?c=0:c=Math.min(o,l),a<=270&&i>=270||a>270&&i>=630?f=-1:s>=0&&u>=0?f=0:f=Math.min(s,u),i>=360?h=1:o<=0&&l<=0?h=0:h=Math.max(o,l),[c,f,h,v]}function OWe(e,t){var r=function(a){return Ol.angleDist(e,a)},n=Ol.findIndexOfMin(t,r);return t[n]}function K6(e,t,r){return t?(e.attr("display",null),e.attr(r)):e&&e.attr("display","none"),e}});var RX=ne((Uyr,WWe)=>{"use strict";var aXt=Ic(),Ui=Wf(),iXt=zl().attributes,Lv=Zt().extendFlat,UWe=Il().overrideAll,VWe=UWe({color:Ui.color,showline:Lv({},Ui.showline,{dflt:!0}),linecolor:Ui.linecolor,linewidth:Ui.linewidth,showgrid:Lv({},Ui.showgrid,{dflt:!0}),gridcolor:Ui.gridcolor,gridwidth:Ui.gridwidth,griddash:Ui.griddash},"plot","from-root"),GWe=UWe({tickmode:Ui.minor.tickmode,nticks:Ui.nticks,tick0:Ui.tick0,dtick:Ui.dtick,tickvals:Ui.tickvals,ticktext:Ui.ticktext,ticks:Ui.ticks,ticklen:Ui.ticklen,tickwidth:Ui.tickwidth,tickcolor:Ui.tickcolor,ticklabelstep:Ui.ticklabelstep,showticklabels:Ui.showticklabels,labelalias:Ui.labelalias,minorloglabels:Ui.minorloglabels,showtickprefix:Ui.showtickprefix,tickprefix:Ui.tickprefix,showticksuffix:Ui.showticksuffix,ticksuffix:Ui.ticksuffix,showexponent:Ui.showexponent,exponentformat:Ui.exponentformat,minexponent:Ui.minexponent,separatethousands:Ui.separatethousands,tickfont:Ui.tickfont,tickangle:Ui.tickangle,tickformat:Ui.tickformat,tickformatstops:Ui.tickformatstops,layer:Ui.layer},"plot","from-root"),HWe={visible:Lv({},Ui.visible,{dflt:!0}),type:Lv({},Ui.type,{values:["-","linear","log","date","category"]}),autotypenumbers:Ui.autotypenumbers,autorangeoptions:{minallowed:Ui.autorangeoptions.minallowed,maxallowed:Ui.autorangeoptions.maxallowed,clipmin:Ui.autorangeoptions.clipmin,clipmax:Ui.autorangeoptions.clipmax,include:Ui.autorangeoptions.include,editType:"plot"},autorange:Lv({},Ui.autorange,{editType:"plot"}),rangemode:{valType:"enumerated",values:["tozero","nonnegative","normal"],dflt:"tozero",editType:"calc"},minallowed:Lv({},Ui.minallowed,{editType:"plot"}),maxallowed:Lv({},Ui.maxallowed,{editType:"plot"}),range:Lv({},Ui.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],editType:"plot"}),categoryorder:Ui.categoryorder,categoryarray:Ui.categoryarray,angle:{valType:"angle",editType:"plot"},autotickangles:Ui.autotickangles,side:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"clockwise",editType:"plot"},title:{text:Lv({},Ui.title.text,{editType:"plot",dflt:""}),font:Lv({},Ui.title.font,{editType:"plot"}),editType:"plot"},hoverformat:Ui.hoverformat,uirevision:{valType:"any",editType:"none"},editType:"calc"};Lv(HWe,VWe,GWe);var jWe={visible:Lv({},Ui.visible,{dflt:!0}),type:{valType:"enumerated",values:["-","linear","category"],dflt:"-",editType:"calc",_noTemplating:!0},autotypenumbers:Ui.autotypenumbers,categoryorder:Ui.categoryorder,categoryarray:Ui.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:Ui.hoverformat,uirevision:{valType:"any",editType:"none"},editType:"calc"};Lv(jWe,VWe,GWe);WWe.exports={domain:iXt({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:aXt.background},radialaxis:HWe,angularaxis:jWe,gridshape:{valType:"enumerated",values:["circular","linear"],dflt:"circular",editType:"plot"},uirevision:{valType:"any",editType:"none"},editType:"calc"}});var $We=ne((Vyr,ZWe)=>{"use strict";var dP=Zt(),oXt=_a(),sXt=Bo(),lXt=qx(),uXt=mh().getSubplotData,cXt=Xy(),fXt=Nb(),hXt=Hg(),dXt=jg(),vXt=mk(),pXt=j4(),gXt=mI(),mXt=Wb(),XWe=RX(),yXt=kX(),vP=iP(),YWe=vP.axisNames;function xXt(e,t,r,n){var a=r("bgcolor");n.bgColor=oXt.combine(a,n.paper_bgcolor);var i=r("sector");r("hole");var o=uXt(n.fullData,vP.name,n.id),s=n.layoutOut,l;function u(O,R){return r(l+"."+O,R)}for(var c=0;c{"use strict";var _Xt=mh().getSubplotCalcData,wXt=Zt().counterRegex,TXt=DX(),JWe=iP(),QWe=JWe.attr,W2=JWe.name,KWe=wXt(W2),eYe={};eYe[QWe]={valType:"subplotid",dflt:W2,editType:"calc"};function AXt(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[W2],a=0;a{"use strict";var{hovertemplateAttrs:SXt,texttemplateAttrs:EXt,templatefallbackAttrs:rYe}=rs(),gP=ci().extendFlat,kXt=zp(),Fv=Tu(),CXt=os(),Xw=Fv.line;nYe.exports={mode:Fv.mode,r:{valType:"data_array",editType:"calc+clearAxisTypes"},theta:{valType:"data_array",editType:"calc+clearAxisTypes"},r0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dr:{valType:"number",dflt:1,editType:"calc"},theta0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dtheta:{valType:"number",editType:"calc"},thetaunit:{valType:"enumerated",values:["radians","degrees","gradians"],dflt:"degrees",editType:"calc+clearAxisTypes"},text:Fv.text,texttemplate:EXt({editType:"plot"},{keys:["r","theta","text"]}),texttemplatefallback:rYe({editType:"plot"}),hovertext:Fv.hovertext,line:{color:Xw.color,width:Xw.width,dash:Xw.dash,backoff:Xw.backoff,shape:gP({},Xw.shape,{values:["linear","spline"]}),smoothing:Xw.smoothing,editType:"calc"},connectgaps:Fv.connectgaps,marker:Fv.marker,cliponaxis:gP({},Fv.cliponaxis,{dflt:!1}),textposition:Fv.textposition,textfont:Fv.textfont,fill:gP({},Fv.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:kXt(),hoverinfo:gP({},CXt.hoverinfo,{flags:["r","theta","text","name"]}),hoveron:Fv.hoveron,hovertemplate:SXt(),hovertemplatefallback:rYe(),selected:Fv.selected,unselected:Fv.unselected}});var yP=ne((jyr,oYe)=>{"use strict";var mP=Zt(),Zw=ml(),LXt=Kv(),FXt=V0(),aYe=u_(),PXt=G0(),DXt=Bp(),RXt=Ip().PTS_LINESONLY,IXt=J6();function zXt(e,t,r,n){function a(s,l){return mP.coerce(e,t,IXt,s,l)}var i=iYe(e,t,n,a);if(!i){t.visible=!1;return}a("thetaunit"),a("mode",i{"use strict";var qXt=Zt(),sYe=ri();lYe.exports=function(t,r,n){var a={},i=n[r.subplot]._subplot,o,s;i?(o=i.radialAxis,s=i.angularAxis):(i=n[r.subplot],o=i.radialaxis,s=i.angularaxis);var l=o.c2l(t.r);a.rLabel=sYe.tickText(o,l,!0).text;var u=s.thetaunit==="degrees"?qXt.rad2deg(t.theta):t.theta;return a.thetaLabel=sYe.tickText(s,u,!0).text,a}});var fYe=ne((Yyr,cYe)=>{"use strict";var uYe=mi(),BXt=uo().BADNUM,OXt=ri(),NXt=Jv(),UXt=Op(),VXt=mv(),GXt=Qv().calcMarkerSize;cYe.exports=function(t,r){for(var n=t._fullLayout,a=r.subplot,i=n[a].radialaxis,o=n[a].angularaxis,s=i.makeCalcdata(r,"r"),l=o.makeCalcdata(r,"theta"),u=r._length,c=new Array(u),f=0;f{"use strict";var HXt=p_(),hYe=uo().BADNUM;dYe.exports=function(t,r,n){for(var a=r.layers.frontplot.select("g.scatterlayer"),i=r.xaxis,o=r.yaxis,s={xaxis:i,yaxis:o,plot:r.framework,layerClipId:r._hasClipOnAxisFalse?r.clipIds.forTraces:null},l=r.radialAxis,u=r.angularAxis,c=0;c{"use strict";var jXt=x_();function WXt(e,t,r,n){var a=jXt(e,t,r,n);if(!(!a||a[0].index===!1)){var i=a[0];if(i.index===void 0)return a;var o=e.subplot,s=i.cd[i.index],l=i.trace;if(o.isPtInside(s))return i.xLabelVal=void 0,i.yLabelVal=void 0,pYe(s,l,o,i),i.hovertemplate=l.hovertemplate,a}}function pYe(e,t,r,n){var a=r.radialAxis,i=r.angularAxis;a._hovertitle="r",i._hovertitle="\u03B8";var o={};o[t.subplot]={_subplot:r};var s=t._module.formatLabels(e,t,o);n.rLabel=s.rLabel,n.thetaLabel=s.thetaLabel;var l=e.hi||t.hoverinfo,u=[];function c(h,v){u.push(h._hovertitle+": "+v)}if(!t.hovertemplate){var f=l.split("+");f.indexOf("all")!==-1&&(f=["r","theta","text"]),f.indexOf("r")!==-1&&c(a,n.rLabel),f.indexOf("theta")!==-1&&c(i,n.thetaLabel),f.indexOf("text")!==-1&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join("
")}}gYe.exports={hoverPoints:WXt,makeHoverPointText:pYe}});var yYe=ne(($yr,mYe)=>{"use strict";mYe.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:pP(),categories:["polar","symbols","showLegend","scatter-like"],attributes:J6(),supplyDefaults:yP().supplyDefaults,colorbar:bh(),formatLabels:xP(),calc:fYe(),plot:vYe(),style:Md().style,styleOnSelect:Md().styleOnSelect,hoverPoints:bP().hoverPoints,selectPoints:_x(),meta:{}}});var bYe=ne((Kyr,xYe)=>{"use strict";xYe.exports=yYe()});var IX=ne((exr,wYe)=>{"use strict";var _Ye=J6(),{cliponaxis:Jyr,hoveron:Qyr}=_Ye,YXt=C$(_Ye,["cliponaxis","hoveron"]),{connectgaps:XXt,line:{color:ZXt,dash:$Xt,width:KXt},fill:JXt,fillcolor:QXt,marker:eZt,textfont:tZt,textposition:rZt}=QA();wYe.exports=Cg(uv({},YXt),{connectgaps:XXt,fill:JXt,fillcolor:QXt,line:{color:ZXt,dash:$Xt,editType:"calc",width:KXt},marker:eZt,textfont:tZt,textposition:rZt})});var MYe=ne((rxr,AYe)=>{"use strict";var TYe=Zt(),zX=ml(),nZt=yP().handleRThetaDefaults,aZt=Kv(),iZt=V0(),oZt=G0(),sZt=Bp(),lZt=Ip().PTS_LINESONLY,uZt=IX();AYe.exports=function(t,r,n,a){function i(s,l){return TYe.coerce(t,r,uZt,s,l)}var o=nZt(t,r,a,i);if(!o){r.visible=!1;return}i("thetaunit"),i("mode",o{"use strict";var cZt=xP();SYe.exports=function(t,r,n){var a=t.i;return"r"in t||(t.r=r._r[a]),"theta"in t||(t.theta=r._theta[a]),cZt(t,r,n)}});var CYe=ne((axr,kYe)=>{"use strict";var fZt=Jv(),hZt=Qv().calcMarkerSize,dZt=k2(),vZt=ri(),pZt=Km().TOO_MANY_POINTS;kYe.exports=function(t,r){var n=t._fullLayout,a=r.subplot,i=n[a].radialaxis,o=n[a].angularaxis,s=r._r=i.makeCalcdata(r,"r"),l=r._theta=o.makeCalcdata(r,"theta"),u=r._length,c={};u{"use strict";var gZt=Z7(),mZt=bP().makeHoverPointText;function yZt(e,t,r,n){var a=e.cd,i=a[0].t,o=i.r,s=i.theta,l=gZt.hoverPoints(e,t,r,n);if(!(!l||l[0].index===!1)){var u=l[0];if(u.index===void 0)return l;var c=e.subplot,f=u.cd[u.index],h=u.trace;if(f.r=o[u.index],f.theta=s[u.index],!!c.isPtInside(f))return u.xLabelVal=void 0,u.yLabelVal=void 0,mZt(f,h,c,u),l}}LYe.exports={hoverPoints:yZt}});var DYe=ne((oxr,PYe)=>{"use strict";PYe.exports={moduleType:"trace",name:"scatterpolargl",basePlotModule:pP(),categories:["gl","regl","polar","symbols","showLegend","scatter-like"],attributes:IX(),supplyDefaults:MYe(),colorbar:bh(),formatLabels:EYe(),calc:CYe(),hoverPoints:FYe().hoverPoints,selectPoints:yj(),meta:{}}});var RYe=ne((sxr,qX)=>{"use strict";var xZt=J7(),bZt=mi(),_Zt=_W(),wZt=pj(),_P=k2(),wP=Zt(),TZt=Km().TOO_MANY_POINTS,AZt={};qX.exports=function(t,r,n){if(n.length){var a=r.radialAxis,i=r.angularAxis,o=wZt(t,r);return n.forEach(function(s){if(!(!s||!s[0]||!s[0].trace)){var l=s[0],u=l.trace,c=l.t,f=u._length,h=c.r,v=c.theta,d=c.opts,m,x=h.slice(),g=v.slice();for(m=0;m=TZt&&(d.marker.cluster=c.tree),d.marker&&(d.markerSel.positions=d.markerUnsel.positions=d.marker.positions=E),d.line&&E.length>1&&wP.extendFlat(d.line,_P.linePositions(t,u,E)),d.text&&(wP.extendFlat(d.text,{positions:E},_P.textPosition(t,u,d.text,d.marker)),wP.extendFlat(d.textSel,{positions:E},_P.textPosition(t,u,d.text,d.markerSel)),wP.extendFlat(d.textUnsel,{positions:E},_P.textPosition(t,u,d.text,d.markerUnsel))),d.fill&&!o.fill2d&&(o.fill2d=!0),d.marker&&!o.scatter2d&&(o.scatter2d=!0),d.line&&!o.line2d&&(o.line2d=!0),d.text&&!o.glText&&(o.glText=!0),o.lineOptions.push(d.line),o.fillOptions.push(d.fill),o.markerOptions.push(d.marker),o.markerSelectedOptions.push(d.markerSel),o.markerUnselectedOptions.push(d.markerUnsel),o.textOptions.push(d.text),o.textSelectedOptions.push(d.textSel),o.textUnselectedOptions.push(d.textUnsel),o.selectBatch.push([]),o.unselectBatch.push([]),c.x=M,c.y=w,c.rawx=M,c.rawy=w,c.r=h,c.theta=v,c.positions=E,c._scene=o,c.index=o.count,o.count++}}),_Zt(t,r,n)}};qX.exports.reglPrecompiled=AZt});var qYe=ne((lxr,zYe)=>{"use strict";var IYe=DYe();IYe.plot=RYe();zYe.exports=IYe});var OYe=ne((uxr,BYe)=>{"use strict";BYe.exports=qYe()});var BX=ne((cxr,NYe)=>{"use strict";var{hovertemplateAttrs:MZt,templatefallbackAttrs:SZt}=rs(),$w=ci().extendFlat,_y=J6(),wy=Vp();NYe.exports={r:_y.r,theta:_y.theta,r0:_y.r0,dr:_y.dr,theta0:_y.theta0,dtheta:_y.dtheta,thetaunit:_y.thetaunit,base:$w({},wy.base,{}),offset:$w({},wy.offset,{}),width:$w({},wy.width,{}),text:$w({},wy.text,{}),hovertext:$w({},wy.hovertext,{}),marker:EZt(),hoverinfo:_y.hoverinfo,hovertemplate:MZt(),hovertemplatefallback:SZt(),selected:wy.selected,unselected:wy.unselected};function EZt(){var e=$w({},wy.marker);return delete e.cornerradius,e}});var OX=ne((fxr,UYe)=>{"use strict";UYe.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}});var HYe=ne((hxr,GYe)=>{"use strict";var VYe=Zt(),kZt=yP().handleRThetaDefaults,CZt=Qk(),LZt=BX();GYe.exports=function(t,r,n,a){function i(s,l){return VYe.coerce(t,r,LZt,s,l)}var o=kZt(t,r,a,i);if(!o){r.visible=!1;return}i("thetaunit"),i("base"),i("offset"),i("width"),i("text"),i("hovertext"),i("hovertemplate"),i("hovertemplatefallback"),CZt(t,r,i,n,a),VYe.coerceSelectionMarkerOpacity(r,i)}});var WYe=ne((dxr,jYe)=>{"use strict";var FZt=Zt(),PZt=OX();jYe.exports=function(e,t,r){var n={},a;function i(l,u){return FZt.coerce(e[a]||{},t[a],PZt,l,u)}for(var o=0;o{"use strict";var YYe=yh().hasColorscale,XYe=qh(),DZt=Zt().isArrayOrTypedArray,RZt=oT(),IZt=bx().setGroupPositions,zZt=mv(),qZt=Fa().traceIs,BZt=Zt().extendFlat;function OZt(e,t){for(var r=e._fullLayout,n=t.subplot,a=r[n].radialaxis,i=r[n].angularaxis,o=a.makeCalcdata(t,"r"),s=i.makeCalcdata(t,"theta"),l=t._length,u=new Array(l),c=o,f=s,h=0;h{"use strict";var $Ye=Ea(),TP=mi(),Kw=Zt(),UZt=li(),UX=sP();KYe.exports=function(t,r,n){var a=t._context.staticPlot,i=r.xaxis,o=r.yaxis,s=r.radialAxis,l=r.angularAxis,u=VZt(r),c=r.layers.frontplot.select("g.barlayer");Kw.makeTraceGroups(c,n,"trace bars").each(function(){var f=$Ye.select(this),h=Kw.ensureSingle(f,"g","points"),v=h.selectAll("g.point").data(Kw.identity);v.enter().append("g").style("vector-effect",a?"none":"non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),v.exit().remove(),v.each(function(d){var m=$Ye.select(this),x=d.rp0=s.c2p(d.s0),g=d.rp1=s.c2p(d.s1),E=d.thetag0=l.c2g(d.p0),M=d.thetag1=l.c2g(d.p1),w;if(!TP(x)||!TP(g)||!TP(E)||!TP(M)||x===g||E===M)w="M0,0Z";else{var k=s.c2g(d.s1),y=(E+M)/2;d.ct=[i.c2p(k*Math.cos(y)),o.c2p(k*Math.sin(y))],w=u(x,g,E,M)}Kw.ensureSingle(m,"path").attr("d",w)}),UZt.setClipUrl(f,r._hasClipOnAxisFalse?r.clipIds.forTraces:null,t)})};function VZt(e){var t=e.cxx,r=e.cyy;return e.vangles?function(n,a,i,o){var s,l;Kw.angleDelta(i,o)>0?(s=i,l=o):(s=o,l=i);var u=UX.findEnclosingVertexAngles(s,e.vangles)[0],c=UX.findEnclosingVertexAngles(l,e.vangles)[1],f=[u,(s+l)/2,c];return UX.pathPolygonAnnulus(n,a,s,l,f,t,r)}:function(n,a,i,o){return Kw.pathAnnulus(n,a,i,o,t,r)}}});var eXe=ne((gxr,QYe)=>{"use strict";var GZt=cu(),VX=Zt(),HZt=D_().getTraceColor,jZt=VX.fillText,WZt=bP().makeHoverPointText,YZt=sP().isPtInsidePolygon;QYe.exports=function(t,r,n){var a=t.cd,i=a[0].trace,o=t.subplot,s=o.radialAxis,l=o.angularAxis,u=o.vangles,c=u?YZt:VX.isPtInsideSector,f=t.maxHoverDistance,h=l._period||2*Math.PI,v=Math.abs(s.g2p(Math.sqrt(r*r+n*n))),d=Math.atan2(n,r);s.range[0]>s.range[1]&&(d+=Math.PI);var m=function(M){return c(v,d,[M.rp0,M.rp1],[M.thetag0,M.thetag1],u)?f+Math.min(1,Math.abs(M.thetag1-M.thetag0)/h)-1+(M.rp1-v)/(M.rp1-M.rp0)-1:1/0};if(GZt.getClosest(a,m,t),t.index!==!1){var x=t.index,g=a[x];t.x0=t.x1=g.ct[0],t.y0=t.y1=g.ct[1];var E=VX.extendFlat({},g,{r:g.s,theta:g.p});return jZt(g,i,t),WZt(E,i,o,t),t.hovertemplate=i.hovertemplate,t.color=HZt(i,g),t.xLabelVal=t.yLabelVal=void 0,g.s<0&&(t.idealAlign="left"),[t]}}});var rXe=ne((mxr,tXe)=>{"use strict";tXe.exports={moduleType:"trace",name:"barpolar",basePlotModule:pP(),categories:["polar","bar","showLegend"],attributes:BX(),layoutAttributes:OX(),supplyDefaults:HYe(),supplyLayoutDefaults:WYe(),calc:NX().calc,crossTraceCalc:NX().crossTraceCalc,plot:JYe(),colorbar:bh(),formatLabels:xP(),style:n0().style,styleOnSelect:n0().styleOnSelect,hoverPoints:eXe(),selectPoints:R_(),meta:{}}});var aXe=ne((yxr,nXe)=>{"use strict";nXe.exports=rXe()});var GX=ne((xxr,iXe)=>{"use strict";iXe.exports={attr:"subplot",name:"smith",axisNames:["realaxis","imaginaryaxis"],axisName2dataArray:{imaginaryaxis:"imag",realaxis:"real"}}});var HX=ne((bxr,uXe)=>{"use strict";var XZt=Ic(),Uu=Wf(),ZZt=zl().attributes,Ty=Zt().extendFlat,oXe=Il().overrideAll,sXe=oXe({color:Uu.color,showline:Ty({},Uu.showline,{dflt:!0}),linecolor:Uu.linecolor,linewidth:Uu.linewidth,showgrid:Ty({},Uu.showgrid,{dflt:!0}),gridcolor:Uu.gridcolor,gridwidth:Uu.gridwidth,griddash:Uu.griddash},"plot","from-root"),lXe=oXe({ticklen:Uu.ticklen,tickwidth:Ty({},Uu.tickwidth,{dflt:2}),tickcolor:Uu.tickcolor,showticklabels:Uu.showticklabels,labelalias:Uu.labelalias,showtickprefix:Uu.showtickprefix,tickprefix:Uu.tickprefix,showticksuffix:Uu.showticksuffix,ticksuffix:Uu.ticksuffix,tickfont:Uu.tickfont,tickformat:Uu.tickformat,hoverformat:Uu.hoverformat,layer:Uu.layer},"plot","from-root"),$Zt=Ty({visible:Ty({},Uu.visible,{dflt:!0}),tickvals:{dflt:[.2,.5,1,2,5],valType:"data_array",editType:"plot"},tickangle:Ty({},Uu.tickangle,{dflt:90}),ticks:{valType:"enumerated",values:["top","bottom",""],editType:"ticks"},side:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},editType:"calc"},sXe,lXe),KZt=Ty({visible:Ty({},Uu.visible,{dflt:!0}),tickvals:{valType:"data_array",editType:"plot"},ticks:Uu.ticks,editType:"calc"},sXe,lXe);uXe.exports={domain:ZZt({name:"smith",editType:"plot"}),bgcolor:{valType:"color",editType:"plot",dflt:XZt.background},realaxis:$Zt,imaginaryaxis:KZt,editType:"calc"}});var hXe=ne((_xr,fXe)=>{"use strict";var Jw=Zt(),JZt=_a(),QZt=Bo(),e$t=qx(),t$t=mh().getSubplotData,r$t=jg(),n$t=Hg(),a$t=j4(),i$t=Tp(),Qw=HX(),jX=GX(),cXe=jX.axisNames,o$t=l$t(function(e){return Jw.isTypedArray(e)&&(e=Array.from(e)),e.slice().reverse().map(function(t){return-t}).concat([0]).concat(e)},String);function s$t(e,t,r,n){var a=r("bgcolor");n.bgColor=JZt.combine(a,n.paper_bgcolor);var i=t$t(n.fullData,jX.name,n.id),o=n.layoutOut,s;function l(k,y){return r(s+"."+k,y)}for(var u=0;u{"use strict";var u$t=mh().getSubplotCalcData,c$t=Zt().counterRegex,f$t=DX(),vXe=GX(),pXe=vXe.attr,Y2=vXe.name,dXe=c$t(Y2),gXe={};gXe[pXe]={valType:"subplotid",dflt:Y2,editType:"calc"};function h$t(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[Y2],a=0;a{"use strict";var{hovertemplateAttrs:v$t,texttemplateAttrs:p$t,templatefallbackAttrs:xXe}=rs(),AP=ci().extendFlat,g$t=zp(),Pv=Tu(),m$t=os(),e5=Pv.line;bXe.exports={mode:Pv.mode,real:{valType:"data_array",editType:"calc+clearAxisTypes"},imag:{valType:"data_array",editType:"calc+clearAxisTypes"},text:Pv.text,texttemplate:p$t({editType:"plot"},{keys:["real","imag","text"]}),texttemplatefallback:xXe({editType:"plot"}),hovertext:Pv.hovertext,line:{color:e5.color,width:e5.width,dash:e5.dash,backoff:e5.backoff,shape:AP({},e5.shape,{values:["linear","spline"]}),smoothing:e5.smoothing,editType:"calc"},connectgaps:Pv.connectgaps,marker:Pv.marker,cliponaxis:AP({},Pv.cliponaxis,{dflt:!1}),textposition:Pv.textposition,textfont:Pv.textfont,fill:AP({},Pv.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:g$t(),hoverinfo:AP({},m$t.hoverinfo,{flags:["real","imag","text","name"]}),hoveron:Pv.hoveron,hovertemplate:v$t(),hovertemplatefallback:xXe(),selected:Pv.selected,unselected:Pv.unselected}});var TXe=ne((Axr,wXe)=>{"use strict";var MP=Zt(),t5=ml(),y$t=Kv(),x$t=V0(),_Xe=u_(),b$t=G0(),_$t=Bp(),w$t=Ip().PTS_LINESONLY,T$t=WX();wXe.exports=function(t,r,n,a){function i(l,u){return MP.coerce(t,r,T$t,l,u)}var o=A$t(t,r,a,i);if(!o){r.visible=!1;return}i("mode",o{"use strict";var AXe=ri();MXe.exports=function(t,r,n){var a={},i=n[r.subplot]._subplot;return a.realLabel=AXe.tickText(i.radialAxis,t.real,!0).text,a.imagLabel=AXe.tickText(i.angularAxis,t.imag,!0).text,a}});var CXe=ne((Sxr,kXe)=>{"use strict";var EXe=mi(),M$t=uo().BADNUM,S$t=Jv(),E$t=Op(),k$t=mv(),C$t=Qv().calcMarkerSize;kXe.exports=function(t,r){for(var n=t._fullLayout,a=r.subplot,i=n[a].realaxis,o=n[a].imaginaryaxis,s=i.makeCalcdata(r,"real"),l=o.makeCalcdata(r,"imag"),u=r._length,c=new Array(u),f=0;f{"use strict";var L$t=p_(),LXe=uo().BADNUM,F$t=FX(),P$t=F$t.smith;FXe.exports=function(t,r,n){for(var a=r.layers.frontplot.select("g.scatterlayer"),i=r.xaxis,o=r.yaxis,s={xaxis:i,yaxis:o,plot:r.framework,layerClipId:r._hasClipOnAxisFalse?r.clipIds.forTraces:null},l=0;l{"use strict";var D$t=x_();function R$t(e,t,r,n){var a=D$t(e,t,r,n);if(!(!a||a[0].index===!1)){var i=a[0];if(i.index===void 0)return a;var o=e.subplot,s=i.cd[i.index],l=i.trace;if(o.isPtInside(s))return i.xLabelVal=void 0,i.yLabelVal=void 0,DXe(s,l,o,i),i.hovertemplate=l.hovertemplate,a}}function DXe(e,t,r,n){var a=r.radialAxis,i=r.angularAxis;a._hovertitle="real",i._hovertitle="imag";var o={};o[t.subplot]={_subplot:r};var s=t._module.formatLabels(e,t,o);n.realLabel=s.realLabel,n.imagLabel=s.imagLabel;var l=e.hi||t.hoverinfo,u=[];function c(h,v){u.push(h._hovertitle+": "+v)}if(!t.hovertemplate){var f=l.split("+");f.indexOf("all")!==-1&&(f=["real","imag","text"]),f.indexOf("real")!==-1&&c(a,n.realLabel),f.indexOf("imag")!==-1&&c(i,n.imagLabel),f.indexOf("text")!==-1&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join("
")}}RXe.exports={hoverPoints:R$t,makeHoverPointText:DXe}});var qXe=ne((Cxr,zXe)=>{"use strict";zXe.exports={moduleType:"trace",name:"scattersmith",basePlotModule:yXe(),categories:["smith","symbols","showLegend","scatter-like"],attributes:WX(),supplyDefaults:TXe(),colorbar:bh(),formatLabels:SXe(),calc:CXe(),plot:PXe(),style:Md().style,styleOnSelect:Md().styleOnSelect,hoverPoints:IXe().hoverPoints,selectPoints:_x(),meta:{}}});var OXe=ne((Lxr,BXe)=>{"use strict";BXe.exports=qXe()});var XX=ne((Fxr,NXe)=>{"use strict";var I$t=os(),z$t=rs().hovertemplateAttrs,SP=Wl().axisHoverFormat,YX=ci().extendFlat,q$t=Ys(),B$t=xf().dash,O$t=om(),X2=Tu(),N$t={x:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},x0:X2.x0,dx:X2.dx,y:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},y0:X2.y0,dy:X2.dy,u:{valType:"data_array",editType:"calc",anim:!0},v:{valType:"data_array",editType:"calc",anim:!0},anglemode:{valType:"enumerated",values:["paper","data"],dflt:"axis",editType:"calc"},sizemode:{valType:"enumerated",values:["scaled","raw"],editType:"calc",dflt:"scaled"},sizeref:{valType:"number",min:0,editType:"calc",dflt:1},anchor:{valType:"enumerated",values:["tip","tail","center"],dflt:"tail",editType:"calc"},xhoverformat:SP("x"),yhoverformat:SP("y"),uhoverformat:SP("u","noDate"),vhoverformat:SP("v","noDate"),hoverinfo:YX({},I$t.hoverinfo,{flags:["x","y","u","v","text","name"],dflt:"all"}),hovertemplate:z$t({},{keys:["x","y","u","v","text","name"]}),text:X2.text,textposition:X2.textposition,textfont:X2.textfont,marker:YX({arrowsize:YX({},O$t.arrowsize,{editType:"calc"}),line:{width:{valType:"number",min:0,dflt:2,editType:"style"},dash:B$t,editType:"style"},editType:"calc"},q$t("marker",{showScaleDflt:!0,editTypeOverride:"calc"})),selected:{marker:{color:{valType:"color",editType:"style"},line:{width:{valType:"number",min:0,editType:"style"},editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},unselected:{marker:{color:{valType:"color",editType:"style"},line:{width:{valType:"number",min:0,editType:"style"},editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"}};NXe.exports=N$t});var VXe=ne((Pxr,UXe)=>{"use strict";var Q6=Zt(),U$t=XX(),V$t=yx(),G$t=yh().hasColorscale,H$t=bf();UXe.exports=function(t,r,n,a){function i(d,m){return Q6.coerce(t,r,U$t,d,m)}var o=V$t(t,r,a,i);if(!o){r.visible=!1;return}var s=i("u"),l=i("v");if(!Q6.isArrayOrTypedArray(s)||s.length===0){r.u=new Array(o);for(var u=0;u{"use strict";var wg=Zt(),r5=ri(),eM=mi(),GXe=uo().BADNUM,j$t=qh(),W$t=mv();HXe.exports=function(t,r){let n=r._xA=r5.getFromId(t,r.xaxis||"x","x"),a=r._yA=r5.getFromId(t,r.yaxis||"y","y"),i=n.makeCalcdata(r,"x"),o=a.makeCalcdata(r,"y"),s=Math.min(i.length,o.length);r._length=s;let l=new Array(s);var u=1/0,c=-1/0,f=1/0,h=-1/0;let v=r.marker.color,d=wg.isArrayOrTypedArray(v),m=r.u||[],x=r.v||[],g=r.anglemode,E=r.sizemode,M=r.anchor,w=M==="tip",k=M==="center";for(var y=1/0,S=-1/0,T=1/0,p=-1/0,C=1/0,A=-1/0,P=1/0,D=-1/0,z=0,q=0;qS&&(S=i[q]),o[q]p&&(p=o[q]),BA&&(A=B),YD&&(D=Y);var X=Math.sqrt(B*B+Y*Y);if(X>c&&(c=X),Xh&&(h=te))}}else U.x=GXe,U.y=GXe}if(r._maxNorm=c,E==="scaled"||g==="paper"){let he=(S-y)*(p-T)/s;he===0?r._scaleFactor=1/r._maxNorm:r._scaleFactor=Math.sqrt(he)/r._maxNorm}else r._scaleFactor=1;r._scaleFactor*=r.sizeref;let se=new Array(s),ue=new Array(s),re=new Array(s),j=new Array(s);for(var fe,ce,q=0;q{"use strict";WXe.exports=function(t,r){}});var EP=ne((Ixr,$Xe)=>{"use strict";var ZX=Ea(),XXe=Zt(),tM=li(),Y$t=El(),X$t=A1().DESELECTDIM;function $X(e,t){var r=t.marker||{},n=Y$t.makeColorScaleFuncFromTrace(r);e.style("stroke",function(a){var i=r.color,o;if(XXe.isArrayOrTypedArray(i)&&i.length>a.i&&isFinite(i[a.i]))o=i[a.i];else{var s=t.u&&t.u[a.i]||0,l=t.v&&t.v[a.i]||0;o=Math.sqrt(s*s+l*l)}return n(o)})}function Z$t(e){var t=ZX.select(e).selectAll("g.trace.quiver");t.each(function(r){ZXe(e,r,ZX.select(this))})}function $$t(e,t,r){ZXe(e,t,r)}function ZXe(e,t,r){var n=t[0].trace,a=n.marker||{},i=a.line||{},o=XXe.isArrayOrTypedArray(a.color)?void 0:a.color,s=n._hasColorscale;if(r)if(n.selectedpoints){var l=(n.selected||{}).marker||{},u=(n.unselected||{}).marker||{},c=l.line||{},f=u.line||{};r.selectAll("path.js-line").each(function(v){var d=ZX.select(this),m=!v.selected,x=m?u.color:l.color,g=m?f.width!==void 0?f.width:i.width:c.width!==void 0?c.width:i.width;x?(tM.lineGroupStyle(d,g,x,i.dash),d.style("stroke-opacity",1)):(tM.lineGroupStyle(d,g,o,i.dash),s&&$X(d,n),d.style("stroke-opacity",m?X$t:1))}),tM.selectedTextStyle(r.selectAll("text"),n)}else{var h=r.selectAll("path.js-line");h.call(tM.lineGroupStyle,i.width,o,i.dash),s&&$X(h,n),h.style("stroke-opacity",1),tM.textPointStyle(r.selectAll("text"),n,e)}}$Xe.exports={style:Z$t,styleOnSelect:$$t,colorscaleStroke:$X}});var QXe=ne((zxr,JXe)=>{"use strict";var dp=Ea(),K$t=Zt(),rM=li(),J$t=EP().colorscaleStroke,kP=Math.PI/12,Q$t=5.8,eKt=1.5,tKt=.7;JXe.exports=function(t,r,n,a,i,o){var s,l,u=!i,c=!!i&&i.duration>0;if(s=a.selectAll("g.trace").data(n,function(h){return h[0].trace.uid}),s.enter().append("g").attr("class",function(h){return"trace quiver trace"+h[0].trace.uid}).style("stroke-miterlimit",2),s.order(),c){o&&(l=o());var f=dp.transition().duration(i.duration).ease(i.easing).each("end",function(){l&&l()}).each("interrupt",function(){l&&l()});f.each(function(){a.selectAll("g.trace").each(function(h,v){KXe(t,v,r,h,n,this,i)})})}else s.each(function(h,v){KXe(t,v,r,h,n,this,i)});u&&s.exit().remove()};function KXe(e,t,r,n,a,i,o){var s=n[0].trace,l=r.xaxis,u=r.yaxis;n[0][r.isRangePlot?"nodeRangePlot3":"node3"]=dp.select(i);var c=dp.select(i).selectAll("g.lines").data([n]);c.enter().append("g").classed("lines",!0),rM.setClipUrl(c,r.layerClipId,e);var f=c.selectAll("path.js-line").data(n);f.enter().append("path").classed("js-line",!0).style("vector-effect","non-scaling-stroke"),f.exit().remove();let h=s._maxNorm||0,v=s.anglemode,d=s.sizemode,m=s.sizeref,x=s.anchor,g=v==="paper"?s._scaleFactor*Math.sqrt(Math.abs(l._m*u._m)):s._scaleFactor,E=s.marker.arrowsize;f.each(function(p){let C=dp.select(this);if(p.x===void 0||p.y===void 0){C.attr("d",null);return}let A=(v==="paper"?p._u*Math.sign(l._m):dp.round(l._m*p._u))*g,P=(v==="paper"?p._v*Math.sign(u._m):dp.round(u._m*p._v))*g,D=(s._input.marker||{}).arrowsize!==void 0;var z,q,U,O;x==="tip"?(z=l.c2p(p.x)-A,U=u.c2p(p.y)-P,q=l.c2p(p.x),O=u.c2p(p.y)):x==="center"?(z=l.c2p(p.x)-A/2,U=u.c2p(p.y)-P/2,q=l.c2p(p.x)+A/2,O=u.c2p(p.y)+P/2):(z=l.c2p(p.x),U=u.c2p(p.y),q=l.c2p(p.x)+A,O=u.c2p(p.y)+P),p._px0=z,p._py0=U,p._px1=q,p._py1=O;var R=s.marker.line.width;D||(R=Math.max(R,eKt));let B=Math.sqrt((q-z)*(q-z)+(O-U)*(O-U)),Y=tKt*B,X=Math.min(Q$t*E*R,Y),te=Math.atan2(O-U,q-z),se=q-X*Math.cos(te-kP),ue=O-X*Math.sin(te-kP),re=q-X*Math.cos(te+kP),j=O-X*Math.sin(te+kP),fe="M"+z+","+U+"L"+q+","+O+"L"+se+","+ue+"L"+q+","+O+"L"+re+","+j;C.attr("d",fe)});var M=s.marker||{},w=M.line||{},k=K$t.isArrayOrTypedArray(M.color)?void 0:M.color;rM.lineGroupStyle(f,w.width,k,w.dash),s._hasColorscale&&J$t(f,s);var y=dp.select(i).selectAll("g.text").data([n]);y.enter().append("g").classed("text",!0),rM.setClipUrl(y,r.layerClipId,e);var S=y.selectAll("g.textpoint").data(n);if(S.enter().append("g").classed("textpoint",!0).append("text"),S.exit().remove(),S.each(function(p){var C=dp.select(this),A=rM.translatePoint(p,C.select("text"),l,u);A||C.remove()}),S.selectAll("text").call(rM.textPointStyle,s,e).each(function(p){var C=l.c2p(p.x),A=u.c2p(p.y);dp.select(this).selectAll("tspan.line").each(function(){dp.select(this).attr({x:C,y:A})})}),o&&o.duration>0){var T=dp.transition().duration(o.duration).ease(o.easing);f.transition(T).style("opacity",1)}}});var rZe=ne((qxr,tZe)=>{"use strict";var eZe=Zt(),rKt=cu(),nKt=y_();function aKt(e,t,r,n,a,i){let o=a-r,s=i-n,l=o*o+s*s;if(!l)return Math.sqrt((e-r)*(e-r)+(t-n)*(t-n));var u=((e-r)*o+(t-n)*s)/l;u=Math.max(0,Math.min(1,u));let c=r+u*o,f=n+u*s;return Math.sqrt((e-c)*(e-c)+(t-f)*(t-f))}tZe.exports=function(t,r,n,a){var i=t.cd,o=i[0].trace,s=t.xa,l=t.ya,u=s.c2p(r),c=l.c2p(n),f=function(M){return M._px0===void 0?1/0:aKt(u,c,M._px0,M._py0,M._px1,M._py1)};if(rKt.getClosest(i,f,t),t.index!==!1){var h=i[t.index],v=s.c2p(h.x,!0),d=l.c2p(h.y,!0),m=Math.sqrt((u-v)*(u-v)+(c-d)*(c-d));t.index=h.i;var x=o.u?o.u[h.i]:0,g=o.v?o.v[h.i]:0,E="u: "+x+", v: "+g;return eZe.extendFlat(t,{color:nKt(o,h),x0:v-3,x1:v+3,xLabelVal:h.x,y0:d-3,y1:d+3,yLabelVal:h.y,uLabelVal:x,vLabelVal:g,extraText:E,spikeDistance:m,hovertemplate:o.hovertemplate}),eZe.fillText(h,o,t),[t]}}});var iZe=ne((Bxr,aZe)=>{"use strict";var CP=ri(),nZe=Zt();aZe.exports=function(t,r,n){var a={},i={_fullLayout:n},o=CP.getFromTrace(i,r,"x"),s=CP.getFromTrace(i,r,"y"),l=t.x,u=t.y;a.xLabel=CP.tickText(o,o.c2l(l),!0).text,a.yLabel=CP.tickText(s,s.c2l(u),!0).text;var c=r.u?r.u[t.i]:0,f=r.v?r.v[t.i]:0,h=r.uhoverformat,v=r.vhoverformat;return a.uLabel=h?nZe.numberFormat(h)(c):String(c),a.vLabel=v?nZe.numberFormat(v)(f):String(f),a}});var sZe=ne((Oxr,oZe)=>{"use strict";oZe.exports=function(t,r,n,a,i){return t.x=r.x,t.y=r.y,t.u=n.u?n.u[i]:void 0,t.v=n.v?n.v[i]:void 0,t}});var uZe=ne((Nxr,lZe)=>{"use strict";lZe.exports={moduleType:"trace",name:"quiver",basePlotModule:Ku(),categories:["cartesian","svg","showLegend","scatter-like","zoomScale"],attributes:XX(),supplyDefaults:VXe(),calc:jXe(),crossTraceCalc:YXe(),plot:QXe(),style:EP().style,styleOnSelect:EP().styleOnSelect,hoverPoints:rZe(),formatLabels:iZe(),eventData:sZe(),selectPoints:_x(),colorbar:bh(),animatable:!0,meta:{}}});var fZe=ne((Uxr,cZe)=>{"use strict";cZe.exports=uZe()});var Yh=ne((Vxr,dZe)=>{var FP=Uc();function hZe(){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={}}FP(hZe.prototype,{instance:function(e,t){e=(e||"gregorian").toLowerCase(),t=t||"";var r=this._localCals[e+"-"+t];if(!r&&this.calendars[e]&&(r=new this.calendars[e](t),this._localCals[e+"-"+t]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,e);return r},newDate:function(e,t,r,n,a){return n=(e!=null&&e.year?e.calendar():typeof n=="string"?this.instance(n,a):n)||this.instance(),n.newDate(e,t,r)},substituteDigits:function(e){return function(t){return(t+"").replace(/[0-9]/g,function(r){return e[r]})}},substituteChineseDigits:function(e,t){return function(r){for(var n="",a=0;r>0;){var i=r%10;n=(i===0?"":e[i]+t[a])+n,a++,r=Math.floor(r/10)}return n.indexOf(e[1]+t[1])===0&&(n=n.substr(1)),n||e[0]}}});function KX(e,t,r,n){if(this._calendar=e,this._year=t,this._month=r,this._day=n,this._calendar._validateLevel===0&&!this._calendar.isValid(this._year,this._month,this._day))throw(bo.local.invalidDate||bo.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function LP(e,t){return e=""+e,"000000".substring(0,t-e.length)+e}FP(KX.prototype,{newDate:function(e,t,r){return this._calendar.newDate(e==null?this:e,t,r)},year:function(e){return arguments.length===0?this._year:this.set(e,"y")},month:function(e){return arguments.length===0?this._month:this.set(e,"m")},day:function(e){return arguments.length===0?this._day:this.set(e,"d")},date:function(e,t,r){if(!this._calendar.isValid(e,t,r))throw(bo.local.invalidDate||bo.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=e,this._month=t,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(e,t){return this._calendar.add(this,e,t)},set:function(e,t){return this._calendar.set(this,e,t)},compareTo:function(e){if(this._calendar.name!==e._calendar.name)throw(bo.local.differentCalendars||bo.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,e._calendar.local.name);var t=this._year!==e._year?this._year-e._year:this._month!==e._month?this.monthOfYear()-e.monthOfYear():this._day-e._day;return t===0?0:t<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(e){return this._calendar.fromJD(e)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(e){return this._calendar.fromJSDate(e)},toString:function(){return(this.year()<0?"-":"")+LP(Math.abs(this.year()),4)+"-"+LP(this.month(),2)+"-"+LP(this.day(),2)}});function JX(){this.shortYearCutoff="+10"}FP(JX.prototype,{_validateLevel:0,newDate:function(e,t,r){return e==null?this.today():(e.year&&(this._validate(e,t,r,bo.local.invalidDate||bo.regionalOptions[""].invalidDate),r=e.day(),t=e.month(),e=e.year()),new KX(this,e,t,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(e){var t=this._validate(e,this.minMonth,this.minDay,bo.local.invalidYear||bo.regionalOptions[""].invalidYear);return t.year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,bo.local.invalidYear||bo.regionalOptions[""].invalidYear);return(t.year()<0?"-":"")+LP(Math.abs(t.year()),4)},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,bo.local.invalidYear||bo.regionalOptions[""].invalidYear),12},monthOfYear:function(e,t){var r=this._validate(e,t,this.minDay,bo.local.invalidMonth||bo.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(e,t){var r=(t+this.firstMonth-2*this.minMonth)%this.monthsInYear(e)+this.minMonth;return this._validate(e,r,this.minDay,bo.local.invalidMonth||bo.regionalOptions[""].invalidMonth),r},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,bo.local.invalidYear||bo.regionalOptions[""].invalidYear);return this.leapYear(t)?366:365},dayOfYear:function(e,t,r){var n=this._validate(e,t,r,bo.local.invalidDate||bo.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,bo.local.invalidDate||bo.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(e,t,r){return this._validate(e,t,r,bo.local.invalidDate||bo.regionalOptions[""].invalidDate),{}},add:function(e,t,r){return this._validate(e,this.minMonth,this.minDay,bo.local.invalidDate||bo.regionalOptions[""].invalidDate),this._correctAdd(e,this._add(e,t,r),t,r)},_add:function(e,t,r){if(this._validateLevel++,r==="d"||r==="w"){var n=e.toJD()+t*(r==="w"?this.daysInWeek():1),a=e.calendar().fromJD(n);return this._validateLevel--,[a.year(),a.month(),a.day()]}try{var i=e.year()+(r==="y"?t:0),o=e.monthOfYear()+(r==="m"?t:0),a=e.day(),s=function(c){for(;of-1+c.minMonth;)i++,o-=f,f=c.monthsInYear(i)};r==="y"?(e.month()!==this.fromMonthOfYear(i,o)&&(o=this.newDate(i,e.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(i)),a=Math.min(a,this.daysInMonth(i,this.fromMonthOfYear(i,o)))):r==="m"&&(s(this),a=Math.min(a,this.daysInMonth(i,this.fromMonthOfYear(i,o))));var l=[i,this.fromMonthOfYear(i,o),a];return this._validateLevel--,l}catch(u){throw this._validateLevel--,u}},_correctAdd:function(e,t,r,n){if(!this.hasYearZero&&(n==="y"||n==="m")&&(t[0]===0||e.year()>0!=t[0]>0)){var a={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],i=r<0?-1:1;t=this._add(e,r*a[0]+i*a[1],a[2])}return e.date(t[0],t[1],t[2])},set:function(e,t,r){this._validate(e,this.minMonth,this.minDay,bo.local.invalidDate||bo.regionalOptions[""].invalidDate);var n=r==="y"?t:e.year(),a=r==="m"?t:e.month(),i=r==="d"?t:e.day();return(r==="y"||r==="m")&&(i=Math.min(i,this.daysInMonth(n,a))),e.date(n,a,i)},isValid:function(e,t,r){this._validateLevel++;var n=this.hasYearZero||e!==0;if(n){var a=this.newDate(e,t,this.minDay);n=t>=this.minMonth&&t-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),u=a-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(e,t,r){var n=this._validate(e,t,r,bo.local.invalidDate||bo.regionalOptions[""].invalidDate),a=new Date(n.year(),n.month()-1,n.day());return a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0),a.setHours(a.getHours()>12?a.getHours()+2:0),a},fromJSDate:function(e){return this.newDate(e.getFullYear(),e.getMonth()+1,e.getDate())}});var bo=dZe.exports=new hZe;bo.cdate=KX;bo.baseCalendar=JX;bo.calendars.gregorian=QX});var vZe=ne(()=>{var eZ=Uc(),eh=Yh();eZ(eh.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"});eh.local=eh.regionalOptions[""];eZ(eh.cdate.prototype,{formatDate:function(e,t){return typeof e!="string"&&(t=e,e=""),this._calendar.formatDate(e||"",this,t)}});eZ(eh.baseCalendar.prototype,{UNIX_EPOCH:eh.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:1440*60,TICKS_EPOCH:eh.instance().jdEpoch,TICKS_PER_DAY:1440*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(e,t,r){if(typeof e!="string"&&(r=t,t=e,e=""),!t)return"";if(t.calendar()!==this)throw eh.local.invalidFormat||eh.regionalOptions[""].invalidFormat;e=e||this.local.dateFormat,r=r||{};for(var n=r.dayNamesShort||this.local.dayNamesShort,a=r.dayNames||this.local.dayNames,i=r.monthNumbers||this.local.monthNumbers,o=r.monthNamesShort||this.local.monthNamesShort,s=r.monthNames||this.local.monthNames,l=r.calculateWeek||this.local.calculateWeek,u=function(w,k){for(var y=1;M+y1},c=function(w,k,y,S){var T=""+k;if(u(w,S))for(;T.length1},E=function(P,D){var z=g(P,D),q=[2,3,z?4:2,z?4:2,10,11,20]["oyYJ@!".indexOf(P)+1],U=new RegExp("^-?\\d{1,"+q+"}"),O=t.substring(T).match(U);if(!O)throw(eh.local.missingNumberAt||eh.regionalOptions[""].missingNumberAt).replace(/\{0\}/,T);return T+=O[0].length,parseInt(O[0],10)},M=this,w=function(){if(typeof s=="function"){g("m");var P=s.call(M,t.substring(T));return T+=P.length,P}return E("m")},k=function(P,D,z,q){for(var U=g(P,q)?z:D,O=0;O-1){h=1,v=d;for(var A=this.daysInMonth(f,h);v>A;A=this.daysInMonth(f,h))h++,v-=A}return c>-1?this.fromJD(c):this.newDate(f,h,v)},determineDate:function(e,t,r,n,a){r&&typeof r!="object"&&(a=n,n=r,r=null),typeof n!="string"&&(a=n,n="");var i=this,o=function(s){try{return i.parseDate(n,s,a)}catch(f){}s=s.toLowerCase();for(var l=(s.match(/^c/)&&r?r.newDate():null)||i.today(),u=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,c=u.exec(s);c;)l.add(parseInt(c[1],10),c[2]||"d"),c=u.exec(s);return l};return t=t?t.newDate():null,e=e==null?t:typeof e=="string"?o(e):typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?t:i.today().add(e,"d"):i.newDate(e),e}})});var pZe=ne(()=>{var Ay=Yh(),iKt=Uc(),tZ=Ay.instance();function PP(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}PP.prototype=new Ay.baseCalendar;iKt(PP.prototype,{name:"Chinese",jdEpoch:17214255e-1,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(e,t){if(typeof e=="string"){var r=e.match(sKt);return r?r[0]:""}var n=this._validateYear(e),a=e.month(),i=""+this.toChineseMonth(n,a);return t&&i.length<2&&(i="0"+i),this.isIntercalaryMonth(n,a)&&(i+="i"),i},monthNames:function(e){if(typeof e=="string"){var t=e.match(lKt);return t?t[0]:""}var r=this._validateYear(e),n=e.month(),a=this.toChineseMonth(r,n),i=["\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"][a-1];return this.isIntercalaryMonth(r,n)&&(i="\u95F0"+i),i},monthNamesShort:function(e){if(typeof e=="string"){var t=e.match(uKt);return t?t[0]:""}var r=this._validateYear(e),n=e.month(),a=this.toChineseMonth(r,n),i=["\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D","\u4E03","\u516B","\u4E5D","\u5341","\u5341\u4E00","\u5341\u4E8C"][a-1];return this.isIntercalaryMonth(r,n)&&(i="\u95F0"+i),i},parseMonth:function(e,t){e=this._validateYear(e);var r=parseInt(t),n;if(isNaN(r))t[0]==="\u95F0"&&(n=!0,t=t.substring(1)),t[t.length-1]==="\u6708"&&(t=t.substring(0,t.length-1)),r=1+["\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D","\u4E03","\u516B","\u4E5D","\u5341","\u5341\u4E00","\u5341\u4E8C"].indexOf(t);else{var a=t[t.length-1];n=a==="i"||a==="I"}var i=this.toMonthIndex(e,r,n);return i},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(e,t){if(e.year&&(e=e.year()),typeof e!="number"||e<1888||e>2111)throw t.replace(/\{0\}/,this.local.name);return e},toMonthIndex:function(e,t,r){var n=this.intercalaryMonth(e),a=r&&t!==n;if(a||t<1||t>12)throw Ay.local.invalidMonth.replace(/\{0\}/,this.local.name);var i;return n?!r&&t<=n?i=t-1:i=t:i=t-1,i},toChineseMonth:function(e,t){e.year&&(e=e.year(),t=e.month());var r=this.intercalaryMonth(e),n=r?12:11;if(t<0||t>n)throw Ay.local.invalidMonth.replace(/\{0\}/,this.local.name);var a;return r?t>13;return r},isIntercalaryMonth:function(e,t){e.year&&(e=e.year(),t=e.month());var r=this.intercalaryMonth(e);return!!r&&r===t},leapYear:function(e){return this.intercalaryMonth(e)!==0},weekOfYear:function(e,t,r){var n=this._validateYear(e,Ay.local.invalidyear),a=Sy[n-Sy[0]],i=a>>9&4095,o=a>>5&15,s=a&31,l;l=tZ.newDate(i,o,s),l.add(4-(l.dayOfWeek()||7),"d");var u=this.toJD(e,t,r)-l.toJD();return 1+Math.floor(u/7)},monthsInYear:function(e){return this.leapYear(e)?13:12},daysInMonth:function(e,t){e.year&&(t=e.month(),e=e.year()),e=this._validateYear(e);var r=My[e-My[0]],n=r>>13,a=n?12:11;if(t>a)throw Ay.local.invalidMonth.replace(/\{0\}/,this.local.name);var i=r&1<<12-t?30:29;return i},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,i,r,Ay.local.invalidDate);e=this._validateYear(n.year()),t=n.month(),r=n.day();var a=this.isIntercalaryMonth(e,t),i=this.toChineseMonth(e,t),o=fKt(e,i,r,a);return tZ.toJD(o.year,o.month,o.day)},fromJD:function(e){var t=tZ.fromJD(e),r=cKt(t.year(),t.month(),t.day()),n=this.toMonthIndex(r.year,r.month,r.isIntercalary);return this.newDate(r.year,n,r.day)},fromString:function(e){var t=e.match(oKt),r=this._validateYear(+t[1]),n=+t[2],a=!!t[3],i=this.toMonthIndex(r,n,a),o=+t[4];return this.newDate(r,i,o)},add:function(e,t,r){var n=e.year(),a=e.month(),i=this.isIntercalaryMonth(n,a),o=this.toChineseMonth(n,a),s=Object.getPrototypeOf(PP.prototype).add.call(this,e,t,r);if(r==="y"){var l=s.year(),u=s.month(),c=this.isIntercalaryMonth(l,o),f=i&&c?this.toMonthIndex(l,o,!0):this.toMonthIndex(l,o,!1);f!==u&&s.month(f)}return s}});var oKt=/^\s*(-?\d\d\d\d|\d\d)[-/](\d?\d)([iI]?)[-/](\d?\d)/m,sKt=/^\d?\d[iI]?/m,lKt=/^闰?十?[一二三四五六七八九]?月/m,uKt=/^闰?十?[一二三四五六七八九]?/m;Ay.calendars.chinese=PP;var My=[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],Sy=[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 cKt(e,t,r,n){var a,i;if(typeof e=="object")a=e,i=t||{};else{var o=typeof e=="number"&&e>=1888&&e<=2111;if(!o)throw new Error("Solar year outside range 1888-2111");var s=typeof t=="number"&&t>=1&&t<=12;if(!s)throw new Error("Solar month outside range 1 - 12");var l=typeof r=="number"&&r>=1&&r<=31;if(!l)throw new Error("Solar day outside range 1 - 31");a={year:e,month:t,day:r},i=n||{}}var u=Sy[a.year-Sy[0]],c=a.year<<9|a.month<<5|a.day;i.year=c>=u?a.year:a.year-1,u=Sy[i.year-Sy[0]];var f=u>>9&4095,h=u>>5&15,v=u&31,d,m=new Date(f,h-1,v),x=new Date(a.year,a.month-1,a.day);d=Math.round((x-m)/(24*3600*1e3));var g=My[i.year-My[0]],E;for(E=0;E<13;E++){var M=g&1<<12-E?30:29;if(d>13;return!w||E=1888&&e<=2111;if(!s)throw new Error("Lunar year outside range 1888-2111");var l=typeof t=="number"&&t>=1&&t<=12;if(!l)throw new Error("Lunar month outside range 1 - 12");var u=typeof r=="number"&&r>=1&&r<=30;if(!u)throw new Error("Lunar day outside range 1 - 30");var c;typeof n=="object"?(c=!1,i=n):(c=!!n,i=a||{}),o={year:e,month:t,day:r,isIntercalary:c}}var f;f=o.day-1;var h=My[o.year-My[0]],v=h>>13,d;v&&(o.month>v||o.isIntercalary)?d=o.month:d=o.month-1;for(var m=0;m>9&4095,M=g>>5&15,w=g&31,k=new Date(E,M-1,w+f);return i.year=k.getFullYear(),i.month=1+k.getMonth(),i.day=k.getDate(),i}});var gZe=ne(()=>{var Z2=Yh(),hKt=Uc();function rZ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}rZ.prototype=new Z2.baseCalendar;hKt(rZ.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(r){var t=this._validate(r,this.minMonth,this.minDay,Z2.local.invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===3||r%4===-1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Z2.local.invalidYear||Z2.regionalOptions[""].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Z2.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===13&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,Z2.local.invalidDate);return e=n.year(),e<0&&e++,n.day()+(n.month()-1)*30+(e-1)*365+Math.floor(e/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,a=t-(n-1)*30+1;return this.newDate(r,n,a)}});Z2.calendars.coptic=rZ});var mZe=ne(()=>{var Tg=Yh(),dKt=Uc();function nZ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}nZ.prototype=new Tg.baseCalendar;dKt(nZ.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(e){return this._validate(e,this.minMonth,this.minDay,Tg.local.invalidYear),!1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Tg.local.invalidYear),13},daysInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Tg.local.invalidYear),400},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Tg.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,Tg.local.invalidDate);return(n.day()+1)%8},weekDay:function(e,t,r){var n=this.dayOfWeek(e,t,r);return n>=2&&n<=6},extraInfo:function(e,t,r){var n=this._validate(e,t,r,Tg.local.invalidDate);return{century:vKt[Math.floor((n.year()-1)/100)+1]||""}},toJD:function(e,t,r){var n=this._validate(e,t,r,Tg.local.invalidDate);return e=n.year()+(n.year()<0?1:0),t=n.month(),r=n.day(),r+(t>1?16:0)+(t>2?(t-2)*32:0)+(e-1)*400+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e+.5)-Math.floor(this.jdEpoch)-1;var t=Math.floor(e/400)+1;e-=(t-1)*400,e+=e>15?16:0;var r=Math.floor(e/32)+1,n=e-(r-1)*32+1;return this.newDate(t<=0?t-1:t,r,n)}});var vKt={20:"Fruitbat",21:"Anchovy"};Tg.calendars.discworld=nZ});var yZe=ne(()=>{var $2=Yh(),pKt=Uc();function aZ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}aZ.prototype=new $2.baseCalendar;pKt(aZ.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(r){var t=this._validate(r,this.minMonth,this.minDay,$2.local.invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===3||r%4===-1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,$2.local.invalidYear||$2.regionalOptions[""].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,$2.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===13&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,$2.local.invalidDate);return e=n.year(),e<0&&e++,n.day()+(n.month()-1)*30+(e-1)*365+Math.floor(e/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,a=t-(n-1)*30+1;return this.newDate(r,n,a)}});$2.calendars.ethiopian=aZ});var xZe=ne(()=>{var Ey=Yh(),gKt=Uc();function iZ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}iZ.prototype=new Ey.baseCalendar;gKt(iZ.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(e){var t=this._validate(e,this.minMonth,this.minDay,Ey.local.invalidYear);return this._leapYear(t.year())},_leapYear:function(e){return e=e<0?e+1:e,DP(e*7+1,19)<7},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Ey.local.invalidYear),this._leapYear(e.year?e.year():e)?13:12},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Ey.local.invalidYear);return e=t.year(),this.toJD(e===-1?1:e+1,7,1)-this.toJD(e,7,1)},daysInMonth:function(e,t){return e.year&&(t=e.month(),e=e.year()),this._validate(e,t,this.minDay,Ey.local.invalidMonth),t===12&&this.leapYear(e)||t===8&&DP(this.daysInYear(e),10)===5?30:t===9&&DP(this.daysInYear(e),10)===3?29:this.daysPerMonth[t-1]},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==6},extraInfo:function(e,t,r){var n=this._validate(e,t,r,Ey.local.invalidDate);return{yearType:(this.leapYear(n)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(n)%10-3]}},toJD:function(e,t,r){var n=this._validate(e,t,r,Ey.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var a=e<=0?e+1:e,i=this.jdEpoch+this._delay1(a)+this._delay2(a)+r+1;if(t<7){for(var o=7;o<=this.monthsInYear(e);o++)i+=this.daysInMonth(e,o);for(var o=1;o=this.toJD(t===-1?1:t+1,7,1);)t++;for(var r=ethis.toJD(t,r,this.daysInMonth(t,r));)r++;var n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}});function DP(e,t){return e-t*Math.floor(e/t)}Ey.calendars.hebrew=iZ});var bZe=ne(()=>{var nM=Yh(),mKt=Uc();function oZ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}oZ.prototype=new nM.baseCalendar;mKt(oZ.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(e){var t=this._validate(e,this.minMonth,this.minDay,nM.local.invalidYear);return(t.year()*11+14)%30<11},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){return this.leapYear(e)?355:354},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,nM.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,nM.local.invalidDate);return e=n.year(),t=n.month(),r=n.day(),e=e<=0?e+1:e,r+Math.ceil(29.5*(t-1))+(e-1)*354+Math.floor((3+11*e)/30)+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=Math.floor((30*(e-this.jdEpoch)+10646)/10631);t=t<=0?t-1:t;var r=Math.min(12,Math.ceil((e-29-this.toJD(t,1,1))/29.5)+1),n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}});nM.calendars.islamic=oZ});var _Ze=ne(()=>{var aM=Yh(),yKt=Uc();function sZ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}sZ.prototype=new aM.baseCalendar;yKt(sZ.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(r){var t=this._validate(r,this.minMonth,this.minDay,aM.local.invalidYear),r=t.year()<0?t.year()+1:t.year();return r%4===0},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,aM.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,aM.local.invalidDate);return e=n.year(),t=n.month(),r=n.day(),e<0&&e++,t<=2&&(e--,t+=12),Math.floor(365.25*(e+4716))+Math.floor(30.6001*(t+1))+r-1524.5},fromJD:function(e){var t=Math.floor(e+.5),r=t+1524,n=Math.floor((r-122.1)/365.25),a=Math.floor(365.25*n),i=Math.floor((r-a)/30.6001),o=i-Math.floor(i<14?1:13),s=n-Math.floor(o>2?4716:4715),l=r-a-Math.floor(30.6001*i);return s<=0&&s--,this.newDate(s,o,l)}});aM.calendars.julian=sZ});var TZe=ne(()=>{var A0=Yh(),xKt=Uc();function uZ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}uZ.prototype=new A0.baseCalendar;xKt(uZ.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,A0.local.invalidYear),!1},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,A0.local.invalidYear);e=t.year();var r=Math.floor(e/400);e=e%400,e+=e<0?400:0;var n=Math.floor(e/20);return r+"."+n+"."+e%20},forYear:function(e){if(e=e.split("."),e.length<3)throw"Invalid Mayan year";for(var t=0,r=0;r19||r>0&&n<0)throw"Invalid Mayan year";t=t*20+n}return t},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,A0.local.invalidYear),18},weekOfYear:function(e,t,r){return this._validate(e,t,r,A0.local.invalidDate),0},daysInYear:function(e){return this._validate(e,this.minMonth,this.minDay,A0.local.invalidYear),360},daysInMonth:function(e,t){return this._validate(e,t,this.minDay,A0.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,A0.local.invalidDate);return n.day()},weekDay:function(e,t,r){return this._validate(e,t,r,A0.local.invalidDate),!0},extraInfo:function(e,t,r){var n=this._validate(e,t,r,A0.local.invalidDate),a=n.toJD(),i=this._toHaab(a),o=this._toTzolkin(a);return{haabMonthName:this.local.haabMonths[i[0]-1],haabMonth:i[0],haabDay:i[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(e){e-=this.jdEpoch;var t=lZ(e+8+340,365);return[Math.floor(t/20)+1,lZ(t,20)]},_toTzolkin:function(e){return e-=this.jdEpoch,[wZe(e+20,20),wZe(e+4,13)]},toJD:function(e,t,r){var n=this._validate(e,t,r,A0.local.invalidDate);return n.day()+n.month()*20+n.year()*360+this.jdEpoch},fromJD:function(e){e=Math.floor(e)+.5-this.jdEpoch;var t=Math.floor(e/360);e=e%360,e+=e<0?360:0;var r=Math.floor(e/20),n=e%20;return this.newDate(t,r,n)}});function lZ(e,t){return e-t*Math.floor(e/t)}function wZe(e,t){return lZ(e-1,t)+1}A0.calendars.mayan=uZ});var MZe=ne(()=>{var K2=Yh(),bKt=Uc();function cZ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}cZ.prototype=new K2.baseCalendar;var AZe=K2.instance("gregorian");bKt(cZ.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(e){var t=this._validate(e,this.minMonth,this.minDay,K2.local.invalidYear||K2.regionalOptions[""].invalidYear);return AZe.leapYear(t.year()+(t.year()<1?1:0)+1469)},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,K2.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(a,t,r){var n=this._validate(a,t,r,K2.local.invalidMonth),a=n.year();a<0&&a++;for(var i=n.day(),o=1;o=this.toJD(t+1,1,1);)t++;for(var r=e-Math.floor(this.toJD(t,1,1)+.5)+1,n=1;r>this.daysInMonth(t,n);)r-=this.daysInMonth(t,n),n++;return this.newDate(t,n,r)}});K2.calendars.nanakshahi=cZ});var SZe=ne(()=>{var J2=Yh(),_Kt=Uc();function fZ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}fZ.prototype=new J2.baseCalendar;_Kt(fZ.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(e){return this.daysInYear(e)!==this.daysPerYear},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,J2.local.invalidYear);if(e=t.year(),typeof this.NEPALI_CALENDAR_DATA[e]=="undefined")return this.daysPerYear;for(var r=0,n=this.minMonth;n<=12;n++)r+=this.NEPALI_CALENDAR_DATA[e][n];return r},daysInMonth:function(e,t){return e.year&&(t=e.month(),e=e.year()),this._validate(e,t,this.minDay,J2.local.invalidMonth),typeof this.NEPALI_CALENDAR_DATA[e]=="undefined"?this.daysPerMonth[t-1]:this.NEPALI_CALENDAR_DATA[e][t]},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==6},toJD:function(e,t,r){var n=this._validate(e,t,r,J2.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var a=J2.instance(),i=0,o=t,s=e;this._createMissingCalendarData(e);var l=e-(o>9||o===9&&r>=this.NEPALI_CALENDAR_DATA[s][0]?56:57);for(t!==9&&(i=r,o--);o!==9;)o<=0&&(o=12,s--),i+=this.NEPALI_CALENDAR_DATA[s][o],o--;return t===9?(i+=r-this.NEPALI_CALENDAR_DATA[s][0],i<0&&(i+=a.daysInYear(l))):i+=this.NEPALI_CALENDAR_DATA[s][9]-this.NEPALI_CALENDAR_DATA[s][0],a.newDate(l,1,1).add(i,"d").toJD()},fromJD:function(e){var t=J2.instance(),r=t.fromJD(e),n=r.year(),a=r.dayOfYear(),i=n+56;this._createMissingCalendarData(i);for(var o=9,s=this.NEPALI_CALENDAR_DATA[i][0],l=this.NEPALI_CALENDAR_DATA[i][o]-s+1;a>l;)o++,o>12&&(o=1,i++),l+=this.NEPALI_CALENDAR_DATA[i][o];var u=this.NEPALI_CALENDAR_DATA[i][o]-(l-a);return this.newDate(i,o,u)},_createMissingCalendarData:function(e){var t=this.daysPerMonth.slice(0);t.unshift(17);for(var r=e-1;r{var n5=Yh(),wKt=Uc();function IP(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}function RP(e){var t=e-475;e<0&&t++;var r=.242197,n=r*t,a=r*(t+1),i=n-Math.floor(n),o=a-Math.floor(a);return i>o}IP.prototype=new n5.baseCalendar;wKt(IP.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(e){var t=this._validate(e,this.minMonth,this.minDay,n5.local.invalidYear);return RP(t.year())},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-((n.dayOfWeek()+1)%7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,n5.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,n5.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var a=0;if(e>0)for(var i=1;i0?e-1:e)*365+a+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=475+(e-this.toJD(475,1,1))/365.242197,r=Math.floor(t);r<=0&&r--,e>this.toJD(r,12,RP(r)?30:29)&&(r++,r===0&&r++);var n=e-this.toJD(r,1,1)+1,a=n<=186?Math.ceil(n/31):Math.ceil((n-6)/30),i=e-this.toJD(r,a,1)+1;return this.newDate(r,a,i)}});n5.calendars.persian=IP;n5.calendars.jalali=IP});var kZe=ne(()=>{var Q2=Yh(),TKt=Uc(),zP=Q2.instance();function hZ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}hZ.prototype=new Q2.baseCalendar;TKt(hZ.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(r){var t=this._validate(r,this.minMonth,this.minDay,Q2.local.invalidYear),r=this._t2gYear(t.year());return zP.leapYear(r)},weekOfYear:function(a,t,r){var n=this._validate(a,this.minMonth,this.minDay,Q2.local.invalidYear),a=this._t2gYear(n.year());return zP.weekOfYear(a,n.month(),n.day())},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Q2.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(a,t,r){var n=this._validate(a,t,r,Q2.local.invalidDate),a=this._t2gYear(n.year());return zP.toJD(a,n.month(),n.day())},fromJD:function(e){var t=zP.fromJD(e),r=this._g2tYear(t.year());return this.newDate(r,t.month(),t.day())},_t2gYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)},_g2tYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)}});Q2.calendars.taiwan=hZ});var CZe=ne(()=>{var eb=Yh(),AKt=Uc(),qP=eb.instance();function dZ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}dZ.prototype=new eb.baseCalendar;AKt(dZ.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(r){var t=this._validate(r,this.minMonth,this.minDay,eb.local.invalidYear),r=this._t2gYear(t.year());return qP.leapYear(r)},weekOfYear:function(a,t,r){var n=this._validate(a,this.minMonth,this.minDay,eb.local.invalidYear),a=this._t2gYear(n.year());return qP.weekOfYear(a,n.month(),n.day())},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,eb.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(a,t,r){var n=this._validate(a,t,r,eb.local.invalidDate),a=this._t2gYear(n.year());return qP.toJD(a,n.month(),n.day())},fromJD:function(e){var t=qP.fromJD(e),r=this._g2tYear(t.year());return this.newDate(r,t.month(),t.day())},_t2gYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)},_g2tYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)}});eb.calendars.thai=dZ});var LZe=ne(()=>{var tb=Yh(),MKt=Uc();function vZ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}vZ.prototype=new tb.baseCalendar;MKt(vZ.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(e){var t=this._validate(e,this.minMonth,this.minDay,tb.local.invalidYear);return this.daysInYear(t.year())===355},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){for(var t=0,r=1;r<=12;r++)t+=this.daysInMonth(e,r);return t},daysInMonth:function(e,t){for(var r=this._validate(e,t,this.minDay,tb.local.invalidMonth),n=r.toJD()-24e5+.5,a=0,i=0;in)return ky[a]-ky[a-1];a++}return 30},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,tb.local.invalidDate),a=12*(n.year()-1)+n.month()-15292,i=n.day()+ky[a-1]-1;return i+24e5-.5},fromJD:function(e){for(var t=e-24e5+.5,r=0,n=0;nt);n++)r++;var a=r+15292,i=Math.floor((a-1)/12),o=i+1,s=a-12*i,l=t-ky[r-1]+1;return this.newDate(o,s,l)},isValid:function(e,t,r){var n=tb.baseCalendar.prototype.isValid.apply(this,arguments);return n&&(e=e.year!=null?e.year:e,n=e>=1276&&e<=1500),n},_validate:function(e,t,r,n){var a=tb.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw n.replace(/\{0\}/,this.local.name);return a}});tb.calendars.ummalqura=vZ;var ky=[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]});var PZe=ne((x2r,FZe)=>{"use strict";FZe.exports=Yh();vZe();pZe();gZe();mZe();yZe();xZe();bZe();_Ze();TZe();MZe();SZe();EZe();kZe();CZe();LZe()});var OZe=ne((b2r,BZe)=>{"use strict";var RZe=PZe(),iM=Zt(),IZe=uo(),SKt=IZe.EPOCHJD,EKt=IZe.ONEDAY,mZ={valType:"enumerated",values:iM.sortObjectKeys(RZe.calendars),editType:"calc",dflt:"gregorian"},zZe=function(e,t,r,n){var a={};return a[r]=mZ,iM.coerce(e,t,a,r,n)},kKt=function(e,t,r,n){for(var a=0;a{"use strict";NZe.exports=OZe()});var RKt=ne((w2r,GZe)=>{var VZe=C0e();VZe.register([Fpe(),y1e(),Dge(),eme(),vme(),cye(),Tye(),fxe(),Nxe(),w2e(),ube(),SAe(),p6e(),oSe(),XSe(),MEe(),ZEe(),bCe(),OCe(),n8e(),p8e(),C8e(),H8e(),oLe(),N7e(),o9e(),Aze(),Aqe(),RBe(),oOe(),TNe(),BNe(),lUe(),gVe(),NVe(),_Ge(),GHe(),vje(),Ije(),sWe(),_We(),bYe(),OYe(),aXe(),OXe(),fZe(),UZe()]);GZe.exports=VZe});return RKt();})(); /*! * The buffer module from node.js, for the browser. * diff --git a/plotly/validators/_validators.json b/plotly/validators/_validators.json index 3ac4b840084..99e3b1b9724 100644 --- a/plotly/validators/_validators.json +++ b/plotly/validators/_validators.json @@ -253,14 +253,6 @@ }, "superclass": "NumberValidator" }, - "layout.yaxis.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "layout.yaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.yaxis.tickvals": { "params": { "plotly_name": "tickvals", @@ -269,14 +261,6 @@ }, "superclass": "DataArrayValidator" }, - "layout.yaxis.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "layout.yaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.yaxis.ticktext": { "params": { "plotly_name": "ticktext", @@ -420,14 +404,6 @@ }, "superclass": "EnumeratedValidator" }, - "layout.yaxis.ticklabelindexsrc": { - "params": { - "plotly_name": "ticklabelindexsrc", - "parent_name": "layout.yaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.yaxis.ticklabelindex": { "params": { "plotly_name": "ticklabelindex", @@ -1079,14 +1055,6 @@ }, "superclass": "NumberValidator" }, - "layout.yaxis.minor.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "layout.yaxis.minor", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.yaxis.minor.tickvals": { "params": { "plotly_name": "tickvals", @@ -1488,14 +1456,6 @@ }, "superclass": "EnumeratedValidator" }, - "layout.yaxis.categoryarraysrc": { - "params": { - "plotly_name": "categoryarraysrc", - "parent_name": "layout.yaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.yaxis.categoryarray": { "params": { "plotly_name": "categoryarray", @@ -1589,14 +1549,6 @@ }, "superclass": "AnyValidator" }, - "layout.yaxis.autorangeoptions.includesrc": { - "params": { - "plotly_name": "includesrc", - "parent_name": "layout.yaxis.autorangeoptions", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.yaxis.autorangeoptions.include": { "params": { "plotly_name": "include", @@ -1921,14 +1873,6 @@ }, "superclass": "NumberValidator" }, - "layout.xaxis.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "layout.xaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.xaxis.tickvals": { "params": { "plotly_name": "tickvals", @@ -1937,14 +1881,6 @@ }, "superclass": "DataArrayValidator" }, - "layout.xaxis.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "layout.xaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.xaxis.ticktext": { "params": { "plotly_name": "ticktext", @@ -2088,14 +2024,6 @@ }, "superclass": "EnumeratedValidator" }, - "layout.xaxis.ticklabelindexsrc": { - "params": { - "plotly_name": "ticklabelindexsrc", - "parent_name": "layout.xaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.xaxis.ticklabelindex": { "params": { "plotly_name": "ticklabelindex", @@ -3169,14 +3097,6 @@ }, "superclass": "NumberValidator" }, - "layout.xaxis.minor.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "layout.xaxis.minor", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.xaxis.minor.tickvals": { "params": { "plotly_name": "tickvals", @@ -3578,14 +3498,6 @@ }, "superclass": "EnumeratedValidator" }, - "layout.xaxis.categoryarraysrc": { - "params": { - "plotly_name": "categoryarraysrc", - "parent_name": "layout.xaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.xaxis.categoryarray": { "params": { "plotly_name": "categoryarray", @@ -3671,14 +3583,6 @@ }, "superclass": "AnyValidator" }, - "layout.xaxis.autorangeoptions.includesrc": { - "params": { - "plotly_name": "includesrc", - "parent_name": "layout.xaxis.autorangeoptions", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.xaxis.autorangeoptions.include": { "params": { "plotly_name": "include", @@ -5031,14 +4935,6 @@ }, "superclass": "NumberValidator" }, - "layout.ternary.caxis.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "layout.ternary.caxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.ternary.caxis.tickvals": { "params": { "plotly_name": "tickvals", @@ -5047,14 +4943,6 @@ }, "superclass": "DataArrayValidator" }, - "layout.ternary.caxis.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "layout.ternary.caxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.ternary.caxis.ticktext": { "params": { "plotly_name": "ticktext", @@ -5725,14 +5613,6 @@ }, "superclass": "NumberValidator" }, - "layout.ternary.baxis.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "layout.ternary.baxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.ternary.baxis.tickvals": { "params": { "plotly_name": "tickvals", @@ -5741,14 +5621,6 @@ }, "superclass": "DataArrayValidator" }, - "layout.ternary.baxis.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "layout.ternary.baxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.ternary.baxis.ticktext": { "params": { "plotly_name": "ticktext", @@ -6411,14 +6283,6 @@ }, "superclass": "NumberValidator" }, - "layout.ternary.aaxis.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "layout.ternary.aaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.ternary.aaxis.tickvals": { "params": { "plotly_name": "tickvals", @@ -6427,14 +6291,6 @@ }, "superclass": "DataArrayValidator" }, - "layout.ternary.aaxis.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "layout.ternary.aaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.ternary.aaxis.ticktext": { "params": { "plotly_name": "ticktext", @@ -7100,15 +6956,6 @@ }, "superclass": "CompoundArrayValidator" }, - "layout.template.data.scattermapbox": { - "params": { - "plotly_name": "scattermapbox", - "parent_name": "layout.template.data", - "data_class_str": "Scattermapbox", - "data_docs": "\n" - }, - "superclass": "CompoundArrayValidator" - }, "layout.template.data.scattergl": { "params": { "plotly_name": "scattergl", @@ -7154,6 +7001,15 @@ }, "superclass": "CompoundArrayValidator" }, + "layout.template.data.quiver": { + "params": { + "plotly_name": "quiver", + "parent_name": "layout.template.data", + "data_class_str": "Quiver", + "data_docs": "\n" + }, + "superclass": "CompoundArrayValidator" + }, "layout.template.data.pie": { "params": { "plotly_name": "pie", @@ -7298,15 +7154,6 @@ }, "superclass": "CompoundArrayValidator" }, - "layout.template.data.densitymapbox": { - "params": { - "plotly_name": "densitymapbox", - "parent_name": "layout.template.data", - "data_class_str": "Densitymapbox", - "data_docs": "\n" - }, - "superclass": "CompoundArrayValidator" - }, "layout.template.data.contour": { "params": { "plotly_name": "contour", @@ -7352,15 +7199,6 @@ }, "superclass": "CompoundArrayValidator" }, - "layout.template.data.choroplethmapbox": { - "params": { - "plotly_name": "choroplethmapbox", - "parent_name": "layout.template.data", - "data_class_str": "Choroplethmapbox", - "data_docs": "\n" - }, - "superclass": "CompoundArrayValidator" - }, "layout.template.data.carpet": { "params": { "plotly_name": "carpet", @@ -7458,14 +7296,6 @@ }, "superclass": "NumberValidator" }, - "layout.smith.realaxis.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "layout.smith.realaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.smith.realaxis.tickvals": { "params": { "plotly_name": "tickvals", @@ -7828,14 +7658,6 @@ }, "superclass": "NumberValidator" }, - "layout.smith.imaginaryaxis.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "layout.smith.imaginaryaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.smith.imaginaryaxis.tickvals": { "params": { "plotly_name": "tickvals", @@ -8952,14 +8774,6 @@ }, "superclass": "EnumeratedValidator" }, - "layout.shape.yrefsrc": { - "params": { - "plotly_name": "yrefsrc", - "parent_name": "layout.shape", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.shape.yref": { "params": { "plotly_name": "yref", @@ -9029,14 +8843,6 @@ }, "superclass": "EnumeratedValidator" }, - "layout.shape.xrefsrc": { - "params": { - "plotly_name": "xrefsrc", - "parent_name": "layout.shape", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.shape.xref": { "params": { "plotly_name": "xref", @@ -10031,14 +9837,6 @@ }, "superclass": "NumberValidator" }, - "layout.scene.zaxis.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "layout.scene.zaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.scene.zaxis.tickvals": { "params": { "plotly_name": "tickvals", @@ -10047,14 +9845,6 @@ }, "superclass": "DataArrayValidator" }, - "layout.scene.zaxis.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "layout.scene.zaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.scene.zaxis.ticktext": { "params": { "plotly_name": "ticktext", @@ -10667,14 +10457,6 @@ }, "superclass": "EnumeratedValidator" }, - "layout.scene.zaxis.categoryarraysrc": { - "params": { - "plotly_name": "categoryarraysrc", - "parent_name": "layout.scene.zaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.scene.zaxis.categoryarray": { "params": { "plotly_name": "categoryarray", @@ -10756,14 +10538,6 @@ }, "superclass": "AnyValidator" }, - "layout.scene.zaxis.autorangeoptions.includesrc": { - "params": { - "plotly_name": "includesrc", - "parent_name": "layout.scene.zaxis.autorangeoptions", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.scene.zaxis.autorangeoptions.include": { "params": { "plotly_name": "include", @@ -11008,14 +10782,6 @@ }, "superclass": "NumberValidator" }, - "layout.scene.yaxis.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "layout.scene.yaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.scene.yaxis.tickvals": { "params": { "plotly_name": "tickvals", @@ -11024,14 +10790,6 @@ }, "superclass": "DataArrayValidator" }, - "layout.scene.yaxis.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "layout.scene.yaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.scene.yaxis.ticktext": { "params": { "plotly_name": "ticktext", @@ -11644,14 +11402,6 @@ }, "superclass": "EnumeratedValidator" }, - "layout.scene.yaxis.categoryarraysrc": { - "params": { - "plotly_name": "categoryarraysrc", - "parent_name": "layout.scene.yaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.scene.yaxis.categoryarray": { "params": { "plotly_name": "categoryarray", @@ -11733,14 +11483,6 @@ }, "superclass": "AnyValidator" }, - "layout.scene.yaxis.autorangeoptions.includesrc": { - "params": { - "plotly_name": "includesrc", - "parent_name": "layout.scene.yaxis.autorangeoptions", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.scene.yaxis.autorangeoptions.include": { "params": { "plotly_name": "include", @@ -11985,14 +11727,6 @@ }, "superclass": "NumberValidator" }, - "layout.scene.xaxis.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "layout.scene.xaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.scene.xaxis.tickvals": { "params": { "plotly_name": "tickvals", @@ -12001,14 +11735,6 @@ }, "superclass": "DataArrayValidator" }, - "layout.scene.xaxis.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "layout.scene.xaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.scene.xaxis.ticktext": { "params": { "plotly_name": "ticktext", @@ -12621,14 +12347,6 @@ }, "superclass": "EnumeratedValidator" }, - "layout.scene.xaxis.categoryarraysrc": { - "params": { - "plotly_name": "categoryarraysrc", - "parent_name": "layout.scene.xaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.scene.xaxis.categoryarray": { "params": { "plotly_name": "categoryarray", @@ -12710,14 +12428,6 @@ }, "superclass": "AnyValidator" }, - "layout.scene.xaxis.autorangeoptions.includesrc": { - "params": { - "plotly_name": "includesrc", - "parent_name": "layout.scene.xaxis.autorangeoptions", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.scene.xaxis.autorangeoptions.include": { "params": { "plotly_name": "include", @@ -13905,14 +13615,6 @@ }, "superclass": "NumberValidator" }, - "layout.polar.radialaxis.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "layout.polar.radialaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.polar.radialaxis.tickvals": { "params": { "plotly_name": "tickvals", @@ -13921,14 +13623,6 @@ }, "superclass": "DataArrayValidator" }, - "layout.polar.radialaxis.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "layout.polar.radialaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.polar.radialaxis.ticktext": { "params": { "plotly_name": "ticktext", @@ -14539,14 +14233,6 @@ }, "superclass": "EnumeratedValidator" }, - "layout.polar.radialaxis.categoryarraysrc": { - "params": { - "plotly_name": "categoryarraysrc", - "parent_name": "layout.polar.radialaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.polar.radialaxis.categoryarray": { "params": { "plotly_name": "categoryarray", @@ -14632,14 +14318,6 @@ }, "superclass": "AnyValidator" }, - "layout.polar.radialaxis.autorangeoptions.includesrc": { - "params": { - "plotly_name": "includesrc", - "parent_name": "layout.polar.radialaxis.autorangeoptions", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.polar.radialaxis.autorangeoptions.include": { "params": { "plotly_name": "include", @@ -14864,14 +14542,6 @@ }, "superclass": "NumberValidator" }, - "layout.polar.angularaxis.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "layout.polar.angularaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.polar.angularaxis.tickvals": { "params": { "plotly_name": "tickvals", @@ -14880,14 +14550,6 @@ }, "superclass": "DataArrayValidator" }, - "layout.polar.angularaxis.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "layout.polar.angularaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.polar.angularaxis.ticktext": { "params": { "plotly_name": "ticktext", @@ -15464,14 +15126,6 @@ }, "superclass": "EnumeratedValidator" }, - "layout.polar.angularaxis.categoryarraysrc": { - "params": { - "plotly_name": "categoryarraysrc", - "parent_name": "layout.polar.angularaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.polar.angularaxis.categoryarray": { "params": { "plotly_name": "categoryarray", @@ -16115,14 +15769,6 @@ }, "superclass": "AnyValidator" }, - "layout.modebar.removesrc": { - "params": { - "plotly_name": "removesrc", - "parent_name": "layout.modebar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.modebar.remove": { "params": { "plotly_name": "remove", @@ -16160,14 +15806,6 @@ }, "superclass": "ColorValidator" }, - "layout.modebar.addsrc": { - "params": { - "plotly_name": "addsrc", - "parent_name": "layout.modebar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.modebar.add": { "params": { "plotly_name": "add", @@ -16203,14 +15841,6 @@ }, "superclass": "NumberValidator" }, - "layout.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "layout", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "layout.meta": { "params": { "plotly_name": "meta", @@ -16282,93 +15912,94 @@ }, "superclass": "BooleanValidator" }, - "layout.mapbox": { + "layout.map": { "params": { - "plotly_name": "mapbox", + "plotly_name": "map", "parent_name": "layout", - "data_class_str": "Mapbox", + "data_class_str": "Map", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "layout.mapbox.zoom": { + "layout.map.zoom": { "params": { "plotly_name": "zoom", - "parent_name": "layout.mapbox", + "parent_name": "layout.map", "edit_type": "plot" }, "superclass": "NumberValidator" }, - "layout.mapbox.uirevision": { + "layout.map.uirevision": { "params": { "plotly_name": "uirevision", - "parent_name": "layout.mapbox", + "parent_name": "layout.map", "edit_type": "none" }, "superclass": "AnyValidator" }, - "layout.mapbox.style": { + "layout.map.style": { "params": { "plotly_name": "style", - "parent_name": "layout.mapbox", + "parent_name": "layout.map", "edit_type": "plot", "values": [ "basic", - "streets", - "outdoors", - "light", - "dark", - "satellite", - "satellite-streets", "carto-darkmatter", + "carto-darkmatter-nolabels", "carto-positron", + "carto-positron-nolabels", + "carto-voyager", + "carto-voyager-nolabels", + "dark", + "light", "open-street-map", - "stamen-terrain", - "stamen-toner", - "stamen-watercolor", + "outdoors", + "satellite", + "satellite-streets", + "streets", "white-bg" ] }, "superclass": "AnyValidator" }, - "layout.mapbox.pitch": { + "layout.map.pitch": { "params": { "plotly_name": "pitch", - "parent_name": "layout.mapbox", + "parent_name": "layout.map", "edit_type": "plot" }, "superclass": "NumberValidator" }, - "layout.mapbox.layerdefaults": { + "layout.map.layerdefaults": { "params": { "plotly_name": "layerdefaults", - "parent_name": "layout.mapbox", + "parent_name": "layout.map", "data_class_str": "Layer", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "layout.mapbox.layers": { + "layout.map.layers": { "params": { "plotly_name": "layers", - "parent_name": "layout.mapbox", + "parent_name": "layout.map", "data_class_str": "Layer", "data_docs": "\n" }, "superclass": "CompoundArrayValidator" }, - "layout.mapbox.layer.visible": { + "layout.map.layer.visible": { "params": { "plotly_name": "visible", - "parent_name": "layout.mapbox.layer", + "parent_name": "layout.map.layer", "edit_type": "plot" }, "superclass": "BooleanValidator" }, - "layout.mapbox.layer.type": { + "layout.map.layer.type": { "params": { "plotly_name": "type", - "parent_name": "layout.mapbox.layer", + "parent_name": "layout.map.layer", "edit_type": "plot", "values": [ "circle", @@ -16380,27 +16011,27 @@ }, "superclass": "EnumeratedValidator" }, - "layout.mapbox.layer.templateitemname": { + "layout.map.layer.templateitemname": { "params": { "plotly_name": "templateitemname", - "parent_name": "layout.mapbox.layer", + "parent_name": "layout.map.layer", "edit_type": "plot" }, "superclass": "StringValidator" }, - "layout.mapbox.layer.symbol": { + "layout.map.layer.symbol": { "params": { "plotly_name": "symbol", - "parent_name": "layout.mapbox.layer", + "parent_name": "layout.map.layer", "data_class_str": "Symbol", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "layout.mapbox.layer.symbol.textposition": { + "layout.map.layer.symbol.textposition": { "params": { "plotly_name": "textposition", - "parent_name": "layout.mapbox.layer.symbol", + "parent_name": "layout.map.layer.symbol", "array_ok": false, "edit_type": "plot", "values": [ @@ -16417,19 +16048,19 @@ }, "superclass": "EnumeratedValidator" }, - "layout.mapbox.layer.symbol.textfont": { + "layout.map.layer.symbol.textfont": { "params": { "plotly_name": "textfont", - "parent_name": "layout.mapbox.layer.symbol", + "parent_name": "layout.map.layer.symbol", "data_class_str": "Textfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "layout.mapbox.layer.symbol.textfont.weight": { + "layout.map.layer.symbol.textfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "layout.mapbox.layer.symbol.textfont", + "parent_name": "layout.map.layer.symbol.textfont", "edit_type": "plot", "extras": [ "normal", @@ -16440,10 +16071,10 @@ }, "superclass": "IntegerValidator" }, - "layout.mapbox.layer.symbol.textfont.style": { + "layout.map.layer.symbol.textfont.style": { "params": { "plotly_name": "style", - "parent_name": "layout.mapbox.layer.symbol.textfont", + "parent_name": "layout.map.layer.symbol.textfont", "edit_type": "plot", "values": [ "normal", @@ -16452,45 +16083,45 @@ }, "superclass": "EnumeratedValidator" }, - "layout.mapbox.layer.symbol.textfont.size": { + "layout.map.layer.symbol.textfont.size": { "params": { "plotly_name": "size", - "parent_name": "layout.mapbox.layer.symbol.textfont", + "parent_name": "layout.map.layer.symbol.textfont", "edit_type": "plot", "min": 1 }, "superclass": "NumberValidator" }, - "layout.mapbox.layer.symbol.textfont.family": { + "layout.map.layer.symbol.textfont.family": { "params": { "plotly_name": "family", - "parent_name": "layout.mapbox.layer.symbol.textfont", + "parent_name": "layout.map.layer.symbol.textfont", "edit_type": "plot", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "layout.mapbox.layer.symbol.textfont.color": { + "layout.map.layer.symbol.textfont.color": { "params": { "plotly_name": "color", - "parent_name": "layout.mapbox.layer.symbol.textfont", + "parent_name": "layout.map.layer.symbol.textfont", "edit_type": "plot" }, "superclass": "ColorValidator" }, - "layout.mapbox.layer.symbol.text": { + "layout.map.layer.symbol.text": { "params": { "plotly_name": "text", - "parent_name": "layout.mapbox.layer.symbol", + "parent_name": "layout.map.layer.symbol", "edit_type": "plot" }, "superclass": "StringValidator" }, - "layout.mapbox.layer.symbol.placement": { + "layout.map.layer.symbol.placement": { "params": { "plotly_name": "placement", - "parent_name": "layout.mapbox.layer.symbol", + "parent_name": "layout.map.layer.symbol", "edit_type": "plot", "values": [ "point", @@ -16500,26 +16131,26 @@ }, "superclass": "EnumeratedValidator" }, - "layout.mapbox.layer.symbol.iconsize": { + "layout.map.layer.symbol.iconsize": { "params": { "plotly_name": "iconsize", - "parent_name": "layout.mapbox.layer.symbol", + "parent_name": "layout.map.layer.symbol", "edit_type": "plot" }, "superclass": "NumberValidator" }, - "layout.mapbox.layer.symbol.icon": { + "layout.map.layer.symbol.icon": { "params": { "plotly_name": "icon", - "parent_name": "layout.mapbox.layer.symbol", + "parent_name": "layout.map.layer.symbol", "edit_type": "plot" }, "superclass": "StringValidator" }, - "layout.mapbox.layer.sourcetype": { + "layout.map.layer.sourcetype": { "params": { "plotly_name": "sourcetype", - "parent_name": "layout.mapbox.layer", + "parent_name": "layout.map.layer", "edit_type": "plot", "values": [ "geojson", @@ -16530,172 +16161,176 @@ }, "superclass": "EnumeratedValidator" }, - "layout.mapbox.layer.sourcelayer": { + "layout.map.layer.sourcelayer": { "params": { "plotly_name": "sourcelayer", - "parent_name": "layout.mapbox.layer", + "parent_name": "layout.map.layer", "edit_type": "plot" }, "superclass": "StringValidator" }, - "layout.mapbox.layer.sourceattribution": { + "layout.map.layer.sourceattribution": { "params": { "plotly_name": "sourceattribution", - "parent_name": "layout.mapbox.layer", + "parent_name": "layout.map.layer", "edit_type": "plot" }, "superclass": "StringValidator" }, - "layout.mapbox.layer.source": { + "layout.map.layer.source": { "params": { "plotly_name": "source", - "parent_name": "layout.mapbox.layer", + "parent_name": "layout.map.layer", "edit_type": "plot" }, "superclass": "AnyValidator" }, - "layout.mapbox.layer.opacity": { + "layout.map.layer.opacity": { "params": { "plotly_name": "opacity", - "parent_name": "layout.mapbox.layer", + "parent_name": "layout.map.layer", "edit_type": "plot", "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "layout.mapbox.layer.name": { + "layout.map.layer.name": { "params": { "plotly_name": "name", - "parent_name": "layout.mapbox.layer", + "parent_name": "layout.map.layer", "edit_type": "plot" }, "superclass": "StringValidator" }, - "layout.mapbox.layer.minzoom": { + "layout.map.layer.minzoom": { "params": { "plotly_name": "minzoom", - "parent_name": "layout.mapbox.layer", + "parent_name": "layout.map.layer", "edit_type": "plot", "max": 24, "min": 0 }, "superclass": "NumberValidator" }, - "layout.mapbox.layer.maxzoom": { + "layout.map.layer.maxzoom": { "params": { "plotly_name": "maxzoom", - "parent_name": "layout.mapbox.layer", + "parent_name": "layout.map.layer", "edit_type": "plot", "max": 24, "min": 0 }, "superclass": "NumberValidator" }, - "layout.mapbox.layer.line": { + "layout.map.layer.line": { "params": { "plotly_name": "line", - "parent_name": "layout.mapbox.layer", + "parent_name": "layout.map.layer", "data_class_str": "Line", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "layout.mapbox.layer.line.width": { + "layout.map.layer.line.width": { "params": { "plotly_name": "width", - "parent_name": "layout.mapbox.layer.line", + "parent_name": "layout.map.layer.line", "edit_type": "plot" }, "superclass": "NumberValidator" }, - "layout.mapbox.layer.line.dashsrc": { - "params": { - "plotly_name": "dashsrc", - "parent_name": "layout.mapbox.layer.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "layout.mapbox.layer.line.dash": { + "layout.map.layer.line.dash": { "params": { "plotly_name": "dash", - "parent_name": "layout.mapbox.layer.line", + "parent_name": "layout.map.layer.line", "edit_type": "plot" }, "superclass": "DataArrayValidator" }, - "layout.mapbox.layer.fill": { + "layout.map.layer.fill": { "params": { "plotly_name": "fill", - "parent_name": "layout.mapbox.layer", + "parent_name": "layout.map.layer", "data_class_str": "Fill", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "layout.mapbox.layer.fill.outlinecolor": { + "layout.map.layer.fill.outlinecolor": { "params": { "plotly_name": "outlinecolor", - "parent_name": "layout.mapbox.layer.fill", + "parent_name": "layout.map.layer.fill", "edit_type": "plot" }, "superclass": "ColorValidator" }, - "layout.mapbox.layer.coordinates": { + "layout.map.layer.coordinates": { "params": { "plotly_name": "coordinates", - "parent_name": "layout.mapbox.layer", + "parent_name": "layout.map.layer", "edit_type": "plot" }, "superclass": "AnyValidator" }, - "layout.mapbox.layer.color": { + "layout.map.layer.color": { "params": { "plotly_name": "color", - "parent_name": "layout.mapbox.layer", + "parent_name": "layout.map.layer", "edit_type": "plot" }, "superclass": "ColorValidator" }, - "layout.mapbox.layer.circle": { + "layout.map.layer.circle": { "params": { "plotly_name": "circle", - "parent_name": "layout.mapbox.layer", + "parent_name": "layout.map.layer", "data_class_str": "Circle", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "layout.mapbox.layer.circle.radius": { + "layout.map.layer.circle.radius": { "params": { "plotly_name": "radius", - "parent_name": "layout.mapbox.layer.circle", + "parent_name": "layout.map.layer.circle", "edit_type": "plot" }, "superclass": "NumberValidator" }, - "layout.mapbox.layer.below": { + "layout.map.layer.below": { "params": { "plotly_name": "below", - "parent_name": "layout.mapbox.layer", + "parent_name": "layout.map.layer", "edit_type": "plot" }, "superclass": "StringValidator" }, - "layout.mapbox.domain": { + "layout.map.fitbounds": { + "params": { + "plotly_name": "fitbounds", + "parent_name": "layout.map", + "edit_type": "plot", + "values": [ + false, + "locations" + ] + }, + "superclass": "EnumeratedValidator" + }, + "layout.map.domain": { "params": { "plotly_name": "domain", - "parent_name": "layout.mapbox", + "parent_name": "layout.map", "data_class_str": "Domain", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "layout.mapbox.domain.y": { + "layout.map.domain.y": { "params": { "plotly_name": "y", - "parent_name": "layout.mapbox.domain", + "parent_name": "layout.map.domain", "edit_type": "plot", "items": [ { @@ -16714,10 +16349,10 @@ }, "superclass": "InfoArrayValidator" }, - "layout.mapbox.domain.x": { + "layout.map.domain.x": { "params": { "plotly_name": "x", - "parent_name": "layout.mapbox.domain", + "parent_name": "layout.map.domain", "edit_type": "plot", "items": [ { @@ -16736,258 +16371,300 @@ }, "superclass": "InfoArrayValidator" }, - "layout.mapbox.domain.row": { + "layout.map.domain.row": { "params": { "plotly_name": "row", - "parent_name": "layout.mapbox.domain", + "parent_name": "layout.map.domain", "edit_type": "plot", "min": 0 }, "superclass": "IntegerValidator" }, - "layout.mapbox.domain.column": { + "layout.map.domain.column": { "params": { "plotly_name": "column", - "parent_name": "layout.mapbox.domain", + "parent_name": "layout.map.domain", "edit_type": "plot", "min": 0 }, "superclass": "IntegerValidator" }, - "layout.mapbox.center": { + "layout.map.center": { "params": { "plotly_name": "center", - "parent_name": "layout.mapbox", + "parent_name": "layout.map", "data_class_str": "Center", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "layout.mapbox.center.lon": { + "layout.map.center.lon": { "params": { "plotly_name": "lon", - "parent_name": "layout.mapbox.center", + "parent_name": "layout.map.center", "edit_type": "plot" }, "superclass": "NumberValidator" }, - "layout.mapbox.center.lat": { + "layout.map.center.lat": { "params": { "plotly_name": "lat", - "parent_name": "layout.mapbox.center", + "parent_name": "layout.map.center", "edit_type": "plot" }, "superclass": "NumberValidator" }, - "layout.mapbox.bounds": { + "layout.map.bounds": { "params": { "plotly_name": "bounds", - "parent_name": "layout.mapbox", + "parent_name": "layout.map", "data_class_str": "Bounds", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "layout.mapbox.bounds.west": { + "layout.map.bounds.west": { "params": { "plotly_name": "west", - "parent_name": "layout.mapbox.bounds", + "parent_name": "layout.map.bounds", "edit_type": "plot" }, "superclass": "NumberValidator" }, - "layout.mapbox.bounds.south": { + "layout.map.bounds.south": { "params": { "plotly_name": "south", - "parent_name": "layout.mapbox.bounds", + "parent_name": "layout.map.bounds", "edit_type": "plot" }, "superclass": "NumberValidator" }, - "layout.mapbox.bounds.north": { + "layout.map.bounds.north": { "params": { "plotly_name": "north", - "parent_name": "layout.mapbox.bounds", + "parent_name": "layout.map.bounds", "edit_type": "plot" }, "superclass": "NumberValidator" }, - "layout.mapbox.bounds.east": { + "layout.map.bounds.east": { "params": { "plotly_name": "east", - "parent_name": "layout.mapbox.bounds", + "parent_name": "layout.map.bounds", "edit_type": "plot" }, "superclass": "NumberValidator" }, - "layout.mapbox.bearing": { + "layout.map.bearing": { "params": { "plotly_name": "bearing", - "parent_name": "layout.mapbox", + "parent_name": "layout.map", "edit_type": "plot" }, "superclass": "NumberValidator" }, - "layout.mapbox.accesstoken": { - "params": { - "plotly_name": "accesstoken", - "parent_name": "layout.mapbox", - "edit_type": "plot", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "layout.map": { + "layout.legend": { "params": { - "plotly_name": "map", + "plotly_name": "legend", "parent_name": "layout", - "data_class_str": "Map", + "data_class_str": "Legend", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "layout.map.zoom": { - "params": { - "plotly_name": "zoom", - "parent_name": "layout.map", - "edit_type": "plot" - }, - "superclass": "NumberValidator" - }, - "layout.map.uirevision": { + "layout.legend.yref": { "params": { - "plotly_name": "uirevision", - "parent_name": "layout.map", - "edit_type": "none" + "plotly_name": "yref", + "parent_name": "layout.legend", + "edit_type": "layoutstyle", + "values": [ + "container", + "paper" + ] }, - "superclass": "AnyValidator" + "superclass": "EnumeratedValidator" }, - "layout.map.style": { + "layout.legend.yanchor": { "params": { - "plotly_name": "style", - "parent_name": "layout.map", - "edit_type": "plot", + "plotly_name": "yanchor", + "parent_name": "layout.legend", + "edit_type": "legend", "values": [ - "basic", - "carto-darkmatter", - "carto-darkmatter-nolabels", - "carto-positron", - "carto-positron-nolabels", - "carto-voyager", - "carto-voyager-nolabels", - "dark", - "light", - "open-street-map", - "outdoors", - "satellite", - "satellite-streets", - "streets", - "white-bg" + "auto", + "top", + "middle", + "bottom" ] }, - "superclass": "AnyValidator" + "superclass": "EnumeratedValidator" }, - "layout.map.pitch": { + "layout.legend.y": { "params": { - "plotly_name": "pitch", - "parent_name": "layout.map", - "edit_type": "plot" + "plotly_name": "y", + "parent_name": "layout.legend", + "edit_type": "legend" }, "superclass": "NumberValidator" }, - "layout.map.layerdefaults": { + "layout.legend.xref": { "params": { - "plotly_name": "layerdefaults", - "parent_name": "layout.map", - "data_class_str": "Layer", - "data_docs": "\n" + "plotly_name": "xref", + "parent_name": "layout.legend", + "edit_type": "layoutstyle", + "values": [ + "container", + "paper" + ] }, - "superclass": "CompoundValidator" + "superclass": "EnumeratedValidator" }, - "layout.map.layers": { + "layout.legend.xanchor": { "params": { - "plotly_name": "layers", - "parent_name": "layout.map", - "data_class_str": "Layer", - "data_docs": "\n" + "plotly_name": "xanchor", + "parent_name": "layout.legend", + "edit_type": "legend", + "values": [ + "auto", + "left", + "center", + "right" + ] }, - "superclass": "CompoundArrayValidator" + "superclass": "EnumeratedValidator" }, - "layout.map.layer.visible": { + "layout.legend.x": { + "params": { + "plotly_name": "x", + "parent_name": "layout.legend", + "edit_type": "legend" + }, + "superclass": "NumberValidator" + }, + "layout.legend.visible": { "params": { "plotly_name": "visible", - "parent_name": "layout.map.layer", - "edit_type": "plot" + "parent_name": "layout.legend", + "edit_type": "legend" }, "superclass": "BooleanValidator" }, - "layout.map.layer.type": { + "layout.legend.valign": { "params": { - "plotly_name": "type", - "parent_name": "layout.map.layer", - "edit_type": "plot", + "plotly_name": "valign", + "parent_name": "layout.legend", + "edit_type": "legend", "values": [ - "circle", - "line", - "fill", - "symbol", - "raster" + "top", + "middle", + "bottom" ] }, "superclass": "EnumeratedValidator" }, - "layout.map.layer.templateitemname": { + "layout.legend.uirevision": { "params": { - "plotly_name": "templateitemname", - "parent_name": "layout.map.layer", - "edit_type": "plot" + "plotly_name": "uirevision", + "parent_name": "layout.legend", + "edit_type": "none" }, - "superclass": "StringValidator" + "superclass": "AnyValidator" }, - "layout.map.layer.symbol": { + "layout.legend.traceorder": { "params": { - "plotly_name": "symbol", - "parent_name": "layout.map.layer", - "data_class_str": "Symbol", + "plotly_name": "traceorder", + "parent_name": "layout.legend", + "edit_type": "legend", + "extras": [ + "normal" + ], + "flags": [ + "reversed", + "grouped" + ] + }, + "superclass": "FlaglistValidator" + }, + "layout.legend.tracegroupgap": { + "params": { + "plotly_name": "tracegroupgap", + "parent_name": "layout.legend", + "edit_type": "legend", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "layout.legend.titledoubleclick": { + "params": { + "plotly_name": "titledoubleclick", + "parent_name": "layout.legend", + "edit_type": "legend", + "values": [ + "toggle", + "toggleothers", + false + ] + }, + "superclass": "EnumeratedValidator" + }, + "layout.legend.titleclick": { + "params": { + "plotly_name": "titleclick", + "parent_name": "layout.legend", + "edit_type": "legend", + "values": [ + "toggle", + "toggleothers", + false + ] + }, + "superclass": "EnumeratedValidator" + }, + "layout.legend.title": { + "params": { + "plotly_name": "title", + "parent_name": "layout.legend", + "data_class_str": "Title", "data_docs": "\n" }, - "superclass": "CompoundValidator" + "superclass": "TitleValidator" }, - "layout.map.layer.symbol.textposition": { + "layout.legend.title.text": { "params": { - "plotly_name": "textposition", - "parent_name": "layout.map.layer.symbol", - "array_ok": false, - "edit_type": "plot", + "plotly_name": "text", + "parent_name": "layout.legend.title", + "edit_type": "legend" + }, + "superclass": "StringValidator" + }, + "layout.legend.title.side": { + "params": { + "plotly_name": "side", + "parent_name": "layout.legend.title", + "edit_type": "legend", "values": [ + "top", + "left", "top left", "top center", - "top right", - "middle left", - "middle center", - "middle right", - "bottom left", - "bottom center", - "bottom right" + "top right" ] }, "superclass": "EnumeratedValidator" }, - "layout.map.layer.symbol.textfont": { + "layout.legend.title.font": { "params": { - "plotly_name": "textfont", - "parent_name": "layout.map.layer.symbol", - "data_class_str": "Textfont", + "plotly_name": "font", + "parent_name": "layout.legend.title", + "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "layout.map.layer.symbol.textfont.weight": { + "layout.legend.title.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "layout.map.layer.symbol.textfont", - "edit_type": "plot", + "parent_name": "layout.legend.title.font", + "edit_type": "legend", "extras": [ "normal", "bold" @@ -16997,11 +16674,41 @@ }, "superclass": "IntegerValidator" }, - "layout.map.layer.symbol.textfont.style": { + "layout.legend.title.font.variant": { + "params": { + "plotly_name": "variant", + "parent_name": "layout.legend.title.font", + "edit_type": "legend", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "superclass": "EnumeratedValidator" + }, + "layout.legend.title.font.textcase": { + "params": { + "plotly_name": "textcase", + "parent_name": "layout.legend.title.font", + "edit_type": "legend", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "superclass": "EnumeratedValidator" + }, + "layout.legend.title.font.style": { "params": { "plotly_name": "style", - "parent_name": "layout.map.layer.symbol.textfont", - "edit_type": "plot", + "parent_name": "layout.legend.title.font", + "edit_type": "legend", "values": [ "normal", "italic" @@ -17009,410 +16716,460 @@ }, "superclass": "EnumeratedValidator" }, - "layout.map.layer.symbol.textfont.size": { + "layout.legend.title.font.size": { "params": { "plotly_name": "size", - "parent_name": "layout.map.layer.symbol.textfont", - "edit_type": "plot", + "parent_name": "layout.legend.title.font", + "edit_type": "legend", "min": 1 }, "superclass": "NumberValidator" }, - "layout.map.layer.symbol.textfont.family": { + "layout.legend.title.font.shadow": { + "params": { + "plotly_name": "shadow", + "parent_name": "layout.legend.title.font", + "edit_type": "legend" + }, + "superclass": "StringValidator" + }, + "layout.legend.title.font.lineposition": { + "params": { + "plotly_name": "lineposition", + "parent_name": "layout.legend.title.font", + "edit_type": "legend", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] + }, + "superclass": "FlaglistValidator" + }, + "layout.legend.title.font.family": { "params": { "plotly_name": "family", - "parent_name": "layout.map.layer.symbol.textfont", - "edit_type": "plot", + "parent_name": "layout.legend.title.font", + "edit_type": "legend", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "layout.map.layer.symbol.textfont.color": { + "layout.legend.title.font.color": { "params": { "plotly_name": "color", - "parent_name": "layout.map.layer.symbol.textfont", - "edit_type": "plot" + "parent_name": "layout.legend.title.font", + "edit_type": "legend" }, "superclass": "ColorValidator" }, - "layout.map.layer.symbol.text": { - "params": { - "plotly_name": "text", - "parent_name": "layout.map.layer.symbol", - "edit_type": "plot" - }, - "superclass": "StringValidator" - }, - "layout.map.layer.symbol.placement": { + "layout.legend.orientation": { "params": { - "plotly_name": "placement", - "parent_name": "layout.map.layer.symbol", - "edit_type": "plot", + "plotly_name": "orientation", + "parent_name": "layout.legend", + "edit_type": "legend", "values": [ - "point", - "line", - "line-center" + "v", + "h" ] }, "superclass": "EnumeratedValidator" }, - "layout.map.layer.symbol.iconsize": { + "layout.legend.maxheight": { "params": { - "plotly_name": "iconsize", - "parent_name": "layout.map.layer.symbol", - "edit_type": "plot" + "plotly_name": "maxheight", + "parent_name": "layout.legend", + "edit_type": "legend", + "min": 0 }, "superclass": "NumberValidator" }, - "layout.map.layer.symbol.icon": { + "layout.legend.itemwidth": { "params": { - "plotly_name": "icon", - "parent_name": "layout.map.layer.symbol", - "edit_type": "plot" + "plotly_name": "itemwidth", + "parent_name": "layout.legend", + "edit_type": "legend", + "min": 30 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "layout.map.layer.sourcetype": { + "layout.legend.itemsizing": { "params": { - "plotly_name": "sourcetype", - "parent_name": "layout.map.layer", - "edit_type": "plot", + "plotly_name": "itemsizing", + "parent_name": "layout.legend", + "edit_type": "legend", "values": [ - "geojson", - "vector", - "raster", - "image" + "trace", + "constant" ] }, "superclass": "EnumeratedValidator" }, - "layout.map.layer.sourcelayer": { + "layout.legend.itemdoubleclick": { "params": { - "plotly_name": "sourcelayer", - "parent_name": "layout.map.layer", - "edit_type": "plot" + "plotly_name": "itemdoubleclick", + "parent_name": "layout.legend", + "edit_type": "legend", + "values": [ + "toggle", + "toggleothers", + false + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "layout.map.layer.sourceattribution": { + "layout.legend.itemclick": { "params": { - "plotly_name": "sourceattribution", - "parent_name": "layout.map.layer", - "edit_type": "plot" + "plotly_name": "itemclick", + "parent_name": "layout.legend", + "edit_type": "legend", + "values": [ + "toggle", + "toggleothers", + false + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "layout.map.layer.source": { + "layout.legend.indentation": { "params": { - "plotly_name": "source", - "parent_name": "layout.map.layer", - "edit_type": "plot" + "plotly_name": "indentation", + "parent_name": "layout.legend", + "edit_type": "legend", + "min": -15 }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "layout.map.layer.opacity": { + "layout.legend.grouptitlefont": { "params": { - "plotly_name": "opacity", - "parent_name": "layout.map.layer", - "edit_type": "plot", - "max": 1, - "min": 0 + "plotly_name": "grouptitlefont", + "parent_name": "layout.legend", + "data_class_str": "Grouptitlefont", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "layout.map.layer.name": { + "layout.legend.grouptitlefont.weight": { "params": { - "plotly_name": "name", - "parent_name": "layout.map.layer", - "edit_type": "plot" + "plotly_name": "weight", + "parent_name": "layout.legend.grouptitlefont", + "edit_type": "legend", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "StringValidator" + "superclass": "IntegerValidator" }, - "layout.map.layer.minzoom": { + "layout.legend.grouptitlefont.variant": { "params": { - "plotly_name": "minzoom", - "parent_name": "layout.map.layer", - "edit_type": "plot", - "max": 24, - "min": 0 + "plotly_name": "variant", + "parent_name": "layout.legend.grouptitlefont", + "edit_type": "legend", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "layout.map.layer.maxzoom": { + "layout.legend.grouptitlefont.textcase": { "params": { - "plotly_name": "maxzoom", - "parent_name": "layout.map.layer", - "edit_type": "plot", - "max": 24, - "min": 0 + "plotly_name": "textcase", + "parent_name": "layout.legend.grouptitlefont", + "edit_type": "legend", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "layout.map.layer.line": { + "layout.legend.grouptitlefont.style": { "params": { - "plotly_name": "line", - "parent_name": "layout.map.layer", - "data_class_str": "Line", - "data_docs": "\n" + "plotly_name": "style", + "parent_name": "layout.legend.grouptitlefont", + "edit_type": "legend", + "values": [ + "normal", + "italic" + ] }, - "superclass": "CompoundValidator" + "superclass": "EnumeratedValidator" }, - "layout.map.layer.line.width": { + "layout.legend.grouptitlefont.size": { "params": { - "plotly_name": "width", - "parent_name": "layout.map.layer.line", - "edit_type": "plot" + "plotly_name": "size", + "parent_name": "layout.legend.grouptitlefont", + "edit_type": "legend", + "min": 1 }, "superclass": "NumberValidator" }, - "layout.map.layer.line.dashsrc": { + "layout.legend.grouptitlefont.shadow": { "params": { - "plotly_name": "dashsrc", - "parent_name": "layout.map.layer.line", - "edit_type": "none" + "plotly_name": "shadow", + "parent_name": "layout.legend.grouptitlefont", + "edit_type": "legend" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "layout.map.layer.line.dash": { + "layout.legend.grouptitlefont.lineposition": { "params": { - "plotly_name": "dash", - "parent_name": "layout.map.layer.line", - "edit_type": "plot" + "plotly_name": "lineposition", + "parent_name": "layout.legend.grouptitlefont", + "edit_type": "legend", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] }, - "superclass": "DataArrayValidator" + "superclass": "FlaglistValidator" }, - "layout.map.layer.fill": { + "layout.legend.grouptitlefont.family": { "params": { - "plotly_name": "fill", - "parent_name": "layout.map.layer", - "data_class_str": "Fill", - "data_docs": "\n" + "plotly_name": "family", + "parent_name": "layout.legend.grouptitlefont", + "edit_type": "legend", + "no_blank": true, + "strict": true }, - "superclass": "CompoundValidator" + "superclass": "StringValidator" }, - "layout.map.layer.fill.outlinecolor": { + "layout.legend.grouptitlefont.color": { "params": { - "plotly_name": "outlinecolor", - "parent_name": "layout.map.layer.fill", - "edit_type": "plot" + "plotly_name": "color", + "parent_name": "layout.legend.grouptitlefont", + "edit_type": "legend" }, "superclass": "ColorValidator" }, - "layout.map.layer.coordinates": { - "params": { - "plotly_name": "coordinates", - "parent_name": "layout.map.layer", - "edit_type": "plot" - }, - "superclass": "AnyValidator" - }, - "layout.map.layer.color": { + "layout.legend.groupclick": { "params": { - "plotly_name": "color", - "parent_name": "layout.map.layer", - "edit_type": "plot" + "plotly_name": "groupclick", + "parent_name": "layout.legend", + "edit_type": "legend", + "values": [ + "toggleitem", + "togglegroup" + ] }, - "superclass": "ColorValidator" + "superclass": "EnumeratedValidator" }, - "layout.map.layer.circle": { + "layout.legend.font": { "params": { - "plotly_name": "circle", - "parent_name": "layout.map.layer", - "data_class_str": "Circle", + "plotly_name": "font", + "parent_name": "layout.legend", + "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "layout.map.layer.circle.radius": { + "layout.legend.font.weight": { "params": { - "plotly_name": "radius", - "parent_name": "layout.map.layer.circle", - "edit_type": "plot" + "plotly_name": "weight", + "parent_name": "layout.legend.font", + "edit_type": "legend", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "NumberValidator" + "superclass": "IntegerValidator" }, - "layout.map.layer.below": { + "layout.legend.font.variant": { "params": { - "plotly_name": "below", - "parent_name": "layout.map.layer", - "edit_type": "plot" + "plotly_name": "variant", + "parent_name": "layout.legend.font", + "edit_type": "legend", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "layout.map.domain": { + "layout.legend.font.textcase": { "params": { - "plotly_name": "domain", - "parent_name": "layout.map", - "data_class_str": "Domain", - "data_docs": "\n" + "plotly_name": "textcase", + "parent_name": "layout.legend.font", + "edit_type": "legend", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, - "superclass": "CompoundValidator" + "superclass": "EnumeratedValidator" }, - "layout.map.domain.y": { + "layout.legend.font.style": { "params": { - "plotly_name": "y", - "parent_name": "layout.map.domain", - "edit_type": "plot", - "items": [ - { - "editType": "plot", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "plot", - "max": 1, - "min": 0, - "valType": "number" - } - ] - }, - "superclass": "InfoArrayValidator" - }, - "layout.map.domain.x": { - "params": { - "plotly_name": "x", - "parent_name": "layout.map.domain", - "edit_type": "plot", - "items": [ - { - "editType": "plot", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "plot", - "max": 1, - "min": 0, - "valType": "number" - } + "plotly_name": "style", + "parent_name": "layout.legend.font", + "edit_type": "legend", + "values": [ + "normal", + "italic" ] }, - "superclass": "InfoArrayValidator" + "superclass": "EnumeratedValidator" }, - "layout.map.domain.row": { + "layout.legend.font.size": { "params": { - "plotly_name": "row", - "parent_name": "layout.map.domain", - "edit_type": "plot", - "min": 0 + "plotly_name": "size", + "parent_name": "layout.legend.font", + "edit_type": "legend", + "min": 1 }, - "superclass": "IntegerValidator" + "superclass": "NumberValidator" }, - "layout.map.domain.column": { + "layout.legend.font.shadow": { "params": { - "plotly_name": "column", - "parent_name": "layout.map.domain", - "edit_type": "plot", - "min": 0 + "plotly_name": "shadow", + "parent_name": "layout.legend.font", + "edit_type": "legend" }, - "superclass": "IntegerValidator" + "superclass": "StringValidator" }, - "layout.map.center": { + "layout.legend.font.lineposition": { "params": { - "plotly_name": "center", - "parent_name": "layout.map", - "data_class_str": "Center", - "data_docs": "\n" + "plotly_name": "lineposition", + "parent_name": "layout.legend.font", + "edit_type": "legend", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] }, - "superclass": "CompoundValidator" + "superclass": "FlaglistValidator" }, - "layout.map.center.lon": { + "layout.legend.font.family": { "params": { - "plotly_name": "lon", - "parent_name": "layout.map.center", - "edit_type": "plot" + "plotly_name": "family", + "parent_name": "layout.legend.font", + "edit_type": "legend", + "no_blank": true, + "strict": true }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "layout.map.center.lat": { + "layout.legend.font.color": { "params": { - "plotly_name": "lat", - "parent_name": "layout.map.center", - "edit_type": "plot" + "plotly_name": "color", + "parent_name": "layout.legend.font", + "edit_type": "legend" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "layout.map.bounds": { + "layout.legend.entrywidthmode": { "params": { - "plotly_name": "bounds", - "parent_name": "layout.map", - "data_class_str": "Bounds", - "data_docs": "\n" + "plotly_name": "entrywidthmode", + "parent_name": "layout.legend", + "edit_type": "legend", + "values": [ + "fraction", + "pixels" + ] }, - "superclass": "CompoundValidator" + "superclass": "EnumeratedValidator" }, - "layout.map.bounds.west": { + "layout.legend.entrywidth": { "params": { - "plotly_name": "west", - "parent_name": "layout.map.bounds", - "edit_type": "plot" + "plotly_name": "entrywidth", + "parent_name": "layout.legend", + "edit_type": "legend", + "min": 0 }, "superclass": "NumberValidator" }, - "layout.map.bounds.south": { + "layout.legend.borderwidth": { "params": { - "plotly_name": "south", - "parent_name": "layout.map.bounds", - "edit_type": "plot" + "plotly_name": "borderwidth", + "parent_name": "layout.legend", + "edit_type": "legend", + "min": 0 }, "superclass": "NumberValidator" }, - "layout.map.bounds.north": { + "layout.legend.bordercolor": { "params": { - "plotly_name": "north", - "parent_name": "layout.map.bounds", - "edit_type": "plot" + "plotly_name": "bordercolor", + "parent_name": "layout.legend", + "edit_type": "legend" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "layout.map.bounds.east": { + "layout.legend.bgcolor": { "params": { - "plotly_name": "east", - "parent_name": "layout.map.bounds", - "edit_type": "plot" + "plotly_name": "bgcolor", + "parent_name": "layout.legend", + "edit_type": "legend" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "layout.map.bearing": { + "layout.imagedefaults": { "params": { - "plotly_name": "bearing", - "parent_name": "layout.map", - "edit_type": "plot" + "plotly_name": "imagedefaults", + "parent_name": "layout", + "data_class_str": "Image", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "layout.legend": { + "layout.images": { "params": { - "plotly_name": "legend", + "plotly_name": "images", "parent_name": "layout", - "data_class_str": "Legend", + "data_class_str": "Image", "data_docs": "\n" }, - "superclass": "CompoundValidator" + "superclass": "CompoundArrayValidator" }, - "layout.legend.yref": { + "layout.image.yref": { "params": { "plotly_name": "yref", - "parent_name": "layout.legend", - "edit_type": "layoutstyle", + "parent_name": "layout.image", + "edit_type": "arraydraw", "values": [ - "container", - "paper" + "paper", + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" ] }, "superclass": "EnumeratedValidator" }, - "layout.legend.yanchor": { + "layout.image.yanchor": { "params": { "plotly_name": "yanchor", - "parent_name": "layout.legend", - "edit_type": "legend", + "parent_name": "layout.image", + "edit_type": "arraydraw", "values": [ - "auto", "top", "middle", "bottom" @@ -17420,33 +17177,32 @@ }, "superclass": "EnumeratedValidator" }, - "layout.legend.y": { + "layout.image.y": { "params": { "plotly_name": "y", - "parent_name": "layout.legend", - "edit_type": "legend" + "parent_name": "layout.image", + "edit_type": "arraydraw" }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "layout.legend.xref": { + "layout.image.xref": { "params": { "plotly_name": "xref", - "parent_name": "layout.legend", - "edit_type": "layoutstyle", + "parent_name": "layout.image", + "edit_type": "arraydraw", "values": [ - "container", - "paper" + "paper", + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" ] }, "superclass": "EnumeratedValidator" }, - "layout.legend.xanchor": { + "layout.image.xanchor": { "params": { "plotly_name": "xanchor", - "parent_name": "layout.legend", - "edit_type": "legend", + "parent_name": "layout.image", + "edit_type": "arraydraw", "values": [ - "auto", "left", "center", "right" @@ -17454,139 +17210,187 @@ }, "superclass": "EnumeratedValidator" }, - "layout.legend.x": { + "layout.image.x": { "params": { "plotly_name": "x", - "parent_name": "layout.legend", - "edit_type": "legend" + "parent_name": "layout.image", + "edit_type": "arraydraw" }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "layout.legend.visible": { + "layout.image.visible": { "params": { "plotly_name": "visible", - "parent_name": "layout.legend", - "edit_type": "legend" + "parent_name": "layout.image", + "edit_type": "arraydraw" }, "superclass": "BooleanValidator" }, - "layout.legend.valign": { + "layout.image.templateitemname": { "params": { - "plotly_name": "valign", - "parent_name": "layout.legend", - "edit_type": "legend", + "plotly_name": "templateitemname", + "parent_name": "layout.image", + "edit_type": "calc" + }, + "superclass": "StringValidator" + }, + "layout.image.source": { + "params": { + "plotly_name": "source", + "parent_name": "layout.image", + "edit_type": "arraydraw" + }, + "superclass": "ImageUriValidator" + }, + "layout.image.sizing": { + "params": { + "plotly_name": "sizing", + "parent_name": "layout.image", + "edit_type": "arraydraw", "values": [ - "top", - "middle", - "bottom" + "fill", + "contain", + "stretch" ] }, "superclass": "EnumeratedValidator" }, - "layout.legend.uirevision": { + "layout.image.sizey": { "params": { - "plotly_name": "uirevision", - "parent_name": "layout.legend", - "edit_type": "none" + "plotly_name": "sizey", + "parent_name": "layout.image", + "edit_type": "arraydraw" }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "layout.legend.traceorder": { + "layout.image.sizex": { "params": { - "plotly_name": "traceorder", - "parent_name": "layout.legend", - "edit_type": "legend", - "extras": [ - "normal" - ], - "flags": [ - "reversed", - "grouped" - ] + "plotly_name": "sizex", + "parent_name": "layout.image", + "edit_type": "arraydraw" }, - "superclass": "FlaglistValidator" + "superclass": "NumberValidator" }, - "layout.legend.tracegroupgap": { + "layout.image.opacity": { "params": { - "plotly_name": "tracegroupgap", - "parent_name": "layout.legend", - "edit_type": "legend", + "plotly_name": "opacity", + "parent_name": "layout.image", + "edit_type": "arraydraw", + "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "layout.legend.titledoubleclick": { + "layout.image.name": { "params": { - "plotly_name": "titledoubleclick", - "parent_name": "layout.legend", - "edit_type": "legend", + "plotly_name": "name", + "parent_name": "layout.image", + "edit_type": "none" + }, + "superclass": "StringValidator" + }, + "layout.image.layer": { + "params": { + "plotly_name": "layer", + "parent_name": "layout.image", + "edit_type": "arraydraw", "values": [ - "toggle", - "toggleothers", - false + "below", + "above" ] }, "superclass": "EnumeratedValidator" }, - "layout.legend.titleclick": { + "layout.iciclecolorway": { "params": { - "plotly_name": "titleclick", - "parent_name": "layout.legend", - "edit_type": "legend", + "plotly_name": "iciclecolorway", + "parent_name": "layout", + "edit_type": "calc" + }, + "superclass": "ColorlistValidator" + }, + "layout.hoversubplots": { + "params": { + "plotly_name": "hoversubplots", + "parent_name": "layout", + "edit_type": "none", "values": [ - "toggle", - "toggleothers", - false + "single", + "overlaying", + "axis" ] }, "superclass": "EnumeratedValidator" }, - "layout.legend.title": { + "layout.hoversort": { "params": { - "plotly_name": "title", - "parent_name": "layout.legend", - "data_class_str": "Title", + "plotly_name": "hoversort", + "parent_name": "layout", + "edit_type": "none", + "values": [ + "trace", + "value descending", + "value ascending" + ] + }, + "superclass": "EnumeratedValidator" + }, + "layout.hovermode": { + "params": { + "plotly_name": "hovermode", + "parent_name": "layout", + "edit_type": "modebar", + "values": [ + "x", + "y", + "closest", + false, + "x unified", + "y unified" + ] + }, + "superclass": "EnumeratedValidator" + }, + "layout.hoverlabel": { + "params": { + "plotly_name": "hoverlabel", + "parent_name": "layout", + "data_class_str": "Hoverlabel", "data_docs": "\n" }, - "superclass": "TitleValidator" + "superclass": "CompoundValidator" }, - "layout.legend.title.text": { + "layout.hoverlabel.showarrow": { "params": { - "plotly_name": "text", - "parent_name": "layout.legend.title", - "edit_type": "legend" + "plotly_name": "showarrow", + "parent_name": "layout.hoverlabel", + "edit_type": "none" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "layout.legend.title.side": { + "layout.hoverlabel.namelength": { "params": { - "plotly_name": "side", - "parent_name": "layout.legend.title", - "edit_type": "legend", - "values": [ - "top", - "left", - "top left", - "top center", - "top right" - ] + "plotly_name": "namelength", + "parent_name": "layout.hoverlabel", + "edit_type": "none", + "min": -1 }, - "superclass": "EnumeratedValidator" + "superclass": "IntegerValidator" }, - "layout.legend.title.font": { + "layout.hoverlabel.grouptitlefont": { "params": { - "plotly_name": "font", - "parent_name": "layout.legend.title", - "data_class_str": "Font", + "plotly_name": "grouptitlefont", + "parent_name": "layout.hoverlabel", + "data_class_str": "Grouptitlefont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "layout.legend.title.font.weight": { + "layout.hoverlabel.grouptitlefont.weight": { "params": { "plotly_name": "weight", - "parent_name": "layout.legend.title.font", - "edit_type": "legend", + "parent_name": "layout.hoverlabel.grouptitlefont", + "edit_type": "none", "extras": [ "normal", "bold" @@ -17596,11 +17400,11 @@ }, "superclass": "IntegerValidator" }, - "layout.legend.title.font.variant": { + "layout.hoverlabel.grouptitlefont.variant": { "params": { "plotly_name": "variant", - "parent_name": "layout.legend.title.font", - "edit_type": "legend", + "parent_name": "layout.hoverlabel.grouptitlefont", + "edit_type": "none", "values": [ "normal", "small-caps", @@ -17612,11 +17416,11 @@ }, "superclass": "EnumeratedValidator" }, - "layout.legend.title.font.textcase": { + "layout.hoverlabel.grouptitlefont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "layout.legend.title.font", - "edit_type": "legend", + "parent_name": "layout.hoverlabel.grouptitlefont", + "edit_type": "none", "values": [ "normal", "word caps", @@ -17626,11 +17430,11 @@ }, "superclass": "EnumeratedValidator" }, - "layout.legend.title.font.style": { + "layout.hoverlabel.grouptitlefont.style": { "params": { "plotly_name": "style", - "parent_name": "layout.legend.title.font", - "edit_type": "legend", + "parent_name": "layout.hoverlabel.grouptitlefont", + "edit_type": "none", "values": [ "normal", "italic" @@ -17638,28 +17442,28 @@ }, "superclass": "EnumeratedValidator" }, - "layout.legend.title.font.size": { + "layout.hoverlabel.grouptitlefont.size": { "params": { "plotly_name": "size", - "parent_name": "layout.legend.title.font", - "edit_type": "legend", + "parent_name": "layout.hoverlabel.grouptitlefont", + "edit_type": "none", "min": 1 }, "superclass": "NumberValidator" }, - "layout.legend.title.font.shadow": { + "layout.hoverlabel.grouptitlefont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "layout.legend.title.font", - "edit_type": "legend" + "parent_name": "layout.hoverlabel.grouptitlefont", + "edit_type": "none" }, "superclass": "StringValidator" }, - "layout.legend.title.font.lineposition": { + "layout.hoverlabel.grouptitlefont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "layout.legend.title.font", - "edit_type": "legend", + "parent_name": "layout.hoverlabel.grouptitlefont", + "edit_type": "none", "extras": [ "none" ], @@ -17671,129 +17475,52 @@ }, "superclass": "FlaglistValidator" }, - "layout.legend.title.font.family": { + "layout.hoverlabel.grouptitlefont.family": { "params": { "plotly_name": "family", - "parent_name": "layout.legend.title.font", - "edit_type": "legend", + "parent_name": "layout.hoverlabel.grouptitlefont", + "edit_type": "none", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "layout.legend.title.font.color": { + "layout.hoverlabel.grouptitlefont.color": { "params": { "plotly_name": "color", - "parent_name": "layout.legend.title.font", - "edit_type": "legend" + "parent_name": "layout.hoverlabel.grouptitlefont", + "edit_type": "none" }, "superclass": "ColorValidator" }, - "layout.legend.orientation": { + "layout.hoverlabel.font": { "params": { - "plotly_name": "orientation", - "parent_name": "layout.legend", - "edit_type": "legend", - "values": [ - "v", - "h" - ] + "plotly_name": "font", + "parent_name": "layout.hoverlabel", + "data_class_str": "Font", + "data_docs": "\n" }, - "superclass": "EnumeratedValidator" + "superclass": "CompoundValidator" }, - "layout.legend.maxheight": { + "layout.hoverlabel.font.weight": { "params": { - "plotly_name": "maxheight", - "parent_name": "layout.legend", - "edit_type": "legend", - "min": 0 + "plotly_name": "weight", + "parent_name": "layout.hoverlabel.font", + "edit_type": "none", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "NumberValidator" + "superclass": "IntegerValidator" }, - "layout.legend.itemwidth": { - "params": { - "plotly_name": "itemwidth", - "parent_name": "layout.legend", - "edit_type": "legend", - "min": 30 - }, - "superclass": "NumberValidator" - }, - "layout.legend.itemsizing": { - "params": { - "plotly_name": "itemsizing", - "parent_name": "layout.legend", - "edit_type": "legend", - "values": [ - "trace", - "constant" - ] - }, - "superclass": "EnumeratedValidator" - }, - "layout.legend.itemdoubleclick": { - "params": { - "plotly_name": "itemdoubleclick", - "parent_name": "layout.legend", - "edit_type": "legend", - "values": [ - "toggle", - "toggleothers", - false - ] - }, - "superclass": "EnumeratedValidator" - }, - "layout.legend.itemclick": { - "params": { - "plotly_name": "itemclick", - "parent_name": "layout.legend", - "edit_type": "legend", - "values": [ - "toggle", - "toggleothers", - false - ] - }, - "superclass": "EnumeratedValidator" - }, - "layout.legend.indentation": { - "params": { - "plotly_name": "indentation", - "parent_name": "layout.legend", - "edit_type": "legend", - "min": -15 - }, - "superclass": "NumberValidator" - }, - "layout.legend.grouptitlefont": { - "params": { - "plotly_name": "grouptitlefont", - "parent_name": "layout.legend", - "data_class_str": "Grouptitlefont", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "layout.legend.grouptitlefont.weight": { - "params": { - "plotly_name": "weight", - "parent_name": "layout.legend.grouptitlefont", - "edit_type": "legend", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "layout.legend.grouptitlefont.variant": { + "layout.hoverlabel.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "layout.legend.grouptitlefont", - "edit_type": "legend", + "parent_name": "layout.hoverlabel.font", + "edit_type": "none", "values": [ "normal", "small-caps", @@ -17805,11 +17532,11 @@ }, "superclass": "EnumeratedValidator" }, - "layout.legend.grouptitlefont.textcase": { + "layout.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "layout.legend.grouptitlefont", - "edit_type": "legend", + "parent_name": "layout.hoverlabel.font", + "edit_type": "none", "values": [ "normal", "word caps", @@ -17819,11 +17546,11 @@ }, "superclass": "EnumeratedValidator" }, - "layout.legend.grouptitlefont.style": { + "layout.hoverlabel.font.style": { "params": { "plotly_name": "style", - "parent_name": "layout.legend.grouptitlefont", - "edit_type": "legend", + "parent_name": "layout.hoverlabel.font", + "edit_type": "none", "values": [ "normal", "italic" @@ -17831,28 +17558,28 @@ }, "superclass": "EnumeratedValidator" }, - "layout.legend.grouptitlefont.size": { + "layout.hoverlabel.font.size": { "params": { "plotly_name": "size", - "parent_name": "layout.legend.grouptitlefont", - "edit_type": "legend", + "parent_name": "layout.hoverlabel.font", + "edit_type": "none", "min": 1 }, "superclass": "NumberValidator" }, - "layout.legend.grouptitlefont.shadow": { + "layout.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "layout.legend.grouptitlefont", - "edit_type": "legend" + "parent_name": "layout.hoverlabel.font", + "edit_type": "none" }, "superclass": "StringValidator" }, - "layout.legend.grouptitlefont.lineposition": { + "layout.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "layout.legend.grouptitlefont", - "edit_type": "legend", + "parent_name": "layout.hoverlabel.font", + "edit_type": "none", "extras": [ "none" ], @@ -17864,907 +17591,879 @@ }, "superclass": "FlaglistValidator" }, - "layout.legend.grouptitlefont.family": { + "layout.hoverlabel.font.family": { "params": { "plotly_name": "family", - "parent_name": "layout.legend.grouptitlefont", - "edit_type": "legend", + "parent_name": "layout.hoverlabel.font", + "edit_type": "none", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "layout.legend.grouptitlefont.color": { + "layout.hoverlabel.font.color": { "params": { "plotly_name": "color", - "parent_name": "layout.legend.grouptitlefont", - "edit_type": "legend" + "parent_name": "layout.hoverlabel.font", + "edit_type": "none" }, "superclass": "ColorValidator" }, - "layout.legend.groupclick": { - "params": { - "plotly_name": "groupclick", - "parent_name": "layout.legend", - "edit_type": "legend", - "values": [ - "toggleitem", - "togglegroup" - ] - }, - "superclass": "EnumeratedValidator" - }, - "layout.legend.font": { + "layout.hoverlabel.bordercolor": { "params": { - "plotly_name": "font", - "parent_name": "layout.legend", - "data_class_str": "Font", - "data_docs": "\n" + "plotly_name": "bordercolor", + "parent_name": "layout.hoverlabel", + "edit_type": "none" }, - "superclass": "CompoundValidator" + "superclass": "ColorValidator" }, - "layout.legend.font.weight": { + "layout.hoverlabel.bgcolor": { "params": { - "plotly_name": "weight", - "parent_name": "layout.legend.font", - "edit_type": "legend", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 + "plotly_name": "bgcolor", + "parent_name": "layout.hoverlabel", + "edit_type": "none" }, - "superclass": "IntegerValidator" + "superclass": "ColorValidator" }, - "layout.legend.font.variant": { + "layout.hoverlabel.align": { "params": { - "plotly_name": "variant", - "parent_name": "layout.legend.font", - "edit_type": "legend", + "plotly_name": "align", + "parent_name": "layout.hoverlabel", + "edit_type": "none", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "left", + "right", + "auto" ] }, "superclass": "EnumeratedValidator" }, - "layout.legend.font.textcase": { + "layout.hoverdistance": { "params": { - "plotly_name": "textcase", - "parent_name": "layout.legend.font", - "edit_type": "legend", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] + "plotly_name": "hoverdistance", + "parent_name": "layout", + "edit_type": "none", + "min": -1 }, - "superclass": "EnumeratedValidator" + "superclass": "IntegerValidator" }, - "layout.legend.font.style": { + "layout.hoveranywhere": { "params": { - "plotly_name": "style", - "parent_name": "layout.legend.font", - "edit_type": "legend", - "values": [ - "normal", - "italic" - ] + "plotly_name": "hoveranywhere", + "parent_name": "layout", + "edit_type": "none" }, - "superclass": "EnumeratedValidator" + "superclass": "BooleanValidator" }, - "layout.legend.font.size": { + "layout.hiddenlabels": { "params": { - "plotly_name": "size", - "parent_name": "layout.legend.font", - "edit_type": "legend", - "min": 1 + "plotly_name": "hiddenlabels", + "parent_name": "layout", + "edit_type": "calc" + }, + "superclass": "DataArrayValidator" + }, + "layout.height": { + "params": { + "plotly_name": "height", + "parent_name": "layout", + "edit_type": "plot", + "min": 10 }, "superclass": "NumberValidator" }, - "layout.legend.font.shadow": { + "layout.grid": { "params": { - "plotly_name": "shadow", - "parent_name": "layout.legend.font", - "edit_type": "legend" + "plotly_name": "grid", + "parent_name": "layout", + "data_class_str": "Grid", + "data_docs": "\n" }, - "superclass": "StringValidator" + "superclass": "CompoundValidator" }, - "layout.legend.font.lineposition": { + "layout.grid.yside": { "params": { - "plotly_name": "lineposition", - "parent_name": "layout.legend.font", - "edit_type": "legend", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" + "plotly_name": "yside", + "parent_name": "layout.grid", + "edit_type": "plot", + "values": [ + "left", + "left plot", + "right plot", + "right" ] }, - "superclass": "FlaglistValidator" + "superclass": "EnumeratedValidator" }, - "layout.legend.font.family": { + "layout.grid.ygap": { "params": { - "plotly_name": "family", - "parent_name": "layout.legend.font", - "edit_type": "legend", - "no_blank": true, - "strict": true + "plotly_name": "ygap", + "parent_name": "layout.grid", + "edit_type": "plot", + "max": 1, + "min": 0 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "layout.legend.font.color": { + "layout.grid.yaxes": { "params": { - "plotly_name": "color", - "parent_name": "layout.legend.font", - "edit_type": "legend" + "plotly_name": "yaxes", + "parent_name": "layout.grid", + "edit_type": "plot", + "free_length": true, + "items": { + "editType": "plot", + "valType": "enumerated", + "values": [ + "/^y([2-9]|[1-9][0-9]+)?( domain)?$/", + "" + ] + } }, - "superclass": "ColorValidator" + "superclass": "InfoArrayValidator" }, - "layout.legend.entrywidthmode": { + "layout.grid.xside": { "params": { - "plotly_name": "entrywidthmode", - "parent_name": "layout.legend", - "edit_type": "legend", + "plotly_name": "xside", + "parent_name": "layout.grid", + "edit_type": "plot", "values": [ - "fraction", - "pixels" + "bottom", + "bottom plot", + "top plot", + "top" ] }, "superclass": "EnumeratedValidator" }, - "layout.legend.entrywidth": { - "params": { - "plotly_name": "entrywidth", - "parent_name": "layout.legend", - "edit_type": "legend", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "layout.legend.borderwidth": { + "layout.grid.xgap": { "params": { - "plotly_name": "borderwidth", - "parent_name": "layout.legend", - "edit_type": "legend", + "plotly_name": "xgap", + "parent_name": "layout.grid", + "edit_type": "plot", + "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "layout.legend.bordercolor": { - "params": { - "plotly_name": "bordercolor", - "parent_name": "layout.legend", - "edit_type": "legend" - }, - "superclass": "ColorValidator" - }, - "layout.legend.bgcolor": { + "layout.grid.xaxes": { "params": { - "plotly_name": "bgcolor", - "parent_name": "layout.legend", - "edit_type": "legend" + "plotly_name": "xaxes", + "parent_name": "layout.grid", + "edit_type": "plot", + "free_length": true, + "items": { + "editType": "plot", + "valType": "enumerated", + "values": [ + "/^x([2-9]|[1-9][0-9]+)?( domain)?$/", + "" + ] + } }, - "superclass": "ColorValidator" + "superclass": "InfoArrayValidator" }, - "layout.imagedefaults": { + "layout.grid.subplots": { "params": { - "plotly_name": "imagedefaults", - "parent_name": "layout", - "data_class_str": "Image", - "data_docs": "\n" + "plotly_name": "subplots", + "parent_name": "layout.grid", + "dimensions": 2, + "edit_type": "plot", + "free_length": true, + "items": { + "editType": "plot", + "valType": "enumerated", + "values": [ + "/^x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?$/", + "" + ] + } }, - "superclass": "CompoundValidator" + "superclass": "InfoArrayValidator" }, - "layout.images": { + "layout.grid.rows": { "params": { - "plotly_name": "images", - "parent_name": "layout", - "data_class_str": "Image", - "data_docs": "\n" + "plotly_name": "rows", + "parent_name": "layout.grid", + "edit_type": "plot", + "min": 1 }, - "superclass": "CompoundArrayValidator" + "superclass": "IntegerValidator" }, - "layout.image.yref": { + "layout.grid.roworder": { "params": { - "plotly_name": "yref", - "parent_name": "layout.image", - "edit_type": "arraydraw", + "plotly_name": "roworder", + "parent_name": "layout.grid", + "edit_type": "plot", "values": [ - "paper", - "/^y([2-9]|[1-9][0-9]+)?( domain)?$/" + "top to bottom", + "bottom to top" ] }, "superclass": "EnumeratedValidator" }, - "layout.image.yanchor": { + "layout.grid.pattern": { "params": { - "plotly_name": "yanchor", - "parent_name": "layout.image", - "edit_type": "arraydraw", + "plotly_name": "pattern", + "parent_name": "layout.grid", + "edit_type": "plot", "values": [ - "top", - "middle", - "bottom" + "independent", + "coupled" ] }, "superclass": "EnumeratedValidator" }, - "layout.image.y": { + "layout.grid.domain": { "params": { - "plotly_name": "y", - "parent_name": "layout.image", - "edit_type": "arraydraw" + "plotly_name": "domain", + "parent_name": "layout.grid", + "data_class_str": "Domain", + "data_docs": "\n" }, - "superclass": "AnyValidator" + "superclass": "CompoundValidator" }, - "layout.image.xref": { + "layout.grid.domain.y": { "params": { - "plotly_name": "xref", - "parent_name": "layout.image", - "edit_type": "arraydraw", - "values": [ - "paper", - "/^x([2-9]|[1-9][0-9]+)?( domain)?$/" + "plotly_name": "y", + "parent_name": "layout.grid.domain", + "edit_type": "plot", + "items": [ + { + "editType": "plot", + "max": 1, + "min": 0, + "valType": "number" + }, + { + "editType": "plot", + "max": 1, + "min": 0, + "valType": "number" + } ] }, - "superclass": "EnumeratedValidator" + "superclass": "InfoArrayValidator" }, - "layout.image.xanchor": { + "layout.grid.domain.x": { "params": { - "plotly_name": "xanchor", - "parent_name": "layout.image", - "edit_type": "arraydraw", - "values": [ - "left", - "center", - "right" + "plotly_name": "x", + "parent_name": "layout.grid.domain", + "edit_type": "plot", + "items": [ + { + "editType": "plot", + "max": 1, + "min": 0, + "valType": "number" + }, + { + "editType": "plot", + "max": 1, + "min": 0, + "valType": "number" + } ] }, - "superclass": "EnumeratedValidator" + "superclass": "InfoArrayValidator" }, - "layout.image.x": { + "layout.grid.columns": { "params": { - "plotly_name": "x", - "parent_name": "layout.image", - "edit_type": "arraydraw" + "plotly_name": "columns", + "parent_name": "layout.grid", + "edit_type": "plot", + "min": 1 }, - "superclass": "AnyValidator" + "superclass": "IntegerValidator" }, - "layout.image.visible": { + "layout.geo": { + "params": { + "plotly_name": "geo", + "parent_name": "layout", + "data_class_str": "Geo", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "layout.geo.visible": { "params": { "plotly_name": "visible", - "parent_name": "layout.image", - "edit_type": "arraydraw" + "parent_name": "layout.geo", + "edit_type": "plot" }, "superclass": "BooleanValidator" }, - "layout.image.templateitemname": { + "layout.geo.uirevision": { "params": { - "plotly_name": "templateitemname", - "parent_name": "layout.image", - "edit_type": "calc" + "plotly_name": "uirevision", + "parent_name": "layout.geo", + "edit_type": "none" }, - "superclass": "StringValidator" + "superclass": "AnyValidator" }, - "layout.image.source": { + "layout.geo.subunitwidth": { "params": { - "plotly_name": "source", - "parent_name": "layout.image", - "edit_type": "arraydraw" + "plotly_name": "subunitwidth", + "parent_name": "layout.geo", + "edit_type": "plot", + "min": 0 }, - "superclass": "ImageUriValidator" + "superclass": "NumberValidator" }, - "layout.image.sizing": { + "layout.geo.subunitcolor": { "params": { - "plotly_name": "sizing", - "parent_name": "layout.image", - "edit_type": "arraydraw", - "values": [ - "fill", - "contain", - "stretch" - ] + "plotly_name": "subunitcolor", + "parent_name": "layout.geo", + "edit_type": "plot" }, - "superclass": "EnumeratedValidator" + "superclass": "ColorValidator" }, - "layout.image.sizey": { + "layout.geo.showsubunits": { "params": { - "plotly_name": "sizey", - "parent_name": "layout.image", - "edit_type": "arraydraw" + "plotly_name": "showsubunits", + "parent_name": "layout.geo", + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "layout.image.sizex": { + "layout.geo.showrivers": { "params": { - "plotly_name": "sizex", - "parent_name": "layout.image", - "edit_type": "arraydraw" + "plotly_name": "showrivers", + "parent_name": "layout.geo", + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "layout.image.opacity": { + "layout.geo.showocean": { "params": { - "plotly_name": "opacity", - "parent_name": "layout.image", - "edit_type": "arraydraw", - "max": 1, - "min": 0 + "plotly_name": "showocean", + "parent_name": "layout.geo", + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "layout.image.name": { + "layout.geo.showland": { "params": { - "plotly_name": "name", - "parent_name": "layout.image", - "edit_type": "none" + "plotly_name": "showland", + "parent_name": "layout.geo", + "edit_type": "plot" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "layout.image.layer": { + "layout.geo.showlakes": { "params": { - "plotly_name": "layer", - "parent_name": "layout.image", - "edit_type": "arraydraw", - "values": [ - "below", - "above" - ] + "plotly_name": "showlakes", + "parent_name": "layout.geo", + "edit_type": "plot" }, - "superclass": "EnumeratedValidator" + "superclass": "BooleanValidator" }, - "layout.iciclecolorway": { + "layout.geo.showframe": { "params": { - "plotly_name": "iciclecolorway", - "parent_name": "layout", - "edit_type": "calc" + "plotly_name": "showframe", + "parent_name": "layout.geo", + "edit_type": "plot" }, - "superclass": "ColorlistValidator" + "superclass": "BooleanValidator" }, - "layout.hoversubplots": { + "layout.geo.showcountries": { "params": { - "plotly_name": "hoversubplots", - "parent_name": "layout", - "edit_type": "none", - "values": [ - "single", - "overlaying", - "axis" - ] + "plotly_name": "showcountries", + "parent_name": "layout.geo", + "edit_type": "plot" }, - "superclass": "EnumeratedValidator" + "superclass": "BooleanValidator" }, - "layout.hoversort": { + "layout.geo.showcoastlines": { "params": { - "plotly_name": "hoversort", - "parent_name": "layout", - "edit_type": "none", + "plotly_name": "showcoastlines", + "parent_name": "layout.geo", + "edit_type": "plot" + }, + "superclass": "BooleanValidator" + }, + "layout.geo.scope": { + "params": { + "plotly_name": "scope", + "parent_name": "layout.geo", + "edit_type": "plot", "values": [ - "trace", - "value descending", - "value ascending" + "africa", + "antarctica", + "asia", + "europe", + "north america", + "oceania", + "south america", + "usa", + "world" ] }, "superclass": "EnumeratedValidator" }, - "layout.hovermode": { + "layout.geo.riverwidth": { "params": { - "plotly_name": "hovermode", - "parent_name": "layout", - "edit_type": "modebar", + "plotly_name": "riverwidth", + "parent_name": "layout.geo", + "edit_type": "plot", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "layout.geo.rivercolor": { + "params": { + "plotly_name": "rivercolor", + "parent_name": "layout.geo", + "edit_type": "plot" + }, + "superclass": "ColorValidator" + }, + "layout.geo.resolution": { + "params": { + "plotly_name": "resolution", + "parent_name": "layout.geo", + "coerce_number": true, + "edit_type": "plot", "values": [ - "x", - "y", - "closest", - false, - "x unified", - "y unified" + 110, + 50 ] }, "superclass": "EnumeratedValidator" }, - "layout.hoverlabel": { + "layout.geo.projection": { "params": { - "plotly_name": "hoverlabel", - "parent_name": "layout", - "data_class_str": "Hoverlabel", + "plotly_name": "projection", + "parent_name": "layout.geo", + "data_class_str": "Projection", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "layout.hoverlabel.showarrow": { + "layout.geo.projection.type": { "params": { - "plotly_name": "showarrow", - "parent_name": "layout.hoverlabel", - "edit_type": "none" + "plotly_name": "type", + "parent_name": "layout.geo.projection", + "edit_type": "plot", + "values": [ + "airy", + "aitoff", + "albers", + "albers usa", + "august", + "azimuthal equal area", + "azimuthal equidistant", + "baker", + "bertin1953", + "boggs", + "bonne", + "bottomley", + "bromley", + "collignon", + "conic conformal", + "conic equal area", + "conic equidistant", + "craig", + "craster", + "cylindrical equal area", + "cylindrical stereographic", + "eckert1", + "eckert2", + "eckert3", + "eckert4", + "eckert5", + "eckert6", + "eisenlohr", + "equal earth", + "equirectangular", + "fahey", + "foucaut", + "foucaut sinusoidal", + "ginzburg4", + "ginzburg5", + "ginzburg6", + "ginzburg8", + "ginzburg9", + "gnomonic", + "gringorten", + "gringorten quincuncial", + "guyou", + "hammer", + "hill", + "homolosine", + "hufnagel", + "hyperelliptical", + "kavrayskiy7", + "lagrange", + "larrivee", + "laskowski", + "loximuthal", + "mercator", + "miller", + "mollweide", + "mt flat polar parabolic", + "mt flat polar quartic", + "mt flat polar sinusoidal", + "natural earth", + "natural earth1", + "natural earth2", + "nell hammer", + "nicolosi", + "orthographic", + "patterson", + "peirce quincuncial", + "polyconic", + "rectangular polyconic", + "robinson", + "satellite", + "sinu mollweide", + "sinusoidal", + "stereographic", + "times", + "transverse mercator", + "van der grinten", + "van der grinten2", + "van der grinten3", + "van der grinten4", + "wagner4", + "wagner6", + "wiechel", + "winkel tripel", + "winkel3" + ] }, - "superclass": "BooleanValidator" + "superclass": "EnumeratedValidator" }, - "layout.hoverlabel.namelength": { + "layout.geo.projection.tilt": { "params": { - "plotly_name": "namelength", - "parent_name": "layout.hoverlabel", - "edit_type": "none", - "min": -1 + "plotly_name": "tilt", + "parent_name": "layout.geo.projection", + "edit_type": "plot" }, - "superclass": "IntegerValidator" + "superclass": "NumberValidator" }, - "layout.hoverlabel.grouptitlefont": { + "layout.geo.projection.scale": { "params": { - "plotly_name": "grouptitlefont", - "parent_name": "layout.hoverlabel", - "data_class_str": "Grouptitlefont", + "plotly_name": "scale", + "parent_name": "layout.geo.projection", + "edit_type": "plot", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "layout.geo.projection.rotation": { + "params": { + "plotly_name": "rotation", + "parent_name": "layout.geo.projection", + "data_class_str": "Rotation", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "layout.hoverlabel.grouptitlefont.weight": { + "layout.geo.projection.rotation.roll": { "params": { - "plotly_name": "weight", - "parent_name": "layout.hoverlabel.grouptitlefont", - "edit_type": "none", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 + "plotly_name": "roll", + "parent_name": "layout.geo.projection.rotation", + "edit_type": "plot" }, - "superclass": "IntegerValidator" + "superclass": "NumberValidator" }, - "layout.hoverlabel.grouptitlefont.variant": { + "layout.geo.projection.rotation.lon": { "params": { - "plotly_name": "variant", - "parent_name": "layout.hoverlabel.grouptitlefont", - "edit_type": "none", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] + "plotly_name": "lon", + "parent_name": "layout.geo.projection.rotation", + "edit_type": "plot" }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "layout.hoverlabel.grouptitlefont.textcase": { + "layout.geo.projection.rotation.lat": { "params": { - "plotly_name": "textcase", - "parent_name": "layout.hoverlabel.grouptitlefont", - "edit_type": "none", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] + "plotly_name": "lat", + "parent_name": "layout.geo.projection.rotation", + "edit_type": "plot" }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "layout.hoverlabel.grouptitlefont.style": { + "layout.geo.projection.parallels": { "params": { - "plotly_name": "style", - "parent_name": "layout.hoverlabel.grouptitlefont", - "edit_type": "none", - "values": [ - "normal", - "italic" + "plotly_name": "parallels", + "parent_name": "layout.geo.projection", + "edit_type": "plot", + "items": [ + { + "editType": "plot", + "valType": "number" + }, + { + "editType": "plot", + "valType": "number" + } ] }, - "superclass": "EnumeratedValidator" + "superclass": "InfoArrayValidator" }, - "layout.hoverlabel.grouptitlefont.size": { + "layout.geo.projection.minscale": { "params": { - "plotly_name": "size", - "parent_name": "layout.hoverlabel.grouptitlefont", - "edit_type": "none", - "min": 1 + "plotly_name": "minscale", + "parent_name": "layout.geo.projection", + "edit_type": "plot", + "min": 0 }, "superclass": "NumberValidator" }, - "layout.hoverlabel.grouptitlefont.shadow": { - "params": { - "plotly_name": "shadow", - "parent_name": "layout.hoverlabel.grouptitlefont", - "edit_type": "none" - }, - "superclass": "StringValidator" - }, - "layout.hoverlabel.grouptitlefont.lineposition": { + "layout.geo.projection.maxscale": { "params": { - "plotly_name": "lineposition", - "parent_name": "layout.hoverlabel.grouptitlefont", - "edit_type": "none", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] + "plotly_name": "maxscale", + "parent_name": "layout.geo.projection", + "edit_type": "plot", + "min": 0 }, - "superclass": "FlaglistValidator" + "superclass": "NumberValidator" }, - "layout.hoverlabel.grouptitlefont.family": { + "layout.geo.projection.distance": { "params": { - "plotly_name": "family", - "parent_name": "layout.hoverlabel.grouptitlefont", - "edit_type": "none", - "no_blank": true, - "strict": true + "plotly_name": "distance", + "parent_name": "layout.geo.projection", + "edit_type": "plot", + "min": 1.001 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "layout.hoverlabel.grouptitlefont.color": { + "layout.geo.oceancolor": { "params": { - "plotly_name": "color", - "parent_name": "layout.hoverlabel.grouptitlefont", - "edit_type": "none" + "plotly_name": "oceancolor", + "parent_name": "layout.geo", + "edit_type": "plot" }, "superclass": "ColorValidator" }, - "layout.hoverlabel.font": { + "layout.geo.lonaxis": { "params": { - "plotly_name": "font", - "parent_name": "layout.hoverlabel", - "data_class_str": "Font", + "plotly_name": "lonaxis", + "parent_name": "layout.geo", + "data_class_str": "Lonaxis", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "layout.hoverlabel.font.weight": { - "params": { - "plotly_name": "weight", - "parent_name": "layout.hoverlabel.font", - "edit_type": "none", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "layout.hoverlabel.font.variant": { + "layout.geo.lonaxis.tick0": { "params": { - "plotly_name": "variant", - "parent_name": "layout.hoverlabel.font", - "edit_type": "none", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] + "plotly_name": "tick0", + "parent_name": "layout.geo.lonaxis", + "edit_type": "plot" }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "layout.hoverlabel.font.textcase": { + "layout.geo.lonaxis.showgrid": { "params": { - "plotly_name": "textcase", - "parent_name": "layout.hoverlabel.font", - "edit_type": "none", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] + "plotly_name": "showgrid", + "parent_name": "layout.geo.lonaxis", + "edit_type": "plot" }, - "superclass": "EnumeratedValidator" + "superclass": "BooleanValidator" }, - "layout.hoverlabel.font.style": { + "layout.geo.lonaxis.range": { "params": { - "plotly_name": "style", - "parent_name": "layout.hoverlabel.font", - "edit_type": "none", - "values": [ - "normal", - "italic" + "plotly_name": "range", + "parent_name": "layout.geo.lonaxis", + "edit_type": "plot", + "items": [ + { + "editType": "plot", + "valType": "number" + }, + { + "editType": "plot", + "valType": "number" + } ] }, - "superclass": "EnumeratedValidator" + "superclass": "InfoArrayValidator" }, - "layout.hoverlabel.font.size": { + "layout.geo.lonaxis.gridwidth": { "params": { - "plotly_name": "size", - "parent_name": "layout.hoverlabel.font", - "edit_type": "none", - "min": 1 + "plotly_name": "gridwidth", + "parent_name": "layout.geo.lonaxis", + "edit_type": "plot", + "min": 0 }, "superclass": "NumberValidator" }, - "layout.hoverlabel.font.shadow": { - "params": { - "plotly_name": "shadow", - "parent_name": "layout.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "StringValidator" - }, - "layout.hoverlabel.font.lineposition": { - "params": { - "plotly_name": "lineposition", - "parent_name": "layout.hoverlabel.font", - "edit_type": "none", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] - }, - "superclass": "FlaglistValidator" - }, - "layout.hoverlabel.font.family": { - "params": { - "plotly_name": "family", - "parent_name": "layout.hoverlabel.font", - "edit_type": "none", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "layout.hoverlabel.font.color": { - "params": { - "plotly_name": "color", - "parent_name": "layout.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "ColorValidator" - }, - "layout.hoverlabel.bordercolor": { - "params": { - "plotly_name": "bordercolor", - "parent_name": "layout.hoverlabel", - "edit_type": "none" - }, - "superclass": "ColorValidator" - }, - "layout.hoverlabel.bgcolor": { - "params": { - "plotly_name": "bgcolor", - "parent_name": "layout.hoverlabel", - "edit_type": "none" - }, - "superclass": "ColorValidator" - }, - "layout.hoverlabel.align": { + "layout.geo.lonaxis.griddash": { "params": { - "plotly_name": "align", - "parent_name": "layout.hoverlabel", - "edit_type": "none", + "plotly_name": "griddash", + "parent_name": "layout.geo.lonaxis", + "edit_type": "plot", "values": [ - "left", - "right", - "auto" + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" ] }, - "superclass": "EnumeratedValidator" - }, - "layout.hoverdistance": { - "params": { - "plotly_name": "hoverdistance", - "parent_name": "layout", - "edit_type": "none", - "min": -1 - }, - "superclass": "IntegerValidator" - }, - "layout.hoveranywhere": { - "params": { - "plotly_name": "hoveranywhere", - "parent_name": "layout", - "edit_type": "none" - }, - "superclass": "BooleanValidator" + "superclass": "DashValidator" }, - "layout.hidesources": { + "layout.geo.lonaxis.gridcolor": { "params": { - "plotly_name": "hidesources", - "parent_name": "layout", + "plotly_name": "gridcolor", + "parent_name": "layout.geo.lonaxis", "edit_type": "plot" }, - "superclass": "BooleanValidator" + "superclass": "ColorValidator" }, - "layout.hiddenlabelssrc": { + "layout.geo.lonaxis.dtick": { "params": { - "plotly_name": "hiddenlabelssrc", - "parent_name": "layout", - "edit_type": "none" + "plotly_name": "dtick", + "parent_name": "layout.geo.lonaxis", + "edit_type": "plot" }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "layout.hiddenlabels": { + "layout.geo.lataxis": { "params": { - "plotly_name": "hiddenlabels", - "parent_name": "layout", - "edit_type": "calc" + "plotly_name": "lataxis", + "parent_name": "layout.geo", + "data_class_str": "Lataxis", + "data_docs": "\n" }, - "superclass": "DataArrayValidator" + "superclass": "CompoundValidator" }, - "layout.height": { + "layout.geo.lataxis.tick0": { "params": { - "plotly_name": "height", - "parent_name": "layout", - "edit_type": "plot", - "min": 10 + "plotly_name": "tick0", + "parent_name": "layout.geo.lataxis", + "edit_type": "plot" }, "superclass": "NumberValidator" }, - "layout.grid": { + "layout.geo.lataxis.showgrid": { "params": { - "plotly_name": "grid", - "parent_name": "layout", - "data_class_str": "Grid", - "data_docs": "\n" + "plotly_name": "showgrid", + "parent_name": "layout.geo.lataxis", + "edit_type": "plot" }, - "superclass": "CompoundValidator" + "superclass": "BooleanValidator" }, - "layout.grid.yside": { + "layout.geo.lataxis.range": { "params": { - "plotly_name": "yside", - "parent_name": "layout.grid", + "plotly_name": "range", + "parent_name": "layout.geo.lataxis", "edit_type": "plot", - "values": [ - "left", - "left plot", - "right plot", - "right" + "items": [ + { + "editType": "plot", + "valType": "number" + }, + { + "editType": "plot", + "valType": "number" + } ] }, - "superclass": "EnumeratedValidator" + "superclass": "InfoArrayValidator" }, - "layout.grid.ygap": { + "layout.geo.lataxis.gridwidth": { "params": { - "plotly_name": "ygap", - "parent_name": "layout.grid", + "plotly_name": "gridwidth", + "parent_name": "layout.geo.lataxis", "edit_type": "plot", - "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "layout.grid.yaxes": { + "layout.geo.lataxis.griddash": { "params": { - "plotly_name": "yaxes", - "parent_name": "layout.grid", + "plotly_name": "griddash", + "parent_name": "layout.geo.lataxis", "edit_type": "plot", - "free_length": true, - "items": { - "editType": "plot", - "valType": "enumerated", - "values": [ - "/^y([2-9]|[1-9][0-9]+)?( domain)?$/", - "" - ] - } + "values": [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" + ] }, - "superclass": "InfoArrayValidator" + "superclass": "DashValidator" }, - "layout.grid.xside": { + "layout.geo.lataxis.gridcolor": { "params": { - "plotly_name": "xside", - "parent_name": "layout.grid", - "edit_type": "plot", - "values": [ - "bottom", - "bottom plot", - "top plot", - "top" - ] + "plotly_name": "gridcolor", + "parent_name": "layout.geo.lataxis", + "edit_type": "plot" }, - "superclass": "EnumeratedValidator" + "superclass": "ColorValidator" }, - "layout.grid.xgap": { + "layout.geo.lataxis.dtick": { "params": { - "plotly_name": "xgap", - "parent_name": "layout.grid", - "edit_type": "plot", - "max": 1, - "min": 0 + "plotly_name": "dtick", + "parent_name": "layout.geo.lataxis", + "edit_type": "plot" }, "superclass": "NumberValidator" }, - "layout.grid.xaxes": { + "layout.geo.landcolor": { "params": { - "plotly_name": "xaxes", - "parent_name": "layout.grid", - "edit_type": "plot", - "free_length": true, - "items": { - "editType": "plot", - "valType": "enumerated", - "values": [ - "/^x([2-9]|[1-9][0-9]+)?( domain)?$/", - "" - ] - } + "plotly_name": "landcolor", + "parent_name": "layout.geo", + "edit_type": "plot" }, - "superclass": "InfoArrayValidator" + "superclass": "ColorValidator" }, - "layout.grid.subplots": { + "layout.geo.lakecolor": { "params": { - "plotly_name": "subplots", - "parent_name": "layout.grid", - "dimensions": 2, - "edit_type": "plot", - "free_length": true, - "items": { - "editType": "plot", - "valType": "enumerated", - "values": [ - "/^x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?$/", - "" - ] - } + "plotly_name": "lakecolor", + "parent_name": "layout.geo", + "edit_type": "plot" }, - "superclass": "InfoArrayValidator" + "superclass": "ColorValidator" }, - "layout.grid.rows": { + "layout.geo.framewidth": { "params": { - "plotly_name": "rows", - "parent_name": "layout.grid", + "plotly_name": "framewidth", + "parent_name": "layout.geo", "edit_type": "plot", - "min": 1 + "min": 0 }, - "superclass": "IntegerValidator" + "superclass": "NumberValidator" }, - "layout.grid.roworder": { + "layout.geo.framecolor": { "params": { - "plotly_name": "roworder", - "parent_name": "layout.grid", - "edit_type": "plot", - "values": [ - "top to bottom", - "bottom to top" - ] + "plotly_name": "framecolor", + "parent_name": "layout.geo", + "edit_type": "plot" }, - "superclass": "EnumeratedValidator" + "superclass": "ColorValidator" }, - "layout.grid.pattern": { + "layout.geo.fitbounds": { "params": { - "plotly_name": "pattern", - "parent_name": "layout.grid", + "plotly_name": "fitbounds", + "parent_name": "layout.geo", "edit_type": "plot", "values": [ - "independent", - "coupled" + false, + "locations", + "geojson" ] }, "superclass": "EnumeratedValidator" }, - "layout.grid.domain": { + "layout.geo.domain": { "params": { "plotly_name": "domain", - "parent_name": "layout.grid", + "parent_name": "layout.geo", "data_class_str": "Domain", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "layout.grid.domain.y": { + "layout.geo.domain.y": { "params": { "plotly_name": "y", - "parent_name": "layout.grid.domain", + "parent_name": "layout.geo.domain", "edit_type": "plot", "items": [ { @@ -18783,10 +18482,10 @@ }, "superclass": "InfoArrayValidator" }, - "layout.grid.domain.x": { + "layout.geo.domain.x": { "params": { "plotly_name": "x", - "parent_name": "layout.grid.domain", + "parent_name": "layout.geo.domain", "edit_type": "plot", "items": [ { @@ -18805,765 +18504,548 @@ }, "superclass": "InfoArrayValidator" }, - "layout.grid.columns": { + "layout.geo.domain.row": { "params": { - "plotly_name": "columns", - "parent_name": "layout.grid", + "plotly_name": "row", + "parent_name": "layout.geo.domain", "edit_type": "plot", - "min": 1 + "min": 0 }, "superclass": "IntegerValidator" }, - "layout.geo": { + "layout.geo.domain.column": { "params": { - "plotly_name": "geo", - "parent_name": "layout", - "data_class_str": "Geo", - "data_docs": "\n" + "plotly_name": "column", + "parent_name": "layout.geo.domain", + "edit_type": "plot", + "min": 0 }, - "superclass": "CompoundValidator" + "superclass": "IntegerValidator" }, - "layout.geo.visible": { + "layout.geo.countrywidth": { "params": { - "plotly_name": "visible", + "plotly_name": "countrywidth", "parent_name": "layout.geo", - "edit_type": "plot" + "edit_type": "plot", + "min": 0 }, - "superclass": "BooleanValidator" + "superclass": "NumberValidator" }, - "layout.geo.uirevision": { + "layout.geo.countrycolor": { "params": { - "plotly_name": "uirevision", + "plotly_name": "countrycolor", "parent_name": "layout.geo", - "edit_type": "none" + "edit_type": "plot" }, - "superclass": "AnyValidator" + "superclass": "ColorValidator" }, - "layout.geo.subunitwidth": { + "layout.geo.coastlinewidth": { "params": { - "plotly_name": "subunitwidth", + "plotly_name": "coastlinewidth", "parent_name": "layout.geo", "edit_type": "plot", "min": 0 }, "superclass": "NumberValidator" }, - "layout.geo.subunitcolor": { + "layout.geo.coastlinecolor": { "params": { - "plotly_name": "subunitcolor", + "plotly_name": "coastlinecolor", "parent_name": "layout.geo", "edit_type": "plot" }, "superclass": "ColorValidator" }, - "layout.geo.showsubunits": { - "params": { - "plotly_name": "showsubunits", - "parent_name": "layout.geo", - "edit_type": "plot" - }, - "superclass": "BooleanValidator" - }, - "layout.geo.showrivers": { + "layout.geo.center": { "params": { - "plotly_name": "showrivers", + "plotly_name": "center", "parent_name": "layout.geo", - "edit_type": "plot" + "data_class_str": "Center", + "data_docs": "\n" }, - "superclass": "BooleanValidator" + "superclass": "CompoundValidator" }, - "layout.geo.showocean": { + "layout.geo.center.lon": { "params": { - "plotly_name": "showocean", - "parent_name": "layout.geo", + "plotly_name": "lon", + "parent_name": "layout.geo.center", "edit_type": "plot" }, - "superclass": "BooleanValidator" + "superclass": "NumberValidator" }, - "layout.geo.showland": { + "layout.geo.center.lat": { "params": { - "plotly_name": "showland", - "parent_name": "layout.geo", + "plotly_name": "lat", + "parent_name": "layout.geo.center", "edit_type": "plot" }, - "superclass": "BooleanValidator" + "superclass": "NumberValidator" }, - "layout.geo.showlakes": { + "layout.geo.bgcolor": { "params": { - "plotly_name": "showlakes", + "plotly_name": "bgcolor", "parent_name": "layout.geo", "edit_type": "plot" }, - "superclass": "BooleanValidator" + "superclass": "ColorValidator" }, - "layout.geo.showframe": { + "layout.funnelmode": { "params": { - "plotly_name": "showframe", - "parent_name": "layout.geo", - "edit_type": "plot" + "plotly_name": "funnelmode", + "parent_name": "layout", + "edit_type": "calc", + "values": [ + "stack", + "group", + "overlay" + ] }, - "superclass": "BooleanValidator" + "superclass": "EnumeratedValidator" }, - "layout.geo.showcountries": { + "layout.funnelgroupgap": { "params": { - "plotly_name": "showcountries", - "parent_name": "layout.geo", - "edit_type": "plot" + "plotly_name": "funnelgroupgap", + "parent_name": "layout", + "edit_type": "calc", + "max": 1, + "min": 0 }, - "superclass": "BooleanValidator" + "superclass": "NumberValidator" }, - "layout.geo.showcoastlines": { + "layout.funnelgap": { "params": { - "plotly_name": "showcoastlines", - "parent_name": "layout.geo", - "edit_type": "plot" + "plotly_name": "funnelgap", + "parent_name": "layout", + "edit_type": "calc", + "max": 1, + "min": 0 }, - "superclass": "BooleanValidator" + "superclass": "NumberValidator" }, - "layout.geo.scope": { + "layout.funnelareacolorway": { "params": { - "plotly_name": "scope", - "parent_name": "layout.geo", - "edit_type": "plot", - "values": [ - "africa", - "antarctica", - "asia", - "europe", - "north america", - "oceania", - "south america", - "usa", - "world" - ] + "plotly_name": "funnelareacolorway", + "parent_name": "layout", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "ColorlistValidator" }, - "layout.geo.riverwidth": { + "layout.font": { "params": { - "plotly_name": "riverwidth", - "parent_name": "layout.geo", - "edit_type": "plot", - "min": 0 + "plotly_name": "font", + "parent_name": "layout", + "data_class_str": "Font", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "layout.geo.rivercolor": { + "layout.font.weight": { "params": { - "plotly_name": "rivercolor", - "parent_name": "layout.geo", - "edit_type": "plot" + "plotly_name": "weight", + "parent_name": "layout.font", + "edit_type": "calc", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "ColorValidator" + "superclass": "IntegerValidator" }, - "layout.geo.resolution": { + "layout.font.variant": { "params": { - "plotly_name": "resolution", - "parent_name": "layout.geo", - "coerce_number": true, - "edit_type": "plot", + "plotly_name": "variant", + "parent_name": "layout.font", + "edit_type": "calc", "values": [ - 110, - 50 + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] }, "superclass": "EnumeratedValidator" }, - "layout.geo.projection": { + "layout.font.textcase": { "params": { - "plotly_name": "projection", - "parent_name": "layout.geo", - "data_class_str": "Projection", - "data_docs": "\n" + "plotly_name": "textcase", + "parent_name": "layout.font", + "edit_type": "calc", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, - "superclass": "CompoundValidator" + "superclass": "EnumeratedValidator" }, - "layout.geo.projection.type": { + "layout.font.style": { "params": { - "plotly_name": "type", - "parent_name": "layout.geo.projection", - "edit_type": "plot", + "plotly_name": "style", + "parent_name": "layout.font", + "edit_type": "calc", "values": [ - "airy", - "aitoff", - "albers", - "albers usa", - "august", - "azimuthal equal area", - "azimuthal equidistant", - "baker", - "bertin1953", - "boggs", - "bonne", - "bottomley", - "bromley", - "collignon", - "conic conformal", - "conic equal area", - "conic equidistant", - "craig", - "craster", - "cylindrical equal area", - "cylindrical stereographic", - "eckert1", - "eckert2", - "eckert3", - "eckert4", - "eckert5", - "eckert6", - "eisenlohr", - "equal earth", - "equirectangular", - "fahey", - "foucaut", - "foucaut sinusoidal", - "ginzburg4", - "ginzburg5", - "ginzburg6", - "ginzburg8", - "ginzburg9", - "gnomonic", - "gringorten", - "gringorten quincuncial", - "guyou", - "hammer", - "hill", - "homolosine", - "hufnagel", - "hyperelliptical", - "kavrayskiy7", - "lagrange", - "larrivee", - "laskowski", - "loximuthal", - "mercator", - "miller", - "mollweide", - "mt flat polar parabolic", - "mt flat polar quartic", - "mt flat polar sinusoidal", - "natural earth", - "natural earth1", - "natural earth2", - "nell hammer", - "nicolosi", - "orthographic", - "patterson", - "peirce quincuncial", - "polyconic", - "rectangular polyconic", - "robinson", - "satellite", - "sinu mollweide", - "sinusoidal", - "stereographic", - "times", - "transverse mercator", - "van der grinten", - "van der grinten2", - "van der grinten3", - "van der grinten4", - "wagner4", - "wagner6", - "wiechel", - "winkel tripel", - "winkel3" + "normal", + "italic" ] }, "superclass": "EnumeratedValidator" }, - "layout.geo.projection.tilt": { + "layout.font.size": { "params": { - "plotly_name": "tilt", - "parent_name": "layout.geo.projection", - "edit_type": "plot" + "plotly_name": "size", + "parent_name": "layout.font", + "edit_type": "calc", + "min": 1 }, "superclass": "NumberValidator" }, - "layout.geo.projection.scale": { + "layout.font.shadow": { "params": { - "plotly_name": "scale", - "parent_name": "layout.geo.projection", - "edit_type": "plot", - "min": 0 + "plotly_name": "shadow", + "parent_name": "layout.font", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "layout.geo.projection.rotation": { + "layout.font.lineposition": { "params": { - "plotly_name": "rotation", - "parent_name": "layout.geo.projection", - "data_class_str": "Rotation", - "data_docs": "\n" + "plotly_name": "lineposition", + "parent_name": "layout.font", + "edit_type": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] }, - "superclass": "CompoundValidator" + "superclass": "FlaglistValidator" }, - "layout.geo.projection.rotation.roll": { + "layout.font.family": { "params": { - "plotly_name": "roll", - "parent_name": "layout.geo.projection.rotation", - "edit_type": "plot" + "plotly_name": "family", + "parent_name": "layout.font", + "edit_type": "calc", + "no_blank": true, + "strict": true }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "layout.geo.projection.rotation.lon": { + "layout.font.color": { "params": { - "plotly_name": "lon", - "parent_name": "layout.geo.projection.rotation", - "edit_type": "plot" + "plotly_name": "color", + "parent_name": "layout.font", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "layout.geo.projection.rotation.lat": { + "layout.extendtreemapcolors": { "params": { - "plotly_name": "lat", - "parent_name": "layout.geo.projection.rotation", - "edit_type": "plot" + "plotly_name": "extendtreemapcolors", + "parent_name": "layout", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "layout.geo.projection.parallels": { + "layout.extendsunburstcolors": { "params": { - "plotly_name": "parallels", - "parent_name": "layout.geo.projection", - "edit_type": "plot", - "items": [ - { - "editType": "plot", - "valType": "number" - }, - { - "editType": "plot", - "valType": "number" - } - ] + "plotly_name": "extendsunburstcolors", + "parent_name": "layout", + "edit_type": "calc" }, - "superclass": "InfoArrayValidator" + "superclass": "BooleanValidator" }, - "layout.geo.projection.distance": { + "layout.extendpiecolors": { "params": { - "plotly_name": "distance", - "parent_name": "layout.geo.projection", - "edit_type": "plot", - "min": 1.001 + "plotly_name": "extendpiecolors", + "parent_name": "layout", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "layout.geo.oceancolor": { + "layout.extendiciclecolors": { "params": { - "plotly_name": "oceancolor", - "parent_name": "layout.geo", - "edit_type": "plot" + "plotly_name": "extendiciclecolors", + "parent_name": "layout", + "edit_type": "calc" }, - "superclass": "ColorValidator" + "superclass": "BooleanValidator" }, - "layout.geo.lonaxis": { + "layout.extendfunnelareacolors": { "params": { - "plotly_name": "lonaxis", - "parent_name": "layout.geo", - "data_class_str": "Lonaxis", - "data_docs": "\n" + "plotly_name": "extendfunnelareacolors", + "parent_name": "layout", + "edit_type": "calc" }, - "superclass": "CompoundValidator" + "superclass": "BooleanValidator" }, - "layout.geo.lonaxis.tick0": { + "layout.editrevision": { "params": { - "plotly_name": "tick0", - "parent_name": "layout.geo.lonaxis", - "edit_type": "plot" + "plotly_name": "editrevision", + "parent_name": "layout", + "edit_type": "none" }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "layout.geo.lonaxis.showgrid": { + "layout.dragmode": { "params": { - "plotly_name": "showgrid", - "parent_name": "layout.geo.lonaxis", - "edit_type": "plot" + "plotly_name": "dragmode", + "parent_name": "layout", + "edit_type": "modebar", + "values": [ + "zoom", + "pan", + "select", + "lasso", + "drawclosedpath", + "drawopenpath", + "drawline", + "drawrect", + "drawcircle", + "orbit", + "turntable", + false + ] }, - "superclass": "BooleanValidator" + "superclass": "EnumeratedValidator" }, - "layout.geo.lonaxis.range": { + "layout.datarevision": { "params": { - "plotly_name": "range", - "parent_name": "layout.geo.lonaxis", - "edit_type": "plot", - "items": [ - { - "editType": "plot", - "valType": "number" - }, - { - "editType": "plot", - "valType": "number" - } - ] + "plotly_name": "datarevision", + "parent_name": "layout", + "edit_type": "calc" }, - "superclass": "InfoArrayValidator" + "superclass": "AnyValidator" }, - "layout.geo.lonaxis.gridwidth": { + "layout.computed": { "params": { - "plotly_name": "gridwidth", - "parent_name": "layout.geo.lonaxis", - "edit_type": "plot", - "min": 0 + "plotly_name": "computed", + "parent_name": "layout", + "edit_type": "none" }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "layout.geo.lonaxis.griddash": { + "layout.colorway": { "params": { - "plotly_name": "griddash", - "parent_name": "layout.geo.lonaxis", - "edit_type": "plot", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ] + "plotly_name": "colorway", + "parent_name": "layout", + "edit_type": "calc" }, - "superclass": "DashValidator" + "superclass": "ColorlistValidator" }, - "layout.geo.lonaxis.gridcolor": { + "layout.colorscale": { "params": { - "plotly_name": "gridcolor", - "parent_name": "layout.geo.lonaxis", - "edit_type": "plot" + "plotly_name": "colorscale", + "parent_name": "layout", + "data_class_str": "Colorscale", + "data_docs": "\n" }, - "superclass": "ColorValidator" + "superclass": "CompoundValidator" }, - "layout.geo.lonaxis.dtick": { + "layout.colorscale.sequentialminus": { "params": { - "plotly_name": "dtick", - "parent_name": "layout.geo.lonaxis", - "edit_type": "plot" + "plotly_name": "sequentialminus", + "parent_name": "layout.colorscale", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "ColorscaleValidator" }, - "layout.geo.lataxis": { + "layout.colorscale.sequential": { "params": { - "plotly_name": "lataxis", - "parent_name": "layout.geo", - "data_class_str": "Lataxis", + "plotly_name": "sequential", + "parent_name": "layout.colorscale", + "edit_type": "calc" + }, + "superclass": "ColorscaleValidator" + }, + "layout.colorscale.diverging": { + "params": { + "plotly_name": "diverging", + "parent_name": "layout.colorscale", + "edit_type": "calc" + }, + "superclass": "ColorscaleValidator" + }, + "layout.coloraxis": { + "params": { + "plotly_name": "coloraxis", + "parent_name": "layout", + "data_class_str": "Coloraxis", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "layout.geo.lataxis.tick0": { + "layout.coloraxis.showscale": { "params": { - "plotly_name": "tick0", - "parent_name": "layout.geo.lataxis", - "edit_type": "plot" + "plotly_name": "showscale", + "parent_name": "layout.coloraxis", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "layout.geo.lataxis.showgrid": { + "layout.coloraxis.reversescale": { "params": { - "plotly_name": "showgrid", - "parent_name": "layout.geo.lataxis", + "plotly_name": "reversescale", + "parent_name": "layout.coloraxis", "edit_type": "plot" }, "superclass": "BooleanValidator" }, - "layout.geo.lataxis.range": { + "layout.coloraxis.colorscale": { "params": { - "plotly_name": "range", - "parent_name": "layout.geo.lataxis", - "edit_type": "plot", - "items": [ - { - "editType": "plot", - "valType": "number" - }, - { - "editType": "plot", - "valType": "number" - } - ] + "plotly_name": "colorscale", + "parent_name": "layout.coloraxis", + "edit_type": "calc", + "implied_edits": { + "autocolorscale": false + } }, - "superclass": "InfoArrayValidator" + "superclass": "ColorscaleValidator" }, - "layout.geo.lataxis.gridwidth": { + "layout.coloraxis.colorbar": { "params": { - "plotly_name": "gridwidth", - "parent_name": "layout.geo.lataxis", - "edit_type": "plot", - "min": 0 + "plotly_name": "colorbar", + "parent_name": "layout.coloraxis", + "data_class_str": "ColorBar", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "layout.geo.lataxis.griddash": { + "layout.coloraxis.colorbar.yref": { "params": { - "plotly_name": "griddash", - "parent_name": "layout.geo.lataxis", - "edit_type": "plot", + "plotly_name": "yref", + "parent_name": "layout.coloraxis.colorbar", + "edit_type": "colorbars", "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" + "container", + "paper" ] }, - "superclass": "DashValidator" + "superclass": "EnumeratedValidator" }, - "layout.geo.lataxis.gridcolor": { + "layout.coloraxis.colorbar.ypad": { "params": { - "plotly_name": "gridcolor", - "parent_name": "layout.geo.lataxis", - "edit_type": "plot" + "plotly_name": "ypad", + "parent_name": "layout.coloraxis.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "ColorValidator" + "superclass": "NumberValidator" }, - "layout.geo.lataxis.dtick": { + "layout.coloraxis.colorbar.yanchor": { "params": { - "plotly_name": "dtick", - "parent_name": "layout.geo.lataxis", - "edit_type": "plot" + "plotly_name": "yanchor", + "parent_name": "layout.coloraxis.colorbar", + "edit_type": "colorbars", + "values": [ + "top", + "middle", + "bottom" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "layout.geo.landcolor": { + "layout.coloraxis.colorbar.y": { "params": { - "plotly_name": "landcolor", - "parent_name": "layout.geo", - "edit_type": "plot" + "plotly_name": "y", + "parent_name": "layout.coloraxis.colorbar", + "edit_type": "colorbars" }, - "superclass": "ColorValidator" + "superclass": "NumberValidator" }, - "layout.geo.lakecolor": { + "layout.coloraxis.colorbar.xref": { "params": { - "plotly_name": "lakecolor", - "parent_name": "layout.geo", - "edit_type": "plot" + "plotly_name": "xref", + "parent_name": "layout.coloraxis.colorbar", + "edit_type": "colorbars", + "values": [ + "container", + "paper" + ] }, - "superclass": "ColorValidator" + "superclass": "EnumeratedValidator" }, - "layout.geo.framewidth": { + "layout.coloraxis.colorbar.xpad": { "params": { - "plotly_name": "framewidth", - "parent_name": "layout.geo", - "edit_type": "plot", + "plotly_name": "xpad", + "parent_name": "layout.coloraxis.colorbar", + "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "layout.geo.framecolor": { - "params": { - "plotly_name": "framecolor", - "parent_name": "layout.geo", - "edit_type": "plot" - }, - "superclass": "ColorValidator" - }, - "layout.geo.fitbounds": { + "layout.coloraxis.colorbar.xanchor": { "params": { - "plotly_name": "fitbounds", - "parent_name": "layout.geo", - "edit_type": "plot", + "plotly_name": "xanchor", + "parent_name": "layout.coloraxis.colorbar", + "edit_type": "colorbars", "values": [ - false, - "locations", - "geojson" + "left", + "center", + "right" ] }, "superclass": "EnumeratedValidator" }, - "layout.geo.domain": { + "layout.coloraxis.colorbar.x": { "params": { - "plotly_name": "domain", - "parent_name": "layout.geo", - "data_class_str": "Domain", + "plotly_name": "x", + "parent_name": "layout.coloraxis.colorbar", + "edit_type": "colorbars" + }, + "superclass": "NumberValidator" + }, + "layout.coloraxis.colorbar.title": { + "params": { + "plotly_name": "title", + "parent_name": "layout.coloraxis.colorbar", + "data_class_str": "Title", "data_docs": "\n" }, - "superclass": "CompoundValidator" + "superclass": "TitleValidator" }, - "layout.geo.domain.y": { + "layout.coloraxis.colorbar.title.text": { "params": { - "plotly_name": "y", - "parent_name": "layout.geo.domain", - "edit_type": "plot", - "items": [ - { - "editType": "plot", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "plot", - "max": 1, - "min": 0, - "valType": "number" - } - ] - }, - "superclass": "InfoArrayValidator" - }, - "layout.geo.domain.x": { - "params": { - "plotly_name": "x", - "parent_name": "layout.geo.domain", - "edit_type": "plot", - "items": [ - { - "editType": "plot", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "plot", - "max": 1, - "min": 0, - "valType": "number" - } - ] - }, - "superclass": "InfoArrayValidator" - }, - "layout.geo.domain.row": { - "params": { - "plotly_name": "row", - "parent_name": "layout.geo.domain", - "edit_type": "plot", - "min": 0 - }, - "superclass": "IntegerValidator" - }, - "layout.geo.domain.column": { - "params": { - "plotly_name": "column", - "parent_name": "layout.geo.domain", - "edit_type": "plot", - "min": 0 - }, - "superclass": "IntegerValidator" - }, - "layout.geo.countrywidth": { - "params": { - "plotly_name": "countrywidth", - "parent_name": "layout.geo", - "edit_type": "plot", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "layout.geo.countrycolor": { - "params": { - "plotly_name": "countrycolor", - "parent_name": "layout.geo", - "edit_type": "plot" - }, - "superclass": "ColorValidator" - }, - "layout.geo.coastlinewidth": { - "params": { - "plotly_name": "coastlinewidth", - "parent_name": "layout.geo", - "edit_type": "plot", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "layout.geo.coastlinecolor": { - "params": { - "plotly_name": "coastlinecolor", - "parent_name": "layout.geo", - "edit_type": "plot" - }, - "superclass": "ColorValidator" - }, - "layout.geo.center": { - "params": { - "plotly_name": "center", - "parent_name": "layout.geo", - "data_class_str": "Center", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "layout.geo.center.lon": { - "params": { - "plotly_name": "lon", - "parent_name": "layout.geo.center", - "edit_type": "plot" - }, - "superclass": "NumberValidator" - }, - "layout.geo.center.lat": { - "params": { - "plotly_name": "lat", - "parent_name": "layout.geo.center", - "edit_type": "plot" - }, - "superclass": "NumberValidator" - }, - "layout.geo.bgcolor": { - "params": { - "plotly_name": "bgcolor", - "parent_name": "layout.geo", - "edit_type": "plot" + "plotly_name": "text", + "parent_name": "layout.coloraxis.colorbar.title", + "edit_type": "colorbars" }, - "superclass": "ColorValidator" + "superclass": "StringValidator" }, - "layout.funnelmode": { + "layout.coloraxis.colorbar.title.side": { "params": { - "plotly_name": "funnelmode", - "parent_name": "layout", - "edit_type": "calc", + "plotly_name": "side", + "parent_name": "layout.coloraxis.colorbar.title", + "edit_type": "colorbars", "values": [ - "stack", - "group", - "overlay" + "right", + "top", + "bottom" ] }, "superclass": "EnumeratedValidator" }, - "layout.funnelgroupgap": { - "params": { - "plotly_name": "funnelgroupgap", - "parent_name": "layout", - "edit_type": "calc", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "layout.funnelgap": { - "params": { - "plotly_name": "funnelgap", - "parent_name": "layout", - "edit_type": "calc", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "layout.funnelareacolorway": { - "params": { - "plotly_name": "funnelareacolorway", - "parent_name": "layout", - "edit_type": "calc" - }, - "superclass": "ColorlistValidator" - }, - "layout.font": { + "layout.coloraxis.colorbar.title.font": { "params": { "plotly_name": "font", - "parent_name": "layout", + "parent_name": "layout.coloraxis.colorbar.title", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "layout.font.weight": { + "layout.coloraxis.colorbar.title.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "layout.font", - "edit_type": "calc", + "parent_name": "layout.coloraxis.colorbar.title.font", + "edit_type": "colorbars", "extras": [ "normal", "bold" @@ -19573,11 +19055,11 @@ }, "superclass": "IntegerValidator" }, - "layout.font.variant": { + "layout.coloraxis.colorbar.title.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "layout.font", - "edit_type": "calc", + "parent_name": "layout.coloraxis.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "small-caps", @@ -19589,11 +19071,11 @@ }, "superclass": "EnumeratedValidator" }, - "layout.font.textcase": { + "layout.coloraxis.colorbar.title.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "layout.font", - "edit_type": "calc", + "parent_name": "layout.coloraxis.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "word caps", @@ -19603,11 +19085,11 @@ }, "superclass": "EnumeratedValidator" }, - "layout.font.style": { + "layout.coloraxis.colorbar.title.font.style": { "params": { "plotly_name": "style", - "parent_name": "layout.font", - "edit_type": "calc", + "parent_name": "layout.coloraxis.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "italic" @@ -19615,28 +19097,28 @@ }, "superclass": "EnumeratedValidator" }, - "layout.font.size": { + "layout.coloraxis.colorbar.title.font.size": { "params": { "plotly_name": "size", - "parent_name": "layout.font", - "edit_type": "calc", + "parent_name": "layout.coloraxis.colorbar.title.font", + "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "layout.font.shadow": { + "layout.coloraxis.colorbar.title.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "layout.font", - "edit_type": "calc" + "parent_name": "layout.coloraxis.colorbar.title.font", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "layout.font.lineposition": { + "layout.coloraxis.colorbar.title.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "layout.font", - "edit_type": "calc", + "parent_name": "layout.coloraxis.colorbar.title.font", + "edit_type": "colorbars", "extras": [ "none" ], @@ -19648,677 +19130,259 @@ }, "superclass": "FlaglistValidator" }, - "layout.font.family": { + "layout.coloraxis.colorbar.title.font.family": { "params": { "plotly_name": "family", - "parent_name": "layout.font", - "edit_type": "calc", + "parent_name": "layout.coloraxis.colorbar.title.font", + "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "layout.font.color": { + "layout.coloraxis.colorbar.title.font.color": { "params": { "plotly_name": "color", - "parent_name": "layout.font", - "edit_type": "calc" + "parent_name": "layout.coloraxis.colorbar.title.font", + "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "layout.extendtreemapcolors": { + "layout.coloraxis.colorbar.tickwidth": { "params": { - "plotly_name": "extendtreemapcolors", - "parent_name": "layout", - "edit_type": "calc" + "plotly_name": "tickwidth", + "parent_name": "layout.coloraxis.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "BooleanValidator" + "superclass": "NumberValidator" }, - "layout.extendsunburstcolors": { + "layout.coloraxis.colorbar.tickvals": { "params": { - "plotly_name": "extendsunburstcolors", - "parent_name": "layout", - "edit_type": "calc" + "plotly_name": "tickvals", + "parent_name": "layout.coloraxis.colorbar", + "edit_type": "colorbars" }, - "superclass": "BooleanValidator" + "superclass": "DataArrayValidator" }, - "layout.extendpiecolors": { + "layout.coloraxis.colorbar.ticktext": { "params": { - "plotly_name": "extendpiecolors", - "parent_name": "layout", - "edit_type": "calc" + "plotly_name": "ticktext", + "parent_name": "layout.coloraxis.colorbar", + "edit_type": "colorbars" }, - "superclass": "BooleanValidator" + "superclass": "DataArrayValidator" }, - "layout.extendiciclecolors": { + "layout.coloraxis.colorbar.ticksuffix": { "params": { - "plotly_name": "extendiciclecolors", - "parent_name": "layout", - "edit_type": "calc" + "plotly_name": "ticksuffix", + "parent_name": "layout.coloraxis.colorbar", + "edit_type": "colorbars" }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "layout.extendfunnelareacolors": { + "layout.coloraxis.colorbar.ticks": { "params": { - "plotly_name": "extendfunnelareacolors", - "parent_name": "layout", - "edit_type": "calc" + "plotly_name": "ticks", + "parent_name": "layout.coloraxis.colorbar", + "edit_type": "colorbars", + "values": [ + "outside", + "inside", + "" + ] }, - "superclass": "BooleanValidator" + "superclass": "EnumeratedValidator" }, - "layout.editrevision": { + "layout.coloraxis.colorbar.tickprefix": { "params": { - "plotly_name": "editrevision", - "parent_name": "layout", - "edit_type": "none" + "plotly_name": "tickprefix", + "parent_name": "layout.coloraxis.colorbar", + "edit_type": "colorbars" }, - "superclass": "AnyValidator" + "superclass": "StringValidator" }, - "layout.dragmode": { + "layout.coloraxis.colorbar.tickmode": { "params": { - "plotly_name": "dragmode", - "parent_name": "layout", - "edit_type": "modebar", + "plotly_name": "tickmode", + "parent_name": "layout.coloraxis.colorbar", + "edit_type": "colorbars", + "implied_edits": {}, "values": [ - "zoom", - "pan", - "select", - "lasso", - "drawclosedpath", - "drawopenpath", - "drawline", - "drawrect", - "drawcircle", - "orbit", - "turntable", - false + "auto", + "linear", + "array" ] }, "superclass": "EnumeratedValidator" }, - "layout.datarevision": { + "layout.coloraxis.colorbar.ticklen": { "params": { - "plotly_name": "datarevision", - "parent_name": "layout", - "edit_type": "calc" + "plotly_name": "ticklen", + "parent_name": "layout.coloraxis.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "layout.computed": { + "layout.coloraxis.colorbar.ticklabelstep": { "params": { - "plotly_name": "computed", - "parent_name": "layout", - "edit_type": "none" + "plotly_name": "ticklabelstep", + "parent_name": "layout.coloraxis.colorbar", + "edit_type": "colorbars", + "min": 1 }, - "superclass": "AnyValidator" + "superclass": "IntegerValidator" }, - "layout.colorway": { + "layout.coloraxis.colorbar.ticklabelposition": { "params": { - "plotly_name": "colorway", - "parent_name": "layout", - "edit_type": "calc" + "plotly_name": "ticklabelposition", + "parent_name": "layout.coloraxis.colorbar", + "edit_type": "colorbars", + "values": [ + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom" + ] }, - "superclass": "ColorlistValidator" + "superclass": "EnumeratedValidator" }, - "layout.colorscale": { + "layout.coloraxis.colorbar.ticklabeloverflow": { "params": { - "plotly_name": "colorscale", - "parent_name": "layout", - "data_class_str": "Colorscale", + "plotly_name": "ticklabeloverflow", + "parent_name": "layout.coloraxis.colorbar", + "edit_type": "colorbars", + "values": [ + "allow", + "hide past div", + "hide past domain" + ] + }, + "superclass": "EnumeratedValidator" + }, + "layout.coloraxis.colorbar.tickformatstopdefaults": { + "params": { + "plotly_name": "tickformatstopdefaults", + "parent_name": "layout.coloraxis.colorbar", + "data_class_str": "Tickformatstop", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "layout.colorscale.sequentialminus": { + "layout.coloraxis.colorbar.tickformatstops": { "params": { - "plotly_name": "sequentialminus", - "parent_name": "layout.colorscale", - "edit_type": "calc" + "plotly_name": "tickformatstops", + "parent_name": "layout.coloraxis.colorbar", + "data_class_str": "Tickformatstop", + "data_docs": "\n" }, - "superclass": "ColorscaleValidator" + "superclass": "CompoundArrayValidator" }, - "layout.colorscale.sequential": { + "layout.coloraxis.colorbar.tickformatstop.value": { "params": { - "plotly_name": "sequential", - "parent_name": "layout.colorscale", - "edit_type": "calc" + "plotly_name": "value", + "parent_name": "layout.coloraxis.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "ColorscaleValidator" + "superclass": "StringValidator" }, - "layout.colorscale.diverging": { + "layout.coloraxis.colorbar.tickformatstop.templateitemname": { "params": { - "plotly_name": "diverging", - "parent_name": "layout.colorscale", - "edit_type": "calc" + "plotly_name": "templateitemname", + "parent_name": "layout.coloraxis.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "ColorscaleValidator" + "superclass": "StringValidator" }, - "layout.coloraxis": { + "layout.coloraxis.colorbar.tickformatstop.name": { "params": { - "plotly_name": "coloraxis", - "parent_name": "layout", - "data_class_str": "Coloraxis", - "data_docs": "\n" + "plotly_name": "name", + "parent_name": "layout.coloraxis.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "CompoundValidator" + "superclass": "StringValidator" }, - "layout.coloraxis.showscale": { + "layout.coloraxis.colorbar.tickformatstop.enabled": { "params": { - "plotly_name": "showscale", - "parent_name": "layout.coloraxis", - "edit_type": "calc" + "plotly_name": "enabled", + "parent_name": "layout.coloraxis.colorbar.tickformatstop", + "edit_type": "colorbars" }, "superclass": "BooleanValidator" }, - "layout.coloraxis.reversescale": { + "layout.coloraxis.colorbar.tickformatstop.dtickrange": { "params": { - "plotly_name": "reversescale", - "parent_name": "layout.coloraxis", - "edit_type": "plot" + "plotly_name": "dtickrange", + "parent_name": "layout.coloraxis.colorbar.tickformatstop", + "edit_type": "colorbars", + "items": [ + { + "editType": "colorbars", + "valType": "any" + }, + { + "editType": "colorbars", + "valType": "any" + } + ] }, - "superclass": "BooleanValidator" + "superclass": "InfoArrayValidator" }, - "layout.coloraxis.colorscale": { + "layout.coloraxis.colorbar.tickformat": { "params": { - "plotly_name": "colorscale", - "parent_name": "layout.coloraxis", - "edit_type": "calc", - "implied_edits": { - "autocolorscale": false - } + "plotly_name": "tickformat", + "parent_name": "layout.coloraxis.colorbar", + "edit_type": "colorbars" }, - "superclass": "ColorscaleValidator" + "superclass": "StringValidator" }, - "layout.coloraxis.colorbar": { + "layout.coloraxis.colorbar.tickfont": { "params": { - "plotly_name": "colorbar", - "parent_name": "layout.coloraxis", - "data_class_str": "ColorBar", + "plotly_name": "tickfont", + "parent_name": "layout.coloraxis.colorbar", + "data_class_str": "Tickfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "layout.coloraxis.colorbar.yref": { + "layout.coloraxis.colorbar.tickfont.weight": { "params": { - "plotly_name": "yref", - "parent_name": "layout.coloraxis.colorbar", + "plotly_name": "weight", + "parent_name": "layout.coloraxis.colorbar.tickfont", "edit_type": "colorbars", - "values": [ - "container", - "paper" - ] + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "EnumeratedValidator" + "superclass": "IntegerValidator" }, - "layout.coloraxis.colorbar.ypad": { + "layout.coloraxis.colorbar.tickfont.variant": { "params": { - "plotly_name": "ypad", - "parent_name": "layout.coloraxis.colorbar", + "plotly_name": "variant", + "parent_name": "layout.coloraxis.colorbar.tickfont", "edit_type": "colorbars", - "min": 0 + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "layout.coloraxis.colorbar.yanchor": { - "params": { - "plotly_name": "yanchor", - "parent_name": "layout.coloraxis.colorbar", - "edit_type": "colorbars", - "values": [ - "top", - "middle", - "bottom" - ] - }, - "superclass": "EnumeratedValidator" - }, - "layout.coloraxis.colorbar.y": { - "params": { - "plotly_name": "y", - "parent_name": "layout.coloraxis.colorbar", - "edit_type": "colorbars" - }, - "superclass": "NumberValidator" - }, - "layout.coloraxis.colorbar.xref": { - "params": { - "plotly_name": "xref", - "parent_name": "layout.coloraxis.colorbar", - "edit_type": "colorbars", - "values": [ - "container", - "paper" - ] - }, - "superclass": "EnumeratedValidator" - }, - "layout.coloraxis.colorbar.xpad": { - "params": { - "plotly_name": "xpad", - "parent_name": "layout.coloraxis.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "layout.coloraxis.colorbar.xanchor": { - "params": { - "plotly_name": "xanchor", - "parent_name": "layout.coloraxis.colorbar", - "edit_type": "colorbars", - "values": [ - "left", - "center", - "right" - ] - }, - "superclass": "EnumeratedValidator" - }, - "layout.coloraxis.colorbar.x": { - "params": { - "plotly_name": "x", - "parent_name": "layout.coloraxis.colorbar", - "edit_type": "colorbars" - }, - "superclass": "NumberValidator" - }, - "layout.coloraxis.colorbar.title": { - "params": { - "plotly_name": "title", - "parent_name": "layout.coloraxis.colorbar", - "data_class_str": "Title", - "data_docs": "\n" - }, - "superclass": "TitleValidator" - }, - "layout.coloraxis.colorbar.title.text": { - "params": { - "plotly_name": "text", - "parent_name": "layout.coloraxis.colorbar.title", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "layout.coloraxis.colorbar.title.side": { - "params": { - "plotly_name": "side", - "parent_name": "layout.coloraxis.colorbar.title", - "edit_type": "colorbars", - "values": [ - "right", - "top", - "bottom" - ] - }, - "superclass": "EnumeratedValidator" - }, - "layout.coloraxis.colorbar.title.font": { - "params": { - "plotly_name": "font", - "parent_name": "layout.coloraxis.colorbar.title", - "data_class_str": "Font", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "layout.coloraxis.colorbar.title.font.weight": { - "params": { - "plotly_name": "weight", - "parent_name": "layout.coloraxis.colorbar.title.font", - "edit_type": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "layout.coloraxis.colorbar.title.font.variant": { - "params": { - "plotly_name": "variant", - "parent_name": "layout.coloraxis.colorbar.title.font", - "edit_type": "colorbars", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "superclass": "EnumeratedValidator" - }, - "layout.coloraxis.colorbar.title.font.textcase": { - "params": { - "plotly_name": "textcase", - "parent_name": "layout.coloraxis.colorbar.title.font", - "edit_type": "colorbars", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "superclass": "EnumeratedValidator" - }, - "layout.coloraxis.colorbar.title.font.style": { - "params": { - "plotly_name": "style", - "parent_name": "layout.coloraxis.colorbar.title.font", - "edit_type": "colorbars", - "values": [ - "normal", - "italic" - ] - }, - "superclass": "EnumeratedValidator" - }, - "layout.coloraxis.colorbar.title.font.size": { - "params": { - "plotly_name": "size", - "parent_name": "layout.coloraxis.colorbar.title.font", - "edit_type": "colorbars", - "min": 1 - }, - "superclass": "NumberValidator" - }, - "layout.coloraxis.colorbar.title.font.shadow": { - "params": { - "plotly_name": "shadow", - "parent_name": "layout.coloraxis.colorbar.title.font", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "layout.coloraxis.colorbar.title.font.lineposition": { - "params": { - "plotly_name": "lineposition", - "parent_name": "layout.coloraxis.colorbar.title.font", - "edit_type": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] - }, - "superclass": "FlaglistValidator" - }, - "layout.coloraxis.colorbar.title.font.family": { - "params": { - "plotly_name": "family", - "parent_name": "layout.coloraxis.colorbar.title.font", - "edit_type": "colorbars", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "layout.coloraxis.colorbar.title.font.color": { - "params": { - "plotly_name": "color", - "parent_name": "layout.coloraxis.colorbar.title.font", - "edit_type": "colorbars" - }, - "superclass": "ColorValidator" - }, - "layout.coloraxis.colorbar.tickwidth": { - "params": { - "plotly_name": "tickwidth", - "parent_name": "layout.coloraxis.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "layout.coloraxis.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "layout.coloraxis.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "layout.coloraxis.colorbar.tickvals": { - "params": { - "plotly_name": "tickvals", - "parent_name": "layout.coloraxis.colorbar", - "edit_type": "colorbars" - }, - "superclass": "DataArrayValidator" - }, - "layout.coloraxis.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "layout.coloraxis.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "layout.coloraxis.colorbar.ticktext": { - "params": { - "plotly_name": "ticktext", - "parent_name": "layout.coloraxis.colorbar", - "edit_type": "colorbars" - }, - "superclass": "DataArrayValidator" - }, - "layout.coloraxis.colorbar.ticksuffix": { - "params": { - "plotly_name": "ticksuffix", - "parent_name": "layout.coloraxis.colorbar", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "layout.coloraxis.colorbar.ticks": { - "params": { - "plotly_name": "ticks", - "parent_name": "layout.coloraxis.colorbar", - "edit_type": "colorbars", - "values": [ - "outside", - "inside", - "" - ] - }, - "superclass": "EnumeratedValidator" - }, - "layout.coloraxis.colorbar.tickprefix": { - "params": { - "plotly_name": "tickprefix", - "parent_name": "layout.coloraxis.colorbar", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "layout.coloraxis.colorbar.tickmode": { - "params": { - "plotly_name": "tickmode", - "parent_name": "layout.coloraxis.colorbar", - "edit_type": "colorbars", - "implied_edits": {}, - "values": [ - "auto", - "linear", - "array" - ] - }, - "superclass": "EnumeratedValidator" - }, - "layout.coloraxis.colorbar.ticklen": { - "params": { - "plotly_name": "ticklen", - "parent_name": "layout.coloraxis.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "layout.coloraxis.colorbar.ticklabelstep": { - "params": { - "plotly_name": "ticklabelstep", - "parent_name": "layout.coloraxis.colorbar", - "edit_type": "colorbars", - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "layout.coloraxis.colorbar.ticklabelposition": { - "params": { - "plotly_name": "ticklabelposition", - "parent_name": "layout.coloraxis.colorbar", - "edit_type": "colorbars", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" - ] - }, - "superclass": "EnumeratedValidator" - }, - "layout.coloraxis.colorbar.ticklabeloverflow": { - "params": { - "plotly_name": "ticklabeloverflow", - "parent_name": "layout.coloraxis.colorbar", - "edit_type": "colorbars", - "values": [ - "allow", - "hide past div", - "hide past domain" - ] - }, - "superclass": "EnumeratedValidator" - }, - "layout.coloraxis.colorbar.tickformatstopdefaults": { - "params": { - "plotly_name": "tickformatstopdefaults", - "parent_name": "layout.coloraxis.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "layout.coloraxis.colorbar.tickformatstops": { - "params": { - "plotly_name": "tickformatstops", - "parent_name": "layout.coloraxis.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" - }, - "superclass": "CompoundArrayValidator" - }, - "layout.coloraxis.colorbar.tickformatstop.value": { - "params": { - "plotly_name": "value", - "parent_name": "layout.coloraxis.colorbar.tickformatstop", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "layout.coloraxis.colorbar.tickformatstop.templateitemname": { - "params": { - "plotly_name": "templateitemname", - "parent_name": "layout.coloraxis.colorbar.tickformatstop", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "layout.coloraxis.colorbar.tickformatstop.name": { - "params": { - "plotly_name": "name", - "parent_name": "layout.coloraxis.colorbar.tickformatstop", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "layout.coloraxis.colorbar.tickformatstop.enabled": { - "params": { - "plotly_name": "enabled", - "parent_name": "layout.coloraxis.colorbar.tickformatstop", - "edit_type": "colorbars" - }, - "superclass": "BooleanValidator" - }, - "layout.coloraxis.colorbar.tickformatstop.dtickrange": { - "params": { - "plotly_name": "dtickrange", - "parent_name": "layout.coloraxis.colorbar.tickformatstop", - "edit_type": "colorbars", - "items": [ - { - "editType": "colorbars", - "valType": "any" - }, - { - "editType": "colorbars", - "valType": "any" - } - ] - }, - "superclass": "InfoArrayValidator" - }, - "layout.coloraxis.colorbar.tickformat": { - "params": { - "plotly_name": "tickformat", - "parent_name": "layout.coloraxis.colorbar", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "layout.coloraxis.colorbar.tickfont": { - "params": { - "plotly_name": "tickfont", - "parent_name": "layout.coloraxis.colorbar", - "data_class_str": "Tickfont", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "layout.coloraxis.colorbar.tickfont.weight": { - "params": { - "plotly_name": "weight", - "parent_name": "layout.coloraxis.colorbar.tickfont", - "edit_type": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "layout.coloraxis.colorbar.tickfont.variant": { - "params": { - "plotly_name": "variant", - "parent_name": "layout.coloraxis.colorbar.tickfont", - "edit_type": "colorbars", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "superclass": "EnumeratedValidator" - }, - "layout.coloraxis.colorbar.tickfont.textcase": { + "layout.coloraxis.colorbar.tickfont.textcase": { "params": { "plotly_name": "textcase", "parent_name": "layout.coloraxis.colorbar.tickfont", @@ -21574,14 +20638,6 @@ }, "superclass": "IntegerValidator" }, - "waterfall.ysrc": { - "params": { - "plotly_name": "ysrc", - "parent_name": "waterfall", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.yperiodalignment": { "params": { "plotly_name": "yperiodalignment", @@ -21644,14 +20700,6 @@ }, "superclass": "DataArrayValidator" }, - "waterfall.xsrc": { - "params": { - "plotly_name": "xsrc", - "parent_name": "waterfall", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.xperiodalignment": { "params": { "plotly_name": "xperiodalignment", @@ -21714,14 +20762,6 @@ }, "superclass": "DataArrayValidator" }, - "waterfall.widthsrc": { - "params": { - "plotly_name": "widthsrc", - "parent_name": "waterfall", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.width": { "params": { "plotly_name": "width", @@ -21816,14 +20856,6 @@ }, "superclass": "ColorValidator" }, - "waterfall.texttemplatesrc": { - "params": { - "plotly_name": "texttemplatesrc", - "parent_name": "waterfall", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.texttemplatefallback": { "params": { "plotly_name": "texttemplatefallback", @@ -21841,22 +20873,6 @@ }, "superclass": "StringValidator" }, - "waterfall.textsrc": { - "params": { - "plotly_name": "textsrc", - "parent_name": "waterfall", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "waterfall.textpositionsrc": { - "params": { - "plotly_name": "textpositionsrc", - "parent_name": "waterfall", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.textposition": { "params": { "plotly_name": "textposition", @@ -21900,14 +20916,6 @@ }, "superclass": "CompoundValidator" }, - "waterfall.textfont.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "waterfall.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.textfont.weight": { "params": { "plotly_name": "weight", @@ -21923,14 +20931,6 @@ }, "superclass": "IntegerValidator" }, - "waterfall.textfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "waterfall.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.textfont.variant": { "params": { "plotly_name": "variant", @@ -21948,14 +20948,6 @@ }, "superclass": "EnumeratedValidator" }, - "waterfall.textfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "waterfall.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.textfont.textcase": { "params": { "plotly_name": "textcase", @@ -21971,14 +20963,6 @@ }, "superclass": "EnumeratedValidator" }, - "waterfall.textfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "waterfall.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.textfont.style": { "params": { "plotly_name": "style", @@ -21992,14 +20976,6 @@ }, "superclass": "EnumeratedValidator" }, - "waterfall.textfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "waterfall.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.textfont.size": { "params": { "plotly_name": "size", @@ -22010,14 +20986,6 @@ }, "superclass": "NumberValidator" }, - "waterfall.textfont.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "waterfall.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.textfont.shadow": { "params": { "plotly_name": "shadow", @@ -22027,14 +20995,6 @@ }, "superclass": "StringValidator" }, - "waterfall.textfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "waterfall.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.textfont.lineposition": { "params": { "plotly_name": "lineposition", @@ -22052,14 +21012,6 @@ }, "superclass": "FlaglistValidator" }, - "waterfall.textfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "waterfall.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.textfont.family": { "params": { "plotly_name": "family", @@ -22071,14 +21023,6 @@ }, "superclass": "StringValidator" }, - "waterfall.textfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "waterfall.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.textfont.color": { "params": { "plotly_name": "color", @@ -22105,35 +21049,6 @@ }, "superclass": "StringValidator" }, - "waterfall.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "waterfall", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "waterfall.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "waterfall.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "waterfall.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "waterfall.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, "waterfall.showlegend": { "params": { "plotly_name": "showlegend", @@ -22159,14 +21074,6 @@ }, "superclass": "CompoundValidator" }, - "waterfall.outsidetextfont.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "waterfall.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.outsidetextfont.weight": { "params": { "plotly_name": "weight", @@ -22182,14 +21089,6 @@ }, "superclass": "IntegerValidator" }, - "waterfall.outsidetextfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "waterfall.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.outsidetextfont.variant": { "params": { "plotly_name": "variant", @@ -22207,14 +21106,6 @@ }, "superclass": "EnumeratedValidator" }, - "waterfall.outsidetextfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "waterfall.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.outsidetextfont.textcase": { "params": { "plotly_name": "textcase", @@ -22230,14 +21121,6 @@ }, "superclass": "EnumeratedValidator" }, - "waterfall.outsidetextfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "waterfall.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.outsidetextfont.style": { "params": { "plotly_name": "style", @@ -22251,14 +21134,6 @@ }, "superclass": "EnumeratedValidator" }, - "waterfall.outsidetextfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "waterfall.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.outsidetextfont.size": { "params": { "plotly_name": "size", @@ -22269,14 +21144,6 @@ }, "superclass": "NumberValidator" }, - "waterfall.outsidetextfont.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "waterfall.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.outsidetextfont.shadow": { "params": { "plotly_name": "shadow", @@ -22286,14 +21153,6 @@ }, "superclass": "StringValidator" }, - "waterfall.outsidetextfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "waterfall.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.outsidetextfont.lineposition": { "params": { "plotly_name": "lineposition", @@ -22311,14 +21170,6 @@ }, "superclass": "FlaglistValidator" }, - "waterfall.outsidetextfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "waterfall.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.outsidetextfont.family": { "params": { "plotly_name": "family", @@ -22330,14 +21181,6 @@ }, "superclass": "StringValidator" }, - "waterfall.outsidetextfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "waterfall.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.outsidetextfont.color": { "params": { "plotly_name": "color", @@ -22369,14 +21212,6 @@ }, "superclass": "NumberValidator" }, - "waterfall.offsetsrc": { - "params": { - "plotly_name": "offsetsrc", - "parent_name": "waterfall", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.offsetgroup": { "params": { "plotly_name": "offsetgroup", @@ -22402,14 +21237,6 @@ }, "superclass": "StringValidator" }, - "waterfall.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "waterfall", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.meta": { "params": { "plotly_name": "meta", @@ -22419,14 +21246,6 @@ }, "superclass": "AnyValidator" }, - "waterfall.measuresrc": { - "params": { - "plotly_name": "measuresrc", - "parent_name": "waterfall", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.measure": { "params": { "plotly_name": "measure", @@ -22611,14 +21430,6 @@ }, "superclass": "CompoundValidator" }, - "waterfall.insidetextfont.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "waterfall.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.insidetextfont.weight": { "params": { "plotly_name": "weight", @@ -22634,14 +21445,6 @@ }, "superclass": "IntegerValidator" }, - "waterfall.insidetextfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "waterfall.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.insidetextfont.variant": { "params": { "plotly_name": "variant", @@ -22659,14 +21462,6 @@ }, "superclass": "EnumeratedValidator" }, - "waterfall.insidetextfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "waterfall.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.insidetextfont.textcase": { "params": { "plotly_name": "textcase", @@ -22682,14 +21477,6 @@ }, "superclass": "EnumeratedValidator" }, - "waterfall.insidetextfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "waterfall.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.insidetextfont.style": { "params": { "plotly_name": "style", @@ -22703,14 +21490,6 @@ }, "superclass": "EnumeratedValidator" }, - "waterfall.insidetextfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "waterfall.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.insidetextfont.size": { "params": { "plotly_name": "size", @@ -22721,14 +21500,6 @@ }, "superclass": "NumberValidator" }, - "waterfall.insidetextfont.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "waterfall.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.insidetextfont.shadow": { "params": { "plotly_name": "shadow", @@ -22738,14 +21509,6 @@ }, "superclass": "StringValidator" }, - "waterfall.insidetextfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "waterfall.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.insidetextfont.lineposition": { "params": { "plotly_name": "lineposition", @@ -22763,14 +21526,6 @@ }, "superclass": "FlaglistValidator" }, - "waterfall.insidetextfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "waterfall.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.insidetextfont.family": { "params": { "plotly_name": "family", @@ -22782,14 +21537,6 @@ }, "superclass": "StringValidator" }, - "waterfall.insidetextfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "waterfall.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.insidetextfont.color": { "params": { "plotly_name": "color", @@ -22867,14 +21614,6 @@ }, "superclass": "ColorValidator" }, - "waterfall.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "waterfall", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.ids": { "params": { "plotly_name": "ids", @@ -22883,14 +21622,6 @@ }, "superclass": "DataArrayValidator" }, - "waterfall.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "waterfall", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.hovertext": { "params": { "plotly_name": "hovertext", @@ -22900,14 +21631,6 @@ }, "superclass": "StringValidator" }, - "waterfall.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "waterfall", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.hovertemplatefallback": { "params": { "plotly_name": "hovertemplatefallback", @@ -22942,14 +21665,6 @@ }, "superclass": "BooleanValidator" }, - "waterfall.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "waterfall.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.hoverlabel.namelength": { "params": { "plotly_name": "namelength", @@ -22969,14 +21684,6 @@ }, "superclass": "CompoundValidator" }, - "waterfall.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "waterfall.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.hoverlabel.font.weight": { "params": { "plotly_name": "weight", @@ -22992,14 +21699,6 @@ }, "superclass": "IntegerValidator" }, - "waterfall.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "waterfall.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.hoverlabel.font.variant": { "params": { "plotly_name": "variant", @@ -23017,14 +21716,6 @@ }, "superclass": "EnumeratedValidator" }, - "waterfall.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "waterfall.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", @@ -23040,14 +21731,6 @@ }, "superclass": "EnumeratedValidator" }, - "waterfall.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "waterfall.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.hoverlabel.font.style": { "params": { "plotly_name": "style", @@ -23061,14 +21744,6 @@ }, "superclass": "EnumeratedValidator" }, - "waterfall.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "waterfall.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.hoverlabel.font.size": { "params": { "plotly_name": "size", @@ -23079,14 +21754,6 @@ }, "superclass": "NumberValidator" }, - "waterfall.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "waterfall.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", @@ -23096,14 +21763,6 @@ }, "superclass": "StringValidator" }, - "waterfall.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "waterfall.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", @@ -23121,14 +21780,6 @@ }, "superclass": "FlaglistValidator" }, - "waterfall.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "waterfall.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.hoverlabel.font.family": { "params": { "plotly_name": "family", @@ -23140,14 +21791,6 @@ }, "superclass": "StringValidator" }, - "waterfall.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "waterfall.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.hoverlabel.font.color": { "params": { "plotly_name": "color", @@ -23157,14 +21800,6 @@ }, "superclass": "ColorValidator" }, - "waterfall.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "waterfall.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.hoverlabel.bordercolor": { "params": { "plotly_name": "bordercolor", @@ -23174,14 +21809,6 @@ }, "superclass": "ColorValidator" }, - "waterfall.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "waterfall.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.hoverlabel.bgcolor": { "params": { "plotly_name": "bgcolor", @@ -23191,14 +21818,6 @@ }, "superclass": "ColorValidator" }, - "waterfall.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "waterfall.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.hoverlabel.align": { "params": { "plotly_name": "align", @@ -23213,14 +21832,6 @@ }, "superclass": "EnumeratedValidator" }, - "waterfall.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "waterfall", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.hoverinfo": { "params": { "plotly_name": "hoverinfo", @@ -23315,14 +21926,6 @@ }, "superclass": "ColorValidator" }, - "waterfall.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "waterfall", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "waterfall.customdata": { "params": { "plotly_name": "customdata", @@ -23450,14 +22053,6 @@ }, "superclass": "CompoundValidator" }, - "volume.zsrc": { - "params": { - "plotly_name": "zsrc", - "parent_name": "volume", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.zhoverformat": { "params": { "plotly_name": "zhoverformat", @@ -23474,14 +22069,6 @@ }, "superclass": "DataArrayValidator" }, - "volume.ysrc": { - "params": { - "plotly_name": "ysrc", - "parent_name": "volume", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.yhoverformat": { "params": { "plotly_name": "yhoverformat", @@ -23498,14 +22085,6 @@ }, "superclass": "DataArrayValidator" }, - "volume.xsrc": { - "params": { - "plotly_name": "xsrc", - "parent_name": "volume", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.xhoverformat": { "params": { "plotly_name": "xhoverformat", @@ -23535,14 +22114,6 @@ }, "superclass": "EnumeratedValidator" }, - "volume.valuesrc": { - "params": { - "plotly_name": "valuesrc", - "parent_name": "volume", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.valuehoverformat": { "params": { "plotly_name": "valuehoverformat", @@ -23575,14 +22146,6 @@ }, "superclass": "StringValidator" }, - "volume.textsrc": { - "params": { - "plotly_name": "textsrc", - "parent_name": "volume", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.text": { "params": { "plotly_name": "text", @@ -23648,35 +22211,6 @@ }, "superclass": "IntegerValidator" }, - "volume.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "volume", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "volume.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "volume.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "volume.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "volume.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, "volume.spaceframe": { "params": { "plotly_name": "spaceframe", @@ -23730,14 +22264,6 @@ }, "superclass": "BooleanValidator" }, - "volume.slices.z.locationssrc": { - "params": { - "plotly_name": "locationssrc", - "parent_name": "volume.slices.z", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.slices.z.locations": { "params": { "plotly_name": "locations", @@ -23773,14 +22299,6 @@ }, "superclass": "BooleanValidator" }, - "volume.slices.y.locationssrc": { - "params": { - "plotly_name": "locationssrc", - "parent_name": "volume.slices.y", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.slices.y.locations": { "params": { "plotly_name": "locations", @@ -23816,14 +22334,6 @@ }, "superclass": "BooleanValidator" }, - "volume.slices.x.locationssrc": { - "params": { - "plotly_name": "locationssrc", - "parent_name": "volume.slices.x", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.slices.x.locations": { "params": { "plotly_name": "locations", @@ -23901,14 +22411,6 @@ }, "superclass": "StringValidator" }, - "volume.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "volume", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.meta": { "params": { "plotly_name": "meta", @@ -24219,14 +22721,6 @@ }, "superclass": "NumberValidator" }, - "volume.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "volume", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.ids": { "params": { "plotly_name": "ids", @@ -24235,14 +22729,6 @@ }, "superclass": "DataArrayValidator" }, - "volume.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "volume", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.hovertext": { "params": { "plotly_name": "hovertext", @@ -24252,14 +22738,6 @@ }, "superclass": "StringValidator" }, - "volume.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "volume", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.hovertemplatefallback": { "params": { "plotly_name": "hovertemplatefallback", @@ -24294,14 +22772,6 @@ }, "superclass": "BooleanValidator" }, - "volume.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "volume.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.hoverlabel.namelength": { "params": { "plotly_name": "namelength", @@ -24321,14 +22791,6 @@ }, "superclass": "CompoundValidator" }, - "volume.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "volume.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.hoverlabel.font.weight": { "params": { "plotly_name": "weight", @@ -24344,14 +22806,6 @@ }, "superclass": "IntegerValidator" }, - "volume.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "volume.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.hoverlabel.font.variant": { "params": { "plotly_name": "variant", @@ -24369,14 +22823,6 @@ }, "superclass": "EnumeratedValidator" }, - "volume.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "volume.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", @@ -24392,14 +22838,6 @@ }, "superclass": "EnumeratedValidator" }, - "volume.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "volume.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.hoverlabel.font.style": { "params": { "plotly_name": "style", @@ -24413,14 +22851,6 @@ }, "superclass": "EnumeratedValidator" }, - "volume.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "volume.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.hoverlabel.font.size": { "params": { "plotly_name": "size", @@ -24431,14 +22861,6 @@ }, "superclass": "NumberValidator" }, - "volume.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "volume.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", @@ -24448,14 +22870,6 @@ }, "superclass": "StringValidator" }, - "volume.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "volume.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", @@ -24473,14 +22887,6 @@ }, "superclass": "FlaglistValidator" }, - "volume.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "volume.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.hoverlabel.font.family": { "params": { "plotly_name": "family", @@ -24492,14 +22898,6 @@ }, "superclass": "StringValidator" }, - "volume.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "volume.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.hoverlabel.font.color": { "params": { "plotly_name": "color", @@ -24509,14 +22907,6 @@ }, "superclass": "ColorValidator" }, - "volume.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "volume.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.hoverlabel.bordercolor": { "params": { "plotly_name": "bordercolor", @@ -24526,14 +22916,6 @@ }, "superclass": "ColorValidator" }, - "volume.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "volume.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.hoverlabel.bgcolor": { "params": { "plotly_name": "bgcolor", @@ -24543,14 +22925,6 @@ }, "superclass": "ColorValidator" }, - "volume.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "volume.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.hoverlabel.align": { "params": { "plotly_name": "align", @@ -24565,14 +22939,6 @@ }, "superclass": "EnumeratedValidator" }, - "volume.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "volume", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.hoverinfo": { "params": { "plotly_name": "hoverinfo", @@ -24602,14 +22968,6 @@ }, "superclass": "BooleanValidator" }, - "volume.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "volume", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.customdata": { "params": { "plotly_name": "customdata", @@ -24912,14 +23270,6 @@ }, "superclass": "NumberValidator" }, - "volume.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "volume.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.colorbar.tickvals": { "params": { "plotly_name": "tickvals", @@ -24928,14 +23278,6 @@ }, "superclass": "DataArrayValidator" }, - "volume.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "volume.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "volume.colorbar.ticktext": { "params": { "plotly_name": "ticktext", @@ -25631,14 +23973,6 @@ }, "superclass": "IntegerValidator" }, - "violin.ysrc": { - "params": { - "plotly_name": "ysrc", - "parent_name": "violin", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "violin.yhoverformat": { "params": { "plotly_name": "yhoverformat", @@ -25672,14 +24006,6 @@ }, "superclass": "DataArrayValidator" }, - "violin.xsrc": { - "params": { - "plotly_name": "xsrc", - "parent_name": "violin", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "violin.xhoverformat": { "params": { "plotly_name": "xhoverformat", @@ -25796,14 +24122,6 @@ }, "superclass": "StringValidator" }, - "violin.textsrc": { - "params": { - "plotly_name": "textsrc", - "parent_name": "violin", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "violin.text": { "params": { "plotly_name": "text", @@ -25813,35 +24131,6 @@ }, "superclass": "StringValidator" }, - "violin.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "violin", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "violin.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "violin.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "violin.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "violin.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, "violin.spanmode": { "params": { "plotly_name": "spanmode", @@ -26042,14 +24331,6 @@ }, "superclass": "StringValidator" }, - "violin.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "violin", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "violin.meta": { "params": { "plotly_name": "meta", @@ -26894,14 +25175,6 @@ }, "superclass": "NumberValidator" }, - "violin.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "violin", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "violin.ids": { "params": { "plotly_name": "ids", @@ -26910,14 +25183,6 @@ }, "superclass": "DataArrayValidator" }, - "violin.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "violin", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "violin.hovertext": { "params": { "plotly_name": "hovertext", @@ -26927,14 +25192,6 @@ }, "superclass": "StringValidator" }, - "violin.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "violin", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "violin.hovertemplatefallback": { "params": { "plotly_name": "hovertemplatefallback", @@ -26985,14 +25242,6 @@ }, "superclass": "BooleanValidator" }, - "violin.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "violin.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "violin.hoverlabel.namelength": { "params": { "plotly_name": "namelength", @@ -27012,14 +25261,6 @@ }, "superclass": "CompoundValidator" }, - "violin.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "violin.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "violin.hoverlabel.font.weight": { "params": { "plotly_name": "weight", @@ -27035,14 +25276,6 @@ }, "superclass": "IntegerValidator" }, - "violin.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "violin.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "violin.hoverlabel.font.variant": { "params": { "plotly_name": "variant", @@ -27060,14 +25293,6 @@ }, "superclass": "EnumeratedValidator" }, - "violin.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "violin.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "violin.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", @@ -27083,14 +25308,6 @@ }, "superclass": "EnumeratedValidator" }, - "violin.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "violin.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "violin.hoverlabel.font.style": { "params": { "plotly_name": "style", @@ -27104,14 +25321,6 @@ }, "superclass": "EnumeratedValidator" }, - "violin.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "violin.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "violin.hoverlabel.font.size": { "params": { "plotly_name": "size", @@ -27122,14 +25331,6 @@ }, "superclass": "NumberValidator" }, - "violin.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "violin.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "violin.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", @@ -27139,14 +25340,6 @@ }, "superclass": "StringValidator" }, - "violin.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "violin.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "violin.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", @@ -27164,14 +25357,6 @@ }, "superclass": "FlaglistValidator" }, - "violin.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "violin.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "violin.hoverlabel.font.family": { "params": { "plotly_name": "family", @@ -27183,14 +25368,6 @@ }, "superclass": "StringValidator" }, - "violin.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "violin.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "violin.hoverlabel.font.color": { "params": { "plotly_name": "color", @@ -27200,14 +25377,6 @@ }, "superclass": "ColorValidator" }, - "violin.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "violin.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "violin.hoverlabel.bordercolor": { "params": { "plotly_name": "bordercolor", @@ -27217,14 +25386,6 @@ }, "superclass": "ColorValidator" }, - "violin.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "violin.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "violin.hoverlabel.bgcolor": { "params": { "plotly_name": "bgcolor", @@ -27234,14 +25395,6 @@ }, "superclass": "ColorValidator" }, - "violin.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "violin.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "violin.hoverlabel.align": { "params": { "plotly_name": "align", @@ -27256,14 +25409,6 @@ }, "superclass": "EnumeratedValidator" }, - "violin.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "violin", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "violin.hoverinfo": { "params": { "plotly_name": "hoverinfo", @@ -27293,14 +25438,6 @@ }, "superclass": "ColorValidator" }, - "violin.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "violin", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "violin.customdata": { "params": { "plotly_name": "customdata", @@ -27409,14 +25546,6 @@ }, "superclass": "EnumeratedValidator" }, - "treemap.valuessrc": { - "params": { - "plotly_name": "valuessrc", - "parent_name": "treemap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.values": { "params": { "plotly_name": "values", @@ -27497,14 +25626,6 @@ }, "superclass": "FlaglistValidator" }, - "treemap.texttemplatesrc": { - "params": { - "plotly_name": "texttemplatesrc", - "parent_name": "treemap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.texttemplatefallback": { "params": { "plotly_name": "texttemplatefallback", @@ -27522,14 +25643,6 @@ }, "superclass": "StringValidator" }, - "treemap.textsrc": { - "params": { - "plotly_name": "textsrc", - "parent_name": "treemap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.textposition": { "params": { "plotly_name": "textposition", @@ -27578,14 +25691,6 @@ }, "superclass": "CompoundValidator" }, - "treemap.textfont.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "treemap.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.textfont.weight": { "params": { "plotly_name": "weight", @@ -27601,14 +25706,6 @@ }, "superclass": "IntegerValidator" }, - "treemap.textfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "treemap.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.textfont.variant": { "params": { "plotly_name": "variant", @@ -27626,14 +25723,6 @@ }, "superclass": "EnumeratedValidator" }, - "treemap.textfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "treemap.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.textfont.textcase": { "params": { "plotly_name": "textcase", @@ -27649,14 +25738,6 @@ }, "superclass": "EnumeratedValidator" }, - "treemap.textfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "treemap.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.textfont.style": { "params": { "plotly_name": "style", @@ -27670,14 +25751,6 @@ }, "superclass": "EnumeratedValidator" }, - "treemap.textfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "treemap.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.textfont.size": { "params": { "plotly_name": "size", @@ -27688,14 +25761,6 @@ }, "superclass": "NumberValidator" }, - "treemap.textfont.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "treemap.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.textfont.shadow": { "params": { "plotly_name": "shadow", @@ -27705,14 +25770,6 @@ }, "superclass": "StringValidator" }, - "treemap.textfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "treemap.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.textfont.lineposition": { "params": { "plotly_name": "lineposition", @@ -27730,14 +25787,6 @@ }, "superclass": "FlaglistValidator" }, - "treemap.textfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "treemap.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.textfont.family": { "params": { "plotly_name": "family", @@ -27749,14 +25798,6 @@ }, "superclass": "StringValidator" }, - "treemap.textfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "treemap.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.textfont.color": { "params": { "plotly_name": "color", @@ -27774,35 +25815,6 @@ }, "superclass": "DataArrayValidator" }, - "treemap.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "treemap", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "treemap.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "treemap.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "treemap.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "treemap.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, "treemap.sort": { "params": { "plotly_name": "sort", @@ -27863,14 +25875,6 @@ }, "superclass": "CompoundValidator" }, - "treemap.pathbar.textfont.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "treemap.pathbar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.pathbar.textfont.weight": { "params": { "plotly_name": "weight", @@ -27886,14 +25890,6 @@ }, "superclass": "IntegerValidator" }, - "treemap.pathbar.textfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "treemap.pathbar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.pathbar.textfont.variant": { "params": { "plotly_name": "variant", @@ -27911,14 +25907,6 @@ }, "superclass": "EnumeratedValidator" }, - "treemap.pathbar.textfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "treemap.pathbar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.pathbar.textfont.textcase": { "params": { "plotly_name": "textcase", @@ -27934,14 +25922,6 @@ }, "superclass": "EnumeratedValidator" }, - "treemap.pathbar.textfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "treemap.pathbar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.pathbar.textfont.style": { "params": { "plotly_name": "style", @@ -27955,14 +25935,6 @@ }, "superclass": "EnumeratedValidator" }, - "treemap.pathbar.textfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "treemap.pathbar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.pathbar.textfont.size": { "params": { "plotly_name": "size", @@ -27973,14 +25945,6 @@ }, "superclass": "NumberValidator" }, - "treemap.pathbar.textfont.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "treemap.pathbar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.pathbar.textfont.shadow": { "params": { "plotly_name": "shadow", @@ -27990,14 +25954,6 @@ }, "superclass": "StringValidator" }, - "treemap.pathbar.textfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "treemap.pathbar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.pathbar.textfont.lineposition": { "params": { "plotly_name": "lineposition", @@ -28015,14 +25971,6 @@ }, "superclass": "FlaglistValidator" }, - "treemap.pathbar.textfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "treemap.pathbar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.pathbar.textfont.family": { "params": { "plotly_name": "family", @@ -28034,14 +25982,6 @@ }, "superclass": "StringValidator" }, - "treemap.pathbar.textfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "treemap.pathbar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.pathbar.textfont.color": { "params": { "plotly_name": "color", @@ -28078,14 +26018,6 @@ }, "superclass": "EnumeratedValidator" }, - "treemap.parentssrc": { - "params": { - "plotly_name": "parentssrc", - "parent_name": "treemap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.parents": { "params": { "plotly_name": "parents", @@ -28103,14 +26035,6 @@ }, "superclass": "CompoundValidator" }, - "treemap.outsidetextfont.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "treemap.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.outsidetextfont.weight": { "params": { "plotly_name": "weight", @@ -28126,14 +26050,6 @@ }, "superclass": "IntegerValidator" }, - "treemap.outsidetextfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "treemap.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.outsidetextfont.variant": { "params": { "plotly_name": "variant", @@ -28151,14 +26067,6 @@ }, "superclass": "EnumeratedValidator" }, - "treemap.outsidetextfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "treemap.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.outsidetextfont.textcase": { "params": { "plotly_name": "textcase", @@ -28174,14 +26082,6 @@ }, "superclass": "EnumeratedValidator" }, - "treemap.outsidetextfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "treemap.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.outsidetextfont.style": { "params": { "plotly_name": "style", @@ -28195,14 +26095,6 @@ }, "superclass": "EnumeratedValidator" }, - "treemap.outsidetextfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "treemap.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.outsidetextfont.size": { "params": { "plotly_name": "size", @@ -28213,14 +26105,6 @@ }, "superclass": "NumberValidator" }, - "treemap.outsidetextfont.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "treemap.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.outsidetextfont.shadow": { "params": { "plotly_name": "shadow", @@ -28230,14 +26114,6 @@ }, "superclass": "StringValidator" }, - "treemap.outsidetextfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "treemap.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.outsidetextfont.lineposition": { "params": { "plotly_name": "lineposition", @@ -28255,14 +26131,6 @@ }, "superclass": "FlaglistValidator" }, - "treemap.outsidetextfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "treemap.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.outsidetextfont.family": { "params": { "plotly_name": "family", @@ -28274,14 +26142,6 @@ }, "superclass": "StringValidator" }, - "treemap.outsidetextfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "treemap.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.outsidetextfont.color": { "params": { "plotly_name": "color", @@ -28309,14 +26169,6 @@ }, "superclass": "StringValidator" }, - "treemap.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "treemap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.meta": { "params": { "plotly_name": "meta", @@ -28368,14 +26220,6 @@ }, "superclass": "CompoundValidator" }, - "treemap.marker.pattern.soliditysrc": { - "params": { - "plotly_name": "soliditysrc", - "parent_name": "treemap.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.marker.pattern.solidity": { "params": { "plotly_name": "solidity", @@ -28387,14 +26231,6 @@ }, "superclass": "NumberValidator" }, - "treemap.marker.pattern.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "treemap.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.marker.pattern.size": { "params": { "plotly_name": "size", @@ -28405,14 +26241,6 @@ }, "superclass": "NumberValidator" }, - "treemap.marker.pattern.shapesrc": { - "params": { - "plotly_name": "shapesrc", - "parent_name": "treemap.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.marker.pattern.shape": { "params": { "plotly_name": "shape", @@ -28432,14 +26260,6 @@ }, "superclass": "EnumeratedValidator" }, - "treemap.marker.pattern.pathsrc": { - "params": { - "plotly_name": "pathsrc", - "parent_name": "treemap.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.marker.pattern.path": { "params": { "plotly_name": "path", @@ -28471,14 +26291,6 @@ }, "superclass": "NumberValidator" }, - "treemap.marker.pattern.fgcolorsrc": { - "params": { - "plotly_name": "fgcolorsrc", - "parent_name": "treemap.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.marker.pattern.fgcolor": { "params": { "plotly_name": "fgcolor", @@ -28488,14 +26300,6 @@ }, "superclass": "ColorValidator" }, - "treemap.marker.pattern.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "treemap.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.marker.pattern.bgcolor": { "params": { "plotly_name": "bgcolor", @@ -28559,14 +26363,6 @@ }, "superclass": "CompoundValidator" }, - "treemap.marker.line.widthsrc": { - "params": { - "plotly_name": "widthsrc", - "parent_name": "treemap.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.marker.line.width": { "params": { "plotly_name": "width", @@ -28577,14 +26373,6 @@ }, "superclass": "NumberValidator" }, - "treemap.marker.line.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "treemap.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.marker.line.color": { "params": { "plotly_name": "color", @@ -28616,14 +26404,6 @@ }, "superclass": "NumberValidator" }, - "treemap.marker.colorssrc": { - "params": { - "plotly_name": "colorssrc", - "parent_name": "treemap.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.marker.colorscale": { "params": { "plotly_name": "colorscale", @@ -28891,14 +26671,6 @@ }, "superclass": "NumberValidator" }, - "treemap.marker.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "treemap.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.marker.colorbar.tickvals": { "params": { "plotly_name": "tickvals", @@ -28907,14 +26679,6 @@ }, "superclass": "DataArrayValidator" }, - "treemap.marker.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "treemap.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.marker.colorbar.ticktext": { "params": { "plotly_name": "ticktext", @@ -29671,14 +27435,6 @@ }, "superclass": "SubplotidValidator" }, - "treemap.labelssrc": { - "params": { - "plotly_name": "labelssrc", - "parent_name": "treemap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.labels": { "params": { "plotly_name": "labels", @@ -29696,14 +27452,6 @@ }, "superclass": "CompoundValidator" }, - "treemap.insidetextfont.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "treemap.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.insidetextfont.weight": { "params": { "plotly_name": "weight", @@ -29719,14 +27467,6 @@ }, "superclass": "IntegerValidator" }, - "treemap.insidetextfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "treemap.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.insidetextfont.variant": { "params": { "plotly_name": "variant", @@ -29744,14 +27484,6 @@ }, "superclass": "EnumeratedValidator" }, - "treemap.insidetextfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "treemap.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.insidetextfont.textcase": { "params": { "plotly_name": "textcase", @@ -29767,14 +27499,6 @@ }, "superclass": "EnumeratedValidator" }, - "treemap.insidetextfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "treemap.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.insidetextfont.style": { "params": { "plotly_name": "style", @@ -29788,14 +27512,6 @@ }, "superclass": "EnumeratedValidator" }, - "treemap.insidetextfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "treemap.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.insidetextfont.size": { "params": { "plotly_name": "size", @@ -29806,14 +27522,6 @@ }, "superclass": "NumberValidator" }, - "treemap.insidetextfont.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "treemap.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.insidetextfont.shadow": { "params": { "plotly_name": "shadow", @@ -29823,14 +27531,6 @@ }, "superclass": "StringValidator" }, - "treemap.insidetextfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "treemap.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.insidetextfont.lineposition": { "params": { "plotly_name": "lineposition", @@ -29848,14 +27548,6 @@ }, "superclass": "FlaglistValidator" }, - "treemap.insidetextfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "treemap.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.insidetextfont.family": { "params": { "plotly_name": "family", @@ -29867,14 +27559,6 @@ }, "superclass": "StringValidator" }, - "treemap.insidetextfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "treemap.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.insidetextfont.color": { "params": { "plotly_name": "color", @@ -29884,14 +27568,6 @@ }, "superclass": "ColorValidator" }, - "treemap.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "treemap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.ids": { "params": { "plotly_name": "ids", @@ -29901,14 +27577,6 @@ }, "superclass": "DataArrayValidator" }, - "treemap.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "treemap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.hovertext": { "params": { "plotly_name": "hovertext", @@ -29918,14 +27586,6 @@ }, "superclass": "StringValidator" }, - "treemap.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "treemap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.hovertemplatefallback": { "params": { "plotly_name": "hovertemplatefallback", @@ -29960,14 +27620,6 @@ }, "superclass": "BooleanValidator" }, - "treemap.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "treemap.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.hoverlabel.namelength": { "params": { "plotly_name": "namelength", @@ -29987,14 +27639,6 @@ }, "superclass": "CompoundValidator" }, - "treemap.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "treemap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.hoverlabel.font.weight": { "params": { "plotly_name": "weight", @@ -30010,14 +27654,6 @@ }, "superclass": "IntegerValidator" }, - "treemap.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "treemap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.hoverlabel.font.variant": { "params": { "plotly_name": "variant", @@ -30035,14 +27671,6 @@ }, "superclass": "EnumeratedValidator" }, - "treemap.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "treemap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", @@ -30058,14 +27686,6 @@ }, "superclass": "EnumeratedValidator" }, - "treemap.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "treemap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.hoverlabel.font.style": { "params": { "plotly_name": "style", @@ -30079,14 +27699,6 @@ }, "superclass": "EnumeratedValidator" }, - "treemap.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "treemap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.hoverlabel.font.size": { "params": { "plotly_name": "size", @@ -30097,14 +27709,6 @@ }, "superclass": "NumberValidator" }, - "treemap.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "treemap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", @@ -30114,14 +27718,6 @@ }, "superclass": "StringValidator" }, - "treemap.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "treemap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", @@ -30139,14 +27735,6 @@ }, "superclass": "FlaglistValidator" }, - "treemap.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "treemap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.hoverlabel.font.family": { "params": { "plotly_name": "family", @@ -30158,14 +27746,6 @@ }, "superclass": "StringValidator" }, - "treemap.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "treemap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.hoverlabel.font.color": { "params": { "plotly_name": "color", @@ -30175,14 +27755,6 @@ }, "superclass": "ColorValidator" }, - "treemap.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "treemap.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.hoverlabel.bordercolor": { "params": { "plotly_name": "bordercolor", @@ -30192,14 +27764,6 @@ }, "superclass": "ColorValidator" }, - "treemap.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "treemap.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.hoverlabel.bgcolor": { "params": { "plotly_name": "bgcolor", @@ -30209,14 +27773,6 @@ }, "superclass": "ColorValidator" }, - "treemap.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "treemap.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.hoverlabel.align": { "params": { "plotly_name": "align", @@ -30231,14 +27787,6 @@ }, "superclass": "EnumeratedValidator" }, - "treemap.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "treemap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.hoverinfo": { "params": { "plotly_name": "hoverinfo", @@ -30334,14 +27882,6 @@ }, "superclass": "IntegerValidator" }, - "treemap.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "treemap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "treemap.customdata": { "params": { "plotly_name": "customdata", @@ -30412,35 +27952,6 @@ }, "superclass": "StringValidator" }, - "table.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "table", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "table.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "table.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "table.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "table.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, "table.name": { "params": { "plotly_name": "name", @@ -30449,14 +27960,6 @@ }, "superclass": "StringValidator" }, - "table.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "table", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.meta": { "params": { "plotly_name": "meta", @@ -30625,14 +28128,6 @@ }, "superclass": "SubplotidValidator" }, - "table.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "table", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.ids": { "params": { "plotly_name": "ids", @@ -30658,14 +28153,6 @@ }, "superclass": "BooleanValidator" }, - "table.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "table.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.hoverlabel.namelength": { "params": { "plotly_name": "namelength", @@ -30685,14 +28172,6 @@ }, "superclass": "CompoundValidator" }, - "table.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "table.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.hoverlabel.font.weight": { "params": { "plotly_name": "weight", @@ -30708,14 +28187,6 @@ }, "superclass": "IntegerValidator" }, - "table.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "table.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.hoverlabel.font.variant": { "params": { "plotly_name": "variant", @@ -30733,14 +28204,6 @@ }, "superclass": "EnumeratedValidator" }, - "table.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "table.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", @@ -30756,14 +28219,6 @@ }, "superclass": "EnumeratedValidator" }, - "table.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "table.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.hoverlabel.font.style": { "params": { "plotly_name": "style", @@ -30777,14 +28232,6 @@ }, "superclass": "EnumeratedValidator" }, - "table.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "table.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.hoverlabel.font.size": { "params": { "plotly_name": "size", @@ -30795,14 +28242,6 @@ }, "superclass": "NumberValidator" }, - "table.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "table.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", @@ -30812,14 +28251,6 @@ }, "superclass": "StringValidator" }, - "table.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "table.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", @@ -30837,14 +28268,6 @@ }, "superclass": "FlaglistValidator" }, - "table.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "table.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.hoverlabel.font.family": { "params": { "plotly_name": "family", @@ -30856,14 +28279,6 @@ }, "superclass": "StringValidator" }, - "table.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "table.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.hoverlabel.font.color": { "params": { "plotly_name": "color", @@ -30873,14 +28288,6 @@ }, "superclass": "ColorValidator" }, - "table.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "table.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.hoverlabel.bordercolor": { "params": { "plotly_name": "bordercolor", @@ -30890,14 +28297,6 @@ }, "superclass": "ColorValidator" }, - "table.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "table.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.hoverlabel.bgcolor": { "params": { "plotly_name": "bgcolor", @@ -30907,14 +28306,6 @@ }, "superclass": "ColorValidator" }, - "table.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "table.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.hoverlabel.align": { "params": { "plotly_name": "align", @@ -30929,14 +28320,6 @@ }, "superclass": "EnumeratedValidator" }, - "table.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "table", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.hoverinfo": { "params": { "plotly_name": "hoverinfo", @@ -30967,14 +28350,6 @@ }, "superclass": "CompoundValidator" }, - "table.header.valuessrc": { - "params": { - "plotly_name": "valuessrc", - "parent_name": "table.header", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.header.values": { "params": { "plotly_name": "values", @@ -30983,14 +28358,6 @@ }, "superclass": "DataArrayValidator" }, - "table.header.suffixsrc": { - "params": { - "plotly_name": "suffixsrc", - "parent_name": "table.header", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.header.suffix": { "params": { "plotly_name": "suffix", @@ -31000,14 +28367,6 @@ }, "superclass": "StringValidator" }, - "table.header.prefixsrc": { - "params": { - "plotly_name": "prefixsrc", - "parent_name": "table.header", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.header.prefix": { "params": { "plotly_name": "prefix", @@ -31026,14 +28385,6 @@ }, "superclass": "CompoundValidator" }, - "table.header.line.widthsrc": { - "params": { - "plotly_name": "widthsrc", - "parent_name": "table.header.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.header.line.width": { "params": { "plotly_name": "width", @@ -31043,14 +28394,6 @@ }, "superclass": "NumberValidator" }, - "table.header.line.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "table.header.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.header.line.color": { "params": { "plotly_name": "color", @@ -31068,14 +28411,6 @@ }, "superclass": "NumberValidator" }, - "table.header.formatsrc": { - "params": { - "plotly_name": "formatsrc", - "parent_name": "table.header", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.header.format": { "params": { "plotly_name": "format", @@ -31093,14 +28428,6 @@ }, "superclass": "CompoundValidator" }, - "table.header.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "table.header.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.header.font.weight": { "params": { "plotly_name": "weight", @@ -31116,14 +28443,6 @@ }, "superclass": "IntegerValidator" }, - "table.header.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "table.header.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.header.font.variant": { "params": { "plotly_name": "variant", @@ -31141,14 +28460,6 @@ }, "superclass": "EnumeratedValidator" }, - "table.header.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "table.header.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.header.font.textcase": { "params": { "plotly_name": "textcase", @@ -31164,14 +28475,6 @@ }, "superclass": "EnumeratedValidator" }, - "table.header.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "table.header.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.header.font.style": { "params": { "plotly_name": "style", @@ -31185,14 +28488,6 @@ }, "superclass": "EnumeratedValidator" }, - "table.header.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "table.header.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.header.font.size": { "params": { "plotly_name": "size", @@ -31203,14 +28498,6 @@ }, "superclass": "NumberValidator" }, - "table.header.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "table.header.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.header.font.shadow": { "params": { "plotly_name": "shadow", @@ -31220,14 +28507,6 @@ }, "superclass": "StringValidator" }, - "table.header.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "table.header.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.header.font.lineposition": { "params": { "plotly_name": "lineposition", @@ -31245,14 +28524,6 @@ }, "superclass": "FlaglistValidator" }, - "table.header.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "table.header.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.header.font.family": { "params": { "plotly_name": "family", @@ -31264,14 +28535,6 @@ }, "superclass": "StringValidator" }, - "table.header.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "table.header.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.header.font.color": { "params": { "plotly_name": "color", @@ -31290,14 +28553,6 @@ }, "superclass": "CompoundValidator" }, - "table.header.fill.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "table.header.fill", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.header.fill.color": { "params": { "plotly_name": "color", @@ -31307,14 +28562,6 @@ }, "superclass": "ColorValidator" }, - "table.header.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "table.header", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.header.align": { "params": { "plotly_name": "align", @@ -31400,14 +28647,6 @@ }, "superclass": "IntegerValidator" }, - "table.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "table", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.customdata": { "params": { "plotly_name": "customdata", @@ -31416,14 +28655,6 @@ }, "superclass": "DataArrayValidator" }, - "table.columnwidthsrc": { - "params": { - "plotly_name": "columnwidthsrc", - "parent_name": "table", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.columnwidth": { "params": { "plotly_name": "columnwidth", @@ -31433,14 +28664,6 @@ }, "superclass": "NumberValidator" }, - "table.columnordersrc": { - "params": { - "plotly_name": "columnordersrc", - "parent_name": "table", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.columnorder": { "params": { "plotly_name": "columnorder", @@ -31458,14 +28681,6 @@ }, "superclass": "CompoundValidator" }, - "table.cells.valuessrc": { - "params": { - "plotly_name": "valuessrc", - "parent_name": "table.cells", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.cells.values": { "params": { "plotly_name": "values", @@ -31474,14 +28689,6 @@ }, "superclass": "DataArrayValidator" }, - "table.cells.suffixsrc": { - "params": { - "plotly_name": "suffixsrc", - "parent_name": "table.cells", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.cells.suffix": { "params": { "plotly_name": "suffix", @@ -31491,14 +28698,6 @@ }, "superclass": "StringValidator" }, - "table.cells.prefixsrc": { - "params": { - "plotly_name": "prefixsrc", - "parent_name": "table.cells", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.cells.prefix": { "params": { "plotly_name": "prefix", @@ -31517,14 +28716,6 @@ }, "superclass": "CompoundValidator" }, - "table.cells.line.widthsrc": { - "params": { - "plotly_name": "widthsrc", - "parent_name": "table.cells.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.cells.line.width": { "params": { "plotly_name": "width", @@ -31534,14 +28725,6 @@ }, "superclass": "NumberValidator" }, - "table.cells.line.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "table.cells.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.cells.line.color": { "params": { "plotly_name": "color", @@ -31559,14 +28742,6 @@ }, "superclass": "NumberValidator" }, - "table.cells.formatsrc": { - "params": { - "plotly_name": "formatsrc", - "parent_name": "table.cells", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.cells.format": { "params": { "plotly_name": "format", @@ -31584,14 +28759,6 @@ }, "superclass": "CompoundValidator" }, - "table.cells.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "table.cells.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.cells.font.weight": { "params": { "plotly_name": "weight", @@ -31607,14 +28774,6 @@ }, "superclass": "IntegerValidator" }, - "table.cells.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "table.cells.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.cells.font.variant": { "params": { "plotly_name": "variant", @@ -31632,14 +28791,6 @@ }, "superclass": "EnumeratedValidator" }, - "table.cells.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "table.cells.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.cells.font.textcase": { "params": { "plotly_name": "textcase", @@ -31655,14 +28806,6 @@ }, "superclass": "EnumeratedValidator" }, - "table.cells.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "table.cells.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.cells.font.style": { "params": { "plotly_name": "style", @@ -31676,14 +28819,6 @@ }, "superclass": "EnumeratedValidator" }, - "table.cells.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "table.cells.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.cells.font.size": { "params": { "plotly_name": "size", @@ -31694,14 +28829,6 @@ }, "superclass": "NumberValidator" }, - "table.cells.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "table.cells.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.cells.font.shadow": { "params": { "plotly_name": "shadow", @@ -31711,14 +28838,6 @@ }, "superclass": "StringValidator" }, - "table.cells.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "table.cells.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.cells.font.lineposition": { "params": { "plotly_name": "lineposition", @@ -31736,14 +28855,6 @@ }, "superclass": "FlaglistValidator" }, - "table.cells.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "table.cells.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.cells.font.family": { "params": { "plotly_name": "family", @@ -31755,14 +28866,6 @@ }, "superclass": "StringValidator" }, - "table.cells.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "table.cells.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.cells.font.color": { "params": { "plotly_name": "color", @@ -31781,14 +28884,6 @@ }, "superclass": "CompoundValidator" }, - "table.cells.fill.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "table.cells.fill", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.cells.fill.color": { "params": { "plotly_name": "color", @@ -31798,14 +28893,6 @@ }, "superclass": "ColorValidator" }, - "table.cells.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "table.cells", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "table.cells.align": { "params": { "plotly_name": "align", @@ -31829,14 +28916,6 @@ }, "superclass": "CompoundValidator" }, - "surface.zsrc": { - "params": { - "plotly_name": "zsrc", - "parent_name": "surface", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "surface.zhoverformat": { "params": { "plotly_name": "zhoverformat", @@ -31879,14 +28958,6 @@ }, "superclass": "DataArrayValidator" }, - "surface.ysrc": { - "params": { - "plotly_name": "ysrc", - "parent_name": "surface", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "surface.yhoverformat": { "params": { "plotly_name": "yhoverformat", @@ -31929,14 +29000,6 @@ }, "superclass": "DataArrayValidator" }, - "surface.xsrc": { - "params": { - "plotly_name": "xsrc", - "parent_name": "surface", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "surface.xhoverformat": { "params": { "plotly_name": "xhoverformat", @@ -32008,14 +29071,6 @@ }, "superclass": "StringValidator" }, - "surface.textsrc": { - "params": { - "plotly_name": "textsrc", - "parent_name": "surface", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "surface.text": { "params": { "plotly_name": "text", @@ -32025,14 +29080,6 @@ }, "superclass": "StringValidator" }, - "surface.surfacecolorsrc": { - "params": { - "plotly_name": "surfacecolorsrc", - "parent_name": "surface", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "surface.surfacecolor": { "params": { "plotly_name": "surfacecolor", @@ -32041,35 +29088,6 @@ }, "superclass": "DataArrayValidator" }, - "surface.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "surface", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "surface.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "surface.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "surface.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "surface.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, "surface.showscale": { "params": { "plotly_name": "showscale", @@ -32129,14 +29147,6 @@ }, "superclass": "StringValidator" }, - "surface.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "surface", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "surface.meta": { "params": { "plotly_name": "meta", @@ -32411,14 +29421,6 @@ }, "superclass": "SubplotidValidator" }, - "surface.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "surface", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "surface.ids": { "params": { "plotly_name": "ids", @@ -32427,14 +29429,6 @@ }, "superclass": "DataArrayValidator" }, - "surface.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "surface", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "surface.hovertext": { "params": { "plotly_name": "hovertext", @@ -32444,14 +29438,6 @@ }, "superclass": "StringValidator" }, - "surface.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "surface", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "surface.hovertemplatefallback": { "params": { "plotly_name": "hovertemplatefallback", @@ -32486,14 +29472,6 @@ }, "superclass": "BooleanValidator" }, - "surface.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "surface.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "surface.hoverlabel.namelength": { "params": { "plotly_name": "namelength", @@ -32513,14 +29491,6 @@ }, "superclass": "CompoundValidator" }, - "surface.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "surface.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "surface.hoverlabel.font.weight": { "params": { "plotly_name": "weight", @@ -32536,14 +29506,6 @@ }, "superclass": "IntegerValidator" }, - "surface.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "surface.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "surface.hoverlabel.font.variant": { "params": { "plotly_name": "variant", @@ -32561,14 +29523,6 @@ }, "superclass": "EnumeratedValidator" }, - "surface.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "surface.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "surface.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", @@ -32584,14 +29538,6 @@ }, "superclass": "EnumeratedValidator" }, - "surface.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "surface.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "surface.hoverlabel.font.style": { "params": { "plotly_name": "style", @@ -32605,14 +29551,6 @@ }, "superclass": "EnumeratedValidator" }, - "surface.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "surface.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "surface.hoverlabel.font.size": { "params": { "plotly_name": "size", @@ -32623,14 +29561,6 @@ }, "superclass": "NumberValidator" }, - "surface.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "surface.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "surface.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", @@ -32640,14 +29570,6 @@ }, "superclass": "StringValidator" }, - "surface.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "surface.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "surface.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", @@ -32665,14 +29587,6 @@ }, "superclass": "FlaglistValidator" }, - "surface.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "surface.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "surface.hoverlabel.font.family": { "params": { "plotly_name": "family", @@ -32684,14 +29598,6 @@ }, "superclass": "StringValidator" }, - "surface.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "surface.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "surface.hoverlabel.font.color": { "params": { "plotly_name": "color", @@ -32701,14 +29607,6 @@ }, "superclass": "ColorValidator" }, - "surface.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "surface.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "surface.hoverlabel.bordercolor": { "params": { "plotly_name": "bordercolor", @@ -32718,14 +29616,6 @@ }, "superclass": "ColorValidator" }, - "surface.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "surface.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "surface.hoverlabel.bgcolor": { "params": { "plotly_name": "bgcolor", @@ -32735,14 +29625,6 @@ }, "superclass": "ColorValidator" }, - "surface.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "surface.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "surface.hoverlabel.align": { "params": { "plotly_name": "align", @@ -32757,14 +29639,6 @@ }, "superclass": "EnumeratedValidator" }, - "surface.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "surface", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "surface.hoverinfo": { "params": { "plotly_name": "hoverinfo", @@ -32794,14 +29668,6 @@ }, "superclass": "BooleanValidator" }, - "surface.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "surface", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "surface.customdata": { "params": { "plotly_name": "customdata", @@ -33467,14 +30333,6 @@ }, "superclass": "NumberValidator" }, - "surface.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "surface.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "surface.colorbar.tickvals": { "params": { "plotly_name": "tickvals", @@ -33483,14 +30341,6 @@ }, "superclass": "DataArrayValidator" }, - "surface.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "surface.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "surface.colorbar.ticktext": { "params": { "plotly_name": "ticktext", @@ -34101,14 +30951,6 @@ }, "superclass": "EnumeratedValidator" }, - "sunburst.valuessrc": { - "params": { - "plotly_name": "valuessrc", - "parent_name": "sunburst", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.values": { "params": { "plotly_name": "values", @@ -34134,14 +30976,6 @@ }, "superclass": "StringValidator" }, - "sunburst.texttemplatesrc": { - "params": { - "plotly_name": "texttemplatesrc", - "parent_name": "sunburst", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.texttemplatefallback": { "params": { "plotly_name": "texttemplatefallback", @@ -34159,14 +30993,6 @@ }, "superclass": "StringValidator" }, - "sunburst.textsrc": { - "params": { - "plotly_name": "textsrc", - "parent_name": "sunburst", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.textinfo": { "params": { "plotly_name": "textinfo", @@ -34196,14 +31022,6 @@ }, "superclass": "CompoundValidator" }, - "sunburst.textfont.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "sunburst.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.textfont.weight": { "params": { "plotly_name": "weight", @@ -34219,14 +31037,6 @@ }, "superclass": "IntegerValidator" }, - "sunburst.textfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "sunburst.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.textfont.variant": { "params": { "plotly_name": "variant", @@ -34244,14 +31054,6 @@ }, "superclass": "EnumeratedValidator" }, - "sunburst.textfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "sunburst.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.textfont.textcase": { "params": { "plotly_name": "textcase", @@ -34267,14 +31069,6 @@ }, "superclass": "EnumeratedValidator" }, - "sunburst.textfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "sunburst.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.textfont.style": { "params": { "plotly_name": "style", @@ -34288,14 +31082,6 @@ }, "superclass": "EnumeratedValidator" }, - "sunburst.textfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "sunburst.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.textfont.size": { "params": { "plotly_name": "size", @@ -34306,14 +31092,6 @@ }, "superclass": "NumberValidator" }, - "sunburst.textfont.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "sunburst.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.textfont.shadow": { "params": { "plotly_name": "shadow", @@ -34323,14 +31101,6 @@ }, "superclass": "StringValidator" }, - "sunburst.textfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "sunburst.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.textfont.lineposition": { "params": { "plotly_name": "lineposition", @@ -34348,14 +31118,6 @@ }, "superclass": "FlaglistValidator" }, - "sunburst.textfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "sunburst.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.textfont.family": { "params": { "plotly_name": "family", @@ -34367,14 +31129,6 @@ }, "superclass": "StringValidator" }, - "sunburst.textfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "sunburst.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.textfont.color": { "params": { "plotly_name": "color", @@ -34392,35 +31146,6 @@ }, "superclass": "DataArrayValidator" }, - "sunburst.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "sunburst", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "sunburst.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "sunburst.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "sunburst.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "sunburst.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, "sunburst.sort": { "params": { "plotly_name": "sort", @@ -34454,14 +31179,6 @@ }, "superclass": "ColorValidator" }, - "sunburst.parentssrc": { - "params": { - "plotly_name": "parentssrc", - "parent_name": "sunburst", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.parents": { "params": { "plotly_name": "parents", @@ -34479,14 +31196,6 @@ }, "superclass": "CompoundValidator" }, - "sunburst.outsidetextfont.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "sunburst.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.outsidetextfont.weight": { "params": { "plotly_name": "weight", @@ -34502,14 +31211,6 @@ }, "superclass": "IntegerValidator" }, - "sunburst.outsidetextfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "sunburst.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.outsidetextfont.variant": { "params": { "plotly_name": "variant", @@ -34527,14 +31228,6 @@ }, "superclass": "EnumeratedValidator" }, - "sunburst.outsidetextfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "sunburst.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.outsidetextfont.textcase": { "params": { "plotly_name": "textcase", @@ -34550,14 +31243,6 @@ }, "superclass": "EnumeratedValidator" }, - "sunburst.outsidetextfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "sunburst.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.outsidetextfont.style": { "params": { "plotly_name": "style", @@ -34571,14 +31256,6 @@ }, "superclass": "EnumeratedValidator" }, - "sunburst.outsidetextfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "sunburst.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.outsidetextfont.size": { "params": { "plotly_name": "size", @@ -34589,14 +31266,6 @@ }, "superclass": "NumberValidator" }, - "sunburst.outsidetextfont.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "sunburst.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.outsidetextfont.shadow": { "params": { "plotly_name": "shadow", @@ -34606,14 +31275,6 @@ }, "superclass": "StringValidator" }, - "sunburst.outsidetextfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "sunburst.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.outsidetextfont.lineposition": { "params": { "plotly_name": "lineposition", @@ -34631,14 +31292,6 @@ }, "superclass": "FlaglistValidator" }, - "sunburst.outsidetextfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "sunburst.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.outsidetextfont.family": { "params": { "plotly_name": "family", @@ -34650,14 +31303,6 @@ }, "superclass": "StringValidator" }, - "sunburst.outsidetextfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "sunburst.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.outsidetextfont.color": { "params": { "plotly_name": "color", @@ -34685,14 +31330,6 @@ }, "superclass": "StringValidator" }, - "sunburst.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "sunburst", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.meta": { "params": { "plotly_name": "meta", @@ -34744,14 +31381,6 @@ }, "superclass": "CompoundValidator" }, - "sunburst.marker.pattern.soliditysrc": { - "params": { - "plotly_name": "soliditysrc", - "parent_name": "sunburst.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.marker.pattern.solidity": { "params": { "plotly_name": "solidity", @@ -34763,14 +31392,6 @@ }, "superclass": "NumberValidator" }, - "sunburst.marker.pattern.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "sunburst.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.marker.pattern.size": { "params": { "plotly_name": "size", @@ -34781,14 +31402,6 @@ }, "superclass": "NumberValidator" }, - "sunburst.marker.pattern.shapesrc": { - "params": { - "plotly_name": "shapesrc", - "parent_name": "sunburst.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.marker.pattern.shape": { "params": { "plotly_name": "shape", @@ -34808,14 +31421,6 @@ }, "superclass": "EnumeratedValidator" }, - "sunburst.marker.pattern.pathsrc": { - "params": { - "plotly_name": "pathsrc", - "parent_name": "sunburst.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.marker.pattern.path": { "params": { "plotly_name": "path", @@ -34847,14 +31452,6 @@ }, "superclass": "NumberValidator" }, - "sunburst.marker.pattern.fgcolorsrc": { - "params": { - "plotly_name": "fgcolorsrc", - "parent_name": "sunburst.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.marker.pattern.fgcolor": { "params": { "plotly_name": "fgcolor", @@ -34864,14 +31461,6 @@ }, "superclass": "ColorValidator" }, - "sunburst.marker.pattern.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "sunburst.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.marker.pattern.bgcolor": { "params": { "plotly_name": "bgcolor", @@ -34890,14 +31479,6 @@ }, "superclass": "CompoundValidator" }, - "sunburst.marker.line.widthsrc": { - "params": { - "plotly_name": "widthsrc", - "parent_name": "sunburst.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.marker.line.width": { "params": { "plotly_name": "width", @@ -34908,14 +31489,6 @@ }, "superclass": "NumberValidator" }, - "sunburst.marker.line.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "sunburst.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.marker.line.color": { "params": { "plotly_name": "color", @@ -34925,14 +31498,6 @@ }, "superclass": "ColorValidator" }, - "sunburst.marker.colorssrc": { - "params": { - "plotly_name": "colorssrc", - "parent_name": "sunburst.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.marker.colorscale": { "params": { "plotly_name": "colorscale", @@ -35200,14 +31765,6 @@ }, "superclass": "NumberValidator" }, - "sunburst.marker.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "sunburst.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.marker.colorbar.tickvals": { "params": { "plotly_name": "tickvals", @@ -35216,14 +31773,6 @@ }, "superclass": "DataArrayValidator" }, - "sunburst.marker.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "sunburst.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.marker.colorbar.ticktext": { "params": { "plotly_name": "ticktext", @@ -35999,14 +32548,6 @@ }, "superclass": "NumberValidator" }, - "sunburst.labelssrc": { - "params": { - "plotly_name": "labelssrc", - "parent_name": "sunburst", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.labels": { "params": { "plotly_name": "labels", @@ -36038,14 +32579,6 @@ }, "superclass": "CompoundValidator" }, - "sunburst.insidetextfont.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "sunburst.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.insidetextfont.weight": { "params": { "plotly_name": "weight", @@ -36061,14 +32594,6 @@ }, "superclass": "IntegerValidator" }, - "sunburst.insidetextfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "sunburst.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.insidetextfont.variant": { "params": { "plotly_name": "variant", @@ -36086,14 +32611,6 @@ }, "superclass": "EnumeratedValidator" }, - "sunburst.insidetextfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "sunburst.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.insidetextfont.textcase": { "params": { "plotly_name": "textcase", @@ -36109,14 +32626,6 @@ }, "superclass": "EnumeratedValidator" }, - "sunburst.insidetextfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "sunburst.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.insidetextfont.style": { "params": { "plotly_name": "style", @@ -36130,14 +32639,6 @@ }, "superclass": "EnumeratedValidator" }, - "sunburst.insidetextfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "sunburst.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.insidetextfont.size": { "params": { "plotly_name": "size", @@ -36148,14 +32649,6 @@ }, "superclass": "NumberValidator" }, - "sunburst.insidetextfont.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "sunburst.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.insidetextfont.shadow": { "params": { "plotly_name": "shadow", @@ -36165,14 +32658,6 @@ }, "superclass": "StringValidator" }, - "sunburst.insidetextfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "sunburst.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.insidetextfont.lineposition": { "params": { "plotly_name": "lineposition", @@ -36190,14 +32675,6 @@ }, "superclass": "FlaglistValidator" }, - "sunburst.insidetextfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "sunburst.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.insidetextfont.family": { "params": { "plotly_name": "family", @@ -36209,14 +32686,6 @@ }, "superclass": "StringValidator" }, - "sunburst.insidetextfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "sunburst.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.insidetextfont.color": { "params": { "plotly_name": "color", @@ -36226,14 +32695,6 @@ }, "superclass": "ColorValidator" }, - "sunburst.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "sunburst", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.ids": { "params": { "plotly_name": "ids", @@ -36243,14 +32704,6 @@ }, "superclass": "DataArrayValidator" }, - "sunburst.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "sunburst", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.hovertext": { "params": { "plotly_name": "hovertext", @@ -36260,14 +32713,6 @@ }, "superclass": "StringValidator" }, - "sunburst.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "sunburst", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.hovertemplatefallback": { "params": { "plotly_name": "hovertemplatefallback", @@ -36302,14 +32747,6 @@ }, "superclass": "BooleanValidator" }, - "sunburst.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "sunburst.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.hoverlabel.namelength": { "params": { "plotly_name": "namelength", @@ -36329,14 +32766,6 @@ }, "superclass": "CompoundValidator" }, - "sunburst.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "sunburst.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.hoverlabel.font.weight": { "params": { "plotly_name": "weight", @@ -36352,14 +32781,6 @@ }, "superclass": "IntegerValidator" }, - "sunburst.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "sunburst.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.hoverlabel.font.variant": { "params": { "plotly_name": "variant", @@ -36377,14 +32798,6 @@ }, "superclass": "EnumeratedValidator" }, - "sunburst.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "sunburst.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", @@ -36400,14 +32813,6 @@ }, "superclass": "EnumeratedValidator" }, - "sunburst.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "sunburst.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.hoverlabel.font.style": { "params": { "plotly_name": "style", @@ -36421,14 +32826,6 @@ }, "superclass": "EnumeratedValidator" }, - "sunburst.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "sunburst.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.hoverlabel.font.size": { "params": { "plotly_name": "size", @@ -36439,14 +32836,6 @@ }, "superclass": "NumberValidator" }, - "sunburst.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "sunburst.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", @@ -36456,14 +32845,6 @@ }, "superclass": "StringValidator" }, - "sunburst.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "sunburst.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", @@ -36481,14 +32862,6 @@ }, "superclass": "FlaglistValidator" }, - "sunburst.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "sunburst.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.hoverlabel.font.family": { "params": { "plotly_name": "family", @@ -36500,14 +32873,6 @@ }, "superclass": "StringValidator" }, - "sunburst.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "sunburst.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.hoverlabel.font.color": { "params": { "plotly_name": "color", @@ -36517,14 +32882,6 @@ }, "superclass": "ColorValidator" }, - "sunburst.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "sunburst.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.hoverlabel.bordercolor": { "params": { "plotly_name": "bordercolor", @@ -36534,14 +32891,6 @@ }, "superclass": "ColorValidator" }, - "sunburst.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "sunburst.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.hoverlabel.bgcolor": { "params": { "plotly_name": "bgcolor", @@ -36551,14 +32900,6 @@ }, "superclass": "ColorValidator" }, - "sunburst.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "sunburst.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.hoverlabel.align": { "params": { "plotly_name": "align", @@ -36573,14 +32914,6 @@ }, "superclass": "EnumeratedValidator" }, - "sunburst.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "sunburst", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.hoverinfo": { "params": { "plotly_name": "hoverinfo", @@ -36676,14 +33009,6 @@ }, "superclass": "IntegerValidator" }, - "sunburst.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "sunburst", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "sunburst.customdata": { "params": { "plotly_name": "customdata", @@ -36725,14 +33050,6 @@ }, "superclass": "CompoundValidator" }, - "streamtube.zsrc": { - "params": { - "plotly_name": "zsrc", - "parent_name": "streamtube", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.zhoverformat": { "params": { "plotly_name": "zhoverformat", @@ -36749,14 +33066,6 @@ }, "superclass": "DataArrayValidator" }, - "streamtube.ysrc": { - "params": { - "plotly_name": "ysrc", - "parent_name": "streamtube", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.yhoverformat": { "params": { "plotly_name": "yhoverformat", @@ -36773,14 +33082,6 @@ }, "superclass": "DataArrayValidator" }, - "streamtube.xsrc": { - "params": { - "plotly_name": "xsrc", - "parent_name": "streamtube", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.xhoverformat": { "params": { "plotly_name": "xhoverformat", @@ -36797,14 +33098,6 @@ }, "superclass": "DataArrayValidator" }, - "streamtube.wsrc": { - "params": { - "plotly_name": "wsrc", - "parent_name": "streamtube", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.whoverformat": { "params": { "plotly_name": "whoverformat", @@ -36821,14 +33114,6 @@ }, "superclass": "DataArrayValidator" }, - "streamtube.vsrc": { - "params": { - "plotly_name": "vsrc", - "parent_name": "streamtube", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.visible": { "params": { "plotly_name": "visible", @@ -36858,14 +33143,6 @@ }, "superclass": "DataArrayValidator" }, - "streamtube.usrc": { - "params": { - "plotly_name": "usrc", - "parent_name": "streamtube", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.uirevision": { "params": { "plotly_name": "uirevision", @@ -36906,35 +33183,6 @@ }, "superclass": "StringValidator" }, - "streamtube.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "streamtube", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "streamtube.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "streamtube.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "streamtube.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "streamtube.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, "streamtube.starts": { "params": { "plotly_name": "starts", @@ -36944,14 +33192,6 @@ }, "superclass": "CompoundValidator" }, - "streamtube.starts.zsrc": { - "params": { - "plotly_name": "zsrc", - "parent_name": "streamtube.starts", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.starts.z": { "params": { "plotly_name": "z", @@ -36960,14 +33200,6 @@ }, "superclass": "DataArrayValidator" }, - "streamtube.starts.ysrc": { - "params": { - "plotly_name": "ysrc", - "parent_name": "streamtube.starts", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.starts.y": { "params": { "plotly_name": "y", @@ -36976,14 +33208,6 @@ }, "superclass": "DataArrayValidator" }, - "streamtube.starts.xsrc": { - "params": { - "plotly_name": "xsrc", - "parent_name": "streamtube.starts", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.starts.x": { "params": { "plotly_name": "x", @@ -37052,14 +33276,6 @@ }, "superclass": "StringValidator" }, - "streamtube.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "streamtube", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.meta": { "params": { "plotly_name": "meta", @@ -37363,14 +33579,6 @@ }, "superclass": "SubplotidValidator" }, - "streamtube.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "streamtube", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.ids": { "params": { "plotly_name": "ids", @@ -37387,14 +33595,6 @@ }, "superclass": "StringValidator" }, - "streamtube.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "streamtube", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.hovertemplatefallback": { "params": { "plotly_name": "hovertemplatefallback", @@ -37429,14 +33629,6 @@ }, "superclass": "BooleanValidator" }, - "streamtube.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "streamtube.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.hoverlabel.namelength": { "params": { "plotly_name": "namelength", @@ -37456,14 +33648,6 @@ }, "superclass": "CompoundValidator" }, - "streamtube.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "streamtube.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.hoverlabel.font.weight": { "params": { "plotly_name": "weight", @@ -37479,14 +33663,6 @@ }, "superclass": "IntegerValidator" }, - "streamtube.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "streamtube.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.hoverlabel.font.variant": { "params": { "plotly_name": "variant", @@ -37504,14 +33680,6 @@ }, "superclass": "EnumeratedValidator" }, - "streamtube.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "streamtube.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", @@ -37527,14 +33695,6 @@ }, "superclass": "EnumeratedValidator" }, - "streamtube.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "streamtube.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.hoverlabel.font.style": { "params": { "plotly_name": "style", @@ -37548,14 +33708,6 @@ }, "superclass": "EnumeratedValidator" }, - "streamtube.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "streamtube.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.hoverlabel.font.size": { "params": { "plotly_name": "size", @@ -37566,14 +33718,6 @@ }, "superclass": "NumberValidator" }, - "streamtube.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "streamtube.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", @@ -37583,14 +33727,6 @@ }, "superclass": "StringValidator" }, - "streamtube.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "streamtube.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", @@ -37608,14 +33744,6 @@ }, "superclass": "FlaglistValidator" }, - "streamtube.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "streamtube.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.hoverlabel.font.family": { "params": { "plotly_name": "family", @@ -37627,14 +33755,6 @@ }, "superclass": "StringValidator" }, - "streamtube.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "streamtube.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.hoverlabel.font.color": { "params": { "plotly_name": "color", @@ -37644,14 +33764,6 @@ }, "superclass": "ColorValidator" }, - "streamtube.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "streamtube.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.hoverlabel.bordercolor": { "params": { "plotly_name": "bordercolor", @@ -37661,14 +33773,6 @@ }, "superclass": "ColorValidator" }, - "streamtube.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "streamtube.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.hoverlabel.bgcolor": { "params": { "plotly_name": "bgcolor", @@ -37678,14 +33782,6 @@ }, "superclass": "ColorValidator" }, - "streamtube.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "streamtube.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.hoverlabel.align": { "params": { "plotly_name": "align", @@ -37700,14 +33796,6 @@ }, "superclass": "EnumeratedValidator" }, - "streamtube.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "streamtube", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.hoverinfo": { "params": { "plotly_name": "hoverinfo", @@ -37734,14 +33822,6 @@ }, "superclass": "FlaglistValidator" }, - "streamtube.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "streamtube", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.customdata": { "params": { "plotly_name": "customdata", @@ -38009,14 +34089,6 @@ }, "superclass": "NumberValidator" }, - "streamtube.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "streamtube.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.colorbar.tickvals": { "params": { "plotly_name": "tickvals", @@ -38025,14 +34097,6 @@ }, "superclass": "DataArrayValidator" }, - "streamtube.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "streamtube.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "streamtube.colorbar.ticktext": { "params": { "plotly_name": "ticktext", @@ -38748,14 +34812,6 @@ }, "superclass": "StringValidator" }, - "splom.textsrc": { - "params": { - "plotly_name": "textsrc", - "parent_name": "splom", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.text": { "params": { "plotly_name": "text", @@ -38765,35 +34821,6 @@ }, "superclass": "StringValidator" }, - "splom.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "splom", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "splom.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "splom.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "splom.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "splom.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, "splom.showupperhalf": { "params": { "plotly_name": "showupperhalf", @@ -38889,14 +34916,6 @@ }, "superclass": "StringValidator" }, - "splom.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "splom", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.meta": { "params": { "plotly_name": "meta", @@ -38915,14 +34934,6 @@ }, "superclass": "CompoundValidator" }, - "splom.marker.symbolsrc": { - "params": { - "plotly_name": "symbolsrc", - "parent_name": "splom.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.marker.symbol": { "params": { "plotly_name": "symbol", @@ -39420,14 +35431,6 @@ }, "superclass": "EnumeratedValidator" }, - "splom.marker.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "splom.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.marker.sizeref": { "params": { "plotly_name": "sizeref", @@ -39483,14 +35486,6 @@ }, "superclass": "BooleanValidator" }, - "splom.marker.opacitysrc": { - "params": { - "plotly_name": "opacitysrc", - "parent_name": "splom.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.marker.opacity": { "params": { "plotly_name": "opacity", @@ -39511,14 +35506,6 @@ }, "superclass": "CompoundValidator" }, - "splom.marker.line.widthsrc": { - "params": { - "plotly_name": "widthsrc", - "parent_name": "splom.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.marker.line.width": { "params": { "plotly_name": "width", @@ -39537,14 +35524,6 @@ }, "superclass": "BooleanValidator" }, - "splom.marker.line.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "splom.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.marker.line.colorscale": { "params": { "plotly_name": "colorscale", @@ -39625,14 +35604,6 @@ }, "superclass": "BooleanValidator" }, - "splom.marker.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "splom.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.marker.colorscale": { "params": { "plotly_name": "colorscale", @@ -39892,14 +35863,6 @@ }, "superclass": "NumberValidator" }, - "splom.marker.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "splom.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.marker.colorbar.tickvals": { "params": { "plotly_name": "tickvals", @@ -39908,14 +35871,6 @@ }, "superclass": "DataArrayValidator" }, - "splom.marker.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "splom.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.marker.colorbar.ticktext": { "params": { "plotly_name": "ticktext", @@ -40514,14 +36469,6 @@ }, "superclass": "BooleanValidator" }, - "splom.marker.anglesrc": { - "params": { - "plotly_name": "anglesrc", - "parent_name": "splom.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.marker.angle": { "params": { "plotly_name": "angle", @@ -40698,14 +36645,6 @@ }, "superclass": "SubplotidValidator" }, - "splom.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "splom", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.ids": { "params": { "plotly_name": "ids", @@ -40714,14 +36653,6 @@ }, "superclass": "DataArrayValidator" }, - "splom.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "splom", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.hovertext": { "params": { "plotly_name": "hovertext", @@ -40731,14 +36662,6 @@ }, "superclass": "StringValidator" }, - "splom.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "splom", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.hovertemplatefallback": { "params": { "plotly_name": "hovertemplatefallback", @@ -40773,14 +36696,6 @@ }, "superclass": "BooleanValidator" }, - "splom.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "splom.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.hoverlabel.namelength": { "params": { "plotly_name": "namelength", @@ -40800,14 +36715,6 @@ }, "superclass": "CompoundValidator" }, - "splom.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "splom.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.hoverlabel.font.weight": { "params": { "plotly_name": "weight", @@ -40823,14 +36730,6 @@ }, "superclass": "IntegerValidator" }, - "splom.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "splom.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.hoverlabel.font.variant": { "params": { "plotly_name": "variant", @@ -40848,14 +36747,6 @@ }, "superclass": "EnumeratedValidator" }, - "splom.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "splom.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", @@ -40871,14 +36762,6 @@ }, "superclass": "EnumeratedValidator" }, - "splom.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "splom.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.hoverlabel.font.style": { "params": { "plotly_name": "style", @@ -40892,14 +36775,6 @@ }, "superclass": "EnumeratedValidator" }, - "splom.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "splom.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.hoverlabel.font.size": { "params": { "plotly_name": "size", @@ -40910,14 +36785,6 @@ }, "superclass": "NumberValidator" }, - "splom.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "splom.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", @@ -40927,14 +36794,6 @@ }, "superclass": "StringValidator" }, - "splom.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "splom.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", @@ -40952,14 +36811,6 @@ }, "superclass": "FlaglistValidator" }, - "splom.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "splom.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.hoverlabel.font.family": { "params": { "plotly_name": "family", @@ -40971,14 +36822,6 @@ }, "superclass": "StringValidator" }, - "splom.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "splom.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.hoverlabel.font.color": { "params": { "plotly_name": "color", @@ -40988,14 +36831,6 @@ }, "superclass": "ColorValidator" }, - "splom.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "splom.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.hoverlabel.bordercolor": { "params": { "plotly_name": "bordercolor", @@ -41005,14 +36840,6 @@ }, "superclass": "ColorValidator" }, - "splom.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "splom.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.hoverlabel.bgcolor": { "params": { "plotly_name": "bgcolor", @@ -41022,14 +36849,6 @@ }, "superclass": "ColorValidator" }, - "splom.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "splom.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.hoverlabel.align": { "params": { "plotly_name": "align", @@ -41044,14 +36863,6 @@ }, "superclass": "EnumeratedValidator" }, - "splom.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "splom", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.hoverinfo": { "params": { "plotly_name": "hoverinfo", @@ -41099,14 +36910,6 @@ }, "superclass": "BooleanValidator" }, - "splom.dimension.valuessrc": { - "params": { - "plotly_name": "valuessrc", - "parent_name": "splom.dimension", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.dimension.values": { "params": { "plotly_name": "values", @@ -41187,14 +36990,6 @@ }, "superclass": "BooleanValidator" }, - "splom.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "splom", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "splom.customdata": { "params": { "plotly_name": "customdata", @@ -41303,14 +37098,6 @@ }, "superclass": "StringValidator" }, - "scatterternary.texttemplatesrc": { - "params": { - "plotly_name": "texttemplatesrc", - "parent_name": "scatterternary", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.texttemplatefallback": { "params": { "plotly_name": "texttemplatefallback", @@ -41328,22 +37115,6 @@ }, "superclass": "StringValidator" }, - "scatterternary.textsrc": { - "params": { - "plotly_name": "textsrc", - "parent_name": "scatterternary", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatterternary.textpositionsrc": { - "params": { - "plotly_name": "textpositionsrc", - "parent_name": "scatterternary", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.textposition": { "params": { "plotly_name": "textposition", @@ -41373,14 +37144,6 @@ }, "superclass": "CompoundValidator" }, - "scatterternary.textfont.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "scatterternary.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.textfont.weight": { "params": { "plotly_name": "weight", @@ -41396,14 +37159,6 @@ }, "superclass": "IntegerValidator" }, - "scatterternary.textfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "scatterternary.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.textfont.variant": { "params": { "plotly_name": "variant", @@ -41421,14 +37176,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterternary.textfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "scatterternary.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.textfont.textcase": { "params": { "plotly_name": "textcase", @@ -41444,14 +37191,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterternary.textfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "scatterternary.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.textfont.style": { "params": { "plotly_name": "style", @@ -41465,14 +37204,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterternary.textfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scatterternary.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.textfont.size": { "params": { "plotly_name": "size", @@ -41483,14 +37214,6 @@ }, "superclass": "NumberValidator" }, - "scatterternary.textfont.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "scatterternary.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.textfont.shadow": { "params": { "plotly_name": "shadow", @@ -41500,14 +37223,6 @@ }, "superclass": "StringValidator" }, - "scatterternary.textfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "scatterternary.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.textfont.lineposition": { "params": { "plotly_name": "lineposition", @@ -41525,14 +37240,6 @@ }, "superclass": "FlaglistValidator" }, - "scatterternary.textfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "scatterternary.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.textfont.family": { "params": { "plotly_name": "family", @@ -41544,14 +37251,6 @@ }, "superclass": "StringValidator" }, - "scatterternary.textfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scatterternary.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.textfont.color": { "params": { "plotly_name": "color", @@ -41588,35 +37287,6 @@ }, "superclass": "SubplotidValidator" }, - "scatterternary.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "scatterternary", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatterternary.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "scatterternary.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scatterternary.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "scatterternary.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, "scatterternary.showlegend": { "params": { "plotly_name": "showlegend", @@ -41729,14 +37399,6 @@ }, "superclass": "FlaglistValidator" }, - "scatterternary.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "scatterternary", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.meta": { "params": { "plotly_name": "meta", @@ -41755,14 +37417,6 @@ }, "superclass": "CompoundValidator" }, - "scatterternary.marker.symbolsrc": { - "params": { - "plotly_name": "symbolsrc", - "parent_name": "scatterternary.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.marker.symbol": { "params": { "plotly_name": "symbol", @@ -42260,14 +37914,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterternary.marker.standoffsrc": { - "params": { - "plotly_name": "standoffsrc", - "parent_name": "scatterternary.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.marker.standoff": { "params": { "plotly_name": "standoff", @@ -42278,14 +37924,6 @@ }, "superclass": "NumberValidator" }, - "scatterternary.marker.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scatterternary.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.marker.sizeref": { "params": { "plotly_name": "sizeref", @@ -42341,14 +37979,6 @@ }, "superclass": "BooleanValidator" }, - "scatterternary.marker.opacitysrc": { - "params": { - "plotly_name": "opacitysrc", - "parent_name": "scatterternary.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.marker.opacity": { "params": { "plotly_name": "opacity", @@ -42378,14 +38008,6 @@ }, "superclass": "CompoundValidator" }, - "scatterternary.marker.line.widthsrc": { - "params": { - "plotly_name": "widthsrc", - "parent_name": "scatterternary.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.marker.line.width": { "params": { "plotly_name": "width", @@ -42404,14 +38026,6 @@ }, "superclass": "BooleanValidator" }, - "scatterternary.marker.line.dashsrc": { - "params": { - "plotly_name": "dashsrc", - "parent_name": "scatterternary.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.marker.line.dash": { "params": { "plotly_name": "dash", @@ -42429,14 +38043,6 @@ }, "superclass": "DashValidator" }, - "scatterternary.marker.line.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scatterternary.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.marker.line.colorscale": { "params": { "plotly_name": "colorscale", @@ -42526,14 +38132,6 @@ }, "superclass": "CompoundValidator" }, - "scatterternary.marker.gradient.typesrc": { - "params": { - "plotly_name": "typesrc", - "parent_name": "scatterternary.marker.gradient", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.marker.gradient.type": { "params": { "plotly_name": "type", @@ -42549,14 +38147,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterternary.marker.gradient.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scatterternary.marker.gradient", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.marker.gradient.color": { "params": { "plotly_name": "color", @@ -42566,14 +38156,6 @@ }, "superclass": "ColorValidator" }, - "scatterternary.marker.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scatterternary.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.marker.colorscale": { "params": { "plotly_name": "colorscale", @@ -42833,14 +38415,6 @@ }, "superclass": "NumberValidator" }, - "scatterternary.marker.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "scatterternary.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.marker.colorbar.tickvals": { "params": { "plotly_name": "tickvals", @@ -42849,14 +38423,6 @@ }, "superclass": "DataArrayValidator" }, - "scatterternary.marker.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "scatterternary.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.marker.colorbar.ticktext": { "params": { "plotly_name": "ticktext", @@ -43455,14 +39021,6 @@ }, "superclass": "BooleanValidator" }, - "scatterternary.marker.anglesrc": { - "params": { - "plotly_name": "anglesrc", - "parent_name": "scatterternary.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.marker.angleref": { "params": { "plotly_name": "angleref", @@ -43548,14 +39106,6 @@ }, "superclass": "ColorValidator" }, - "scatterternary.line.backoffsrc": { - "params": { - "plotly_name": "backoffsrc", - "parent_name": "scatterternary.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.line.backoff": { "params": { "plotly_name": "backoff", @@ -43733,14 +39283,6 @@ }, "superclass": "SubplotidValidator" }, - "scatterternary.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "scatterternary", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.ids": { "params": { "plotly_name": "ids", @@ -43749,14 +39291,6 @@ }, "superclass": "DataArrayValidator" }, - "scatterternary.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "scatterternary", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.hovertext": { "params": { "plotly_name": "hovertext", @@ -43766,14 +39300,6 @@ }, "superclass": "StringValidator" }, - "scatterternary.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "scatterternary", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.hovertemplatefallback": { "params": { "plotly_name": "hovertemplatefallback", @@ -43820,14 +39346,6 @@ }, "superclass": "BooleanValidator" }, - "scatterternary.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "scatterternary.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.hoverlabel.namelength": { "params": { "plotly_name": "namelength", @@ -43847,14 +39365,6 @@ }, "superclass": "CompoundValidator" }, - "scatterternary.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "scatterternary.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.hoverlabel.font.weight": { "params": { "plotly_name": "weight", @@ -43870,14 +39380,6 @@ }, "superclass": "IntegerValidator" }, - "scatterternary.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "scatterternary.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.hoverlabel.font.variant": { "params": { "plotly_name": "variant", @@ -43895,14 +39397,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterternary.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "scatterternary.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", @@ -43918,14 +39412,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterternary.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "scatterternary.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.hoverlabel.font.style": { "params": { "plotly_name": "style", @@ -43939,14 +39425,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterternary.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scatterternary.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.hoverlabel.font.size": { "params": { "plotly_name": "size", @@ -43957,14 +39435,6 @@ }, "superclass": "NumberValidator" }, - "scatterternary.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "scatterternary.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", @@ -43974,14 +39444,6 @@ }, "superclass": "StringValidator" }, - "scatterternary.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "scatterternary.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", @@ -43999,14 +39461,6 @@ }, "superclass": "FlaglistValidator" }, - "scatterternary.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "scatterternary.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.hoverlabel.font.family": { "params": { "plotly_name": "family", @@ -44018,14 +39472,6 @@ }, "superclass": "StringValidator" }, - "scatterternary.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scatterternary.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.hoverlabel.font.color": { "params": { "plotly_name": "color", @@ -44035,14 +39481,6 @@ }, "superclass": "ColorValidator" }, - "scatterternary.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "scatterternary.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.hoverlabel.bordercolor": { "params": { "plotly_name": "bordercolor", @@ -44052,14 +39490,6 @@ }, "superclass": "ColorValidator" }, - "scatterternary.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "scatterternary.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.hoverlabel.bgcolor": { "params": { "plotly_name": "bgcolor", @@ -44069,14 +39499,6 @@ }, "superclass": "ColorValidator" }, - "scatterternary.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "scatterternary.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.hoverlabel.align": { "params": { "plotly_name": "align", @@ -44091,14 +39513,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterternary.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "scatterternary", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.hoverinfo": { "params": { "plotly_name": "hoverinfo", @@ -44141,14 +39555,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterternary.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "scatterternary", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.customdata": { "params": { "plotly_name": "customdata", @@ -44157,14 +39563,6 @@ }, "superclass": "DataArrayValidator" }, - "scatterternary.csrc": { - "params": { - "plotly_name": "csrc", - "parent_name": "scatterternary", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.connectgaps": { "params": { "plotly_name": "connectgaps", @@ -44189,14 +39587,6 @@ }, "superclass": "DataArrayValidator" }, - "scatterternary.bsrc": { - "params": { - "plotly_name": "bsrc", - "parent_name": "scatterternary", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.b": { "params": { "plotly_name": "b", @@ -44205,14 +39595,6 @@ }, "superclass": "DataArrayValidator" }, - "scatterternary.asrc": { - "params": { - "plotly_name": "asrc", - "parent_name": "scatterternary", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterternary.a": { "params": { "plotly_name": "a", @@ -44321,14 +39703,6 @@ }, "superclass": "StringValidator" }, - "scattersmith.texttemplatesrc": { - "params": { - "plotly_name": "texttemplatesrc", - "parent_name": "scattersmith", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.texttemplatefallback": { "params": { "plotly_name": "texttemplatefallback", @@ -44346,22 +39720,6 @@ }, "superclass": "StringValidator" }, - "scattersmith.textsrc": { - "params": { - "plotly_name": "textsrc", - "parent_name": "scattersmith", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattersmith.textpositionsrc": { - "params": { - "plotly_name": "textpositionsrc", - "parent_name": "scattersmith", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.textposition": { "params": { "plotly_name": "textposition", @@ -44391,14 +39749,6 @@ }, "superclass": "CompoundValidator" }, - "scattersmith.textfont.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "scattersmith.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.textfont.weight": { "params": { "plotly_name": "weight", @@ -44414,14 +39764,6 @@ }, "superclass": "IntegerValidator" }, - "scattersmith.textfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "scattersmith.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.textfont.variant": { "params": { "plotly_name": "variant", @@ -44439,14 +39781,6 @@ }, "superclass": "EnumeratedValidator" }, - "scattersmith.textfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "scattersmith.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.textfont.textcase": { "params": { "plotly_name": "textcase", @@ -44462,14 +39796,6 @@ }, "superclass": "EnumeratedValidator" }, - "scattersmith.textfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "scattersmith.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.textfont.style": { "params": { "plotly_name": "style", @@ -44483,14 +39809,6 @@ }, "superclass": "EnumeratedValidator" }, - "scattersmith.textfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scattersmith.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.textfont.size": { "params": { "plotly_name": "size", @@ -44501,14 +39819,6 @@ }, "superclass": "NumberValidator" }, - "scattersmith.textfont.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "scattersmith.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.textfont.shadow": { "params": { "plotly_name": "shadow", @@ -44518,14 +39828,6 @@ }, "superclass": "StringValidator" }, - "scattersmith.textfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "scattersmith.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.textfont.lineposition": { "params": { "plotly_name": "lineposition", @@ -44543,14 +39845,6 @@ }, "superclass": "FlaglistValidator" }, - "scattersmith.textfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "scattersmith.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.textfont.family": { "params": { "plotly_name": "family", @@ -44562,14 +39856,6 @@ }, "superclass": "StringValidator" }, - "scattersmith.textfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scattersmith.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.textfont.color": { "params": { "plotly_name": "color", @@ -44597,35 +39883,6 @@ }, "superclass": "SubplotidValidator" }, - "scattersmith.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "scattersmith", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattersmith.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "scattersmith.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scattersmith.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "scattersmith.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, "scattersmith.showlegend": { "params": { "plotly_name": "showlegend", @@ -44704,14 +39961,6 @@ }, "superclass": "ColorValidator" }, - "scattersmith.realsrc": { - "params": { - "plotly_name": "realsrc", - "parent_name": "scattersmith", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.real": { "params": { "plotly_name": "real", @@ -44754,14 +40003,6 @@ }, "superclass": "FlaglistValidator" }, - "scattersmith.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "scattersmith", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.meta": { "params": { "plotly_name": "meta", @@ -44780,14 +40021,6 @@ }, "superclass": "CompoundValidator" }, - "scattersmith.marker.symbolsrc": { - "params": { - "plotly_name": "symbolsrc", - "parent_name": "scattersmith.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.marker.symbol": { "params": { "plotly_name": "symbol", @@ -45285,14 +40518,6 @@ }, "superclass": "EnumeratedValidator" }, - "scattersmith.marker.standoffsrc": { - "params": { - "plotly_name": "standoffsrc", - "parent_name": "scattersmith.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.marker.standoff": { "params": { "plotly_name": "standoff", @@ -45303,14 +40528,6 @@ }, "superclass": "NumberValidator" }, - "scattersmith.marker.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scattersmith.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.marker.sizeref": { "params": { "plotly_name": "sizeref", @@ -45366,14 +40583,6 @@ }, "superclass": "BooleanValidator" }, - "scattersmith.marker.opacitysrc": { - "params": { - "plotly_name": "opacitysrc", - "parent_name": "scattersmith.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.marker.opacity": { "params": { "plotly_name": "opacity", @@ -45403,14 +40612,6 @@ }, "superclass": "CompoundValidator" }, - "scattersmith.marker.line.widthsrc": { - "params": { - "plotly_name": "widthsrc", - "parent_name": "scattersmith.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.marker.line.width": { "params": { "plotly_name": "width", @@ -45429,14 +40630,6 @@ }, "superclass": "BooleanValidator" }, - "scattersmith.marker.line.dashsrc": { - "params": { - "plotly_name": "dashsrc", - "parent_name": "scattersmith.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.marker.line.dash": { "params": { "plotly_name": "dash", @@ -45454,14 +40647,6 @@ }, "superclass": "DashValidator" }, - "scattersmith.marker.line.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scattersmith.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.marker.line.colorscale": { "params": { "plotly_name": "colorscale", @@ -45551,14 +40736,6 @@ }, "superclass": "CompoundValidator" }, - "scattersmith.marker.gradient.typesrc": { - "params": { - "plotly_name": "typesrc", - "parent_name": "scattersmith.marker.gradient", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.marker.gradient.type": { "params": { "plotly_name": "type", @@ -45574,14 +40751,6 @@ }, "superclass": "EnumeratedValidator" }, - "scattersmith.marker.gradient.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scattersmith.marker.gradient", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.marker.gradient.color": { "params": { "plotly_name": "color", @@ -45591,14 +40760,6 @@ }, "superclass": "ColorValidator" }, - "scattersmith.marker.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scattersmith.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.marker.colorscale": { "params": { "plotly_name": "colorscale", @@ -45858,14 +41019,6 @@ }, "superclass": "NumberValidator" }, - "scattersmith.marker.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "scattersmith.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.marker.colorbar.tickvals": { "params": { "plotly_name": "tickvals", @@ -45874,14 +41027,6 @@ }, "superclass": "DataArrayValidator" }, - "scattersmith.marker.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "scattersmith.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.marker.colorbar.ticktext": { "params": { "plotly_name": "ticktext", @@ -46480,14 +41625,6 @@ }, "superclass": "BooleanValidator" }, - "scattersmith.marker.anglesrc": { - "params": { - "plotly_name": "anglesrc", - "parent_name": "scattersmith.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.marker.angleref": { "params": { "plotly_name": "angleref", @@ -46573,14 +41710,6 @@ }, "superclass": "ColorValidator" }, - "scattersmith.line.backoffsrc": { - "params": { - "plotly_name": "backoffsrc", - "parent_name": "scattersmith.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.line.backoff": { "params": { "plotly_name": "backoff", @@ -46758,14 +41887,6 @@ }, "superclass": "SubplotidValidator" }, - "scattersmith.imagsrc": { - "params": { - "plotly_name": "imagsrc", - "parent_name": "scattersmith", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.imag": { "params": { "plotly_name": "imag", @@ -46774,14 +41895,6 @@ }, "superclass": "DataArrayValidator" }, - "scattersmith.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "scattersmith", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.ids": { "params": { "plotly_name": "ids", @@ -46790,14 +41903,6 @@ }, "superclass": "DataArrayValidator" }, - "scattersmith.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "scattersmith", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.hovertext": { "params": { "plotly_name": "hovertext", @@ -46807,14 +41912,6 @@ }, "superclass": "StringValidator" }, - "scattersmith.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "scattersmith", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.hovertemplatefallback": { "params": { "plotly_name": "hovertemplatefallback", @@ -46861,14 +41958,6 @@ }, "superclass": "BooleanValidator" }, - "scattersmith.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "scattersmith.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.hoverlabel.namelength": { "params": { "plotly_name": "namelength", @@ -46888,14 +41977,6 @@ }, "superclass": "CompoundValidator" }, - "scattersmith.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "scattersmith.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.hoverlabel.font.weight": { "params": { "plotly_name": "weight", @@ -46911,14 +41992,6 @@ }, "superclass": "IntegerValidator" }, - "scattersmith.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "scattersmith.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.hoverlabel.font.variant": { "params": { "plotly_name": "variant", @@ -46936,14 +42009,6 @@ }, "superclass": "EnumeratedValidator" }, - "scattersmith.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "scattersmith.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", @@ -46959,14 +42024,6 @@ }, "superclass": "EnumeratedValidator" }, - "scattersmith.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "scattersmith.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.hoverlabel.font.style": { "params": { "plotly_name": "style", @@ -46980,14 +42037,6 @@ }, "superclass": "EnumeratedValidator" }, - "scattersmith.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scattersmith.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.hoverlabel.font.size": { "params": { "plotly_name": "size", @@ -46998,14 +42047,6 @@ }, "superclass": "NumberValidator" }, - "scattersmith.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "scattersmith.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", @@ -47015,14 +42056,6 @@ }, "superclass": "StringValidator" }, - "scattersmith.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "scattersmith.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", @@ -47040,14 +42073,6 @@ }, "superclass": "FlaglistValidator" }, - "scattersmith.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "scattersmith.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.hoverlabel.font.family": { "params": { "plotly_name": "family", @@ -47059,14 +42084,6 @@ }, "superclass": "StringValidator" }, - "scattersmith.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scattersmith.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.hoverlabel.font.color": { "params": { "plotly_name": "color", @@ -47076,14 +42093,6 @@ }, "superclass": "ColorValidator" }, - "scattersmith.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "scattersmith.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.hoverlabel.bordercolor": { "params": { "plotly_name": "bordercolor", @@ -47093,14 +42102,6 @@ }, "superclass": "ColorValidator" }, - "scattersmith.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "scattersmith.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.hoverlabel.bgcolor": { "params": { "plotly_name": "bgcolor", @@ -47110,14 +42111,6 @@ }, "superclass": "ColorValidator" }, - "scattersmith.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "scattersmith.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.hoverlabel.align": { "params": { "plotly_name": "align", @@ -47132,14 +42125,6 @@ }, "superclass": "EnumeratedValidator" }, - "scattersmith.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "scattersmith", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.hoverinfo": { "params": { "plotly_name": "hoverinfo", @@ -47181,14 +42166,6 @@ }, "superclass": "EnumeratedValidator" }, - "scattersmith.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "scattersmith", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scattersmith.customdata": { "params": { "plotly_name": "customdata", @@ -47326,14 +42303,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterpolargl.thetasrc": { - "params": { - "plotly_name": "thetasrc", - "parent_name": "scatterpolargl", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.theta0": { "params": { "plotly_name": "theta0", @@ -47350,14 +42319,6 @@ }, "superclass": "DataArrayValidator" }, - "scatterpolargl.texttemplatesrc": { - "params": { - "plotly_name": "texttemplatesrc", - "parent_name": "scatterpolargl", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.texttemplatefallback": { "params": { "plotly_name": "texttemplatefallback", @@ -47375,22 +42336,6 @@ }, "superclass": "StringValidator" }, - "scatterpolargl.textsrc": { - "params": { - "plotly_name": "textsrc", - "parent_name": "scatterpolargl", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatterpolargl.textpositionsrc": { - "params": { - "plotly_name": "textpositionsrc", - "parent_name": "scatterpolargl", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.textposition": { "params": { "plotly_name": "textposition", @@ -47420,14 +42365,6 @@ }, "superclass": "CompoundValidator" }, - "scatterpolargl.textfont.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "scatterpolargl.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.textfont.weight": { "params": { "plotly_name": "weight", @@ -47441,14 +42378,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterpolargl.textfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "scatterpolargl.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.textfont.variant": { "params": { "plotly_name": "variant", @@ -47462,14 +42391,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterpolargl.textfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "scatterpolargl.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.textfont.style": { "params": { "plotly_name": "style", @@ -47483,14 +42404,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterpolargl.textfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scatterpolargl.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.textfont.size": { "params": { "plotly_name": "size", @@ -47501,14 +42414,6 @@ }, "superclass": "NumberValidator" }, - "scatterpolargl.textfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "scatterpolargl.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.textfont.family": { "params": { "plotly_name": "family", @@ -47520,14 +42425,6 @@ }, "superclass": "StringValidator" }, - "scatterpolargl.textfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scatterpolargl.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.textfont.color": { "params": { "plotly_name": "color", @@ -47555,35 +42452,6 @@ }, "superclass": "SubplotidValidator" }, - "scatterpolargl.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "scatterpolargl", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatterpolargl.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "scatterpolargl.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scatterpolargl.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "scatterpolargl.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, "scatterpolargl.showlegend": { "params": { "plotly_name": "showlegend", @@ -47662,14 +42530,6 @@ }, "superclass": "ColorValidator" }, - "scatterpolargl.rsrc": { - "params": { - "plotly_name": "rsrc", - "parent_name": "scatterpolargl", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.r0": { "params": { "plotly_name": "r0", @@ -47720,14 +42580,6 @@ }, "superclass": "FlaglistValidator" }, - "scatterpolargl.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "scatterpolargl", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.meta": { "params": { "plotly_name": "meta", @@ -47746,14 +42598,6 @@ }, "superclass": "CompoundValidator" }, - "scatterpolargl.marker.symbolsrc": { - "params": { - "plotly_name": "symbolsrc", - "parent_name": "scatterpolargl.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.marker.symbol": { "params": { "plotly_name": "symbol", @@ -48251,14 +43095,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterpolargl.marker.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scatterpolargl.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.marker.sizeref": { "params": { "plotly_name": "sizeref", @@ -48314,14 +43150,6 @@ }, "superclass": "BooleanValidator" }, - "scatterpolargl.marker.opacitysrc": { - "params": { - "plotly_name": "opacitysrc", - "parent_name": "scatterpolargl.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.marker.opacity": { "params": { "plotly_name": "opacity", @@ -48342,14 +43170,6 @@ }, "superclass": "CompoundValidator" }, - "scatterpolargl.marker.line.widthsrc": { - "params": { - "plotly_name": "widthsrc", - "parent_name": "scatterpolargl.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.marker.line.width": { "params": { "plotly_name": "width", @@ -48368,14 +43188,6 @@ }, "superclass": "BooleanValidator" }, - "scatterpolargl.marker.line.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scatterpolargl.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.marker.line.colorscale": { "params": { "plotly_name": "colorscale", @@ -48456,14 +43268,6 @@ }, "superclass": "BooleanValidator" }, - "scatterpolargl.marker.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scatterpolargl.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.marker.colorscale": { "params": { "plotly_name": "colorscale", @@ -48723,14 +43527,6 @@ }, "superclass": "NumberValidator" }, - "scatterpolargl.marker.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "scatterpolargl.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.marker.colorbar.tickvals": { "params": { "plotly_name": "tickvals", @@ -48739,14 +43535,6 @@ }, "superclass": "DataArrayValidator" }, - "scatterpolargl.marker.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "scatterpolargl.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.marker.colorbar.ticktext": { "params": { "plotly_name": "ticktext", @@ -49345,14 +44133,6 @@ }, "superclass": "BooleanValidator" }, - "scatterpolargl.marker.anglesrc": { - "params": { - "plotly_name": "anglesrc", - "parent_name": "scatterpolargl.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.marker.angle": { "params": { "plotly_name": "angle", @@ -49571,14 +44351,6 @@ }, "superclass": "SubplotidValidator" }, - "scatterpolargl.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "scatterpolargl", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.ids": { "params": { "plotly_name": "ids", @@ -49587,14 +44359,6 @@ }, "superclass": "DataArrayValidator" }, - "scatterpolargl.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "scatterpolargl", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.hovertext": { "params": { "plotly_name": "hovertext", @@ -49604,14 +44368,6 @@ }, "superclass": "StringValidator" }, - "scatterpolargl.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "scatterpolargl", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.hovertemplatefallback": { "params": { "plotly_name": "hovertemplatefallback", @@ -49646,14 +44402,6 @@ }, "superclass": "BooleanValidator" }, - "scatterpolargl.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "scatterpolargl.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.hoverlabel.namelength": { "params": { "plotly_name": "namelength", @@ -49673,14 +44421,6 @@ }, "superclass": "CompoundValidator" }, - "scatterpolargl.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "scatterpolargl.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.hoverlabel.font.weight": { "params": { "plotly_name": "weight", @@ -49696,14 +44436,6 @@ }, "superclass": "IntegerValidator" }, - "scatterpolargl.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "scatterpolargl.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.hoverlabel.font.variant": { "params": { "plotly_name": "variant", @@ -49721,14 +44453,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterpolargl.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "scatterpolargl.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", @@ -49744,14 +44468,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterpolargl.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "scatterpolargl.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.hoverlabel.font.style": { "params": { "plotly_name": "style", @@ -49765,14 +44481,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterpolargl.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scatterpolargl.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.hoverlabel.font.size": { "params": { "plotly_name": "size", @@ -49783,14 +44491,6 @@ }, "superclass": "NumberValidator" }, - "scatterpolargl.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "scatterpolargl.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", @@ -49800,14 +44500,6 @@ }, "superclass": "StringValidator" }, - "scatterpolargl.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "scatterpolargl.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", @@ -49825,14 +44517,6 @@ }, "superclass": "FlaglistValidator" }, - "scatterpolargl.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "scatterpolargl.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.hoverlabel.font.family": { "params": { "plotly_name": "family", @@ -49844,14 +44528,6 @@ }, "superclass": "StringValidator" }, - "scatterpolargl.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scatterpolargl.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.hoverlabel.font.color": { "params": { "plotly_name": "color", @@ -49861,14 +44537,6 @@ }, "superclass": "ColorValidator" }, - "scatterpolargl.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "scatterpolargl.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.hoverlabel.bordercolor": { "params": { "plotly_name": "bordercolor", @@ -49878,14 +44546,6 @@ }, "superclass": "ColorValidator" }, - "scatterpolargl.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "scatterpolargl.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.hoverlabel.bgcolor": { "params": { "plotly_name": "bgcolor", @@ -49895,14 +44555,6 @@ }, "superclass": "ColorValidator" }, - "scatterpolargl.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "scatterpolargl.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.hoverlabel.align": { "params": { "plotly_name": "align", @@ -49917,14 +44569,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterpolargl.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "scatterpolargl", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.hoverinfo": { "params": { "plotly_name": "hoverinfo", @@ -49986,14 +44630,6 @@ }, "superclass": "NumberValidator" }, - "scatterpolargl.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "scatterpolargl", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolargl.customdata": { "params": { "plotly_name": "customdata", @@ -50123,14 +44759,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterpolar.thetasrc": { - "params": { - "plotly_name": "thetasrc", - "parent_name": "scatterpolar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.theta0": { "params": { "plotly_name": "theta0", @@ -50147,14 +44775,6 @@ }, "superclass": "DataArrayValidator" }, - "scatterpolar.texttemplatesrc": { - "params": { - "plotly_name": "texttemplatesrc", - "parent_name": "scatterpolar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.texttemplatefallback": { "params": { "plotly_name": "texttemplatefallback", @@ -50172,22 +44792,6 @@ }, "superclass": "StringValidator" }, - "scatterpolar.textsrc": { - "params": { - "plotly_name": "textsrc", - "parent_name": "scatterpolar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatterpolar.textpositionsrc": { - "params": { - "plotly_name": "textpositionsrc", - "parent_name": "scatterpolar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.textposition": { "params": { "plotly_name": "textposition", @@ -50217,14 +44821,6 @@ }, "superclass": "CompoundValidator" }, - "scatterpolar.textfont.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "scatterpolar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.textfont.weight": { "params": { "plotly_name": "weight", @@ -50240,14 +44836,6 @@ }, "superclass": "IntegerValidator" }, - "scatterpolar.textfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "scatterpolar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.textfont.variant": { "params": { "plotly_name": "variant", @@ -50265,14 +44853,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterpolar.textfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "scatterpolar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.textfont.textcase": { "params": { "plotly_name": "textcase", @@ -50288,14 +44868,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterpolar.textfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "scatterpolar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.textfont.style": { "params": { "plotly_name": "style", @@ -50309,14 +44881,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterpolar.textfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scatterpolar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.textfont.size": { "params": { "plotly_name": "size", @@ -50327,14 +44891,6 @@ }, "superclass": "NumberValidator" }, - "scatterpolar.textfont.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "scatterpolar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.textfont.shadow": { "params": { "plotly_name": "shadow", @@ -50344,14 +44900,6 @@ }, "superclass": "StringValidator" }, - "scatterpolar.textfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "scatterpolar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.textfont.lineposition": { "params": { "plotly_name": "lineposition", @@ -50369,14 +44917,6 @@ }, "superclass": "FlaglistValidator" }, - "scatterpolar.textfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "scatterpolar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.textfont.family": { "params": { "plotly_name": "family", @@ -50388,14 +44928,6 @@ }, "superclass": "StringValidator" }, - "scatterpolar.textfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scatterpolar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.textfont.color": { "params": { "plotly_name": "color", @@ -50423,35 +44955,6 @@ }, "superclass": "SubplotidValidator" }, - "scatterpolar.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "scatterpolar", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatterpolar.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "scatterpolar.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scatterpolar.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "scatterpolar.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, "scatterpolar.showlegend": { "params": { "plotly_name": "showlegend", @@ -50530,14 +45033,6 @@ }, "superclass": "ColorValidator" }, - "scatterpolar.rsrc": { - "params": { - "plotly_name": "rsrc", - "parent_name": "scatterpolar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.r0": { "params": { "plotly_name": "r0", @@ -50588,14 +45083,6 @@ }, "superclass": "FlaglistValidator" }, - "scatterpolar.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "scatterpolar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.meta": { "params": { "plotly_name": "meta", @@ -50614,14 +45101,6 @@ }, "superclass": "CompoundValidator" }, - "scatterpolar.marker.symbolsrc": { - "params": { - "plotly_name": "symbolsrc", - "parent_name": "scatterpolar.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.marker.symbol": { "params": { "plotly_name": "symbol", @@ -51119,14 +45598,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterpolar.marker.standoffsrc": { - "params": { - "plotly_name": "standoffsrc", - "parent_name": "scatterpolar.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.marker.standoff": { "params": { "plotly_name": "standoff", @@ -51137,14 +45608,6 @@ }, "superclass": "NumberValidator" }, - "scatterpolar.marker.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scatterpolar.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.marker.sizeref": { "params": { "plotly_name": "sizeref", @@ -51200,14 +45663,6 @@ }, "superclass": "BooleanValidator" }, - "scatterpolar.marker.opacitysrc": { - "params": { - "plotly_name": "opacitysrc", - "parent_name": "scatterpolar.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.marker.opacity": { "params": { "plotly_name": "opacity", @@ -51237,14 +45692,6 @@ }, "superclass": "CompoundValidator" }, - "scatterpolar.marker.line.widthsrc": { - "params": { - "plotly_name": "widthsrc", - "parent_name": "scatterpolar.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.marker.line.width": { "params": { "plotly_name": "width", @@ -51263,14 +45710,6 @@ }, "superclass": "BooleanValidator" }, - "scatterpolar.marker.line.dashsrc": { - "params": { - "plotly_name": "dashsrc", - "parent_name": "scatterpolar.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.marker.line.dash": { "params": { "plotly_name": "dash", @@ -51288,14 +45727,6 @@ }, "superclass": "DashValidator" }, - "scatterpolar.marker.line.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scatterpolar.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.marker.line.colorscale": { "params": { "plotly_name": "colorscale", @@ -51385,14 +45816,6 @@ }, "superclass": "CompoundValidator" }, - "scatterpolar.marker.gradient.typesrc": { - "params": { - "plotly_name": "typesrc", - "parent_name": "scatterpolar.marker.gradient", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.marker.gradient.type": { "params": { "plotly_name": "type", @@ -51408,14 +45831,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterpolar.marker.gradient.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scatterpolar.marker.gradient", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.marker.gradient.color": { "params": { "plotly_name": "color", @@ -51425,14 +45840,6 @@ }, "superclass": "ColorValidator" }, - "scatterpolar.marker.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scatterpolar.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.marker.colorscale": { "params": { "plotly_name": "colorscale", @@ -51692,14 +46099,6 @@ }, "superclass": "NumberValidator" }, - "scatterpolar.marker.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "scatterpolar.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.marker.colorbar.tickvals": { "params": { "plotly_name": "tickvals", @@ -51708,14 +46107,6 @@ }, "superclass": "DataArrayValidator" }, - "scatterpolar.marker.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "scatterpolar.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.marker.colorbar.ticktext": { "params": { "plotly_name": "ticktext", @@ -52314,14 +46705,6 @@ }, "superclass": "BooleanValidator" }, - "scatterpolar.marker.anglesrc": { - "params": { - "plotly_name": "anglesrc", - "parent_name": "scatterpolar.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.marker.angleref": { "params": { "plotly_name": "angleref", @@ -52407,14 +46790,6 @@ }, "superclass": "ColorValidator" }, - "scatterpolar.line.backoffsrc": { - "params": { - "plotly_name": "backoffsrc", - "parent_name": "scatterpolar.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.line.backoff": { "params": { "plotly_name": "backoff", @@ -52592,14 +46967,6 @@ }, "superclass": "SubplotidValidator" }, - "scatterpolar.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "scatterpolar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.ids": { "params": { "plotly_name": "ids", @@ -52608,14 +46975,6 @@ }, "superclass": "DataArrayValidator" }, - "scatterpolar.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "scatterpolar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.hovertext": { "params": { "plotly_name": "hovertext", @@ -52625,14 +46984,6 @@ }, "superclass": "StringValidator" }, - "scatterpolar.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "scatterpolar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.hovertemplatefallback": { "params": { "plotly_name": "hovertemplatefallback", @@ -52679,14 +47030,6 @@ }, "superclass": "BooleanValidator" }, - "scatterpolar.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "scatterpolar.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.hoverlabel.namelength": { "params": { "plotly_name": "namelength", @@ -52706,14 +47049,6 @@ }, "superclass": "CompoundValidator" }, - "scatterpolar.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "scatterpolar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.hoverlabel.font.weight": { "params": { "plotly_name": "weight", @@ -52729,14 +47064,6 @@ }, "superclass": "IntegerValidator" }, - "scatterpolar.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "scatterpolar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.hoverlabel.font.variant": { "params": { "plotly_name": "variant", @@ -52754,14 +47081,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterpolar.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "scatterpolar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", @@ -52777,14 +47096,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterpolar.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "scatterpolar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.hoverlabel.font.style": { "params": { "plotly_name": "style", @@ -52798,14 +47109,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterpolar.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scatterpolar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.hoverlabel.font.size": { "params": { "plotly_name": "size", @@ -52816,14 +47119,6 @@ }, "superclass": "NumberValidator" }, - "scatterpolar.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "scatterpolar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", @@ -52833,14 +47128,6 @@ }, "superclass": "StringValidator" }, - "scatterpolar.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "scatterpolar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", @@ -52858,14 +47145,6 @@ }, "superclass": "FlaglistValidator" }, - "scatterpolar.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "scatterpolar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.hoverlabel.font.family": { "params": { "plotly_name": "family", @@ -52877,14 +47156,6 @@ }, "superclass": "StringValidator" }, - "scatterpolar.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scatterpolar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.hoverlabel.font.color": { "params": { "plotly_name": "color", @@ -52894,14 +47165,6 @@ }, "superclass": "ColorValidator" }, - "scatterpolar.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "scatterpolar.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.hoverlabel.bordercolor": { "params": { "plotly_name": "bordercolor", @@ -52911,14 +47174,6 @@ }, "superclass": "ColorValidator" }, - "scatterpolar.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "scatterpolar.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.hoverlabel.bgcolor": { "params": { "plotly_name": "bgcolor", @@ -52928,14 +47183,6 @@ }, "superclass": "ColorValidator" }, - "scatterpolar.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "scatterpolar.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.hoverlabel.align": { "params": { "plotly_name": "align", @@ -52950,14 +47197,6 @@ }, "superclass": "EnumeratedValidator" }, - "scatterpolar.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "scatterpolar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.hoverinfo": { "params": { "plotly_name": "hoverinfo", @@ -53015,14 +47254,6 @@ }, "superclass": "NumberValidator" }, - "scatterpolar.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "scatterpolar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "scatterpolar.customdata": { "params": { "plotly_name": "customdata", @@ -53047,19 +47278,19 @@ }, "superclass": "BooleanValidator" }, - "scattermapbox": { + "scattermap": { "params": { - "plotly_name": "scattermapbox", + "plotly_name": "scattermap", "parent_name": "", - "data_class_str": "Scattermapbox", + "data_class_str": "Scattermap", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermapbox.visible": { + "scattermap.visible": { "params": { "plotly_name": "visible", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "edit_type": "calc", "values": [ true, @@ -53069,104 +47300,88 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.unselected": { + "scattermap.unselected": { "params": { "plotly_name": "unselected", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "data_class_str": "Unselected", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermapbox.unselected.marker": { + "scattermap.unselected.marker": { "params": { "plotly_name": "marker", - "parent_name": "scattermapbox.unselected", + "parent_name": "scattermap.unselected", "data_class_str": "Marker", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermapbox.unselected.marker.size": { + "scattermap.unselected.marker.size": { "params": { "plotly_name": "size", - "parent_name": "scattermapbox.unselected.marker", + "parent_name": "scattermap.unselected.marker", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattermapbox.unselected.marker.opacity": { + "scattermap.unselected.marker.opacity": { "params": { "plotly_name": "opacity", - "parent_name": "scattermapbox.unselected.marker", + "parent_name": "scattermap.unselected.marker", "edit_type": "calc", "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "scattermapbox.unselected.marker.color": { + "scattermap.unselected.marker.color": { "params": { "plotly_name": "color", - "parent_name": "scattermapbox.unselected.marker", + "parent_name": "scattermap.unselected.marker", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattermapbox.uirevision": { + "scattermap.uirevision": { "params": { "plotly_name": "uirevision", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "edit_type": "none" }, "superclass": "AnyValidator" }, - "scattermapbox.uid": { + "scattermap.uid": { "params": { "plotly_name": "uid", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "edit_type": "plot" }, "superclass": "StringValidator" }, - "scattermapbox.texttemplatesrc": { - "params": { - "plotly_name": "texttemplatesrc", - "parent_name": "scattermapbox", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.texttemplatefallback": { + "scattermap.texttemplatefallback": { "params": { "plotly_name": "texttemplatefallback", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "edit_type": "calc" }, "superclass": "AnyValidator" }, - "scattermapbox.texttemplate": { + "scattermap.texttemplate": { "params": { "plotly_name": "texttemplate", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "array_ok": true, "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattermapbox.textsrc": { - "params": { - "plotly_name": "textsrc", - "parent_name": "scattermapbox", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.textposition": { + "scattermap.textposition": { "params": { "plotly_name": "textposition", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "array_ok": false, "edit_type": "calc", "values": [ @@ -53183,19 +47398,19 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.textfont": { + "scattermap.textfont": { "params": { "plotly_name": "textfont", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "data_class_str": "Textfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermapbox.textfont.weight": { + "scattermap.textfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "scattermapbox.textfont", + "parent_name": "scattermap.textfont", "edit_type": "calc", "extras": [ "normal", @@ -53206,10 +47421,10 @@ }, "superclass": "IntegerValidator" }, - "scattermapbox.textfont.style": { + "scattermap.textfont.style": { "params": { "plotly_name": "style", - "parent_name": "scattermapbox.textfont", + "parent_name": "scattermap.textfont", "edit_type": "calc", "values": [ "normal", @@ -53218,163 +47433,134 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.textfont.size": { + "scattermap.textfont.size": { "params": { "plotly_name": "size", - "parent_name": "scattermapbox.textfont", + "parent_name": "scattermap.textfont", "edit_type": "calc", "min": 1 }, "superclass": "NumberValidator" }, - "scattermapbox.textfont.family": { + "scattermap.textfont.family": { "params": { "plotly_name": "family", - "parent_name": "scattermapbox.textfont", + "parent_name": "scattermap.textfont", "edit_type": "calc", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "scattermapbox.textfont.color": { + "scattermap.textfont.color": { "params": { "plotly_name": "color", - "parent_name": "scattermapbox.textfont", + "parent_name": "scattermap.textfont", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattermapbox.text": { + "scattermap.text": { "params": { "plotly_name": "text", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "array_ok": true, "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattermapbox.subplot": { + "scattermap.subplot": { "params": { "plotly_name": "subplot", - "parent_name": "scattermapbox", - "dflt": "mapbox", + "parent_name": "scattermap", + "dflt": "map", "edit_type": "calc" }, "superclass": "SubplotidValidator" }, - "scattermapbox.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "scattermapbox", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattermapbox.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "scattermapbox.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scattermapbox.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "scattermapbox.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattermapbox.showlegend": { + "scattermap.showlegend": { "params": { "plotly_name": "showlegend", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "edit_type": "style" }, "superclass": "BooleanValidator" }, - "scattermapbox.selectedpoints": { + "scattermap.selectedpoints": { "params": { "plotly_name": "selectedpoints", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "edit_type": "calc" }, "superclass": "AnyValidator" }, - "scattermapbox.selected": { + "scattermap.selected": { "params": { "plotly_name": "selected", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "data_class_str": "Selected", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermapbox.selected.marker": { + "scattermap.selected.marker": { "params": { "plotly_name": "marker", - "parent_name": "scattermapbox.selected", + "parent_name": "scattermap.selected", "data_class_str": "Marker", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermapbox.selected.marker.size": { + "scattermap.selected.marker.size": { "params": { "plotly_name": "size", - "parent_name": "scattermapbox.selected.marker", + "parent_name": "scattermap.selected.marker", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattermapbox.selected.marker.opacity": { + "scattermap.selected.marker.opacity": { "params": { "plotly_name": "opacity", - "parent_name": "scattermapbox.selected.marker", + "parent_name": "scattermap.selected.marker", "edit_type": "calc", "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "scattermapbox.selected.marker.color": { + "scattermap.selected.marker.color": { "params": { "plotly_name": "color", - "parent_name": "scattermapbox.selected.marker", + "parent_name": "scattermap.selected.marker", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattermapbox.opacity": { + "scattermap.opacity": { "params": { "plotly_name": "opacity", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "edit_type": "style", "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "scattermapbox.name": { + "scattermap.name": { "params": { "plotly_name": "name", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "edit_type": "style" }, "superclass": "StringValidator" }, - "scattermapbox.mode": { + "scattermap.mode": { "params": { "plotly_name": "mode", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "edit_type": "calc", "extras": [ "none" @@ -53387,69 +47573,45 @@ }, "superclass": "FlaglistValidator" }, - "scattermapbox.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "scattermapbox", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.meta": { + "scattermap.meta": { "params": { "plotly_name": "meta", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "array_ok": true, "edit_type": "plot" }, "superclass": "AnyValidator" }, - "scattermapbox.marker": { + "scattermap.marker": { "params": { "plotly_name": "marker", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "data_class_str": "Marker", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermapbox.marker.symbolsrc": { - "params": { - "plotly_name": "symbolsrc", - "parent_name": "scattermapbox.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.marker.symbol": { + "scattermap.marker.symbol": { "params": { "plotly_name": "symbol", - "parent_name": "scattermapbox.marker", + "parent_name": "scattermap.marker", "array_ok": true, "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattermapbox.marker.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scattermapbox.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.marker.sizeref": { + "scattermap.marker.sizeref": { "params": { "plotly_name": "sizeref", - "parent_name": "scattermapbox.marker", + "parent_name": "scattermap.marker", "edit_type": "calc" }, "superclass": "NumberValidator" }, - "scattermapbox.marker.sizemode": { + "scattermap.marker.sizemode": { "params": { "plotly_name": "sizemode", - "parent_name": "scattermapbox.marker", + "parent_name": "scattermap.marker", "edit_type": "calc", "values": [ "diameter", @@ -53458,53 +47620,45 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.marker.sizemin": { + "scattermap.marker.sizemin": { "params": { "plotly_name": "sizemin", - "parent_name": "scattermapbox.marker", + "parent_name": "scattermap.marker", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattermapbox.marker.size": { + "scattermap.marker.size": { "params": { "plotly_name": "size", - "parent_name": "scattermapbox.marker", + "parent_name": "scattermap.marker", "array_ok": true, "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattermapbox.marker.showscale": { + "scattermap.marker.showscale": { "params": { "plotly_name": "showscale", - "parent_name": "scattermapbox.marker", + "parent_name": "scattermap.marker", "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "scattermapbox.marker.reversescale": { + "scattermap.marker.reversescale": { "params": { "plotly_name": "reversescale", - "parent_name": "scattermapbox.marker", + "parent_name": "scattermap.marker", "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "scattermapbox.marker.opacitysrc": { - "params": { - "plotly_name": "opacitysrc", - "parent_name": "scattermapbox.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.marker.opacity": { + "scattermap.marker.opacity": { "params": { "plotly_name": "opacity", - "parent_name": "scattermapbox.marker", + "parent_name": "scattermap.marker", "array_ok": true, "edit_type": "calc", "max": 1, @@ -53512,18 +47666,10 @@ }, "superclass": "NumberValidator" }, - "scattermapbox.marker.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scattermapbox.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.marker.colorscale": { + "scattermap.marker.colorscale": { "params": { "plotly_name": "colorscale", - "parent_name": "scattermapbox.marker", + "parent_name": "scattermap.marker", "edit_type": "calc", "implied_edits": { "autocolorscale": false @@ -53531,19 +47677,19 @@ }, "superclass": "ColorscaleValidator" }, - "scattermapbox.marker.colorbar": { + "scattermap.marker.colorbar": { "params": { "plotly_name": "colorbar", - "parent_name": "scattermapbox.marker", + "parent_name": "scattermap.marker", "data_class_str": "ColorBar", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermapbox.marker.colorbar.yref": { + "scattermap.marker.colorbar.yref": { "params": { "plotly_name": "yref", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "values": [ "container", @@ -53552,19 +47698,19 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.marker.colorbar.ypad": { + "scattermap.marker.colorbar.ypad": { "params": { "plotly_name": "ypad", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattermapbox.marker.colorbar.yanchor": { + "scattermap.marker.colorbar.yanchor": { "params": { "plotly_name": "yanchor", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "values": [ "top", @@ -53574,18 +47720,18 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.marker.colorbar.y": { + "scattermap.marker.colorbar.y": { "params": { "plotly_name": "y", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc" }, "superclass": "NumberValidator" }, - "scattermapbox.marker.colorbar.xref": { + "scattermap.marker.colorbar.xref": { "params": { "plotly_name": "xref", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "values": [ "container", @@ -53594,19 +47740,19 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.marker.colorbar.xpad": { + "scattermap.marker.colorbar.xpad": { "params": { "plotly_name": "xpad", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattermapbox.marker.colorbar.xanchor": { + "scattermap.marker.colorbar.xanchor": { "params": { "plotly_name": "xanchor", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "values": [ "left", @@ -53616,35 +47762,35 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.marker.colorbar.x": { + "scattermap.marker.colorbar.x": { "params": { "plotly_name": "x", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc" }, "superclass": "NumberValidator" }, - "scattermapbox.marker.colorbar.title": { + "scattermap.marker.colorbar.title": { "params": { "plotly_name": "title", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "data_class_str": "Title", "data_docs": "\n" }, "superclass": "TitleValidator" }, - "scattermapbox.marker.colorbar.title.text": { + "scattermap.marker.colorbar.title.text": { "params": { "plotly_name": "text", - "parent_name": "scattermapbox.marker.colorbar.title", + "parent_name": "scattermap.marker.colorbar.title", "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattermapbox.marker.colorbar.title.side": { + "scattermap.marker.colorbar.title.side": { "params": { "plotly_name": "side", - "parent_name": "scattermapbox.marker.colorbar.title", + "parent_name": "scattermap.marker.colorbar.title", "edit_type": "calc", "values": [ "right", @@ -53654,19 +47800,19 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.marker.colorbar.title.font": { + "scattermap.marker.colorbar.title.font": { "params": { "plotly_name": "font", - "parent_name": "scattermapbox.marker.colorbar.title", + "parent_name": "scattermap.marker.colorbar.title", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermapbox.marker.colorbar.title.font.weight": { + "scattermap.marker.colorbar.title.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "scattermapbox.marker.colorbar.title.font", + "parent_name": "scattermap.marker.colorbar.title.font", "edit_type": "calc", "extras": [ "normal", @@ -53677,10 +47823,10 @@ }, "superclass": "IntegerValidator" }, - "scattermapbox.marker.colorbar.title.font.variant": { + "scattermap.marker.colorbar.title.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "scattermapbox.marker.colorbar.title.font", + "parent_name": "scattermap.marker.colorbar.title.font", "edit_type": "calc", "values": [ "normal", @@ -53693,10 +47839,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.marker.colorbar.title.font.textcase": { + "scattermap.marker.colorbar.title.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "scattermapbox.marker.colorbar.title.font", + "parent_name": "scattermap.marker.colorbar.title.font", "edit_type": "calc", "values": [ "normal", @@ -53707,10 +47853,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.marker.colorbar.title.font.style": { + "scattermap.marker.colorbar.title.font.style": { "params": { "plotly_name": "style", - "parent_name": "scattermapbox.marker.colorbar.title.font", + "parent_name": "scattermap.marker.colorbar.title.font", "edit_type": "calc", "values": [ "normal", @@ -53719,27 +47865,27 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.marker.colorbar.title.font.size": { + "scattermap.marker.colorbar.title.font.size": { "params": { "plotly_name": "size", - "parent_name": "scattermapbox.marker.colorbar.title.font", + "parent_name": "scattermap.marker.colorbar.title.font", "edit_type": "calc", "min": 1 }, "superclass": "NumberValidator" }, - "scattermapbox.marker.colorbar.title.font.shadow": { + "scattermap.marker.colorbar.title.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "scattermapbox.marker.colorbar.title.font", + "parent_name": "scattermap.marker.colorbar.title.font", "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattermapbox.marker.colorbar.title.font.lineposition": { + "scattermap.marker.colorbar.title.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "scattermapbox.marker.colorbar.title.font", + "parent_name": "scattermap.marker.colorbar.title.font", "edit_type": "calc", "extras": [ "none" @@ -53752,77 +47898,61 @@ }, "superclass": "FlaglistValidator" }, - "scattermapbox.marker.colorbar.title.font.family": { + "scattermap.marker.colorbar.title.font.family": { "params": { "plotly_name": "family", - "parent_name": "scattermapbox.marker.colorbar.title.font", + "parent_name": "scattermap.marker.colorbar.title.font", "edit_type": "calc", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "scattermapbox.marker.colorbar.title.font.color": { + "scattermap.marker.colorbar.title.font.color": { "params": { "plotly_name": "color", - "parent_name": "scattermapbox.marker.colorbar.title.font", + "parent_name": "scattermap.marker.colorbar.title.font", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattermapbox.marker.colorbar.tickwidth": { + "scattermap.marker.colorbar.tickwidth": { "params": { "plotly_name": "tickwidth", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattermapbox.marker.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "scattermapbox.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.marker.colorbar.tickvals": { + "scattermap.marker.colorbar.tickvals": { "params": { "plotly_name": "tickvals", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "scattermapbox.marker.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "scattermapbox.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.marker.colorbar.ticktext": { + "scattermap.marker.colorbar.ticktext": { "params": { "plotly_name": "ticktext", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "scattermapbox.marker.colorbar.ticksuffix": { + "scattermap.marker.colorbar.ticksuffix": { "params": { "plotly_name": "ticksuffix", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattermapbox.marker.colorbar.ticks": { + "scattermap.marker.colorbar.ticks": { "params": { "plotly_name": "ticks", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "values": [ "outside", @@ -53832,18 +47962,18 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.marker.colorbar.tickprefix": { + "scattermap.marker.colorbar.tickprefix": { "params": { "plotly_name": "tickprefix", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattermapbox.marker.colorbar.tickmode": { + "scattermap.marker.colorbar.tickmode": { "params": { "plotly_name": "tickmode", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "implied_edits": {}, "values": [ @@ -53854,28 +47984,28 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.marker.colorbar.ticklen": { + "scattermap.marker.colorbar.ticklen": { "params": { "plotly_name": "ticklen", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattermapbox.marker.colorbar.ticklabelstep": { + "scattermap.marker.colorbar.ticklabelstep": { "params": { "plotly_name": "ticklabelstep", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "min": 1 }, "superclass": "IntegerValidator" }, - "scattermapbox.marker.colorbar.ticklabelposition": { + "scattermap.marker.colorbar.ticklabelposition": { "params": { "plotly_name": "ticklabelposition", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "values": [ "outside", @@ -53892,10 +48022,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.marker.colorbar.ticklabeloverflow": { + "scattermap.marker.colorbar.ticklabeloverflow": { "params": { "plotly_name": "ticklabeloverflow", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "values": [ "allow", @@ -53905,60 +48035,60 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.marker.colorbar.tickformatstopdefaults": { + "scattermap.marker.colorbar.tickformatstopdefaults": { "params": { "plotly_name": "tickformatstopdefaults", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "data_class_str": "Tickformatstop", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermapbox.marker.colorbar.tickformatstops": { + "scattermap.marker.colorbar.tickformatstops": { "params": { "plotly_name": "tickformatstops", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "data_class_str": "Tickformatstop", "data_docs": "\n" }, "superclass": "CompoundArrayValidator" }, - "scattermapbox.marker.colorbar.tickformatstop.value": { + "scattermap.marker.colorbar.tickformatstop.value": { "params": { "plotly_name": "value", - "parent_name": "scattermapbox.marker.colorbar.tickformatstop", + "parent_name": "scattermap.marker.colorbar.tickformatstop", "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattermapbox.marker.colorbar.tickformatstop.templateitemname": { + "scattermap.marker.colorbar.tickformatstop.templateitemname": { "params": { "plotly_name": "templateitemname", - "parent_name": "scattermapbox.marker.colorbar.tickformatstop", + "parent_name": "scattermap.marker.colorbar.tickformatstop", "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattermapbox.marker.colorbar.tickformatstop.name": { + "scattermap.marker.colorbar.tickformatstop.name": { "params": { "plotly_name": "name", - "parent_name": "scattermapbox.marker.colorbar.tickformatstop", + "parent_name": "scattermap.marker.colorbar.tickformatstop", "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattermapbox.marker.colorbar.tickformatstop.enabled": { + "scattermap.marker.colorbar.tickformatstop.enabled": { "params": { "plotly_name": "enabled", - "parent_name": "scattermapbox.marker.colorbar.tickformatstop", + "parent_name": "scattermap.marker.colorbar.tickformatstop", "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "scattermapbox.marker.colorbar.tickformatstop.dtickrange": { + "scattermap.marker.colorbar.tickformatstop.dtickrange": { "params": { "plotly_name": "dtickrange", - "parent_name": "scattermapbox.marker.colorbar.tickformatstop", + "parent_name": "scattermap.marker.colorbar.tickformatstop", "edit_type": "calc", "items": [ { @@ -53973,27 +48103,27 @@ }, "superclass": "InfoArrayValidator" }, - "scattermapbox.marker.colorbar.tickformat": { + "scattermap.marker.colorbar.tickformat": { "params": { "plotly_name": "tickformat", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattermapbox.marker.colorbar.tickfont": { + "scattermap.marker.colorbar.tickfont": { "params": { "plotly_name": "tickfont", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "data_class_str": "Tickfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermapbox.marker.colorbar.tickfont.weight": { + "scattermap.marker.colorbar.tickfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "scattermapbox.marker.colorbar.tickfont", + "parent_name": "scattermap.marker.colorbar.tickfont", "edit_type": "calc", "extras": [ "normal", @@ -54004,10 +48134,10 @@ }, "superclass": "IntegerValidator" }, - "scattermapbox.marker.colorbar.tickfont.variant": { + "scattermap.marker.colorbar.tickfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "scattermapbox.marker.colorbar.tickfont", + "parent_name": "scattermap.marker.colorbar.tickfont", "edit_type": "calc", "values": [ "normal", @@ -54020,10 +48150,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.marker.colorbar.tickfont.textcase": { + "scattermap.marker.colorbar.tickfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "scattermapbox.marker.colorbar.tickfont", + "parent_name": "scattermap.marker.colorbar.tickfont", "edit_type": "calc", "values": [ "normal", @@ -54034,10 +48164,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.marker.colorbar.tickfont.style": { + "scattermap.marker.colorbar.tickfont.style": { "params": { "plotly_name": "style", - "parent_name": "scattermapbox.marker.colorbar.tickfont", + "parent_name": "scattermap.marker.colorbar.tickfont", "edit_type": "calc", "values": [ "normal", @@ -54046,27 +48176,27 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.marker.colorbar.tickfont.size": { + "scattermap.marker.colorbar.tickfont.size": { "params": { "plotly_name": "size", - "parent_name": "scattermapbox.marker.colorbar.tickfont", + "parent_name": "scattermap.marker.colorbar.tickfont", "edit_type": "calc", "min": 1 }, "superclass": "NumberValidator" }, - "scattermapbox.marker.colorbar.tickfont.shadow": { + "scattermap.marker.colorbar.tickfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "scattermapbox.marker.colorbar.tickfont", + "parent_name": "scattermap.marker.colorbar.tickfont", "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattermapbox.marker.colorbar.tickfont.lineposition": { + "scattermap.marker.colorbar.tickfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "scattermapbox.marker.colorbar.tickfont", + "parent_name": "scattermap.marker.colorbar.tickfont", "edit_type": "calc", "extras": [ "none" @@ -54079,44 +48209,44 @@ }, "superclass": "FlaglistValidator" }, - "scattermapbox.marker.colorbar.tickfont.family": { + "scattermap.marker.colorbar.tickfont.family": { "params": { "plotly_name": "family", - "parent_name": "scattermapbox.marker.colorbar.tickfont", + "parent_name": "scattermap.marker.colorbar.tickfont", "edit_type": "calc", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "scattermapbox.marker.colorbar.tickfont.color": { + "scattermap.marker.colorbar.tickfont.color": { "params": { "plotly_name": "color", - "parent_name": "scattermapbox.marker.colorbar.tickfont", + "parent_name": "scattermap.marker.colorbar.tickfont", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattermapbox.marker.colorbar.tickcolor": { + "scattermap.marker.colorbar.tickcolor": { "params": { "plotly_name": "tickcolor", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattermapbox.marker.colorbar.tickangle": { + "scattermap.marker.colorbar.tickangle": { "params": { "plotly_name": "tickangle", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc" }, "superclass": "AngleValidator" }, - "scattermapbox.marker.colorbar.tick0": { + "scattermap.marker.colorbar.tick0": { "params": { "plotly_name": "tick0", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "implied_edits": { "tickmode": "linear" @@ -54124,10 +48254,10 @@ }, "superclass": "AnyValidator" }, - "scattermapbox.marker.colorbar.thicknessmode": { + "scattermap.marker.colorbar.thicknessmode": { "params": { "plotly_name": "thicknessmode", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "values": [ "fraction", @@ -54136,19 +48266,19 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.marker.colorbar.thickness": { + "scattermap.marker.colorbar.thickness": { "params": { "plotly_name": "thickness", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattermapbox.marker.colorbar.showticksuffix": { + "scattermap.marker.colorbar.showticksuffix": { "params": { "plotly_name": "showticksuffix", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "values": [ "all", @@ -54159,10 +48289,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.marker.colorbar.showtickprefix": { + "scattermap.marker.colorbar.showtickprefix": { "params": { "plotly_name": "showtickprefix", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "values": [ "all", @@ -54173,18 +48303,18 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.marker.colorbar.showticklabels": { + "scattermap.marker.colorbar.showticklabels": { "params": { "plotly_name": "showticklabels", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "scattermapbox.marker.colorbar.showexponent": { + "scattermap.marker.colorbar.showexponent": { "params": { "plotly_name": "showexponent", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "values": [ "all", @@ -54195,35 +48325,35 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.marker.colorbar.separatethousands": { + "scattermap.marker.colorbar.separatethousands": { "params": { "plotly_name": "separatethousands", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "scattermapbox.marker.colorbar.outlinewidth": { + "scattermap.marker.colorbar.outlinewidth": { "params": { "plotly_name": "outlinewidth", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattermapbox.marker.colorbar.outlinecolor": { + "scattermap.marker.colorbar.outlinecolor": { "params": { "plotly_name": "outlinecolor", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattermapbox.marker.colorbar.orientation": { + "scattermap.marker.colorbar.orientation": { "params": { "plotly_name": "orientation", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "values": [ "h", @@ -54232,28 +48362,28 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.marker.colorbar.nticks": { + "scattermap.marker.colorbar.nticks": { "params": { "plotly_name": "nticks", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "IntegerValidator" }, - "scattermapbox.marker.colorbar.minexponent": { + "scattermap.marker.colorbar.minexponent": { "params": { "plotly_name": "minexponent", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattermapbox.marker.colorbar.lenmode": { + "scattermap.marker.colorbar.lenmode": { "params": { "plotly_name": "lenmode", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "values": [ "fraction", @@ -54262,27 +48392,27 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.marker.colorbar.len": { + "scattermap.marker.colorbar.len": { "params": { "plotly_name": "len", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattermapbox.marker.colorbar.labelalias": { + "scattermap.marker.colorbar.labelalias": { "params": { "plotly_name": "labelalias", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc" }, "superclass": "AnyValidator" }, - "scattermapbox.marker.colorbar.exponentformat": { + "scattermap.marker.colorbar.exponentformat": { "params": { "plotly_name": "exponentformat", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "values": [ "none", @@ -54296,10 +48426,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.marker.colorbar.dtick": { + "scattermap.marker.colorbar.dtick": { "params": { "plotly_name": "dtick", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "implied_edits": { "tickmode": "linear" @@ -54307,55 +48437,55 @@ }, "superclass": "AnyValidator" }, - "scattermapbox.marker.colorbar.borderwidth": { + "scattermap.marker.colorbar.borderwidth": { "params": { "plotly_name": "borderwidth", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattermapbox.marker.colorbar.bordercolor": { + "scattermap.marker.colorbar.bordercolor": { "params": { "plotly_name": "bordercolor", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattermapbox.marker.colorbar.bgcolor": { + "scattermap.marker.colorbar.bgcolor": { "params": { "plotly_name": "bgcolor", - "parent_name": "scattermapbox.marker.colorbar", + "parent_name": "scattermap.marker.colorbar", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattermapbox.marker.coloraxis": { + "scattermap.marker.coloraxis": { "params": { "plotly_name": "coloraxis", - "parent_name": "scattermapbox.marker", + "parent_name": "scattermap.marker", "dflt": null, "edit_type": "calc", "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" }, "superclass": "SubplotidValidator" }, - "scattermapbox.marker.color": { + "scattermap.marker.color": { "params": { "plotly_name": "color", - "parent_name": "scattermapbox.marker", + "parent_name": "scattermap.marker", "array_ok": true, "edit_type": "calc", - "colorscale_path": "scattermapbox.marker.colorscale" + "colorscale_path": "scattermap.marker.colorscale" }, "superclass": "ColorValidator" }, - "scattermapbox.marker.cmin": { + "scattermap.marker.cmin": { "params": { "plotly_name": "cmin", - "parent_name": "scattermapbox.marker", + "parent_name": "scattermap.marker", "edit_type": "calc", "implied_edits": { "cauto": false @@ -54363,19 +48493,19 @@ }, "superclass": "NumberValidator" }, - "scattermapbox.marker.cmid": { + "scattermap.marker.cmid": { "params": { "plotly_name": "cmid", - "parent_name": "scattermapbox.marker", + "parent_name": "scattermap.marker", "edit_type": "calc", "implied_edits": {} }, "superclass": "NumberValidator" }, - "scattermapbox.marker.cmax": { + "scattermap.marker.cmax": { "params": { "plotly_name": "cmax", - "parent_name": "scattermapbox.marker", + "parent_name": "scattermap.marker", "edit_type": "calc", "implied_edits": { "cauto": false @@ -54383,138 +48513,122 @@ }, "superclass": "NumberValidator" }, - "scattermapbox.marker.cauto": { + "scattermap.marker.cauto": { "params": { "plotly_name": "cauto", - "parent_name": "scattermapbox.marker", + "parent_name": "scattermap.marker", "edit_type": "calc", "implied_edits": {} }, "superclass": "BooleanValidator" }, - "scattermapbox.marker.autocolorscale": { + "scattermap.marker.autocolorscale": { "params": { "plotly_name": "autocolorscale", - "parent_name": "scattermapbox.marker", + "parent_name": "scattermap.marker", "edit_type": "calc", "implied_edits": {} }, "superclass": "BooleanValidator" }, - "scattermapbox.marker.anglesrc": { - "params": { - "plotly_name": "anglesrc", - "parent_name": "scattermapbox.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.marker.angle": { + "scattermap.marker.angle": { "params": { "plotly_name": "angle", - "parent_name": "scattermapbox.marker", + "parent_name": "scattermap.marker", "array_ok": true, "edit_type": "calc" }, "superclass": "NumberValidator" }, - "scattermapbox.marker.allowoverlap": { + "scattermap.marker.allowoverlap": { "params": { "plotly_name": "allowoverlap", - "parent_name": "scattermapbox.marker", + "parent_name": "scattermap.marker", "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "scattermapbox.lonsrc": { - "params": { - "plotly_name": "lonsrc", - "parent_name": "scattermapbox", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.lon": { + "scattermap.lon": { "params": { "plotly_name": "lon", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "scattermapbox.line": { + "scattermap.line": { "params": { "plotly_name": "line", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "data_class_str": "Line", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermapbox.line.width": { + "scattermap.line.width": { "params": { "plotly_name": "width", - "parent_name": "scattermapbox.line", + "parent_name": "scattermap.line", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattermapbox.line.color": { + "scattermap.line.color": { "params": { "plotly_name": "color", - "parent_name": "scattermapbox.line", + "parent_name": "scattermap.line", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattermapbox.legendwidth": { + "scattermap.legendwidth": { "params": { "plotly_name": "legendwidth", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "edit_type": "style", "min": 0 }, "superclass": "NumberValidator" }, - "scattermapbox.legendrank": { + "scattermap.legendrank": { "params": { "plotly_name": "legendrank", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "edit_type": "style" }, "superclass": "NumberValidator" }, - "scattermapbox.legendgrouptitle": { + "scattermap.legendgrouptitle": { "params": { "plotly_name": "legendgrouptitle", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "data_class_str": "Legendgrouptitle", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermapbox.legendgrouptitle.text": { + "scattermap.legendgrouptitle.text": { "params": { "plotly_name": "text", - "parent_name": "scattermapbox.legendgrouptitle", + "parent_name": "scattermap.legendgrouptitle", "edit_type": "style" }, "superclass": "StringValidator" }, - "scattermapbox.legendgrouptitle.font": { + "scattermap.legendgrouptitle.font": { "params": { "plotly_name": "font", - "parent_name": "scattermapbox.legendgrouptitle", + "parent_name": "scattermap.legendgrouptitle", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermapbox.legendgrouptitle.font.weight": { + "scattermap.legendgrouptitle.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "scattermapbox.legendgrouptitle.font", + "parent_name": "scattermap.legendgrouptitle.font", "edit_type": "style", "extras": [ "normal", @@ -54525,10 +48639,10 @@ }, "superclass": "IntegerValidator" }, - "scattermapbox.legendgrouptitle.font.variant": { + "scattermap.legendgrouptitle.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "scattermapbox.legendgrouptitle.font", + "parent_name": "scattermap.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -54541,10 +48655,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.legendgrouptitle.font.textcase": { + "scattermap.legendgrouptitle.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "scattermapbox.legendgrouptitle.font", + "parent_name": "scattermap.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -54555,10 +48669,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.legendgrouptitle.font.style": { + "scattermap.legendgrouptitle.font.style": { "params": { "plotly_name": "style", - "parent_name": "scattermapbox.legendgrouptitle.font", + "parent_name": "scattermap.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -54567,27 +48681,27 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.legendgrouptitle.font.size": { + "scattermap.legendgrouptitle.font.size": { "params": { "plotly_name": "size", - "parent_name": "scattermapbox.legendgrouptitle.font", + "parent_name": "scattermap.legendgrouptitle.font", "edit_type": "style", "min": 1 }, "superclass": "NumberValidator" }, - "scattermapbox.legendgrouptitle.font.shadow": { + "scattermap.legendgrouptitle.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "scattermapbox.legendgrouptitle.font", + "parent_name": "scattermap.legendgrouptitle.font", "edit_type": "style" }, "superclass": "StringValidator" }, - "scattermapbox.legendgrouptitle.font.lineposition": { + "scattermap.legendgrouptitle.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "scattermapbox.legendgrouptitle.font", + "parent_name": "scattermap.legendgrouptitle.font", "edit_type": "style", "extras": [ "none" @@ -54600,171 +48714,123 @@ }, "superclass": "FlaglistValidator" }, - "scattermapbox.legendgrouptitle.font.family": { + "scattermap.legendgrouptitle.font.family": { "params": { "plotly_name": "family", - "parent_name": "scattermapbox.legendgrouptitle.font", + "parent_name": "scattermap.legendgrouptitle.font", "edit_type": "style", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "scattermapbox.legendgrouptitle.font.color": { + "scattermap.legendgrouptitle.font.color": { "params": { "plotly_name": "color", - "parent_name": "scattermapbox.legendgrouptitle.font", + "parent_name": "scattermap.legendgrouptitle.font", "edit_type": "style" }, "superclass": "ColorValidator" }, - "scattermapbox.legendgroup": { + "scattermap.legendgroup": { "params": { "plotly_name": "legendgroup", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "edit_type": "style" }, "superclass": "StringValidator" }, - "scattermapbox.legend": { + "scattermap.legend": { "params": { "plotly_name": "legend", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "dflt": "legend", "edit_type": "style" }, "superclass": "SubplotidValidator" }, - "scattermapbox.latsrc": { - "params": { - "plotly_name": "latsrc", - "parent_name": "scattermapbox", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.lat": { + "scattermap.lat": { "params": { "plotly_name": "lat", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "scattermapbox.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "scattermapbox", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.ids": { + "scattermap.ids": { "params": { "plotly_name": "ids", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "scattermapbox.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "scattermapbox", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.hovertext": { + "scattermap.hovertext": { "params": { "plotly_name": "hovertext", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "array_ok": true, "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattermapbox.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "scattermapbox", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.hovertemplatefallback": { + "scattermap.hovertemplatefallback": { "params": { "plotly_name": "hovertemplatefallback", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "edit_type": "calc" }, "superclass": "AnyValidator" }, - "scattermapbox.hovertemplate": { + "scattermap.hovertemplate": { "params": { "plotly_name": "hovertemplate", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "array_ok": true, "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattermapbox.hoverlabel": { + "scattermap.hoverlabel": { "params": { "plotly_name": "hoverlabel", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "data_class_str": "Hoverlabel", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermapbox.hoverlabel.showarrow": { + "scattermap.hoverlabel.showarrow": { "params": { "plotly_name": "showarrow", - "parent_name": "scattermapbox.hoverlabel", + "parent_name": "scattermap.hoverlabel", "edit_type": "none" }, "superclass": "BooleanValidator" }, - "scattermapbox.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "scattermapbox.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.hoverlabel.namelength": { + "scattermap.hoverlabel.namelength": { "params": { "plotly_name": "namelength", - "parent_name": "scattermapbox.hoverlabel", + "parent_name": "scattermap.hoverlabel", "array_ok": true, "edit_type": "none", "min": -1 }, "superclass": "IntegerValidator" }, - "scattermapbox.hoverlabel.font": { + "scattermap.hoverlabel.font": { "params": { "plotly_name": "font", - "parent_name": "scattermapbox.hoverlabel", + "parent_name": "scattermap.hoverlabel", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermapbox.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "scattermapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.hoverlabel.font.weight": { + "scattermap.hoverlabel.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "scattermapbox.hoverlabel.font", + "parent_name": "scattermap.hoverlabel.font", "array_ok": true, "edit_type": "none", "extras": [ @@ -54776,18 +48842,10 @@ }, "superclass": "IntegerValidator" }, - "scattermapbox.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "scattermapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.hoverlabel.font.variant": { + "scattermap.hoverlabel.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "scattermapbox.hoverlabel.font", + "parent_name": "scattermap.hoverlabel.font", "array_ok": true, "edit_type": "none", "values": [ @@ -54801,18 +48859,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "scattermapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.hoverlabel.font.textcase": { + "scattermap.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "scattermapbox.hoverlabel.font", + "parent_name": "scattermap.hoverlabel.font", "array_ok": true, "edit_type": "none", "values": [ @@ -54824,18 +48874,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "scattermapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.hoverlabel.font.style": { + "scattermap.hoverlabel.font.style": { "params": { "plotly_name": "style", - "parent_name": "scattermapbox.hoverlabel.font", + "parent_name": "scattermap.hoverlabel.font", "array_ok": true, "edit_type": "none", "values": [ @@ -54845,53 +48887,29 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scattermapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.hoverlabel.font.size": { + "scattermap.hoverlabel.font.size": { "params": { "plotly_name": "size", - "parent_name": "scattermapbox.hoverlabel.font", + "parent_name": "scattermap.hoverlabel.font", "array_ok": true, "edit_type": "none", "min": 1 }, "superclass": "NumberValidator" }, - "scattermapbox.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "scattermapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.hoverlabel.font.shadow": { + "scattermap.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "scattermapbox.hoverlabel.font", + "parent_name": "scattermap.hoverlabel.font", "array_ok": true, "edit_type": "none" }, "superclass": "StringValidator" }, - "scattermapbox.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "scattermapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.hoverlabel.font.lineposition": { + "scattermap.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "scattermapbox.hoverlabel.font", + "parent_name": "scattermap.hoverlabel.font", "array_ok": true, "edit_type": "none", "extras": [ @@ -54905,18 +48923,10 @@ }, "superclass": "FlaglistValidator" }, - "scattermapbox.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "scattermapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.hoverlabel.font.family": { + "scattermap.hoverlabel.font.family": { "params": { "plotly_name": "family", - "parent_name": "scattermapbox.hoverlabel.font", + "parent_name": "scattermap.hoverlabel.font", "array_ok": true, "edit_type": "none", "no_blank": true, @@ -54924,69 +48934,37 @@ }, "superclass": "StringValidator" }, - "scattermapbox.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scattermapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.hoverlabel.font.color": { + "scattermap.hoverlabel.font.color": { "params": { "plotly_name": "color", - "parent_name": "scattermapbox.hoverlabel.font", + "parent_name": "scattermap.hoverlabel.font", "array_ok": true, "edit_type": "none" }, "superclass": "ColorValidator" }, - "scattermapbox.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "scattermapbox.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.hoverlabel.bordercolor": { + "scattermap.hoverlabel.bordercolor": { "params": { "plotly_name": "bordercolor", - "parent_name": "scattermapbox.hoverlabel", + "parent_name": "scattermap.hoverlabel", "array_ok": true, "edit_type": "none" }, "superclass": "ColorValidator" }, - "scattermapbox.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "scattermapbox.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.hoverlabel.bgcolor": { + "scattermap.hoverlabel.bgcolor": { "params": { "plotly_name": "bgcolor", - "parent_name": "scattermapbox.hoverlabel", + "parent_name": "scattermap.hoverlabel", "array_ok": true, "edit_type": "none" }, "superclass": "ColorValidator" }, - "scattermapbox.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "scattermapbox.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.hoverlabel.align": { + "scattermap.hoverlabel.align": { "params": { "plotly_name": "align", - "parent_name": "scattermapbox.hoverlabel", + "parent_name": "scattermap.hoverlabel", "array_ok": true, "edit_type": "none", "values": [ @@ -54997,18 +48975,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "scattermapbox", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.hoverinfo": { + "scattermap.hoverinfo": { "params": { "plotly_name": "hoverinfo", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "array_ok": true, "edit_type": "calc", "extras": [ @@ -55025,18 +48995,18 @@ }, "superclass": "FlaglistValidator" }, - "scattermapbox.fillcolor": { + "scattermap.fillcolor": { "params": { "plotly_name": "fillcolor", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattermapbox.fill": { + "scattermap.fill": { "params": { "plotly_name": "fill", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "edit_type": "calc", "values": [ "none", @@ -55045,87 +49015,55 @@ }, "superclass": "EnumeratedValidator" }, - "scattermapbox.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "scattermapbox", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.customdata": { + "scattermap.customdata": { "params": { "plotly_name": "customdata", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "scattermapbox.connectgaps": { + "scattermap.connectgaps": { "params": { "plotly_name": "connectgaps", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "scattermapbox.cluster": { + "scattermap.cluster": { "params": { "plotly_name": "cluster", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "data_class_str": "Cluster", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermapbox.cluster.stepsrc": { - "params": { - "plotly_name": "stepsrc", - "parent_name": "scattermapbox.cluster", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.cluster.step": { + "scattermap.cluster.step": { "params": { "plotly_name": "step", - "parent_name": "scattermapbox.cluster", + "parent_name": "scattermap.cluster", "array_ok": true, "edit_type": "calc", "min": -1 }, "superclass": "NumberValidator" }, - "scattermapbox.cluster.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scattermapbox.cluster", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.cluster.size": { + "scattermap.cluster.size": { "params": { "plotly_name": "size", - "parent_name": "scattermapbox.cluster", + "parent_name": "scattermap.cluster", "array_ok": true, "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattermapbox.cluster.opacitysrc": { - "params": { - "plotly_name": "opacitysrc", - "parent_name": "scattermapbox.cluster", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.cluster.opacity": { + "scattermap.cluster.opacity": { "params": { "plotly_name": "opacity", - "parent_name": "scattermapbox.cluster", + "parent_name": "scattermap.cluster", "array_ok": true, "edit_type": "calc", "max": 1, @@ -55133,62 +49071,230 @@ }, "superclass": "NumberValidator" }, - "scattermapbox.cluster.maxzoom": { + "scattermap.cluster.maxzoom": { "params": { "plotly_name": "maxzoom", - "parent_name": "scattermapbox.cluster", + "parent_name": "scattermap.cluster", "edit_type": "calc", "max": 24, "min": 0 }, "superclass": "NumberValidator" }, - "scattermapbox.cluster.enabled": { + "scattermap.cluster.enabled": { "params": { "plotly_name": "enabled", - "parent_name": "scattermapbox.cluster", + "parent_name": "scattermap.cluster", "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "scattermapbox.cluster.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scattermapbox.cluster", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermapbox.cluster.color": { + "scattermap.cluster.color": { "params": { "plotly_name": "color", - "parent_name": "scattermapbox.cluster", + "parent_name": "scattermap.cluster", "array_ok": true, "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattermapbox.below": { + "scattermap.below": { "params": { "plotly_name": "below", - "parent_name": "scattermapbox", + "parent_name": "scattermap", "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattermap": { + "scattergl": { "params": { - "plotly_name": "scattermap", + "plotly_name": "scattergl", "parent_name": "", - "data_class_str": "Scattermap", + "data_class_str": "Scattergl", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermap.visible": { + "scattergl.yperiodalignment": { + "params": { + "plotly_name": "yperiodalignment", + "parent_name": "scattergl", + "edit_type": "calc", + "values": [ + "start", + "middle", + "end" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattergl.yperiod0": { + "params": { + "plotly_name": "yperiod0", + "parent_name": "scattergl", + "edit_type": "calc" + }, + "superclass": "AnyValidator" + }, + "scattergl.yperiod": { + "params": { + "plotly_name": "yperiod", + "parent_name": "scattergl", + "edit_type": "calc" + }, + "superclass": "AnyValidator" + }, + "scattergl.yhoverformat": { + "params": { + "plotly_name": "yhoverformat", + "parent_name": "scattergl", + "edit_type": "calc" + }, + "superclass": "StringValidator" + }, + "scattergl.ycalendar": { + "params": { + "plotly_name": "ycalendar", + "parent_name": "scattergl", + "edit_type": "calc", + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattergl.yaxis": { + "params": { + "plotly_name": "yaxis", + "parent_name": "scattergl", + "dflt": "y", + "edit_type": "calc+clearAxisTypes" + }, + "superclass": "SubplotidValidator" + }, + "scattergl.y0": { + "params": { + "plotly_name": "y0", + "parent_name": "scattergl", + "edit_type": "calc+clearAxisTypes" + }, + "superclass": "AnyValidator" + }, + "scattergl.y": { + "params": { + "plotly_name": "y", + "parent_name": "scattergl", + "edit_type": "calc+clearAxisTypes" + }, + "superclass": "DataArrayValidator" + }, + "scattergl.xperiodalignment": { + "params": { + "plotly_name": "xperiodalignment", + "parent_name": "scattergl", + "edit_type": "calc", + "values": [ + "start", + "middle", + "end" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattergl.xperiod0": { + "params": { + "plotly_name": "xperiod0", + "parent_name": "scattergl", + "edit_type": "calc" + }, + "superclass": "AnyValidator" + }, + "scattergl.xperiod": { + "params": { + "plotly_name": "xperiod", + "parent_name": "scattergl", + "edit_type": "calc" + }, + "superclass": "AnyValidator" + }, + "scattergl.xhoverformat": { + "params": { + "plotly_name": "xhoverformat", + "parent_name": "scattergl", + "edit_type": "calc" + }, + "superclass": "StringValidator" + }, + "scattergl.xcalendar": { + "params": { + "plotly_name": "xcalendar", + "parent_name": "scattergl", + "edit_type": "calc", + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattergl.xaxis": { + "params": { + "plotly_name": "xaxis", + "parent_name": "scattergl", + "dflt": "x", + "edit_type": "calc+clearAxisTypes" + }, + "superclass": "SubplotidValidator" + }, + "scattergl.x0": { + "params": { + "plotly_name": "x0", + "parent_name": "scattergl", + "edit_type": "calc+clearAxisTypes" + }, + "superclass": "AnyValidator" + }, + "scattergl.x": { + "params": { + "plotly_name": "x", + "parent_name": "scattergl", + "edit_type": "calc+clearAxisTypes" + }, + "superclass": "DataArrayValidator" + }, + "scattergl.visible": { "params": { "plotly_name": "visible", - "parent_name": "scattermap", + "parent_name": "scattergl", "edit_type": "calc", "values": [ true, @@ -55198,105 +49304,106 @@ }, "superclass": "EnumeratedValidator" }, - "scattermap.unselected": { + "scattergl.unselected": { "params": { "plotly_name": "unselected", - "parent_name": "scattermap", + "parent_name": "scattergl", "data_class_str": "Unselected", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermap.unselected.marker": { + "scattergl.unselected.textfont": { + "params": { + "plotly_name": "textfont", + "parent_name": "scattergl.unselected", + "data_class_str": "Textfont", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "scattergl.unselected.textfont.color": { + "params": { + "plotly_name": "color", + "parent_name": "scattergl.unselected.textfont", + "edit_type": "calc" + }, + "superclass": "ColorValidator" + }, + "scattergl.unselected.marker": { "params": { "plotly_name": "marker", - "parent_name": "scattermap.unselected", + "parent_name": "scattergl.unselected", "data_class_str": "Marker", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermap.unselected.marker.size": { + "scattergl.unselected.marker.size": { "params": { "plotly_name": "size", - "parent_name": "scattermap.unselected.marker", + "parent_name": "scattergl.unselected.marker", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattermap.unselected.marker.opacity": { + "scattergl.unselected.marker.opacity": { "params": { "plotly_name": "opacity", - "parent_name": "scattermap.unselected.marker", + "parent_name": "scattergl.unselected.marker", "edit_type": "calc", "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "scattermap.unselected.marker.color": { + "scattergl.unselected.marker.color": { "params": { "plotly_name": "color", - "parent_name": "scattermap.unselected.marker", + "parent_name": "scattergl.unselected.marker", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattermap.uirevision": { + "scattergl.uirevision": { "params": { "plotly_name": "uirevision", - "parent_name": "scattermap", + "parent_name": "scattergl", "edit_type": "none" }, "superclass": "AnyValidator" }, - "scattermap.uid": { + "scattergl.uid": { "params": { "plotly_name": "uid", - "parent_name": "scattermap", + "parent_name": "scattergl", "edit_type": "plot" }, "superclass": "StringValidator" }, - "scattermap.texttemplatesrc": { - "params": { - "plotly_name": "texttemplatesrc", - "parent_name": "scattermap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.texttemplatefallback": { + "scattergl.texttemplatefallback": { "params": { "plotly_name": "texttemplatefallback", - "parent_name": "scattermap", + "parent_name": "scattergl", "edit_type": "calc" }, "superclass": "AnyValidator" }, - "scattermap.texttemplate": { + "scattergl.texttemplate": { "params": { "plotly_name": "texttemplate", - "parent_name": "scattermap", + "parent_name": "scattergl", "array_ok": true, "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattermap.textsrc": { - "params": { - "plotly_name": "textsrc", - "parent_name": "scattermap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.textposition": { + "scattergl.textposition": { "params": { "plotly_name": "textposition", - "parent_name": "scattermap", - "array_ok": false, + "parent_name": "scattergl", + "array_ok": true, "edit_type": "calc", "values": [ "top left", @@ -55312,33 +49419,46 @@ }, "superclass": "EnumeratedValidator" }, - "scattermap.textfont": { + "scattergl.textfont": { "params": { "plotly_name": "textfont", - "parent_name": "scattermap", + "parent_name": "scattergl", "data_class_str": "Textfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermap.textfont.weight": { + "scattergl.textfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "scattermap.textfont", + "parent_name": "scattergl.textfont", + "array_ok": true, "edit_type": "calc", - "extras": [ + "values": [ "normal", "bold" - ], - "max": 1000, - "min": 1 + ] }, - "superclass": "IntegerValidator" + "superclass": "EnumeratedValidator" }, - "scattermap.textfont.style": { + "scattergl.textfont.variant": { + "params": { + "plotly_name": "variant", + "parent_name": "scattergl.textfont", + "array_ok": true, + "edit_type": "calc", + "values": [ + "normal", + "small-caps" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattergl.textfont.style": { "params": { "plotly_name": "style", - "parent_name": "scattermap.textfont", + "parent_name": "scattergl.textfont", + "array_ok": true, "edit_type": "calc", "values": [ "normal", @@ -55347,163 +49467,145 @@ }, "superclass": "EnumeratedValidator" }, - "scattermap.textfont.size": { + "scattergl.textfont.size": { "params": { "plotly_name": "size", - "parent_name": "scattermap.textfont", + "parent_name": "scattergl.textfont", + "array_ok": true, "edit_type": "calc", "min": 1 }, "superclass": "NumberValidator" }, - "scattermap.textfont.family": { + "scattergl.textfont.family": { "params": { "plotly_name": "family", - "parent_name": "scattermap.textfont", + "parent_name": "scattergl.textfont", + "array_ok": true, "edit_type": "calc", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "scattermap.textfont.color": { + "scattergl.textfont.color": { "params": { "plotly_name": "color", - "parent_name": "scattermap.textfont", + "parent_name": "scattergl.textfont", + "array_ok": true, "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattermap.text": { + "scattergl.text": { "params": { "plotly_name": "text", - "parent_name": "scattermap", + "parent_name": "scattergl", "array_ok": true, "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattermap.subplot": { + "scattergl.showlegend": { "params": { - "plotly_name": "subplot", - "parent_name": "scattermap", - "dflt": "map", - "edit_type": "calc" + "plotly_name": "showlegend", + "parent_name": "scattergl", + "edit_type": "style" }, - "superclass": "SubplotidValidator" + "superclass": "BooleanValidator" }, - "scattermap.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "scattermap", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattermap.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "scattermap.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scattermap.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "scattermap.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattermap.showlegend": { - "params": { - "plotly_name": "showlegend", - "parent_name": "scattermap", - "edit_type": "style" - }, - "superclass": "BooleanValidator" - }, - "scattermap.selectedpoints": { + "scattergl.selectedpoints": { "params": { "plotly_name": "selectedpoints", - "parent_name": "scattermap", + "parent_name": "scattergl", "edit_type": "calc" }, "superclass": "AnyValidator" }, - "scattermap.selected": { + "scattergl.selected": { "params": { "plotly_name": "selected", - "parent_name": "scattermap", + "parent_name": "scattergl", "data_class_str": "Selected", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermap.selected.marker": { + "scattergl.selected.textfont": { + "params": { + "plotly_name": "textfont", + "parent_name": "scattergl.selected", + "data_class_str": "Textfont", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "scattergl.selected.textfont.color": { + "params": { + "plotly_name": "color", + "parent_name": "scattergl.selected.textfont", + "edit_type": "calc" + }, + "superclass": "ColorValidator" + }, + "scattergl.selected.marker": { "params": { "plotly_name": "marker", - "parent_name": "scattermap.selected", + "parent_name": "scattergl.selected", "data_class_str": "Marker", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermap.selected.marker.size": { + "scattergl.selected.marker.size": { "params": { "plotly_name": "size", - "parent_name": "scattermap.selected.marker", + "parent_name": "scattergl.selected.marker", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattermap.selected.marker.opacity": { + "scattergl.selected.marker.opacity": { "params": { "plotly_name": "opacity", - "parent_name": "scattermap.selected.marker", + "parent_name": "scattergl.selected.marker", "edit_type": "calc", "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "scattermap.selected.marker.color": { + "scattergl.selected.marker.color": { "params": { "plotly_name": "color", - "parent_name": "scattermap.selected.marker", + "parent_name": "scattergl.selected.marker", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattermap.opacity": { + "scattergl.opacity": { "params": { "plotly_name": "opacity", - "parent_name": "scattermap", - "edit_type": "style", + "parent_name": "scattergl", + "edit_type": "calc", "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "scattermap.name": { + "scattergl.name": { "params": { "plotly_name": "name", - "parent_name": "scattermap", + "parent_name": "scattergl", "edit_type": "style" }, "superclass": "StringValidator" }, - "scattermap.mode": { + "scattergl.mode": { "params": { "plotly_name": "mode", - "parent_name": "scattermap", + "parent_name": "scattergl", "edit_type": "calc", "extras": [ "none" @@ -55516,613 +49618,841 @@ }, "superclass": "FlaglistValidator" }, - "scattermap.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "scattermap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.meta": { + "scattergl.meta": { "params": { "plotly_name": "meta", - "parent_name": "scattermap", + "parent_name": "scattergl", "array_ok": true, "edit_type": "plot" }, "superclass": "AnyValidator" }, - "scattermap.marker": { + "scattergl.marker": { "params": { "plotly_name": "marker", - "parent_name": "scattermap", + "parent_name": "scattergl", "data_class_str": "Marker", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermap.marker.symbolsrc": { - "params": { - "plotly_name": "symbolsrc", - "parent_name": "scattermap.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.marker.symbol": { + "scattergl.marker.symbol": { "params": { "plotly_name": "symbol", - "parent_name": "scattermap.marker", - "array_ok": true, - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scattermap.marker.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scattermap.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.marker.sizeref": { - "params": { - "plotly_name": "sizeref", - "parent_name": "scattermap.marker", - "edit_type": "calc" - }, - "superclass": "NumberValidator" - }, - "scattermap.marker.sizemode": { - "params": { - "plotly_name": "sizemode", - "parent_name": "scattermap.marker", - "edit_type": "calc", - "values": [ - "diameter", - "area" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattermap.marker.sizemin": { - "params": { - "plotly_name": "sizemin", - "parent_name": "scattermap.marker", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattermap.marker.size": { - "params": { - "plotly_name": "size", - "parent_name": "scattermap.marker", - "array_ok": true, - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattermap.marker.showscale": { - "params": { - "plotly_name": "showscale", - "parent_name": "scattermap.marker", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scattermap.marker.reversescale": { - "params": { - "plotly_name": "reversescale", - "parent_name": "scattermap.marker", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scattermap.marker.opacitysrc": { - "params": { - "plotly_name": "opacitysrc", - "parent_name": "scattermap.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.marker.opacity": { - "params": { - "plotly_name": "opacity", - "parent_name": "scattermap.marker", + "parent_name": "scattergl.marker", "array_ok": true, "edit_type": "calc", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattermap.marker.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scattermap.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.marker.colorscale": { - "params": { - "plotly_name": "colorscale", - "parent_name": "scattermap.marker", - "edit_type": "calc", - "implied_edits": { - "autocolorscale": false - } - }, - "superclass": "ColorscaleValidator" - }, - "scattermap.marker.colorbar": { - "params": { - "plotly_name": "colorbar", - "parent_name": "scattermap.marker", - "data_class_str": "ColorBar", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattermap.marker.colorbar.yref": { - "params": { - "plotly_name": "yref", - "parent_name": "scattermap.marker.colorbar", - "edit_type": "calc", - "values": [ - "container", - "paper" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattermap.marker.colorbar.ypad": { - "params": { - "plotly_name": "ypad", - "parent_name": "scattermap.marker.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattermap.marker.colorbar.yanchor": { - "params": { - "plotly_name": "yanchor", - "parent_name": "scattermap.marker.colorbar", - "edit_type": "calc", - "values": [ - "top", - "middle", - "bottom" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattermap.marker.colorbar.y": { - "params": { - "plotly_name": "y", - "parent_name": "scattermap.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "NumberValidator" - }, - "scattermap.marker.colorbar.xref": { - "params": { - "plotly_name": "xref", - "parent_name": "scattermap.marker.colorbar", - "edit_type": "calc", - "values": [ - "container", - "paper" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattermap.marker.colorbar.xpad": { - "params": { - "plotly_name": "xpad", - "parent_name": "scattermap.marker.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattermap.marker.colorbar.xanchor": { - "params": { - "plotly_name": "xanchor", - "parent_name": "scattermap.marker.colorbar", - "edit_type": "calc", - "values": [ - "left", - "center", - "right" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattermap.marker.colorbar.x": { - "params": { - "plotly_name": "x", - "parent_name": "scattermap.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "NumberValidator" - }, - "scattermap.marker.colorbar.title": { - "params": { - "plotly_name": "title", - "parent_name": "scattermap.marker.colorbar", - "data_class_str": "Title", - "data_docs": "\n" - }, - "superclass": "TitleValidator" - }, - "scattermap.marker.colorbar.title.text": { - "params": { - "plotly_name": "text", - "parent_name": "scattermap.marker.colorbar.title", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scattermap.marker.colorbar.title.side": { - "params": { - "plotly_name": "side", - "parent_name": "scattermap.marker.colorbar.title", - "edit_type": "calc", - "values": [ - "right", - "top", - "bottom" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattermap.marker.colorbar.title.font": { - "params": { - "plotly_name": "font", - "parent_name": "scattermap.marker.colorbar.title", - "data_class_str": "Font", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattermap.marker.colorbar.title.font.weight": { - "params": { - "plotly_name": "weight", - "parent_name": "scattermap.marker.colorbar.title.font", - "edit_type": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "scattermap.marker.colorbar.title.font.variant": { - "params": { - "plotly_name": "variant", - "parent_name": "scattermap.marker.colorbar.title.font", - "edit_type": "calc", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattermap.marker.colorbar.title.font.textcase": { - "params": { - "plotly_name": "textcase", - "parent_name": "scattermap.marker.colorbar.title.font", - "edit_type": "calc", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattermap.marker.colorbar.title.font.style": { - "params": { - "plotly_name": "style", - "parent_name": "scattermap.marker.colorbar.title.font", - "edit_type": "calc", - "values": [ - "normal", - "italic" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattermap.marker.colorbar.title.font.size": { - "params": { - "plotly_name": "size", - "parent_name": "scattermap.marker.colorbar.title.font", - "edit_type": "calc", - "min": 1 - }, - "superclass": "NumberValidator" - }, - "scattermap.marker.colorbar.title.font.shadow": { - "params": { - "plotly_name": "shadow", - "parent_name": "scattermap.marker.colorbar.title.font", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scattermap.marker.colorbar.title.font.lineposition": { - "params": { - "plotly_name": "lineposition", - "parent_name": "scattermap.marker.colorbar.title.font", - "edit_type": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] - }, - "superclass": "FlaglistValidator" - }, - "scattermap.marker.colorbar.title.font.family": { - "params": { - "plotly_name": "family", - "parent_name": "scattermap.marker.colorbar.title.font", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scattermap.marker.colorbar.title.font.color": { - "params": { - "plotly_name": "color", - "parent_name": "scattermap.marker.colorbar.title.font", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scattermap.marker.colorbar.tickwidth": { - "params": { - "plotly_name": "tickwidth", - "parent_name": "scattermap.marker.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattermap.marker.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "scattermap.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.marker.colorbar.tickvals": { - "params": { - "plotly_name": "tickvals", - "parent_name": "scattermap.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scattermap.marker.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "scattermap.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.marker.colorbar.ticktext": { - "params": { - "plotly_name": "ticktext", - "parent_name": "scattermap.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scattermap.marker.colorbar.ticksuffix": { - "params": { - "plotly_name": "ticksuffix", - "parent_name": "scattermap.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scattermap.marker.colorbar.ticks": { - "params": { - "plotly_name": "ticks", - "parent_name": "scattermap.marker.colorbar", - "edit_type": "calc", - "values": [ - "outside", - "inside", - "" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattermap.marker.colorbar.tickprefix": { - "params": { - "plotly_name": "tickprefix", - "parent_name": "scattermap.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scattermap.marker.colorbar.tickmode": { - "params": { - "plotly_name": "tickmode", - "parent_name": "scattermap.marker.colorbar", - "edit_type": "calc", - "implied_edits": {}, "values": [ - "auto", - "linear", - "array" - ] - }, - "superclass": "EnumeratedValidator" + 0, + "0", + "circle", + 100, + "100", + "circle-open", + 200, + "200", + "circle-dot", + 300, + "300", + "circle-open-dot", + 1, + "1", + "square", + 101, + "101", + "square-open", + 201, + "201", + "square-dot", + 301, + "301", + "square-open-dot", + 2, + "2", + "diamond", + 102, + "102", + "diamond-open", + 202, + "202", + "diamond-dot", + 302, + "302", + "diamond-open-dot", + 3, + "3", + "cross", + 103, + "103", + "cross-open", + 203, + "203", + "cross-dot", + 303, + "303", + "cross-open-dot", + 4, + "4", + "x", + 104, + "104", + "x-open", + 204, + "204", + "x-dot", + 304, + "304", + "x-open-dot", + 5, + "5", + "triangle-up", + 105, + "105", + "triangle-up-open", + 205, + "205", + "triangle-up-dot", + 305, + "305", + "triangle-up-open-dot", + 6, + "6", + "triangle-down", + 106, + "106", + "triangle-down-open", + 206, + "206", + "triangle-down-dot", + 306, + "306", + "triangle-down-open-dot", + 7, + "7", + "triangle-left", + 107, + "107", + "triangle-left-open", + 207, + "207", + "triangle-left-dot", + 307, + "307", + "triangle-left-open-dot", + 8, + "8", + "triangle-right", + 108, + "108", + "triangle-right-open", + 208, + "208", + "triangle-right-dot", + 308, + "308", + "triangle-right-open-dot", + 9, + "9", + "triangle-ne", + 109, + "109", + "triangle-ne-open", + 209, + "209", + "triangle-ne-dot", + 309, + "309", + "triangle-ne-open-dot", + 10, + "10", + "triangle-se", + 110, + "110", + "triangle-se-open", + 210, + "210", + "triangle-se-dot", + 310, + "310", + "triangle-se-open-dot", + 11, + "11", + "triangle-sw", + 111, + "111", + "triangle-sw-open", + 211, + "211", + "triangle-sw-dot", + 311, + "311", + "triangle-sw-open-dot", + 12, + "12", + "triangle-nw", + 112, + "112", + "triangle-nw-open", + 212, + "212", + "triangle-nw-dot", + 312, + "312", + "triangle-nw-open-dot", + 13, + "13", + "pentagon", + 113, + "113", + "pentagon-open", + 213, + "213", + "pentagon-dot", + 313, + "313", + "pentagon-open-dot", + 14, + "14", + "hexagon", + 114, + "114", + "hexagon-open", + 214, + "214", + "hexagon-dot", + 314, + "314", + "hexagon-open-dot", + 15, + "15", + "hexagon2", + 115, + "115", + "hexagon2-open", + 215, + "215", + "hexagon2-dot", + 315, + "315", + "hexagon2-open-dot", + 16, + "16", + "octagon", + 116, + "116", + "octagon-open", + 216, + "216", + "octagon-dot", + 316, + "316", + "octagon-open-dot", + 17, + "17", + "star", + 117, + "117", + "star-open", + 217, + "217", + "star-dot", + 317, + "317", + "star-open-dot", + 18, + "18", + "hexagram", + 118, + "118", + "hexagram-open", + 218, + "218", + "hexagram-dot", + 318, + "318", + "hexagram-open-dot", + 19, + "19", + "star-triangle-up", + 119, + "119", + "star-triangle-up-open", + 219, + "219", + "star-triangle-up-dot", + 319, + "319", + "star-triangle-up-open-dot", + 20, + "20", + "star-triangle-down", + 120, + "120", + "star-triangle-down-open", + 220, + "220", + "star-triangle-down-dot", + 320, + "320", + "star-triangle-down-open-dot", + 21, + "21", + "star-square", + 121, + "121", + "star-square-open", + 221, + "221", + "star-square-dot", + 321, + "321", + "star-square-open-dot", + 22, + "22", + "star-diamond", + 122, + "122", + "star-diamond-open", + 222, + "222", + "star-diamond-dot", + 322, + "322", + "star-diamond-open-dot", + 23, + "23", + "diamond-tall", + 123, + "123", + "diamond-tall-open", + 223, + "223", + "diamond-tall-dot", + 323, + "323", + "diamond-tall-open-dot", + 24, + "24", + "diamond-wide", + 124, + "124", + "diamond-wide-open", + 224, + "224", + "diamond-wide-dot", + 324, + "324", + "diamond-wide-open-dot", + 25, + "25", + "hourglass", + 125, + "125", + "hourglass-open", + 26, + "26", + "bowtie", + 126, + "126", + "bowtie-open", + 27, + "27", + "circle-cross", + 127, + "127", + "circle-cross-open", + 28, + "28", + "circle-x", + 128, + "128", + "circle-x-open", + 29, + "29", + "square-cross", + 129, + "129", + "square-cross-open", + 30, + "30", + "square-x", + 130, + "130", + "square-x-open", + 31, + "31", + "diamond-cross", + 131, + "131", + "diamond-cross-open", + 32, + "32", + "diamond-x", + 132, + "132", + "diamond-x-open", + 33, + "33", + "cross-thin", + 133, + "133", + "cross-thin-open", + 34, + "34", + "x-thin", + 134, + "134", + "x-thin-open", + 35, + "35", + "asterisk", + 135, + "135", + "asterisk-open", + 36, + "36", + "hash", + 136, + "136", + "hash-open", + 236, + "236", + "hash-dot", + 336, + "336", + "hash-open-dot", + 37, + "37", + "y-up", + 137, + "137", + "y-up-open", + 38, + "38", + "y-down", + 138, + "138", + "y-down-open", + 39, + "39", + "y-left", + 139, + "139", + "y-left-open", + 40, + "40", + "y-right", + 140, + "140", + "y-right-open", + 41, + "41", + "line-ew", + 141, + "141", + "line-ew-open", + 42, + "42", + "line-ns", + 142, + "142", + "line-ns-open", + 43, + "43", + "line-ne", + 143, + "143", + "line-ne-open", + 44, + "44", + "line-nw", + 144, + "144", + "line-nw-open", + 45, + "45", + "arrow-up", + 145, + "145", + "arrow-up-open", + 46, + "46", + "arrow-down", + 146, + "146", + "arrow-down-open", + 47, + "47", + "arrow-left", + 147, + "147", + "arrow-left-open", + 48, + "48", + "arrow-right", + 148, + "148", + "arrow-right-open", + 49, + "49", + "arrow-bar-up", + 149, + "149", + "arrow-bar-up-open", + 50, + "50", + "arrow-bar-down", + 150, + "150", + "arrow-bar-down-open", + 51, + "51", + "arrow-bar-left", + 151, + "151", + "arrow-bar-left-open", + 52, + "52", + "arrow-bar-right", + 152, + "152", + "arrow-bar-right-open", + 53, + "53", + "arrow", + 153, + "153", + "arrow-open", + 54, + "54", + "arrow-wide", + 154, + "154", + "arrow-wide-open" + ] + }, + "superclass": "EnumeratedValidator" }, - "scattermap.marker.colorbar.ticklen": { + "scattergl.marker.sizeref": { "params": { - "plotly_name": "ticklen", - "parent_name": "scattermap.marker.colorbar", - "edit_type": "calc", - "min": 0 + "plotly_name": "sizeref", + "parent_name": "scattergl.marker", + "edit_type": "calc" }, "superclass": "NumberValidator" }, - "scattermap.marker.colorbar.ticklabelstep": { + "scattergl.marker.sizemode": { "params": { - "plotly_name": "ticklabelstep", - "parent_name": "scattermap.marker.colorbar", + "plotly_name": "sizemode", + "parent_name": "scattergl.marker", "edit_type": "calc", - "min": 1 + "values": [ + "diameter", + "area" + ] }, - "superclass": "IntegerValidator" + "superclass": "EnumeratedValidator" }, - "scattermap.marker.colorbar.ticklabelposition": { + "scattergl.marker.sizemin": { "params": { - "plotly_name": "ticklabelposition", - "parent_name": "scattermap.marker.colorbar", + "plotly_name": "sizemin", + "parent_name": "scattergl.marker", "edit_type": "calc", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" - ] + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "scattermap.marker.colorbar.ticklabeloverflow": { + "scattergl.marker.size": { "params": { - "plotly_name": "ticklabeloverflow", - "parent_name": "scattermap.marker.colorbar", + "plotly_name": "size", + "parent_name": "scattergl.marker", + "array_ok": true, "edit_type": "calc", - "values": [ - "allow", - "hide past div", - "hide past domain" - ] + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "scattermap.marker.colorbar.tickformatstopdefaults": { + "scattergl.marker.showscale": { "params": { - "plotly_name": "tickformatstopdefaults", - "parent_name": "scattermap.marker.colorbar", - "data_class_str": "Tickformatstop", + "plotly_name": "showscale", + "parent_name": "scattergl.marker", + "edit_type": "calc" + }, + "superclass": "BooleanValidator" + }, + "scattergl.marker.reversescale": { + "params": { + "plotly_name": "reversescale", + "parent_name": "scattergl.marker", + "edit_type": "calc" + }, + "superclass": "BooleanValidator" + }, + "scattergl.marker.opacity": { + "params": { + "plotly_name": "opacity", + "parent_name": "scattergl.marker", + "array_ok": true, + "edit_type": "calc", + "max": 1, + "min": 0 + }, + "superclass": "NumberValidator" + }, + "scattergl.marker.line": { + "params": { + "plotly_name": "line", + "parent_name": "scattergl.marker", + "data_class_str": "Line", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermap.marker.colorbar.tickformatstops": { + "scattergl.marker.line.width": { "params": { - "plotly_name": "tickformatstops", - "parent_name": "scattermap.marker.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" + "plotly_name": "width", + "parent_name": "scattergl.marker.line", + "array_ok": true, + "edit_type": "calc", + "min": 0 }, - "superclass": "CompoundArrayValidator" + "superclass": "NumberValidator" }, - "scattermap.marker.colorbar.tickformatstop.value": { + "scattergl.marker.line.reversescale": { "params": { - "plotly_name": "value", - "parent_name": "scattermap.marker.colorbar.tickformatstop", + "plotly_name": "reversescale", + "parent_name": "scattergl.marker.line", "edit_type": "calc" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "scattermap.marker.colorbar.tickformatstop.templateitemname": { + "scattergl.marker.line.colorscale": { "params": { - "plotly_name": "templateitemname", - "parent_name": "scattermap.marker.colorbar.tickformatstop", - "edit_type": "calc" + "plotly_name": "colorscale", + "parent_name": "scattergl.marker.line", + "edit_type": "calc", + "implied_edits": { + "autocolorscale": false + } }, - "superclass": "StringValidator" + "superclass": "ColorscaleValidator" }, - "scattermap.marker.colorbar.tickformatstop.name": { + "scattergl.marker.line.coloraxis": { "params": { - "plotly_name": "name", - "parent_name": "scattermap.marker.colorbar.tickformatstop", - "edit_type": "calc" + "plotly_name": "coloraxis", + "parent_name": "scattergl.marker.line", + "dflt": null, + "edit_type": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" }, - "superclass": "StringValidator" + "superclass": "SubplotidValidator" }, - "scattermap.marker.colorbar.tickformatstop.enabled": { + "scattergl.marker.line.color": { "params": { - "plotly_name": "enabled", - "parent_name": "scattermap.marker.colorbar.tickformatstop", - "edit_type": "calc" + "plotly_name": "color", + "parent_name": "scattergl.marker.line", + "array_ok": true, + "edit_type": "calc", + "colorscale_path": "scattergl.marker.line.colorscale" + }, + "superclass": "ColorValidator" + }, + "scattergl.marker.line.cmin": { + "params": { + "plotly_name": "cmin", + "parent_name": "scattergl.marker.line", + "edit_type": "calc", + "implied_edits": { + "cauto": false + } + }, + "superclass": "NumberValidator" + }, + "scattergl.marker.line.cmid": { + "params": { + "plotly_name": "cmid", + "parent_name": "scattergl.marker.line", + "edit_type": "calc", + "implied_edits": {} + }, + "superclass": "NumberValidator" + }, + "scattergl.marker.line.cmax": { + "params": { + "plotly_name": "cmax", + "parent_name": "scattergl.marker.line", + "edit_type": "calc", + "implied_edits": { + "cauto": false + } + }, + "superclass": "NumberValidator" + }, + "scattergl.marker.line.cauto": { + "params": { + "plotly_name": "cauto", + "parent_name": "scattergl.marker.line", + "edit_type": "calc", + "implied_edits": {} }, "superclass": "BooleanValidator" }, - "scattermap.marker.colorbar.tickformatstop.dtickrange": { + "scattergl.marker.line.autocolorscale": { "params": { - "plotly_name": "dtickrange", - "parent_name": "scattermap.marker.colorbar.tickformatstop", + "plotly_name": "autocolorscale", + "parent_name": "scattergl.marker.line", "edit_type": "calc", - "items": [ - { - "editType": "calc", - "valType": "any" - }, - { - "editType": "calc", - "valType": "any" - } + "implied_edits": {} + }, + "superclass": "BooleanValidator" + }, + "scattergl.marker.colorscale": { + "params": { + "plotly_name": "colorscale", + "parent_name": "scattergl.marker", + "edit_type": "calc", + "implied_edits": { + "autocolorscale": false + } + }, + "superclass": "ColorscaleValidator" + }, + "scattergl.marker.colorbar": { + "params": { + "plotly_name": "colorbar", + "parent_name": "scattergl.marker", + "data_class_str": "ColorBar", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "scattergl.marker.colorbar.yref": { + "params": { + "plotly_name": "yref", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc", + "values": [ + "container", + "paper" ] }, - "superclass": "InfoArrayValidator" + "superclass": "EnumeratedValidator" }, - "scattermap.marker.colorbar.tickformat": { + "scattergl.marker.colorbar.ypad": { "params": { - "plotly_name": "tickformat", - "parent_name": "scattermap.marker.colorbar", + "plotly_name": "ypad", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "scattergl.marker.colorbar.yanchor": { + "params": { + "plotly_name": "yanchor", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattergl.marker.colorbar.y": { + "params": { + "plotly_name": "y", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc" + }, + "superclass": "NumberValidator" + }, + "scattergl.marker.colorbar.xref": { + "params": { + "plotly_name": "xref", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc", + "values": [ + "container", + "paper" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattergl.marker.colorbar.xpad": { + "params": { + "plotly_name": "xpad", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "scattergl.marker.colorbar.xanchor": { + "params": { + "plotly_name": "xanchor", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc", + "values": [ + "left", + "center", + "right" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattergl.marker.colorbar.x": { + "params": { + "plotly_name": "x", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc" + }, + "superclass": "NumberValidator" + }, + "scattergl.marker.colorbar.title": { + "params": { + "plotly_name": "title", + "parent_name": "scattergl.marker.colorbar", + "data_class_str": "Title", + "data_docs": "\n" + }, + "superclass": "TitleValidator" + }, + "scattergl.marker.colorbar.title.text": { + "params": { + "plotly_name": "text", + "parent_name": "scattergl.marker.colorbar.title", "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattermap.marker.colorbar.tickfont": { + "scattergl.marker.colorbar.title.side": { "params": { - "plotly_name": "tickfont", - "parent_name": "scattermap.marker.colorbar", - "data_class_str": "Tickfont", + "plotly_name": "side", + "parent_name": "scattergl.marker.colorbar.title", + "edit_type": "calc", + "values": [ + "right", + "top", + "bottom" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattergl.marker.colorbar.title.font": { + "params": { + "plotly_name": "font", + "parent_name": "scattergl.marker.colorbar.title", + "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermap.marker.colorbar.tickfont.weight": { + "scattergl.marker.colorbar.title.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "scattermap.marker.colorbar.tickfont", + "parent_name": "scattergl.marker.colorbar.title.font", "edit_type": "calc", "extras": [ "normal", @@ -56133,10 +50463,10 @@ }, "superclass": "IntegerValidator" }, - "scattermap.marker.colorbar.tickfont.variant": { + "scattergl.marker.colorbar.title.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "scattermap.marker.colorbar.tickfont", + "parent_name": "scattergl.marker.colorbar.title.font", "edit_type": "calc", "values": [ "normal", @@ -56149,10 +50479,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattermap.marker.colorbar.tickfont.textcase": { + "scattergl.marker.colorbar.title.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "scattermap.marker.colorbar.tickfont", + "parent_name": "scattergl.marker.colorbar.title.font", "edit_type": "calc", "values": [ "normal", @@ -56163,10 +50493,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattermap.marker.colorbar.tickfont.style": { + "scattergl.marker.colorbar.title.font.style": { "params": { "plotly_name": "style", - "parent_name": "scattermap.marker.colorbar.tickfont", + "parent_name": "scattergl.marker.colorbar.title.font", "edit_type": "calc", "values": [ "normal", @@ -56175,27 +50505,27 @@ }, "superclass": "EnumeratedValidator" }, - "scattermap.marker.colorbar.tickfont.size": { + "scattergl.marker.colorbar.title.font.size": { "params": { "plotly_name": "size", - "parent_name": "scattermap.marker.colorbar.tickfont", + "parent_name": "scattergl.marker.colorbar.title.font", "edit_type": "calc", "min": 1 }, "superclass": "NumberValidator" }, - "scattermap.marker.colorbar.tickfont.shadow": { + "scattergl.marker.colorbar.title.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "scattermap.marker.colorbar.tickfont", + "parent_name": "scattergl.marker.colorbar.title.font", "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattermap.marker.colorbar.tickfont.lineposition": { + "scattergl.marker.colorbar.title.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "scattermap.marker.colorbar.tickfont", + "parent_name": "scattergl.marker.colorbar.title.font", "edit_type": "calc", "extras": [ "none" @@ -56208,181 +50538,492 @@ }, "superclass": "FlaglistValidator" }, - "scattermap.marker.colorbar.tickfont.family": { + "scattergl.marker.colorbar.title.font.family": { "params": { "plotly_name": "family", - "parent_name": "scattermap.marker.colorbar.tickfont", + "parent_name": "scattergl.marker.colorbar.title.font", "edit_type": "calc", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "scattermap.marker.colorbar.tickfont.color": { + "scattergl.marker.colorbar.title.font.color": { "params": { "plotly_name": "color", - "parent_name": "scattermap.marker.colorbar.tickfont", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scattermap.marker.colorbar.tickcolor": { - "params": { - "plotly_name": "tickcolor", - "parent_name": "scattermap.marker.colorbar", + "parent_name": "scattergl.marker.colorbar.title.font", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattermap.marker.colorbar.tickangle": { - "params": { - "plotly_name": "tickangle", - "parent_name": "scattermap.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "AngleValidator" - }, - "scattermap.marker.colorbar.tick0": { + "scattergl.marker.colorbar.tickwidth": { "params": { - "plotly_name": "tick0", - "parent_name": "scattermap.marker.colorbar", + "plotly_name": "tickwidth", + "parent_name": "scattergl.marker.colorbar", "edit_type": "calc", - "implied_edits": { - "tickmode": "linear" - } + "min": 0 }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "scattermap.marker.colorbar.thicknessmode": { + "scattergl.marker.colorbar.tickvals": { "params": { - "plotly_name": "thicknessmode", - "parent_name": "scattermap.marker.colorbar", - "edit_type": "calc", - "values": [ - "fraction", - "pixels" - ] + "plotly_name": "tickvals", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "DataArrayValidator" }, - "scattermap.marker.colorbar.thickness": { + "scattergl.marker.colorbar.ticktext": { "params": { - "plotly_name": "thickness", - "parent_name": "scattermap.marker.colorbar", - "edit_type": "calc", - "min": 0 + "plotly_name": "ticktext", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "scattermap.marker.colorbar.showticksuffix": { + "scattergl.marker.colorbar.ticksuffix": { "params": { - "plotly_name": "showticksuffix", - "parent_name": "scattermap.marker.colorbar", - "edit_type": "calc", - "values": [ - "all", - "first", - "last", - "none" - ] + "plotly_name": "ticksuffix", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "StringValidator" }, - "scattermap.marker.colorbar.showtickprefix": { + "scattergl.marker.colorbar.ticks": { "params": { - "plotly_name": "showtickprefix", - "parent_name": "scattermap.marker.colorbar", + "plotly_name": "ticks", + "parent_name": "scattergl.marker.colorbar", "edit_type": "calc", "values": [ - "all", - "first", - "last", - "none" + "outside", + "inside", + "" ] }, "superclass": "EnumeratedValidator" }, - "scattermap.marker.colorbar.showticklabels": { + "scattergl.marker.colorbar.tickprefix": { "params": { - "plotly_name": "showticklabels", - "parent_name": "scattermap.marker.colorbar", + "plotly_name": "tickprefix", + "parent_name": "scattergl.marker.colorbar", "edit_type": "calc" }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "scattermap.marker.colorbar.showexponent": { + "scattergl.marker.colorbar.tickmode": { "params": { - "plotly_name": "showexponent", - "parent_name": "scattermap.marker.colorbar", + "plotly_name": "tickmode", + "parent_name": "scattergl.marker.colorbar", "edit_type": "calc", + "implied_edits": {}, "values": [ - "all", - "first", - "last", - "none" + "auto", + "linear", + "array" ] }, "superclass": "EnumeratedValidator" }, - "scattermap.marker.colorbar.separatethousands": { - "params": { - "plotly_name": "separatethousands", - "parent_name": "scattermap.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scattermap.marker.colorbar.outlinewidth": { + "scattergl.marker.colorbar.ticklen": { "params": { - "plotly_name": "outlinewidth", - "parent_name": "scattermap.marker.colorbar", + "plotly_name": "ticklen", + "parent_name": "scattergl.marker.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattermap.marker.colorbar.outlinecolor": { + "scattergl.marker.colorbar.ticklabelstep": { "params": { - "plotly_name": "outlinecolor", - "parent_name": "scattermap.marker.colorbar", - "edit_type": "calc" + "plotly_name": "ticklabelstep", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc", + "min": 1 }, - "superclass": "ColorValidator" + "superclass": "IntegerValidator" }, - "scattermap.marker.colorbar.orientation": { + "scattergl.marker.colorbar.ticklabelposition": { "params": { - "plotly_name": "orientation", - "parent_name": "scattermap.marker.colorbar", + "plotly_name": "ticklabelposition", + "parent_name": "scattergl.marker.colorbar", "edit_type": "calc", "values": [ - "h", - "v" + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom" ] }, "superclass": "EnumeratedValidator" }, - "scattermap.marker.colorbar.nticks": { + "scattergl.marker.colorbar.ticklabeloverflow": { "params": { - "plotly_name": "nticks", - "parent_name": "scattermap.marker.colorbar", + "plotly_name": "ticklabeloverflow", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc", + "values": [ + "allow", + "hide past div", + "hide past domain" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattergl.marker.colorbar.tickformatstopdefaults": { + "params": { + "plotly_name": "tickformatstopdefaults", + "parent_name": "scattergl.marker.colorbar", + "data_class_str": "Tickformatstop", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "scattergl.marker.colorbar.tickformatstops": { + "params": { + "plotly_name": "tickformatstops", + "parent_name": "scattergl.marker.colorbar", + "data_class_str": "Tickformatstop", + "data_docs": "\n" + }, + "superclass": "CompoundArrayValidator" + }, + "scattergl.marker.colorbar.tickformatstop.value": { + "params": { + "plotly_name": "value", + "parent_name": "scattergl.marker.colorbar.tickformatstop", + "edit_type": "calc" + }, + "superclass": "StringValidator" + }, + "scattergl.marker.colorbar.tickformatstop.templateitemname": { + "params": { + "plotly_name": "templateitemname", + "parent_name": "scattergl.marker.colorbar.tickformatstop", + "edit_type": "calc" + }, + "superclass": "StringValidator" + }, + "scattergl.marker.colorbar.tickformatstop.name": { + "params": { + "plotly_name": "name", + "parent_name": "scattergl.marker.colorbar.tickformatstop", + "edit_type": "calc" + }, + "superclass": "StringValidator" + }, + "scattergl.marker.colorbar.tickformatstop.enabled": { + "params": { + "plotly_name": "enabled", + "parent_name": "scattergl.marker.colorbar.tickformatstop", + "edit_type": "calc" + }, + "superclass": "BooleanValidator" + }, + "scattergl.marker.colorbar.tickformatstop.dtickrange": { + "params": { + "plotly_name": "dtickrange", + "parent_name": "scattergl.marker.colorbar.tickformatstop", + "edit_type": "calc", + "items": [ + { + "editType": "calc", + "valType": "any" + }, + { + "editType": "calc", + "valType": "any" + } + ] + }, + "superclass": "InfoArrayValidator" + }, + "scattergl.marker.colorbar.tickformat": { + "params": { + "plotly_name": "tickformat", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc" + }, + "superclass": "StringValidator" + }, + "scattergl.marker.colorbar.tickfont": { + "params": { + "plotly_name": "tickfont", + "parent_name": "scattergl.marker.colorbar", + "data_class_str": "Tickfont", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "scattergl.marker.colorbar.tickfont.weight": { + "params": { + "plotly_name": "weight", + "parent_name": "scattergl.marker.colorbar.tickfont", + "edit_type": "calc", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 + }, + "superclass": "IntegerValidator" + }, + "scattergl.marker.colorbar.tickfont.variant": { + "params": { + "plotly_name": "variant", + "parent_name": "scattergl.marker.colorbar.tickfont", + "edit_type": "calc", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattergl.marker.colorbar.tickfont.textcase": { + "params": { + "plotly_name": "textcase", + "parent_name": "scattergl.marker.colorbar.tickfont", + "edit_type": "calc", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattergl.marker.colorbar.tickfont.style": { + "params": { + "plotly_name": "style", + "parent_name": "scattergl.marker.colorbar.tickfont", + "edit_type": "calc", + "values": [ + "normal", + "italic" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattergl.marker.colorbar.tickfont.size": { + "params": { + "plotly_name": "size", + "parent_name": "scattergl.marker.colorbar.tickfont", + "edit_type": "calc", + "min": 1 + }, + "superclass": "NumberValidator" + }, + "scattergl.marker.colorbar.tickfont.shadow": { + "params": { + "plotly_name": "shadow", + "parent_name": "scattergl.marker.colorbar.tickfont", + "edit_type": "calc" + }, + "superclass": "StringValidator" + }, + "scattergl.marker.colorbar.tickfont.lineposition": { + "params": { + "plotly_name": "lineposition", + "parent_name": "scattergl.marker.colorbar.tickfont", + "edit_type": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] + }, + "superclass": "FlaglistValidator" + }, + "scattergl.marker.colorbar.tickfont.family": { + "params": { + "plotly_name": "family", + "parent_name": "scattergl.marker.colorbar.tickfont", + "edit_type": "calc", + "no_blank": true, + "strict": true + }, + "superclass": "StringValidator" + }, + "scattergl.marker.colorbar.tickfont.color": { + "params": { + "plotly_name": "color", + "parent_name": "scattergl.marker.colorbar.tickfont", + "edit_type": "calc" + }, + "superclass": "ColorValidator" + }, + "scattergl.marker.colorbar.tickcolor": { + "params": { + "plotly_name": "tickcolor", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc" + }, + "superclass": "ColorValidator" + }, + "scattergl.marker.colorbar.tickangle": { + "params": { + "plotly_name": "tickangle", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc" + }, + "superclass": "AngleValidator" + }, + "scattergl.marker.colorbar.tick0": { + "params": { + "plotly_name": "tick0", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc", + "implied_edits": { + "tickmode": "linear" + } + }, + "superclass": "AnyValidator" + }, + "scattergl.marker.colorbar.thicknessmode": { + "params": { + "plotly_name": "thicknessmode", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc", + "values": [ + "fraction", + "pixels" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattergl.marker.colorbar.thickness": { + "params": { + "plotly_name": "thickness", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "scattergl.marker.colorbar.showticksuffix": { + "params": { + "plotly_name": "showticksuffix", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattergl.marker.colorbar.showtickprefix": { + "params": { + "plotly_name": "showtickprefix", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattergl.marker.colorbar.showticklabels": { + "params": { + "plotly_name": "showticklabels", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc" + }, + "superclass": "BooleanValidator" + }, + "scattergl.marker.colorbar.showexponent": { + "params": { + "plotly_name": "showexponent", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattergl.marker.colorbar.separatethousands": { + "params": { + "plotly_name": "separatethousands", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc" + }, + "superclass": "BooleanValidator" + }, + "scattergl.marker.colorbar.outlinewidth": { + "params": { + "plotly_name": "outlinewidth", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "scattergl.marker.colorbar.outlinecolor": { + "params": { + "plotly_name": "outlinecolor", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc" + }, + "superclass": "ColorValidator" + }, + "scattergl.marker.colorbar.orientation": { + "params": { + "plotly_name": "orientation", + "parent_name": "scattergl.marker.colorbar", + "edit_type": "calc", + "values": [ + "h", + "v" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattergl.marker.colorbar.nticks": { + "params": { + "plotly_name": "nticks", + "parent_name": "scattergl.marker.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "IntegerValidator" }, - "scattermap.marker.colorbar.minexponent": { + "scattergl.marker.colorbar.minexponent": { "params": { "plotly_name": "minexponent", - "parent_name": "scattermap.marker.colorbar", + "parent_name": "scattergl.marker.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattermap.marker.colorbar.lenmode": { + "scattergl.marker.colorbar.lenmode": { "params": { "plotly_name": "lenmode", - "parent_name": "scattermap.marker.colorbar", + "parent_name": "scattergl.marker.colorbar", "edit_type": "calc", "values": [ "fraction", @@ -56391,27 +51032,27 @@ }, "superclass": "EnumeratedValidator" }, - "scattermap.marker.colorbar.len": { + "scattergl.marker.colorbar.len": { "params": { "plotly_name": "len", - "parent_name": "scattermap.marker.colorbar", + "parent_name": "scattergl.marker.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattermap.marker.colorbar.labelalias": { + "scattergl.marker.colorbar.labelalias": { "params": { "plotly_name": "labelalias", - "parent_name": "scattermap.marker.colorbar", + "parent_name": "scattergl.marker.colorbar", "edit_type": "calc" }, "superclass": "AnyValidator" }, - "scattermap.marker.colorbar.exponentformat": { + "scattergl.marker.colorbar.exponentformat": { "params": { "plotly_name": "exponentformat", - "parent_name": "scattermap.marker.colorbar", + "parent_name": "scattergl.marker.colorbar", "edit_type": "calc", "values": [ "none", @@ -56425,10 +51066,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattermap.marker.colorbar.dtick": { + "scattergl.marker.colorbar.dtick": { "params": { "plotly_name": "dtick", - "parent_name": "scattermap.marker.colorbar", + "parent_name": "scattergl.marker.colorbar", "edit_type": "calc", "implied_edits": { "tickmode": "linear" @@ -56436,55 +51077,55 @@ }, "superclass": "AnyValidator" }, - "scattermap.marker.colorbar.borderwidth": { + "scattergl.marker.colorbar.borderwidth": { "params": { "plotly_name": "borderwidth", - "parent_name": "scattermap.marker.colorbar", + "parent_name": "scattergl.marker.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattermap.marker.colorbar.bordercolor": { + "scattergl.marker.colorbar.bordercolor": { "params": { "plotly_name": "bordercolor", - "parent_name": "scattermap.marker.colorbar", + "parent_name": "scattergl.marker.colorbar", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattermap.marker.colorbar.bgcolor": { + "scattergl.marker.colorbar.bgcolor": { "params": { "plotly_name": "bgcolor", - "parent_name": "scattermap.marker.colorbar", + "parent_name": "scattergl.marker.colorbar", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattermap.marker.coloraxis": { + "scattergl.marker.coloraxis": { "params": { "plotly_name": "coloraxis", - "parent_name": "scattermap.marker", + "parent_name": "scattergl.marker", "dflt": null, "edit_type": "calc", "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" }, "superclass": "SubplotidValidator" }, - "scattermap.marker.color": { + "scattergl.marker.color": { "params": { "plotly_name": "color", - "parent_name": "scattermap.marker", + "parent_name": "scattergl.marker", "array_ok": true, "edit_type": "calc", - "colorscale_path": "scattermap.marker.colorscale" + "colorscale_path": "scattergl.marker.colorscale" }, "superclass": "ColorValidator" }, - "scattermap.marker.cmin": { + "scattergl.marker.cmin": { "params": { "plotly_name": "cmin", - "parent_name": "scattermap.marker", + "parent_name": "scattergl.marker", "edit_type": "calc", "implied_edits": { "cauto": false @@ -56492,19 +51133,19 @@ }, "superclass": "NumberValidator" }, - "scattermap.marker.cmid": { + "scattergl.marker.cmid": { "params": { "plotly_name": "cmid", - "parent_name": "scattermap.marker", + "parent_name": "scattergl.marker", "edit_type": "calc", "implied_edits": {} }, "superclass": "NumberValidator" }, - "scattermap.marker.cmax": { + "scattergl.marker.cmax": { "params": { "plotly_name": "cmax", - "parent_name": "scattermap.marker", + "parent_name": "scattergl.marker", "edit_type": "calc", "implied_edits": { "cauto": false @@ -56512,138 +51153,137 @@ }, "superclass": "NumberValidator" }, - "scattermap.marker.cauto": { + "scattergl.marker.cauto": { "params": { "plotly_name": "cauto", - "parent_name": "scattermap.marker", + "parent_name": "scattergl.marker", "edit_type": "calc", "implied_edits": {} }, "superclass": "BooleanValidator" }, - "scattermap.marker.autocolorscale": { + "scattergl.marker.autocolorscale": { "params": { "plotly_name": "autocolorscale", - "parent_name": "scattermap.marker", + "parent_name": "scattergl.marker", "edit_type": "calc", "implied_edits": {} }, "superclass": "BooleanValidator" }, - "scattermap.marker.anglesrc": { - "params": { - "plotly_name": "anglesrc", - "parent_name": "scattermap.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.marker.angle": { + "scattergl.marker.angle": { "params": { "plotly_name": "angle", - "parent_name": "scattermap.marker", + "parent_name": "scattergl.marker", "array_ok": true, "edit_type": "calc" }, - "superclass": "NumberValidator" - }, - "scattermap.marker.allowoverlap": { - "params": { - "plotly_name": "allowoverlap", - "parent_name": "scattermap.marker", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scattermap.lonsrc": { - "params": { - "plotly_name": "lonsrc", - "parent_name": "scattermap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.lon": { - "params": { - "plotly_name": "lon", - "parent_name": "scattermap", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" + "superclass": "AngleValidator" }, - "scattermap.line": { + "scattergl.line": { "params": { "plotly_name": "line", - "parent_name": "scattermap", + "parent_name": "scattergl", "data_class_str": "Line", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermap.line.width": { + "scattergl.line.width": { "params": { "plotly_name": "width", - "parent_name": "scattermap.line", + "parent_name": "scattergl.line", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattermap.line.color": { + "scattergl.line.shape": { + "params": { + "plotly_name": "shape", + "parent_name": "scattergl.line", + "edit_type": "calc", + "values": [ + "linear", + "hv", + "vh", + "hvh", + "vhv" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattergl.line.dash": { + "params": { + "plotly_name": "dash", + "parent_name": "scattergl.line", + "edit_type": "calc", + "values": [ + "dash", + "dashdot", + "dot", + "longdash", + "longdashdot", + "solid" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattergl.line.color": { "params": { "plotly_name": "color", - "parent_name": "scattermap.line", + "parent_name": "scattergl.line", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattermap.legendwidth": { + "scattergl.legendwidth": { "params": { "plotly_name": "legendwidth", - "parent_name": "scattermap", + "parent_name": "scattergl", "edit_type": "style", "min": 0 }, "superclass": "NumberValidator" }, - "scattermap.legendrank": { + "scattergl.legendrank": { "params": { "plotly_name": "legendrank", - "parent_name": "scattermap", + "parent_name": "scattergl", "edit_type": "style" }, "superclass": "NumberValidator" }, - "scattermap.legendgrouptitle": { + "scattergl.legendgrouptitle": { "params": { "plotly_name": "legendgrouptitle", - "parent_name": "scattermap", + "parent_name": "scattergl", "data_class_str": "Legendgrouptitle", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermap.legendgrouptitle.text": { + "scattergl.legendgrouptitle.text": { "params": { "plotly_name": "text", - "parent_name": "scattermap.legendgrouptitle", + "parent_name": "scattergl.legendgrouptitle", "edit_type": "style" }, "superclass": "StringValidator" }, - "scattermap.legendgrouptitle.font": { + "scattergl.legendgrouptitle.font": { "params": { "plotly_name": "font", - "parent_name": "scattermap.legendgrouptitle", + "parent_name": "scattergl.legendgrouptitle", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermap.legendgrouptitle.font.weight": { + "scattergl.legendgrouptitle.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "scattermap.legendgrouptitle.font", + "parent_name": "scattergl.legendgrouptitle.font", "edit_type": "style", "extras": [ "normal", @@ -56654,10 +51294,10 @@ }, "superclass": "IntegerValidator" }, - "scattermap.legendgrouptitle.font.variant": { + "scattergl.legendgrouptitle.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "scattermap.legendgrouptitle.font", + "parent_name": "scattergl.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -56670,10 +51310,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattermap.legendgrouptitle.font.textcase": { + "scattergl.legendgrouptitle.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "scattermap.legendgrouptitle.font", + "parent_name": "scattergl.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -56684,10 +51324,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattermap.legendgrouptitle.font.style": { + "scattergl.legendgrouptitle.font.style": { "params": { "plotly_name": "style", - "parent_name": "scattermap.legendgrouptitle.font", + "parent_name": "scattergl.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -56696,27 +51336,27 @@ }, "superclass": "EnumeratedValidator" }, - "scattermap.legendgrouptitle.font.size": { + "scattergl.legendgrouptitle.font.size": { "params": { "plotly_name": "size", - "parent_name": "scattermap.legendgrouptitle.font", + "parent_name": "scattergl.legendgrouptitle.font", "edit_type": "style", "min": 1 }, "superclass": "NumberValidator" }, - "scattermap.legendgrouptitle.font.shadow": { + "scattergl.legendgrouptitle.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "scattermap.legendgrouptitle.font", + "parent_name": "scattergl.legendgrouptitle.font", "edit_type": "style" }, "superclass": "StringValidator" }, - "scattermap.legendgrouptitle.font.lineposition": { + "scattergl.legendgrouptitle.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "scattermap.legendgrouptitle.font", + "parent_name": "scattergl.legendgrouptitle.font", "edit_type": "style", "extras": [ "none" @@ -56729,171 +51369,115 @@ }, "superclass": "FlaglistValidator" }, - "scattermap.legendgrouptitle.font.family": { + "scattergl.legendgrouptitle.font.family": { "params": { "plotly_name": "family", - "parent_name": "scattermap.legendgrouptitle.font", + "parent_name": "scattergl.legendgrouptitle.font", "edit_type": "style", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "scattermap.legendgrouptitle.font.color": { + "scattergl.legendgrouptitle.font.color": { "params": { "plotly_name": "color", - "parent_name": "scattermap.legendgrouptitle.font", + "parent_name": "scattergl.legendgrouptitle.font", "edit_type": "style" }, "superclass": "ColorValidator" }, - "scattermap.legendgroup": { + "scattergl.legendgroup": { "params": { "plotly_name": "legendgroup", - "parent_name": "scattermap", + "parent_name": "scattergl", "edit_type": "style" }, "superclass": "StringValidator" }, - "scattermap.legend": { + "scattergl.legend": { "params": { "plotly_name": "legend", - "parent_name": "scattermap", + "parent_name": "scattergl", "dflt": "legend", "edit_type": "style" }, "superclass": "SubplotidValidator" }, - "scattermap.latsrc": { - "params": { - "plotly_name": "latsrc", - "parent_name": "scattermap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.lat": { - "params": { - "plotly_name": "lat", - "parent_name": "scattermap", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scattermap.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "scattermap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.ids": { + "scattergl.ids": { "params": { "plotly_name": "ids", - "parent_name": "scattermap", + "parent_name": "scattergl", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "scattermap.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "scattermap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.hovertext": { + "scattergl.hovertext": { "params": { "plotly_name": "hovertext", - "parent_name": "scattermap", + "parent_name": "scattergl", "array_ok": true, "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattermap.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "scattermap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.hovertemplatefallback": { + "scattergl.hovertemplatefallback": { "params": { "plotly_name": "hovertemplatefallback", - "parent_name": "scattermap", - "edit_type": "calc" + "parent_name": "scattergl", + "edit_type": "none" }, "superclass": "AnyValidator" }, - "scattermap.hovertemplate": { + "scattergl.hovertemplate": { "params": { "plotly_name": "hovertemplate", - "parent_name": "scattermap", + "parent_name": "scattergl", "array_ok": true, - "edit_type": "calc" + "edit_type": "none" }, "superclass": "StringValidator" }, - "scattermap.hoverlabel": { + "scattergl.hoverlabel": { "params": { "plotly_name": "hoverlabel", - "parent_name": "scattermap", + "parent_name": "scattergl", "data_class_str": "Hoverlabel", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermap.hoverlabel.showarrow": { + "scattergl.hoverlabel.showarrow": { "params": { "plotly_name": "showarrow", - "parent_name": "scattermap.hoverlabel", + "parent_name": "scattergl.hoverlabel", "edit_type": "none" }, "superclass": "BooleanValidator" }, - "scattermap.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "scattermap.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.hoverlabel.namelength": { + "scattergl.hoverlabel.namelength": { "params": { "plotly_name": "namelength", - "parent_name": "scattermap.hoverlabel", + "parent_name": "scattergl.hoverlabel", "array_ok": true, "edit_type": "none", "min": -1 }, "superclass": "IntegerValidator" }, - "scattermap.hoverlabel.font": { + "scattergl.hoverlabel.font": { "params": { "plotly_name": "font", - "parent_name": "scattermap.hoverlabel", + "parent_name": "scattergl.hoverlabel", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattermap.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "scattermap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.hoverlabel.font.weight": { + "scattergl.hoverlabel.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "scattermap.hoverlabel.font", + "parent_name": "scattergl.hoverlabel.font", "array_ok": true, "edit_type": "none", "extras": [ @@ -56905,18 +51489,10 @@ }, "superclass": "IntegerValidator" }, - "scattermap.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "scattermap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.hoverlabel.font.variant": { + "scattergl.hoverlabel.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "scattermap.hoverlabel.font", + "parent_name": "scattergl.hoverlabel.font", "array_ok": true, "edit_type": "none", "values": [ @@ -56930,18 +51506,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattermap.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "scattermap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.hoverlabel.font.textcase": { + "scattergl.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "scattermap.hoverlabel.font", + "parent_name": "scattergl.hoverlabel.font", "array_ok": true, "edit_type": "none", "values": [ @@ -56953,18 +51521,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattermap.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "scattermap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.hoverlabel.font.style": { + "scattergl.hoverlabel.font.style": { "params": { "plotly_name": "style", - "parent_name": "scattermap.hoverlabel.font", + "parent_name": "scattergl.hoverlabel.font", "array_ok": true, "edit_type": "none", "values": [ @@ -56974,53 +51534,29 @@ }, "superclass": "EnumeratedValidator" }, - "scattermap.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scattermap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.hoverlabel.font.size": { + "scattergl.hoverlabel.font.size": { "params": { "plotly_name": "size", - "parent_name": "scattermap.hoverlabel.font", + "parent_name": "scattergl.hoverlabel.font", "array_ok": true, "edit_type": "none", "min": 1 }, "superclass": "NumberValidator" }, - "scattermap.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "scattermap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.hoverlabel.font.shadow": { + "scattergl.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "scattermap.hoverlabel.font", + "parent_name": "scattergl.hoverlabel.font", "array_ok": true, "edit_type": "none" }, "superclass": "StringValidator" }, - "scattermap.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "scattermap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.hoverlabel.font.lineposition": { + "scattergl.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "scattermap.hoverlabel.font", + "parent_name": "scattergl.hoverlabel.font", "array_ok": true, "edit_type": "none", "extras": [ @@ -57034,18 +51570,10 @@ }, "superclass": "FlaglistValidator" }, - "scattermap.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "scattermap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.hoverlabel.font.family": { + "scattergl.hoverlabel.font.family": { "params": { "plotly_name": "family", - "parent_name": "scattermap.hoverlabel.font", + "parent_name": "scattergl.hoverlabel.font", "array_ok": true, "edit_type": "none", "no_blank": true, @@ -57053,69 +51581,37 @@ }, "superclass": "StringValidator" }, - "scattermap.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scattermap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.hoverlabel.font.color": { + "scattergl.hoverlabel.font.color": { "params": { "plotly_name": "color", - "parent_name": "scattermap.hoverlabel.font", + "parent_name": "scattergl.hoverlabel.font", "array_ok": true, "edit_type": "none" }, "superclass": "ColorValidator" }, - "scattermap.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "scattermap.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.hoverlabel.bordercolor": { + "scattergl.hoverlabel.bordercolor": { "params": { "plotly_name": "bordercolor", - "parent_name": "scattermap.hoverlabel", + "parent_name": "scattergl.hoverlabel", "array_ok": true, "edit_type": "none" }, "superclass": "ColorValidator" }, - "scattermap.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "scattermap.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.hoverlabel.bgcolor": { + "scattergl.hoverlabel.bgcolor": { "params": { "plotly_name": "bgcolor", - "parent_name": "scattermap.hoverlabel", + "parent_name": "scattergl.hoverlabel", "array_ok": true, "edit_type": "none" }, "superclass": "ColorValidator" }, - "scattermap.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "scattermap.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.hoverlabel.align": { + "scattergl.hoverlabel.align": { "params": { "plotly_name": "align", - "parent_name": "scattermap.hoverlabel", + "parent_name": "scattergl.hoverlabel", "array_ok": true, "edit_type": "none", "values": [ @@ -57126,390 +51622,339 @@ }, "superclass": "EnumeratedValidator" }, - "scattermap.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "scattermap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.hoverinfo": { + "scattergl.hoverinfo": { "params": { "plotly_name": "hoverinfo", - "parent_name": "scattermap", + "parent_name": "scattergl", "array_ok": true, - "edit_type": "calc", + "edit_type": "none", "extras": [ "all", "none", "skip" ], "flags": [ - "lon", - "lat", + "x", + "y", + "z", "text", "name" ] }, "superclass": "FlaglistValidator" }, - "scattermap.fillcolor": { + "scattergl.fillcolor": { "params": { "plotly_name": "fillcolor", - "parent_name": "scattermap", + "parent_name": "scattergl", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattermap.fill": { + "scattergl.fill": { "params": { "plotly_name": "fill", - "parent_name": "scattermap", + "parent_name": "scattergl", "edit_type": "calc", "values": [ "none", - "toself" + "tozeroy", + "tozerox", + "tonexty", + "tonextx", + "toself", + "tonext" ] }, "superclass": "EnumeratedValidator" }, - "scattermap.customdatasrc": { + "scattergl.error_y": { "params": { - "plotly_name": "customdatasrc", - "parent_name": "scattermap", - "edit_type": "none" + "plotly_name": "error_y", + "parent_name": "scattergl", + "data_class_str": "ErrorY", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "scattermap.customdata": { + "scattergl.error_y.width": { "params": { - "plotly_name": "customdata", - "parent_name": "scattermap", - "edit_type": "calc" + "plotly_name": "width", + "parent_name": "scattergl.error_y", + "edit_type": "calc", + "min": 0 }, - "superclass": "DataArrayValidator" + "superclass": "NumberValidator" }, - "scattermap.connectgaps": { + "scattergl.error_y.visible": { "params": { - "plotly_name": "connectgaps", - "parent_name": "scattermap", + "plotly_name": "visible", + "parent_name": "scattergl.error_y", "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "scattermap.cluster": { - "params": { - "plotly_name": "cluster", - "parent_name": "scattermap", - "data_class_str": "Cluster", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattermap.cluster.stepsrc": { + "scattergl.error_y.valueminus": { "params": { - "plotly_name": "stepsrc", - "parent_name": "scattermap.cluster", - "edit_type": "none" + "plotly_name": "valueminus", + "parent_name": "scattergl.error_y", + "edit_type": "calc", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "scattermap.cluster.step": { + "scattergl.error_y.value": { "params": { - "plotly_name": "step", - "parent_name": "scattermap.cluster", - "array_ok": true, + "plotly_name": "value", + "parent_name": "scattergl.error_y", "edit_type": "calc", - "min": -1 + "min": 0 }, "superclass": "NumberValidator" }, - "scattermap.cluster.sizesrc": { + "scattergl.error_y.type": { "params": { - "plotly_name": "sizesrc", - "parent_name": "scattermap.cluster", - "edit_type": "none" + "plotly_name": "type", + "parent_name": "scattergl.error_y", + "edit_type": "calc", + "values": [ + "percent", + "constant", + "sqrt", + "data" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "scattermap.cluster.size": { + "scattergl.error_y.tracerefminus": { "params": { - "plotly_name": "size", - "parent_name": "scattermap.cluster", - "array_ok": true, + "plotly_name": "tracerefminus", + "parent_name": "scattergl.error_y", "edit_type": "calc", "min": 0 }, - "superclass": "NumberValidator" - }, - "scattermap.cluster.opacitysrc": { - "params": { - "plotly_name": "opacitysrc", - "parent_name": "scattermap.cluster", - "edit_type": "none" - }, - "superclass": "SrcValidator" + "superclass": "IntegerValidator" }, - "scattermap.cluster.opacity": { + "scattergl.error_y.traceref": { "params": { - "plotly_name": "opacity", - "parent_name": "scattermap.cluster", - "array_ok": true, + "plotly_name": "traceref", + "parent_name": "scattergl.error_y", "edit_type": "calc", - "max": 1, "min": 0 }, - "superclass": "NumberValidator" + "superclass": "IntegerValidator" }, - "scattermap.cluster.maxzoom": { + "scattergl.error_y.thickness": { "params": { - "plotly_name": "maxzoom", - "parent_name": "scattermap.cluster", + "plotly_name": "thickness", + "parent_name": "scattergl.error_y", "edit_type": "calc", - "max": 24, "min": 0 }, "superclass": "NumberValidator" }, - "scattermap.cluster.enabled": { + "scattergl.error_y.symmetric": { "params": { - "plotly_name": "enabled", - "parent_name": "scattermap.cluster", + "plotly_name": "symmetric", + "parent_name": "scattergl.error_y", "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "scattermap.cluster.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scattermap.cluster", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattermap.cluster.color": { + "scattergl.error_y.color": { "params": { "plotly_name": "color", - "parent_name": "scattermap.cluster", - "array_ok": true, + "parent_name": "scattergl.error_y", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattermap.below": { + "scattergl.error_y.arrayminus": { "params": { - "plotly_name": "below", - "parent_name": "scattermap", + "plotly_name": "arrayminus", + "parent_name": "scattergl.error_y", "edit_type": "calc" }, - "superclass": "StringValidator" + "superclass": "DataArrayValidator" }, - "scattergl": { + "scattergl.error_y.array": { "params": { - "plotly_name": "scattergl", - "parent_name": "", - "data_class_str": "Scattergl", - "data_docs": "\n" + "plotly_name": "array", + "parent_name": "scattergl.error_y", + "edit_type": "calc" }, - "superclass": "CompoundValidator" + "superclass": "DataArrayValidator" }, - "scattergl.ysrc": { + "scattergl.error_x": { "params": { - "plotly_name": "ysrc", + "plotly_name": "error_x", "parent_name": "scattergl", - "edit_type": "none" + "data_class_str": "ErrorX", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "scattergl.yperiodalignment": { + "scattergl.error_x.width": { "params": { - "plotly_name": "yperiodalignment", - "parent_name": "scattergl", + "plotly_name": "width", + "parent_name": "scattergl.error_x", "edit_type": "calc", - "values": [ - "start", - "middle", - "end" - ] + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "scattergl.yperiod0": { + "scattergl.error_x.visible": { "params": { - "plotly_name": "yperiod0", - "parent_name": "scattergl", + "plotly_name": "visible", + "parent_name": "scattergl.error_x", "edit_type": "calc" }, - "superclass": "AnyValidator" + "superclass": "BooleanValidator" }, - "scattergl.yperiod": { + "scattergl.error_x.valueminus": { "params": { - "plotly_name": "yperiod", - "parent_name": "scattergl", - "edit_type": "calc" + "plotly_name": "valueminus", + "parent_name": "scattergl.error_x", + "edit_type": "calc", + "min": 0 }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "scattergl.yhoverformat": { + "scattergl.error_x.value": { "params": { - "plotly_name": "yhoverformat", - "parent_name": "scattergl", - "edit_type": "calc" + "plotly_name": "value", + "parent_name": "scattergl.error_x", + "edit_type": "calc", + "min": 0 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "scattergl.ycalendar": { + "scattergl.error_x.type": { "params": { - "plotly_name": "ycalendar", - "parent_name": "scattergl", + "plotly_name": "type", + "parent_name": "scattergl.error_x", "edit_type": "calc", "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" + "percent", + "constant", + "sqrt", + "data" ] }, "superclass": "EnumeratedValidator" }, - "scattergl.yaxis": { + "scattergl.error_x.tracerefminus": { "params": { - "plotly_name": "yaxis", - "parent_name": "scattergl", - "dflt": "y", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "tracerefminus", + "parent_name": "scattergl.error_x", + "edit_type": "calc", + "min": 0 }, - "superclass": "SubplotidValidator" + "superclass": "IntegerValidator" }, - "scattergl.y0": { + "scattergl.error_x.traceref": { "params": { - "plotly_name": "y0", - "parent_name": "scattergl", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "traceref", + "parent_name": "scattergl.error_x", + "edit_type": "calc", + "min": 0 }, - "superclass": "AnyValidator" + "superclass": "IntegerValidator" }, - "scattergl.y": { + "scattergl.error_x.thickness": { "params": { - "plotly_name": "y", - "parent_name": "scattergl", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "thickness", + "parent_name": "scattergl.error_x", + "edit_type": "calc", + "min": 0 }, - "superclass": "DataArrayValidator" + "superclass": "NumberValidator" }, - "scattergl.xsrc": { + "scattergl.error_x.symmetric": { "params": { - "plotly_name": "xsrc", - "parent_name": "scattergl", - "edit_type": "none" + "plotly_name": "symmetric", + "parent_name": "scattergl.error_x", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "scattergl.xperiodalignment": { + "scattergl.error_x.copy_ystyle": { "params": { - "plotly_name": "xperiodalignment", - "parent_name": "scattergl", - "edit_type": "calc", - "values": [ - "start", - "middle", - "end" - ] + "plotly_name": "copy_ystyle", + "parent_name": "scattergl.error_x", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "BooleanValidator" }, - "scattergl.xperiod0": { + "scattergl.error_x.color": { "params": { - "plotly_name": "xperiod0", - "parent_name": "scattergl", + "plotly_name": "color", + "parent_name": "scattergl.error_x", "edit_type": "calc" }, - "superclass": "AnyValidator" + "superclass": "ColorValidator" }, - "scattergl.xperiod": { + "scattergl.error_x.arrayminus": { "params": { - "plotly_name": "xperiod", - "parent_name": "scattergl", + "plotly_name": "arrayminus", + "parent_name": "scattergl.error_x", "edit_type": "calc" }, - "superclass": "AnyValidator" + "superclass": "DataArrayValidator" }, - "scattergl.xhoverformat": { + "scattergl.error_x.array": { "params": { - "plotly_name": "xhoverformat", - "parent_name": "scattergl", + "plotly_name": "array", + "parent_name": "scattergl.error_x", "edit_type": "calc" }, - "superclass": "StringValidator" + "superclass": "DataArrayValidator" }, - "scattergl.xcalendar": { + "scattergl.dy": { "params": { - "plotly_name": "xcalendar", + "plotly_name": "dy", "parent_name": "scattergl", - "edit_type": "calc", - "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" - ] + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "scattergl.xaxis": { + "scattergl.dx": { "params": { - "plotly_name": "xaxis", + "plotly_name": "dx", "parent_name": "scattergl", - "dflt": "x", - "edit_type": "calc+clearAxisTypes" + "edit_type": "calc" }, - "superclass": "SubplotidValidator" + "superclass": "NumberValidator" }, - "scattergl.x0": { + "scattergl.customdata": { "params": { - "plotly_name": "x0", + "plotly_name": "customdata", "parent_name": "scattergl", - "edit_type": "calc+clearAxisTypes" + "edit_type": "calc" }, - "superclass": "AnyValidator" + "superclass": "DataArrayValidator" }, - "scattergl.x": { + "scattergl.connectgaps": { "params": { - "plotly_name": "x", + "plotly_name": "connectgaps", "parent_name": "scattergl", - "edit_type": "calc+clearAxisTypes" + "edit_type": "calc" }, - "superclass": "DataArrayValidator" + "superclass": "BooleanValidator" }, - "scattergl.visible": { + "scattergeo": { + "params": { + "plotly_name": "scattergeo", + "parent_name": "", + "data_class_str": "Scattergeo", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "scattergeo.visible": { "params": { "plotly_name": "visible", - "parent_name": "scattergl", + "parent_name": "scattergeo", "edit_type": "calc", "values": [ true, @@ -57519,129 +51964,105 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.unselected": { + "scattergeo.unselected": { "params": { "plotly_name": "unselected", - "parent_name": "scattergl", + "parent_name": "scattergeo", "data_class_str": "Unselected", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattergl.unselected.textfont": { + "scattergeo.unselected.textfont": { "params": { "plotly_name": "textfont", - "parent_name": "scattergl.unselected", + "parent_name": "scattergeo.unselected", "data_class_str": "Textfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattergl.unselected.textfont.color": { + "scattergeo.unselected.textfont.color": { "params": { "plotly_name": "color", - "parent_name": "scattergl.unselected.textfont", + "parent_name": "scattergeo.unselected.textfont", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattergl.unselected.marker": { + "scattergeo.unselected.marker": { "params": { "plotly_name": "marker", - "parent_name": "scattergl.unselected", + "parent_name": "scattergeo.unselected", "data_class_str": "Marker", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattergl.unselected.marker.size": { + "scattergeo.unselected.marker.size": { "params": { "plotly_name": "size", - "parent_name": "scattergl.unselected.marker", + "parent_name": "scattergeo.unselected.marker", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattergl.unselected.marker.opacity": { + "scattergeo.unselected.marker.opacity": { "params": { "plotly_name": "opacity", - "parent_name": "scattergl.unselected.marker", + "parent_name": "scattergeo.unselected.marker", "edit_type": "calc", "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "scattergl.unselected.marker.color": { + "scattergeo.unselected.marker.color": { "params": { "plotly_name": "color", - "parent_name": "scattergl.unselected.marker", + "parent_name": "scattergeo.unselected.marker", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattergl.uirevision": { + "scattergeo.uirevision": { "params": { "plotly_name": "uirevision", - "parent_name": "scattergl", + "parent_name": "scattergeo", "edit_type": "none" }, "superclass": "AnyValidator" }, - "scattergl.uid": { + "scattergeo.uid": { "params": { "plotly_name": "uid", - "parent_name": "scattergl", + "parent_name": "scattergeo", "edit_type": "plot" }, "superclass": "StringValidator" }, - "scattergl.texttemplatesrc": { - "params": { - "plotly_name": "texttemplatesrc", - "parent_name": "scattergl", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.texttemplatefallback": { + "scattergeo.texttemplatefallback": { "params": { "plotly_name": "texttemplatefallback", - "parent_name": "scattergl", + "parent_name": "scattergeo", "edit_type": "calc" }, "superclass": "AnyValidator" }, - "scattergl.texttemplate": { + "scattergeo.texttemplate": { "params": { "plotly_name": "texttemplate", - "parent_name": "scattergl", + "parent_name": "scattergeo", "array_ok": true, "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattergl.textsrc": { - "params": { - "plotly_name": "textsrc", - "parent_name": "scattergl", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.textpositionsrc": { - "params": { - "plotly_name": "textpositionsrc", - "parent_name": "scattergl", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.textposition": { + "scattergeo.textposition": { "params": { "plotly_name": "textposition", - "parent_name": "scattergl", + "parent_name": "scattergeo", "array_ok": true, "edit_type": "calc", "values": [ @@ -57658,69 +52079,66 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.textfont": { + "scattergeo.textfont": { "params": { "plotly_name": "textfont", - "parent_name": "scattergl", + "parent_name": "scattergeo", "data_class_str": "Textfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattergl.textfont.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "scattergl.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.textfont.weight": { + "scattergeo.textfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "scattergl.textfont", + "parent_name": "scattergeo.textfont", "array_ok": true, "edit_type": "calc", - "values": [ + "extras": [ "normal", "bold" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergl.textfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "scattergl.textfont", - "edit_type": "none" + ], + "max": 1000, + "min": 1 }, - "superclass": "SrcValidator" + "superclass": "IntegerValidator" }, - "scattergl.textfont.variant": { + "scattergeo.textfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "scattergl.textfont", + "parent_name": "scattergeo.textfont", "array_ok": true, "edit_type": "calc", "values": [ "normal", - "small-caps" + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] }, "superclass": "EnumeratedValidator" }, - "scattergl.textfont.stylesrc": { + "scattergeo.textfont.textcase": { "params": { - "plotly_name": "stylesrc", - "parent_name": "scattergl.textfont", - "edit_type": "none" + "plotly_name": "textcase", + "parent_name": "scattergeo.textfont", + "array_ok": true, + "edit_type": "calc", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "scattergl.textfont.style": { + "scattergeo.textfont.style": { "params": { "plotly_name": "style", - "parent_name": "scattergl.textfont", + "parent_name": "scattergeo.textfont", "array_ok": true, "edit_type": "calc", "values": [ @@ -57730,36 +52148,46 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.textfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scattergl.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.textfont.size": { + "scattergeo.textfont.size": { "params": { "plotly_name": "size", - "parent_name": "scattergl.textfont", + "parent_name": "scattergeo.textfont", "array_ok": true, "edit_type": "calc", "min": 1 }, "superclass": "NumberValidator" }, - "scattergl.textfont.familysrc": { + "scattergeo.textfont.shadow": { "params": { - "plotly_name": "familysrc", - "parent_name": "scattergl.textfont", - "edit_type": "none" + "plotly_name": "shadow", + "parent_name": "scattergeo.textfont", + "array_ok": true, + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "scattergl.textfont.family": { + "scattergeo.textfont.lineposition": { + "params": { + "plotly_name": "lineposition", + "parent_name": "scattergeo.textfont", + "array_ok": true, + "edit_type": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] + }, + "superclass": "FlaglistValidator" + }, + "scattergeo.textfont.family": { "params": { "plotly_name": "family", - "parent_name": "scattergl.textfont", + "parent_name": "scattergeo.textfont", "array_ok": true, "edit_type": "calc", "no_blank": true, @@ -57767,161 +52195,124 @@ }, "superclass": "StringValidator" }, - "scattergl.textfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scattergl.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.textfont.color": { + "scattergeo.textfont.color": { "params": { "plotly_name": "color", - "parent_name": "scattergl.textfont", + "parent_name": "scattergeo.textfont", "array_ok": true, "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattergl.text": { + "scattergeo.text": { "params": { "plotly_name": "text", - "parent_name": "scattergl", + "parent_name": "scattergeo", "array_ok": true, "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattergl.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "scattergl", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattergl.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "scattergl.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scattergl.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "scattergl.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattergl.showlegend": { + "scattergeo.showlegend": { "params": { "plotly_name": "showlegend", - "parent_name": "scattergl", + "parent_name": "scattergeo", "edit_type": "style" }, "superclass": "BooleanValidator" }, - "scattergl.selectedpoints": { + "scattergeo.selectedpoints": { "params": { "plotly_name": "selectedpoints", - "parent_name": "scattergl", + "parent_name": "scattergeo", "edit_type": "calc" }, "superclass": "AnyValidator" }, - "scattergl.selected": { + "scattergeo.selected": { "params": { "plotly_name": "selected", - "parent_name": "scattergl", + "parent_name": "scattergeo", "data_class_str": "Selected", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattergl.selected.textfont": { + "scattergeo.selected.textfont": { "params": { "plotly_name": "textfont", - "parent_name": "scattergl.selected", + "parent_name": "scattergeo.selected", "data_class_str": "Textfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattergl.selected.textfont.color": { + "scattergeo.selected.textfont.color": { "params": { "plotly_name": "color", - "parent_name": "scattergl.selected.textfont", + "parent_name": "scattergeo.selected.textfont", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattergl.selected.marker": { + "scattergeo.selected.marker": { "params": { "plotly_name": "marker", - "parent_name": "scattergl.selected", + "parent_name": "scattergeo.selected", "data_class_str": "Marker", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattergl.selected.marker.size": { + "scattergeo.selected.marker.size": { "params": { "plotly_name": "size", - "parent_name": "scattergl.selected.marker", + "parent_name": "scattergeo.selected.marker", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattergl.selected.marker.opacity": { + "scattergeo.selected.marker.opacity": { "params": { "plotly_name": "opacity", - "parent_name": "scattergl.selected.marker", + "parent_name": "scattergeo.selected.marker", "edit_type": "calc", "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "scattergl.selected.marker.color": { + "scattergeo.selected.marker.color": { "params": { "plotly_name": "color", - "parent_name": "scattergl.selected.marker", + "parent_name": "scattergeo.selected.marker", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattergl.opacity": { + "scattergeo.opacity": { "params": { "plotly_name": "opacity", - "parent_name": "scattergl", - "edit_type": "calc", + "parent_name": "scattergeo", + "edit_type": "style", "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "scattergl.name": { + "scattergeo.name": { "params": { "plotly_name": "name", - "parent_name": "scattergl", + "parent_name": "scattergeo", "edit_type": "style" }, "superclass": "StringValidator" }, - "scattergl.mode": { + "scattergeo.mode": { "params": { "plotly_name": "mode", - "parent_name": "scattergl", + "parent_name": "scattergeo", "edit_type": "calc", "extras": [ "none" @@ -57934,44 +52325,28 @@ }, "superclass": "FlaglistValidator" }, - "scattergl.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "scattergl", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.meta": { + "scattergeo.meta": { "params": { "plotly_name": "meta", - "parent_name": "scattergl", + "parent_name": "scattergeo", "array_ok": true, "edit_type": "plot" }, "superclass": "AnyValidator" }, - "scattergl.marker": { + "scattergeo.marker": { "params": { "plotly_name": "marker", - "parent_name": "scattergl", + "parent_name": "scattergeo", "data_class_str": "Marker", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattergl.marker.symbolsrc": { - "params": { - "plotly_name": "symbolsrc", - "parent_name": "scattergl.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.marker.symbol": { + "scattergeo.marker.symbol": { "params": { "plotly_name": "symbol", - "parent_name": "scattergl.marker", + "parent_name": "scattergeo.marker", "array_ok": true, "edit_type": "calc", "values": [ @@ -58465,26 +52840,28 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.marker.sizesrc": { + "scattergeo.marker.standoff": { "params": { - "plotly_name": "sizesrc", - "parent_name": "scattergl.marker", - "edit_type": "none" + "plotly_name": "standoff", + "parent_name": "scattergeo.marker", + "array_ok": true, + "edit_type": "calc", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "scattergl.marker.sizeref": { + "scattergeo.marker.sizeref": { "params": { "plotly_name": "sizeref", - "parent_name": "scattergl.marker", + "parent_name": "scattergeo.marker", "edit_type": "calc" }, "superclass": "NumberValidator" }, - "scattergl.marker.sizemode": { + "scattergeo.marker.sizemode": { "params": { "plotly_name": "sizemode", - "parent_name": "scattergl.marker", + "parent_name": "scattergeo.marker", "edit_type": "calc", "values": [ "diameter", @@ -58493,53 +52870,45 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.marker.sizemin": { + "scattergeo.marker.sizemin": { "params": { "plotly_name": "sizemin", - "parent_name": "scattergl.marker", + "parent_name": "scattergeo.marker", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattergl.marker.size": { + "scattergeo.marker.size": { "params": { "plotly_name": "size", - "parent_name": "scattergl.marker", + "parent_name": "scattergeo.marker", "array_ok": true, "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattergl.marker.showscale": { + "scattergeo.marker.showscale": { "params": { "plotly_name": "showscale", - "parent_name": "scattergl.marker", + "parent_name": "scattergeo.marker", "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "scattergl.marker.reversescale": { + "scattergeo.marker.reversescale": { "params": { "plotly_name": "reversescale", - "parent_name": "scattergl.marker", + "parent_name": "scattergeo.marker", "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "scattergl.marker.opacitysrc": { - "params": { - "plotly_name": "opacitysrc", - "parent_name": "scattergl.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.marker.opacity": { + "scattergeo.marker.opacity": { "params": { "plotly_name": "opacity", - "parent_name": "scattergl.marker", + "parent_name": "scattergeo.marker", "array_ok": true, "edit_type": "calc", "max": 1, @@ -58547,53 +52916,54 @@ }, "superclass": "NumberValidator" }, - "scattergl.marker.line": { + "scattergeo.marker.line": { "params": { "plotly_name": "line", - "parent_name": "scattergl.marker", + "parent_name": "scattergeo.marker", "data_class_str": "Line", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattergl.marker.line.widthsrc": { - "params": { - "plotly_name": "widthsrc", - "parent_name": "scattergl.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.marker.line.width": { + "scattergeo.marker.line.width": { "params": { "plotly_name": "width", - "parent_name": "scattergl.marker.line", + "parent_name": "scattergeo.marker.line", "array_ok": true, "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattergl.marker.line.reversescale": { + "scattergeo.marker.line.reversescale": { "params": { "plotly_name": "reversescale", - "parent_name": "scattergl.marker.line", + "parent_name": "scattergeo.marker.line", "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "scattergl.marker.line.colorsrc": { + "scattergeo.marker.line.dash": { "params": { - "plotly_name": "colorsrc", - "parent_name": "scattergl.marker.line", - "edit_type": "none" + "plotly_name": "dash", + "parent_name": "scattergeo.marker.line", + "array_ok": true, + "edit_type": "calc", + "values": [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" + ] }, - "superclass": "SrcValidator" + "superclass": "DashValidator" }, - "scattergl.marker.line.colorscale": { + "scattergeo.marker.line.colorscale": { "params": { "plotly_name": "colorscale", - "parent_name": "scattergl.marker.line", + "parent_name": "scattergeo.marker.line", "edit_type": "calc", "implied_edits": { "autocolorscale": false @@ -58601,30 +52971,30 @@ }, "superclass": "ColorscaleValidator" }, - "scattergl.marker.line.coloraxis": { + "scattergeo.marker.line.coloraxis": { "params": { "plotly_name": "coloraxis", - "parent_name": "scattergl.marker.line", + "parent_name": "scattergeo.marker.line", "dflt": null, "edit_type": "calc", "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" }, "superclass": "SubplotidValidator" }, - "scattergl.marker.line.color": { + "scattergeo.marker.line.color": { "params": { "plotly_name": "color", - "parent_name": "scattergl.marker.line", + "parent_name": "scattergeo.marker.line", "array_ok": true, "edit_type": "calc", - "colorscale_path": "scattergl.marker.line.colorscale" + "colorscale_path": "scattergeo.marker.line.colorscale" }, "superclass": "ColorValidator" }, - "scattergl.marker.line.cmin": { + "scattergeo.marker.line.cmin": { "params": { "plotly_name": "cmin", - "parent_name": "scattergl.marker.line", + "parent_name": "scattergeo.marker.line", "edit_type": "calc", "implied_edits": { "cauto": false @@ -58632,19 +53002,19 @@ }, "superclass": "NumberValidator" }, - "scattergl.marker.line.cmid": { + "scattergeo.marker.line.cmid": { "params": { "plotly_name": "cmid", - "parent_name": "scattergl.marker.line", + "parent_name": "scattergeo.marker.line", "edit_type": "calc", "implied_edits": {} }, "superclass": "NumberValidator" }, - "scattergl.marker.line.cmax": { + "scattergeo.marker.line.cmax": { "params": { "plotly_name": "cmax", - "parent_name": "scattergl.marker.line", + "parent_name": "scattergeo.marker.line", "edit_type": "calc", "implied_edits": { "cauto": false @@ -58652,36 +53022,61 @@ }, "superclass": "NumberValidator" }, - "scattergl.marker.line.cauto": { + "scattergeo.marker.line.cauto": { "params": { "plotly_name": "cauto", - "parent_name": "scattergl.marker.line", + "parent_name": "scattergeo.marker.line", "edit_type": "calc", "implied_edits": {} }, "superclass": "BooleanValidator" }, - "scattergl.marker.line.autocolorscale": { + "scattergeo.marker.line.autocolorscale": { "params": { "plotly_name": "autocolorscale", - "parent_name": "scattergl.marker.line", + "parent_name": "scattergeo.marker.line", "edit_type": "calc", "implied_edits": {} }, "superclass": "BooleanValidator" }, - "scattergl.marker.colorsrc": { + "scattergeo.marker.gradient": { "params": { - "plotly_name": "colorsrc", - "parent_name": "scattergl.marker", - "edit_type": "none" + "plotly_name": "gradient", + "parent_name": "scattergeo.marker", + "data_class_str": "Gradient", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "scattergl.marker.colorscale": { + "scattergeo.marker.gradient.type": { + "params": { + "plotly_name": "type", + "parent_name": "scattergeo.marker.gradient", + "array_ok": true, + "edit_type": "calc", + "values": [ + "radial", + "horizontal", + "vertical", + "none" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattergeo.marker.gradient.color": { + "params": { + "plotly_name": "color", + "parent_name": "scattergeo.marker.gradient", + "array_ok": true, + "edit_type": "calc" + }, + "superclass": "ColorValidator" + }, + "scattergeo.marker.colorscale": { "params": { "plotly_name": "colorscale", - "parent_name": "scattergl.marker", + "parent_name": "scattergeo.marker", "edit_type": "calc", "implied_edits": { "autocolorscale": false @@ -58689,19 +53084,19 @@ }, "superclass": "ColorscaleValidator" }, - "scattergl.marker.colorbar": { + "scattergeo.marker.colorbar": { "params": { "plotly_name": "colorbar", - "parent_name": "scattergl.marker", + "parent_name": "scattergeo.marker", "data_class_str": "ColorBar", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattergl.marker.colorbar.yref": { + "scattergeo.marker.colorbar.yref": { "params": { "plotly_name": "yref", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "values": [ "container", @@ -58710,19 +53105,19 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.marker.colorbar.ypad": { + "scattergeo.marker.colorbar.ypad": { "params": { "plotly_name": "ypad", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattergl.marker.colorbar.yanchor": { + "scattergeo.marker.colorbar.yanchor": { "params": { "plotly_name": "yanchor", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "values": [ "top", @@ -58732,18 +53127,18 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.marker.colorbar.y": { + "scattergeo.marker.colorbar.y": { "params": { "plotly_name": "y", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc" }, "superclass": "NumberValidator" }, - "scattergl.marker.colorbar.xref": { + "scattergeo.marker.colorbar.xref": { "params": { "plotly_name": "xref", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "values": [ "container", @@ -58752,19 +53147,19 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.marker.colorbar.xpad": { + "scattergeo.marker.colorbar.xpad": { "params": { "plotly_name": "xpad", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattergl.marker.colorbar.xanchor": { + "scattergeo.marker.colorbar.xanchor": { "params": { "plotly_name": "xanchor", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "values": [ "left", @@ -58774,35 +53169,35 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.marker.colorbar.x": { + "scattergeo.marker.colorbar.x": { "params": { "plotly_name": "x", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc" }, "superclass": "NumberValidator" }, - "scattergl.marker.colorbar.title": { + "scattergeo.marker.colorbar.title": { "params": { "plotly_name": "title", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "data_class_str": "Title", "data_docs": "\n" }, "superclass": "TitleValidator" }, - "scattergl.marker.colorbar.title.text": { + "scattergeo.marker.colorbar.title.text": { "params": { "plotly_name": "text", - "parent_name": "scattergl.marker.colorbar.title", + "parent_name": "scattergeo.marker.colorbar.title", "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattergl.marker.colorbar.title.side": { + "scattergeo.marker.colorbar.title.side": { "params": { "plotly_name": "side", - "parent_name": "scattergl.marker.colorbar.title", + "parent_name": "scattergeo.marker.colorbar.title", "edit_type": "calc", "values": [ "right", @@ -58812,19 +53207,19 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.marker.colorbar.title.font": { + "scattergeo.marker.colorbar.title.font": { "params": { "plotly_name": "font", - "parent_name": "scattergl.marker.colorbar.title", + "parent_name": "scattergeo.marker.colorbar.title", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattergl.marker.colorbar.title.font.weight": { + "scattergeo.marker.colorbar.title.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "scattergl.marker.colorbar.title.font", + "parent_name": "scattergeo.marker.colorbar.title.font", "edit_type": "calc", "extras": [ "normal", @@ -58835,10 +53230,10 @@ }, "superclass": "IntegerValidator" }, - "scattergl.marker.colorbar.title.font.variant": { + "scattergeo.marker.colorbar.title.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "scattergl.marker.colorbar.title.font", + "parent_name": "scattergeo.marker.colorbar.title.font", "edit_type": "calc", "values": [ "normal", @@ -58851,10 +53246,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.marker.colorbar.title.font.textcase": { + "scattergeo.marker.colorbar.title.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "scattergl.marker.colorbar.title.font", + "parent_name": "scattergeo.marker.colorbar.title.font", "edit_type": "calc", "values": [ "normal", @@ -58865,10 +53260,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.marker.colorbar.title.font.style": { + "scattergeo.marker.colorbar.title.font.style": { "params": { "plotly_name": "style", - "parent_name": "scattergl.marker.colorbar.title.font", + "parent_name": "scattergeo.marker.colorbar.title.font", "edit_type": "calc", "values": [ "normal", @@ -58877,27 +53272,27 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.marker.colorbar.title.font.size": { + "scattergeo.marker.colorbar.title.font.size": { "params": { "plotly_name": "size", - "parent_name": "scattergl.marker.colorbar.title.font", + "parent_name": "scattergeo.marker.colorbar.title.font", "edit_type": "calc", "min": 1 }, "superclass": "NumberValidator" }, - "scattergl.marker.colorbar.title.font.shadow": { + "scattergeo.marker.colorbar.title.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "scattergl.marker.colorbar.title.font", + "parent_name": "scattergeo.marker.colorbar.title.font", "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattergl.marker.colorbar.title.font.lineposition": { + "scattergeo.marker.colorbar.title.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "scattergl.marker.colorbar.title.font", + "parent_name": "scattergeo.marker.colorbar.title.font", "edit_type": "calc", "extras": [ "none" @@ -58910,77 +53305,61 @@ }, "superclass": "FlaglistValidator" }, - "scattergl.marker.colorbar.title.font.family": { + "scattergeo.marker.colorbar.title.font.family": { "params": { "plotly_name": "family", - "parent_name": "scattergl.marker.colorbar.title.font", + "parent_name": "scattergeo.marker.colorbar.title.font", "edit_type": "calc", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "scattergl.marker.colorbar.title.font.color": { + "scattergeo.marker.colorbar.title.font.color": { "params": { "plotly_name": "color", - "parent_name": "scattergl.marker.colorbar.title.font", + "parent_name": "scattergeo.marker.colorbar.title.font", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattergl.marker.colorbar.tickwidth": { + "scattergeo.marker.colorbar.tickwidth": { "params": { "plotly_name": "tickwidth", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattergl.marker.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "scattergl.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.marker.colorbar.tickvals": { + "scattergeo.marker.colorbar.tickvals": { "params": { "plotly_name": "tickvals", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "scattergl.marker.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "scattergl.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.marker.colorbar.ticktext": { + "scattergeo.marker.colorbar.ticktext": { "params": { "plotly_name": "ticktext", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "scattergl.marker.colorbar.ticksuffix": { + "scattergeo.marker.colorbar.ticksuffix": { "params": { "plotly_name": "ticksuffix", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattergl.marker.colorbar.ticks": { + "scattergeo.marker.colorbar.ticks": { "params": { "plotly_name": "ticks", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "values": [ "outside", @@ -58990,18 +53369,18 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.marker.colorbar.tickprefix": { + "scattergeo.marker.colorbar.tickprefix": { "params": { "plotly_name": "tickprefix", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattergl.marker.colorbar.tickmode": { + "scattergeo.marker.colorbar.tickmode": { "params": { "plotly_name": "tickmode", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "implied_edits": {}, "values": [ @@ -59012,28 +53391,28 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.marker.colorbar.ticklen": { + "scattergeo.marker.colorbar.ticklen": { "params": { "plotly_name": "ticklen", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattergl.marker.colorbar.ticklabelstep": { + "scattergeo.marker.colorbar.ticklabelstep": { "params": { "plotly_name": "ticklabelstep", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "min": 1 }, "superclass": "IntegerValidator" }, - "scattergl.marker.colorbar.ticklabelposition": { + "scattergeo.marker.colorbar.ticklabelposition": { "params": { "plotly_name": "ticklabelposition", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "values": [ "outside", @@ -59050,10 +53429,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.marker.colorbar.ticklabeloverflow": { + "scattergeo.marker.colorbar.ticklabeloverflow": { "params": { "plotly_name": "ticklabeloverflow", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "values": [ "allow", @@ -59063,60 +53442,60 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.marker.colorbar.tickformatstopdefaults": { + "scattergeo.marker.colorbar.tickformatstopdefaults": { "params": { "plotly_name": "tickformatstopdefaults", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "data_class_str": "Tickformatstop", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattergl.marker.colorbar.tickformatstops": { + "scattergeo.marker.colorbar.tickformatstops": { "params": { "plotly_name": "tickformatstops", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "data_class_str": "Tickformatstop", "data_docs": "\n" }, "superclass": "CompoundArrayValidator" }, - "scattergl.marker.colorbar.tickformatstop.value": { + "scattergeo.marker.colorbar.tickformatstop.value": { "params": { "plotly_name": "value", - "parent_name": "scattergl.marker.colorbar.tickformatstop", + "parent_name": "scattergeo.marker.colorbar.tickformatstop", "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattergl.marker.colorbar.tickformatstop.templateitemname": { + "scattergeo.marker.colorbar.tickformatstop.templateitemname": { "params": { "plotly_name": "templateitemname", - "parent_name": "scattergl.marker.colorbar.tickformatstop", + "parent_name": "scattergeo.marker.colorbar.tickformatstop", "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattergl.marker.colorbar.tickformatstop.name": { + "scattergeo.marker.colorbar.tickformatstop.name": { "params": { "plotly_name": "name", - "parent_name": "scattergl.marker.colorbar.tickformatstop", + "parent_name": "scattergeo.marker.colorbar.tickformatstop", "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattergl.marker.colorbar.tickformatstop.enabled": { + "scattergeo.marker.colorbar.tickformatstop.enabled": { "params": { "plotly_name": "enabled", - "parent_name": "scattergl.marker.colorbar.tickformatstop", + "parent_name": "scattergeo.marker.colorbar.tickformatstop", "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "scattergl.marker.colorbar.tickformatstop.dtickrange": { + "scattergeo.marker.colorbar.tickformatstop.dtickrange": { "params": { "plotly_name": "dtickrange", - "parent_name": "scattergl.marker.colorbar.tickformatstop", + "parent_name": "scattergeo.marker.colorbar.tickformatstop", "edit_type": "calc", "items": [ { @@ -59131,27 +53510,27 @@ }, "superclass": "InfoArrayValidator" }, - "scattergl.marker.colorbar.tickformat": { + "scattergeo.marker.colorbar.tickformat": { "params": { "plotly_name": "tickformat", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattergl.marker.colorbar.tickfont": { + "scattergeo.marker.colorbar.tickfont": { "params": { "plotly_name": "tickfont", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "data_class_str": "Tickfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattergl.marker.colorbar.tickfont.weight": { + "scattergeo.marker.colorbar.tickfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "scattergl.marker.colorbar.tickfont", + "parent_name": "scattergeo.marker.colorbar.tickfont", "edit_type": "calc", "extras": [ "normal", @@ -59162,10 +53541,10 @@ }, "superclass": "IntegerValidator" }, - "scattergl.marker.colorbar.tickfont.variant": { + "scattergeo.marker.colorbar.tickfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "scattergl.marker.colorbar.tickfont", + "parent_name": "scattergeo.marker.colorbar.tickfont", "edit_type": "calc", "values": [ "normal", @@ -59178,10 +53557,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.marker.colorbar.tickfont.textcase": { + "scattergeo.marker.colorbar.tickfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "scattergl.marker.colorbar.tickfont", + "parent_name": "scattergeo.marker.colorbar.tickfont", "edit_type": "calc", "values": [ "normal", @@ -59192,10 +53571,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.marker.colorbar.tickfont.style": { + "scattergeo.marker.colorbar.tickfont.style": { "params": { "plotly_name": "style", - "parent_name": "scattergl.marker.colorbar.tickfont", + "parent_name": "scattergeo.marker.colorbar.tickfont", "edit_type": "calc", "values": [ "normal", @@ -59204,27 +53583,27 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.marker.colorbar.tickfont.size": { + "scattergeo.marker.colorbar.tickfont.size": { "params": { "plotly_name": "size", - "parent_name": "scattergl.marker.colorbar.tickfont", + "parent_name": "scattergeo.marker.colorbar.tickfont", "edit_type": "calc", "min": 1 }, "superclass": "NumberValidator" }, - "scattergl.marker.colorbar.tickfont.shadow": { + "scattergeo.marker.colorbar.tickfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "scattergl.marker.colorbar.tickfont", + "parent_name": "scattergeo.marker.colorbar.tickfont", "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattergl.marker.colorbar.tickfont.lineposition": { + "scattergeo.marker.colorbar.tickfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "scattergl.marker.colorbar.tickfont", + "parent_name": "scattergeo.marker.colorbar.tickfont", "edit_type": "calc", "extras": [ "none" @@ -59237,44 +53616,44 @@ }, "superclass": "FlaglistValidator" }, - "scattergl.marker.colorbar.tickfont.family": { + "scattergeo.marker.colorbar.tickfont.family": { "params": { "plotly_name": "family", - "parent_name": "scattergl.marker.colorbar.tickfont", + "parent_name": "scattergeo.marker.colorbar.tickfont", "edit_type": "calc", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "scattergl.marker.colorbar.tickfont.color": { + "scattergeo.marker.colorbar.tickfont.color": { "params": { "plotly_name": "color", - "parent_name": "scattergl.marker.colorbar.tickfont", + "parent_name": "scattergeo.marker.colorbar.tickfont", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattergl.marker.colorbar.tickcolor": { + "scattergeo.marker.colorbar.tickcolor": { "params": { "plotly_name": "tickcolor", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattergl.marker.colorbar.tickangle": { + "scattergeo.marker.colorbar.tickangle": { "params": { "plotly_name": "tickangle", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc" }, "superclass": "AngleValidator" }, - "scattergl.marker.colorbar.tick0": { + "scattergeo.marker.colorbar.tick0": { "params": { "plotly_name": "tick0", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "implied_edits": { "tickmode": "linear" @@ -59282,10 +53661,10 @@ }, "superclass": "AnyValidator" }, - "scattergl.marker.colorbar.thicknessmode": { + "scattergeo.marker.colorbar.thicknessmode": { "params": { "plotly_name": "thicknessmode", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "values": [ "fraction", @@ -59294,19 +53673,19 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.marker.colorbar.thickness": { + "scattergeo.marker.colorbar.thickness": { "params": { "plotly_name": "thickness", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattergl.marker.colorbar.showticksuffix": { + "scattergeo.marker.colorbar.showticksuffix": { "params": { "plotly_name": "showticksuffix", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "values": [ "all", @@ -59317,10 +53696,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.marker.colorbar.showtickprefix": { + "scattergeo.marker.colorbar.showtickprefix": { "params": { "plotly_name": "showtickprefix", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "values": [ "all", @@ -59331,18 +53710,18 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.marker.colorbar.showticklabels": { + "scattergeo.marker.colorbar.showticklabels": { "params": { "plotly_name": "showticklabels", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "scattergl.marker.colorbar.showexponent": { + "scattergeo.marker.colorbar.showexponent": { "params": { "plotly_name": "showexponent", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "values": [ "all", @@ -59353,35 +53732,35 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.marker.colorbar.separatethousands": { + "scattergeo.marker.colorbar.separatethousands": { "params": { "plotly_name": "separatethousands", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "scattergl.marker.colorbar.outlinewidth": { + "scattergeo.marker.colorbar.outlinewidth": { "params": { "plotly_name": "outlinewidth", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattergl.marker.colorbar.outlinecolor": { + "scattergeo.marker.colorbar.outlinecolor": { "params": { "plotly_name": "outlinecolor", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattergl.marker.colorbar.orientation": { + "scattergeo.marker.colorbar.orientation": { "params": { "plotly_name": "orientation", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "values": [ "h", @@ -59390,28 +53769,28 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.marker.colorbar.nticks": { + "scattergeo.marker.colorbar.nticks": { "params": { "plotly_name": "nticks", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "IntegerValidator" }, - "scattergl.marker.colorbar.minexponent": { + "scattergeo.marker.colorbar.minexponent": { "params": { "plotly_name": "minexponent", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattergl.marker.colorbar.lenmode": { + "scattergeo.marker.colorbar.lenmode": { "params": { "plotly_name": "lenmode", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "values": [ "fraction", @@ -59420,27 +53799,27 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.marker.colorbar.len": { + "scattergeo.marker.colorbar.len": { "params": { "plotly_name": "len", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattergl.marker.colorbar.labelalias": { + "scattergeo.marker.colorbar.labelalias": { "params": { "plotly_name": "labelalias", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc" }, "superclass": "AnyValidator" }, - "scattergl.marker.colorbar.exponentformat": { + "scattergeo.marker.colorbar.exponentformat": { "params": { "plotly_name": "exponentformat", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "values": [ "none", @@ -59454,10 +53833,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.marker.colorbar.dtick": { + "scattergeo.marker.colorbar.dtick": { "params": { "plotly_name": "dtick", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "implied_edits": { "tickmode": "linear" @@ -59465,55 +53844,55 @@ }, "superclass": "AnyValidator" }, - "scattergl.marker.colorbar.borderwidth": { + "scattergeo.marker.colorbar.borderwidth": { "params": { "plotly_name": "borderwidth", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattergl.marker.colorbar.bordercolor": { + "scattergeo.marker.colorbar.bordercolor": { "params": { "plotly_name": "bordercolor", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattergl.marker.colorbar.bgcolor": { + "scattergeo.marker.colorbar.bgcolor": { "params": { "plotly_name": "bgcolor", - "parent_name": "scattergl.marker.colorbar", + "parent_name": "scattergeo.marker.colorbar", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattergl.marker.coloraxis": { + "scattergeo.marker.coloraxis": { "params": { "plotly_name": "coloraxis", - "parent_name": "scattergl.marker", + "parent_name": "scattergeo.marker", "dflt": null, "edit_type": "calc", "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" }, "superclass": "SubplotidValidator" }, - "scattergl.marker.color": { + "scattergeo.marker.color": { "params": { "plotly_name": "color", - "parent_name": "scattergl.marker", + "parent_name": "scattergeo.marker", "array_ok": true, "edit_type": "calc", - "colorscale_path": "scattergl.marker.colorscale" + "colorscale_path": "scattergeo.marker.colorscale" }, "superclass": "ColorValidator" }, - "scattergl.marker.cmin": { + "scattergeo.marker.cmin": { "params": { "plotly_name": "cmin", - "parent_name": "scattergl.marker", + "parent_name": "scattergeo.marker", "edit_type": "calc", "implied_edits": { "cauto": false @@ -59521,19 +53900,19 @@ }, "superclass": "NumberValidator" }, - "scattergl.marker.cmid": { + "scattergeo.marker.cmid": { "params": { "plotly_name": "cmid", - "parent_name": "scattergl.marker", + "parent_name": "scattergeo.marker", "edit_type": "calc", "implied_edits": {} }, "superclass": "NumberValidator" }, - "scattergl.marker.cmax": { + "scattergeo.marker.cmax": { "params": { "plotly_name": "cmax", - "parent_name": "scattergl.marker", + "parent_name": "scattergeo.marker", "edit_type": "calc", "implied_edits": { "cauto": false @@ -59541,145 +53920,165 @@ }, "superclass": "NumberValidator" }, - "scattergl.marker.cauto": { + "scattergeo.marker.cauto": { "params": { "plotly_name": "cauto", - "parent_name": "scattergl.marker", + "parent_name": "scattergeo.marker", "edit_type": "calc", "implied_edits": {} }, "superclass": "BooleanValidator" }, - "scattergl.marker.autocolorscale": { + "scattergeo.marker.autocolorscale": { "params": { "plotly_name": "autocolorscale", - "parent_name": "scattergl.marker", + "parent_name": "scattergeo.marker", "edit_type": "calc", "implied_edits": {} }, "superclass": "BooleanValidator" }, - "scattergl.marker.anglesrc": { + "scattergeo.marker.angleref": { "params": { - "plotly_name": "anglesrc", - "parent_name": "scattergl.marker", - "edit_type": "none" + "plotly_name": "angleref", + "parent_name": "scattergeo.marker", + "edit_type": "calc", + "values": [ + "previous", + "up", + "north" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "scattergl.marker.angle": { + "scattergeo.marker.angle": { "params": { "plotly_name": "angle", - "parent_name": "scattergl.marker", + "parent_name": "scattergeo.marker", "array_ok": true, "edit_type": "calc" }, "superclass": "AngleValidator" }, - "scattergl.line": { + "scattergeo.lon": { "params": { - "plotly_name": "line", - "parent_name": "scattergl", - "data_class_str": "Line", - "data_docs": "\n" + "plotly_name": "lon", + "parent_name": "scattergeo", + "edit_type": "calc" }, - "superclass": "CompoundValidator" + "superclass": "DataArrayValidator" }, - "scattergl.line.width": { + "scattergeo.locations": { "params": { - "plotly_name": "width", - "parent_name": "scattergl.line", - "edit_type": "calc", - "min": 0 + "plotly_name": "locations", + "parent_name": "scattergeo", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "scattergl.line.shape": { + "scattergeo.locationmode": { "params": { - "plotly_name": "shape", - "parent_name": "scattergl.line", + "plotly_name": "locationmode", + "parent_name": "scattergeo", "edit_type": "calc", "values": [ - "linear", - "hv", - "vh", - "hvh", - "vhv" + "ISO-3", + "USA-states", + "country names", + "geojson-id" ] }, "superclass": "EnumeratedValidator" }, - "scattergl.line.dash": { + "scattergeo.line": { + "params": { + "plotly_name": "line", + "parent_name": "scattergeo", + "data_class_str": "Line", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "scattergeo.line.width": { + "params": { + "plotly_name": "width", + "parent_name": "scattergeo.line", + "edit_type": "calc", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "scattergeo.line.dash": { "params": { "plotly_name": "dash", - "parent_name": "scattergl.line", + "parent_name": "scattergeo.line", "edit_type": "calc", "values": [ - "dash", - "dashdot", + "solid", "dot", + "dash", "longdash", - "longdashdot", - "solid" + "dashdot", + "longdashdot" ] }, - "superclass": "EnumeratedValidator" + "superclass": "DashValidator" }, - "scattergl.line.color": { + "scattergeo.line.color": { "params": { "plotly_name": "color", - "parent_name": "scattergl.line", + "parent_name": "scattergeo.line", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattergl.legendwidth": { + "scattergeo.legendwidth": { "params": { "plotly_name": "legendwidth", - "parent_name": "scattergl", + "parent_name": "scattergeo", "edit_type": "style", "min": 0 }, "superclass": "NumberValidator" }, - "scattergl.legendrank": { + "scattergeo.legendrank": { "params": { "plotly_name": "legendrank", - "parent_name": "scattergl", + "parent_name": "scattergeo", "edit_type": "style" }, "superclass": "NumberValidator" }, - "scattergl.legendgrouptitle": { + "scattergeo.legendgrouptitle": { "params": { "plotly_name": "legendgrouptitle", - "parent_name": "scattergl", + "parent_name": "scattergeo", "data_class_str": "Legendgrouptitle", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattergl.legendgrouptitle.text": { + "scattergeo.legendgrouptitle.text": { "params": { "plotly_name": "text", - "parent_name": "scattergl.legendgrouptitle", + "parent_name": "scattergeo.legendgrouptitle", "edit_type": "style" }, "superclass": "StringValidator" }, - "scattergl.legendgrouptitle.font": { + "scattergeo.legendgrouptitle.font": { "params": { "plotly_name": "font", - "parent_name": "scattergl.legendgrouptitle", + "parent_name": "scattergeo.legendgrouptitle", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattergl.legendgrouptitle.font.weight": { + "scattergeo.legendgrouptitle.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "scattergl.legendgrouptitle.font", + "parent_name": "scattergeo.legendgrouptitle.font", "edit_type": "style", "extras": [ "normal", @@ -59690,10 +54089,10 @@ }, "superclass": "IntegerValidator" }, - "scattergl.legendgrouptitle.font.variant": { + "scattergeo.legendgrouptitle.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "scattergl.legendgrouptitle.font", + "parent_name": "scattergeo.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -59706,10 +54105,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.legendgrouptitle.font.textcase": { + "scattergeo.legendgrouptitle.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "scattergl.legendgrouptitle.font", + "parent_name": "scattergeo.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -59720,10 +54119,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.legendgrouptitle.font.style": { + "scattergeo.legendgrouptitle.font.style": { "params": { "plotly_name": "style", - "parent_name": "scattergl.legendgrouptitle.font", + "parent_name": "scattergeo.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -59732,27 +54131,27 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.legendgrouptitle.font.size": { + "scattergeo.legendgrouptitle.font.size": { "params": { "plotly_name": "size", - "parent_name": "scattergl.legendgrouptitle.font", + "parent_name": "scattergeo.legendgrouptitle.font", "edit_type": "style", "min": 1 }, "superclass": "NumberValidator" }, - "scattergl.legendgrouptitle.font.shadow": { + "scattergeo.legendgrouptitle.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "scattergl.legendgrouptitle.font", + "parent_name": "scattergeo.legendgrouptitle.font", "edit_type": "style" }, "superclass": "StringValidator" }, - "scattergl.legendgrouptitle.font.lineposition": { + "scattergeo.legendgrouptitle.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "scattergl.legendgrouptitle.font", + "parent_name": "scattergeo.legendgrouptitle.font", "edit_type": "style", "extras": [ "none" @@ -59765,155 +54164,123 @@ }, "superclass": "FlaglistValidator" }, - "scattergl.legendgrouptitle.font.family": { + "scattergeo.legendgrouptitle.font.family": { "params": { "plotly_name": "family", - "parent_name": "scattergl.legendgrouptitle.font", + "parent_name": "scattergeo.legendgrouptitle.font", "edit_type": "style", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "scattergl.legendgrouptitle.font.color": { + "scattergeo.legendgrouptitle.font.color": { "params": { "plotly_name": "color", - "parent_name": "scattergl.legendgrouptitle.font", + "parent_name": "scattergeo.legendgrouptitle.font", "edit_type": "style" }, "superclass": "ColorValidator" }, - "scattergl.legendgroup": { + "scattergeo.legendgroup": { "params": { "plotly_name": "legendgroup", - "parent_name": "scattergl", + "parent_name": "scattergeo", "edit_type": "style" }, "superclass": "StringValidator" }, - "scattergl.legend": { + "scattergeo.legend": { "params": { "plotly_name": "legend", - "parent_name": "scattergl", + "parent_name": "scattergeo", "dflt": "legend", "edit_type": "style" }, "superclass": "SubplotidValidator" }, - "scattergl.idssrc": { + "scattergeo.lat": { "params": { - "plotly_name": "idssrc", - "parent_name": "scattergl", - "edit_type": "none" + "plotly_name": "lat", + "parent_name": "scattergeo", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "DataArrayValidator" }, - "scattergl.ids": { + "scattergeo.ids": { "params": { "plotly_name": "ids", - "parent_name": "scattergl", + "parent_name": "scattergeo", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "scattergl.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "scattergl", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.hovertext": { + "scattergeo.hovertext": { "params": { "plotly_name": "hovertext", - "parent_name": "scattergl", + "parent_name": "scattergeo", "array_ok": true, "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattergl.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "scattergl", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.hovertemplatefallback": { + "scattergeo.hovertemplatefallback": { "params": { "plotly_name": "hovertemplatefallback", - "parent_name": "scattergl", - "edit_type": "none" + "parent_name": "scattergeo", + "edit_type": "calc" }, "superclass": "AnyValidator" }, - "scattergl.hovertemplate": { + "scattergeo.hovertemplate": { "params": { "plotly_name": "hovertemplate", - "parent_name": "scattergl", + "parent_name": "scattergeo", "array_ok": true, - "edit_type": "none" + "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattergl.hoverlabel": { + "scattergeo.hoverlabel": { "params": { "plotly_name": "hoverlabel", - "parent_name": "scattergl", + "parent_name": "scattergeo", "data_class_str": "Hoverlabel", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattergl.hoverlabel.showarrow": { + "scattergeo.hoverlabel.showarrow": { "params": { "plotly_name": "showarrow", - "parent_name": "scattergl.hoverlabel", + "parent_name": "scattergeo.hoverlabel", "edit_type": "none" }, "superclass": "BooleanValidator" }, - "scattergl.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "scattergl.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.hoverlabel.namelength": { + "scattergeo.hoverlabel.namelength": { "params": { "plotly_name": "namelength", - "parent_name": "scattergl.hoverlabel", + "parent_name": "scattergeo.hoverlabel", "array_ok": true, "edit_type": "none", "min": -1 }, "superclass": "IntegerValidator" }, - "scattergl.hoverlabel.font": { + "scattergeo.hoverlabel.font": { "params": { "plotly_name": "font", - "parent_name": "scattergl.hoverlabel", + "parent_name": "scattergeo.hoverlabel", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattergl.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "scattergl.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.hoverlabel.font.weight": { + "scattergeo.hoverlabel.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "scattergl.hoverlabel.font", + "parent_name": "scattergeo.hoverlabel.font", "array_ok": true, "edit_type": "none", "extras": [ @@ -59925,18 +54292,10 @@ }, "superclass": "IntegerValidator" }, - "scattergl.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "scattergl.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.hoverlabel.font.variant": { + "scattergeo.hoverlabel.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "scattergl.hoverlabel.font", + "parent_name": "scattergeo.hoverlabel.font", "array_ok": true, "edit_type": "none", "values": [ @@ -59950,18 +54309,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "scattergl.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.hoverlabel.font.textcase": { + "scattergeo.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "scattergl.hoverlabel.font", + "parent_name": "scattergeo.hoverlabel.font", "array_ok": true, "edit_type": "none", "values": [ @@ -59973,18 +54324,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "scattergl.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.hoverlabel.font.style": { + "scattergeo.hoverlabel.font.style": { "params": { "plotly_name": "style", - "parent_name": "scattergl.hoverlabel.font", + "parent_name": "scattergeo.hoverlabel.font", "array_ok": true, "edit_type": "none", "values": [ @@ -59994,53 +54337,29 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scattergl.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.hoverlabel.font.size": { + "scattergeo.hoverlabel.font.size": { "params": { "plotly_name": "size", - "parent_name": "scattergl.hoverlabel.font", + "parent_name": "scattergeo.hoverlabel.font", "array_ok": true, "edit_type": "none", "min": 1 }, "superclass": "NumberValidator" }, - "scattergl.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "scattergl.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.hoverlabel.font.shadow": { + "scattergeo.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "scattergl.hoverlabel.font", + "parent_name": "scattergeo.hoverlabel.font", "array_ok": true, "edit_type": "none" }, "superclass": "StringValidator" }, - "scattergl.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "scattergl.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.hoverlabel.font.lineposition": { + "scattergeo.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "scattergl.hoverlabel.font", + "parent_name": "scattergeo.hoverlabel.font", "array_ok": true, "edit_type": "none", "extras": [ @@ -60054,18 +54373,10 @@ }, "superclass": "FlaglistValidator" }, - "scattergl.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "scattergl.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.hoverlabel.font.family": { + "scattergeo.hoverlabel.font.family": { "params": { "plotly_name": "family", - "parent_name": "scattergl.hoverlabel.font", + "parent_name": "scattergeo.hoverlabel.font", "array_ok": true, "edit_type": "none", "no_blank": true, @@ -60073,69 +54384,37 @@ }, "superclass": "StringValidator" }, - "scattergl.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scattergl.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.hoverlabel.font.color": { + "scattergeo.hoverlabel.font.color": { "params": { "plotly_name": "color", - "parent_name": "scattergl.hoverlabel.font", + "parent_name": "scattergeo.hoverlabel.font", "array_ok": true, "edit_type": "none" }, "superclass": "ColorValidator" }, - "scattergl.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "scattergl.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.hoverlabel.bordercolor": { + "scattergeo.hoverlabel.bordercolor": { "params": { "plotly_name": "bordercolor", - "parent_name": "scattergl.hoverlabel", + "parent_name": "scattergeo.hoverlabel", "array_ok": true, "edit_type": "none" }, "superclass": "ColorValidator" }, - "scattergl.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "scattergl.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.hoverlabel.bgcolor": { + "scattergeo.hoverlabel.bgcolor": { "params": { "plotly_name": "bgcolor", - "parent_name": "scattergl.hoverlabel", + "parent_name": "scattergeo.hoverlabel", "array_ok": true, "edit_type": "none" }, "superclass": "ColorValidator" }, - "scattergl.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "scattergl.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.hoverlabel.align": { + "scattergeo.hoverlabel.align": { "params": { "plotly_name": "align", - "parent_name": "scattergl.hoverlabel", + "parent_name": "scattergeo.hoverlabel", "array_ok": true, "edit_type": "none", "values": [ @@ -60146,519 +54425,235 @@ }, "superclass": "EnumeratedValidator" }, - "scattergl.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "scattergl", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.hoverinfo": { + "scattergeo.hoverinfo": { "params": { "plotly_name": "hoverinfo", - "parent_name": "scattergl", + "parent_name": "scattergeo", "array_ok": true, - "edit_type": "none", + "edit_type": "calc", "extras": [ "all", "none", "skip" ], "flags": [ - "x", - "y", - "z", + "lon", + "lat", + "location", "text", "name" ] }, "superclass": "FlaglistValidator" }, - "scattergl.fillcolor": { + "scattergeo.geojson": { + "params": { + "plotly_name": "geojson", + "parent_name": "scattergeo", + "edit_type": "calc" + }, + "superclass": "AnyValidator" + }, + "scattergeo.geo": { + "params": { + "plotly_name": "geo", + "parent_name": "scattergeo", + "dflt": "geo", + "edit_type": "calc" + }, + "superclass": "SubplotidValidator" + }, + "scattergeo.fillcolor": { "params": { "plotly_name": "fillcolor", - "parent_name": "scattergl", + "parent_name": "scattergeo", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattergl.fill": { + "scattergeo.fill": { "params": { "plotly_name": "fill", - "parent_name": "scattergl", + "parent_name": "scattergeo", "edit_type": "calc", "values": [ "none", - "tozeroy", - "tozerox", - "tonexty", - "tonextx", - "toself", - "tonext" + "toself" ] }, "superclass": "EnumeratedValidator" }, - "scattergl.error_y": { + "scattergeo.featureidkey": { "params": { - "plotly_name": "error_y", - "parent_name": "scattergl", - "data_class_str": "ErrorY", - "data_docs": "\n" + "plotly_name": "featureidkey", + "parent_name": "scattergeo", + "edit_type": "calc" }, - "superclass": "CompoundValidator" + "superclass": "StringValidator" }, - "scattergl.error_y.width": { + "scattergeo.customdata": { "params": { - "plotly_name": "width", - "parent_name": "scattergl.error_y", - "edit_type": "calc", - "min": 0 + "plotly_name": "customdata", + "parent_name": "scattergeo", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "scattergl.error_y.visible": { + "scattergeo.connectgaps": { "params": { - "plotly_name": "visible", - "parent_name": "scattergl.error_y", + "plotly_name": "connectgaps", + "parent_name": "scattergeo", "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "scattergl.error_y.valueminus": { + "scattercarpet": { "params": { - "plotly_name": "valueminus", - "parent_name": "scattergl.error_y", - "edit_type": "calc", - "min": 0 + "plotly_name": "scattercarpet", + "parent_name": "", + "data_class_str": "Scattercarpet", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "scattergl.error_y.value": { + "scattercarpet.zorder": { "params": { - "plotly_name": "value", - "parent_name": "scattergl.error_y", - "edit_type": "calc", - "min": 0 + "plotly_name": "zorder", + "parent_name": "scattercarpet", + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "IntegerValidator" }, - "scattergl.error_y.type": { + "scattercarpet.yaxis": { "params": { - "plotly_name": "type", - "parent_name": "scattergl.error_y", - "edit_type": "calc", - "values": [ - "percent", - "constant", - "sqrt", - "data" - ] + "plotly_name": "yaxis", + "parent_name": "scattercarpet", + "dflt": "y", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "EnumeratedValidator" + "superclass": "SubplotidValidator" }, - "scattergl.error_y.tracerefminus": { + "scattercarpet.xaxis": { "params": { - "plotly_name": "tracerefminus", - "parent_name": "scattergl.error_y", - "edit_type": "calc", - "min": 0 + "plotly_name": "xaxis", + "parent_name": "scattercarpet", + "dflt": "x", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "IntegerValidator" + "superclass": "SubplotidValidator" }, - "scattergl.error_y.traceref": { + "scattercarpet.visible": { "params": { - "plotly_name": "traceref", - "parent_name": "scattergl.error_y", + "plotly_name": "visible", + "parent_name": "scattercarpet", "edit_type": "calc", - "min": 0 + "values": [ + true, + false, + "legendonly" + ] }, - "superclass": "IntegerValidator" + "superclass": "EnumeratedValidator" }, - "scattergl.error_y.thickness": { + "scattercarpet.unselected": { "params": { - "plotly_name": "thickness", - "parent_name": "scattergl.error_y", - "edit_type": "calc", - "min": 0 + "plotly_name": "unselected", + "parent_name": "scattercarpet", + "data_class_str": "Unselected", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "scattergl.error_y.symmetric": { + "scattercarpet.unselected.textfont": { "params": { - "plotly_name": "symmetric", - "parent_name": "scattergl.error_y", - "edit_type": "calc" + "plotly_name": "textfont", + "parent_name": "scattercarpet.unselected", + "data_class_str": "Textfont", + "data_docs": "\n" }, - "superclass": "BooleanValidator" + "superclass": "CompoundValidator" }, - "scattergl.error_y.color": { + "scattercarpet.unselected.textfont.color": { "params": { "plotly_name": "color", - "parent_name": "scattergl.error_y", - "edit_type": "calc" + "parent_name": "scattercarpet.unselected.textfont", + "edit_type": "style" }, "superclass": "ColorValidator" }, - "scattergl.error_y.arraysrc": { + "scattercarpet.unselected.marker": { "params": { - "plotly_name": "arraysrc", - "parent_name": "scattergl.error_y", - "edit_type": "none" + "plotly_name": "marker", + "parent_name": "scattercarpet.unselected", + "data_class_str": "Marker", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "scattergl.error_y.arrayminussrc": { + "scattercarpet.unselected.marker.size": { "params": { - "plotly_name": "arrayminussrc", - "parent_name": "scattergl.error_y", - "edit_type": "none" + "plotly_name": "size", + "parent_name": "scattercarpet.unselected.marker", + "edit_type": "style", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "scattergl.error_y.arrayminus": { + "scattercarpet.unselected.marker.opacity": { "params": { - "plotly_name": "arrayminus", - "parent_name": "scattergl.error_y", - "edit_type": "calc" + "plotly_name": "opacity", + "parent_name": "scattercarpet.unselected.marker", + "edit_type": "style", + "max": 1, + "min": 0 }, - "superclass": "DataArrayValidator" + "superclass": "NumberValidator" }, - "scattergl.error_y.array": { + "scattercarpet.unselected.marker.color": { "params": { - "plotly_name": "array", - "parent_name": "scattergl.error_y", - "edit_type": "calc" + "plotly_name": "color", + "parent_name": "scattercarpet.unselected.marker", + "edit_type": "style" }, - "superclass": "DataArrayValidator" + "superclass": "ColorValidator" }, - "scattergl.error_x": { + "scattercarpet.uirevision": { "params": { - "plotly_name": "error_x", - "parent_name": "scattergl", - "data_class_str": "ErrorX", - "data_docs": "\n" + "plotly_name": "uirevision", + "parent_name": "scattercarpet", + "edit_type": "none" }, - "superclass": "CompoundValidator" + "superclass": "AnyValidator" }, - "scattergl.error_x.width": { - "params": { - "plotly_name": "width", - "parent_name": "scattergl.error_x", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattergl.error_x.visible": { - "params": { - "plotly_name": "visible", - "parent_name": "scattergl.error_x", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scattergl.error_x.valueminus": { - "params": { - "plotly_name": "valueminus", - "parent_name": "scattergl.error_x", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattergl.error_x.value": { - "params": { - "plotly_name": "value", - "parent_name": "scattergl.error_x", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattergl.error_x.type": { - "params": { - "plotly_name": "type", - "parent_name": "scattergl.error_x", - "edit_type": "calc", - "values": [ - "percent", - "constant", - "sqrt", - "data" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergl.error_x.tracerefminus": { - "params": { - "plotly_name": "tracerefminus", - "parent_name": "scattergl.error_x", - "edit_type": "calc", - "min": 0 - }, - "superclass": "IntegerValidator" - }, - "scattergl.error_x.traceref": { - "params": { - "plotly_name": "traceref", - "parent_name": "scattergl.error_x", - "edit_type": "calc", - "min": 0 - }, - "superclass": "IntegerValidator" - }, - "scattergl.error_x.thickness": { - "params": { - "plotly_name": "thickness", - "parent_name": "scattergl.error_x", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattergl.error_x.symmetric": { - "params": { - "plotly_name": "symmetric", - "parent_name": "scattergl.error_x", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scattergl.error_x.copy_ystyle": { - "params": { - "plotly_name": "copy_ystyle", - "parent_name": "scattergl.error_x", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scattergl.error_x.color": { - "params": { - "plotly_name": "color", - "parent_name": "scattergl.error_x", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scattergl.error_x.arraysrc": { - "params": { - "plotly_name": "arraysrc", - "parent_name": "scattergl.error_x", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.error_x.arrayminussrc": { - "params": { - "plotly_name": "arrayminussrc", - "parent_name": "scattergl.error_x", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.error_x.arrayminus": { - "params": { - "plotly_name": "arrayminus", - "parent_name": "scattergl.error_x", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scattergl.error_x.array": { - "params": { - "plotly_name": "array", - "parent_name": "scattergl.error_x", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scattergl.dy": { - "params": { - "plotly_name": "dy", - "parent_name": "scattergl", - "edit_type": "calc" - }, - "superclass": "NumberValidator" - }, - "scattergl.dx": { - "params": { - "plotly_name": "dx", - "parent_name": "scattergl", - "edit_type": "calc" - }, - "superclass": "NumberValidator" - }, - "scattergl.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "scattergl", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergl.customdata": { - "params": { - "plotly_name": "customdata", - "parent_name": "scattergl", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scattergl.connectgaps": { - "params": { - "plotly_name": "connectgaps", - "parent_name": "scattergl", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scattergeo": { - "params": { - "plotly_name": "scattergeo", - "parent_name": "", - "data_class_str": "Scattergeo", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattergeo.visible": { - "params": { - "plotly_name": "visible", - "parent_name": "scattergeo", - "edit_type": "calc", - "values": [ - true, - false, - "legendonly" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergeo.unselected": { - "params": { - "plotly_name": "unselected", - "parent_name": "scattergeo", - "data_class_str": "Unselected", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattergeo.unselected.textfont": { - "params": { - "plotly_name": "textfont", - "parent_name": "scattergeo.unselected", - "data_class_str": "Textfont", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattergeo.unselected.textfont.color": { - "params": { - "plotly_name": "color", - "parent_name": "scattergeo.unselected.textfont", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scattergeo.unselected.marker": { - "params": { - "plotly_name": "marker", - "parent_name": "scattergeo.unselected", - "data_class_str": "Marker", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattergeo.unselected.marker.size": { - "params": { - "plotly_name": "size", - "parent_name": "scattergeo.unselected.marker", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattergeo.unselected.marker.opacity": { - "params": { - "plotly_name": "opacity", - "parent_name": "scattergeo.unselected.marker", - "edit_type": "calc", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattergeo.unselected.marker.color": { - "params": { - "plotly_name": "color", - "parent_name": "scattergeo.unselected.marker", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scattergeo.uirevision": { - "params": { - "plotly_name": "uirevision", - "parent_name": "scattergeo", - "edit_type": "none" - }, - "superclass": "AnyValidator" - }, - "scattergeo.uid": { + "scattercarpet.uid": { "params": { "plotly_name": "uid", - "parent_name": "scattergeo", + "parent_name": "scattercarpet", "edit_type": "plot" }, "superclass": "StringValidator" }, - "scattergeo.texttemplatesrc": { - "params": { - "plotly_name": "texttemplatesrc", - "parent_name": "scattergeo", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.texttemplatefallback": { + "scattercarpet.texttemplatefallback": { "params": { "plotly_name": "texttemplatefallback", - "parent_name": "scattergeo", - "edit_type": "calc" + "parent_name": "scattercarpet", + "edit_type": "plot" }, "superclass": "AnyValidator" }, - "scattergeo.texttemplate": { + "scattercarpet.texttemplate": { "params": { "plotly_name": "texttemplate", - "parent_name": "scattergeo", + "parent_name": "scattercarpet", "array_ok": true, - "edit_type": "calc" + "edit_type": "plot" }, "superclass": "StringValidator" }, - "scattergeo.textsrc": { - "params": { - "plotly_name": "textsrc", - "parent_name": "scattergeo", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.textpositionsrc": { - "params": { - "plotly_name": "textpositionsrc", - "parent_name": "scattergeo", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.textposition": { + "scattercarpet.textposition": { "params": { "plotly_name": "textposition", - "parent_name": "scattergeo", + "parent_name": "scattercarpet", "array_ok": true, "edit_type": "calc", "values": [ @@ -60675,27 +54670,19 @@ }, "superclass": "EnumeratedValidator" }, - "scattergeo.textfont": { + "scattercarpet.textfont": { "params": { "plotly_name": "textfont", - "parent_name": "scattergeo", + "parent_name": "scattercarpet", "data_class_str": "Textfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattergeo.textfont.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "scattergeo.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.textfont.weight": { + "scattercarpet.textfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "scattergeo.textfont", + "parent_name": "scattercarpet.textfont", "array_ok": true, "edit_type": "calc", "extras": [ @@ -60707,18 +54694,10 @@ }, "superclass": "IntegerValidator" }, - "scattergeo.textfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "scattergeo.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.textfont.variant": { + "scattercarpet.textfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "scattergeo.textfont", + "parent_name": "scattercarpet.textfont", "array_ok": true, "edit_type": "calc", "values": [ @@ -60732,18 +54711,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattergeo.textfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "scattergeo.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.textfont.textcase": { + "scattercarpet.textfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "scattergeo.textfont", + "parent_name": "scattercarpet.textfont", "array_ok": true, "edit_type": "calc", "values": [ @@ -60755,18 +54726,10 @@ }, "superclass": "EnumeratedValidator" }, - "scattergeo.textfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "scattergeo.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.textfont.style": { + "scattercarpet.textfont.style": { "params": { "plotly_name": "style", - "parent_name": "scattergeo.textfont", + "parent_name": "scattercarpet.textfont", "array_ok": true, "edit_type": "calc", "values": [ @@ -60776,53 +54739,29 @@ }, "superclass": "EnumeratedValidator" }, - "scattergeo.textfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scattergeo.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.textfont.size": { + "scattercarpet.textfont.size": { "params": { "plotly_name": "size", - "parent_name": "scattergeo.textfont", + "parent_name": "scattercarpet.textfont", "array_ok": true, "edit_type": "calc", "min": 1 }, "superclass": "NumberValidator" }, - "scattergeo.textfont.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "scattergeo.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.textfont.shadow": { + "scattercarpet.textfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "scattergeo.textfont", + "parent_name": "scattercarpet.textfont", "array_ok": true, "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattergeo.textfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "scattergeo.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.textfont.lineposition": { + "scattercarpet.textfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "scattergeo.textfont", + "parent_name": "scattercarpet.textfont", "array_ok": true, "edit_type": "calc", "extras": [ @@ -60836,18 +54775,10 @@ }, "superclass": "FlaglistValidator" }, - "scattergeo.textfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "scattergeo.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.textfont.family": { + "scattercarpet.textfont.family": { "params": { "plotly_name": "family", - "parent_name": "scattergeo.textfont", + "parent_name": "scattercarpet.textfont", "array_ok": true, "edit_type": "calc", "no_blank": true, @@ -60855,161 +54786,124 @@ }, "superclass": "StringValidator" }, - "scattergeo.textfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scattergeo.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.textfont.color": { + "scattercarpet.textfont.color": { "params": { "plotly_name": "color", - "parent_name": "scattergeo.textfont", + "parent_name": "scattercarpet.textfont", "array_ok": true, - "edit_type": "calc" + "edit_type": "style" }, "superclass": "ColorValidator" }, - "scattergeo.text": { + "scattercarpet.text": { "params": { "plotly_name": "text", - "parent_name": "scattergeo", + "parent_name": "scattercarpet", "array_ok": true, "edit_type": "calc" }, "superclass": "StringValidator" }, - "scattergeo.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "scattergeo", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattergeo.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "scattergeo.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scattergeo.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "scattergeo.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattergeo.showlegend": { + "scattercarpet.showlegend": { "params": { "plotly_name": "showlegend", - "parent_name": "scattergeo", + "parent_name": "scattercarpet", "edit_type": "style" }, "superclass": "BooleanValidator" }, - "scattergeo.selectedpoints": { + "scattercarpet.selectedpoints": { "params": { "plotly_name": "selectedpoints", - "parent_name": "scattergeo", + "parent_name": "scattercarpet", "edit_type": "calc" }, "superclass": "AnyValidator" }, - "scattergeo.selected": { + "scattercarpet.selected": { "params": { "plotly_name": "selected", - "parent_name": "scattergeo", + "parent_name": "scattercarpet", "data_class_str": "Selected", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattergeo.selected.textfont": { + "scattercarpet.selected.textfont": { "params": { "plotly_name": "textfont", - "parent_name": "scattergeo.selected", + "parent_name": "scattercarpet.selected", "data_class_str": "Textfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattergeo.selected.textfont.color": { + "scattercarpet.selected.textfont.color": { "params": { "plotly_name": "color", - "parent_name": "scattergeo.selected.textfont", - "edit_type": "calc" + "parent_name": "scattercarpet.selected.textfont", + "edit_type": "style" }, "superclass": "ColorValidator" }, - "scattergeo.selected.marker": { + "scattercarpet.selected.marker": { "params": { "plotly_name": "marker", - "parent_name": "scattergeo.selected", + "parent_name": "scattercarpet.selected", "data_class_str": "Marker", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattergeo.selected.marker.size": { + "scattercarpet.selected.marker.size": { "params": { "plotly_name": "size", - "parent_name": "scattergeo.selected.marker", - "edit_type": "calc", + "parent_name": "scattercarpet.selected.marker", + "edit_type": "style", "min": 0 }, "superclass": "NumberValidator" }, - "scattergeo.selected.marker.opacity": { + "scattercarpet.selected.marker.opacity": { "params": { "plotly_name": "opacity", - "parent_name": "scattergeo.selected.marker", - "edit_type": "calc", + "parent_name": "scattercarpet.selected.marker", + "edit_type": "style", "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "scattergeo.selected.marker.color": { + "scattercarpet.selected.marker.color": { "params": { "plotly_name": "color", - "parent_name": "scattergeo.selected.marker", - "edit_type": "calc" + "parent_name": "scattercarpet.selected.marker", + "edit_type": "style" }, "superclass": "ColorValidator" }, - "scattergeo.opacity": { + "scattercarpet.opacity": { "params": { "plotly_name": "opacity", - "parent_name": "scattergeo", + "parent_name": "scattercarpet", "edit_type": "style", "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "scattergeo.name": { + "scattercarpet.name": { "params": { "plotly_name": "name", - "parent_name": "scattergeo", + "parent_name": "scattercarpet", "edit_type": "style" }, "superclass": "StringValidator" }, - "scattergeo.mode": { + "scattercarpet.mode": { "params": { "plotly_name": "mode", - "parent_name": "scattergeo", + "parent_name": "scattercarpet", "edit_type": "calc", "extras": [ "none" @@ -61022,46 +54916,30 @@ }, "superclass": "FlaglistValidator" }, - "scattergeo.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "scattergeo", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.meta": { + "scattercarpet.meta": { "params": { "plotly_name": "meta", - "parent_name": "scattergeo", + "parent_name": "scattercarpet", "array_ok": true, "edit_type": "plot" }, "superclass": "AnyValidator" }, - "scattergeo.marker": { + "scattercarpet.marker": { "params": { "plotly_name": "marker", - "parent_name": "scattergeo", + "parent_name": "scattercarpet", "data_class_str": "Marker", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattergeo.marker.symbolsrc": { - "params": { - "plotly_name": "symbolsrc", - "parent_name": "scattergeo.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.marker.symbol": { + "scattercarpet.marker.symbol": { "params": { "plotly_name": "symbol", - "parent_name": "scattergeo.marker", + "parent_name": "scattercarpet.marker", "array_ok": true, - "edit_type": "calc", + "edit_type": "style", "values": [ 0, "0", @@ -61553,44 +55431,28 @@ }, "superclass": "EnumeratedValidator" }, - "scattergeo.marker.standoffsrc": { - "params": { - "plotly_name": "standoffsrc", - "parent_name": "scattergeo.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.marker.standoff": { + "scattercarpet.marker.standoff": { "params": { "plotly_name": "standoff", - "parent_name": "scattergeo.marker", + "parent_name": "scattercarpet.marker", "array_ok": true, - "edit_type": "calc", + "edit_type": "plot", "min": 0 }, "superclass": "NumberValidator" }, - "scattergeo.marker.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scattergeo.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.marker.sizeref": { + "scattercarpet.marker.sizeref": { "params": { "plotly_name": "sizeref", - "parent_name": "scattergeo.marker", + "parent_name": "scattercarpet.marker", "edit_type": "calc" }, "superclass": "NumberValidator" }, - "scattergeo.marker.sizemode": { + "scattercarpet.marker.sizemode": { "params": { "plotly_name": "sizemode", - "parent_name": "scattergeo.marker", + "parent_name": "scattercarpet.marker", "edit_type": "calc", "values": [ "diameter", @@ -61599,109 +55461,94 @@ }, "superclass": "EnumeratedValidator" }, - "scattergeo.marker.sizemin": { + "scattercarpet.marker.sizemin": { "params": { "plotly_name": "sizemin", - "parent_name": "scattergeo.marker", + "parent_name": "scattercarpet.marker", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattergeo.marker.size": { + "scattercarpet.marker.size": { "params": { "plotly_name": "size", - "parent_name": "scattergeo.marker", + "parent_name": "scattercarpet.marker", "array_ok": true, "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scattergeo.marker.showscale": { + "scattercarpet.marker.showscale": { "params": { "plotly_name": "showscale", - "parent_name": "scattergeo.marker", + "parent_name": "scattercarpet.marker", "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "scattergeo.marker.reversescale": { + "scattercarpet.marker.reversescale": { "params": { "plotly_name": "reversescale", - "parent_name": "scattergeo.marker", - "edit_type": "calc" + "parent_name": "scattercarpet.marker", + "edit_type": "plot" }, "superclass": "BooleanValidator" }, - "scattergeo.marker.opacitysrc": { - "params": { - "plotly_name": "opacitysrc", - "parent_name": "scattergeo.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.marker.opacity": { + "scattercarpet.marker.opacity": { "params": { "plotly_name": "opacity", - "parent_name": "scattergeo.marker", + "parent_name": "scattercarpet.marker", "array_ok": true, - "edit_type": "calc", + "edit_type": "style", "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "scattergeo.marker.line": { + "scattercarpet.marker.maxdisplayed": { + "params": { + "plotly_name": "maxdisplayed", + "parent_name": "scattercarpet.marker", + "edit_type": "plot", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "scattercarpet.marker.line": { "params": { "plotly_name": "line", - "parent_name": "scattergeo.marker", + "parent_name": "scattercarpet.marker", "data_class_str": "Line", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattergeo.marker.line.widthsrc": { - "params": { - "plotly_name": "widthsrc", - "parent_name": "scattergeo.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.marker.line.width": { + "scattercarpet.marker.line.width": { "params": { "plotly_name": "width", - "parent_name": "scattergeo.marker.line", + "parent_name": "scattercarpet.marker.line", "array_ok": true, - "edit_type": "calc", + "edit_type": "style", "min": 0 }, "superclass": "NumberValidator" }, - "scattergeo.marker.line.reversescale": { + "scattercarpet.marker.line.reversescale": { "params": { "plotly_name": "reversescale", - "parent_name": "scattergeo.marker.line", - "edit_type": "calc" + "parent_name": "scattercarpet.marker.line", + "edit_type": "plot" }, "superclass": "BooleanValidator" }, - "scattergeo.marker.line.dashsrc": { - "params": { - "plotly_name": "dashsrc", - "parent_name": "scattergeo.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.marker.line.dash": { + "scattercarpet.marker.line.dash": { "params": { "plotly_name": "dash", - "parent_name": "scattergeo.marker.line", + "parent_name": "scattercarpet.marker.line", "array_ok": true, - "edit_type": "calc", + "edit_type": "style", "values": [ "solid", "dot", @@ -61713,18 +55560,10 @@ }, "superclass": "DashValidator" }, - "scattergeo.marker.line.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scattergeo.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.marker.line.colorscale": { + "scattercarpet.marker.line.colorscale": { "params": { "plotly_name": "colorscale", - "parent_name": "scattergeo.marker.line", + "parent_name": "scattercarpet.marker.line", "edit_type": "calc", "implied_edits": { "autocolorscale": false @@ -61732,96 +55571,88 @@ }, "superclass": "ColorscaleValidator" }, - "scattergeo.marker.line.coloraxis": { + "scattercarpet.marker.line.coloraxis": { "params": { "plotly_name": "coloraxis", - "parent_name": "scattergeo.marker.line", + "parent_name": "scattercarpet.marker.line", "dflt": null, "edit_type": "calc", "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" }, "superclass": "SubplotidValidator" }, - "scattergeo.marker.line.color": { + "scattercarpet.marker.line.color": { "params": { "plotly_name": "color", - "parent_name": "scattergeo.marker.line", + "parent_name": "scattercarpet.marker.line", "array_ok": true, - "edit_type": "calc", - "colorscale_path": "scattergeo.marker.line.colorscale" + "edit_type": "style", + "colorscale_path": "scattercarpet.marker.line.colorscale" }, "superclass": "ColorValidator" }, - "scattergeo.marker.line.cmin": { + "scattercarpet.marker.line.cmin": { "params": { "plotly_name": "cmin", - "parent_name": "scattergeo.marker.line", - "edit_type": "calc", + "parent_name": "scattercarpet.marker.line", + "edit_type": "plot", "implied_edits": { "cauto": false } }, "superclass": "NumberValidator" }, - "scattergeo.marker.line.cmid": { + "scattercarpet.marker.line.cmid": { "params": { "plotly_name": "cmid", - "parent_name": "scattergeo.marker.line", + "parent_name": "scattercarpet.marker.line", "edit_type": "calc", "implied_edits": {} }, "superclass": "NumberValidator" }, - "scattergeo.marker.line.cmax": { + "scattercarpet.marker.line.cmax": { "params": { "plotly_name": "cmax", - "parent_name": "scattergeo.marker.line", - "edit_type": "calc", + "parent_name": "scattercarpet.marker.line", + "edit_type": "plot", "implied_edits": { "cauto": false } }, "superclass": "NumberValidator" }, - "scattergeo.marker.line.cauto": { + "scattercarpet.marker.line.cauto": { "params": { "plotly_name": "cauto", - "parent_name": "scattergeo.marker.line", + "parent_name": "scattercarpet.marker.line", "edit_type": "calc", "implied_edits": {} }, "superclass": "BooleanValidator" }, - "scattergeo.marker.line.autocolorscale": { + "scattercarpet.marker.line.autocolorscale": { "params": { "plotly_name": "autocolorscale", - "parent_name": "scattergeo.marker.line", + "parent_name": "scattercarpet.marker.line", "edit_type": "calc", "implied_edits": {} }, "superclass": "BooleanValidator" }, - "scattergeo.marker.gradient": { + "scattercarpet.marker.gradient": { "params": { "plotly_name": "gradient", - "parent_name": "scattergeo.marker", + "parent_name": "scattercarpet.marker", "data_class_str": "Gradient", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattergeo.marker.gradient.typesrc": { - "params": { - "plotly_name": "typesrc", - "parent_name": "scattergeo.marker.gradient", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.marker.gradient.type": { + "scattercarpet.marker.gradient.type": { "params": { "plotly_name": "type", - "parent_name": "scattergeo.marker.gradient", + "parent_name": "scattercarpet.marker.gradient", "array_ok": true, "edit_type": "calc", "values": [ @@ -61833,35 +55664,19 @@ }, "superclass": "EnumeratedValidator" }, - "scattergeo.marker.gradient.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scattergeo.marker.gradient", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.marker.gradient.color": { + "scattercarpet.marker.gradient.color": { "params": { "plotly_name": "color", - "parent_name": "scattergeo.marker.gradient", + "parent_name": "scattercarpet.marker.gradient", "array_ok": true, "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scattergeo.marker.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scattergeo.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.marker.colorscale": { + "scattercarpet.marker.colorscale": { "params": { "plotly_name": "colorscale", - "parent_name": "scattergeo.marker", + "parent_name": "scattercarpet.marker", "edit_type": "calc", "implied_edits": { "autocolorscale": false @@ -61869,20 +55684,20 @@ }, "superclass": "ColorscaleValidator" }, - "scattergeo.marker.colorbar": { + "scattercarpet.marker.colorbar": { "params": { "plotly_name": "colorbar", - "parent_name": "scattergeo.marker", + "parent_name": "scattercarpet.marker", "data_class_str": "ColorBar", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattergeo.marker.colorbar.yref": { + "scattercarpet.marker.colorbar.yref": { "params": { "plotly_name": "yref", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", "values": [ "container", "paper" @@ -61890,20 +55705,20 @@ }, "superclass": "EnumeratedValidator" }, - "scattergeo.marker.colorbar.ypad": { + "scattercarpet.marker.colorbar.ypad": { "params": { "plotly_name": "ypad", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "scattergeo.marker.colorbar.yanchor": { + "scattercarpet.marker.colorbar.yanchor": { "params": { "plotly_name": "yanchor", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", "values": [ "top", "middle", @@ -61912,19 +55727,19 @@ }, "superclass": "EnumeratedValidator" }, - "scattergeo.marker.colorbar.y": { + "scattercarpet.marker.colorbar.y": { "params": { "plotly_name": "y", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc" + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars" }, "superclass": "NumberValidator" }, - "scattergeo.marker.colorbar.xref": { + "scattercarpet.marker.colorbar.xref": { "params": { "plotly_name": "xref", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", "values": [ "container", "paper" @@ -61932,20 +55747,20 @@ }, "superclass": "EnumeratedValidator" }, - "scattergeo.marker.colorbar.xpad": { + "scattercarpet.marker.colorbar.xpad": { "params": { "plotly_name": "xpad", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "scattergeo.marker.colorbar.xanchor": { + "scattercarpet.marker.colorbar.xanchor": { "params": { "plotly_name": "xanchor", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", "values": [ "left", "center", @@ -61954,36 +55769,36 @@ }, "superclass": "EnumeratedValidator" }, - "scattergeo.marker.colorbar.x": { + "scattercarpet.marker.colorbar.x": { "params": { "plotly_name": "x", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc" + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars" }, "superclass": "NumberValidator" }, - "scattergeo.marker.colorbar.title": { + "scattercarpet.marker.colorbar.title": { "params": { "plotly_name": "title", - "parent_name": "scattergeo.marker.colorbar", + "parent_name": "scattercarpet.marker.colorbar", "data_class_str": "Title", "data_docs": "\n" }, "superclass": "TitleValidator" }, - "scattergeo.marker.colorbar.title.text": { + "scattercarpet.marker.colorbar.title.text": { "params": { "plotly_name": "text", - "parent_name": "scattergeo.marker.colorbar.title", - "edit_type": "calc" + "parent_name": "scattercarpet.marker.colorbar.title", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "scattergeo.marker.colorbar.title.side": { + "scattercarpet.marker.colorbar.title.side": { "params": { "plotly_name": "side", - "parent_name": "scattergeo.marker.colorbar.title", - "edit_type": "calc", + "parent_name": "scattercarpet.marker.colorbar.title", + "edit_type": "colorbars", "values": [ "right", "top", @@ -61992,20 +55807,20 @@ }, "superclass": "EnumeratedValidator" }, - "scattergeo.marker.colorbar.title.font": { + "scattercarpet.marker.colorbar.title.font": { "params": { "plotly_name": "font", - "parent_name": "scattergeo.marker.colorbar.title", + "parent_name": "scattercarpet.marker.colorbar.title", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scattergeo.marker.colorbar.title.font.weight": { + "scattercarpet.marker.colorbar.title.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "scattergeo.marker.colorbar.title.font", - "edit_type": "calc", + "parent_name": "scattercarpet.marker.colorbar.title.font", + "edit_type": "colorbars", "extras": [ "normal", "bold" @@ -62015,11 +55830,11 @@ }, "superclass": "IntegerValidator" }, - "scattergeo.marker.colorbar.title.font.variant": { + "scattercarpet.marker.colorbar.title.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "scattergeo.marker.colorbar.title.font", - "edit_type": "calc", + "parent_name": "scattercarpet.marker.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "small-caps", @@ -62031,11 +55846,11 @@ }, "superclass": "EnumeratedValidator" }, - "scattergeo.marker.colorbar.title.font.textcase": { + "scattercarpet.marker.colorbar.title.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "scattergeo.marker.colorbar.title.font", - "edit_type": "calc", + "parent_name": "scattercarpet.marker.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "word caps", @@ -62045,11 +55860,11 @@ }, "superclass": "EnumeratedValidator" }, - "scattergeo.marker.colorbar.title.font.style": { + "scattercarpet.marker.colorbar.title.font.style": { "params": { "plotly_name": "style", - "parent_name": "scattergeo.marker.colorbar.title.font", - "edit_type": "calc", + "parent_name": "scattercarpet.marker.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "italic" @@ -62057,28 +55872,28 @@ }, "superclass": "EnumeratedValidator" }, - "scattergeo.marker.colorbar.title.font.size": { + "scattercarpet.marker.colorbar.title.font.size": { "params": { "plotly_name": "size", - "parent_name": "scattergeo.marker.colorbar.title.font", - "edit_type": "calc", + "parent_name": "scattercarpet.marker.colorbar.title.font", + "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "scattergeo.marker.colorbar.title.font.shadow": { + "scattercarpet.marker.colorbar.title.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "scattergeo.marker.colorbar.title.font", - "edit_type": "calc" + "parent_name": "scattercarpet.marker.colorbar.title.font", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "scattergeo.marker.colorbar.title.font.lineposition": { + "scattercarpet.marker.colorbar.title.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "scattergeo.marker.colorbar.title.font", - "edit_type": "calc", + "parent_name": "scattercarpet.marker.colorbar.title.font", + "edit_type": "colorbars", "extras": [ "none" ], @@ -62090,9569 +55905,594 @@ }, "superclass": "FlaglistValidator" }, - "scattergeo.marker.colorbar.title.font.family": { + "scattercarpet.marker.colorbar.title.font.family": { "params": { "plotly_name": "family", - "parent_name": "scattergeo.marker.colorbar.title.font", - "edit_type": "calc", + "parent_name": "scattercarpet.marker.colorbar.title.font", + "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "scattergeo.marker.colorbar.title.font.color": { + "scattercarpet.marker.colorbar.title.font.color": { "params": { "plotly_name": "color", - "parent_name": "scattergeo.marker.colorbar.title.font", - "edit_type": "calc" + "parent_name": "scattercarpet.marker.colorbar.title.font", + "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "scattergeo.marker.colorbar.tickwidth": { + "scattercarpet.marker.colorbar.tickwidth": { "params": { "plotly_name": "tickwidth", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "scattergeo.marker.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.marker.colorbar.tickvals": { + "scattercarpet.marker.colorbar.tickvals": { "params": { "plotly_name": "tickvals", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc" + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars" }, "superclass": "DataArrayValidator" }, - "scattergeo.marker.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.marker.colorbar.ticktext": { + "scattercarpet.marker.colorbar.ticktext": { "params": { "plotly_name": "ticktext", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc" + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars" }, "superclass": "DataArrayValidator" }, - "scattergeo.marker.colorbar.ticksuffix": { + "scattercarpet.marker.colorbar.ticksuffix": { "params": { "plotly_name": "ticksuffix", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc" + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "scattergeo.marker.colorbar.ticks": { + "scattercarpet.marker.colorbar.ticks": { "params": { "plotly_name": "ticks", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", - "values": [ - "outside", - "inside", - "" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergeo.marker.colorbar.tickprefix": { - "params": { - "plotly_name": "tickprefix", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scattergeo.marker.colorbar.tickmode": { - "params": { - "plotly_name": "tickmode", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", - "implied_edits": {}, - "values": [ - "auto", - "linear", - "array" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergeo.marker.colorbar.ticklen": { - "params": { - "plotly_name": "ticklen", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattergeo.marker.colorbar.ticklabelstep": { - "params": { - "plotly_name": "ticklabelstep", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "scattergeo.marker.colorbar.ticklabelposition": { - "params": { - "plotly_name": "ticklabelposition", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergeo.marker.colorbar.ticklabeloverflow": { - "params": { - "plotly_name": "ticklabeloverflow", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", - "values": [ - "allow", - "hide past div", - "hide past domain" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergeo.marker.colorbar.tickformatstopdefaults": { - "params": { - "plotly_name": "tickformatstopdefaults", - "parent_name": "scattergeo.marker.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattergeo.marker.colorbar.tickformatstops": { - "params": { - "plotly_name": "tickformatstops", - "parent_name": "scattergeo.marker.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" - }, - "superclass": "CompoundArrayValidator" - }, - "scattergeo.marker.colorbar.tickformatstop.value": { - "params": { - "plotly_name": "value", - "parent_name": "scattergeo.marker.colorbar.tickformatstop", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scattergeo.marker.colorbar.tickformatstop.templateitemname": { - "params": { - "plotly_name": "templateitemname", - "parent_name": "scattergeo.marker.colorbar.tickformatstop", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scattergeo.marker.colorbar.tickformatstop.name": { - "params": { - "plotly_name": "name", - "parent_name": "scattergeo.marker.colorbar.tickformatstop", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scattergeo.marker.colorbar.tickformatstop.enabled": { - "params": { - "plotly_name": "enabled", - "parent_name": "scattergeo.marker.colorbar.tickformatstop", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scattergeo.marker.colorbar.tickformatstop.dtickrange": { - "params": { - "plotly_name": "dtickrange", - "parent_name": "scattergeo.marker.colorbar.tickformatstop", - "edit_type": "calc", - "items": [ - { - "editType": "calc", - "valType": "any" - }, - { - "editType": "calc", - "valType": "any" - } - ] - }, - "superclass": "InfoArrayValidator" - }, - "scattergeo.marker.colorbar.tickformat": { - "params": { - "plotly_name": "tickformat", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scattergeo.marker.colorbar.tickfont": { - "params": { - "plotly_name": "tickfont", - "parent_name": "scattergeo.marker.colorbar", - "data_class_str": "Tickfont", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattergeo.marker.colorbar.tickfont.weight": { - "params": { - "plotly_name": "weight", - "parent_name": "scattergeo.marker.colorbar.tickfont", - "edit_type": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "scattergeo.marker.colorbar.tickfont.variant": { - "params": { - "plotly_name": "variant", - "parent_name": "scattergeo.marker.colorbar.tickfont", - "edit_type": "calc", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergeo.marker.colorbar.tickfont.textcase": { - "params": { - "plotly_name": "textcase", - "parent_name": "scattergeo.marker.colorbar.tickfont", - "edit_type": "calc", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergeo.marker.colorbar.tickfont.style": { - "params": { - "plotly_name": "style", - "parent_name": "scattergeo.marker.colorbar.tickfont", - "edit_type": "calc", - "values": [ - "normal", - "italic" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergeo.marker.colorbar.tickfont.size": { - "params": { - "plotly_name": "size", - "parent_name": "scattergeo.marker.colorbar.tickfont", - "edit_type": "calc", - "min": 1 - }, - "superclass": "NumberValidator" - }, - "scattergeo.marker.colorbar.tickfont.shadow": { - "params": { - "plotly_name": "shadow", - "parent_name": "scattergeo.marker.colorbar.tickfont", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scattergeo.marker.colorbar.tickfont.lineposition": { - "params": { - "plotly_name": "lineposition", - "parent_name": "scattergeo.marker.colorbar.tickfont", - "edit_type": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] - }, - "superclass": "FlaglistValidator" - }, - "scattergeo.marker.colorbar.tickfont.family": { - "params": { - "plotly_name": "family", - "parent_name": "scattergeo.marker.colorbar.tickfont", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scattergeo.marker.colorbar.tickfont.color": { - "params": { - "plotly_name": "color", - "parent_name": "scattergeo.marker.colorbar.tickfont", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scattergeo.marker.colorbar.tickcolor": { - "params": { - "plotly_name": "tickcolor", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scattergeo.marker.colorbar.tickangle": { - "params": { - "plotly_name": "tickangle", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "AngleValidator" - }, - "scattergeo.marker.colorbar.tick0": { - "params": { - "plotly_name": "tick0", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", - "implied_edits": { - "tickmode": "linear" - } - }, - "superclass": "AnyValidator" - }, - "scattergeo.marker.colorbar.thicknessmode": { - "params": { - "plotly_name": "thicknessmode", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", - "values": [ - "fraction", - "pixels" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergeo.marker.colorbar.thickness": { - "params": { - "plotly_name": "thickness", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattergeo.marker.colorbar.showticksuffix": { - "params": { - "plotly_name": "showticksuffix", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergeo.marker.colorbar.showtickprefix": { - "params": { - "plotly_name": "showtickprefix", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergeo.marker.colorbar.showticklabels": { - "params": { - "plotly_name": "showticklabels", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scattergeo.marker.colorbar.showexponent": { - "params": { - "plotly_name": "showexponent", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergeo.marker.colorbar.separatethousands": { - "params": { - "plotly_name": "separatethousands", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scattergeo.marker.colorbar.outlinewidth": { - "params": { - "plotly_name": "outlinewidth", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattergeo.marker.colorbar.outlinecolor": { - "params": { - "plotly_name": "outlinecolor", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scattergeo.marker.colorbar.orientation": { - "params": { - "plotly_name": "orientation", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", - "values": [ - "h", - "v" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergeo.marker.colorbar.nticks": { - "params": { - "plotly_name": "nticks", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "IntegerValidator" - }, - "scattergeo.marker.colorbar.minexponent": { - "params": { - "plotly_name": "minexponent", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattergeo.marker.colorbar.lenmode": { - "params": { - "plotly_name": "lenmode", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", - "values": [ - "fraction", - "pixels" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergeo.marker.colorbar.len": { - "params": { - "plotly_name": "len", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattergeo.marker.colorbar.labelalias": { - "params": { - "plotly_name": "labelalias", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "AnyValidator" - }, - "scattergeo.marker.colorbar.exponentformat": { - "params": { - "plotly_name": "exponentformat", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergeo.marker.colorbar.dtick": { - "params": { - "plotly_name": "dtick", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", - "implied_edits": { - "tickmode": "linear" - } - }, - "superclass": "AnyValidator" - }, - "scattergeo.marker.colorbar.borderwidth": { - "params": { - "plotly_name": "borderwidth", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattergeo.marker.colorbar.bordercolor": { - "params": { - "plotly_name": "bordercolor", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scattergeo.marker.colorbar.bgcolor": { - "params": { - "plotly_name": "bgcolor", - "parent_name": "scattergeo.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scattergeo.marker.coloraxis": { - "params": { - "plotly_name": "coloraxis", - "parent_name": "scattergeo.marker", - "dflt": null, - "edit_type": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" - }, - "superclass": "SubplotidValidator" - }, - "scattergeo.marker.color": { - "params": { - "plotly_name": "color", - "parent_name": "scattergeo.marker", - "array_ok": true, - "edit_type": "calc", - "colorscale_path": "scattergeo.marker.colorscale" - }, - "superclass": "ColorValidator" - }, - "scattergeo.marker.cmin": { - "params": { - "plotly_name": "cmin", - "parent_name": "scattergeo.marker", - "edit_type": "calc", - "implied_edits": { - "cauto": false - } - }, - "superclass": "NumberValidator" - }, - "scattergeo.marker.cmid": { - "params": { - "plotly_name": "cmid", - "parent_name": "scattergeo.marker", - "edit_type": "calc", - "implied_edits": {} - }, - "superclass": "NumberValidator" - }, - "scattergeo.marker.cmax": { - "params": { - "plotly_name": "cmax", - "parent_name": "scattergeo.marker", - "edit_type": "calc", - "implied_edits": { - "cauto": false - } - }, - "superclass": "NumberValidator" - }, - "scattergeo.marker.cauto": { - "params": { - "plotly_name": "cauto", - "parent_name": "scattergeo.marker", - "edit_type": "calc", - "implied_edits": {} - }, - "superclass": "BooleanValidator" - }, - "scattergeo.marker.autocolorscale": { - "params": { - "plotly_name": "autocolorscale", - "parent_name": "scattergeo.marker", - "edit_type": "calc", - "implied_edits": {} - }, - "superclass": "BooleanValidator" - }, - "scattergeo.marker.anglesrc": { - "params": { - "plotly_name": "anglesrc", - "parent_name": "scattergeo.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.marker.angleref": { - "params": { - "plotly_name": "angleref", - "parent_name": "scattergeo.marker", - "edit_type": "calc", - "values": [ - "previous", - "up", - "north" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergeo.marker.angle": { - "params": { - "plotly_name": "angle", - "parent_name": "scattergeo.marker", - "array_ok": true, - "edit_type": "calc" - }, - "superclass": "AngleValidator" - }, - "scattergeo.lonsrc": { - "params": { - "plotly_name": "lonsrc", - "parent_name": "scattergeo", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.lon": { - "params": { - "plotly_name": "lon", - "parent_name": "scattergeo", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scattergeo.locationssrc": { - "params": { - "plotly_name": "locationssrc", - "parent_name": "scattergeo", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.locations": { - "params": { - "plotly_name": "locations", - "parent_name": "scattergeo", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scattergeo.locationmode": { - "params": { - "plotly_name": "locationmode", - "parent_name": "scattergeo", - "edit_type": "calc", - "values": [ - "ISO-3", - "USA-states", - "country names", - "geojson-id" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergeo.line": { - "params": { - "plotly_name": "line", - "parent_name": "scattergeo", - "data_class_str": "Line", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattergeo.line.width": { - "params": { - "plotly_name": "width", - "parent_name": "scattergeo.line", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattergeo.line.dash": { - "params": { - "plotly_name": "dash", - "parent_name": "scattergeo.line", - "edit_type": "calc", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ] - }, - "superclass": "DashValidator" - }, - "scattergeo.line.color": { - "params": { - "plotly_name": "color", - "parent_name": "scattergeo.line", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scattergeo.legendwidth": { - "params": { - "plotly_name": "legendwidth", - "parent_name": "scattergeo", - "edit_type": "style", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattergeo.legendrank": { - "params": { - "plotly_name": "legendrank", - "parent_name": "scattergeo", - "edit_type": "style" - }, - "superclass": "NumberValidator" - }, - "scattergeo.legendgrouptitle": { - "params": { - "plotly_name": "legendgrouptitle", - "parent_name": "scattergeo", - "data_class_str": "Legendgrouptitle", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattergeo.legendgrouptitle.text": { - "params": { - "plotly_name": "text", - "parent_name": "scattergeo.legendgrouptitle", - "edit_type": "style" - }, - "superclass": "StringValidator" - }, - "scattergeo.legendgrouptitle.font": { - "params": { - "plotly_name": "font", - "parent_name": "scattergeo.legendgrouptitle", - "data_class_str": "Font", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattergeo.legendgrouptitle.font.weight": { - "params": { - "plotly_name": "weight", - "parent_name": "scattergeo.legendgrouptitle.font", - "edit_type": "style", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "scattergeo.legendgrouptitle.font.variant": { - "params": { - "plotly_name": "variant", - "parent_name": "scattergeo.legendgrouptitle.font", - "edit_type": "style", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergeo.legendgrouptitle.font.textcase": { - "params": { - "plotly_name": "textcase", - "parent_name": "scattergeo.legendgrouptitle.font", - "edit_type": "style", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergeo.legendgrouptitle.font.style": { - "params": { - "plotly_name": "style", - "parent_name": "scattergeo.legendgrouptitle.font", - "edit_type": "style", - "values": [ - "normal", - "italic" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergeo.legendgrouptitle.font.size": { - "params": { - "plotly_name": "size", - "parent_name": "scattergeo.legendgrouptitle.font", - "edit_type": "style", - "min": 1 - }, - "superclass": "NumberValidator" - }, - "scattergeo.legendgrouptitle.font.shadow": { - "params": { - "plotly_name": "shadow", - "parent_name": "scattergeo.legendgrouptitle.font", - "edit_type": "style" - }, - "superclass": "StringValidator" - }, - "scattergeo.legendgrouptitle.font.lineposition": { - "params": { - "plotly_name": "lineposition", - "parent_name": "scattergeo.legendgrouptitle.font", - "edit_type": "style", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] - }, - "superclass": "FlaglistValidator" - }, - "scattergeo.legendgrouptitle.font.family": { - "params": { - "plotly_name": "family", - "parent_name": "scattergeo.legendgrouptitle.font", - "edit_type": "style", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scattergeo.legendgrouptitle.font.color": { - "params": { - "plotly_name": "color", - "parent_name": "scattergeo.legendgrouptitle.font", - "edit_type": "style" - }, - "superclass": "ColorValidator" - }, - "scattergeo.legendgroup": { - "params": { - "plotly_name": "legendgroup", - "parent_name": "scattergeo", - "edit_type": "style" - }, - "superclass": "StringValidator" - }, - "scattergeo.legend": { - "params": { - "plotly_name": "legend", - "parent_name": "scattergeo", - "dflt": "legend", - "edit_type": "style" - }, - "superclass": "SubplotidValidator" - }, - "scattergeo.latsrc": { - "params": { - "plotly_name": "latsrc", - "parent_name": "scattergeo", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.lat": { - "params": { - "plotly_name": "lat", - "parent_name": "scattergeo", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scattergeo.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "scattergeo", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.ids": { - "params": { - "plotly_name": "ids", - "parent_name": "scattergeo", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scattergeo.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "scattergeo", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.hovertext": { - "params": { - "plotly_name": "hovertext", - "parent_name": "scattergeo", - "array_ok": true, - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scattergeo.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "scattergeo", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.hovertemplatefallback": { - "params": { - "plotly_name": "hovertemplatefallback", - "parent_name": "scattergeo", - "edit_type": "calc" - }, - "superclass": "AnyValidator" - }, - "scattergeo.hovertemplate": { - "params": { - "plotly_name": "hovertemplate", - "parent_name": "scattergeo", - "array_ok": true, - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scattergeo.hoverlabel": { - "params": { - "plotly_name": "hoverlabel", - "parent_name": "scattergeo", - "data_class_str": "Hoverlabel", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattergeo.hoverlabel.showarrow": { - "params": { - "plotly_name": "showarrow", - "parent_name": "scattergeo.hoverlabel", - "edit_type": "none" - }, - "superclass": "BooleanValidator" - }, - "scattergeo.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "scattergeo.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.hoverlabel.namelength": { - "params": { - "plotly_name": "namelength", - "parent_name": "scattergeo.hoverlabel", - "array_ok": true, - "edit_type": "none", - "min": -1 - }, - "superclass": "IntegerValidator" - }, - "scattergeo.hoverlabel.font": { - "params": { - "plotly_name": "font", - "parent_name": "scattergeo.hoverlabel", - "data_class_str": "Font", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattergeo.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "scattergeo.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.hoverlabel.font.weight": { - "params": { - "plotly_name": "weight", - "parent_name": "scattergeo.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "scattergeo.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "scattergeo.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.hoverlabel.font.variant": { - "params": { - "plotly_name": "variant", - "parent_name": "scattergeo.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergeo.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "scattergeo.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.hoverlabel.font.textcase": { - "params": { - "plotly_name": "textcase", - "parent_name": "scattergeo.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergeo.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "scattergeo.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.hoverlabel.font.style": { - "params": { - "plotly_name": "style", - "parent_name": "scattergeo.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "values": [ - "normal", - "italic" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergeo.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scattergeo.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.hoverlabel.font.size": { - "params": { - "plotly_name": "size", - "parent_name": "scattergeo.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "min": 1 - }, - "superclass": "NumberValidator" - }, - "scattergeo.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "scattergeo.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.hoverlabel.font.shadow": { - "params": { - "plotly_name": "shadow", - "parent_name": "scattergeo.hoverlabel.font", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "StringValidator" - }, - "scattergeo.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "scattergeo.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.hoverlabel.font.lineposition": { - "params": { - "plotly_name": "lineposition", - "parent_name": "scattergeo.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] - }, - "superclass": "FlaglistValidator" - }, - "scattergeo.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "scattergeo.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.hoverlabel.font.family": { - "params": { - "plotly_name": "family", - "parent_name": "scattergeo.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scattergeo.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scattergeo.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.hoverlabel.font.color": { - "params": { - "plotly_name": "color", - "parent_name": "scattergeo.hoverlabel.font", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "ColorValidator" - }, - "scattergeo.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "scattergeo.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.hoverlabel.bordercolor": { - "params": { - "plotly_name": "bordercolor", - "parent_name": "scattergeo.hoverlabel", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "ColorValidator" - }, - "scattergeo.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "scattergeo.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.hoverlabel.bgcolor": { - "params": { - "plotly_name": "bgcolor", - "parent_name": "scattergeo.hoverlabel", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "ColorValidator" - }, - "scattergeo.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "scattergeo.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.hoverlabel.align": { - "params": { - "plotly_name": "align", - "parent_name": "scattergeo.hoverlabel", - "array_ok": true, - "edit_type": "none", - "values": [ - "left", - "right", - "auto" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergeo.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "scattergeo", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.hoverinfo": { - "params": { - "plotly_name": "hoverinfo", - "parent_name": "scattergeo", - "array_ok": true, - "edit_type": "calc", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "lon", - "lat", - "location", - "text", - "name" - ] - }, - "superclass": "FlaglistValidator" - }, - "scattergeo.geojson": { - "params": { - "plotly_name": "geojson", - "parent_name": "scattergeo", - "edit_type": "calc" - }, - "superclass": "AnyValidator" - }, - "scattergeo.geo": { - "params": { - "plotly_name": "geo", - "parent_name": "scattergeo", - "dflt": "geo", - "edit_type": "calc" - }, - "superclass": "SubplotidValidator" - }, - "scattergeo.fillcolor": { - "params": { - "plotly_name": "fillcolor", - "parent_name": "scattergeo", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scattergeo.fill": { - "params": { - "plotly_name": "fill", - "parent_name": "scattergeo", - "edit_type": "calc", - "values": [ - "none", - "toself" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattergeo.featureidkey": { - "params": { - "plotly_name": "featureidkey", - "parent_name": "scattergeo", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scattergeo.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "scattergeo", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattergeo.customdata": { - "params": { - "plotly_name": "customdata", - "parent_name": "scattergeo", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scattergeo.connectgaps": { - "params": { - "plotly_name": "connectgaps", - "parent_name": "scattergeo", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scattercarpet": { - "params": { - "plotly_name": "scattercarpet", - "parent_name": "", - "data_class_str": "Scattercarpet", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattercarpet.zorder": { - "params": { - "plotly_name": "zorder", - "parent_name": "scattercarpet", - "edit_type": "plot" - }, - "superclass": "IntegerValidator" - }, - "scattercarpet.yaxis": { - "params": { - "plotly_name": "yaxis", - "parent_name": "scattercarpet", - "dflt": "y", - "edit_type": "calc+clearAxisTypes" - }, - "superclass": "SubplotidValidator" - }, - "scattercarpet.xaxis": { - "params": { - "plotly_name": "xaxis", - "parent_name": "scattercarpet", - "dflt": "x", - "edit_type": "calc+clearAxisTypes" - }, - "superclass": "SubplotidValidator" - }, - "scattercarpet.visible": { - "params": { - "plotly_name": "visible", - "parent_name": "scattercarpet", - "edit_type": "calc", - "values": [ - true, - false, - "legendonly" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.unselected": { - "params": { - "plotly_name": "unselected", - "parent_name": "scattercarpet", - "data_class_str": "Unselected", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattercarpet.unselected.textfont": { - "params": { - "plotly_name": "textfont", - "parent_name": "scattercarpet.unselected", - "data_class_str": "Textfont", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattercarpet.unselected.textfont.color": { - "params": { - "plotly_name": "color", - "parent_name": "scattercarpet.unselected.textfont", - "edit_type": "style" - }, - "superclass": "ColorValidator" - }, - "scattercarpet.unselected.marker": { - "params": { - "plotly_name": "marker", - "parent_name": "scattercarpet.unselected", - "data_class_str": "Marker", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattercarpet.unselected.marker.size": { - "params": { - "plotly_name": "size", - "parent_name": "scattercarpet.unselected.marker", - "edit_type": "style", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.unselected.marker.opacity": { - "params": { - "plotly_name": "opacity", - "parent_name": "scattercarpet.unselected.marker", - "edit_type": "style", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.unselected.marker.color": { - "params": { - "plotly_name": "color", - "parent_name": "scattercarpet.unselected.marker", - "edit_type": "style" - }, - "superclass": "ColorValidator" - }, - "scattercarpet.uirevision": { - "params": { - "plotly_name": "uirevision", - "parent_name": "scattercarpet", - "edit_type": "none" - }, - "superclass": "AnyValidator" - }, - "scattercarpet.uid": { - "params": { - "plotly_name": "uid", - "parent_name": "scattercarpet", - "edit_type": "plot" - }, - "superclass": "StringValidator" - }, - "scattercarpet.texttemplatesrc": { - "params": { - "plotly_name": "texttemplatesrc", - "parent_name": "scattercarpet", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.texttemplatefallback": { - "params": { - "plotly_name": "texttemplatefallback", - "parent_name": "scattercarpet", - "edit_type": "plot" - }, - "superclass": "AnyValidator" - }, - "scattercarpet.texttemplate": { - "params": { - "plotly_name": "texttemplate", - "parent_name": "scattercarpet", - "array_ok": true, - "edit_type": "plot" - }, - "superclass": "StringValidator" - }, - "scattercarpet.textsrc": { - "params": { - "plotly_name": "textsrc", - "parent_name": "scattercarpet", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.textpositionsrc": { - "params": { - "plotly_name": "textpositionsrc", - "parent_name": "scattercarpet", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.textposition": { - "params": { - "plotly_name": "textposition", - "parent_name": "scattercarpet", - "array_ok": true, - "edit_type": "calc", - "values": [ - "top left", - "top center", - "top right", - "middle left", - "middle center", - "middle right", - "bottom left", - "bottom center", - "bottom right" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.textfont": { - "params": { - "plotly_name": "textfont", - "parent_name": "scattercarpet", - "data_class_str": "Textfont", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattercarpet.textfont.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "scattercarpet.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.textfont.weight": { - "params": { - "plotly_name": "weight", - "parent_name": "scattercarpet.textfont", - "array_ok": true, - "edit_type": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "scattercarpet.textfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "scattercarpet.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.textfont.variant": { - "params": { - "plotly_name": "variant", - "parent_name": "scattercarpet.textfont", - "array_ok": true, - "edit_type": "calc", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.textfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "scattercarpet.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.textfont.textcase": { - "params": { - "plotly_name": "textcase", - "parent_name": "scattercarpet.textfont", - "array_ok": true, - "edit_type": "calc", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.textfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "scattercarpet.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.textfont.style": { - "params": { - "plotly_name": "style", - "parent_name": "scattercarpet.textfont", - "array_ok": true, - "edit_type": "calc", - "values": [ - "normal", - "italic" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.textfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scattercarpet.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.textfont.size": { - "params": { - "plotly_name": "size", - "parent_name": "scattercarpet.textfont", - "array_ok": true, - "edit_type": "calc", - "min": 1 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.textfont.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "scattercarpet.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.textfont.shadow": { - "params": { - "plotly_name": "shadow", - "parent_name": "scattercarpet.textfont", - "array_ok": true, - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scattercarpet.textfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "scattercarpet.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.textfont.lineposition": { - "params": { - "plotly_name": "lineposition", - "parent_name": "scattercarpet.textfont", - "array_ok": true, - "edit_type": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] - }, - "superclass": "FlaglistValidator" - }, - "scattercarpet.textfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "scattercarpet.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.textfont.family": { - "params": { - "plotly_name": "family", - "parent_name": "scattercarpet.textfont", - "array_ok": true, - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scattercarpet.textfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scattercarpet.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.textfont.color": { - "params": { - "plotly_name": "color", - "parent_name": "scattercarpet.textfont", - "array_ok": true, - "edit_type": "style" - }, - "superclass": "ColorValidator" - }, - "scattercarpet.text": { - "params": { - "plotly_name": "text", - "parent_name": "scattercarpet", - "array_ok": true, - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scattercarpet.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "scattercarpet", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattercarpet.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "scattercarpet.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scattercarpet.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "scattercarpet.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.showlegend": { - "params": { - "plotly_name": "showlegend", - "parent_name": "scattercarpet", - "edit_type": "style" - }, - "superclass": "BooleanValidator" - }, - "scattercarpet.selectedpoints": { - "params": { - "plotly_name": "selectedpoints", - "parent_name": "scattercarpet", - "edit_type": "calc" - }, - "superclass": "AnyValidator" - }, - "scattercarpet.selected": { - "params": { - "plotly_name": "selected", - "parent_name": "scattercarpet", - "data_class_str": "Selected", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattercarpet.selected.textfont": { - "params": { - "plotly_name": "textfont", - "parent_name": "scattercarpet.selected", - "data_class_str": "Textfont", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattercarpet.selected.textfont.color": { - "params": { - "plotly_name": "color", - "parent_name": "scattercarpet.selected.textfont", - "edit_type": "style" - }, - "superclass": "ColorValidator" - }, - "scattercarpet.selected.marker": { - "params": { - "plotly_name": "marker", - "parent_name": "scattercarpet.selected", - "data_class_str": "Marker", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattercarpet.selected.marker.size": { - "params": { - "plotly_name": "size", - "parent_name": "scattercarpet.selected.marker", - "edit_type": "style", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.selected.marker.opacity": { - "params": { - "plotly_name": "opacity", - "parent_name": "scattercarpet.selected.marker", - "edit_type": "style", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.selected.marker.color": { - "params": { - "plotly_name": "color", - "parent_name": "scattercarpet.selected.marker", - "edit_type": "style" - }, - "superclass": "ColorValidator" - }, - "scattercarpet.opacity": { - "params": { - "plotly_name": "opacity", - "parent_name": "scattercarpet", - "edit_type": "style", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.name": { - "params": { - "plotly_name": "name", - "parent_name": "scattercarpet", - "edit_type": "style" - }, - "superclass": "StringValidator" - }, - "scattercarpet.mode": { - "params": { - "plotly_name": "mode", - "parent_name": "scattercarpet", - "edit_type": "calc", - "extras": [ - "none" - ], - "flags": [ - "lines", - "markers", - "text" - ] - }, - "superclass": "FlaglistValidator" - }, - "scattercarpet.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "scattercarpet", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.meta": { - "params": { - "plotly_name": "meta", - "parent_name": "scattercarpet", - "array_ok": true, - "edit_type": "plot" - }, - "superclass": "AnyValidator" - }, - "scattercarpet.marker": { - "params": { - "plotly_name": "marker", - "parent_name": "scattercarpet", - "data_class_str": "Marker", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattercarpet.marker.symbolsrc": { - "params": { - "plotly_name": "symbolsrc", - "parent_name": "scattercarpet.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.marker.symbol": { - "params": { - "plotly_name": "symbol", - "parent_name": "scattercarpet.marker", - "array_ok": true, - "edit_type": "style", - "values": [ - 0, - "0", - "circle", - 100, - "100", - "circle-open", - 200, - "200", - "circle-dot", - 300, - "300", - "circle-open-dot", - 1, - "1", - "square", - 101, - "101", - "square-open", - 201, - "201", - "square-dot", - 301, - "301", - "square-open-dot", - 2, - "2", - "diamond", - 102, - "102", - "diamond-open", - 202, - "202", - "diamond-dot", - 302, - "302", - "diamond-open-dot", - 3, - "3", - "cross", - 103, - "103", - "cross-open", - 203, - "203", - "cross-dot", - 303, - "303", - "cross-open-dot", - 4, - "4", - "x", - 104, - "104", - "x-open", - 204, - "204", - "x-dot", - 304, - "304", - "x-open-dot", - 5, - "5", - "triangle-up", - 105, - "105", - "triangle-up-open", - 205, - "205", - "triangle-up-dot", - 305, - "305", - "triangle-up-open-dot", - 6, - "6", - "triangle-down", - 106, - "106", - "triangle-down-open", - 206, - "206", - "triangle-down-dot", - 306, - "306", - "triangle-down-open-dot", - 7, - "7", - "triangle-left", - 107, - "107", - "triangle-left-open", - 207, - "207", - "triangle-left-dot", - 307, - "307", - "triangle-left-open-dot", - 8, - "8", - "triangle-right", - 108, - "108", - "triangle-right-open", - 208, - "208", - "triangle-right-dot", - 308, - "308", - "triangle-right-open-dot", - 9, - "9", - "triangle-ne", - 109, - "109", - "triangle-ne-open", - 209, - "209", - "triangle-ne-dot", - 309, - "309", - "triangle-ne-open-dot", - 10, - "10", - "triangle-se", - 110, - "110", - "triangle-se-open", - 210, - "210", - "triangle-se-dot", - 310, - "310", - "triangle-se-open-dot", - 11, - "11", - "triangle-sw", - 111, - "111", - "triangle-sw-open", - 211, - "211", - "triangle-sw-dot", - 311, - "311", - "triangle-sw-open-dot", - 12, - "12", - "triangle-nw", - 112, - "112", - "triangle-nw-open", - 212, - "212", - "triangle-nw-dot", - 312, - "312", - "triangle-nw-open-dot", - 13, - "13", - "pentagon", - 113, - "113", - "pentagon-open", - 213, - "213", - "pentagon-dot", - 313, - "313", - "pentagon-open-dot", - 14, - "14", - "hexagon", - 114, - "114", - "hexagon-open", - 214, - "214", - "hexagon-dot", - 314, - "314", - "hexagon-open-dot", - 15, - "15", - "hexagon2", - 115, - "115", - "hexagon2-open", - 215, - "215", - "hexagon2-dot", - 315, - "315", - "hexagon2-open-dot", - 16, - "16", - "octagon", - 116, - "116", - "octagon-open", - 216, - "216", - "octagon-dot", - 316, - "316", - "octagon-open-dot", - 17, - "17", - "star", - 117, - "117", - "star-open", - 217, - "217", - "star-dot", - 317, - "317", - "star-open-dot", - 18, - "18", - "hexagram", - 118, - "118", - "hexagram-open", - 218, - "218", - "hexagram-dot", - 318, - "318", - "hexagram-open-dot", - 19, - "19", - "star-triangle-up", - 119, - "119", - "star-triangle-up-open", - 219, - "219", - "star-triangle-up-dot", - 319, - "319", - "star-triangle-up-open-dot", - 20, - "20", - "star-triangle-down", - 120, - "120", - "star-triangle-down-open", - 220, - "220", - "star-triangle-down-dot", - 320, - "320", - "star-triangle-down-open-dot", - 21, - "21", - "star-square", - 121, - "121", - "star-square-open", - 221, - "221", - "star-square-dot", - 321, - "321", - "star-square-open-dot", - 22, - "22", - "star-diamond", - 122, - "122", - "star-diamond-open", - 222, - "222", - "star-diamond-dot", - 322, - "322", - "star-diamond-open-dot", - 23, - "23", - "diamond-tall", - 123, - "123", - "diamond-tall-open", - 223, - "223", - "diamond-tall-dot", - 323, - "323", - "diamond-tall-open-dot", - 24, - "24", - "diamond-wide", - 124, - "124", - "diamond-wide-open", - 224, - "224", - "diamond-wide-dot", - 324, - "324", - "diamond-wide-open-dot", - 25, - "25", - "hourglass", - 125, - "125", - "hourglass-open", - 26, - "26", - "bowtie", - 126, - "126", - "bowtie-open", - 27, - "27", - "circle-cross", - 127, - "127", - "circle-cross-open", - 28, - "28", - "circle-x", - 128, - "128", - "circle-x-open", - 29, - "29", - "square-cross", - 129, - "129", - "square-cross-open", - 30, - "30", - "square-x", - 130, - "130", - "square-x-open", - 31, - "31", - "diamond-cross", - 131, - "131", - "diamond-cross-open", - 32, - "32", - "diamond-x", - 132, - "132", - "diamond-x-open", - 33, - "33", - "cross-thin", - 133, - "133", - "cross-thin-open", - 34, - "34", - "x-thin", - 134, - "134", - "x-thin-open", - 35, - "35", - "asterisk", - 135, - "135", - "asterisk-open", - 36, - "36", - "hash", - 136, - "136", - "hash-open", - 236, - "236", - "hash-dot", - 336, - "336", - "hash-open-dot", - 37, - "37", - "y-up", - 137, - "137", - "y-up-open", - 38, - "38", - "y-down", - 138, - "138", - "y-down-open", - 39, - "39", - "y-left", - 139, - "139", - "y-left-open", - 40, - "40", - "y-right", - 140, - "140", - "y-right-open", - 41, - "41", - "line-ew", - 141, - "141", - "line-ew-open", - 42, - "42", - "line-ns", - 142, - "142", - "line-ns-open", - 43, - "43", - "line-ne", - 143, - "143", - "line-ne-open", - 44, - "44", - "line-nw", - 144, - "144", - "line-nw-open", - 45, - "45", - "arrow-up", - 145, - "145", - "arrow-up-open", - 46, - "46", - "arrow-down", - 146, - "146", - "arrow-down-open", - 47, - "47", - "arrow-left", - 147, - "147", - "arrow-left-open", - 48, - "48", - "arrow-right", - 148, - "148", - "arrow-right-open", - 49, - "49", - "arrow-bar-up", - 149, - "149", - "arrow-bar-up-open", - 50, - "50", - "arrow-bar-down", - 150, - "150", - "arrow-bar-down-open", - 51, - "51", - "arrow-bar-left", - 151, - "151", - "arrow-bar-left-open", - 52, - "52", - "arrow-bar-right", - 152, - "152", - "arrow-bar-right-open", - 53, - "53", - "arrow", - 153, - "153", - "arrow-open", - 54, - "54", - "arrow-wide", - 154, - "154", - "arrow-wide-open" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.marker.standoffsrc": { - "params": { - "plotly_name": "standoffsrc", - "parent_name": "scattercarpet.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.marker.standoff": { - "params": { - "plotly_name": "standoff", - "parent_name": "scattercarpet.marker", - "array_ok": true, - "edit_type": "plot", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.marker.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scattercarpet.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.marker.sizeref": { - "params": { - "plotly_name": "sizeref", - "parent_name": "scattercarpet.marker", - "edit_type": "calc" - }, - "superclass": "NumberValidator" - }, - "scattercarpet.marker.sizemode": { - "params": { - "plotly_name": "sizemode", - "parent_name": "scattercarpet.marker", - "edit_type": "calc", - "values": [ - "diameter", - "area" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.marker.sizemin": { - "params": { - "plotly_name": "sizemin", - "parent_name": "scattercarpet.marker", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.marker.size": { - "params": { - "plotly_name": "size", - "parent_name": "scattercarpet.marker", - "array_ok": true, - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.marker.showscale": { - "params": { - "plotly_name": "showscale", - "parent_name": "scattercarpet.marker", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scattercarpet.marker.reversescale": { - "params": { - "plotly_name": "reversescale", - "parent_name": "scattercarpet.marker", - "edit_type": "plot" - }, - "superclass": "BooleanValidator" - }, - "scattercarpet.marker.opacitysrc": { - "params": { - "plotly_name": "opacitysrc", - "parent_name": "scattercarpet.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.marker.opacity": { - "params": { - "plotly_name": "opacity", - "parent_name": "scattercarpet.marker", - "array_ok": true, - "edit_type": "style", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.marker.maxdisplayed": { - "params": { - "plotly_name": "maxdisplayed", - "parent_name": "scattercarpet.marker", - "edit_type": "plot", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.marker.line": { - "params": { - "plotly_name": "line", - "parent_name": "scattercarpet.marker", - "data_class_str": "Line", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattercarpet.marker.line.widthsrc": { - "params": { - "plotly_name": "widthsrc", - "parent_name": "scattercarpet.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.marker.line.width": { - "params": { - "plotly_name": "width", - "parent_name": "scattercarpet.marker.line", - "array_ok": true, - "edit_type": "style", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.marker.line.reversescale": { - "params": { - "plotly_name": "reversescale", - "parent_name": "scattercarpet.marker.line", - "edit_type": "plot" - }, - "superclass": "BooleanValidator" - }, - "scattercarpet.marker.line.dashsrc": { - "params": { - "plotly_name": "dashsrc", - "parent_name": "scattercarpet.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.marker.line.dash": { - "params": { - "plotly_name": "dash", - "parent_name": "scattercarpet.marker.line", - "array_ok": true, - "edit_type": "style", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ] - }, - "superclass": "DashValidator" - }, - "scattercarpet.marker.line.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scattercarpet.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.marker.line.colorscale": { - "params": { - "plotly_name": "colorscale", - "parent_name": "scattercarpet.marker.line", - "edit_type": "calc", - "implied_edits": { - "autocolorscale": false - } - }, - "superclass": "ColorscaleValidator" - }, - "scattercarpet.marker.line.coloraxis": { - "params": { - "plotly_name": "coloraxis", - "parent_name": "scattercarpet.marker.line", - "dflt": null, - "edit_type": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" - }, - "superclass": "SubplotidValidator" - }, - "scattercarpet.marker.line.color": { - "params": { - "plotly_name": "color", - "parent_name": "scattercarpet.marker.line", - "array_ok": true, - "edit_type": "style", - "colorscale_path": "scattercarpet.marker.line.colorscale" - }, - "superclass": "ColorValidator" - }, - "scattercarpet.marker.line.cmin": { - "params": { - "plotly_name": "cmin", - "parent_name": "scattercarpet.marker.line", - "edit_type": "plot", - "implied_edits": { - "cauto": false - } - }, - "superclass": "NumberValidator" - }, - "scattercarpet.marker.line.cmid": { - "params": { - "plotly_name": "cmid", - "parent_name": "scattercarpet.marker.line", - "edit_type": "calc", - "implied_edits": {} - }, - "superclass": "NumberValidator" - }, - "scattercarpet.marker.line.cmax": { - "params": { - "plotly_name": "cmax", - "parent_name": "scattercarpet.marker.line", - "edit_type": "plot", - "implied_edits": { - "cauto": false - } - }, - "superclass": "NumberValidator" - }, - "scattercarpet.marker.line.cauto": { - "params": { - "plotly_name": "cauto", - "parent_name": "scattercarpet.marker.line", - "edit_type": "calc", - "implied_edits": {} - }, - "superclass": "BooleanValidator" - }, - "scattercarpet.marker.line.autocolorscale": { - "params": { - "plotly_name": "autocolorscale", - "parent_name": "scattercarpet.marker.line", - "edit_type": "calc", - "implied_edits": {} - }, - "superclass": "BooleanValidator" - }, - "scattercarpet.marker.gradient": { - "params": { - "plotly_name": "gradient", - "parent_name": "scattercarpet.marker", - "data_class_str": "Gradient", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattercarpet.marker.gradient.typesrc": { - "params": { - "plotly_name": "typesrc", - "parent_name": "scattercarpet.marker.gradient", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.marker.gradient.type": { - "params": { - "plotly_name": "type", - "parent_name": "scattercarpet.marker.gradient", - "array_ok": true, - "edit_type": "calc", - "values": [ - "radial", - "horizontal", - "vertical", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.marker.gradient.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scattercarpet.marker.gradient", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.marker.gradient.color": { - "params": { - "plotly_name": "color", - "parent_name": "scattercarpet.marker.gradient", - "array_ok": true, - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scattercarpet.marker.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scattercarpet.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.marker.colorscale": { - "params": { - "plotly_name": "colorscale", - "parent_name": "scattercarpet.marker", - "edit_type": "calc", - "implied_edits": { - "autocolorscale": false - } - }, - "superclass": "ColorscaleValidator" - }, - "scattercarpet.marker.colorbar": { - "params": { - "plotly_name": "colorbar", - "parent_name": "scattercarpet.marker", - "data_class_str": "ColorBar", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattercarpet.marker.colorbar.yref": { - "params": { - "plotly_name": "yref", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "container", - "paper" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.marker.colorbar.ypad": { - "params": { - "plotly_name": "ypad", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.marker.colorbar.yanchor": { - "params": { - "plotly_name": "yanchor", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "top", - "middle", - "bottom" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.marker.colorbar.y": { - "params": { - "plotly_name": "y", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars" - }, - "superclass": "NumberValidator" - }, - "scattercarpet.marker.colorbar.xref": { - "params": { - "plotly_name": "xref", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "container", - "paper" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.marker.colorbar.xpad": { - "params": { - "plotly_name": "xpad", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.marker.colorbar.xanchor": { - "params": { - "plotly_name": "xanchor", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "left", - "center", - "right" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.marker.colorbar.x": { - "params": { - "plotly_name": "x", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars" - }, - "superclass": "NumberValidator" - }, - "scattercarpet.marker.colorbar.title": { - "params": { - "plotly_name": "title", - "parent_name": "scattercarpet.marker.colorbar", - "data_class_str": "Title", - "data_docs": "\n" - }, - "superclass": "TitleValidator" - }, - "scattercarpet.marker.colorbar.title.text": { - "params": { - "plotly_name": "text", - "parent_name": "scattercarpet.marker.colorbar.title", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "scattercarpet.marker.colorbar.title.side": { - "params": { - "plotly_name": "side", - "parent_name": "scattercarpet.marker.colorbar.title", - "edit_type": "colorbars", - "values": [ - "right", - "top", - "bottom" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.marker.colorbar.title.font": { - "params": { - "plotly_name": "font", - "parent_name": "scattercarpet.marker.colorbar.title", - "data_class_str": "Font", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattercarpet.marker.colorbar.title.font.weight": { - "params": { - "plotly_name": "weight", - "parent_name": "scattercarpet.marker.colorbar.title.font", - "edit_type": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "scattercarpet.marker.colorbar.title.font.variant": { - "params": { - "plotly_name": "variant", - "parent_name": "scattercarpet.marker.colorbar.title.font", - "edit_type": "colorbars", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.marker.colorbar.title.font.textcase": { - "params": { - "plotly_name": "textcase", - "parent_name": "scattercarpet.marker.colorbar.title.font", - "edit_type": "colorbars", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.marker.colorbar.title.font.style": { - "params": { - "plotly_name": "style", - "parent_name": "scattercarpet.marker.colorbar.title.font", - "edit_type": "colorbars", - "values": [ - "normal", - "italic" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.marker.colorbar.title.font.size": { - "params": { - "plotly_name": "size", - "parent_name": "scattercarpet.marker.colorbar.title.font", - "edit_type": "colorbars", - "min": 1 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.marker.colorbar.title.font.shadow": { - "params": { - "plotly_name": "shadow", - "parent_name": "scattercarpet.marker.colorbar.title.font", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "scattercarpet.marker.colorbar.title.font.lineposition": { - "params": { - "plotly_name": "lineposition", - "parent_name": "scattercarpet.marker.colorbar.title.font", - "edit_type": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] - }, - "superclass": "FlaglistValidator" - }, - "scattercarpet.marker.colorbar.title.font.family": { - "params": { - "plotly_name": "family", - "parent_name": "scattercarpet.marker.colorbar.title.font", - "edit_type": "colorbars", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scattercarpet.marker.colorbar.title.font.color": { - "params": { - "plotly_name": "color", - "parent_name": "scattercarpet.marker.colorbar.title.font", - "edit_type": "colorbars" - }, - "superclass": "ColorValidator" - }, - "scattercarpet.marker.colorbar.tickwidth": { - "params": { - "plotly_name": "tickwidth", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.marker.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.marker.colorbar.tickvals": { - "params": { - "plotly_name": "tickvals", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars" - }, - "superclass": "DataArrayValidator" - }, - "scattercarpet.marker.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.marker.colorbar.ticktext": { - "params": { - "plotly_name": "ticktext", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars" - }, - "superclass": "DataArrayValidator" - }, - "scattercarpet.marker.colorbar.ticksuffix": { - "params": { - "plotly_name": "ticksuffix", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "scattercarpet.marker.colorbar.ticks": { - "params": { - "plotly_name": "ticks", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "outside", - "inside", - "" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.marker.colorbar.tickprefix": { - "params": { - "plotly_name": "tickprefix", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "scattercarpet.marker.colorbar.tickmode": { - "params": { - "plotly_name": "tickmode", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "implied_edits": {}, - "values": [ - "auto", - "linear", - "array" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.marker.colorbar.ticklen": { - "params": { - "plotly_name": "ticklen", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.marker.colorbar.ticklabelstep": { - "params": { - "plotly_name": "ticklabelstep", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "scattercarpet.marker.colorbar.ticklabelposition": { - "params": { - "plotly_name": "ticklabelposition", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.marker.colorbar.ticklabeloverflow": { - "params": { - "plotly_name": "ticklabeloverflow", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "allow", - "hide past div", - "hide past domain" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.marker.colorbar.tickformatstopdefaults": { - "params": { - "plotly_name": "tickformatstopdefaults", - "parent_name": "scattercarpet.marker.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattercarpet.marker.colorbar.tickformatstops": { - "params": { - "plotly_name": "tickformatstops", - "parent_name": "scattercarpet.marker.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" - }, - "superclass": "CompoundArrayValidator" - }, - "scattercarpet.marker.colorbar.tickformatstop.value": { - "params": { - "plotly_name": "value", - "parent_name": "scattercarpet.marker.colorbar.tickformatstop", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "scattercarpet.marker.colorbar.tickformatstop.templateitemname": { - "params": { - "plotly_name": "templateitemname", - "parent_name": "scattercarpet.marker.colorbar.tickformatstop", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "scattercarpet.marker.colorbar.tickformatstop.name": { - "params": { - "plotly_name": "name", - "parent_name": "scattercarpet.marker.colorbar.tickformatstop", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "scattercarpet.marker.colorbar.tickformatstop.enabled": { - "params": { - "plotly_name": "enabled", - "parent_name": "scattercarpet.marker.colorbar.tickformatstop", - "edit_type": "colorbars" - }, - "superclass": "BooleanValidator" - }, - "scattercarpet.marker.colorbar.tickformatstop.dtickrange": { - "params": { - "plotly_name": "dtickrange", - "parent_name": "scattercarpet.marker.colorbar.tickformatstop", - "edit_type": "colorbars", - "items": [ - { - "editType": "colorbars", - "valType": "any" - }, - { - "editType": "colorbars", - "valType": "any" - } - ] - }, - "superclass": "InfoArrayValidator" - }, - "scattercarpet.marker.colorbar.tickformat": { - "params": { - "plotly_name": "tickformat", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "scattercarpet.marker.colorbar.tickfont": { - "params": { - "plotly_name": "tickfont", - "parent_name": "scattercarpet.marker.colorbar", - "data_class_str": "Tickfont", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattercarpet.marker.colorbar.tickfont.weight": { - "params": { - "plotly_name": "weight", - "parent_name": "scattercarpet.marker.colorbar.tickfont", - "edit_type": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "scattercarpet.marker.colorbar.tickfont.variant": { - "params": { - "plotly_name": "variant", - "parent_name": "scattercarpet.marker.colorbar.tickfont", - "edit_type": "colorbars", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.marker.colorbar.tickfont.textcase": { - "params": { - "plotly_name": "textcase", - "parent_name": "scattercarpet.marker.colorbar.tickfont", - "edit_type": "colorbars", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.marker.colorbar.tickfont.style": { - "params": { - "plotly_name": "style", - "parent_name": "scattercarpet.marker.colorbar.tickfont", - "edit_type": "colorbars", - "values": [ - "normal", - "italic" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.marker.colorbar.tickfont.size": { - "params": { - "plotly_name": "size", - "parent_name": "scattercarpet.marker.colorbar.tickfont", - "edit_type": "colorbars", - "min": 1 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.marker.colorbar.tickfont.shadow": { - "params": { - "plotly_name": "shadow", - "parent_name": "scattercarpet.marker.colorbar.tickfont", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "scattercarpet.marker.colorbar.tickfont.lineposition": { - "params": { - "plotly_name": "lineposition", - "parent_name": "scattercarpet.marker.colorbar.tickfont", - "edit_type": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] - }, - "superclass": "FlaglistValidator" - }, - "scattercarpet.marker.colorbar.tickfont.family": { - "params": { - "plotly_name": "family", - "parent_name": "scattercarpet.marker.colorbar.tickfont", - "edit_type": "colorbars", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scattercarpet.marker.colorbar.tickfont.color": { - "params": { - "plotly_name": "color", - "parent_name": "scattercarpet.marker.colorbar.tickfont", - "edit_type": "colorbars" - }, - "superclass": "ColorValidator" - }, - "scattercarpet.marker.colorbar.tickcolor": { - "params": { - "plotly_name": "tickcolor", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars" - }, - "superclass": "ColorValidator" - }, - "scattercarpet.marker.colorbar.tickangle": { - "params": { - "plotly_name": "tickangle", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars" - }, - "superclass": "AngleValidator" - }, - "scattercarpet.marker.colorbar.tick0": { - "params": { - "plotly_name": "tick0", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "implied_edits": { - "tickmode": "linear" - } - }, - "superclass": "AnyValidator" - }, - "scattercarpet.marker.colorbar.thicknessmode": { - "params": { - "plotly_name": "thicknessmode", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "fraction", - "pixels" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.marker.colorbar.thickness": { - "params": { - "plotly_name": "thickness", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.marker.colorbar.showticksuffix": { - "params": { - "plotly_name": "showticksuffix", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.marker.colorbar.showtickprefix": { - "params": { - "plotly_name": "showtickprefix", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.marker.colorbar.showticklabels": { - "params": { - "plotly_name": "showticklabels", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars" - }, - "superclass": "BooleanValidator" - }, - "scattercarpet.marker.colorbar.showexponent": { - "params": { - "plotly_name": "showexponent", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.marker.colorbar.separatethousands": { - "params": { - "plotly_name": "separatethousands", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars" - }, - "superclass": "BooleanValidator" - }, - "scattercarpet.marker.colorbar.outlinewidth": { - "params": { - "plotly_name": "outlinewidth", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.marker.colorbar.outlinecolor": { - "params": { - "plotly_name": "outlinecolor", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars" - }, - "superclass": "ColorValidator" - }, - "scattercarpet.marker.colorbar.orientation": { - "params": { - "plotly_name": "orientation", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "h", - "v" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.marker.colorbar.nticks": { - "params": { - "plotly_name": "nticks", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "IntegerValidator" - }, - "scattercarpet.marker.colorbar.minexponent": { - "params": { - "plotly_name": "minexponent", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.marker.colorbar.lenmode": { - "params": { - "plotly_name": "lenmode", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "fraction", - "pixels" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.marker.colorbar.len": { - "params": { - "plotly_name": "len", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.marker.colorbar.labelalias": { - "params": { - "plotly_name": "labelalias", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars" - }, - "superclass": "AnyValidator" - }, - "scattercarpet.marker.colorbar.exponentformat": { - "params": { - "plotly_name": "exponentformat", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.marker.colorbar.dtick": { - "params": { - "plotly_name": "dtick", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "implied_edits": { - "tickmode": "linear" - } - }, - "superclass": "AnyValidator" - }, - "scattercarpet.marker.colorbar.borderwidth": { - "params": { - "plotly_name": "borderwidth", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.marker.colorbar.bordercolor": { - "params": { - "plotly_name": "bordercolor", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars" - }, - "superclass": "ColorValidator" - }, - "scattercarpet.marker.colorbar.bgcolor": { - "params": { - "plotly_name": "bgcolor", - "parent_name": "scattercarpet.marker.colorbar", - "edit_type": "colorbars" - }, - "superclass": "ColorValidator" - }, - "scattercarpet.marker.coloraxis": { - "params": { - "plotly_name": "coloraxis", - "parent_name": "scattercarpet.marker", - "dflt": null, - "edit_type": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" - }, - "superclass": "SubplotidValidator" - }, - "scattercarpet.marker.color": { - "params": { - "plotly_name": "color", - "parent_name": "scattercarpet.marker", - "array_ok": true, - "edit_type": "style", - "colorscale_path": "scattercarpet.marker.colorscale" - }, - "superclass": "ColorValidator" - }, - "scattercarpet.marker.cmin": { - "params": { - "plotly_name": "cmin", - "parent_name": "scattercarpet.marker", - "edit_type": "plot", - "implied_edits": { - "cauto": false - } - }, - "superclass": "NumberValidator" - }, - "scattercarpet.marker.cmid": { - "params": { - "plotly_name": "cmid", - "parent_name": "scattercarpet.marker", - "edit_type": "calc", - "implied_edits": {} - }, - "superclass": "NumberValidator" - }, - "scattercarpet.marker.cmax": { - "params": { - "plotly_name": "cmax", - "parent_name": "scattercarpet.marker", - "edit_type": "plot", - "implied_edits": { - "cauto": false - } - }, - "superclass": "NumberValidator" - }, - "scattercarpet.marker.cauto": { - "params": { - "plotly_name": "cauto", - "parent_name": "scattercarpet.marker", - "edit_type": "calc", - "implied_edits": {} - }, - "superclass": "BooleanValidator" - }, - "scattercarpet.marker.autocolorscale": { - "params": { - "plotly_name": "autocolorscale", - "parent_name": "scattercarpet.marker", - "edit_type": "calc", - "implied_edits": {} - }, - "superclass": "BooleanValidator" - }, - "scattercarpet.marker.anglesrc": { - "params": { - "plotly_name": "anglesrc", - "parent_name": "scattercarpet.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.marker.angleref": { - "params": { - "plotly_name": "angleref", - "parent_name": "scattercarpet.marker", - "edit_type": "plot", - "values": [ - "previous", - "up" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.marker.angle": { - "params": { - "plotly_name": "angle", - "parent_name": "scattercarpet.marker", - "array_ok": true, - "edit_type": "plot" - }, - "superclass": "AngleValidator" - }, - "scattercarpet.line": { - "params": { - "plotly_name": "line", - "parent_name": "scattercarpet", - "data_class_str": "Line", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattercarpet.line.width": { - "params": { - "plotly_name": "width", - "parent_name": "scattercarpet.line", - "edit_type": "style", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.line.smoothing": { - "params": { - "plotly_name": "smoothing", - "parent_name": "scattercarpet.line", - "edit_type": "plot", - "max": 1.3, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.line.shape": { - "params": { - "plotly_name": "shape", - "parent_name": "scattercarpet.line", - "edit_type": "plot", - "values": [ - "linear", - "spline" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.line.dash": { - "params": { - "plotly_name": "dash", - "parent_name": "scattercarpet.line", - "edit_type": "style", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ] - }, - "superclass": "DashValidator" - }, - "scattercarpet.line.color": { - "params": { - "plotly_name": "color", - "parent_name": "scattercarpet.line", - "edit_type": "style" - }, - "superclass": "ColorValidator" - }, - "scattercarpet.line.backoffsrc": { - "params": { - "plotly_name": "backoffsrc", - "parent_name": "scattercarpet.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.line.backoff": { - "params": { - "plotly_name": "backoff", - "parent_name": "scattercarpet.line", - "array_ok": true, - "edit_type": "plot", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.legendwidth": { - "params": { - "plotly_name": "legendwidth", - "parent_name": "scattercarpet", - "edit_type": "style", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.legendrank": { - "params": { - "plotly_name": "legendrank", - "parent_name": "scattercarpet", - "edit_type": "style" - }, - "superclass": "NumberValidator" - }, - "scattercarpet.legendgrouptitle": { - "params": { - "plotly_name": "legendgrouptitle", - "parent_name": "scattercarpet", - "data_class_str": "Legendgrouptitle", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattercarpet.legendgrouptitle.text": { - "params": { - "plotly_name": "text", - "parent_name": "scattercarpet.legendgrouptitle", - "edit_type": "style" - }, - "superclass": "StringValidator" - }, - "scattercarpet.legendgrouptitle.font": { - "params": { - "plotly_name": "font", - "parent_name": "scattercarpet.legendgrouptitle", - "data_class_str": "Font", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattercarpet.legendgrouptitle.font.weight": { - "params": { - "plotly_name": "weight", - "parent_name": "scattercarpet.legendgrouptitle.font", - "edit_type": "style", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "scattercarpet.legendgrouptitle.font.variant": { - "params": { - "plotly_name": "variant", - "parent_name": "scattercarpet.legendgrouptitle.font", - "edit_type": "style", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.legendgrouptitle.font.textcase": { - "params": { - "plotly_name": "textcase", - "parent_name": "scattercarpet.legendgrouptitle.font", - "edit_type": "style", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.legendgrouptitle.font.style": { - "params": { - "plotly_name": "style", - "parent_name": "scattercarpet.legendgrouptitle.font", - "edit_type": "style", - "values": [ - "normal", - "italic" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.legendgrouptitle.font.size": { - "params": { - "plotly_name": "size", - "parent_name": "scattercarpet.legendgrouptitle.font", - "edit_type": "style", - "min": 1 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.legendgrouptitle.font.shadow": { - "params": { - "plotly_name": "shadow", - "parent_name": "scattercarpet.legendgrouptitle.font", - "edit_type": "style" - }, - "superclass": "StringValidator" - }, - "scattercarpet.legendgrouptitle.font.lineposition": { - "params": { - "plotly_name": "lineposition", - "parent_name": "scattercarpet.legendgrouptitle.font", - "edit_type": "style", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] - }, - "superclass": "FlaglistValidator" - }, - "scattercarpet.legendgrouptitle.font.family": { - "params": { - "plotly_name": "family", - "parent_name": "scattercarpet.legendgrouptitle.font", - "edit_type": "style", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scattercarpet.legendgrouptitle.font.color": { - "params": { - "plotly_name": "color", - "parent_name": "scattercarpet.legendgrouptitle.font", - "edit_type": "style" - }, - "superclass": "ColorValidator" - }, - "scattercarpet.legendgroup": { - "params": { - "plotly_name": "legendgroup", - "parent_name": "scattercarpet", - "edit_type": "style" - }, - "superclass": "StringValidator" - }, - "scattercarpet.legend": { - "params": { - "plotly_name": "legend", - "parent_name": "scattercarpet", - "dflt": "legend", - "edit_type": "style" - }, - "superclass": "SubplotidValidator" - }, - "scattercarpet.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "scattercarpet", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.ids": { - "params": { - "plotly_name": "ids", - "parent_name": "scattercarpet", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scattercarpet.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "scattercarpet", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.hovertext": { - "params": { - "plotly_name": "hovertext", - "parent_name": "scattercarpet", - "array_ok": true, - "edit_type": "style" - }, - "superclass": "StringValidator" - }, - "scattercarpet.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "scattercarpet", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.hovertemplatefallback": { - "params": { - "plotly_name": "hovertemplatefallback", - "parent_name": "scattercarpet", - "edit_type": "none" - }, - "superclass": "AnyValidator" - }, - "scattercarpet.hovertemplate": { - "params": { - "plotly_name": "hovertemplate", - "parent_name": "scattercarpet", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "StringValidator" - }, - "scattercarpet.hoveron": { - "params": { - "plotly_name": "hoveron", - "parent_name": "scattercarpet", - "edit_type": "style", - "flags": [ - "points", - "fills" - ] - }, - "superclass": "FlaglistValidator" - }, - "scattercarpet.hoverlabel": { - "params": { - "plotly_name": "hoverlabel", - "parent_name": "scattercarpet", - "data_class_str": "Hoverlabel", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattercarpet.hoverlabel.showarrow": { - "params": { - "plotly_name": "showarrow", - "parent_name": "scattercarpet.hoverlabel", - "edit_type": "none" - }, - "superclass": "BooleanValidator" - }, - "scattercarpet.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "scattercarpet.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.hoverlabel.namelength": { - "params": { - "plotly_name": "namelength", - "parent_name": "scattercarpet.hoverlabel", - "array_ok": true, - "edit_type": "none", - "min": -1 - }, - "superclass": "IntegerValidator" - }, - "scattercarpet.hoverlabel.font": { - "params": { - "plotly_name": "font", - "parent_name": "scattercarpet.hoverlabel", - "data_class_str": "Font", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scattercarpet.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "scattercarpet.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.hoverlabel.font.weight": { - "params": { - "plotly_name": "weight", - "parent_name": "scattercarpet.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "scattercarpet.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "scattercarpet.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.hoverlabel.font.variant": { - "params": { - "plotly_name": "variant", - "parent_name": "scattercarpet.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "scattercarpet.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.hoverlabel.font.textcase": { - "params": { - "plotly_name": "textcase", - "parent_name": "scattercarpet.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "scattercarpet.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.hoverlabel.font.style": { - "params": { - "plotly_name": "style", - "parent_name": "scattercarpet.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "values": [ - "normal", - "italic" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scattercarpet.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.hoverlabel.font.size": { - "params": { - "plotly_name": "size", - "parent_name": "scattercarpet.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "min": 1 - }, - "superclass": "NumberValidator" - }, - "scattercarpet.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "scattercarpet.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.hoverlabel.font.shadow": { - "params": { - "plotly_name": "shadow", - "parent_name": "scattercarpet.hoverlabel.font", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "StringValidator" - }, - "scattercarpet.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "scattercarpet.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.hoverlabel.font.lineposition": { - "params": { - "plotly_name": "lineposition", - "parent_name": "scattercarpet.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] - }, - "superclass": "FlaglistValidator" - }, - "scattercarpet.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "scattercarpet.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.hoverlabel.font.family": { - "params": { - "plotly_name": "family", - "parent_name": "scattercarpet.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scattercarpet.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scattercarpet.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.hoverlabel.font.color": { - "params": { - "plotly_name": "color", - "parent_name": "scattercarpet.hoverlabel.font", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "ColorValidator" - }, - "scattercarpet.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "scattercarpet.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.hoverlabel.bordercolor": { - "params": { - "plotly_name": "bordercolor", - "parent_name": "scattercarpet.hoverlabel", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "ColorValidator" - }, - "scattercarpet.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "scattercarpet.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.hoverlabel.bgcolor": { - "params": { - "plotly_name": "bgcolor", - "parent_name": "scattercarpet.hoverlabel", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "ColorValidator" - }, - "scattercarpet.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "scattercarpet.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.hoverlabel.align": { - "params": { - "plotly_name": "align", - "parent_name": "scattercarpet.hoverlabel", - "array_ok": true, - "edit_type": "none", - "values": [ - "left", - "right", - "auto" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "scattercarpet", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.hoverinfo": { - "params": { - "plotly_name": "hoverinfo", - "parent_name": "scattercarpet", - "array_ok": true, - "edit_type": "none", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "a", - "b", - "text", - "name" - ] - }, - "superclass": "FlaglistValidator" - }, - "scattercarpet.fillcolor": { - "params": { - "plotly_name": "fillcolor", - "parent_name": "scattercarpet", - "edit_type": "style" - }, - "superclass": "ColorValidator" - }, - "scattercarpet.fill": { - "params": { - "plotly_name": "fill", - "parent_name": "scattercarpet", - "edit_type": "calc", - "values": [ - "none", - "toself", - "tonext" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scattercarpet.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "scattercarpet", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.customdata": { - "params": { - "plotly_name": "customdata", - "parent_name": "scattercarpet", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scattercarpet.connectgaps": { - "params": { - "plotly_name": "connectgaps", - "parent_name": "scattercarpet", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scattercarpet.carpet": { - "params": { - "plotly_name": "carpet", - "parent_name": "scattercarpet", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scattercarpet.bsrc": { - "params": { - "plotly_name": "bsrc", - "parent_name": "scattercarpet", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.b": { - "params": { - "plotly_name": "b", - "parent_name": "scattercarpet", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scattercarpet.asrc": { - "params": { - "plotly_name": "asrc", - "parent_name": "scattercarpet", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scattercarpet.a": { - "params": { - "plotly_name": "a", - "parent_name": "scattercarpet", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scatter3d": { - "params": { - "plotly_name": "scatter3d", - "parent_name": "", - "data_class_str": "Scatter3d", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter3d.zsrc": { - "params": { - "plotly_name": "zsrc", - "parent_name": "scatter3d", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.zhoverformat": { - "params": { - "plotly_name": "zhoverformat", - "parent_name": "scatter3d", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter3d.zcalendar": { - "params": { - "plotly_name": "zcalendar", - "parent_name": "scatter3d", - "edit_type": "calc", - "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.z": { - "params": { - "plotly_name": "z", - "parent_name": "scatter3d", - "edit_type": "calc+clearAxisTypes" - }, - "superclass": "DataArrayValidator" - }, - "scatter3d.ysrc": { - "params": { - "plotly_name": "ysrc", - "parent_name": "scatter3d", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.yhoverformat": { - "params": { - "plotly_name": "yhoverformat", - "parent_name": "scatter3d", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter3d.ycalendar": { - "params": { - "plotly_name": "ycalendar", - "parent_name": "scatter3d", - "edit_type": "calc", - "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.y": { - "params": { - "plotly_name": "y", - "parent_name": "scatter3d", - "edit_type": "calc+clearAxisTypes" - }, - "superclass": "DataArrayValidator" - }, - "scatter3d.xsrc": { - "params": { - "plotly_name": "xsrc", - "parent_name": "scatter3d", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.xhoverformat": { - "params": { - "plotly_name": "xhoverformat", - "parent_name": "scatter3d", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter3d.xcalendar": { - "params": { - "plotly_name": "xcalendar", - "parent_name": "scatter3d", - "edit_type": "calc", - "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.x": { - "params": { - "plotly_name": "x", - "parent_name": "scatter3d", - "edit_type": "calc+clearAxisTypes" - }, - "superclass": "DataArrayValidator" - }, - "scatter3d.visible": { - "params": { - "plotly_name": "visible", - "parent_name": "scatter3d", - "edit_type": "calc", - "values": [ - true, - false, - "legendonly" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.uirevision": { - "params": { - "plotly_name": "uirevision", - "parent_name": "scatter3d", - "edit_type": "none" - }, - "superclass": "AnyValidator" - }, - "scatter3d.uid": { - "params": { - "plotly_name": "uid", - "parent_name": "scatter3d", - "edit_type": "plot" - }, - "superclass": "StringValidator" - }, - "scatter3d.texttemplatesrc": { - "params": { - "plotly_name": "texttemplatesrc", - "parent_name": "scatter3d", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.texttemplatefallback": { - "params": { - "plotly_name": "texttemplatefallback", - "parent_name": "scatter3d", - "edit_type": "calc" - }, - "superclass": "AnyValidator" - }, - "scatter3d.texttemplate": { - "params": { - "plotly_name": "texttemplate", - "parent_name": "scatter3d", - "array_ok": true, - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter3d.textsrc": { - "params": { - "plotly_name": "textsrc", - "parent_name": "scatter3d", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.textpositionsrc": { - "params": { - "plotly_name": "textpositionsrc", - "parent_name": "scatter3d", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.textposition": { - "params": { - "plotly_name": "textposition", - "parent_name": "scatter3d", - "array_ok": true, - "edit_type": "calc", - "values": [ - "top left", - "top center", - "top right", - "middle left", - "middle center", - "middle right", - "bottom left", - "bottom center", - "bottom right" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.textfont": { - "params": { - "plotly_name": "textfont", - "parent_name": "scatter3d", - "data_class_str": "Textfont", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter3d.textfont.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "scatter3d.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.textfont.weight": { - "params": { - "plotly_name": "weight", - "parent_name": "scatter3d.textfont", - "array_ok": true, - "edit_type": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "scatter3d.textfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "scatter3d.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.textfont.variant": { - "params": { - "plotly_name": "variant", - "parent_name": "scatter3d.textfont", - "array_ok": true, - "edit_type": "calc", - "values": [ - "normal", - "small-caps" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.textfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "scatter3d.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.textfont.style": { - "params": { - "plotly_name": "style", - "parent_name": "scatter3d.textfont", - "array_ok": true, - "edit_type": "calc", - "values": [ - "normal", - "italic" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.textfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scatter3d.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.textfont.size": { - "params": { - "plotly_name": "size", - "parent_name": "scatter3d.textfont", - "array_ok": true, - "edit_type": "calc", - "min": 1 - }, - "superclass": "NumberValidator" - }, - "scatter3d.textfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "scatter3d.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.textfont.family": { - "params": { - "plotly_name": "family", - "parent_name": "scatter3d.textfont", - "array_ok": true, - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scatter3d.textfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scatter3d.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.textfont.color": { - "params": { - "plotly_name": "color", - "parent_name": "scatter3d.textfont", - "array_ok": true, - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scatter3d.text": { - "params": { - "plotly_name": "text", - "parent_name": "scatter3d", - "array_ok": true, - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter3d.surfacecolor": { - "params": { - "plotly_name": "surfacecolor", - "parent_name": "scatter3d", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scatter3d.surfaceaxis": { - "params": { - "plotly_name": "surfaceaxis", - "parent_name": "scatter3d", - "edit_type": "calc", - "values": [ - -1, - 0, - 1, - 2 - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "scatter3d", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter3d.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "scatter3d.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scatter3d.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "scatter3d.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.showlegend": { - "params": { - "plotly_name": "showlegend", - "parent_name": "scatter3d", - "edit_type": "style" - }, - "superclass": "BooleanValidator" - }, - "scatter3d.scene": { - "params": { - "plotly_name": "scene", - "parent_name": "scatter3d", - "dflt": "scene", - "edit_type": "calc+clearAxisTypes" - }, - "superclass": "SubplotidValidator" - }, - "scatter3d.projection": { - "params": { - "plotly_name": "projection", - "parent_name": "scatter3d", - "data_class_str": "Projection", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter3d.projection.z": { - "params": { - "plotly_name": "z", - "parent_name": "scatter3d.projection", - "data_class_str": "Z", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter3d.projection.z.show": { - "params": { - "plotly_name": "show", - "parent_name": "scatter3d.projection.z", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scatter3d.projection.z.scale": { - "params": { - "plotly_name": "scale", - "parent_name": "scatter3d.projection.z", - "edit_type": "calc", - "max": 10, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.projection.z.opacity": { - "params": { - "plotly_name": "opacity", - "parent_name": "scatter3d.projection.z", - "edit_type": "calc", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.projection.y": { - "params": { - "plotly_name": "y", - "parent_name": "scatter3d.projection", - "data_class_str": "Y", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter3d.projection.y.show": { - "params": { - "plotly_name": "show", - "parent_name": "scatter3d.projection.y", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scatter3d.projection.y.scale": { - "params": { - "plotly_name": "scale", - "parent_name": "scatter3d.projection.y", - "edit_type": "calc", - "max": 10, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.projection.y.opacity": { - "params": { - "plotly_name": "opacity", - "parent_name": "scatter3d.projection.y", - "edit_type": "calc", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.projection.x": { - "params": { - "plotly_name": "x", - "parent_name": "scatter3d.projection", - "data_class_str": "X", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter3d.projection.x.show": { - "params": { - "plotly_name": "show", - "parent_name": "scatter3d.projection.x", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scatter3d.projection.x.scale": { - "params": { - "plotly_name": "scale", - "parent_name": "scatter3d.projection.x", - "edit_type": "calc", - "max": 10, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.projection.x.opacity": { - "params": { - "plotly_name": "opacity", - "parent_name": "scatter3d.projection.x", - "edit_type": "calc", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.opacity": { - "params": { - "plotly_name": "opacity", - "parent_name": "scatter3d", - "edit_type": "calc", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.name": { - "params": { - "plotly_name": "name", - "parent_name": "scatter3d", - "edit_type": "style" - }, - "superclass": "StringValidator" - }, - "scatter3d.mode": { - "params": { - "plotly_name": "mode", - "parent_name": "scatter3d", - "edit_type": "calc", - "extras": [ - "none" - ], - "flags": [ - "lines", - "markers", - "text" - ] - }, - "superclass": "FlaglistValidator" - }, - "scatter3d.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "scatter3d", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.meta": { - "params": { - "plotly_name": "meta", - "parent_name": "scatter3d", - "array_ok": true, - "edit_type": "plot" - }, - "superclass": "AnyValidator" - }, - "scatter3d.marker": { - "params": { - "plotly_name": "marker", - "parent_name": "scatter3d", - "data_class_str": "Marker", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter3d.marker.symbolsrc": { - "params": { - "plotly_name": "symbolsrc", - "parent_name": "scatter3d.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.marker.symbol": { - "params": { - "plotly_name": "symbol", - "parent_name": "scatter3d.marker", - "array_ok": true, - "edit_type": "calc", - "values": [ - "circle", - "circle-open", - "cross", - "diamond", - "diamond-open", - "square", - "square-open", - "x" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.marker.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scatter3d.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.marker.sizeref": { - "params": { - "plotly_name": "sizeref", - "parent_name": "scatter3d.marker", - "edit_type": "calc" - }, - "superclass": "NumberValidator" - }, - "scatter3d.marker.sizemode": { - "params": { - "plotly_name": "sizemode", - "parent_name": "scatter3d.marker", - "edit_type": "calc", - "values": [ - "diameter", - "area" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.marker.sizemin": { - "params": { - "plotly_name": "sizemin", - "parent_name": "scatter3d.marker", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.marker.size": { - "params": { - "plotly_name": "size", - "parent_name": "scatter3d.marker", - "array_ok": true, - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.marker.showscale": { - "params": { - "plotly_name": "showscale", - "parent_name": "scatter3d.marker", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scatter3d.marker.reversescale": { - "params": { - "plotly_name": "reversescale", - "parent_name": "scatter3d.marker", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scatter3d.marker.opacity": { - "params": { - "plotly_name": "opacity", - "parent_name": "scatter3d.marker", - "array_ok": false, - "edit_type": "calc", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.marker.line": { - "params": { - "plotly_name": "line", - "parent_name": "scatter3d.marker", - "data_class_str": "Line", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter3d.marker.line.width": { - "params": { - "plotly_name": "width", - "parent_name": "scatter3d.marker.line", - "array_ok": false, - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.marker.line.reversescale": { - "params": { - "plotly_name": "reversescale", - "parent_name": "scatter3d.marker.line", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scatter3d.marker.line.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scatter3d.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.marker.line.colorscale": { - "params": { - "plotly_name": "colorscale", - "parent_name": "scatter3d.marker.line", - "edit_type": "calc", - "implied_edits": { - "autocolorscale": false - } - }, - "superclass": "ColorscaleValidator" - }, - "scatter3d.marker.line.coloraxis": { - "params": { - "plotly_name": "coloraxis", - "parent_name": "scatter3d.marker.line", - "dflt": null, - "edit_type": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" - }, - "superclass": "SubplotidValidator" - }, - "scatter3d.marker.line.color": { - "params": { - "plotly_name": "color", - "parent_name": "scatter3d.marker.line", - "array_ok": true, - "edit_type": "calc", - "colorscale_path": "scatter3d.marker.line.colorscale" - }, - "superclass": "ColorValidator" - }, - "scatter3d.marker.line.cmin": { - "params": { - "plotly_name": "cmin", - "parent_name": "scatter3d.marker.line", - "edit_type": "calc", - "implied_edits": { - "cauto": false - } - }, - "superclass": "NumberValidator" - }, - "scatter3d.marker.line.cmid": { - "params": { - "plotly_name": "cmid", - "parent_name": "scatter3d.marker.line", - "edit_type": "calc", - "implied_edits": {} - }, - "superclass": "NumberValidator" - }, - "scatter3d.marker.line.cmax": { - "params": { - "plotly_name": "cmax", - "parent_name": "scatter3d.marker.line", - "edit_type": "calc", - "implied_edits": { - "cauto": false - } - }, - "superclass": "NumberValidator" - }, - "scatter3d.marker.line.cauto": { - "params": { - "plotly_name": "cauto", - "parent_name": "scatter3d.marker.line", - "edit_type": "calc", - "implied_edits": {} - }, - "superclass": "BooleanValidator" - }, - "scatter3d.marker.line.autocolorscale": { - "params": { - "plotly_name": "autocolorscale", - "parent_name": "scatter3d.marker.line", - "edit_type": "calc", - "implied_edits": {} - }, - "superclass": "BooleanValidator" - }, - "scatter3d.marker.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scatter3d.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.marker.colorscale": { - "params": { - "plotly_name": "colorscale", - "parent_name": "scatter3d.marker", - "edit_type": "calc", - "implied_edits": { - "autocolorscale": false - } - }, - "superclass": "ColorscaleValidator" - }, - "scatter3d.marker.colorbar": { - "params": { - "plotly_name": "colorbar", - "parent_name": "scatter3d.marker", - "data_class_str": "ColorBar", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter3d.marker.colorbar.yref": { - "params": { - "plotly_name": "yref", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "values": [ - "container", - "paper" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.marker.colorbar.ypad": { - "params": { - "plotly_name": "ypad", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.marker.colorbar.yanchor": { - "params": { - "plotly_name": "yanchor", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "values": [ - "top", - "middle", - "bottom" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.marker.colorbar.y": { - "params": { - "plotly_name": "y", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "NumberValidator" - }, - "scatter3d.marker.colorbar.xref": { - "params": { - "plotly_name": "xref", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "values": [ - "container", - "paper" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.marker.colorbar.xpad": { - "params": { - "plotly_name": "xpad", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.marker.colorbar.xanchor": { - "params": { - "plotly_name": "xanchor", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "values": [ - "left", - "center", - "right" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.marker.colorbar.x": { - "params": { - "plotly_name": "x", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "NumberValidator" - }, - "scatter3d.marker.colorbar.title": { - "params": { - "plotly_name": "title", - "parent_name": "scatter3d.marker.colorbar", - "data_class_str": "Title", - "data_docs": "\n" - }, - "superclass": "TitleValidator" - }, - "scatter3d.marker.colorbar.title.text": { - "params": { - "plotly_name": "text", - "parent_name": "scatter3d.marker.colorbar.title", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter3d.marker.colorbar.title.side": { - "params": { - "plotly_name": "side", - "parent_name": "scatter3d.marker.colorbar.title", - "edit_type": "calc", - "values": [ - "right", - "top", - "bottom" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.marker.colorbar.title.font": { - "params": { - "plotly_name": "font", - "parent_name": "scatter3d.marker.colorbar.title", - "data_class_str": "Font", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter3d.marker.colorbar.title.font.weight": { - "params": { - "plotly_name": "weight", - "parent_name": "scatter3d.marker.colorbar.title.font", - "edit_type": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "scatter3d.marker.colorbar.title.font.variant": { - "params": { - "plotly_name": "variant", - "parent_name": "scatter3d.marker.colorbar.title.font", - "edit_type": "calc", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.marker.colorbar.title.font.textcase": { - "params": { - "plotly_name": "textcase", - "parent_name": "scatter3d.marker.colorbar.title.font", - "edit_type": "calc", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.marker.colorbar.title.font.style": { - "params": { - "plotly_name": "style", - "parent_name": "scatter3d.marker.colorbar.title.font", - "edit_type": "calc", - "values": [ - "normal", - "italic" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.marker.colorbar.title.font.size": { - "params": { - "plotly_name": "size", - "parent_name": "scatter3d.marker.colorbar.title.font", - "edit_type": "calc", - "min": 1 - }, - "superclass": "NumberValidator" - }, - "scatter3d.marker.colorbar.title.font.shadow": { - "params": { - "plotly_name": "shadow", - "parent_name": "scatter3d.marker.colorbar.title.font", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter3d.marker.colorbar.title.font.lineposition": { - "params": { - "plotly_name": "lineposition", - "parent_name": "scatter3d.marker.colorbar.title.font", - "edit_type": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] - }, - "superclass": "FlaglistValidator" - }, - "scatter3d.marker.colorbar.title.font.family": { - "params": { - "plotly_name": "family", - "parent_name": "scatter3d.marker.colorbar.title.font", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scatter3d.marker.colorbar.title.font.color": { - "params": { - "plotly_name": "color", - "parent_name": "scatter3d.marker.colorbar.title.font", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scatter3d.marker.colorbar.tickwidth": { - "params": { - "plotly_name": "tickwidth", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.marker.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.marker.colorbar.tickvals": { - "params": { - "plotly_name": "tickvals", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scatter3d.marker.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.marker.colorbar.ticktext": { - "params": { - "plotly_name": "ticktext", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scatter3d.marker.colorbar.ticksuffix": { - "params": { - "plotly_name": "ticksuffix", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter3d.marker.colorbar.ticks": { - "params": { - "plotly_name": "ticks", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "values": [ - "outside", - "inside", - "" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.marker.colorbar.tickprefix": { - "params": { - "plotly_name": "tickprefix", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter3d.marker.colorbar.tickmode": { - "params": { - "plotly_name": "tickmode", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "implied_edits": {}, - "values": [ - "auto", - "linear", - "array" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.marker.colorbar.ticklen": { - "params": { - "plotly_name": "ticklen", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.marker.colorbar.ticklabelstep": { - "params": { - "plotly_name": "ticklabelstep", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "scatter3d.marker.colorbar.ticklabelposition": { - "params": { - "plotly_name": "ticklabelposition", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.marker.colorbar.ticklabeloverflow": { - "params": { - "plotly_name": "ticklabeloverflow", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "values": [ - "allow", - "hide past div", - "hide past domain" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.marker.colorbar.tickformatstopdefaults": { - "params": { - "plotly_name": "tickformatstopdefaults", - "parent_name": "scatter3d.marker.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter3d.marker.colorbar.tickformatstops": { - "params": { - "plotly_name": "tickformatstops", - "parent_name": "scatter3d.marker.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" - }, - "superclass": "CompoundArrayValidator" - }, - "scatter3d.marker.colorbar.tickformatstop.value": { - "params": { - "plotly_name": "value", - "parent_name": "scatter3d.marker.colorbar.tickformatstop", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter3d.marker.colorbar.tickformatstop.templateitemname": { - "params": { - "plotly_name": "templateitemname", - "parent_name": "scatter3d.marker.colorbar.tickformatstop", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter3d.marker.colorbar.tickformatstop.name": { - "params": { - "plotly_name": "name", - "parent_name": "scatter3d.marker.colorbar.tickformatstop", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter3d.marker.colorbar.tickformatstop.enabled": { - "params": { - "plotly_name": "enabled", - "parent_name": "scatter3d.marker.colorbar.tickformatstop", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scatter3d.marker.colorbar.tickformatstop.dtickrange": { - "params": { - "plotly_name": "dtickrange", - "parent_name": "scatter3d.marker.colorbar.tickformatstop", - "edit_type": "calc", - "items": [ - { - "editType": "calc", - "valType": "any" - }, - { - "editType": "calc", - "valType": "any" - } - ] - }, - "superclass": "InfoArrayValidator" - }, - "scatter3d.marker.colorbar.tickformat": { - "params": { - "plotly_name": "tickformat", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter3d.marker.colorbar.tickfont": { - "params": { - "plotly_name": "tickfont", - "parent_name": "scatter3d.marker.colorbar", - "data_class_str": "Tickfont", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter3d.marker.colorbar.tickfont.weight": { - "params": { - "plotly_name": "weight", - "parent_name": "scatter3d.marker.colorbar.tickfont", - "edit_type": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "scatter3d.marker.colorbar.tickfont.variant": { - "params": { - "plotly_name": "variant", - "parent_name": "scatter3d.marker.colorbar.tickfont", - "edit_type": "calc", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.marker.colorbar.tickfont.textcase": { - "params": { - "plotly_name": "textcase", - "parent_name": "scatter3d.marker.colorbar.tickfont", - "edit_type": "calc", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.marker.colorbar.tickfont.style": { - "params": { - "plotly_name": "style", - "parent_name": "scatter3d.marker.colorbar.tickfont", - "edit_type": "calc", - "values": [ - "normal", - "italic" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.marker.colorbar.tickfont.size": { - "params": { - "plotly_name": "size", - "parent_name": "scatter3d.marker.colorbar.tickfont", - "edit_type": "calc", - "min": 1 - }, - "superclass": "NumberValidator" - }, - "scatter3d.marker.colorbar.tickfont.shadow": { - "params": { - "plotly_name": "shadow", - "parent_name": "scatter3d.marker.colorbar.tickfont", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter3d.marker.colorbar.tickfont.lineposition": { - "params": { - "plotly_name": "lineposition", - "parent_name": "scatter3d.marker.colorbar.tickfont", - "edit_type": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] - }, - "superclass": "FlaglistValidator" - }, - "scatter3d.marker.colorbar.tickfont.family": { - "params": { - "plotly_name": "family", - "parent_name": "scatter3d.marker.colorbar.tickfont", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scatter3d.marker.colorbar.tickfont.color": { - "params": { - "plotly_name": "color", - "parent_name": "scatter3d.marker.colorbar.tickfont", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scatter3d.marker.colorbar.tickcolor": { - "params": { - "plotly_name": "tickcolor", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scatter3d.marker.colorbar.tickangle": { - "params": { - "plotly_name": "tickangle", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "AngleValidator" - }, - "scatter3d.marker.colorbar.tick0": { - "params": { - "plotly_name": "tick0", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "implied_edits": { - "tickmode": "linear" - } - }, - "superclass": "AnyValidator" - }, - "scatter3d.marker.colorbar.thicknessmode": { - "params": { - "plotly_name": "thicknessmode", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "values": [ - "fraction", - "pixels" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.marker.colorbar.thickness": { - "params": { - "plotly_name": "thickness", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.marker.colorbar.showticksuffix": { - "params": { - "plotly_name": "showticksuffix", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.marker.colorbar.showtickprefix": { - "params": { - "plotly_name": "showtickprefix", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.marker.colorbar.showticklabels": { - "params": { - "plotly_name": "showticklabels", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scatter3d.marker.colorbar.showexponent": { - "params": { - "plotly_name": "showexponent", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.marker.colorbar.separatethousands": { - "params": { - "plotly_name": "separatethousands", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scatter3d.marker.colorbar.outlinewidth": { - "params": { - "plotly_name": "outlinewidth", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.marker.colorbar.outlinecolor": { - "params": { - "plotly_name": "outlinecolor", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scatter3d.marker.colorbar.orientation": { - "params": { - "plotly_name": "orientation", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "values": [ - "h", - "v" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.marker.colorbar.nticks": { - "params": { - "plotly_name": "nticks", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "IntegerValidator" - }, - "scatter3d.marker.colorbar.minexponent": { - "params": { - "plotly_name": "minexponent", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.marker.colorbar.lenmode": { - "params": { - "plotly_name": "lenmode", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "values": [ - "fraction", - "pixels" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.marker.colorbar.len": { - "params": { - "plotly_name": "len", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.marker.colorbar.labelalias": { - "params": { - "plotly_name": "labelalias", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "AnyValidator" - }, - "scatter3d.marker.colorbar.exponentformat": { - "params": { - "plotly_name": "exponentformat", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.marker.colorbar.dtick": { - "params": { - "plotly_name": "dtick", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "implied_edits": { - "tickmode": "linear" - } - }, - "superclass": "AnyValidator" - }, - "scatter3d.marker.colorbar.borderwidth": { - "params": { - "plotly_name": "borderwidth", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.marker.colorbar.bordercolor": { - "params": { - "plotly_name": "bordercolor", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scatter3d.marker.colorbar.bgcolor": { - "params": { - "plotly_name": "bgcolor", - "parent_name": "scatter3d.marker.colorbar", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scatter3d.marker.coloraxis": { - "params": { - "plotly_name": "coloraxis", - "parent_name": "scatter3d.marker", - "dflt": null, - "edit_type": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" - }, - "superclass": "SubplotidValidator" - }, - "scatter3d.marker.color": { - "params": { - "plotly_name": "color", - "parent_name": "scatter3d.marker", - "array_ok": true, - "edit_type": "calc", - "colorscale_path": "scatter3d.marker.colorscale" - }, - "superclass": "ColorValidator" - }, - "scatter3d.marker.cmin": { - "params": { - "plotly_name": "cmin", - "parent_name": "scatter3d.marker", - "edit_type": "calc", - "implied_edits": { - "cauto": false - } - }, - "superclass": "NumberValidator" - }, - "scatter3d.marker.cmid": { - "params": { - "plotly_name": "cmid", - "parent_name": "scatter3d.marker", - "edit_type": "calc", - "implied_edits": {} - }, - "superclass": "NumberValidator" - }, - "scatter3d.marker.cmax": { - "params": { - "plotly_name": "cmax", - "parent_name": "scatter3d.marker", - "edit_type": "calc", - "implied_edits": { - "cauto": false - } - }, - "superclass": "NumberValidator" - }, - "scatter3d.marker.cauto": { - "params": { - "plotly_name": "cauto", - "parent_name": "scatter3d.marker", - "edit_type": "calc", - "implied_edits": {} - }, - "superclass": "BooleanValidator" - }, - "scatter3d.marker.autocolorscale": { - "params": { - "plotly_name": "autocolorscale", - "parent_name": "scatter3d.marker", - "edit_type": "calc", - "implied_edits": {} - }, - "superclass": "BooleanValidator" - }, - "scatter3d.line": { - "params": { - "plotly_name": "line", - "parent_name": "scatter3d", - "data_class_str": "Line", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter3d.line.width": { - "params": { - "plotly_name": "width", - "parent_name": "scatter3d.line", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.line.showscale": { - "params": { - "plotly_name": "showscale", - "parent_name": "scatter3d.line", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scatter3d.line.reversescale": { - "params": { - "plotly_name": "reversescale", - "parent_name": "scatter3d.line", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scatter3d.line.dash": { - "params": { - "plotly_name": "dash", - "parent_name": "scatter3d.line", - "edit_type": "calc", - "values": [ - "dash", - "dashdot", - "dot", - "longdash", - "longdashdot", - "solid" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.line.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scatter3d.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.line.colorscale": { - "params": { - "plotly_name": "colorscale", - "parent_name": "scatter3d.line", - "edit_type": "calc", - "implied_edits": { - "autocolorscale": false - } - }, - "superclass": "ColorscaleValidator" - }, - "scatter3d.line.colorbar": { - "params": { - "plotly_name": "colorbar", - "parent_name": "scatter3d.line", - "data_class_str": "ColorBar", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter3d.line.colorbar.yref": { - "params": { - "plotly_name": "yref", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "values": [ - "container", - "paper" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.line.colorbar.ypad": { - "params": { - "plotly_name": "ypad", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.line.colorbar.yanchor": { - "params": { - "plotly_name": "yanchor", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "values": [ - "top", - "middle", - "bottom" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.line.colorbar.y": { - "params": { - "plotly_name": "y", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc" - }, - "superclass": "NumberValidator" - }, - "scatter3d.line.colorbar.xref": { - "params": { - "plotly_name": "xref", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "values": [ - "container", - "paper" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.line.colorbar.xpad": { - "params": { - "plotly_name": "xpad", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.line.colorbar.xanchor": { - "params": { - "plotly_name": "xanchor", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "values": [ - "left", - "center", - "right" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.line.colorbar.x": { - "params": { - "plotly_name": "x", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc" - }, - "superclass": "NumberValidator" - }, - "scatter3d.line.colorbar.title": { - "params": { - "plotly_name": "title", - "parent_name": "scatter3d.line.colorbar", - "data_class_str": "Title", - "data_docs": "\n" - }, - "superclass": "TitleValidator" - }, - "scatter3d.line.colorbar.title.text": { - "params": { - "plotly_name": "text", - "parent_name": "scatter3d.line.colorbar.title", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter3d.line.colorbar.title.side": { - "params": { - "plotly_name": "side", - "parent_name": "scatter3d.line.colorbar.title", - "edit_type": "calc", - "values": [ - "right", - "top", - "bottom" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.line.colorbar.title.font": { - "params": { - "plotly_name": "font", - "parent_name": "scatter3d.line.colorbar.title", - "data_class_str": "Font", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter3d.line.colorbar.title.font.weight": { - "params": { - "plotly_name": "weight", - "parent_name": "scatter3d.line.colorbar.title.font", - "edit_type": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "scatter3d.line.colorbar.title.font.variant": { - "params": { - "plotly_name": "variant", - "parent_name": "scatter3d.line.colorbar.title.font", - "edit_type": "calc", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.line.colorbar.title.font.textcase": { - "params": { - "plotly_name": "textcase", - "parent_name": "scatter3d.line.colorbar.title.font", - "edit_type": "calc", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.line.colorbar.title.font.style": { - "params": { - "plotly_name": "style", - "parent_name": "scatter3d.line.colorbar.title.font", - "edit_type": "calc", - "values": [ - "normal", - "italic" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.line.colorbar.title.font.size": { - "params": { - "plotly_name": "size", - "parent_name": "scatter3d.line.colorbar.title.font", - "edit_type": "calc", - "min": 1 - }, - "superclass": "NumberValidator" - }, - "scatter3d.line.colorbar.title.font.shadow": { - "params": { - "plotly_name": "shadow", - "parent_name": "scatter3d.line.colorbar.title.font", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter3d.line.colorbar.title.font.lineposition": { - "params": { - "plotly_name": "lineposition", - "parent_name": "scatter3d.line.colorbar.title.font", - "edit_type": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] - }, - "superclass": "FlaglistValidator" - }, - "scatter3d.line.colorbar.title.font.family": { - "params": { - "plotly_name": "family", - "parent_name": "scatter3d.line.colorbar.title.font", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scatter3d.line.colorbar.title.font.color": { - "params": { - "plotly_name": "color", - "parent_name": "scatter3d.line.colorbar.title.font", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scatter3d.line.colorbar.tickwidth": { - "params": { - "plotly_name": "tickwidth", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.line.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.line.colorbar.tickvals": { - "params": { - "plotly_name": "tickvals", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scatter3d.line.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.line.colorbar.ticktext": { - "params": { - "plotly_name": "ticktext", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scatter3d.line.colorbar.ticksuffix": { - "params": { - "plotly_name": "ticksuffix", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter3d.line.colorbar.ticks": { - "params": { - "plotly_name": "ticks", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "values": [ - "outside", - "inside", - "" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.line.colorbar.tickprefix": { - "params": { - "plotly_name": "tickprefix", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter3d.line.colorbar.tickmode": { - "params": { - "plotly_name": "tickmode", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "implied_edits": {}, - "values": [ - "auto", - "linear", - "array" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.line.colorbar.ticklen": { - "params": { - "plotly_name": "ticklen", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.line.colorbar.ticklabelstep": { - "params": { - "plotly_name": "ticklabelstep", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "scatter3d.line.colorbar.ticklabelposition": { - "params": { - "plotly_name": "ticklabelposition", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.line.colorbar.ticklabeloverflow": { - "params": { - "plotly_name": "ticklabeloverflow", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "values": [ - "allow", - "hide past div", - "hide past domain" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.line.colorbar.tickformatstopdefaults": { - "params": { - "plotly_name": "tickformatstopdefaults", - "parent_name": "scatter3d.line.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter3d.line.colorbar.tickformatstops": { - "params": { - "plotly_name": "tickformatstops", - "parent_name": "scatter3d.line.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" - }, - "superclass": "CompoundArrayValidator" - }, - "scatter3d.line.colorbar.tickformatstop.value": { - "params": { - "plotly_name": "value", - "parent_name": "scatter3d.line.colorbar.tickformatstop", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter3d.line.colorbar.tickformatstop.templateitemname": { - "params": { - "plotly_name": "templateitemname", - "parent_name": "scatter3d.line.colorbar.tickformatstop", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter3d.line.colorbar.tickformatstop.name": { - "params": { - "plotly_name": "name", - "parent_name": "scatter3d.line.colorbar.tickformatstop", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter3d.line.colorbar.tickformatstop.enabled": { - "params": { - "plotly_name": "enabled", - "parent_name": "scatter3d.line.colorbar.tickformatstop", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scatter3d.line.colorbar.tickformatstop.dtickrange": { - "params": { - "plotly_name": "dtickrange", - "parent_name": "scatter3d.line.colorbar.tickformatstop", - "edit_type": "calc", - "items": [ - { - "editType": "calc", - "valType": "any" - }, - { - "editType": "calc", - "valType": "any" - } - ] - }, - "superclass": "InfoArrayValidator" - }, - "scatter3d.line.colorbar.tickformat": { - "params": { - "plotly_name": "tickformat", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter3d.line.colorbar.tickfont": { - "params": { - "plotly_name": "tickfont", - "parent_name": "scatter3d.line.colorbar", - "data_class_str": "Tickfont", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter3d.line.colorbar.tickfont.weight": { - "params": { - "plotly_name": "weight", - "parent_name": "scatter3d.line.colorbar.tickfont", - "edit_type": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "scatter3d.line.colorbar.tickfont.variant": { - "params": { - "plotly_name": "variant", - "parent_name": "scatter3d.line.colorbar.tickfont", - "edit_type": "calc", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.line.colorbar.tickfont.textcase": { - "params": { - "plotly_name": "textcase", - "parent_name": "scatter3d.line.colorbar.tickfont", - "edit_type": "calc", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.line.colorbar.tickfont.style": { - "params": { - "plotly_name": "style", - "parent_name": "scatter3d.line.colorbar.tickfont", - "edit_type": "calc", - "values": [ - "normal", - "italic" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.line.colorbar.tickfont.size": { - "params": { - "plotly_name": "size", - "parent_name": "scatter3d.line.colorbar.tickfont", - "edit_type": "calc", - "min": 1 - }, - "superclass": "NumberValidator" - }, - "scatter3d.line.colorbar.tickfont.shadow": { - "params": { - "plotly_name": "shadow", - "parent_name": "scatter3d.line.colorbar.tickfont", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter3d.line.colorbar.tickfont.lineposition": { - "params": { - "plotly_name": "lineposition", - "parent_name": "scatter3d.line.colorbar.tickfont", - "edit_type": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] - }, - "superclass": "FlaglistValidator" - }, - "scatter3d.line.colorbar.tickfont.family": { - "params": { - "plotly_name": "family", - "parent_name": "scatter3d.line.colorbar.tickfont", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scatter3d.line.colorbar.tickfont.color": { - "params": { - "plotly_name": "color", - "parent_name": "scatter3d.line.colorbar.tickfont", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scatter3d.line.colorbar.tickcolor": { - "params": { - "plotly_name": "tickcolor", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scatter3d.line.colorbar.tickangle": { - "params": { - "plotly_name": "tickangle", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc" - }, - "superclass": "AngleValidator" - }, - "scatter3d.line.colorbar.tick0": { - "params": { - "plotly_name": "tick0", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "implied_edits": { - "tickmode": "linear" - } - }, - "superclass": "AnyValidator" - }, - "scatter3d.line.colorbar.thicknessmode": { - "params": { - "plotly_name": "thicknessmode", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "values": [ - "fraction", - "pixels" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.line.colorbar.thickness": { - "params": { - "plotly_name": "thickness", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.line.colorbar.showticksuffix": { - "params": { - "plotly_name": "showticksuffix", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.line.colorbar.showtickprefix": { - "params": { - "plotly_name": "showtickprefix", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.line.colorbar.showticklabels": { - "params": { - "plotly_name": "showticklabels", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scatter3d.line.colorbar.showexponent": { - "params": { - "plotly_name": "showexponent", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.line.colorbar.separatethousands": { - "params": { - "plotly_name": "separatethousands", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scatter3d.line.colorbar.outlinewidth": { - "params": { - "plotly_name": "outlinewidth", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.line.colorbar.outlinecolor": { - "params": { - "plotly_name": "outlinecolor", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scatter3d.line.colorbar.orientation": { - "params": { - "plotly_name": "orientation", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "values": [ - "h", - "v" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.line.colorbar.nticks": { - "params": { - "plotly_name": "nticks", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "IntegerValidator" - }, - "scatter3d.line.colorbar.minexponent": { - "params": { - "plotly_name": "minexponent", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.line.colorbar.lenmode": { - "params": { - "plotly_name": "lenmode", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "values": [ - "fraction", - "pixels" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.line.colorbar.len": { - "params": { - "plotly_name": "len", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.line.colorbar.labelalias": { - "params": { - "plotly_name": "labelalias", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc" - }, - "superclass": "AnyValidator" - }, - "scatter3d.line.colorbar.exponentformat": { - "params": { - "plotly_name": "exponentformat", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.line.colorbar.dtick": { - "params": { - "plotly_name": "dtick", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "implied_edits": { - "tickmode": "linear" - } - }, - "superclass": "AnyValidator" - }, - "scatter3d.line.colorbar.borderwidth": { - "params": { - "plotly_name": "borderwidth", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.line.colorbar.bordercolor": { - "params": { - "plotly_name": "bordercolor", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scatter3d.line.colorbar.bgcolor": { - "params": { - "plotly_name": "bgcolor", - "parent_name": "scatter3d.line.colorbar", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scatter3d.line.coloraxis": { - "params": { - "plotly_name": "coloraxis", - "parent_name": "scatter3d.line", - "dflt": null, - "edit_type": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" - }, - "superclass": "SubplotidValidator" - }, - "scatter3d.line.color": { - "params": { - "plotly_name": "color", - "parent_name": "scatter3d.line", - "array_ok": true, - "edit_type": "calc", - "colorscale_path": "scatter3d.line.colorscale" - }, - "superclass": "ColorValidator" - }, - "scatter3d.line.cmin": { - "params": { - "plotly_name": "cmin", - "parent_name": "scatter3d.line", - "edit_type": "calc", - "implied_edits": { - "cauto": false - } - }, - "superclass": "NumberValidator" - }, - "scatter3d.line.cmid": { - "params": { - "plotly_name": "cmid", - "parent_name": "scatter3d.line", - "edit_type": "calc", - "implied_edits": {} - }, - "superclass": "NumberValidator" - }, - "scatter3d.line.cmax": { - "params": { - "plotly_name": "cmax", - "parent_name": "scatter3d.line", - "edit_type": "calc", - "implied_edits": { - "cauto": false - } - }, - "superclass": "NumberValidator" - }, - "scatter3d.line.cauto": { - "params": { - "plotly_name": "cauto", - "parent_name": "scatter3d.line", - "edit_type": "calc", - "implied_edits": {} - }, - "superclass": "BooleanValidator" - }, - "scatter3d.line.autocolorscale": { - "params": { - "plotly_name": "autocolorscale", - "parent_name": "scatter3d.line", - "edit_type": "calc", - "implied_edits": {} - }, - "superclass": "BooleanValidator" - }, - "scatter3d.legendwidth": { - "params": { - "plotly_name": "legendwidth", - "parent_name": "scatter3d", - "edit_type": "style", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.legendrank": { - "params": { - "plotly_name": "legendrank", - "parent_name": "scatter3d", - "edit_type": "style" - }, - "superclass": "NumberValidator" - }, - "scatter3d.legendgrouptitle": { - "params": { - "plotly_name": "legendgrouptitle", - "parent_name": "scatter3d", - "data_class_str": "Legendgrouptitle", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter3d.legendgrouptitle.text": { - "params": { - "plotly_name": "text", - "parent_name": "scatter3d.legendgrouptitle", - "edit_type": "style" - }, - "superclass": "StringValidator" - }, - "scatter3d.legendgrouptitle.font": { - "params": { - "plotly_name": "font", - "parent_name": "scatter3d.legendgrouptitle", - "data_class_str": "Font", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter3d.legendgrouptitle.font.weight": { - "params": { - "plotly_name": "weight", - "parent_name": "scatter3d.legendgrouptitle.font", - "edit_type": "style", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "scatter3d.legendgrouptitle.font.variant": { - "params": { - "plotly_name": "variant", - "parent_name": "scatter3d.legendgrouptitle.font", - "edit_type": "style", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.legendgrouptitle.font.textcase": { - "params": { - "plotly_name": "textcase", - "parent_name": "scatter3d.legendgrouptitle.font", - "edit_type": "style", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.legendgrouptitle.font.style": { - "params": { - "plotly_name": "style", - "parent_name": "scatter3d.legendgrouptitle.font", - "edit_type": "style", - "values": [ - "normal", - "italic" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.legendgrouptitle.font.size": { - "params": { - "plotly_name": "size", - "parent_name": "scatter3d.legendgrouptitle.font", - "edit_type": "style", - "min": 1 - }, - "superclass": "NumberValidator" - }, - "scatter3d.legendgrouptitle.font.shadow": { - "params": { - "plotly_name": "shadow", - "parent_name": "scatter3d.legendgrouptitle.font", - "edit_type": "style" - }, - "superclass": "StringValidator" - }, - "scatter3d.legendgrouptitle.font.lineposition": { - "params": { - "plotly_name": "lineposition", - "parent_name": "scatter3d.legendgrouptitle.font", - "edit_type": "style", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] - }, - "superclass": "FlaglistValidator" - }, - "scatter3d.legendgrouptitle.font.family": { - "params": { - "plotly_name": "family", - "parent_name": "scatter3d.legendgrouptitle.font", - "edit_type": "style", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scatter3d.legendgrouptitle.font.color": { - "params": { - "plotly_name": "color", - "parent_name": "scatter3d.legendgrouptitle.font", - "edit_type": "style" - }, - "superclass": "ColorValidator" - }, - "scatter3d.legendgroup": { - "params": { - "plotly_name": "legendgroup", - "parent_name": "scatter3d", - "edit_type": "style" - }, - "superclass": "StringValidator" - }, - "scatter3d.legend": { - "params": { - "plotly_name": "legend", - "parent_name": "scatter3d", - "dflt": "legend", - "edit_type": "style" - }, - "superclass": "SubplotidValidator" - }, - "scatter3d.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "scatter3d", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.ids": { - "params": { - "plotly_name": "ids", - "parent_name": "scatter3d", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scatter3d.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "scatter3d", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.hovertext": { - "params": { - "plotly_name": "hovertext", - "parent_name": "scatter3d", - "array_ok": true, - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter3d.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "scatter3d", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.hovertemplatefallback": { - "params": { - "plotly_name": "hovertemplatefallback", - "parent_name": "scatter3d", - "edit_type": "calc" - }, - "superclass": "AnyValidator" - }, - "scatter3d.hovertemplate": { - "params": { - "plotly_name": "hovertemplate", - "parent_name": "scatter3d", - "array_ok": true, - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter3d.hoverlabel": { - "params": { - "plotly_name": "hoverlabel", - "parent_name": "scatter3d", - "data_class_str": "Hoverlabel", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter3d.hoverlabel.showarrow": { - "params": { - "plotly_name": "showarrow", - "parent_name": "scatter3d.hoverlabel", - "edit_type": "none" - }, - "superclass": "BooleanValidator" - }, - "scatter3d.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "scatter3d.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.hoverlabel.namelength": { - "params": { - "plotly_name": "namelength", - "parent_name": "scatter3d.hoverlabel", - "array_ok": true, - "edit_type": "none", - "min": -1 - }, - "superclass": "IntegerValidator" - }, - "scatter3d.hoverlabel.font": { - "params": { - "plotly_name": "font", - "parent_name": "scatter3d.hoverlabel", - "data_class_str": "Font", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter3d.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "scatter3d.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.hoverlabel.font.weight": { - "params": { - "plotly_name": "weight", - "parent_name": "scatter3d.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "scatter3d.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "scatter3d.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.hoverlabel.font.variant": { - "params": { - "plotly_name": "variant", - "parent_name": "scatter3d.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "scatter3d.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.hoverlabel.font.textcase": { - "params": { - "plotly_name": "textcase", - "parent_name": "scatter3d.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "scatter3d.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.hoverlabel.font.style": { - "params": { - "plotly_name": "style", - "parent_name": "scatter3d.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "values": [ - "normal", - "italic" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scatter3d.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.hoverlabel.font.size": { - "params": { - "plotly_name": "size", - "parent_name": "scatter3d.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "min": 1 - }, - "superclass": "NumberValidator" - }, - "scatter3d.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "scatter3d.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.hoverlabel.font.shadow": { - "params": { - "plotly_name": "shadow", - "parent_name": "scatter3d.hoverlabel.font", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "StringValidator" - }, - "scatter3d.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "scatter3d.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.hoverlabel.font.lineposition": { - "params": { - "plotly_name": "lineposition", - "parent_name": "scatter3d.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] - }, - "superclass": "FlaglistValidator" - }, - "scatter3d.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "scatter3d.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.hoverlabel.font.family": { - "params": { - "plotly_name": "family", - "parent_name": "scatter3d.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scatter3d.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scatter3d.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.hoverlabel.font.color": { - "params": { - "plotly_name": "color", - "parent_name": "scatter3d.hoverlabel.font", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "ColorValidator" - }, - "scatter3d.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "scatter3d.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.hoverlabel.bordercolor": { - "params": { - "plotly_name": "bordercolor", - "parent_name": "scatter3d.hoverlabel", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "ColorValidator" - }, - "scatter3d.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "scatter3d.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.hoverlabel.bgcolor": { - "params": { - "plotly_name": "bgcolor", - "parent_name": "scatter3d.hoverlabel", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "ColorValidator" - }, - "scatter3d.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "scatter3d.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.hoverlabel.align": { - "params": { - "plotly_name": "align", - "parent_name": "scatter3d.hoverlabel", - "array_ok": true, - "edit_type": "none", - "values": [ - "left", - "right", - "auto" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "scatter3d", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.hoverinfo": { - "params": { - "plotly_name": "hoverinfo", - "parent_name": "scatter3d", - "array_ok": true, - "edit_type": "calc", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "x", - "y", - "z", - "text", - "name" - ] - }, - "superclass": "FlaglistValidator" - }, - "scatter3d.error_z": { - "params": { - "plotly_name": "error_z", - "parent_name": "scatter3d", - "data_class_str": "ErrorZ", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter3d.error_z.width": { - "params": { - "plotly_name": "width", - "parent_name": "scatter3d.error_z", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.error_z.visible": { - "params": { - "plotly_name": "visible", - "parent_name": "scatter3d.error_z", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scatter3d.error_z.valueminus": { - "params": { - "plotly_name": "valueminus", - "parent_name": "scatter3d.error_z", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.error_z.value": { - "params": { - "plotly_name": "value", - "parent_name": "scatter3d.error_z", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.error_z.type": { - "params": { - "plotly_name": "type", - "parent_name": "scatter3d.error_z", - "edit_type": "calc", - "values": [ - "percent", - "constant", - "sqrt", - "data" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.error_z.tracerefminus": { - "params": { - "plotly_name": "tracerefminus", - "parent_name": "scatter3d.error_z", - "edit_type": "calc", - "min": 0 - }, - "superclass": "IntegerValidator" - }, - "scatter3d.error_z.traceref": { - "params": { - "plotly_name": "traceref", - "parent_name": "scatter3d.error_z", - "edit_type": "calc", - "min": 0 - }, - "superclass": "IntegerValidator" - }, - "scatter3d.error_z.thickness": { - "params": { - "plotly_name": "thickness", - "parent_name": "scatter3d.error_z", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.error_z.symmetric": { - "params": { - "plotly_name": "symmetric", - "parent_name": "scatter3d.error_z", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scatter3d.error_z.color": { - "params": { - "plotly_name": "color", - "parent_name": "scatter3d.error_z", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scatter3d.error_z.arraysrc": { - "params": { - "plotly_name": "arraysrc", - "parent_name": "scatter3d.error_z", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.error_z.arrayminussrc": { - "params": { - "plotly_name": "arrayminussrc", - "parent_name": "scatter3d.error_z", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.error_z.arrayminus": { - "params": { - "plotly_name": "arrayminus", - "parent_name": "scatter3d.error_z", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scatter3d.error_z.array": { - "params": { - "plotly_name": "array", - "parent_name": "scatter3d.error_z", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scatter3d.error_y": { - "params": { - "plotly_name": "error_y", - "parent_name": "scatter3d", - "data_class_str": "ErrorY", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter3d.error_y.width": { - "params": { - "plotly_name": "width", - "parent_name": "scatter3d.error_y", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.error_y.visible": { - "params": { - "plotly_name": "visible", - "parent_name": "scatter3d.error_y", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scatter3d.error_y.valueminus": { - "params": { - "plotly_name": "valueminus", - "parent_name": "scatter3d.error_y", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.error_y.value": { - "params": { - "plotly_name": "value", - "parent_name": "scatter3d.error_y", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.error_y.type": { - "params": { - "plotly_name": "type", - "parent_name": "scatter3d.error_y", - "edit_type": "calc", - "values": [ - "percent", - "constant", - "sqrt", - "data" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.error_y.tracerefminus": { - "params": { - "plotly_name": "tracerefminus", - "parent_name": "scatter3d.error_y", - "edit_type": "calc", - "min": 0 - }, - "superclass": "IntegerValidator" - }, - "scatter3d.error_y.traceref": { - "params": { - "plotly_name": "traceref", - "parent_name": "scatter3d.error_y", - "edit_type": "calc", - "min": 0 - }, - "superclass": "IntegerValidator" - }, - "scatter3d.error_y.thickness": { - "params": { - "plotly_name": "thickness", - "parent_name": "scatter3d.error_y", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.error_y.symmetric": { - "params": { - "plotly_name": "symmetric", - "parent_name": "scatter3d.error_y", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scatter3d.error_y.copy_zstyle": { - "params": { - "plotly_name": "copy_zstyle", - "parent_name": "scatter3d.error_y", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scatter3d.error_y.color": { - "params": { - "plotly_name": "color", - "parent_name": "scatter3d.error_y", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scatter3d.error_y.arraysrc": { - "params": { - "plotly_name": "arraysrc", - "parent_name": "scatter3d.error_y", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.error_y.arrayminussrc": { - "params": { - "plotly_name": "arrayminussrc", - "parent_name": "scatter3d.error_y", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.error_y.arrayminus": { - "params": { - "plotly_name": "arrayminus", - "parent_name": "scatter3d.error_y", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scatter3d.error_y.array": { - "params": { - "plotly_name": "array", - "parent_name": "scatter3d.error_y", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scatter3d.error_x": { - "params": { - "plotly_name": "error_x", - "parent_name": "scatter3d", - "data_class_str": "ErrorX", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter3d.error_x.width": { - "params": { - "plotly_name": "width", - "parent_name": "scatter3d.error_x", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.error_x.visible": { - "params": { - "plotly_name": "visible", - "parent_name": "scatter3d.error_x", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scatter3d.error_x.valueminus": { - "params": { - "plotly_name": "valueminus", - "parent_name": "scatter3d.error_x", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.error_x.value": { - "params": { - "plotly_name": "value", - "parent_name": "scatter3d.error_x", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.error_x.type": { - "params": { - "plotly_name": "type", - "parent_name": "scatter3d.error_x", - "edit_type": "calc", - "values": [ - "percent", - "constant", - "sqrt", - "data" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter3d.error_x.tracerefminus": { - "params": { - "plotly_name": "tracerefminus", - "parent_name": "scatter3d.error_x", - "edit_type": "calc", - "min": 0 - }, - "superclass": "IntegerValidator" - }, - "scatter3d.error_x.traceref": { - "params": { - "plotly_name": "traceref", - "parent_name": "scatter3d.error_x", - "edit_type": "calc", - "min": 0 - }, - "superclass": "IntegerValidator" - }, - "scatter3d.error_x.thickness": { - "params": { - "plotly_name": "thickness", - "parent_name": "scatter3d.error_x", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter3d.error_x.symmetric": { - "params": { - "plotly_name": "symmetric", - "parent_name": "scatter3d.error_x", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scatter3d.error_x.copy_zstyle": { - "params": { - "plotly_name": "copy_zstyle", - "parent_name": "scatter3d.error_x", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scatter3d.error_x.color": { - "params": { - "plotly_name": "color", - "parent_name": "scatter3d.error_x", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scatter3d.error_x.arraysrc": { - "params": { - "plotly_name": "arraysrc", - "parent_name": "scatter3d.error_x", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.error_x.arrayminussrc": { - "params": { - "plotly_name": "arrayminussrc", - "parent_name": "scatter3d.error_x", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.error_x.arrayminus": { - "params": { - "plotly_name": "arrayminus", - "parent_name": "scatter3d.error_x", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scatter3d.error_x.array": { - "params": { - "plotly_name": "array", - "parent_name": "scatter3d.error_x", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scatter3d.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "scatter3d", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter3d.customdata": { - "params": { - "plotly_name": "customdata", - "parent_name": "scatter3d", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "scatter3d.connectgaps": { - "params": { - "plotly_name": "connectgaps", - "parent_name": "scatter3d", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scatter": { - "params": { - "plotly_name": "scatter", - "parent_name": "", - "data_class_str": "Scatter", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter.zorder": { - "params": { - "plotly_name": "zorder", - "parent_name": "scatter", - "edit_type": "plot" - }, - "superclass": "IntegerValidator" - }, - "scatter.ysrc": { - "params": { - "plotly_name": "ysrc", - "parent_name": "scatter", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.yperiodalignment": { - "params": { - "plotly_name": "yperiodalignment", - "parent_name": "scatter", - "edit_type": "calc", - "values": [ - "start", - "middle", - "end" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter.yperiod0": { - "params": { - "plotly_name": "yperiod0", - "parent_name": "scatter", - "edit_type": "calc" - }, - "superclass": "AnyValidator" - }, - "scatter.yperiod": { - "params": { - "plotly_name": "yperiod", - "parent_name": "scatter", - "edit_type": "calc" - }, - "superclass": "AnyValidator" - }, - "scatter.yhoverformat": { - "params": { - "plotly_name": "yhoverformat", - "parent_name": "scatter", - "edit_type": "none" - }, - "superclass": "StringValidator" - }, - "scatter.ycalendar": { - "params": { - "plotly_name": "ycalendar", - "parent_name": "scatter", - "edit_type": "calc", - "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter.yaxis": { - "params": { - "plotly_name": "yaxis", - "parent_name": "scatter", - "dflt": "y", - "edit_type": "calc+clearAxisTypes" - }, - "superclass": "SubplotidValidator" - }, - "scatter.y0": { - "params": { - "plotly_name": "y0", - "parent_name": "scatter", - "anim": true, - "edit_type": "calc+clearAxisTypes" - }, - "superclass": "AnyValidator" - }, - "scatter.y": { - "params": { - "plotly_name": "y", - "parent_name": "scatter", - "anim": true, - "edit_type": "calc+clearAxisTypes" - }, - "superclass": "DataArrayValidator" - }, - "scatter.xsrc": { - "params": { - "plotly_name": "xsrc", - "parent_name": "scatter", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.xperiodalignment": { - "params": { - "plotly_name": "xperiodalignment", - "parent_name": "scatter", - "edit_type": "calc", - "values": [ - "start", - "middle", - "end" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter.xperiod0": { - "params": { - "plotly_name": "xperiod0", - "parent_name": "scatter", - "edit_type": "calc" - }, - "superclass": "AnyValidator" - }, - "scatter.xperiod": { - "params": { - "plotly_name": "xperiod", - "parent_name": "scatter", - "edit_type": "calc" - }, - "superclass": "AnyValidator" - }, - "scatter.xhoverformat": { - "params": { - "plotly_name": "xhoverformat", - "parent_name": "scatter", - "edit_type": "none" - }, - "superclass": "StringValidator" - }, - "scatter.xcalendar": { - "params": { - "plotly_name": "xcalendar", - "parent_name": "scatter", - "edit_type": "calc", - "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter.xaxis": { - "params": { - "plotly_name": "xaxis", - "parent_name": "scatter", - "dflt": "x", - "edit_type": "calc+clearAxisTypes" - }, - "superclass": "SubplotidValidator" - }, - "scatter.x0": { - "params": { - "plotly_name": "x0", - "parent_name": "scatter", - "anim": true, - "edit_type": "calc+clearAxisTypes" - }, - "superclass": "AnyValidator" - }, - "scatter.x": { - "params": { - "plotly_name": "x", - "parent_name": "scatter", - "anim": true, - "edit_type": "calc+clearAxisTypes" - }, - "superclass": "DataArrayValidator" - }, - "scatter.visible": { - "params": { - "plotly_name": "visible", - "parent_name": "scatter", - "edit_type": "calc", - "values": [ - true, - false, - "legendonly" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter.unselected": { - "params": { - "plotly_name": "unselected", - "parent_name": "scatter", - "data_class_str": "Unselected", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter.unselected.textfont": { - "params": { - "plotly_name": "textfont", - "parent_name": "scatter.unselected", - "data_class_str": "Textfont", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter.unselected.textfont.color": { - "params": { - "plotly_name": "color", - "parent_name": "scatter.unselected.textfont", - "edit_type": "style" - }, - "superclass": "ColorValidator" - }, - "scatter.unselected.marker": { - "params": { - "plotly_name": "marker", - "parent_name": "scatter.unselected", - "data_class_str": "Marker", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter.unselected.marker.size": { - "params": { - "plotly_name": "size", - "parent_name": "scatter.unselected.marker", - "edit_type": "style", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter.unselected.marker.opacity": { - "params": { - "plotly_name": "opacity", - "parent_name": "scatter.unselected.marker", - "edit_type": "style", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter.unselected.marker.color": { - "params": { - "plotly_name": "color", - "parent_name": "scatter.unselected.marker", - "edit_type": "style" - }, - "superclass": "ColorValidator" - }, - "scatter.uirevision": { - "params": { - "plotly_name": "uirevision", - "parent_name": "scatter", - "edit_type": "none" - }, - "superclass": "AnyValidator" - }, - "scatter.uid": { - "params": { - "plotly_name": "uid", - "parent_name": "scatter", - "anim": true, - "edit_type": "plot" - }, - "superclass": "StringValidator" - }, - "scatter.texttemplatesrc": { - "params": { - "plotly_name": "texttemplatesrc", - "parent_name": "scatter", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.texttemplatefallback": { - "params": { - "plotly_name": "texttemplatefallback", - "parent_name": "scatter", - "edit_type": "calc" - }, - "superclass": "AnyValidator" - }, - "scatter.texttemplate": { - "params": { - "plotly_name": "texttemplate", - "parent_name": "scatter", - "array_ok": true, - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter.textsrc": { - "params": { - "plotly_name": "textsrc", - "parent_name": "scatter", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.textpositionsrc": { - "params": { - "plotly_name": "textpositionsrc", - "parent_name": "scatter", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.textposition": { - "params": { - "plotly_name": "textposition", - "parent_name": "scatter", - "array_ok": true, - "edit_type": "calc", - "values": [ - "top left", - "top center", - "top right", - "middle left", - "middle center", - "middle right", - "bottom left", - "bottom center", - "bottom right" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter.textfont": { - "params": { - "plotly_name": "textfont", - "parent_name": "scatter", - "data_class_str": "Textfont", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter.textfont.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "scatter.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.textfont.weight": { - "params": { - "plotly_name": "weight", - "parent_name": "scatter.textfont", - "array_ok": true, - "edit_type": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "scatter.textfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "scatter.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.textfont.variant": { - "params": { - "plotly_name": "variant", - "parent_name": "scatter.textfont", - "array_ok": true, - "edit_type": "calc", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter.textfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "scatter.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.textfont.textcase": { - "params": { - "plotly_name": "textcase", - "parent_name": "scatter.textfont", - "array_ok": true, - "edit_type": "calc", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter.textfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "scatter.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.textfont.style": { - "params": { - "plotly_name": "style", - "parent_name": "scatter.textfont", - "array_ok": true, - "edit_type": "calc", - "values": [ - "normal", - "italic" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter.textfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scatter.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.textfont.size": { - "params": { - "plotly_name": "size", - "parent_name": "scatter.textfont", - "array_ok": true, - "edit_type": "calc", - "min": 1 - }, - "superclass": "NumberValidator" - }, - "scatter.textfont.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "scatter.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.textfont.shadow": { - "params": { - "plotly_name": "shadow", - "parent_name": "scatter.textfont", - "array_ok": true, - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter.textfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "scatter.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.textfont.lineposition": { - "params": { - "plotly_name": "lineposition", - "parent_name": "scatter.textfont", - "array_ok": true, - "edit_type": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] - }, - "superclass": "FlaglistValidator" - }, - "scatter.textfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "scatter.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.textfont.family": { - "params": { - "plotly_name": "family", - "parent_name": "scatter.textfont", - "array_ok": true, - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scatter.textfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scatter.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.textfont.color": { - "params": { - "plotly_name": "color", - "parent_name": "scatter.textfont", - "array_ok": true, - "edit_type": "style" - }, - "superclass": "ColorValidator" - }, - "scatter.text": { - "params": { - "plotly_name": "text", - "parent_name": "scatter", - "array_ok": true, - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "scatter", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "scatter.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "scatter.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "scatter.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter.stackgroup": { - "params": { - "plotly_name": "stackgroup", - "parent_name": "scatter", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter.stackgaps": { - "params": { - "plotly_name": "stackgaps", - "parent_name": "scatter", - "edit_type": "calc", - "values": [ - "infer zero", - "interpolate" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter.showlegend": { - "params": { - "plotly_name": "showlegend", - "parent_name": "scatter", - "edit_type": "style" - }, - "superclass": "BooleanValidator" - }, - "scatter.selectedpoints": { - "params": { - "plotly_name": "selectedpoints", - "parent_name": "scatter", - "edit_type": "calc" - }, - "superclass": "AnyValidator" - }, - "scatter.selected": { - "params": { - "plotly_name": "selected", - "parent_name": "scatter", - "data_class_str": "Selected", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter.selected.textfont": { - "params": { - "plotly_name": "textfont", - "parent_name": "scatter.selected", - "data_class_str": "Textfont", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter.selected.textfont.color": { - "params": { - "plotly_name": "color", - "parent_name": "scatter.selected.textfont", - "edit_type": "style" - }, - "superclass": "ColorValidator" - }, - "scatter.selected.marker": { - "params": { - "plotly_name": "marker", - "parent_name": "scatter.selected", - "data_class_str": "Marker", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter.selected.marker.size": { - "params": { - "plotly_name": "size", - "parent_name": "scatter.selected.marker", - "edit_type": "style", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter.selected.marker.opacity": { - "params": { - "plotly_name": "opacity", - "parent_name": "scatter.selected.marker", - "edit_type": "style", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter.selected.marker.color": { - "params": { - "plotly_name": "color", - "parent_name": "scatter.selected.marker", - "edit_type": "style" - }, - "superclass": "ColorValidator" - }, - "scatter.orientation": { - "params": { - "plotly_name": "orientation", - "parent_name": "scatter", - "edit_type": "calc", - "values": [ - "v", - "h" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter.opacity": { - "params": { - "plotly_name": "opacity", - "parent_name": "scatter", - "edit_type": "style", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter.offsetgroup": { - "params": { - "plotly_name": "offsetgroup", - "parent_name": "scatter", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "scatter.name": { - "params": { - "plotly_name": "name", - "parent_name": "scatter", - "edit_type": "style" - }, - "superclass": "StringValidator" - }, - "scatter.mode": { - "params": { - "plotly_name": "mode", - "parent_name": "scatter", - "edit_type": "calc", - "extras": [ - "none" - ], - "flags": [ - "lines", - "markers", - "text" - ] - }, - "superclass": "FlaglistValidator" - }, - "scatter.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "scatter", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.meta": { - "params": { - "plotly_name": "meta", - "parent_name": "scatter", - "array_ok": true, - "edit_type": "plot" - }, - "superclass": "AnyValidator" - }, - "scatter.marker": { - "params": { - "plotly_name": "marker", - "parent_name": "scatter", - "data_class_str": "Marker", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter.marker.symbolsrc": { - "params": { - "plotly_name": "symbolsrc", - "parent_name": "scatter.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.marker.symbol": { - "params": { - "plotly_name": "symbol", - "parent_name": "scatter.marker", - "array_ok": true, - "edit_type": "style", - "values": [ - 0, - "0", - "circle", - 100, - "100", - "circle-open", - 200, - "200", - "circle-dot", - 300, - "300", - "circle-open-dot", - 1, - "1", - "square", - 101, - "101", - "square-open", - 201, - "201", - "square-dot", - 301, - "301", - "square-open-dot", - 2, - "2", - "diamond", - 102, - "102", - "diamond-open", - 202, - "202", - "diamond-dot", - 302, - "302", - "diamond-open-dot", - 3, - "3", - "cross", - 103, - "103", - "cross-open", - 203, - "203", - "cross-dot", - 303, - "303", - "cross-open-dot", - 4, - "4", - "x", - 104, - "104", - "x-open", - 204, - "204", - "x-dot", - 304, - "304", - "x-open-dot", - 5, - "5", - "triangle-up", - 105, - "105", - "triangle-up-open", - 205, - "205", - "triangle-up-dot", - 305, - "305", - "triangle-up-open-dot", - 6, - "6", - "triangle-down", - 106, - "106", - "triangle-down-open", - 206, - "206", - "triangle-down-dot", - 306, - "306", - "triangle-down-open-dot", - 7, - "7", - "triangle-left", - 107, - "107", - "triangle-left-open", - 207, - "207", - "triangle-left-dot", - 307, - "307", - "triangle-left-open-dot", - 8, - "8", - "triangle-right", - 108, - "108", - "triangle-right-open", - 208, - "208", - "triangle-right-dot", - 308, - "308", - "triangle-right-open-dot", - 9, - "9", - "triangle-ne", - 109, - "109", - "triangle-ne-open", - 209, - "209", - "triangle-ne-dot", - 309, - "309", - "triangle-ne-open-dot", - 10, - "10", - "triangle-se", - 110, - "110", - "triangle-se-open", - 210, - "210", - "triangle-se-dot", - 310, - "310", - "triangle-se-open-dot", - 11, - "11", - "triangle-sw", - 111, - "111", - "triangle-sw-open", - 211, - "211", - "triangle-sw-dot", - 311, - "311", - "triangle-sw-open-dot", - 12, - "12", - "triangle-nw", - 112, - "112", - "triangle-nw-open", - 212, - "212", - "triangle-nw-dot", - 312, - "312", - "triangle-nw-open-dot", - 13, - "13", - "pentagon", - 113, - "113", - "pentagon-open", - 213, - "213", - "pentagon-dot", - 313, - "313", - "pentagon-open-dot", - 14, - "14", - "hexagon", - 114, - "114", - "hexagon-open", - 214, - "214", - "hexagon-dot", - 314, - "314", - "hexagon-open-dot", - 15, - "15", - "hexagon2", - 115, - "115", - "hexagon2-open", - 215, - "215", - "hexagon2-dot", - 315, - "315", - "hexagon2-open-dot", - 16, - "16", - "octagon", - 116, - "116", - "octagon-open", - 216, - "216", - "octagon-dot", - 316, - "316", - "octagon-open-dot", - 17, - "17", - "star", - 117, - "117", - "star-open", - 217, - "217", - "star-dot", - 317, - "317", - "star-open-dot", - 18, - "18", - "hexagram", - 118, - "118", - "hexagram-open", - 218, - "218", - "hexagram-dot", - 318, - "318", - "hexagram-open-dot", - 19, - "19", - "star-triangle-up", - 119, - "119", - "star-triangle-up-open", - 219, - "219", - "star-triangle-up-dot", - 319, - "319", - "star-triangle-up-open-dot", - 20, - "20", - "star-triangle-down", - 120, - "120", - "star-triangle-down-open", - 220, - "220", - "star-triangle-down-dot", - 320, - "320", - "star-triangle-down-open-dot", - 21, - "21", - "star-square", - 121, - "121", - "star-square-open", - 221, - "221", - "star-square-dot", - 321, - "321", - "star-square-open-dot", - 22, - "22", - "star-diamond", - 122, - "122", - "star-diamond-open", - 222, - "222", - "star-diamond-dot", - 322, - "322", - "star-diamond-open-dot", - 23, - "23", - "diamond-tall", - 123, - "123", - "diamond-tall-open", - 223, - "223", - "diamond-tall-dot", - 323, - "323", - "diamond-tall-open-dot", - 24, - "24", - "diamond-wide", - 124, - "124", - "diamond-wide-open", - 224, - "224", - "diamond-wide-dot", - 324, - "324", - "diamond-wide-open-dot", - 25, - "25", - "hourglass", - 125, - "125", - "hourglass-open", - 26, - "26", - "bowtie", - 126, - "126", - "bowtie-open", - 27, - "27", - "circle-cross", - 127, - "127", - "circle-cross-open", - 28, - "28", - "circle-x", - 128, - "128", - "circle-x-open", - 29, - "29", - "square-cross", - 129, - "129", - "square-cross-open", - 30, - "30", - "square-x", - 130, - "130", - "square-x-open", - 31, - "31", - "diamond-cross", - 131, - "131", - "diamond-cross-open", - 32, - "32", - "diamond-x", - 132, - "132", - "diamond-x-open", - 33, - "33", - "cross-thin", - 133, - "133", - "cross-thin-open", - 34, - "34", - "x-thin", - 134, - "134", - "x-thin-open", - 35, - "35", - "asterisk", - 135, - "135", - "asterisk-open", - 36, - "36", - "hash", - 136, - "136", - "hash-open", - 236, - "236", - "hash-dot", - 336, - "336", - "hash-open-dot", - 37, - "37", - "y-up", - 137, - "137", - "y-up-open", - 38, - "38", - "y-down", - 138, - "138", - "y-down-open", - 39, - "39", - "y-left", - 139, - "139", - "y-left-open", - 40, - "40", - "y-right", - 140, - "140", - "y-right-open", - 41, - "41", - "line-ew", - 141, - "141", - "line-ew-open", - 42, - "42", - "line-ns", - 142, - "142", - "line-ns-open", - 43, - "43", - "line-ne", - 143, - "143", - "line-ne-open", - 44, - "44", - "line-nw", - 144, - "144", - "line-nw-open", - 45, - "45", - "arrow-up", - 145, - "145", - "arrow-up-open", - 46, - "46", - "arrow-down", - 146, - "146", - "arrow-down-open", - 47, - "47", - "arrow-left", - 147, - "147", - "arrow-left-open", - 48, - "48", - "arrow-right", - 148, - "148", - "arrow-right-open", - 49, - "49", - "arrow-bar-up", - 149, - "149", - "arrow-bar-up-open", - 50, - "50", - "arrow-bar-down", - 150, - "150", - "arrow-bar-down-open", - 51, - "51", - "arrow-bar-left", - 151, - "151", - "arrow-bar-left-open", - 52, - "52", - "arrow-bar-right", - 152, - "152", - "arrow-bar-right-open", - 53, - "53", - "arrow", - 153, - "153", - "arrow-open", - 54, - "54", - "arrow-wide", - 154, - "154", - "arrow-wide-open" + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "outside", + "inside", + "" ] }, "superclass": "EnumeratedValidator" }, - "scatter.marker.standoffsrc": { + "scattercarpet.marker.colorbar.tickprefix": { "params": { - "plotly_name": "standoffsrc", - "parent_name": "scatter.marker", - "edit_type": "none" + "plotly_name": "tickprefix", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "scatter.marker.standoff": { + "scattercarpet.marker.colorbar.tickmode": { "params": { - "plotly_name": "standoff", - "parent_name": "scatter.marker", - "anim": true, - "array_ok": true, - "edit_type": "plot", + "plotly_name": "tickmode", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", + "implied_edits": {}, + "values": [ + "auto", + "linear", + "array" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattercarpet.marker.colorbar.ticklen": { + "params": { + "plotly_name": "ticklen", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "scatter.marker.sizesrc": { + "scattercarpet.marker.colorbar.ticklabelstep": { "params": { - "plotly_name": "sizesrc", - "parent_name": "scatter.marker", - "edit_type": "none" + "plotly_name": "ticklabelstep", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", + "min": 1 }, - "superclass": "SrcValidator" + "superclass": "IntegerValidator" }, - "scatter.marker.sizeref": { + "scattercarpet.marker.colorbar.ticklabelposition": { "params": { - "plotly_name": "sizeref", - "parent_name": "scatter.marker", - "edit_type": "calc" + "plotly_name": "ticklabelposition", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "scatter.marker.sizemode": { + "scattercarpet.marker.colorbar.ticklabeloverflow": { "params": { - "plotly_name": "sizemode", - "parent_name": "scatter.marker", - "edit_type": "calc", + "plotly_name": "ticklabeloverflow", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", "values": [ - "diameter", - "area" + "allow", + "hide past div", + "hide past domain" ] }, "superclass": "EnumeratedValidator" }, - "scatter.marker.sizemin": { + "scattercarpet.marker.colorbar.tickformatstopdefaults": { "params": { - "plotly_name": "sizemin", - "parent_name": "scatter.marker", - "edit_type": "calc", - "min": 0 + "plotly_name": "tickformatstopdefaults", + "parent_name": "scattercarpet.marker.colorbar", + "data_class_str": "Tickformatstop", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "scatter.marker.size": { + "scattercarpet.marker.colorbar.tickformatstops": { + "params": { + "plotly_name": "tickformatstops", + "parent_name": "scattercarpet.marker.colorbar", + "data_class_str": "Tickformatstop", + "data_docs": "\n" + }, + "superclass": "CompoundArrayValidator" + }, + "scattercarpet.marker.colorbar.tickformatstop.value": { + "params": { + "plotly_name": "value", + "parent_name": "scattercarpet.marker.colorbar.tickformatstop", + "edit_type": "colorbars" + }, + "superclass": "StringValidator" + }, + "scattercarpet.marker.colorbar.tickformatstop.templateitemname": { + "params": { + "plotly_name": "templateitemname", + "parent_name": "scattercarpet.marker.colorbar.tickformatstop", + "edit_type": "colorbars" + }, + "superclass": "StringValidator" + }, + "scattercarpet.marker.colorbar.tickformatstop.name": { + "params": { + "plotly_name": "name", + "parent_name": "scattercarpet.marker.colorbar.tickformatstop", + "edit_type": "colorbars" + }, + "superclass": "StringValidator" + }, + "scattercarpet.marker.colorbar.tickformatstop.enabled": { + "params": { + "plotly_name": "enabled", + "parent_name": "scattercarpet.marker.colorbar.tickformatstop", + "edit_type": "colorbars" + }, + "superclass": "BooleanValidator" + }, + "scattercarpet.marker.colorbar.tickformatstop.dtickrange": { + "params": { + "plotly_name": "dtickrange", + "parent_name": "scattercarpet.marker.colorbar.tickformatstop", + "edit_type": "colorbars", + "items": [ + { + "editType": "colorbars", + "valType": "any" + }, + { + "editType": "colorbars", + "valType": "any" + } + ] + }, + "superclass": "InfoArrayValidator" + }, + "scattercarpet.marker.colorbar.tickformat": { + "params": { + "plotly_name": "tickformat", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars" + }, + "superclass": "StringValidator" + }, + "scattercarpet.marker.colorbar.tickfont": { + "params": { + "plotly_name": "tickfont", + "parent_name": "scattercarpet.marker.colorbar", + "data_class_str": "Tickfont", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "scattercarpet.marker.colorbar.tickfont.weight": { + "params": { + "plotly_name": "weight", + "parent_name": "scattercarpet.marker.colorbar.tickfont", + "edit_type": "colorbars", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 + }, + "superclass": "IntegerValidator" + }, + "scattercarpet.marker.colorbar.tickfont.variant": { + "params": { + "plotly_name": "variant", + "parent_name": "scattercarpet.marker.colorbar.tickfont", + "edit_type": "colorbars", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattercarpet.marker.colorbar.tickfont.textcase": { + "params": { + "plotly_name": "textcase", + "parent_name": "scattercarpet.marker.colorbar.tickfont", + "edit_type": "colorbars", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattercarpet.marker.colorbar.tickfont.style": { + "params": { + "plotly_name": "style", + "parent_name": "scattercarpet.marker.colorbar.tickfont", + "edit_type": "colorbars", + "values": [ + "normal", + "italic" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattercarpet.marker.colorbar.tickfont.size": { "params": { "plotly_name": "size", - "parent_name": "scatter.marker", - "anim": true, - "array_ok": true, - "edit_type": "calc", - "min": 0 + "parent_name": "scattercarpet.marker.colorbar.tickfont", + "edit_type": "colorbars", + "min": 1 }, "superclass": "NumberValidator" }, - "scatter.marker.showscale": { + "scattercarpet.marker.colorbar.tickfont.shadow": { "params": { - "plotly_name": "showscale", - "parent_name": "scatter.marker", - "edit_type": "calc" + "plotly_name": "shadow", + "parent_name": "scattercarpet.marker.colorbar.tickfont", + "edit_type": "colorbars" }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "scatter.marker.reversescale": { + "scattercarpet.marker.colorbar.tickfont.lineposition": { "params": { - "plotly_name": "reversescale", - "parent_name": "scatter.marker", - "edit_type": "plot" + "plotly_name": "lineposition", + "parent_name": "scattercarpet.marker.colorbar.tickfont", + "edit_type": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] }, - "superclass": "BooleanValidator" + "superclass": "FlaglistValidator" }, - "scatter.marker.opacitysrc": { + "scattercarpet.marker.colorbar.tickfont.family": { "params": { - "plotly_name": "opacitysrc", - "parent_name": "scatter.marker", - "edit_type": "none" + "plotly_name": "family", + "parent_name": "scattercarpet.marker.colorbar.tickfont", + "edit_type": "colorbars", + "no_blank": true, + "strict": true }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "scatter.marker.opacity": { + "scattercarpet.marker.colorbar.tickfont.color": { "params": { - "plotly_name": "opacity", - "parent_name": "scatter.marker", - "anim": true, - "array_ok": true, - "edit_type": "style", - "max": 1, + "plotly_name": "color", + "parent_name": "scattercarpet.marker.colorbar.tickfont", + "edit_type": "colorbars" + }, + "superclass": "ColorValidator" + }, + "scattercarpet.marker.colorbar.tickcolor": { + "params": { + "plotly_name": "tickcolor", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars" + }, + "superclass": "ColorValidator" + }, + "scattercarpet.marker.colorbar.tickangle": { + "params": { + "plotly_name": "tickangle", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars" + }, + "superclass": "AngleValidator" + }, + "scattercarpet.marker.colorbar.tick0": { + "params": { + "plotly_name": "tick0", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", + "implied_edits": { + "tickmode": "linear" + } + }, + "superclass": "AnyValidator" + }, + "scattercarpet.marker.colorbar.thicknessmode": { + "params": { + "plotly_name": "thicknessmode", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "fraction", + "pixels" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattercarpet.marker.colorbar.thickness": { + "params": { + "plotly_name": "thickness", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "scatter.marker.maxdisplayed": { + "scattercarpet.marker.colorbar.showticksuffix": { "params": { - "plotly_name": "maxdisplayed", - "parent_name": "scatter.marker", - "edit_type": "plot", + "plotly_name": "showticksuffix", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattercarpet.marker.colorbar.showtickprefix": { + "params": { + "plotly_name": "showtickprefix", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattercarpet.marker.colorbar.showticklabels": { + "params": { + "plotly_name": "showticklabels", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars" + }, + "superclass": "BooleanValidator" + }, + "scattercarpet.marker.colorbar.showexponent": { + "params": { + "plotly_name": "showexponent", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scattercarpet.marker.colorbar.separatethousands": { + "params": { + "plotly_name": "separatethousands", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars" + }, + "superclass": "BooleanValidator" + }, + "scattercarpet.marker.colorbar.outlinewidth": { + "params": { + "plotly_name": "outlinewidth", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "scatter.marker.line": { + "scattercarpet.marker.colorbar.outlinecolor": { "params": { - "plotly_name": "line", - "parent_name": "scatter.marker", - "data_class_str": "Line", - "data_docs": "\n" + "plotly_name": "outlinecolor", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "CompoundValidator" + "superclass": "ColorValidator" }, - "scatter.marker.line.widthsrc": { + "scattercarpet.marker.colorbar.orientation": { "params": { - "plotly_name": "widthsrc", - "parent_name": "scatter.marker.line", - "edit_type": "none" + "plotly_name": "orientation", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "h", + "v" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "scatter.marker.line.width": { + "scattercarpet.marker.colorbar.nticks": { "params": { - "plotly_name": "width", - "parent_name": "scatter.marker.line", - "anim": true, - "array_ok": true, - "edit_type": "style", + "plotly_name": "nticks", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", + "min": 0 + }, + "superclass": "IntegerValidator" + }, + "scattercarpet.marker.colorbar.minexponent": { + "params": { + "plotly_name": "minexponent", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "scatter.marker.line.reversescale": { + "scattercarpet.marker.colorbar.lenmode": { "params": { - "plotly_name": "reversescale", - "parent_name": "scatter.marker.line", - "edit_type": "plot" + "plotly_name": "lenmode", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "fraction", + "pixels" + ] }, - "superclass": "BooleanValidator" + "superclass": "EnumeratedValidator" }, - "scatter.marker.line.dashsrc": { + "scattercarpet.marker.colorbar.len": { "params": { - "plotly_name": "dashsrc", - "parent_name": "scatter.marker.line", - "edit_type": "none" + "plotly_name": "len", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "scatter.marker.line.dash": { + "scattercarpet.marker.colorbar.labelalias": { "params": { - "plotly_name": "dash", - "parent_name": "scatter.marker.line", - "array_ok": true, - "edit_type": "style", + "plotly_name": "labelalias", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars" + }, + "superclass": "AnyValidator" + }, + "scattercarpet.marker.colorbar.exponentformat": { + "params": { + "plotly_name": "exponentformat", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" + "none", + "e", + "E", + "power", + "SI", + "B", + "SI extended" ] }, - "superclass": "DashValidator" + "superclass": "EnumeratedValidator" }, - "scatter.marker.line.colorsrc": { + "scattercarpet.marker.colorbar.dtick": { "params": { - "plotly_name": "colorsrc", - "parent_name": "scatter.marker.line", - "edit_type": "none" + "plotly_name": "dtick", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", + "implied_edits": { + "tickmode": "linear" + } + }, + "superclass": "AnyValidator" + }, + "scattercarpet.marker.colorbar.borderwidth": { + "params": { + "plotly_name": "borderwidth", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "scattercarpet.marker.colorbar.bordercolor": { + "params": { + "plotly_name": "bordercolor", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "scatter.marker.line.colorscale": { + "scattercarpet.marker.colorbar.bgcolor": { "params": { - "plotly_name": "colorscale", - "parent_name": "scatter.marker.line", - "edit_type": "calc", - "implied_edits": { - "autocolorscale": false - } + "plotly_name": "bgcolor", + "parent_name": "scattercarpet.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "ColorscaleValidator" + "superclass": "ColorValidator" }, - "scatter.marker.line.coloraxis": { + "scattercarpet.marker.coloraxis": { "params": { "plotly_name": "coloraxis", - "parent_name": "scatter.marker.line", + "parent_name": "scattercarpet.marker", "dflt": null, "edit_type": "calc", "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" }, "superclass": "SubplotidValidator" }, - "scatter.marker.line.color": { + "scattercarpet.marker.color": { "params": { "plotly_name": "color", - "parent_name": "scatter.marker.line", - "anim": true, + "parent_name": "scattercarpet.marker", "array_ok": true, "edit_type": "style", - "colorscale_path": "scatter.marker.line.colorscale" + "colorscale_path": "scattercarpet.marker.colorscale" }, "superclass": "ColorValidator" }, - "scatter.marker.line.cmin": { + "scattercarpet.marker.cmin": { "params": { "plotly_name": "cmin", - "parent_name": "scatter.marker.line", + "parent_name": "scattercarpet.marker", "edit_type": "plot", "implied_edits": { "cauto": false @@ -71660,19 +56500,19 @@ }, "superclass": "NumberValidator" }, - "scatter.marker.line.cmid": { + "scattercarpet.marker.cmid": { "params": { "plotly_name": "cmid", - "parent_name": "scatter.marker.line", + "parent_name": "scattercarpet.marker", "edit_type": "calc", "implied_edits": {} }, "superclass": "NumberValidator" }, - "scatter.marker.line.cmax": { + "scattercarpet.marker.cmax": { "params": { "plotly_name": "cmax", - "parent_name": "scatter.marker.line", + "parent_name": "scattercarpet.marker", "edit_type": "plot", "implied_edits": { "cauto": false @@ -71680,229 +56520,167 @@ }, "superclass": "NumberValidator" }, - "scatter.marker.line.cauto": { + "scattercarpet.marker.cauto": { "params": { "plotly_name": "cauto", - "parent_name": "scatter.marker.line", + "parent_name": "scattercarpet.marker", "edit_type": "calc", "implied_edits": {} }, "superclass": "BooleanValidator" }, - "scatter.marker.line.autocolorscale": { + "scattercarpet.marker.autocolorscale": { "params": { "plotly_name": "autocolorscale", - "parent_name": "scatter.marker.line", + "parent_name": "scattercarpet.marker", "edit_type": "calc", "implied_edits": {} }, "superclass": "BooleanValidator" }, - "scatter.marker.gradient": { - "params": { - "plotly_name": "gradient", - "parent_name": "scatter.marker", - "data_class_str": "Gradient", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter.marker.gradient.typesrc": { - "params": { - "plotly_name": "typesrc", - "parent_name": "scatter.marker.gradient", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.marker.gradient.type": { + "scattercarpet.marker.angleref": { "params": { - "plotly_name": "type", - "parent_name": "scatter.marker.gradient", - "array_ok": true, - "edit_type": "calc", + "plotly_name": "angleref", + "parent_name": "scattercarpet.marker", + "edit_type": "plot", "values": [ - "radial", - "horizontal", - "vertical", - "none" + "previous", + "up" ] }, "superclass": "EnumeratedValidator" }, - "scatter.marker.gradient.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scatter.marker.gradient", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.marker.gradient.color": { + "scattercarpet.marker.angle": { "params": { - "plotly_name": "color", - "parent_name": "scatter.marker.gradient", + "plotly_name": "angle", + "parent_name": "scattercarpet.marker", "array_ok": true, - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "scatter.marker.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "scatter.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.marker.colorscale": { - "params": { - "plotly_name": "colorscale", - "parent_name": "scatter.marker", - "edit_type": "calc", - "implied_edits": { - "autocolorscale": false - } + "edit_type": "plot" }, - "superclass": "ColorscaleValidator" + "superclass": "AngleValidator" }, - "scatter.marker.colorbar": { + "scattercarpet.line": { "params": { - "plotly_name": "colorbar", - "parent_name": "scatter.marker", - "data_class_str": "ColorBar", + "plotly_name": "line", + "parent_name": "scattercarpet", + "data_class_str": "Line", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scatter.marker.colorbar.yref": { + "scattercarpet.line.width": { "params": { - "plotly_name": "yref", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "container", - "paper" - ] + "plotly_name": "width", + "parent_name": "scattercarpet.line", + "edit_type": "style", + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "scatter.marker.colorbar.ypad": { + "scattercarpet.line.smoothing": { "params": { - "plotly_name": "ypad", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", + "plotly_name": "smoothing", + "parent_name": "scattercarpet.line", + "edit_type": "plot", + "max": 1.3, "min": 0 }, "superclass": "NumberValidator" }, - "scatter.marker.colorbar.yanchor": { + "scattercarpet.line.shape": { "params": { - "plotly_name": "yanchor", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", + "plotly_name": "shape", + "parent_name": "scattercarpet.line", + "edit_type": "plot", "values": [ - "top", - "middle", - "bottom" + "linear", + "spline" ] }, "superclass": "EnumeratedValidator" }, - "scatter.marker.colorbar.y": { + "scattercarpet.line.dash": { "params": { - "plotly_name": "y", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "dash", + "parent_name": "scattercarpet.line", + "edit_type": "style", + "values": [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" + ] }, - "superclass": "NumberValidator" + "superclass": "DashValidator" }, - "scatter.marker.colorbar.xref": { + "scattercarpet.line.color": { "params": { - "plotly_name": "xref", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "container", - "paper" - ] + "plotly_name": "color", + "parent_name": "scattercarpet.line", + "edit_type": "style" }, - "superclass": "EnumeratedValidator" + "superclass": "ColorValidator" }, - "scatter.marker.colorbar.xpad": { + "scattercarpet.line.backoff": { "params": { - "plotly_name": "xpad", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", + "plotly_name": "backoff", + "parent_name": "scattercarpet.line", + "array_ok": true, + "edit_type": "plot", "min": 0 }, "superclass": "NumberValidator" }, - "scatter.marker.colorbar.xanchor": { + "scattercarpet.legendwidth": { "params": { - "plotly_name": "xanchor", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "left", - "center", - "right" - ] + "plotly_name": "legendwidth", + "parent_name": "scattercarpet", + "edit_type": "style", + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "scatter.marker.colorbar.x": { + "scattercarpet.legendrank": { "params": { - "plotly_name": "x", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "legendrank", + "parent_name": "scattercarpet", + "edit_type": "style" }, "superclass": "NumberValidator" }, - "scatter.marker.colorbar.title": { + "scattercarpet.legendgrouptitle": { "params": { - "plotly_name": "title", - "parent_name": "scatter.marker.colorbar", - "data_class_str": "Title", + "plotly_name": "legendgrouptitle", + "parent_name": "scattercarpet", + "data_class_str": "Legendgrouptitle", "data_docs": "\n" }, - "superclass": "TitleValidator" + "superclass": "CompoundValidator" }, - "scatter.marker.colorbar.title.text": { + "scattercarpet.legendgrouptitle.text": { "params": { "plotly_name": "text", - "parent_name": "scatter.marker.colorbar.title", - "edit_type": "colorbars" + "parent_name": "scattercarpet.legendgrouptitle", + "edit_type": "style" }, "superclass": "StringValidator" }, - "scatter.marker.colorbar.title.side": { - "params": { - "plotly_name": "side", - "parent_name": "scatter.marker.colorbar.title", - "edit_type": "colorbars", - "values": [ - "right", - "top", - "bottom" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter.marker.colorbar.title.font": { + "scattercarpet.legendgrouptitle.font": { "params": { "plotly_name": "font", - "parent_name": "scatter.marker.colorbar.title", + "parent_name": "scattercarpet.legendgrouptitle", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scatter.marker.colorbar.title.font.weight": { + "scattercarpet.legendgrouptitle.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "scatter.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "scattercarpet.legendgrouptitle.font", + "edit_type": "style", "extras": [ "normal", "bold" @@ -71912,11 +56690,11 @@ }, "superclass": "IntegerValidator" }, - "scatter.marker.colorbar.title.font.variant": { + "scattercarpet.legendgrouptitle.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "scatter.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "scattercarpet.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "small-caps", @@ -71928,11 +56706,11 @@ }, "superclass": "EnumeratedValidator" }, - "scatter.marker.colorbar.title.font.textcase": { + "scattercarpet.legendgrouptitle.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "scatter.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "scattercarpet.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "word caps", @@ -71942,11 +56720,11 @@ }, "superclass": "EnumeratedValidator" }, - "scatter.marker.colorbar.title.font.style": { + "scattercarpet.legendgrouptitle.font.style": { "params": { "plotly_name": "style", - "parent_name": "scatter.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "scattercarpet.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "italic" @@ -71954,28 +56732,28 @@ }, "superclass": "EnumeratedValidator" }, - "scatter.marker.colorbar.title.font.size": { + "scattercarpet.legendgrouptitle.font.size": { "params": { "plotly_name": "size", - "parent_name": "scatter.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "scattercarpet.legendgrouptitle.font", + "edit_type": "style", "min": 1 }, "superclass": "NumberValidator" }, - "scatter.marker.colorbar.title.font.shadow": { + "scattercarpet.legendgrouptitle.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "scatter.marker.colorbar.title.font", - "edit_type": "colorbars" + "parent_name": "scattercarpet.legendgrouptitle.font", + "edit_type": "style" }, "superclass": "StringValidator" }, - "scatter.marker.colorbar.title.font.lineposition": { + "scattercarpet.legendgrouptitle.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "scatter.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "scattercarpet.legendgrouptitle.font", + "edit_type": "style", "extras": [ "none" ], @@ -71987,249 +56765,129 @@ }, "superclass": "FlaglistValidator" }, - "scatter.marker.colorbar.title.font.family": { + "scattercarpet.legendgrouptitle.font.family": { "params": { "plotly_name": "family", - "parent_name": "scatter.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "scattercarpet.legendgrouptitle.font", + "edit_type": "style", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "scatter.marker.colorbar.title.font.color": { + "scattercarpet.legendgrouptitle.font.color": { "params": { "plotly_name": "color", - "parent_name": "scatter.marker.colorbar.title.font", - "edit_type": "colorbars" + "parent_name": "scattercarpet.legendgrouptitle.font", + "edit_type": "style" }, "superclass": "ColorValidator" }, - "scatter.marker.colorbar.tickwidth": { - "params": { - "plotly_name": "tickwidth", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter.marker.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "scatter.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.marker.colorbar.tickvals": { + "scattercarpet.legendgroup": { "params": { - "plotly_name": "tickvals", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "legendgroup", + "parent_name": "scattercarpet", + "edit_type": "style" }, - "superclass": "DataArrayValidator" + "superclass": "StringValidator" }, - "scatter.marker.colorbar.ticktextsrc": { + "scattercarpet.legend": { "params": { - "plotly_name": "ticktextsrc", - "parent_name": "scatter.marker.colorbar", - "edit_type": "none" + "plotly_name": "legend", + "parent_name": "scattercarpet", + "dflt": "legend", + "edit_type": "style" }, - "superclass": "SrcValidator" + "superclass": "SubplotidValidator" }, - "scatter.marker.colorbar.ticktext": { + "scattercarpet.ids": { "params": { - "plotly_name": "ticktext", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "ids", + "parent_name": "scattercarpet", + "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "scatter.marker.colorbar.ticksuffix": { + "scattercarpet.hovertext": { "params": { - "plotly_name": "ticksuffix", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "hovertext", + "parent_name": "scattercarpet", + "array_ok": true, + "edit_type": "style" }, "superclass": "StringValidator" }, - "scatter.marker.colorbar.ticks": { + "scattercarpet.hovertemplatefallback": { "params": { - "plotly_name": "ticks", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "outside", - "inside", - "" - ] + "plotly_name": "hovertemplatefallback", + "parent_name": "scattercarpet", + "edit_type": "none" }, - "superclass": "EnumeratedValidator" + "superclass": "AnyValidator" }, - "scatter.marker.colorbar.tickprefix": { + "scattercarpet.hovertemplate": { "params": { - "plotly_name": "tickprefix", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "hovertemplate", + "parent_name": "scattercarpet", + "array_ok": true, + "edit_type": "none" }, "superclass": "StringValidator" }, - "scatter.marker.colorbar.tickmode": { - "params": { - "plotly_name": "tickmode", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", - "implied_edits": {}, - "values": [ - "auto", - "linear", - "array" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter.marker.colorbar.ticklen": { - "params": { - "plotly_name": "ticklen", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "scatter.marker.colorbar.ticklabelstep": { - "params": { - "plotly_name": "ticklabelstep", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "scatter.marker.colorbar.ticklabelposition": { - "params": { - "plotly_name": "ticklabelposition", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" - ] - }, - "superclass": "EnumeratedValidator" - }, - "scatter.marker.colorbar.ticklabeloverflow": { + "scattercarpet.hoveron": { "params": { - "plotly_name": "ticklabeloverflow", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "allow", - "hide past div", - "hide past domain" + "plotly_name": "hoveron", + "parent_name": "scattercarpet", + "edit_type": "style", + "flags": [ + "points", + "fills" ] }, - "superclass": "EnumeratedValidator" - }, - "scatter.marker.colorbar.tickformatstopdefaults": { - "params": { - "plotly_name": "tickformatstopdefaults", - "parent_name": "scatter.marker.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "scatter.marker.colorbar.tickformatstops": { - "params": { - "plotly_name": "tickformatstops", - "parent_name": "scatter.marker.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" - }, - "superclass": "CompoundArrayValidator" - }, - "scatter.marker.colorbar.tickformatstop.value": { - "params": { - "plotly_name": "value", - "parent_name": "scatter.marker.colorbar.tickformatstop", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "scatter.marker.colorbar.tickformatstop.templateitemname": { - "params": { - "plotly_name": "templateitemname", - "parent_name": "scatter.marker.colorbar.tickformatstop", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "scatter.marker.colorbar.tickformatstop.name": { - "params": { - "plotly_name": "name", - "parent_name": "scatter.marker.colorbar.tickformatstop", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "scatter.marker.colorbar.tickformatstop.enabled": { - "params": { - "plotly_name": "enabled", - "parent_name": "scatter.marker.colorbar.tickformatstop", - "edit_type": "colorbars" - }, - "superclass": "BooleanValidator" + "superclass": "FlaglistValidator" }, - "scatter.marker.colorbar.tickformatstop.dtickrange": { + "scattercarpet.hoverlabel": { "params": { - "plotly_name": "dtickrange", - "parent_name": "scatter.marker.colorbar.tickformatstop", - "edit_type": "colorbars", - "items": [ - { - "editType": "colorbars", - "valType": "any" - }, - { - "editType": "colorbars", - "valType": "any" - } - ] + "plotly_name": "hoverlabel", + "parent_name": "scattercarpet", + "data_class_str": "Hoverlabel", + "data_docs": "\n" }, - "superclass": "InfoArrayValidator" + "superclass": "CompoundValidator" }, - "scatter.marker.colorbar.tickformat": { + "scattercarpet.hoverlabel.showarrow": { "params": { - "plotly_name": "tickformat", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "showarrow", + "parent_name": "scattercarpet.hoverlabel", + "edit_type": "none" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "scatter.marker.colorbar.tickfont": { + "scattercarpet.hoverlabel.namelength": { "params": { - "plotly_name": "tickfont", - "parent_name": "scatter.marker.colorbar", - "data_class_str": "Tickfont", + "plotly_name": "namelength", + "parent_name": "scattercarpet.hoverlabel", + "array_ok": true, + "edit_type": "none", + "min": -1 + }, + "superclass": "IntegerValidator" + }, + "scattercarpet.hoverlabel.font": { + "params": { + "plotly_name": "font", + "parent_name": "scattercarpet.hoverlabel", + "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scatter.marker.colorbar.tickfont.weight": { + "scattercarpet.hoverlabel.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "scatter.marker.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "scattercarpet.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "extras": [ "normal", "bold" @@ -72239,11 +56897,12 @@ }, "superclass": "IntegerValidator" }, - "scatter.marker.colorbar.tickfont.variant": { + "scattercarpet.hoverlabel.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "scatter.marker.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "scattercarpet.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "small-caps", @@ -72255,11 +56914,12 @@ }, "superclass": "EnumeratedValidator" }, - "scatter.marker.colorbar.tickfont.textcase": { + "scattercarpet.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "scatter.marker.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "scattercarpet.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "word caps", @@ -72269,11 +56929,12 @@ }, "superclass": "EnumeratedValidator" }, - "scatter.marker.colorbar.tickfont.style": { + "scattercarpet.hoverlabel.font.style": { "params": { "plotly_name": "style", - "parent_name": "scatter.marker.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "scattercarpet.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "italic" @@ -72281,28 +56942,31 @@ }, "superclass": "EnumeratedValidator" }, - "scatter.marker.colorbar.tickfont.size": { + "scattercarpet.hoverlabel.font.size": { "params": { "plotly_name": "size", - "parent_name": "scatter.marker.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "scattercarpet.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "min": 1 }, "superclass": "NumberValidator" }, - "scatter.marker.colorbar.tickfont.shadow": { + "scattercarpet.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "scatter.marker.colorbar.tickfont", - "edit_type": "colorbars" + "parent_name": "scattercarpet.hoverlabel.font", + "array_ok": true, + "edit_type": "none" }, "superclass": "StringValidator" }, - "scatter.marker.colorbar.tickfont.lineposition": { + "scattercarpet.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "scatter.marker.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "scattercarpet.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "extras": [ "none" ], @@ -72314,752 +56978,980 @@ }, "superclass": "FlaglistValidator" }, - "scatter.marker.colorbar.tickfont.family": { + "scattercarpet.hoverlabel.font.family": { "params": { "plotly_name": "family", - "parent_name": "scatter.marker.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "scattercarpet.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "scatter.marker.colorbar.tickfont.color": { + "scattercarpet.hoverlabel.font.color": { "params": { "plotly_name": "color", - "parent_name": "scatter.marker.colorbar.tickfont", - "edit_type": "colorbars" + "parent_name": "scattercarpet.hoverlabel.font", + "array_ok": true, + "edit_type": "none" }, "superclass": "ColorValidator" }, - "scatter.marker.colorbar.tickcolor": { + "scattercarpet.hoverlabel.bordercolor": { "params": { - "plotly_name": "tickcolor", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "bordercolor", + "parent_name": "scattercarpet.hoverlabel", + "array_ok": true, + "edit_type": "none" }, "superclass": "ColorValidator" }, - "scatter.marker.colorbar.tickangle": { + "scattercarpet.hoverlabel.bgcolor": { "params": { - "plotly_name": "tickangle", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "bgcolor", + "parent_name": "scattercarpet.hoverlabel", + "array_ok": true, + "edit_type": "none" }, - "superclass": "AngleValidator" + "superclass": "ColorValidator" }, - "scatter.marker.colorbar.tick0": { + "scattercarpet.hoverlabel.align": { "params": { - "plotly_name": "tick0", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", - "implied_edits": { - "tickmode": "linear" - } + "plotly_name": "align", + "parent_name": "scattercarpet.hoverlabel", + "array_ok": true, + "edit_type": "none", + "values": [ + "left", + "right", + "auto" + ] }, - "superclass": "AnyValidator" + "superclass": "EnumeratedValidator" }, - "scatter.marker.colorbar.thicknessmode": { + "scattercarpet.hoverinfo": { "params": { - "plotly_name": "thicknessmode", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", + "plotly_name": "hoverinfo", + "parent_name": "scattercarpet", + "array_ok": true, + "edit_type": "none", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "a", + "b", + "text", + "name" + ] + }, + "superclass": "FlaglistValidator" + }, + "scattercarpet.fillcolor": { + "params": { + "plotly_name": "fillcolor", + "parent_name": "scattercarpet", + "edit_type": "style" + }, + "superclass": "ColorValidator" + }, + "scattercarpet.fill": { + "params": { + "plotly_name": "fill", + "parent_name": "scattercarpet", + "edit_type": "calc", "values": [ - "fraction", - "pixels" + "none", + "toself", + "tonext" ] }, "superclass": "EnumeratedValidator" }, - "scatter.marker.colorbar.thickness": { + "scattercarpet.customdata": { "params": { - "plotly_name": "thickness", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "customdata", + "parent_name": "scattercarpet", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "scatter.marker.colorbar.showticksuffix": { + "scattercarpet.connectgaps": { "params": { - "plotly_name": "showticksuffix", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", + "plotly_name": "connectgaps", + "parent_name": "scattercarpet", + "edit_type": "calc" + }, + "superclass": "BooleanValidator" + }, + "scattercarpet.carpet": { + "params": { + "plotly_name": "carpet", + "parent_name": "scattercarpet", + "edit_type": "calc" + }, + "superclass": "StringValidator" + }, + "scattercarpet.b": { + "params": { + "plotly_name": "b", + "parent_name": "scattercarpet", + "edit_type": "calc" + }, + "superclass": "DataArrayValidator" + }, + "scattercarpet.a": { + "params": { + "plotly_name": "a", + "parent_name": "scattercarpet", + "edit_type": "calc" + }, + "superclass": "DataArrayValidator" + }, + "scatter3d": { + "params": { + "plotly_name": "scatter3d", + "parent_name": "", + "data_class_str": "Scatter3d", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "scatter3d.zhoverformat": { + "params": { + "plotly_name": "zhoverformat", + "parent_name": "scatter3d", + "edit_type": "calc" + }, + "superclass": "StringValidator" + }, + "scatter3d.zcalendar": { + "params": { + "plotly_name": "zcalendar", + "parent_name": "scatter3d", + "edit_type": "calc", "values": [ - "all", - "first", - "last", - "none" + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" ] }, "superclass": "EnumeratedValidator" }, - "scatter.marker.colorbar.showtickprefix": { + "scatter3d.z": { "params": { - "plotly_name": "showtickprefix", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", + "plotly_name": "z", + "parent_name": "scatter3d", + "edit_type": "calc+clearAxisTypes" + }, + "superclass": "DataArrayValidator" + }, + "scatter3d.yhoverformat": { + "params": { + "plotly_name": "yhoverformat", + "parent_name": "scatter3d", + "edit_type": "calc" + }, + "superclass": "StringValidator" + }, + "scatter3d.ycalendar": { + "params": { + "plotly_name": "ycalendar", + "parent_name": "scatter3d", + "edit_type": "calc", "values": [ - "all", - "first", - "last", - "none" + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" ] }, "superclass": "EnumeratedValidator" }, - "scatter.marker.colorbar.showticklabels": { + "scatter3d.y": { "params": { - "plotly_name": "showticklabels", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "y", + "parent_name": "scatter3d", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "BooleanValidator" + "superclass": "DataArrayValidator" }, - "scatter.marker.colorbar.showexponent": { + "scatter3d.xhoverformat": { "params": { - "plotly_name": "showexponent", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", + "plotly_name": "xhoverformat", + "parent_name": "scatter3d", + "edit_type": "calc" + }, + "superclass": "StringValidator" + }, + "scatter3d.xcalendar": { + "params": { + "plotly_name": "xcalendar", + "parent_name": "scatter3d", + "edit_type": "calc", "values": [ - "all", - "first", - "last", - "none" + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" ] }, "superclass": "EnumeratedValidator" }, - "scatter.marker.colorbar.separatethousands": { + "scatter3d.x": { "params": { - "plotly_name": "separatethousands", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "x", + "parent_name": "scatter3d", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "BooleanValidator" + "superclass": "DataArrayValidator" }, - "scatter.marker.colorbar.outlinewidth": { + "scatter3d.visible": { + "params": { + "plotly_name": "visible", + "parent_name": "scatter3d", + "edit_type": "calc", + "values": [ + true, + false, + "legendonly" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scatter3d.uirevision": { + "params": { + "plotly_name": "uirevision", + "parent_name": "scatter3d", + "edit_type": "none" + }, + "superclass": "AnyValidator" + }, + "scatter3d.uid": { + "params": { + "plotly_name": "uid", + "parent_name": "scatter3d", + "edit_type": "plot" + }, + "superclass": "StringValidator" + }, + "scatter3d.texttemplatefallback": { + "params": { + "plotly_name": "texttemplatefallback", + "parent_name": "scatter3d", + "edit_type": "calc" + }, + "superclass": "AnyValidator" + }, + "scatter3d.texttemplate": { + "params": { + "plotly_name": "texttemplate", + "parent_name": "scatter3d", + "array_ok": true, + "edit_type": "calc" + }, + "superclass": "StringValidator" + }, + "scatter3d.textposition": { + "params": { + "plotly_name": "textposition", + "parent_name": "scatter3d", + "array_ok": true, + "edit_type": "calc", + "values": [ + "top left", + "top center", + "top right", + "middle left", + "middle center", + "middle right", + "bottom left", + "bottom center", + "bottom right" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scatter3d.textfont": { + "params": { + "plotly_name": "textfont", + "parent_name": "scatter3d", + "data_class_str": "Textfont", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "scatter3d.textfont.weight": { + "params": { + "plotly_name": "weight", + "parent_name": "scatter3d.textfont", + "array_ok": true, + "edit_type": "calc", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 + }, + "superclass": "IntegerValidator" + }, + "scatter3d.textfont.variant": { + "params": { + "plotly_name": "variant", + "parent_name": "scatter3d.textfont", + "array_ok": true, + "edit_type": "calc", + "values": [ + "normal", + "small-caps" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scatter3d.textfont.style": { + "params": { + "plotly_name": "style", + "parent_name": "scatter3d.textfont", + "array_ok": true, + "edit_type": "calc", + "values": [ + "normal", + "italic" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scatter3d.textfont.size": { + "params": { + "plotly_name": "size", + "parent_name": "scatter3d.textfont", + "array_ok": true, + "edit_type": "calc", + "min": 1 + }, + "superclass": "NumberValidator" + }, + "scatter3d.textfont.family": { + "params": { + "plotly_name": "family", + "parent_name": "scatter3d.textfont", + "array_ok": true, + "edit_type": "calc", + "no_blank": true, + "strict": true + }, + "superclass": "StringValidator" + }, + "scatter3d.textfont.color": { + "params": { + "plotly_name": "color", + "parent_name": "scatter3d.textfont", + "array_ok": true, + "edit_type": "calc" + }, + "superclass": "ColorValidator" + }, + "scatter3d.text": { "params": { - "plotly_name": "outlinewidth", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "text", + "parent_name": "scatter3d", + "array_ok": true, + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "scatter.marker.colorbar.outlinecolor": { + "scatter3d.surfacecolor": { "params": { - "plotly_name": "outlinecolor", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "surfacecolor", + "parent_name": "scatter3d", + "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scatter.marker.colorbar.orientation": { + "scatter3d.surfaceaxis": { "params": { - "plotly_name": "orientation", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", + "plotly_name": "surfaceaxis", + "parent_name": "scatter3d", + "edit_type": "calc", "values": [ - "h", - "v" + -1, + 0, + 1, + 2 ] }, "superclass": "EnumeratedValidator" }, - "scatter.marker.colorbar.nticks": { - "params": { - "plotly_name": "nticks", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "IntegerValidator" - }, - "scatter.marker.colorbar.minexponent": { + "scatter3d.showlegend": { "params": { - "plotly_name": "minexponent", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "showlegend", + "parent_name": "scatter3d", + "edit_type": "style" }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "scatter.marker.colorbar.lenmode": { + "scatter3d.scene": { "params": { - "plotly_name": "lenmode", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "fraction", - "pixels" - ] + "plotly_name": "scene", + "parent_name": "scatter3d", + "dflt": "scene", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "EnumeratedValidator" + "superclass": "SubplotidValidator" }, - "scatter.marker.colorbar.len": { + "scatter3d.projection": { "params": { - "plotly_name": "len", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "projection", + "parent_name": "scatter3d", + "data_class_str": "Projection", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "scatter.marker.colorbar.labelalias": { + "scatter3d.projection.z": { "params": { - "plotly_name": "labelalias", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "z", + "parent_name": "scatter3d.projection", + "data_class_str": "Z", + "data_docs": "\n" }, - "superclass": "AnyValidator" + "superclass": "CompoundValidator" }, - "scatter.marker.colorbar.exponentformat": { + "scatter3d.projection.z.show": { "params": { - "plotly_name": "exponentformat", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" - ] + "plotly_name": "show", + "parent_name": "scatter3d.projection.z", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "BooleanValidator" }, - "scatter.marker.colorbar.dtick": { + "scatter3d.projection.z.scale": { "params": { - "plotly_name": "dtick", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", - "implied_edits": { - "tickmode": "linear" - } + "plotly_name": "scale", + "parent_name": "scatter3d.projection.z", + "edit_type": "calc", + "max": 10, + "min": 0 }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "scatter.marker.colorbar.borderwidth": { + "scatter3d.projection.z.opacity": { "params": { - "plotly_name": "borderwidth", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars", + "plotly_name": "opacity", + "parent_name": "scatter3d.projection.z", + "edit_type": "calc", + "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "scatter.marker.colorbar.bordercolor": { + "scatter3d.projection.y": { "params": { - "plotly_name": "bordercolor", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "y", + "parent_name": "scatter3d.projection", + "data_class_str": "Y", + "data_docs": "\n" }, - "superclass": "ColorValidator" + "superclass": "CompoundValidator" }, - "scatter.marker.colorbar.bgcolor": { + "scatter3d.projection.y.show": { "params": { - "plotly_name": "bgcolor", - "parent_name": "scatter.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "show", + "parent_name": "scatter3d.projection.y", + "edit_type": "calc" }, - "superclass": "ColorValidator" + "superclass": "BooleanValidator" }, - "scatter.marker.coloraxis": { + "scatter3d.projection.y.scale": { "params": { - "plotly_name": "coloraxis", - "parent_name": "scatter.marker", - "dflt": null, + "plotly_name": "scale", + "parent_name": "scatter3d.projection.y", "edit_type": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" + "max": 10, + "min": 0 }, - "superclass": "SubplotidValidator" + "superclass": "NumberValidator" }, - "scatter.marker.color": { + "scatter3d.projection.y.opacity": { "params": { - "plotly_name": "color", - "parent_name": "scatter.marker", - "anim": true, - "array_ok": true, - "edit_type": "style", - "colorscale_path": "scatter.marker.colorscale" + "plotly_name": "opacity", + "parent_name": "scatter3d.projection.y", + "edit_type": "calc", + "max": 1, + "min": 0 }, - "superclass": "ColorValidator" + "superclass": "NumberValidator" }, - "scatter.marker.cmin": { + "scatter3d.projection.x": { "params": { - "plotly_name": "cmin", - "parent_name": "scatter.marker", - "edit_type": "plot", - "implied_edits": { - "cauto": false - } + "plotly_name": "x", + "parent_name": "scatter3d.projection", + "data_class_str": "X", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "scatter.marker.cmid": { + "scatter3d.projection.x.show": { "params": { - "plotly_name": "cmid", - "parent_name": "scatter.marker", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "show", + "parent_name": "scatter3d.projection.x", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "scatter.marker.cmax": { + "scatter3d.projection.x.scale": { "params": { - "plotly_name": "cmax", - "parent_name": "scatter.marker", - "edit_type": "plot", - "implied_edits": { - "cauto": false - } + "plotly_name": "scale", + "parent_name": "scatter3d.projection.x", + "edit_type": "calc", + "max": 10, + "min": 0 }, "superclass": "NumberValidator" }, - "scatter.marker.cauto": { + "scatter3d.projection.x.opacity": { "params": { - "plotly_name": "cauto", - "parent_name": "scatter.marker", + "plotly_name": "opacity", + "parent_name": "scatter3d.projection.x", "edit_type": "calc", - "implied_edits": {} + "max": 1, + "min": 0 }, - "superclass": "BooleanValidator" + "superclass": "NumberValidator" }, - "scatter.marker.autocolorscale": { + "scatter3d.opacity": { "params": { - "plotly_name": "autocolorscale", - "parent_name": "scatter.marker", + "plotly_name": "opacity", + "parent_name": "scatter3d", "edit_type": "calc", - "implied_edits": {} + "max": 1, + "min": 0 }, - "superclass": "BooleanValidator" + "superclass": "NumberValidator" }, - "scatter.marker.anglesrc": { + "scatter3d.name": { "params": { - "plotly_name": "anglesrc", - "parent_name": "scatter.marker", - "edit_type": "none" + "plotly_name": "name", + "parent_name": "scatter3d", + "edit_type": "style" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "scatter.marker.angleref": { + "scatter3d.mode": { "params": { - "plotly_name": "angleref", - "parent_name": "scatter.marker", - "anim": false, - "edit_type": "plot", - "values": [ - "previous", - "up" + "plotly_name": "mode", + "parent_name": "scatter3d", + "edit_type": "calc", + "extras": [ + "none" + ], + "flags": [ + "lines", + "markers", + "text" ] }, - "superclass": "EnumeratedValidator" + "superclass": "FlaglistValidator" }, - "scatter.marker.angle": { + "scatter3d.meta": { "params": { - "plotly_name": "angle", - "parent_name": "scatter.marker", - "anim": false, + "plotly_name": "meta", + "parent_name": "scatter3d", "array_ok": true, "edit_type": "plot" }, - "superclass": "AngleValidator" + "superclass": "AnyValidator" }, - "scatter.line": { + "scatter3d.marker": { "params": { - "plotly_name": "line", - "parent_name": "scatter", - "data_class_str": "Line", + "plotly_name": "marker", + "parent_name": "scatter3d", + "data_class_str": "Marker", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scatter.line.width": { + "scatter3d.marker.symbol": { "params": { - "plotly_name": "width", - "parent_name": "scatter.line", - "anim": true, - "edit_type": "style", - "min": 0 + "plotly_name": "symbol", + "parent_name": "scatter3d.marker", + "array_ok": true, + "edit_type": "calc", + "values": [ + "circle", + "circle-open", + "cross", + "diamond", + "diamond-open", + "square", + "square-open", + "x" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "scatter.line.smoothing": { + "scatter3d.marker.sizeref": { "params": { - "plotly_name": "smoothing", - "parent_name": "scatter.line", - "edit_type": "plot", - "max": 1.3, - "min": 0 + "plotly_name": "sizeref", + "parent_name": "scatter3d.marker", + "edit_type": "calc" }, "superclass": "NumberValidator" }, - "scatter.line.simplify": { - "params": { - "plotly_name": "simplify", - "parent_name": "scatter.line", - "edit_type": "plot" - }, - "superclass": "BooleanValidator" - }, - "scatter.line.shape": { + "scatter3d.marker.sizemode": { "params": { - "plotly_name": "shape", - "parent_name": "scatter.line", - "edit_type": "plot", + "plotly_name": "sizemode", + "parent_name": "scatter3d.marker", + "edit_type": "calc", "values": [ - "linear", - "spline", - "hv", - "vh", - "hvh", - "vhv" + "diameter", + "area" ] }, "superclass": "EnumeratedValidator" }, - "scatter.line.dash": { - "params": { - "plotly_name": "dash", - "parent_name": "scatter.line", - "edit_type": "style", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ] - }, - "superclass": "DashValidator" - }, - "scatter.line.color": { - "params": { - "plotly_name": "color", - "parent_name": "scatter.line", - "anim": true, - "edit_type": "style" - }, - "superclass": "ColorValidator" - }, - "scatter.line.backoffsrc": { - "params": { - "plotly_name": "backoffsrc", - "parent_name": "scatter.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.line.backoff": { + "scatter3d.marker.sizemin": { "params": { - "plotly_name": "backoff", - "parent_name": "scatter.line", - "array_ok": true, - "edit_type": "plot", + "plotly_name": "sizemin", + "parent_name": "scatter3d.marker", + "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scatter.legendwidth": { + "scatter3d.marker.size": { "params": { - "plotly_name": "legendwidth", - "parent_name": "scatter", - "edit_type": "style", + "plotly_name": "size", + "parent_name": "scatter3d.marker", + "array_ok": true, + "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scatter.legendrank": { + "scatter3d.marker.showscale": { "params": { - "plotly_name": "legendrank", - "parent_name": "scatter", - "edit_type": "style" + "plotly_name": "showscale", + "parent_name": "scatter3d.marker", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "scatter.legendgrouptitle": { + "scatter3d.marker.reversescale": { "params": { - "plotly_name": "legendgrouptitle", - "parent_name": "scatter", - "data_class_str": "Legendgrouptitle", - "data_docs": "\n" + "plotly_name": "reversescale", + "parent_name": "scatter3d.marker", + "edit_type": "calc" }, - "superclass": "CompoundValidator" + "superclass": "BooleanValidator" }, - "scatter.legendgrouptitle.text": { + "scatter3d.marker.opacity": { "params": { - "plotly_name": "text", - "parent_name": "scatter.legendgrouptitle", - "edit_type": "style" + "plotly_name": "opacity", + "parent_name": "scatter3d.marker", + "array_ok": false, + "edit_type": "calc", + "max": 1, + "min": 0 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "scatter.legendgrouptitle.font": { + "scatter3d.marker.line": { "params": { - "plotly_name": "font", - "parent_name": "scatter.legendgrouptitle", - "data_class_str": "Font", + "plotly_name": "line", + "parent_name": "scatter3d.marker", + "data_class_str": "Line", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scatter.legendgrouptitle.font.weight": { + "scatter3d.marker.line.width": { "params": { - "plotly_name": "weight", - "parent_name": "scatter.legendgrouptitle.font", - "edit_type": "style", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 + "plotly_name": "width", + "parent_name": "scatter3d.marker.line", + "array_ok": false, + "edit_type": "calc", + "min": 0 }, - "superclass": "IntegerValidator" + "superclass": "NumberValidator" }, - "scatter.legendgrouptitle.font.variant": { + "scatter3d.marker.line.reversescale": { "params": { - "plotly_name": "variant", - "parent_name": "scatter.legendgrouptitle.font", - "edit_type": "style", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] + "plotly_name": "reversescale", + "parent_name": "scatter3d.marker.line", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "BooleanValidator" }, - "scatter.legendgrouptitle.font.textcase": { + "scatter3d.marker.line.colorscale": { "params": { - "plotly_name": "textcase", - "parent_name": "scatter.legendgrouptitle.font", - "edit_type": "style", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] + "plotly_name": "colorscale", + "parent_name": "scatter3d.marker.line", + "edit_type": "calc", + "implied_edits": { + "autocolorscale": false + } }, - "superclass": "EnumeratedValidator" + "superclass": "ColorscaleValidator" }, - "scatter.legendgrouptitle.font.style": { + "scatter3d.marker.line.coloraxis": { "params": { - "plotly_name": "style", - "parent_name": "scatter.legendgrouptitle.font", - "edit_type": "style", - "values": [ - "normal", - "italic" - ] + "plotly_name": "coloraxis", + "parent_name": "scatter3d.marker.line", + "dflt": null, + "edit_type": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" }, - "superclass": "EnumeratedValidator" + "superclass": "SubplotidValidator" }, - "scatter.legendgrouptitle.font.size": { + "scatter3d.marker.line.color": { "params": { - "plotly_name": "size", - "parent_name": "scatter.legendgrouptitle.font", - "edit_type": "style", - "min": 1 + "plotly_name": "color", + "parent_name": "scatter3d.marker.line", + "array_ok": true, + "edit_type": "calc", + "colorscale_path": "scatter3d.marker.line.colorscale" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "scatter.legendgrouptitle.font.shadow": { + "scatter3d.marker.line.cmin": { "params": { - "plotly_name": "shadow", - "parent_name": "scatter.legendgrouptitle.font", - "edit_type": "style" + "plotly_name": "cmin", + "parent_name": "scatter3d.marker.line", + "edit_type": "calc", + "implied_edits": { + "cauto": false + } }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "scatter.legendgrouptitle.font.lineposition": { + "scatter3d.marker.line.cmid": { "params": { - "plotly_name": "lineposition", - "parent_name": "scatter.legendgrouptitle.font", - "edit_type": "style", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] + "plotly_name": "cmid", + "parent_name": "scatter3d.marker.line", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "FlaglistValidator" + "superclass": "NumberValidator" }, - "scatter.legendgrouptitle.font.family": { + "scatter3d.marker.line.cmax": { "params": { - "plotly_name": "family", - "parent_name": "scatter.legendgrouptitle.font", - "edit_type": "style", - "no_blank": true, - "strict": true + "plotly_name": "cmax", + "parent_name": "scatter3d.marker.line", + "edit_type": "calc", + "implied_edits": { + "cauto": false + } }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "scatter.legendgrouptitle.font.color": { + "scatter3d.marker.line.cauto": { "params": { - "plotly_name": "color", - "parent_name": "scatter.legendgrouptitle.font", - "edit_type": "style" + "plotly_name": "cauto", + "parent_name": "scatter3d.marker.line", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "ColorValidator" + "superclass": "BooleanValidator" }, - "scatter.legendgroup": { + "scatter3d.marker.line.autocolorscale": { "params": { - "plotly_name": "legendgroup", - "parent_name": "scatter", - "edit_type": "style" + "plotly_name": "autocolorscale", + "parent_name": "scatter3d.marker.line", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "scatter.legend": { + "scatter3d.marker.colorscale": { "params": { - "plotly_name": "legend", - "parent_name": "scatter", - "dflt": "legend", - "edit_type": "style" + "plotly_name": "colorscale", + "parent_name": "scatter3d.marker", + "edit_type": "calc", + "implied_edits": { + "autocolorscale": false + } }, - "superclass": "SubplotidValidator" + "superclass": "ColorscaleValidator" }, - "scatter.idssrc": { + "scatter3d.marker.colorbar": { "params": { - "plotly_name": "idssrc", - "parent_name": "scatter", - "edit_type": "none" + "plotly_name": "colorbar", + "parent_name": "scatter3d.marker", + "data_class_str": "ColorBar", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "scatter.ids": { + "scatter3d.marker.colorbar.yref": { "params": { - "plotly_name": "ids", - "parent_name": "scatter", - "anim": true, - "edit_type": "calc" + "plotly_name": "yref", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc", + "values": [ + "container", + "paper" + ] }, - "superclass": "DataArrayValidator" + "superclass": "EnumeratedValidator" }, - "scatter.hovertextsrc": { + "scatter3d.marker.colorbar.ypad": { "params": { - "plotly_name": "hovertextsrc", - "parent_name": "scatter", - "edit_type": "none" + "plotly_name": "ypad", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "scatter.hovertext": { + "scatter3d.marker.colorbar.yanchor": { "params": { - "plotly_name": "hovertext", - "parent_name": "scatter", - "array_ok": true, - "edit_type": "style" + "plotly_name": "yanchor", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc", + "values": [ + "top", + "middle", + "bottom" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "scatter.hovertemplatesrc": { + "scatter3d.marker.colorbar.y": { "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "scatter", - "edit_type": "none" + "plotly_name": "y", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "scatter.hovertemplatefallback": { + "scatter3d.marker.colorbar.xref": { "params": { - "plotly_name": "hovertemplatefallback", - "parent_name": "scatter", - "edit_type": "none" + "plotly_name": "xref", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc", + "values": [ + "container", + "paper" + ] }, - "superclass": "AnyValidator" + "superclass": "EnumeratedValidator" }, - "scatter.hovertemplate": { + "scatter3d.marker.colorbar.xpad": { "params": { - "plotly_name": "hovertemplate", - "parent_name": "scatter", - "array_ok": true, - "edit_type": "none" + "plotly_name": "xpad", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc", + "min": 0 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "scatter.hoveron": { + "scatter3d.marker.colorbar.xanchor": { "params": { - "plotly_name": "hoveron", - "parent_name": "scatter", - "edit_type": "style", - "flags": [ - "points", - "fills" + "plotly_name": "xanchor", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc", + "values": [ + "left", + "center", + "right" ] }, - "superclass": "FlaglistValidator" + "superclass": "EnumeratedValidator" }, - "scatter.hoverlabel": { + "scatter3d.marker.colorbar.x": { "params": { - "plotly_name": "hoverlabel", - "parent_name": "scatter", - "data_class_str": "Hoverlabel", - "data_docs": "\n" + "plotly_name": "x", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc" }, - "superclass": "CompoundValidator" + "superclass": "NumberValidator" }, - "scatter.hoverlabel.showarrow": { + "scatter3d.marker.colorbar.title": { "params": { - "plotly_name": "showarrow", - "parent_name": "scatter.hoverlabel", - "edit_type": "none" + "plotly_name": "title", + "parent_name": "scatter3d.marker.colorbar", + "data_class_str": "Title", + "data_docs": "\n" }, - "superclass": "BooleanValidator" + "superclass": "TitleValidator" }, - "scatter.hoverlabel.namelengthsrc": { + "scatter3d.marker.colorbar.title.text": { "params": { - "plotly_name": "namelengthsrc", - "parent_name": "scatter.hoverlabel", - "edit_type": "none" + "plotly_name": "text", + "parent_name": "scatter3d.marker.colorbar.title", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "scatter.hoverlabel.namelength": { + "scatter3d.marker.colorbar.title.side": { "params": { - "plotly_name": "namelength", - "parent_name": "scatter.hoverlabel", - "array_ok": true, - "edit_type": "none", - "min": -1 + "plotly_name": "side", + "parent_name": "scatter3d.marker.colorbar.title", + "edit_type": "calc", + "values": [ + "right", + "top", + "bottom" + ] }, - "superclass": "IntegerValidator" + "superclass": "EnumeratedValidator" }, - "scatter.hoverlabel.font": { + "scatter3d.marker.colorbar.title.font": { "params": { "plotly_name": "font", - "parent_name": "scatter.hoverlabel", + "parent_name": "scatter3d.marker.colorbar.title", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "scatter.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "scatter.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.hoverlabel.font.weight": { + "scatter3d.marker.colorbar.title.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "scatter.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "scatter3d.marker.colorbar.title.font", + "edit_type": "calc", "extras": [ "normal", "bold" @@ -73069,20 +57961,11 @@ }, "superclass": "IntegerValidator" }, - "scatter.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "scatter.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.hoverlabel.font.variant": { + "scatter3d.marker.colorbar.title.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "scatter.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "scatter3d.marker.colorbar.title.font", + "edit_type": "calc", "values": [ "normal", "small-caps", @@ -73094,20 +57977,11 @@ }, "superclass": "EnumeratedValidator" }, - "scatter.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "scatter.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.hoverlabel.font.textcase": { + "scatter3d.marker.colorbar.title.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "scatter.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "scatter3d.marker.colorbar.title.font", + "edit_type": "calc", "values": [ "normal", "word caps", @@ -73117,20 +57991,11 @@ }, "superclass": "EnumeratedValidator" }, - "scatter.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "scatter.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.hoverlabel.font.style": { + "scatter3d.marker.colorbar.title.font.style": { "params": { "plotly_name": "style", - "parent_name": "scatter.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "scatter3d.marker.colorbar.title.font", + "edit_type": "calc", "values": [ "normal", "italic" @@ -73138,55 +58003,28 @@ }, "superclass": "EnumeratedValidator" }, - "scatter.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "scatter.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.hoverlabel.font.size": { + "scatter3d.marker.colorbar.title.font.size": { "params": { "plotly_name": "size", - "parent_name": "scatter.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "scatter3d.marker.colorbar.title.font", + "edit_type": "calc", "min": 1 }, "superclass": "NumberValidator" }, - "scatter.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "scatter.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.hoverlabel.font.shadow": { + "scatter3d.marker.colorbar.title.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "scatter.hoverlabel.font", - "array_ok": true, - "edit_type": "none" + "parent_name": "scatter3d.marker.colorbar.title.font", + "edit_type": "calc" }, "superclass": "StringValidator" }, - "scatter.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "scatter.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.hoverlabel.font.lineposition": { + "scatter3d.marker.colorbar.title.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "scatter.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "scatter3d.marker.colorbar.title.font", + "edit_type": "calc", "extras": [ "none" ], @@ -73198,758 +58036,836 @@ }, "superclass": "FlaglistValidator" }, - "scatter.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "scatter.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.hoverlabel.font.family": { + "scatter3d.marker.colorbar.title.font.family": { "params": { "plotly_name": "family", - "parent_name": "scatter.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "scatter3d.marker.colorbar.title.font", + "edit_type": "calc", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "scatter.hoverlabel.font.colorsrc": { + "scatter3d.marker.colorbar.title.font.color": { "params": { - "plotly_name": "colorsrc", - "parent_name": "scatter.hoverlabel.font", - "edit_type": "none" + "plotly_name": "color", + "parent_name": "scatter3d.marker.colorbar.title.font", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "scatter.hoverlabel.font.color": { + "scatter3d.marker.colorbar.tickwidth": { "params": { - "plotly_name": "color", - "parent_name": "scatter.hoverlabel.font", - "array_ok": true, - "edit_type": "none" + "plotly_name": "tickwidth", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc", + "min": 0 }, - "superclass": "ColorValidator" + "superclass": "NumberValidator" }, - "scatter.hoverlabel.bordercolorsrc": { + "scatter3d.marker.colorbar.tickvals": { "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "scatter.hoverlabel", - "edit_type": "none" + "plotly_name": "tickvals", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "DataArrayValidator" }, - "scatter.hoverlabel.bordercolor": { + "scatter3d.marker.colorbar.ticktext": { "params": { - "plotly_name": "bordercolor", - "parent_name": "scatter.hoverlabel", - "array_ok": true, - "edit_type": "none" + "plotly_name": "ticktext", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc" }, - "superclass": "ColorValidator" + "superclass": "DataArrayValidator" }, - "scatter.hoverlabel.bgcolorsrc": { + "scatter3d.marker.colorbar.ticksuffix": { "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "scatter.hoverlabel", - "edit_type": "none" + "plotly_name": "ticksuffix", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "scatter.hoverlabel.bgcolor": { + "scatter3d.marker.colorbar.ticks": { "params": { - "plotly_name": "bgcolor", - "parent_name": "scatter.hoverlabel", - "array_ok": true, - "edit_type": "none" + "plotly_name": "ticks", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc", + "values": [ + "outside", + "inside", + "" + ] }, - "superclass": "ColorValidator" + "superclass": "EnumeratedValidator" }, - "scatter.hoverlabel.alignsrc": { + "scatter3d.marker.colorbar.tickprefix": { "params": { - "plotly_name": "alignsrc", - "parent_name": "scatter.hoverlabel", - "edit_type": "none" + "plotly_name": "tickprefix", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "scatter.hoverlabel.align": { + "scatter3d.marker.colorbar.tickmode": { "params": { - "plotly_name": "align", - "parent_name": "scatter.hoverlabel", - "array_ok": true, - "edit_type": "none", + "plotly_name": "tickmode", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc", + "implied_edits": {}, "values": [ - "left", - "right", - "auto" + "auto", + "linear", + "array" ] }, "superclass": "EnumeratedValidator" }, - "scatter.hoverinfosrc": { + "scatter3d.marker.colorbar.ticklen": { "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "scatter", - "edit_type": "none" + "plotly_name": "ticklen", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "scatter.hoverinfo": { + "scatter3d.marker.colorbar.ticklabelstep": { "params": { - "plotly_name": "hoverinfo", - "parent_name": "scatter", - "array_ok": true, - "edit_type": "none", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "x", - "y", - "z", - "text", - "name" + "plotly_name": "ticklabelstep", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc", + "min": 1 + }, + "superclass": "IntegerValidator" + }, + "scatter3d.marker.colorbar.ticklabelposition": { + "params": { + "plotly_name": "ticklabelposition", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc", + "values": [ + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom" ] }, - "superclass": "FlaglistValidator" + "superclass": "EnumeratedValidator" }, - "scatter.groupnorm": { + "scatter3d.marker.colorbar.ticklabeloverflow": { "params": { - "plotly_name": "groupnorm", - "parent_name": "scatter", + "plotly_name": "ticklabeloverflow", + "parent_name": "scatter3d.marker.colorbar", "edit_type": "calc", "values": [ - "", - "fraction", - "percent" + "allow", + "hide past div", + "hide past domain" ] }, "superclass": "EnumeratedValidator" }, - "scatter.fillpattern": { + "scatter3d.marker.colorbar.tickformatstopdefaults": { + "params": { + "plotly_name": "tickformatstopdefaults", + "parent_name": "scatter3d.marker.colorbar", + "data_class_str": "Tickformatstop", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "scatter3d.marker.colorbar.tickformatstops": { + "params": { + "plotly_name": "tickformatstops", + "parent_name": "scatter3d.marker.colorbar", + "data_class_str": "Tickformatstop", + "data_docs": "\n" + }, + "superclass": "CompoundArrayValidator" + }, + "scatter3d.marker.colorbar.tickformatstop.value": { + "params": { + "plotly_name": "value", + "parent_name": "scatter3d.marker.colorbar.tickformatstop", + "edit_type": "calc" + }, + "superclass": "StringValidator" + }, + "scatter3d.marker.colorbar.tickformatstop.templateitemname": { + "params": { + "plotly_name": "templateitemname", + "parent_name": "scatter3d.marker.colorbar.tickformatstop", + "edit_type": "calc" + }, + "superclass": "StringValidator" + }, + "scatter3d.marker.colorbar.tickformatstop.name": { "params": { - "plotly_name": "fillpattern", - "parent_name": "scatter", - "data_class_str": "Fillpattern", - "data_docs": "\n" + "plotly_name": "name", + "parent_name": "scatter3d.marker.colorbar.tickformatstop", + "edit_type": "calc" }, - "superclass": "CompoundValidator" + "superclass": "StringValidator" }, - "scatter.fillpattern.soliditysrc": { + "scatter3d.marker.colorbar.tickformatstop.enabled": { "params": { - "plotly_name": "soliditysrc", - "parent_name": "scatter.fillpattern", - "edit_type": "none" + "plotly_name": "enabled", + "parent_name": "scatter3d.marker.colorbar.tickformatstop", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "scatter.fillpattern.solidity": { + "scatter3d.marker.colorbar.tickformatstop.dtickrange": { "params": { - "plotly_name": "solidity", - "parent_name": "scatter.fillpattern", - "array_ok": true, - "edit_type": "style", - "max": 1, - "min": 0 + "plotly_name": "dtickrange", + "parent_name": "scatter3d.marker.colorbar.tickformatstop", + "edit_type": "calc", + "items": [ + { + "editType": "calc", + "valType": "any" + }, + { + "editType": "calc", + "valType": "any" + } + ] }, - "superclass": "NumberValidator" + "superclass": "InfoArrayValidator" }, - "scatter.fillpattern.sizesrc": { + "scatter3d.marker.colorbar.tickformat": { "params": { - "plotly_name": "sizesrc", - "parent_name": "scatter.fillpattern", - "edit_type": "none" + "plotly_name": "tickformat", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "scatter.fillpattern.size": { + "scatter3d.marker.colorbar.tickfont": { "params": { - "plotly_name": "size", - "parent_name": "scatter.fillpattern", - "array_ok": true, - "edit_type": "style", - "min": 0 + "plotly_name": "tickfont", + "parent_name": "scatter3d.marker.colorbar", + "data_class_str": "Tickfont", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "scatter.fillpattern.shapesrc": { + "scatter3d.marker.colorbar.tickfont.weight": { "params": { - "plotly_name": "shapesrc", - "parent_name": "scatter.fillpattern", - "edit_type": "none" + "plotly_name": "weight", + "parent_name": "scatter3d.marker.colorbar.tickfont", + "edit_type": "calc", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "SrcValidator" + "superclass": "IntegerValidator" }, - "scatter.fillpattern.shape": { + "scatter3d.marker.colorbar.tickfont.variant": { "params": { - "plotly_name": "shape", - "parent_name": "scatter.fillpattern", - "array_ok": true, - "edit_type": "style", + "plotly_name": "variant", + "parent_name": "scatter3d.marker.colorbar.tickfont", + "edit_type": "calc", "values": [ - "", - "/", - "\\", - "x", - "-", - "|", - "+", - "." + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] }, "superclass": "EnumeratedValidator" }, - "scatter.fillpattern.pathsrc": { - "params": { - "plotly_name": "pathsrc", - "parent_name": "scatter.fillpattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "scatter.fillpattern.path": { + "scatter3d.marker.colorbar.tickfont.textcase": { "params": { - "plotly_name": "path", - "parent_name": "scatter.fillpattern", - "array_ok": true, - "edit_type": "style" + "plotly_name": "textcase", + "parent_name": "scatter3d.marker.colorbar.tickfont", + "edit_type": "calc", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "scatter.fillpattern.fillmode": { + "scatter3d.marker.colorbar.tickfont.style": { "params": { - "plotly_name": "fillmode", - "parent_name": "scatter.fillpattern", - "edit_type": "style", + "plotly_name": "style", + "parent_name": "scatter3d.marker.colorbar.tickfont", + "edit_type": "calc", "values": [ - "replace", - "overlay" + "normal", + "italic" ] }, "superclass": "EnumeratedValidator" }, - "scatter.fillpattern.fgopacity": { + "scatter3d.marker.colorbar.tickfont.size": { "params": { - "plotly_name": "fgopacity", - "parent_name": "scatter.fillpattern", - "edit_type": "style", - "max": 1, - "min": 0 + "plotly_name": "size", + "parent_name": "scatter3d.marker.colorbar.tickfont", + "edit_type": "calc", + "min": 1 }, "superclass": "NumberValidator" }, - "scatter.fillpattern.fgcolorsrc": { + "scatter3d.marker.colorbar.tickfont.shadow": { "params": { - "plotly_name": "fgcolorsrc", - "parent_name": "scatter.fillpattern", - "edit_type": "none" + "plotly_name": "shadow", + "parent_name": "scatter3d.marker.colorbar.tickfont", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "scatter.fillpattern.fgcolor": { + "scatter3d.marker.colorbar.tickfont.lineposition": { "params": { - "plotly_name": "fgcolor", - "parent_name": "scatter.fillpattern", - "array_ok": true, - "edit_type": "style" + "plotly_name": "lineposition", + "parent_name": "scatter3d.marker.colorbar.tickfont", + "edit_type": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] }, - "superclass": "ColorValidator" + "superclass": "FlaglistValidator" }, - "scatter.fillpattern.bgcolorsrc": { + "scatter3d.marker.colorbar.tickfont.family": { "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "scatter.fillpattern", - "edit_type": "none" + "plotly_name": "family", + "parent_name": "scatter3d.marker.colorbar.tickfont", + "edit_type": "calc", + "no_blank": true, + "strict": true }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "scatter.fillpattern.bgcolor": { + "scatter3d.marker.colorbar.tickfont.color": { "params": { - "plotly_name": "bgcolor", - "parent_name": "scatter.fillpattern", - "array_ok": true, - "edit_type": "style" + "plotly_name": "color", + "parent_name": "scatter3d.marker.colorbar.tickfont", + "edit_type": "calc" }, "superclass": "ColorValidator" }, - "scatter.fillgradient": { + "scatter3d.marker.colorbar.tickcolor": { "params": { - "plotly_name": "fillgradient", - "parent_name": "scatter", - "data_class_str": "Fillgradient", - "data_docs": "\n" + "plotly_name": "tickcolor", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc" }, - "superclass": "CompoundValidator" + "superclass": "ColorValidator" }, - "scatter.fillgradient.type": { + "scatter3d.marker.colorbar.tickangle": { "params": { - "plotly_name": "type", - "parent_name": "scatter.fillgradient", - "edit_type": "calc", - "values": [ - "radial", - "horizontal", - "vertical", - "none" - ] + "plotly_name": "tickangle", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "AngleValidator" }, - "scatter.fillgradient.stop": { + "scatter3d.marker.colorbar.tick0": { "params": { - "plotly_name": "stop", - "parent_name": "scatter.fillgradient", - "edit_type": "calc" + "plotly_name": "tick0", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc", + "implied_edits": { + "tickmode": "linear" + } }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "scatter.fillgradient.start": { + "scatter3d.marker.colorbar.thicknessmode": { "params": { - "plotly_name": "start", - "parent_name": "scatter.fillgradient", - "edit_type": "calc" + "plotly_name": "thicknessmode", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc", + "values": [ + "fraction", + "pixels" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "scatter.fillgradient.colorscale": { + "scatter3d.marker.colorbar.thickness": { "params": { - "plotly_name": "colorscale", - "parent_name": "scatter.fillgradient", - "edit_type": "style" + "plotly_name": "thickness", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc", + "min": 0 }, - "superclass": "ColorscaleValidator" + "superclass": "NumberValidator" }, - "scatter.fillcolor": { + "scatter3d.marker.colorbar.showticksuffix": { "params": { - "plotly_name": "fillcolor", - "parent_name": "scatter", - "anim": true, - "edit_type": "style" + "plotly_name": "showticksuffix", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "superclass": "ColorValidator" + "superclass": "EnumeratedValidator" }, - "scatter.fill": { + "scatter3d.marker.colorbar.showtickprefix": { "params": { - "plotly_name": "fill", - "parent_name": "scatter", + "plotly_name": "showtickprefix", + "parent_name": "scatter3d.marker.colorbar", "edit_type": "calc", "values": [ - "none", - "tozeroy", - "tozerox", - "tonexty", - "tonextx", - "toself", - "tonext" + "all", + "first", + "last", + "none" ] }, "superclass": "EnumeratedValidator" }, - "scatter.error_y": { + "scatter3d.marker.colorbar.showticklabels": { "params": { - "plotly_name": "error_y", - "parent_name": "scatter", - "data_class_str": "ErrorY", - "data_docs": "\n" + "plotly_name": "showticklabels", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc" }, - "superclass": "CompoundValidator" + "superclass": "BooleanValidator" }, - "scatter.error_y.width": { + "scatter3d.marker.colorbar.showexponent": { "params": { - "plotly_name": "width", - "parent_name": "scatter.error_y", - "edit_type": "plot", - "min": 0 + "plotly_name": "showexponent", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "scatter.error_y.visible": { + "scatter3d.marker.colorbar.separatethousands": { "params": { - "plotly_name": "visible", - "parent_name": "scatter.error_y", + "plotly_name": "separatethousands", + "parent_name": "scatter3d.marker.colorbar", "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "scatter.error_y.valueminus": { + "scatter3d.marker.colorbar.outlinewidth": { "params": { - "plotly_name": "valueminus", - "parent_name": "scatter.error_y", + "plotly_name": "outlinewidth", + "parent_name": "scatter3d.marker.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scatter.error_y.value": { + "scatter3d.marker.colorbar.outlinecolor": { "params": { - "plotly_name": "value", - "parent_name": "scatter.error_y", - "edit_type": "calc", - "min": 0 + "plotly_name": "outlinecolor", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "scatter.error_y.type": { + "scatter3d.marker.colorbar.orientation": { "params": { - "plotly_name": "type", - "parent_name": "scatter.error_y", + "plotly_name": "orientation", + "parent_name": "scatter3d.marker.colorbar", "edit_type": "calc", "values": [ - "percent", - "constant", - "sqrt", - "data" + "h", + "v" ] }, "superclass": "EnumeratedValidator" }, - "scatter.error_y.tracerefminus": { - "params": { - "plotly_name": "tracerefminus", - "parent_name": "scatter.error_y", - "edit_type": "style", - "min": 0 - }, - "superclass": "IntegerValidator" - }, - "scatter.error_y.traceref": { + "scatter3d.marker.colorbar.nticks": { "params": { - "plotly_name": "traceref", - "parent_name": "scatter.error_y", - "edit_type": "style", + "plotly_name": "nticks", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc", "min": 0 }, "superclass": "IntegerValidator" }, - "scatter.error_y.thickness": { + "scatter3d.marker.colorbar.minexponent": { "params": { - "plotly_name": "thickness", - "parent_name": "scatter.error_y", - "edit_type": "style", + "plotly_name": "minexponent", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scatter.error_y.symmetric": { - "params": { - "plotly_name": "symmetric", - "parent_name": "scatter.error_y", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "scatter.error_y.color": { - "params": { - "plotly_name": "color", - "parent_name": "scatter.error_y", - "edit_type": "style" - }, - "superclass": "ColorValidator" - }, - "scatter.error_y.arraysrc": { + "scatter3d.marker.colorbar.lenmode": { "params": { - "plotly_name": "arraysrc", - "parent_name": "scatter.error_y", - "edit_type": "none" + "plotly_name": "lenmode", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc", + "values": [ + "fraction", + "pixels" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "scatter.error_y.arrayminussrc": { + "scatter3d.marker.colorbar.len": { "params": { - "plotly_name": "arrayminussrc", - "parent_name": "scatter.error_y", - "edit_type": "none" + "plotly_name": "len", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "scatter.error_y.arrayminus": { + "scatter3d.marker.colorbar.labelalias": { "params": { - "plotly_name": "arrayminus", - "parent_name": "scatter.error_y", + "plotly_name": "labelalias", + "parent_name": "scatter3d.marker.colorbar", "edit_type": "calc" }, - "superclass": "DataArrayValidator" + "superclass": "AnyValidator" }, - "scatter.error_y.array": { + "scatter3d.marker.colorbar.exponentformat": { "params": { - "plotly_name": "array", - "parent_name": "scatter.error_y", - "edit_type": "calc" + "plotly_name": "exponentformat", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B", + "SI extended" + ] }, - "superclass": "DataArrayValidator" + "superclass": "EnumeratedValidator" }, - "scatter.error_x": { + "scatter3d.marker.colorbar.dtick": { "params": { - "plotly_name": "error_x", - "parent_name": "scatter", - "data_class_str": "ErrorX", - "data_docs": "\n" + "plotly_name": "dtick", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc", + "implied_edits": { + "tickmode": "linear" + } }, - "superclass": "CompoundValidator" + "superclass": "AnyValidator" }, - "scatter.error_x.width": { + "scatter3d.marker.colorbar.borderwidth": { "params": { - "plotly_name": "width", - "parent_name": "scatter.error_x", - "edit_type": "plot", + "plotly_name": "borderwidth", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "scatter.error_x.visible": { + "scatter3d.marker.colorbar.bordercolor": { "params": { - "plotly_name": "visible", - "parent_name": "scatter.error_x", + "plotly_name": "bordercolor", + "parent_name": "scatter3d.marker.colorbar", "edit_type": "calc" }, - "superclass": "BooleanValidator" + "superclass": "ColorValidator" }, - "scatter.error_x.valueminus": { + "scatter3d.marker.colorbar.bgcolor": { "params": { - "plotly_name": "valueminus", - "parent_name": "scatter.error_x", - "edit_type": "calc", - "min": 0 + "plotly_name": "bgcolor", + "parent_name": "scatter3d.marker.colorbar", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "scatter.error_x.value": { + "scatter3d.marker.coloraxis": { "params": { - "plotly_name": "value", - "parent_name": "scatter.error_x", + "plotly_name": "coloraxis", + "parent_name": "scatter3d.marker", + "dflt": null, "edit_type": "calc", - "min": 0 + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" }, - "superclass": "NumberValidator" + "superclass": "SubplotidValidator" }, - "scatter.error_x.type": { + "scatter3d.marker.color": { "params": { - "plotly_name": "type", - "parent_name": "scatter.error_x", + "plotly_name": "color", + "parent_name": "scatter3d.marker", + "array_ok": true, "edit_type": "calc", - "values": [ - "percent", - "constant", - "sqrt", - "data" - ] + "colorscale_path": "scatter3d.marker.colorscale" }, - "superclass": "EnumeratedValidator" + "superclass": "ColorValidator" }, - "scatter.error_x.tracerefminus": { + "scatter3d.marker.cmin": { "params": { - "plotly_name": "tracerefminus", - "parent_name": "scatter.error_x", - "edit_type": "style", - "min": 0 + "plotly_name": "cmin", + "parent_name": "scatter3d.marker", + "edit_type": "calc", + "implied_edits": { + "cauto": false + } }, - "superclass": "IntegerValidator" + "superclass": "NumberValidator" }, - "scatter.error_x.traceref": { + "scatter3d.marker.cmid": { "params": { - "plotly_name": "traceref", - "parent_name": "scatter.error_x", - "edit_type": "style", - "min": 0 + "plotly_name": "cmid", + "parent_name": "scatter3d.marker", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "IntegerValidator" + "superclass": "NumberValidator" }, - "scatter.error_x.thickness": { + "scatter3d.marker.cmax": { "params": { - "plotly_name": "thickness", - "parent_name": "scatter.error_x", - "edit_type": "style", - "min": 0 + "plotly_name": "cmax", + "parent_name": "scatter3d.marker", + "edit_type": "calc", + "implied_edits": { + "cauto": false + } }, "superclass": "NumberValidator" }, - "scatter.error_x.symmetric": { + "scatter3d.marker.cauto": { "params": { - "plotly_name": "symmetric", - "parent_name": "scatter.error_x", - "edit_type": "calc" + "plotly_name": "cauto", + "parent_name": "scatter3d.marker", + "edit_type": "calc", + "implied_edits": {} }, "superclass": "BooleanValidator" }, - "scatter.error_x.copy_ystyle": { + "scatter3d.marker.autocolorscale": { "params": { - "plotly_name": "copy_ystyle", - "parent_name": "scatter.error_x", - "edit_type": "plot" + "plotly_name": "autocolorscale", + "parent_name": "scatter3d.marker", + "edit_type": "calc", + "implied_edits": {} }, "superclass": "BooleanValidator" }, - "scatter.error_x.color": { + "scatter3d.line": { "params": { - "plotly_name": "color", - "parent_name": "scatter.error_x", - "edit_type": "style" + "plotly_name": "line", + "parent_name": "scatter3d", + "data_class_str": "Line", + "data_docs": "\n" }, - "superclass": "ColorValidator" + "superclass": "CompoundValidator" }, - "scatter.error_x.arraysrc": { + "scatter3d.line.width": { "params": { - "plotly_name": "arraysrc", - "parent_name": "scatter.error_x", - "edit_type": "none" + "plotly_name": "width", + "parent_name": "scatter3d.line", + "edit_type": "calc", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "scatter.error_x.arrayminussrc": { + "scatter3d.line.showscale": { "params": { - "plotly_name": "arrayminussrc", - "parent_name": "scatter.error_x", - "edit_type": "none" + "plotly_name": "showscale", + "parent_name": "scatter3d.line", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "scatter.error_x.arrayminus": { + "scatter3d.line.reversescale": { "params": { - "plotly_name": "arrayminus", - "parent_name": "scatter.error_x", + "plotly_name": "reversescale", + "parent_name": "scatter3d.line", "edit_type": "calc" }, - "superclass": "DataArrayValidator" + "superclass": "BooleanValidator" }, - "scatter.error_x.array": { + "scatter3d.line.dash": { "params": { - "plotly_name": "array", - "parent_name": "scatter.error_x", - "edit_type": "calc" + "plotly_name": "dash", + "parent_name": "scatter3d.line", + "edit_type": "calc", + "values": [ + "dash", + "dashdot", + "dot", + "longdash", + "longdashdot", + "solid" + ] }, - "superclass": "DataArrayValidator" + "superclass": "EnumeratedValidator" }, - "scatter.dy": { + "scatter3d.line.colorscale": { "params": { - "plotly_name": "dy", - "parent_name": "scatter", - "anim": true, - "edit_type": "calc" + "plotly_name": "colorscale", + "parent_name": "scatter3d.line", + "edit_type": "calc", + "implied_edits": { + "autocolorscale": false + } }, - "superclass": "NumberValidator" + "superclass": "ColorscaleValidator" }, - "scatter.dx": { + "scatter3d.line.colorbar": { "params": { - "plotly_name": "dx", - "parent_name": "scatter", - "anim": true, - "edit_type": "calc" + "plotly_name": "colorbar", + "parent_name": "scatter3d.line", + "data_class_str": "ColorBar", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "scatter.customdatasrc": { + "scatter3d.line.colorbar.yref": { "params": { - "plotly_name": "customdatasrc", - "parent_name": "scatter", - "edit_type": "none" + "plotly_name": "yref", + "parent_name": "scatter3d.line.colorbar", + "edit_type": "calc", + "values": [ + "container", + "paper" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "scatter.customdata": { + "scatter3d.line.colorbar.ypad": { "params": { - "plotly_name": "customdata", - "parent_name": "scatter", - "edit_type": "calc" + "plotly_name": "ypad", + "parent_name": "scatter3d.line.colorbar", + "edit_type": "calc", + "min": 0 }, - "superclass": "DataArrayValidator" + "superclass": "NumberValidator" }, - "scatter.connectgaps": { + "scatter3d.line.colorbar.yanchor": { "params": { - "plotly_name": "connectgaps", - "parent_name": "scatter", - "edit_type": "calc" + "plotly_name": "yanchor", + "parent_name": "scatter3d.line.colorbar", + "edit_type": "calc", + "values": [ + "top", + "middle", + "bottom" + ] }, - "superclass": "BooleanValidator" + "superclass": "EnumeratedValidator" }, - "scatter.cliponaxis": { + "scatter3d.line.colorbar.y": { "params": { - "plotly_name": "cliponaxis", - "parent_name": "scatter", - "edit_type": "plot" + "plotly_name": "y", + "parent_name": "scatter3d.line.colorbar", + "edit_type": "calc" }, - "superclass": "BooleanValidator" + "superclass": "NumberValidator" }, - "scatter.alignmentgroup": { + "scatter3d.line.colorbar.xref": { "params": { - "plotly_name": "alignmentgroup", - "parent_name": "scatter", - "edit_type": "calc" + "plotly_name": "xref", + "parent_name": "scatter3d.line.colorbar", + "edit_type": "calc", + "values": [ + "container", + "paper" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "sankey": { + "scatter3d.line.colorbar.xpad": { "params": { - "plotly_name": "sankey", - "parent_name": "", - "data_class_str": "Sankey", - "data_docs": "\n" + "plotly_name": "xpad", + "parent_name": "scatter3d.line.colorbar", + "edit_type": "calc", + "min": 0 }, - "superclass": "CompoundValidator" + "superclass": "NumberValidator" }, - "sankey.visible": { + "scatter3d.line.colorbar.xanchor": { "params": { - "plotly_name": "visible", - "parent_name": "sankey", + "plotly_name": "xanchor", + "parent_name": "scatter3d.line.colorbar", "edit_type": "calc", "values": [ - true, - false, - "legendonly" + "left", + "center", + "right" ] }, "superclass": "EnumeratedValidator" }, - "sankey.valuesuffix": { + "scatter3d.line.colorbar.x": { "params": { - "plotly_name": "valuesuffix", - "parent_name": "sankey", + "plotly_name": "x", + "parent_name": "scatter3d.line.colorbar", "edit_type": "calc" }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "sankey.valueformat": { + "scatter3d.line.colorbar.title": { "params": { - "plotly_name": "valueformat", - "parent_name": "sankey", - "edit_type": "calc" + "plotly_name": "title", + "parent_name": "scatter3d.line.colorbar", + "data_class_str": "Title", + "data_docs": "\n" }, - "superclass": "StringValidator" + "superclass": "TitleValidator" }, - "sankey.uirevision": { + "scatter3d.line.colorbar.title.text": { "params": { - "plotly_name": "uirevision", - "parent_name": "sankey", - "edit_type": "none" + "plotly_name": "text", + "parent_name": "scatter3d.line.colorbar.title", + "edit_type": "calc" }, - "superclass": "AnyValidator" + "superclass": "StringValidator" }, - "sankey.uid": { + "scatter3d.line.colorbar.title.side": { "params": { - "plotly_name": "uid", - "parent_name": "sankey", - "edit_type": "plot" + "plotly_name": "side", + "parent_name": "scatter3d.line.colorbar.title", + "edit_type": "calc", + "values": [ + "right", + "top", + "bottom" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "sankey.textfont": { + "scatter3d.line.colorbar.title.font": { "params": { - "plotly_name": "textfont", - "parent_name": "sankey", - "data_class_str": "Textfont", + "plotly_name": "font", + "parent_name": "scatter3d.line.colorbar.title", + "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "sankey.textfont.weight": { + "scatter3d.line.colorbar.title.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "sankey.textfont", + "parent_name": "scatter3d.line.colorbar.title.font", "edit_type": "calc", "extras": [ "normal", @@ -73960,10 +58876,10 @@ }, "superclass": "IntegerValidator" }, - "sankey.textfont.variant": { + "scatter3d.line.colorbar.title.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "sankey.textfont", + "parent_name": "scatter3d.line.colorbar.title.font", "edit_type": "calc", "values": [ "normal", @@ -73976,10 +58892,10 @@ }, "superclass": "EnumeratedValidator" }, - "sankey.textfont.textcase": { + "scatter3d.line.colorbar.title.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "sankey.textfont", + "parent_name": "scatter3d.line.colorbar.title.font", "edit_type": "calc", "values": [ "normal", @@ -73990,10 +58906,10 @@ }, "superclass": "EnumeratedValidator" }, - "sankey.textfont.style": { + "scatter3d.line.colorbar.title.font.style": { "params": { "plotly_name": "style", - "parent_name": "sankey.textfont", + "parent_name": "scatter3d.line.colorbar.title.font", "edit_type": "calc", "values": [ "normal", @@ -74002,27 +58918,27 @@ }, "superclass": "EnumeratedValidator" }, - "sankey.textfont.size": { + "scatter3d.line.colorbar.title.font.size": { "params": { "plotly_name": "size", - "parent_name": "sankey.textfont", + "parent_name": "scatter3d.line.colorbar.title.font", "edit_type": "calc", "min": 1 }, "superclass": "NumberValidator" }, - "sankey.textfont.shadow": { + "scatter3d.line.colorbar.title.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "sankey.textfont", + "parent_name": "scatter3d.line.colorbar.title.font", "edit_type": "calc" }, "superclass": "StringValidator" }, - "sankey.textfont.lineposition": { + "scatter3d.line.colorbar.title.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "sankey.textfont", + "parent_name": "scatter3d.line.colorbar.title.font", "edit_type": "calc", "extras": [ "none" @@ -74035,276 +58951,232 @@ }, "superclass": "FlaglistValidator" }, - "sankey.textfont.family": { + "scatter3d.line.colorbar.title.font.family": { "params": { "plotly_name": "family", - "parent_name": "sankey.textfont", + "parent_name": "scatter3d.line.colorbar.title.font", "edit_type": "calc", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "sankey.textfont.color": { + "scatter3d.line.colorbar.title.font.color": { "params": { "plotly_name": "color", - "parent_name": "sankey.textfont", + "parent_name": "scatter3d.line.colorbar.title.font", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "sankey.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "sankey", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "sankey.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "sankey.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "sankey.stream.maxpoints": { + "scatter3d.line.colorbar.tickwidth": { "params": { - "plotly_name": "maxpoints", - "parent_name": "sankey.stream", + "plotly_name": "tickwidth", + "parent_name": "scatter3d.line.colorbar", "edit_type": "calc", - "max": 10000, "min": 0 }, "superclass": "NumberValidator" }, - "sankey.selectedpoints": { + "scatter3d.line.colorbar.tickvals": { "params": { - "plotly_name": "selectedpoints", - "parent_name": "sankey", + "plotly_name": "tickvals", + "parent_name": "scatter3d.line.colorbar", "edit_type": "calc" }, - "superclass": "AnyValidator" - }, - "sankey.orientation": { - "params": { - "plotly_name": "orientation", - "parent_name": "sankey", - "edit_type": "calc", - "values": [ - "v", - "h" - ] - }, - "superclass": "EnumeratedValidator" - }, - "sankey.node": { - "params": { - "plotly_name": "node", - "parent_name": "sankey", - "data_class_str": "Node", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" + "superclass": "DataArrayValidator" }, - "sankey.node.ysrc": { + "scatter3d.line.colorbar.ticktext": { "params": { - "plotly_name": "ysrc", - "parent_name": "sankey.node", - "edit_type": "none" + "plotly_name": "ticktext", + "parent_name": "scatter3d.line.colorbar", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "DataArrayValidator" }, - "sankey.node.y": { + "scatter3d.line.colorbar.ticksuffix": { "params": { - "plotly_name": "y", - "parent_name": "sankey.node", + "plotly_name": "ticksuffix", + "parent_name": "scatter3d.line.colorbar", "edit_type": "calc" }, - "superclass": "DataArrayValidator" + "superclass": "StringValidator" }, - "sankey.node.xsrc": { + "scatter3d.line.colorbar.ticks": { "params": { - "plotly_name": "xsrc", - "parent_name": "sankey.node", - "edit_type": "none" + "plotly_name": "ticks", + "parent_name": "scatter3d.line.colorbar", + "edit_type": "calc", + "values": [ + "outside", + "inside", + "" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "sankey.node.x": { + "scatter3d.line.colorbar.tickprefix": { "params": { - "plotly_name": "x", - "parent_name": "sankey.node", + "plotly_name": "tickprefix", + "parent_name": "scatter3d.line.colorbar", "edit_type": "calc" }, - "superclass": "DataArrayValidator" + "superclass": "StringValidator" }, - "sankey.node.thickness": { + "scatter3d.line.colorbar.tickmode": { "params": { - "plotly_name": "thickness", - "parent_name": "sankey.node", - "array_ok": false, + "plotly_name": "tickmode", + "parent_name": "scatter3d.line.colorbar", "edit_type": "calc", - "min": 1 + "implied_edits": {}, + "values": [ + "auto", + "linear", + "array" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "sankey.node.pad": { + "scatter3d.line.colorbar.ticklen": { "params": { - "plotly_name": "pad", - "parent_name": "sankey.node", - "array_ok": false, + "plotly_name": "ticklen", + "parent_name": "scatter3d.line.colorbar", "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "sankey.node.line": { - "params": { - "plotly_name": "line", - "parent_name": "sankey.node", - "data_class_str": "Line", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "sankey.node.line.widthsrc": { + "scatter3d.line.colorbar.ticklabelstep": { "params": { - "plotly_name": "widthsrc", - "parent_name": "sankey.node.line", - "edit_type": "none" + "plotly_name": "ticklabelstep", + "parent_name": "scatter3d.line.colorbar", + "edit_type": "calc", + "min": 1 }, - "superclass": "SrcValidator" + "superclass": "IntegerValidator" }, - "sankey.node.line.width": { + "scatter3d.line.colorbar.ticklabelposition": { "params": { - "plotly_name": "width", - "parent_name": "sankey.node.line", - "array_ok": true, + "plotly_name": "ticklabelposition", + "parent_name": "scatter3d.line.colorbar", "edit_type": "calc", - "min": 0 + "values": [ + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "sankey.node.line.colorsrc": { + "scatter3d.line.colorbar.ticklabeloverflow": { "params": { - "plotly_name": "colorsrc", - "parent_name": "sankey.node.line", - "edit_type": "none" + "plotly_name": "ticklabeloverflow", + "parent_name": "scatter3d.line.colorbar", + "edit_type": "calc", + "values": [ + "allow", + "hide past div", + "hide past domain" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "sankey.node.line.color": { + "scatter3d.line.colorbar.tickformatstopdefaults": { "params": { - "plotly_name": "color", - "parent_name": "sankey.node.line", - "array_ok": true, - "edit_type": "calc" + "plotly_name": "tickformatstopdefaults", + "parent_name": "scatter3d.line.colorbar", + "data_class_str": "Tickformatstop", + "data_docs": "\n" }, - "superclass": "ColorValidator" + "superclass": "CompoundValidator" }, - "sankey.node.labelsrc": { + "scatter3d.line.colorbar.tickformatstops": { "params": { - "plotly_name": "labelsrc", - "parent_name": "sankey.node", - "edit_type": "none" + "plotly_name": "tickformatstops", + "parent_name": "scatter3d.line.colorbar", + "data_class_str": "Tickformatstop", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundArrayValidator" }, - "sankey.node.label": { + "scatter3d.line.colorbar.tickformatstop.value": { "params": { - "plotly_name": "label", - "parent_name": "sankey.node", + "plotly_name": "value", + "parent_name": "scatter3d.line.colorbar.tickformatstop", "edit_type": "calc" }, - "superclass": "DataArrayValidator" - }, - "sankey.node.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "sankey.node", - "edit_type": "none" - }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "sankey.node.hovertemplatefallback": { + "scatter3d.line.colorbar.tickformatstop.templateitemname": { "params": { - "plotly_name": "hovertemplatefallback", - "parent_name": "sankey.node", + "plotly_name": "templateitemname", + "parent_name": "scatter3d.line.colorbar.tickformatstop", "edit_type": "calc" }, - "superclass": "AnyValidator" + "superclass": "StringValidator" }, - "sankey.node.hovertemplate": { + "scatter3d.line.colorbar.tickformatstop.name": { "params": { - "plotly_name": "hovertemplate", - "parent_name": "sankey.node", - "array_ok": true, + "plotly_name": "name", + "parent_name": "scatter3d.line.colorbar.tickformatstop", "edit_type": "calc" }, "superclass": "StringValidator" }, - "sankey.node.hoverlabel": { - "params": { - "plotly_name": "hoverlabel", - "parent_name": "sankey.node", - "data_class_str": "Hoverlabel", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "sankey.node.hoverlabel.showarrow": { + "scatter3d.line.colorbar.tickformatstop.enabled": { "params": { - "plotly_name": "showarrow", - "parent_name": "sankey.node.hoverlabel", + "plotly_name": "enabled", + "parent_name": "scatter3d.line.colorbar.tickformatstop", "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "sankey.node.hoverlabel.namelengthsrc": { + "scatter3d.line.colorbar.tickformatstop.dtickrange": { "params": { - "plotly_name": "namelengthsrc", - "parent_name": "sankey.node.hoverlabel", - "edit_type": "none" + "plotly_name": "dtickrange", + "parent_name": "scatter3d.line.colorbar.tickformatstop", + "edit_type": "calc", + "items": [ + { + "editType": "calc", + "valType": "any" + }, + { + "editType": "calc", + "valType": "any" + } + ] }, - "superclass": "SrcValidator" + "superclass": "InfoArrayValidator" }, - "sankey.node.hoverlabel.namelength": { + "scatter3d.line.colorbar.tickformat": { "params": { - "plotly_name": "namelength", - "parent_name": "sankey.node.hoverlabel", - "array_ok": true, - "edit_type": "calc", - "min": -1 + "plotly_name": "tickformat", + "parent_name": "scatter3d.line.colorbar", + "edit_type": "calc" }, - "superclass": "IntegerValidator" + "superclass": "StringValidator" }, - "sankey.node.hoverlabel.font": { + "scatter3d.line.colorbar.tickfont": { "params": { - "plotly_name": "font", - "parent_name": "sankey.node.hoverlabel", - "data_class_str": "Font", + "plotly_name": "tickfont", + "parent_name": "scatter3d.line.colorbar", + "data_class_str": "Tickfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "sankey.node.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "sankey.node.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "sankey.node.hoverlabel.font.weight": { + "scatter3d.line.colorbar.tickfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "sankey.node.hoverlabel.font", - "array_ok": true, + "parent_name": "scatter3d.line.colorbar.tickfont", "edit_type": "calc", "extras": [ "normal", @@ -74315,19 +59187,10 @@ }, "superclass": "IntegerValidator" }, - "sankey.node.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "sankey.node.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "sankey.node.hoverlabel.font.variant": { + "scatter3d.line.colorbar.tickfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "sankey.node.hoverlabel.font", - "array_ok": true, + "parent_name": "scatter3d.line.colorbar.tickfont", "edit_type": "calc", "values": [ "normal", @@ -74340,19 +59203,10 @@ }, "superclass": "EnumeratedValidator" }, - "sankey.node.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "sankey.node.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "sankey.node.hoverlabel.font.textcase": { + "scatter3d.line.colorbar.tickfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "sankey.node.hoverlabel.font", - "array_ok": true, + "parent_name": "scatter3d.line.colorbar.tickfont", "edit_type": "calc", "values": [ "normal", @@ -74363,19 +59217,10 @@ }, "superclass": "EnumeratedValidator" }, - "sankey.node.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "sankey.node.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "sankey.node.hoverlabel.font.style": { + "scatter3d.line.colorbar.tickfont.style": { "params": { "plotly_name": "style", - "parent_name": "sankey.node.hoverlabel.font", - "array_ok": true, + "parent_name": "scatter3d.line.colorbar.tickfont", "edit_type": "calc", "values": [ "normal", @@ -74384,54 +59229,27 @@ }, "superclass": "EnumeratedValidator" }, - "sankey.node.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "sankey.node.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "sankey.node.hoverlabel.font.size": { + "scatter3d.line.colorbar.tickfont.size": { "params": { "plotly_name": "size", - "parent_name": "sankey.node.hoverlabel.font", - "array_ok": true, + "parent_name": "scatter3d.line.colorbar.tickfont", "edit_type": "calc", "min": 1 }, "superclass": "NumberValidator" }, - "sankey.node.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "sankey.node.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "sankey.node.hoverlabel.font.shadow": { + "scatter3d.line.colorbar.tickfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "sankey.node.hoverlabel.font", - "array_ok": true, + "parent_name": "scatter3d.line.colorbar.tickfont", "edit_type": "calc" }, "superclass": "StringValidator" }, - "sankey.node.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "sankey.node.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "sankey.node.hoverlabel.font.lineposition": { + "scatter3d.line.colorbar.tickfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "sankey.node.hoverlabel.font", - "array_ok": true, + "parent_name": "scatter3d.line.colorbar.tickfont", "edit_type": "calc", "extras": [ "none" @@ -74444,401 +59262,376 @@ }, "superclass": "FlaglistValidator" }, - "sankey.node.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "sankey.node.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "sankey.node.hoverlabel.font.family": { + "scatter3d.line.colorbar.tickfont.family": { "params": { "plotly_name": "family", - "parent_name": "sankey.node.hoverlabel.font", - "array_ok": true, + "parent_name": "scatter3d.line.colorbar.tickfont", "edit_type": "calc", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "sankey.node.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "sankey.node.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "sankey.node.hoverlabel.font.color": { + "scatter3d.line.colorbar.tickfont.color": { "params": { "plotly_name": "color", - "parent_name": "sankey.node.hoverlabel.font", - "array_ok": true, + "parent_name": "scatter3d.line.colorbar.tickfont", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "sankey.node.hoverlabel.bordercolorsrc": { + "scatter3d.line.colorbar.tickcolor": { "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "sankey.node.hoverlabel", - "edit_type": "none" + "plotly_name": "tickcolor", + "parent_name": "scatter3d.line.colorbar", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "sankey.node.hoverlabel.bordercolor": { + "scatter3d.line.colorbar.tickangle": { "params": { - "plotly_name": "bordercolor", - "parent_name": "sankey.node.hoverlabel", - "array_ok": true, + "plotly_name": "tickangle", + "parent_name": "scatter3d.line.colorbar", "edit_type": "calc" }, - "superclass": "ColorValidator" + "superclass": "AngleValidator" }, - "sankey.node.hoverlabel.bgcolorsrc": { + "scatter3d.line.colorbar.tick0": { "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "sankey.node.hoverlabel", - "edit_type": "none" + "plotly_name": "tick0", + "parent_name": "scatter3d.line.colorbar", + "edit_type": "calc", + "implied_edits": { + "tickmode": "linear" + } }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "sankey.node.hoverlabel.bgcolor": { + "scatter3d.line.colorbar.thicknessmode": { "params": { - "plotly_name": "bgcolor", - "parent_name": "sankey.node.hoverlabel", - "array_ok": true, - "edit_type": "calc" + "plotly_name": "thicknessmode", + "parent_name": "scatter3d.line.colorbar", + "edit_type": "calc", + "values": [ + "fraction", + "pixels" + ] }, - "superclass": "ColorValidator" + "superclass": "EnumeratedValidator" }, - "sankey.node.hoverlabel.alignsrc": { + "scatter3d.line.colorbar.thickness": { "params": { - "plotly_name": "alignsrc", - "parent_name": "sankey.node.hoverlabel", - "edit_type": "none" + "plotly_name": "thickness", + "parent_name": "scatter3d.line.colorbar", + "edit_type": "calc", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "sankey.node.hoverlabel.align": { + "scatter3d.line.colorbar.showticksuffix": { "params": { - "plotly_name": "align", - "parent_name": "sankey.node.hoverlabel", - "array_ok": true, + "plotly_name": "showticksuffix", + "parent_name": "scatter3d.line.colorbar", "edit_type": "calc", "values": [ - "left", - "right", - "auto" + "all", + "first", + "last", + "none" ] }, "superclass": "EnumeratedValidator" }, - "sankey.node.hoverinfo": { + "scatter3d.line.colorbar.showtickprefix": { "params": { - "plotly_name": "hoverinfo", - "parent_name": "sankey.node", + "plotly_name": "showtickprefix", + "parent_name": "scatter3d.line.colorbar", "edit_type": "calc", "values": [ "all", - "none", - "skip" + "first", + "last", + "none" ] }, "superclass": "EnumeratedValidator" }, - "sankey.node.groups": { + "scatter3d.line.colorbar.showticklabels": { "params": { - "plotly_name": "groups", - "parent_name": "sankey.node", - "dimensions": 2, - "edit_type": "calc", - "free_length": true, - "implied_edits": { - "x": [], - "y": [] - }, - "items": { - "editType": "calc", - "valType": "number" - } + "plotly_name": "showticklabels", + "parent_name": "scatter3d.line.colorbar", + "edit_type": "calc" }, - "superclass": "InfoArrayValidator" + "superclass": "BooleanValidator" }, - "sankey.node.customdatasrc": { + "scatter3d.line.colorbar.showexponent": { "params": { - "plotly_name": "customdatasrc", - "parent_name": "sankey.node", - "edit_type": "none" + "plotly_name": "showexponent", + "parent_name": "scatter3d.line.colorbar", + "edit_type": "calc", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "sankey.node.customdata": { + "scatter3d.line.colorbar.separatethousands": { "params": { - "plotly_name": "customdata", - "parent_name": "sankey.node", + "plotly_name": "separatethousands", + "parent_name": "scatter3d.line.colorbar", "edit_type": "calc" }, - "superclass": "DataArrayValidator" + "superclass": "BooleanValidator" }, - "sankey.node.colorsrc": { + "scatter3d.line.colorbar.outlinewidth": { "params": { - "plotly_name": "colorsrc", - "parent_name": "sankey.node", - "edit_type": "none" + "plotly_name": "outlinewidth", + "parent_name": "scatter3d.line.colorbar", + "edit_type": "calc", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "sankey.node.color": { + "scatter3d.line.colorbar.outlinecolor": { "params": { - "plotly_name": "color", - "parent_name": "sankey.node", - "array_ok": true, + "plotly_name": "outlinecolor", + "parent_name": "scatter3d.line.colorbar", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "sankey.node.align": { + "scatter3d.line.colorbar.orientation": { "params": { - "plotly_name": "align", - "parent_name": "sankey.node", + "plotly_name": "orientation", + "parent_name": "scatter3d.line.colorbar", "edit_type": "calc", "values": [ - "justify", - "left", - "right", - "center" + "h", + "v" ] }, "superclass": "EnumeratedValidator" }, - "sankey.name": { - "params": { - "plotly_name": "name", - "parent_name": "sankey", - "edit_type": "style" - }, - "superclass": "StringValidator" - }, - "sankey.metasrc": { + "scatter3d.line.colorbar.nticks": { "params": { - "plotly_name": "metasrc", - "parent_name": "sankey", - "edit_type": "none" + "plotly_name": "nticks", + "parent_name": "scatter3d.line.colorbar", + "edit_type": "calc", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "IntegerValidator" }, - "sankey.meta": { + "scatter3d.line.colorbar.minexponent": { "params": { - "plotly_name": "meta", - "parent_name": "sankey", - "array_ok": true, - "edit_type": "plot" + "plotly_name": "minexponent", + "parent_name": "scatter3d.line.colorbar", + "edit_type": "calc", + "min": 0 }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "sankey.link": { + "scatter3d.line.colorbar.lenmode": { "params": { - "plotly_name": "link", - "parent_name": "sankey", - "data_class_str": "Link", - "data_docs": "\n" + "plotly_name": "lenmode", + "parent_name": "scatter3d.line.colorbar", + "edit_type": "calc", + "values": [ + "fraction", + "pixels" + ] }, - "superclass": "CompoundValidator" + "superclass": "EnumeratedValidator" }, - "sankey.link.valuesrc": { + "scatter3d.line.colorbar.len": { "params": { - "plotly_name": "valuesrc", - "parent_name": "sankey.link", - "edit_type": "none" + "plotly_name": "len", + "parent_name": "scatter3d.line.colorbar", + "edit_type": "calc", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "sankey.link.value": { + "scatter3d.line.colorbar.labelalias": { "params": { - "plotly_name": "value", - "parent_name": "sankey.link", + "plotly_name": "labelalias", + "parent_name": "scatter3d.line.colorbar", "edit_type": "calc" }, - "superclass": "DataArrayValidator" + "superclass": "AnyValidator" }, - "sankey.link.targetsrc": { + "scatter3d.line.colorbar.exponentformat": { "params": { - "plotly_name": "targetsrc", - "parent_name": "sankey.link", - "edit_type": "none" + "plotly_name": "exponentformat", + "parent_name": "scatter3d.line.colorbar", + "edit_type": "calc", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B", + "SI extended" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "sankey.link.target": { + "scatter3d.line.colorbar.dtick": { "params": { - "plotly_name": "target", - "parent_name": "sankey.link", - "edit_type": "calc" + "plotly_name": "dtick", + "parent_name": "scatter3d.line.colorbar", + "edit_type": "calc", + "implied_edits": { + "tickmode": "linear" + } }, - "superclass": "DataArrayValidator" + "superclass": "AnyValidator" }, - "sankey.link.sourcesrc": { + "scatter3d.line.colorbar.borderwidth": { "params": { - "plotly_name": "sourcesrc", - "parent_name": "sankey.link", - "edit_type": "none" + "plotly_name": "borderwidth", + "parent_name": "scatter3d.line.colorbar", + "edit_type": "calc", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "sankey.link.source": { + "scatter3d.line.colorbar.bordercolor": { "params": { - "plotly_name": "source", - "parent_name": "sankey.link", + "plotly_name": "bordercolor", + "parent_name": "scatter3d.line.colorbar", "edit_type": "calc" }, - "superclass": "DataArrayValidator" - }, - "sankey.link.line": { - "params": { - "plotly_name": "line", - "parent_name": "sankey.link", - "data_class_str": "Line", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" + "superclass": "ColorValidator" }, - "sankey.link.line.widthsrc": { + "scatter3d.line.colorbar.bgcolor": { "params": { - "plotly_name": "widthsrc", - "parent_name": "sankey.link.line", - "edit_type": "none" + "plotly_name": "bgcolor", + "parent_name": "scatter3d.line.colorbar", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "sankey.link.line.width": { + "scatter3d.line.coloraxis": { "params": { - "plotly_name": "width", - "parent_name": "sankey.link.line", - "array_ok": true, + "plotly_name": "coloraxis", + "parent_name": "scatter3d.line", + "dflt": null, "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "sankey.link.line.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "sankey.link.line", - "edit_type": "none" + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" }, - "superclass": "SrcValidator" + "superclass": "SubplotidValidator" }, - "sankey.link.line.color": { + "scatter3d.line.color": { "params": { "plotly_name": "color", - "parent_name": "sankey.link.line", + "parent_name": "scatter3d.line", "array_ok": true, - "edit_type": "calc" + "edit_type": "calc", + "colorscale_path": "scatter3d.line.colorscale" }, "superclass": "ColorValidator" }, - "sankey.link.labelsrc": { + "scatter3d.line.cmin": { "params": { - "plotly_name": "labelsrc", - "parent_name": "sankey.link", - "edit_type": "none" + "plotly_name": "cmin", + "parent_name": "scatter3d.line", + "edit_type": "calc", + "implied_edits": { + "cauto": false + } }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "sankey.link.label": { + "scatter3d.line.cmid": { "params": { - "plotly_name": "label", - "parent_name": "sankey.link", - "edit_type": "calc" + "plotly_name": "cmid", + "parent_name": "scatter3d.line", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "DataArrayValidator" + "superclass": "NumberValidator" }, - "sankey.link.hovertemplatesrc": { + "scatter3d.line.cmax": { "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "sankey.link", - "edit_type": "none" + "plotly_name": "cmax", + "parent_name": "scatter3d.line", + "edit_type": "calc", + "implied_edits": { + "cauto": false + } }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "sankey.link.hovertemplatefallback": { + "scatter3d.line.cauto": { "params": { - "plotly_name": "hovertemplatefallback", - "parent_name": "sankey.link", - "edit_type": "calc" + "plotly_name": "cauto", + "parent_name": "scatter3d.line", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "AnyValidator" + "superclass": "BooleanValidator" }, - "sankey.link.hovertemplate": { + "scatter3d.line.autocolorscale": { "params": { - "plotly_name": "hovertemplate", - "parent_name": "sankey.link", - "array_ok": true, - "edit_type": "calc" + "plotly_name": "autocolorscale", + "parent_name": "scatter3d.line", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "sankey.link.hoverlabel": { + "scatter3d.legendwidth": { "params": { - "plotly_name": "hoverlabel", - "parent_name": "sankey.link", - "data_class_str": "Hoverlabel", - "data_docs": "\n" + "plotly_name": "legendwidth", + "parent_name": "scatter3d", + "edit_type": "style", + "min": 0 }, - "superclass": "CompoundValidator" + "superclass": "NumberValidator" }, - "sankey.link.hoverlabel.showarrow": { + "scatter3d.legendrank": { "params": { - "plotly_name": "showarrow", - "parent_name": "sankey.link.hoverlabel", - "edit_type": "calc" + "plotly_name": "legendrank", + "parent_name": "scatter3d", + "edit_type": "style" }, - "superclass": "BooleanValidator" + "superclass": "NumberValidator" }, - "sankey.link.hoverlabel.namelengthsrc": { + "scatter3d.legendgrouptitle": { "params": { - "plotly_name": "namelengthsrc", - "parent_name": "sankey.link.hoverlabel", - "edit_type": "none" + "plotly_name": "legendgrouptitle", + "parent_name": "scatter3d", + "data_class_str": "Legendgrouptitle", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "sankey.link.hoverlabel.namelength": { + "scatter3d.legendgrouptitle.text": { "params": { - "plotly_name": "namelength", - "parent_name": "sankey.link.hoverlabel", - "array_ok": true, - "edit_type": "calc", - "min": -1 + "plotly_name": "text", + "parent_name": "scatter3d.legendgrouptitle", + "edit_type": "style" }, - "superclass": "IntegerValidator" + "superclass": "StringValidator" }, - "sankey.link.hoverlabel.font": { + "scatter3d.legendgrouptitle.font": { "params": { "plotly_name": "font", - "parent_name": "sankey.link.hoverlabel", + "parent_name": "scatter3d.legendgrouptitle", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "sankey.link.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "sankey.link.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "sankey.link.hoverlabel.font.weight": { + "scatter3d.legendgrouptitle.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "sankey.link.hoverlabel.font", - "array_ok": true, - "edit_type": "calc", + "parent_name": "scatter3d.legendgrouptitle.font", + "edit_type": "style", "extras": [ "normal", "bold" @@ -74848,20 +59641,11 @@ }, "superclass": "IntegerValidator" }, - "sankey.link.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "sankey.link.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "sankey.link.hoverlabel.font.variant": { + "scatter3d.legendgrouptitle.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "sankey.link.hoverlabel.font", - "array_ok": true, - "edit_type": "calc", + "parent_name": "scatter3d.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "small-caps", @@ -74873,20 +59657,11 @@ }, "superclass": "EnumeratedValidator" }, - "sankey.link.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "sankey.link.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "sankey.link.hoverlabel.font.textcase": { + "scatter3d.legendgrouptitle.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "sankey.link.hoverlabel.font", - "array_ok": true, - "edit_type": "calc", + "parent_name": "scatter3d.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "word caps", @@ -74896,20 +59671,11 @@ }, "superclass": "EnumeratedValidator" }, - "sankey.link.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "sankey.link.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "sankey.link.hoverlabel.font.style": { + "scatter3d.legendgrouptitle.font.style": { "params": { "plotly_name": "style", - "parent_name": "sankey.link.hoverlabel.font", - "array_ok": true, - "edit_type": "calc", + "parent_name": "scatter3d.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "italic" @@ -74917,55 +59683,28 @@ }, "superclass": "EnumeratedValidator" }, - "sankey.link.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "sankey.link.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "sankey.link.hoverlabel.font.size": { + "scatter3d.legendgrouptitle.font.size": { "params": { "plotly_name": "size", - "parent_name": "sankey.link.hoverlabel.font", - "array_ok": true, - "edit_type": "calc", + "parent_name": "scatter3d.legendgrouptitle.font", + "edit_type": "style", "min": 1 }, "superclass": "NumberValidator" }, - "sankey.link.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "sankey.link.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "sankey.link.hoverlabel.font.shadow": { + "scatter3d.legendgrouptitle.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "sankey.link.hoverlabel.font", - "array_ok": true, - "edit_type": "calc" + "parent_name": "scatter3d.legendgrouptitle.font", + "edit_type": "style" }, "superclass": "StringValidator" }, - "sankey.link.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "sankey.link.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "sankey.link.hoverlabel.font.lineposition": { + "scatter3d.legendgrouptitle.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "sankey.link.hoverlabel.font", - "array_ok": true, - "edit_type": "calc", + "parent_name": "scatter3d.legendgrouptitle.font", + "edit_type": "style", "extras": [ "none" ], @@ -74977,287 +59716,117 @@ }, "superclass": "FlaglistValidator" }, - "sankey.link.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "sankey.link.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "sankey.link.hoverlabel.font.family": { + "scatter3d.legendgrouptitle.font.family": { "params": { "plotly_name": "family", - "parent_name": "sankey.link.hoverlabel.font", - "array_ok": true, - "edit_type": "calc", + "parent_name": "scatter3d.legendgrouptitle.font", + "edit_type": "style", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "sankey.link.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "sankey.link.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "sankey.link.hoverlabel.font.color": { + "scatter3d.legendgrouptitle.font.color": { "params": { "plotly_name": "color", - "parent_name": "sankey.link.hoverlabel.font", - "array_ok": true, - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "sankey.link.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "sankey.link.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "sankey.link.hoverlabel.bordercolor": { - "params": { - "plotly_name": "bordercolor", - "parent_name": "sankey.link.hoverlabel", - "array_ok": true, - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "sankey.link.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "sankey.link.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "sankey.link.hoverlabel.bgcolor": { - "params": { - "plotly_name": "bgcolor", - "parent_name": "sankey.link.hoverlabel", - "array_ok": true, - "edit_type": "calc" + "parent_name": "scatter3d.legendgrouptitle.font", + "edit_type": "style" }, "superclass": "ColorValidator" }, - "sankey.link.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "sankey.link.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "sankey.link.hoverlabel.align": { - "params": { - "plotly_name": "align", - "parent_name": "sankey.link.hoverlabel", - "array_ok": true, - "edit_type": "calc", - "values": [ - "left", - "right", - "auto" - ] - }, - "superclass": "EnumeratedValidator" - }, - "sankey.link.hoverinfo": { - "params": { - "plotly_name": "hoverinfo", - "parent_name": "sankey.link", - "edit_type": "calc", - "values": [ - "all", - "none", - "skip" - ] - }, - "superclass": "EnumeratedValidator" - }, - "sankey.link.hovercolorsrc": { - "params": { - "plotly_name": "hovercolorsrc", - "parent_name": "sankey.link", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "sankey.link.hovercolor": { + "scatter3d.legendgroup": { "params": { - "plotly_name": "hovercolor", - "parent_name": "sankey.link", - "array_ok": true, - "edit_type": "calc" + "plotly_name": "legendgroup", + "parent_name": "scatter3d", + "edit_type": "style" }, - "superclass": "ColorValidator" + "superclass": "StringValidator" }, - "sankey.link.customdatasrc": { + "scatter3d.legend": { "params": { - "plotly_name": "customdatasrc", - "parent_name": "sankey.link", - "edit_type": "none" + "plotly_name": "legend", + "parent_name": "scatter3d", + "dflt": "legend", + "edit_type": "style" }, - "superclass": "SrcValidator" + "superclass": "SubplotidValidator" }, - "sankey.link.customdata": { + "scatter3d.ids": { "params": { - "plotly_name": "customdata", - "parent_name": "sankey.link", + "plotly_name": "ids", + "parent_name": "scatter3d", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "sankey.link.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "sankey.link", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "sankey.link.colorscaledefaults": { - "params": { - "plotly_name": "colorscaledefaults", - "parent_name": "sankey.link", - "data_class_str": "Colorscale", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "sankey.link.colorscales": { - "params": { - "plotly_name": "colorscales", - "parent_name": "sankey.link", - "data_class_str": "Colorscale", - "data_docs": "\n" - }, - "superclass": "CompoundArrayValidator" - }, - "sankey.link.colorscale.templateitemname": { + "scatter3d.hovertext": { "params": { - "plotly_name": "templateitemname", - "parent_name": "sankey.link.colorscale", + "plotly_name": "hovertext", + "parent_name": "scatter3d", + "array_ok": true, "edit_type": "calc" }, "superclass": "StringValidator" }, - "sankey.link.colorscale.name": { + "scatter3d.hovertemplatefallback": { "params": { - "plotly_name": "name", - "parent_name": "sankey.link.colorscale", + "plotly_name": "hovertemplatefallback", + "parent_name": "scatter3d", "edit_type": "calc" }, - "superclass": "StringValidator" + "superclass": "AnyValidator" }, - "sankey.link.colorscale.label": { + "scatter3d.hovertemplate": { "params": { - "plotly_name": "label", - "parent_name": "sankey.link.colorscale", + "plotly_name": "hovertemplate", + "parent_name": "scatter3d", + "array_ok": true, "edit_type": "calc" }, "superclass": "StringValidator" }, - "sankey.link.colorscale.colorscale": { - "params": { - "plotly_name": "colorscale", - "parent_name": "sankey.link.colorscale", - "edit_type": "calc", - "implied_edits": { - "autocolorscale": false - } - }, - "superclass": "ColorscaleValidator" - }, - "sankey.link.colorscale.cmin": { + "scatter3d.hoverlabel": { "params": { - "plotly_name": "cmin", - "parent_name": "sankey.link.colorscale", - "edit_type": "calc" + "plotly_name": "hoverlabel", + "parent_name": "scatter3d", + "data_class_str": "Hoverlabel", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "sankey.link.colorscale.cmax": { + "scatter3d.hoverlabel.showarrow": { "params": { - "plotly_name": "cmax", - "parent_name": "sankey.link.colorscale", - "edit_type": "calc" + "plotly_name": "showarrow", + "parent_name": "scatter3d.hoverlabel", + "edit_type": "none" }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "sankey.link.color": { + "scatter3d.hoverlabel.namelength": { "params": { - "plotly_name": "color", - "parent_name": "sankey.link", + "plotly_name": "namelength", + "parent_name": "scatter3d.hoverlabel", "array_ok": true, - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "sankey.link.arrowlen": { - "params": { - "plotly_name": "arrowlen", - "parent_name": "sankey.link", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "sankey.legendwidth": { - "params": { - "plotly_name": "legendwidth", - "parent_name": "sankey", - "edit_type": "style", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "sankey.legendrank": { - "params": { - "plotly_name": "legendrank", - "parent_name": "sankey", - "edit_type": "style" - }, - "superclass": "NumberValidator" - }, - "sankey.legendgrouptitle": { - "params": { - "plotly_name": "legendgrouptitle", - "parent_name": "sankey", - "data_class_str": "Legendgrouptitle", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "sankey.legendgrouptitle.text": { - "params": { - "plotly_name": "text", - "parent_name": "sankey.legendgrouptitle", - "edit_type": "style" + "edit_type": "none", + "min": -1 }, - "superclass": "StringValidator" + "superclass": "IntegerValidator" }, - "sankey.legendgrouptitle.font": { + "scatter3d.hoverlabel.font": { "params": { "plotly_name": "font", - "parent_name": "sankey.legendgrouptitle", + "parent_name": "scatter3d.hoverlabel", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "sankey.legendgrouptitle.font.weight": { + "scatter3d.hoverlabel.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "sankey.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "scatter3d.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "extras": [ "normal", "bold" @@ -75267,11 +59836,12 @@ }, "superclass": "IntegerValidator" }, - "sankey.legendgrouptitle.font.variant": { + "scatter3d.hoverlabel.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "sankey.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "scatter3d.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "small-caps", @@ -75283,11 +59853,12 @@ }, "superclass": "EnumeratedValidator" }, - "sankey.legendgrouptitle.font.textcase": { + "scatter3d.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "sankey.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "scatter3d.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "word caps", @@ -75297,11 +59868,12 @@ }, "superclass": "EnumeratedValidator" }, - "sankey.legendgrouptitle.font.style": { + "scatter3d.hoverlabel.font.style": { "params": { "plotly_name": "style", - "parent_name": "sankey.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "scatter3d.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "italic" @@ -75309,28 +59881,31 @@ }, "superclass": "EnumeratedValidator" }, - "sankey.legendgrouptitle.font.size": { + "scatter3d.hoverlabel.font.size": { "params": { "plotly_name": "size", - "parent_name": "sankey.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "scatter3d.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "min": 1 }, "superclass": "NumberValidator" }, - "sankey.legendgrouptitle.font.shadow": { + "scatter3d.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "sankey.legendgrouptitle.font", - "edit_type": "style" + "parent_name": "scatter3d.hoverlabel.font", + "array_ok": true, + "edit_type": "none" }, "superclass": "StringValidator" }, - "sankey.legendgrouptitle.font.lineposition": { + "scatter3d.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "sankey.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "scatter3d.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "extras": [ "none" ], @@ -75342,834 +59917,803 @@ }, "superclass": "FlaglistValidator" }, - "sankey.legendgrouptitle.font.family": { + "scatter3d.hoverlabel.font.family": { "params": { "plotly_name": "family", - "parent_name": "sankey.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "scatter3d.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "sankey.legendgrouptitle.font.color": { + "scatter3d.hoverlabel.font.color": { "params": { "plotly_name": "color", - "parent_name": "sankey.legendgrouptitle.font", - "edit_type": "style" + "parent_name": "scatter3d.hoverlabel.font", + "array_ok": true, + "edit_type": "none" }, "superclass": "ColorValidator" }, - "sankey.legend": { + "scatter3d.hoverlabel.bordercolor": { "params": { - "plotly_name": "legend", - "parent_name": "sankey", - "dflt": "legend", - "edit_type": "style" + "plotly_name": "bordercolor", + "parent_name": "scatter3d.hoverlabel", + "array_ok": true, + "edit_type": "none" }, - "superclass": "SubplotidValidator" + "superclass": "ColorValidator" }, - "sankey.idssrc": { + "scatter3d.hoverlabel.bgcolor": { "params": { - "plotly_name": "idssrc", - "parent_name": "sankey", + "plotly_name": "bgcolor", + "parent_name": "scatter3d.hoverlabel", + "array_ok": true, "edit_type": "none" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "sankey.ids": { + "scatter3d.hoverlabel.align": { "params": { - "plotly_name": "ids", - "parent_name": "sankey", - "edit_type": "calc" + "plotly_name": "align", + "parent_name": "scatter3d.hoverlabel", + "array_ok": true, + "edit_type": "none", + "values": [ + "left", + "right", + "auto" + ] }, - "superclass": "DataArrayValidator" + "superclass": "EnumeratedValidator" }, - "sankey.hoverlabel": { + "scatter3d.hoverinfo": { "params": { - "plotly_name": "hoverlabel", - "parent_name": "sankey", - "data_class_str": "Hoverlabel", + "plotly_name": "hoverinfo", + "parent_name": "scatter3d", + "array_ok": true, + "edit_type": "calc", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ] + }, + "superclass": "FlaglistValidator" + }, + "scatter3d.error_z": { + "params": { + "plotly_name": "error_z", + "parent_name": "scatter3d", + "data_class_str": "ErrorZ", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "sankey.hoverlabel.showarrow": { + "scatter3d.error_z.width": { "params": { - "plotly_name": "showarrow", - "parent_name": "sankey.hoverlabel", - "edit_type": "calc" + "plotly_name": "width", + "parent_name": "scatter3d.error_z", + "edit_type": "calc", + "min": 0 }, - "superclass": "BooleanValidator" + "superclass": "NumberValidator" }, - "sankey.hoverlabel.namelengthsrc": { + "scatter3d.error_z.visible": { "params": { - "plotly_name": "namelengthsrc", - "parent_name": "sankey.hoverlabel", - "edit_type": "none" + "plotly_name": "visible", + "parent_name": "scatter3d.error_z", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "sankey.hoverlabel.namelength": { + "scatter3d.error_z.valueminus": { "params": { - "plotly_name": "namelength", - "parent_name": "sankey.hoverlabel", - "array_ok": true, + "plotly_name": "valueminus", + "parent_name": "scatter3d.error_z", "edit_type": "calc", - "min": -1 + "min": 0 }, - "superclass": "IntegerValidator" + "superclass": "NumberValidator" }, - "sankey.hoverlabel.font": { + "scatter3d.error_z.value": { "params": { - "plotly_name": "font", - "parent_name": "sankey.hoverlabel", - "data_class_str": "Font", - "data_docs": "\n" + "plotly_name": "value", + "parent_name": "scatter3d.error_z", + "edit_type": "calc", + "min": 0 }, - "superclass": "CompoundValidator" + "superclass": "NumberValidator" }, - "sankey.hoverlabel.font.weightsrc": { + "scatter3d.error_z.type": { "params": { - "plotly_name": "weightsrc", - "parent_name": "sankey.hoverlabel.font", - "edit_type": "none" + "plotly_name": "type", + "parent_name": "scatter3d.error_z", + "edit_type": "calc", + "values": [ + "percent", + "constant", + "sqrt", + "data" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "sankey.hoverlabel.font.weight": { + "scatter3d.error_z.tracerefminus": { "params": { - "plotly_name": "weight", - "parent_name": "sankey.hoverlabel.font", - "array_ok": true, + "plotly_name": "tracerefminus", + "parent_name": "scatter3d.error_z", "edit_type": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 + "min": 0 }, "superclass": "IntegerValidator" }, - "sankey.hoverlabel.font.variantsrc": { + "scatter3d.error_z.traceref": { "params": { - "plotly_name": "variantsrc", - "parent_name": "sankey.hoverlabel.font", - "edit_type": "none" + "plotly_name": "traceref", + "parent_name": "scatter3d.error_z", + "edit_type": "calc", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "IntegerValidator" }, - "sankey.hoverlabel.font.variant": { + "scatter3d.error_z.thickness": { "params": { - "plotly_name": "variant", - "parent_name": "sankey.hoverlabel.font", - "array_ok": true, + "plotly_name": "thickness", + "parent_name": "scatter3d.error_z", "edit_type": "calc", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "sankey.hoverlabel.font.textcasesrc": { + "scatter3d.error_z.symmetric": { "params": { - "plotly_name": "textcasesrc", - "parent_name": "sankey.hoverlabel.font", - "edit_type": "none" + "plotly_name": "symmetric", + "parent_name": "scatter3d.error_z", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "sankey.hoverlabel.font.textcase": { + "scatter3d.error_z.color": { "params": { - "plotly_name": "textcase", - "parent_name": "sankey.hoverlabel.font", - "array_ok": true, - "edit_type": "calc", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] + "plotly_name": "color", + "parent_name": "scatter3d.error_z", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "ColorValidator" }, - "sankey.hoverlabel.font.stylesrc": { + "scatter3d.error_z.arrayminus": { "params": { - "plotly_name": "stylesrc", - "parent_name": "sankey.hoverlabel.font", - "edit_type": "none" + "plotly_name": "arrayminus", + "parent_name": "scatter3d.error_z", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "DataArrayValidator" }, - "sankey.hoverlabel.font.style": { + "scatter3d.error_z.array": { "params": { - "plotly_name": "style", - "parent_name": "sankey.hoverlabel.font", - "array_ok": true, - "edit_type": "calc", - "values": [ - "normal", - "italic" - ] + "plotly_name": "array", + "parent_name": "scatter3d.error_z", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "DataArrayValidator" }, - "sankey.hoverlabel.font.sizesrc": { + "scatter3d.error_y": { "params": { - "plotly_name": "sizesrc", - "parent_name": "sankey.hoverlabel.font", - "edit_type": "none" + "plotly_name": "error_y", + "parent_name": "scatter3d", + "data_class_str": "ErrorY", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "sankey.hoverlabel.font.size": { + "scatter3d.error_y.width": { "params": { - "plotly_name": "size", - "parent_name": "sankey.hoverlabel.font", - "array_ok": true, + "plotly_name": "width", + "parent_name": "scatter3d.error_y", "edit_type": "calc", - "min": 1 + "min": 0 }, "superclass": "NumberValidator" }, - "sankey.hoverlabel.font.shadowsrc": { + "scatter3d.error_y.visible": { "params": { - "plotly_name": "shadowsrc", - "parent_name": "sankey.hoverlabel.font", - "edit_type": "none" + "plotly_name": "visible", + "parent_name": "scatter3d.error_y", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "sankey.hoverlabel.font.shadow": { + "scatter3d.error_y.valueminus": { "params": { - "plotly_name": "shadow", - "parent_name": "sankey.hoverlabel.font", - "array_ok": true, - "edit_type": "calc" + "plotly_name": "valueminus", + "parent_name": "scatter3d.error_y", + "edit_type": "calc", + "min": 0 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "sankey.hoverlabel.font.linepositionsrc": { + "scatter3d.error_y.value": { "params": { - "plotly_name": "linepositionsrc", - "parent_name": "sankey.hoverlabel.font", - "edit_type": "none" + "plotly_name": "value", + "parent_name": "scatter3d.error_y", + "edit_type": "calc", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "sankey.hoverlabel.font.lineposition": { + "scatter3d.error_y.type": { "params": { - "plotly_name": "lineposition", - "parent_name": "sankey.hoverlabel.font", - "array_ok": true, + "plotly_name": "type", + "parent_name": "scatter3d.error_y", "edit_type": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" + "values": [ + "percent", + "constant", + "sqrt", + "data" ] }, - "superclass": "FlaglistValidator" + "superclass": "EnumeratedValidator" }, - "sankey.hoverlabel.font.familysrc": { + "scatter3d.error_y.tracerefminus": { "params": { - "plotly_name": "familysrc", - "parent_name": "sankey.hoverlabel.font", - "edit_type": "none" + "plotly_name": "tracerefminus", + "parent_name": "scatter3d.error_y", + "edit_type": "calc", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "IntegerValidator" }, - "sankey.hoverlabel.font.family": { + "scatter3d.error_y.traceref": { "params": { - "plotly_name": "family", - "parent_name": "sankey.hoverlabel.font", - "array_ok": true, + "plotly_name": "traceref", + "parent_name": "scatter3d.error_y", "edit_type": "calc", - "no_blank": true, - "strict": true + "min": 0 }, - "superclass": "StringValidator" + "superclass": "IntegerValidator" }, - "sankey.hoverlabel.font.colorsrc": { + "scatter3d.error_y.thickness": { "params": { - "plotly_name": "colorsrc", - "parent_name": "sankey.hoverlabel.font", - "edit_type": "none" + "plotly_name": "thickness", + "parent_name": "scatter3d.error_y", + "edit_type": "calc", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "sankey.hoverlabel.font.color": { + "scatter3d.error_y.symmetric": { "params": { - "plotly_name": "color", - "parent_name": "sankey.hoverlabel.font", - "array_ok": true, + "plotly_name": "symmetric", + "parent_name": "scatter3d.error_y", "edit_type": "calc" }, - "superclass": "ColorValidator" + "superclass": "BooleanValidator" }, - "sankey.hoverlabel.bordercolorsrc": { + "scatter3d.error_y.copy_zstyle": { "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "sankey.hoverlabel", - "edit_type": "none" + "plotly_name": "copy_zstyle", + "parent_name": "scatter3d.error_y", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "sankey.hoverlabel.bordercolor": { + "scatter3d.error_y.color": { "params": { - "plotly_name": "bordercolor", - "parent_name": "sankey.hoverlabel", - "array_ok": true, + "plotly_name": "color", + "parent_name": "scatter3d.error_y", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "sankey.hoverlabel.bgcolorsrc": { + "scatter3d.error_y.arrayminus": { "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "sankey.hoverlabel", - "edit_type": "none" + "plotly_name": "arrayminus", + "parent_name": "scatter3d.error_y", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "DataArrayValidator" }, - "sankey.hoverlabel.bgcolor": { + "scatter3d.error_y.array": { "params": { - "plotly_name": "bgcolor", - "parent_name": "sankey.hoverlabel", - "array_ok": true, + "plotly_name": "array", + "parent_name": "scatter3d.error_y", "edit_type": "calc" }, - "superclass": "ColorValidator" + "superclass": "DataArrayValidator" }, - "sankey.hoverlabel.alignsrc": { + "scatter3d.error_x": { "params": { - "plotly_name": "alignsrc", - "parent_name": "sankey.hoverlabel", - "edit_type": "none" + "plotly_name": "error_x", + "parent_name": "scatter3d", + "data_class_str": "ErrorX", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "sankey.hoverlabel.align": { + "scatter3d.error_x.width": { "params": { - "plotly_name": "align", - "parent_name": "sankey.hoverlabel", - "array_ok": true, + "plotly_name": "width", + "parent_name": "scatter3d.error_x", "edit_type": "calc", - "values": [ - "left", - "right", - "auto" - ] + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "sankey.hoverinfo": { + "scatter3d.error_x.visible": { "params": { - "plotly_name": "hoverinfo", - "parent_name": "sankey", - "array_ok": false, - "edit_type": "calc", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [] + "plotly_name": "visible", + "parent_name": "scatter3d.error_x", + "edit_type": "calc" }, - "superclass": "FlaglistValidator" + "superclass": "BooleanValidator" }, - "sankey.domain": { + "scatter3d.error_x.valueminus": { "params": { - "plotly_name": "domain", - "parent_name": "sankey", - "data_class_str": "Domain", - "data_docs": "\n" + "plotly_name": "valueminus", + "parent_name": "scatter3d.error_x", + "edit_type": "calc", + "min": 0 }, - "superclass": "CompoundValidator" + "superclass": "NumberValidator" }, - "sankey.domain.y": { + "scatter3d.error_x.value": { "params": { - "plotly_name": "y", - "parent_name": "sankey.domain", + "plotly_name": "value", + "parent_name": "scatter3d.error_x", "edit_type": "calc", - "items": [ - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - } - ] + "min": 0 }, - "superclass": "InfoArrayValidator" + "superclass": "NumberValidator" }, - "sankey.domain.x": { + "scatter3d.error_x.type": { "params": { - "plotly_name": "x", - "parent_name": "sankey.domain", + "plotly_name": "type", + "parent_name": "scatter3d.error_x", "edit_type": "calc", - "items": [ - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - } + "values": [ + "percent", + "constant", + "sqrt", + "data" ] }, - "superclass": "InfoArrayValidator" + "superclass": "EnumeratedValidator" }, - "sankey.domain.row": { + "scatter3d.error_x.tracerefminus": { "params": { - "plotly_name": "row", - "parent_name": "sankey.domain", + "plotly_name": "tracerefminus", + "parent_name": "scatter3d.error_x", "edit_type": "calc", "min": 0 }, "superclass": "IntegerValidator" }, - "sankey.domain.column": { + "scatter3d.error_x.traceref": { "params": { - "plotly_name": "column", - "parent_name": "sankey.domain", + "plotly_name": "traceref", + "parent_name": "scatter3d.error_x", "edit_type": "calc", "min": 0 }, "superclass": "IntegerValidator" }, - "sankey.customdatasrc": { + "scatter3d.error_x.thickness": { "params": { - "plotly_name": "customdatasrc", - "parent_name": "sankey", - "edit_type": "none" + "plotly_name": "thickness", + "parent_name": "scatter3d.error_x", + "edit_type": "calc", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "sankey.customdata": { + "scatter3d.error_x.symmetric": { "params": { - "plotly_name": "customdata", - "parent_name": "sankey", + "plotly_name": "symmetric", + "parent_name": "scatter3d.error_x", "edit_type": "calc" }, - "superclass": "DataArrayValidator" - }, - "sankey.arrangement": { - "params": { - "plotly_name": "arrangement", - "parent_name": "sankey", - "edit_type": "calc", - "values": [ - "snap", - "perpendicular", - "freeform", - "fixed" - ] - }, - "superclass": "EnumeratedValidator" + "superclass": "BooleanValidator" }, - "pie": { + "scatter3d.error_x.copy_zstyle": { "params": { - "plotly_name": "pie", - "parent_name": "", - "data_class_str": "Pie", - "data_docs": "\n" + "plotly_name": "copy_zstyle", + "parent_name": "scatter3d.error_x", + "edit_type": "calc" }, - "superclass": "CompoundValidator" + "superclass": "BooleanValidator" }, - "pie.visible": { + "scatter3d.error_x.color": { "params": { - "plotly_name": "visible", - "parent_name": "pie", - "edit_type": "calc", - "values": [ - true, - false, - "legendonly" - ] + "plotly_name": "color", + "parent_name": "scatter3d.error_x", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "ColorValidator" }, - "pie.valuessrc": { + "scatter3d.error_x.arrayminus": { "params": { - "plotly_name": "valuessrc", - "parent_name": "pie", - "edit_type": "none" + "plotly_name": "arrayminus", + "parent_name": "scatter3d.error_x", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "DataArrayValidator" }, - "pie.values": { + "scatter3d.error_x.array": { "params": { - "plotly_name": "values", - "parent_name": "pie", + "plotly_name": "array", + "parent_name": "scatter3d.error_x", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "pie.uirevision": { + "scatter3d.customdata": { "params": { - "plotly_name": "uirevision", - "parent_name": "pie", - "edit_type": "none" + "plotly_name": "customdata", + "parent_name": "scatter3d", + "edit_type": "calc" }, - "superclass": "AnyValidator" + "superclass": "DataArrayValidator" }, - "pie.uid": { + "scatter3d.connectgaps": { "params": { - "plotly_name": "uid", - "parent_name": "pie", - "edit_type": "plot" + "plotly_name": "connectgaps", + "parent_name": "scatter3d", + "edit_type": "calc" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "pie.title": { + "scatter": { "params": { - "plotly_name": "title", - "parent_name": "pie", - "data_class_str": "Title", + "plotly_name": "scatter", + "parent_name": "", + "data_class_str": "Scatter", "data_docs": "\n" }, - "superclass": "TitleValidator" + "superclass": "CompoundValidator" }, - "pie.title.text": { + "scatter.zorder": { "params": { - "plotly_name": "text", - "parent_name": "pie.title", + "plotly_name": "zorder", + "parent_name": "scatter", "edit_type": "plot" }, - "superclass": "StringValidator" + "superclass": "IntegerValidator" }, - "pie.title.position": { + "scatter.yperiodalignment": { "params": { - "plotly_name": "position", - "parent_name": "pie.title", - "edit_type": "plot", + "plotly_name": "yperiodalignment", + "parent_name": "scatter", + "edit_type": "calc", "values": [ - "top left", - "top center", - "top right", - "middle center", - "bottom left", - "bottom center", - "bottom right" + "start", + "middle", + "end" ] }, "superclass": "EnumeratedValidator" }, - "pie.title.font": { + "scatter.yperiod0": { "params": { - "plotly_name": "font", - "parent_name": "pie.title", - "data_class_str": "Font", - "data_docs": "\n" + "plotly_name": "yperiod0", + "parent_name": "scatter", + "edit_type": "calc" }, - "superclass": "CompoundValidator" + "superclass": "AnyValidator" + }, + "scatter.yperiod": { + "params": { + "plotly_name": "yperiod", + "parent_name": "scatter", + "edit_type": "calc" + }, + "superclass": "AnyValidator" + }, + "scatter.yhoverformat": { + "params": { + "plotly_name": "yhoverformat", + "parent_name": "scatter", + "edit_type": "none" + }, + "superclass": "StringValidator" + }, + "scatter.ycalendar": { + "params": { + "plotly_name": "ycalendar", + "parent_name": "scatter", + "edit_type": "calc", + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" + ] + }, + "superclass": "EnumeratedValidator" }, - "pie.title.font.weightsrc": { + "scatter.yaxis": { "params": { - "plotly_name": "weightsrc", - "parent_name": "pie.title.font", - "edit_type": "none" + "plotly_name": "yaxis", + "parent_name": "scatter", + "dflt": "y", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "SrcValidator" + "superclass": "SubplotidValidator" }, - "pie.title.font.weight": { + "scatter.y0": { "params": { - "plotly_name": "weight", - "parent_name": "pie.title.font", - "array_ok": true, - "edit_type": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 + "plotly_name": "y0", + "parent_name": "scatter", + "anim": true, + "edit_type": "calc+clearAxisTypes" }, - "superclass": "IntegerValidator" + "superclass": "AnyValidator" }, - "pie.title.font.variantsrc": { + "scatter.y": { "params": { - "plotly_name": "variantsrc", - "parent_name": "pie.title.font", - "edit_type": "none" + "plotly_name": "y", + "parent_name": "scatter", + "anim": true, + "edit_type": "calc+clearAxisTypes" }, - "superclass": "SrcValidator" + "superclass": "DataArrayValidator" }, - "pie.title.font.variant": { + "scatter.xperiodalignment": { "params": { - "plotly_name": "variant", - "parent_name": "pie.title.font", - "array_ok": true, - "edit_type": "plot", + "plotly_name": "xperiodalignment", + "parent_name": "scatter", + "edit_type": "calc", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "start", + "middle", + "end" ] }, "superclass": "EnumeratedValidator" }, - "pie.title.font.textcasesrc": { + "scatter.xperiod0": { "params": { - "plotly_name": "textcasesrc", - "parent_name": "pie.title.font", - "edit_type": "none" + "plotly_name": "xperiod0", + "parent_name": "scatter", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "pie.title.font.textcase": { + "scatter.xperiod": { "params": { - "plotly_name": "textcase", - "parent_name": "pie.title.font", - "array_ok": true, - "edit_type": "plot", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] + "plotly_name": "xperiod", + "parent_name": "scatter", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "AnyValidator" }, - "pie.title.font.stylesrc": { + "scatter.xhoverformat": { "params": { - "plotly_name": "stylesrc", - "parent_name": "pie.title.font", + "plotly_name": "xhoverformat", + "parent_name": "scatter", "edit_type": "none" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "pie.title.font.style": { + "scatter.xcalendar": { "params": { - "plotly_name": "style", - "parent_name": "pie.title.font", - "array_ok": true, - "edit_type": "plot", + "plotly_name": "xcalendar", + "parent_name": "scatter", + "edit_type": "calc", "values": [ - "normal", - "italic" + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" ] }, "superclass": "EnumeratedValidator" }, - "pie.title.font.sizesrc": { + "scatter.xaxis": { "params": { - "plotly_name": "sizesrc", - "parent_name": "pie.title.font", - "edit_type": "none" + "plotly_name": "xaxis", + "parent_name": "scatter", + "dflt": "x", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "SrcValidator" + "superclass": "SubplotidValidator" }, - "pie.title.font.size": { + "scatter.x0": { "params": { - "plotly_name": "size", - "parent_name": "pie.title.font", - "array_ok": true, - "edit_type": "plot", - "min": 1 + "plotly_name": "x0", + "parent_name": "scatter", + "anim": true, + "edit_type": "calc+clearAxisTypes" }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "pie.title.font.shadowsrc": { + "scatter.x": { "params": { - "plotly_name": "shadowsrc", - "parent_name": "pie.title.font", - "edit_type": "none" + "plotly_name": "x", + "parent_name": "scatter", + "anim": true, + "edit_type": "calc+clearAxisTypes" }, - "superclass": "SrcValidator" + "superclass": "DataArrayValidator" }, - "pie.title.font.shadow": { + "scatter.visible": { "params": { - "plotly_name": "shadow", - "parent_name": "pie.title.font", - "array_ok": true, - "edit_type": "plot" + "plotly_name": "visible", + "parent_name": "scatter", + "edit_type": "calc", + "values": [ + true, + false, + "legendonly" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "pie.title.font.linepositionsrc": { + "scatter.unselected": { "params": { - "plotly_name": "linepositionsrc", - "parent_name": "pie.title.font", - "edit_type": "none" + "plotly_name": "unselected", + "parent_name": "scatter", + "data_class_str": "Unselected", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "pie.title.font.lineposition": { + "scatter.unselected.textfont": { "params": { - "plotly_name": "lineposition", - "parent_name": "pie.title.font", - "array_ok": true, - "edit_type": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] + "plotly_name": "textfont", + "parent_name": "scatter.unselected", + "data_class_str": "Textfont", + "data_docs": "\n" }, - "superclass": "FlaglistValidator" + "superclass": "CompoundValidator" }, - "pie.title.font.familysrc": { + "scatter.unselected.textfont.color": { "params": { - "plotly_name": "familysrc", - "parent_name": "pie.title.font", - "edit_type": "none" + "plotly_name": "color", + "parent_name": "scatter.unselected.textfont", + "edit_type": "style" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "pie.title.font.family": { + "scatter.unselected.marker": { "params": { - "plotly_name": "family", - "parent_name": "pie.title.font", - "array_ok": true, - "edit_type": "plot", - "no_blank": true, - "strict": true + "plotly_name": "marker", + "parent_name": "scatter.unselected", + "data_class_str": "Marker", + "data_docs": "\n" }, - "superclass": "StringValidator" + "superclass": "CompoundValidator" }, - "pie.title.font.colorsrc": { + "scatter.unselected.marker.size": { "params": { - "plotly_name": "colorsrc", - "parent_name": "pie.title.font", - "edit_type": "none" + "plotly_name": "size", + "parent_name": "scatter.unselected.marker", + "edit_type": "style", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "pie.title.font.color": { + "scatter.unselected.marker.opacity": { "params": { - "plotly_name": "color", - "parent_name": "pie.title.font", - "array_ok": true, - "edit_type": "plot" + "plotly_name": "opacity", + "parent_name": "scatter.unselected.marker", + "edit_type": "style", + "max": 1, + "min": 0 }, - "superclass": "ColorValidator" + "superclass": "NumberValidator" }, - "pie.texttemplatesrc": { + "scatter.unselected.marker.color": { "params": { - "plotly_name": "texttemplatesrc", - "parent_name": "pie", - "edit_type": "none" + "plotly_name": "color", + "parent_name": "scatter.unselected.marker", + "edit_type": "style" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "pie.texttemplatefallback": { + "scatter.uirevision": { "params": { - "plotly_name": "texttemplatefallback", - "parent_name": "pie", - "edit_type": "plot" + "plotly_name": "uirevision", + "parent_name": "scatter", + "edit_type": "none" }, "superclass": "AnyValidator" }, - "pie.texttemplate": { + "scatter.uid": { "params": { - "plotly_name": "texttemplate", - "parent_name": "pie", - "array_ok": true, + "plotly_name": "uid", + "parent_name": "scatter", + "anim": true, "edit_type": "plot" }, "superclass": "StringValidator" }, - "pie.textsrc": { + "scatter.texttemplatefallback": { "params": { - "plotly_name": "textsrc", - "parent_name": "pie", - "edit_type": "none" + "plotly_name": "texttemplatefallback", + "parent_name": "scatter", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "pie.textpositionsrc": { + "scatter.texttemplate": { "params": { - "plotly_name": "textpositionsrc", - "parent_name": "pie", - "edit_type": "none" + "plotly_name": "texttemplate", + "parent_name": "scatter", + "array_ok": true, + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "pie.textposition": { + "scatter.textposition": { "params": { "plotly_name": "textposition", - "parent_name": "pie", + "parent_name": "scatter", "array_ok": true, - "edit_type": "plot", + "edit_type": "calc", "values": [ - "inside", - "outside", - "auto", - "none" + "top left", + "top center", + "top right", + "middle left", + "middle center", + "middle right", + "bottom left", + "bottom center", + "bottom right" ] }, "superclass": "EnumeratedValidator" }, - "pie.textinfo": { - "params": { - "plotly_name": "textinfo", - "parent_name": "pie", - "edit_type": "calc", - "extras": [ - "none" - ], - "flags": [ - "label", - "text", - "value", - "percent" - ] - }, - "superclass": "FlaglistValidator" - }, - "pie.textfont": { + "scatter.textfont": { "params": { "plotly_name": "textfont", - "parent_name": "pie", + "parent_name": "scatter", "data_class_str": "Textfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "pie.textfont.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "pie.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.textfont.weight": { + "scatter.textfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "pie.textfont", + "parent_name": "scatter.textfont", "array_ok": true, - "edit_type": "plot", + "edit_type": "calc", "extras": [ "normal", "bold" @@ -76179,20 +60723,12 @@ }, "superclass": "IntegerValidator" }, - "pie.textfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "pie.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.textfont.variant": { + "scatter.textfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "pie.textfont", + "parent_name": "scatter.textfont", "array_ok": true, - "edit_type": "plot", + "edit_type": "calc", "values": [ "normal", "small-caps", @@ -76204,20 +60740,12 @@ }, "superclass": "EnumeratedValidator" }, - "pie.textfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "pie.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.textfont.textcase": { + "scatter.textfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "pie.textfont", + "parent_name": "scatter.textfont", "array_ok": true, - "edit_type": "plot", + "edit_type": "calc", "values": [ "normal", "word caps", @@ -76227,20 +60755,12 @@ }, "superclass": "EnumeratedValidator" }, - "pie.textfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "pie.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.textfont.style": { + "scatter.textfont.style": { "params": { "plotly_name": "style", - "parent_name": "pie.textfont", + "parent_name": "scatter.textfont", "array_ok": true, - "edit_type": "plot", + "edit_type": "calc", "values": [ "normal", "italic" @@ -76248,55 +60768,31 @@ }, "superclass": "EnumeratedValidator" }, - "pie.textfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "pie.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.textfont.size": { + "scatter.textfont.size": { "params": { "plotly_name": "size", - "parent_name": "pie.textfont", + "parent_name": "scatter.textfont", "array_ok": true, - "edit_type": "plot", + "edit_type": "calc", "min": 1 }, "superclass": "NumberValidator" }, - "pie.textfont.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "pie.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.textfont.shadow": { + "scatter.textfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "pie.textfont", + "parent_name": "scatter.textfont", "array_ok": true, - "edit_type": "plot" + "edit_type": "calc" }, "superclass": "StringValidator" }, - "pie.textfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "pie.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.textfont.lineposition": { + "scatter.textfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "pie.textfont", + "parent_name": "scatter.textfont", "array_ok": true, - "edit_type": "plot", + "edit_type": "calc", "extras": [ "none" ], @@ -76308,651 +60804,1097 @@ }, "superclass": "FlaglistValidator" }, - "pie.textfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "pie.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.textfont.family": { + "scatter.textfont.family": { "params": { "plotly_name": "family", - "parent_name": "pie.textfont", + "parent_name": "scatter.textfont", "array_ok": true, - "edit_type": "plot", + "edit_type": "calc", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "pie.textfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "pie.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.textfont.color": { + "scatter.textfont.color": { "params": { "plotly_name": "color", - "parent_name": "pie.textfont", + "parent_name": "scatter.textfont", "array_ok": true, - "edit_type": "plot" + "edit_type": "style" }, "superclass": "ColorValidator" }, - "pie.text": { + "scatter.text": { "params": { "plotly_name": "text", - "parent_name": "pie", - "edit_type": "plot" + "parent_name": "scatter", + "array_ok": true, + "edit_type": "calc" }, - "superclass": "DataArrayValidator" + "superclass": "StringValidator" }, - "pie.stream": { + "scatter.stackgroup": { "params": { - "plotly_name": "stream", - "parent_name": "pie", - "data_class_str": "Stream", - "data_docs": "\n" + "plotly_name": "stackgroup", + "parent_name": "scatter", + "edit_type": "calc" }, - "superclass": "CompoundValidator" + "superclass": "StringValidator" }, - "pie.stream.token": { + "scatter.stackgaps": { "params": { - "plotly_name": "token", - "parent_name": "pie.stream", + "plotly_name": "stackgaps", + "parent_name": "scatter", "edit_type": "calc", - "no_blank": true, - "strict": true + "values": [ + "infer zero", + "interpolate" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "pie.stream.maxpoints": { + "scatter.showlegend": { "params": { - "plotly_name": "maxpoints", - "parent_name": "pie.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 + "plotly_name": "showlegend", + "parent_name": "scatter", + "edit_type": "style" }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "pie.sort": { + "scatter.selectedpoints": { "params": { - "plotly_name": "sort", - "parent_name": "pie", + "plotly_name": "selectedpoints", + "parent_name": "scatter", "edit_type": "calc" }, - "superclass": "BooleanValidator" + "superclass": "AnyValidator" }, - "pie.showlegendsrc": { + "scatter.selected": { "params": { - "plotly_name": "showlegendsrc", - "parent_name": "pie", - "edit_type": "none" + "plotly_name": "selected", + "parent_name": "scatter", + "data_class_str": "Selected", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "pie.showlegend": { + "scatter.selected.textfont": { "params": { - "plotly_name": "showlegend", - "parent_name": "pie", - "array_ok": true, + "plotly_name": "textfont", + "parent_name": "scatter.selected", + "data_class_str": "Textfont", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "scatter.selected.textfont.color": { + "params": { + "plotly_name": "color", + "parent_name": "scatter.selected.textfont", "edit_type": "style" }, - "superclass": "BooleanValidator" + "superclass": "ColorValidator" }, - "pie.scalegroup": { + "scatter.selected.marker": { "params": { - "plotly_name": "scalegroup", - "parent_name": "pie", - "edit_type": "calc" + "plotly_name": "marker", + "parent_name": "scatter.selected", + "data_class_str": "Marker", + "data_docs": "\n" }, - "superclass": "StringValidator" + "superclass": "CompoundValidator" }, - "pie.rotation": { + "scatter.selected.marker.size": { "params": { - "plotly_name": "rotation", - "parent_name": "pie", - "edit_type": "calc" + "plotly_name": "size", + "parent_name": "scatter.selected.marker", + "edit_type": "style", + "min": 0 }, - "superclass": "AngleValidator" + "superclass": "NumberValidator" }, - "pie.pullsrc": { + "scatter.selected.marker.opacity": { "params": { - "plotly_name": "pullsrc", - "parent_name": "pie", - "edit_type": "none" + "plotly_name": "opacity", + "parent_name": "scatter.selected.marker", + "edit_type": "style", + "max": 1, + "min": 0 + }, + "superclass": "NumberValidator" + }, + "scatter.selected.marker.color": { + "params": { + "plotly_name": "color", + "parent_name": "scatter.selected.marker", + "edit_type": "style" + }, + "superclass": "ColorValidator" + }, + "scatter.orientation": { + "params": { + "plotly_name": "orientation", + "parent_name": "scatter", + "edit_type": "calc", + "values": [ + "v", + "h" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "pie.pull": { + "scatter.opacity": { "params": { - "plotly_name": "pull", - "parent_name": "pie", - "array_ok": true, - "edit_type": "calc", + "plotly_name": "opacity", + "parent_name": "scatter", + "edit_type": "style", "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "pie.outsidetextfont": { + "scatter.offsetgroup": { "params": { - "plotly_name": "outsidetextfont", - "parent_name": "pie", - "data_class_str": "Outsidetextfont", - "data_docs": "\n" + "plotly_name": "offsetgroup", + "parent_name": "scatter", + "edit_type": "calc" }, - "superclass": "CompoundValidator" + "superclass": "StringValidator" }, - "pie.outsidetextfont.weightsrc": { + "scatter.name": { "params": { - "plotly_name": "weightsrc", - "parent_name": "pie.outsidetextfont", - "edit_type": "none" + "plotly_name": "name", + "parent_name": "scatter", + "edit_type": "style" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "pie.outsidetextfont.weight": { + "scatter.mode": { "params": { - "plotly_name": "weight", - "parent_name": "pie.outsidetextfont", - "array_ok": true, - "edit_type": "plot", + "plotly_name": "mode", + "parent_name": "scatter", + "edit_type": "calc", "extras": [ - "normal", - "bold" + "none" ], - "max": 1000, - "min": 1 + "flags": [ + "lines", + "markers", + "text" + ] }, - "superclass": "IntegerValidator" + "superclass": "FlaglistValidator" }, - "pie.outsidetextfont.variantsrc": { + "scatter.meta": { "params": { - "plotly_name": "variantsrc", - "parent_name": "pie.outsidetextfont", - "edit_type": "none" + "plotly_name": "meta", + "parent_name": "scatter", + "array_ok": true, + "edit_type": "plot" }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "pie.outsidetextfont.variant": { + "scatter.marker": { "params": { - "plotly_name": "variant", - "parent_name": "pie.outsidetextfont", + "plotly_name": "marker", + "parent_name": "scatter", + "data_class_str": "Marker", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "scatter.marker.symbol": { + "params": { + "plotly_name": "symbol", + "parent_name": "scatter.marker", "array_ok": true, - "edit_type": "plot", + "edit_type": "style", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + 0, + "0", + "circle", + 100, + "100", + "circle-open", + 200, + "200", + "circle-dot", + 300, + "300", + "circle-open-dot", + 1, + "1", + "square", + 101, + "101", + "square-open", + 201, + "201", + "square-dot", + 301, + "301", + "square-open-dot", + 2, + "2", + "diamond", + 102, + "102", + "diamond-open", + 202, + "202", + "diamond-dot", + 302, + "302", + "diamond-open-dot", + 3, + "3", + "cross", + 103, + "103", + "cross-open", + 203, + "203", + "cross-dot", + 303, + "303", + "cross-open-dot", + 4, + "4", + "x", + 104, + "104", + "x-open", + 204, + "204", + "x-dot", + 304, + "304", + "x-open-dot", + 5, + "5", + "triangle-up", + 105, + "105", + "triangle-up-open", + 205, + "205", + "triangle-up-dot", + 305, + "305", + "triangle-up-open-dot", + 6, + "6", + "triangle-down", + 106, + "106", + "triangle-down-open", + 206, + "206", + "triangle-down-dot", + 306, + "306", + "triangle-down-open-dot", + 7, + "7", + "triangle-left", + 107, + "107", + "triangle-left-open", + 207, + "207", + "triangle-left-dot", + 307, + "307", + "triangle-left-open-dot", + 8, + "8", + "triangle-right", + 108, + "108", + "triangle-right-open", + 208, + "208", + "triangle-right-dot", + 308, + "308", + "triangle-right-open-dot", + 9, + "9", + "triangle-ne", + 109, + "109", + "triangle-ne-open", + 209, + "209", + "triangle-ne-dot", + 309, + "309", + "triangle-ne-open-dot", + 10, + "10", + "triangle-se", + 110, + "110", + "triangle-se-open", + 210, + "210", + "triangle-se-dot", + 310, + "310", + "triangle-se-open-dot", + 11, + "11", + "triangle-sw", + 111, + "111", + "triangle-sw-open", + 211, + "211", + "triangle-sw-dot", + 311, + "311", + "triangle-sw-open-dot", + 12, + "12", + "triangle-nw", + 112, + "112", + "triangle-nw-open", + 212, + "212", + "triangle-nw-dot", + 312, + "312", + "triangle-nw-open-dot", + 13, + "13", + "pentagon", + 113, + "113", + "pentagon-open", + 213, + "213", + "pentagon-dot", + 313, + "313", + "pentagon-open-dot", + 14, + "14", + "hexagon", + 114, + "114", + "hexagon-open", + 214, + "214", + "hexagon-dot", + 314, + "314", + "hexagon-open-dot", + 15, + "15", + "hexagon2", + 115, + "115", + "hexagon2-open", + 215, + "215", + "hexagon2-dot", + 315, + "315", + "hexagon2-open-dot", + 16, + "16", + "octagon", + 116, + "116", + "octagon-open", + 216, + "216", + "octagon-dot", + 316, + "316", + "octagon-open-dot", + 17, + "17", + "star", + 117, + "117", + "star-open", + 217, + "217", + "star-dot", + 317, + "317", + "star-open-dot", + 18, + "18", + "hexagram", + 118, + "118", + "hexagram-open", + 218, + "218", + "hexagram-dot", + 318, + "318", + "hexagram-open-dot", + 19, + "19", + "star-triangle-up", + 119, + "119", + "star-triangle-up-open", + 219, + "219", + "star-triangle-up-dot", + 319, + "319", + "star-triangle-up-open-dot", + 20, + "20", + "star-triangle-down", + 120, + "120", + "star-triangle-down-open", + 220, + "220", + "star-triangle-down-dot", + 320, + "320", + "star-triangle-down-open-dot", + 21, + "21", + "star-square", + 121, + "121", + "star-square-open", + 221, + "221", + "star-square-dot", + 321, + "321", + "star-square-open-dot", + 22, + "22", + "star-diamond", + 122, + "122", + "star-diamond-open", + 222, + "222", + "star-diamond-dot", + 322, + "322", + "star-diamond-open-dot", + 23, + "23", + "diamond-tall", + 123, + "123", + "diamond-tall-open", + 223, + "223", + "diamond-tall-dot", + 323, + "323", + "diamond-tall-open-dot", + 24, + "24", + "diamond-wide", + 124, + "124", + "diamond-wide-open", + 224, + "224", + "diamond-wide-dot", + 324, + "324", + "diamond-wide-open-dot", + 25, + "25", + "hourglass", + 125, + "125", + "hourglass-open", + 26, + "26", + "bowtie", + 126, + "126", + "bowtie-open", + 27, + "27", + "circle-cross", + 127, + "127", + "circle-cross-open", + 28, + "28", + "circle-x", + 128, + "128", + "circle-x-open", + 29, + "29", + "square-cross", + 129, + "129", + "square-cross-open", + 30, + "30", + "square-x", + 130, + "130", + "square-x-open", + 31, + "31", + "diamond-cross", + 131, + "131", + "diamond-cross-open", + 32, + "32", + "diamond-x", + 132, + "132", + "diamond-x-open", + 33, + "33", + "cross-thin", + 133, + "133", + "cross-thin-open", + 34, + "34", + "x-thin", + 134, + "134", + "x-thin-open", + 35, + "35", + "asterisk", + 135, + "135", + "asterisk-open", + 36, + "36", + "hash", + 136, + "136", + "hash-open", + 236, + "236", + "hash-dot", + 336, + "336", + "hash-open-dot", + 37, + "37", + "y-up", + 137, + "137", + "y-up-open", + 38, + "38", + "y-down", + 138, + "138", + "y-down-open", + 39, + "39", + "y-left", + 139, + "139", + "y-left-open", + 40, + "40", + "y-right", + 140, + "140", + "y-right-open", + 41, + "41", + "line-ew", + 141, + "141", + "line-ew-open", + 42, + "42", + "line-ns", + 142, + "142", + "line-ns-open", + 43, + "43", + "line-ne", + 143, + "143", + "line-ne-open", + 44, + "44", + "line-nw", + 144, + "144", + "line-nw-open", + 45, + "45", + "arrow-up", + 145, + "145", + "arrow-up-open", + 46, + "46", + "arrow-down", + 146, + "146", + "arrow-down-open", + 47, + "47", + "arrow-left", + 147, + "147", + "arrow-left-open", + 48, + "48", + "arrow-right", + 148, + "148", + "arrow-right-open", + 49, + "49", + "arrow-bar-up", + 149, + "149", + "arrow-bar-up-open", + 50, + "50", + "arrow-bar-down", + 150, + "150", + "arrow-bar-down-open", + 51, + "51", + "arrow-bar-left", + 151, + "151", + "arrow-bar-left-open", + 52, + "52", + "arrow-bar-right", + 152, + "152", + "arrow-bar-right-open", + 53, + "53", + "arrow", + 153, + "153", + "arrow-open", + 54, + "54", + "arrow-wide", + 154, + "154", + "arrow-wide-open" ] }, "superclass": "EnumeratedValidator" }, - "pie.outsidetextfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "pie.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.outsidetextfont.textcase": { + "scatter.marker.standoff": { "params": { - "plotly_name": "textcase", - "parent_name": "pie.outsidetextfont", + "plotly_name": "standoff", + "parent_name": "scatter.marker", + "anim": true, "array_ok": true, "edit_type": "plot", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "pie.outsidetextfont.stylesrc": { + "scatter.marker.sizeref": { "params": { - "plotly_name": "stylesrc", - "parent_name": "pie.outsidetextfont", - "edit_type": "none" + "plotly_name": "sizeref", + "parent_name": "scatter.marker", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "pie.outsidetextfont.style": { + "scatter.marker.sizemode": { "params": { - "plotly_name": "style", - "parent_name": "pie.outsidetextfont", - "array_ok": true, - "edit_type": "plot", + "plotly_name": "sizemode", + "parent_name": "scatter.marker", + "edit_type": "calc", "values": [ - "normal", - "italic" + "diameter", + "area" ] }, "superclass": "EnumeratedValidator" }, - "pie.outsidetextfont.sizesrc": { + "scatter.marker.sizemin": { "params": { - "plotly_name": "sizesrc", - "parent_name": "pie.outsidetextfont", - "edit_type": "none" + "plotly_name": "sizemin", + "parent_name": "scatter.marker", + "edit_type": "calc", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "pie.outsidetextfont.size": { + "scatter.marker.size": { "params": { "plotly_name": "size", - "parent_name": "pie.outsidetextfont", + "parent_name": "scatter.marker", + "anim": true, "array_ok": true, - "edit_type": "plot", - "min": 1 + "edit_type": "calc", + "min": 0 }, "superclass": "NumberValidator" }, - "pie.outsidetextfont.shadowsrc": { + "scatter.marker.showscale": { "params": { - "plotly_name": "shadowsrc", - "parent_name": "pie.outsidetextfont", - "edit_type": "none" + "plotly_name": "showscale", + "parent_name": "scatter.marker", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "pie.outsidetextfont.shadow": { + "scatter.marker.reversescale": { "params": { - "plotly_name": "shadow", - "parent_name": "pie.outsidetextfont", - "array_ok": true, + "plotly_name": "reversescale", + "parent_name": "scatter.marker", "edit_type": "plot" }, - "superclass": "StringValidator" - }, - "pie.outsidetextfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "pie.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "pie.outsidetextfont.lineposition": { + "scatter.marker.opacity": { "params": { - "plotly_name": "lineposition", - "parent_name": "pie.outsidetextfont", + "plotly_name": "opacity", + "parent_name": "scatter.marker", + "anim": true, "array_ok": true, - "edit_type": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] - }, - "superclass": "FlaglistValidator" - }, - "pie.outsidetextfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "pie.outsidetextfont", - "edit_type": "none" + "edit_type": "style", + "max": 1, + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "pie.outsidetextfont.family": { + "scatter.marker.maxdisplayed": { "params": { - "plotly_name": "family", - "parent_name": "pie.outsidetextfont", - "array_ok": true, + "plotly_name": "maxdisplayed", + "parent_name": "scatter.marker", "edit_type": "plot", - "no_blank": true, - "strict": true + "min": 0 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "pie.outsidetextfont.colorsrc": { + "scatter.marker.line": { "params": { - "plotly_name": "colorsrc", - "parent_name": "pie.outsidetextfont", - "edit_type": "none" + "plotly_name": "line", + "parent_name": "scatter.marker", + "data_class_str": "Line", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "pie.outsidetextfont.color": { + "scatter.marker.line.width": { "params": { - "plotly_name": "color", - "parent_name": "pie.outsidetextfont", + "plotly_name": "width", + "parent_name": "scatter.marker.line", + "anim": true, "array_ok": true, - "edit_type": "plot" - }, - "superclass": "ColorValidator" - }, - "pie.opacity": { - "params": { - "plotly_name": "opacity", - "parent_name": "pie", "edit_type": "style", - "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "pie.name": { - "params": { - "plotly_name": "name", - "parent_name": "pie", - "edit_type": "style" - }, - "superclass": "StringValidator" - }, - "pie.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "pie", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.meta": { + "scatter.marker.line.reversescale": { "params": { - "plotly_name": "meta", - "parent_name": "pie", - "array_ok": true, + "plotly_name": "reversescale", + "parent_name": "scatter.marker.line", "edit_type": "plot" }, - "superclass": "AnyValidator" + "superclass": "BooleanValidator" }, - "pie.marker": { + "scatter.marker.line.dash": { "params": { - "plotly_name": "marker", - "parent_name": "pie", - "data_class_str": "Marker", - "data_docs": "\n" + "plotly_name": "dash", + "parent_name": "scatter.marker.line", + "array_ok": true, + "edit_type": "style", + "values": [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" + ] }, - "superclass": "CompoundValidator" + "superclass": "DashValidator" }, - "pie.marker.pattern": { + "scatter.marker.line.colorscale": { "params": { - "plotly_name": "pattern", - "parent_name": "pie.marker", - "data_class_str": "Pattern", - "data_docs": "\n" + "plotly_name": "colorscale", + "parent_name": "scatter.marker.line", + "edit_type": "calc", + "implied_edits": { + "autocolorscale": false + } }, - "superclass": "CompoundValidator" + "superclass": "ColorscaleValidator" }, - "pie.marker.pattern.soliditysrc": { + "scatter.marker.line.coloraxis": { "params": { - "plotly_name": "soliditysrc", - "parent_name": "pie.marker.pattern", - "edit_type": "none" + "plotly_name": "coloraxis", + "parent_name": "scatter.marker.line", + "dflt": null, + "edit_type": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" }, - "superclass": "SrcValidator" + "superclass": "SubplotidValidator" }, - "pie.marker.pattern.solidity": { + "scatter.marker.line.color": { "params": { - "plotly_name": "solidity", - "parent_name": "pie.marker.pattern", + "plotly_name": "color", + "parent_name": "scatter.marker.line", + "anim": true, "array_ok": true, "edit_type": "style", - "max": 1, - "min": 0 + "colorscale_path": "scatter.marker.line.colorscale" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "pie.marker.pattern.sizesrc": { + "scatter.marker.line.cmin": { "params": { - "plotly_name": "sizesrc", - "parent_name": "pie.marker.pattern", - "edit_type": "none" + "plotly_name": "cmin", + "parent_name": "scatter.marker.line", + "edit_type": "plot", + "implied_edits": { + "cauto": false + } }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "pie.marker.pattern.size": { + "scatter.marker.line.cmid": { "params": { - "plotly_name": "size", - "parent_name": "pie.marker.pattern", - "array_ok": true, - "edit_type": "style", - "min": 0 + "plotly_name": "cmid", + "parent_name": "scatter.marker.line", + "edit_type": "calc", + "implied_edits": {} }, "superclass": "NumberValidator" }, - "pie.marker.pattern.shapesrc": { + "scatter.marker.line.cmax": { "params": { - "plotly_name": "shapesrc", - "parent_name": "pie.marker.pattern", - "edit_type": "none" + "plotly_name": "cmax", + "parent_name": "scatter.marker.line", + "edit_type": "plot", + "implied_edits": { + "cauto": false + } }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "pie.marker.pattern.shape": { + "scatter.marker.line.cauto": { "params": { - "plotly_name": "shape", - "parent_name": "pie.marker.pattern", - "array_ok": true, - "edit_type": "style", - "values": [ - "", - "/", - "\\", - "x", - "-", - "|", - "+", - "." - ] + "plotly_name": "cauto", + "parent_name": "scatter.marker.line", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "EnumeratedValidator" + "superclass": "BooleanValidator" }, - "pie.marker.pattern.pathsrc": { + "scatter.marker.line.autocolorscale": { "params": { - "plotly_name": "pathsrc", - "parent_name": "pie.marker.pattern", - "edit_type": "none" + "plotly_name": "autocolorscale", + "parent_name": "scatter.marker.line", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "pie.marker.pattern.path": { + "scatter.marker.gradient": { "params": { - "plotly_name": "path", - "parent_name": "pie.marker.pattern", - "array_ok": true, - "edit_type": "style" + "plotly_name": "gradient", + "parent_name": "scatter.marker", + "data_class_str": "Gradient", + "data_docs": "\n" }, - "superclass": "StringValidator" + "superclass": "CompoundValidator" }, - "pie.marker.pattern.fillmode": { + "scatter.marker.gradient.type": { "params": { - "plotly_name": "fillmode", - "parent_name": "pie.marker.pattern", - "edit_type": "style", + "plotly_name": "type", + "parent_name": "scatter.marker.gradient", + "array_ok": true, + "edit_type": "calc", "values": [ - "replace", - "overlay" + "radial", + "horizontal", + "vertical", + "none" ] }, "superclass": "EnumeratedValidator" }, - "pie.marker.pattern.fgopacity": { - "params": { - "plotly_name": "fgopacity", - "parent_name": "pie.marker.pattern", - "edit_type": "style", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "pie.marker.pattern.fgcolorsrc": { - "params": { - "plotly_name": "fgcolorsrc", - "parent_name": "pie.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.marker.pattern.fgcolor": { + "scatter.marker.gradient.color": { "params": { - "plotly_name": "fgcolor", - "parent_name": "pie.marker.pattern", + "plotly_name": "color", + "parent_name": "scatter.marker.gradient", "array_ok": true, - "edit_type": "style" + "edit_type": "calc" }, "superclass": "ColorValidator" }, - "pie.marker.pattern.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "pie.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.marker.pattern.bgcolor": { + "scatter.marker.colorscale": { "params": { - "plotly_name": "bgcolor", - "parent_name": "pie.marker.pattern", - "array_ok": true, - "edit_type": "style" + "plotly_name": "colorscale", + "parent_name": "scatter.marker", + "edit_type": "calc", + "implied_edits": { + "autocolorscale": false + } }, - "superclass": "ColorValidator" + "superclass": "ColorscaleValidator" }, - "pie.marker.line": { + "scatter.marker.colorbar": { "params": { - "plotly_name": "line", - "parent_name": "pie.marker", - "data_class_str": "Line", + "plotly_name": "colorbar", + "parent_name": "scatter.marker", + "data_class_str": "ColorBar", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "pie.marker.line.widthsrc": { + "scatter.marker.colorbar.yref": { "params": { - "plotly_name": "widthsrc", - "parent_name": "pie.marker.line", - "edit_type": "none" + "plotly_name": "yref", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "container", + "paper" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "pie.marker.line.width": { + "scatter.marker.colorbar.ypad": { "params": { - "plotly_name": "width", - "parent_name": "pie.marker.line", - "array_ok": true, - "edit_type": "style", + "plotly_name": "ypad", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "pie.marker.line.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "pie.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.marker.line.color": { + "scatter.marker.colorbar.yanchor": { "params": { - "plotly_name": "color", - "parent_name": "pie.marker.line", - "array_ok": true, - "edit_type": "style" + "plotly_name": "yanchor", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "top", + "middle", + "bottom" + ] }, - "superclass": "ColorValidator" + "superclass": "EnumeratedValidator" }, - "pie.marker.colorssrc": { + "scatter.marker.colorbar.y": { "params": { - "plotly_name": "colorssrc", - "parent_name": "pie.marker", - "edit_type": "none" + "plotly_name": "y", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "pie.marker.colors": { + "scatter.marker.colorbar.xref": { "params": { - "plotly_name": "colors", - "parent_name": "pie.marker", - "edit_type": "calc" + "plotly_name": "xref", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "container", + "paper" + ] }, - "superclass": "DataArrayValidator" + "superclass": "EnumeratedValidator" }, - "pie.legendwidth": { + "scatter.marker.colorbar.xpad": { "params": { - "plotly_name": "legendwidth", - "parent_name": "pie", - "edit_type": "style", + "plotly_name": "xpad", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "pie.legendsrc": { - "params": { - "plotly_name": "legendsrc", - "parent_name": "pie", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.legendranksrc": { + "scatter.marker.colorbar.xanchor": { "params": { - "plotly_name": "legendranksrc", - "parent_name": "pie", - "edit_type": "none" + "plotly_name": "xanchor", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "left", + "center", + "right" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "pie.legendrank": { - "params": { - "plotly_name": "legendrank", - "parent_name": "pie", - "array_ok": true, - "edit_type": "style" + "scatter.marker.colorbar.x": { + "params": { + "plotly_name": "x", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars" }, "superclass": "NumberValidator" }, - "pie.legendgrouptitle": { + "scatter.marker.colorbar.title": { "params": { - "plotly_name": "legendgrouptitle", - "parent_name": "pie", - "data_class_str": "Legendgrouptitle", + "plotly_name": "title", + "parent_name": "scatter.marker.colorbar", + "data_class_str": "Title", "data_docs": "\n" }, - "superclass": "CompoundValidator" + "superclass": "TitleValidator" }, - "pie.legendgrouptitle.text": { + "scatter.marker.colorbar.title.text": { "params": { "plotly_name": "text", - "parent_name": "pie.legendgrouptitle", - "edit_type": "style" + "parent_name": "scatter.marker.colorbar.title", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "pie.legendgrouptitle.font": { + "scatter.marker.colorbar.title.side": { + "params": { + "plotly_name": "side", + "parent_name": "scatter.marker.colorbar.title", + "edit_type": "colorbars", + "values": [ + "right", + "top", + "bottom" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scatter.marker.colorbar.title.font": { "params": { "plotly_name": "font", - "parent_name": "pie.legendgrouptitle", + "parent_name": "scatter.marker.colorbar.title", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "pie.legendgrouptitle.font.weight": { + "scatter.marker.colorbar.title.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "pie.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "scatter.marker.colorbar.title.font", + "edit_type": "colorbars", "extras": [ "normal", "bold" @@ -76962,11 +61904,11 @@ }, "superclass": "IntegerValidator" }, - "pie.legendgrouptitle.font.variant": { + "scatter.marker.colorbar.title.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "pie.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "scatter.marker.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "small-caps", @@ -76978,11 +61920,11 @@ }, "superclass": "EnumeratedValidator" }, - "pie.legendgrouptitle.font.textcase": { + "scatter.marker.colorbar.title.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "pie.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "scatter.marker.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "word caps", @@ -76992,11 +61934,11 @@ }, "superclass": "EnumeratedValidator" }, - "pie.legendgrouptitle.font.style": { + "scatter.marker.colorbar.title.font.style": { "params": { "plotly_name": "style", - "parent_name": "pie.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "scatter.marker.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "italic" @@ -77004,28 +61946,28 @@ }, "superclass": "EnumeratedValidator" }, - "pie.legendgrouptitle.font.size": { + "scatter.marker.colorbar.title.font.size": { "params": { "plotly_name": "size", - "parent_name": "pie.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "scatter.marker.colorbar.title.font", + "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "pie.legendgrouptitle.font.shadow": { + "scatter.marker.colorbar.title.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "pie.legendgrouptitle.font", - "edit_type": "style" + "parent_name": "scatter.marker.colorbar.title.font", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "pie.legendgrouptitle.font.lineposition": { + "scatter.marker.colorbar.title.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "pie.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "scatter.marker.colorbar.title.font", + "edit_type": "colorbars", "extras": [ "none" ], @@ -77037,103 +61979,233 @@ }, "superclass": "FlaglistValidator" }, - "pie.legendgrouptitle.font.family": { + "scatter.marker.colorbar.title.font.family": { "params": { "plotly_name": "family", - "parent_name": "pie.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "scatter.marker.colorbar.title.font", + "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "pie.legendgrouptitle.font.color": { + "scatter.marker.colorbar.title.font.color": { "params": { "plotly_name": "color", - "parent_name": "pie.legendgrouptitle.font", - "edit_type": "style" + "parent_name": "scatter.marker.colorbar.title.font", + "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "pie.legendgroup": { + "scatter.marker.colorbar.tickwidth": { "params": { - "plotly_name": "legendgroup", - "parent_name": "pie", - "edit_type": "style" + "plotly_name": "tickwidth", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "scatter.marker.colorbar.tickvals": { + "params": { + "plotly_name": "tickvals", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars" + }, + "superclass": "DataArrayValidator" + }, + "scatter.marker.colorbar.ticktext": { + "params": { + "plotly_name": "ticktext", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars" + }, + "superclass": "DataArrayValidator" + }, + "scatter.marker.colorbar.ticksuffix": { + "params": { + "plotly_name": "ticksuffix", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "pie.legend": { + "scatter.marker.colorbar.ticks": { "params": { - "plotly_name": "legend", - "parent_name": "pie", - "array_ok": true, - "dflt": "legend", - "edit_type": "style" + "plotly_name": "ticks", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "outside", + "inside", + "" + ] }, - "superclass": "SubplotidValidator" + "superclass": "EnumeratedValidator" }, - "pie.labelssrc": { + "scatter.marker.colorbar.tickprefix": { "params": { - "plotly_name": "labelssrc", - "parent_name": "pie", - "edit_type": "none" + "plotly_name": "tickprefix", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "pie.labels": { + "scatter.marker.colorbar.tickmode": { "params": { - "plotly_name": "labels", - "parent_name": "pie", - "edit_type": "calc" + "plotly_name": "tickmode", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", + "implied_edits": {}, + "values": [ + "auto", + "linear", + "array" + ] }, - "superclass": "DataArrayValidator" + "superclass": "EnumeratedValidator" }, - "pie.label0": { + "scatter.marker.colorbar.ticklen": { "params": { - "plotly_name": "label0", - "parent_name": "pie", - "edit_type": "calc" + "plotly_name": "ticklen", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, "superclass": "NumberValidator" }, - "pie.insidetextorientation": { + "scatter.marker.colorbar.ticklabelstep": { "params": { - "plotly_name": "insidetextorientation", - "parent_name": "pie", - "edit_type": "plot", + "plotly_name": "ticklabelstep", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", + "min": 1 + }, + "superclass": "IntegerValidator" + }, + "scatter.marker.colorbar.ticklabelposition": { + "params": { + "plotly_name": "ticklabelposition", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", "values": [ - "horizontal", - "radial", - "tangential", - "auto" + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom" ] }, "superclass": "EnumeratedValidator" }, - "pie.insidetextfont": { + "scatter.marker.colorbar.ticklabeloverflow": { "params": { - "plotly_name": "insidetextfont", - "parent_name": "pie", - "data_class_str": "Insidetextfont", + "plotly_name": "ticklabeloverflow", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "allow", + "hide past div", + "hide past domain" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scatter.marker.colorbar.tickformatstopdefaults": { + "params": { + "plotly_name": "tickformatstopdefaults", + "parent_name": "scatter.marker.colorbar", + "data_class_str": "Tickformatstop", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "pie.insidetextfont.weightsrc": { + "scatter.marker.colorbar.tickformatstops": { "params": { - "plotly_name": "weightsrc", - "parent_name": "pie.insidetextfont", - "edit_type": "none" + "plotly_name": "tickformatstops", + "parent_name": "scatter.marker.colorbar", + "data_class_str": "Tickformatstop", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundArrayValidator" }, - "pie.insidetextfont.weight": { + "scatter.marker.colorbar.tickformatstop.value": { + "params": { + "plotly_name": "value", + "parent_name": "scatter.marker.colorbar.tickformatstop", + "edit_type": "colorbars" + }, + "superclass": "StringValidator" + }, + "scatter.marker.colorbar.tickformatstop.templateitemname": { + "params": { + "plotly_name": "templateitemname", + "parent_name": "scatter.marker.colorbar.tickformatstop", + "edit_type": "colorbars" + }, + "superclass": "StringValidator" + }, + "scatter.marker.colorbar.tickformatstop.name": { + "params": { + "plotly_name": "name", + "parent_name": "scatter.marker.colorbar.tickformatstop", + "edit_type": "colorbars" + }, + "superclass": "StringValidator" + }, + "scatter.marker.colorbar.tickformatstop.enabled": { + "params": { + "plotly_name": "enabled", + "parent_name": "scatter.marker.colorbar.tickformatstop", + "edit_type": "colorbars" + }, + "superclass": "BooleanValidator" + }, + "scatter.marker.colorbar.tickformatstop.dtickrange": { + "params": { + "plotly_name": "dtickrange", + "parent_name": "scatter.marker.colorbar.tickformatstop", + "edit_type": "colorbars", + "items": [ + { + "editType": "colorbars", + "valType": "any" + }, + { + "editType": "colorbars", + "valType": "any" + } + ] + }, + "superclass": "InfoArrayValidator" + }, + "scatter.marker.colorbar.tickformat": { + "params": { + "plotly_name": "tickformat", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars" + }, + "superclass": "StringValidator" + }, + "scatter.marker.colorbar.tickfont": { + "params": { + "plotly_name": "tickfont", + "parent_name": "scatter.marker.colorbar", + "data_class_str": "Tickfont", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "scatter.marker.colorbar.tickfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "pie.insidetextfont", - "array_ok": true, - "edit_type": "plot", + "parent_name": "scatter.marker.colorbar.tickfont", + "edit_type": "colorbars", "extras": [ "normal", "bold" @@ -77143,20 +62215,11 @@ }, "superclass": "IntegerValidator" }, - "pie.insidetextfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "pie.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.insidetextfont.variant": { + "scatter.marker.colorbar.tickfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "pie.insidetextfont", - "array_ok": true, - "edit_type": "plot", + "parent_name": "scatter.marker.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "small-caps", @@ -77168,20 +62231,11 @@ }, "superclass": "EnumeratedValidator" }, - "pie.insidetextfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "pie.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.insidetextfont.textcase": { + "scatter.marker.colorbar.tickfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "pie.insidetextfont", - "array_ok": true, - "edit_type": "plot", + "parent_name": "scatter.marker.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "word caps", @@ -77191,20 +62245,11 @@ }, "superclass": "EnumeratedValidator" }, - "pie.insidetextfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "pie.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.insidetextfont.style": { + "scatter.marker.colorbar.tickfont.style": { "params": { "plotly_name": "style", - "parent_name": "pie.insidetextfont", - "array_ok": true, - "edit_type": "plot", + "parent_name": "scatter.marker.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "italic" @@ -77212,55 +62257,28 @@ }, "superclass": "EnumeratedValidator" }, - "pie.insidetextfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "pie.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.insidetextfont.size": { + "scatter.marker.colorbar.tickfont.size": { "params": { "plotly_name": "size", - "parent_name": "pie.insidetextfont", - "array_ok": true, - "edit_type": "plot", + "parent_name": "scatter.marker.colorbar.tickfont", + "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "pie.insidetextfont.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "pie.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.insidetextfont.shadow": { + "scatter.marker.colorbar.tickfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "pie.insidetextfont", - "array_ok": true, - "edit_type": "plot" + "parent_name": "scatter.marker.colorbar.tickfont", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "pie.insidetextfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "pie.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.insidetextfont.lineposition": { + "scatter.marker.colorbar.tickfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "pie.insidetextfont", - "array_ok": true, - "edit_type": "plot", + "parent_name": "scatter.marker.colorbar.tickfont", + "edit_type": "colorbars", "extras": [ "none" ], @@ -77272,630 +62290,488 @@ }, "superclass": "FlaglistValidator" }, - "pie.insidetextfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "pie.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.insidetextfont.family": { + "scatter.marker.colorbar.tickfont.family": { "params": { "plotly_name": "family", - "parent_name": "pie.insidetextfont", - "array_ok": true, - "edit_type": "plot", + "parent_name": "scatter.marker.colorbar.tickfont", + "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "pie.insidetextfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "pie.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.insidetextfont.color": { + "scatter.marker.colorbar.tickfont.color": { "params": { "plotly_name": "color", - "parent_name": "pie.insidetextfont", - "array_ok": true, - "edit_type": "plot" + "parent_name": "scatter.marker.colorbar.tickfont", + "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "pie.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "pie", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.ids": { - "params": { - "plotly_name": "ids", - "parent_name": "pie", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "pie.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "pie", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.hovertext": { - "params": { - "plotly_name": "hovertext", - "parent_name": "pie", - "array_ok": true, - "edit_type": "style" - }, - "superclass": "StringValidator" - }, - "pie.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "pie", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.hovertemplatefallback": { - "params": { - "plotly_name": "hovertemplatefallback", - "parent_name": "pie", - "edit_type": "none" - }, - "superclass": "AnyValidator" - }, - "pie.hovertemplate": { - "params": { - "plotly_name": "hovertemplate", - "parent_name": "pie", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "StringValidator" - }, - "pie.hoverlabel": { - "params": { - "plotly_name": "hoverlabel", - "parent_name": "pie", - "data_class_str": "Hoverlabel", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "pie.hoverlabel.showarrow": { - "params": { - "plotly_name": "showarrow", - "parent_name": "pie.hoverlabel", - "edit_type": "none" - }, - "superclass": "BooleanValidator" - }, - "pie.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "pie.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.hoverlabel.namelength": { - "params": { - "plotly_name": "namelength", - "parent_name": "pie.hoverlabel", - "array_ok": true, - "edit_type": "none", - "min": -1 - }, - "superclass": "IntegerValidator" - }, - "pie.hoverlabel.font": { - "params": { - "plotly_name": "font", - "parent_name": "pie.hoverlabel", - "data_class_str": "Font", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "pie.hoverlabel.font.weightsrc": { + "scatter.marker.colorbar.tickcolor": { "params": { - "plotly_name": "weightsrc", - "parent_name": "pie.hoverlabel.font", - "edit_type": "none" + "plotly_name": "tickcolor", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "pie.hoverlabel.font.weight": { + "scatter.marker.colorbar.tickangle": { "params": { - "plotly_name": "weight", - "parent_name": "pie.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 + "plotly_name": "tickangle", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "IntegerValidator" + "superclass": "AngleValidator" }, - "pie.hoverlabel.font.variantsrc": { + "scatter.marker.colorbar.tick0": { "params": { - "plotly_name": "variantsrc", - "parent_name": "pie.hoverlabel.font", - "edit_type": "none" + "plotly_name": "tick0", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", + "implied_edits": { + "tickmode": "linear" + } }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "pie.hoverlabel.font.variant": { + "scatter.marker.colorbar.thicknessmode": { "params": { - "plotly_name": "variant", - "parent_name": "pie.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "plotly_name": "thicknessmode", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "fraction", + "pixels" ] }, "superclass": "EnumeratedValidator" }, - "pie.hoverlabel.font.textcasesrc": { + "scatter.marker.colorbar.thickness": { "params": { - "plotly_name": "textcasesrc", - "parent_name": "pie.hoverlabel.font", - "edit_type": "none" + "plotly_name": "thickness", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "pie.hoverlabel.font.textcase": { + "scatter.marker.colorbar.showticksuffix": { "params": { - "plotly_name": "textcase", - "parent_name": "pie.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "plotly_name": "showticksuffix", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", "values": [ - "normal", - "word caps", - "upper", - "lower" + "all", + "first", + "last", + "none" ] }, "superclass": "EnumeratedValidator" }, - "pie.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "pie.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "pie.hoverlabel.font.style": { + "scatter.marker.colorbar.showtickprefix": { "params": { - "plotly_name": "style", - "parent_name": "pie.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "plotly_name": "showtickprefix", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", "values": [ - "normal", - "italic" + "all", + "first", + "last", + "none" ] }, "superclass": "EnumeratedValidator" }, - "pie.hoverlabel.font.sizesrc": { + "scatter.marker.colorbar.showticklabels": { "params": { - "plotly_name": "sizesrc", - "parent_name": "pie.hoverlabel.font", - "edit_type": "none" + "plotly_name": "showticklabels", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "pie.hoverlabel.font.size": { + "scatter.marker.colorbar.showexponent": { "params": { - "plotly_name": "size", - "parent_name": "pie.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "min": 1 + "plotly_name": "showexponent", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "pie.hoverlabel.font.shadowsrc": { + "scatter.marker.colorbar.separatethousands": { "params": { - "plotly_name": "shadowsrc", - "parent_name": "pie.hoverlabel.font", - "edit_type": "none" + "plotly_name": "separatethousands", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "pie.hoverlabel.font.shadow": { + "scatter.marker.colorbar.outlinewidth": { "params": { - "plotly_name": "shadow", - "parent_name": "pie.hoverlabel.font", - "array_ok": true, - "edit_type": "none" + "plotly_name": "outlinewidth", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "pie.hoverlabel.font.linepositionsrc": { + "scatter.marker.colorbar.outlinecolor": { "params": { - "plotly_name": "linepositionsrc", - "parent_name": "pie.hoverlabel.font", - "edit_type": "none" + "plotly_name": "outlinecolor", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "pie.hoverlabel.font.lineposition": { + "scatter.marker.colorbar.orientation": { "params": { - "plotly_name": "lineposition", - "parent_name": "pie.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" + "plotly_name": "orientation", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "h", + "v" ] }, - "superclass": "FlaglistValidator" + "superclass": "EnumeratedValidator" }, - "pie.hoverlabel.font.familysrc": { + "scatter.marker.colorbar.nticks": { "params": { - "plotly_name": "familysrc", - "parent_name": "pie.hoverlabel.font", - "edit_type": "none" + "plotly_name": "nticks", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "IntegerValidator" }, - "pie.hoverlabel.font.family": { + "scatter.marker.colorbar.minexponent": { "params": { - "plotly_name": "family", - "parent_name": "pie.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "no_blank": true, - "strict": true + "plotly_name": "minexponent", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "pie.hoverlabel.font.colorsrc": { + "scatter.marker.colorbar.lenmode": { "params": { - "plotly_name": "colorsrc", - "parent_name": "pie.hoverlabel.font", - "edit_type": "none" + "plotly_name": "lenmode", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "fraction", + "pixels" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "pie.hoverlabel.font.color": { + "scatter.marker.colorbar.len": { "params": { - "plotly_name": "color", - "parent_name": "pie.hoverlabel.font", - "array_ok": true, - "edit_type": "none" + "plotly_name": "len", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "ColorValidator" + "superclass": "NumberValidator" }, - "pie.hoverlabel.bordercolorsrc": { + "scatter.marker.colorbar.labelalias": { "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "pie.hoverlabel", - "edit_type": "none" + "plotly_name": "labelalias", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "pie.hoverlabel.bordercolor": { + "scatter.marker.colorbar.exponentformat": { "params": { - "plotly_name": "bordercolor", - "parent_name": "pie.hoverlabel", - "array_ok": true, - "edit_type": "none" + "plotly_name": "exponentformat", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B", + "SI extended" + ] }, - "superclass": "ColorValidator" + "superclass": "EnumeratedValidator" }, - "pie.hoverlabel.bgcolorsrc": { + "scatter.marker.colorbar.dtick": { "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "pie.hoverlabel", - "edit_type": "none" + "plotly_name": "dtick", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", + "implied_edits": { + "tickmode": "linear" + } }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "pie.hoverlabel.bgcolor": { + "scatter.marker.colorbar.borderwidth": { "params": { - "plotly_name": "bgcolor", - "parent_name": "pie.hoverlabel", - "array_ok": true, - "edit_type": "none" + "plotly_name": "borderwidth", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "ColorValidator" + "superclass": "NumberValidator" }, - "pie.hoverlabel.alignsrc": { + "scatter.marker.colorbar.bordercolor": { "params": { - "plotly_name": "alignsrc", - "parent_name": "pie.hoverlabel", - "edit_type": "none" + "plotly_name": "bordercolor", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "pie.hoverlabel.align": { + "scatter.marker.colorbar.bgcolor": { "params": { - "plotly_name": "align", - "parent_name": "pie.hoverlabel", - "array_ok": true, - "edit_type": "none", - "values": [ - "left", - "right", - "auto" - ] + "plotly_name": "bgcolor", + "parent_name": "scatter.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "EnumeratedValidator" + "superclass": "ColorValidator" }, - "pie.hoverinfosrc": { + "scatter.marker.coloraxis": { "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "pie", - "edit_type": "none" + "plotly_name": "coloraxis", + "parent_name": "scatter.marker", + "dflt": null, + "edit_type": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" }, - "superclass": "SrcValidator" + "superclass": "SubplotidValidator" }, - "pie.hoverinfo": { + "scatter.marker.color": { "params": { - "plotly_name": "hoverinfo", - "parent_name": "pie", + "plotly_name": "color", + "parent_name": "scatter.marker", + "anim": true, "array_ok": true, - "edit_type": "none", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "label", - "text", - "value", - "percent", - "name" - ] + "edit_type": "style", + "colorscale_path": "scatter.marker.colorscale" }, - "superclass": "FlaglistValidator" + "superclass": "ColorValidator" }, - "pie.hole": { + "scatter.marker.cmin": { "params": { - "plotly_name": "hole", - "parent_name": "pie", - "edit_type": "calc", - "max": 1, - "min": 0 + "plotly_name": "cmin", + "parent_name": "scatter.marker", + "edit_type": "plot", + "implied_edits": { + "cauto": false + } }, "superclass": "NumberValidator" }, - "pie.domain": { + "scatter.marker.cmid": { "params": { - "plotly_name": "domain", - "parent_name": "pie", - "data_class_str": "Domain", - "data_docs": "\n" + "plotly_name": "cmid", + "parent_name": "scatter.marker", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "CompoundValidator" + "superclass": "NumberValidator" }, - "pie.domain.y": { + "scatter.marker.cmax": { "params": { - "plotly_name": "y", - "parent_name": "pie.domain", - "edit_type": "calc", - "items": [ - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - } - ] + "plotly_name": "cmax", + "parent_name": "scatter.marker", + "edit_type": "plot", + "implied_edits": { + "cauto": false + } }, - "superclass": "InfoArrayValidator" + "superclass": "NumberValidator" }, - "pie.domain.x": { + "scatter.marker.cauto": { "params": { - "plotly_name": "x", - "parent_name": "pie.domain", + "plotly_name": "cauto", + "parent_name": "scatter.marker", "edit_type": "calc", - "items": [ - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - } - ] + "implied_edits": {} }, - "superclass": "InfoArrayValidator" + "superclass": "BooleanValidator" }, - "pie.domain.row": { + "scatter.marker.autocolorscale": { "params": { - "plotly_name": "row", - "parent_name": "pie.domain", + "plotly_name": "autocolorscale", + "parent_name": "scatter.marker", "edit_type": "calc", - "min": 0 + "implied_edits": {} }, - "superclass": "IntegerValidator" + "superclass": "BooleanValidator" }, - "pie.domain.column": { + "scatter.marker.angleref": { "params": { - "plotly_name": "column", - "parent_name": "pie.domain", - "edit_type": "calc", - "min": 0 + "plotly_name": "angleref", + "parent_name": "scatter.marker", + "anim": false, + "edit_type": "plot", + "values": [ + "previous", + "up" + ] }, - "superclass": "IntegerValidator" + "superclass": "EnumeratedValidator" }, - "pie.dlabel": { + "scatter.marker.angle": { "params": { - "plotly_name": "dlabel", - "parent_name": "pie", - "edit_type": "calc" + "plotly_name": "angle", + "parent_name": "scatter.marker", + "anim": false, + "array_ok": true, + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "AngleValidator" }, - "pie.direction": { + "scatter.line": { "params": { - "plotly_name": "direction", - "parent_name": "pie", - "edit_type": "calc", - "values": [ - "clockwise", - "counterclockwise" - ] + "plotly_name": "line", + "parent_name": "scatter", + "data_class_str": "Line", + "data_docs": "\n" }, - "superclass": "EnumeratedValidator" + "superclass": "CompoundValidator" }, - "pie.customdatasrc": { + "scatter.line.width": { "params": { - "plotly_name": "customdatasrc", - "parent_name": "pie", - "edit_type": "none" + "plotly_name": "width", + "parent_name": "scatter.line", + "anim": true, + "edit_type": "style", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "pie.customdata": { + "scatter.line.smoothing": { "params": { - "plotly_name": "customdata", - "parent_name": "pie", - "edit_type": "calc" + "plotly_name": "smoothing", + "parent_name": "scatter.line", + "edit_type": "plot", + "max": 1.3, + "min": 0 }, - "superclass": "DataArrayValidator" + "superclass": "NumberValidator" }, - "pie.automargin": { + "scatter.line.simplify": { "params": { - "plotly_name": "automargin", - "parent_name": "pie", + "plotly_name": "simplify", + "parent_name": "scatter.line", "edit_type": "plot" }, "superclass": "BooleanValidator" }, - "parcoords": { + "scatter.line.shape": { "params": { - "plotly_name": "parcoords", - "parent_name": "", - "data_class_str": "Parcoords", - "data_docs": "\n" + "plotly_name": "shape", + "parent_name": "scatter.line", + "edit_type": "plot", + "values": [ + "linear", + "spline", + "hv", + "vh", + "hvh", + "vhv" + ] }, - "superclass": "CompoundValidator" + "superclass": "EnumeratedValidator" }, - "parcoords.visible": { + "scatter.line.dash": { "params": { - "plotly_name": "visible", - "parent_name": "parcoords", - "edit_type": "calc", + "plotly_name": "dash", + "parent_name": "scatter.line", + "edit_type": "style", "values": [ - true, - false, - "legendonly" + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" ] }, - "superclass": "EnumeratedValidator" + "superclass": "DashValidator" }, - "parcoords.unselected": { + "scatter.line.color": { "params": { - "plotly_name": "unselected", - "parent_name": "parcoords", - "data_class_str": "Unselected", - "data_docs": "\n" + "plotly_name": "color", + "parent_name": "scatter.line", + "anim": true, + "edit_type": "style" }, - "superclass": "CompoundValidator" + "superclass": "ColorValidator" }, - "parcoords.unselected.line": { + "scatter.line.backoff": { "params": { - "plotly_name": "line", - "parent_name": "parcoords.unselected", - "data_class_str": "Line", - "data_docs": "\n" + "plotly_name": "backoff", + "parent_name": "scatter.line", + "array_ok": true, + "edit_type": "plot", + "min": 0 }, - "superclass": "CompoundValidator" + "superclass": "NumberValidator" }, - "parcoords.unselected.line.opacity": { + "scatter.legendwidth": { "params": { - "plotly_name": "opacity", - "parent_name": "parcoords.unselected.line", - "edit_type": "plot", - "max": 1, + "plotly_name": "legendwidth", + "parent_name": "scatter", + "edit_type": "style", "min": 0 }, "superclass": "NumberValidator" }, - "parcoords.unselected.line.color": { + "scatter.legendrank": { "params": { - "plotly_name": "color", - "parent_name": "parcoords.unselected.line", - "edit_type": "plot" + "plotly_name": "legendrank", + "parent_name": "scatter", + "edit_type": "style" }, - "superclass": "ColorValidator" + "superclass": "NumberValidator" }, - "parcoords.uirevision": { + "scatter.legendgrouptitle": { "params": { - "plotly_name": "uirevision", - "parent_name": "parcoords", - "edit_type": "none" + "plotly_name": "legendgrouptitle", + "parent_name": "scatter", + "data_class_str": "Legendgrouptitle", + "data_docs": "\n" }, - "superclass": "AnyValidator" + "superclass": "CompoundValidator" }, - "parcoords.uid": { + "scatter.legendgrouptitle.text": { "params": { - "plotly_name": "uid", - "parent_name": "parcoords", - "edit_type": "plot" + "plotly_name": "text", + "parent_name": "scatter.legendgrouptitle", + "edit_type": "style" }, "superclass": "StringValidator" }, - "parcoords.tickfont": { + "scatter.legendgrouptitle.font": { "params": { - "plotly_name": "tickfont", - "parent_name": "parcoords", - "data_class_str": "Tickfont", + "plotly_name": "font", + "parent_name": "scatter.legendgrouptitle", + "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "parcoords.tickfont.weight": { + "scatter.legendgrouptitle.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "parcoords.tickfont", - "edit_type": "plot", + "parent_name": "scatter.legendgrouptitle.font", + "edit_type": "style", "extras": [ "normal", "bold" @@ -77905,11 +62781,11 @@ }, "superclass": "IntegerValidator" }, - "parcoords.tickfont.variant": { + "scatter.legendgrouptitle.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "parcoords.tickfont", - "edit_type": "plot", + "parent_name": "scatter.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "small-caps", @@ -77921,11 +62797,11 @@ }, "superclass": "EnumeratedValidator" }, - "parcoords.tickfont.textcase": { + "scatter.legendgrouptitle.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "parcoords.tickfont", - "edit_type": "plot", + "parent_name": "scatter.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "word caps", @@ -77935,11 +62811,11 @@ }, "superclass": "EnumeratedValidator" }, - "parcoords.tickfont.style": { + "scatter.legendgrouptitle.font.style": { "params": { "plotly_name": "style", - "parent_name": "parcoords.tickfont", - "edit_type": "plot", + "parent_name": "scatter.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "italic" @@ -77947,28 +62823,28 @@ }, "superclass": "EnumeratedValidator" }, - "parcoords.tickfont.size": { + "scatter.legendgrouptitle.font.size": { "params": { "plotly_name": "size", - "parent_name": "parcoords.tickfont", - "edit_type": "plot", + "parent_name": "scatter.legendgrouptitle.font", + "edit_type": "style", "min": 1 }, "superclass": "NumberValidator" }, - "parcoords.tickfont.shadow": { + "scatter.legendgrouptitle.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "parcoords.tickfont", - "edit_type": "plot" + "parent_name": "scatter.legendgrouptitle.font", + "edit_type": "style" }, "superclass": "StringValidator" }, - "parcoords.tickfont.lineposition": { + "scatter.legendgrouptitle.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "parcoords.tickfont", - "edit_type": "plot", + "parent_name": "scatter.legendgrouptitle.font", + "edit_type": "style", "extras": [ "none" ], @@ -77980,67 +62856,130 @@ }, "superclass": "FlaglistValidator" }, - "parcoords.tickfont.family": { + "scatter.legendgrouptitle.font.family": { "params": { "plotly_name": "family", - "parent_name": "parcoords.tickfont", - "edit_type": "plot", + "parent_name": "scatter.legendgrouptitle.font", + "edit_type": "style", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "parcoords.tickfont.color": { + "scatter.legendgrouptitle.font.color": { "params": { "plotly_name": "color", - "parent_name": "parcoords.tickfont", - "edit_type": "plot" + "parent_name": "scatter.legendgrouptitle.font", + "edit_type": "style" }, "superclass": "ColorValidator" }, - "parcoords.stream": { + "scatter.legendgroup": { "params": { - "plotly_name": "stream", - "parent_name": "parcoords", - "data_class_str": "Stream", + "plotly_name": "legendgroup", + "parent_name": "scatter", + "edit_type": "style" + }, + "superclass": "StringValidator" + }, + "scatter.legend": { + "params": { + "plotly_name": "legend", + "parent_name": "scatter", + "dflt": "legend", + "edit_type": "style" + }, + "superclass": "SubplotidValidator" + }, + "scatter.ids": { + "params": { + "plotly_name": "ids", + "parent_name": "scatter", + "anim": true, + "edit_type": "calc" + }, + "superclass": "DataArrayValidator" + }, + "scatter.hovertext": { + "params": { + "plotly_name": "hovertext", + "parent_name": "scatter", + "array_ok": true, + "edit_type": "style" + }, + "superclass": "StringValidator" + }, + "scatter.hovertemplatefallback": { + "params": { + "plotly_name": "hovertemplatefallback", + "parent_name": "scatter", + "edit_type": "none" + }, + "superclass": "AnyValidator" + }, + "scatter.hovertemplate": { + "params": { + "plotly_name": "hovertemplate", + "parent_name": "scatter", + "array_ok": true, + "edit_type": "none" + }, + "superclass": "StringValidator" + }, + "scatter.hoveron": { + "params": { + "plotly_name": "hoveron", + "parent_name": "scatter", + "edit_type": "style", + "flags": [ + "points", + "fills" + ] + }, + "superclass": "FlaglistValidator" + }, + "scatter.hoverlabel": { + "params": { + "plotly_name": "hoverlabel", + "parent_name": "scatter", + "data_class_str": "Hoverlabel", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "parcoords.stream.token": { + "scatter.hoverlabel.showarrow": { "params": { - "plotly_name": "token", - "parent_name": "parcoords.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true + "plotly_name": "showarrow", + "parent_name": "scatter.hoverlabel", + "edit_type": "none" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "parcoords.stream.maxpoints": { + "scatter.hoverlabel.namelength": { "params": { - "plotly_name": "maxpoints", - "parent_name": "parcoords.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 + "plotly_name": "namelength", + "parent_name": "scatter.hoverlabel", + "array_ok": true, + "edit_type": "none", + "min": -1 }, - "superclass": "NumberValidator" + "superclass": "IntegerValidator" }, - "parcoords.rangefont": { + "scatter.hoverlabel.font": { "params": { - "plotly_name": "rangefont", - "parent_name": "parcoords", - "data_class_str": "Rangefont", + "plotly_name": "font", + "parent_name": "scatter.hoverlabel", + "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "parcoords.rangefont.weight": { + "scatter.hoverlabel.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "parcoords.rangefont", - "edit_type": "plot", + "parent_name": "scatter.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "extras": [ "normal", "bold" @@ -78050,11 +62989,12 @@ }, "superclass": "IntegerValidator" }, - "parcoords.rangefont.variant": { + "scatter.hoverlabel.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "parcoords.rangefont", - "edit_type": "plot", + "parent_name": "scatter.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "small-caps", @@ -78066,11 +63006,12 @@ }, "superclass": "EnumeratedValidator" }, - "parcoords.rangefont.textcase": { + "scatter.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "parcoords.rangefont", - "edit_type": "plot", + "parent_name": "scatter.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "word caps", @@ -78080,11 +63021,12 @@ }, "superclass": "EnumeratedValidator" }, - "parcoords.rangefont.style": { + "scatter.hoverlabel.font.style": { "params": { "plotly_name": "style", - "parent_name": "parcoords.rangefont", - "edit_type": "plot", + "parent_name": "scatter.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "italic" @@ -78092,28 +63034,31 @@ }, "superclass": "EnumeratedValidator" }, - "parcoords.rangefont.size": { + "scatter.hoverlabel.font.size": { "params": { "plotly_name": "size", - "parent_name": "parcoords.rangefont", - "edit_type": "plot", + "parent_name": "scatter.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "min": 1 }, "superclass": "NumberValidator" }, - "parcoords.rangefont.shadow": { + "scatter.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "parcoords.rangefont", - "edit_type": "plot" + "parent_name": "scatter.hoverlabel.font", + "array_ok": true, + "edit_type": "none" }, "superclass": "StringValidator" }, - "parcoords.rangefont.lineposition": { + "scatter.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "parcoords.rangefont", - "edit_type": "plot", + "parent_name": "scatter.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "extras": [ "none" ], @@ -78125,557 +63070,623 @@ }, "superclass": "FlaglistValidator" }, - "parcoords.rangefont.family": { + "scatter.hoverlabel.font.family": { "params": { "plotly_name": "family", - "parent_name": "parcoords.rangefont", - "edit_type": "plot", + "parent_name": "scatter.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "parcoords.rangefont.color": { + "scatter.hoverlabel.font.color": { "params": { "plotly_name": "color", - "parent_name": "parcoords.rangefont", - "edit_type": "plot" + "parent_name": "scatter.hoverlabel.font", + "array_ok": true, + "edit_type": "none" }, "superclass": "ColorValidator" }, - "parcoords.name": { + "scatter.hoverlabel.bordercolor": { "params": { - "plotly_name": "name", - "parent_name": "parcoords", + "plotly_name": "bordercolor", + "parent_name": "scatter.hoverlabel", + "array_ok": true, + "edit_type": "none" + }, + "superclass": "ColorValidator" + }, + "scatter.hoverlabel.bgcolor": { + "params": { + "plotly_name": "bgcolor", + "parent_name": "scatter.hoverlabel", + "array_ok": true, + "edit_type": "none" + }, + "superclass": "ColorValidator" + }, + "scatter.hoverlabel.align": { + "params": { + "plotly_name": "align", + "parent_name": "scatter.hoverlabel", + "array_ok": true, + "edit_type": "none", + "values": [ + "left", + "right", + "auto" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scatter.hoverinfo": { + "params": { + "plotly_name": "hoverinfo", + "parent_name": "scatter", + "array_ok": true, + "edit_type": "none", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ] + }, + "superclass": "FlaglistValidator" + }, + "scatter.groupnorm": { + "params": { + "plotly_name": "groupnorm", + "parent_name": "scatter", + "edit_type": "calc", + "values": [ + "", + "fraction", + "percent" + ] + }, + "superclass": "EnumeratedValidator" + }, + "scatter.fillpattern": { + "params": { + "plotly_name": "fillpattern", + "parent_name": "scatter", + "data_class_str": "Fillpattern", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "scatter.fillpattern.solidity": { + "params": { + "plotly_name": "solidity", + "parent_name": "scatter.fillpattern", + "array_ok": true, + "edit_type": "style", + "max": 1, + "min": 0 + }, + "superclass": "NumberValidator" + }, + "scatter.fillpattern.size": { + "params": { + "plotly_name": "size", + "parent_name": "scatter.fillpattern", + "array_ok": true, + "edit_type": "style", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "scatter.fillpattern.shape": { + "params": { + "plotly_name": "shape", + "parent_name": "scatter.fillpattern", + "array_ok": true, + "edit_type": "style", + "values": [ + "", + "/", + "\\", + "x", + "-", + "|", + "+", + "." + ] + }, + "superclass": "EnumeratedValidator" + }, + "scatter.fillpattern.path": { + "params": { + "plotly_name": "path", + "parent_name": "scatter.fillpattern", + "array_ok": true, "edit_type": "style" }, "superclass": "StringValidator" }, - "parcoords.metasrc": { + "scatter.fillpattern.fillmode": { "params": { - "plotly_name": "metasrc", - "parent_name": "parcoords", - "edit_type": "none" + "plotly_name": "fillmode", + "parent_name": "scatter.fillpattern", + "edit_type": "style", + "values": [ + "replace", + "overlay" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "parcoords.meta": { + "scatter.fillpattern.fgopacity": { "params": { - "plotly_name": "meta", - "parent_name": "parcoords", + "plotly_name": "fgopacity", + "parent_name": "scatter.fillpattern", + "edit_type": "style", + "max": 1, + "min": 0 + }, + "superclass": "NumberValidator" + }, + "scatter.fillpattern.fgcolor": { + "params": { + "plotly_name": "fgcolor", + "parent_name": "scatter.fillpattern", "array_ok": true, - "edit_type": "plot" + "edit_type": "style" }, - "superclass": "AnyValidator" + "superclass": "ColorValidator" }, - "parcoords.line": { + "scatter.fillpattern.bgcolor": { "params": { - "plotly_name": "line", - "parent_name": "parcoords", - "data_class_str": "Line", + "plotly_name": "bgcolor", + "parent_name": "scatter.fillpattern", + "array_ok": true, + "edit_type": "style" + }, + "superclass": "ColorValidator" + }, + "scatter.fillgradient": { + "params": { + "plotly_name": "fillgradient", + "parent_name": "scatter", + "data_class_str": "Fillgradient", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "parcoords.line.showscale": { + "scatter.fillgradient.type": { "params": { - "plotly_name": "showscale", - "parent_name": "parcoords.line", - "edit_type": "calc" + "plotly_name": "type", + "parent_name": "scatter.fillgradient", + "edit_type": "calc", + "values": [ + "radial", + "horizontal", + "vertical", + "none" + ] }, - "superclass": "BooleanValidator" + "superclass": "EnumeratedValidator" }, - "parcoords.line.reversescale": { + "scatter.fillgradient.stop": { "params": { - "plotly_name": "reversescale", - "parent_name": "parcoords.line", - "edit_type": "plot" + "plotly_name": "stop", + "parent_name": "scatter.fillgradient", + "edit_type": "calc" }, - "superclass": "BooleanValidator" + "superclass": "NumberValidator" }, - "parcoords.line.colorsrc": { + "scatter.fillgradient.start": { "params": { - "plotly_name": "colorsrc", - "parent_name": "parcoords.line", - "edit_type": "none" + "plotly_name": "start", + "parent_name": "scatter.fillgradient", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "parcoords.line.colorscale": { + "scatter.fillgradient.colorscale": { "params": { "plotly_name": "colorscale", - "parent_name": "parcoords.line", - "edit_type": "calc", - "implied_edits": { - "autocolorscale": false - } + "parent_name": "scatter.fillgradient", + "edit_type": "style" }, "superclass": "ColorscaleValidator" }, - "parcoords.line.colorbar": { + "scatter.fillcolor": { "params": { - "plotly_name": "colorbar", - "parent_name": "parcoords.line", - "data_class_str": "ColorBar", - "data_docs": "\n" + "plotly_name": "fillcolor", + "parent_name": "scatter", + "anim": true, + "edit_type": "style" }, - "superclass": "CompoundValidator" + "superclass": "ColorValidator" }, - "parcoords.line.colorbar.yref": { + "scatter.fill": { "params": { - "plotly_name": "yref", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", + "plotly_name": "fill", + "parent_name": "scatter", + "edit_type": "calc", "values": [ - "container", - "paper" + "none", + "tozeroy", + "tozerox", + "tonexty", + "tonextx", + "toself", + "tonext" ] }, - "superclass": "EnumeratedValidator" + "superclass": "EnumeratedValidator" + }, + "scatter.error_y": { + "params": { + "plotly_name": "error_y", + "parent_name": "scatter", + "data_class_str": "ErrorY", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" }, - "parcoords.line.colorbar.ypad": { + "scatter.error_y.width": { "params": { - "plotly_name": "ypad", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", + "plotly_name": "width", + "parent_name": "scatter.error_y", + "edit_type": "plot", "min": 0 }, "superclass": "NumberValidator" }, - "parcoords.line.colorbar.yanchor": { + "scatter.error_y.visible": { "params": { - "plotly_name": "yanchor", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", - "values": [ - "top", - "middle", - "bottom" - ] + "plotly_name": "visible", + "parent_name": "scatter.error_y", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "BooleanValidator" }, - "parcoords.line.colorbar.y": { + "scatter.error_y.valueminus": { "params": { - "plotly_name": "y", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars" + "plotly_name": "valueminus", + "parent_name": "scatter.error_y", + "edit_type": "calc", + "min": 0 }, "superclass": "NumberValidator" }, - "parcoords.line.colorbar.xref": { - "params": { - "plotly_name": "xref", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", - "values": [ - "container", - "paper" - ] - }, - "superclass": "EnumeratedValidator" - }, - "parcoords.line.colorbar.xpad": { + "scatter.error_y.value": { "params": { - "plotly_name": "xpad", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", + "plotly_name": "value", + "parent_name": "scatter.error_y", + "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "parcoords.line.colorbar.xanchor": { + "scatter.error_y.type": { "params": { - "plotly_name": "xanchor", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", + "plotly_name": "type", + "parent_name": "scatter.error_y", + "edit_type": "calc", "values": [ - "left", - "center", - "right" + "percent", + "constant", + "sqrt", + "data" ] }, "superclass": "EnumeratedValidator" }, - "parcoords.line.colorbar.x": { - "params": { - "plotly_name": "x", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars" - }, - "superclass": "NumberValidator" - }, - "parcoords.line.colorbar.title": { + "scatter.error_y.tracerefminus": { "params": { - "plotly_name": "title", - "parent_name": "parcoords.line.colorbar", - "data_class_str": "Title", - "data_docs": "\n" + "plotly_name": "tracerefminus", + "parent_name": "scatter.error_y", + "edit_type": "style", + "min": 0 }, - "superclass": "TitleValidator" + "superclass": "IntegerValidator" }, - "parcoords.line.colorbar.title.text": { + "scatter.error_y.traceref": { "params": { - "plotly_name": "text", - "parent_name": "parcoords.line.colorbar.title", - "edit_type": "colorbars" + "plotly_name": "traceref", + "parent_name": "scatter.error_y", + "edit_type": "style", + "min": 0 }, - "superclass": "StringValidator" + "superclass": "IntegerValidator" }, - "parcoords.line.colorbar.title.side": { + "scatter.error_y.thickness": { "params": { - "plotly_name": "side", - "parent_name": "parcoords.line.colorbar.title", - "edit_type": "colorbars", - "values": [ - "right", - "top", - "bottom" - ] + "plotly_name": "thickness", + "parent_name": "scatter.error_y", + "edit_type": "style", + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "parcoords.line.colorbar.title.font": { + "scatter.error_y.symmetric": { "params": { - "plotly_name": "font", - "parent_name": "parcoords.line.colorbar.title", - "data_class_str": "Font", - "data_docs": "\n" + "plotly_name": "symmetric", + "parent_name": "scatter.error_y", + "edit_type": "calc" }, - "superclass": "CompoundValidator" + "superclass": "BooleanValidator" }, - "parcoords.line.colorbar.title.font.weight": { + "scatter.error_y.color": { "params": { - "plotly_name": "weight", - "parent_name": "parcoords.line.colorbar.title.font", - "edit_type": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 + "plotly_name": "color", + "parent_name": "scatter.error_y", + "edit_type": "style" }, - "superclass": "IntegerValidator" + "superclass": "ColorValidator" }, - "parcoords.line.colorbar.title.font.variant": { + "scatter.error_y.arrayminus": { "params": { - "plotly_name": "variant", - "parent_name": "parcoords.line.colorbar.title.font", - "edit_type": "colorbars", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] + "plotly_name": "arrayminus", + "parent_name": "scatter.error_y", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "DataArrayValidator" }, - "parcoords.line.colorbar.title.font.textcase": { + "scatter.error_y.array": { "params": { - "plotly_name": "textcase", - "parent_name": "parcoords.line.colorbar.title.font", - "edit_type": "colorbars", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] + "plotly_name": "array", + "parent_name": "scatter.error_y", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "DataArrayValidator" }, - "parcoords.line.colorbar.title.font.style": { + "scatter.error_x": { "params": { - "plotly_name": "style", - "parent_name": "parcoords.line.colorbar.title.font", - "edit_type": "colorbars", - "values": [ - "normal", - "italic" - ] + "plotly_name": "error_x", + "parent_name": "scatter", + "data_class_str": "ErrorX", + "data_docs": "\n" }, - "superclass": "EnumeratedValidator" + "superclass": "CompoundValidator" }, - "parcoords.line.colorbar.title.font.size": { + "scatter.error_x.width": { "params": { - "plotly_name": "size", - "parent_name": "parcoords.line.colorbar.title.font", - "edit_type": "colorbars", - "min": 1 + "plotly_name": "width", + "parent_name": "scatter.error_x", + "edit_type": "plot", + "min": 0 }, "superclass": "NumberValidator" }, - "parcoords.line.colorbar.title.font.shadow": { + "scatter.error_x.visible": { "params": { - "plotly_name": "shadow", - "parent_name": "parcoords.line.colorbar.title.font", - "edit_type": "colorbars" + "plotly_name": "visible", + "parent_name": "scatter.error_x", + "edit_type": "calc" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "parcoords.line.colorbar.title.font.lineposition": { + "scatter.error_x.valueminus": { "params": { - "plotly_name": "lineposition", - "parent_name": "parcoords.line.colorbar.title.font", - "edit_type": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] + "plotly_name": "valueminus", + "parent_name": "scatter.error_x", + "edit_type": "calc", + "min": 0 }, - "superclass": "FlaglistValidator" + "superclass": "NumberValidator" }, - "parcoords.line.colorbar.title.font.family": { + "scatter.error_x.value": { "params": { - "plotly_name": "family", - "parent_name": "parcoords.line.colorbar.title.font", - "edit_type": "colorbars", - "no_blank": true, - "strict": true + "plotly_name": "value", + "parent_name": "scatter.error_x", + "edit_type": "calc", + "min": 0 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "parcoords.line.colorbar.title.font.color": { + "scatter.error_x.type": { "params": { - "plotly_name": "color", - "parent_name": "parcoords.line.colorbar.title.font", - "edit_type": "colorbars" + "plotly_name": "type", + "parent_name": "scatter.error_x", + "edit_type": "calc", + "values": [ + "percent", + "constant", + "sqrt", + "data" + ] }, - "superclass": "ColorValidator" + "superclass": "EnumeratedValidator" }, - "parcoords.line.colorbar.tickwidth": { + "scatter.error_x.tracerefminus": { "params": { - "plotly_name": "tickwidth", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", + "plotly_name": "tracerefminus", + "parent_name": "scatter.error_x", + "edit_type": "style", "min": 0 }, - "superclass": "NumberValidator" + "superclass": "IntegerValidator" }, - "parcoords.line.colorbar.tickvalssrc": { + "scatter.error_x.traceref": { "params": { - "plotly_name": "tickvalssrc", - "parent_name": "parcoords.line.colorbar", - "edit_type": "none" + "plotly_name": "traceref", + "parent_name": "scatter.error_x", + "edit_type": "style", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "IntegerValidator" }, - "parcoords.line.colorbar.tickvals": { + "scatter.error_x.thickness": { "params": { - "plotly_name": "tickvals", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars" + "plotly_name": "thickness", + "parent_name": "scatter.error_x", + "edit_type": "style", + "min": 0 }, - "superclass": "DataArrayValidator" + "superclass": "NumberValidator" }, - "parcoords.line.colorbar.ticktextsrc": { + "scatter.error_x.symmetric": { "params": { - "plotly_name": "ticktextsrc", - "parent_name": "parcoords.line.colorbar", - "edit_type": "none" + "plotly_name": "symmetric", + "parent_name": "scatter.error_x", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "parcoords.line.colorbar.ticktext": { + "scatter.error_x.copy_ystyle": { "params": { - "plotly_name": "ticktext", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars" + "plotly_name": "copy_ystyle", + "parent_name": "scatter.error_x", + "edit_type": "plot" }, - "superclass": "DataArrayValidator" + "superclass": "BooleanValidator" }, - "parcoords.line.colorbar.ticksuffix": { + "scatter.error_x.color": { "params": { - "plotly_name": "ticksuffix", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars" + "plotly_name": "color", + "parent_name": "scatter.error_x", + "edit_type": "style" }, - "superclass": "StringValidator" + "superclass": "ColorValidator" }, - "parcoords.line.colorbar.ticks": { + "scatter.error_x.arrayminus": { "params": { - "plotly_name": "ticks", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", - "values": [ - "outside", - "inside", - "" - ] + "plotly_name": "arrayminus", + "parent_name": "scatter.error_x", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "DataArrayValidator" }, - "parcoords.line.colorbar.tickprefix": { + "scatter.error_x.array": { "params": { - "plotly_name": "tickprefix", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars" + "plotly_name": "array", + "parent_name": "scatter.error_x", + "edit_type": "calc" }, - "superclass": "StringValidator" + "superclass": "DataArrayValidator" }, - "parcoords.line.colorbar.tickmode": { + "scatter.dy": { "params": { - "plotly_name": "tickmode", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", - "implied_edits": {}, - "values": [ - "auto", - "linear", - "array" - ] + "plotly_name": "dy", + "parent_name": "scatter", + "anim": true, + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "parcoords.line.colorbar.ticklen": { + "scatter.dx": { "params": { - "plotly_name": "ticklen", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "dx", + "parent_name": "scatter", + "anim": true, + "edit_type": "calc" }, "superclass": "NumberValidator" }, - "parcoords.line.colorbar.ticklabelstep": { + "scatter.customdata": { "params": { - "plotly_name": "ticklabelstep", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", - "min": 1 + "plotly_name": "customdata", + "parent_name": "scatter", + "edit_type": "calc" }, - "superclass": "IntegerValidator" + "superclass": "DataArrayValidator" }, - "parcoords.line.colorbar.ticklabelposition": { + "scatter.connectgaps": { "params": { - "plotly_name": "ticklabelposition", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" - ] + "plotly_name": "connectgaps", + "parent_name": "scatter", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "BooleanValidator" }, - "parcoords.line.colorbar.ticklabeloverflow": { + "scatter.cliponaxis": { "params": { - "plotly_name": "ticklabeloverflow", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", - "values": [ - "allow", - "hide past div", - "hide past domain" - ] + "plotly_name": "cliponaxis", + "parent_name": "scatter", + "edit_type": "plot" }, - "superclass": "EnumeratedValidator" + "superclass": "BooleanValidator" }, - "parcoords.line.colorbar.tickformatstopdefaults": { + "scatter.alignmentgroup": { "params": { - "plotly_name": "tickformatstopdefaults", - "parent_name": "parcoords.line.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" + "plotly_name": "alignmentgroup", + "parent_name": "scatter", + "edit_type": "calc" }, - "superclass": "CompoundValidator" + "superclass": "StringValidator" }, - "parcoords.line.colorbar.tickformatstops": { + "sankey": { "params": { - "plotly_name": "tickformatstops", - "parent_name": "parcoords.line.colorbar", - "data_class_str": "Tickformatstop", + "plotly_name": "sankey", + "parent_name": "", + "data_class_str": "Sankey", "data_docs": "\n" }, - "superclass": "CompoundArrayValidator" + "superclass": "CompoundValidator" }, - "parcoords.line.colorbar.tickformatstop.value": { + "sankey.visible": { "params": { - "plotly_name": "value", - "parent_name": "parcoords.line.colorbar.tickformatstop", - "edit_type": "colorbars" + "plotly_name": "visible", + "parent_name": "sankey", + "edit_type": "calc", + "values": [ + true, + false, + "legendonly" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "parcoords.line.colorbar.tickformatstop.templateitemname": { + "sankey.valuesuffix": { "params": { - "plotly_name": "templateitemname", - "parent_name": "parcoords.line.colorbar.tickformatstop", - "edit_type": "colorbars" + "plotly_name": "valuesuffix", + "parent_name": "sankey", + "edit_type": "calc" }, "superclass": "StringValidator" }, - "parcoords.line.colorbar.tickformatstop.name": { + "sankey.valueformat": { "params": { - "plotly_name": "name", - "parent_name": "parcoords.line.colorbar.tickformatstop", - "edit_type": "colorbars" + "plotly_name": "valueformat", + "parent_name": "sankey", + "edit_type": "calc" }, "superclass": "StringValidator" }, - "parcoords.line.colorbar.tickformatstop.enabled": { - "params": { - "plotly_name": "enabled", - "parent_name": "parcoords.line.colorbar.tickformatstop", - "edit_type": "colorbars" - }, - "superclass": "BooleanValidator" - }, - "parcoords.line.colorbar.tickformatstop.dtickrange": { + "sankey.uirevision": { "params": { - "plotly_name": "dtickrange", - "parent_name": "parcoords.line.colorbar.tickformatstop", - "edit_type": "colorbars", - "items": [ - { - "editType": "colorbars", - "valType": "any" - }, - { - "editType": "colorbars", - "valType": "any" - } - ] + "plotly_name": "uirevision", + "parent_name": "sankey", + "edit_type": "none" }, - "superclass": "InfoArrayValidator" + "superclass": "AnyValidator" }, - "parcoords.line.colorbar.tickformat": { + "sankey.uid": { "params": { - "plotly_name": "tickformat", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars" + "plotly_name": "uid", + "parent_name": "sankey", + "edit_type": "plot" }, "superclass": "StringValidator" }, - "parcoords.line.colorbar.tickfont": { + "sankey.textfont": { "params": { - "plotly_name": "tickfont", - "parent_name": "parcoords.line.colorbar", - "data_class_str": "Tickfont", + "plotly_name": "textfont", + "parent_name": "sankey", + "data_class_str": "Textfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "parcoords.line.colorbar.tickfont.weight": { + "sankey.textfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "parcoords.line.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "sankey.textfont", + "edit_type": "calc", "extras": [ "normal", "bold" @@ -78685,11 +63696,11 @@ }, "superclass": "IntegerValidator" }, - "parcoords.line.colorbar.tickfont.variant": { + "sankey.textfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "parcoords.line.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "sankey.textfont", + "edit_type": "calc", "values": [ "normal", "small-caps", @@ -78701,11 +63712,11 @@ }, "superclass": "EnumeratedValidator" }, - "parcoords.line.colorbar.tickfont.textcase": { + "sankey.textfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "parcoords.line.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "sankey.textfont", + "edit_type": "calc", "values": [ "normal", "word caps", @@ -78715,11 +63726,11 @@ }, "superclass": "EnumeratedValidator" }, - "parcoords.line.colorbar.tickfont.style": { + "sankey.textfont.style": { "params": { "plotly_name": "style", - "parent_name": "parcoords.line.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "sankey.textfont", + "edit_type": "calc", "values": [ "normal", "italic" @@ -78727,28 +63738,28 @@ }, "superclass": "EnumeratedValidator" }, - "parcoords.line.colorbar.tickfont.size": { + "sankey.textfont.size": { "params": { "plotly_name": "size", - "parent_name": "parcoords.line.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "sankey.textfont", + "edit_type": "calc", "min": 1 }, "superclass": "NumberValidator" }, - "parcoords.line.colorbar.tickfont.shadow": { + "sankey.textfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "parcoords.line.colorbar.tickfont", - "edit_type": "colorbars" + "parent_name": "sankey.textfont", + "edit_type": "calc" }, "superclass": "StringValidator" }, - "parcoords.line.colorbar.tickfont.lineposition": { + "sankey.textfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "parcoords.line.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "sankey.textfont", + "edit_type": "calc", "extras": [ "none" ], @@ -78760,513 +63771,557 @@ }, "superclass": "FlaglistValidator" }, - "parcoords.line.colorbar.tickfont.family": { + "sankey.textfont.family": { "params": { "plotly_name": "family", - "parent_name": "parcoords.line.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "sankey.textfont", + "edit_type": "calc", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "parcoords.line.colorbar.tickfont.color": { + "sankey.textfont.color": { "params": { "plotly_name": "color", - "parent_name": "parcoords.line.colorbar.tickfont", - "edit_type": "colorbars" + "parent_name": "sankey.textfont", + "edit_type": "calc" }, "superclass": "ColorValidator" }, - "parcoords.line.colorbar.tickcolor": { + "sankey.selectedpoints": { "params": { - "plotly_name": "tickcolor", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars" + "plotly_name": "selectedpoints", + "parent_name": "sankey", + "edit_type": "calc" }, - "superclass": "ColorValidator" + "superclass": "AnyValidator" }, - "parcoords.line.colorbar.tickangle": { + "sankey.orientation": { "params": { - "plotly_name": "tickangle", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars" + "plotly_name": "orientation", + "parent_name": "sankey", + "edit_type": "calc", + "values": [ + "v", + "h" + ] }, - "superclass": "AngleValidator" + "superclass": "EnumeratedValidator" }, - "parcoords.line.colorbar.tick0": { + "sankey.node": { "params": { - "plotly_name": "tick0", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", - "implied_edits": { - "tickmode": "linear" - } + "plotly_name": "node", + "parent_name": "sankey", + "data_class_str": "Node", + "data_docs": "\n" }, - "superclass": "AnyValidator" + "superclass": "CompoundValidator" }, - "parcoords.line.colorbar.thicknessmode": { + "sankey.node.y": { "params": { - "plotly_name": "thicknessmode", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", - "values": [ - "fraction", - "pixels" - ] + "plotly_name": "y", + "parent_name": "sankey.node", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "DataArrayValidator" }, - "parcoords.line.colorbar.thickness": { + "sankey.node.x": { + "params": { + "plotly_name": "x", + "parent_name": "sankey.node", + "edit_type": "calc" + }, + "superclass": "DataArrayValidator" + }, + "sankey.node.thickness": { "params": { "plotly_name": "thickness", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", - "min": 0 + "parent_name": "sankey.node", + "array_ok": false, + "edit_type": "calc", + "min": 1 }, "superclass": "NumberValidator" }, - "parcoords.line.colorbar.showticksuffix": { + "sankey.node.sort": { "params": { - "plotly_name": "showticksuffix", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", + "plotly_name": "sort", + "parent_name": "sankey.node", + "edit_type": "calc", "values": [ - "all", - "first", - "last", - "none" + "auto", + "input" ] }, "superclass": "EnumeratedValidator" }, - "parcoords.line.colorbar.showtickprefix": { + "sankey.node.pad": { "params": { - "plotly_name": "showtickprefix", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", - "values": [ - "all", - "first", - "last", - "none" - ] + "plotly_name": "pad", + "parent_name": "sankey.node", + "array_ok": false, + "edit_type": "calc", + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "parcoords.line.colorbar.showticklabels": { + "sankey.node.line": { "params": { - "plotly_name": "showticklabels", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars" + "plotly_name": "line", + "parent_name": "sankey.node", + "data_class_str": "Line", + "data_docs": "\n" }, - "superclass": "BooleanValidator" + "superclass": "CompoundValidator" }, - "parcoords.line.colorbar.showexponent": { + "sankey.node.line.width": { "params": { - "plotly_name": "showexponent", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", - "values": [ - "all", - "first", - "last", - "none" - ] + "plotly_name": "width", + "parent_name": "sankey.node.line", + "array_ok": true, + "edit_type": "calc", + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "parcoords.line.colorbar.separatethousands": { + "sankey.node.line.color": { "params": { - "plotly_name": "separatethousands", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars" + "plotly_name": "color", + "parent_name": "sankey.node.line", + "array_ok": true, + "edit_type": "calc" }, - "superclass": "BooleanValidator" + "superclass": "ColorValidator" }, - "parcoords.line.colorbar.outlinewidth": { + "sankey.node.label": { "params": { - "plotly_name": "outlinewidth", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "label", + "parent_name": "sankey.node", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "parcoords.line.colorbar.outlinecolor": { + "sankey.node.hovertemplatefallback": { "params": { - "plotly_name": "outlinecolor", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars" + "plotly_name": "hovertemplatefallback", + "parent_name": "sankey.node", + "edit_type": "calc" }, - "superclass": "ColorValidator" + "superclass": "AnyValidator" }, - "parcoords.line.colorbar.orientation": { + "sankey.node.hovertemplate": { "params": { - "plotly_name": "orientation", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", - "values": [ - "h", - "v" - ] + "plotly_name": "hovertemplate", + "parent_name": "sankey.node", + "array_ok": true, + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "StringValidator" }, - "parcoords.line.colorbar.nticks": { + "sankey.node.hoverlabel": { "params": { - "plotly_name": "nticks", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "hoverlabel", + "parent_name": "sankey.node", + "data_class_str": "Hoverlabel", + "data_docs": "\n" }, - "superclass": "IntegerValidator" + "superclass": "CompoundValidator" }, - "parcoords.line.colorbar.minexponent": { + "sankey.node.hoverlabel.showarrow": { "params": { - "plotly_name": "minexponent", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "showarrow", + "parent_name": "sankey.node.hoverlabel", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "parcoords.line.colorbar.lenmode": { + "sankey.node.hoverlabel.namelength": { "params": { - "plotly_name": "lenmode", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", - "values": [ - "fraction", - "pixels" - ] + "plotly_name": "namelength", + "parent_name": "sankey.node.hoverlabel", + "array_ok": true, + "edit_type": "calc", + "min": -1 }, - "superclass": "EnumeratedValidator" + "superclass": "IntegerValidator" }, - "parcoords.line.colorbar.len": { + "sankey.node.hoverlabel.font": { "params": { - "plotly_name": "len", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "font", + "parent_name": "sankey.node.hoverlabel", + "data_class_str": "Font", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "parcoords.line.colorbar.labelalias": { + "sankey.node.hoverlabel.font.weight": { "params": { - "plotly_name": "labelalias", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars" + "plotly_name": "weight", + "parent_name": "sankey.node.hoverlabel.font", + "array_ok": true, + "edit_type": "calc", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "AnyValidator" + "superclass": "IntegerValidator" }, - "parcoords.line.colorbar.exponentformat": { + "sankey.node.hoverlabel.font.variant": { "params": { - "plotly_name": "exponentformat", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", + "plotly_name": "variant", + "parent_name": "sankey.node.hoverlabel.font", + "array_ok": true, + "edit_type": "calc", "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] }, "superclass": "EnumeratedValidator" }, - "parcoords.line.colorbar.dtick": { + "sankey.node.hoverlabel.font.textcase": { "params": { - "plotly_name": "dtick", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", - "implied_edits": { - "tickmode": "linear" - } + "plotly_name": "textcase", + "parent_name": "sankey.node.hoverlabel.font", + "array_ok": true, + "edit_type": "calc", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, - "superclass": "AnyValidator" + "superclass": "EnumeratedValidator" }, - "parcoords.line.colorbar.borderwidth": { + "sankey.node.hoverlabel.font.style": { "params": { - "plotly_name": "borderwidth", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "style", + "parent_name": "sankey.node.hoverlabel.font", + "array_ok": true, + "edit_type": "calc", + "values": [ + "normal", + "italic" + ] + }, + "superclass": "EnumeratedValidator" + }, + "sankey.node.hoverlabel.font.size": { + "params": { + "plotly_name": "size", + "parent_name": "sankey.node.hoverlabel.font", + "array_ok": true, + "edit_type": "calc", + "min": 1 }, "superclass": "NumberValidator" }, - "parcoords.line.colorbar.bordercolor": { + "sankey.node.hoverlabel.font.shadow": { "params": { - "plotly_name": "bordercolor", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars" + "plotly_name": "shadow", + "parent_name": "sankey.node.hoverlabel.font", + "array_ok": true, + "edit_type": "calc" }, - "superclass": "ColorValidator" + "superclass": "StringValidator" }, - "parcoords.line.colorbar.bgcolor": { + "sankey.node.hoverlabel.font.lineposition": { "params": { - "plotly_name": "bgcolor", - "parent_name": "parcoords.line.colorbar", - "edit_type": "colorbars" + "plotly_name": "lineposition", + "parent_name": "sankey.node.hoverlabel.font", + "array_ok": true, + "edit_type": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] }, - "superclass": "ColorValidator" + "superclass": "FlaglistValidator" }, - "parcoords.line.coloraxis": { + "sankey.node.hoverlabel.font.family": { "params": { - "plotly_name": "coloraxis", - "parent_name": "parcoords.line", - "dflt": null, + "plotly_name": "family", + "parent_name": "sankey.node.hoverlabel.font", + "array_ok": true, "edit_type": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" + "no_blank": true, + "strict": true }, - "superclass": "SubplotidValidator" + "superclass": "StringValidator" }, - "parcoords.line.color": { + "sankey.node.hoverlabel.font.color": { "params": { "plotly_name": "color", - "parent_name": "parcoords.line", + "parent_name": "sankey.node.hoverlabel.font", "array_ok": true, - "edit_type": "calc", - "colorscale_path": "parcoords.line.colorscale" + "edit_type": "calc" }, "superclass": "ColorValidator" }, - "parcoords.line.cmin": { + "sankey.node.hoverlabel.bordercolor": { "params": { - "plotly_name": "cmin", - "parent_name": "parcoords.line", + "plotly_name": "bordercolor", + "parent_name": "sankey.node.hoverlabel", + "array_ok": true, + "edit_type": "calc" + }, + "superclass": "ColorValidator" + }, + "sankey.node.hoverlabel.bgcolor": { + "params": { + "plotly_name": "bgcolor", + "parent_name": "sankey.node.hoverlabel", + "array_ok": true, + "edit_type": "calc" + }, + "superclass": "ColorValidator" + }, + "sankey.node.hoverlabel.align": { + "params": { + "plotly_name": "align", + "parent_name": "sankey.node.hoverlabel", + "array_ok": true, "edit_type": "calc", - "implied_edits": { - "cauto": false - } + "values": [ + "left", + "right", + "auto" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "parcoords.line.cmid": { + "sankey.node.hoverinfo": { "params": { - "plotly_name": "cmid", - "parent_name": "parcoords.line", + "plotly_name": "hoverinfo", + "parent_name": "sankey.node", "edit_type": "calc", - "implied_edits": {} + "values": [ + "all", + "none", + "skip" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "parcoords.line.cmax": { + "sankey.node.groups": { "params": { - "plotly_name": "cmax", - "parent_name": "parcoords.line", + "plotly_name": "groups", + "parent_name": "sankey.node", + "dimensions": 2, "edit_type": "calc", + "free_length": true, "implied_edits": { - "cauto": false + "x": [], + "y": [] + }, + "items": { + "editType": "calc", + "valType": "number" } }, - "superclass": "NumberValidator" + "superclass": "InfoArrayValidator" }, - "parcoords.line.cauto": { + "sankey.node.customdata": { "params": { - "plotly_name": "cauto", - "parent_name": "parcoords.line", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "customdata", + "parent_name": "sankey.node", + "edit_type": "calc" }, - "superclass": "BooleanValidator" + "superclass": "DataArrayValidator" }, - "parcoords.line.autocolorscale": { + "sankey.node.color": { "params": { - "plotly_name": "autocolorscale", - "parent_name": "parcoords.line", + "plotly_name": "color", + "parent_name": "sankey.node", + "array_ok": true, + "edit_type": "calc" + }, + "superclass": "ColorValidator" + }, + "sankey.node.align": { + "params": { + "plotly_name": "align", + "parent_name": "sankey.node", "edit_type": "calc", - "implied_edits": {} + "values": [ + "justify", + "left", + "right", + "center" + ] }, - "superclass": "BooleanValidator" + "superclass": "EnumeratedValidator" }, - "parcoords.legendwidth": { + "sankey.name": { "params": { - "plotly_name": "legendwidth", - "parent_name": "parcoords", - "edit_type": "style", - "min": 0 + "plotly_name": "name", + "parent_name": "sankey", + "edit_type": "style" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "parcoords.legendrank": { + "sankey.meta": { "params": { - "plotly_name": "legendrank", - "parent_name": "parcoords", - "edit_type": "style" + "plotly_name": "meta", + "parent_name": "sankey", + "array_ok": true, + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "parcoords.legendgrouptitle": { + "sankey.link": { "params": { - "plotly_name": "legendgrouptitle", - "parent_name": "parcoords", - "data_class_str": "Legendgrouptitle", + "plotly_name": "link", + "parent_name": "sankey", + "data_class_str": "Link", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "parcoords.legendgrouptitle.text": { + "sankey.link.value": { "params": { - "plotly_name": "text", - "parent_name": "parcoords.legendgrouptitle", - "edit_type": "style" + "plotly_name": "value", + "parent_name": "sankey.link", + "edit_type": "calc" }, - "superclass": "StringValidator" + "superclass": "DataArrayValidator" }, - "parcoords.legendgrouptitle.font": { + "sankey.link.target": { "params": { - "plotly_name": "font", - "parent_name": "parcoords.legendgrouptitle", - "data_class_str": "Font", - "data_docs": "\n" + "plotly_name": "target", + "parent_name": "sankey.link", + "edit_type": "calc" }, - "superclass": "CompoundValidator" + "superclass": "DataArrayValidator" }, - "parcoords.legendgrouptitle.font.weight": { + "sankey.link.source": { "params": { - "plotly_name": "weight", - "parent_name": "parcoords.legendgrouptitle.font", - "edit_type": "style", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 + "plotly_name": "source", + "parent_name": "sankey.link", + "edit_type": "calc" }, - "superclass": "IntegerValidator" + "superclass": "DataArrayValidator" }, - "parcoords.legendgrouptitle.font.variant": { + "sankey.link.sort": { "params": { - "plotly_name": "variant", - "parent_name": "parcoords.legendgrouptitle.font", - "edit_type": "style", + "plotly_name": "sort", + "parent_name": "sankey.link", + "edit_type": "calc", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "auto", + "input" ] }, "superclass": "EnumeratedValidator" }, - "parcoords.legendgrouptitle.font.textcase": { + "sankey.link.line": { "params": { - "plotly_name": "textcase", - "parent_name": "parcoords.legendgrouptitle.font", - "edit_type": "style", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] + "plotly_name": "line", + "parent_name": "sankey.link", + "data_class_str": "Line", + "data_docs": "\n" }, - "superclass": "EnumeratedValidator" + "superclass": "CompoundValidator" }, - "parcoords.legendgrouptitle.font.style": { + "sankey.link.line.width": { "params": { - "plotly_name": "style", - "parent_name": "parcoords.legendgrouptitle.font", - "edit_type": "style", - "values": [ - "normal", - "italic" - ] + "plotly_name": "width", + "parent_name": "sankey.link.line", + "array_ok": true, + "edit_type": "calc", + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "parcoords.legendgrouptitle.font.size": { + "sankey.link.line.color": { "params": { - "plotly_name": "size", - "parent_name": "parcoords.legendgrouptitle.font", - "edit_type": "style", - "min": 1 + "plotly_name": "color", + "parent_name": "sankey.link.line", + "array_ok": true, + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "parcoords.legendgrouptitle.font.shadow": { + "sankey.link.label": { "params": { - "plotly_name": "shadow", - "parent_name": "parcoords.legendgrouptitle.font", - "edit_type": "style" + "plotly_name": "label", + "parent_name": "sankey.link", + "edit_type": "calc" }, - "superclass": "StringValidator" + "superclass": "DataArrayValidator" }, - "parcoords.legendgrouptitle.font.lineposition": { + "sankey.link.hovertemplatefallback": { "params": { - "plotly_name": "lineposition", - "parent_name": "parcoords.legendgrouptitle.font", - "edit_type": "style", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] + "plotly_name": "hovertemplatefallback", + "parent_name": "sankey.link", + "edit_type": "calc" }, - "superclass": "FlaglistValidator" + "superclass": "AnyValidator" }, - "parcoords.legendgrouptitle.font.family": { + "sankey.link.hovertemplate": { "params": { - "plotly_name": "family", - "parent_name": "parcoords.legendgrouptitle.font", - "edit_type": "style", - "no_blank": true, - "strict": true + "plotly_name": "hovertemplate", + "parent_name": "sankey.link", + "array_ok": true, + "edit_type": "calc" }, "superclass": "StringValidator" }, - "parcoords.legendgrouptitle.font.color": { + "sankey.link.hoverlabel": { "params": { - "plotly_name": "color", - "parent_name": "parcoords.legendgrouptitle.font", - "edit_type": "style" + "plotly_name": "hoverlabel", + "parent_name": "sankey.link", + "data_class_str": "Hoverlabel", + "data_docs": "\n" }, - "superclass": "ColorValidator" + "superclass": "CompoundValidator" }, - "parcoords.legend": { + "sankey.link.hoverlabel.showarrow": { "params": { - "plotly_name": "legend", - "parent_name": "parcoords", - "dflt": "legend", - "edit_type": "style" + "plotly_name": "showarrow", + "parent_name": "sankey.link.hoverlabel", + "edit_type": "calc" }, - "superclass": "SubplotidValidator" + "superclass": "BooleanValidator" }, - "parcoords.labelside": { + "sankey.link.hoverlabel.namelength": { "params": { - "plotly_name": "labelside", - "parent_name": "parcoords", - "edit_type": "plot", - "values": [ - "top", - "bottom" - ] + "plotly_name": "namelength", + "parent_name": "sankey.link.hoverlabel", + "array_ok": true, + "edit_type": "calc", + "min": -1 }, - "superclass": "EnumeratedValidator" + "superclass": "IntegerValidator" }, - "parcoords.labelfont": { + "sankey.link.hoverlabel.font": { "params": { - "plotly_name": "labelfont", - "parent_name": "parcoords", - "data_class_str": "Labelfont", + "plotly_name": "font", + "parent_name": "sankey.link.hoverlabel", + "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "parcoords.labelfont.weight": { + "sankey.link.hoverlabel.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "parcoords.labelfont", - "edit_type": "plot", + "parent_name": "sankey.link.hoverlabel.font", + "array_ok": true, + "edit_type": "calc", "extras": [ "normal", "bold" @@ -79276,11 +64331,12 @@ }, "superclass": "IntegerValidator" }, - "parcoords.labelfont.variant": { + "sankey.link.hoverlabel.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "parcoords.labelfont", - "edit_type": "plot", + "parent_name": "sankey.link.hoverlabel.font", + "array_ok": true, + "edit_type": "calc", "values": [ "normal", "small-caps", @@ -79292,11 +64348,12 @@ }, "superclass": "EnumeratedValidator" }, - "parcoords.labelfont.textcase": { + "sankey.link.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "parcoords.labelfont", - "edit_type": "plot", + "parent_name": "sankey.link.hoverlabel.font", + "array_ok": true, + "edit_type": "calc", "values": [ "normal", "word caps", @@ -79306,11 +64363,12 @@ }, "superclass": "EnumeratedValidator" }, - "parcoords.labelfont.style": { + "sankey.link.hoverlabel.font.style": { "params": { "plotly_name": "style", - "parent_name": "parcoords.labelfont", - "edit_type": "plot", + "parent_name": "sankey.link.hoverlabel.font", + "array_ok": true, + "edit_type": "calc", "values": [ "normal", "italic" @@ -79318,28 +64376,31 @@ }, "superclass": "EnumeratedValidator" }, - "parcoords.labelfont.size": { + "sankey.link.hoverlabel.font.size": { "params": { "plotly_name": "size", - "parent_name": "parcoords.labelfont", - "edit_type": "plot", + "parent_name": "sankey.link.hoverlabel.font", + "array_ok": true, + "edit_type": "calc", "min": 1 }, "superclass": "NumberValidator" }, - "parcoords.labelfont.shadow": { + "sankey.link.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "parcoords.labelfont", - "edit_type": "plot" + "parent_name": "sankey.link.hoverlabel.font", + "array_ok": true, + "edit_type": "calc" }, "superclass": "StringValidator" }, - "parcoords.labelfont.lineposition": { + "sankey.link.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "parcoords.labelfont", - "edit_type": "plot", + "parent_name": "sankey.link.hoverlabel.font", + "array_ok": true, + "edit_type": "calc", "extras": [ "none" ], @@ -79351,339 +64412,223 @@ }, "superclass": "FlaglistValidator" }, - "parcoords.labelfont.family": { + "sankey.link.hoverlabel.font.family": { "params": { "plotly_name": "family", - "parent_name": "parcoords.labelfont", - "edit_type": "plot", + "parent_name": "sankey.link.hoverlabel.font", + "array_ok": true, + "edit_type": "calc", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "parcoords.labelfont.color": { + "sankey.link.hoverlabel.font.color": { "params": { "plotly_name": "color", - "parent_name": "parcoords.labelfont", - "edit_type": "plot" + "parent_name": "sankey.link.hoverlabel.font", + "array_ok": true, + "edit_type": "calc" }, "superclass": "ColorValidator" }, - "parcoords.labelangle": { - "params": { - "plotly_name": "labelangle", - "parent_name": "parcoords", - "edit_type": "plot" - }, - "superclass": "AngleValidator" - }, - "parcoords.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "parcoords", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "parcoords.ids": { + "sankey.link.hoverlabel.bordercolor": { "params": { - "plotly_name": "ids", - "parent_name": "parcoords", + "plotly_name": "bordercolor", + "parent_name": "sankey.link.hoverlabel", + "array_ok": true, "edit_type": "calc" }, - "superclass": "DataArrayValidator" + "superclass": "ColorValidator" }, - "parcoords.domain": { + "sankey.link.hoverlabel.bgcolor": { "params": { - "plotly_name": "domain", - "parent_name": "parcoords", - "data_class_str": "Domain", - "data_docs": "\n" + "plotly_name": "bgcolor", + "parent_name": "sankey.link.hoverlabel", + "array_ok": true, + "edit_type": "calc" }, - "superclass": "CompoundValidator" + "superclass": "ColorValidator" }, - "parcoords.domain.y": { + "sankey.link.hoverlabel.align": { "params": { - "plotly_name": "y", - "parent_name": "parcoords.domain", - "edit_type": "plot", - "items": [ - { - "editType": "plot", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "plot", - "max": 1, - "min": 0, - "valType": "number" - } + "plotly_name": "align", + "parent_name": "sankey.link.hoverlabel", + "array_ok": true, + "edit_type": "calc", + "values": [ + "left", + "right", + "auto" ] }, - "superclass": "InfoArrayValidator" + "superclass": "EnumeratedValidator" }, - "parcoords.domain.x": { + "sankey.link.hoverinfo": { "params": { - "plotly_name": "x", - "parent_name": "parcoords.domain", - "edit_type": "plot", - "items": [ - { - "editType": "plot", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "plot", - "max": 1, - "min": 0, - "valType": "number" - } + "plotly_name": "hoverinfo", + "parent_name": "sankey.link", + "edit_type": "calc", + "values": [ + "all", + "none", + "skip" ] }, - "superclass": "InfoArrayValidator" + "superclass": "EnumeratedValidator" }, - "parcoords.domain.row": { + "sankey.link.hovercolor": { "params": { - "plotly_name": "row", - "parent_name": "parcoords.domain", - "edit_type": "plot", - "min": 0 + "plotly_name": "hovercolor", + "parent_name": "sankey.link", + "array_ok": true, + "edit_type": "calc" }, - "superclass": "IntegerValidator" + "superclass": "ColorValidator" }, - "parcoords.domain.column": { + "sankey.link.customdata": { "params": { - "plotly_name": "column", - "parent_name": "parcoords.domain", - "edit_type": "plot", - "min": 0 + "plotly_name": "customdata", + "parent_name": "sankey.link", + "edit_type": "calc" }, - "superclass": "IntegerValidator" + "superclass": "DataArrayValidator" }, - "parcoords.dimensiondefaults": { + "sankey.link.colorscaledefaults": { "params": { - "plotly_name": "dimensiondefaults", - "parent_name": "parcoords", - "data_class_str": "Dimension", + "plotly_name": "colorscaledefaults", + "parent_name": "sankey.link", + "data_class_str": "Colorscale", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "parcoords.dimensions": { + "sankey.link.colorscales": { "params": { - "plotly_name": "dimensions", - "parent_name": "parcoords", - "data_class_str": "Dimension", + "plotly_name": "colorscales", + "parent_name": "sankey.link", + "data_class_str": "Colorscale", "data_docs": "\n" }, "superclass": "CompoundArrayValidator" }, - "parcoords.dimension.visible": { - "params": { - "plotly_name": "visible", - "parent_name": "parcoords.dimension", - "edit_type": "plot" - }, - "superclass": "BooleanValidator" - }, - "parcoords.dimension.valuessrc": { - "params": { - "plotly_name": "valuessrc", - "parent_name": "parcoords.dimension", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "parcoords.dimension.values": { - "params": { - "plotly_name": "values", - "parent_name": "parcoords.dimension", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "parcoords.dimension.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "parcoords.dimension", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "parcoords.dimension.tickvals": { - "params": { - "plotly_name": "tickvals", - "parent_name": "parcoords.dimension", - "edit_type": "plot" - }, - "superclass": "DataArrayValidator" - }, - "parcoords.dimension.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "parcoords.dimension", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "parcoords.dimension.ticktext": { - "params": { - "plotly_name": "ticktext", - "parent_name": "parcoords.dimension", - "edit_type": "plot" - }, - "superclass": "DataArrayValidator" - }, - "parcoords.dimension.tickformat": { - "params": { - "plotly_name": "tickformat", - "parent_name": "parcoords.dimension", - "edit_type": "plot" - }, - "superclass": "StringValidator" - }, - "parcoords.dimension.templateitemname": { + "sankey.link.colorscale.templateitemname": { "params": { "plotly_name": "templateitemname", - "parent_name": "parcoords.dimension", + "parent_name": "sankey.link.colorscale", "edit_type": "calc" }, "superclass": "StringValidator" }, - "parcoords.dimension.range": { - "params": { - "plotly_name": "range", - "parent_name": "parcoords.dimension", - "edit_type": "plot", - "items": [ - { - "editType": "plot", - "valType": "number" - }, - { - "editType": "plot", - "valType": "number" - } - ] - }, - "superclass": "InfoArrayValidator" - }, - "parcoords.dimension.name": { + "sankey.link.colorscale.name": { "params": { "plotly_name": "name", - "parent_name": "parcoords.dimension", - "edit_type": "none" + "parent_name": "sankey.link.colorscale", + "edit_type": "calc" }, "superclass": "StringValidator" }, - "parcoords.dimension.multiselect": { + "sankey.link.colorscale.label": { "params": { - "plotly_name": "multiselect", - "parent_name": "parcoords.dimension", - "edit_type": "plot" + "plotly_name": "label", + "parent_name": "sankey.link.colorscale", + "edit_type": "calc" }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "parcoords.dimension.label": { + "sankey.link.colorscale.colorscale": { "params": { - "plotly_name": "label", - "parent_name": "parcoords.dimension", - "edit_type": "plot" + "plotly_name": "colorscale", + "parent_name": "sankey.link.colorscale", + "edit_type": "calc", + "implied_edits": { + "autocolorscale": false + } }, - "superclass": "StringValidator" + "superclass": "ColorscaleValidator" }, - "parcoords.dimension.constraintrange": { + "sankey.link.colorscale.cmin": { "params": { - "plotly_name": "constraintrange", - "parent_name": "parcoords.dimension", - "dimensions": "1-2", - "edit_type": "plot", - "free_length": true, - "items": [ - { - "editType": "plot", - "valType": "any" - }, - { - "editType": "plot", - "valType": "any" - } - ] + "plotly_name": "cmin", + "parent_name": "sankey.link.colorscale", + "edit_type": "calc" }, - "superclass": "InfoArrayValidator" + "superclass": "NumberValidator" }, - "parcoords.customdatasrc": { + "sankey.link.colorscale.cmax": { "params": { - "plotly_name": "customdatasrc", - "parent_name": "parcoords", - "edit_type": "none" + "plotly_name": "cmax", + "parent_name": "sankey.link.colorscale", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "parcoords.customdata": { + "sankey.link.color": { "params": { - "plotly_name": "customdata", - "parent_name": "parcoords", + "plotly_name": "color", + "parent_name": "sankey.link", + "array_ok": true, "edit_type": "calc" }, - "superclass": "DataArrayValidator" + "superclass": "ColorValidator" }, - "parcats": { + "sankey.link.arrowlen": { "params": { - "plotly_name": "parcats", - "parent_name": "", - "data_class_str": "Parcats", - "data_docs": "\n" + "plotly_name": "arrowlen", + "parent_name": "sankey.link", + "edit_type": "calc", + "min": 0 }, - "superclass": "CompoundValidator" + "superclass": "NumberValidator" }, - "parcats.visible": { + "sankey.legendwidth": { "params": { - "plotly_name": "visible", - "parent_name": "parcats", - "edit_type": "calc", - "values": [ - true, - false, - "legendonly" - ] + "plotly_name": "legendwidth", + "parent_name": "sankey", + "edit_type": "style", + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "parcats.uirevision": { + "sankey.legendrank": { "params": { - "plotly_name": "uirevision", - "parent_name": "parcats", - "edit_type": "none" + "plotly_name": "legendrank", + "parent_name": "sankey", + "edit_type": "style" }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "parcats.uid": { + "sankey.legendgrouptitle": { "params": { - "plotly_name": "uid", - "parent_name": "parcats", - "edit_type": "plot" + "plotly_name": "legendgrouptitle", + "parent_name": "sankey", + "data_class_str": "Legendgrouptitle", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "sankey.legendgrouptitle.text": { + "params": { + "plotly_name": "text", + "parent_name": "sankey.legendgrouptitle", + "edit_type": "style" }, "superclass": "StringValidator" }, - "parcats.tickfont": { + "sankey.legendgrouptitle.font": { "params": { - "plotly_name": "tickfont", - "parent_name": "parcats", - "data_class_str": "Tickfont", + "plotly_name": "font", + "parent_name": "sankey.legendgrouptitle", + "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "parcats.tickfont.weight": { + "sankey.legendgrouptitle.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "parcats.tickfont", - "edit_type": "calc", + "parent_name": "sankey.legendgrouptitle.font", + "edit_type": "style", "extras": [ "normal", "bold" @@ -79693,11 +64638,11 @@ }, "superclass": "IntegerValidator" }, - "parcats.tickfont.variant": { + "sankey.legendgrouptitle.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "parcats.tickfont", - "edit_type": "calc", + "parent_name": "sankey.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "small-caps", @@ -79709,11 +64654,11 @@ }, "superclass": "EnumeratedValidator" }, - "parcats.tickfont.textcase": { + "sankey.legendgrouptitle.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "parcats.tickfont", - "edit_type": "calc", + "parent_name": "sankey.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "word caps", @@ -79723,11 +64668,11 @@ }, "superclass": "EnumeratedValidator" }, - "parcats.tickfont.style": { + "sankey.legendgrouptitle.font.style": { "params": { "plotly_name": "style", - "parent_name": "parcats.tickfont", - "edit_type": "calc", + "parent_name": "sankey.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "italic" @@ -79735,28 +64680,28 @@ }, "superclass": "EnumeratedValidator" }, - "parcats.tickfont.size": { + "sankey.legendgrouptitle.font.size": { "params": { "plotly_name": "size", - "parent_name": "parcats.tickfont", - "edit_type": "calc", + "parent_name": "sankey.legendgrouptitle.font", + "edit_type": "style", "min": 1 }, "superclass": "NumberValidator" }, - "parcats.tickfont.shadow": { + "sankey.legendgrouptitle.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "parcats.tickfont", - "edit_type": "calc" + "parent_name": "sankey.legendgrouptitle.font", + "edit_type": "style" }, "superclass": "StringValidator" }, - "parcats.tickfont.lineposition": { + "sankey.legendgrouptitle.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "parcats.tickfont", - "edit_type": "calc", + "parent_name": "sankey.legendgrouptitle.font", + "edit_type": "style", "extras": [ "none" ], @@ -79768,626 +64713,572 @@ }, "superclass": "FlaglistValidator" }, - "parcats.tickfont.family": { + "sankey.legendgrouptitle.font.family": { "params": { "plotly_name": "family", - "parent_name": "parcats.tickfont", - "edit_type": "calc", + "parent_name": "sankey.legendgrouptitle.font", + "edit_type": "style", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "parcats.tickfont.color": { + "sankey.legendgrouptitle.font.color": { "params": { "plotly_name": "color", - "parent_name": "parcats.tickfont", - "edit_type": "calc" + "parent_name": "sankey.legendgrouptitle.font", + "edit_type": "style" }, "superclass": "ColorValidator" }, - "parcats.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "parcats", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "parcats.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "parcats.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "parcats.stream.maxpoints": { + "sankey.legend": { "params": { - "plotly_name": "maxpoints", - "parent_name": "parcats.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 + "plotly_name": "legend", + "parent_name": "sankey", + "dflt": "legend", + "edit_type": "style" }, - "superclass": "NumberValidator" + "superclass": "SubplotidValidator" }, - "parcats.sortpaths": { + "sankey.ids": { "params": { - "plotly_name": "sortpaths", - "parent_name": "parcats", - "edit_type": "plot", - "values": [ - "forward", - "backward" - ] + "plotly_name": "ids", + "parent_name": "sankey", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "DataArrayValidator" }, - "parcats.name": { + "sankey.hoverlabel": { "params": { - "plotly_name": "name", - "parent_name": "parcats", - "edit_type": "style" + "plotly_name": "hoverlabel", + "parent_name": "sankey", + "data_class_str": "Hoverlabel", + "data_docs": "\n" }, - "superclass": "StringValidator" + "superclass": "CompoundValidator" }, - "parcats.metasrc": { + "sankey.hoverlabel.showarrow": { "params": { - "plotly_name": "metasrc", - "parent_name": "parcats", - "edit_type": "none" + "plotly_name": "showarrow", + "parent_name": "sankey.hoverlabel", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "parcats.meta": { + "sankey.hoverlabel.namelength": { "params": { - "plotly_name": "meta", - "parent_name": "parcats", + "plotly_name": "namelength", + "parent_name": "sankey.hoverlabel", "array_ok": true, - "edit_type": "plot" + "edit_type": "calc", + "min": -1 }, - "superclass": "AnyValidator" + "superclass": "IntegerValidator" }, - "parcats.line": { + "sankey.hoverlabel.font": { "params": { - "plotly_name": "line", - "parent_name": "parcats", - "data_class_str": "Line", + "plotly_name": "font", + "parent_name": "sankey.hoverlabel", + "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "parcats.line.showscale": { + "sankey.hoverlabel.font.weight": { "params": { - "plotly_name": "showscale", - "parent_name": "parcats.line", - "edit_type": "calc" + "plotly_name": "weight", + "parent_name": "sankey.hoverlabel.font", + "array_ok": true, + "edit_type": "calc", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "BooleanValidator" + "superclass": "IntegerValidator" }, - "parcats.line.shape": { + "sankey.hoverlabel.font.variant": { "params": { - "plotly_name": "shape", - "parent_name": "parcats.line", - "edit_type": "plot", + "plotly_name": "variant", + "parent_name": "sankey.hoverlabel.font", + "array_ok": true, + "edit_type": "calc", "values": [ - "linear", - "hspline" + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] }, "superclass": "EnumeratedValidator" }, - "parcats.line.reversescale": { - "params": { - "plotly_name": "reversescale", - "parent_name": "parcats.line", - "edit_type": "plot" - }, - "superclass": "BooleanValidator" - }, - "parcats.line.hovertemplatefallback": { - "params": { - "plotly_name": "hovertemplatefallback", - "parent_name": "parcats.line", - "edit_type": "plot" - }, - "superclass": "AnyValidator" - }, - "parcats.line.hovertemplate": { + "sankey.hoverlabel.font.textcase": { "params": { - "plotly_name": "hovertemplate", - "parent_name": "parcats.line", - "edit_type": "plot" + "plotly_name": "textcase", + "parent_name": "sankey.hoverlabel.font", + "array_ok": true, + "edit_type": "calc", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "parcats.line.colorsrc": { + "sankey.hoverlabel.font.style": { "params": { - "plotly_name": "colorsrc", - "parent_name": "parcats.line", - "edit_type": "none" + "plotly_name": "style", + "parent_name": "sankey.hoverlabel.font", + "array_ok": true, + "edit_type": "calc", + "values": [ + "normal", + "italic" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "parcats.line.colorscale": { + "sankey.hoverlabel.font.size": { "params": { - "plotly_name": "colorscale", - "parent_name": "parcats.line", + "plotly_name": "size", + "parent_name": "sankey.hoverlabel.font", + "array_ok": true, "edit_type": "calc", - "implied_edits": { - "autocolorscale": false - } + "min": 1 }, - "superclass": "ColorscaleValidator" + "superclass": "NumberValidator" }, - "parcats.line.colorbar": { + "sankey.hoverlabel.font.shadow": { "params": { - "plotly_name": "colorbar", - "parent_name": "parcats.line", - "data_class_str": "ColorBar", - "data_docs": "\n" + "plotly_name": "shadow", + "parent_name": "sankey.hoverlabel.font", + "array_ok": true, + "edit_type": "calc" }, - "superclass": "CompoundValidator" + "superclass": "StringValidator" }, - "parcats.line.colorbar.yref": { + "sankey.hoverlabel.font.lineposition": { "params": { - "plotly_name": "yref", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", - "values": [ - "container", - "paper" + "plotly_name": "lineposition", + "parent_name": "sankey.hoverlabel.font", + "array_ok": true, + "edit_type": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" ] }, - "superclass": "EnumeratedValidator" - }, - "parcats.line.colorbar.ypad": { - "params": { - "plotly_name": "ypad", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" + "superclass": "FlaglistValidator" }, - "parcats.line.colorbar.yanchor": { + "sankey.hoverlabel.font.family": { "params": { - "plotly_name": "yanchor", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", - "values": [ - "top", - "middle", - "bottom" - ] + "plotly_name": "family", + "parent_name": "sankey.hoverlabel.font", + "array_ok": true, + "edit_type": "calc", + "no_blank": true, + "strict": true }, - "superclass": "EnumeratedValidator" + "superclass": "StringValidator" }, - "parcats.line.colorbar.y": { + "sankey.hoverlabel.font.color": { "params": { - "plotly_name": "y", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars" + "plotly_name": "color", + "parent_name": "sankey.hoverlabel.font", + "array_ok": true, + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "parcats.line.colorbar.xref": { + "sankey.hoverlabel.bordercolor": { "params": { - "plotly_name": "xref", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", - "values": [ - "container", - "paper" - ] + "plotly_name": "bordercolor", + "parent_name": "sankey.hoverlabel", + "array_ok": true, + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "ColorValidator" }, - "parcats.line.colorbar.xpad": { + "sankey.hoverlabel.bgcolor": { "params": { - "plotly_name": "xpad", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "bgcolor", + "parent_name": "sankey.hoverlabel", + "array_ok": true, + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "parcats.line.colorbar.xanchor": { + "sankey.hoverlabel.align": { "params": { - "plotly_name": "xanchor", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", + "plotly_name": "align", + "parent_name": "sankey.hoverlabel", + "array_ok": true, + "edit_type": "calc", "values": [ "left", - "center", - "right" + "right", + "auto" ] }, "superclass": "EnumeratedValidator" }, - "parcats.line.colorbar.x": { + "sankey.hoverinfo": { "params": { - "plotly_name": "x", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars" + "plotly_name": "hoverinfo", + "parent_name": "sankey", + "array_ok": false, + "edit_type": "calc", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [] }, - "superclass": "NumberValidator" + "superclass": "FlaglistValidator" }, - "parcats.line.colorbar.title": { + "sankey.domain": { "params": { - "plotly_name": "title", - "parent_name": "parcats.line.colorbar", - "data_class_str": "Title", + "plotly_name": "domain", + "parent_name": "sankey", + "data_class_str": "Domain", "data_docs": "\n" }, - "superclass": "TitleValidator" - }, - "parcats.line.colorbar.title.text": { - "params": { - "plotly_name": "text", - "parent_name": "parcats.line.colorbar.title", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" + "superclass": "CompoundValidator" }, - "parcats.line.colorbar.title.side": { + "sankey.domain.y": { "params": { - "plotly_name": "side", - "parent_name": "parcats.line.colorbar.title", - "edit_type": "colorbars", - "values": [ - "right", - "top", - "bottom" + "plotly_name": "y", + "parent_name": "sankey.domain", + "edit_type": "calc", + "items": [ + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + } ] }, - "superclass": "EnumeratedValidator" + "superclass": "InfoArrayValidator" }, - "parcats.line.colorbar.title.font": { + "sankey.domain.x": { "params": { - "plotly_name": "font", - "parent_name": "parcats.line.colorbar.title", - "data_class_str": "Font", - "data_docs": "\n" + "plotly_name": "x", + "parent_name": "sankey.domain", + "edit_type": "calc", + "items": [ + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + } + ] }, - "superclass": "CompoundValidator" + "superclass": "InfoArrayValidator" }, - "parcats.line.colorbar.title.font.weight": { + "sankey.domain.row": { "params": { - "plotly_name": "weight", - "parent_name": "parcats.line.colorbar.title.font", - "edit_type": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 + "plotly_name": "row", + "parent_name": "sankey.domain", + "edit_type": "calc", + "min": 0 }, "superclass": "IntegerValidator" }, - "parcats.line.colorbar.title.font.variant": { + "sankey.domain.column": { "params": { - "plotly_name": "variant", - "parent_name": "parcats.line.colorbar.title.font", - "edit_type": "colorbars", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] + "plotly_name": "column", + "parent_name": "sankey.domain", + "edit_type": "calc", + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "IntegerValidator" }, - "parcats.line.colorbar.title.font.textcase": { + "sankey.customdata": { "params": { - "plotly_name": "textcase", - "parent_name": "parcats.line.colorbar.title.font", - "edit_type": "colorbars", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] + "plotly_name": "customdata", + "parent_name": "sankey", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "DataArrayValidator" }, - "parcats.line.colorbar.title.font.style": { + "sankey.arrangement": { "params": { - "plotly_name": "style", - "parent_name": "parcats.line.colorbar.title.font", - "edit_type": "colorbars", + "plotly_name": "arrangement", + "parent_name": "sankey", + "edit_type": "calc", "values": [ - "normal", - "italic" + "snap", + "perpendicular", + "freeform", + "fixed" ] }, "superclass": "EnumeratedValidator" }, - "parcats.line.colorbar.title.font.size": { + "quiver": { "params": { - "plotly_name": "size", - "parent_name": "parcats.line.colorbar.title.font", - "edit_type": "colorbars", - "min": 1 + "plotly_name": "quiver", + "parent_name": "", + "data_class_str": "Quiver", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "parcats.line.colorbar.title.font.shadow": { + "quiver.yhoverformat": { "params": { - "plotly_name": "shadow", - "parent_name": "parcats.line.colorbar.title.font", - "edit_type": "colorbars" + "plotly_name": "yhoverformat", + "parent_name": "quiver", + "edit_type": "none" }, "superclass": "StringValidator" }, - "parcats.line.colorbar.title.font.lineposition": { - "params": { - "plotly_name": "lineposition", - "parent_name": "parcats.line.colorbar.title.font", - "edit_type": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] - }, - "superclass": "FlaglistValidator" - }, - "parcats.line.colorbar.title.font.family": { + "quiver.yaxis": { "params": { - "plotly_name": "family", - "parent_name": "parcats.line.colorbar.title.font", - "edit_type": "colorbars", - "no_blank": true, - "strict": true + "plotly_name": "yaxis", + "parent_name": "quiver", + "dflt": "y", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "StringValidator" + "superclass": "SubplotidValidator" }, - "parcats.line.colorbar.title.font.color": { + "quiver.y0": { "params": { - "plotly_name": "color", - "parent_name": "parcats.line.colorbar.title.font", - "edit_type": "colorbars" + "plotly_name": "y0", + "parent_name": "quiver", + "anim": true, + "edit_type": "calc+clearAxisTypes" }, - "superclass": "ColorValidator" + "superclass": "AnyValidator" }, - "parcats.line.colorbar.tickwidth": { + "quiver.y": { "params": { - "plotly_name": "tickwidth", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "y", + "parent_name": "quiver", + "anim": true, + "edit_type": "calc+clearAxisTypes" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "parcats.line.colorbar.tickvalssrc": { + "quiver.xhoverformat": { "params": { - "plotly_name": "tickvalssrc", - "parent_name": "parcats.line.colorbar", + "plotly_name": "xhoverformat", + "parent_name": "quiver", "edit_type": "none" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "parcats.line.colorbar.tickvals": { + "quiver.xaxis": { "params": { - "plotly_name": "tickvals", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars" + "plotly_name": "xaxis", + "parent_name": "quiver", + "dflt": "x", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "DataArrayValidator" + "superclass": "SubplotidValidator" }, - "parcats.line.colorbar.ticktextsrc": { + "quiver.x0": { "params": { - "plotly_name": "ticktextsrc", - "parent_name": "parcats.line.colorbar", - "edit_type": "none" + "plotly_name": "x0", + "parent_name": "quiver", + "anim": true, + "edit_type": "calc+clearAxisTypes" }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "parcats.line.colorbar.ticktext": { + "quiver.x": { "params": { - "plotly_name": "ticktext", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars" + "plotly_name": "x", + "parent_name": "quiver", + "anim": true, + "edit_type": "calc+clearAxisTypes" }, "superclass": "DataArrayValidator" }, - "parcats.line.colorbar.ticksuffix": { - "params": { - "plotly_name": "ticksuffix", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "parcats.line.colorbar.ticks": { + "quiver.visible": { "params": { - "plotly_name": "ticks", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", + "plotly_name": "visible", + "parent_name": "quiver", + "edit_type": "calc", "values": [ - "outside", - "inside", - "" + true, + false, + "legendonly" ] }, "superclass": "EnumeratedValidator" }, - "parcats.line.colorbar.tickprefix": { + "quiver.vhoverformat": { "params": { - "plotly_name": "tickprefix", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars" + "plotly_name": "vhoverformat", + "parent_name": "quiver", + "edit_type": "none" }, "superclass": "StringValidator" }, - "parcats.line.colorbar.tickmode": { + "quiver.v": { "params": { - "plotly_name": "tickmode", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", - "implied_edits": {}, - "values": [ - "auto", - "linear", - "array" - ] + "plotly_name": "v", + "parent_name": "quiver", + "anim": true, + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "DataArrayValidator" }, - "parcats.line.colorbar.ticklen": { + "quiver.unselected": { "params": { - "plotly_name": "ticklen", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "unselected", + "parent_name": "quiver", + "data_class_str": "Unselected", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "parcats.line.colorbar.ticklabelstep": { + "quiver.unselected.textfont": { "params": { - "plotly_name": "ticklabelstep", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", - "min": 1 + "plotly_name": "textfont", + "parent_name": "quiver.unselected", + "data_class_str": "Textfont", + "data_docs": "\n" }, - "superclass": "IntegerValidator" + "superclass": "CompoundValidator" }, - "parcats.line.colorbar.ticklabelposition": { + "quiver.unselected.textfont.color": { "params": { - "plotly_name": "ticklabelposition", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" - ] + "plotly_name": "color", + "parent_name": "quiver.unselected.textfont", + "edit_type": "style" }, - "superclass": "EnumeratedValidator" + "superclass": "ColorValidator" }, - "parcats.line.colorbar.ticklabeloverflow": { + "quiver.unselected.marker": { "params": { - "plotly_name": "ticklabeloverflow", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", - "values": [ - "allow", - "hide past div", - "hide past domain" - ] + "plotly_name": "marker", + "parent_name": "quiver.unselected", + "data_class_str": "Marker", + "data_docs": "\n" }, - "superclass": "EnumeratedValidator" + "superclass": "CompoundValidator" }, - "parcats.line.colorbar.tickformatstopdefaults": { + "quiver.unselected.marker.line": { "params": { - "plotly_name": "tickformatstopdefaults", - "parent_name": "parcats.line.colorbar", - "data_class_str": "Tickformatstop", + "plotly_name": "line", + "parent_name": "quiver.unselected.marker", + "data_class_str": "Line", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "parcats.line.colorbar.tickformatstops": { + "quiver.unselected.marker.line.width": { "params": { - "plotly_name": "tickformatstops", - "parent_name": "parcats.line.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" + "plotly_name": "width", + "parent_name": "quiver.unselected.marker.line", + "edit_type": "style", + "min": 0 }, - "superclass": "CompoundArrayValidator" + "superclass": "NumberValidator" }, - "parcats.line.colorbar.tickformatstop.value": { + "quiver.unselected.marker.color": { "params": { - "plotly_name": "value", - "parent_name": "parcats.line.colorbar.tickformatstop", - "edit_type": "colorbars" + "plotly_name": "color", + "parent_name": "quiver.unselected.marker", + "edit_type": "style" }, - "superclass": "StringValidator" + "superclass": "ColorValidator" }, - "parcats.line.colorbar.tickformatstop.templateitemname": { + "quiver.uirevision": { "params": { - "plotly_name": "templateitemname", - "parent_name": "parcats.line.colorbar.tickformatstop", - "edit_type": "colorbars" + "plotly_name": "uirevision", + "parent_name": "quiver", + "edit_type": "none" }, - "superclass": "StringValidator" + "superclass": "AnyValidator" }, - "parcats.line.colorbar.tickformatstop.name": { + "quiver.uid": { "params": { - "plotly_name": "name", - "parent_name": "parcats.line.colorbar.tickformatstop", - "edit_type": "colorbars" + "plotly_name": "uid", + "parent_name": "quiver", + "anim": true, + "edit_type": "plot" }, "superclass": "StringValidator" }, - "parcats.line.colorbar.tickformatstop.enabled": { + "quiver.uhoverformat": { "params": { - "plotly_name": "enabled", - "parent_name": "parcats.line.colorbar.tickformatstop", - "edit_type": "colorbars" + "plotly_name": "uhoverformat", + "parent_name": "quiver", + "edit_type": "none" }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "parcats.line.colorbar.tickformatstop.dtickrange": { + "quiver.u": { "params": { - "plotly_name": "dtickrange", - "parent_name": "parcats.line.colorbar.tickformatstop", - "edit_type": "colorbars", - "items": [ - { - "editType": "colorbars", - "valType": "any" - }, - { - "editType": "colorbars", - "valType": "any" - } - ] + "plotly_name": "u", + "parent_name": "quiver", + "anim": true, + "edit_type": "calc" }, - "superclass": "InfoArrayValidator" + "superclass": "DataArrayValidator" }, - "parcats.line.colorbar.tickformat": { + "quiver.textposition": { "params": { - "plotly_name": "tickformat", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars" + "plotly_name": "textposition", + "parent_name": "quiver", + "array_ok": true, + "edit_type": "calc", + "values": [ + "top left", + "top center", + "top right", + "middle left", + "middle center", + "middle right", + "bottom left", + "bottom center", + "bottom right" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "parcats.line.colorbar.tickfont": { + "quiver.textfont": { "params": { - "plotly_name": "tickfont", - "parent_name": "parcats.line.colorbar", - "data_class_str": "Tickfont", + "plotly_name": "textfont", + "parent_name": "quiver", + "data_class_str": "Textfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "parcats.line.colorbar.tickfont.weight": { + "quiver.textfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "parcats.line.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "quiver.textfont", + "array_ok": true, + "edit_type": "calc", "extras": [ "normal", "bold" @@ -80397,11 +65288,12 @@ }, "superclass": "IntegerValidator" }, - "parcats.line.colorbar.tickfont.variant": { + "quiver.textfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "parcats.line.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "quiver.textfont", + "array_ok": true, + "edit_type": "calc", "values": [ "normal", "small-caps", @@ -80413,11 +65305,12 @@ }, "superclass": "EnumeratedValidator" }, - "parcats.line.colorbar.tickfont.textcase": { + "quiver.textfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "parcats.line.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "quiver.textfont", + "array_ok": true, + "edit_type": "calc", "values": [ "normal", "word caps", @@ -80427,11 +65320,12 @@ }, "superclass": "EnumeratedValidator" }, - "parcats.line.colorbar.tickfont.style": { + "quiver.textfont.style": { "params": { "plotly_name": "style", - "parent_name": "parcats.line.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "quiver.textfont", + "array_ok": true, + "edit_type": "calc", "values": [ "normal", "italic" @@ -80439,517 +65333,403 @@ }, "superclass": "EnumeratedValidator" }, - "parcats.line.colorbar.tickfont.size": { + "quiver.textfont.size": { "params": { "plotly_name": "size", - "parent_name": "parcats.line.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "quiver.textfont", + "array_ok": true, + "edit_type": "calc", "min": 1 }, "superclass": "NumberValidator" }, - "parcats.line.colorbar.tickfont.shadow": { - "params": { - "plotly_name": "shadow", - "parent_name": "parcats.line.colorbar.tickfont", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "parcats.line.colorbar.tickfont.lineposition": { - "params": { - "plotly_name": "lineposition", - "parent_name": "parcats.line.colorbar.tickfont", - "edit_type": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] - }, - "superclass": "FlaglistValidator" - }, - "parcats.line.colorbar.tickfont.family": { - "params": { - "plotly_name": "family", - "parent_name": "parcats.line.colorbar.tickfont", - "edit_type": "colorbars", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "parcats.line.colorbar.tickfont.color": { - "params": { - "plotly_name": "color", - "parent_name": "parcats.line.colorbar.tickfont", - "edit_type": "colorbars" - }, - "superclass": "ColorValidator" - }, - "parcats.line.colorbar.tickcolor": { - "params": { - "plotly_name": "tickcolor", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars" - }, - "superclass": "ColorValidator" - }, - "parcats.line.colorbar.tickangle": { - "params": { - "plotly_name": "tickangle", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars" - }, - "superclass": "AngleValidator" - }, - "parcats.line.colorbar.tick0": { - "params": { - "plotly_name": "tick0", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", - "implied_edits": { - "tickmode": "linear" - } - }, - "superclass": "AnyValidator" - }, - "parcats.line.colorbar.thicknessmode": { - "params": { - "plotly_name": "thicknessmode", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", - "values": [ - "fraction", - "pixels" - ] - }, - "superclass": "EnumeratedValidator" - }, - "parcats.line.colorbar.thickness": { - "params": { - "plotly_name": "thickness", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "parcats.line.colorbar.showticksuffix": { - "params": { - "plotly_name": "showticksuffix", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "parcats.line.colorbar.showtickprefix": { - "params": { - "plotly_name": "showtickprefix", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "parcats.line.colorbar.showticklabels": { - "params": { - "plotly_name": "showticklabels", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars" - }, - "superclass": "BooleanValidator" - }, - "parcats.line.colorbar.showexponent": { - "params": { - "plotly_name": "showexponent", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "parcats.line.colorbar.separatethousands": { + "quiver.textfont.shadow": { "params": { - "plotly_name": "separatethousands", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars" + "plotly_name": "shadow", + "parent_name": "quiver.textfont", + "array_ok": true, + "edit_type": "calc" }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "parcats.line.colorbar.outlinewidth": { + "quiver.textfont.lineposition": { "params": { - "plotly_name": "outlinewidth", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "lineposition", + "parent_name": "quiver.textfont", + "array_ok": true, + "edit_type": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] }, - "superclass": "NumberValidator" + "superclass": "FlaglistValidator" }, - "parcats.line.colorbar.outlinecolor": { + "quiver.textfont.family": { "params": { - "plotly_name": "outlinecolor", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars" + "plotly_name": "family", + "parent_name": "quiver.textfont", + "array_ok": true, + "edit_type": "calc", + "no_blank": true, + "strict": true }, - "superclass": "ColorValidator" + "superclass": "StringValidator" }, - "parcats.line.colorbar.orientation": { + "quiver.textfont.color": { "params": { - "plotly_name": "orientation", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", - "values": [ - "h", - "v" - ] + "plotly_name": "color", + "parent_name": "quiver.textfont", + "array_ok": true, + "edit_type": "style" }, - "superclass": "EnumeratedValidator" + "superclass": "ColorValidator" }, - "parcats.line.colorbar.nticks": { + "quiver.text": { "params": { - "plotly_name": "nticks", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "text", + "parent_name": "quiver", + "array_ok": true, + "edit_type": "calc" }, - "superclass": "IntegerValidator" + "superclass": "StringValidator" }, - "parcats.line.colorbar.minexponent": { + "quiver.sizeref": { "params": { - "plotly_name": "minexponent", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", + "plotly_name": "sizeref", + "parent_name": "quiver", + "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "parcats.line.colorbar.lenmode": { + "quiver.sizemode": { "params": { - "plotly_name": "lenmode", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", + "plotly_name": "sizemode", + "parent_name": "quiver", + "edit_type": "calc", "values": [ - "fraction", - "pixels" + "scaled", + "raw" ] }, "superclass": "EnumeratedValidator" }, - "parcats.line.colorbar.len": { + "quiver.showlegend": { "params": { - "plotly_name": "len", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "showlegend", + "parent_name": "quiver", + "edit_type": "style" }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "parcats.line.colorbar.labelalias": { + "quiver.selectedpoints": { "params": { - "plotly_name": "labelalias", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars" + "plotly_name": "selectedpoints", + "parent_name": "quiver", + "edit_type": "calc" }, "superclass": "AnyValidator" }, - "parcats.line.colorbar.exponentformat": { + "quiver.selected": { "params": { - "plotly_name": "exponentformat", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" - ] + "plotly_name": "selected", + "parent_name": "quiver", + "data_class_str": "Selected", + "data_docs": "\n" }, - "superclass": "EnumeratedValidator" + "superclass": "CompoundValidator" }, - "parcats.line.colorbar.dtick": { + "quiver.selected.textfont": { "params": { - "plotly_name": "dtick", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", - "implied_edits": { - "tickmode": "linear" - } + "plotly_name": "textfont", + "parent_name": "quiver.selected", + "data_class_str": "Textfont", + "data_docs": "\n" }, - "superclass": "AnyValidator" + "superclass": "CompoundValidator" }, - "parcats.line.colorbar.borderwidth": { + "quiver.selected.textfont.color": { "params": { - "plotly_name": "borderwidth", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "color", + "parent_name": "quiver.selected.textfont", + "edit_type": "style" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "parcats.line.colorbar.bordercolor": { + "quiver.selected.marker": { "params": { - "plotly_name": "bordercolor", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars" + "plotly_name": "marker", + "parent_name": "quiver.selected", + "data_class_str": "Marker", + "data_docs": "\n" }, - "superclass": "ColorValidator" + "superclass": "CompoundValidator" }, - "parcats.line.colorbar.bgcolor": { + "quiver.selected.marker.line": { "params": { - "plotly_name": "bgcolor", - "parent_name": "parcats.line.colorbar", - "edit_type": "colorbars" + "plotly_name": "line", + "parent_name": "quiver.selected.marker", + "data_class_str": "Line", + "data_docs": "\n" }, - "superclass": "ColorValidator" + "superclass": "CompoundValidator" }, - "parcats.line.coloraxis": { + "quiver.selected.marker.line.width": { "params": { - "plotly_name": "coloraxis", - "parent_name": "parcats.line", - "dflt": null, - "edit_type": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" + "plotly_name": "width", + "parent_name": "quiver.selected.marker.line", + "edit_type": "style", + "min": 0 }, - "superclass": "SubplotidValidator" + "superclass": "NumberValidator" }, - "parcats.line.color": { + "quiver.selected.marker.color": { "params": { "plotly_name": "color", - "parent_name": "parcats.line", - "array_ok": true, - "edit_type": "calc", - "colorscale_path": "parcats.line.colorscale" + "parent_name": "quiver.selected.marker", + "edit_type": "style" }, "superclass": "ColorValidator" }, - "parcats.line.cmin": { + "quiver.opacity": { "params": { - "plotly_name": "cmin", - "parent_name": "parcats.line", - "edit_type": "calc", - "implied_edits": { - "cauto": false - } + "plotly_name": "opacity", + "parent_name": "quiver", + "edit_type": "style", + "max": 1, + "min": 0 }, "superclass": "NumberValidator" }, - "parcats.line.cmid": { + "quiver.name": { "params": { - "plotly_name": "cmid", - "parent_name": "parcats.line", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "name", + "parent_name": "quiver", + "edit_type": "style" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "parcats.line.cmax": { + "quiver.meta": { "params": { - "plotly_name": "cmax", - "parent_name": "parcats.line", - "edit_type": "calc", - "implied_edits": { - "cauto": false - } + "plotly_name": "meta", + "parent_name": "quiver", + "array_ok": true, + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "parcats.line.cauto": { + "quiver.marker": { "params": { - "plotly_name": "cauto", - "parent_name": "parcats.line", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "marker", + "parent_name": "quiver", + "data_class_str": "Marker", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "quiver.marker.showscale": { + "params": { + "plotly_name": "showscale", + "parent_name": "quiver.marker", + "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "parcats.line.autocolorscale": { + "quiver.marker.reversescale": { "params": { - "plotly_name": "autocolorscale", - "parent_name": "parcats.line", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "reversescale", + "parent_name": "quiver.marker", + "edit_type": "plot" }, "superclass": "BooleanValidator" }, - "parcats.legendwidth": { + "quiver.marker.line": { "params": { - "plotly_name": "legendwidth", - "parent_name": "parcats", + "plotly_name": "line", + "parent_name": "quiver.marker", + "data_class_str": "Line", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "quiver.marker.line.width": { + "params": { + "plotly_name": "width", + "parent_name": "quiver.marker.line", "edit_type": "style", "min": 0 }, "superclass": "NumberValidator" }, - "parcats.legendgrouptitle": { + "quiver.marker.line.dash": { "params": { - "plotly_name": "legendgrouptitle", - "parent_name": "parcats", - "data_class_str": "Legendgrouptitle", - "data_docs": "\n" + "plotly_name": "dash", + "parent_name": "quiver.marker.line", + "edit_type": "style", + "values": [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" + ] }, - "superclass": "CompoundValidator" + "superclass": "DashValidator" }, - "parcats.legendgrouptitle.text": { + "quiver.marker.colorscale": { "params": { - "plotly_name": "text", - "parent_name": "parcats.legendgrouptitle", - "edit_type": "style" + "plotly_name": "colorscale", + "parent_name": "quiver.marker", + "edit_type": "calc", + "implied_edits": { + "autocolorscale": false + } }, - "superclass": "StringValidator" + "superclass": "ColorscaleValidator" }, - "parcats.legendgrouptitle.font": { + "quiver.marker.colorbar": { "params": { - "plotly_name": "font", - "parent_name": "parcats.legendgrouptitle", - "data_class_str": "Font", + "plotly_name": "colorbar", + "parent_name": "quiver.marker", + "data_class_str": "ColorBar", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "parcats.legendgrouptitle.font.weight": { - "params": { - "plotly_name": "weight", - "parent_name": "parcats.legendgrouptitle.font", - "edit_type": "style", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "parcats.legendgrouptitle.font.variant": { + "quiver.marker.colorbar.yref": { "params": { - "plotly_name": "variant", - "parent_name": "parcats.legendgrouptitle.font", - "edit_type": "style", + "plotly_name": "yref", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "container", + "paper" ] }, "superclass": "EnumeratedValidator" }, - "parcats.legendgrouptitle.font.textcase": { + "quiver.marker.colorbar.ypad": { "params": { - "plotly_name": "textcase", - "parent_name": "parcats.legendgrouptitle.font", - "edit_type": "style", + "plotly_name": "ypad", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "quiver.marker.colorbar.yanchor": { + "params": { + "plotly_name": "yanchor", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", "values": [ - "normal", - "word caps", - "upper", - "lower" + "top", + "middle", + "bottom" ] }, "superclass": "EnumeratedValidator" }, - "parcats.legendgrouptitle.font.style": { + "quiver.marker.colorbar.y": { "params": { - "plotly_name": "style", - "parent_name": "parcats.legendgrouptitle.font", - "edit_type": "style", + "plotly_name": "y", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars" + }, + "superclass": "NumberValidator" + }, + "quiver.marker.colorbar.xref": { + "params": { + "plotly_name": "xref", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", "values": [ - "normal", - "italic" + "container", + "paper" ] }, "superclass": "EnumeratedValidator" }, - "parcats.legendgrouptitle.font.size": { + "quiver.marker.colorbar.xpad": { "params": { - "plotly_name": "size", - "parent_name": "parcats.legendgrouptitle.font", - "edit_type": "style", - "min": 1 + "plotly_name": "xpad", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, "superclass": "NumberValidator" }, - "parcats.legendgrouptitle.font.shadow": { + "quiver.marker.colorbar.xanchor": { "params": { - "plotly_name": "shadow", - "parent_name": "parcats.legendgrouptitle.font", - "edit_type": "style" + "plotly_name": "xanchor", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "left", + "center", + "right" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "parcats.legendgrouptitle.font.lineposition": { + "quiver.marker.colorbar.x": { "params": { - "plotly_name": "lineposition", - "parent_name": "parcats.legendgrouptitle.font", - "edit_type": "style", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] + "plotly_name": "x", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "FlaglistValidator" + "superclass": "NumberValidator" }, - "parcats.legendgrouptitle.font.family": { + "quiver.marker.colorbar.title": { "params": { - "plotly_name": "family", - "parent_name": "parcats.legendgrouptitle.font", - "edit_type": "style", - "no_blank": true, - "strict": true + "plotly_name": "title", + "parent_name": "quiver.marker.colorbar", + "data_class_str": "Title", + "data_docs": "\n" + }, + "superclass": "TitleValidator" + }, + "quiver.marker.colorbar.title.text": { + "params": { + "plotly_name": "text", + "parent_name": "quiver.marker.colorbar.title", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "parcats.legendgrouptitle.font.color": { + "quiver.marker.colorbar.title.side": { "params": { - "plotly_name": "color", - "parent_name": "parcats.legendgrouptitle.font", - "edit_type": "style" + "plotly_name": "side", + "parent_name": "quiver.marker.colorbar.title", + "edit_type": "colorbars", + "values": [ + "right", + "top", + "bottom" + ] }, - "superclass": "ColorValidator" + "superclass": "EnumeratedValidator" }, - "parcats.labelfont": { + "quiver.marker.colorbar.title.font": { "params": { - "plotly_name": "labelfont", - "parent_name": "parcats", - "data_class_str": "Labelfont", + "plotly_name": "font", + "parent_name": "quiver.marker.colorbar.title", + "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "parcats.labelfont.weight": { + "quiver.marker.colorbar.title.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "parcats.labelfont", - "edit_type": "calc", + "parent_name": "quiver.marker.colorbar.title.font", + "edit_type": "colorbars", "extras": [ "normal", "bold" @@ -80959,11 +65739,11 @@ }, "superclass": "IntegerValidator" }, - "parcats.labelfont.variant": { + "quiver.marker.colorbar.title.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "parcats.labelfont", - "edit_type": "calc", + "parent_name": "quiver.marker.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "small-caps", @@ -80975,11 +65755,11 @@ }, "superclass": "EnumeratedValidator" }, - "parcats.labelfont.textcase": { + "quiver.marker.colorbar.title.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "parcats.labelfont", - "edit_type": "calc", + "parent_name": "quiver.marker.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "word caps", @@ -80989,11 +65769,11 @@ }, "superclass": "EnumeratedValidator" }, - "parcats.labelfont.style": { + "quiver.marker.colorbar.title.font.style": { "params": { "plotly_name": "style", - "parent_name": "parcats.labelfont", - "edit_type": "calc", + "parent_name": "quiver.marker.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "italic" @@ -81001,28 +65781,28 @@ }, "superclass": "EnumeratedValidator" }, - "parcats.labelfont.size": { + "quiver.marker.colorbar.title.font.size": { "params": { "plotly_name": "size", - "parent_name": "parcats.labelfont", - "edit_type": "calc", + "parent_name": "quiver.marker.colorbar.title.font", + "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "parcats.labelfont.shadow": { + "quiver.marker.colorbar.title.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "parcats.labelfont", - "edit_type": "calc" + "parent_name": "quiver.marker.colorbar.title.font", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "parcats.labelfont.lineposition": { + "quiver.marker.colorbar.title.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "parcats.labelfont", - "edit_type": "calc", + "parent_name": "quiver.marker.colorbar.title.font", + "edit_type": "colorbars", "extras": [ "none" ], @@ -81034,656 +65814,695 @@ }, "superclass": "FlaglistValidator" }, - "parcats.labelfont.family": { + "quiver.marker.colorbar.title.font.family": { "params": { "plotly_name": "family", - "parent_name": "parcats.labelfont", - "edit_type": "calc", + "parent_name": "quiver.marker.colorbar.title.font", + "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "parcats.labelfont.color": { + "quiver.marker.colorbar.title.font.color": { "params": { "plotly_name": "color", - "parent_name": "parcats.labelfont", - "edit_type": "calc" + "parent_name": "quiver.marker.colorbar.title.font", + "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "parcats.hovertemplatefallback": { + "quiver.marker.colorbar.tickwidth": { "params": { - "plotly_name": "hovertemplatefallback", - "parent_name": "parcats", - "edit_type": "plot" + "plotly_name": "tickwidth", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "parcats.hovertemplate": { + "quiver.marker.colorbar.tickvals": { "params": { - "plotly_name": "hovertemplate", - "parent_name": "parcats", - "edit_type": "plot" + "plotly_name": "tickvals", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "StringValidator" + "superclass": "DataArrayValidator" }, - "parcats.hoveron": { + "quiver.marker.colorbar.ticktext": { "params": { - "plotly_name": "hoveron", - "parent_name": "parcats", - "edit_type": "plot", - "values": [ - "category", - "color", - "dimension" - ] + "plotly_name": "ticktext", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "EnumeratedValidator" + "superclass": "DataArrayValidator" }, - "parcats.hoverinfo": { + "quiver.marker.colorbar.ticksuffix": { "params": { - "plotly_name": "hoverinfo", - "parent_name": "parcats", - "array_ok": false, - "edit_type": "plot", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "count", - "probability" - ] + "plotly_name": "ticksuffix", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "FlaglistValidator" + "superclass": "StringValidator" }, - "parcats.domain": { + "quiver.marker.colorbar.ticks": { "params": { - "plotly_name": "domain", - "parent_name": "parcats", - "data_class_str": "Domain", - "data_docs": "\n" + "plotly_name": "ticks", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "outside", + "inside", + "" + ] }, - "superclass": "CompoundValidator" + "superclass": "EnumeratedValidator" }, - "parcats.domain.y": { - "params": { - "plotly_name": "y", - "parent_name": "parcats.domain", - "edit_type": "calc", - "items": [ - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - } - ] + "quiver.marker.colorbar.tickprefix": { + "params": { + "plotly_name": "tickprefix", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "InfoArrayValidator" + "superclass": "StringValidator" }, - "parcats.domain.x": { + "quiver.marker.colorbar.tickmode": { "params": { - "plotly_name": "x", - "parent_name": "parcats.domain", - "edit_type": "calc", - "items": [ - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - } + "plotly_name": "tickmode", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", + "implied_edits": {}, + "values": [ + "auto", + "linear", + "array" ] }, - "superclass": "InfoArrayValidator" + "superclass": "EnumeratedValidator" }, - "parcats.domain.row": { + "quiver.marker.colorbar.ticklen": { "params": { - "plotly_name": "row", - "parent_name": "parcats.domain", - "edit_type": "calc", + "plotly_name": "ticklen", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", "min": 0 }, - "superclass": "IntegerValidator" + "superclass": "NumberValidator" }, - "parcats.domain.column": { + "quiver.marker.colorbar.ticklabelstep": { "params": { - "plotly_name": "column", - "parent_name": "parcats.domain", - "edit_type": "calc", - "min": 0 + "plotly_name": "ticklabelstep", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", + "min": 1 }, "superclass": "IntegerValidator" }, - "parcats.dimensiondefaults": { + "quiver.marker.colorbar.ticklabelposition": { "params": { - "plotly_name": "dimensiondefaults", - "parent_name": "parcats", - "data_class_str": "Dimension", + "plotly_name": "ticklabelposition", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom" + ] + }, + "superclass": "EnumeratedValidator" + }, + "quiver.marker.colorbar.ticklabeloverflow": { + "params": { + "plotly_name": "ticklabeloverflow", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "allow", + "hide past div", + "hide past domain" + ] + }, + "superclass": "EnumeratedValidator" + }, + "quiver.marker.colorbar.tickformatstopdefaults": { + "params": { + "plotly_name": "tickformatstopdefaults", + "parent_name": "quiver.marker.colorbar", + "data_class_str": "Tickformatstop", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "parcats.dimensions": { + "quiver.marker.colorbar.tickformatstops": { "params": { - "plotly_name": "dimensions", - "parent_name": "parcats", - "data_class_str": "Dimension", + "plotly_name": "tickformatstops", + "parent_name": "quiver.marker.colorbar", + "data_class_str": "Tickformatstop", "data_docs": "\n" }, "superclass": "CompoundArrayValidator" }, - "parcats.dimension.visible": { + "quiver.marker.colorbar.tickformatstop.value": { "params": { - "plotly_name": "visible", - "parent_name": "parcats.dimension", - "edit_type": "calc" + "plotly_name": "value", + "parent_name": "quiver.marker.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "parcats.dimension.valuessrc": { + "quiver.marker.colorbar.tickformatstop.templateitemname": { "params": { - "plotly_name": "valuessrc", - "parent_name": "parcats.dimension", - "edit_type": "none" + "plotly_name": "templateitemname", + "parent_name": "quiver.marker.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "parcats.dimension.values": { + "quiver.marker.colorbar.tickformatstop.name": { "params": { - "plotly_name": "values", - "parent_name": "parcats.dimension", - "edit_type": "calc" + "plotly_name": "name", + "parent_name": "quiver.marker.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "DataArrayValidator" + "superclass": "StringValidator" }, - "parcats.dimension.ticktextsrc": { + "quiver.marker.colorbar.tickformatstop.enabled": { "params": { - "plotly_name": "ticktextsrc", - "parent_name": "parcats.dimension", - "edit_type": "none" + "plotly_name": "enabled", + "parent_name": "quiver.marker.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "parcats.dimension.ticktext": { + "quiver.marker.colorbar.tickformatstop.dtickrange": { "params": { - "plotly_name": "ticktext", - "parent_name": "parcats.dimension", - "edit_type": "calc" + "plotly_name": "dtickrange", + "parent_name": "quiver.marker.colorbar.tickformatstop", + "edit_type": "colorbars", + "items": [ + { + "editType": "colorbars", + "valType": "any" + }, + { + "editType": "colorbars", + "valType": "any" + } + ] }, - "superclass": "DataArrayValidator" + "superclass": "InfoArrayValidator" }, - "parcats.dimension.label": { + "quiver.marker.colorbar.tickformat": { "params": { - "plotly_name": "label", - "parent_name": "parcats.dimension", - "edit_type": "calc" + "plotly_name": "tickformat", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "parcats.dimension.displayindex": { + "quiver.marker.colorbar.tickfont": { "params": { - "plotly_name": "displayindex", - "parent_name": "parcats.dimension", - "edit_type": "calc" + "plotly_name": "tickfont", + "parent_name": "quiver.marker.colorbar", + "data_class_str": "Tickfont", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "quiver.marker.colorbar.tickfont.weight": { + "params": { + "plotly_name": "weight", + "parent_name": "quiver.marker.colorbar.tickfont", + "edit_type": "colorbars", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, "superclass": "IntegerValidator" }, - "parcats.dimension.categoryorder": { + "quiver.marker.colorbar.tickfont.variant": { "params": { - "plotly_name": "categoryorder", - "parent_name": "parcats.dimension", - "edit_type": "calc", + "plotly_name": "variant", + "parent_name": "quiver.marker.colorbar.tickfont", + "edit_type": "colorbars", "values": [ - "trace", - "category ascending", - "category descending", - "array" + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] }, "superclass": "EnumeratedValidator" }, - "parcats.dimension.categoryarraysrc": { - "params": { - "plotly_name": "categoryarraysrc", - "parent_name": "parcats.dimension", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "parcats.dimension.categoryarray": { + "quiver.marker.colorbar.tickfont.textcase": { "params": { - "plotly_name": "categoryarray", - "parent_name": "parcats.dimension", - "edit_type": "calc" + "plotly_name": "textcase", + "parent_name": "quiver.marker.colorbar.tickfont", + "edit_type": "colorbars", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, - "superclass": "DataArrayValidator" + "superclass": "EnumeratedValidator" }, - "parcats.countssrc": { + "quiver.marker.colorbar.tickfont.style": { "params": { - "plotly_name": "countssrc", - "parent_name": "parcats", - "edit_type": "none" + "plotly_name": "style", + "parent_name": "quiver.marker.colorbar.tickfont", + "edit_type": "colorbars", + "values": [ + "normal", + "italic" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "parcats.counts": { + "quiver.marker.colorbar.tickfont.size": { "params": { - "plotly_name": "counts", - "parent_name": "parcats", - "array_ok": true, - "edit_type": "calc", - "min": 0 + "plotly_name": "size", + "parent_name": "quiver.marker.colorbar.tickfont", + "edit_type": "colorbars", + "min": 1 }, "superclass": "NumberValidator" }, - "parcats.bundlecolors": { + "quiver.marker.colorbar.tickfont.shadow": { "params": { - "plotly_name": "bundlecolors", - "parent_name": "parcats", - "edit_type": "plot" + "plotly_name": "shadow", + "parent_name": "quiver.marker.colorbar.tickfont", + "edit_type": "colorbars" }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "parcats.arrangement": { + "quiver.marker.colorbar.tickfont.lineposition": { "params": { - "plotly_name": "arrangement", - "parent_name": "parcats", - "edit_type": "plot", - "values": [ - "perpendicular", - "freeform", - "fixed" + "plotly_name": "lineposition", + "parent_name": "quiver.marker.colorbar.tickfont", + "edit_type": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" ] }, - "superclass": "EnumeratedValidator" + "superclass": "FlaglistValidator" }, - "ohlc": { + "quiver.marker.colorbar.tickfont.family": { "params": { - "plotly_name": "ohlc", - "parent_name": "", - "data_class_str": "Ohlc", - "data_docs": "\n" + "plotly_name": "family", + "parent_name": "quiver.marker.colorbar.tickfont", + "edit_type": "colorbars", + "no_blank": true, + "strict": true }, - "superclass": "CompoundValidator" + "superclass": "StringValidator" }, - "ohlc.zorder": { + "quiver.marker.colorbar.tickfont.color": { "params": { - "plotly_name": "zorder", - "parent_name": "ohlc", - "edit_type": "plot" + "plotly_name": "color", + "parent_name": "quiver.marker.colorbar.tickfont", + "edit_type": "colorbars" }, - "superclass": "IntegerValidator" + "superclass": "ColorValidator" }, - "ohlc.yhoverformat": { + "quiver.marker.colorbar.tickcolor": { "params": { - "plotly_name": "yhoverformat", - "parent_name": "ohlc", - "edit_type": "none" + "plotly_name": "tickcolor", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "StringValidator" + "superclass": "ColorValidator" }, - "ohlc.yaxis": { + "quiver.marker.colorbar.tickangle": { "params": { - "plotly_name": "yaxis", - "parent_name": "ohlc", - "dflt": "y", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "tickangle", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "SubplotidValidator" + "superclass": "AngleValidator" }, - "ohlc.xsrc": { + "quiver.marker.colorbar.tick0": { "params": { - "plotly_name": "xsrc", - "parent_name": "ohlc", - "edit_type": "none" + "plotly_name": "tick0", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", + "implied_edits": { + "tickmode": "linear" + } }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "ohlc.xperiodalignment": { + "quiver.marker.colorbar.thicknessmode": { "params": { - "plotly_name": "xperiodalignment", - "parent_name": "ohlc", - "edit_type": "calc", + "plotly_name": "thicknessmode", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", "values": [ - "start", - "middle", - "end" + "fraction", + "pixels" ] }, "superclass": "EnumeratedValidator" }, - "ohlc.xperiod0": { - "params": { - "plotly_name": "xperiod0", - "parent_name": "ohlc", - "edit_type": "calc" - }, - "superclass": "AnyValidator" - }, - "ohlc.xperiod": { - "params": { - "plotly_name": "xperiod", - "parent_name": "ohlc", - "edit_type": "calc" - }, - "superclass": "AnyValidator" - }, - "ohlc.xhoverformat": { + "quiver.marker.colorbar.thickness": { "params": { - "plotly_name": "xhoverformat", - "parent_name": "ohlc", - "edit_type": "none" + "plotly_name": "thickness", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "ohlc.xcalendar": { + "quiver.marker.colorbar.showticksuffix": { "params": { - "plotly_name": "xcalendar", - "parent_name": "ohlc", - "edit_type": "calc", + "plotly_name": "showticksuffix", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" + "all", + "first", + "last", + "none" ] }, "superclass": "EnumeratedValidator" }, - "ohlc.xaxis": { + "quiver.marker.colorbar.showtickprefix": { "params": { - "plotly_name": "xaxis", - "parent_name": "ohlc", - "dflt": "x", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "showtickprefix", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "superclass": "SubplotidValidator" + "superclass": "EnumeratedValidator" }, - "ohlc.x": { + "quiver.marker.colorbar.showticklabels": { "params": { - "plotly_name": "x", - "parent_name": "ohlc", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "showticklabels", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "DataArrayValidator" + "superclass": "BooleanValidator" }, - "ohlc.visible": { + "quiver.marker.colorbar.showexponent": { "params": { - "plotly_name": "visible", - "parent_name": "ohlc", - "edit_type": "calc", + "plotly_name": "showexponent", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", "values": [ - true, - false, - "legendonly" + "all", + "first", + "last", + "none" ] }, "superclass": "EnumeratedValidator" }, - "ohlc.uirevision": { + "quiver.marker.colorbar.separatethousands": { "params": { - "plotly_name": "uirevision", - "parent_name": "ohlc", - "edit_type": "none" + "plotly_name": "separatethousands", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "AnyValidator" + "superclass": "BooleanValidator" }, - "ohlc.uid": { + "quiver.marker.colorbar.outlinewidth": { "params": { - "plotly_name": "uid", - "parent_name": "ohlc", - "edit_type": "plot" + "plotly_name": "outlinewidth", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "ohlc.tickwidth": { + "quiver.marker.colorbar.outlinecolor": { "params": { - "plotly_name": "tickwidth", - "parent_name": "ohlc", - "edit_type": "calc", - "max": 0.5, - "min": 0 + "plotly_name": "outlinecolor", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "ohlc.textsrc": { + "quiver.marker.colorbar.orientation": { "params": { - "plotly_name": "textsrc", - "parent_name": "ohlc", - "edit_type": "none" + "plotly_name": "orientation", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "h", + "v" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "ohlc.text": { + "quiver.marker.colorbar.nticks": { "params": { - "plotly_name": "text", - "parent_name": "ohlc", - "array_ok": true, - "edit_type": "calc" + "plotly_name": "nticks", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "StringValidator" + "superclass": "IntegerValidator" }, - "ohlc.stream": { + "quiver.marker.colorbar.minexponent": { "params": { - "plotly_name": "stream", - "parent_name": "ohlc", - "data_class_str": "Stream", - "data_docs": "\n" + "plotly_name": "minexponent", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "CompoundValidator" + "superclass": "NumberValidator" }, - "ohlc.stream.token": { + "quiver.marker.colorbar.lenmode": { "params": { - "plotly_name": "token", - "parent_name": "ohlc.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true + "plotly_name": "lenmode", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "fraction", + "pixels" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "ohlc.stream.maxpoints": { + "quiver.marker.colorbar.len": { "params": { - "plotly_name": "maxpoints", - "parent_name": "ohlc.stream", - "edit_type": "calc", - "max": 10000, + "plotly_name": "len", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "ohlc.showlegend": { + "quiver.marker.colorbar.labelalias": { "params": { - "plotly_name": "showlegend", - "parent_name": "ohlc", - "edit_type": "style" + "plotly_name": "labelalias", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "BooleanValidator" + "superclass": "AnyValidator" }, - "ohlc.selectedpoints": { + "quiver.marker.colorbar.exponentformat": { "params": { - "plotly_name": "selectedpoints", - "parent_name": "ohlc", - "edit_type": "calc" + "plotly_name": "exponentformat", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B", + "SI extended" + ] + }, + "superclass": "EnumeratedValidator" + }, + "quiver.marker.colorbar.dtick": { + "params": { + "plotly_name": "dtick", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", + "implied_edits": { + "tickmode": "linear" + } }, "superclass": "AnyValidator" }, - "ohlc.opensrc": { + "quiver.marker.colorbar.borderwidth": { "params": { - "plotly_name": "opensrc", - "parent_name": "ohlc", - "edit_type": "none" + "plotly_name": "borderwidth", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "ohlc.open": { + "quiver.marker.colorbar.bordercolor": { "params": { - "plotly_name": "open", - "parent_name": "ohlc", - "edit_type": "calc" + "plotly_name": "bordercolor", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "DataArrayValidator" + "superclass": "ColorValidator" }, - "ohlc.opacity": { + "quiver.marker.colorbar.bgcolor": { "params": { - "plotly_name": "opacity", - "parent_name": "ohlc", - "edit_type": "style", - "max": 1, - "min": 0 + "plotly_name": "bgcolor", + "parent_name": "quiver.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "ohlc.name": { + "quiver.marker.coloraxis": { "params": { - "plotly_name": "name", - "parent_name": "ohlc", - "edit_type": "style" + "plotly_name": "coloraxis", + "parent_name": "quiver.marker", + "dflt": null, + "edit_type": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" }, - "superclass": "StringValidator" + "superclass": "SubplotidValidator" }, - "ohlc.metasrc": { + "quiver.marker.color": { "params": { - "plotly_name": "metasrc", - "parent_name": "ohlc", - "edit_type": "none" + "plotly_name": "color", + "parent_name": "quiver.marker", + "array_ok": true, + "edit_type": "calc", + "colorscale_path": "quiver.marker.colorscale" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "ohlc.meta": { + "quiver.marker.cmin": { "params": { - "plotly_name": "meta", - "parent_name": "ohlc", - "array_ok": true, - "edit_type": "plot" + "plotly_name": "cmin", + "parent_name": "quiver.marker", + "edit_type": "calc", + "implied_edits": { + "cauto": false + } }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "ohlc.lowsrc": { + "quiver.marker.cmid": { "params": { - "plotly_name": "lowsrc", - "parent_name": "ohlc", - "edit_type": "none" + "plotly_name": "cmid", + "parent_name": "quiver.marker", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "ohlc.low": { + "quiver.marker.cmax": { "params": { - "plotly_name": "low", - "parent_name": "ohlc", - "edit_type": "calc" + "plotly_name": "cmax", + "parent_name": "quiver.marker", + "edit_type": "calc", + "implied_edits": { + "cauto": false + } }, - "superclass": "DataArrayValidator" + "superclass": "NumberValidator" }, - "ohlc.line": { + "quiver.marker.cauto": { "params": { - "plotly_name": "line", - "parent_name": "ohlc", - "data_class_str": "Line", - "data_docs": "\n" + "plotly_name": "cauto", + "parent_name": "quiver.marker", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "CompoundValidator" + "superclass": "BooleanValidator" }, - "ohlc.line.width": { + "quiver.marker.autocolorscale": { "params": { - "plotly_name": "width", - "parent_name": "ohlc.line", - "edit_type": "style", - "min": 0 + "plotly_name": "autocolorscale", + "parent_name": "quiver.marker", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "ohlc.line.dash": { + "quiver.marker.arrowsize": { "params": { - "plotly_name": "dash", - "parent_name": "ohlc.line", - "edit_type": "style", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ] + "plotly_name": "arrowsize", + "parent_name": "quiver.marker", + "edit_type": "calc", + "min": 0.3 }, - "superclass": "DashValidator" + "superclass": "NumberValidator" }, - "ohlc.legendwidth": { + "quiver.legendwidth": { "params": { "plotly_name": "legendwidth", - "parent_name": "ohlc", + "parent_name": "quiver", "edit_type": "style", "min": 0 }, "superclass": "NumberValidator" }, - "ohlc.legendrank": { + "quiver.legendrank": { "params": { "plotly_name": "legendrank", - "parent_name": "ohlc", + "parent_name": "quiver", "edit_type": "style" }, "superclass": "NumberValidator" }, - "ohlc.legendgrouptitle": { + "quiver.legendgrouptitle": { "params": { "plotly_name": "legendgrouptitle", - "parent_name": "ohlc", + "parent_name": "quiver", "data_class_str": "Legendgrouptitle", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "ohlc.legendgrouptitle.text": { + "quiver.legendgrouptitle.text": { "params": { "plotly_name": "text", - "parent_name": "ohlc.legendgrouptitle", + "parent_name": "quiver.legendgrouptitle", "edit_type": "style" }, "superclass": "StringValidator" }, - "ohlc.legendgrouptitle.font": { + "quiver.legendgrouptitle.font": { "params": { "plotly_name": "font", - "parent_name": "ohlc.legendgrouptitle", + "parent_name": "quiver.legendgrouptitle", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "ohlc.legendgrouptitle.font.weight": { + "quiver.legendgrouptitle.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "ohlc.legendgrouptitle.font", + "parent_name": "quiver.legendgrouptitle.font", "edit_type": "style", "extras": [ "normal", @@ -81694,10 +66513,10 @@ }, "superclass": "IntegerValidator" }, - "ohlc.legendgrouptitle.font.variant": { + "quiver.legendgrouptitle.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "ohlc.legendgrouptitle.font", + "parent_name": "quiver.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -81710,10 +66529,10 @@ }, "superclass": "EnumeratedValidator" }, - "ohlc.legendgrouptitle.font.textcase": { + "quiver.legendgrouptitle.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "ohlc.legendgrouptitle.font", + "parent_name": "quiver.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -81724,10 +66543,10 @@ }, "superclass": "EnumeratedValidator" }, - "ohlc.legendgrouptitle.font.style": { + "quiver.legendgrouptitle.font.style": { "params": { "plotly_name": "style", - "parent_name": "ohlc.legendgrouptitle.font", + "parent_name": "quiver.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -81736,27 +66555,27 @@ }, "superclass": "EnumeratedValidator" }, - "ohlc.legendgrouptitle.font.size": { + "quiver.legendgrouptitle.font.size": { "params": { "plotly_name": "size", - "parent_name": "ohlc.legendgrouptitle.font", + "parent_name": "quiver.legendgrouptitle.font", "edit_type": "style", "min": 1 }, "superclass": "NumberValidator" }, - "ohlc.legendgrouptitle.font.shadow": { + "quiver.legendgrouptitle.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "ohlc.legendgrouptitle.font", + "parent_name": "quiver.legendgrouptitle.font", "edit_type": "style" }, "superclass": "StringValidator" }, - "ohlc.legendgrouptitle.font.lineposition": { + "quiver.legendgrouptitle.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "ohlc.legendgrouptitle.font", + "parent_name": "quiver.legendgrouptitle.font", "edit_type": "style", "extras": [ "none" @@ -81769,216 +66588,585 @@ }, "superclass": "FlaglistValidator" }, - "ohlc.legendgrouptitle.font.family": { + "quiver.legendgrouptitle.font.family": { "params": { "plotly_name": "family", - "parent_name": "ohlc.legendgrouptitle.font", + "parent_name": "quiver.legendgrouptitle.font", "edit_type": "style", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "ohlc.legendgrouptitle.font.color": { + "quiver.legendgrouptitle.font.color": { "params": { "plotly_name": "color", - "parent_name": "ohlc.legendgrouptitle.font", + "parent_name": "quiver.legendgrouptitle.font", "edit_type": "style" }, "superclass": "ColorValidator" }, - "ohlc.legendgroup": { + "quiver.legendgroup": { "params": { "plotly_name": "legendgroup", - "parent_name": "ohlc", + "parent_name": "quiver", "edit_type": "style" }, "superclass": "StringValidator" }, - "ohlc.legend": { + "quiver.legend": { "params": { "plotly_name": "legend", - "parent_name": "ohlc", + "parent_name": "quiver", "dflt": "legend", "edit_type": "style" }, "superclass": "SubplotidValidator" }, - "ohlc.increasing": { + "quiver.ids": { "params": { - "plotly_name": "increasing", - "parent_name": "ohlc", - "data_class_str": "Increasing", + "plotly_name": "ids", + "parent_name": "quiver", + "anim": true, + "edit_type": "calc" + }, + "superclass": "DataArrayValidator" + }, + "quiver.hovertemplate": { + "params": { + "plotly_name": "hovertemplate", + "parent_name": "quiver", + "array_ok": true, + "edit_type": "none" + }, + "superclass": "StringValidator" + }, + "quiver.hoverlabel": { + "params": { + "plotly_name": "hoverlabel", + "parent_name": "quiver", + "data_class_str": "Hoverlabel", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "ohlc.increasing.line": { + "quiver.hoverlabel.showarrow": { "params": { - "plotly_name": "line", - "parent_name": "ohlc.increasing", - "data_class_str": "Line", + "plotly_name": "showarrow", + "parent_name": "quiver.hoverlabel", + "edit_type": "none" + }, + "superclass": "BooleanValidator" + }, + "quiver.hoverlabel.namelength": { + "params": { + "plotly_name": "namelength", + "parent_name": "quiver.hoverlabel", + "array_ok": true, + "edit_type": "none", + "min": -1 + }, + "superclass": "IntegerValidator" + }, + "quiver.hoverlabel.font": { + "params": { + "plotly_name": "font", + "parent_name": "quiver.hoverlabel", + "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "ohlc.increasing.line.width": { + "quiver.hoverlabel.font.weight": { "params": { - "plotly_name": "width", - "parent_name": "ohlc.increasing.line", - "edit_type": "style", - "min": 0 + "plotly_name": "weight", + "parent_name": "quiver.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "NumberValidator" + "superclass": "IntegerValidator" }, - "ohlc.increasing.line.dash": { + "quiver.hoverlabel.font.variant": { "params": { - "plotly_name": "dash", - "parent_name": "ohlc.increasing.line", - "edit_type": "style", + "plotly_name": "variant", + "parent_name": "quiver.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] }, - "superclass": "DashValidator" + "superclass": "EnumeratedValidator" }, - "ohlc.increasing.line.color": { + "quiver.hoverlabel.font.textcase": { + "params": { + "plotly_name": "textcase", + "parent_name": "quiver.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "superclass": "EnumeratedValidator" + }, + "quiver.hoverlabel.font.style": { + "params": { + "plotly_name": "style", + "parent_name": "quiver.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "values": [ + "normal", + "italic" + ] + }, + "superclass": "EnumeratedValidator" + }, + "quiver.hoverlabel.font.size": { + "params": { + "plotly_name": "size", + "parent_name": "quiver.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "min": 1 + }, + "superclass": "NumberValidator" + }, + "quiver.hoverlabel.font.shadow": { + "params": { + "plotly_name": "shadow", + "parent_name": "quiver.hoverlabel.font", + "array_ok": true, + "edit_type": "none" + }, + "superclass": "StringValidator" + }, + "quiver.hoverlabel.font.lineposition": { + "params": { + "plotly_name": "lineposition", + "parent_name": "quiver.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] + }, + "superclass": "FlaglistValidator" + }, + "quiver.hoverlabel.font.family": { + "params": { + "plotly_name": "family", + "parent_name": "quiver.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "no_blank": true, + "strict": true + }, + "superclass": "StringValidator" + }, + "quiver.hoverlabel.font.color": { "params": { "plotly_name": "color", - "parent_name": "ohlc.increasing.line", - "edit_type": "style" + "parent_name": "quiver.hoverlabel.font", + "array_ok": true, + "edit_type": "none" }, "superclass": "ColorValidator" }, - "ohlc.idssrc": { + "quiver.hoverlabel.bordercolor": { "params": { - "plotly_name": "idssrc", - "parent_name": "ohlc", + "plotly_name": "bordercolor", + "parent_name": "quiver.hoverlabel", + "array_ok": true, "edit_type": "none" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "ohlc.ids": { + "quiver.hoverlabel.bgcolor": { "params": { - "plotly_name": "ids", - "parent_name": "ohlc", + "plotly_name": "bgcolor", + "parent_name": "quiver.hoverlabel", + "array_ok": true, + "edit_type": "none" + }, + "superclass": "ColorValidator" + }, + "quiver.hoverlabel.align": { + "params": { + "plotly_name": "align", + "parent_name": "quiver.hoverlabel", + "array_ok": true, + "edit_type": "none", + "values": [ + "left", + "right", + "auto" + ] + }, + "superclass": "EnumeratedValidator" + }, + "quiver.hoverinfo": { + "params": { + "plotly_name": "hoverinfo", + "parent_name": "quiver", + "array_ok": true, + "edit_type": "none", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "x", + "y", + "u", + "v", + "text", + "name" + ] + }, + "superclass": "FlaglistValidator" + }, + "quiver.dy": { + "params": { + "plotly_name": "dy", + "parent_name": "quiver", + "anim": true, + "edit_type": "calc" + }, + "superclass": "NumberValidator" + }, + "quiver.dx": { + "params": { + "plotly_name": "dx", + "parent_name": "quiver", + "anim": true, + "edit_type": "calc" + }, + "superclass": "NumberValidator" + }, + "quiver.customdata": { + "params": { + "plotly_name": "customdata", + "parent_name": "quiver", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "ohlc.hovertextsrc": { + "quiver.anglemode": { "params": { - "plotly_name": "hovertextsrc", - "parent_name": "ohlc", - "edit_type": "none" + "plotly_name": "anglemode", + "parent_name": "quiver", + "edit_type": "calc", + "values": [ + "paper", + "data" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "ohlc.hovertext": { + "quiver.anchor": { "params": { - "plotly_name": "hovertext", - "parent_name": "ohlc", - "array_ok": true, + "plotly_name": "anchor", + "parent_name": "quiver", + "edit_type": "calc", + "values": [ + "tip", + "tail", + "center" + ] + }, + "superclass": "EnumeratedValidator" + }, + "pie": { + "params": { + "plotly_name": "pie", + "parent_name": "", + "data_class_str": "Pie", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "pie.visible": { + "params": { + "plotly_name": "visible", + "parent_name": "pie", + "edit_type": "calc", + "values": [ + true, + false, + "legendonly" + ] + }, + "superclass": "EnumeratedValidator" + }, + "pie.values": { + "params": { + "plotly_name": "values", + "parent_name": "pie", "edit_type": "calc" }, - "superclass": "StringValidator" + "superclass": "DataArrayValidator" }, - "ohlc.hovertemplatesrc": { + "pie.uirevision": { "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "ohlc", + "plotly_name": "uirevision", + "parent_name": "pie", "edit_type": "none" }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "ohlc.hovertemplatefallback": { + "pie.uid": { "params": { - "plotly_name": "hovertemplatefallback", - "parent_name": "ohlc", - "edit_type": "none" + "plotly_name": "uid", + "parent_name": "pie", + "edit_type": "plot" + }, + "superclass": "StringValidator" + }, + "pie.title": { + "params": { + "plotly_name": "title", + "parent_name": "pie", + "data_class_str": "Title", + "data_docs": "\n" + }, + "superclass": "TitleValidator" + }, + "pie.title.text": { + "params": { + "plotly_name": "text", + "parent_name": "pie.title", + "edit_type": "plot" + }, + "superclass": "StringValidator" + }, + "pie.title.position": { + "params": { + "plotly_name": "position", + "parent_name": "pie.title", + "edit_type": "plot", + "values": [ + "top left", + "top center", + "top right", + "middle center", + "bottom left", + "bottom center", + "bottom right" + ] + }, + "superclass": "EnumeratedValidator" + }, + "pie.title.font": { + "params": { + "plotly_name": "font", + "parent_name": "pie.title", + "data_class_str": "Font", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "pie.title.font.weight": { + "params": { + "plotly_name": "weight", + "parent_name": "pie.title.font", + "array_ok": true, + "edit_type": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 + }, + "superclass": "IntegerValidator" + }, + "pie.title.font.variant": { + "params": { + "plotly_name": "variant", + "parent_name": "pie.title.font", + "array_ok": true, + "edit_type": "plot", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "superclass": "EnumeratedValidator" + }, + "pie.title.font.textcase": { + "params": { + "plotly_name": "textcase", + "parent_name": "pie.title.font", + "array_ok": true, + "edit_type": "plot", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "superclass": "EnumeratedValidator" + }, + "pie.title.font.style": { + "params": { + "plotly_name": "style", + "parent_name": "pie.title.font", + "array_ok": true, + "edit_type": "plot", + "values": [ + "normal", + "italic" + ] + }, + "superclass": "EnumeratedValidator" + }, + "pie.title.font.size": { + "params": { + "plotly_name": "size", + "parent_name": "pie.title.font", + "array_ok": true, + "edit_type": "plot", + "min": 1 + }, + "superclass": "NumberValidator" + }, + "pie.title.font.shadow": { + "params": { + "plotly_name": "shadow", + "parent_name": "pie.title.font", + "array_ok": true, + "edit_type": "plot" + }, + "superclass": "StringValidator" + }, + "pie.title.font.lineposition": { + "params": { + "plotly_name": "lineposition", + "parent_name": "pie.title.font", + "array_ok": true, + "edit_type": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] }, - "superclass": "AnyValidator" + "superclass": "FlaglistValidator" }, - "ohlc.hovertemplate": { + "pie.title.font.family": { "params": { - "plotly_name": "hovertemplate", - "parent_name": "ohlc", + "plotly_name": "family", + "parent_name": "pie.title.font", "array_ok": true, - "edit_type": "none" + "edit_type": "plot", + "no_blank": true, + "strict": true }, "superclass": "StringValidator" }, - "ohlc.hoverlabel": { + "pie.title.font.color": { "params": { - "plotly_name": "hoverlabel", - "parent_name": "ohlc", - "data_class_str": "Hoverlabel", - "data_docs": "\n" + "plotly_name": "color", + "parent_name": "pie.title.font", + "array_ok": true, + "edit_type": "plot" }, - "superclass": "CompoundValidator" + "superclass": "ColorValidator" }, - "ohlc.hoverlabel.split": { + "pie.texttemplatefallback": { "params": { - "plotly_name": "split", - "parent_name": "ohlc.hoverlabel", - "edit_type": "style" + "plotly_name": "texttemplatefallback", + "parent_name": "pie", + "edit_type": "plot" }, - "superclass": "BooleanValidator" + "superclass": "AnyValidator" }, - "ohlc.hoverlabel.showarrow": { + "pie.texttemplate": { "params": { - "plotly_name": "showarrow", - "parent_name": "ohlc.hoverlabel", - "edit_type": "none" + "plotly_name": "texttemplate", + "parent_name": "pie", + "array_ok": true, + "edit_type": "plot" }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "ohlc.hoverlabel.namelengthsrc": { + "pie.textposition": { "params": { - "plotly_name": "namelengthsrc", - "parent_name": "ohlc.hoverlabel", - "edit_type": "none" + "plotly_name": "textposition", + "parent_name": "pie", + "array_ok": true, + "edit_type": "plot", + "values": [ + "inside", + "outside", + "auto", + "none" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "ohlc.hoverlabel.namelength": { + "pie.textinfo": { "params": { - "plotly_name": "namelength", - "parent_name": "ohlc.hoverlabel", - "array_ok": true, - "edit_type": "none", - "min": -1 + "plotly_name": "textinfo", + "parent_name": "pie", + "edit_type": "calc", + "extras": [ + "none" + ], + "flags": [ + "label", + "text", + "value", + "percent" + ] }, - "superclass": "IntegerValidator" + "superclass": "FlaglistValidator" }, - "ohlc.hoverlabel.font": { + "pie.textfont": { "params": { - "plotly_name": "font", - "parent_name": "ohlc.hoverlabel", - "data_class_str": "Font", + "plotly_name": "textfont", + "parent_name": "pie", + "data_class_str": "Textfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "ohlc.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "ohlc.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "ohlc.hoverlabel.font.weight": { + "pie.textfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "ohlc.hoverlabel.font", + "parent_name": "pie.textfont", "array_ok": true, - "edit_type": "none", + "edit_type": "plot", "extras": [ "normal", "bold" @@ -81988,20 +67176,12 @@ }, "superclass": "IntegerValidator" }, - "ohlc.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "ohlc.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "ohlc.hoverlabel.font.variant": { + "pie.textfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "ohlc.hoverlabel.font", + "parent_name": "pie.textfont", "array_ok": true, - "edit_type": "none", + "edit_type": "plot", "values": [ "normal", "small-caps", @@ -82013,20 +67193,12 @@ }, "superclass": "EnumeratedValidator" }, - "ohlc.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "ohlc.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "ohlc.hoverlabel.font.textcase": { + "pie.textfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "ohlc.hoverlabel.font", + "parent_name": "pie.textfont", "array_ok": true, - "edit_type": "none", + "edit_type": "plot", "values": [ "normal", "word caps", @@ -82036,20 +67208,12 @@ }, "superclass": "EnumeratedValidator" }, - "ohlc.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "ohlc.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "ohlc.hoverlabel.font.style": { + "pie.textfont.style": { "params": { "plotly_name": "style", - "parent_name": "ohlc.hoverlabel.font", + "parent_name": "pie.textfont", "array_ok": true, - "edit_type": "none", + "edit_type": "plot", "values": [ "normal", "italic" @@ -82057,55 +67221,31 @@ }, "superclass": "EnumeratedValidator" }, - "ohlc.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "ohlc.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "ohlc.hoverlabel.font.size": { + "pie.textfont.size": { "params": { "plotly_name": "size", - "parent_name": "ohlc.hoverlabel.font", + "parent_name": "pie.textfont", "array_ok": true, - "edit_type": "none", + "edit_type": "plot", "min": 1 }, "superclass": "NumberValidator" }, - "ohlc.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "ohlc.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "ohlc.hoverlabel.font.shadow": { + "pie.textfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "ohlc.hoverlabel.font", + "parent_name": "pie.textfont", "array_ok": true, - "edit_type": "none" + "edit_type": "plot" }, "superclass": "StringValidator" }, - "ohlc.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "ohlc.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "ohlc.hoverlabel.font.lineposition": { + "pie.textfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "ohlc.hoverlabel.font", + "parent_name": "pie.textfont", "array_ok": true, - "edit_type": "none", + "edit_type": "plot", "extras": [ "none" ], @@ -82117,710 +67257,773 @@ }, "superclass": "FlaglistValidator" }, - "ohlc.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "ohlc.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "ohlc.hoverlabel.font.family": { + "pie.textfont.family": { "params": { "plotly_name": "family", - "parent_name": "ohlc.hoverlabel.font", + "parent_name": "pie.textfont", "array_ok": true, - "edit_type": "none", + "edit_type": "plot", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "ohlc.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "ohlc.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "ohlc.hoverlabel.font.color": { + "pie.textfont.color": { "params": { "plotly_name": "color", - "parent_name": "ohlc.hoverlabel.font", + "parent_name": "pie.textfont", "array_ok": true, - "edit_type": "none" + "edit_type": "plot" }, "superclass": "ColorValidator" }, - "ohlc.hoverlabel.bordercolorsrc": { + "pie.text": { "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "ohlc.hoverlabel", - "edit_type": "none" + "plotly_name": "text", + "parent_name": "pie", + "edit_type": "plot" }, - "superclass": "SrcValidator" + "superclass": "DataArrayValidator" }, - "ohlc.hoverlabel.bordercolor": { + "pie.sort": { "params": { - "plotly_name": "bordercolor", - "parent_name": "ohlc.hoverlabel", - "array_ok": true, - "edit_type": "none" + "plotly_name": "sort", + "parent_name": "pie", + "edit_type": "calc" }, - "superclass": "ColorValidator" + "superclass": "BooleanValidator" }, - "ohlc.hoverlabel.bgcolorsrc": { + "pie.showlegend": { "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "ohlc.hoverlabel", - "edit_type": "none" + "plotly_name": "showlegend", + "parent_name": "pie", + "array_ok": true, + "edit_type": "style" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "ohlc.hoverlabel.bgcolor": { + "pie.scalegroup": { "params": { - "plotly_name": "bgcolor", - "parent_name": "ohlc.hoverlabel", - "array_ok": true, - "edit_type": "none" + "plotly_name": "scalegroup", + "parent_name": "pie", + "edit_type": "calc" }, - "superclass": "ColorValidator" + "superclass": "StringValidator" }, - "ohlc.hoverlabel.alignsrc": { + "pie.rotation": { "params": { - "plotly_name": "alignsrc", - "parent_name": "ohlc.hoverlabel", - "edit_type": "none" + "plotly_name": "rotation", + "parent_name": "pie", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "AngleValidator" }, - "ohlc.hoverlabel.align": { + "pie.pull": { "params": { - "plotly_name": "align", - "parent_name": "ohlc.hoverlabel", + "plotly_name": "pull", + "parent_name": "pie", "array_ok": true, - "edit_type": "none", - "values": [ - "left", - "right", - "auto" - ] + "edit_type": "calc", + "max": 1, + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "ohlc.hoverinfosrc": { + "pie.outsidetextfont": { "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "ohlc", - "edit_type": "none" + "plotly_name": "outsidetextfont", + "parent_name": "pie", + "data_class_str": "Outsidetextfont", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "ohlc.hoverinfo": { + "pie.outsidetextfont.weight": { "params": { - "plotly_name": "hoverinfo", - "parent_name": "ohlc", + "plotly_name": "weight", + "parent_name": "pie.outsidetextfont", "array_ok": true, - "edit_type": "none", + "edit_type": "plot", "extras": [ - "all", - "none", - "skip" + "normal", + "bold" ], - "flags": [ - "x", - "y", - "z", - "text", - "name" - ] + "max": 1000, + "min": 1 }, - "superclass": "FlaglistValidator" + "superclass": "IntegerValidator" }, - "ohlc.highsrc": { + "pie.outsidetextfont.variant": { "params": { - "plotly_name": "highsrc", - "parent_name": "ohlc", - "edit_type": "none" + "plotly_name": "variant", + "parent_name": "pie.outsidetextfont", + "array_ok": true, + "edit_type": "plot", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "ohlc.high": { + "pie.outsidetextfont.textcase": { "params": { - "plotly_name": "high", - "parent_name": "ohlc", - "edit_type": "calc" + "plotly_name": "textcase", + "parent_name": "pie.outsidetextfont", + "array_ok": true, + "edit_type": "plot", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, - "superclass": "DataArrayValidator" + "superclass": "EnumeratedValidator" }, - "ohlc.decreasing": { + "pie.outsidetextfont.style": { "params": { - "plotly_name": "decreasing", - "parent_name": "ohlc", - "data_class_str": "Decreasing", - "data_docs": "\n" + "plotly_name": "style", + "parent_name": "pie.outsidetextfont", + "array_ok": true, + "edit_type": "plot", + "values": [ + "normal", + "italic" + ] }, - "superclass": "CompoundValidator" + "superclass": "EnumeratedValidator" }, - "ohlc.decreasing.line": { + "pie.outsidetextfont.size": { "params": { - "plotly_name": "line", - "parent_name": "ohlc.decreasing", - "data_class_str": "Line", - "data_docs": "\n" + "plotly_name": "size", + "parent_name": "pie.outsidetextfont", + "array_ok": true, + "edit_type": "plot", + "min": 1 }, - "superclass": "CompoundValidator" + "superclass": "NumberValidator" }, - "ohlc.decreasing.line.width": { + "pie.outsidetextfont.shadow": { "params": { - "plotly_name": "width", - "parent_name": "ohlc.decreasing.line", - "edit_type": "style", - "min": 0 + "plotly_name": "shadow", + "parent_name": "pie.outsidetextfont", + "array_ok": true, + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "ohlc.decreasing.line.dash": { + "pie.outsidetextfont.lineposition": { "params": { - "plotly_name": "dash", - "parent_name": "ohlc.decreasing.line", - "edit_type": "style", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" + "plotly_name": "lineposition", + "parent_name": "pie.outsidetextfont", + "array_ok": true, + "edit_type": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" ] }, - "superclass": "DashValidator" + "superclass": "FlaglistValidator" }, - "ohlc.decreasing.line.color": { + "pie.outsidetextfont.family": { + "params": { + "plotly_name": "family", + "parent_name": "pie.outsidetextfont", + "array_ok": true, + "edit_type": "plot", + "no_blank": true, + "strict": true + }, + "superclass": "StringValidator" + }, + "pie.outsidetextfont.color": { "params": { "plotly_name": "color", - "parent_name": "ohlc.decreasing.line", - "edit_type": "style" + "parent_name": "pie.outsidetextfont", + "array_ok": true, + "edit_type": "plot" }, "superclass": "ColorValidator" }, - "ohlc.customdatasrc": { + "pie.opacity": { "params": { - "plotly_name": "customdatasrc", - "parent_name": "ohlc", - "edit_type": "none" + "plotly_name": "opacity", + "parent_name": "pie", + "edit_type": "style", + "max": 1, + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "ohlc.customdata": { + "pie.name": { "params": { - "plotly_name": "customdata", - "parent_name": "ohlc", - "edit_type": "calc" + "plotly_name": "name", + "parent_name": "pie", + "edit_type": "style" }, - "superclass": "DataArrayValidator" + "superclass": "StringValidator" }, - "ohlc.closesrc": { + "pie.meta": { "params": { - "plotly_name": "closesrc", - "parent_name": "ohlc", - "edit_type": "none" + "plotly_name": "meta", + "parent_name": "pie", + "array_ok": true, + "edit_type": "plot" }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "ohlc.close": { + "pie.marker": { "params": { - "plotly_name": "close", - "parent_name": "ohlc", - "edit_type": "calc" + "plotly_name": "marker", + "parent_name": "pie", + "data_class_str": "Marker", + "data_docs": "\n" }, - "superclass": "DataArrayValidator" + "superclass": "CompoundValidator" }, - "mesh3d": { + "pie.marker.pattern": { "params": { - "plotly_name": "mesh3d", - "parent_name": "", - "data_class_str": "Mesh3d", + "plotly_name": "pattern", + "parent_name": "pie.marker", + "data_class_str": "Pattern", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "mesh3d.zsrc": { + "pie.marker.pattern.solidity": { "params": { - "plotly_name": "zsrc", - "parent_name": "mesh3d", - "edit_type": "none" + "plotly_name": "solidity", + "parent_name": "pie.marker.pattern", + "array_ok": true, + "edit_type": "style", + "max": 1, + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "mesh3d.zhoverformat": { + "pie.marker.pattern.size": { "params": { - "plotly_name": "zhoverformat", - "parent_name": "mesh3d", - "edit_type": "none" + "plotly_name": "size", + "parent_name": "pie.marker.pattern", + "array_ok": true, + "edit_type": "style", + "min": 0 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "mesh3d.zcalendar": { + "pie.marker.pattern.shape": { "params": { - "plotly_name": "zcalendar", - "parent_name": "mesh3d", - "edit_type": "calc", + "plotly_name": "shape", + "parent_name": "pie.marker.pattern", + "array_ok": true, + "edit_type": "style", "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" + "", + "/", + "\\", + "x", + "-", + "|", + "+", + "." ] }, "superclass": "EnumeratedValidator" }, - "mesh3d.z": { - "params": { - "plotly_name": "z", - "parent_name": "mesh3d", - "edit_type": "calc+clearAxisTypes" - }, - "superclass": "DataArrayValidator" - }, - "mesh3d.ysrc": { - "params": { - "plotly_name": "ysrc", - "parent_name": "mesh3d", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "mesh3d.yhoverformat": { + "pie.marker.pattern.path": { "params": { - "plotly_name": "yhoverformat", - "parent_name": "mesh3d", - "edit_type": "none" + "plotly_name": "path", + "parent_name": "pie.marker.pattern", + "array_ok": true, + "edit_type": "style" }, "superclass": "StringValidator" }, - "mesh3d.ycalendar": { + "pie.marker.pattern.fillmode": { "params": { - "plotly_name": "ycalendar", - "parent_name": "mesh3d", - "edit_type": "calc", + "plotly_name": "fillmode", + "parent_name": "pie.marker.pattern", + "edit_type": "style", "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" + "replace", + "overlay" ] }, "superclass": "EnumeratedValidator" }, - "mesh3d.y": { - "params": { - "plotly_name": "y", - "parent_name": "mesh3d", - "edit_type": "calc+clearAxisTypes" - }, - "superclass": "DataArrayValidator" - }, - "mesh3d.xsrc": { + "pie.marker.pattern.fgopacity": { "params": { - "plotly_name": "xsrc", - "parent_name": "mesh3d", - "edit_type": "none" + "plotly_name": "fgopacity", + "parent_name": "pie.marker.pattern", + "edit_type": "style", + "max": 1, + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "mesh3d.xhoverformat": { + "pie.marker.pattern.fgcolor": { "params": { - "plotly_name": "xhoverformat", - "parent_name": "mesh3d", - "edit_type": "none" + "plotly_name": "fgcolor", + "parent_name": "pie.marker.pattern", + "array_ok": true, + "edit_type": "style" }, - "superclass": "StringValidator" + "superclass": "ColorValidator" }, - "mesh3d.xcalendar": { + "pie.marker.pattern.bgcolor": { "params": { - "plotly_name": "xcalendar", - "parent_name": "mesh3d", - "edit_type": "calc", - "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" - ] + "plotly_name": "bgcolor", + "parent_name": "pie.marker.pattern", + "array_ok": true, + "edit_type": "style" }, - "superclass": "EnumeratedValidator" + "superclass": "ColorValidator" }, - "mesh3d.x": { + "pie.marker.line": { "params": { - "plotly_name": "x", - "parent_name": "mesh3d", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "line", + "parent_name": "pie.marker", + "data_class_str": "Line", + "data_docs": "\n" }, - "superclass": "DataArrayValidator" + "superclass": "CompoundValidator" }, - "mesh3d.visible": { + "pie.marker.line.width": { "params": { - "plotly_name": "visible", - "parent_name": "mesh3d", - "edit_type": "calc", - "values": [ - true, - false, - "legendonly" - ] + "plotly_name": "width", + "parent_name": "pie.marker.line", + "array_ok": true, + "edit_type": "style", + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "mesh3d.vertexcolorsrc": { + "pie.marker.line.color": { "params": { - "plotly_name": "vertexcolorsrc", - "parent_name": "mesh3d", - "edit_type": "none" + "plotly_name": "color", + "parent_name": "pie.marker.line", + "array_ok": true, + "edit_type": "style" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "mesh3d.vertexcolor": { + "pie.marker.colors": { "params": { - "plotly_name": "vertexcolor", - "parent_name": "mesh3d", + "plotly_name": "colors", + "parent_name": "pie.marker", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "mesh3d.uirevision": { + "pie.legendwidth": { "params": { - "plotly_name": "uirevision", - "parent_name": "mesh3d", - "edit_type": "none" + "plotly_name": "legendwidth", + "parent_name": "pie", + "edit_type": "style", + "min": 0 }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "mesh3d.uid": { + "pie.legendrank": { "params": { - "plotly_name": "uid", - "parent_name": "mesh3d", - "edit_type": "plot" + "plotly_name": "legendrank", + "parent_name": "pie", + "array_ok": true, + "edit_type": "style" }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "mesh3d.textsrc": { + "pie.legendgrouptitle": { "params": { - "plotly_name": "textsrc", - "parent_name": "mesh3d", - "edit_type": "none" + "plotly_name": "legendgrouptitle", + "parent_name": "pie", + "data_class_str": "Legendgrouptitle", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "mesh3d.text": { + "pie.legendgrouptitle.text": { "params": { "plotly_name": "text", - "parent_name": "mesh3d", - "array_ok": true, - "edit_type": "calc" + "parent_name": "pie.legendgrouptitle", + "edit_type": "style" }, "superclass": "StringValidator" }, - "mesh3d.stream": { + "pie.legendgrouptitle.font": { "params": { - "plotly_name": "stream", - "parent_name": "mesh3d", - "data_class_str": "Stream", + "plotly_name": "font", + "parent_name": "pie.legendgrouptitle", + "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "mesh3d.stream.token": { + "pie.legendgrouptitle.font.weight": { "params": { - "plotly_name": "token", - "parent_name": "mesh3d.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true + "plotly_name": "weight", + "parent_name": "pie.legendgrouptitle.font", + "edit_type": "style", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "StringValidator" + "superclass": "IntegerValidator" }, - "mesh3d.stream.maxpoints": { + "pie.legendgrouptitle.font.variant": { "params": { - "plotly_name": "maxpoints", - "parent_name": "mesh3d.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 + "plotly_name": "variant", + "parent_name": "pie.legendgrouptitle.font", + "edit_type": "style", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "mesh3d.showscale": { + "pie.legendgrouptitle.font.textcase": { "params": { - "plotly_name": "showscale", - "parent_name": "mesh3d", - "edit_type": "calc" + "plotly_name": "textcase", + "parent_name": "pie.legendgrouptitle.font", + "edit_type": "style", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, - "superclass": "BooleanValidator" + "superclass": "EnumeratedValidator" }, - "mesh3d.showlegend": { + "pie.legendgrouptitle.font.style": { "params": { - "plotly_name": "showlegend", - "parent_name": "mesh3d", + "plotly_name": "style", + "parent_name": "pie.legendgrouptitle.font", + "edit_type": "style", + "values": [ + "normal", + "italic" + ] + }, + "superclass": "EnumeratedValidator" + }, + "pie.legendgrouptitle.font.size": { + "params": { + "plotly_name": "size", + "parent_name": "pie.legendgrouptitle.font", + "edit_type": "style", + "min": 1 + }, + "superclass": "NumberValidator" + }, + "pie.legendgrouptitle.font.shadow": { + "params": { + "plotly_name": "shadow", + "parent_name": "pie.legendgrouptitle.font", "edit_type": "style" }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "mesh3d.scene": { + "pie.legendgrouptitle.font.lineposition": { "params": { - "plotly_name": "scene", - "parent_name": "mesh3d", - "dflt": "scene", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "lineposition", + "parent_name": "pie.legendgrouptitle.font", + "edit_type": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] }, - "superclass": "SubplotidValidator" + "superclass": "FlaglistValidator" }, - "mesh3d.reversescale": { + "pie.legendgrouptitle.font.family": { "params": { - "plotly_name": "reversescale", - "parent_name": "mesh3d", - "edit_type": "plot" + "plotly_name": "family", + "parent_name": "pie.legendgrouptitle.font", + "edit_type": "style", + "no_blank": true, + "strict": true }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "mesh3d.opacity": { + "pie.legendgrouptitle.font.color": { "params": { - "plotly_name": "opacity", - "parent_name": "mesh3d", - "edit_type": "calc", - "max": 1, - "min": 0 + "plotly_name": "color", + "parent_name": "pie.legendgrouptitle.font", + "edit_type": "style" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "mesh3d.name": { + "pie.legendgroup": { "params": { - "plotly_name": "name", - "parent_name": "mesh3d", + "plotly_name": "legendgroup", + "parent_name": "pie", "edit_type": "style" }, "superclass": "StringValidator" }, - "mesh3d.metasrc": { + "pie.legend": { "params": { - "plotly_name": "metasrc", - "parent_name": "mesh3d", - "edit_type": "none" + "plotly_name": "legend", + "parent_name": "pie", + "array_ok": true, + "dflt": "legend", + "edit_type": "style" }, - "superclass": "SrcValidator" + "superclass": "SubplotidValidator" }, - "mesh3d.meta": { + "pie.labels": { "params": { - "plotly_name": "meta", - "parent_name": "mesh3d", - "array_ok": true, - "edit_type": "plot" + "plotly_name": "labels", + "parent_name": "pie", + "edit_type": "calc" }, - "superclass": "AnyValidator" + "superclass": "DataArrayValidator" }, - "mesh3d.lightposition": { + "pie.label0": { "params": { - "plotly_name": "lightposition", - "parent_name": "mesh3d", - "data_class_str": "Lightposition", + "plotly_name": "label0", + "parent_name": "pie", + "edit_type": "calc" + }, + "superclass": "NumberValidator" + }, + "pie.insidetextorientation": { + "params": { + "plotly_name": "insidetextorientation", + "parent_name": "pie", + "edit_type": "plot", + "values": [ + "horizontal", + "radial", + "tangential", + "auto" + ] + }, + "superclass": "EnumeratedValidator" + }, + "pie.insidetextfont": { + "params": { + "plotly_name": "insidetextfont", + "parent_name": "pie", + "data_class_str": "Insidetextfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "mesh3d.lightposition.z": { + "pie.insidetextfont.weight": { "params": { - "plotly_name": "z", - "parent_name": "mesh3d.lightposition", - "edit_type": "calc", - "max": 100000, - "min": -100000 + "plotly_name": "weight", + "parent_name": "pie.insidetextfont", + "array_ok": true, + "edit_type": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "NumberValidator" + "superclass": "IntegerValidator" }, - "mesh3d.lightposition.y": { + "pie.insidetextfont.variant": { "params": { - "plotly_name": "y", - "parent_name": "mesh3d.lightposition", - "edit_type": "calc", - "max": 100000, - "min": -100000 + "plotly_name": "variant", + "parent_name": "pie.insidetextfont", + "array_ok": true, + "edit_type": "plot", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "mesh3d.lightposition.x": { + "pie.insidetextfont.textcase": { "params": { - "plotly_name": "x", - "parent_name": "mesh3d.lightposition", - "edit_type": "calc", - "max": 100000, - "min": -100000 + "plotly_name": "textcase", + "parent_name": "pie.insidetextfont", + "array_ok": true, + "edit_type": "plot", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "mesh3d.lighting": { + "pie.insidetextfont.style": { "params": { - "plotly_name": "lighting", - "parent_name": "mesh3d", - "data_class_str": "Lighting", - "data_docs": "\n" + "plotly_name": "style", + "parent_name": "pie.insidetextfont", + "array_ok": true, + "edit_type": "plot", + "values": [ + "normal", + "italic" + ] }, - "superclass": "CompoundValidator" + "superclass": "EnumeratedValidator" }, - "mesh3d.lighting.vertexnormalsepsilon": { + "pie.insidetextfont.size": { "params": { - "plotly_name": "vertexnormalsepsilon", - "parent_name": "mesh3d.lighting", - "edit_type": "calc", - "max": 1, - "min": 0 + "plotly_name": "size", + "parent_name": "pie.insidetextfont", + "array_ok": true, + "edit_type": "plot", + "min": 1 }, "superclass": "NumberValidator" }, - "mesh3d.lighting.specular": { + "pie.insidetextfont.shadow": { "params": { - "plotly_name": "specular", - "parent_name": "mesh3d.lighting", - "edit_type": "calc", - "max": 2, - "min": 0 + "plotly_name": "shadow", + "parent_name": "pie.insidetextfont", + "array_ok": true, + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "mesh3d.lighting.roughness": { + "pie.insidetextfont.lineposition": { "params": { - "plotly_name": "roughness", - "parent_name": "mesh3d.lighting", - "edit_type": "calc", - "max": 1, - "min": 0 + "plotly_name": "lineposition", + "parent_name": "pie.insidetextfont", + "array_ok": true, + "edit_type": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] }, - "superclass": "NumberValidator" + "superclass": "FlaglistValidator" }, - "mesh3d.lighting.fresnel": { + "pie.insidetextfont.family": { "params": { - "plotly_name": "fresnel", - "parent_name": "mesh3d.lighting", - "edit_type": "calc", - "max": 5, - "min": 0 + "plotly_name": "family", + "parent_name": "pie.insidetextfont", + "array_ok": true, + "edit_type": "plot", + "no_blank": true, + "strict": true }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "mesh3d.lighting.facenormalsepsilon": { + "pie.insidetextfont.color": { "params": { - "plotly_name": "facenormalsepsilon", - "parent_name": "mesh3d.lighting", - "edit_type": "calc", - "max": 1, - "min": 0 + "plotly_name": "color", + "parent_name": "pie.insidetextfont", + "array_ok": true, + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "mesh3d.lighting.diffuse": { + "pie.ids": { "params": { - "plotly_name": "diffuse", - "parent_name": "mesh3d.lighting", - "edit_type": "calc", - "max": 1, - "min": 0 + "plotly_name": "ids", + "parent_name": "pie", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "mesh3d.lighting.ambient": { + "pie.hovertext": { "params": { - "plotly_name": "ambient", - "parent_name": "mesh3d.lighting", - "edit_type": "calc", - "max": 1, - "min": 0 + "plotly_name": "hovertext", + "parent_name": "pie", + "array_ok": true, + "edit_type": "style" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "mesh3d.legendwidth": { + "pie.hovertemplatefallback": { "params": { - "plotly_name": "legendwidth", - "parent_name": "mesh3d", - "edit_type": "style", - "min": 0 + "plotly_name": "hovertemplatefallback", + "parent_name": "pie", + "edit_type": "none" }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "mesh3d.legendrank": { + "pie.hovertemplate": { "params": { - "plotly_name": "legendrank", - "parent_name": "mesh3d", - "edit_type": "style" + "plotly_name": "hovertemplate", + "parent_name": "pie", + "array_ok": true, + "edit_type": "none" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "mesh3d.legendgrouptitle": { + "pie.hoverlabel": { "params": { - "plotly_name": "legendgrouptitle", - "parent_name": "mesh3d", - "data_class_str": "Legendgrouptitle", + "plotly_name": "hoverlabel", + "parent_name": "pie", + "data_class_str": "Hoverlabel", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "mesh3d.legendgrouptitle.text": { + "pie.hoverlabel.showarrow": { "params": { - "plotly_name": "text", - "parent_name": "mesh3d.legendgrouptitle", - "edit_type": "style" + "plotly_name": "showarrow", + "parent_name": "pie.hoverlabel", + "edit_type": "none" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "mesh3d.legendgrouptitle.font": { + "pie.hoverlabel.namelength": { + "params": { + "plotly_name": "namelength", + "parent_name": "pie.hoverlabel", + "array_ok": true, + "edit_type": "none", + "min": -1 + }, + "superclass": "IntegerValidator" + }, + "pie.hoverlabel.font": { "params": { "plotly_name": "font", - "parent_name": "mesh3d.legendgrouptitle", + "parent_name": "pie.hoverlabel", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "mesh3d.legendgrouptitle.font.weight": { + "pie.hoverlabel.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "mesh3d.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "pie.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "extras": [ "normal", "bold" @@ -82830,11 +68033,12 @@ }, "superclass": "IntegerValidator" }, - "mesh3d.legendgrouptitle.font.variant": { + "pie.hoverlabel.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "mesh3d.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "pie.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "small-caps", @@ -82846,11 +68050,12 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.legendgrouptitle.font.textcase": { + "pie.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "mesh3d.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "pie.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "word caps", @@ -82860,11 +68065,12 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.legendgrouptitle.font.style": { + "pie.hoverlabel.font.style": { "params": { "plotly_name": "style", - "parent_name": "mesh3d.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "pie.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "italic" @@ -82872,28 +68078,31 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.legendgrouptitle.font.size": { + "pie.hoverlabel.font.size": { "params": { "plotly_name": "size", - "parent_name": "mesh3d.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "pie.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "min": 1 }, "superclass": "NumberValidator" }, - "mesh3d.legendgrouptitle.font.shadow": { + "pie.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "mesh3d.legendgrouptitle.font", - "edit_type": "style" + "parent_name": "pie.hoverlabel.font", + "array_ok": true, + "edit_type": "none" }, "superclass": "StringValidator" }, - "mesh3d.legendgrouptitle.font.lineposition": { + "pie.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "mesh3d.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "pie.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "extras": [ "none" ], @@ -82905,233 +68114,400 @@ }, "superclass": "FlaglistValidator" }, - "mesh3d.legendgrouptitle.font.family": { + "pie.hoverlabel.font.family": { "params": { "plotly_name": "family", - "parent_name": "mesh3d.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "pie.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "mesh3d.legendgrouptitle.font.color": { + "pie.hoverlabel.font.color": { "params": { "plotly_name": "color", - "parent_name": "mesh3d.legendgrouptitle.font", - "edit_type": "style" + "parent_name": "pie.hoverlabel.font", + "array_ok": true, + "edit_type": "none" }, "superclass": "ColorValidator" }, - "mesh3d.legendgroup": { + "pie.hoverlabel.bordercolor": { "params": { - "plotly_name": "legendgroup", - "parent_name": "mesh3d", - "edit_type": "style" + "plotly_name": "bordercolor", + "parent_name": "pie.hoverlabel", + "array_ok": true, + "edit_type": "none" }, - "superclass": "StringValidator" + "superclass": "ColorValidator" }, - "mesh3d.legend": { + "pie.hoverlabel.bgcolor": { "params": { - "plotly_name": "legend", - "parent_name": "mesh3d", - "dflt": "legend", - "edit_type": "style" + "plotly_name": "bgcolor", + "parent_name": "pie.hoverlabel", + "array_ok": true, + "edit_type": "none" }, - "superclass": "SubplotidValidator" + "superclass": "ColorValidator" }, - "mesh3d.ksrc": { + "pie.hoverlabel.align": { "params": { - "plotly_name": "ksrc", - "parent_name": "mesh3d", - "edit_type": "none" + "plotly_name": "align", + "parent_name": "pie.hoverlabel", + "array_ok": true, + "edit_type": "none", + "values": [ + "left", + "right", + "auto" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "mesh3d.k": { + "pie.hoverinfo": { "params": { - "plotly_name": "k", - "parent_name": "mesh3d", - "edit_type": "calc" + "plotly_name": "hoverinfo", + "parent_name": "pie", + "array_ok": true, + "edit_type": "none", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "label", + "text", + "value", + "percent", + "name" + ] }, - "superclass": "DataArrayValidator" + "superclass": "FlaglistValidator" }, - "mesh3d.jsrc": { + "pie.hole": { "params": { - "plotly_name": "jsrc", - "parent_name": "mesh3d", - "edit_type": "none" + "plotly_name": "hole", + "parent_name": "pie", + "edit_type": "calc", + "max": 1, + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "mesh3d.j": { + "pie.domain": { "params": { - "plotly_name": "j", - "parent_name": "mesh3d", - "edit_type": "calc" + "plotly_name": "domain", + "parent_name": "pie", + "data_class_str": "Domain", + "data_docs": "\n" }, - "superclass": "DataArrayValidator" + "superclass": "CompoundValidator" }, - "mesh3d.isrc": { + "pie.domain.y": { "params": { - "plotly_name": "isrc", - "parent_name": "mesh3d", - "edit_type": "none" + "plotly_name": "y", + "parent_name": "pie.domain", + "edit_type": "calc", + "items": [ + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + } + ] }, - "superclass": "SrcValidator" + "superclass": "InfoArrayValidator" }, - "mesh3d.intensitysrc": { + "pie.domain.x": { "params": { - "plotly_name": "intensitysrc", - "parent_name": "mesh3d", - "edit_type": "none" + "plotly_name": "x", + "parent_name": "pie.domain", + "edit_type": "calc", + "items": [ + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + } + ] }, - "superclass": "SrcValidator" + "superclass": "InfoArrayValidator" }, - "mesh3d.intensitymode": { + "pie.domain.row": { "params": { - "plotly_name": "intensitymode", - "parent_name": "mesh3d", + "plotly_name": "row", + "parent_name": "pie.domain", + "edit_type": "calc", + "min": 0 + }, + "superclass": "IntegerValidator" + }, + "pie.domain.column": { + "params": { + "plotly_name": "column", + "parent_name": "pie.domain", + "edit_type": "calc", + "min": 0 + }, + "superclass": "IntegerValidator" + }, + "pie.dlabel": { + "params": { + "plotly_name": "dlabel", + "parent_name": "pie", + "edit_type": "calc" + }, + "superclass": "NumberValidator" + }, + "pie.direction": { + "params": { + "plotly_name": "direction", + "parent_name": "pie", "edit_type": "calc", "values": [ - "vertex", - "cell" + "clockwise", + "counterclockwise" ] }, "superclass": "EnumeratedValidator" }, - "mesh3d.intensity": { + "pie.customdata": { "params": { - "plotly_name": "intensity", - "parent_name": "mesh3d", + "plotly_name": "customdata", + "parent_name": "pie", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "mesh3d.idssrc": { + "pie.automargin": { "params": { - "plotly_name": "idssrc", - "parent_name": "mesh3d", - "edit_type": "none" + "plotly_name": "automargin", + "parent_name": "pie", + "edit_type": "plot" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "mesh3d.ids": { + "parcoords": { "params": { - "plotly_name": "ids", - "parent_name": "mesh3d", - "edit_type": "calc" + "plotly_name": "parcoords", + "parent_name": "", + "data_class_str": "Parcoords", + "data_docs": "\n" }, - "superclass": "DataArrayValidator" + "superclass": "CompoundValidator" }, - "mesh3d.i": { + "parcoords.visible": { "params": { - "plotly_name": "i", - "parent_name": "mesh3d", - "edit_type": "calc" + "plotly_name": "visible", + "parent_name": "parcoords", + "edit_type": "calc", + "values": [ + true, + false, + "legendonly" + ] }, - "superclass": "DataArrayValidator" + "superclass": "EnumeratedValidator" }, - "mesh3d.hovertextsrc": { + "parcoords.unselected": { "params": { - "plotly_name": "hovertextsrc", - "parent_name": "mesh3d", - "edit_type": "none" + "plotly_name": "unselected", + "parent_name": "parcoords", + "data_class_str": "Unselected", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "mesh3d.hovertext": { + "parcoords.unselected.line": { "params": { - "plotly_name": "hovertext", - "parent_name": "mesh3d", - "array_ok": true, - "edit_type": "calc" + "plotly_name": "line", + "parent_name": "parcoords.unselected", + "data_class_str": "Line", + "data_docs": "\n" }, - "superclass": "StringValidator" + "superclass": "CompoundValidator" }, - "mesh3d.hovertemplatesrc": { + "parcoords.unselected.line.opacity": { "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "mesh3d", - "edit_type": "none" + "plotly_name": "opacity", + "parent_name": "parcoords.unselected.line", + "edit_type": "plot", + "max": 1, + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "mesh3d.hovertemplatefallback": { + "parcoords.unselected.line.color": { "params": { - "plotly_name": "hovertemplatefallback", - "parent_name": "mesh3d", - "edit_type": "calc" + "plotly_name": "color", + "parent_name": "parcoords.unselected.line", + "edit_type": "plot" + }, + "superclass": "ColorValidator" + }, + "parcoords.uirevision": { + "params": { + "plotly_name": "uirevision", + "parent_name": "parcoords", + "edit_type": "none" }, "superclass": "AnyValidator" }, - "mesh3d.hovertemplate": { + "parcoords.uid": { "params": { - "plotly_name": "hovertemplate", - "parent_name": "mesh3d", - "array_ok": true, - "edit_type": "calc" + "plotly_name": "uid", + "parent_name": "parcoords", + "edit_type": "plot" }, "superclass": "StringValidator" }, - "mesh3d.hoverlabel": { + "parcoords.tickfont": { "params": { - "plotly_name": "hoverlabel", - "parent_name": "mesh3d", - "data_class_str": "Hoverlabel", + "plotly_name": "tickfont", + "parent_name": "parcoords", + "data_class_str": "Tickfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "mesh3d.hoverlabel.showarrow": { + "parcoords.tickfont.weight": { "params": { - "plotly_name": "showarrow", - "parent_name": "mesh3d.hoverlabel", - "edit_type": "none" + "plotly_name": "weight", + "parent_name": "parcoords.tickfont", + "edit_type": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "BooleanValidator" + "superclass": "IntegerValidator" }, - "mesh3d.hoverlabel.namelengthsrc": { + "parcoords.tickfont.variant": { "params": { - "plotly_name": "namelengthsrc", - "parent_name": "mesh3d.hoverlabel", - "edit_type": "none" + "plotly_name": "variant", + "parent_name": "parcoords.tickfont", + "edit_type": "plot", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "mesh3d.hoverlabel.namelength": { + "parcoords.tickfont.textcase": { "params": { - "plotly_name": "namelength", - "parent_name": "mesh3d.hoverlabel", - "array_ok": true, - "edit_type": "none", - "min": -1 + "plotly_name": "textcase", + "parent_name": "parcoords.tickfont", + "edit_type": "plot", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, - "superclass": "IntegerValidator" + "superclass": "EnumeratedValidator" }, - "mesh3d.hoverlabel.font": { + "parcoords.tickfont.style": { "params": { - "plotly_name": "font", - "parent_name": "mesh3d.hoverlabel", - "data_class_str": "Font", - "data_docs": "\n" + "plotly_name": "style", + "parent_name": "parcoords.tickfont", + "edit_type": "plot", + "values": [ + "normal", + "italic" + ] }, - "superclass": "CompoundValidator" + "superclass": "EnumeratedValidator" }, - "mesh3d.hoverlabel.font.weightsrc": { + "parcoords.tickfont.size": { "params": { - "plotly_name": "weightsrc", - "parent_name": "mesh3d.hoverlabel.font", - "edit_type": "none" + "plotly_name": "size", + "parent_name": "parcoords.tickfont", + "edit_type": "plot", + "min": 1 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "mesh3d.hoverlabel.font.weight": { + "parcoords.tickfont.shadow": { + "params": { + "plotly_name": "shadow", + "parent_name": "parcoords.tickfont", + "edit_type": "plot" + }, + "superclass": "StringValidator" + }, + "parcoords.tickfont.lineposition": { + "params": { + "plotly_name": "lineposition", + "parent_name": "parcoords.tickfont", + "edit_type": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] + }, + "superclass": "FlaglistValidator" + }, + "parcoords.tickfont.family": { + "params": { + "plotly_name": "family", + "parent_name": "parcoords.tickfont", + "edit_type": "plot", + "no_blank": true, + "strict": true + }, + "superclass": "StringValidator" + }, + "parcoords.tickfont.color": { + "params": { + "plotly_name": "color", + "parent_name": "parcoords.tickfont", + "edit_type": "plot" + }, + "superclass": "ColorValidator" + }, + "parcoords.rangefont": { + "params": { + "plotly_name": "rangefont", + "parent_name": "parcoords", + "data_class_str": "Rangefont", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "parcoords.rangefont.weight": { "params": { "plotly_name": "weight", - "parent_name": "mesh3d.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "parcoords.rangefont", + "edit_type": "plot", "extras": [ "normal", "bold" @@ -83141,20 +68517,11 @@ }, "superclass": "IntegerValidator" }, - "mesh3d.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "mesh3d.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "mesh3d.hoverlabel.font.variant": { + "parcoords.rangefont.variant": { "params": { "plotly_name": "variant", - "parent_name": "mesh3d.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "parcoords.rangefont", + "edit_type": "plot", "values": [ "normal", "small-caps", @@ -83166,20 +68533,11 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "mesh3d.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "mesh3d.hoverlabel.font.textcase": { + "parcoords.rangefont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "mesh3d.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "parcoords.rangefont", + "edit_type": "plot", "values": [ "normal", "word caps", @@ -83189,20 +68547,11 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "mesh3d.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "mesh3d.hoverlabel.font.style": { + "parcoords.rangefont.style": { "params": { "plotly_name": "style", - "parent_name": "mesh3d.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "parcoords.rangefont", + "edit_type": "plot", "values": [ "normal", "italic" @@ -83210,55 +68559,28 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "mesh3d.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "mesh3d.hoverlabel.font.size": { + "parcoords.rangefont.size": { "params": { "plotly_name": "size", - "parent_name": "mesh3d.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "parcoords.rangefont", + "edit_type": "plot", "min": 1 }, "superclass": "NumberValidator" }, - "mesh3d.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "mesh3d.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "mesh3d.hoverlabel.font.shadow": { + "parcoords.rangefont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "mesh3d.hoverlabel.font", - "array_ok": true, - "edit_type": "none" + "parent_name": "parcoords.rangefont", + "edit_type": "plot" }, "superclass": "StringValidator" }, - "mesh3d.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "mesh3d.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "mesh3d.hoverlabel.font.lineposition": { + "parcoords.rangefont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "mesh3d.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "parcoords.rangefont", + "edit_type": "plot", "extras": [ "none" ], @@ -83270,219 +68592,70 @@ }, "superclass": "FlaglistValidator" }, - "mesh3d.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "mesh3d.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "mesh3d.hoverlabel.font.family": { + "parcoords.rangefont.family": { "params": { "plotly_name": "family", - "parent_name": "mesh3d.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "parcoords.rangefont", + "edit_type": "plot", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "mesh3d.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "mesh3d.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "mesh3d.hoverlabel.font.color": { + "parcoords.rangefont.color": { "params": { "plotly_name": "color", - "parent_name": "mesh3d.hoverlabel.font", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "ColorValidator" - }, - "mesh3d.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "mesh3d.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "mesh3d.hoverlabel.bordercolor": { - "params": { - "plotly_name": "bordercolor", - "parent_name": "mesh3d.hoverlabel", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "ColorValidator" - }, - "mesh3d.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "mesh3d.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "mesh3d.hoverlabel.bgcolor": { - "params": { - "plotly_name": "bgcolor", - "parent_name": "mesh3d.hoverlabel", - "array_ok": true, - "edit_type": "none" + "parent_name": "parcoords.rangefont", + "edit_type": "plot" }, "superclass": "ColorValidator" }, - "mesh3d.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "mesh3d.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "mesh3d.hoverlabel.align": { - "params": { - "plotly_name": "align", - "parent_name": "mesh3d.hoverlabel", - "array_ok": true, - "edit_type": "none", - "values": [ - "left", - "right", - "auto" - ] - }, - "superclass": "EnumeratedValidator" - }, - "mesh3d.hoverinfosrc": { + "parcoords.name": { "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "mesh3d", - "edit_type": "none" + "plotly_name": "name", + "parent_name": "parcoords", + "edit_type": "style" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "mesh3d.hoverinfo": { + "parcoords.meta": { "params": { - "plotly_name": "hoverinfo", - "parent_name": "mesh3d", + "plotly_name": "meta", + "parent_name": "parcoords", "array_ok": true, - "edit_type": "calc", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "x", - "y", - "z", - "text", - "name" - ] - }, - "superclass": "FlaglistValidator" - }, - "mesh3d.flatshading": { - "params": { - "plotly_name": "flatshading", - "parent_name": "mesh3d", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "mesh3d.facecolorsrc": { - "params": { - "plotly_name": "facecolorsrc", - "parent_name": "mesh3d", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "mesh3d.facecolor": { - "params": { - "plotly_name": "facecolor", - "parent_name": "mesh3d", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "mesh3d.delaunayaxis": { - "params": { - "plotly_name": "delaunayaxis", - "parent_name": "mesh3d", - "edit_type": "calc", - "values": [ - "x", - "y", - "z" - ] - }, - "superclass": "EnumeratedValidator" - }, - "mesh3d.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "mesh3d", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "mesh3d.customdata": { - "params": { - "plotly_name": "customdata", - "parent_name": "mesh3d", - "edit_type": "calc" + "edit_type": "plot" }, - "superclass": "DataArrayValidator" + "superclass": "AnyValidator" }, - "mesh3d.contour": { + "parcoords.line": { "params": { - "plotly_name": "contour", - "parent_name": "mesh3d", - "data_class_str": "Contour", + "plotly_name": "line", + "parent_name": "parcoords", + "data_class_str": "Line", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "mesh3d.contour.width": { - "params": { - "plotly_name": "width", - "parent_name": "mesh3d.contour", - "edit_type": "calc", - "max": 16, - "min": 1 - }, - "superclass": "NumberValidator" - }, - "mesh3d.contour.show": { + "parcoords.line.showscale": { "params": { - "plotly_name": "show", - "parent_name": "mesh3d.contour", + "plotly_name": "showscale", + "parent_name": "parcoords.line", "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "mesh3d.contour.color": { + "parcoords.line.reversescale": { "params": { - "plotly_name": "color", - "parent_name": "mesh3d.contour", - "edit_type": "calc" + "plotly_name": "reversescale", + "parent_name": "parcoords.line", + "edit_type": "plot" }, - "superclass": "ColorValidator" + "superclass": "BooleanValidator" }, - "mesh3d.colorscale": { + "parcoords.line.colorscale": { "params": { "plotly_name": "colorscale", - "parent_name": "mesh3d", + "parent_name": "parcoords.line", "edit_type": "calc", "implied_edits": { "autocolorscale": false @@ -83490,19 +68663,19 @@ }, "superclass": "ColorscaleValidator" }, - "mesh3d.colorbar": { + "parcoords.line.colorbar": { "params": { "plotly_name": "colorbar", - "parent_name": "mesh3d", + "parent_name": "parcoords.line", "data_class_str": "ColorBar", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "mesh3d.colorbar.yref": { + "parcoords.line.colorbar.yref": { "params": { "plotly_name": "yref", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "values": [ "container", @@ -83511,19 +68684,19 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.colorbar.ypad": { + "parcoords.line.colorbar.ypad": { "params": { "plotly_name": "ypad", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "mesh3d.colorbar.yanchor": { + "parcoords.line.colorbar.yanchor": { "params": { "plotly_name": "yanchor", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "values": [ "top", @@ -83533,18 +68706,18 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.colorbar.y": { + "parcoords.line.colorbar.y": { "params": { "plotly_name": "y", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars" }, "superclass": "NumberValidator" }, - "mesh3d.colorbar.xref": { + "parcoords.line.colorbar.xref": { "params": { "plotly_name": "xref", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "values": [ "container", @@ -83553,19 +68726,19 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.colorbar.xpad": { + "parcoords.line.colorbar.xpad": { "params": { "plotly_name": "xpad", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "mesh3d.colorbar.xanchor": { + "parcoords.line.colorbar.xanchor": { "params": { "plotly_name": "xanchor", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "values": [ "left", @@ -83575,35 +68748,35 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.colorbar.x": { + "parcoords.line.colorbar.x": { "params": { "plotly_name": "x", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars" }, "superclass": "NumberValidator" }, - "mesh3d.colorbar.title": { + "parcoords.line.colorbar.title": { "params": { "plotly_name": "title", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "data_class_str": "Title", "data_docs": "\n" }, "superclass": "TitleValidator" }, - "mesh3d.colorbar.title.text": { + "parcoords.line.colorbar.title.text": { "params": { "plotly_name": "text", - "parent_name": "mesh3d.colorbar.title", + "parent_name": "parcoords.line.colorbar.title", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "mesh3d.colorbar.title.side": { + "parcoords.line.colorbar.title.side": { "params": { "plotly_name": "side", - "parent_name": "mesh3d.colorbar.title", + "parent_name": "parcoords.line.colorbar.title", "edit_type": "colorbars", "values": [ "right", @@ -83613,19 +68786,19 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.colorbar.title.font": { + "parcoords.line.colorbar.title.font": { "params": { "plotly_name": "font", - "parent_name": "mesh3d.colorbar.title", + "parent_name": "parcoords.line.colorbar.title", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "mesh3d.colorbar.title.font.weight": { + "parcoords.line.colorbar.title.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "mesh3d.colorbar.title.font", + "parent_name": "parcoords.line.colorbar.title.font", "edit_type": "colorbars", "extras": [ "normal", @@ -83636,10 +68809,10 @@ }, "superclass": "IntegerValidator" }, - "mesh3d.colorbar.title.font.variant": { + "parcoords.line.colorbar.title.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "mesh3d.colorbar.title.font", + "parent_name": "parcoords.line.colorbar.title.font", "edit_type": "colorbars", "values": [ "normal", @@ -83652,10 +68825,10 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.colorbar.title.font.textcase": { + "parcoords.line.colorbar.title.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "mesh3d.colorbar.title.font", + "parent_name": "parcoords.line.colorbar.title.font", "edit_type": "colorbars", "values": [ "normal", @@ -83666,10 +68839,10 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.colorbar.title.font.style": { + "parcoords.line.colorbar.title.font.style": { "params": { "plotly_name": "style", - "parent_name": "mesh3d.colorbar.title.font", + "parent_name": "parcoords.line.colorbar.title.font", "edit_type": "colorbars", "values": [ "normal", @@ -83678,27 +68851,27 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.colorbar.title.font.size": { + "parcoords.line.colorbar.title.font.size": { "params": { "plotly_name": "size", - "parent_name": "mesh3d.colorbar.title.font", + "parent_name": "parcoords.line.colorbar.title.font", "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "mesh3d.colorbar.title.font.shadow": { + "parcoords.line.colorbar.title.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "mesh3d.colorbar.title.font", + "parent_name": "parcoords.line.colorbar.title.font", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "mesh3d.colorbar.title.font.lineposition": { + "parcoords.line.colorbar.title.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "mesh3d.colorbar.title.font", + "parent_name": "parcoords.line.colorbar.title.font", "edit_type": "colorbars", "extras": [ "none" @@ -83711,77 +68884,61 @@ }, "superclass": "FlaglistValidator" }, - "mesh3d.colorbar.title.font.family": { + "parcoords.line.colorbar.title.font.family": { "params": { "plotly_name": "family", - "parent_name": "mesh3d.colorbar.title.font", + "parent_name": "parcoords.line.colorbar.title.font", "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "mesh3d.colorbar.title.font.color": { + "parcoords.line.colorbar.title.font.color": { "params": { "plotly_name": "color", - "parent_name": "mesh3d.colorbar.title.font", + "parent_name": "parcoords.line.colorbar.title.font", "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "mesh3d.colorbar.tickwidth": { + "parcoords.line.colorbar.tickwidth": { "params": { "plotly_name": "tickwidth", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "mesh3d.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "mesh3d.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "mesh3d.colorbar.tickvals": { + "parcoords.line.colorbar.tickvals": { "params": { "plotly_name": "tickvals", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars" }, "superclass": "DataArrayValidator" }, - "mesh3d.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "mesh3d.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "mesh3d.colorbar.ticktext": { + "parcoords.line.colorbar.ticktext": { "params": { "plotly_name": "ticktext", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars" }, "superclass": "DataArrayValidator" }, - "mesh3d.colorbar.ticksuffix": { + "parcoords.line.colorbar.ticksuffix": { "params": { "plotly_name": "ticksuffix", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "mesh3d.colorbar.ticks": { + "parcoords.line.colorbar.ticks": { "params": { "plotly_name": "ticks", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "values": [ "outside", @@ -83791,18 +68948,18 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.colorbar.tickprefix": { + "parcoords.line.colorbar.tickprefix": { "params": { "plotly_name": "tickprefix", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "mesh3d.colorbar.tickmode": { + "parcoords.line.colorbar.tickmode": { "params": { "plotly_name": "tickmode", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "implied_edits": {}, "values": [ @@ -83813,28 +68970,28 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.colorbar.ticklen": { + "parcoords.line.colorbar.ticklen": { "params": { "plotly_name": "ticklen", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "mesh3d.colorbar.ticklabelstep": { + "parcoords.line.colorbar.ticklabelstep": { "params": { "plotly_name": "ticklabelstep", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "min": 1 }, "superclass": "IntegerValidator" }, - "mesh3d.colorbar.ticklabelposition": { + "parcoords.line.colorbar.ticklabelposition": { "params": { "plotly_name": "ticklabelposition", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "values": [ "outside", @@ -83851,10 +69008,10 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.colorbar.ticklabeloverflow": { + "parcoords.line.colorbar.ticklabeloverflow": { "params": { "plotly_name": "ticklabeloverflow", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "values": [ "allow", @@ -83864,60 +69021,60 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.colorbar.tickformatstopdefaults": { + "parcoords.line.colorbar.tickformatstopdefaults": { "params": { "plotly_name": "tickformatstopdefaults", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "data_class_str": "Tickformatstop", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "mesh3d.colorbar.tickformatstops": { + "parcoords.line.colorbar.tickformatstops": { "params": { "plotly_name": "tickformatstops", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "data_class_str": "Tickformatstop", "data_docs": "\n" }, "superclass": "CompoundArrayValidator" }, - "mesh3d.colorbar.tickformatstop.value": { + "parcoords.line.colorbar.tickformatstop.value": { "params": { "plotly_name": "value", - "parent_name": "mesh3d.colorbar.tickformatstop", + "parent_name": "parcoords.line.colorbar.tickformatstop", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "mesh3d.colorbar.tickformatstop.templateitemname": { + "parcoords.line.colorbar.tickformatstop.templateitemname": { "params": { "plotly_name": "templateitemname", - "parent_name": "mesh3d.colorbar.tickformatstop", + "parent_name": "parcoords.line.colorbar.tickformatstop", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "mesh3d.colorbar.tickformatstop.name": { + "parcoords.line.colorbar.tickformatstop.name": { "params": { "plotly_name": "name", - "parent_name": "mesh3d.colorbar.tickformatstop", + "parent_name": "parcoords.line.colorbar.tickformatstop", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "mesh3d.colorbar.tickformatstop.enabled": { + "parcoords.line.colorbar.tickformatstop.enabled": { "params": { "plotly_name": "enabled", - "parent_name": "mesh3d.colorbar.tickformatstop", + "parent_name": "parcoords.line.colorbar.tickformatstop", "edit_type": "colorbars" }, "superclass": "BooleanValidator" }, - "mesh3d.colorbar.tickformatstop.dtickrange": { + "parcoords.line.colorbar.tickformatstop.dtickrange": { "params": { "plotly_name": "dtickrange", - "parent_name": "mesh3d.colorbar.tickformatstop", + "parent_name": "parcoords.line.colorbar.tickformatstop", "edit_type": "colorbars", "items": [ { @@ -83932,27 +69089,27 @@ }, "superclass": "InfoArrayValidator" }, - "mesh3d.colorbar.tickformat": { + "parcoords.line.colorbar.tickformat": { "params": { "plotly_name": "tickformat", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "mesh3d.colorbar.tickfont": { + "parcoords.line.colorbar.tickfont": { "params": { "plotly_name": "tickfont", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "data_class_str": "Tickfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "mesh3d.colorbar.tickfont.weight": { + "parcoords.line.colorbar.tickfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "mesh3d.colorbar.tickfont", + "parent_name": "parcoords.line.colorbar.tickfont", "edit_type": "colorbars", "extras": [ "normal", @@ -83963,10 +69120,10 @@ }, "superclass": "IntegerValidator" }, - "mesh3d.colorbar.tickfont.variant": { + "parcoords.line.colorbar.tickfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "mesh3d.colorbar.tickfont", + "parent_name": "parcoords.line.colorbar.tickfont", "edit_type": "colorbars", "values": [ "normal", @@ -83979,10 +69136,10 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.colorbar.tickfont.textcase": { + "parcoords.line.colorbar.tickfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "mesh3d.colorbar.tickfont", + "parent_name": "parcoords.line.colorbar.tickfont", "edit_type": "colorbars", "values": [ "normal", @@ -83993,10 +69150,10 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.colorbar.tickfont.style": { + "parcoords.line.colorbar.tickfont.style": { "params": { "plotly_name": "style", - "parent_name": "mesh3d.colorbar.tickfont", + "parent_name": "parcoords.line.colorbar.tickfont", "edit_type": "colorbars", "values": [ "normal", @@ -84005,27 +69162,27 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.colorbar.tickfont.size": { + "parcoords.line.colorbar.tickfont.size": { "params": { "plotly_name": "size", - "parent_name": "mesh3d.colorbar.tickfont", + "parent_name": "parcoords.line.colorbar.tickfont", "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "mesh3d.colorbar.tickfont.shadow": { + "parcoords.line.colorbar.tickfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "mesh3d.colorbar.tickfont", + "parent_name": "parcoords.line.colorbar.tickfont", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "mesh3d.colorbar.tickfont.lineposition": { + "parcoords.line.colorbar.tickfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "mesh3d.colorbar.tickfont", + "parent_name": "parcoords.line.colorbar.tickfont", "edit_type": "colorbars", "extras": [ "none" @@ -84038,44 +69195,44 @@ }, "superclass": "FlaglistValidator" }, - "mesh3d.colorbar.tickfont.family": { + "parcoords.line.colorbar.tickfont.family": { "params": { "plotly_name": "family", - "parent_name": "mesh3d.colorbar.tickfont", + "parent_name": "parcoords.line.colorbar.tickfont", "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "mesh3d.colorbar.tickfont.color": { + "parcoords.line.colorbar.tickfont.color": { "params": { "plotly_name": "color", - "parent_name": "mesh3d.colorbar.tickfont", + "parent_name": "parcoords.line.colorbar.tickfont", "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "mesh3d.colorbar.tickcolor": { + "parcoords.line.colorbar.tickcolor": { "params": { "plotly_name": "tickcolor", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "mesh3d.colorbar.tickangle": { + "parcoords.line.colorbar.tickangle": { "params": { "plotly_name": "tickangle", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars" }, "superclass": "AngleValidator" }, - "mesh3d.colorbar.tick0": { + "parcoords.line.colorbar.tick0": { "params": { "plotly_name": "tick0", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "implied_edits": { "tickmode": "linear" @@ -84083,10 +69240,10 @@ }, "superclass": "AnyValidator" }, - "mesh3d.colorbar.thicknessmode": { + "parcoords.line.colorbar.thicknessmode": { "params": { "plotly_name": "thicknessmode", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "values": [ "fraction", @@ -84095,19 +69252,19 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.colorbar.thickness": { + "parcoords.line.colorbar.thickness": { "params": { "plotly_name": "thickness", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "mesh3d.colorbar.showticksuffix": { + "parcoords.line.colorbar.showticksuffix": { "params": { "plotly_name": "showticksuffix", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "values": [ "all", @@ -84118,10 +69275,10 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.colorbar.showtickprefix": { + "parcoords.line.colorbar.showtickprefix": { "params": { "plotly_name": "showtickprefix", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "values": [ "all", @@ -84132,18 +69289,18 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.colorbar.showticklabels": { + "parcoords.line.colorbar.showticklabels": { "params": { "plotly_name": "showticklabels", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars" }, "superclass": "BooleanValidator" }, - "mesh3d.colorbar.showexponent": { + "parcoords.line.colorbar.showexponent": { "params": { "plotly_name": "showexponent", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "values": [ "all", @@ -84154,35 +69311,35 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.colorbar.separatethousands": { + "parcoords.line.colorbar.separatethousands": { "params": { "plotly_name": "separatethousands", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars" }, "superclass": "BooleanValidator" }, - "mesh3d.colorbar.outlinewidth": { + "parcoords.line.colorbar.outlinewidth": { "params": { "plotly_name": "outlinewidth", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "mesh3d.colorbar.outlinecolor": { + "parcoords.line.colorbar.outlinecolor": { "params": { "plotly_name": "outlinecolor", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "mesh3d.colorbar.orientation": { + "parcoords.line.colorbar.orientation": { "params": { "plotly_name": "orientation", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "values": [ "h", @@ -84191,28 +69348,28 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.colorbar.nticks": { + "parcoords.line.colorbar.nticks": { "params": { "plotly_name": "nticks", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "IntegerValidator" }, - "mesh3d.colorbar.minexponent": { + "parcoords.line.colorbar.minexponent": { "params": { "plotly_name": "minexponent", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "mesh3d.colorbar.lenmode": { + "parcoords.line.colorbar.lenmode": { "params": { "plotly_name": "lenmode", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "values": [ "fraction", @@ -84221,27 +69378,27 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.colorbar.len": { + "parcoords.line.colorbar.len": { "params": { "plotly_name": "len", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "mesh3d.colorbar.labelalias": { + "parcoords.line.colorbar.labelalias": { "params": { "plotly_name": "labelalias", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars" }, "superclass": "AnyValidator" }, - "mesh3d.colorbar.exponentformat": { + "parcoords.line.colorbar.exponentformat": { "params": { "plotly_name": "exponentformat", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "values": [ "none", @@ -84255,10 +69412,10 @@ }, "superclass": "EnumeratedValidator" }, - "mesh3d.colorbar.dtick": { + "parcoords.line.colorbar.dtick": { "params": { "plotly_name": "dtick", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "implied_edits": { "tickmode": "linear" @@ -84266,54 +69423,55 @@ }, "superclass": "AnyValidator" }, - "mesh3d.colorbar.borderwidth": { + "parcoords.line.colorbar.borderwidth": { "params": { "plotly_name": "borderwidth", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "mesh3d.colorbar.bordercolor": { + "parcoords.line.colorbar.bordercolor": { "params": { "plotly_name": "bordercolor", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "mesh3d.colorbar.bgcolor": { + "parcoords.line.colorbar.bgcolor": { "params": { "plotly_name": "bgcolor", - "parent_name": "mesh3d.colorbar", + "parent_name": "parcoords.line.colorbar", "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "mesh3d.coloraxis": { + "parcoords.line.coloraxis": { "params": { "plotly_name": "coloraxis", - "parent_name": "mesh3d", + "parent_name": "parcoords.line", "dflt": null, "edit_type": "calc", "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" }, "superclass": "SubplotidValidator" }, - "mesh3d.color": { + "parcoords.line.color": { "params": { "plotly_name": "color", - "parent_name": "mesh3d", + "parent_name": "parcoords.line", + "array_ok": true, "edit_type": "calc", - "colorscale_path": "mesh3d.colorscale" + "colorscale_path": "parcoords.line.colorscale" }, "superclass": "ColorValidator" }, - "mesh3d.cmin": { + "parcoords.line.cmin": { "params": { "plotly_name": "cmin", - "parent_name": "mesh3d", + "parent_name": "parcoords.line", "edit_type": "calc", "implied_edits": { "cauto": false @@ -84321,19 +69479,19 @@ }, "superclass": "NumberValidator" }, - "mesh3d.cmid": { + "parcoords.line.cmid": { "params": { "plotly_name": "cmid", - "parent_name": "mesh3d", + "parent_name": "parcoords.line", "edit_type": "calc", "implied_edits": {} }, "superclass": "NumberValidator" }, - "mesh3d.cmax": { + "parcoords.line.cmax": { "params": { "plotly_name": "cmax", - "parent_name": "mesh3d", + "parent_name": "parcoords.line", "edit_type": "calc", "implied_edits": { "cauto": false @@ -84341,667 +69499,586 @@ }, "superclass": "NumberValidator" }, - "mesh3d.cauto": { + "parcoords.line.cauto": { "params": { "plotly_name": "cauto", - "parent_name": "mesh3d", + "parent_name": "parcoords.line", "edit_type": "calc", "implied_edits": {} }, "superclass": "BooleanValidator" }, - "mesh3d.autocolorscale": { + "parcoords.line.autocolorscale": { "params": { "plotly_name": "autocolorscale", - "parent_name": "mesh3d", + "parent_name": "parcoords.line", "edit_type": "calc", "implied_edits": {} }, "superclass": "BooleanValidator" }, - "mesh3d.alphahull": { + "parcoords.legendwidth": { "params": { - "plotly_name": "alphahull", - "parent_name": "mesh3d", - "edit_type": "calc" + "plotly_name": "legendwidth", + "parent_name": "parcoords", + "edit_type": "style", + "min": 0 }, "superclass": "NumberValidator" }, - "isosurface": { - "params": { - "plotly_name": "isosurface", - "parent_name": "", - "data_class_str": "Isosurface", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "isosurface.zsrc": { - "params": { - "plotly_name": "zsrc", - "parent_name": "isosurface", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "isosurface.zhoverformat": { - "params": { - "plotly_name": "zhoverformat", - "parent_name": "isosurface", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "isosurface.z": { + "parcoords.legendrank": { "params": { - "plotly_name": "z", - "parent_name": "isosurface", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "legendrank", + "parent_name": "parcoords", + "edit_type": "style" }, - "superclass": "DataArrayValidator" + "superclass": "NumberValidator" }, - "isosurface.ysrc": { + "parcoords.legendgrouptitle": { "params": { - "plotly_name": "ysrc", - "parent_name": "isosurface", - "edit_type": "none" + "plotly_name": "legendgrouptitle", + "parent_name": "parcoords", + "data_class_str": "Legendgrouptitle", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "isosurface.yhoverformat": { + "parcoords.legendgrouptitle.text": { "params": { - "plotly_name": "yhoverformat", - "parent_name": "isosurface", - "edit_type": "calc" + "plotly_name": "text", + "parent_name": "parcoords.legendgrouptitle", + "edit_type": "style" }, "superclass": "StringValidator" }, - "isosurface.y": { - "params": { - "plotly_name": "y", - "parent_name": "isosurface", - "edit_type": "calc+clearAxisTypes" - }, - "superclass": "DataArrayValidator" - }, - "isosurface.xsrc": { - "params": { - "plotly_name": "xsrc", - "parent_name": "isosurface", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "isosurface.xhoverformat": { + "parcoords.legendgrouptitle.font": { "params": { - "plotly_name": "xhoverformat", - "parent_name": "isosurface", - "edit_type": "calc" + "plotly_name": "font", + "parent_name": "parcoords.legendgrouptitle", + "data_class_str": "Font", + "data_docs": "\n" }, - "superclass": "StringValidator" + "superclass": "CompoundValidator" }, - "isosurface.x": { + "parcoords.legendgrouptitle.font.weight": { "params": { - "plotly_name": "x", - "parent_name": "isosurface", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "weight", + "parent_name": "parcoords.legendgrouptitle.font", + "edit_type": "style", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "DataArrayValidator" + "superclass": "IntegerValidator" }, - "isosurface.visible": { + "parcoords.legendgrouptitle.font.variant": { "params": { - "plotly_name": "visible", - "parent_name": "isosurface", - "edit_type": "calc", + "plotly_name": "variant", + "parent_name": "parcoords.legendgrouptitle.font", + "edit_type": "style", "values": [ - true, - false, - "legendonly" + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] }, "superclass": "EnumeratedValidator" }, - "isosurface.valuesrc": { - "params": { - "plotly_name": "valuesrc", - "parent_name": "isosurface", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "isosurface.valuehoverformat": { - "params": { - "plotly_name": "valuehoverformat", - "parent_name": "isosurface", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "isosurface.value": { - "params": { - "plotly_name": "value", - "parent_name": "isosurface", - "edit_type": "calc+clearAxisTypes" - }, - "superclass": "DataArrayValidator" - }, - "isosurface.uirevision": { + "parcoords.legendgrouptitle.font.textcase": { "params": { - "plotly_name": "uirevision", - "parent_name": "isosurface", - "edit_type": "none" + "plotly_name": "textcase", + "parent_name": "parcoords.legendgrouptitle.font", + "edit_type": "style", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, - "superclass": "AnyValidator" + "superclass": "EnumeratedValidator" }, - "isosurface.uid": { + "parcoords.legendgrouptitle.font.style": { "params": { - "plotly_name": "uid", - "parent_name": "isosurface", - "edit_type": "plot" + "plotly_name": "style", + "parent_name": "parcoords.legendgrouptitle.font", + "edit_type": "style", + "values": [ + "normal", + "italic" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "isosurface.textsrc": { + "parcoords.legendgrouptitle.font.size": { "params": { - "plotly_name": "textsrc", - "parent_name": "isosurface", - "edit_type": "none" + "plotly_name": "size", + "parent_name": "parcoords.legendgrouptitle.font", + "edit_type": "style", + "min": 1 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "isosurface.text": { + "parcoords.legendgrouptitle.font.shadow": { "params": { - "plotly_name": "text", - "parent_name": "isosurface", - "array_ok": true, - "edit_type": "calc" + "plotly_name": "shadow", + "parent_name": "parcoords.legendgrouptitle.font", + "edit_type": "style" }, "superclass": "StringValidator" }, - "isosurface.surface": { - "params": { - "plotly_name": "surface", - "parent_name": "isosurface", - "data_class_str": "Surface", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "isosurface.surface.show": { - "params": { - "plotly_name": "show", - "parent_name": "isosurface.surface", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "isosurface.surface.pattern": { + "parcoords.legendgrouptitle.font.lineposition": { "params": { - "plotly_name": "pattern", - "parent_name": "isosurface.surface", - "edit_type": "calc", + "plotly_name": "lineposition", + "parent_name": "parcoords.legendgrouptitle.font", + "edit_type": "style", "extras": [ - "all", - "odd", - "even" + "none" ], "flags": [ - "A", - "B", - "C", - "D", - "E" + "under", + "over", + "through" ] }, "superclass": "FlaglistValidator" }, - "isosurface.surface.fill": { - "params": { - "plotly_name": "fill", - "parent_name": "isosurface.surface", - "edit_type": "calc", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "isosurface.surface.count": { - "params": { - "plotly_name": "count", - "parent_name": "isosurface.surface", - "edit_type": "calc", - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "isosurface.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "isosurface", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "isosurface.stream.token": { + "parcoords.legendgrouptitle.font.family": { "params": { - "plotly_name": "token", - "parent_name": "isosurface.stream", - "edit_type": "calc", + "plotly_name": "family", + "parent_name": "parcoords.legendgrouptitle.font", + "edit_type": "style", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "isosurface.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "isosurface.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "isosurface.spaceframe": { + "parcoords.legendgrouptitle.font.color": { "params": { - "plotly_name": "spaceframe", - "parent_name": "isosurface", - "data_class_str": "Spaceframe", - "data_docs": "\n" + "plotly_name": "color", + "parent_name": "parcoords.legendgrouptitle.font", + "edit_type": "style" }, - "superclass": "CompoundValidator" + "superclass": "ColorValidator" }, - "isosurface.spaceframe.show": { + "parcoords.legend": { "params": { - "plotly_name": "show", - "parent_name": "isosurface.spaceframe", - "edit_type": "calc" + "plotly_name": "legend", + "parent_name": "parcoords", + "dflt": "legend", + "edit_type": "style" }, - "superclass": "BooleanValidator" + "superclass": "SubplotidValidator" }, - "isosurface.spaceframe.fill": { + "parcoords.labelside": { "params": { - "plotly_name": "fill", - "parent_name": "isosurface.spaceframe", - "edit_type": "calc", - "max": 1, - "min": 0 + "plotly_name": "labelside", + "parent_name": "parcoords", + "edit_type": "plot", + "values": [ + "top", + "bottom" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "isosurface.slices": { + "parcoords.labelfont": { "params": { - "plotly_name": "slices", - "parent_name": "isosurface", - "data_class_str": "Slices", + "plotly_name": "labelfont", + "parent_name": "parcoords", + "data_class_str": "Labelfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "isosurface.slices.z": { + "parcoords.labelfont.weight": { "params": { - "plotly_name": "z", - "parent_name": "isosurface.slices", - "data_class_str": "Z", - "data_docs": "\n" + "plotly_name": "weight", + "parent_name": "parcoords.labelfont", + "edit_type": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "CompoundValidator" + "superclass": "IntegerValidator" }, - "isosurface.slices.z.show": { + "parcoords.labelfont.variant": { "params": { - "plotly_name": "show", - "parent_name": "isosurface.slices.z", - "edit_type": "calc" + "plotly_name": "variant", + "parent_name": "parcoords.labelfont", + "edit_type": "plot", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] }, - "superclass": "BooleanValidator" + "superclass": "EnumeratedValidator" }, - "isosurface.slices.z.locationssrc": { + "parcoords.labelfont.textcase": { "params": { - "plotly_name": "locationssrc", - "parent_name": "isosurface.slices.z", - "edit_type": "none" + "plotly_name": "textcase", + "parent_name": "parcoords.labelfont", + "edit_type": "plot", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "isosurface.slices.z.locations": { + "parcoords.labelfont.style": { "params": { - "plotly_name": "locations", - "parent_name": "isosurface.slices.z", - "edit_type": "calc" + "plotly_name": "style", + "parent_name": "parcoords.labelfont", + "edit_type": "plot", + "values": [ + "normal", + "italic" + ] }, - "superclass": "DataArrayValidator" + "superclass": "EnumeratedValidator" }, - "isosurface.slices.z.fill": { + "parcoords.labelfont.size": { "params": { - "plotly_name": "fill", - "parent_name": "isosurface.slices.z", - "edit_type": "calc", - "max": 1, - "min": 0 + "plotly_name": "size", + "parent_name": "parcoords.labelfont", + "edit_type": "plot", + "min": 1 }, "superclass": "NumberValidator" }, - "isosurface.slices.y": { - "params": { - "plotly_name": "y", - "parent_name": "isosurface.slices", - "data_class_str": "Y", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "isosurface.slices.y.show": { - "params": { - "plotly_name": "show", - "parent_name": "isosurface.slices.y", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "isosurface.slices.y.locationssrc": { - "params": { - "plotly_name": "locationssrc", - "parent_name": "isosurface.slices.y", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "isosurface.slices.y.locations": { + "parcoords.labelfont.shadow": { "params": { - "plotly_name": "locations", - "parent_name": "isosurface.slices.y", - "edit_type": "calc" + "plotly_name": "shadow", + "parent_name": "parcoords.labelfont", + "edit_type": "plot" }, - "superclass": "DataArrayValidator" + "superclass": "StringValidator" }, - "isosurface.slices.y.fill": { + "parcoords.labelfont.lineposition": { "params": { - "plotly_name": "fill", - "parent_name": "isosurface.slices.y", - "edit_type": "calc", - "max": 1, - "min": 0 + "plotly_name": "lineposition", + "parent_name": "parcoords.labelfont", + "edit_type": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] }, - "superclass": "NumberValidator" + "superclass": "FlaglistValidator" }, - "isosurface.slices.x": { + "parcoords.labelfont.family": { "params": { - "plotly_name": "x", - "parent_name": "isosurface.slices", - "data_class_str": "X", - "data_docs": "\n" + "plotly_name": "family", + "parent_name": "parcoords.labelfont", + "edit_type": "plot", + "no_blank": true, + "strict": true }, - "superclass": "CompoundValidator" + "superclass": "StringValidator" }, - "isosurface.slices.x.show": { + "parcoords.labelfont.color": { "params": { - "plotly_name": "show", - "parent_name": "isosurface.slices.x", - "edit_type": "calc" + "plotly_name": "color", + "parent_name": "parcoords.labelfont", + "edit_type": "plot" }, - "superclass": "BooleanValidator" + "superclass": "ColorValidator" }, - "isosurface.slices.x.locationssrc": { + "parcoords.labelangle": { "params": { - "plotly_name": "locationssrc", - "parent_name": "isosurface.slices.x", - "edit_type": "none" + "plotly_name": "labelangle", + "parent_name": "parcoords", + "edit_type": "plot" }, - "superclass": "SrcValidator" + "superclass": "AngleValidator" }, - "isosurface.slices.x.locations": { + "parcoords.ids": { "params": { - "plotly_name": "locations", - "parent_name": "isosurface.slices.x", + "plotly_name": "ids", + "parent_name": "parcoords", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "isosurface.slices.x.fill": { - "params": { - "plotly_name": "fill", - "parent_name": "isosurface.slices.x", - "edit_type": "calc", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "isosurface.showscale": { + "parcoords.domain": { "params": { - "plotly_name": "showscale", - "parent_name": "isosurface", - "edit_type": "calc" + "plotly_name": "domain", + "parent_name": "parcoords", + "data_class_str": "Domain", + "data_docs": "\n" }, - "superclass": "BooleanValidator" + "superclass": "CompoundValidator" }, - "isosurface.showlegend": { + "parcoords.domain.y": { "params": { - "plotly_name": "showlegend", - "parent_name": "isosurface", - "edit_type": "calc" + "plotly_name": "y", + "parent_name": "parcoords.domain", + "edit_type": "plot", + "items": [ + { + "editType": "plot", + "max": 1, + "min": 0, + "valType": "number" + }, + { + "editType": "plot", + "max": 1, + "min": 0, + "valType": "number" + } + ] }, - "superclass": "BooleanValidator" + "superclass": "InfoArrayValidator" }, - "isosurface.scene": { + "parcoords.domain.x": { "params": { - "plotly_name": "scene", - "parent_name": "isosurface", - "dflt": "scene", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "x", + "parent_name": "parcoords.domain", + "edit_type": "plot", + "items": [ + { + "editType": "plot", + "max": 1, + "min": 0, + "valType": "number" + }, + { + "editType": "plot", + "max": 1, + "min": 0, + "valType": "number" + } + ] }, - "superclass": "SubplotidValidator" + "superclass": "InfoArrayValidator" }, - "isosurface.reversescale": { + "parcoords.domain.row": { "params": { - "plotly_name": "reversescale", - "parent_name": "isosurface", - "edit_type": "calc" + "plotly_name": "row", + "parent_name": "parcoords.domain", + "edit_type": "plot", + "min": 0 }, - "superclass": "BooleanValidator" + "superclass": "IntegerValidator" }, - "isosurface.opacity": { + "parcoords.domain.column": { "params": { - "plotly_name": "opacity", - "parent_name": "isosurface", - "edit_type": "calc", - "max": 1, + "plotly_name": "column", + "parent_name": "parcoords.domain", + "edit_type": "plot", "min": 0 }, - "superclass": "NumberValidator" + "superclass": "IntegerValidator" }, - "isosurface.name": { + "parcoords.dimensiondefaults": { "params": { - "plotly_name": "name", - "parent_name": "isosurface", - "edit_type": "style" + "plotly_name": "dimensiondefaults", + "parent_name": "parcoords", + "data_class_str": "Dimension", + "data_docs": "\n" }, - "superclass": "StringValidator" + "superclass": "CompoundValidator" }, - "isosurface.metasrc": { + "parcoords.dimensions": { "params": { - "plotly_name": "metasrc", - "parent_name": "isosurface", - "edit_type": "none" + "plotly_name": "dimensions", + "parent_name": "parcoords", + "data_class_str": "Dimension", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundArrayValidator" }, - "isosurface.meta": { + "parcoords.dimension.visible": { "params": { - "plotly_name": "meta", - "parent_name": "isosurface", - "array_ok": true, + "plotly_name": "visible", + "parent_name": "parcoords.dimension", "edit_type": "plot" }, - "superclass": "AnyValidator" - }, - "isosurface.lightposition": { - "params": { - "plotly_name": "lightposition", - "parent_name": "isosurface", - "data_class_str": "Lightposition", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" + "superclass": "BooleanValidator" }, - "isosurface.lightposition.z": { + "parcoords.dimension.values": { "params": { - "plotly_name": "z", - "parent_name": "isosurface.lightposition", - "edit_type": "calc", - "max": 100000, - "min": -100000 + "plotly_name": "values", + "parent_name": "parcoords.dimension", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "isosurface.lightposition.y": { + "parcoords.dimension.tickvals": { "params": { - "plotly_name": "y", - "parent_name": "isosurface.lightposition", - "edit_type": "calc", - "max": 100000, - "min": -100000 + "plotly_name": "tickvals", + "parent_name": "parcoords.dimension", + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "isosurface.lightposition.x": { + "parcoords.dimension.ticktext": { "params": { - "plotly_name": "x", - "parent_name": "isosurface.lightposition", - "edit_type": "calc", - "max": 100000, - "min": -100000 + "plotly_name": "ticktext", + "parent_name": "parcoords.dimension", + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "isosurface.lighting": { + "parcoords.dimension.tickformat": { "params": { - "plotly_name": "lighting", - "parent_name": "isosurface", - "data_class_str": "Lighting", - "data_docs": "\n" + "plotly_name": "tickformat", + "parent_name": "parcoords.dimension", + "edit_type": "plot" }, - "superclass": "CompoundValidator" + "superclass": "StringValidator" }, - "isosurface.lighting.vertexnormalsepsilon": { + "parcoords.dimension.templateitemname": { "params": { - "plotly_name": "vertexnormalsepsilon", - "parent_name": "isosurface.lighting", - "edit_type": "calc", - "max": 1, - "min": 0 + "plotly_name": "templateitemname", + "parent_name": "parcoords.dimension", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "isosurface.lighting.specular": { + "parcoords.dimension.range": { "params": { - "plotly_name": "specular", - "parent_name": "isosurface.lighting", - "edit_type": "calc", - "max": 2, - "min": 0 + "plotly_name": "range", + "parent_name": "parcoords.dimension", + "edit_type": "plot", + "items": [ + { + "editType": "plot", + "valType": "number" + }, + { + "editType": "plot", + "valType": "number" + } + ] }, - "superclass": "NumberValidator" + "superclass": "InfoArrayValidator" }, - "isosurface.lighting.roughness": { + "parcoords.dimension.name": { "params": { - "plotly_name": "roughness", - "parent_name": "isosurface.lighting", - "edit_type": "calc", - "max": 1, - "min": 0 + "plotly_name": "name", + "parent_name": "parcoords.dimension", + "edit_type": "none" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "isosurface.lighting.fresnel": { + "parcoords.dimension.multiselect": { "params": { - "plotly_name": "fresnel", - "parent_name": "isosurface.lighting", - "edit_type": "calc", - "max": 5, - "min": 0 + "plotly_name": "multiselect", + "parent_name": "parcoords.dimension", + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "isosurface.lighting.facenormalsepsilon": { + "parcoords.dimension.label": { "params": { - "plotly_name": "facenormalsepsilon", - "parent_name": "isosurface.lighting", - "edit_type": "calc", - "max": 1, - "min": 0 + "plotly_name": "label", + "parent_name": "parcoords.dimension", + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "isosurface.lighting.diffuse": { + "parcoords.dimension.constraintrange": { "params": { - "plotly_name": "diffuse", - "parent_name": "isosurface.lighting", - "edit_type": "calc", - "max": 1, - "min": 0 + "plotly_name": "constraintrange", + "parent_name": "parcoords.dimension", + "dimensions": "1-2", + "edit_type": "plot", + "free_length": true, + "items": [ + { + "editType": "plot", + "valType": "any" + }, + { + "editType": "plot", + "valType": "any" + } + ] }, - "superclass": "NumberValidator" + "superclass": "InfoArrayValidator" }, - "isosurface.lighting.ambient": { + "parcoords.customdata": { "params": { - "plotly_name": "ambient", - "parent_name": "isosurface.lighting", - "edit_type": "calc", - "max": 1, - "min": 0 + "plotly_name": "customdata", + "parent_name": "parcoords", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "isosurface.legendwidth": { + "parcats": { "params": { - "plotly_name": "legendwidth", - "parent_name": "isosurface", - "edit_type": "style", - "min": 0 + "plotly_name": "parcats", + "parent_name": "", + "data_class_str": "Parcats", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "isosurface.legendrank": { + "parcats.visible": { "params": { - "plotly_name": "legendrank", - "parent_name": "isosurface", - "edit_type": "style" + "plotly_name": "visible", + "parent_name": "parcats", + "edit_type": "calc", + "values": [ + true, + false, + "legendonly" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "isosurface.legendgrouptitle": { + "parcats.uirevision": { "params": { - "plotly_name": "legendgrouptitle", - "parent_name": "isosurface", - "data_class_str": "Legendgrouptitle", - "data_docs": "\n" + "plotly_name": "uirevision", + "parent_name": "parcats", + "edit_type": "none" }, - "superclass": "CompoundValidator" + "superclass": "AnyValidator" }, - "isosurface.legendgrouptitle.text": { + "parcats.uid": { "params": { - "plotly_name": "text", - "parent_name": "isosurface.legendgrouptitle", - "edit_type": "style" + "plotly_name": "uid", + "parent_name": "parcats", + "edit_type": "plot" }, "superclass": "StringValidator" }, - "isosurface.legendgrouptitle.font": { + "parcats.tickfont": { "params": { - "plotly_name": "font", - "parent_name": "isosurface.legendgrouptitle", - "data_class_str": "Font", + "plotly_name": "tickfont", + "parent_name": "parcats", + "data_class_str": "Tickfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "isosurface.legendgrouptitle.font.weight": { + "parcats.tickfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "isosurface.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "parcats.tickfont", + "edit_type": "calc", "extras": [ "normal", "bold" @@ -85011,11 +70088,11 @@ }, "superclass": "IntegerValidator" }, - "isosurface.legendgrouptitle.font.variant": { + "parcats.tickfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "isosurface.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "parcats.tickfont", + "edit_type": "calc", "values": [ "normal", "small-caps", @@ -85027,11 +70104,11 @@ }, "superclass": "EnumeratedValidator" }, - "isosurface.legendgrouptitle.font.textcase": { + "parcats.tickfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "isosurface.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "parcats.tickfont", + "edit_type": "calc", "values": [ "normal", "word caps", @@ -85041,11 +70118,11 @@ }, "superclass": "EnumeratedValidator" }, - "isosurface.legendgrouptitle.font.style": { + "parcats.tickfont.style": { "params": { "plotly_name": "style", - "parent_name": "isosurface.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "parcats.tickfont", + "edit_type": "calc", "values": [ "normal", "italic" @@ -85053,28 +70130,28 @@ }, "superclass": "EnumeratedValidator" }, - "isosurface.legendgrouptitle.font.size": { + "parcats.tickfont.size": { "params": { "plotly_name": "size", - "parent_name": "isosurface.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "parcats.tickfont", + "edit_type": "calc", "min": 1 }, "superclass": "NumberValidator" }, - "isosurface.legendgrouptitle.font.shadow": { + "parcats.tickfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "isosurface.legendgrouptitle.font", - "edit_type": "style" + "parent_name": "parcats.tickfont", + "edit_type": "calc" }, "superclass": "StringValidator" }, - "isosurface.legendgrouptitle.font.lineposition": { + "parcats.tickfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "isosurface.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "parcats.tickfont", + "edit_type": "calc", "extras": [ "none" ], @@ -85086,173 +70163,254 @@ }, "superclass": "FlaglistValidator" }, - "isosurface.legendgrouptitle.font.family": { + "parcats.tickfont.family": { "params": { "plotly_name": "family", - "parent_name": "isosurface.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "parcats.tickfont", + "edit_type": "calc", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "isosurface.legendgrouptitle.font.color": { + "parcats.tickfont.color": { "params": { "plotly_name": "color", - "parent_name": "isosurface.legendgrouptitle.font", - "edit_type": "style" + "parent_name": "parcats.tickfont", + "edit_type": "calc" }, "superclass": "ColorValidator" }, - "isosurface.legendgroup": { + "parcats.sortpaths": { "params": { - "plotly_name": "legendgroup", - "parent_name": "isosurface", + "plotly_name": "sortpaths", + "parent_name": "parcats", + "edit_type": "plot", + "values": [ + "forward", + "backward" + ] + }, + "superclass": "EnumeratedValidator" + }, + "parcats.name": { + "params": { + "plotly_name": "name", + "parent_name": "parcats", "edit_type": "style" }, "superclass": "StringValidator" }, - "isosurface.legend": { + "parcats.meta": { "params": { - "plotly_name": "legend", - "parent_name": "isosurface", - "dflt": "legend", - "edit_type": "style" + "plotly_name": "meta", + "parent_name": "parcats", + "array_ok": true, + "edit_type": "plot" }, - "superclass": "SubplotidValidator" + "superclass": "AnyValidator" }, - "isosurface.isomin": { + "parcats.line": { + "params": { + "plotly_name": "line", + "parent_name": "parcats", + "data_class_str": "Line", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "parcats.line.showscale": { + "params": { + "plotly_name": "showscale", + "parent_name": "parcats.line", + "edit_type": "calc" + }, + "superclass": "BooleanValidator" + }, + "parcats.line.shape": { + "params": { + "plotly_name": "shape", + "parent_name": "parcats.line", + "edit_type": "plot", + "values": [ + "linear", + "hspline" + ] + }, + "superclass": "EnumeratedValidator" + }, + "parcats.line.reversescale": { + "params": { + "plotly_name": "reversescale", + "parent_name": "parcats.line", + "edit_type": "plot" + }, + "superclass": "BooleanValidator" + }, + "parcats.line.hovertemplatefallback": { + "params": { + "plotly_name": "hovertemplatefallback", + "parent_name": "parcats.line", + "edit_type": "plot" + }, + "superclass": "AnyValidator" + }, + "parcats.line.hovertemplate": { + "params": { + "plotly_name": "hovertemplate", + "parent_name": "parcats.line", + "edit_type": "plot" + }, + "superclass": "StringValidator" + }, + "parcats.line.colorscale": { "params": { - "plotly_name": "isomin", - "parent_name": "isosurface", - "edit_type": "calc" + "plotly_name": "colorscale", + "parent_name": "parcats.line", + "edit_type": "calc", + "implied_edits": { + "autocolorscale": false + } }, - "superclass": "NumberValidator" + "superclass": "ColorscaleValidator" }, - "isosurface.isomax": { + "parcats.line.colorbar": { "params": { - "plotly_name": "isomax", - "parent_name": "isosurface", - "edit_type": "calc" + "plotly_name": "colorbar", + "parent_name": "parcats.line", + "data_class_str": "ColorBar", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "isosurface.idssrc": { + "parcats.line.colorbar.yref": { "params": { - "plotly_name": "idssrc", - "parent_name": "isosurface", - "edit_type": "none" + "plotly_name": "yref", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", + "values": [ + "container", + "paper" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "isosurface.ids": { + "parcats.line.colorbar.ypad": { "params": { - "plotly_name": "ids", - "parent_name": "isosurface", - "edit_type": "calc" + "plotly_name": "ypad", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "DataArrayValidator" + "superclass": "NumberValidator" }, - "isosurface.hovertextsrc": { + "parcats.line.colorbar.yanchor": { "params": { - "plotly_name": "hovertextsrc", - "parent_name": "isosurface", - "edit_type": "none" + "plotly_name": "yanchor", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", + "values": [ + "top", + "middle", + "bottom" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "isosurface.hovertext": { + "parcats.line.colorbar.y": { "params": { - "plotly_name": "hovertext", - "parent_name": "isosurface", - "array_ok": true, - "edit_type": "calc" + "plotly_name": "y", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars" }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "isosurface.hovertemplatesrc": { + "parcats.line.colorbar.xref": { "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "isosurface", - "edit_type": "none" + "plotly_name": "xref", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", + "values": [ + "container", + "paper" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "isosurface.hovertemplatefallback": { + "parcats.line.colorbar.xpad": { "params": { - "plotly_name": "hovertemplatefallback", - "parent_name": "isosurface", - "edit_type": "calc" + "plotly_name": "xpad", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "isosurface.hovertemplate": { + "parcats.line.colorbar.xanchor": { "params": { - "plotly_name": "hovertemplate", - "parent_name": "isosurface", - "array_ok": true, - "edit_type": "calc" + "plotly_name": "xanchor", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", + "values": [ + "left", + "center", + "right" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "isosurface.hoverlabel": { + "parcats.line.colorbar.x": { "params": { - "plotly_name": "hoverlabel", - "parent_name": "isosurface", - "data_class_str": "Hoverlabel", - "data_docs": "\n" + "plotly_name": "x", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars" }, - "superclass": "CompoundValidator" + "superclass": "NumberValidator" }, - "isosurface.hoverlabel.showarrow": { + "parcats.line.colorbar.title": { "params": { - "plotly_name": "showarrow", - "parent_name": "isosurface.hoverlabel", - "edit_type": "none" + "plotly_name": "title", + "parent_name": "parcats.line.colorbar", + "data_class_str": "Title", + "data_docs": "\n" }, - "superclass": "BooleanValidator" + "superclass": "TitleValidator" }, - "isosurface.hoverlabel.namelengthsrc": { + "parcats.line.colorbar.title.text": { "params": { - "plotly_name": "namelengthsrc", - "parent_name": "isosurface.hoverlabel", - "edit_type": "none" + "plotly_name": "text", + "parent_name": "parcats.line.colorbar.title", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "isosurface.hoverlabel.namelength": { + "parcats.line.colorbar.title.side": { "params": { - "plotly_name": "namelength", - "parent_name": "isosurface.hoverlabel", - "array_ok": true, - "edit_type": "none", - "min": -1 + "plotly_name": "side", + "parent_name": "parcats.line.colorbar.title", + "edit_type": "colorbars", + "values": [ + "right", + "top", + "bottom" + ] }, - "superclass": "IntegerValidator" + "superclass": "EnumeratedValidator" }, - "isosurface.hoverlabel.font": { + "parcats.line.colorbar.title.font": { "params": { "plotly_name": "font", - "parent_name": "isosurface.hoverlabel", + "parent_name": "parcats.line.colorbar.title", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "isosurface.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "isosurface.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "isosurface.hoverlabel.font.weight": { + "parcats.line.colorbar.title.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "isosurface.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "parcats.line.colorbar.title.font", + "edit_type": "colorbars", "extras": [ "normal", "bold" @@ -85262,20 +70420,11 @@ }, "superclass": "IntegerValidator" }, - "isosurface.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "isosurface.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "isosurface.hoverlabel.font.variant": { + "parcats.line.colorbar.title.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "isosurface.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "parcats.line.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "small-caps", @@ -85287,20 +70436,11 @@ }, "superclass": "EnumeratedValidator" }, - "isosurface.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "isosurface.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "isosurface.hoverlabel.font.textcase": { + "parcats.line.colorbar.title.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "isosurface.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "parcats.line.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "word caps", @@ -85310,20 +70450,11 @@ }, "superclass": "EnumeratedValidator" }, - "isosurface.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "isosurface.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "isosurface.hoverlabel.font.style": { + "parcats.line.colorbar.title.font.style": { "params": { "plotly_name": "style", - "parent_name": "isosurface.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "parcats.line.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "italic" @@ -85331,55 +70462,28 @@ }, "superclass": "EnumeratedValidator" }, - "isosurface.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "isosurface.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "isosurface.hoverlabel.font.size": { + "parcats.line.colorbar.title.font.size": { "params": { "plotly_name": "size", - "parent_name": "isosurface.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "parcats.line.colorbar.title.font", + "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "isosurface.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "isosurface.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "isosurface.hoverlabel.font.shadow": { + "parcats.line.colorbar.title.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "isosurface.hoverlabel.font", - "array_ok": true, - "edit_type": "none" + "parent_name": "parcats.line.colorbar.title.font", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "isosurface.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "isosurface.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "isosurface.hoverlabel.font.lineposition": { + "parcats.line.colorbar.title.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "isosurface.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "parcats.line.colorbar.title.font", + "edit_type": "colorbars", "extras": [ "none" ], @@ -85391,334 +70495,233 @@ }, "superclass": "FlaglistValidator" }, - "isosurface.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "isosurface.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "isosurface.hoverlabel.font.family": { + "parcats.line.colorbar.title.font.family": { "params": { "plotly_name": "family", - "parent_name": "isosurface.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "parcats.line.colorbar.title.font", + "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "isosurface.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "isosurface.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "isosurface.hoverlabel.font.color": { + "parcats.line.colorbar.title.font.color": { "params": { "plotly_name": "color", - "parent_name": "isosurface.hoverlabel.font", - "array_ok": true, - "edit_type": "none" + "parent_name": "parcats.line.colorbar.title.font", + "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "isosurface.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "isosurface.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "isosurface.hoverlabel.bordercolor": { + "parcats.line.colorbar.tickwidth": { "params": { - "plotly_name": "bordercolor", - "parent_name": "isosurface.hoverlabel", - "array_ok": true, - "edit_type": "none" + "plotly_name": "tickwidth", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "ColorValidator" + "superclass": "NumberValidator" }, - "isosurface.hoverlabel.bgcolorsrc": { + "parcats.line.colorbar.tickvals": { "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "isosurface.hoverlabel", - "edit_type": "none" + "plotly_name": "tickvals", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "DataArrayValidator" }, - "isosurface.hoverlabel.bgcolor": { + "parcats.line.colorbar.ticktext": { "params": { - "plotly_name": "bgcolor", - "parent_name": "isosurface.hoverlabel", - "array_ok": true, - "edit_type": "none" + "plotly_name": "ticktext", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars" }, - "superclass": "ColorValidator" + "superclass": "DataArrayValidator" }, - "isosurface.hoverlabel.alignsrc": { + "parcats.line.colorbar.ticksuffix": { "params": { - "plotly_name": "alignsrc", - "parent_name": "isosurface.hoverlabel", - "edit_type": "none" + "plotly_name": "ticksuffix", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "isosurface.hoverlabel.align": { + "parcats.line.colorbar.ticks": { "params": { - "plotly_name": "align", - "parent_name": "isosurface.hoverlabel", - "array_ok": true, - "edit_type": "none", + "plotly_name": "ticks", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", "values": [ - "left", - "right", - "auto" + "outside", + "inside", + "" ] }, "superclass": "EnumeratedValidator" }, - "isosurface.hoverinfosrc": { + "parcats.line.colorbar.tickprefix": { "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "isosurface", - "edit_type": "none" + "plotly_name": "tickprefix", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "isosurface.hoverinfo": { + "parcats.line.colorbar.tickmode": { "params": { - "plotly_name": "hoverinfo", - "parent_name": "isosurface", - "array_ok": true, - "edit_type": "calc", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "x", - "y", - "z", - "text", - "name" + "plotly_name": "tickmode", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", + "implied_edits": {}, + "values": [ + "auto", + "linear", + "array" ] }, - "superclass": "FlaglistValidator" - }, - "isosurface.flatshading": { - "params": { - "plotly_name": "flatshading", - "parent_name": "isosurface", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "isosurface.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "isosurface", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "isosurface.customdata": { - "params": { - "plotly_name": "customdata", - "parent_name": "isosurface", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "isosurface.contour": { - "params": { - "plotly_name": "contour", - "parent_name": "isosurface", - "data_class_str": "Contour", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" + "superclass": "EnumeratedValidator" }, - "isosurface.contour.width": { + "parcats.line.colorbar.ticklen": { "params": { - "plotly_name": "width", - "parent_name": "isosurface.contour", - "edit_type": "calc", - "max": 16, - "min": 1 + "plotly_name": "ticklen", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", + "min": 0 }, "superclass": "NumberValidator" }, - "isosurface.contour.show": { - "params": { - "plotly_name": "show", - "parent_name": "isosurface.contour", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "isosurface.contour.color": { - "params": { - "plotly_name": "color", - "parent_name": "isosurface.contour", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "isosurface.colorscale": { - "params": { - "plotly_name": "colorscale", - "parent_name": "isosurface", - "edit_type": "calc", - "implied_edits": { - "autocolorscale": false - } - }, - "superclass": "ColorscaleValidator" - }, - "isosurface.colorbar": { + "parcats.line.colorbar.ticklabelstep": { "params": { - "plotly_name": "colorbar", - "parent_name": "isosurface", - "data_class_str": "ColorBar", - "data_docs": "\n" + "plotly_name": "ticklabelstep", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", + "min": 1 }, - "superclass": "CompoundValidator" + "superclass": "IntegerValidator" }, - "isosurface.colorbar.yref": { + "parcats.line.colorbar.ticklabelposition": { "params": { - "plotly_name": "yref", - "parent_name": "isosurface.colorbar", - "edit_type": "calc", + "plotly_name": "ticklabelposition", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", "values": [ - "container", - "paper" + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom" ] }, "superclass": "EnumeratedValidator" }, - "isosurface.colorbar.ypad": { - "params": { - "plotly_name": "ypad", - "parent_name": "isosurface.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "isosurface.colorbar.yanchor": { + "parcats.line.colorbar.ticklabeloverflow": { "params": { - "plotly_name": "yanchor", - "parent_name": "isosurface.colorbar", - "edit_type": "calc", + "plotly_name": "ticklabeloverflow", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", "values": [ - "top", - "middle", - "bottom" + "allow", + "hide past div", + "hide past domain" ] }, "superclass": "EnumeratedValidator" }, - "isosurface.colorbar.y": { - "params": { - "plotly_name": "y", - "parent_name": "isosurface.colorbar", - "edit_type": "calc" - }, - "superclass": "NumberValidator" - }, - "isosurface.colorbar.xref": { + "parcats.line.colorbar.tickformatstopdefaults": { "params": { - "plotly_name": "xref", - "parent_name": "isosurface.colorbar", - "edit_type": "calc", - "values": [ - "container", - "paper" - ] + "plotly_name": "tickformatstopdefaults", + "parent_name": "parcats.line.colorbar", + "data_class_str": "Tickformatstop", + "data_docs": "\n" }, - "superclass": "EnumeratedValidator" + "superclass": "CompoundValidator" }, - "isosurface.colorbar.xpad": { + "parcats.line.colorbar.tickformatstops": { "params": { - "plotly_name": "xpad", - "parent_name": "isosurface.colorbar", - "edit_type": "calc", - "min": 0 + "plotly_name": "tickformatstops", + "parent_name": "parcats.line.colorbar", + "data_class_str": "Tickformatstop", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundArrayValidator" }, - "isosurface.colorbar.xanchor": { + "parcats.line.colorbar.tickformatstop.value": { "params": { - "plotly_name": "xanchor", - "parent_name": "isosurface.colorbar", - "edit_type": "calc", - "values": [ - "left", - "center", - "right" - ] + "plotly_name": "value", + "parent_name": "parcats.line.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "EnumeratedValidator" + "superclass": "StringValidator" }, - "isosurface.colorbar.x": { + "parcats.line.colorbar.tickformatstop.templateitemname": { "params": { - "plotly_name": "x", - "parent_name": "isosurface.colorbar", - "edit_type": "calc" + "plotly_name": "templateitemname", + "parent_name": "parcats.line.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "isosurface.colorbar.title": { + "parcats.line.colorbar.tickformatstop.name": { "params": { - "plotly_name": "title", - "parent_name": "isosurface.colorbar", - "data_class_str": "Title", - "data_docs": "\n" + "plotly_name": "name", + "parent_name": "parcats.line.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "TitleValidator" + "superclass": "StringValidator" }, - "isosurface.colorbar.title.text": { + "parcats.line.colorbar.tickformatstop.enabled": { "params": { - "plotly_name": "text", - "parent_name": "isosurface.colorbar.title", - "edit_type": "calc" + "plotly_name": "enabled", + "parent_name": "parcats.line.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "isosurface.colorbar.title.side": { + "parcats.line.colorbar.tickformatstop.dtickrange": { "params": { - "plotly_name": "side", - "parent_name": "isosurface.colorbar.title", - "edit_type": "calc", - "values": [ - "right", - "top", - "bottom" + "plotly_name": "dtickrange", + "parent_name": "parcats.line.colorbar.tickformatstop", + "edit_type": "colorbars", + "items": [ + { + "editType": "colorbars", + "valType": "any" + }, + { + "editType": "colorbars", + "valType": "any" + } ] }, - "superclass": "EnumeratedValidator" + "superclass": "InfoArrayValidator" }, - "isosurface.colorbar.title.font": { + "parcats.line.colorbar.tickformat": { "params": { - "plotly_name": "font", - "parent_name": "isosurface.colorbar.title", - "data_class_str": "Font", + "plotly_name": "tickformat", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars" + }, + "superclass": "StringValidator" + }, + "parcats.line.colorbar.tickfont": { + "params": { + "plotly_name": "tickfont", + "parent_name": "parcats.line.colorbar", + "data_class_str": "Tickfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "isosurface.colorbar.title.font.weight": { + "parcats.line.colorbar.tickfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "isosurface.colorbar.title.font", - "edit_type": "calc", + "parent_name": "parcats.line.colorbar.tickfont", + "edit_type": "colorbars", "extras": [ "normal", "bold" @@ -85728,11 +70731,11 @@ }, "superclass": "IntegerValidator" }, - "isosurface.colorbar.title.font.variant": { + "parcats.line.colorbar.tickfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "isosurface.colorbar.title.font", - "edit_type": "calc", + "parent_name": "parcats.line.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "small-caps", @@ -85744,11 +70747,11 @@ }, "superclass": "EnumeratedValidator" }, - "isosurface.colorbar.title.font.textcase": { + "parcats.line.colorbar.tickfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "isosurface.colorbar.title.font", - "edit_type": "calc", + "parent_name": "parcats.line.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "word caps", @@ -85758,11 +70761,11 @@ }, "superclass": "EnumeratedValidator" }, - "isosurface.colorbar.title.font.style": { + "parcats.line.colorbar.tickfont.style": { "params": { "plotly_name": "style", - "parent_name": "isosurface.colorbar.title.font", - "edit_type": "calc", + "parent_name": "parcats.line.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "italic" @@ -85770,28 +70773,28 @@ }, "superclass": "EnumeratedValidator" }, - "isosurface.colorbar.title.font.size": { + "parcats.line.colorbar.tickfont.size": { "params": { "plotly_name": "size", - "parent_name": "isosurface.colorbar.title.font", - "edit_type": "calc", + "parent_name": "parcats.line.colorbar.tickfont", + "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "isosurface.colorbar.title.font.shadow": { + "parcats.line.colorbar.tickfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "isosurface.colorbar.title.font", - "edit_type": "calc" + "parent_name": "parcats.line.colorbar.tickfont", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "isosurface.colorbar.title.font.lineposition": { + "parcats.line.colorbar.tickfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "isosurface.colorbar.title.font", - "edit_type": "calc", + "parent_name": "parcats.line.colorbar.tickfont", + "edit_type": "colorbars", "extras": [ "none" ], @@ -85803,248 +70806,483 @@ }, "superclass": "FlaglistValidator" }, - "isosurface.colorbar.title.font.family": { + "parcats.line.colorbar.tickfont.family": { "params": { "plotly_name": "family", - "parent_name": "isosurface.colorbar.title.font", - "edit_type": "calc", + "parent_name": "parcats.line.colorbar.tickfont", + "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "isosurface.colorbar.title.font.color": { + "parcats.line.colorbar.tickfont.color": { "params": { "plotly_name": "color", - "parent_name": "isosurface.colorbar.title.font", - "edit_type": "calc" + "parent_name": "parcats.line.colorbar.tickfont", + "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "isosurface.colorbar.tickwidth": { + "parcats.line.colorbar.tickcolor": { "params": { - "plotly_name": "tickwidth", - "parent_name": "isosurface.colorbar", - "edit_type": "calc", + "plotly_name": "tickcolor", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars" + }, + "superclass": "ColorValidator" + }, + "parcats.line.colorbar.tickangle": { + "params": { + "plotly_name": "tickangle", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars" + }, + "superclass": "AngleValidator" + }, + "parcats.line.colorbar.tick0": { + "params": { + "plotly_name": "tick0", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", + "implied_edits": { + "tickmode": "linear" + } + }, + "superclass": "AnyValidator" + }, + "parcats.line.colorbar.thicknessmode": { + "params": { + "plotly_name": "thicknessmode", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", + "values": [ + "fraction", + "pixels" + ] + }, + "superclass": "EnumeratedValidator" + }, + "parcats.line.colorbar.thickness": { + "params": { + "plotly_name": "thickness", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "isosurface.colorbar.tickvalssrc": { + "parcats.line.colorbar.showticksuffix": { "params": { - "plotly_name": "tickvalssrc", - "parent_name": "isosurface.colorbar", - "edit_type": "none" + "plotly_name": "showticksuffix", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "isosurface.colorbar.tickvals": { + "parcats.line.colorbar.showtickprefix": { "params": { - "plotly_name": "tickvals", - "parent_name": "isosurface.colorbar", - "edit_type": "calc" + "plotly_name": "showtickprefix", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "superclass": "DataArrayValidator" + "superclass": "EnumeratedValidator" }, - "isosurface.colorbar.ticktextsrc": { + "parcats.line.colorbar.showticklabels": { "params": { - "plotly_name": "ticktextsrc", - "parent_name": "isosurface.colorbar", - "edit_type": "none" + "plotly_name": "showticklabels", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "isosurface.colorbar.ticktext": { + "parcats.line.colorbar.showexponent": { "params": { - "plotly_name": "ticktext", - "parent_name": "isosurface.colorbar", - "edit_type": "calc" + "plotly_name": "showexponent", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "superclass": "DataArrayValidator" + "superclass": "EnumeratedValidator" }, - "isosurface.colorbar.ticksuffix": { + "parcats.line.colorbar.separatethousands": { "params": { - "plotly_name": "ticksuffix", - "parent_name": "isosurface.colorbar", - "edit_type": "calc" + "plotly_name": "separatethousands", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "isosurface.colorbar.ticks": { + "parcats.line.colorbar.outlinewidth": { "params": { - "plotly_name": "ticks", - "parent_name": "isosurface.colorbar", - "edit_type": "calc", + "plotly_name": "outlinewidth", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "parcats.line.colorbar.outlinecolor": { + "params": { + "plotly_name": "outlinecolor", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars" + }, + "superclass": "ColorValidator" + }, + "parcats.line.colorbar.orientation": { + "params": { + "plotly_name": "orientation", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", "values": [ - "outside", - "inside", - "" + "h", + "v" ] }, "superclass": "EnumeratedValidator" }, - "isosurface.colorbar.tickprefix": { + "parcats.line.colorbar.nticks": { "params": { - "plotly_name": "tickprefix", - "parent_name": "isosurface.colorbar", - "edit_type": "calc" + "plotly_name": "nticks", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "StringValidator" + "superclass": "IntegerValidator" }, - "isosurface.colorbar.tickmode": { + "parcats.line.colorbar.minexponent": { "params": { - "plotly_name": "tickmode", - "parent_name": "isosurface.colorbar", - "edit_type": "calc", - "implied_edits": {}, + "plotly_name": "minexponent", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "parcats.line.colorbar.lenmode": { + "params": { + "plotly_name": "lenmode", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", "values": [ - "auto", - "linear", - "array" + "fraction", + "pixels" ] }, "superclass": "EnumeratedValidator" }, - "isosurface.colorbar.ticklen": { + "parcats.line.colorbar.len": { "params": { - "plotly_name": "ticklen", - "parent_name": "isosurface.colorbar", - "edit_type": "calc", + "plotly_name": "len", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "isosurface.colorbar.ticklabelstep": { + "parcats.line.colorbar.labelalias": { "params": { - "plotly_name": "ticklabelstep", - "parent_name": "isosurface.colorbar", + "plotly_name": "labelalias", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars" + }, + "superclass": "AnyValidator" + }, + "parcats.line.colorbar.exponentformat": { + "params": { + "plotly_name": "exponentformat", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B", + "SI extended" + ] + }, + "superclass": "EnumeratedValidator" + }, + "parcats.line.colorbar.dtick": { + "params": { + "plotly_name": "dtick", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", + "implied_edits": { + "tickmode": "linear" + } + }, + "superclass": "AnyValidator" + }, + "parcats.line.colorbar.borderwidth": { + "params": { + "plotly_name": "borderwidth", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "parcats.line.colorbar.bordercolor": { + "params": { + "plotly_name": "bordercolor", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars" + }, + "superclass": "ColorValidator" + }, + "parcats.line.colorbar.bgcolor": { + "params": { + "plotly_name": "bgcolor", + "parent_name": "parcats.line.colorbar", + "edit_type": "colorbars" + }, + "superclass": "ColorValidator" + }, + "parcats.line.coloraxis": { + "params": { + "plotly_name": "coloraxis", + "parent_name": "parcats.line", + "dflt": null, + "edit_type": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" + }, + "superclass": "SubplotidValidator" + }, + "parcats.line.color": { + "params": { + "plotly_name": "color", + "parent_name": "parcats.line", + "array_ok": true, + "edit_type": "calc", + "colorscale_path": "parcats.line.colorscale" + }, + "superclass": "ColorValidator" + }, + "parcats.line.cmin": { + "params": { + "plotly_name": "cmin", + "parent_name": "parcats.line", + "edit_type": "calc", + "implied_edits": { + "cauto": false + } + }, + "superclass": "NumberValidator" + }, + "parcats.line.cmid": { + "params": { + "plotly_name": "cmid", + "parent_name": "parcats.line", + "edit_type": "calc", + "implied_edits": {} + }, + "superclass": "NumberValidator" + }, + "parcats.line.cmax": { + "params": { + "plotly_name": "cmax", + "parent_name": "parcats.line", + "edit_type": "calc", + "implied_edits": { + "cauto": false + } + }, + "superclass": "NumberValidator" + }, + "parcats.line.cauto": { + "params": { + "plotly_name": "cauto", + "parent_name": "parcats.line", + "edit_type": "calc", + "implied_edits": {} + }, + "superclass": "BooleanValidator" + }, + "parcats.line.autocolorscale": { + "params": { + "plotly_name": "autocolorscale", + "parent_name": "parcats.line", "edit_type": "calc", + "implied_edits": {} + }, + "superclass": "BooleanValidator" + }, + "parcats.legendwidth": { + "params": { + "plotly_name": "legendwidth", + "parent_name": "parcats", + "edit_type": "style", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "parcats.legendgrouptitle": { + "params": { + "plotly_name": "legendgrouptitle", + "parent_name": "parcats", + "data_class_str": "Legendgrouptitle", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "parcats.legendgrouptitle.text": { + "params": { + "plotly_name": "text", + "parent_name": "parcats.legendgrouptitle", + "edit_type": "style" + }, + "superclass": "StringValidator" + }, + "parcats.legendgrouptitle.font": { + "params": { + "plotly_name": "font", + "parent_name": "parcats.legendgrouptitle", + "data_class_str": "Font", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "parcats.legendgrouptitle.font.weight": { + "params": { + "plotly_name": "weight", + "parent_name": "parcats.legendgrouptitle.font", + "edit_type": "style", + "extras": [ + "normal", + "bold" + ], + "max": 1000, "min": 1 }, "superclass": "IntegerValidator" }, - "isosurface.colorbar.ticklabelposition": { + "parcats.legendgrouptitle.font.variant": { "params": { - "plotly_name": "ticklabelposition", - "parent_name": "isosurface.colorbar", - "edit_type": "calc", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" + "plotly_name": "variant", + "parent_name": "parcats.legendgrouptitle.font", + "edit_type": "style", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] }, "superclass": "EnumeratedValidator" }, - "isosurface.colorbar.ticklabeloverflow": { + "parcats.legendgrouptitle.font.textcase": { "params": { - "plotly_name": "ticklabeloverflow", - "parent_name": "isosurface.colorbar", - "edit_type": "calc", + "plotly_name": "textcase", + "parent_name": "parcats.legendgrouptitle.font", + "edit_type": "style", "values": [ - "allow", - "hide past div", - "hide past domain" + "normal", + "word caps", + "upper", + "lower" ] }, "superclass": "EnumeratedValidator" }, - "isosurface.colorbar.tickformatstopdefaults": { + "parcats.legendgrouptitle.font.style": { "params": { - "plotly_name": "tickformatstopdefaults", - "parent_name": "isosurface.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" + "plotly_name": "style", + "parent_name": "parcats.legendgrouptitle.font", + "edit_type": "style", + "values": [ + "normal", + "italic" + ] }, - "superclass": "CompoundValidator" + "superclass": "EnumeratedValidator" }, - "isosurface.colorbar.tickformatstops": { + "parcats.legendgrouptitle.font.size": { "params": { - "plotly_name": "tickformatstops", - "parent_name": "isosurface.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" + "plotly_name": "size", + "parent_name": "parcats.legendgrouptitle.font", + "edit_type": "style", + "min": 1 }, - "superclass": "CompoundArrayValidator" + "superclass": "NumberValidator" }, - "isosurface.colorbar.tickformatstop.value": { + "parcats.legendgrouptitle.font.shadow": { "params": { - "plotly_name": "value", - "parent_name": "isosurface.colorbar.tickformatstop", - "edit_type": "calc" + "plotly_name": "shadow", + "parent_name": "parcats.legendgrouptitle.font", + "edit_type": "style" }, "superclass": "StringValidator" }, - "isosurface.colorbar.tickformatstop.templateitemname": { + "parcats.legendgrouptitle.font.lineposition": { "params": { - "plotly_name": "templateitemname", - "parent_name": "isosurface.colorbar.tickformatstop", - "edit_type": "calc" + "plotly_name": "lineposition", + "parent_name": "parcats.legendgrouptitle.font", + "edit_type": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] }, - "superclass": "StringValidator" + "superclass": "FlaglistValidator" }, - "isosurface.colorbar.tickformatstop.name": { + "parcats.legendgrouptitle.font.family": { "params": { - "plotly_name": "name", - "parent_name": "isosurface.colorbar.tickformatstop", - "edit_type": "calc" + "plotly_name": "family", + "parent_name": "parcats.legendgrouptitle.font", + "edit_type": "style", + "no_blank": true, + "strict": true }, "superclass": "StringValidator" }, - "isosurface.colorbar.tickformatstop.enabled": { - "params": { - "plotly_name": "enabled", - "parent_name": "isosurface.colorbar.tickformatstop", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "isosurface.colorbar.tickformatstop.dtickrange": { - "params": { - "plotly_name": "dtickrange", - "parent_name": "isosurface.colorbar.tickformatstop", - "edit_type": "calc", - "items": [ - { - "editType": "calc", - "valType": "any" - }, - { - "editType": "calc", - "valType": "any" - } - ] - }, - "superclass": "InfoArrayValidator" - }, - "isosurface.colorbar.tickformat": { + "parcats.legendgrouptitle.font.color": { "params": { - "plotly_name": "tickformat", - "parent_name": "isosurface.colorbar", - "edit_type": "calc" + "plotly_name": "color", + "parent_name": "parcats.legendgrouptitle.font", + "edit_type": "style" }, - "superclass": "StringValidator" + "superclass": "ColorValidator" }, - "isosurface.colorbar.tickfont": { + "parcats.labelfont": { "params": { - "plotly_name": "tickfont", - "parent_name": "isosurface.colorbar", - "data_class_str": "Tickfont", + "plotly_name": "labelfont", + "parent_name": "parcats", + "data_class_str": "Labelfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "isosurface.colorbar.tickfont.weight": { + "parcats.labelfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "isosurface.colorbar.tickfont", + "parent_name": "parcats.labelfont", "edit_type": "calc", "extras": [ "normal", @@ -86055,10 +71293,10 @@ }, "superclass": "IntegerValidator" }, - "isosurface.colorbar.tickfont.variant": { + "parcats.labelfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "isosurface.colorbar.tickfont", + "parent_name": "parcats.labelfont", "edit_type": "calc", "values": [ "normal", @@ -86071,10 +71309,10 @@ }, "superclass": "EnumeratedValidator" }, - "isosurface.colorbar.tickfont.textcase": { + "parcats.labelfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "isosurface.colorbar.tickfont", + "parent_name": "parcats.labelfont", "edit_type": "calc", "values": [ "normal", @@ -86085,10 +71323,10 @@ }, "superclass": "EnumeratedValidator" }, - "isosurface.colorbar.tickfont.style": { + "parcats.labelfont.style": { "params": { "plotly_name": "style", - "parent_name": "isosurface.colorbar.tickfont", + "parent_name": "parcats.labelfont", "edit_type": "calc", "values": [ "normal", @@ -86097,27 +71335,27 @@ }, "superclass": "EnumeratedValidator" }, - "isosurface.colorbar.tickfont.size": { + "parcats.labelfont.size": { "params": { "plotly_name": "size", - "parent_name": "isosurface.colorbar.tickfont", + "parent_name": "parcats.labelfont", "edit_type": "calc", "min": 1 }, "superclass": "NumberValidator" }, - "isosurface.colorbar.tickfont.shadow": { + "parcats.labelfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "isosurface.colorbar.tickfont", + "parent_name": "parcats.labelfont", "edit_type": "calc" }, "superclass": "StringValidator" }, - "isosurface.colorbar.tickfont.lineposition": { + "parcats.labelfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "isosurface.colorbar.tickfont", + "parent_name": "parcats.labelfont", "edit_type": "calc", "extras": [ "none" @@ -86130,421 +71368,371 @@ }, "superclass": "FlaglistValidator" }, - "isosurface.colorbar.tickfont.family": { + "parcats.labelfont.family": { "params": { "plotly_name": "family", - "parent_name": "isosurface.colorbar.tickfont", + "parent_name": "parcats.labelfont", "edit_type": "calc", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "isosurface.colorbar.tickfont.color": { + "parcats.labelfont.color": { "params": { "plotly_name": "color", - "parent_name": "isosurface.colorbar.tickfont", - "edit_type": "calc" - }, - "superclass": "ColorValidator" - }, - "isosurface.colorbar.tickcolor": { - "params": { - "plotly_name": "tickcolor", - "parent_name": "isosurface.colorbar", + "parent_name": "parcats.labelfont", "edit_type": "calc" }, "superclass": "ColorValidator" }, - "isosurface.colorbar.tickangle": { - "params": { - "plotly_name": "tickangle", - "parent_name": "isosurface.colorbar", - "edit_type": "calc" - }, - "superclass": "AngleValidator" - }, - "isosurface.colorbar.tick0": { + "parcats.hovertemplatefallback": { "params": { - "plotly_name": "tick0", - "parent_name": "isosurface.colorbar", - "edit_type": "calc", - "implied_edits": { - "tickmode": "linear" - } + "plotly_name": "hovertemplatefallback", + "parent_name": "parcats", + "edit_type": "plot" }, "superclass": "AnyValidator" }, - "isosurface.colorbar.thicknessmode": { - "params": { - "plotly_name": "thicknessmode", - "parent_name": "isosurface.colorbar", - "edit_type": "calc", - "values": [ - "fraction", - "pixels" - ] - }, - "superclass": "EnumeratedValidator" - }, - "isosurface.colorbar.thickness": { + "parcats.hovertemplate": { "params": { - "plotly_name": "thickness", - "parent_name": "isosurface.colorbar", - "edit_type": "calc", - "min": 0 + "plotly_name": "hovertemplate", + "parent_name": "parcats", + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "isosurface.colorbar.showticksuffix": { + "parcats.hoveron": { "params": { - "plotly_name": "showticksuffix", - "parent_name": "isosurface.colorbar", - "edit_type": "calc", + "plotly_name": "hoveron", + "parent_name": "parcats", + "edit_type": "plot", "values": [ - "all", - "first", - "last", - "none" + "category", + "color", + "dimension" ] }, "superclass": "EnumeratedValidator" }, - "isosurface.colorbar.showtickprefix": { + "parcats.hoverinfo": { "params": { - "plotly_name": "showtickprefix", - "parent_name": "isosurface.colorbar", - "edit_type": "calc", - "values": [ + "plotly_name": "hoverinfo", + "parent_name": "parcats", + "array_ok": false, + "edit_type": "plot", + "extras": [ "all", - "first", - "last", - "none" + "none", + "skip" + ], + "flags": [ + "count", + "probability" ] }, - "superclass": "EnumeratedValidator" + "superclass": "FlaglistValidator" }, - "isosurface.colorbar.showticklabels": { + "parcats.domain": { "params": { - "plotly_name": "showticklabels", - "parent_name": "isosurface.colorbar", - "edit_type": "calc" + "plotly_name": "domain", + "parent_name": "parcats", + "data_class_str": "Domain", + "data_docs": "\n" }, - "superclass": "BooleanValidator" + "superclass": "CompoundValidator" }, - "isosurface.colorbar.showexponent": { + "parcats.domain.y": { "params": { - "plotly_name": "showexponent", - "parent_name": "isosurface.colorbar", + "plotly_name": "y", + "parent_name": "parcats.domain", "edit_type": "calc", - "values": [ - "all", - "first", - "last", - "none" + "items": [ + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + } ] }, - "superclass": "EnumeratedValidator" - }, - "isosurface.colorbar.separatethousands": { - "params": { - "plotly_name": "separatethousands", - "parent_name": "isosurface.colorbar", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "isosurface.colorbar.outlinewidth": { - "params": { - "plotly_name": "outlinewidth", - "parent_name": "isosurface.colorbar", - "edit_type": "calc", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "isosurface.colorbar.outlinecolor": { - "params": { - "plotly_name": "outlinecolor", - "parent_name": "isosurface.colorbar", - "edit_type": "calc" - }, - "superclass": "ColorValidator" + "superclass": "InfoArrayValidator" }, - "isosurface.colorbar.orientation": { + "parcats.domain.x": { "params": { - "plotly_name": "orientation", - "parent_name": "isosurface.colorbar", + "plotly_name": "x", + "parent_name": "parcats.domain", "edit_type": "calc", - "values": [ - "h", - "v" + "items": [ + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + } ] }, - "superclass": "EnumeratedValidator" + "superclass": "InfoArrayValidator" }, - "isosurface.colorbar.nticks": { + "parcats.domain.row": { "params": { - "plotly_name": "nticks", - "parent_name": "isosurface.colorbar", + "plotly_name": "row", + "parent_name": "parcats.domain", "edit_type": "calc", "min": 0 }, "superclass": "IntegerValidator" }, - "isosurface.colorbar.minexponent": { + "parcats.domain.column": { "params": { - "plotly_name": "minexponent", - "parent_name": "isosurface.colorbar", + "plotly_name": "column", + "parent_name": "parcats.domain", "edit_type": "calc", "min": 0 }, - "superclass": "NumberValidator" + "superclass": "IntegerValidator" }, - "isosurface.colorbar.lenmode": { + "parcats.dimensiondefaults": { "params": { - "plotly_name": "lenmode", - "parent_name": "isosurface.colorbar", - "edit_type": "calc", - "values": [ - "fraction", - "pixels" - ] + "plotly_name": "dimensiondefaults", + "parent_name": "parcats", + "data_class_str": "Dimension", + "data_docs": "\n" }, - "superclass": "EnumeratedValidator" + "superclass": "CompoundValidator" }, - "isosurface.colorbar.len": { + "parcats.dimensions": { "params": { - "plotly_name": "len", - "parent_name": "isosurface.colorbar", - "edit_type": "calc", - "min": 0 + "plotly_name": "dimensions", + "parent_name": "parcats", + "data_class_str": "Dimension", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundArrayValidator" }, - "isosurface.colorbar.labelalias": { + "parcats.dimension.visible": { "params": { - "plotly_name": "labelalias", - "parent_name": "isosurface.colorbar", + "plotly_name": "visible", + "parent_name": "parcats.dimension", "edit_type": "calc" }, - "superclass": "AnyValidator" - }, - "isosurface.colorbar.exponentformat": { - "params": { - "plotly_name": "exponentformat", - "parent_name": "isosurface.colorbar", - "edit_type": "calc", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" - ] - }, - "superclass": "EnumeratedValidator" + "superclass": "BooleanValidator" }, - "isosurface.colorbar.dtick": { + "parcats.dimension.values": { "params": { - "plotly_name": "dtick", - "parent_name": "isosurface.colorbar", - "edit_type": "calc", - "implied_edits": { - "tickmode": "linear" - } + "plotly_name": "values", + "parent_name": "parcats.dimension", + "edit_type": "calc" }, - "superclass": "AnyValidator" + "superclass": "DataArrayValidator" }, - "isosurface.colorbar.borderwidth": { + "parcats.dimension.ticktext": { "params": { - "plotly_name": "borderwidth", - "parent_name": "isosurface.colorbar", - "edit_type": "calc", - "min": 0 + "plotly_name": "ticktext", + "parent_name": "parcats.dimension", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "isosurface.colorbar.bordercolor": { + "parcats.dimension.label": { "params": { - "plotly_name": "bordercolor", - "parent_name": "isosurface.colorbar", + "plotly_name": "label", + "parent_name": "parcats.dimension", "edit_type": "calc" }, - "superclass": "ColorValidator" + "superclass": "StringValidator" }, - "isosurface.colorbar.bgcolor": { + "parcats.dimension.displayindex": { "params": { - "plotly_name": "bgcolor", - "parent_name": "isosurface.colorbar", + "plotly_name": "displayindex", + "parent_name": "parcats.dimension", "edit_type": "calc" }, - "superclass": "ColorValidator" + "superclass": "IntegerValidator" }, - "isosurface.coloraxis": { + "parcats.dimension.categoryorder": { "params": { - "plotly_name": "coloraxis", - "parent_name": "isosurface", - "dflt": null, + "plotly_name": "categoryorder", + "parent_name": "parcats.dimension", "edit_type": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" + "values": [ + "trace", + "category ascending", + "category descending", + "array" + ] }, - "superclass": "SubplotidValidator" + "superclass": "EnumeratedValidator" }, - "isosurface.cmin": { + "parcats.dimension.categoryarray": { "params": { - "plotly_name": "cmin", - "parent_name": "isosurface", - "edit_type": "calc", - "implied_edits": { - "cauto": false - } + "plotly_name": "categoryarray", + "parent_name": "parcats.dimension", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "isosurface.cmid": { + "parcats.counts": { "params": { - "plotly_name": "cmid", - "parent_name": "isosurface", + "plotly_name": "counts", + "parent_name": "parcats", + "array_ok": true, "edit_type": "calc", - "implied_edits": {} + "min": 0 }, "superclass": "NumberValidator" }, - "isosurface.cmax": { + "parcats.bundlecolors": { "params": { - "plotly_name": "cmax", - "parent_name": "isosurface", - "edit_type": "calc", - "implied_edits": { - "cauto": false - } + "plotly_name": "bundlecolors", + "parent_name": "parcats", + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "isosurface.cauto": { + "parcats.arrangement": { "params": { - "plotly_name": "cauto", - "parent_name": "isosurface", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "arrangement", + "parent_name": "parcats", + "edit_type": "plot", + "values": [ + "perpendicular", + "freeform", + "fixed" + ] }, - "superclass": "BooleanValidator" + "superclass": "EnumeratedValidator" }, - "isosurface.caps": { + "ohlc": { "params": { - "plotly_name": "caps", - "parent_name": "isosurface", - "data_class_str": "Caps", + "plotly_name": "ohlc", + "parent_name": "", + "data_class_str": "Ohlc", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "isosurface.caps.z": { + "ohlc.zorder": { "params": { - "plotly_name": "z", - "parent_name": "isosurface.caps", - "data_class_str": "Z", - "data_docs": "\n" + "plotly_name": "zorder", + "parent_name": "ohlc", + "edit_type": "plot" }, - "superclass": "CompoundValidator" + "superclass": "IntegerValidator" }, - "isosurface.caps.z.show": { + "ohlc.yhoverformat": { "params": { - "plotly_name": "show", - "parent_name": "isosurface.caps.z", - "edit_type": "calc" + "plotly_name": "yhoverformat", + "parent_name": "ohlc", + "edit_type": "none" }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "isosurface.caps.z.fill": { + "ohlc.yaxis": { "params": { - "plotly_name": "fill", - "parent_name": "isosurface.caps.z", - "edit_type": "calc", - "max": 1, - "min": 0 + "plotly_name": "yaxis", + "parent_name": "ohlc", + "dflt": "y", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "NumberValidator" + "superclass": "SubplotidValidator" }, - "isosurface.caps.y": { + "ohlc.xperiodalignment": { "params": { - "plotly_name": "y", - "parent_name": "isosurface.caps", - "data_class_str": "Y", - "data_docs": "\n" + "plotly_name": "xperiodalignment", + "parent_name": "ohlc", + "edit_type": "calc", + "values": [ + "start", + "middle", + "end" + ] }, - "superclass": "CompoundValidator" + "superclass": "EnumeratedValidator" }, - "isosurface.caps.y.show": { + "ohlc.xperiod0": { "params": { - "plotly_name": "show", - "parent_name": "isosurface.caps.y", + "plotly_name": "xperiod0", + "parent_name": "ohlc", "edit_type": "calc" }, - "superclass": "BooleanValidator" - }, - "isosurface.caps.y.fill": { - "params": { - "plotly_name": "fill", - "parent_name": "isosurface.caps.y", - "edit_type": "calc", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "isosurface.caps.x": { + "ohlc.xperiod": { "params": { - "plotly_name": "x", - "parent_name": "isosurface.caps", - "data_class_str": "X", - "data_docs": "\n" + "plotly_name": "xperiod", + "parent_name": "ohlc", + "edit_type": "calc" }, - "superclass": "CompoundValidator" + "superclass": "AnyValidator" }, - "isosurface.caps.x.show": { + "ohlc.xhoverformat": { "params": { - "plotly_name": "show", - "parent_name": "isosurface.caps.x", - "edit_type": "calc" + "plotly_name": "xhoverformat", + "parent_name": "ohlc", + "edit_type": "none" }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "isosurface.caps.x.fill": { + "ohlc.xcalendar": { "params": { - "plotly_name": "fill", - "parent_name": "isosurface.caps.x", + "plotly_name": "xcalendar", + "parent_name": "ohlc", "edit_type": "calc", - "max": 1, - "min": 0 + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "isosurface.autocolorscale": { + "ohlc.xaxis": { "params": { - "plotly_name": "autocolorscale", - "parent_name": "isosurface", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "xaxis", + "parent_name": "ohlc", + "dflt": "x", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "BooleanValidator" + "superclass": "SubplotidValidator" }, - "indicator": { + "ohlc.x": { "params": { - "plotly_name": "indicator", - "parent_name": "", - "data_class_str": "Indicator", - "data_docs": "\n" + "plotly_name": "x", + "parent_name": "ohlc", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "CompoundValidator" + "superclass": "DataArrayValidator" }, - "indicator.visible": { + "ohlc.visible": { "params": { "plotly_name": "visible", - "parent_name": "indicator", + "parent_name": "ohlc", "edit_type": "calc", "values": [ true, @@ -86554,254 +71742,182 @@ }, "superclass": "EnumeratedValidator" }, - "indicator.value": { - "params": { - "plotly_name": "value", - "parent_name": "indicator", - "anim": true, - "edit_type": "calc" - }, - "superclass": "NumberValidator" - }, - "indicator.uirevision": { + "ohlc.uirevision": { "params": { "plotly_name": "uirevision", - "parent_name": "indicator", + "parent_name": "ohlc", "edit_type": "none" }, "superclass": "AnyValidator" }, - "indicator.uid": { + "ohlc.uid": { "params": { "plotly_name": "uid", - "parent_name": "indicator", - "anim": true, + "parent_name": "ohlc", "edit_type": "plot" }, "superclass": "StringValidator" }, - "indicator.title": { + "ohlc.tickwidth": { "params": { - "plotly_name": "title", - "parent_name": "indicator", - "data_class_str": "Title", - "data_docs": "\n" + "plotly_name": "tickwidth", + "parent_name": "ohlc", + "edit_type": "calc", + "max": 0.5, + "min": 0 }, - "superclass": "TitleValidator" + "superclass": "NumberValidator" }, - "indicator.title.text": { + "ohlc.text": { "params": { "plotly_name": "text", - "parent_name": "indicator.title", - "edit_type": "plot" + "parent_name": "ohlc", + "array_ok": true, + "edit_type": "calc" }, "superclass": "StringValidator" }, - "indicator.title.font": { - "params": { - "plotly_name": "font", - "parent_name": "indicator.title", - "data_class_str": "Font", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "indicator.title.font.weight": { + "ohlc.showlegend": { "params": { - "plotly_name": "weight", - "parent_name": "indicator.title.font", - "edit_type": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 + "plotly_name": "showlegend", + "parent_name": "ohlc", + "edit_type": "style" }, - "superclass": "IntegerValidator" + "superclass": "BooleanValidator" }, - "indicator.title.font.variant": { + "ohlc.selectedpoints": { "params": { - "plotly_name": "variant", - "parent_name": "indicator.title.font", - "edit_type": "plot", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] + "plotly_name": "selectedpoints", + "parent_name": "ohlc", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "AnyValidator" }, - "indicator.title.font.textcase": { + "ohlc.open": { "params": { - "plotly_name": "textcase", - "parent_name": "indicator.title.font", - "edit_type": "plot", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] + "plotly_name": "open", + "parent_name": "ohlc", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "DataArrayValidator" }, - "indicator.title.font.style": { + "ohlc.opacity": { "params": { - "plotly_name": "style", - "parent_name": "indicator.title.font", - "edit_type": "plot", - "values": [ - "normal", - "italic" - ] + "plotly_name": "opacity", + "parent_name": "ohlc", + "edit_type": "style", + "max": 1, + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "indicator.title.font.size": { + "ohlc.name": { "params": { - "plotly_name": "size", - "parent_name": "indicator.title.font", - "edit_type": "plot", - "min": 1 + "plotly_name": "name", + "parent_name": "ohlc", + "edit_type": "style" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "indicator.title.font.shadow": { + "ohlc.meta": { "params": { - "plotly_name": "shadow", - "parent_name": "indicator.title.font", + "plotly_name": "meta", + "parent_name": "ohlc", + "array_ok": true, "edit_type": "plot" }, - "superclass": "StringValidator" + "superclass": "AnyValidator" }, - "indicator.title.font.lineposition": { + "ohlc.low": { "params": { - "plotly_name": "lineposition", - "parent_name": "indicator.title.font", - "edit_type": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] + "plotly_name": "low", + "parent_name": "ohlc", + "edit_type": "calc" }, - "superclass": "FlaglistValidator" + "superclass": "DataArrayValidator" }, - "indicator.title.font.family": { + "ohlc.line": { "params": { - "plotly_name": "family", - "parent_name": "indicator.title.font", - "edit_type": "plot", - "no_blank": true, - "strict": true + "plotly_name": "line", + "parent_name": "ohlc", + "data_class_str": "Line", + "data_docs": "\n" }, - "superclass": "StringValidator" + "superclass": "CompoundValidator" }, - "indicator.title.font.color": { + "ohlc.line.width": { "params": { - "plotly_name": "color", - "parent_name": "indicator.title.font", - "edit_type": "plot" + "plotly_name": "width", + "parent_name": "ohlc.line", + "edit_type": "style", + "min": 0 }, - "superclass": "ColorValidator" + "superclass": "NumberValidator" }, - "indicator.title.align": { + "ohlc.line.dash": { "params": { - "plotly_name": "align", - "parent_name": "indicator.title", - "edit_type": "plot", + "plotly_name": "dash", + "parent_name": "ohlc.line", + "edit_type": "style", "values": [ - "left", - "center", - "right" + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" ] }, - "superclass": "EnumeratedValidator" - }, - "indicator.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "indicator", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" + "superclass": "DashValidator" }, - "indicator.stream.token": { + "ohlc.legendwidth": { "params": { - "plotly_name": "token", - "parent_name": "indicator.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true + "plotly_name": "legendwidth", + "parent_name": "ohlc", + "edit_type": "style", + "min": 0 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "indicator.stream.maxpoints": { + "ohlc.legendrank": { "params": { - "plotly_name": "maxpoints", - "parent_name": "indicator.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 + "plotly_name": "legendrank", + "parent_name": "ohlc", + "edit_type": "style" }, "superclass": "NumberValidator" }, - "indicator.number": { + "ohlc.legendgrouptitle": { "params": { - "plotly_name": "number", - "parent_name": "indicator", - "data_class_str": "Number", + "plotly_name": "legendgrouptitle", + "parent_name": "ohlc", + "data_class_str": "Legendgrouptitle", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "indicator.number.valueformat": { - "params": { - "plotly_name": "valueformat", - "parent_name": "indicator.number", - "edit_type": "plot" - }, - "superclass": "StringValidator" - }, - "indicator.number.suffix": { - "params": { - "plotly_name": "suffix", - "parent_name": "indicator.number", - "edit_type": "plot" - }, - "superclass": "StringValidator" - }, - "indicator.number.prefix": { + "ohlc.legendgrouptitle.text": { "params": { - "plotly_name": "prefix", - "parent_name": "indicator.number", - "edit_type": "plot" + "plotly_name": "text", + "parent_name": "ohlc.legendgrouptitle", + "edit_type": "style" }, "superclass": "StringValidator" }, - "indicator.number.font": { + "ohlc.legendgrouptitle.font": { "params": { "plotly_name": "font", - "parent_name": "indicator.number", + "parent_name": "ohlc.legendgrouptitle", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "indicator.number.font.weight": { + "ohlc.legendgrouptitle.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "indicator.number.font", - "edit_type": "plot", + "parent_name": "ohlc.legendgrouptitle.font", + "edit_type": "style", "extras": [ "normal", "bold" @@ -86811,11 +71927,11 @@ }, "superclass": "IntegerValidator" }, - "indicator.number.font.variant": { + "ohlc.legendgrouptitle.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "indicator.number.font", - "edit_type": "plot", + "parent_name": "ohlc.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "small-caps", @@ -86827,11 +71943,11 @@ }, "superclass": "EnumeratedValidator" }, - "indicator.number.font.textcase": { + "ohlc.legendgrouptitle.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "indicator.number.font", - "edit_type": "plot", + "parent_name": "ohlc.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "word caps", @@ -86841,11 +71957,11 @@ }, "superclass": "EnumeratedValidator" }, - "indicator.number.font.style": { + "ohlc.legendgrouptitle.font.style": { "params": { "plotly_name": "style", - "parent_name": "indicator.number.font", - "edit_type": "plot", + "parent_name": "ohlc.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "italic" @@ -86853,28 +71969,28 @@ }, "superclass": "EnumeratedValidator" }, - "indicator.number.font.size": { + "ohlc.legendgrouptitle.font.size": { "params": { "plotly_name": "size", - "parent_name": "indicator.number.font", - "edit_type": "plot", + "parent_name": "ohlc.legendgrouptitle.font", + "edit_type": "style", "min": 1 }, "superclass": "NumberValidator" }, - "indicator.number.font.shadow": { + "ohlc.legendgrouptitle.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "indicator.number.font", - "edit_type": "plot" + "parent_name": "ohlc.legendgrouptitle.font", + "edit_type": "style" }, "superclass": "StringValidator" }, - "indicator.number.font.lineposition": { + "ohlc.legendgrouptitle.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "indicator.number.font", - "edit_type": "plot", + "parent_name": "ohlc.legendgrouptitle.font", + "edit_type": "style", "extras": [ "none" ], @@ -86886,110 +72002,176 @@ }, "superclass": "FlaglistValidator" }, - "indicator.number.font.family": { + "ohlc.legendgrouptitle.font.family": { + "params": { + "plotly_name": "family", + "parent_name": "ohlc.legendgrouptitle.font", + "edit_type": "style", + "no_blank": true, + "strict": true + }, + "superclass": "StringValidator" + }, + "ohlc.legendgrouptitle.font.color": { + "params": { + "plotly_name": "color", + "parent_name": "ohlc.legendgrouptitle.font", + "edit_type": "style" + }, + "superclass": "ColorValidator" + }, + "ohlc.legendgroup": { + "params": { + "plotly_name": "legendgroup", + "parent_name": "ohlc", + "edit_type": "style" + }, + "superclass": "StringValidator" + }, + "ohlc.legend": { + "params": { + "plotly_name": "legend", + "parent_name": "ohlc", + "dflt": "legend", + "edit_type": "style" + }, + "superclass": "SubplotidValidator" + }, + "ohlc.increasing": { + "params": { + "plotly_name": "increasing", + "parent_name": "ohlc", + "data_class_str": "Increasing", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "ohlc.increasing.line": { + "params": { + "plotly_name": "line", + "parent_name": "ohlc.increasing", + "data_class_str": "Line", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "ohlc.increasing.line.width": { + "params": { + "plotly_name": "width", + "parent_name": "ohlc.increasing.line", + "edit_type": "style", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "ohlc.increasing.line.dash": { "params": { - "plotly_name": "family", - "parent_name": "indicator.number.font", - "edit_type": "plot", - "no_blank": true, - "strict": true + "plotly_name": "dash", + "parent_name": "ohlc.increasing.line", + "edit_type": "style", + "values": [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" + ] }, - "superclass": "StringValidator" + "superclass": "DashValidator" }, - "indicator.number.font.color": { + "ohlc.increasing.line.color": { "params": { "plotly_name": "color", - "parent_name": "indicator.number.font", - "edit_type": "plot" + "parent_name": "ohlc.increasing.line", + "edit_type": "style" }, "superclass": "ColorValidator" }, - "indicator.name": { + "ohlc.ids": { "params": { - "plotly_name": "name", - "parent_name": "indicator", - "edit_type": "style" + "plotly_name": "ids", + "parent_name": "ohlc", + "edit_type": "calc" }, - "superclass": "StringValidator" + "superclass": "DataArrayValidator" }, - "indicator.mode": { + "ohlc.hovertext": { "params": { - "plotly_name": "mode", - "parent_name": "indicator", - "edit_type": "calc", - "flags": [ - "number", - "delta", - "gauge" - ] + "plotly_name": "hovertext", + "parent_name": "ohlc", + "array_ok": true, + "edit_type": "calc" }, - "superclass": "FlaglistValidator" + "superclass": "StringValidator" }, - "indicator.metasrc": { + "ohlc.hovertemplatefallback": { "params": { - "plotly_name": "metasrc", - "parent_name": "indicator", + "plotly_name": "hovertemplatefallback", + "parent_name": "ohlc", "edit_type": "none" }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "indicator.meta": { + "ohlc.hovertemplate": { "params": { - "plotly_name": "meta", - "parent_name": "indicator", + "plotly_name": "hovertemplate", + "parent_name": "ohlc", "array_ok": true, - "edit_type": "plot" + "edit_type": "none" }, - "superclass": "AnyValidator" + "superclass": "StringValidator" }, - "indicator.legendwidth": { + "ohlc.hoverlabel": { "params": { - "plotly_name": "legendwidth", - "parent_name": "indicator", - "edit_type": "style", - "min": 0 + "plotly_name": "hoverlabel", + "parent_name": "ohlc", + "data_class_str": "Hoverlabel", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "indicator.legendrank": { + "ohlc.hoverlabel.split": { "params": { - "plotly_name": "legendrank", - "parent_name": "indicator", + "plotly_name": "split", + "parent_name": "ohlc.hoverlabel", "edit_type": "style" }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "indicator.legendgrouptitle": { + "ohlc.hoverlabel.showarrow": { "params": { - "plotly_name": "legendgrouptitle", - "parent_name": "indicator", - "data_class_str": "Legendgrouptitle", - "data_docs": "\n" + "plotly_name": "showarrow", + "parent_name": "ohlc.hoverlabel", + "edit_type": "none" }, - "superclass": "CompoundValidator" + "superclass": "BooleanValidator" }, - "indicator.legendgrouptitle.text": { + "ohlc.hoverlabel.namelength": { "params": { - "plotly_name": "text", - "parent_name": "indicator.legendgrouptitle", - "edit_type": "style" + "plotly_name": "namelength", + "parent_name": "ohlc.hoverlabel", + "array_ok": true, + "edit_type": "none", + "min": -1 }, - "superclass": "StringValidator" + "superclass": "IntegerValidator" }, - "indicator.legendgrouptitle.font": { + "ohlc.hoverlabel.font": { "params": { "plotly_name": "font", - "parent_name": "indicator.legendgrouptitle", + "parent_name": "ohlc.hoverlabel", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "indicator.legendgrouptitle.font.weight": { + "ohlc.hoverlabel.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "indicator.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "ohlc.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "extras": [ "normal", "bold" @@ -86999,11 +72181,12 @@ }, "superclass": "IntegerValidator" }, - "indicator.legendgrouptitle.font.variant": { + "ohlc.hoverlabel.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "indicator.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "ohlc.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "small-caps", @@ -87015,11 +72198,12 @@ }, "superclass": "EnumeratedValidator" }, - "indicator.legendgrouptitle.font.textcase": { + "ohlc.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "indicator.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "ohlc.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "word caps", @@ -87029,11 +72213,12 @@ }, "superclass": "EnumeratedValidator" }, - "indicator.legendgrouptitle.font.style": { + "ohlc.hoverlabel.font.style": { "params": { "plotly_name": "style", - "parent_name": "indicator.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "ohlc.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "italic" @@ -87041,28 +72226,31 @@ }, "superclass": "EnumeratedValidator" }, - "indicator.legendgrouptitle.font.size": { + "ohlc.hoverlabel.font.size": { "params": { "plotly_name": "size", - "parent_name": "indicator.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "ohlc.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "min": 1 }, "superclass": "NumberValidator" }, - "indicator.legendgrouptitle.font.shadow": { + "ohlc.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "indicator.legendgrouptitle.font", - "edit_type": "style" + "parent_name": "ohlc.hoverlabel.font", + "array_ok": true, + "edit_type": "none" }, "superclass": "StringValidator" }, - "indicator.legendgrouptitle.font.lineposition": { + "ohlc.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "indicator.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "ohlc.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "extras": [ "none" ], @@ -87074,507 +72262,561 @@ }, "superclass": "FlaglistValidator" }, - "indicator.legendgrouptitle.font.family": { + "ohlc.hoverlabel.font.family": { "params": { "plotly_name": "family", - "parent_name": "indicator.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "ohlc.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "indicator.legendgrouptitle.font.color": { + "ohlc.hoverlabel.font.color": { "params": { "plotly_name": "color", - "parent_name": "indicator.legendgrouptitle.font", - "edit_type": "style" + "parent_name": "ohlc.hoverlabel.font", + "array_ok": true, + "edit_type": "none" }, "superclass": "ColorValidator" }, - "indicator.legend": { - "params": { - "plotly_name": "legend", - "parent_name": "indicator", - "dflt": "legend", - "edit_type": "style" - }, - "superclass": "SubplotidValidator" - }, - "indicator.idssrc": { + "ohlc.hoverlabel.bordercolor": { "params": { - "plotly_name": "idssrc", - "parent_name": "indicator", + "plotly_name": "bordercolor", + "parent_name": "ohlc.hoverlabel", + "array_ok": true, "edit_type": "none" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "indicator.ids": { + "ohlc.hoverlabel.bgcolor": { "params": { - "plotly_name": "ids", - "parent_name": "indicator", - "anim": true, - "edit_type": "calc" + "plotly_name": "bgcolor", + "parent_name": "ohlc.hoverlabel", + "array_ok": true, + "edit_type": "none" }, - "superclass": "DataArrayValidator" + "superclass": "ColorValidator" }, - "indicator.gauge": { + "ohlc.hoverlabel.align": { "params": { - "plotly_name": "gauge", - "parent_name": "indicator", - "data_class_str": "Gauge", - "data_docs": "\n" + "plotly_name": "align", + "parent_name": "ohlc.hoverlabel", + "array_ok": true, + "edit_type": "none", + "values": [ + "left", + "right", + "auto" + ] }, - "superclass": "CompoundValidator" + "superclass": "EnumeratedValidator" }, - "indicator.gauge.threshold": { + "ohlc.hoverinfo": { "params": { - "plotly_name": "threshold", - "parent_name": "indicator.gauge", - "data_class_str": "Threshold", - "data_docs": "\n" + "plotly_name": "hoverinfo", + "parent_name": "ohlc", + "array_ok": true, + "edit_type": "none", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ] }, - "superclass": "CompoundValidator" + "superclass": "FlaglistValidator" }, - "indicator.gauge.threshold.value": { + "ohlc.high": { "params": { - "plotly_name": "value", - "parent_name": "indicator.gauge.threshold", + "plotly_name": "high", + "parent_name": "ohlc", "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "indicator.gauge.threshold.thickness": { + "ohlc.decreasing": { "params": { - "plotly_name": "thickness", - "parent_name": "indicator.gauge.threshold", - "edit_type": "plot", - "max": 1, - "min": 0 + "plotly_name": "decreasing", + "parent_name": "ohlc", + "data_class_str": "Decreasing", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "indicator.gauge.threshold.line": { + "ohlc.decreasing.line": { "params": { "plotly_name": "line", - "parent_name": "indicator.gauge.threshold", + "parent_name": "ohlc.decreasing", "data_class_str": "Line", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "indicator.gauge.threshold.line.width": { + "ohlc.decreasing.line.width": { "params": { "plotly_name": "width", - "parent_name": "indicator.gauge.threshold.line", - "edit_type": "plot", + "parent_name": "ohlc.decreasing.line", + "edit_type": "style", "min": 0 }, "superclass": "NumberValidator" }, - "indicator.gauge.threshold.line.color": { + "ohlc.decreasing.line.dash": { + "params": { + "plotly_name": "dash", + "parent_name": "ohlc.decreasing.line", + "edit_type": "style", + "values": [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" + ] + }, + "superclass": "DashValidator" + }, + "ohlc.decreasing.line.color": { "params": { "plotly_name": "color", - "parent_name": "indicator.gauge.threshold.line", - "edit_type": "plot" + "parent_name": "ohlc.decreasing.line", + "edit_type": "style" }, "superclass": "ColorValidator" }, - "indicator.gauge.stepdefaults": { + "ohlc.customdata": { "params": { - "plotly_name": "stepdefaults", - "parent_name": "indicator.gauge", - "data_class_str": "Step", - "data_docs": "\n" + "plotly_name": "customdata", + "parent_name": "ohlc", + "edit_type": "calc" }, - "superclass": "CompoundValidator" + "superclass": "DataArrayValidator" }, - "indicator.gauge.steps": { + "ohlc.close": { "params": { - "plotly_name": "steps", - "parent_name": "indicator.gauge", - "data_class_str": "Step", - "data_docs": "\n" + "plotly_name": "close", + "parent_name": "ohlc", + "edit_type": "calc" }, - "superclass": "CompoundArrayValidator" + "superclass": "DataArrayValidator" }, - "indicator.gauge.step.thickness": { + "mesh3d": { "params": { - "plotly_name": "thickness", - "parent_name": "indicator.gauge.step", - "edit_type": "plot", - "max": 1, - "min": 0 + "plotly_name": "mesh3d", + "parent_name": "", + "data_class_str": "Mesh3d", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "indicator.gauge.step.templateitemname": { + "mesh3d.zhoverformat": { "params": { - "plotly_name": "templateitemname", - "parent_name": "indicator.gauge.step", - "edit_type": "calc" + "plotly_name": "zhoverformat", + "parent_name": "mesh3d", + "edit_type": "none" }, "superclass": "StringValidator" }, - "indicator.gauge.step.range": { + "mesh3d.zcalendar": { "params": { - "plotly_name": "range", - "parent_name": "indicator.gauge.step", - "edit_type": "plot", - "items": [ - { - "editType": "plot", - "valType": "number" - }, - { - "editType": "plot", - "valType": "number" - } + "plotly_name": "zcalendar", + "parent_name": "mesh3d", + "edit_type": "calc", + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" ] }, - "superclass": "InfoArrayValidator" + "superclass": "EnumeratedValidator" }, - "indicator.gauge.step.name": { + "mesh3d.z": { "params": { - "plotly_name": "name", - "parent_name": "indicator.gauge.step", - "edit_type": "none" + "plotly_name": "z", + "parent_name": "mesh3d", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "StringValidator" + "superclass": "DataArrayValidator" }, - "indicator.gauge.step.line": { + "mesh3d.yhoverformat": { "params": { - "plotly_name": "line", - "parent_name": "indicator.gauge.step", - "data_class_str": "Line", - "data_docs": "\n" + "plotly_name": "yhoverformat", + "parent_name": "mesh3d", + "edit_type": "none" }, - "superclass": "CompoundValidator" + "superclass": "StringValidator" }, - "indicator.gauge.step.line.width": { + "mesh3d.ycalendar": { "params": { - "plotly_name": "width", - "parent_name": "indicator.gauge.step.line", - "edit_type": "plot", - "min": 0 + "plotly_name": "ycalendar", + "parent_name": "mesh3d", + "edit_type": "calc", + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "indicator.gauge.step.line.color": { + "mesh3d.y": { "params": { - "plotly_name": "color", - "parent_name": "indicator.gauge.step.line", - "edit_type": "plot" + "plotly_name": "y", + "parent_name": "mesh3d", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "ColorValidator" + "superclass": "DataArrayValidator" }, - "indicator.gauge.step.color": { + "mesh3d.xhoverformat": { "params": { - "plotly_name": "color", - "parent_name": "indicator.gauge.step", - "edit_type": "plot" + "plotly_name": "xhoverformat", + "parent_name": "mesh3d", + "edit_type": "none" }, - "superclass": "ColorValidator" + "superclass": "StringValidator" }, - "indicator.gauge.shape": { + "mesh3d.xcalendar": { "params": { - "plotly_name": "shape", - "parent_name": "indicator.gauge", - "edit_type": "plot", + "plotly_name": "xcalendar", + "parent_name": "mesh3d", + "edit_type": "calc", "values": [ - "angular", - "bullet" + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" ] }, "superclass": "EnumeratedValidator" }, - "indicator.gauge.borderwidth": { - "params": { - "plotly_name": "borderwidth", - "parent_name": "indicator.gauge", - "edit_type": "plot", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "indicator.gauge.bordercolor": { + "mesh3d.x": { "params": { - "plotly_name": "bordercolor", - "parent_name": "indicator.gauge", - "edit_type": "plot" + "plotly_name": "x", + "parent_name": "mesh3d", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "ColorValidator" + "superclass": "DataArrayValidator" }, - "indicator.gauge.bgcolor": { + "mesh3d.visible": { "params": { - "plotly_name": "bgcolor", - "parent_name": "indicator.gauge", - "edit_type": "plot" + "plotly_name": "visible", + "parent_name": "mesh3d", + "edit_type": "calc", + "values": [ + true, + false, + "legendonly" + ] }, - "superclass": "ColorValidator" + "superclass": "EnumeratedValidator" }, - "indicator.gauge.bar": { - "params": { - "plotly_name": "bar", - "parent_name": "indicator.gauge", - "data_class_str": "Bar", - "data_docs": "\n" + "mesh3d.vertexcolor": { + "params": { + "plotly_name": "vertexcolor", + "parent_name": "mesh3d", + "edit_type": "calc" }, - "superclass": "CompoundValidator" + "superclass": "DataArrayValidator" }, - "indicator.gauge.bar.thickness": { + "mesh3d.uirevision": { "params": { - "plotly_name": "thickness", - "parent_name": "indicator.gauge.bar", - "edit_type": "plot", - "max": 1, - "min": 0 + "plotly_name": "uirevision", + "parent_name": "mesh3d", + "edit_type": "none" }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "indicator.gauge.bar.line": { + "mesh3d.uid": { "params": { - "plotly_name": "line", - "parent_name": "indicator.gauge.bar", - "data_class_str": "Line", - "data_docs": "\n" + "plotly_name": "uid", + "parent_name": "mesh3d", + "edit_type": "plot" }, - "superclass": "CompoundValidator" + "superclass": "StringValidator" }, - "indicator.gauge.bar.line.width": { + "mesh3d.text": { "params": { - "plotly_name": "width", - "parent_name": "indicator.gauge.bar.line", - "edit_type": "plot", - "min": 0 + "plotly_name": "text", + "parent_name": "mesh3d", + "array_ok": true, + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "indicator.gauge.bar.line.color": { + "mesh3d.showscale": { "params": { - "plotly_name": "color", - "parent_name": "indicator.gauge.bar.line", - "edit_type": "plot" + "plotly_name": "showscale", + "parent_name": "mesh3d", + "edit_type": "calc" }, - "superclass": "ColorValidator" + "superclass": "BooleanValidator" }, - "indicator.gauge.bar.color": { + "mesh3d.showlegend": { "params": { - "plotly_name": "color", - "parent_name": "indicator.gauge.bar", - "edit_type": "plot" + "plotly_name": "showlegend", + "parent_name": "mesh3d", + "edit_type": "style" }, - "superclass": "ColorValidator" + "superclass": "BooleanValidator" }, - "indicator.gauge.axis": { + "mesh3d.scene": { "params": { - "plotly_name": "axis", - "parent_name": "indicator.gauge", - "data_class_str": "Axis", - "data_docs": "\n" + "plotly_name": "scene", + "parent_name": "mesh3d", + "dflt": "scene", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "CompoundValidator" + "superclass": "SubplotidValidator" }, - "indicator.gauge.axis.visible": { + "mesh3d.reversescale": { "params": { - "plotly_name": "visible", - "parent_name": "indicator.gauge.axis", + "plotly_name": "reversescale", + "parent_name": "mesh3d", "edit_type": "plot" }, "superclass": "BooleanValidator" }, - "indicator.gauge.axis.tickwidth": { + "mesh3d.opacity": { "params": { - "plotly_name": "tickwidth", - "parent_name": "indicator.gauge.axis", - "edit_type": "plot", + "plotly_name": "opacity", + "parent_name": "mesh3d", + "edit_type": "calc", + "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "indicator.gauge.axis.tickvalssrc": { + "mesh3d.name": { "params": { - "plotly_name": "tickvalssrc", - "parent_name": "indicator.gauge.axis", - "edit_type": "none" + "plotly_name": "name", + "parent_name": "mesh3d", + "edit_type": "style" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "indicator.gauge.axis.tickvals": { + "mesh3d.meta": { "params": { - "plotly_name": "tickvals", - "parent_name": "indicator.gauge.axis", + "plotly_name": "meta", + "parent_name": "mesh3d", + "array_ok": true, "edit_type": "plot" }, - "superclass": "DataArrayValidator" + "superclass": "AnyValidator" }, - "indicator.gauge.axis.ticktextsrc": { + "mesh3d.lightposition": { "params": { - "plotly_name": "ticktextsrc", - "parent_name": "indicator.gauge.axis", - "edit_type": "none" + "plotly_name": "lightposition", + "parent_name": "mesh3d", + "data_class_str": "Lightposition", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "indicator.gauge.axis.ticktext": { + "mesh3d.lightposition.z": { "params": { - "plotly_name": "ticktext", - "parent_name": "indicator.gauge.axis", - "edit_type": "plot" + "plotly_name": "z", + "parent_name": "mesh3d.lightposition", + "edit_type": "calc", + "max": 100000, + "min": -100000 }, - "superclass": "DataArrayValidator" + "superclass": "NumberValidator" }, - "indicator.gauge.axis.ticksuffix": { + "mesh3d.lightposition.y": { "params": { - "plotly_name": "ticksuffix", - "parent_name": "indicator.gauge.axis", - "edit_type": "plot" + "plotly_name": "y", + "parent_name": "mesh3d.lightposition", + "edit_type": "calc", + "max": 100000, + "min": -100000 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "indicator.gauge.axis.ticks": { + "mesh3d.lightposition.x": { "params": { - "plotly_name": "ticks", - "parent_name": "indicator.gauge.axis", - "edit_type": "plot", - "values": [ - "outside", - "inside", - "" - ] + "plotly_name": "x", + "parent_name": "mesh3d.lightposition", + "edit_type": "calc", + "max": 100000, + "min": -100000 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "indicator.gauge.axis.tickprefix": { + "mesh3d.lighting": { "params": { - "plotly_name": "tickprefix", - "parent_name": "indicator.gauge.axis", - "edit_type": "plot" + "plotly_name": "lighting", + "parent_name": "mesh3d", + "data_class_str": "Lighting", + "data_docs": "\n" }, - "superclass": "StringValidator" + "superclass": "CompoundValidator" }, - "indicator.gauge.axis.tickmode": { + "mesh3d.lighting.vertexnormalsepsilon": { "params": { - "plotly_name": "tickmode", - "parent_name": "indicator.gauge.axis", - "edit_type": "plot", - "implied_edits": {}, - "values": [ - "auto", - "linear", - "array" - ] + "plotly_name": "vertexnormalsepsilon", + "parent_name": "mesh3d.lighting", + "edit_type": "calc", + "max": 1, + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "indicator.gauge.axis.ticklen": { + "mesh3d.lighting.specular": { "params": { - "plotly_name": "ticklen", - "parent_name": "indicator.gauge.axis", - "edit_type": "plot", + "plotly_name": "specular", + "parent_name": "mesh3d.lighting", + "edit_type": "calc", + "max": 2, "min": 0 }, "superclass": "NumberValidator" }, - "indicator.gauge.axis.ticklabelstep": { + "mesh3d.lighting.roughness": { "params": { - "plotly_name": "ticklabelstep", - "parent_name": "indicator.gauge.axis", - "edit_type": "plot", - "min": 1 + "plotly_name": "roughness", + "parent_name": "mesh3d.lighting", + "edit_type": "calc", + "max": 1, + "min": 0 }, - "superclass": "IntegerValidator" + "superclass": "NumberValidator" }, - "indicator.gauge.axis.tickformatstopdefaults": { + "mesh3d.lighting.fresnel": { "params": { - "plotly_name": "tickformatstopdefaults", - "parent_name": "indicator.gauge.axis", - "data_class_str": "Tickformatstop", - "data_docs": "\n" + "plotly_name": "fresnel", + "parent_name": "mesh3d.lighting", + "edit_type": "calc", + "max": 5, + "min": 0 }, - "superclass": "CompoundValidator" + "superclass": "NumberValidator" }, - "indicator.gauge.axis.tickformatstops": { + "mesh3d.lighting.facenormalsepsilon": { "params": { - "plotly_name": "tickformatstops", - "parent_name": "indicator.gauge.axis", - "data_class_str": "Tickformatstop", - "data_docs": "\n" + "plotly_name": "facenormalsepsilon", + "parent_name": "mesh3d.lighting", + "edit_type": "calc", + "max": 1, + "min": 0 }, - "superclass": "CompoundArrayValidator" + "superclass": "NumberValidator" }, - "indicator.gauge.axis.tickformatstop.value": { + "mesh3d.lighting.diffuse": { "params": { - "plotly_name": "value", - "parent_name": "indicator.gauge.axis.tickformatstop", - "edit_type": "plot" + "plotly_name": "diffuse", + "parent_name": "mesh3d.lighting", + "edit_type": "calc", + "max": 1, + "min": 0 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "indicator.gauge.axis.tickformatstop.templateitemname": { + "mesh3d.lighting.ambient": { "params": { - "plotly_name": "templateitemname", - "parent_name": "indicator.gauge.axis.tickformatstop", - "edit_type": "plot" + "plotly_name": "ambient", + "parent_name": "mesh3d.lighting", + "edit_type": "calc", + "max": 1, + "min": 0 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "indicator.gauge.axis.tickformatstop.name": { + "mesh3d.legendwidth": { "params": { - "plotly_name": "name", - "parent_name": "indicator.gauge.axis.tickformatstop", - "edit_type": "plot" + "plotly_name": "legendwidth", + "parent_name": "mesh3d", + "edit_type": "style", + "min": 0 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "indicator.gauge.axis.tickformatstop.enabled": { + "mesh3d.legendrank": { "params": { - "plotly_name": "enabled", - "parent_name": "indicator.gauge.axis.tickformatstop", - "edit_type": "plot" + "plotly_name": "legendrank", + "parent_name": "mesh3d", + "edit_type": "style" }, - "superclass": "BooleanValidator" + "superclass": "NumberValidator" }, - "indicator.gauge.axis.tickformatstop.dtickrange": { + "mesh3d.legendgrouptitle": { "params": { - "plotly_name": "dtickrange", - "parent_name": "indicator.gauge.axis.tickformatstop", - "edit_type": "plot", - "items": [ - { - "editType": "plot", - "valType": "any" - }, - { - "editType": "plot", - "valType": "any" - } - ] + "plotly_name": "legendgrouptitle", + "parent_name": "mesh3d", + "data_class_str": "Legendgrouptitle", + "data_docs": "\n" }, - "superclass": "InfoArrayValidator" + "superclass": "CompoundValidator" }, - "indicator.gauge.axis.tickformat": { + "mesh3d.legendgrouptitle.text": { "params": { - "plotly_name": "tickformat", - "parent_name": "indicator.gauge.axis", - "edit_type": "plot" + "plotly_name": "text", + "parent_name": "mesh3d.legendgrouptitle", + "edit_type": "style" }, "superclass": "StringValidator" }, - "indicator.gauge.axis.tickfont": { + "mesh3d.legendgrouptitle.font": { "params": { - "plotly_name": "tickfont", - "parent_name": "indicator.gauge.axis", - "data_class_str": "Tickfont", + "plotly_name": "font", + "parent_name": "mesh3d.legendgrouptitle", + "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "indicator.gauge.axis.tickfont.weight": { + "mesh3d.legendgrouptitle.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "indicator.gauge.axis.tickfont", - "edit_type": "plot", + "parent_name": "mesh3d.legendgrouptitle.font", + "edit_type": "style", "extras": [ "normal", "bold" @@ -87584,11 +72826,11 @@ }, "superclass": "IntegerValidator" }, - "indicator.gauge.axis.tickfont.variant": { + "mesh3d.legendgrouptitle.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "indicator.gauge.axis.tickfont", - "edit_type": "plot", + "parent_name": "mesh3d.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "small-caps", @@ -87600,11 +72842,11 @@ }, "superclass": "EnumeratedValidator" }, - "indicator.gauge.axis.tickfont.textcase": { + "mesh3d.legendgrouptitle.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "indicator.gauge.axis.tickfont", - "edit_type": "plot", + "parent_name": "mesh3d.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "word caps", @@ -87614,11 +72856,11 @@ }, "superclass": "EnumeratedValidator" }, - "indicator.gauge.axis.tickfont.style": { + "mesh3d.legendgrouptitle.font.style": { "params": { "plotly_name": "style", - "parent_name": "indicator.gauge.axis.tickfont", - "edit_type": "plot", + "parent_name": "mesh3d.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "italic" @@ -87626,387 +72868,194 @@ }, "superclass": "EnumeratedValidator" }, - "indicator.gauge.axis.tickfont.size": { + "mesh3d.legendgrouptitle.font.size": { "params": { "plotly_name": "size", - "parent_name": "indicator.gauge.axis.tickfont", - "edit_type": "plot", + "parent_name": "mesh3d.legendgrouptitle.font", + "edit_type": "style", "min": 1 }, "superclass": "NumberValidator" }, - "indicator.gauge.axis.tickfont.shadow": { + "mesh3d.legendgrouptitle.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "indicator.gauge.axis.tickfont", - "edit_type": "plot" - }, - "superclass": "StringValidator" - }, - "indicator.gauge.axis.tickfont.lineposition": { - "params": { - "plotly_name": "lineposition", - "parent_name": "indicator.gauge.axis.tickfont", - "edit_type": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] - }, - "superclass": "FlaglistValidator" - }, - "indicator.gauge.axis.tickfont.family": { - "params": { - "plotly_name": "family", - "parent_name": "indicator.gauge.axis.tickfont", - "edit_type": "plot", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "indicator.gauge.axis.tickfont.color": { - "params": { - "plotly_name": "color", - "parent_name": "indicator.gauge.axis.tickfont", - "edit_type": "plot" - }, - "superclass": "ColorValidator" - }, - "indicator.gauge.axis.tickcolor": { - "params": { - "plotly_name": "tickcolor", - "parent_name": "indicator.gauge.axis", - "edit_type": "plot" - }, - "superclass": "ColorValidator" - }, - "indicator.gauge.axis.tickangle": { - "params": { - "plotly_name": "tickangle", - "parent_name": "indicator.gauge.axis", - "edit_type": "plot" - }, - "superclass": "AngleValidator" - }, - "indicator.gauge.axis.tick0": { - "params": { - "plotly_name": "tick0", - "parent_name": "indicator.gauge.axis", - "edit_type": "plot", - "implied_edits": { - "tickmode": "linear" - } - }, - "superclass": "AnyValidator" - }, - "indicator.gauge.axis.showticksuffix": { - "params": { - "plotly_name": "showticksuffix", - "parent_name": "indicator.gauge.axis", - "edit_type": "plot", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "indicator.gauge.axis.showtickprefix": { - "params": { - "plotly_name": "showtickprefix", - "parent_name": "indicator.gauge.axis", - "edit_type": "plot", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "indicator.gauge.axis.showticklabels": { - "params": { - "plotly_name": "showticklabels", - "parent_name": "indicator.gauge.axis", - "edit_type": "plot" - }, - "superclass": "BooleanValidator" - }, - "indicator.gauge.axis.showexponent": { - "params": { - "plotly_name": "showexponent", - "parent_name": "indicator.gauge.axis", - "edit_type": "plot", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "indicator.gauge.axis.separatethousands": { - "params": { - "plotly_name": "separatethousands", - "parent_name": "indicator.gauge.axis", - "edit_type": "plot" - }, - "superclass": "BooleanValidator" - }, - "indicator.gauge.axis.range": { - "params": { - "plotly_name": "range", - "parent_name": "indicator.gauge.axis", - "edit_type": "plot", - "items": [ - { - "editType": "plot", - "valType": "number" - }, - { - "editType": "plot", - "valType": "number" - } - ] - }, - "superclass": "InfoArrayValidator" - }, - "indicator.gauge.axis.nticks": { - "params": { - "plotly_name": "nticks", - "parent_name": "indicator.gauge.axis", - "edit_type": "plot", - "min": 0 - }, - "superclass": "IntegerValidator" - }, - "indicator.gauge.axis.minexponent": { - "params": { - "plotly_name": "minexponent", - "parent_name": "indicator.gauge.axis", - "edit_type": "plot", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "indicator.gauge.axis.labelalias": { - "params": { - "plotly_name": "labelalias", - "parent_name": "indicator.gauge.axis", - "edit_type": "plot" + "parent_name": "mesh3d.legendgrouptitle.font", + "edit_type": "style" }, - "superclass": "AnyValidator" + "superclass": "StringValidator" }, - "indicator.gauge.axis.exponentformat": { + "mesh3d.legendgrouptitle.font.lineposition": { "params": { - "plotly_name": "exponentformat", - "parent_name": "indicator.gauge.axis", - "edit_type": "plot", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" + "plotly_name": "lineposition", + "parent_name": "mesh3d.legendgrouptitle.font", + "edit_type": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" ] }, - "superclass": "EnumeratedValidator" + "superclass": "FlaglistValidator" }, - "indicator.gauge.axis.dtick": { + "mesh3d.legendgrouptitle.font.family": { "params": { - "plotly_name": "dtick", - "parent_name": "indicator.gauge.axis", - "edit_type": "plot", - "implied_edits": { - "tickmode": "linear" - } + "plotly_name": "family", + "parent_name": "mesh3d.legendgrouptitle.font", + "edit_type": "style", + "no_blank": true, + "strict": true }, - "superclass": "AnyValidator" + "superclass": "StringValidator" }, - "indicator.domain": { + "mesh3d.legendgrouptitle.font.color": { "params": { - "plotly_name": "domain", - "parent_name": "indicator", - "data_class_str": "Domain", - "data_docs": "\n" + "plotly_name": "color", + "parent_name": "mesh3d.legendgrouptitle.font", + "edit_type": "style" }, - "superclass": "CompoundValidator" + "superclass": "ColorValidator" }, - "indicator.domain.y": { + "mesh3d.legendgroup": { "params": { - "plotly_name": "y", - "parent_name": "indicator.domain", - "edit_type": "calc", - "items": [ - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - } - ] + "plotly_name": "legendgroup", + "parent_name": "mesh3d", + "edit_type": "style" }, - "superclass": "InfoArrayValidator" + "superclass": "StringValidator" }, - "indicator.domain.x": { + "mesh3d.legend": { "params": { - "plotly_name": "x", - "parent_name": "indicator.domain", - "edit_type": "calc", - "items": [ - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - } - ] + "plotly_name": "legend", + "parent_name": "mesh3d", + "dflt": "legend", + "edit_type": "style" }, - "superclass": "InfoArrayValidator" + "superclass": "SubplotidValidator" }, - "indicator.domain.row": { + "mesh3d.k": { "params": { - "plotly_name": "row", - "parent_name": "indicator.domain", - "edit_type": "calc", - "min": 0 + "plotly_name": "k", + "parent_name": "mesh3d", + "edit_type": "calc" }, - "superclass": "IntegerValidator" + "superclass": "DataArrayValidator" }, - "indicator.domain.column": { + "mesh3d.j": { "params": { - "plotly_name": "column", - "parent_name": "indicator.domain", - "edit_type": "calc", - "min": 0 + "plotly_name": "j", + "parent_name": "mesh3d", + "edit_type": "calc" }, - "superclass": "IntegerValidator" + "superclass": "DataArrayValidator" }, - "indicator.delta": { + "mesh3d.intensitymode": { "params": { - "plotly_name": "delta", - "parent_name": "indicator", - "data_class_str": "Delta", - "data_docs": "\n" + "plotly_name": "intensitymode", + "parent_name": "mesh3d", + "edit_type": "calc", + "values": [ + "vertex", + "cell" + ] }, - "superclass": "CompoundValidator" + "superclass": "EnumeratedValidator" }, - "indicator.delta.valueformat": { + "mesh3d.intensity": { "params": { - "plotly_name": "valueformat", - "parent_name": "indicator.delta", - "edit_type": "plot" + "plotly_name": "intensity", + "parent_name": "mesh3d", + "edit_type": "calc" }, - "superclass": "StringValidator" + "superclass": "DataArrayValidator" }, - "indicator.delta.suffix": { + "mesh3d.ids": { "params": { - "plotly_name": "suffix", - "parent_name": "indicator.delta", - "edit_type": "plot" + "plotly_name": "ids", + "parent_name": "mesh3d", + "edit_type": "calc" }, - "superclass": "StringValidator" + "superclass": "DataArrayValidator" }, - "indicator.delta.relative": { + "mesh3d.i": { "params": { - "plotly_name": "relative", - "parent_name": "indicator.delta", - "edit_type": "plot" + "plotly_name": "i", + "parent_name": "mesh3d", + "edit_type": "calc" }, - "superclass": "BooleanValidator" + "superclass": "DataArrayValidator" }, - "indicator.delta.reference": { + "mesh3d.hovertext": { "params": { - "plotly_name": "reference", - "parent_name": "indicator.delta", + "plotly_name": "hovertext", + "parent_name": "mesh3d", + "array_ok": true, "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "indicator.delta.prefix": { + "mesh3d.hovertemplatefallback": { "params": { - "plotly_name": "prefix", - "parent_name": "indicator.delta", - "edit_type": "plot" + "plotly_name": "hovertemplatefallback", + "parent_name": "mesh3d", + "edit_type": "calc" }, - "superclass": "StringValidator" + "superclass": "AnyValidator" }, - "indicator.delta.position": { + "mesh3d.hovertemplate": { "params": { - "plotly_name": "position", - "parent_name": "indicator.delta", - "edit_type": "plot", - "values": [ - "top", - "bottom", - "left", - "right" - ] + "plotly_name": "hovertemplate", + "parent_name": "mesh3d", + "array_ok": true, + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "StringValidator" }, - "indicator.delta.increasing": { + "mesh3d.hoverlabel": { "params": { - "plotly_name": "increasing", - "parent_name": "indicator.delta", - "data_class_str": "Increasing", + "plotly_name": "hoverlabel", + "parent_name": "mesh3d", + "data_class_str": "Hoverlabel", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "indicator.delta.increasing.symbol": { + "mesh3d.hoverlabel.showarrow": { "params": { - "plotly_name": "symbol", - "parent_name": "indicator.delta.increasing", - "edit_type": "plot" + "plotly_name": "showarrow", + "parent_name": "mesh3d.hoverlabel", + "edit_type": "none" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "indicator.delta.increasing.color": { + "mesh3d.hoverlabel.namelength": { "params": { - "plotly_name": "color", - "parent_name": "indicator.delta.increasing", - "edit_type": "plot" + "plotly_name": "namelength", + "parent_name": "mesh3d.hoverlabel", + "array_ok": true, + "edit_type": "none", + "min": -1 }, - "superclass": "ColorValidator" + "superclass": "IntegerValidator" }, - "indicator.delta.font": { + "mesh3d.hoverlabel.font": { "params": { "plotly_name": "font", - "parent_name": "indicator.delta", + "parent_name": "mesh3d.hoverlabel", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "indicator.delta.font.weight": { + "mesh3d.hoverlabel.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "indicator.delta.font", - "edit_type": "plot", + "parent_name": "mesh3d.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "extras": [ "normal", "bold" @@ -88016,11 +73065,12 @@ }, "superclass": "IntegerValidator" }, - "indicator.delta.font.variant": { + "mesh3d.hoverlabel.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "indicator.delta.font", - "edit_type": "plot", + "parent_name": "mesh3d.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "small-caps", @@ -88032,11 +73082,12 @@ }, "superclass": "EnumeratedValidator" }, - "indicator.delta.font.textcase": { + "mesh3d.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "indicator.delta.font", - "edit_type": "plot", + "parent_name": "mesh3d.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "word caps", @@ -88046,11 +73097,12 @@ }, "superclass": "EnumeratedValidator" }, - "indicator.delta.font.style": { + "mesh3d.hoverlabel.font.style": { "params": { "plotly_name": "style", - "parent_name": "indicator.delta.font", - "edit_type": "plot", + "parent_name": "mesh3d.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "italic" @@ -88058,28 +73110,31 @@ }, "superclass": "EnumeratedValidator" }, - "indicator.delta.font.size": { + "mesh3d.hoverlabel.font.size": { "params": { "plotly_name": "size", - "parent_name": "indicator.delta.font", - "edit_type": "plot", + "parent_name": "mesh3d.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "min": 1 }, "superclass": "NumberValidator" }, - "indicator.delta.font.shadow": { + "mesh3d.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "indicator.delta.font", - "edit_type": "plot" + "parent_name": "mesh3d.hoverlabel.font", + "array_ok": true, + "edit_type": "none" }, "superclass": "StringValidator" }, - "indicator.delta.font.lineposition": { + "mesh3d.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "indicator.delta.font", - "edit_type": "plot", + "parent_name": "mesh3d.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "extras": [ "none" ], @@ -88091,374 +73146,299 @@ }, "superclass": "FlaglistValidator" }, - "indicator.delta.font.family": { + "mesh3d.hoverlabel.font.family": { "params": { "plotly_name": "family", - "parent_name": "indicator.delta.font", - "edit_type": "plot", + "parent_name": "mesh3d.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "indicator.delta.font.color": { + "mesh3d.hoverlabel.font.color": { "params": { "plotly_name": "color", - "parent_name": "indicator.delta.font", - "edit_type": "plot" + "parent_name": "mesh3d.hoverlabel.font", + "array_ok": true, + "edit_type": "none" }, "superclass": "ColorValidator" }, - "indicator.delta.decreasing": { - "params": { - "plotly_name": "decreasing", - "parent_name": "indicator.delta", - "data_class_str": "Decreasing", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "indicator.delta.decreasing.symbol": { - "params": { - "plotly_name": "symbol", - "parent_name": "indicator.delta.decreasing", - "edit_type": "plot" - }, - "superclass": "StringValidator" - }, - "indicator.delta.decreasing.color": { + "mesh3d.hoverlabel.bordercolor": { "params": { - "plotly_name": "color", - "parent_name": "indicator.delta.decreasing", - "edit_type": "plot" + "plotly_name": "bordercolor", + "parent_name": "mesh3d.hoverlabel", + "array_ok": true, + "edit_type": "none" }, "superclass": "ColorValidator" }, - "indicator.customdatasrc": { + "mesh3d.hoverlabel.bgcolor": { "params": { - "plotly_name": "customdatasrc", - "parent_name": "indicator", + "plotly_name": "bgcolor", + "parent_name": "mesh3d.hoverlabel", + "array_ok": true, "edit_type": "none" }, - "superclass": "SrcValidator" - }, - "indicator.customdata": { - "params": { - "plotly_name": "customdata", - "parent_name": "indicator", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" + "superclass": "ColorValidator" }, - "indicator.align": { + "mesh3d.hoverlabel.align": { "params": { "plotly_name": "align", - "parent_name": "indicator", - "edit_type": "plot", + "parent_name": "mesh3d.hoverlabel", + "array_ok": true, + "edit_type": "none", "values": [ "left", - "center", - "right" + "right", + "auto" ] }, "superclass": "EnumeratedValidator" }, - "image": { - "params": { - "plotly_name": "image", - "parent_name": "", - "data_class_str": "Image", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "image.zsrc": { - "params": { - "plotly_name": "zsrc", - "parent_name": "image", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "image.zsmooth": { + "mesh3d.hoverinfo": { "params": { - "plotly_name": "zsmooth", - "parent_name": "image", - "edit_type": "plot", - "values": [ - "fast", - false + "plotly_name": "hoverinfo", + "parent_name": "mesh3d", + "array_ok": true, + "edit_type": "calc", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" ] }, - "superclass": "EnumeratedValidator" + "superclass": "FlaglistValidator" }, - "image.zorder": { + "mesh3d.flatshading": { "params": { - "plotly_name": "zorder", - "parent_name": "image", - "edit_type": "plot" + "plotly_name": "flatshading", + "parent_name": "mesh3d", + "edit_type": "calc" }, - "superclass": "IntegerValidator" + "superclass": "BooleanValidator" }, - "image.zmin": { + "mesh3d.facecolor": { "params": { - "plotly_name": "zmin", - "parent_name": "image", - "edit_type": "calc", - "items": [ - { - "editType": "calc", - "valType": "number" - }, - { - "editType": "calc", - "valType": "number" - }, - { - "editType": "calc", - "valType": "number" - }, - { - "editType": "calc", - "valType": "number" - } - ] + "plotly_name": "facecolor", + "parent_name": "mesh3d", + "edit_type": "calc" }, - "superclass": "InfoArrayValidator" + "superclass": "DataArrayValidator" }, - "image.zmax": { + "mesh3d.delaunayaxis": { "params": { - "plotly_name": "zmax", - "parent_name": "image", + "plotly_name": "delaunayaxis", + "parent_name": "mesh3d", "edit_type": "calc", - "items": [ - { - "editType": "calc", - "valType": "number" - }, - { - "editType": "calc", - "valType": "number" - }, - { - "editType": "calc", - "valType": "number" - }, - { - "editType": "calc", - "valType": "number" - } + "values": [ + "x", + "y", + "z" ] }, - "superclass": "InfoArrayValidator" + "superclass": "EnumeratedValidator" }, - "image.z": { + "mesh3d.customdata": { "params": { - "plotly_name": "z", - "parent_name": "image", + "plotly_name": "customdata", + "parent_name": "mesh3d", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "image.yaxis": { - "params": { - "plotly_name": "yaxis", - "parent_name": "image", - "dflt": "y", - "edit_type": "calc+clearAxisTypes" - }, - "superclass": "SubplotidValidator" - }, - "image.y0": { - "params": { - "plotly_name": "y0", - "parent_name": "image", - "edit_type": "calc+clearAxisTypes" - }, - "superclass": "AnyValidator" - }, - "image.xaxis": { - "params": { - "plotly_name": "xaxis", - "parent_name": "image", - "dflt": "x", - "edit_type": "calc+clearAxisTypes" - }, - "superclass": "SubplotidValidator" - }, - "image.x0": { - "params": { - "plotly_name": "x0", - "parent_name": "image", - "edit_type": "calc+clearAxisTypes" - }, - "superclass": "AnyValidator" - }, - "image.visible": { + "mesh3d.contour": { "params": { - "plotly_name": "visible", - "parent_name": "image", - "edit_type": "calc", - "values": [ - true, - false, - "legendonly" - ] + "plotly_name": "contour", + "parent_name": "mesh3d", + "data_class_str": "Contour", + "data_docs": "\n" }, - "superclass": "EnumeratedValidator" + "superclass": "CompoundValidator" }, - "image.uirevision": { + "mesh3d.contour.width": { "params": { - "plotly_name": "uirevision", - "parent_name": "image", - "edit_type": "none" + "plotly_name": "width", + "parent_name": "mesh3d.contour", + "edit_type": "calc", + "max": 16, + "min": 1 }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "image.uid": { + "mesh3d.contour.show": { "params": { - "plotly_name": "uid", - "parent_name": "image", - "edit_type": "plot" + "plotly_name": "show", + "parent_name": "mesh3d.contour", + "edit_type": "calc" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "image.textsrc": { + "mesh3d.contour.color": { "params": { - "plotly_name": "textsrc", - "parent_name": "image", - "edit_type": "none" + "plotly_name": "color", + "parent_name": "mesh3d.contour", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "image.text": { + "mesh3d.colorscale": { "params": { - "plotly_name": "text", - "parent_name": "image", - "edit_type": "plot" + "plotly_name": "colorscale", + "parent_name": "mesh3d", + "edit_type": "calc", + "implied_edits": { + "autocolorscale": false + } }, - "superclass": "DataArrayValidator" + "superclass": "ColorscaleValidator" }, - "image.stream": { + "mesh3d.colorbar": { "params": { - "plotly_name": "stream", - "parent_name": "image", - "data_class_str": "Stream", + "plotly_name": "colorbar", + "parent_name": "mesh3d", + "data_class_str": "ColorBar", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "image.stream.token": { + "mesh3d.colorbar.yref": { "params": { - "plotly_name": "token", - "parent_name": "image.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true + "plotly_name": "yref", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", + "values": [ + "container", + "paper" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "image.stream.maxpoints": { + "mesh3d.colorbar.ypad": { "params": { - "plotly_name": "maxpoints", - "parent_name": "image.stream", - "edit_type": "calc", - "max": 10000, + "plotly_name": "ypad", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "image.source": { + "mesh3d.colorbar.yanchor": { "params": { - "plotly_name": "source", - "parent_name": "image", - "edit_type": "calc" + "plotly_name": "yanchor", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", + "values": [ + "top", + "middle", + "bottom" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "image.opacity": { + "mesh3d.colorbar.y": { "params": { - "plotly_name": "opacity", - "parent_name": "image", - "edit_type": "style", - "max": 1, - "min": 0 + "plotly_name": "y", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars" }, "superclass": "NumberValidator" }, - "image.name": { - "params": { - "plotly_name": "name", - "parent_name": "image", - "edit_type": "style" - }, - "superclass": "StringValidator" - }, - "image.metasrc": { + "mesh3d.colorbar.xref": { "params": { - "plotly_name": "metasrc", - "parent_name": "image", - "edit_type": "none" + "plotly_name": "xref", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", + "values": [ + "container", + "paper" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "image.meta": { + "mesh3d.colorbar.xpad": { "params": { - "plotly_name": "meta", - "parent_name": "image", - "array_ok": true, - "edit_type": "plot" + "plotly_name": "xpad", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "image.legendwidth": { + "mesh3d.colorbar.xanchor": { "params": { - "plotly_name": "legendwidth", - "parent_name": "image", - "edit_type": "style", - "min": 0 + "plotly_name": "xanchor", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", + "values": [ + "left", + "center", + "right" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "image.legendrank": { + "mesh3d.colorbar.x": { "params": { - "plotly_name": "legendrank", - "parent_name": "image", - "edit_type": "style" + "plotly_name": "x", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars" }, "superclass": "NumberValidator" }, - "image.legendgrouptitle": { + "mesh3d.colorbar.title": { "params": { - "plotly_name": "legendgrouptitle", - "parent_name": "image", - "data_class_str": "Legendgrouptitle", + "plotly_name": "title", + "parent_name": "mesh3d.colorbar", + "data_class_str": "Title", "data_docs": "\n" }, - "superclass": "CompoundValidator" + "superclass": "TitleValidator" }, - "image.legendgrouptitle.text": { + "mesh3d.colorbar.title.text": { "params": { "plotly_name": "text", - "parent_name": "image.legendgrouptitle", - "edit_type": "style" + "parent_name": "mesh3d.colorbar.title", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "image.legendgrouptitle.font": { + "mesh3d.colorbar.title.side": { + "params": { + "plotly_name": "side", + "parent_name": "mesh3d.colorbar.title", + "edit_type": "colorbars", + "values": [ + "right", + "top", + "bottom" + ] + }, + "superclass": "EnumeratedValidator" + }, + "mesh3d.colorbar.title.font": { "params": { "plotly_name": "font", - "parent_name": "image.legendgrouptitle", + "parent_name": "mesh3d.colorbar.title", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "image.legendgrouptitle.font.weight": { + "mesh3d.colorbar.title.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "image.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "mesh3d.colorbar.title.font", + "edit_type": "colorbars", "extras": [ "normal", "bold" @@ -88468,11 +73448,11 @@ }, "superclass": "IntegerValidator" }, - "image.legendgrouptitle.font.variant": { + "mesh3d.colorbar.title.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "image.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "mesh3d.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "small-caps", @@ -88484,11 +73464,11 @@ }, "superclass": "EnumeratedValidator" }, - "image.legendgrouptitle.font.textcase": { + "mesh3d.colorbar.title.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "image.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "mesh3d.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "word caps", @@ -88498,11 +73478,11 @@ }, "superclass": "EnumeratedValidator" }, - "image.legendgrouptitle.font.style": { + "mesh3d.colorbar.title.font.style": { "params": { "plotly_name": "style", - "parent_name": "image.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "mesh3d.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "italic" @@ -88510,28 +73490,28 @@ }, "superclass": "EnumeratedValidator" }, - "image.legendgrouptitle.font.size": { + "mesh3d.colorbar.title.font.size": { "params": { "plotly_name": "size", - "parent_name": "image.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "mesh3d.colorbar.title.font", + "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "image.legendgrouptitle.font.shadow": { + "mesh3d.colorbar.title.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "image.legendgrouptitle.font", - "edit_type": "style" + "parent_name": "mesh3d.colorbar.title.font", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "image.legendgrouptitle.font.lineposition": { + "mesh3d.colorbar.title.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "image.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "mesh3d.colorbar.title.font", + "edit_type": "colorbars", "extras": [ "none" ], @@ -88543,148 +73523,233 @@ }, "superclass": "FlaglistValidator" }, - "image.legendgrouptitle.font.family": { + "mesh3d.colorbar.title.font.family": { "params": { "plotly_name": "family", - "parent_name": "image.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "mesh3d.colorbar.title.font", + "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "image.legendgrouptitle.font.color": { + "mesh3d.colorbar.title.font.color": { "params": { "plotly_name": "color", - "parent_name": "image.legendgrouptitle.font", - "edit_type": "style" + "parent_name": "mesh3d.colorbar.title.font", + "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "image.legend": { + "mesh3d.colorbar.tickwidth": { "params": { - "plotly_name": "legend", - "parent_name": "image", - "dflt": "legend", - "edit_type": "style" + "plotly_name": "tickwidth", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "SubplotidValidator" + "superclass": "NumberValidator" }, - "image.idssrc": { + "mesh3d.colorbar.tickvals": { "params": { - "plotly_name": "idssrc", - "parent_name": "image", - "edit_type": "none" + "plotly_name": "tickvals", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "DataArrayValidator" }, - "image.ids": { + "mesh3d.colorbar.ticktext": { "params": { - "plotly_name": "ids", - "parent_name": "image", - "edit_type": "calc" + "plotly_name": "ticktext", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars" }, "superclass": "DataArrayValidator" }, - "image.hovertextsrc": { + "mesh3d.colorbar.ticksuffix": { "params": { - "plotly_name": "hovertextsrc", - "parent_name": "image", - "edit_type": "none" + "plotly_name": "ticksuffix", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "image.hovertext": { + "mesh3d.colorbar.ticks": { "params": { - "plotly_name": "hovertext", - "parent_name": "image", - "edit_type": "plot" + "plotly_name": "ticks", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", + "values": [ + "outside", + "inside", + "" + ] }, - "superclass": "DataArrayValidator" + "superclass": "EnumeratedValidator" }, - "image.hovertemplatesrc": { + "mesh3d.colorbar.tickprefix": { "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "image", - "edit_type": "none" + "plotly_name": "tickprefix", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "image.hovertemplatefallback": { + "mesh3d.colorbar.tickmode": { "params": { - "plotly_name": "hovertemplatefallback", - "parent_name": "image", - "edit_type": "none" + "plotly_name": "tickmode", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", + "implied_edits": {}, + "values": [ + "auto", + "linear", + "array" + ] }, - "superclass": "AnyValidator" + "superclass": "EnumeratedValidator" }, - "image.hovertemplate": { + "mesh3d.colorbar.ticklen": { "params": { - "plotly_name": "hovertemplate", - "parent_name": "image", - "array_ok": true, - "edit_type": "none" + "plotly_name": "ticklen", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "image.hoverlabel": { + "mesh3d.colorbar.ticklabelstep": { "params": { - "plotly_name": "hoverlabel", - "parent_name": "image", - "data_class_str": "Hoverlabel", + "plotly_name": "ticklabelstep", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", + "min": 1 + }, + "superclass": "IntegerValidator" + }, + "mesh3d.colorbar.ticklabelposition": { + "params": { + "plotly_name": "ticklabelposition", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", + "values": [ + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom" + ] + }, + "superclass": "EnumeratedValidator" + }, + "mesh3d.colorbar.ticklabeloverflow": { + "params": { + "plotly_name": "ticklabeloverflow", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", + "values": [ + "allow", + "hide past div", + "hide past domain" + ] + }, + "superclass": "EnumeratedValidator" + }, + "mesh3d.colorbar.tickformatstopdefaults": { + "params": { + "plotly_name": "tickformatstopdefaults", + "parent_name": "mesh3d.colorbar", + "data_class_str": "Tickformatstop", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "image.hoverlabel.showarrow": { + "mesh3d.colorbar.tickformatstops": { "params": { - "plotly_name": "showarrow", - "parent_name": "image.hoverlabel", - "edit_type": "none" + "plotly_name": "tickformatstops", + "parent_name": "mesh3d.colorbar", + "data_class_str": "Tickformatstop", + "data_docs": "\n" }, - "superclass": "BooleanValidator" + "superclass": "CompoundArrayValidator" }, - "image.hoverlabel.namelengthsrc": { + "mesh3d.colorbar.tickformatstop.value": { "params": { - "plotly_name": "namelengthsrc", - "parent_name": "image.hoverlabel", - "edit_type": "none" + "plotly_name": "value", + "parent_name": "mesh3d.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "image.hoverlabel.namelength": { + "mesh3d.colorbar.tickformatstop.templateitemname": { "params": { - "plotly_name": "namelength", - "parent_name": "image.hoverlabel", - "array_ok": true, - "edit_type": "none", - "min": -1 + "plotly_name": "templateitemname", + "parent_name": "mesh3d.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "IntegerValidator" + "superclass": "StringValidator" }, - "image.hoverlabel.font": { + "mesh3d.colorbar.tickformatstop.name": { "params": { - "plotly_name": "font", - "parent_name": "image.hoverlabel", - "data_class_str": "Font", - "data_docs": "\n" + "plotly_name": "name", + "parent_name": "mesh3d.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "CompoundValidator" + "superclass": "StringValidator" }, - "image.hoverlabel.font.weightsrc": { + "mesh3d.colorbar.tickformatstop.enabled": { "params": { - "plotly_name": "weightsrc", - "parent_name": "image.hoverlabel.font", - "edit_type": "none" + "plotly_name": "enabled", + "parent_name": "mesh3d.colorbar.tickformatstop", + "edit_type": "colorbars" + }, + "superclass": "BooleanValidator" + }, + "mesh3d.colorbar.tickformatstop.dtickrange": { + "params": { + "plotly_name": "dtickrange", + "parent_name": "mesh3d.colorbar.tickformatstop", + "edit_type": "colorbars", + "items": [ + { + "editType": "colorbars", + "valType": "any" + }, + { + "editType": "colorbars", + "valType": "any" + } + ] }, - "superclass": "SrcValidator" + "superclass": "InfoArrayValidator" }, - "image.hoverlabel.font.weight": { + "mesh3d.colorbar.tickformat": { + "params": { + "plotly_name": "tickformat", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars" + }, + "superclass": "StringValidator" + }, + "mesh3d.colorbar.tickfont": { + "params": { + "plotly_name": "tickfont", + "parent_name": "mesh3d.colorbar", + "data_class_str": "Tickfont", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "mesh3d.colorbar.tickfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "image.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "mesh3d.colorbar.tickfont", + "edit_type": "colorbars", "extras": [ "normal", "bold" @@ -88694,20 +73759,11 @@ }, "superclass": "IntegerValidator" }, - "image.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "image.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "image.hoverlabel.font.variant": { + "mesh3d.colorbar.tickfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "image.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "mesh3d.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "small-caps", @@ -88719,20 +73775,11 @@ }, "superclass": "EnumeratedValidator" }, - "image.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "image.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "image.hoverlabel.font.textcase": { + "mesh3d.colorbar.tickfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "image.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "mesh3d.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "word caps", @@ -88742,20 +73789,11 @@ }, "superclass": "EnumeratedValidator" }, - "image.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "image.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "image.hoverlabel.font.style": { + "mesh3d.colorbar.tickfont.style": { "params": { "plotly_name": "style", - "parent_name": "image.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "mesh3d.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "italic" @@ -88763,55 +73801,28 @@ }, "superclass": "EnumeratedValidator" }, - "image.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "image.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "image.hoverlabel.font.size": { + "mesh3d.colorbar.tickfont.size": { "params": { "plotly_name": "size", - "parent_name": "image.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "min": 1 - }, - "superclass": "NumberValidator" - }, - "image.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "image.hoverlabel.font", - "edit_type": "none" + "parent_name": "mesh3d.colorbar.tickfont", + "edit_type": "colorbars", + "min": 1 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "image.hoverlabel.font.shadow": { + "mesh3d.colorbar.tickfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "image.hoverlabel.font", - "array_ok": true, - "edit_type": "none" + "parent_name": "mesh3d.colorbar.tickfont", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "image.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "image.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "image.hoverlabel.font.lineposition": { + "mesh3d.colorbar.tickfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "image.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "mesh3d.colorbar.tickfont", + "edit_type": "colorbars", "extras": [ "none" ], @@ -88823,892 +73834,869 @@ }, "superclass": "FlaglistValidator" }, - "image.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "image.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "image.hoverlabel.font.family": { + "mesh3d.colorbar.tickfont.family": { "params": { "plotly_name": "family", - "parent_name": "image.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "mesh3d.colorbar.tickfont", + "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "image.hoverlabel.font.colorsrc": { + "mesh3d.colorbar.tickfont.color": { "params": { - "plotly_name": "colorsrc", - "parent_name": "image.hoverlabel.font", - "edit_type": "none" + "plotly_name": "color", + "parent_name": "mesh3d.colorbar.tickfont", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "image.hoverlabel.font.color": { + "mesh3d.colorbar.tickcolor": { "params": { - "plotly_name": "color", - "parent_name": "image.hoverlabel.font", - "array_ok": true, - "edit_type": "none" + "plotly_name": "tickcolor", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "image.hoverlabel.bordercolorsrc": { + "mesh3d.colorbar.tickangle": { "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "image.hoverlabel", - "edit_type": "none" + "plotly_name": "tickangle", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "AngleValidator" }, - "image.hoverlabel.bordercolor": { + "mesh3d.colorbar.tick0": { "params": { - "plotly_name": "bordercolor", - "parent_name": "image.hoverlabel", - "array_ok": true, - "edit_type": "none" + "plotly_name": "tick0", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", + "implied_edits": { + "tickmode": "linear" + } }, - "superclass": "ColorValidator" + "superclass": "AnyValidator" }, - "image.hoverlabel.bgcolorsrc": { + "mesh3d.colorbar.thicknessmode": { "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "image.hoverlabel", - "edit_type": "none" + "plotly_name": "thicknessmode", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", + "values": [ + "fraction", + "pixels" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "image.hoverlabel.bgcolor": { + "mesh3d.colorbar.thickness": { "params": { - "plotly_name": "bgcolor", - "parent_name": "image.hoverlabel", - "array_ok": true, - "edit_type": "none" + "plotly_name": "thickness", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "ColorValidator" + "superclass": "NumberValidator" }, - "image.hoverlabel.alignsrc": { + "mesh3d.colorbar.showticksuffix": { "params": { - "plotly_name": "alignsrc", - "parent_name": "image.hoverlabel", - "edit_type": "none" + "plotly_name": "showticksuffix", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "image.hoverlabel.align": { + "mesh3d.colorbar.showtickprefix": { "params": { - "plotly_name": "align", - "parent_name": "image.hoverlabel", - "array_ok": true, - "edit_type": "none", + "plotly_name": "showtickprefix", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", "values": [ - "left", - "right", - "auto" + "all", + "first", + "last", + "none" ] }, "superclass": "EnumeratedValidator" }, - "image.hoverinfosrc": { + "mesh3d.colorbar.showticklabels": { "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "image", - "edit_type": "none" + "plotly_name": "showticklabels", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "image.hoverinfo": { + "mesh3d.colorbar.showexponent": { "params": { - "plotly_name": "hoverinfo", - "parent_name": "image", - "array_ok": true, - "edit_type": "none", - "extras": [ + "plotly_name": "showexponent", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", + "values": [ "all", - "none", - "skip" - ], - "flags": [ - "x", - "y", - "z", - "color", - "name", - "text" + "first", + "last", + "none" ] }, - "superclass": "FlaglistValidator" + "superclass": "EnumeratedValidator" }, - "image.dy": { + "mesh3d.colorbar.separatethousands": { "params": { - "plotly_name": "dy", - "parent_name": "image", - "edit_type": "calc" + "plotly_name": "separatethousands", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars" }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "image.dx": { + "mesh3d.colorbar.outlinewidth": { "params": { - "plotly_name": "dx", - "parent_name": "image", - "edit_type": "calc" + "plotly_name": "outlinewidth", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", + "min": 0 }, "superclass": "NumberValidator" }, - "image.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "image", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "image.customdata": { + "mesh3d.colorbar.outlinecolor": { "params": { - "plotly_name": "customdata", - "parent_name": "image", - "edit_type": "calc" + "plotly_name": "outlinecolor", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars" }, - "superclass": "DataArrayValidator" + "superclass": "ColorValidator" }, - "image.colormodel": { + "mesh3d.colorbar.orientation": { "params": { - "plotly_name": "colormodel", - "parent_name": "image", - "edit_type": "calc", + "plotly_name": "orientation", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", "values": [ - "rgb", - "rgba", - "rgba256", - "hsl", - "hsla" + "h", + "v" ] }, "superclass": "EnumeratedValidator" }, - "icicle": { + "mesh3d.colorbar.nticks": { "params": { - "plotly_name": "icicle", - "parent_name": "", - "data_class_str": "Icicle", - "data_docs": "\n" + "plotly_name": "nticks", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "CompoundValidator" + "superclass": "IntegerValidator" }, - "icicle.visible": { + "mesh3d.colorbar.minexponent": { "params": { - "plotly_name": "visible", - "parent_name": "icicle", - "edit_type": "calc", - "values": [ - true, - false, - "legendonly" - ] + "plotly_name": "minexponent", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "icicle.valuessrc": { + "mesh3d.colorbar.lenmode": { "params": { - "plotly_name": "valuessrc", - "parent_name": "icicle", - "edit_type": "none" + "plotly_name": "lenmode", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", + "values": [ + "fraction", + "pixels" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "icicle.values": { + "mesh3d.colorbar.len": { "params": { - "plotly_name": "values", - "parent_name": "icicle", - "edit_type": "calc" + "plotly_name": "len", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "DataArrayValidator" + "superclass": "NumberValidator" }, - "icicle.uirevision": { + "mesh3d.colorbar.labelalias": { "params": { - "plotly_name": "uirevision", - "parent_name": "icicle", - "edit_type": "none" + "plotly_name": "labelalias", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars" }, "superclass": "AnyValidator" }, - "icicle.uid": { + "mesh3d.colorbar.exponentformat": { "params": { - "plotly_name": "uid", - "parent_name": "icicle", - "anim": true, - "edit_type": "plot" + "plotly_name": "exponentformat", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B", + "SI extended" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "icicle.tiling": { + "mesh3d.colorbar.dtick": { "params": { - "plotly_name": "tiling", - "parent_name": "icicle", - "data_class_str": "Tiling", - "data_docs": "\n" + "plotly_name": "dtick", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", + "implied_edits": { + "tickmode": "linear" + } }, - "superclass": "CompoundValidator" + "superclass": "AnyValidator" }, - "icicle.tiling.pad": { + "mesh3d.colorbar.borderwidth": { "params": { - "plotly_name": "pad", - "parent_name": "icicle.tiling", - "edit_type": "plot", + "plotly_name": "borderwidth", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "icicle.tiling.orientation": { + "mesh3d.colorbar.bordercolor": { "params": { - "plotly_name": "orientation", - "parent_name": "icicle.tiling", - "edit_type": "plot", - "values": [ - "v", - "h" - ] + "plotly_name": "bordercolor", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars" }, - "superclass": "EnumeratedValidator" + "superclass": "ColorValidator" }, - "icicle.tiling.flip": { + "mesh3d.colorbar.bgcolor": { "params": { - "plotly_name": "flip", - "parent_name": "icicle.tiling", - "edit_type": "plot", - "flags": [ - "x", - "y" - ] + "plotly_name": "bgcolor", + "parent_name": "mesh3d.colorbar", + "edit_type": "colorbars" }, - "superclass": "FlaglistValidator" + "superclass": "ColorValidator" }, - "icicle.texttemplatesrc": { + "mesh3d.coloraxis": { "params": { - "plotly_name": "texttemplatesrc", - "parent_name": "icicle", - "edit_type": "none" + "plotly_name": "coloraxis", + "parent_name": "mesh3d", + "dflt": null, + "edit_type": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" }, - "superclass": "SrcValidator" + "superclass": "SubplotidValidator" }, - "icicle.texttemplatefallback": { + "mesh3d.color": { "params": { - "plotly_name": "texttemplatefallback", - "parent_name": "icicle", - "edit_type": "plot" + "plotly_name": "color", + "parent_name": "mesh3d", + "edit_type": "calc", + "colorscale_path": "mesh3d.colorscale" }, - "superclass": "AnyValidator" + "superclass": "ColorValidator" }, - "icicle.texttemplate": { + "mesh3d.cmin": { "params": { - "plotly_name": "texttemplate", - "parent_name": "icicle", - "array_ok": true, - "edit_type": "plot" + "plotly_name": "cmin", + "parent_name": "mesh3d", + "edit_type": "calc", + "implied_edits": { + "cauto": false + } }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "icicle.textsrc": { + "mesh3d.cmid": { "params": { - "plotly_name": "textsrc", - "parent_name": "icicle", - "edit_type": "none" + "plotly_name": "cmid", + "parent_name": "mesh3d", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "icicle.textposition": { + "mesh3d.cmax": { "params": { - "plotly_name": "textposition", - "parent_name": "icicle", - "edit_type": "plot", - "values": [ - "top left", - "top center", - "top right", - "middle left", - "middle center", - "middle right", - "bottom left", - "bottom center", - "bottom right" - ] + "plotly_name": "cmax", + "parent_name": "mesh3d", + "edit_type": "calc", + "implied_edits": { + "cauto": false + } }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "icicle.textinfo": { + "mesh3d.cauto": { "params": { - "plotly_name": "textinfo", - "parent_name": "icicle", - "edit_type": "plot", - "extras": [ - "none" - ], - "flags": [ - "label", - "text", - "value", - "current path", - "percent root", - "percent entry", - "percent parent" - ] + "plotly_name": "cauto", + "parent_name": "mesh3d", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "FlaglistValidator" + "superclass": "BooleanValidator" }, - "icicle.textfont": { + "mesh3d.autocolorscale": { "params": { - "plotly_name": "textfont", - "parent_name": "icicle", - "data_class_str": "Textfont", - "data_docs": "\n" + "plotly_name": "autocolorscale", + "parent_name": "mesh3d", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "CompoundValidator" + "superclass": "BooleanValidator" }, - "icicle.textfont.weightsrc": { + "mesh3d.alphahull": { "params": { - "plotly_name": "weightsrc", - "parent_name": "icicle.textfont", - "edit_type": "none" + "plotly_name": "alphahull", + "parent_name": "mesh3d", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "icicle.textfont.weight": { + "isosurface": { "params": { - "plotly_name": "weight", - "parent_name": "icicle.textfont", - "array_ok": true, - "edit_type": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 + "plotly_name": "isosurface", + "parent_name": "", + "data_class_str": "Isosurface", + "data_docs": "\n" }, - "superclass": "IntegerValidator" + "superclass": "CompoundValidator" }, - "icicle.textfont.variantsrc": { + "isosurface.zhoverformat": { "params": { - "plotly_name": "variantsrc", - "parent_name": "icicle.textfont", - "edit_type": "none" + "plotly_name": "zhoverformat", + "parent_name": "isosurface", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "icicle.textfont.variant": { + "isosurface.z": { "params": { - "plotly_name": "variant", - "parent_name": "icicle.textfont", - "array_ok": true, - "edit_type": "plot", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] + "plotly_name": "z", + "parent_name": "isosurface", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "EnumeratedValidator" + "superclass": "DataArrayValidator" }, - "icicle.textfont.textcasesrc": { + "isosurface.yhoverformat": { "params": { - "plotly_name": "textcasesrc", - "parent_name": "icicle.textfont", - "edit_type": "none" + "plotly_name": "yhoverformat", + "parent_name": "isosurface", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "icicle.textfont.textcase": { + "isosurface.y": { "params": { - "plotly_name": "textcase", - "parent_name": "icicle.textfont", - "array_ok": true, - "edit_type": "plot", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] + "plotly_name": "y", + "parent_name": "isosurface", + "edit_type": "calc+clearAxisTypes" + }, + "superclass": "DataArrayValidator" + }, + "isosurface.xhoverformat": { + "params": { + "plotly_name": "xhoverformat", + "parent_name": "isosurface", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "StringValidator" }, - "icicle.textfont.stylesrc": { + "isosurface.x": { "params": { - "plotly_name": "stylesrc", - "parent_name": "icicle.textfont", - "edit_type": "none" + "plotly_name": "x", + "parent_name": "isosurface", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "SrcValidator" + "superclass": "DataArrayValidator" }, - "icicle.textfont.style": { + "isosurface.visible": { "params": { - "plotly_name": "style", - "parent_name": "icicle.textfont", - "array_ok": true, - "edit_type": "plot", + "plotly_name": "visible", + "parent_name": "isosurface", + "edit_type": "calc", "values": [ - "normal", - "italic" + true, + false, + "legendonly" ] }, "superclass": "EnumeratedValidator" }, - "icicle.textfont.sizesrc": { + "isosurface.valuehoverformat": { "params": { - "plotly_name": "sizesrc", - "parent_name": "icicle.textfont", - "edit_type": "none" + "plotly_name": "valuehoverformat", + "parent_name": "isosurface", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "icicle.textfont.size": { + "isosurface.value": { "params": { - "plotly_name": "size", - "parent_name": "icicle.textfont", - "array_ok": true, - "edit_type": "plot", - "min": 1 + "plotly_name": "value", + "parent_name": "isosurface", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "icicle.textfont.shadowsrc": { + "isosurface.uirevision": { "params": { - "plotly_name": "shadowsrc", - "parent_name": "icicle.textfont", + "plotly_name": "uirevision", + "parent_name": "isosurface", "edit_type": "none" }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "icicle.textfont.shadow": { + "isosurface.uid": { "params": { - "plotly_name": "shadow", - "parent_name": "icicle.textfont", - "array_ok": true, + "plotly_name": "uid", + "parent_name": "isosurface", "edit_type": "plot" }, "superclass": "StringValidator" }, - "icicle.textfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "icicle.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.textfont.lineposition": { + "isosurface.text": { "params": { - "plotly_name": "lineposition", - "parent_name": "icicle.textfont", + "plotly_name": "text", + "parent_name": "isosurface", "array_ok": true, - "edit_type": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] + "edit_type": "calc" }, - "superclass": "FlaglistValidator" + "superclass": "StringValidator" }, - "icicle.textfont.familysrc": { + "isosurface.surface": { "params": { - "plotly_name": "familysrc", - "parent_name": "icicle.textfont", - "edit_type": "none" + "plotly_name": "surface", + "parent_name": "isosurface", + "data_class_str": "Surface", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "icicle.textfont.family": { + "isosurface.surface.show": { "params": { - "plotly_name": "family", - "parent_name": "icicle.textfont", - "array_ok": true, - "edit_type": "plot", - "no_blank": true, - "strict": true + "plotly_name": "show", + "parent_name": "isosurface.surface", + "edit_type": "calc" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "icicle.textfont.colorsrc": { + "isosurface.surface.pattern": { "params": { - "plotly_name": "colorsrc", - "parent_name": "icicle.textfont", - "edit_type": "none" + "plotly_name": "pattern", + "parent_name": "isosurface.surface", + "edit_type": "calc", + "extras": [ + "all", + "odd", + "even" + ], + "flags": [ + "A", + "B", + "C", + "D", + "E" + ] }, - "superclass": "SrcValidator" + "superclass": "FlaglistValidator" }, - "icicle.textfont.color": { + "isosurface.surface.fill": { "params": { - "plotly_name": "color", - "parent_name": "icicle.textfont", - "array_ok": true, - "edit_type": "plot" + "plotly_name": "fill", + "parent_name": "isosurface.surface", + "edit_type": "calc", + "max": 1, + "min": 0 }, - "superclass": "ColorValidator" + "superclass": "NumberValidator" }, - "icicle.text": { + "isosurface.surface.count": { "params": { - "plotly_name": "text", - "parent_name": "icicle", - "edit_type": "plot" + "plotly_name": "count", + "parent_name": "isosurface.surface", + "edit_type": "calc", + "min": 1 }, - "superclass": "DataArrayValidator" + "superclass": "IntegerValidator" }, - "icicle.stream": { + "isosurface.spaceframe": { "params": { - "plotly_name": "stream", - "parent_name": "icicle", - "data_class_str": "Stream", + "plotly_name": "spaceframe", + "parent_name": "isosurface", + "data_class_str": "Spaceframe", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "icicle.stream.token": { + "isosurface.spaceframe.show": { "params": { - "plotly_name": "token", - "parent_name": "icicle.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true + "plotly_name": "show", + "parent_name": "isosurface.spaceframe", + "edit_type": "calc" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "icicle.stream.maxpoints": { + "isosurface.spaceframe.fill": { "params": { - "plotly_name": "maxpoints", - "parent_name": "icicle.stream", + "plotly_name": "fill", + "parent_name": "isosurface.spaceframe", "edit_type": "calc", - "max": 10000, + "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "icicle.sort": { + "isosurface.slices": { "params": { - "plotly_name": "sort", - "parent_name": "icicle", - "edit_type": "calc" + "plotly_name": "slices", + "parent_name": "isosurface", + "data_class_str": "Slices", + "data_docs": "\n" }, - "superclass": "BooleanValidator" + "superclass": "CompoundValidator" }, - "icicle.root": { + "isosurface.slices.z": { "params": { - "plotly_name": "root", - "parent_name": "icicle", - "data_class_str": "Root", + "plotly_name": "z", + "parent_name": "isosurface.slices", + "data_class_str": "Z", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "icicle.root.color": { + "isosurface.slices.z.show": { "params": { - "plotly_name": "color", - "parent_name": "icicle.root", + "plotly_name": "show", + "parent_name": "isosurface.slices.z", "edit_type": "calc" }, - "superclass": "ColorValidator" + "superclass": "BooleanValidator" }, - "icicle.pathbar": { + "isosurface.slices.z.locations": { "params": { - "plotly_name": "pathbar", - "parent_name": "icicle", - "data_class_str": "Pathbar", + "plotly_name": "locations", + "parent_name": "isosurface.slices.z", + "edit_type": "calc" + }, + "superclass": "DataArrayValidator" + }, + "isosurface.slices.z.fill": { + "params": { + "plotly_name": "fill", + "parent_name": "isosurface.slices.z", + "edit_type": "calc", + "max": 1, + "min": 0 + }, + "superclass": "NumberValidator" + }, + "isosurface.slices.y": { + "params": { + "plotly_name": "y", + "parent_name": "isosurface.slices", + "data_class_str": "Y", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "icicle.pathbar.visible": { + "isosurface.slices.y.show": { "params": { - "plotly_name": "visible", - "parent_name": "icicle.pathbar", - "edit_type": "plot" + "plotly_name": "show", + "parent_name": "isosurface.slices.y", + "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "icicle.pathbar.thickness": { + "isosurface.slices.y.locations": { "params": { - "plotly_name": "thickness", - "parent_name": "icicle.pathbar", - "edit_type": "plot", - "min": 12 + "plotly_name": "locations", + "parent_name": "isosurface.slices.y", + "edit_type": "calc" + }, + "superclass": "DataArrayValidator" + }, + "isosurface.slices.y.fill": { + "params": { + "plotly_name": "fill", + "parent_name": "isosurface.slices.y", + "edit_type": "calc", + "max": 1, + "min": 0 }, "superclass": "NumberValidator" }, - "icicle.pathbar.textfont": { + "isosurface.slices.x": { "params": { - "plotly_name": "textfont", - "parent_name": "icicle.pathbar", - "data_class_str": "Textfont", + "plotly_name": "x", + "parent_name": "isosurface.slices", + "data_class_str": "X", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "icicle.pathbar.textfont.weightsrc": { + "isosurface.slices.x.show": { "params": { - "plotly_name": "weightsrc", - "parent_name": "icicle.pathbar.textfont", - "edit_type": "none" + "plotly_name": "show", + "parent_name": "isosurface.slices.x", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "icicle.pathbar.textfont.weight": { + "isosurface.slices.x.locations": { "params": { - "plotly_name": "weight", - "parent_name": "icicle.pathbar.textfont", - "array_ok": true, - "edit_type": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 + "plotly_name": "locations", + "parent_name": "isosurface.slices.x", + "edit_type": "calc" }, - "superclass": "IntegerValidator" + "superclass": "DataArrayValidator" }, - "icicle.pathbar.textfont.variantsrc": { + "isosurface.slices.x.fill": { "params": { - "plotly_name": "variantsrc", - "parent_name": "icicle.pathbar.textfont", - "edit_type": "none" + "plotly_name": "fill", + "parent_name": "isosurface.slices.x", + "edit_type": "calc", + "max": 1, + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "icicle.pathbar.textfont.variant": { + "isosurface.showscale": { "params": { - "plotly_name": "variant", - "parent_name": "icicle.pathbar.textfont", - "array_ok": true, - "edit_type": "plot", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] + "plotly_name": "showscale", + "parent_name": "isosurface", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "BooleanValidator" }, - "icicle.pathbar.textfont.textcasesrc": { + "isosurface.showlegend": { "params": { - "plotly_name": "textcasesrc", - "parent_name": "icicle.pathbar.textfont", - "edit_type": "none" + "plotly_name": "showlegend", + "parent_name": "isosurface", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "icicle.pathbar.textfont.textcase": { + "isosurface.scene": { "params": { - "plotly_name": "textcase", - "parent_name": "icicle.pathbar.textfont", - "array_ok": true, - "edit_type": "plot", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] + "plotly_name": "scene", + "parent_name": "isosurface", + "dflt": "scene", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "EnumeratedValidator" + "superclass": "SubplotidValidator" }, - "icicle.pathbar.textfont.stylesrc": { + "isosurface.reversescale": { "params": { - "plotly_name": "stylesrc", - "parent_name": "icicle.pathbar.textfont", - "edit_type": "none" + "plotly_name": "reversescale", + "parent_name": "isosurface", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "icicle.pathbar.textfont.style": { + "isosurface.opacity": { "params": { - "plotly_name": "style", - "parent_name": "icicle.pathbar.textfont", - "array_ok": true, - "edit_type": "plot", - "values": [ - "normal", - "italic" - ] + "plotly_name": "opacity", + "parent_name": "isosurface", + "edit_type": "calc", + "max": 1, + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "icicle.pathbar.textfont.sizesrc": { + "isosurface.name": { "params": { - "plotly_name": "sizesrc", - "parent_name": "icicle.pathbar.textfont", - "edit_type": "none" + "plotly_name": "name", + "parent_name": "isosurface", + "edit_type": "style" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "icicle.pathbar.textfont.size": { + "isosurface.meta": { "params": { - "plotly_name": "size", - "parent_name": "icicle.pathbar.textfont", + "plotly_name": "meta", + "parent_name": "isosurface", "array_ok": true, - "edit_type": "plot", - "min": 1 + "edit_type": "plot" + }, + "superclass": "AnyValidator" + }, + "isosurface.lightposition": { + "params": { + "plotly_name": "lightposition", + "parent_name": "isosurface", + "data_class_str": "Lightposition", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "isosurface.lightposition.z": { + "params": { + "plotly_name": "z", + "parent_name": "isosurface.lightposition", + "edit_type": "calc", + "max": 100000, + "min": -100000 }, "superclass": "NumberValidator" }, - "icicle.pathbar.textfont.shadowsrc": { + "isosurface.lightposition.y": { "params": { - "plotly_name": "shadowsrc", - "parent_name": "icicle.pathbar.textfont", - "edit_type": "none" + "plotly_name": "y", + "parent_name": "isosurface.lightposition", + "edit_type": "calc", + "max": 100000, + "min": -100000 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "icicle.pathbar.textfont.shadow": { + "isosurface.lightposition.x": { "params": { - "plotly_name": "shadow", - "parent_name": "icicle.pathbar.textfont", - "array_ok": true, - "edit_type": "plot" + "plotly_name": "x", + "parent_name": "isosurface.lightposition", + "edit_type": "calc", + "max": 100000, + "min": -100000 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "icicle.pathbar.textfont.linepositionsrc": { + "isosurface.lighting": { "params": { - "plotly_name": "linepositionsrc", - "parent_name": "icicle.pathbar.textfont", - "edit_type": "none" + "plotly_name": "lighting", + "parent_name": "isosurface", + "data_class_str": "Lighting", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "icicle.pathbar.textfont.lineposition": { + "isosurface.lighting.vertexnormalsepsilon": { "params": { - "plotly_name": "lineposition", - "parent_name": "icicle.pathbar.textfont", - "array_ok": true, - "edit_type": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] + "plotly_name": "vertexnormalsepsilon", + "parent_name": "isosurface.lighting", + "edit_type": "calc", + "max": 1, + "min": 0 }, - "superclass": "FlaglistValidator" + "superclass": "NumberValidator" }, - "icicle.pathbar.textfont.familysrc": { + "isosurface.lighting.specular": { "params": { - "plotly_name": "familysrc", - "parent_name": "icicle.pathbar.textfont", - "edit_type": "none" + "plotly_name": "specular", + "parent_name": "isosurface.lighting", + "edit_type": "calc", + "max": 2, + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "icicle.pathbar.textfont.family": { + "isosurface.lighting.roughness": { "params": { - "plotly_name": "family", - "parent_name": "icicle.pathbar.textfont", - "array_ok": true, - "edit_type": "plot", - "no_blank": true, - "strict": true + "plotly_name": "roughness", + "parent_name": "isosurface.lighting", + "edit_type": "calc", + "max": 1, + "min": 0 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "icicle.pathbar.textfont.colorsrc": { + "isosurface.lighting.fresnel": { "params": { - "plotly_name": "colorsrc", - "parent_name": "icicle.pathbar.textfont", - "edit_type": "none" + "plotly_name": "fresnel", + "parent_name": "isosurface.lighting", + "edit_type": "calc", + "max": 5, + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "icicle.pathbar.textfont.color": { + "isosurface.lighting.facenormalsepsilon": { "params": { - "plotly_name": "color", - "parent_name": "icicle.pathbar.textfont", - "array_ok": true, - "edit_type": "plot" + "plotly_name": "facenormalsepsilon", + "parent_name": "isosurface.lighting", + "edit_type": "calc", + "max": 1, + "min": 0 }, - "superclass": "ColorValidator" + "superclass": "NumberValidator" }, - "icicle.pathbar.side": { + "isosurface.lighting.diffuse": { "params": { - "plotly_name": "side", - "parent_name": "icicle.pathbar", - "edit_type": "plot", - "values": [ - "top", - "bottom" - ] + "plotly_name": "diffuse", + "parent_name": "isosurface.lighting", + "edit_type": "calc", + "max": 1, + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "icicle.pathbar.edgeshape": { + "isosurface.lighting.ambient": { "params": { - "plotly_name": "edgeshape", - "parent_name": "icicle.pathbar", - "edit_type": "plot", - "values": [ - ">", - "<", - "|", - "/", - "\\" - ] + "plotly_name": "ambient", + "parent_name": "isosurface.lighting", + "edit_type": "calc", + "max": 1, + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "icicle.parentssrc": { + "isosurface.legendwidth": { "params": { - "plotly_name": "parentssrc", - "parent_name": "icicle", - "edit_type": "none" + "plotly_name": "legendwidth", + "parent_name": "isosurface", + "edit_type": "style", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "icicle.parents": { + "isosurface.legendrank": { "params": { - "plotly_name": "parents", - "parent_name": "icicle", - "edit_type": "calc" + "plotly_name": "legendrank", + "parent_name": "isosurface", + "edit_type": "style" }, - "superclass": "DataArrayValidator" + "superclass": "NumberValidator" }, - "icicle.outsidetextfont": { + "isosurface.legendgrouptitle": { "params": { - "plotly_name": "outsidetextfont", - "parent_name": "icicle", - "data_class_str": "Outsidetextfont", + "plotly_name": "legendgrouptitle", + "parent_name": "isosurface", + "data_class_str": "Legendgrouptitle", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "icicle.outsidetextfont.weightsrc": { + "isosurface.legendgrouptitle.text": { "params": { - "plotly_name": "weightsrc", - "parent_name": "icicle.outsidetextfont", - "edit_type": "none" + "plotly_name": "text", + "parent_name": "isosurface.legendgrouptitle", + "edit_type": "style" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "icicle.outsidetextfont.weight": { + "isosurface.legendgrouptitle.font": { + "params": { + "plotly_name": "font", + "parent_name": "isosurface.legendgrouptitle", + "data_class_str": "Font", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "isosurface.legendgrouptitle.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "icicle.outsidetextfont", - "array_ok": true, - "edit_type": "plot", + "parent_name": "isosurface.legendgrouptitle.font", + "edit_type": "style", "extras": [ "normal", "bold" @@ -89718,20 +74706,11 @@ }, "superclass": "IntegerValidator" }, - "icicle.outsidetextfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "icicle.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.outsidetextfont.variant": { + "isosurface.legendgrouptitle.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "icicle.outsidetextfont", - "array_ok": true, - "edit_type": "plot", + "parent_name": "isosurface.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "small-caps", @@ -89743,20 +74722,11 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.outsidetextfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "icicle.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.outsidetextfont.textcase": { + "isosurface.legendgrouptitle.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "icicle.outsidetextfont", - "array_ok": true, - "edit_type": "plot", + "parent_name": "isosurface.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "word caps", @@ -89766,20 +74736,11 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.outsidetextfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "icicle.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.outsidetextfont.style": { + "isosurface.legendgrouptitle.font.style": { "params": { "plotly_name": "style", - "parent_name": "icicle.outsidetextfont", - "array_ok": true, - "edit_type": "plot", + "parent_name": "isosurface.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "italic" @@ -89787,55 +74748,28 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.outsidetextfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "icicle.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.outsidetextfont.size": { + "isosurface.legendgrouptitle.font.size": { "params": { "plotly_name": "size", - "parent_name": "icicle.outsidetextfont", - "array_ok": true, - "edit_type": "plot", + "parent_name": "isosurface.legendgrouptitle.font", + "edit_type": "style", "min": 1 }, "superclass": "NumberValidator" }, - "icicle.outsidetextfont.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "icicle.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.outsidetextfont.shadow": { + "isosurface.legendgrouptitle.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "icicle.outsidetextfont", - "array_ok": true, - "edit_type": "plot" + "parent_name": "isosurface.legendgrouptitle.font", + "edit_type": "style" }, "superclass": "StringValidator" }, - "icicle.outsidetextfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "icicle.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.outsidetextfont.lineposition": { + "isosurface.legendgrouptitle.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "icicle.outsidetextfont", - "array_ok": true, - "edit_type": "plot", + "parent_name": "isosurface.legendgrouptitle.font", + "edit_type": "style", "extras": [ "none" ], @@ -89847,312 +74781,351 @@ }, "superclass": "FlaglistValidator" }, - "icicle.outsidetextfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "icicle.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.outsidetextfont.family": { + "isosurface.legendgrouptitle.font.family": { "params": { "plotly_name": "family", - "parent_name": "icicle.outsidetextfont", - "array_ok": true, - "edit_type": "plot", + "parent_name": "isosurface.legendgrouptitle.font", + "edit_type": "style", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "icicle.outsidetextfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "icicle.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.outsidetextfont.color": { + "isosurface.legendgrouptitle.font.color": { "params": { "plotly_name": "color", - "parent_name": "icicle.outsidetextfont", - "array_ok": true, - "edit_type": "plot" + "parent_name": "isosurface.legendgrouptitle.font", + "edit_type": "style" }, "superclass": "ColorValidator" }, - "icicle.opacity": { + "isosurface.legendgroup": { "params": { - "plotly_name": "opacity", - "parent_name": "icicle", - "edit_type": "style", - "max": 1, - "min": 0 + "plotly_name": "legendgroup", + "parent_name": "isosurface", + "edit_type": "style" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "icicle.name": { + "isosurface.legend": { "params": { - "plotly_name": "name", - "parent_name": "icicle", + "plotly_name": "legend", + "parent_name": "isosurface", + "dflt": "legend", "edit_type": "style" }, - "superclass": "StringValidator" + "superclass": "SubplotidValidator" }, - "icicle.metasrc": { + "isosurface.isomin": { "params": { - "plotly_name": "metasrc", - "parent_name": "icicle", - "edit_type": "none" + "plotly_name": "isomin", + "parent_name": "isosurface", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "icicle.meta": { + "isosurface.isomax": { "params": { - "plotly_name": "meta", - "parent_name": "icicle", - "array_ok": true, - "edit_type": "plot" + "plotly_name": "isomax", + "parent_name": "isosurface", + "edit_type": "calc" }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "icicle.maxdepth": { + "isosurface.ids": { "params": { - "plotly_name": "maxdepth", - "parent_name": "icicle", - "edit_type": "plot" + "plotly_name": "ids", + "parent_name": "isosurface", + "edit_type": "calc" }, - "superclass": "IntegerValidator" + "superclass": "DataArrayValidator" }, - "icicle.marker": { + "isosurface.hovertext": { "params": { - "plotly_name": "marker", - "parent_name": "icicle", - "data_class_str": "Marker", - "data_docs": "\n" + "plotly_name": "hovertext", + "parent_name": "isosurface", + "array_ok": true, + "edit_type": "calc" }, - "superclass": "CompoundValidator" + "superclass": "StringValidator" }, - "icicle.marker.showscale": { + "isosurface.hovertemplatefallback": { "params": { - "plotly_name": "showscale", - "parent_name": "icicle.marker", + "plotly_name": "hovertemplatefallback", + "parent_name": "isosurface", "edit_type": "calc" }, - "superclass": "BooleanValidator" + "superclass": "AnyValidator" }, - "icicle.marker.reversescale": { + "isosurface.hovertemplate": { "params": { - "plotly_name": "reversescale", - "parent_name": "icicle.marker", - "edit_type": "plot" + "plotly_name": "hovertemplate", + "parent_name": "isosurface", + "array_ok": true, + "edit_type": "calc" }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "icicle.marker.pattern": { + "isosurface.hoverlabel": { "params": { - "plotly_name": "pattern", - "parent_name": "icicle.marker", - "data_class_str": "Pattern", + "plotly_name": "hoverlabel", + "parent_name": "isosurface", + "data_class_str": "Hoverlabel", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "icicle.marker.pattern.soliditysrc": { + "isosurface.hoverlabel.showarrow": { "params": { - "plotly_name": "soliditysrc", - "parent_name": "icicle.marker.pattern", + "plotly_name": "showarrow", + "parent_name": "isosurface.hoverlabel", "edit_type": "none" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "icicle.marker.pattern.solidity": { + "isosurface.hoverlabel.namelength": { "params": { - "plotly_name": "solidity", - "parent_name": "icicle.marker.pattern", + "plotly_name": "namelength", + "parent_name": "isosurface.hoverlabel", "array_ok": true, - "edit_type": "style", - "max": 1, - "min": 0 + "edit_type": "none", + "min": -1 }, - "superclass": "NumberValidator" + "superclass": "IntegerValidator" }, - "icicle.marker.pattern.sizesrc": { + "isosurface.hoverlabel.font": { "params": { - "plotly_name": "sizesrc", - "parent_name": "icicle.marker.pattern", - "edit_type": "none" + "plotly_name": "font", + "parent_name": "isosurface.hoverlabel", + "data_class_str": "Font", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "icicle.marker.pattern.size": { + "isosurface.hoverlabel.font.weight": { "params": { - "plotly_name": "size", - "parent_name": "icicle.marker.pattern", + "plotly_name": "weight", + "parent_name": "isosurface.hoverlabel.font", "array_ok": true, - "edit_type": "style", - "min": 0 + "edit_type": "none", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "NumberValidator" + "superclass": "IntegerValidator" }, - "icicle.marker.pattern.shapesrc": { + "isosurface.hoverlabel.font.variant": { "params": { - "plotly_name": "shapesrc", - "parent_name": "icicle.marker.pattern", - "edit_type": "none" + "plotly_name": "variant", + "parent_name": "isosurface.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "icicle.marker.pattern.shape": { + "isosurface.hoverlabel.font.textcase": { "params": { - "plotly_name": "shape", - "parent_name": "icicle.marker.pattern", + "plotly_name": "textcase", + "parent_name": "isosurface.hoverlabel.font", "array_ok": true, - "edit_type": "style", + "edit_type": "none", "values": [ - "", - "/", - "\\", - "x", - "-", - "|", - "+", - "." + "normal", + "word caps", + "upper", + "lower" ] }, "superclass": "EnumeratedValidator" }, - "icicle.marker.pattern.pathsrc": { + "isosurface.hoverlabel.font.style": { "params": { - "plotly_name": "pathsrc", - "parent_name": "icicle.marker.pattern", - "edit_type": "none" + "plotly_name": "style", + "parent_name": "isosurface.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "values": [ + "normal", + "italic" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "icicle.marker.pattern.path": { + "isosurface.hoverlabel.font.size": { "params": { - "plotly_name": "path", - "parent_name": "icicle.marker.pattern", + "plotly_name": "size", + "parent_name": "isosurface.hoverlabel.font", "array_ok": true, - "edit_type": "style" + "edit_type": "none", + "min": 1 + }, + "superclass": "NumberValidator" + }, + "isosurface.hoverlabel.font.shadow": { + "params": { + "plotly_name": "shadow", + "parent_name": "isosurface.hoverlabel.font", + "array_ok": true, + "edit_type": "none" }, "superclass": "StringValidator" }, - "icicle.marker.pattern.fillmode": { + "isosurface.hoverlabel.font.lineposition": { "params": { - "plotly_name": "fillmode", - "parent_name": "icicle.marker.pattern", - "edit_type": "style", - "values": [ - "replace", - "overlay" + "plotly_name": "lineposition", + "parent_name": "isosurface.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" ] }, - "superclass": "EnumeratedValidator" + "superclass": "FlaglistValidator" }, - "icicle.marker.pattern.fgopacity": { + "isosurface.hoverlabel.font.family": { "params": { - "plotly_name": "fgopacity", - "parent_name": "icicle.marker.pattern", - "edit_type": "style", - "max": 1, - "min": 0 + "plotly_name": "family", + "parent_name": "isosurface.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "no_blank": true, + "strict": true }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "icicle.marker.pattern.fgcolorsrc": { + "isosurface.hoverlabel.font.color": { "params": { - "plotly_name": "fgcolorsrc", - "parent_name": "icicle.marker.pattern", + "plotly_name": "color", + "parent_name": "isosurface.hoverlabel.font", + "array_ok": true, "edit_type": "none" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "icicle.marker.pattern.fgcolor": { + "isosurface.hoverlabel.bordercolor": { "params": { - "plotly_name": "fgcolor", - "parent_name": "icicle.marker.pattern", + "plotly_name": "bordercolor", + "parent_name": "isosurface.hoverlabel", "array_ok": true, - "edit_type": "style" + "edit_type": "none" }, "superclass": "ColorValidator" }, - "icicle.marker.pattern.bgcolorsrc": { + "isosurface.hoverlabel.bgcolor": { "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "icicle.marker.pattern", + "plotly_name": "bgcolor", + "parent_name": "isosurface.hoverlabel", + "array_ok": true, "edit_type": "none" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "icicle.marker.pattern.bgcolor": { + "isosurface.hoverlabel.align": { "params": { - "plotly_name": "bgcolor", - "parent_name": "icicle.marker.pattern", + "plotly_name": "align", + "parent_name": "isosurface.hoverlabel", "array_ok": true, - "edit_type": "style" + "edit_type": "none", + "values": [ + "left", + "right", + "auto" + ] }, - "superclass": "ColorValidator" + "superclass": "EnumeratedValidator" }, - "icicle.marker.line": { + "isosurface.hoverinfo": { "params": { - "plotly_name": "line", - "parent_name": "icicle.marker", - "data_class_str": "Line", - "data_docs": "\n" + "plotly_name": "hoverinfo", + "parent_name": "isosurface", + "array_ok": true, + "edit_type": "calc", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ] }, - "superclass": "CompoundValidator" + "superclass": "FlaglistValidator" }, - "icicle.marker.line.widthsrc": { + "isosurface.flatshading": { "params": { - "plotly_name": "widthsrc", - "parent_name": "icicle.marker.line", - "edit_type": "none" + "plotly_name": "flatshading", + "parent_name": "isosurface", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "icicle.marker.line.width": { + "isosurface.customdata": { + "params": { + "plotly_name": "customdata", + "parent_name": "isosurface", + "edit_type": "calc" + }, + "superclass": "DataArrayValidator" + }, + "isosurface.contour": { + "params": { + "plotly_name": "contour", + "parent_name": "isosurface", + "data_class_str": "Contour", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "isosurface.contour.width": { "params": { "plotly_name": "width", - "parent_name": "icicle.marker.line", - "array_ok": true, - "edit_type": "style", - "min": 0 + "parent_name": "isosurface.contour", + "edit_type": "calc", + "max": 16, + "min": 1 }, "superclass": "NumberValidator" }, - "icicle.marker.line.colorsrc": { + "isosurface.contour.show": { "params": { - "plotly_name": "colorsrc", - "parent_name": "icicle.marker.line", - "edit_type": "none" + "plotly_name": "show", + "parent_name": "isosurface.contour", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "icicle.marker.line.color": { + "isosurface.contour.color": { "params": { "plotly_name": "color", - "parent_name": "icicle.marker.line", - "array_ok": true, - "edit_type": "style" + "parent_name": "isosurface.contour", + "edit_type": "calc" }, "superclass": "ColorValidator" }, - "icicle.marker.colorssrc": { - "params": { - "plotly_name": "colorssrc", - "parent_name": "icicle.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.marker.colorscale": { + "isosurface.colorscale": { "params": { "plotly_name": "colorscale", - "parent_name": "icicle.marker", + "parent_name": "isosurface", "edit_type": "calc", "implied_edits": { "autocolorscale": false @@ -90160,28 +75133,20 @@ }, "superclass": "ColorscaleValidator" }, - "icicle.marker.colors": { - "params": { - "plotly_name": "colors", - "parent_name": "icicle.marker", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "icicle.marker.colorbar": { + "isosurface.colorbar": { "params": { "plotly_name": "colorbar", - "parent_name": "icicle.marker", + "parent_name": "isosurface", "data_class_str": "ColorBar", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "icicle.marker.colorbar.yref": { + "isosurface.colorbar.yref": { "params": { "plotly_name": "yref", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", "values": [ "container", "paper" @@ -90189,20 +75154,20 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.marker.colorbar.ypad": { + "isosurface.colorbar.ypad": { "params": { "plotly_name": "ypad", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "icicle.marker.colorbar.yanchor": { + "isosurface.colorbar.yanchor": { "params": { "plotly_name": "yanchor", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", "values": [ "top", "middle", @@ -90211,19 +75176,19 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.marker.colorbar.y": { + "isosurface.colorbar.y": { "params": { "plotly_name": "y", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars" + "parent_name": "isosurface.colorbar", + "edit_type": "calc" }, "superclass": "NumberValidator" }, - "icicle.marker.colorbar.xref": { + "isosurface.colorbar.xref": { "params": { "plotly_name": "xref", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", "values": [ "container", "paper" @@ -90231,20 +75196,20 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.marker.colorbar.xpad": { + "isosurface.colorbar.xpad": { "params": { "plotly_name": "xpad", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "icicle.marker.colorbar.xanchor": { + "isosurface.colorbar.xanchor": { "params": { "plotly_name": "xanchor", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", "values": [ "left", "center", @@ -90253,36 +75218,36 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.marker.colorbar.x": { + "isosurface.colorbar.x": { "params": { "plotly_name": "x", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars" + "parent_name": "isosurface.colorbar", + "edit_type": "calc" }, "superclass": "NumberValidator" }, - "icicle.marker.colorbar.title": { + "isosurface.colorbar.title": { "params": { "plotly_name": "title", - "parent_name": "icicle.marker.colorbar", + "parent_name": "isosurface.colorbar", "data_class_str": "Title", "data_docs": "\n" }, "superclass": "TitleValidator" }, - "icicle.marker.colorbar.title.text": { + "isosurface.colorbar.title.text": { "params": { "plotly_name": "text", - "parent_name": "icicle.marker.colorbar.title", - "edit_type": "colorbars" + "parent_name": "isosurface.colorbar.title", + "edit_type": "calc" }, "superclass": "StringValidator" }, - "icicle.marker.colorbar.title.side": { + "isosurface.colorbar.title.side": { "params": { "plotly_name": "side", - "parent_name": "icicle.marker.colorbar.title", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar.title", + "edit_type": "calc", "values": [ "right", "top", @@ -90291,20 +75256,20 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.marker.colorbar.title.font": { + "isosurface.colorbar.title.font": { "params": { "plotly_name": "font", - "parent_name": "icicle.marker.colorbar.title", + "parent_name": "isosurface.colorbar.title", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "icicle.marker.colorbar.title.font.weight": { + "isosurface.colorbar.title.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "icicle.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar.title.font", + "edit_type": "calc", "extras": [ "normal", "bold" @@ -90314,11 +75279,11 @@ }, "superclass": "IntegerValidator" }, - "icicle.marker.colorbar.title.font.variant": { + "isosurface.colorbar.title.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "icicle.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar.title.font", + "edit_type": "calc", "values": [ "normal", "small-caps", @@ -90330,11 +75295,11 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.marker.colorbar.title.font.textcase": { + "isosurface.colorbar.title.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "icicle.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar.title.font", + "edit_type": "calc", "values": [ "normal", "word caps", @@ -90344,11 +75309,11 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.marker.colorbar.title.font.style": { + "isosurface.colorbar.title.font.style": { "params": { "plotly_name": "style", - "parent_name": "icicle.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar.title.font", + "edit_type": "calc", "values": [ "normal", "italic" @@ -90356,28 +75321,28 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.marker.colorbar.title.font.size": { + "isosurface.colorbar.title.font.size": { "params": { "plotly_name": "size", - "parent_name": "icicle.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar.title.font", + "edit_type": "calc", "min": 1 }, "superclass": "NumberValidator" }, - "icicle.marker.colorbar.title.font.shadow": { + "isosurface.colorbar.title.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "icicle.marker.colorbar.title.font", - "edit_type": "colorbars" + "parent_name": "isosurface.colorbar.title.font", + "edit_type": "calc" }, "superclass": "StringValidator" }, - "icicle.marker.colorbar.title.font.lineposition": { + "isosurface.colorbar.title.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "icicle.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar.title.font", + "edit_type": "calc", "extras": [ "none" ], @@ -90389,78 +75354,62 @@ }, "superclass": "FlaglistValidator" }, - "icicle.marker.colorbar.title.font.family": { + "isosurface.colorbar.title.font.family": { "params": { "plotly_name": "family", - "parent_name": "icicle.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar.title.font", + "edit_type": "calc", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "icicle.marker.colorbar.title.font.color": { + "isosurface.colorbar.title.font.color": { "params": { "plotly_name": "color", - "parent_name": "icicle.marker.colorbar.title.font", - "edit_type": "colorbars" + "parent_name": "isosurface.colorbar.title.font", + "edit_type": "calc" }, "superclass": "ColorValidator" }, - "icicle.marker.colorbar.tickwidth": { + "isosurface.colorbar.tickwidth": { "params": { "plotly_name": "tickwidth", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "icicle.marker.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "icicle.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.marker.colorbar.tickvals": { + "isosurface.colorbar.tickvals": { "params": { "plotly_name": "tickvals", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars" + "parent_name": "isosurface.colorbar", + "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "icicle.marker.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "icicle.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.marker.colorbar.ticktext": { + "isosurface.colorbar.ticktext": { "params": { "plotly_name": "ticktext", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars" + "parent_name": "isosurface.colorbar", + "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "icicle.marker.colorbar.ticksuffix": { + "isosurface.colorbar.ticksuffix": { "params": { "plotly_name": "ticksuffix", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars" + "parent_name": "isosurface.colorbar", + "edit_type": "calc" }, "superclass": "StringValidator" }, - "icicle.marker.colorbar.ticks": { + "isosurface.colorbar.ticks": { "params": { "plotly_name": "ticks", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", "values": [ "outside", "inside", @@ -90469,19 +75418,19 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.marker.colorbar.tickprefix": { + "isosurface.colorbar.tickprefix": { "params": { "plotly_name": "tickprefix", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars" + "parent_name": "isosurface.colorbar", + "edit_type": "calc" }, "superclass": "StringValidator" }, - "icicle.marker.colorbar.tickmode": { + "isosurface.colorbar.tickmode": { "params": { "plotly_name": "tickmode", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", "implied_edits": {}, "values": [ "auto", @@ -90491,29 +75440,29 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.marker.colorbar.ticklen": { + "isosurface.colorbar.ticklen": { "params": { "plotly_name": "ticklen", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "icicle.marker.colorbar.ticklabelstep": { + "isosurface.colorbar.ticklabelstep": { "params": { "plotly_name": "ticklabelstep", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", "min": 1 }, "superclass": "IntegerValidator" }, - "icicle.marker.colorbar.ticklabelposition": { + "isosurface.colorbar.ticklabelposition": { "params": { "plotly_name": "ticklabelposition", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", "values": [ "outside", "inside", @@ -90529,11 +75478,11 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.marker.colorbar.ticklabeloverflow": { + "isosurface.colorbar.ticklabeloverflow": { "params": { "plotly_name": "ticklabeloverflow", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", "values": [ "allow", "hide past div", @@ -90542,96 +75491,96 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.marker.colorbar.tickformatstopdefaults": { + "isosurface.colorbar.tickformatstopdefaults": { "params": { "plotly_name": "tickformatstopdefaults", - "parent_name": "icicle.marker.colorbar", + "parent_name": "isosurface.colorbar", "data_class_str": "Tickformatstop", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "icicle.marker.colorbar.tickformatstops": { + "isosurface.colorbar.tickformatstops": { "params": { "plotly_name": "tickformatstops", - "parent_name": "icicle.marker.colorbar", + "parent_name": "isosurface.colorbar", "data_class_str": "Tickformatstop", "data_docs": "\n" }, "superclass": "CompoundArrayValidator" }, - "icicle.marker.colorbar.tickformatstop.value": { + "isosurface.colorbar.tickformatstop.value": { "params": { "plotly_name": "value", - "parent_name": "icicle.marker.colorbar.tickformatstop", - "edit_type": "colorbars" + "parent_name": "isosurface.colorbar.tickformatstop", + "edit_type": "calc" }, "superclass": "StringValidator" }, - "icicle.marker.colorbar.tickformatstop.templateitemname": { + "isosurface.colorbar.tickformatstop.templateitemname": { "params": { "plotly_name": "templateitemname", - "parent_name": "icicle.marker.colorbar.tickformatstop", - "edit_type": "colorbars" + "parent_name": "isosurface.colorbar.tickformatstop", + "edit_type": "calc" }, "superclass": "StringValidator" }, - "icicle.marker.colorbar.tickformatstop.name": { + "isosurface.colorbar.tickformatstop.name": { "params": { "plotly_name": "name", - "parent_name": "icicle.marker.colorbar.tickformatstop", - "edit_type": "colorbars" + "parent_name": "isosurface.colorbar.tickformatstop", + "edit_type": "calc" }, "superclass": "StringValidator" }, - "icicle.marker.colorbar.tickformatstop.enabled": { + "isosurface.colorbar.tickformatstop.enabled": { "params": { "plotly_name": "enabled", - "parent_name": "icicle.marker.colorbar.tickformatstop", - "edit_type": "colorbars" + "parent_name": "isosurface.colorbar.tickformatstop", + "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "icicle.marker.colorbar.tickformatstop.dtickrange": { + "isosurface.colorbar.tickformatstop.dtickrange": { "params": { "plotly_name": "dtickrange", - "parent_name": "icicle.marker.colorbar.tickformatstop", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar.tickformatstop", + "edit_type": "calc", "items": [ { - "editType": "colorbars", + "editType": "calc", "valType": "any" }, { - "editType": "colorbars", + "editType": "calc", "valType": "any" } ] }, "superclass": "InfoArrayValidator" }, - "icicle.marker.colorbar.tickformat": { + "isosurface.colorbar.tickformat": { "params": { "plotly_name": "tickformat", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars" + "parent_name": "isosurface.colorbar", + "edit_type": "calc" }, "superclass": "StringValidator" }, - "icicle.marker.colorbar.tickfont": { + "isosurface.colorbar.tickfont": { "params": { "plotly_name": "tickfont", - "parent_name": "icicle.marker.colorbar", + "parent_name": "isosurface.colorbar", "data_class_str": "Tickfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "icicle.marker.colorbar.tickfont.weight": { + "isosurface.colorbar.tickfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "icicle.marker.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar.tickfont", + "edit_type": "calc", "extras": [ "normal", "bold" @@ -90641,11 +75590,11 @@ }, "superclass": "IntegerValidator" }, - "icicle.marker.colorbar.tickfont.variant": { + "isosurface.colorbar.tickfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "icicle.marker.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar.tickfont", + "edit_type": "calc", "values": [ "normal", "small-caps", @@ -90657,11 +75606,11 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.marker.colorbar.tickfont.textcase": { + "isosurface.colorbar.tickfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "icicle.marker.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar.tickfont", + "edit_type": "calc", "values": [ "normal", "word caps", @@ -90671,11 +75620,11 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.marker.colorbar.tickfont.style": { + "isosurface.colorbar.tickfont.style": { "params": { "plotly_name": "style", - "parent_name": "icicle.marker.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar.tickfont", + "edit_type": "calc", "values": [ "normal", "italic" @@ -90683,28 +75632,28 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.marker.colorbar.tickfont.size": { + "isosurface.colorbar.tickfont.size": { "params": { "plotly_name": "size", - "parent_name": "icicle.marker.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar.tickfont", + "edit_type": "calc", "min": 1 }, "superclass": "NumberValidator" }, - "icicle.marker.colorbar.tickfont.shadow": { + "isosurface.colorbar.tickfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "icicle.marker.colorbar.tickfont", - "edit_type": "colorbars" + "parent_name": "isosurface.colorbar.tickfont", + "edit_type": "calc" }, "superclass": "StringValidator" }, - "icicle.marker.colorbar.tickfont.lineposition": { + "isosurface.colorbar.tickfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "icicle.marker.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar.tickfont", + "edit_type": "calc", "extras": [ "none" ], @@ -90716,56 +75665,56 @@ }, "superclass": "FlaglistValidator" }, - "icicle.marker.colorbar.tickfont.family": { + "isosurface.colorbar.tickfont.family": { "params": { "plotly_name": "family", - "parent_name": "icicle.marker.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar.tickfont", + "edit_type": "calc", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "icicle.marker.colorbar.tickfont.color": { + "isosurface.colorbar.tickfont.color": { "params": { "plotly_name": "color", - "parent_name": "icicle.marker.colorbar.tickfont", - "edit_type": "colorbars" + "parent_name": "isosurface.colorbar.tickfont", + "edit_type": "calc" }, "superclass": "ColorValidator" }, - "icicle.marker.colorbar.tickcolor": { + "isosurface.colorbar.tickcolor": { "params": { "plotly_name": "tickcolor", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars" + "parent_name": "isosurface.colorbar", + "edit_type": "calc" }, "superclass": "ColorValidator" }, - "icicle.marker.colorbar.tickangle": { + "isosurface.colorbar.tickangle": { "params": { "plotly_name": "tickangle", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars" + "parent_name": "isosurface.colorbar", + "edit_type": "calc" }, "superclass": "AngleValidator" }, - "icicle.marker.colorbar.tick0": { + "isosurface.colorbar.tick0": { "params": { "plotly_name": "tick0", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", "implied_edits": { "tickmode": "linear" } }, "superclass": "AnyValidator" }, - "icicle.marker.colorbar.thicknessmode": { + "isosurface.colorbar.thicknessmode": { "params": { "plotly_name": "thicknessmode", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", "values": [ "fraction", "pixels" @@ -90773,20 +75722,20 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.marker.colorbar.thickness": { + "isosurface.colorbar.thickness": { "params": { "plotly_name": "thickness", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "icicle.marker.colorbar.showticksuffix": { + "isosurface.colorbar.showticksuffix": { "params": { "plotly_name": "showticksuffix", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", "values": [ "all", "first", @@ -90796,11 +75745,11 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.marker.colorbar.showtickprefix": { + "isosurface.colorbar.showtickprefix": { "params": { "plotly_name": "showtickprefix", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", "values": [ "all", "first", @@ -90810,19 +75759,19 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.marker.colorbar.showticklabels": { + "isosurface.colorbar.showticklabels": { "params": { "plotly_name": "showticklabels", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars" + "parent_name": "isosurface.colorbar", + "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "icicle.marker.colorbar.showexponent": { + "isosurface.colorbar.showexponent": { "params": { "plotly_name": "showexponent", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", "values": [ "all", "first", @@ -90832,36 +75781,36 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.marker.colorbar.separatethousands": { + "isosurface.colorbar.separatethousands": { "params": { "plotly_name": "separatethousands", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars" + "parent_name": "isosurface.colorbar", + "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "icicle.marker.colorbar.outlinewidth": { + "isosurface.colorbar.outlinewidth": { "params": { "plotly_name": "outlinewidth", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "icicle.marker.colorbar.outlinecolor": { + "isosurface.colorbar.outlinecolor": { "params": { "plotly_name": "outlinecolor", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars" + "parent_name": "isosurface.colorbar", + "edit_type": "calc" }, "superclass": "ColorValidator" }, - "icicle.marker.colorbar.orientation": { + "isosurface.colorbar.orientation": { "params": { "plotly_name": "orientation", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", "values": [ "h", "v" @@ -90869,29 +75818,29 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.marker.colorbar.nticks": { + "isosurface.colorbar.nticks": { "params": { "plotly_name": "nticks", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", "min": 0 }, "superclass": "IntegerValidator" }, - "icicle.marker.colorbar.minexponent": { + "isosurface.colorbar.minexponent": { "params": { "plotly_name": "minexponent", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "icicle.marker.colorbar.lenmode": { + "isosurface.colorbar.lenmode": { "params": { "plotly_name": "lenmode", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", "values": [ "fraction", "pixels" @@ -90899,28 +75848,28 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.marker.colorbar.len": { + "isosurface.colorbar.len": { "params": { "plotly_name": "len", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", "min": 0 }, "superclass": "NumberValidator" }, - "icicle.marker.colorbar.labelalias": { + "isosurface.colorbar.labelalias": { "params": { "plotly_name": "labelalias", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars" + "parent_name": "isosurface.colorbar", + "edit_type": "calc" }, "superclass": "AnyValidator" }, - "icicle.marker.colorbar.exponentformat": { + "isosurface.colorbar.exponentformat": { "params": { "plotly_name": "exponentformat", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", "values": [ "none", "e", @@ -90931,160 +75880,272 @@ "SI extended" ] }, - "superclass": "EnumeratedValidator" + "superclass": "EnumeratedValidator" + }, + "isosurface.colorbar.dtick": { + "params": { + "plotly_name": "dtick", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", + "implied_edits": { + "tickmode": "linear" + } + }, + "superclass": "AnyValidator" + }, + "isosurface.colorbar.borderwidth": { + "params": { + "plotly_name": "borderwidth", + "parent_name": "isosurface.colorbar", + "edit_type": "calc", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "isosurface.colorbar.bordercolor": { + "params": { + "plotly_name": "bordercolor", + "parent_name": "isosurface.colorbar", + "edit_type": "calc" + }, + "superclass": "ColorValidator" + }, + "isosurface.colorbar.bgcolor": { + "params": { + "plotly_name": "bgcolor", + "parent_name": "isosurface.colorbar", + "edit_type": "calc" + }, + "superclass": "ColorValidator" + }, + "isosurface.coloraxis": { + "params": { + "plotly_name": "coloraxis", + "parent_name": "isosurface", + "dflt": null, + "edit_type": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" + }, + "superclass": "SubplotidValidator" + }, + "isosurface.cmin": { + "params": { + "plotly_name": "cmin", + "parent_name": "isosurface", + "edit_type": "calc", + "implied_edits": { + "cauto": false + } + }, + "superclass": "NumberValidator" + }, + "isosurface.cmid": { + "params": { + "plotly_name": "cmid", + "parent_name": "isosurface", + "edit_type": "calc", + "implied_edits": {} + }, + "superclass": "NumberValidator" + }, + "isosurface.cmax": { + "params": { + "plotly_name": "cmax", + "parent_name": "isosurface", + "edit_type": "calc", + "implied_edits": { + "cauto": false + } + }, + "superclass": "NumberValidator" + }, + "isosurface.cauto": { + "params": { + "plotly_name": "cauto", + "parent_name": "isosurface", + "edit_type": "calc", + "implied_edits": {} + }, + "superclass": "BooleanValidator" + }, + "isosurface.caps": { + "params": { + "plotly_name": "caps", + "parent_name": "isosurface", + "data_class_str": "Caps", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" }, - "icicle.marker.colorbar.dtick": { + "isosurface.caps.z": { "params": { - "plotly_name": "dtick", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", - "implied_edits": { - "tickmode": "linear" - } + "plotly_name": "z", + "parent_name": "isosurface.caps", + "data_class_str": "Z", + "data_docs": "\n" }, - "superclass": "AnyValidator" + "superclass": "CompoundValidator" }, - "icicle.marker.colorbar.borderwidth": { + "isosurface.caps.z.show": { "params": { - "plotly_name": "borderwidth", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars", + "plotly_name": "show", + "parent_name": "isosurface.caps.z", + "edit_type": "calc" + }, + "superclass": "BooleanValidator" + }, + "isosurface.caps.z.fill": { + "params": { + "plotly_name": "fill", + "parent_name": "isosurface.caps.z", + "edit_type": "calc", + "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "icicle.marker.colorbar.bordercolor": { + "isosurface.caps.y": { "params": { - "plotly_name": "bordercolor", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "y", + "parent_name": "isosurface.caps", + "data_class_str": "Y", + "data_docs": "\n" }, - "superclass": "ColorValidator" + "superclass": "CompoundValidator" }, - "icicle.marker.colorbar.bgcolor": { + "isosurface.caps.y.show": { "params": { - "plotly_name": "bgcolor", - "parent_name": "icicle.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "show", + "parent_name": "isosurface.caps.y", + "edit_type": "calc" }, - "superclass": "ColorValidator" + "superclass": "BooleanValidator" }, - "icicle.marker.coloraxis": { + "isosurface.caps.y.fill": { "params": { - "plotly_name": "coloraxis", - "parent_name": "icicle.marker", - "dflt": null, + "plotly_name": "fill", + "parent_name": "isosurface.caps.y", "edit_type": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" + "max": 1, + "min": 0 }, - "superclass": "SubplotidValidator" + "superclass": "NumberValidator" }, - "icicle.marker.cmin": { + "isosurface.caps.x": { "params": { - "plotly_name": "cmin", - "parent_name": "icicle.marker", - "edit_type": "plot", - "implied_edits": { - "cauto": false - } + "plotly_name": "x", + "parent_name": "isosurface.caps", + "data_class_str": "X", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "icicle.marker.cmid": { + "isosurface.caps.x.show": { "params": { - "plotly_name": "cmid", - "parent_name": "icicle.marker", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "show", + "parent_name": "isosurface.caps.x", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "icicle.marker.cmax": { + "isosurface.caps.x.fill": { "params": { - "plotly_name": "cmax", - "parent_name": "icicle.marker", - "edit_type": "plot", - "implied_edits": { - "cauto": false - } + "plotly_name": "fill", + "parent_name": "isosurface.caps.x", + "edit_type": "calc", + "max": 1, + "min": 0 }, "superclass": "NumberValidator" }, - "icicle.marker.cauto": { + "isosurface.autocolorscale": { "params": { - "plotly_name": "cauto", - "parent_name": "icicle.marker", + "plotly_name": "autocolorscale", + "parent_name": "isosurface", "edit_type": "calc", "implied_edits": {} }, "superclass": "BooleanValidator" }, - "icicle.marker.autocolorscale": { + "indicator": { "params": { - "plotly_name": "autocolorscale", - "parent_name": "icicle.marker", + "plotly_name": "indicator", + "parent_name": "", + "data_class_str": "Indicator", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "indicator.visible": { + "params": { + "plotly_name": "visible", + "parent_name": "indicator", "edit_type": "calc", - "implied_edits": {} + "values": [ + true, + false, + "legendonly" + ] }, - "superclass": "BooleanValidator" + "superclass": "EnumeratedValidator" }, - "icicle.level": { + "indicator.value": { "params": { - "plotly_name": "level", - "parent_name": "icicle", + "plotly_name": "value", + "parent_name": "indicator", "anim": true, - "edit_type": "plot" + "edit_type": "calc" }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "icicle.legendwidth": { + "indicator.uirevision": { "params": { - "plotly_name": "legendwidth", - "parent_name": "icicle", - "edit_type": "style", - "min": 0 + "plotly_name": "uirevision", + "parent_name": "indicator", + "edit_type": "none" }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "icicle.legendrank": { + "indicator.uid": { "params": { - "plotly_name": "legendrank", - "parent_name": "icicle", - "edit_type": "style" + "plotly_name": "uid", + "parent_name": "indicator", + "anim": true, + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "icicle.legendgrouptitle": { + "indicator.title": { "params": { - "plotly_name": "legendgrouptitle", - "parent_name": "icicle", - "data_class_str": "Legendgrouptitle", + "plotly_name": "title", + "parent_name": "indicator", + "data_class_str": "Title", "data_docs": "\n" }, - "superclass": "CompoundValidator" + "superclass": "TitleValidator" }, - "icicle.legendgrouptitle.text": { + "indicator.title.text": { "params": { "plotly_name": "text", - "parent_name": "icicle.legendgrouptitle", - "edit_type": "style" + "parent_name": "indicator.title", + "edit_type": "plot" }, "superclass": "StringValidator" }, - "icicle.legendgrouptitle.font": { + "indicator.title.font": { "params": { "plotly_name": "font", - "parent_name": "icicle.legendgrouptitle", + "parent_name": "indicator.title", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "icicle.legendgrouptitle.font.weight": { + "indicator.title.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "icicle.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "indicator.title.font", + "edit_type": "plot", "extras": [ "normal", "bold" @@ -91094,11 +76155,11 @@ }, "superclass": "IntegerValidator" }, - "icicle.legendgrouptitle.font.variant": { + "indicator.title.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "icicle.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "indicator.title.font", + "edit_type": "plot", "values": [ "normal", "small-caps", @@ -91110,11 +76171,11 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.legendgrouptitle.font.textcase": { + "indicator.title.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "icicle.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "indicator.title.font", + "edit_type": "plot", "values": [ "normal", "word caps", @@ -91124,11 +76185,11 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.legendgrouptitle.font.style": { + "indicator.title.font.style": { "params": { "plotly_name": "style", - "parent_name": "icicle.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "indicator.title.font", + "edit_type": "plot", "values": [ "normal", "italic" @@ -91136,28 +76197,28 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.legendgrouptitle.font.size": { + "indicator.title.font.size": { "params": { "plotly_name": "size", - "parent_name": "icicle.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "indicator.title.font", + "edit_type": "plot", "min": 1 }, "superclass": "NumberValidator" }, - "icicle.legendgrouptitle.font.shadow": { + "indicator.title.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "icicle.legendgrouptitle.font", - "edit_type": "style" + "parent_name": "indicator.title.font", + "edit_type": "plot" }, "superclass": "StringValidator" }, - "icicle.legendgrouptitle.font.lineposition": { + "indicator.title.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "icicle.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "indicator.title.font", + "edit_type": "plot", "extras": [ "none" ], @@ -91169,90 +76230,83 @@ }, "superclass": "FlaglistValidator" }, - "icicle.legendgrouptitle.font.family": { + "indicator.title.font.family": { "params": { "plotly_name": "family", - "parent_name": "icicle.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "indicator.title.font", + "edit_type": "plot", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "icicle.legendgrouptitle.font.color": { + "indicator.title.font.color": { "params": { "plotly_name": "color", - "parent_name": "icicle.legendgrouptitle.font", - "edit_type": "style" + "parent_name": "indicator.title.font", + "edit_type": "plot" }, "superclass": "ColorValidator" }, - "icicle.legend": { + "indicator.title.align": { "params": { - "plotly_name": "legend", - "parent_name": "icicle", - "dflt": "legend", - "edit_type": "style" + "plotly_name": "align", + "parent_name": "indicator.title", + "edit_type": "plot", + "values": [ + "left", + "center", + "right" + ] }, - "superclass": "SubplotidValidator" + "superclass": "EnumeratedValidator" }, - "icicle.leaf": { + "indicator.number": { "params": { - "plotly_name": "leaf", - "parent_name": "icicle", - "data_class_str": "Leaf", + "plotly_name": "number", + "parent_name": "indicator", + "data_class_str": "Number", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "icicle.leaf.opacity": { + "indicator.number.valueformat": { "params": { - "plotly_name": "opacity", - "parent_name": "icicle.leaf", - "edit_type": "style", - "max": 1, - "min": 0 + "plotly_name": "valueformat", + "parent_name": "indicator.number", + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "icicle.labelssrc": { + "indicator.number.suffix": { "params": { - "plotly_name": "labelssrc", - "parent_name": "icicle", - "edit_type": "none" + "plotly_name": "suffix", + "parent_name": "indicator.number", + "edit_type": "plot" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "icicle.labels": { + "indicator.number.prefix": { "params": { - "plotly_name": "labels", - "parent_name": "icicle", - "edit_type": "calc" + "plotly_name": "prefix", + "parent_name": "indicator.number", + "edit_type": "plot" }, - "superclass": "DataArrayValidator" + "superclass": "StringValidator" }, - "icicle.insidetextfont": { + "indicator.number.font": { "params": { - "plotly_name": "insidetextfont", - "parent_name": "icicle", - "data_class_str": "Insidetextfont", + "plotly_name": "font", + "parent_name": "indicator.number", + "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "icicle.insidetextfont.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "icicle.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.insidetextfont.weight": { + "indicator.number.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "icicle.insidetextfont", - "array_ok": true, + "parent_name": "indicator.number.font", "edit_type": "plot", "extras": [ "normal", @@ -91263,19 +76317,10 @@ }, "superclass": "IntegerValidator" }, - "icicle.insidetextfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "icicle.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.insidetextfont.variant": { + "indicator.number.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "icicle.insidetextfont", - "array_ok": true, + "parent_name": "indicator.number.font", "edit_type": "plot", "values": [ "normal", @@ -91288,19 +76333,10 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.insidetextfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "icicle.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.insidetextfont.textcase": { + "indicator.number.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "icicle.insidetextfont", - "array_ok": true, + "parent_name": "indicator.number.font", "edit_type": "plot", "values": [ "normal", @@ -91311,19 +76347,10 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.insidetextfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "icicle.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.insidetextfont.style": { + "indicator.number.font.style": { "params": { "plotly_name": "style", - "parent_name": "icicle.insidetextfont", - "array_ok": true, + "parent_name": "indicator.number.font", "edit_type": "plot", "values": [ "normal", @@ -91332,54 +76359,27 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.insidetextfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "icicle.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.insidetextfont.size": { + "indicator.number.font.size": { "params": { "plotly_name": "size", - "parent_name": "icicle.insidetextfont", - "array_ok": true, + "parent_name": "indicator.number.font", "edit_type": "plot", "min": 1 }, "superclass": "NumberValidator" }, - "icicle.insidetextfont.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "icicle.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.insidetextfont.shadow": { + "indicator.number.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "icicle.insidetextfont", - "array_ok": true, + "parent_name": "indicator.number.font", "edit_type": "plot" }, "superclass": "StringValidator" }, - "icicle.insidetextfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "icicle.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.insidetextfont.lineposition": { + "indicator.number.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "icicle.insidetextfont", - "array_ok": true, + "parent_name": "indicator.number.font", "edit_type": "plot", "extras": [ "none" @@ -91392,182 +76392,116 @@ }, "superclass": "FlaglistValidator" }, - "icicle.insidetextfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "icicle.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.insidetextfont.family": { + "indicator.number.font.family": { "params": { "plotly_name": "family", - "parent_name": "icicle.insidetextfont", - "array_ok": true, + "parent_name": "indicator.number.font", "edit_type": "plot", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "icicle.insidetextfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "icicle.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.insidetextfont.color": { + "indicator.number.font.color": { "params": { "plotly_name": "color", - "parent_name": "icicle.insidetextfont", - "array_ok": true, + "parent_name": "indicator.number.font", "edit_type": "plot" }, "superclass": "ColorValidator" }, - "icicle.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "icicle", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.ids": { - "params": { - "plotly_name": "ids", - "parent_name": "icicle", - "anim": true, - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "icicle.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "icicle", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.hovertext": { + "indicator.name": { "params": { - "plotly_name": "hovertext", - "parent_name": "icicle", - "array_ok": true, + "plotly_name": "name", + "parent_name": "indicator", "edit_type": "style" }, "superclass": "StringValidator" }, - "icicle.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "icicle", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.hovertemplatefallback": { + "indicator.mode": { "params": { - "plotly_name": "hovertemplatefallback", - "parent_name": "icicle", - "edit_type": "none" + "plotly_name": "mode", + "parent_name": "indicator", + "edit_type": "calc", + "flags": [ + "number", + "delta", + "gauge" + ] }, - "superclass": "AnyValidator" + "superclass": "FlaglistValidator" }, - "icicle.hovertemplate": { + "indicator.meta": { "params": { - "plotly_name": "hovertemplate", - "parent_name": "icicle", + "plotly_name": "meta", + "parent_name": "indicator", "array_ok": true, - "edit_type": "none" + "edit_type": "plot" }, - "superclass": "StringValidator" + "superclass": "AnyValidator" }, - "icicle.hoverlabel": { + "indicator.legendwidth": { "params": { - "plotly_name": "hoverlabel", - "parent_name": "icicle", - "data_class_str": "Hoverlabel", - "data_docs": "\n" + "plotly_name": "legendwidth", + "parent_name": "indicator", + "edit_type": "style", + "min": 0 }, - "superclass": "CompoundValidator" + "superclass": "NumberValidator" }, - "icicle.hoverlabel.showarrow": { + "indicator.legendrank": { "params": { - "plotly_name": "showarrow", - "parent_name": "icicle.hoverlabel", - "edit_type": "none" + "plotly_name": "legendrank", + "parent_name": "indicator", + "edit_type": "style" }, - "superclass": "BooleanValidator" + "superclass": "NumberValidator" }, - "icicle.hoverlabel.namelengthsrc": { + "indicator.legendgrouptitle": { "params": { - "plotly_name": "namelengthsrc", - "parent_name": "icicle.hoverlabel", - "edit_type": "none" + "plotly_name": "legendgrouptitle", + "parent_name": "indicator", + "data_class_str": "Legendgrouptitle", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "icicle.hoverlabel.namelength": { + "indicator.legendgrouptitle.text": { "params": { - "plotly_name": "namelength", - "parent_name": "icicle.hoverlabel", - "array_ok": true, - "edit_type": "none", - "min": -1 + "plotly_name": "text", + "parent_name": "indicator.legendgrouptitle", + "edit_type": "style" }, - "superclass": "IntegerValidator" + "superclass": "StringValidator" }, - "icicle.hoverlabel.font": { + "indicator.legendgrouptitle.font": { "params": { "plotly_name": "font", - "parent_name": "icicle.hoverlabel", + "parent_name": "indicator.legendgrouptitle", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "icicle.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "icicle.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.hoverlabel.font.weight": { + "indicator.legendgrouptitle.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "icicle.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "indicator.legendgrouptitle.font", + "edit_type": "style", "extras": [ "normal", "bold" ], "max": 1000, - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "icicle.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "icicle.hoverlabel.font", - "edit_type": "none" + "min": 1 }, - "superclass": "SrcValidator" + "superclass": "IntegerValidator" }, - "icicle.hoverlabel.font.variant": { + "indicator.legendgrouptitle.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "icicle.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "indicator.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "small-caps", @@ -91579,20 +76513,11 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "icicle.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.hoverlabel.font.textcase": { + "indicator.legendgrouptitle.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "icicle.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "indicator.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "word caps", @@ -91602,20 +76527,11 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "icicle.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.hoverlabel.font.style": { + "indicator.legendgrouptitle.font.style": { "params": { "plotly_name": "style", - "parent_name": "icicle.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "indicator.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "italic" @@ -91623,55 +76539,28 @@ }, "superclass": "EnumeratedValidator" }, - "icicle.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "icicle.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.hoverlabel.font.size": { + "indicator.legendgrouptitle.font.size": { "params": { "plotly_name": "size", - "parent_name": "icicle.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "indicator.legendgrouptitle.font", + "edit_type": "style", "min": 1 }, "superclass": "NumberValidator" }, - "icicle.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "icicle.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.hoverlabel.font.shadow": { + "indicator.legendgrouptitle.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "icicle.hoverlabel.font", - "array_ok": true, - "edit_type": "none" + "parent_name": "indicator.legendgrouptitle.font", + "edit_type": "style" }, "superclass": "StringValidator" }, - "icicle.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "icicle.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.hoverlabel.font.lineposition": { + "indicator.legendgrouptitle.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "icicle.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "indicator.legendgrouptitle.font", + "edit_type": "style", "extras": [ "none" ], @@ -91683,572 +76572,482 @@ }, "superclass": "FlaglistValidator" }, - "icicle.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "icicle.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "icicle.hoverlabel.font.family": { + "indicator.legendgrouptitle.font.family": { "params": { "plotly_name": "family", - "parent_name": "icicle.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "indicator.legendgrouptitle.font", + "edit_type": "style", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "icicle.hoverlabel.font.colorsrc": { + "indicator.legendgrouptitle.font.color": { "params": { - "plotly_name": "colorsrc", - "parent_name": "icicle.hoverlabel.font", - "edit_type": "none" + "plotly_name": "color", + "parent_name": "indicator.legendgrouptitle.font", + "edit_type": "style" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "icicle.hoverlabel.font.color": { + "indicator.legend": { "params": { - "plotly_name": "color", - "parent_name": "icicle.hoverlabel.font", - "array_ok": true, - "edit_type": "none" + "plotly_name": "legend", + "parent_name": "indicator", + "dflt": "legend", + "edit_type": "style" }, - "superclass": "ColorValidator" + "superclass": "SubplotidValidator" }, - "icicle.hoverlabel.bordercolorsrc": { + "indicator.ids": { "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "icicle.hoverlabel", - "edit_type": "none" + "plotly_name": "ids", + "parent_name": "indicator", + "anim": true, + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "DataArrayValidator" }, - "icicle.hoverlabel.bordercolor": { + "indicator.gauge": { "params": { - "plotly_name": "bordercolor", - "parent_name": "icicle.hoverlabel", - "array_ok": true, - "edit_type": "none" + "plotly_name": "gauge", + "parent_name": "indicator", + "data_class_str": "Gauge", + "data_docs": "\n" }, - "superclass": "ColorValidator" + "superclass": "CompoundValidator" }, - "icicle.hoverlabel.bgcolorsrc": { + "indicator.gauge.threshold": { "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "icicle.hoverlabel", - "edit_type": "none" + "plotly_name": "threshold", + "parent_name": "indicator.gauge", + "data_class_str": "Threshold", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "icicle.hoverlabel.bgcolor": { + "indicator.gauge.threshold.value": { "params": { - "plotly_name": "bgcolor", - "parent_name": "icicle.hoverlabel", - "array_ok": true, - "edit_type": "none" + "plotly_name": "value", + "parent_name": "indicator.gauge.threshold", + "edit_type": "calc" }, - "superclass": "ColorValidator" + "superclass": "NumberValidator" }, - "icicle.hoverlabel.alignsrc": { + "indicator.gauge.threshold.thickness": { "params": { - "plotly_name": "alignsrc", - "parent_name": "icicle.hoverlabel", - "edit_type": "none" + "plotly_name": "thickness", + "parent_name": "indicator.gauge.threshold", + "edit_type": "plot", + "max": 1, + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "icicle.hoverlabel.align": { + "indicator.gauge.threshold.line": { "params": { - "plotly_name": "align", - "parent_name": "icicle.hoverlabel", - "array_ok": true, - "edit_type": "none", - "values": [ - "left", - "right", - "auto" - ] + "plotly_name": "line", + "parent_name": "indicator.gauge.threshold", + "data_class_str": "Line", + "data_docs": "\n" }, - "superclass": "EnumeratedValidator" + "superclass": "CompoundValidator" }, - "icicle.hoverinfosrc": { + "indicator.gauge.threshold.line.width": { "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "icicle", - "edit_type": "none" + "plotly_name": "width", + "parent_name": "indicator.gauge.threshold.line", + "edit_type": "plot", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "icicle.hoverinfo": { + "indicator.gauge.threshold.line.color": { "params": { - "plotly_name": "hoverinfo", - "parent_name": "icicle", - "array_ok": true, - "edit_type": "none", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "label", - "text", - "value", - "name", - "current path", - "percent root", - "percent entry", - "percent parent" - ] + "plotly_name": "color", + "parent_name": "indicator.gauge.threshold.line", + "edit_type": "plot" }, - "superclass": "FlaglistValidator" + "superclass": "ColorValidator" }, - "icicle.domain": { + "indicator.gauge.stepdefaults": { "params": { - "plotly_name": "domain", - "parent_name": "icicle", - "data_class_str": "Domain", + "plotly_name": "stepdefaults", + "parent_name": "indicator.gauge", + "data_class_str": "Step", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "icicle.domain.y": { + "indicator.gauge.steps": { "params": { - "plotly_name": "y", - "parent_name": "icicle.domain", - "edit_type": "calc", - "items": [ - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - } - ] + "plotly_name": "steps", + "parent_name": "indicator.gauge", + "data_class_str": "Step", + "data_docs": "\n" }, - "superclass": "InfoArrayValidator" + "superclass": "CompoundArrayValidator" }, - "icicle.domain.x": { + "indicator.gauge.step.thickness": { "params": { - "plotly_name": "x", - "parent_name": "icicle.domain", - "edit_type": "calc", + "plotly_name": "thickness", + "parent_name": "indicator.gauge.step", + "edit_type": "plot", + "max": 1, + "min": 0 + }, + "superclass": "NumberValidator" + }, + "indicator.gauge.step.templateitemname": { + "params": { + "plotly_name": "templateitemname", + "parent_name": "indicator.gauge.step", + "edit_type": "calc" + }, + "superclass": "StringValidator" + }, + "indicator.gauge.step.range": { + "params": { + "plotly_name": "range", + "parent_name": "indicator.gauge.step", + "edit_type": "plot", "items": [ { - "editType": "calc", - "max": 1, - "min": 0, + "editType": "plot", "valType": "number" }, { - "editType": "calc", - "max": 1, - "min": 0, + "editType": "plot", "valType": "number" } ] }, "superclass": "InfoArrayValidator" }, - "icicle.domain.row": { + "indicator.gauge.step.name": { "params": { - "plotly_name": "row", - "parent_name": "icicle.domain", - "edit_type": "calc", - "min": 0 + "plotly_name": "name", + "parent_name": "indicator.gauge.step", + "edit_type": "none" }, - "superclass": "IntegerValidator" + "superclass": "StringValidator" }, - "icicle.domain.column": { + "indicator.gauge.step.line": { "params": { - "plotly_name": "column", - "parent_name": "icicle.domain", - "edit_type": "calc", - "min": 0 + "plotly_name": "line", + "parent_name": "indicator.gauge.step", + "data_class_str": "Line", + "data_docs": "\n" }, - "superclass": "IntegerValidator" + "superclass": "CompoundValidator" }, - "icicle.customdatasrc": { + "indicator.gauge.step.line.width": { "params": { - "plotly_name": "customdatasrc", - "parent_name": "icicle", - "edit_type": "none" + "plotly_name": "width", + "parent_name": "indicator.gauge.step.line", + "edit_type": "plot", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "icicle.customdata": { + "indicator.gauge.step.line.color": { "params": { - "plotly_name": "customdata", - "parent_name": "icicle", - "edit_type": "calc" + "plotly_name": "color", + "parent_name": "indicator.gauge.step.line", + "edit_type": "plot" }, - "superclass": "DataArrayValidator" + "superclass": "ColorValidator" }, - "icicle.count": { + "indicator.gauge.step.color": { "params": { - "plotly_name": "count", - "parent_name": "icicle", - "edit_type": "calc", - "flags": [ - "branches", - "leaves" - ] + "plotly_name": "color", + "parent_name": "indicator.gauge.step", + "edit_type": "plot" }, - "superclass": "FlaglistValidator" + "superclass": "ColorValidator" }, - "icicle.branchvalues": { + "indicator.gauge.shape": { "params": { - "plotly_name": "branchvalues", - "parent_name": "icicle", - "edit_type": "calc", + "plotly_name": "shape", + "parent_name": "indicator.gauge", + "edit_type": "plot", "values": [ - "remainder", - "total" + "angular", + "bullet" ] }, "superclass": "EnumeratedValidator" }, - "histogram2dcontour": { - "params": { - "plotly_name": "histogram2dcontour", - "parent_name": "", - "data_class_str": "Histogram2dContour", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "histogram2dcontour.zsrc": { - "params": { - "plotly_name": "zsrc", - "parent_name": "histogram2dcontour", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "histogram2dcontour.zmin": { + "indicator.gauge.borderwidth": { "params": { - "plotly_name": "zmin", - "parent_name": "histogram2dcontour", - "edit_type": "calc", - "implied_edits": { - "zauto": false - } + "plotly_name": "borderwidth", + "parent_name": "indicator.gauge", + "edit_type": "plot", + "min": 0 }, "superclass": "NumberValidator" }, - "histogram2dcontour.zmid": { + "indicator.gauge.bordercolor": { "params": { - "plotly_name": "zmid", - "parent_name": "histogram2dcontour", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "bordercolor", + "parent_name": "indicator.gauge", + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "histogram2dcontour.zmax": { + "indicator.gauge.bgcolor": { "params": { - "plotly_name": "zmax", - "parent_name": "histogram2dcontour", - "edit_type": "calc", - "implied_edits": { - "zauto": false - } + "plotly_name": "bgcolor", + "parent_name": "indicator.gauge", + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "histogram2dcontour.zhoverformat": { + "indicator.gauge.bar": { "params": { - "plotly_name": "zhoverformat", - "parent_name": "histogram2dcontour", - "edit_type": "none" + "plotly_name": "bar", + "parent_name": "indicator.gauge", + "data_class_str": "Bar", + "data_docs": "\n" }, - "superclass": "StringValidator" + "superclass": "CompoundValidator" }, - "histogram2dcontour.zauto": { + "indicator.gauge.bar.thickness": { "params": { - "plotly_name": "zauto", - "parent_name": "histogram2dcontour", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "thickness", + "parent_name": "indicator.gauge.bar", + "edit_type": "plot", + "max": 1, + "min": 0 }, - "superclass": "BooleanValidator" + "superclass": "NumberValidator" }, - "histogram2dcontour.z": { + "indicator.gauge.bar.line": { "params": { - "plotly_name": "z", - "parent_name": "histogram2dcontour", - "edit_type": "calc" + "plotly_name": "line", + "parent_name": "indicator.gauge.bar", + "data_class_str": "Line", + "data_docs": "\n" }, - "superclass": "DataArrayValidator" + "superclass": "CompoundValidator" }, - "histogram2dcontour.ysrc": { + "indicator.gauge.bar.line.width": { "params": { - "plotly_name": "ysrc", - "parent_name": "histogram2dcontour", - "edit_type": "none" + "plotly_name": "width", + "parent_name": "indicator.gauge.bar.line", + "edit_type": "plot", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "histogram2dcontour.yhoverformat": { + "indicator.gauge.bar.line.color": { "params": { - "plotly_name": "yhoverformat", - "parent_name": "histogram2dcontour", - "edit_type": "none" + "plotly_name": "color", + "parent_name": "indicator.gauge.bar.line", + "edit_type": "plot" }, - "superclass": "StringValidator" + "superclass": "ColorValidator" }, - "histogram2dcontour.ycalendar": { + "indicator.gauge.bar.color": { "params": { - "plotly_name": "ycalendar", - "parent_name": "histogram2dcontour", - "edit_type": "calc", - "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" - ] + "plotly_name": "color", + "parent_name": "indicator.gauge.bar", + "edit_type": "plot" }, - "superclass": "EnumeratedValidator" + "superclass": "ColorValidator" }, - "histogram2dcontour.ybins": { + "indicator.gauge.axis": { "params": { - "plotly_name": "ybins", - "parent_name": "histogram2dcontour", - "data_class_str": "YBins", + "plotly_name": "axis", + "parent_name": "indicator.gauge", + "data_class_str": "Axis", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram2dcontour.ybins.start": { - "params": { - "plotly_name": "start", - "parent_name": "histogram2dcontour.ybins", - "edit_type": "calc" - }, - "superclass": "AnyValidator" - }, - "histogram2dcontour.ybins.size": { - "params": { - "plotly_name": "size", - "parent_name": "histogram2dcontour.ybins", - "edit_type": "calc" - }, - "superclass": "AnyValidator" - }, - "histogram2dcontour.ybins.end": { - "params": { - "plotly_name": "end", - "parent_name": "histogram2dcontour.ybins", - "edit_type": "calc" - }, - "superclass": "AnyValidator" - }, - "histogram2dcontour.ybingroup": { + "indicator.gauge.axis.visible": { "params": { - "plotly_name": "ybingroup", - "parent_name": "histogram2dcontour", - "edit_type": "calc" + "plotly_name": "visible", + "parent_name": "indicator.gauge.axis", + "edit_type": "plot" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "histogram2dcontour.yaxis": { + "indicator.gauge.axis.tickwidth": { "params": { - "plotly_name": "yaxis", - "parent_name": "histogram2dcontour", - "dflt": "y", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "tickwidth", + "parent_name": "indicator.gauge.axis", + "edit_type": "plot", + "min": 0 }, - "superclass": "SubplotidValidator" + "superclass": "NumberValidator" }, - "histogram2dcontour.y": { + "indicator.gauge.axis.tickvals": { "params": { - "plotly_name": "y", - "parent_name": "histogram2dcontour", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "tickvals", + "parent_name": "indicator.gauge.axis", + "edit_type": "plot" }, "superclass": "DataArrayValidator" }, - "histogram2dcontour.xsrc": { + "indicator.gauge.axis.ticktext": { "params": { - "plotly_name": "xsrc", - "parent_name": "histogram2dcontour", - "edit_type": "none" + "plotly_name": "ticktext", + "parent_name": "indicator.gauge.axis", + "edit_type": "plot" }, - "superclass": "SrcValidator" + "superclass": "DataArrayValidator" }, - "histogram2dcontour.xhoverformat": { + "indicator.gauge.axis.ticksuffix": { "params": { - "plotly_name": "xhoverformat", - "parent_name": "histogram2dcontour", - "edit_type": "none" + "plotly_name": "ticksuffix", + "parent_name": "indicator.gauge.axis", + "edit_type": "plot" }, "superclass": "StringValidator" }, - "histogram2dcontour.xcalendar": { + "indicator.gauge.axis.ticks": { "params": { - "plotly_name": "xcalendar", - "parent_name": "histogram2dcontour", - "edit_type": "calc", + "plotly_name": "ticks", + "parent_name": "indicator.gauge.axis", + "edit_type": "plot", "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" + "outside", + "inside", + "" ] }, "superclass": "EnumeratedValidator" }, - "histogram2dcontour.xbins": { + "indicator.gauge.axis.tickprefix": { "params": { - "plotly_name": "xbins", - "parent_name": "histogram2dcontour", - "data_class_str": "XBins", - "data_docs": "\n" + "plotly_name": "tickprefix", + "parent_name": "indicator.gauge.axis", + "edit_type": "plot" }, - "superclass": "CompoundValidator" + "superclass": "StringValidator" }, - "histogram2dcontour.xbins.start": { + "indicator.gauge.axis.tickmode": { "params": { - "plotly_name": "start", - "parent_name": "histogram2dcontour.xbins", - "edit_type": "calc" + "plotly_name": "tickmode", + "parent_name": "indicator.gauge.axis", + "edit_type": "plot", + "implied_edits": {}, + "values": [ + "auto", + "linear", + "array" + ] }, - "superclass": "AnyValidator" + "superclass": "EnumeratedValidator" }, - "histogram2dcontour.xbins.size": { + "indicator.gauge.axis.ticklen": { "params": { - "plotly_name": "size", - "parent_name": "histogram2dcontour.xbins", - "edit_type": "calc" + "plotly_name": "ticklen", + "parent_name": "indicator.gauge.axis", + "edit_type": "plot", + "min": 0 }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "histogram2dcontour.xbins.end": { + "indicator.gauge.axis.ticklabelstep": { "params": { - "plotly_name": "end", - "parent_name": "histogram2dcontour.xbins", - "edit_type": "calc" + "plotly_name": "ticklabelstep", + "parent_name": "indicator.gauge.axis", + "edit_type": "plot", + "min": 1 }, - "superclass": "AnyValidator" + "superclass": "IntegerValidator" }, - "histogram2dcontour.xbingroup": { + "indicator.gauge.axis.tickformatstopdefaults": { "params": { - "plotly_name": "xbingroup", - "parent_name": "histogram2dcontour", - "edit_type": "calc" + "plotly_name": "tickformatstopdefaults", + "parent_name": "indicator.gauge.axis", + "data_class_str": "Tickformatstop", + "data_docs": "\n" }, - "superclass": "StringValidator" + "superclass": "CompoundValidator" }, - "histogram2dcontour.xaxis": { + "indicator.gauge.axis.tickformatstops": { "params": { - "plotly_name": "xaxis", - "parent_name": "histogram2dcontour", - "dflt": "x", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "tickformatstops", + "parent_name": "indicator.gauge.axis", + "data_class_str": "Tickformatstop", + "data_docs": "\n" }, - "superclass": "SubplotidValidator" + "superclass": "CompoundArrayValidator" }, - "histogram2dcontour.x": { + "indicator.gauge.axis.tickformatstop.value": { "params": { - "plotly_name": "x", - "parent_name": "histogram2dcontour", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "value", + "parent_name": "indicator.gauge.axis.tickformatstop", + "edit_type": "plot" }, - "superclass": "DataArrayValidator" + "superclass": "StringValidator" }, - "histogram2dcontour.visible": { + "indicator.gauge.axis.tickformatstop.templateitemname": { "params": { - "plotly_name": "visible", - "parent_name": "histogram2dcontour", - "edit_type": "calc", - "values": [ - true, - false, - "legendonly" - ] + "plotly_name": "templateitemname", + "parent_name": "indicator.gauge.axis.tickformatstop", + "edit_type": "plot" }, - "superclass": "EnumeratedValidator" + "superclass": "StringValidator" }, - "histogram2dcontour.uirevision": { + "indicator.gauge.axis.tickformatstop.name": { "params": { - "plotly_name": "uirevision", - "parent_name": "histogram2dcontour", - "edit_type": "none" + "plotly_name": "name", + "parent_name": "indicator.gauge.axis.tickformatstop", + "edit_type": "plot" }, - "superclass": "AnyValidator" + "superclass": "StringValidator" }, - "histogram2dcontour.uid": { + "indicator.gauge.axis.tickformatstop.enabled": { "params": { - "plotly_name": "uid", - "parent_name": "histogram2dcontour", + "plotly_name": "enabled", + "parent_name": "indicator.gauge.axis.tickformatstop", "edit_type": "plot" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "histogram2dcontour.texttemplatefallback": { + "indicator.gauge.axis.tickformatstop.dtickrange": { "params": { - "plotly_name": "texttemplatefallback", - "parent_name": "histogram2dcontour", - "edit_type": "plot" + "plotly_name": "dtickrange", + "parent_name": "indicator.gauge.axis.tickformatstop", + "edit_type": "plot", + "items": [ + { + "editType": "plot", + "valType": "any" + }, + { + "editType": "plot", + "valType": "any" + } + ] }, - "superclass": "AnyValidator" + "superclass": "InfoArrayValidator" }, - "histogram2dcontour.texttemplate": { + "indicator.gauge.axis.tickformat": { "params": { - "plotly_name": "texttemplate", - "parent_name": "histogram2dcontour", + "plotly_name": "tickformat", + "parent_name": "indicator.gauge.axis", "edit_type": "plot" }, "superclass": "StringValidator" }, - "histogram2dcontour.textfont": { + "indicator.gauge.axis.tickfont": { "params": { - "plotly_name": "textfont", - "parent_name": "histogram2dcontour", - "data_class_str": "Textfont", + "plotly_name": "tickfont", + "parent_name": "indicator.gauge.axis", + "data_class_str": "Tickfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram2dcontour.textfont.weight": { + "indicator.gauge.axis.tickfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "histogram2dcontour.textfont", + "parent_name": "indicator.gauge.axis.tickfont", "edit_type": "plot", "extras": [ "normal", @@ -92259,10 +77058,10 @@ }, "superclass": "IntegerValidator" }, - "histogram2dcontour.textfont.variant": { + "indicator.gauge.axis.tickfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "histogram2dcontour.textfont", + "parent_name": "indicator.gauge.axis.tickfont", "edit_type": "plot", "values": [ "normal", @@ -92275,10 +77074,10 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2dcontour.textfont.textcase": { + "indicator.gauge.axis.tickfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "histogram2dcontour.textfont", + "parent_name": "indicator.gauge.axis.tickfont", "edit_type": "plot", "values": [ "normal", @@ -92289,10 +77088,10 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2dcontour.textfont.style": { + "indicator.gauge.axis.tickfont.style": { "params": { "plotly_name": "style", - "parent_name": "histogram2dcontour.textfont", + "parent_name": "indicator.gauge.axis.tickfont", "edit_type": "plot", "values": [ "normal", @@ -92301,27 +77100,27 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2dcontour.textfont.size": { + "indicator.gauge.axis.tickfont.size": { "params": { "plotly_name": "size", - "parent_name": "histogram2dcontour.textfont", + "parent_name": "indicator.gauge.axis.tickfont", "edit_type": "plot", "min": 1 }, "superclass": "NumberValidator" }, - "histogram2dcontour.textfont.shadow": { + "indicator.gauge.axis.tickfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "histogram2dcontour.textfont", + "parent_name": "indicator.gauge.axis.tickfont", "edit_type": "plot" }, "superclass": "StringValidator" }, - "histogram2dcontour.textfont.lineposition": { + "indicator.gauge.axis.tickfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "histogram2dcontour.textfont", + "parent_name": "indicator.gauge.axis.tickfont", "edit_type": "plot", "extras": [ "none" @@ -92334,482 +77133,354 @@ }, "superclass": "FlaglistValidator" }, - "histogram2dcontour.textfont.family": { + "indicator.gauge.axis.tickfont.family": { "params": { "plotly_name": "family", - "parent_name": "histogram2dcontour.textfont", + "parent_name": "indicator.gauge.axis.tickfont", "edit_type": "plot", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "histogram2dcontour.textfont.color": { + "indicator.gauge.axis.tickfont.color": { "params": { "plotly_name": "color", - "parent_name": "histogram2dcontour.textfont", - "edit_type": "style" + "parent_name": "indicator.gauge.axis.tickfont", + "edit_type": "plot" }, "superclass": "ColorValidator" }, - "histogram2dcontour.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "histogram2dcontour", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "histogram2dcontour.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "histogram2dcontour.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "histogram2dcontour.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "histogram2dcontour.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "histogram2dcontour.showscale": { - "params": { - "plotly_name": "showscale", - "parent_name": "histogram2dcontour", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "histogram2dcontour.showlegend": { - "params": { - "plotly_name": "showlegend", - "parent_name": "histogram2dcontour", - "edit_type": "style" - }, - "superclass": "BooleanValidator" - }, - "histogram2dcontour.reversescale": { + "indicator.gauge.axis.tickcolor": { "params": { - "plotly_name": "reversescale", - "parent_name": "histogram2dcontour", + "plotly_name": "tickcolor", + "parent_name": "indicator.gauge.axis", "edit_type": "plot" }, - "superclass": "BooleanValidator" - }, - "histogram2dcontour.opacity": { - "params": { - "plotly_name": "opacity", - "parent_name": "histogram2dcontour", - "edit_type": "style", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "histogram2dcontour.ncontours": { - "params": { - "plotly_name": "ncontours", - "parent_name": "histogram2dcontour", - "edit_type": "calc", - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "histogram2dcontour.nbinsy": { - "params": { - "plotly_name": "nbinsy", - "parent_name": "histogram2dcontour", - "edit_type": "calc", - "min": 0 - }, - "superclass": "IntegerValidator" - }, - "histogram2dcontour.nbinsx": { - "params": { - "plotly_name": "nbinsx", - "parent_name": "histogram2dcontour", - "edit_type": "calc", - "min": 0 - }, - "superclass": "IntegerValidator" - }, - "histogram2dcontour.name": { - "params": { - "plotly_name": "name", - "parent_name": "histogram2dcontour", - "edit_type": "style" - }, - "superclass": "StringValidator" - }, - "histogram2dcontour.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "histogram2dcontour", - "edit_type": "none" - }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "histogram2dcontour.meta": { + "indicator.gauge.axis.tickangle": { "params": { - "plotly_name": "meta", - "parent_name": "histogram2dcontour", - "array_ok": true, + "plotly_name": "tickangle", + "parent_name": "indicator.gauge.axis", "edit_type": "plot" }, - "superclass": "AnyValidator" - }, - "histogram2dcontour.marker": { - "params": { - "plotly_name": "marker", - "parent_name": "histogram2dcontour", - "data_class_str": "Marker", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "histogram2dcontour.marker.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "histogram2dcontour.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "histogram2dcontour.marker.color": { - "params": { - "plotly_name": "color", - "parent_name": "histogram2dcontour.marker", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "histogram2dcontour.line": { - "params": { - "plotly_name": "line", - "parent_name": "histogram2dcontour", - "data_class_str": "Line", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "histogram2dcontour.line.width": { - "params": { - "plotly_name": "width", - "parent_name": "histogram2dcontour.line", - "edit_type": "style+colorbars", - "min": 0 - }, - "superclass": "NumberValidator" + "superclass": "AngleValidator" }, - "histogram2dcontour.line.smoothing": { + "indicator.gauge.axis.tick0": { "params": { - "plotly_name": "smoothing", - "parent_name": "histogram2dcontour.line", + "plotly_name": "tick0", + "parent_name": "indicator.gauge.axis", "edit_type": "plot", - "max": 1.3, - "min": 0 + "implied_edits": { + "tickmode": "linear" + } }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "histogram2dcontour.line.dash": { + "indicator.gauge.axis.showticksuffix": { "params": { - "plotly_name": "dash", - "parent_name": "histogram2dcontour.line", - "edit_type": "style", + "plotly_name": "showticksuffix", + "parent_name": "indicator.gauge.axis", + "edit_type": "plot", "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" + "all", + "first", + "last", + "none" ] }, - "superclass": "DashValidator" - }, - "histogram2dcontour.line.color": { - "params": { - "plotly_name": "color", - "parent_name": "histogram2dcontour.line", - "edit_type": "style+colorbars" - }, - "superclass": "ColorValidator" + "superclass": "EnumeratedValidator" }, - "histogram2dcontour.legendwidth": { + "indicator.gauge.axis.showtickprefix": { "params": { - "plotly_name": "legendwidth", - "parent_name": "histogram2dcontour", - "edit_type": "style", - "min": 0 + "plotly_name": "showtickprefix", + "parent_name": "indicator.gauge.axis", + "edit_type": "plot", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "histogram2dcontour.legendrank": { + "indicator.gauge.axis.showticklabels": { "params": { - "plotly_name": "legendrank", - "parent_name": "histogram2dcontour", - "edit_type": "style" + "plotly_name": "showticklabels", + "parent_name": "indicator.gauge.axis", + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "histogram2dcontour.legendgrouptitle": { + "indicator.gauge.axis.showexponent": { "params": { - "plotly_name": "legendgrouptitle", - "parent_name": "histogram2dcontour", - "data_class_str": "Legendgrouptitle", - "data_docs": "\n" + "plotly_name": "showexponent", + "parent_name": "indicator.gauge.axis", + "edit_type": "plot", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "superclass": "CompoundValidator" + "superclass": "EnumeratedValidator" }, - "histogram2dcontour.legendgrouptitle.text": { + "indicator.gauge.axis.separatethousands": { "params": { - "plotly_name": "text", - "parent_name": "histogram2dcontour.legendgrouptitle", - "edit_type": "style" + "plotly_name": "separatethousands", + "parent_name": "indicator.gauge.axis", + "edit_type": "plot" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "histogram2dcontour.legendgrouptitle.font": { + "indicator.gauge.axis.range": { "params": { - "plotly_name": "font", - "parent_name": "histogram2dcontour.legendgrouptitle", - "data_class_str": "Font", - "data_docs": "\n" + "plotly_name": "range", + "parent_name": "indicator.gauge.axis", + "edit_type": "plot", + "items": [ + { + "editType": "plot", + "valType": "number" + }, + { + "editType": "plot", + "valType": "number" + } + ] }, - "superclass": "CompoundValidator" + "superclass": "InfoArrayValidator" }, - "histogram2dcontour.legendgrouptitle.font.weight": { + "indicator.gauge.axis.nticks": { "params": { - "plotly_name": "weight", - "parent_name": "histogram2dcontour.legendgrouptitle.font", - "edit_type": "style", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 + "plotly_name": "nticks", + "parent_name": "indicator.gauge.axis", + "edit_type": "plot", + "min": 0 }, "superclass": "IntegerValidator" }, - "histogram2dcontour.legendgrouptitle.font.variant": { + "indicator.gauge.axis.minexponent": { "params": { - "plotly_name": "variant", - "parent_name": "histogram2dcontour.legendgrouptitle.font", - "edit_type": "style", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] + "plotly_name": "minexponent", + "parent_name": "indicator.gauge.axis", + "edit_type": "plot", + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "histogram2dcontour.legendgrouptitle.font.textcase": { + "indicator.gauge.axis.labelalias": { "params": { - "plotly_name": "textcase", - "parent_name": "histogram2dcontour.legendgrouptitle.font", - "edit_type": "style", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] + "plotly_name": "labelalias", + "parent_name": "indicator.gauge.axis", + "edit_type": "plot" }, - "superclass": "EnumeratedValidator" + "superclass": "AnyValidator" }, - "histogram2dcontour.legendgrouptitle.font.style": { + "indicator.gauge.axis.exponentformat": { "params": { - "plotly_name": "style", - "parent_name": "histogram2dcontour.legendgrouptitle.font", - "edit_type": "style", + "plotly_name": "exponentformat", + "parent_name": "indicator.gauge.axis", + "edit_type": "plot", "values": [ - "normal", - "italic" + "none", + "e", + "E", + "power", + "SI", + "B", + "SI extended" ] }, "superclass": "EnumeratedValidator" }, - "histogram2dcontour.legendgrouptitle.font.size": { + "indicator.gauge.axis.dtick": { "params": { - "plotly_name": "size", - "parent_name": "histogram2dcontour.legendgrouptitle.font", - "edit_type": "style", - "min": 1 + "plotly_name": "dtick", + "parent_name": "indicator.gauge.axis", + "edit_type": "plot", + "implied_edits": { + "tickmode": "linear" + } }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "histogram2dcontour.legendgrouptitle.font.shadow": { + "indicator.domain": { "params": { - "plotly_name": "shadow", - "parent_name": "histogram2dcontour.legendgrouptitle.font", - "edit_type": "style" + "plotly_name": "domain", + "parent_name": "indicator", + "data_class_str": "Domain", + "data_docs": "\n" }, - "superclass": "StringValidator" + "superclass": "CompoundValidator" }, - "histogram2dcontour.legendgrouptitle.font.lineposition": { + "indicator.domain.y": { "params": { - "plotly_name": "lineposition", - "parent_name": "histogram2dcontour.legendgrouptitle.font", - "edit_type": "style", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" + "plotly_name": "y", + "parent_name": "indicator.domain", + "edit_type": "calc", + "items": [ + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + } ] }, - "superclass": "FlaglistValidator" + "superclass": "InfoArrayValidator" }, - "histogram2dcontour.legendgrouptitle.font.family": { + "indicator.domain.x": { "params": { - "plotly_name": "family", - "parent_name": "histogram2dcontour.legendgrouptitle.font", - "edit_type": "style", - "no_blank": true, - "strict": true + "plotly_name": "x", + "parent_name": "indicator.domain", + "edit_type": "calc", + "items": [ + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + } + ] }, - "superclass": "StringValidator" + "superclass": "InfoArrayValidator" }, - "histogram2dcontour.legendgrouptitle.font.color": { + "indicator.domain.row": { "params": { - "plotly_name": "color", - "parent_name": "histogram2dcontour.legendgrouptitle.font", - "edit_type": "style" + "plotly_name": "row", + "parent_name": "indicator.domain", + "edit_type": "calc", + "min": 0 }, - "superclass": "ColorValidator" + "superclass": "IntegerValidator" }, - "histogram2dcontour.legendgroup": { + "indicator.domain.column": { "params": { - "plotly_name": "legendgroup", - "parent_name": "histogram2dcontour", - "edit_type": "style" + "plotly_name": "column", + "parent_name": "indicator.domain", + "edit_type": "calc", + "min": 0 }, - "superclass": "StringValidator" + "superclass": "IntegerValidator" }, - "histogram2dcontour.legend": { + "indicator.delta": { "params": { - "plotly_name": "legend", - "parent_name": "histogram2dcontour", - "dflt": "legend", - "edit_type": "style" + "plotly_name": "delta", + "parent_name": "indicator", + "data_class_str": "Delta", + "data_docs": "\n" }, - "superclass": "SubplotidValidator" + "superclass": "CompoundValidator" }, - "histogram2dcontour.idssrc": { + "indicator.delta.valueformat": { "params": { - "plotly_name": "idssrc", - "parent_name": "histogram2dcontour", - "edit_type": "none" + "plotly_name": "valueformat", + "parent_name": "indicator.delta", + "edit_type": "plot" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "histogram2dcontour.ids": { + "indicator.delta.suffix": { "params": { - "plotly_name": "ids", - "parent_name": "histogram2dcontour", - "edit_type": "calc" + "plotly_name": "suffix", + "parent_name": "indicator.delta", + "edit_type": "plot" }, - "superclass": "DataArrayValidator" + "superclass": "StringValidator" }, - "histogram2dcontour.hovertemplatesrc": { + "indicator.delta.relative": { "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "histogram2dcontour", - "edit_type": "none" + "plotly_name": "relative", + "parent_name": "indicator.delta", + "edit_type": "plot" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "histogram2dcontour.hovertemplatefallback": { + "indicator.delta.reference": { "params": { - "plotly_name": "hovertemplatefallback", - "parent_name": "histogram2dcontour", - "edit_type": "none" + "plotly_name": "reference", + "parent_name": "indicator.delta", + "edit_type": "calc" }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "histogram2dcontour.hovertemplate": { + "indicator.delta.prefix": { "params": { - "plotly_name": "hovertemplate", - "parent_name": "histogram2dcontour", - "array_ok": true, - "edit_type": "none" + "plotly_name": "prefix", + "parent_name": "indicator.delta", + "edit_type": "plot" }, "superclass": "StringValidator" }, - "histogram2dcontour.hoverlabel": { + "indicator.delta.position": { "params": { - "plotly_name": "hoverlabel", - "parent_name": "histogram2dcontour", - "data_class_str": "Hoverlabel", - "data_docs": "\n" + "plotly_name": "position", + "parent_name": "indicator.delta", + "edit_type": "plot", + "values": [ + "top", + "bottom", + "left", + "right" + ] }, - "superclass": "CompoundValidator" + "superclass": "EnumeratedValidator" }, - "histogram2dcontour.hoverlabel.showarrow": { + "indicator.delta.increasing": { "params": { - "plotly_name": "showarrow", - "parent_name": "histogram2dcontour.hoverlabel", - "edit_type": "none" + "plotly_name": "increasing", + "parent_name": "indicator.delta", + "data_class_str": "Increasing", + "data_docs": "\n" }, - "superclass": "BooleanValidator" + "superclass": "CompoundValidator" }, - "histogram2dcontour.hoverlabel.namelengthsrc": { + "indicator.delta.increasing.symbol": { "params": { - "plotly_name": "namelengthsrc", - "parent_name": "histogram2dcontour.hoverlabel", - "edit_type": "none" + "plotly_name": "symbol", + "parent_name": "indicator.delta.increasing", + "edit_type": "plot" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "histogram2dcontour.hoverlabel.namelength": { + "indicator.delta.increasing.color": { "params": { - "plotly_name": "namelength", - "parent_name": "histogram2dcontour.hoverlabel", - "array_ok": true, - "edit_type": "none", - "min": -1 + "plotly_name": "color", + "parent_name": "indicator.delta.increasing", + "edit_type": "plot" }, - "superclass": "IntegerValidator" + "superclass": "ColorValidator" }, - "histogram2dcontour.hoverlabel.font": { + "indicator.delta.font": { "params": { "plotly_name": "font", - "parent_name": "histogram2dcontour.hoverlabel", + "parent_name": "indicator.delta", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram2dcontour.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "histogram2dcontour.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "histogram2dcontour.hoverlabel.font.weight": { + "indicator.delta.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "histogram2dcontour.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "indicator.delta.font", + "edit_type": "plot", "extras": [ "normal", "bold" @@ -92819,20 +77490,11 @@ }, "superclass": "IntegerValidator" }, - "histogram2dcontour.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "histogram2dcontour.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "histogram2dcontour.hoverlabel.font.variant": { + "indicator.delta.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "histogram2dcontour.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "indicator.delta.font", + "edit_type": "plot", "values": [ "normal", "small-caps", @@ -92844,20 +77506,11 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2dcontour.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "histogram2dcontour.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "histogram2dcontour.hoverlabel.font.textcase": { + "indicator.delta.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "histogram2dcontour.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "indicator.delta.font", + "edit_type": "plot", "values": [ "normal", "word caps", @@ -92867,20 +77520,11 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2dcontour.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "histogram2dcontour.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "histogram2dcontour.hoverlabel.font.style": { + "indicator.delta.font.style": { "params": { "plotly_name": "style", - "parent_name": "histogram2dcontour.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "indicator.delta.font", + "edit_type": "plot", "values": [ "normal", "italic" @@ -92888,55 +77532,28 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2dcontour.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "histogram2dcontour.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "histogram2dcontour.hoverlabel.font.size": { + "indicator.delta.font.size": { "params": { "plotly_name": "size", - "parent_name": "histogram2dcontour.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "indicator.delta.font", + "edit_type": "plot", "min": 1 }, "superclass": "NumberValidator" }, - "histogram2dcontour.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "histogram2dcontour.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "histogram2dcontour.hoverlabel.font.shadow": { + "indicator.delta.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "histogram2dcontour.hoverlabel.font", - "array_ok": true, - "edit_type": "none" + "parent_name": "indicator.delta.font", + "edit_type": "plot" }, "superclass": "StringValidator" }, - "histogram2dcontour.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "histogram2dcontour.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "histogram2dcontour.hoverlabel.font.lineposition": { + "indicator.delta.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "histogram2dcontour.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "indicator.delta.font", + "edit_type": "plot", "extras": [ "none" ], @@ -92948,286 +77565,313 @@ }, "superclass": "FlaglistValidator" }, - "histogram2dcontour.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "histogram2dcontour.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "histogram2dcontour.hoverlabel.font.family": { + "indicator.delta.font.family": { "params": { "plotly_name": "family", - "parent_name": "histogram2dcontour.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "indicator.delta.font", + "edit_type": "plot", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "histogram2dcontour.hoverlabel.font.colorsrc": { + "indicator.delta.font.color": { "params": { - "plotly_name": "colorsrc", - "parent_name": "histogram2dcontour.hoverlabel.font", - "edit_type": "none" + "plotly_name": "color", + "parent_name": "indicator.delta.font", + "edit_type": "plot" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "histogram2dcontour.hoverlabel.font.color": { + "indicator.delta.decreasing": { "params": { - "plotly_name": "color", - "parent_name": "histogram2dcontour.hoverlabel.font", - "array_ok": true, - "edit_type": "none" + "plotly_name": "decreasing", + "parent_name": "indicator.delta", + "data_class_str": "Decreasing", + "data_docs": "\n" }, - "superclass": "ColorValidator" + "superclass": "CompoundValidator" }, - "histogram2dcontour.hoverlabel.bordercolorsrc": { + "indicator.delta.decreasing.symbol": { "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "histogram2dcontour.hoverlabel", - "edit_type": "none" + "plotly_name": "symbol", + "parent_name": "indicator.delta.decreasing", + "edit_type": "plot" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "histogram2dcontour.hoverlabel.bordercolor": { + "indicator.delta.decreasing.color": { "params": { - "plotly_name": "bordercolor", - "parent_name": "histogram2dcontour.hoverlabel", - "array_ok": true, - "edit_type": "none" + "plotly_name": "color", + "parent_name": "indicator.delta.decreasing", + "edit_type": "plot" }, "superclass": "ColorValidator" }, - "histogram2dcontour.hoverlabel.bgcolorsrc": { + "indicator.customdata": { "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "histogram2dcontour.hoverlabel", - "edit_type": "none" + "plotly_name": "customdata", + "parent_name": "indicator", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "DataArrayValidator" }, - "histogram2dcontour.hoverlabel.bgcolor": { + "indicator.align": { "params": { - "plotly_name": "bgcolor", - "parent_name": "histogram2dcontour.hoverlabel", - "array_ok": true, - "edit_type": "none" + "plotly_name": "align", + "parent_name": "indicator", + "edit_type": "plot", + "values": [ + "left", + "center", + "right" + ] }, - "superclass": "ColorValidator" + "superclass": "EnumeratedValidator" }, - "histogram2dcontour.hoverlabel.alignsrc": { + "image": { "params": { - "plotly_name": "alignsrc", - "parent_name": "histogram2dcontour.hoverlabel", - "edit_type": "none" + "plotly_name": "image", + "parent_name": "", + "data_class_str": "Image", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "histogram2dcontour.hoverlabel.align": { + "image.zsmooth": { "params": { - "plotly_name": "align", - "parent_name": "histogram2dcontour.hoverlabel", - "array_ok": true, - "edit_type": "none", + "plotly_name": "zsmooth", + "parent_name": "image", + "edit_type": "plot", "values": [ - "left", - "right", - "auto" + "fast", + false + ] + }, + "superclass": "EnumeratedValidator" + }, + "image.zorder": { + "params": { + "plotly_name": "zorder", + "parent_name": "image", + "edit_type": "plot" + }, + "superclass": "IntegerValidator" + }, + "image.zmin": { + "params": { + "plotly_name": "zmin", + "parent_name": "image", + "edit_type": "calc", + "items": [ + { + "editType": "calc", + "valType": "number" + }, + { + "editType": "calc", + "valType": "number" + }, + { + "editType": "calc", + "valType": "number" + }, + { + "editType": "calc", + "valType": "number" + } + ] + }, + "superclass": "InfoArrayValidator" + }, + "image.zmax": { + "params": { + "plotly_name": "zmax", + "parent_name": "image", + "edit_type": "calc", + "items": [ + { + "editType": "calc", + "valType": "number" + }, + { + "editType": "calc", + "valType": "number" + }, + { + "editType": "calc", + "valType": "number" + }, + { + "editType": "calc", + "valType": "number" + } ] }, - "superclass": "EnumeratedValidator" + "superclass": "InfoArrayValidator" + }, + "image.z": { + "params": { + "plotly_name": "z", + "parent_name": "image", + "edit_type": "calc" + }, + "superclass": "DataArrayValidator" + }, + "image.yaxis": { + "params": { + "plotly_name": "yaxis", + "parent_name": "image", + "dflt": "y", + "edit_type": "calc+clearAxisTypes" + }, + "superclass": "SubplotidValidator" }, - "histogram2dcontour.hoverinfosrc": { + "image.y0": { "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "histogram2dcontour", - "edit_type": "none" + "plotly_name": "y0", + "parent_name": "image", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "histogram2dcontour.hoverinfo": { + "image.xaxis": { "params": { - "plotly_name": "hoverinfo", - "parent_name": "histogram2dcontour", - "array_ok": true, - "edit_type": "none", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "x", - "y", - "z", - "text", - "name" - ] + "plotly_name": "xaxis", + "parent_name": "image", + "dflt": "x", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "FlaglistValidator" + "superclass": "SubplotidValidator" }, - "histogram2dcontour.histnorm": { + "image.x0": { "params": { - "plotly_name": "histnorm", - "parent_name": "histogram2dcontour", - "edit_type": "calc", - "values": [ - "", - "percent", - "probability", - "density", - "probability density" - ] + "plotly_name": "x0", + "parent_name": "image", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "EnumeratedValidator" + "superclass": "AnyValidator" }, - "histogram2dcontour.histfunc": { + "image.visible": { "params": { - "plotly_name": "histfunc", - "parent_name": "histogram2dcontour", + "plotly_name": "visible", + "parent_name": "image", "edit_type": "calc", "values": [ - "count", - "sum", - "avg", - "min", - "max" + true, + false, + "legendonly" ] }, "superclass": "EnumeratedValidator" }, - "histogram2dcontour.customdatasrc": { + "image.uirevision": { "params": { - "plotly_name": "customdatasrc", - "parent_name": "histogram2dcontour", + "plotly_name": "uirevision", + "parent_name": "image", "edit_type": "none" }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "histogram2dcontour.customdata": { + "image.uid": { "params": { - "plotly_name": "customdata", - "parent_name": "histogram2dcontour", - "edit_type": "calc" + "plotly_name": "uid", + "parent_name": "image", + "edit_type": "plot" }, - "superclass": "DataArrayValidator" + "superclass": "StringValidator" }, - "histogram2dcontour.contours": { + "image.text": { "params": { - "plotly_name": "contours", - "parent_name": "histogram2dcontour", - "data_class_str": "Contours", - "data_docs": "\n" + "plotly_name": "text", + "parent_name": "image", + "edit_type": "plot" }, - "superclass": "CompoundValidator" + "superclass": "DataArrayValidator" }, - "histogram2dcontour.contours.value": { + "image.source": { "params": { - "plotly_name": "value", - "parent_name": "histogram2dcontour.contours", + "plotly_name": "source", + "parent_name": "image", "edit_type": "calc" }, - "superclass": "AnyValidator" + "superclass": "StringValidator" }, - "histogram2dcontour.contours.type": { + "image.opacity": { "params": { - "plotly_name": "type", - "parent_name": "histogram2dcontour.contours", - "edit_type": "calc", - "values": [ - "levels", - "constraint" - ] + "plotly_name": "opacity", + "parent_name": "image", + "edit_type": "style", + "max": 1, + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "histogram2dcontour.contours.start": { + "image.name": { "params": { - "plotly_name": "start", - "parent_name": "histogram2dcontour.contours", - "edit_type": "plot", - "implied_edits": { - "^autocontour": false - } + "plotly_name": "name", + "parent_name": "image", + "edit_type": "style" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "histogram2dcontour.contours.size": { + "image.meta": { "params": { - "plotly_name": "size", - "parent_name": "histogram2dcontour.contours", - "edit_type": "plot", - "implied_edits": { - "^autocontour": false - }, - "min": 0 + "plotly_name": "meta", + "parent_name": "image", + "array_ok": true, + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "histogram2dcontour.contours.showlines": { + "image.legendwidth": { "params": { - "plotly_name": "showlines", - "parent_name": "histogram2dcontour.contours", - "edit_type": "plot" + "plotly_name": "legendwidth", + "parent_name": "image", + "edit_type": "style", + "min": 0 }, - "superclass": "BooleanValidator" + "superclass": "NumberValidator" }, - "histogram2dcontour.contours.showlabels": { + "image.legendrank": { "params": { - "plotly_name": "showlabels", - "parent_name": "histogram2dcontour.contours", - "edit_type": "plot" + "plotly_name": "legendrank", + "parent_name": "image", + "edit_type": "style" }, - "superclass": "BooleanValidator" + "superclass": "NumberValidator" }, - "histogram2dcontour.contours.operation": { + "image.legendgrouptitle": { "params": { - "plotly_name": "operation", - "parent_name": "histogram2dcontour.contours", - "edit_type": "calc", - "values": [ - "=", - "<", - ">=", - ">", - "<=", - "[]", - "()", - "[)", - "(]", - "][", - ")(", - "](", - ")[" - ] + "plotly_name": "legendgrouptitle", + "parent_name": "image", + "data_class_str": "Legendgrouptitle", + "data_docs": "\n" }, - "superclass": "EnumeratedValidator" + "superclass": "CompoundValidator" }, - "histogram2dcontour.contours.labelformat": { + "image.legendgrouptitle.text": { "params": { - "plotly_name": "labelformat", - "parent_name": "histogram2dcontour.contours", - "edit_type": "plot" + "plotly_name": "text", + "parent_name": "image.legendgrouptitle", + "edit_type": "style" }, "superclass": "StringValidator" }, - "histogram2dcontour.contours.labelfont": { + "image.legendgrouptitle.font": { "params": { - "plotly_name": "labelfont", - "parent_name": "histogram2dcontour.contours", - "data_class_str": "Labelfont", + "plotly_name": "font", + "parent_name": "image.legendgrouptitle", + "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram2dcontour.contours.labelfont.weight": { + "image.legendgrouptitle.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "histogram2dcontour.contours.labelfont", - "edit_type": "plot", + "parent_name": "image.legendgrouptitle.font", + "edit_type": "style", "extras": [ "normal", "bold" @@ -93237,11 +77881,11 @@ }, "superclass": "IntegerValidator" }, - "histogram2dcontour.contours.labelfont.variant": { + "image.legendgrouptitle.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "histogram2dcontour.contours.labelfont", - "edit_type": "plot", + "parent_name": "image.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "small-caps", @@ -93253,11 +77897,11 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2dcontour.contours.labelfont.textcase": { + "image.legendgrouptitle.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "histogram2dcontour.contours.labelfont", - "edit_type": "plot", + "parent_name": "image.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "word caps", @@ -93267,11 +77911,11 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2dcontour.contours.labelfont.style": { + "image.legendgrouptitle.font.style": { "params": { "plotly_name": "style", - "parent_name": "histogram2dcontour.contours.labelfont", - "edit_type": "plot", + "parent_name": "image.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "italic" @@ -93279,28 +77923,28 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2dcontour.contours.labelfont.size": { + "image.legendgrouptitle.font.size": { "params": { "plotly_name": "size", - "parent_name": "histogram2dcontour.contours.labelfont", - "edit_type": "plot", + "parent_name": "image.legendgrouptitle.font", + "edit_type": "style", "min": 1 }, "superclass": "NumberValidator" }, - "histogram2dcontour.contours.labelfont.shadow": { + "image.legendgrouptitle.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "histogram2dcontour.contours.labelfont", - "edit_type": "plot" + "parent_name": "image.legendgrouptitle.font", + "edit_type": "style" }, "superclass": "StringValidator" }, - "histogram2dcontour.contours.labelfont.lineposition": { + "image.legendgrouptitle.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "histogram2dcontour.contours.labelfont", - "edit_type": "plot", + "parent_name": "image.legendgrouptitle.font", + "edit_type": "style", "extras": [ "none" ], @@ -93312,197 +77956,108 @@ }, "superclass": "FlaglistValidator" }, - "histogram2dcontour.contours.labelfont.family": { + "image.legendgrouptitle.font.family": { "params": { "plotly_name": "family", - "parent_name": "histogram2dcontour.contours.labelfont", - "edit_type": "plot", + "parent_name": "image.legendgrouptitle.font", + "edit_type": "style", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "histogram2dcontour.contours.labelfont.color": { + "image.legendgrouptitle.font.color": { "params": { "plotly_name": "color", - "parent_name": "histogram2dcontour.contours.labelfont", + "parent_name": "image.legendgrouptitle.font", "edit_type": "style" }, "superclass": "ColorValidator" }, - "histogram2dcontour.contours.end": { - "params": { - "plotly_name": "end", - "parent_name": "histogram2dcontour.contours", - "edit_type": "plot", - "implied_edits": { - "^autocontour": false - } - }, - "superclass": "NumberValidator" - }, - "histogram2dcontour.contours.coloring": { - "params": { - "plotly_name": "coloring", - "parent_name": "histogram2dcontour.contours", - "edit_type": "calc", - "values": [ - "fill", - "heatmap", - "lines", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "histogram2dcontour.colorscale": { - "params": { - "plotly_name": "colorscale", - "parent_name": "histogram2dcontour", - "edit_type": "calc", - "implied_edits": { - "autocolorscale": false - } - }, - "superclass": "ColorscaleValidator" - }, - "histogram2dcontour.colorbar": { - "params": { - "plotly_name": "colorbar", - "parent_name": "histogram2dcontour", - "data_class_str": "ColorBar", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "histogram2dcontour.colorbar.yref": { - "params": { - "plotly_name": "yref", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", - "values": [ - "container", - "paper" - ] - }, - "superclass": "EnumeratedValidator" - }, - "histogram2dcontour.colorbar.ypad": { - "params": { - "plotly_name": "ypad", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "histogram2dcontour.colorbar.yanchor": { - "params": { - "plotly_name": "yanchor", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", - "values": [ - "top", - "middle", - "bottom" - ] - }, - "superclass": "EnumeratedValidator" - }, - "histogram2dcontour.colorbar.y": { + "image.legend": { "params": { - "plotly_name": "y", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars" + "plotly_name": "legend", + "parent_name": "image", + "dflt": "legend", + "edit_type": "style" }, - "superclass": "NumberValidator" + "superclass": "SubplotidValidator" }, - "histogram2dcontour.colorbar.xref": { + "image.ids": { "params": { - "plotly_name": "xref", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", - "values": [ - "container", - "paper" - ] + "plotly_name": "ids", + "parent_name": "image", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "DataArrayValidator" }, - "histogram2dcontour.colorbar.xpad": { + "image.hovertext": { "params": { - "plotly_name": "xpad", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "hovertext", + "parent_name": "image", + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "histogram2dcontour.colorbar.xanchor": { + "image.hovertemplatefallback": { "params": { - "plotly_name": "xanchor", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", - "values": [ - "left", - "center", - "right" - ] + "plotly_name": "hovertemplatefallback", + "parent_name": "image", + "edit_type": "none" }, - "superclass": "EnumeratedValidator" + "superclass": "AnyValidator" }, - "histogram2dcontour.colorbar.x": { + "image.hovertemplate": { "params": { - "plotly_name": "x", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars" + "plotly_name": "hovertemplate", + "parent_name": "image", + "array_ok": true, + "edit_type": "none" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "histogram2dcontour.colorbar.title": { + "image.hoverlabel": { "params": { - "plotly_name": "title", - "parent_name": "histogram2dcontour.colorbar", - "data_class_str": "Title", + "plotly_name": "hoverlabel", + "parent_name": "image", + "data_class_str": "Hoverlabel", "data_docs": "\n" }, - "superclass": "TitleValidator" + "superclass": "CompoundValidator" }, - "histogram2dcontour.colorbar.title.text": { + "image.hoverlabel.showarrow": { "params": { - "plotly_name": "text", - "parent_name": "histogram2dcontour.colorbar.title", - "edit_type": "colorbars" + "plotly_name": "showarrow", + "parent_name": "image.hoverlabel", + "edit_type": "none" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "histogram2dcontour.colorbar.title.side": { + "image.hoverlabel.namelength": { "params": { - "plotly_name": "side", - "parent_name": "histogram2dcontour.colorbar.title", - "edit_type": "colorbars", - "values": [ - "right", - "top", - "bottom" - ] + "plotly_name": "namelength", + "parent_name": "image.hoverlabel", + "array_ok": true, + "edit_type": "none", + "min": -1 }, - "superclass": "EnumeratedValidator" + "superclass": "IntegerValidator" }, - "histogram2dcontour.colorbar.title.font": { + "image.hoverlabel.font": { "params": { "plotly_name": "font", - "parent_name": "histogram2dcontour.colorbar.title", + "parent_name": "image.hoverlabel", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram2dcontour.colorbar.title.font.weight": { + "image.hoverlabel.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "histogram2dcontour.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "image.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "extras": [ "normal", "bold" @@ -93512,11 +78067,12 @@ }, "superclass": "IntegerValidator" }, - "histogram2dcontour.colorbar.title.font.variant": { + "image.hoverlabel.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "histogram2dcontour.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "image.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "small-caps", @@ -93528,11 +78084,12 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2dcontour.colorbar.title.font.textcase": { + "image.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "histogram2dcontour.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "image.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "word caps", @@ -93542,11 +78099,12 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2dcontour.colorbar.title.font.style": { + "image.hoverlabel.font.style": { "params": { "plotly_name": "style", - "parent_name": "histogram2dcontour.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "image.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "italic" @@ -93554,28 +78112,31 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2dcontour.colorbar.title.font.size": { + "image.hoverlabel.font.size": { "params": { "plotly_name": "size", - "parent_name": "histogram2dcontour.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "image.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "min": 1 }, "superclass": "NumberValidator" }, - "histogram2dcontour.colorbar.title.font.shadow": { + "image.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "histogram2dcontour.colorbar.title.font", - "edit_type": "colorbars" + "parent_name": "image.hoverlabel.font", + "array_ok": true, + "edit_type": "none" }, "superclass": "StringValidator" }, - "histogram2dcontour.colorbar.title.font.lineposition": { + "image.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "histogram2dcontour.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "image.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "extras": [ "none" ], @@ -93587,249 +78148,279 @@ }, "superclass": "FlaglistValidator" }, - "histogram2dcontour.colorbar.title.font.family": { + "image.hoverlabel.font.family": { "params": { "plotly_name": "family", - "parent_name": "histogram2dcontour.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "image.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "histogram2dcontour.colorbar.title.font.color": { + "image.hoverlabel.font.color": { "params": { "plotly_name": "color", - "parent_name": "histogram2dcontour.colorbar.title.font", - "edit_type": "colorbars" + "parent_name": "image.hoverlabel.font", + "array_ok": true, + "edit_type": "none" + }, + "superclass": "ColorValidator" + }, + "image.hoverlabel.bordercolor": { + "params": { + "plotly_name": "bordercolor", + "parent_name": "image.hoverlabel", + "array_ok": true, + "edit_type": "none" }, "superclass": "ColorValidator" }, - "histogram2dcontour.colorbar.tickwidth": { + "image.hoverlabel.bgcolor": { "params": { - "plotly_name": "tickwidth", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "bgcolor", + "parent_name": "image.hoverlabel", + "array_ok": true, + "edit_type": "none" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "histogram2dcontour.colorbar.tickvalssrc": { + "image.hoverlabel.align": { "params": { - "plotly_name": "tickvalssrc", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "none" + "plotly_name": "align", + "parent_name": "image.hoverlabel", + "array_ok": true, + "edit_type": "none", + "values": [ + "left", + "right", + "auto" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "histogram2dcontour.colorbar.tickvals": { + "image.hoverinfo": { "params": { - "plotly_name": "tickvals", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars" + "plotly_name": "hoverinfo", + "parent_name": "image", + "array_ok": true, + "edit_type": "none", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "x", + "y", + "z", + "color", + "name", + "text" + ] }, - "superclass": "DataArrayValidator" + "superclass": "FlaglistValidator" }, - "histogram2dcontour.colorbar.ticktextsrc": { + "image.dy": { "params": { - "plotly_name": "ticktextsrc", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "none" + "plotly_name": "dy", + "parent_name": "image", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "histogram2dcontour.colorbar.ticktext": { + "image.dx": { "params": { - "plotly_name": "ticktext", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars" + "plotly_name": "dx", + "parent_name": "image", + "edit_type": "calc" }, - "superclass": "DataArrayValidator" + "superclass": "NumberValidator" }, - "histogram2dcontour.colorbar.ticksuffix": { + "image.customdata": { "params": { - "plotly_name": "ticksuffix", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars" + "plotly_name": "customdata", + "parent_name": "image", + "edit_type": "calc" }, - "superclass": "StringValidator" + "superclass": "DataArrayValidator" }, - "histogram2dcontour.colorbar.ticks": { + "image.colormodel": { "params": { - "plotly_name": "ticks", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", + "plotly_name": "colormodel", + "parent_name": "image", + "edit_type": "calc", "values": [ - "outside", - "inside", - "" + "rgb", + "rgba", + "rgba256", + "hsl", + "hsla" ] }, "superclass": "EnumeratedValidator" }, - "histogram2dcontour.colorbar.tickprefix": { + "icicle": { "params": { - "plotly_name": "tickprefix", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars" + "plotly_name": "icicle", + "parent_name": "", + "data_class_str": "Icicle", + "data_docs": "\n" }, - "superclass": "StringValidator" + "superclass": "CompoundValidator" }, - "histogram2dcontour.colorbar.tickmode": { + "icicle.visible": { "params": { - "plotly_name": "tickmode", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", - "implied_edits": {}, + "plotly_name": "visible", + "parent_name": "icicle", + "edit_type": "calc", "values": [ - "auto", - "linear", - "array" + true, + false, + "legendonly" ] }, "superclass": "EnumeratedValidator" }, - "histogram2dcontour.colorbar.ticklen": { - "params": { - "plotly_name": "ticklen", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "histogram2dcontour.colorbar.ticklabelstep": { + "icicle.values": { "params": { - "plotly_name": "ticklabelstep", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", - "min": 1 + "plotly_name": "values", + "parent_name": "icicle", + "edit_type": "calc" }, - "superclass": "IntegerValidator" + "superclass": "DataArrayValidator" }, - "histogram2dcontour.colorbar.ticklabelposition": { + "icicle.uirevision": { "params": { - "plotly_name": "ticklabelposition", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" - ] + "plotly_name": "uirevision", + "parent_name": "icicle", + "edit_type": "none" }, - "superclass": "EnumeratedValidator" + "superclass": "AnyValidator" }, - "histogram2dcontour.colorbar.ticklabeloverflow": { + "icicle.uid": { "params": { - "plotly_name": "ticklabeloverflow", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", - "values": [ - "allow", - "hide past div", - "hide past domain" - ] + "plotly_name": "uid", + "parent_name": "icicle", + "anim": true, + "edit_type": "plot" }, - "superclass": "EnumeratedValidator" + "superclass": "StringValidator" }, - "histogram2dcontour.colorbar.tickformatstopdefaults": { + "icicle.tiling": { "params": { - "plotly_name": "tickformatstopdefaults", - "parent_name": "histogram2dcontour.colorbar", - "data_class_str": "Tickformatstop", + "plotly_name": "tiling", + "parent_name": "icicle", + "data_class_str": "Tiling", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram2dcontour.colorbar.tickformatstops": { + "icicle.tiling.pad": { "params": { - "plotly_name": "tickformatstops", - "parent_name": "histogram2dcontour.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" + "plotly_name": "pad", + "parent_name": "icicle.tiling", + "edit_type": "plot", + "min": 0 }, - "superclass": "CompoundArrayValidator" + "superclass": "NumberValidator" }, - "histogram2dcontour.colorbar.tickformatstop.value": { + "icicle.tiling.orientation": { "params": { - "plotly_name": "value", - "parent_name": "histogram2dcontour.colorbar.tickformatstop", - "edit_type": "colorbars" + "plotly_name": "orientation", + "parent_name": "icicle.tiling", + "edit_type": "plot", + "values": [ + "v", + "h" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "histogram2dcontour.colorbar.tickformatstop.templateitemname": { + "icicle.tiling.flip": { "params": { - "plotly_name": "templateitemname", - "parent_name": "histogram2dcontour.colorbar.tickformatstop", - "edit_type": "colorbars" + "plotly_name": "flip", + "parent_name": "icicle.tiling", + "edit_type": "plot", + "flags": [ + "x", + "y" + ] }, - "superclass": "StringValidator" + "superclass": "FlaglistValidator" }, - "histogram2dcontour.colorbar.tickformatstop.name": { + "icicle.texttemplatefallback": { "params": { - "plotly_name": "name", - "parent_name": "histogram2dcontour.colorbar.tickformatstop", - "edit_type": "colorbars" + "plotly_name": "texttemplatefallback", + "parent_name": "icicle", + "edit_type": "plot" }, - "superclass": "StringValidator" + "superclass": "AnyValidator" }, - "histogram2dcontour.colorbar.tickformatstop.enabled": { + "icicle.texttemplate": { "params": { - "plotly_name": "enabled", - "parent_name": "histogram2dcontour.colorbar.tickformatstop", - "edit_type": "colorbars" + "plotly_name": "texttemplate", + "parent_name": "icicle", + "array_ok": true, + "edit_type": "plot" }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "histogram2dcontour.colorbar.tickformatstop.dtickrange": { + "icicle.textposition": { "params": { - "plotly_name": "dtickrange", - "parent_name": "histogram2dcontour.colorbar.tickformatstop", - "edit_type": "colorbars", - "items": [ - { - "editType": "colorbars", - "valType": "any" - }, - { - "editType": "colorbars", - "valType": "any" - } + "plotly_name": "textposition", + "parent_name": "icicle", + "edit_type": "plot", + "values": [ + "top left", + "top center", + "top right", + "middle left", + "middle center", + "middle right", + "bottom left", + "bottom center", + "bottom right" ] }, - "superclass": "InfoArrayValidator" + "superclass": "EnumeratedValidator" }, - "histogram2dcontour.colorbar.tickformat": { + "icicle.textinfo": { "params": { - "plotly_name": "tickformat", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars" + "plotly_name": "textinfo", + "parent_name": "icicle", + "edit_type": "plot", + "extras": [ + "none" + ], + "flags": [ + "label", + "text", + "value", + "current path", + "percent root", + "percent entry", + "percent parent" + ] }, - "superclass": "StringValidator" + "superclass": "FlaglistValidator" }, - "histogram2dcontour.colorbar.tickfont": { + "icicle.textfont": { "params": { - "plotly_name": "tickfont", - "parent_name": "histogram2dcontour.colorbar", - "data_class_str": "Tickfont", + "plotly_name": "textfont", + "parent_name": "icicle", + "data_class_str": "Textfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram2dcontour.colorbar.tickfont.weight": { + "icicle.textfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "histogram2dcontour.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "icicle.textfont", + "array_ok": true, + "edit_type": "plot", "extras": [ "normal", "bold" @@ -93839,11 +78430,12 @@ }, "superclass": "IntegerValidator" }, - "histogram2dcontour.colorbar.tickfont.variant": { + "icicle.textfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "histogram2dcontour.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "icicle.textfont", + "array_ok": true, + "edit_type": "plot", "values": [ "normal", "small-caps", @@ -93855,11 +78447,12 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2dcontour.colorbar.tickfont.textcase": { + "icicle.textfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "histogram2dcontour.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "icicle.textfont", + "array_ok": true, + "edit_type": "plot", "values": [ "normal", "word caps", @@ -93869,11 +78462,12 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2dcontour.colorbar.tickfont.style": { + "icicle.textfont.style": { "params": { "plotly_name": "style", - "parent_name": "histogram2dcontour.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "icicle.textfont", + "array_ok": true, + "edit_type": "plot", "values": [ "normal", "italic" @@ -93881,28 +78475,31 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2dcontour.colorbar.tickfont.size": { + "icicle.textfont.size": { "params": { "plotly_name": "size", - "parent_name": "histogram2dcontour.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "icicle.textfont", + "array_ok": true, + "edit_type": "plot", "min": 1 }, "superclass": "NumberValidator" }, - "histogram2dcontour.colorbar.tickfont.shadow": { + "icicle.textfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "histogram2dcontour.colorbar.tickfont", - "edit_type": "colorbars" + "parent_name": "icicle.textfont", + "array_ok": true, + "edit_type": "plot" }, "superclass": "StringValidator" }, - "histogram2dcontour.colorbar.tickfont.lineposition": { + "icicle.textfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "histogram2dcontour.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "icicle.textfont", + "array_ok": true, + "edit_type": "plot", "extras": [ "none" ], @@ -93914,674 +78511,712 @@ }, "superclass": "FlaglistValidator" }, - "histogram2dcontour.colorbar.tickfont.family": { + "icicle.textfont.family": { "params": { "plotly_name": "family", - "parent_name": "histogram2dcontour.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "icicle.textfont", + "array_ok": true, + "edit_type": "plot", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "histogram2dcontour.colorbar.tickfont.color": { + "icicle.textfont.color": { "params": { "plotly_name": "color", - "parent_name": "histogram2dcontour.colorbar.tickfont", - "edit_type": "colorbars" - }, - "superclass": "ColorValidator" - }, - "histogram2dcontour.colorbar.tickcolor": { - "params": { - "plotly_name": "tickcolor", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars" + "parent_name": "icicle.textfont", + "array_ok": true, + "edit_type": "plot" }, "superclass": "ColorValidator" }, - "histogram2dcontour.colorbar.tickangle": { - "params": { - "plotly_name": "tickangle", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars" - }, - "superclass": "AngleValidator" - }, - "histogram2dcontour.colorbar.tick0": { - "params": { - "plotly_name": "tick0", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", - "implied_edits": { - "tickmode": "linear" - } - }, - "superclass": "AnyValidator" - }, - "histogram2dcontour.colorbar.thicknessmode": { - "params": { - "plotly_name": "thicknessmode", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", - "values": [ - "fraction", - "pixels" - ] - }, - "superclass": "EnumeratedValidator" - }, - "histogram2dcontour.colorbar.thickness": { - "params": { - "plotly_name": "thickness", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "histogram2dcontour.colorbar.showticksuffix": { - "params": { - "plotly_name": "showticksuffix", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "histogram2dcontour.colorbar.showtickprefix": { - "params": { - "plotly_name": "showtickprefix", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "histogram2dcontour.colorbar.showticklabels": { - "params": { - "plotly_name": "showticklabels", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars" - }, - "superclass": "BooleanValidator" - }, - "histogram2dcontour.colorbar.showexponent": { + "icicle.text": { "params": { - "plotly_name": "showexponent", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", - "values": [ - "all", - "first", - "last", - "none" - ] + "plotly_name": "text", + "parent_name": "icicle", + "edit_type": "plot" }, - "superclass": "EnumeratedValidator" + "superclass": "DataArrayValidator" }, - "histogram2dcontour.colorbar.separatethousands": { + "icicle.sort": { "params": { - "plotly_name": "separatethousands", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars" + "plotly_name": "sort", + "parent_name": "icicle", + "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "histogram2dcontour.colorbar.outlinewidth": { - "params": { - "plotly_name": "outlinewidth", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "histogram2dcontour.colorbar.outlinecolor": { - "params": { - "plotly_name": "outlinecolor", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars" - }, - "superclass": "ColorValidator" - }, - "histogram2dcontour.colorbar.orientation": { + "icicle.root": { "params": { - "plotly_name": "orientation", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", - "values": [ - "h", - "v" - ] + "plotly_name": "root", + "parent_name": "icicle", + "data_class_str": "Root", + "data_docs": "\n" }, - "superclass": "EnumeratedValidator" + "superclass": "CompoundValidator" }, - "histogram2dcontour.colorbar.nticks": { + "icicle.root.color": { "params": { - "plotly_name": "nticks", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "color", + "parent_name": "icicle.root", + "edit_type": "calc" }, - "superclass": "IntegerValidator" + "superclass": "ColorValidator" }, - "histogram2dcontour.colorbar.minexponent": { + "icicle.pathbar": { "params": { - "plotly_name": "minexponent", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "pathbar", + "parent_name": "icicle", + "data_class_str": "Pathbar", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "histogram2dcontour.colorbar.lenmode": { + "icicle.pathbar.visible": { "params": { - "plotly_name": "lenmode", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", - "values": [ - "fraction", - "pixels" - ] + "plotly_name": "visible", + "parent_name": "icicle.pathbar", + "edit_type": "plot" }, - "superclass": "EnumeratedValidator" + "superclass": "BooleanValidator" }, - "histogram2dcontour.colorbar.len": { + "icicle.pathbar.thickness": { "params": { - "plotly_name": "len", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "thickness", + "parent_name": "icicle.pathbar", + "edit_type": "plot", + "min": 12 }, "superclass": "NumberValidator" }, - "histogram2dcontour.colorbar.labelalias": { + "icicle.pathbar.textfont": { "params": { - "plotly_name": "labelalias", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars" + "plotly_name": "textfont", + "parent_name": "icicle.pathbar", + "data_class_str": "Textfont", + "data_docs": "\n" }, - "superclass": "AnyValidator" + "superclass": "CompoundValidator" }, - "histogram2dcontour.colorbar.exponentformat": { + "icicle.pathbar.textfont.weight": { "params": { - "plotly_name": "exponentformat", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", + "plotly_name": "weight", + "parent_name": "icicle.pathbar.textfont", + "array_ok": true, + "edit_type": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 + }, + "superclass": "IntegerValidator" + }, + "icicle.pathbar.textfont.variant": { + "params": { + "plotly_name": "variant", + "parent_name": "icicle.pathbar.textfont", + "array_ok": true, + "edit_type": "plot", "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] }, "superclass": "EnumeratedValidator" }, - "histogram2dcontour.colorbar.dtick": { + "icicle.pathbar.textfont.textcase": { "params": { - "plotly_name": "dtick", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", - "implied_edits": { - "tickmode": "linear" - } + "plotly_name": "textcase", + "parent_name": "icicle.pathbar.textfont", + "array_ok": true, + "edit_type": "plot", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, - "superclass": "AnyValidator" + "superclass": "EnumeratedValidator" }, - "histogram2dcontour.colorbar.borderwidth": { + "icicle.pathbar.textfont.style": { "params": { - "plotly_name": "borderwidth", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "style", + "parent_name": "icicle.pathbar.textfont", + "array_ok": true, + "edit_type": "plot", + "values": [ + "normal", + "italic" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "histogram2dcontour.colorbar.bordercolor": { + "icicle.pathbar.textfont.size": { "params": { - "plotly_name": "bordercolor", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars" + "plotly_name": "size", + "parent_name": "icicle.pathbar.textfont", + "array_ok": true, + "edit_type": "plot", + "min": 1 }, - "superclass": "ColorValidator" + "superclass": "NumberValidator" }, - "histogram2dcontour.colorbar.bgcolor": { + "icicle.pathbar.textfont.shadow": { "params": { - "plotly_name": "bgcolor", - "parent_name": "histogram2dcontour.colorbar", - "edit_type": "colorbars" + "plotly_name": "shadow", + "parent_name": "icicle.pathbar.textfont", + "array_ok": true, + "edit_type": "plot" }, - "superclass": "ColorValidator" + "superclass": "StringValidator" }, - "histogram2dcontour.coloraxis": { + "icicle.pathbar.textfont.lineposition": { "params": { - "plotly_name": "coloraxis", - "parent_name": "histogram2dcontour", - "dflt": null, - "edit_type": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" + "plotly_name": "lineposition", + "parent_name": "icicle.pathbar.textfont", + "array_ok": true, + "edit_type": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] }, - "superclass": "SubplotidValidator" + "superclass": "FlaglistValidator" }, - "histogram2dcontour.bingroup": { + "icicle.pathbar.textfont.family": { "params": { - "plotly_name": "bingroup", - "parent_name": "histogram2dcontour", - "edit_type": "calc" + "plotly_name": "family", + "parent_name": "icicle.pathbar.textfont", + "array_ok": true, + "edit_type": "plot", + "no_blank": true, + "strict": true }, "superclass": "StringValidator" }, - "histogram2dcontour.autocontour": { + "icicle.pathbar.textfont.color": { "params": { - "plotly_name": "autocontour", - "parent_name": "histogram2dcontour", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "color", + "parent_name": "icicle.pathbar.textfont", + "array_ok": true, + "edit_type": "plot" }, - "superclass": "BooleanValidator" + "superclass": "ColorValidator" }, - "histogram2dcontour.autocolorscale": { + "icicle.pathbar.side": { "params": { - "plotly_name": "autocolorscale", - "parent_name": "histogram2dcontour", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "side", + "parent_name": "icicle.pathbar", + "edit_type": "plot", + "values": [ + "top", + "bottom" + ] }, - "superclass": "BooleanValidator" + "superclass": "EnumeratedValidator" }, - "histogram2dcontour.autobiny": { + "icicle.pathbar.edgeshape": { "params": { - "plotly_name": "autobiny", - "parent_name": "histogram2dcontour", - "edit_type": "calc" + "plotly_name": "edgeshape", + "parent_name": "icicle.pathbar", + "edit_type": "plot", + "values": [ + ">", + "<", + "|", + "/", + "\\" + ] }, - "superclass": "BooleanValidator" + "superclass": "EnumeratedValidator" }, - "histogram2dcontour.autobinx": { + "icicle.parents": { "params": { - "plotly_name": "autobinx", - "parent_name": "histogram2dcontour", + "plotly_name": "parents", + "parent_name": "icicle", "edit_type": "calc" }, - "superclass": "BooleanValidator" + "superclass": "DataArrayValidator" }, - "histogram2d": { + "icicle.outsidetextfont": { "params": { - "plotly_name": "histogram2d", - "parent_name": "", - "data_class_str": "Histogram2d", + "plotly_name": "outsidetextfont", + "parent_name": "icicle", + "data_class_str": "Outsidetextfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram2d.zsrc": { + "icicle.outsidetextfont.weight": { "params": { - "plotly_name": "zsrc", - "parent_name": "histogram2d", - "edit_type": "none" + "plotly_name": "weight", + "parent_name": "icicle.outsidetextfont", + "array_ok": true, + "edit_type": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "SrcValidator" + "superclass": "IntegerValidator" }, - "histogram2d.zsmooth": { + "icicle.outsidetextfont.variant": { "params": { - "plotly_name": "zsmooth", - "parent_name": "histogram2d", - "edit_type": "calc", + "plotly_name": "variant", + "parent_name": "icicle.outsidetextfont", + "array_ok": true, + "edit_type": "plot", "values": [ - "fast", - "best", - false + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] }, "superclass": "EnumeratedValidator" }, - "histogram2d.zmin": { + "icicle.outsidetextfont.textcase": { "params": { - "plotly_name": "zmin", - "parent_name": "histogram2d", + "plotly_name": "textcase", + "parent_name": "icicle.outsidetextfont", + "array_ok": true, "edit_type": "plot", - "implied_edits": { - "zauto": false - } + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "histogram2d.zmid": { + "icicle.outsidetextfont.style": { "params": { - "plotly_name": "zmid", - "parent_name": "histogram2d", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "style", + "parent_name": "icicle.outsidetextfont", + "array_ok": true, + "edit_type": "plot", + "values": [ + "normal", + "italic" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "histogram2d.zmax": { + "icicle.outsidetextfont.size": { "params": { - "plotly_name": "zmax", - "parent_name": "histogram2d", + "plotly_name": "size", + "parent_name": "icicle.outsidetextfont", + "array_ok": true, "edit_type": "plot", - "implied_edits": { - "zauto": false - } + "min": 1 }, "superclass": "NumberValidator" }, - "histogram2d.zhoverformat": { + "icicle.outsidetextfont.shadow": { "params": { - "plotly_name": "zhoverformat", - "parent_name": "histogram2d", - "edit_type": "none" + "plotly_name": "shadow", + "parent_name": "icicle.outsidetextfont", + "array_ok": true, + "edit_type": "plot" }, "superclass": "StringValidator" }, - "histogram2d.zauto": { + "icicle.outsidetextfont.lineposition": { "params": { - "plotly_name": "zauto", - "parent_name": "histogram2d", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "lineposition", + "parent_name": "icicle.outsidetextfont", + "array_ok": true, + "edit_type": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] }, - "superclass": "BooleanValidator" + "superclass": "FlaglistValidator" }, - "histogram2d.z": { + "icicle.outsidetextfont.family": { "params": { - "plotly_name": "z", - "parent_name": "histogram2d", - "edit_type": "calc" + "plotly_name": "family", + "parent_name": "icicle.outsidetextfont", + "array_ok": true, + "edit_type": "plot", + "no_blank": true, + "strict": true }, - "superclass": "DataArrayValidator" + "superclass": "StringValidator" }, - "histogram2d.ysrc": { + "icicle.outsidetextfont.color": { "params": { - "plotly_name": "ysrc", - "parent_name": "histogram2d", - "edit_type": "none" + "plotly_name": "color", + "parent_name": "icicle.outsidetextfont", + "array_ok": true, + "edit_type": "plot" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "histogram2d.yhoverformat": { + "icicle.opacity": { "params": { - "plotly_name": "yhoverformat", - "parent_name": "histogram2d", - "edit_type": "none" + "plotly_name": "opacity", + "parent_name": "icicle", + "edit_type": "style", + "max": 1, + "min": 0 + }, + "superclass": "NumberValidator" + }, + "icicle.name": { + "params": { + "plotly_name": "name", + "parent_name": "icicle", + "edit_type": "style" }, "superclass": "StringValidator" }, - "histogram2d.ygap": { + "icicle.meta": { "params": { - "plotly_name": "ygap", - "parent_name": "histogram2d", - "edit_type": "plot", - "min": 0 + "plotly_name": "meta", + "parent_name": "icicle", + "array_ok": true, + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "histogram2d.ycalendar": { + "icicle.maxdepth": { "params": { - "plotly_name": "ycalendar", - "parent_name": "histogram2d", - "edit_type": "calc", - "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" - ] + "plotly_name": "maxdepth", + "parent_name": "icicle", + "edit_type": "plot" }, - "superclass": "EnumeratedValidator" + "superclass": "IntegerValidator" }, - "histogram2d.ybins": { + "icicle.marker": { "params": { - "plotly_name": "ybins", - "parent_name": "histogram2d", - "data_class_str": "YBins", + "plotly_name": "marker", + "parent_name": "icicle", + "data_class_str": "Marker", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram2d.ybins.start": { + "icicle.marker.showscale": { "params": { - "plotly_name": "start", - "parent_name": "histogram2d.ybins", + "plotly_name": "showscale", + "parent_name": "icicle.marker", "edit_type": "calc" }, - "superclass": "AnyValidator" + "superclass": "BooleanValidator" }, - "histogram2d.ybins.size": { + "icicle.marker.reversescale": { + "params": { + "plotly_name": "reversescale", + "parent_name": "icicle.marker", + "edit_type": "plot" + }, + "superclass": "BooleanValidator" + }, + "icicle.marker.pattern": { + "params": { + "plotly_name": "pattern", + "parent_name": "icicle.marker", + "data_class_str": "Pattern", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "icicle.marker.pattern.solidity": { + "params": { + "plotly_name": "solidity", + "parent_name": "icicle.marker.pattern", + "array_ok": true, + "edit_type": "style", + "max": 1, + "min": 0 + }, + "superclass": "NumberValidator" + }, + "icicle.marker.pattern.size": { "params": { "plotly_name": "size", - "parent_name": "histogram2d.ybins", - "edit_type": "calc" + "parent_name": "icicle.marker.pattern", + "array_ok": true, + "edit_type": "style", + "min": 0 }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "histogram2d.ybins.end": { + "icicle.marker.pattern.shape": { "params": { - "plotly_name": "end", - "parent_name": "histogram2d.ybins", - "edit_type": "calc" + "plotly_name": "shape", + "parent_name": "icicle.marker.pattern", + "array_ok": true, + "edit_type": "style", + "values": [ + "", + "/", + "\\", + "x", + "-", + "|", + "+", + "." + ] + }, + "superclass": "EnumeratedValidator" + }, + "icicle.marker.pattern.path": { + "params": { + "plotly_name": "path", + "parent_name": "icicle.marker.pattern", + "array_ok": true, + "edit_type": "style" }, - "superclass": "AnyValidator" + "superclass": "StringValidator" }, - "histogram2d.ybingroup": { + "icicle.marker.pattern.fillmode": { "params": { - "plotly_name": "ybingroup", - "parent_name": "histogram2d", - "edit_type": "calc" + "plotly_name": "fillmode", + "parent_name": "icicle.marker.pattern", + "edit_type": "style", + "values": [ + "replace", + "overlay" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "histogram2d.yaxis": { + "icicle.marker.pattern.fgopacity": { "params": { - "plotly_name": "yaxis", - "parent_name": "histogram2d", - "dflt": "y", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "fgopacity", + "parent_name": "icicle.marker.pattern", + "edit_type": "style", + "max": 1, + "min": 0 }, - "superclass": "SubplotidValidator" + "superclass": "NumberValidator" }, - "histogram2d.y": { + "icicle.marker.pattern.fgcolor": { "params": { - "plotly_name": "y", - "parent_name": "histogram2d", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "fgcolor", + "parent_name": "icicle.marker.pattern", + "array_ok": true, + "edit_type": "style" }, - "superclass": "DataArrayValidator" + "superclass": "ColorValidator" }, - "histogram2d.xsrc": { + "icicle.marker.pattern.bgcolor": { "params": { - "plotly_name": "xsrc", - "parent_name": "histogram2d", - "edit_type": "none" + "plotly_name": "bgcolor", + "parent_name": "icicle.marker.pattern", + "array_ok": true, + "edit_type": "style" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "histogram2d.xhoverformat": { + "icicle.marker.line": { "params": { - "plotly_name": "xhoverformat", - "parent_name": "histogram2d", - "edit_type": "none" + "plotly_name": "line", + "parent_name": "icicle.marker", + "data_class_str": "Line", + "data_docs": "\n" }, - "superclass": "StringValidator" + "superclass": "CompoundValidator" }, - "histogram2d.xgap": { + "icicle.marker.line.width": { "params": { - "plotly_name": "xgap", - "parent_name": "histogram2d", - "edit_type": "plot", + "plotly_name": "width", + "parent_name": "icicle.marker.line", + "array_ok": true, + "edit_type": "style", "min": 0 }, "superclass": "NumberValidator" }, - "histogram2d.xcalendar": { + "icicle.marker.line.color": { "params": { - "plotly_name": "xcalendar", - "parent_name": "histogram2d", + "plotly_name": "color", + "parent_name": "icicle.marker.line", + "array_ok": true, + "edit_type": "style" + }, + "superclass": "ColorValidator" + }, + "icicle.marker.colorscale": { + "params": { + "plotly_name": "colorscale", + "parent_name": "icicle.marker", "edit_type": "calc", - "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" - ] + "implied_edits": { + "autocolorscale": false + } }, - "superclass": "EnumeratedValidator" + "superclass": "ColorscaleValidator" }, - "histogram2d.xbins": { + "icicle.marker.colors": { "params": { - "plotly_name": "xbins", - "parent_name": "histogram2d", - "data_class_str": "XBins", + "plotly_name": "colors", + "parent_name": "icicle.marker", + "edit_type": "calc" + }, + "superclass": "DataArrayValidator" + }, + "icicle.marker.colorbar": { + "params": { + "plotly_name": "colorbar", + "parent_name": "icicle.marker", + "data_class_str": "ColorBar", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram2d.xbins.start": { + "icicle.marker.colorbar.yref": { "params": { - "plotly_name": "start", - "parent_name": "histogram2d.xbins", - "edit_type": "calc" + "plotly_name": "yref", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "container", + "paper" + ] }, - "superclass": "AnyValidator" + "superclass": "EnumeratedValidator" }, - "histogram2d.xbins.size": { + "icicle.marker.colorbar.ypad": { "params": { - "plotly_name": "size", - "parent_name": "histogram2d.xbins", - "edit_type": "calc" + "plotly_name": "ypad", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "histogram2d.xbins.end": { + "icicle.marker.colorbar.yanchor": { "params": { - "plotly_name": "end", - "parent_name": "histogram2d.xbins", - "edit_type": "calc" + "plotly_name": "yanchor", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "top", + "middle", + "bottom" + ] }, - "superclass": "AnyValidator" + "superclass": "EnumeratedValidator" }, - "histogram2d.xbingroup": { + "icicle.marker.colorbar.y": { "params": { - "plotly_name": "xbingroup", - "parent_name": "histogram2d", - "edit_type": "calc" + "plotly_name": "y", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "histogram2d.xaxis": { + "icicle.marker.colorbar.xref": { "params": { - "plotly_name": "xaxis", - "parent_name": "histogram2d", - "dflt": "x", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "xref", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "container", + "paper" + ] }, - "superclass": "SubplotidValidator" + "superclass": "EnumeratedValidator" }, - "histogram2d.x": { + "icicle.marker.colorbar.xpad": { "params": { - "plotly_name": "x", - "parent_name": "histogram2d", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "xpad", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "DataArrayValidator" + "superclass": "NumberValidator" }, - "histogram2d.visible": { + "icicle.marker.colorbar.xanchor": { "params": { - "plotly_name": "visible", - "parent_name": "histogram2d", - "edit_type": "calc", + "plotly_name": "xanchor", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", "values": [ - true, - false, - "legendonly" + "left", + "center", + "right" ] }, "superclass": "EnumeratedValidator" }, - "histogram2d.uirevision": { + "icicle.marker.colorbar.x": { "params": { - "plotly_name": "uirevision", - "parent_name": "histogram2d", - "edit_type": "none" + "plotly_name": "x", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "histogram2d.uid": { + "icicle.marker.colorbar.title": { "params": { - "plotly_name": "uid", - "parent_name": "histogram2d", - "edit_type": "plot" + "plotly_name": "title", + "parent_name": "icicle.marker.colorbar", + "data_class_str": "Title", + "data_docs": "\n" }, - "superclass": "StringValidator" + "superclass": "TitleValidator" }, - "histogram2d.texttemplatefallback": { + "icicle.marker.colorbar.title.text": { "params": { - "plotly_name": "texttemplatefallback", - "parent_name": "histogram2d", - "edit_type": "plot" + "plotly_name": "text", + "parent_name": "icicle.marker.colorbar.title", + "edit_type": "colorbars" }, - "superclass": "AnyValidator" + "superclass": "StringValidator" }, - "histogram2d.texttemplate": { + "icicle.marker.colorbar.title.side": { "params": { - "plotly_name": "texttemplate", - "parent_name": "histogram2d", - "edit_type": "plot" + "plotly_name": "side", + "parent_name": "icicle.marker.colorbar.title", + "edit_type": "colorbars", + "values": [ + "right", + "top", + "bottom" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "histogram2d.textfont": { + "icicle.marker.colorbar.title.font": { "params": { - "plotly_name": "textfont", - "parent_name": "histogram2d", - "data_class_str": "Textfont", + "plotly_name": "font", + "parent_name": "icicle.marker.colorbar.title", + "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram2d.textfont.weight": { + "icicle.marker.colorbar.title.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "histogram2d.textfont", - "edit_type": "plot", + "parent_name": "icicle.marker.colorbar.title.font", + "edit_type": "colorbars", "extras": [ "normal", "bold" @@ -94591,11 +79226,11 @@ }, "superclass": "IntegerValidator" }, - "histogram2d.textfont.variant": { + "icicle.marker.colorbar.title.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "histogram2d.textfont", - "edit_type": "plot", + "parent_name": "icicle.marker.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "small-caps", @@ -94607,11 +79242,11 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2d.textfont.textcase": { + "icicle.marker.colorbar.title.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "histogram2d.textfont", - "edit_type": "plot", + "parent_name": "icicle.marker.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "word caps", @@ -94621,11 +79256,11 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2d.textfont.style": { + "icicle.marker.colorbar.title.font.style": { "params": { "plotly_name": "style", - "parent_name": "histogram2d.textfont", - "edit_type": "plot", + "parent_name": "icicle.marker.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "italic" @@ -94633,28 +79268,28 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2d.textfont.size": { + "icicle.marker.colorbar.title.font.size": { "params": { "plotly_name": "size", - "parent_name": "histogram2d.textfont", - "edit_type": "plot", + "parent_name": "icicle.marker.colorbar.title.font", + "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "histogram2d.textfont.shadow": { + "icicle.marker.colorbar.title.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "histogram2d.textfont", - "edit_type": "plot" + "parent_name": "icicle.marker.colorbar.title.font", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "histogram2d.textfont.lineposition": { + "icicle.marker.colorbar.title.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "histogram2d.textfont", - "edit_type": "plot", + "parent_name": "icicle.marker.colorbar.title.font", + "edit_type": "colorbars", "extras": [ "none" ], @@ -94666,203 +79301,233 @@ }, "superclass": "FlaglistValidator" }, - "histogram2d.textfont.family": { + "icicle.marker.colorbar.title.font.family": { "params": { "plotly_name": "family", - "parent_name": "histogram2d.textfont", - "edit_type": "plot", + "parent_name": "icicle.marker.colorbar.title.font", + "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "histogram2d.textfont.color": { + "icicle.marker.colorbar.title.font.color": { "params": { "plotly_name": "color", - "parent_name": "histogram2d.textfont", - "edit_type": "style" + "parent_name": "icicle.marker.colorbar.title.font", + "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "histogram2d.stream": { + "icicle.marker.colorbar.tickwidth": { "params": { - "plotly_name": "stream", - "parent_name": "histogram2d", - "data_class_str": "Stream", - "data_docs": "\n" + "plotly_name": "tickwidth", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "CompoundValidator" + "superclass": "NumberValidator" }, - "histogram2d.stream.token": { + "icicle.marker.colorbar.tickvals": { "params": { - "plotly_name": "token", - "parent_name": "histogram2d.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true + "plotly_name": "tickvals", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "StringValidator" + "superclass": "DataArrayValidator" }, - "histogram2d.stream.maxpoints": { + "icicle.marker.colorbar.ticktext": { "params": { - "plotly_name": "maxpoints", - "parent_name": "histogram2d.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 + "plotly_name": "ticktext", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "histogram2d.showscale": { + "icicle.marker.colorbar.ticksuffix": { "params": { - "plotly_name": "showscale", - "parent_name": "histogram2d", - "edit_type": "calc" + "plotly_name": "ticksuffix", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "histogram2d.showlegend": { + "icicle.marker.colorbar.ticks": { "params": { - "plotly_name": "showlegend", - "parent_name": "histogram2d", - "edit_type": "style" + "plotly_name": "ticks", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "outside", + "inside", + "" + ] }, - "superclass": "BooleanValidator" + "superclass": "EnumeratedValidator" }, - "histogram2d.reversescale": { + "icicle.marker.colorbar.tickprefix": { "params": { - "plotly_name": "reversescale", - "parent_name": "histogram2d", - "edit_type": "plot" + "plotly_name": "tickprefix", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "histogram2d.opacity": { + "icicle.marker.colorbar.tickmode": { "params": { - "plotly_name": "opacity", - "parent_name": "histogram2d", - "edit_type": "style", - "max": 1, - "min": 0 + "plotly_name": "tickmode", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", + "implied_edits": {}, + "values": [ + "auto", + "linear", + "array" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "histogram2d.nbinsy": { + "icicle.marker.colorbar.ticklen": { "params": { - "plotly_name": "nbinsy", - "parent_name": "histogram2d", - "edit_type": "calc", + "plotly_name": "ticklen", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", "min": 0 }, - "superclass": "IntegerValidator" + "superclass": "NumberValidator" }, - "histogram2d.nbinsx": { + "icicle.marker.colorbar.ticklabelstep": { "params": { - "plotly_name": "nbinsx", - "parent_name": "histogram2d", - "edit_type": "calc", - "min": 0 + "plotly_name": "ticklabelstep", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", + "min": 1 }, "superclass": "IntegerValidator" }, - "histogram2d.name": { + "icicle.marker.colorbar.ticklabelposition": { "params": { - "plotly_name": "name", - "parent_name": "histogram2d", - "edit_type": "style" + "plotly_name": "ticklabelposition", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "histogram2d.metasrc": { + "icicle.marker.colorbar.ticklabeloverflow": { "params": { - "plotly_name": "metasrc", - "parent_name": "histogram2d", - "edit_type": "none" + "plotly_name": "ticklabeloverflow", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "allow", + "hide past div", + "hide past domain" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "histogram2d.meta": { + "icicle.marker.colorbar.tickformatstopdefaults": { "params": { - "plotly_name": "meta", - "parent_name": "histogram2d", - "array_ok": true, - "edit_type": "plot" + "plotly_name": "tickformatstopdefaults", + "parent_name": "icicle.marker.colorbar", + "data_class_str": "Tickformatstop", + "data_docs": "\n" }, - "superclass": "AnyValidator" + "superclass": "CompoundValidator" }, - "histogram2d.marker": { + "icicle.marker.colorbar.tickformatstops": { "params": { - "plotly_name": "marker", - "parent_name": "histogram2d", - "data_class_str": "Marker", + "plotly_name": "tickformatstops", + "parent_name": "icicle.marker.colorbar", + "data_class_str": "Tickformatstop", "data_docs": "\n" }, - "superclass": "CompoundValidator" + "superclass": "CompoundArrayValidator" }, - "histogram2d.marker.colorsrc": { + "icicle.marker.colorbar.tickformatstop.value": { "params": { - "plotly_name": "colorsrc", - "parent_name": "histogram2d.marker", - "edit_type": "none" + "plotly_name": "value", + "parent_name": "icicle.marker.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "histogram2d.marker.color": { + "icicle.marker.colorbar.tickformatstop.templateitemname": { "params": { - "plotly_name": "color", - "parent_name": "histogram2d.marker", - "edit_type": "calc" + "plotly_name": "templateitemname", + "parent_name": "icicle.marker.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "DataArrayValidator" + "superclass": "StringValidator" }, - "histogram2d.legendwidth": { + "icicle.marker.colorbar.tickformatstop.name": { "params": { - "plotly_name": "legendwidth", - "parent_name": "histogram2d", - "edit_type": "style", - "min": 0 + "plotly_name": "name", + "parent_name": "icicle.marker.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "histogram2d.legendrank": { + "icicle.marker.colorbar.tickformatstop.enabled": { "params": { - "plotly_name": "legendrank", - "parent_name": "histogram2d", - "edit_type": "style" + "plotly_name": "enabled", + "parent_name": "icicle.marker.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "histogram2d.legendgrouptitle": { + "icicle.marker.colorbar.tickformatstop.dtickrange": { "params": { - "plotly_name": "legendgrouptitle", - "parent_name": "histogram2d", - "data_class_str": "Legendgrouptitle", - "data_docs": "\n" + "plotly_name": "dtickrange", + "parent_name": "icicle.marker.colorbar.tickformatstop", + "edit_type": "colorbars", + "items": [ + { + "editType": "colorbars", + "valType": "any" + }, + { + "editType": "colorbars", + "valType": "any" + } + ] }, - "superclass": "CompoundValidator" + "superclass": "InfoArrayValidator" }, - "histogram2d.legendgrouptitle.text": { + "icicle.marker.colorbar.tickformat": { "params": { - "plotly_name": "text", - "parent_name": "histogram2d.legendgrouptitle", - "edit_type": "style" + "plotly_name": "tickformat", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "histogram2d.legendgrouptitle.font": { + "icicle.marker.colorbar.tickfont": { "params": { - "plotly_name": "font", - "parent_name": "histogram2d.legendgrouptitle", - "data_class_str": "Font", + "plotly_name": "tickfont", + "parent_name": "icicle.marker.colorbar", + "data_class_str": "Tickfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram2d.legendgrouptitle.font.weight": { + "icicle.marker.colorbar.tickfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "histogram2d.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "icicle.marker.colorbar.tickfont", + "edit_type": "colorbars", "extras": [ "normal", "bold" @@ -94872,11 +79537,11 @@ }, "superclass": "IntegerValidator" }, - "histogram2d.legendgrouptitle.font.variant": { + "icicle.marker.colorbar.tickfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "histogram2d.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "icicle.marker.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "small-caps", @@ -94888,11 +79553,11 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2d.legendgrouptitle.font.textcase": { + "icicle.marker.colorbar.tickfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "histogram2d.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "icicle.marker.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "word caps", @@ -94902,11 +79567,11 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2d.legendgrouptitle.font.style": { + "icicle.marker.colorbar.tickfont.style": { "params": { "plotly_name": "style", - "parent_name": "histogram2d.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "icicle.marker.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "italic" @@ -94914,28 +79579,28 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2d.legendgrouptitle.font.size": { + "icicle.marker.colorbar.tickfont.size": { "params": { "plotly_name": "size", - "parent_name": "histogram2d.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "icicle.marker.colorbar.tickfont", + "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "histogram2d.legendgrouptitle.font.shadow": { + "icicle.marker.colorbar.tickfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "histogram2d.legendgrouptitle.font", - "edit_type": "style" + "parent_name": "icicle.marker.colorbar.tickfont", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "histogram2d.legendgrouptitle.font.lineposition": { + "icicle.marker.colorbar.tickfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "histogram2d.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "icicle.marker.colorbar.tickfont", + "edit_type": "colorbars", "extras": [ "none" ], @@ -94947,593 +79612,375 @@ }, "superclass": "FlaglistValidator" }, - "histogram2d.legendgrouptitle.font.family": { + "icicle.marker.colorbar.tickfont.family": { "params": { "plotly_name": "family", - "parent_name": "histogram2d.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "icicle.marker.colorbar.tickfont", + "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "histogram2d.legendgrouptitle.font.color": { + "icicle.marker.colorbar.tickfont.color": { "params": { "plotly_name": "color", - "parent_name": "histogram2d.legendgrouptitle.font", - "edit_type": "style" + "parent_name": "icicle.marker.colorbar.tickfont", + "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "histogram2d.legendgroup": { - "params": { - "plotly_name": "legendgroup", - "parent_name": "histogram2d", - "edit_type": "style" - }, - "superclass": "StringValidator" - }, - "histogram2d.legend": { - "params": { - "plotly_name": "legend", - "parent_name": "histogram2d", - "dflt": "legend", - "edit_type": "style" - }, - "superclass": "SubplotidValidator" - }, - "histogram2d.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "histogram2d", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "histogram2d.ids": { + "icicle.marker.colorbar.tickcolor": { "params": { - "plotly_name": "ids", - "parent_name": "histogram2d", - "edit_type": "calc" + "plotly_name": "tickcolor", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "DataArrayValidator" + "superclass": "ColorValidator" }, - "histogram2d.hovertemplatesrc": { + "icicle.marker.colorbar.tickangle": { "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "histogram2d", - "edit_type": "none" + "plotly_name": "tickangle", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "AngleValidator" }, - "histogram2d.hovertemplatefallback": { + "icicle.marker.colorbar.tick0": { "params": { - "plotly_name": "hovertemplatefallback", - "parent_name": "histogram2d", - "edit_type": "none" + "plotly_name": "tick0", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", + "implied_edits": { + "tickmode": "linear" + } }, "superclass": "AnyValidator" }, - "histogram2d.hovertemplate": { - "params": { - "plotly_name": "hovertemplate", - "parent_name": "histogram2d", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "StringValidator" - }, - "histogram2d.hoverlabel": { - "params": { - "plotly_name": "hoverlabel", - "parent_name": "histogram2d", - "data_class_str": "Hoverlabel", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "histogram2d.hoverlabel.showarrow": { - "params": { - "plotly_name": "showarrow", - "parent_name": "histogram2d.hoverlabel", - "edit_type": "none" - }, - "superclass": "BooleanValidator" - }, - "histogram2d.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "histogram2d.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "histogram2d.hoverlabel.namelength": { - "params": { - "plotly_name": "namelength", - "parent_name": "histogram2d.hoverlabel", - "array_ok": true, - "edit_type": "none", - "min": -1 - }, - "superclass": "IntegerValidator" - }, - "histogram2d.hoverlabel.font": { - "params": { - "plotly_name": "font", - "parent_name": "histogram2d.hoverlabel", - "data_class_str": "Font", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "histogram2d.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "histogram2d.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "histogram2d.hoverlabel.font.weight": { - "params": { - "plotly_name": "weight", - "parent_name": "histogram2d.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "histogram2d.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "histogram2d.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "histogram2d.hoverlabel.font.variant": { + "icicle.marker.colorbar.thicknessmode": { "params": { - "plotly_name": "variant", - "parent_name": "histogram2d.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "plotly_name": "thicknessmode", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "fraction", + "pixels" ] }, "superclass": "EnumeratedValidator" }, - "histogram2d.hoverlabel.font.textcasesrc": { + "icicle.marker.colorbar.thickness": { "params": { - "plotly_name": "textcasesrc", - "parent_name": "histogram2d.hoverlabel.font", - "edit_type": "none" + "plotly_name": "thickness", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "histogram2d.hoverlabel.font.textcase": { + "icicle.marker.colorbar.showticksuffix": { "params": { - "plotly_name": "textcase", - "parent_name": "histogram2d.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "plotly_name": "showticksuffix", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", "values": [ - "normal", - "word caps", - "upper", - "lower" + "all", + "first", + "last", + "none" ] }, "superclass": "EnumeratedValidator" }, - "histogram2d.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "histogram2d.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "histogram2d.hoverlabel.font.style": { + "icicle.marker.colorbar.showtickprefix": { "params": { - "plotly_name": "style", - "parent_name": "histogram2d.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "plotly_name": "showtickprefix", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", "values": [ - "normal", - "italic" + "all", + "first", + "last", + "none" ] }, "superclass": "EnumeratedValidator" }, - "histogram2d.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "histogram2d.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "histogram2d.hoverlabel.font.size": { - "params": { - "plotly_name": "size", - "parent_name": "histogram2d.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "min": 1 - }, - "superclass": "NumberValidator" - }, - "histogram2d.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "histogram2d.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "histogram2d.hoverlabel.font.shadow": { - "params": { - "plotly_name": "shadow", - "parent_name": "histogram2d.hoverlabel.font", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "StringValidator" - }, - "histogram2d.hoverlabel.font.linepositionsrc": { + "icicle.marker.colorbar.showticklabels": { "params": { - "plotly_name": "linepositionsrc", - "parent_name": "histogram2d.hoverlabel.font", - "edit_type": "none" + "plotly_name": "showticklabels", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "histogram2d.hoverlabel.font.lineposition": { + "icicle.marker.colorbar.showexponent": { "params": { - "plotly_name": "lineposition", - "parent_name": "histogram2d.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "extras": [ + "plotly_name": "showexponent", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "all", + "first", + "last", "none" - ], - "flags": [ - "under", - "over", - "through" ] }, - "superclass": "FlaglistValidator" - }, - "histogram2d.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "histogram2d.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "histogram2d.hoverlabel.font.family": { - "params": { - "plotly_name": "family", - "parent_name": "histogram2d.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "histogram2d.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "histogram2d.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "histogram2d.hoverlabel.font.color": { + "icicle.marker.colorbar.separatethousands": { "params": { - "plotly_name": "color", - "parent_name": "histogram2d.hoverlabel.font", - "array_ok": true, - "edit_type": "none" + "plotly_name": "separatethousands", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "ColorValidator" + "superclass": "BooleanValidator" }, - "histogram2d.hoverlabel.bordercolorsrc": { + "icicle.marker.colorbar.outlinewidth": { "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "histogram2d.hoverlabel", - "edit_type": "none" + "plotly_name": "outlinewidth", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "histogram2d.hoverlabel.bordercolor": { + "icicle.marker.colorbar.outlinecolor": { "params": { - "plotly_name": "bordercolor", - "parent_name": "histogram2d.hoverlabel", - "array_ok": true, - "edit_type": "none" + "plotly_name": "outlinecolor", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "histogram2d.hoverlabel.bgcolorsrc": { + "icicle.marker.colorbar.orientation": { "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "histogram2d.hoverlabel", - "edit_type": "none" + "plotly_name": "orientation", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "h", + "v" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "histogram2d.hoverlabel.bgcolor": { + "icicle.marker.colorbar.nticks": { "params": { - "plotly_name": "bgcolor", - "parent_name": "histogram2d.hoverlabel", - "array_ok": true, - "edit_type": "none" + "plotly_name": "nticks", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "ColorValidator" + "superclass": "IntegerValidator" }, - "histogram2d.hoverlabel.alignsrc": { + "icicle.marker.colorbar.minexponent": { "params": { - "plotly_name": "alignsrc", - "parent_name": "histogram2d.hoverlabel", - "edit_type": "none" + "plotly_name": "minexponent", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "histogram2d.hoverlabel.align": { + "icicle.marker.colorbar.lenmode": { "params": { - "plotly_name": "align", - "parent_name": "histogram2d.hoverlabel", - "array_ok": true, - "edit_type": "none", + "plotly_name": "lenmode", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", "values": [ - "left", - "right", - "auto" + "fraction", + "pixels" ] }, "superclass": "EnumeratedValidator" }, - "histogram2d.hoverinfosrc": { + "icicle.marker.colorbar.len": { "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "histogram2d", - "edit_type": "none" + "plotly_name": "len", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "histogram2d.hoverinfo": { + "icicle.marker.colorbar.labelalias": { "params": { - "plotly_name": "hoverinfo", - "parent_name": "histogram2d", - "array_ok": true, - "edit_type": "none", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "x", - "y", - "z", - "text", - "name" - ] + "plotly_name": "labelalias", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "FlaglistValidator" + "superclass": "AnyValidator" }, - "histogram2d.histnorm": { + "icicle.marker.colorbar.exponentformat": { "params": { - "plotly_name": "histnorm", - "parent_name": "histogram2d", - "edit_type": "calc", + "plotly_name": "exponentformat", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", "values": [ - "", - "percent", - "probability", - "density", - "probability density" + "none", + "e", + "E", + "power", + "SI", + "B", + "SI extended" ] }, "superclass": "EnumeratedValidator" }, - "histogram2d.histfunc": { + "icicle.marker.colorbar.dtick": { "params": { - "plotly_name": "histfunc", - "parent_name": "histogram2d", - "edit_type": "calc", - "values": [ - "count", - "sum", - "avg", - "min", - "max" - ] + "plotly_name": "dtick", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", + "implied_edits": { + "tickmode": "linear" + } }, - "superclass": "EnumeratedValidator" + "superclass": "AnyValidator" + }, + "icicle.marker.colorbar.borderwidth": { + "params": { + "plotly_name": "borderwidth", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars", + "min": 0 + }, + "superclass": "NumberValidator" }, - "histogram2d.customdatasrc": { + "icicle.marker.colorbar.bordercolor": { "params": { - "plotly_name": "customdatasrc", - "parent_name": "histogram2d", - "edit_type": "none" + "plotly_name": "bordercolor", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "histogram2d.customdata": { + "icicle.marker.colorbar.bgcolor": { "params": { - "plotly_name": "customdata", - "parent_name": "histogram2d", - "edit_type": "calc" + "plotly_name": "bgcolor", + "parent_name": "icicle.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "DataArrayValidator" + "superclass": "ColorValidator" }, - "histogram2d.colorscale": { + "icicle.marker.coloraxis": { "params": { - "plotly_name": "colorscale", - "parent_name": "histogram2d", + "plotly_name": "coloraxis", + "parent_name": "icicle.marker", + "dflt": null, "edit_type": "calc", - "implied_edits": { - "autocolorscale": false - } + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" }, - "superclass": "ColorscaleValidator" + "superclass": "SubplotidValidator" }, - "histogram2d.colorbar": { + "icicle.marker.cmin": { "params": { - "plotly_name": "colorbar", - "parent_name": "histogram2d", - "data_class_str": "ColorBar", - "data_docs": "\n" + "plotly_name": "cmin", + "parent_name": "icicle.marker", + "edit_type": "plot", + "implied_edits": { + "cauto": false + } }, - "superclass": "CompoundValidator" + "superclass": "NumberValidator" }, - "histogram2d.colorbar.yref": { + "icicle.marker.cmid": { "params": { - "plotly_name": "yref", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", - "values": [ - "container", - "paper" - ] + "plotly_name": "cmid", + "parent_name": "icicle.marker", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "histogram2d.colorbar.ypad": { + "icicle.marker.cmax": { "params": { - "plotly_name": "ypad", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "cmax", + "parent_name": "icicle.marker", + "edit_type": "plot", + "implied_edits": { + "cauto": false + } }, "superclass": "NumberValidator" }, - "histogram2d.colorbar.yanchor": { + "icicle.marker.cauto": { "params": { - "plotly_name": "yanchor", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", - "values": [ - "top", - "middle", - "bottom" - ] + "plotly_name": "cauto", + "parent_name": "icicle.marker", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "EnumeratedValidator" + "superclass": "BooleanValidator" }, - "histogram2d.colorbar.y": { + "icicle.marker.autocolorscale": { "params": { - "plotly_name": "y", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars" + "plotly_name": "autocolorscale", + "parent_name": "icicle.marker", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "histogram2d.colorbar.xref": { + "icicle.level": { "params": { - "plotly_name": "xref", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", - "values": [ - "container", - "paper" - ] + "plotly_name": "level", + "parent_name": "icicle", + "anim": true, + "edit_type": "plot" }, - "superclass": "EnumeratedValidator" + "superclass": "AnyValidator" }, - "histogram2d.colorbar.xpad": { + "icicle.legendwidth": { "params": { - "plotly_name": "xpad", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", + "plotly_name": "legendwidth", + "parent_name": "icicle", + "edit_type": "style", "min": 0 }, "superclass": "NumberValidator" }, - "histogram2d.colorbar.xanchor": { - "params": { - "plotly_name": "xanchor", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", - "values": [ - "left", - "center", - "right" - ] - }, - "superclass": "EnumeratedValidator" - }, - "histogram2d.colorbar.x": { + "icicle.legendrank": { "params": { - "plotly_name": "x", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars" + "plotly_name": "legendrank", + "parent_name": "icicle", + "edit_type": "style" }, "superclass": "NumberValidator" }, - "histogram2d.colorbar.title": { + "icicle.legendgrouptitle": { "params": { - "plotly_name": "title", - "parent_name": "histogram2d.colorbar", - "data_class_str": "Title", + "plotly_name": "legendgrouptitle", + "parent_name": "icicle", + "data_class_str": "Legendgrouptitle", "data_docs": "\n" }, - "superclass": "TitleValidator" + "superclass": "CompoundValidator" }, - "histogram2d.colorbar.title.text": { + "icicle.legendgrouptitle.text": { "params": { "plotly_name": "text", - "parent_name": "histogram2d.colorbar.title", - "edit_type": "colorbars" + "parent_name": "icicle.legendgrouptitle", + "edit_type": "style" }, "superclass": "StringValidator" }, - "histogram2d.colorbar.title.side": { - "params": { - "plotly_name": "side", - "parent_name": "histogram2d.colorbar.title", - "edit_type": "colorbars", - "values": [ - "right", - "top", - "bottom" - ] - }, - "superclass": "EnumeratedValidator" - }, - "histogram2d.colorbar.title.font": { + "icicle.legendgrouptitle.font": { "params": { "plotly_name": "font", - "parent_name": "histogram2d.colorbar.title", + "parent_name": "icicle.legendgrouptitle", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram2d.colorbar.title.font.weight": { + "icicle.legendgrouptitle.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "histogram2d.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "icicle.legendgrouptitle.font", + "edit_type": "style", "extras": [ "normal", "bold" @@ -95543,11 +79990,11 @@ }, "superclass": "IntegerValidator" }, - "histogram2d.colorbar.title.font.variant": { + "icicle.legendgrouptitle.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "histogram2d.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "icicle.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "small-caps", @@ -95559,11 +80006,11 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2d.colorbar.title.font.textcase": { + "icicle.legendgrouptitle.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "histogram2d.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "icicle.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "word caps", @@ -95573,11 +80020,11 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2d.colorbar.title.font.style": { + "icicle.legendgrouptitle.font.style": { "params": { "plotly_name": "style", - "parent_name": "histogram2d.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "icicle.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "italic" @@ -95585,28 +80032,28 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2d.colorbar.title.font.size": { + "icicle.legendgrouptitle.font.size": { "params": { "plotly_name": "size", - "parent_name": "histogram2d.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "icicle.legendgrouptitle.font", + "edit_type": "style", "min": 1 }, "superclass": "NumberValidator" }, - "histogram2d.colorbar.title.font.shadow": { + "icicle.legendgrouptitle.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "histogram2d.colorbar.title.font", - "edit_type": "colorbars" + "parent_name": "icicle.legendgrouptitle.font", + "edit_type": "style" }, "superclass": "StringValidator" }, - "histogram2d.colorbar.title.font.lineposition": { + "icicle.legendgrouptitle.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "histogram2d.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "icicle.legendgrouptitle.font", + "edit_type": "style", "extras": [ "none" ], @@ -95618,249 +80065,262 @@ }, "superclass": "FlaglistValidator" }, - "histogram2d.colorbar.title.font.family": { + "icicle.legendgrouptitle.font.family": { "params": { "plotly_name": "family", - "parent_name": "histogram2d.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "icicle.legendgrouptitle.font", + "edit_type": "style", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "histogram2d.colorbar.title.font.color": { + "icicle.legendgrouptitle.font.color": { "params": { "plotly_name": "color", - "parent_name": "histogram2d.colorbar.title.font", - "edit_type": "colorbars" + "parent_name": "icicle.legendgrouptitle.font", + "edit_type": "style" }, "superclass": "ColorValidator" }, - "histogram2d.colorbar.tickwidth": { + "icicle.legend": { "params": { - "plotly_name": "tickwidth", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "legend", + "parent_name": "icicle", + "dflt": "legend", + "edit_type": "style" }, - "superclass": "NumberValidator" + "superclass": "SubplotidValidator" }, - "histogram2d.colorbar.tickvalssrc": { + "icicle.leaf": { "params": { - "plotly_name": "tickvalssrc", - "parent_name": "histogram2d.colorbar", - "edit_type": "none" + "plotly_name": "leaf", + "parent_name": "icicle", + "data_class_str": "Leaf", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "histogram2d.colorbar.tickvals": { + "icicle.leaf.opacity": { "params": { - "plotly_name": "tickvals", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars" + "plotly_name": "opacity", + "parent_name": "icicle.leaf", + "edit_type": "style", + "max": 1, + "min": 0 }, - "superclass": "DataArrayValidator" + "superclass": "NumberValidator" }, - "histogram2d.colorbar.ticktextsrc": { + "icicle.labels": { "params": { - "plotly_name": "ticktextsrc", - "parent_name": "histogram2d.colorbar", - "edit_type": "none" + "plotly_name": "labels", + "parent_name": "icicle", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "DataArrayValidator" }, - "histogram2d.colorbar.ticktext": { + "icicle.insidetextfont": { "params": { - "plotly_name": "ticktext", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars" + "plotly_name": "insidetextfont", + "parent_name": "icicle", + "data_class_str": "Insidetextfont", + "data_docs": "\n" }, - "superclass": "DataArrayValidator" + "superclass": "CompoundValidator" }, - "histogram2d.colorbar.ticksuffix": { + "icicle.insidetextfont.weight": { "params": { - "plotly_name": "ticksuffix", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars" + "plotly_name": "weight", + "parent_name": "icicle.insidetextfont", + "array_ok": true, + "edit_type": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "StringValidator" + "superclass": "IntegerValidator" }, - "histogram2d.colorbar.ticks": { + "icicle.insidetextfont.variant": { "params": { - "plotly_name": "ticks", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", + "plotly_name": "variant", + "parent_name": "icicle.insidetextfont", + "array_ok": true, + "edit_type": "plot", "values": [ - "outside", - "inside", - "" + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] }, "superclass": "EnumeratedValidator" }, - "histogram2d.colorbar.tickprefix": { + "icicle.insidetextfont.textcase": { "params": { - "plotly_name": "tickprefix", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars" + "plotly_name": "textcase", + "parent_name": "icicle.insidetextfont", + "array_ok": true, + "edit_type": "plot", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "histogram2d.colorbar.tickmode": { + "icicle.insidetextfont.style": { "params": { - "plotly_name": "tickmode", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", - "implied_edits": {}, + "plotly_name": "style", + "parent_name": "icicle.insidetextfont", + "array_ok": true, + "edit_type": "plot", "values": [ - "auto", - "linear", - "array" + "normal", + "italic" ] }, "superclass": "EnumeratedValidator" }, - "histogram2d.colorbar.ticklen": { + "icicle.insidetextfont.size": { "params": { - "plotly_name": "ticklen", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "size", + "parent_name": "icicle.insidetextfont", + "array_ok": true, + "edit_type": "plot", + "min": 1 }, "superclass": "NumberValidator" }, - "histogram2d.colorbar.ticklabelstep": { + "icicle.insidetextfont.shadow": { "params": { - "plotly_name": "ticklabelstep", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", - "min": 1 + "plotly_name": "shadow", + "parent_name": "icicle.insidetextfont", + "array_ok": true, + "edit_type": "plot" }, - "superclass": "IntegerValidator" + "superclass": "StringValidator" }, - "histogram2d.colorbar.ticklabelposition": { + "icicle.insidetextfont.lineposition": { "params": { - "plotly_name": "ticklabelposition", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" + "plotly_name": "lineposition", + "parent_name": "icicle.insidetextfont", + "array_ok": true, + "edit_type": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" ] }, - "superclass": "EnumeratedValidator" + "superclass": "FlaglistValidator" }, - "histogram2d.colorbar.ticklabeloverflow": { + "icicle.insidetextfont.family": { "params": { - "plotly_name": "ticklabeloverflow", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", - "values": [ - "allow", - "hide past div", - "hide past domain" - ] + "plotly_name": "family", + "parent_name": "icicle.insidetextfont", + "array_ok": true, + "edit_type": "plot", + "no_blank": true, + "strict": true }, - "superclass": "EnumeratedValidator" + "superclass": "StringValidator" }, - "histogram2d.colorbar.tickformatstopdefaults": { + "icicle.insidetextfont.color": { "params": { - "plotly_name": "tickformatstopdefaults", - "parent_name": "histogram2d.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" + "plotly_name": "color", + "parent_name": "icicle.insidetextfont", + "array_ok": true, + "edit_type": "plot" }, - "superclass": "CompoundValidator" + "superclass": "ColorValidator" }, - "histogram2d.colorbar.tickformatstops": { + "icicle.ids": { "params": { - "plotly_name": "tickformatstops", - "parent_name": "histogram2d.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" + "plotly_name": "ids", + "parent_name": "icicle", + "anim": true, + "edit_type": "calc" }, - "superclass": "CompoundArrayValidator" + "superclass": "DataArrayValidator" }, - "histogram2d.colorbar.tickformatstop.value": { + "icicle.hovertext": { "params": { - "plotly_name": "value", - "parent_name": "histogram2d.colorbar.tickformatstop", - "edit_type": "colorbars" + "plotly_name": "hovertext", + "parent_name": "icicle", + "array_ok": true, + "edit_type": "style" }, "superclass": "StringValidator" }, - "histogram2d.colorbar.tickformatstop.templateitemname": { + "icicle.hovertemplatefallback": { "params": { - "plotly_name": "templateitemname", - "parent_name": "histogram2d.colorbar.tickformatstop", - "edit_type": "colorbars" + "plotly_name": "hovertemplatefallback", + "parent_name": "icicle", + "edit_type": "none" }, - "superclass": "StringValidator" + "superclass": "AnyValidator" }, - "histogram2d.colorbar.tickformatstop.name": { + "icicle.hovertemplate": { "params": { - "plotly_name": "name", - "parent_name": "histogram2d.colorbar.tickformatstop", - "edit_type": "colorbars" + "plotly_name": "hovertemplate", + "parent_name": "icicle", + "array_ok": true, + "edit_type": "none" }, "superclass": "StringValidator" }, - "histogram2d.colorbar.tickformatstop.enabled": { + "icicle.hoverlabel": { "params": { - "plotly_name": "enabled", - "parent_name": "histogram2d.colorbar.tickformatstop", - "edit_type": "colorbars" + "plotly_name": "hoverlabel", + "parent_name": "icicle", + "data_class_str": "Hoverlabel", + "data_docs": "\n" }, - "superclass": "BooleanValidator" + "superclass": "CompoundValidator" }, - "histogram2d.colorbar.tickformatstop.dtickrange": { + "icicle.hoverlabel.showarrow": { "params": { - "plotly_name": "dtickrange", - "parent_name": "histogram2d.colorbar.tickformatstop", - "edit_type": "colorbars", - "items": [ - { - "editType": "colorbars", - "valType": "any" - }, - { - "editType": "colorbars", - "valType": "any" - } - ] + "plotly_name": "showarrow", + "parent_name": "icicle.hoverlabel", + "edit_type": "none" }, - "superclass": "InfoArrayValidator" + "superclass": "BooleanValidator" }, - "histogram2d.colorbar.tickformat": { + "icicle.hoverlabel.namelength": { "params": { - "plotly_name": "tickformat", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars" + "plotly_name": "namelength", + "parent_name": "icicle.hoverlabel", + "array_ok": true, + "edit_type": "none", + "min": -1 }, - "superclass": "StringValidator" + "superclass": "IntegerValidator" }, - "histogram2d.colorbar.tickfont": { + "icicle.hoverlabel.font": { "params": { - "plotly_name": "tickfont", - "parent_name": "histogram2d.colorbar", - "data_class_str": "Tickfont", + "plotly_name": "font", + "parent_name": "icicle.hoverlabel", + "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram2d.colorbar.tickfont.weight": { + "icicle.hoverlabel.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "histogram2d.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "icicle.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "extras": [ "normal", "bold" @@ -95870,11 +80330,12 @@ }, "superclass": "IntegerValidator" }, - "histogram2d.colorbar.tickfont.variant": { + "icicle.hoverlabel.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "histogram2d.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "icicle.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "small-caps", @@ -95886,11 +80347,12 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2d.colorbar.tickfont.textcase": { + "icicle.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "histogram2d.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "icicle.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "word caps", @@ -95900,11 +80362,12 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2d.colorbar.tickfont.style": { + "icicle.hoverlabel.font.style": { "params": { "plotly_name": "style", - "parent_name": "histogram2d.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "icicle.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "italic" @@ -95912,28 +80375,31 @@ }, "superclass": "EnumeratedValidator" }, - "histogram2d.colorbar.tickfont.size": { + "icicle.hoverlabel.font.size": { "params": { "plotly_name": "size", - "parent_name": "histogram2d.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "icicle.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "min": 1 }, "superclass": "NumberValidator" }, - "histogram2d.colorbar.tickfont.shadow": { + "icicle.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "histogram2d.colorbar.tickfont", - "edit_type": "colorbars" + "parent_name": "icicle.hoverlabel.font", + "array_ok": true, + "edit_type": "none" }, "superclass": "StringValidator" }, - "histogram2d.colorbar.tickfont.lineposition": { + "icicle.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "histogram2d.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "icicle.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "extras": [ "none" ], @@ -95945,339 +80411,262 @@ }, "superclass": "FlaglistValidator" }, - "histogram2d.colorbar.tickfont.family": { + "icicle.hoverlabel.font.family": { "params": { "plotly_name": "family", - "parent_name": "histogram2d.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "icicle.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "histogram2d.colorbar.tickfont.color": { + "icicle.hoverlabel.font.color": { "params": { "plotly_name": "color", - "parent_name": "histogram2d.colorbar.tickfont", - "edit_type": "colorbars" + "parent_name": "icicle.hoverlabel.font", + "array_ok": true, + "edit_type": "none" }, "superclass": "ColorValidator" }, - "histogram2d.colorbar.tickcolor": { + "icicle.hoverlabel.bordercolor": { "params": { - "plotly_name": "tickcolor", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars" + "plotly_name": "bordercolor", + "parent_name": "icicle.hoverlabel", + "array_ok": true, + "edit_type": "none" }, "superclass": "ColorValidator" }, - "histogram2d.colorbar.tickangle": { - "params": { - "plotly_name": "tickangle", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars" - }, - "superclass": "AngleValidator" - }, - "histogram2d.colorbar.tick0": { - "params": { - "plotly_name": "tick0", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", - "implied_edits": { - "tickmode": "linear" - } - }, - "superclass": "AnyValidator" - }, - "histogram2d.colorbar.thicknessmode": { - "params": { - "plotly_name": "thicknessmode", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", - "values": [ - "fraction", - "pixels" - ] - }, - "superclass": "EnumeratedValidator" - }, - "histogram2d.colorbar.thickness": { + "icicle.hoverlabel.bgcolor": { "params": { - "plotly_name": "thickness", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "bgcolor", + "parent_name": "icicle.hoverlabel", + "array_ok": true, + "edit_type": "none" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "histogram2d.colorbar.showticksuffix": { + "icicle.hoverlabel.align": { "params": { - "plotly_name": "showticksuffix", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", + "plotly_name": "align", + "parent_name": "icicle.hoverlabel", + "array_ok": true, + "edit_type": "none", "values": [ - "all", - "first", - "last", - "none" + "left", + "right", + "auto" ] }, "superclass": "EnumeratedValidator" }, - "histogram2d.colorbar.showtickprefix": { + "icicle.hoverinfo": { "params": { - "plotly_name": "showtickprefix", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", - "values": [ + "plotly_name": "hoverinfo", + "parent_name": "icicle", + "array_ok": true, + "edit_type": "none", + "extras": [ "all", - "first", - "last", - "none" + "none", + "skip" + ], + "flags": [ + "label", + "text", + "value", + "name", + "current path", + "percent root", + "percent entry", + "percent parent" ] }, - "superclass": "EnumeratedValidator" + "superclass": "FlaglistValidator" }, - "histogram2d.colorbar.showticklabels": { + "icicle.domain": { "params": { - "plotly_name": "showticklabels", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars" + "plotly_name": "domain", + "parent_name": "icicle", + "data_class_str": "Domain", + "data_docs": "\n" }, - "superclass": "BooleanValidator" + "superclass": "CompoundValidator" }, - "histogram2d.colorbar.showexponent": { + "icicle.domain.y": { "params": { - "plotly_name": "showexponent", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", - "values": [ - "all", - "first", - "last", - "none" + "plotly_name": "y", + "parent_name": "icicle.domain", + "edit_type": "calc", + "items": [ + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + } ] }, - "superclass": "EnumeratedValidator" - }, - "histogram2d.colorbar.separatethousands": { - "params": { - "plotly_name": "separatethousands", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars" - }, - "superclass": "BooleanValidator" - }, - "histogram2d.colorbar.outlinewidth": { - "params": { - "plotly_name": "outlinewidth", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "histogram2d.colorbar.outlinecolor": { - "params": { - "plotly_name": "outlinecolor", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars" - }, - "superclass": "ColorValidator" + "superclass": "InfoArrayValidator" }, - "histogram2d.colorbar.orientation": { + "icicle.domain.x": { "params": { - "plotly_name": "orientation", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", - "values": [ - "h", - "v" + "plotly_name": "x", + "parent_name": "icicle.domain", + "edit_type": "calc", + "items": [ + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + } ] }, - "superclass": "EnumeratedValidator" + "superclass": "InfoArrayValidator" }, - "histogram2d.colorbar.nticks": { + "icicle.domain.row": { "params": { - "plotly_name": "nticks", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", + "plotly_name": "row", + "parent_name": "icicle.domain", + "edit_type": "calc", "min": 0 }, "superclass": "IntegerValidator" }, - "histogram2d.colorbar.minexponent": { + "icicle.domain.column": { "params": { - "plotly_name": "minexponent", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", + "plotly_name": "column", + "parent_name": "icicle.domain", + "edit_type": "calc", "min": 0 }, - "superclass": "NumberValidator" - }, - "histogram2d.colorbar.lenmode": { - "params": { - "plotly_name": "lenmode", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", - "values": [ - "fraction", - "pixels" - ] - }, - "superclass": "EnumeratedValidator" + "superclass": "IntegerValidator" }, - "histogram2d.colorbar.len": { + "icicle.customdata": { "params": { - "plotly_name": "len", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "customdata", + "parent_name": "icicle", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "histogram2d.colorbar.labelalias": { + "icicle.count": { "params": { - "plotly_name": "labelalias", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars" + "plotly_name": "count", + "parent_name": "icicle", + "edit_type": "calc", + "flags": [ + "branches", + "leaves" + ] }, - "superclass": "AnyValidator" + "superclass": "FlaglistValidator" }, - "histogram2d.colorbar.exponentformat": { + "icicle.branchvalues": { "params": { - "plotly_name": "exponentformat", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", + "plotly_name": "branchvalues", + "parent_name": "icicle", + "edit_type": "calc", "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" + "remainder", + "total" ] }, "superclass": "EnumeratedValidator" }, - "histogram2d.colorbar.dtick": { + "histogram2dcontour": { "params": { - "plotly_name": "dtick", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", - "implied_edits": { - "tickmode": "linear" - } + "plotly_name": "histogram2dcontour", + "parent_name": "", + "data_class_str": "Histogram2dContour", + "data_docs": "\n" }, - "superclass": "AnyValidator" + "superclass": "CompoundValidator" }, - "histogram2d.colorbar.borderwidth": { + "histogram2dcontour.zmin": { "params": { - "plotly_name": "borderwidth", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "zmin", + "parent_name": "histogram2dcontour", + "edit_type": "calc", + "implied_edits": { + "zauto": false + } }, "superclass": "NumberValidator" }, - "histogram2d.colorbar.bordercolor": { - "params": { - "plotly_name": "bordercolor", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars" - }, - "superclass": "ColorValidator" - }, - "histogram2d.colorbar.bgcolor": { + "histogram2dcontour.zmid": { "params": { - "plotly_name": "bgcolor", - "parent_name": "histogram2d.colorbar", - "edit_type": "colorbars" + "plotly_name": "zmid", + "parent_name": "histogram2dcontour", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "ColorValidator" + "superclass": "NumberValidator" }, - "histogram2d.coloraxis": { + "histogram2dcontour.zmax": { "params": { - "plotly_name": "coloraxis", - "parent_name": "histogram2d", - "dflt": null, + "plotly_name": "zmax", + "parent_name": "histogram2dcontour", "edit_type": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" + "implied_edits": { + "zauto": false + } }, - "superclass": "SubplotidValidator" + "superclass": "NumberValidator" }, - "histogram2d.bingroup": { + "histogram2dcontour.zhoverformat": { "params": { - "plotly_name": "bingroup", - "parent_name": "histogram2d", - "edit_type": "calc" + "plotly_name": "zhoverformat", + "parent_name": "histogram2dcontour", + "edit_type": "none" }, "superclass": "StringValidator" }, - "histogram2d.autocolorscale": { + "histogram2dcontour.zauto": { "params": { - "plotly_name": "autocolorscale", - "parent_name": "histogram2d", + "plotly_name": "zauto", + "parent_name": "histogram2dcontour", "edit_type": "calc", "implied_edits": {} }, "superclass": "BooleanValidator" }, - "histogram2d.autobiny": { - "params": { - "plotly_name": "autobiny", - "parent_name": "histogram2d", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "histogram2d.autobinx": { + "histogram2dcontour.z": { "params": { - "plotly_name": "autobinx", - "parent_name": "histogram2d", + "plotly_name": "z", + "parent_name": "histogram2dcontour", "edit_type": "calc" }, - "superclass": "BooleanValidator" - }, - "histogram": { - "params": { - "plotly_name": "histogram", - "parent_name": "", - "data_class_str": "Histogram", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "histogram.zorder": { - "params": { - "plotly_name": "zorder", - "parent_name": "histogram", - "edit_type": "plot" - }, - "superclass": "IntegerValidator" - }, - "histogram.ysrc": { - "params": { - "plotly_name": "ysrc", - "parent_name": "histogram", - "edit_type": "none" - }, - "superclass": "SrcValidator" + "superclass": "DataArrayValidator" }, - "histogram.yhoverformat": { + "histogram2dcontour.yhoverformat": { "params": { "plotly_name": "yhoverformat", - "parent_name": "histogram", + "parent_name": "histogram2dcontour", "edit_type": "none" }, "superclass": "StringValidator" }, - "histogram.ycalendar": { + "histogram2dcontour.ycalendar": { "params": { "plotly_name": "ycalendar", - "parent_name": "histogram", + "parent_name": "histogram2dcontour", "edit_type": "calc", "values": [ "chinese", @@ -96300,76 +80689,76 @@ }, "superclass": "EnumeratedValidator" }, - "histogram.ybins": { + "histogram2dcontour.ybins": { "params": { "plotly_name": "ybins", - "parent_name": "histogram", + "parent_name": "histogram2dcontour", "data_class_str": "YBins", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram.ybins.start": { + "histogram2dcontour.ybins.start": { "params": { "plotly_name": "start", - "parent_name": "histogram.ybins", + "parent_name": "histogram2dcontour.ybins", "edit_type": "calc" }, "superclass": "AnyValidator" }, - "histogram.ybins.size": { + "histogram2dcontour.ybins.size": { "params": { "plotly_name": "size", - "parent_name": "histogram.ybins", + "parent_name": "histogram2dcontour.ybins", "edit_type": "calc" }, "superclass": "AnyValidator" }, - "histogram.ybins.end": { + "histogram2dcontour.ybins.end": { "params": { "plotly_name": "end", - "parent_name": "histogram.ybins", + "parent_name": "histogram2dcontour.ybins", "edit_type": "calc" }, "superclass": "AnyValidator" }, - "histogram.yaxis": { + "histogram2dcontour.ybingroup": { + "params": { + "plotly_name": "ybingroup", + "parent_name": "histogram2dcontour", + "edit_type": "calc" + }, + "superclass": "StringValidator" + }, + "histogram2dcontour.yaxis": { "params": { "plotly_name": "yaxis", - "parent_name": "histogram", + "parent_name": "histogram2dcontour", "dflt": "y", "edit_type": "calc+clearAxisTypes" }, "superclass": "SubplotidValidator" }, - "histogram.y": { + "histogram2dcontour.y": { "params": { "plotly_name": "y", - "parent_name": "histogram", + "parent_name": "histogram2dcontour", "edit_type": "calc+clearAxisTypes" }, "superclass": "DataArrayValidator" }, - "histogram.xsrc": { - "params": { - "plotly_name": "xsrc", - "parent_name": "histogram", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "histogram.xhoverformat": { + "histogram2dcontour.xhoverformat": { "params": { "plotly_name": "xhoverformat", - "parent_name": "histogram", + "parent_name": "histogram2dcontour", "edit_type": "none" }, "superclass": "StringValidator" }, - "histogram.xcalendar": { + "histogram2dcontour.xcalendar": { "params": { "plotly_name": "xcalendar", - "parent_name": "histogram", + "parent_name": "histogram2dcontour", "edit_type": "calc", "values": [ "chinese", @@ -96392,60 +80781,68 @@ }, "superclass": "EnumeratedValidator" }, - "histogram.xbins": { + "histogram2dcontour.xbins": { "params": { "plotly_name": "xbins", - "parent_name": "histogram", + "parent_name": "histogram2dcontour", "data_class_str": "XBins", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram.xbins.start": { + "histogram2dcontour.xbins.start": { "params": { "plotly_name": "start", - "parent_name": "histogram.xbins", + "parent_name": "histogram2dcontour.xbins", "edit_type": "calc" }, "superclass": "AnyValidator" }, - "histogram.xbins.size": { + "histogram2dcontour.xbins.size": { "params": { "plotly_name": "size", - "parent_name": "histogram.xbins", + "parent_name": "histogram2dcontour.xbins", "edit_type": "calc" }, "superclass": "AnyValidator" }, - "histogram.xbins.end": { + "histogram2dcontour.xbins.end": { "params": { "plotly_name": "end", - "parent_name": "histogram.xbins", + "parent_name": "histogram2dcontour.xbins", + "edit_type": "calc" + }, + "superclass": "AnyValidator" + }, + "histogram2dcontour.xbingroup": { + "params": { + "plotly_name": "xbingroup", + "parent_name": "histogram2dcontour", "edit_type": "calc" }, - "superclass": "AnyValidator" + "superclass": "StringValidator" }, - "histogram.xaxis": { + "histogram2dcontour.xaxis": { "params": { "plotly_name": "xaxis", - "parent_name": "histogram", + "parent_name": "histogram2dcontour", "dflt": "x", "edit_type": "calc+clearAxisTypes" }, "superclass": "SubplotidValidator" }, - "histogram.x": { + "histogram2dcontour.x": { "params": { "plotly_name": "x", - "parent_name": "histogram", + "parent_name": "histogram2dcontour", "edit_type": "calc+clearAxisTypes" }, "superclass": "DataArrayValidator" }, - "histogram.visible": { + "histogram2dcontour.visible": { "params": { "plotly_name": "visible", - "parent_name": "histogram", + "parent_name": "histogram2dcontour", "edit_type": "calc", "values": [ true, @@ -96455,127 +80852,51 @@ }, "superclass": "EnumeratedValidator" }, - "histogram.unselected": { - "params": { - "plotly_name": "unselected", - "parent_name": "histogram", - "data_class_str": "Unselected", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "histogram.unselected.textfont": { - "params": { - "plotly_name": "textfont", - "parent_name": "histogram.unselected", - "data_class_str": "Textfont", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "histogram.unselected.textfont.color": { - "params": { - "plotly_name": "color", - "parent_name": "histogram.unselected.textfont", - "edit_type": "style" - }, - "superclass": "ColorValidator" - }, - "histogram.unselected.marker": { - "params": { - "plotly_name": "marker", - "parent_name": "histogram.unselected", - "data_class_str": "Marker", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "histogram.unselected.marker.opacity": { - "params": { - "plotly_name": "opacity", - "parent_name": "histogram.unselected.marker", - "edit_type": "style", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "histogram.unselected.marker.color": { - "params": { - "plotly_name": "color", - "parent_name": "histogram.unselected.marker", - "edit_type": "style" - }, - "superclass": "ColorValidator" - }, - "histogram.uirevision": { + "histogram2dcontour.uirevision": { "params": { "plotly_name": "uirevision", - "parent_name": "histogram", + "parent_name": "histogram2dcontour", "edit_type": "none" }, "superclass": "AnyValidator" }, - "histogram.uid": { + "histogram2dcontour.uid": { "params": { "plotly_name": "uid", - "parent_name": "histogram", + "parent_name": "histogram2dcontour", "edit_type": "plot" }, "superclass": "StringValidator" }, - "histogram.texttemplatefallback": { + "histogram2dcontour.texttemplatefallback": { "params": { "plotly_name": "texttemplatefallback", - "parent_name": "histogram", + "parent_name": "histogram2dcontour", "edit_type": "plot" }, "superclass": "AnyValidator" }, - "histogram.texttemplate": { + "histogram2dcontour.texttemplate": { "params": { "plotly_name": "texttemplate", - "parent_name": "histogram", + "parent_name": "histogram2dcontour", "edit_type": "plot" }, "superclass": "StringValidator" }, - "histogram.textsrc": { - "params": { - "plotly_name": "textsrc", - "parent_name": "histogram", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "histogram.textposition": { - "params": { - "plotly_name": "textposition", - "parent_name": "histogram", - "array_ok": false, - "edit_type": "calc", - "values": [ - "inside", - "outside", - "auto", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "histogram.textfont": { + "histogram2dcontour.textfont": { "params": { "plotly_name": "textfont", - "parent_name": "histogram", + "parent_name": "histogram2dcontour", "data_class_str": "Textfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram.textfont.weight": { + "histogram2dcontour.textfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "histogram.textfont", + "parent_name": "histogram2dcontour.textfont", "edit_type": "plot", "extras": [ "normal", @@ -96586,10 +80907,10 @@ }, "superclass": "IntegerValidator" }, - "histogram.textfont.variant": { + "histogram2dcontour.textfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "histogram.textfont", + "parent_name": "histogram2dcontour.textfont", "edit_type": "plot", "values": [ "normal", @@ -96602,10 +80923,10 @@ }, "superclass": "EnumeratedValidator" }, - "histogram.textfont.textcase": { + "histogram2dcontour.textfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "histogram.textfont", + "parent_name": "histogram2dcontour.textfont", "edit_type": "plot", "values": [ "normal", @@ -96616,10 +80937,10 @@ }, "superclass": "EnumeratedValidator" }, - "histogram.textfont.style": { + "histogram2dcontour.textfont.style": { "params": { "plotly_name": "style", - "parent_name": "histogram.textfont", + "parent_name": "histogram2dcontour.textfont", "edit_type": "plot", "values": [ "normal", @@ -96628,27 +80949,27 @@ }, "superclass": "EnumeratedValidator" }, - "histogram.textfont.size": { + "histogram2dcontour.textfont.size": { "params": { "plotly_name": "size", - "parent_name": "histogram.textfont", + "parent_name": "histogram2dcontour.textfont", "edit_type": "plot", "min": 1 }, "superclass": "NumberValidator" }, - "histogram.textfont.shadow": { + "histogram2dcontour.textfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "histogram.textfont", + "parent_name": "histogram2dcontour.textfont", "edit_type": "plot" }, "superclass": "StringValidator" }, - "histogram.textfont.lineposition": { + "histogram2dcontour.textfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "histogram.textfont", + "parent_name": "histogram2dcontour.textfont", "edit_type": "plot", "extras": [ "none" @@ -96661,805 +80982,719 @@ }, "superclass": "FlaglistValidator" }, - "histogram.textfont.family": { + "histogram2dcontour.textfont.family": { "params": { "plotly_name": "family", - "parent_name": "histogram.textfont", + "parent_name": "histogram2dcontour.textfont", "edit_type": "plot", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "histogram.textfont.color": { + "histogram2dcontour.textfont.color": { "params": { "plotly_name": "color", - "parent_name": "histogram.textfont", + "parent_name": "histogram2dcontour.textfont", "edit_type": "style" }, "superclass": "ColorValidator" }, - "histogram.textangle": { - "params": { - "plotly_name": "textangle", - "parent_name": "histogram", - "edit_type": "plot" - }, - "superclass": "AngleValidator" - }, - "histogram.text": { + "histogram2dcontour.showscale": { "params": { - "plotly_name": "text", - "parent_name": "histogram", - "array_ok": true, + "plotly_name": "showscale", + "parent_name": "histogram2dcontour", "edit_type": "calc" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "histogram.stream": { + "histogram2dcontour.showlegend": { "params": { - "plotly_name": "stream", - "parent_name": "histogram", - "data_class_str": "Stream", - "data_docs": "\n" + "plotly_name": "showlegend", + "parent_name": "histogram2dcontour", + "edit_type": "style" }, - "superclass": "CompoundValidator" + "superclass": "BooleanValidator" }, - "histogram.stream.token": { + "histogram2dcontour.reversescale": { "params": { - "plotly_name": "token", - "parent_name": "histogram.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true + "plotly_name": "reversescale", + "parent_name": "histogram2dcontour", + "edit_type": "plot" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "histogram.stream.maxpoints": { + "histogram2dcontour.opacity": { "params": { - "plotly_name": "maxpoints", - "parent_name": "histogram.stream", - "edit_type": "calc", - "max": 10000, + "plotly_name": "opacity", + "parent_name": "histogram2dcontour", + "edit_type": "style", + "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "histogram.showlegend": { + "histogram2dcontour.ncontours": { "params": { - "plotly_name": "showlegend", - "parent_name": "histogram", - "edit_type": "style" + "plotly_name": "ncontours", + "parent_name": "histogram2dcontour", + "edit_type": "calc", + "min": 1 }, - "superclass": "BooleanValidator" + "superclass": "IntegerValidator" }, - "histogram.selectedpoints": { + "histogram2dcontour.nbinsy": { "params": { - "plotly_name": "selectedpoints", - "parent_name": "histogram", - "edit_type": "calc" + "plotly_name": "nbinsy", + "parent_name": "histogram2dcontour", + "edit_type": "calc", + "min": 0 }, - "superclass": "AnyValidator" + "superclass": "IntegerValidator" }, - "histogram.selected": { + "histogram2dcontour.nbinsx": { "params": { - "plotly_name": "selected", - "parent_name": "histogram", - "data_class_str": "Selected", - "data_docs": "\n" + "plotly_name": "nbinsx", + "parent_name": "histogram2dcontour", + "edit_type": "calc", + "min": 0 }, - "superclass": "CompoundValidator" + "superclass": "IntegerValidator" }, - "histogram.selected.textfont": { + "histogram2dcontour.name": { "params": { - "plotly_name": "textfont", - "parent_name": "histogram.selected", - "data_class_str": "Textfont", - "data_docs": "\n" + "plotly_name": "name", + "parent_name": "histogram2dcontour", + "edit_type": "style" }, - "superclass": "CompoundValidator" + "superclass": "StringValidator" }, - "histogram.selected.textfont.color": { + "histogram2dcontour.meta": { "params": { - "plotly_name": "color", - "parent_name": "histogram.selected.textfont", - "edit_type": "style" + "plotly_name": "meta", + "parent_name": "histogram2dcontour", + "array_ok": true, + "edit_type": "plot" }, - "superclass": "ColorValidator" + "superclass": "AnyValidator" }, - "histogram.selected.marker": { + "histogram2dcontour.marker": { "params": { "plotly_name": "marker", - "parent_name": "histogram.selected", + "parent_name": "histogram2dcontour", "data_class_str": "Marker", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram.selected.marker.opacity": { - "params": { - "plotly_name": "opacity", - "parent_name": "histogram.selected.marker", - "edit_type": "style", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "histogram.selected.marker.color": { + "histogram2dcontour.marker.color": { "params": { "plotly_name": "color", - "parent_name": "histogram.selected.marker", - "edit_type": "style" + "parent_name": "histogram2dcontour.marker", + "edit_type": "calc" }, - "superclass": "ColorValidator" + "superclass": "DataArrayValidator" }, - "histogram.outsidetextfont": { + "histogram2dcontour.line": { "params": { - "plotly_name": "outsidetextfont", - "parent_name": "histogram", - "data_class_str": "Outsidetextfont", + "plotly_name": "line", + "parent_name": "histogram2dcontour", + "data_class_str": "Line", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram.outsidetextfont.weight": { - "params": { - "plotly_name": "weight", - "parent_name": "histogram.outsidetextfont", - "edit_type": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "histogram.outsidetextfont.variant": { - "params": { - "plotly_name": "variant", - "parent_name": "histogram.outsidetextfont", - "edit_type": "plot", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "superclass": "EnumeratedValidator" - }, - "histogram.outsidetextfont.textcase": { - "params": { - "plotly_name": "textcase", - "parent_name": "histogram.outsidetextfont", - "edit_type": "plot", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "superclass": "EnumeratedValidator" - }, - "histogram.outsidetextfont.style": { + "histogram2dcontour.line.width": { "params": { - "plotly_name": "style", - "parent_name": "histogram.outsidetextfont", - "edit_type": "plot", - "values": [ - "normal", - "italic" - ] + "plotly_name": "width", + "parent_name": "histogram2dcontour.line", + "edit_type": "style+colorbars", + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "histogram.outsidetextfont.size": { + "histogram2dcontour.line.smoothing": { "params": { - "plotly_name": "size", - "parent_name": "histogram.outsidetextfont", + "plotly_name": "smoothing", + "parent_name": "histogram2dcontour.line", "edit_type": "plot", - "min": 1 + "max": 1.3, + "min": 0 }, "superclass": "NumberValidator" }, - "histogram.outsidetextfont.shadow": { - "params": { - "plotly_name": "shadow", - "parent_name": "histogram.outsidetextfont", - "edit_type": "plot" - }, - "superclass": "StringValidator" - }, - "histogram.outsidetextfont.lineposition": { + "histogram2dcontour.line.dash": { "params": { - "plotly_name": "lineposition", - "parent_name": "histogram.outsidetextfont", - "edit_type": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" + "plotly_name": "dash", + "parent_name": "histogram2dcontour.line", + "edit_type": "style", + "values": [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" ] }, - "superclass": "FlaglistValidator" - }, - "histogram.outsidetextfont.family": { - "params": { - "plotly_name": "family", - "parent_name": "histogram.outsidetextfont", - "edit_type": "plot", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" + "superclass": "DashValidator" }, - "histogram.outsidetextfont.color": { + "histogram2dcontour.line.color": { "params": { "plotly_name": "color", - "parent_name": "histogram.outsidetextfont", - "edit_type": "style" + "parent_name": "histogram2dcontour.line", + "edit_type": "style+colorbars" }, "superclass": "ColorValidator" }, - "histogram.orientation": { - "params": { - "plotly_name": "orientation", - "parent_name": "histogram", - "edit_type": "calc+clearAxisTypes", - "values": [ - "v", - "h" - ] - }, - "superclass": "EnumeratedValidator" - }, - "histogram.opacity": { + "histogram2dcontour.legendwidth": { "params": { - "plotly_name": "opacity", - "parent_name": "histogram", + "plotly_name": "legendwidth", + "parent_name": "histogram2dcontour", "edit_type": "style", - "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "histogram.offsetgroup": { - "params": { - "plotly_name": "offsetgroup", - "parent_name": "histogram", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "histogram.nbinsy": { - "params": { - "plotly_name": "nbinsy", - "parent_name": "histogram", - "edit_type": "calc", - "min": 0 - }, - "superclass": "IntegerValidator" - }, - "histogram.nbinsx": { - "params": { - "plotly_name": "nbinsx", - "parent_name": "histogram", - "edit_type": "calc", - "min": 0 - }, - "superclass": "IntegerValidator" - }, - "histogram.name": { + "histogram2dcontour.legendrank": { "params": { - "plotly_name": "name", - "parent_name": "histogram", + "plotly_name": "legendrank", + "parent_name": "histogram2dcontour", "edit_type": "style" }, - "superclass": "StringValidator" - }, - "histogram.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "histogram", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "histogram.meta": { - "params": { - "plotly_name": "meta", - "parent_name": "histogram", - "array_ok": true, - "edit_type": "plot" - }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "histogram.marker": { + "histogram2dcontour.legendgrouptitle": { "params": { - "plotly_name": "marker", - "parent_name": "histogram", - "data_class_str": "Marker", + "plotly_name": "legendgrouptitle", + "parent_name": "histogram2dcontour", + "data_class_str": "Legendgrouptitle", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram.marker.showscale": { - "params": { - "plotly_name": "showscale", - "parent_name": "histogram.marker", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "histogram.marker.reversescale": { + "histogram2dcontour.legendgrouptitle.text": { "params": { - "plotly_name": "reversescale", - "parent_name": "histogram.marker", - "edit_type": "plot" + "plotly_name": "text", + "parent_name": "histogram2dcontour.legendgrouptitle", + "edit_type": "style" }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "histogram.marker.pattern": { + "histogram2dcontour.legendgrouptitle.font": { "params": { - "plotly_name": "pattern", - "parent_name": "histogram.marker", - "data_class_str": "Pattern", + "plotly_name": "font", + "parent_name": "histogram2dcontour.legendgrouptitle", + "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram.marker.pattern.soliditysrc": { - "params": { - "plotly_name": "soliditysrc", - "parent_name": "histogram.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "histogram.marker.pattern.solidity": { + "histogram2dcontour.legendgrouptitle.font.weight": { "params": { - "plotly_name": "solidity", - "parent_name": "histogram.marker.pattern", - "array_ok": true, + "plotly_name": "weight", + "parent_name": "histogram2dcontour.legendgrouptitle.font", "edit_type": "style", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "histogram.marker.pattern.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "histogram.marker.pattern", - "edit_type": "none" + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "SrcValidator" + "superclass": "IntegerValidator" }, - "histogram.marker.pattern.size": { + "histogram2dcontour.legendgrouptitle.font.variant": { "params": { - "plotly_name": "size", - "parent_name": "histogram.marker.pattern", - "array_ok": true, + "plotly_name": "variant", + "parent_name": "histogram2dcontour.legendgrouptitle.font", "edit_type": "style", - "min": 0 + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "histogram.marker.pattern.shapesrc": { + "histogram2dcontour.legendgrouptitle.font.textcase": { "params": { - "plotly_name": "shapesrc", - "parent_name": "histogram.marker.pattern", - "edit_type": "none" + "plotly_name": "textcase", + "parent_name": "histogram2dcontour.legendgrouptitle.font", + "edit_type": "style", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "histogram.marker.pattern.shape": { + "histogram2dcontour.legendgrouptitle.font.style": { "params": { - "plotly_name": "shape", - "parent_name": "histogram.marker.pattern", - "array_ok": true, + "plotly_name": "style", + "parent_name": "histogram2dcontour.legendgrouptitle.font", "edit_type": "style", "values": [ - "", - "/", - "\\", - "x", - "-", - "|", - "+", - "." + "normal", + "italic" ] }, "superclass": "EnumeratedValidator" }, - "histogram.marker.pattern.pathsrc": { + "histogram2dcontour.legendgrouptitle.font.size": { "params": { - "plotly_name": "pathsrc", - "parent_name": "histogram.marker.pattern", - "edit_type": "none" + "plotly_name": "size", + "parent_name": "histogram2dcontour.legendgrouptitle.font", + "edit_type": "style", + "min": 1 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "histogram.marker.pattern.path": { + "histogram2dcontour.legendgrouptitle.font.shadow": { "params": { - "plotly_name": "path", - "parent_name": "histogram.marker.pattern", - "array_ok": true, + "plotly_name": "shadow", + "parent_name": "histogram2dcontour.legendgrouptitle.font", "edit_type": "style" }, "superclass": "StringValidator" }, - "histogram.marker.pattern.fillmode": { + "histogram2dcontour.legendgrouptitle.font.lineposition": { "params": { - "plotly_name": "fillmode", - "parent_name": "histogram.marker.pattern", + "plotly_name": "lineposition", + "parent_name": "histogram2dcontour.legendgrouptitle.font", "edit_type": "style", - "values": [ - "replace", - "overlay" + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" ] }, - "superclass": "EnumeratedValidator" + "superclass": "FlaglistValidator" }, - "histogram.marker.pattern.fgopacity": { + "histogram2dcontour.legendgrouptitle.font.family": { "params": { - "plotly_name": "fgopacity", - "parent_name": "histogram.marker.pattern", + "plotly_name": "family", + "parent_name": "histogram2dcontour.legendgrouptitle.font", "edit_type": "style", - "max": 1, - "min": 0 + "no_blank": true, + "strict": true }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "histogram.marker.pattern.fgcolorsrc": { + "histogram2dcontour.legendgrouptitle.font.color": { "params": { - "plotly_name": "fgcolorsrc", - "parent_name": "histogram.marker.pattern", - "edit_type": "none" + "plotly_name": "color", + "parent_name": "histogram2dcontour.legendgrouptitle.font", + "edit_type": "style" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "histogram.marker.pattern.fgcolor": { + "histogram2dcontour.legendgroup": { "params": { - "plotly_name": "fgcolor", - "parent_name": "histogram.marker.pattern", - "array_ok": true, + "plotly_name": "legendgroup", + "parent_name": "histogram2dcontour", "edit_type": "style" }, - "superclass": "ColorValidator" + "superclass": "StringValidator" }, - "histogram.marker.pattern.bgcolorsrc": { + "histogram2dcontour.legend": { "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "histogram.marker.pattern", - "edit_type": "none" + "plotly_name": "legend", + "parent_name": "histogram2dcontour", + "dflt": "legend", + "edit_type": "style" }, - "superclass": "SrcValidator" + "superclass": "SubplotidValidator" }, - "histogram.marker.pattern.bgcolor": { + "histogram2dcontour.ids": { "params": { - "plotly_name": "bgcolor", - "parent_name": "histogram.marker.pattern", - "array_ok": true, - "edit_type": "style" + "plotly_name": "ids", + "parent_name": "histogram2dcontour", + "edit_type": "calc" }, - "superclass": "ColorValidator" + "superclass": "DataArrayValidator" }, - "histogram.marker.opacitysrc": { + "histogram2dcontour.hovertemplatefallback": { "params": { - "plotly_name": "opacitysrc", - "parent_name": "histogram.marker", + "plotly_name": "hovertemplatefallback", + "parent_name": "histogram2dcontour", "edit_type": "none" }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "histogram.marker.opacity": { + "histogram2dcontour.hovertemplate": { "params": { - "plotly_name": "opacity", - "parent_name": "histogram.marker", + "plotly_name": "hovertemplate", + "parent_name": "histogram2dcontour", "array_ok": true, - "edit_type": "style", - "max": 1, - "min": 0 + "edit_type": "none" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "histogram.marker.line": { + "histogram2dcontour.hoverlabel": { "params": { - "plotly_name": "line", - "parent_name": "histogram.marker", - "data_class_str": "Line", + "plotly_name": "hoverlabel", + "parent_name": "histogram2dcontour", + "data_class_str": "Hoverlabel", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram.marker.line.widthsrc": { + "histogram2dcontour.hoverlabel.showarrow": { "params": { - "plotly_name": "widthsrc", - "parent_name": "histogram.marker.line", + "plotly_name": "showarrow", + "parent_name": "histogram2dcontour.hoverlabel", "edit_type": "none" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "histogram.marker.line.width": { + "histogram2dcontour.hoverlabel.namelength": { "params": { - "plotly_name": "width", - "parent_name": "histogram.marker.line", + "plotly_name": "namelength", + "parent_name": "histogram2dcontour.hoverlabel", "array_ok": true, - "edit_type": "style", - "min": 0 + "edit_type": "none", + "min": -1 }, - "superclass": "NumberValidator" + "superclass": "IntegerValidator" }, - "histogram.marker.line.reversescale": { + "histogram2dcontour.hoverlabel.font": { "params": { - "plotly_name": "reversescale", - "parent_name": "histogram.marker.line", - "edit_type": "plot" + "plotly_name": "font", + "parent_name": "histogram2dcontour.hoverlabel", + "data_class_str": "Font", + "data_docs": "\n" }, - "superclass": "BooleanValidator" + "superclass": "CompoundValidator" }, - "histogram.marker.line.colorsrc": { + "histogram2dcontour.hoverlabel.font.weight": { "params": { - "plotly_name": "colorsrc", - "parent_name": "histogram.marker.line", - "edit_type": "none" + "plotly_name": "weight", + "parent_name": "histogram2dcontour.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "SrcValidator" + "superclass": "IntegerValidator" }, - "histogram.marker.line.colorscale": { + "histogram2dcontour.hoverlabel.font.variant": { "params": { - "plotly_name": "colorscale", - "parent_name": "histogram.marker.line", - "edit_type": "calc", - "implied_edits": { - "autocolorscale": false - } + "plotly_name": "variant", + "parent_name": "histogram2dcontour.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] }, - "superclass": "ColorscaleValidator" + "superclass": "EnumeratedValidator" }, - "histogram.marker.line.coloraxis": { + "histogram2dcontour.hoverlabel.font.textcase": { "params": { - "plotly_name": "coloraxis", - "parent_name": "histogram.marker.line", - "dflt": null, - "edit_type": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" + "plotly_name": "textcase", + "parent_name": "histogram2dcontour.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, - "superclass": "SubplotidValidator" + "superclass": "EnumeratedValidator" }, - "histogram.marker.line.color": { + "histogram2dcontour.hoverlabel.font.style": { "params": { - "plotly_name": "color", - "parent_name": "histogram.marker.line", + "plotly_name": "style", + "parent_name": "histogram2dcontour.hoverlabel.font", "array_ok": true, - "edit_type": "style", - "colorscale_path": "histogram.marker.line.colorscale" + "edit_type": "none", + "values": [ + "normal", + "italic" + ] }, - "superclass": "ColorValidator" + "superclass": "EnumeratedValidator" }, - "histogram.marker.line.cmin": { + "histogram2dcontour.hoverlabel.font.size": { "params": { - "plotly_name": "cmin", - "parent_name": "histogram.marker.line", - "edit_type": "plot", - "implied_edits": { - "cauto": false - } + "plotly_name": "size", + "parent_name": "histogram2dcontour.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "min": 1 }, "superclass": "NumberValidator" }, - "histogram.marker.line.cmid": { + "histogram2dcontour.hoverlabel.font.shadow": { "params": { - "plotly_name": "cmid", - "parent_name": "histogram.marker.line", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "shadow", + "parent_name": "histogram2dcontour.hoverlabel.font", + "array_ok": true, + "edit_type": "none" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "histogram.marker.line.cmax": { + "histogram2dcontour.hoverlabel.font.lineposition": { "params": { - "plotly_name": "cmax", - "parent_name": "histogram.marker.line", - "edit_type": "plot", - "implied_edits": { - "cauto": false - } + "plotly_name": "lineposition", + "parent_name": "histogram2dcontour.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] }, - "superclass": "NumberValidator" + "superclass": "FlaglistValidator" }, - "histogram.marker.line.cauto": { + "histogram2dcontour.hoverlabel.font.family": { "params": { - "plotly_name": "cauto", - "parent_name": "histogram.marker.line", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "family", + "parent_name": "histogram2dcontour.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "no_blank": true, + "strict": true }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "histogram.marker.line.autocolorscale": { + "histogram2dcontour.hoverlabel.font.color": { "params": { - "plotly_name": "autocolorscale", - "parent_name": "histogram.marker.line", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "color", + "parent_name": "histogram2dcontour.hoverlabel.font", + "array_ok": true, + "edit_type": "none" }, - "superclass": "BooleanValidator" + "superclass": "ColorValidator" }, - "histogram.marker.cornerradius": { + "histogram2dcontour.hoverlabel.bordercolor": { "params": { - "plotly_name": "cornerradius", - "parent_name": "histogram.marker", - "edit_type": "calc" + "plotly_name": "bordercolor", + "parent_name": "histogram2dcontour.hoverlabel", + "array_ok": true, + "edit_type": "none" }, - "superclass": "AnyValidator" + "superclass": "ColorValidator" }, - "histogram.marker.colorsrc": { + "histogram2dcontour.hoverlabel.bgcolor": { "params": { - "plotly_name": "colorsrc", - "parent_name": "histogram.marker", + "plotly_name": "bgcolor", + "parent_name": "histogram2dcontour.hoverlabel", + "array_ok": true, "edit_type": "none" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "histogram.marker.colorscale": { + "histogram2dcontour.hoverlabel.align": { "params": { - "plotly_name": "colorscale", - "parent_name": "histogram.marker", - "edit_type": "calc", - "implied_edits": { - "autocolorscale": false - } + "plotly_name": "align", + "parent_name": "histogram2dcontour.hoverlabel", + "array_ok": true, + "edit_type": "none", + "values": [ + "left", + "right", + "auto" + ] }, - "superclass": "ColorscaleValidator" + "superclass": "EnumeratedValidator" }, - "histogram.marker.colorbar": { + "histogram2dcontour.hoverinfo": { "params": { - "plotly_name": "colorbar", - "parent_name": "histogram.marker", - "data_class_str": "ColorBar", - "data_docs": "\n" + "plotly_name": "hoverinfo", + "parent_name": "histogram2dcontour", + "array_ok": true, + "edit_type": "none", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ] }, - "superclass": "CompoundValidator" + "superclass": "FlaglistValidator" }, - "histogram.marker.colorbar.yref": { + "histogram2dcontour.histnorm": { "params": { - "plotly_name": "yref", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars", + "plotly_name": "histnorm", + "parent_name": "histogram2dcontour", + "edit_type": "calc", "values": [ - "container", - "paper" + "", + "percent", + "probability", + "density", + "probability density" ] }, "superclass": "EnumeratedValidator" }, - "histogram.marker.colorbar.ypad": { - "params": { - "plotly_name": "ypad", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "histogram.marker.colorbar.yanchor": { + "histogram2dcontour.histfunc": { "params": { - "plotly_name": "yanchor", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars", + "plotly_name": "histfunc", + "parent_name": "histogram2dcontour", + "edit_type": "calc", "values": [ - "top", - "middle", - "bottom" + "count", + "sum", + "avg", + "min", + "max" ] }, "superclass": "EnumeratedValidator" }, - "histogram.marker.colorbar.y": { + "histogram2dcontour.customdata": { "params": { - "plotly_name": "y", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "customdata", + "parent_name": "histogram2dcontour", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "histogram.marker.colorbar.xref": { + "histogram2dcontour.contours": { "params": { - "plotly_name": "xref", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "container", - "paper" - ] + "plotly_name": "contours", + "parent_name": "histogram2dcontour", + "data_class_str": "Contours", + "data_docs": "\n" }, - "superclass": "EnumeratedValidator" + "superclass": "CompoundValidator" }, - "histogram.marker.colorbar.xpad": { + "histogram2dcontour.contours.value": { "params": { - "plotly_name": "xpad", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "value", + "parent_name": "histogram2dcontour.contours", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "histogram.marker.colorbar.xanchor": { + "histogram2dcontour.contours.type": { "params": { - "plotly_name": "xanchor", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars", + "plotly_name": "type", + "parent_name": "histogram2dcontour.contours", + "edit_type": "calc", "values": [ - "left", - "center", - "right" + "levels", + "constraint" ] }, "superclass": "EnumeratedValidator" }, - "histogram.marker.colorbar.x": { + "histogram2dcontour.contours.start": { "params": { - "plotly_name": "x", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "start", + "parent_name": "histogram2dcontour.contours", + "edit_type": "plot", + "implied_edits": { + "^autocontour": false + } }, "superclass": "NumberValidator" }, - "histogram.marker.colorbar.title": { + "histogram2dcontour.contours.size": { "params": { - "plotly_name": "title", - "parent_name": "histogram.marker.colorbar", - "data_class_str": "Title", - "data_docs": "\n" + "plotly_name": "size", + "parent_name": "histogram2dcontour.contours", + "edit_type": "plot", + "implied_edits": { + "^autocontour": false + }, + "min": 0 }, - "superclass": "TitleValidator" + "superclass": "NumberValidator" }, - "histogram.marker.colorbar.title.text": { + "histogram2dcontour.contours.showlines": { + "params": { + "plotly_name": "showlines", + "parent_name": "histogram2dcontour.contours", + "edit_type": "plot" + }, + "superclass": "BooleanValidator" + }, + "histogram2dcontour.contours.showlabels": { "params": { - "plotly_name": "text", - "parent_name": "histogram.marker.colorbar.title", - "edit_type": "colorbars" + "plotly_name": "showlabels", + "parent_name": "histogram2dcontour.contours", + "edit_type": "plot" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "histogram.marker.colorbar.title.side": { + "histogram2dcontour.contours.operation": { "params": { - "plotly_name": "side", - "parent_name": "histogram.marker.colorbar.title", - "edit_type": "colorbars", + "plotly_name": "operation", + "parent_name": "histogram2dcontour.contours", + "edit_type": "calc", "values": [ - "right", - "top", - "bottom" + "=", + "<", + ">=", + ">", + "<=", + "[]", + "()", + "[)", + "(]", + "][", + ")(", + "](", + ")[" ] }, "superclass": "EnumeratedValidator" }, - "histogram.marker.colorbar.title.font": { + "histogram2dcontour.contours.labelformat": { "params": { - "plotly_name": "font", - "parent_name": "histogram.marker.colorbar.title", - "data_class_str": "Font", + "plotly_name": "labelformat", + "parent_name": "histogram2dcontour.contours", + "edit_type": "plot" + }, + "superclass": "StringValidator" + }, + "histogram2dcontour.contours.labelfont": { + "params": { + "plotly_name": "labelfont", + "parent_name": "histogram2dcontour.contours", + "data_class_str": "Labelfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram.marker.colorbar.title.font.weight": { + "histogram2dcontour.contours.labelfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "histogram.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "histogram2dcontour.contours.labelfont", + "edit_type": "plot", "extras": [ "normal", "bold" @@ -97469,11 +81704,11 @@ }, "superclass": "IntegerValidator" }, - "histogram.marker.colorbar.title.font.variant": { + "histogram2dcontour.contours.labelfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "histogram.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "histogram2dcontour.contours.labelfont", + "edit_type": "plot", "values": [ "normal", "small-caps", @@ -97485,11 +81720,11 @@ }, "superclass": "EnumeratedValidator" }, - "histogram.marker.colorbar.title.font.textcase": { + "histogram2dcontour.contours.labelfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "histogram.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "histogram2dcontour.contours.labelfont", + "edit_type": "plot", "values": [ "normal", "word caps", @@ -97499,11 +81734,11 @@ }, "superclass": "EnumeratedValidator" }, - "histogram.marker.colorbar.title.font.style": { + "histogram2dcontour.contours.labelfont.style": { "params": { "plotly_name": "style", - "parent_name": "histogram.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "histogram2dcontour.contours.labelfont", + "edit_type": "plot", "values": [ "normal", "italic" @@ -97511,28 +81746,28 @@ }, "superclass": "EnumeratedValidator" }, - "histogram.marker.colorbar.title.font.size": { + "histogram2dcontour.contours.labelfont.size": { "params": { "plotly_name": "size", - "parent_name": "histogram.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "histogram2dcontour.contours.labelfont", + "edit_type": "plot", "min": 1 }, "superclass": "NumberValidator" }, - "histogram.marker.colorbar.title.font.shadow": { + "histogram2dcontour.contours.labelfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "histogram.marker.colorbar.title.font", - "edit_type": "colorbars" + "parent_name": "histogram2dcontour.contours.labelfont", + "edit_type": "plot" }, "superclass": "StringValidator" }, - "histogram.marker.colorbar.title.font.lineposition": { + "histogram2dcontour.contours.labelfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "histogram.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "histogram2dcontour.contours.labelfont", + "edit_type": "plot", "extras": [ "none" ], @@ -97544,248 +81779,196 @@ }, "superclass": "FlaglistValidator" }, - "histogram.marker.colorbar.title.font.family": { + "histogram2dcontour.contours.labelfont.family": { "params": { "plotly_name": "family", - "parent_name": "histogram.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "histogram2dcontour.contours.labelfont", + "edit_type": "plot", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "histogram.marker.colorbar.title.font.color": { + "histogram2dcontour.contours.labelfont.color": { "params": { "plotly_name": "color", - "parent_name": "histogram.marker.colorbar.title.font", - "edit_type": "colorbars" + "parent_name": "histogram2dcontour.contours.labelfont", + "edit_type": "style" }, "superclass": "ColorValidator" }, - "histogram.marker.colorbar.tickwidth": { + "histogram2dcontour.contours.end": { "params": { - "plotly_name": "tickwidth", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "end", + "parent_name": "histogram2dcontour.contours", + "edit_type": "plot", + "implied_edits": { + "^autocontour": false + } }, "superclass": "NumberValidator" }, - "histogram.marker.colorbar.tickvalssrc": { + "histogram2dcontour.contours.coloring": { "params": { - "plotly_name": "tickvalssrc", - "parent_name": "histogram.marker.colorbar", - "edit_type": "none" + "plotly_name": "coloring", + "parent_name": "histogram2dcontour.contours", + "edit_type": "calc", + "values": [ + "fill", + "heatmap", + "lines", + "none" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "histogram.marker.colorbar.tickvals": { + "histogram2dcontour.colorscale": { "params": { - "plotly_name": "tickvals", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "colorscale", + "parent_name": "histogram2dcontour", + "edit_type": "calc", + "implied_edits": { + "autocolorscale": false + } }, - "superclass": "DataArrayValidator" + "superclass": "ColorscaleValidator" }, - "histogram.marker.colorbar.ticktextsrc": { + "histogram2dcontour.colorbar": { "params": { - "plotly_name": "ticktextsrc", - "parent_name": "histogram.marker.colorbar", - "edit_type": "none" + "plotly_name": "colorbar", + "parent_name": "histogram2dcontour", + "data_class_str": "ColorBar", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "histogram.marker.colorbar.ticktext": { + "histogram2dcontour.colorbar.yref": { "params": { - "plotly_name": "ticktext", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "yref", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars", + "values": [ + "container", + "paper" + ] }, - "superclass": "DataArrayValidator" + "superclass": "EnumeratedValidator" }, - "histogram.marker.colorbar.ticksuffix": { + "histogram2dcontour.colorbar.ypad": { "params": { - "plotly_name": "ticksuffix", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "ypad", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "histogram.marker.colorbar.ticks": { + "histogram2dcontour.colorbar.yanchor": { "params": { - "plotly_name": "ticks", - "parent_name": "histogram.marker.colorbar", + "plotly_name": "yanchor", + "parent_name": "histogram2dcontour.colorbar", "edit_type": "colorbars", "values": [ - "outside", - "inside", - "" + "top", + "middle", + "bottom" ] }, "superclass": "EnumeratedValidator" }, - "histogram.marker.colorbar.tickprefix": { + "histogram2dcontour.colorbar.y": { "params": { - "plotly_name": "tickprefix", - "parent_name": "histogram.marker.colorbar", + "plotly_name": "y", + "parent_name": "histogram2dcontour.colorbar", "edit_type": "colorbars" }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "histogram.marker.colorbar.tickmode": { + "histogram2dcontour.colorbar.xref": { "params": { - "plotly_name": "tickmode", - "parent_name": "histogram.marker.colorbar", + "plotly_name": "xref", + "parent_name": "histogram2dcontour.colorbar", "edit_type": "colorbars", - "implied_edits": {}, "values": [ - "auto", - "linear", - "array" + "container", + "paper" ] }, "superclass": "EnumeratedValidator" }, - "histogram.marker.colorbar.ticklen": { + "histogram2dcontour.colorbar.xpad": { "params": { - "plotly_name": "ticklen", - "parent_name": "histogram.marker.colorbar", + "plotly_name": "xpad", + "parent_name": "histogram2dcontour.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "histogram.marker.colorbar.ticklabelstep": { - "params": { - "plotly_name": "ticklabelstep", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars", - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "histogram.marker.colorbar.ticklabelposition": { - "params": { - "plotly_name": "ticklabelposition", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" - ] - }, - "superclass": "EnumeratedValidator" - }, - "histogram.marker.colorbar.ticklabeloverflow": { + "histogram2dcontour.colorbar.xanchor": { "params": { - "plotly_name": "ticklabeloverflow", - "parent_name": "histogram.marker.colorbar", + "plotly_name": "xanchor", + "parent_name": "histogram2dcontour.colorbar", "edit_type": "colorbars", "values": [ - "allow", - "hide past div", - "hide past domain" + "left", + "center", + "right" ] }, "superclass": "EnumeratedValidator" }, - "histogram.marker.colorbar.tickformatstopdefaults": { - "params": { - "plotly_name": "tickformatstopdefaults", - "parent_name": "histogram.marker.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "histogram.marker.colorbar.tickformatstops": { - "params": { - "plotly_name": "tickformatstops", - "parent_name": "histogram.marker.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" - }, - "superclass": "CompoundArrayValidator" - }, - "histogram.marker.colorbar.tickformatstop.value": { + "histogram2dcontour.colorbar.x": { "params": { - "plotly_name": "value", - "parent_name": "histogram.marker.colorbar.tickformatstop", + "plotly_name": "x", + "parent_name": "histogram2dcontour.colorbar", "edit_type": "colorbars" }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "histogram.marker.colorbar.tickformatstop.templateitemname": { + "histogram2dcontour.colorbar.title": { "params": { - "plotly_name": "templateitemname", - "parent_name": "histogram.marker.colorbar.tickformatstop", - "edit_type": "colorbars" + "plotly_name": "title", + "parent_name": "histogram2dcontour.colorbar", + "data_class_str": "Title", + "data_docs": "\n" }, - "superclass": "StringValidator" + "superclass": "TitleValidator" }, - "histogram.marker.colorbar.tickformatstop.name": { + "histogram2dcontour.colorbar.title.text": { "params": { - "plotly_name": "name", - "parent_name": "histogram.marker.colorbar.tickformatstop", + "plotly_name": "text", + "parent_name": "histogram2dcontour.colorbar.title", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "histogram.marker.colorbar.tickformatstop.enabled": { - "params": { - "plotly_name": "enabled", - "parent_name": "histogram.marker.colorbar.tickformatstop", - "edit_type": "colorbars" - }, - "superclass": "BooleanValidator" - }, - "histogram.marker.colorbar.tickformatstop.dtickrange": { + "histogram2dcontour.colorbar.title.side": { "params": { - "plotly_name": "dtickrange", - "parent_name": "histogram.marker.colorbar.tickformatstop", + "plotly_name": "side", + "parent_name": "histogram2dcontour.colorbar.title", "edit_type": "colorbars", - "items": [ - { - "editType": "colorbars", - "valType": "any" - }, - { - "editType": "colorbars", - "valType": "any" - } + "values": [ + "right", + "top", + "bottom" ] }, - "superclass": "InfoArrayValidator" - }, - "histogram.marker.colorbar.tickformat": { - "params": { - "plotly_name": "tickformat", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "histogram.marker.colorbar.tickfont": { + "histogram2dcontour.colorbar.title.font": { "params": { - "plotly_name": "tickfont", - "parent_name": "histogram.marker.colorbar", - "data_class_str": "Tickfont", + "plotly_name": "font", + "parent_name": "histogram2dcontour.colorbar.title", + "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram.marker.colorbar.tickfont.weight": { + "histogram2dcontour.colorbar.title.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "histogram.marker.colorbar.tickfont", + "parent_name": "histogram2dcontour.colorbar.title.font", "edit_type": "colorbars", "extras": [ "normal", @@ -97796,10 +81979,10 @@ }, "superclass": "IntegerValidator" }, - "histogram.marker.colorbar.tickfont.variant": { + "histogram2dcontour.colorbar.title.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "histogram.marker.colorbar.tickfont", + "parent_name": "histogram2dcontour.colorbar.title.font", "edit_type": "colorbars", "values": [ "normal", @@ -97812,435 +81995,292 @@ }, "superclass": "EnumeratedValidator" }, - "histogram.marker.colorbar.tickfont.textcase": { + "histogram2dcontour.colorbar.title.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "histogram.marker.colorbar.tickfont", - "edit_type": "colorbars", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "superclass": "EnumeratedValidator" - }, - "histogram.marker.colorbar.tickfont.style": { - "params": { - "plotly_name": "style", - "parent_name": "histogram.marker.colorbar.tickfont", - "edit_type": "colorbars", - "values": [ - "normal", - "italic" - ] - }, - "superclass": "EnumeratedValidator" - }, - "histogram.marker.colorbar.tickfont.size": { - "params": { - "plotly_name": "size", - "parent_name": "histogram.marker.colorbar.tickfont", - "edit_type": "colorbars", - "min": 1 - }, - "superclass": "NumberValidator" - }, - "histogram.marker.colorbar.tickfont.shadow": { - "params": { - "plotly_name": "shadow", - "parent_name": "histogram.marker.colorbar.tickfont", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "histogram.marker.colorbar.tickfont.lineposition": { - "params": { - "plotly_name": "lineposition", - "parent_name": "histogram.marker.colorbar.tickfont", - "edit_type": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] - }, - "superclass": "FlaglistValidator" - }, - "histogram.marker.colorbar.tickfont.family": { - "params": { - "plotly_name": "family", - "parent_name": "histogram.marker.colorbar.tickfont", - "edit_type": "colorbars", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "histogram.marker.colorbar.tickfont.color": { - "params": { - "plotly_name": "color", - "parent_name": "histogram.marker.colorbar.tickfont", - "edit_type": "colorbars" - }, - "superclass": "ColorValidator" - }, - "histogram.marker.colorbar.tickcolor": { - "params": { - "plotly_name": "tickcolor", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars" - }, - "superclass": "ColorValidator" - }, - "histogram.marker.colorbar.tickangle": { - "params": { - "plotly_name": "tickangle", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars" - }, - "superclass": "AngleValidator" - }, - "histogram.marker.colorbar.tick0": { - "params": { - "plotly_name": "tick0", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars", - "implied_edits": { - "tickmode": "linear" - } - }, - "superclass": "AnyValidator" - }, - "histogram.marker.colorbar.thicknessmode": { - "params": { - "plotly_name": "thicknessmode", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "fraction", - "pixels" - ] - }, - "superclass": "EnumeratedValidator" - }, - "histogram.marker.colorbar.thickness": { - "params": { - "plotly_name": "thickness", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "histogram.marker.colorbar.showticksuffix": { - "params": { - "plotly_name": "showticksuffix", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "histogram.marker.colorbar.showtickprefix": { - "params": { - "plotly_name": "showtickprefix", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "histogram.marker.colorbar.showticklabels": { - "params": { - "plotly_name": "showticklabels", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars" - }, - "superclass": "BooleanValidator" - }, - "histogram.marker.colorbar.showexponent": { - "params": { - "plotly_name": "showexponent", - "parent_name": "histogram.marker.colorbar", + "parent_name": "histogram2dcontour.colorbar.title.font", "edit_type": "colorbars", "values": [ - "all", - "first", - "last", - "none" + "normal", + "word caps", + "upper", + "lower" ] }, "superclass": "EnumeratedValidator" }, - "histogram.marker.colorbar.separatethousands": { + "histogram2dcontour.colorbar.title.font.style": { "params": { - "plotly_name": "separatethousands", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "style", + "parent_name": "histogram2dcontour.colorbar.title.font", + "edit_type": "colorbars", + "values": [ + "normal", + "italic" + ] }, - "superclass": "BooleanValidator" + "superclass": "EnumeratedValidator" }, - "histogram.marker.colorbar.outlinewidth": { + "histogram2dcontour.colorbar.title.font.size": { "params": { - "plotly_name": "outlinewidth", - "parent_name": "histogram.marker.colorbar", + "plotly_name": "size", + "parent_name": "histogram2dcontour.colorbar.title.font", "edit_type": "colorbars", - "min": 0 + "min": 1 }, "superclass": "NumberValidator" }, - "histogram.marker.colorbar.outlinecolor": { + "histogram2dcontour.colorbar.title.font.shadow": { "params": { - "plotly_name": "outlinecolor", - "parent_name": "histogram.marker.colorbar", + "plotly_name": "shadow", + "parent_name": "histogram2dcontour.colorbar.title.font", "edit_type": "colorbars" }, - "superclass": "ColorValidator" + "superclass": "StringValidator" }, - "histogram.marker.colorbar.orientation": { + "histogram2dcontour.colorbar.title.font.lineposition": { "params": { - "plotly_name": "orientation", - "parent_name": "histogram.marker.colorbar", + "plotly_name": "lineposition", + "parent_name": "histogram2dcontour.colorbar.title.font", "edit_type": "colorbars", - "values": [ - "h", - "v" + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" ] }, - "superclass": "EnumeratedValidator" + "superclass": "FlaglistValidator" }, - "histogram.marker.colorbar.nticks": { + "histogram2dcontour.colorbar.title.font.family": { "params": { - "plotly_name": "nticks", - "parent_name": "histogram.marker.colorbar", + "plotly_name": "family", + "parent_name": "histogram2dcontour.colorbar.title.font", "edit_type": "colorbars", - "min": 0 + "no_blank": true, + "strict": true }, - "superclass": "IntegerValidator" + "superclass": "StringValidator" }, - "histogram.marker.colorbar.minexponent": { + "histogram2dcontour.colorbar.title.font.color": { "params": { - "plotly_name": "minexponent", - "parent_name": "histogram.marker.colorbar", + "plotly_name": "color", + "parent_name": "histogram2dcontour.colorbar.title.font", + "edit_type": "colorbars" + }, + "superclass": "ColorValidator" + }, + "histogram2dcontour.colorbar.tickwidth": { + "params": { + "plotly_name": "tickwidth", + "parent_name": "histogram2dcontour.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "histogram.marker.colorbar.lenmode": { + "histogram2dcontour.colorbar.tickvals": { "params": { - "plotly_name": "lenmode", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "fraction", - "pixels" - ] + "plotly_name": "tickvals", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars" }, - "superclass": "EnumeratedValidator" + "superclass": "DataArrayValidator" }, - "histogram.marker.colorbar.len": { + "histogram2dcontour.colorbar.ticktext": { "params": { - "plotly_name": "len", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "ticktext", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "histogram.marker.colorbar.labelalias": { + "histogram2dcontour.colorbar.ticksuffix": { "params": { - "plotly_name": "labelalias", - "parent_name": "histogram.marker.colorbar", + "plotly_name": "ticksuffix", + "parent_name": "histogram2dcontour.colorbar", "edit_type": "colorbars" }, - "superclass": "AnyValidator" + "superclass": "StringValidator" }, - "histogram.marker.colorbar.exponentformat": { + "histogram2dcontour.colorbar.ticks": { "params": { - "plotly_name": "exponentformat", - "parent_name": "histogram.marker.colorbar", + "plotly_name": "ticks", + "parent_name": "histogram2dcontour.colorbar", "edit_type": "colorbars", "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" + "outside", + "inside", + "" ] }, "superclass": "EnumeratedValidator" }, - "histogram.marker.colorbar.dtick": { + "histogram2dcontour.colorbar.tickprefix": { "params": { - "plotly_name": "dtick", - "parent_name": "histogram.marker.colorbar", + "plotly_name": "tickprefix", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars" + }, + "superclass": "StringValidator" + }, + "histogram2dcontour.colorbar.tickmode": { + "params": { + "plotly_name": "tickmode", + "parent_name": "histogram2dcontour.colorbar", "edit_type": "colorbars", - "implied_edits": { - "tickmode": "linear" - } + "implied_edits": {}, + "values": [ + "auto", + "linear", + "array" + ] }, - "superclass": "AnyValidator" + "superclass": "EnumeratedValidator" }, - "histogram.marker.colorbar.borderwidth": { + "histogram2dcontour.colorbar.ticklen": { "params": { - "plotly_name": "borderwidth", - "parent_name": "histogram.marker.colorbar", + "plotly_name": "ticklen", + "parent_name": "histogram2dcontour.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "histogram.marker.colorbar.bordercolor": { + "histogram2dcontour.colorbar.ticklabelstep": { "params": { - "plotly_name": "bordercolor", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "ticklabelstep", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars", + "min": 1 }, - "superclass": "ColorValidator" + "superclass": "IntegerValidator" }, - "histogram.marker.colorbar.bgcolor": { + "histogram2dcontour.colorbar.ticklabelposition": { "params": { - "plotly_name": "bgcolor", - "parent_name": "histogram.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "ticklabelposition", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars", + "values": [ + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom" + ] }, - "superclass": "ColorValidator" + "superclass": "EnumeratedValidator" }, - "histogram.marker.coloraxis": { + "histogram2dcontour.colorbar.ticklabeloverflow": { "params": { - "plotly_name": "coloraxis", - "parent_name": "histogram.marker", - "dflt": null, - "edit_type": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" + "plotly_name": "ticklabeloverflow", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars", + "values": [ + "allow", + "hide past div", + "hide past domain" + ] }, - "superclass": "SubplotidValidator" + "superclass": "EnumeratedValidator" }, - "histogram.marker.color": { + "histogram2dcontour.colorbar.tickformatstopdefaults": { "params": { - "plotly_name": "color", - "parent_name": "histogram.marker", - "array_ok": true, - "edit_type": "style", - "colorscale_path": "histogram.marker.colorscale" + "plotly_name": "tickformatstopdefaults", + "parent_name": "histogram2dcontour.colorbar", + "data_class_str": "Tickformatstop", + "data_docs": "\n" }, - "superclass": "ColorValidator" + "superclass": "CompoundValidator" }, - "histogram.marker.cmin": { + "histogram2dcontour.colorbar.tickformatstops": { "params": { - "plotly_name": "cmin", - "parent_name": "histogram.marker", - "edit_type": "plot", - "implied_edits": { - "cauto": false - } + "plotly_name": "tickformatstops", + "parent_name": "histogram2dcontour.colorbar", + "data_class_str": "Tickformatstop", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundArrayValidator" }, - "histogram.marker.cmid": { + "histogram2dcontour.colorbar.tickformatstop.value": { "params": { - "plotly_name": "cmid", - "parent_name": "histogram.marker", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "value", + "parent_name": "histogram2dcontour.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "histogram.marker.cmax": { + "histogram2dcontour.colorbar.tickformatstop.templateitemname": { "params": { - "plotly_name": "cmax", - "parent_name": "histogram.marker", - "edit_type": "plot", - "implied_edits": { - "cauto": false - } + "plotly_name": "templateitemname", + "parent_name": "histogram2dcontour.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "histogram.marker.cauto": { + "histogram2dcontour.colorbar.tickformatstop.name": { "params": { - "plotly_name": "cauto", - "parent_name": "histogram.marker", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "name", + "parent_name": "histogram2dcontour.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "histogram.marker.autocolorscale": { + "histogram2dcontour.colorbar.tickformatstop.enabled": { "params": { - "plotly_name": "autocolorscale", - "parent_name": "histogram.marker", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "enabled", + "parent_name": "histogram2dcontour.colorbar.tickformatstop", + "edit_type": "colorbars" }, "superclass": "BooleanValidator" }, - "histogram.legendwidth": { - "params": { - "plotly_name": "legendwidth", - "parent_name": "histogram", - "edit_type": "style", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "histogram.legendrank": { - "params": { - "plotly_name": "legendrank", - "parent_name": "histogram", - "edit_type": "style" - }, - "superclass": "NumberValidator" - }, - "histogram.legendgrouptitle": { + "histogram2dcontour.colorbar.tickformatstop.dtickrange": { "params": { - "plotly_name": "legendgrouptitle", - "parent_name": "histogram", - "data_class_str": "Legendgrouptitle", - "data_docs": "\n" + "plotly_name": "dtickrange", + "parent_name": "histogram2dcontour.colorbar.tickformatstop", + "edit_type": "colorbars", + "items": [ + { + "editType": "colorbars", + "valType": "any" + }, + { + "editType": "colorbars", + "valType": "any" + } + ] }, - "superclass": "CompoundValidator" + "superclass": "InfoArrayValidator" }, - "histogram.legendgrouptitle.text": { + "histogram2dcontour.colorbar.tickformat": { "params": { - "plotly_name": "text", - "parent_name": "histogram.legendgrouptitle", - "edit_type": "style" + "plotly_name": "tickformat", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "histogram.legendgrouptitle.font": { + "histogram2dcontour.colorbar.tickfont": { "params": { - "plotly_name": "font", - "parent_name": "histogram.legendgrouptitle", - "data_class_str": "Font", + "plotly_name": "tickfont", + "parent_name": "histogram2dcontour.colorbar", + "data_class_str": "Tickfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram.legendgrouptitle.font.weight": { + "histogram2dcontour.colorbar.tickfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "histogram.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "histogram2dcontour.colorbar.tickfont", + "edit_type": "colorbars", "extras": [ "normal", "bold" @@ -98250,11 +82290,11 @@ }, "superclass": "IntegerValidator" }, - "histogram.legendgrouptitle.font.variant": { + "histogram2dcontour.colorbar.tickfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "histogram.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "histogram2dcontour.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "small-caps", @@ -98266,11 +82306,11 @@ }, "superclass": "EnumeratedValidator" }, - "histogram.legendgrouptitle.font.textcase": { + "histogram2dcontour.colorbar.tickfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "histogram.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "histogram2dcontour.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "word caps", @@ -98280,11 +82320,11 @@ }, "superclass": "EnumeratedValidator" }, - "histogram.legendgrouptitle.font.style": { + "histogram2dcontour.colorbar.tickfont.style": { "params": { "plotly_name": "style", - "parent_name": "histogram.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "histogram2dcontour.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "italic" @@ -98292,28 +82332,28 @@ }, "superclass": "EnumeratedValidator" }, - "histogram.legendgrouptitle.font.size": { + "histogram2dcontour.colorbar.tickfont.size": { "params": { "plotly_name": "size", - "parent_name": "histogram.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "histogram2dcontour.colorbar.tickfont", + "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "histogram.legendgrouptitle.font.shadow": { + "histogram2dcontour.colorbar.tickfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "histogram.legendgrouptitle.font", - "edit_type": "style" + "parent_name": "histogram2dcontour.colorbar.tickfont", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "histogram.legendgrouptitle.font.lineposition": { + "histogram2dcontour.colorbar.tickfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "histogram.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "histogram2dcontour.colorbar.tickfont", + "edit_type": "colorbars", "extras": [ "none" ], @@ -98325,1394 +82365,1421 @@ }, "superclass": "FlaglistValidator" }, - "histogram.legendgrouptitle.font.family": { + "histogram2dcontour.colorbar.tickfont.family": { "params": { "plotly_name": "family", - "parent_name": "histogram.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "histogram2dcontour.colorbar.tickfont", + "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "histogram.legendgrouptitle.font.color": { + "histogram2dcontour.colorbar.tickfont.color": { "params": { "plotly_name": "color", - "parent_name": "histogram.legendgrouptitle.font", - "edit_type": "style" + "parent_name": "histogram2dcontour.colorbar.tickfont", + "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "histogram.legendgroup": { - "params": { - "plotly_name": "legendgroup", - "parent_name": "histogram", - "edit_type": "style" - }, - "superclass": "StringValidator" - }, - "histogram.legend": { + "histogram2dcontour.colorbar.tickcolor": { "params": { - "plotly_name": "legend", - "parent_name": "histogram", - "dflt": "legend", - "edit_type": "style" + "plotly_name": "tickcolor", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars" }, - "superclass": "SubplotidValidator" + "superclass": "ColorValidator" }, - "histogram.insidetextfont": { + "histogram2dcontour.colorbar.tickangle": { "params": { - "plotly_name": "insidetextfont", - "parent_name": "histogram", - "data_class_str": "Insidetextfont", - "data_docs": "\n" + "plotly_name": "tickangle", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars" }, - "superclass": "CompoundValidator" + "superclass": "AngleValidator" }, - "histogram.insidetextfont.weight": { + "histogram2dcontour.colorbar.tick0": { "params": { - "plotly_name": "weight", - "parent_name": "histogram.insidetextfont", - "edit_type": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 + "plotly_name": "tick0", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars", + "implied_edits": { + "tickmode": "linear" + } }, - "superclass": "IntegerValidator" + "superclass": "AnyValidator" }, - "histogram.insidetextfont.variant": { + "histogram2dcontour.colorbar.thicknessmode": { "params": { - "plotly_name": "variant", - "parent_name": "histogram.insidetextfont", - "edit_type": "plot", + "plotly_name": "thicknessmode", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "fraction", + "pixels" ] }, "superclass": "EnumeratedValidator" }, - "histogram.insidetextfont.textcase": { + "histogram2dcontour.colorbar.thickness": { "params": { - "plotly_name": "textcase", - "parent_name": "histogram.insidetextfont", - "edit_type": "plot", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] + "plotly_name": "thickness", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "histogram.insidetextfont.style": { + "histogram2dcontour.colorbar.showticksuffix": { "params": { - "plotly_name": "style", - "parent_name": "histogram.insidetextfont", - "edit_type": "plot", + "plotly_name": "showticksuffix", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars", "values": [ - "normal", - "italic" + "all", + "first", + "last", + "none" ] }, "superclass": "EnumeratedValidator" }, - "histogram.insidetextfont.size": { + "histogram2dcontour.colorbar.showtickprefix": { "params": { - "plotly_name": "size", - "parent_name": "histogram.insidetextfont", - "edit_type": "plot", - "min": 1 + "plotly_name": "showtickprefix", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "histogram.insidetextfont.shadow": { + "histogram2dcontour.colorbar.showticklabels": { "params": { - "plotly_name": "shadow", - "parent_name": "histogram.insidetextfont", - "edit_type": "plot" + "plotly_name": "showticklabels", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "histogram.insidetextfont.lineposition": { + "histogram2dcontour.colorbar.showexponent": { "params": { - "plotly_name": "lineposition", - "parent_name": "histogram.insidetextfont", - "edit_type": "plot", - "extras": [ + "plotly_name": "showexponent", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars", + "values": [ + "all", + "first", + "last", "none" - ], - "flags": [ - "under", - "over", - "through" ] }, - "superclass": "FlaglistValidator" + "superclass": "EnumeratedValidator" }, - "histogram.insidetextfont.family": { + "histogram2dcontour.colorbar.separatethousands": { "params": { - "plotly_name": "family", - "parent_name": "histogram.insidetextfont", - "edit_type": "plot", - "no_blank": true, - "strict": true + "plotly_name": "separatethousands", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "histogram.insidetextfont.color": { + "histogram2dcontour.colorbar.outlinewidth": { "params": { - "plotly_name": "color", - "parent_name": "histogram.insidetextfont", - "edit_type": "style" + "plotly_name": "outlinewidth", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "histogram2dcontour.colorbar.outlinecolor": { + "params": { + "plotly_name": "outlinecolor", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "histogram.insidetextanchor": { + "histogram2dcontour.colorbar.orientation": { "params": { - "plotly_name": "insidetextanchor", - "parent_name": "histogram", - "edit_type": "plot", + "plotly_name": "orientation", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars", "values": [ - "end", - "middle", - "start" + "h", + "v" ] }, "superclass": "EnumeratedValidator" }, - "histogram.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "histogram", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "histogram.ids": { + "histogram2dcontour.colorbar.nticks": { "params": { - "plotly_name": "ids", - "parent_name": "histogram", - "edit_type": "calc" + "plotly_name": "nticks", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "DataArrayValidator" + "superclass": "IntegerValidator" }, - "histogram.hovertextsrc": { + "histogram2dcontour.colorbar.minexponent": { "params": { - "plotly_name": "hovertextsrc", - "parent_name": "histogram", - "edit_type": "none" + "plotly_name": "minexponent", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "histogram.hovertext": { + "histogram2dcontour.colorbar.lenmode": { "params": { - "plotly_name": "hovertext", - "parent_name": "histogram", - "array_ok": true, - "edit_type": "style" + "plotly_name": "lenmode", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars", + "values": [ + "fraction", + "pixels" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "histogram.hovertemplatesrc": { + "histogram2dcontour.colorbar.len": { "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "histogram", - "edit_type": "none" + "plotly_name": "len", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "histogram.hovertemplatefallback": { + "histogram2dcontour.colorbar.labelalias": { "params": { - "plotly_name": "hovertemplatefallback", - "parent_name": "histogram", - "edit_type": "none" + "plotly_name": "labelalias", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars" }, "superclass": "AnyValidator" }, - "histogram.hovertemplate": { - "params": { - "plotly_name": "hovertemplate", - "parent_name": "histogram", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "StringValidator" - }, - "histogram.hoverlabel": { + "histogram2dcontour.colorbar.exponentformat": { "params": { - "plotly_name": "hoverlabel", - "parent_name": "histogram", - "data_class_str": "Hoverlabel", - "data_docs": "\n" + "plotly_name": "exponentformat", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B", + "SI extended" + ] }, - "superclass": "CompoundValidator" + "superclass": "EnumeratedValidator" }, - "histogram.hoverlabel.showarrow": { + "histogram2dcontour.colorbar.dtick": { "params": { - "plotly_name": "showarrow", - "parent_name": "histogram.hoverlabel", - "edit_type": "none" + "plotly_name": "dtick", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars", + "implied_edits": { + "tickmode": "linear" + } }, - "superclass": "BooleanValidator" + "superclass": "AnyValidator" }, - "histogram.hoverlabel.namelengthsrc": { + "histogram2dcontour.colorbar.borderwidth": { "params": { - "plotly_name": "namelengthsrc", - "parent_name": "histogram.hoverlabel", - "edit_type": "none" + "plotly_name": "borderwidth", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "histogram.hoverlabel.namelength": { + "histogram2dcontour.colorbar.bordercolor": { "params": { - "plotly_name": "namelength", - "parent_name": "histogram.hoverlabel", - "array_ok": true, - "edit_type": "none", - "min": -1 + "plotly_name": "bordercolor", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars" }, - "superclass": "IntegerValidator" + "superclass": "ColorValidator" }, - "histogram.hoverlabel.font": { + "histogram2dcontour.colorbar.bgcolor": { "params": { - "plotly_name": "font", - "parent_name": "histogram.hoverlabel", - "data_class_str": "Font", - "data_docs": "\n" + "plotly_name": "bgcolor", + "parent_name": "histogram2dcontour.colorbar", + "edit_type": "colorbars" }, - "superclass": "CompoundValidator" + "superclass": "ColorValidator" }, - "histogram.hoverlabel.font.weightsrc": { + "histogram2dcontour.coloraxis": { "params": { - "plotly_name": "weightsrc", - "parent_name": "histogram.hoverlabel.font", - "edit_type": "none" + "plotly_name": "coloraxis", + "parent_name": "histogram2dcontour", + "dflt": null, + "edit_type": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" }, - "superclass": "SrcValidator" + "superclass": "SubplotidValidator" }, - "histogram.hoverlabel.font.weight": { + "histogram2dcontour.bingroup": { "params": { - "plotly_name": "weight", - "parent_name": "histogram.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 + "plotly_name": "bingroup", + "parent_name": "histogram2dcontour", + "edit_type": "calc" }, - "superclass": "IntegerValidator" + "superclass": "StringValidator" }, - "histogram.hoverlabel.font.variantsrc": { + "histogram2dcontour.autocontour": { "params": { - "plotly_name": "variantsrc", - "parent_name": "histogram.hoverlabel.font", - "edit_type": "none" + "plotly_name": "autocontour", + "parent_name": "histogram2dcontour", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "histogram.hoverlabel.font.variant": { + "histogram2dcontour.autocolorscale": { "params": { - "plotly_name": "variant", - "parent_name": "histogram.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] + "plotly_name": "autocolorscale", + "parent_name": "histogram2dcontour", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "EnumeratedValidator" + "superclass": "BooleanValidator" }, - "histogram.hoverlabel.font.textcasesrc": { + "histogram2dcontour.autobiny": { "params": { - "plotly_name": "textcasesrc", - "parent_name": "histogram.hoverlabel.font", - "edit_type": "none" + "plotly_name": "autobiny", + "parent_name": "histogram2dcontour", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "histogram.hoverlabel.font.textcase": { + "histogram2dcontour.autobinx": { "params": { - "plotly_name": "textcase", - "parent_name": "histogram.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] + "plotly_name": "autobinx", + "parent_name": "histogram2dcontour", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "BooleanValidator" }, - "histogram.hoverlabel.font.stylesrc": { + "histogram2d": { "params": { - "plotly_name": "stylesrc", - "parent_name": "histogram.hoverlabel.font", - "edit_type": "none" + "plotly_name": "histogram2d", + "parent_name": "", + "data_class_str": "Histogram2d", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "histogram.hoverlabel.font.style": { + "histogram2d.zsmooth": { "params": { - "plotly_name": "style", - "parent_name": "histogram.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "plotly_name": "zsmooth", + "parent_name": "histogram2d", + "edit_type": "calc", "values": [ - "normal", - "italic" + "fast", + "best", + false ] }, "superclass": "EnumeratedValidator" }, - "histogram.hoverlabel.font.sizesrc": { + "histogram2d.zmin": { "params": { - "plotly_name": "sizesrc", - "parent_name": "histogram.hoverlabel.font", - "edit_type": "none" + "plotly_name": "zmin", + "parent_name": "histogram2d", + "edit_type": "plot", + "implied_edits": { + "zauto": false + } }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "histogram.hoverlabel.font.size": { + "histogram2d.zmid": { "params": { - "plotly_name": "size", - "parent_name": "histogram.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "min": 1 + "plotly_name": "zmid", + "parent_name": "histogram2d", + "edit_type": "calc", + "implied_edits": {} }, "superclass": "NumberValidator" }, - "histogram.hoverlabel.font.shadowsrc": { + "histogram2d.zmax": { "params": { - "plotly_name": "shadowsrc", - "parent_name": "histogram.hoverlabel.font", - "edit_type": "none" + "plotly_name": "zmax", + "parent_name": "histogram2d", + "edit_type": "plot", + "implied_edits": { + "zauto": false + } }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "histogram.hoverlabel.font.shadow": { + "histogram2d.zhoverformat": { "params": { - "plotly_name": "shadow", - "parent_name": "histogram.hoverlabel.font", - "array_ok": true, + "plotly_name": "zhoverformat", + "parent_name": "histogram2d", "edit_type": "none" }, "superclass": "StringValidator" }, - "histogram.hoverlabel.font.linepositionsrc": { + "histogram2d.zauto": { "params": { - "plotly_name": "linepositionsrc", - "parent_name": "histogram.hoverlabel.font", - "edit_type": "none" + "plotly_name": "zauto", + "parent_name": "histogram2d", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "histogram.hoverlabel.font.lineposition": { + "histogram2d.z": { "params": { - "plotly_name": "lineposition", - "parent_name": "histogram.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] + "plotly_name": "z", + "parent_name": "histogram2d", + "edit_type": "calc" }, - "superclass": "FlaglistValidator" + "superclass": "DataArrayValidator" }, - "histogram.hoverlabel.font.familysrc": { + "histogram2d.yhoverformat": { "params": { - "plotly_name": "familysrc", - "parent_name": "histogram.hoverlabel.font", + "plotly_name": "yhoverformat", + "parent_name": "histogram2d", "edit_type": "none" }, - "superclass": "SrcValidator" - }, - "histogram.hoverlabel.font.family": { - "params": { - "plotly_name": "family", - "parent_name": "histogram.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "no_blank": true, - "strict": true - }, "superclass": "StringValidator" }, - "histogram.hoverlabel.font.colorsrc": { + "histogram2d.ygap": { "params": { - "plotly_name": "colorsrc", - "parent_name": "histogram.hoverlabel.font", - "edit_type": "none" + "plotly_name": "ygap", + "parent_name": "histogram2d", + "edit_type": "plot", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "histogram.hoverlabel.font.color": { + "histogram2d.ycalendar": { "params": { - "plotly_name": "color", - "parent_name": "histogram.hoverlabel.font", - "array_ok": true, - "edit_type": "none" + "plotly_name": "ycalendar", + "parent_name": "histogram2d", + "edit_type": "calc", + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" + ] }, - "superclass": "ColorValidator" + "superclass": "EnumeratedValidator" }, - "histogram.hoverlabel.bordercolorsrc": { + "histogram2d.ybins": { "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "histogram.hoverlabel", - "edit_type": "none" + "plotly_name": "ybins", + "parent_name": "histogram2d", + "data_class_str": "YBins", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "histogram.hoverlabel.bordercolor": { + "histogram2d.ybins.start": { "params": { - "plotly_name": "bordercolor", - "parent_name": "histogram.hoverlabel", - "array_ok": true, - "edit_type": "none" + "plotly_name": "start", + "parent_name": "histogram2d.ybins", + "edit_type": "calc" }, - "superclass": "ColorValidator" + "superclass": "AnyValidator" }, - "histogram.hoverlabel.bgcolorsrc": { + "histogram2d.ybins.size": { "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "histogram.hoverlabel", - "edit_type": "none" + "plotly_name": "size", + "parent_name": "histogram2d.ybins", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "histogram.hoverlabel.bgcolor": { + "histogram2d.ybins.end": { "params": { - "plotly_name": "bgcolor", - "parent_name": "histogram.hoverlabel", - "array_ok": true, - "edit_type": "none" + "plotly_name": "end", + "parent_name": "histogram2d.ybins", + "edit_type": "calc" }, - "superclass": "ColorValidator" + "superclass": "AnyValidator" }, - "histogram.hoverlabel.alignsrc": { + "histogram2d.ybingroup": { "params": { - "plotly_name": "alignsrc", - "parent_name": "histogram.hoverlabel", - "edit_type": "none" + "plotly_name": "ybingroup", + "parent_name": "histogram2d", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "histogram.hoverlabel.align": { + "histogram2d.yaxis": { "params": { - "plotly_name": "align", - "parent_name": "histogram.hoverlabel", - "array_ok": true, - "edit_type": "none", - "values": [ - "left", - "right", - "auto" - ] + "plotly_name": "yaxis", + "parent_name": "histogram2d", + "dflt": "y", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "EnumeratedValidator" + "superclass": "SubplotidValidator" }, - "histogram.hoverinfosrc": { + "histogram2d.y": { "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "histogram", - "edit_type": "none" + "plotly_name": "y", + "parent_name": "histogram2d", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "SrcValidator" + "superclass": "DataArrayValidator" }, - "histogram.hoverinfo": { + "histogram2d.xhoverformat": { "params": { - "plotly_name": "hoverinfo", - "parent_name": "histogram", - "array_ok": true, - "edit_type": "none", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "x", - "y", - "z", - "text", - "name" - ] + "plotly_name": "xhoverformat", + "parent_name": "histogram2d", + "edit_type": "none" }, - "superclass": "FlaglistValidator" + "superclass": "StringValidator" }, - "histogram.histnorm": { - "params": { - "plotly_name": "histnorm", - "parent_name": "histogram", - "edit_type": "calc", - "values": [ - "", - "percent", - "probability", - "density", - "probability density" - ] + "histogram2d.xgap": { + "params": { + "plotly_name": "xgap", + "parent_name": "histogram2d", + "edit_type": "plot", + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "histogram.histfunc": { + "histogram2d.xcalendar": { "params": { - "plotly_name": "histfunc", - "parent_name": "histogram", + "plotly_name": "xcalendar", + "parent_name": "histogram2d", "edit_type": "calc", "values": [ - "count", - "sum", - "avg", - "min", - "max" + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" ] }, "superclass": "EnumeratedValidator" }, - "histogram.error_y": { + "histogram2d.xbins": { "params": { - "plotly_name": "error_y", - "parent_name": "histogram", - "data_class_str": "ErrorY", + "plotly_name": "xbins", + "parent_name": "histogram2d", + "data_class_str": "XBins", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram.error_y.width": { + "histogram2d.xbins.start": { "params": { - "plotly_name": "width", - "parent_name": "histogram.error_y", - "edit_type": "plot", - "min": 0 + "plotly_name": "start", + "parent_name": "histogram2d.xbins", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "histogram.error_y.visible": { + "histogram2d.xbins.size": { "params": { - "plotly_name": "visible", - "parent_name": "histogram.error_y", + "plotly_name": "size", + "parent_name": "histogram2d.xbins", "edit_type": "calc" }, - "superclass": "BooleanValidator" + "superclass": "AnyValidator" }, - "histogram.error_y.valueminus": { + "histogram2d.xbins.end": { "params": { - "plotly_name": "valueminus", - "parent_name": "histogram.error_y", - "edit_type": "calc", - "min": 0 + "plotly_name": "end", + "parent_name": "histogram2d.xbins", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "histogram.error_y.value": { + "histogram2d.xbingroup": { "params": { - "plotly_name": "value", - "parent_name": "histogram.error_y", - "edit_type": "calc", - "min": 0 + "plotly_name": "xbingroup", + "parent_name": "histogram2d", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "histogram.error_y.type": { + "histogram2d.xaxis": { "params": { - "plotly_name": "type", - "parent_name": "histogram.error_y", + "plotly_name": "xaxis", + "parent_name": "histogram2d", + "dflt": "x", + "edit_type": "calc+clearAxisTypes" + }, + "superclass": "SubplotidValidator" + }, + "histogram2d.x": { + "params": { + "plotly_name": "x", + "parent_name": "histogram2d", + "edit_type": "calc+clearAxisTypes" + }, + "superclass": "DataArrayValidator" + }, + "histogram2d.visible": { + "params": { + "plotly_name": "visible", + "parent_name": "histogram2d", "edit_type": "calc", "values": [ - "percent", - "constant", - "sqrt", - "data" + true, + false, + "legendonly" ] }, "superclass": "EnumeratedValidator" }, - "histogram.error_y.tracerefminus": { + "histogram2d.uirevision": { "params": { - "plotly_name": "tracerefminus", - "parent_name": "histogram.error_y", - "edit_type": "style", - "min": 0 + "plotly_name": "uirevision", + "parent_name": "histogram2d", + "edit_type": "none" }, - "superclass": "IntegerValidator" + "superclass": "AnyValidator" }, - "histogram.error_y.traceref": { + "histogram2d.uid": { "params": { - "plotly_name": "traceref", - "parent_name": "histogram.error_y", - "edit_type": "style", - "min": 0 + "plotly_name": "uid", + "parent_name": "histogram2d", + "edit_type": "plot" }, - "superclass": "IntegerValidator" + "superclass": "StringValidator" }, - "histogram.error_y.thickness": { + "histogram2d.texttemplatefallback": { "params": { - "plotly_name": "thickness", - "parent_name": "histogram.error_y", - "edit_type": "style", - "min": 0 + "plotly_name": "texttemplatefallback", + "parent_name": "histogram2d", + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "histogram.error_y.symmetric": { + "histogram2d.texttemplate": { "params": { - "plotly_name": "symmetric", - "parent_name": "histogram.error_y", - "edit_type": "calc" + "plotly_name": "texttemplate", + "parent_name": "histogram2d", + "edit_type": "plot" }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "histogram.error_y.color": { + "histogram2d.textfont": { "params": { - "plotly_name": "color", - "parent_name": "histogram.error_y", - "edit_type": "style" + "plotly_name": "textfont", + "parent_name": "histogram2d", + "data_class_str": "Textfont", + "data_docs": "\n" }, - "superclass": "ColorValidator" + "superclass": "CompoundValidator" }, - "histogram.error_y.arraysrc": { + "histogram2d.textfont.weight": { "params": { - "plotly_name": "arraysrc", - "parent_name": "histogram.error_y", - "edit_type": "none" + "plotly_name": "weight", + "parent_name": "histogram2d.textfont", + "edit_type": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "SrcValidator" + "superclass": "IntegerValidator" }, - "histogram.error_y.arrayminussrc": { + "histogram2d.textfont.variant": { "params": { - "plotly_name": "arrayminussrc", - "parent_name": "histogram.error_y", - "edit_type": "none" + "plotly_name": "variant", + "parent_name": "histogram2d.textfont", + "edit_type": "plot", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "histogram.error_y.arrayminus": { + "histogram2d.textfont.textcase": { "params": { - "plotly_name": "arrayminus", - "parent_name": "histogram.error_y", - "edit_type": "calc" + "plotly_name": "textcase", + "parent_name": "histogram2d.textfont", + "edit_type": "plot", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, - "superclass": "DataArrayValidator" + "superclass": "EnumeratedValidator" }, - "histogram.error_y.array": { + "histogram2d.textfont.style": { "params": { - "plotly_name": "array", - "parent_name": "histogram.error_y", - "edit_type": "calc" + "plotly_name": "style", + "parent_name": "histogram2d.textfont", + "edit_type": "plot", + "values": [ + "normal", + "italic" + ] }, - "superclass": "DataArrayValidator" + "superclass": "EnumeratedValidator" }, - "histogram.error_x": { + "histogram2d.textfont.size": { "params": { - "plotly_name": "error_x", - "parent_name": "histogram", - "data_class_str": "ErrorX", - "data_docs": "\n" + "plotly_name": "size", + "parent_name": "histogram2d.textfont", + "edit_type": "plot", + "min": 1 }, - "superclass": "CompoundValidator" + "superclass": "NumberValidator" }, - "histogram.error_x.width": { + "histogram2d.textfont.shadow": { "params": { - "plotly_name": "width", - "parent_name": "histogram.error_x", - "edit_type": "plot", - "min": 0 + "plotly_name": "shadow", + "parent_name": "histogram2d.textfont", + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "histogram.error_x.visible": { + "histogram2d.textfont.lineposition": { "params": { - "plotly_name": "visible", - "parent_name": "histogram.error_x", - "edit_type": "calc" + "plotly_name": "lineposition", + "parent_name": "histogram2d.textfont", + "edit_type": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] }, - "superclass": "BooleanValidator" + "superclass": "FlaglistValidator" }, - "histogram.error_x.valueminus": { + "histogram2d.textfont.family": { "params": { - "plotly_name": "valueminus", - "parent_name": "histogram.error_x", - "edit_type": "calc", - "min": 0 + "plotly_name": "family", + "parent_name": "histogram2d.textfont", + "edit_type": "plot", + "no_blank": true, + "strict": true }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "histogram.error_x.value": { + "histogram2d.textfont.color": { "params": { - "plotly_name": "value", - "parent_name": "histogram.error_x", - "edit_type": "calc", - "min": 0 + "plotly_name": "color", + "parent_name": "histogram2d.textfont", + "edit_type": "style" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "histogram.error_x.type": { + "histogram2d.showscale": { "params": { - "plotly_name": "type", - "parent_name": "histogram.error_x", - "edit_type": "calc", - "values": [ - "percent", - "constant", - "sqrt", - "data" - ] + "plotly_name": "showscale", + "parent_name": "histogram2d", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "BooleanValidator" }, - "histogram.error_x.tracerefminus": { + "histogram2d.showlegend": { "params": { - "plotly_name": "tracerefminus", - "parent_name": "histogram.error_x", - "edit_type": "style", - "min": 0 + "plotly_name": "showlegend", + "parent_name": "histogram2d", + "edit_type": "style" }, - "superclass": "IntegerValidator" + "superclass": "BooleanValidator" }, - "histogram.error_x.traceref": { + "histogram2d.reversescale": { "params": { - "plotly_name": "traceref", - "parent_name": "histogram.error_x", - "edit_type": "style", - "min": 0 + "plotly_name": "reversescale", + "parent_name": "histogram2d", + "edit_type": "plot" }, - "superclass": "IntegerValidator" + "superclass": "BooleanValidator" }, - "histogram.error_x.thickness": { + "histogram2d.opacity": { "params": { - "plotly_name": "thickness", - "parent_name": "histogram.error_x", + "plotly_name": "opacity", + "parent_name": "histogram2d", "edit_type": "style", + "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "histogram.error_x.symmetric": { + "histogram2d.nbinsy": { "params": { - "plotly_name": "symmetric", - "parent_name": "histogram.error_x", - "edit_type": "calc" + "plotly_name": "nbinsy", + "parent_name": "histogram2d", + "edit_type": "calc", + "min": 0 }, - "superclass": "BooleanValidator" + "superclass": "IntegerValidator" }, - "histogram.error_x.copy_ystyle": { + "histogram2d.nbinsx": { "params": { - "plotly_name": "copy_ystyle", - "parent_name": "histogram.error_x", - "edit_type": "plot" + "plotly_name": "nbinsx", + "parent_name": "histogram2d", + "edit_type": "calc", + "min": 0 }, - "superclass": "BooleanValidator" + "superclass": "IntegerValidator" }, - "histogram.error_x.color": { + "histogram2d.name": { "params": { - "plotly_name": "color", - "parent_name": "histogram.error_x", + "plotly_name": "name", + "parent_name": "histogram2d", "edit_type": "style" }, - "superclass": "ColorValidator" + "superclass": "StringValidator" }, - "histogram.error_x.arraysrc": { + "histogram2d.meta": { "params": { - "plotly_name": "arraysrc", - "parent_name": "histogram.error_x", - "edit_type": "none" + "plotly_name": "meta", + "parent_name": "histogram2d", + "array_ok": true, + "edit_type": "plot" }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "histogram.error_x.arrayminussrc": { + "histogram2d.marker": { "params": { - "plotly_name": "arrayminussrc", - "parent_name": "histogram.error_x", - "edit_type": "none" + "plotly_name": "marker", + "parent_name": "histogram2d", + "data_class_str": "Marker", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "histogram.error_x.arrayminus": { + "histogram2d.marker.color": { "params": { - "plotly_name": "arrayminus", - "parent_name": "histogram.error_x", + "plotly_name": "color", + "parent_name": "histogram2d.marker", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "histogram.error_x.array": { + "histogram2d.legendwidth": { "params": { - "plotly_name": "array", - "parent_name": "histogram.error_x", - "edit_type": "calc" + "plotly_name": "legendwidth", + "parent_name": "histogram2d", + "edit_type": "style", + "min": 0 }, - "superclass": "DataArrayValidator" + "superclass": "NumberValidator" }, - "histogram.customdatasrc": { + "histogram2d.legendrank": { "params": { - "plotly_name": "customdatasrc", - "parent_name": "histogram", - "edit_type": "none" + "plotly_name": "legendrank", + "parent_name": "histogram2d", + "edit_type": "style" }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "histogram.customdata": { + "histogram2d.legendgrouptitle": { "params": { - "plotly_name": "customdata", - "parent_name": "histogram", - "edit_type": "calc" + "plotly_name": "legendgrouptitle", + "parent_name": "histogram2d", + "data_class_str": "Legendgrouptitle", + "data_docs": "\n" }, - "superclass": "DataArrayValidator" + "superclass": "CompoundValidator" }, - "histogram.cumulative": { + "histogram2d.legendgrouptitle.text": { "params": { - "plotly_name": "cumulative", - "parent_name": "histogram", - "data_class_str": "Cumulative", + "plotly_name": "text", + "parent_name": "histogram2d.legendgrouptitle", + "edit_type": "style" + }, + "superclass": "StringValidator" + }, + "histogram2d.legendgrouptitle.font": { + "params": { + "plotly_name": "font", + "parent_name": "histogram2d.legendgrouptitle", + "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "histogram.cumulative.enabled": { + "histogram2d.legendgrouptitle.font.weight": { "params": { - "plotly_name": "enabled", - "parent_name": "histogram.cumulative", - "edit_type": "calc" + "plotly_name": "weight", + "parent_name": "histogram2d.legendgrouptitle.font", + "edit_type": "style", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "BooleanValidator" + "superclass": "IntegerValidator" }, - "histogram.cumulative.direction": { + "histogram2d.legendgrouptitle.font.variant": { "params": { - "plotly_name": "direction", - "parent_name": "histogram.cumulative", - "edit_type": "calc", + "plotly_name": "variant", + "parent_name": "histogram2d.legendgrouptitle.font", + "edit_type": "style", "values": [ - "increasing", - "decreasing" + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] }, "superclass": "EnumeratedValidator" }, - "histogram.cumulative.currentbin": { + "histogram2d.legendgrouptitle.font.textcase": { "params": { - "plotly_name": "currentbin", - "parent_name": "histogram.cumulative", - "edit_type": "calc", + "plotly_name": "textcase", + "parent_name": "histogram2d.legendgrouptitle.font", + "edit_type": "style", "values": [ - "include", - "exclude", - "half" + "normal", + "word caps", + "upper", + "lower" ] }, "superclass": "EnumeratedValidator" }, - "histogram.constraintext": { + "histogram2d.legendgrouptitle.font.style": { "params": { - "plotly_name": "constraintext", - "parent_name": "histogram", - "edit_type": "calc", + "plotly_name": "style", + "parent_name": "histogram2d.legendgrouptitle.font", + "edit_type": "style", "values": [ - "inside", - "outside", - "both", - "none" + "normal", + "italic" ] }, "superclass": "EnumeratedValidator" }, - "histogram.cliponaxis": { - "params": { - "plotly_name": "cliponaxis", - "parent_name": "histogram", - "edit_type": "plot" - }, - "superclass": "BooleanValidator" - }, - "histogram.bingroup": { + "histogram2d.legendgrouptitle.font.size": { "params": { - "plotly_name": "bingroup", - "parent_name": "histogram", - "edit_type": "calc" + "plotly_name": "size", + "parent_name": "histogram2d.legendgrouptitle.font", + "edit_type": "style", + "min": 1 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "histogram.autobiny": { + "histogram2d.legendgrouptitle.font.shadow": { "params": { - "plotly_name": "autobiny", - "parent_name": "histogram", - "edit_type": "calc" + "plotly_name": "shadow", + "parent_name": "histogram2d.legendgrouptitle.font", + "edit_type": "style" }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "histogram.autobinx": { + "histogram2d.legendgrouptitle.font.lineposition": { "params": { - "plotly_name": "autobinx", - "parent_name": "histogram", - "edit_type": "calc" + "plotly_name": "lineposition", + "parent_name": "histogram2d.legendgrouptitle.font", + "edit_type": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] }, - "superclass": "BooleanValidator" + "superclass": "FlaglistValidator" }, - "histogram.alignmentgroup": { + "histogram2d.legendgrouptitle.font.family": { "params": { - "plotly_name": "alignmentgroup", - "parent_name": "histogram", - "edit_type": "calc" + "plotly_name": "family", + "parent_name": "histogram2d.legendgrouptitle.font", + "edit_type": "style", + "no_blank": true, + "strict": true }, "superclass": "StringValidator" }, - "heatmap": { + "histogram2d.legendgrouptitle.font.color": { "params": { - "plotly_name": "heatmap", - "parent_name": "", - "data_class_str": "Heatmap", - "data_docs": "\n" + "plotly_name": "color", + "parent_name": "histogram2d.legendgrouptitle.font", + "edit_type": "style" }, - "superclass": "CompoundValidator" + "superclass": "ColorValidator" }, - "heatmap.zsrc": { + "histogram2d.legendgroup": { "params": { - "plotly_name": "zsrc", - "parent_name": "heatmap", - "edit_type": "none" + "plotly_name": "legendgroup", + "parent_name": "histogram2d", + "edit_type": "style" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "heatmap.zsmooth": { + "histogram2d.legend": { "params": { - "plotly_name": "zsmooth", - "parent_name": "heatmap", - "edit_type": "calc", - "values": [ - "fast", - "best", - false - ] + "plotly_name": "legend", + "parent_name": "histogram2d", + "dflt": "legend", + "edit_type": "style" }, - "superclass": "EnumeratedValidator" + "superclass": "SubplotidValidator" }, - "heatmap.zorder": { + "histogram2d.ids": { "params": { - "plotly_name": "zorder", - "parent_name": "heatmap", - "edit_type": "plot" + "plotly_name": "ids", + "parent_name": "histogram2d", + "edit_type": "calc" }, - "superclass": "IntegerValidator" + "superclass": "DataArrayValidator" }, - "heatmap.zmin": { + "histogram2d.hovertemplatefallback": { "params": { - "plotly_name": "zmin", - "parent_name": "heatmap", - "edit_type": "plot", - "implied_edits": { - "zauto": false - } + "plotly_name": "hovertemplatefallback", + "parent_name": "histogram2d", + "edit_type": "none" }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "heatmap.zmid": { + "histogram2d.hovertemplate": { "params": { - "plotly_name": "zmid", - "parent_name": "heatmap", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "hovertemplate", + "parent_name": "histogram2d", + "array_ok": true, + "edit_type": "none" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "heatmap.zmax": { + "histogram2d.hoverlabel": { "params": { - "plotly_name": "zmax", - "parent_name": "heatmap", - "edit_type": "plot", - "implied_edits": { - "zauto": false - } + "plotly_name": "hoverlabel", + "parent_name": "histogram2d", + "data_class_str": "Hoverlabel", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "heatmap.zhoverformat": { + "histogram2d.hoverlabel.showarrow": { "params": { - "plotly_name": "zhoverformat", - "parent_name": "heatmap", + "plotly_name": "showarrow", + "parent_name": "histogram2d.hoverlabel", "edit_type": "none" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "heatmap.zauto": { + "histogram2d.hoverlabel.namelength": { "params": { - "plotly_name": "zauto", - "parent_name": "heatmap", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "namelength", + "parent_name": "histogram2d.hoverlabel", + "array_ok": true, + "edit_type": "none", + "min": -1 }, - "superclass": "BooleanValidator" + "superclass": "IntegerValidator" }, - "heatmap.z": { + "histogram2d.hoverlabel.font": { "params": { - "plotly_name": "z", - "parent_name": "heatmap", - "edit_type": "calc" + "plotly_name": "font", + "parent_name": "histogram2d.hoverlabel", + "data_class_str": "Font", + "data_docs": "\n" }, - "superclass": "DataArrayValidator" + "superclass": "CompoundValidator" }, - "heatmap.ytype": { + "histogram2d.hoverlabel.font.weight": { "params": { - "plotly_name": "ytype", - "parent_name": "heatmap", - "edit_type": "calc+clearAxisTypes", - "values": [ - "array", - "scaled" - ] + "plotly_name": "weight", + "parent_name": "histogram2d.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "EnumeratedValidator" + "superclass": "IntegerValidator" }, - "heatmap.ysrc": { + "histogram2d.hoverlabel.font.variant": { "params": { - "plotly_name": "ysrc", - "parent_name": "heatmap", - "edit_type": "none" + "plotly_name": "variant", + "parent_name": "histogram2d.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "heatmap.yperiodalignment": { + "histogram2d.hoverlabel.font.textcase": { "params": { - "plotly_name": "yperiodalignment", - "parent_name": "heatmap", - "edit_type": "calc", - "implied_edits": { - "ytype": "scaled" - }, + "plotly_name": "textcase", + "parent_name": "histogram2d.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ - "start", - "middle", - "end" + "normal", + "word caps", + "upper", + "lower" ] }, "superclass": "EnumeratedValidator" }, - "heatmap.yperiod0": { + "histogram2d.hoverlabel.font.style": { "params": { - "plotly_name": "yperiod0", - "parent_name": "heatmap", - "edit_type": "calc", - "implied_edits": { - "ytype": "scaled" - } + "plotly_name": "style", + "parent_name": "histogram2d.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "values": [ + "normal", + "italic" + ] }, - "superclass": "AnyValidator" + "superclass": "EnumeratedValidator" }, - "heatmap.yperiod": { + "histogram2d.hoverlabel.font.size": { "params": { - "plotly_name": "yperiod", - "parent_name": "heatmap", - "edit_type": "calc", - "implied_edits": { - "ytype": "scaled" - } + "plotly_name": "size", + "parent_name": "histogram2d.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "min": 1 }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "heatmap.yhoverformat": { + "histogram2d.hoverlabel.font.shadow": { "params": { - "plotly_name": "yhoverformat", - "parent_name": "heatmap", + "plotly_name": "shadow", + "parent_name": "histogram2d.hoverlabel.font", + "array_ok": true, "edit_type": "none" }, "superclass": "StringValidator" }, - "heatmap.ygap": { + "histogram2d.hoverlabel.font.lineposition": { "params": { - "plotly_name": "ygap", - "parent_name": "heatmap", - "edit_type": "plot", - "min": 0 + "plotly_name": "lineposition", + "parent_name": "histogram2d.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] }, - "superclass": "NumberValidator" + "superclass": "FlaglistValidator" }, - "heatmap.ycalendar": { + "histogram2d.hoverlabel.font.family": { "params": { - "plotly_name": "ycalendar", - "parent_name": "heatmap", - "edit_type": "calc", - "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" - ] + "plotly_name": "family", + "parent_name": "histogram2d.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "no_blank": true, + "strict": true }, - "superclass": "EnumeratedValidator" + "superclass": "StringValidator" }, - "heatmap.yaxis": { + "histogram2d.hoverlabel.font.color": { "params": { - "plotly_name": "yaxis", - "parent_name": "heatmap", - "dflt": "y", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "color", + "parent_name": "histogram2d.hoverlabel.font", + "array_ok": true, + "edit_type": "none" }, - "superclass": "SubplotidValidator" + "superclass": "ColorValidator" }, - "heatmap.y0": { + "histogram2d.hoverlabel.bordercolor": { "params": { - "plotly_name": "y0", - "parent_name": "heatmap", - "edit_type": "calc+clearAxisTypes", - "implied_edits": { - "ytype": "scaled" - } + "plotly_name": "bordercolor", + "parent_name": "histogram2d.hoverlabel", + "array_ok": true, + "edit_type": "none" }, - "superclass": "AnyValidator" + "superclass": "ColorValidator" }, - "heatmap.y": { + "histogram2d.hoverlabel.bgcolor": { "params": { - "plotly_name": "y", - "parent_name": "heatmap", - "edit_type": "calc+clearAxisTypes", - "implied_edits": { - "ytype": "array" - } + "plotly_name": "bgcolor", + "parent_name": "histogram2d.hoverlabel", + "array_ok": true, + "edit_type": "none" }, - "superclass": "DataArrayValidator" + "superclass": "ColorValidator" }, - "heatmap.xtype": { + "histogram2d.hoverlabel.align": { "params": { - "plotly_name": "xtype", - "parent_name": "heatmap", - "edit_type": "calc+clearAxisTypes", + "plotly_name": "align", + "parent_name": "histogram2d.hoverlabel", + "array_ok": true, + "edit_type": "none", "values": [ - "array", - "scaled" + "left", + "right", + "auto" ] }, "superclass": "EnumeratedValidator" }, - "heatmap.xsrc": { + "histogram2d.hoverinfo": { "params": { - "plotly_name": "xsrc", - "parent_name": "heatmap", - "edit_type": "none" + "plotly_name": "hoverinfo", + "parent_name": "histogram2d", + "array_ok": true, + "edit_type": "none", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ] }, - "superclass": "SrcValidator" + "superclass": "FlaglistValidator" }, - "heatmap.xperiodalignment": { + "histogram2d.histnorm": { "params": { - "plotly_name": "xperiodalignment", - "parent_name": "heatmap", + "plotly_name": "histnorm", + "parent_name": "histogram2d", "edit_type": "calc", - "implied_edits": { - "xtype": "scaled" - }, "values": [ - "start", - "middle", - "end" + "", + "percent", + "probability", + "density", + "probability density" ] }, "superclass": "EnumeratedValidator" }, - "heatmap.xperiod0": { + "histogram2d.histfunc": { "params": { - "plotly_name": "xperiod0", - "parent_name": "heatmap", + "plotly_name": "histfunc", + "parent_name": "histogram2d", "edit_type": "calc", - "implied_edits": { - "xtype": "scaled" - } + "values": [ + "count", + "sum", + "avg", + "min", + "max" + ] }, - "superclass": "AnyValidator" + "superclass": "EnumeratedValidator" }, - "heatmap.xperiod": { + "histogram2d.customdata": { "params": { - "plotly_name": "xperiod", - "parent_name": "heatmap", - "edit_type": "calc", - "implied_edits": { - "xtype": "scaled" - } + "plotly_name": "customdata", + "parent_name": "histogram2d", + "edit_type": "calc" }, - "superclass": "AnyValidator" + "superclass": "DataArrayValidator" }, - "heatmap.xhoverformat": { + "histogram2d.colorscale": { "params": { - "plotly_name": "xhoverformat", - "parent_name": "heatmap", - "edit_type": "none" + "plotly_name": "colorscale", + "parent_name": "histogram2d", + "edit_type": "calc", + "implied_edits": { + "autocolorscale": false + } }, - "superclass": "StringValidator" + "superclass": "ColorscaleValidator" }, - "heatmap.xgap": { + "histogram2d.colorbar": { "params": { - "plotly_name": "xgap", - "parent_name": "heatmap", - "edit_type": "plot", - "min": 0 + "plotly_name": "colorbar", + "parent_name": "histogram2d", + "data_class_str": "ColorBar", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "heatmap.xcalendar": { + "histogram2d.colorbar.yref": { "params": { - "plotly_name": "xcalendar", - "parent_name": "heatmap", - "edit_type": "calc", + "plotly_name": "yref", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" + "container", + "paper" ] }, "superclass": "EnumeratedValidator" }, - "heatmap.xaxis": { + "histogram2d.colorbar.ypad": { "params": { - "plotly_name": "xaxis", - "parent_name": "heatmap", - "dflt": "x", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "ypad", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "SubplotidValidator" + "superclass": "NumberValidator" }, - "heatmap.x0": { + "histogram2d.colorbar.yanchor": { "params": { - "plotly_name": "x0", - "parent_name": "heatmap", - "edit_type": "calc+clearAxisTypes", - "implied_edits": { - "xtype": "scaled" - } + "plotly_name": "yanchor", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", + "values": [ + "top", + "middle", + "bottom" + ] }, - "superclass": "AnyValidator" - }, - "heatmap.x": { - "params": { - "plotly_name": "x", - "parent_name": "heatmap", - "edit_type": "calc+clearAxisTypes", - "implied_edits": { - "xtype": "array" - } + "superclass": "EnumeratedValidator" + }, + "histogram2d.colorbar.y": { + "params": { + "plotly_name": "y", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars" }, - "superclass": "DataArrayValidator" + "superclass": "NumberValidator" }, - "heatmap.visible": { + "histogram2d.colorbar.xref": { "params": { - "plotly_name": "visible", - "parent_name": "heatmap", - "edit_type": "calc", + "plotly_name": "xref", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", "values": [ - true, - false, - "legendonly" + "container", + "paper" ] }, "superclass": "EnumeratedValidator" }, - "heatmap.uirevision": { + "histogram2d.colorbar.xpad": { "params": { - "plotly_name": "uirevision", - "parent_name": "heatmap", - "edit_type": "none" + "plotly_name": "xpad", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "heatmap.uid": { + "histogram2d.colorbar.xanchor": { "params": { - "plotly_name": "uid", - "parent_name": "heatmap", - "edit_type": "plot" + "plotly_name": "xanchor", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", + "values": [ + "left", + "center", + "right" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "heatmap.transpose": { + "histogram2d.colorbar.x": { "params": { - "plotly_name": "transpose", - "parent_name": "heatmap", - "edit_type": "calc" + "plotly_name": "x", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars" }, - "superclass": "BooleanValidator" + "superclass": "NumberValidator" }, - "heatmap.texttemplatefallback": { + "histogram2d.colorbar.title": { "params": { - "plotly_name": "texttemplatefallback", - "parent_name": "heatmap", - "edit_type": "plot" + "plotly_name": "title", + "parent_name": "histogram2d.colorbar", + "data_class_str": "Title", + "data_docs": "\n" }, - "superclass": "AnyValidator" + "superclass": "TitleValidator" }, - "heatmap.texttemplate": { + "histogram2d.colorbar.title.text": { "params": { - "plotly_name": "texttemplate", - "parent_name": "heatmap", - "edit_type": "plot" + "plotly_name": "text", + "parent_name": "histogram2d.colorbar.title", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "heatmap.textsrc": { + "histogram2d.colorbar.title.side": { "params": { - "plotly_name": "textsrc", - "parent_name": "heatmap", - "edit_type": "none" + "plotly_name": "side", + "parent_name": "histogram2d.colorbar.title", + "edit_type": "colorbars", + "values": [ + "right", + "top", + "bottom" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "heatmap.textfont": { + "histogram2d.colorbar.title.font": { "params": { - "plotly_name": "textfont", - "parent_name": "heatmap", - "data_class_str": "Textfont", + "plotly_name": "font", + "parent_name": "histogram2d.colorbar.title", + "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "heatmap.textfont.weight": { + "histogram2d.colorbar.title.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "heatmap.textfont", - "edit_type": "plot", + "parent_name": "histogram2d.colorbar.title.font", + "edit_type": "colorbars", "extras": [ "normal", "bold" @@ -99722,11 +83789,11 @@ }, "superclass": "IntegerValidator" }, - "heatmap.textfont.variant": { + "histogram2d.colorbar.title.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "heatmap.textfont", - "edit_type": "plot", + "parent_name": "histogram2d.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "small-caps", @@ -99738,11 +83805,11 @@ }, "superclass": "EnumeratedValidator" }, - "heatmap.textfont.textcase": { + "histogram2d.colorbar.title.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "heatmap.textfont", - "edit_type": "plot", + "parent_name": "histogram2d.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "word caps", @@ -99752,11 +83819,11 @@ }, "superclass": "EnumeratedValidator" }, - "heatmap.textfont.style": { + "histogram2d.colorbar.title.font.style": { "params": { "plotly_name": "style", - "parent_name": "heatmap.textfont", - "edit_type": "plot", + "parent_name": "histogram2d.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "italic" @@ -99764,28 +83831,28 @@ }, "superclass": "EnumeratedValidator" }, - "heatmap.textfont.size": { + "histogram2d.colorbar.title.font.size": { "params": { "plotly_name": "size", - "parent_name": "heatmap.textfont", - "edit_type": "plot", + "parent_name": "histogram2d.colorbar.title.font", + "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "heatmap.textfont.shadow": { + "histogram2d.colorbar.title.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "heatmap.textfont", - "edit_type": "plot" + "parent_name": "histogram2d.colorbar.title.font", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "heatmap.textfont.lineposition": { + "histogram2d.colorbar.title.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "heatmap.textfont", - "edit_type": "plot", + "parent_name": "histogram2d.colorbar.title.font", + "edit_type": "colorbars", "extras": [ "none" ], @@ -99797,168 +83864,233 @@ }, "superclass": "FlaglistValidator" }, - "heatmap.textfont.family": { + "histogram2d.colorbar.title.font.family": { "params": { "plotly_name": "family", - "parent_name": "heatmap.textfont", - "edit_type": "plot", + "parent_name": "histogram2d.colorbar.title.font", + "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "heatmap.textfont.color": { + "histogram2d.colorbar.title.font.color": { "params": { "plotly_name": "color", - "parent_name": "heatmap.textfont", - "edit_type": "style" + "parent_name": "histogram2d.colorbar.title.font", + "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "heatmap.text": { + "histogram2d.colorbar.tickwidth": { "params": { - "plotly_name": "text", - "parent_name": "heatmap", - "edit_type": "calc" + "plotly_name": "tickwidth", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "histogram2d.colorbar.tickvals": { + "params": { + "plotly_name": "tickvals", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars" }, "superclass": "DataArrayValidator" }, - "heatmap.stream": { + "histogram2d.colorbar.ticktext": { "params": { - "plotly_name": "stream", - "parent_name": "heatmap", - "data_class_str": "Stream", - "data_docs": "\n" + "plotly_name": "ticktext", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars" }, - "superclass": "CompoundValidator" + "superclass": "DataArrayValidator" }, - "heatmap.stream.token": { + "histogram2d.colorbar.ticksuffix": { "params": { - "plotly_name": "token", - "parent_name": "heatmap.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true + "plotly_name": "ticksuffix", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "heatmap.stream.maxpoints": { + "histogram2d.colorbar.ticks": { "params": { - "plotly_name": "maxpoints", - "parent_name": "heatmap.stream", - "edit_type": "calc", - "max": 10000, + "plotly_name": "ticks", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", + "values": [ + "outside", + "inside", + "" + ] + }, + "superclass": "EnumeratedValidator" + }, + "histogram2d.colorbar.tickprefix": { + "params": { + "plotly_name": "tickprefix", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars" + }, + "superclass": "StringValidator" + }, + "histogram2d.colorbar.tickmode": { + "params": { + "plotly_name": "tickmode", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", + "implied_edits": {}, + "values": [ + "auto", + "linear", + "array" + ] + }, + "superclass": "EnumeratedValidator" + }, + "histogram2d.colorbar.ticklen": { + "params": { + "plotly_name": "ticklen", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "heatmap.showscale": { + "histogram2d.colorbar.ticklabelstep": { "params": { - "plotly_name": "showscale", - "parent_name": "heatmap", - "edit_type": "calc" + "plotly_name": "ticklabelstep", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", + "min": 1 }, - "superclass": "BooleanValidator" + "superclass": "IntegerValidator" }, - "heatmap.showlegend": { + "histogram2d.colorbar.ticklabelposition": { "params": { - "plotly_name": "showlegend", - "parent_name": "heatmap", - "edit_type": "style" + "plotly_name": "ticklabelposition", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", + "values": [ + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom" + ] }, - "superclass": "BooleanValidator" + "superclass": "EnumeratedValidator" }, - "heatmap.reversescale": { + "histogram2d.colorbar.ticklabeloverflow": { "params": { - "plotly_name": "reversescale", - "parent_name": "heatmap", - "edit_type": "plot" + "plotly_name": "ticklabeloverflow", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", + "values": [ + "allow", + "hide past div", + "hide past domain" + ] }, - "superclass": "BooleanValidator" + "superclass": "EnumeratedValidator" }, - "heatmap.opacity": { + "histogram2d.colorbar.tickformatstopdefaults": { "params": { - "plotly_name": "opacity", - "parent_name": "heatmap", - "edit_type": "style", - "max": 1, - "min": 0 + "plotly_name": "tickformatstopdefaults", + "parent_name": "histogram2d.colorbar", + "data_class_str": "Tickformatstop", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "heatmap.name": { + "histogram2d.colorbar.tickformatstops": { "params": { - "plotly_name": "name", - "parent_name": "heatmap", - "edit_type": "style" + "plotly_name": "tickformatstops", + "parent_name": "histogram2d.colorbar", + "data_class_str": "Tickformatstop", + "data_docs": "\n" }, - "superclass": "StringValidator" + "superclass": "CompoundArrayValidator" }, - "heatmap.metasrc": { + "histogram2d.colorbar.tickformatstop.value": { "params": { - "plotly_name": "metasrc", - "parent_name": "heatmap", - "edit_type": "none" + "plotly_name": "value", + "parent_name": "histogram2d.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "heatmap.meta": { + "histogram2d.colorbar.tickformatstop.templateitemname": { "params": { - "plotly_name": "meta", - "parent_name": "heatmap", - "array_ok": true, - "edit_type": "plot" + "plotly_name": "templateitemname", + "parent_name": "histogram2d.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "AnyValidator" + "superclass": "StringValidator" }, - "heatmap.legendwidth": { + "histogram2d.colorbar.tickformatstop.name": { "params": { - "plotly_name": "legendwidth", - "parent_name": "heatmap", - "edit_type": "style", - "min": 0 + "plotly_name": "name", + "parent_name": "histogram2d.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "heatmap.legendrank": { + "histogram2d.colorbar.tickformatstop.enabled": { "params": { - "plotly_name": "legendrank", - "parent_name": "heatmap", - "edit_type": "style" + "plotly_name": "enabled", + "parent_name": "histogram2d.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "heatmap.legendgrouptitle": { + "histogram2d.colorbar.tickformatstop.dtickrange": { "params": { - "plotly_name": "legendgrouptitle", - "parent_name": "heatmap", - "data_class_str": "Legendgrouptitle", - "data_docs": "\n" + "plotly_name": "dtickrange", + "parent_name": "histogram2d.colorbar.tickformatstop", + "edit_type": "colorbars", + "items": [ + { + "editType": "colorbars", + "valType": "any" + }, + { + "editType": "colorbars", + "valType": "any" + } + ] }, - "superclass": "CompoundValidator" + "superclass": "InfoArrayValidator" }, - "heatmap.legendgrouptitle.text": { + "histogram2d.colorbar.tickformat": { "params": { - "plotly_name": "text", - "parent_name": "heatmap.legendgrouptitle", - "edit_type": "style" + "plotly_name": "tickformat", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "heatmap.legendgrouptitle.font": { + "histogram2d.colorbar.tickfont": { "params": { - "plotly_name": "font", - "parent_name": "heatmap.legendgrouptitle", - "data_class_str": "Font", + "plotly_name": "tickfont", + "parent_name": "histogram2d.colorbar", + "data_class_str": "Tickfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "heatmap.legendgrouptitle.font.weight": { + "histogram2d.colorbar.tickfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "heatmap.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "histogram2d.colorbar.tickfont", + "edit_type": "colorbars", "extras": [ "normal", "bold" @@ -99968,11 +84100,11 @@ }, "superclass": "IntegerValidator" }, - "heatmap.legendgrouptitle.font.variant": { + "histogram2d.colorbar.tickfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "heatmap.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "histogram2d.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "small-caps", @@ -99984,11 +84116,11 @@ }, "superclass": "EnumeratedValidator" }, - "heatmap.legendgrouptitle.font.textcase": { + "histogram2d.colorbar.tickfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "heatmap.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "histogram2d.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "word caps", @@ -99998,11 +84130,11 @@ }, "superclass": "EnumeratedValidator" }, - "heatmap.legendgrouptitle.font.style": { + "histogram2d.colorbar.tickfont.style": { "params": { "plotly_name": "style", - "parent_name": "heatmap.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "histogram2d.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "italic" @@ -100010,28 +84142,28 @@ }, "superclass": "EnumeratedValidator" }, - "heatmap.legendgrouptitle.font.size": { + "histogram2d.colorbar.tickfont.size": { "params": { "plotly_name": "size", - "parent_name": "heatmap.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "histogram2d.colorbar.tickfont", + "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "heatmap.legendgrouptitle.font.shadow": { + "histogram2d.colorbar.tickfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "heatmap.legendgrouptitle.font", - "edit_type": "style" + "parent_name": "histogram2d.colorbar.tickfont", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "heatmap.legendgrouptitle.font.lineposition": { + "histogram2d.colorbar.tickfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "heatmap.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "histogram2d.colorbar.tickfont", + "edit_type": "colorbars", "extras": [ "none" ], @@ -100043,617 +84175,614 @@ }, "superclass": "FlaglistValidator" }, - "heatmap.legendgrouptitle.font.family": { + "histogram2d.colorbar.tickfont.family": { "params": { "plotly_name": "family", - "parent_name": "heatmap.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "histogram2d.colorbar.tickfont", + "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "heatmap.legendgrouptitle.font.color": { + "histogram2d.colorbar.tickfont.color": { "params": { "plotly_name": "color", - "parent_name": "heatmap.legendgrouptitle.font", - "edit_type": "style" + "parent_name": "histogram2d.colorbar.tickfont", + "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "heatmap.legendgroup": { - "params": { - "plotly_name": "legendgroup", - "parent_name": "heatmap", - "edit_type": "style" - }, - "superclass": "StringValidator" - }, - "heatmap.legend": { - "params": { - "plotly_name": "legend", - "parent_name": "heatmap", - "dflt": "legend", - "edit_type": "style" - }, - "superclass": "SubplotidValidator" - }, - "heatmap.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "heatmap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "heatmap.ids": { + "histogram2d.colorbar.tickcolor": { "params": { - "plotly_name": "ids", - "parent_name": "heatmap", - "edit_type": "calc" + "plotly_name": "tickcolor", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars" }, - "superclass": "DataArrayValidator" + "superclass": "ColorValidator" }, - "heatmap.hovertextsrc": { + "histogram2d.colorbar.tickangle": { "params": { - "plotly_name": "hovertextsrc", - "parent_name": "heatmap", - "edit_type": "none" + "plotly_name": "tickangle", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "AngleValidator" }, - "heatmap.hovertext": { + "histogram2d.colorbar.tick0": { "params": { - "plotly_name": "hovertext", - "parent_name": "heatmap", - "edit_type": "calc" + "plotly_name": "tick0", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", + "implied_edits": { + "tickmode": "linear" + } }, - "superclass": "DataArrayValidator" + "superclass": "AnyValidator" }, - "heatmap.hovertemplatesrc": { + "histogram2d.colorbar.thicknessmode": { "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "heatmap", - "edit_type": "none" + "plotly_name": "thicknessmode", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", + "values": [ + "fraction", + "pixels" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "heatmap.hovertemplatefallback": { + "histogram2d.colorbar.thickness": { "params": { - "plotly_name": "hovertemplatefallback", - "parent_name": "heatmap", - "edit_type": "none" + "plotly_name": "thickness", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "heatmap.hovertemplate": { + "histogram2d.colorbar.showticksuffix": { "params": { - "plotly_name": "hovertemplate", - "parent_name": "heatmap", - "array_ok": true, - "edit_type": "none" + "plotly_name": "showticksuffix", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "heatmap.hoverongaps": { + "histogram2d.colorbar.showtickprefix": { "params": { - "plotly_name": "hoverongaps", - "parent_name": "heatmap", - "edit_type": "none" + "plotly_name": "showtickprefix", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "superclass": "BooleanValidator" + "superclass": "EnumeratedValidator" }, - "heatmap.hoverlabel": { + "histogram2d.colorbar.showticklabels": { "params": { - "plotly_name": "hoverlabel", - "parent_name": "heatmap", - "data_class_str": "Hoverlabel", - "data_docs": "\n" + "plotly_name": "showticklabels", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars" }, - "superclass": "CompoundValidator" + "superclass": "BooleanValidator" }, - "heatmap.hoverlabel.showarrow": { + "histogram2d.colorbar.showexponent": { "params": { - "plotly_name": "showarrow", - "parent_name": "heatmap.hoverlabel", - "edit_type": "none" + "plotly_name": "showexponent", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "superclass": "BooleanValidator" + "superclass": "EnumeratedValidator" }, - "heatmap.hoverlabel.namelengthsrc": { + "histogram2d.colorbar.separatethousands": { "params": { - "plotly_name": "namelengthsrc", - "parent_name": "heatmap.hoverlabel", - "edit_type": "none" + "plotly_name": "separatethousands", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "heatmap.hoverlabel.namelength": { + "histogram2d.colorbar.outlinewidth": { "params": { - "plotly_name": "namelength", - "parent_name": "heatmap.hoverlabel", - "array_ok": true, - "edit_type": "none", - "min": -1 + "plotly_name": "outlinewidth", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "IntegerValidator" + "superclass": "NumberValidator" }, - "heatmap.hoverlabel.font": { + "histogram2d.colorbar.outlinecolor": { "params": { - "plotly_name": "font", - "parent_name": "heatmap.hoverlabel", - "data_class_str": "Font", - "data_docs": "\n" + "plotly_name": "outlinecolor", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars" }, - "superclass": "CompoundValidator" + "superclass": "ColorValidator" }, - "heatmap.hoverlabel.font.weightsrc": { + "histogram2d.colorbar.orientation": { "params": { - "plotly_name": "weightsrc", - "parent_name": "heatmap.hoverlabel.font", - "edit_type": "none" + "plotly_name": "orientation", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", + "values": [ + "h", + "v" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "heatmap.hoverlabel.font.weight": { + "histogram2d.colorbar.nticks": { "params": { - "plotly_name": "weight", - "parent_name": "heatmap.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 + "plotly_name": "nticks", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", + "min": 0 }, "superclass": "IntegerValidator" }, - "heatmap.hoverlabel.font.variantsrc": { + "histogram2d.colorbar.minexponent": { "params": { - "plotly_name": "variantsrc", - "parent_name": "heatmap.hoverlabel.font", - "edit_type": "none" + "plotly_name": "minexponent", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "heatmap.hoverlabel.font.variant": { + "histogram2d.colorbar.lenmode": { "params": { - "plotly_name": "variant", - "parent_name": "heatmap.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "plotly_name": "lenmode", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "fraction", + "pixels" ] }, "superclass": "EnumeratedValidator" }, - "heatmap.hoverlabel.font.textcasesrc": { + "histogram2d.colorbar.len": { "params": { - "plotly_name": "textcasesrc", - "parent_name": "heatmap.hoverlabel.font", - "edit_type": "none" + "plotly_name": "len", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "heatmap.hoverlabel.font.textcase": { + "histogram2d.colorbar.labelalias": { "params": { - "plotly_name": "textcase", - "parent_name": "heatmap.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "plotly_name": "labelalias", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars" + }, + "superclass": "AnyValidator" + }, + "histogram2d.colorbar.exponentformat": { + "params": { + "plotly_name": "exponentformat", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", "values": [ - "normal", - "word caps", - "upper", - "lower" + "none", + "e", + "E", + "power", + "SI", + "B", + "SI extended" ] }, "superclass": "EnumeratedValidator" }, - "heatmap.hoverlabel.font.stylesrc": { + "histogram2d.colorbar.dtick": { "params": { - "plotly_name": "stylesrc", - "parent_name": "heatmap.hoverlabel.font", - "edit_type": "none" + "plotly_name": "dtick", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", + "implied_edits": { + "tickmode": "linear" + } }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "heatmap.hoverlabel.font.style": { + "histogram2d.colorbar.borderwidth": { "params": { - "plotly_name": "style", - "parent_name": "heatmap.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "values": [ - "normal", - "italic" - ] + "plotly_name": "borderwidth", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "heatmap.hoverlabel.font.sizesrc": { + "histogram2d.colorbar.bordercolor": { "params": { - "plotly_name": "sizesrc", - "parent_name": "heatmap.hoverlabel.font", - "edit_type": "none" + "plotly_name": "bordercolor", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "heatmap.hoverlabel.font.size": { + "histogram2d.colorbar.bgcolor": { "params": { - "plotly_name": "size", - "parent_name": "heatmap.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "min": 1 + "plotly_name": "bgcolor", + "parent_name": "histogram2d.colorbar", + "edit_type": "colorbars" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "heatmap.hoverlabel.font.shadowsrc": { + "histogram2d.coloraxis": { "params": { - "plotly_name": "shadowsrc", - "parent_name": "heatmap.hoverlabel.font", - "edit_type": "none" + "plotly_name": "coloraxis", + "parent_name": "histogram2d", + "dflt": null, + "edit_type": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" }, - "superclass": "SrcValidator" + "superclass": "SubplotidValidator" }, - "heatmap.hoverlabel.font.shadow": { + "histogram2d.bingroup": { "params": { - "plotly_name": "shadow", - "parent_name": "heatmap.hoverlabel.font", - "array_ok": true, - "edit_type": "none" + "plotly_name": "bingroup", + "parent_name": "histogram2d", + "edit_type": "calc" }, "superclass": "StringValidator" }, - "heatmap.hoverlabel.font.linepositionsrc": { + "histogram2d.autocolorscale": { "params": { - "plotly_name": "linepositionsrc", - "parent_name": "heatmap.hoverlabel.font", - "edit_type": "none" + "plotly_name": "autocolorscale", + "parent_name": "histogram2d", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "heatmap.hoverlabel.font.lineposition": { + "histogram2d.autobiny": { "params": { - "plotly_name": "lineposition", - "parent_name": "heatmap.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] + "plotly_name": "autobiny", + "parent_name": "histogram2d", + "edit_type": "calc" }, - "superclass": "FlaglistValidator" + "superclass": "BooleanValidator" }, - "heatmap.hoverlabel.font.familysrc": { + "histogram2d.autobinx": { "params": { - "plotly_name": "familysrc", - "parent_name": "heatmap.hoverlabel.font", - "edit_type": "none" + "plotly_name": "autobinx", + "parent_name": "histogram2d", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "heatmap.hoverlabel.font.family": { + "histogram": { "params": { - "plotly_name": "family", - "parent_name": "heatmap.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "no_blank": true, - "strict": true + "plotly_name": "histogram", + "parent_name": "", + "data_class_str": "Histogram", + "data_docs": "\n" }, - "superclass": "StringValidator" + "superclass": "CompoundValidator" }, - "heatmap.hoverlabel.font.colorsrc": { + "histogram.zorder": { "params": { - "plotly_name": "colorsrc", - "parent_name": "heatmap.hoverlabel.font", - "edit_type": "none" + "plotly_name": "zorder", + "parent_name": "histogram", + "edit_type": "plot" }, - "superclass": "SrcValidator" + "superclass": "IntegerValidator" }, - "heatmap.hoverlabel.font.color": { + "histogram.yhoverformat": { "params": { - "plotly_name": "color", - "parent_name": "heatmap.hoverlabel.font", - "array_ok": true, + "plotly_name": "yhoverformat", + "parent_name": "histogram", "edit_type": "none" }, - "superclass": "ColorValidator" + "superclass": "StringValidator" }, - "heatmap.hoverlabel.bordercolorsrc": { + "histogram.ycalendar": { "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "heatmap.hoverlabel", - "edit_type": "none" + "plotly_name": "ycalendar", + "parent_name": "histogram", + "edit_type": "calc", + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "heatmap.hoverlabel.bordercolor": { + "histogram.ybins": { "params": { - "plotly_name": "bordercolor", - "parent_name": "heatmap.hoverlabel", - "array_ok": true, - "edit_type": "none" + "plotly_name": "ybins", + "parent_name": "histogram", + "data_class_str": "YBins", + "data_docs": "\n" }, - "superclass": "ColorValidator" + "superclass": "CompoundValidator" }, - "heatmap.hoverlabel.bgcolorsrc": { + "histogram.ybins.start": { "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "heatmap.hoverlabel", - "edit_type": "none" + "plotly_name": "start", + "parent_name": "histogram.ybins", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "heatmap.hoverlabel.bgcolor": { + "histogram.ybins.size": { "params": { - "plotly_name": "bgcolor", - "parent_name": "heatmap.hoverlabel", - "array_ok": true, - "edit_type": "none" + "plotly_name": "size", + "parent_name": "histogram.ybins", + "edit_type": "calc" }, - "superclass": "ColorValidator" + "superclass": "AnyValidator" }, - "heatmap.hoverlabel.alignsrc": { + "histogram.ybins.end": { "params": { - "plotly_name": "alignsrc", - "parent_name": "heatmap.hoverlabel", - "edit_type": "none" + "plotly_name": "end", + "parent_name": "histogram.ybins", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "heatmap.hoverlabel.align": { + "histogram.yaxis": { "params": { - "plotly_name": "align", - "parent_name": "heatmap.hoverlabel", - "array_ok": true, - "edit_type": "none", - "values": [ - "left", - "right", - "auto" - ] + "plotly_name": "yaxis", + "parent_name": "histogram", + "dflt": "y", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "EnumeratedValidator" + "superclass": "SubplotidValidator" }, - "heatmap.hoverinfosrc": { + "histogram.y": { "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "heatmap", - "edit_type": "none" + "plotly_name": "y", + "parent_name": "histogram", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "SrcValidator" + "superclass": "DataArrayValidator" }, - "heatmap.hoverinfo": { + "histogram.xhoverformat": { "params": { - "plotly_name": "hoverinfo", - "parent_name": "heatmap", - "array_ok": true, - "edit_type": "none", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "x", - "y", - "z", - "text", - "name" - ] + "plotly_name": "xhoverformat", + "parent_name": "histogram", + "edit_type": "none" }, - "superclass": "FlaglistValidator" + "superclass": "StringValidator" }, - "heatmap.dy": { + "histogram.xcalendar": { "params": { - "plotly_name": "dy", - "parent_name": "heatmap", + "plotly_name": "xcalendar", + "parent_name": "histogram", "edit_type": "calc", - "implied_edits": { - "ytype": "scaled" - } + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "heatmap.dx": { + "histogram.xbins": { "params": { - "plotly_name": "dx", - "parent_name": "heatmap", - "edit_type": "calc", - "implied_edits": { - "xtype": "scaled" - } + "plotly_name": "xbins", + "parent_name": "histogram", + "data_class_str": "XBins", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "heatmap.customdatasrc": { + "histogram.xbins.start": { "params": { - "plotly_name": "customdatasrc", - "parent_name": "heatmap", - "edit_type": "none" + "plotly_name": "start", + "parent_name": "histogram.xbins", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "heatmap.customdata": { + "histogram.xbins.size": { "params": { - "plotly_name": "customdata", - "parent_name": "heatmap", + "plotly_name": "size", + "parent_name": "histogram.xbins", "edit_type": "calc" }, - "superclass": "DataArrayValidator" + "superclass": "AnyValidator" }, - "heatmap.connectgaps": { + "histogram.xbins.end": { "params": { - "plotly_name": "connectgaps", - "parent_name": "heatmap", + "plotly_name": "end", + "parent_name": "histogram.xbins", "edit_type": "calc" }, - "superclass": "BooleanValidator" + "superclass": "AnyValidator" }, - "heatmap.colorscale": { + "histogram.xaxis": { "params": { - "plotly_name": "colorscale", - "parent_name": "heatmap", - "edit_type": "calc", - "implied_edits": { - "autocolorscale": false - } + "plotly_name": "xaxis", + "parent_name": "histogram", + "dflt": "x", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "ColorscaleValidator" + "superclass": "SubplotidValidator" }, - "heatmap.colorbar": { + "histogram.x": { "params": { - "plotly_name": "colorbar", - "parent_name": "heatmap", - "data_class_str": "ColorBar", - "data_docs": "\n" + "plotly_name": "x", + "parent_name": "histogram", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "CompoundValidator" + "superclass": "DataArrayValidator" }, - "heatmap.colorbar.yref": { + "histogram.visible": { "params": { - "plotly_name": "yref", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", + "plotly_name": "visible", + "parent_name": "histogram", + "edit_type": "calc", "values": [ - "container", - "paper" + true, + false, + "legendonly" ] }, "superclass": "EnumeratedValidator" }, - "heatmap.colorbar.ypad": { - "params": { - "plotly_name": "ypad", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", - "min": 0 + "histogram.unselected": { + "params": { + "plotly_name": "unselected", + "parent_name": "histogram", + "data_class_str": "Unselected", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "heatmap.colorbar.yanchor": { + "histogram.unselected.textfont": { "params": { - "plotly_name": "yanchor", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", - "values": [ - "top", - "middle", - "bottom" - ] + "plotly_name": "textfont", + "parent_name": "histogram.unselected", + "data_class_str": "Textfont", + "data_docs": "\n" }, - "superclass": "EnumeratedValidator" + "superclass": "CompoundValidator" }, - "heatmap.colorbar.y": { + "histogram.unselected.textfont.color": { "params": { - "plotly_name": "y", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars" + "plotly_name": "color", + "parent_name": "histogram.unselected.textfont", + "edit_type": "style" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "heatmap.colorbar.xref": { + "histogram.unselected.marker": { "params": { - "plotly_name": "xref", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", - "values": [ - "container", - "paper" - ] + "plotly_name": "marker", + "parent_name": "histogram.unselected", + "data_class_str": "Marker", + "data_docs": "\n" }, - "superclass": "EnumeratedValidator" + "superclass": "CompoundValidator" }, - "heatmap.colorbar.xpad": { + "histogram.unselected.marker.opacity": { "params": { - "plotly_name": "xpad", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", + "plotly_name": "opacity", + "parent_name": "histogram.unselected.marker", + "edit_type": "style", + "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "heatmap.colorbar.xanchor": { + "histogram.unselected.marker.color": { "params": { - "plotly_name": "xanchor", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", - "values": [ - "left", - "center", - "right" - ] + "plotly_name": "color", + "parent_name": "histogram.unselected.marker", + "edit_type": "style" }, - "superclass": "EnumeratedValidator" + "superclass": "ColorValidator" }, - "heatmap.colorbar.x": { + "histogram.uirevision": { "params": { - "plotly_name": "x", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars" + "plotly_name": "uirevision", + "parent_name": "histogram", + "edit_type": "none" }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "heatmap.colorbar.title": { + "histogram.uid": { "params": { - "plotly_name": "title", - "parent_name": "heatmap.colorbar", - "data_class_str": "Title", - "data_docs": "\n" + "plotly_name": "uid", + "parent_name": "histogram", + "edit_type": "plot" }, - "superclass": "TitleValidator" + "superclass": "StringValidator" }, - "heatmap.colorbar.title.text": { + "histogram.texttemplatefallback": { "params": { - "plotly_name": "text", - "parent_name": "heatmap.colorbar.title", - "edit_type": "colorbars" + "plotly_name": "texttemplatefallback", + "parent_name": "histogram", + "edit_type": "plot" + }, + "superclass": "AnyValidator" + }, + "histogram.texttemplate": { + "params": { + "plotly_name": "texttemplate", + "parent_name": "histogram", + "edit_type": "plot" }, "superclass": "StringValidator" }, - "heatmap.colorbar.title.side": { + "histogram.textposition": { "params": { - "plotly_name": "side", - "parent_name": "heatmap.colorbar.title", - "edit_type": "colorbars", + "plotly_name": "textposition", + "parent_name": "histogram", + "array_ok": false, + "edit_type": "calc", "values": [ - "right", - "top", - "bottom" + "inside", + "outside", + "auto", + "none" ] }, "superclass": "EnumeratedValidator" }, - "heatmap.colorbar.title.font": { + "histogram.textfont": { "params": { - "plotly_name": "font", - "parent_name": "heatmap.colorbar.title", - "data_class_str": "Font", + "plotly_name": "textfont", + "parent_name": "histogram", + "data_class_str": "Textfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "heatmap.colorbar.title.font.weight": { + "histogram.textfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "heatmap.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "histogram.textfont", + "edit_type": "plot", "extras": [ "normal", "bold" @@ -100663,11 +84792,11 @@ }, "superclass": "IntegerValidator" }, - "heatmap.colorbar.title.font.variant": { + "histogram.textfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "heatmap.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "histogram.textfont", + "edit_type": "plot", "values": [ "normal", "small-caps", @@ -100679,11 +84808,11 @@ }, "superclass": "EnumeratedValidator" }, - "heatmap.colorbar.title.font.textcase": { + "histogram.textfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "heatmap.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "histogram.textfont", + "edit_type": "plot", "values": [ "normal", "word caps", @@ -100693,11 +84822,11 @@ }, "superclass": "EnumeratedValidator" }, - "heatmap.colorbar.title.font.style": { + "histogram.textfont.style": { "params": { "plotly_name": "style", - "parent_name": "heatmap.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "histogram.textfont", + "edit_type": "plot", "values": [ "normal", "italic" @@ -100705,28 +84834,28 @@ }, "superclass": "EnumeratedValidator" }, - "heatmap.colorbar.title.font.size": { + "histogram.textfont.size": { "params": { "plotly_name": "size", - "parent_name": "heatmap.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "histogram.textfont", + "edit_type": "plot", "min": 1 }, "superclass": "NumberValidator" }, - "heatmap.colorbar.title.font.shadow": { + "histogram.textfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "heatmap.colorbar.title.font", - "edit_type": "colorbars" + "parent_name": "histogram.textfont", + "edit_type": "plot" }, "superclass": "StringValidator" }, - "heatmap.colorbar.title.font.lineposition": { + "histogram.textfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "heatmap.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "histogram.textfont", + "edit_type": "plot", "extras": [ "none" ], @@ -100738,249 +84867,124 @@ }, "superclass": "FlaglistValidator" }, - "heatmap.colorbar.title.font.family": { + "histogram.textfont.family": { "params": { "plotly_name": "family", - "parent_name": "heatmap.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "histogram.textfont", + "edit_type": "plot", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "heatmap.colorbar.title.font.color": { + "histogram.textfont.color": { "params": { "plotly_name": "color", - "parent_name": "heatmap.colorbar.title.font", - "edit_type": "colorbars" + "parent_name": "histogram.textfont", + "edit_type": "style" }, "superclass": "ColorValidator" }, - "heatmap.colorbar.tickwidth": { - "params": { - "plotly_name": "tickwidth", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "heatmap.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "heatmap.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "heatmap.colorbar.tickvals": { - "params": { - "plotly_name": "tickvals", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars" - }, - "superclass": "DataArrayValidator" - }, - "heatmap.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "heatmap.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "heatmap.colorbar.ticktext": { - "params": { - "plotly_name": "ticktext", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars" - }, - "superclass": "DataArrayValidator" - }, - "heatmap.colorbar.ticksuffix": { - "params": { - "plotly_name": "ticksuffix", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "heatmap.colorbar.ticks": { + "histogram.textangle": { "params": { - "plotly_name": "ticks", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", - "values": [ - "outside", - "inside", - "" - ] + "plotly_name": "textangle", + "parent_name": "histogram", + "edit_type": "plot" }, - "superclass": "EnumeratedValidator" + "superclass": "AngleValidator" }, - "heatmap.colorbar.tickprefix": { + "histogram.text": { "params": { - "plotly_name": "tickprefix", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars" + "plotly_name": "text", + "parent_name": "histogram", + "array_ok": true, + "edit_type": "calc" }, "superclass": "StringValidator" }, - "heatmap.colorbar.tickmode": { - "params": { - "plotly_name": "tickmode", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", - "implied_edits": {}, - "values": [ - "auto", - "linear", - "array" - ] - }, - "superclass": "EnumeratedValidator" - }, - "heatmap.colorbar.ticklen": { - "params": { - "plotly_name": "ticklen", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "heatmap.colorbar.ticklabelstep": { - "params": { - "plotly_name": "ticklabelstep", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "heatmap.colorbar.ticklabelposition": { + "histogram.showlegend": { "params": { - "plotly_name": "ticklabelposition", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" - ] + "plotly_name": "showlegend", + "parent_name": "histogram", + "edit_type": "style" }, - "superclass": "EnumeratedValidator" + "superclass": "BooleanValidator" }, - "heatmap.colorbar.ticklabeloverflow": { + "histogram.selectedpoints": { "params": { - "plotly_name": "ticklabeloverflow", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", - "values": [ - "allow", - "hide past div", - "hide past domain" - ] + "plotly_name": "selectedpoints", + "parent_name": "histogram", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "AnyValidator" }, - "heatmap.colorbar.tickformatstopdefaults": { + "histogram.selected": { "params": { - "plotly_name": "tickformatstopdefaults", - "parent_name": "heatmap.colorbar", - "data_class_str": "Tickformatstop", + "plotly_name": "selected", + "parent_name": "histogram", + "data_class_str": "Selected", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "heatmap.colorbar.tickformatstops": { + "histogram.selected.textfont": { "params": { - "plotly_name": "tickformatstops", - "parent_name": "heatmap.colorbar", - "data_class_str": "Tickformatstop", + "plotly_name": "textfont", + "parent_name": "histogram.selected", + "data_class_str": "Textfont", "data_docs": "\n" }, - "superclass": "CompoundArrayValidator" - }, - "heatmap.colorbar.tickformatstop.value": { - "params": { - "plotly_name": "value", - "parent_name": "heatmap.colorbar.tickformatstop", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "heatmap.colorbar.tickformatstop.templateitemname": { - "params": { - "plotly_name": "templateitemname", - "parent_name": "heatmap.colorbar.tickformatstop", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" + "superclass": "CompoundValidator" }, - "heatmap.colorbar.tickformatstop.name": { + "histogram.selected.textfont.color": { "params": { - "plotly_name": "name", - "parent_name": "heatmap.colorbar.tickformatstop", - "edit_type": "colorbars" + "plotly_name": "color", + "parent_name": "histogram.selected.textfont", + "edit_type": "style" }, - "superclass": "StringValidator" + "superclass": "ColorValidator" }, - "heatmap.colorbar.tickformatstop.enabled": { + "histogram.selected.marker": { "params": { - "plotly_name": "enabled", - "parent_name": "heatmap.colorbar.tickformatstop", - "edit_type": "colorbars" + "plotly_name": "marker", + "parent_name": "histogram.selected", + "data_class_str": "Marker", + "data_docs": "\n" }, - "superclass": "BooleanValidator" + "superclass": "CompoundValidator" }, - "heatmap.colorbar.tickformatstop.dtickrange": { + "histogram.selected.marker.opacity": { "params": { - "plotly_name": "dtickrange", - "parent_name": "heatmap.colorbar.tickformatstop", - "edit_type": "colorbars", - "items": [ - { - "editType": "colorbars", - "valType": "any" - }, - { - "editType": "colorbars", - "valType": "any" - } - ] + "plotly_name": "opacity", + "parent_name": "histogram.selected.marker", + "edit_type": "style", + "max": 1, + "min": 0 }, - "superclass": "InfoArrayValidator" + "superclass": "NumberValidator" }, - "heatmap.colorbar.tickformat": { + "histogram.selected.marker.color": { "params": { - "plotly_name": "tickformat", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars" + "plotly_name": "color", + "parent_name": "histogram.selected.marker", + "edit_type": "style" }, - "superclass": "StringValidator" + "superclass": "ColorValidator" }, - "heatmap.colorbar.tickfont": { + "histogram.outsidetextfont": { "params": { - "plotly_name": "tickfont", - "parent_name": "heatmap.colorbar", - "data_class_str": "Tickfont", + "plotly_name": "outsidetextfont", + "parent_name": "histogram", + "data_class_str": "Outsidetextfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "heatmap.colorbar.tickfont.weight": { + "histogram.outsidetextfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "heatmap.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "histogram.outsidetextfont", + "edit_type": "plot", "extras": [ "normal", "bold" @@ -100990,11 +84994,11 @@ }, "superclass": "IntegerValidator" }, - "heatmap.colorbar.tickfont.variant": { + "histogram.outsidetextfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "heatmap.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "histogram.outsidetextfont", + "edit_type": "plot", "values": [ "normal", "small-caps", @@ -101006,11 +85010,11 @@ }, "superclass": "EnumeratedValidator" }, - "heatmap.colorbar.tickfont.textcase": { + "histogram.outsidetextfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "heatmap.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "histogram.outsidetextfont", + "edit_type": "plot", "values": [ "normal", "word caps", @@ -101020,11 +85024,11 @@ }, "superclass": "EnumeratedValidator" }, - "heatmap.colorbar.tickfont.style": { + "histogram.outsidetextfont.style": { "params": { "plotly_name": "style", - "parent_name": "heatmap.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "histogram.outsidetextfont", + "edit_type": "plot", "values": [ "normal", "italic" @@ -101032,418 +85036,519 @@ }, "superclass": "EnumeratedValidator" }, - "heatmap.colorbar.tickfont.size": { + "histogram.outsidetextfont.size": { "params": { "plotly_name": "size", - "parent_name": "heatmap.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "histogram.outsidetextfont", + "edit_type": "plot", "min": 1 }, "superclass": "NumberValidator" }, - "heatmap.colorbar.tickfont.shadow": { + "histogram.outsidetextfont.shadow": { + "params": { + "plotly_name": "shadow", + "parent_name": "histogram.outsidetextfont", + "edit_type": "plot" + }, + "superclass": "StringValidator" + }, + "histogram.outsidetextfont.lineposition": { + "params": { + "plotly_name": "lineposition", + "parent_name": "histogram.outsidetextfont", + "edit_type": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] + }, + "superclass": "FlaglistValidator" + }, + "histogram.outsidetextfont.family": { + "params": { + "plotly_name": "family", + "parent_name": "histogram.outsidetextfont", + "edit_type": "plot", + "no_blank": true, + "strict": true + }, + "superclass": "StringValidator" + }, + "histogram.outsidetextfont.color": { + "params": { + "plotly_name": "color", + "parent_name": "histogram.outsidetextfont", + "edit_type": "style" + }, + "superclass": "ColorValidator" + }, + "histogram.orientation": { + "params": { + "plotly_name": "orientation", + "parent_name": "histogram", + "edit_type": "calc+clearAxisTypes", + "values": [ + "v", + "h" + ] + }, + "superclass": "EnumeratedValidator" + }, + "histogram.opacity": { + "params": { + "plotly_name": "opacity", + "parent_name": "histogram", + "edit_type": "style", + "max": 1, + "min": 0 + }, + "superclass": "NumberValidator" + }, + "histogram.offsetgroup": { "params": { - "plotly_name": "shadow", - "parent_name": "heatmap.colorbar.tickfont", - "edit_type": "colorbars" + "plotly_name": "offsetgroup", + "parent_name": "histogram", + "edit_type": "calc" }, "superclass": "StringValidator" }, - "heatmap.colorbar.tickfont.lineposition": { + "histogram.nbinsy": { "params": { - "plotly_name": "lineposition", - "parent_name": "heatmap.colorbar.tickfont", - "edit_type": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] + "plotly_name": "nbinsy", + "parent_name": "histogram", + "edit_type": "calc", + "min": 0 }, - "superclass": "FlaglistValidator" + "superclass": "IntegerValidator" }, - "heatmap.colorbar.tickfont.family": { + "histogram.nbinsx": { "params": { - "plotly_name": "family", - "parent_name": "heatmap.colorbar.tickfont", - "edit_type": "colorbars", - "no_blank": true, - "strict": true + "plotly_name": "nbinsx", + "parent_name": "histogram", + "edit_type": "calc", + "min": 0 + }, + "superclass": "IntegerValidator" + }, + "histogram.name": { + "params": { + "plotly_name": "name", + "parent_name": "histogram", + "edit_type": "style" }, "superclass": "StringValidator" }, - "heatmap.colorbar.tickfont.color": { + "histogram.meta": { "params": { - "plotly_name": "color", - "parent_name": "heatmap.colorbar.tickfont", - "edit_type": "colorbars" + "plotly_name": "meta", + "parent_name": "histogram", + "array_ok": true, + "edit_type": "plot" }, - "superclass": "ColorValidator" + "superclass": "AnyValidator" }, - "heatmap.colorbar.tickcolor": { + "histogram.marker": { "params": { - "plotly_name": "tickcolor", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars" + "plotly_name": "marker", + "parent_name": "histogram", + "data_class_str": "Marker", + "data_docs": "\n" }, - "superclass": "ColorValidator" + "superclass": "CompoundValidator" }, - "heatmap.colorbar.tickangle": { + "histogram.marker.showscale": { "params": { - "plotly_name": "tickangle", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars" + "plotly_name": "showscale", + "parent_name": "histogram.marker", + "edit_type": "calc" }, - "superclass": "AngleValidator" + "superclass": "BooleanValidator" }, - "heatmap.colorbar.tick0": { + "histogram.marker.reversescale": { "params": { - "plotly_name": "tick0", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", - "implied_edits": { - "tickmode": "linear" - } + "plotly_name": "reversescale", + "parent_name": "histogram.marker", + "edit_type": "plot" }, - "superclass": "AnyValidator" + "superclass": "BooleanValidator" }, - "heatmap.colorbar.thicknessmode": { + "histogram.marker.pattern": { "params": { - "plotly_name": "thicknessmode", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", - "values": [ - "fraction", - "pixels" - ] + "plotly_name": "pattern", + "parent_name": "histogram.marker", + "data_class_str": "Pattern", + "data_docs": "\n" }, - "superclass": "EnumeratedValidator" + "superclass": "CompoundValidator" }, - "heatmap.colorbar.thickness": { + "histogram.marker.pattern.solidity": { "params": { - "plotly_name": "thickness", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", + "plotly_name": "solidity", + "parent_name": "histogram.marker.pattern", + "array_ok": true, + "edit_type": "style", + "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "heatmap.colorbar.showticksuffix": { + "histogram.marker.pattern.size": { "params": { - "plotly_name": "showticksuffix", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", - "values": [ - "all", - "first", - "last", - "none" - ] + "plotly_name": "size", + "parent_name": "histogram.marker.pattern", + "array_ok": true, + "edit_type": "style", + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "heatmap.colorbar.showtickprefix": { + "histogram.marker.pattern.shape": { "params": { - "plotly_name": "showtickprefix", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", + "plotly_name": "shape", + "parent_name": "histogram.marker.pattern", + "array_ok": true, + "edit_type": "style", "values": [ - "all", - "first", - "last", - "none" + "", + "/", + "\\", + "x", + "-", + "|", + "+", + "." ] }, "superclass": "EnumeratedValidator" }, - "heatmap.colorbar.showticklabels": { + "histogram.marker.pattern.path": { "params": { - "plotly_name": "showticklabels", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars" + "plotly_name": "path", + "parent_name": "histogram.marker.pattern", + "array_ok": true, + "edit_type": "style" }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "heatmap.colorbar.showexponent": { + "histogram.marker.pattern.fillmode": { "params": { - "plotly_name": "showexponent", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", + "plotly_name": "fillmode", + "parent_name": "histogram.marker.pattern", + "edit_type": "style", "values": [ - "all", - "first", - "last", - "none" + "replace", + "overlay" ] }, "superclass": "EnumeratedValidator" }, - "heatmap.colorbar.separatethousands": { - "params": { - "plotly_name": "separatethousands", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars" - }, - "superclass": "BooleanValidator" - }, - "heatmap.colorbar.outlinewidth": { + "histogram.marker.pattern.fgopacity": { "params": { - "plotly_name": "outlinewidth", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", + "plotly_name": "fgopacity", + "parent_name": "histogram.marker.pattern", + "edit_type": "style", + "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "heatmap.colorbar.outlinecolor": { + "histogram.marker.pattern.fgcolor": { "params": { - "plotly_name": "outlinecolor", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars" + "plotly_name": "fgcolor", + "parent_name": "histogram.marker.pattern", + "array_ok": true, + "edit_type": "style" }, "superclass": "ColorValidator" }, - "heatmap.colorbar.orientation": { + "histogram.marker.pattern.bgcolor": { "params": { - "plotly_name": "orientation", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", - "values": [ - "h", - "v" - ] + "plotly_name": "bgcolor", + "parent_name": "histogram.marker.pattern", + "array_ok": true, + "edit_type": "style" }, - "superclass": "EnumeratedValidator" + "superclass": "ColorValidator" }, - "heatmap.colorbar.nticks": { + "histogram.marker.opacity": { "params": { - "plotly_name": "nticks", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", + "plotly_name": "opacity", + "parent_name": "histogram.marker", + "array_ok": true, + "edit_type": "style", + "max": 1, "min": 0 }, - "superclass": "IntegerValidator" + "superclass": "NumberValidator" }, - "heatmap.colorbar.minexponent": { + "histogram.marker.line": { "params": { - "plotly_name": "minexponent", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", + "plotly_name": "line", + "parent_name": "histogram.marker", + "data_class_str": "Line", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "histogram.marker.line.width": { + "params": { + "plotly_name": "width", + "parent_name": "histogram.marker.line", + "array_ok": true, + "edit_type": "style", "min": 0 }, "superclass": "NumberValidator" }, - "heatmap.colorbar.lenmode": { + "histogram.marker.line.reversescale": { "params": { - "plotly_name": "lenmode", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", - "values": [ - "fraction", - "pixels" - ] + "plotly_name": "reversescale", + "parent_name": "histogram.marker.line", + "edit_type": "plot" }, - "superclass": "EnumeratedValidator" + "superclass": "BooleanValidator" }, - "heatmap.colorbar.len": { + "histogram.marker.line.colorscale": { "params": { - "plotly_name": "len", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "colorscale", + "parent_name": "histogram.marker.line", + "edit_type": "calc", + "implied_edits": { + "autocolorscale": false + } }, - "superclass": "NumberValidator" + "superclass": "ColorscaleValidator" }, - "heatmap.colorbar.labelalias": { + "histogram.marker.line.coloraxis": { "params": { - "plotly_name": "labelalias", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars" + "plotly_name": "coloraxis", + "parent_name": "histogram.marker.line", + "dflt": null, + "edit_type": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" }, - "superclass": "AnyValidator" + "superclass": "SubplotidValidator" }, - "heatmap.colorbar.exponentformat": { + "histogram.marker.line.color": { "params": { - "plotly_name": "exponentformat", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" - ] + "plotly_name": "color", + "parent_name": "histogram.marker.line", + "array_ok": true, + "edit_type": "style", + "colorscale_path": "histogram.marker.line.colorscale" }, - "superclass": "EnumeratedValidator" + "superclass": "ColorValidator" }, - "heatmap.colorbar.dtick": { + "histogram.marker.line.cmin": { "params": { - "plotly_name": "dtick", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", + "plotly_name": "cmin", + "parent_name": "histogram.marker.line", + "edit_type": "plot", "implied_edits": { - "tickmode": "linear" + "cauto": false } }, - "superclass": "AnyValidator" - }, - "heatmap.colorbar.borderwidth": { - "params": { - "plotly_name": "borderwidth", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars", - "min": 0 - }, "superclass": "NumberValidator" }, - "heatmap.colorbar.bordercolor": { + "histogram.marker.line.cmid": { "params": { - "plotly_name": "bordercolor", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars" + "plotly_name": "cmid", + "parent_name": "histogram.marker.line", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "ColorValidator" + "superclass": "NumberValidator" }, - "heatmap.colorbar.bgcolor": { + "histogram.marker.line.cmax": { "params": { - "plotly_name": "bgcolor", - "parent_name": "heatmap.colorbar", - "edit_type": "colorbars" + "plotly_name": "cmax", + "parent_name": "histogram.marker.line", + "edit_type": "plot", + "implied_edits": { + "cauto": false + } }, - "superclass": "ColorValidator" + "superclass": "NumberValidator" }, - "heatmap.coloraxis": { + "histogram.marker.line.cauto": { "params": { - "plotly_name": "coloraxis", - "parent_name": "heatmap", - "dflt": null, + "plotly_name": "cauto", + "parent_name": "histogram.marker.line", "edit_type": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" + "implied_edits": {} }, - "superclass": "SubplotidValidator" + "superclass": "BooleanValidator" }, - "heatmap.autocolorscale": { + "histogram.marker.line.autocolorscale": { "params": { "plotly_name": "autocolorscale", - "parent_name": "heatmap", + "parent_name": "histogram.marker.line", "edit_type": "calc", "implied_edits": {} }, "superclass": "BooleanValidator" }, - "funnelarea": { + "histogram.marker.cornerradius": { "params": { - "plotly_name": "funnelarea", - "parent_name": "", - "data_class_str": "Funnelarea", + "plotly_name": "cornerradius", + "parent_name": "histogram.marker", + "edit_type": "calc" + }, + "superclass": "AnyValidator" + }, + "histogram.marker.colorscale": { + "params": { + "plotly_name": "colorscale", + "parent_name": "histogram.marker", + "edit_type": "calc", + "implied_edits": { + "autocolorscale": false + } + }, + "superclass": "ColorscaleValidator" + }, + "histogram.marker.colorbar": { + "params": { + "plotly_name": "colorbar", + "parent_name": "histogram.marker", + "data_class_str": "ColorBar", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "funnelarea.visible": { + "histogram.marker.colorbar.yref": { "params": { - "plotly_name": "visible", - "parent_name": "funnelarea", - "edit_type": "calc", + "plotly_name": "yref", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", "values": [ - true, - false, - "legendonly" + "container", + "paper" ] }, "superclass": "EnumeratedValidator" }, - "funnelarea.valuessrc": { + "histogram.marker.colorbar.ypad": { "params": { - "plotly_name": "valuessrc", - "parent_name": "funnelarea", - "edit_type": "none" + "plotly_name": "ypad", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "funnelarea.values": { + "histogram.marker.colorbar.yanchor": { "params": { - "plotly_name": "values", - "parent_name": "funnelarea", - "edit_type": "calc" + "plotly_name": "yanchor", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "top", + "middle", + "bottom" + ] }, - "superclass": "DataArrayValidator" + "superclass": "EnumeratedValidator" }, - "funnelarea.uirevision": { + "histogram.marker.colorbar.y": { "params": { - "plotly_name": "uirevision", - "parent_name": "funnelarea", - "edit_type": "none" + "plotly_name": "y", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "funnelarea.uid": { + "histogram.marker.colorbar.xref": { "params": { - "plotly_name": "uid", - "parent_name": "funnelarea", - "edit_type": "plot" + "plotly_name": "xref", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "container", + "paper" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "funnelarea.title": { + "histogram.marker.colorbar.xpad": { + "params": { + "plotly_name": "xpad", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "histogram.marker.colorbar.xanchor": { + "params": { + "plotly_name": "xanchor", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "left", + "center", + "right" + ] + }, + "superclass": "EnumeratedValidator" + }, + "histogram.marker.colorbar.x": { + "params": { + "plotly_name": "x", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars" + }, + "superclass": "NumberValidator" + }, + "histogram.marker.colorbar.title": { "params": { "plotly_name": "title", - "parent_name": "funnelarea", + "parent_name": "histogram.marker.colorbar", "data_class_str": "Title", "data_docs": "\n" }, "superclass": "TitleValidator" }, - "funnelarea.title.text": { + "histogram.marker.colorbar.title.text": { "params": { "plotly_name": "text", - "parent_name": "funnelarea.title", - "edit_type": "plot" + "parent_name": "histogram.marker.colorbar.title", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "funnelarea.title.position": { + "histogram.marker.colorbar.title.side": { "params": { - "plotly_name": "position", - "parent_name": "funnelarea.title", - "edit_type": "plot", + "plotly_name": "side", + "parent_name": "histogram.marker.colorbar.title", + "edit_type": "colorbars", "values": [ - "top left", - "top center", - "top right" + "right", + "top", + "bottom" ] }, "superclass": "EnumeratedValidator" }, - "funnelarea.title.font": { + "histogram.marker.colorbar.title.font": { "params": { "plotly_name": "font", - "parent_name": "funnelarea.title", + "parent_name": "histogram.marker.colorbar.title", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "funnelarea.title.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "funnelarea.title.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.title.font.weight": { + "histogram.marker.colorbar.title.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "funnelarea.title.font", - "array_ok": true, - "edit_type": "plot", + "parent_name": "histogram.marker.colorbar.title.font", + "edit_type": "colorbars", "extras": [ "normal", "bold" @@ -101453,20 +85558,11 @@ }, "superclass": "IntegerValidator" }, - "funnelarea.title.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "funnelarea.title.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.title.font.variant": { + "histogram.marker.colorbar.title.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "funnelarea.title.font", - "array_ok": true, - "edit_type": "plot", + "parent_name": "histogram.marker.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "small-caps", @@ -101478,20 +85574,11 @@ }, "superclass": "EnumeratedValidator" }, - "funnelarea.title.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "funnelarea.title.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.title.font.textcase": { + "histogram.marker.colorbar.title.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "funnelarea.title.font", - "array_ok": true, - "edit_type": "plot", + "parent_name": "histogram.marker.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "word caps", @@ -101501,20 +85588,11 @@ }, "superclass": "EnumeratedValidator" }, - "funnelarea.title.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "funnelarea.title.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.title.font.style": { + "histogram.marker.colorbar.title.font.style": { "params": { "plotly_name": "style", - "parent_name": "funnelarea.title.font", - "array_ok": true, - "edit_type": "plot", + "parent_name": "histogram.marker.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "italic" @@ -101522,55 +85600,28 @@ }, "superclass": "EnumeratedValidator" }, - "funnelarea.title.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "funnelarea.title.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.title.font.size": { + "histogram.marker.colorbar.title.font.size": { "params": { "plotly_name": "size", - "parent_name": "funnelarea.title.font", - "array_ok": true, - "edit_type": "plot", + "parent_name": "histogram.marker.colorbar.title.font", + "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "funnelarea.title.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "funnelarea.title.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.title.font.shadow": { + "histogram.marker.colorbar.title.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "funnelarea.title.font", - "array_ok": true, - "edit_type": "plot" + "parent_name": "histogram.marker.colorbar.title.font", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "funnelarea.title.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "funnelarea.title.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.title.font.lineposition": { + "histogram.marker.colorbar.title.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "funnelarea.title.font", - "array_ok": true, - "edit_type": "plot", + "parent_name": "histogram.marker.colorbar.title.font", + "edit_type": "colorbars", "extras": [ "none" ], @@ -101582,136 +85633,233 @@ }, "superclass": "FlaglistValidator" }, - "funnelarea.title.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "funnelarea.title.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.title.font.family": { + "histogram.marker.colorbar.title.font.family": { "params": { "plotly_name": "family", - "parent_name": "funnelarea.title.font", - "array_ok": true, - "edit_type": "plot", + "parent_name": "histogram.marker.colorbar.title.font", + "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "funnelarea.title.font.colorsrc": { + "histogram.marker.colorbar.title.font.color": { "params": { - "plotly_name": "colorsrc", - "parent_name": "funnelarea.title.font", - "edit_type": "none" + "plotly_name": "color", + "parent_name": "histogram.marker.colorbar.title.font", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "funnelarea.title.font.color": { + "histogram.marker.colorbar.tickwidth": { "params": { - "plotly_name": "color", - "parent_name": "funnelarea.title.font", - "array_ok": true, - "edit_type": "plot" + "plotly_name": "tickwidth", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "ColorValidator" + "superclass": "NumberValidator" }, - "funnelarea.texttemplatesrc": { + "histogram.marker.colorbar.tickvals": { "params": { - "plotly_name": "texttemplatesrc", - "parent_name": "funnelarea", - "edit_type": "none" + "plotly_name": "tickvals", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "DataArrayValidator" }, - "funnelarea.texttemplatefallback": { + "histogram.marker.colorbar.ticktext": { "params": { - "plotly_name": "texttemplatefallback", - "parent_name": "funnelarea", - "edit_type": "plot" + "plotly_name": "ticktext", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "AnyValidator" + "superclass": "DataArrayValidator" }, - "funnelarea.texttemplate": { + "histogram.marker.colorbar.ticksuffix": { "params": { - "plotly_name": "texttemplate", - "parent_name": "funnelarea", - "array_ok": true, - "edit_type": "plot" + "plotly_name": "ticksuffix", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "funnelarea.textsrc": { + "histogram.marker.colorbar.ticks": { "params": { - "plotly_name": "textsrc", - "parent_name": "funnelarea", - "edit_type": "none" + "plotly_name": "ticks", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "outside", + "inside", + "" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "funnelarea.textpositionsrc": { + "histogram.marker.colorbar.tickprefix": { "params": { - "plotly_name": "textpositionsrc", - "parent_name": "funnelarea", - "edit_type": "none" + "plotly_name": "tickprefix", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "funnelarea.textposition": { + "histogram.marker.colorbar.tickmode": { "params": { - "plotly_name": "textposition", - "parent_name": "funnelarea", - "array_ok": true, - "edit_type": "plot", + "plotly_name": "tickmode", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", + "implied_edits": {}, + "values": [ + "auto", + "linear", + "array" + ] + }, + "superclass": "EnumeratedValidator" + }, + "histogram.marker.colorbar.ticklen": { + "params": { + "plotly_name": "ticklen", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "histogram.marker.colorbar.ticklabelstep": { + "params": { + "plotly_name": "ticklabelstep", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", + "min": 1 + }, + "superclass": "IntegerValidator" + }, + "histogram.marker.colorbar.ticklabelposition": { + "params": { + "plotly_name": "ticklabelposition", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", "values": [ + "outside", "inside", - "none" + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom" ] }, "superclass": "EnumeratedValidator" }, - "funnelarea.textinfo": { + "histogram.marker.colorbar.ticklabeloverflow": { "params": { - "plotly_name": "textinfo", - "parent_name": "funnelarea", - "edit_type": "calc", - "extras": [ - "none" - ], - "flags": [ - "label", - "text", - "value", - "percent" + "plotly_name": "ticklabeloverflow", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "allow", + "hide past div", + "hide past domain" ] }, - "superclass": "FlaglistValidator" + "superclass": "EnumeratedValidator" }, - "funnelarea.textfont": { + "histogram.marker.colorbar.tickformatstopdefaults": { "params": { - "plotly_name": "textfont", - "parent_name": "funnelarea", - "data_class_str": "Textfont", + "plotly_name": "tickformatstopdefaults", + "parent_name": "histogram.marker.colorbar", + "data_class_str": "Tickformatstop", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "funnelarea.textfont.weightsrc": { + "histogram.marker.colorbar.tickformatstops": { "params": { - "plotly_name": "weightsrc", - "parent_name": "funnelarea.textfont", - "edit_type": "none" + "plotly_name": "tickformatstops", + "parent_name": "histogram.marker.colorbar", + "data_class_str": "Tickformatstop", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundArrayValidator" }, - "funnelarea.textfont.weight": { + "histogram.marker.colorbar.tickformatstop.value": { + "params": { + "plotly_name": "value", + "parent_name": "histogram.marker.colorbar.tickformatstop", + "edit_type": "colorbars" + }, + "superclass": "StringValidator" + }, + "histogram.marker.colorbar.tickformatstop.templateitemname": { + "params": { + "plotly_name": "templateitemname", + "parent_name": "histogram.marker.colorbar.tickformatstop", + "edit_type": "colorbars" + }, + "superclass": "StringValidator" + }, + "histogram.marker.colorbar.tickformatstop.name": { + "params": { + "plotly_name": "name", + "parent_name": "histogram.marker.colorbar.tickformatstop", + "edit_type": "colorbars" + }, + "superclass": "StringValidator" + }, + "histogram.marker.colorbar.tickformatstop.enabled": { + "params": { + "plotly_name": "enabled", + "parent_name": "histogram.marker.colorbar.tickformatstop", + "edit_type": "colorbars" + }, + "superclass": "BooleanValidator" + }, + "histogram.marker.colorbar.tickformatstop.dtickrange": { + "params": { + "plotly_name": "dtickrange", + "parent_name": "histogram.marker.colorbar.tickformatstop", + "edit_type": "colorbars", + "items": [ + { + "editType": "colorbars", + "valType": "any" + }, + { + "editType": "colorbars", + "valType": "any" + } + ] + }, + "superclass": "InfoArrayValidator" + }, + "histogram.marker.colorbar.tickformat": { + "params": { + "plotly_name": "tickformat", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars" + }, + "superclass": "StringValidator" + }, + "histogram.marker.colorbar.tickfont": { + "params": { + "plotly_name": "tickfont", + "parent_name": "histogram.marker.colorbar", + "data_class_str": "Tickfont", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "histogram.marker.colorbar.tickfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "funnelarea.textfont", - "array_ok": true, - "edit_type": "plot", + "parent_name": "histogram.marker.colorbar.tickfont", + "edit_type": "colorbars", "extras": [ "normal", "bold" @@ -101721,20 +85869,11 @@ }, "superclass": "IntegerValidator" }, - "funnelarea.textfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "funnelarea.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.textfont.variant": { + "histogram.marker.colorbar.tickfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "funnelarea.textfont", - "array_ok": true, - "edit_type": "plot", + "parent_name": "histogram.marker.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "small-caps", @@ -101746,20 +85885,11 @@ }, "superclass": "EnumeratedValidator" }, - "funnelarea.textfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "funnelarea.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.textfont.textcase": { + "histogram.marker.colorbar.tickfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "funnelarea.textfont", - "array_ok": true, - "edit_type": "plot", + "parent_name": "histogram.marker.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "word caps", @@ -101769,20 +85899,11 @@ }, "superclass": "EnumeratedValidator" }, - "funnelarea.textfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "funnelarea.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.textfont.style": { + "histogram.marker.colorbar.tickfont.style": { "params": { "plotly_name": "style", - "parent_name": "funnelarea.textfont", - "array_ok": true, - "edit_type": "plot", + "parent_name": "histogram.marker.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "italic" @@ -101790,55 +85911,28 @@ }, "superclass": "EnumeratedValidator" }, - "funnelarea.textfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "funnelarea.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.textfont.size": { + "histogram.marker.colorbar.tickfont.size": { "params": { "plotly_name": "size", - "parent_name": "funnelarea.textfont", - "array_ok": true, - "edit_type": "plot", + "parent_name": "histogram.marker.colorbar.tickfont", + "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "funnelarea.textfont.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "funnelarea.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.textfont.shadow": { + "histogram.marker.colorbar.tickfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "funnelarea.textfont", - "array_ok": true, - "edit_type": "plot" + "parent_name": "histogram.marker.colorbar.tickfont", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "funnelarea.textfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "funnelarea.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.textfont.lineposition": { + "histogram.marker.colorbar.tickfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "funnelarea.textfont", - "array_ok": true, - "edit_type": "plot", + "parent_name": "histogram.marker.colorbar.tickfont", + "edit_type": "colorbars", "extras": [ "none" ], @@ -101850,392 +85944,375 @@ }, "superclass": "FlaglistValidator" }, - "funnelarea.textfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "funnelarea.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.textfont.family": { + "histogram.marker.colorbar.tickfont.family": { "params": { "plotly_name": "family", - "parent_name": "funnelarea.textfont", - "array_ok": true, - "edit_type": "plot", + "parent_name": "histogram.marker.colorbar.tickfont", + "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "funnelarea.textfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "funnelarea.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.textfont.color": { + "histogram.marker.colorbar.tickfont.color": { "params": { "plotly_name": "color", - "parent_name": "funnelarea.textfont", - "array_ok": true, - "edit_type": "plot" + "parent_name": "histogram.marker.colorbar.tickfont", + "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "funnelarea.text": { - "params": { - "plotly_name": "text", - "parent_name": "funnelarea", - "edit_type": "plot" - }, - "superclass": "DataArrayValidator" - }, - "funnelarea.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "funnelarea", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "funnelarea.stream.token": { + "histogram.marker.colorbar.tickcolor": { "params": { - "plotly_name": "token", - "parent_name": "funnelarea.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true + "plotly_name": "tickcolor", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "StringValidator" + "superclass": "ColorValidator" }, - "funnelarea.stream.maxpoints": { + "histogram.marker.colorbar.tickangle": { "params": { - "plotly_name": "maxpoints", - "parent_name": "funnelarea.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 + "plotly_name": "tickangle", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "NumberValidator" + "superclass": "AngleValidator" }, - "funnelarea.showlegend": { + "histogram.marker.colorbar.tick0": { "params": { - "plotly_name": "showlegend", - "parent_name": "funnelarea", - "edit_type": "style" + "plotly_name": "tick0", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", + "implied_edits": { + "tickmode": "linear" + } }, - "superclass": "BooleanValidator" + "superclass": "AnyValidator" }, - "funnelarea.scalegroup": { + "histogram.marker.colorbar.thicknessmode": { "params": { - "plotly_name": "scalegroup", - "parent_name": "funnelarea", - "edit_type": "calc" + "plotly_name": "thicknessmode", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "fraction", + "pixels" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "funnelarea.opacity": { + "histogram.marker.colorbar.thickness": { "params": { - "plotly_name": "opacity", - "parent_name": "funnelarea", - "edit_type": "style", - "max": 1, + "plotly_name": "thickness", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", "min": 0 }, - "superclass": "NumberValidator" - }, - "funnelarea.name": { - "params": { - "plotly_name": "name", - "parent_name": "funnelarea", - "edit_type": "style" - }, - "superclass": "StringValidator" - }, - "funnelarea.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "funnelarea", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.meta": { - "params": { - "plotly_name": "meta", - "parent_name": "funnelarea", - "array_ok": true, - "edit_type": "plot" - }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "funnelarea.marker": { + "histogram.marker.colorbar.showticksuffix": { "params": { - "plotly_name": "marker", - "parent_name": "funnelarea", - "data_class_str": "Marker", - "data_docs": "\n" + "plotly_name": "showticksuffix", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "superclass": "CompoundValidator" + "superclass": "EnumeratedValidator" }, - "funnelarea.marker.pattern": { + "histogram.marker.colorbar.showtickprefix": { "params": { - "plotly_name": "pattern", - "parent_name": "funnelarea.marker", - "data_class_str": "Pattern", - "data_docs": "\n" + "plotly_name": "showtickprefix", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "superclass": "CompoundValidator" + "superclass": "EnumeratedValidator" }, - "funnelarea.marker.pattern.soliditysrc": { + "histogram.marker.colorbar.showticklabels": { "params": { - "plotly_name": "soliditysrc", - "parent_name": "funnelarea.marker.pattern", - "edit_type": "none" + "plotly_name": "showticklabels", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "funnelarea.marker.pattern.solidity": { + "histogram.marker.colorbar.showexponent": { "params": { - "plotly_name": "solidity", - "parent_name": "funnelarea.marker.pattern", - "array_ok": true, - "edit_type": "style", - "max": 1, - "min": 0 + "plotly_name": "showexponent", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "funnelarea.marker.pattern.sizesrc": { + "histogram.marker.colorbar.separatethousands": { "params": { - "plotly_name": "sizesrc", - "parent_name": "funnelarea.marker.pattern", - "edit_type": "none" + "plotly_name": "separatethousands", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "funnelarea.marker.pattern.size": { + "histogram.marker.colorbar.outlinewidth": { "params": { - "plotly_name": "size", - "parent_name": "funnelarea.marker.pattern", - "array_ok": true, - "edit_type": "style", + "plotly_name": "outlinewidth", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "funnelarea.marker.pattern.shapesrc": { + "histogram.marker.colorbar.outlinecolor": { "params": { - "plotly_name": "shapesrc", - "parent_name": "funnelarea.marker.pattern", - "edit_type": "none" + "plotly_name": "outlinecolor", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "funnelarea.marker.pattern.shape": { + "histogram.marker.colorbar.orientation": { "params": { - "plotly_name": "shape", - "parent_name": "funnelarea.marker.pattern", - "array_ok": true, - "edit_type": "style", + "plotly_name": "orientation", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", "values": [ - "", - "/", - "\\", - "x", - "-", - "|", - "+", - "." + "h", + "v" ] }, "superclass": "EnumeratedValidator" }, - "funnelarea.marker.pattern.pathsrc": { + "histogram.marker.colorbar.nticks": { "params": { - "plotly_name": "pathsrc", - "parent_name": "funnelarea.marker.pattern", - "edit_type": "none" + "plotly_name": "nticks", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "IntegerValidator" }, - "funnelarea.marker.pattern.path": { + "histogram.marker.colorbar.minexponent": { "params": { - "plotly_name": "path", - "parent_name": "funnelarea.marker.pattern", - "array_ok": true, - "edit_type": "style" + "plotly_name": "minexponent", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "funnelarea.marker.pattern.fillmode": { + "histogram.marker.colorbar.lenmode": { "params": { - "plotly_name": "fillmode", - "parent_name": "funnelarea.marker.pattern", - "edit_type": "style", + "plotly_name": "lenmode", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", "values": [ - "replace", - "overlay" + "fraction", + "pixels" ] }, "superclass": "EnumeratedValidator" }, - "funnelarea.marker.pattern.fgopacity": { + "histogram.marker.colorbar.len": { "params": { - "plotly_name": "fgopacity", - "parent_name": "funnelarea.marker.pattern", - "edit_type": "style", - "max": 1, + "plotly_name": "len", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "funnelarea.marker.pattern.fgcolorsrc": { + "histogram.marker.colorbar.labelalias": { "params": { - "plotly_name": "fgcolorsrc", - "parent_name": "funnelarea.marker.pattern", - "edit_type": "none" + "plotly_name": "labelalias", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "funnelarea.marker.pattern.fgcolor": { + "histogram.marker.colorbar.exponentformat": { "params": { - "plotly_name": "fgcolor", - "parent_name": "funnelarea.marker.pattern", - "array_ok": true, - "edit_type": "style" + "plotly_name": "exponentformat", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B", + "SI extended" + ] }, - "superclass": "ColorValidator" + "superclass": "EnumeratedValidator" }, - "funnelarea.marker.pattern.bgcolorsrc": { + "histogram.marker.colorbar.dtick": { "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "funnelarea.marker.pattern", - "edit_type": "none" + "plotly_name": "dtick", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", + "implied_edits": { + "tickmode": "linear" + } }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "funnelarea.marker.pattern.bgcolor": { + "histogram.marker.colorbar.borderwidth": { "params": { - "plotly_name": "bgcolor", - "parent_name": "funnelarea.marker.pattern", - "array_ok": true, - "edit_type": "style" + "plotly_name": "borderwidth", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "histogram.marker.colorbar.bordercolor": { + "params": { + "plotly_name": "bordercolor", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "funnelarea.marker.line": { + "histogram.marker.colorbar.bgcolor": { "params": { - "plotly_name": "line", - "parent_name": "funnelarea.marker", - "data_class_str": "Line", - "data_docs": "\n" + "plotly_name": "bgcolor", + "parent_name": "histogram.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "CompoundValidator" + "superclass": "ColorValidator" }, - "funnelarea.marker.line.widthsrc": { + "histogram.marker.coloraxis": { "params": { - "plotly_name": "widthsrc", - "parent_name": "funnelarea.marker.line", - "edit_type": "none" + "plotly_name": "coloraxis", + "parent_name": "histogram.marker", + "dflt": null, + "edit_type": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" }, - "superclass": "SrcValidator" + "superclass": "SubplotidValidator" }, - "funnelarea.marker.line.width": { + "histogram.marker.color": { "params": { - "plotly_name": "width", - "parent_name": "funnelarea.marker.line", + "plotly_name": "color", + "parent_name": "histogram.marker", "array_ok": true, "edit_type": "style", - "min": 0 + "colorscale_path": "histogram.marker.colorscale" + }, + "superclass": "ColorValidator" + }, + "histogram.marker.cmin": { + "params": { + "plotly_name": "cmin", + "parent_name": "histogram.marker", + "edit_type": "plot", + "implied_edits": { + "cauto": false + } }, "superclass": "NumberValidator" }, - "funnelarea.marker.line.colorsrc": { + "histogram.marker.cmid": { "params": { - "plotly_name": "colorsrc", - "parent_name": "funnelarea.marker.line", - "edit_type": "none" + "plotly_name": "cmid", + "parent_name": "histogram.marker", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "funnelarea.marker.line.color": { + "histogram.marker.cmax": { "params": { - "plotly_name": "color", - "parent_name": "funnelarea.marker.line", - "array_ok": true, - "edit_type": "style" + "plotly_name": "cmax", + "parent_name": "histogram.marker", + "edit_type": "plot", + "implied_edits": { + "cauto": false + } }, - "superclass": "ColorValidator" + "superclass": "NumberValidator" }, - "funnelarea.marker.colorssrc": { + "histogram.marker.cauto": { "params": { - "plotly_name": "colorssrc", - "parent_name": "funnelarea.marker", - "edit_type": "none" + "plotly_name": "cauto", + "parent_name": "histogram.marker", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "funnelarea.marker.colors": { + "histogram.marker.autocolorscale": { "params": { - "plotly_name": "colors", - "parent_name": "funnelarea.marker", - "edit_type": "calc" + "plotly_name": "autocolorscale", + "parent_name": "histogram.marker", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "DataArrayValidator" + "superclass": "BooleanValidator" }, - "funnelarea.legendwidth": { + "histogram.legendwidth": { "params": { "plotly_name": "legendwidth", - "parent_name": "funnelarea", + "parent_name": "histogram", "edit_type": "style", "min": 0 }, "superclass": "NumberValidator" }, - "funnelarea.legendrank": { + "histogram.legendrank": { "params": { "plotly_name": "legendrank", - "parent_name": "funnelarea", + "parent_name": "histogram", "edit_type": "style" }, "superclass": "NumberValidator" }, - "funnelarea.legendgrouptitle": { + "histogram.legendgrouptitle": { "params": { "plotly_name": "legendgrouptitle", - "parent_name": "funnelarea", + "parent_name": "histogram", "data_class_str": "Legendgrouptitle", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "funnelarea.legendgrouptitle.text": { + "histogram.legendgrouptitle.text": { "params": { "plotly_name": "text", - "parent_name": "funnelarea.legendgrouptitle", + "parent_name": "histogram.legendgrouptitle", "edit_type": "style" }, "superclass": "StringValidator" }, - "funnelarea.legendgrouptitle.font": { + "histogram.legendgrouptitle.font": { "params": { "plotly_name": "font", - "parent_name": "funnelarea.legendgrouptitle", + "parent_name": "histogram.legendgrouptitle", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "funnelarea.legendgrouptitle.font.weight": { + "histogram.legendgrouptitle.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "funnelarea.legendgrouptitle.font", + "parent_name": "histogram.legendgrouptitle.font", "edit_type": "style", "extras": [ "normal", @@ -102246,10 +86323,10 @@ }, "superclass": "IntegerValidator" }, - "funnelarea.legendgrouptitle.font.variant": { + "histogram.legendgrouptitle.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "funnelarea.legendgrouptitle.font", + "parent_name": "histogram.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -102262,10 +86339,10 @@ }, "superclass": "EnumeratedValidator" }, - "funnelarea.legendgrouptitle.font.textcase": { + "histogram.legendgrouptitle.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "funnelarea.legendgrouptitle.font", + "parent_name": "histogram.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -102276,10 +86353,10 @@ }, "superclass": "EnumeratedValidator" }, - "funnelarea.legendgrouptitle.font.style": { + "histogram.legendgrouptitle.font.style": { "params": { "plotly_name": "style", - "parent_name": "funnelarea.legendgrouptitle.font", + "parent_name": "histogram.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -102288,27 +86365,27 @@ }, "superclass": "EnumeratedValidator" }, - "funnelarea.legendgrouptitle.font.size": { + "histogram.legendgrouptitle.font.size": { "params": { "plotly_name": "size", - "parent_name": "funnelarea.legendgrouptitle.font", + "parent_name": "histogram.legendgrouptitle.font", "edit_type": "style", "min": 1 }, "superclass": "NumberValidator" }, - "funnelarea.legendgrouptitle.font.shadow": { + "histogram.legendgrouptitle.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "funnelarea.legendgrouptitle.font", + "parent_name": "histogram.legendgrouptitle.font", "edit_type": "style" }, "superclass": "StringValidator" }, - "funnelarea.legendgrouptitle.font.lineposition": { + "histogram.legendgrouptitle.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "funnelarea.legendgrouptitle.font", + "parent_name": "histogram.legendgrouptitle.font", "edit_type": "style", "extras": [ "none" @@ -102321,87 +86398,54 @@ }, "superclass": "FlaglistValidator" }, - "funnelarea.legendgrouptitle.font.family": { + "histogram.legendgrouptitle.font.family": { "params": { "plotly_name": "family", - "parent_name": "funnelarea.legendgrouptitle.font", + "parent_name": "histogram.legendgrouptitle.font", "edit_type": "style", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "funnelarea.legendgrouptitle.font.color": { + "histogram.legendgrouptitle.font.color": { "params": { "plotly_name": "color", - "parent_name": "funnelarea.legendgrouptitle.font", + "parent_name": "histogram.legendgrouptitle.font", "edit_type": "style" }, "superclass": "ColorValidator" }, - "funnelarea.legendgroup": { + "histogram.legendgroup": { "params": { "plotly_name": "legendgroup", - "parent_name": "funnelarea", + "parent_name": "histogram", "edit_type": "style" }, "superclass": "StringValidator" }, - "funnelarea.legend": { + "histogram.legend": { "params": { "plotly_name": "legend", - "parent_name": "funnelarea", + "parent_name": "histogram", "dflt": "legend", "edit_type": "style" }, "superclass": "SubplotidValidator" }, - "funnelarea.labelssrc": { - "params": { - "plotly_name": "labelssrc", - "parent_name": "funnelarea", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.labels": { - "params": { - "plotly_name": "labels", - "parent_name": "funnelarea", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "funnelarea.label0": { - "params": { - "plotly_name": "label0", - "parent_name": "funnelarea", - "edit_type": "calc" - }, - "superclass": "NumberValidator" - }, - "funnelarea.insidetextfont": { + "histogram.insidetextfont": { "params": { "plotly_name": "insidetextfont", - "parent_name": "funnelarea", + "parent_name": "histogram", "data_class_str": "Insidetextfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "funnelarea.insidetextfont.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "funnelarea.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.insidetextfont.weight": { + "histogram.insidetextfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "funnelarea.insidetextfont", - "array_ok": true, + "parent_name": "histogram.insidetextfont", "edit_type": "plot", "extras": [ "normal", @@ -102412,19 +86456,10 @@ }, "superclass": "IntegerValidator" }, - "funnelarea.insidetextfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "funnelarea.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.insidetextfont.variant": { + "histogram.insidetextfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "funnelarea.insidetextfont", - "array_ok": true, + "parent_name": "histogram.insidetextfont", "edit_type": "plot", "values": [ "normal", @@ -102437,19 +86472,10 @@ }, "superclass": "EnumeratedValidator" }, - "funnelarea.insidetextfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "funnelarea.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.insidetextfont.textcase": { + "histogram.insidetextfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "funnelarea.insidetextfont", - "array_ok": true, + "parent_name": "histogram.insidetextfont", "edit_type": "plot", "values": [ "normal", @@ -102460,19 +86486,10 @@ }, "superclass": "EnumeratedValidator" }, - "funnelarea.insidetextfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "funnelarea.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.insidetextfont.style": { + "histogram.insidetextfont.style": { "params": { "plotly_name": "style", - "parent_name": "funnelarea.insidetextfont", - "array_ok": true, + "parent_name": "histogram.insidetextfont", "edit_type": "plot", "values": [ "normal", @@ -102481,54 +86498,27 @@ }, "superclass": "EnumeratedValidator" }, - "funnelarea.insidetextfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "funnelarea.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.insidetextfont.size": { + "histogram.insidetextfont.size": { "params": { "plotly_name": "size", - "parent_name": "funnelarea.insidetextfont", - "array_ok": true, + "parent_name": "histogram.insidetextfont", "edit_type": "plot", "min": 1 }, "superclass": "NumberValidator" }, - "funnelarea.insidetextfont.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "funnelarea.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.insidetextfont.shadow": { + "histogram.insidetextfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "funnelarea.insidetextfont", - "array_ok": true, + "parent_name": "histogram.insidetextfont", "edit_type": "plot" }, "superclass": "StringValidator" }, - "funnelarea.insidetextfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "funnelarea.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.insidetextfont.lineposition": { + "histogram.insidetextfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "funnelarea.insidetextfont", - "array_ok": true, + "parent_name": "histogram.insidetextfont", "edit_type": "plot", "extras": [ "none" @@ -102541,156 +86531,111 @@ }, "superclass": "FlaglistValidator" }, - "funnelarea.insidetextfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "funnelarea.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.insidetextfont.family": { + "histogram.insidetextfont.family": { "params": { "plotly_name": "family", - "parent_name": "funnelarea.insidetextfont", - "array_ok": true, + "parent_name": "histogram.insidetextfont", "edit_type": "plot", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "funnelarea.insidetextfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "funnelarea.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.insidetextfont.color": { + "histogram.insidetextfont.color": { "params": { "plotly_name": "color", - "parent_name": "funnelarea.insidetextfont", - "array_ok": true, - "edit_type": "plot" + "parent_name": "histogram.insidetextfont", + "edit_type": "style" }, "superclass": "ColorValidator" }, - "funnelarea.idssrc": { + "histogram.insidetextanchor": { "params": { - "plotly_name": "idssrc", - "parent_name": "funnelarea", - "edit_type": "none" + "plotly_name": "insidetextanchor", + "parent_name": "histogram", + "edit_type": "plot", + "values": [ + "end", + "middle", + "start" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "funnelarea.ids": { + "histogram.ids": { "params": { "plotly_name": "ids", - "parent_name": "funnelarea", + "parent_name": "histogram", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "funnelarea.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "funnelarea", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.hovertext": { + "histogram.hovertext": { "params": { "plotly_name": "hovertext", - "parent_name": "funnelarea", + "parent_name": "histogram", "array_ok": true, "edit_type": "style" }, "superclass": "StringValidator" }, - "funnelarea.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "funnelarea", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.hovertemplatefallback": { + "histogram.hovertemplatefallback": { "params": { "plotly_name": "hovertemplatefallback", - "parent_name": "funnelarea", + "parent_name": "histogram", "edit_type": "none" }, "superclass": "AnyValidator" }, - "funnelarea.hovertemplate": { + "histogram.hovertemplate": { "params": { "plotly_name": "hovertemplate", - "parent_name": "funnelarea", + "parent_name": "histogram", "array_ok": true, "edit_type": "none" }, "superclass": "StringValidator" }, - "funnelarea.hoverlabel": { + "histogram.hoverlabel": { "params": { "plotly_name": "hoverlabel", - "parent_name": "funnelarea", + "parent_name": "histogram", "data_class_str": "Hoverlabel", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "funnelarea.hoverlabel.showarrow": { + "histogram.hoverlabel.showarrow": { "params": { "plotly_name": "showarrow", - "parent_name": "funnelarea.hoverlabel", + "parent_name": "histogram.hoverlabel", "edit_type": "none" }, "superclass": "BooleanValidator" }, - "funnelarea.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "funnelarea.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.hoverlabel.namelength": { + "histogram.hoverlabel.namelength": { "params": { "plotly_name": "namelength", - "parent_name": "funnelarea.hoverlabel", + "parent_name": "histogram.hoverlabel", "array_ok": true, "edit_type": "none", "min": -1 }, "superclass": "IntegerValidator" }, - "funnelarea.hoverlabel.font": { + "histogram.hoverlabel.font": { "params": { "plotly_name": "font", - "parent_name": "funnelarea.hoverlabel", + "parent_name": "histogram.hoverlabel", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "funnelarea.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "funnelarea.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.hoverlabel.font.weight": { + "histogram.hoverlabel.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "funnelarea.hoverlabel.font", + "parent_name": "histogram.hoverlabel.font", "array_ok": true, "edit_type": "none", "extras": [ @@ -102702,18 +86647,10 @@ }, "superclass": "IntegerValidator" }, - "funnelarea.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "funnelarea.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.hoverlabel.font.variant": { + "histogram.hoverlabel.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "funnelarea.hoverlabel.font", + "parent_name": "histogram.hoverlabel.font", "array_ok": true, "edit_type": "none", "values": [ @@ -102727,18 +86664,10 @@ }, "superclass": "EnumeratedValidator" }, - "funnelarea.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "funnelarea.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.hoverlabel.font.textcase": { + "histogram.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "funnelarea.hoverlabel.font", + "parent_name": "histogram.hoverlabel.font", "array_ok": true, "edit_type": "none", "values": [ @@ -102750,18 +86679,10 @@ }, "superclass": "EnumeratedValidator" }, - "funnelarea.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "funnelarea.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.hoverlabel.font.style": { + "histogram.hoverlabel.font.style": { "params": { "plotly_name": "style", - "parent_name": "funnelarea.hoverlabel.font", + "parent_name": "histogram.hoverlabel.font", "array_ok": true, "edit_type": "none", "values": [ @@ -102771,53 +86692,29 @@ }, "superclass": "EnumeratedValidator" }, - "funnelarea.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "funnelarea.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.hoverlabel.font.size": { + "histogram.hoverlabel.font.size": { "params": { "plotly_name": "size", - "parent_name": "funnelarea.hoverlabel.font", + "parent_name": "histogram.hoverlabel.font", "array_ok": true, "edit_type": "none", "min": 1 }, "superclass": "NumberValidator" }, - "funnelarea.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "funnelarea.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.hoverlabel.font.shadow": { + "histogram.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "funnelarea.hoverlabel.font", + "parent_name": "histogram.hoverlabel.font", "array_ok": true, "edit_type": "none" }, "superclass": "StringValidator" }, - "funnelarea.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "funnelarea.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.hoverlabel.font.lineposition": { + "histogram.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "funnelarea.hoverlabel.font", + "parent_name": "histogram.hoverlabel.font", "array_ok": true, "edit_type": "none", "extras": [ @@ -102831,18 +86728,10 @@ }, "superclass": "FlaglistValidator" }, - "funnelarea.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "funnelarea.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.hoverlabel.font.family": { + "histogram.hoverlabel.font.family": { "params": { "plotly_name": "family", - "parent_name": "funnelarea.hoverlabel.font", + "parent_name": "histogram.hoverlabel.font", "array_ok": true, "edit_type": "none", "no_blank": true, @@ -102850,69 +86739,37 @@ }, "superclass": "StringValidator" }, - "funnelarea.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "funnelarea.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.hoverlabel.font.color": { + "histogram.hoverlabel.font.color": { "params": { "plotly_name": "color", - "parent_name": "funnelarea.hoverlabel.font", + "parent_name": "histogram.hoverlabel.font", "array_ok": true, "edit_type": "none" }, "superclass": "ColorValidator" }, - "funnelarea.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "funnelarea.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.hoverlabel.bordercolor": { + "histogram.hoverlabel.bordercolor": { "params": { "plotly_name": "bordercolor", - "parent_name": "funnelarea.hoverlabel", + "parent_name": "histogram.hoverlabel", "array_ok": true, "edit_type": "none" }, "superclass": "ColorValidator" }, - "funnelarea.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "funnelarea.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.hoverlabel.bgcolor": { + "histogram.hoverlabel.bgcolor": { "params": { "plotly_name": "bgcolor", - "parent_name": "funnelarea.hoverlabel", + "parent_name": "histogram.hoverlabel", "array_ok": true, "edit_type": "none" }, "superclass": "ColorValidator" }, - "funnelarea.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "funnelarea.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.hoverlabel.align": { + "histogram.hoverlabel.align": { "params": { "plotly_name": "align", - "parent_name": "funnelarea.hoverlabel", + "parent_name": "histogram.hoverlabel", "array_ok": true, "edit_type": "none", "values": [ @@ -102923,18 +86780,10 @@ }, "superclass": "EnumeratedValidator" }, - "funnelarea.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "funnelarea", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnelarea.hoverinfo": { + "histogram.hoverinfo": { "params": { "plotly_name": "hoverinfo", - "parent_name": "funnelarea", + "parent_name": "histogram", "array_ok": true, "edit_type": "none", "extras": [ @@ -102943,683 +86792,792 @@ "skip" ], "flags": [ - "label", + "x", + "y", + "z", "text", - "value", - "percent", "name" ] }, "superclass": "FlaglistValidator" }, - "funnelarea.domain": { + "histogram.histnorm": { "params": { - "plotly_name": "domain", - "parent_name": "funnelarea", - "data_class_str": "Domain", + "plotly_name": "histnorm", + "parent_name": "histogram", + "edit_type": "calc", + "values": [ + "", + "percent", + "probability", + "density", + "probability density" + ] + }, + "superclass": "EnumeratedValidator" + }, + "histogram.histfunc": { + "params": { + "plotly_name": "histfunc", + "parent_name": "histogram", + "edit_type": "calc", + "values": [ + "count", + "sum", + "avg", + "min", + "max" + ] + }, + "superclass": "EnumeratedValidator" + }, + "histogram.error_y": { + "params": { + "plotly_name": "error_y", + "parent_name": "histogram", + "data_class_str": "ErrorY", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "funnelarea.domain.y": { + "histogram.error_y.width": { "params": { - "plotly_name": "y", - "parent_name": "funnelarea.domain", + "plotly_name": "width", + "parent_name": "histogram.error_y", + "edit_type": "plot", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "histogram.error_y.visible": { + "params": { + "plotly_name": "visible", + "parent_name": "histogram.error_y", + "edit_type": "calc" + }, + "superclass": "BooleanValidator" + }, + "histogram.error_y.valueminus": { + "params": { + "plotly_name": "valueminus", + "parent_name": "histogram.error_y", "edit_type": "calc", - "items": [ - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - } - ] + "min": 0 }, - "superclass": "InfoArrayValidator" + "superclass": "NumberValidator" }, - "funnelarea.domain.x": { + "histogram.error_y.value": { "params": { - "plotly_name": "x", - "parent_name": "funnelarea.domain", + "plotly_name": "value", + "parent_name": "histogram.error_y", "edit_type": "calc", - "items": [ - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - } - ] + "min": 0 }, - "superclass": "InfoArrayValidator" + "superclass": "NumberValidator" }, - "funnelarea.domain.row": { + "histogram.error_y.type": { "params": { - "plotly_name": "row", - "parent_name": "funnelarea.domain", + "plotly_name": "type", + "parent_name": "histogram.error_y", "edit_type": "calc", + "values": [ + "percent", + "constant", + "sqrt", + "data" + ] + }, + "superclass": "EnumeratedValidator" + }, + "histogram.error_y.tracerefminus": { + "params": { + "plotly_name": "tracerefminus", + "parent_name": "histogram.error_y", + "edit_type": "style", "min": 0 }, "superclass": "IntegerValidator" }, - "funnelarea.domain.column": { + "histogram.error_y.traceref": { "params": { - "plotly_name": "column", - "parent_name": "funnelarea.domain", - "edit_type": "calc", + "plotly_name": "traceref", + "parent_name": "histogram.error_y", + "edit_type": "style", "min": 0 }, "superclass": "IntegerValidator" }, - "funnelarea.dlabel": { + "histogram.error_y.thickness": { "params": { - "plotly_name": "dlabel", - "parent_name": "funnelarea", - "edit_type": "calc" + "plotly_name": "thickness", + "parent_name": "histogram.error_y", + "edit_type": "style", + "min": 0 }, "superclass": "NumberValidator" }, - "funnelarea.customdatasrc": { + "histogram.error_y.symmetric": { "params": { - "plotly_name": "customdatasrc", - "parent_name": "funnelarea", - "edit_type": "none" + "plotly_name": "symmetric", + "parent_name": "histogram.error_y", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "funnelarea.customdata": { + "histogram.error_y.color": { "params": { - "plotly_name": "customdata", - "parent_name": "funnelarea", + "plotly_name": "color", + "parent_name": "histogram.error_y", + "edit_type": "style" + }, + "superclass": "ColorValidator" + }, + "histogram.error_y.arrayminus": { + "params": { + "plotly_name": "arrayminus", + "parent_name": "histogram.error_y", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "funnelarea.baseratio": { + "histogram.error_y.array": { "params": { - "plotly_name": "baseratio", - "parent_name": "funnelarea", - "edit_type": "plot", - "max": 1, - "min": 0 + "plotly_name": "array", + "parent_name": "histogram.error_y", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "funnelarea.aspectratio": { + "histogram.error_x": { "params": { - "plotly_name": "aspectratio", - "parent_name": "funnelarea", + "plotly_name": "error_x", + "parent_name": "histogram", + "data_class_str": "ErrorX", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "histogram.error_x.width": { + "params": { + "plotly_name": "width", + "parent_name": "histogram.error_x", "edit_type": "plot", "min": 0 }, "superclass": "NumberValidator" }, - "funnel": { + "histogram.error_x.visible": { "params": { - "plotly_name": "funnel", - "parent_name": "", - "data_class_str": "Funnel", - "data_docs": "\n" + "plotly_name": "visible", + "parent_name": "histogram.error_x", + "edit_type": "calc" }, - "superclass": "CompoundValidator" + "superclass": "BooleanValidator" }, - "funnel.zorder": { + "histogram.error_x.valueminus": { "params": { - "plotly_name": "zorder", - "parent_name": "funnel", - "edit_type": "plot" + "plotly_name": "valueminus", + "parent_name": "histogram.error_x", + "edit_type": "calc", + "min": 0 }, - "superclass": "IntegerValidator" + "superclass": "NumberValidator" }, - "funnel.ysrc": { + "histogram.error_x.value": { "params": { - "plotly_name": "ysrc", - "parent_name": "funnel", - "edit_type": "none" + "plotly_name": "value", + "parent_name": "histogram.error_x", + "edit_type": "calc", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "funnel.yperiodalignment": { + "histogram.error_x.type": { "params": { - "plotly_name": "yperiodalignment", - "parent_name": "funnel", + "plotly_name": "type", + "parent_name": "histogram.error_x", "edit_type": "calc", "values": [ - "start", - "middle", - "end" + "percent", + "constant", + "sqrt", + "data" ] }, "superclass": "EnumeratedValidator" }, - "funnel.yperiod0": { + "histogram.error_x.tracerefminus": { "params": { - "plotly_name": "yperiod0", - "parent_name": "funnel", - "edit_type": "calc" + "plotly_name": "tracerefminus", + "parent_name": "histogram.error_x", + "edit_type": "style", + "min": 0 }, - "superclass": "AnyValidator" + "superclass": "IntegerValidator" }, - "funnel.yperiod": { + "histogram.error_x.traceref": { "params": { - "plotly_name": "yperiod", - "parent_name": "funnel", + "plotly_name": "traceref", + "parent_name": "histogram.error_x", + "edit_type": "style", + "min": 0 + }, + "superclass": "IntegerValidator" + }, + "histogram.error_x.thickness": { + "params": { + "plotly_name": "thickness", + "parent_name": "histogram.error_x", + "edit_type": "style", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "histogram.error_x.symmetric": { + "params": { + "plotly_name": "symmetric", + "parent_name": "histogram.error_x", "edit_type": "calc" }, - "superclass": "AnyValidator" + "superclass": "BooleanValidator" }, - "funnel.yhoverformat": { + "histogram.error_x.copy_ystyle": { "params": { - "plotly_name": "yhoverformat", - "parent_name": "funnel", - "edit_type": "none" + "plotly_name": "copy_ystyle", + "parent_name": "histogram.error_x", + "edit_type": "plot" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "funnel.yaxis": { + "histogram.error_x.color": { "params": { - "plotly_name": "yaxis", - "parent_name": "funnel", - "dflt": "y", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "color", + "parent_name": "histogram.error_x", + "edit_type": "style" }, - "superclass": "SubplotidValidator" + "superclass": "ColorValidator" }, - "funnel.y0": { + "histogram.error_x.arrayminus": { "params": { - "plotly_name": "y0", - "parent_name": "funnel", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "arrayminus", + "parent_name": "histogram.error_x", + "edit_type": "calc" }, - "superclass": "AnyValidator" + "superclass": "DataArrayValidator" }, - "funnel.y": { + "histogram.error_x.array": { "params": { - "plotly_name": "y", - "parent_name": "funnel", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "array", + "parent_name": "histogram.error_x", + "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "funnel.xsrc": { + "histogram.customdata": { "params": { - "plotly_name": "xsrc", - "parent_name": "funnel", - "edit_type": "none" + "plotly_name": "customdata", + "parent_name": "histogram", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "DataArrayValidator" }, - "funnel.xperiodalignment": { + "histogram.cumulative": { "params": { - "plotly_name": "xperiodalignment", - "parent_name": "funnel", + "plotly_name": "cumulative", + "parent_name": "histogram", + "data_class_str": "Cumulative", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "histogram.cumulative.enabled": { + "params": { + "plotly_name": "enabled", + "parent_name": "histogram.cumulative", + "edit_type": "calc" + }, + "superclass": "BooleanValidator" + }, + "histogram.cumulative.direction": { + "params": { + "plotly_name": "direction", + "parent_name": "histogram.cumulative", "edit_type": "calc", "values": [ - "start", - "middle", - "end" + "increasing", + "decreasing" ] }, "superclass": "EnumeratedValidator" }, - "funnel.xperiod0": { + "histogram.cumulative.currentbin": { "params": { - "plotly_name": "xperiod0", - "parent_name": "funnel", - "edit_type": "calc" + "plotly_name": "currentbin", + "parent_name": "histogram.cumulative", + "edit_type": "calc", + "values": [ + "include", + "exclude", + "half" + ] }, - "superclass": "AnyValidator" + "superclass": "EnumeratedValidator" }, - "funnel.xperiod": { + "histogram.constraintext": { "params": { - "plotly_name": "xperiod", - "parent_name": "funnel", - "edit_type": "calc" + "plotly_name": "constraintext", + "parent_name": "histogram", + "edit_type": "calc", + "values": [ + "inside", + "outside", + "both", + "none" + ] }, - "superclass": "AnyValidator" + "superclass": "EnumeratedValidator" }, - "funnel.xhoverformat": { + "histogram.cliponaxis": { "params": { - "plotly_name": "xhoverformat", - "parent_name": "funnel", - "edit_type": "none" + "plotly_name": "cliponaxis", + "parent_name": "histogram", + "edit_type": "plot" + }, + "superclass": "BooleanValidator" + }, + "histogram.bingroup": { + "params": { + "plotly_name": "bingroup", + "parent_name": "histogram", + "edit_type": "calc" }, "superclass": "StringValidator" }, - "funnel.xaxis": { + "histogram.autobiny": { "params": { - "plotly_name": "xaxis", - "parent_name": "funnel", - "dflt": "x", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "autobiny", + "parent_name": "histogram", + "edit_type": "calc" }, - "superclass": "SubplotidValidator" + "superclass": "BooleanValidator" }, - "funnel.x0": { + "histogram.autobinx": { "params": { - "plotly_name": "x0", - "parent_name": "funnel", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "autobinx", + "parent_name": "histogram", + "edit_type": "calc" }, - "superclass": "AnyValidator" + "superclass": "BooleanValidator" }, - "funnel.x": { + "histogram.alignmentgroup": { "params": { - "plotly_name": "x", - "parent_name": "funnel", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "alignmentgroup", + "parent_name": "histogram", + "edit_type": "calc" }, - "superclass": "DataArrayValidator" + "superclass": "StringValidator" }, - "funnel.width": { + "heatmap": { "params": { - "plotly_name": "width", - "parent_name": "funnel", - "array_ok": false, - "edit_type": "calc", - "min": 0 + "plotly_name": "heatmap", + "parent_name": "", + "data_class_str": "Heatmap", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "funnel.visible": { + "heatmap.zsmooth": { "params": { - "plotly_name": "visible", - "parent_name": "funnel", + "plotly_name": "zsmooth", + "parent_name": "heatmap", "edit_type": "calc", "values": [ - true, - false, - "legendonly" + "fast", + "best", + false ] }, "superclass": "EnumeratedValidator" }, - "funnel.uirevision": { + "heatmap.zorder": { "params": { - "plotly_name": "uirevision", - "parent_name": "funnel", - "edit_type": "none" + "plotly_name": "zorder", + "parent_name": "heatmap", + "edit_type": "plot" }, - "superclass": "AnyValidator" + "superclass": "IntegerValidator" }, - "funnel.uid": { + "heatmap.zmin": { "params": { - "plotly_name": "uid", - "parent_name": "funnel", - "edit_type": "plot" + "plotly_name": "zmin", + "parent_name": "heatmap", + "edit_type": "plot", + "implied_edits": { + "zauto": false + } }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "funnel.texttemplatesrc": { + "heatmap.zmid": { "params": { - "plotly_name": "texttemplatesrc", - "parent_name": "funnel", - "edit_type": "none" + "plotly_name": "zmid", + "parent_name": "heatmap", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "funnel.texttemplatefallback": { + "heatmap.zmax": { "params": { - "plotly_name": "texttemplatefallback", - "parent_name": "funnel", - "edit_type": "plot" + "plotly_name": "zmax", + "parent_name": "heatmap", + "edit_type": "plot", + "implied_edits": { + "zauto": false + } }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "funnel.texttemplate": { + "heatmap.zhoverformat": { "params": { - "plotly_name": "texttemplate", - "parent_name": "funnel", - "array_ok": true, - "edit_type": "plot" + "plotly_name": "zhoverformat", + "parent_name": "heatmap", + "edit_type": "none" }, "superclass": "StringValidator" }, - "funnel.textsrc": { + "heatmap.zauto": { "params": { - "plotly_name": "textsrc", - "parent_name": "funnel", - "edit_type": "none" + "plotly_name": "zauto", + "parent_name": "heatmap", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "funnel.textpositionsrc": { + "heatmap.z": { "params": { - "plotly_name": "textpositionsrc", - "parent_name": "funnel", - "edit_type": "none" + "plotly_name": "z", + "parent_name": "heatmap", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "DataArrayValidator" }, - "funnel.textposition": { + "heatmap.ytype": { "params": { - "plotly_name": "textposition", - "parent_name": "funnel", - "array_ok": true, - "edit_type": "calc", + "plotly_name": "ytype", + "parent_name": "heatmap", + "edit_type": "calc+clearAxisTypes", "values": [ - "inside", - "outside", - "auto", - "none" + "array", + "scaled" ] }, "superclass": "EnumeratedValidator" }, - "funnel.textinfo": { + "heatmap.yperiodalignment": { "params": { - "plotly_name": "textinfo", - "parent_name": "funnel", - "array_ok": false, - "edit_type": "plot", - "extras": [ - "none" - ], - "flags": [ - "label", - "text", - "percent initial", - "percent previous", - "percent total", - "value" + "plotly_name": "yperiodalignment", + "parent_name": "heatmap", + "edit_type": "calc", + "implied_edits": { + "ytype": "scaled" + }, + "values": [ + "start", + "middle", + "end" ] }, - "superclass": "FlaglistValidator" + "superclass": "EnumeratedValidator" }, - "funnel.textfont": { + "heatmap.yperiod0": { "params": { - "plotly_name": "textfont", - "parent_name": "funnel", - "data_class_str": "Textfont", - "data_docs": "\n" + "plotly_name": "yperiod0", + "parent_name": "heatmap", + "edit_type": "calc", + "implied_edits": { + "ytype": "scaled" + } }, - "superclass": "CompoundValidator" + "superclass": "AnyValidator" }, - "funnel.textfont.weightsrc": { + "heatmap.yperiod": { "params": { - "plotly_name": "weightsrc", - "parent_name": "funnel.textfont", - "edit_type": "none" + "plotly_name": "yperiod", + "parent_name": "heatmap", + "edit_type": "calc", + "implied_edits": { + "ytype": "scaled" + } }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "funnel.textfont.weight": { + "heatmap.yhoverformat": { "params": { - "plotly_name": "weight", - "parent_name": "funnel.textfont", - "array_ok": true, - "edit_type": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 + "plotly_name": "yhoverformat", + "parent_name": "heatmap", + "edit_type": "none" }, - "superclass": "IntegerValidator" + "superclass": "StringValidator" }, - "funnel.textfont.variantsrc": { + "heatmap.ygap": { "params": { - "plotly_name": "variantsrc", - "parent_name": "funnel.textfont", - "edit_type": "none" + "plotly_name": "ygap", + "parent_name": "heatmap", + "edit_type": "plot", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "funnel.textfont.variant": { + "heatmap.ycalendar": { "params": { - "plotly_name": "variant", - "parent_name": "funnel.textfont", - "array_ok": true, + "plotly_name": "ycalendar", + "parent_name": "heatmap", "edit_type": "calc", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" ] }, "superclass": "EnumeratedValidator" }, - "funnel.textfont.textcasesrc": { + "heatmap.yaxis": { "params": { - "plotly_name": "textcasesrc", - "parent_name": "funnel.textfont", - "edit_type": "none" + "plotly_name": "yaxis", + "parent_name": "heatmap", + "dflt": "y", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "SrcValidator" + "superclass": "SubplotidValidator" }, - "funnel.textfont.textcase": { + "heatmap.y0": { "params": { - "plotly_name": "textcase", - "parent_name": "funnel.textfont", - "array_ok": true, - "edit_type": "calc", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] + "plotly_name": "y0", + "parent_name": "heatmap", + "edit_type": "calc+clearAxisTypes", + "implied_edits": { + "ytype": "scaled" + } }, - "superclass": "EnumeratedValidator" + "superclass": "AnyValidator" }, - "funnel.textfont.stylesrc": { + "heatmap.y": { "params": { - "plotly_name": "stylesrc", - "parent_name": "funnel.textfont", - "edit_type": "none" + "plotly_name": "y", + "parent_name": "heatmap", + "edit_type": "calc+clearAxisTypes", + "implied_edits": { + "ytype": "array" + } }, - "superclass": "SrcValidator" + "superclass": "DataArrayValidator" }, - "funnel.textfont.style": { + "heatmap.xtype": { "params": { - "plotly_name": "style", - "parent_name": "funnel.textfont", - "array_ok": true, - "edit_type": "calc", + "plotly_name": "xtype", + "parent_name": "heatmap", + "edit_type": "calc+clearAxisTypes", "values": [ - "normal", - "italic" + "array", + "scaled" ] }, "superclass": "EnumeratedValidator" }, - "funnel.textfont.sizesrc": { + "heatmap.xperiodalignment": { "params": { - "plotly_name": "sizesrc", - "parent_name": "funnel.textfont", - "edit_type": "none" + "plotly_name": "xperiodalignment", + "parent_name": "heatmap", + "edit_type": "calc", + "implied_edits": { + "xtype": "scaled" + }, + "values": [ + "start", + "middle", + "end" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "funnel.textfont.size": { + "heatmap.xperiod0": { "params": { - "plotly_name": "size", - "parent_name": "funnel.textfont", - "array_ok": true, + "plotly_name": "xperiod0", + "parent_name": "heatmap", "edit_type": "calc", - "min": 1 + "implied_edits": { + "xtype": "scaled" + } }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "funnel.textfont.shadowsrc": { + "heatmap.xperiod": { "params": { - "plotly_name": "shadowsrc", - "parent_name": "funnel.textfont", - "edit_type": "none" + "plotly_name": "xperiod", + "parent_name": "heatmap", + "edit_type": "calc", + "implied_edits": { + "xtype": "scaled" + } }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "funnel.textfont.shadow": { + "heatmap.xhoverformat": { "params": { - "plotly_name": "shadow", - "parent_name": "funnel.textfont", - "array_ok": true, - "edit_type": "calc" + "plotly_name": "xhoverformat", + "parent_name": "heatmap", + "edit_type": "none" }, "superclass": "StringValidator" }, - "funnel.textfont.linepositionsrc": { + "heatmap.xgap": { "params": { - "plotly_name": "linepositionsrc", - "parent_name": "funnel.textfont", - "edit_type": "none" + "plotly_name": "xgap", + "parent_name": "heatmap", + "edit_type": "plot", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "funnel.textfont.lineposition": { + "heatmap.xcalendar": { "params": { - "plotly_name": "lineposition", - "parent_name": "funnel.textfont", - "array_ok": true, + "plotly_name": "xcalendar", + "parent_name": "heatmap", "edit_type": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" ] }, - "superclass": "FlaglistValidator" - }, - "funnel.textfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "funnel.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnel.textfont.family": { - "params": { - "plotly_name": "family", - "parent_name": "funnel.textfont", - "array_ok": true, - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "funnel.textfont.colorsrc": { + "heatmap.xaxis": { "params": { - "plotly_name": "colorsrc", - "parent_name": "funnel.textfont", - "edit_type": "none" + "plotly_name": "xaxis", + "parent_name": "heatmap", + "dflt": "x", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "SrcValidator" + "superclass": "SubplotidValidator" }, - "funnel.textfont.color": { + "heatmap.x0": { "params": { - "plotly_name": "color", - "parent_name": "funnel.textfont", - "array_ok": true, - "edit_type": "style" + "plotly_name": "x0", + "parent_name": "heatmap", + "edit_type": "calc+clearAxisTypes", + "implied_edits": { + "xtype": "scaled" + } }, - "superclass": "ColorValidator" + "superclass": "AnyValidator" }, - "funnel.textangle": { + "heatmap.x": { "params": { - "plotly_name": "textangle", - "parent_name": "funnel", - "edit_type": "plot" + "plotly_name": "x", + "parent_name": "heatmap", + "edit_type": "calc+clearAxisTypes", + "implied_edits": { + "xtype": "array" + } }, - "superclass": "AngleValidator" + "superclass": "DataArrayValidator" }, - "funnel.text": { + "heatmap.visible": { "params": { - "plotly_name": "text", - "parent_name": "funnel", - "array_ok": true, - "edit_type": "calc" + "plotly_name": "visible", + "parent_name": "heatmap", + "edit_type": "calc", + "values": [ + true, + false, + "legendonly" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "funnel.stream": { + "heatmap.uirevision": { "params": { - "plotly_name": "stream", - "parent_name": "funnel", - "data_class_str": "Stream", - "data_docs": "\n" + "plotly_name": "uirevision", + "parent_name": "heatmap", + "edit_type": "none" }, - "superclass": "CompoundValidator" + "superclass": "AnyValidator" }, - "funnel.stream.token": { + "heatmap.uid": { "params": { - "plotly_name": "token", - "parent_name": "funnel.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true + "plotly_name": "uid", + "parent_name": "heatmap", + "edit_type": "plot" }, "superclass": "StringValidator" }, - "funnel.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "funnel.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "funnel.showlegend": { + "heatmap.transpose": { "params": { - "plotly_name": "showlegend", - "parent_name": "funnel", - "edit_type": "style" + "plotly_name": "transpose", + "parent_name": "heatmap", + "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "funnel.selectedpoints": { + "heatmap.texttemplatefallback": { "params": { - "plotly_name": "selectedpoints", - "parent_name": "funnel", - "edit_type": "calc" + "plotly_name": "texttemplatefallback", + "parent_name": "heatmap", + "edit_type": "plot" }, "superclass": "AnyValidator" }, - "funnel.outsidetextfont": { + "heatmap.texttemplate": { "params": { - "plotly_name": "outsidetextfont", - "parent_name": "funnel", - "data_class_str": "Outsidetextfont", - "data_docs": "\n" + "plotly_name": "texttemplate", + "parent_name": "heatmap", + "edit_type": "plot" }, - "superclass": "CompoundValidator" + "superclass": "StringValidator" }, - "funnel.outsidetextfont.weightsrc": { + "heatmap.textfont": { "params": { - "plotly_name": "weightsrc", - "parent_name": "funnel.outsidetextfont", - "edit_type": "none" + "plotly_name": "textfont", + "parent_name": "heatmap", + "data_class_str": "Textfont", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "funnel.outsidetextfont.weight": { + "heatmap.textfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "funnel.outsidetextfont", - "array_ok": true, - "edit_type": "calc", + "parent_name": "heatmap.textfont", + "edit_type": "plot", "extras": [ "normal", "bold" @@ -103629,20 +87587,11 @@ }, "superclass": "IntegerValidator" }, - "funnel.outsidetextfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "funnel.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnel.outsidetextfont.variant": { + "heatmap.textfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "funnel.outsidetextfont", - "array_ok": true, - "edit_type": "calc", + "parent_name": "heatmap.textfont", + "edit_type": "plot", "values": [ "normal", "small-caps", @@ -103654,20 +87603,11 @@ }, "superclass": "EnumeratedValidator" }, - "funnel.outsidetextfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "funnel.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnel.outsidetextfont.textcase": { + "heatmap.textfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "funnel.outsidetextfont", - "array_ok": true, - "edit_type": "calc", + "parent_name": "heatmap.textfont", + "edit_type": "plot", "values": [ "normal", "word caps", @@ -103677,20 +87617,11 @@ }, "superclass": "EnumeratedValidator" }, - "funnel.outsidetextfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "funnel.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnel.outsidetextfont.style": { + "heatmap.textfont.style": { "params": { "plotly_name": "style", - "parent_name": "funnel.outsidetextfont", - "array_ok": true, - "edit_type": "calc", + "parent_name": "heatmap.textfont", + "edit_type": "plot", "values": [ "normal", "italic" @@ -103698,55 +87629,28 @@ }, "superclass": "EnumeratedValidator" }, - "funnel.outsidetextfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "funnel.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnel.outsidetextfont.size": { + "heatmap.textfont.size": { "params": { "plotly_name": "size", - "parent_name": "funnel.outsidetextfont", - "array_ok": true, - "edit_type": "calc", + "parent_name": "heatmap.textfont", + "edit_type": "plot", "min": 1 }, "superclass": "NumberValidator" }, - "funnel.outsidetextfont.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "funnel.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnel.outsidetextfont.shadow": { + "heatmap.textfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "funnel.outsidetextfont", - "array_ok": true, - "edit_type": "calc" + "parent_name": "heatmap.textfont", + "edit_type": "plot" }, "superclass": "StringValidator" }, - "funnel.outsidetextfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "funnel.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnel.outsidetextfont.lineposition": { + "heatmap.textfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "funnel.outsidetextfont", - "array_ok": true, - "edit_type": "calc", + "parent_name": "heatmap.textfont", + "edit_type": "plot", "extras": [ "none" ], @@ -103758,429 +87662,333 @@ }, "superclass": "FlaglistValidator" }, - "funnel.outsidetextfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "funnel.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnel.outsidetextfont.family": { + "heatmap.textfont.family": { "params": { "plotly_name": "family", - "parent_name": "funnel.outsidetextfont", - "array_ok": true, - "edit_type": "calc", + "parent_name": "heatmap.textfont", + "edit_type": "plot", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "funnel.outsidetextfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "funnel.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnel.outsidetextfont.color": { + "heatmap.textfont.color": { "params": { "plotly_name": "color", - "parent_name": "funnel.outsidetextfont", - "array_ok": true, + "parent_name": "heatmap.textfont", "edit_type": "style" }, "superclass": "ColorValidator" }, - "funnel.orientation": { - "params": { - "plotly_name": "orientation", - "parent_name": "funnel", - "edit_type": "calc+clearAxisTypes", - "values": [ - "v", - "h" - ] - }, - "superclass": "EnumeratedValidator" - }, - "funnel.opacity": { - "params": { - "plotly_name": "opacity", - "parent_name": "funnel", - "edit_type": "style", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "funnel.offsetgroup": { + "heatmap.text": { "params": { - "plotly_name": "offsetgroup", - "parent_name": "funnel", + "plotly_name": "text", + "parent_name": "heatmap", "edit_type": "calc" }, - "superclass": "StringValidator" + "superclass": "DataArrayValidator" }, - "funnel.offset": { + "heatmap.showscale": { "params": { - "plotly_name": "offset", - "parent_name": "funnel", - "array_ok": false, + "plotly_name": "showscale", + "parent_name": "heatmap", "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "funnel.name": { + "heatmap.showlegend": { "params": { - "plotly_name": "name", - "parent_name": "funnel", + "plotly_name": "showlegend", + "parent_name": "heatmap", "edit_type": "style" }, - "superclass": "StringValidator" - }, - "funnel.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "funnel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnel.meta": { - "params": { - "plotly_name": "meta", - "parent_name": "funnel", - "array_ok": true, - "edit_type": "plot" - }, - "superclass": "AnyValidator" - }, - "funnel.marker": { - "params": { - "plotly_name": "marker", - "parent_name": "funnel", - "data_class_str": "Marker", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "funnel.marker.showscale": { - "params": { - "plotly_name": "showscale", - "parent_name": "funnel.marker", - "edit_type": "calc" - }, "superclass": "BooleanValidator" }, - "funnel.marker.reversescale": { + "heatmap.reversescale": { "params": { "plotly_name": "reversescale", - "parent_name": "funnel.marker", + "parent_name": "heatmap", "edit_type": "plot" }, "superclass": "BooleanValidator" }, - "funnel.marker.opacitysrc": { - "params": { - "plotly_name": "opacitysrc", - "parent_name": "funnel.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnel.marker.opacity": { + "heatmap.opacity": { "params": { "plotly_name": "opacity", - "parent_name": "funnel.marker", - "array_ok": true, + "parent_name": "heatmap", "edit_type": "style", "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "funnel.marker.line": { + "heatmap.name": { "params": { - "plotly_name": "line", - "parent_name": "funnel.marker", - "data_class_str": "Line", - "data_docs": "\n" + "plotly_name": "name", + "parent_name": "heatmap", + "edit_type": "style" }, - "superclass": "CompoundValidator" + "superclass": "StringValidator" }, - "funnel.marker.line.widthsrc": { + "heatmap.meta": { "params": { - "plotly_name": "widthsrc", - "parent_name": "funnel.marker.line", - "edit_type": "none" + "plotly_name": "meta", + "parent_name": "heatmap", + "array_ok": true, + "edit_type": "plot" }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "funnel.marker.line.width": { + "heatmap.legendwidth": { "params": { - "plotly_name": "width", - "parent_name": "funnel.marker.line", - "array_ok": true, + "plotly_name": "legendwidth", + "parent_name": "heatmap", "edit_type": "style", "min": 0 }, "superclass": "NumberValidator" }, - "funnel.marker.line.reversescale": { + "heatmap.legendrank": { "params": { - "plotly_name": "reversescale", - "parent_name": "funnel.marker.line", - "edit_type": "plot" + "plotly_name": "legendrank", + "parent_name": "heatmap", + "edit_type": "style" }, - "superclass": "BooleanValidator" + "superclass": "NumberValidator" }, - "funnel.marker.line.colorsrc": { + "heatmap.legendgrouptitle": { "params": { - "plotly_name": "colorsrc", - "parent_name": "funnel.marker.line", - "edit_type": "none" + "plotly_name": "legendgrouptitle", + "parent_name": "heatmap", + "data_class_str": "Legendgrouptitle", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "funnel.marker.line.colorscale": { + "heatmap.legendgrouptitle.text": { "params": { - "plotly_name": "colorscale", - "parent_name": "funnel.marker.line", - "edit_type": "calc", - "implied_edits": { - "autocolorscale": false - } + "plotly_name": "text", + "parent_name": "heatmap.legendgrouptitle", + "edit_type": "style" }, - "superclass": "ColorscaleValidator" + "superclass": "StringValidator" }, - "funnel.marker.line.coloraxis": { + "heatmap.legendgrouptitle.font": { "params": { - "plotly_name": "coloraxis", - "parent_name": "funnel.marker.line", - "dflt": null, - "edit_type": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" + "plotly_name": "font", + "parent_name": "heatmap.legendgrouptitle", + "data_class_str": "Font", + "data_docs": "\n" }, - "superclass": "SubplotidValidator" + "superclass": "CompoundValidator" }, - "funnel.marker.line.color": { + "heatmap.legendgrouptitle.font.weight": { "params": { - "plotly_name": "color", - "parent_name": "funnel.marker.line", - "array_ok": true, + "plotly_name": "weight", + "parent_name": "heatmap.legendgrouptitle.font", "edit_type": "style", - "colorscale_path": "funnel.marker.line.colorscale" - }, - "superclass": "ColorValidator" - }, - "funnel.marker.line.cmin": { - "params": { - "plotly_name": "cmin", - "parent_name": "funnel.marker.line", - "edit_type": "plot", - "implied_edits": { - "cauto": false - } + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "NumberValidator" + "superclass": "IntegerValidator" }, - "funnel.marker.line.cmid": { + "heatmap.legendgrouptitle.font.variant": { "params": { - "plotly_name": "cmid", - "parent_name": "funnel.marker.line", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "variant", + "parent_name": "heatmap.legendgrouptitle.font", + "edit_type": "style", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "funnel.marker.line.cmax": { + "heatmap.legendgrouptitle.font.textcase": { "params": { - "plotly_name": "cmax", - "parent_name": "funnel.marker.line", - "edit_type": "plot", - "implied_edits": { - "cauto": false - } + "plotly_name": "textcase", + "parent_name": "heatmap.legendgrouptitle.font", + "edit_type": "style", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "funnel.marker.line.cauto": { + "heatmap.legendgrouptitle.font.style": { "params": { - "plotly_name": "cauto", - "parent_name": "funnel.marker.line", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "style", + "parent_name": "heatmap.legendgrouptitle.font", + "edit_type": "style", + "values": [ + "normal", + "italic" + ] }, - "superclass": "BooleanValidator" + "superclass": "EnumeratedValidator" }, - "funnel.marker.line.autocolorscale": { + "heatmap.legendgrouptitle.font.size": { "params": { - "plotly_name": "autocolorscale", - "parent_name": "funnel.marker.line", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "size", + "parent_name": "heatmap.legendgrouptitle.font", + "edit_type": "style", + "min": 1 }, - "superclass": "BooleanValidator" + "superclass": "NumberValidator" }, - "funnel.marker.colorsrc": { + "heatmap.legendgrouptitle.font.shadow": { "params": { - "plotly_name": "colorsrc", - "parent_name": "funnel.marker", - "edit_type": "none" + "plotly_name": "shadow", + "parent_name": "heatmap.legendgrouptitle.font", + "edit_type": "style" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "funnel.marker.colorscale": { + "heatmap.legendgrouptitle.font.lineposition": { "params": { - "plotly_name": "colorscale", - "parent_name": "funnel.marker", - "edit_type": "calc", - "implied_edits": { - "autocolorscale": false - } + "plotly_name": "lineposition", + "parent_name": "heatmap.legendgrouptitle.font", + "edit_type": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] }, - "superclass": "ColorscaleValidator" + "superclass": "FlaglistValidator" }, - "funnel.marker.colorbar": { + "heatmap.legendgrouptitle.font.family": { "params": { - "plotly_name": "colorbar", - "parent_name": "funnel.marker", - "data_class_str": "ColorBar", - "data_docs": "\n" + "plotly_name": "family", + "parent_name": "heatmap.legendgrouptitle.font", + "edit_type": "style", + "no_blank": true, + "strict": true }, - "superclass": "CompoundValidator" + "superclass": "StringValidator" }, - "funnel.marker.colorbar.yref": { + "heatmap.legendgrouptitle.font.color": { "params": { - "plotly_name": "yref", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "container", - "paper" - ] + "plotly_name": "color", + "parent_name": "heatmap.legendgrouptitle.font", + "edit_type": "style" }, - "superclass": "EnumeratedValidator" + "superclass": "ColorValidator" }, - "funnel.marker.colorbar.ypad": { + "heatmap.legendgroup": { "params": { - "plotly_name": "ypad", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "legendgroup", + "parent_name": "heatmap", + "edit_type": "style" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "funnel.marker.colorbar.yanchor": { + "heatmap.legend": { "params": { - "plotly_name": "yanchor", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "top", - "middle", - "bottom" - ] + "plotly_name": "legend", + "parent_name": "heatmap", + "dflt": "legend", + "edit_type": "style" }, - "superclass": "EnumeratedValidator" + "superclass": "SubplotidValidator" }, - "funnel.marker.colorbar.y": { + "heatmap.ids": { "params": { - "plotly_name": "y", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "ids", + "parent_name": "heatmap", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "funnel.marker.colorbar.xref": { + "heatmap.hovertext": { "params": { - "plotly_name": "xref", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "container", - "paper" - ] + "plotly_name": "hovertext", + "parent_name": "heatmap", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "DataArrayValidator" }, - "funnel.marker.colorbar.xpad": { + "heatmap.hovertemplatefallback": { "params": { - "plotly_name": "xpad", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "hovertemplatefallback", + "parent_name": "heatmap", + "edit_type": "none" }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "funnel.marker.colorbar.xanchor": { + "heatmap.hovertemplate": { "params": { - "plotly_name": "xanchor", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "left", - "center", - "right" - ] + "plotly_name": "hovertemplate", + "parent_name": "heatmap", + "array_ok": true, + "edit_type": "none" }, - "superclass": "EnumeratedValidator" + "superclass": "StringValidator" }, - "funnel.marker.colorbar.x": { + "heatmap.hoverongaps": { "params": { - "plotly_name": "x", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "hoverongaps", + "parent_name": "heatmap", + "edit_type": "none" }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "funnel.marker.colorbar.title": { + "heatmap.hoverlabel": { "params": { - "plotly_name": "title", - "parent_name": "funnel.marker.colorbar", - "data_class_str": "Title", + "plotly_name": "hoverlabel", + "parent_name": "heatmap", + "data_class_str": "Hoverlabel", "data_docs": "\n" }, - "superclass": "TitleValidator" + "superclass": "CompoundValidator" }, - "funnel.marker.colorbar.title.text": { - "params": { - "plotly_name": "text", - "parent_name": "funnel.marker.colorbar.title", - "edit_type": "colorbars" + "heatmap.hoverlabel.showarrow": { + "params": { + "plotly_name": "showarrow", + "parent_name": "heatmap.hoverlabel", + "edit_type": "none" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "funnel.marker.colorbar.title.side": { + "heatmap.hoverlabel.namelength": { "params": { - "plotly_name": "side", - "parent_name": "funnel.marker.colorbar.title", - "edit_type": "colorbars", - "values": [ - "right", - "top", - "bottom" - ] + "plotly_name": "namelength", + "parent_name": "heatmap.hoverlabel", + "array_ok": true, + "edit_type": "none", + "min": -1 }, - "superclass": "EnumeratedValidator" + "superclass": "IntegerValidator" }, - "funnel.marker.colorbar.title.font": { + "heatmap.hoverlabel.font": { "params": { "plotly_name": "font", - "parent_name": "funnel.marker.colorbar.title", + "parent_name": "heatmap.hoverlabel", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "funnel.marker.colorbar.title.font.weight": { + "heatmap.hoverlabel.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "funnel.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "heatmap.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "extras": [ "normal", "bold" @@ -104190,11 +87998,12 @@ }, "superclass": "IntegerValidator" }, - "funnel.marker.colorbar.title.font.variant": { + "heatmap.hoverlabel.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "funnel.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "heatmap.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "small-caps", @@ -104206,11 +88015,12 @@ }, "superclass": "EnumeratedValidator" }, - "funnel.marker.colorbar.title.font.textcase": { + "heatmap.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "funnel.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "heatmap.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "word caps", @@ -104220,11 +88030,12 @@ }, "superclass": "EnumeratedValidator" }, - "funnel.marker.colorbar.title.font.style": { + "heatmap.hoverlabel.font.style": { "params": { "plotly_name": "style", - "parent_name": "funnel.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "heatmap.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "italic" @@ -104232,28 +88043,31 @@ }, "superclass": "EnumeratedValidator" }, - "funnel.marker.colorbar.title.font.size": { + "heatmap.hoverlabel.font.size": { "params": { "plotly_name": "size", - "parent_name": "funnel.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "heatmap.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "min": 1 }, "superclass": "NumberValidator" }, - "funnel.marker.colorbar.title.font.shadow": { + "heatmap.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "funnel.marker.colorbar.title.font", - "edit_type": "colorbars" + "parent_name": "heatmap.hoverlabel.font", + "array_ok": true, + "edit_type": "none" }, "superclass": "StringValidator" }, - "funnel.marker.colorbar.title.font.lineposition": { + "heatmap.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "funnel.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "heatmap.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "extras": [ "none" ], @@ -104265,703 +88079,576 @@ }, "superclass": "FlaglistValidator" }, - "funnel.marker.colorbar.title.font.family": { + "heatmap.hoverlabel.font.family": { "params": { "plotly_name": "family", - "parent_name": "funnel.marker.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "heatmap.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "funnel.marker.colorbar.title.font.color": { + "heatmap.hoverlabel.font.color": { "params": { "plotly_name": "color", - "parent_name": "funnel.marker.colorbar.title.font", - "edit_type": "colorbars" + "parent_name": "heatmap.hoverlabel.font", + "array_ok": true, + "edit_type": "none" }, "superclass": "ColorValidator" }, - "funnel.marker.colorbar.tickwidth": { - "params": { - "plotly_name": "tickwidth", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "funnel.marker.colorbar.tickvalssrc": { + "heatmap.hoverlabel.bordercolor": { "params": { - "plotly_name": "tickvalssrc", - "parent_name": "funnel.marker.colorbar", + "plotly_name": "bordercolor", + "parent_name": "heatmap.hoverlabel", + "array_ok": true, "edit_type": "none" }, - "superclass": "SrcValidator" - }, - "funnel.marker.colorbar.tickvals": { - "params": { - "plotly_name": "tickvals", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars" - }, - "superclass": "DataArrayValidator" + "superclass": "ColorValidator" }, - "funnel.marker.colorbar.ticktextsrc": { + "heatmap.hoverlabel.bgcolor": { "params": { - "plotly_name": "ticktextsrc", - "parent_name": "funnel.marker.colorbar", + "plotly_name": "bgcolor", + "parent_name": "heatmap.hoverlabel", + "array_ok": true, "edit_type": "none" }, - "superclass": "SrcValidator" - }, - "funnel.marker.colorbar.ticktext": { - "params": { - "plotly_name": "ticktext", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars" - }, - "superclass": "DataArrayValidator" - }, - "funnel.marker.colorbar.ticksuffix": { - "params": { - "plotly_name": "ticksuffix", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" + "superclass": "ColorValidator" }, - "funnel.marker.colorbar.ticks": { + "heatmap.hoverlabel.align": { "params": { - "plotly_name": "ticks", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars", + "plotly_name": "align", + "parent_name": "heatmap.hoverlabel", + "array_ok": true, + "edit_type": "none", "values": [ - "outside", - "inside", - "" + "left", + "right", + "auto" ] }, "superclass": "EnumeratedValidator" }, - "funnel.marker.colorbar.tickprefix": { - "params": { - "plotly_name": "tickprefix", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "funnel.marker.colorbar.tickmode": { + "heatmap.hoverinfo": { "params": { - "plotly_name": "tickmode", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars", - "implied_edits": {}, - "values": [ - "auto", - "linear", - "array" + "plotly_name": "hoverinfo", + "parent_name": "heatmap", + "array_ok": true, + "edit_type": "none", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" ] }, - "superclass": "EnumeratedValidator" + "superclass": "FlaglistValidator" }, - "funnel.marker.colorbar.ticklen": { + "heatmap.dy": { "params": { - "plotly_name": "ticklen", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "dy", + "parent_name": "heatmap", + "edit_type": "calc", + "implied_edits": { + "ytype": "scaled" + } }, "superclass": "NumberValidator" }, - "funnel.marker.colorbar.ticklabelstep": { + "heatmap.dx": { "params": { - "plotly_name": "ticklabelstep", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars", - "min": 1 + "plotly_name": "dx", + "parent_name": "heatmap", + "edit_type": "calc", + "implied_edits": { + "xtype": "scaled" + } }, - "superclass": "IntegerValidator" + "superclass": "NumberValidator" }, - "funnel.marker.colorbar.ticklabelposition": { + "heatmap.customdata": { "params": { - "plotly_name": "ticklabelposition", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" - ] + "plotly_name": "customdata", + "parent_name": "heatmap", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "DataArrayValidator" }, - "funnel.marker.colorbar.ticklabeloverflow": { + "heatmap.connectgaps": { "params": { - "plotly_name": "ticklabeloverflow", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "allow", - "hide past div", - "hide past domain" - ] + "plotly_name": "connectgaps", + "parent_name": "heatmap", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "BooleanValidator" }, - "funnel.marker.colorbar.tickformatstopdefaults": { + "heatmap.colorscale": { "params": { - "plotly_name": "tickformatstopdefaults", - "parent_name": "funnel.marker.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" + "plotly_name": "colorscale", + "parent_name": "heatmap", + "edit_type": "calc", + "implied_edits": { + "autocolorscale": false + } }, - "superclass": "CompoundValidator" + "superclass": "ColorscaleValidator" }, - "funnel.marker.colorbar.tickformatstops": { + "heatmap.colorbar": { "params": { - "plotly_name": "tickformatstops", - "parent_name": "funnel.marker.colorbar", - "data_class_str": "Tickformatstop", + "plotly_name": "colorbar", + "parent_name": "heatmap", + "data_class_str": "ColorBar", "data_docs": "\n" }, - "superclass": "CompoundArrayValidator" - }, - "funnel.marker.colorbar.tickformatstop.value": { - "params": { - "plotly_name": "value", - "parent_name": "funnel.marker.colorbar.tickformatstop", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "funnel.marker.colorbar.tickformatstop.templateitemname": { - "params": { - "plotly_name": "templateitemname", - "parent_name": "funnel.marker.colorbar.tickformatstop", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "funnel.marker.colorbar.tickformatstop.name": { - "params": { - "plotly_name": "name", - "parent_name": "funnel.marker.colorbar.tickformatstop", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "funnel.marker.colorbar.tickformatstop.enabled": { - "params": { - "plotly_name": "enabled", - "parent_name": "funnel.marker.colorbar.tickformatstop", - "edit_type": "colorbars" - }, - "superclass": "BooleanValidator" + "superclass": "CompoundValidator" }, - "funnel.marker.colorbar.tickformatstop.dtickrange": { + "heatmap.colorbar.yref": { "params": { - "plotly_name": "dtickrange", - "parent_name": "funnel.marker.colorbar.tickformatstop", + "plotly_name": "yref", + "parent_name": "heatmap.colorbar", "edit_type": "colorbars", - "items": [ - { - "editType": "colorbars", - "valType": "any" - }, - { - "editType": "colorbars", - "valType": "any" - } + "values": [ + "container", + "paper" ] }, - "superclass": "InfoArrayValidator" - }, - "funnel.marker.colorbar.tickformat": { - "params": { - "plotly_name": "tickformat", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "funnel.marker.colorbar.tickfont": { - "params": { - "plotly_name": "tickfont", - "parent_name": "funnel.marker.colorbar", - "data_class_str": "Tickfont", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" + "superclass": "EnumeratedValidator" }, - "funnel.marker.colorbar.tickfont.weight": { + "heatmap.colorbar.ypad": { "params": { - "plotly_name": "weight", - "parent_name": "funnel.marker.colorbar.tickfont", + "plotly_name": "ypad", + "parent_name": "heatmap.colorbar", "edit_type": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 + "min": 0 }, - "superclass": "IntegerValidator" + "superclass": "NumberValidator" }, - "funnel.marker.colorbar.tickfont.variant": { + "heatmap.colorbar.yanchor": { "params": { - "plotly_name": "variant", - "parent_name": "funnel.marker.colorbar.tickfont", + "plotly_name": "yanchor", + "parent_name": "heatmap.colorbar", "edit_type": "colorbars", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "top", + "middle", + "bottom" ] }, "superclass": "EnumeratedValidator" }, - "funnel.marker.colorbar.tickfont.textcase": { + "heatmap.colorbar.y": { "params": { - "plotly_name": "textcase", - "parent_name": "funnel.marker.colorbar.tickfont", - "edit_type": "colorbars", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] + "plotly_name": "y", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars" }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "funnel.marker.colorbar.tickfont.style": { + "heatmap.colorbar.xref": { "params": { - "plotly_name": "style", - "parent_name": "funnel.marker.colorbar.tickfont", + "plotly_name": "xref", + "parent_name": "heatmap.colorbar", "edit_type": "colorbars", "values": [ - "normal", - "italic" + "container", + "paper" ] }, "superclass": "EnumeratedValidator" }, - "funnel.marker.colorbar.tickfont.size": { + "heatmap.colorbar.xpad": { "params": { - "plotly_name": "size", - "parent_name": "funnel.marker.colorbar.tickfont", + "plotly_name": "xpad", + "parent_name": "heatmap.colorbar", "edit_type": "colorbars", - "min": 1 + "min": 0 }, "superclass": "NumberValidator" }, - "funnel.marker.colorbar.tickfont.shadow": { - "params": { - "plotly_name": "shadow", - "parent_name": "funnel.marker.colorbar.tickfont", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "funnel.marker.colorbar.tickfont.lineposition": { + "heatmap.colorbar.xanchor": { "params": { - "plotly_name": "lineposition", - "parent_name": "funnel.marker.colorbar.tickfont", + "plotly_name": "xanchor", + "parent_name": "heatmap.colorbar", "edit_type": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" + "values": [ + "left", + "center", + "right" ] }, - "superclass": "FlaglistValidator" - }, - "funnel.marker.colorbar.tickfont.family": { - "params": { - "plotly_name": "family", - "parent_name": "funnel.marker.colorbar.tickfont", - "edit_type": "colorbars", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "funnel.marker.colorbar.tickfont.color": { + "heatmap.colorbar.x": { "params": { - "plotly_name": "color", - "parent_name": "funnel.marker.colorbar.tickfont", + "plotly_name": "x", + "parent_name": "heatmap.colorbar", "edit_type": "colorbars" }, - "superclass": "ColorValidator" + "superclass": "NumberValidator" }, - "funnel.marker.colorbar.tickcolor": { + "heatmap.colorbar.title": { "params": { - "plotly_name": "tickcolor", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "title", + "parent_name": "heatmap.colorbar", + "data_class_str": "Title", + "data_docs": "\n" }, - "superclass": "ColorValidator" + "superclass": "TitleValidator" }, - "funnel.marker.colorbar.tickangle": { + "heatmap.colorbar.title.text": { "params": { - "plotly_name": "tickangle", - "parent_name": "funnel.marker.colorbar", + "plotly_name": "text", + "parent_name": "heatmap.colorbar.title", "edit_type": "colorbars" }, - "superclass": "AngleValidator" - }, - "funnel.marker.colorbar.tick0": { - "params": { - "plotly_name": "tick0", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars", - "implied_edits": { - "tickmode": "linear" - } - }, - "superclass": "AnyValidator" + "superclass": "StringValidator" }, - "funnel.marker.colorbar.thicknessmode": { + "heatmap.colorbar.title.side": { "params": { - "plotly_name": "thicknessmode", - "parent_name": "funnel.marker.colorbar", + "plotly_name": "side", + "parent_name": "heatmap.colorbar.title", "edit_type": "colorbars", "values": [ - "fraction", - "pixels" + "right", + "top", + "bottom" ] }, "superclass": "EnumeratedValidator" }, - "funnel.marker.colorbar.thickness": { + "heatmap.colorbar.title.font": { "params": { - "plotly_name": "thickness", - "parent_name": "funnel.marker.colorbar", + "plotly_name": "font", + "parent_name": "heatmap.colorbar.title", + "data_class_str": "Font", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "heatmap.colorbar.title.font.weight": { + "params": { + "plotly_name": "weight", + "parent_name": "heatmap.colorbar.title.font", "edit_type": "colorbars", - "min": 0 + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "NumberValidator" + "superclass": "IntegerValidator" }, - "funnel.marker.colorbar.showticksuffix": { + "heatmap.colorbar.title.font.variant": { "params": { - "plotly_name": "showticksuffix", - "parent_name": "funnel.marker.colorbar", + "plotly_name": "variant", + "parent_name": "heatmap.colorbar.title.font", "edit_type": "colorbars", "values": [ - "all", - "first", - "last", - "none" + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] }, "superclass": "EnumeratedValidator" }, - "funnel.marker.colorbar.showtickprefix": { + "heatmap.colorbar.title.font.textcase": { "params": { - "plotly_name": "showtickprefix", - "parent_name": "funnel.marker.colorbar", + "plotly_name": "textcase", + "parent_name": "heatmap.colorbar.title.font", "edit_type": "colorbars", "values": [ - "all", - "first", - "last", - "none" + "normal", + "word caps", + "upper", + "lower" ] }, "superclass": "EnumeratedValidator" }, - "funnel.marker.colorbar.showticklabels": { - "params": { - "plotly_name": "showticklabels", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars" - }, - "superclass": "BooleanValidator" - }, - "funnel.marker.colorbar.showexponent": { + "heatmap.colorbar.title.font.style": { "params": { - "plotly_name": "showexponent", - "parent_name": "funnel.marker.colorbar", + "plotly_name": "style", + "parent_name": "heatmap.colorbar.title.font", "edit_type": "colorbars", "values": [ - "all", - "first", - "last", - "none" + "normal", + "italic" ] }, "superclass": "EnumeratedValidator" }, - "funnel.marker.colorbar.separatethousands": { - "params": { - "plotly_name": "separatethousands", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars" - }, - "superclass": "BooleanValidator" - }, - "funnel.marker.colorbar.outlinewidth": { + "heatmap.colorbar.title.font.size": { "params": { - "plotly_name": "outlinewidth", - "parent_name": "funnel.marker.colorbar", + "plotly_name": "size", + "parent_name": "heatmap.colorbar.title.font", "edit_type": "colorbars", - "min": 0 + "min": 1 }, "superclass": "NumberValidator" }, - "funnel.marker.colorbar.outlinecolor": { + "heatmap.colorbar.title.font.shadow": { "params": { - "plotly_name": "outlinecolor", - "parent_name": "funnel.marker.colorbar", + "plotly_name": "shadow", + "parent_name": "heatmap.colorbar.title.font", "edit_type": "colorbars" }, - "superclass": "ColorValidator" + "superclass": "StringValidator" }, - "funnel.marker.colorbar.orientation": { + "heatmap.colorbar.title.font.lineposition": { "params": { - "plotly_name": "orientation", - "parent_name": "funnel.marker.colorbar", + "plotly_name": "lineposition", + "parent_name": "heatmap.colorbar.title.font", "edit_type": "colorbars", - "values": [ - "h", - "v" + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" ] }, - "superclass": "EnumeratedValidator" + "superclass": "FlaglistValidator" }, - "funnel.marker.colorbar.nticks": { + "heatmap.colorbar.title.font.family": { "params": { - "plotly_name": "nticks", - "parent_name": "funnel.marker.colorbar", + "plotly_name": "family", + "parent_name": "heatmap.colorbar.title.font", "edit_type": "colorbars", - "min": 0 + "no_blank": true, + "strict": true }, - "superclass": "IntegerValidator" + "superclass": "StringValidator" }, - "funnel.marker.colorbar.minexponent": { + "heatmap.colorbar.title.font.color": { "params": { - "plotly_name": "minexponent", - "parent_name": "funnel.marker.colorbar", + "plotly_name": "color", + "parent_name": "heatmap.colorbar.title.font", + "edit_type": "colorbars" + }, + "superclass": "ColorValidator" + }, + "heatmap.colorbar.tickwidth": { + "params": { + "plotly_name": "tickwidth", + "parent_name": "heatmap.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "funnel.marker.colorbar.lenmode": { + "heatmap.colorbar.tickvals": { "params": { - "plotly_name": "lenmode", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars", - "values": [ - "fraction", - "pixels" - ] + "plotly_name": "tickvals", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars" }, - "superclass": "EnumeratedValidator" + "superclass": "DataArrayValidator" }, - "funnel.marker.colorbar.len": { + "heatmap.colorbar.ticktext": { "params": { - "plotly_name": "len", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "ticktext", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "funnel.marker.colorbar.labelalias": { + "heatmap.colorbar.ticksuffix": { "params": { - "plotly_name": "labelalias", - "parent_name": "funnel.marker.colorbar", + "plotly_name": "ticksuffix", + "parent_name": "heatmap.colorbar", "edit_type": "colorbars" }, - "superclass": "AnyValidator" + "superclass": "StringValidator" }, - "funnel.marker.colorbar.exponentformat": { + "heatmap.colorbar.ticks": { "params": { - "plotly_name": "exponentformat", - "parent_name": "funnel.marker.colorbar", + "plotly_name": "ticks", + "parent_name": "heatmap.colorbar", "edit_type": "colorbars", "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" + "outside", + "inside", + "" ] }, "superclass": "EnumeratedValidator" }, - "funnel.marker.colorbar.dtick": { + "heatmap.colorbar.tickprefix": { "params": { - "plotly_name": "dtick", - "parent_name": "funnel.marker.colorbar", + "plotly_name": "tickprefix", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars" + }, + "superclass": "StringValidator" + }, + "heatmap.colorbar.tickmode": { + "params": { + "plotly_name": "tickmode", + "parent_name": "heatmap.colorbar", "edit_type": "colorbars", - "implied_edits": { - "tickmode": "linear" - } + "implied_edits": {}, + "values": [ + "auto", + "linear", + "array" + ] }, - "superclass": "AnyValidator" + "superclass": "EnumeratedValidator" }, - "funnel.marker.colorbar.borderwidth": { + "heatmap.colorbar.ticklen": { "params": { - "plotly_name": "borderwidth", - "parent_name": "funnel.marker.colorbar", + "plotly_name": "ticklen", + "parent_name": "heatmap.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "funnel.marker.colorbar.bordercolor": { + "heatmap.colorbar.ticklabelstep": { "params": { - "plotly_name": "bordercolor", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "ticklabelstep", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars", + "min": 1 }, - "superclass": "ColorValidator" + "superclass": "IntegerValidator" }, - "funnel.marker.colorbar.bgcolor": { + "heatmap.colorbar.ticklabelposition": { "params": { - "plotly_name": "bgcolor", - "parent_name": "funnel.marker.colorbar", - "edit_type": "colorbars" + "plotly_name": "ticklabelposition", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars", + "values": [ + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom" + ] }, - "superclass": "ColorValidator" + "superclass": "EnumeratedValidator" }, - "funnel.marker.coloraxis": { + "heatmap.colorbar.ticklabeloverflow": { "params": { - "plotly_name": "coloraxis", - "parent_name": "funnel.marker", - "dflt": null, - "edit_type": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" + "plotly_name": "ticklabeloverflow", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars", + "values": [ + "allow", + "hide past div", + "hide past domain" + ] }, - "superclass": "SubplotidValidator" + "superclass": "EnumeratedValidator" }, - "funnel.marker.color": { + "heatmap.colorbar.tickformatstopdefaults": { "params": { - "plotly_name": "color", - "parent_name": "funnel.marker", - "array_ok": true, - "edit_type": "style", - "colorscale_path": "funnel.marker.colorscale" + "plotly_name": "tickformatstopdefaults", + "parent_name": "heatmap.colorbar", + "data_class_str": "Tickformatstop", + "data_docs": "\n" }, - "superclass": "ColorValidator" + "superclass": "CompoundValidator" }, - "funnel.marker.cmin": { + "heatmap.colorbar.tickformatstops": { "params": { - "plotly_name": "cmin", - "parent_name": "funnel.marker", - "edit_type": "plot", - "implied_edits": { - "cauto": false - } + "plotly_name": "tickformatstops", + "parent_name": "heatmap.colorbar", + "data_class_str": "Tickformatstop", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundArrayValidator" }, - "funnel.marker.cmid": { + "heatmap.colorbar.tickformatstop.value": { "params": { - "plotly_name": "cmid", - "parent_name": "funnel.marker", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "value", + "parent_name": "heatmap.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "funnel.marker.cmax": { + "heatmap.colorbar.tickformatstop.templateitemname": { "params": { - "plotly_name": "cmax", - "parent_name": "funnel.marker", - "edit_type": "plot", - "implied_edits": { - "cauto": false - } + "plotly_name": "templateitemname", + "parent_name": "heatmap.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "funnel.marker.cauto": { + "heatmap.colorbar.tickformatstop.name": { "params": { - "plotly_name": "cauto", - "parent_name": "funnel.marker", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "name", + "parent_name": "heatmap.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "funnel.marker.autocolorscale": { + "heatmap.colorbar.tickformatstop.enabled": { "params": { - "plotly_name": "autocolorscale", - "parent_name": "funnel.marker", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "enabled", + "parent_name": "heatmap.colorbar.tickformatstop", + "edit_type": "colorbars" }, "superclass": "BooleanValidator" }, - "funnel.legendwidth": { - "params": { - "plotly_name": "legendwidth", - "parent_name": "funnel", - "edit_type": "style", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "funnel.legendrank": { - "params": { - "plotly_name": "legendrank", - "parent_name": "funnel", - "edit_type": "style" - }, - "superclass": "NumberValidator" - }, - "funnel.legendgrouptitle": { + "heatmap.colorbar.tickformatstop.dtickrange": { "params": { - "plotly_name": "legendgrouptitle", - "parent_name": "funnel", - "data_class_str": "Legendgrouptitle", - "data_docs": "\n" + "plotly_name": "dtickrange", + "parent_name": "heatmap.colorbar.tickformatstop", + "edit_type": "colorbars", + "items": [ + { + "editType": "colorbars", + "valType": "any" + }, + { + "editType": "colorbars", + "valType": "any" + } + ] }, - "superclass": "CompoundValidator" + "superclass": "InfoArrayValidator" }, - "funnel.legendgrouptitle.text": { + "heatmap.colorbar.tickformat": { "params": { - "plotly_name": "text", - "parent_name": "funnel.legendgrouptitle", - "edit_type": "style" + "plotly_name": "tickformat", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "funnel.legendgrouptitle.font": { + "heatmap.colorbar.tickfont": { "params": { - "plotly_name": "font", - "parent_name": "funnel.legendgrouptitle", - "data_class_str": "Font", + "plotly_name": "tickfont", + "parent_name": "heatmap.colorbar", + "data_class_str": "Tickfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "funnel.legendgrouptitle.font.weight": { + "heatmap.colorbar.tickfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "funnel.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "heatmap.colorbar.tickfont", + "edit_type": "colorbars", "extras": [ "normal", "bold" @@ -104971,11 +88658,11 @@ }, "superclass": "IntegerValidator" }, - "funnel.legendgrouptitle.font.variant": { + "heatmap.colorbar.tickfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "funnel.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "heatmap.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "small-caps", @@ -104987,11 +88674,11 @@ }, "superclass": "EnumeratedValidator" }, - "funnel.legendgrouptitle.font.textcase": { + "heatmap.colorbar.tickfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "funnel.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "heatmap.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "word caps", @@ -105001,11 +88688,11 @@ }, "superclass": "EnumeratedValidator" }, - "funnel.legendgrouptitle.font.style": { + "heatmap.colorbar.tickfont.style": { "params": { "plotly_name": "style", - "parent_name": "funnel.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "heatmap.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "italic" @@ -105013,28 +88700,28 @@ }, "superclass": "EnumeratedValidator" }, - "funnel.legendgrouptitle.font.size": { + "heatmap.colorbar.tickfont.size": { "params": { "plotly_name": "size", - "parent_name": "funnel.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "heatmap.colorbar.tickfont", + "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "funnel.legendgrouptitle.font.shadow": { + "heatmap.colorbar.tickfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "funnel.legendgrouptitle.font", - "edit_type": "style" + "parent_name": "heatmap.colorbar.tickfont", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "funnel.legendgrouptitle.font.lineposition": { + "heatmap.colorbar.tickfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "funnel.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "heatmap.colorbar.tickfont", + "edit_type": "colorbars", "extras": [ "none" ], @@ -105046,367 +88733,369 @@ }, "superclass": "FlaglistValidator" }, - "funnel.legendgrouptitle.font.family": { + "heatmap.colorbar.tickfont.family": { "params": { "plotly_name": "family", - "parent_name": "funnel.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "heatmap.colorbar.tickfont", + "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "funnel.legendgrouptitle.font.color": { + "heatmap.colorbar.tickfont.color": { "params": { "plotly_name": "color", - "parent_name": "funnel.legendgrouptitle.font", - "edit_type": "style" + "parent_name": "heatmap.colorbar.tickfont", + "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "funnel.legendgroup": { + "heatmap.colorbar.tickcolor": { "params": { - "plotly_name": "legendgroup", - "parent_name": "funnel", - "edit_type": "style" + "plotly_name": "tickcolor", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars" }, - "superclass": "StringValidator" + "superclass": "ColorValidator" }, - "funnel.legend": { + "heatmap.colorbar.tickangle": { "params": { - "plotly_name": "legend", - "parent_name": "funnel", - "dflt": "legend", - "edit_type": "style" + "plotly_name": "tickangle", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars" }, - "superclass": "SubplotidValidator" + "superclass": "AngleValidator" }, - "funnel.insidetextfont": { + "heatmap.colorbar.tick0": { "params": { - "plotly_name": "insidetextfont", - "parent_name": "funnel", - "data_class_str": "Insidetextfont", - "data_docs": "\n" + "plotly_name": "tick0", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars", + "implied_edits": { + "tickmode": "linear" + } }, - "superclass": "CompoundValidator" + "superclass": "AnyValidator" }, - "funnel.insidetextfont.weightsrc": { + "heatmap.colorbar.thicknessmode": { "params": { - "plotly_name": "weightsrc", - "parent_name": "funnel.insidetextfont", - "edit_type": "none" + "plotly_name": "thicknessmode", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars", + "values": [ + "fraction", + "pixels" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "funnel.insidetextfont.weight": { + "heatmap.colorbar.thickness": { "params": { - "plotly_name": "weight", - "parent_name": "funnel.insidetextfont", - "array_ok": true, - "edit_type": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 + "plotly_name": "thickness", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "heatmap.colorbar.showticksuffix": { + "params": { + "plotly_name": "showticksuffix", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "superclass": "EnumeratedValidator" + }, + "heatmap.colorbar.showtickprefix": { + "params": { + "plotly_name": "showtickprefix", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "superclass": "IntegerValidator" + "superclass": "EnumeratedValidator" }, - "funnel.insidetextfont.variantsrc": { + "heatmap.colorbar.showticklabels": { "params": { - "plotly_name": "variantsrc", - "parent_name": "funnel.insidetextfont", - "edit_type": "none" + "plotly_name": "showticklabels", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "funnel.insidetextfont.variant": { + "heatmap.colorbar.showexponent": { "params": { - "plotly_name": "variant", - "parent_name": "funnel.insidetextfont", - "array_ok": true, - "edit_type": "calc", + "plotly_name": "showexponent", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "all", + "first", + "last", + "none" ] }, "superclass": "EnumeratedValidator" }, - "funnel.insidetextfont.textcasesrc": { + "heatmap.colorbar.separatethousands": { "params": { - "plotly_name": "textcasesrc", - "parent_name": "funnel.insidetextfont", - "edit_type": "none" + "plotly_name": "separatethousands", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "funnel.insidetextfont.textcase": { + "heatmap.colorbar.outlinewidth": { "params": { - "plotly_name": "textcase", - "parent_name": "funnel.insidetextfont", - "array_ok": true, - "edit_type": "calc", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] + "plotly_name": "outlinewidth", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "funnel.insidetextfont.stylesrc": { + "heatmap.colorbar.outlinecolor": { "params": { - "plotly_name": "stylesrc", - "parent_name": "funnel.insidetextfont", - "edit_type": "none" + "plotly_name": "outlinecolor", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "funnel.insidetextfont.style": { + "heatmap.colorbar.orientation": { "params": { - "plotly_name": "style", - "parent_name": "funnel.insidetextfont", - "array_ok": true, - "edit_type": "calc", + "plotly_name": "orientation", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars", "values": [ - "normal", - "italic" + "h", + "v" ] }, "superclass": "EnumeratedValidator" }, - "funnel.insidetextfont.sizesrc": { + "heatmap.colorbar.nticks": { "params": { - "plotly_name": "sizesrc", - "parent_name": "funnel.insidetextfont", - "edit_type": "none" + "plotly_name": "nticks", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "IntegerValidator" }, - "funnel.insidetextfont.size": { + "heatmap.colorbar.minexponent": { "params": { - "plotly_name": "size", - "parent_name": "funnel.insidetextfont", - "array_ok": true, - "edit_type": "calc", - "min": 1 + "plotly_name": "minexponent", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars", + "min": 0 }, "superclass": "NumberValidator" }, - "funnel.insidetextfont.shadowsrc": { + "heatmap.colorbar.lenmode": { "params": { - "plotly_name": "shadowsrc", - "parent_name": "funnel.insidetextfont", - "edit_type": "none" + "plotly_name": "lenmode", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars", + "values": [ + "fraction", + "pixels" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "funnel.insidetextfont.shadow": { + "heatmap.colorbar.len": { "params": { - "plotly_name": "shadow", - "parent_name": "funnel.insidetextfont", - "array_ok": true, - "edit_type": "calc" + "plotly_name": "len", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "funnel.insidetextfont.linepositionsrc": { + "heatmap.colorbar.labelalias": { "params": { - "plotly_name": "linepositionsrc", - "parent_name": "funnel.insidetextfont", - "edit_type": "none" + "plotly_name": "labelalias", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "funnel.insidetextfont.lineposition": { + "heatmap.colorbar.exponentformat": { "params": { - "plotly_name": "lineposition", - "parent_name": "funnel.insidetextfont", - "array_ok": true, - "edit_type": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" + "plotly_name": "exponentformat", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B", + "SI extended" ] }, - "superclass": "FlaglistValidator" - }, - "funnel.insidetextfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "funnel.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "funnel.insidetextfont.family": { + "heatmap.colorbar.dtick": { "params": { - "plotly_name": "family", - "parent_name": "funnel.insidetextfont", - "array_ok": true, - "edit_type": "calc", - "no_blank": true, - "strict": true + "plotly_name": "dtick", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars", + "implied_edits": { + "tickmode": "linear" + } }, - "superclass": "StringValidator" + "superclass": "AnyValidator" }, - "funnel.insidetextfont.colorsrc": { + "heatmap.colorbar.borderwidth": { "params": { - "plotly_name": "colorsrc", - "parent_name": "funnel.insidetextfont", - "edit_type": "none" + "plotly_name": "borderwidth", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "funnel.insidetextfont.color": { + "heatmap.colorbar.bordercolor": { "params": { - "plotly_name": "color", - "parent_name": "funnel.insidetextfont", - "array_ok": true, - "edit_type": "style" + "plotly_name": "bordercolor", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "funnel.insidetextanchor": { + "heatmap.colorbar.bgcolor": { "params": { - "plotly_name": "insidetextanchor", - "parent_name": "funnel", - "edit_type": "plot", - "values": [ - "end", - "middle", - "start" - ] + "plotly_name": "bgcolor", + "parent_name": "heatmap.colorbar", + "edit_type": "colorbars" }, - "superclass": "EnumeratedValidator" + "superclass": "ColorValidator" }, - "funnel.idssrc": { + "heatmap.coloraxis": { "params": { - "plotly_name": "idssrc", - "parent_name": "funnel", - "edit_type": "none" + "plotly_name": "coloraxis", + "parent_name": "heatmap", + "dflt": null, + "edit_type": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" }, - "superclass": "SrcValidator" + "superclass": "SubplotidValidator" }, - "funnel.ids": { + "heatmap.autocolorscale": { "params": { - "plotly_name": "ids", - "parent_name": "funnel", - "edit_type": "calc" + "plotly_name": "autocolorscale", + "parent_name": "heatmap", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "DataArrayValidator" + "superclass": "BooleanValidator" }, - "funnel.hovertextsrc": { + "funnelarea": { "params": { - "plotly_name": "hovertextsrc", - "parent_name": "funnel", - "edit_type": "none" + "plotly_name": "funnelarea", + "parent_name": "", + "data_class_str": "Funnelarea", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundValidator" }, - "funnel.hovertext": { + "funnelarea.visible": { "params": { - "plotly_name": "hovertext", - "parent_name": "funnel", - "array_ok": true, - "edit_type": "style" + "plotly_name": "visible", + "parent_name": "funnelarea", + "edit_type": "calc", + "values": [ + true, + false, + "legendonly" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "funnel.hovertemplatesrc": { + "funnelarea.values": { "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "funnel", - "edit_type": "none" + "plotly_name": "values", + "parent_name": "funnelarea", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "DataArrayValidator" }, - "funnel.hovertemplatefallback": { + "funnelarea.uirevision": { "params": { - "plotly_name": "hovertemplatefallback", - "parent_name": "funnel", + "plotly_name": "uirevision", + "parent_name": "funnelarea", "edit_type": "none" }, "superclass": "AnyValidator" }, - "funnel.hovertemplate": { + "funnelarea.uid": { "params": { - "plotly_name": "hovertemplate", - "parent_name": "funnel", - "array_ok": true, - "edit_type": "none" + "plotly_name": "uid", + "parent_name": "funnelarea", + "edit_type": "plot" }, "superclass": "StringValidator" }, - "funnel.hoverlabel": { + "funnelarea.title": { "params": { - "plotly_name": "hoverlabel", - "parent_name": "funnel", - "data_class_str": "Hoverlabel", + "plotly_name": "title", + "parent_name": "funnelarea", + "data_class_str": "Title", "data_docs": "\n" }, - "superclass": "CompoundValidator" - }, - "funnel.hoverlabel.showarrow": { - "params": { - "plotly_name": "showarrow", - "parent_name": "funnel.hoverlabel", - "edit_type": "none" - }, - "superclass": "BooleanValidator" + "superclass": "TitleValidator" }, - "funnel.hoverlabel.namelengthsrc": { + "funnelarea.title.text": { "params": { - "plotly_name": "namelengthsrc", - "parent_name": "funnel.hoverlabel", - "edit_type": "none" + "plotly_name": "text", + "parent_name": "funnelarea.title", + "edit_type": "plot" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "funnel.hoverlabel.namelength": { + "funnelarea.title.position": { "params": { - "plotly_name": "namelength", - "parent_name": "funnel.hoverlabel", - "array_ok": true, - "edit_type": "none", - "min": -1 + "plotly_name": "position", + "parent_name": "funnelarea.title", + "edit_type": "plot", + "values": [ + "top left", + "top center", + "top right" + ] }, - "superclass": "IntegerValidator" + "superclass": "EnumeratedValidator" }, - "funnel.hoverlabel.font": { + "funnelarea.title.font": { "params": { "plotly_name": "font", - "parent_name": "funnel.hoverlabel", + "parent_name": "funnelarea.title", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "funnel.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "funnel.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnel.hoverlabel.font.weight": { + "funnelarea.title.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "funnel.hoverlabel.font", + "parent_name": "funnelarea.title.font", "array_ok": true, - "edit_type": "none", + "edit_type": "plot", "extras": [ "normal", "bold" @@ -105416,20 +89105,12 @@ }, "superclass": "IntegerValidator" }, - "funnel.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "funnel.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnel.hoverlabel.font.variant": { + "funnelarea.title.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "funnel.hoverlabel.font", + "parent_name": "funnelarea.title.font", "array_ok": true, - "edit_type": "none", + "edit_type": "plot", "values": [ "normal", "small-caps", @@ -105441,20 +89122,12 @@ }, "superclass": "EnumeratedValidator" }, - "funnel.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "funnel.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnel.hoverlabel.font.textcase": { + "funnelarea.title.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "funnel.hoverlabel.font", + "parent_name": "funnelarea.title.font", "array_ok": true, - "edit_type": "none", + "edit_type": "plot", "values": [ "normal", "word caps", @@ -105464,20 +89137,12 @@ }, "superclass": "EnumeratedValidator" }, - "funnel.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "funnel.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnel.hoverlabel.font.style": { + "funnelarea.title.font.style": { "params": { "plotly_name": "style", - "parent_name": "funnel.hoverlabel.font", + "parent_name": "funnelarea.title.font", "array_ok": true, - "edit_type": "none", + "edit_type": "plot", "values": [ "normal", "italic" @@ -105485,55 +89150,31 @@ }, "superclass": "EnumeratedValidator" }, - "funnel.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "funnel.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnel.hoverlabel.font.size": { + "funnelarea.title.font.size": { "params": { "plotly_name": "size", - "parent_name": "funnel.hoverlabel.font", + "parent_name": "funnelarea.title.font", "array_ok": true, - "edit_type": "none", + "edit_type": "plot", "min": 1 }, "superclass": "NumberValidator" }, - "funnel.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "funnel.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnel.hoverlabel.font.shadow": { + "funnelarea.title.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "funnel.hoverlabel.font", + "parent_name": "funnelarea.title.font", "array_ok": true, - "edit_type": "none" + "edit_type": "plot" }, "superclass": "StringValidator" }, - "funnel.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "funnel.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnel.hoverlabel.font.lineposition": { + "funnelarea.title.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "funnel.hoverlabel.font", + "parent_name": "funnelarea.title.font", "array_ok": true, - "edit_type": "none", + "edit_type": "plot", "extras": [ "none" ], @@ -105545,548 +89186,590 @@ }, "superclass": "FlaglistValidator" }, - "funnel.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "funnel.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnel.hoverlabel.font.family": { + "funnelarea.title.font.family": { "params": { "plotly_name": "family", - "parent_name": "funnel.hoverlabel.font", + "parent_name": "funnelarea.title.font", "array_ok": true, - "edit_type": "none", + "edit_type": "plot", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "funnel.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "funnel.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnel.hoverlabel.font.color": { + "funnelarea.title.font.color": { "params": { "plotly_name": "color", - "parent_name": "funnel.hoverlabel.font", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "ColorValidator" - }, - "funnel.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "funnel.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnel.hoverlabel.bordercolor": { - "params": { - "plotly_name": "bordercolor", - "parent_name": "funnel.hoverlabel", + "parent_name": "funnelarea.title.font", "array_ok": true, - "edit_type": "none" + "edit_type": "plot" }, "superclass": "ColorValidator" }, - "funnel.hoverlabel.bgcolorsrc": { + "funnelarea.texttemplatefallback": { "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "funnel.hoverlabel", - "edit_type": "none" + "plotly_name": "texttemplatefallback", + "parent_name": "funnelarea", + "edit_type": "plot" }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "funnel.hoverlabel.bgcolor": { + "funnelarea.texttemplate": { "params": { - "plotly_name": "bgcolor", - "parent_name": "funnel.hoverlabel", + "plotly_name": "texttemplate", + "parent_name": "funnelarea", "array_ok": true, - "edit_type": "none" - }, - "superclass": "ColorValidator" - }, - "funnel.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "funnel.hoverlabel", - "edit_type": "none" + "edit_type": "plot" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "funnel.hoverlabel.align": { + "funnelarea.textposition": { "params": { - "plotly_name": "align", - "parent_name": "funnel.hoverlabel", + "plotly_name": "textposition", + "parent_name": "funnelarea", "array_ok": true, - "edit_type": "none", + "edit_type": "plot", "values": [ - "left", - "right", - "auto" + "inside", + "none" ] }, "superclass": "EnumeratedValidator" }, - "funnel.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "funnel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "funnel.hoverinfo": { + "funnelarea.textinfo": { "params": { - "plotly_name": "hoverinfo", - "parent_name": "funnel", - "array_ok": true, - "edit_type": "none", + "plotly_name": "textinfo", + "parent_name": "funnelarea", + "edit_type": "calc", "extras": [ - "all", - "none", - "skip" + "none" ], "flags": [ - "name", - "x", - "y", + "label", "text", - "percent initial", - "percent previous", - "percent total" + "value", + "percent" ] }, "superclass": "FlaglistValidator" }, - "funnel.dy": { - "params": { - "plotly_name": "dy", - "parent_name": "funnel", - "edit_type": "calc" - }, - "superclass": "NumberValidator" - }, - "funnel.dx": { + "funnelarea.textfont": { "params": { - "plotly_name": "dx", - "parent_name": "funnel", - "edit_type": "calc" + "plotly_name": "textfont", + "parent_name": "funnelarea", + "data_class_str": "Textfont", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "funnel.customdatasrc": { + "funnelarea.textfont.weight": { "params": { - "plotly_name": "customdatasrc", - "parent_name": "funnel", - "edit_type": "none" + "plotly_name": "weight", + "parent_name": "funnelarea.textfont", + "array_ok": true, + "edit_type": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "SrcValidator" + "superclass": "IntegerValidator" }, - "funnel.customdata": { + "funnelarea.textfont.variant": { "params": { - "plotly_name": "customdata", - "parent_name": "funnel", - "edit_type": "calc" + "plotly_name": "variant", + "parent_name": "funnelarea.textfont", + "array_ok": true, + "edit_type": "plot", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] }, - "superclass": "DataArrayValidator" + "superclass": "EnumeratedValidator" }, - "funnel.constraintext": { + "funnelarea.textfont.textcase": { "params": { - "plotly_name": "constraintext", - "parent_name": "funnel", - "edit_type": "calc", + "plotly_name": "textcase", + "parent_name": "funnelarea.textfont", + "array_ok": true, + "edit_type": "plot", "values": [ - "inside", - "outside", - "both", - "none" + "normal", + "word caps", + "upper", + "lower" ] }, "superclass": "EnumeratedValidator" }, - "funnel.connector": { + "funnelarea.textfont.style": { "params": { - "plotly_name": "connector", - "parent_name": "funnel", - "data_class_str": "Connector", - "data_docs": "\n" + "plotly_name": "style", + "parent_name": "funnelarea.textfont", + "array_ok": true, + "edit_type": "plot", + "values": [ + "normal", + "italic" + ] }, - "superclass": "CompoundValidator" + "superclass": "EnumeratedValidator" }, - "funnel.connector.visible": { + "funnelarea.textfont.size": { "params": { - "plotly_name": "visible", - "parent_name": "funnel.connector", - "edit_type": "plot" + "plotly_name": "size", + "parent_name": "funnelarea.textfont", + "array_ok": true, + "edit_type": "plot", + "min": 1 }, - "superclass": "BooleanValidator" + "superclass": "NumberValidator" }, - "funnel.connector.line": { + "funnelarea.textfont.shadow": { "params": { - "plotly_name": "line", - "parent_name": "funnel.connector", - "data_class_str": "Line", - "data_docs": "\n" + "plotly_name": "shadow", + "parent_name": "funnelarea.textfont", + "array_ok": true, + "edit_type": "plot" }, - "superclass": "CompoundValidator" + "superclass": "StringValidator" }, - "funnel.connector.line.width": { + "funnelarea.textfont.lineposition": { "params": { - "plotly_name": "width", - "parent_name": "funnel.connector.line", + "plotly_name": "lineposition", + "parent_name": "funnelarea.textfont", + "array_ok": true, "edit_type": "plot", - "min": 0 + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] }, - "superclass": "NumberValidator" + "superclass": "FlaglistValidator" }, - "funnel.connector.line.dash": { + "funnelarea.textfont.family": { "params": { - "plotly_name": "dash", - "parent_name": "funnel.connector.line", - "edit_type": "style", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ] + "plotly_name": "family", + "parent_name": "funnelarea.textfont", + "array_ok": true, + "edit_type": "plot", + "no_blank": true, + "strict": true }, - "superclass": "DashValidator" + "superclass": "StringValidator" }, - "funnel.connector.line.color": { + "funnelarea.textfont.color": { "params": { "plotly_name": "color", - "parent_name": "funnel.connector.line", - "edit_type": "style" + "parent_name": "funnelarea.textfont", + "array_ok": true, + "edit_type": "plot" }, "superclass": "ColorValidator" }, - "funnel.connector.fillcolor": { + "funnelarea.text": { "params": { - "plotly_name": "fillcolor", - "parent_name": "funnel.connector", - "edit_type": "style" + "plotly_name": "text", + "parent_name": "funnelarea", + "edit_type": "plot" }, - "superclass": "ColorValidator" + "superclass": "DataArrayValidator" }, - "funnel.cliponaxis": { + "funnelarea.showlegend": { "params": { - "plotly_name": "cliponaxis", - "parent_name": "funnel", - "edit_type": "plot" + "plotly_name": "showlegend", + "parent_name": "funnelarea", + "edit_type": "style" }, "superclass": "BooleanValidator" }, - "funnel.alignmentgroup": { + "funnelarea.scalegroup": { "params": { - "plotly_name": "alignmentgroup", - "parent_name": "funnel", + "plotly_name": "scalegroup", + "parent_name": "funnelarea", "edit_type": "calc" }, "superclass": "StringValidator" }, - "densitymapbox": { + "funnelarea.opacity": { "params": { - "plotly_name": "densitymapbox", - "parent_name": "", - "data_class_str": "Densitymapbox", - "data_docs": "\n" + "plotly_name": "opacity", + "parent_name": "funnelarea", + "edit_type": "style", + "max": 1, + "min": 0 }, - "superclass": "CompoundValidator" + "superclass": "NumberValidator" }, - "densitymapbox.zsrc": { + "funnelarea.name": { "params": { - "plotly_name": "zsrc", - "parent_name": "densitymapbox", - "edit_type": "none" + "plotly_name": "name", + "parent_name": "funnelarea", + "edit_type": "style" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "densitymapbox.zmin": { + "funnelarea.meta": { "params": { - "plotly_name": "zmin", - "parent_name": "densitymapbox", - "edit_type": "calc", - "implied_edits": { - "zauto": false - } + "plotly_name": "meta", + "parent_name": "funnelarea", + "array_ok": true, + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "densitymapbox.zmid": { + "funnelarea.marker": { "params": { - "plotly_name": "zmid", - "parent_name": "densitymapbox", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "marker", + "parent_name": "funnelarea", + "data_class_str": "Marker", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "densitymapbox.zmax": { + "funnelarea.marker.pattern": { "params": { - "plotly_name": "zmax", - "parent_name": "densitymapbox", - "edit_type": "calc", - "implied_edits": { - "zauto": false - } + "plotly_name": "pattern", + "parent_name": "funnelarea.marker", + "data_class_str": "Pattern", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "densitymapbox.zauto": { + "funnelarea.marker.pattern.solidity": { "params": { - "plotly_name": "zauto", - "parent_name": "densitymapbox", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "solidity", + "parent_name": "funnelarea.marker.pattern", + "array_ok": true, + "edit_type": "style", + "max": 1, + "min": 0 }, - "superclass": "BooleanValidator" + "superclass": "NumberValidator" }, - "densitymapbox.z": { + "funnelarea.marker.pattern.size": { "params": { - "plotly_name": "z", - "parent_name": "densitymapbox", - "edit_type": "calc" + "plotly_name": "size", + "parent_name": "funnelarea.marker.pattern", + "array_ok": true, + "edit_type": "style", + "min": 0 }, - "superclass": "DataArrayValidator" + "superclass": "NumberValidator" }, - "densitymapbox.visible": { + "funnelarea.marker.pattern.shape": { "params": { - "plotly_name": "visible", - "parent_name": "densitymapbox", - "edit_type": "calc", + "plotly_name": "shape", + "parent_name": "funnelarea.marker.pattern", + "array_ok": true, + "edit_type": "style", "values": [ - true, - false, - "legendonly" + "", + "/", + "\\", + "x", + "-", + "|", + "+", + "." ] }, "superclass": "EnumeratedValidator" }, - "densitymapbox.uirevision": { + "funnelarea.marker.pattern.path": { "params": { - "plotly_name": "uirevision", - "parent_name": "densitymapbox", - "edit_type": "none" + "plotly_name": "path", + "parent_name": "funnelarea.marker.pattern", + "array_ok": true, + "edit_type": "style" }, - "superclass": "AnyValidator" + "superclass": "StringValidator" }, - "densitymapbox.uid": { + "funnelarea.marker.pattern.fillmode": { "params": { - "plotly_name": "uid", - "parent_name": "densitymapbox", - "edit_type": "plot" + "plotly_name": "fillmode", + "parent_name": "funnelarea.marker.pattern", + "edit_type": "style", + "values": [ + "replace", + "overlay" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "densitymapbox.textsrc": { + "funnelarea.marker.pattern.fgopacity": { "params": { - "plotly_name": "textsrc", - "parent_name": "densitymapbox", - "edit_type": "none" + "plotly_name": "fgopacity", + "parent_name": "funnelarea.marker.pattern", + "edit_type": "style", + "max": 1, + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "densitymapbox.text": { + "funnelarea.marker.pattern.fgcolor": { "params": { - "plotly_name": "text", - "parent_name": "densitymapbox", + "plotly_name": "fgcolor", + "parent_name": "funnelarea.marker.pattern", "array_ok": true, - "edit_type": "calc" + "edit_type": "style" }, - "superclass": "StringValidator" + "superclass": "ColorValidator" }, - "densitymapbox.subplot": { + "funnelarea.marker.pattern.bgcolor": { "params": { - "plotly_name": "subplot", - "parent_name": "densitymapbox", - "dflt": "mapbox", - "edit_type": "calc" + "plotly_name": "bgcolor", + "parent_name": "funnelarea.marker.pattern", + "array_ok": true, + "edit_type": "style" }, - "superclass": "SubplotidValidator" + "superclass": "ColorValidator" }, - "densitymapbox.stream": { + "funnelarea.marker.line": { "params": { - "plotly_name": "stream", - "parent_name": "densitymapbox", - "data_class_str": "Stream", + "plotly_name": "line", + "parent_name": "funnelarea.marker", + "data_class_str": "Line", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "densitymapbox.stream.token": { + "funnelarea.marker.line.width": { "params": { - "plotly_name": "token", - "parent_name": "densitymapbox.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true + "plotly_name": "width", + "parent_name": "funnelarea.marker.line", + "array_ok": true, + "edit_type": "style", + "min": 0 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "densitymapbox.stream.maxpoints": { + "funnelarea.marker.line.color": { "params": { - "plotly_name": "maxpoints", - "parent_name": "densitymapbox.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 + "plotly_name": "color", + "parent_name": "funnelarea.marker.line", + "array_ok": true, + "edit_type": "style" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "densitymapbox.showscale": { + "funnelarea.marker.colors": { "params": { - "plotly_name": "showscale", - "parent_name": "densitymapbox", + "plotly_name": "colors", + "parent_name": "funnelarea.marker", "edit_type": "calc" }, - "superclass": "BooleanValidator" + "superclass": "DataArrayValidator" }, - "densitymapbox.showlegend": { + "funnelarea.legendwidth": { "params": { - "plotly_name": "showlegend", - "parent_name": "densitymapbox", + "plotly_name": "legendwidth", + "parent_name": "funnelarea", + "edit_type": "style", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "funnelarea.legendrank": { + "params": { + "plotly_name": "legendrank", + "parent_name": "funnelarea", "edit_type": "style" }, - "superclass": "BooleanValidator" + "superclass": "NumberValidator" }, - "densitymapbox.reversescale": { + "funnelarea.legendgrouptitle": { "params": { - "plotly_name": "reversescale", - "parent_name": "densitymapbox", - "edit_type": "plot" + "plotly_name": "legendgrouptitle", + "parent_name": "funnelarea", + "data_class_str": "Legendgrouptitle", + "data_docs": "\n" }, - "superclass": "BooleanValidator" + "superclass": "CompoundValidator" }, - "densitymapbox.radiussrc": { + "funnelarea.legendgrouptitle.text": { "params": { - "plotly_name": "radiussrc", - "parent_name": "densitymapbox", - "edit_type": "none" + "plotly_name": "text", + "parent_name": "funnelarea.legendgrouptitle", + "edit_type": "style" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "densitymapbox.radius": { + "funnelarea.legendgrouptitle.font": { "params": { - "plotly_name": "radius", - "parent_name": "densitymapbox", - "array_ok": true, - "edit_type": "plot", + "plotly_name": "font", + "parent_name": "funnelarea.legendgrouptitle", + "data_class_str": "Font", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "funnelarea.legendgrouptitle.font.weight": { + "params": { + "plotly_name": "weight", + "parent_name": "funnelarea.legendgrouptitle.font", + "edit_type": "style", + "extras": [ + "normal", + "bold" + ], + "max": 1000, "min": 1 }, - "superclass": "NumberValidator" + "superclass": "IntegerValidator" }, - "densitymapbox.opacity": { + "funnelarea.legendgrouptitle.font.variant": { "params": { - "plotly_name": "opacity", - "parent_name": "densitymapbox", + "plotly_name": "variant", + "parent_name": "funnelarea.legendgrouptitle.font", "edit_type": "style", - "max": 1, - "min": 0 + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "densitymapbox.name": { + "funnelarea.legendgrouptitle.font.textcase": { "params": { - "plotly_name": "name", - "parent_name": "densitymapbox", - "edit_type": "style" + "plotly_name": "textcase", + "parent_name": "funnelarea.legendgrouptitle.font", + "edit_type": "style", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "densitymapbox.metasrc": { + "funnelarea.legendgrouptitle.font.style": { "params": { - "plotly_name": "metasrc", - "parent_name": "densitymapbox", - "edit_type": "none" + "plotly_name": "style", + "parent_name": "funnelarea.legendgrouptitle.font", + "edit_type": "style", + "values": [ + "normal", + "italic" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "densitymapbox.meta": { + "funnelarea.legendgrouptitle.font.size": { "params": { - "plotly_name": "meta", - "parent_name": "densitymapbox", - "array_ok": true, - "edit_type": "plot" + "plotly_name": "size", + "parent_name": "funnelarea.legendgrouptitle.font", + "edit_type": "style", + "min": 1 }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "densitymapbox.lonsrc": { + "funnelarea.legendgrouptitle.font.shadow": { "params": { - "plotly_name": "lonsrc", - "parent_name": "densitymapbox", - "edit_type": "none" + "plotly_name": "shadow", + "parent_name": "funnelarea.legendgrouptitle.font", + "edit_type": "style" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "densitymapbox.lon": { + "funnelarea.legendgrouptitle.font.lineposition": { "params": { - "plotly_name": "lon", - "parent_name": "densitymapbox", - "edit_type": "calc" + "plotly_name": "lineposition", + "parent_name": "funnelarea.legendgrouptitle.font", + "edit_type": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] }, - "superclass": "DataArrayValidator" + "superclass": "FlaglistValidator" }, - "densitymapbox.legendwidth": { + "funnelarea.legendgrouptitle.font.family": { "params": { - "plotly_name": "legendwidth", - "parent_name": "densitymapbox", + "plotly_name": "family", + "parent_name": "funnelarea.legendgrouptitle.font", "edit_type": "style", - "min": 0 + "no_blank": true, + "strict": true }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "densitymapbox.legendrank": { + "funnelarea.legendgrouptitle.font.color": { "params": { - "plotly_name": "legendrank", - "parent_name": "densitymapbox", + "plotly_name": "color", + "parent_name": "funnelarea.legendgrouptitle.font", "edit_type": "style" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "densitymapbox.legendgrouptitle": { + "funnelarea.legendgroup": { "params": { - "plotly_name": "legendgrouptitle", - "parent_name": "densitymapbox", - "data_class_str": "Legendgrouptitle", - "data_docs": "\n" + "plotly_name": "legendgroup", + "parent_name": "funnelarea", + "edit_type": "style" }, - "superclass": "CompoundValidator" + "superclass": "StringValidator" }, - "densitymapbox.legendgrouptitle.text": { + "funnelarea.legend": { "params": { - "plotly_name": "text", - "parent_name": "densitymapbox.legendgrouptitle", + "plotly_name": "legend", + "parent_name": "funnelarea", + "dflt": "legend", "edit_type": "style" }, - "superclass": "StringValidator" + "superclass": "SubplotidValidator" }, - "densitymapbox.legendgrouptitle.font": { + "funnelarea.labels": { "params": { - "plotly_name": "font", - "parent_name": "densitymapbox.legendgrouptitle", - "data_class_str": "Font", + "plotly_name": "labels", + "parent_name": "funnelarea", + "edit_type": "calc" + }, + "superclass": "DataArrayValidator" + }, + "funnelarea.label0": { + "params": { + "plotly_name": "label0", + "parent_name": "funnelarea", + "edit_type": "calc" + }, + "superclass": "NumberValidator" + }, + "funnelarea.insidetextfont": { + "params": { + "plotly_name": "insidetextfont", + "parent_name": "funnelarea", + "data_class_str": "Insidetextfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "densitymapbox.legendgrouptitle.font.weight": { + "funnelarea.insidetextfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "densitymapbox.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "funnelarea.insidetextfont", + "array_ok": true, + "edit_type": "plot", "extras": [ "normal", "bold" @@ -106096,11 +89779,12 @@ }, "superclass": "IntegerValidator" }, - "densitymapbox.legendgrouptitle.font.variant": { + "funnelarea.insidetextfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "densitymapbox.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "funnelarea.insidetextfont", + "array_ok": true, + "edit_type": "plot", "values": [ "normal", "small-caps", @@ -106112,11 +89796,12 @@ }, "superclass": "EnumeratedValidator" }, - "densitymapbox.legendgrouptitle.font.textcase": { + "funnelarea.insidetextfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "densitymapbox.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "funnelarea.insidetextfont", + "array_ok": true, + "edit_type": "plot", "values": [ "normal", "word caps", @@ -106126,11 +89811,12 @@ }, "superclass": "EnumeratedValidator" }, - "densitymapbox.legendgrouptitle.font.style": { + "funnelarea.insidetextfont.style": { "params": { "plotly_name": "style", - "parent_name": "densitymapbox.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "funnelarea.insidetextfont", + "array_ok": true, + "edit_type": "plot", "values": [ "normal", "italic" @@ -106138,28 +89824,31 @@ }, "superclass": "EnumeratedValidator" }, - "densitymapbox.legendgrouptitle.font.size": { + "funnelarea.insidetextfont.size": { "params": { "plotly_name": "size", - "parent_name": "densitymapbox.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "funnelarea.insidetextfont", + "array_ok": true, + "edit_type": "plot", "min": 1 }, "superclass": "NumberValidator" }, - "densitymapbox.legendgrouptitle.font.shadow": { + "funnelarea.insidetextfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "densitymapbox.legendgrouptitle.font", - "edit_type": "style" + "parent_name": "funnelarea.insidetextfont", + "array_ok": true, + "edit_type": "plot" }, "superclass": "StringValidator" }, - "densitymapbox.legendgrouptitle.font.lineposition": { + "funnelarea.insidetextfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "densitymapbox.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "funnelarea.insidetextfont", + "array_ok": true, + "edit_type": "plot", "extras": [ "none" ], @@ -106171,171 +89860,100 @@ }, "superclass": "FlaglistValidator" }, - "densitymapbox.legendgrouptitle.font.family": { + "funnelarea.insidetextfont.family": { "params": { "plotly_name": "family", - "parent_name": "densitymapbox.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "funnelarea.insidetextfont", + "array_ok": true, + "edit_type": "plot", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "densitymapbox.legendgrouptitle.font.color": { + "funnelarea.insidetextfont.color": { "params": { "plotly_name": "color", - "parent_name": "densitymapbox.legendgrouptitle.font", - "edit_type": "style" + "parent_name": "funnelarea.insidetextfont", + "array_ok": true, + "edit_type": "plot" }, "superclass": "ColorValidator" }, - "densitymapbox.legendgroup": { - "params": { - "plotly_name": "legendgroup", - "parent_name": "densitymapbox", - "edit_type": "style" - }, - "superclass": "StringValidator" - }, - "densitymapbox.legend": { - "params": { - "plotly_name": "legend", - "parent_name": "densitymapbox", - "dflt": "legend", - "edit_type": "style" - }, - "superclass": "SubplotidValidator" - }, - "densitymapbox.latsrc": { - "params": { - "plotly_name": "latsrc", - "parent_name": "densitymapbox", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymapbox.lat": { - "params": { - "plotly_name": "lat", - "parent_name": "densitymapbox", - "edit_type": "calc" - }, - "superclass": "DataArrayValidator" - }, - "densitymapbox.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "densitymapbox", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymapbox.ids": { + "funnelarea.ids": { "params": { "plotly_name": "ids", - "parent_name": "densitymapbox", + "parent_name": "funnelarea", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "densitymapbox.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "densitymapbox", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymapbox.hovertext": { + "funnelarea.hovertext": { "params": { "plotly_name": "hovertext", - "parent_name": "densitymapbox", + "parent_name": "funnelarea", "array_ok": true, - "edit_type": "calc" + "edit_type": "style" }, "superclass": "StringValidator" }, - "densitymapbox.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "densitymapbox", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymapbox.hovertemplatefallback": { + "funnelarea.hovertemplatefallback": { "params": { "plotly_name": "hovertemplatefallback", - "parent_name": "densitymapbox", + "parent_name": "funnelarea", "edit_type": "none" }, "superclass": "AnyValidator" }, - "densitymapbox.hovertemplate": { + "funnelarea.hovertemplate": { "params": { "plotly_name": "hovertemplate", - "parent_name": "densitymapbox", + "parent_name": "funnelarea", "array_ok": true, "edit_type": "none" }, "superclass": "StringValidator" }, - "densitymapbox.hoverlabel": { + "funnelarea.hoverlabel": { "params": { "plotly_name": "hoverlabel", - "parent_name": "densitymapbox", + "parent_name": "funnelarea", "data_class_str": "Hoverlabel", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "densitymapbox.hoverlabel.showarrow": { + "funnelarea.hoverlabel.showarrow": { "params": { "plotly_name": "showarrow", - "parent_name": "densitymapbox.hoverlabel", + "parent_name": "funnelarea.hoverlabel", "edit_type": "none" }, "superclass": "BooleanValidator" }, - "densitymapbox.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "densitymapbox.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymapbox.hoverlabel.namelength": { + "funnelarea.hoverlabel.namelength": { "params": { "plotly_name": "namelength", - "parent_name": "densitymapbox.hoverlabel", + "parent_name": "funnelarea.hoverlabel", "array_ok": true, "edit_type": "none", "min": -1 }, "superclass": "IntegerValidator" }, - "densitymapbox.hoverlabel.font": { + "funnelarea.hoverlabel.font": { "params": { "plotly_name": "font", - "parent_name": "densitymapbox.hoverlabel", + "parent_name": "funnelarea.hoverlabel", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "densitymapbox.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "densitymapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymapbox.hoverlabel.font.weight": { + "funnelarea.hoverlabel.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "densitymapbox.hoverlabel.font", + "parent_name": "funnelarea.hoverlabel.font", "array_ok": true, "edit_type": "none", "extras": [ @@ -106347,18 +89965,10 @@ }, "superclass": "IntegerValidator" }, - "densitymapbox.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "densitymapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymapbox.hoverlabel.font.variant": { + "funnelarea.hoverlabel.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "densitymapbox.hoverlabel.font", + "parent_name": "funnelarea.hoverlabel.font", "array_ok": true, "edit_type": "none", "values": [ @@ -106372,18 +89982,10 @@ }, "superclass": "EnumeratedValidator" }, - "densitymapbox.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "densitymapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymapbox.hoverlabel.font.textcase": { + "funnelarea.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "densitymapbox.hoverlabel.font", + "parent_name": "funnelarea.hoverlabel.font", "array_ok": true, "edit_type": "none", "values": [ @@ -106395,18 +89997,10 @@ }, "superclass": "EnumeratedValidator" }, - "densitymapbox.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "densitymapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymapbox.hoverlabel.font.style": { + "funnelarea.hoverlabel.font.style": { "params": { "plotly_name": "style", - "parent_name": "densitymapbox.hoverlabel.font", + "parent_name": "funnelarea.hoverlabel.font", "array_ok": true, "edit_type": "none", "values": [ @@ -106416,53 +90010,29 @@ }, "superclass": "EnumeratedValidator" }, - "densitymapbox.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "densitymapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymapbox.hoverlabel.font.size": { + "funnelarea.hoverlabel.font.size": { "params": { "plotly_name": "size", - "parent_name": "densitymapbox.hoverlabel.font", + "parent_name": "funnelarea.hoverlabel.font", "array_ok": true, "edit_type": "none", "min": 1 }, "superclass": "NumberValidator" }, - "densitymapbox.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "densitymapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymapbox.hoverlabel.font.shadow": { + "funnelarea.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "densitymapbox.hoverlabel.font", + "parent_name": "funnelarea.hoverlabel.font", "array_ok": true, "edit_type": "none" }, "superclass": "StringValidator" }, - "densitymapbox.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "densitymapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymapbox.hoverlabel.font.lineposition": { + "funnelarea.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "densitymapbox.hoverlabel.font", + "parent_name": "funnelarea.hoverlabel.font", "array_ok": true, "edit_type": "none", "extras": [ @@ -106476,18 +90046,10 @@ }, "superclass": "FlaglistValidator" }, - "densitymapbox.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "densitymapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymapbox.hoverlabel.font.family": { + "funnelarea.hoverlabel.font.family": { "params": { "plotly_name": "family", - "parent_name": "densitymapbox.hoverlabel.font", + "parent_name": "funnelarea.hoverlabel.font", "array_ok": true, "edit_type": "none", "no_blank": true, @@ -106495,69 +90057,37 @@ }, "superclass": "StringValidator" }, - "densitymapbox.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "densitymapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymapbox.hoverlabel.font.color": { + "funnelarea.hoverlabel.font.color": { "params": { "plotly_name": "color", - "parent_name": "densitymapbox.hoverlabel.font", + "parent_name": "funnelarea.hoverlabel.font", "array_ok": true, "edit_type": "none" }, "superclass": "ColorValidator" }, - "densitymapbox.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "densitymapbox.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymapbox.hoverlabel.bordercolor": { + "funnelarea.hoverlabel.bordercolor": { "params": { "plotly_name": "bordercolor", - "parent_name": "densitymapbox.hoverlabel", + "parent_name": "funnelarea.hoverlabel", "array_ok": true, "edit_type": "none" }, "superclass": "ColorValidator" }, - "densitymapbox.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "densitymapbox.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymapbox.hoverlabel.bgcolor": { + "funnelarea.hoverlabel.bgcolor": { "params": { "plotly_name": "bgcolor", - "parent_name": "densitymapbox.hoverlabel", + "parent_name": "funnelarea.hoverlabel", "array_ok": true, "edit_type": "none" }, "superclass": "ColorValidator" }, - "densitymapbox.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "densitymapbox.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymapbox.hoverlabel.align": { + "funnelarea.hoverlabel.align": { "params": { "plotly_name": "align", - "parent_name": "densitymapbox.hoverlabel", + "parent_name": "funnelarea.hoverlabel", "array_ok": true, "edit_type": "none", "values": [ @@ -106568,18 +90098,10 @@ }, "superclass": "EnumeratedValidator" }, - "densitymapbox.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "densitymapbox", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymapbox.hoverinfo": { + "funnelarea.hoverinfo": { "params": { "plotly_name": "hoverinfo", - "parent_name": "densitymapbox", + "parent_name": "funnelarea", "array_ok": true, "edit_type": "none", "extras": [ @@ -106588,506 +90110,368 @@ "skip" ], "flags": [ - "lon", - "lat", - "z", + "label", "text", + "value", + "percent", "name" ] }, "superclass": "FlaglistValidator" }, - "densitymapbox.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "densitymapbox", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymapbox.customdata": { + "funnelarea.domain": { "params": { - "plotly_name": "customdata", - "parent_name": "densitymapbox", - "edit_type": "calc" + "plotly_name": "domain", + "parent_name": "funnelarea", + "data_class_str": "Domain", + "data_docs": "\n" }, - "superclass": "DataArrayValidator" + "superclass": "CompoundValidator" }, - "densitymapbox.colorscale": { + "funnelarea.domain.y": { "params": { - "plotly_name": "colorscale", - "parent_name": "densitymapbox", + "plotly_name": "y", + "parent_name": "funnelarea.domain", "edit_type": "calc", - "implied_edits": { - "autocolorscale": false - } - }, - "superclass": "ColorscaleValidator" - }, - "densitymapbox.colorbar": { - "params": { - "plotly_name": "colorbar", - "parent_name": "densitymapbox", - "data_class_str": "ColorBar", - "data_docs": "\n" + "items": [ + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + } + ] }, - "superclass": "CompoundValidator" + "superclass": "InfoArrayValidator" }, - "densitymapbox.colorbar.yref": { + "funnelarea.domain.x": { "params": { - "plotly_name": "yref", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", - "values": [ - "container", - "paper" + "plotly_name": "x", + "parent_name": "funnelarea.domain", + "edit_type": "calc", + "items": [ + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + } ] }, - "superclass": "EnumeratedValidator" + "superclass": "InfoArrayValidator" }, - "densitymapbox.colorbar.ypad": { + "funnelarea.domain.row": { "params": { - "plotly_name": "ypad", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", + "plotly_name": "row", + "parent_name": "funnelarea.domain", + "edit_type": "calc", "min": 0 }, - "superclass": "NumberValidator" + "superclass": "IntegerValidator" }, - "densitymapbox.colorbar.yanchor": { + "funnelarea.domain.column": { "params": { - "plotly_name": "yanchor", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", - "values": [ - "top", - "middle", - "bottom" - ] + "plotly_name": "column", + "parent_name": "funnelarea.domain", + "edit_type": "calc", + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "IntegerValidator" }, - "densitymapbox.colorbar.y": { + "funnelarea.dlabel": { "params": { - "plotly_name": "y", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars" + "plotly_name": "dlabel", + "parent_name": "funnelarea", + "edit_type": "calc" }, "superclass": "NumberValidator" }, - "densitymapbox.colorbar.xref": { + "funnelarea.customdata": { "params": { - "plotly_name": "xref", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", - "values": [ - "container", - "paper" - ] + "plotly_name": "customdata", + "parent_name": "funnelarea", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "DataArrayValidator" }, - "densitymapbox.colorbar.xpad": { + "funnelarea.baseratio": { "params": { - "plotly_name": "xpad", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", + "plotly_name": "baseratio", + "parent_name": "funnelarea", + "edit_type": "plot", + "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "densitymapbox.colorbar.xanchor": { - "params": { - "plotly_name": "xanchor", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", - "values": [ - "left", - "center", - "right" - ] - }, - "superclass": "EnumeratedValidator" - }, - "densitymapbox.colorbar.x": { + "funnelarea.aspectratio": { "params": { - "plotly_name": "x", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars" + "plotly_name": "aspectratio", + "parent_name": "funnelarea", + "edit_type": "plot", + "min": 0 }, "superclass": "NumberValidator" }, - "densitymapbox.colorbar.title": { - "params": { - "plotly_name": "title", - "parent_name": "densitymapbox.colorbar", - "data_class_str": "Title", - "data_docs": "\n" - }, - "superclass": "TitleValidator" - }, - "densitymapbox.colorbar.title.text": { - "params": { - "plotly_name": "text", - "parent_name": "densitymapbox.colorbar.title", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "densitymapbox.colorbar.title.side": { - "params": { - "plotly_name": "side", - "parent_name": "densitymapbox.colorbar.title", - "edit_type": "colorbars", - "values": [ - "right", - "top", - "bottom" - ] - }, - "superclass": "EnumeratedValidator" - }, - "densitymapbox.colorbar.title.font": { + "funnel": { "params": { - "plotly_name": "font", - "parent_name": "densitymapbox.colorbar.title", - "data_class_str": "Font", + "plotly_name": "funnel", + "parent_name": "", + "data_class_str": "Funnel", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "densitymapbox.colorbar.title.font.weight": { + "funnel.zorder": { "params": { - "plotly_name": "weight", - "parent_name": "densitymapbox.colorbar.title.font", - "edit_type": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 + "plotly_name": "zorder", + "parent_name": "funnel", + "edit_type": "plot" }, "superclass": "IntegerValidator" }, - "densitymapbox.colorbar.title.font.variant": { - "params": { - "plotly_name": "variant", - "parent_name": "densitymapbox.colorbar.title.font", - "edit_type": "colorbars", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "superclass": "EnumeratedValidator" - }, - "densitymapbox.colorbar.title.font.textcase": { - "params": { - "plotly_name": "textcase", - "parent_name": "densitymapbox.colorbar.title.font", - "edit_type": "colorbars", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "superclass": "EnumeratedValidator" - }, - "densitymapbox.colorbar.title.font.style": { + "funnel.yperiodalignment": { "params": { - "plotly_name": "style", - "parent_name": "densitymapbox.colorbar.title.font", - "edit_type": "colorbars", + "plotly_name": "yperiodalignment", + "parent_name": "funnel", + "edit_type": "calc", "values": [ - "normal", - "italic" + "start", + "middle", + "end" ] }, "superclass": "EnumeratedValidator" }, - "densitymapbox.colorbar.title.font.size": { - "params": { - "plotly_name": "size", - "parent_name": "densitymapbox.colorbar.title.font", - "edit_type": "colorbars", - "min": 1 - }, - "superclass": "NumberValidator" - }, - "densitymapbox.colorbar.title.font.shadow": { + "funnel.yperiod0": { "params": { - "plotly_name": "shadow", - "parent_name": "densitymapbox.colorbar.title.font", - "edit_type": "colorbars" + "plotly_name": "yperiod0", + "parent_name": "funnel", + "edit_type": "calc" }, - "superclass": "StringValidator" + "superclass": "AnyValidator" }, - "densitymapbox.colorbar.title.font.lineposition": { + "funnel.yperiod": { "params": { - "plotly_name": "lineposition", - "parent_name": "densitymapbox.colorbar.title.font", - "edit_type": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] + "plotly_name": "yperiod", + "parent_name": "funnel", + "edit_type": "calc" }, - "superclass": "FlaglistValidator" + "superclass": "AnyValidator" }, - "densitymapbox.colorbar.title.font.family": { + "funnel.yhoverformat": { "params": { - "plotly_name": "family", - "parent_name": "densitymapbox.colorbar.title.font", - "edit_type": "colorbars", - "no_blank": true, - "strict": true + "plotly_name": "yhoverformat", + "parent_name": "funnel", + "edit_type": "none" }, "superclass": "StringValidator" }, - "densitymapbox.colorbar.title.font.color": { - "params": { - "plotly_name": "color", - "parent_name": "densitymapbox.colorbar.title.font", - "edit_type": "colorbars" - }, - "superclass": "ColorValidator" - }, - "densitymapbox.colorbar.tickwidth": { + "funnel.yaxis": { "params": { - "plotly_name": "tickwidth", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "yaxis", + "parent_name": "funnel", + "dflt": "y", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "NumberValidator" + "superclass": "SubplotidValidator" }, - "densitymapbox.colorbar.tickvalssrc": { + "funnel.y0": { "params": { - "plotly_name": "tickvalssrc", - "parent_name": "densitymapbox.colorbar", - "edit_type": "none" + "plotly_name": "y0", + "parent_name": "funnel", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "densitymapbox.colorbar.tickvals": { + "funnel.y": { "params": { - "plotly_name": "tickvals", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars" + "plotly_name": "y", + "parent_name": "funnel", + "edit_type": "calc+clearAxisTypes" }, "superclass": "DataArrayValidator" }, - "densitymapbox.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "densitymapbox.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymapbox.colorbar.ticktext": { + "funnel.xperiodalignment": { "params": { - "plotly_name": "ticktext", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars" + "plotly_name": "xperiodalignment", + "parent_name": "funnel", + "edit_type": "calc", + "values": [ + "start", + "middle", + "end" + ] }, - "superclass": "DataArrayValidator" + "superclass": "EnumeratedValidator" }, - "densitymapbox.colorbar.ticksuffix": { + "funnel.xperiod0": { "params": { - "plotly_name": "ticksuffix", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars" + "plotly_name": "xperiod0", + "parent_name": "funnel", + "edit_type": "calc" }, - "superclass": "StringValidator" + "superclass": "AnyValidator" }, - "densitymapbox.colorbar.ticks": { + "funnel.xperiod": { "params": { - "plotly_name": "ticks", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", - "values": [ - "outside", - "inside", - "" - ] + "plotly_name": "xperiod", + "parent_name": "funnel", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "AnyValidator" }, - "densitymapbox.colorbar.tickprefix": { + "funnel.xhoverformat": { "params": { - "plotly_name": "tickprefix", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars" + "plotly_name": "xhoverformat", + "parent_name": "funnel", + "edit_type": "none" }, "superclass": "StringValidator" - }, - "densitymapbox.colorbar.tickmode": { - "params": { - "plotly_name": "tickmode", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", - "implied_edits": {}, - "values": [ - "auto", - "linear", - "array" - ] + }, + "funnel.xaxis": { + "params": { + "plotly_name": "xaxis", + "parent_name": "funnel", + "dflt": "x", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "EnumeratedValidator" + "superclass": "SubplotidValidator" }, - "densitymapbox.colorbar.ticklen": { + "funnel.x0": { "params": { - "plotly_name": "ticklen", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "x0", + "parent_name": "funnel", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "densitymapbox.colorbar.ticklabelstep": { + "funnel.x": { "params": { - "plotly_name": "ticklabelstep", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", - "min": 1 + "plotly_name": "x", + "parent_name": "funnel", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "IntegerValidator" + "superclass": "DataArrayValidator" }, - "densitymapbox.colorbar.ticklabelposition": { + "funnel.width": { "params": { - "plotly_name": "ticklabelposition", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" - ] + "plotly_name": "width", + "parent_name": "funnel", + "array_ok": false, + "edit_type": "calc", + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "densitymapbox.colorbar.ticklabeloverflow": { + "funnel.visible": { "params": { - "plotly_name": "ticklabeloverflow", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", + "plotly_name": "visible", + "parent_name": "funnel", + "edit_type": "calc", "values": [ - "allow", - "hide past div", - "hide past domain" + true, + false, + "legendonly" ] }, "superclass": "EnumeratedValidator" }, - "densitymapbox.colorbar.tickformatstopdefaults": { - "params": { - "plotly_name": "tickformatstopdefaults", - "parent_name": "densitymapbox.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "densitymapbox.colorbar.tickformatstops": { + "funnel.uirevision": { "params": { - "plotly_name": "tickformatstops", - "parent_name": "densitymapbox.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" + "plotly_name": "uirevision", + "parent_name": "funnel", + "edit_type": "none" }, - "superclass": "CompoundArrayValidator" + "superclass": "AnyValidator" }, - "densitymapbox.colorbar.tickformatstop.value": { + "funnel.uid": { "params": { - "plotly_name": "value", - "parent_name": "densitymapbox.colorbar.tickformatstop", - "edit_type": "colorbars" + "plotly_name": "uid", + "parent_name": "funnel", + "edit_type": "plot" }, "superclass": "StringValidator" }, - "densitymapbox.colorbar.tickformatstop.templateitemname": { + "funnel.texttemplatefallback": { "params": { - "plotly_name": "templateitemname", - "parent_name": "densitymapbox.colorbar.tickformatstop", - "edit_type": "colorbars" + "plotly_name": "texttemplatefallback", + "parent_name": "funnel", + "edit_type": "plot" }, - "superclass": "StringValidator" + "superclass": "AnyValidator" }, - "densitymapbox.colorbar.tickformatstop.name": { + "funnel.texttemplate": { "params": { - "plotly_name": "name", - "parent_name": "densitymapbox.colorbar.tickformatstop", - "edit_type": "colorbars" + "plotly_name": "texttemplate", + "parent_name": "funnel", + "array_ok": true, + "edit_type": "plot" }, "superclass": "StringValidator" }, - "densitymapbox.colorbar.tickformatstop.enabled": { - "params": { - "plotly_name": "enabled", - "parent_name": "densitymapbox.colorbar.tickformatstop", - "edit_type": "colorbars" - }, - "superclass": "BooleanValidator" - }, - "densitymapbox.colorbar.tickformatstop.dtickrange": { + "funnel.textposition": { "params": { - "plotly_name": "dtickrange", - "parent_name": "densitymapbox.colorbar.tickformatstop", - "edit_type": "colorbars", - "items": [ - { - "editType": "colorbars", - "valType": "any" - }, - { - "editType": "colorbars", - "valType": "any" - } + "plotly_name": "textposition", + "parent_name": "funnel", + "array_ok": true, + "edit_type": "calc", + "values": [ + "inside", + "outside", + "auto", + "none" ] }, - "superclass": "InfoArrayValidator" + "superclass": "EnumeratedValidator" }, - "densitymapbox.colorbar.tickformat": { + "funnel.textinfo": { "params": { - "plotly_name": "tickformat", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars" + "plotly_name": "textinfo", + "parent_name": "funnel", + "array_ok": false, + "edit_type": "plot", + "extras": [ + "none" + ], + "flags": [ + "label", + "text", + "percent initial", + "percent previous", + "percent total", + "value" + ] }, - "superclass": "StringValidator" + "superclass": "FlaglistValidator" }, - "densitymapbox.colorbar.tickfont": { + "funnel.textfont": { "params": { - "plotly_name": "tickfont", - "parent_name": "densitymapbox.colorbar", - "data_class_str": "Tickfont", + "plotly_name": "textfont", + "parent_name": "funnel", + "data_class_str": "Textfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "densitymapbox.colorbar.tickfont.weight": { + "funnel.textfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "densitymapbox.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "funnel.textfont", + "array_ok": true, + "edit_type": "calc", "extras": [ "normal", "bold" @@ -107097,11 +90481,12 @@ }, "superclass": "IntegerValidator" }, - "densitymapbox.colorbar.tickfont.variant": { + "funnel.textfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "densitymapbox.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "funnel.textfont", + "array_ok": true, + "edit_type": "calc", "values": [ "normal", "small-caps", @@ -107113,11 +90498,12 @@ }, "superclass": "EnumeratedValidator" }, - "densitymapbox.colorbar.tickfont.textcase": { + "funnel.textfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "densitymapbox.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "funnel.textfont", + "array_ok": true, + "edit_type": "calc", "values": [ "normal", "word caps", @@ -107127,11 +90513,12 @@ }, "superclass": "EnumeratedValidator" }, - "densitymapbox.colorbar.tickfont.style": { + "funnel.textfont.style": { "params": { "plotly_name": "style", - "parent_name": "densitymapbox.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "funnel.textfont", + "array_ok": true, + "edit_type": "calc", "values": [ "normal", "italic" @@ -107139,28 +90526,31 @@ }, "superclass": "EnumeratedValidator" }, - "densitymapbox.colorbar.tickfont.size": { + "funnel.textfont.size": { "params": { "plotly_name": "size", - "parent_name": "densitymapbox.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "funnel.textfont", + "array_ok": true, + "edit_type": "calc", "min": 1 }, "superclass": "NumberValidator" }, - "densitymapbox.colorbar.tickfont.shadow": { + "funnel.textfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "densitymapbox.colorbar.tickfont", - "edit_type": "colorbars" + "parent_name": "funnel.textfont", + "array_ok": true, + "edit_type": "calc" }, "superclass": "StringValidator" }, - "densitymapbox.colorbar.tickfont.lineposition": { + "funnel.textfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "densitymapbox.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "funnel.textfont", + "array_ok": true, + "edit_type": "calc", "extras": [ "none" ], @@ -107172,576 +90562,531 @@ }, "superclass": "FlaglistValidator" }, - "densitymapbox.colorbar.tickfont.family": { + "funnel.textfont.family": { "params": { "plotly_name": "family", - "parent_name": "densitymapbox.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "funnel.textfont", + "array_ok": true, + "edit_type": "calc", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "densitymapbox.colorbar.tickfont.color": { + "funnel.textfont.color": { "params": { "plotly_name": "color", - "parent_name": "densitymapbox.colorbar.tickfont", - "edit_type": "colorbars" + "parent_name": "funnel.textfont", + "array_ok": true, + "edit_type": "style" }, "superclass": "ColorValidator" }, - "densitymapbox.colorbar.tickcolor": { + "funnel.textangle": { "params": { - "plotly_name": "tickcolor", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars" + "plotly_name": "textangle", + "parent_name": "funnel", + "edit_type": "plot" }, - "superclass": "ColorValidator" + "superclass": "AngleValidator" }, - "densitymapbox.colorbar.tickangle": { + "funnel.text": { "params": { - "plotly_name": "tickangle", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars" + "plotly_name": "text", + "parent_name": "funnel", + "array_ok": true, + "edit_type": "calc" }, - "superclass": "AngleValidator" + "superclass": "StringValidator" }, - "densitymapbox.colorbar.tick0": { + "funnel.showlegend": { "params": { - "plotly_name": "tick0", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", - "implied_edits": { - "tickmode": "linear" - } + "plotly_name": "showlegend", + "parent_name": "funnel", + "edit_type": "style" }, - "superclass": "AnyValidator" + "superclass": "BooleanValidator" }, - "densitymapbox.colorbar.thicknessmode": { + "funnel.selectedpoints": { "params": { - "plotly_name": "thicknessmode", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", - "values": [ - "fraction", - "pixels" - ] + "plotly_name": "selectedpoints", + "parent_name": "funnel", + "edit_type": "calc" }, - "superclass": "EnumeratedValidator" + "superclass": "AnyValidator" }, - "densitymapbox.colorbar.thickness": { + "funnel.outsidetextfont": { "params": { - "plotly_name": "thickness", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "outsidetextfont", + "parent_name": "funnel", + "data_class_str": "Outsidetextfont", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "densitymapbox.colorbar.showticksuffix": { + "funnel.outsidetextfont.weight": { "params": { - "plotly_name": "showticksuffix", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", - "values": [ - "all", - "first", - "last", - "none" - ] + "plotly_name": "weight", + "parent_name": "funnel.outsidetextfont", + "array_ok": true, + "edit_type": "calc", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "EnumeratedValidator" + "superclass": "IntegerValidator" }, - "densitymapbox.colorbar.showtickprefix": { + "funnel.outsidetextfont.variant": { "params": { - "plotly_name": "showtickprefix", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", + "plotly_name": "variant", + "parent_name": "funnel.outsidetextfont", + "array_ok": true, + "edit_type": "calc", "values": [ - "all", - "first", - "last", - "none" + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] }, "superclass": "EnumeratedValidator" }, - "densitymapbox.colorbar.showticklabels": { - "params": { - "plotly_name": "showticklabels", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars" - }, - "superclass": "BooleanValidator" - }, - "densitymapbox.colorbar.showexponent": { + "funnel.outsidetextfont.textcase": { "params": { - "plotly_name": "showexponent", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", + "plotly_name": "textcase", + "parent_name": "funnel.outsidetextfont", + "array_ok": true, + "edit_type": "calc", "values": [ - "all", - "first", - "last", - "none" + "normal", + "word caps", + "upper", + "lower" ] }, "superclass": "EnumeratedValidator" }, - "densitymapbox.colorbar.separatethousands": { - "params": { - "plotly_name": "separatethousands", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars" - }, - "superclass": "BooleanValidator" - }, - "densitymapbox.colorbar.outlinewidth": { - "params": { - "plotly_name": "outlinewidth", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "densitymapbox.colorbar.outlinecolor": { - "params": { - "plotly_name": "outlinecolor", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars" - }, - "superclass": "ColorValidator" - }, - "densitymapbox.colorbar.orientation": { + "funnel.outsidetextfont.style": { "params": { - "plotly_name": "orientation", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", + "plotly_name": "style", + "parent_name": "funnel.outsidetextfont", + "array_ok": true, + "edit_type": "calc", "values": [ - "h", - "v" + "normal", + "italic" ] }, "superclass": "EnumeratedValidator" }, - "densitymapbox.colorbar.nticks": { + "funnel.outsidetextfont.size": { "params": { - "plotly_name": "nticks", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "size", + "parent_name": "funnel.outsidetextfont", + "array_ok": true, + "edit_type": "calc", + "min": 1 }, - "superclass": "IntegerValidator" + "superclass": "NumberValidator" }, - "densitymapbox.colorbar.minexponent": { + "funnel.outsidetextfont.shadow": { "params": { - "plotly_name": "minexponent", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "shadow", + "parent_name": "funnel.outsidetextfont", + "array_ok": true, + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "densitymapbox.colorbar.lenmode": { + "funnel.outsidetextfont.lineposition": { "params": { - "plotly_name": "lenmode", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", - "values": [ - "fraction", - "pixels" + "plotly_name": "lineposition", + "parent_name": "funnel.outsidetextfont", + "array_ok": true, + "edit_type": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" ] }, - "superclass": "EnumeratedValidator" + "superclass": "FlaglistValidator" }, - "densitymapbox.colorbar.len": { + "funnel.outsidetextfont.family": { "params": { - "plotly_name": "len", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "family", + "parent_name": "funnel.outsidetextfont", + "array_ok": true, + "edit_type": "calc", + "no_blank": true, + "strict": true }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "densitymapbox.colorbar.labelalias": { + "funnel.outsidetextfont.color": { "params": { - "plotly_name": "labelalias", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars" + "plotly_name": "color", + "parent_name": "funnel.outsidetextfont", + "array_ok": true, + "edit_type": "style" }, - "superclass": "AnyValidator" + "superclass": "ColorValidator" }, - "densitymapbox.colorbar.exponentformat": { + "funnel.orientation": { "params": { - "plotly_name": "exponentformat", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", + "plotly_name": "orientation", + "parent_name": "funnel", + "edit_type": "calc+clearAxisTypes", "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" + "v", + "h" ] }, "superclass": "EnumeratedValidator" }, - "densitymapbox.colorbar.dtick": { - "params": { - "plotly_name": "dtick", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", - "implied_edits": { - "tickmode": "linear" - } - }, - "superclass": "AnyValidator" - }, - "densitymapbox.colorbar.borderwidth": { + "funnel.opacity": { "params": { - "plotly_name": "borderwidth", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars", + "plotly_name": "opacity", + "parent_name": "funnel", + "edit_type": "style", + "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "densitymapbox.colorbar.bordercolor": { - "params": { - "plotly_name": "bordercolor", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars" - }, - "superclass": "ColorValidator" - }, - "densitymapbox.colorbar.bgcolor": { - "params": { - "plotly_name": "bgcolor", - "parent_name": "densitymapbox.colorbar", - "edit_type": "colorbars" - }, - "superclass": "ColorValidator" - }, - "densitymapbox.coloraxis": { - "params": { - "plotly_name": "coloraxis", - "parent_name": "densitymapbox", - "dflt": null, - "edit_type": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" - }, - "superclass": "SubplotidValidator" - }, - "densitymapbox.below": { + "funnel.offsetgroup": { "params": { - "plotly_name": "below", - "parent_name": "densitymapbox", - "edit_type": "plot" + "plotly_name": "offsetgroup", + "parent_name": "funnel", + "edit_type": "calc" }, "superclass": "StringValidator" }, - "densitymapbox.autocolorscale": { - "params": { - "plotly_name": "autocolorscale", - "parent_name": "densitymapbox", - "edit_type": "calc", - "implied_edits": {} - }, - "superclass": "BooleanValidator" - }, - "densitymap": { - "params": { - "plotly_name": "densitymap", - "parent_name": "", - "data_class_str": "Densitymap", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "densitymap.zsrc": { + "funnel.offset": { "params": { - "plotly_name": "zsrc", - "parent_name": "densitymap", - "edit_type": "none" + "plotly_name": "offset", + "parent_name": "funnel", + "array_ok": false, + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "densitymap.zmin": { + "funnel.name": { "params": { - "plotly_name": "zmin", - "parent_name": "densitymap", - "edit_type": "calc", - "implied_edits": { - "zauto": false - } + "plotly_name": "name", + "parent_name": "funnel", + "edit_type": "style" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "densitymap.zmid": { + "funnel.meta": { "params": { - "plotly_name": "zmid", - "parent_name": "densitymap", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "meta", + "parent_name": "funnel", + "array_ok": true, + "edit_type": "plot" }, - "superclass": "NumberValidator" + "superclass": "AnyValidator" }, - "densitymap.zmax": { + "funnel.marker": { "params": { - "plotly_name": "zmax", - "parent_name": "densitymap", - "edit_type": "calc", - "implied_edits": { - "zauto": false - } + "plotly_name": "marker", + "parent_name": "funnel", + "data_class_str": "Marker", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "densitymap.zauto": { + "funnel.marker.showscale": { "params": { - "plotly_name": "zauto", - "parent_name": "densitymap", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "showscale", + "parent_name": "funnel.marker", + "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "densitymap.z": { + "funnel.marker.reversescale": { "params": { - "plotly_name": "z", - "parent_name": "densitymap", - "edit_type": "calc" + "plotly_name": "reversescale", + "parent_name": "funnel.marker", + "edit_type": "plot" }, - "superclass": "DataArrayValidator" + "superclass": "BooleanValidator" }, - "densitymap.visible": { + "funnel.marker.opacity": { "params": { - "plotly_name": "visible", - "parent_name": "densitymap", - "edit_type": "calc", - "values": [ - true, - false, - "legendonly" - ] + "plotly_name": "opacity", + "parent_name": "funnel.marker", + "array_ok": true, + "edit_type": "style", + "max": 1, + "min": 0 }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "densitymap.uirevision": { + "funnel.marker.line": { "params": { - "plotly_name": "uirevision", - "parent_name": "densitymap", - "edit_type": "none" + "plotly_name": "line", + "parent_name": "funnel.marker", + "data_class_str": "Line", + "data_docs": "\n" }, - "superclass": "AnyValidator" + "superclass": "CompoundValidator" }, - "densitymap.uid": { + "funnel.marker.line.width": { "params": { - "plotly_name": "uid", - "parent_name": "densitymap", - "edit_type": "plot" + "plotly_name": "width", + "parent_name": "funnel.marker.line", + "array_ok": true, + "edit_type": "style", + "min": 0 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "densitymap.textsrc": { + "funnel.marker.line.reversescale": { "params": { - "plotly_name": "textsrc", - "parent_name": "densitymap", - "edit_type": "none" + "plotly_name": "reversescale", + "parent_name": "funnel.marker.line", + "edit_type": "plot" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "densitymap.text": { + "funnel.marker.line.colorscale": { "params": { - "plotly_name": "text", - "parent_name": "densitymap", - "array_ok": true, - "edit_type": "calc" + "plotly_name": "colorscale", + "parent_name": "funnel.marker.line", + "edit_type": "calc", + "implied_edits": { + "autocolorscale": false + } }, - "superclass": "StringValidator" + "superclass": "ColorscaleValidator" }, - "densitymap.subplot": { + "funnel.marker.line.coloraxis": { "params": { - "plotly_name": "subplot", - "parent_name": "densitymap", - "dflt": "map", - "edit_type": "calc" + "plotly_name": "coloraxis", + "parent_name": "funnel.marker.line", + "dflt": null, + "edit_type": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" }, "superclass": "SubplotidValidator" }, - "densitymap.stream": { + "funnel.marker.line.color": { "params": { - "plotly_name": "stream", - "parent_name": "densitymap", - "data_class_str": "Stream", - "data_docs": "\n" + "plotly_name": "color", + "parent_name": "funnel.marker.line", + "array_ok": true, + "edit_type": "style", + "colorscale_path": "funnel.marker.line.colorscale" }, - "superclass": "CompoundValidator" + "superclass": "ColorValidator" }, - "densitymap.stream.token": { + "funnel.marker.line.cmin": { "params": { - "plotly_name": "token", - "parent_name": "densitymap.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true + "plotly_name": "cmin", + "parent_name": "funnel.marker.line", + "edit_type": "plot", + "implied_edits": { + "cauto": false + } }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "densitymap.stream.maxpoints": { + "funnel.marker.line.cmid": { "params": { - "plotly_name": "maxpoints", - "parent_name": "densitymap.stream", + "plotly_name": "cmid", + "parent_name": "funnel.marker.line", "edit_type": "calc", - "max": 10000, - "min": 0 + "implied_edits": {} }, "superclass": "NumberValidator" }, - "densitymap.showscale": { + "funnel.marker.line.cmax": { "params": { - "plotly_name": "showscale", - "parent_name": "densitymap", - "edit_type": "calc" + "plotly_name": "cmax", + "parent_name": "funnel.marker.line", + "edit_type": "plot", + "implied_edits": { + "cauto": false + } }, - "superclass": "BooleanValidator" + "superclass": "NumberValidator" }, - "densitymap.showlegend": { + "funnel.marker.line.cauto": { "params": { - "plotly_name": "showlegend", - "parent_name": "densitymap", - "edit_type": "style" + "plotly_name": "cauto", + "parent_name": "funnel.marker.line", + "edit_type": "calc", + "implied_edits": {} }, "superclass": "BooleanValidator" }, - "densitymap.reversescale": { + "funnel.marker.line.autocolorscale": { "params": { - "plotly_name": "reversescale", - "parent_name": "densitymap", - "edit_type": "plot" + "plotly_name": "autocolorscale", + "parent_name": "funnel.marker.line", + "edit_type": "calc", + "implied_edits": {} }, "superclass": "BooleanValidator" }, - "densitymap.radiussrc": { + "funnel.marker.colorscale": { "params": { - "plotly_name": "radiussrc", - "parent_name": "densitymap", - "edit_type": "none" + "plotly_name": "colorscale", + "parent_name": "funnel.marker", + "edit_type": "calc", + "implied_edits": { + "autocolorscale": false + } }, - "superclass": "SrcValidator" + "superclass": "ColorscaleValidator" }, - "densitymap.radius": { + "funnel.marker.colorbar": { "params": { - "plotly_name": "radius", - "parent_name": "densitymap", - "array_ok": true, - "edit_type": "plot", - "min": 1 + "plotly_name": "colorbar", + "parent_name": "funnel.marker", + "data_class_str": "ColorBar", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "densitymap.opacity": { + "funnel.marker.colorbar.yref": { "params": { - "plotly_name": "opacity", - "parent_name": "densitymap", - "edit_type": "style", - "max": 1, - "min": 0 + "plotly_name": "yref", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "container", + "paper" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "densitymap.name": { + "funnel.marker.colorbar.ypad": { "params": { - "plotly_name": "name", - "parent_name": "densitymap", - "edit_type": "style" + "plotly_name": "ypad", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "densitymap.metasrc": { + "funnel.marker.colorbar.yanchor": { "params": { - "plotly_name": "metasrc", - "parent_name": "densitymap", - "edit_type": "none" + "plotly_name": "yanchor", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "top", + "middle", + "bottom" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "densitymap.meta": { + "funnel.marker.colorbar.y": { "params": { - "plotly_name": "meta", - "parent_name": "densitymap", - "array_ok": true, - "edit_type": "plot" + "plotly_name": "y", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "densitymap.lonsrc": { + "funnel.marker.colorbar.xref": { "params": { - "plotly_name": "lonsrc", - "parent_name": "densitymap", - "edit_type": "none" + "plotly_name": "xref", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "container", + "paper" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "densitymap.lon": { + "funnel.marker.colorbar.xpad": { "params": { - "plotly_name": "lon", - "parent_name": "densitymap", - "edit_type": "calc" + "plotly_name": "xpad", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "DataArrayValidator" + "superclass": "NumberValidator" }, - "densitymap.legendwidth": { + "funnel.marker.colorbar.xanchor": { "params": { - "plotly_name": "legendwidth", - "parent_name": "densitymap", - "edit_type": "style", - "min": 0 + "plotly_name": "xanchor", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "left", + "center", + "right" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "densitymap.legendrank": { + "funnel.marker.colorbar.x": { "params": { - "plotly_name": "legendrank", - "parent_name": "densitymap", - "edit_type": "style" + "plotly_name": "x", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars" }, "superclass": "NumberValidator" }, - "densitymap.legendgrouptitle": { + "funnel.marker.colorbar.title": { "params": { - "plotly_name": "legendgrouptitle", - "parent_name": "densitymap", - "data_class_str": "Legendgrouptitle", + "plotly_name": "title", + "parent_name": "funnel.marker.colorbar", + "data_class_str": "Title", "data_docs": "\n" }, - "superclass": "CompoundValidator" + "superclass": "TitleValidator" }, - "densitymap.legendgrouptitle.text": { + "funnel.marker.colorbar.title.text": { "params": { "plotly_name": "text", - "parent_name": "densitymap.legendgrouptitle", - "edit_type": "style" + "parent_name": "funnel.marker.colorbar.title", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "densitymap.legendgrouptitle.font": { + "funnel.marker.colorbar.title.side": { + "params": { + "plotly_name": "side", + "parent_name": "funnel.marker.colorbar.title", + "edit_type": "colorbars", + "values": [ + "right", + "top", + "bottom" + ] + }, + "superclass": "EnumeratedValidator" + }, + "funnel.marker.colorbar.title.font": { "params": { "plotly_name": "font", - "parent_name": "densitymap.legendgrouptitle", + "parent_name": "funnel.marker.colorbar.title", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "densitymap.legendgrouptitle.font.weight": { + "funnel.marker.colorbar.title.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "densitymap.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "funnel.marker.colorbar.title.font", + "edit_type": "colorbars", "extras": [ "normal", "bold" @@ -107751,11 +91096,11 @@ }, "superclass": "IntegerValidator" }, - "densitymap.legendgrouptitle.font.variant": { + "funnel.marker.colorbar.title.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "densitymap.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "funnel.marker.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "small-caps", @@ -107767,11 +91112,11 @@ }, "superclass": "EnumeratedValidator" }, - "densitymap.legendgrouptitle.font.textcase": { + "funnel.marker.colorbar.title.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "densitymap.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "funnel.marker.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "word caps", @@ -107781,11 +91126,11 @@ }, "superclass": "EnumeratedValidator" }, - "densitymap.legendgrouptitle.font.style": { + "funnel.marker.colorbar.title.font.style": { "params": { "plotly_name": "style", - "parent_name": "densitymap.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "funnel.marker.colorbar.title.font", + "edit_type": "colorbars", "values": [ "normal", "italic" @@ -107793,28 +91138,28 @@ }, "superclass": "EnumeratedValidator" }, - "densitymap.legendgrouptitle.font.size": { + "funnel.marker.colorbar.title.font.size": { "params": { "plotly_name": "size", - "parent_name": "densitymap.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "funnel.marker.colorbar.title.font", + "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "densitymap.legendgrouptitle.font.shadow": { + "funnel.marker.colorbar.title.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "densitymap.legendgrouptitle.font", - "edit_type": "style" + "parent_name": "funnel.marker.colorbar.title.font", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "densitymap.legendgrouptitle.font.lineposition": { + "funnel.marker.colorbar.title.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "densitymap.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "funnel.marker.colorbar.title.font", + "edit_type": "colorbars", "extras": [ "none" ], @@ -107826,173 +91171,233 @@ }, "superclass": "FlaglistValidator" }, - "densitymap.legendgrouptitle.font.family": { + "funnel.marker.colorbar.title.font.family": { "params": { "plotly_name": "family", - "parent_name": "densitymap.legendgrouptitle.font", - "edit_type": "style", + "parent_name": "funnel.marker.colorbar.title.font", + "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "densitymap.legendgrouptitle.font.color": { + "funnel.marker.colorbar.title.font.color": { "params": { "plotly_name": "color", - "parent_name": "densitymap.legendgrouptitle.font", - "edit_type": "style" + "parent_name": "funnel.marker.colorbar.title.font", + "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "densitymap.legendgroup": { + "funnel.marker.colorbar.tickwidth": { "params": { - "plotly_name": "legendgroup", - "parent_name": "densitymap", - "edit_type": "style" + "plotly_name": "tickwidth", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "funnel.marker.colorbar.tickvals": { + "params": { + "plotly_name": "tickvals", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars" + }, + "superclass": "DataArrayValidator" + }, + "funnel.marker.colorbar.ticktext": { + "params": { + "plotly_name": "ticktext", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars" + }, + "superclass": "DataArrayValidator" + }, + "funnel.marker.colorbar.ticksuffix": { + "params": { + "plotly_name": "ticksuffix", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "densitymap.legend": { + "funnel.marker.colorbar.ticks": { "params": { - "plotly_name": "legend", - "parent_name": "densitymap", - "dflt": "legend", - "edit_type": "style" + "plotly_name": "ticks", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "outside", + "inside", + "" + ] }, - "superclass": "SubplotidValidator" + "superclass": "EnumeratedValidator" }, - "densitymap.latsrc": { + "funnel.marker.colorbar.tickprefix": { "params": { - "plotly_name": "latsrc", - "parent_name": "densitymap", - "edit_type": "none" + "plotly_name": "tickprefix", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "densitymap.lat": { + "funnel.marker.colorbar.tickmode": { "params": { - "plotly_name": "lat", - "parent_name": "densitymap", - "edit_type": "calc" + "plotly_name": "tickmode", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars", + "implied_edits": {}, + "values": [ + "auto", + "linear", + "array" + ] }, - "superclass": "DataArrayValidator" + "superclass": "EnumeratedValidator" }, - "densitymap.idssrc": { + "funnel.marker.colorbar.ticklen": { "params": { - "plotly_name": "idssrc", - "parent_name": "densitymap", - "edit_type": "none" + "plotly_name": "ticklen", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "densitymap.ids": { + "funnel.marker.colorbar.ticklabelstep": { "params": { - "plotly_name": "ids", - "parent_name": "densitymap", - "edit_type": "calc" + "plotly_name": "ticklabelstep", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars", + "min": 1 }, - "superclass": "DataArrayValidator" + "superclass": "IntegerValidator" }, - "densitymap.hovertextsrc": { + "funnel.marker.colorbar.ticklabelposition": { "params": { - "plotly_name": "hovertextsrc", - "parent_name": "densitymap", - "edit_type": "none" + "plotly_name": "ticklabelposition", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "densitymap.hovertext": { + "funnel.marker.colorbar.ticklabeloverflow": { "params": { - "plotly_name": "hovertext", - "parent_name": "densitymap", - "array_ok": true, - "edit_type": "calc" + "plotly_name": "ticklabeloverflow", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "allow", + "hide past div", + "hide past domain" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "densitymap.hovertemplatesrc": { + "funnel.marker.colorbar.tickformatstopdefaults": { "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "densitymap", - "edit_type": "none" + "plotly_name": "tickformatstopdefaults", + "parent_name": "funnel.marker.colorbar", + "data_class_str": "Tickformatstop", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "funnel.marker.colorbar.tickformatstops": { + "params": { + "plotly_name": "tickformatstops", + "parent_name": "funnel.marker.colorbar", + "data_class_str": "Tickformatstop", + "data_docs": "\n" }, - "superclass": "SrcValidator" + "superclass": "CompoundArrayValidator" }, - "densitymap.hovertemplatefallback": { + "funnel.marker.colorbar.tickformatstop.value": { "params": { - "plotly_name": "hovertemplatefallback", - "parent_name": "densitymap", - "edit_type": "none" + "plotly_name": "value", + "parent_name": "funnel.marker.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "AnyValidator" + "superclass": "StringValidator" }, - "densitymap.hovertemplate": { + "funnel.marker.colorbar.tickformatstop.templateitemname": { "params": { - "plotly_name": "hovertemplate", - "parent_name": "densitymap", - "array_ok": true, - "edit_type": "none" + "plotly_name": "templateitemname", + "parent_name": "funnel.marker.colorbar.tickformatstop", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "densitymap.hoverlabel": { + "funnel.marker.colorbar.tickformatstop.name": { "params": { - "plotly_name": "hoverlabel", - "parent_name": "densitymap", - "data_class_str": "Hoverlabel", - "data_docs": "\n" + "plotly_name": "name", + "parent_name": "funnel.marker.colorbar.tickformatstop", + "edit_type": "colorbars" }, - "superclass": "CompoundValidator" + "superclass": "StringValidator" }, - "densitymap.hoverlabel.showarrow": { + "funnel.marker.colorbar.tickformatstop.enabled": { "params": { - "plotly_name": "showarrow", - "parent_name": "densitymap.hoverlabel", - "edit_type": "none" + "plotly_name": "enabled", + "parent_name": "funnel.marker.colorbar.tickformatstop", + "edit_type": "colorbars" }, "superclass": "BooleanValidator" }, - "densitymap.hoverlabel.namelengthsrc": { + "funnel.marker.colorbar.tickformatstop.dtickrange": { "params": { - "plotly_name": "namelengthsrc", - "parent_name": "densitymap.hoverlabel", - "edit_type": "none" + "plotly_name": "dtickrange", + "parent_name": "funnel.marker.colorbar.tickformatstop", + "edit_type": "colorbars", + "items": [ + { + "editType": "colorbars", + "valType": "any" + }, + { + "editType": "colorbars", + "valType": "any" + } + ] }, - "superclass": "SrcValidator" + "superclass": "InfoArrayValidator" }, - "densitymap.hoverlabel.namelength": { + "funnel.marker.colorbar.tickformat": { "params": { - "plotly_name": "namelength", - "parent_name": "densitymap.hoverlabel", - "array_ok": true, - "edit_type": "none", - "min": -1 + "plotly_name": "tickformat", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "IntegerValidator" + "superclass": "StringValidator" }, - "densitymap.hoverlabel.font": { + "funnel.marker.colorbar.tickfont": { "params": { - "plotly_name": "font", - "parent_name": "densitymap.hoverlabel", - "data_class_str": "Font", + "plotly_name": "tickfont", + "parent_name": "funnel.marker.colorbar", + "data_class_str": "Tickfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "densitymap.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "densitymap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymap.hoverlabel.font.weight": { + "funnel.marker.colorbar.tickfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "densitymap.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "funnel.marker.colorbar.tickfont", + "edit_type": "colorbars", "extras": [ "normal", "bold" @@ -108002,20 +91407,11 @@ }, "superclass": "IntegerValidator" }, - "densitymap.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "densitymap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymap.hoverlabel.font.variant": { + "funnel.marker.colorbar.tickfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "densitymap.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "funnel.marker.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "small-caps", @@ -108027,20 +91423,11 @@ }, "superclass": "EnumeratedValidator" }, - "densitymap.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "densitymap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymap.hoverlabel.font.textcase": { + "funnel.marker.colorbar.tickfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "densitymap.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "funnel.marker.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "word caps", @@ -108050,20 +91437,11 @@ }, "superclass": "EnumeratedValidator" }, - "densitymap.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "densitymap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymap.hoverlabel.font.style": { + "funnel.marker.colorbar.tickfont.style": { "params": { "plotly_name": "style", - "parent_name": "densitymap.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "funnel.marker.colorbar.tickfont", + "edit_type": "colorbars", "values": [ "normal", "italic" @@ -108071,55 +91449,28 @@ }, "superclass": "EnumeratedValidator" }, - "densitymap.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "densitymap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymap.hoverlabel.font.size": { + "funnel.marker.colorbar.tickfont.size": { "params": { "plotly_name": "size", - "parent_name": "densitymap.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "funnel.marker.colorbar.tickfont", + "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "densitymap.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "densitymap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymap.hoverlabel.font.shadow": { + "funnel.marker.colorbar.tickfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "densitymap.hoverlabel.font", - "array_ok": true, - "edit_type": "none" + "parent_name": "funnel.marker.colorbar.tickfont", + "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "densitymap.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "densitymap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymap.hoverlabel.font.lineposition": { + "funnel.marker.colorbar.tickfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "densitymap.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "funnel.marker.colorbar.tickfont", + "edit_type": "colorbars", "extras": [ "none" ], @@ -108131,291 +91482,376 @@ }, "superclass": "FlaglistValidator" }, - "densitymap.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "densitymap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymap.hoverlabel.font.family": { + "funnel.marker.colorbar.tickfont.family": { "params": { "plotly_name": "family", - "parent_name": "densitymap.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "funnel.marker.colorbar.tickfont", + "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "densitymap.hoverlabel.font.colorsrc": { + "funnel.marker.colorbar.tickfont.color": { "params": { - "plotly_name": "colorsrc", - "parent_name": "densitymap.hoverlabel.font", - "edit_type": "none" + "plotly_name": "color", + "parent_name": "funnel.marker.colorbar.tickfont", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "ColorValidator" }, - "densitymap.hoverlabel.font.color": { + "funnel.marker.colorbar.tickcolor": { "params": { - "plotly_name": "color", - "parent_name": "densitymap.hoverlabel.font", - "array_ok": true, - "edit_type": "none" + "plotly_name": "tickcolor", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "densitymap.hoverlabel.bordercolorsrc": { + "funnel.marker.colorbar.tickangle": { "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "densitymap.hoverlabel", - "edit_type": "none" + "plotly_name": "tickangle", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "AngleValidator" }, - "densitymap.hoverlabel.bordercolor": { + "funnel.marker.colorbar.tick0": { "params": { - "plotly_name": "bordercolor", - "parent_name": "densitymap.hoverlabel", - "array_ok": true, - "edit_type": "none" + "plotly_name": "tick0", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars", + "implied_edits": { + "tickmode": "linear" + } }, - "superclass": "ColorValidator" + "superclass": "AnyValidator" }, - "densitymap.hoverlabel.bgcolorsrc": { + "funnel.marker.colorbar.thicknessmode": { "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "densitymap.hoverlabel", - "edit_type": "none" + "plotly_name": "thicknessmode", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "fraction", + "pixels" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "densitymap.hoverlabel.bgcolor": { + "funnel.marker.colorbar.thickness": { "params": { - "plotly_name": "bgcolor", - "parent_name": "densitymap.hoverlabel", - "array_ok": true, - "edit_type": "none" + "plotly_name": "thickness", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "ColorValidator" + "superclass": "NumberValidator" }, - "densitymap.hoverlabel.alignsrc": { + "funnel.marker.colorbar.showticksuffix": { "params": { - "plotly_name": "alignsrc", - "parent_name": "densitymap.hoverlabel", - "edit_type": "none" + "plotly_name": "showticksuffix", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "densitymap.hoverlabel.align": { + "funnel.marker.colorbar.showtickprefix": { "params": { - "plotly_name": "align", - "parent_name": "densitymap.hoverlabel", - "array_ok": true, - "edit_type": "none", + "plotly_name": "showtickprefix", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars", "values": [ - "left", - "right", - "auto" + "all", + "first", + "last", + "none" ] }, "superclass": "EnumeratedValidator" }, - "densitymap.hoverinfosrc": { + "funnel.marker.colorbar.showticklabels": { "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "densitymap", - "edit_type": "none" + "plotly_name": "showticklabels", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "densitymap.hoverinfo": { + "funnel.marker.colorbar.showexponent": { "params": { - "plotly_name": "hoverinfo", - "parent_name": "densitymap", - "array_ok": true, - "edit_type": "none", - "extras": [ + "plotly_name": "showexponent", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars", + "values": [ "all", - "none", - "skip" - ], - "flags": [ - "lon", - "lat", - "z", - "text", - "name" + "first", + "last", + "none" ] }, - "superclass": "FlaglistValidator" - }, - "densitymap.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "densitymap", - "edit_type": "none" - }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "densitymap.customdata": { + "funnel.marker.colorbar.separatethousands": { "params": { - "plotly_name": "customdata", - "parent_name": "densitymap", - "edit_type": "calc" + "plotly_name": "separatethousands", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "DataArrayValidator" + "superclass": "BooleanValidator" }, - "densitymap.colorscale": { + "funnel.marker.colorbar.outlinewidth": { "params": { - "plotly_name": "colorscale", - "parent_name": "densitymap", - "edit_type": "calc", - "implied_edits": { - "autocolorscale": false - } + "plotly_name": "outlinewidth", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "ColorscaleValidator" + "superclass": "NumberValidator" }, - "densitymap.colorbar": { + "funnel.marker.colorbar.outlinecolor": { "params": { - "plotly_name": "colorbar", - "parent_name": "densitymap", - "data_class_str": "ColorBar", - "data_docs": "\n" + "plotly_name": "outlinecolor", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "CompoundValidator" + "superclass": "ColorValidator" }, - "densitymap.colorbar.yref": { + "funnel.marker.colorbar.orientation": { "params": { - "plotly_name": "yref", - "parent_name": "densitymap.colorbar", + "plotly_name": "orientation", + "parent_name": "funnel.marker.colorbar", "edit_type": "colorbars", "values": [ - "container", - "paper" + "h", + "v" ] }, "superclass": "EnumeratedValidator" }, - "densitymap.colorbar.ypad": { + "funnel.marker.colorbar.nticks": { "params": { - "plotly_name": "ypad", - "parent_name": "densitymap.colorbar", + "plotly_name": "nticks", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars", + "min": 0 + }, + "superclass": "IntegerValidator" + }, + "funnel.marker.colorbar.minexponent": { + "params": { + "plotly_name": "minexponent", + "parent_name": "funnel.marker.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "densitymap.colorbar.yanchor": { + "funnel.marker.colorbar.lenmode": { "params": { - "plotly_name": "yanchor", - "parent_name": "densitymap.colorbar", + "plotly_name": "lenmode", + "parent_name": "funnel.marker.colorbar", "edit_type": "colorbars", "values": [ - "top", - "middle", - "bottom" + "fraction", + "pixels" ] }, "superclass": "EnumeratedValidator" }, - "densitymap.colorbar.y": { + "funnel.marker.colorbar.len": { "params": { - "plotly_name": "y", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars" + "plotly_name": "len", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars", + "min": 0 }, "superclass": "NumberValidator" }, - "densitymap.colorbar.xref": { + "funnel.marker.colorbar.labelalias": { "params": { - "plotly_name": "xref", - "parent_name": "densitymap.colorbar", + "plotly_name": "labelalias", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars" + }, + "superclass": "AnyValidator" + }, + "funnel.marker.colorbar.exponentformat": { + "params": { + "plotly_name": "exponentformat", + "parent_name": "funnel.marker.colorbar", "edit_type": "colorbars", "values": [ - "container", - "paper" + "none", + "e", + "E", + "power", + "SI", + "B", + "SI extended" ] }, "superclass": "EnumeratedValidator" }, - "densitymap.colorbar.xpad": { + "funnel.marker.colorbar.dtick": { "params": { - "plotly_name": "xpad", - "parent_name": "densitymap.colorbar", + "plotly_name": "dtick", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars", + "implied_edits": { + "tickmode": "linear" + } + }, + "superclass": "AnyValidator" + }, + "funnel.marker.colorbar.borderwidth": { + "params": { + "plotly_name": "borderwidth", + "parent_name": "funnel.marker.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "densitymap.colorbar.xanchor": { + "funnel.marker.colorbar.bordercolor": { "params": { - "plotly_name": "xanchor", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars", - "values": [ - "left", - "center", - "right" - ] + "plotly_name": "bordercolor", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars" }, - "superclass": "EnumeratedValidator" + "superclass": "ColorValidator" }, - "densitymap.colorbar.x": { + "funnel.marker.colorbar.bgcolor": { + "params": { + "plotly_name": "bgcolor", + "parent_name": "funnel.marker.colorbar", + "edit_type": "colorbars" + }, + "superclass": "ColorValidator" + }, + "funnel.marker.coloraxis": { + "params": { + "plotly_name": "coloraxis", + "parent_name": "funnel.marker", + "dflt": null, + "edit_type": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" + }, + "superclass": "SubplotidValidator" + }, + "funnel.marker.color": { + "params": { + "plotly_name": "color", + "parent_name": "funnel.marker", + "array_ok": true, + "edit_type": "style", + "colorscale_path": "funnel.marker.colorscale" + }, + "superclass": "ColorValidator" + }, + "funnel.marker.cmin": { + "params": { + "plotly_name": "cmin", + "parent_name": "funnel.marker", + "edit_type": "plot", + "implied_edits": { + "cauto": false + } + }, + "superclass": "NumberValidator" + }, + "funnel.marker.cmid": { + "params": { + "plotly_name": "cmid", + "parent_name": "funnel.marker", + "edit_type": "calc", + "implied_edits": {} + }, + "superclass": "NumberValidator" + }, + "funnel.marker.cmax": { + "params": { + "plotly_name": "cmax", + "parent_name": "funnel.marker", + "edit_type": "plot", + "implied_edits": { + "cauto": false + } + }, + "superclass": "NumberValidator" + }, + "funnel.marker.cauto": { + "params": { + "plotly_name": "cauto", + "parent_name": "funnel.marker", + "edit_type": "calc", + "implied_edits": {} + }, + "superclass": "BooleanValidator" + }, + "funnel.marker.autocolorscale": { + "params": { + "plotly_name": "autocolorscale", + "parent_name": "funnel.marker", + "edit_type": "calc", + "implied_edits": {} + }, + "superclass": "BooleanValidator" + }, + "funnel.legendwidth": { + "params": { + "plotly_name": "legendwidth", + "parent_name": "funnel", + "edit_type": "style", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "funnel.legendrank": { "params": { - "plotly_name": "x", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars" + "plotly_name": "legendrank", + "parent_name": "funnel", + "edit_type": "style" }, "superclass": "NumberValidator" }, - "densitymap.colorbar.title": { + "funnel.legendgrouptitle": { "params": { - "plotly_name": "title", - "parent_name": "densitymap.colorbar", - "data_class_str": "Title", + "plotly_name": "legendgrouptitle", + "parent_name": "funnel", + "data_class_str": "Legendgrouptitle", "data_docs": "\n" }, - "superclass": "TitleValidator" + "superclass": "CompoundValidator" }, - "densitymap.colorbar.title.text": { + "funnel.legendgrouptitle.text": { "params": { "plotly_name": "text", - "parent_name": "densitymap.colorbar.title", - "edit_type": "colorbars" + "parent_name": "funnel.legendgrouptitle", + "edit_type": "style" }, "superclass": "StringValidator" }, - "densitymap.colorbar.title.side": { - "params": { - "plotly_name": "side", - "parent_name": "densitymap.colorbar.title", - "edit_type": "colorbars", - "values": [ - "right", - "top", - "bottom" - ] - }, - "superclass": "EnumeratedValidator" - }, - "densitymap.colorbar.title.font": { + "funnel.legendgrouptitle.font": { "params": { "plotly_name": "font", - "parent_name": "densitymap.colorbar.title", + "parent_name": "funnel.legendgrouptitle", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "densitymap.colorbar.title.font.weight": { + "funnel.legendgrouptitle.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "densitymap.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "funnel.legendgrouptitle.font", + "edit_type": "style", "extras": [ "normal", "bold" @@ -108425,11 +91861,11 @@ }, "superclass": "IntegerValidator" }, - "densitymap.colorbar.title.font.variant": { + "funnel.legendgrouptitle.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "densitymap.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "funnel.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "small-caps", @@ -108441,11 +91877,11 @@ }, "superclass": "EnumeratedValidator" }, - "densitymap.colorbar.title.font.textcase": { + "funnel.legendgrouptitle.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "densitymap.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "funnel.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "word caps", @@ -108455,11 +91891,11 @@ }, "superclass": "EnumeratedValidator" }, - "densitymap.colorbar.title.font.style": { + "funnel.legendgrouptitle.font.style": { "params": { "plotly_name": "style", - "parent_name": "densitymap.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "funnel.legendgrouptitle.font", + "edit_type": "style", "values": [ "normal", "italic" @@ -108467,28 +91903,28 @@ }, "superclass": "EnumeratedValidator" }, - "densitymap.colorbar.title.font.size": { + "funnel.legendgrouptitle.font.size": { "params": { "plotly_name": "size", - "parent_name": "densitymap.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "funnel.legendgrouptitle.font", + "edit_type": "style", "min": 1 }, "superclass": "NumberValidator" }, - "densitymap.colorbar.title.font.shadow": { + "funnel.legendgrouptitle.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "densitymap.colorbar.title.font", - "edit_type": "colorbars" + "parent_name": "funnel.legendgrouptitle.font", + "edit_type": "style" }, "superclass": "StringValidator" }, - "densitymap.colorbar.title.font.lineposition": { + "funnel.legendgrouptitle.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "densitymap.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "funnel.legendgrouptitle.font", + "edit_type": "style", "extras": [ "none" ], @@ -108500,249 +91936,56 @@ }, "superclass": "FlaglistValidator" }, - "densitymap.colorbar.title.font.family": { + "funnel.legendgrouptitle.font.family": { "params": { "plotly_name": "family", - "parent_name": "densitymap.colorbar.title.font", - "edit_type": "colorbars", + "parent_name": "funnel.legendgrouptitle.font", + "edit_type": "style", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "densitymap.colorbar.title.font.color": { + "funnel.legendgrouptitle.font.color": { "params": { "plotly_name": "color", - "parent_name": "densitymap.colorbar.title.font", - "edit_type": "colorbars" + "parent_name": "funnel.legendgrouptitle.font", + "edit_type": "style" }, "superclass": "ColorValidator" }, - "densitymap.colorbar.tickwidth": { - "params": { - "plotly_name": "tickwidth", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "densitymap.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "densitymap.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymap.colorbar.tickvals": { - "params": { - "plotly_name": "tickvals", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars" - }, - "superclass": "DataArrayValidator" - }, - "densitymap.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "densitymap.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "densitymap.colorbar.ticktext": { - "params": { - "plotly_name": "ticktext", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars" - }, - "superclass": "DataArrayValidator" - }, - "densitymap.colorbar.ticksuffix": { - "params": { - "plotly_name": "ticksuffix", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "densitymap.colorbar.ticks": { - "params": { - "plotly_name": "ticks", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars", - "values": [ - "outside", - "inside", - "" - ] - }, - "superclass": "EnumeratedValidator" - }, - "densitymap.colorbar.tickprefix": { - "params": { - "plotly_name": "tickprefix", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "densitymap.colorbar.tickmode": { - "params": { - "plotly_name": "tickmode", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars", - "implied_edits": {}, - "values": [ - "auto", - "linear", - "array" - ] - }, - "superclass": "EnumeratedValidator" - }, - "densitymap.colorbar.ticklen": { - "params": { - "plotly_name": "ticklen", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "densitymap.colorbar.ticklabelstep": { - "params": { - "plotly_name": "ticklabelstep", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars", - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "densitymap.colorbar.ticklabelposition": { - "params": { - "plotly_name": "ticklabelposition", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" - ] - }, - "superclass": "EnumeratedValidator" - }, - "densitymap.colorbar.ticklabeloverflow": { - "params": { - "plotly_name": "ticklabeloverflow", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars", - "values": [ - "allow", - "hide past div", - "hide past domain" - ] - }, - "superclass": "EnumeratedValidator" - }, - "densitymap.colorbar.tickformatstopdefaults": { - "params": { - "plotly_name": "tickformatstopdefaults", - "parent_name": "densitymap.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "densitymap.colorbar.tickformatstops": { - "params": { - "plotly_name": "tickformatstops", - "parent_name": "densitymap.colorbar", - "data_class_str": "Tickformatstop", - "data_docs": "\n" - }, - "superclass": "CompoundArrayValidator" - }, - "densitymap.colorbar.tickformatstop.value": { - "params": { - "plotly_name": "value", - "parent_name": "densitymap.colorbar.tickformatstop", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "densitymap.colorbar.tickformatstop.templateitemname": { - "params": { - "plotly_name": "templateitemname", - "parent_name": "densitymap.colorbar.tickformatstop", - "edit_type": "colorbars" - }, - "superclass": "StringValidator" - }, - "densitymap.colorbar.tickformatstop.name": { + "funnel.legendgroup": { "params": { - "plotly_name": "name", - "parent_name": "densitymap.colorbar.tickformatstop", - "edit_type": "colorbars" + "plotly_name": "legendgroup", + "parent_name": "funnel", + "edit_type": "style" }, "superclass": "StringValidator" }, - "densitymap.colorbar.tickformatstop.enabled": { - "params": { - "plotly_name": "enabled", - "parent_name": "densitymap.colorbar.tickformatstop", - "edit_type": "colorbars" - }, - "superclass": "BooleanValidator" - }, - "densitymap.colorbar.tickformatstop.dtickrange": { - "params": { - "plotly_name": "dtickrange", - "parent_name": "densitymap.colorbar.tickformatstop", - "edit_type": "colorbars", - "items": [ - { - "editType": "colorbars", - "valType": "any" - }, - { - "editType": "colorbars", - "valType": "any" - } - ] - }, - "superclass": "InfoArrayValidator" - }, - "densitymap.colorbar.tickformat": { + "funnel.legend": { "params": { - "plotly_name": "tickformat", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars" + "plotly_name": "legend", + "parent_name": "funnel", + "dflt": "legend", + "edit_type": "style" }, - "superclass": "StringValidator" + "superclass": "SubplotidValidator" }, - "densitymap.colorbar.tickfont": { + "funnel.insidetextfont": { "params": { - "plotly_name": "tickfont", - "parent_name": "densitymap.colorbar", - "data_class_str": "Tickfont", + "plotly_name": "insidetextfont", + "parent_name": "funnel", + "data_class_str": "Insidetextfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "densitymap.colorbar.tickfont.weight": { + "funnel.insidetextfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "densitymap.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "funnel.insidetextfont", + "array_ok": true, + "edit_type": "calc", "extras": [ "normal", "bold" @@ -108752,11 +91995,12 @@ }, "superclass": "IntegerValidator" }, - "densitymap.colorbar.tickfont.variant": { + "funnel.insidetextfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "densitymap.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "funnel.insidetextfont", + "array_ok": true, + "edit_type": "calc", "values": [ "normal", "small-caps", @@ -108768,11 +92012,12 @@ }, "superclass": "EnumeratedValidator" }, - "densitymap.colorbar.tickfont.textcase": { + "funnel.insidetextfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "densitymap.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "funnel.insidetextfont", + "array_ok": true, + "edit_type": "calc", "values": [ "normal", "word caps", @@ -108782,11 +92027,12 @@ }, "superclass": "EnumeratedValidator" }, - "densitymap.colorbar.tickfont.style": { + "funnel.insidetextfont.style": { "params": { "plotly_name": "style", - "parent_name": "densitymap.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "funnel.insidetextfont", + "array_ok": true, + "edit_type": "calc", "values": [ "normal", "italic" @@ -108794,28 +92040,31 @@ }, "superclass": "EnumeratedValidator" }, - "densitymap.colorbar.tickfont.size": { + "funnel.insidetextfont.size": { "params": { "plotly_name": "size", - "parent_name": "densitymap.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "funnel.insidetextfont", + "array_ok": true, + "edit_type": "calc", "min": 1 }, "superclass": "NumberValidator" }, - "densitymap.colorbar.tickfont.shadow": { + "funnel.insidetextfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "densitymap.colorbar.tickfont", - "edit_type": "colorbars" + "parent_name": "funnel.insidetextfont", + "array_ok": true, + "edit_type": "calc" }, "superclass": "StringValidator" }, - "densitymap.colorbar.tickfont.lineposition": { + "funnel.insidetextfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "densitymap.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "funnel.insidetextfont", + "array_ok": true, + "edit_type": "calc", "extras": [ "none" ], @@ -108827,381 +92076,462 @@ }, "superclass": "FlaglistValidator" }, - "densitymap.colorbar.tickfont.family": { + "funnel.insidetextfont.family": { "params": { "plotly_name": "family", - "parent_name": "densitymap.colorbar.tickfont", - "edit_type": "colorbars", + "parent_name": "funnel.insidetextfont", + "array_ok": true, + "edit_type": "calc", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "densitymap.colorbar.tickfont.color": { + "funnel.insidetextfont.color": { "params": { "plotly_name": "color", - "parent_name": "densitymap.colorbar.tickfont", - "edit_type": "colorbars" + "parent_name": "funnel.insidetextfont", + "array_ok": true, + "edit_type": "style" }, "superclass": "ColorValidator" }, - "densitymap.colorbar.tickcolor": { + "funnel.insidetextanchor": { "params": { - "plotly_name": "tickcolor", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars" + "plotly_name": "insidetextanchor", + "parent_name": "funnel", + "edit_type": "plot", + "values": [ + "end", + "middle", + "start" + ] }, - "superclass": "ColorValidator" + "superclass": "EnumeratedValidator" }, - "densitymap.colorbar.tickangle": { + "funnel.ids": { "params": { - "plotly_name": "tickangle", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars" + "plotly_name": "ids", + "parent_name": "funnel", + "edit_type": "calc" }, - "superclass": "AngleValidator" + "superclass": "DataArrayValidator" }, - "densitymap.colorbar.tick0": { + "funnel.hovertext": { "params": { - "plotly_name": "tick0", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars", - "implied_edits": { - "tickmode": "linear" - } + "plotly_name": "hovertext", + "parent_name": "funnel", + "array_ok": true, + "edit_type": "style" + }, + "superclass": "StringValidator" + }, + "funnel.hovertemplatefallback": { + "params": { + "plotly_name": "hovertemplatefallback", + "parent_name": "funnel", + "edit_type": "none" }, "superclass": "AnyValidator" }, - "densitymap.colorbar.thicknessmode": { + "funnel.hovertemplate": { "params": { - "plotly_name": "thicknessmode", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars", - "values": [ - "fraction", - "pixels" - ] + "plotly_name": "hovertemplate", + "parent_name": "funnel", + "array_ok": true, + "edit_type": "none" }, - "superclass": "EnumeratedValidator" + "superclass": "StringValidator" }, - "densitymap.colorbar.thickness": { + "funnel.hoverlabel": { "params": { - "plotly_name": "thickness", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "hoverlabel", + "parent_name": "funnel", + "data_class_str": "Hoverlabel", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "densitymap.colorbar.showticksuffix": { + "funnel.hoverlabel.showarrow": { "params": { - "plotly_name": "showticksuffix", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars", + "plotly_name": "showarrow", + "parent_name": "funnel.hoverlabel", + "edit_type": "none" + }, + "superclass": "BooleanValidator" + }, + "funnel.hoverlabel.namelength": { + "params": { + "plotly_name": "namelength", + "parent_name": "funnel.hoverlabel", + "array_ok": true, + "edit_type": "none", + "min": -1 + }, + "superclass": "IntegerValidator" + }, + "funnel.hoverlabel.font": { + "params": { + "plotly_name": "font", + "parent_name": "funnel.hoverlabel", + "data_class_str": "Font", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "funnel.hoverlabel.font.weight": { + "params": { + "plotly_name": "weight", + "parent_name": "funnel.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 + }, + "superclass": "IntegerValidator" + }, + "funnel.hoverlabel.font.variant": { + "params": { + "plotly_name": "variant", + "parent_name": "funnel.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "superclass": "EnumeratedValidator" + }, + "funnel.hoverlabel.font.textcase": { + "params": { + "plotly_name": "textcase", + "parent_name": "funnel.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ - "all", - "first", - "last", - "none" + "normal", + "word caps", + "upper", + "lower" ] }, "superclass": "EnumeratedValidator" }, - "densitymap.colorbar.showtickprefix": { + "funnel.hoverlabel.font.style": { "params": { - "plotly_name": "showtickprefix", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars", + "plotly_name": "style", + "parent_name": "funnel.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ - "all", - "first", - "last", - "none" + "normal", + "italic" ] }, "superclass": "EnumeratedValidator" }, - "densitymap.colorbar.showticklabels": { + "funnel.hoverlabel.font.size": { "params": { - "plotly_name": "showticklabels", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars" + "plotly_name": "size", + "parent_name": "funnel.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "min": 1 }, - "superclass": "BooleanValidator" + "superclass": "NumberValidator" }, - "densitymap.colorbar.showexponent": { + "funnel.hoverlabel.font.shadow": { "params": { - "plotly_name": "showexponent", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars", - "values": [ - "all", - "first", - "last", + "plotly_name": "shadow", + "parent_name": "funnel.hoverlabel.font", + "array_ok": true, + "edit_type": "none" + }, + "superclass": "StringValidator" + }, + "funnel.hoverlabel.font.lineposition": { + "params": { + "plotly_name": "lineposition", + "parent_name": "funnel.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "extras": [ "none" + ], + "flags": [ + "under", + "over", + "through" ] }, - "superclass": "EnumeratedValidator" + "superclass": "FlaglistValidator" }, - "densitymap.colorbar.separatethousands": { + "funnel.hoverlabel.font.family": { "params": { - "plotly_name": "separatethousands", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars" + "plotly_name": "family", + "parent_name": "funnel.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "no_blank": true, + "strict": true }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "densitymap.colorbar.outlinewidth": { + "funnel.hoverlabel.font.color": { "params": { - "plotly_name": "outlinewidth", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "color", + "parent_name": "funnel.hoverlabel.font", + "array_ok": true, + "edit_type": "none" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "densitymap.colorbar.outlinecolor": { + "funnel.hoverlabel.bordercolor": { "params": { - "plotly_name": "outlinecolor", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars" + "plotly_name": "bordercolor", + "parent_name": "funnel.hoverlabel", + "array_ok": true, + "edit_type": "none" }, "superclass": "ColorValidator" }, - "densitymap.colorbar.orientation": { + "funnel.hoverlabel.bgcolor": { "params": { - "plotly_name": "orientation", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars", + "plotly_name": "bgcolor", + "parent_name": "funnel.hoverlabel", + "array_ok": true, + "edit_type": "none" + }, + "superclass": "ColorValidator" + }, + "funnel.hoverlabel.align": { + "params": { + "plotly_name": "align", + "parent_name": "funnel.hoverlabel", + "array_ok": true, + "edit_type": "none", "values": [ - "h", - "v" + "left", + "right", + "auto" ] }, "superclass": "EnumeratedValidator" }, - "densitymap.colorbar.nticks": { + "funnel.hoverinfo": { "params": { - "plotly_name": "nticks", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "hoverinfo", + "parent_name": "funnel", + "array_ok": true, + "edit_type": "none", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "name", + "x", + "y", + "text", + "percent initial", + "percent previous", + "percent total" + ] }, - "superclass": "IntegerValidator" + "superclass": "FlaglistValidator" }, - "densitymap.colorbar.minexponent": { + "funnel.dy": { "params": { - "plotly_name": "minexponent", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "dy", + "parent_name": "funnel", + "edit_type": "calc" }, "superclass": "NumberValidator" }, - "densitymap.colorbar.lenmode": { - "params": { - "plotly_name": "lenmode", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars", - "values": [ - "fraction", - "pixels" - ] - }, - "superclass": "EnumeratedValidator" - }, - "densitymap.colorbar.len": { + "funnel.dx": { "params": { - "plotly_name": "len", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "dx", + "parent_name": "funnel", + "edit_type": "calc" }, "superclass": "NumberValidator" }, - "densitymap.colorbar.labelalias": { + "funnel.customdata": { "params": { - "plotly_name": "labelalias", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars" + "plotly_name": "customdata", + "parent_name": "funnel", + "edit_type": "calc" }, - "superclass": "AnyValidator" + "superclass": "DataArrayValidator" }, - "densitymap.colorbar.exponentformat": { + "funnel.constraintext": { "params": { - "plotly_name": "exponentformat", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars", + "plotly_name": "constraintext", + "parent_name": "funnel", + "edit_type": "calc", "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" + "inside", + "outside", + "both", + "none" ] }, "superclass": "EnumeratedValidator" }, - "densitymap.colorbar.dtick": { + "funnel.connector": { "params": { - "plotly_name": "dtick", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars", - "implied_edits": { - "tickmode": "linear" - } + "plotly_name": "connector", + "parent_name": "funnel", + "data_class_str": "Connector", + "data_docs": "\n" }, - "superclass": "AnyValidator" + "superclass": "CompoundValidator" }, - "densitymap.colorbar.borderwidth": { + "funnel.connector.visible": { "params": { - "plotly_name": "borderwidth", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars", + "plotly_name": "visible", + "parent_name": "funnel.connector", + "edit_type": "plot" + }, + "superclass": "BooleanValidator" + }, + "funnel.connector.line": { + "params": { + "plotly_name": "line", + "parent_name": "funnel.connector", + "data_class_str": "Line", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "funnel.connector.line.width": { + "params": { + "plotly_name": "width", + "parent_name": "funnel.connector.line", + "edit_type": "plot", "min": 0 }, "superclass": "NumberValidator" }, - "densitymap.colorbar.bordercolor": { + "funnel.connector.line.dash": { "params": { - "plotly_name": "bordercolor", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars" + "plotly_name": "dash", + "parent_name": "funnel.connector.line", + "edit_type": "style", + "values": [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" + ] }, - "superclass": "ColorValidator" + "superclass": "DashValidator" }, - "densitymap.colorbar.bgcolor": { + "funnel.connector.line.color": { "params": { - "plotly_name": "bgcolor", - "parent_name": "densitymap.colorbar", - "edit_type": "colorbars" + "plotly_name": "color", + "parent_name": "funnel.connector.line", + "edit_type": "style" }, "superclass": "ColorValidator" }, - "densitymap.coloraxis": { + "funnel.connector.fillcolor": { "params": { - "plotly_name": "coloraxis", - "parent_name": "densitymap", - "dflt": null, - "edit_type": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" + "plotly_name": "fillcolor", + "parent_name": "funnel.connector", + "edit_type": "style" }, - "superclass": "SubplotidValidator" + "superclass": "ColorValidator" }, - "densitymap.below": { + "funnel.cliponaxis": { "params": { - "plotly_name": "below", - "parent_name": "densitymap", + "plotly_name": "cliponaxis", + "parent_name": "funnel", "edit_type": "plot" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "densitymap.autocolorscale": { + "funnel.alignmentgroup": { "params": { - "plotly_name": "autocolorscale", - "parent_name": "densitymap", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "alignmentgroup", + "parent_name": "funnel", + "edit_type": "calc" }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "contourcarpet": { + "densitymap": { "params": { - "plotly_name": "contourcarpet", + "plotly_name": "densitymap", "parent_name": "", - "data_class_str": "Contourcarpet", + "data_class_str": "Densitymap", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "contourcarpet.zsrc": { - "params": { - "plotly_name": "zsrc", - "parent_name": "contourcarpet", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contourcarpet.zorder": { - "params": { - "plotly_name": "zorder", - "parent_name": "contourcarpet", - "edit_type": "plot" - }, - "superclass": "IntegerValidator" - }, - "contourcarpet.zmin": { + "densitymap.zmin": { "params": { "plotly_name": "zmin", - "parent_name": "contourcarpet", - "edit_type": "plot", + "parent_name": "densitymap", + "edit_type": "calc", "implied_edits": { "zauto": false } }, "superclass": "NumberValidator" }, - "contourcarpet.zmid": { + "densitymap.zmid": { "params": { "plotly_name": "zmid", - "parent_name": "contourcarpet", + "parent_name": "densitymap", "edit_type": "calc", "implied_edits": {} }, "superclass": "NumberValidator" }, - "contourcarpet.zmax": { + "densitymap.zmax": { "params": { "plotly_name": "zmax", - "parent_name": "contourcarpet", - "edit_type": "plot", + "parent_name": "densitymap", + "edit_type": "calc", "implied_edits": { "zauto": false } }, "superclass": "NumberValidator" }, - "contourcarpet.zauto": { + "densitymap.zauto": { "params": { "plotly_name": "zauto", - "parent_name": "contourcarpet", + "parent_name": "densitymap", "edit_type": "calc", "implied_edits": {} }, "superclass": "BooleanValidator" }, - "contourcarpet.z": { + "densitymap.z": { "params": { "plotly_name": "z", - "parent_name": "contourcarpet", + "parent_name": "densitymap", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "contourcarpet.yaxis": { - "params": { - "plotly_name": "yaxis", - "parent_name": "contourcarpet", - "dflt": "y", - "edit_type": "calc+clearAxisTypes" - }, - "superclass": "SubplotidValidator" - }, - "contourcarpet.xaxis": { - "params": { - "plotly_name": "xaxis", - "parent_name": "contourcarpet", - "dflt": "x", - "edit_type": "calc+clearAxisTypes" - }, - "superclass": "SubplotidValidator" - }, - "contourcarpet.visible": { + "densitymap.visible": { "params": { "plotly_name": "visible", - "parent_name": "contourcarpet", + "parent_name": "densitymap", "edit_type": "calc", "values": [ true, @@ -109211,242 +92541,156 @@ }, "superclass": "EnumeratedValidator" }, - "contourcarpet.uirevision": { + "densitymap.uirevision": { "params": { "plotly_name": "uirevision", - "parent_name": "contourcarpet", + "parent_name": "densitymap", "edit_type": "none" }, "superclass": "AnyValidator" }, - "contourcarpet.uid": { + "densitymap.uid": { "params": { "plotly_name": "uid", - "parent_name": "contourcarpet", + "parent_name": "densitymap", "edit_type": "plot" }, "superclass": "StringValidator" }, - "contourcarpet.transpose": { - "params": { - "plotly_name": "transpose", - "parent_name": "contourcarpet", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "contourcarpet.textsrc": { - "params": { - "plotly_name": "textsrc", - "parent_name": "contourcarpet", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contourcarpet.text": { + "densitymap.text": { "params": { "plotly_name": "text", - "parent_name": "contourcarpet", + "parent_name": "densitymap", + "array_ok": true, "edit_type": "calc" }, - "superclass": "DataArrayValidator" - }, - "contourcarpet.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "contourcarpet", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "contourcarpet.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "contourcarpet.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, "superclass": "StringValidator" }, - "contourcarpet.stream.maxpoints": { + "densitymap.subplot": { "params": { - "plotly_name": "maxpoints", - "parent_name": "contourcarpet.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 + "plotly_name": "subplot", + "parent_name": "densitymap", + "dflt": "map", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "SubplotidValidator" }, - "contourcarpet.showscale": { + "densitymap.showscale": { "params": { "plotly_name": "showscale", - "parent_name": "contourcarpet", + "parent_name": "densitymap", "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "contourcarpet.showlegend": { + "densitymap.showlegend": { "params": { "plotly_name": "showlegend", - "parent_name": "contourcarpet", + "parent_name": "densitymap", "edit_type": "style" }, "superclass": "BooleanValidator" }, - "contourcarpet.reversescale": { + "densitymap.reversescale": { "params": { "plotly_name": "reversescale", - "parent_name": "contourcarpet", + "parent_name": "densitymap", "edit_type": "plot" }, "superclass": "BooleanValidator" }, - "contourcarpet.opacity": { - "params": { - "plotly_name": "opacity", - "parent_name": "contourcarpet", - "edit_type": "style", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "contourcarpet.ncontours": { - "params": { - "plotly_name": "ncontours", - "parent_name": "contourcarpet", - "edit_type": "calc", - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "contourcarpet.name": { - "params": { - "plotly_name": "name", - "parent_name": "contourcarpet", - "edit_type": "style" - }, - "superclass": "StringValidator" - }, - "contourcarpet.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "contourcarpet", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contourcarpet.meta": { + "densitymap.radius": { "params": { - "plotly_name": "meta", - "parent_name": "contourcarpet", + "plotly_name": "radius", + "parent_name": "densitymap", "array_ok": true, - "edit_type": "plot" - }, - "superclass": "AnyValidator" - }, - "contourcarpet.line": { - "params": { - "plotly_name": "line", - "parent_name": "contourcarpet", - "data_class_str": "Line", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "contourcarpet.line.width": { - "params": { - "plotly_name": "width", - "parent_name": "contourcarpet.line", - "edit_type": "style+colorbars", - "min": 0 + "edit_type": "plot", + "min": 1 }, "superclass": "NumberValidator" }, - "contourcarpet.line.smoothing": { + "densitymap.opacity": { "params": { - "plotly_name": "smoothing", - "parent_name": "contourcarpet.line", - "edit_type": "plot", - "max": 1.3, + "plotly_name": "opacity", + "parent_name": "densitymap", + "edit_type": "style", + "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "contourcarpet.line.dash": { - "params": { - "plotly_name": "dash", - "parent_name": "contourcarpet.line", - "edit_type": "style", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ] + "densitymap.name": { + "params": { + "plotly_name": "name", + "parent_name": "densitymap", + "edit_type": "style" }, - "superclass": "DashValidator" + "superclass": "StringValidator" }, - "contourcarpet.line.color": { + "densitymap.meta": { "params": { - "plotly_name": "color", - "parent_name": "contourcarpet.line", - "edit_type": "style+colorbars" + "plotly_name": "meta", + "parent_name": "densitymap", + "array_ok": true, + "edit_type": "plot" }, - "superclass": "ColorValidator" + "superclass": "AnyValidator" }, - "contourcarpet.legendwidth": { + "densitymap.lon": { + "params": { + "plotly_name": "lon", + "parent_name": "densitymap", + "edit_type": "calc" + }, + "superclass": "DataArrayValidator" + }, + "densitymap.legendwidth": { "params": { "plotly_name": "legendwidth", - "parent_name": "contourcarpet", + "parent_name": "densitymap", "edit_type": "style", "min": 0 }, "superclass": "NumberValidator" }, - "contourcarpet.legendrank": { + "densitymap.legendrank": { "params": { "plotly_name": "legendrank", - "parent_name": "contourcarpet", + "parent_name": "densitymap", "edit_type": "style" }, "superclass": "NumberValidator" }, - "contourcarpet.legendgrouptitle": { + "densitymap.legendgrouptitle": { "params": { "plotly_name": "legendgrouptitle", - "parent_name": "contourcarpet", + "parent_name": "densitymap", "data_class_str": "Legendgrouptitle", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "contourcarpet.legendgrouptitle.text": { + "densitymap.legendgrouptitle.text": { "params": { "plotly_name": "text", - "parent_name": "contourcarpet.legendgrouptitle", + "parent_name": "densitymap.legendgrouptitle", "edit_type": "style" }, "superclass": "StringValidator" }, - "contourcarpet.legendgrouptitle.font": { + "densitymap.legendgrouptitle.font": { "params": { "plotly_name": "font", - "parent_name": "contourcarpet.legendgrouptitle", + "parent_name": "densitymap.legendgrouptitle", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "contourcarpet.legendgrouptitle.font.weight": { + "densitymap.legendgrouptitle.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "contourcarpet.legendgrouptitle.font", + "parent_name": "densitymap.legendgrouptitle.font", "edit_type": "style", "extras": [ "normal", @@ -109457,10 +92701,10 @@ }, "superclass": "IntegerValidator" }, - "contourcarpet.legendgrouptitle.font.variant": { + "densitymap.legendgrouptitle.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "contourcarpet.legendgrouptitle.font", + "parent_name": "densitymap.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -109473,10 +92717,10 @@ }, "superclass": "EnumeratedValidator" }, - "contourcarpet.legendgrouptitle.font.textcase": { + "densitymap.legendgrouptitle.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "contourcarpet.legendgrouptitle.font", + "parent_name": "densitymap.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -109487,10 +92731,10 @@ }, "superclass": "EnumeratedValidator" }, - "contourcarpet.legendgrouptitle.font.style": { + "densitymap.legendgrouptitle.font.style": { "params": { "plotly_name": "style", - "parent_name": "contourcarpet.legendgrouptitle.font", + "parent_name": "densitymap.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -109499,27 +92743,27 @@ }, "superclass": "EnumeratedValidator" }, - "contourcarpet.legendgrouptitle.font.size": { + "densitymap.legendgrouptitle.font.size": { "params": { "plotly_name": "size", - "parent_name": "contourcarpet.legendgrouptitle.font", + "parent_name": "densitymap.legendgrouptitle.font", "edit_type": "style", "min": 1 }, "superclass": "NumberValidator" }, - "contourcarpet.legendgrouptitle.font.shadow": { + "densitymap.legendgrouptitle.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "contourcarpet.legendgrouptitle.font", + "parent_name": "densitymap.legendgrouptitle.font", "edit_type": "style" }, "superclass": "StringValidator" }, - "contourcarpet.legendgrouptitle.font.lineposition": { + "densitymap.legendgrouptitle.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "contourcarpet.legendgrouptitle.font", + "parent_name": "densitymap.legendgrouptitle.font", "edit_type": "style", "extras": [ "none" @@ -109532,233 +92776,125 @@ }, "superclass": "FlaglistValidator" }, - "contourcarpet.legendgrouptitle.font.family": { + "densitymap.legendgrouptitle.font.family": { "params": { "plotly_name": "family", - "parent_name": "contourcarpet.legendgrouptitle.font", + "parent_name": "densitymap.legendgrouptitle.font", "edit_type": "style", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "contourcarpet.legendgrouptitle.font.color": { + "densitymap.legendgrouptitle.font.color": { "params": { "plotly_name": "color", - "parent_name": "contourcarpet.legendgrouptitle.font", + "parent_name": "densitymap.legendgrouptitle.font", "edit_type": "style" }, "superclass": "ColorValidator" }, - "contourcarpet.legendgroup": { + "densitymap.legendgroup": { "params": { "plotly_name": "legendgroup", - "parent_name": "contourcarpet", + "parent_name": "densitymap", "edit_type": "style" }, "superclass": "StringValidator" }, - "contourcarpet.legend": { + "densitymap.legend": { "params": { "plotly_name": "legend", - "parent_name": "contourcarpet", + "parent_name": "densitymap", "dflt": "legend", "edit_type": "style" }, "superclass": "SubplotidValidator" }, - "contourcarpet.idssrc": { + "densitymap.lat": { "params": { - "plotly_name": "idssrc", - "parent_name": "contourcarpet", - "edit_type": "none" + "plotly_name": "lat", + "parent_name": "densitymap", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "DataArrayValidator" }, - "contourcarpet.ids": { + "densitymap.ids": { "params": { "plotly_name": "ids", - "parent_name": "contourcarpet", + "parent_name": "densitymap", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "contourcarpet.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "contourcarpet", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contourcarpet.hovertext": { + "densitymap.hovertext": { "params": { "plotly_name": "hovertext", - "parent_name": "contourcarpet", + "parent_name": "densitymap", + "array_ok": true, "edit_type": "calc" }, - "superclass": "DataArrayValidator" - }, - "contourcarpet.fillcolor": { - "params": { - "plotly_name": "fillcolor", - "parent_name": "contourcarpet", - "edit_type": "calc", - "colorscale_path": "contourcarpet.colorscale" - }, - "superclass": "ColorValidator" - }, - "contourcarpet.db": { - "params": { - "plotly_name": "db", - "parent_name": "contourcarpet", - "edit_type": "calc", - "implied_edits": { - "ytype": "scaled" - } - }, - "superclass": "NumberValidator" - }, - "contourcarpet.da": { - "params": { - "plotly_name": "da", - "parent_name": "contourcarpet", - "edit_type": "calc", - "implied_edits": { - "xtype": "scaled" - } - }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "contourcarpet.customdatasrc": { + "densitymap.hovertemplatefallback": { "params": { - "plotly_name": "customdatasrc", - "parent_name": "contourcarpet", + "plotly_name": "hovertemplatefallback", + "parent_name": "densitymap", "edit_type": "none" }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "contourcarpet.customdata": { + "densitymap.hovertemplate": { "params": { - "plotly_name": "customdata", - "parent_name": "contourcarpet", - "edit_type": "calc" + "plotly_name": "hovertemplate", + "parent_name": "densitymap", + "array_ok": true, + "edit_type": "none" }, - "superclass": "DataArrayValidator" + "superclass": "StringValidator" }, - "contourcarpet.contours": { + "densitymap.hoverlabel": { "params": { - "plotly_name": "contours", - "parent_name": "contourcarpet", - "data_class_str": "Contours", + "plotly_name": "hoverlabel", + "parent_name": "densitymap", + "data_class_str": "Hoverlabel", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "contourcarpet.contours.value": { - "params": { - "plotly_name": "value", - "parent_name": "contourcarpet.contours", - "edit_type": "calc" - }, - "superclass": "AnyValidator" - }, - "contourcarpet.contours.type": { - "params": { - "plotly_name": "type", - "parent_name": "contourcarpet.contours", - "edit_type": "calc", - "values": [ - "levels", - "constraint" - ] - }, - "superclass": "EnumeratedValidator" - }, - "contourcarpet.contours.start": { - "params": { - "plotly_name": "start", - "parent_name": "contourcarpet.contours", - "edit_type": "plot", - "implied_edits": { - "^autocontour": false - } - }, - "superclass": "NumberValidator" - }, - "contourcarpet.contours.size": { - "params": { - "plotly_name": "size", - "parent_name": "contourcarpet.contours", - "edit_type": "plot", - "implied_edits": { - "^autocontour": false - }, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "contourcarpet.contours.showlines": { - "params": { - "plotly_name": "showlines", - "parent_name": "contourcarpet.contours", - "edit_type": "plot" - }, - "superclass": "BooleanValidator" - }, - "contourcarpet.contours.showlabels": { + "densitymap.hoverlabel.showarrow": { "params": { - "plotly_name": "showlabels", - "parent_name": "contourcarpet.contours", - "edit_type": "plot" + "plotly_name": "showarrow", + "parent_name": "densitymap.hoverlabel", + "edit_type": "none" }, "superclass": "BooleanValidator" }, - "contourcarpet.contours.operation": { - "params": { - "plotly_name": "operation", - "parent_name": "contourcarpet.contours", - "edit_type": "calc", - "values": [ - "=", - "<", - ">=", - ">", - "<=", - "[]", - "()", - "[)", - "(]", - "][", - ")(", - "](", - ")[" - ] - }, - "superclass": "EnumeratedValidator" - }, - "contourcarpet.contours.labelformat": { + "densitymap.hoverlabel.namelength": { "params": { - "plotly_name": "labelformat", - "parent_name": "contourcarpet.contours", - "edit_type": "plot" + "plotly_name": "namelength", + "parent_name": "densitymap.hoverlabel", + "array_ok": true, + "edit_type": "none", + "min": -1 }, - "superclass": "StringValidator" + "superclass": "IntegerValidator" }, - "contourcarpet.contours.labelfont": { + "densitymap.hoverlabel.font": { "params": { - "plotly_name": "labelfont", - "parent_name": "contourcarpet.contours", - "data_class_str": "Labelfont", + "plotly_name": "font", + "parent_name": "densitymap.hoverlabel", + "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "contourcarpet.contours.labelfont.weight": { + "densitymap.hoverlabel.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "contourcarpet.contours.labelfont", - "edit_type": "plot", + "parent_name": "densitymap.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "extras": [ "normal", "bold" @@ -109768,11 +92904,12 @@ }, "superclass": "IntegerValidator" }, - "contourcarpet.contours.labelfont.variant": { + "densitymap.hoverlabel.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "contourcarpet.contours.labelfont", - "edit_type": "plot", + "parent_name": "densitymap.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "small-caps", @@ -109784,11 +92921,12 @@ }, "superclass": "EnumeratedValidator" }, - "contourcarpet.contours.labelfont.textcase": { + "densitymap.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "contourcarpet.contours.labelfont", - "edit_type": "plot", + "parent_name": "densitymap.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "word caps", @@ -109798,11 +92936,12 @@ }, "superclass": "EnumeratedValidator" }, - "contourcarpet.contours.labelfont.style": { + "densitymap.hoverlabel.font.style": { "params": { "plotly_name": "style", - "parent_name": "contourcarpet.contours.labelfont", - "edit_type": "plot", + "parent_name": "densitymap.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "values": [ "normal", "italic" @@ -109810,28 +92949,31 @@ }, "superclass": "EnumeratedValidator" }, - "contourcarpet.contours.labelfont.size": { + "densitymap.hoverlabel.font.size": { "params": { "plotly_name": "size", - "parent_name": "contourcarpet.contours.labelfont", - "edit_type": "plot", + "parent_name": "densitymap.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "min": 1 }, "superclass": "NumberValidator" }, - "contourcarpet.contours.labelfont.shadow": { + "densitymap.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "contourcarpet.contours.labelfont", - "edit_type": "plot" + "parent_name": "densitymap.hoverlabel.font", + "array_ok": true, + "edit_type": "none" }, "superclass": "StringValidator" }, - "contourcarpet.contours.labelfont.lineposition": { + "densitymap.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "contourcarpet.contours.labelfont", - "edit_type": "plot", + "parent_name": "densitymap.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "extras": [ "none" ], @@ -109843,52 +92985,91 @@ }, "superclass": "FlaglistValidator" }, - "contourcarpet.contours.labelfont.family": { + "densitymap.hoverlabel.font.family": { "params": { "plotly_name": "family", - "parent_name": "contourcarpet.contours.labelfont", - "edit_type": "plot", + "parent_name": "densitymap.hoverlabel.font", + "array_ok": true, + "edit_type": "none", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "contourcarpet.contours.labelfont.color": { + "densitymap.hoverlabel.font.color": { "params": { "plotly_name": "color", - "parent_name": "contourcarpet.contours.labelfont", - "edit_type": "style" + "parent_name": "densitymap.hoverlabel.font", + "array_ok": true, + "edit_type": "none" }, "superclass": "ColorValidator" }, - "contourcarpet.contours.end": { + "densitymap.hoverlabel.bordercolor": { "params": { - "plotly_name": "end", - "parent_name": "contourcarpet.contours", - "edit_type": "plot", - "implied_edits": { - "^autocontour": false - } + "plotly_name": "bordercolor", + "parent_name": "densitymap.hoverlabel", + "array_ok": true, + "edit_type": "none" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "contourcarpet.contours.coloring": { + "densitymap.hoverlabel.bgcolor": { "params": { - "plotly_name": "coloring", - "parent_name": "contourcarpet.contours", - "edit_type": "calc", + "plotly_name": "bgcolor", + "parent_name": "densitymap.hoverlabel", + "array_ok": true, + "edit_type": "none" + }, + "superclass": "ColorValidator" + }, + "densitymap.hoverlabel.align": { + "params": { + "plotly_name": "align", + "parent_name": "densitymap.hoverlabel", + "array_ok": true, + "edit_type": "none", "values": [ - "fill", - "lines", - "none" + "left", + "right", + "auto" ] }, "superclass": "EnumeratedValidator" }, - "contourcarpet.colorscale": { + "densitymap.hoverinfo": { + "params": { + "plotly_name": "hoverinfo", + "parent_name": "densitymap", + "array_ok": true, + "edit_type": "none", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "lon", + "lat", + "z", + "text", + "name" + ] + }, + "superclass": "FlaglistValidator" + }, + "densitymap.customdata": { + "params": { + "plotly_name": "customdata", + "parent_name": "densitymap", + "edit_type": "calc" + }, + "superclass": "DataArrayValidator" + }, + "densitymap.colorscale": { "params": { "plotly_name": "colorscale", - "parent_name": "contourcarpet", + "parent_name": "densitymap", "edit_type": "calc", "implied_edits": { "autocolorscale": false @@ -109896,19 +93077,19 @@ }, "superclass": "ColorscaleValidator" }, - "contourcarpet.colorbar": { + "densitymap.colorbar": { "params": { "plotly_name": "colorbar", - "parent_name": "contourcarpet", + "parent_name": "densitymap", "data_class_str": "ColorBar", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "contourcarpet.colorbar.yref": { + "densitymap.colorbar.yref": { "params": { "plotly_name": "yref", - "parent_name": "contourcarpet.colorbar", + "parent_name": "densitymap.colorbar", "edit_type": "colorbars", "values": [ "container", @@ -109917,19 +93098,19 @@ }, "superclass": "EnumeratedValidator" }, - "contourcarpet.colorbar.ypad": { + "densitymap.colorbar.ypad": { "params": { "plotly_name": "ypad", - "parent_name": "contourcarpet.colorbar", + "parent_name": "densitymap.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "contourcarpet.colorbar.yanchor": { + "densitymap.colorbar.yanchor": { "params": { "plotly_name": "yanchor", - "parent_name": "contourcarpet.colorbar", + "parent_name": "densitymap.colorbar", "edit_type": "colorbars", "values": [ "top", @@ -109939,18 +93120,18 @@ }, "superclass": "EnumeratedValidator" }, - "contourcarpet.colorbar.y": { + "densitymap.colorbar.y": { "params": { "plotly_name": "y", - "parent_name": "contourcarpet.colorbar", + "parent_name": "densitymap.colorbar", "edit_type": "colorbars" }, "superclass": "NumberValidator" }, - "contourcarpet.colorbar.xref": { + "densitymap.colorbar.xref": { "params": { "plotly_name": "xref", - "parent_name": "contourcarpet.colorbar", + "parent_name": "densitymap.colorbar", "edit_type": "colorbars", "values": [ "container", @@ -109959,19 +93140,19 @@ }, "superclass": "EnumeratedValidator" }, - "contourcarpet.colorbar.xpad": { + "densitymap.colorbar.xpad": { "params": { "plotly_name": "xpad", - "parent_name": "contourcarpet.colorbar", + "parent_name": "densitymap.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "contourcarpet.colorbar.xanchor": { + "densitymap.colorbar.xanchor": { "params": { "plotly_name": "xanchor", - "parent_name": "contourcarpet.colorbar", + "parent_name": "densitymap.colorbar", "edit_type": "colorbars", "values": [ "left", @@ -109981,35 +93162,35 @@ }, "superclass": "EnumeratedValidator" }, - "contourcarpet.colorbar.x": { + "densitymap.colorbar.x": { "params": { "plotly_name": "x", - "parent_name": "contourcarpet.colorbar", + "parent_name": "densitymap.colorbar", "edit_type": "colorbars" }, "superclass": "NumberValidator" }, - "contourcarpet.colorbar.title": { + "densitymap.colorbar.title": { "params": { "plotly_name": "title", - "parent_name": "contourcarpet.colorbar", + "parent_name": "densitymap.colorbar", "data_class_str": "Title", "data_docs": "\n" }, "superclass": "TitleValidator" }, - "contourcarpet.colorbar.title.text": { + "densitymap.colorbar.title.text": { "params": { "plotly_name": "text", - "parent_name": "contourcarpet.colorbar.title", + "parent_name": "densitymap.colorbar.title", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "contourcarpet.colorbar.title.side": { + "densitymap.colorbar.title.side": { "params": { "plotly_name": "side", - "parent_name": "contourcarpet.colorbar.title", + "parent_name": "densitymap.colorbar.title", "edit_type": "colorbars", "values": [ "right", @@ -110019,19 +93200,19 @@ }, "superclass": "EnumeratedValidator" }, - "contourcarpet.colorbar.title.font": { + "densitymap.colorbar.title.font": { "params": { "plotly_name": "font", - "parent_name": "contourcarpet.colorbar.title", + "parent_name": "densitymap.colorbar.title", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "contourcarpet.colorbar.title.font.weight": { + "densitymap.colorbar.title.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "contourcarpet.colorbar.title.font", + "parent_name": "densitymap.colorbar.title.font", "edit_type": "colorbars", "extras": [ "normal", @@ -110042,10 +93223,10 @@ }, "superclass": "IntegerValidator" }, - "contourcarpet.colorbar.title.font.variant": { + "densitymap.colorbar.title.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "contourcarpet.colorbar.title.font", + "parent_name": "densitymap.colorbar.title.font", "edit_type": "colorbars", "values": [ "normal", @@ -110058,10 +93239,10 @@ }, "superclass": "EnumeratedValidator" }, - "contourcarpet.colorbar.title.font.textcase": { + "densitymap.colorbar.title.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "contourcarpet.colorbar.title.font", + "parent_name": "densitymap.colorbar.title.font", "edit_type": "colorbars", "values": [ "normal", @@ -110072,10 +93253,10 @@ }, "superclass": "EnumeratedValidator" }, - "contourcarpet.colorbar.title.font.style": { + "densitymap.colorbar.title.font.style": { "params": { "plotly_name": "style", - "parent_name": "contourcarpet.colorbar.title.font", + "parent_name": "densitymap.colorbar.title.font", "edit_type": "colorbars", "values": [ "normal", @@ -110084,27 +93265,27 @@ }, "superclass": "EnumeratedValidator" }, - "contourcarpet.colorbar.title.font.size": { + "densitymap.colorbar.title.font.size": { "params": { "plotly_name": "size", - "parent_name": "contourcarpet.colorbar.title.font", + "parent_name": "densitymap.colorbar.title.font", "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "contourcarpet.colorbar.title.font.shadow": { + "densitymap.colorbar.title.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "contourcarpet.colorbar.title.font", + "parent_name": "densitymap.colorbar.title.font", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "contourcarpet.colorbar.title.font.lineposition": { + "densitymap.colorbar.title.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "contourcarpet.colorbar.title.font", + "parent_name": "densitymap.colorbar.title.font", "edit_type": "colorbars", "extras": [ "none" @@ -110117,77 +93298,61 @@ }, "superclass": "FlaglistValidator" }, - "contourcarpet.colorbar.title.font.family": { + "densitymap.colorbar.title.font.family": { "params": { "plotly_name": "family", - "parent_name": "contourcarpet.colorbar.title.font", + "parent_name": "densitymap.colorbar.title.font", "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "contourcarpet.colorbar.title.font.color": { + "densitymap.colorbar.title.font.color": { "params": { "plotly_name": "color", - "parent_name": "contourcarpet.colorbar.title.font", + "parent_name": "densitymap.colorbar.title.font", "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "contourcarpet.colorbar.tickwidth": { + "densitymap.colorbar.tickwidth": { "params": { "plotly_name": "tickwidth", - "parent_name": "contourcarpet.colorbar", + "parent_name": "densitymap.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "contourcarpet.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "contourcarpet.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contourcarpet.colorbar.tickvals": { + "densitymap.colorbar.tickvals": { "params": { "plotly_name": "tickvals", - "parent_name": "contourcarpet.colorbar", + "parent_name": "densitymap.colorbar", "edit_type": "colorbars" }, "superclass": "DataArrayValidator" }, - "contourcarpet.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "contourcarpet.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contourcarpet.colorbar.ticktext": { + "densitymap.colorbar.ticktext": { "params": { "plotly_name": "ticktext", - "parent_name": "contourcarpet.colorbar", + "parent_name": "densitymap.colorbar", "edit_type": "colorbars" }, "superclass": "DataArrayValidator" }, - "contourcarpet.colorbar.ticksuffix": { + "densitymap.colorbar.ticksuffix": { "params": { "plotly_name": "ticksuffix", - "parent_name": "contourcarpet.colorbar", + "parent_name": "densitymap.colorbar", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "contourcarpet.colorbar.ticks": { + "densitymap.colorbar.ticks": { "params": { "plotly_name": "ticks", - "parent_name": "contourcarpet.colorbar", + "parent_name": "densitymap.colorbar", "edit_type": "colorbars", "values": [ "outside", @@ -110197,18 +93362,18 @@ }, "superclass": "EnumeratedValidator" }, - "contourcarpet.colorbar.tickprefix": { + "densitymap.colorbar.tickprefix": { "params": { "plotly_name": "tickprefix", - "parent_name": "contourcarpet.colorbar", + "parent_name": "densitymap.colorbar", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "contourcarpet.colorbar.tickmode": { + "densitymap.colorbar.tickmode": { "params": { "plotly_name": "tickmode", - "parent_name": "contourcarpet.colorbar", + "parent_name": "densitymap.colorbar", "edit_type": "colorbars", "implied_edits": {}, "values": [ @@ -110219,28 +93384,28 @@ }, "superclass": "EnumeratedValidator" }, - "contourcarpet.colorbar.ticklen": { + "densitymap.colorbar.ticklen": { "params": { "plotly_name": "ticklen", - "parent_name": "contourcarpet.colorbar", + "parent_name": "densitymap.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "contourcarpet.colorbar.ticklabelstep": { + "densitymap.colorbar.ticklabelstep": { "params": { "plotly_name": "ticklabelstep", - "parent_name": "contourcarpet.colorbar", + "parent_name": "densitymap.colorbar", "edit_type": "colorbars", "min": 1 }, "superclass": "IntegerValidator" }, - "contourcarpet.colorbar.ticklabelposition": { + "densitymap.colorbar.ticklabelposition": { "params": { "plotly_name": "ticklabelposition", - "parent_name": "contourcarpet.colorbar", + "parent_name": "densitymap.colorbar", "edit_type": "colorbars", "values": [ "outside", @@ -110257,10 +93422,10 @@ }, "superclass": "EnumeratedValidator" }, - "contourcarpet.colorbar.ticklabeloverflow": { + "densitymap.colorbar.ticklabeloverflow": { "params": { "plotly_name": "ticklabeloverflow", - "parent_name": "contourcarpet.colorbar", + "parent_name": "densitymap.colorbar", "edit_type": "colorbars", "values": [ "allow", @@ -110270,60 +93435,60 @@ }, "superclass": "EnumeratedValidator" }, - "contourcarpet.colorbar.tickformatstopdefaults": { + "densitymap.colorbar.tickformatstopdefaults": { "params": { "plotly_name": "tickformatstopdefaults", - "parent_name": "contourcarpet.colorbar", + "parent_name": "densitymap.colorbar", "data_class_str": "Tickformatstop", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "contourcarpet.colorbar.tickformatstops": { + "densitymap.colorbar.tickformatstops": { "params": { "plotly_name": "tickformatstops", - "parent_name": "contourcarpet.colorbar", + "parent_name": "densitymap.colorbar", "data_class_str": "Tickformatstop", "data_docs": "\n" }, "superclass": "CompoundArrayValidator" }, - "contourcarpet.colorbar.tickformatstop.value": { + "densitymap.colorbar.tickformatstop.value": { "params": { "plotly_name": "value", - "parent_name": "contourcarpet.colorbar.tickformatstop", + "parent_name": "densitymap.colorbar.tickformatstop", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "contourcarpet.colorbar.tickformatstop.templateitemname": { + "densitymap.colorbar.tickformatstop.templateitemname": { "params": { "plotly_name": "templateitemname", - "parent_name": "contourcarpet.colorbar.tickformatstop", + "parent_name": "densitymap.colorbar.tickformatstop", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "contourcarpet.colorbar.tickformatstop.name": { + "densitymap.colorbar.tickformatstop.name": { "params": { "plotly_name": "name", - "parent_name": "contourcarpet.colorbar.tickformatstop", + "parent_name": "densitymap.colorbar.tickformatstop", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "contourcarpet.colorbar.tickformatstop.enabled": { + "densitymap.colorbar.tickformatstop.enabled": { "params": { "plotly_name": "enabled", - "parent_name": "contourcarpet.colorbar.tickformatstop", + "parent_name": "densitymap.colorbar.tickformatstop", "edit_type": "colorbars" }, "superclass": "BooleanValidator" }, - "contourcarpet.colorbar.tickformatstop.dtickrange": { + "densitymap.colorbar.tickformatstop.dtickrange": { "params": { "plotly_name": "dtickrange", - "parent_name": "contourcarpet.colorbar.tickformatstop", + "parent_name": "densitymap.colorbar.tickformatstop", "edit_type": "colorbars", "items": [ { @@ -110338,27 +93503,27 @@ }, "superclass": "InfoArrayValidator" }, - "contourcarpet.colorbar.tickformat": { + "densitymap.colorbar.tickformat": { "params": { "plotly_name": "tickformat", - "parent_name": "contourcarpet.colorbar", + "parent_name": "densitymap.colorbar", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "contourcarpet.colorbar.tickfont": { + "densitymap.colorbar.tickfont": { "params": { "plotly_name": "tickfont", - "parent_name": "contourcarpet.colorbar", + "parent_name": "densitymap.colorbar", "data_class_str": "Tickfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "contourcarpet.colorbar.tickfont.weight": { + "densitymap.colorbar.tickfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "contourcarpet.colorbar.tickfont", + "parent_name": "densitymap.colorbar.tickfont", "edit_type": "colorbars", "extras": [ "normal", @@ -110369,10 +93534,10 @@ }, "superclass": "IntegerValidator" }, - "contourcarpet.colorbar.tickfont.variant": { + "densitymap.colorbar.tickfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "contourcarpet.colorbar.tickfont", + "parent_name": "densitymap.colorbar.tickfont", "edit_type": "colorbars", "values": [ "normal", @@ -110385,10 +93550,10 @@ }, "superclass": "EnumeratedValidator" }, - "contourcarpet.colorbar.tickfont.textcase": { + "densitymap.colorbar.tickfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "contourcarpet.colorbar.tickfont", + "parent_name": "densitymap.colorbar.tickfont", "edit_type": "colorbars", "values": [ "normal", @@ -110399,10 +93564,10 @@ }, "superclass": "EnumeratedValidator" }, - "contourcarpet.colorbar.tickfont.style": { + "densitymap.colorbar.tickfont.style": { "params": { "plotly_name": "style", - "parent_name": "contourcarpet.colorbar.tickfont", + "parent_name": "densitymap.colorbar.tickfont", "edit_type": "colorbars", "values": [ "normal", @@ -110411,27 +93576,27 @@ }, "superclass": "EnumeratedValidator" }, - "contourcarpet.colorbar.tickfont.size": { + "densitymap.colorbar.tickfont.size": { "params": { "plotly_name": "size", - "parent_name": "contourcarpet.colorbar.tickfont", + "parent_name": "densitymap.colorbar.tickfont", "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "contourcarpet.colorbar.tickfont.shadow": { + "densitymap.colorbar.tickfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "contourcarpet.colorbar.tickfont", + "parent_name": "densitymap.colorbar.tickfont", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "contourcarpet.colorbar.tickfont.lineposition": { + "densitymap.colorbar.tickfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "contourcarpet.colorbar.tickfont", + "parent_name": "densitymap.colorbar.tickfont", "edit_type": "colorbars", "extras": [ "none" @@ -110444,1014 +93609,506 @@ }, "superclass": "FlaglistValidator" }, - "contourcarpet.colorbar.tickfont.family": { + "densitymap.colorbar.tickfont.family": { "params": { "plotly_name": "family", - "parent_name": "contourcarpet.colorbar.tickfont", + "parent_name": "densitymap.colorbar.tickfont", "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "contourcarpet.colorbar.tickfont.color": { + "densitymap.colorbar.tickfont.color": { "params": { "plotly_name": "color", - "parent_name": "contourcarpet.colorbar.tickfont", - "edit_type": "colorbars" - }, - "superclass": "ColorValidator" - }, - "contourcarpet.colorbar.tickcolor": { - "params": { - "plotly_name": "tickcolor", - "parent_name": "contourcarpet.colorbar", - "edit_type": "colorbars" - }, - "superclass": "ColorValidator" - }, - "contourcarpet.colorbar.tickangle": { - "params": { - "plotly_name": "tickangle", - "parent_name": "contourcarpet.colorbar", - "edit_type": "colorbars" - }, - "superclass": "AngleValidator" - }, - "contourcarpet.colorbar.tick0": { - "params": { - "plotly_name": "tick0", - "parent_name": "contourcarpet.colorbar", - "edit_type": "colorbars", - "implied_edits": { - "tickmode": "linear" - } - }, - "superclass": "AnyValidator" - }, - "contourcarpet.colorbar.thicknessmode": { - "params": { - "plotly_name": "thicknessmode", - "parent_name": "contourcarpet.colorbar", - "edit_type": "colorbars", - "values": [ - "fraction", - "pixels" - ] - }, - "superclass": "EnumeratedValidator" - }, - "contourcarpet.colorbar.thickness": { - "params": { - "plotly_name": "thickness", - "parent_name": "contourcarpet.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "contourcarpet.colorbar.showticksuffix": { - "params": { - "plotly_name": "showticksuffix", - "parent_name": "contourcarpet.colorbar", - "edit_type": "colorbars", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "contourcarpet.colorbar.showtickprefix": { - "params": { - "plotly_name": "showtickprefix", - "parent_name": "contourcarpet.colorbar", - "edit_type": "colorbars", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "contourcarpet.colorbar.showticklabels": { - "params": { - "plotly_name": "showticklabels", - "parent_name": "contourcarpet.colorbar", - "edit_type": "colorbars" - }, - "superclass": "BooleanValidator" - }, - "contourcarpet.colorbar.showexponent": { - "params": { - "plotly_name": "showexponent", - "parent_name": "contourcarpet.colorbar", - "edit_type": "colorbars", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "superclass": "EnumeratedValidator" - }, - "contourcarpet.colorbar.separatethousands": { - "params": { - "plotly_name": "separatethousands", - "parent_name": "contourcarpet.colorbar", - "edit_type": "colorbars" - }, - "superclass": "BooleanValidator" - }, - "contourcarpet.colorbar.outlinewidth": { - "params": { - "plotly_name": "outlinewidth", - "parent_name": "contourcarpet.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "contourcarpet.colorbar.outlinecolor": { - "params": { - "plotly_name": "outlinecolor", - "parent_name": "contourcarpet.colorbar", - "edit_type": "colorbars" - }, - "superclass": "ColorValidator" - }, - "contourcarpet.colorbar.orientation": { - "params": { - "plotly_name": "orientation", - "parent_name": "contourcarpet.colorbar", - "edit_type": "colorbars", - "values": [ - "h", - "v" - ] - }, - "superclass": "EnumeratedValidator" - }, - "contourcarpet.colorbar.nticks": { - "params": { - "plotly_name": "nticks", - "parent_name": "contourcarpet.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "IntegerValidator" - }, - "contourcarpet.colorbar.minexponent": { - "params": { - "plotly_name": "minexponent", - "parent_name": "contourcarpet.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "contourcarpet.colorbar.lenmode": { - "params": { - "plotly_name": "lenmode", - "parent_name": "contourcarpet.colorbar", - "edit_type": "colorbars", - "values": [ - "fraction", - "pixels" - ] - }, - "superclass": "EnumeratedValidator" - }, - "contourcarpet.colorbar.len": { - "params": { - "plotly_name": "len", - "parent_name": "contourcarpet.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "contourcarpet.colorbar.labelalias": { - "params": { - "plotly_name": "labelalias", - "parent_name": "contourcarpet.colorbar", - "edit_type": "colorbars" - }, - "superclass": "AnyValidator" - }, - "contourcarpet.colorbar.exponentformat": { - "params": { - "plotly_name": "exponentformat", - "parent_name": "contourcarpet.colorbar", - "edit_type": "colorbars", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B", - "SI extended" - ] - }, - "superclass": "EnumeratedValidator" - }, - "contourcarpet.colorbar.dtick": { - "params": { - "plotly_name": "dtick", - "parent_name": "contourcarpet.colorbar", - "edit_type": "colorbars", - "implied_edits": { - "tickmode": "linear" - } - }, - "superclass": "AnyValidator" - }, - "contourcarpet.colorbar.borderwidth": { - "params": { - "plotly_name": "borderwidth", - "parent_name": "contourcarpet.colorbar", - "edit_type": "colorbars", - "min": 0 - }, - "superclass": "NumberValidator" - }, - "contourcarpet.colorbar.bordercolor": { - "params": { - "plotly_name": "bordercolor", - "parent_name": "contourcarpet.colorbar", - "edit_type": "colorbars" - }, - "superclass": "ColorValidator" - }, - "contourcarpet.colorbar.bgcolor": { - "params": { - "plotly_name": "bgcolor", - "parent_name": "contourcarpet.colorbar", + "parent_name": "densitymap.colorbar.tickfont", "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "contourcarpet.coloraxis": { - "params": { - "plotly_name": "coloraxis", - "parent_name": "contourcarpet", - "dflt": null, - "edit_type": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" - }, - "superclass": "SubplotidValidator" - }, - "contourcarpet.carpet": { - "params": { - "plotly_name": "carpet", - "parent_name": "contourcarpet", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "contourcarpet.btype": { - "params": { - "plotly_name": "btype", - "parent_name": "contourcarpet", - "edit_type": "calc+clearAxisTypes", - "values": [ - "array", - "scaled" - ] - }, - "superclass": "EnumeratedValidator" - }, - "contourcarpet.bsrc": { - "params": { - "plotly_name": "bsrc", - "parent_name": "contourcarpet", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contourcarpet.b0": { - "params": { - "plotly_name": "b0", - "parent_name": "contourcarpet", - "edit_type": "calc+clearAxisTypes", - "implied_edits": { - "ytype": "scaled" - } - }, - "superclass": "AnyValidator" - }, - "contourcarpet.b": { - "params": { - "plotly_name": "b", - "parent_name": "contourcarpet", - "edit_type": "calc+clearAxisTypes", - "implied_edits": { - "ytype": "array" - } - }, - "superclass": "DataArrayValidator" - }, - "contourcarpet.autocontour": { - "params": { - "plotly_name": "autocontour", - "parent_name": "contourcarpet", - "edit_type": "calc", - "implied_edits": {} - }, - "superclass": "BooleanValidator" - }, - "contourcarpet.autocolorscale": { - "params": { - "plotly_name": "autocolorscale", - "parent_name": "contourcarpet", - "edit_type": "calc", - "implied_edits": {} - }, - "superclass": "BooleanValidator" - }, - "contourcarpet.atype": { - "params": { - "plotly_name": "atype", - "parent_name": "contourcarpet", - "edit_type": "calc+clearAxisTypes", - "values": [ - "array", - "scaled" - ] - }, - "superclass": "EnumeratedValidator" - }, - "contourcarpet.asrc": { - "params": { - "plotly_name": "asrc", - "parent_name": "contourcarpet", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contourcarpet.a0": { - "params": { - "plotly_name": "a0", - "parent_name": "contourcarpet", - "edit_type": "calc+clearAxisTypes", - "implied_edits": { - "xtype": "scaled" - } - }, - "superclass": "AnyValidator" - }, - "contourcarpet.a": { - "params": { - "plotly_name": "a", - "parent_name": "contourcarpet", - "edit_type": "calc+clearAxisTypes", - "implied_edits": { - "xtype": "array" - } - }, - "superclass": "DataArrayValidator" - }, - "contour": { - "params": { - "plotly_name": "contour", - "parent_name": "", - "data_class_str": "Contour", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "contour.zsrc": { - "params": { - "plotly_name": "zsrc", - "parent_name": "contour", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contour.zorder": { - "params": { - "plotly_name": "zorder", - "parent_name": "contour", - "edit_type": "plot" - }, - "superclass": "IntegerValidator" - }, - "contour.zmin": { - "params": { - "plotly_name": "zmin", - "parent_name": "contour", - "edit_type": "calc", - "implied_edits": { - "zauto": false - } - }, - "superclass": "NumberValidator" - }, - "contour.zmid": { - "params": { - "plotly_name": "zmid", - "parent_name": "contour", - "edit_type": "calc", - "implied_edits": {} - }, - "superclass": "NumberValidator" - }, - "contour.zmax": { - "params": { - "plotly_name": "zmax", - "parent_name": "contour", - "edit_type": "calc", - "implied_edits": { - "zauto": false - } - }, - "superclass": "NumberValidator" - }, - "contour.zhoverformat": { + "densitymap.colorbar.tickcolor": { "params": { - "plotly_name": "zhoverformat", - "parent_name": "contour", - "edit_type": "none" + "plotly_name": "tickcolor", + "parent_name": "densitymap.colorbar", + "edit_type": "colorbars" }, - "superclass": "StringValidator" + "superclass": "ColorValidator" }, - "contour.zauto": { + "densitymap.colorbar.tickangle": { "params": { - "plotly_name": "zauto", - "parent_name": "contour", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "tickangle", + "parent_name": "densitymap.colorbar", + "edit_type": "colorbars" }, - "superclass": "BooleanValidator" + "superclass": "AngleValidator" }, - "contour.z": { + "densitymap.colorbar.tick0": { "params": { - "plotly_name": "z", - "parent_name": "contour", - "edit_type": "calc" + "plotly_name": "tick0", + "parent_name": "densitymap.colorbar", + "edit_type": "colorbars", + "implied_edits": { + "tickmode": "linear" + } }, - "superclass": "DataArrayValidator" + "superclass": "AnyValidator" }, - "contour.ytype": { + "densitymap.colorbar.thicknessmode": { "params": { - "plotly_name": "ytype", - "parent_name": "contour", - "edit_type": "calc+clearAxisTypes", + "plotly_name": "thicknessmode", + "parent_name": "densitymap.colorbar", + "edit_type": "colorbars", "values": [ - "array", - "scaled" + "fraction", + "pixels" ] }, "superclass": "EnumeratedValidator" }, - "contour.ysrc": { + "densitymap.colorbar.thickness": { "params": { - "plotly_name": "ysrc", - "parent_name": "contour", - "edit_type": "none" + "plotly_name": "thickness", + "parent_name": "densitymap.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "contour.yperiodalignment": { + "densitymap.colorbar.showticksuffix": { "params": { - "plotly_name": "yperiodalignment", - "parent_name": "contour", - "edit_type": "calc", - "implied_edits": { - "ytype": "scaled" - }, + "plotly_name": "showticksuffix", + "parent_name": "densitymap.colorbar", + "edit_type": "colorbars", "values": [ - "start", - "middle", - "end" + "all", + "first", + "last", + "none" ] }, "superclass": "EnumeratedValidator" }, - "contour.yperiod0": { - "params": { - "plotly_name": "yperiod0", - "parent_name": "contour", - "edit_type": "calc" - }, - "superclass": "AnyValidator" - }, - "contour.yperiod": { + "densitymap.colorbar.showtickprefix": { "params": { - "plotly_name": "yperiod", - "parent_name": "contour", - "edit_type": "calc", - "implied_edits": { - "ytype": "scaled" - } + "plotly_name": "showtickprefix", + "parent_name": "densitymap.colorbar", + "edit_type": "colorbars", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "superclass": "AnyValidator" + "superclass": "EnumeratedValidator" }, - "contour.yhoverformat": { + "densitymap.colorbar.showticklabels": { "params": { - "plotly_name": "yhoverformat", - "parent_name": "contour", - "edit_type": "none" + "plotly_name": "showticklabels", + "parent_name": "densitymap.colorbar", + "edit_type": "colorbars" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "contour.ycalendar": { + "densitymap.colorbar.showexponent": { "params": { - "plotly_name": "ycalendar", - "parent_name": "contour", - "edit_type": "calc", + "plotly_name": "showexponent", + "parent_name": "densitymap.colorbar", + "edit_type": "colorbars", "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" + "all", + "first", + "last", + "none" ] }, "superclass": "EnumeratedValidator" }, - "contour.yaxis": { + "densitymap.colorbar.separatethousands": { "params": { - "plotly_name": "yaxis", - "parent_name": "contour", - "dflt": "y", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "separatethousands", + "parent_name": "densitymap.colorbar", + "edit_type": "colorbars" }, - "superclass": "SubplotidValidator" + "superclass": "BooleanValidator" }, - "contour.y0": { + "densitymap.colorbar.outlinewidth": { "params": { - "plotly_name": "y0", - "parent_name": "contour", - "edit_type": "calc+clearAxisTypes", - "implied_edits": { - "ytype": "scaled" - } + "plotly_name": "outlinewidth", + "parent_name": "densitymap.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "contour.y": { + "densitymap.colorbar.outlinecolor": { "params": { - "plotly_name": "y", - "parent_name": "contour", - "edit_type": "calc+clearAxisTypes", - "implied_edits": { - "ytype": "array" - } + "plotly_name": "outlinecolor", + "parent_name": "densitymap.colorbar", + "edit_type": "colorbars" }, - "superclass": "DataArrayValidator" + "superclass": "ColorValidator" }, - "contour.xtype": { + "densitymap.colorbar.orientation": { "params": { - "plotly_name": "xtype", - "parent_name": "contour", - "edit_type": "calc+clearAxisTypes", + "plotly_name": "orientation", + "parent_name": "densitymap.colorbar", + "edit_type": "colorbars", "values": [ - "array", - "scaled" + "h", + "v" ] }, "superclass": "EnumeratedValidator" }, - "contour.xsrc": { + "densitymap.colorbar.nticks": { "params": { - "plotly_name": "xsrc", - "parent_name": "contour", - "edit_type": "none" + "plotly_name": "nticks", + "parent_name": "densitymap.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "IntegerValidator" }, - "contour.xperiodalignment": { + "densitymap.colorbar.minexponent": { "params": { - "plotly_name": "xperiodalignment", - "parent_name": "contour", - "edit_type": "calc", - "implied_edits": { - "xtype": "scaled" - }, + "plotly_name": "minexponent", + "parent_name": "densitymap.colorbar", + "edit_type": "colorbars", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "densitymap.colorbar.lenmode": { + "params": { + "plotly_name": "lenmode", + "parent_name": "densitymap.colorbar", + "edit_type": "colorbars", "values": [ - "start", - "middle", - "end" + "fraction", + "pixels" ] }, "superclass": "EnumeratedValidator" }, - "contour.xperiod0": { + "densitymap.colorbar.len": { "params": { - "plotly_name": "xperiod0", - "parent_name": "contour", - "edit_type": "calc" + "plotly_name": "len", + "parent_name": "densitymap.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "contour.xperiod": { + "densitymap.colorbar.labelalias": { "params": { - "plotly_name": "xperiod", - "parent_name": "contour", - "edit_type": "calc", - "implied_edits": { - "xtype": "scaled" - } + "plotly_name": "labelalias", + "parent_name": "densitymap.colorbar", + "edit_type": "colorbars" }, "superclass": "AnyValidator" }, - "contour.xhoverformat": { - "params": { - "plotly_name": "xhoverformat", - "parent_name": "contour", - "edit_type": "none" - }, - "superclass": "StringValidator" - }, - "contour.xcalendar": { + "densitymap.colorbar.exponentformat": { "params": { - "plotly_name": "xcalendar", - "parent_name": "contour", - "edit_type": "calc", + "plotly_name": "exponentformat", + "parent_name": "densitymap.colorbar", + "edit_type": "colorbars", "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" + "none", + "e", + "E", + "power", + "SI", + "B", + "SI extended" ] }, "superclass": "EnumeratedValidator" }, - "contour.xaxis": { - "params": { - "plotly_name": "xaxis", - "parent_name": "contour", - "dflt": "x", - "edit_type": "calc+clearAxisTypes" - }, - "superclass": "SubplotidValidator" - }, - "contour.x0": { + "densitymap.colorbar.dtick": { "params": { - "plotly_name": "x0", - "parent_name": "contour", - "edit_type": "calc+clearAxisTypes", + "plotly_name": "dtick", + "parent_name": "densitymap.colorbar", + "edit_type": "colorbars", "implied_edits": { - "xtype": "scaled" + "tickmode": "linear" } }, "superclass": "AnyValidator" }, - "contour.x": { - "params": { - "plotly_name": "x", - "parent_name": "contour", - "edit_type": "calc+clearAxisTypes", - "implied_edits": { - "xtype": "array" - } - }, - "superclass": "DataArrayValidator" - }, - "contour.visible": { - "params": { - "plotly_name": "visible", - "parent_name": "contour", - "edit_type": "calc", - "values": [ - true, - false, - "legendonly" - ] - }, - "superclass": "EnumeratedValidator" - }, - "contour.uirevision": { + "densitymap.colorbar.borderwidth": { "params": { - "plotly_name": "uirevision", - "parent_name": "contour", - "edit_type": "none" + "plotly_name": "borderwidth", + "parent_name": "densitymap.colorbar", + "edit_type": "colorbars", + "min": 0 }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "contour.uid": { + "densitymap.colorbar.bordercolor": { "params": { - "plotly_name": "uid", - "parent_name": "contour", - "edit_type": "plot" + "plotly_name": "bordercolor", + "parent_name": "densitymap.colorbar", + "edit_type": "colorbars" }, - "superclass": "StringValidator" + "superclass": "ColorValidator" }, - "contour.transpose": { + "densitymap.colorbar.bgcolor": { "params": { - "plotly_name": "transpose", - "parent_name": "contour", - "edit_type": "calc" + "plotly_name": "bgcolor", + "parent_name": "densitymap.colorbar", + "edit_type": "colorbars" }, - "superclass": "BooleanValidator" + "superclass": "ColorValidator" }, - "contour.texttemplatefallback": { + "densitymap.coloraxis": { "params": { - "plotly_name": "texttemplatefallback", - "parent_name": "contour", - "edit_type": "plot" + "plotly_name": "coloraxis", + "parent_name": "densitymap", + "dflt": null, + "edit_type": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" }, - "superclass": "AnyValidator" + "superclass": "SubplotidValidator" }, - "contour.texttemplate": { + "densitymap.below": { "params": { - "plotly_name": "texttemplate", - "parent_name": "contour", + "plotly_name": "below", + "parent_name": "densitymap", "edit_type": "plot" }, "superclass": "StringValidator" }, - "contour.textsrc": { + "densitymap.autocolorscale": { "params": { - "plotly_name": "textsrc", - "parent_name": "contour", - "edit_type": "none" + "plotly_name": "autocolorscale", + "parent_name": "densitymap", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "SrcValidator" + "superclass": "BooleanValidator" }, - "contour.textfont": { + "contourcarpet": { "params": { - "plotly_name": "textfont", - "parent_name": "contour", - "data_class_str": "Textfont", + "plotly_name": "contourcarpet", + "parent_name": "", + "data_class_str": "Contourcarpet", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "contour.textfont.weight": { + "contourcarpet.zorder": { "params": { - "plotly_name": "weight", - "parent_name": "contour.textfont", - "edit_type": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 + "plotly_name": "zorder", + "parent_name": "contourcarpet", + "edit_type": "plot" }, "superclass": "IntegerValidator" }, - "contour.textfont.variant": { + "contourcarpet.zmin": { "params": { - "plotly_name": "variant", - "parent_name": "contour.textfont", + "plotly_name": "zmin", + "parent_name": "contourcarpet", "edit_type": "plot", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] + "implied_edits": { + "zauto": false + } }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "contour.textfont.textcase": { + "contourcarpet.zmid": { "params": { - "plotly_name": "textcase", - "parent_name": "contour.textfont", - "edit_type": "plot", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] + "plotly_name": "zmid", + "parent_name": "contourcarpet", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "contour.textfont.style": { + "contourcarpet.zmax": { "params": { - "plotly_name": "style", - "parent_name": "contour.textfont", + "plotly_name": "zmax", + "parent_name": "contourcarpet", "edit_type": "plot", - "values": [ - "normal", - "italic" - ] + "implied_edits": { + "zauto": false + } }, - "superclass": "EnumeratedValidator" + "superclass": "NumberValidator" }, - "contour.textfont.size": { + "contourcarpet.zauto": { "params": { - "plotly_name": "size", - "parent_name": "contour.textfont", - "edit_type": "plot", - "min": 1 + "plotly_name": "zauto", + "parent_name": "contourcarpet", + "edit_type": "calc", + "implied_edits": {} }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "contour.textfont.shadow": { + "contourcarpet.z": { "params": { - "plotly_name": "shadow", - "parent_name": "contour.textfont", - "edit_type": "plot" + "plotly_name": "z", + "parent_name": "contourcarpet", + "edit_type": "calc" }, - "superclass": "StringValidator" + "superclass": "DataArrayValidator" }, - "contour.textfont.lineposition": { + "contourcarpet.yaxis": { "params": { - "plotly_name": "lineposition", - "parent_name": "contour.textfont", - "edit_type": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] + "plotly_name": "yaxis", + "parent_name": "contourcarpet", + "dflt": "y", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "FlaglistValidator" + "superclass": "SubplotidValidator" }, - "contour.textfont.family": { + "contourcarpet.xaxis": { "params": { - "plotly_name": "family", - "parent_name": "contour.textfont", - "edit_type": "plot", - "no_blank": true, - "strict": true + "plotly_name": "xaxis", + "parent_name": "contourcarpet", + "dflt": "x", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "StringValidator" + "superclass": "SubplotidValidator" }, - "contour.textfont.color": { + "contourcarpet.visible": { "params": { - "plotly_name": "color", - "parent_name": "contour.textfont", - "edit_type": "style" + "plotly_name": "visible", + "parent_name": "contourcarpet", + "edit_type": "calc", + "values": [ + true, + false, + "legendonly" + ] }, - "superclass": "ColorValidator" + "superclass": "EnumeratedValidator" }, - "contour.text": { + "contourcarpet.uirevision": { "params": { - "plotly_name": "text", - "parent_name": "contour", - "edit_type": "calc" + "plotly_name": "uirevision", + "parent_name": "contourcarpet", + "edit_type": "none" }, - "superclass": "DataArrayValidator" + "superclass": "AnyValidator" }, - "contour.stream": { + "contourcarpet.uid": { "params": { - "plotly_name": "stream", - "parent_name": "contour", - "data_class_str": "Stream", - "data_docs": "\n" + "plotly_name": "uid", + "parent_name": "contourcarpet", + "edit_type": "plot" }, - "superclass": "CompoundValidator" + "superclass": "StringValidator" }, - "contour.stream.token": { + "contourcarpet.transpose": { "params": { - "plotly_name": "token", - "parent_name": "contour.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true + "plotly_name": "transpose", + "parent_name": "contourcarpet", + "edit_type": "calc" }, - "superclass": "StringValidator" + "superclass": "BooleanValidator" }, - "contour.stream.maxpoints": { + "contourcarpet.text": { "params": { - "plotly_name": "maxpoints", - "parent_name": "contour.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 + "plotly_name": "text", + "parent_name": "contourcarpet", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "contour.showscale": { + "contourcarpet.showscale": { "params": { "plotly_name": "showscale", - "parent_name": "contour", + "parent_name": "contourcarpet", "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "contour.showlegend": { + "contourcarpet.showlegend": { "params": { "plotly_name": "showlegend", - "parent_name": "contour", + "parent_name": "contourcarpet", "edit_type": "style" }, "superclass": "BooleanValidator" }, - "contour.reversescale": { + "contourcarpet.reversescale": { "params": { "plotly_name": "reversescale", - "parent_name": "contour", + "parent_name": "contourcarpet", "edit_type": "plot" }, "superclass": "BooleanValidator" }, - "contour.opacity": { + "contourcarpet.opacity": { "params": { "plotly_name": "opacity", - "parent_name": "contour", + "parent_name": "contourcarpet", "edit_type": "style", "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "contour.ncontours": { + "contourcarpet.ncontours": { "params": { "plotly_name": "ncontours", - "parent_name": "contour", + "parent_name": "contourcarpet", "edit_type": "calc", "min": 1 }, "superclass": "IntegerValidator" }, - "contour.name": { + "contourcarpet.name": { "params": { "plotly_name": "name", - "parent_name": "contour", + "parent_name": "contourcarpet", "edit_type": "style" }, "superclass": "StringValidator" }, - "contour.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "contour", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contour.meta": { + "contourcarpet.meta": { "params": { "plotly_name": "meta", - "parent_name": "contour", + "parent_name": "contourcarpet", "array_ok": true, "edit_type": "plot" }, "superclass": "AnyValidator" }, - "contour.line": { + "contourcarpet.line": { "params": { "plotly_name": "line", - "parent_name": "contour", + "parent_name": "contourcarpet", "data_class_str": "Line", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "contour.line.width": { + "contourcarpet.line.width": { "params": { "plotly_name": "width", - "parent_name": "contour.line", + "parent_name": "contourcarpet.line", "edit_type": "style+colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "contour.line.smoothing": { + "contourcarpet.line.smoothing": { "params": { "plotly_name": "smoothing", - "parent_name": "contour.line", + "parent_name": "contourcarpet.line", "edit_type": "plot", "max": 1.3, "min": 0 }, "superclass": "NumberValidator" }, - "contour.line.dash": { + "contourcarpet.line.dash": { "params": { "plotly_name": "dash", - "parent_name": "contour.line", + "parent_name": "contourcarpet.line", "edit_type": "style", "values": [ "solid", @@ -111464,61 +94121,61 @@ }, "superclass": "DashValidator" }, - "contour.line.color": { + "contourcarpet.line.color": { "params": { "plotly_name": "color", - "parent_name": "contour.line", + "parent_name": "contourcarpet.line", "edit_type": "style+colorbars" }, "superclass": "ColorValidator" }, - "contour.legendwidth": { + "contourcarpet.legendwidth": { "params": { "plotly_name": "legendwidth", - "parent_name": "contour", + "parent_name": "contourcarpet", "edit_type": "style", "min": 0 }, "superclass": "NumberValidator" }, - "contour.legendrank": { + "contourcarpet.legendrank": { "params": { "plotly_name": "legendrank", - "parent_name": "contour", + "parent_name": "contourcarpet", "edit_type": "style" }, "superclass": "NumberValidator" }, - "contour.legendgrouptitle": { + "contourcarpet.legendgrouptitle": { "params": { "plotly_name": "legendgrouptitle", - "parent_name": "contour", + "parent_name": "contourcarpet", "data_class_str": "Legendgrouptitle", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "contour.legendgrouptitle.text": { + "contourcarpet.legendgrouptitle.text": { "params": { "plotly_name": "text", - "parent_name": "contour.legendgrouptitle", + "parent_name": "contourcarpet.legendgrouptitle", "edit_type": "style" }, "superclass": "StringValidator" }, - "contour.legendgrouptitle.font": { + "contourcarpet.legendgrouptitle.font": { "params": { "plotly_name": "font", - "parent_name": "contour.legendgrouptitle", + "parent_name": "contourcarpet.legendgrouptitle", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "contour.legendgrouptitle.font.weight": { + "contourcarpet.legendgrouptitle.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "contour.legendgrouptitle.font", + "parent_name": "contourcarpet.legendgrouptitle.font", "edit_type": "style", "extras": [ "normal", @@ -111529,10 +94186,10 @@ }, "superclass": "IntegerValidator" }, - "contour.legendgrouptitle.font.variant": { + "contourcarpet.legendgrouptitle.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "contour.legendgrouptitle.font", + "parent_name": "contourcarpet.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -111545,10 +94202,10 @@ }, "superclass": "EnumeratedValidator" }, - "contour.legendgrouptitle.font.textcase": { + "contourcarpet.legendgrouptitle.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "contour.legendgrouptitle.font", + "parent_name": "contourcarpet.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -111559,10 +94216,10 @@ }, "superclass": "EnumeratedValidator" }, - "contour.legendgrouptitle.font.style": { + "contourcarpet.legendgrouptitle.font.style": { "params": { "plotly_name": "style", - "parent_name": "contour.legendgrouptitle.font", + "parent_name": "contourcarpet.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -111571,27 +94228,27 @@ }, "superclass": "EnumeratedValidator" }, - "contour.legendgrouptitle.font.size": { + "contourcarpet.legendgrouptitle.font.size": { "params": { "plotly_name": "size", - "parent_name": "contour.legendgrouptitle.font", + "parent_name": "contourcarpet.legendgrouptitle.font", "edit_type": "style", "min": 1 }, "superclass": "NumberValidator" }, - "contour.legendgrouptitle.font.shadow": { + "contourcarpet.legendgrouptitle.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "contour.legendgrouptitle.font", + "parent_name": "contourcarpet.legendgrouptitle.font", "edit_type": "style" }, "superclass": "StringValidator" }, - "contour.legendgrouptitle.font.lineposition": { + "contourcarpet.legendgrouptitle.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "contour.legendgrouptitle.font", + "parent_name": "contourcarpet.legendgrouptitle.font", "edit_type": "style", "extras": [ "none" @@ -111604,436 +94261,70 @@ }, "superclass": "FlaglistValidator" }, - "contour.legendgrouptitle.font.family": { + "contourcarpet.legendgrouptitle.font.family": { "params": { "plotly_name": "family", - "parent_name": "contour.legendgrouptitle.font", + "parent_name": "contourcarpet.legendgrouptitle.font", "edit_type": "style", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "contour.legendgrouptitle.font.color": { + "contourcarpet.legendgrouptitle.font.color": { "params": { "plotly_name": "color", - "parent_name": "contour.legendgrouptitle.font", + "parent_name": "contourcarpet.legendgrouptitle.font", "edit_type": "style" }, "superclass": "ColorValidator" }, - "contour.legendgroup": { + "contourcarpet.legendgroup": { "params": { "plotly_name": "legendgroup", - "parent_name": "contour", + "parent_name": "contourcarpet", "edit_type": "style" }, "superclass": "StringValidator" }, - "contour.legend": { + "contourcarpet.legend": { "params": { "plotly_name": "legend", - "parent_name": "contour", + "parent_name": "contourcarpet", "dflt": "legend", "edit_type": "style" }, "superclass": "SubplotidValidator" }, - "contour.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "contour", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contour.ids": { + "contourcarpet.ids": { "params": { "plotly_name": "ids", - "parent_name": "contour", + "parent_name": "contourcarpet", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "contour.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "contour", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contour.hovertext": { + "contourcarpet.hovertext": { "params": { "plotly_name": "hovertext", - "parent_name": "contour", + "parent_name": "contourcarpet", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "contour.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "contour", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contour.hovertemplatefallback": { - "params": { - "plotly_name": "hovertemplatefallback", - "parent_name": "contour", - "edit_type": "none" - }, - "superclass": "AnyValidator" - }, - "contour.hovertemplate": { - "params": { - "plotly_name": "hovertemplate", - "parent_name": "contour", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "StringValidator" - }, - "contour.hoverongaps": { - "params": { - "plotly_name": "hoverongaps", - "parent_name": "contour", - "edit_type": "none" - }, - "superclass": "BooleanValidator" - }, - "contour.hoverlabel": { - "params": { - "plotly_name": "hoverlabel", - "parent_name": "contour", - "data_class_str": "Hoverlabel", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "contour.hoverlabel.showarrow": { - "params": { - "plotly_name": "showarrow", - "parent_name": "contour.hoverlabel", - "edit_type": "none" - }, - "superclass": "BooleanValidator" - }, - "contour.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "contour.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contour.hoverlabel.namelength": { - "params": { - "plotly_name": "namelength", - "parent_name": "contour.hoverlabel", - "array_ok": true, - "edit_type": "none", - "min": -1 - }, - "superclass": "IntegerValidator" - }, - "contour.hoverlabel.font": { - "params": { - "plotly_name": "font", - "parent_name": "contour.hoverlabel", - "data_class_str": "Font", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "contour.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "contour.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contour.hoverlabel.font.weight": { - "params": { - "plotly_name": "weight", - "parent_name": "contour.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1 - }, - "superclass": "IntegerValidator" - }, - "contour.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "contour.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contour.hoverlabel.font.variant": { - "params": { - "plotly_name": "variant", - "parent_name": "contour.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "superclass": "EnumeratedValidator" - }, - "contour.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "contour.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contour.hoverlabel.font.textcase": { - "params": { - "plotly_name": "textcase", - "parent_name": "contour.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "superclass": "EnumeratedValidator" - }, - "contour.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "contour.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contour.hoverlabel.font.style": { - "params": { - "plotly_name": "style", - "parent_name": "contour.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "values": [ - "normal", - "italic" - ] - }, - "superclass": "EnumeratedValidator" - }, - "contour.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "contour.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contour.hoverlabel.font.size": { - "params": { - "plotly_name": "size", - "parent_name": "contour.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "min": 1 - }, - "superclass": "NumberValidator" - }, - "contour.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "contour.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contour.hoverlabel.font.shadow": { - "params": { - "plotly_name": "shadow", - "parent_name": "contour.hoverlabel.font", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "StringValidator" - }, - "contour.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "contour.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contour.hoverlabel.font.lineposition": { - "params": { - "plotly_name": "lineposition", - "parent_name": "contour.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ] - }, - "superclass": "FlaglistValidator" - }, - "contour.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "contour.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contour.hoverlabel.font.family": { - "params": { - "plotly_name": "family", - "parent_name": "contour.hoverlabel.font", - "array_ok": true, - "edit_type": "none", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "contour.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "contour.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contour.hoverlabel.font.color": { - "params": { - "plotly_name": "color", - "parent_name": "contour.hoverlabel.font", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "ColorValidator" - }, - "contour.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "contour.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contour.hoverlabel.bordercolor": { - "params": { - "plotly_name": "bordercolor", - "parent_name": "contour.hoverlabel", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "ColorValidator" - }, - "contour.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "contour.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contour.hoverlabel.bgcolor": { - "params": { - "plotly_name": "bgcolor", - "parent_name": "contour.hoverlabel", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "ColorValidator" - }, - "contour.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "contour.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contour.hoverlabel.align": { - "params": { - "plotly_name": "align", - "parent_name": "contour.hoverlabel", - "array_ok": true, - "edit_type": "none", - "values": [ - "left", - "right", - "auto" - ] - }, - "superclass": "EnumeratedValidator" - }, - "contour.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "contour", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contour.hoverinfo": { - "params": { - "plotly_name": "hoverinfo", - "parent_name": "contour", - "array_ok": true, - "edit_type": "none", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "x", - "y", - "z", - "text", - "name" - ] - }, - "superclass": "FlaglistValidator" - }, - "contour.fillcolor": { + "contourcarpet.fillcolor": { "params": { "plotly_name": "fillcolor", - "parent_name": "contour", + "parent_name": "contourcarpet", "edit_type": "calc", - "colorscale_path": "contour.colorscale" + "colorscale_path": "contourcarpet.colorscale" }, "superclass": "ColorValidator" }, - "contour.dy": { + "contourcarpet.db": { "params": { - "plotly_name": "dy", - "parent_name": "contour", + "plotly_name": "db", + "parent_name": "contourcarpet", "edit_type": "calc", "implied_edits": { "ytype": "scaled" @@ -112041,10 +94332,10 @@ }, "superclass": "NumberValidator" }, - "contour.dx": { + "contourcarpet.da": { "params": { - "plotly_name": "dx", - "parent_name": "contour", + "plotly_name": "da", + "parent_name": "contourcarpet", "edit_type": "calc", "implied_edits": { "xtype": "scaled" @@ -112052,43 +94343,35 @@ }, "superclass": "NumberValidator" }, - "contour.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "contour", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contour.customdata": { + "contourcarpet.customdata": { "params": { "plotly_name": "customdata", - "parent_name": "contour", + "parent_name": "contourcarpet", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "contour.contours": { + "contourcarpet.contours": { "params": { "plotly_name": "contours", - "parent_name": "contour", + "parent_name": "contourcarpet", "data_class_str": "Contours", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "contour.contours.value": { + "contourcarpet.contours.value": { "params": { "plotly_name": "value", - "parent_name": "contour.contours", + "parent_name": "contourcarpet.contours", "edit_type": "calc" }, "superclass": "AnyValidator" }, - "contour.contours.type": { + "contourcarpet.contours.type": { "params": { "plotly_name": "type", - "parent_name": "contour.contours", + "parent_name": "contourcarpet.contours", "edit_type": "calc", "values": [ "levels", @@ -112097,10 +94380,10 @@ }, "superclass": "EnumeratedValidator" }, - "contour.contours.start": { + "contourcarpet.contours.start": { "params": { "plotly_name": "start", - "parent_name": "contour.contours", + "parent_name": "contourcarpet.contours", "edit_type": "plot", "implied_edits": { "^autocontour": false @@ -112108,10 +94391,10 @@ }, "superclass": "NumberValidator" }, - "contour.contours.size": { + "contourcarpet.contours.size": { "params": { "plotly_name": "size", - "parent_name": "contour.contours", + "parent_name": "contourcarpet.contours", "edit_type": "plot", "implied_edits": { "^autocontour": false @@ -112120,26 +94403,26 @@ }, "superclass": "NumberValidator" }, - "contour.contours.showlines": { + "contourcarpet.contours.showlines": { "params": { "plotly_name": "showlines", - "parent_name": "contour.contours", + "parent_name": "contourcarpet.contours", "edit_type": "plot" }, "superclass": "BooleanValidator" }, - "contour.contours.showlabels": { + "contourcarpet.contours.showlabels": { "params": { "plotly_name": "showlabels", - "parent_name": "contour.contours", + "parent_name": "contourcarpet.contours", "edit_type": "plot" }, "superclass": "BooleanValidator" }, - "contour.contours.operation": { + "contourcarpet.contours.operation": { "params": { "plotly_name": "operation", - "parent_name": "contour.contours", + "parent_name": "contourcarpet.contours", "edit_type": "calc", "values": [ "=", @@ -112159,27 +94442,27 @@ }, "superclass": "EnumeratedValidator" }, - "contour.contours.labelformat": { + "contourcarpet.contours.labelformat": { "params": { "plotly_name": "labelformat", - "parent_name": "contour.contours", + "parent_name": "contourcarpet.contours", "edit_type": "plot" }, "superclass": "StringValidator" }, - "contour.contours.labelfont": { + "contourcarpet.contours.labelfont": { "params": { "plotly_name": "labelfont", - "parent_name": "contour.contours", + "parent_name": "contourcarpet.contours", "data_class_str": "Labelfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "contour.contours.labelfont.weight": { + "contourcarpet.contours.labelfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "contour.contours.labelfont", + "parent_name": "contourcarpet.contours.labelfont", "edit_type": "plot", "extras": [ "normal", @@ -112190,10 +94473,10 @@ }, "superclass": "IntegerValidator" }, - "contour.contours.labelfont.variant": { + "contourcarpet.contours.labelfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "contour.contours.labelfont", + "parent_name": "contourcarpet.contours.labelfont", "edit_type": "plot", "values": [ "normal", @@ -112206,10 +94489,10 @@ }, "superclass": "EnumeratedValidator" }, - "contour.contours.labelfont.textcase": { + "contourcarpet.contours.labelfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "contour.contours.labelfont", + "parent_name": "contourcarpet.contours.labelfont", "edit_type": "plot", "values": [ "normal", @@ -112220,10 +94503,10 @@ }, "superclass": "EnumeratedValidator" }, - "contour.contours.labelfont.style": { + "contourcarpet.contours.labelfont.style": { "params": { "plotly_name": "style", - "parent_name": "contour.contours.labelfont", + "parent_name": "contourcarpet.contours.labelfont", "edit_type": "plot", "values": [ "normal", @@ -112232,27 +94515,27 @@ }, "superclass": "EnumeratedValidator" }, - "contour.contours.labelfont.size": { + "contourcarpet.contours.labelfont.size": { "params": { "plotly_name": "size", - "parent_name": "contour.contours.labelfont", + "parent_name": "contourcarpet.contours.labelfont", "edit_type": "plot", "min": 1 }, "superclass": "NumberValidator" }, - "contour.contours.labelfont.shadow": { + "contourcarpet.contours.labelfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "contour.contours.labelfont", + "parent_name": "contourcarpet.contours.labelfont", "edit_type": "plot" }, "superclass": "StringValidator" }, - "contour.contours.labelfont.lineposition": { + "contourcarpet.contours.labelfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "contour.contours.labelfont", + "parent_name": "contourcarpet.contours.labelfont", "edit_type": "plot", "extras": [ "none" @@ -112265,28 +94548,28 @@ }, "superclass": "FlaglistValidator" }, - "contour.contours.labelfont.family": { + "contourcarpet.contours.labelfont.family": { "params": { "plotly_name": "family", - "parent_name": "contour.contours.labelfont", + "parent_name": "contourcarpet.contours.labelfont", "edit_type": "plot", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "contour.contours.labelfont.color": { + "contourcarpet.contours.labelfont.color": { "params": { "plotly_name": "color", - "parent_name": "contour.contours.labelfont", + "parent_name": "contourcarpet.contours.labelfont", "edit_type": "style" }, "superclass": "ColorValidator" }, - "contour.contours.end": { + "contourcarpet.contours.end": { "params": { "plotly_name": "end", - "parent_name": "contour.contours", + "parent_name": "contourcarpet.contours", "edit_type": "plot", "implied_edits": { "^autocontour": false @@ -112294,32 +94577,23 @@ }, "superclass": "NumberValidator" }, - "contour.contours.coloring": { + "contourcarpet.contours.coloring": { "params": { "plotly_name": "coloring", - "parent_name": "contour.contours", + "parent_name": "contourcarpet.contours", "edit_type": "calc", "values": [ "fill", - "heatmap", "lines", "none" ] }, "superclass": "EnumeratedValidator" }, - "contour.connectgaps": { - "params": { - "plotly_name": "connectgaps", - "parent_name": "contour", - "edit_type": "calc" - }, - "superclass": "BooleanValidator" - }, - "contour.colorscale": { + "contourcarpet.colorscale": { "params": { "plotly_name": "colorscale", - "parent_name": "contour", + "parent_name": "contourcarpet", "edit_type": "calc", "implied_edits": { "autocolorscale": false @@ -112327,19 +94601,19 @@ }, "superclass": "ColorscaleValidator" }, - "contour.colorbar": { + "contourcarpet.colorbar": { "params": { "plotly_name": "colorbar", - "parent_name": "contour", + "parent_name": "contourcarpet", "data_class_str": "ColorBar", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "contour.colorbar.yref": { + "contourcarpet.colorbar.yref": { "params": { "plotly_name": "yref", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars", "values": [ "container", @@ -112348,19 +94622,19 @@ }, "superclass": "EnumeratedValidator" }, - "contour.colorbar.ypad": { + "contourcarpet.colorbar.ypad": { "params": { "plotly_name": "ypad", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "contour.colorbar.yanchor": { + "contourcarpet.colorbar.yanchor": { "params": { "plotly_name": "yanchor", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars", "values": [ "top", @@ -112370,18 +94644,18 @@ }, "superclass": "EnumeratedValidator" }, - "contour.colorbar.y": { + "contourcarpet.colorbar.y": { "params": { "plotly_name": "y", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars" }, "superclass": "NumberValidator" }, - "contour.colorbar.xref": { + "contourcarpet.colorbar.xref": { "params": { "plotly_name": "xref", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars", "values": [ "container", @@ -112390,19 +94664,19 @@ }, "superclass": "EnumeratedValidator" }, - "contour.colorbar.xpad": { + "contourcarpet.colorbar.xpad": { "params": { "plotly_name": "xpad", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "contour.colorbar.xanchor": { + "contourcarpet.colorbar.xanchor": { "params": { "plotly_name": "xanchor", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars", "values": [ "left", @@ -112412,35 +94686,35 @@ }, "superclass": "EnumeratedValidator" }, - "contour.colorbar.x": { + "contourcarpet.colorbar.x": { "params": { "plotly_name": "x", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars" }, "superclass": "NumberValidator" }, - "contour.colorbar.title": { + "contourcarpet.colorbar.title": { "params": { "plotly_name": "title", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "data_class_str": "Title", "data_docs": "\n" }, "superclass": "TitleValidator" }, - "contour.colorbar.title.text": { + "contourcarpet.colorbar.title.text": { "params": { "plotly_name": "text", - "parent_name": "contour.colorbar.title", + "parent_name": "contourcarpet.colorbar.title", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "contour.colorbar.title.side": { + "contourcarpet.colorbar.title.side": { "params": { "plotly_name": "side", - "parent_name": "contour.colorbar.title", + "parent_name": "contourcarpet.colorbar.title", "edit_type": "colorbars", "values": [ "right", @@ -112450,19 +94724,19 @@ }, "superclass": "EnumeratedValidator" }, - "contour.colorbar.title.font": { + "contourcarpet.colorbar.title.font": { "params": { "plotly_name": "font", - "parent_name": "contour.colorbar.title", + "parent_name": "contourcarpet.colorbar.title", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "contour.colorbar.title.font.weight": { + "contourcarpet.colorbar.title.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "contour.colorbar.title.font", + "parent_name": "contourcarpet.colorbar.title.font", "edit_type": "colorbars", "extras": [ "normal", @@ -112473,10 +94747,10 @@ }, "superclass": "IntegerValidator" }, - "contour.colorbar.title.font.variant": { + "contourcarpet.colorbar.title.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "contour.colorbar.title.font", + "parent_name": "contourcarpet.colorbar.title.font", "edit_type": "colorbars", "values": [ "normal", @@ -112489,10 +94763,10 @@ }, "superclass": "EnumeratedValidator" }, - "contour.colorbar.title.font.textcase": { + "contourcarpet.colorbar.title.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "contour.colorbar.title.font", + "parent_name": "contourcarpet.colorbar.title.font", "edit_type": "colorbars", "values": [ "normal", @@ -112503,10 +94777,10 @@ }, "superclass": "EnumeratedValidator" }, - "contour.colorbar.title.font.style": { + "contourcarpet.colorbar.title.font.style": { "params": { "plotly_name": "style", - "parent_name": "contour.colorbar.title.font", + "parent_name": "contourcarpet.colorbar.title.font", "edit_type": "colorbars", "values": [ "normal", @@ -112515,27 +94789,27 @@ }, "superclass": "EnumeratedValidator" }, - "contour.colorbar.title.font.size": { + "contourcarpet.colorbar.title.font.size": { "params": { "plotly_name": "size", - "parent_name": "contour.colorbar.title.font", + "parent_name": "contourcarpet.colorbar.title.font", "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "contour.colorbar.title.font.shadow": { + "contourcarpet.colorbar.title.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "contour.colorbar.title.font", + "parent_name": "contourcarpet.colorbar.title.font", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "contour.colorbar.title.font.lineposition": { + "contourcarpet.colorbar.title.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "contour.colorbar.title.font", + "parent_name": "contourcarpet.colorbar.title.font", "edit_type": "colorbars", "extras": [ "none" @@ -112548,77 +94822,61 @@ }, "superclass": "FlaglistValidator" }, - "contour.colorbar.title.font.family": { + "contourcarpet.colorbar.title.font.family": { "params": { "plotly_name": "family", - "parent_name": "contour.colorbar.title.font", + "parent_name": "contourcarpet.colorbar.title.font", "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "contour.colorbar.title.font.color": { + "contourcarpet.colorbar.title.font.color": { "params": { "plotly_name": "color", - "parent_name": "contour.colorbar.title.font", + "parent_name": "contourcarpet.colorbar.title.font", "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "contour.colorbar.tickwidth": { + "contourcarpet.colorbar.tickwidth": { "params": { "plotly_name": "tickwidth", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "contour.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "contour.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contour.colorbar.tickvals": { + "contourcarpet.colorbar.tickvals": { "params": { "plotly_name": "tickvals", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars" }, "superclass": "DataArrayValidator" }, - "contour.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "contour.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "contour.colorbar.ticktext": { + "contourcarpet.colorbar.ticktext": { "params": { "plotly_name": "ticktext", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars" }, "superclass": "DataArrayValidator" }, - "contour.colorbar.ticksuffix": { + "contourcarpet.colorbar.ticksuffix": { "params": { "plotly_name": "ticksuffix", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "contour.colorbar.ticks": { + "contourcarpet.colorbar.ticks": { "params": { "plotly_name": "ticks", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars", "values": [ "outside", @@ -112628,18 +94886,18 @@ }, "superclass": "EnumeratedValidator" }, - "contour.colorbar.tickprefix": { + "contourcarpet.colorbar.tickprefix": { "params": { "plotly_name": "tickprefix", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "contour.colorbar.tickmode": { + "contourcarpet.colorbar.tickmode": { "params": { "plotly_name": "tickmode", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars", "implied_edits": {}, "values": [ @@ -112650,28 +94908,28 @@ }, "superclass": "EnumeratedValidator" }, - "contour.colorbar.ticklen": { + "contourcarpet.colorbar.ticklen": { "params": { "plotly_name": "ticklen", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "contour.colorbar.ticklabelstep": { + "contourcarpet.colorbar.ticklabelstep": { "params": { "plotly_name": "ticklabelstep", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars", "min": 1 }, "superclass": "IntegerValidator" }, - "contour.colorbar.ticklabelposition": { + "contourcarpet.colorbar.ticklabelposition": { "params": { "plotly_name": "ticklabelposition", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars", "values": [ "outside", @@ -112688,10 +94946,10 @@ }, "superclass": "EnumeratedValidator" }, - "contour.colorbar.ticklabeloverflow": { + "contourcarpet.colorbar.ticklabeloverflow": { "params": { "plotly_name": "ticklabeloverflow", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars", "values": [ "allow", @@ -112701,60 +94959,60 @@ }, "superclass": "EnumeratedValidator" }, - "contour.colorbar.tickformatstopdefaults": { + "contourcarpet.colorbar.tickformatstopdefaults": { "params": { "plotly_name": "tickformatstopdefaults", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "data_class_str": "Tickformatstop", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "contour.colorbar.tickformatstops": { + "contourcarpet.colorbar.tickformatstops": { "params": { "plotly_name": "tickformatstops", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "data_class_str": "Tickformatstop", "data_docs": "\n" }, "superclass": "CompoundArrayValidator" }, - "contour.colorbar.tickformatstop.value": { + "contourcarpet.colorbar.tickformatstop.value": { "params": { "plotly_name": "value", - "parent_name": "contour.colorbar.tickformatstop", + "parent_name": "contourcarpet.colorbar.tickformatstop", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "contour.colorbar.tickformatstop.templateitemname": { + "contourcarpet.colorbar.tickformatstop.templateitemname": { "params": { "plotly_name": "templateitemname", - "parent_name": "contour.colorbar.tickformatstop", + "parent_name": "contourcarpet.colorbar.tickformatstop", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "contour.colorbar.tickformatstop.name": { + "contourcarpet.colorbar.tickformatstop.name": { "params": { "plotly_name": "name", - "parent_name": "contour.colorbar.tickformatstop", + "parent_name": "contourcarpet.colorbar.tickformatstop", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "contour.colorbar.tickformatstop.enabled": { + "contourcarpet.colorbar.tickformatstop.enabled": { "params": { "plotly_name": "enabled", - "parent_name": "contour.colorbar.tickformatstop", + "parent_name": "contourcarpet.colorbar.tickformatstop", "edit_type": "colorbars" }, "superclass": "BooleanValidator" }, - "contour.colorbar.tickformatstop.dtickrange": { + "contourcarpet.colorbar.tickformatstop.dtickrange": { "params": { "plotly_name": "dtickrange", - "parent_name": "contour.colorbar.tickformatstop", + "parent_name": "contourcarpet.colorbar.tickformatstop", "edit_type": "colorbars", "items": [ { @@ -112769,27 +95027,27 @@ }, "superclass": "InfoArrayValidator" }, - "contour.colorbar.tickformat": { + "contourcarpet.colorbar.tickformat": { "params": { "plotly_name": "tickformat", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "contour.colorbar.tickfont": { + "contourcarpet.colorbar.tickfont": { "params": { "plotly_name": "tickfont", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "data_class_str": "Tickfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "contour.colorbar.tickfont.weight": { + "contourcarpet.colorbar.tickfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "contour.colorbar.tickfont", + "parent_name": "contourcarpet.colorbar.tickfont", "edit_type": "colorbars", "extras": [ "normal", @@ -112800,10 +95058,10 @@ }, "superclass": "IntegerValidator" }, - "contour.colorbar.tickfont.variant": { + "contourcarpet.colorbar.tickfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "contour.colorbar.tickfont", + "parent_name": "contourcarpet.colorbar.tickfont", "edit_type": "colorbars", "values": [ "normal", @@ -112816,10 +95074,10 @@ }, "superclass": "EnumeratedValidator" }, - "contour.colorbar.tickfont.textcase": { + "contourcarpet.colorbar.tickfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "contour.colorbar.tickfont", + "parent_name": "contourcarpet.colorbar.tickfont", "edit_type": "colorbars", "values": [ "normal", @@ -112830,10 +95088,10 @@ }, "superclass": "EnumeratedValidator" }, - "contour.colorbar.tickfont.style": { + "contourcarpet.colorbar.tickfont.style": { "params": { "plotly_name": "style", - "parent_name": "contour.colorbar.tickfont", + "parent_name": "contourcarpet.colorbar.tickfont", "edit_type": "colorbars", "values": [ "normal", @@ -112842,27 +95100,27 @@ }, "superclass": "EnumeratedValidator" }, - "contour.colorbar.tickfont.size": { + "contourcarpet.colorbar.tickfont.size": { "params": { "plotly_name": "size", - "parent_name": "contour.colorbar.tickfont", + "parent_name": "contourcarpet.colorbar.tickfont", "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "contour.colorbar.tickfont.shadow": { + "contourcarpet.colorbar.tickfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "contour.colorbar.tickfont", + "parent_name": "contourcarpet.colorbar.tickfont", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "contour.colorbar.tickfont.lineposition": { + "contourcarpet.colorbar.tickfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "contour.colorbar.tickfont", + "parent_name": "contourcarpet.colorbar.tickfont", "edit_type": "colorbars", "extras": [ "none" @@ -112875,44 +95133,44 @@ }, "superclass": "FlaglistValidator" }, - "contour.colorbar.tickfont.family": { + "contourcarpet.colorbar.tickfont.family": { "params": { "plotly_name": "family", - "parent_name": "contour.colorbar.tickfont", + "parent_name": "contourcarpet.colorbar.tickfont", "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "contour.colorbar.tickfont.color": { + "contourcarpet.colorbar.tickfont.color": { "params": { "plotly_name": "color", - "parent_name": "contour.colorbar.tickfont", + "parent_name": "contourcarpet.colorbar.tickfont", "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "contour.colorbar.tickcolor": { + "contourcarpet.colorbar.tickcolor": { "params": { "plotly_name": "tickcolor", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "contour.colorbar.tickangle": { + "contourcarpet.colorbar.tickangle": { "params": { "plotly_name": "tickangle", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars" }, "superclass": "AngleValidator" }, - "contour.colorbar.tick0": { + "contourcarpet.colorbar.tick0": { "params": { "plotly_name": "tick0", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars", "implied_edits": { "tickmode": "linear" @@ -112920,10 +95178,10 @@ }, "superclass": "AnyValidator" }, - "contour.colorbar.thicknessmode": { + "contourcarpet.colorbar.thicknessmode": { "params": { "plotly_name": "thicknessmode", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars", "values": [ "fraction", @@ -112932,19 +95190,19 @@ }, "superclass": "EnumeratedValidator" }, - "contour.colorbar.thickness": { + "contourcarpet.colorbar.thickness": { "params": { "plotly_name": "thickness", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "contour.colorbar.showticksuffix": { + "contourcarpet.colorbar.showticksuffix": { "params": { "plotly_name": "showticksuffix", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars", "values": [ "all", @@ -112955,10 +95213,10 @@ }, "superclass": "EnumeratedValidator" }, - "contour.colorbar.showtickprefix": { + "contourcarpet.colorbar.showtickprefix": { "params": { "plotly_name": "showtickprefix", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars", "values": [ "all", @@ -112969,18 +95227,18 @@ }, "superclass": "EnumeratedValidator" }, - "contour.colorbar.showticklabels": { + "contourcarpet.colorbar.showticklabels": { "params": { "plotly_name": "showticklabels", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars" }, "superclass": "BooleanValidator" }, - "contour.colorbar.showexponent": { + "contourcarpet.colorbar.showexponent": { "params": { "plotly_name": "showexponent", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars", "values": [ "all", @@ -112991,35 +95249,35 @@ }, "superclass": "EnumeratedValidator" }, - "contour.colorbar.separatethousands": { + "contourcarpet.colorbar.separatethousands": { "params": { "plotly_name": "separatethousands", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars" }, "superclass": "BooleanValidator" }, - "contour.colorbar.outlinewidth": { + "contourcarpet.colorbar.outlinewidth": { "params": { "plotly_name": "outlinewidth", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "contour.colorbar.outlinecolor": { + "contourcarpet.colorbar.outlinecolor": { "params": { "plotly_name": "outlinecolor", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "contour.colorbar.orientation": { + "contourcarpet.colorbar.orientation": { "params": { "plotly_name": "orientation", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars", "values": [ "h", @@ -113028,28 +95286,28 @@ }, "superclass": "EnumeratedValidator" }, - "contour.colorbar.nticks": { + "contourcarpet.colorbar.nticks": { "params": { "plotly_name": "nticks", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "IntegerValidator" }, - "contour.colorbar.minexponent": { + "contourcarpet.colorbar.minexponent": { "params": { "plotly_name": "minexponent", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "contour.colorbar.lenmode": { + "contourcarpet.colorbar.lenmode": { "params": { "plotly_name": "lenmode", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars", "values": [ "fraction", @@ -113058,27 +95316,27 @@ }, "superclass": "EnumeratedValidator" }, - "contour.colorbar.len": { + "contourcarpet.colorbar.len": { "params": { "plotly_name": "len", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "contour.colorbar.labelalias": { + "contourcarpet.colorbar.labelalias": { "params": { "plotly_name": "labelalias", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars" }, "superclass": "AnyValidator" }, - "contour.colorbar.exponentformat": { + "contourcarpet.colorbar.exponentformat": { "params": { "plotly_name": "exponentformat", - "parent_name": "contour.colorbar", + "parent_name": "contourcarpet.colorbar", "edit_type": "colorbars", "values": [ "none", @@ -113090,555 +95348,781 @@ "SI extended" ] }, - "superclass": "EnumeratedValidator" + "superclass": "EnumeratedValidator" + }, + "contourcarpet.colorbar.dtick": { + "params": { + "plotly_name": "dtick", + "parent_name": "contourcarpet.colorbar", + "edit_type": "colorbars", + "implied_edits": { + "tickmode": "linear" + } + }, + "superclass": "AnyValidator" + }, + "contourcarpet.colorbar.borderwidth": { + "params": { + "plotly_name": "borderwidth", + "parent_name": "contourcarpet.colorbar", + "edit_type": "colorbars", + "min": 0 + }, + "superclass": "NumberValidator" + }, + "contourcarpet.colorbar.bordercolor": { + "params": { + "plotly_name": "bordercolor", + "parent_name": "contourcarpet.colorbar", + "edit_type": "colorbars" + }, + "superclass": "ColorValidator" + }, + "contourcarpet.colorbar.bgcolor": { + "params": { + "plotly_name": "bgcolor", + "parent_name": "contourcarpet.colorbar", + "edit_type": "colorbars" + }, + "superclass": "ColorValidator" + }, + "contourcarpet.coloraxis": { + "params": { + "plotly_name": "coloraxis", + "parent_name": "contourcarpet", + "dflt": null, + "edit_type": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" + }, + "superclass": "SubplotidValidator" + }, + "contourcarpet.carpet": { + "params": { + "plotly_name": "carpet", + "parent_name": "contourcarpet", + "edit_type": "calc" + }, + "superclass": "StringValidator" + }, + "contourcarpet.btype": { + "params": { + "plotly_name": "btype", + "parent_name": "contourcarpet", + "edit_type": "calc+clearAxisTypes", + "values": [ + "array", + "scaled" + ] + }, + "superclass": "EnumeratedValidator" + }, + "contourcarpet.b0": { + "params": { + "plotly_name": "b0", + "parent_name": "contourcarpet", + "edit_type": "calc+clearAxisTypes", + "implied_edits": { + "ytype": "scaled" + } + }, + "superclass": "AnyValidator" + }, + "contourcarpet.b": { + "params": { + "plotly_name": "b", + "parent_name": "contourcarpet", + "edit_type": "calc+clearAxisTypes", + "implied_edits": { + "ytype": "array" + } + }, + "superclass": "DataArrayValidator" + }, + "contourcarpet.autocontour": { + "params": { + "plotly_name": "autocontour", + "parent_name": "contourcarpet", + "edit_type": "calc", + "implied_edits": {} + }, + "superclass": "BooleanValidator" + }, + "contourcarpet.autocolorscale": { + "params": { + "plotly_name": "autocolorscale", + "parent_name": "contourcarpet", + "edit_type": "calc", + "implied_edits": {} + }, + "superclass": "BooleanValidator" + }, + "contourcarpet.atype": { + "params": { + "plotly_name": "atype", + "parent_name": "contourcarpet", + "edit_type": "calc+clearAxisTypes", + "values": [ + "array", + "scaled" + ] + }, + "superclass": "EnumeratedValidator" + }, + "contourcarpet.a0": { + "params": { + "plotly_name": "a0", + "parent_name": "contourcarpet", + "edit_type": "calc+clearAxisTypes", + "implied_edits": { + "xtype": "scaled" + } + }, + "superclass": "AnyValidator" }, - "contour.colorbar.dtick": { + "contourcarpet.a": { "params": { - "plotly_name": "dtick", - "parent_name": "contour.colorbar", - "edit_type": "colorbars", + "plotly_name": "a", + "parent_name": "contourcarpet", + "edit_type": "calc+clearAxisTypes", "implied_edits": { - "tickmode": "linear" + "xtype": "array" } }, - "superclass": "AnyValidator" + "superclass": "DataArrayValidator" }, - "contour.colorbar.borderwidth": { + "contour": { "params": { - "plotly_name": "borderwidth", - "parent_name": "contour.colorbar", - "edit_type": "colorbars", - "min": 0 + "plotly_name": "contour", + "parent_name": "", + "data_class_str": "Contour", + "data_docs": "\n" }, - "superclass": "NumberValidator" + "superclass": "CompoundValidator" }, - "contour.colorbar.bordercolor": { + "contour.zorder": { "params": { - "plotly_name": "bordercolor", - "parent_name": "contour.colorbar", - "edit_type": "colorbars" + "plotly_name": "zorder", + "parent_name": "contour", + "edit_type": "plot" }, - "superclass": "ColorValidator" + "superclass": "IntegerValidator" }, - "contour.colorbar.bgcolor": { + "contour.zmin": { "params": { - "plotly_name": "bgcolor", - "parent_name": "contour.colorbar", - "edit_type": "colorbars" + "plotly_name": "zmin", + "parent_name": "contour", + "edit_type": "calc", + "implied_edits": { + "zauto": false + } }, - "superclass": "ColorValidator" + "superclass": "NumberValidator" }, - "contour.coloraxis": { + "contour.zmid": { "params": { - "plotly_name": "coloraxis", + "plotly_name": "zmid", "parent_name": "contour", - "dflt": null, "edit_type": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" + "implied_edits": {} }, - "superclass": "SubplotidValidator" + "superclass": "NumberValidator" }, - "contour.autocontour": { + "contour.zmax": { "params": { - "plotly_name": "autocontour", + "plotly_name": "zmax", "parent_name": "contour", "edit_type": "calc", - "implied_edits": {} + "implied_edits": { + "zauto": false + } }, - "superclass": "BooleanValidator" + "superclass": "NumberValidator" }, - "contour.autocolorscale": { + "contour.zhoverformat": { "params": { - "plotly_name": "autocolorscale", + "plotly_name": "zhoverformat", + "parent_name": "contour", + "edit_type": "none" + }, + "superclass": "StringValidator" + }, + "contour.zauto": { + "params": { + "plotly_name": "zauto", "parent_name": "contour", "edit_type": "calc", "implied_edits": {} }, "superclass": "BooleanValidator" }, - "cone": { + "contour.z": { "params": { - "plotly_name": "cone", - "parent_name": "", - "data_class_str": "Cone", - "data_docs": "\n" + "plotly_name": "z", + "parent_name": "contour", + "edit_type": "calc" }, - "superclass": "CompoundValidator" + "superclass": "DataArrayValidator" }, - "cone.zsrc": { + "contour.ytype": { "params": { - "plotly_name": "zsrc", - "parent_name": "cone", - "edit_type": "none" + "plotly_name": "ytype", + "parent_name": "contour", + "edit_type": "calc+clearAxisTypes", + "values": [ + "array", + "scaled" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "cone.zhoverformat": { + "contour.yperiodalignment": { "params": { - "plotly_name": "zhoverformat", - "parent_name": "cone", - "edit_type": "none" + "plotly_name": "yperiodalignment", + "parent_name": "contour", + "edit_type": "calc", + "implied_edits": { + "ytype": "scaled" + }, + "values": [ + "start", + "middle", + "end" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "cone.z": { + "contour.yperiod0": { "params": { - "plotly_name": "z", - "parent_name": "cone", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "yperiod0", + "parent_name": "contour", + "edit_type": "calc" }, - "superclass": "DataArrayValidator" + "superclass": "AnyValidator" }, - "cone.ysrc": { + "contour.yperiod": { "params": { - "plotly_name": "ysrc", - "parent_name": "cone", - "edit_type": "none" + "plotly_name": "yperiod", + "parent_name": "contour", + "edit_type": "calc", + "implied_edits": { + "ytype": "scaled" + } }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "cone.yhoverformat": { + "contour.yhoverformat": { "params": { "plotly_name": "yhoverformat", - "parent_name": "cone", + "parent_name": "contour", "edit_type": "none" }, "superclass": "StringValidator" }, - "cone.y": { + "contour.ycalendar": { "params": { - "plotly_name": "y", - "parent_name": "cone", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "ycalendar", + "parent_name": "contour", + "edit_type": "calc", + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" + ] }, - "superclass": "DataArrayValidator" + "superclass": "EnumeratedValidator" }, - "cone.xsrc": { + "contour.yaxis": { "params": { - "plotly_name": "xsrc", - "parent_name": "cone", - "edit_type": "none" + "plotly_name": "yaxis", + "parent_name": "contour", + "dflt": "y", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "SrcValidator" + "superclass": "SubplotidValidator" }, - "cone.xhoverformat": { + "contour.y0": { "params": { - "plotly_name": "xhoverformat", - "parent_name": "cone", - "edit_type": "none" + "plotly_name": "y0", + "parent_name": "contour", + "edit_type": "calc+clearAxisTypes", + "implied_edits": { + "ytype": "scaled" + } }, - "superclass": "StringValidator" + "superclass": "AnyValidator" }, - "cone.x": { + "contour.y": { "params": { - "plotly_name": "x", - "parent_name": "cone", - "edit_type": "calc+clearAxisTypes" + "plotly_name": "y", + "parent_name": "contour", + "edit_type": "calc+clearAxisTypes", + "implied_edits": { + "ytype": "array" + } }, "superclass": "DataArrayValidator" }, - "cone.wsrc": { + "contour.xtype": { "params": { - "plotly_name": "wsrc", - "parent_name": "cone", - "edit_type": "none" + "plotly_name": "xtype", + "parent_name": "contour", + "edit_type": "calc+clearAxisTypes", + "values": [ + "array", + "scaled" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "cone.whoverformat": { + "contour.xperiodalignment": { "params": { - "plotly_name": "whoverformat", - "parent_name": "cone", - "edit_type": "none" + "plotly_name": "xperiodalignment", + "parent_name": "contour", + "edit_type": "calc", + "implied_edits": { + "xtype": "scaled" + }, + "values": [ + "start", + "middle", + "end" + ] }, - "superclass": "StringValidator" + "superclass": "EnumeratedValidator" }, - "cone.w": { + "contour.xperiod0": { "params": { - "plotly_name": "w", - "parent_name": "cone", + "plotly_name": "xperiod0", + "parent_name": "contour", "edit_type": "calc" }, - "superclass": "DataArrayValidator" + "superclass": "AnyValidator" }, - "cone.vsrc": { + "contour.xperiod": { "params": { - "plotly_name": "vsrc", - "parent_name": "cone", + "plotly_name": "xperiod", + "parent_name": "contour", + "edit_type": "calc", + "implied_edits": { + "xtype": "scaled" + } + }, + "superclass": "AnyValidator" + }, + "contour.xhoverformat": { + "params": { + "plotly_name": "xhoverformat", + "parent_name": "contour", "edit_type": "none" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "cone.visible": { + "contour.xcalendar": { "params": { - "plotly_name": "visible", - "parent_name": "cone", + "plotly_name": "xcalendar", + "parent_name": "contour", "edit_type": "calc", "values": [ - true, - false, - "legendonly" + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" ] }, "superclass": "EnumeratedValidator" }, - "cone.vhoverformat": { + "contour.xaxis": { "params": { - "plotly_name": "vhoverformat", - "parent_name": "cone", - "edit_type": "none" + "plotly_name": "xaxis", + "parent_name": "contour", + "dflt": "x", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "StringValidator" + "superclass": "SubplotidValidator" }, - "cone.v": { + "contour.x0": { "params": { - "plotly_name": "v", - "parent_name": "cone", - "edit_type": "calc" + "plotly_name": "x0", + "parent_name": "contour", + "edit_type": "calc+clearAxisTypes", + "implied_edits": { + "xtype": "scaled" + } + }, + "superclass": "AnyValidator" + }, + "contour.x": { + "params": { + "plotly_name": "x", + "parent_name": "contour", + "edit_type": "calc+clearAxisTypes", + "implied_edits": { + "xtype": "array" + } }, "superclass": "DataArrayValidator" }, - "cone.usrc": { + "contour.visible": { "params": { - "plotly_name": "usrc", - "parent_name": "cone", - "edit_type": "none" + "plotly_name": "visible", + "parent_name": "contour", + "edit_type": "calc", + "values": [ + true, + false, + "legendonly" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "cone.uirevision": { + "contour.uirevision": { "params": { "plotly_name": "uirevision", - "parent_name": "cone", + "parent_name": "contour", "edit_type": "none" }, "superclass": "AnyValidator" }, - "cone.uid": { + "contour.uid": { "params": { "plotly_name": "uid", - "parent_name": "cone", + "parent_name": "contour", "edit_type": "plot" }, "superclass": "StringValidator" }, - "cone.uhoverformat": { - "params": { - "plotly_name": "uhoverformat", - "parent_name": "cone", - "edit_type": "none" - }, - "superclass": "StringValidator" - }, - "cone.u": { + "contour.transpose": { "params": { - "plotly_name": "u", - "parent_name": "cone", + "plotly_name": "transpose", + "parent_name": "contour", "edit_type": "calc" }, - "superclass": "DataArrayValidator" + "superclass": "BooleanValidator" }, - "cone.textsrc": { + "contour.texttemplatefallback": { "params": { - "plotly_name": "textsrc", - "parent_name": "cone", - "edit_type": "none" + "plotly_name": "texttemplatefallback", + "parent_name": "contour", + "edit_type": "plot" }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "cone.text": { + "contour.texttemplate": { "params": { - "plotly_name": "text", - "parent_name": "cone", - "array_ok": true, - "edit_type": "calc" + "plotly_name": "texttemplate", + "parent_name": "contour", + "edit_type": "plot" }, "superclass": "StringValidator" }, - "cone.stream": { + "contour.textfont": { "params": { - "plotly_name": "stream", - "parent_name": "cone", - "data_class_str": "Stream", + "plotly_name": "textfont", + "parent_name": "contour", + "data_class_str": "Textfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "cone.stream.token": { + "contour.textfont.weight": { "params": { - "plotly_name": "token", - "parent_name": "cone.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true + "plotly_name": "weight", + "parent_name": "contour.textfont", + "edit_type": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 }, - "superclass": "StringValidator" + "superclass": "IntegerValidator" }, - "cone.stream.maxpoints": { + "contour.textfont.variant": { "params": { - "plotly_name": "maxpoints", - "parent_name": "cone.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 + "plotly_name": "variant", + "parent_name": "contour.textfont", + "edit_type": "plot", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "cone.sizeref": { + "contour.textfont.textcase": { "params": { - "plotly_name": "sizeref", - "parent_name": "cone", - "edit_type": "calc", - "min": 0 + "plotly_name": "textcase", + "parent_name": "contour.textfont", + "edit_type": "plot", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "cone.sizemode": { + "contour.textfont.style": { "params": { - "plotly_name": "sizemode", - "parent_name": "cone", - "edit_type": "calc", + "plotly_name": "style", + "parent_name": "contour.textfont", + "edit_type": "plot", "values": [ - "scaled", - "absolute", - "raw" + "normal", + "italic" ] }, "superclass": "EnumeratedValidator" }, - "cone.showscale": { + "contour.textfont.size": { + "params": { + "plotly_name": "size", + "parent_name": "contour.textfont", + "edit_type": "plot", + "min": 1 + }, + "superclass": "NumberValidator" + }, + "contour.textfont.shadow": { + "params": { + "plotly_name": "shadow", + "parent_name": "contour.textfont", + "edit_type": "plot" + }, + "superclass": "StringValidator" + }, + "contour.textfont.lineposition": { + "params": { + "plotly_name": "lineposition", + "parent_name": "contour.textfont", + "edit_type": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] + }, + "superclass": "FlaglistValidator" + }, + "contour.textfont.family": { + "params": { + "plotly_name": "family", + "parent_name": "contour.textfont", + "edit_type": "plot", + "no_blank": true, + "strict": true + }, + "superclass": "StringValidator" + }, + "contour.textfont.color": { + "params": { + "plotly_name": "color", + "parent_name": "contour.textfont", + "edit_type": "style" + }, + "superclass": "ColorValidator" + }, + "contour.text": { + "params": { + "plotly_name": "text", + "parent_name": "contour", + "edit_type": "calc" + }, + "superclass": "DataArrayValidator" + }, + "contour.showscale": { "params": { "plotly_name": "showscale", - "parent_name": "cone", + "parent_name": "contour", "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "cone.showlegend": { + "contour.showlegend": { "params": { "plotly_name": "showlegend", - "parent_name": "cone", + "parent_name": "contour", "edit_type": "style" }, "superclass": "BooleanValidator" }, - "cone.scene": { - "params": { - "plotly_name": "scene", - "parent_name": "cone", - "dflt": "scene", - "edit_type": "calc+clearAxisTypes" - }, - "superclass": "SubplotidValidator" - }, - "cone.reversescale": { + "contour.reversescale": { "params": { "plotly_name": "reversescale", - "parent_name": "cone", + "parent_name": "contour", "edit_type": "plot" }, "superclass": "BooleanValidator" }, - "cone.opacity": { + "contour.opacity": { "params": { "plotly_name": "opacity", - "parent_name": "cone", - "edit_type": "calc", + "parent_name": "contour", + "edit_type": "style", "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "cone.name": { + "contour.ncontours": { "params": { - "plotly_name": "name", - "parent_name": "cone", - "edit_type": "style" + "plotly_name": "ncontours", + "parent_name": "contour", + "edit_type": "calc", + "min": 1 }, - "superclass": "StringValidator" + "superclass": "IntegerValidator" }, - "cone.metasrc": { + "contour.name": { "params": { - "plotly_name": "metasrc", - "parent_name": "cone", - "edit_type": "none" + "plotly_name": "name", + "parent_name": "contour", + "edit_type": "style" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "cone.meta": { + "contour.meta": { "params": { "plotly_name": "meta", - "parent_name": "cone", + "parent_name": "contour", "array_ok": true, "edit_type": "plot" }, "superclass": "AnyValidator" }, - "cone.lightposition": { - "params": { - "plotly_name": "lightposition", - "parent_name": "cone", - "data_class_str": "Lightposition", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "cone.lightposition.z": { - "params": { - "plotly_name": "z", - "parent_name": "cone.lightposition", - "edit_type": "calc", - "max": 100000, - "min": -100000 - }, - "superclass": "NumberValidator" - }, - "cone.lightposition.y": { - "params": { - "plotly_name": "y", - "parent_name": "cone.lightposition", - "edit_type": "calc", - "max": 100000, - "min": -100000 - }, - "superclass": "NumberValidator" - }, - "cone.lightposition.x": { - "params": { - "plotly_name": "x", - "parent_name": "cone.lightposition", - "edit_type": "calc", - "max": 100000, - "min": -100000 - }, - "superclass": "NumberValidator" - }, - "cone.lighting": { + "contour.line": { "params": { - "plotly_name": "lighting", - "parent_name": "cone", - "data_class_str": "Lighting", + "plotly_name": "line", + "parent_name": "contour", + "data_class_str": "Line", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "cone.lighting.vertexnormalsepsilon": { - "params": { - "plotly_name": "vertexnormalsepsilon", - "parent_name": "cone.lighting", - "edit_type": "calc", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "cone.lighting.specular": { - "params": { - "plotly_name": "specular", - "parent_name": "cone.lighting", - "edit_type": "calc", - "max": 2, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "cone.lighting.roughness": { - "params": { - "plotly_name": "roughness", - "parent_name": "cone.lighting", - "edit_type": "calc", - "max": 1, - "min": 0 - }, - "superclass": "NumberValidator" - }, - "cone.lighting.fresnel": { + "contour.line.width": { "params": { - "plotly_name": "fresnel", - "parent_name": "cone.lighting", - "edit_type": "calc", - "max": 5, + "plotly_name": "width", + "parent_name": "contour.line", + "edit_type": "style+colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "cone.lighting.facenormalsepsilon": { + "contour.line.smoothing": { "params": { - "plotly_name": "facenormalsepsilon", - "parent_name": "cone.lighting", - "edit_type": "calc", - "max": 1, + "plotly_name": "smoothing", + "parent_name": "contour.line", + "edit_type": "plot", + "max": 1.3, "min": 0 }, "superclass": "NumberValidator" }, - "cone.lighting.diffuse": { + "contour.line.dash": { "params": { - "plotly_name": "diffuse", - "parent_name": "cone.lighting", - "edit_type": "calc", - "max": 1, - "min": 0 + "plotly_name": "dash", + "parent_name": "contour.line", + "edit_type": "style", + "values": [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" + ] }, - "superclass": "NumberValidator" + "superclass": "DashValidator" }, - "cone.lighting.ambient": { + "contour.line.color": { "params": { - "plotly_name": "ambient", - "parent_name": "cone.lighting", - "edit_type": "calc", - "max": 1, - "min": 0 + "plotly_name": "color", + "parent_name": "contour.line", + "edit_type": "style+colorbars" }, - "superclass": "NumberValidator" + "superclass": "ColorValidator" }, - "cone.legendwidth": { + "contour.legendwidth": { "params": { "plotly_name": "legendwidth", - "parent_name": "cone", + "parent_name": "contour", "edit_type": "style", "min": 0 }, "superclass": "NumberValidator" }, - "cone.legendrank": { + "contour.legendrank": { "params": { "plotly_name": "legendrank", - "parent_name": "cone", + "parent_name": "contour", "edit_type": "style" }, "superclass": "NumberValidator" }, - "cone.legendgrouptitle": { + "contour.legendgrouptitle": { "params": { "plotly_name": "legendgrouptitle", - "parent_name": "cone", + "parent_name": "contour", "data_class_str": "Legendgrouptitle", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "cone.legendgrouptitle.text": { + "contour.legendgrouptitle.text": { "params": { "plotly_name": "text", - "parent_name": "cone.legendgrouptitle", + "parent_name": "contour.legendgrouptitle", "edit_type": "style" }, "superclass": "StringValidator" }, - "cone.legendgrouptitle.font": { + "contour.legendgrouptitle.font": { "params": { "plotly_name": "font", - "parent_name": "cone.legendgrouptitle", + "parent_name": "contour.legendgrouptitle", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "cone.legendgrouptitle.font.weight": { + "contour.legendgrouptitle.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "cone.legendgrouptitle.font", + "parent_name": "contour.legendgrouptitle.font", "edit_type": "style", "extras": [ "normal", @@ -113649,10 +96133,10 @@ }, "superclass": "IntegerValidator" }, - "cone.legendgrouptitle.font.variant": { + "contour.legendgrouptitle.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "cone.legendgrouptitle.font", + "parent_name": "contour.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -113665,10 +96149,10 @@ }, "superclass": "EnumeratedValidator" }, - "cone.legendgrouptitle.font.textcase": { + "contour.legendgrouptitle.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "cone.legendgrouptitle.font", + "parent_name": "contour.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -113679,10 +96163,10 @@ }, "superclass": "EnumeratedValidator" }, - "cone.legendgrouptitle.font.style": { + "contour.legendgrouptitle.font.style": { "params": { "plotly_name": "style", - "parent_name": "cone.legendgrouptitle.font", + "parent_name": "contour.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -113691,27 +96175,27 @@ }, "superclass": "EnumeratedValidator" }, - "cone.legendgrouptitle.font.size": { + "contour.legendgrouptitle.font.size": { "params": { "plotly_name": "size", - "parent_name": "cone.legendgrouptitle.font", + "parent_name": "contour.legendgrouptitle.font", "edit_type": "style", "min": 1 }, "superclass": "NumberValidator" }, - "cone.legendgrouptitle.font.shadow": { + "contour.legendgrouptitle.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "cone.legendgrouptitle.font", + "parent_name": "contour.legendgrouptitle.font", "edit_type": "style" }, "superclass": "StringValidator" }, - "cone.legendgrouptitle.font.lineposition": { + "contour.legendgrouptitle.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "cone.legendgrouptitle.font", + "parent_name": "contour.legendgrouptitle.font", "edit_type": "style", "extras": [ "none" @@ -113724,157 +96208,439 @@ }, "superclass": "FlaglistValidator" }, - "cone.legendgrouptitle.font.family": { + "contour.legendgrouptitle.font.family": { "params": { "plotly_name": "family", - "parent_name": "cone.legendgrouptitle.font", + "parent_name": "contour.legendgrouptitle.font", "edit_type": "style", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "cone.legendgrouptitle.font.color": { + "contour.legendgrouptitle.font.color": { "params": { "plotly_name": "color", - "parent_name": "cone.legendgrouptitle.font", + "parent_name": "contour.legendgrouptitle.font", "edit_type": "style" }, "superclass": "ColorValidator" }, - "cone.legendgroup": { + "contour.legendgroup": { "params": { "plotly_name": "legendgroup", - "parent_name": "cone", + "parent_name": "contour", "edit_type": "style" }, "superclass": "StringValidator" }, - "cone.legend": { + "contour.legend": { "params": { "plotly_name": "legend", - "parent_name": "cone", + "parent_name": "contour", "dflt": "legend", "edit_type": "style" }, "superclass": "SubplotidValidator" }, - "cone.idssrc": { + "contour.ids": { "params": { - "plotly_name": "idssrc", - "parent_name": "cone", - "edit_type": "none" + "plotly_name": "ids", + "parent_name": "contour", + "edit_type": "calc" }, - "superclass": "SrcValidator" + "superclass": "DataArrayValidator" }, - "cone.ids": { + "contour.hovertext": { "params": { - "plotly_name": "ids", - "parent_name": "cone", + "plotly_name": "hovertext", + "parent_name": "contour", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "cone.hovertextsrc": { + "contour.hovertemplatefallback": { "params": { - "plotly_name": "hovertextsrc", - "parent_name": "cone", + "plotly_name": "hovertemplatefallback", + "parent_name": "contour", "edit_type": "none" }, - "superclass": "SrcValidator" + "superclass": "AnyValidator" }, - "cone.hovertext": { + "contour.hovertemplate": { "params": { - "plotly_name": "hovertext", - "parent_name": "cone", + "plotly_name": "hovertemplate", + "parent_name": "contour", + "array_ok": true, + "edit_type": "none" + }, + "superclass": "StringValidator" + }, + "contour.hoverongaps": { + "params": { + "plotly_name": "hoverongaps", + "parent_name": "contour", + "edit_type": "none" + }, + "superclass": "BooleanValidator" + }, + "contour.hoverlabel": { + "params": { + "plotly_name": "hoverlabel", + "parent_name": "contour", + "data_class_str": "Hoverlabel", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "contour.hoverlabel.showarrow": { + "params": { + "plotly_name": "showarrow", + "parent_name": "contour.hoverlabel", + "edit_type": "none" + }, + "superclass": "BooleanValidator" + }, + "contour.hoverlabel.namelength": { + "params": { + "plotly_name": "namelength", + "parent_name": "contour.hoverlabel", + "array_ok": true, + "edit_type": "none", + "min": -1 + }, + "superclass": "IntegerValidator" + }, + "contour.hoverlabel.font": { + "params": { + "plotly_name": "font", + "parent_name": "contour.hoverlabel", + "data_class_str": "Font", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "contour.hoverlabel.font.weight": { + "params": { + "plotly_name": "weight", + "parent_name": "contour.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1 + }, + "superclass": "IntegerValidator" + }, + "contour.hoverlabel.font.variant": { + "params": { + "plotly_name": "variant", + "parent_name": "contour.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "superclass": "EnumeratedValidator" + }, + "contour.hoverlabel.font.textcase": { + "params": { + "plotly_name": "textcase", + "parent_name": "contour.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "superclass": "EnumeratedValidator" + }, + "contour.hoverlabel.font.style": { + "params": { + "plotly_name": "style", + "parent_name": "contour.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "values": [ + "normal", + "italic" + ] + }, + "superclass": "EnumeratedValidator" + }, + "contour.hoverlabel.font.size": { + "params": { + "plotly_name": "size", + "parent_name": "contour.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "min": 1 + }, + "superclass": "NumberValidator" + }, + "contour.hoverlabel.font.shadow": { + "params": { + "plotly_name": "shadow", + "parent_name": "contour.hoverlabel.font", + "array_ok": true, + "edit_type": "none" + }, + "superclass": "StringValidator" + }, + "contour.hoverlabel.font.lineposition": { + "params": { + "plotly_name": "lineposition", + "parent_name": "contour.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ] + }, + "superclass": "FlaglistValidator" + }, + "contour.hoverlabel.font.family": { + "params": { + "plotly_name": "family", + "parent_name": "contour.hoverlabel.font", + "array_ok": true, + "edit_type": "none", + "no_blank": true, + "strict": true + }, + "superclass": "StringValidator" + }, + "contour.hoverlabel.font.color": { + "params": { + "plotly_name": "color", + "parent_name": "contour.hoverlabel.font", + "array_ok": true, + "edit_type": "none" + }, + "superclass": "ColorValidator" + }, + "contour.hoverlabel.bordercolor": { + "params": { + "plotly_name": "bordercolor", + "parent_name": "contour.hoverlabel", + "array_ok": true, + "edit_type": "none" + }, + "superclass": "ColorValidator" + }, + "contour.hoverlabel.bgcolor": { + "params": { + "plotly_name": "bgcolor", + "parent_name": "contour.hoverlabel", + "array_ok": true, + "edit_type": "none" + }, + "superclass": "ColorValidator" + }, + "contour.hoverlabel.align": { + "params": { + "plotly_name": "align", + "parent_name": "contour.hoverlabel", "array_ok": true, + "edit_type": "none", + "values": [ + "left", + "right", + "auto" + ] + }, + "superclass": "EnumeratedValidator" + }, + "contour.hoverinfo": { + "params": { + "plotly_name": "hoverinfo", + "parent_name": "contour", + "array_ok": true, + "edit_type": "none", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ] + }, + "superclass": "FlaglistValidator" + }, + "contour.fillcolor": { + "params": { + "plotly_name": "fillcolor", + "parent_name": "contour", + "edit_type": "calc", + "colorscale_path": "contour.colorscale" + }, + "superclass": "ColorValidator" + }, + "contour.dy": { + "params": { + "plotly_name": "dy", + "parent_name": "contour", + "edit_type": "calc", + "implied_edits": { + "ytype": "scaled" + } + }, + "superclass": "NumberValidator" + }, + "contour.dx": { + "params": { + "plotly_name": "dx", + "parent_name": "contour", + "edit_type": "calc", + "implied_edits": { + "xtype": "scaled" + } + }, + "superclass": "NumberValidator" + }, + "contour.customdata": { + "params": { + "plotly_name": "customdata", + "parent_name": "contour", + "edit_type": "calc" + }, + "superclass": "DataArrayValidator" + }, + "contour.contours": { + "params": { + "plotly_name": "contours", + "parent_name": "contour", + "data_class_str": "Contours", + "data_docs": "\n" + }, + "superclass": "CompoundValidator" + }, + "contour.contours.value": { + "params": { + "plotly_name": "value", + "parent_name": "contour.contours", "edit_type": "calc" }, - "superclass": "StringValidator" + "superclass": "AnyValidator" }, - "cone.hovertemplatesrc": { + "contour.contours.type": { "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "cone", - "edit_type": "none" + "plotly_name": "type", + "parent_name": "contour.contours", + "edit_type": "calc", + "values": [ + "levels", + "constraint" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "cone.hovertemplatefallback": { + "contour.contours.start": { "params": { - "plotly_name": "hovertemplatefallback", - "parent_name": "cone", - "edit_type": "calc" + "plotly_name": "start", + "parent_name": "contour.contours", + "edit_type": "plot", + "implied_edits": { + "^autocontour": false + } }, - "superclass": "AnyValidator" + "superclass": "NumberValidator" }, - "cone.hovertemplate": { + "contour.contours.size": { "params": { - "plotly_name": "hovertemplate", - "parent_name": "cone", - "array_ok": true, - "edit_type": "calc" + "plotly_name": "size", + "parent_name": "contour.contours", + "edit_type": "plot", + "implied_edits": { + "^autocontour": false + }, + "min": 0 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "cone.hoverlabel": { + "contour.contours.showlines": { "params": { - "plotly_name": "hoverlabel", - "parent_name": "cone", - "data_class_str": "Hoverlabel", - "data_docs": "\n" + "plotly_name": "showlines", + "parent_name": "contour.contours", + "edit_type": "plot" }, - "superclass": "CompoundValidator" + "superclass": "BooleanValidator" }, - "cone.hoverlabel.showarrow": { + "contour.contours.showlabels": { "params": { - "plotly_name": "showarrow", - "parent_name": "cone.hoverlabel", - "edit_type": "none" + "plotly_name": "showlabels", + "parent_name": "contour.contours", + "edit_type": "plot" }, "superclass": "BooleanValidator" }, - "cone.hoverlabel.namelengthsrc": { + "contour.contours.operation": { "params": { - "plotly_name": "namelengthsrc", - "parent_name": "cone.hoverlabel", - "edit_type": "none" + "plotly_name": "operation", + "parent_name": "contour.contours", + "edit_type": "calc", + "values": [ + "=", + "<", + ">=", + ">", + "<=", + "[]", + "()", + "[)", + "(]", + "][", + ")(", + "](", + ")[" + ] }, - "superclass": "SrcValidator" + "superclass": "EnumeratedValidator" }, - "cone.hoverlabel.namelength": { + "contour.contours.labelformat": { "params": { - "plotly_name": "namelength", - "parent_name": "cone.hoverlabel", - "array_ok": true, - "edit_type": "none", - "min": -1 + "plotly_name": "labelformat", + "parent_name": "contour.contours", + "edit_type": "plot" }, - "superclass": "IntegerValidator" + "superclass": "StringValidator" }, - "cone.hoverlabel.font": { + "contour.contours.labelfont": { "params": { - "plotly_name": "font", - "parent_name": "cone.hoverlabel", - "data_class_str": "Font", + "plotly_name": "labelfont", + "parent_name": "contour.contours", + "data_class_str": "Labelfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "cone.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "cone.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "cone.hoverlabel.font.weight": { + "contour.contours.labelfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "cone.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "contour.contours.labelfont", + "edit_type": "plot", "extras": [ "normal", "bold" @@ -113884,20 +96650,11 @@ }, "superclass": "IntegerValidator" }, - "cone.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "cone.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "cone.hoverlabel.font.variant": { + "contour.contours.labelfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "cone.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "contour.contours.labelfont", + "edit_type": "plot", "values": [ "normal", "small-caps", @@ -113909,20 +96666,11 @@ }, "superclass": "EnumeratedValidator" }, - "cone.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "cone.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "cone.hoverlabel.font.textcase": { + "contour.contours.labelfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "cone.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "contour.contours.labelfont", + "edit_type": "plot", "values": [ "normal", "word caps", @@ -113932,20 +96680,11 @@ }, "superclass": "EnumeratedValidator" }, - "cone.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "cone.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "cone.hoverlabel.font.style": { + "contour.contours.labelfont.style": { "params": { "plotly_name": "style", - "parent_name": "cone.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "contour.contours.labelfont", + "edit_type": "plot", "values": [ "normal", "italic" @@ -113953,55 +96692,28 @@ }, "superclass": "EnumeratedValidator" }, - "cone.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "cone.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "cone.hoverlabel.font.size": { + "contour.contours.labelfont.size": { "params": { "plotly_name": "size", - "parent_name": "cone.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "contour.contours.labelfont", + "edit_type": "plot", "min": 1 }, "superclass": "NumberValidator" }, - "cone.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "cone.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "cone.hoverlabel.font.shadow": { + "contour.contours.labelfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "cone.hoverlabel.font", - "array_ok": true, - "edit_type": "none" + "parent_name": "contour.contours.labelfont", + "edit_type": "plot" }, "superclass": "StringValidator" }, - "cone.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "cone.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "cone.hoverlabel.font.lineposition": { + "contour.contours.labelfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "cone.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "contour.contours.labelfont", + "edit_type": "plot", "extras": [ "none" ], @@ -114013,151 +96725,61 @@ }, "superclass": "FlaglistValidator" }, - "cone.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "cone.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "cone.hoverlabel.font.family": { + "contour.contours.labelfont.family": { "params": { "plotly_name": "family", - "parent_name": "cone.hoverlabel.font", - "array_ok": true, - "edit_type": "none", + "parent_name": "contour.contours.labelfont", + "edit_type": "plot", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "cone.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "cone.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "cone.hoverlabel.font.color": { + "contour.contours.labelfont.color": { "params": { "plotly_name": "color", - "parent_name": "cone.hoverlabel.font", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "ColorValidator" - }, - "cone.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "cone.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "cone.hoverlabel.bordercolor": { - "params": { - "plotly_name": "bordercolor", - "parent_name": "cone.hoverlabel", - "array_ok": true, - "edit_type": "none" - }, - "superclass": "ColorValidator" - }, - "cone.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "cone.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "cone.hoverlabel.bgcolor": { - "params": { - "plotly_name": "bgcolor", - "parent_name": "cone.hoverlabel", - "array_ok": true, - "edit_type": "none" + "parent_name": "contour.contours.labelfont", + "edit_type": "style" }, "superclass": "ColorValidator" }, - "cone.hoverlabel.alignsrc": { + "contour.contours.end": { "params": { - "plotly_name": "alignsrc", - "parent_name": "cone.hoverlabel", - "edit_type": "none" + "plotly_name": "end", + "parent_name": "contour.contours", + "edit_type": "plot", + "implied_edits": { + "^autocontour": false + } }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "cone.hoverlabel.align": { + "contour.contours.coloring": { "params": { - "plotly_name": "align", - "parent_name": "cone.hoverlabel", - "array_ok": true, - "edit_type": "none", + "plotly_name": "coloring", + "parent_name": "contour.contours", + "edit_type": "calc", "values": [ - "left", - "right", - "auto" + "fill", + "heatmap", + "lines", + "none" ] }, "superclass": "EnumeratedValidator" }, - "cone.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "cone", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "cone.hoverinfo": { - "params": { - "plotly_name": "hoverinfo", - "parent_name": "cone", - "array_ok": true, - "edit_type": "calc", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "x", - "y", - "z", - "u", - "v", - "w", - "norm", - "text", - "name" - ] - }, - "superclass": "FlaglistValidator" - }, - "cone.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "cone", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "cone.customdata": { + "contour.connectgaps": { "params": { - "plotly_name": "customdata", - "parent_name": "cone", + "plotly_name": "connectgaps", + "parent_name": "contour", "edit_type": "calc" }, - "superclass": "DataArrayValidator" + "superclass": "BooleanValidator" }, - "cone.colorscale": { + "contour.colorscale": { "params": { "plotly_name": "colorscale", - "parent_name": "cone", + "parent_name": "contour", "edit_type": "calc", "implied_edits": { "autocolorscale": false @@ -114165,19 +96787,19 @@ }, "superclass": "ColorscaleValidator" }, - "cone.colorbar": { + "contour.colorbar": { "params": { "plotly_name": "colorbar", - "parent_name": "cone", + "parent_name": "contour", "data_class_str": "ColorBar", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "cone.colorbar.yref": { + "contour.colorbar.yref": { "params": { "plotly_name": "yref", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "values": [ "container", @@ -114186,19 +96808,19 @@ }, "superclass": "EnumeratedValidator" }, - "cone.colorbar.ypad": { + "contour.colorbar.ypad": { "params": { "plotly_name": "ypad", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "cone.colorbar.yanchor": { + "contour.colorbar.yanchor": { "params": { "plotly_name": "yanchor", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "values": [ "top", @@ -114208,18 +96830,18 @@ }, "superclass": "EnumeratedValidator" }, - "cone.colorbar.y": { + "contour.colorbar.y": { "params": { "plotly_name": "y", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars" }, "superclass": "NumberValidator" }, - "cone.colorbar.xref": { + "contour.colorbar.xref": { "params": { "plotly_name": "xref", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "values": [ "container", @@ -114228,19 +96850,19 @@ }, "superclass": "EnumeratedValidator" }, - "cone.colorbar.xpad": { + "contour.colorbar.xpad": { "params": { "plotly_name": "xpad", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "cone.colorbar.xanchor": { + "contour.colorbar.xanchor": { "params": { "plotly_name": "xanchor", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "values": [ "left", @@ -114250,35 +96872,35 @@ }, "superclass": "EnumeratedValidator" }, - "cone.colorbar.x": { + "contour.colorbar.x": { "params": { "plotly_name": "x", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars" }, "superclass": "NumberValidator" }, - "cone.colorbar.title": { + "contour.colorbar.title": { "params": { "plotly_name": "title", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "data_class_str": "Title", "data_docs": "\n" }, "superclass": "TitleValidator" }, - "cone.colorbar.title.text": { + "contour.colorbar.title.text": { "params": { "plotly_name": "text", - "parent_name": "cone.colorbar.title", + "parent_name": "contour.colorbar.title", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "cone.colorbar.title.side": { + "contour.colorbar.title.side": { "params": { "plotly_name": "side", - "parent_name": "cone.colorbar.title", + "parent_name": "contour.colorbar.title", "edit_type": "colorbars", "values": [ "right", @@ -114288,19 +96910,19 @@ }, "superclass": "EnumeratedValidator" }, - "cone.colorbar.title.font": { + "contour.colorbar.title.font": { "params": { "plotly_name": "font", - "parent_name": "cone.colorbar.title", + "parent_name": "contour.colorbar.title", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "cone.colorbar.title.font.weight": { + "contour.colorbar.title.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "cone.colorbar.title.font", + "parent_name": "contour.colorbar.title.font", "edit_type": "colorbars", "extras": [ "normal", @@ -114311,10 +96933,10 @@ }, "superclass": "IntegerValidator" }, - "cone.colorbar.title.font.variant": { + "contour.colorbar.title.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "cone.colorbar.title.font", + "parent_name": "contour.colorbar.title.font", "edit_type": "colorbars", "values": [ "normal", @@ -114327,10 +96949,10 @@ }, "superclass": "EnumeratedValidator" }, - "cone.colorbar.title.font.textcase": { + "contour.colorbar.title.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "cone.colorbar.title.font", + "parent_name": "contour.colorbar.title.font", "edit_type": "colorbars", "values": [ "normal", @@ -114341,10 +96963,10 @@ }, "superclass": "EnumeratedValidator" }, - "cone.colorbar.title.font.style": { + "contour.colorbar.title.font.style": { "params": { "plotly_name": "style", - "parent_name": "cone.colorbar.title.font", + "parent_name": "contour.colorbar.title.font", "edit_type": "colorbars", "values": [ "normal", @@ -114353,27 +96975,27 @@ }, "superclass": "EnumeratedValidator" }, - "cone.colorbar.title.font.size": { + "contour.colorbar.title.font.size": { "params": { "plotly_name": "size", - "parent_name": "cone.colorbar.title.font", + "parent_name": "contour.colorbar.title.font", "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "cone.colorbar.title.font.shadow": { + "contour.colorbar.title.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "cone.colorbar.title.font", + "parent_name": "contour.colorbar.title.font", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "cone.colorbar.title.font.lineposition": { + "contour.colorbar.title.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "cone.colorbar.title.font", + "parent_name": "contour.colorbar.title.font", "edit_type": "colorbars", "extras": [ "none" @@ -114386,77 +97008,61 @@ }, "superclass": "FlaglistValidator" }, - "cone.colorbar.title.font.family": { + "contour.colorbar.title.font.family": { "params": { "plotly_name": "family", - "parent_name": "cone.colorbar.title.font", + "parent_name": "contour.colorbar.title.font", "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "cone.colorbar.title.font.color": { + "contour.colorbar.title.font.color": { "params": { "plotly_name": "color", - "parent_name": "cone.colorbar.title.font", + "parent_name": "contour.colorbar.title.font", "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "cone.colorbar.tickwidth": { + "contour.colorbar.tickwidth": { "params": { "plotly_name": "tickwidth", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "cone.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "cone.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "cone.colorbar.tickvals": { + "contour.colorbar.tickvals": { "params": { "plotly_name": "tickvals", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars" }, "superclass": "DataArrayValidator" }, - "cone.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "cone.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "cone.colorbar.ticktext": { + "contour.colorbar.ticktext": { "params": { "plotly_name": "ticktext", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars" }, "superclass": "DataArrayValidator" }, - "cone.colorbar.ticksuffix": { + "contour.colorbar.ticksuffix": { "params": { "plotly_name": "ticksuffix", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "cone.colorbar.ticks": { + "contour.colorbar.ticks": { "params": { "plotly_name": "ticks", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "values": [ "outside", @@ -114466,18 +97072,18 @@ }, "superclass": "EnumeratedValidator" }, - "cone.colorbar.tickprefix": { + "contour.colorbar.tickprefix": { "params": { "plotly_name": "tickprefix", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "cone.colorbar.tickmode": { + "contour.colorbar.tickmode": { "params": { "plotly_name": "tickmode", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "implied_edits": {}, "values": [ @@ -114488,28 +97094,28 @@ }, "superclass": "EnumeratedValidator" }, - "cone.colorbar.ticklen": { + "contour.colorbar.ticklen": { "params": { "plotly_name": "ticklen", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "cone.colorbar.ticklabelstep": { + "contour.colorbar.ticklabelstep": { "params": { "plotly_name": "ticklabelstep", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "min": 1 }, "superclass": "IntegerValidator" }, - "cone.colorbar.ticklabelposition": { + "contour.colorbar.ticklabelposition": { "params": { "plotly_name": "ticklabelposition", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "values": [ "outside", @@ -114526,10 +97132,10 @@ }, "superclass": "EnumeratedValidator" }, - "cone.colorbar.ticklabeloverflow": { + "contour.colorbar.ticklabeloverflow": { "params": { "plotly_name": "ticklabeloverflow", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "values": [ "allow", @@ -114539,60 +97145,60 @@ }, "superclass": "EnumeratedValidator" }, - "cone.colorbar.tickformatstopdefaults": { + "contour.colorbar.tickformatstopdefaults": { "params": { "plotly_name": "tickformatstopdefaults", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "data_class_str": "Tickformatstop", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "cone.colorbar.tickformatstops": { + "contour.colorbar.tickformatstops": { "params": { "plotly_name": "tickformatstops", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "data_class_str": "Tickformatstop", "data_docs": "\n" }, "superclass": "CompoundArrayValidator" }, - "cone.colorbar.tickformatstop.value": { + "contour.colorbar.tickformatstop.value": { "params": { "plotly_name": "value", - "parent_name": "cone.colorbar.tickformatstop", + "parent_name": "contour.colorbar.tickformatstop", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "cone.colorbar.tickformatstop.templateitemname": { + "contour.colorbar.tickformatstop.templateitemname": { "params": { "plotly_name": "templateitemname", - "parent_name": "cone.colorbar.tickformatstop", + "parent_name": "contour.colorbar.tickformatstop", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "cone.colorbar.tickformatstop.name": { + "contour.colorbar.tickformatstop.name": { "params": { "plotly_name": "name", - "parent_name": "cone.colorbar.tickformatstop", + "parent_name": "contour.colorbar.tickformatstop", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "cone.colorbar.tickformatstop.enabled": { + "contour.colorbar.tickformatstop.enabled": { "params": { "plotly_name": "enabled", - "parent_name": "cone.colorbar.tickformatstop", + "parent_name": "contour.colorbar.tickformatstop", "edit_type": "colorbars" }, "superclass": "BooleanValidator" }, - "cone.colorbar.tickformatstop.dtickrange": { + "contour.colorbar.tickformatstop.dtickrange": { "params": { "plotly_name": "dtickrange", - "parent_name": "cone.colorbar.tickformatstop", + "parent_name": "contour.colorbar.tickformatstop", "edit_type": "colorbars", "items": [ { @@ -114607,27 +97213,27 @@ }, "superclass": "InfoArrayValidator" }, - "cone.colorbar.tickformat": { + "contour.colorbar.tickformat": { "params": { "plotly_name": "tickformat", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "cone.colorbar.tickfont": { + "contour.colorbar.tickfont": { "params": { "plotly_name": "tickfont", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "data_class_str": "Tickfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "cone.colorbar.tickfont.weight": { + "contour.colorbar.tickfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "cone.colorbar.tickfont", + "parent_name": "contour.colorbar.tickfont", "edit_type": "colorbars", "extras": [ "normal", @@ -114638,10 +97244,10 @@ }, "superclass": "IntegerValidator" }, - "cone.colorbar.tickfont.variant": { + "contour.colorbar.tickfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "cone.colorbar.tickfont", + "parent_name": "contour.colorbar.tickfont", "edit_type": "colorbars", "values": [ "normal", @@ -114654,10 +97260,10 @@ }, "superclass": "EnumeratedValidator" }, - "cone.colorbar.tickfont.textcase": { + "contour.colorbar.tickfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "cone.colorbar.tickfont", + "parent_name": "contour.colorbar.tickfont", "edit_type": "colorbars", "values": [ "normal", @@ -114668,10 +97274,10 @@ }, "superclass": "EnumeratedValidator" }, - "cone.colorbar.tickfont.style": { + "contour.colorbar.tickfont.style": { "params": { "plotly_name": "style", - "parent_name": "cone.colorbar.tickfont", + "parent_name": "contour.colorbar.tickfont", "edit_type": "colorbars", "values": [ "normal", @@ -114680,27 +97286,27 @@ }, "superclass": "EnumeratedValidator" }, - "cone.colorbar.tickfont.size": { + "contour.colorbar.tickfont.size": { "params": { "plotly_name": "size", - "parent_name": "cone.colorbar.tickfont", + "parent_name": "contour.colorbar.tickfont", "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "cone.colorbar.tickfont.shadow": { + "contour.colorbar.tickfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "cone.colorbar.tickfont", + "parent_name": "contour.colorbar.tickfont", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "cone.colorbar.tickfont.lineposition": { + "contour.colorbar.tickfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "cone.colorbar.tickfont", + "parent_name": "contour.colorbar.tickfont", "edit_type": "colorbars", "extras": [ "none" @@ -114713,44 +97319,44 @@ }, "superclass": "FlaglistValidator" }, - "cone.colorbar.tickfont.family": { + "contour.colorbar.tickfont.family": { "params": { "plotly_name": "family", - "parent_name": "cone.colorbar.tickfont", + "parent_name": "contour.colorbar.tickfont", "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "cone.colorbar.tickfont.color": { + "contour.colorbar.tickfont.color": { "params": { "plotly_name": "color", - "parent_name": "cone.colorbar.tickfont", + "parent_name": "contour.colorbar.tickfont", "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "cone.colorbar.tickcolor": { + "contour.colorbar.tickcolor": { "params": { "plotly_name": "tickcolor", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "cone.colorbar.tickangle": { + "contour.colorbar.tickangle": { "params": { "plotly_name": "tickangle", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars" }, "superclass": "AngleValidator" }, - "cone.colorbar.tick0": { + "contour.colorbar.tick0": { "params": { "plotly_name": "tick0", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "implied_edits": { "tickmode": "linear" @@ -114758,10 +97364,10 @@ }, "superclass": "AnyValidator" }, - "cone.colorbar.thicknessmode": { + "contour.colorbar.thicknessmode": { "params": { "plotly_name": "thicknessmode", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "values": [ "fraction", @@ -114770,19 +97376,19 @@ }, "superclass": "EnumeratedValidator" }, - "cone.colorbar.thickness": { + "contour.colorbar.thickness": { "params": { "plotly_name": "thickness", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "cone.colorbar.showticksuffix": { + "contour.colorbar.showticksuffix": { "params": { "plotly_name": "showticksuffix", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "values": [ "all", @@ -114793,10 +97399,10 @@ }, "superclass": "EnumeratedValidator" }, - "cone.colorbar.showtickprefix": { + "contour.colorbar.showtickprefix": { "params": { "plotly_name": "showtickprefix", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "values": [ "all", @@ -114807,18 +97413,18 @@ }, "superclass": "EnumeratedValidator" }, - "cone.colorbar.showticklabels": { + "contour.colorbar.showticklabels": { "params": { "plotly_name": "showticklabels", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars" }, "superclass": "BooleanValidator" }, - "cone.colorbar.showexponent": { + "contour.colorbar.showexponent": { "params": { "plotly_name": "showexponent", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "values": [ "all", @@ -114829,35 +97435,35 @@ }, "superclass": "EnumeratedValidator" }, - "cone.colorbar.separatethousands": { + "contour.colorbar.separatethousands": { "params": { "plotly_name": "separatethousands", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars" }, "superclass": "BooleanValidator" }, - "cone.colorbar.outlinewidth": { + "contour.colorbar.outlinewidth": { "params": { "plotly_name": "outlinewidth", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "cone.colorbar.outlinecolor": { + "contour.colorbar.outlinecolor": { "params": { "plotly_name": "outlinecolor", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "cone.colorbar.orientation": { + "contour.colorbar.orientation": { "params": { "plotly_name": "orientation", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "values": [ "h", @@ -114866,28 +97472,28 @@ }, "superclass": "EnumeratedValidator" }, - "cone.colorbar.nticks": { + "contour.colorbar.nticks": { "params": { "plotly_name": "nticks", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "IntegerValidator" }, - "cone.colorbar.minexponent": { + "contour.colorbar.minexponent": { "params": { "plotly_name": "minexponent", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "cone.colorbar.lenmode": { + "contour.colorbar.lenmode": { "params": { "plotly_name": "lenmode", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "values": [ "fraction", @@ -114896,27 +97502,27 @@ }, "superclass": "EnumeratedValidator" }, - "cone.colorbar.len": { + "contour.colorbar.len": { "params": { "plotly_name": "len", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "cone.colorbar.labelalias": { + "contour.colorbar.labelalias": { "params": { "plotly_name": "labelalias", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars" }, "superclass": "AnyValidator" }, - "cone.colorbar.exponentformat": { + "contour.colorbar.exponentformat": { "params": { "plotly_name": "exponentformat", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "values": [ "none", @@ -114930,10 +97536,10 @@ }, "superclass": "EnumeratedValidator" }, - "cone.colorbar.dtick": { + "contour.colorbar.dtick": { "params": { "plotly_name": "dtick", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "implied_edits": { "tickmode": "linear" @@ -114941,173 +97547,136 @@ }, "superclass": "AnyValidator" }, - "cone.colorbar.borderwidth": { + "contour.colorbar.borderwidth": { "params": { "plotly_name": "borderwidth", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "cone.colorbar.bordercolor": { + "contour.colorbar.bordercolor": { "params": { "plotly_name": "bordercolor", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "cone.colorbar.bgcolor": { + "contour.colorbar.bgcolor": { "params": { "plotly_name": "bgcolor", - "parent_name": "cone.colorbar", + "parent_name": "contour.colorbar", "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "cone.coloraxis": { + "contour.coloraxis": { "params": { "plotly_name": "coloraxis", - "parent_name": "cone", + "parent_name": "contour", "dflt": null, "edit_type": "calc", "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" }, "superclass": "SubplotidValidator" }, - "cone.cmin": { - "params": { - "plotly_name": "cmin", - "parent_name": "cone", - "edit_type": "calc", - "implied_edits": { - "cauto": false - } - }, - "superclass": "NumberValidator" - }, - "cone.cmid": { + "contour.autocontour": { "params": { - "plotly_name": "cmid", - "parent_name": "cone", + "plotly_name": "autocontour", + "parent_name": "contour", "edit_type": "calc", "implied_edits": {} }, - "superclass": "NumberValidator" - }, - "cone.cmax": { - "params": { - "plotly_name": "cmax", - "parent_name": "cone", - "edit_type": "calc", - "implied_edits": { - "cauto": false - } - }, - "superclass": "NumberValidator" + "superclass": "BooleanValidator" }, - "cone.cauto": { + "contour.autocolorscale": { "params": { - "plotly_name": "cauto", - "parent_name": "cone", + "plotly_name": "autocolorscale", + "parent_name": "contour", "edit_type": "calc", "implied_edits": {} }, "superclass": "BooleanValidator" }, - "cone.autocolorscale": { + "cone": { "params": { - "plotly_name": "autocolorscale", - "parent_name": "cone", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "cone", + "parent_name": "", + "data_class_str": "Cone", + "data_docs": "\n" }, - "superclass": "BooleanValidator" + "superclass": "CompoundValidator" }, - "cone.anchor": { + "cone.zhoverformat": { "params": { - "plotly_name": "anchor", + "plotly_name": "zhoverformat", "parent_name": "cone", - "edit_type": "calc", - "values": [ - "tip", - "tail", - "cm", - "center" - ] + "edit_type": "none" }, - "superclass": "EnumeratedValidator" + "superclass": "StringValidator" }, - "choroplethmapbox": { + "cone.z": { "params": { - "plotly_name": "choroplethmapbox", - "parent_name": "", - "data_class_str": "Choroplethmapbox", - "data_docs": "\n" + "plotly_name": "z", + "parent_name": "cone", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "CompoundValidator" + "superclass": "DataArrayValidator" }, - "choroplethmapbox.zsrc": { + "cone.yhoverformat": { "params": { - "plotly_name": "zsrc", - "parent_name": "choroplethmapbox", + "plotly_name": "yhoverformat", + "parent_name": "cone", "edit_type": "none" }, - "superclass": "SrcValidator" + "superclass": "StringValidator" }, - "choroplethmapbox.zmin": { + "cone.y": { "params": { - "plotly_name": "zmin", - "parent_name": "choroplethmapbox", - "edit_type": "calc", - "implied_edits": { - "zauto": false - } + "plotly_name": "y", + "parent_name": "cone", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "choroplethmapbox.zmid": { + "cone.xhoverformat": { "params": { - "plotly_name": "zmid", - "parent_name": "choroplethmapbox", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "xhoverformat", + "parent_name": "cone", + "edit_type": "none" }, - "superclass": "NumberValidator" + "superclass": "StringValidator" }, - "choroplethmapbox.zmax": { + "cone.x": { "params": { - "plotly_name": "zmax", - "parent_name": "choroplethmapbox", - "edit_type": "calc", - "implied_edits": { - "zauto": false - } + "plotly_name": "x", + "parent_name": "cone", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "choroplethmapbox.zauto": { + "cone.whoverformat": { "params": { - "plotly_name": "zauto", - "parent_name": "choroplethmapbox", - "edit_type": "calc", - "implied_edits": {} + "plotly_name": "whoverformat", + "parent_name": "cone", + "edit_type": "none" }, - "superclass": "BooleanValidator" + "superclass": "StringValidator" }, - "choroplethmapbox.z": { + "cone.w": { "params": { - "plotly_name": "z", - "parent_name": "choroplethmapbox", + "plotly_name": "w", + "parent_name": "cone", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "choroplethmapbox.visible": { + "cone.visible": { "params": { "plotly_name": "visible", - "parent_name": "choroplethmapbox", + "parent_name": "cone", "edit_type": "calc", "values": [ true, @@ -115117,325 +97686,310 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.unselected": { - "params": { - "plotly_name": "unselected", - "parent_name": "choroplethmapbox", - "data_class_str": "Unselected", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "choroplethmapbox.unselected.marker": { + "cone.vhoverformat": { "params": { - "plotly_name": "marker", - "parent_name": "choroplethmapbox.unselected", - "data_class_str": "Marker", - "data_docs": "\n" + "plotly_name": "vhoverformat", + "parent_name": "cone", + "edit_type": "none" }, - "superclass": "CompoundValidator" + "superclass": "StringValidator" }, - "choroplethmapbox.unselected.marker.opacity": { + "cone.v": { "params": { - "plotly_name": "opacity", - "parent_name": "choroplethmapbox.unselected.marker", - "edit_type": "plot", - "max": 1, - "min": 0 + "plotly_name": "v", + "parent_name": "cone", + "edit_type": "calc" }, - "superclass": "NumberValidator" + "superclass": "DataArrayValidator" }, - "choroplethmapbox.uirevision": { + "cone.uirevision": { "params": { "plotly_name": "uirevision", - "parent_name": "choroplethmapbox", + "parent_name": "cone", "edit_type": "none" }, "superclass": "AnyValidator" }, - "choroplethmapbox.uid": { + "cone.uid": { "params": { "plotly_name": "uid", - "parent_name": "choroplethmapbox", + "parent_name": "cone", "edit_type": "plot" }, "superclass": "StringValidator" }, - "choroplethmapbox.textsrc": { + "cone.uhoverformat": { "params": { - "plotly_name": "textsrc", - "parent_name": "choroplethmapbox", + "plotly_name": "uhoverformat", + "parent_name": "cone", "edit_type": "none" }, - "superclass": "SrcValidator" - }, - "choroplethmapbox.text": { - "params": { - "plotly_name": "text", - "parent_name": "choroplethmapbox", - "array_ok": true, - "edit_type": "calc" - }, "superclass": "StringValidator" }, - "choroplethmapbox.subplot": { + "cone.u": { "params": { - "plotly_name": "subplot", - "parent_name": "choroplethmapbox", - "dflt": "mapbox", + "plotly_name": "u", + "parent_name": "cone", "edit_type": "calc" }, - "superclass": "SubplotidValidator" + "superclass": "DataArrayValidator" }, - "choroplethmapbox.stream": { + "cone.text": { "params": { - "plotly_name": "stream", - "parent_name": "choroplethmapbox", - "data_class_str": "Stream", - "data_docs": "\n" + "plotly_name": "text", + "parent_name": "cone", + "array_ok": true, + "edit_type": "calc" }, - "superclass": "CompoundValidator" + "superclass": "StringValidator" }, - "choroplethmapbox.stream.token": { + "cone.sizeref": { "params": { - "plotly_name": "token", - "parent_name": "choroplethmapbox.stream", + "plotly_name": "sizeref", + "parent_name": "cone", "edit_type": "calc", - "no_blank": true, - "strict": true + "min": 0 }, - "superclass": "StringValidator" + "superclass": "NumberValidator" }, - "choroplethmapbox.stream.maxpoints": { + "cone.sizemode": { "params": { - "plotly_name": "maxpoints", - "parent_name": "choroplethmapbox.stream", + "plotly_name": "sizemode", + "parent_name": "cone", "edit_type": "calc", - "max": 10000, - "min": 0 + "values": [ + "scaled", + "absolute", + "raw" + ] }, - "superclass": "NumberValidator" + "superclass": "EnumeratedValidator" }, - "choroplethmapbox.showscale": { + "cone.showscale": { "params": { "plotly_name": "showscale", - "parent_name": "choroplethmapbox", + "parent_name": "cone", "edit_type": "calc" }, "superclass": "BooleanValidator" }, - "choroplethmapbox.showlegend": { + "cone.showlegend": { "params": { "plotly_name": "showlegend", - "parent_name": "choroplethmapbox", + "parent_name": "cone", "edit_type": "style" }, "superclass": "BooleanValidator" }, - "choroplethmapbox.selectedpoints": { - "params": { - "plotly_name": "selectedpoints", - "parent_name": "choroplethmapbox", - "edit_type": "calc" - }, - "superclass": "AnyValidator" - }, - "choroplethmapbox.selected": { + "cone.scene": { "params": { - "plotly_name": "selected", - "parent_name": "choroplethmapbox", - "data_class_str": "Selected", - "data_docs": "\n" + "plotly_name": "scene", + "parent_name": "cone", + "dflt": "scene", + "edit_type": "calc+clearAxisTypes" }, - "superclass": "CompoundValidator" + "superclass": "SubplotidValidator" }, - "choroplethmapbox.selected.marker": { + "cone.reversescale": { "params": { - "plotly_name": "marker", - "parent_name": "choroplethmapbox.selected", - "data_class_str": "Marker", - "data_docs": "\n" + "plotly_name": "reversescale", + "parent_name": "cone", + "edit_type": "plot" }, - "superclass": "CompoundValidator" + "superclass": "BooleanValidator" }, - "choroplethmapbox.selected.marker.opacity": { + "cone.opacity": { "params": { "plotly_name": "opacity", - "parent_name": "choroplethmapbox.selected.marker", - "edit_type": "plot", + "parent_name": "cone", + "edit_type": "calc", "max": 1, "min": 0 }, "superclass": "NumberValidator" }, - "choroplethmapbox.reversescale": { - "params": { - "plotly_name": "reversescale", - "parent_name": "choroplethmapbox", - "edit_type": "plot" - }, - "superclass": "BooleanValidator" - }, - "choroplethmapbox.name": { + "cone.name": { "params": { "plotly_name": "name", - "parent_name": "choroplethmapbox", + "parent_name": "cone", "edit_type": "style" }, "superclass": "StringValidator" }, - "choroplethmapbox.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "choroplethmapbox", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "choroplethmapbox.meta": { + "cone.meta": { "params": { "plotly_name": "meta", - "parent_name": "choroplethmapbox", + "parent_name": "cone", "array_ok": true, "edit_type": "plot" }, "superclass": "AnyValidator" }, - "choroplethmapbox.marker": { + "cone.lightposition": { "params": { - "plotly_name": "marker", - "parent_name": "choroplethmapbox", - "data_class_str": "Marker", + "plotly_name": "lightposition", + "parent_name": "cone", + "data_class_str": "Lightposition", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "choroplethmapbox.marker.opacitysrc": { + "cone.lightposition.z": { "params": { - "plotly_name": "opacitysrc", - "parent_name": "choroplethmapbox.marker", - "edit_type": "none" + "plotly_name": "z", + "parent_name": "cone.lightposition", + "edit_type": "calc", + "max": 100000, + "min": -100000 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "choroplethmapbox.marker.opacity": { + "cone.lightposition.y": { "params": { - "plotly_name": "opacity", - "parent_name": "choroplethmapbox.marker", - "array_ok": true, - "edit_type": "plot", - "max": 1, - "min": 0 + "plotly_name": "y", + "parent_name": "cone.lightposition", + "edit_type": "calc", + "max": 100000, + "min": -100000 }, "superclass": "NumberValidator" }, - "choroplethmapbox.marker.line": { + "cone.lightposition.x": { "params": { - "plotly_name": "line", - "parent_name": "choroplethmapbox.marker", - "data_class_str": "Line", + "plotly_name": "x", + "parent_name": "cone.lightposition", + "edit_type": "calc", + "max": 100000, + "min": -100000 + }, + "superclass": "NumberValidator" + }, + "cone.lighting": { + "params": { + "plotly_name": "lighting", + "parent_name": "cone", + "data_class_str": "Lighting", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "choroplethmapbox.marker.line.widthsrc": { + "cone.lighting.vertexnormalsepsilon": { "params": { - "plotly_name": "widthsrc", - "parent_name": "choroplethmapbox.marker.line", - "edit_type": "none" + "plotly_name": "vertexnormalsepsilon", + "parent_name": "cone.lighting", + "edit_type": "calc", + "max": 1, + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "choroplethmapbox.marker.line.width": { + "cone.lighting.specular": { "params": { - "plotly_name": "width", - "parent_name": "choroplethmapbox.marker.line", - "array_ok": true, - "edit_type": "plot", + "plotly_name": "specular", + "parent_name": "cone.lighting", + "edit_type": "calc", + "max": 2, "min": 0 }, "superclass": "NumberValidator" }, - "choroplethmapbox.marker.line.colorsrc": { + "cone.lighting.roughness": { "params": { - "plotly_name": "colorsrc", - "parent_name": "choroplethmapbox.marker.line", - "edit_type": "none" + "plotly_name": "roughness", + "parent_name": "cone.lighting", + "edit_type": "calc", + "max": 1, + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "choroplethmapbox.marker.line.color": { + "cone.lighting.fresnel": { "params": { - "plotly_name": "color", - "parent_name": "choroplethmapbox.marker.line", - "array_ok": true, - "edit_type": "plot" + "plotly_name": "fresnel", + "parent_name": "cone.lighting", + "edit_type": "calc", + "max": 5, + "min": 0 }, - "superclass": "ColorValidator" + "superclass": "NumberValidator" }, - "choroplethmapbox.locationssrc": { + "cone.lighting.facenormalsepsilon": { "params": { - "plotly_name": "locationssrc", - "parent_name": "choroplethmapbox", - "edit_type": "none" + "plotly_name": "facenormalsepsilon", + "parent_name": "cone.lighting", + "edit_type": "calc", + "max": 1, + "min": 0 }, - "superclass": "SrcValidator" + "superclass": "NumberValidator" }, - "choroplethmapbox.locations": { + "cone.lighting.diffuse": { "params": { - "plotly_name": "locations", - "parent_name": "choroplethmapbox", - "edit_type": "calc" + "plotly_name": "diffuse", + "parent_name": "cone.lighting", + "edit_type": "calc", + "max": 1, + "min": 0 }, - "superclass": "DataArrayValidator" + "superclass": "NumberValidator" + }, + "cone.lighting.ambient": { + "params": { + "plotly_name": "ambient", + "parent_name": "cone.lighting", + "edit_type": "calc", + "max": 1, + "min": 0 + }, + "superclass": "NumberValidator" }, - "choroplethmapbox.legendwidth": { + "cone.legendwidth": { "params": { "plotly_name": "legendwidth", - "parent_name": "choroplethmapbox", + "parent_name": "cone", "edit_type": "style", "min": 0 }, "superclass": "NumberValidator" }, - "choroplethmapbox.legendrank": { + "cone.legendrank": { "params": { "plotly_name": "legendrank", - "parent_name": "choroplethmapbox", + "parent_name": "cone", "edit_type": "style" }, "superclass": "NumberValidator" }, - "choroplethmapbox.legendgrouptitle": { + "cone.legendgrouptitle": { "params": { "plotly_name": "legendgrouptitle", - "parent_name": "choroplethmapbox", + "parent_name": "cone", "data_class_str": "Legendgrouptitle", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "choroplethmapbox.legendgrouptitle.text": { + "cone.legendgrouptitle.text": { "params": { "plotly_name": "text", - "parent_name": "choroplethmapbox.legendgrouptitle", + "parent_name": "cone.legendgrouptitle", "edit_type": "style" }, "superclass": "StringValidator" }, - "choroplethmapbox.legendgrouptitle.font": { + "cone.legendgrouptitle.font": { "params": { "plotly_name": "font", - "parent_name": "choroplethmapbox.legendgrouptitle", + "parent_name": "cone.legendgrouptitle", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "choroplethmapbox.legendgrouptitle.font.weight": { + "cone.legendgrouptitle.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "choroplethmapbox.legendgrouptitle.font", + "parent_name": "cone.legendgrouptitle.font", "edit_type": "style", "extras": [ "normal", @@ -115446,10 +98000,10 @@ }, "superclass": "IntegerValidator" }, - "choroplethmapbox.legendgrouptitle.font.variant": { + "cone.legendgrouptitle.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "choroplethmapbox.legendgrouptitle.font", + "parent_name": "cone.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -115462,10 +98016,10 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.legendgrouptitle.font.textcase": { + "cone.legendgrouptitle.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "choroplethmapbox.legendgrouptitle.font", + "parent_name": "cone.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -115476,10 +98030,10 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.legendgrouptitle.font.style": { + "cone.legendgrouptitle.font.style": { "params": { "plotly_name": "style", - "parent_name": "choroplethmapbox.legendgrouptitle.font", + "parent_name": "cone.legendgrouptitle.font", "edit_type": "style", "values": [ "normal", @@ -115488,27 +98042,27 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.legendgrouptitle.font.size": { + "cone.legendgrouptitle.font.size": { "params": { "plotly_name": "size", - "parent_name": "choroplethmapbox.legendgrouptitle.font", + "parent_name": "cone.legendgrouptitle.font", "edit_type": "style", "min": 1 }, "superclass": "NumberValidator" }, - "choroplethmapbox.legendgrouptitle.font.shadow": { + "cone.legendgrouptitle.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "choroplethmapbox.legendgrouptitle.font", + "parent_name": "cone.legendgrouptitle.font", "edit_type": "style" }, "superclass": "StringValidator" }, - "choroplethmapbox.legendgrouptitle.font.lineposition": { + "cone.legendgrouptitle.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "choroplethmapbox.legendgrouptitle.font", + "parent_name": "cone.legendgrouptitle.font", "edit_type": "style", "extras": [ "none" @@ -115521,155 +98075,115 @@ }, "superclass": "FlaglistValidator" }, - "choroplethmapbox.legendgrouptitle.font.family": { + "cone.legendgrouptitle.font.family": { "params": { "plotly_name": "family", - "parent_name": "choroplethmapbox.legendgrouptitle.font", + "parent_name": "cone.legendgrouptitle.font", "edit_type": "style", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "choroplethmapbox.legendgrouptitle.font.color": { + "cone.legendgrouptitle.font.color": { "params": { "plotly_name": "color", - "parent_name": "choroplethmapbox.legendgrouptitle.font", + "parent_name": "cone.legendgrouptitle.font", "edit_type": "style" }, "superclass": "ColorValidator" }, - "choroplethmapbox.legendgroup": { + "cone.legendgroup": { "params": { "plotly_name": "legendgroup", - "parent_name": "choroplethmapbox", + "parent_name": "cone", "edit_type": "style" }, "superclass": "StringValidator" }, - "choroplethmapbox.legend": { + "cone.legend": { "params": { "plotly_name": "legend", - "parent_name": "choroplethmapbox", + "parent_name": "cone", "dflt": "legend", "edit_type": "style" }, "superclass": "SubplotidValidator" }, - "choroplethmapbox.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "choroplethmapbox", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "choroplethmapbox.ids": { + "cone.ids": { "params": { "plotly_name": "ids", - "parent_name": "choroplethmapbox", + "parent_name": "cone", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "choroplethmapbox.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "choroplethmapbox", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "choroplethmapbox.hovertext": { + "cone.hovertext": { "params": { "plotly_name": "hovertext", - "parent_name": "choroplethmapbox", + "parent_name": "cone", "array_ok": true, "edit_type": "calc" }, "superclass": "StringValidator" }, - "choroplethmapbox.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "choroplethmapbox", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "choroplethmapbox.hovertemplatefallback": { + "cone.hovertemplatefallback": { "params": { "plotly_name": "hovertemplatefallback", - "parent_name": "choroplethmapbox", - "edit_type": "none" + "parent_name": "cone", + "edit_type": "calc" }, "superclass": "AnyValidator" }, - "choroplethmapbox.hovertemplate": { + "cone.hovertemplate": { "params": { "plotly_name": "hovertemplate", - "parent_name": "choroplethmapbox", + "parent_name": "cone", "array_ok": true, - "edit_type": "none" + "edit_type": "calc" }, "superclass": "StringValidator" }, - "choroplethmapbox.hoverlabel": { + "cone.hoverlabel": { "params": { "plotly_name": "hoverlabel", - "parent_name": "choroplethmapbox", + "parent_name": "cone", "data_class_str": "Hoverlabel", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "choroplethmapbox.hoverlabel.showarrow": { + "cone.hoverlabel.showarrow": { "params": { "plotly_name": "showarrow", - "parent_name": "choroplethmapbox.hoverlabel", + "parent_name": "cone.hoverlabel", "edit_type": "none" }, "superclass": "BooleanValidator" }, - "choroplethmapbox.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "choroplethmapbox.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "choroplethmapbox.hoverlabel.namelength": { + "cone.hoverlabel.namelength": { "params": { "plotly_name": "namelength", - "parent_name": "choroplethmapbox.hoverlabel", + "parent_name": "cone.hoverlabel", "array_ok": true, "edit_type": "none", "min": -1 }, "superclass": "IntegerValidator" }, - "choroplethmapbox.hoverlabel.font": { + "cone.hoverlabel.font": { "params": { "plotly_name": "font", - "parent_name": "choroplethmapbox.hoverlabel", + "parent_name": "cone.hoverlabel", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "choroplethmapbox.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "choroplethmapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "choroplethmapbox.hoverlabel.font.weight": { + "cone.hoverlabel.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "choroplethmapbox.hoverlabel.font", + "parent_name": "cone.hoverlabel.font", "array_ok": true, "edit_type": "none", "extras": [ @@ -115681,18 +98195,10 @@ }, "superclass": "IntegerValidator" }, - "choroplethmapbox.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "choroplethmapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "choroplethmapbox.hoverlabel.font.variant": { + "cone.hoverlabel.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "choroplethmapbox.hoverlabel.font", + "parent_name": "cone.hoverlabel.font", "array_ok": true, "edit_type": "none", "values": [ @@ -115706,18 +98212,10 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "choroplethmapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "choroplethmapbox.hoverlabel.font.textcase": { + "cone.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "choroplethmapbox.hoverlabel.font", + "parent_name": "cone.hoverlabel.font", "array_ok": true, "edit_type": "none", "values": [ @@ -115729,18 +98227,10 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "choroplethmapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "choroplethmapbox.hoverlabel.font.style": { + "cone.hoverlabel.font.style": { "params": { "plotly_name": "style", - "parent_name": "choroplethmapbox.hoverlabel.font", + "parent_name": "cone.hoverlabel.font", "array_ok": true, "edit_type": "none", "values": [ @@ -115750,53 +98240,29 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "choroplethmapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "choroplethmapbox.hoverlabel.font.size": { + "cone.hoverlabel.font.size": { "params": { "plotly_name": "size", - "parent_name": "choroplethmapbox.hoverlabel.font", + "parent_name": "cone.hoverlabel.font", "array_ok": true, "edit_type": "none", "min": 1 }, "superclass": "NumberValidator" }, - "choroplethmapbox.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "choroplethmapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "choroplethmapbox.hoverlabel.font.shadow": { + "cone.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "choroplethmapbox.hoverlabel.font", + "parent_name": "cone.hoverlabel.font", "array_ok": true, "edit_type": "none" }, "superclass": "StringValidator" }, - "choroplethmapbox.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "choroplethmapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "choroplethmapbox.hoverlabel.font.lineposition": { + "cone.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "choroplethmapbox.hoverlabel.font", + "parent_name": "cone.hoverlabel.font", "array_ok": true, "edit_type": "none", "extras": [ @@ -115810,18 +98276,10 @@ }, "superclass": "FlaglistValidator" }, - "choroplethmapbox.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "choroplethmapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "choroplethmapbox.hoverlabel.font.family": { + "cone.hoverlabel.font.family": { "params": { "plotly_name": "family", - "parent_name": "choroplethmapbox.hoverlabel.font", + "parent_name": "cone.hoverlabel.font", "array_ok": true, "edit_type": "none", "no_blank": true, @@ -115829,69 +98287,37 @@ }, "superclass": "StringValidator" }, - "choroplethmapbox.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "choroplethmapbox.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "choroplethmapbox.hoverlabel.font.color": { + "cone.hoverlabel.font.color": { "params": { "plotly_name": "color", - "parent_name": "choroplethmapbox.hoverlabel.font", + "parent_name": "cone.hoverlabel.font", "array_ok": true, "edit_type": "none" }, "superclass": "ColorValidator" }, - "choroplethmapbox.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "choroplethmapbox.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "choroplethmapbox.hoverlabel.bordercolor": { + "cone.hoverlabel.bordercolor": { "params": { "plotly_name": "bordercolor", - "parent_name": "choroplethmapbox.hoverlabel", + "parent_name": "cone.hoverlabel", "array_ok": true, "edit_type": "none" }, "superclass": "ColorValidator" }, - "choroplethmapbox.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "choroplethmapbox.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "choroplethmapbox.hoverlabel.bgcolor": { + "cone.hoverlabel.bgcolor": { "params": { "plotly_name": "bgcolor", - "parent_name": "choroplethmapbox.hoverlabel", + "parent_name": "cone.hoverlabel", "array_ok": true, "edit_type": "none" }, "superclass": "ColorValidator" }, - "choroplethmapbox.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "choroplethmapbox.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "choroplethmapbox.hoverlabel.align": { + "cone.hoverlabel.align": { "params": { "plotly_name": "align", - "parent_name": "choroplethmapbox.hoverlabel", + "parent_name": "cone.hoverlabel", "array_ok": true, "edit_type": "none", "values": [ @@ -115902,18 +98328,10 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "choroplethmapbox", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "choroplethmapbox.hoverinfo": { + "cone.hoverinfo": { "params": { "plotly_name": "hoverinfo", - "parent_name": "choroplethmapbox", + "parent_name": "cone", "array_ok": true, "edit_type": "calc", "extras": [ @@ -115922,50 +98340,31 @@ "skip" ], "flags": [ - "location", + "x", + "y", "z", + "u", + "v", + "w", + "norm", "text", "name" ] }, "superclass": "FlaglistValidator" }, - "choroplethmapbox.geojson": { - "params": { - "plotly_name": "geojson", - "parent_name": "choroplethmapbox", - "edit_type": "calc" - }, - "superclass": "AnyValidator" - }, - "choroplethmapbox.featureidkey": { - "params": { - "plotly_name": "featureidkey", - "parent_name": "choroplethmapbox", - "edit_type": "calc" - }, - "superclass": "StringValidator" - }, - "choroplethmapbox.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "choroplethmapbox", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "choroplethmapbox.customdata": { + "cone.customdata": { "params": { "plotly_name": "customdata", - "parent_name": "choroplethmapbox", + "parent_name": "cone", "edit_type": "calc" }, "superclass": "DataArrayValidator" }, - "choroplethmapbox.colorscale": { + "cone.colorscale": { "params": { "plotly_name": "colorscale", - "parent_name": "choroplethmapbox", + "parent_name": "cone", "edit_type": "calc", "implied_edits": { "autocolorscale": false @@ -115973,19 +98372,19 @@ }, "superclass": "ColorscaleValidator" }, - "choroplethmapbox.colorbar": { + "cone.colorbar": { "params": { "plotly_name": "colorbar", - "parent_name": "choroplethmapbox", + "parent_name": "cone", "data_class_str": "ColorBar", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "choroplethmapbox.colorbar.yref": { + "cone.colorbar.yref": { "params": { "plotly_name": "yref", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "values": [ "container", @@ -115994,19 +98393,19 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.colorbar.ypad": { + "cone.colorbar.ypad": { "params": { "plotly_name": "ypad", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "choroplethmapbox.colorbar.yanchor": { + "cone.colorbar.yanchor": { "params": { "plotly_name": "yanchor", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "values": [ "top", @@ -116016,18 +98415,18 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.colorbar.y": { + "cone.colorbar.y": { "params": { "plotly_name": "y", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars" }, "superclass": "NumberValidator" }, - "choroplethmapbox.colorbar.xref": { + "cone.colorbar.xref": { "params": { "plotly_name": "xref", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "values": [ "container", @@ -116036,19 +98435,19 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.colorbar.xpad": { + "cone.colorbar.xpad": { "params": { "plotly_name": "xpad", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "choroplethmapbox.colorbar.xanchor": { + "cone.colorbar.xanchor": { "params": { "plotly_name": "xanchor", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "values": [ "left", @@ -116058,35 +98457,35 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.colorbar.x": { + "cone.colorbar.x": { "params": { "plotly_name": "x", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars" }, "superclass": "NumberValidator" }, - "choroplethmapbox.colorbar.title": { + "cone.colorbar.title": { "params": { "plotly_name": "title", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "data_class_str": "Title", "data_docs": "\n" }, "superclass": "TitleValidator" }, - "choroplethmapbox.colorbar.title.text": { + "cone.colorbar.title.text": { "params": { "plotly_name": "text", - "parent_name": "choroplethmapbox.colorbar.title", + "parent_name": "cone.colorbar.title", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "choroplethmapbox.colorbar.title.side": { + "cone.colorbar.title.side": { "params": { "plotly_name": "side", - "parent_name": "choroplethmapbox.colorbar.title", + "parent_name": "cone.colorbar.title", "edit_type": "colorbars", "values": [ "right", @@ -116096,19 +98495,19 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.colorbar.title.font": { + "cone.colorbar.title.font": { "params": { "plotly_name": "font", - "parent_name": "choroplethmapbox.colorbar.title", + "parent_name": "cone.colorbar.title", "data_class_str": "Font", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "choroplethmapbox.colorbar.title.font.weight": { + "cone.colorbar.title.font.weight": { "params": { "plotly_name": "weight", - "parent_name": "choroplethmapbox.colorbar.title.font", + "parent_name": "cone.colorbar.title.font", "edit_type": "colorbars", "extras": [ "normal", @@ -116119,10 +98518,10 @@ }, "superclass": "IntegerValidator" }, - "choroplethmapbox.colorbar.title.font.variant": { + "cone.colorbar.title.font.variant": { "params": { "plotly_name": "variant", - "parent_name": "choroplethmapbox.colorbar.title.font", + "parent_name": "cone.colorbar.title.font", "edit_type": "colorbars", "values": [ "normal", @@ -116135,10 +98534,10 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.colorbar.title.font.textcase": { + "cone.colorbar.title.font.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "choroplethmapbox.colorbar.title.font", + "parent_name": "cone.colorbar.title.font", "edit_type": "colorbars", "values": [ "normal", @@ -116149,10 +98548,10 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.colorbar.title.font.style": { + "cone.colorbar.title.font.style": { "params": { "plotly_name": "style", - "parent_name": "choroplethmapbox.colorbar.title.font", + "parent_name": "cone.colorbar.title.font", "edit_type": "colorbars", "values": [ "normal", @@ -116161,27 +98560,27 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.colorbar.title.font.size": { + "cone.colorbar.title.font.size": { "params": { "plotly_name": "size", - "parent_name": "choroplethmapbox.colorbar.title.font", + "parent_name": "cone.colorbar.title.font", "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "choroplethmapbox.colorbar.title.font.shadow": { + "cone.colorbar.title.font.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "choroplethmapbox.colorbar.title.font", + "parent_name": "cone.colorbar.title.font", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "choroplethmapbox.colorbar.title.font.lineposition": { + "cone.colorbar.title.font.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "choroplethmapbox.colorbar.title.font", + "parent_name": "cone.colorbar.title.font", "edit_type": "colorbars", "extras": [ "none" @@ -116194,77 +98593,61 @@ }, "superclass": "FlaglistValidator" }, - "choroplethmapbox.colorbar.title.font.family": { + "cone.colorbar.title.font.family": { "params": { "plotly_name": "family", - "parent_name": "choroplethmapbox.colorbar.title.font", + "parent_name": "cone.colorbar.title.font", "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "choroplethmapbox.colorbar.title.font.color": { + "cone.colorbar.title.font.color": { "params": { "plotly_name": "color", - "parent_name": "choroplethmapbox.colorbar.title.font", + "parent_name": "cone.colorbar.title.font", "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "choroplethmapbox.colorbar.tickwidth": { + "cone.colorbar.tickwidth": { "params": { "plotly_name": "tickwidth", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "choroplethmapbox.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "choroplethmapbox.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "choroplethmapbox.colorbar.tickvals": { + "cone.colorbar.tickvals": { "params": { "plotly_name": "tickvals", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars" }, "superclass": "DataArrayValidator" }, - "choroplethmapbox.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "choroplethmapbox.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "choroplethmapbox.colorbar.ticktext": { + "cone.colorbar.ticktext": { "params": { "plotly_name": "ticktext", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars" }, "superclass": "DataArrayValidator" }, - "choroplethmapbox.colorbar.ticksuffix": { + "cone.colorbar.ticksuffix": { "params": { "plotly_name": "ticksuffix", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "choroplethmapbox.colorbar.ticks": { + "cone.colorbar.ticks": { "params": { "plotly_name": "ticks", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "values": [ "outside", @@ -116274,18 +98657,18 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.colorbar.tickprefix": { + "cone.colorbar.tickprefix": { "params": { "plotly_name": "tickprefix", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "choroplethmapbox.colorbar.tickmode": { + "cone.colorbar.tickmode": { "params": { "plotly_name": "tickmode", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "implied_edits": {}, "values": [ @@ -116296,28 +98679,28 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.colorbar.ticklen": { + "cone.colorbar.ticklen": { "params": { "plotly_name": "ticklen", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "choroplethmapbox.colorbar.ticklabelstep": { + "cone.colorbar.ticklabelstep": { "params": { "plotly_name": "ticklabelstep", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "min": 1 }, "superclass": "IntegerValidator" }, - "choroplethmapbox.colorbar.ticklabelposition": { + "cone.colorbar.ticklabelposition": { "params": { "plotly_name": "ticklabelposition", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "values": [ "outside", @@ -116334,10 +98717,10 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.colorbar.ticklabeloverflow": { + "cone.colorbar.ticklabeloverflow": { "params": { "plotly_name": "ticklabeloverflow", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "values": [ "allow", @@ -116347,60 +98730,60 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.colorbar.tickformatstopdefaults": { + "cone.colorbar.tickformatstopdefaults": { "params": { "plotly_name": "tickformatstopdefaults", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "data_class_str": "Tickformatstop", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "choroplethmapbox.colorbar.tickformatstops": { + "cone.colorbar.tickformatstops": { "params": { "plotly_name": "tickformatstops", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "data_class_str": "Tickformatstop", "data_docs": "\n" }, "superclass": "CompoundArrayValidator" }, - "choroplethmapbox.colorbar.tickformatstop.value": { + "cone.colorbar.tickformatstop.value": { "params": { "plotly_name": "value", - "parent_name": "choroplethmapbox.colorbar.tickformatstop", + "parent_name": "cone.colorbar.tickformatstop", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "choroplethmapbox.colorbar.tickformatstop.templateitemname": { + "cone.colorbar.tickformatstop.templateitemname": { "params": { "plotly_name": "templateitemname", - "parent_name": "choroplethmapbox.colorbar.tickformatstop", + "parent_name": "cone.colorbar.tickformatstop", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "choroplethmapbox.colorbar.tickformatstop.name": { + "cone.colorbar.tickformatstop.name": { "params": { "plotly_name": "name", - "parent_name": "choroplethmapbox.colorbar.tickformatstop", + "parent_name": "cone.colorbar.tickformatstop", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "choroplethmapbox.colorbar.tickformatstop.enabled": { + "cone.colorbar.tickformatstop.enabled": { "params": { "plotly_name": "enabled", - "parent_name": "choroplethmapbox.colorbar.tickformatstop", + "parent_name": "cone.colorbar.tickformatstop", "edit_type": "colorbars" }, "superclass": "BooleanValidator" }, - "choroplethmapbox.colorbar.tickformatstop.dtickrange": { + "cone.colorbar.tickformatstop.dtickrange": { "params": { "plotly_name": "dtickrange", - "parent_name": "choroplethmapbox.colorbar.tickformatstop", + "parent_name": "cone.colorbar.tickformatstop", "edit_type": "colorbars", "items": [ { @@ -116415,27 +98798,27 @@ }, "superclass": "InfoArrayValidator" }, - "choroplethmapbox.colorbar.tickformat": { + "cone.colorbar.tickformat": { "params": { "plotly_name": "tickformat", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "choroplethmapbox.colorbar.tickfont": { + "cone.colorbar.tickfont": { "params": { "plotly_name": "tickfont", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "data_class_str": "Tickfont", "data_docs": "\n" }, "superclass": "CompoundValidator" }, - "choroplethmapbox.colorbar.tickfont.weight": { + "cone.colorbar.tickfont.weight": { "params": { "plotly_name": "weight", - "parent_name": "choroplethmapbox.colorbar.tickfont", + "parent_name": "cone.colorbar.tickfont", "edit_type": "colorbars", "extras": [ "normal", @@ -116446,10 +98829,10 @@ }, "superclass": "IntegerValidator" }, - "choroplethmapbox.colorbar.tickfont.variant": { + "cone.colorbar.tickfont.variant": { "params": { "plotly_name": "variant", - "parent_name": "choroplethmapbox.colorbar.tickfont", + "parent_name": "cone.colorbar.tickfont", "edit_type": "colorbars", "values": [ "normal", @@ -116462,10 +98845,10 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.colorbar.tickfont.textcase": { + "cone.colorbar.tickfont.textcase": { "params": { "plotly_name": "textcase", - "parent_name": "choroplethmapbox.colorbar.tickfont", + "parent_name": "cone.colorbar.tickfont", "edit_type": "colorbars", "values": [ "normal", @@ -116476,10 +98859,10 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.colorbar.tickfont.style": { + "cone.colorbar.tickfont.style": { "params": { "plotly_name": "style", - "parent_name": "choroplethmapbox.colorbar.tickfont", + "parent_name": "cone.colorbar.tickfont", "edit_type": "colorbars", "values": [ "normal", @@ -116488,27 +98871,27 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.colorbar.tickfont.size": { + "cone.colorbar.tickfont.size": { "params": { "plotly_name": "size", - "parent_name": "choroplethmapbox.colorbar.tickfont", + "parent_name": "cone.colorbar.tickfont", "edit_type": "colorbars", "min": 1 }, "superclass": "NumberValidator" }, - "choroplethmapbox.colorbar.tickfont.shadow": { + "cone.colorbar.tickfont.shadow": { "params": { "plotly_name": "shadow", - "parent_name": "choroplethmapbox.colorbar.tickfont", + "parent_name": "cone.colorbar.tickfont", "edit_type": "colorbars" }, "superclass": "StringValidator" }, - "choroplethmapbox.colorbar.tickfont.lineposition": { + "cone.colorbar.tickfont.lineposition": { "params": { "plotly_name": "lineposition", - "parent_name": "choroplethmapbox.colorbar.tickfont", + "parent_name": "cone.colorbar.tickfont", "edit_type": "colorbars", "extras": [ "none" @@ -116521,44 +98904,44 @@ }, "superclass": "FlaglistValidator" }, - "choroplethmapbox.colorbar.tickfont.family": { + "cone.colorbar.tickfont.family": { "params": { "plotly_name": "family", - "parent_name": "choroplethmapbox.colorbar.tickfont", + "parent_name": "cone.colorbar.tickfont", "edit_type": "colorbars", "no_blank": true, "strict": true }, "superclass": "StringValidator" }, - "choroplethmapbox.colorbar.tickfont.color": { + "cone.colorbar.tickfont.color": { "params": { "plotly_name": "color", - "parent_name": "choroplethmapbox.colorbar.tickfont", + "parent_name": "cone.colorbar.tickfont", "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "choroplethmapbox.colorbar.tickcolor": { + "cone.colorbar.tickcolor": { "params": { "plotly_name": "tickcolor", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "choroplethmapbox.colorbar.tickangle": { + "cone.colorbar.tickangle": { "params": { "plotly_name": "tickangle", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars" }, "superclass": "AngleValidator" }, - "choroplethmapbox.colorbar.tick0": { + "cone.colorbar.tick0": { "params": { "plotly_name": "tick0", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "implied_edits": { "tickmode": "linear" @@ -116566,10 +98949,10 @@ }, "superclass": "AnyValidator" }, - "choroplethmapbox.colorbar.thicknessmode": { + "cone.colorbar.thicknessmode": { "params": { "plotly_name": "thicknessmode", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "values": [ "fraction", @@ -116578,19 +98961,19 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.colorbar.thickness": { + "cone.colorbar.thickness": { "params": { "plotly_name": "thickness", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "choroplethmapbox.colorbar.showticksuffix": { + "cone.colorbar.showticksuffix": { "params": { "plotly_name": "showticksuffix", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "values": [ "all", @@ -116601,10 +98984,10 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.colorbar.showtickprefix": { + "cone.colorbar.showtickprefix": { "params": { "plotly_name": "showtickprefix", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "values": [ "all", @@ -116615,18 +98998,18 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.colorbar.showticklabels": { + "cone.colorbar.showticklabels": { "params": { "plotly_name": "showticklabels", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars" }, "superclass": "BooleanValidator" }, - "choroplethmapbox.colorbar.showexponent": { + "cone.colorbar.showexponent": { "params": { "plotly_name": "showexponent", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "values": [ "all", @@ -116637,35 +99020,35 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.colorbar.separatethousands": { + "cone.colorbar.separatethousands": { "params": { "plotly_name": "separatethousands", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars" }, "superclass": "BooleanValidator" }, - "choroplethmapbox.colorbar.outlinewidth": { + "cone.colorbar.outlinewidth": { "params": { "plotly_name": "outlinewidth", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "choroplethmapbox.colorbar.outlinecolor": { + "cone.colorbar.outlinecolor": { "params": { "plotly_name": "outlinecolor", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "choroplethmapbox.colorbar.orientation": { + "cone.colorbar.orientation": { "params": { "plotly_name": "orientation", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "values": [ "h", @@ -116674,28 +99057,28 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.colorbar.nticks": { + "cone.colorbar.nticks": { "params": { "plotly_name": "nticks", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "IntegerValidator" }, - "choroplethmapbox.colorbar.minexponent": { + "cone.colorbar.minexponent": { "params": { "plotly_name": "minexponent", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "choroplethmapbox.colorbar.lenmode": { + "cone.colorbar.lenmode": { "params": { "plotly_name": "lenmode", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "values": [ "fraction", @@ -116704,27 +99087,27 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.colorbar.len": { + "cone.colorbar.len": { "params": { "plotly_name": "len", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "choroplethmapbox.colorbar.labelalias": { + "cone.colorbar.labelalias": { "params": { "plotly_name": "labelalias", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars" }, "superclass": "AnyValidator" }, - "choroplethmapbox.colorbar.exponentformat": { + "cone.colorbar.exponentformat": { "params": { "plotly_name": "exponentformat", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "values": [ "none", @@ -116738,10 +99121,10 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmapbox.colorbar.dtick": { + "cone.colorbar.dtick": { "params": { "plotly_name": "dtick", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "implied_edits": { "tickmode": "linear" @@ -116749,58 +99132,104 @@ }, "superclass": "AnyValidator" }, - "choroplethmapbox.colorbar.borderwidth": { + "cone.colorbar.borderwidth": { "params": { "plotly_name": "borderwidth", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars", "min": 0 }, "superclass": "NumberValidator" }, - "choroplethmapbox.colorbar.bordercolor": { + "cone.colorbar.bordercolor": { "params": { "plotly_name": "bordercolor", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "choroplethmapbox.colorbar.bgcolor": { + "cone.colorbar.bgcolor": { "params": { "plotly_name": "bgcolor", - "parent_name": "choroplethmapbox.colorbar", + "parent_name": "cone.colorbar", "edit_type": "colorbars" }, "superclass": "ColorValidator" }, - "choroplethmapbox.coloraxis": { + "cone.coloraxis": { "params": { "plotly_name": "coloraxis", - "parent_name": "choroplethmapbox", + "parent_name": "cone", "dflt": null, "edit_type": "calc", "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/" }, "superclass": "SubplotidValidator" }, - "choroplethmapbox.below": { + "cone.cmin": { "params": { - "plotly_name": "below", - "parent_name": "choroplethmapbox", - "edit_type": "plot" + "plotly_name": "cmin", + "parent_name": "cone", + "edit_type": "calc", + "implied_edits": { + "cauto": false + } }, - "superclass": "StringValidator" + "superclass": "NumberValidator" + }, + "cone.cmid": { + "params": { + "plotly_name": "cmid", + "parent_name": "cone", + "edit_type": "calc", + "implied_edits": {} + }, + "superclass": "NumberValidator" + }, + "cone.cmax": { + "params": { + "plotly_name": "cmax", + "parent_name": "cone", + "edit_type": "calc", + "implied_edits": { + "cauto": false + } + }, + "superclass": "NumberValidator" }, - "choroplethmapbox.autocolorscale": { + "cone.cauto": { + "params": { + "plotly_name": "cauto", + "parent_name": "cone", + "edit_type": "calc", + "implied_edits": {} + }, + "superclass": "BooleanValidator" + }, + "cone.autocolorscale": { "params": { "plotly_name": "autocolorscale", - "parent_name": "choroplethmapbox", + "parent_name": "cone", "edit_type": "calc", "implied_edits": {} }, "superclass": "BooleanValidator" }, + "cone.anchor": { + "params": { + "plotly_name": "anchor", + "parent_name": "cone", + "edit_type": "calc", + "values": [ + "tip", + "tail", + "cm", + "center" + ] + }, + "superclass": "EnumeratedValidator" + }, "choroplethmap": { "params": { "plotly_name": "choroplethmap", @@ -116810,14 +99239,6 @@ }, "superclass": "CompoundValidator" }, - "choroplethmap.zsrc": { - "params": { - "plotly_name": "zsrc", - "parent_name": "choroplethmap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.zmin": { "params": { "plotly_name": "zmin", @@ -116923,14 +99344,6 @@ }, "superclass": "StringValidator" }, - "choroplethmap.textsrc": { - "params": { - "plotly_name": "textsrc", - "parent_name": "choroplethmap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.text": { "params": { "plotly_name": "text", @@ -116949,35 +99362,6 @@ }, "superclass": "SubplotidValidator" }, - "choroplethmap.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "choroplethmap", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "choroplethmap.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "choroplethmap.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "choroplethmap.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "choroplethmap.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, "choroplethmap.showscale": { "params": { "plotly_name": "showscale", @@ -117046,14 +99430,6 @@ }, "superclass": "StringValidator" }, - "choroplethmap.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "choroplethmap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.meta": { "params": { "plotly_name": "meta", @@ -117072,14 +99448,6 @@ }, "superclass": "CompoundValidator" }, - "choroplethmap.marker.opacitysrc": { - "params": { - "plotly_name": "opacitysrc", - "parent_name": "choroplethmap.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.marker.opacity": { "params": { "plotly_name": "opacity", @@ -117100,14 +99468,6 @@ }, "superclass": "CompoundValidator" }, - "choroplethmap.marker.line.widthsrc": { - "params": { - "plotly_name": "widthsrc", - "parent_name": "choroplethmap.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.marker.line.width": { "params": { "plotly_name": "width", @@ -117118,14 +99478,6 @@ }, "superclass": "NumberValidator" }, - "choroplethmap.marker.line.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "choroplethmap.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.marker.line.color": { "params": { "plotly_name": "color", @@ -117135,14 +99487,6 @@ }, "superclass": "ColorValidator" }, - "choroplethmap.locationssrc": { - "params": { - "plotly_name": "locationssrc", - "parent_name": "choroplethmap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.locations": { "params": { "plotly_name": "locations", @@ -117318,14 +99662,6 @@ }, "superclass": "SubplotidValidator" }, - "choroplethmap.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "choroplethmap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.ids": { "params": { "plotly_name": "ids", @@ -117334,14 +99670,6 @@ }, "superclass": "DataArrayValidator" }, - "choroplethmap.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "choroplethmap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.hovertext": { "params": { "plotly_name": "hovertext", @@ -117351,14 +99679,6 @@ }, "superclass": "StringValidator" }, - "choroplethmap.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "choroplethmap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.hovertemplatefallback": { "params": { "plotly_name": "hovertemplatefallback", @@ -117393,14 +99713,6 @@ }, "superclass": "BooleanValidator" }, - "choroplethmap.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "choroplethmap.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.hoverlabel.namelength": { "params": { "plotly_name": "namelength", @@ -117420,14 +99732,6 @@ }, "superclass": "CompoundValidator" }, - "choroplethmap.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "choroplethmap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.hoverlabel.font.weight": { "params": { "plotly_name": "weight", @@ -117443,14 +99747,6 @@ }, "superclass": "IntegerValidator" }, - "choroplethmap.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "choroplethmap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.hoverlabel.font.variant": { "params": { "plotly_name": "variant", @@ -117468,14 +99764,6 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmap.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "choroplethmap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", @@ -117491,14 +99779,6 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmap.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "choroplethmap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.hoverlabel.font.style": { "params": { "plotly_name": "style", @@ -117512,14 +99792,6 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmap.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "choroplethmap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.hoverlabel.font.size": { "params": { "plotly_name": "size", @@ -117530,14 +99802,6 @@ }, "superclass": "NumberValidator" }, - "choroplethmap.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "choroplethmap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", @@ -117547,14 +99811,6 @@ }, "superclass": "StringValidator" }, - "choroplethmap.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "choroplethmap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", @@ -117572,14 +99828,6 @@ }, "superclass": "FlaglistValidator" }, - "choroplethmap.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "choroplethmap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.hoverlabel.font.family": { "params": { "plotly_name": "family", @@ -117591,14 +99839,6 @@ }, "superclass": "StringValidator" }, - "choroplethmap.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "choroplethmap.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.hoverlabel.font.color": { "params": { "plotly_name": "color", @@ -117608,14 +99848,6 @@ }, "superclass": "ColorValidator" }, - "choroplethmap.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "choroplethmap.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.hoverlabel.bordercolor": { "params": { "plotly_name": "bordercolor", @@ -117625,14 +99857,6 @@ }, "superclass": "ColorValidator" }, - "choroplethmap.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "choroplethmap.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.hoverlabel.bgcolor": { "params": { "plotly_name": "bgcolor", @@ -117642,14 +99866,6 @@ }, "superclass": "ColorValidator" }, - "choroplethmap.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "choroplethmap.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.hoverlabel.align": { "params": { "plotly_name": "align", @@ -117664,14 +99880,6 @@ }, "superclass": "EnumeratedValidator" }, - "choroplethmap.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "choroplethmap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.hoverinfo": { "params": { "plotly_name": "hoverinfo", @@ -117708,14 +99916,6 @@ }, "superclass": "StringValidator" }, - "choroplethmap.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "choroplethmap", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.customdata": { "params": { "plotly_name": "customdata", @@ -117983,14 +100183,6 @@ }, "superclass": "NumberValidator" }, - "choroplethmap.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "choroplethmap.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.colorbar.tickvals": { "params": { "plotly_name": "tickvals", @@ -117999,14 +100191,6 @@ }, "superclass": "DataArrayValidator" }, - "choroplethmap.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "choroplethmap.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choroplethmap.colorbar.ticktext": { "params": { "plotly_name": "ticktext", @@ -118572,14 +100756,6 @@ }, "superclass": "CompoundValidator" }, - "choropleth.zsrc": { - "params": { - "plotly_name": "zsrc", - "parent_name": "choropleth", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.zmin": { "params": { "plotly_name": "zmin", @@ -118685,14 +100861,6 @@ }, "superclass": "StringValidator" }, - "choropleth.textsrc": { - "params": { - "plotly_name": "textsrc", - "parent_name": "choropleth", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.text": { "params": { "plotly_name": "text", @@ -118702,35 +100870,6 @@ }, "superclass": "StringValidator" }, - "choropleth.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "choropleth", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "choropleth.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "choropleth.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "choropleth.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "choropleth.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, "choropleth.showscale": { "params": { "plotly_name": "showscale", @@ -118799,14 +100938,6 @@ }, "superclass": "StringValidator" }, - "choropleth.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "choropleth", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.meta": { "params": { "plotly_name": "meta", @@ -118825,14 +100956,6 @@ }, "superclass": "CompoundValidator" }, - "choropleth.marker.opacitysrc": { - "params": { - "plotly_name": "opacitysrc", - "parent_name": "choropleth.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.marker.opacity": { "params": { "plotly_name": "opacity", @@ -118853,14 +100976,6 @@ }, "superclass": "CompoundValidator" }, - "choropleth.marker.line.widthsrc": { - "params": { - "plotly_name": "widthsrc", - "parent_name": "choropleth.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.marker.line.width": { "params": { "plotly_name": "width", @@ -118871,14 +100986,6 @@ }, "superclass": "NumberValidator" }, - "choropleth.marker.line.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "choropleth.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.marker.line.color": { "params": { "plotly_name": "color", @@ -118888,14 +100995,6 @@ }, "superclass": "ColorValidator" }, - "choropleth.locationssrc": { - "params": { - "plotly_name": "locationssrc", - "parent_name": "choropleth", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.locations": { "params": { "plotly_name": "locations", @@ -119085,14 +101184,6 @@ }, "superclass": "SubplotidValidator" }, - "choropleth.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "choropleth", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.ids": { "params": { "plotly_name": "ids", @@ -119101,14 +101192,6 @@ }, "superclass": "DataArrayValidator" }, - "choropleth.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "choropleth", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.hovertext": { "params": { "plotly_name": "hovertext", @@ -119118,14 +101201,6 @@ }, "superclass": "StringValidator" }, - "choropleth.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "choropleth", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.hovertemplatefallback": { "params": { "plotly_name": "hovertemplatefallback", @@ -119160,14 +101235,6 @@ }, "superclass": "BooleanValidator" }, - "choropleth.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "choropleth.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.hoverlabel.namelength": { "params": { "plotly_name": "namelength", @@ -119187,14 +101254,6 @@ }, "superclass": "CompoundValidator" }, - "choropleth.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "choropleth.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.hoverlabel.font.weight": { "params": { "plotly_name": "weight", @@ -119210,14 +101269,6 @@ }, "superclass": "IntegerValidator" }, - "choropleth.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "choropleth.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.hoverlabel.font.variant": { "params": { "plotly_name": "variant", @@ -119235,14 +101286,6 @@ }, "superclass": "EnumeratedValidator" }, - "choropleth.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "choropleth.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", @@ -119258,14 +101301,6 @@ }, "superclass": "EnumeratedValidator" }, - "choropleth.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "choropleth.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.hoverlabel.font.style": { "params": { "plotly_name": "style", @@ -119279,14 +101314,6 @@ }, "superclass": "EnumeratedValidator" }, - "choropleth.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "choropleth.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.hoverlabel.font.size": { "params": { "plotly_name": "size", @@ -119297,14 +101324,6 @@ }, "superclass": "NumberValidator" }, - "choropleth.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "choropleth.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", @@ -119314,14 +101333,6 @@ }, "superclass": "StringValidator" }, - "choropleth.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "choropleth.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", @@ -119339,14 +101350,6 @@ }, "superclass": "FlaglistValidator" }, - "choropleth.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "choropleth.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.hoverlabel.font.family": { "params": { "plotly_name": "family", @@ -119358,14 +101361,6 @@ }, "superclass": "StringValidator" }, - "choropleth.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "choropleth.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.hoverlabel.font.color": { "params": { "plotly_name": "color", @@ -119375,14 +101370,6 @@ }, "superclass": "ColorValidator" }, - "choropleth.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "choropleth.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.hoverlabel.bordercolor": { "params": { "plotly_name": "bordercolor", @@ -119392,14 +101379,6 @@ }, "superclass": "ColorValidator" }, - "choropleth.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "choropleth.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.hoverlabel.bgcolor": { "params": { "plotly_name": "bgcolor", @@ -119409,14 +101388,6 @@ }, "superclass": "ColorValidator" }, - "choropleth.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "choropleth.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.hoverlabel.align": { "params": { "plotly_name": "align", @@ -119431,14 +101402,6 @@ }, "superclass": "EnumeratedValidator" }, - "choropleth.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "choropleth", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.hoverinfo": { "params": { "plotly_name": "hoverinfo", @@ -119484,14 +101447,6 @@ }, "superclass": "StringValidator" }, - "choropleth.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "choropleth", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.customdata": { "params": { "plotly_name": "customdata", @@ -119759,14 +101714,6 @@ }, "superclass": "NumberValidator" }, - "choropleth.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "choropleth.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.colorbar.tickvals": { "params": { "plotly_name": "tickvals", @@ -119775,14 +101722,6 @@ }, "superclass": "DataArrayValidator" }, - "choropleth.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "choropleth.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "choropleth.colorbar.ticktext": { "params": { "plotly_name": "ticktext", @@ -120348,14 +102287,6 @@ }, "superclass": "IntegerValidator" }, - "carpet.ysrc": { - "params": { - "plotly_name": "ysrc", - "parent_name": "carpet", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "carpet.yaxis": { "params": { "plotly_name": "yaxis", @@ -120373,14 +102304,6 @@ }, "superclass": "DataArrayValidator" }, - "carpet.xsrc": { - "params": { - "plotly_name": "xsrc", - "parent_name": "carpet", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "carpet.xaxis": { "params": { "plotly_name": "xaxis", @@ -120428,35 +102351,6 @@ }, "superclass": "StringValidator" }, - "carpet.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "carpet", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "carpet.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "carpet.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "carpet.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "carpet.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, "carpet.opacity": { "params": { "plotly_name": "opacity", @@ -120475,14 +102369,6 @@ }, "superclass": "StringValidator" }, - "carpet.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "carpet", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "carpet.meta": { "params": { "plotly_name": "meta", @@ -120651,14 +102537,6 @@ }, "superclass": "SubplotidValidator" }, - "carpet.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "carpet", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "carpet.ids": { "params": { "plotly_name": "ids", @@ -120800,14 +102678,6 @@ }, "superclass": "NumberValidator" }, - "carpet.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "carpet", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "carpet.customdata": { "params": { "plotly_name": "customdata", @@ -120840,14 +102710,6 @@ }, "superclass": "StringValidator" }, - "carpet.bsrc": { - "params": { - "plotly_name": "bsrc", - "parent_name": "carpet", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "carpet.baxis": { "params": { "plotly_name": "baxis", @@ -121012,14 +102874,6 @@ }, "superclass": "ColorValidator" }, - "carpet.baxis.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "carpet.baxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "carpet.baxis.tickvals": { "params": { "plotly_name": "tickvals", @@ -121028,14 +102882,6 @@ }, "superclass": "DataArrayValidator" }, - "carpet.baxis.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "carpet.baxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "carpet.baxis.ticktext": { "params": { "plotly_name": "ticktext", @@ -121660,14 +103506,6 @@ }, "superclass": "EnumeratedValidator" }, - "carpet.baxis.categoryarraysrc": { - "params": { - "plotly_name": "categoryarraysrc", - "parent_name": "carpet.baxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "carpet.baxis.categoryarray": { "params": { "plotly_name": "categoryarray", @@ -121735,14 +103573,6 @@ }, "superclass": "DataArrayValidator" }, - "carpet.asrc": { - "params": { - "plotly_name": "asrc", - "parent_name": "carpet", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "carpet.aaxis": { "params": { "plotly_name": "aaxis", @@ -121907,14 +103737,6 @@ }, "superclass": "ColorValidator" }, - "carpet.aaxis.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "carpet.aaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "carpet.aaxis.tickvals": { "params": { "plotly_name": "tickvals", @@ -121923,14 +103745,6 @@ }, "superclass": "DataArrayValidator" }, - "carpet.aaxis.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "carpet.aaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "carpet.aaxis.ticktext": { "params": { "plotly_name": "ticktext", @@ -122555,14 +104369,6 @@ }, "superclass": "EnumeratedValidator" }, - "carpet.aaxis.categoryarraysrc": { - "params": { - "plotly_name": "categoryarraysrc", - "parent_name": "carpet.aaxis", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "carpet.aaxis.categoryarray": { "params": { "plotly_name": "categoryarray", @@ -122664,14 +104470,6 @@ }, "superclass": "SubplotidValidator" }, - "candlestick.xsrc": { - "params": { - "plotly_name": "xsrc", - "parent_name": "candlestick", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "candlestick.xperiodalignment": { "params": { "plotly_name": "xperiodalignment", @@ -122791,14 +104589,6 @@ }, "superclass": "StringValidator" }, - "candlestick.textsrc": { - "params": { - "plotly_name": "textsrc", - "parent_name": "candlestick", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "candlestick.text": { "params": { "plotly_name": "text", @@ -122808,35 +104598,6 @@ }, "superclass": "StringValidator" }, - "candlestick.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "candlestick", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "candlestick.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "candlestick.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "candlestick.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "candlestick.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, "candlestick.showlegend": { "params": { "plotly_name": "showlegend", @@ -122853,14 +104614,6 @@ }, "superclass": "AnyValidator" }, - "candlestick.opensrc": { - "params": { - "plotly_name": "opensrc", - "parent_name": "candlestick", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "candlestick.open": { "params": { "plotly_name": "open", @@ -122887,14 +104640,6 @@ }, "superclass": "StringValidator" }, - "candlestick.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "candlestick", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "candlestick.meta": { "params": { "plotly_name": "meta", @@ -122904,14 +104649,6 @@ }, "superclass": "AnyValidator" }, - "candlestick.lowsrc": { - "params": { - "plotly_name": "lowsrc", - "parent_name": "candlestick", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "candlestick.low": { "params": { "plotly_name": "low", @@ -123148,14 +104885,6 @@ }, "superclass": "ColorValidator" }, - "candlestick.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "candlestick", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "candlestick.ids": { "params": { "plotly_name": "ids", @@ -123164,14 +104893,6 @@ }, "superclass": "DataArrayValidator" }, - "candlestick.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "candlestick", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "candlestick.hovertext": { "params": { "plotly_name": "hovertext", @@ -123181,14 +104902,6 @@ }, "superclass": "StringValidator" }, - "candlestick.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "candlestick", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "candlestick.hovertemplatefallback": { "params": { "plotly_name": "hovertemplatefallback", @@ -123231,14 +104944,6 @@ }, "superclass": "BooleanValidator" }, - "candlestick.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "candlestick.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "candlestick.hoverlabel.namelength": { "params": { "plotly_name": "namelength", @@ -123258,14 +104963,6 @@ }, "superclass": "CompoundValidator" }, - "candlestick.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "candlestick.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "candlestick.hoverlabel.font.weight": { "params": { "plotly_name": "weight", @@ -123281,14 +104978,6 @@ }, "superclass": "IntegerValidator" }, - "candlestick.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "candlestick.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "candlestick.hoverlabel.font.variant": { "params": { "plotly_name": "variant", @@ -123306,14 +104995,6 @@ }, "superclass": "EnumeratedValidator" }, - "candlestick.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "candlestick.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "candlestick.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", @@ -123329,14 +105010,6 @@ }, "superclass": "EnumeratedValidator" }, - "candlestick.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "candlestick.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "candlestick.hoverlabel.font.style": { "params": { "plotly_name": "style", @@ -123350,14 +105023,6 @@ }, "superclass": "EnumeratedValidator" }, - "candlestick.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "candlestick.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "candlestick.hoverlabel.font.size": { "params": { "plotly_name": "size", @@ -123368,14 +105033,6 @@ }, "superclass": "NumberValidator" }, - "candlestick.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "candlestick.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "candlestick.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", @@ -123385,14 +105042,6 @@ }, "superclass": "StringValidator" }, - "candlestick.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "candlestick.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "candlestick.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", @@ -123410,14 +105059,6 @@ }, "superclass": "FlaglistValidator" }, - "candlestick.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "candlestick.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "candlestick.hoverlabel.font.family": { "params": { "plotly_name": "family", @@ -123429,14 +105070,6 @@ }, "superclass": "StringValidator" }, - "candlestick.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "candlestick.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "candlestick.hoverlabel.font.color": { "params": { "plotly_name": "color", @@ -123446,14 +105079,6 @@ }, "superclass": "ColorValidator" }, - "candlestick.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "candlestick.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "candlestick.hoverlabel.bordercolor": { "params": { "plotly_name": "bordercolor", @@ -123463,14 +105088,6 @@ }, "superclass": "ColorValidator" }, - "candlestick.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "candlestick.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "candlestick.hoverlabel.bgcolor": { "params": { "plotly_name": "bgcolor", @@ -123480,14 +105097,6 @@ }, "superclass": "ColorValidator" }, - "candlestick.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "candlestick.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "candlestick.hoverlabel.align": { "params": { "plotly_name": "align", @@ -123502,14 +105111,6 @@ }, "superclass": "EnumeratedValidator" }, - "candlestick.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "candlestick", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "candlestick.hoverinfo": { "params": { "plotly_name": "hoverinfo", @@ -123531,14 +105132,6 @@ }, "superclass": "FlaglistValidator" }, - "candlestick.highsrc": { - "params": { - "plotly_name": "highsrc", - "parent_name": "candlestick", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "candlestick.high": { "params": { "plotly_name": "high", @@ -123590,14 +105183,6 @@ }, "superclass": "ColorValidator" }, - "candlestick.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "candlestick", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "candlestick.customdata": { "params": { "plotly_name": "customdata", @@ -123606,14 +105191,6 @@ }, "superclass": "DataArrayValidator" }, - "candlestick.closesrc": { - "params": { - "plotly_name": "closesrc", - "parent_name": "candlestick", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "candlestick.close": { "params": { "plotly_name": "close", @@ -123639,14 +105216,6 @@ }, "superclass": "IntegerValidator" }, - "box.ysrc": { - "params": { - "plotly_name": "ysrc", - "parent_name": "box", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.yperiodalignment": { "params": { "plotly_name": "yperiodalignment", @@ -123735,14 +105304,6 @@ }, "superclass": "DataArrayValidator" }, - "box.xsrc": { - "params": { - "plotly_name": "xsrc", - "parent_name": "box", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.xperiodalignment": { "params": { "plotly_name": "xperiodalignment", @@ -123863,14 +105424,6 @@ }, "superclass": "EnumeratedValidator" }, - "box.upperfencesrc": { - "params": { - "plotly_name": "upperfencesrc", - "parent_name": "box", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.upperfence": { "params": { "plotly_name": "upperfence", @@ -123940,14 +105493,6 @@ }, "superclass": "StringValidator" }, - "box.textsrc": { - "params": { - "plotly_name": "textsrc", - "parent_name": "box", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.text": { "params": { "plotly_name": "text", @@ -123957,35 +105502,6 @@ }, "superclass": "StringValidator" }, - "box.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "box", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "box.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "box.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "box.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "box.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, "box.sizemode": { "params": { "plotly_name": "sizemode", @@ -124067,14 +105583,6 @@ }, "superclass": "ColorValidator" }, - "box.sdsrc": { - "params": { - "plotly_name": "sdsrc", - "parent_name": "box", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.sdmultiple": { "params": { "plotly_name": "sdmultiple", @@ -124105,14 +105613,6 @@ }, "superclass": "EnumeratedValidator" }, - "box.q3src": { - "params": { - "plotly_name": "q3src", - "parent_name": "box", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.q3": { "params": { "plotly_name": "q3", @@ -124121,14 +105621,6 @@ }, "superclass": "DataArrayValidator" }, - "box.q1src": { - "params": { - "plotly_name": "q1src", - "parent_name": "box", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.q1": { "params": { "plotly_name": "q1", @@ -124187,14 +105679,6 @@ }, "superclass": "NumberValidator" }, - "box.notchspansrc": { - "params": { - "plotly_name": "notchspansrc", - "parent_name": "box", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.notchspan": { "params": { "plotly_name": "notchspan", @@ -124219,14 +105703,6 @@ }, "superclass": "StringValidator" }, - "box.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "box", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.meta": { "params": { "plotly_name": "meta", @@ -124236,14 +105712,6 @@ }, "superclass": "AnyValidator" }, - "box.mediansrc": { - "params": { - "plotly_name": "mediansrc", - "parent_name": "box", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.median": { "params": { "plotly_name": "median", @@ -124252,14 +105720,6 @@ }, "superclass": "DataArrayValidator" }, - "box.meansrc": { - "params": { - "plotly_name": "meansrc", - "parent_name": "box", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.mean": { "params": { "plotly_name": "mean", @@ -124866,14 +106326,6 @@ }, "superclass": "AngleValidator" }, - "box.lowerfencesrc": { - "params": { - "plotly_name": "lowerfencesrc", - "parent_name": "box", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.lowerfence": { "params": { "plotly_name": "lowerfence", @@ -125085,14 +106537,6 @@ }, "superclass": "NumberValidator" }, - "box.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "box", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.ids": { "params": { "plotly_name": "ids", @@ -125101,14 +106545,6 @@ }, "superclass": "DataArrayValidator" }, - "box.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "box", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.hovertext": { "params": { "plotly_name": "hovertext", @@ -125118,14 +106554,6 @@ }, "superclass": "StringValidator" }, - "box.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "box", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.hovertemplatefallback": { "params": { "plotly_name": "hovertemplatefallback", @@ -125172,14 +106600,6 @@ }, "superclass": "BooleanValidator" }, - "box.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "box.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.hoverlabel.namelength": { "params": { "plotly_name": "namelength", @@ -125199,14 +106619,6 @@ }, "superclass": "CompoundValidator" }, - "box.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "box.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.hoverlabel.font.weight": { "params": { "plotly_name": "weight", @@ -125222,14 +106634,6 @@ }, "superclass": "IntegerValidator" }, - "box.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "box.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.hoverlabel.font.variant": { "params": { "plotly_name": "variant", @@ -125247,14 +106651,6 @@ }, "superclass": "EnumeratedValidator" }, - "box.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "box.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", @@ -125270,14 +106666,6 @@ }, "superclass": "EnumeratedValidator" }, - "box.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "box.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.hoverlabel.font.style": { "params": { "plotly_name": "style", @@ -125291,14 +106679,6 @@ }, "superclass": "EnumeratedValidator" }, - "box.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "box.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.hoverlabel.font.size": { "params": { "plotly_name": "size", @@ -125309,14 +106689,6 @@ }, "superclass": "NumberValidator" }, - "box.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "box.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", @@ -125326,14 +106698,6 @@ }, "superclass": "StringValidator" }, - "box.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "box.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", @@ -125351,14 +106715,6 @@ }, "superclass": "FlaglistValidator" }, - "box.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "box.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.hoverlabel.font.family": { "params": { "plotly_name": "family", @@ -125370,14 +106726,6 @@ }, "superclass": "StringValidator" }, - "box.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "box.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.hoverlabel.font.color": { "params": { "plotly_name": "color", @@ -125387,14 +106735,6 @@ }, "superclass": "ColorValidator" }, - "box.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "box.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.hoverlabel.bordercolor": { "params": { "plotly_name": "bordercolor", @@ -125404,14 +106744,6 @@ }, "superclass": "ColorValidator" }, - "box.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "box.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.hoverlabel.bgcolor": { "params": { "plotly_name": "bgcolor", @@ -125421,14 +106753,6 @@ }, "superclass": "ColorValidator" }, - "box.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "box.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.hoverlabel.align": { "params": { "plotly_name": "align", @@ -125443,14 +106767,6 @@ }, "superclass": "EnumeratedValidator" }, - "box.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "box", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.hoverinfo": { "params": { "plotly_name": "hoverinfo", @@ -125496,14 +106812,6 @@ }, "superclass": "NumberValidator" }, - "box.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "box", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "box.customdata": { "params": { "plotly_name": "customdata", @@ -125556,14 +106864,6 @@ }, "superclass": "CompoundValidator" }, - "barpolar.widthsrc": { - "params": { - "plotly_name": "widthsrc", - "parent_name": "barpolar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.width": { "params": { "plotly_name": "width", @@ -125669,14 +106969,6 @@ }, "superclass": "EnumeratedValidator" }, - "barpolar.thetasrc": { - "params": { - "plotly_name": "thetasrc", - "parent_name": "barpolar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.theta0": { "params": { "plotly_name": "theta0", @@ -125693,14 +106985,6 @@ }, "superclass": "DataArrayValidator" }, - "barpolar.textsrc": { - "params": { - "plotly_name": "textsrc", - "parent_name": "barpolar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.text": { "params": { "plotly_name": "text", @@ -125719,35 +107003,6 @@ }, "superclass": "SubplotidValidator" }, - "barpolar.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "barpolar", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "barpolar.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "barpolar.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "barpolar.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "barpolar.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, "barpolar.showlegend": { "params": { "plotly_name": "showlegend", @@ -125817,14 +107072,6 @@ }, "superclass": "ColorValidator" }, - "barpolar.rsrc": { - "params": { - "plotly_name": "rsrc", - "parent_name": "barpolar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.r0": { "params": { "plotly_name": "r0", @@ -125851,14 +107098,6 @@ }, "superclass": "NumberValidator" }, - "barpolar.offsetsrc": { - "params": { - "plotly_name": "offsetsrc", - "parent_name": "barpolar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.offset": { "params": { "plotly_name": "offset", @@ -125876,14 +107115,6 @@ }, "superclass": "StringValidator" }, - "barpolar.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "barpolar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.meta": { "params": { "plotly_name": "meta", @@ -125927,14 +107158,6 @@ }, "superclass": "CompoundValidator" }, - "barpolar.marker.pattern.soliditysrc": { - "params": { - "plotly_name": "soliditysrc", - "parent_name": "barpolar.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.marker.pattern.solidity": { "params": { "plotly_name": "solidity", @@ -125946,14 +107169,6 @@ }, "superclass": "NumberValidator" }, - "barpolar.marker.pattern.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "barpolar.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.marker.pattern.size": { "params": { "plotly_name": "size", @@ -125964,14 +107179,6 @@ }, "superclass": "NumberValidator" }, - "barpolar.marker.pattern.shapesrc": { - "params": { - "plotly_name": "shapesrc", - "parent_name": "barpolar.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.marker.pattern.shape": { "params": { "plotly_name": "shape", @@ -125991,14 +107198,6 @@ }, "superclass": "EnumeratedValidator" }, - "barpolar.marker.pattern.pathsrc": { - "params": { - "plotly_name": "pathsrc", - "parent_name": "barpolar.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.marker.pattern.path": { "params": { "plotly_name": "path", @@ -126030,14 +107229,6 @@ }, "superclass": "NumberValidator" }, - "barpolar.marker.pattern.fgcolorsrc": { - "params": { - "plotly_name": "fgcolorsrc", - "parent_name": "barpolar.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.marker.pattern.fgcolor": { "params": { "plotly_name": "fgcolor", @@ -126047,14 +107238,6 @@ }, "superclass": "ColorValidator" }, - "barpolar.marker.pattern.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "barpolar.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.marker.pattern.bgcolor": { "params": { "plotly_name": "bgcolor", @@ -126064,14 +107247,6 @@ }, "superclass": "ColorValidator" }, - "barpolar.marker.opacitysrc": { - "params": { - "plotly_name": "opacitysrc", - "parent_name": "barpolar.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.marker.opacity": { "params": { "plotly_name": "opacity", @@ -126092,14 +107267,6 @@ }, "superclass": "CompoundValidator" }, - "barpolar.marker.line.widthsrc": { - "params": { - "plotly_name": "widthsrc", - "parent_name": "barpolar.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.marker.line.width": { "params": { "plotly_name": "width", @@ -126118,14 +107285,6 @@ }, "superclass": "BooleanValidator" }, - "barpolar.marker.line.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "barpolar.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.marker.line.colorscale": { "params": { "plotly_name": "colorscale", @@ -126206,14 +107365,6 @@ }, "superclass": "BooleanValidator" }, - "barpolar.marker.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "barpolar.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.marker.colorscale": { "params": { "plotly_name": "colorscale", @@ -126473,14 +107624,6 @@ }, "superclass": "NumberValidator" }, - "barpolar.marker.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "barpolar.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.marker.colorbar.tickvals": { "params": { "plotly_name": "tickvals", @@ -126489,14 +107632,6 @@ }, "superclass": "DataArrayValidator" }, - "barpolar.marker.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "barpolar.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.marker.colorbar.ticktext": { "params": { "plotly_name": "ticktext", @@ -127262,14 +108397,6 @@ }, "superclass": "SubplotidValidator" }, - "barpolar.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "barpolar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.ids": { "params": { "plotly_name": "ids", @@ -127278,14 +108405,6 @@ }, "superclass": "DataArrayValidator" }, - "barpolar.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "barpolar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.hovertext": { "params": { "plotly_name": "hovertext", @@ -127295,14 +108414,6 @@ }, "superclass": "StringValidator" }, - "barpolar.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "barpolar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.hovertemplatefallback": { "params": { "plotly_name": "hovertemplatefallback", @@ -127337,14 +108448,6 @@ }, "superclass": "BooleanValidator" }, - "barpolar.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "barpolar.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.hoverlabel.namelength": { "params": { "plotly_name": "namelength", @@ -127364,14 +108467,6 @@ }, "superclass": "CompoundValidator" }, - "barpolar.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "barpolar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.hoverlabel.font.weight": { "params": { "plotly_name": "weight", @@ -127387,14 +108482,6 @@ }, "superclass": "IntegerValidator" }, - "barpolar.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "barpolar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.hoverlabel.font.variant": { "params": { "plotly_name": "variant", @@ -127412,14 +108499,6 @@ }, "superclass": "EnumeratedValidator" }, - "barpolar.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "barpolar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", @@ -127435,14 +108514,6 @@ }, "superclass": "EnumeratedValidator" }, - "barpolar.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "barpolar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.hoverlabel.font.style": { "params": { "plotly_name": "style", @@ -127456,14 +108527,6 @@ }, "superclass": "EnumeratedValidator" }, - "barpolar.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "barpolar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.hoverlabel.font.size": { "params": { "plotly_name": "size", @@ -127474,14 +108537,6 @@ }, "superclass": "NumberValidator" }, - "barpolar.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "barpolar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", @@ -127491,14 +108546,6 @@ }, "superclass": "StringValidator" }, - "barpolar.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "barpolar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", @@ -127516,14 +108563,6 @@ }, "superclass": "FlaglistValidator" }, - "barpolar.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "barpolar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.hoverlabel.font.family": { "params": { "plotly_name": "family", @@ -127535,14 +108574,6 @@ }, "superclass": "StringValidator" }, - "barpolar.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "barpolar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.hoverlabel.font.color": { "params": { "plotly_name": "color", @@ -127552,14 +108583,6 @@ }, "superclass": "ColorValidator" }, - "barpolar.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "barpolar.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.hoverlabel.bordercolor": { "params": { "plotly_name": "bordercolor", @@ -127569,14 +108592,6 @@ }, "superclass": "ColorValidator" }, - "barpolar.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "barpolar.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.hoverlabel.bgcolor": { "params": { "plotly_name": "bgcolor", @@ -127586,14 +108601,6 @@ }, "superclass": "ColorValidator" }, - "barpolar.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "barpolar.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.hoverlabel.align": { "params": { "plotly_name": "align", @@ -127608,14 +108615,6 @@ }, "superclass": "EnumeratedValidator" }, - "barpolar.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "barpolar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.hoverinfo": { "params": { "plotly_name": "hoverinfo", @@ -127652,14 +108651,6 @@ }, "superclass": "NumberValidator" }, - "barpolar.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "barpolar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.customdata": { "params": { "plotly_name": "customdata", @@ -127668,14 +108659,6 @@ }, "superclass": "DataArrayValidator" }, - "barpolar.basesrc": { - "params": { - "plotly_name": "basesrc", - "parent_name": "barpolar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "barpolar.base": { "params": { "plotly_name": "base", @@ -127702,14 +108685,6 @@ }, "superclass": "IntegerValidator" }, - "bar.ysrc": { - "params": { - "plotly_name": "ysrc", - "parent_name": "bar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.yperiodalignment": { "params": { "plotly_name": "yperiodalignment", @@ -127800,14 +108775,6 @@ }, "superclass": "DataArrayValidator" }, - "bar.xsrc": { - "params": { - "plotly_name": "xsrc", - "parent_name": "bar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.xperiodalignment": { "params": { "plotly_name": "xperiodalignment", @@ -127898,14 +108865,6 @@ }, "superclass": "DataArrayValidator" }, - "bar.widthsrc": { - "params": { - "plotly_name": "widthsrc", - "parent_name": "bar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.width": { "params": { "plotly_name": "width", @@ -127999,14 +108958,6 @@ }, "superclass": "StringValidator" }, - "bar.texttemplatesrc": { - "params": { - "plotly_name": "texttemplatesrc", - "parent_name": "bar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.texttemplatefallback": { "params": { "plotly_name": "texttemplatefallback", @@ -128024,22 +108975,6 @@ }, "superclass": "StringValidator" }, - "bar.textsrc": { - "params": { - "plotly_name": "textsrc", - "parent_name": "bar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "bar.textpositionsrc": { - "params": { - "plotly_name": "textpositionsrc", - "parent_name": "bar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.textposition": { "params": { "plotly_name": "textposition", @@ -128064,14 +108999,6 @@ }, "superclass": "CompoundValidator" }, - "bar.textfont.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "bar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.textfont.weight": { "params": { "plotly_name": "weight", @@ -128087,14 +109014,6 @@ }, "superclass": "IntegerValidator" }, - "bar.textfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "bar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.textfont.variant": { "params": { "plotly_name": "variant", @@ -128112,14 +109031,6 @@ }, "superclass": "EnumeratedValidator" }, - "bar.textfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "bar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.textfont.textcase": { "params": { "plotly_name": "textcase", @@ -128135,14 +109046,6 @@ }, "superclass": "EnumeratedValidator" }, - "bar.textfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "bar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.textfont.style": { "params": { "plotly_name": "style", @@ -128156,14 +109059,6 @@ }, "superclass": "EnumeratedValidator" }, - "bar.textfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "bar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.textfont.size": { "params": { "plotly_name": "size", @@ -128174,14 +109069,6 @@ }, "superclass": "NumberValidator" }, - "bar.textfont.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "bar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.textfont.shadow": { "params": { "plotly_name": "shadow", @@ -128191,14 +109078,6 @@ }, "superclass": "StringValidator" }, - "bar.textfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "bar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.textfont.lineposition": { "params": { "plotly_name": "lineposition", @@ -128216,14 +109095,6 @@ }, "superclass": "FlaglistValidator" }, - "bar.textfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "bar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.textfont.family": { "params": { "plotly_name": "family", @@ -128235,14 +109106,6 @@ }, "superclass": "StringValidator" }, - "bar.textfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "bar.textfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.textfont.color": { "params": { "plotly_name": "color", @@ -128269,35 +109132,6 @@ }, "superclass": "StringValidator" }, - "bar.stream": { - "params": { - "plotly_name": "stream", - "parent_name": "bar", - "data_class_str": "Stream", - "data_docs": "\n" - }, - "superclass": "CompoundValidator" - }, - "bar.stream.token": { - "params": { - "plotly_name": "token", - "parent_name": "bar.stream", - "edit_type": "calc", - "no_blank": true, - "strict": true - }, - "superclass": "StringValidator" - }, - "bar.stream.maxpoints": { - "params": { - "plotly_name": "maxpoints", - "parent_name": "bar.stream", - "edit_type": "calc", - "max": 10000, - "min": 0 - }, - "superclass": "NumberValidator" - }, "bar.showlegend": { "params": { "plotly_name": "showlegend", @@ -128376,14 +109210,6 @@ }, "superclass": "CompoundValidator" }, - "bar.outsidetextfont.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "bar.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.outsidetextfont.weight": { "params": { "plotly_name": "weight", @@ -128399,14 +109225,6 @@ }, "superclass": "IntegerValidator" }, - "bar.outsidetextfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "bar.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.outsidetextfont.variant": { "params": { "plotly_name": "variant", @@ -128424,14 +109242,6 @@ }, "superclass": "EnumeratedValidator" }, - "bar.outsidetextfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "bar.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.outsidetextfont.textcase": { "params": { "plotly_name": "textcase", @@ -128447,14 +109257,6 @@ }, "superclass": "EnumeratedValidator" }, - "bar.outsidetextfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "bar.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.outsidetextfont.style": { "params": { "plotly_name": "style", @@ -128468,14 +109270,6 @@ }, "superclass": "EnumeratedValidator" }, - "bar.outsidetextfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "bar.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.outsidetextfont.size": { "params": { "plotly_name": "size", @@ -128486,14 +109280,6 @@ }, "superclass": "NumberValidator" }, - "bar.outsidetextfont.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "bar.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.outsidetextfont.shadow": { "params": { "plotly_name": "shadow", @@ -128503,14 +109289,6 @@ }, "superclass": "StringValidator" }, - "bar.outsidetextfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "bar.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.outsidetextfont.lineposition": { "params": { "plotly_name": "lineposition", @@ -128528,14 +109306,6 @@ }, "superclass": "FlaglistValidator" }, - "bar.outsidetextfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "bar.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.outsidetextfont.family": { "params": { "plotly_name": "family", @@ -128547,14 +109317,6 @@ }, "superclass": "StringValidator" }, - "bar.outsidetextfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "bar.outsidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.outsidetextfont.color": { "params": { "plotly_name": "color", @@ -128586,14 +109348,6 @@ }, "superclass": "NumberValidator" }, - "bar.offsetsrc": { - "params": { - "plotly_name": "offsetsrc", - "parent_name": "bar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.offsetgroup": { "params": { "plotly_name": "offsetgroup", @@ -128619,14 +109373,6 @@ }, "superclass": "StringValidator" }, - "bar.metasrc": { - "params": { - "plotly_name": "metasrc", - "parent_name": "bar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.meta": { "params": { "plotly_name": "meta", @@ -128670,14 +109416,6 @@ }, "superclass": "CompoundValidator" }, - "bar.marker.pattern.soliditysrc": { - "params": { - "plotly_name": "soliditysrc", - "parent_name": "bar.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.marker.pattern.solidity": { "params": { "plotly_name": "solidity", @@ -128689,14 +109427,6 @@ }, "superclass": "NumberValidator" }, - "bar.marker.pattern.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "bar.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.marker.pattern.size": { "params": { "plotly_name": "size", @@ -128707,14 +109437,6 @@ }, "superclass": "NumberValidator" }, - "bar.marker.pattern.shapesrc": { - "params": { - "plotly_name": "shapesrc", - "parent_name": "bar.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.marker.pattern.shape": { "params": { "plotly_name": "shape", @@ -128734,14 +109456,6 @@ }, "superclass": "EnumeratedValidator" }, - "bar.marker.pattern.pathsrc": { - "params": { - "plotly_name": "pathsrc", - "parent_name": "bar.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.marker.pattern.path": { "params": { "plotly_name": "path", @@ -128773,14 +109487,6 @@ }, "superclass": "NumberValidator" }, - "bar.marker.pattern.fgcolorsrc": { - "params": { - "plotly_name": "fgcolorsrc", - "parent_name": "bar.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.marker.pattern.fgcolor": { "params": { "plotly_name": "fgcolor", @@ -128790,14 +109496,6 @@ }, "superclass": "ColorValidator" }, - "bar.marker.pattern.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "bar.marker.pattern", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.marker.pattern.bgcolor": { "params": { "plotly_name": "bgcolor", @@ -128807,14 +109505,6 @@ }, "superclass": "ColorValidator" }, - "bar.marker.opacitysrc": { - "params": { - "plotly_name": "opacitysrc", - "parent_name": "bar.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.marker.opacity": { "params": { "plotly_name": "opacity", @@ -128835,14 +109525,6 @@ }, "superclass": "CompoundValidator" }, - "bar.marker.line.widthsrc": { - "params": { - "plotly_name": "widthsrc", - "parent_name": "bar.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.marker.line.width": { "params": { "plotly_name": "width", @@ -128862,14 +109544,6 @@ }, "superclass": "BooleanValidator" }, - "bar.marker.line.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "bar.marker.line", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.marker.line.colorscale": { "params": { "plotly_name": "colorscale", @@ -128958,14 +109632,6 @@ }, "superclass": "AnyValidator" }, - "bar.marker.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "bar.marker", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.marker.colorscale": { "params": { "plotly_name": "colorscale", @@ -129225,14 +109891,6 @@ }, "superclass": "NumberValidator" }, - "bar.marker.colorbar.tickvalssrc": { - "params": { - "plotly_name": "tickvalssrc", - "parent_name": "bar.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.marker.colorbar.tickvals": { "params": { "plotly_name": "tickvals", @@ -129241,14 +109899,6 @@ }, "superclass": "DataArrayValidator" }, - "bar.marker.colorbar.ticktextsrc": { - "params": { - "plotly_name": "ticktextsrc", - "parent_name": "bar.marker.colorbar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.marker.colorbar.ticktext": { "params": { "plotly_name": "ticktext", @@ -130023,14 +110673,6 @@ }, "superclass": "CompoundValidator" }, - "bar.insidetextfont.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "bar.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.insidetextfont.weight": { "params": { "plotly_name": "weight", @@ -130046,14 +110688,6 @@ }, "superclass": "IntegerValidator" }, - "bar.insidetextfont.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "bar.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.insidetextfont.variant": { "params": { "plotly_name": "variant", @@ -130071,14 +110705,6 @@ }, "superclass": "EnumeratedValidator" }, - "bar.insidetextfont.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "bar.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.insidetextfont.textcase": { "params": { "plotly_name": "textcase", @@ -130094,14 +110720,6 @@ }, "superclass": "EnumeratedValidator" }, - "bar.insidetextfont.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "bar.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.insidetextfont.style": { "params": { "plotly_name": "style", @@ -130115,14 +110733,6 @@ }, "superclass": "EnumeratedValidator" }, - "bar.insidetextfont.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "bar.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.insidetextfont.size": { "params": { "plotly_name": "size", @@ -130133,14 +110743,6 @@ }, "superclass": "NumberValidator" }, - "bar.insidetextfont.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "bar.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.insidetextfont.shadow": { "params": { "plotly_name": "shadow", @@ -130150,14 +110752,6 @@ }, "superclass": "StringValidator" }, - "bar.insidetextfont.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "bar.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.insidetextfont.lineposition": { "params": { "plotly_name": "lineposition", @@ -130175,14 +110769,6 @@ }, "superclass": "FlaglistValidator" }, - "bar.insidetextfont.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "bar.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.insidetextfont.family": { "params": { "plotly_name": "family", @@ -130194,14 +110780,6 @@ }, "superclass": "StringValidator" }, - "bar.insidetextfont.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "bar.insidetextfont", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.insidetextfont.color": { "params": { "plotly_name": "color", @@ -130224,14 +110802,6 @@ }, "superclass": "EnumeratedValidator" }, - "bar.idssrc": { - "params": { - "plotly_name": "idssrc", - "parent_name": "bar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.ids": { "params": { "plotly_name": "ids", @@ -130241,14 +110811,6 @@ }, "superclass": "DataArrayValidator" }, - "bar.hovertextsrc": { - "params": { - "plotly_name": "hovertextsrc", - "parent_name": "bar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.hovertext": { "params": { "plotly_name": "hovertext", @@ -130258,14 +110820,6 @@ }, "superclass": "StringValidator" }, - "bar.hovertemplatesrc": { - "params": { - "plotly_name": "hovertemplatesrc", - "parent_name": "bar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.hovertemplatefallback": { "params": { "plotly_name": "hovertemplatefallback", @@ -130300,14 +110854,6 @@ }, "superclass": "BooleanValidator" }, - "bar.hoverlabel.namelengthsrc": { - "params": { - "plotly_name": "namelengthsrc", - "parent_name": "bar.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.hoverlabel.namelength": { "params": { "plotly_name": "namelength", @@ -130327,14 +110873,6 @@ }, "superclass": "CompoundValidator" }, - "bar.hoverlabel.font.weightsrc": { - "params": { - "plotly_name": "weightsrc", - "parent_name": "bar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.hoverlabel.font.weight": { "params": { "plotly_name": "weight", @@ -130350,14 +110888,6 @@ }, "superclass": "IntegerValidator" }, - "bar.hoverlabel.font.variantsrc": { - "params": { - "plotly_name": "variantsrc", - "parent_name": "bar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.hoverlabel.font.variant": { "params": { "plotly_name": "variant", @@ -130375,14 +110905,6 @@ }, "superclass": "EnumeratedValidator" }, - "bar.hoverlabel.font.textcasesrc": { - "params": { - "plotly_name": "textcasesrc", - "parent_name": "bar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.hoverlabel.font.textcase": { "params": { "plotly_name": "textcase", @@ -130398,14 +110920,6 @@ }, "superclass": "EnumeratedValidator" }, - "bar.hoverlabel.font.stylesrc": { - "params": { - "plotly_name": "stylesrc", - "parent_name": "bar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.hoverlabel.font.style": { "params": { "plotly_name": "style", @@ -130419,14 +110933,6 @@ }, "superclass": "EnumeratedValidator" }, - "bar.hoverlabel.font.sizesrc": { - "params": { - "plotly_name": "sizesrc", - "parent_name": "bar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.hoverlabel.font.size": { "params": { "plotly_name": "size", @@ -130437,14 +110943,6 @@ }, "superclass": "NumberValidator" }, - "bar.hoverlabel.font.shadowsrc": { - "params": { - "plotly_name": "shadowsrc", - "parent_name": "bar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.hoverlabel.font.shadow": { "params": { "plotly_name": "shadow", @@ -130454,14 +110952,6 @@ }, "superclass": "StringValidator" }, - "bar.hoverlabel.font.linepositionsrc": { - "params": { - "plotly_name": "linepositionsrc", - "parent_name": "bar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.hoverlabel.font.lineposition": { "params": { "plotly_name": "lineposition", @@ -130479,14 +110969,6 @@ }, "superclass": "FlaglistValidator" }, - "bar.hoverlabel.font.familysrc": { - "params": { - "plotly_name": "familysrc", - "parent_name": "bar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.hoverlabel.font.family": { "params": { "plotly_name": "family", @@ -130498,14 +110980,6 @@ }, "superclass": "StringValidator" }, - "bar.hoverlabel.font.colorsrc": { - "params": { - "plotly_name": "colorsrc", - "parent_name": "bar.hoverlabel.font", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.hoverlabel.font.color": { "params": { "plotly_name": "color", @@ -130515,14 +110989,6 @@ }, "superclass": "ColorValidator" }, - "bar.hoverlabel.bordercolorsrc": { - "params": { - "plotly_name": "bordercolorsrc", - "parent_name": "bar.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.hoverlabel.bordercolor": { "params": { "plotly_name": "bordercolor", @@ -130532,14 +110998,6 @@ }, "superclass": "ColorValidator" }, - "bar.hoverlabel.bgcolorsrc": { - "params": { - "plotly_name": "bgcolorsrc", - "parent_name": "bar.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.hoverlabel.bgcolor": { "params": { "plotly_name": "bgcolor", @@ -130549,14 +111007,6 @@ }, "superclass": "ColorValidator" }, - "bar.hoverlabel.alignsrc": { - "params": { - "plotly_name": "alignsrc", - "parent_name": "bar.hoverlabel", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.hoverlabel.align": { "params": { "plotly_name": "align", @@ -130571,14 +111021,6 @@ }, "superclass": "EnumeratedValidator" }, - "bar.hoverinfosrc": { - "params": { - "plotly_name": "hoverinfosrc", - "parent_name": "bar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.hoverinfo": { "params": { "plotly_name": "hoverinfo", @@ -130701,22 +111143,6 @@ }, "superclass": "ColorValidator" }, - "bar.error_y.arraysrc": { - "params": { - "plotly_name": "arraysrc", - "parent_name": "bar.error_y", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "bar.error_y.arrayminussrc": { - "params": { - "plotly_name": "arrayminussrc", - "parent_name": "bar.error_y", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.error_y.arrayminus": { "params": { "plotly_name": "arrayminus", @@ -130842,22 +111268,6 @@ }, "superclass": "ColorValidator" }, - "bar.error_x.arraysrc": { - "params": { - "plotly_name": "arraysrc", - "parent_name": "bar.error_x", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, - "bar.error_x.arrayminussrc": { - "params": { - "plotly_name": "arrayminussrc", - "parent_name": "bar.error_x", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.error_x.arrayminus": { "params": { "plotly_name": "arrayminus", @@ -130892,14 +111302,6 @@ }, "superclass": "NumberValidator" }, - "bar.customdatasrc": { - "params": { - "plotly_name": "customdatasrc", - "parent_name": "bar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.customdata": { "params": { "plotly_name": "customdata", @@ -130930,14 +111332,6 @@ }, "superclass": "BooleanValidator" }, - "bar.basesrc": { - "params": { - "plotly_name": "basesrc", - "parent_name": "bar", - "edit_type": "none" - }, - "superclass": "SrcValidator" - }, "bar.base": { "params": { "plotly_name": "base", @@ -131016,12 +111410,10 @@ "carpet": "Carpet", "choropleth": "Choropleth", "choroplethmap": "Choroplethmap", - "choroplethmapbox": "Choroplethmapbox", "cone": "Cone", "contour": "Contour", "contourcarpet": "Contourcarpet", "densitymap": "Densitymap", - "densitymapbox": "Densitymapbox", "funnel": "Funnel", "funnelarea": "Funnelarea", "heatmap": "Heatmap", @@ -131037,6 +111429,7 @@ "parcats": "Parcats", "parcoords": "Parcoords", "pie": "Pie", + "quiver": "Quiver", "sankey": "Sankey", "scatter": "Scatter", "scatter3d": "Scatter3d", @@ -131044,7 +111437,6 @@ "scattergeo": "Scattergeo", "scattergl": "Scattergl", "scattermap": "Scattermap", - "scattermapbox": "Scattermapbox", "scatterpolar": "Scatterpolar", "scatterpolargl": "Scatterpolargl", "scattersmith": "Scattersmith", From 9419595319798ff35145c53c667c6e48aa2f9acc Mon Sep 17 00:00:00 2001 From: Emily KL <4672118+emilykl@users.noreply.github.com> Date: Wed, 22 Jul 2026 16:11:06 -0400 Subject: [PATCH 02/10] rebuild FigureWidget and Jupyter extension --- js/lib/mimeExtension.js | 2793 +++++++--------- plotly/labextension/package.json | 4 +- .../static/1.5b2e52e843a62faccb1d.js | 2 + ... => 1.5b2e52e843a62faccb1d.js.LICENSE.txt} | 0 .../static/1.747c8e0c8042a68fba0a.js | 2 - ...js => remoteEntry.c5efd356a40443797e61.js} | 2 +- plotly/package_data/widgetbundle.js | 2811 +++++++---------- 7 files changed, 2306 insertions(+), 3308 deletions(-) create mode 100644 plotly/labextension/static/1.5b2e52e843a62faccb1d.js rename plotly/labextension/static/{1.747c8e0c8042a68fba0a.js.LICENSE.txt => 1.5b2e52e843a62faccb1d.js.LICENSE.txt} (100%) delete mode 100644 plotly/labextension/static/1.747c8e0c8042a68fba0a.js rename plotly/labextension/static/{remoteEntry.2a6392a40c19ad8383a0.js => remoteEntry.c5efd356a40443797e61.js} (96%) diff --git a/js/lib/mimeExtension.js b/js/lib/mimeExtension.js index c9eef841cb6..3db25b997c8 100644 --- a/js/lib/mimeExtension.js +++ b/js/lib/mimeExtension.js @@ -1,89 +1,306 @@ -var E7=Object.create;var ES=Object.defineProperty;var k7=Object.getOwnPropertyDescriptor;var C7=Object.getOwnPropertyNames;var L7=Object.getPrototypeOf,I7=Object.prototype.hasOwnProperty;var Aw=(jt,Se)=>()=>(Se||jt((Se={exports:{}}).exports,Se),Se.exports);var P7=(jt,Se,Mt,Lt)=>{if(Se&&typeof Se=="object"||typeof Se=="function")for(let $t of C7(Se))!I7.call(jt,$t)&&$t!==Mt&&ES(jt,$t,{get:()=>Se[$t],enumerable:!(Lt=k7(Se,$t))||Lt.enumerable});return jt};var Qv=(jt,Se,Mt)=>(Mt=jt!=null?E7(L7(jt)):{},P7(Se||!jt||!jt.__esModule?ES(Mt,"default",{value:jt,enumerable:!0}):Mt,jt));var P0=Aw((r_,kS)=>{(function(jt,Se){typeof r_=="object"&&typeof kS<"u"?Se(r_):typeof define=="function"&&define.amd?define(["exports"],Se):(jt=typeof globalThis<"u"?globalThis:jt||self,Se(jt.lumino_algorithm={}))})(r_,function(jt){"use strict";jt.ArrayExt=void 0,function(Tn){function lo(_o,Uo,Rn=0,Cn=-1){let jn=_o.length;if(jn===0)return-1;Rn<0?Rn=Math.max(0,Rn+jn):Rn=Math.min(Rn,jn-1),Cn<0?Cn=Math.max(0,Cn+jn):Cn=Math.min(Cn,jn-1);let Yo;Cn0;){let Td=Sc>>1,Up=As+Td;Rn(_o[Up],Uo)<0?(As=Up+1,Sc-=Td+1):Sc=Td}return As}Tn.lowerBound=bu;function Tf(_o,Uo,Rn,Cn=0,jn=-1){let Yo=_o.length;if(Yo===0)return 0;Cn<0?Cn=Math.max(0,Cn+Yo):Cn=Math.min(Cn,Yo-1),jn<0?jn=Math.max(0,jn+Yo):jn=Math.min(jn,Yo-1);let As=Cn,Sc=jn-Cn+1;for(;Sc>0;){let Td=Sc>>1,Up=As+Td;Rn(_o[Up],Uo)>0?Sc=Td:(As=Up+1,Sc-=Td+1)}return As}Tn.upperBound=Tf;function Hc(_o,Uo,Rn){if(_o===Uo)return!0;if(_o.length!==Uo.length)return!1;for(let Cn=0,jn=_o.length;Cn=Yo&&(Rn=jn<0?Yo-1:Yo),Cn===void 0?Cn=jn<0?-1:Yo:Cn<0?Cn=Math.max(Cn+Yo,jn<0?-1:0):Cn>=Yo&&(Cn=jn<0?Yo-1:Yo);let As;jn<0&&Cn>=Rn||jn>0&&Rn>=Cn?As=0:jn<0?As=Math.floor((Cn-Rn+1)/jn+1):As=Math.floor((Cn-Rn-1)/jn+1);let Sc=[];for(let Td=0;Td=Cn))return;let Yo=Cn-Rn+1;if(Uo>0?Uo=Uo%Yo:Uo<0&&(Uo=(Uo%Yo+Yo)%Yo),Uo===0)return;let As=Rn+Uo;gf(_o,Rn,As-1),gf(_o,As,Cn),gf(_o,Rn,Cn)}Tn.rotate=wu;function Xo(_o,Uo,Rn=0,Cn=-1){let jn=_o.length;if(jn===0)return;Rn<0?Rn=Math.max(0,Rn+jn):Rn=Math.min(Rn,jn-1),Cn<0?Cn=Math.max(0,Cn+jn):Cn=Math.min(Cn,jn-1);let Yo;CnUo;--jn)_o[jn]=_o[jn-1];_o[Uo]=Rn}Tn.insert=qu;function cv(_o,Uo){let Rn=_o.length;if(Uo<0&&(Uo+=Rn),Uo<0||Uo>=Rn)return;let Cn=_o[Uo];for(let jn=Uo+1;jn=Rn&&As<=Cn&&_o[As]===Uo||Cn=Rn)&&_o[As]===Uo?Yo++:Yo>0&&(_o[As-Yo]=_o[As]);return Yo>0&&(_o.length=jn-Yo),Yo}Tn.removeAllOf=Yl;function up(_o,Uo,Rn=0,Cn=-1){let jn,Yo=zn(_o,Uo,Rn,Cn);return Yo!==-1&&(jn=cv(_o,Yo)),{index:Yo,value:jn}}Tn.removeFirstWhere=up;function Pf(_o,Uo,Rn=-1,Cn=0){let jn,Yo=zl(_o,Uo,Rn,Cn);return Yo!==-1&&(jn=cv(_o,Yo)),{index:Yo,value:jn}}Tn.removeLastWhere=Pf;function vo(_o,Uo,Rn=0,Cn=-1){let jn=_o.length;if(jn===0)return 0;Rn<0?Rn=Math.max(0,Rn+jn):Rn=Math.min(Rn,jn-1),Cn<0?Cn=Math.max(0,Cn+jn):Cn=Math.min(Cn,jn-1);let Yo=0;for(let As=0;As=Rn&&As<=Cn&&Uo(_o[As],As)||Cn=Rn)&&Uo(_o[As],As)?Yo++:Yo>0&&(_o[As-Yo]=_o[As]);return Yo>0&&(_o.length=jn-Yo),Yo}Tn.removeAllWhere=vo}(jt.ArrayExt||(jt.ArrayExt={}));function*Se(...Tn){for(let lo of Tn)yield*lo}function*Mt(){}function*Lt(Tn,lo=0){for(let vn of Tn)yield[lo++,vn]}function*$t(Tn,lo){let vn=0;for(let zn of Tn)lo(zn,vn++)&&(yield zn)}function gr(Tn,lo){let vn=0;for(let zn of Tn)if(lo(zn,vn++))return zn}function pi(Tn,lo){let vn=0;for(let zn of Tn)if(lo(zn,vn++))return vn-1;return-1}function ti(Tn,lo){let vn;for(let zn of Tn){if(vn===void 0){vn=zn;continue}lo(zn,vn)<0&&(vn=zn)}return vn}function ci(Tn,lo){let vn;for(let zn of Tn){if(vn===void 0){vn=zn;continue}lo(zn,vn)>0&&(vn=zn)}return vn}function Ii(Tn,lo){let vn=!0,zn,zl;for(let fu of Tn)vn?(zn=fu,zl=fu,vn=!1):lo(fu,zn)<0?zn=fu:lo(fu,zl)>0&&(zl=fu);return vn?void 0:[zn,zl]}function si(Tn){return Array.from(Tn)}function mi(Tn){let lo={};for(let[vn,zn]of Tn)lo[vn]=zn;return lo}function Ri(Tn,lo){let vn=0;for(let zn of Tn)if(lo(zn,vn++)===!1)return}function yi(Tn,lo){let vn=0;for(let zn of Tn)if(lo(zn,vn++)===!1)return!1;return!0}function bi(Tn,lo){let vn=0;for(let zn of Tn)if(lo(zn,vn++))return!0;return!1}function*wi(Tn,lo){let vn=0;for(let zn of Tn)yield lo(zn,vn++)}function*De(Tn,lo,vn){lo===void 0?(lo=Tn,Tn=0,vn=1):vn===void 0&&(vn=1);let zn=tn.rangeLength(Tn,lo,vn);for(let zl=0;zlzn&&zl>0||vn-1;lo--)yield Tn[lo]}function Mn(Tn){let lo=[],vn=new Set,zn=new Map;for(let vl of Tn)zl(vl);for(let[vl]of zn)fu(vl);return lo;function zl(vl){let[bu,Tf]=vl,Hc=zn.get(Tf);Hc?Hc.push(bu):zn.set(Tf,[bu])}function fu(vl){if(vn.has(vl))return;vn.add(vl);let bu=zn.get(vl);if(bu)for(let Tf of bu)fu(Tf);lo.push(vl)}}function*za(Tn,lo){let vn=0;for(let zn of Tn)vn++%lo===0&&(yield zn)}jt.StringExt=void 0,function(Tn){function lo(vl,bu,Tf=0){let Hc=new Array(bu.length);for(let Ac=0,af=Tf,gf=bu.length;Acbu?1:0}Tn.cmp=fu}(jt.StringExt||(jt.StringExt={}));function*Qn(Tn,lo){if(lo<1)return;let vn=Tn[Symbol.iterator](),zn;for(;0zn[Symbol.iterator]()),vn=lo.map(zn=>zn.next());for(;yi(vn,zn=>!zn.done);vn=lo.map(zn=>zn.next()))yield vn.map(zn=>zn.value)}jt.chain=Se,jt.each=Ri,jt.empty=Mt,jt.enumerate=Lt,jt.every=yi,jt.filter=$t,jt.find=gr,jt.findIndex=pi,jt.map=wi,jt.max=ci,jt.min=ti,jt.minmax=Ii,jt.once=Ua,jt.range=De,jt.reduce=Ya,jt.repeat=sa,jt.retro=en,jt.some=bi,jt.stride=za,jt.take=Qn,jt.toArray=si,jt.toObject=mi,jt.topologicSort=Mn,jt.zip=Do})});var a_=Aw((i_,CS)=>{(function(jt,Se){typeof i_=="object"&&typeof CS<"u"?Se(i_,P0()):typeof define=="function"&&define.amd?define(["exports","@lumino/algorithm"],Se):(jt=typeof globalThis<"u"?globalThis:jt||self,Se(jt.lumino_coreutils={},jt.lumino_algorithm))})(i_,function(jt,Se){"use strict";jt.JSONExt=void 0,function(Ii){Ii.emptyObject=Object.freeze({}),Ii.emptyArray=Object.freeze([]);function si(sa){return sa===null||typeof sa=="boolean"||typeof sa=="number"||typeof sa=="string"}Ii.isPrimitive=si;function mi(sa){return Array.isArray(sa)}Ii.isArray=mi;function Ri(sa){return!si(sa)&&!mi(sa)}Ii.isObject=Ri;function yi(sa,Ua){if(sa===Ua)return!0;if(si(sa)||si(Ua))return!1;let en=mi(sa),Mn=mi(Ua);return en!==Mn?!1:en&&Mn?wi(sa,Ua):De(sa,Ua)}Ii.deepEqual=yi;function bi(sa){return si(sa)?sa:mi(sa)?tn(sa):Ya(sa)}Ii.deepCopy=bi;function wi(sa,Ua){if(sa===Ua)return!0;if(sa.length!==Ua.length)return!1;for(let en=0,Mn=sa.length;en!0,this._plugins=new Map,this._services=new Map,si.validatePlugin&&(console.info("Plugins may be rejected by the custom validation plugin method."),this._validatePlugin=si.validatePlugin)}get application(){return this._application}set application(si){if(this._application!==null)throw Error("PluginRegistry.application is already set. It cannot be overridden.");this._application=si}get deferredPlugins(){return Array.from(this._plugins).filter(([si,mi])=>mi.autoStart==="defer").map(([si,mi])=>si)}getPluginDescription(si){var mi,Ri;return(Ri=(mi=this._plugins.get(si))===null||mi===void 0?void 0:mi.description)!==null&&Ri!==void 0?Ri:""}hasPlugin(si){return this._plugins.has(si)}isPluginActivated(si){var mi,Ri;return(Ri=(mi=this._plugins.get(si))===null||mi===void 0?void 0:mi.activated)!==null&&Ri!==void 0?Ri:!1}listPlugins(){return Array.from(this._plugins.keys())}registerPlugin(si){if(this._plugins.has(si.id))throw new TypeError(`Plugin '${si.id}' is already registered.`);if(!this._validatePlugin(si))throw new Error(`Plugin '${si.id}' is not valid.`);let mi=$t.createPluginData(si);$t.ensureNoCycle(mi,this._plugins,this._services),mi.provides&&this._services.set(mi.provides,mi.id),this._plugins.set(mi.id,mi)}registerPlugins(si){for(let mi of si)this.registerPlugin(mi)}deregisterPlugin(si,mi){let Ri=this._plugins.get(si);if(Ri){if(Ri.activated&&!mi)throw new Error(`Plugin '${si}' is still active.`);this._plugins.delete(si)}}async activatePlugin(si){let mi=this._plugins.get(si);if(!mi)throw new ReferenceError(`Plugin '${si}' is not registered.`);if(mi.activated)return;if(mi.promise)return mi.promise;let Ri=mi.requires.map(bi=>this.resolveRequiredService(bi)),yi=mi.optional.map(bi=>this.resolveOptionalService(bi));return mi.promise=Promise.all([...Ri,...yi]).then(bi=>mi.activate.apply(void 0,[this.application,...bi])).then(bi=>{mi.service=bi,mi.activated=!0,mi.promise=null}).catch(bi=>{throw mi.promise=null,bi}),mi.promise}async activatePlugins(si,mi={}){switch(si){case"defer":{let Ri=this.deferredPlugins.filter(yi=>this._plugins.get(yi).autoStart).map(yi=>this.activatePlugin(yi));await Promise.all(Ri);break}case"startUp":{let yi=$t.collectStartupPlugins(this._plugins,mi).map(async bi=>{try{return await this.activatePlugin(bi)}catch(wi){console.error(`Plugin '${bi}' failed to activate.`,wi)}});await Promise.all(yi);break}}}async deactivatePlugin(si){let mi=this._plugins.get(si);if(!mi)throw new ReferenceError(`Plugin '${si}' is not registered.`);if(!mi.activated)return[];if(!mi.deactivate)throw new TypeError(`Plugin '${si}'#deactivate() method missing`);let Ri=$t.findDependents(si,this._plugins,this._services),yi=Ri.map(bi=>this._plugins.get(bi));for(let bi of yi)if(!bi.deactivate)throw new TypeError(`Plugin ${bi.id}#deactivate() method missing (depends on ${si})`);for(let bi of yi){let wi=[...bi.requires,...bi.optional].map(De=>{let tn=this._services.get(De);return tn?this._plugins.get(tn).service:null});await bi.deactivate(this.application,...wi),bi.service=null,bi.activated=!1}return Ri.pop(),Ri}async resolveRequiredService(si){let mi=this._services.get(si);if(!mi)throw new TypeError(`No provider for: ${si.name}.`);let Ri=this._plugins.get(mi);return Ri.activated||await this.activatePlugin(mi),Ri.service}async resolveOptionalService(si){let mi=this._services.get(si);if(!mi)return null;let Ri=this._plugins.get(mi);if(!Ri.activated)try{await this.activatePlugin(mi)}catch(yi){return console.error(yi),null}return Ri.service}}var $t;(function(Ii){class si{constructor(De){var tn,Ya,sa,Ua;this._activated=!1,this._promise=null,this._service=null,this.id=De.id,this.description=(tn=De.description)!==null&&tn!==void 0?tn:"",this.activate=De.activate,this.deactivate=(Ya=De.deactivate)!==null&&Ya!==void 0?Ya:null,this.provides=(sa=De.provides)!==null&&sa!==void 0?sa:null,this.autoStart=(Ua=De.autoStart)!==null&&Ua!==void 0?Ua:!1,this.requires=De.requires?De.requires.slice():[],this.optional=De.optional?De.optional.slice():[]}get activated(){return this._activated}set activated(De){this._activated=De}get service(){return this._service}set service(De){this._service=De}get promise(){return this._promise}set promise(De){this._promise=De}}function mi(wi){return new si(wi)}Ii.createPluginData=mi;function Ri(wi,De,tn){let Ya=[...wi.requires,...wi.optional],sa=en=>{if(en===wi.provides)return!0;let Mn=tn.get(en);if(!Mn)return!1;let za=De.get(Mn),Qn=[...za.requires,...za.optional];return Qn.length===0?!1:(Ua.push(Mn),Qn.some(sa)?!0:(Ua.pop(),!1))};if(!wi.provides||Ya.length===0)return;let Ua=[wi.id];if(Ya.some(sa))throw new ReferenceError(`Cycle detected: ${Ua.join(" -> ")}.`)}Ii.ensureNoCycle=Ri;function yi(wi,De,tn){let Ya=new Array,sa=Qn=>{let Do=De.get(Qn),Tn=[...Do.requires,...Do.optional];Ya.push(...Tn.reduce((lo,vn)=>{let zn=tn.get(vn);return zn&&lo.push([Qn,zn]),lo},[]))};for(let Qn of De.keys())sa(Qn);let Ua=Ya.filter(Qn=>Qn[1]===wi),en=0;for(;Ua.length>en;){let Qn=Ua.length,Do=new Set(Ua.map(Tn=>Tn[0]));for(let Tn of Do)Ya.filter(lo=>lo[1]===Tn).forEach(lo=>{Ua.includes(lo)||Ua.push(lo)});en=Qn}let Mn=Se.topologicSort(Ua),za=Mn.findIndex(Qn=>Qn===wi);return za===-1?[wi]:Mn.slice(0,za+1)}Ii.findDependents=yi;function bi(wi,De){let tn=new Set;for(let Ya of wi.keys())wi.get(Ya).autoStart===!0&&tn.add(Ya);if(De.startPlugins)for(let Ya of De.startPlugins)tn.add(Ya);if(De.ignorePlugins)for(let Ya of De.ignorePlugins)tn.delete(Ya);return Array.from(tn)}Ii.collectStartupPlugins=bi})($t||($t={}));class gr{constructor(){this.promise=new Promise((si,mi)=>{this._resolve=si,this._reject=mi})}resolve(si){let mi=this._resolve;mi(si)}reject(si){let mi=this._reject;mi(si)}}class pi{constructor(si,mi){this.name=si,this.description=mi??"",this._tokenStructuralPropertyT=null}}function ti(Ii){let si=0;for(let mi=0,Ri=Ii.length;mi>>0),Ii[mi]=si&255,si>>>=8}jt.Random=void 0,function(Ii){Ii.getRandomValues=(()=>{let si=typeof window<"u"&&(window.crypto||window.msCrypto)||null;return si&&typeof si.getRandomValues=="function"?function(Ri){return si.getRandomValues(Ri)}:ti})()}(jt.Random||(jt.Random={}));function ci(Ii){let si=new Uint8Array(16),mi=new Array(256);for(let Ri=0;Ri<16;++Ri)mi[Ri]="0"+Ri.toString(16);for(let Ri=16;Ri<256;++Ri)mi[Ri]=Ri.toString(16);return function(){return Ii(si),si[6]=64|si[6]&15,si[8]=128|si[8]&63,mi[si[0]]+mi[si[1]]+mi[si[2]]+mi[si[3]]+"-"+mi[si[4]]+mi[si[5]]+"-"+mi[si[6]]+mi[si[7]]+"-"+mi[si[8]]+mi[si[9]]+"-"+mi[si[10]]+mi[si[11]]+mi[si[12]]+mi[si[13]]+mi[si[14]]+mi[si[15]]}}jt.UUID=void 0,function(Ii){Ii.uuid4=ci(jt.Random.getRandomValues)}(jt.UUID||(jt.UUID={})),jt.MimeData=Mt,jt.PluginRegistry=Lt,jt.PromiseDelegate=gr,jt.Token=pi})});var OS=Aw((BS,p_)=>{(function(jt,Se){typeof p_=="object"&&p_.exports?p_.exports=Se():jt.moduleName=Se()})(typeof self<"u"?self:BS,()=>{"use strict";var jt=(()=>{var Se=Object.create,Mt=Object.defineProperty,Lt=Object.defineProperties,$t=Object.getOwnPropertyDescriptor,gr=Object.getOwnPropertyDescriptors,pi=Object.getOwnPropertyNames,ti=Object.getOwnPropertySymbols,ci=Object.getPrototypeOf,Ii=Object.prototype.hasOwnProperty,si=Object.prototype.propertyIsEnumerable,mi=(Y,H,p)=>H in Y?Mt(Y,H,{enumerable:!0,configurable:!0,writable:!0,value:p}):Y[H]=p,Ri=(Y,H)=>{for(var p in H||(H={}))Ii.call(H,p)&&mi(Y,p,H[p]);if(ti)for(var p of ti(H))si.call(H,p)&&mi(Y,p,H[p]);return Y},yi=(Y,H)=>Lt(Y,gr(H)),bi=(Y,H)=>{var p={};for(var x in Y)Ii.call(Y,x)&&H.indexOf(x)<0&&(p[x]=Y[x]);if(Y!=null&&ti)for(var x of ti(Y))H.indexOf(x)<0&&si.call(Y,x)&&(p[x]=Y[x]);return p},wi=(Y,H)=>function(){return Y&&(H=(0,Y[pi(Y)[0]])(Y=0)),H},De=(Y,H)=>function(){return H||(0,Y[pi(Y)[0]])((H={exports:{}}).exports,H),H.exports},tn=(Y,H)=>{for(var p in H)Mt(Y,p,{get:H[p],enumerable:!0})},Ya=(Y,H,p,x)=>{if(H&&typeof H=="object"||typeof H=="function")for(let S of pi(H))!Ii.call(Y,S)&&S!==p&&Mt(Y,S,{get:()=>H[S],enumerable:!(x=$t(H,S))||x.enumerable});return Y},sa=(Y,H,p)=>(p=Y!=null?Se(ci(Y)):{},Ya(H||!Y||!Y.__esModule?Mt(p,"default",{value:Y,enumerable:!0}):p,Y)),Ua=Y=>Ya(Mt({},"__esModule",{value:!0}),Y),en=De({"src/version.js"(Y){"use strict";Y.version="3.4.0"}}),Mn=De({"node_modules/native-promise-only/lib/npo.src.js"(Y,H){(function(x,S,E){S[x]=S[x]||E(),typeof H<"u"&&H.exports&&(H.exports=S[x])})("Promise",typeof window<"u"?window:Y,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,v){A=new M(b,v),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 i(){for(var l=0;l0&&r(i,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(i,_))}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 d(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(v,u){if(typeof v!="function"||typeof u!="function")throw TypeError("Not a function");g.resolve=v,g.reject=u}),_.chain.push(g),_.state!==0&&r(i,_),g.promise},this.catch=function(A){return this.then(void 0,A)};try{l.call(void 0,function(A){a.call(_,A)},function(A){s.call(_,A)})}catch(w){s.call(_,w)}}var T=x({},"constructor",d,!1);return d.prototype=T,x(T,"__NPO__",0,!1),x(d,"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(d,"reject",function(_){return new this(function(A,M){if(typeof A!="function"||typeof M!="function")throw TypeError("Not a function");M(_)})}),x(d,"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,v=Array(b),u=0;h(w,_,function(f,R){v[f]=R,++u===b&&M(v)},g)})}),x(d,"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(v,u){M(u)},g)})}),d})}}),za=De({"node_modules/@plotly/d3/d3.js"(Y,H){(function(){var p={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 Je=Fe.length,vt=new Array(Je);Je--;)vt[Je]=Fe[Je];return vt}}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,i=r.setAttributeNS,n=this.CSSStyleDeclaration.prototype,a=n.setProperty;r.setAttribute=function(Fe,Je){o.call(this,Fe,Je+"")},r.setAttributeNS=function(Fe,Je,vt){i.call(this,Fe,Je,vt+"")},n.setProperty=function(Fe,Je,vt){a.call(this,Fe,Je+"",vt)}}p.ascending=s;function s(de,Fe){return deFe?1:de>=Fe?0:NaN}p.descending=function(de,Fe){return Fede?1:Fe>=de?0:NaN},p.min=function(de,Fe){var Je=-1,vt=de.length,_t,At;if(arguments.length===1){for(;++Je=At){_t=At;break}for(;++JeAt&&(_t=At)}else{for(;++Je=At){_t=At;break}for(;++JeAt&&(_t=At)}return _t},p.max=function(de,Fe){var Je=-1,vt=de.length,_t,At;if(arguments.length===1){for(;++Je=At){_t=At;break}for(;++Je_t&&(_t=At)}else{for(;++Je=At){_t=At;break}for(;++Je_t&&(_t=At)}return _t},p.extent=function(de,Fe){var Je=-1,vt=de.length,_t,At,ar;if(arguments.length===1){for(;++Je=At){_t=ar=At;break}for(;++JeAt&&(_t=At),ar=At){_t=ar=At;break}for(;++JeAt&&(_t=At),ar1)return ar/(xr-1)},p.deviation=function(){var de=p.variance.apply(this,arguments);return de&&Math.sqrt(de)};function m(de){return{left:function(Fe,Je,vt,_t){for(arguments.length<3&&(vt=0),arguments.length<4&&(_t=Fe.length);vt<_t;){var At=vt+_t>>>1;de(Fe[At],Je)<0?vt=At+1:_t=At}return vt},right:function(Fe,Je,vt,_t){for(arguments.length<3&&(vt=0),arguments.length<4&&(_t=Fe.length);vt<_t;){var At=vt+_t>>>1;de(Fe[At],Je)>0?_t=At:vt=At+1}return vt}}}var d=m(s);p.bisectLeft=d.left,p.bisect=p.bisectRight=d.right,p.bisector=function(de){return m(de.length===1?function(Fe,Je){return s(de(Fe),Je)}:de)},p.shuffle=function(de,Fe,Je){(vt=arguments.length)<3&&(Je=de.length,vt<2&&(Fe=0));for(var vt=Je-Fe,_t,At;vt;)At=Math.random()*vt--|0,_t=de[vt+Fe],de[vt+Fe]=de[At+Fe],de[At+Fe]=_t;return de},p.permute=function(de,Fe){for(var Je=Fe.length,vt=new Array(Je);Je--;)vt[Je]=de[Fe[Je]];return vt},p.pairs=function(de){for(var Fe=0,Je=de.length-1,vt,_t=de[0],At=new Array(Je<0?0:Je);Fe=0;)for(ar=de[Fe],Je=ar.length;--Je>=0;)At[--_t]=ar[Je];return At};var l=Math.abs;p.range=function(de,Fe,Je){if(arguments.length<3&&(Je=1,arguments.length<2&&(Fe=de,de=0)),(Fe-de)/Je===1/0)throw new Error("infinite range");var vt=[],_t=_(l(Je)),At=-1,ar;if(de*=_t,Fe*=_t,Je*=_t,Je<0)for(;(ar=de+Je*++At)>Fe;)vt.push(ar/_t);else for(;(ar=de+Je*++At)=Fe.length)return _t?_t.call(de,xr):vt?xr.sort(vt):xr;for(var Yr=-1,Ei=xr.length,xi=Fe[Gr++],na,ua,Di,Hi=new A,ta;++Yr=Fe.length)return Ft;var Gr=[],Yr=Je[xr++];return Ft.forEach(function(Ei,xi){Gr.push({key:Ei,values:ar(xi,xr)})}),Yr?Gr.sort(function(Ei,xi){return Yr(Ei.key,xi.key)}):Gr}return de.map=function(Ft,xr){return At(xr,Ft,0)},de.entries=function(Ft){return ar(At(p.map,Ft,0),0)},de.key=function(Ft){return Fe.push(Ft),de},de.sortKeys=function(Ft){return Je[Fe.length-1]=Ft,de},de.sortValues=function(Ft){return vt=Ft,de},de.rollup=function(Ft){return _t=Ft,de},de},p.set=function(de){var Fe=new z;if(de)for(var Je=0,vt=de.length;Je=0&&(vt=de.slice(Je+1),de=de.slice(0,Je)),de)return arguments.length<2?this[de].on(vt):this[de].on(vt,Fe);if(arguments.length===2){if(Fe==null)for(de in this)this.hasOwnProperty(de)&&this[de].on(vt,null);return this}};function X(de){var Fe=[],Je=new A;function vt(){for(var _t=Fe,At=-1,ar=_t.length,Ft;++At=0&&(Je=de.slice(0,Fe))!=="xmlns"&&(de=de.slice(Fe+1)),ue.hasOwnProperty(Je)?{space:ue[Je],local:de}:de}},ie.attr=function(de,Fe){if(arguments.length<2){if(typeof de=="string"){var Je=this.node();return de=p.ns.qualify(de),de.local?Je.getAttributeNS(de.space,de.local):Je.getAttribute(de)}for(Fe in de)this.each(_e(Fe,de[Fe]));return this}return this.each(_e(de,Fe))};function _e(de,Fe){de=p.ns.qualify(de);function Je(){this.removeAttribute(de)}function vt(){this.removeAttributeNS(de.space,de.local)}function _t(){this.setAttribute(de,Fe)}function At(){this.setAttributeNS(de.space,de.local,Fe)}function ar(){var xr=Fe.apply(this,arguments);xr==null?this.removeAttribute(de):this.setAttribute(de,xr)}function Ft(){var xr=Fe.apply(this,arguments);xr==null?this.removeAttributeNS(de.space,de.local):this.setAttributeNS(de.space,de.local,xr)}return Fe==null?de.local?vt:Je:typeof Fe=="function"?de.local?Ft:ar:de.local?At:_t}function we(de){return de.trim().replace(/\s+/g," ")}ie.classed=function(de,Fe){if(arguments.length<2){if(typeof de=="string"){var Je=this.node(),vt=(de=ze(de)).length,_t=-1;if(Fe=Je.classList){for(;++_t=0;)(At=Je[vt])&&(_t&&_t!==At.nextSibling&&_t.parentNode.insertBefore(At,_t),_t=At);return this},ie.sort=function(de){de=Be.apply(this,arguments);for(var Fe=-1,Je=this.length;++Fe=Fe&&(Fe=_t+1);!(xr=ar[Fe])&&++Fe0&&(de=de.slice(0,_t));var ar=Vt.get(de);ar&&(de=ar,At=Cr);function Ft(){var Yr=this[vt];Yr&&(this.removeEventListener(de,Yr,Yr.$),delete this[vt])}function xr(){var Yr=At(Fe,S(arguments));Ft.call(this),this.addEventListener(de,this[vt]=Yr,Yr.$=Je),Yr._=Fe}function Gr(){var Yr=new RegExp("^__on([^.]+)"+p.requote(de)+"$"),Ei;for(var xi in this)if(Ei=xi.match(Yr)){var na=this[xi];this.removeEventListener(Ei[1],na,na.$),delete this[xi]}}return _t?Fe?xr:Ft:Fe?U:Gr}var Vt=p.map({mouseenter:"mouseover",mouseleave:"mouseout"});E&&Vt.forEach(function(de){"on"+de in E&&Vt.remove(de)});function Wt(de,Fe){return function(Je){var vt=p.event;p.event=Je,Fe[0]=this.__data__;try{de.apply(this,Fe)}finally{p.event=vt}}}function Cr(de,Fe){var Je=Wt(de,Fe);return function(vt){var _t=this,At=vt.relatedTarget;(!At||At!==_t&&!(At.compareDocumentPosition(_t)&8))&&Je.call(_t,vt)}}var yr,qr=0;function Mr(de){var Fe=".dragsuppress-"+ ++qr,Je="click"+Fe,vt=p.select(t(de)).on("touchmove"+Fe,J).on("dragstart"+Fe,J).on("selectstart"+Fe,J);if(yr==null&&(yr="onselectstart"in de?!1:B(de.style,"userSelect")),yr){var _t=e(de).style,At=_t[yr];_t[yr]="none"}return function(ar){if(vt.on(Fe,null),yr&&(_t[yr]=At),ar){var Ft=function(){vt.on(Je,null)};vt.on(Je,function(){J(),Ft()},!0),setTimeout(Ft,0)}}}p.mouse=function(de){return xt(de,se())};var Dr=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function xt(de,Fe){Fe.changedTouches&&(Fe=Fe.changedTouches[0]);var Je=de.ownerSVGElement||de;if(Je.createSVGPoint){var vt=Je.createSVGPoint();if(Dr<0){var _t=t(de);if(_t.scrollX||_t.scrollY){Je=p.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var At=Je[0][0].getScreenCTM();Dr=!(At.f||At.e),Je.remove()}}return Dr?(vt.x=Fe.pageX,vt.y=Fe.pageY):(vt.x=Fe.clientX,vt.y=Fe.clientY),vt=vt.matrixTransform(de.getScreenCTM().inverse()),[vt.x,vt.y]}var ar=de.getBoundingClientRect();return[Fe.clientX-ar.left-de.clientLeft,Fe.clientY-ar.top-de.clientTop]}p.touch=function(de,Fe,Je){if(arguments.length<3&&(Je=Fe,Fe=se().changedTouches),Fe){for(var vt=0,_t=Fe.length,At;vt<_t;++vt)if((At=Fe[vt]).identifier===Je)return xt(de,At)}},p.behavior.drag=function(){var de=le(_t,"drag","dragstart","dragend"),Fe=null,Je=At(U,p.mouse,t,"mousemove","mouseup"),vt=At(Ne,p.touch,F,"touchmove","touchend");function _t(){this.on("mousedown.drag",Je).on("touchstart.drag",vt)}function At(ar,Ft,xr,Gr,Yr){return function(){var Ei=this,xi=p.event.target.correspondingElement||p.event.target,na=Ei.parentNode,ua=de.of(Ei,arguments),Di=0,Hi=ar(),ta=".drag"+(Hi==null?"":"-"+Hi),ya,da=p.select(xr(xi)).on(Gr+ta,mn).on(Yr+ta,In),Oi=Mr(xi),xn=Ft(na,Hi);Fe?(ya=Fe.apply(Ei,arguments),ya=[ya.x-xn[0],ya.y-xn[1]]):ya=[0,0],ua({type:"dragstart"});function mn(){var Yn=Ft(na,Hi),mo,bo;Yn&&(mo=Yn[0]-xn[0],bo=Yn[1]-xn[1],Di|=mo|bo,xn=Yn,ua({type:"drag",x:Yn[0]+ya[0],y:Yn[1]+ya[1],dx:mo,dy:bo}))}function In(){Ft(na,Hi)&&(da.on(Gr+ta,null).on(Yr+ta,null),Oi(Di),ua({type:"dragend"}))}}}return _t.origin=function(ar){return arguments.length?(Fe=ar,_t):Fe},p.rebind(_t,de,"on")};function Ne(){return p.event.changedTouches[0].identifier}p.touches=function(de,Fe){return arguments.length<2&&(Fe=se().touches),Fe?S(Fe).map(function(Je){var vt=xt(de,Je);return vt.identifier=Je.identifier,vt}):[]};var Ye=1e-6,be=Ye*Ye,Ie=Math.PI,qe=2*Ie,ke=qe-Ye,Me=Ie/2,Le=Ie/180,ut=180/Ie;function lt(de){return de>0?1:de<0?-1:0}function gt(de,Fe,Je){return(Fe[0]-de[0])*(Je[1]-de[1])-(Fe[1]-de[1])*(Je[0]-de[0])}function kt(de){return de>1?0:de<-1?Ie:Math.acos(de)}function nr(de){return de>1?Me:de<-1?-Me:Math.asin(de)}function ir(de){return((de=Math.exp(de))-1/de)/2}function tr(de){return((de=Math.exp(de))+1/de)/2}function Ir(de){return((de=Math.exp(2*de))-1)/(de+1)}function vi(de){return(de=Math.sin(de/2))*de}var Vi=Math.SQRT2,Ui=2,Ki=4;p.interpolateZoom=function(de,Fe){var Je=de[0],vt=de[1],_t=de[2],At=Fe[0],ar=Fe[1],Ft=Fe[2],xr=At-Je,Gr=ar-vt,Yr=xr*xr+Gr*Gr,Ei,xi;if(Yr0&&(Dn=Dn.transition().duration(ar)),Dn.call(da.event)}function mo(){Hi&&Hi.domain(Di.range().map(function(Dn){return(Dn-de.x)/de.k}).map(Di.invert)),ya&&ya.domain(ta.range().map(function(Dn){return(Dn-de.y)/de.k}).map(ta.invert))}function bo(Dn){Ft++||Dn({type:"zoomstart"})}function vs(Dn){mo(),Dn({type:"zoom",scale:de.k,translate:[de.x,de.y]})}function To(Dn){--Ft||(Dn({type:"zoomend"}),Je=null)}function cs(){var Dn=this,zo=ua.of(Dn,arguments),ks=0,Rs=p.select(t(Dn)).on(Gr,Ru).on(Yr,Hl),Bl=Oi(p.mouse(Dn)),tu=Mr(Dn);to.call(Dn),bo(zo);function Ru(){ks=1,In(p.mouse(Dn),Bl),vs(zo)}function Hl(){Rs.on(Gr,null).on(Yr,null),tu(ks),To(zo)}}function Al(){var Dn=this,zo=ua.of(Dn,arguments),ks={},Rs=0,Bl,tu=".zoom-"+p.event.changedTouches[0].identifier,Ru="touchmove"+tu,Hl="touchend"+tu,Tc=[],rt=p.select(Dn),Yt=Mr(Dn);li(),bo(zo),rt.on(xr,null).on(xi,li);function hr(){var Mi=p.touches(Dn);return Bl=de.k,Mi.forEach(function(ia){ia.identifier in ks&&(ks[ia.identifier]=Oi(ia))}),Mi}function li(){var Mi=p.event.target;p.select(Mi).on(Ru,Ci).on(Hl,Ti),Tc.push(Mi);for(var ia=p.event.changedTouches,ka=0,Sa=ia.length;ka1){var Ha=va[0],Da=va[1],Xi=Ha[0]-Da[0],ei=Ha[1]-Da[1];Rs=Xi*Xi+ei*ei}}function Ci(){var Mi=p.touches(Dn),ia,ka,Sa,va;to.call(Dn);for(var Fn=0,Ha=Mi.length;Fn1?1:Fe,Je=Je<0?0:Je>1?1:Je,_t=Je<=.5?Je*(1+Fe):Je+Fe-Je*Fe,vt=2*Je-_t;function At(Ft){return Ft>360?Ft-=360:Ft<0&&(Ft+=360),Ft<60?vt+(_t-vt)*Ft/60:Ft<180?_t:Ft<240?vt+(_t-vt)*(240-Ft)/60:vt}function ar(Ft){return Math.round(At(Ft)*255)}return new bt(ar(de+120),ar(de),ar(de-120))}p.hcl=Jt;function Jt(de,Fe,Je){return this instanceof Jt?(this.h=+de,this.c=+Fe,void(this.l=+Je)):arguments.length<2?de instanceof Jt?new Jt(de.h,de.c,de.l):de instanceof ii?ji(de.l,de.a,de.b):ji((de=Wr((de=p.rgb(de)).r,de.g,de.b)).l,de.a,de.b):new Jt(de,Fe,Je)}var Br=Jt.prototype=new Ca;Br.brighter=function(de){return new Jt(this.h,this.c,Math.min(100,this.l+di*(arguments.length?de:1)))},Br.darker=function(de){return new Jt(this.h,this.c,Math.max(0,this.l-di*(arguments.length?de:1)))},Br.rgb=function(){return ri(this.h,this.c,this.l).rgb()};function ri(de,Fe,Je){return isNaN(de)&&(de=0),isNaN(Fe)&&(Fe=0),new ii(Je,Math.cos(de*=Le)*Fe,Math.sin(de)*Fe)}p.lab=ii;function ii(de,Fe,Je){return this instanceof ii?(this.l=+de,this.a=+Fe,void(this.b=+Je)):arguments.length<2?de instanceof ii?new ii(de.l,de.a,de.b):de instanceof Jt?ri(de.h,de.c,de.l):Wr((de=bt(de)).r,de.g,de.b):new ii(de,Fe,Je)}var di=18,Wi=.95047,oa=1,ra=1.08883,ca=ii.prototype=new Ca;ca.brighter=function(de){return new ii(Math.min(100,this.l+di*(arguments.length?de:1)),this.a,this.b)},ca.darker=function(de){return new ii(Math.max(0,this.l-di*(arguments.length?de:1)),this.a,this.b)},ca.rgb=function(){return xa(this.l,this.a,this.b)};function xa(de,Fe,Je){var vt=(de+16)/116,_t=vt+Fe/500,At=vt-Je/200;return _t=pn(_t)*Wi,vt=pn(vt)*oa,At=pn(At)*ra,new bt(En(3.2404542*_t-1.5371385*vt-.4985314*At),En(-.969266*_t+1.8760108*vt+.041556*At),En(.0556434*_t-.2040259*vt+1.0572252*At))}function ji(de,Fe,Je){return de>0?new Jt(Math.atan2(Je,Fe)*ut,Math.sqrt(Fe*Fe+Je*Je),de):new Jt(NaN,NaN,de)}function pn(de){return de>.206893034?de*de*de:(de-4/29)/7.787037}function _n(de){return de>.008856?Math.pow(de,1/3):7.787037*de+4/29}function En(de){return Math.round(255*(de<=.00304?12.92*de:1.055*Math.pow(de,1/2.4)-.055))}p.rgb=bt;function bt(de,Fe,Je){return this instanceof bt?(this.r=~~de,this.g=~~Fe,void(this.b=~~Je)):arguments.length<2?de instanceof bt?new bt(de.r,de.g,de.b):Rr(""+de,bt,Zt):new bt(de,Fe,Je)}function st(de){return new bt(de>>16,de>>8&255,de&255)}function Nr(de){return st(de)+""}var Lr=bt.prototype=new Ca;Lr.brighter=function(de){de=Math.pow(.7,arguments.length?de:1);var Fe=this.r,Je=this.g,vt=this.b,_t=30;return!Fe&&!Je&&!vt?new bt(_t,_t,_t):(Fe&&Fe<_t&&(Fe=_t),Je&&Je<_t&&(Je=_t),vt&&vt<_t&&(vt=_t),new bt(Math.min(255,Fe/de),Math.min(255,Je/de),Math.min(255,vt/de)))},Lr.darker=function(de){return de=Math.pow(.7,arguments.length?de:1),new bt(de*this.r,de*this.g,de*this.b)},Lr.hsl=function(){return jr(this.r,this.g,this.b)},Lr.toString=function(){return"#"+br(this.r)+br(this.g)+br(this.b)};function br(de){return de<16?"0"+Math.max(0,de).toString(16):Math.min(255,de).toString(16)}function Rr(de,Fe,Je){var vt=0,_t=0,At=0,ar,Ft,xr;if(ar=/([a-z]+)\((.*)\)/.exec(de=de.toLowerCase()),ar)switch(Ft=ar[2].split(","),ar[1]){case"hsl":return Je(parseFloat(Ft[0]),parseFloat(Ft[1])/100,parseFloat(Ft[2])/100);case"rgb":return Fe(Xt(Ft[0]),Xt(Ft[1]),Xt(Ft[2]))}return(xr=mr.get(de))?Fe(xr.r,xr.g,xr.b):(de!=null&&de.charAt(0)==="#"&&!isNaN(xr=parseInt(de.slice(1),16))&&(de.length===4?(vt=(xr&3840)>>4,vt=vt>>4|vt,_t=xr&240,_t=_t>>4|_t,At=xr&15,At=At<<4|At):de.length===7&&(vt=(xr&16711680)>>16,_t=(xr&65280)>>8,At=xr&255)),Fe(vt,_t,At))}function jr(de,Fe,Je){var vt=Math.min(de/=255,Fe/=255,Je/=255),_t=Math.max(de,Fe,Je),At=_t-vt,ar,Ft,xr=(_t+vt)/2;return At?(Ft=xr<.5?At/(_t+vt):At/(2-_t-vt),de==_t?ar=(Fe-Je)/At+(Fe0&&xr<1?0:ar),new Kt(ar,Ft,xr)}function Wr(de,Fe,Je){de=yt(de),Fe=yt(Fe),Je=yt(Je);var vt=_n((.4124564*de+.3575761*Fe+.1804375*Je)/Wi),_t=_n((.2126729*de+.7151522*Fe+.072175*Je)/oa),At=_n((.0193339*de+.119192*Fe+.9503041*Je)/ra);return ii(116*_t-16,500*(vt-_t),200*(_t-At))}function yt(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 mr=p.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});mr.forEach(function(de,Fe){mr.set(de,st(Fe))});function Or(de){return typeof de=="function"?de:function(){return de}}p.functor=Or,p.xhr=ki(F);function ki(de){return function(Fe,Je,vt){return arguments.length===2&&typeof Je=="function"&&(vt=Je,Je=null),Ni(Fe,Je,de,vt)}}function Ni(de,Fe,Je,vt){var _t={},At=p.dispatch("beforesend","progress","load","error"),ar={},Ft=new XMLHttpRequest,xr=null;self.XDomainRequest&&!("withCredentials"in Ft)&&/^(http(s)?:)?\/\//.test(de)&&(Ft=new XDomainRequest),"onload"in Ft?Ft.onload=Ft.onerror=Gr:Ft.onreadystatechange=function(){Ft.readyState>3&&Gr()};function Gr(){var Yr=Ft.status,Ei;if(!Yr&&fi(Ft)||Yr>=200&&Yr<300||Yr===304){try{Ei=Je.call(_t,Ft)}catch(xi){At.error.call(_t,xi);return}At.load.call(_t,Ei)}else At.error.call(_t,Ft)}return Ft.onprogress=function(Yr){var Ei=p.event;p.event=Yr;try{At.progress.call(_t,Ft)}finally{p.event=Ei}},_t.header=function(Yr,Ei){return Yr=(Yr+"").toLowerCase(),arguments.length<2?ar[Yr]:(Ei==null?delete ar[Yr]:ar[Yr]=Ei+"",_t)},_t.mimeType=function(Yr){return arguments.length?(Fe=Yr==null?null:Yr+"",_t):Fe},_t.responseType=function(Yr){return arguments.length?(xr=Yr,_t):xr},_t.response=function(Yr){return Je=Yr,_t},["get","post"].forEach(function(Yr){_t[Yr]=function(){return _t.send.apply(_t,[Yr].concat(S(arguments)))}}),_t.send=function(Yr,Ei,xi){if(arguments.length===2&&typeof Ei=="function"&&(xi=Ei,Ei=null),Ft.open(Yr,de,!0),Fe!=null&&!("accept"in ar)&&(ar.accept=Fe+",*/*"),Ft.setRequestHeader)for(var na in ar)Ft.setRequestHeader(na,ar[na]);return Fe!=null&&Ft.overrideMimeType&&Ft.overrideMimeType(Fe),xr!=null&&(Ft.responseType=xr),xi!=null&&_t.on("error",xi).on("load",function(ua){xi(null,ua)}),At.beforesend.call(_t,Ft),Ft.send(Ei??null),_t},_t.abort=function(){return Ft.abort(),_t},p.rebind(_t,At,"on"),vt==null?_t:_t.get(Si(vt))}function Si(de){return de.length===1?function(Fe,Je){de(Fe==null?Je:null)}:de}function fi(de){var Fe=de.responseType;return Fe&&Fe!=="text"?de.response:de.responseText}p.dsv=function(de,Fe){var Je=new RegExp('["'+de+` -]`),vt=de.charCodeAt(0);function _t(Gr,Yr,Ei){arguments.length<3&&(Ei=Yr,Yr=null);var xi=Ni(Gr,Fe,Yr==null?At:ar(Yr),Ei);return xi.row=function(na){return arguments.length?xi.response((Yr=na)==null?At:ar(na)):Yr},xi}function At(Gr){return _t.parse(Gr.responseText)}function ar(Gr){return function(Yr){return _t.parse(Yr.responseText,Gr)}}_t.parse=function(Gr,Yr){var Ei;return _t.parseRows(Gr,function(xi,na){if(Ei)return Ei(xi,na-1);var ua=function(Di){for(var Hi={},ta=xi.length,ya=0;ya=ua)return xi;if(ya)return ya=!1,Ei;var xn=Di;if(Gr.charCodeAt(xn)===34){for(var mn=xn;mn++24?(isFinite(Fe)&&(clearTimeout(un),un=setTimeout(Gn,Fe)),Fa=0):(Fa=1,Bn(Gn))}p.timer.flush=function(){eo(),Ao()};function eo(){for(var de=Date.now(),Fe=Li;Fe;)de>=Fe.t&&Fe.c(de-Fe.t)&&(Fe.c=null),Fe=Fe.n;return de}function Ao(){for(var de,Fe=Li,Je=1/0;Fe;)Fe.c?(Fe.t=0;--Ft)Di.push(_t[Gr[Ei[Ft]][2]]);for(Ft=+na;Ft1&>(de[Je[vt-2]],de[Je[vt-1]],de[_t])<=0;)--vt;Je[vt++]=_t}return Je.slice(0,vt)}function Ls(de,Fe){return de[0]-Fe[0]||de[1]-Fe[1]}p.geom.polygon=function(de){return q(de,ns),de};var ns=p.geom.polygon.prototype=[];ns.area=function(){for(var de=-1,Fe=this.length,Je,vt=this[Fe-1],_t=0;++deYe)Ft=Ft.L;else if(ar=Fe-so(Ft,Je),ar>Ye){if(!Ft.R){vt=Ft;break}Ft=Ft.R}else{At>-Ye?(vt=Ft.P,_t=Ft):ar>-Ye?(vt=Ft,_t=Ft.N):vt=_t=Ft;break}var xr=hs(de);if(Co.insert(vt,xr),!(!vt&&!_t)){if(vt===_t){Ko(vt),_t=hs(vt.site),Co.insert(xr,_t),xr.edge=_t.edge=al(vt.site,xr.site),On(vt),On(_t);return}if(!_t){xr.edge=al(vt.site,xr.site);return}Ko(vt),Ko(_t);var Gr=vt.site,Yr=Gr.x,Ei=Gr.y,xi=de.x-Yr,na=de.y-Ei,ua=_t.site,Di=ua.x-Yr,Hi=ua.y-Ei,ta=2*(xi*Hi-na*Di),ya=xi*xi+na*na,da=Di*Di+Hi*Hi,Oi={x:(Hi*ya-na*da)/ta+Yr,y:(xi*da-Di*ya)/ta+Ei};Ns(_t.edge,Gr,ua,Oi),xr.edge=al(Gr,de,null,Oi),_t.edge=al(de,ua,null,Oi),On(vt),On(_t)}}function zs(de,Fe){var Je=de.site,vt=Je.x,_t=Je.y,At=_t-Fe;if(!At)return vt;var ar=de.P;if(!ar)return-1/0;Je=ar.site;var Ft=Je.x,xr=Je.y,Gr=xr-Fe;if(!Gr)return Ft;var Yr=Ft-vt,Ei=1/At-1/Gr,xi=Yr/Gr;return Ei?(-xi+Math.sqrt(xi*xi-2*Ei*(Yr*Yr/(-2*Gr)-xr+Gr/2+_t-At/2)))/Ei+vt:(vt+Ft)/2}function so(de,Fe){var Je=de.N;if(Je)return zs(Je,Fe);var vt=de.site;return vt.y===Fe?vt.x:1/0}function $s(de){this.site=de,this.edges=[]}$s.prototype.prepare=function(){for(var de=this.edges,Fe=de.length,Je;Fe--;)Je=de[Fe].edge,(!Je.b||!Je.a)&&de.splice(Fe,1);return de.sort(nl),de.length};function Ps(de){for(var Fe=de[0][0],Je=de[1][0],vt=de[0][1],_t=de[1][1],At,ar,Ft,xr,Gr=Ss,Yr=Gr.length,Ei,xi,na,ua,Di,Hi;Yr--;)if(Ei=Gr[Yr],!(!Ei||!Ei.prepare()))for(na=Ei.edges,ua=na.length,xi=0;xiYe||l(xr-ar)>Ye)&&(na.splice(xi,0,new rl(kl(Ei.site,Hi,l(Ft-Fe)Ye?{x:Fe,y:l(At-Fe)Ye?{x:l(ar-_t)Ye?{x:Je,y:l(At-Je)Ye?{x:l(ar-vt)=-be)){var xi=xr*xr+Gr*Gr,na=Yr*Yr+Hi*Hi,ua=(Hi*xi-Gr*na)/Ei,Di=(xr*na-Yr*xi)/Ei,Hi=Di+Ft,ta=Gs.pop()||new yl;ta.arc=de,ta.site=_t,ta.x=ua+ar,ta.y=Hi+Math.sqrt(ua*ua+Di*Di),ta.cy=Hi,de.circle=ta;for(var ya=null,da=Ms._;da;)if(ta.y0)){if(Di/=na,na<0){if(Di0){if(Di>xi)return;Di>Ei&&(Ei=Di)}if(Di=Je-Ft,!(!na&&Di<0)){if(Di/=na,na<0){if(Di>xi)return;Di>Ei&&(Ei=Di)}else if(na>0){if(Di0)){if(Di/=ua,ua<0){if(Di0){if(Di>xi)return;Di>Ei&&(Ei=Di)}if(Di=vt-xr,!(!ua&&Di<0)){if(Di/=ua,ua<0){if(Di>xi)return;Di>Ei&&(Ei=Di)}else if(ua>0){if(Di0&&(_t.a={x:Ft+Ei*na,y:xr+Ei*ua}),xi<1&&(_t.b={x:Ft+xi*na,y:xr+xi*ua}),_t}}}}}}function Ys(de){for(var Fe=el,Je=jo(de[0][0],de[0][1],de[1][0],de[1][1]),vt=Fe.length,_t;vt--;)_t=Fe[vt],(!Tu(_t,de)||!Je(_t)||l(_t.a.x-_t.b.x)=At)return;if(Yr>xi){if(!vt)vt={x:ua,y:ar};else if(vt.y>=Ft)return;Je={x:ua,y:Ft}}else{if(!vt)vt={x:ua,y:Ft};else if(vt.y1)if(Yr>xi){if(!vt)vt={x:(ar-ta)/Hi,y:ar};else if(vt.y>=Ft)return;Je={x:(Ft-ta)/Hi,y:Ft}}else{if(!vt)vt={x:(Ft-ta)/Hi,y:Ft};else if(vt.y=At)return;Je={x:At,y:Hi*At+ta}}else{if(!vt)vt={x:At,y:Hi*At+ta};else if(vt.x<_t)return;Je={x:_t,y:Hi*_t+ta}}return de.a=vt,de.b=Je,!0}function Lo(de,Fe){this.l=de,this.r=Fe,this.a=this.b=null}function al(de,Fe,Je,vt){var _t=new Lo(de,Fe);return el.push(_t),Je&&Ns(_t,de,Fe,Je),vt&&Ns(_t,Fe,de,vt),Ss[de.i].edges.push(new rl(_t,de,Fe)),Ss[Fe.i].edges.push(new rl(_t,Fe,de)),_t}function kl(de,Fe,Je){var vt=new Lo(de,null);return vt.a=Fe,vt.b=Je,el.push(vt),vt}function Ns(de,Fe,Je,vt){!de.a&&!de.b?(de.a=vt,de.l=Fe,de.r=Je):de.l===Je?de.b=vt:de.a=vt}function rl(de,Fe,Je){var vt=de.a,_t=de.b;this.edge=de,this.site=Fe,this.angle=Je?Math.atan2(Je.y-Fe.y,Je.x-Fe.x):de.l===Fe?Math.atan2(_t.x-vt.x,vt.y-_t.y):Math.atan2(vt.x-_t.x,_t.y-vt.y)}rl.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}};function Es(){this._=null}function Us(de){de.U=de.C=de.L=de.R=de.P=de.N=null}Es.prototype={insert:function(de,Fe){var Je,vt,_t;if(de){if(Fe.P=de,Fe.N=de.N,de.N&&(de.N.P=Fe),de.N=Fe,de.R){for(de=de.R;de.L;)de=de.L;de.L=Fe}else de.R=Fe;Je=de}else this._?(de=kc(this._),Fe.P=null,Fe.N=de,de.P=de.L=Fe,Je=de):(Fe.P=Fe.N=null,this._=Fe,Je=null);for(Fe.L=Fe.R=null,Fe.U=Je,Fe.C=!0,de=Fe;Je&&Je.C;)vt=Je.U,Je===vt.L?(_t=vt.R,_t&&_t.C?(Je.C=_t.C=!1,vt.C=!0,de=vt):(de===Je.R&&(Zl(this,Je),de=Je,Je=de.U),Je.C=!1,vt.C=!0,pu(this,vt))):(_t=vt.L,_t&&_t.C?(Je.C=_t.C=!1,vt.C=!0,de=vt):(de===Je.L&&(pu(this,Je),de=Je,Je=de.U),Je.C=!1,vt.C=!0,Zl(this,vt))),Je=de.U;this._.C=!1},remove:function(de){de.N&&(de.N.P=de.P),de.P&&(de.P.N=de.N),de.N=de.P=null;var Fe=de.U,Je,vt=de.L,_t=de.R,At,ar;if(vt?_t?At=kc(_t):At=vt:At=_t,Fe?Fe.L===de?Fe.L=At:Fe.R=At:this._=At,vt&&_t?(ar=At.C,At.C=de.C,At.L=vt,vt.U=At,At!==_t?(Fe=At.U,At.U=de.U,de=At.R,Fe.L=de,At.R=_t,_t.U=At):(At.U=Fe,Fe=At,de=At.R)):(ar=de.C,de=At),de&&(de.U=Fe),!ar){if(de&&de.C){de.C=!1;return}do{if(de===this._)break;if(de===Fe.L){if(Je=Fe.R,Je.C&&(Je.C=!1,Fe.C=!0,Zl(this,Fe),Je=Fe.R),Je.L&&Je.L.C||Je.R&&Je.R.C){(!Je.R||!Je.R.C)&&(Je.L.C=!1,Je.C=!0,pu(this,Je),Je=Fe.R),Je.C=Fe.C,Fe.C=Je.R.C=!1,Zl(this,Fe),de=this._;break}}else if(Je=Fe.L,Je.C&&(Je.C=!1,Fe.C=!0,pu(this,Fe),Je=Fe.L),Je.L&&Je.L.C||Je.R&&Je.R.C){(!Je.L||!Je.L.C)&&(Je.R.C=!1,Je.C=!0,Zl(this,Je),Je=Fe.L),Je.C=Fe.C,Fe.C=Je.L.C=!1,pu(this,Fe),de=this._;break}Je.C=!0,de=Fe,Fe=Fe.U}while(!de.C);de&&(de.C=!1)}}};function Zl(de,Fe){var Je=Fe,vt=Fe.R,_t=Je.U;_t?_t.L===Je?_t.L=vt:_t.R=vt:de._=vt,vt.U=_t,Je.U=vt,Je.R=vt.L,Je.R&&(Je.R.U=Je),vt.L=Je}function pu(de,Fe){var Je=Fe,vt=Fe.L,_t=Je.U;_t?_t.L===Je?_t.L=vt:_t.R=vt:de._=vt,vt.U=_t,Je.U=vt,Je.L=vt.R,Je.L&&(Je.L.U=Je),vt.R=Je}function kc(de){for(;de.L;)de=de.L;return de}function Au(de,Fe){var Je=de.sort(Sf).pop(),vt,_t,At;for(el=[],Ss=new Array(de.length),Co=new Es,Ms=new Es;;)if(At=co,Je&&(!At||Je.y=Yr&&ta.x<=xi&&ta.y>=Ei&&ta.y<=na?[[Yr,na],[xi,na],[xi,Ei],[Yr,Ei]]:[];ya.point=xr[Di]}),Gr}function Ft(xr){return xr.map(function(Gr,Yr){return{x:Math.round(vt(Gr,Yr)/Ye)*Ye,y:Math.round(_t(Gr,Yr)/Ye)*Ye,i:Yr}})}return ar.links=function(xr){return Au(Ft(xr)).edges.filter(function(Gr){return Gr.l&&Gr.r}).map(function(Gr){return{source:xr[Gr.l.i],target:xr[Gr.r.i]}})},ar.triangles=function(xr){var Gr=[];return Au(Ft(xr)).cells.forEach(function(Yr,Ei){for(var xi=Yr.site,na=Yr.edges.sort(nl),ua=-1,Di=na.length,Hi,ta,ya=na[Di-1].edge,da=ya.l===xi?ya.r:ya.l;++uada&&(da=Yr.x),Yr.y>Oi&&(Oi=Yr.y),na.push(Yr.x),ua.push(Yr.y);else for(Di=0;Dida&&(da=xn),mn>Oi&&(Oi=mn),na.push(xn),ua.push(mn)}var In=da-ta,Yn=Oi-ya;In>Yn?Oi=ya+In:da=ta+Yn;function mo(To,cs,Al,ml,Pl,Dn,zo,ks){if(!(isNaN(Al)||isNaN(ml)))if(To.leaf){var Rs=To.x,Bl=To.y;if(Rs!=null)if(l(Rs-Al)+l(Bl-ml)<.01)bo(To,cs,Al,ml,Pl,Dn,zo,ks);else{var tu=To.point;To.x=To.y=To.point=null,bo(To,tu,Rs,Bl,Pl,Dn,zo,ks),bo(To,cs,Al,ml,Pl,Dn,zo,ks)}else To.x=Al,To.y=ml,To.point=cs}else bo(To,cs,Al,ml,Pl,Dn,zo,ks)}function bo(To,cs,Al,ml,Pl,Dn,zo,ks){var Rs=(Pl+zo)*.5,Bl=(Dn+ks)*.5,tu=Al>=Rs,Ru=ml>=Bl,Hl=Ru<<1|tu;To.leaf=!1,To=To.nodes[Hl]||(To.nodes[Hl]=mu()),tu?Pl=Rs:zo=Rs,Ru?Dn=Bl:ks=Bl,mo(To,cs,Al,ml,Pl,Dn,zo,ks)}var vs=mu();if(vs.add=function(To){mo(vs,To,+Ei(To,++Di),+xi(To,Di),ta,ya,da,Oi)},vs.visit=function(To){Vl(To,vs,ta,ya,da,Oi)},vs.find=function(To){return lc(vs,To[0],To[1],ta,ya,da,Oi)},Di=-1,Fe==null){for(;++DiAt||xi>ar||na=xn,Yn=Je>=mn,mo=Yn<<1|In,bo=mo+4;moJe&&(At=Fe.slice(Je,At),Ft[ar]?Ft[ar]+=At:Ft[++ar]=At),(vt=vt[0])===(_t=_t[0])?Ft[ar]?Ft[ar]+=_t:Ft[++ar]=_t:(Ft[++ar]=null,xr.push({i:ar,x:Cl(vt,_t)})),Je=uc.lastIndex;return Je=0&&!(vt=p.interpolators[Je](de,Fe)););return vt}p.interpolators=[function(de,Fe){var Je=typeof Fe;return(Je==="string"?mr.has(Fe.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(Fe)?Gu:Fs:Fe instanceof Ca?Gu:Array.isArray(Fe)?Zu:Je==="object"&&isNaN(Fe)?_l:Cl)(de,Fe)}],p.interpolateArray=Zu;function Zu(de,Fe){var Je=[],vt=[],_t=de.length,At=Fe.length,ar=Math.min(de.length,Fe.length),Ft;for(Ft=0;Ft=0?de.slice(0,Fe):de,vt=Fe>=0?de.slice(Fe+1):"in";return Je=vh.get(Je)||Sl,vt=ws.get(vt)||F,ph(vt(Je.apply(null,x.call(arguments,1))))};function ph(de){return function(Fe){return Fe<=0?0:Fe>=1?1:de(Fe)}}function qs(de){return function(Fe){return 1-de(1-Fe)}}function xo(de){return function(Fe){return .5*(Fe<.5?de(2*Fe):2-de(2-2*Fe))}}function Kc(de){return de*de}function Ku(de){return de*de*de}function $l(de){if(de<=0)return 0;if(de>=1)return 1;var Fe=de*de,Je=Fe*de;return 4*(de<.5?Je:3*(de-Fe)+Je-.75)}function Mf(de){return function(Fe){return Math.pow(Fe,de)}}function Cc(de){return 1-Math.cos(de*Me)}function uf(de){return Math.pow(2,10*(de-1))}function su(de){return 1-Math.sqrt(1-de*de)}function Wf(de,Fe){var Je;return arguments.length<2&&(Fe=.45),arguments.length?Je=Fe/qe*Math.asin(1/de):(de=1,Je=Fe/4),function(vt){return 1+de*Math.pow(2,-10*vt)*Math.sin((vt-Je)*qe/Fe)}}function Rf(de){return de||(de=1.70158),function(Fe){return Fe*Fe*((de+1)*Fe-de)}}function cf(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}p.interpolateHcl=Wc;function Wc(de,Fe){de=p.hcl(de),Fe=p.hcl(Fe);var Je=de.h,vt=de.c,_t=de.l,At=Fe.h-Je,ar=Fe.c-vt,Ft=Fe.l-_t;return isNaN(ar)&&(ar=0,vt=isNaN(vt)?Fe.c:vt),isNaN(At)?(At=0,Je=isNaN(Je)?Fe.h:Je):At>180?At-=360:At<-180&&(At+=360),function(xr){return ri(Je+At*xr,vt+ar*xr,_t+Ft*xr)+""}}p.interpolateHsl=Df;function Df(de,Fe){de=p.hsl(de),Fe=p.hsl(Fe);var Je=de.h,vt=de.s,_t=de.l,At=Fe.h-Je,ar=Fe.s-vt,Ft=Fe.l-_t;return isNaN(ar)&&(ar=0,vt=isNaN(vt)?Fe.s:vt),isNaN(At)?(At=0,Je=isNaN(Je)?Fe.h:Je):At>180?At-=360:At<-180&&(At+=360),function(xr){return Zt(Je+At*xr,vt+ar*xr,_t+Ft*xr)+""}}p.interpolateLab=zf;function zf(de,Fe){de=p.lab(de),Fe=p.lab(Fe);var Je=de.l,vt=de.a,_t=de.b,At=Fe.l-Je,ar=Fe.a-vt,Ft=Fe.b-_t;return function(xr){return xa(Je+At*xr,vt+ar*xr,_t+Ft*xr)+""}}p.interpolateRound=$u;function $u(de,Fe){return Fe-=de,function(Je){return Math.round(de+Fe*Je)}}p.transform=function(de){var Fe=E.createElementNS(p.ns.prefix.svg,"g");return(p.transform=function(Je){if(Je!=null){Fe.setAttribute("transform",Je);var vt=Fe.transform.baseVal.consolidate()}return new Ef(vt?vt.matrix:Xc)})(de)};function Ef(de){var Fe=[de.a,de.b],Je=[de.c,de.d],vt=$c(Fe),_t=cc(Fe,Je),At=$c(lu(Je,Fe,-_t))||0;Fe[0]*Je[1]180?Fe+=360:Fe-de>180&&(de+=360),vt.push({i:Je.push(Lc(Je)+"rotate(",null,")")-2,x:Cl(de,Fe)})):Fe&&Je.push(Lc(Je)+"rotate("+Fe+")")}function ah(de,Fe,Je,vt){de!==Fe?vt.push({i:Je.push(Lc(Je)+"skewX(",null,")")-2,x:Cl(de,Fe)}):Fe&&Je.push(Lc(Je)+"skewX("+Fe+")")}function Ff(de,Fe,Je,vt){if(de[0]!==Fe[0]||de[1]!==Fe[1]){var _t=Je.push(Lc(Je)+"scale(",null,",",null,")");vt.push({i:_t-4,x:Cl(de[0],Fe[0])},{i:_t-2,x:Cl(de[1],Fe[1])})}else(Fe[0]!==1||Fe[1]!==1)&&Je.push(Lc(Je)+"scale("+Fe+")")}function Jc(de,Fe){var Je=[],vt=[];return de=p.transform(de),Fe=p.transform(Fe),sl(de.translate,Fe.translate,Je,vt),kf(de.rotate,Fe.rotate,Je,vt),ah(de.skew,Fe.skew,Je,vt),Ff(de.scale,Fe.scale,Je,vt),de=Fe=null,function(_t){for(var At=-1,ar=vt.length,Ft;++At0?At=Oi:(Je.c=null,Je.t=NaN,Je=null,Fe.end({type:"end",alpha:At=0})):Oi>0&&(Fe.start({type:"start",alpha:At=Oi}),Je=Kn(de.tick)),de):At},de.start=function(){var Oi,xn=na.length,mn=ua.length,In=vt[0],Yn=vt[1],mo,bo;for(Oi=0;Oi=0;)At.push(Yr=Gr[xr]),Yr.parent=Ft,Yr.depth=Ft.depth+1;Je&&(Ft.value=0),Ft.children=Gr}else Je&&(Ft.value=+Je.call(vt,Ft,Ft.depth)||0),delete Ft.children;return xc(_t,function(Ei){var xi,na;de&&(xi=Ei.children)&&xi.sort(de),Je&&(na=Ei.parent)&&(na.value+=Ei.value)}),ar}return vt.sort=function(_t){return arguments.length?(de=_t,vt):de},vt.children=function(_t){return arguments.length?(Fe=_t,vt):Fe},vt.value=function(_t){return arguments.length?(Je=_t,vt):Je},vt.revalue=function(_t){return Je&&(Pc(_t,function(At){At.children&&(At.value=0)}),xc(_t,function(At){var ar;At.children||(At.value=+Je.call(vt,At,At.depth)||0),(ar=At.parent)&&(ar.value+=At.value)})),_t},vt};function Wu(de,Fe){return p.rebind(de,Fe,"sort","children","value"),de.nodes=de,de.links=Xu,de}function Pc(de,Fe){for(var Je=[de];(de=Je.pop())!=null;)if(Fe(de),(_t=de.children)&&(vt=_t.length))for(var vt,_t;--vt>=0;)Je.push(_t[vt])}function xc(de,Fe){for(var Je=[de],vt=[];(de=Je.pop())!=null;)if(vt.push(de),(ar=de.children)&&(At=ar.length))for(var _t=-1,At,ar;++_t_t&&(_t=Ft),vt.push(Ft)}for(ar=0;arvt&&(Je=Fe,vt=_t);return Je}function Ml(de){return de.reduce(df,0)}function df(de,Fe){return de+Fe[1]}p.layout.histogram=function(){var de=!0,Fe=Number,Je=xf,vt=Rc;function _t(At,xi){for(var Ft=[],xr=At.map(Fe,this),Gr=Je.call(this,xr,xi),Yr=vt.call(this,Gr,xr,xi),Ei,xi=-1,na=xr.length,ua=Yr.length-1,Di=de?1:1/na,Hi;++xi0)for(xi=-1;++xi=Gr[0]&&Hi<=Gr[1]&&(Ei=Ft[p.bisect(Yr,Hi,1,ua)-1],Ei.y+=Di,Ei.push(At[xi]));return Ft}return _t.value=function(At){return arguments.length?(Fe=At,_t):Fe},_t.range=function(At){return arguments.length?(Je=Or(At),_t):Je},_t.bins=function(At){return arguments.length?(vt=typeof At=="number"?function(ar){return Ju(ar,At)}:Or(At),_t):vt},_t.frequency=function(At){return arguments.length?(de=!!At,_t):de},_t};function Rc(de,Fe){return Ju(de,Math.ceil(Math.log(Fe.length)/Math.LN2+1))}function Ju(de,Fe){for(var Je=-1,vt=+de[0],_t=(de[1]-vt)/Fe,At=[];++Je<=Fe;)At[Je]=_t*Je+vt;return At}function xf(de){return[p.min(de),p.max(de)]}p.layout.pack=function(){var de=p.layout.hierarchy().sort(Qu),Fe=0,Je=[1,1],vt;function _t(At,ar){var Ft=de.call(this,At,ar),xr=Ft[0],Gr=Je[0],Yr=Je[1],Ei=vt==null?Math.sqrt:typeof vt=="function"?vt:function(){return vt};if(xr.x=xr.y=0,xc(xr,function(na){na.r=+Ei(na.value)}),xc(xr,Nf),Fe){var xi=Fe*(vt?1:Math.max(2*xr.r/Gr,2*xr.r/Yr))/2;xc(xr,function(na){na.r+=xi}),xc(xr,Nf),xc(xr,function(na){na.r-=xi})}return bc(xr,Gr/2,Yr/2,vt?1:1/Math.max(2*xr.r/Gr,2*xr.r/Yr)),Ft}return _t.size=function(At){return arguments.length?(Je=At,_t):Je},_t.radius=function(At){return arguments.length?(vt=At==null||typeof At=="function"?At:+At,_t):vt},_t.padding=function(At){return arguments.length?(Fe=+At,_t):Fe},Wu(_t,de)};function Qu(de,Fe){return de.value-Fe.value}function ef(de,Fe){var Je=de._pack_next;de._pack_next=Fe,Fe._pack_prev=de,Fe._pack_next=Je,Je._pack_prev=Fe}function Lf(de,Fe){de._pack_next=Fe,Fe._pack_prev=de}function du(de,Fe){var Je=Fe.x-de.x,vt=Fe.y-de.y,_t=de.r+Fe.r;return .999*_t*_t>Je*Je+vt*vt}function Nf(de){if(!(Fe=de.children)||!(xi=Fe.length))return;var Fe,Je=1/0,vt=-1/0,_t=1/0,At=-1/0,ar,Ft,xr,Gr,Yr,Ei,xi;function na(Oi){Je=Math.min(Oi.x-Oi.r,Je),vt=Math.max(Oi.x+Oi.r,vt),_t=Math.min(Oi.y-Oi.r,_t),At=Math.max(Oi.y+Oi.r,At)}if(Fe.forEach(ec),ar=Fe[0],ar.x=-ar.r,ar.y=0,na(ar),xi>1&&(Ft=Fe[1],Ft.x=Ft.r,Ft.y=0,na(Ft),xi>2))for(xr=Fe[2],Jl(ar,Ft,xr),na(xr),ef(ar,xr),ar._pack_prev=xr,ef(xr,Ft),Ft=ar._pack_next,Gr=3;GrHi.x&&(Hi=xn),xn.depth>ta.depth&&(ta=xn)});var ya=Fe(Di,Hi)/2-Di.x,da=Je[0]/(Hi.x+Fe(Hi,Di)/2+ya),Oi=Je[1]/(ta.depth||1);Pc(na,function(xn){xn.x=(xn.x+ya)*da,xn.y=xn.depth*Oi})}return xi}function At(Yr){for(var Ei={A:null,children:[Yr]},xi=[Ei],na;(na=xi.pop())!=null;)for(var ua=na.children,Di,Hi=0,ta=ua.length;Hi0&&(fc(er(Di,Yr,xi),Yr,xn),ta+=xn,ya+=xn),da+=Di.m,ta+=na.m,Oi+=Hi.m,ya+=ua.m;Di&&!tf(ua)&&(ua.t=Di,ua.m+=da-ya),na&&!zc(Hi)&&(Hi.t=na,Hi.m+=ta-Oi,xi=Yr)}return xi}function Gr(Yr){Yr.x*=Je[0],Yr.y=Yr.depth*Je[1]}return _t.separation=function(Yr){return arguments.length?(Fe=Yr,_t):Fe},_t.size=function(Yr){return arguments.length?(vt=(Je=Yr)==null?Gr:null,_t):vt?null:Je},_t.nodeSize=function(Yr){return arguments.length?(vt=(Je=Yr)==null?null:Gr,_t):vt?Je:null},Wu(_t,de)};function Cu(de,Fe){return de.parent==Fe.parent?1:2}function zc(de){var Fe=de.children;return Fe.length?Fe[0]:de.t}function tf(de){var Fe=de.children,Je;return(Je=Fe.length)?Fe[Je-1]:de.t}function fc(de,Fe,Je){var vt=Je/(Fe.i-de.i);Fe.c-=vt,Fe.s+=Je,de.c+=vt,Fe.z+=Je,Fe.m+=Je}function Fc(de){for(var Fe=0,Je=0,vt=de.children,_t=vt.length,At;--_t>=0;)At=vt[_t],At.z+=Fe,At.m+=Fe,Fe+=At.s+(Je+=At.c)}function er(de,Fe,Je){return de.a.parent===Fe.parent?de.a:Je}p.layout.cluster=function(){var de=p.layout.hierarchy().sort(null).value(null),Fe=Cu,Je=[1,1],vt=!1;function _t(At,ar){var Ft=de.call(this,At,ar),xr=Ft[0],Gr,Yr=0;xc(xr,function(Di){var Hi=Di.children;Hi&&Hi.length?(Di.x=ai(Hi),Di.y=wr(Hi)):(Di.x=Gr?Yr+=Fe(Di,Gr):0,Di.y=0,Gr=Di)});var Ei=Jr(xr),xi=Fi(xr),na=Ei.x-Fe(Ei,xi)/2,ua=xi.x+Fe(xi,Ei)/2;return xc(xr,vt?function(Di){Di.x=(Di.x-xr.x)*Je[0],Di.y=(xr.y-Di.y)*Je[1]}:function(Di){Di.x=(Di.x-na)/(ua-na)*Je[0],Di.y=(1-(xr.y?Di.y/xr.y:1))*Je[1]}),Ft}return _t.separation=function(At){return arguments.length?(Fe=At,_t):Fe},_t.size=function(At){return arguments.length?(vt=(Je=At)==null,_t):vt?null:Je},_t.nodeSize=function(At){return arguments.length?(vt=(Je=At)!=null,_t):vt?Je:null},Wu(_t,de)};function wr(de){return 1+p.max(de,function(Fe){return Fe.y})}function ai(de){return de.reduce(function(Fe,Je){return Fe+Je.x},0)/de.length}function Jr(de){var Fe=de.children;return Fe&&Fe.length?Jr(Fe[0]):de}function Fi(de){var Fe=de.children,Je;return Fe&&(Je=Fe.length)?Fi(Fe[Je-1]):de}p.layout.treemap=function(){var de=p.layout.hierarchy(),Fe=Math.round,Je=[1,1],vt=null,_t=pa,At=!1,ar,Ft="squarify",xr=.5*(1+Math.sqrt(5));function Gr(Di,Hi){for(var ta=-1,ya=Di.length,da,Oi;++ta0;)ya.push(Oi=da[Yn-1]),ya.area+=Oi.area,Ft!=="squarify"||(mn=xi(ya,In))<=xn?(da.pop(),xn=mn):(ya.area-=ya.pop().area,na(ya,In,ta,!1),In=Math.min(ta.dx,ta.dy),ya.length=ya.area=0,xn=1/0);ya.length&&(na(ya,In,ta,!0),ya.length=ya.area=0),Hi.forEach(Yr)}}function Ei(Di){var Hi=Di.children;if(Hi&&Hi.length){var ta=_t(Di),ya=Hi.slice(),da,Oi=[];for(Gr(ya,ta.dx*ta.dy/Di.value),Oi.area=0;da=ya.pop();)Oi.push(da),Oi.area+=da.area,da.z!=null&&(na(Oi,da.z?ta.dx:ta.dy,ta,!ya.length),Oi.length=Oi.area=0);Hi.forEach(Ei)}}function xi(Di,Hi){for(var ta=Di.area,ya,da=0,Oi=1/0,xn=-1,mn=Di.length;++xnda&&(da=ya));return ta*=ta,Hi*=Hi,ta?Math.max(Hi*da*xr/ta,ta/(Hi*Oi*xr)):1/0}function na(Di,Hi,ta,ya){var da=-1,Oi=Di.length,xn=ta.x,mn=ta.y,In=Hi?Fe(Di.area/Hi):0,Yn;if(Hi==ta.dx){for((ya||In>ta.dy)&&(In=ta.dy);++data.dx)&&(In=ta.dx);++da1);return de+Fe*vt*Math.sqrt(-2*Math.log(At)/At)}},logNormal:function(){var de=p.random.normal.apply(p,arguments);return function(){return Math.exp(de())}},bates:function(de){var Fe=p.random.irwinHall(de);return function(){return Fe()/de}},irwinHall:function(de){return function(){for(var Fe=0,Je=0;Je2?Ta:Ln,Gr=vt?Fu:Xf;return _t=xr(de,Fe,Gr,Je),At=xr(Fe,de,Gr,Kl),Ft}function Ft(xr){return _t(xr)}return Ft.invert=function(xr){return At(xr)},Ft.domain=function(xr){return arguments.length?(de=xr.map(Number),ar()):de},Ft.range=function(xr){return arguments.length?(Fe=xr,ar()):Fe},Ft.rangeRound=function(xr){return Ft.range(xr).interpolate($u)},Ft.clamp=function(xr){return arguments.length?(vt=xr,ar()):vt},Ft.interpolate=function(xr){return arguments.length?(Je=xr,ar()):Je},Ft.ticks=function(xr){return Io(de,xr)},Ft.tickFormat=function(xr,Gr){return d3_scale_linearTickFormat(de,xr,Gr)},Ft.nice=function(xr){return wo(de,xr),ar()},Ft.copy=function(){return Hn(de,Fe,Je,vt)},ar()}function go(de,Fe){return p.rebind(de,Fe,"range","rangeRound","interpolate","clamp")}function wo(de,Fe){return Na(de,qa(yo(de,Fe)[2])),Na(de,qa(yo(de,Fe)[2])),de}function yo(de,Fe){Fe==null&&(Fe=10);var Je=an(de),vt=Je[1]-Je[0],_t=Math.pow(10,Math.floor(Math.log(vt/Fe)/Math.LN10)),At=Fe/vt*_t;return At<=.15?_t*=10:At<=.35?_t*=5:At<=.75&&(_t*=2),Je[0]=Math.ceil(Je[0]/_t)*_t,Je[1]=Math.floor(Je[1]/_t)*_t+_t*.5,Je[2]=_t,Je}function Io(de,Fe){return p.range.apply(p,yo(de,Fe))}var Vn={s:1,g:1,p:1,r:1,e:1};function wn(de){return-Math.floor(Math.log(de)/Math.LN10+.01)}function Oo(de,Fe){var Je=wn(Fe[2]);return de in Vn?Math.abs(Je-wn(Math.max(l(Fe[0]),l(Fe[1]))))+ +(de!=="e"):Je-(de==="%")*2}p.scale.log=function(){return ps(p.scale.linear().domain([0,1]),10,!0,[1,10])};function ps(de,Fe,Je,vt){function _t(Ft){return(Je?Math.log(Ft<0?0:Ft):-Math.log(Ft>0?0:-Ft))/Math.log(Fe)}function At(Ft){return Je?Math.pow(Fe,Ft):-Math.pow(Fe,-Ft)}function ar(Ft){return de(_t(Ft))}return ar.invert=function(Ft){return At(de.invert(Ft))},ar.domain=function(Ft){return arguments.length?(Je=Ft[0]>=0,de.domain((vt=Ft.map(Number)).map(_t)),ar):vt},ar.base=function(Ft){return arguments.length?(Fe=+Ft,de.domain(vt.map(_t)),ar):Fe},ar.nice=function(){var Ft=Na(vt.map(_t),Je?Math:js);return de.domain(Ft),vt=Ft.map(At),ar},ar.ticks=function(){var Ft=an(vt),xr=[],Gr=Ft[0],Yr=Ft[1],Ei=Math.floor(_t(Gr)),xi=Math.ceil(_t(Yr)),na=Fe%1?2:Fe;if(isFinite(xi-Ei)){if(Je){for(;Ei0;ua--)xr.push(At(Ei)*ua);for(Ei=0;xr[Ei]Yr;xi--);xr=xr.slice(Ei,xi)}return xr},ar.copy=function(){return ps(de.copy(),Fe,Je,vt)},go(ar,de)}var js={floor:function(de){return-Math.ceil(-de)},ceil:function(de){return-Math.floor(-de)}};p.scale.pow=function(){return pl(p.scale.linear(),1,[0,1])};function pl(de,Fe,Je){var vt=Qs(Fe),_t=Qs(1/Fe);function At(ar){return de(vt(ar))}return At.invert=function(ar){return _t(de.invert(ar))},At.domain=function(ar){return arguments.length?(de.domain((Je=ar.map(Number)).map(vt)),At):Je},At.ticks=function(ar){return Io(Je,ar)},At.tickFormat=function(ar,Ft){return d3_scale_linearTickFormat(Je,ar,Ft)},At.nice=function(ar){return At.domain(wo(Je,ar))},At.exponent=function(ar){return arguments.length?(vt=Qs(Fe=ar),_t=Qs(1/Fe),de.domain(Je.map(vt)),At):Fe},At.copy=function(){return pl(de.copy(),Fe,Je)},go(At,de)}function Qs(de){return function(Fe){return Fe<0?-Math.pow(-Fe,de):Math.pow(Fe,de)}}p.scale.sqrt=function(){return p.scale.pow().exponent(.5)},p.scale.ordinal=function(){return hl([],{t:"range",a:[[]]})};function hl(de,Fe){var Je,vt,_t;function At(Ft){return vt[((Je.get(Ft)||(Fe.t==="range"?Je.set(Ft,de.push(Ft)):NaN))-1)%vt.length]}function ar(Ft,xr){return p.range(de.length).map(function(Gr){return Ft+xr*Gr})}return At.domain=function(Ft){if(!arguments.length)return de;de=[],Je=new A;for(var xr=-1,Gr=Ft.length,Yr;++xr0?Je[At-1]:de[0],Atxi?0:1;if(Yr=ke)return xr(Yr,ua)+(Gr?xr(Gr,1-ua):"")+"Z";var Di,Hi,ta,ya,da=0,Oi=0,xn,mn,In,Yn,mo,bo,vs,To,cs=[];if((ya=(+ar.apply(this,arguments)||0)/2)&&(ta=vt===Nu?Math.sqrt(Gr*Gr+Yr*Yr):+vt.apply(this,arguments),ua||(Oi*=-1),Yr&&(Oi=nr(ta/Yr*Math.sin(ya))),Gr&&(da=nr(ta/Gr*Math.sin(ya)))),Yr){xn=Yr*Math.cos(Ei+Oi),mn=Yr*Math.sin(Ei+Oi),In=Yr*Math.cos(xi-Oi),Yn=Yr*Math.sin(xi-Oi);var Al=Math.abs(xi-Ei-2*Oi)<=Ie?0:1;if(Oi&&wc(xn,mn,In,Yn)===ua^Al){var ml=(Ei+xi)/2;xn=Yr*Math.cos(ml),mn=Yr*Math.sin(ml),In=Yn=null}}else xn=mn=0;if(Gr){mo=Gr*Math.cos(xi-da),bo=Gr*Math.sin(xi-da),vs=Gr*Math.cos(Ei+da),To=Gr*Math.sin(Ei+da);var Pl=Math.abs(Ei-xi+2*da)<=Ie?0:1;if(da&&wc(mo,bo,vs,To)===1-ua^Pl){var Dn=(Ei+xi)/2;mo=Gr*Math.cos(Dn),bo=Gr*Math.sin(Dn),vs=To=null}}else mo=bo=0;if(na>Ye&&(Di=Math.min(Math.abs(Yr-Gr)/2,+Je.apply(this,arguments)))>.001){Hi=Gr0?0:1}function Po(de,Fe,Je,vt,_t){var At=de[0]-Fe[0],ar=de[1]-Fe[1],Ft=(_t?vt:-vt)/Math.sqrt(At*At+ar*ar),xr=Ft*ar,Gr=-Ft*At,Yr=de[0]+xr,Ei=de[1]+Gr,xi=Fe[0]+xr,na=Fe[1]+Gr,ua=(Yr+xi)/2,Di=(Ei+na)/2,Hi=xi-Yr,ta=na-Ei,ya=Hi*Hi+ta*ta,da=Je-vt,Oi=Yr*na-xi*Ei,xn=(ta<0?-1:1)*Math.sqrt(Math.max(0,da*da*ya-Oi*Oi)),mn=(Oi*ta-Hi*xn)/ya,In=(-Oi*Hi-ta*xn)/ya,Yn=(Oi*ta+Hi*xn)/ya,mo=(-Oi*Hi+ta*xn)/ya,bo=mn-ua,vs=In-Di,To=Yn-ua,cs=mo-Di;return bo*bo+vs*vs>To*To+cs*cs&&(mn=Yn,In=mo),[[mn-xr,In-Gr],[mn*Je/da,In*Je/da]]}function es(){return!0}function Nc(de){var Fe=An,Je=Eo,vt=es,_t=rc,At=_t.key,ar=.7;function Ft(xr){var Gr=[],Yr=[],Ei=-1,xi=xr.length,na,ua=Or(Fe),Di=Or(Je);function Hi(){Gr.push("M",_t(de(Yr),ar))}for(;++Ei1?de.join("L"):de+"Z"}function Ue(de){return de.join("L")+"Z"}function P(de){for(var Fe=0,Je=de.length,vt=de[0],_t=[vt[0],",",vt[1]];++Fe1&&_t.push("H",vt[0]),_t.join("")}function ae(de){for(var Fe=0,Je=de.length,vt=de[0],_t=[vt[0],",",vt[1]];++Fe1){Ft=Fe[1],At=de[xr],xr++,vt+="C"+(_t[0]+ar[0])+","+(_t[1]+ar[1])+","+(At[0]-Ft[0])+","+(At[1]-Ft[1])+","+At[0]+","+At[1];for(var Gr=2;Gr9&&(At=Je*3/Math.sqrt(At),ar[Ft]=At*vt,ar[Ft+1]=At*_t));for(Ft=-1;++Ft<=xr;)At=(de[Math.min(xr,Ft+1)][0]-de[Math.max(0,Ft-1)][0])/(6*(1+ar[Ft]*ar[Ft])),Fe.push([At||0,ar[Ft]*At||0]);return Fe}function fr(de){return de.length<3?rc(de):de[0]+Tt(de,Dt(de))}p.svg.line.radial=function(){var de=Nc(_r);return de.radius=de.x,delete de.x,de.angle=de.y,delete de.y,de};function _r(de){for(var Fe,Je=-1,vt=de.length,_t,At;++JeIe)+",1 "+Ei}function Gr(Yr,Ei,xi,na){return"Q 0,0 "+na}return At.radius=function(Yr){return arguments.length?(Je=Or(Yr),At):Je},At.source=function(Yr){return arguments.length?(de=Or(Yr),At):de},At.target=function(Yr){return arguments.length?(Fe=Or(Yr),At):Fe},At.startAngle=function(Yr){return arguments.length?(vt=Or(Yr),At):vt},At.endAngle=function(Yr){return arguments.length?(_t=Or(Yr),At):_t},At};function _i(de){return de.radius}p.svg.diagonal=function(){var de=Vr,Fe=Qr,Je=Pi;function vt(_t,At){var ar=de.call(this,_t,At),Ft=Fe.call(this,_t,At),xr=(ar.y+Ft.y)/2,Gr=[ar,{x:ar.x,y:xr},{x:Ft.x,y:xr},Ft];return Gr=Gr.map(Je),"M"+Gr[0]+"C"+Gr[1]+" "+Gr[2]+" "+Gr[3]}return vt.source=function(_t){return arguments.length?(de=Or(_t),vt):de},vt.target=function(_t){return arguments.length?(Fe=Or(_t),vt):Fe},vt.projection=function(_t){return arguments.length?(Je=_t,vt):Je},vt};function Pi(de){return[de.x,de.y]}p.svg.diagonal.radial=function(){var de=p.svg.diagonal(),Fe=Pi,Je=de.projection;return de.projection=function(vt){return arguments.length?Je(qi(Fe=vt)):Fe},de};function qi(de){return function(){var Fe=de.apply(this,arguments),Je=Fe[0],vt=Fe[1]-Me;return[Je*Math.cos(vt),Je*Math.sin(vt)]}}p.svg.symbol=function(){var de=Qa,Fe=ga;function Je(vt,_t){return(yn.get(de.call(this,vt,_t))||$a)(Fe.call(this,vt,_t))}return Je.type=function(vt){return arguments.length?(de=Or(vt),Je):de},Je.size=function(vt){return arguments.length?(Fe=Or(vt),Je):Fe},Je};function ga(){return 64}function Qa(){return"circle"}function $a(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 yn=p.map({circle:$a,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*po)),Je=Fe*po;return"M0,"+-Fe+"L"+Je+",0 0,"+Fe+" "+-Je+",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/qn),Je=Fe*qn/2;return"M0,"+Je+"L"+Fe+","+-Je+" "+-Fe+","+-Je+"Z"},"triangle-up":function(de){var Fe=Math.sqrt(de/qn),Je=Fe*qn/2;return"M0,"+-Je+"L"+Fe+","+Je+" "+-Fe+","+Je+"Z"}});p.svg.symbolTypes=yn.keys();var qn=Math.sqrt(3),po=Math.tan(30*Le);ie.transition=function(de){for(var Fe=Is||++ds,Je=gs(de),vt=[],_t,At,ar=Tl||{time:Date.now(),ease:$l,delay:0,duration:250},Ft=-1,xr=this.length;++Ft0;)Ei[--ya].call(de,ta);if(Hi>=1)return ar.event&&ar.event.end.call(de,de.__data__,Fe),--At.count?delete At[vt]:delete de[Je],1}ar||(Ft=_t.time,xr=Kn(xi,0,Ft),ar=At[vt]={tween:new A,time:Ft,timer:xr,delay:_t.delay,duration:_t.duration,ease:_t.ease,index:Fe},_t=null,++At.count)}p.svg.axis=function(){var de=p.scale.linear(),Fe=uu,Je=6,vt=6,_t=3,At=[10],ar=null,Ft;function xr(Gr){Gr.each(function(){var Yr=p.select(this),Ei=this.__chart__||de,xi=this.__chart__=de.copy(),na=ar??(xi.ticks?xi.ticks.apply(xi,At):xi.domain()),ua=Ft??(xi.tickFormat?xi.tickFormat.apply(xi,At):F),Di=Yr.selectAll(".tick").data(na,xi),Hi=Di.enter().insert("g",".domain").attr("class","tick").style("opacity",Ye),ta=p.transition(Di.exit()).style("opacity",Ye).remove(),ya=p.transition(Di.order()).style("opacity",1),da=Math.max(Je,0)+_t,Oi,xn=hn(xi),mn=Yr.selectAll(".domain").data([0]),In=(mn.enter().append("path").attr("class","domain"),p.transition(mn));Hi.append("line"),Hi.append("text");var Yn=Hi.select("line"),mo=ya.select("line"),bo=Di.select("text").text(ua),vs=Hi.select("text"),To=ya.select("text"),cs=Fe==="top"||Fe==="left"?-1:1,Al,ml,Pl,Dn;if(Fe==="bottom"||Fe==="top"?(Oi=Su,Al="x",Pl="y",ml="x2",Dn="y2",bo.attr("dy",cs<0?"0em":".71em").style("text-anchor","middle"),In.attr("d","M"+xn[0]+","+cs*vt+"V0H"+xn[1]+"V"+cs*vt)):(Oi=Fl,Al="y",Pl="x",ml="y2",Dn="x2",bo.attr("dy",".32em").style("text-anchor",cs<0?"end":"start"),In.attr("d","M"+cs*vt+","+xn[0]+"H0V"+xn[1]+"H"+cs*vt)),Yn.attr(Dn,cs*Je),vs.attr(Pl,cs*da),mo.attr(ml,0).attr(Dn,cs*Je),To.attr(Al,0).attr(Pl,cs*da),xi.rangeBand){var zo=xi,ks=zo.rangeBand()/2;Ei=xi=function(Rs){return zo(Rs)+ks}}else Ei.rangeBand?Ei=xi:ta.call(Oi,xi,Ei);Hi.call(Oi,Ei,xi),ya.call(Oi,xi,xi)})}return xr.scale=function(Gr){return arguments.length?(de=Gr,xr):de},xr.orient=function(Gr){return arguments.length?(Fe=Gr in Uu?Gr+"":uu,xr):Fe},xr.ticks=function(){return arguments.length?(At=S(arguments),xr):At},xr.tickValues=function(Gr){return arguments.length?(ar=Gr,xr):ar},xr.tickFormat=function(Gr){return arguments.length?(Ft=Gr,xr):Ft},xr.tickSize=function(Gr){var Yr=arguments.length;return Yr?(Je=+Gr,vt=+arguments[Yr-1],xr):Je},xr.innerTickSize=function(Gr){return arguments.length?(Je=+Gr,xr):Je},xr.outerTickSize=function(Gr){return arguments.length?(vt=+Gr,xr):vt},xr.tickPadding=function(Gr){return arguments.length?(_t=+Gr,xr):_t},xr.tickSubdivide=function(){return arguments.length&&xr},xr};var uu="bottom",Uu={top:1,right:1,bottom:1,left:1};function Su(de,Fe,Je){de.attr("transform",function(vt){var _t=Fe(vt);return"translate("+(isFinite(_t)?_t:Je(vt))+",0)"})}function Fl(de,Fe,Je){de.attr("transform",function(vt){var _t=Fe(vt);return"translate(0,"+(isFinite(_t)?_t:Je(vt))+")"})}p.svg.brush=function(){var de=le(Yr,"brushstart","brush","brushend"),Fe=null,Je=null,vt=[0,0],_t=[0,0],At,ar,Ft=!0,xr=!0,Gr=dc[0];function Yr(Di){Di.each(function(){var Hi=p.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",ua).on("touchstart.brush",ua),ta=Hi.selectAll(".background").data([0]);ta.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),Hi.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var ya=Hi.selectAll(".resize").data(Gr,F);ya.exit().remove(),ya.enter().append("g").attr("class",function(mn){return"resize "+mn}).style("cursor",function(mn){return yu[mn]}).append("rect").attr("x",function(mn){return/[ew]$/.test(mn)?-3:null}).attr("y",function(mn){return/^[ns]/.test(mn)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),ya.style("display",Yr.empty()?"none":null);var da=p.transition(Hi),Oi=p.transition(ta),xn;Fe&&(xn=hn(Fe),Oi.attr("x",xn[0]).attr("width",xn[1]-xn[0]),xi(da)),Je&&(xn=hn(Je),Oi.attr("y",xn[0]).attr("height",xn[1]-xn[0]),na(da)),Ei(da)})}Yr.event=function(Di){Di.each(function(){var Hi=de.of(this,arguments),ta={x:vt,y:_t,i:At,j:ar},ya=this.__chart__||ta;this.__chart__=ta,Is?p.select(this).transition().each("start.brush",function(){At=ya.i,ar=ya.j,vt=ya.x,_t=ya.y,Hi({type:"brushstart"})}).tween("brush:brush",function(){var da=Zu(vt,ta.x),Oi=Zu(_t,ta.y);return At=ar=null,function(xn){vt=ta.x=da(xn),_t=ta.y=Oi(xn),Hi({type:"brush",mode:"resize"})}}).each("end.brush",function(){At=ta.i,ar=ta.j,Hi({type:"brush",mode:"resize"}),Hi({type:"brushend"})}):(Hi({type:"brushstart"}),Hi({type:"brush",mode:"resize"}),Hi({type:"brushend"}))})};function Ei(Di){Di.selectAll(".resize").attr("transform",function(Hi){return"translate("+vt[+/e$/.test(Hi)]+","+_t[+/^s/.test(Hi)]+")"})}function xi(Di){Di.select(".extent").attr("x",vt[0]),Di.selectAll(".extent,.n>rect,.s>rect").attr("width",vt[1]-vt[0])}function na(Di){Di.select(".extent").attr("y",_t[0]),Di.selectAll(".extent,.e>rect,.w>rect").attr("height",_t[1]-_t[0])}function ua(){var Di=this,Hi=p.select(p.event.target),ta=de.of(Di,arguments),ya=p.select(Di),da=Hi.datum(),Oi=!/^(n|s)$/.test(da)&&Fe,xn=!/^(e|w)$/.test(da)&&Je,mn=Hi.classed("extent"),In=Mr(Di),Yn,mo=p.mouse(Di),bo,vs=p.select(t(Di)).on("keydown.brush",Al).on("keyup.brush",ml);if(p.event.changedTouches?vs.on("touchmove.brush",Pl).on("touchend.brush",zo):vs.on("mousemove.brush",Pl).on("mouseup.brush",zo),ya.interrupt().selectAll("*").interrupt(),mn)mo[0]=vt[0]-mo[0],mo[1]=_t[0]-mo[1];else if(da){var To=+/w$/.test(da),cs=+/^n/.test(da);bo=[vt[1-To]-mo[0],_t[1-cs]-mo[1]],mo[0]=vt[To],mo[1]=_t[cs]}else p.event.altKey&&(Yn=mo.slice());ya.style("pointer-events","none").selectAll(".resize").style("display",null),p.select("body").style("cursor",Hi.style("cursor")),ta({type:"brushstart"}),Pl();function Al(){p.event.keyCode==32&&(mn||(Yn=null,mo[0]-=vt[1],mo[1]-=_t[1],mn=2),J())}function ml(){p.event.keyCode==32&&mn==2&&(mo[0]+=vt[1],mo[1]+=_t[1],mn=0,J())}function Pl(){var ks=p.mouse(Di),Rs=!1;bo&&(ks[0]+=bo[0],ks[1]+=bo[1]),mn||(p.event.altKey?(Yn||(Yn=[(vt[0]+vt[1])/2,(_t[0]+_t[1])/2]),mo[0]=vt[+(ks[0]0))return Wt;do Wt.push(Cr=new Date(+It)),Be(It,Vt),fe(It);while(Cr=Pt)for(;fe(Pt),!It(Pt);)Pt.setTime(Pt-1)},function(Pt,Vt){if(Pt>=Pt)if(Vt<0)for(;++Vt<=0;)for(;Be(Pt,-1),!It(Pt););else for(;--Vt>=0;)for(;Be(Pt,1),!It(Pt););})},Qe&&($e.count=function(It,Pt){return x.setTime(+It),S.setTime(+Pt),fe(x),fe(S),Math.floor(Qe(x,S))},$e.every=function(It){return It=Math.floor(It),!isFinite(It)||!(It>0)?null:It>1?$e.filter(at?function(Pt){return at(Pt)%It===0}:function(Pt){return $e.count(0,Pt)%It===0}):$e}),$e}var e=E(function(){},function(fe,Be){fe.setTime(+fe+Be)},function(fe,Be){return Be-fe});e.every=function(fe){return fe=Math.floor(fe),!isFinite(fe)||!(fe>0)?null:fe>1?E(function(Be){Be.setTime(Math.floor(Be/fe)*fe)},function(Be,Qe){Be.setTime(+Be+Qe*fe)},function(Be,Qe){return(Qe-Be)/fe}):e};var t=e.range,r=1e3,o=6e4,i=36e5,n=864e5,a=6048e5,s=E(function(fe){fe.setTime(fe-fe.getMilliseconds())},function(fe,Be){fe.setTime(+fe+Be*r)},function(fe,Be){return(Be-fe)/r},function(fe){return fe.getUTCSeconds()}),h=s.range,c=E(function(fe){fe.setTime(fe-fe.getMilliseconds()-fe.getSeconds()*r)},function(fe,Be){fe.setTime(+fe+Be*o)},function(fe,Be){return(Be-fe)/o},function(fe){return fe.getMinutes()}),m=c.range,d=E(function(fe){fe.setTime(fe-fe.getMilliseconds()-fe.getSeconds()*r-fe.getMinutes()*o)},function(fe,Be){fe.setTime(+fe+Be*i)},function(fe,Be){return(Be-fe)/i},function(fe){return fe.getHours()}),T=d.range,l=E(function(fe){fe.setHours(0,0,0,0)},function(fe,Be){fe.setDate(fe.getDate()+Be)},function(fe,Be){return(Be-fe-(Be.getTimezoneOffset()-fe.getTimezoneOffset())*o)/n},function(fe){return fe.getDate()-1}),_=l.range;function w(fe){return E(function(Be){Be.setDate(Be.getDate()-(Be.getDay()+7-fe)%7),Be.setHours(0,0,0,0)},function(Be,Qe){Be.setDate(Be.getDate()+Qe*7)},function(Be,Qe){return(Qe-Be-(Qe.getTimezoneOffset()-Be.getTimezoneOffset())*o)/a})}var A=w(0),M=w(1),g=w(2),b=w(3),v=w(4),u=w(5),y=w(6),f=A.range,R=M.range,L=g.range,z=b.range,F=v.range,N=u.range,B=y.range,I=E(function(fe){fe.setDate(1),fe.setHours(0,0,0,0)},function(fe,Be){fe.setMonth(fe.getMonth()+Be)},function(fe,Be){return Be.getMonth()-fe.getMonth()+(Be.getFullYear()-fe.getFullYear())*12},function(fe){return fe.getMonth()}),U=I.range,O=E(function(fe){fe.setMonth(0,1),fe.setHours(0,0,0,0)},function(fe,Be){fe.setFullYear(fe.getFullYear()+Be)},function(fe,Be){return Be.getFullYear()-fe.getFullYear()},function(fe){return fe.getFullYear()});O.every=function(fe){return!isFinite(fe=Math.floor(fe))||!(fe>0)?null:E(function(Be){Be.setFullYear(Math.floor(Be.getFullYear()/fe)*fe),Be.setMonth(0,1),Be.setHours(0,0,0,0)},function(Be,Qe){Be.setFullYear(Be.getFullYear()+Qe*fe)})};var X=O.range,J=E(function(fe){fe.setUTCSeconds(0,0)},function(fe,Be){fe.setTime(+fe+Be*o)},function(fe,Be){return(Be-fe)/o},function(fe){return fe.getUTCMinutes()}),se=J.range,le=E(function(fe){fe.setUTCMinutes(0,0,0)},function(fe,Be){fe.setTime(+fe+Be*i)},function(fe,Be){return(Be-fe)/i},function(fe){return fe.getUTCHours()}),ce=le.range,q=E(function(fe){fe.setUTCHours(0,0,0,0)},function(fe,Be){fe.setUTCDate(fe.getUTCDate()+Be)},function(fe,Be){return(Be-fe)/n},function(fe){return fe.getUTCDate()-1}),Z=q.range;function ee(fe){return E(function(Be){Be.setUTCDate(Be.getUTCDate()-(Be.getUTCDay()+7-fe)%7),Be.setUTCHours(0,0,0,0)},function(Be,Qe){Be.setUTCDate(Be.getUTCDate()+Qe*7)},function(Be,Qe){return(Qe-Be)/a})}var V=ee(0),oe=ee(1),ie=ee(2),j=ee(3),Q=ee(4),re=ee(5),ue=ee(6),_e=V.range,we=oe.range,Re=ie.range,ze=j.range,Xe=Q.range,tt=re.range,it=ue.range,et=E(function(fe){fe.setUTCDate(1),fe.setUTCHours(0,0,0,0)},function(fe,Be){fe.setUTCMonth(fe.getUTCMonth()+Be)},function(fe,Be){return Be.getUTCMonth()-fe.getUTCMonth()+(Be.getUTCFullYear()-fe.getUTCFullYear())*12},function(fe){return fe.getUTCMonth()}),nt=et.range,Ae=E(function(fe){fe.setUTCMonth(0,1),fe.setUTCHours(0,0,0,0)},function(fe,Be){fe.setUTCFullYear(fe.getUTCFullYear()+Be)},function(fe,Be){return Be.getUTCFullYear()-fe.getUTCFullYear()},function(fe){return fe.getUTCFullYear()});Ae.every=function(fe){return!isFinite(fe=Math.floor(fe))||!(fe>0)?null:E(function(Be){Be.setUTCFullYear(Math.floor(Be.getUTCFullYear()/fe)*fe),Be.setUTCMonth(0,1),Be.setUTCHours(0,0,0,0)},function(Be,Qe){Be.setUTCFullYear(Be.getUTCFullYear()+Qe*fe)})};var me=Ae.range;p.timeDay=l,p.timeDays=_,p.timeFriday=u,p.timeFridays=N,p.timeHour=d,p.timeHours=T,p.timeInterval=E,p.timeMillisecond=e,p.timeMilliseconds=t,p.timeMinute=c,p.timeMinutes=m,p.timeMonday=M,p.timeMondays=R,p.timeMonth=I,p.timeMonths=U,p.timeSaturday=y,p.timeSaturdays=B,p.timeSecond=s,p.timeSeconds=h,p.timeSunday=A,p.timeSundays=f,p.timeThursday=v,p.timeThursdays=F,p.timeTuesday=g,p.timeTuesdays=L,p.timeWednesday=b,p.timeWednesdays=z,p.timeWeek=A,p.timeWeeks=f,p.timeYear=O,p.timeYears=X,p.utcDay=q,p.utcDays=Z,p.utcFriday=re,p.utcFridays=tt,p.utcHour=le,p.utcHours=ce,p.utcMillisecond=e,p.utcMilliseconds=t,p.utcMinute=J,p.utcMinutes=se,p.utcMonday=oe,p.utcMondays=we,p.utcMonth=et,p.utcMonths=nt,p.utcSaturday=ue,p.utcSaturdays=it,p.utcSecond=s,p.utcSeconds=h,p.utcSunday=V,p.utcSundays=_e,p.utcThursday=Q,p.utcThursdays=Xe,p.utcTuesday=ie,p.utcTuesdays=Re,p.utcWednesday=j,p.utcWednesdays=ze,p.utcWeek=V,p.utcWeeks=_e,p.utcYear=Ae,p.utcYears=me,Object.defineProperty(p,"__esModule",{value:!0})})}}),Do=De({"node_modules/d3-time-format/dist/d3-time-format.js"(Y,H){(function(p,x){typeof Y=="object"&&typeof H<"u"?x(Y,Qn()):(p=p||self,x(p.d3=p.d3||{},p.d3))})(Y,function(p,x){"use strict";function S(Ne){if(0<=Ne.y&&Ne.y<100){var Ye=new Date(-1,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L);return Ye.setFullYear(Ne.y),Ye}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 Ye=new Date(Date.UTC(-1,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L));return Ye.setUTCFullYear(Ne.y),Ye}return new Date(Date.UTC(Ne.y,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L))}function e(Ne,Ye,be){return{y:Ne,m:Ye,d:be,H:0,M:0,S:0,L:0}}function t(Ne){var Ye=Ne.dateTime,be=Ne.date,Ie=Ne.time,qe=Ne.periods,ke=Ne.days,Me=Ne.shortDays,Le=Ne.months,ut=Ne.shortMonths,lt=h(qe),gt=c(qe),kt=h(ke),nr=c(ke),ir=h(Me),tr=c(Me),Ir=h(Le),vi=c(Le),Vi=h(ut),Ui=c(ut),Ki={a:oa,A:ra,b:ca,B:xa,c:null,d:I,e:I,f:se,H:U,I:O,j:X,L:J,m:le,M:ce,p:ji,q:pn,Q:Pt,s:Vt,S:q,u:Z,U:ee,V,w:oe,W:ie,x:null,X:null,y:j,Y:Q,Z:re,"%":It},ea={a:_n,A:En,b:bt,B:st,c:null,d:ue,e:ue,f:Xe,H:_e,I:we,j:Re,L:ze,m:tt,M:it,p:Nr,q:Lr,Q:Pt,s:Vt,S:et,u:nt,U:Ae,V:me,w:fe,W:Be,x:null,X:null,y:Qe,Y:at,Z:$e,"%":It},Bi={a:Zt,A:Jt,b:Br,B:ri,c:ii,d:v,e:v,f:z,H:y,I:y,j:u,L,m:b,M:f,p:zt,q:g,Q:N,s:B,S:R,u:d,U:T,V:l,w:m,W:_,x:di,X:Wi,y:A,Y:w,Z:M,"%":F};Ki.x=_a(be,Ki),Ki.X=_a(Ie,Ki),Ki.c=_a(Ye,Ki),ea.x=_a(be,ea),ea.X=_a(Ie,ea),ea.c=_a(Ye,ea);function _a(br,Rr){return function(jr){var Wr=[],yt=-1,Xt=0,mr=br.length,Or,ki,Ni;for(jr instanceof Date||(jr=new Date(+jr));++yt53)return null;"w"in Wr||(Wr.w=1),"Z"in Wr?(Xt=E(e(Wr.y,0,1)),mr=Xt.getUTCDay(),Xt=mr>4||mr===0?x.utcMonday.ceil(Xt):x.utcMonday(Xt),Xt=x.utcDay.offset(Xt,(Wr.V-1)*7),Wr.y=Xt.getUTCFullYear(),Wr.m=Xt.getUTCMonth(),Wr.d=Xt.getUTCDate()+(Wr.w+6)%7):(Xt=S(e(Wr.y,0,1)),mr=Xt.getDay(),Xt=mr>4||mr===0?x.timeMonday.ceil(Xt):x.timeMonday(Xt),Xt=x.timeDay.offset(Xt,(Wr.V-1)*7),Wr.y=Xt.getFullYear(),Wr.m=Xt.getMonth(),Wr.d=Xt.getDate()+(Wr.w+6)%7)}else("W"in Wr||"U"in Wr)&&("w"in Wr||(Wr.w="u"in Wr?Wr.u%7:"W"in Wr?1:0),mr="Z"in Wr?E(e(Wr.y,0,1)).getUTCDay():S(e(Wr.y,0,1)).getDay(),Wr.m=0,Wr.d="W"in Wr?(Wr.w+6)%7+Wr.W*7-(mr+5)%7:Wr.w+Wr.U*7-(mr+6)%7);return"Z"in Wr?(Wr.H+=Wr.Z/100|0,Wr.M+=Wr.Z%100,E(Wr)):S(Wr)}}function Kt(br,Rr,jr,Wr){for(var yt=0,Xt=Rr.length,mr=jr.length,Or,ki;yt=mr)return-1;if(Or=Rr.charCodeAt(yt++),Or===37){if(Or=Rr.charAt(yt++),ki=Bi[Or in r?Rr.charAt(yt++):Or],!ki||(Wr=ki(br,jr,Wr))<0)return-1}else if(Or!=jr.charCodeAt(Wr++))return-1}return Wr}function zt(br,Rr,jr){var Wr=lt.exec(Rr.slice(jr));return Wr?(br.p=gt[Wr[0].toLowerCase()],jr+Wr[0].length):-1}function Zt(br,Rr,jr){var Wr=ir.exec(Rr.slice(jr));return Wr?(br.w=tr[Wr[0].toLowerCase()],jr+Wr[0].length):-1}function Jt(br,Rr,jr){var Wr=kt.exec(Rr.slice(jr));return Wr?(br.w=nr[Wr[0].toLowerCase()],jr+Wr[0].length):-1}function Br(br,Rr,jr){var Wr=Vi.exec(Rr.slice(jr));return Wr?(br.m=Ui[Wr[0].toLowerCase()],jr+Wr[0].length):-1}function ri(br,Rr,jr){var Wr=Ir.exec(Rr.slice(jr));return Wr?(br.m=vi[Wr[0].toLowerCase()],jr+Wr[0].length):-1}function ii(br,Rr,jr){return Kt(br,Ye,Rr,jr)}function di(br,Rr,jr){return Kt(br,be,Rr,jr)}function Wi(br,Rr,jr){return Kt(br,Ie,Rr,jr)}function oa(br){return Me[br.getDay()]}function ra(br){return ke[br.getDay()]}function ca(br){return ut[br.getMonth()]}function xa(br){return Le[br.getMonth()]}function ji(br){return qe[+(br.getHours()>=12)]}function pn(br){return 1+~~(br.getMonth()/3)}function _n(br){return Me[br.getUTCDay()]}function En(br){return ke[br.getUTCDay()]}function bt(br){return ut[br.getUTCMonth()]}function st(br){return Le[br.getUTCMonth()]}function Nr(br){return qe[+(br.getUTCHours()>=12)]}function Lr(br){return 1+~~(br.getUTCMonth()/3)}return{format:function(br){var Rr=_a(br+="",Ki);return Rr.toString=function(){return br},Rr},parse:function(br){var Rr=Ca(br+="",!1);return Rr.toString=function(){return br},Rr},utcFormat:function(br){var Rr=_a(br+="",ea);return Rr.toString=function(){return br},Rr},utcParse:function(br){var Rr=Ca(br+="",!0);return Rr.toString=function(){return br},Rr}}}var r={"-":"",_:" ",0:"0"},o=/^\s*\d+/,i=/^%/,n=/[\\^$*+?|[\]().{}]/g;function a(Ne,Ye,be){var Ie=Ne<0?"-":"",qe=(Ie?-Ne:Ne)+"",ke=qe.length;return Ie+(ke68?1900:2e3),be+Ie[0].length):-1}function M(Ne,Ye,be){var Ie=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(Ye.slice(be,be+6));return Ie?(Ne.Z=Ie[1]?0:-(Ie[2]+(Ie[3]||"00")),be+Ie[0].length):-1}function g(Ne,Ye,be){var Ie=o.exec(Ye.slice(be,be+1));return Ie?(Ne.q=Ie[0]*3-3,be+Ie[0].length):-1}function b(Ne,Ye,be){var Ie=o.exec(Ye.slice(be,be+2));return Ie?(Ne.m=Ie[0]-1,be+Ie[0].length):-1}function v(Ne,Ye,be){var Ie=o.exec(Ye.slice(be,be+2));return Ie?(Ne.d=+Ie[0],be+Ie[0].length):-1}function u(Ne,Ye,be){var Ie=o.exec(Ye.slice(be,be+3));return Ie?(Ne.m=0,Ne.d=+Ie[0],be+Ie[0].length):-1}function y(Ne,Ye,be){var Ie=o.exec(Ye.slice(be,be+2));return Ie?(Ne.H=+Ie[0],be+Ie[0].length):-1}function f(Ne,Ye,be){var Ie=o.exec(Ye.slice(be,be+2));return Ie?(Ne.M=+Ie[0],be+Ie[0].length):-1}function R(Ne,Ye,be){var Ie=o.exec(Ye.slice(be,be+2));return Ie?(Ne.S=+Ie[0],be+Ie[0].length):-1}function L(Ne,Ye,be){var Ie=o.exec(Ye.slice(be,be+3));return Ie?(Ne.L=+Ie[0],be+Ie[0].length):-1}function z(Ne,Ye,be){var Ie=o.exec(Ye.slice(be,be+6));return Ie?(Ne.L=Math.floor(Ie[0]/1e3),be+Ie[0].length):-1}function F(Ne,Ye,be){var Ie=i.exec(Ye.slice(be,be+1));return Ie?be+Ie[0].length:-1}function N(Ne,Ye,be){var Ie=o.exec(Ye.slice(be));return Ie?(Ne.Q=+Ie[0],be+Ie[0].length):-1}function B(Ne,Ye,be){var Ie=o.exec(Ye.slice(be));return Ie?(Ne.s=+Ie[0],be+Ie[0].length):-1}function I(Ne,Ye){return a(Ne.getDate(),Ye,2)}function U(Ne,Ye){return a(Ne.getHours(),Ye,2)}function O(Ne,Ye){return a(Ne.getHours()%12||12,Ye,2)}function X(Ne,Ye){return a(1+x.timeDay.count(x.timeYear(Ne),Ne),Ye,3)}function J(Ne,Ye){return a(Ne.getMilliseconds(),Ye,3)}function se(Ne,Ye){return J(Ne,Ye)+"000"}function le(Ne,Ye){return a(Ne.getMonth()+1,Ye,2)}function ce(Ne,Ye){return a(Ne.getMinutes(),Ye,2)}function q(Ne,Ye){return a(Ne.getSeconds(),Ye,2)}function Z(Ne){var Ye=Ne.getDay();return Ye===0?7:Ye}function ee(Ne,Ye){return a(x.timeSunday.count(x.timeYear(Ne)-1,Ne),Ye,2)}function V(Ne,Ye){var be=Ne.getDay();return Ne=be>=4||be===0?x.timeThursday(Ne):x.timeThursday.ceil(Ne),a(x.timeThursday.count(x.timeYear(Ne),Ne)+(x.timeYear(Ne).getDay()===4),Ye,2)}function oe(Ne){return Ne.getDay()}function ie(Ne,Ye){return a(x.timeMonday.count(x.timeYear(Ne)-1,Ne),Ye,2)}function j(Ne,Ye){return a(Ne.getFullYear()%100,Ye,2)}function Q(Ne,Ye){return a(Ne.getFullYear()%1e4,Ye,4)}function re(Ne){var Ye=Ne.getTimezoneOffset();return(Ye>0?"-":(Ye*=-1,"+"))+a(Ye/60|0,"0",2)+a(Ye%60,"0",2)}function ue(Ne,Ye){return a(Ne.getUTCDate(),Ye,2)}function _e(Ne,Ye){return a(Ne.getUTCHours(),Ye,2)}function we(Ne,Ye){return a(Ne.getUTCHours()%12||12,Ye,2)}function Re(Ne,Ye){return a(1+x.utcDay.count(x.utcYear(Ne),Ne),Ye,3)}function ze(Ne,Ye){return a(Ne.getUTCMilliseconds(),Ye,3)}function Xe(Ne,Ye){return ze(Ne,Ye)+"000"}function tt(Ne,Ye){return a(Ne.getUTCMonth()+1,Ye,2)}function it(Ne,Ye){return a(Ne.getUTCMinutes(),Ye,2)}function et(Ne,Ye){return a(Ne.getUTCSeconds(),Ye,2)}function nt(Ne){var Ye=Ne.getUTCDay();return Ye===0?7:Ye}function Ae(Ne,Ye){return a(x.utcSunday.count(x.utcYear(Ne)-1,Ne),Ye,2)}function me(Ne,Ye){var be=Ne.getUTCDay();return Ne=be>=4||be===0?x.utcThursday(Ne):x.utcThursday.ceil(Ne),a(x.utcThursday.count(x.utcYear(Ne),Ne)+(x.utcYear(Ne).getUTCDay()===4),Ye,2)}function fe(Ne){return Ne.getUTCDay()}function Be(Ne,Ye){return a(x.utcMonday.count(x.utcYear(Ne)-1,Ne),Ye,2)}function Qe(Ne,Ye){return a(Ne.getUTCFullYear()%100,Ye,2)}function at(Ne,Ye){return a(Ne.getUTCFullYear()%1e4,Ye,4)}function $e(){return"+0000"}function It(){return"%"}function Pt(Ne){return+Ne}function Vt(Ne){return Math.floor(+Ne/1e3)}var Wt;Cr({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 Cr(Ne){return Wt=t(Ne),p.timeFormat=Wt.format,p.timeParse=Wt.parse,p.utcFormat=Wt.utcFormat,p.utcParse=Wt.utcParse,Wt}var yr="%Y-%m-%dT%H:%M:%S.%LZ";function qr(Ne){return Ne.toISOString()}var Mr=Date.prototype.toISOString?qr:p.utcFormat(yr);function Dr(Ne){var Ye=new Date(Ne);return isNaN(Ye)?null:Ye}var xt=+new Date("2000-01-01T00:00:00.000Z")?Dr:p.utcParse(yr);p.isoFormat=Mr,p.isoParse=xt,p.timeFormatDefaultLocale=Cr,p.timeFormatLocale=t,Object.defineProperty(p,"__esModule",{value:!0})})}}),Tn=De({"node_modules/d3-format/dist/d3-format.js"(Y,H){(function(p,x){typeof Y=="object"&&typeof H<"u"?x(Y):(p=typeof globalThis<"u"?globalThis:p||self,x(p.d3=p.d3||{}))})(Y,function(p){"use strict";function x(b){return Math.abs(b=Math.round(b))>=1e21?b.toLocaleString("en").replace(/,/g,""):b.toString(10)}function S(b,v){if((u=(b=v?b.toExponential(v-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,v){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(v)}}function t(b){return function(v){return v.replace(/[0-9]/g,function(u){return b[+u]})}}var r=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function o(b){if(!(v=r.exec(b)))throw new Error("invalid format: "+b);var v;return new i({fill:v[1],align:v[2],sign:v[3],symbol:v[4],zero:v[5],width:v[6],comma:v[7],precision:v[8]&&v[8].slice(1),trim:v[9],type:v[10]})}o.prototype=i.prototype;function i(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+""}i.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 v=b.length,u=1,y=-1,f;u0&&(y=0);break}return y>0?b.slice(0,y)+b.slice(f+1):b}var a;function s(b,v){var u=S(b,v);if(!u)return b+"";var y=u[0],f=u[1],R=f-(a=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,v+R-1))[0]}function h(b,v){var u=S(b,v);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,v){return(b*100).toFixed(v)},b:function(b){return Math.round(b).toString(2)},c:function(b){return b+""},d:x,e:function(b,v){return b.toExponential(v)},f:function(b,v){return b.toFixed(v)},g:function(b,v){return b.toPrecision(v)},o:function(b){return Math.round(b).toString(8)},p:function(b,v){return h(b*100,v)},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 d=Array.prototype.map,T=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function l(b){var v=b.grouping===void 0||b.thousands===void 0?m:e(d.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(d.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(I){I=o(I);var U=I.fill,O=I.align,X=I.sign,J=I.symbol,se=I.zero,le=I.width,ce=I.comma,q=I.precision,Z=I.trim,ee=I.type;ee==="n"?(ce=!0,ee="g"):c[ee]||(q===void 0&&(q=12),Z=!0,ee="g"),(se||U==="0"&&O==="=")&&(se=!0,U="0",O="=");var V=J==="$"?u:J==="#"&&/[boxX]/.test(ee)?"0"+ee.toLowerCase():"",oe=J==="$"?y:/[%p]/.test(ee)?L:"",ie=c[ee],j=/[defgprs%]/.test(ee);q=q===void 0?6:/[gprs]/.test(ee)?Math.max(1,Math.min(21,q)):Math.max(0,Math.min(20,q));function Q(re){var ue=V,_e=oe,we,Re,ze;if(ee==="c")_e=ie(re)+_e,re="";else{re=+re;var Xe=re<0||1/re<0;if(re=isNaN(re)?F:ie(Math.abs(re),q),Z&&(re=n(re)),Xe&&+re==0&&X!=="+"&&(Xe=!1),ue=(Xe?X==="("?X:z:X==="-"||X==="("?"":X)+ue,_e=(ee==="s"?T[8+a/3]:"")+_e+(Xe&&X==="("?")":""),j){for(we=-1,Re=re.length;++weze||ze>57){_e=(ze===46?f+re.slice(we+1):re.slice(we))+_e,re=re.slice(0,we);break}}}ce&&!se&&(re=v(re,1/0));var tt=ue.length+re.length+_e.length,it=tt>1)+ue+re+_e+it.slice(tt);break;default:re=it+ue+re+_e;break}return R(re)}return Q.toString=function(){return I+""},Q}function B(I,U){var O=N((I=o(I),I.type="f",I)),X=Math.max(-8,Math.min(8,Math.floor(E(U)/3)))*3,J=Math.pow(10,-X),se=T[8+X/3];return function(le){return O(J*le)+se}}return{format:N,formatPrefix:B}}var _;w({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"});function w(b){return _=l(b),p.format=_.format,p.formatPrefix=_.formatPrefix,_}function A(b){return Math.max(0,-E(Math.abs(b)))}function M(b,v){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(E(v)/3)))*3-E(Math.abs(b)))}function g(b,v){return b=Math.abs(b),v=Math.abs(v)-b,Math.max(0,E(v)-E(b))+1}p.FormatSpecifier=i,p.formatDefaultLocale=w,p.formatLocale=l,p.formatSpecifier=o,p.precisionFixed=A,p.precisionPrefix=M,p.precisionRound=g,Object.defineProperty(p,"__esModule",{value:!0})})}}),lo=De({"node_modules/is-string-blank/index.js"(Y,H){"use strict";H.exports=function(p){for(var x=p.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}}}),vn=De({"node_modules/fast-isnumeric/index.js"(Y,H){"use strict";var p=lo();H.exports=function(x){var S=typeof x;if(S==="string"){var E=x;if(x=+x,x===0&&p(E))return!1}else if(S!=="number")return!1;return x-x<1}}}),zn=De({"src/constants/numerical.js"(Y,H){"use strict";H.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"}}}),zl=De({"node_modules/base64-arraybuffer/dist/base64-arraybuffer.umd.js"(Y,H){(function(p,x){typeof Y=="object"&&typeof H<"u"?x(Y):(p=typeof globalThis<"u"?globalThis:p||self,x(p["base64-arraybuffer"]={}))})(Y,function(p){"use strict";for(var x="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",S=typeof Uint8Array>"u"?[]:new Uint8Array(256),E=0;E>2],a+=x[(o[i]&3)<<4|o[i+1]>>4],a+=x[(o[i+1]&15)<<2|o[i+2]>>6],a+=x[o[i+2]&63];return n%3===2?a=a.substring(0,a.length-1)+"=":n%3===1&&(a=a.substring(0,a.length-2)+"=="),a},t=function(r){var o=r.length*.75,i=r.length,n,a=0,s,h,c,m;r[r.length-1]==="="&&(o--,r[r.length-2]==="="&&o--);var d=new ArrayBuffer(o),T=new Uint8Array(d);for(n=0;n>4,T[a++]=(h&15)<<4|c>>2,T[a++]=(c&3)<<6|m&63;return d};p.decode=t,p.encode=e,Object.defineProperty(p,"__esModule",{value:!0})})}}),fu=De({"src/lib/is_plain_object.js"(Y,H){"use strict";H.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")}}}),vl=De({"src/lib/array.js"(Y){"use strict";var H=zl().decode,p=fu(),x=Array.isArray,S=ArrayBuffer,E=DataView;function e(s){return S.isView(s)&&!(s instanceof E)}Y.isTypedArray=e;function t(s){return x(s)||e(s)}Y.isArrayOrTypedArray=t;function r(s){return!t(s[0])}Y.isArray1D=r,Y.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 i(s){return s.constructor===ArrayBuffer}Y.isArrayBuffer=i,Y.decodeTypedArraySpec=function(s){var h=[],c=n(s),m=c.dtype,d=o[m];if(!d)throw new Error('Error in dtype: "'+m+'"');var T=d.BYTES_PER_ELEMENT,l=c.bdata;i(l)||(l=H(l));var _=c.shape===void 0?[l.byteLength/T]:(""+c.shape).split(",");_.reverse();var w=_.length,A,M,g=+_[0],b=T*g,v=0;if(w===1)h=new d(l);else if(w===2)for(A=+_[1],M=0;M2)return d[A]=d[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 p(e)||(e=Math.log(Math.max(E[0],E[1]))/Math.LN10-6),e}}}),af=De({"src/lib/relink_private.js"(Y,H){"use strict";var p=vl().isArrayOrTypedArray,x=fu();H.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(p(r)&&p(o)&&x(r[0])){if(t==="customdata"||t==="ids")continue;for(var i=Math.min(r.length,o.length),n=0;nE/2?S-Math.round(S/E)*E:S}H.exports={mod:p,modHalf:x}}}),wu=De({"node_modules/tinycolor2/tinycolor.js"(Y,H){(function(p){var x=/^\s+/,S=/\s+$/,E=0,e=p.round,t=p.min,r=p.max,o=p.random;function i(j,Q){if(j=j||"",Q=Q||{},j instanceof i)return j;if(!(this instanceof i))return new i(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++}i.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,ue,_e,we,Re;return Q=j.r/255,re=j.g/255,ue=j.b/255,Q<=.03928?_e=Q/12.92:_e=p.pow((Q+.055)/1.055,2.4),re<=.03928?we=re/12.92:we=p.pow((re+.055)/1.055,2.4),ue<=.03928?Re=ue/12.92:Re=p.pow((ue+.055)/1.055,2.4),.2126*_e+.7152*we+.0722*Re},setAlpha:function(j){return this._a=I(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),ue=e(j.v*100);return this._a==1?"hsv("+Q+", "+re+"%, "+ue+"%)":"hsva("+Q+", "+re+"%, "+ue+"%, "+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),ue=e(j.l*100);return this._a==1?"hsl("+Q+", "+re+"%, "+ue+"%)":"hsla("+Q+", "+re+"%, "+ue+"%, "+this._roundA+")"},toHex:function(j){return d(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[d(this._r,this._g,this._b,!0)]||!1},toFilter:function(j){var Q="#"+l(this._r,this._g,this._b,this._a),re=Q,ue=this._gradientType?"GradientType = 1, ":"";if(j){var _e=i(j);re="#"+l(_e._r,_e._g,_e._b,_e._a)}return"progid:DXImageTransform.Microsoft.gradient("+ue+"startColorstr="+Q+",endColorstr="+re+")"},toString:function(j){var Q=!!j;j=j||this._format;var re=!1,ue=this._a<1&&this._a>=0,_e=!Q&&ue&&(j==="hex"||j==="hex6"||j==="hex3"||j==="hex4"||j==="hex8"||j==="name");return _e?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 i(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(v,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)}},i.fromRatio=function(j,Q){if(typeof j=="object"){var re={};for(var ue in j)j.hasOwnProperty(ue)&&(ue==="a"?re[ue]=j[ue]:re[ue]=ce(j[ue]));j=re}return i(j,Q)};function n(j){var Q={r:0,g:0,b:0},re=1,ue=null,_e=null,we=null,Re=!1,ze=!1;return typeof j=="string"&&(j=oe(j)),typeof j=="object"&&(V(j.r)&&V(j.g)&&V(j.b)?(Q=a(j.r,j.g,j.b),Re=!0,ze=String(j.r).substr(-1)==="%"?"prgb":"rgb"):V(j.h)&&V(j.s)&&V(j.v)?(ue=ce(j.s),_e=ce(j.v),Q=m(j.h,ue,_e),Re=!0,ze="hsv"):V(j.h)&&V(j.s)&&V(j.l)&&(ue=ce(j.s),we=ce(j.l),Q=h(j.h,ue,we),Re=!0,ze="hsl"),j.hasOwnProperty("a")&&(re=j.a)),re=I(re),{ok:Re,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 a(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 ue=r(j,Q,re),_e=t(j,Q,re),we,Re,ze=(ue+_e)/2;if(ue==_e)we=Re=0;else{var Xe=ue-_e;switch(Re=ze>.5?Xe/(2-ue-_e):Xe/(ue+_e),ue){case j:we=(Q-re)/Xe+(Q1&&(et-=1),et<1/6?tt+(it-tt)*6*et:et<1/2?it:et<2/3?tt+(it-tt)*(2/3-et)*6:tt}if(Q===0)ue=_e=we=re;else{var ze=re<.5?re*(1+Q):re+Q-re*Q,Xe=2*re-ze;ue=Re(Xe,ze,j+1/3),_e=Re(Xe,ze,j),we=Re(Xe,ze,j-1/3)}return{r:ue*255,g:_e*255,b:we*255}}function c(j,Q,re){j=U(j,255),Q=U(Q,255),re=U(re,255);var ue=r(j,Q,re),_e=t(j,Q,re),we,Re,ze=ue,Xe=ue-_e;if(Re=ue===0?0:Xe/ue,ue==_e)we=0;else{switch(ue){case j:we=(Q-re)/Xe+(Q>1)+720)%360;--Q;)ue.h=(ue.h+_e)%360,we.push(i(ue));return we}function z(j,Q){Q=Q||6;for(var re=i(j).toHsv(),ue=re.h,_e=re.s,we=re.v,Re=[],ze=1/Q;Q--;)Re.push(i({h:ue,s:_e,v:we})),we=(we+ze)%1;return Re}i.mix=function(j,Q,re){re=re===0?0:re||50;var ue=i(j).toRgb(),_e=i(Q).toRgb(),we=re/100,Re={r:(_e.r-ue.r)*we+ue.r,g:(_e.g-ue.g)*we+ue.g,b:(_e.b-ue.b)*we+ue.b,a:(_e.a-ue.a)*we+ue.a};return i(Re)},i.readability=function(j,Q){var re=i(j),ue=i(Q);return(p.max(re.getLuminance(),ue.getLuminance())+.05)/(p.min(re.getLuminance(),ue.getLuminance())+.05)},i.isReadable=function(j,Q,re){var ue=i.readability(j,Q),_e,we;switch(we=!1,_e=ie(re),_e.level+_e.size){case"AAsmall":case"AAAlarge":we=ue>=4.5;break;case"AAlarge":we=ue>=3;break;case"AAAsmall":we=ue>=7;break}return we},i.mostReadable=function(j,Q,re){var ue=null,_e=0,we,Re,ze,Xe;re=re||{},Re=re.includeFallbackColors,ze=re.level,Xe=re.size;for(var tt=0;tt_e&&(_e=we,ue=i(Q[tt]));return i.isReadable(j,ue,{level:ze,size:Xe})||!Re?ue:(re.includeFallbackColors=!1,i.mostReadable(j,["#fff","#000"],re))};var F=i.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=i.hexNames=B(F);function B(j){var Q={};for(var re in j)j.hasOwnProperty(re)&&(Q[j[re]]=re);return Q}function I(j){return j=parseFloat(j),(isNaN(j)||j<0||j>1)&&(j=1),j}function U(j,Q){J(j)&&(j="100%");var re=se(j);return j=t(Q,r(0,parseFloat(j))),re&&(j=parseInt(j*Q,10)/100),p.abs(j-Q)<1e-6?1:j%Q/parseFloat(Q)}function O(j){return t(1,r(0,j))}function X(j){return parseInt(j,16)}function J(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 ce(j){return j<=1&&(j=j*100+"%"),j}function q(j){return p.round(parseFloat(j)*255).toString(16)}function Z(j){return X(j)/255}var ee=function(){var j="[-\\+]?\\d+%?",Q="[-\\+]?\\d*\\.\\d+%?",re="(?:"+Q+")|(?:"+j+")",ue="[\\s|\\(]+("+re+")[,|\\s]+("+re+")[,|\\s]+("+re+")\\s*\\)?",_e="[\\s|\\(]+("+re+")[,|\\s]+("+re+")[,|\\s]+("+re+")[,|\\s]+("+re+")\\s*\\)?";return{CSS_UNIT:new RegExp(re),rgb:new RegExp("rgb"+ue),rgba:new RegExp("rgba"+_e),hsl:new RegExp("hsl"+ue),hsla:new RegExp("hsla"+_e),hsv:new RegExp("hsv"+ue),hsva:new RegExp("hsva"+_e),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function V(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:Z(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:Z(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 ie(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 H<"u"&&H.exports?H.exports=i:window.tinycolor=i})(Math)}}),Xo=De({"src/lib/extend.js"(Y){"use strict";var H=fu(),p=Array.isArray;function x(E,e){var t,r;for(t=0;t=0)))return i;if(c===3)s[c]>1&&(s[c]=1);else if(s[c]>=1)return i}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+")"}}}),_o=De({"src/constants/interactions.js"(Y,H){"use strict";H.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}}}),Uo=De({"src/lib/regex.js"(Y){"use strict";Y.counter=function(H,p,x,S){var E=(p||"")+(x?"":"$"),e=S===!1?"":"^";return H==="xy"?new RegExp(e+"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?"+E):new RegExp(e+H+"([2-9]|[1-9][0-9]+)?"+E)}}}),Rn=De({"src/lib/coerce.js"(Y){"use strict";var H=vn(),p=wu(),x=Xo().extendFlat,S=Yl(),E=up(),e=vo(),t=_o().DESELECTDIM,r=bu(),o=Uo().counter,i=gf().modHalf,n=vl().isArrayOrTypedArray,a=vl().isTypedArraySpec,s=vl().decodeTypedArraySpec;Y.valObjectMeta={data_array:{coerceFunction:function(c,m,d){m.set(n(c)?c:a(c)?s(c):d)}},enumerated:{coerceFunction:function(c,m,d,T){T.coerceNumber&&(c=+c),T.values.indexOf(c)===-1?m.set(d):m.set(c)},validateFunction:function(c,m){m.coerceNumber&&(c=+c);for(var d=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(d)}},number:{coerceFunction:function(c,m,d,T){a(c)&&(c=s(c)),!H(c)||T.min!==void 0&&cT.max?m.set(d):m.set(+c)}},integer:{coerceFunction:function(c,m,d,T){if((T.extras||[]).indexOf(c)!==-1){m.set(c);return}a(c)&&(c=s(c)),c%1||!H(c)||T.min!==void 0&&cT.max?m.set(d):m.set(+c)}},string:{coerceFunction:function(c,m,d,T){if(typeof c!="string"){var l=typeof c=="number";T.strict===!0||!l?m.set(d):m.set(String(c))}else T.noBlank&&!c?m.set(d):m.set(c)}},color:{coerceFunction:function(c,m,d){a(c)&&(c=s(c)),p(c).isValid()?m.set(c):m.set(d)}},colorlist:{coerceFunction:function(c,m,d){function T(l){return p(l).isValid()}!Array.isArray(c)||!c.length?m.set(d):c.every(T)?m.set(c):m.set(d)}},colorscale:{coerceFunction:function(c,m,d){m.set(E.get(c,d))}},angle:{coerceFunction:function(c,m,d){a(c)&&(c=s(c)),c==="auto"?m.set("auto"):H(c)?m.set(i(+c,360)):m.set(d)}},subplotid:{coerceFunction:function(c,m,d,T){var l=T.regex||o(d);let _=w=>typeof w=="string"&&l.test(w);_(c)||T.arrayOk&&n(c)&&c.length>0&&c.every(_)?m.set(c):m.set(d)},validateFunction:function(c,m){var d=m.dflt;return c===d?!0:typeof c!="string"?!1:!!o(d).test(c)}},flaglist:{coerceFunction:function(c,m,d,T){if((T.extras||[]).indexOf(c)!==-1){m.set(c);return}if(typeof c!="string"){m.set(d);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(p.logging>0){var e=["WARN:"];for(E=0;E0){var t=[];for(E=0;E"),"stick")}},S.error=function(){var E;if(p.logging>0){var e=["ERROR:"];for(E=0;E0){var t=[];for(E=0;E"),"stick")}}}}),As=De({"src/lib/noop.js"(Y,H){"use strict";H.exports=function(){}}}),Sc=De({"src/lib/push_unique.js"(Y,H){"use strict";H.exports=function(x,S){if(S instanceof RegExp){for(var E=S.toString(),e=0;eRi({valType:"string",dflt:"",editType:E},e!==!1?{arrayOk:!0}:{}),Y.texttemplateAttrs=({editType:E="calc",arrayOk:e}={},t={})=>Ri({valType:"string",dflt:"",editType:E},e!==!1?{arrayOk:!0}:{}),Y.shapeTexttemplateAttrs=({editType:E="arraydraw",newshape:e}={},t={})=>({valType:"string",dflt:"",editType:E}),Y.templatefallbackAttrs=({editType:E="none"}={})=>({valType:"any",dflt:"-",editType:E})}}),g_=De({"src/components/shapes/label_texttemplate.js"(Y,H){"use strict";function p(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 i(A){return A.y0shift||0}function n(A){return A.y1shift||0}function a(A,M){return p(A.x1,M)+o(A)-p(A.x0,M)-r(A)}function s(A,M,g){return p(A.y1,g)+n(A)-p(A.y0,g)-i(A)}function h(A,M){return Math.abs(a(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(a(A,M),2)+Math.pow(s(A,M,g),2))}function d(A,M){return x((p(A.x1,M)+o(A)+p(A.x0,M)+r(A))/2,M)}function T(A,M,g){return x((p(A.y1,g)+n(A)+p(A.y0,g)+i(A))/2,g)}function l(A,M,g){return A.type!=="line"?void 0:s(A,M,g)/a(A,M)}var _=["x0","x1","y0","y1","dy","height","ycenter"],w=["x0","x1","y0","y1","dx","width","xcenter"];H.exports={x0:S,x1:E,y0:e,y1:t,slope:l,dx:a,dy:s,width:h,height:c,length:m,xcenter:d,ycenter:T,simpleXVariables:_,simpleYVariables:w}}}),hM=De({"src/components/shapes/draw_newshape/attributes.js"(Y,H){"use strict";var p=gc().overrideAll,x=Yl(),S=qu(),E=Ch().dash,e=Xo().extendFlat,{shapeTexttemplateAttrs:t,templatefallbackAttrs:r}=ou(),o=g_();H.exports=p({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")}}),dM=De({"src/components/selections/draw_newselection/attributes.js"(Y,H){"use strict";var p=Ch().dash,x=Xo().extendFlat;H.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({},p,{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"}}}}),y_=De({"src/plots/pad_attributes.js"(Y,H){"use strict";H.exports=function(p){var x=p.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}}}}),Wm=De({"src/plots/layout_attributes.js"(Y,H){"use strict";var p=qu(),x=oy(),S=Pf(),E=hM(),e=dM(),t=y_(),r=Xo().extendFlat,o=p({editType:"calc"});o.family.dflt='"Open Sans", verdana, arial, sans-serif',o.size.dflt=12,o.color.dflt=S.defaultLine,H.exports={font:o,title:{text:{valType:"string",editType:"layoutstyle"},font:p({editType:"layoutstyle"}),subtitle:{text:{valType:"string",editType:"layoutstyle"},font:p({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"})}}}),vM=De({"node_modules/maplibre-gl/dist/maplibre-gl.css"(){(function(){if(!document.getElementById("a75c73da1cd7a97e8992659f6aed556255838daadea9ca0c9fc3af7f1ddf63c0")){var Y=document.createElement("style");Y.id="a75c73da1cd7a97e8992659f6aed556255838daadea9ca0c9fc3af7f1ddf63c0",Y.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(Y)}})()}}),Mo=De({"src/registry.js"(Y){"use strict";var H=Yo(),p=As(),x=Sc(),S=fu(),E=ny().addStyleRule,e=Xo(),t=Yl(),r=Wm(),o=e.extendFlat,i=e.extendDeepAll;Y.modules={},Y.allCategories={},Y.allTypes=[],Y.subplotsRegistry={},Y.componentsRegistry={},Y.layoutArrayContainers=[],Y.layoutArrayRegexes=[],Y.traceLayoutAttributes={},Y.localeRegistry={},Y.apiMethodRegistry={},Y.collectableSubplotTypes=null,Y.register=function(w){if(Y.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 O=d(N),X=F.charAt(0);O&&(X==="G"||X==="g")&&(F=F.slice(1),N="");var J=O&&N.slice(0,7)==="chinese",se=F.match(J?c:h);if(!se)return e;var le=se[1],ce=se[3]||"1",q=Number(se[5]||1),Z=Number(se[7]||0),ee=Number(se[9]||0),V=Number(se[11]||0);if(O){if(le.length===2)return e;le=Number(le);var oe;try{var ie=a.getComponentMethod("calendars","getCal")(N);if(J){var j=ce.charAt(ce.length-1)==="i";ce=parseInt(ce,10),oe=ie.newDate(le,ie.toMonthIndex(le,ce,j),q)}else oe=ie.newDate(le,Number(ce),q)}catch{return e}return oe?(oe.toJD()-n)*t+Z*r+ee*o+V*i:e}le.length===2?le=(Number(le)+2e3-m)%100+m:le=Number(le),ce-=1;var Q=new Date(Date.UTC(2e3,ce,q,Z,ee));return Q.setUTCFullYear(le),Q.getUTCMonth()!==ce||Q.getUTCDate()!==q?e:Q.getTime()+V*i},l=Y.MIN_MS=Y.dateTime2ms("-9999"),_=Y.MAX_MS=Y.dateTime2ms("9999-12-31 23:59:59.9999"),Y.isDateTime=function(F,N){return Y.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;Y.ms2DateTime=function(F,N,B){if(typeof F!="number"||!(F>=l&&F<=_))return e;N||(N=0);var I=Math.floor(S(F+.05,1)*10),U=Math.round(F-I/10),O,X,J,se,le,ce;if(d(B)){var q=Math.floor(U/t)+n,Z=Math.floor(S(F,t));try{O=a.getComponentMethod("calendars","getCal")(B).fromJD(q).formatDate("yyyy-mm-dd")}catch{O=s("G%Y-%m-%d")(new Date(U))}if(O.charAt(0)==="-")for(;O.length<11;)O="-0"+O.slice(1);else for(;O.length<10;)O="0"+O;X=N=l+t&&F<=_-t))return e;var N=Math.floor(S(F+.05,1)*10),B=new Date(Math.round(F-N/10)),I=H("%Y-%m-%d")(B),U=B.getHours(),O=B.getMinutes(),X=B.getSeconds(),J=B.getUTCMilliseconds()*10+N;return b(I,U,O,X,J)};function b(F,N,B,I,U){if((N||B||I||U)&&(F+=" "+w(N,2)+":"+w(B,2),(I||U)&&(F+=":"+w(I,2),U))){for(var O=4;U%10===0;)O-=1,U/=10;F+="."+w(U,O)}return F}Y.cleanDate=function(F,N,B){if(F===e)return N;if(Y.isJSDate(F)||typeof F=="number"&&isFinite(F)){if(d(B))return x.error("JS Dates and milliseconds are incompatible with world calendars",F),N;if(F=Y.ms2DateTimeLocal(+F),!F&&N!==void 0)return N}else if(!Y.isDateTime(F,B))return x.error("unrecognized date",F),N;return F};var v=/%\d?f/g,u=/%h/g,y={1:"1",2:"1",3:"2",4:"2"};function f(F,N,B,I){F=F.replace(v,function(O){var X=Math.min(+O.charAt(1)||6,6),J=(N/1e3%1+2).toFixed(X).slice(2).replace(/0+$/,"")||"0";return J});var U=new Date(Math.floor(N+.05));if(F=F.replace(u,function(){return y[B("%q")(U)]}),d(I))try{F=a.getComponentMethod("calendars","worldCalFmt")(F,N,I)}catch{return"Invalid"}return B(F)(U)}var R=[59,59.9,59.99,59.999,59.9999];function L(F,N){var B=S(F+.05,t),I=w(Math.floor(B/r),2)+":"+w(S(Math.floor(B/o),60),2);if(N!=="M"){p(N)||(N=0);var U=Math.min(S(F/i,60),R[N]),O=(100+U).toFixed(N).slice(1);N>0&&(O=O.replace(/0+$/,"").replace(/[\.]$/,"")),I+=":"+O}return I}Y.formatDate=function(F,N,B,I,U,O){if(U=d(U)&&U,!N)if(B==="y")N=O.year;else if(B==="m")N=O.month;else if(B==="d")N=O.dayMonth+` -`+O.year;else return L(F,B)+` -`+f(O.dayMonthYear,F,I,U);return f(N,F,I,U)};var z=3*t;Y.incrementMonth=function(F,N,B){B=d(B)&&B;var I=S(F,t);if(F=Math.round(F-I),B)try{var U=Math.round(F/t)+n,O=a.getComponentMethod("calendars","getCal")(B),X=O.fromJD(U);return N%12?O.add(X,N,"m"):O.add(X,N/12,"y"),(X.toJD()-n)*t+I}catch{x.error("invalid ms "+F+" in calendar "+B)}var J=new Date(F+z);return J.setUTCMonth(J.getUTCMonth()+N)+I-z},Y.findExactDates=function(F,N){for(var B=0,I=0,U=0,O=0,X,J,se=d(N)&&a.getComponentMethod("calendars","getCal")(N),le=0;le1?(n[h-1]-n[0])/(h-1):1,d,T;for(m>=0?T=a?e:t:T=a?o:r,i+=m*E*(a?-1:1)*(m>=0?1:-1);s90&&p.log("Long binary search..."),s-1};function e(i,n){return in}function o(i,n){return i>=n}Y.sorterAsc=function(i,n){return i-n},Y.sorterDes=function(i,n){return n-i},Y.distinctVals=function(i){var n=i.slice();n.sort(Y.sorterAsc);var a;for(a=n.length-1;a>-1&&n[a]===S;a--);for(var s=n[a]-n[0]||1,h=s/(a||1)/1e4,c=[],m,d=0;d<=a;d++){var T=n[d],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}},Y.roundUp=function(i,n,a){for(var s=0,h=n.length-1,c,m=0,d=a?0:1,T=a?1:0,l=a?Math.ceil:Math.floor;s0&&(s=1),a&&s)return i.sort(n)}return s?i:i.reverse()},Y.findIndexOfMin=function(i,n){n=n||x;for(var a=1/0,s,h=0;hE.length)&&(e=E.length),H(S)||(S=!1),p(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)]}}}),gM=De({"src/lib/angles.js"(Y,H){"use strict";var p=gf(),x=p.mod,S=p.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 i(T,l){return S(l-T,e)}function n(T,l){return Math.abs(i(T,l))}function a(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(!a(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]),v,u,y,f,R;b?(v=0,u=E,y=e):_1/3&&p.x<2/3},Y.isRightAnchor=function(p){return p.xanchor==="right"||p.xanchor==="auto"&&p.x>=2/3},Y.isTopAnchor=function(p){return p.yanchor==="top"||p.yanchor==="auto"&&p.y>=2/3},Y.isMiddleAnchor=function(p){return p.yanchor==="middle"||p.yanchor==="auto"&&p.y>1/3&&p.y<2/3},Y.isBottomAnchor=function(p){return p.yanchor==="bottom"||p.yanchor==="auto"&&p.y<=1/3}}}),_M=De({"src/lib/geometry2d.js"(Y){"use strict";var H=gf().mod;Y.segmentsIntersect=p;function p(t,r,o,i,n,a,s,h){var c=o-t,m=n-t,d=s-n,T=i-r,l=a-r,_=h-a,w=c*_-d*T;if(w===0)return null;var A=(m*_-d*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}}Y.segmentDistance=function(r,o,i,n,a,s,h,c){if(p(r,o,i,n,a,s,h,c))return 0;var m=i-r,d=n-o,T=h-a,l=c-s,_=m*m+d*d,w=T*T+l*l,A=Math.min(x(m,d,_,a-r,s-o),x(m,d,_,h-r,c-o),x(T,l,w,r-a,o-s),x(T,l,w,i-a,n-s));return Math.sqrt(A)};function x(t,r,o,i,n){var a=i*t+n*r;if(a<0)return i*i+n*n;if(a>o){var s=i-t,h=n-r;return s*s+h*h}else{var c=i*r-n*t;return c*c/o}}var S,E,e;Y.getTextLocation=function(r,o,i,n){if((r!==E||n!==e)&&(S={},E=r,e=n),S[i])return S[i];var a=r.getPointAtLength(H(i-n/2,o)),s=r.getPointAtLength(H(i+n/2,o)),h=Math.atan((s.y-a.y)/(s.x-a.x)),c=r.getPointAtLength(H(i,o)),m=(c.x*4+a.x+s.x)/6,d=(c.y*4+a.y+s.y)/6,T={x:m,y:d,theta:h};return S[i]=T,T},Y.clearLocationCache=function(){E=null},Y.getVisibleSegment=function(r,o,i){var n=o.left,a=o.right,s=o.top,h=o.bottom,c=0,m=r.getTotalLength(),d=m,T,l;function _(A){var M=r.getPointAtLength(A);A===0?T=M:A===m&&(l=M);var g=M.xa?M.x-a:0,b=M.yh?M.y-h:0;return Math.sqrt(g*g+b*b)}for(var w=_(c);w;){if(c+=w+i,c>d)return;w=_(c)}for(w=_(d);w;){if(d-=w+i,c>d)return;w=_(d)}return{min:c,max:d,len:d-c,total:m,isClosed:c===0&&d===m&&Math.abs(T.x-l.x)<.1&&Math.abs(T.y-l.y)<.1}},Y.findPointOnPath=function(r,o,i,n){n=n||{};for(var a=n.pathLength||r.getTotalLength(),s=n.tolerance||.001,h=n.iterationLimit||30,c=r.getPointAtLength(0)[i]>r.getPointAtLength(a)[i]?-1:1,m=0,d=0,T=a,l,_,w;m0?T=l:d=l,m++}return _}}}),x_=De({"src/lib/throttle.js"(Y){"use strict";var H={};Y.throttle=function(S,E,e){var t=H[S],r=Date.now();if(!t){for(var o in H)H[o].tst.ts+E){i();return}t.timer=setTimeout(function(){i(),t.timer=null},E)},Y.done=function(x){var S=H[x];return!S||!S.timer?Promise.resolve():new Promise(function(E){var e=S.onDone;S.onDone=function(){e&&e(),E(),S.onDone=null}})},Y.clear=function(x){if(x)p(H[x]),delete H[x];else for(var S in H)Y.clear(S)};function p(x){x&&x.timer!==null&&(clearTimeout(x.timer),x.timer=null)}}}),xM=De({"src/lib/clear_responsive.js"(Y,H){"use strict";H.exports=function(x){x._responsiveChartHandler&&(window.removeEventListener("resize",x._responsiveChartHandler),delete x._responsiveChartHandler)}}}),bM=De({"node_modules/is-mobile/index.js"(Y,H){"use strict";H.exports=E,H.exports.isMobile=E,H.exports.default=E;var p=/(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=p.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}}}),wM=De({"src/lib/preserve_drawing_buffer.js"(Y,H){"use strict";var p=vn(),x=bM();H.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(" "),i=1;i-1;a--){var s=o[a];if(s.slice(0,8)==="Version/"){var h=s.slice(8).split(".")[0];if(p(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}}}),TM=De({"src/lib/make_trace_groups.js"(Y,H){"use strict";var p=za();H.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]=p.select(this)}),t}}}),AM=De({"src/lib/localize.js"(Y,H){"use strict";var p=Mo();H.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 i=(r[e]||{}).dictionary;if(i){var n=i[E];if(n)return n}r=p.localeRegistry}var a=e.split("-")[0];if(a===e)break;e=a}return E}}}),Bw=De({"src/lib/filter_unique.js"(Y,H){"use strict";H.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 i=parseFloat(e).toPrecision(12);i.indexOf("e+")===-1&&(e=+i)}}return e}}}),EM=De({"src/lib/clean_number.js"(Y,H){"use strict";var p=vn(),x=zn().BADNUM,S=/^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g;H.exports=function(e){return typeof e=="string"&&(e=e.replace(S,"")),p(e)?Number(e):x}}}),ui=De({"src/lib/index.js"(Y,H){"use strict";var p=za(),x=Do().utcFormat,S=Tn().format,E=vn(),e=zn(),t=e.FP_SAFE,r=-t,o=e.BADNUM,i=H.exports={};i.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={};i.warnBadFormat=function(ie){var j=String(ie);n[j]||(n[j]=1,i.warn('encountered bad format: "'+j+'"'))},i.noFormat=function(ie){return String(ie)},i.numberFormat=function(ie){var j;try{j=S(i.adjustFormat(ie))}catch{return i.warnBadFormat(ie),i.noFormat}return j},i.nestedProperty=bu(),i.keyedContainer=Tf(),i.relativeAttr=Hc(),i.isPlainObject=fu(),i.toLogRange=Ac(),i.relinkPrivateKeys=af();var a=vl();i.isArrayBuffer=a.isArrayBuffer,i.isTypedArray=a.isTypedArray,i.isArrayOrTypedArray=a.isArrayOrTypedArray,i.isArray1D=a.isArray1D,i.ensureArray=a.ensureArray,i.concat=a.concat,i.maxRowLength=a.maxRowLength,i.minRowLength=a.minRowLength;var s=gf();i.mod=s.mod,i.modHalf=s.modHalf;var h=Rn();i.valObjectMeta=h.valObjectMeta,i.coerce=h.coerce,i.coerce2=h.coerce2,i.coerceFont=h.coerceFont,i.coercePattern=h.coercePattern,i.coerceHoverinfo=h.coerceHoverinfo,i.coerceSelectionMarkerOpacity=h.coerceSelectionMarkerOpacity,i.validate=h.validate;var c=pM();i.dateTime2ms=c.dateTime2ms,i.isDateTime=c.isDateTime,i.ms2DateTime=c.ms2DateTime,i.ms2DateTimeLocal=c.ms2DateTimeLocal,i.cleanDate=c.cleanDate,i.isJSDate=c.isJSDate,i.formatDate=c.formatDate,i.incrementMonth=c.incrementMonth,i.dateTick0=c.dateTick0,i.dfltRange=c.dfltRange,i.findExactDates=c.findExactDates,i.MIN_MS=c.MIN_MS,i.MAX_MS=c.MAX_MS;var m=__();i.findBin=m.findBin,i.sorterAsc=m.sorterAsc,i.sorterDes=m.sorterDes,i.distinctVals=m.distinctVals,i.roundUp=m.roundUp,i.sort=m.sort,i.findIndexOfMin=m.findIndexOfMin,i.sortObjectKeys=jp();var d=mM();i.aggNums=d.aggNums,i.len=d.len,i.mean=d.mean,i.geometricMean=d.geometricMean,i.median=d.median,i.midRange=d.midRange,i.variance=d.variance,i.stdev=d.stdev,i.interp=d.interp;var T=m_();i.init2dArray=T.init2dArray,i.transposeRagged=T.transposeRagged,i.dot=T.dot,i.translationMatrix=T.translationMatrix,i.rotationMatrix=T.rotationMatrix,i.rotationXYMatrix=T.rotationXYMatrix,i.apply3DTransform=T.apply3DTransform,i.apply2DTransform=T.apply2DTransform,i.apply2DTransform2=T.apply2DTransform2,i.convertCssMatrix=T.convertCssMatrix,i.inverseTransformMatrix=T.inverseTransformMatrix;var l=gM();i.deg2rad=l.deg2rad,i.rad2deg=l.rad2deg,i.angleDelta=l.angleDelta,i.angleDist=l.angleDist,i.isFullCircle=l.isFullCircle,i.isAngleInsideSector=l.isAngleInsideSector,i.isPtInsideSector=l.isPtInsideSector,i.pathArc=l.pathArc,i.pathSector=l.pathSector,i.pathAnnulus=l.pathAnnulus;var _=yM();i.isLeftAnchor=_.isLeftAnchor,i.isCenterAnchor=_.isCenterAnchor,i.isRightAnchor=_.isRightAnchor,i.isTopAnchor=_.isTopAnchor,i.isMiddleAnchor=_.isMiddleAnchor,i.isBottomAnchor=_.isBottomAnchor;var w=_M();i.segmentsIntersect=w.segmentsIntersect,i.segmentDistance=w.segmentDistance,i.getTextLocation=w.getTextLocation,i.clearLocationCache=w.clearLocationCache,i.getVisibleSegment=w.getVisibleSegment,i.findPointOnPath=w.findPointOnPath;var A=Xo();i.extendFlat=A.extendFlat,i.extendDeep=A.extendDeep,i.extendDeepAll=A.extendDeepAll,i.extendDeepNoArrays=A.extendDeepNoArrays;var M=Yo();i.log=M.log,i.warn=M.warn,i.error=M.error;var g=Uo();i.counterRegex=g.counter;var b=x_();i.throttle=b.throttle,i.throttleDone=b.done,i.clearThrottle=b.clear;var v=ny();i.getGraphDiv=v.getGraphDiv,i.isPlotDiv=v.isPlotDiv,i.removeElement=v.removeElement,i.addStyleRule=v.addStyleRule,i.addRelatedStyleRule=v.addRelatedStyleRule,i.deleteRelatedStyleRule=v.deleteRelatedStyleRule,i.setStyleOnHover=v.setStyleOnHover,i.getFullTransformMatrix=v.getFullTransformMatrix,i.getElementTransformMatrix=v.getElementTransformMatrix,i.getElementAndAncestors=v.getElementAndAncestors,i.equalDomRects=v.equalDomRects,i.clearResponsive=xM(),i.preserveDrawingBuffer=wM(),i.makeTraceGroups=TM(),i._=AM(),i.notifier=jn(),i.filterUnique=Bw(),i.filterVisible=SM(),i.pushUnique=Sc(),i.increment=MM(),i.cleanNumber=EM(),i.ensureNumber=function(j){return E(j)?(j=Number(j),j>t||j=j?!1:E(ie)&&ie>=0&&ie%1===0},i.noop=As(),i.identity=sy(),i.repeat=function(ie,j){for(var Q=new Array(j),re=0;reQ?Math.max(Q,Math.min(j,ie)):Math.max(j,Math.min(Q,ie))},i.bBoxIntersect=function(ie,j,Q){return Q=Q||0,ie.left<=j.right+Q&&j.left<=ie.right+Q&&ie.top<=j.bottom+Q&&j.top<=ie.bottom+Q},i.simpleMap=function(ie,j,Q,re,ue){for(var _e=ie.length,we=new Array(_e),Re=0;Re<_e;Re++)we[Re]=j(ie[Re],Q,re,ue);return we},i.randstr=function ie(j,Q,re,ue){if(re||(re=16),Q===void 0&&(Q=24),Q<=0)return"0";var _e=Math.log(Math.pow(2,Q))/Math.log(re),we="",Re,ze,Xe;for(Re=2;_e===1/0;Re*=2)_e=Math.log(Math.pow(2,Q/Re))/Math.log(re)*Re;var tt=_e-Math.floor(_e);for(Re=0;Re=Math.pow(2,Q)?ue>10?(i.warn("randstr failed uniqueness"),we):ie(j,Q,re,(ue||0)+1):we},i.OptionControl=function(ie,j){ie||(ie={}),j||(j="opt");var Q={};return Q.optionList=[],Q._newoption=function(re){re[j]=ie,Q[re.name]=re,Q.optionList.push(re)},Q["_"+j]=ie,Q},i.smooth=function(ie,j){if(j=Math.round(j)||0,j<2)return ie;var Q=ie.length,re=2*Q,ue=2*j-1,_e=new Array(ue),we=new Array(Q),Re,ze,Xe,tt;for(Re=0;Re=re&&(Xe-=re*Math.floor(Xe/re)),Xe<0?Xe=-1-Xe:Xe>=Q&&(Xe=re-1-Xe),tt+=ie[Xe]*_e[ze];we[Re]=tt}return we},i.syncOrAsync=function(ie,j,Q){var re,ue;function _e(){return i.syncOrAsync(ie,j,Q)}for(;ie.length;)if(ue=ie.splice(0,1)[0],re=ue(j),re&&re.then)return re.then(_e);return Q&&Q(j)},i.stripTrailingSlash=function(ie){return ie.slice(-1)==="/"?ie.slice(0,-1):ie},i.noneOrAll=function(ie,j,Q){if(ie){var re=!1,ue=!0,_e,we;for(_e=0;_e0?ue:0})},i.fillArray=function(ie,j,Q,re){if(re=re||i.identity,i.isArrayOrTypedArray(ie))for(var ue=0;ueL.test(window.navigator.userAgent);var z=/Firefox\/(\d+)\.\d+/;i.getFirefoxVersion=function(){var ie=z.exec(window.navigator.userAgent);if(ie&&ie.length===2){var j=parseInt(ie[1]);if(!isNaN(j))return j}return null},i.isD3Selection=function(ie){return ie instanceof p.selection},i.ensureSingle=function(ie,j,Q,re){var ue=ie.select(j+(Q?"."+Q:""));if(ue.size())return ue;var _e=ie.append(j);return Q&&_e.classed(Q,!0),re&&_e.call(re),_e},i.ensureSingleById=function(ie,j,Q,re){var ue=ie.select(j+"#"+Q);if(ue.size())return ue;var _e=ie.append(j).attr("id",Q);return re&&_e.call(re),_e},i.objectFromPath=function(ie,j){for(var Q=ie.split("."),re,ue=re={},_e=0;_e1?ue+we[1]:"";if(_e&&(we.length>1||Re.length>4||Q))for(;re.test(Re);)Re=Re.replace(re,"$1"+_e+"$2");return Re+ze},i.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var I=/^\w*$/;i.templateString=function(ie,j){var Q={};return ie.replace(i.TEMPLATE_STRING_REGEX,function(re,ue){var _e;return I.test(ue)?_e=j[ue]:(Q[ue]=Q[ue]||i.nestedProperty(j,ue).get,_e=Q[ue](!0)),_e!==void 0?_e:""})};var U={max:10,count:0,name:"hovertemplate"};i.hovertemplateString=ie=>ce(yi(Ri({},ie),{opts:U}));var O={max:10,count:0,name:"texttemplate"};i.texttemplateString=ie=>ce(yi(Ri({},ie),{opts:O}));var X=/^(\S+)([\*\/])(-?\d+(\.\d+)?)$/;function J(ie){var j=ie.match(X);return j?{key:j[1],op:j[2],number:Number(j[3])}:{key:ie,op:null,number:null}}var se={max:10,count:0,name:"texttemplate",parseMultDiv:!0};i.texttemplateStringForShapes=ie=>ce(yi(Ri({},ie),{opts:se}));var le=/^[:|\|]/;function ce({data:ie=[],locale:j,fallback:Q,labels:re={},opts:ue,template:_e}){return _e.replace(i.TEMPLATE_STRING_REGEX,(we,Re,ze)=>{let Xe=["xother","yother"].includes(Re),tt=["_xother","_yother"].includes(Re),it=["_xother_","_yother_"].includes(Re),et=["xother_","yother_"].includes(Re),nt=Xe||tt||et||it;(tt||it)&&(Re=Re.substring(1)),(et||it)&&(Re=Re.substring(0,Re.length-1));let Ae=null,me=null;if(ue.parseMultDiv){var fe=J(Re);Re=fe.key,Ae=fe.op,me=fe.number}let Be;if(nt){if(re[Re]===void 0)return"";Be=re[Re]}else for(let It of ie)if(It){if(It.hasOwnProperty(Re)){Be=It[Re];break}if(I.test(Re)||(Be=i.nestedProperty(It,Re).get(!0)),Be!==void 0)break}if(Be===void 0){let{count:It,max:Pt,name:Vt}=ue,Wt=Q===!1?we:Q;return It=q&&we<=Z,Xe=Re>=q&&Re<=Z;if(ze&&(re=10*re+we-q),Xe&&(ue=10*ue+Re-q),!ze||!Xe){if(re!==ue)return re-ue;if(we!==Re)return we-Re}}return ue-re};var ee=2e9;i.seedPseudoRandom=function(){ee=2e9},i.pseudoRandom=function(){var ie=ee;return ee=(69069*ee+1)%4294967296,Math.abs(ee-ie)<429496729?i.pseudoRandom():ee/4294967296},i.fillText=function(ie,j,Q){var re=Array.isArray(Q)?function(we){Q.push(we)}:function(we){Q.text=we},ue=i.extractOption(ie,j,"htx","hovertext");if(i.isValidTextValue(ue))return re(ue);var _e=i.extractOption(ie,j,"tx","text");if(i.isValidTextValue(_e))return re(_e)},i.isValidTextValue=function(ie){return ie||ie===0},i.formatPercent=function(ie,j){j=j||0;for(var Q=(Math.round(100*ie*Math.pow(10,j))*Math.pow(.1,j)).toFixed(j)+"%",re=0;re1&&(Xe=1):Xe=0,i.strTranslate(ue-Xe*(Q+we),_e-Xe*(re+Re))+i.strScale(Xe)+(ze?"rotate("+ze+(j?"":" "+Q+" "+re)+")":"")},i.setTransormAndDisplay=function(ie,j){ie.attr("transform",i.getTextTransform(j)),ie.style("display",j.scale?null:"none")},i.ensureUniformFontSize=function(ie,j){var Q=i.extendFlat({},j);return Q.size=Math.max(j.size,ie._fullLayout.uniformtext.minsize||0),Q},i.join2=function(ie,j,Q){var re=ie.length;return re>1?ie.slice(0,-1).join(j)+Q+ie[re-1]:ie.join(j)},i.bigFont=function(ie){return Math.round(1.2*ie)};var V=i.getFirefoxVersion(),oe=V!==null&&V<86;i.getPositionFromD3Event=function(){return oe?[p.event.layerX,p.event.layerY]:[p.event.offsetX,p.event.offsetY]}}}),kM=De({"build/plotcss.js"(){"use strict";var Y=ui(),H={"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 H)p=x.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier"),Y.addStyleRule(p,H[x]);var p,x}}),Ow=De({"node_modules/is-browser/client.js"(Y,H){H.exports=!0}}),Nw=De({"node_modules/has-hover/index.js"(Y,H){"use strict";var p=Ow(),x;typeof window.matchMedia=="function"?x=!window.matchMedia("(hover: none)").matches:x=p,H.exports=x}}),N0=De({"node_modules/events/events.js"(Y,H){"use strict";var p=typeof Reflect=="object"?Reflect:null,x=p&&typeof p.apply=="function"?p.apply:function(M,g,b){return Function.prototype.apply.call(M,g,b)},S;p&&typeof p.ownKeys=="function"?S=p.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)}H.exports=t,H.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 i(A){return A._maxListeners===void 0?t.defaultMaxListeners:A._maxListeners}t.prototype.getMaxListeners=function(){return i(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>v&&!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 a(){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},v=a.bind(b);return v.listener=g,b.wrapFn=v,v}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,v,u,y,f;if(o(g),v=this._events,v===void 0)return this;if(b=v[M],b===void 0)return this;if(b===g||b.listener===g)--this._eventsCount===0?this._events=Object.create(null):(delete v[M],v.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():d(b,u),b.length===1&&(v[M]=b[0]),v.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,v;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(v=0;v=0;v--)this.removeListener(M,g[v]);return this};function h(A,M,g){var b=A._events;if(b===void 0)return[];var v=b[M];return v===void 0?[]:typeof v=="function"?g?[v.listener||v]:[v]:g?T(v):m(v,v.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 i(a){if(a.listener){if(r.removeListener(E,a.listener),!a.fired)return a.fired=!0,a.listener.apply(r,[e])}else return a.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=I.length)return!1;if(L.dimensions===2){if(F++,z.length===F)return L;var U=z[F];if(!w(U))return!1;L=I[B][U]}else L=I[B]}else L=I}}return L}function w(L){return L===Math.round(L)&&L>=0}function A(L){var z,F;z=H.modules[L]._module,F=z.basePlotModule;var N={};N.type=null;var B=o({},x),I=o({},z.attributes);Y.crawl(I,function(X,J,se,le,ce){a(B,ce).set(void 0),X===void 0&&a(I,ce).set(void 0)}),o(N,B),H.traceIs(L,"noOpacity")&&delete N.opacity,H.traceIs(L,"showLegend")||(delete N.showlegend,delete N.legendgroup),H.traceIs(L,"noHover")&&(delete N.hoverinfo,delete N.hoverlabel),z.selectPoints||delete N.selectedpoints,o(N,I),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 O={};o(O,z.layoutAttributes),U.layoutAttributes=b(O)}return z.animatable||Y.crawl(U,function(X){Y.isValObject(X)&&"anim"in X&&delete X.anim}),U}function M(){var L={},z,F;o(L,S);for(z in H.subplotsRegistry)if(F=H.subplotsRegistry[z],!!F.layoutAttributes)if(Array.isArray(F.attr))for(var N=0;N=i&&(o._input||{})._templateitemname;a&&(n=i);var s=r+"["+n+"]",h;function c(){h={},a&&(h[s]={},h[s][x]=a)}c();function m(_,w){h[_]=w}function d(_,w){a?H.nestedProperty(h[s],_).set(w):h[s+"."+_]=w}function T(){var _=h;return c(),_}function l(_,w){_&&d(_,w);var A=T();for(var M in A)H.nestedProperty(t,M).set(A[M])}return{modifyBase:m,modifyItem:d,getUpdateObj:T,applyUpdate:l}}}}),th=De({"src/plots/cartesian/constants.js"(Y,H){"use strict";var p=Uo().counter;H.exports={idRegex:{x:p("x","( domain)?"),y:p("y","( domain)?")},attrRegex:p("[xy]axis"),xAxisMatch:p("xaxis"),yAxisMatch:p("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"}}}),nf=De({"src/plots/cartesian/axis_ids.js"(Y){"use strict";var H=Mo(),p=th();Y.id2name=function(E){if(!(typeof E!="string"||!E.match(p.AX_ID_PATTERN))){var e=E.split(" ")[0].slice(1);return e==="1"&&(e=""),E.charAt(0)+"axis"+e}},Y.name2id=function(E){if(E.match(p.AX_NAME_PATTERN)){var e=E.slice(5);return e==="1"&&(e=""),E.charAt(0)+e}},Y.cleanId=function(E,e,t){var r=/( domain)$/.test(E);if(!(typeof E!="string"||!E.match(p.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":"")}},Y.list=function(S,E,e){var t=S._fullLayout;if(!t)return[];var r=Y.listIds(S,E),o=new Array(r.length),i;for(i=0;it?1:-1:+(S.slice(1)||1)-+(E.slice(1)||1)},Y.ref2id=function(S){return/^[xyz]/.test(S)?S.split(" ")[0]:!1};function x(S,E){if(E&&E.length){for(var e=0;e0?".":"")+a;p.isPlainObject(s)?t(s,o,h,n+1):o(h,a,s)}})}}}),Mc=De({"src/plots/plots.js"(Y,H){"use strict";var p=za(),x=Do().timeFormatLocale,S=Tn().formatLocale,E=vn(),e=zl(),t=Mo(),r=Ym(),o=Gl(),i=ui(),n=vo(),a=zn().BADNUM,s=nf(),h=Vp().clearOutline,c=b_(),m=oy(),d=Uw(),T=Lh().getModuleCalcData,l=i.relinkPrivateKeys,_=i._,w=H.exports={};i.extendFlat(w,t),w.attributes=Yl(),w.attributes.type.values=w.allTypes,w.fontAttrs=qu(),w.layoutAttributes=Wm();var A=LM();w.executeAPICommand=A.executeAPICommand,w.computeAPICommandBindings=A.computeAPICommandBindings,w.manageCommandObserver=A.manageCommandObserver,w.hasSimpleAPICommandBindings=A.hasSimpleAPICommandBindings,w.redrawText=function(q){return q=i.getGraphDiv(q),new Promise(function(Z){setTimeout(function(){q._fullLayout&&(t.getComponentMethod("annotations","draw")(q),t.getComponentMethod("legend","draw")(q),t.getComponentMethod("colorbar","draw")(q),Z(w.previousPromises(q)))},300)})},w.resize=function(q){q=i.getGraphDiv(q);var Z,ee=new Promise(function(V,oe){(!q||i.isHidden(q))&&oe(new Error("Resize must be passed a displayed plot div element.")),q._redrawTimer&&clearTimeout(q._redrawTimer),q._resolveResize&&(Z=q._resolveResize),q._resolveResize=V,q._redrawTimer=setTimeout(function(){if(!q.layout||q.layout.width&&q.layout.height||i.isHidden(q)){V(q);return}delete q.layout.width,delete q.layout.height;var ie=q.changed;q.autoplay=!0,t.call("relayout",q,{autosize:!0}).then(function(){q.changed=ie,q._resolveResize===V&&(delete q._resolveResize,V(q))})},100)});return Z&&Z(ee),ee},w.previousPromises=function(q){if((q._promises||[]).length)return Promise.all(q._promises).then(function(){q._promises=[]})},w.addLinks=function(q){if(!(!q._context.showLink&&!q._context.showSources)){var Z=q._fullLayout,ee=i.ensureSingle(Z._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 ue=p.select(this);ue.append("tspan").classed("js-link-to-tool",!0),ue.append("tspan").classed("js-link-spacer",!0),ue.append("tspan").classed("js-sourcelinks",!0)})}),V=ee.node(),oe={y:Z._paper.attr("height")-9};document.body.contains(V)&&V.getComputedTextLength()>=Z.width-20?(oe["text-anchor"]="start",oe.x=5):(oe["text-anchor"]="end",oe.x=Z._paper.attr("width")-7),ee.attr(oe);var ie=ee.select(".js-link-to-tool"),j=ee.select(".js-link-spacer"),Q=ee.select(".js-sourcelinks");q._context.showSources&&q._context.showSources(q),q._context.showLink&&M(q,ie),j.text(ie.text()&&Q.text()?" - ":"")}};function M(q,Z){Z.text("");var ee=Z.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(q._context.linkText+" \xBB");if(q._context.sendData)ee.on("click",function(){w.sendDataToCloud(q)});else{var V=window.location.pathname.split("/"),oe=window.location.search;ee.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+V[2].split(".")[0]+"/"+V[1]+oe})}}w.sendDataToCloud=function(q){var Z=(window.PLOTLYENV||{}).BASE_URL||q._context.plotlyServerURL;if(Z){q.emit("plotly_beforeexport");var ee=p.select(q).append("div").attr("id","hiddenform").style("display","none"),V=ee.append("form").attr({action:Z+"/external",method:"post",target:"_blank"}),oe=V.append("input").attr({type:"text",name:"data"});return oe.node().value=w.graphJson(q,!1,"keepdata"),V.node().submit(),ee.remove(),q.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(q,Z){var ee=Z&&Z.skipUpdateCalc,V=q._fullLayout||{};if(V._skipDefaults){delete V._skipDefaults;return}var oe=q._fullLayout={},ie=q.layout||{},j=q._fullData||[],Q=q._fullData=[],re=q.data||[],ue=q.calcdata||[],_e=q._context||{},we;q._transitionData||w.createTransitionData(q),oe._dfltTitle={plot:_(q,"Click to enter Plot title"),subtitle:_(q,"Click to enter Plot subtitle"),x:_(q,"Click to enter X axis title"),y:_(q,"Click to enter Y axis title"),colorbar:_(q,"Click to enter Colorscale title"),annotation:_(q,"new text")},oe._traceWord=_(q,"trace");var Re=y(q,g);if(oe._mapboxAccessToken=_e.mapboxAccessToken,V._initialAutoSizeIsDone){var ze=V.width,Xe=V.height;w.supplyLayoutGlobalDefaults(ie,oe,Re),ie.width||(oe.width=ze),ie.height||(oe.height=Xe),w.sanitizeMargins(oe)}else{w.supplyLayoutGlobalDefaults(ie,oe,Re);var tt=!ie.width||!ie.height,it=oe.autosize,et=_e.autosizable,nt=tt&&(it||et);nt?w.plotAutoSize(q,ie,oe):tt&&w.sanitizeMargins(oe),!it&&tt&&(ie.width=oe.width,ie.height=oe.height)}oe._d3locale=f(Re,oe.separators),oe._extraFormat=y(q,b),oe._initialAutoSizeIsDone=!0,oe._dataLength=re.length,oe._modules=[],oe._visibleModules=[],oe._basePlotModules=[];var Ae=oe._subplots=u(),me=oe._splomAxes={x:{},y:{}},fe=oe._splomSubplots={};oe._splomGridDflt={},oe._scatterStackOpts={},oe._firstScatter={},oe._alignmentOpts={},oe._colorAxes={},oe._requestRangeslider={},oe._traceUids=v(j,re),w.supplyDataDefaults(re,Q,ie,oe);var Be=Object.keys(me.x),Qe=Object.keys(me.y);if(Be.length>1&&Qe.length>1){for(t.getComponentMethod("grid","sizeDefaults")(ie,oe),we=0;we15&&Qe.length>15&&oe.shapes.length===0&&oe.images.length===0,w.linkSubplots(Q,oe,j,V),w.cleanPlot(Q,oe,j,V);var Vt=!!(V._has&&V._has("cartesian")),Wt=!!(oe._has&&oe._has("cartesian")),Cr=Vt,yr=Wt;Cr&&!yr?V._bgLayer.remove():yr&&!Cr&&(oe._shouldCreateBgLayer=!0),V._zoomlayer&&!q._dragging&&h({_fullLayout:V}),R(Q,oe),l(oe,V),t.getComponentMethod("colorscale","crossTraceDefaults")(Q,oe),oe._preGUI||(oe._preGUI={}),oe._tracePreGUI||(oe._tracePreGUI={});var qr=oe._tracePreGUI,Mr={},Dr;for(Dr in qr)Mr[Dr]="old";for(we=0;we0){var _e=1-2*ie;j=Math.round(_e*j),Q=Math.round(_e*Q)}}var we=w.layoutAttributes.width.min,Re=w.layoutAttributes.height.min;j1,Xe=!ee.height&&Math.abs(V.height-Q)>1;(Xe||ze)&&(ze&&(V.width=j),Xe&&(V.height=Q)),Z._initialAutoSize||(Z._initialAutoSize={width:j,height:Q}),w.sanitizeMargins(V)},w.supplyLayoutModuleDefaults=function(q,Z,ee,V){var oe=t.componentsRegistry,ie=Z._basePlotModules,j,Q,re,ue=t.subplotsRegistry.cartesian;for(j in oe)re=oe[j],re.includeBasePlot&&re.includeBasePlot(q,Z);ie.length||ie.push(ue),Z._has("cartesian")&&(t.getComponentMethod("grid","contentDefaults")(q,Z),ue.finalizeSubplots(q,Z));for(var _e in Z._subplots)Z._subplots[_e].sort(i.subplotSort);for(Q=0;Q1&&(ee.l/=it,ee.r/=it)}if(Re){var et=(ee.t+ee.b)/Re;et>1&&(ee.t/=et,ee.b/=et)}var nt=ee.xl!==void 0?ee.xl:ee.x,Ae=ee.xr!==void 0?ee.xr:ee.x,me=ee.yt!==void 0?ee.yt:ee.y,fe=ee.yb!==void 0?ee.yb:ee.y;ze[Z]={l:{val:nt,size:ee.l+tt},r:{val:Ae,size:ee.r+tt},b:{val:fe,size:ee.b+tt},t:{val:me,size:ee.t+tt}},Xe[Z]=1}if(!V._replotting)return w.doAutoMargin(q)}};function I(q){if("_redrawFromAutoMarginCount"in q._fullLayout)return!1;var Z=s.list(q,"",!0);for(var ee in Z)if(Z[ee].autoshift||Z[ee].shift)return!0;return!1}w.doAutoMargin=function(q){var Z=q._fullLayout,ee=Z.width,V=Z.height;Z._size||(Z._size={}),F(Z);var oe=Z._size,ie=Z.margin,j={t:0,b:0,l:0,r:0},Q=i.extendFlat({},oe),re=ie.l,ue=ie.r,_e=ie.t,we=ie.b,Re=Z._pushmargin,ze=Z._pushmarginIds,Xe=Z.minreducedwidth,tt=Z.minreducedheight;if(ie.autoexpand!==!1){for(var it in Re)ze[it]||delete Re[it];var et=q._fullLayout._reservedMargin;for(var nt in et)for(var Ae in et[nt]){var me=et[nt][Ae];j[Ae]=Math.max(j[Ae],me)}Re.base={l:{val:0,size:re},r:{val:1,size:ue},t:{val:1,size:_e},b:{val:0,size:we}};for(var fe in j){var Be=0;for(var Qe in Re)Qe!=="base"&&E(Re[Qe][fe].size)&&(Be=Re[Qe][fe].size>Be?Re[Qe][fe].size:Be);var at=Math.max(0,ie[fe]-Be);j[fe]=Math.max(0,j[fe]-at)}for(var $e in Re){var It=Re[$e].l||{},Pt=Re[$e].b||{},Vt=It.val,Wt=It.size,Cr=Pt.val,yr=Pt.size,qr=ee-j.r-j.l,Mr=V-j.t-j.b;for(var Dr in Re){if(E(Wt)&&Re[Dr].r){var xt=Re[Dr].r.val,Ne=Re[Dr].r.size;if(xt>Vt){var Ye=(Wt*xt+(Ne-qr)*Vt)/(xt-Vt),be=(Ne*(1-Vt)+(Wt-qr)*(1-xt))/(xt-Vt);Ye+be>re+ue&&(re=Ye,ue=be)}}if(E(yr)&&Re[Dr].t){var Ie=Re[Dr].t.val,qe=Re[Dr].t.size;if(Ie>Cr){var ke=(yr*Ie+(qe-Mr)*Cr)/(Ie-Cr),Me=(qe*(1-Cr)+(yr-Mr)*(1-Ie))/(Ie-Cr);ke+Me>we+_e&&(we=ke,_e=Me)}}}}}var Le=i.constrain(ee-ie.l-ie.r,N,Xe),ut=i.constrain(V-ie.t-ie.b,B,tt),lt=Math.max(0,ee-Le),gt=Math.max(0,V-ut);if(lt){var kt=(re+ue)/lt;kt>1&&(re/=kt,ue/=kt)}if(gt){var nr=(we+_e)/gt;nr>1&&(we/=nr,_e/=nr)}if(oe.l=Math.round(re)+j.l,oe.r=Math.round(ue)+j.r,oe.t=Math.round(_e)+j.t,oe.b=Math.round(we)+j.b,oe.p=Math.round(ie.pad),oe.w=Math.round(ee)-oe.l-oe.r,oe.h=Math.round(V)-oe.t-oe.b,!Z._replotting&&(w.didMarginChange(Q,oe)||I(q))){"_redrawFromAutoMarginCount"in Z?Z._redrawFromAutoMarginCount++:Z._redrawFromAutoMarginCount=1;var ir=3*(1+Object.keys(ze).length);if(Z._redrawFromAutoMarginCount1)return!0}return!1},w.graphJson=function(q,Z,ee,V,oe,ie){(oe&&Z&&!q._fullData||oe&&!Z&&!q._fullLayout)&&w.supplyDefaults(q);var j=oe?q._fullData:q.data,Q=oe?q._fullLayout:q.layout,re=(q._transitionData||{})._frames;function ue(Re,ze){if(typeof Re=="function")return ze?"_function_":null;if(i.isPlainObject(Re)){var Xe={},tt;return Object.keys(Re).sort().forEach(function(Ae){if(["_","["].indexOf(Ae.charAt(0))===-1){if(typeof Re[Ae]=="function"){ze&&(Xe[Ae]="_function");return}if(ee==="keepdata"){if(Ae.slice(-3)==="src")return}else if(ee==="keepstream"){if(tt=Re[Ae+"src"],typeof tt=="string"&&tt.indexOf(":")>0&&!i.isPlainObject(Re.stream))return}else if(ee!=="keepall"&&(tt=Re[Ae+"src"],typeof tt=="string"&&tt.indexOf(":")>0))return;Xe[Ae]=ue(Re[Ae],ze)}}),Xe}var it=Array.isArray(Re),et=i.isTypedArray(Re);if((it||et)&&Re.dtype&&Re.shape){var nt=Re.bdata;return ue({dtype:Re.dtype,shape:Re.shape,bdata:i.isArrayBuffer(nt)?e.encode(nt):nt},ze)}return it?Re.map(function(Ae){return ue(Ae,ze)}):et?i.simpleMap(Re,i.identity):i.isJSDate(Re)?i.ms2DateTimeLocal(+Re):Re}var _e={data:(j||[]).map(function(Re){var ze=ue(Re);return Z&&delete ze.fit,ze})};if(!Z&&(_e.layout=ue(Q),oe)){var we=Q._size;_e.layout.computed={margin:{b:we.b,l:we.l,r:we.r,t:we.t}}}return re&&(_e.frames=ue(re)),ie&&(_e.config=ue(q._context,!0)),V==="object"?_e:JSON.stringify(_e)},w.modifyFrames=function(q,Z){var ee,V,oe,ie=q._transitionData._frames,j=q._transitionData._frameHash;for(ee=0;ee0&&(q._transitioningWithDuration=!0),q._transitionData._interruptCallbacks.push(function(){V=!0}),ee.redraw&&q._transitionData._interruptCallbacks.push(function(){return t.call("redraw",q)}),q._transitionData._interruptCallbacks.push(function(){q.emit("plotly_transitioninterrupted",[])});var Re=0,ze=0;function Xe(){return Re++,function(){ze++,!V&&ze===Re&&Q(we)}}ee.runFn(Xe),setTimeout(Xe())})}function Q(we){if(q._transitionData)return ie(q._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(ee.redraw)return t.call("redraw",q)}).then(function(){q._transitioning=!1,q._transitioningWithDuration=!1,q.emit("plotly_transitioned",[])}).then(we)}function re(){if(q._transitionData)return q._transitioning=!1,oe(q._transitionData._interruptCallbacks)}var ue=[w.previousPromises,re,ee.prepareFn,w.rehover,w.reselect,j],_e=i.syncOrAsync(ue,q);return(!_e||!_e.then)&&(_e=Promise.resolve()),_e.then(function(){return q})}w.doCalcdata=function(q,Z){var ee=s.list(q),V=q._fullData,oe=q._fullLayout,ie,j,Q,re,ue=new Array(V.length),_e=(q.calcdata||[]).slice();for(q.calcdata=ue,oe._numBoxes=0,oe._numViolins=0,oe._violinScaleGroupStats={},q._hmpixcount=0,q._hmlumcount=0,oe._piecolormap={},oe._sunburstcolormap={},oe._treemapcolormap={},oe._iciclecolormap={},oe._funnelareacolormap={},Q=0;Q=0;re--)if(fe[re].enabled){ie._indexToPoints=fe[re]._indexToPoints;break}j&&j.calc&&(me=j.calc(q,ie))}(!Array.isArray(me)||!me[0])&&(me=[{x:a,y:a}]),me[0].t||(me[0].t={}),me[0].trace=ie,ue[nt]=me}}for(le(ee,V,oe),Q=0;QQ||ze>re)&&(ie.style("overflow","hidden"),we=ie.node().getBoundingClientRect(),Re=we.width,ze=we.height);var Xe=+B.attr("x"),tt=+B.attr("y"),it=q||B.node().getBoundingClientRect().height,et=-it/4;if(se[0]==="y")j.attr({transform:"rotate("+[-90,Xe,tt]+")"+x(-Re/2,et-ze/2)});else if(se[0]==="l")tt=et-ze/2;else if(se[0]==="a"&&se.indexOf("atitle")!==0)Xe=0,tt=et;else{var nt=B.attr("text-anchor");Xe=Xe-Re*(nt==="middle"?.5:nt==="end"?1:0),tt=tt+et-ze/2}ie.attr({x:Xe,y:tt}),U&&U.call(B,j),ce(j)})})):le(),B};var t=/(<|<|<)/g,r=/(>|>|>)/g;function o(B){return B.replace(t,"\\lt ").replace(r,"\\gt ")}var i=[["$","$"],["\\(","\\)"]];function n(B,I,U){var O=parseInt((MathJax.version||"").split(".")[0]);if(O!==2&&O!==3){p.warn("No MathJax version:",MathJax.version);return}var X,J,se,le,ce=function(){return J=p.extendDeepAll({},MathJax.Hub.config),se=MathJax.Hub.processSectionDelay,MathJax.Hub.processSectionDelay!==void 0&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:i},displayAlign:"left"})},q=function(){J=p.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=i},Z=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")},V=function(){var ue="math-output-"+p.randstr({},64);le=H.select("body").append("div").attr({id:ue}).style({visibility:"hidden",position:"absolute","font-size":I.fontSize+"px"}).text(o(B));var _e=le.node();return O===2?MathJax.Hub.Typeset(_e):MathJax.typeset([_e])},oe=function(){var ue=le.select(O===2?".MathJax_SVG":".MathJax"),_e=!ue.empty()&&le.select("svg").node();if(!_e)p.log("There was an error in the tex syntax.",B),U();else{var we=_e.getBoundingClientRect(),Re;O===2?Re=H.select("body").select("#MathJax_SVG_glyphs"):Re=ue.select("defs"),U(ue,Re,we)}le.remove()},ie=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(J)},re=function(){MathJax.config=J};O===2?MathJax.Hub.Queue(ce,Z,V,oe,ie,Q):O===3&&(q(),ee(),MathJax.startup.defaultReady(),MathJax.startup.promise.then(function(){V(),oe(),j(),re()}))}var a={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,":"],d=Y.NEWLINES=/(\r\n?|\n)/g,T=/(<[^<>]*>)/,l=/<(\/?)([^ >]*)(\s+(.*))?>/i,_=//i;Y.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(B,I){if(!B)return null;var U=B.match(I),O=U&&(U[3]||U[4]);return O&&f(O)}var v=/(^|;)\s*color:/;Y.plainText=function(B,I){I=I||{};for(var U=I.len!==void 0&&I.len!==-1?I.len:1/0,O=I.allowedTags!==void 0?I.allowedTags:["br"],X="...",J=X.length,se=B.split(T),le=[],ce="",q=0,Z=0;ZJ?le.push(ee.slice(0,Math.max(0,j-J))+X):le.push(ee.slice(0,j));break}ce=""}}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(B){return B.replace(y,function(I,U){var O;return U.charAt(0)==="#"?O=R(U.charAt(1)==="x"?parseInt(U.slice(2),16):parseInt(U.slice(1),10)):O=u[U],O||I})}Y.convertEntities=f;function R(B){if(!(B>1114111)){var I=String.fromCodePoint;if(I)return I(B);var U=String.fromCharCode;return B<=65535?U(B):U((B>>10)+55232,B%1024+56320)}}function L(B,I){I=I.replace(d," ");var U=!1,O=[],X,J=-1;function se(){J++;var ze=document.createElementNS(S.svg,"tspan");H.select(ze).attr({class:"line",dy:J*E+"em"}),B.appendChild(ze),X=ze;var Xe=O;if(O=[{node:ze}],Xe.length>1)for(var tt=1;tt.",I);return}var Xe=O.pop();ze!==Xe.type&&p.log("Start tag <"+Xe.type+"> doesnt match end tag <"+ze+">. Pretending it did match.",I),X=O[O.length-1].node}var Z=_.test(I);Z?se():(X=B,O=[{node:B}]);for(var ee=I.split(T),V=0;V=0;_--,w++){var A=d[_];l[w]=[1-A[0],A[1]]}return l}function h(d,T){T=T||{};for(var l=d.domain,_=d.range,w=_.length,A=new Array(w),M=0;Md-c?c=d-(m-d):m-d=0?_=o.colorscale.sequential:_=o.colorscale.sequentialminus,s._sync("colorscale",_)}}}}),oc=De({"src/components/colorscale/index.js"(Y,H){"use strict";var p=up(),x=$h();H.exports={moduleType:"component",name:"colorscale",attributes:zu(),layoutAttributes:jw(),supplyLayoutDefaults:IM(),handleDefaults:dh(),crossTraceDefaults:PM(),calc:Jh(),scales:p.scales,defaultScale:p.defaultScale,getScale:p.get,isValidScale:p.isValid,hasColorscale:x.hasColorscale,extractOpts:x.extractOpts,extractScale:x.extractScale,flipScale:x.flipScale,makeColorScaleFunc:x.makeColorScaleFunc,makeColorScaleFuncFromTrace:x.makeColorScaleFuncFromTrace}}}),Hu=De({"src/traces/scatter/subtypes.js"(Y,H){"use strict";var p=ui(),x=vl().isTypedArraySpec;H.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 p.isPlainObject(E)&&(p.isArrayOrTypedArray(E.size)||x(E.size))}}}}),Km=De({"src/traces/scatter/make_bubble_size_func.js"(Y,H){"use strict";var p=vn();H.exports=function(S,E){E||(E=2);var e=S.marker,t=e.sizeref||1,r=e.sizemin||0,o=e.sizemode==="area"?function(i){return Math.sqrt(i/t)}:function(i){return i/t};return function(i){var n=o(i/E);return p(n)&&n>0?Math.max(n,r):0}}}}),Ad=De({"src/components/fx/helpers.js"(Y){"use strict";var H=ui();Y.getSubplot=function(t){return t.subplot||t.xaxis+t.yaxis||t.geo},Y.isTraceInSubplots=function(t,r){if(t.type==="splom"){for(var o=t.xaxes||[],i=t.yaxes||[],n=0;n=0&&o.index2&&(r.push([i].concat(n.splice(0,2))),a="l",i=i=="m"?"l":"L");;){if(n.length==p[a])return n.unshift(i),r.push(n);if(n.length0&&(me=100,Ae=Ae.replace("-open","")),Ae.indexOf("-dot")>0&&(me+=200,Ae=Ae.replace("-dot","")),Ae=l.symbolNames.indexOf(Ae),Ae>=0&&(Ae+=me)}return Ae%100>=v||Ae>=400?0:Math.floor(Math.max(Ae,0))};function y(Ae,me,fe,Be){var Qe=Ae%100;return l.symbolFuncs[Qe](me,fe,Be)+(Ae>=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(Ae,me,fe,Be,Qe,at){var $e=R[Be];return L(Ae,me,fe,$e.type,Qe,at,$e.start,$e.stop,!1,$e.reversed)};function L(Ae,me,fe,Be,Qe,at,$e,It,Pt,Vt){var Wt=Qe.length,Cr;Be==="linear"?Cr={node:"linearGradient",attrs:{x1:$e.x,y1:$e.y,x2:It.x,y2:It.y,gradientUnits:Pt?"userSpaceOnUse":"objectBoundingBox"},reversed:Vt}:Be==="radial"&&(Cr={node:"radialGradient",reversed:Vt});for(var yr=new Array(Wt),qr=0;qr=0&&Ae.i===void 0&&(Ae.i=at.i),me.style("opacity",Be.selectedOpacityFn?Be.selectedOpacityFn(Ae):Ae.mo===void 0?$e.opacity:Ae.mo),Be.ms2mrc){var Pt;Ae.ms==="various"||$e.size==="various"?Pt=3:Pt=Be.ms2mrc(Ae.ms),Ae.mrc=Pt,Be.selectedSizeFn&&(Pt=Ae.mrc=Be.selectedSizeFn(Ae));var Vt=l.symbolNumber(Ae.mx||$e.symbol)||0;Ae.om=Vt%200>=100;var Wt=nt(Ae,fe),Cr=Q(Ae,fe);me.attr("d",y(Vt,Pt,Wt,Cr))}var yr=!1,qr,Mr,Dr;if(Ae.so)Dr=It.outlierwidth,Mr=It.outliercolor,qr=$e.outliercolor;else{var xt=(It||{}).width;Dr=(Ae.mlw+1||xt+1||(Ae.trace?(Ae.trace.marker.line||{}).width:0)+1)-1||0,"mlc"in Ae?Mr=Ae.mlcc=Be.lineScale(Ae.mlc):x.isArrayOrTypedArray(It.color)?Mr=r.defaultLine:Mr=It.color,x.isArrayOrTypedArray($e.color)&&(qr=r.defaultLine,yr=!0),"mc"in Ae?qr=Ae.mcc=Be.markerScale(Ae.mc):qr=$e.color||$e.colors||"rgba(0,0,0,0)",Be.selectedColorFn&&(qr=Be.selectedColorFn(Ae))}let Ne=Ae.mld||(It||{}).dash;if(Ne&&l.dashLine(me,Ne,Dr),Ae.om)me.call(r.stroke,qr).style({"stroke-width":(Dr||1)+"px",fill:"none"});else{me.style("stroke-width",(Ae.isBlank?0:Dr)+"px");var Ye=$e.gradient,be=Ae.mgt;be?yr=!0:be=Ye&&Ye.type,x.isArrayOrTypedArray(be)&&(be=be[0],R[be]||(be=0));var Ie=$e.pattern,qe=l.getPatternAttr,ke=Ie&&(qe(Ie.shape,Ae.i,"")||qe(Ie.path,Ae.i,""));if(be&&be!=="none"){var Me=Ae.mgc;Me?yr=!0:Me=Ye.color;var Le=fe.uid;yr&&(Le+="-"+Ae.i),l.gradient(me,Qe,Le,be,[[0,Me],[1,qr]],"fill")}else if(ke){var ut=!1,lt=Ie.fgcolor;!lt&&at&&at.color&&(lt=at.color,ut=!0);var gt=qe(lt,Ae.i,at&&at.color||null),kt=qe(Ie.bgcolor,Ae.i,null),nr=Ie.fgopacity,ir=qe(Ie.size,Ae.i,8),tr=qe(Ie.solidity,Ae.i,.3);ut=ut||Ae.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 Ir=fe.uid;ut&&(Ir+="-"+Ae.i),l.pattern(me,"point",Qe,Ir,ke,ir,tr,Ae.mcc,Ie.fillmode,kt,gt,nr)}else x.isArrayOrTypedArray(qr)?r.fill(me,qr[Ae.i]):r.fill(me,qr);Dr&&r.stroke(me,Mr)}},l.makePointStyleFns=function(Ae){var me={},fe=Ae.marker;return me.markerScale=l.tryColorscale(fe,""),me.lineScale=l.tryColorscale(fe,"line"),t.traceIs(Ae,"symbols")&&(me.ms2mrc=m.isBubble(Ae)?d(Ae):function(){return(fe.size||6)/2}),Ae.selectedpoints&&x.extendFlat(me,l.makeSelectedPointStyleFns(Ae)),me},l.makeSelectedPointStyleFns=function(Ae){var me={},fe=Ae.selected||{},Be=Ae.unselected||{},Qe=Ae.marker||{},at=fe.marker||{},$e=Be.marker||{},It=Qe.opacity,Pt=at.opacity,Vt=$e.opacity,Wt=Pt!==void 0,Cr=Vt!==void 0;(x.isArrayOrTypedArray(It)||Wt||Cr)&&(me.selectedOpacityFn=function(Ie){var qe=Ie.mo===void 0?Qe.opacity:Ie.mo;return Ie.selected?Wt?Pt:qe:Cr?Vt:c*qe});var yr=Qe.color,qr=at.color,Mr=$e.color;(qr||Mr)&&(me.selectedColorFn=function(Ie){var qe=Ie.mcc||yr;return Ie.selected?qr||qe:Mr||qe});var Dr=Qe.size,xt=at.size,Ne=$e.size,Ye=xt!==void 0,be=Ne!==void 0;return t.traceIs(Ae,"symbols")&&(Ye||be)&&(me.selectedSizeFn=function(Ie){var qe=Ie.mrc||Dr/2;return Ie.selected?Ye?xt/2:qe:be?Ne/2:qe}),me},l.makeSelectedTextStyleFns=function(Ae){var me={},fe=Ae.selected||{},Be=Ae.unselected||{},Qe=Ae.textfont||{},at=fe.textfont||{},$e=Be.textfont||{},It=Qe.color,Pt=at.color,Vt=$e.color;return me.selectedTextColorFn=function(Wt){var Cr=Wt.tc||It;return Wt.selected?Pt||Cr:Vt||(Pt?Cr:r.addOpacity(Cr,c))},me},l.selectedPointStyle=function(Ae,me){if(!(!Ae.size()||!me.selectedpoints)){var fe=l.makeSelectedPointStyleFns(me),Be=me.marker||{},Qe=[];fe.selectedOpacityFn&&Qe.push(function(at,$e){at.style("opacity",fe.selectedOpacityFn($e))}),fe.selectedColorFn&&Qe.push(function(at,$e){r.fill(at,fe.selectedColorFn($e))}),fe.selectedSizeFn&&Qe.push(function(at,$e){var It=$e.mx||Be.symbol||0,Pt=fe.selectedSizeFn($e);at.attr("d",y(l.symbolNumber(It),Pt,nt($e,me),Q($e,me))),$e.mrc2=Pt}),Qe.length&&Ae.each(function(at){for(var $e=p.select(this),It=0;It0?fe:0}l.textPointStyle=function(Ae,me,fe){if(Ae.size()){var Be;if(me.selectedpoints){var Qe=l.makeSelectedTextStyleFns(me);Be=Qe.selectedTextColorFn}var at=me.texttemplate,$e=fe._fullLayout;Ae.each(function(It){var Pt=p.select(this),Vt=at?x.extractOption(It,me,"txt","texttemplate"):x.extractOption(It,me,"tx","text");if(!Vt&&Vt!==0){Pt.remove();return}if(at){var Wt=me._module.formatLabels,Cr=Wt?Wt(It,me,$e):{},yr={};T(yr,me,It.i),Vt=x.texttemplateString({data:[yr,It,me._meta],fallback:me.texttemplatefallback,labels:Cr,locale:$e._d3locale,template:Vt})}var qr=It.tp||me.textposition,Mr=N(It,me),Dr=Be?Be(It):It.tc||me.textfont.color;Pt.call(l.font,{family:It.tf||me.textfont.family,weight:It.tw||me.textfont.weight,style:It.ty||me.textfont.style,variant:It.tv||me.textfont.variant,textcase:It.tC||me.textfont.textcase,lineposition:It.tE||me.textfont.lineposition,shadow:It.tS||me.textfont.shadow,size:Mr,color:Dr}).text(Vt).call(n.convertToTspans,fe).call(F,qr,Mr,It.mrc)})}},l.selectedTextStyle=function(Ae,me){if(!(!Ae.size()||!me.selectedpoints)){var fe=l.makeSelectedTextStyleFns(me);Ae.each(function(Be){var Qe=p.select(this),at=fe.selectedTextColorFn(Be),$e=Be.tp||me.textposition,It=N(Be,me);r.fill(Qe,at);var Pt=t.traceIs(me,"bar-like");F(Qe,$e,It,Be.mrc2||Be.mrc,Pt)})}};var B=.5;l.smoothopen=function(Ae,me){if(Ae.length<3)return"M"+Ae.join("L");var fe="M"+Ae[0],Be=[],Qe;for(Qe=1;Qe=Pt||Ie>=Wt&&Ie<=Pt)&&(qe<=Cr&&qe>=Vt||qe>=Cr&&qe<=Vt)&&(Ae=[Ie,qe])}return Ae}l.applyBackoff=q,l.makeTester=function(){var Ae=x.ensureSingleById(p.select("body"),"svg","js-plotly-tester",function(fe){fe.attr(a.svgAttrs).style({position:"absolute",left:"-10000px",top:"-10000px",width:"9000px",height:"9000px","z-index":"1"})}),me=x.ensureSingle(Ae,"path","js-reference-point",function(fe){fe.attr("d","M0,0H1V1H0Z").style({"stroke-width":0,fill:"black"})});l.tester=Ae,l.testref=me},l.savedBBoxes={};var Z=0,ee=1e4;l.bBox=function(Ae,me,fe){fe||(fe=V(Ae));var Be;if(fe){if(Be=l.savedBBoxes[fe],Be)return x.extendFlat({},Be)}else if(Ae.childNodes.length===1){var Qe=Ae.childNodes[0];if(fe=V(Qe),fe){var at=+Qe.getAttribute("x")||0,$e=+Qe.getAttribute("y")||0,It=Qe.getAttribute("transform");if(!It){var Pt=l.bBox(Qe,!1,fe);return at&&(Pt.left+=at,Pt.right+=at),$e&&(Pt.top+=$e,Pt.bottom+=$e),Pt}if(fe+="~"+at+"~"+$e+"~"+It,Be=l.savedBBoxes[fe],Be)return x.extendFlat({},Be)}}var Vt,Wt;me?Vt=Ae:(Wt=l.tester.node(),Vt=Ae.cloneNode(!0),Wt.appendChild(Vt)),p.select(Vt).attr("transform",null).call(n.positionText,0,0);var Cr=Vt.getBoundingClientRect(),yr=l.testref.node().getBoundingClientRect();me||Wt.removeChild(Vt);var qr={height:Cr.height,width:Cr.width,left:Cr.left-yr.left,top:Cr.top-yr.top,right:Cr.right-yr.left,bottom:Cr.bottom-yr.top};return Z>=ee&&(l.savedBBoxes={},Z=0),fe&&(l.savedBBoxes[fe]=qr),Z++,x.extendFlat({},qr)};function V(Ae){var me=Ae.getAttribute("data-unformatted");if(me!==null)return me+Ae.getAttribute("data-math")+Ae.getAttribute("text-anchor")+Ae.getAttribute("style")}l.setClipUrl=function(Ae,me,fe){Ae.attr("clip-path",oe(me,fe))};function oe(Ae,me){if(!Ae)return null;var fe=me._context,Be=fe._exportedPlot?"":fe._baseUrl||"";return Be?"url('"+Be+"#"+Ae+"')":"url(#"+Ae+")"}l.getTranslate=function(Ae){var me=/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,fe=Ae.attr?"attr":"getAttribute",Be=Ae[fe]("transform")||"",Qe=Be.replace(me,function(at,$e,It){return[$e,It].join(" ")}).split(" ");return{x:+Qe[0]||0,y:+Qe[1]||0}},l.setTranslate=function(Ae,me,fe){var Be=/(\btranslate\(.*?\);?)/,Qe=Ae.attr?"attr":"getAttribute",at=Ae.attr?"attr":"setAttribute",$e=Ae[Qe]("transform")||"";return me=me||0,fe=fe||0,$e=$e.replace(Be,"").trim(),$e+=i(me,fe),$e=$e.trim(),Ae[at]("transform",$e),$e},l.getScale=function(Ae){var me=/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,fe=Ae.attr?"attr":"getAttribute",Be=Ae[fe]("transform")||"",Qe=Be.replace(me,function(at,$e,It){return[$e,It].join(" ")}).split(" ");return{x:+Qe[0]||1,y:+Qe[1]||1}},l.setScale=function(Ae,me,fe){var Be=/(\bscale\(.*?\);?)/,Qe=Ae.attr?"attr":"getAttribute",at=Ae.attr?"attr":"setAttribute",$e=Ae[Qe]("transform")||"";return me=me||1,fe=fe||1,$e=$e.replace(Be,"").trim(),$e+="scale("+me+","+fe+")",$e=$e.trim(),Ae[at]("transform",$e),$e};var ie=/\s*sc.*/;l.setPointGroupScale=function(Ae,me,fe){if(me=me||1,fe=fe||1,!!Ae){var Be=me===1&&fe===1?"":"scale("+me+","+fe+")";Ae.each(function(){var Qe=(this.getAttribute("transform")||"").replace(ie,"");Qe+=Be,Qe=Qe.trim(),this.setAttribute("transform",Qe)})}};var j=/translate\([^)]*\)\s*$/;l.setTextPointsScale=function(Ae,me,fe){Ae&&Ae.each(function(){var Be,Qe=p.select(this),at=Qe.select("text");if(at.node()){var $e=parseFloat(at.attr("x")||0),It=parseFloat(at.attr("y")||0),Pt=(Qe.attr("transform")||"").match(j);me===1&&fe===1?Be=[]:Be=[i($e,It),"scale("+me+","+fe+")",i(-$e,-It)],Pt&&Be.push(Pt),Qe.attr("transform",Be.join(""))}})};function Q(Ae,me){var fe;return Ae&&(fe=Ae.mf),fe===void 0&&(fe=me.marker&&me.marker.standoff||0),!me._geo&&!me._xA?-fe:fe}l.getMarkerStandoff=Q;var re=Math.atan2,ue=Math.cos,_e=Math.sin;function we(Ae,me){var fe=me[0],Be=me[1];return[fe*ue(Ae)-Be*_e(Ae),fe*_e(Ae)+Be*ue(Ae)]}var Re,ze,Xe,tt,it,et;function nt(Ae,me){var fe=Ae.ma;fe===void 0&&(fe=me.marker.angle,(!fe||x.isArrayOrTypedArray(fe))&&(fe=0));var Be,Qe,at=me.marker.angleref;if(at==="previous"||at==="north"){if(me._geo){var $e=me._geo.project(Ae.lonlat);Be=$e[0],Qe=$e[1]}else{var It=me._xA,Pt=me._yA;if(It&&Pt)Be=It.c2p(Ae.x),Qe=Pt.c2p(Ae.y);else return 90}if(me._geo){var Vt=Ae.lonlat[0],Wt=Ae.lonlat[1],Cr=me._geo.project([Vt,Wt+1e-5]),yr=me._geo.project([Vt+1e-5,Wt]),qr=re(yr[1]-Qe,yr[0]-Be),Mr=re(Cr[1]-Qe,Cr[0]-Be),Dr;if(at==="north")Dr=fe/180*Math.PI;else if(at==="previous"){var xt=Vt/180*Math.PI,Ne=Wt/180*Math.PI,Ye=Re/180*Math.PI,be=ze/180*Math.PI,Ie=Ye-xt,qe=ue(be)*_e(Ie),ke=_e(be)*ue(Ne)-ue(be)*_e(Ne)*ue(Ie);Dr=-re(qe,ke)-Math.PI,Re=Vt,ze=Wt}var Me=we(qr,[ue(Dr),0]),Le=we(Mr,[_e(Dr),0]);fe=re(Me[1]+Le[1],Me[0]+Le[0])/Math.PI*180,at==="previous"&&!(et===me.uid&&Ae.i===it+1)&&(fe=null)}if(at==="previous"&&!me._geo)if(et===me.uid&&Ae.i===it+1&&E(Be)&&E(Qe)){var ut=Be-Xe,lt=Qe-tt,gt=me.line&&me.line.shape||"",kt=gt.slice(gt.length-1);kt==="h"&&(lt=0),kt==="v"&&(ut=0),fe+=re(lt,ut)/Math.PI*180+90}else fe=null}return Xe=Be,tt=Qe,it=Ae.i,et=me.uid,fe}l.getMarkerAngle=nt}}),j0=De({"src/components/titles/index.js"(Y,H){"use strict";var p=za(),x=vn(),S=Mc(),E=Mo(),e=ui(),t=e.strTranslate,r=ys(),o=vo(),i=vu(),n=_o(),a=rh().OPPOSITE_SIDE,s=/ [XY][0-9]* /,h=1.6,c=1.6;function m(d,T,l){var _=d._fullLayout,w=l.propContainer,A=l.propName,M=l.placeholder,g=l.traceIndex,b=l.avoid||{},v=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,B=F.size,I=F.color,U=F.weight,O=F.style,X=F.variant,J=F.textcase,se=F.lineposition,le=F.shadow,ce=l.subtitlePropName,q=!!ce,Z=l.subtitlePlaceholder,ee=(w.title||{}).subtitle||{text:"",font:{}},V=(ee.text||"").trim(),oe=!1,ie=1,j=ee.font,Q=j.family,re=j.size,ue=j.color,_e=j.weight,we=j.style,Re=j.variant,ze=j.textcase,Xe=j.lineposition,tt=j.shadow,it;A==="title.text"?it="titleText":A.indexOf("axis")!==-1?it="axisTitleText":A.indexOf("colorbar")!==-1&&(it="colorbarTitleText");var et=d._context.edits[it];function nt(yr,qr){return yr===void 0||qr===void 0?!1:yr.replace(s," % ")===qr.replace(s," % ")}L===""?f=0:nt(L,M)&&(et||(L=""),f=.2,z=!0),q&&(V===""?ie=0:nt(V,Z)&&(et||(V=""),ie=.2,oe=!0)),l._meta?L=e.templateString(L,l._meta):_._meta&&(L=e.templateString(L,_._meta));var Ae=L||V||et,me;y||(y=e.ensureSingle(_._infolayer,"g","g-"+T),me=_._hColorbarMoveTitle);var fe=y.selectAll("text."+T).data(Ae?[0]:[]);fe.enter().append("text"),fe.text(L).attr("class",T),fe.exit().remove();var Be=null,Qe=T+"-subtitle",at=V||et;if(q&&(Be=y.selectAll("text."+Qe).data(at?[0]:[]),Be.enter().append("text"),Be.text(V).attr("class",Qe),Be.exit().remove()),!Ae)return y;function $e(yr,qr){e.syncOrAsync([It,Pt],{title:yr,subtitle:qr})}function It(yr){var qr=yr.title,Mr=yr.subtitle,Dr;!u&&me&&(u={}),u?(Dr="",u.rotate&&(Dr+="rotate("+[u.rotate,v.x,v.y]+")"),(u.offset||me)&&(Dr+=t(0,(u.offset||0)-(me||0)))):Dr=null,qr.attr("transform",Dr);function xt(ke){if(ke){var Me=p.select(ke.node().parentNode).select("."+Qe);if(!Me.empty()){var Le=ke.node().getBBox();if(Le.height){var ut=Le.y+Le.height+h*re;Me.attr("y",ut)}}}}if(qr.style("opacity",f*o.opacity(I)).call(r.font,{color:o.rgb(I),size:p.round(B,2),family:N,weight:U,style:O,variant:X,textcase:J,shadow:le,lineposition:se}).attr(v).call(i.convertToTspans,d,xt),Mr&&!Mr.empty()){var Ne=y.select("."+T+"-math-group"),Ye=qr.node().getBBox(),be=Ne.node()?Ne.node().getBBox():void 0,Ie=be?be.y+be.height+h*re:Ye.y+Ye.height+c*re,qe=e.extendFlat({},v,{y:Ie});Mr.attr("transform",Dr),Mr.style("opacity",ie*o.opacity(ue)).call(r.font,{color:o.rgb(ue),size:p.round(re,2),family:Q,weight:_e,style:we,variant:Re,textcase:ze,shadow:tt,lineposition:Xe}).attr(qe).call(i.convertToTspans,d)}return S.previousPromises(d)}function Pt(yr){var qr=yr.title,Mr=p.select(qr.node().parentNode);if(b&&b.selection&&b.side&&L){Mr.attr("transform",null);var Dr=a[b.side],xt=b.side==="left"||b.side==="top"?-1:1,Ne=x(b.pad)?b.pad:2,Ye=r.bBox(Mr.node()),be={t:0,b:0,l:0,r:0},Ie=d._fullLayout._reservedMargin;for(var qe in Ie)for(var ke in Ie[qe]){var Me=Ie[qe][ke];be[ke]=Math.max(be[ke],Me)}var Le={left:be.l,top:be.t,right:_.width-be.r,bottom:_.height-be.b},ut=b.maxShift||xt*(Le[b.side]-Ye[b.side]),lt=0;if(ut<0)lt=ut;else{var gt=b.offsetLeft||0,kt=b.offsetTop||0;Ye.left-=gt,Ye.right-=gt,Ye.top-=kt,Ye.bottom-=kt,b.selection.each(function(){var ir=r.bBox(this);e.bBoxIntersect(Ye,ir,Ne)&&(lt=Math.max(lt,xt*(ir[b.side]-Ye[Dr])+Ne))}),lt=Math.min(ut,lt),w._titleScoot=Math.abs(lt)}if(lt>0||ut<0){var nr={left:[-lt,0],right:[lt,0],top:[0,-lt],bottom:[0,lt]}[b.side];Mr.attr("transform",t(nr[0],nr[1]))}}}fe.call($e,Be);function Vt(yr,qr){yr.text(qr).on("mouseover.opacity",function(){p.select(this).transition().duration(n.SHOW_PLACEHOLDER).style("opacity",1)}).on("mouseout.opacity",function(){p.select(this).transition().duration(n.HIDE_PLACEHOLDER).style("opacity",0)})}if(et&&(L?fe.on(".opacity",null):(Vt(fe,M),z=!0),fe.call(i.makeEditable,{gd:d}).on("edit",function(yr){g!==void 0?E.call("_guiRestyle",d,A,yr,g):E.call("_guiRelayout",d,A,yr)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call($e)}).on("input",function(yr){this.text(yr||" ").call(i.positionText,v.x,v.y)}),q)){if(q&&!L){var Wt=fe.node().getBBox(),Cr=Wt.y+Wt.height+c*re;Be.attr("y",Cr)}V?Be.on(".opacity",null):(Vt(Be,Z),oe=!0),Be.call(i.makeEditable,{gd:d}).on("edit",function(yr){E.call("_guiRelayout",d,"title.subtitle.text",yr)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call($e)}).on("input",function(yr){this.text(yr||" ").call(i.positionText,Be.attr("x"),Be.attr("y"))})}return fe.classed("js-placeholder",z),Be&&!Be.empty()&&Be.classed("js-placeholder",oe),y}H.exports={draw:m,SUBTITLE_PADDING_EM:c,SUBTITLE_PADDING_MATHJAX_EM:h}}}),Dv=De({"src/plots/cartesian/set_convert.js"(Y,H){"use strict";var p=za(),x=Do().utcFormat,S=ui(),E=S.numberFormat,e=vn(),t=S.cleanNumber,r=S.ms2DateTime,o=S.dateTime2ms,i=S.ensureNumber,n=S.isArrayOrTypedArray,a=zn(),s=a.FP_SAFE,h=a.BADNUM,c=a.LOG_CLIP,m=a.ONEWEEK,d=a.ONEDAY,T=a.ONEHOUR,l=a.ONEMIN,_=a.ONESEC,w=nf(),A=th(),M=A.HOUR_PATTERN,g=A.WEEKDAY_PATTERN;function b(u){return Math.pow(10,u)}function v(u){return u!=null}H.exports=function(y,f){f=f||{};var R=y._id||"x",L=R.charAt(0);function z(V,oe){if(V>0)return Math.log(V)/Math.LN10;if(V<=0&&oe&&y.range&&y.range.length===2){var ie=y.range[0],j=y.range[1];return .5*(ie+j-2*c*Math.abs(ie-j))}else return h}function F(V,oe,ie,j){if((j||{}).msUTC&&e(V))return+V;var Q=o(V,ie||y.calendar);if(Q===h)if(e(V)){V=+V;var re=Math.floor(S.mod(V+.05,1)*10),ue=Math.round(V-re/10);Q=o(new Date(ue))+re/10}else return h;return Q}function N(V,oe,ie){return r(V,oe,ie||y.calendar)}function B(V){return y._categories[Math.round(V)]}function I(V){if(v(V)){if(y._categoriesMap===void 0&&(y._categoriesMap={}),y._categoriesMap[V]!==void 0)return y._categoriesMap[V];y._categories.push(typeof V=="number"?String(V):V);var oe=y._categories.length-1;return y._categoriesMap[V]=oe,oe}return h}function U(V,oe){for(var ie=new Array(oe),j=0;jy.range[1]&&(ie=!ie);for(var j=ie?-1:1,Q=j*V,re=0,ue=0;uewe)re=ue+1;else{re=Q<(_e+we)/2?ue:ue+1;break}}var Re=y._B[re]||0;return isFinite(Re)?se(V,y._m2,Re):0},q=function(V){var oe=y._rangebreaks.length;if(!oe)return le(V,y._m,y._b);for(var ie=0,j=0;jy._rangebreaks[j].pmax&&(ie=j+1);return le(V,y._m2,y._B[ie])}}y.c2l=y.type==="log"?z:i,y.l2c=y.type==="log"?b:i,y.l2p=ce,y.p2l=q,y.c2p=y.type==="log"?function(V,oe){return ce(z(V,oe))}:ce,y.p2c=y.type==="log"?function(V){return b(q(V))}:q,["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=i,y.d2p=y.r2p=function(V){return y.l2p(t(V))},y.p2d=y.p2r=q,y.cleanPos=i):y.type==="log"?(y.d2r=y.d2l=function(V,oe){return z(t(V),oe)},y.r2d=y.r2c=function(V){return b(t(V))},y.d2c=y.r2l=t,y.c2d=y.l2r=i,y.c2r=z,y.l2d=b,y.d2p=function(V,oe){return y.l2p(y.d2r(V,oe))},y.p2d=function(V){return b(q(V))},y.r2p=function(V){return y.l2p(t(V))},y.p2r=q,y.cleanPos=i):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(V,oe,ie){return y.l2p(F(V,0,ie))},y.p2d=y.p2r=function(V,oe,ie){return N(q(V),oe,ie)},y.cleanPos=function(V){return S.cleanDate(V,h,y.calendar)}):y.type==="category"?(y.d2c=y.d2l=I,y.r2d=y.c2d=y.l2d=B,y.d2r=y.d2l_noadd=X,y.r2c=function(V){var oe=J(V);return oe!==void 0?oe:y.fraction2r(.5)},y.l2r=y.c2r=i,y.r2l=J,y.d2p=function(V){return y.l2p(y.r2c(V))},y.p2d=function(V){return B(q(V))},y.r2p=y.d2p,y.p2r=q,y.cleanPos=function(V){return typeof V=="string"&&V!==""?V:i(V)}):y.type==="multicategory"&&(y.r2d=y.c2d=y.l2d=B,y.d2r=y.d2l_noadd=X,y.r2c=function(V){var oe=X(V);return oe!==void 0?oe:y.fraction2r(.5)},y.r2c_just_indices=O,y.l2r=y.c2r=i,y.r2l=X,y.d2p=function(V){return y.l2p(y.r2c(V))},y.p2d=function(V){return B(q(V))},y.r2p=y.d2p,y.p2r=q,y.cleanPos=function(V){return Array.isArray(V)||typeof V=="string"&&V!==""?V:i(V)},y.setupMultiCategory=function(V){var oe=y._traceIndices,ie,j,Q=y._matchGroup;if(Q&&y._categories.length===0){for(var re in Q)if(re!==R){var ue=f[w.id2name(re)];oe=oe.concat(ue._traceIndices)}}var _e=[[0,{}],[0,{}]],we=[];for(ie=0;ieue[1]&&(j[re?0:1]=ie),j[0]===j[1]){var _e=y.l2r(oe),we=y.l2r(ie);if(oe!==void 0){var Re=_e+1;ie!==void 0&&(Re=Math.min(Re,we)),j[re?1:0]=Re}if(ie!==void 0){var ze=we+1;oe!==void 0&&(ze=Math.max(ze,_e)),j[re?0:1]=ze}}}},y.cleanRange=function(V,oe){y._cleanRange(V,oe),y.limitRange(V)},y._cleanRange=function(V,oe){oe||(oe={}),V||(V="range");var ie=S.nestedProperty(y,V).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),!ie||ie.length!==2){S.nestedProperty(y,V).set(Q);return}var re=ie[0]===null,ue=ie[1]===null;for(y.type==="date"&&!y.autorange&&(ie[0]=S.cleanDate(ie[0],h,y.calendar),ie[1]=S.cleanDate(ie[1],h,y.calendar)),j=0;j<2;j++)if(y.type==="date"){if(!S.isDateTime(ie[j],y.calendar)){y[V]=Q;break}if(y.r2l(ie[0])===y.r2l(ie[1])){var _e=S.constrain(y.r2l(ie[0]),S.MIN_MS+1e3,S.MAX_MS-1e3);ie[0]=y.l2r(_e-1e3),ie[1]=y.l2r(_e+1e3);break}}else{if(!e(ie[j]))if(!(re||ue)&&e(ie[1-j]))ie[j]=ie[1-j]*(j?10:.1);else{y[V]=Q;break}if(ie[j]<-s?ie[j]=-s:ie[j]>s&&(ie[j]=s),ie[0]===ie[1]){var we=Math.max(1,Math.abs(ie[0]*1e-6));ie[0]-=we,ie[1]+=we}}},y.setScale=function(V){var oe=f._size;if(y.overlaying){var ie=w.getFromId({_fullLayout:f},y.overlaying);y.domain=ie.domain}var j=V&&y._r?"_r":"range",Q=y.calendar;y.cleanRange(j);var re=y.r2l(y[j][0],Q),ue=y.r2l(y[j][1],Q),_e=L==="y";if(_e?(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-ue),y._b=-y._m*ue):(y._offset=oe.l+y.domain[0]*oe.w,y._length=oe.w*(y.domain[1]-y.domain[0]),y._m=y._length/(ue-re),y._b=-y._m*re),y._rangebreaks=[],y._lBreaks=0,y._m2=0,y._B=[],y.rangebreaks){var we,Re;if(y._rangebreaks=y.locateBreaks(Math.min(re,ue),Math.max(re,ue)),y._rangebreaks.length){for(we=0;weue&&(ze=!ze),ze&&y._rangebreaks.reverse();var Xe=ze?-1:1;for(y._m2=Xe*y._length/(Math.abs(ue-re)-y._lBreaks),y._B.push(-y._m2*(_e?ue:re)),we=0;weQ&&(Q+=7,reQ&&(Q+=24,re=j&&re=j&&V=$e.min&&(fe<$e.min&&($e.min=fe),Be>$e.max&&($e.max=Be),Qe=!1)}Qe&&ue.push({min:fe,max:Be})}};for(ie=0;ie<_e.length;ie++){var Re=_e[ie];if(Re.enabled)if(Re.bounds){var ze=V,Xe=oe;Re.pattern&&(ze=Math.floor(ze)),j=S.simpleMap(Re.bounds,Re.pattern?t:y.r2l),Q=j[0],re=j[1];var tt=new Date(ze),it,et;switch(Re.pattern){case g:et=m,it=((re_*2}function a(c){return Math.max(1,(c-1)/1e3)}function s(c,m){for(var d=c.length,T=a(d),l=0,_=0,w={},A=0;Al*2}function h(c){return E(c[0])&&E(c[1])}}}),fv=De({"src/plots/cartesian/autorange.js"(Y,H){"use strict";var p=za(),x=vn(),S=ui(),E=zn().FP_SAFE,e=Mo(),t=ys(),r=nf(),o=r.getFromId,i=r.isLinked;H.exports={applyAutorangeOptions:y,getAutoRange:n,makePadFn:s,doAutoRange:d,findExtremes:T,concatExtremes:m};function n(f,R){var L,z,F=[],N=f._fullLayout,B=s(N,R,0),I=s(N,R,1),U=m(f,R),O=U.min,X=U.max;if(O.length===0||X.length===0)return S.simpleMap(R.range,R.r2l);var J=O[0].val,se=X[0].val;for(L=1;L0&&(we=oe-B(Q)-I(re),we>ie?Re/we>j&&(ue=Q,_e=re,j=Re/we):Re/oe>j&&(ue={val:Q.val,nopad:1},_e={val:re.val,nopad:1},j=Re/oe));function ze(nt,Ae){return Math.max(nt,I(Ae))}if(J===se){var Xe=J-1,tt=J+1;if(ee)if(J===0)F=[0,1];else{var it=(J>0?X:O).reduce(ze,0),et=J/(1-Math.min(.5,it/oe));F=J>0?[0,et]:[et,0]}else V?F=[Math.max(0,Xe),Math.max(1,tt)]:F=[Xe,tt]}else ee?(ue.val>=0&&(ue={val:0,nopad:1}),_e.val<=0&&(_e={val:0,nopad:1})):V&&(ue.val-j*B(ue)<0&&(ue={val:0,nopad:1}),_e.val<=0&&(_e={val:1,nopad:1})),j=(_e.val-ue.val-a(R,Q.val,re.val))/(oe-B(ue)-I(_e)),F=[ue.val-j*B(ue),_e.val+j*I(_e)];return F=y(F,R),R.limitRange&&R.limitRange(),ce&&F.reverse(),S.simpleMap(F,R.l2r||Number)}function a(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=ie((f._m>0?L.ppadminus:L.ppadplus)||L.ppad||0),re=ie(L.vpadplus||L.vpad),ue=ie(L.vpadminus||L.vpad);if(!O){if(V=1/0,oe=-1/0,U)for(J=0;J0&&(V=se),se>oe&&se-E&&(V=se),se>oe&&se=Re;J--)we(J);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,B=z.extrapad,I=!0,U=0;U=L&&(O.extrapad||!B)){I=!1;break}else F(R,O.val)&&O.pad<=L&&(B||!O.extrapad)&&(f.splice(U,1),U--)}if(I){var X=N&&R===0;f.push({val:R,pad:X?0:L,extrapad:X?!1:B})}}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 v(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),B<=U&&(B=U,z=U)}}return L=b(L,R),z=v(z,R),[L,z]}}}),us=De({"src/plots/cartesian/axes.js"(Y,H){"use strict";var p=za(),x=vn(),S=Mc(),E=Mo(),e=ui(),t=e.strTranslate,r=vu(),o=j0(),i=vo(),n=ys(),a=Ih(),s=qw(),h=th(),c=zn(),m=c.ONEMAXYEAR,d=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,v=c.ONEDAY,u=v/2,y=c.ONEHOUR,f=c.ONEMIN,R=c.ONESEC,L=c.ONEMILLI,z=c.ONEMICROSEC,F=c.MINUS_SIGN,N=c.BADNUM,B={K:"zeroline"},I={K:"gridline",L:"path"},U={K:"minor-gridline",L:"path"},O={K:"tick",L:"path"},X={K:"tick",L:"text"},J={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=rh(),le=se.MID_SHIFT,ce=se.CAP_SHIFT,q=se.LINE_SPACING,Z=se.OPPOSITE_SIDE,ee=3,V=H.exports={};V.setConvert=Dv();var oe=$m(),ie=nf(),j=ie.idSort,Q=ie.isLinked;V.id2name=ie.id2name,V.name2id=ie.name2id,V.cleanId=ie.cleanId,V.list=ie.list,V.listIds=ie.listIds,V.getFromId=ie.getFromId,V.getFromTrace=ie.getFromTrace;var re=fv();V.getAutoRange=re.getAutoRange,V.findExtremes=re.findExtremes;var ue=1e-4;function _e(bt){var st=(bt[1]-bt[0])*ue;return[bt[0]-st,bt[1]+st]}V.coerceRef=function(bt,st,Nr,Lr,br,Rr){var jr=Lr.charAt(Lr.length-1),Wr=Nr._fullLayout._subplots[jr+"axis"],yt=Lr+"ref",Xt={};return br||(br=Wr[0]||(typeof Rr=="string"?Rr:Rr[0])),Rr||(Rr=br),Wr=Wr.concat(Wr.map(function(mr){return mr+" domain"})),Xt[yt]={valType:"enumerated",values:Wr.concat(Rr?typeof Rr=="string"?[Rr]:Rr:[]),dflt:br},e.coerce(bt,st,Xt,yt)},V.coerceRefArray=function(bt,st,Nr,Lr,br,Rr,jr){let Wr=Lr.charAt(Lr.length-1);var yt=Nr._fullLayout._subplots[Wr+"axis"];let Xt=Lr+"ref";var mr=bt[Xt];br||(br=yt[0]||(typeof Rr=="string"?Rr:Rr[0])),yt=yt.concat(yt.map(ki=>ki+" domain")),yt=yt.concat(Rr||[]),mr.length>jr?(e.warn("Array attribute "+Xt+" has more entries than expected, truncating to "+jr),mr=mr.slice(0,jr)):mr.length2e-6||((Nr-bt._forceTick0)/bt._minDtick%1+1.000001)%1>2e-6)&&(bt._minDtick=0))},V.saveRangeInitial=function(bt,st){for(var Nr=V.list(bt,"",!0),Lr=!1,br=0;brOr*.3||Xt(Lr)||Xt(br))){var ki=Nr.dtick/2;bt+=bt+kijr){var Wr=Number(Nr.slice(1));Rr.exactYears>jr&&Wr%12===0?bt=V.tickIncrement(bt,"M6","reverse")+v*1.5:Rr.exactMonths>jr?bt=V.tickIncrement(bt,"M1","reverse")+v*15.5:bt-=u;var yt=V.tickIncrement(bt,Nr);if(yt<=Lr)return yt}return bt}V.prepMinorTicks=function(bt,st,Nr){if(!st.minor.dtick){delete bt.dtick;var Lr=st.dtick&&x(st._tmin),br;if(Lr){var Rr=V.tickIncrement(st._tmin,st.dtick,!0);br=[st._tmin,Rr*.99+st._tmin*.01]}else{var jr=e.simpleMap(st.range,st.r2l);br=[jr[0],.8*jr[0]+.2*jr[1]]}if(bt.range=e.simpleMap(br,st.l2r),bt._isMinor=!0,V.prepTicks(bt,Nr),Lr){var Wr=x(st.dtick),yt=x(bt.dtick),Xt=Wr?st.dtick:+st.dtick.substring(1),mr=yt?bt.dtick:+bt.dtick.substring(1);Wr&&yt?it(Xt,mr)?Xt===2*b&&mr===2*v&&(bt.dtick=b):Xt===2*b&&mr===3*v?bt.dtick=b:Xt===b&&!(st._input.minor||{}).nticks?bt.dtick=v:et(Xt/mr,2.5)?bt.dtick=Xt/2:bt.dtick=Xt:String(st.dtick).charAt(0)==="M"?yt?bt.dtick="M1":it(Xt,mr)?Xt>=12&&mr===2&&(bt.dtick="M3"):bt.dtick=st.dtick:String(bt.dtick).charAt(0)==="L"?String(st.dtick).charAt(0)==="L"?it(Xt,mr)||(bt.dtick=et(Xt/mr,2.5)?st.dtick/2:st.dtick):bt.dtick="D1":bt.dtick==="D2"&&+st.dtick>1&&(bt.dtick=1)}bt.range=st.range}st.minor._tick0Init===void 0&&(bt.tick0=st.tick0)};function it(bt,st){return Math.abs((bt/st+.5)%1-.5)<.001}function et(bt,st){return Math.abs(bt/st-1)<.001}V.prepTicks=function(bt,st){var Nr=e.simpleMap(bt.range,bt.r2l,void 0,void 0,st);if(bt.tickmode==="auto"||!bt.dtick){var Lr=bt.nticks,br;Lr||(bt.type==="category"||bt.type==="multicategory"?(br=bt.tickfont?e.bigFont(bt.tickfont.size||12):15,Lr=bt._length/br):(br=bt._id.charAt(0)==="y"?40:80,Lr=e.constrain(bt._length/br,4,9)+1),bt._name==="radialaxis"&&(Lr*=2)),bt.minor&&bt.minor.tickmode!=="array"||bt.tickmode==="array"&&(Lr*=100),bt._roughDTick=Math.abs(Nr[1]-Nr[0])/Lr,V.autoTicks(bt,bt._roughDTick),bt._minDtick>0&&bt.dtick0?(Rr=Lr-1,jr=Lr):(Rr=Lr,jr=Lr);var Wr=bt[Rr].value,yt=bt[jr].value,Xt=Math.abs(yt-Wr),mr=Nr||Xt,Or=0;mr>=T?Xt>=T&&Xt<=m?Or=Xt:Or=d:Nr===_&&mr>=w?Xt>=w&&Xt<=l?Or=Xt:Or=_:mr>=g?Xt>=g&&Xt<=A?Or=Xt:Or=M:Nr===b&&mr>=b?Or=b:mr>=v?Or=v:Nr===u&&mr>=u?Or=u:Nr===y&&mr>=y&&(Or=y);var ki;Or>=Xt&&(Or=Xt,ki=!0);var Ni=br+Or;if(st.rangebreaks&&Or>0){for(var Si=84,fi=0,Li=0;Lib&&(Or=Xt)}(Or>0||Lr===0)&&(bt[Lr].periodX=br+Or/2)}}V.calcTicks=function(st,Nr){for(var Lr=st.type,br=st.calendar,Rr=st.ticklabelstep,jr=st.ticklabelmode==="period",Wr=st.range[0]>st.range[1],yt=!st.ticklabelindex||e.isArrayOrTypedArray(st.ticklabelindex)?st.ticklabelindex:[st.ticklabelindex],Xt=e.simpleMap(st.range,st.r2l,void 0,void 0,Nr),mr=Xt[1]=(un?0:1);Bn--){var Kn=!Bn;Bn?(st._dtickInit=st.dtick,st._tick0Init=st.tick0):(st.minor._dtickInit=st.minor.dtick,st.minor._tick0Init=st.minor.tick0);var Gn=Bn?st:e.extendFlat({},st,st.minor);if(Kn?V.prepMinorTicks(Gn,st,Nr):V.prepTicks(Gn,Nr),Gn.tickmode==="array"){Bn?(Li=[],Si=Qe(st,!Kn)):(Ia=[],fi=Qe(st,!Kn));continue}if(Gn.tickmode==="sync"){Li=[],Si=Be(st);continue}var eo=_e(Xt),Ao=eo[0],An=eo[1],Eo=x(Gn.dtick),fs=Lr==="log"&&!(Eo||Gn.dtick.charAt(0)==="L"),Ls=V.tickFirst(Gn,Nr);if(Bn){if(st._tmin=Ls,Ls=An:uo<=An;uo=V.tickIncrement(uo,el,mr,br)){if(Bn&&ss++,Gn.rangebreaks&&!mr){if(uo=ki)break}if(Li.length>Ni||uo===ns)break;ns=uo;var Ss={value:uo};Bn?(fs&&uo!==(uo|0)&&(Ss.simpleLabel=!0),Rr>1&&ss%Rr&&(Ss.skipLabel=!0),Li.push(Ss)):(Ss.minor=!0,Ia.push(Ss))}}if(!Ia||Ia.length<2)yt=!1;else{var Co=(Ia[1].value-Ia[0].value)*(Wr?-1:1);En(Co,st.tickformat)||(yt=!1)}if(!yt)Fa=Li;else{var ao=Li.concat(Ia);jr&&Li.length&&(ao=ao.slice(1)),ao=ao.sort(function(al,kl){return al.value-kl.value}).filter(function(al,kl,Ns){return kl===0||al.value!==Ns[kl-1].value});var co=ao.map(function(al,kl){return al.minor===void 0&&!al.skipLabel?kl:null}).filter(function(al){return al!==null});co.forEach(function(al){yt.map(function(kl){var Ns=al+kl;Ns>=0&&Ns-1;so--){if(Li[so].drop){Li.splice(so,1);continue}Li[so].value=ca(Li[so].value,st);var yl=st.c2p(Li[so].value);($s?nl>yl-Ps:nlki||rlki&&(Ns.periodX=ki),rlbr&&kid)st/=d,Lr=br(10),bt.dtick="M"+12*yr(st,Lr,at);else if(Rr>M)st/=M,bt.dtick="M"+yr(st,1,$e);else if(Rr>v){if(bt.dtick=yr(st,v,bt._hasDayOfWeekBreaks?[1,2,7,14]:Pt),!Nr){var jr=V.getTickFormat(bt),Wr=bt.ticklabelmode==="period";Wr&&(bt._rawTick0=bt.tick0),/%[uVW]/.test(jr)?bt.tick0=e.dateTick0(bt.calendar,2):bt.tick0=e.dateTick0(bt.calendar,1),Wr&&(bt._dowTick0=bt.tick0)}}else Rr>y?bt.dtick=yr(st,y,$e):Rr>f?bt.dtick=yr(st,f,It):Rr>R?bt.dtick=yr(st,R,It):(Lr=br(10),bt.dtick=yr(st,Lr,at))}else if(bt.type==="log"){bt.tick0=0;var yt=e.simpleMap(bt.range,bt.r2l);if(bt._isMinor&&(st*=1.5),st>.7)bt.dtick=Math.ceil(st);else if(Math.abs(yt[1]-yt[0])<1){var Xt=1.5*Math.abs((yt[1]-yt[0])/st);st=Math.abs(Math.pow(10,yt[1])-Math.pow(10,yt[0]))/Xt,Lr=br(10),bt.dtick="L"+yr(st,Lr,at)}else bt.dtick=st>.3?"D2":"D1"}else bt.type==="category"||bt.type==="multicategory"?(bt.tick0=0,bt.dtick=Math.ceil(Math.max(st,1))):ra(bt)?(bt.tick0=0,Lr=1,bt.dtick=yr(st,Lr,Cr)):(bt.tick0=0,Lr=br(10),bt.dtick=yr(st,Lr,at));if(bt.dtick===0&&(bt.dtick=1),!x(bt.dtick)&&typeof bt.dtick!="string"){var mr=bt.dtick;throw bt.dtick=1,"ax.dtick error: "+String(mr)}};function qr(bt){var st=bt.dtick;if(bt._tickexponent=0,!x(st)&&typeof st!="string"&&(st=1),(bt.type==="category"||bt.type==="multicategory")&&(bt._tickround=null),bt.type==="date"){var Nr=bt.r2l(bt.tick0),Lr=bt.l2r(Nr).replace(/(^-|i)/g,""),br=Lr.length;if(String(st).charAt(0)==="M")br>10||Lr.slice(5)!=="01-01"?bt._tickround="d":bt._tickround=+st.slice(1)%12===0?"y":"m";else if(st>=v&&br<=10||st>=v*15)bt._tickround="d";else if(st>=f&&br<=16||st>=y)bt._tickround="M";else if(st>=R&&br<=19||st>=f)bt._tickround="S";else{var Rr=bt.l2r(Nr+st).replace(/^-/,"").length;bt._tickround=Math.max(br,Rr)-20,bt._tickround<0&&(bt._tickround=4)}}else if(x(st)||st.charAt(0)==="L"){var jr=bt.range.map(bt.r2d||Number);x(st)||(st=Number(st.slice(1))),bt._tickround=2-Math.floor(Math.log(st)/Math.LN10+.01);var Wr=Math.max(Math.abs(jr[0]),Math.abs(jr[1])),yt=Math.floor(Math.log(Wr)/Math.LN10+.01),Xt=bt.minexponent===void 0?3:bt.minexponent;Math.abs(yt)>Xt&&(Le(bt.exponentformat)&&bt.exponentformat!=="SI extended"&&!ut(yt)||Le(bt.exponentformat)&&bt.exponentformat==="SI extended"&&!lt(yt)?bt._tickexponent=3*Math.round((yt-1)/3):bt._tickexponent=yt)}else bt._tickround=null}V.tickIncrement=function(bt,st,Nr,Lr){var br=Nr?-1:1;if(x(st))return e.increment(bt,br*st);var Rr=st.charAt(0),jr=br*Number(st.slice(1));if(Rr==="M")return e.incrementMonth(bt,jr,Lr);if(Rr==="L")return Math.log(Math.pow(10,bt)+jr)/Math.LN10;if(Rr==="D"){var Wr=st==="D2"?Wt:Vt,yt=bt+br*.01,Xt=e.roundUp(e.mod(yt,1),Wr,Nr);return Math.floor(yt)+Math.log(p.round(Math.pow(10,Xt),1))/Math.LN10}throw"unrecognized dtick "+String(st)},V.tickFirst=function(bt,st){var Nr=bt.r2l||Number,Lr=e.simpleMap(bt.range,Nr,void 0,void 0,st),br=Lr[1]=0&&Ia<=bt._length?Li:null};if(Rr&&e.isArrayOrTypedArray(bt.ticktext)){var Or=e.simpleMap(bt.range,bt.r2l),ki=(Math.abs(Or[1]-Or[0])-(bt._lBreaks||0))/1e4;for(Xt=0;Xt"+Wr;else{var Xt=xa(bt),mr=bt._trueSide||bt.side;(!Xt&&mr==="top"||Xt&&mr==="bottom")&&(jr+="
")}st.text=jr}function xt(bt,st,Nr,Lr,br){var Rr=bt.dtick,jr=st.x,Wr=bt.tickformat,yt=typeof Rr=="string"&&Rr.charAt(0);if(br==="never"&&(br=""),Lr&&yt!=="L"&&(Rr="L3",yt="L"),Wr||yt==="L")st.text=kt(Math.pow(10,jr),bt,br,Lr);else if(x(Rr)||yt==="D"&&(bt.minorloglabels==="complete"||e.mod(jr+.01,1)<.1)){var Xt;bt.minorloglabels==="complete"&&!(e.mod(jr+.01,1)<.1)&&(Xt=!0,st.fontSize*=.75);var mr=Math.pow(10,jr).toExponential(0),Or=mr.split("e"),ki=+Or[1],Ni=Math.abs(ki),Si=bt.exponentformat;Si==="power"||Le(Si)&&Si!=="SI extended"&&ut(ki)||Le(Si)&&Si==="SI extended"&<(ki)?(st.text=Or[0],Ni>0&&(st.text+="x10"),st.text==="1x10"&&(st.text="10"),ki!==0&&ki!==1&&(st.text+=""+(ki>0?"":F)+Ni+""),st.fontSize*=1.25):(Si==="e"||Si==="E")&&Ni>2?st.text=Or[0]+Si+(ki>0?"+":F)+Ni:(st.text=kt(Math.pow(10,jr),bt,"","fakehover"),Rr==="D1"&&bt._id.charAt(0)==="y"&&(st.dy-=st.fontSize/6))}else if(yt==="D")st.text=bt.minorloglabels==="none"?"":String(Math.round(Math.pow(10,e.mod(jr,1)))),st.fontSize*=.75;else throw"unrecognized dtick "+String(Rr);if(bt.dtick==="D1"){var fi=String(st.text).charAt(0);(fi==="0"||fi==="1")&&(bt._id.charAt(0)==="y"?st.dx-=st.fontSize/4:(st.dy+=st.fontSize/2,st.dx+=(bt.range[1]>bt.range[0]?1:-1)*st.fontSize*(jr<0?.5:.25)))}}function Ne(bt,st){var Nr=bt._categories[Math.round(st.x)];Nr===void 0&&(Nr=""),st.text=String(Nr)}function Ye(bt,st,Nr){var Lr=Math.round(st.x),br=bt._categories[Lr]||[],Rr=br[1]===void 0?"":String(br[1]),jr=br[0]===void 0?"":String(br[0]);Nr?st.text=jr+" - "+Rr:(st.text=Rr,st.text2=jr)}function be(bt,st,Nr,Lr,br){br==="never"?br="":bt.showexponent==="all"&&Math.abs(st.x/bt.dtick)<1e-6&&(br="hide"),st.text=kt(st.x,bt,br,Lr)}function Ie(bt,st,Nr,Lr,br){if(bt.thetaunit==="radians"&&!Nr){var Rr=st.x/180;if(Rr===0)st.text="0";else{var jr=qe(Rr);if(jr[1]>=100)st.text=kt(e.deg2rad(st.x),bt,br,Lr);else{var Wr=st.x<0;jr[1]===1?jr[0]===1?st.text="\u03C0":st.text=jr[0]+"\u03C0":st.text=["",jr[0],"","\u2044","",jr[1],"","\u03C0"].join(""),Wr&&(st.text=F+st.text)}}}else st.text=kt(st.x,bt,br,Lr)}function qe(bt){function st(Wr,yt){return Math.abs(Wr-yt)<=1e-6}function Nr(Wr,yt){return st(yt,0)?Wr:Nr(yt,Wr%yt)}function Lr(Wr){for(var yt=1;!st(Math.round(Wr*yt)/yt,Wr);)yt*=10;return yt}var br=Lr(bt),Rr=bt*br,jr=Math.abs(Nr(Rr,br));return[Math.round(Rr/jr),Math.round(br/jr)]}var ke=["f","p","n","\u03BC","m","","k","M","G","T"],Me=["q","r","y","z","a",...ke,"P","E","Z","Y","R","Q"],Le=bt=>["SI","SI extended","B"].includes(bt);function ut(bt){return bt>14||bt<-15}function lt(bt){return bt>32||bt<-30}function gt(bt,st){return Le(st)?!!(st==="SI extended"&<(bt)||st!=="SI extended"&&ut(bt)):!1}function kt(bt,st,Nr,Lr){var br=bt<0,Rr=st._tickround,jr=Nr||st.exponentformat||"B",Wr=st._tickexponent,yt=V.getTickFormat(st),Xt=st.separatethousands;if(Lr){var mr={exponentformat:jr,minexponent:st.minexponent,dtick:st.showexponent==="none"?st.dtick:x(bt)&&Math.abs(bt)||1,range:st.showexponent==="none"?st.range.map(st.r2d):[0,bt||1]};qr(mr),Rr=(Number(mr._tickround)||0)+4,Wr=mr._tickexponent,st.hoverformat&&(yt=st.hoverformat)}if(yt)return st._numFormat(yt)(bt).replace(/-/g,F);var Or=Math.pow(10,-Rr)/2;if(jr==="none"&&(Wr=0),bt=Math.abs(bt),bt"+Si+"":jr==="B"&&Wr===9?bt+="B":Le(jr)&&(bt+=jr==="SI extended"?Me[Wr/3+10]:ke[Wr/3+5])}return br?F+bt:bt}V.getTickFormat=function(bt){var st;function Nr(yt){return typeof yt!="string"?yt:Number(yt.replace("M",""))*M}function Lr(yt,Xt){var mr=["L","D"];if(typeof yt==typeof Xt){if(typeof yt=="number")return yt-Xt;var Or=mr.indexOf(yt.charAt(0)),ki=mr.indexOf(Xt.charAt(0));return Or===ki?Number(yt.replace(/(L|D)/g,""))-Number(Xt.replace(/(L|D)/g,"")):Or-ki}else return typeof yt=="number"?1:-1}function br(yt,Xt,mr){var Or=mr||function(Si){return Si},ki=Xt[0],Ni=Xt[1];return(!ki&&typeof ki!="number"||Or(ki)<=Or(yt))&&(!Ni&&typeof Ni!="number"||Or(Ni)>=Or(yt))}function Rr(yt,Xt){var mr=Xt[0]===null,Or=Xt[1]===null,ki=Lr(yt,Xt[0])>=0,Ni=Lr(yt,Xt[1])<=0;return(mr||ki)&&(Or||Ni)}var jr,Wr;if(bt.tickformatstops&&bt.tickformatstops.length>0)switch(bt.type){case"date":case"linear":{for(st=0;st=0&&br.unshift(br.splice(mr,1).shift())}});var Wr={false:{left:0,right:0}};return e.syncOrAsync(br.map(function(yt){return function(){if(yt){var Xt=V.getFromId(bt,yt);Nr||(Nr={}),Nr.axShifts=Wr,Nr.overlayingShiftedAx=jr;var mr=V.drawOne(bt,Xt,Nr);return Xt._shiftPusher&&pn(Xt,Xt._fullDepth||0,Wr,!0),Xt._r=Xt.range.slice(),Xt._rl=e.simpleMap(Xt._r,Xt.r2l),mr}}}))},V.drawOne=function(bt,st,Nr){Nr=Nr||{};var Lr=Nr.axShifts||{},br=Nr.overlayingShiftedAx||[],Rr,jr,Wr;st.setScale();var yt=bt._fullLayout,Xt=st._id,mr=Xt.charAt(0),Or=V.counterLetter(Xt),ki=yt._plots[st._mainSubplot],Ni=st.zerolinelayer==="above traces";if(!ki)return;if(st._shiftPusher=st.autoshift||br.indexOf(st._id)!==-1||br.indexOf(st.overlaying)!==-1,st._shiftPusher&st.anchor==="free"){var Si=st.linewidth/2||0;st.ticks==="inside"&&(Si+=st.ticklen),pn(st,Si,Lr,!0),pn(st,st.shift||0,Lr,!1)}(Nr.skipTitle!==!0||st._shift===void 0)&&(st._shift=_n(st,Lr));var fi=ki[mr+"axislayer"],Li=st._mainLinePosition,Ia=Li+=st._shift,Fa=st._mainMirrorPosition,un=st._vals=V.calcTicks(st),Bn=[st.mirror,Ia,Fa].join("_");for(Rr=0;Rr0?rl.bottom-kl:0,Ns))));var pu=0,kc=0;if(st._shiftPusher&&(pu=Math.max(Ns,rl.height>0?Lo==="l"?kl-rl.left:rl.right-kl:0),st.title.text!==yt._dfltTitle[mr]&&(kc=(st._titleStandoff||0)+(st._titleScoot||0),Lo==="l"&&(kc+=Bi(st))),st._fullDepth=Math.max(pu,kc)),st.automargin){Es={x:0,y:0,r:0,l:0,t:0,b:0};var Au=[0,1],Sf=typeof st._shift=="number"?st._shift:0;if(mr==="x"){if(Lo==="b"?Es[Lo]=st._depth:(Es[Lo]=st._depth=Math.max(rl.width>0?kl-rl.top:0,Ns),Au.reverse()),rl.width>0){var Gc=rl.right-(st._offset+st._length);Gc>0&&(Es.xr=1,Es.r=Gc);var Js=st._offset-rl.left;Js>0&&(Es.xl=0,Es.l=Js)}}else if(Lo==="l"?(st._depth=Math.max(rl.height>0?kl-rl.left:0,Ns),Es[Lo]=st._depth-Sf):(st._depth=Math.max(rl.height>0?rl.right-kl:0,Ns),Es[Lo]=st._depth+Sf,Au.reverse()),rl.height>0){var yc=rl.bottom-(st._offset+st._length);yc>0&&(Es.yb=0,Es.b=yc);var Zc=st._offset-rl.top;Zc>0&&(Es.yt=1,Es.t=Zc)}Es[Or]=st.anchor==="free"?st.position:st._anchorAxis.domain[Au[0]],st.title.text!==yt._dfltTitle[mr]&&(Es[Lo]+=Bi(st)+(st.title.standoff||0)),st.mirror&&st.anchor!=="free"&&(Us={x:0,y:0,r:0,l:0,t:0,b:0},Us[al]=st.linewidth,st.mirror&&st.mirror!==!0&&(Us[al]+=Ns),st.mirror===!0||st.mirror==="ticks"?Us[Or]=st._anchorAxis.domain[Au[1]]:(st.mirror==="all"||st.mirror==="allticks")&&(Us[Or]=[st._counterDomainMin,st._counterDomainMax][Au[1]]))}Tu&&(Zl=E.getComponentMethod("rangeslider","autoMarginOpts")(bt,st)),typeof st.automargin=="string"&&(nr(Es,st.automargin),nr(Us,st.automargin)),S.autoMargin(bt,Jt(st),Es),S.autoMargin(bt,Br(st),Us),S.autoMargin(bt,ri(st),Zl)}),e.syncOrAsync(jo)}};function nr(bt,st){if(bt){var Nr=Object.keys(J).reduce(function(Lr,br){return st.indexOf(br)!==-1&&J[br].forEach(function(Rr){Lr[Rr]=1}),Lr},{});Object.keys(bt).forEach(function(Lr){Nr[Lr]||(Lr.length===1?bt[Lr]=0:delete bt[Lr])})}}function ir(bt,st){var Nr=[],Lr,br=function(Rr,jr){var Wr=Rr.xbnd[jr];Wr!==null&&Nr.push(e.extendFlat({},Rr,{x:Wr}))};if(st.length){for(Lr=0;Lrbt.range[1],Wr=bt.ticklabelposition&&bt.ticklabelposition.indexOf("inside")!==-1,yt=!Wr;if(Nr){var Xt=jr?-1:1;Nr=Nr*Xt}if(Lr){var mr=bt.side,Or=Wr&&(mr==="top"||mr==="left")||yt&&(mr==="bottom"||mr==="right")?1:-1;Lr=Lr*Or}return bt._id.charAt(0)==="x"?function(ki){return t(br+bt._offset+bt.l2p(Vi(ki))+Nr,Rr+Lr)}:function(ki){return t(Rr+Lr,br+bt._offset+bt.l2p(Vi(ki))+Nr)}};function Vi(bt){return bt.periodX!==void 0?bt.periodX:bt.x}function Ui(bt){var st=bt.ticklabelposition||"",Nr=bt.tickson||"",Lr=function(Si){return st.indexOf(Si)!==-1},br=Lr("top"),Rr=Lr("left"),jr=Lr("right"),Wr=Lr("bottom"),yt=Lr("inside"),Xt=Nr!=="boundaries"&&(Wr||Rr||br||jr);if(!Xt&&!yt)return[0,0];var mr=bt.side,Or=Xt?(bt.tickwidth||0)/2:0,ki=ee,Ni=bt.tickfont?bt.tickfont.size:12;return(Wr||br)&&(Or+=Ni*ce,ki+=(bt.linewidth||0)/2),(Rr||jr)&&(Or+=(bt.linewidth||0)/2,ki+=ee),yt&&mr==="top"&&(ki-=Ni*(1-ce)),(Rr||br)&&(Or=-Or),(mr==="bottom"||mr==="right")&&(ki=-ki),[Xt?Or:0,yt?ki:0]}V.makeTickPath=function(bt,st,Nr,Lr){Lr||(Lr={});var br=Lr.minor;if(br&&!bt.minor)return"";var Rr=Lr.len!==void 0?Lr.len:br?bt.minor.ticklen:bt.ticklen,jr=bt._id.charAt(0),Wr=(bt.linewidth||1)/2;return jr==="x"?"M0,"+(st+Wr*Nr)+"v"+Rr*Nr:"M"+(st+Wr*Nr)+",0h"+Rr*Nr},V.makeLabelFns=function(bt,st,Nr){var Lr=bt.ticklabelposition||"",br=bt.tickson||"",Rr=function(ns){return Lr.indexOf(ns)!==-1},jr=Rr("top"),Wr=Rr("left"),yt=Rr("right"),Xt=Rr("bottom"),mr=br!=="boundaries"&&(Xt||Wr||jr||yt),Or=Rr("inside"),ki=Lr==="inside"&&bt.ticks==="inside"||!Or&&bt.ticks==="outside"&&br!=="boundaries",Ni=0,Si=0,fi=ki?bt.ticklen:0;if(Or?fi*=-1:mr&&(fi=0),ki&&(Ni+=fi,Nr)){var Li=e.deg2rad(Nr);Ni=fi*Math.cos(Li)+1,Si=fi*Math.sin(Li)}bt.showticklabels&&(ki||bt.showline)&&(Ni+=.2*bt.tickfont.size),Ni+=(bt.linewidth||1)/2*(Or?-1:1);var Ia={labelStandoff:Ni,labelShift:Si},Fa,un,Bn,Kn,Gn=0,eo=bt.side,Ao=bt._id.charAt(0),An=bt.tickangle,Eo;if(Ao==="x")Eo=!Or&&eo==="bottom"||Or&&eo==="top",Kn=Eo?1:-1,Or&&(Kn*=-1),Fa=Si*Kn,un=st+Ni*Kn,Bn=Eo?1:-.2,Math.abs(An)===90&&(Or?Bn+=le:An===-90&&eo==="bottom"?Bn=ce:An===90&&eo==="top"?Bn=le:Bn=.5,Gn=le/2*(An/90)),Ia.xFn=function(ns){return ns.dx+Fa+Gn*ns.fontSize},Ia.yFn=function(ns){return ns.dy+un+ns.fontSize*Bn},Ia.anchorFn=function(ns,uo){if(mr){if(Wr)return"end";if(yt)return"start"}return!x(uo)||uo===0||uo===180?"middle":uo*Kn<0!==Or?"end":"start"},Ia.heightFn=function(ns,uo,ss){return uo<-60||uo>60?-.5*ss:bt.side==="top"!==Or?-ss:0};else if(Ao==="y"){if(Eo=!Or&&eo==="left"||Or&&eo==="right",Kn=Eo?1:-1,Or&&(Kn*=-1),Fa=Ni,un=Si*Kn,Bn=0,!Or&&Math.abs(An)===90&&(An===-90&&eo==="left"||An===90&&eo==="right"?Bn=ce:Bn=.5),Or){var fs=x(An)?+An:0;if(fs!==0){var Ls=e.deg2rad(fs);Gn=Math.abs(Math.sin(Ls))*ce*Kn,Bn=0}}Ia.xFn=function(ns){return ns.dx+st-(Fa+ns.fontSize*Bn)*Kn+Gn*ns.fontSize},Ia.yFn=function(ns){return ns.dy+un+ns.fontSize*le},Ia.anchorFn=function(ns,uo){return x(uo)&&Math.abs(uo)===90?"middle":Eo?"end":"start"},Ia.heightFn=function(ns,uo,ss){return bt.side==="right"&&(uo*=-1),uo<-30?-ss:uo<30?-.5*ss:0}}return Ia};function Ki(bt){return[bt.text,bt.x,bt.axInfo,bt.font,bt.fontSize,bt.fontColor].join("_")}V.drawTicks=function(bt,st,Nr){Nr=Nr||{};var Lr=st._id+"tick",br=[].concat(st.minor&&st.minor.ticks?Nr.vals.filter(function(jr){return jr.minor&&!jr.noTick}):[]).concat(st.ticks?Nr.vals.filter(function(jr){return!jr.minor&&!jr.noTick}):[]),Rr=Nr.layer.selectAll("path."+Lr).data(br,Ki);Rr.exit().remove(),Rr.enter().append("path").classed(Lr,1).classed("ticks",1).classed("crisp",Nr.crisp!==!1).each(function(jr){return i.stroke(p.select(this),jr.minor?st.minor.tickcolor:st.tickcolor)}).style("stroke-width",function(jr){return n.crispRound(bt,jr.minor?st.minor.tickwidth:st.tickwidth,1)+"px"}).attr("d",Nr.path).style("display",null),ji(st,[O]),Rr.attr("transform",Nr.transFn)},V.drawGrid=function(bt,st,Nr){if(Nr=Nr||{},st.tickmode!=="sync"){var Lr=st._id+"grid",br=st.minor&&st.minor.showgrid,Rr=br?Nr.vals.filter(function(Ia){return Ia.minor}):[],jr=st.showgrid?Nr.vals.filter(function(Ia){return!Ia.minor}):[],Wr=Nr.counterAxis;if(Wr&&V.shouldShowZeroLine(bt,st,Wr))for(var yt=st.tickmode==="array",Xt=0;Xt=0;Si--){var fi=Si?ki:Ni;if(fi){var Li=fi.selectAll("path."+Lr).data(Si?jr:Rr,Ki);Li.exit().remove(),Li.enter().append("path").classed(Lr,1).classed("crisp",Nr.crisp!==!1),Li.attr("transform",Nr.transFn).attr("d",Nr.path).each(function(Ia){return i.stroke(p.select(this),Ia.minor?st.minor.gridcolor:st.gridcolor||"#ddd")}).style("stroke-dasharray",function(Ia){return n.dashStyle(Ia.minor?st.minor.griddash:st.griddash,Ia.minor?st.minor.gridwidth:st.gridwidth)}).style("stroke-width",function(Ia){return(Ia.minor?Or:st._gw)+"px"}).style("display",null),typeof Nr.path=="function"&&Li.attr("d",Nr.path)}}ji(st,[I,U])}},V.drawZeroLine=function(bt,st,Nr){Nr=Nr||Nr;var Lr=st._id+"zl",br=V.shouldShowZeroLine(bt,st,Nr.counterAxis),Rr=Nr.layer.selectAll("path."+Lr).data(br?[{x:0,id:st._id}]:[]);Rr.exit().remove(),Rr.enter().append("path").classed(Lr,1).classed("zl",1).classed("crisp",Nr.crisp!==!1).each(function(){Nr.layer.selectAll("path").sort(function(jr,Wr){return j(jr.id,Wr.id)})}),Rr.attr("transform",Nr.transFn).attr("d",Nr.path).call(i.stroke,st.zerolinecolor||i.defaultLine).style("stroke-width",n.crispRound(bt,st.zerolinewidth,st._gw||1)+"px").style("display",null),ji(st,[B])},V.drawLabels=function(bt,st,Nr){Nr=Nr||{};var Lr=bt._fullLayout,br=st._id,Rr=st.zerolinelayer==="above traces",jr=Nr.cls||br+"tick",Wr=Nr.vals.filter(function(Co){return Co.text}),yt=Nr.labelFns,Xt=Nr.secondary?0:st.tickangle,mr=(st._prevTickAngles||{})[jr],Or=Nr.layer.selectAll("g."+jr).data(st.showticklabels?Wr:[],Ki),ki=[];Or.enter().append("g").classed(jr,1).append("text").attr("text-anchor","middle").each(function(Co){var ao=p.select(this),co=bt._promises.length;ao.call(r.positionText,yt.xFn(Co),yt.yFn(Co)).call(n.font,{family:Co.font,size:Co.fontSize,color:Co.fontColor,weight:Co.fontWeight,style:Co.fontStyle,variant:Co.fontVariant,textcase:Co.fontTextcase,lineposition:Co.fontLineposition,shadow:Co.fontShadow}).text(Co.text).call(r.convertToTspans,bt),bt._promises[co]?ki.push(bt._promises.pop().then(function(){Ni(ao,Xt)})):Ni(ao,Xt)}),ji(st,[X]),Or.exit().remove(),Nr.repositionOnUpdate&&Or.each(function(Co){p.select(this).select("text").call(r.positionText,yt.xFn(Co),yt.yFn(Co))});function Ni(Co,ao){Co.each(function(co){var Ms=p.select(this),Gs=Ms.select(".text-math-group"),ul=yt.anchorFn(co,ao),hs=Nr.transFn.call(Ms.node(),co)+(x(ao)&&+ao!=0?" rotate("+ao+","+yt.xFn(co)+","+(yt.yFn(co)-co.fontSize/2)+")":""),rn=r.lineCount(Ms),Xn=q*co.fontSize,tl=yt.heightFn(co,x(ao)?+ao:0,(rn-1)*Xn);if(tl&&(hs+=t(0,tl)),Gs.empty()){var zs=Ms.select("text");zs.attr({transform:hs,"text-anchor":ul}),zs.style("display",null),st._adjustTickLabelsOverflow&&st._adjustTickLabelsOverflow()}else{var so=n.bBox(Gs.node()).width,$s=so*{end:-.5,start:.5}[ul];Gs.attr("transform",hs+t($s,0))}})}st._adjustTickLabelsOverflow=function(){var Co=st.ticklabeloverflow;if(!(!Co||Co==="allow")){var ao=Co.indexOf("hide")!==-1,co=st._id.charAt(0)==="x",Ms=0,Gs=co?bt._fullLayout.width:bt._fullLayout.height;if(Co.indexOf("domain")!==-1){var ul=e.simpleMap(st.range,st.r2l);Ms=st.l2p(ul[0])+st._offset,Gs=st.l2p(ul[1])+st._offset}var hs=Math.min(Ms,Gs),rn=Math.max(Ms,Gs),Xn=st.side,tl=1/0,zs=-1/0;Or.each(function(nl){var yl=p.select(this),On=yl.select(".text-math-group");if(On.empty()){var Ko=n.bBox(yl.node()),jo=0;co?(Ko.right>rn||Ko.leftrn||Ko.top+(st.tickangle?0:nl.fontSize/4)st["_visibleLabelMin_"+ul._id]?yl.style("display","none"):rn.K==="tick"&&!hs&&yl.node().style.display!=="none"&&yl.style("display",null)})})})})},Ni(Or,mr+1?mr:Xt);function Si(){return ki.length&&Promise.all(ki)}var fi=null;function Li(){if(Ni(Or,Xt),Wr.length&&st.autotickangles&&(st.type!=="log"||String(st.dtick).charAt(0)!=="D")){fi=st.autotickangles[0];var Co=0,ao=[],co,Ms=1;Or.each(function(Es){Co=Math.max(Co,Es.fontSize);var Us=st.l2p(Es.x),Zl=Zt(this),pu=n.bBox(Zl.node());Ms=Math.max(Ms,r.lineCount(Zl)),ao.push({top:0,bottom:10,height:10,left:Us-pu.width/2,right:Us+pu.width/2+2,width:pu.width+2})});var Gs=(st.tickson==="boundaries"||st.showdividers)&&!Nr.secondary,ul=Wr.length,hs=Math.abs((Wr[ul-1].x-Wr[0].x)*st._m)/(ul-1),rn=Gs?hs/2:hs,Xn=Gs?st.ticklen:Co*1.25*Ms,tl=Math.sqrt(Math.pow(rn,2)+Math.pow(Xn,2)),zs=rn/tl,so=st.autotickangles.map(function(Es){return Es*Math.PI/180}),$s=so.find(function(Es){return Math.abs(Math.cos(Es))<=zs});$s===void 0&&($s=so.reduce(function(Es,Us){return Math.abs(Math.cos(Es))xs*ss&&(Ls=ss,An[Ao]=Eo[Ao]=ns[Ao])}var el=Math.abs(Ls-fs);el-Kn>0?(el-=Kn,Kn*=1+Kn/el):Kn=0,st._id.charAt(0)!=="y"&&(Kn=-Kn),An[eo]=un.p2r(un.r2p(Eo[eo])+Gn*Kn),un.autorange==="min"||un.autorange==="max reversed"?(An[0]=null,un._rangeInitial0=void 0,un._rangeInitial1=void 0):(un.autorange==="max"||un.autorange==="min reversed")&&(An[1]=null,un._rangeInitial0=void 0,un._rangeInitial1=void 0),Lr._insideTickLabelsUpdaterange[un._name+".range"]=An}var Ss=e.syncOrAsync(Ia);return Ss&&Ss.then&&bt._promises.push(Ss),Ss};function ea(bt,st,Nr){var Lr=st._id+"divider",br=Nr.vals,Rr=Nr.layer.selectAll("path."+Lr).data(br,Ki);Rr.exit().remove(),Rr.enter().insert("path",":first-child").classed(Lr,1).classed("crisp",1).call(i.stroke,st.dividercolor).style("stroke-width",n.crispRound(bt,st.dividerwidth,1)+"px"),Rr.attr("transform",Nr.transFn).attr("d",Nr.path)}V.getPxPosition=function(bt,st){var Nr=bt._fullLayout._size,Lr=st._id.charAt(0),br=st.side,Rr;if(st.anchor!=="free"?Rr=st._anchorAxis:Lr==="x"?Rr={_offset:Nr.t+(1-(st.position||0))*Nr.h,_length:0}:Lr==="y"&&(Rr={_offset:Nr.l+(st.position||0)*Nr.w+st._shift,_length:0}),br==="top"||br==="left")return Rr._offset;if(br==="bottom"||br==="right")return Rr._offset+Rr._length};function Bi(bt){var st=bt.title.font.size,Nr=(bt.title.text.match(r.BR_TAG_ALL)||[]).length;return bt.title.hasOwnProperty("standoff")?st*(ce+Nr*q):Nr?st*(Nr+1)*q:st}function _a(bt,st){var Nr=bt._fullLayout,Lr=st._id,br=Lr.charAt(0),Rr=st.title.font.size,jr,Wr=(st.title.text.match(r.BR_TAG_ALL)||[]).length;if(st.title.hasOwnProperty("standoff"))st.side==="bottom"||st.side==="right"?jr=st._depth+st.title.standoff+Rr*ce:(st.side==="top"||st.side==="left")&&(jr=st._depth+st.title.standoff+Rr*(le+Wr*q));else{var yt=xa(st);if(st.type==="multicategory")jr=st._depth;else{var Xt=1.5*Rr;yt&&(Xt=.5*Rr,st.ticks==="outside"&&(Xt+=st.ticklen)),jr=10+Xt+(st.linewidth?st.linewidth-1:0)}yt||(br==="x"?jr+=st.side==="top"?Rr*(st.showticklabels?1:0):Rr*(st.showticklabels?1.5:.5):jr+=st.side==="right"?Rr*(st.showticklabels?1:.5):Rr*(st.showticklabels?.5:0))}var mr=V.getPxPosition(bt,st),Or,ki,Ni;br==="x"?(ki=st._offset+st._length/2,Ni=st.side==="top"?mr-jr:mr+jr):(Ni=st._offset+st._length/2,ki=st.side==="right"?mr+jr:mr-jr,Or={rotate:"-90",offset:0});var Si;if(st.type!=="multicategory"){var fi=st._selections[st._id+"tick"];if(Si={selection:fi,side:st.side},fi&&fi.node()&&fi.node().parentNode){var Li=n.getTranslate(fi.node().parentNode);Si.offsetLeft=Li.x,Si.offsetTop=Li.y}st.title.hasOwnProperty("standoff")&&(Si.pad=0)}return st._titleStandoff=jr,o.draw(bt,Lr+"title",{propContainer:st,propName:st._name+".title.text",placeholder:Nr._dfltTitle[br],avoid:Si,transform:Or,attributes:{x:ki,y:Ni,"text-anchor":"middle"}})}V.shouldShowZeroLine=function(bt,st,Nr){var Lr=e.simpleMap(st.range,st.r2l);return Lr[0]*Lr[1]<=0&&st.zeroline&&(st.type==="linear"||st.type==="-")&&!(st.rangebreaks&&st.maskBreaks(0)===N)&&(Ca(st,0)||!Kt(bt,st,Nr,Lr)||zt(bt,st))},V.clipEnds=function(bt,st){return st.filter(function(Nr){return Ca(bt,Nr.x)})};function Ca(bt,st){var Nr=bt.l2p(st);return Nr>1&&Nr1)for(br=1;br=br.min&&bt=z:/%L/.test(st)?bt>=L:/%[SX]/.test(st)?bt>=R:/%M/.test(st)?bt>=f:/%[HI]/.test(st)?bt>=y:/%p/.test(st)?bt>=u:/%[Aadejuwx]/.test(st)?bt>=v:/%[UVW]/.test(st)?bt>=b:/%[Bbm]/.test(st)?bt>=g:/%[q]/.test(st)?bt>=w:/%[Yy]/.test(st)?bt>=T:!0}}}),Ww=De({"src/plots/cartesian/autorange_options_defaults.js"(Y,H){"use strict";H.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),i=x("autorangeoptions.maxallowed",e===null?t:void 0);o===void 0&&x("autorangeoptions.clipmin"),i===void 0&&x("autorangeoptions.clipmax"),x("autorangeoptions.include")}}}),Xw=De({"src/plots/cartesian/range_defaults.js"(Y,H){"use strict";var p=Ww();H.exports=function(S,E,e,t){var r=E._template||{},o=E.type||r.type||"-";e("minallowed"),e("maxallowed");var i=e("range");if(!i){var n;!t.noInsiderange&&o!=="log"&&(n=e("insiderange"),n&&(n[0]===null||n[1]===null)&&(E.insiderange=!1,n=void 0),n&&(i=e("range",n)))}var a=E.getAutorangeDflt(i,t),s=e("autorange",a),h;i&&(i[0]===null&&i[1]===null||(i[0]===null||i[1]===null)&&(s==="reversed"||s===!0)||i[0]!==null&&(s==="min"||s==="max reversed")||i[1]!==null&&(s==="max"||s==="min reversed"))&&(i=void 0,delete E.range,E.autorange=!0,h=!0),h||(a=E.getAutorangeDflt(i,t),s=e("autorange",a)),s&&(p(e,s,i),(o==="linear"||o==="-")&&e("rangemode")),E.cleanRange()}}}),DM=De({"node_modules/mouse-event-offset/index.js"(Y,H){var p={left:0,top:0};H.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,i=S(e);return t[0]=r-i.left,t[1]=o-i.top,t}function S(E){return E===window||E===document||E===document.body?p:E.getBoundingClientRect()}}}),T_=De({"node_modules/has-passive-events/index.js"(Y,H){"use strict";var p=Ow();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}H.exports=p&&x()}}),zM=De({"src/components/dragelement/align.js"(Y,H){"use strict";H.exports=function(x,S,E,e,t){var r=(x-E)/(e-E),o=r+S/(e-E),i=(r+o)/2;return t==="left"||t==="bottom"?r:t==="center"||t==="middle"?i:t==="right"||t==="top"?o:r<2/3-i?r:o>4/3-i?o:i}}}),FM=De({"src/components/dragelement/cursor.js"(Y,H){"use strict";var p=ui(),x=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];H.exports=function(E,e,t,r){return t==="left"?E=0:t==="center"?E=1:t==="right"?E=2:E=p.constrain(Math.floor(E*3),0,2),r==="bottom"?e=0:r==="middle"?e=1:r==="top"?e=2:e=p.constrain(Math.floor(e*3),0,2),x[e][E]}}}),BM=De({"src/components/dragelement/unhover.js"(Y,H){"use strict";var p=Xm(),x=x_(),S=ny().getGraphDiv,E=cv(),e=H.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 i=r._fullLayout,n=r._hoverdata;o||(o={}),!(o.target&&!r._dragged&&p.triggerHandler(r,"plotly_beforehover",o)===!1)&&(i._hoverlayer.selectAll("g").remove(),i._hoverlayer.selectAll("line").remove(),i._hoverlayer.selectAll("circle").remove(),r._hoverdata=void 0,o.target&&n&&r.emit("plotly_unhover",{event:o,points:n}))}}}),Qh=De({"src/components/dragelement/index.js"(Y,H){"use strict";var p=DM(),x=Nw(),S=T_(),E=ui().removeElement,e=th(),t=H.exports={};t.align=zM(),t.getCursor=FM();var r=BM();t.unhover=r.wrapped,t.unhoverRaw=r.raw,t.init=function(a){var s=a.gd,h=1,c=s._context.doubleClickDelay,m=a.element,d,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=d,R.clientY=T),l=new Date().getTime(),l-s._mouseDownTimec&&(h=Math.max(h-1,1)),s._dragged)a.doneFn&&a.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)})),a.clickFn&&a.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 a=n.style;return a.position="fixed",a.left=0,a.right=0,a.top=0,a.bottom=0,a.zIndex=999999999,a.background="none",document.body.appendChild(n),n}t.coverSlip=o;function i(n){return p(n.changedTouches?n.changedTouches[0]:n,document.body)}}}),hv=De({"src/lib/setcursor.js"(Y,H){"use strict";H.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)}}}),OM=De({"src/lib/override_cursor.js"(Y,H){"use strict";var p=hv(),x="data-savedcursor",S="!!";H.exports=function(e,t){var r=e.attr(x);if(t){if(!r){for(var o=(e.attr("class")||"").split(" "),i=0;iZ.legend.length)for(var oe=Z.legend.length;oe(i==="legend"?1:0));if(z===!1&&(a[i]=void 0),!(z===!1&&!c.uirevision)&&(d("uirevision",a.uirevision),z!==!1)){d("borderwidth");var F=d("orientation"),N=d("yref"),B=d("xref"),I=F==="h",U=N==="paper",O=B==="paper",X,J,se,le="left";I?(X=0,p.getComponentMethod("rangeslider","isVisible")(n.xaxis)?U?(J=1.1,se="bottom"):(J=1,se="top"):U?(J=-.1,se="top"):(J=0,se="bottom")):(J=1,se="auto",O?X=1.02:(X=1,le="right")),x.coerce(c,m,{x:{valType:"number",editType:"legend",min:O?-2:0,max:O?3:1,dflt:X}},"x"),x.coerce(c,m,{y:{valType:"number",editType:"legend",min:U?-2:0,max:U?3:1,dflt:J}},"y"),d("traceorder",v),r.isGrouped(a[i])&&d("tracegroupgap"),d("entrywidth"),d("entrywidthmode"),d("indentation"),d("itemsizing"),d("itemwidth"),d("itemclick"),d("itemdoubleclick"),d("groupclick"),d("xanchor",le),d("yanchor",se),d("maxheight"),d("valign"),x.noneOrAll(c,m,["x","y"]);var ce=d("title.text");if(ce){d("title.side",I?"left":"top");var q=x.extendFlat({},T,{size:x.bigFont(T.size)});x.coerceFont(d,"title.font",q);let Z=h>1;d("titleclick",Z?"toggle":!1),d("titledoubleclick",Z?"toggleothers":!1)}}}H.exports=function(n,a,s){var h,c=s.slice(),m=a.shapes;if(m)for(h=0;hz&&(L=z)}f[d][0]._groupMinRank=L,f[d][0]._preGroupSort=d}var F=function(X,J){return X[0]._groupMinRank-J[0]._groupMinRank||X[0]._preGroupSort-J[0]._preGroupSort},N=function(X,J){return X.trace.legendrank-J.trace.legendrank||X._preSort-J._preSort};for(f.forEach(function(X,J){X[0]._preGroupSort=J}),f.sort(F),d=0;d0)oe=Z.width;else return 0;return v?V:Math.min(oe,ee)};A.each(function(q){var Z=p.select(this),ee=S.ensureSingle(Z,"g","layers");ee.style("opacity",q[0].trace.opacity);var V=g.indentation,oe=g.valign,ie=q[0].lineHeight,j=q[0].height;if(oe==="middle"&&V===0||!ie||!j)ee.attr("transform",null);else{var Q={top:1,bottom:-1}[oe],re=Q*(.5*(ie-j+3))||0,ue=g.indentation;ee.attr("transform",E(ue,re))}var _e=ee.selectAll("g.legendfill").data([q]);_e.enter().append("g").classed("legendfill",!0);var we=ee.selectAll("g.legendlines").data([q]);we.enter().append("g").classed("legendlines",!0);var Re=ee.selectAll("g.legendsymbols").data([q]);Re.enter().append("g").classed("legendsymbols",!0),Re.selectAll("g.legendpoints").data([q]).enter().append("g").classed("legendpoints",!0)}).each(ce).each(F).each(B).each(N).each(U).each(se).each(J).each(L).each(z).each(O).each(X);function L(q){var Z=l(q),ee=Z.showFill,V=Z.showLine,oe=Z.showGradientLine,ie=Z.showGradientFill,j=Z.anyFill,Q=Z.anyLine,re=q[0],ue=re.trace,_e,we,Re=r(ue),ze=Re.colorscale,Xe=Re.reversescale,tt=function(Be){if(Be.size())if(ee)e.fillGroupStyle(Be,M,!0);else{var Qe="legendfill-"+ue.uid;e.gradient(Be,M,Qe,T(Xe),ze,"fill")}},it=function(Be){if(Be.size()){var Qe="legendline-"+ue.uid;e.lineGroupStyle(Be),e.gradient(Be,M,Qe,T(Xe),ze,"stroke")}},et=o.hasMarkers(ue)||!j?"M5,0":Q?"M5,-2":"M5,-3",nt=p.select(this),Ae=nt.select(".legendfill").selectAll("path").data(ee||ie?[q]:[]);if(Ae.enter().append("path").classed("js-fill",!0),Ae.exit().remove(),Ae.attr("d",et+"h"+u+"v6h-"+u+"z").call(tt),V||oe){var me=R(void 0,ue.line,m,h);we=S.minExtend(ue,{line:{width:me}}),_e=[S.minExtend(re,{trace:we})]}var fe=nt.select(".legendlines").selectAll("path").data(V||oe?[_e]:[]);fe.enter().append("path").classed("js-line",!0),fe.exit().remove(),fe.attr("d",et+(oe?"l"+u+",0.0001":"h"+u)).call(V?e.lineGroupStyle:it)}function z(q){var Z=l(q),ee=Z.anyFill,V=Z.anyLine,oe=Z.showLine,ie=Z.showMarker,j=q[0],Q=j.trace,re=!ie&&!V&&!ee&&o.hasText(Q),ue,_e;function we(Ae,me,fe,Be){var Qe=S.nestedProperty(Q,Ae).get(),at=S.isArrayOrTypedArray(Qe)&&me?me(Qe):Qe;if(v&&at&&Be!==void 0&&(at=Be),fe){if(atfe[1])return fe[1]}return at}function Re(Ae){return j._distinct&&j.index&&Ae[j.index]?Ae[j.index]:Ae[0]}if(ie||re||oe){var ze={},Xe={};if(ie){ze.mc=we("marker.color",Re),ze.mx=we("marker.symbol",Re),ze.mo=we("marker.opacity",S.mean,[.2,1]),ze.mlc=we("marker.line.color",Re),ze.mlw=we("marker.line.width",S.mean,[0,5],c),ze.mld=Q._isShape?"solid":we("marker.line.dash",Re),Xe.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var tt=we("marker.size",S.mean,[2,16],s);ze.ms=tt,Xe.marker.size=tt}oe&&(Xe.line={width:we("line.width",Re,[0,10],h)}),re&&(ze.tx="Aa",ze.tp=we("textposition",Re),ze.ts=10,ze.tc=we("textfont.color",Re),ze.tf=we("textfont.family",Re),ze.tw=we("textfont.weight",Re),ze.ty=we("textfont.style",Re),ze.tv=we("textfont.variant",Re),ze.tC=we("textfont.textcase",Re),ze.tE=we("textfont.lineposition",Re),ze.tS=we("textfont.shadow",Re)),ue=[S.minExtend(j,ze)],_e=S.minExtend(Q,Xe),_e.selectedpoints=null,_e.texttemplate=null}var it=p.select(this).select("g.legendpoints"),et=it.selectAll("path.scatterpts").data(ie?ue:[]);et.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",f),et.exit().remove(),et.call(e.pointStyle,_e,M),ie&&(ue[0].mrc=3);var nt=it.selectAll("g.pointtext").data(re?ue:[]);nt.enter().append("g").classed("pointtext",!0).append("text").attr("transform",f),nt.exit().remove(),nt.selectAll("text").call(e.textPointStyle,_e,M)}function F(q){var Z=q[0].trace,ee=Z.type==="waterfall";if(q[0]._distinct&&ee){var V=q[0].trace[q[0].dir].marker;return q[0].mc=V.color,q[0].mlw=V.line.width,q[0].mlc=V.line.color,I(q,this,"waterfall")}var oe=[];Z.visible&&ee&&(oe=q[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 ie=p.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(oe);ie.enter().append("path").classed("legendwaterfall",!0).attr("transform",f).style("stroke-miterlimit",1),ie.exit().remove(),ie.each(function(j){var Q=p.select(this),re=Z[j[0]].marker,ue=R(void 0,re.line,d,c);Q.attr("d",j[1]).style("stroke-width",ue+"px").call(t.fill,re.color),ue&&Q.call(t.stroke,re.line.color)})}function N(q){I(q,this)}function B(q){I(q,this,"funnel")}function I(q,Z,ee){var V=q[0].trace,oe=V.marker||{},ie=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?V.visible&&V.type===ee:x.traceIs(V,"bar"),re=p.select(Z).select("g.legendpoints").selectAll("path.legend"+ee).data(Q?[q]:[]);re.enter().append("path").classed("legend"+ee,!0).attr("d",j).attr("transform",f),re.exit().remove(),re.each(function(ue){var _e=p.select(this),we=ue[0],Re=R(we.mlw,oe.line,d,c);_e.style("stroke-width",Re+"px");var ze=we.mcc;if(!g._inHover&&"mc"in we){var Xe=r(oe),tt=Xe.mid;tt===void 0&&(tt=(Xe.max+Xe.min)/2),ze=e.tryColorscale(oe,"")(tt)}var it=ze||we.mc||oe.color,et=oe.pattern,nt=e.getPatternAttr,Ae=et&&(nt(et.shape,0,"")||nt(et.path,0,""));if(Ae){var me=nt(et.bgcolor,0,null),fe=nt(et.fgcolor,0,null),Be=et.fgopacity,Qe=_(et.size,8,10),at=_(et.solidity,.5,1),$e="legend-"+V.uid;_e.call(e.pattern,"legend",M,$e,Ae,Qe,at,ze,et.fillmode,me,fe,Be)}else _e.call(t.fill,it);Re&&t.stroke(_e,we.mlc||ie.color)})}function U(q){var Z=q[0].trace,ee=p.select(this).select("g.legendpoints").selectAll("path.legendbox").data(Z.visible&&x.traceIs(Z,"box-violin")?[q]:[]);ee.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",f),ee.exit().remove(),ee.each(function(){var V=p.select(this);if((Z.boxpoints==="all"||Z.points==="all")&&t.opacity(Z.fillcolor)===0&&t.opacity((Z.line||{}).color)===0){var oe=S.minExtend(Z,{marker:{size:v?s:S.constrain(Z.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});ee.call(e.pointStyle,oe,M)}else{var ie=R(void 0,Z.line,d,c);V.style("stroke-width",ie+"px").call(t.fill,Z.fillcolor),ie&&t.stroke(V,Z.line.color)}})}function O(q){var Z=q[0].trace,ee=p.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(Z.visible&&Z.type==="candlestick"?[q,q]:[]);ee.enter().append("path").classed("legendcandle",!0).attr("d",function(V,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(V,oe){var ie=p.select(this),j=Z[oe?"increasing":"decreasing"],Q=R(void 0,j.line,d,c);ie.style("stroke-width",Q+"px").call(t.fill,j.fillcolor),Q&&t.stroke(ie,j.line.color)})}function X(q){var Z=q[0].trace,ee=p.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(Z.visible&&Z.type==="ohlc"?[q,q]:[]);ee.enter().append("path").classed("legendohlc",!0).attr("d",function(V,oe){return oe?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"}).attr("transform",f).style("stroke-miterlimit",1),ee.exit().remove(),ee.each(function(V,oe){var ie=p.select(this),j=Z[oe?"increasing":"decreasing"],Q=R(void 0,j.line,d,c);ie.style("fill","none").call(e.dashLine,j.line.dash,Q),Q&&t.stroke(ie,j.line.color)})}function J(q){le(q,this,"pie")}function se(q){le(q,this,"funnelarea")}function le(q,Z,ee){var V=q[0],oe=V.trace,ie=ee?oe.visible&&oe.type===ee:x.traceIs(oe,ee),j=p.select(Z).select("g.legendpoints").selectAll("path.legend"+ee).data(ie?[q]:[]);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,V.pts),Q.line,d,c),ue="pieLike",_e=S.minExtend(oe,{marker:{line:{width:re}}},ue),we=S.minExtend(V,{trace:_e},ue);i(j,we,_e,M)}}function ce(q){var Z=q[0].trace,ee,V=[];if(Z.visible)switch(Z.type){case"histogram2d":case"heatmap":V=[["M-15,-2V4H15V-2Z"]],ee=!0;break;case"choropleth":case"choroplethmapbox":case"choroplethmap":V=[["M-6,-6V6H6V-6Z"]],ee=!0;break;case"densitymapbox":case"densitymap":V=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],ee="radial";break;case"cone":V=[["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":V=[["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":V=[["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":V=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],ee=!1;break;case"volume":V=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],ee=!0;break;case"isosurface":V=[["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=p.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(V);oe.enter().append("path").classed("legend3dandfriends",!0).attr("transform",f).style("stroke-miterlimit",1),oe.exit().remove(),oe.each(function(ie,j){var Q=p.select(this),re=r(Z),ue=re.colorscale,_e=re.reversescale,we=function(tt){if(tt.size()){var it="legendfill-"+Z.uid;e.gradient(tt,M,it,T(_e,ee==="radial"),ue,"fill")}},Re;if(ue){if(!ee){var Xe=ue.length;Re=j===0?ue[_e?Xe-1:0][1]:j===1?ue[_e?0:Xe-1][1]:ue[Math.floor((Xe-1)/2)][1]}}else{var ze=Z.vertexcolor||Z.facecolor||Z.color;Re=S.isArrayOrTypedArray(ze)?ze[j]||ze[0]:ze}Q.attr("d",ie[0]),Re?Q.call(t.fill,Re):Q.call(we)})}};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),v=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"?v=M._operation!=="=":(f==="fill"||f==="heatmap")&&(y=!0)}return{showMarker:b,showLine:g,showFill:v,showGradientLine:u,showGradientFill:y,anyLine:g||u,anyFill:v||y}}function _(w,A,M){return w&&S.isArrayOrTypedArray(w)?A:w>M?M:w}}}),Qw=De({"src/components/legend/draw.js"(Y,H){"use strict";var p=za(),x=ui(),S=Mc(),E=Mo(),e=Xm(),t=Qh(),r=ys(),o=vo(),i=vu(),n=Kw().handleItemClick,a=Kw().handleTitleClick,s=$w(),h=rh(),c=h.LINE_SPACING,m=h.FROM_TL,d=h.FROM_BR,T=NM(),l=Jw(),_=uy(),w=1,A=/^legend[0-9]*$/;H.exports=function(X,J){if(J)g(X,J);else{var se=X._fullLayout,le=se._legends,ce=se._infolayer.selectAll('[class^="legend"]');ce.each(function(){var V=p.select(this),oe=V.attr("class"),ie=oe.split(" ")[0];ie.match(A)&&le.indexOf(ie)===-1&&V.remove()});for(var q=0;q1)}var re=se.hiddenlabels||[];if(!Z&&(!se.showlegend||!ee.length))return q.selectAll("."+le).remove(),se._topdefs.select("#"+ce).remove(),S.autoMargin(O,le);var ue=x.ensureSingle(q,"g",le,function(nt){Z||nt.attr("pointer-events","all")}),_e=x.ensureSingleById(se._topdefs,"clipPath",ce,function(nt){nt.append("rect")}),we=x.ensureSingle(ue,"rect","bg",function(nt){nt.attr("shape-rendering","crispEdges")});we.call(o.stroke,J.bordercolor).call(o.fill,J.bgcolor).style("stroke-width",J.borderwidth+"px");var Re=x.ensureSingle(ue,"g","scrollbox"),ze=J.title;J._titleWidth=0,J._titleHeight=0;var Xe;ze.text?(Xe=x.ensureSingle(Re,"text",le+"titletext"),Xe.attr("text-anchor","start").call(r.font,ze.font).text(ze.text),L(Xe,Re,O,J,w),!Z&&(J.titleclick||J.titledoubleclick)&&R(Re,O,J,le)):(Re.selectAll("."+le+"titletext").remove(),Re.selectAll("."+le+"titletoggle").remove());var tt=x.ensureSingle(ue,"rect","scrollbar",function(nt){nt.attr(s.scrollBarEnterAttrs).call(o.fill,s.scrollBarColor)}),it=Re.selectAll("g.groups").data(ee);it.enter().append("g").attr("class","groups"),it.exit().remove();var et=it.selectAll("g.traces").data(x.identity);et.enter().append("g").attr("class","traces"),et.exit().remove(),et.style("opacity",function(nt){let Ae=nt[0],me=Ae.trace;if(Ae.groupTitle){let fe=me.legendgroup,Be=(se.shapes||[]).filter(function(at){return at.showlegend});return O._fullData.concat(Be).some(function(at){return at.legendgroup===fe&&(at.legend||"legend")===le&&at.visible===!0})?1:.5}return E.traceIs(me,"pie-like")?re.indexOf(nt[0].label)!==-1?.5:1:me.visible==="legendonly"?.5:1}).each(function(){p.select(this).call(u,O,J)}).call(l,O,J).each(function(nt){Z||nt[0].groupTitle&&J.groupclick==="toggleitem"||p.select(this).call(f,O,le)}),x.syncOrAsync([S.previousPromises,function(){return N(O,it,et,J,Re)},function(){var nt=se._size,Ae=J.borderwidth,me=J.xref==="paper",fe=J.yref==="paper";if(ze.text){let lt=(se.shapes||[]).filter(function(kt){return kt.showlegend}),gt=O._fullData.concat(lt).some(function(kt){let nr=kt.legend||"legend";var ir=Array.isArray(nr)?nr.includes(le):nr===le;return ir&&kt.visible===!0});Xe.style("opacity",gt?1:.5)}if(!Z){var Be,Qe;me?Be=nt.l+nt.w*J.x-m[I(J)]*J._width:Be=se.width*J.x-m[I(J)]*J._width,fe?Qe=nt.t+nt.h*(1-J.y)-m[U(J)]*J._effHeight:Qe=se.height*(1-J.y)-m[U(J)]*J._effHeight;var at=B(O,le,Be,Qe);if(at)return;if(se.margin.autoexpand){var $e=Be,It=Qe;Be=me?x.constrain(Be,0,se.width-J._width):$e,Qe=fe?x.constrain(Qe,0,se.height-J._effHeight):It,Be!==$e&&x.log("Constrain "+le+".x to make legend fit inside graph"),Qe!==It&&x.log("Constrain "+le+".y to make legend fit inside graph")}r.setTranslate(ue,Be,Qe)}if(tt.on(".drag",null),ue.on("wheel",null),Z||J._height<=J._maxHeight||O._context.staticPlot){var Pt=J._effHeight;Z&&(Pt=J._height),we.attr({width:J._width-Ae,height:Pt-Ae,x:Ae/2,y:Ae/2}),r.setTranslate(Re,0,0),_e.select("rect").attr({width:J._width-2*Ae,height:Pt-2*Ae,x:Ae,y:Ae}),r.setClipUrl(Re,ce,O),r.setRect(tt,0,0,0,0),delete J._scrollY}else{var Vt=Math.max(s.scrollBarMinHeight,J._effHeight*J._effHeight/J._height),Wt=J._effHeight-Vt-2*s.scrollBarMargin,Cr=J._height-J._effHeight,yr=Wt/Cr,qr=Math.min(J._scrollY||0,Cr);we.attr({width:J._width-2*Ae+s.scrollBarWidth+s.scrollBarMargin,height:J._effHeight-Ae,x:Ae/2,y:Ae/2}),_e.select("rect").attr({width:J._width-2*Ae+s.scrollBarWidth+s.scrollBarMargin,height:J._effHeight-2*Ae,x:Ae,y:Ae+qr}),r.setClipUrl(Re,ce,O),qe(qr,Vt,yr),ue.on("wheel",function(){qr=x.constrain(J._scrollY+p.event.deltaY/Cr*Wt,0,Cr),qe(qr,Vt,yr),qr!==0&&qr!==Cr&&p.event.preventDefault()});var Mr,Dr,xt,Ne=function(lt,gt,kt){var nr=(kt-gt)/yr+lt;return x.constrain(nr,0,Cr)},Ye=function(lt,gt,kt){var nr=(gt-kt)/yr+lt;return x.constrain(nr,0,Cr)},be=p.behavior.drag().on("dragstart",function(){var lt=p.event.sourceEvent;lt.type==="touchstart"?Mr=lt.changedTouches[0].clientY:Mr=lt.clientY,xt=qr}).on("drag",function(){var lt=p.event.sourceEvent;lt.buttons===2||lt.ctrlKey||(lt.type==="touchmove"?Dr=lt.changedTouches[0].clientY:Dr=lt.clientY,qr=Ne(xt,Mr,Dr),qe(qr,Vt,yr))});tt.call(be);var Ie=p.behavior.drag().on("dragstart",function(){var lt=p.event.sourceEvent;lt.type==="touchstart"&&(Mr=lt.changedTouches[0].clientY,xt=qr)}).on("drag",function(){var lt=p.event.sourceEvent;lt.type==="touchmove"&&(Dr=lt.changedTouches[0].clientY,qr=Ye(xt,Mr,Dr),qe(qr,Vt,yr))});Re.call(Ie)}function qe(lt,gt,kt){J._scrollY=O._fullLayout[le]._scrollY=lt,r.setTranslate(Re,0,-lt),r.setRect(tt,J._width,s.scrollBarMargin+lt*kt,s.scrollBarWidth,gt),_e.select("rect").attr("y",Ae+lt)}if(O._context.edits.legendPosition){var ke,Me,Le,ut;ue.classed("cursor-move",!0),t.init({element:ue.node(),gd:O,prepFn:function(lt){if(lt.target!==tt.node()){var gt=r.getTranslate(ue);Le=gt.x,ut=gt.y}},moveFn:function(lt,gt){if(Le!==void 0&&ut!==void 0){var kt=Le+lt,nr=ut+gt;r.setTranslate(ue,kt,nr),ke=t.align(kt,J._width,nt.l,nt.l+nt.w,J.xanchor),Me=t.align(nr+J._height,-J._height,nt.t+nt.h,nt.t,J.yanchor)}},doneFn:function(){if(ke!==void 0&&Me!==void 0){var lt={};lt[le+".x"]=ke,lt[le+".y"]=Me,E.call("_guiRelayout",O,lt)}},clickFn:function(lt,gt){var kt=q.selectAll("g.traces").filter(function(){var nr=this.getBoundingClientRect();return gt.clientX>=nr.left&>.clientX<=nr.right&>.clientY>=nr.top&>.clientY<=nr.bottom});kt.size()>0&&v(O,J,kt,lt,gt)}})}}],O)}}function b(O,X,J){var se=O[0],le=se.width,ce=X.entrywidthmode,q=se.trace.legendwidth||X.entrywidth;return ce==="fraction"?X._maxWidth*q:J+(q||le)}function v(O,X,J,se,le){var ce=O._fullLayout,q=J.data()[0][0].trace,Z=X.itemclick,ee=X.itemdoubleclick,V={event:le,node:J.node(),curveNumber:q.index,expandedIndex:q.index,data:O.data,layout:O.layout,frames:O._transitionData._frames,config:O._context,fullData:O._fullData,fullLayout:ce};q._group&&(V.group=q._group),E.traceIs(q,"pie-like")&&(V.label=J.datum()[0].label);var oe=e.triggerHandler(O,"plotly_legendclick",V);if(se===1){if(oe===!1)return;X._clickTimeout=setTimeout(function(){O._fullLayout&&Z&&n(J,O,X,Z)},O._context.doubleClickDelay)}else if(se===2){X._clickTimeout&&clearTimeout(X._clickTimeout),O._legendMouseDownTime=0;var ie=e.triggerHandler(O,"plotly_legenddoubleclick",V);ie!==!1&&oe!==!1&&ee&&n(J,O,X,ee)}}function u(O,X,J){var se=_.getId(J),le=O.data()[0][0],ce=le.trace,q=E.traceIs(ce,"pie-like"),Z=!J._inHover&&X._context.edits.legendText&&!q,ee=J._maxNameLength,V,oe;le.groupTitle?(V=le.groupTitle.text,oe=le.groupTitle.font):(oe=J.font,J.entries?V=le.text:(V=q?le.label:ce.name,ce._meta&&(V=x.templateString(V,ce._meta))));var ie=x.ensureSingle(O,"text",se+"text");ie.attr("text-anchor","start").call(r.font,oe).text(Z?y(V,ee):V);var j=J.indentation+J.itemwidth+s.itemGap*2;i.positionText(ie,j,0),Z?ie.call(i.makeEditable,{gd:X,text:V}).call(L,O,X,J).on("edit",function(Q){this.text(y(Q,ee)).call(L,O,X,J);var re=le.trace._fullInput||{},ue={};return ue.name=Q,re._isShape?E.call("_guiRelayout",X,"shapes["+ce.index+"].name",ue.name):E.call("_guiRestyle",X,ue,ce.index)}):L(ie,O,X,J)}function y(O,X){var J=Math.max(4,X);if(O&&O.trim().length>=J/2)return O;O=O||"";for(var se=J-O.length;se>0;se--)O+=" ";return O}function f(O,X,J){var se=X._context.doubleClickDelay,le,ce=1,q=x.ensureSingle(O,"rect",J+"toggle",function(Z){X._context.staticPlot||Z.style("cursor","pointer").attr("pointer-events","all"),Z.call(o.fill,"rgba(0,0,0,0)")});X._context.staticPlot||(q.on("mousedown",function(){le=new Date().getTime(),le-X._legendMouseDownTimese&&(ce=Math.max(ce-1,1)),v(X,Z,O,ce,p.event)}}))}function R(O,X,J,se){if(X._fullData.some(function(V){let oe=V.legend||"legend";return(Array.isArray(oe)?oe.includes(se):oe===se)&&E.traceIs(V,"pie-like")}))return;let ce=X._context.doubleClickDelay;var q,Z=1;let ee=x.ensureSingle(O,"rect",se+"titletoggle",function(V){X._context.staticPlot||V.style("cursor","pointer").attr("pointer-events","all"),V.call(o.fill,"rgba(0,0,0,0)")});X._context.staticPlot||(ee.on("mousedown",function(){q=new Date().getTime(),q-X._legendMouseDownTimece&&(Z=Math.max(Z-1,1));let V={event:p.event,legendId:se,data:X.data,layout:X.layout,fullData:X._fullData,fullLayout:X._fullLayout};if(Z===1&&J.titleclick){if(e.triggerHandler(X,"plotly_legendtitleclick",V)===!1)return;J._titleClickTimeout=setTimeout(function(){X._fullLayout&&a(X,J,J.titleclick)},ce)}else Z===2&&(J._titleClickTimeout&&clearTimeout(J._titleClickTimeout),X._legendMouseDownTime=0,e.triggerHandler(X,"plotly_legendtitledoubleclick",V)!==!1&&J.titledoubleclick&&a(X,J,J.titledoubleclick))}))}function L(O,X,J,se,le){se._inHover&&O.attr("data-notex",!0),i.convertToTspans(O,J,function(){z(X,J,se,le)})}function z(O,X,J,se){var le=O.data()[0][0],ce=le&&le.trace.showlegend;if(Array.isArray(ce)&&(ce=ce[le.i]!==!1),!J._inHover&&le&&!ce){O.remove();return}var q=O.select("g[class*=math-group]"),Z=q.node(),ee=_.getId(J);J||(J=X._fullLayout[ee]);var V=J.borderwidth,oe;se===w?oe=J.title.font:le.groupTitle?oe=le.groupTitle.font:oe=J.font;var ie=oe.size*c,j,Q;if(Z){var re=r.bBox(Z);j=re.height,Q=re.width,se===w?r.setTranslate(q,V,V+j*.75):r.setTranslate(q,0,j*.25)}else{var ue="."+ee+(se===w?"title":"")+"text",_e=O.select(ue),we=i.lineCount(_e),Re=_e.node();if(j=ie*we,Q=Re?r.bBox(Re).width:0,se===w)J.title.side==="left"&&(Q+=s.itemGap*2),i.positionText(_e,V+s.titlePad,V+ie);else{var ze=s.itemGap*2+J.indentation+J.itemwidth;le.groupTitle&&(ze=s.itemGap,Q-=J.indentation+J.itemwidth),i.positionText(_e,ze,-ie*((we-1)/2-.3))}}se===w?(J._titleWidth=Q,J._titleHeight=j):(le.lineHeight=ie,le.height=Math.max(j,16)+3,le.width=Q)}function F(O){var X=0,J=0,se=O.title.side;return se&&(se.indexOf("left")!==-1&&(X=O._titleWidth),se.indexOf("top")!==-1&&(J=O._titleHeight)),[X,J]}function N(O,X,J,se,le){var ce=O._fullLayout,q=_.getId(se);se||(se=ce[q]);var Z=ce._size,ee=_.isVertical(se),V=_.isGrouped(se),oe=se.entrywidthmode==="fraction",ie=se.borderwidth,j=2*ie,Q=s.itemGap,re=se.indentation+se.itemwidth+Q*2,ue=2*(ie+Q),_e=U(se),we=se.y<0||se.y===0&&_e==="top",Re=se.y>1||se.y===1&&_e==="bottom",ze=se.tracegroupgap,Xe={};let{orientation:tt,yref:it}=se,{maxheight:et}=se,nt=we||Re||tt!=="v"||it!=="paper";et||(et=nt?.5:1);let Ae=nt?ce.height:Z.h;se._maxHeight=Math.max(et>1?et:et*Ae,30);var me=0;se._width=0,se._height=0;var fe=F(se);if(ee)J.each(function(lt){var gt=lt[0].height;r.setTranslate(this,ie+fe[0],ie+fe[1]+se._height+gt/2+Q),se._height+=gt,se._width=Math.max(se._width,lt[0].width)}),me=re+se._width,se._width+=Q+re+j,se._height+=ue,V&&(X.each(function(lt,gt){r.setTranslate(this,0,gt*se.tracegroupgap)}),se._height+=(se._lgroupsLength-1)*se.tracegroupgap);else{var Be=I(se),Qe=se.x<0||se.x===0&&Be==="right",at=se.x>1||se.x===1&&Be==="left",$e=Re||we,It=ce.width/2;se._maxWidth=Math.max(Qe?$e&&Be==="left"?Z.l+Z.w:It:at?$e&&Be==="right"?Z.r+Z.w:It:Z.w,2*re);var Pt=0,Vt=0;J.each(function(lt){var gt=b(lt,se,re);Pt=Math.max(Pt,gt),Vt+=gt}),me=null;var Wt=0;if(V){var Cr=0,yr=0,qr=0;X.each(function(){var lt=0,gt=0;p.select(this).selectAll("g.traces").each(function(nr){var ir=b(nr,se,re),tr=nr[0].height;r.setTranslate(this,fe[0],fe[1]+ie+Q+tr/2+gt),gt+=tr,lt=Math.max(lt,ir),Xe[nr[0].trace.legendgroup]=lt});var kt=lt+Q;yr>0&&kt+ie+yr>se._maxWidth?(Wt=Math.max(Wt,yr),yr=0,qr+=Cr+ze,Cr=gt):Cr=Math.max(Cr,gt),r.setTranslate(this,yr,qr),yr+=kt}),se._width=Math.max(Wt,yr)+ie,se._height=qr+Cr+ue}else{var Mr=J.size(),Dr=Vt+j+(Mr-1)*Q=se._maxWidth&&(Wt=Math.max(Wt,be),Ne=0,Ye+=xt,se._height+=xt,xt=0),r.setTranslate(this,fe[0]+ie+Ne,fe[1]+ie+Ye+gt/2+Q),be=Ne+kt+Q,Ne+=nr,xt=Math.max(xt,gt)}),Dr?(se._width=Ne+j,se._height=xt+ue):(se._width=Math.max(Wt,be)+j,se._height+=xt+ue)}}se._width=Math.ceil(Math.max(se._width+fe[0],se._titleWidth+2*(ie+s.titlePad))),se._height=Math.ceil(Math.max(se._height+fe[1],se._titleHeight+2*(ie+s.itemGap))),se._effHeight=Math.min(se._height,se._maxHeight);var Ie=O._context.edits,qe=Ie.legendText||Ie.legendPosition;J.each(function(lt){var gt=p.select(this).select("."+q+"toggle"),kt=lt[0].height,nr=lt[0].trace.legendgroup,ir=b(lt,se,re);V&&nr!==""&&(ir=Xe[nr]);var tr=qe?re:me||ir;!ee&&!oe&&(tr+=Q/2),r.setRect(gt,0,-kt/2,tr,kt)});var ke=le.select("."+q+"titletext");ke.node()&&M(ke,se,ie);var Me=le.select("."+q+"titletoggle");if(Me.size()&&ke.node()){var Le=ke.attr("x")||0,ut=s.titlePad;r.setRect(Me,Le-ut,ie,se._titleWidth+2*ut,se._titleHeight+2*ut)}}function B(O,X,J,se){var le=O._fullLayout,ce=le[X],q=I(ce),Z=U(ce),ee=ce.xref==="paper",V=ce.yref==="paper";O._fullLayout._reservedMargin[X]={};var oe=ce.y<.5?"b":"t",ie=ce.x<.5?"l":"r",j={r:le.width-J,l:J+ce._width,b:le.height-se,t:se+ce._effHeight};if(ee&&V)return S.autoMargin(O,X,{x:ce.x,y:ce.y,l:ce._width*m[q],r:ce._width*d[q],b:ce._effHeight*d[Z],t:ce._effHeight*m[Z]});ee?O._fullLayout._reservedMargin[X][oe]=j[oe]:V||ce.orientation==="v"?O._fullLayout._reservedMargin[X][ie]=j[ie]:O._fullLayout._reservedMargin[X][oe]=j[oe]}function I(O){return x.isRightAnchor(O)?"right":x.isCenterAnchor(O)?"center":"left"}function U(O){return x.isBottomAnchor(O)?"bottom":x.isMiddleAnchor(O)?"middle":"top"}}}),e2=De({"src/components/fx/hover.js"(Y){"use strict";var H=za(),p=vn(),x=wu(),S=ui(),E=S.pushUnique,e=S.strTranslate,t=S.strRotate,r=Xm(),o=vu(),i=OM(),n=ys(),a=vo(),s=Qh(),h=us(),c=th().zindexSeparator,m=Mo(),d=Ad(),T=cv(),l=Zw(),_=Qw(),w=T.YANGLE,A=Math.PI*w/180,M=1/Math.sin(A),g=Math.cos(A),b=Math.sin(A),v=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}Y.hover=function(Q,re,ue,_e){Q=S.getGraphDiv(Q);var we=re.target;S.throttle(Q._fullLayout._uid+T.HOVERID,T.HOVERMINTIME,function(){L(Q,re,ue,_e,we)})},Y.loneHover=function(Q,re){var ue=!0;Array.isArray(Q)||(ue=!1,Q=[Q]);var _e=re.gd,we=V(_e),Re=oe(_e),ze=Q.map(function(Be){var Qe=Be._x0||Be.x0||Be.x||0,at=Be._x1||Be.x1||Be.x||0,$e=Be._y0||Be.y0||Be.y||0,It=Be._y1||Be.y1||Be.y||0,Pt=Be.eventData;if(Pt){var Vt=Math.min(Qe,at),Wt=Math.max(Qe,at),Cr=Math.min($e,It),yr=Math.max($e,It),qr=Be.trace;if(m.traceIs(qr,"gl3d")){var Mr=_e._fullLayout[qr.scene]._scene.container,Dr=Mr.offsetLeft,xt=Mr.offsetTop;Vt+=Dr,Wt+=Dr,Cr+=xt,yr+=xt}Pt.bbox={x0:Vt+Re,x1:Wt+Re,y0:Cr+we,y1:yr+we},re.inOut_bbox&&re.inOut_bbox.push(Pt.bbox)}else Pt=!1;return{color:Be.color||a.defaultLine,x0:Be.x0||Be.x||0,x1:Be.x1||Be.x||0,y0:Be.y0||Be.y||0,y1:Be.y1||Be.y||0,xLabel:Be.xLabel,yLabel:Be.yLabel,zLabel:Be.zLabel,text:Be.text,name:Be.name,idealAlign:Be.idealAlign,borderColor:Be.borderColor,fontFamily:Be.fontFamily,fontSize:Be.fontSize,fontColor:Be.fontColor,fontWeight:Be.fontWeight,fontStyle:Be.fontStyle,fontVariant:Be.fontVariant,nameLength:Be.nameLength,textAlign:Be.textAlign,trace:Be.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:Be.hovertemplate||!1,hovertemplateLabels:Be.hovertemplateLabels||!1,eventData:Pt}}),Xe=!1,tt=N(ze,{gd:_e,hovermode:"closest",rotateLabels:Xe,bgColor:re.bgColor||a.background,container:H.select(re.container),outerContainer:re.outerContainer||re.container}),it=tt.hoverLabels,et=5,nt=0,Ae=0;it.sort(function(Be,Qe){return Be.y0-Qe.y0}).each(function(Be,Qe){var at=Be.y0-Be.by/2;at-etWt[0]._length||ea<0||ea>Cr[0]._length)return s.unhoverRaw(j,Q)}if(Q.pointerX=Ki+Wt[0]._offset,Q.pointerY=ea+Cr[0]._offset,"xval"in Q?be=d.flat(we,Q.xval):be=d.p2c(Wt,Ki),"yval"in Q?Ie=d.flat(we,Q.yval):Ie=d.p2c(Cr,ea),!p(be[0])||!p(Ie[0]))return S.warn("Fx.hover failed",Q,j),s.unhoverRaw(j,Q)}var Ca=1/0;function Kt(An,Eo){for(ke=0;ketr&&(Ne.splice(0,tr),Ca=Ne[0].distance),et&&xt!==0&&Ne.length===0){ir.distance=xt,ir.index=!1;var ss=Le._module.hoverPoints(ir,kt,nr,"closest",{hoverLayer:ze._hoverlayer});if(ss&&(ss=ss.filter(function(co){return co.spikeDistance<=xt})),ss&&ss.length){var xs,el=ss.filter(function(co){return co.xa.showspikes&&co.xa.spikesnap!=="hovered data"});if(el.length){var Ss=el[0];p(Ss.x0)&&p(Ss.y0)&&(xs=Zt(Ss),(!Ir.vLinePoint||Ir.vLinePoint.spikeDistance>xs.spikeDistance)&&(Ir.vLinePoint=xs))}var Co=ss.filter(function(co){return co.ya.showspikes&&co.ya.spikesnap!=="hovered data"});if(Co.length){var ao=Co[0];p(ao.x0)&&p(ao.y0)&&(xs=Zt(ao),(!Ir.hLinePoint||Ir.hLinePoint.spikeDistance>xs.spikeDistance)&&(Ir.hLinePoint=xs))}}}}}Kt();function zt(An,Eo,fs){for(var Ls=null,ns=1/0,uo,ss=0;ssAn.trace.index===pn.trace.index):Ne=[pn];var _n=Ne.length,En=ee("x",pn,ze),bt=ee("y",pn,ze);Kt(En,bt);var st=[],Nr={},Lr=0,br=function(An){var Eo=y[An.trace.type]?z(An):An.trace.index;if(!Nr[Eo])Lr++,Nr[Eo]=Lr,st.push(An);else{var fs=Nr[Eo]-1,Ls=st[fs];fs>0&&Math.abs(An.distance)_n-1;Rr--)br(Ne[Rr]);Ne=st,ii()}var jr=j._hoverdata,Wr=[],yt=V(j),Xt=oe(j);for(let An of Ne){var mr=d.makeEventData(An,An.trace,An.cd);if(An.hovertemplate!==!1){var Or=!1;An.cd[An.index]&&An.cd[An.index].ht&&(Or=An.cd[An.index].ht),An.hovertemplate=Or||An.trace.hovertemplate||!1}if(An.xa&&An.ya){var ki=An.x0+An.xa._offset,Ni=An.x1+An.xa._offset,Si=An.y0+An.ya._offset,fi=An.y1+An.ya._offset,Li=Math.min(ki,Ni),Ia=Math.max(ki,Ni),Fa=Math.min(Si,fi),un=Math.max(Si,fi);mr.bbox={x0:Li+Xt,x1:Ia+Xt,y0:Fa+yt,y1:un+yt}}An.eventData=[mr],Wr.push(mr)}j._hoverdata=Wr;var Bn=nt==="y"&&(Ye.length>1||Ne.length>1)||nt==="closest"&&vi&&Ne.length>1,Kn=a.combine(ze.plot_bgcolor||a.background,ze.paper_bgcolor),Gn=N(Ne,{gd:j,hovermode:nt,rotateLabels:Bn,bgColor:Kn,container:ze._hoverlayer,outerContainer:ze._paper.node(),commonLabelOpts:ze.hoverlabel,hoverdistance:ze.hoverdistance}),eo=Gn.hoverLabels;if(d.isUnifiedHover(nt)||(I(eo,Bn,ze,Gn.commonLabelBoundingBox),X(eo,Bn,ze._invScaleX,ze._invScaleY)),_e&&_e.tagName){var Ao=m.getComponentMethod("annotations","hasClickToShow")(j,Wr);i(H.select(_e),Ao?"pointer":"")}!_e||ue||!le(j,Q,jr)||(jr&&j.emit("plotly_unhover",{event:Q,points:jr}),j.emit("plotly_hover",{event:Q,points:j._hoverdata,xaxes:Wt,yaxes:Cr,xvals:be,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,ue=re._fullLayout,_e=Q.hovermode,we=Q.rotateLabels,Re=Q.bgColor,ze=Q.container,Xe=Q.outerContainer,tt=Q.commonLabelOpts||{};if(j.length===0)return[[]];var it=Q.fontFamily||T.HOVERFONT,et=Q.fontSize||T.HOVERFONTSIZE,nt=Q.fontWeight||ue.font.weight,Ae=Q.fontStyle||ue.font.style,me=Q.fontVariant||ue.font.variant,fe=Q.fontTextcase||ue.font.textcase,Be=Q.fontLineposition||ue.font.lineposition,Qe=Q.fontShadow||ue.font.shadow,at=j[0],$e=at.xa,It=at.ya,Pt=_e.charAt(0),Vt=Pt+"Label",Wt=at[Vt];if(Wt===void 0&&$e.type==="multicategory")for(var Cr=0;Crue.width-yt&&(Xt=ue.width-yt),pn.attr("d","M"+(Rr-Xt)+",0L"+(Rr-Xt+v)+","+Wr+v+"H"+yt+"v"+Wr+(u*2+br.height)+"H"+-yt+"V"+Wr+v+"H"+(Rr-Xt-v)+"Z"),Rr=Xt,ke.minX=Rr-yt,ke.maxX=Rr+yt,$e.side==="top"?(ke.minY=jr-(u*2+br.height),ke.maxY=jr-u):(ke.minY=jr+u,ke.maxY=jr+(u*2+br.height))}else{var mr,Or,ki;It.side==="right"?(mr="start",Or=1,ki="",Rr=$e._offset+$e._length):(mr="end",Or=-1,ki="-",Rr=$e._offset),jr=It._offset+(at.y0+at.y1)/2,_n.attr("text-anchor",mr),pn.attr("d","M0,0L"+ki+v+","+v+"V"+(u+br.height/2)+"h"+ki+(u*2+br.width)+"V-"+(u+br.height/2)+"H"+ki+v+"V-"+v+"Z"),ke.minY=jr-(u+br.height/2),ke.maxY=jr+(u+br.height/2),It.side==="right"?(ke.minX=Rr+v,ke.maxX=Rr+v+(u*2+br.width)):(ke.minX=Rr-v-(u*2+br.width),ke.maxX=Rr-v);var Ni=br.height/2,Si=qr-br.top-Ni,fi="clip"+ue._uid+"commonlabel"+It._id,Li;if(Rrpn.hoverinfo!=="none");if(ji.length===0)return[];var Me=ue.hoverlabel,Le=Me.font,ut=ji[0],lt=((_e==="x unified"?ut.xa:ut.ya).unifiedhovertitle||{}).text,gt=lt?S.hovertemplateString({data:_e==="x unified"?[{xa:ut.xa,x:ut.xVal}]:[{ya:ut.ya,y:ut.yVal}],fallback:ut.trace.hovertemplatefallback,locale:ue._d3locale,template:lt}):Wt,kt={showlegend:!0,legend:{title:{text:gt,font:Le},font:Le,bgcolor:Me.bgcolor,bordercolor:Me.bordercolor,borderwidth:1,tracegroupgap:7,traceorder:ue.legend?ue.legend.traceorder:void 0,orientation:"v"}},nr={font:Le};l(kt,nr,re._fullData);var ir=nr.legend;ir.entries=[];for(var tr=0;tr=0?ra=ii:di+_a=0?ra=di:Wi+_a=0?ca=Br:ri+Ca=0?ca=ri:oa+Ca=0,(ji.idealAlign==="top"||!un)&&Bn?(ki-=Si/2,ji.anchor="end"):un?(ki+=Si/2,ji.anchor="start"):ji.anchor="middle",ji.crossPos=ki;else{if(ji.pos=ki,un=Or+Ni/2+Fa<=Mr,Bn=Or-Ni/2-Fa>=0,(ji.idealAlign==="left"||!un)&&Bn)Or-=Ni/2,ji.anchor="end";else if(un)Or+=Ni/2,ji.anchor="start";else{ji.anchor="middle";var Kn=Fa/2,Gn=Or+Kn-Mr,eo=Or-Kn;Gn>0&&(Or-=Gn),eo<0&&(Or+=-eo)}ji.crossPos=Or}jr.attr("text-anchor",ji.anchor),yt&&Wr.attr("text-anchor",ji.anchor),pn.attr("transform",e(Or,ki)+(we?t(w):""))}),{hoverLabels:xa,commonLabelBoundingBox:ke}}function B(j,Q,re,ue,_e,we){var Re,ze,Xe="",tt="";j.nameOverride!==void 0&&(j.name=j.nameOverride),j.name&&(j.trace._meta&&(j.name=S.templateString(j.name,j.trace._meta)),Xe=q(j.name,j.nameLength));var it=re.charAt(0),et=it==="x"?"y":"x";j.zLabel!==void 0?(j.xLabel!==void 0&&(tt+="x: "+j.xLabel+"
"),j.yLabel!==void 0&&(tt+="y: "+j.yLabel+"
"),j.trace.type!=="choropleth"&&j.trace.type!=="choroplethmapbox"&&j.trace.type!=="choroplethmap"&&(tt+=(tt?"z: ":"")+j.zLabel)):Q&&j[it+"Label"]===_e?tt=j[et+"Label"]||"":j.xLabel===void 0?j.yLabel!==void 0&&j.trace.type!=="scattercarpet"&&(tt=j.yLabel):j.yLabel===void 0?tt=j.xLabel:tt="("+j.xLabel+", "+j.yLabel+")",(j.text||j.text===0)&&!Array.isArray(j.text)&&(tt+=(tt?"
":"")+j.text),j.extraText!==void 0&&(tt+=(tt?"
":"")+j.extraText),we&&tt===""&&!j.hovertemplate&&(Xe===""&&we.remove(),tt=Xe),(ze=(Re=j.trace)==null?void 0:Re.hoverlabel)!=null&&ze.split&&(j.hovertemplate="");let{hovertemplate:nt=!1}=j;if(nt){let Ae=j.hovertemplateLabels||j;j[it+"Label"]!==_e&&(Ae[it+"other"]=Ae[it+"Val"],Ae[it+"otherLabel"]=Ae[it+"Label"]),tt=S.hovertemplateString({data:[j.eventData[0]||{},j.trace._meta],fallback:j.trace.hovertemplatefallback,labels:Ae,locale:ue._d3locale,template:nt}),tt=tt.replace(F,(me,fe)=>(Xe=q(fe,j.nameLength),""))}return[tt,Xe]}function I(j,Q,re,ue){var _e=Q?"xa":"ya",we=Q?"ya":"xa",Re=0,ze=1,Xe=j.size(),tt=new Array(Xe),it=0,et=ue.minX,nt=ue.maxX,Ae=ue.minY,me=ue.maxY,fe=function(be){return be*re._invScaleX},Be=function(be){return be*re._invScaleY};j.each(function(be){var Ie=be[_e],qe=be[we],ke=Ie._id.charAt(0)==="x",Me=Ie.range;it===0&&Me&&Me[0]>Me[1]!==ke&&(ze=-1);var Le=0,ut=ke?re.width:re.height;if(re.hovermode==="x"||re.hovermode==="y"){var lt=U(be,Q),gt=be.anchor,kt=gt==="end"?-1:1,nr,ir;if(gt==="middle")nr=be.crossPos+(ke?Be(lt.y-be.by/2):fe(be.bx/2+be.tx2width/2)),ir=nr+(ke?Be(be.by):fe(be.bx));else if(ke)nr=be.crossPos+Be(v+lt.y)-Be(be.by/2-v),ir=nr+Be(be.by);else{var tr=fe(kt*v+lt.x),Ir=tr+fe(kt*be.bx);nr=be.crossPos+Math.min(tr,Ir),ir=be.crossPos+Math.max(tr,Ir)}ke?Ae!==void 0&&me!==void 0&&Math.min(ir,me)-Math.max(nr,Ae)>1&&(qe.side==="left"?(Le=qe._mainLinePosition,ut=re.width):ut=qe._mainLinePosition):et!==void 0&&nt!==void 0&&Math.min(ir,nt)-Math.max(nr,et)>1&&(qe.side==="top"?(Le=qe._mainLinePosition,ut=re.height):ut=qe._mainLinePosition)}tt[it++]=[{datum:be,traceIndex:be.trace.index,dp:0,pos:be.pos,posref:be.posref,size:be.by*(ke?M:1)/2,pmin:Le,pmax:ut}]}),tt.sort(function(be,Ie){return be[0].posref-Ie[0].posref||ze*(Ie[0].traceIndex-be[0].traceIndex)});var Qe,at,$e,It,Pt,Vt,Wt;function Cr(be){var Ie=be[0],qe=be[be.length-1];if(at=Ie.pmin-Ie.pos-Ie.dp+Ie.size,$e=qe.pos+qe.dp+qe.size-Ie.pmax,at>.01){for(Pt=be.length-1;Pt>=0;Pt--)be[Pt].dp+=at;Qe=!1}if(!($e<.01)){if(at<-.01){for(Pt=be.length-1;Pt>=0;Pt--)be[Pt].dp-=$e;Qe=!1}if(Qe){var ke=0;for(It=0;ItIe.pmax&&ke++;for(It=be.length-1;It>=0&&!(ke<=0);It--)Vt=be[It],Vt.pos>Ie.pmax-1&&(Vt.del=!0,ke--);for(It=0;It=0;Pt--)be[Pt].dp-=$e;for(It=be.length-1;It>=0&&!(ke<=0);It--)Vt=be[It],Vt.pos+Vt.dp+Vt.size>Ie.pmax&&(Vt.del=!0,ke--)}}}for(;!Qe&&Re<=Xe;){for(Re++,Qe=!0,It=0;It.01){for(Pt=qr.length-1;Pt>=0;Pt--)qr[Pt].dp+=at;for(yr.push.apply(yr,qr),tt.splice(It+1,1),Wt=0,Pt=yr.length-1;Pt>=0;Pt--)Wt+=yr[Pt].dp;for($e=Wt/yr.length,Pt=yr.length-1;Pt>=0;Pt--)yr[Pt].dp-=$e;Qe=!1}else It++}tt.forEach(Cr)}for(It=tt.length-1;It>=0;It--){var xt=tt[It];for(Pt=xt.length-1;Pt>=0;Pt--){var Ne=xt[Pt],Ye=Ne.datum;Ye.offset=Ne.dp,Ye.del=Ne.del}}}function U(j,Q){var re=0,ue=j.offset;return Q&&(ue*=-b,re=j.offset*g),{x:re,y:ue}}function O(j){var Q={start:1,end:-1,middle:0}[j.anchor],re=Q*(v+u),ue=re+Q*(j.txwidth+u),_e=j.anchor==="middle";return _e&&(re-=j.tx2width/2,ue+=j.txwidth/2+u),{alignShift:Q,textShiftX:re,text2ShiftX:ue}}function X(j,Q,re,ue){var _e=function(Re){return Re*re},we=function(Re){return Re*ue};j.each(function(Re){var ze=H.select(this);if(Re.del)return ze.remove();var Xe=ze.select("text.nums"),tt=Re.anchor,it=tt==="end"?-1:1,et=O(Re),nt=U(Re,Q),Ae=nt.x,me=nt.y,fe=tt==="middle",Be="hoverlabel"in Re.trace?Re.trace.hoverlabel.showarrow:!0,Qe;fe?Qe="M-"+_e(Re.bx/2+Re.tx2width/2)+","+we(me-Re.by/2)+"h"+_e(Re.bx)+"v"+we(Re.by)+"h-"+_e(Re.bx)+"Z":Be?Qe="M0,0L"+_e(it*v+Ae)+","+we(v+me)+"v"+we(Re.by/2-v)+"h"+_e(it*Re.bx)+"v-"+we(Re.by)+"H"+_e(it*v+Ae)+"V"+we(me-v)+"Z":Qe="M"+_e(it*v+Ae)+","+we(me-Re.by/2)+"h"+_e(it*Re.bx)+"v"+we(Re.by)+"h"+_e(-it*Re.bx)+"Z",ze.select("path").attr("d",Qe);var at=Ae+et.textShiftX,$e=me+Re.ty0-Re.by/2+u,It=Re.textAlign||"auto";It!=="auto"&&(It==="left"&&tt!=="start"?(Xe.attr("text-anchor","start"),at=fe?-Re.bx/2-Re.tx2width/2+u:-Re.bx-u):It==="right"&&tt!=="end"&&(Xe.attr("text-anchor","end"),at=fe?Re.bx/2-Re.tx2width/2-u:Re.bx+u)),Xe.call(o.positionText,_e(at),we($e)),Re.tx2width&&(ze.select("text.name").call(o.positionText,_e(et.text2ShiftX+et.alignShift*u+Ae),we(me+Re.ty0-Re.by/2+u)),ze.select("rect").call(n.setRect,_e(et.text2ShiftX+(et.alignShift-1)*Re.tx2width/2+Ae),we(me-Re.by/2-1),_e(Re.tx2width),we(Re.by+2)))})}function J(j,Q){var re=j.index,ue=j.trace||{},_e=j.cd[0],we=j.cd[re]||{};function Re(nt){return nt||p(nt)&&nt===0}var ze=Array.isArray(re)?function(nt,Ae){var me=S.castOption(_e,re,nt);return Re(me)?me:S.extractOption({},ue,"",Ae)}:function(nt,Ae){return S.extractOption(we,ue,nt,Ae)};function Xe(nt,Ae,me){var fe=ze(Ae,me);Re(fe)&&(j[nt]=fe)}if(Xe("hoverinfo","hi","hoverinfo"),Xe("bgcolor","hbg","hoverlabel.bgcolor"),Xe("borderColor","hbc","hoverlabel.bordercolor"),Xe("fontFamily","htf","hoverlabel.font.family"),Xe("fontSize","hts","hoverlabel.font.size"),Xe("fontColor","htc","hoverlabel.font.color"),Xe("fontWeight","htw","hoverlabel.font.weight"),Xe("fontStyle","hty","hoverlabel.font.style"),Xe("fontVariant","htv","hoverlabel.font.variant"),Xe("nameLength","hnl","hoverlabel.namelength"),Xe("textAlign","hta","hoverlabel.align"),j.posref=Q==="y"||Q==="closest"&&ue.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,ue.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,ue.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 tt=h.tickText(j.xa,j.xa.c2l(j.xerr),"hover").text;j.xerrneg!==void 0?j.xLabel+=" +"+tt+" / -"+h.tickText(j.xa,j.xa.c2l(j.xerrneg),"hover").text:j.xLabel+=" \xB1 "+tt,Q==="x"&&(j.distance+=1)}if(!isNaN(j.yerr)&&!(j.ya.type==="log"&&j.yerr<=0)){var it=h.tickText(j.ya,j.ya.c2l(j.yerr),"hover").text;j.yerrneg!==void 0?j.yLabel+=" +"+it+" / -"+h.tickText(j.ya,j.ya.c2l(j.yerrneg),"hover").text:j.yLabel+=" \xB1 "+it,Q==="y"&&(j.distance+=1)}var et=j.hoverinfo||j.trace.hoverinfo;return et&&et!=="all"&&(et=Array.isArray(et)?et:et.split("+"),et.indexOf("x")===-1&&(j.xLabel=void 0),et.indexOf("y")===-1&&(j.yLabel=void 0),et.indexOf("z")===-1&&(j.zLabel=void 0),et.indexOf("text")===-1&&(j.text=void 0),et.indexOf("name")===-1&&(j.name=void 0)),j}function se(j,Q,re){var ue=re.container,_e=re.fullLayout,we=_e._size,Re=re.event,ze=!!Q.hLinePoint,Xe=!!Q.vLinePoint,tt,it;if(ue.selectAll(".spikeline").remove(),!!(Xe||ze)){var et=a.combine(_e.plot_bgcolor,_e.paper_bgcolor);if(ze){var nt=Q.hLinePoint,Ae,me;tt=nt&&nt.xa,it=nt&&nt.ya;var fe=it.spikesnap;fe==="cursor"?(Ae=Re.pointerX,me=Re.pointerY):(Ae=tt._offset+nt.x,me=it._offset+nt.y);var Be=x.readability(nt.color,et)<1.5?a.contrast(et):nt.color,Qe=it.spikemode,at=it.spikethickness,$e=it.spikecolor||Be,It=h.getPxPosition(j,it),Pt,Vt;if(Qe.indexOf("toaxis")!==-1||Qe.indexOf("across")!==-1){if(Qe.indexOf("toaxis")!==-1&&(Pt=It,Vt=Ae),Qe.indexOf("across")!==-1){var Wt=it._counterDomainMin,Cr=it._counterDomainMax;it.anchor==="free"&&(Wt=Math.min(Wt,it.position),Cr=Math.max(Cr,it.position)),Pt=we.l+Wt*we.w,Vt=we.l+Cr*we.w}ue.insert("line",":first-child").attr({x1:Pt,x2:Vt,y1:me,y2:me,"stroke-width":at,stroke:$e,"stroke-dasharray":n.dashStyle(it.spikedash,at)}).classed("spikeline",!0).classed("crisp",!0),ue.insert("line",":first-child").attr({x1:Pt,x2:Vt,y1:me,y2:me,"stroke-width":at+2,stroke:et}).classed("spikeline",!0).classed("crisp",!0)}Qe.indexOf("marker")!==-1&&ue.insert("circle",":first-child").attr({cx:It+(it.side!=="right"?at:-at),cy:me,r:at,fill:$e}).classed("spikeline",!0)}if(Xe){var yr=Q.vLinePoint,qr,Mr;tt=yr&&yr.xa,it=yr&&yr.ya;var Dr=tt.spikesnap;Dr==="cursor"?(qr=Re.pointerX,Mr=Re.pointerY):(qr=tt._offset+yr.x,Mr=it._offset+yr.y);var xt=x.readability(yr.color,et)<1.5?a.contrast(et):yr.color,Ne=tt.spikemode,Ye=tt.spikethickness,be=tt.spikecolor||xt,Ie=h.getPxPosition(j,tt),qe,ke;if(Ne.indexOf("toaxis")!==-1||Ne.indexOf("across")!==-1){if(Ne.indexOf("toaxis")!==-1&&(qe=Ie,ke=Mr),Ne.indexOf("across")!==-1){var Me=tt._counterDomainMin,Le=tt._counterDomainMax;tt.anchor==="free"&&(Me=Math.min(Me,tt.position),Le=Math.max(Le,tt.position)),qe=we.t+(1-Le)*we.h,ke=we.t+(1-Me)*we.h}ue.insert("line",":first-child").attr({x1:qr,x2:qr,y1:qe,y2:ke,"stroke-width":Ye,stroke:be,"stroke-dasharray":n.dashStyle(tt.spikedash,Ye)}).classed("spikeline",!0).classed("crisp",!0),ue.insert("line",":first-child").attr({x1:qr,x2:qr,y1:qe,y2:ke,"stroke-width":Ye+2,stroke:et}).classed("spikeline",!0).classed("crisp",!0)}Ne.indexOf("marker")!==-1&&ue.insert("circle",":first-child").attr({cx:qr,cy:Ie-(tt.side!=="top"?Ye:-Ye),r:Ye,fill:be}).classed("spikeline",!0)}}}function le(j,Q,re){if(!re||re.length!==j._hoverdata.length)return!0;for(var ue=re.length-1;ue>=0;ue--){var _e=re[ue],we=j._hoverdata[ue];if(_e.curveNumber!==we.curveNumber||String(_e.pointNumber)!==String(we.pointNumber)||String(_e.pointNumbers)!==String(we.pointNumbers)||_e.binNumber!==we.binNumber)return!0}return!1}function ce(j,Q){return!Q||Q.vLinePoint!==j._spikepoints.vLinePoint||Q.hLinePoint!==j._spikepoints.hLinePoint}function q(j,Q){return o.plainText(j||"",{len:Q,allowedTags:["br","sub","sup","b","i","em","s","u"]})}function Z(j,Q){for(var re=Q.charAt(0),ue=[],_e=[],we=[],Re=0;Rej.offsetTop+j.clientTop,oe=j=>j.offsetLeft+j.clientLeft;function ie(j,Q){var re=j._fullLayout,ue=Q.getBoundingClientRect(),_e=ue.left,we=ue.top,Re=_e+ue.width,ze=we+ue.height,Xe=S.apply3DTransform(re._invTransform)(_e,we),tt=S.apply3DTransform(re._invTransform)(Re,ze),it=Xe[0],et=Xe[1],nt=tt[0],Ae=tt[1];return{x:it,y:et,width:nt-it,height:Ae-et,top:Math.min(et,Ae),left:Math.min(it,nt),right:Math.max(it,nt),bottom:Math.max(et,Ae)}}}}),cy=De({"src/components/fx/hoverlabel_defaults.js"(Y,H){"use strict";var p=ui(),x=vo(),S=Ad().isUnifiedHover;H.exports=function(e,t,r,o){o=o||{};var i=t.legend;function n(a){o.font[a]||(o.font[a]=i?t.legend.font[a]:t.font[a])}t&&S(t.hovermode)&&(o.font||(o.font={}),n("size"),n("family"),n("color"),n("weight"),n("style"),n("variant"),i?(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),p.coerceFont(r,"hoverlabel.font",o.font),r("hoverlabel.align",o.align)}}}),jM=De({"src/components/fx/layout_global_defaults.js"(Y,H){"use strict";var p=ui(),x=cy(),S=Rv();H.exports=function(e,t){function r(o,i){return p.coerce(e,t,S,o,i)}x(e,t,r)}}}),VM=De({"src/components/fx/defaults.js"(Y,H){"use strict";var p=ui(),x=Np(),S=cy();H.exports=function(e,t,r,o){function i(a,s){return p.coerce(e,t,x,a,s)}var n=p.extendFlat({},o.hoverlabel);t.hovertemplate&&(n.namelength=-1),S(e,t,i,n)}}}),t2=De({"src/components/fx/hovermode_defaults.js"(Y,H){"use strict";var p=ui(),x=Rv();H.exports=function(E,e){function t(r,o){return e[r]!==void 0?e[r]:p.coerce(E,e,x,r,o)}return t("clickmode"),t("hoversubplots"),t("hovermode")}}}),qM=De({"src/components/fx/layout_defaults.js"(Y,H){"use strict";var p=ui(),x=Rv(),S=t2(),E=cy();H.exports=function(t,r){function o(m,d){return p.coerce(t,r,x,m,d)}var i=S(t,r);i&&(o("hoverdistance"),o("spikedistance"));var n=o("dragmode");n==="select"&&o("selectdirection");var a=r._has("mapbox"),s=r._has("map"),h=r._has("geo"),c=r._basePlotModules.length;r.dragmode==="zoom"&&((a||s||h)&&c===1||(a||s)&&h&&c===2)&&(r.dragmode="pan"),E(t,r,o),p.coerceFont(o,"hoverlabel.grouptitlefont",r.hoverlabel.font)}}}),HM=De({"src/components/fx/calc.js"(Y,H){"use strict";var p=ui(),x=Mo();H.exports=function(e){var t=e.calcdata,r=e._fullLayout;function o(h){return function(c){return p.coerceHoverinfo({hoverinfo:c},{_module:h._module},r)}}for(var i=0;i"," plotly-logomark"," "," "," "," "," "," "," "," "," "," "," "," "," ",""].join("")}}}}),S_=De({"src/components/shapes/draw_newshape/constants.js"(Y,H){"use strict";var p=32;H.exports={CIRCLE_SIDES:p,i000:0,i090:p/4,i180:p/2,i270:p/4*3,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}}}),M_=De({"src/components/selections/helpers.js"(Y,H){"use strict";var p=ui().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 p(t.xaxis._offset,t.yaxis._offset)}H.exports={p2r:x,r2p:S,axValue:E,getTransform:e}}}),Wp=De({"src/components/shapes/draw_newshape/helpers.js"(Y){"use strict";var H=ly(),p=S_(),x=p.CIRCLE_SIDES,S=p.SQRT2,E=M_(),e=E.p2r,t=E.r2p,r=[0,3,4,5,6,1,2],o=[0,3,4,1,2];Y.writePaths=function(a){var s=a.length;if(!s)return"M0,0Z";for(var h="",c=0;c0&&_{let s=a.charAt(0),h=i[s].drawn!==void 0;return n+(h?1:0)},0)},Y.getDataToPixel=function(e,t,r,o,i){var n=e._fullLayout._size,a;if(t)if(i==="domain")a=function(h){return t._length*(o?1-h:h)+t._offset};else{var s=Y.shapePositionToRange(t);a=function(h){var c=E(t,r);return t._offset+t.r2p(s(h,!0))+c},t.type==="date"&&(a=Y.decodeDate(a))}else o?a=function(h){return n.t+n.h*(1-h)}:a=function(h){return n.l+n.w*h};return a},Y.getPixelToData=function(e,t,r,o){var i=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 a=Y.rangeToShapePosition(t);n=function(s){return a(t.p2r(s-t._offset))}}else r?n=function(s){return 1-(s-i.t)/i.h}:n=function(s){return(s-i.l)/i.w};return n},Y.roundPositionForSharpStrokeRendering=function(e,t){var r=Math.round(t%2)===1,o=Math.round(e);return r?o+.5:o},Y.makeShapesOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.shapes[t]||{},o=e._fullLayout._plots[r.xref+r.yref],i=!!o;return i?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}},Y.makeSelectionsOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.selections[t]||{},o=e._fullLayout._plots[r.xref+r.yref],i=!!o;return i?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}},Y.getPathString=function(e,t){let r=t.type,o=x.getRefType(t.xref),i=x.getRefType(t.yref),n=e._fullLayout._size;var a,s,h,c,m,d,T,l,_,w,A,M;function g(z,F,N,B){var I;if(z)if(F==="domain")B?I=function(U){return z._offset+z._length*(1-U)}:I=function(U){return z._offset+z._length*U};else{let U=Y.shapePositionToRange(z);I=function(O){return z._offset+z.r2p(U(O,!0))},N==="path"&&z.type==="date"&&(I=Y.decodeDate(I))}else B?I=function(U){return n.t+n.h*(1-U)}:I=function(U){return n.l+n.w*U};return I}if(o==="array"?(T=[],a=t.xref.map(function(z){return x.getFromId(e,z)}),T=t.xref.map(function(z,F){return g(a[F],x.getRefType(z),r,!1)})):(a=x.getFromId(e,t.xref),T=g(a,o,r,!1)),i==="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,i,r,!0)),r==="path")return S(t,T,l);if(o==="array")h=E(a[0],t.x0shift),c=E(a[1],t.x1shift),_=T[0](t.x0)+h,w=T[1](t.x1)+c;else if(h=E(a,t.x0shift),c=E(a,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(i==="array")m=E(s[0],t.y0shift),d=E(s[1],t.y1shift),A=l[0](t.y0)+m,M=l[1](t.y1)+d;else if(m=E(s,t.y0shift),d=E(s,t.y1shift),t.ysizemode==="pixel"){let z=l(t.yanchor);A=z-t.y0+m,M=z-t.y1+d}else A=l(t.y0)+m,M=l(t.y1)+d;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,v=(A+M)/2,u=Math.abs(b-_),y=Math.abs(v-A),f="A"+u+","+y,R=b+u+","+v,L=b+","+(v-y);return"M"+R+f+" 0 1,1 "+L+f+" 0 0,1 "+R+"Z"};function S(e,t,r){let o=e.path,i=e.xsizemode,n=e.ysizemode,a=e.xanchor,s=e.yanchor,h=Array.isArray(e.xref),c=Array.isArray(e.yref);var m=0,d=0;return o.replace(H.segmentRE,function(T){var l=0,_=T.charAt(0),w=H.paramIsX[_],A=H.paramIsY[_],M=H.numParams[_];let g=w.drawn!==void 0,b=A.drawn!==void 0,v=h?t[m]:t,u=c?r[d]:r;var y=T.slice(1).replace(H.paramRE,function(f){return w[l]?i==="pixel"?f=v(a)+Number(f):f=v(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.*/,""),p.log("Ignoring extra params in segment "+T)),g&&m++,b&&d++,_+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}}}),i2=De({"src/components/shapes/display_labels.js"(Y,H){"use strict";var p=ui(),x=us(),S=vu(),E=ys(),e=Wp().readPaths,t=Xp(),r=t.getPathString,o=g_(),i=rh().FROM_TL;H.exports=function(h,c,m,d){if(d.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 v=o[A](m,_,w);v!==void 0&&(l[A]=v)}}}T=p.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=d.append("g").attr(u).classed("shape-label",!0),L=R.append("text").attr(f).classed("shape-label-text",!0).text(T),z,F,N,B;if(m.path){var I=r(h,m),U=e(I,h);z=1/0,N=1/0,F=-1/0,B=-1/0;for(var O=0;O=s?d=h-m:d=m-h,-180/Math.PI*Math.atan2(d,T)}function a(s,h,c,m,d,T,l){var _=d.label.textposition,w=d.label.textangle,A=d.label.padding,M=d.type,g=Math.PI/180*T,b=Math.sin(g),v=Math.cos(g),u=d.label.xanchor,y=d.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&&!(et.length===2&&et[1][0]==="Z")&&(q===0&&(et[0][0]="M"),f[ce]=et,N(),B())}}function ue(et,nt){if(et===2){ce=+nt.srcElement.getAttribute("data-i"),q=+nt.srcElement.getAttribute("data-j");var Ae=f[ce];!T(Ae)&&!l(Ae)&&re()}}function _e(et){se=[];for(var nt=0;ntE.getFromId(f,se)).filter(Boolean);if(!O.length)return U?[z.t,z.t+z.h]:[z.l,z.l+z.w];let X=O.map(function(se){return se._offset}),J=O.map(function(se){return se._offset+se._length});return[Math.min(...X),Math.max(...J)]}let N=F(R,!1),B=F(L,!0);return{x:N[0],y:B[0],width:N[1]-N[0],height:B[1]-B[0]}}function g(f,R,L,z,F,N){var B=10,I=10,U=L.xsizemode==="pixel",O=L.ysizemode==="pixel",X=L.type==="line",J=L.type==="path",se=N.modifyItem,le,ce,q,Z,ee,V,oe,ie,j,Q,re,ue,_e,we,Re,ze=p.select(R.node().parentNode),Xe=E.getFromId(f,L.xref),tt=E.getRefType(L.xref),it=E.getFromId(f,L.yref),et=E.getRefType(L.yref),nt=L.x0shift,Ae=L.x1shift,me=L.y0shift,fe=L.y1shift,Be=function(qe,ke){var Me=m.getDataToPixel(f,Xe,ke,!1,tt);return Me(qe)},Qe=function(qe,ke){var Me=m.getDataToPixel(f,it,ke,!0,et);return Me(qe)},at=m.getPixelToData(f,Xe,!1,tt),$e=m.getPixelToData(f,it,!0,et),It=Wt(),Pt={element:It.node(),gd:f,prepFn:qr,doneFn:Mr,clickFn:Dr},Vt;s.init(Pt),It.node().onmousemove=yr;function Wt(){return X?Cr():R}function Cr(){var qe=10,ke=Math.max(L.line.width,qe),Me=F.append("g").attr("data-index",z).attr("drag-helper",!0);Me.append("path").attr("d",R.attr("d")).style({cursor:"move","stroke-width":ke,"stroke-opacity":"0"});var Le={"fill-opacity":"0"},ut=Math.max(ke/2,qe);return Me.append("circle").attr({"data-line-point":"start-point",cx:U?Be(L.xanchor)+L.x0:Be(L.x0,nt),cy:O?Qe(L.yanchor)-L.y0:Qe(L.y0,me),r:ut}).style(Le).classed("cursor-grab",!0),Me.append("circle").attr({"data-line-point":"end-point",cx:U?Be(L.xanchor)+L.x1:Be(L.x1,Ae),cy:O?Qe(L.yanchor)-L.y1:Qe(L.y1,fe),r:ut}).style(Le).classed("cursor-grab",!0),Me}function yr(qe){if(l(f)){Vt=null;return}if(X)qe.target.tagName==="path"?Vt="move":Vt=qe.target.attributes["data-line-point"].value==="start-point"?"resize-over-start-point":"resize-over-end-point";else{var ke=Pt.element.getBoundingClientRect(),Me=ke.right-ke.left,Le=ke.bottom-ke.top,ut=qe.clientX-ke.left,lt=qe.clientY-ke.top,gt=!J&&Me>B&&Le>I&&!qe.shiftKey?s.getCursor(ut/Me,1-lt/Le):"move";h(R,gt),Vt=gt.split("-")[0]}}function qr(qe){l(f)||(U&&(ee=Be(L.xanchor)),O&&(V=Qe(L.yanchor)),L.type==="path"?Re=L.path:(le=U?L.x0:Be(L.x0),ce=O?L.y0:Qe(L.y0),q=U?L.x1:Be(L.x1),Z=O?L.y1:Qe(L.y1)),leZ?(oe=ce,re="y0",ie=Z,ue="y1"):(oe=Z,re="y1",ie=ce,ue="y0"),yr(qe),Ye(F,L),Ie(R,L,f),Pt.moveFn=Vt==="move"?xt:Ne,Pt.altKey=qe.altKey)}function Mr(){l(f)||(h(R),be(F),A(R,f,L),x.call("_guiRelayout",f,N.getUpdateObj()))}function Dr(){l(f)||be(F)}function xt(qe,ke){if(L.type==="path"){var Me=function(lt){return lt},Le=Me,ut=Me;U?se("xanchor",L.xanchor=at(ee+qe)):(Le=function(gt){return at(Be(gt)+qe)},Xe&&Xe.type==="date"&&(Le=m.encodeDate(Le))),O?se("yanchor",L.yanchor=$e(V+ke)):(ut=function(gt){return $e(Qe(gt)+ke)},it&&it.type==="date"&&(ut=m.encodeDate(ut))),se("path",L.path=b(Re,Le,ut))}else U?se("xanchor",L.xanchor=at(ee+qe)):(se("x0",L.x0=at(le+qe)),se("x1",L.x1=at(q+qe))),O?se("yanchor",L.yanchor=$e(V+ke)):(se("y0",L.y0=$e(ce+ke)),se("y1",L.y1=$e(Z+ke)));R.attr("d",d(f,L)),Ye(F,L),r(f,z,L,ze)}function Ne(qe,ke){if(J){var Me=function(_a){return _a},Le=Me,ut=Me;U?se("xanchor",L.xanchor=at(ee+qe)):(Le=function(Ca){return at(Be(Ca)+qe)},Xe&&Xe.type==="date"&&(Le=m.encodeDate(Le))),O?se("yanchor",L.yanchor=$e(V+ke)):(ut=function(Ca){return $e(Qe(Ca)+ke)},it&&it.type==="date"&&(ut=m.encodeDate(ut))),se("path",L.path=b(Re,Le,ut))}else if(X){if(Vt==="resize-over-start-point"){var lt=le+qe,gt=O?ce-ke:ce+ke;se("x0",L.x0=U?lt:at(lt)),se("y0",L.y0=O?gt:$e(gt))}else if(Vt==="resize-over-end-point"){var kt=q+qe,nr=O?Z-ke:Z+ke;se("x1",L.x1=U?kt:at(kt)),se("y1",L.y1=O?nr:$e(nr))}}else{var ir=function(_a){return Vt.indexOf(_a)!==-1},tr=ir("n"),Ir=ir("s"),vi=ir("w"),Vi=ir("e"),Ui=tr?oe+ke:oe,Ki=Ir?ie+ke:ie,ea=vi?j+qe:j,Bi=Vi?Q+qe:Q;O&&(tr&&(Ui=oe-ke),Ir&&(Ki=ie-ke)),(!O&&Ki-Ui>I||O&&Ui-Ki>I)&&(se(re,L[re]=O?Ui:$e(Ui)),se(ue,L[ue]=O?Ki:$e(Ki))),Bi-ea>B&&(se(_e,L[_e]=U?ea:at(ea)),se(we,L[we]=U?Bi:at(Bi)))}R.attr("d",d(f,L)),Ye(F,L),r(f,z,L,ze)}function Ye(qe,ke){(U||O)&&Me();function Me(){var Le=ke.type!=="path",ut=qe.selectAll(".visual-cue").data([0]),lt=1;ut.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":lt}).classed("visual-cue",!0);var gt=Be(U?ke.xanchor:S.midRange(Le?[ke.x0,ke.x1]:m.extractPathCoords(ke.path,c.paramIsX))),kt=Qe(O?ke.yanchor:S.midRange(Le?[ke.y0,ke.y1]:m.extractPathCoords(ke.path,c.paramIsY)));if(gt=m.roundPositionForSharpStrokeRendering(gt,lt),kt=m.roundPositionForSharpStrokeRendering(kt,lt),U&&O){var nr="M"+(gt-1-lt)+","+(kt-1-lt)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";ut.attr("d",nr)}else if(U){var ir="M"+(gt-1-lt)+","+(kt-9-lt)+"v18 h2 v-18 Z";ut.attr("d",ir)}else{var tr="M"+(gt-9-lt)+","+(kt-1-lt)+"h18 v2 h-18 Z";ut.attr("d",tr)}}}function be(qe){qe.selectAll(".visual-cue").remove()}function Ie(qe,ke,Me){var Le=ke.xref,ut=ke.yref,lt=E.getFromId(Me,Le),gt=E.getFromId(Me,ut),kt="";Le!=="paper"&&!lt.autorange&&(kt+=Le),ut!=="paper"&&!gt.autorange&&(kt+=ut),n.setClipUrl(qe,kt?"clip"+Me._fullLayout._uid+kt:null,Me)}}function b(f,R,L){return f.replace(c.segmentRE,function(z){var F=0,N=z.charAt(0),B=c.paramIsX[N],I=c.paramIsY[N],U=c.numParams[N],O=z.slice(1).replace(c.paramRE,function(X){return F>=U||(B[F]?X=R(X):I[F]&&(X=L(X)),F++),X});return N+O})}function v(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"],ce=["resetViews"]):u?(se=["zoomInGeo","zoomOutGeo"],le=["hoverClosestGeo"],ce=["resetGeo"]):v?(le=["hoverClosest3d"],ce=["resetCameraDefault3d","resetCameraLastSave3d"]):L?(se=["zoomInMapbox","zoomOutMapbox"],le=["toggleHover"],ce=["resetViewMapbox"]):z?(se=["zoomInMap","zoomOutMap"],le=["toggleHover"],ce=["resetViewMap"]):y?le=["hoverClosestPie"]:B?(le=["hoverClosestCartesian","hoverCompareCartesian"],ce=["resetViewSankey"]):le=["toggleHover"],b&&le.push("toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"),(s(T)||U)&&(le=[]),b&&!I&&(se=["zoomIn2d","zoomOut2d","autoScale2d"],ce[0]!=="resetViews"&&(ce=["resetScale2d"])),v?q=["zoom3d","pan3d","orbitRotation","tableRotation"]:b&&!I||R?q=["zoom2d","pan2d"]:L||z||u?q=["pan2d"]:F&&(q=["zoom2d"]),a(T)&&q.push("select2d","lasso2d");var Z=[],ee=function(j){Z.indexOf(j)===-1&&le.indexOf(j)!==-1&&Z.push(j)};if(Array.isArray(M)){for(var V=[],oe=0;oew?T.slice(w):l.slice(_))+A}function h(m,d){for(var T=d._size,l=T.h/T.w,_={},w=Object.keys(m),A=0;At*R&&!N)){for(w=0;wq&&rele&&(le=re);var _e=(le-se)/(2*ce);u/=_e,se=g.l2r(se),le=g.l2r(le),g.range=g._input.range=O=B[1]||X[1]<=B[0])&&J[0]I[0])return!0}return!1}function A(B){var I=B._fullLayout,U=I._size,O=U.p,X=n.list(B,"",!0),J,se,le,ce,q,Z;if(I._paperdiv.style({width:B._context.responsive&&I.autosize&&!B._context._hasZeroWidth&&!B.layout.width?"100%":I.width+"px",height:B._context.responsive&&I.autosize&&!B._context._hasZeroHeight&&!B.layout.height?"100%":I.height+"px"}).selectAll(".main-svg").call(r.setSize,I.width,I.height),B._context.setBackground(B,I.paper_bgcolor),Y.drawMainTitle(B),i.manage(B),!I._has("cartesian"))return x.previousPromises(B);function ee(be,Ie,qe){var ke=be._lw/2;if(be._id.charAt(0)==="x"){if(Ie){if(qe==="top")return Ie._offset-O-ke}else return U.t+U.h*(1-(be.position||0))+ke%1;return Ie._offset+Ie._length+O+ke}if(Ie){if(qe==="right")return Ie._offset+Ie._length+O+ke}else return U.l+U.w*(be.position||0)+ke%1;return Ie._offset-O-ke}for(J=0;J0){f(B,J,q,ce),le.attr({x:se,y:J,"text-anchor":O,dy:z(I.yanchor)}).call(E.positionText,se,J);var Z=(I.text.match(E.BR_TAG_ALL)||[]).length;if(Z){var ee=a.LINE_SPACING*Z+a.MID_SHIFT;I.y===0&&(ee=-ee),le.selectAll(".line").each(function(){var Q=+this.getAttribute("dy").slice(0,-2)-ee+"em";this.setAttribute("dy",Q)})}var V=H.select(B).selectAll(".gtitle-subtitle");if(V.node()){var oe=le.node().getBBox(),ie=oe.y+oe.height,j=ie+o.SUBTITLE_PADDING_EM*I.subtitle.font.size;V.attr({x:se,y:j,"text-anchor":O,dy:z(I.yanchor)}).call(E.positionText,se,j)}}}};function v(B,I,U,O,X){var J=I.yref==="paper"?B._fullLayout._size.h:B._fullLayout.height,se=S.isTopAnchor(I)?O:O-X,le=U==="b"?J-se:se;return S.isTopAnchor(I)&&U==="t"||S.isBottomAnchor(I)&&U==="b"?!1:le.5?"t":"b",se=B._fullLayout.margin[J],le=0;return I.yref==="paper"?le=U+I.pad.t+I.pad.b:I.yref==="container"&&(le=u(J,O,X,B._fullLayout.height,U)+I.pad.t+I.pad.b),le>se?le:0}function f(B,I,U,O){var X="title.automargin",J=B._fullLayout.title,se=J.y>.5?"t":"b",le={x:J.x,y:J.y,t:0,b:0},ce={};J.yref==="paper"&&v(B,J,se,I,O)?le[se]=U:J.yref==="container"&&(ce[se]=U,B._fullLayout._reservedMargin[X]=ce),x.allowAutoMargin(B,X),x.autoMargin(B,X,le)}function R(B,I){var U=B.title,O=B._size,X=0;switch(I===d?X=U.pad.l:I===l&&(X=-U.pad.r),U.xref){case"paper":return O.l+O.w*U.x+X;case"container":default:return B.width*U.x+X}}function L(B,I){var U=B.title,O=B._size,X=0;if(I==="0em"||!I?X=-U.pad.b:I===a.CAP_SHIFT+"em"&&(X=U.pad.t),U.y==="auto")return O.t/2;switch(U.yref){case"paper":return O.t+O.h-O.h*U.y+X;case"container":default:return B.height-B.height*U.y+X}}function z(B){return B==="top"?a.CAP_SHIFT+.3+"em":B==="bottom"?"-0.3em":a.MID_SHIFT+"em"}function F(B){var I=B.title,U=T;return S.isRightAnchor(I)?U=l:S.isLeftAnchor(I)&&(U=d),U}function N(B){var I=B.title,U="0em";return S.isTopAnchor(I)?U=a.CAP_SHIFT+"em":S.isMiddleAnchor(I)&&(U=a.MID_SHIFT+"em"),U}Y.doTraceStyle=function(B){var I=B.calcdata,U=[],O;for(O=0;O=0;F--){var N=M.append("path").attr(b).style("opacity",F?.1:v).call(E.stroke,y).call(E.fill,u).call(e.dashLine,F?"solid":R,F?4+f:f);if(s(N,d,_),L){var B=t(d.layout,"selections",_);N.style({cursor:"move"});var I={element:N.node(),plotinfo:w,gd:d,editHelpers:B,isActiveSelection:!0},U=p(g,d);x(U,N,I)}else N.style("pointer-events",F?"all":"none");z[F]=N}var O=z[0],X=z[1];X.node().addEventListener("click",function(){return h(d,O)})}}function s(d,T,l){var _=l.xref+l.yref;e.setClipUrl(d,"clip"+T._fullLayout._uid+_,T)}function h(d,T){if(n(d)){var l=T.node(),_=+l.getAttribute("data-index");if(_>=0){if(_===d._fullLayout._activeSelectionIndex){m(d);return}d._fullLayout._activeSelectionIndex=_,d._fullLayout._deactivateSelection=m,i(d)}}}function c(d){if(n(d)){var T=d._fullLayout.selections.length-1;d._fullLayout._activeSelectionIndex=T,d._fullLayout._deactivateSelection=m,i(d)}}function m(d){if(n(d)){var T=d._fullLayout._activeSelectionIndex;T>=0&&(S(d),delete d._fullLayout._activeSelectionIndex,i(d))}}}}),ZM=De({"node_modules/polybooljs/lib/build-log.js"(Y,H){function p(){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}H.exports=p}}),KM=De({"node_modules/polybooljs/lib/epsilon.js"(Y,H){function p(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],i=t[0],n=t[1],a=E[0],s=E[1];return(i-r)*(s-o)-(n-o)*(a-r)>=-x},pointBetween:function(E,e,t){var r=E[1]-e[1],o=t[0]-e[0],i=E[0]-e[0],n=t[1]-e[1],a=i*o+r*n;if(a-x)},pointsSameX:function(E,e){return Math.abs(E[0]-e[0])x!=i-r>x&&(o-s)*(r-h)/(i-h)+s-t>x&&(n=!n),o=s,i=h}return n}};return S}H.exports=p}}),$M=De({"node_modules/polybooljs/lib/linked-list.js"(Y,H){var p={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}};H.exports=p}}),JM=De({"node_modules/polybooljs/lib/intersecter.js"(Y,H){var p=$M();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=p.create();function i(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=i(T.isStart,T.pt,l,_.isStart,_.pt,_.other.pt);return w<0})}function a(T,l){var _=p.node({isStart:!0,pt:T.start,seg:T,primary:l,other:null,status:null});return n(_,T.end),_}function s(T,l,_){var w=p.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 _=a(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 d(T,l){var _=p.create();function w(B,I){var U=B.seg.start,O=B.seg.end,X=I.seg.start,J=I.seg.end;return E.pointsCollinear(U,X,J)?E.pointsCollinear(O,X,J)||E.pointAboveOrOnLine(O,X,J)?1:-1:E.pointAboveOrOnLine(U,X,J)?1:-1}function A(B){return _.findTransition(function(I){var U=w(B,I.ev);return U>0})}function M(B,I){var U=B.seg,O=I.seg,X=U.start,J=U.end,se=O.start,le=O.end;e&&e.checkIntersection(U,O);var ce=E.linesIntersect(X,J,se,le);if(ce===!1){if(!E.pointsCollinear(X,J,se)||E.pointsSame(X,le)||E.pointsSame(J,se))return!1;var q=E.pointsSame(X,se),Z=E.pointsSame(J,le);if(q&&Z)return I;var ee=!q&&E.pointBetween(X,se,le),V=!Z&&E.pointBetween(J,se,le);if(q)return V?m(I,J):m(B,le),I;ee&&(Z||(V?m(I,J):m(B,le)),m(I,X))}else ce.alongA===0&&(ce.alongB===-1?m(B,se):ce.alongB===0?m(B,ce.pt):ce.alongB===1&&m(B,le)),ce.alongB===0&&(ce.alongA===-1?m(I,X):ce.alongA===0?m(I,ce.pt):ce.alongA===1&&m(I,J));return!1}for(var g=[];!o.isEmpty();){var b=o.getHead();if(e&&e.vert(b.pt[0]),b.isStart){let B=function(){if(y){var I=M(b,y);if(I)return I}return f?M(b,f):!1};var v=B;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=B();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(p.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;d&&(o=!o)}return o}}}),vy=De({"src/lib/polygon.js"(Y,H){"use strict";var p=m_().dot,x=zn().BADNUM,S=H.exports={};S.tester=function(e){var t=e.slice(),r=t[0][0],o=r,i=t[0][1],n=i,a;for((t[t.length-1][0]!==t[0][0]||t[t.length-1][1]!==t[0][1])&&t.push(t[0]),a=1;ao||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],v=0,u,y,f,R,L;for(u=1;uMath.max(y,g)||A>Math.max(f,b)))if(Aa||Math.abs(p(m,h))>o)return!0;return!1},S.filter=function(e,t){var r=[e[0]],o=0,i=0;function n(s){e.push(s);var h=r.length,c=o;r.splice(i+1);for(var m=c+1;m1){var a=e.pop();n(a)}return{addPt:n,raw:e,filtered:r}}}}),aE=De({"src/components/selections/constants.js"(Y,H){"use strict";H.exports={BENDPX:1.5,MINSELECT:12,SELECTDELAY:100,SELECTID:"-select"}}}),nE=De({"src/components/selections/select.js"(Y,H){"use strict";var p=rE(),x=iE(),S=Mo(),E=ys().dashStyle,e=vo(),t=sf(),r=Ad().makeEventData,o=dv(),i=o.freeMode,n=o.rectMode,a=o.drawMode,s=o.openMode,h=o.selectMode,c=Xp(),m=hy(),d=k_(),T=Vp().clearOutline,l=Wp(),_=l.handleEllipse,w=l.readPaths,A=E_().newShapes,M=r2(),g=u2().activateLastSelection,b=ui(),v=b.sorterAsc,u=vy(),y=x_(),f=nf().getFromId,R=fy(),L=dy().redrawReglTraces,z=aE(),F=z.MINSELECT,N=u.filter,B=u.tester,I=M_(),U=I.p2r,O=I.axValue,X=I.getTransform;function J(Ne){return Ne.subplot!==void 0}function se(Ne,Ye,be,Ie,qe){var ke=!J(Ie),Me=i(qe),Le=n(qe),ut=s(qe),lt=a(qe),gt=h(qe),kt=qe==="drawline",nr=qe==="drawcircle",ir=kt||nr,tr=Ie.gd,Ir=tr._fullLayout,vi=gt&&Ir.newselection.mode==="immediate"&&ke,Vi=Ir._zoomlayer,Ui=Ie.element.getBoundingClientRect(),Ki=Ie.plotinfo,ea=X(Ki),Bi=Ye-Ui.left,_a=be-Ui.top;Ir._calcInverseTransform(tr);var Ca=b.apply3DTransform(Ir._invTransform)(Bi,_a);Bi=Ca[0],_a=Ca[1];var Kt=Ir._invScaleX,zt=Ir._invScaleY,Zt=Bi,Jt=_a,Br="M"+Bi+","+_a,ri=Ie.xaxes[0],ii=Ie.yaxes[0],di=ri._length,Wi=ii._length,oa=Ne.altKey&&!(a(qe)&&ut),ra,ca,xa,ji,pn,_n,En;V(Ne,tr,Ie),Me&&(ra=N([[Bi,_a]],z.BENDPX));var bt=Vi.selectAll("path.select-outline-"+Ki.id).data([1]),st=lt?Ir.newshape:Ir.newselection;lt&&(Ie.hasText=st.label.text||st.label.texttemplate);var Nr=lt&&!ut?st.fillcolor:"rgba(0,0,0,0)",Lr=st.line.color||(ke?e.contrast(tr._fullLayout.plot_bgcolor):"#7f7f7f");bt.enter().append("path").attr("class","select-outline select-outline-"+Ki.id).style({opacity:lt?st.opacity/2:1,"stroke-dasharray":E(st.line.dash,st.line.width),"stroke-width":st.line.width+"px","shape-rendering":"crispEdges"}).call(e.stroke,Lr).call(e.fill,Nr).attr("fill-rule","evenodd").classed("cursor-move",!!lt).attr("transform",ea).attr("d",Br+"Z");var br=Vi.append("path").attr("class","zoombox-corners").style({fill:e.background,stroke:e.defaultLine,"stroke-width":1}).attr("transform",ea).attr("d","M0,0Z");if(lt&&Ie.hasText){var Rr=Vi.select(".label-temp");Rr.empty()&&(Rr=Vi.append("g").classed("label-temp",!0).classed("select-outline",!0).style({opacity:.8}))}var jr=Ir._uid+z.SELECTID,Wr=[],yt=re(tr,Ie.xaxes,Ie.yaxes,Ie.subplot);vi&&!Ne.shiftKey&&(Ie._clearSubplotSelections=function(){if(ke){var mr=ri._id,Or=ii._id;at(tr,mr,Or,yt);for(var ki=(tr.layout||{}).selections||[],Ni=[],Si=!1,fi=0;fi=0){tr._fullLayout._deactivateShape(tr);return}if(!lt){var ki=Ir.clickmode;y.done(jr).then(function(){if(y.clear(jr),mr===2){for(bt.remove(),pn=0;pn-1&&le(Or,tr,Ie.xaxes,Ie.yaxes,Ie.subplot,Ie,bt),ki==="event"&&Dr(tr,void 0);t.click(tr,Or,Ki.id)}).catch(b.error)}},Ie.doneFn=function(){br.remove(),y.done(jr).then(function(){y.clear(jr),!vi&&ji&&Ie.selectionDefs&&(ji.subtract=oa,Ie.selectionDefs.push(ji),Ie.mergedPolygons.length=0,[].push.apply(Ie.mergedPolygons,xa)),(vi||lt)&&j(Ie,vi),Ie.doneFnCompleted&&Ie.doneFnCompleted(Wr),gt&&Dr(tr,En)}).catch(b.error)}}function le(Ne,Ye,be,Ie,qe,ke,Me){var Le=Ye._hoverdata,ut=Ye._fullLayout,lt=ut.clickmode,gt=lt.indexOf("event")>-1,kt=[],nr,ir,tr,Ir,vi,Vi,Ui,Ki,ea,Bi;if(_e(Le)){V(Ne,Ye,ke),nr=re(Ye,be,Ie,qe);var _a=we(Le,nr),Ca=_a.pointNumbers.length>0;if(Ca?ze(nr,_a):Xe(nr)&&(Ui=Re(_a))){for(Me&&Me.remove(),Bi=0;Bi=0}function ie(Ne){return Ne._fullLayout._activeSelectionIndex>=0}function j(Ne,Ye){var be=Ne.dragmode,Ie=Ne.plotinfo,qe=Ne.gd;oe(qe)&&qe._fullLayout._deactivateShape(qe),ie(qe)&&qe._fullLayout._deactivateSelection(qe);var ke=qe._fullLayout,Me=ke._zoomlayer,Le=a(be),ut=h(be);if(Le||ut){var lt=Me.selectAll(".select-outline-"+Ie.id);if(lt&&qe._fullLayout._outlining){var gt;Le&&(gt=A(lt,Ne)),gt&&S.call("_guiRelayout",qe,{shapes:gt});var kt;ut&&!J(Ne)&&(kt=M(lt,Ne)),kt&&(qe._fullLayout._noEmitSelectedAtStart=!0,S.call("_guiRelayout",qe,{selections:kt}).then(function(){Ye&&g(qe)})),qe._fullLayout._outlining=!1}}Ie.selection={},Ie.selection.selectionDefs=Ne.selectionDefs=[],Ie.selection.mergedPolygons=Ne.mergedPolygons=[]}function Q(Ne){return Ne._id}function re(Ne,Ye,be,Ie){if(!Ne.calcdata)return[];var qe=[],ke=Ye.map(Q),Me=be.map(Q),Le,ut,lt;for(lt=0;lt0,ke=qe?Ie[0]:be;return Ye.selectedpoints?Ye.selectedpoints.indexOf(ke)>-1:!1}function ze(Ne,Ye){var be=[],Ie,qe,ke,Me;for(Me=0;Me0&&be.push(Ie);if(be.length===1&&(ke=be[0]===Ye.searchInfo,ke&&(qe=Ye.searchInfo.cd[0].trace,qe.selectedpoints.length===Ye.pointNumbers.length))){for(Me=0;Me1||(Ye+=Ie.selectedpoints.length,Ye>1)))return!1;return Ye===1}function tt(Ne,Ye,be){var Ie;for(Ie=0;Ie-1&&Ye;if(!Me&&Ye){var mr=It(Ne,!0);if(mr.length){var Or=mr[0].xref,ki=mr[0].yref;if(Or&&ki){var Ni=Wt(mr),Si=yr([f(Ne,Or,"x"),f(Ne,ki,"y")]);Si(Wr,Ni)}}Ne._fullLayout._noEmitSelectedAtStart?Ne._fullLayout._noEmitSelectedAtStart=!1:Xt&&Dr(Ne,Wr),nr._reselect=!1}if(!Me&&nr._deselect){var fi=nr._deselect;Le=fi.xref,ut=fi.yref,Qe(Le,ut,gt)||at(Ne,Le,ut,Ie),Xt&&(Wr.points.length?Dr(Ne,Wr):xt(Ne)),nr._deselect=!1}return{eventData:Wr,selectionTesters:be}}function Be(Ne){var Ye=Ne.calcdata;if(Ye)for(var be=0;be=0){Nr._fullLayout._deactivateShape(Nr);return}var Lr=Nr._fullLayout.clickmode;if(Z(Nr),bt===2&&!Ae&&ca(),nt)Lr.indexOf("select")>-1&&v(st,Nr,at,$e,_e.id,gt),Lr.indexOf("event")>-1&&a.click(Nr,st,_e.id);else if(bt===1&&Ae){var br=tt?fe:me,Rr=tt==="s"||it==="w"?0:1,jr=br._name+".range["+Rr+"]",Wr=I(br,Rr),yt="left",Xt="middle";if(br.fixedrange)return;tt?(Xt=tt==="n"?"top":"bottom",br.side==="right"&&(yt="right")):it==="e"&&(yt="right"),Nr._context.showAxisRangeEntryBoxes&&p.select(lt).call(o.makeEditable,{gd:Nr,immediate:!0,background:Nr._fullLayout.paper_bgcolor,text:String(Wr),fill:br.tickfont?br.tickfont.color:"#444",horizontalAlign:yt,verticalAlign:Xt}).on("edit",function(mr){var Or=br.d2r(mr);Or!==void 0&&t.call("_guiRelayout",Nr,jr,Or)})}}c.init(gt);var ir,tr,Ir,vi,Vi,Ui,Ki,ea,Bi,_a;function Ca(bt,st,Nr){var Lr=lt.getBoundingClientRect();ir=st-Lr.left,tr=Nr-Lr.top,ue._fullLayout._calcInverseTransform(ue);var br=x.apply3DTransform(ue._fullLayout._invTransform)(ir,tr);ir=br[0],tr=br[1],Ir={l:ir,r:ir,w:0,t:tr,b:tr,h:0},vi=ue._hmpixcount?ue._hmlumcount/ue._hmpixcount:E(ue._fullLayout.plot_bgcolor).getLuminance(),Vi="M0,0H"+Vt+"V"+Wt+"H0V0",Ui=!1,Ki="xy",_a=!1,ea=se(et,vi,It,Pt,Vi),Bi=le(et,It,Pt)}function Kt(bt,st){if(ue._transitioningWithDuration)return!1;var Nr=Math.max(0,Math.min(Vt,ke*bt+ir)),Lr=Math.max(0,Math.min(Wt,Me*st+tr)),br=Math.abs(Nr-ir),Rr=Math.abs(Lr-tr);Ir.l=Math.min(ir,Nr),Ir.r=Math.max(ir,Nr),Ir.t=Math.min(tr,Lr),Ir.b=Math.max(tr,Lr);function jr(){Ki="",Ir.r=Ir.l,Ir.t=Ir.b,Bi.attr("d","M0,0Z")}if(Cr.isSubplotConstrained)br>R||Rr>R?(Ki="xy",br/Vt>Rr/Wt?(Rr=br*Wt/Vt,tr>Lr?Ir.t=tr-Rr:Ir.b=tr+Rr):(br=Rr*Vt/Wt,ir>Nr?Ir.l=ir-br:Ir.r=ir+br),Bi.attr("d",ie(Ir))):jr();else if(yr.isSubplotConstrained)if(br>R||Rr>R){Ki="xy";var Wr=Math.min(Ir.l/Vt,(Wt-Ir.b)/Wt),yt=Math.max(Ir.r/Vt,(Wt-Ir.t)/Wt);Ir.l=Wr*Vt,Ir.r=yt*Vt,Ir.b=(1-Wr)*Wt,Ir.t=(1-yt)*Wt,Bi.attr("d",ie(Ir))}else jr();else!Mr||Rr0){var mr;if(yr.isSubplotConstrained||!qr&&Mr.length===1){for(mr=0;mr1&&(jr.maxallowed!==void 0&&xt===(jr.range[0]1&&(Wr.maxallowed!==void 0&&Ne===(Wr.range[0]=0?Math.min(ue,.9):1/(1/Math.max(ue,-.3)+3.222))}function J(ue,_e,we){return ue?ue==="nsew"?we?"":_e==="pan"?"move":"crosshair":ue.toLowerCase()+"-resize":"pointer"}function se(ue,_e,we,Re,ze){return ue.append("path").attr("class","zoombox").style({fill:_e>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",r(we,Re)).attr("d",ze+"Z")}function le(ue,_e,we){return ue.append("path").attr("class","zoombox-corners").style({fill:i.background,stroke:i.defaultLine,"stroke-width":1,opacity:0}).attr("transform",r(_e,we)).attr("d","M0,0Z")}function ce(ue,_e,we,Re,ze,Xe){ue.attr("d",Re+"M"+we.l+","+we.t+"v"+we.h+"h"+we.w+"v-"+we.h+"h-"+we.w+"Z"),q(ue,_e,ze,Xe)}function q(ue,_e,we,Re){we||(ue.transition().style("fill",Re>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),_e.transition().style("opacity",1).duration(200))}function Z(ue){p.select(ue).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function ee(ue){L&&ue.data&&ue._context.showTips&&(x.notifier(x._(ue,"Double-click to zoom back out"),"long"),L=!1)}function V(ue,_e){return"M"+(ue.l-.5)+","+(_e-R-.5)+"h-3v"+(2*R+1)+"h3ZM"+(ue.r+.5)+","+(_e-R-.5)+"h3v"+(2*R+1)+"h-3Z"}function oe(ue,_e){return"M"+(_e-R-.5)+","+(ue.t-.5)+"v-3h"+(2*R+1)+"v3ZM"+(_e-R-.5)+","+(ue.b+.5)+"v3h"+(2*R+1)+"v-3Z"}function ie(ue){var _e=Math.floor(Math.min(ue.b-ue.t,ue.r-ue.l,R)/2);return"M"+(ue.l-3.5)+","+(ue.t-.5+_e)+"h3v"+-_e+"h"+_e+"v-3h-"+(_e+3)+"ZM"+(ue.r+3.5)+","+(ue.t-.5+_e)+"h-3v"+-_e+"h"+-_e+"v-3h"+(_e+3)+"ZM"+(ue.r+3.5)+","+(ue.b+.5-_e)+"h-3v"+_e+"h"+-_e+"v3h"+(_e+3)+"ZM"+(ue.l-3.5)+","+(ue.b+.5-_e)+"h3v"+_e+"h"+_e+"v3h-"+(_e+3)+"Z"}function j(ue,_e,we,Re,ze){for(var Xe=!1,tt={},it={},et,nt,Ae,me,fe=(ze||{}).xaHash,Be=(ze||{}).yaHash,Qe=0;Qe<_e.length;Qe++){var at=_e[Qe];for(et in we)if(at[et]){for(Ae in at)!(ze&&(fe[Ae]||Be[Ae]))&&!(Ae.charAt(0)==="x"?we:Re)[Ae]&&(tt[Ae]=et);for(nt in Re)!(ze&&(fe[nt]||Be[nt]))&&at[nt]&&(Xe=!0)}for(nt in Re)if(at[nt])for(me in at)!(ze&&(fe[me]||Be[me]))&&!(me.charAt(0)==="x"?we:Re)[me]&&(it[me]=nt)}Xe&&(x.extendFlat(tt,it),it={});var $e={},It=[];for(Ae in tt){var Pt=M(ue,Ae);It.push(Pt),$e[Pt._id]=Pt}var Vt={},Wt=[];for(me in it){var Cr=M(ue,me);Wt.push(Cr),Vt[Cr._id]=Cr}return{xaHash:$e,yaHash:Vt,xaxes:It,yaxes:Wt,xLinks:tt,yLinks:it,isSubplotConstrained:Xe}}function Q(ue,_e){if(!e)ue.onwheel!==void 0?ue.onwheel=_e:ue.onmousewheel!==void 0?ue.onmousewheel=_e:ue.isAddedWheelEvent||(ue.isAddedWheelEvent=!0,ue.addEventListener("wheel",_e,{passive:!1}));else{var we=ue.onwheel!==void 0?"wheel":"mousewheel";ue._onwheel&&ue.removeEventListener(we,ue._onwheel),ue._onwheel=_e,ue.addEventListener(we,_e,{passive:!1})}}function re(ue){var _e=[];for(var we in ue)_e.push(ue[we]);return _e}H.exports={makeDragBox:z,makeDragger:F,makeRectDragger:N,makeZoombox:se,makeCorners:le,updateZoombox:ce,xyCorners:ie,transitionZoombox:q,removeZoombox:Z,showDoubleClickNotifier:ee,attachWheelEventHandler:Q}}}),d2=De({"src/plots/cartesian/graph_interact.js"(Y){"use strict";var H=za(),p=sf(),x=Qh(),S=hv(),E=h2().makeDragBox,e=th().DRAGGERSIZE;Y.initInteractions=function(r){var o=r._fullLayout;if(r._context.staticPlot){H.select(r).selectAll(".drag").remove();return}if(!(!o._has("cartesian")&&!o._has("splom"))){var i=Object.keys(o._plots||{}).sort(function(a,s){if((o._plots[a].mainplot&&!0)===(o._plots[s].mainplot&&!0)){var h=a.split("y"),c=s.split("y");return h[0]===c[0]?Number(h[1]||1)-Number(c[1]||1):Number(h[0]||1)-Number(c[0]||1)}return o._plots[a].mainplot?1:-1});i.forEach(function(a){var s=o._plots[a],h=s.xaxis,c=s.yaxis;if(!s.mainplot){var m=E(r,s,h._offset,c._offset,h._length,c._length,"ns","ew");m.onmousemove=function(l){r._fullLayout._rehover=function(){r._fullLayout._hoversubplot===a&&r._fullLayout._plots[a]&&p.hover(r,l,a)},p.hover(r,l,a),r._fullLayout._lasthover=m,r._fullLayout._hoversubplot=a},m.onmouseout=function(l){r._dragging||(r._fullLayout._hoversubplot=null,x.unhover(r,l))},r._context.showAxisDragHandles&&(E(r,s,h._offset-e,c._offset-e,e,e,"n","w"),E(r,s,h._offset+h._length,c._offset-e,e,e,"n","e"),E(r,s,h._offset-e,c._offset+c._length,e,e,"s","w"),E(r,s,h._offset+h._length,c._offset+c._length,e,e,"s","e"))}if(r._context.showAxisDragHandles){if(a===h._mainSubplot){var d=h._mainLinePosition;h.side==="top"&&(d-=e),E(r,s,h._offset+h._length*.1,d,h._length*.8,e,"","ew"),E(r,s,h._offset,d,h._length*.1,e,"","w"),E(r,s,h._offset+h._length*.9,d,h._length*.1,e,"","e")}if(a===c._mainSubplot){var T=c._mainLinePosition;c.side!=="right"&&(T-=e),E(r,s,T,c._offset+c._length*.1,e,c._length*.8,"ns",""),E(r,s,T,c._offset+c._length*.9,e,c._length*.1,"s",""),E(r,s,T,c._offset,e,c._length*.1,"n","")}}});var n=o._hoverlayer.node();n.onmousemove=function(a){a.target=r._fullLayout._lasthover,p.hover(r,a,o._hoversubplot)},n.onclick=function(a){a.target=r._fullLayout._lasthover,p.click(r,a)},n.onmousedown=function(a){r._fullLayout._lasthover.onmousedown(a)},Y.updateFx(r)}},Y.updateFx=function(t){var r=t._fullLayout,o=r.dragmode==="pan"?"move":"crosshair";S(r._draggers,o)}}}),lE=De({"src/plot_api/container_array_match.js"(Y,H){"use strict";var p=Mo();H.exports=function(S){for(var E=p.layoutArrayContainers,e=p.layoutArrayRegexes,t=S.split("[")[0],r,o,i=0;i1&&x.warn("Full array edits are incompatible with other edits",h);var w=n[""][""];if(t(w))i.set(null);else if(Array.isArray(w))i.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=i.get(),g=M||[],b=s(_,h).get(),v=[],u=-1,y=g.length,f,R,L,z,F,N,B,I;for(f=0;fg.length-(B?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)?v.push(L):B?(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(v[f],1),b&&b.splice(v[f],1);if(g.length?M||i.set(g):i.set(null),T)return!1;if(c(l,_),d!==p){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=[]},Y.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,v=Object.keys(l);for(_=0;_3?(B.x=1.02,B.xanchor="left"):B.x<-2&&(B.x=-.02,B.xanchor="right"),B.y>3?(B.y=1.02,B.yanchor="bottom"):B.y<-2&&(B.y=-.02,B.yanchor="top")),l.dragmode==="rotate"&&(l.dragmode="orbit"),e.clean(l),l.template&&l.template.layout&&Y.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))}Y.cleanData=function(l){for(var _=0;_0)return l.slice(0,_)}Y.hasParent=function(l,_){for(var w=d(_);w;){if(w in l)return!0;w=d(w)}return!1},Y.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,i[g]);if(b&&b.type!=="log"){var v=b._name,u=b._id.slice(1);if(u.slice(0,5)==="scene"){if(w[u]!==void 0)continue;v=u+"."+v}var y=v+".type";w[v]===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};Y.collectionsAreEqual=T}}),L_=De({"src/plot_api/plot_api.js"(Y){"use strict";var H=za(),p=vn(),x=Nw(),S=ui(),E=S.nestedProperty,e=Xm(),t=CM(),r=Mo(),o=Ym(),i=Mc(),n=us(),a=Xw(),s=Ih(),h=ys(),c=vo(),m=d2().initInteractions,d=Bd(),T=Af().clearOutline,l=Cn().dfltConfig,_=uE(),w=cE(),A=dy(),M=gc(),g=th().AX_NAME_PATTERN,b=0,v=5;function u(be,Ie,qe,ke){var Me;if(be=S.getGraphDiv(be),e.init(be),S.isPlainObject(Ie)){var Le=Ie;Ie=Le.data,qe=Le.layout,ke=Le.config,Me=Le.frames}var ut=e.triggerHandler(be,"plotly_beforeplot",[Ie,qe,ke]);if(ut===!1)return Promise.reject();!Ie&&!qe&&!S.isPlotDiv(be)&&S.warn("Calling _doPlot as if redrawing but this container doesn't yet have a plot.",be);function lt(){if(Me)return Y.addFrames(be,Me)}z(be,ke),qe||(qe={}),H.select(be).classed("js-plotly-plot",!0),h.makeTester(),Array.isArray(be._promises)||(be._promises=[]);var gt=(be.data||[]).length===0&&Array.isArray(Ie);Array.isArray(Ie)&&(w.cleanData(Ie),gt?be.data=Ie:be.data.push.apply(be.data,Ie),be.empty=!1),(!be.layout||gt)&&(be.layout=w.cleanLayout(qe)),i.supplyDefaults(be);var kt=be._fullLayout,nr=kt._has("cartesian");kt._replotting=!0,(gt||kt._shouldCreateBgLayer)&&(Ye(be),kt._shouldCreateBgLayer&&delete kt._shouldCreateBgLayer),h.initGradients(be),h.initPatterns(be),gt&&n.saveShowSpikeInitial(be);var ir=!be.calcdata||be.calcdata.length!==(be._fullData||[]).length;ir&&i.doCalcdata(be);for(var tr=0;tr=be.data.length||Me<-be.data.length)throw new Error(qe+" must be valid indices for gd.data.");if(Ie.indexOf(Me,ke+1)>-1||Me>=0&&Ie.indexOf(-be.data.length+Me)>-1||Me<0&&Ie.indexOf(be.data.length+Me)>-1)throw new Error("each index in "+qe+" must be unique.")}}function U(be,Ie,qe){if(!Array.isArray(be.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]),I(be,Ie,"currentIndices"),typeof qe<"u"&&!Array.isArray(qe)&&(qe=[qe]),typeof qe<"u"&&I(be,qe,"newIndices"),typeof qe<"u"&&Ie.length!==qe.length)throw new Error("current and new indices must be of equal length.")}function O(be,Ie,qe){var ke,Me;if(!Array.isArray(be.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]),ke=0;ke"u")throw new Error("indices must be an integer or array of integers");I(be,qe,"indices");for(var Le in Ie){if(!Array.isArray(Ie[Le])||Ie[Le].length!==qe.length)throw new Error("attribute "+Le+" must be an array of length equal to indices array length");if(Me&&(!(Le in ke)||!Array.isArray(ke[Le])||ke[Le].length!==Ie[Le].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 J(be,Ie,qe,ke){var Me=S.isPlainObject(ke),Le=[],ut,lt,gt,kt,nr;Array.isArray(qe)||(qe=[qe]),qe=B(qe,be.data.length-1);for(var ir in Ie)for(var tr=0;tr=0&&nr=0&&nr"u")return kt=Y.redraw(be),t.add(be,Me,ut,Le,lt),kt;Array.isArray(qe)||(qe=[qe]);try{U(be,ke,qe)}catch(nr){throw be.data.splice(be.data.length-Ie.length,Ie.length),nr}return t.startSequence(be),t.add(be,Me,ut,Le,lt),kt=Y.moveTraces(be,ke,qe),t.stopSequence(be),kt}function ee(be,Ie){be=S.getGraphDiv(be);var qe=[],ke=Y.addTraces,Me=ee,Le=[be,qe,Ie],ut=[be,Ie],lt,gt;if(typeof Ie>"u")throw new Error("indices must be an integer or array of integers.");for(Array.isArray(Ie)||(Ie=[Ie]),I(be,Ie,"indices"),Ie=B(Ie,be.data.length-1),Ie.sort(S.sorterDes),lt=0;lt"u")for(qe=[],kt=0;kt0&&typeof Zt.parts[ri]!="string";)ri--;var ii=Zt.parts[ri],di=Zt.parts[ri-1]+"."+ii,Wi=Zt.parts.slice(0,ri).join("."),oa=E(be.layout,Wi).get(),ra=E(ke,Wi).get(),ca=Zt.get();if(Jt!==void 0){Ki[zt]=Jt,ea[zt]=ii==="reverse"?Jt:ie(ca);var xa=o.getLayoutValObject(ke,Zt.parts);if(xa&&xa.impliedEdits&&Jt!==null)for(var ji in xa.impliedEdits)Bi(S.relativeAttr(zt,ji),xa.impliedEdits[ji]);if(["width","height"].indexOf(zt)!==-1)if(Jt){Bi("autosize",null);var pn=zt==="height"?"width":"height";Bi(pn,ke[pn])}else ke[zt]=be._initialAutoSize[zt];else if(zt==="autosize")Bi("width",Jt?null:ke.width),Bi("height",Jt?null:ke.height);else if(di.match(ze))Kt(di),E(ke,Wi+"._inputRange").set(null);else if(di.match(Xe)){Kt(di),E(ke,Wi+"._inputRange").set(null);var _n=E(ke,Wi).get();_n._inputDomain&&(_n._input.domain=_n._inputDomain.slice())}else di.match(tt)&&E(ke,Wi+"._inputDomain").set(null);if(ii==="type"){Ca=oa;var En=ra.type==="linear"&&Jt==="log",bt=ra.type==="log"&&Jt==="linear";if(En||bt){if(!Ca||!Ca.range)Bi(Wi+".autorange",!0);else if(ra.autorange)En&&(Ca.range=Ca.range[1]>Ca.range[0]?[1,2]:[2,1]);else{var st=Ca.range[0],Nr=Ca.range[1];En?(st<=0&&Nr<=0&&Bi(Wi+".autorange",!0),st<=0?st=Nr/1e6:Nr<=0&&(Nr=st/1e6),Bi(Wi+".range[0]",Math.log(st)/Math.LN10),Bi(Wi+".range[1]",Math.log(Nr)/Math.LN10)):(Bi(Wi+".range[0]",Math.pow(10,st)),Bi(Wi+".range[1]",Math.pow(10,Nr)))}Array.isArray(ke._subplots.polar)&&ke._subplots.polar.length&&ke[Zt.parts[0]]&&Zt.parts[1]==="radialaxis"&&delete ke[Zt.parts[0]]._subplot.viewInitial["radialaxis.range"],r.getComponentMethod("annotations","convertCoords")(be,ra,Jt,Bi),r.getComponentMethod("images","convertCoords")(be,ra,Jt,Bi)}else Bi(Wi+".autorange",!0),Bi(Wi+".range",null);E(ke,Wi+"._inputRange").set(null)}else if(ii.match(g)){var Lr=E(ke,zt).get(),br=(Jt||{}).type;(!br||br==="-")&&(br="linear"),r.getComponentMethod("annotations","convertCoords")(be,Lr,br,Bi),r.getComponentMethod("images","convertCoords")(be,Lr,br,Bi)}var Rr=_.containerArrayMatch(zt);if(Rr){nr=Rr.array,ir=Rr.index;var jr=Rr.property,Wr=xa||{editType:"calc"};ir!==""&&jr===""&&(_.isAddVal(Jt)?ea[zt]=null:_.isRemoveVal(Jt)?ea[zt]=(E(qe,nr).get()||[])[ir]:S.warn("unrecognized full object value",Ie)),M.update(Ui,Wr),kt[nr]||(kt[nr]={});var yt=kt[nr][ir];yt||(yt=kt[nr][ir]={}),yt[jr]=Jt,delete Ie[zt]}else ii==="reverse"?(oa.range?oa.range.reverse():(Bi(Wi+".autorange",!0),oa.range=[1,0]),ra.autorange?Ui.calc=!0:Ui.plot=!0):(zt==="dragmode"&&(Jt===!1&&ca!==!1||Jt!==!1&&ca===!1)||ke._has("scatter-like")&&ke._has("regl")&&zt==="dragmode"&&(Jt==="lasso"||Jt==="select")&&!(ca==="lasso"||ca==="select")?Ui.plot=!0:xa?M.update(Ui,xa):Ui.calc=!0,Zt.set(Jt))}}for(nr in kt){var Xt=_.applyContainerArrayChanges(be,Le(qe,nr),kt[nr],Ui,Le);Xt||(Ui.plot=!0)}for(var mr in _a){Ca=n.getFromId(be,mr);var Or=Ca&&Ca._constraintGroup;if(Or){Ui.calc=!0;for(var ki in Or)_a[ki]||(n.getFromId(be,ki)._constraintShrinkable=!0)}}(et(be)||Ie.height||Ie.width)&&(Ui.plot=!0);var Ni=ke.shapes;for(ir=0;ir1;)if(ke.pop(),qe=E(Ie,ke.join(".")+".uirevision").get(),qe!==void 0)return qe;return Ie.uirevision}function at(be,Ie){for(var qe=0;qe[Wi,be._ev.listeners(Wi)]);Le=Y.newPlot(be,Ie,qe,ke).then(()=>{for(let[Wi,oa]of di)oa.forEach(ra=>be.on(Wi,ra));return Y.react(be,Ie,qe,ke)})}else{be.data=Ie||[],w.cleanData(be.data),be.layout=qe||{},w.cleanLayout(be.layout),Pt(be.data,be.layout,lt,gt),i.supplyDefaults(be,{skipUpdateCalc:!0});var ir=be._fullData,tr=be._fullLayout,Ir=tr.datarevision===void 0,vi=tr.transition,Vi=Cr(be,gt,tr,Ir,vi),Ui=Vi.newDataRevision,Ki=Wt(be,lt,ir,Ir,vi,Ui);if(et(be)&&(Vi.layoutReplot=!0),Ki.calc||Vi.calc){be.calcdata=void 0;for(var ea=Object.getOwnPropertyNames(tr),Bi=0;Bi(nr||be.emit("plotly_react",{config:ke,data:Ie,layout:qe}),be))}function Wt(be,Ie,qe,ke,Me,Le){var ut=Ie.length===qe.length;if(!Me&&!ut)return{fullReplot:!0,calc:!0};var lt=M.traceFlags();lt.arrays={},lt.nChanges=0,lt.nChangesAnim=0;var gt,kt;function nr(Ir){var vi=o.getTraceValObject(kt,Ir);return!kt._module.animatable&&vi.anim&&(vi.anim=!1),vi}var ir={getValObject:nr,flags:lt,immutable:ke,transition:Me,newDataRevision:Le,gd:be},tr={};for(gt=0;gt=Me.length?Me[0]:Me[kt]:Me}function lt(kt){return Array.isArray(Le)?kt>=Le.length?Le[0]:Le[kt]:Le}function gt(kt,nr){var ir=0;return function(){if(kt&&++ir===nr)return kt()}}return new Promise(function(kt,nr){function ir(){if(ke._frameQueue.length!==0){for(;ke._frameQueue.length;){var ii=ke._frameQueue.pop();ii.onInterrupt&&ii.onInterrupt()}be.emit("plotly_animationinterrupted",[])}}function tr(ii){if(ii.length!==0){for(var di=0;dike._timeToNext&&vi()};ii()}var Ui=0;function Ki(ii){return Array.isArray(Me)?Ui>=Me.length?ii.transitionOpts=Me[Ui]:ii.transitionOpts=Me[0]:ii.transitionOpts=Me,Ui++,ii}var ea,Bi,_a=[],Ca=Ie==null,Kt=Array.isArray(Ie),zt=!Ca&&!Kt&&S.isPlainObject(Ie);if(zt)_a.push({type:"object",data:Ki(S.extendFlat({},Ie))});else if(Ca||["string","number"].indexOf(typeof Ie)!==-1)for(ea=0;ea0&&Br<_a.length-1){var ri=[];for(ea=0;ea<_a.length;ea++)Bi=_a[ea],(_a[ea].type!=="byname"||ea>Br)&&ri.push(Bi);_a=ri}}_a.length>0?tr(_a):(be.emit("plotly_animated"),kt())})}function Mr(be,Ie,qe){if(be=S.getGraphDiv(be),Ie==null)return Promise.resolve();if(!S.isPlotDiv(be))throw new Error("This element is not a Plotly plot: "+be+". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/");var ke,Me,Le,ut,lt=be._transitionData._frames,gt=be._transitionData._frameHash;if(!Array.isArray(Ie))throw new Error("addFrames failure: frameList must be an Array of frame definitions"+Ie);var kt=lt.length+Ie.length*2,nr=[],ir={};for(ke=Ie.length-1;ke>=0;ke--)if(S.isPlainObject(Ie[ke])){var tr=Ie[ke].name,Ir=(gt[tr]||ir[tr]||{}).name,vi=Ie[ke].name,Vi=gt[Ir]||ir[Ir];Ir&&vi&&typeof vi=="number"&&Vi&&bZt.index?-1:zt.index=0;ke--){if(Me=nr[ke].frame,typeof Me.name=="number"&&S.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!Me.name)for(;gt[Me.name="frame "+be._transitionData._counter++];);if(gt[Me.name]){for(Le=0;Le=0;qe--)ke=Ie[qe],Le.push({type:"delete",index:ke}),ut.unshift({type:"insert",index:ke,value:Me[ke]});var lt=i.modifyFrames,gt=i.modifyFrames,kt=[be,ut],nr=[be,Le];return t&&t.add(be,lt,kt,gt,nr),i.modifyFrames(be,Le)}function xt(be){be=S.getGraphDiv(be);var Ie=be._fullLayout||{},qe=be._fullData||[];return i.cleanPlot([],{},qe,Ie),i.purge(be),e.purge(be),Ie._container&&Ie._container.remove(),delete be._context,be}function Ne(be){var Ie=be._fullLayout,qe=be.getBoundingClientRect();if(!S.equalDomRects(qe,Ie._lastBBox)){var ke=Ie._invTransform=S.inverseTransformMatrix(S.getFullTransformMatrix(be));Ie._invScaleX=Math.sqrt(ke[0][0]*ke[0][0]+ke[0][1]*ke[0][1]+ke[0][2]*ke[0][2]),Ie._invScaleY=Math.sqrt(ke[1][0]*ke[1][0]+ke[1][1]*ke[1][1]+ke[1][2]*ke[1][2]),Ie._lastBBox=qe}}function Ye(be){var Ie=H.select(be),qe=be._fullLayout;if(qe._calcInverseTransform=Ne,qe._calcInverseTransform(be),qe._container=Ie.selectAll(".plot-container").data([0]),qe._container.enter().insert("div",":first-child").classed("plot-container",!0).classed("plotly",!0).style({width:"100%",height:"100%"}),qe._paperdiv=qe._container.selectAll(".svg-container").data([0]),qe._paperdiv.enter().append("div").classed("user-select-none",!0).classed("svg-container",!0).style("position","relative"),qe._glcontainer=qe._paperdiv.selectAll(".gl-container").data([{}]),qe._glcontainer.enter().append("div").classed("gl-container",!0),qe._paperdiv.selectAll(".main-svg").remove(),qe._paperdiv.select(".modebar-container").remove(),qe._paper=qe._paperdiv.insert("svg",":first-child").classed("main-svg",!0),qe._toppaper=qe._paperdiv.append("svg").classed("main-svg",!0),qe._modebardiv=qe._paperdiv.append("div"),delete qe._modeBar,qe._hoverpaper=qe._paperdiv.append("svg").classed("main-svg",!0),!qe._uid){var ke={};H.selectAll("defs").each(function(){this.id&&(ke[this.id.split("-")[1]]=1)}),qe._uid=S.randstr(ke)}qe._paperdiv.selectAll(".main-svg").attr(d.svgAttrs),qe._defs=qe._paper.append("defs").attr("id","defs-"+qe._uid),qe._clips=qe._defs.append("g").classed("clips",!0),qe._topdefs=qe._toppaper.append("defs").attr("id","topdefs-"+qe._uid),qe._topclips=qe._topdefs.append("g").classed("clips",!0),qe._bgLayer=qe._paper.append("g").classed("bglayer",!0),qe._draggers=qe._paper.append("g").classed("draglayer",!0);var Me=qe._paper.append("g").classed("layer-below",!0);qe._imageLowerLayer=Me.append("g").classed("imagelayer",!0),qe._shapeLowerLayer=Me.append("g").classed("shapelayer",!0),qe._cartesianlayer=qe._paper.append("g").classed("cartesianlayer",!0),qe._polarlayer=qe._paper.append("g").classed("polarlayer",!0),qe._smithlayer=qe._paper.append("g").classed("smithlayer",!0),qe._ternarylayer=qe._paper.append("g").classed("ternarylayer",!0),qe._geolayer=qe._paper.append("g").classed("geolayer",!0),qe._funnelarealayer=qe._paper.append("g").classed("funnelarealayer",!0),qe._pielayer=qe._paper.append("g").classed("pielayer",!0),qe._iciclelayer=qe._paper.append("g").classed("iciclelayer",!0),qe._treemaplayer=qe._paper.append("g").classed("treemaplayer",!0),qe._sunburstlayer=qe._paper.append("g").classed("sunburstlayer",!0),qe._indicatorlayer=qe._toppaper.append("g").classed("indicatorlayer",!0),qe._glimages=qe._paper.append("g").classed("glimages",!0);var Le=qe._toppaper.append("g").classed("layer-above",!0);qe._imageUpperLayer=Le.append("g").classed("imagelayer",!0),qe._shapeUpperLayer=Le.append("g").classed("shapelayer",!0),qe._selectionLayer=qe._toppaper.append("g").classed("selectionlayer",!0),qe._infolayer=qe._toppaper.append("g").classed("infolayer",!0),qe._menulayer=qe._toppaper.append("g").classed("menulayer",!0),qe._zoomlayer=qe._toppaper.append("g").classed("zoomlayer",!0),qe._hoverlayer=qe._hoverpaper.append("g").classed("hoverlayer",!0),qe._modebardiv.classed("modebar-container",!0).style("position","absolute").style("top","0px").style("right","0px"),be.emit("plotly_framework")}Y.animate=qr,Y.addFrames=Mr,Y.deleteFrames=Dr,Y.addTraces=Z,Y.deleteTraces=ee,Y.extendTraces=ce,Y.moveTraces=V,Y.prependTraces=q,Y.newPlot=N,Y._doPlot=u,Y.purge=xt,Y.react=Vt,Y.redraw=F,Y.relayout=_e,Y.restyle=oe,Y.setPlotConfig=f,Y.update=nt,Y._guiRelayout=Ae(_e),Y._guiRestyle=Ae(oe),Y._guiUpdate=Ae(nt),Y._storeDirectGUIEdit=re}}),cp=De({"src/snapshot/helpers.js"(Y){"use strict";var H=Mo();Y.getDelay=function(S){return S._has&&(S._has("gl3d")||S._has("mapbox")||S._has("map"))?500:0},Y.getRedrawFunc=function(S){return function(){H.getComponentMethod("colorbar","draw")(S)}},Y.encodeSVG=function(S){return"data:image/svg+xml,"+encodeURIComponent(S)},Y.encodeJSON=function(S){return"data:application/json,"+encodeURIComponent(S)};var p=window.URL||window.webkitURL;Y.createObjectURL=function(S){return p.createObjectURL(S)},Y.revokeObjectURL=function(S){return p.revokeObjectURL(S)},Y.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})},Y.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(a){return a.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")}H.exports=function(s,h,c){var m=s._fullLayout,d=m._paper,T=m._toppaper,l=m.width,_=m.height,w;d.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 I=R.length,U=Array.isArray(B);U&&(I=Math.min(I,B.length));var O,X,J,se,le;if(L.dimensions===2)for(X=0;XR[X].length&&A.push(s("unused",M,y.concat(X,R[X].length)));var ce=R[X].length;for(O=0;O<(U?Math.min(ce,B[X].length):ce);O++)J=U?B[X][O]:B,se=f[X][O],le=R[X][O],p.validate(se,J)?le!==se&&le!==+se&&A.push(s("dynamic",M,y.concat(X,O),se,le)):A.push(s("value",M,y.concat(X,O),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(B,I){for(var U in B)if(U.charAt(0)!=="_"){var O=B[U],X=s(B,U,I);p(O)?(Array.isArray(B)&&O._template===!1&&O.templateitemname&&A.push({code:"missing",path:X,templateitemname:O.templateitemname}),N(O,X)):Array.isArray(O)&&h(O)&&N(O,X)}}if(N({data:g,layout:M},""),A.length)return A.map(c)};function h(m){for(var d=0;d=0;c--){var m=e[c];if(m.type==="scatter"&&m.xaxis===s.xaxis&&m.yaxis===s.yaxis){m.opacity=void 0;break}}}}}}}),gE=De({"src/traces/scatter/layout_defaults.js"(Y,H){"use strict";var p=ui(),x=b_();H.exports=function(S,E){function e(r,o){return p.coerce(S,E,x,r,o)}var t=E.barmode==="group";E.scattermode==="group"&&e("scattergap",t?E.bargap:.2)}}}),gv=De({"src/plots/cartesian/align_period.js"(Y,H){"use strict";var p=vn(),x=ui(),S=x.dateTime2ms,E=x.incrementMonth,e=zn(),t=e.ONEAVGMONTH;H.exports=function(o,i,n,a){if(i.type!=="date")return{vals:a};var s=o[n+"periodalignment"];if(!s)return{vals:a};var h=o[n+"period"],c;if(p(h)){if(h=+h,h<=0)return{vals:a}}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:a}}for(var d=i.calendar,T=s==="start",l=s==="end",_=o[n+"period0"],w=S(_,d)||0,A=[],M=[],g=[],b=a.length,v=0;vu;)R=E(R,-c,d);for(;R<=u;)R=E(R,c,d);f=E(R,-c,d)}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[v]=T?f:l?R:(f+R)/2,M[v]=f,g[v]=R}return{vals:A,starts:M,ends:g}}}}),Yd=De({"src/traces/scatter/colorscale_calc.js"(Y,H){"use strict";var p=$h().hasColorscale,x=Jh(),S=Hu();H.exports=function(e,t){S.hasLines(t)&&p(t,"line")&&x(e,t,{vals:t.line.color,containerStr:"line",cLetter:"c"}),S.hasMarkers(t)&&(p(t,"marker")&&x(e,t,{vals:t.marker.color,containerStr:"marker",cLetter:"c"}),p(t,"marker.line")&&x(e,t,{vals:t.marker.line.color,containerStr:"marker.line",cLetter:"c"}))}}}),Fv=De({"src/traces/scatter/arrays_to_calcdata.js"(Y,H){"use strict";var p=ui();H.exports=function(S,E){for(var e=0;eN&&f[I].gap;)I--;for(O=f[I].s,B=f.length-1;B>I;B--)f[B].s=O;for(;Nse+X||!p(J))}for(var ce=0;ceI(O))):I(F.text);let U=F.outsidetextfont.size*i*B+o;return{ppadplus:N.some(O=>O.s<0)?U:0,ppadminus:N.some(O=>O.s>=0)?U:0}}return{ppadplus:void 0,ppadminus:void 0}}function R(F,N,B,I){for(var U=z(I),O=0;Oz[d]&&d0?e:t)/(d._m*_*(d._m>0?e:t)))),kt*=1e3}if(nr===S){if(l&&(nr=d.c2p(gt.y,!0)),nr===S)return!1;nr*=1e3}return[kt,nr]}function Q(lt,gt,kt,nr){var ir=kt-lt,tr=nr-gt,Ir=.5-lt,vi=.5-gt,Vi=ir*ir+tr*tr,Ui=ir*Ir+tr*vi;if(Ui>0&&Ui1||Math.abs(Ir.y-kt[0][1])>1)&&(Ir=[Ir.x,Ir.y],nr&&we(Ir,lt)Xe||lt[1]it)return[i(lt[0],ze,Xe),i(lt[1],tt,it)]}function It(lt,gt){if(lt[0]===gt[0]&&(lt[0]===ze||lt[0]===Xe)||lt[1]===gt[1]&&(lt[1]===tt||lt[1]===it))return!0}function Pt(lt,gt){var kt=[],nr=$e(lt),ir=$e(gt);return nr&&ir&&It(nr,ir)||(nr&&kt.push(nr),ir&&kt.push(ir)),kt}function Vt(lt,gt,kt){return function(nr,ir){var tr=$e(nr),Ir=$e(ir),vi=[];if(tr&&Ir&&It(tr,Ir))return vi;tr&&vi.push(tr),Ir&&vi.push(Ir);var Vi=2*r.constrain((nr[lt]+ir[lt])/2,gt,kt)-((tr||nr)[lt]+(Ir||ir)[lt]);if(Vi){var Ui;tr&&Ir?Ui=Vi>0==tr[lt]>Ir[lt]?tr:Ir:Ui=tr||Ir,Ui[lt]+=Vi}return vi}}var Wt;v==="linear"||v==="spline"?Wt=at:v==="hv"||v==="vh"?Wt=Pt:v==="hvh"?Wt=Vt(0,ze,Xe):v==="vhv"&&(Wt=Vt(1,tt,it));function Cr(lt,gt){var kt=gt[0]-lt[0],nr=(gt[1]-lt[1])/kt,ir=(lt[1]*gt[0]-gt[1]*lt[0])/kt;return ir>0?[nr>0?ze:Xe,it]:[nr>0?Xe:ze,tt]}function yr(lt){var gt=lt[0],kt=lt[1],nr=gt===z[F-1][0],ir=kt===z[F-1][1];if(!(nr&&ir))if(F>1){var tr=gt===z[F-2][0],Ir=kt===z[F-2][1];nr&&(gt===ze||gt===Xe)&&tr?Ir?F--:z[F-1]=lt:ir&&(kt===tt||kt===it)&&Ir?tr?F--:z[F-1]=lt:z[F++]=lt}else z[F++]=lt}function qr(lt){z[F-1][0]!==lt[0]&&z[F-1][1]!==lt[1]&&yr([me,fe]),yr(lt),Be=null,me=fe=0}var Mr=r.isArrayOrTypedArray(M);function Dr(lt){if(lt&&A&&(lt.i=N,lt.d=s,lt.trace=c,lt.marker=Mr?M[lt.i]:M,lt.backoff=A),re=lt[0]/_,ue=lt[1]/w,nt=lt[0]Xe?Xe:0,Ae=lt[1]it?it:0,nt||Ae){if(!F)z[F++]=[nt||lt[0],Ae||lt[1]];else if(Be){var gt=Wt(Be,lt);gt.length>1&&(qr(gt[0]),z[F++]=gt[1])}else Qe=Wt(z[F-1],lt)[0],z[F++]=Qe;var kt=z[F-1];nt&&Ae&&(kt[0]!==nt||kt[1]!==Ae)?(Be&&(me!==nt&&fe!==Ae?yr(me&&fe?Cr(Be,lt):[me||nt,fe||Ae]):me&&fe&&yr([me,fe])),yr([nt,Ae])):me-nt&&fe-Ae&&yr([nt||me,Ae||fe]),Be=lt,me=nt,fe=Ae}else Be&&qr(Wt(Be,lt)[0]),z[F++]=lt}for(N=0;N_e(X,xt))break;I=X,ee=le[0]*se[0]+le[1]*se[1],ee>q?(q=ee,U=X,J=!1):ee=s.length||!X)break;Dr(X),B=X}}Be&&yr([me||Be[0],fe||Be[1]]),f.push(z.slice(0,F))}var Ne=v.slice(v.length-1);if(A&&Ne!=="h"&&Ne!=="v"){for(var Ye=!1,be=-1,Ie=[],qe=0;qe=0?n=m:(n=m=c,c++),n0,v=i(m,d,T);if(A=l.selectAll("g.trace").data(v,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(),a(m,A,d),b){w&&(M=w());var u=p.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,d,y,v,this,_)})})}else A.each(function(y,f){s(m,f,d,y,v,this,_)});g&&A.exit().remove(),l.selectAll("path:not([d])").remove()};function a(c,m,d){m.each(function(T){var l=E(p.select(this),"g","fills");t.setClipUrl(l,d.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(p.select(this),"path","js-fill")})})}function s(c,m,d,T,l,_,w){var A=c._context.staticPlot,M;h(c,m,d,T,l);var g=!!w&&w.duration>0;function b(yr){return g?yr.transition():yr}var v=d.xaxis,u=d.yaxis,y=T[0].trace,f=y.line,R=p.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,d,w),y.visible!==!0)return;b(R).style("opacity",y.opacity);var B,I,U=y.fill.charAt(y.fill.length-1);U!=="x"&&U!=="y"&&(U="");var O,X;U==="y"?(O=1,X=u.c2p(0,!0)):U==="x"&&(O=0,X=v.c2p(0,!0)),T[0][d.isRangePlot?"nodeRangePlot3":"node3"]=R;var J="",se=[],le=y._prevtrace,ce=null,q=null;le&&(J=le._prevRevpath||"",I=le._nextFill,se=le._ownPolygons,ce=le._fillsegments,q=le._fillElement);var Z,ee,V="",oe="",ie,j,Q,re,ue,_e,we=[];y._polygons=[];var Re=[],ze=[],Xe=S.noop;if(B=y._ownFill,r.hasLines(y)||y.fill!=="none"){I&&I.datum(T),["hv","vh","hvh","vhv"].indexOf(f.shape)!==-1?(ie=t.steps(f.shape),j=t.steps(f.shape.split("").reverse().join(""))):f.shape==="spline"?ie=j=function(yr){var qr=yr[yr.length-1];return yr.length>1&&yr[0][0]===qr[0]&&yr[0][1]===qr[1]?t.smoothclosed(yr.slice(1),f.smoothing):t.smoothopen(yr,f.smoothing)}:ie=j=function(yr){return"M"+yr.join("L")},Q=function(yr){return j(yr.reverse())},ze=o(T,{xaxis:v,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}),Re=new Array(ze.length);var tt=0;for(M=0;M=A[0]&&R.x<=A[1]&&R.y>=M[0]&&R.y<=M[1]}),u=Math.ceil(v.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,ce)&&d<=Math.max(le,ce)?0:1/0}var q=Math.max(3,se.mrc||0),Z=1-1/q,ee=Math.abs(c.c2p(se.x)-d);return ee=Math.min(le,ce)&&T<=Math.max(le,ce)?0:1/0}var q=Math.max(3,se.mrc||0),Z=1-1/q,ee=Math.abs(m.c2p(se.y)-T);return eeoe!=Re>=oe&&(ue=Q[j-1][0],_e=Q[j][0],Re-we&&(re=ue+(_e-ue)*(oe-we)/(Re-we),q=Math.min(q,re),Z=Math.max(Z,re)));return q=Math.max(q,0),Z=Math.min(Z,c._length),{x0:q,x1:Z,y0:oe,y1:oe}}if(_.indexOf("fills")!==-1&&h._fillElement){var O=I(h._fillElement)&&!I(h._fillExclusionElement);if(O){var X=U(h._polygons);X===null&&(X={x0:l[0],x1:l[0],y0:l[1],y1:l[1]});var J=e.defaultLine;return e.opacity(h.fillcolor)?J=h.fillcolor:e.opacity((h.line||{}).color)&&(J=h.line.color),p.extendFlat(o,{distance:o.maxHoverDistance,x0:X.x0,x1:X.x1,y0:X.y0,y1:X.y1,color:J,hovertemplate:!1}),delete o.index,h.text&&!p.isArrayOrTypedArray(h.text)?o.text=String(h.text):o.text=h.name,[o]}}}}}),ag=De({"src/traces/scatter/select.js"(Y,H){"use strict";var p=Hu();H.exports=function(S,E){var e=S.cd,t=S.xaxis,r=S.yaxis,o=[],i=e[0].trace,n,a,s,h,c=!p.hasMarkers(i)&&!p.hasText(i);if(c)return[];if(E===!1)for(n=0;n0&&(a["_"+i+"axes"]||{})[o])return a;if((a[i+"axis"]||i)===o){if(t(a,i))return a;if((a[i]||[]).length||a[i+"0"])return a}}}function e(r){return{v:"x",h:"y"}[r.orientation||"v"]}function t(r,o){var i=e(r),n=p(r,"box-violin"),a=p(r._fullInput||{},"candlestick");return n&&!a&&o===i&&r[i]===void 0&&r[i+"0"]===void 0}}}),D_=De({"src/plots/cartesian/category_order_defaults.js"(Y,H){"use strict";var p=vl().isTypedArraySpec;function x(S,E){var e=E.dataAttr||S._id.charAt(0),t={},r,o,i;if(E.axData)r=E.axData;else for(r=[],o=0;o0||p(o),n;i&&(n="array");var a=t("categoryorder",n),s;a==="array"&&(s=t("categoryarray")),!i&&a==="array"&&(a=e.categoryorder="trace"),a==="trace"?e._initialCategories=[]:a==="array"?e._initialCategories=s.slice():(s=x(e,r).sort(),a==="category ascending"?e._initialCategories=s:a==="category descending"&&(e._initialCategories=s.reverse()))}}}}),gy=De({"src/plots/cartesian/line_grid_defaults.js"(Y,H){"use strict";var p=wu().mix,x=Pf(),S=ui();H.exports=function(e,t,r,o){o=o||{};var i=o.dfltColor;function n(f,R){return S.coerce2(e,t,o.attributes,f,R)}var a=n("linecolor",i),s=n("linewidth"),h=r("showline",o.showLine||!!a||!!s);h||(delete t.linecolor,delete t.linewidth);var c=p(i,o.bgColor,o.blend||x.lightFraction).toRgbString(),m=n("gridcolor",c),d=n("gridwidth"),T=n("griddash"),l=r("showgrid",o.showGrid||!!m||!!d||!!T);if(l||(delete t.gridcolor,delete t.gridwidth,delete t.griddash),o.hasMinor){var _=p(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"),v=n("zerolinecolor",i),u=n("zerolinewidth"),y=r("zeroline",o.showGrid||!!v||!!u);y||(delete t.zerolinelayer,delete t.zerolinecolor,delete t.zerolinewidth)}}}}),yy=De({"src/plots/cartesian/axis_defaults.js"(Y,H){"use strict";var p=vn(),x=Mo(),S=ui(),E=Gl(),e=Vh(),t=Ih(),r=U0(),o=Zm(),i=qp(),n=Hp(),a=D_(),s=gy(),h=Xw(),c=Dv(),m=th().WEEKDAY_PATTERN,d=th().HOUR_PATTERN;H.exports=function(A,M,g,b,v){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 B="";(!b.noTicklabelposition||z==="multicategory")&&(B=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",B.indexOf("inside")!==-1?"hide past domain":z==="category"||z==="multicategory"?"allow":"hide past div"),c(M,v),h(A,M,g,b),a(A,M,g,b),b.noHover||(z!=="category"&&g("hoverformat"),b.noUnifiedhovertitle||g("unifiedhovertitle.text"));var I=g("color"),U=I!==t.color.dflt?I:y.color,O=f.label||v._dfltTitle[u];if(n(A,M,g,z,b),!R)return M;g("title.text",O),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})),i(A,M,g,z,b),o(A,M,g,b),X){var J=b.isMinor;b.isMinor=!0,o(A,M,g,b),b.isMinor=J}s(A,M,g,{dfltColor:I,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 ce=0;ce=2){var u="",y,f;if(v.length===2){for(y=0;y<2;y++)if(f=_(v[y]),f){u=m;break}}var R=g("pattern",u);if(R===m)for(y=0;y<2;y++)f=_(v[y]),f&&(A.bounds[y]=v[y]=f-1);if(R)for(y=0;y<2;y++)switch(f=v[y],R){case m:if(!p(f)){A.enabled=!1;return}if(f=+f,f!==Math.floor(f)||f<0||f>=7){A.enabled=!1;return}A.bounds[y]=v[y]=f;break;case d:if(!p(f)){A.enabled=!1;return}if(f=+f,f<0||f>24){A.enabled=!1;return}A.bounds[y]=v[y]=f;break}if(M.autorange===!1){var L=M.range;if(L[0]L[1]){A.enabled=!1;return}}else if(v[0]>L[0]&&v[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}}}),bE=De({"src/plots/cartesian/layout_defaults.js"(Y,H){"use strict";var p=ui(),x=vo(),S=Ad().isUnifiedHover,E=t2(),e=Gl(),t=Wm(),r=Ih(),o=_2(),i=yy(),n=V0(),a=z_(),s=nf(),h=s.id2name,c=s.name2id,m=th().AX_ID_PATTERN,d=Mo(),T=d.traceIs,l=d.getComponentMethod;function _(w,A,M){Array.isArray(w[A])?w[A].push(M):w[A]=[M]}H.exports=function(A,M,g){var b=M.autotypenumbers,v={},u={},y={},f={},R={},L={},z={},F={},N={},B={},I,U;for(I=0;I 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 v=M.plot.selectAll(".scatterlayer .trace");v.selectAll(".point").call(E.setPointGroupScale,1,1),v.selectAll(".textpoint").call(E.setTextPointsScale,1,1),v.call(E.hideOutsideRangePoints,M)}function h(M,g){var b=M.plotinfo,v=b.xaxis,u=b.yaxis,y=v._length,f=u._length,R=!!M.xr1,L=!!M.yr1,z=[];if(R){var F=S.simpleMap(M.xr0,v.r2l),N=S.simpleMap(M.xr1,v.r2l),B=F[1]-F[0],I=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*I/B),v.range[0]=v.l2r(F[0]*(1-g)+g*N[0]),v.range[1]=v.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),O=S.simpleMap(M.yr1,u.r2l),X=U[1]-U[0],J=O[1]-O[0];z[1]=(U[1]*(1-g)+g*O[1]-U[1])/(U[0]-U[1])*f,z[3]=f*(1-g+g*J/X),u.range[0]=v.l2r(U[0]*(1-g)+g*O[0]),u.range[1]=u.l2r(U[1]*(1-g)+g*O[1])}else z[1]=0,z[3]=f;e.drawOne(r,v,{skipTitle:!0}),e.drawOne(r,u,{skipTitle:!0}),e.redrawComponents(r,[v._id,u._id]);var se=R?y/z[2]:1,le=L?f/z[3]:1,ce=R?z[0]:0,q=L?z[1]:0,Z=R?z[0]/z[2]*y:0,ee=L?z[1]/z[3]*f:0,V=v._offset-Z,oe=u._offset-ee;b.clipRect.call(E.setTranslate,ce,q).call(E.setScale,1/se,1/le),b.plot.call(E.setTranslate,V,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;gi.duration?(m(),_=window.cancelAnimationFrame(A)):_=window.requestAnimationFrame(A)}return T=Date.now(),_=window.requestAnimationFrame(A),Promise.resolve()}}}),Gf=De({"src/plots/cartesian/index.js"(Y){"use strict";var H=za(),p=Mo(),x=ui(),S=Mc(),E=ys(),e=Lh().getModuleCalcData,t=nf(),r=th(),o=Bd(),i=x.ensureSingle;function n(T,l,_){return x.ensureSingle(T,l,_,function(w){w.datum(_)})}var a=r.zindexSeparator;Y.name="cartesian",Y.attr=["xaxis","yaxis"],Y.idRoot=["x","y"],Y.idRegex=r.idRegex,Y.attrRegex=r.attrRegex,Y.attributes=xE(),Y.layoutAttributes=Ih(),Y.supplyLayoutDefaults=bE(),Y.transitionAxes=wE(),Y.finalizeSubplots=function(T,l){var _=l._subplots,w=_.xaxis,A=_.yaxis,M=_.cartesian,g=M,b={},v={},u,y,f;for(u=0;u0){var L=R.id;if(L.indexOf(a)!==-1)continue;L+=a+(u+1),R=x.extendFlat({},R,{id:L,plot:A._cartesianlayer.selectAll(".subplot").select("."+L)})}for(var z=[],F,N=0;N1&&(X+=a+O),U.push(b+X),g=0;g1,f=l.mainplotinfo;if(!l.mainplot||y)if(u)l.xlines=i(w,"path","xlines-above"),l.ylines=i(w,"path","ylines-above"),l.xaxislayer=i(w,"g","xaxislayer-above"),l.yaxislayer=i(w,"g","yaxislayer-above");else{if(!g){var R=i(w,"g","layer-subplot");l.shapelayer=i(R,"g","shapelayer"),l.imagelayer=i(R,"g","imagelayer"),f&&y?(l.minorGridlayer=f.minorGridlayer,l.gridlayer=f.gridlayer,l.zerolinelayer=f.zerolinelayer):(l.minorGridlayer=i(w,"g","minor-gridlayer"),l.gridlayer=i(w,"g","gridlayer"),l.zerolinelayer=i(w,"g","zerolinelayer"));var L=i(w,"g","layer-between");l.shapelayerBetween=i(L,"g","shapelayer"),l.imagelayerBetween=i(L,"g","imagelayer"),i(w,"path","xlines-below"),i(w,"path","ylines-below"),l.overlinesBelow=i(w,"g","overlines-below"),i(w,"g","xaxislayer-below"),i(w,"g","yaxislayer-below"),l.overaxesBelow=i(w,"g","overaxes-below")}l.overplot=i(w,"g","overplot"),l.plot=i(l.overplot,"g",A),f&&y?l.zerolinelayerAbove=f.zerolinelayerAbove:l.zerolinelayerAbove=i(w,"g","zerolinelayer-above"),g||(l.xlines=i(w,"path","xlines-above"),l.ylines=i(w,"path","ylines-above"),l.overlinesAbove=i(w,"g","overlines-above"),i(w,"g","xaxislayer-above"),i(w,"g","yaxislayer-above"),l.overaxesAbove=i(w,"g","overaxes-above"),l.xlines=w.select(".xlines-"+b),l.ylines=w.select(".ylines-"+v),l.xaxislayer=w.select(".xaxislayer-"+b),l.yaxislayer=w.select(".yaxislayer-"+v))}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,i(f.overlinesBelow,"path",F),i(f.overlinesBelow,"path",N),i(f.overaxesBelow,"g",F),i(f.overaxesBelow,"g",N),l.plot=i(f.overplot,"g",A),i(f.overlinesAbove,"path",F),i(f.overlinesAbove,"path",N),i(f.overaxesAbove,"g",F),i(f.overaxesAbove,"g",N),l.xlines=z.select(".overlines-"+b).select("."+F),l.ylines=z.select(".overlines-"+v).select("."+N),l.xaxislayer=z.select(".overaxes-"+b).select("."+F),l.yaxislayer=z.select(".overaxes-"+v).select("."+N)}g||(u||(n(l.minorGridlayer,"g",l.xaxis._id),n(l.minorGridlayer,"g",l.yaxis._id),l.minorGridlayer.selectAll("g").map(function(B){return B[0]}).sort(t.idSort),n(l.gridlayer,"g",l.xaxis._id),n(l.gridlayer,"g",l.yaxis._id),l.gridlayer.selectAll("g").map(function(B){return B[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(v){var u=v[0],y=H.select(this);y.remove(),d(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+a.standoff,w=c.backoff*d+a.startstandoff,A,M,g,b;if(s.nodeName==="line"){A={x:+i.attr("x1"),y:+i.attr("y1")},M={x:+i.attr("x2"),y:+i.attr("y2")};var v=A.x-M.x,u=A.y-M.y;if(g=Math.atan2(u,v),b=g+Math.PI,_&&w&&_+w>Math.sqrt(v*v+u*u)){X();return}if(_){if(_*_>v*v+u*u){X();return}var y=_*Math.cos(g),f=_*Math.sin(g);M.x+=y,M.y+=f,i.attr({x2:M.x,y2:M.y})}if(w){if(w*w>v*v+u*u){X();return}var R=w*Math.cos(g),L=w*Math.sin(g);A.x-=R,A.y-=L,i.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),B=s.getPointAtLength(.1);g=Math.atan2(N.y-B.y,N.x-B.x),A=s.getPointAtLength(Math.min(w,z)),F="0px,"+w+"px,";var I=s.getPointAtLength(z),U=s.getPointAtLength(z-.1);b=Math.atan2(I.y-U.y,I.x-U.x),M=s.getPointAtLength(Math.max(0,z-_));var O=F?w+_:_;F+=z-O+"px,"+z+"px",i.style("stroke-dasharray",F)}function X(){i.style("stroke-dasharray","0px,100px")}function J(se,le,ce,q){se.path&&(se.noRotate&&(ce=0),p.select(s.parentNode).append("path").attr({class:i.attr("class"),d:se.path,transform:r(le.x,le.y)+t(ce*180/Math.PI)+e(q)}).style({fill:x.rgb(a.arrowcolor),"stroke-width":0}))}T&&J(c,A,g,d),l&&J(h,M,b,m)}}}),F_=De({"src/components/annotations/draw.js"(Y,H){"use strict";var p=za(),x=Mo(),S=Mc(),E=ui(),e=E.strTranslate,t=us(),r=vo(),o=ys(),i=sf(),n=vu(),a=hv(),s=Qh(),h=Gl().arrayEditor,c=AE();H.exports={draw:m,drawOne:d,drawRaw:l};function m(_){var w=_._fullLayout;w._infolayer.selectAll(".annotation").remove();for(var A=0;A2/3?Bi="right":Bi="center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[Bi]}for(var Qe=!1,at=["x","y"],$e=0;$e1)&&(Vt===Pt?(Le=Wt.r2fraction(w["a"+It]),(Le<0||Le>1)&&(Qe=!0)):Qe=!0),Ye=Wt._offset+Wt.r2p(w[It]),qe=.5}else{var ut=Me==="domain";It==="x"?(Ie=w[It],Ye=ut?Wt._offset+Wt._length*Ie:Ye=u.l+u.w*Ie):(Ie=1-w[It],Ye=ut?Wt._offset+Wt._length*Ie:Ye=u.t+u.h*Ie),qe=w.showarrow?.5:Ie}if(w.showarrow){Ne.head=Ye;var lt=w["a"+It];if(ke=yr*Be(.5,w.xanchor)-qr*Be(.5,w.yanchor),Vt===Pt){var gt=t.getRefType(Vt);gt==="domain"?(It==="y"&&(lt=1-lt),Ne.tail=Wt._offset+Wt._length*lt):gt==="paper"?It==="y"?(lt=1-lt,Ne.tail=u.t+u.h*lt):Ne.tail=u.l+u.w*lt:Ne.tail=Wt._offset+Wt.r2p(lt),be=ke}else Ne.tail=Ye+lt,be=ke+lt;Ne.text=Ne.tail+ke;var kt=v[It==="x"?"width":"height"];if(Pt==="paper"&&(Ne.head=E.constrain(Ne.head,1,kt-1)),Vt==="pixel"){var nr=-Math.max(Ne.tail-3,Ne.text),ir=Math.min(Ne.tail+3,Ne.text)-kt;nr>0?(Ne.tail+=nr,Ne.text+=nr):ir>0&&(Ne.tail-=ir,Ne.text-=ir)}Ne.tail+=xt,Ne.head+=xt}else ke=Mr*Be(qe,Dr),be=ke,Ne.text=Ye+ke;Ne.text+=xt,ke+=xt,be+=xt,w["_"+It+"padplus"]=Mr/2+be,w["_"+It+"padminus"]=Mr/2-be,w["_"+It+"size"]=Mr,w["_"+It+"shift"]=ke}if(Qe){ce.remove();return}var tr=0,Ir=0;if(w.align!=="left"&&(tr=(nt-it)*(w.align==="center"?.5:1)),w.valign!=="top"&&(Ir=(Ae-et)*(w.valign==="middle"?.5:1)),Xe)ze.select("svg").attr({x:ee+tr-1,y:ee+Ir}).call(o.setClipUrl,oe?B:null,_);else{var vi=ee+Ir-tt.top,Vi=ee+tr-tt.left;re.call(n.positionText,Vi,vi).call(o.setClipUrl,oe?B:null,_)}ie.select("rect").call(o.setRect,ee,ee,nt,Ae),V.call(o.setRect,q/2,q/2,me-q,fe-q),ce.call(o.setTranslate,Math.round(I.x.text-me/2),Math.round(I.y.text-fe/2)),X.attr({transform:"rotate("+U+","+I.x.text+","+I.y.text+")"});var Ui=function(ea,Bi){O.selectAll(".annotation-arrow-g").remove();var _a=I.x.head,Ca=I.y.head,Kt=I.x.tail+ea,zt=I.y.tail+Bi,Zt=I.x.text+ea,Jt=I.y.text+Bi,Br=E.rotationXYMatrix(U,Zt,Jt),ri=E.apply2DTransform(Br),ii=E.apply2DTransform2(Br),di=+V.attr("width"),Wi=+V.attr("height"),oa=Zt-.5*di,ra=oa+di,ca=Jt-.5*Wi,xa=ca+Wi,ji=[[oa,ca,oa,xa],[oa,xa,ra,xa],[ra,xa,ra,ca],[ra,ca,oa,ca]].map(ii);if(!ji.reduce(function(yt,Xt){return yt^!!E.segmentsIntersect(_a,Ca,_a+1e6,Ca+1e6,Xt[0],Xt[1],Xt[2],Xt[3])},!1)){ji.forEach(function(yt){var Xt=E.segmentsIntersect(Kt,zt,_a,Ca,yt[0],yt[1],yt[2],yt[3]);Xt&&(Kt=Xt.x,zt=Xt.y)});var pn=w.arrowwidth,_n=w.arrowcolor,En=w.arrowside,bt=O.append("g").style({opacity:r.opacity(_n)}).classed("annotation-arrow-g",!0),st=bt.append("path").attr("d","M"+Kt+","+zt+"L"+_a+","+Ca).style("stroke-width",pn+"px").call(r.stroke,r.rgb(_n));if(c(st,En,w),y.annotationPosition&&st.node().parentNode&&!M){var Nr=_a,Lr=Ca;if(w.standoff){var br=Math.sqrt(Math.pow(_a-Kt,2)+Math.pow(Ca-zt,2));Nr+=w.standoff*(Kt-_a)/br,Lr+=w.standoff*(zt-Ca)/br}var Rr=bt.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(Kt-Nr)+","+(zt-Lr),transform:e(Nr,Lr)}).style("stroke-width",pn+6+"px").call(r.stroke,"rgba(0,0,0,0)").call(r.fill,"rgba(0,0,0,0)"),jr,Wr;s.init({element:Rr.node(),gd:_,prepFn:function(){var yt=o.getTranslate(ce);jr=yt.x,Wr=yt.y,g&&g.autorange&&z(g._name+".autorange",!0),b&&b.autorange&&z(b._name+".autorange",!0)},moveFn:function(yt,Xt){var mr=ri(jr,Wr),Or=mr[0]+yt,ki=mr[1]+Xt;ce.call(o.setTranslate,Or,ki),F("x",T(g,yt,"x",u,w)),F("y",T(b,Xt,"y",u,w)),w.axref===w.xref&&F("ax",T(g,yt,"ax",u,w)),w.ayref===w.yref&&F("ay",T(b,Xt,"ay",u,w)),bt.attr("transform",e(yt,Xt)),X.attr({transform:"rotate("+U+","+Or+","+ki+")"})},doneFn:function(){x.call("_guiRelayout",_,N());var yt=document.querySelector(".js-notes-box-panel");yt&&yt.redraw(yt.selectedObj)}})}}};if(w.showarrow&&Ui(0,0),J){var Ki;s.init({element:ce.node(),gd:_,prepFn:function(){Ki=X.attr("transform")},moveFn:function(ea,Bi){var _a="pointer";if(w.showarrow)w.axref===w.xref?F("ax",T(g,ea,"ax",u,w)):F("ax",w.ax+ea),w.ayref===w.yref?F("ay",T(b,Bi,"ay",u.w,w)):F("ay",w.ay+Bi),Ui(ea,Bi);else{if(M)return;var Ca,Kt;if(g)Ca=T(g,ea,"x",u,w);else{var zt=w._xsize/u.w,Zt=w.x+(w._xshift-w.xshift)/u.w-zt/2;Ca=s.align(Zt+ea/u.w,zt,0,1,w.xanchor)}if(b)Kt=T(b,Bi,"y",u,w);else{var Jt=w._ysize/u.h,Br=w.y-(w._yshift+w.yshift)/u.h-Jt/2;Kt=s.align(Br-Bi/u.h,Jt,0,1,w.yanchor)}F("x",Ca),F("y",Kt),(!g||!b)&&(_a=s.getCursor(g?.5:Ca,b?.5:Kt,w.xanchor,w.yanchor))}X.attr({transform:e(ea,Bi)+Ki}),a(ce,_a)},clickFn:function(ea,Bi){w.captureevents&&_.emit("plotly_clickannotation",le(Bi))},doneFn:function(){a(ce),x.call("_guiRelayout",_,N());var ea=document.querySelector(".js-notes-box-panel");ea&&ea.redraw(ea.selectedObj)}})}}y.annotationText?re.call(n.makeEditable,{delegate:ce,gd:_}).call(ue).on("edit",function(we){w.text=we,this.call(ue),F("text",we),g&&g.autorange&&z(g._name+".autorange",!0),b&&b.autorange&&z(b._name+".autorange",!0),x.call("_guiRelayout",_,N())}):re.call(ue)}}}),SE=De({"src/components/annotations/click.js"(Y,H){"use strict";var p=ui(),x=Mo(),S=Gl().arrayEditor;H.exports={hasClickToShow:E,onClick:e};function E(o,i){var n=t(o,i);return n.on.length>0||n.explicitOff.length>0}function e(o,i){var n=t(o,i),a=n.on,s=n.off.concat(n.explicitOff),h={},c=o._fullLayout.annotations,m,d;if(a.length||s.length){for(m=0;m1){a=!0;break}}a?e.fullLayout._infolayer.select(".annotation-"+e.id+'[data-index="'+i+'"]').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]]),p(e.graphDiv,n,i,e.id,n._xa,n._ya))}}}}),RE=De({"src/components/annotations3d/index.js"(Y,H){"use strict";var p=Mo(),x=ui();H.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:B_()}}},layoutAttributes:B_(),handleDefaults:LE(),includeBasePlot:S,convert:IE(),draw:PE()};function S(E,e){var t=p.subplotsRegistry.gl3d;if(t)for(var r=t.attrRegex,o=Object.keys(E),i=0;i{var f=y+"anchor",R=y==="x"?_:w,L={_fullLayout:n},z,F,N,B;let I=y+"ref",U=o[I];if(Array.isArray(U)&&U.length>0){let O=e.countDefiningCoords(d,c,y);B=x.coerceRefArray(o,i,L,y,void 0,"paper",O),i["_"+y+"refArray"]=!0}else B=x.coerceRef(o,i,L,y,void 0,"paper");if(Array.isArray(B))B.forEach(function(O){x.getRefType(O)==="range"&&(z=x.getFromId(L,O),z&&z._shapeIndices.indexOf(i._index)===-1&&z._shapeIndices.push(i._index))}),T&&[0,1].forEach(function(O){let X=B[O];x.getRefType(X)==="range"?(z=x.getFromId(L,X),F=e.shapePositionToRange(z),N=e.rangeToShapePosition(z),(z.type==="category"||z.type==="multicategory")&&a(y+O+"shift")):F=N=p.identity;let se=y+O,le=o[se];if(o[se]=F(o[se],!0),R==="pixel"?a(se,M[O]):x.coercePosition(i,L,a,X,se,A[O]),i[se]=N(i[se]),o[se]=le,O===0&&R==="pixel"){let ce=o[f];o[f]=F(o[f],!0),x.coercePosition(i,L,a,X,f,.25),i[f]=N(i[f]),o[f]=ce}});else{if(x.getRefType(B)==="range"?(z=x.getFromId(L,B),z._shapeIndices.push(i._index),N=e.rangeToShapePosition(z),F=e.shapePositionToRange(z),T&&(z.type==="category"||z.type==="multicategory")&&(a(y+"0shift"),a(y+"1shift"))):F=N=p.identity,T){let X=y+"0",J=y+"1",se=o[X],le=o[J];o[X]=F(o[X],!0),o[J]=F(o[J],!0),R==="pixel"?(a(X,M[0]),a(J,M[1])):(x.coercePosition(i,L,a,B,X,A[0]),x.coercePosition(i,L,a,B,J,A[1])),i[X]=N(i[X]),i[J]=N(i[J]),o[X]=se,o[J]=le}if(R==="pixel"){let X=o[f];o[f]=F(o[f],!0),x.coercePosition(i,L,a,B,f,.25),i[f]=N(i[f]),o[f]=X}}}),T&&p.noneOrAll(o,i,["x0","x1","y0","y1"]);var g=d==="line",b,v;if(T&&(b=a("label.texttemplate"),a("label.texttemplatefallback")),b||(v=a("label.text")),v||b){a("label.textangle");var u=a("label.textposition",g?"middle":"middle center");a("label.xanchor"),a("label.yanchor",t(g,u)),a("label.padding"),p.coerceFont(a,"label.font",n.font)}}}}),zE=De({"src/components/shapes/draw_newshape/defaults.js"(Y,H){"use strict";var p=vo(),x=ui();function S(E,e){return E?"bottom":e.indexOf("top")!==-1?"top":e.indexOf("bottom")!==-1?"bottom":"middle"}H.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 i=(e||{}).plot_bgcolor||"#FFF";r("newshape.line.color",p.contrast(i)),r("newshape.line.dash")}var n=e.dragmode==="drawline",a=r("newshape.label.text"),s=r("newshape.label.texttemplate");if(r("newshape.label.texttemplatefallback"),a||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")}}}),FE=De({"src/components/shapes/calc_autorange.js"(Y,H){"use strict";var p=ui(),x=us(),S=hy(),E=Xp();H.exports=function(a){var s=a._fullLayout,h=p.filterVisible(s.shapes);if(!(!h.length||!a._fullData.length))for(var c=0;c{d=x.getFromId(a,A),m._extremes[d._id]=x.findExtremes(d,M,t(m))})}else m.xref!=="paper"&&l!=="domain"&&(d=x.getFromId(a,m.xref),T=i(d,m,S.paramIsX),T&&(m._extremes[d._id]=x.findExtremes(d,T,t(m))));if(_==="array"){let w=e(a,m,"y");Object.entries(w).forEach(([A,M])=>{d=x.getFromId(a,A),m._extremes[d._id]=x.findExtremes(d,M,r(m))})}else m.yref!=="paper"&&_!=="domain"&&(d=x.getFromId(a,m.yref),T=i(d,m,S.paramIsY),T&&(m._extremes[d._id]=x.findExtremes(d,T,r(m))))}};function e(n,a,s){let h=a[s+"ref"],c=s==="x"?S.paramIsX:S.paramIsY;function m(A,M){A==="paper"||x.getRefType(A)==="domain"||(d[A]||(d[A]=[]),d[A].push(M))}let d={};if(a.type==="path"&&a.path){let A=a.path.match(S.segmentRE)||[];for(var T=0,l=0;lb&&(m(h[T],v[b]),T++)}}else m(h[0],a[s+"0"]),m(h[1],a[s+"1"]);let _={};for(let A in d){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]=d[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,a,s,h,c,m){var d=n/2,T=m;if(a==="pixel"){var l=c?E.extractPathCoords(c,m?S.paramIsY:S.paramIsX):[s,h],_=p.aggNums(Math.max,null,l),w=p.aggNums(Math.min,null,l),A=w<0?Math.abs(w)+d:d,M=_>0?_+d:d;return{ppad:d,ppadplus:T?A:M,ppadminus:T?M:A}}else return{ppad:d}}function i(n,a,s){var h=n._id.charAt(0)==="x"?"x":"y",c=n.type==="category"||n.type==="multicategory",m,d,T=0,l=0,_=c?n.r2c:n.d2c,w=a[h+"sizemode"]==="scaled";if(w?(m=a[h+"0"],d=a[h+"1"],c&&(T=a[h+"0shift"],l=a[h+"1shift"])):(m=a[h+"anchor"],d=a[h+"anchor"]),m!==void 0)return[_(m)+T,_(d)+l];if(a.path){var A=1/0,M=-1/0,g=a.path.match(S.segmentRE),b,v,u,y,f;for(n.type==="date"&&(_=E.decodeDate(_)),b=0;bM&&(M=f)));if(M>=A)return[A,M]}}}}),BE=De({"src/components/shapes/index.js"(Y,H){"use strict";var p=C_();H.exports={moduleType:"component",name:"shapes",layoutAttributes:w2(),supplyLayoutDefaults:DE(),supplyDrawNewShapeDefaults:zE(),includeBasePlot:my()("shapes"),calcAutorange:FE(),draw:p.draw,drawOne:p.drawOne}}}),T2=De({"src/components/images/attributes.js"(Y,H){"use strict";var p=th(),x=Gl().templatedArray,S=py();H.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",p.idRegex.x.toString()],dflt:"paper",editType:"arraydraw"},yref:{valType:"enumerated",values:["paper",p.idRegex.y.toString()],dflt:"paper",editType:"arraydraw"},editType:"arraydraw"})}}),OE=De({"src/components/images/defaults.js"(Y,H){"use strict";var p=ui(),x=us(),S=Vh(),E=T2(),e="images";H.exports=function(o,i){var n={name:e,handleItemDefaults:t};S(o,i,n)};function t(r,o,i){function n(_,w){return p.coerce(r,o,E,_,w)}var a=n("source"),s=n("visible",!!a);if(!s)return o;n("layer"),n("xanchor"),n("yanchor"),n("sizex"),n("sizey"),n("sizing"),n("opacity");for(var h={_fullLayout:i},c=["x","y"],m=0;m<2;m++){var d=c[m],T=x.coerceRef(r,o,h,d,"paper",void 0);if(T!=="paper"){var l=x.getFromId(h,T);l._imgIndices.push(o._index)}x.coercePosition(o,h,n,T,d,0)}return o}}}),NE=De({"src/components/images/draw.js"(Y,H){"use strict";var p=za(),x=ys(),S=us(),E=nf(),e=Bd();H.exports=function(r){var o=r._fullLayout,i=[],n={},a=[],s,h;for(h=0;h0);c&&(s("active"),s("direction"),s("type"),s("showactive"),s("x"),s("y"),p.noneOrAll(i,n,["x","y"]),s("xanchor"),s("yanchor"),s("pad.t"),s("pad.r"),s("pad.b"),s("pad.l"),p.coerceFont(s,"font",a.font),s("bgcolor",a.paper_bgcolor),s("bordercolor"),s("borderwidth"))}function o(i,n){function a(h,c){return p.coerce(i,n,t,h,c)}var s=a("visible",i.method==="skip"||Array.isArray(i.args));s&&(a("method"),a("args"),a("args2"),a("label"),a("execute"))}}}),qE=De({"src/components/updatemenus/scrollbox.js"(Y,H){"use strict";H.exports=e;var p=za(),x=vo(),S=ys(),E=ui();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,i){var n=this.gd._fullLayout,a=n.width,s=n.height;this.position=r;var h=this.position.l,c=this.position.w,m=this.position.t,d=this.position.h,T=this.position.direction,l=T==="down",_=T==="left",w=T==="right",A=T==="up",M=c,g=d,b,v,u,y;!l&&!_&&!w&&!A&&(this.position.direction="down",l=!0);var f=l||A;f?(b=h,v=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,_?(v=h+M,b=Math.max(v-M,0),M=v-b):(b=h,v=Math.min(b+M,a),M=v-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+d;N+z>s&&(N=s-z);var B=this.container.selectAll("rect.scrollbar-horizontal").data(R?[0]:[]);B.exit().on(".drag",null).remove(),B.enter().append("rect").classed("scrollbar-horizontal",!0).call(x.fill,e.barColor),R?(this.hbar=B.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 I=d>g,U=e.barWidth+2*e.barPad,O=e.barLength+2*e.barPad,X=h+c,J=m;X+U>a&&(X=a-U);var se=this.container.selectAll("rect.scrollbar-vertical").data(I?[0]:[]);se.exit().on(".drag",null).remove(),se.enter().append("rect").classed("scrollbar-vertical",!0).call(x.fill,e.barColor),I?(this.vbar=se.attr({rx:e.barRadius,ry:e.barRadius,x:X,y:J,width:U,height:O}),this._vbarYMin=J+O/2,this._vbarTranslateMax=g-O):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var le=this.id,ce=b-.5,q=I?v+U+.5:v+.5,Z=u-.5,ee=R?y+z+.5:y+.5,V=n._topdefs.selectAll("#"+le).data(R||I?[0]:[]);if(V.exit().remove(),V.enter().append("clipPath").attr("id",le).append("rect"),R||I?(this._clipRect=V.select("rect").attr({x:Math.floor(ce),y:Math.floor(Z),width:Math.ceil(q)-Math.floor(ce),height:Math.ceil(ee)-Math.floor(Z)}),this.container.call(S.setClipUrl,le,this.gd),this.bg.attr({x:h,y:m,width:c,height:d})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(S.setClipUrl,null),delete this._clipRect),R||I){var oe=p.behavior.drag().on("dragstart",function(){p.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 ie=p.behavior.drag().on("dragstart",function(){p.event.sourceEvent.preventDefault(),p.event.sourceEvent.stopPropagation()}).on("drag",this._onBarDrag.bind(this));R&&this.hbar.on(".drag",null).call(ie),I&&this.vbar.on(".drag",null).call(ie)}this.setTranslate(o,i)},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-=p.event.dx),this.vbar&&(o-=p.event.dy),this.setTranslate(r,o)},e.prototype._onBoxWheel=function(){var r=this.translateX,o=this.translateY;this.hbar&&(r+=p.event.deltaY),this.vbar&&(o+=p.event.deltaY),this.setTranslate(r,o)},e.prototype._onBarDrag=function(){var r=this.translateX,o=this.translateY;if(this.hbar){var i=r+this._hbarXMin,n=i+this._hbarTranslateMax,a=E.constrain(p.event.x,i,n),s=(a-i)/(n-i),h=this.position.w-this._box.w;r=s*h}if(this.vbar){var c=o+this._vbarYMin,m=c+this._vbarTranslateMax,d=E.constrain(p.event.y,c,m),T=(d-c)/(m-c),l=this.position.h-this._box.h;o=T*l}this.setTranslate(r,o)},e.prototype.setTranslate=function(r,o){var i=this.position.w-this._box.w,n=this.position.h-this._box.h;if(r=E.constrain(r||0,0,i),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 a=r/i;this.hbar.call(S.setTranslate,r+a*this._hbarTranslateMax,o)}if(this.vbar){var s=o/n;this.vbar.call(S.setTranslate,r,o+s*this._vbarTranslateMax)}}}}),HE=De({"src/components/updatemenus/draw.js"(Y,H){"use strict";var p=za(),x=Mc(),S=vo(),E=ys(),e=ui(),t=vu(),r=Gl().arrayEditor,o=rh().LINE_SPACING,i=O_(),n=qE();H.exports=function(L){var z=L._fullLayout,F=e.filterVisible(z[i.name]);function N(le){x.autoMargin(L,u(le))}var B=z._menulayer.selectAll("g."+i.containerClassName).data(F.length>0?[0]:[]);if(B.enter().append("g").classed(i.containerClassName,!0).style("cursor","pointer"),B.exit().each(function(){p.select(this).selectAll("g."+i.headerGroupClassName).each(N)}).remove(),F.length!==0){var I=B.selectAll("g."+i.headerGroupClassName).data(F,a);I.enter().append("g").classed(i.headerGroupClassName,!0);for(var U=e.ensureSingle(B,"g",i.dropdownButtonGroupClassName,function(le){le.style("pointer-events","all")}),O=0;O0?[0]:[]);X.enter().append("g").classed(i.containerClassName,!0).style("cursor",I?null:"ew-resize");function J(q){q._commandObserver&&(q._commandObserver.remove(),delete q._commandObserver),x.autoMargin(B,c(q))}if(X.exit().each(function(){p.select(this).selectAll("g."+i.groupClassName).each(J)}).remove(),O.length!==0){var se=X.selectAll("g."+i.groupClassName).data(O,d);se.enter().append("g").classed(i.groupClassName,!0),se.exit().each(J).remove();for(var le=0;le0&&(se=se.transition().duration(B.transition.duration).ease(B.transition.easing)),se.attr("transform",t(J-i.gripWidth*.5,B._dims.currentValueTotalHeight))}}function R(N,B){var I=N._dims;return I.inputAreaStart+i.stepInset+(I.inputAreaLength-2*i.stepInset)*Math.min(1,Math.max(0,B))}function L(N,B){var I=N._dims;return Math.min(1,Math.max(0,(B-i.stepInset-I.inputAreaStart)/(I.inputAreaLength-2*i.stepInset-2*I.inputAreaStart)))}function z(N,B,I){var U=I._dims,O=e.ensureSingle(N,"rect",i.railTouchRectClass,function(X){X.call(v,B,N,I).style("pointer-events","all")});O.attr({width:U.inputAreaLength,height:Math.max(U.inputAreaWidth,i.tickOffset+I.ticklen+U.labelHeight)}).call(S.fill,I.bgcolor).attr("opacity",0),E.setTranslate(O,0,U.currentValueTotalHeight)}function F(N,B){var I=B._dims,U=I.inputAreaLength-i.railInset*2,O=e.ensureSingle(N,"rect",i.railRectClass);O.attr({width:U,height:i.railWidth,rx:i.railRadius,ry:i.railRadius,"shape-rendering":"crispEdges"}).call(S.stroke,B.bordercolor).call(S.fill,B.bgcolor).style("stroke-width",B.borderwidth+"px"),E.setTranslate(O,i.railInset,(I.inputAreaWidth-i.railWidth)*.5+I.currentValueTotalHeight)}}}),YE=De({"src/components/sliders/index.js"(Y,H){"use strict";var p=_y();H.exports={moduleType:"component",name:p.name,layoutAttributes:S2(),supplyLayoutDefaults:WE(),draw:XE()}}}),N_=De({"src/components/rangeslider/attributes.js"(Y,H){"use strict";var p=Pf();H.exports={bgcolor:{valType:"color",dflt:p.background,editType:"plot"},bordercolor:{valType:"color",dflt:p.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"}}}),M2=De({"src/components/rangeslider/oppaxis_attributes.js"(Y,H){"use strict";H.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"}}}),U_=De({"src/components/rangeslider/constants.js"(Y,H){"use strict";H.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}}}),ZE=De({"src/components/rangeslider/helpers.js"(Y){"use strict";var H=nf(),p=vu(),x=U_(),S=rh().LINE_SPACING,E=x.name;function e(t){var r=t&&t[E];return r&&r.visible}Y.isVisible=e,Y.makeData=function(t){for(var r=H.list({_fullLayout:t},"x",!0),o=t.margin,i=[],n=0;n=it.max)Xe=ue[tt+1];else if(ze=it.pmax)Xe=ue[tt+1];else if(ze0?v.touches[0].clientX:0}function m(v,u,y,f){if(u._context.staticPlot)return;var R=v.select("rect."+h.slideBoxClassName).node(),L=v.select("rect."+h.grabAreaMinClassName).node(),z=v.select("rect."+h.grabAreaMaxClassName).node();function F(){var N=p.event,B=N.target,I=c(N),U=I-v.node().getBoundingClientRect().left,O=f.d2p(y._rl[0]),X=f.d2p(y._rl[1]),J=a.coverSlip();this.addEventListener("touchmove",se),this.addEventListener("touchend",le),J.addEventListener("mousemove",se),J.addEventListener("mouseup",le);function se(ce){var q=c(ce),Z=+q-I,ee,V,oe;switch(B){case R:if(oe="ew-resize",O+Z>y._length||X+Z<0)return;ee=O+Z,V=X+Z;break;case L:if(oe="col-resize",O+Z>y._length)return;ee=O+Z,V=X;break;case z:if(oe="col-resize",X+Z<0)return;ee=O,V=X+Z;break;default:oe="ew-resize",ee=U,V=U+Z;break}if(V0);if(_){var w=o(a,s,h);T("x",w[0]),T("y",w[1]),p.noneOrAll(n,a,["x","y"]),T("xanchor"),T("yanchor"),p.coerceFont(T,"font",s.font);var A=T("bgcolor");T("activecolor",x.contrast(A,t.lightAmount,t.darkAmount)),T("bordercolor"),T("borderwidth")}};function r(i,n,a,s){var h=s.calendar;function c(T,l){return p.coerce(i,n,e.buttons,T,l)}var m=c("visible");if(m){var d=c("step");d!=="all"&&(h&&h!=="gregorian"&&(d==="month"||d==="year")?n.stepmode="backward":c("stepmode"),c("count")),c("label")}}function o(i,n,a){for(var s=a.filter(function(d){return n[d].anchor===i._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:i("x",b,L,F,u),y:i("y",b,z,N,v,R)}}function i(s,h,c,m,d,T){var l=h(s+"gap",c),_=h("domain."+s);h(s+"side",m);for(var w=new Array(d),A=_[0],M=(_[1]-A)/(d-l),g=M*(1-l),b=0;b0,m=r._context.staticPlot;o.each(function(d){var T=d[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&&(d=[]);var M=p.select(this).selectAll("g.errorbar").data(d,w);if(M.exit().remove(),!!d.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,i.layerClipId,r),M.each(function(b){var v=p.select(this),u=e(b,s,h);if(!(A&&!b.vis)){var y,f=v.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),a=!f.size(),a?f=v.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=v.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),a=!L.size(),a?L=v.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 i={x:r.c2p(t.x),y:o.c2p(t.y)};return t.yh!==void 0&&(i.yh=o.c2p(t.yh),i.ys=o.c2p(t.ys),x(i.ys)||(i.noYS=!0,i.ys=o.c2p(t.ys,!0))),t.xh!==void 0&&(i.xh=r.c2p(t.xh),i.xs=r.c2p(t.xs),x(i.xs)||(i.noXS=!0,i.xs=r.c2p(t.xs,!0))),i}}}),sk=De({"src/components/errorbars/style.js"(Y,H){"use strict";var p=za(),x=vo();H.exports=function(E){E.each(function(e){var t=e[0].trace,r=t.error_y||{},o=t.error_x||{},i=p.select(this);i.selectAll("path.yerror").style("stroke-width",r.thickness+"px").call(x.stroke,r.color),o.copy_ystyle&&(o=r),i.selectAll("path.xerror").style("stroke-width",o.thickness+"px").call(x.stroke,o.color)})}}}),lk=De({"src/components/errorbars/index.js"(Y,H){"use strict";var p=ui(),x=gc().overrideAll,S=C2(),E={error_x:p.extendFlat({},S),error_y:p.extendFlat({},S)};delete E.error_x.copy_zstyle,delete E.error_y.copy_zstyle,delete E.error_y.copy_ystyle;var e={error_x:p.extendFlat({},S),error_y:p.extendFlat({},S),error_z:p.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,H.exports={moduleType:"component",name:"errorbars",schema:{traces:{scatter:E,bar:E,histogram:E,scatter3d:x(e,"calc","nested"),scattergl:x(E,"calc","nested")}},supplyDefaults:ak(),calc:nk(),makeComputeError:L2(),plot:ok(),style:sk(),hoverInfo:t};function t(r,o,i){(o.error_y||{}).visible&&(i.yerr=r.yh-r.y,o.error_y.symmetric||(i.yerrneg=r.y-r.ys)),(o.error_x||{}).visible&&(i.xerr=r.xh-r.x,o.error_x.symmetric||(i.xerrneg=r.x-r.xs))}}}),uk=De({"src/components/colorbar/constants.js"(Y,H){"use strict";H.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"}}}}),ck=De({"src/components/colorbar/draw.js"(Y,H){"use strict";var p=za(),x=wu(),S=Mc(),E=Mo(),e=us(),t=Qh(),r=ui(),o=r.strTranslate,i=Xo().extendFlat,n=hv(),a=ys(),s=vo(),h=j0(),c=vu(),m=$h().flipScale,d=yy(),T=z_(),l=Ih(),_=rh(),w=_.LINE_SPACING,A=_.FROM_TL,M=_.FROM_BR,g=uk().cn;function b(L){var z=L._fullLayout,F=z._infolayer.selectAll("g."+g.colorbar).data(v(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 B=p.select(this);r.ensureSingle(B,"rect",g.cbbg),r.ensureSingle(B,"g",g.cbfills),r.ensureSingle(B,"g",g.cblines),r.ensureSingle(B,"g",g.cbaxis,function(U){U.classed(g.crisp,!0)}),r.ensureSingle(B,"g",g.cbtitleunshift,function(U){U.append("g").classed(g.cbtitle,!0)}),r.ensureSingle(B,"rect",g.cboutline);var I=u(B,N,L);I&&I.then&&(L._promises||[]).push(I),L._context.edits.colorbarPosition&&y(B,N,L)}),F.exit().each(function(N){S.autoMargin(L,N._id)}).remove(),F.order()}function v(L){var z=L._fullLayout,F=L.calcdata,N=[],B,I,U,O;function X(j){return i(j,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function J(){typeof O.calc=="function"?O.calc(L,U,B):(B._fillgradient=I.reversescale?m(I.colorscale):I.colorscale,B._zrange=[I[O.min],I[O.max]])}for(var se=0;se1){var Ne=Math.pow(10,Math.floor(Math.log(xt)/Math.LN10));Mr*=Ne*r.roundUp(xt/Ne,[2,5,10]),(Math.abs(tt.start)/tt.size+1e-6)%1<2e-6&&(yr.tick0=0)}yr.dtick=Mr}yr.domain=N?[Wt+Z/Q.h,Wt+Be-Z/Q.h]:[Wt+q/Q.w,Wt+Be-q/Q.w],yr.setScale(),L.attr("transform",o(Math.round(Q.l),Math.round(Q.t)));var Ye=L.select("."+g.cbtitleunshift).attr("transform",o(-Math.round(Q.l),-Math.round(Q.t))),be=yr.ticklabelposition,Ie=yr.title.font.size,qe=L.select("."+g.cbaxis),ke,Me=0,Le=0;function ut(ir,tr){var Ir={propContainer:yr,propName:z._propPrefix+"title.text",traceIndex:z._traceIndex,_meta:z._meta,placeholder:j._dfltTitle.colorbar,containerGroup:L.select("."+g.cbtitle)},vi=ir.charAt(0)==="h"?ir.slice(1):"h"+ir;L.selectAll("."+vi+",."+vi+"-math-group").remove(),h.draw(F,ir,i(Ir,tr||{}))}function lt(){if(N&&qr||!N&&!qr){var ir,tr;we==="top"&&(ir=q+Q.l+Qe*ee,tr=Z+Q.t+at*(1-Wt-Be)+3+Ie*.75),we==="bottom"&&(ir=q+Q.l+Qe*ee,tr=Z+Q.t+at*(1-Wt)-3-Ie*.25),we==="right"&&(tr=Z+Q.t+at*V+3+Ie*.75,ir=q+Q.l+Qe*Wt),ut(yr._id+"title",{attributes:{x:ir,y:tr,"text-anchor":N?"start":"middle"}})}}function gt(){if(N&&!qr||!N&&qr){var ir=yr.position||0,tr=yr._offset+yr._length/2,Ir,vi;if(we==="right")vi=tr,Ir=Q.l+Qe*ir+10+Ie*(yr.showticklabels?1:.5);else if(Ir=tr,we==="bottom"&&(vi=Q.t+at*ir+10+(be.indexOf("inside")===-1?yr.tickfont.size:0)+(yr.ticks!=="inside"&&z.ticklen||0)),we==="top"){var Vi=_e.text.split("
").length;vi=Q.t+at*ir+10-Ae-w*Ie*Vi}ut((N?"h":"v")+yr._id+"title",{avoid:{selection:p.select(F).selectAll("g."+yr._id+"tick"),side:we,offsetTop:N?0:Q.t,offsetLeft:N?Q.l:0,maxShift:N?j.width:j.height},attributes:{x:Ir,y:vi,"text-anchor":"middle"},transform:{rotate:N?-90:0,offset:0}})}}function kt(){if(!N&&!qr||N&&qr){var ir=L.select("."+g.cbtitle),tr=ir.select("text"),Ir=[-X/2,X/2],vi=ir.select(".h"+yr._id+"title-math-group").node(),Vi=15.6;tr.node()&&(Vi=parseInt(tr.node().style.fontSize,10)*w);var Ui;if(vi?(Ui=a.bBox(vi),Le=Ui.width,Me=Ui.height,Me>Vi&&(Ir[1]-=(Me-Vi)/2)):tr.node()&&!tr.classed(g.jsPlaceholder)&&(Ui=a.bBox(tr.node()),Le=Ui.width,Me=Ui.height),N){if(Me){if(Me+=5,we==="top")yr.domain[1]-=Me/Q.h,Ir[1]*=-1;else{yr.domain[0]+=Me/Q.h;var Ki=c.lineCount(tr);Ir[1]+=(1-Ki)*Vi}ir.attr("transform",o(Ir[0],Ir[1])),yr.setScale()}}else Le&&(we==="right"&&(yr.domain[0]+=(Le+Ie/2)/Q.w),ir.attr("transform",o(Ir[0],Ir[1])),yr.setScale())}L.selectAll("."+g.cbfills+",."+g.cblines).attr("transform",N?o(0,Math.round(Q.h*(1-yr.domain[1]))):o(Math.round(Q.w*yr.domain[0]),0)),qe.attr("transform",N?o(0,Math.round(-Q.t)):o(Math.round(-Q.l),0));var ea=L.select("."+g.cbfills).selectAll("rect."+g.cbfill).attr("style","").data(et);ea.enter().append("rect").classed(g.cbfill,!0).attr("style",""),ea.exit().remove();var Bi=Re.map(yr.c2p).map(Math.round).sort(function(Zt,Jt){return Zt-Jt});ea.each(function(Zt,Jt){var Br=[Jt===0?Re[0]:(et[Jt]+et[Jt-1])/2,Jt===et.length-1?Re[1]:(et[Jt]+et[Jt+1])/2].map(yr.c2p).map(Math.round);N&&(Br[1]=r.constrain(Br[1]+(Br[1]>Br[0])?1:-1,Bi[0],Bi[1]));var ri=p.select(this).attr(N?"x":"y",$e).attr(N?"y":"x",p.min(Br)).attr(N?"width":"height",Math.max(Ae,2)).attr(N?"height":"width",Math.max(p.max(Br)-p.min(Br),2));if(z._fillgradient)a.gradient(ri,F,z._id,N?"vertical":"horizontalreversed",z._fillgradient,"fill");else{var ii=Xe(Zt).replace("e-","");ri.attr("fill",x(ii).toHexString())}});var _a=L.select("."+g.cblines).selectAll("path."+g.cbline).data(ue.color&&ue.width?nt:[]);_a.enter().append("path").classed(g.cbline,!0),_a.exit().remove(),_a.each(function(Zt){var Jt=$e,Br=Math.round(yr.c2p(Zt))+ue.width/2%1;p.select(this).attr("d","M"+(N?Jt+","+Br:Br+","+Jt)+(N?"h":"v")+Ae).call(a.lineGroupStyle,ue.width,ze(Zt),ue.dash)}),qe.selectAll("g."+yr._id+"tick,path").remove();var Ca=$e+Ae+(X||0)/2-(z.ticks==="outside"?1:0),Kt=e.calcTicks(yr),zt=e.getTickSigns(yr)[2];return e.drawTicks(F,yr,{vals:yr.ticks==="inside"?e.clipEnds(yr,Kt):Kt,layer:qe,path:e.makeTickPath(yr,Ca,zt),transFn:e.makeTransTickFn(yr)}),e.drawLabels(F,yr,{vals:Kt,layer:qe,transFn:e.makeTransTickLabelFn(yr),labelFns:e.makeLabelFns(yr,Ca)})}function nr(){var ir,tr=Ae+X/2;be.indexOf("inside")===-1&&(ir=a.bBox(qe.node()),tr+=N?ir.width:ir.height),ke=Ye.select("text");var Ir=0,vi=N&&we==="top",Vi=!N&&we==="right",Ui=0;if(ke.node()&&!ke.classed(g.jsPlaceholder)){var Ki,ea=Ye.select(".h"+yr._id+"title-math-group").node();ea&&(N&&qr||!N&&!qr)?(ir=a.bBox(ea),Ir=ir.width,Ki=ir.height):(ir=a.bBox(Ye.node()),Ir=ir.right-Q.l-(N?$e:Cr),Ki=ir.bottom-Q.t-(N?Cr:$e),!N&&we==="top"&&(tr+=ir.height,Ui=ir.height)),Vi&&(ke.attr("transform",o(Ir/2+Ie/2,0)),Ir*=2),tr=Math.max(tr,N?Ir:Ki)}var Bi=(N?q:Z)*2+tr+J+X/2,_a=0;!N&&_e.text&&ce==="bottom"&&V<=0&&(_a=Bi/2,Bi+=_a,Ui+=_a),j._hColorbarMoveTitle=_a,j._hColorbarMoveCBTitle=Ui;var Ca=J+X,Kt=(N?$e:Cr)-Ca/2-(N?q:0),zt=(N?Cr:$e)-(N?fe:Z+Ui-_a);L.select("."+g.cbbg).attr("x",Kt).attr("y",zt).attr(N?"width":"height",Math.max(Bi-_a,2)).attr(N?"height":"width",Math.max(fe+Ca,2)).call(s.fill,se).call(s.stroke,z.bordercolor).style("stroke-width",J);var Zt=Vi?Math.max(Ir-10,0):0;L.selectAll("."+g.cboutline).attr("x",(N?$e:Cr+q)+Zt).attr("y",(N?Cr+Z-fe:$e)+(vi?Me:0)).attr(N?"width":"height",Math.max(Ae,2)).attr(N?"height":"width",Math.max(fe-(N?2*Z+Me:2*q+Zt),2)).call(s.stroke,z.outlinecolor).style({fill:"none","stroke-width":X});var Jt=N?It*Bi:0,Br=N?0:(1-Pt)*Bi-Ui;if(Jt=ie?Q.l-Jt:-Jt,Br=oe?Q.t-Br:-Br,L.attr("transform",o(Jt,Br)),!N&&(J||x(se).getAlpha()&&!x.equals(j.paper_bgcolor,se))){var ri=qe.selectAll("text"),ii=ri[0].length,di=L.select("."+g.cbbg).node(),Wi=a.bBox(di),oa=a.getTranslate(L),ra=2;ri.each(function(Lr,br){var Rr=0,jr=ii-1;if(br===Rr||br===jr){var Wr=a.bBox(this),yt=a.getTranslate(this),Xt;if(br===jr){var mr=Wr.right+yt.x,Or=Wi.right+oa.x+Cr-J-ra+ee;Xt=Or-mr,Xt>0&&(Xt=0)}else if(br===Rr){var ki=Wr.left+yt.x,Ni=Wi.left+oa.x+Cr+J+ra;Xt=Ni-ki,Xt<0&&(Xt=0)}Xt&&(ii<3?this.setAttribute("transform","translate("+Xt+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}})}var ca={},xa=A[le],ji=M[le],pn=A[ce],_n=M[ce],En=Bi-Ae;N?(I==="pixels"?(ca.y=V,ca.t=fe*pn,ca.b=fe*_n):(ca.t=ca.b=0,ca.yt=V+B*pn,ca.yb=V-B*_n),O==="pixels"?(ca.x=ee,ca.l=Bi*xa,ca.r=Bi*ji):(ca.l=En*xa,ca.r=En*ji,ca.xl=ee-U*xa,ca.xr=ee+U*ji)):(I==="pixels"?(ca.x=ee,ca.l=fe*xa,ca.r=fe*ji):(ca.l=ca.r=0,ca.xl=ee+B*xa,ca.xr=ee-B*ji),O==="pixels"?(ca.y=1-V,ca.t=Bi*pn,ca.b=Bi*_n):(ca.t=En*pn,ca.b=En*_n,ca.yt=V-U*pn,ca.yb=V+U*_n));var bt=z.y<.5?"b":"t",st=z.x<.5?"l":"r";F._fullLayout._reservedMargin[z._id]={};var Nr={r:j.width-Kt-Jt,l:Kt+ca.r,b:j.height-zt-Br,t:zt+ca.b};ie&&oe?S.autoMargin(F,z._id,ca):ie?F._fullLayout._reservedMargin[z._id][bt]=Nr[bt]:oe||N?F._fullLayout._reservedMargin[z._id][st]=Nr[st]:F._fullLayout._reservedMargin[z._id][bt]=Nr[bt]}return r.syncOrAsync([S.previousPromises,lt,kt,gt,S.previousPromises,nr],F)}function y(L,z,F){var N=z.orientation==="v",B=F._fullLayout,I=B._size,U,O,X;t.init({element:L.node(),gd:F,prepFn:function(){U=L.attr("transform"),n(L)},moveFn:function(J,se){L.attr("transform",U+o(J,se)),O=t.align((N?z._uFrac:z._vFrac)+J/I.w,N?z._thickFrac:z._lenFrac,0,1,z.xanchor),X=t.align((N?z._vFrac:1-z._uFrac)-se/I.h,N?z._lenFrac:z._thickFrac,0,1,z.yanchor);var le=t.getCursor(O,X,z.xanchor,z.yanchor);n(L,le)},doneFn:function(){if(n(L),O!==void 0&&X!==void 0){var J={};J[z._propPrefix+"x"]=O,J[z._propPrefix+"y"]=X,z._traceIndex!==void 0?E.call("_guiRestyle",F,J,z._traceIndex):E.call("_guiRelayout",F,J)}}})}function f(L,z,F){var N=z._levels,B=[],I=[],U,O,X=N.end+N.size/100,J=N.size,se=1.001*F[0]-.001*F[1],le=1.001*F[1]-.001*F[0];for(O=0;O<1e5&&(U=N.start+O*J,!(J>0?U>=X:U<=X));O++)U>se&&U0?U>=X:U<=X));O++)U>F[0]&&U-1}H.exports=function(o,i){var n,a=o.data,s=o.layout,h=E([],a),c=E({},s,e(i.tileClass)),m=o._context||{};if(i.width&&(c.width=i.width),i.height&&(c.height=i.height),i.tileClass==="thumbnail"||i.tileClass==="themes__thumb"){c.annotations=[];var d=Object.keys(c);for(n=0;n=0)return m}else if(typeof m=="string"&&(m=m.trim(),m.slice(-1)==="%"&&p(m.slice(0,-1))&&(m=+m.slice(0,-1),m>=0)))return m+"%"}function c(m,d,T,l,_,w){w=w||{};var A=w.moduleHasSelected!==!1,M=w.moduleHasUnselected!==!1,g=w.moduleHasConstrain!==!1,b=w.moduleHasCliponaxis!==!1,v=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,B=!N;if(B&&delete F.color,n(l,"insidetextfont",F),y){var I=x.extendFlat({},z);B&&delete I.color,n(l,"pathbar.textfont",I)}L&&n(l,"outsidetextfont",z),A&&l("selected.textfont.color"),M&&l("unselected.textfont.color"),g&&l("constraintext"),b&&l("cliponaxis"),v&&l("textangle"),l("texttemplate"),l("texttemplatefallback")}R&&u&&l("insidetextanchor")}H.exports={supplyDefaults:a,crossTraceDefaults:s,handleText:c,validateCornerradius:h}}}),P2=De({"src/traces/bar/layout_defaults.js"(Y,H){"use strict";var p=Mo(),x=us(),S=ui(),E=V_(),e=Nd().validateCornerradius;H.exports=function(t,r,o){function i(A,M){return S.coerce(t,r,E,A,M)}for(var n=!1,a=!1,s=!1,h={},c=i("barmode"),m=c==="group",d=0;d0&&!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"&&(a=!0)}}if(!n){delete r.barmode;return}c!=="overlay"&&i("barnorm"),i("bargap",a&&!s?0:.2),i("bargroupgap");var w=i("barcornerradius");r.barcornerradius=e(w)}}}),xy=De({"src/traces/bar/arrays_to_calcdata.js"(Y,H){"use strict";var p=ui();H.exports=function(S,E){for(var e=0;er;if(!o)return E}return e!==void 0?e:S.dflt},Y.coerceColor=function(S,E,e){return p(E).isValid()?E:e!==void 0?e:S.dflt},Y.coerceEnumerated=function(S,E,e){return S.coerceNumber&&(E=+E),S.values.indexOf(E)!==-1?E:e!==void 0?e:S.dflt},Y.getValue=function(S,E){var e;return x(S)?E1||y.bargap===0&&y.bargroupgap===0&&!f[0].trace.marker.line.width)&&p.select(this).attr("shape-rendering","crispEdges")}),v.selectAll("g.points").each(function(f){var R=p.select(this),L=f[0].trace;h(R,L,b)}),e.getComponentMethod("errorbars","style")(v)}function h(b,v,u){S.pointStyle(b.selectAll("path"),v,u),c(b,v,u)}function c(b,v,u){b.selectAll("text").each(function(y){var f=p.select(this),R=E.ensureUniformFontSize(u,l(f,y,v,u));S.font(f,R)})}function m(b,v,u){var y=v[0].trace;y.selectedpoints?d(u,y,b):(h(u,y,b),e.getComponentMethod("errorbars","style")(u))}function d(b,v,u){S.selectedPointStyle(b.selectAll("path"),v),T(b.selectAll("text"),v,u)}function T(b,v,u){b.each(function(y){var f=p.select(this),R;if(y.selected){R=E.ensureUniformFontSize(u,l(f,y,v,u));var L=v.selected.textfont&&v.selected.textfont.color;L&&(R.color=L),S.font(f,R)}else S.selectedTextStyle(f,v)})}function l(b,v,u,y){var f=y._fullLayout.font,R=u.textfont;if(b.classed("bartext-inside")){var L=g(v,u);R=w(u,v.i,f,L)}else b.classed("bartext-outside")&&(R=A(u,v.i,f));return R}function _(b,v,u){return M(o,b.textfont,v,u)}function w(b,v,u,y){var f=_(b,v,u),R=b._input.textfont===void 0||b._input.textfont.color===void 0||Array.isArray(b.textfont.color)&&b.textfont.color[v]===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(i,b.insidetextfont,v,f)}function A(b,v,u){var y=_(b,v,u);return M(n,b.outsidetextfont,v,y)}function M(b,v,u,y){v=v||{};var f=a.getValue(v.family,u),R=a.getValue(v.size,u),L=a.getValue(v.color,u),z=a.getValue(v.weight,u),F=a.getValue(v.style,u),N=a.getValue(v.variant,u),B=a.getValue(v.textcase,u),I=a.getValue(v.lineposition,u),U=a.getValue(v.shadow,u);return{family:a.coerceString(b.family,f,y.family),size:a.coerceNumber(b.size,R,y.size),color:a.coerceColor(b.color,L,y.color),weight:a.coerceString(b.weight,z,y.weight),style:a.coerceString(b.style,F,y.style),variant:a.coerceString(b.variant,N,y.variant),textcase:a.coerceString(b.variant,B,y.textcase),lineposition:a.coerceString(b.variant,I,y.lineposition),shadow:a.coerceString(b.variant,U,y.shadow)}}function g(b,v){return v.type==="waterfall"?v[b.dir].marker.color:b.mcc||b.mc||v.marker.color}H.exports={style:s,styleTextPoints:c,styleOnSelect:m,getInsideTextFont:w,getOutsideTextFont:A,getBarColor:g,resizeText:t}}}),W0=De({"src/traces/bar/plot.js"(Y,H){"use strict";var p=za(),x=vn(),S=ui(),E=vu(),e=vo(),t=ys(),r=Mo(),o=us().tickText,i=ed(),n=i.recordMinTextSize,a=i.clearMinTextSize,s=$d(),h=H_(),c=Yp(),m=Bv(),d=m.text,T=m.textposition,l=Ad().appendArrayPointValue,_=c.TEXTPAD;function w(J){return J.id}function A(J){if(J.ids)return w}function M(J){return(J>0)-(J<0)}function g(J,se){return J0}function y(J,se,le,ce,q,Z){var ee=se.xaxis,V=se.yaxis,oe=J._fullLayout,ie=J._context.staticPlot;q||(q={mode:oe.barmode,norm:oe.barmode,gap:oe.bargap,groupgap:oe.bargroupgap},a("bar",oe));var j=S.makeTraceGroups(ce,le,"trace bars").each(function(Q){var re=p.select(this),ue=Q[0].trace,_e=Q[0].t,we=ue.type==="waterfall",Re=ue.type==="funnel",ze=ue.type==="histogram",Xe=ue.type==="bar",tt=Xe||Re,it=0;we&&ue.connector.visible&&ue.connector.mode==="between"&&(it=ue.connector.line.width/2);var et=ue.orientation==="h",nt=u(q),Ae=S.ensureSingle(re,"g","points"),me=A(ue),fe=Ae.selectAll("g.point").data(S.identity,me);fe.enter().append("g").classed("point",!0),fe.exit().remove(),fe.each(function(Qe,at){var $e=p.select(this),It=b(Qe,ee,V,et),Pt=It[0][0],Vt=It[0][1],Wt=It[1][0],Cr=It[1][1],yr=(et?Vt-Pt:Cr-Wt)===0;yr&&tt&&h.getLineWidth(ue,Qe)&&(yr=!1),yr||(yr=!x(Pt)||!x(Vt)||!x(Wt)||!x(Cr)),Qe.isBlank=yr,yr&&(et?Vt=Pt:Cr=Wt),it&&!yr&&(et?(Pt-=g(Pt,Vt)*it,Vt+=g(Pt,Vt)*it):(Wt-=g(Wt,Cr)*it,Cr+=g(Wt,Cr)*it));var qr,Mr;if(ue.type==="waterfall"){if(!yr){var Dr=ue[Qe.dir].marker;qr=Dr.line.width,Mr=Dr.color}}else qr=h.getLineWidth(ue,Qe),Mr=Qe.mc||ue.marker.color;function xt(Ca){var Kt=p.round(qr/2%1,2);return q.gap===0&&q.groupgap===0?p.round(Math.round(Ca)-Kt,2):Ca}function Ne(Ca,Kt,zt){return zt&&Ca===Kt?Ca:Math.abs(Ca-Kt)>=2?xt(Ca):Ca>Kt?Math.ceil(Ca):Math.floor(Ca)}var Ye=e.opacity(Mr),be=Ye<1||qr>.01?xt:Ne;J._context.staticPlot||(Pt=be(Pt,Vt,et),Vt=be(Vt,Pt,et),Wt=be(Wt,Cr,!et),Cr=be(Cr,Wt,!et));var Ie=et?ee.c2p:V.c2p,qe;Qe.s0>0?qe=Qe._sMax:Qe.s0<0?qe=Qe._sMin:qe=Qe.s1>0?Qe._sMax:Qe._sMin;function ke(Ca,Kt){if(!Ca)return 0;var zt=Math.abs(et?Cr-Wt:Vt-Pt),Zt=Math.abs(et?Vt-Pt:Cr-Wt),Jt=be(Math.abs(Ie(qe,!0)-Ie(0,!0))),Br=Qe.hasB?Math.min(zt/2,Zt/2):Math.min(zt/2,Jt),ri;if(Kt==="%"){var ii=Math.min(50,Ca);ri=zt*(ii/100)}else ri=Ca;return be(Math.max(Math.min(ri,Br),0))}var Me=Xe||ze?ke(_e.cornerradiusvalue,_e.cornerradiusform):0,Le,ut,lt="M"+Pt+","+Wt+"V"+Cr+"H"+Vt+"V"+Wt+"Z",gt=0;if(Me&&Qe.s){var kt=M(Qe.s0)===0||M(Qe.s)===M(Qe.s0)?Qe.s1:Qe.s0;if(gt=be(Qe.hasB?0:Math.abs(Ie(qe,!0)-Ie(kt,!0))),gt0?Math.sqrt(gt*(2*Me-gt)):0,Vi=nr>0?Math.max:Math.min;Le="M"+Pt+","+Wt+"V"+(Cr-Ir*ir)+"H"+Vi(Vt-(Me-gt)*nr,Pt)+"A "+Me+","+Me+" 0 0 "+tr+" "+Vt+","+(Cr-Me*ir-vi)+"V"+(Wt+Me*ir+vi)+"A "+Me+","+Me+" 0 0 "+tr+" "+Vi(Vt-(Me-gt)*nr,Pt)+","+(Wt+Ir*ir)+"Z"}else if(Qe.hasB)Le="M"+(Pt+Me*nr)+","+Wt+"A "+Me+","+Me+" 0 0 "+tr+" "+Pt+","+(Wt+Me*ir)+"V"+(Cr-Me*ir)+"A "+Me+","+Me+" 0 0 "+tr+" "+(Pt+Me*nr)+","+Cr+"H"+(Vt-Me*nr)+"A "+Me+","+Me+" 0 0 "+tr+" "+Vt+","+(Cr-Me*ir)+"V"+(Wt+Me*ir)+"A "+Me+","+Me+" 0 0 "+tr+" "+(Vt-Me*nr)+","+Wt+"Z";else{ut=Math.abs(Cr-Wt)+gt;var Ui=ut0?Math.sqrt(gt*(2*Me-gt)):0,ea=ir>0?Math.max:Math.min;Le="M"+(Pt+Ui*nr)+","+Wt+"V"+ea(Cr-(Me-gt)*ir,Wt)+"A "+Me+","+Me+" 0 0 "+tr+" "+(Pt+Me*nr-Ki)+","+Cr+"H"+(Vt-Me*nr+Ki)+"A "+Me+","+Me+" 0 0 "+tr+" "+(Vt-Ui*nr)+","+ea(Cr-(Me-gt)*ir,Wt)+"V"+Wt+"Z"}}else Le=lt}else Le=lt;var Bi=v(S.ensureSingle($e,"path"),oe,q,Z);if(Bi.style("vector-effect",ie?"none":"non-scaling-stroke").attr("d",isNaN((Vt-Pt)*(Cr-Wt))||yr&&J._context.staticPlot?"M0,0Z":Le).call(t.setClipUrl,se.layerClipId,J),!oe.uniformtext.mode&&nt){var _a=t.makePointStyleFns(ue);t.singlePointStyle(Qe,Bi,ue,_a,J)}f(J,se,$e,Q,at,Pt,Vt,Wt,Cr,Me,gt,q,Z),se.layerClipId&&t.hideOutsideRangePoint(Qe,$e.select("text"),ee,V,ue.xcalendar,ue.ycalendar)});var Be=ue.cliponaxis===!1;t.setClipUrl(re,Be?null:se.layerClipId,J)});r.getComponentMethod("errorbars","plot")(J,j,se,q)}function f(J,se,le,ce,q,Z,ee,V,oe,ie,j,Q,re){var ue=se.xaxis,_e=se.yaxis,we=J._fullLayout,Re;function ze(ut,lt,gt){var kt=S.ensureSingle(ut,"text").text(lt).attr({class:"bartext bartext-"+Re,"text-anchor":"middle","data-notex":1}).call(t.font,gt).call(E.convertToTspans,J);return kt}var Xe=ce[0].trace,tt=Xe.orientation==="h",it=I(we,ce,q,ue,_e);Re=U(Xe,q);var et=Q.mode==="stack"||Q.mode==="relative",nt=ce[q],Ae=!et||nt._outmost,me=nt.hasB,fe=ie&&ie-j>_;if(!it||Re==="none"||(nt.isBlank||Z===ee||V===oe)&&(Re==="auto"||Re==="inside")){le.select("text").remove();return}var Be=we.font,Qe=s.getBarColor(ce[q],Xe),at=s.getInsideTextFont(Xe,q,Be,Qe),$e=s.getOutsideTextFont(Xe,q,Be),It=Xe.insidetextanchor||"end",Pt=le.datum();tt?ue.type==="log"&&Pt.s0<=0&&(ue.range[0]0&&xt>0,be;fe?me?be=R(Cr-2*ie,yr,Dr,xt,tt)||R(Cr,yr-2*ie,Dr,xt,tt):tt?be=R(Cr-(ie-j),yr,Dr,xt,tt)||R(Cr,yr-2*(ie-j),Dr,xt,tt):be=R(Cr,yr-(ie-j),Dr,xt,tt)||R(Cr-2*(ie-j),yr,Dr,xt,tt):be=R(Cr,yr,Dr,xt,tt),Ye&&be?Re="inside":(Re="outside",qr.remove(),qr=null)}else Re="inside";if(!qr){Ne=S.ensureUniformFontSize(J,Re==="outside"?$e:at),qr=ze(le,it,Ne);var Ie=qr.attr("transform");if(qr.attr("transform",""),Mr=t.bBox(qr.node()),Dr=Mr.width,xt=Mr.height,qr.attr("transform",Ie),Dr<=0||xt<=0){qr.remove();return}}var qe=Xe.textangle,ke,Me;Re==="outside"?(Me=Xe.constraintext==="both"||Xe.constraintext==="outside",ke=B(Z,ee,V,oe,Mr,{isHorizontal:tt,constrained:Me,angle:qe})):(Me=Xe.constraintext==="both"||Xe.constraintext==="inside",ke=F(Z,ee,V,oe,Mr,{isHorizontal:tt,constrained:Me,angle:qe,anchor:It,hasB:me,r:ie,overhead:j})),ke.fontSize=Ne.size,n(Xe.type==="histogram"?"bar":Xe.type,ke,we),nt.transform=ke;var Le=v(qr,we,Q,re);S.setTransormAndDisplay(Le,ke)}function R(J,se,le,ce,q){if(J<0||se<0)return!1;var Z=le<=J&&ce<=se,ee=le<=se&&ce<=J,V=q?J>=le*(se/ce):se>=ce*(J/le);return Z||ee||V}function L(J){return J==="auto"?0:J}function z(J,se){var le=Math.PI/180*se,ce=Math.abs(Math.sin(le)),q=Math.abs(Math.cos(le));return{x:J.width*q+J.height*ce,y:J.width*ce+J.height*q}}function F(J,se,le,ce,q,Z){var ee=!!Z.isHorizontal,V=!!Z.constrained,oe=Z.angle||0,ie=Z.anchor,j=ie==="end",Q=ie==="start",re=Z.leftToRight||0,ue=(re+1)/2,_e=1-ue,we=Z.hasB,Re=Z.r,ze=Z.overhead,Xe=q.width,tt=q.height,it=Math.abs(se-J),et=Math.abs(ce-le),nt=it>2*_&&et>2*_?_:0;it-=2*nt,et-=2*nt;var Ae=L(oe);oe==="auto"&&!(Xe<=it&&tt<=et)&&(Xe>it||tt>et)&&(!(Xe>et||tt>it)||Xe_){var Qe=N(J,se,le,ce,me,Re,ze,ee,we);fe=Qe.scale,Be=Qe.pad}else fe=1,V&&(fe=Math.min(1,it/me.x,et/me.y)),Be=0;var at=q.left*_e+q.right*ue,$e=(q.top+q.bottom)/2,It=(J+_)*_e+(se-_)*ue,Pt=(le+ce)/2,Vt=0,Wt=0;if(Q||j){var Cr=(ee?me.x:me.y)/2;Re&&(j||we)&&(nt+=Be);var yr=ee?g(J,se):g(le,ce);ee?Q?(It=J+yr*nt,Vt=-yr*Cr):(It=se-yr*nt,Vt=yr*Cr):Q?(Pt=le+yr*nt,Wt=-yr*Cr):(Pt=ce-yr*nt,Wt=yr*Cr)}return{textX:at,textY:$e,targetX:It,targetY:Pt,anchorX:Vt,anchorY:Wt,scale:fe,rotate:Ae}}function N(J,se,le,ce,q,Z,ee,V,oe){var ie=Math.max(0,Math.abs(se-J)-2*_),j=Math.max(0,Math.abs(ce-le)-2*_),Q=Z-_,re=ee?Q-Math.sqrt(Q*Q-(Q-ee)*(Q-ee)):Q,ue=oe?Q*2:V?Q-ee:2*re,_e=oe?Q*2:V?2*re:Q-ee,we,Re,ze,Xe,tt;return q.y/q.x>=j/(ie-ue)?Xe=j/q.y:q.y/q.x<=(j-_e)/ie?Xe=ie/q.x:!oe&&V?(we=q.x*q.x+q.y*q.y/4,Re=-2*q.x*(ie-Q)-q.y*(j/2-Q),ze=(ie-Q)*(ie-Q)+(j/2-Q)*(j/2-Q)-Q*Q,Xe=(-Re+Math.sqrt(Re*Re-4*we*ze))/(2*we)):oe?(we=(q.x*q.x+q.y*q.y)/4,Re=-q.x*(ie/2-Q)-q.y*(j/2-Q),ze=(ie/2-Q)*(ie/2-Q)+(j/2-Q)*(j/2-Q)-Q*Q,Xe=(-Re+Math.sqrt(Re*Re-4*we*ze))/(2*we)):(we=q.x*q.x/4+q.y*q.y,Re=-q.x*(ie/2-Q)-2*q.y*(j-Q),ze=(ie/2-Q)*(ie/2-Q)+(j-Q)*(j-Q)-Q*Q,Xe=(-Re+Math.sqrt(Re*Re-4*we*ze))/(2*we)),Xe=Math.min(1,Xe),V?tt=Math.max(0,Q-Math.sqrt(Math.max(0,Q*Q-(Q-(j-q.y*Xe)/2)*(Q-(j-q.y*Xe)/2)))-ee):tt=Math.max(0,Q-Math.sqrt(Math.max(0,Q*Q-(Q-(ie-q.x*Xe)/2)*(Q-(ie-q.x*Xe)/2)))-ee),{scale:Xe,pad:tt}}function B(J,se,le,ce,q,Z){var ee=!!Z.isHorizontal,V=!!Z.constrained,oe=Z.angle||0,ie=q.width,j=q.height,Q=Math.abs(se-J),re=Math.abs(ce-le),ue;ee?ue=re>2*_?_:0:ue=Q>2*_?_:0;var _e=1;V&&(_e=ee?Math.min(1,re/j):Math.min(1,Q/ie));var we=L(oe),Re=z(q,we),ze=(ee?Re.x:Re.y)/2,Xe=(q.left+q.right)/2,tt=(q.top+q.bottom)/2,it=(J+se)/2,et=(le+ce)/2,nt=0,Ae=0,me=ee?g(se,J):g(le,ce);return ee?(it=se-me*ue,nt=me*ze):(et=ce+me*ue,Ae=-me*ze),{textX:Xe,textY:tt,targetX:it,targetY:et,anchorX:nt,anchorY:Ae,scale:_e,rotate:we}}function I(J,se,le,ce,q){var Z=se[0].trace,ee=Z.texttemplate,V;return ee?V=O(J,se,le,ce,q):Z.textinfo?V=X(se,le,ce,q):V=h.getValue(Z.text,le),h.coerceString(d,V)}function U(J,se){var le=h.getValue(J.textposition,se);return h.coerceEnumerated(T,le)}function O(J,se,le,ce,q){var Z=se[0].trace,ee=S.castOption(Z,le,"texttemplate");if(!ee)return"";var V=Z.type==="histogram",oe=Z.type==="waterfall",ie=Z.type==="funnel",j=Z.orientation==="h",Q,re,ue,_e;j?(Q="y",re=q,ue="x",_e=ce):(Q="x",re=ce,ue="y",_e=q);function we(nt){return o(re,re.c2l(nt),!0).text}function Re(nt){return o(_e,_e.c2l(nt),!0).text}var ze=se[le],Xe={};Xe.label=ze.p,Xe.labelLabel=Xe[Q+"Label"]=we(ze.p);var tt=S.castOption(Z,ze.i,"text");(tt===0||tt)&&(Xe.text=tt),Xe.value=ze.s,Xe.valueLabel=Xe[ue+"Label"]=Re(ze.s);var it={};l(it,Z,ze.i),(V||it.x===void 0)&&(it.x=j?Xe.value:Xe.label),(V||it.y===void 0)&&(it.y=j?Xe.label:Xe.value),(V||it.xLabel===void 0)&&(it.xLabel=j?Xe.valueLabel:Xe.labelLabel),(V||it.yLabel===void 0)&&(it.yLabel=j?Xe.labelLabel:Xe.valueLabel),oe&&(Xe.delta=+ze.rawS||ze.s,Xe.deltaLabel=Re(Xe.delta),Xe.final=ze.v,Xe.finalLabel=Re(Xe.final),Xe.initial=Xe.final-Xe.delta,Xe.initialLabel=Re(Xe.initial)),ie&&(Xe.value=ze.s,Xe.valueLabel=Re(Xe.value),Xe.percentInitial=ze.begR,Xe.percentInitialLabel=S.formatPercent(ze.begR),Xe.percentPrevious=ze.difR,Xe.percentPreviousLabel=S.formatPercent(ze.difR),Xe.percentTotal=ze.sumR,Xe.percenTotalLabel=S.formatPercent(ze.sumR));var et=S.castOption(Z,ze.i,"customdata");return et&&(Xe.customdata=et),S.texttemplateString({data:[it,Xe,Z._meta],fallback:Z.texttemplatefallback,labels:Xe,locale:J._d3locale,template:ee})}function X(J,se,le,ce){var q=J[0].trace,Z=q.orientation==="h",ee=q.type==="waterfall",V=q.type==="funnel";function oe(et){var nt=Z?ce:le;return o(nt,et,!0).text}function ie(et){var nt=Z?le:ce;return o(nt,+et,!0).text}var j=q.textinfo,Q=J[se],re=j.split("+"),ue=[],_e,we=function(et){return re.indexOf(et)!==-1};if(we("label")&&ue.push(oe(J[se].p)),we("text")&&(_e=S.castOption(q,Q.i,"text"),(_e===0||_e)&&ue.push(_e)),ee){var Re=+Q.rawS||Q.s,ze=Q.v,Xe=ze-Re;we("initial")&&ue.push(ie(Xe)),we("delta")&&ue.push(ie(Re)),we("final")&&ue.push(ie(ze))}if(V){we("value")&&ue.push(ie(Q.s));var tt=0;we("percent initial")&&tt++,we("percent previous")&&tt++,we("percent total")&&tt++;var it=tt>1;we("percent initial")&&(_e=S.formatPercent(Q.begR),it&&(_e+=" of initial"),ue.push(_e)),we("percent previous")&&(_e=S.formatPercent(Q.difR),it&&(_e+=" of previous"),ue.push(_e)),we("percent total")&&(_e=S.formatPercent(Q.sumR),it&&(_e+=" of total"),ue.push(_e))}return ue.join("
")}H.exports={plot:y,toMoveInsideBar:F}}}),ng=De({"src/traces/bar/hover.js"(Y,H){"use strict";var p=sf(),x=Mo(),S=vo(),E=ui().fillText,e=H_().getLineWidth,t=us().hoverLabelText,r=zn().BADNUM;function o(a,s,h,c,m){var d=i(a,s,h,c,m);if(d){var T=d.cd,l=T[0].trace,_=T[d.index];return d.color=n(l,_),x.getComponentMethod("errorbars","hoverInfo")(_,l,d),[d]}}function i(a,s,h,c,m){var d=a.cd,T=d[0].trace,l=d[0].t,_=c==="closest",w=T.type==="waterfall",A=a.maxHoverDistance,M=a.maxSpikeDistance,g,b,v,u,y,f,R;T.orientation==="h"?(g=h,b=s,v="y",u="x",y=ce,f=J):(g=s,b=h,v="x",u="y",f=ce,y=J);var L=T[v+"period"],z=_||L;function F(_e){return B(_e,-1)}function N(_e){return B(_e,1)}function B(_e,we){var Re=_e.w;return _e[v]+we*Re/2}function I(_e){return _e[v+"End"]-_e[v+"Start"]}var U=_?F:L?function(_e){return _e.p-I(_e)/2}:function(_e){return Math.min(F(_e),_e.p-l.bardelta/2)},O=_?N:L?function(_e){return _e.p+I(_e)/2}:function(_e){return Math.max(N(_e),_e.p+l.bardelta/2)};function X(_e,we,Re){return m.finiteRange&&(Re=0),p.inbox(_e-g,we-g,Re+Math.min(1,Math.abs(we-_e)/R)-1)}function J(_e){return X(U(_e),O(_e),A)}function se(_e){return X(F(_e),N(_e),M)}function le(_e){var we=_e[u];if(w){var Re=Math.abs(_e.rawS)||0;b>0?we+=Re:b<0&&(we-=Re)}return we}function ce(_e){var we=b,Re=_e.b,ze=le(_e);return p.inbox(Re-we,ze-we,A+(ze-we)/(ze-Re)-1)}function q(_e){var we=b,Re=_e.b,ze=le(_e);return p.inbox(Re-we,ze-we,M+(ze-we)/(ze-Re)-1)}var Z=a[v+"a"],ee=a[u+"a"];R=Math.abs(Z.r2c(Z.range[1])-Z.r2c(Z.range[0]));function V(_e){return(y(_e)+f(_e))/2}var oe=p.getDistanceFunction(c,y,f,V);if(p.getClosest(d,oe,a),a.index!==!1&&d[a.index].p!==r){z||(U=function(_e){return Math.min(F(_e),_e.p-l.bargroupwidth/2)},O=function(_e){return Math.max(N(_e),_e.p+l.bargroupwidth/2)});var ie=a.index,j=d[ie],Q=T.base?j.b+j.s:j.s;a[u+"0"]=a[u+"1"]=ee.c2p(j[u],!0),a[u+"LabelVal"]=Q;var re=l.extents[l.extents.round(j.p)];a[v+"0"]=Z.c2p(_?U(j):re[0],!0),a[v+"1"]=Z.c2p(_?O(j):re[1],!0);var ue=j.orig_p!==void 0;return a[v+"LabelVal"]=ue?j.orig_p:j.p,a.labelLabel=t(Z,a[v+"LabelVal"],T[v+"hoverformat"]),a.valueLabel=t(ee,a[u+"LabelVal"],T[u+"hoverformat"]),a.baseLabel=t(ee,j.b,T[u+"hoverformat"]),a.spikeDistance=(q(j)+se(j))/2,a[v+"Spike"]=Z.c2p(j.p,!0),E(j,T,a),a.hovertemplate=T.hovertemplate,a}}function n(a,s){var h=s.mcc||a.marker.color,c=s.mlcc||a.marker.line.color,m=e(a,s);if(S.opacity(h))return h;if(S.opacity(c)&&m)return c}H.exports={hoverPoints:o,hoverOnBars:i,getTraceColor:n}}}),xk=De({"src/traces/bar/event_data.js"(Y,H){"use strict";H.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}}}),og=De({"src/traces/bar/select.js"(Y,H){"use strict";H.exports=function(S,E){var e=S.cd,t=S.xaxis,r=S.yaxis,o=e[0].trace,i=o.type==="funnel",n=o.orientation==="h",a=[],s;if(E===!1)for(s=0;s0?(L="v",v>0?z=Math.min(y,u):z=Math.min(u)):v>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"&&v===0?(c("x0",0),c("dx",1)):U==="h"&&b===0&&(c("y0",0),c("dy",1)):U==="v"&&v===0?c("x0"):U==="h"&&b===0&&c("y0");var O=x.getComponentMethod("calendars","handleTraceDefaults");O(s,h,["x","y"],m)}function n(s,h,c,m){var d=m.prefix,T=p.coerce2(s,h,r,"marker.outliercolor"),l=c("marker.line.outliercolor"),_="outliers";h._hasPreCompStats?_="all":(T||l)&&(_="suspectedoutliers");var w=c(d+"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")),p.coerceSelectionMarkerOpacity(h,c)}function a(s,h){var c,m;function d(w){return p.coerce(m._input,m,r,w)}for(var T=0;Tle.uf};if(M._hasPreCompStats){var ie=M[z],j=function(yr){return L.d2c((M[yr]||[])[f])},Q=1/0,re=-1/0;for(f=0;f=le.q1&&le.q3>=le.med){var _e=j("lowerfence");le.lf=_e!==e&&_e<=le.q1?_e:m(le,q,Z);var we=j("upperfence");le.uf=we!==e&&we>=le.q3?we:d(le,q,Z);var Re=j("mean");le.mean=Re!==e?Re:Z?E.mean(q,Z):(le.q1+le.q3)/2;var ze=j("sd");le.sd=Re!==e&&ze>=0?ze:Z?E.stdev(q,Z,le.mean):le.q3-le.q1,le.lo=T(le),le.uo=l(le);var Xe=j("notchspan");Xe=Xe!==e&&Xe>0?Xe:_(le,Z),le.ln=le.med-Xe,le.un=le.med+Xe;var tt=le.lf,it=le.uf;M.boxpoints&&q.length&&(tt=Math.min(tt,q[0]),it=Math.max(it,q[Z-1])),M.notched&&(tt=Math.min(tt,le.ln),it=Math.max(it,le.un)),le.min=tt,le.max=it}else{E.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+le.q1,"median = "+le.med,"q3 = "+le.q3].join(` -`));var et;le.med!==e?et=le.med:le.q1!==e?le.q3!==e?et=(le.q1+le.q3)/2:et=le.q1:le.q3!==e?et=le.q3:et=0,le.med=et,le.q1=le.q3=et,le.lf=le.uf=et,le.mean=le.sd=et,le.ln=le.un=et,le.min=le.max=et}Q=Math.min(Q,le.min),re=Math.max(re,le.max),le.pts2=ce.filter(oe),u.push(le)}}M._extremes[L._id]=x.findExtremes(L,[Q,re],{padded:!0})}else{var nt=L.makeCalcdata(M,z),Ae=o(J,se),me=J.length,fe=i(me);for(f=0;f=0&&Be0){if(le={},le.pos=le[N]=J[f],ce=le.pts=fe[f].sort(h),q=le[z]=ce.map(c),Z=q.length,le.min=q[0],le.max=q[Z-1],le.mean=E.mean(q,Z),le.sd=E.stdev(q,Z,le.mean)*M.sdmultiple,le.med=E.interp(q,.5),Z%2&&(It||Pt)){var Vt,Wt;It?(Vt=q.slice(0,Z/2),Wt=q.slice(Z/2+1)):Pt&&(Vt=q.slice(0,Z/2+1),Wt=q.slice(Z/2)),le.q1=E.interp(Vt,.5),le.q3=E.interp(Wt,.5)}else le.q1=E.interp(q,.25),le.q3=E.interp(q,.75);le.lf=m(le,q,Z),le.uf=d(le,q,Z),le.lo=T(le),le.uo=l(le);var Cr=_(le,Z);le.ln=le.med-Cr,le.un=le.med+Cr,Qe=Math.min(Qe,le.ln),at=Math.max(at,le.un),le.pts2=ce.filter(oe),u.push(le)}M.notched&&E.isTypedArray(nt)&&(nt=Array.from(nt)),M._extremes[L._id]=x.findExtremes(L,M.notched?nt.concat([Qe,at]):nt,{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,v=A+"0"in w,u="d"+A in w;if(b||v&&u){var y=M.makeCalcdata(w,A),f=S(w,M,A,y).vals;return[f,y]}var R;v?R=w[A+"0"]:"name"in w&&(M.type==="category"||p(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,v=1-s[r+"gap"],u=1-s[r+"groupgap"];for(m=0;m0;if(L==="positive"?(le=z*(R?1:.5),Z=q,ce=Z=N):L==="negative"?(le=Z=N,ce=z*(R?1:.5),ee=q):(le=ce=z,Z=ee=q),re){var ue=y.pointpos,_e=y.jitter,we=y.marker.size/2,Re=0;ue+_e>=0&&(Re=q*(ue+_e),Re>le?(Q=!0,ie=we,V=Re):Re>Z&&(ie=we,V=le)),Re<=le&&(V=le);var ze=0;ue-_e<=0&&(ze=-q*(ue-_e),ze>ce?(Q=!0,j=we,oe=ze):ze>ee&&(j=we,oe=ce)),ze<=ce&&(oe=ce)}else V=le,oe=ce;var Xe=new Array(T.length);for(d=0;dM.lo&&(U.so=!0)}return b});A.enter().append("path").classed("point",!0),A.exit().remove(),A.call(S.translatePoints,c,m)}function i(n,a,s,h){var c=a.val,m=a.pos,d=!!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),v=m.l2p(b-w)+l,u=m.l2p(b+A)+l,y=d?(v+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"?p.select(this).attr("d","M"+f+","+v+"V"+u+(_==="sd"?"m0,0L"+R+","+y+"L"+f+","+v+"L"+L+","+y+"Z":"")):p.select(this).attr("d","M"+v+","+f+"H"+u+(_==="sd"?"m0,0L"+y+","+R+"L"+v+","+f+"L"+y+","+L+"Z":""))})}H.exports={plot:t,plotBoxAndWhiskers:r,plotPoints:o,plotBoxMean:i}}}),Y_=De({"src/traces/box/style.js"(Y,H){"use strict";var p=za(),x=vo(),S=ys();function E(t,r,o){var i=o||p.select(t).selectAll("g.trace.boxes");i.style("opacity",function(n){return n[0].trace.opacity}),i.each(function(n){var a=p.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=a.selectAll("path.box");if(s.type==="candlestick")m.each(function(T){if(!T.empty){var l=p.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),a.selectAll("path.mean").style({"stroke-width":h,"stroke-dasharray":2*h+"px,"+h+"px"}).call(x.stroke,s.line.color);var d=a.selectAll("path.point");S.pointStyle(d,s,t)}})}function e(t,r,o){var i=r[0].trace,n=o.selectAll("path.point");i.selectedpoints?S.selectedPointStyle(n,i):S.pointStyle(n,i,t)}H.exports={style:E,styleOnSelect:e}}}),D2=De({"src/traces/box/hover.js"(Y,H){"use strict";var p=us(),x=ui(),S=sf(),E=vo(),e=x.fillText;function t(i,n,a,s){var h=i.cd,c=h[0].trace,m=c.hoveron,d=[],T;return m.indexOf("boxes")!==-1&&(d=d.concat(r(i,n,a,s))),m.indexOf("points")!==-1&&(T=o(i,n,a)),s==="closest"?T?[T]:d:(T&&d.push(T),d)}function r(i,n,a,s){var h=i.cd,c=i.xa,m=i.ya,d=h[0].trace,T=h[0].t,l=d.type==="violin",_,w,A,M,g,b,v,u,y,f,R,L=T.bdPos,z,F,N=T.wHover,B=function(ze){return A.c2l(ze.pos)+T.bPos-A.c2l(b)};l&&d.side!=="both"?(d.side==="positive"&&(y=function(ze){var Xe=B(ze);return S.inbox(Xe,Xe+N,f)},z=L,F=0),d.side==="negative"&&(y=function(ze){var Xe=B(ze);return S.inbox(Xe-N,Xe,f)},z=0,F=L)):(y=function(ze){var Xe=B(ze);return S.inbox(Xe-N,Xe+N,f)},z=F=L);var I;l?I=function(ze){return S.inbox(ze.span[0]-g,ze.span[1]-g,f)}:I=function(ze){return S.inbox(ze.min-g,ze.max-g,f)},d.orientation==="h"?(g=n,b=a,v=I,u=y,_="y",A=m,w="x",M=c):(g=a,b=n,v=y,u=I,_="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=i.maxHoverDistance-U,R=i.maxSpikeDistance-U;function O(ze){return(v(ze)+u(ze))/2}var X=S.getDistanceFunction(s,v,u,O);if(S.getClosest(h,X,i),i.index===!1)return[];var J=h[i.index],se=d.line.color,le=(d.marker||{}).color;E.opacity(se)&&d.line.width?i.color=se:E.opacity(le)&&d.boxpoints?i.color=le:i.color=d.fillcolor,i[_+"0"]=A.c2p(J.pos+T.bPos-F,!0),i[_+"1"]=A.c2p(J.pos+T.bPos+z,!0),i[_+"LabelVal"]=J.orig_p!==void 0?J.orig_p:J.pos;var ce=_+"Spike";i.spikeDistance=O(J)*R/f,i[ce]=A.c2p(J.pos,!0);var q=d.boxmean||d.sizemode==="sd"||(d.meanline||{}).visible,Z=d.boxpoints||d.points,ee=Z&&q?["max","uf","q3","med","mean","q1","lf","min"]:Z&&!q?["max","uf","q3","med","q1","lf","min"]:!Z&&q?["max","q3","med","mean","q1","min"]:["max","q3","med","q1","min"],V=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(p(t))if(t=Number(t),p(E[x])){if(E[x]v&&vE){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 B=T.d2c(F,0,l);if(Br?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 a(h,c,m,d,T,l){if(d&&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 d=c.c2d(h,x,m).split("-");return d[0]===""&&(d.unshift(),d[0]="-"+d[0]),d}}}),j2=De({"src/traces/histogram/calc.js"(Y,H){"use strict";var p=vn(),x=ui(),S=Mo(),E=us(),{hasColorscale:e}=$h(),t=Jh(),r=xy(),o=B2(),i=O2(),n=N2(),a=U2();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],v=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,B=[],I=[],U=[],O=0,X=l.histnorm,J=l.histfunc,se=X.indexOf("density")!==-1,le,ce,q;u.enabled&&se&&(X=X.replace(/ ?density$/,""),se=!1);var Z=J==="max"||J==="min",ee=Z?null:0,V=o.count,oe=i[X],ie=!1,j=function(Be){return M.r2c(Be,0,v)},Q;for(x.isArrayOrTypedArray(l[b])&&J!=="count"&&(Q=l[b],ie=J==="avg",V=o[J]),y=j(R.start),ce=j(R.end)+(y-E.tickIncrement(y,R.size,!1,v))/1e6;y=0&&q<_e&&(O+=V(q,y,w,Q,I),we&&U[q].length&&tt!==L[U[q][0]]&&(we=!1),U[q].push(y),Xe[y]=q,Re=Math.min(Re,tt-F[q]),ze=Math.min(ze,F[q+1]-tt))}ue.leftGap=Re,ue.rightGap=ze;var it;we||(it=function(Be,Qe){return function(){var at=T._fullLayout._roundFnOpts[re];return a(at.leftGap,at.rightGap,F,M,v)(Be,Qe)}}),ie&&(O=n(w,I)),oe&&oe(w,O,B),u.enabled&&d(w,u.direction,u.currentbin);var et=Math.min(_.length,w.length),nt=[],Ae=0,me=et-1;for(y=0;y=Ae;y--)if(w[y]){me=y;break}for(y=Ae;y<=me;y++)if(p(_[y])&&p(w[y])){var fe={p:_[y],s:w[y],b:0};u.enabled||(fe.pts=U[y],we?fe.ph0=fe.ph1=U[y].length?L[U[y][0]]:_[y]:(l._computePh=!0,fe.ph0=it(F[y]),fe.ph1=it(F[y+1],!0))),nt.push(fe)}return nt.length===1&&(nt[0].width1=E.tickIncrement(nt[0].p,R.size,!1,v)-nt[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(nt,l),x.isArrayOrTypedArray(l.selectedpoints)&&x.tagSelected(nt,l,Xe),nt}function h(T,l,_,w,A){var M=w+"bins",g=T._fullLayout,b=l["_"+w+"bingroup"],v=g._histogramBinOpts[b],u=g.barmode==="overlay",y,f,R,L,z,F,N,B=function(tt){return _.r2c(tt,0,L)},I=function(tt){return _.c2r(tt,0,L)},U=_.type==="date"?function(tt){return tt||tt===0?x.cleanDate(tt,null,L):null}:function(tt){return p(tt)?Number(tt):null};function O(tt,it,et){it[tt+"Found"]?(it[tt]=U(it[tt]),it[tt]===null&&(it[tt]=et[tt])):(F[tt]=it[tt]=et[tt],x.nestedProperty(f[0],M+"."+tt).set(et[tt]))}if(l["_"+w+"autoBinFinished"])delete l["_"+w+"autoBinFinished"];else{f=v.traces;var X=[],J=!0,se=!1,le=!1;for(y=0;y"u"){if(A)return[q,z,!0];q=c(T,l,_,w,M)}N=R.cumulative||{},N.enabled&&N.currentbin!=="include"&&(N.direction==="decreasing"?q.start=I(E.tickIncrement(B(q.start),q.size,!0,L)):q.end=I(E.tickIncrement(B(q.end),q.size,!1,L))),v.size=q.size,v.sizeFound||(F.size=q.size,x.nestedProperty(f[0],M+".size").set(q.size)),O("start",v,q),O("end",v,q)}z=l["_"+w+"pos0"],delete l["_"+w+"pos0"];var ee=l._input[M]||{},V=x.extendFlat({},v),oe=v.start,ie=_.r2l(ee.start),j=ie!==void 0;if((v.startFound||j)&&ie!==_.r2l(oe)){var Q=j?ie:x.aggNums(Math.min,null,z),re={type:_.type==="category"||_.type==="multicategory"?"linear":_.type,r2l:_.r2l,dtick:v.size,tick0:oe,calendar:L,range:[Q,E.tickIncrement(Q,v.size,!1,L)].map(_.l2r)},ue=E.tickFirst(re);ue>_.r2l(Q)&&(ue=E.tickIncrement(ue,v.size,!0,L)),V.start=_.l2r(ue),j||x.nestedProperty(l,M+".start").set(V.start)}var _e=v.end,we=_.r2l(ee.end),Re=we!==void 0;if((v.endFound||Re)&&we!==_.r2l(_e)){var ze=Re?we:x.aggNums(Math.max,null,z);V.end=_.l2r(ze),Re||x.nestedProperty(l,M+".start").set(V.end)}var Xe="autobin"+w;return l._input[Xe]===!1&&(l._input[M]=x.extendFlat({},l[M]||{}),delete l._input[Xe],delete l[Xe]),[V,z]}function c(T,l,_,w,A){var M=T._fullLayout,g=m(T,l),b=!1,v=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())}}H.exports={calc:s,calcAllAutoBins:h}}}),Ek=De({"src/traces/histogram2d/calc.js"(Y,H){"use strict";var p=ui(),x=us(),S=B2(),E=O2(),e=N2(),t=U2(),r=j2().calcAllAutoBins;H.exports=function(s,h){var c=x.getFromId(s,h.xaxis),m=x.getFromId(s,h.yaxis),d=h.xcalendar,T=h.ycalendar,l=function(Ne){return c.r2c(Ne,0,d)},_=function(Ne){return m.r2c(Ne,0,T)},w=function(Ne){return c.c2r(Ne,0,d)},A=function(Ne){return m.c2r(Ne,0,T)},M,g,b,v,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=[],B=[],I=[],U=typeof y.size=="string",O=typeof L.size=="string",X=[],J=[],se=U?X:y,le=O?J:L,ce=0,q=[],Z=[],ee=h.histnorm,V=h.histfunc,oe=ee.indexOf("density")!==-1,ie=V==="max"||V==="min",j=ie?null:0,Q=S.count,re=E[ee],ue=!1,_e=[],we=[],Re="z"in h?h.z:"marker"in h&&Array.isArray(h.marker.color)?h.marker.color:"";Re&&V!=="count"&&(ue=V==="avg",Q=S[V]);var ze=y.size,Xe=l(y.start),tt=l(y.end)+(Xe-x.tickIncrement(Xe,ze,!1,d))/1e6;for(M=Xe;M=0&&b=0&&vx;n++)i=e(r,o,E(i));return i>x&&p.log("interp2d didn't converge quickly",i),r};function e(t,r,o){var i=0,n,a,s,h,c,m,d,T,l,_,w,A,M;for(h=0;hA&&(i=Math.max(i,Math.abs(t[a][s]-w)/(M-A))))}return i}}}),Q_=De({"src/traces/heatmap/find_empties.js"(Y,H){"use strict";var p=ui().maxRowLength;H.exports=function(S){var E=[],e={},t=[],r=S[0],o=[],i=[0,0,0],n=p(S),a,s,h,c,m,d,T,l;for(s=0;s=0;m--)c=t[m],s=c[0],h=c[1],d=((e[[s-1,h]]||i)[2]+(e[[s+1,h]]||i)[2]+(e[[s,h-1]]||i)[2]+(e[[s,h+1]]||i)[2])/20,d&&(T[c]=[s,h,d],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]})}}}),V2=De({"src/traces/heatmap/make_bound_array.js"(Y,H){"use strict";var p=Mo(),x=ui().isArrayOrTypedArray;H.exports=function(E,e,t,r,o,i){var n=[],a=p.traceIs(E,"contour"),s=p.traceIs(E,"histogram"),h,c,m,d=x(e)&&e.length>1;if(d&&!s&&i.type!=="category"){var T=e.length;if(T<=o){if(a)n=Array.from(e).slice(0,o);else if(o===1)i.type==="log"?n=[.5*e[0],2*e[0]]:n=[e[0]-.5,e[0]+.5];else if(i.type==="log"){for(n=[Math.pow(e[0],1.5)/Math.pow(e[1],.5)],m=1;m1){var ee=(Z[Z.length-1]-Z[0])/(Z.length-1),V=Math.abs(ee/100);for(F=0;FV)return!1}return!0}T._islinear=!1,l.type==="log"||_.type==="log"?M==="fast"&&I("log axis found"):U(g)?U(y)?T._islinear=!0:M==="fast"&&I("y scale is not linear"):M==="fast"&&I("x scale is not linear");var O=x.maxRowLength(z),X=T.xtype==="scaled"?"":g,J=a(T,X,b,v,O,l),se=T.ytype==="scaled"?"":y,le=a(T,se,f,R,z.length,_);T._extremes[l._id]=S.findExtremes(l,J),T._extremes[_._id]=S.findExtremes(_,le);var ce={x:J,y:le,z,text:T._text||T.text,hovertext:T._hovertext||T.hovertext};if(T.xperiodalignment&&u&&(ce.orig_x=u),T.yperiodalignment&&L&&(ce.orig_y=L),X&&X.length===J.length-1&&(ce.xCenter=X),se&&se.length===le.length-1&&(ce.yCenter=se),A&&(ce.xRanges=N.xRanges,ce.yRanges=N.yRanges,ce.pts=N.pts),w||t(d,T,{vals:z,cLetter:"z"}),w&&T.contours&&T.contours.coloring==="heatmap"){var q={type:T.type==="contour"?"heatmap":"histogram2d",xcalendar:T.xcalendar,ycalendar:T.ycalendar};ce.xfill=a(q,X,b,v,O,l),ce.yfill=a(q,se,f,R,z.length,_)}return[ce]};function h(m){for(var d=[],T=m.length,l=0;l0;)oe=y.c2p(U[re]),re--;for(oe0;)Q=f.c2p(O[re]),re--;Q=y._length||oe<=0||j>=f._length||Q<=0;if(tt){var it=L.selectAll("image").data([]);it.exit().remove(),_(L);return}var et,nt;we==="fast"?(et=q,nt=ce):(et=ze,nt=Xe);var Ae=document.createElement("canvas");Ae.width=et,Ae.height=nt;var me=Ae.getContext("2d",{willReadFrequently:!0}),fe=a(F,{noNumericCheck:!0,returnArray:!0}),Be,Qe;we==="fast"?(Be=Z?function(Li){return q-1-Li}:t.identity,Qe=ee?function(Li){return ce-1-Li}:t.identity):(Be=function(Li){return t.constrain(Math.round(y.c2p(U[Li])-V),0,ze)},Qe=function(Li){return t.constrain(Math.round(f.c2p(O[Li])-j),0,Xe)});var at=Qe(0),$e=[at,at],It=Z?0:1,Pt=ee?0:1,Vt=0,Wt=0,Cr=0,yr=0,qr,Mr,Dr,xt,Ne;function Ye(Li,Ia){if(Li!==void 0){var Fa=fe(Li);return Fa[0]=Math.round(Fa[0]),Fa[1]=Math.round(Fa[1]),Fa[2]=Math.round(Fa[2]),Vt+=Ia,Wt+=Fa[0]*Ia,Cr+=Fa[1]*Ia,yr+=Fa[2]*Ia,Fa}return[0,0,0,0]}function be(Li,Ia,Fa,un){var Bn=Li[Fa.bin0];if(Bn===void 0)return Ye(void 0,1);var Kn=Li[Fa.bin1],Gn=Ia[Fa.bin0],eo=Ia[Fa.bin1],Ao=Kn-Bn||0,An=Gn-Bn||0,Eo;return Kn===void 0?eo===void 0?Eo=0:Gn===void 0?Eo=2*(eo-Bn):Eo=(2*eo-Gn-Bn)*2/3:eo===void 0?Gn===void 0?Eo=0:Eo=(2*Bn-Kn-Gn)*2/3:Gn===void 0?Eo=(2*eo-Kn-Bn)*2/3:Eo=eo+Bn-Kn-Gn,Ye(Bn+Fa.frac*Ao+un.frac*(An+Fa.frac*Eo))}if(we!=="default"){var Ie=0,qe;try{qe=new Uint8Array(et*nt*4)}catch{qe=new Array(et*nt*4)}if(we==="smooth"){var ke=X||U,Me=J||O,Le=new Array(ke.length),ut=new Array(Me.length),lt=new Array(ze),gt=X?A:w,kt=J?A:w,nr,ir,tr;for(re=0;reoa||oa>f._length))for(ue=ri;ueca||ca>y._length)){var xa=o({x:ra,y:Wi},F,g._fullLayout);xa.x=ra,xa.y=Wi;var ji=z.z[re][ue];ji===void 0?(xa.z="",xa.zLabel=""):(xa.z=ji,xa.zLabel=e.tickText(Kt,ji,"hover").text);var pn=z.text&&z.text[re]&&z.text[re][ue];(pn===void 0||pn===!1)&&(pn=""),xa.text=pn;var _n=t.texttemplateString({data:[xa,F._meta],fallback:F.texttemplatefallback,labels:xa,locale:g._fullLayout._d3locale,template:_a});if(_n){var En=_n.split("
"),bt=En.length,st=0;for(_e=0;_e=_[0].length||R<0||R>_.length)return}else{if(p.inbox(o-T[0],o-T[T.length-1],0)>0||p.inbox(i-l[0],i-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:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}}}),Sy=De({"src/traces/contour/attributes.js"(Y,H){"use strict";var p=sg(),x=lf(),S=of(),E=S.axisHoverFormat,e=S.descriptionOnlyNumbers,t=zu(),r=Ch().dash,o=qu(),i=Xo().extendFlat,n=lx(),a=n.COMPARISON_OPS2,s=n.INTERVAL_OPS,h=x.line;H.exports=i({z:p.z,x:p.x,x0:p.x0,dx:p.dx,y:p.y,y0:p.y0,dy:p.dy,xperiod:p.xperiod,yperiod:p.yperiod,xperiod0:x.xperiod0,yperiod0:x.yperiod0,xperiodalignment:p.xperiodalignment,yperiodalignment:p.yperiodalignment,text:p.text,hovertext:p.hovertext,transpose:p.transpose,xtype:p.xtype,ytype:p.ytype,xhoverformat:E("x"),yhoverformat:E("y"),zhoverformat:E("z",1),hovertemplate:p.hovertemplate,hovertemplatefallback:p.hovertemplatefallback,texttemplate:i({},p.texttemplate,{}),texttemplatefallback:p.texttemplatefallback,textfont:i({},p.textfont,{}),hoverongaps:p.hoverongaps,connectgaps:i({},p.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(a).concat(s),dflt:"=",editType:"calc"},value:{valType:"any",dflt:0,editType:"calc"},editType:"calc",impliedEdits:{autocontour:!1}},line:{color:i({},h.color,{editType:"style+colorbars"}),width:{valType:"number",min:0,editType:"style+colorbars"},dash:r,smoothing:i({},h.smoothing,{}),editType:"plot"},zorder:x.zorder},t("",{cLetter:"z",autoColorDflt:!1,editTypeOverride:"calc"}))}}),X2=De({"src/traces/histogram2dcontour/attributes.js"(Y,H){"use strict";var p=sx(),x=Sy(),S=zu(),E=of().axisHoverFormat,e=Xo().extendFlat;H.exports=e({x:p.x,y:p.y,z:p.z,marker:p.marker,histnorm:p.histnorm,histfunc:p.histfunc,nbinsx:p.nbinsx,xbins:p.xbins,nbinsy:p.nbinsy,ybins:p.ybins,autobinx:p.autobinx,autobiny:p.autobiny,bingroup:p.bingroup,xbingroup:p.xbingroup,ybingroup:p.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:p.hovertemplate,hovertemplatefallback:p.hovertemplatefallback,texttemplate:x.texttemplate,texttemplatefallback:x.texttemplatefallback,textfont:x.textfont},S("",{cLetter:"z",editTypeOverride:"calc"}))}}),ux=De({"src/traces/contour/contours_defaults.js"(Y,H){"use strict";H.exports=function(x,S,E,e){var t=e("contours.start"),r=e("contours.end"),o=t===!1||r===!1,i=E("contours.size"),n;o?n=S.autocontour=!0:n=E("autocontour",!1),(n||!i)&&E("ncontours")}}}),Y2=De({"src/traces/contour/label_defaults.js"(Y,H){"use strict";var p=ui();H.exports=function(S,E,e,t){t||(t={});var r=S("contours.showlabels");if(r){var o=E.font;p.coerceFont(S,"contours.labelfont",o,{overrideDflt:{color:e}}),S("contours.labelformat")}t.hasHover!==!1&&S("zhoverformat")}}}),cx=De({"src/traces/contour/style_defaults.js"(Y,H){"use strict";var p=dh(),x=Y2();H.exports=function(E,e,t,r,o){var i=t("contours.coloring"),n,a="";i==="fill"&&(n=t("contours.showlines")),n!==!1&&(i!=="lines"&&(a=t("line.color","#000")),t("line.width",.5),t("line.dash")),i!=="none"&&(E.showlegend!==!0&&(e.showlegend=!1),e._dfltShowLegend=!1,p(E,e,r,t,{prefix:"",cLetter:"z"})),t("line.smoothing"),x(t,r,a,o)}}}),Nk=De({"src/traces/histogram2dcontour/defaults.js"(Y,H){"use strict";var p=ui(),x=W2(),S=ux(),E=cx(),e=Ay(),t=X2();H.exports=function(o,i,n,a){function s(c,m){return p.coerce(o,i,t,c,m)}function h(c){return p.coerce2(o,i,t,c)}x(o,i,s,a),i.visible!==!1&&(S(o,i,s,h),E(o,i,s,a),s("xhoverformat"),s("yhoverformat"),s("hovertemplate"),s("hovertemplatefallback"),i.contours&&i.contours.coloring==="heatmap"&&e(s,a))}}}),Z2=De({"src/traces/contour/set_contours.js"(Y,H){"use strict";var p=us(),x=ui();H.exports=function(e,t){var r=e.contours;if(e.autocontour){var o=e.zmin,i=e.zmax;(e.zauto||o===void 0)&&(o=x.aggNums(Math.min,null,t)),(e.zauto||i===void 0)&&(i=x.aggNums(Math.max,null,t));var n=S(o,i,e.ncontours);r.size=n.dtick,r.start=p.tickFirst(n),n.range.reverse(),r.end=p.tickFirst(n),r.start===o&&(r.start+=r.size),r.end===i&&(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 a=r.start,s=r.end,h=e._input.contours;if(a>s&&(r.start=h.start=s,s=r.end=h.end=a,a=r.start),!(r.size>0)){var c;a===s?c=1:c=S(a,s,e.ncontours).dtick,h.size=r.size=c}}};function S(E,e,t){var r={type:"linear",range:[E,e]};return p.autoTicks(r,(e-E)/(t||15)),r}}}),My=De({"src/traces/contour/end_plus.js"(Y,H){"use strict";H.exports=function(x){return x.end+x.size/1e6}}}),K2=De({"src/traces/contour/calc.js"(Y,H){"use strict";var p=oc(),x=ex(),S=Z2(),E=My();H.exports=function(t,r){var o=x(t,r),i=o[0].z;S(r,i);var n=r.contours,a=p.extractOpts(r),s;if(n.coloring==="heatmap"&&a.auto&&r.autocontour===!1){var h=n.start,c=E(n),m=n.size||1,d=Math.floor((c-h)/m)+1;isFinite(m)||(m=1,d=1);var T=h-m/2,l=T+d*m;s=[T,l]}else s=i;return p.calc(t,r,{vals:s,cLetter:"z"}),o}}}),Ey=De({"src/traces/contour/constants.js"(Y,H){"use strict";H.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}}}}),$2=De({"src/traces/contour/make_crossings.js"(Y,H){"use strict";var p=Ey();H.exports=function(E){var e=E[0].z,t=e.length,r=e[0].length,o=t===2||r===2,i,n,a,s,h,c,m,d,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}}}),J2=De({"src/traces/contour/find_all_paths.js"(Y,H){"use strict";var p=ui(),x=Ey();H.exports=function(i,n,a){var s,h,c,m,d;for(n=n||.01,a=a||.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){p.log("Found bad marching index:",c,i,o.level);break}d.push(r(o,i,m)),i[0]+=m[0],i[1]+=m[1],h=i.join(","),S(d[d.length-1],d[d.length-2],a,s)&&d.pop();var M=m[0]&&(i[0]<0||i[0]>l-2)||m[1]&&(i[1]<0||i[1]>T-2),g=i[0]===_[0]&&i[1]===_[1]&&m[0]===w[0]&&m[1]===w[1];if(g||n&&M)break;c=o.crossings[h]}A===1e4&&p.log("Infinite loop in contour?");var b=S(d[0],d[d.length-1],a,s),v=0,u=.2*o.smoothing,y=[],f=0,R,L,z,F,N,B,I,U,O,X,J;for(A=1;A=f;A--)if(R=y[A],R=f&&R+y[L]U&&O--,o.edgepaths[O]=J.concat(d,X));break}q||(o.edgepaths[U]=d.concat(X))}for(U=0;U20&&i?o===208||o===1114?a=n[0]===0?1:-1:s=n[1]===0?1:-1:x.BOTTOMSTART.indexOf(o)!==-1?s=1:x.LEFTSTART.indexOf(o)!==-1?a=1:x.TOPSTART.indexOf(o)!==-1?s=-1:a=-1,[a,s]}function r(o,i,n){var a=i[0]+Math.max(n[0],0),s=i[1]+Math.max(n[1],0),h=o.z[s][a],c=o.xaxis,m=o.yaxis;if(n[1]){var d=(o.level-h)/(o.z[s][a+1]-h),T=(d!==1?(1-d)*c.c2l(o.x[a]):0)+(d!==0?d*c.c2l(o.x[a+1]):0);return[c.c2p(c.l2c(T),!0),m.c2p(o.y[s],!0),a+d,s]}else{var l=(o.level-h)/(o.z[s+1][a]-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[a],!0),m.c2p(m.l2c(_),!0),a,s+l]}}}}),Uk=De({"src/traces/contour/constraint_mapping.js"(Y,H){"use strict";var p=lx(),x=vn();H.exports={"[]":E("[]"),"][":E("]["),">":e(">"),"<":e("<"),"=":e("=")};function S(t,r){var o=Array.isArray(r),i;function n(a){return x(a)?+a:null}return p.COMPARISON_OPS2.indexOf(t)!==-1?i=n(o?r[0]:r):p.INTERVAL_OPS.indexOf(t)!==-1?i=o?[n(r[0]),n(r[1])]:[n(r),n(r)]:p.SET_OPS.indexOf(t)!==-1&&(i=o?r.map(n):[n(r)]),i}function E(t){return function(r){r=S(t,r);var o=Math.min(r[0],r[1]),i=Math.max(r[0],r[1]);return{start:o,end:i,size:i-o}}}function e(t){return function(r){return r=S(t,r),{start:r,end:1/0,size:1/0}}}}}),Q2=De({"src/traces/contour/empty_pathinfo.js"(Y,H){"use strict";var p=ui(),x=Uk(),S=My();H.exports=function(e,t,r){for(var o=e.type==="constraint"?x[e._operation](e.value):e,i=o.size,n=[],a=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){p.warn("Too many contours, clipping at 1000",e);break}return n}}}),e3=De({"src/traces/contour/convert_to_constraints.js"(Y,H){"use strict";var p=ui();H.exports=function(S,E){var e,t,r,o=function(a){return a.reverse()},i=function(a){return a};switch(E){case"=":case"<":return S;case">":for(S.length!==1&&p.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,i=S.y.length,n=-1/0,a=1/0;for(e=0;e":s>n&&(S.prefixBoundary=!0);break;case"<":(sn||S.starts.length&&c===a)&&(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}}}}),fx=De({"src/traces/contour/plot.js"(Y){"use strict";var H=za(),p=ui(),x=ys(),S=oc(),E=vu(),e=us(),t=Dv(),r=rx(),o=$2(),i=J2(),n=Q2(),a=e3(),s=t3(),h=Ey(),c=h.LABELOPTIMIZER;Y.plot=function(g,b,v,u){var y=b.xaxis,f=b.yaxis;p.makeTraceGroups(u,v,"contour").each(function(R){var L=H.select(this),z=R[0],F=z.trace,N=z.x,B=z.y,I=F.contours,U=n(I,b,z),O=p.ensureSingle(L,"g","heatmapcoloring"),X=[];I.coloring==="heatmap"&&(X=[R]),r(g,b,X,O),o(U),i(U);var J=y.c2p(N[0],!0),se=y.c2p(N[N.length-1],!0),le=f.c2p(B[0],!0),ce=f.c2p(B[B.length-1],!0),q=[[J,ce],[se,ce],[se,le],[J,le]],Z=U;I.type==="constraint"&&(Z=a(U,I._operation)),m(L,q,I),d(L,Z,q,I),l(L,U,g,z,I),w(L,b,g,z,q)})};function m(M,g,b){var v=p.ensureSingle(M,"g","contourbg"),u=v.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 d(M,g,b,v){var u=v.coloring==="fill"||v.type==="constraint"&&v._operation!=="=",y="M"+b.join("L")+"Z";u&&s(g,v);var f=p.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?H.select(this).attr("d",z).style("stroke","none"):H.select(this).remove()})}function T(M,g){var b="",v=0,u=M.edgepaths.map(function(J,se){return se}),y=!0,f,R,L,z,F,N;function B(J){return Math.abs(J[1]-g[0][1])<.01}function I(J){return Math.abs(J[1]-g[2][1])<.01}function U(J){return Math.abs(J[0]-g[0][0])<.01}function O(J){return Math.abs(J[0]-g[2][0])<.01}for(;u.length;){for(N=x.smoothopen(M.edgepaths[v],M.smoothing),b+=y?N:N.replace(/^M/,"L"),u.splice(u.indexOf(v),1),f=M.edgepaths[v][M.edgepaths[v].length-1],z=-1,L=0;L<4;L++){if(!f){p.log("Missing end?",v,M);break}for(B(f)&&!O(f)?R=g[1]:U(f)?R=g[0]:I(f)?R=g[3]:O(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):p.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){p.log("unclosed perimeter path");break}v=z,y=u.indexOf(v)===-1,y&&(v=u[0],b+="Z")}for(v=0;vc.MAXCOST*2)break;B&&(R/=2),f=z-R/2,L=f+R*1.5}if(N<=c.MAXCOST)return F};function _(M,g,b,v){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>v.center?v.right-f:f-v.left)/(z+Math.abs(Math.sin(L)*y)),B=(R>v.middle?v.bottom-R:R-v.top)/(Math.abs(F)+Math.cos(L)*y);if(N<1||B<1)return 1/0;var I=c.EDGECOST*(1/(N-1)+1/(B-1));I+=c.ANGLECOST*L*L;for(var U=f-z,O=R-F,X=f+z,J=R+F,se=0;se=w)&&(r<=_&&(r=_),o>=w&&(o=w),n=Math.floor((o-r)/i)+1,a=0),l=0;l_&&(m.unshift(_),d.unshift(d[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])]:p(s.value)&&(h=parseFloat(s.value),s.value=[h,h+1])):(a("contours.value",0),p(s.value)||(r(s.value)?s.value=parseFloat(s.value[0]):s.value=0))}}}),qk=De({"src/traces/contour/defaults.js"(Y,H){"use strict";var p=ui(),x=Z_(),S=pv(),E=a3(),e=ux(),t=cx(),r=Ay(),o=Sy();H.exports=function(n,a,s,h){function c(l,_){return p.coerce(n,a,o,l,_)}function m(l){return p.coerce2(n,a,o,l)}var d=x(n,a,c,h);if(!d){a.visible=!1;return}S(n,a,h,c),c("xhoverformat"),c("yhoverformat"),c("text"),c("hovertext"),c("hoverongaps"),c("hovertemplate"),c("hovertemplatefallback");var T=c("contours.type")==="constraint";c("connectgaps",p.isArray1D(a.z)),T?E(n,a,c,h,s):(e(n,a,c,m),t(n,a,c,h)),a.contours&&a.contours.coloring==="heatmap"&&r(c,h),c("zorder")}}}),Hk=De({"src/traces/contour/index.js"(Y,H){"use strict";H.exports={attributes:Sy(),supplyDefaults:qk(),calc:K2(),plot:fx().plot,style:hx(),colorbar:dx(),hoverPoints:i3(),moduleType:"trace",name:"contour",basePlotModule:Gf(),categories:["cartesian","svg","2dMap","contour","showLegend"],meta:{}}}}),Gk=De({"lib/contour.js"(Y,H){"use strict";H.exports=Hk()}}),n3=De({"src/traces/scatterternary/attributes.js"(Y,H){"use strict";var{hovertemplateAttrs:p,texttemplateAttrs:x,templatefallbackAttrs:S}=ou(),E=vv(),e=lf(),t=Yl(),r=zu(),o=Ch().dash,i=Xo().extendFlat,n=e.marker,a=e.line,s=n.line;H.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:i({},e.mode,{dflt:"markers"}),text:i({},e.text,{}),texttemplate:x({editType:"plot"},{keys:["a","b","c","text"]}),texttemplatefallback:S({editType:"plot"}),hovertext:i({},e.hovertext,{}),line:{color:a.color,width:a.width,dash:o,backoff:a.backoff,shape:i({},a.shape,{values:["linear","spline"]}),smoothing:a.smoothing,editType:"calc"},connectgaps:e.connectgaps,cliponaxis:e.cliponaxis,fill:i({},e.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:E(),marker:i({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:i({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:i({},t.hoverinfo,{flags:["a","b","c","text","name"]}),hoveron:e.hoveron,hovertemplate:p(),hovertemplatefallback:S()}}}),Wk=De({"src/traces/scatterternary/defaults.js"(Y,H){"use strict";var p=ui(),x=zv(),S=Hu(),E=Od(),e=Wd(),t=eg(),r=Xd(),o=mv(),i=n3();H.exports=function(a,s,h,c){function m(M,g){return p.coerce(a,s,i,M,g)}var d=m("a"),T=m("b"),l=m("c"),_;if(d?(_=d.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}}}),$k=De({"src/traces/scatterternary/event_data.js"(Y,H){"use strict";H.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}}}),Jk=De({"src/plots/ternary/ternary.js"(Y,H){"use strict";var p=za(),x=wu(),S=Mo(),E=ui(),e=E.strTranslate,t=E._,r=vo(),o=ys(),i=Dv(),n=Xo().extendFlat,a=Mc(),s=us(),h=Qh(),c=sf(),m=dv(),d=m.freeMode,T=m.rectMode,l=j0(),_=Af().prepSelect,w=Af().selectOnClick,A=Af().clearOutline,M=Af().clearSelectionsCache,g=th();function b(I,U){this.id=I.id,this.graphDiv=I.graphDiv,this.init(U),this.makeFramework(U),this.updateFx(U),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}H.exports=b;var v=b.prototype;v.init=function(I){this.container=I._ternarylayer,this.defs=I._defs,this.layoutId=I._uid,this.traceHash={},this.layers={}},v.plot=function(I,U){var O=this,X=U[O.id],J=U._size;O._hasClipOnAxisFalse=!1;for(var se=0;seu*Z?(ue=Z,re=ue*u):(re=q,ue=re/u),_e=le*re/q,we=ce*ue/Z,j=U.l+U.w*J-re/2,Q=U.t+U.h*(1-se)-ue/2,O.x0=j,O.y0=Q,O.w=re,O.h=ue,O.sum=ee,O.xaxis={type:"linear",range:[V+2*ie-ee,ee-V-2*oe],domain:[J-_e/2,J+_e/2],_id:"x"},i(O.xaxis,O.graphDiv._fullLayout),O.xaxis.setScale(),O.xaxis.isPtWithinRange=function(Be){return Be.a>=O.aaxis.range[0]&&Be.a<=O.aaxis.range[1]&&Be.b>=O.baxis.range[1]&&Be.b<=O.baxis.range[0]&&Be.c>=O.caxis.range[1]&&Be.c<=O.caxis.range[0]},O.yaxis={type:"linear",range:[V,ee-oe-ie],domain:[se-we/2,se+we/2],_id:"y"},i(O.yaxis,O.graphDiv._fullLayout),O.yaxis.setScale(),O.yaxis.isPtWithinRange=function(){return!0};var Re=O.yaxis.domain[0],ze=O.aaxis=n({},I.aaxis,{range:[V,ee-oe-ie],side:"left",tickangle:(+I.aaxis.tickangle||0)-30,domain:[Re,Re+we*u],anchor:"free",position:0,_id:"y",_length:re});i(ze,O.graphDiv._fullLayout),ze.setScale();var Xe=O.baxis=n({},I.baxis,{range:[ee-V-ie,oe],side:"bottom",domain:O.xaxis.domain,anchor:"free",position:0,_id:"x",_length:re});i(Xe,O.graphDiv._fullLayout),Xe.setScale();var tt=O.caxis=n({},I.caxis,{range:[ee-V-oe,ie],side:"right",tickangle:(+I.caxis.tickangle||0)+30,domain:[Re,Re+we*u],anchor:"free",position:0,_id:"y",_length:re});i(tt,O.graphDiv._fullLayout),tt.setScale();var it="M"+j+","+(Q+ue)+"h"+re+"l-"+re/2+",-"+ue+"Z";O.clipDef.select("path").attr("d",it),O.layers.plotbg.select("path").attr("d",it);var et="M0,"+ue+"h"+re+"l-"+re/2+",-"+ue+"Z";O.clipDefRelative.select("path").attr("d",et);var nt=e(j,Q);O.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",nt),O.clipDefRelative.select("path").attr("transform",null);var Ae=e(j-Xe._offset,Q+ue);O.layers.baxis.attr("transform",Ae),O.layers.bgrid.attr("transform",Ae);var me=e(j+re/2,Q)+"rotate(30)"+e(0,-ze._offset);O.layers.aaxis.attr("transform",me),O.layers.agrid.attr("transform",me);var fe=e(j+re/2,Q)+"rotate(-30)"+e(0,-tt._offset);O.layers.caxis.attr("transform",fe),O.layers.cgrid.attr("transform",fe),O.drawAxes(!0),O.layers.aline.select("path").attr("d",ze.showline?"M"+j+","+(Q+ue)+"l"+re/2+",-"+ue:"M0,0").call(r.stroke,ze.linecolor||"#000").style("stroke-width",(ze.linewidth||0)+"px"),O.layers.bline.select("path").attr("d",Xe.showline?"M"+j+","+(Q+ue)+"h"+re:"M0,0").call(r.stroke,Xe.linecolor||"#000").style("stroke-width",(Xe.linewidth||0)+"px"),O.layers.cline.select("path").attr("d",tt.showline?"M"+(j+re/2)+","+Q+"l"+re/2+","+ue:"M0,0").call(r.stroke,tt.linecolor||"#000").style("stroke-width",(tt.linewidth||0)+"px"),O.graphDiv._context.staticPlot||O.initInteractions(),o.setClipUrl(O.layers.frontplot,O._hasClipOnAxisFalse?null:O.clipId,O.graphDiv)},v.drawAxes=function(I){var U=this,O=U.graphDiv,X=U.id.slice(7)+"title",J=U.layers,se=U.aaxis,le=U.baxis,ce=U.caxis;if(U.drawAx(se),U.drawAx(le),U.drawAx(ce),I){var q=Math.max(se.showticklabels?se.tickfont.size/2:0,(ce.showticklabels?ce.tickfont.size*.75:0)+(ce.ticks==="outside"?ce.ticklen*.87:0)),Z=(le.showticklabels?le.tickfont.size:0)+(le.ticks==="outside"?le.ticklen:0)+3;J["a-title"]=l.draw(O,"a"+X,{propContainer:se,propName:U.id+".aaxis.title.text",placeholder:t(O,"Click to enter Component A title"),attributes:{x:U.x0+U.w/2,y:U.y0-se.title.font.size/3-q,"text-anchor":"middle"}}),J["b-title"]=l.draw(O,"b"+X,{propContainer:le,propName:U.id+".baxis.title.text",placeholder:t(O,"Click to enter Component B title"),attributes:{x:U.x0-Z,y:U.y0+U.h+le.title.font.size*.83+Z,"text-anchor":"middle"}}),J["c-title"]=l.draw(O,"c"+X,{propContainer:ce,propName:U.id+".caxis.title.text",placeholder:t(O,"Click to enter Component C title"),attributes:{x:U.x0+U.w+Z,y:U.y0+U.h+ce.title.font.size*.83+Z,"text-anchor":"middle"}})}},v.drawAx=function(I){var U=this,O=U.graphDiv,X=I._name,J=X.charAt(0),se=I._id,le=U.layers[X],ce=30,q=J+"tickLayout",Z=y(I);U[q]!==Z&&(le.selectAll("."+se+"tick").remove(),U[q]=Z),I.setScale();var ee=s.calcTicks(I),V=s.clipEnds(I,ee),oe=s.makeTransTickFn(I),ie=s.getTickSigns(I)[2],j=E.deg2rad(ce),Q=ie*(I.linewidth||1)/2,re=ie*I.ticklen,ue=U.w,_e=U.h,we=J==="b"?"M0,"+Q+"l"+Math.sin(j)*re+","+Math.cos(j)*re:"M"+Q+",0l"+Math.cos(j)*re+","+-Math.sin(j)*re,Re={a:"M0,0l"+_e+",-"+ue/2,b:"M0,0l-"+ue/2+",-"+_e,c:"M0,0l-"+_e+","+ue/2}[J];s.drawTicks(O,I,{vals:I.ticks==="inside"?V:ee,layer:le,path:we,transFn:oe,crisp:!1}),s.drawGrid(O,I,{vals:V,layer:U.layers[J+"grid"],path:Re,transFn:oe,crisp:!1}),s.drawLabels(O,I,{vals:ee,layer:le,transFn:oe,labelFns:s.makeLabelFns(I,0,ce)})};function y(I){return I.ticks+String(I.ticklen)+String(I.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;v.clearOutline=function(){M(this.dragOptions),A(this.dragOptions.gd)},v.initInteractions=function(){var I=this,U=I.layers.plotbg.select("path").node(),O=I.graphDiv,X=O._fullLayout._zoomlayer,J,se;this.dragOptions={element:U,gd:O,plotinfo:{id:I.id,domain:O._fullLayout[I.id].domain,xaxis:I.xaxis,yaxis:I.yaxis},subplot:I.id,prepFn:function(Ae,me,fe){I.dragOptions.xaxes=[I.xaxis],I.dragOptions.yaxes=[I.yaxis],J=O._fullLayout._invScaleX,se=O._fullLayout._invScaleY;var Be=I.dragOptions.dragmode=O._fullLayout.dragmode;d(Be)?I.dragOptions.minDrag=1:I.dragOptions.minDrag=void 0,Be==="zoom"?(I.dragOptions.moveFn=Xe,I.dragOptions.clickFn=ue,I.dragOptions.doneFn=tt,_e(Ae,me,fe)):Be==="pan"?(I.dragOptions.moveFn=et,I.dragOptions.clickFn=ue,I.dragOptions.doneFn=nt,it(),I.clearOutline(O)):(T(Be)||d(Be))&&_(Ae,me,fe,I.dragOptions,Be)}};var le,ce,q,Z,ee,V,oe,ie,j,Q;function re(Ae){var me={};return me[I.id+".aaxis.min"]=Ae.a,me[I.id+".baxis.min"]=Ae.b,me[I.id+".caxis.min"]=Ae.c,me}function ue(Ae,me){var fe=O._fullLayout.clickmode;B(O),Ae===2&&(O.emit("plotly_doubleclick",null),S.call("_guiRelayout",O,re({a:0,b:0,c:0}))),fe.indexOf("select")>-1&&Ae===1&&w(me,O,[I.xaxis],[I.yaxis],I.id,I.dragOptions),fe.indexOf("event")>-1&&c.click(O,me,I.id)}function _e(Ae,me,fe){var Be=U.getBoundingClientRect();le=me-Be.left,ce=fe-Be.top,O._fullLayout._calcInverseTransform(O);var Qe=O._fullLayout._invTransform,at=E.apply3DTransform(Qe)(le,ce);le=at[0],ce=at[1],q={a:I.aaxis.range[0],b:I.baxis.range[1],c:I.caxis.range[1]},ee=q,Z=I.aaxis.range[1]-q.a,V=x(I.graphDiv._fullLayout[I.id].bgcolor).getLuminance(),oe="M0,"+I.h+"L"+I.w/2+", 0L"+I.w+","+I.h+"Z",ie=!1,j=X.append("path").attr("class","zoombox").attr("transform",e(I.x0,I.y0)).style({fill:V>.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(I.x0,I.y0)).style({fill:r.background,stroke:r.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),I.clearOutline(O)}function we(Ae,me){return 1-me/I.h}function Re(Ae,me){return 1-(Ae+(I.h-me)/Math.sqrt(3))/I.w}function ze(Ae,me){return(Ae-(I.h-me)/Math.sqrt(3))/I.w}function Xe(Ae,me){var fe=le+Ae*J,Be=ce+me*se,Qe=Math.max(0,Math.min(1,we(le,ce),we(fe,Be))),at=Math.max(0,Math.min(1,Re(le,ce),Re(fe,Be))),$e=Math.max(0,Math.min(1,ze(le,ce),ze(fe,Be))),It=(Qe/2+$e)*I.w,Pt=(1-Qe/2-at)*I.w,Vt=(It+Pt)/2,Wt=Pt-It,Cr=(1-Qe)*I.h,yr=Cr-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),ie=!0),O.emit("plotly_relayouting",re(ee))}function tt(){B(O),ee!==q&&(S.call("_guiRelayout",O,re(ee)),N&&O.data&&O._context.showTips&&(E.notifier(t(O,"Double-click to zoom back out"),"long"),N=!1))}function it(){q={a:I.aaxis.range[0],b:I.baxis.range[1],c:I.caxis.range[1]},ee=q}function et(Ae,me){var fe=Ae/I.xaxis._m,Be=me/I.yaxis._m;ee={a:q.a-Be,b:q.b+(fe+Be)/2,c:q.c-(fe-Be)/2};var Qe=[ee.a,ee.b,ee.c].sort(E.sorterAsc),at={a:Qe.indexOf(ee.a),b:Qe.indexOf(ee.b),c:Qe.indexOf(ee.c)};Qe[0]<0&&(Qe[1]+Qe[0]/2<0?(Qe[2]+=Qe[0]+Qe[1],Qe[0]=Qe[1]=0):(Qe[2]+=Qe[0]/2,Qe[1]+=Qe[0]/2,Qe[0]=0),ee={a:Qe[at.a],b:Qe[at.b],c:Qe[at.c]},me=(q.a-ee.a)*I.yaxis._m,Ae=(q.c-ee.c-q.b+ee.b)*I.xaxis._m);var $e=e(I.x0+Ae,I.y0+me);I.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",$e);var It=e(-Ae,-me);I.clipDefRelative.select("path").attr("transform",It),I.aaxis.range=[ee.a,I.sum-ee.b-ee.c],I.baxis.range=[I.sum-ee.a-ee.c,ee.b],I.caxis.range=[I.sum-ee.a-ee.b,ee.c],I.drawAxes(!1),I._hasClipOnAxisFalse&&I.plotContainer.select(".scatterlayer").selectAll(".trace").call(o.hideOutsideRangePoints,I),O.emit("plotly_relayouting",re(ee))}function nt(){S.call("_guiRelayout",O,re(ee))}U.onmousemove=function(Ae){c.hover(O,Ae,I.id),O._fullLayout._lasthover=U,O._fullLayout._hoversubplot=I.id},U.onmouseout=function(Ae){O._dragging||h.unhover(O,Ae)},h.init(this.dragOptions)};function B(I){p.select(I).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}}}),o3=De({"src/plots/ternary/layout_attributes.js"(Y,H){"use strict";var p=Pf(),x=Ec().attributes,S=Ih(),E=gc().overrideAll,e=Xo().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=H.exports=E({domain:x({name:"ternary"}),bgcolor:{valType:"color",dflt:p.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"}}}),Kp=De({"src/plots/subplot_defaults.js"(Y,H){"use strict";var p=ui(),x=Gl(),S=Ec().defaults;H.exports=function(e,t,r,o){var i=o.type,n=o.attributes,a=o.handleDefaults,s=o.partition||"x",h=t._subplots[i],c=h.length,m=c&&h[0].replace(/\d+$/,""),d,T;function l(M,g){return p.coerce(d,T,n,M,g)}for(var _=0;_=_&&(b.min=0,v.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,d,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:d.font.color,M=m._name,g=M.charAt(0).toUpperCase(),b="Component "+g,v=_("title.text",b);m._hovertitle=v===b?v:g,S.coerceFont(_,"title.font",d.font,{overrideDflt:{size:S.bigFont(d.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",d.font,{overrideDflt:{color:A}}),_("tickangle"),_("tickformat")),i(c,m,_,{dfltColor:w,bgColor:d.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:l}),_("hoverformat"),_("layer")}}}),e6=De({"src/plots/ternary/index.js"(Y){"use strict";var H=Jk(),p=Lh().getSubplotCalcData,x=ui().counterRegex,S="ternary";Y.name=S;var E=Y.attr="subplot";Y.idRoot=S,Y.idRegex=Y.attrRegex=x(S);var e=Y.attributes={};e[E]={valType:"subplotid",dflt:"ternary",editType:"calc"},Y.layoutAttributes=o3(),Y.supplyLayoutDefaults=Qk(),Y.plot=function(r){for(var o=r._fullLayout,i=r.calcdata,n=o._subplots[S],a=0;a0){var M=r.xa,g=r.ya,b,v,u,y,f;c.orientation==="h"?(f=o,b="y",u=g,v="x",y=M):(f=i,b="x",u=M,v="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),B=u._offset,I=u._length;L[b+"0"]=N[0],L[b+"1"]=N[1],L[v+"0"]=L[v+"1"]=z,L[v+"Label"]=v+": "+S.hoverLabelText(y,f,c[v+"hoverformat"])+", "+h[0].t.labels.kde+" "+F.toFixed(3);for(var U=0,O=0;O path").each(function(d){if(!d.isBlank){var T=m.marker;p.select(this).call(S.fill,d.mc||T.color).call(S.stroke,d.mlc||T.line.color).call(x.dashLine,T.line.dash,d.mlw||T.line.width).style("opacity",m.selectedpoints&&!d.selected?E:1)}}),r(c,m,i),c.selectAll(".regions").each(function(){p.select(this).selectAll("path").style("stroke-width",0).call(S.fill,m.connector.fillcolor)}),c.selectAll(".lines").each(function(){var d=m.connector.line;x.lineGroupStyle(p.select(this).selectAll("path"),d.width,d.color,d.dash)})})}H.exports={style:o}}}),_6=De({"src/traces/funnel/hover.js"(Y,H){"use strict";var p=vo().opacity,x=ng().hoverOnBars,S=ui().formatPercent;H.exports=function(t,r,o,i,n){var a=x(t,r,o,i,n);if(a){var s=a.cd,h=s[0].trace,c=h.orientation==="h",m=a.index,d=s[m],T=c?"x":"y";a[T+"LabelVal"]=d.s,a.percentInitial=d.begR,a.percentInitialLabel=S(d.begR,1),a.percentPrevious=d.difR,a.percentPreviousLabel=S(d.difR,1),a.percentTotal=d.sumR,a.percentTotalLabel=S(d.sumR,1);var l=d.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(a.percentInitialLabel+" of initial"),M("percent previous")&&_.push(a.percentPreviousLabel+" of previous"),M("percent total")&&_.push(a.percentTotalLabel+" of total")}return a.extraText=_.join("
"),a.color=E(h,d),[a]}};function E(e,t){var r=e.marker,o=t.mc||r.color,i=t.mlc||r.line.color,n=t.mlw||r.line.width;if(p(o))return o;if(p(i)&&n)return i}}}),x6=De({"src/traces/funnel/event_data.js"(Y,H){"use strict";H.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}}}),b6=De({"src/traces/funnel/index.js"(Y,H){"use strict";H.exports={attributes:u3(),layoutAttributes:c3(),supplyDefaults:f3().supplyDefaults,crossTraceDefaults:f3().crossTraceDefaults,supplyLayoutDefaults:d6(),calc:p6(),crossTraceCalc:m6(),plot:g6(),style:y6().style,hoverPoints:_6(),eventData:x6(),selectPoints:og(),moduleType:"trace",name:"funnel",basePlotModule:Gf(),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}}}),w6=De({"lib/funnel.js"(Y,H){"use strict";H.exports=b6()}}),T6=De({"src/traces/waterfall/constants.js"(Y,H){"use strict";H.exports={eventDataKeys:["initial","delta","final"]}}}),h3=De({"src/traces/waterfall/attributes.js"(Y,H){"use strict";var p=Bv(),x=lf().line,S=Yl(),E=of().axisHoverFormat,{hovertemplateAttrs:e,texttemplateAttrs:t,templatefallbackAttrs:r}=ou(),o=T6(),i=Xo().extendFlat,n=vo();function a(s){return{marker:{color:i({},p.marker.color,{arrayOk:!1,editType:"style"}),line:{color:i({},p.marker.line.color,{arrayOk:!1,editType:"style"}),width:i({},p.marker.line.width,{arrayOk:!1,editType:"style"}),editType:"style"},editType:"style"},editType:"style"}}H.exports={measure:{valType:"data_array",dflt:[],editType:"calc"},base:{valType:"number",dflt:null,arrayOk:!1,editType:"calc"},x:p.x,x0:p.x0,dx:p.dx,y:p.y,y0:p.y0,dy:p.dy,xperiod:p.xperiod,yperiod:p.yperiod,xperiod0:p.xperiod0,yperiod0:p.yperiod0,xperiodalignment:p.xperiodalignment,yperiodalignment:p.yperiodalignment,xhoverformat:E("x"),yhoverformat:E("y"),hovertext:p.hovertext,hovertemplate:e({},{keys:o.eventDataKeys}),hovertemplatefallback:r(),hoverinfo:i({},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:p.text,textposition:p.textposition,insidetextanchor:p.insidetextanchor,textangle:p.textangle,textfont:p.textfont,insidetextfont:p.insidetextfont,outsidetextfont:p.outsidetextfont,constraintext:p.constraintext,cliponaxis:p.cliponaxis,orientation:p.orientation,offset:p.offset,width:p.width,increasing:a("increasing"),decreasing:a("decreasing"),totals:a("intermediate sums and total"),connector:{line:{color:i({},x.color,{dflt:n.defaultLine}),width:i({},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:p.offsetgroup,alignmentgroup:p.alignmentgroup,zorder:p.zorder}}}),d3=De({"src/traces/waterfall/layout_attributes.js"(Y,H){"use strict";H.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"}}}}),lg=De({"src/constants/delta.js"(Y,H){"use strict";H.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"\u25B2"},DECREASING:{COLOR:"#FF4136",SYMBOL:"\u25BC"}}}}),v3=De({"src/traces/waterfall/defaults.js"(Y,H){"use strict";var p=ui(),x=H0(),S=Nd().handleText,E=Qm(),e=pv(),t=h3(),r=vo(),o=lg(),i=o.INCREASING.COLOR,n=o.DECREASING.COLOR,a="#4499FF";function s(m,d,T){m(d+".marker.color",T),m(d+".marker.line.color",r.defaultLine),m(d+".marker.line.width")}function h(m,d,T,l){function _(b,v){return p.coerce(m,d,t,b,v)}var w=E(m,d,l,_);if(!w){d.visible=!1;return}e(m,d,l,_),_("xhoverformat"),_("yhoverformat"),_("measure"),_("orientation",d.x&&!d.y?"h":"v"),_("base"),_("offset"),_("width"),_("text"),_("hovertext"),_("hovertemplate"),_("hovertemplatefallback");var A=_("textposition");S(m,d,l,_,A,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),d.textposition!=="none"&&(_("texttemplate"),_("texttemplatefallback"),d.texttemplate||_("textinfo")),s(_,"increasing",i),s(_,"decreasing",n),s(_,"totals",a);var M=_("connector.visible");if(M){_("connector.mode");var g=_("connector.line.width");g&&(_("connector.line.color"),_("connector.line.dash"))}_("zorder")}function c(m,d){var T,l;function _(A){return p.coerce(l._input,l,t,A)}if(d.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(d){if(!d.isBlank){var T=m[d.dir].marker;p.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&&!d.selected?E:1)}}),r(c,m,i),c.selectAll(".lines").each(function(){var d=m.connector.line;x.lineGroupStyle(p.select(this).selectAll("path"),d.width,d.color,d.dash)})})}H.exports={style:o}}}),C6=De({"src/traces/waterfall/hover.js"(Y,H){"use strict";var p=us().hoverLabelText,x=vo().opacity,S=ng().hoverOnBars,E=lg(),e={increasing:E.INCREASING.SYMBOL,decreasing:E.DECREASING.SYMBOL};H.exports=function(o,i,n,a,s){var h=S(o,i,n,a,s);if(!h)return;var c=h.cd,m=c[0].trace,d=m.orientation==="h",T=d?"x":"y",l=d?o.xa:o.ya;function _(R){return p(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,v=[];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")&&(d?!f("x"):!f("y"))&&v.push(h.finalLabel),f("delta")&&(M<0?v.push(h.deltaLabel+" "+e.decreasing):v.push(h.deltaLabel+" "+e.increasing)),f("initial")&&v.push("Initial: "+h.initialLabel))}return v.length&&(h.extraText=v.join("
")),h.color=t(m,A),[h]};function t(r,o){var i=r[o.dir].marker,n=i.color,a=i.line.color,s=i.line.width;if(x(n))return n;if(x(a)&&s)return a}}}),L6=De({"src/traces/waterfall/event_data.js"(Y,H){"use strict";H.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}}}),I6=De({"src/traces/waterfall/index.js"(Y,H){"use strict";H.exports={attributes:h3(),layoutAttributes:d3(),supplyDefaults:v3().supplyDefaults,crossTraceDefaults:v3().crossTraceDefaults,supplyLayoutDefaults:A6(),calc:S6(),crossTraceCalc:M6(),plot:E6(),style:k6().style,hoverPoints:C6(),eventData:L6(),selectPoints:og(),moduleType:"trace",name:"waterfall",basePlotModule:Gf(),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}}}),P6=De({"lib/waterfall.js"(Y,H){"use strict";H.exports=I6()}}),ug=De({"src/traces/image/constants.js"(Y,H){"use strict";H.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(p){return p.slice(0,3)},suffix:["","",""]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(p){return p.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(p){return p.slice(0,4)},suffix:["","","",""]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(p){var x=p.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(p){var x=p.slice(0,4);return x[1]=x[1]+"%",x[2]=x[2]+"%",x},suffix:["\xB0","%","%",""]}}}}}),p3=De({"src/traces/image/attributes.js"(Y,H){"use strict";var p=Yl(),x=lf().zorder,{hovertemplateAttrs:S,templatefallbackAttrs:E}=ou(),e=Xo().extendFlat,t=ug().colormodel,r=["rgb","rgba","rgba256","hsl","hsla"],o=[],i=[];for(a=0;a0)throw new Error("Invalid string. Length must be a multiple of 4");var m=h.indexOf("=");m===-1&&(m=c);var d=m===c?0:4-m%4;return[m,d]}function r(h){var c=t(h),m=c[0],d=c[1];return(m+d)*3/4-d}function o(h,c,m){return(c+m)*3/4-m}function i(h){var c,m=t(h),d=m[0],T=m[1],l=new x(o(h,d,T)),_=0,w=T>0?d-4:d,A;for(A=0;A>16&255,l[_++]=c>>8&255,l[_++]=c&255;return T===2&&(c=p[h.charCodeAt(A)]<<2|p[h.charCodeAt(A+1)]>>4,l[_++]=c&255),T===1&&(c=p[h.charCodeAt(A)]<<10|p[h.charCodeAt(A+1)]<<4|p[h.charCodeAt(A+2)]>>2,l[_++]=c>>8&255,l[_++]=c&255),l}function n(h){return H[h>>18&63]+H[h>>12&63]+H[h>>6&63]+H[h&63]}function a(h,c,m){for(var d,T=[],l=c;lw?w:_+l));return d===1?(c=h[m-1],T.push(H[c>>2]+H[c<<4&63]+"==")):d===2&&(c=(h[m-2]<<8)+h[m-1],T.push(H[c>>10]+H[c>>4&63]+H[c<<2&63]+"=")),T.join("")}}}),z6=De({"node_modules/ieee754/index.js"(Y){Y.read=function(H,p,x,S,E){var e,t,r=E*8-S-1,o=(1<>1,n=-7,a=x?E-1:0,s=x?-1:1,h=H[p+a];for(a+=s,e=h&(1<<-n)-1,h>>=-n,n+=r;n>0;e=e*256+H[p+a],a+=s,n-=8);for(t=e&(1<<-n)-1,e>>=-n,n+=S;n>0;t=t*256+H[p+a],a+=s,n-=8);if(e===0)e=1-i;else{if(e===o)return t?NaN:(h?-1:1)*(1/0);t=t+Math.pow(2,S),e=e-i}return(h?-1:1)*t*Math.pow(2,e-S)},Y.write=function(H,p,x,S,E,e){var t,r,o,i=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=p<0||p===0&&1/p<0?1:0;for(p=Math.abs(p),isNaN(p)||p===1/0?(r=isNaN(p)?1:0,t=n):(t=Math.floor(Math.log(p)/Math.LN2),p*(o=Math.pow(2,-t))<1&&(t--,o*=2),t+a>=1?p+=s/o:p+=s*Math.pow(2,1-a),p*o>=2&&(t++,o/=2),t+a>=n?(r=0,t=n):t+a>=1?(r=(p*o-1)*Math.pow(2,E),t=t+a):(r=p*Math.pow(2,a-1)*Math.pow(2,E),t=0));E>=8;H[x+h]=r&255,h+=c,r/=256,E-=8);for(t=t<0;H[x+h]=t&255,h+=c,t/=256,i-=8);H[x+h-c]|=m*128}}}),X0=De({"node_modules/buffer/index.js"(Y){"use strict";var H=D6(),p=z6(),x=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Y.Buffer=t,Y.SlowBuffer=T,Y.INSPECT_MAX_BYTES=50;var S=2147483647;Y.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 Ae=new Uint8Array(1),me={foo:function(){return 42}};return Object.setPrototypeOf(me,Uint8Array.prototype),Object.setPrototypeOf(Ae,me),Ae.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(Ae){if(Ae>S)throw new RangeError('The value "'+Ae+'" is invalid for option "size"');let me=new Uint8Array(Ae);return Object.setPrototypeOf(me,t.prototype),me}function t(Ae,me,fe){if(typeof Ae=="number"){if(typeof me=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return n(Ae)}return r(Ae,me,fe)}t.poolSize=8192;function r(Ae,me,fe){if(typeof Ae=="string")return a(Ae,me);if(ArrayBuffer.isView(Ae))return h(Ae);if(Ae==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Ae);if(Xe(Ae,ArrayBuffer)||Ae&&Xe(Ae.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Xe(Ae,SharedArrayBuffer)||Ae&&Xe(Ae.buffer,SharedArrayBuffer)))return c(Ae,me,fe);if(typeof Ae=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let Be=Ae.valueOf&&Ae.valueOf();if(Be!=null&&Be!==Ae)return t.from(Be,me,fe);let Qe=m(Ae);if(Qe)return Qe;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof Ae[Symbol.toPrimitive]=="function")return t.from(Ae[Symbol.toPrimitive]("string"),me,fe);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Ae)}t.from=function(Ae,me,fe){return r(Ae,me,fe)},Object.setPrototypeOf(t.prototype,Uint8Array.prototype),Object.setPrototypeOf(t,Uint8Array);function o(Ae){if(typeof Ae!="number")throw new TypeError('"size" argument must be of type number');if(Ae<0)throw new RangeError('The value "'+Ae+'" is invalid for option "size"')}function i(Ae,me,fe){return o(Ae),Ae<=0?e(Ae):me!==void 0?typeof fe=="string"?e(Ae).fill(me,fe):e(Ae).fill(me):e(Ae)}t.alloc=function(Ae,me,fe){return i(Ae,me,fe)};function n(Ae){return o(Ae),e(Ae<0?0:d(Ae)|0)}t.allocUnsafe=function(Ae){return n(Ae)},t.allocUnsafeSlow=function(Ae){return n(Ae)};function a(Ae,me){if((typeof me!="string"||me==="")&&(me="utf8"),!t.isEncoding(me))throw new TypeError("Unknown encoding: "+me);let fe=l(Ae,me)|0,Be=e(fe),Qe=Be.write(Ae,me);return Qe!==fe&&(Be=Be.slice(0,Qe)),Be}function s(Ae){let me=Ae.length<0?0:d(Ae.length)|0,fe=e(me);for(let Be=0;Be=S)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+S.toString(16)+" bytes");return Ae|0}function T(Ae){return+Ae!=Ae&&(Ae=0),t.alloc(+Ae)}t.isBuffer=function(me){return me!=null&&me._isBuffer===!0&&me!==t.prototype},t.compare=function(me,fe){if(Xe(me,Uint8Array)&&(me=t.from(me,me.offset,me.byteLength)),Xe(fe,Uint8Array)&&(fe=t.from(fe,fe.offset,fe.byteLength)),!t.isBuffer(me)||!t.isBuffer(fe))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(me===fe)return 0;let Be=me.length,Qe=fe.length;for(let at=0,$e=Math.min(Be,Qe);at<$e;++at)if(me[at]!==fe[at]){Be=me[at],Qe=fe[at];break}return BeQe.length?(t.isBuffer($e)||($e=t.from($e)),$e.copy(Qe,at)):Uint8Array.prototype.set.call(Qe,$e,at);else if(t.isBuffer($e))$e.copy(Qe,at);else throw new TypeError('"list" argument must be an Array of Buffers');at+=$e.length}return Qe};function l(Ae,me){if(t.isBuffer(Ae))return Ae.length;if(ArrayBuffer.isView(Ae)||Xe(Ae,ArrayBuffer))return Ae.byteLength;if(typeof Ae!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof Ae);let fe=Ae.length,Be=arguments.length>2&&arguments[2]===!0;if(!Be&&fe===0)return 0;let Qe=!1;for(;;)switch(me){case"ascii":case"latin1":case"binary":return fe;case"utf8":case"utf-8":return ue(Ae).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return fe*2;case"hex":return fe>>>1;case"base64":return Re(Ae).length;default:if(Qe)return Be?-1:ue(Ae).length;me=(""+me).toLowerCase(),Qe=!0}}t.byteLength=l;function _(Ae,me,fe){let Be=!1;if((me===void 0||me<0)&&(me=0),me>this.length||((fe===void 0||fe>this.length)&&(fe=this.length),fe<=0)||(fe>>>=0,me>>>=0,fe<=me))return"";for(Ae||(Ae="utf8");;)switch(Ae){case"hex":return B(this,me,fe);case"utf8":case"utf-8":return R(this,me,fe);case"ascii":return F(this,me,fe);case"latin1":case"binary":return N(this,me,fe);case"base64":return f(this,me,fe);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,me,fe);default:if(Be)throw new TypeError("Unknown encoding: "+Ae);Ae=(Ae+"").toLowerCase(),Be=!0}}t.prototype._isBuffer=!0;function w(Ae,me,fe){let Be=Ae[me];Ae[me]=Ae[fe],Ae[fe]=Be}t.prototype.swap16=function(){let me=this.length;if(me%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let fe=0;fefe&&(me+=" ... "),""},x&&(t.prototype[x]=t.prototype.inspect),t.prototype.compare=function(me,fe,Be,Qe,at){if(Xe(me,Uint8Array)&&(me=t.from(me,me.offset,me.byteLength)),!t.isBuffer(me))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof me);if(fe===void 0&&(fe=0),Be===void 0&&(Be=me?me.length:0),Qe===void 0&&(Qe=0),at===void 0&&(at=this.length),fe<0||Be>me.length||Qe<0||at>this.length)throw new RangeError("out of range index");if(Qe>=at&&fe>=Be)return 0;if(Qe>=at)return-1;if(fe>=Be)return 1;if(fe>>>=0,Be>>>=0,Qe>>>=0,at>>>=0,this===me)return 0;let $e=at-Qe,It=Be-fe,Pt=Math.min($e,It),Vt=this.slice(Qe,at),Wt=me.slice(fe,Be);for(let Cr=0;Cr2147483647?fe=2147483647:fe<-2147483648&&(fe=-2147483648),fe=+fe,tt(fe)&&(fe=Qe?0:Ae.length-1),fe<0&&(fe=Ae.length+fe),fe>=Ae.length){if(Qe)return-1;fe=Ae.length-1}else if(fe<0)if(Qe)fe=0;else return-1;if(typeof me=="string"&&(me=t.from(me,Be)),t.isBuffer(me))return me.length===0?-1:M(Ae,me,fe,Be,Qe);if(typeof me=="number")return me=me&255,typeof Uint8Array.prototype.indexOf=="function"?Qe?Uint8Array.prototype.indexOf.call(Ae,me,fe):Uint8Array.prototype.lastIndexOf.call(Ae,me,fe):M(Ae,[me],fe,Be,Qe);throw new TypeError("val must be string, number or Buffer")}function M(Ae,me,fe,Be,Qe){let at=1,$e=Ae.length,It=me.length;if(Be!==void 0&&(Be=String(Be).toLowerCase(),Be==="ucs2"||Be==="ucs-2"||Be==="utf16le"||Be==="utf-16le")){if(Ae.length<2||me.length<2)return-1;at=2,$e/=2,It/=2,fe/=2}function Pt(Wt,Cr){return at===1?Wt[Cr]:Wt.readUInt16BE(Cr*at)}let Vt;if(Qe){let Wt=-1;for(Vt=fe;Vt<$e;Vt++)if(Pt(Ae,Vt)===Pt(me,Wt===-1?0:Vt-Wt)){if(Wt===-1&&(Wt=Vt),Vt-Wt+1===It)return Wt*at}else Wt!==-1&&(Vt-=Vt-Wt),Wt=-1}else for(fe+It>$e&&(fe=$e-It),Vt=fe;Vt>=0;Vt--){let Wt=!0;for(let Cr=0;CrQe&&(Be=Qe)):Be=Qe;let at=me.length;Be>at/2&&(Be=at/2);let $e;for($e=0;$e>>0,isFinite(Be)?(Be=Be>>>0,Qe===void 0&&(Qe="utf8")):(Qe=Be,Be=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let at=this.length-fe;if((Be===void 0||Be>at)&&(Be=at),me.length>0&&(Be<0||fe<0)||fe>this.length)throw new RangeError("Attempt to write outside buffer bounds");Qe||(Qe="utf8");let $e=!1;for(;;)switch(Qe){case"hex":return g(this,me,fe,Be);case"utf8":case"utf-8":return b(this,me,fe,Be);case"ascii":case"latin1":case"binary":return v(this,me,fe,Be);case"base64":return u(this,me,fe,Be);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return y(this,me,fe,Be);default:if($e)throw new TypeError("Unknown encoding: "+Qe);Qe=(""+Qe).toLowerCase(),$e=!0}},t.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function f(Ae,me,fe){return me===0&&fe===Ae.length?H.fromByteArray(Ae):H.fromByteArray(Ae.slice(me,fe))}function R(Ae,me,fe){fe=Math.min(Ae.length,fe);let Be=[],Qe=me;for(;Qe239?4:at>223?3:at>191?2:1;if(Qe+It<=fe){let Pt,Vt,Wt,Cr;switch(It){case 1:at<128&&($e=at);break;case 2:Pt=Ae[Qe+1],(Pt&192)===128&&(Cr=(at&31)<<6|Pt&63,Cr>127&&($e=Cr));break;case 3:Pt=Ae[Qe+1],Vt=Ae[Qe+2],(Pt&192)===128&&(Vt&192)===128&&(Cr=(at&15)<<12|(Pt&63)<<6|Vt&63,Cr>2047&&(Cr<55296||Cr>57343)&&($e=Cr));break;case 4:Pt=Ae[Qe+1],Vt=Ae[Qe+2],Wt=Ae[Qe+3],(Pt&192)===128&&(Vt&192)===128&&(Wt&192)===128&&(Cr=(at&15)<<18|(Pt&63)<<12|(Vt&63)<<6|Wt&63,Cr>65535&&Cr<1114112&&($e=Cr))}}$e===null?($e=65533,It=1):$e>65535&&($e-=65536,Be.push($e>>>10&1023|55296),$e=56320|$e&1023),Be.push($e),Qe+=It}return z(Be)}var L=4096;function z(Ae){let me=Ae.length;if(me<=L)return String.fromCharCode.apply(String,Ae);let fe="",Be=0;for(;BeBe)&&(fe=Be);let Qe="";for(let at=me;atBe&&(me=Be),fe<0?(fe+=Be,fe<0&&(fe=0)):fe>Be&&(fe=Be),fefe)throw new RangeError("Trying to access beyond buffer length")}t.prototype.readUintLE=t.prototype.readUIntLE=function(me,fe,Be){me=me>>>0,fe=fe>>>0,Be||U(me,fe,this.length);let Qe=this[me],at=1,$e=0;for(;++$e>>0,fe=fe>>>0,Be||U(me,fe,this.length);let Qe=this[me+--fe],at=1;for(;fe>0&&(at*=256);)Qe+=this[me+--fe]*at;return Qe},t.prototype.readUint8=t.prototype.readUInt8=function(me,fe){return me=me>>>0,fe||U(me,1,this.length),this[me]},t.prototype.readUint16LE=t.prototype.readUInt16LE=function(me,fe){return me=me>>>0,fe||U(me,2,this.length),this[me]|this[me+1]<<8},t.prototype.readUint16BE=t.prototype.readUInt16BE=function(me,fe){return me=me>>>0,fe||U(me,2,this.length),this[me]<<8|this[me+1]},t.prototype.readUint32LE=t.prototype.readUInt32LE=function(me,fe){return me=me>>>0,fe||U(me,4,this.length),(this[me]|this[me+1]<<8|this[me+2]<<16)+this[me+3]*16777216},t.prototype.readUint32BE=t.prototype.readUInt32BE=function(me,fe){return me=me>>>0,fe||U(me,4,this.length),this[me]*16777216+(this[me+1]<<16|this[me+2]<<8|this[me+3])},t.prototype.readBigUInt64LE=et(function(me){me=me>>>0,ie(me,"offset");let fe=this[me],Be=this[me+7];(fe===void 0||Be===void 0)&&j(me,this.length-8);let Qe=fe+this[++me]*2**8+this[++me]*2**16+this[++me]*2**24,at=this[++me]+this[++me]*2**8+this[++me]*2**16+Be*2**24;return BigInt(Qe)+(BigInt(at)<>>0,ie(me,"offset");let fe=this[me],Be=this[me+7];(fe===void 0||Be===void 0)&&j(me,this.length-8);let Qe=fe*2**24+this[++me]*2**16+this[++me]*2**8+this[++me],at=this[++me]*2**24+this[++me]*2**16+this[++me]*2**8+Be;return(BigInt(Qe)<>>0,fe=fe>>>0,Be||U(me,fe,this.length);let Qe=this[me],at=1,$e=0;for(;++$e=at&&(Qe-=Math.pow(2,8*fe)),Qe},t.prototype.readIntBE=function(me,fe,Be){me=me>>>0,fe=fe>>>0,Be||U(me,fe,this.length);let Qe=fe,at=1,$e=this[me+--Qe];for(;Qe>0&&(at*=256);)$e+=this[me+--Qe]*at;return at*=128,$e>=at&&($e-=Math.pow(2,8*fe)),$e},t.prototype.readInt8=function(me,fe){return me=me>>>0,fe||U(me,1,this.length),this[me]&128?(255-this[me]+1)*-1:this[me]},t.prototype.readInt16LE=function(me,fe){me=me>>>0,fe||U(me,2,this.length);let Be=this[me]|this[me+1]<<8;return Be&32768?Be|4294901760:Be},t.prototype.readInt16BE=function(me,fe){me=me>>>0,fe||U(me,2,this.length);let Be=this[me+1]|this[me]<<8;return Be&32768?Be|4294901760:Be},t.prototype.readInt32LE=function(me,fe){return me=me>>>0,fe||U(me,4,this.length),this[me]|this[me+1]<<8|this[me+2]<<16|this[me+3]<<24},t.prototype.readInt32BE=function(me,fe){return me=me>>>0,fe||U(me,4,this.length),this[me]<<24|this[me+1]<<16|this[me+2]<<8|this[me+3]},t.prototype.readBigInt64LE=et(function(me){me=me>>>0,ie(me,"offset");let fe=this[me],Be=this[me+7];(fe===void 0||Be===void 0)&&j(me,this.length-8);let Qe=this[me+4]+this[me+5]*2**8+this[me+6]*2**16+(Be<<24);return(BigInt(Qe)<>>0,ie(me,"offset");let fe=this[me],Be=this[me+7];(fe===void 0||Be===void 0)&&j(me,this.length-8);let Qe=(fe<<24)+this[++me]*2**16+this[++me]*2**8+this[++me];return(BigInt(Qe)<>>0,fe||U(me,4,this.length),p.read(this,me,!0,23,4)},t.prototype.readFloatBE=function(me,fe){return me=me>>>0,fe||U(me,4,this.length),p.read(this,me,!1,23,4)},t.prototype.readDoubleLE=function(me,fe){return me=me>>>0,fe||U(me,8,this.length),p.read(this,me,!0,52,8)},t.prototype.readDoubleBE=function(me,fe){return me=me>>>0,fe||U(me,8,this.length),p.read(this,me,!1,52,8)};function O(Ae,me,fe,Be,Qe,at){if(!t.isBuffer(Ae))throw new TypeError('"buffer" argument must be a Buffer instance');if(me>Qe||meAe.length)throw new RangeError("Index out of range")}t.prototype.writeUintLE=t.prototype.writeUIntLE=function(me,fe,Be,Qe){if(me=+me,fe=fe>>>0,Be=Be>>>0,!Qe){let It=Math.pow(2,8*Be)-1;O(this,me,fe,Be,It,0)}let at=1,$e=0;for(this[fe]=me&255;++$e>>0,Be=Be>>>0,!Qe){let It=Math.pow(2,8*Be)-1;O(this,me,fe,Be,It,0)}let at=Be-1,$e=1;for(this[fe+at]=me&255;--at>=0&&($e*=256);)this[fe+at]=me/$e&255;return fe+Be},t.prototype.writeUint8=t.prototype.writeUInt8=function(me,fe,Be){return me=+me,fe=fe>>>0,Be||O(this,me,fe,1,255,0),this[fe]=me&255,fe+1},t.prototype.writeUint16LE=t.prototype.writeUInt16LE=function(me,fe,Be){return me=+me,fe=fe>>>0,Be||O(this,me,fe,2,65535,0),this[fe]=me&255,this[fe+1]=me>>>8,fe+2},t.prototype.writeUint16BE=t.prototype.writeUInt16BE=function(me,fe,Be){return me=+me,fe=fe>>>0,Be||O(this,me,fe,2,65535,0),this[fe]=me>>>8,this[fe+1]=me&255,fe+2},t.prototype.writeUint32LE=t.prototype.writeUInt32LE=function(me,fe,Be){return me=+me,fe=fe>>>0,Be||O(this,me,fe,4,4294967295,0),this[fe+3]=me>>>24,this[fe+2]=me>>>16,this[fe+1]=me>>>8,this[fe]=me&255,fe+4},t.prototype.writeUint32BE=t.prototype.writeUInt32BE=function(me,fe,Be){return me=+me,fe=fe>>>0,Be||O(this,me,fe,4,4294967295,0),this[fe]=me>>>24,this[fe+1]=me>>>16,this[fe+2]=me>>>8,this[fe+3]=me&255,fe+4};function X(Ae,me,fe,Be,Qe){oe(me,Be,Qe,Ae,fe,7);let at=Number(me&BigInt(4294967295));Ae[fe++]=at,at=at>>8,Ae[fe++]=at,at=at>>8,Ae[fe++]=at,at=at>>8,Ae[fe++]=at;let $e=Number(me>>BigInt(32)&BigInt(4294967295));return Ae[fe++]=$e,$e=$e>>8,Ae[fe++]=$e,$e=$e>>8,Ae[fe++]=$e,$e=$e>>8,Ae[fe++]=$e,fe}function J(Ae,me,fe,Be,Qe){oe(me,Be,Qe,Ae,fe,7);let at=Number(me&BigInt(4294967295));Ae[fe+7]=at,at=at>>8,Ae[fe+6]=at,at=at>>8,Ae[fe+5]=at,at=at>>8,Ae[fe+4]=at;let $e=Number(me>>BigInt(32)&BigInt(4294967295));return Ae[fe+3]=$e,$e=$e>>8,Ae[fe+2]=$e,$e=$e>>8,Ae[fe+1]=$e,$e=$e>>8,Ae[fe]=$e,fe+8}t.prototype.writeBigUInt64LE=et(function(me,fe=0){return X(this,me,fe,BigInt(0),BigInt("0xffffffffffffffff"))}),t.prototype.writeBigUInt64BE=et(function(me,fe=0){return J(this,me,fe,BigInt(0),BigInt("0xffffffffffffffff"))}),t.prototype.writeIntLE=function(me,fe,Be,Qe){if(me=+me,fe=fe>>>0,!Qe){let Pt=Math.pow(2,8*Be-1);O(this,me,fe,Be,Pt-1,-Pt)}let at=0,$e=1,It=0;for(this[fe]=me&255;++at>0)-It&255;return fe+Be},t.prototype.writeIntBE=function(me,fe,Be,Qe){if(me=+me,fe=fe>>>0,!Qe){let Pt=Math.pow(2,8*Be-1);O(this,me,fe,Be,Pt-1,-Pt)}let at=Be-1,$e=1,It=0;for(this[fe+at]=me&255;--at>=0&&($e*=256);)me<0&&It===0&&this[fe+at+1]!==0&&(It=1),this[fe+at]=(me/$e>>0)-It&255;return fe+Be},t.prototype.writeInt8=function(me,fe,Be){return me=+me,fe=fe>>>0,Be||O(this,me,fe,1,127,-128),me<0&&(me=255+me+1),this[fe]=me&255,fe+1},t.prototype.writeInt16LE=function(me,fe,Be){return me=+me,fe=fe>>>0,Be||O(this,me,fe,2,32767,-32768),this[fe]=me&255,this[fe+1]=me>>>8,fe+2},t.prototype.writeInt16BE=function(me,fe,Be){return me=+me,fe=fe>>>0,Be||O(this,me,fe,2,32767,-32768),this[fe]=me>>>8,this[fe+1]=me&255,fe+2},t.prototype.writeInt32LE=function(me,fe,Be){return me=+me,fe=fe>>>0,Be||O(this,me,fe,4,2147483647,-2147483648),this[fe]=me&255,this[fe+1]=me>>>8,this[fe+2]=me>>>16,this[fe+3]=me>>>24,fe+4},t.prototype.writeInt32BE=function(me,fe,Be){return me=+me,fe=fe>>>0,Be||O(this,me,fe,4,2147483647,-2147483648),me<0&&(me=4294967295+me+1),this[fe]=me>>>24,this[fe+1]=me>>>16,this[fe+2]=me>>>8,this[fe+3]=me&255,fe+4},t.prototype.writeBigInt64LE=et(function(me,fe=0){return X(this,me,fe,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),t.prototype.writeBigInt64BE=et(function(me,fe=0){return J(this,me,fe,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function se(Ae,me,fe,Be,Qe,at){if(fe+Be>Ae.length)throw new RangeError("Index out of range");if(fe<0)throw new RangeError("Index out of range")}function le(Ae,me,fe,Be,Qe){return me=+me,fe=fe>>>0,Qe||se(Ae,me,fe,4,34028234663852886e22,-34028234663852886e22),p.write(Ae,me,fe,Be,23,4),fe+4}t.prototype.writeFloatLE=function(me,fe,Be){return le(this,me,fe,!0,Be)},t.prototype.writeFloatBE=function(me,fe,Be){return le(this,me,fe,!1,Be)};function ce(Ae,me,fe,Be,Qe){return me=+me,fe=fe>>>0,Qe||se(Ae,me,fe,8,17976931348623157e292,-17976931348623157e292),p.write(Ae,me,fe,Be,52,8),fe+8}t.prototype.writeDoubleLE=function(me,fe,Be){return ce(this,me,fe,!0,Be)},t.prototype.writeDoubleBE=function(me,fe,Be){return ce(this,me,fe,!1,Be)},t.prototype.copy=function(me,fe,Be,Qe){if(!t.isBuffer(me))throw new TypeError("argument should be a Buffer");if(Be||(Be=0),!Qe&&Qe!==0&&(Qe=this.length),fe>=me.length&&(fe=me.length),fe||(fe=0),Qe>0&&Qe=this.length)throw new RangeError("Index out of range");if(Qe<0)throw new RangeError("sourceEnd out of bounds");Qe>this.length&&(Qe=this.length),me.length-fe>>0,Be=Be===void 0?this.length:Be>>>0,me||(me=0);let at;if(typeof me=="number")for(at=fe;at2**32?Qe=ee(String(fe)):typeof fe=="bigint"&&(Qe=String(fe),(fe>BigInt(2)**BigInt(32)||fe<-(BigInt(2)**BigInt(32)))&&(Qe=ee(Qe)),Qe+="n"),Be+=` It must be ${me}. Received ${Qe}`,Be},RangeError);function ee(Ae){let me="",fe=Ae.length,Be=Ae[0]==="-"?1:0;for(;fe>=Be+4;fe-=3)me=`_${Ae.slice(fe-3,fe)}${me}`;return`${Ae.slice(0,fe)}${me}`}function V(Ae,me,fe){ie(me,"offset"),(Ae[me]===void 0||Ae[me+fe]===void 0)&&j(me,Ae.length-(fe+1))}function oe(Ae,me,fe,Be,Qe,at){if(Ae>fe||Ae3?me===0||me===BigInt(0)?It=`>= 0${$e} and < 2${$e} ** ${(at+1)*8}${$e}`:It=`>= -(2${$e} ** ${(at+1)*8-1}${$e}) and < 2 ** ${(at+1)*8-1}${$e}`:It=`>= ${me}${$e} and <= ${fe}${$e}`,new q.ERR_OUT_OF_RANGE("value",It,Ae)}V(Be,Qe,at)}function ie(Ae,me){if(typeof Ae!="number")throw new q.ERR_INVALID_ARG_TYPE(me,"number",Ae)}function j(Ae,me,fe){throw Math.floor(Ae)!==Ae?(ie(Ae,fe),new q.ERR_OUT_OF_RANGE(fe||"offset","an integer",Ae)):me<0?new q.ERR_BUFFER_OUT_OF_BOUNDS:new q.ERR_OUT_OF_RANGE(fe||"offset",`>= ${fe?1:0} and <= ${me}`,Ae)}var Q=/[^+/0-9A-Za-z-_]/g;function re(Ae){if(Ae=Ae.split("=")[0],Ae=Ae.trim().replace(Q,""),Ae.length<2)return"";for(;Ae.length%4!==0;)Ae=Ae+"=";return Ae}function ue(Ae,me){me=me||1/0;let fe,Be=Ae.length,Qe=null,at=[];for(let $e=0;$e55295&&fe<57344){if(!Qe){if(fe>56319){(me-=3)>-1&&at.push(239,191,189);continue}else if($e+1===Be){(me-=3)>-1&&at.push(239,191,189);continue}Qe=fe;continue}if(fe<56320){(me-=3)>-1&&at.push(239,191,189),Qe=fe;continue}fe=(Qe-55296<<10|fe-56320)+65536}else Qe&&(me-=3)>-1&&at.push(239,191,189);if(Qe=null,fe<128){if((me-=1)<0)break;at.push(fe)}else if(fe<2048){if((me-=2)<0)break;at.push(fe>>6|192,fe&63|128)}else if(fe<65536){if((me-=3)<0)break;at.push(fe>>12|224,fe>>6&63|128,fe&63|128)}else if(fe<1114112){if((me-=4)<0)break;at.push(fe>>18|240,fe>>12&63|128,fe>>6&63|128,fe&63|128)}else throw new Error("Invalid code point")}return at}function _e(Ae){let me=[];for(let fe=0;fe>8,Qe=fe%256,at.push(Qe),at.push(Be);return at}function Re(Ae){return H.toByteArray(re(Ae))}function ze(Ae,me,fe,Be){let Qe;for(Qe=0;Qe=me.length||Qe>=Ae.length);++Qe)me[Qe+fe]=Ae[Qe];return Qe}function Xe(Ae,me){return Ae instanceof me||Ae!=null&&Ae.constructor!=null&&Ae.constructor.name!=null&&Ae.constructor.name===me.name}function tt(Ae){return Ae!==Ae}var it=function(){let Ae="0123456789abcdef",me=new Array(256);for(let fe=0;fe<16;++fe){let Be=fe*16;for(let Qe=0;Qe<16;++Qe)me[Be+Qe]=Ae[fe]+Ae[Qe]}return me}();function et(Ae){return typeof BigInt>"u"?nt:Ae}function nt(){throw new Error("BigInt not supported")}}}),px=De({"node_modules/has-symbols/shams.js"(Y,H){"use strict";H.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}}}),ky=De({"node_modules/has-tostringtag/shams.js"(Y,H){"use strict";var p=px();H.exports=function(){return p()&&!!Symbol.toStringTag}}}),g3=De({"node_modules/es-object-atoms/index.js"(Y,H){"use strict";H.exports=Object}}),F6=De({"node_modules/es-errors/index.js"(Y,H){"use strict";H.exports=Error}}),B6=De({"node_modules/es-errors/eval.js"(Y,H){"use strict";H.exports=EvalError}}),O6=De({"node_modules/es-errors/range.js"(Y,H){"use strict";H.exports=RangeError}}),N6=De({"node_modules/es-errors/ref.js"(Y,H){"use strict";H.exports=ReferenceError}}),y3=De({"node_modules/es-errors/syntax.js"(Y,H){"use strict";H.exports=SyntaxError}}),cg=De({"node_modules/es-errors/type.js"(Y,H){"use strict";H.exports=TypeError}}),U6=De({"node_modules/es-errors/uri.js"(Y,H){"use strict";H.exports=URIError}}),j6=De({"node_modules/math-intrinsics/abs.js"(Y,H){"use strict";H.exports=Math.abs}}),V6=De({"node_modules/math-intrinsics/floor.js"(Y,H){"use strict";H.exports=Math.floor}}),q6=De({"node_modules/math-intrinsics/max.js"(Y,H){"use strict";H.exports=Math.max}}),H6=De({"node_modules/math-intrinsics/min.js"(Y,H){"use strict";H.exports=Math.min}}),G6=De({"node_modules/math-intrinsics/pow.js"(Y,H){"use strict";H.exports=Math.pow}}),W6=De({"node_modules/math-intrinsics/round.js"(Y,H){"use strict";H.exports=Math.round}}),X6=De({"node_modules/math-intrinsics/isNaN.js"(Y,H){"use strict";H.exports=Number.isNaN||function(x){return x!==x}}}),Y6=De({"node_modules/math-intrinsics/sign.js"(Y,H){"use strict";var p=X6();H.exports=function(S){return p(S)||S===0?S:S<0?-1:1}}}),Z6=De({"node_modules/gopd/gOPD.js"(Y,H){"use strict";H.exports=Object.getOwnPropertyDescriptor}}),Y0=De({"node_modules/gopd/index.js"(Y,H){"use strict";var p=Z6();if(p)try{p([],"length")}catch{p=null}H.exports=p}}),Cy=De({"node_modules/es-define-property/index.js"(Y,H){"use strict";var p=Object.defineProperty||!1;if(p)try{p({},"a",{value:1})}catch{p=!1}H.exports=p}}),K6=De({"node_modules/has-symbols/index.js"(Y,H){"use strict";var p=typeof Symbol<"u"&&Symbol,x=px();H.exports=function(){return typeof p!="function"||typeof Symbol!="function"||typeof p("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:x()}}}),_3=De({"node_modules/get-proto/Reflect.getPrototypeOf.js"(Y,H){"use strict";H.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null}}),x3=De({"node_modules/get-proto/Object.getPrototypeOf.js"(Y,H){"use strict";var p=g3();H.exports=p.getPrototypeOf||null}}),$6=De({"node_modules/function-bind/implementation.js"(Y,H){"use strict";var p="Function.prototype.bind called on incompatible ",x=Object.prototype.toString,S=Math.max,E="[object Function]",e=function(i,n){for(var a=[],s=0;s"u"||!b?p:b(Uint8Array),z={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?p:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?p:ArrayBuffer,"%ArrayIteratorPrototype%":g&&b?b([][Symbol.iterator]()):p,"%AsyncFromSyncIteratorPrototype%":p,"%AsyncFunction%":R,"%AsyncGenerator%":R,"%AsyncGeneratorFunction%":R,"%AsyncIteratorPrototype%":R,"%Atomics%":typeof Atomics>"u"?p:Atomics,"%BigInt%":typeof BigInt>"u"?p:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?p:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?p:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?p:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":S,"%eval%":eval,"%EvalError%":E,"%Float16Array%":typeof Float16Array>"u"?p:Float16Array,"%Float32Array%":typeof Float32Array>"u"?p:Float32Array,"%Float64Array%":typeof Float64Array>"u"?p:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?p:FinalizationRegistry,"%Function%":T,"%GeneratorFunction%":R,"%Int8Array%":typeof Int8Array>"u"?p:Int8Array,"%Int16Array%":typeof Int16Array>"u"?p:Int16Array,"%Int32Array%":typeof Int32Array>"u"?p:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":g&&b?b(b([][Symbol.iterator]())):p,"%JSON%":typeof JSON=="object"?JSON:p,"%Map%":typeof Map>"u"?p:Map,"%MapIteratorPrototype%":typeof Map>"u"||!g||!b?p:b(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":x,"%Object.getOwnPropertyDescriptor%":_,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?p:Promise,"%Proxy%":typeof Proxy>"u"?p:Proxy,"%RangeError%":e,"%ReferenceError%":t,"%Reflect%":typeof Reflect>"u"?p:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?p:Set,"%SetIteratorPrototype%":typeof Set>"u"||!g||!b?p:b(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?p:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":g&&b?b(""[Symbol.iterator]()):p,"%Symbol%":g?Symbol:p,"%SyntaxError%":r,"%ThrowTypeError%":M,"%TypedArray%":L,"%TypeError%":o,"%Uint8Array%":typeof Uint8Array>"u"?p:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?p:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?p:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?p:Uint32Array,"%URIError%":i,"%WeakMap%":typeof WeakMap>"u"?p:WeakMap,"%WeakRef%":typeof WeakRef>"u"?p:WeakRef,"%WeakSet%":typeof WeakSet>"u"?p:WeakSet,"%Function.prototype.call%":f,"%Function.prototype.apply%":y,"%Object.defineProperty%":w,"%Object.getPrototypeOf%":v,"%Math.abs%":n,"%Math.floor%":a,"%Math.max%":s,"%Math.min%":h,"%Math.pow%":c,"%Math.round%":m,"%Math.sign%":d,"%Reflect.getPrototypeOf%":u};if(b)try{null.error}catch(V){F=b(b(V)),z["%Error.prototype%"]=F}var F,N=function V(oe){var ie;if(oe==="%AsyncFunction%")ie=l("async function () {}");else if(oe==="%GeneratorFunction%")ie=l("function* () {}");else if(oe==="%AsyncGeneratorFunction%")ie=l("async function* () {}");else if(oe==="%AsyncGenerator%"){var j=V("%AsyncGeneratorFunction%");j&&(ie=j.prototype)}else if(oe==="%AsyncIteratorPrototype%"){var Q=V("%AsyncGenerator%");Q&&b&&(ie=b(Q.prototype))}return z[oe]=ie,ie},B={__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"]},I=fg(),U=iC(),O=I.call(f,Array.prototype.concat),X=I.call(y,Array.prototype.splice),J=I.call(f,String.prototype.replace),se=I.call(f,String.prototype.slice),le=I.call(f,RegExp.prototype.exec),ce=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,q=/\\(\\)?/g,Z=function(oe){var ie=se(oe,0,1),j=se(oe,-1);if(ie==="%"&&j!=="%")throw new r("invalid intrinsic syntax, expected closing `%`");if(j==="%"&&ie!=="%")throw new r("invalid intrinsic syntax, expected opening `%`");var Q=[];return J(oe,ce,function(re,ue,_e,we){Q[Q.length]=_e?J(we,q,"$1"):ue||re}),Q},ee=function(oe,ie){var j=oe,Q;if(U(B,j)&&(Q=B[j],j="%"+Q[0]+"%"),U(z,j)){var re=z[j];if(re===R&&(re=N(j)),typeof re>"u"&&!ie)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!")};H.exports=function(oe,ie){if(typeof oe!="string"||oe.length===0)throw new o("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof ie!="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=Z(oe),Q=j.length>0?j[0]:"",re=ee("%"+Q+"%",ie),ue=re.name,_e=re.value,we=!1,Re=re.alias;Re&&(Q=Re[0],X(j,O([0,1],Re)));for(var ze=1,Xe=!0;ze=j.length){var nt=_(_e,tt);Xe=!!nt,Xe&&"get"in nt&&!("originalValue"in nt.get)?_e=nt.get:_e=_e[tt]}else Xe=U(_e,tt),_e=_e[tt];Xe&&!we&&(z[ue]=_e)}}return _e}}}),aC=De({"node_modules/define-data-property/index.js"(Y,H){"use strict";var p=Cy(),x=y3(),S=cg(),E=Y0();H.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 i=arguments.length>3?arguments[3]:null,n=arguments.length>4?arguments[4]:null,a=arguments.length>5?arguments[5]:null,s=arguments.length>6?arguments[6]:!1,h=!!E&&E(t,r);if(p)p(t,r,{configurable:a===null&&h?h.configurable:!a,enumerable:i===null&&h?h.enumerable:!i,value:o,writable:n===null&&h?h.writable:!n});else if(s||!i&&!n&&!a)t[r]=o;else throw new x("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")}}}),w3=De({"node_modules/has-property-descriptors/index.js"(Y,H){"use strict";var p=Cy(),x=function(){return!!p};x.hasArrayLengthDefineBug=function(){if(!p)return null;try{return p([],"length",{value:1}).length!==1}catch{return!0}},H.exports=x}}),nC=De({"node_modules/set-function-length/index.js"(Y,H){"use strict";var p=gx(),x=aC(),S=w3()(),E=Y0(),e=cg(),t=p("%Math.floor%");H.exports=function(o,i){if(typeof o!="function")throw new e("`fn` is not a function");if(typeof i!="number"||i<0||i>4294967295||t(i)!==i)throw new e("`length` must be a positive 32-bit integer");var n=arguments.length>2&&!!arguments[2],a=!0,s=!0;if("length"in o&&E){var h=E(o,"length");h&&!h.configurable&&(a=!1),h&&!h.writable&&(s=!1)}return(a||s||!n)&&(S?x(o,"length",i,!0,!0):x(o,"length",i)),o}}}),Ly=De({"node_modules/call-bind/index.js"(Y,H){"use strict";var p=fg(),x=gx(),S=nC(),E=cg(),e=x("%Function.prototype.apply%"),t=x("%Function.prototype.call%"),r=x("%Reflect.apply%",!0)||p.call(t,e),o=Cy(),i=x("%Math.max%");H.exports=function(s){if(typeof s!="function")throw new E("a function is required");var h=r(p,t,arguments);return S(h,1+i(0,s.length-(arguments.length-1)),!0)};var n=function(){return r(p,e,arguments)};o?o(H.exports,"apply",{value:n}):H.exports.apply=n}}),hg=De({"node_modules/call-bind/callBound.js"(Y,H){"use strict";var p=gx(),x=Ly(),S=x(p("String.prototype.indexOf"));H.exports=function(e,t){var r=p(e,!!t);return typeof r=="function"&&S(e,".prototype.")>-1?x(r):r}}}),oC=De({"node_modules/is-arguments/index.js"(Y,H){"use strict";var p=ky()(),x=hg(),S=x("Object.prototype.toString"),E=function(o){return p&&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,H.exports=t?E:e}}),sC=De({"node_modules/is-generator-function/index.js"(Y,H){"use strict";var p=Object.prototype.toString,x=Function.prototype.toString,S=/^\s*(?:function)?\*/,E=ky()(),e=Object.getPrototypeOf,t=function(){if(!E)return!1;try{return Function("return function*() {}")()}catch{}},r;H.exports=function(i){if(typeof i!="function")return!1;if(S.test(x.call(i)))return!0;if(!E){var n=p.call(i);return n==="[object GeneratorFunction]"}if(!e)return!1;if(typeof r>"u"){var a=t();r=a?e(a):!1}return e(i)===r}}}),lC=De({"node_modules/is-callable/index.js"(Y,H){"use strict";var p=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=p.call(w);return e.test(A)}catch{return!1}},r=function(w){try{return t(w)?!1:(p.call(w),!0)}catch{return!1}},o=Object.prototype.toString,i="[object Object]",n="[object Function]",a="[object GeneratorFunction]",s="[object HTMLAllCollection]",h="[object HTML document.all class]",c="[object HTMLCollection]",m=typeof Symbol=="function"&&!!Symbol.toStringTag,d=!(0 in[,]),T=function(){return!1};typeof document=="object"&&(l=document.all,o.call(l)===o.call(document.all)&&(T=function(w){if((d||!w)&&(typeof w>"u"||typeof w=="object"))try{var A=o.call(w);return(A===s||A===h||A===c||A===i)&&w("")==null}catch{}return!1}));var l;H.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!==a&&!/^\[object HTML/.test(A)?!1:r(w)}}}),T3=De({"node_modules/for-each/index.js"(Y,H){"use strict";var p=lC(),x=Object.prototype.toString,S=Object.prototype.hasOwnProperty,E=function(i,n,a){for(var s=0,h=i.length;s=3&&(s=a),x.call(i)==="[object Array]"?E(i,n,s):typeof i=="string"?e(i,n,s):t(i,n,s)};H.exports=r}}),A3=De({"node_modules/available-typed-arrays/index.js"(Y,H){"use strict";var p=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],x=typeof globalThis>"u"?window:globalThis;H.exports=function(){for(var E=[],e=0;e"u"?window:globalThis,i=x(),n=E("String.prototype.slice"),a=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}}}),cC=De({"node_modules/is-typed-array/index.js"(Y,H){"use strict";var p=T3(),x=A3(),S=hg(),E=S("Object.prototype.toString"),e=ky()(),t=Y0(),r=typeof globalThis>"u"?window:globalThis,o=x(),i=S("Array.prototype.indexOf",!0)||function(m,d){for(var T=0;T-1}return t?h(m):!1}}}),S3=De({"node_modules/util/support/types.js"(Y){"use strict";var H=oC(),p=sC(),x=uC(),S=cC();function E(we){return we.call.bind(we)}var e=typeof BigInt<"u",t=typeof Symbol<"u",r=E(Object.prototype.toString),o=E(Number.prototype.valueOf),i=E(String.prototype.valueOf),n=E(Boolean.prototype.valueOf);e&&(a=E(BigInt.prototype.valueOf));var a;t&&(s=E(Symbol.prototype.valueOf));var s;function h(we,Re){if(typeof we!="object")return!1;try{return Re(we),!0}catch{return!1}}Y.isArgumentsObject=H,Y.isGeneratorFunction=p,Y.isTypedArray=S;function c(we){return typeof Promise<"u"&&we instanceof Promise||we!==null&&typeof we=="object"&&typeof we.then=="function"&&typeof we.catch=="function"}Y.isPromise=c;function m(we){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(we):S(we)||X(we)}Y.isArrayBufferView=m;function d(we){return x(we)==="Uint8Array"}Y.isUint8Array=d;function T(we){return x(we)==="Uint8ClampedArray"}Y.isUint8ClampedArray=T;function l(we){return x(we)==="Uint16Array"}Y.isUint16Array=l;function _(we){return x(we)==="Uint32Array"}Y.isUint32Array=_;function w(we){return x(we)==="Int8Array"}Y.isInt8Array=w;function A(we){return x(we)==="Int16Array"}Y.isInt16Array=A;function M(we){return x(we)==="Int32Array"}Y.isInt32Array=M;function g(we){return x(we)==="Float32Array"}Y.isFloat32Array=g;function b(we){return x(we)==="Float64Array"}Y.isFloat64Array=b;function v(we){return x(we)==="BigInt64Array"}Y.isBigInt64Array=v;function u(we){return x(we)==="BigUint64Array"}Y.isBigUint64Array=u;function y(we){return r(we)==="[object Map]"}y.working=typeof Map<"u"&&y(new Map);function f(we){return typeof Map>"u"?!1:y.working?y(we):we instanceof Map}Y.isMap=f;function R(we){return r(we)==="[object Set]"}R.working=typeof Set<"u"&&R(new Set);function L(we){return typeof Set>"u"?!1:R.working?R(we):we instanceof Set}Y.isSet=L;function z(we){return r(we)==="[object WeakMap]"}z.working=typeof WeakMap<"u"&&z(new WeakMap);function F(we){return typeof WeakMap>"u"?!1:z.working?z(we):we instanceof WeakMap}Y.isWeakMap=F;function N(we){return r(we)==="[object WeakSet]"}N.working=typeof WeakSet<"u"&&N(new WeakSet);function B(we){return N(we)}Y.isWeakSet=B;function I(we){return r(we)==="[object ArrayBuffer]"}I.working=typeof ArrayBuffer<"u"&&I(new ArrayBuffer);function U(we){return typeof ArrayBuffer>"u"?!1:I.working?I(we):we instanceof ArrayBuffer}Y.isArrayBuffer=U;function O(we){return r(we)==="[object DataView]"}O.working=typeof ArrayBuffer<"u"&&typeof DataView<"u"&&O(new DataView(new ArrayBuffer(1),0,1));function X(we){return typeof DataView>"u"?!1:O.working?O(we):we instanceof DataView}Y.isDataView=X;var J=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:void 0;function se(we){return r(we)==="[object SharedArrayBuffer]"}function le(we){return typeof J>"u"?!1:(typeof se.working>"u"&&(se.working=se(new J)),se.working?se(we):we instanceof J)}Y.isSharedArrayBuffer=le;function ce(we){return r(we)==="[object AsyncFunction]"}Y.isAsyncFunction=ce;function q(we){return r(we)==="[object Map Iterator]"}Y.isMapIterator=q;function Z(we){return r(we)==="[object Set Iterator]"}Y.isSetIterator=Z;function ee(we){return r(we)==="[object Generator]"}Y.isGeneratorObject=ee;function V(we){return r(we)==="[object WebAssembly.Module]"}Y.isWebAssemblyCompiledModule=V;function oe(we){return h(we,o)}Y.isNumberObject=oe;function ie(we){return h(we,i)}Y.isStringObject=ie;function j(we){return h(we,n)}Y.isBooleanObject=j;function Q(we){return e&&h(we,a)}Y.isBigIntObject=Q;function re(we){return t&&h(we,s)}Y.isSymbolObject=re;function ue(we){return oe(we)||ie(we)||j(we)||Q(we)||re(we)}Y.isBoxedPrimitive=ue;function _e(we){return typeof Uint8Array<"u"&&(U(we)||le(we))}Y.isAnyArrayBuffer=_e,["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(we){Object.defineProperty(Y,we,{enumerable:!1,value:function(){throw new Error(we+" is not supported in userland")}})})}}),M3=De({"node_modules/util/support/isBufferBrowser.js"(Y,H){H.exports=function(x){return x&&typeof x=="object"&&typeof x.copy=="function"&&typeof x.fill=="function"&&typeof x.readUInt8=="function"}}}),E3=De({"(disabled):node_modules/util/util.js"(Y){var H=Object.getOwnPropertyDescriptors||function(X){for(var J=Object.keys(X),se={},le=0;le=le)return Z;switch(Z){case"%s":return String(se[J++]);case"%d":return Number(se[J++]);case"%j":try{return JSON.stringify(se[J++])}catch{return"[Circular]"}default:return Z}}),q=se[J];J"u")return function(){return Y.deprecate(O,X).apply(this,arguments)};var J=!1;function se(){if(!J){if(process.throwDeprecation)throw new Error(X);process.traceDeprecation?console.trace(X):console.error(X),J=!0}return O.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;Y.debuglog=function(O){if(O=O.toUpperCase(),!x[O])if(S.test(O)){var X=process.pid;x[O]=function(){var J=Y.format.apply(Y,arguments);console.error("%s %d: %s",O,X,J)}}else x[O]=function(){};return x[O]};function e(O,X){var J={seen:[],stylize:r};return arguments.length>=3&&(J.depth=arguments[2]),arguments.length>=4&&(J.colors=arguments[3]),d(X)?J.showHidden=X:X&&Y._extend(J,X),M(J.showHidden)&&(J.showHidden=!1),M(J.depth)&&(J.depth=2),M(J.colors)&&(J.colors=!1),M(J.customInspect)&&(J.customInspect=!0),J.colors&&(J.stylize=t),i(J,O,J.depth)}Y.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(O,X){var J=e.styles[X];return J?"\x1B["+e.colors[J][0]+"m"+O+"\x1B["+e.colors[J][1]+"m":O}function r(O,X){return O}function o(O){var X={};return O.forEach(function(J,se){X[J]=!0}),X}function i(O,X,J){if(O.customInspect&&X&&y(X.inspect)&&X.inspect!==Y.inspect&&!(X.constructor&&X.constructor.prototype===X)){var se=X.inspect(J,O);return w(se)||(se=i(O,se,J)),se}var le=n(O,X);if(le)return le;var ce=Object.keys(X),q=o(ce);if(O.showHidden&&(ce=Object.getOwnPropertyNames(X)),u(X)&&(ce.indexOf("message")>=0||ce.indexOf("description")>=0))return a(X);if(ce.length===0){if(y(X)){var Z=X.name?": "+X.name:"";return O.stylize("[Function"+Z+"]","special")}if(g(X))return O.stylize(RegExp.prototype.toString.call(X),"regexp");if(v(X))return O.stylize(Date.prototype.toString.call(X),"date");if(u(X))return a(X)}var ee="",V=!1,oe=["{","}"];if(m(X)&&(V=!0,oe=["[","]"]),y(X)){var ie=X.name?": "+X.name:"";ee=" [Function"+ie+"]"}if(g(X)&&(ee=" "+RegExp.prototype.toString.call(X)),v(X)&&(ee=" "+Date.prototype.toUTCString.call(X)),u(X)&&(ee=" "+a(X)),ce.length===0&&(!V||X.length==0))return oe[0]+ee+oe[1];if(J<0)return g(X)?O.stylize(RegExp.prototype.toString.call(X),"regexp"):O.stylize("[Object]","special");O.seen.push(X);var j;return V?j=s(O,X,J,q,ce):j=ce.map(function(Q){return h(O,X,J,q,Q,V)}),O.seen.pop(),c(j,ee,oe)}function n(O,X){if(M(X))return O.stylize("undefined","undefined");if(w(X)){var J="'"+JSON.stringify(X).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return O.stylize(J,"string")}if(_(X))return O.stylize(""+X,"number");if(d(X))return O.stylize(""+X,"boolean");if(T(X))return O.stylize("null","null")}function a(O){return"["+Error.prototype.toString.call(O)+"]"}function s(O,X,J,se,le){for(var ce=[],q=0,Z=X.length;q-1&&(ce?Z=Z.split(` -`).map(function(V){return" "+V}).join(` -`).slice(2):Z=` -`+Z.split(` -`).map(function(V){return" "+V}).join(` -`))):Z=O.stylize("[Circular]","special")),M(q)){if(ce&&le.match(/^\d+$/))return Z;q=JSON.stringify(""+le),q.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(q=q.slice(1,-1),q=O.stylize(q,"name")):(q=q.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),q=O.stylize(q,"string"))}return q+": "+Z}function c(O,X,J){var se=0,le=O.reduce(function(ce,q){return se++,q.indexOf(` -`)>=0&&se++,ce+q.replace(/\u001b\[\d\d?m/g,"").length+1},0);return le>60?J[0]+(X===""?"":X+` - `)+" "+O.join(`, - `)+" "+J[1]:J[0]+X+" "+O.join(", ")+" "+J[1]}Y.types=S3();function m(O){return Array.isArray(O)}Y.isArray=m;function d(O){return typeof O=="boolean"}Y.isBoolean=d;function T(O){return O===null}Y.isNull=T;function l(O){return O==null}Y.isNullOrUndefined=l;function _(O){return typeof O=="number"}Y.isNumber=_;function w(O){return typeof O=="string"}Y.isString=w;function A(O){return typeof O=="symbol"}Y.isSymbol=A;function M(O){return O===void 0}Y.isUndefined=M;function g(O){return b(O)&&R(O)==="[object RegExp]"}Y.isRegExp=g,Y.types.isRegExp=g;function b(O){return typeof O=="object"&&O!==null}Y.isObject=b;function v(O){return b(O)&&R(O)==="[object Date]"}Y.isDate=v,Y.types.isDate=v;function u(O){return b(O)&&(R(O)==="[object Error]"||O instanceof Error)}Y.isError=u,Y.types.isNativeError=u;function y(O){return typeof O=="function"}Y.isFunction=y;function f(O){return O===null||typeof O=="boolean"||typeof O=="number"||typeof O=="string"||typeof O=="symbol"||typeof O>"u"}Y.isPrimitive=f,Y.isBuffer=M3();function R(O){return Object.prototype.toString.call(O)}function L(O){return O<10?"0"+O.toString(10):O.toString(10)}var z=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function F(){var O=new Date,X=[L(O.getHours()),L(O.getMinutes()),L(O.getSeconds())].join(":");return[O.getDate(),z[O.getMonth()],X].join(" ")}Y.log=function(){console.log("%s - %s",F(),Y.format.apply(Y,arguments))},Y.inherits=fp(),Y._extend=function(O,X){if(!X||!b(X))return O;for(var J=Object.keys(X),se=J.length;se--;)O[J[se]]=X[J[se]];return O};function N(O,X){return Object.prototype.hasOwnProperty.call(O,X)}var B=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;Y.promisify=function(X){if(typeof X!="function")throw new TypeError('The "original" argument must be of type Function');if(B&&X[B]){var J=X[B];if(typeof J!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(J,B,{value:J,enumerable:!1,writable:!1,configurable:!0}),J}function J(){for(var se,le,ce=new Promise(function(ee,V){se=ee,le=V}),q=[],Z=0;Z0?this.tail.next=d:this.head=d,this.tail=d,++this.length}},{key:"unshift",value:function(m){var d={data:m,next:this.head};this.length===0&&(this.tail=d),this.head=d,++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 d=this.head,T=""+d.data;d=d.next;)T+=m+d.data;return T}},{key:"concat",value:function(m){if(this.length===0)return o.alloc(0);for(var d=o.allocUnsafe(m>>>0),T=this.head,l=0;T;)s(T.data,d,l),l+=T.data.length,T=T.next;return d}},{key:"consume",value:function(m,d){var T;return m_.length?_.length:m;if(w===_.length?l+=_:l+=_.slice(0,m),m-=w,m===0){w===_.length?(++T,d.next?this.head=d.next:this.head=this.tail=null):(this.head=d,d.data=_.slice(w));break}++T}return this.length-=T,l}},{key:"_getBuffer",value:function(m){var d=o.allocUnsafe(m),T=this.head,l=1;for(T.data.copy(d),m-=T.data.length;T=T.next;){var _=T.data,w=m>_.length?_.length:m;if(_.copy(d,d.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,d}},{key:a,value:function(m,d){return n(this,x({},d,{depth:0,customInspect:!1}))}}]),h}()}}),k3=De({"node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/destroy.js"(Y,H){"use strict";function p(r,o){var i=this,n=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return n||a?(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?i._writableState?i._writableState.errorEmitted?process.nextTick(S,i):(i._writableState.errorEmitted=!0,process.nextTick(x,i,s)):process.nextTick(x,i,s):o?(process.nextTick(S,i),o(s)):process.nextTick(S,i)}),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 i=r._readableState,n=r._writableState;i&&i.autoDestroy||n&&n.autoDestroy?r.destroy(o):r.emit("error",o)}H.exports={destroy:p,undestroy:E,errorOrDestroy:t}}}),Z0=De({"node_modules/stream-browserify/node_modules/readable-stream/errors-browser.js"(Y,H){"use strict";function p(o,i){o.prototype=Object.create(i.prototype),o.prototype.constructor=o,o.__proto__=i}var x={};function S(o,i,n){n||(n=Error);function a(h,c,m){return typeof i=="string"?i:i(h,c,m)}var s=function(h){p(c,h);function c(m,d,T){return h.call(this,a(m,d,T))||this}return c}(n);s.prototype.name=n.name,s.prototype.code=o,x[o]=s}function E(o,i){if(Array.isArray(o)){var n=o.length;return o=o.map(function(a){return String(a)}),n>2?"one of ".concat(i," ").concat(o.slice(0,n-1).join(", "),", or ")+o[n-1]:n===2?"one of ".concat(i," ").concat(o[0]," or ").concat(o[1]):"of ".concat(i," ").concat(o[0])}else return"of ".concat(i," ").concat(String(o))}function e(o,i,n){return o.substr(!n||n<0?0:+n,i.length)===i}function t(o,i,n){return(n===void 0||n>o.length)&&(n=o.length),o.substring(n-i.length,n)===i}function r(o,i,n){return typeof n!="number"&&(n=0),n+i.length>o.length?!1:o.indexOf(i,n)!==-1}S("ERR_INVALID_OPT_VALUE",function(o,i){return'The value "'+i+'" is invalid for option "'+o+'"'},TypeError),S("ERR_INVALID_ARG_TYPE",function(o,i,n){var a;typeof i=="string"&&e(i,"not ")?(a="must not be",i=i.replace(/^not /,"")):a="must be";var s;if(t(o," argument"))s="The ".concat(o," ").concat(a," ").concat(E(i,"type"));else{var h=r(o,".")?"property":"argument";s='The "'.concat(o,'" ').concat(h," ").concat(a," ").concat(E(i,"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"),H.exports.codes=x}}),C3=De({"node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/state.js"(Y,H){"use strict";var p=Z0().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 i=r?t:"highWaterMark";throw new p(i,o)}return Math.floor(o)}return E.objectMode?16:16*1024}H.exports={getHighWaterMark:S}}}),hC=De({"node_modules/util-deprecate/browser.js"(Y,H){H.exports=p;function p(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"}}}),L3=De({"node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_writable.js"(Y,H){"use strict";H.exports=v;function p(q){var Z=this;this.next=null,this.entry=null,this.finish=function(){ce(Z,q)}}var x;v.WritableState=g;var S={deprecate:hC()},E=m3(),e=X0().Buffer,t=window.Uint8Array||function(){};function r(q){return e.from(q)}function o(q){return e.isBuffer(q)||q instanceof t}var i=k3(),n=C3(),a=n.getHighWaterMark,s=Z0().codes,h=s.ERR_INVALID_ARG_TYPE,c=s.ERR_METHOD_NOT_IMPLEMENTED,m=s.ERR_MULTIPLE_CALLBACK,d=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=i.errorOrDestroy;fp()(v,E);function M(){}function g(q,Z,ee){x=x||K0(),q=q||{},typeof ee!="boolean"&&(ee=Z instanceof x),this.objectMode=!!q.objectMode,ee&&(this.objectMode=this.objectMode||!!q.writableObjectMode),this.highWaterMark=a(this,q,"writableHighWaterMark",ee),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var V=q.decodeStrings===!1;this.decodeStrings=!V,this.defaultEncoding=q.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(oe){N(Z,oe)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=q.emitClose!==!1,this.autoDestroy=!!q.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new p(this)}g.prototype.getBuffer=function(){for(var Z=this.bufferedRequest,ee=[];Z;)ee.push(Z),Z=Z.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(v,Symbol.hasInstance,{value:function(Z){return b.call(this,Z)?!0:this!==v?!1:Z&&Z._writableState instanceof g}})):b=function(Z){return Z instanceof this};function v(q){x=x||K0();var Z=this instanceof x;if(!Z&&!b.call(v,this))return new v(q);this._writableState=new g(q,this,Z),this.writable=!0,q&&(typeof q.write=="function"&&(this._write=q.write),typeof q.writev=="function"&&(this._writev=q.writev),typeof q.destroy=="function"&&(this._destroy=q.destroy),typeof q.final=="function"&&(this._final=q.final)),E.call(this)}v.prototype.pipe=function(){A(this,new d)};function u(q,Z){var ee=new _;A(q,ee),process.nextTick(Z,ee)}function y(q,Z,ee,V){var oe;return ee===null?oe=new l:typeof ee!="string"&&!Z.objectMode&&(oe=new h("chunk",["string","Buffer"],ee)),oe?(A(q,oe),process.nextTick(V,oe),!1):!0}v.prototype.write=function(q,Z,ee){var V=this._writableState,oe=!1,ie=!V.objectMode&&o(q);return ie&&!e.isBuffer(q)&&(q=r(q)),typeof Z=="function"&&(ee=Z,Z=null),ie?Z="buffer":Z||(Z=V.defaultEncoding),typeof ee!="function"&&(ee=M),V.ending?u(this,ee):(ie||y(this,V,q,ee))&&(V.pendingcb++,oe=R(this,V,ie,q,Z,ee)),oe},v.prototype.cork=function(){this._writableState.corked++},v.prototype.uncork=function(){var q=this._writableState;q.corked&&(q.corked--,!q.writing&&!q.corked&&!q.bufferProcessing&&q.bufferedRequest&&U(this,q))},v.prototype.setDefaultEncoding=function(Z){if(typeof Z=="string"&&(Z=Z.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((Z+"").toLowerCase())>-1))throw new w(Z);return this._writableState.defaultEncoding=Z,this},Object.defineProperty(v.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function f(q,Z,ee){return!q.objectMode&&q.decodeStrings!==!1&&typeof Z=="string"&&(Z=e.from(Z,ee)),Z}Object.defineProperty(v.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function R(q,Z,ee,V,oe,ie){if(!ee){var j=f(Z,V,oe);V!==j&&(ee=!0,oe="buffer",V=j)}var Q=Z.objectMode?1:V.length;Z.length+=Q;var re=Z.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 i(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 a(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 d(T){return T&&T.length?this.write(T):""}}}),yx=De({"node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(Y,H){"use strict";var p=Z0().codes.ERR_STREAM_PREMATURE_CLOSE;function x(t){var r=!1;return function(){if(!r){r=!0;for(var o=arguments.length,i=new Array(o),n=0;n0)if(typeof Q!="string"&&!we.objectMode&&Object.getPrototypeOf(Q)!==e.prototype&&(Q=r(Q)),ue)we.endEmitted?g(j,new _):R(j,we,Q,!0);else if(we.ended)g(j,new T);else{if(we.destroyed)return!1;we.reading=!1,we.decoder&&!re?(Q=we.decoder.write(Q),we.objectMode||Q.length!==0?R(j,we,Q,!1):O(j,we)):R(j,we,Q,!1)}else ue||(we.reading=!1,O(j,we))}return!we.ended&&(we.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?V(this):I(this),null;if(j=N(j,Q),j===0&&Q.ended)return Q.length===0&&V(this),null;var ue=Q.needReadable;n("need readable",ue),(Q.length===0||Q.length-j0?_e=ee(j,Q):_e=null,_e===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&&V(this)),_e!==null&&this.emit("data",_e),_e};function B(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?I(j):(Q.needReadable=!1,Q.emittedReadable||(Q.emittedReadable=!0,U(j)))}}function I(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,Z(j)}function O(j,Q){Q.readingMore||(Q.readingMore=!0,process.nextTick(X,j,Q))}function X(j,Q){for(;!Q.reading&&!Q.ended&&(Q.length1&&ie(ue.pipes,j)!==-1)&&!tt&&(n("false write response, pause",ue.awaitDrain),ue.awaitDrain++),re.pause())}function nt(Be){n("onerror",Be),fe(),j.removeListener("error",nt),S(j,"error")===0&&g(j,Be)}v(j,"error",nt);function Ae(){j.removeListener("finish",me),fe()}j.once("close",Ae);function me(){n("onfinish"),j.removeListener("close",Ae),fe()}j.once("finish",me);function fe(){n("unpipe"),re.unpipe(j)}return j.emit("pipe",re),ue.flowing||(n("pipe resume"),re.resume()),j};function J(j){return function(){var re=j._readableState;n("pipeOnDrain",re.awaitDrain),re.awaitDrain&&re.awaitDrain--,re.awaitDrain===0&&S(j,"data")&&(re.flowing=!0,Z(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 ue=Q.pipes,_e=Q.pipesCount;Q.pipes=null,Q.pipesCount=0,Q.flowing=!1;for(var we=0;we<_e;we++)ue[we].emit("unpipe",this,{hasUnpiped:!1});return this}var Re=ie(Q.pipes,j);return Re===-1?this:(Q.pipes.splice(Re,1),Q.pipesCount-=1,Q.pipesCount===1&&(Q.pipes=Q.pipes[0]),j.emit("unpipe",this,re),this)},y.prototype.on=function(j,Q){var re=E.prototype.on.call(this,j,Q),ue=this._readableState;return j==="data"?(ue.readableListening=this.listenerCount("readable")>0,ue.flowing!==!1&&this.resume()):j==="readable"&&!ue.endEmitted&&!ue.readableListening&&(ue.readableListening=ue.needReadable=!0,ue.flowing=!1,ue.emittedReadable=!1,n("on readable",ue.length,ue.reading),ue.length?I(this):ue.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,ce(this,j)),j.paused=!1,this};function ce(j,Q){Q.resumeScheduled||(Q.resumeScheduled=!0,process.nextTick(q,j,Q))}function q(j,Q){n("resume",Q.reading),Q.reading||j.read(0),Q.resumeScheduled=!1,j.emit("resume"),Z(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 Z(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,ue=!1;j.on("end",function(){if(n("wrapped end"),re.decoder&&!re.ended){var Re=re.decoder.end();Re&&Re.length&&Q.push(Re)}Q.push(null)}),j.on("data",function(Re){if(n("wrapped data"),re.decoder&&(Re=re.decoder.write(Re)),!(re.objectMode&&Re==null)&&!(!re.objectMode&&(!Re||!Re.length))){var ze=Q.push(Re);ze||(ue=!0,j.pause())}});for(var _e in j)this[_e]===void 0&&typeof j[_e]=="function"&&(this[_e]=function(ze){return function(){return j[ze].apply(j,arguments)}}(_e));for(var we=0;we=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 V(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=pC()),M(y,j,Q)});function ie(j,Q){for(var re=0,ue=j.length;re0;return o(_,A,M,function(g){T||(T=g),g&&l.forEach(i),!A&&(l.forEach(i),d(T))})});return c.reduce(n)}H.exports=s}}),yC=De({"node_modules/stream-browserify/index.js"(Y,H){H.exports=S;var p=N0().EventEmitter,x=fp();x(S,p),S.Readable=P3(),S.Writable=L3(),S.Duplex=K0(),S.Transform=R3(),S.PassThrough=mC(),S.finished=yx(),S.pipeline=gC(),S.Stream=S;function S(){p.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",a));var i=!1;function n(){i||(i=!0,E.end())}function a(){i||(i=!0,typeof E.destroy=="function"&&E.destroy())}function s(c){if(h(),p.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",a),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}}}),dg=De({"node_modules/util/util.js"(Y){var H=Object.getOwnPropertyDescriptors||function(X){for(var J=Object.keys(X),se={},le=0;le=le)return Z;switch(Z){case"%s":return String(se[J++]);case"%d":return Number(se[J++]);case"%j":try{return JSON.stringify(se[J++])}catch{return"[Circular]"}default:return Z}}),q=se[J];J"u")return function(){return Y.deprecate(O,X).apply(this,arguments)};var J=!1;function se(){if(!J){if(process.throwDeprecation)throw new Error(X);process.traceDeprecation?console.trace(X):console.error(X),J=!0}return O.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;Y.debuglog=function(O){if(O=O.toUpperCase(),!x[O])if(S.test(O)){var X=process.pid;x[O]=function(){var J=Y.format.apply(Y,arguments);console.error("%s %d: %s",O,X,J)}}else x[O]=function(){};return x[O]};function e(O,X){var J={seen:[],stylize:r};return arguments.length>=3&&(J.depth=arguments[2]),arguments.length>=4&&(J.colors=arguments[3]),d(X)?J.showHidden=X:X&&Y._extend(J,X),M(J.showHidden)&&(J.showHidden=!1),M(J.depth)&&(J.depth=2),M(J.colors)&&(J.colors=!1),M(J.customInspect)&&(J.customInspect=!0),J.colors&&(J.stylize=t),i(J,O,J.depth)}Y.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(O,X){var J=e.styles[X];return J?"\x1B["+e.colors[J][0]+"m"+O+"\x1B["+e.colors[J][1]+"m":O}function r(O,X){return O}function o(O){var X={};return O.forEach(function(J,se){X[J]=!0}),X}function i(O,X,J){if(O.customInspect&&X&&y(X.inspect)&&X.inspect!==Y.inspect&&!(X.constructor&&X.constructor.prototype===X)){var se=X.inspect(J,O);return w(se)||(se=i(O,se,J)),se}var le=n(O,X);if(le)return le;var ce=Object.keys(X),q=o(ce);if(O.showHidden&&(ce=Object.getOwnPropertyNames(X)),u(X)&&(ce.indexOf("message")>=0||ce.indexOf("description")>=0))return a(X);if(ce.length===0){if(y(X)){var Z=X.name?": "+X.name:"";return O.stylize("[Function"+Z+"]","special")}if(g(X))return O.stylize(RegExp.prototype.toString.call(X),"regexp");if(v(X))return O.stylize(Date.prototype.toString.call(X),"date");if(u(X))return a(X)}var ee="",V=!1,oe=["{","}"];if(m(X)&&(V=!0,oe=["[","]"]),y(X)){var ie=X.name?": "+X.name:"";ee=" [Function"+ie+"]"}if(g(X)&&(ee=" "+RegExp.prototype.toString.call(X)),v(X)&&(ee=" "+Date.prototype.toUTCString.call(X)),u(X)&&(ee=" "+a(X)),ce.length===0&&(!V||X.length==0))return oe[0]+ee+oe[1];if(J<0)return g(X)?O.stylize(RegExp.prototype.toString.call(X),"regexp"):O.stylize("[Object]","special");O.seen.push(X);var j;return V?j=s(O,X,J,q,ce):j=ce.map(function(Q){return h(O,X,J,q,Q,V)}),O.seen.pop(),c(j,ee,oe)}function n(O,X){if(M(X))return O.stylize("undefined","undefined");if(w(X)){var J="'"+JSON.stringify(X).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return O.stylize(J,"string")}if(_(X))return O.stylize(""+X,"number");if(d(X))return O.stylize(""+X,"boolean");if(T(X))return O.stylize("null","null")}function a(O){return"["+Error.prototype.toString.call(O)+"]"}function s(O,X,J,se,le){for(var ce=[],q=0,Z=X.length;q-1&&(ce?Z=Z.split(` -`).map(function(V){return" "+V}).join(` -`).slice(2):Z=` -`+Z.split(` -`).map(function(V){return" "+V}).join(` -`))):Z=O.stylize("[Circular]","special")),M(q)){if(ce&&le.match(/^\d+$/))return Z;q=JSON.stringify(""+le),q.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(q=q.slice(1,-1),q=O.stylize(q,"name")):(q=q.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),q=O.stylize(q,"string"))}return q+": "+Z}function c(O,X,J){var se=0,le=O.reduce(function(ce,q){return se++,q.indexOf(` -`)>=0&&se++,ce+q.replace(/\u001b\[\d\d?m/g,"").length+1},0);return le>60?J[0]+(X===""?"":X+` - `)+" "+O.join(`, - `)+" "+J[1]:J[0]+X+" "+O.join(", ")+" "+J[1]}Y.types=S3();function m(O){return Array.isArray(O)}Y.isArray=m;function d(O){return typeof O=="boolean"}Y.isBoolean=d;function T(O){return O===null}Y.isNull=T;function l(O){return O==null}Y.isNullOrUndefined=l;function _(O){return typeof O=="number"}Y.isNumber=_;function w(O){return typeof O=="string"}Y.isString=w;function A(O){return typeof O=="symbol"}Y.isSymbol=A;function M(O){return O===void 0}Y.isUndefined=M;function g(O){return b(O)&&R(O)==="[object RegExp]"}Y.isRegExp=g,Y.types.isRegExp=g;function b(O){return typeof O=="object"&&O!==null}Y.isObject=b;function v(O){return b(O)&&R(O)==="[object Date]"}Y.isDate=v,Y.types.isDate=v;function u(O){return b(O)&&(R(O)==="[object Error]"||O instanceof Error)}Y.isError=u,Y.types.isNativeError=u;function y(O){return typeof O=="function"}Y.isFunction=y;function f(O){return O===null||typeof O=="boolean"||typeof O=="number"||typeof O=="string"||typeof O=="symbol"||typeof O>"u"}Y.isPrimitive=f,Y.isBuffer=M3();function R(O){return Object.prototype.toString.call(O)}function L(O){return O<10?"0"+O.toString(10):O.toString(10)}var z=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function F(){var O=new Date,X=[L(O.getHours()),L(O.getMinutes()),L(O.getSeconds())].join(":");return[O.getDate(),z[O.getMonth()],X].join(" ")}Y.log=function(){console.log("%s - %s",F(),Y.format.apply(Y,arguments))},Y.inherits=fp(),Y._extend=function(O,X){if(!X||!b(X))return O;for(var J=Object.keys(X),se=J.length;se--;)O[J[se]]=X[J[se]];return O};function N(O,X){return Object.prototype.hasOwnProperty.call(O,X)}var B=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;Y.promisify=function(X){if(typeof X!="function")throw new TypeError('The "original" argument must be of type Function');if(B&&X[B]){var J=X[B];if(typeof J!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(J,B,{value:J,enumerable:!1,writable:!1,configurable:!0}),J}function J(){for(var se,le,ce=new Promise(function(ee,V){se=ee,le=V}),q=[],Z=0;Z"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,d;function T(M,g,b){b||(b=Error);function v(y,f,R){return typeof g=="string"?g:g(y,f,R)}var u=function(y){r(R,y);var f=i(R);function R(L,z,F){var N;return t(this,R),N=f.call(this,v(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(v){return String(v)}),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=Py()),m(typeof M=="string","'name' must be a string");var v;typeof g=="string"&&_(g,"not ")?(v="must not be",g=g.replace(/^not /,"")):v="must be";var u;if(w(M," argument"))u="The ".concat(M," ").concat(v," ").concat(l(g,"type"));else{var y=A(M,".")?"property":"argument";u='The "'.concat(M,'" ').concat(y," ").concat(v," ").concat(l(g,"type"))}return u+=". Received type ".concat(p(b)),u},TypeError),T("ERR_INVALID_ARG_VALUE",function(M,g){var b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"is invalid";d===void 0&&(d=dg());var v=d.inspect(g);return v.length>128&&(v="".concat(v.slice(0,128),"...")),"The argument '".concat(M,"' ").concat(b,". Received ").concat(v)},TypeError,RangeError),T("ERR_INVALID_RETURN_VALUE",function(M,g,b){var v;return b&&b.constructor&&b.constructor.name?v="instance of ".concat(b.constructor.name):v="type ".concat(p(b)),"Expected ".concat(M,' to be returned from the "').concat(g,'"')+" function but got ".concat(v,".")},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 v="The ",u=g.length;switch(g=g.map(function(y){return'"'.concat(y,'"')}),u){case 1:v+="".concat(g[0]," argument");break;case 2:v+="".concat(g[0]," and ").concat(g[1]," arguments");break;default:v+=g.slice(0,u-1).join(", "),v+=", and ".concat(g[u-1]," arguments");break}return"".concat(v," must be specified")},TypeError),H.exports.codes=c}}),_C=De({"node_modules/assert/build/internal/assert/assertion_error.js"(Y,H){"use strict";function p(U,O){var X=Object.keys(U);if(Object.getOwnPropertySymbols){var J=Object.getOwnPropertySymbols(U);O&&(J=J.filter(function(se){return Object.getOwnPropertyDescriptor(U,se).enumerable})),X.push.apply(X,J)}return X}function x(U){for(var O=1;O"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 d(U){return Function.toString.call(U).indexOf("[native code]")!==-1}function T(U,O){return T=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(J,se){return J.__proto__=se,J},T(U,O)}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(O){return typeof O}:function(O){return O&&typeof Symbol=="function"&&O.constructor===Symbol&&O!==Symbol.prototype?"symbol":typeof O},_(U)}var w=dg(),A=w.inspect,M=D3(),g=M.codes.ERR_INVALID_ARG_TYPE;function b(U,O,X){return(X===void 0||X>U.length)&&(X=U.length),U.substring(X-O.length,X)===O}function v(U,O){if(O=Math.floor(O),U.length==0||O==0)return"";var X=U.length*O;for(O=Math.floor(Math.log(O)/Math.log(2));O;)U+=U,O--;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 O=Object.keys(U),X=Object.create(Object.getPrototypeOf(U));return O.forEach(function(J){X[J]=U[J]}),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 B(U,O,X){var J="",se="",le=0,ce="",q=!1,Z=N(U),ee=Z.split(` -`),V=N(O).split(` -`),oe=0,ie="";if(X==="strictEqual"&&_(U)==="object"&&_(O)==="object"&&U!==null&&O!==null&&(X="strictEqualObject"),ee.length===1&&V.length===1&&ee[0]!==V[0]){var j=ee[0].length+V[0].length;if(j<=z){if((_(U)!=="object"||U===null)&&(_(O)!=="object"||O===null)&&(U!==0||O!==0))return"".concat(L[X],` - -`)+"".concat(ee[0]," !== ").concat(V[0],` -`)}else if(X!=="strictEqualObject"){var Q=process.stderr&&process.stderr.isTTY?process.stderr.columns:80;if(j2&&(ie=` - `.concat(v(" ",oe),"^"),oe=0)}}}for(var re=ee[ee.length-1],ue=V[V.length-1];re===ue&&(oe++<2?ce=` - `.concat(re).concat(ce):J=re,ee.pop(),V.pop(),!(ee.length===0||V.length===0));)re=ee[ee.length-1],ue=V[V.length-1];var _e=Math.max(ee.length,V.length);if(_e===0){var we=Z.split(` -`);if(we.length>30)for(we[26]="".concat(u,"...").concat(R);we.length>27;)we.pop();return"".concat(L.notIdentical,` - -`).concat(we.join(` +var wI=Object.create;var q5=Object.defineProperty;var TI=Object.getOwnPropertyDescriptor;var AI=Object.getOwnPropertyNames;var MI=Object.getPrototypeOf,SI=Object.prototype.hasOwnProperty;var Ny=(gt,ve)=>()=>(ve||gt((ve={exports:{}}).exports,ve),ve.exports);var EI=(gt,ve,rt,lt)=>{if(ve&&typeof ve=="object"||typeof ve=="function")for(let Tt of AI(ve))!SI.call(gt,Tt)&&Tt!==rt&&q5(gt,Tt,{get:()=>ve[Tt],enumerable:!(lt=TI(ve,Tt))||lt.enumerable});return gt};var Jh=(gt,ve,rt)=>(rt=gt!=null?wI(MI(gt)):{},EI(ve||!gt||!gt.__esModule?q5(rt,"default",{value:gt,enumerable:!0}):rt,gt));var rv=Ny((wm,V5)=>{(function(gt,ve){typeof wm=="object"&&typeof V5<"u"?ve(wm):typeof define=="function"&&define.amd?define(["exports"],ve):(gt=typeof globalThis<"u"?globalThis:gt||self,ve(gt.lumino_algorithm={}))})(wm,function(gt){"use strict";gt.ArrayExt=void 0,function(An){function yi(Fi,Oi,Un=0,jn=-1){let Nn=Fi.length;if(Nn===0)return-1;Un<0?Un=Math.max(0,Un+Nn):Un=Math.min(Un,Nn-1),jn<0?jn=Math.max(0,jn+Nn):jn=Math.min(jn,Nn-1);let Yi;jn0;){let Gf=ol>>1,ih=ko+Gf;Un(Fi[ih],Oi)<0?(ko=ih+1,ol-=Gf+1):ol=Gf}return ko}An.lowerBound=Gs;function Pu(Fi,Oi,Un,jn=0,Nn=-1){let Yi=Fi.length;if(Yi===0)return 0;jn<0?jn=Math.max(0,jn+Yi):jn=Math.min(jn,Yi-1),Nn<0?Nn=Math.max(0,Nn+Yi):Nn=Math.min(Nn,Yi-1);let ko=jn,ol=Nn-jn+1;for(;ol>0;){let Gf=ol>>1,ih=ko+Gf;Un(Fi[ih],Oi)>0?ol=Gf:(ko=ih+1,ol-=Gf+1)}return ko}An.upperBound=Pu;function Vl(Fi,Oi,Un){if(Fi===Oi)return!0;if(Fi.length!==Oi.length)return!1;for(let jn=0,Nn=Fi.length;jn=Yi&&(Un=Nn<0?Yi-1:Yi),jn===void 0?jn=Nn<0?-1:Yi:jn<0?jn=Math.max(jn+Yi,Nn<0?-1:0):jn>=Yi&&(jn=Nn<0?Yi-1:Yi);let ko;Nn<0&&jn>=Un||Nn>0&&Un>=jn?ko=0:Nn<0?ko=Math.floor((jn-Un+1)/Nn+1):ko=Math.floor((jn-Un-1)/Nn+1);let ol=[];for(let Gf=0;Gf=jn))return;let Yi=jn-Un+1;if(Oi>0?Oi=Oi%Yi:Oi<0&&(Oi=(Oi%Yi+Yi)%Yi),Oi===0)return;let ko=Un+Oi;cu(Fi,Un,ko-1),cu(Fi,ko,jn),cu(Fi,Un,jn)}An.rotate=Ic;function nh(Fi,Oi,Un=0,jn=-1){let Nn=Fi.length;if(Nn===0)return;Un<0?Un=Math.max(0,Un+Nn):Un=Math.min(Un,Nn-1),jn<0?jn=Math.max(0,jn+Nn):jn=Math.min(jn,Nn-1);let Yi;jnOi;--Nn)Fi[Nn]=Fi[Nn-1];Fi[Oi]=Un}An.insert=Cd;function oo(Fi,Oi){let Un=Fi.length;if(Oi<0&&(Oi+=Un),Oi<0||Oi>=Un)return;let jn=Fi[Oi];for(let Nn=Oi+1;Nn=Un&&ko<=jn&&Fi[ko]===Oi||jn=Un)&&Fi[ko]===Oi?Yi++:Yi>0&&(Fi[ko-Yi]=Fi[ko]);return Yi>0&&(Fi.length=Nn-Yi),Yi}An.removeAllOf=Nh;function Ld(Fi,Oi,Un=0,jn=-1){let Nn,Yi=Gn(Fi,Oi,Un,jn);return Yi!==-1&&(Nn=oo(Fi,Yi)),{index:Yi,value:Nn}}An.removeFirstWhere=Ld;function Rs(Fi,Oi,Un=-1,jn=0){let Nn,Yi=ys(Fi,Oi,Un,jn);return Yi!==-1&&(Nn=oo(Fi,Yi)),{index:Yi,value:Nn}}An.removeLastWhere=Rs;function ld(Fi,Oi,Un=0,jn=-1){let Nn=Fi.length;if(Nn===0)return 0;Un<0?Un=Math.max(0,Un+Nn):Un=Math.min(Un,Nn-1),jn<0?jn=Math.max(0,jn+Nn):jn=Math.min(jn,Nn-1);let Yi=0;for(let ko=0;ko=Un&&ko<=jn&&Oi(Fi[ko],ko)||jn=Un)&&Oi(Fi[ko],ko)?Yi++:Yi>0&&(Fi[ko-Yi]=Fi[ko]);return Yi>0&&(Fi.length=Nn-Yi),Yi}An.removeAllWhere=ld}(gt.ArrayExt||(gt.ArrayExt={}));function*ve(...An){for(let yi of An)yield*yi}function*rt(){}function*lt(An,yi=0){for(let yn of An)yield[yi++,yn]}function*Tt(An,yi){let yn=0;for(let Gn of An)yi(Gn,yn++)&&(yield Gn)}function zt(An,yi){let yn=0;for(let Gn of An)if(yi(Gn,yn++))return Gn}function Lr(An,yi){let yn=0;for(let Gn of An)if(yi(Gn,yn++))return yn-1;return-1}function gr(An,yi){let yn;for(let Gn of An){if(yn===void 0){yn=Gn;continue}yi(Gn,yn)<0&&(yn=Gn)}return yn}function Mr(An,yi){let yn;for(let Gn of An){if(yn===void 0){yn=Gn;continue}yi(Gn,yn)>0&&(yn=Gn)}return yn}function Ur(An,yi){let yn=!0,Gn,ys;for(let Us of An)yn?(Gn=Us,ys=Us,yn=!1):yi(Us,Gn)<0?Gn=Us:yi(Us,ys)>0&&(ys=Us);return yn?void 0:[Gn,ys]}function wr(An){return Array.from(An)}function Ir(An){let yi={};for(let[yn,Gn]of An)yi[yn]=Gn;return yi}function Hr(An,yi){let yn=0;for(let Gn of An)if(yi(Gn,yn++)===!1)return}function Rr(An,yi){let yn=0;for(let Gn of An)if(yi(Gn,yn++)===!1)return!1;return!0}function Br(An,yi){let yn=0;for(let Gn of An)if(yi(Gn,yn++))return!0;return!1}function*Pr(An,yi){let yn=0;for(let Gn of An)yield yi(Gn,yn++)}function*xe(An,yi,yn){yi===void 0?(yi=An,An=0,yn=1):yn===void 0&&(yn=1);let Gn=Xa.rangeLength(An,yi,yn);for(let ys=0;ysGn&&ys>0||yn-1;yi--)yield An[yi]}function Pn(An){let yi=[],yn=new Set,Gn=new Map;for(let rs of An)ys(rs);for(let[rs]of Gn)Us(rs);return yi;function ys(rs){let[Gs,Pu]=rs,Vl=Gn.get(Pu);Vl?Vl.push(Gs):Gn.set(Pu,[Gs])}function Us(rs){if(yn.has(rs))return;yn.add(rs);let Gs=Gn.get(rs);if(Gs)for(let Pu of Gs)Us(Pu);yi.push(rs)}}function*Na(An,yi){let yn=0;for(let Gn of An)yn++%yi===0&&(yield Gn)}gt.StringExt=void 0,function(An){function yi(rs,Gs,Pu=0){let Vl=new Array(Gs.length);for(let Fl=0,uu=Pu,cu=Gs.length;FlGs?1:0}An.cmp=Us}(gt.StringExt||(gt.StringExt={}));function*ii(An,yi){if(yi<1)return;let yn=An[Symbol.iterator](),Gn;for(;0Gn[Symbol.iterator]()),yn=yi.map(Gn=>Gn.next());for(;Rr(yn,Gn=>!Gn.done);yn=yi.map(Gn=>Gn.next()))yield yn.map(Gn=>Gn.value)}gt.chain=ve,gt.each=Hr,gt.empty=rt,gt.enumerate=lt,gt.every=Rr,gt.filter=Tt,gt.find=zt,gt.findIndex=Lr,gt.map=Pr,gt.max=Mr,gt.min=gr,gt.minmax=Ur,gt.once=Ta,gt.range=xe,gt.reduce=Ka,gt.repeat=da,gt.retro=Ja,gt.some=Br,gt.stride=Na,gt.take=ii,gt.toArray=wr,gt.toObject=Ir,gt.topologicSort=Pn,gt.zip=Ni})});var Am=Ny((Tm,H5)=>{(function(gt,ve){typeof Tm=="object"&&typeof H5<"u"?ve(Tm,rv()):typeof define=="function"&&define.amd?define(["exports","@lumino/algorithm"],ve):(gt=typeof globalThis<"u"?globalThis:gt||self,ve(gt.lumino_coreutils={},gt.lumino_algorithm))})(Tm,function(gt,ve){"use strict";gt.JSONExt=void 0,function(Ur){Ur.emptyObject=Object.freeze({}),Ur.emptyArray=Object.freeze([]);function wr(da){return da===null||typeof da=="boolean"||typeof da=="number"||typeof da=="string"}Ur.isPrimitive=wr;function Ir(da){return Array.isArray(da)}Ur.isArray=Ir;function Hr(da){return!wr(da)&&!Ir(da)}Ur.isObject=Hr;function Rr(da,Ta){if(da===Ta)return!0;if(wr(da)||wr(Ta))return!1;let Ja=Ir(da),Pn=Ir(Ta);return Ja!==Pn?!1:Ja&&Pn?Pr(da,Ta):xe(da,Ta)}Ur.deepEqual=Rr;function Br(da){return wr(da)?da:Ir(da)?Xa(da):Ka(da)}Ur.deepCopy=Br;function Pr(da,Ta){if(da===Ta)return!0;if(da.length!==Ta.length)return!1;for(let Ja=0,Pn=da.length;Ja!0,this._plugins=new Map,this._services=new Map,wr.validatePlugin&&(console.info("Plugins may be rejected by the custom validation plugin method."),this._validatePlugin=wr.validatePlugin)}get application(){return this._application}set application(wr){if(this._application!==null)throw Error("PluginRegistry.application is already set. It cannot be overridden.");this._application=wr}get deferredPlugins(){return Array.from(this._plugins).filter(([wr,Ir])=>Ir.autoStart==="defer").map(([wr,Ir])=>wr)}getPluginDescription(wr){var Ir,Hr;return(Hr=(Ir=this._plugins.get(wr))===null||Ir===void 0?void 0:Ir.description)!==null&&Hr!==void 0?Hr:""}hasPlugin(wr){return this._plugins.has(wr)}isPluginActivated(wr){var Ir,Hr;return(Hr=(Ir=this._plugins.get(wr))===null||Ir===void 0?void 0:Ir.activated)!==null&&Hr!==void 0?Hr:!1}listPlugins(){return Array.from(this._plugins.keys())}registerPlugin(wr){if(this._plugins.has(wr.id))throw new TypeError(`Plugin '${wr.id}' is already registered.`);if(!this._validatePlugin(wr))throw new Error(`Plugin '${wr.id}' is not valid.`);let Ir=Tt.createPluginData(wr);Tt.ensureNoCycle(Ir,this._plugins,this._services),Ir.provides&&this._services.set(Ir.provides,Ir.id),this._plugins.set(Ir.id,Ir)}registerPlugins(wr){for(let Ir of wr)this.registerPlugin(Ir)}deregisterPlugin(wr,Ir){let Hr=this._plugins.get(wr);if(Hr){if(Hr.activated&&!Ir)throw new Error(`Plugin '${wr}' is still active.`);this._plugins.delete(wr)}}async activatePlugin(wr){let Ir=this._plugins.get(wr);if(!Ir)throw new ReferenceError(`Plugin '${wr}' is not registered.`);if(Ir.activated)return;if(Ir.promise)return Ir.promise;let Hr=Ir.requires.map(Br=>this.resolveRequiredService(Br)),Rr=Ir.optional.map(Br=>this.resolveOptionalService(Br));return Ir.promise=Promise.all([...Hr,...Rr]).then(Br=>Ir.activate.apply(void 0,[this.application,...Br])).then(Br=>{Ir.service=Br,Ir.activated=!0,Ir.promise=null}).catch(Br=>{throw Ir.promise=null,Br}),Ir.promise}async activatePlugins(wr,Ir={}){switch(wr){case"defer":{let Hr=this.deferredPlugins.filter(Rr=>this._plugins.get(Rr).autoStart).map(Rr=>this.activatePlugin(Rr));await Promise.all(Hr);break}case"startUp":{let Rr=Tt.collectStartupPlugins(this._plugins,Ir).map(async Br=>{try{return await this.activatePlugin(Br)}catch(Pr){console.error(`Plugin '${Br}' failed to activate.`,Pr)}});await Promise.all(Rr);break}}}async deactivatePlugin(wr){let Ir=this._plugins.get(wr);if(!Ir)throw new ReferenceError(`Plugin '${wr}' is not registered.`);if(!Ir.activated)return[];if(!Ir.deactivate)throw new TypeError(`Plugin '${wr}'#deactivate() method missing`);let Hr=Tt.findDependents(wr,this._plugins,this._services),Rr=Hr.map(Br=>this._plugins.get(Br));for(let Br of Rr)if(!Br.deactivate)throw new TypeError(`Plugin ${Br.id}#deactivate() method missing (depends on ${wr})`);for(let Br of Rr){let Pr=[...Br.requires,...Br.optional].map(xe=>{let Xa=this._services.get(xe);return Xa?this._plugins.get(Xa).service:null});await Br.deactivate(this.application,...Pr),Br.service=null,Br.activated=!1}return Hr.pop(),Hr}async resolveRequiredService(wr){let Ir=this._services.get(wr);if(!Ir)throw new TypeError(`No provider for: ${wr.name}.`);let Hr=this._plugins.get(Ir);return Hr.activated||await this.activatePlugin(Ir),Hr.service}async resolveOptionalService(wr){let Ir=this._services.get(wr);if(!Ir)return null;let Hr=this._plugins.get(Ir);if(!Hr.activated)try{await this.activatePlugin(Ir)}catch(Rr){return console.error(Rr),null}return Hr.service}}var Tt;(function(Ur){class wr{constructor(xe){var Xa,Ka,da,Ta;this._activated=!1,this._promise=null,this._service=null,this.id=xe.id,this.description=(Xa=xe.description)!==null&&Xa!==void 0?Xa:"",this.activate=xe.activate,this.deactivate=(Ka=xe.deactivate)!==null&&Ka!==void 0?Ka:null,this.provides=(da=xe.provides)!==null&&da!==void 0?da:null,this.autoStart=(Ta=xe.autoStart)!==null&&Ta!==void 0?Ta:!1,this.requires=xe.requires?xe.requires.slice():[],this.optional=xe.optional?xe.optional.slice():[]}get activated(){return this._activated}set activated(xe){this._activated=xe}get service(){return this._service}set service(xe){this._service=xe}get promise(){return this._promise}set promise(xe){this._promise=xe}}function Ir(Pr){return new wr(Pr)}Ur.createPluginData=Ir;function Hr(Pr,xe,Xa){let Ka=[...Pr.requires,...Pr.optional],da=Ja=>{if(Ja===Pr.provides)return!0;let Pn=Xa.get(Ja);if(!Pn)return!1;let Na=xe.get(Pn),ii=[...Na.requires,...Na.optional];return ii.length===0?!1:(Ta.push(Pn),ii.some(da)?!0:(Ta.pop(),!1))};if(!Pr.provides||Ka.length===0)return;let Ta=[Pr.id];if(Ka.some(da))throw new ReferenceError(`Cycle detected: ${Ta.join(" -> ")}.`)}Ur.ensureNoCycle=Hr;function Rr(Pr,xe,Xa){let Ka=new Array,da=ii=>{let Ni=xe.get(ii),An=[...Ni.requires,...Ni.optional];Ka.push(...An.reduce((yi,yn)=>{let Gn=Xa.get(yn);return Gn&&yi.push([ii,Gn]),yi},[]))};for(let ii of xe.keys())da(ii);let Ta=Ka.filter(ii=>ii[1]===Pr),Ja=0;for(;Ta.length>Ja;){let ii=Ta.length,Ni=new Set(Ta.map(An=>An[0]));for(let An of Ni)Ka.filter(yi=>yi[1]===An).forEach(yi=>{Ta.includes(yi)||Ta.push(yi)});Ja=ii}let Pn=ve.topologicSort(Ta),Na=Pn.findIndex(ii=>ii===Pr);return Na===-1?[Pr]:Pn.slice(0,Na+1)}Ur.findDependents=Rr;function Br(Pr,xe){let Xa=new Set;for(let Ka of Pr.keys())Pr.get(Ka).autoStart===!0&&Xa.add(Ka);if(xe.startPlugins)for(let Ka of xe.startPlugins)Xa.add(Ka);if(xe.ignorePlugins)for(let Ka of xe.ignorePlugins)Xa.delete(Ka);return Array.from(Xa)}Ur.collectStartupPlugins=Br})(Tt||(Tt={}));class zt{constructor(){this.promise=new Promise((wr,Ir)=>{this._resolve=wr,this._reject=Ir})}resolve(wr){let Ir=this._resolve;Ir(wr)}reject(wr){let Ir=this._reject;Ir(wr)}}class Lr{constructor(wr,Ir){this.name=wr,this.description=Ir??"",this._tokenStructuralPropertyT=null}}function gr(Ur){let wr=0;for(let Ir=0,Hr=Ur.length;Ir>>0),Ur[Ir]=wr&255,wr>>>=8}gt.Random=void 0,function(Ur){Ur.getRandomValues=(()=>{let wr=typeof window<"u"&&(window.crypto||window.msCrypto)||null;return wr&&typeof wr.getRandomValues=="function"?function(Hr){return wr.getRandomValues(Hr)}:gr})()}(gt.Random||(gt.Random={}));function Mr(Ur){let wr=new Uint8Array(16),Ir=new Array(256);for(let Hr=0;Hr<16;++Hr)Ir[Hr]="0"+Hr.toString(16);for(let Hr=16;Hr<256;++Hr)Ir[Hr]=Hr.toString(16);return function(){return Ur(wr),wr[6]=64|wr[6]&15,wr[8]=128|wr[8]&63,Ir[wr[0]]+Ir[wr[1]]+Ir[wr[2]]+Ir[wr[3]]+"-"+Ir[wr[4]]+Ir[wr[5]]+"-"+Ir[wr[6]]+Ir[wr[7]]+"-"+Ir[wr[8]]+Ir[wr[9]]+"-"+Ir[wr[10]]+Ir[wr[11]]+Ir[wr[12]]+Ir[wr[13]]+Ir[wr[14]]+Ir[wr[15]]}}gt.UUID=void 0,function(Ur){Ur.uuid4=Mr(gt.Random.getRandomValues)}(gt.UUID||(gt.UUID={})),gt.MimeData=rt,gt.PluginRegistry=lt,gt.PromiseDelegate=zt,gt.Token=Lr})});var Q5=Ny((J5,Fm)=>{(function(gt,ve){typeof Fm=="object"&&Fm.exports?Fm.exports=ve():gt.moduleName=ve()})(typeof self<"u"?self:J5,()=>{"use strict";var gt=(()=>{var ve=Object.create,rt=Object.defineProperty,lt=Object.defineProperties,Tt=Object.getOwnPropertyDescriptor,zt=Object.getOwnPropertyDescriptors,Lr=Object.getOwnPropertyNames,gr=Object.getOwnPropertySymbols,Mr=Object.getPrototypeOf,Ur=Object.prototype.hasOwnProperty,wr=Object.prototype.propertyIsEnumerable,Ir=(U,O,u)=>O in U?rt(U,O,{enumerable:!0,configurable:!0,writable:!0,value:u}):U[O]=u,Hr=(U,O)=>{for(var u in O||(O={}))Ur.call(O,u)&&Ir(U,u,O[u]);if(gr)for(var u of gr(O))wr.call(O,u)&&Ir(U,u,O[u]);return U},Rr=(U,O)=>lt(U,zt(O)),Br=(U,O)=>{var u={};for(var v in U)Ur.call(U,v)&&O.indexOf(v)<0&&(u[v]=U[v]);if(U!=null&&gr)for(var v of gr(U))O.indexOf(v)<0&&wr.call(U,v)&&(u[v]=U[v]);return u},Pr=(U,O,u)=>function(){if(u)throw u[0];try{return U&&(O=(0,U[Lr(U)[0]])(U=0)),O}catch(w){throw u=[w],w}},xe=(U,O)=>function(){try{return O||(0,U[Lr(U)[0]])((O={exports:{}}).exports,O),O.exports}catch(v){throw O=0,v}},Xa=(U,O)=>{for(var u in O)rt(U,u,{get:O[u],enumerable:!0})},Ka=(U,O,u,v)=>{if(O&&typeof O=="object"||typeof O=="function")for(let w of Lr(O))!Ur.call(U,w)&&w!==u&&rt(U,w,{get:()=>O[w],enumerable:!(v=Tt(O,w))||v.enumerable});return U},da=(U,O,u)=>(u=U!=null?ve(Mr(U)):{},Ka(O||!U||!U.__esModule?rt(u,"default",{value:U,enumerable:!0}):u,U)),Ta=U=>Ka(rt({},"__esModule",{value:!0}),U),Ja=xe({"src/version.js"(U){"use strict";U.version="4.0.0-rc.0"}}),Pn=xe({"node_modules/native-promise-only/lib/npo.src.js"(U,O){(function(v,w,S){w[v]=w[v]||S(),typeof O<"u"&&O.exports&&(O.exports=w[v])})("Promise",typeof window<"u"?window:U,function(){"use strict";var v,w,S,l=Object.prototype.toString,e=typeof setImmediate<"u"?function(b){return setImmediate(b)}:setTimeout;try{Object.defineProperty({},"x",{}),v=function(b,M,A,E){return Object.defineProperty(b,M,{value:A,writable:!0,configurable:E!==!1})}}catch{v=function(M,A,E){return M[A]=E,M}}S=function(){var b,M,A;function E(g,T){this.fn=g,this.self=T,this.next=void 0}return{add:function(T,m){A=new E(T,m),M?M.next=A:b=A,M=A,A=void 0},drain:function(){var T=b;for(b=M=w=void 0;T;)T.fn.call(T.self),T=T.next}}}();function t(o,b){S.add(o,b),w||(w=e(S.drain))}function a(o){var b,M=typeof o;return o!=null&&(M=="object"||M=="function")&&(b=o.then),typeof b=="function"?b:!1}function r(){for(var o=0;o0&&t(r,M))}catch(A){s.call(new p(M),A)}}}function s(o){var b=this;b.triggered||(b.triggered=!0,b.def&&(b=b.def),b.msg=o,b.state=2,b.chain.length>0&&t(r,b))}function c(o,b,M,A){for(var E=0;Ewe?1:le>=we?0:NaN}u.descending=function(le,we){return wele?1:we>=le?0:NaN},u.min=function(le,we){var Be=-1,$e=le.length,Je,it;if(arguments.length===1){for(;++Be<$e;)if((it=le[Be])!=null&&it>=it){Je=it;break}for(;++Be<$e;)(it=le[Be])!=null&&Je>it&&(Je=it)}else{for(;++Be<$e;)if((it=we.call(le,le[Be],Be))!=null&&it>=it){Je=it;break}for(;++Be<$e;)(it=we.call(le,le[Be],Be))!=null&&Je>it&&(Je=it)}return Je},u.max=function(le,we){var Be=-1,$e=le.length,Je,it;if(arguments.length===1){for(;++Be<$e;)if((it=le[Be])!=null&&it>=it){Je=it;break}for(;++Be<$e;)(it=le[Be])!=null&&it>Je&&(Je=it)}else{for(;++Be<$e;)if((it=we.call(le,le[Be],Be))!=null&&it>=it){Je=it;break}for(;++Be<$e;)(it=we.call(le,le[Be],Be))!=null&&it>Je&&(Je=it)}return Je},u.extent=function(le,we){var Be=-1,$e=le.length,Je,it,Ct;if(arguments.length===1){for(;++Be<$e;)if((it=le[Be])!=null&&it>=it){Je=Ct=it;break}for(;++Be<$e;)(it=le[Be])!=null&&(Je>it&&(Je=it),Ct=it){Je=Ct=it;break}for(;++Be<$e;)(it=we.call(le,le[Be],Be))!=null&&(Je>it&&(Je=it),Ct1)return Ct/(qt-1)},u.deviation=function(){var le=u.variance.apply(this,arguments);return le&&Math.sqrt(le)};function f(le){return{left:function(we,Be,$e,Je){for(arguments.length<3&&($e=0),arguments.length<4&&(Je=we.length);$e>>1;le(we[it],Be)<0?$e=it+1:Je=it}return $e},right:function(we,Be,$e,Je){for(arguments.length<3&&($e=0),arguments.length<4&&(Je=we.length);$e>>1;le(we[it],Be)>0?Je=it:$e=it+1}return $e}}}var d=f(s);u.bisectLeft=d.left,u.bisect=u.bisectRight=d.right,u.bisector=function(le){return f(le.length===1?function(we,Be){return s(le(we),Be)}:le)},u.shuffle=function(le,we,Be){($e=arguments.length)<3&&(Be=le.length,$e<2&&(we=0));for(var $e=Be-we,Je,it;$e;)it=Math.random()*$e--|0,Je=le[$e+we],le[$e+we]=le[it+we],le[it+we]=Je;return le},u.permute=function(le,we){for(var Be=we.length,$e=new Array(Be);Be--;)$e[Be]=le[we[Be]];return $e},u.pairs=function(le){for(var we=0,Be=le.length-1,$e,Je=le[0],it=new Array(Be<0?0:Be);we=0;)for(Ct=le[we],Be=Ct.length;--Be>=0;)it[--Je]=Ct[Be];return it};var o=Math.abs;u.range=function(le,we,Be){if(arguments.length<3&&(Be=1,arguments.length<2&&(we=le,le=0)),(we-le)/Be===1/0)throw new Error("infinite range");var $e=[],Je=b(o(Be)),it=-1,Ct;if(le*=Je,we*=Je,Be*=Je,Be<0)for(;(Ct=le+Be*++it)>we;)$e.push(Ct/Je);else for(;(Ct=le+Be*++it)=we.length)return Je?Je.call(le,qt):$e?qt.sort($e):qt;for(var ur=-1,qr=qt.length,Nr=we[sr++],ya,Ea,Zr,oa=new A,ma;++ur=we.length)return bt;var sr=[],ur=Be[qt++];return bt.forEach(function(qr,Nr){sr.push({key:qr,values:Ct(Nr,qt)})}),ur?sr.sort(function(qr,Nr){return ur(qr.key,Nr.key)}):sr}return le.map=function(bt,qt){return it(qt,bt,0)},le.entries=function(bt){return Ct(it(u.map,bt,0),0)},le.key=function(bt){return we.push(bt),le},le.sortKeys=function(bt){return Be[we.length-1]=bt,le},le.sortValues=function(bt){return $e=bt,le},le.rollup=function(bt){return Je=bt,le},le},u.set=function(le){var we=new F;if(le)for(var Be=0,$e=le.length;Be<$e;++Be)we.add(le[Be]);return we};function F(){this._=Object.create(null)}M(F,{has:h,add:function(le){return this._[T(le+="")]=!0,le},remove:x,values:_,size:D,empty:C,forEach:function(le){for(var we in this._)le.call(this,m(we))}}),u.behavior={};function I(le){return le}u.rebind=function(le,we){for(var Be=1,$e=arguments.length,Je;++Be<$e;)le[Je=arguments[Be]]=z(le,we,we[Je]);return le};function z(le,we,Be){return function(){var $e=Be.apply(we,arguments);return $e===we?le:$e}}function R(le,we){if(we in le)return we;we=we.charAt(0).toUpperCase()+we.slice(1);for(var Be=0,$e=k.length;Be<$e;++Be){var Je=k[Be]+we;if(Je in le)return Je}}var k=["webkit","ms","moz","Moz","o","O"];function B(){}u.dispatch=function(){for(var le=new N,we=-1,Be=arguments.length;++we=0&&($e=le.slice(Be+1),le=le.slice(0,Be)),le)return arguments.length<2?this[le].on($e):this[le].on($e,we);if(arguments.length===2){if(we==null)for(le in this)this.hasOwnProperty(le)&&this[le].on($e,null);return this}};function q(le){var we=[],Be=new A;function $e(){for(var Je=we,it=-1,Ct=Je.length,bt;++it=0&&(Be=le.slice(0,we))!=="xmlns"&&(le=le.slice(we+1)),ue.hasOwnProperty(Be)?{space:ue[Be],local:le}:le}},X.attr=function(le,we){if(arguments.length<2){if(typeof le=="string"){var Be=this.node();return le=u.ns.qualify(le),le.local?Be.getAttributeNS(le.space,le.local):Be.getAttribute(le)}for(we in le)this.each(pe(we,le[we]));return this}return this.each(pe(le,we))};function pe(le,we){le=u.ns.qualify(le);function Be(){this.removeAttribute(le)}function $e(){this.removeAttributeNS(le.space,le.local)}function Je(){this.setAttribute(le,we)}function it(){this.setAttributeNS(le.space,le.local,we)}function Ct(){var qt=we.apply(this,arguments);qt==null?this.removeAttribute(le):this.setAttribute(le,qt)}function bt(){var qt=we.apply(this,arguments);qt==null?this.removeAttributeNS(le.space,le.local):this.setAttributeNS(le.space,le.local,qt)}return we==null?le.local?$e:Be:typeof we=="function"?le.local?bt:Ct:le.local?it:Je}function ge(le){return le.trim().replace(/\s+/g," ")}X.classed=function(le,we){if(arguments.length<2){if(typeof le=="string"){var Be=this.node(),$e=(le=Se(le)).length,Je=-1;if(we=Be.classList){for(;++Je<$e;)if(!we.contains(le[Je]))return!1}else for(we=Be.getAttribute("class");++Je<$e;)if(!Te(le[Je]).test(we))return!1;return!0}for(we in le)this.each(Ce(we,le[we]));return this}return this.each(Ce(le,we))};function Te(le){return new RegExp("(?:^|\\s+)"+u.requote(le)+"(?:\\s+|$)","g")}function Se(le){return(le+"").trim().split(/^|\s+/)}function Ce(le,we){le=Se(le).map(Ue);var Be=le.length;function $e(){for(var it=-1;++it=0;)(it=Be[$e])&&(Je&&Je!==it.nextSibling&&Je.parentNode.insertBefore(it,Je),Je=it);return this},X.sort=function(le){le=be.apply(this,arguments);for(var we=-1,Be=this.length;++we=we&&(we=Je+1);!(qt=Ct[we])&&++we0&&(le=le.slice(0,Je));var Ct=yt.get(le);Ct&&(le=Ct,it=It);function bt(){var ur=this[$e];ur&&(this.removeEventListener(le,ur,ur.$),delete this[$e])}function qt(){var ur=it(we,w(arguments));bt.call(this),this.addEventListener(le,this[$e]=ur,ur.$=Be),ur._=we}function sr(){var ur=new RegExp("^__on([^.]+)"+u.requote(le)+"$"),qr;for(var Nr in this)if(qr=Nr.match(ur)){var ya=this[Nr];this.removeEventListener(qr[1],ya,ya.$),delete this[Nr]}}return Je?we?qt:bt:we?B:sr}var yt=u.map({mouseenter:"mouseover",mouseleave:"mouseout"});S&&yt.forEach(function(le){"on"+le in S&&yt.remove(le)});function At(le,we){return function(Be){var $e=u.event;u.event=Be,we[0]=this.__data__;try{le.apply(this,we)}finally{u.event=$e}}}function It(le,we){var Be=At(le,we);return function($e){var Je=this,it=$e.relatedTarget;(!it||it!==Je&&!(it.compareDocumentPosition(Je)&8))&&Be.call(Je,$e)}}var Zt,vr=0;function Ut(le){var we=".dragsuppress-"+ ++vr,Be="click"+we,$e=u.select(e(le)).on("touchmove"+we,Y).on("dragstart"+we,Y).on("selectstart"+we,Y);if(Zt==null&&(Zt="onselectstart"in le?!1:R(le.style,"userSelect")),Zt){var Je=l(le).style,it=Je[Zt];Je[Zt]="none"}return function(Ct){if($e.on(we,null),Zt&&(Je[Zt]=it),Ct){var bt=function(){$e.on(Be,null)};$e.on(Be,function(){Y(),bt()},!0),setTimeout(bt,0)}}}u.mouse=function(le){return at(le,ee())};var Jt=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function at(le,we){we.changedTouches&&(we=we.changedTouches[0]);var Be=le.ownerSVGElement||le;if(Be.createSVGPoint){var $e=Be.createSVGPoint();if(Jt<0){var Je=e(le);if(Je.scrollX||Je.scrollY){Be=u.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var it=Be[0][0].getScreenCTM();Jt=!(it.f||it.e),Be.remove()}}return Jt?($e.x=we.pageX,$e.y=we.pageY):($e.x=we.clientX,$e.y=we.clientY),$e=$e.matrixTransform(le.getScreenCTM().inverse()),[$e.x,$e.y]}var Ct=le.getBoundingClientRect();return[we.clientX-Ct.left-le.clientLeft,we.clientY-Ct.top-le.clientTop]}u.touch=function(le,we,Be){if(arguments.length<3&&(Be=we,we=ee().changedTouches),we){for(var $e=0,Je=we.length,it;$e0?1:le<0?-1:0}function ft(le,we,Be){return(we[0]-le[0])*(Be[1]-le[1])-(we[1]-le[1])*(Be[0]-le[0])}function mt(le){return le>1?0:le<-1?ye:Math.acos(le)}function _t(le){return le>1?He:le<-1?-He:Math.asin(le)}function Bt(le){return((le=Math.exp(le))-1/le)/2}function Et(le){return((le=Math.exp(le))+1/le)/2}function hr(le){return((le=Math.exp(2*le))-1)/(le+1)}function $r(le){return(le=Math.sin(le/2))*le}var ca=Math.SQRT2,na=2,wa=4;u.interpolateZoom=function(le,we){var Be=le[0],$e=le[1],Je=le[2],it=we[0],Ct=we[1],bt=we[2],qt=it-Be,sr=Ct-$e,ur=qt*qt+sr*sr,qr,Nr;if(ur0&&(gi=gi.transition().duration(Ct)),gi.call(Ca.event)}function Ui(){oa&&oa.domain(Zr.range().map(function(gi){return(gi-le.x)/le.k}).map(Zr.invert)),Ma&&Ma.domain(ma.range().map(function(gi){return(gi-le.y)/le.k}).map(ma.invert))}function Bi(gi){bt++||gi({type:"zoomstart"})}function So(gi){Ui(),gi({type:"zoom",scale:le.k,translate:[le.x,le.y]})}function Di(gi){--bt||(gi({type:"zoomend"}),Be=null)}function mo(){var gi=this,Qi=Ea.of(gi,arguments),Oo=0,gs=u.select(e(gi)).on(sr,su).on(ur,xu),Bs=aa(u.mouse(gi)),cl=Ut(gi);pi.call(gi),Bi(Qi);function su(){Oo=1,ri(u.mouse(gi),Bs),So(Qi)}function xu(){gs.on(sr,null).on(ur,null),cl(Oo),Di(Qi)}}function Ts(){var gi=this,Qi=Ea.of(gi,arguments),Oo={},gs=0,Bs,cl=".zoom-"+u.event.changedTouches[0].identifier,su="touchmove"+cl,xu="touchend"+cl,ic=[],Ve=u.select(gi),Pt=Ut(gi);Er(),Bi(Qi),Ve.on(qt,null).on(Nr,Er);function Ft(){var Yr=u.touches(gi);return Bs=le.k,Yr.forEach(function(_a){_a.identifier in Oo&&(Oo[_a.identifier]=aa(_a))}),Yr}function Er(){var Yr=u.event.target;u.select(Yr).on(su,Xr).on(xu,Kr),ic.push(Yr);for(var _a=u.event.changedTouches,Ra=0,Ba=_a.length;Ra1){var Tn=Ua[0],nn=Ua[1],ua=Tn[0]-nn[0],yr=Tn[1]-nn[1];gs=ua*ua+yr*yr}}function Xr(){var Yr=u.touches(gi),_a,Ra,Ba,Ua;pi.call(gi);for(var Wn=0,Tn=Yr.length;Wn1?1:we,Be=Be<0?0:Be>1?1:Be,Je=Be<=.5?Be*(1+we):Be+we-Be*we,$e=2*Be-Je;function it(bt){return bt>360?bt-=360:bt<0&&(bt+=360),bt<60?$e+(Je-$e)*bt/60:bt<180?Je:bt<240?$e+(Je-$e)*(240-bt)/60:$e}function Ct(bt){return Math.round(it(bt)*255)}return new rn(Ct(le+120),Ct(le),Ct(le-120))}u.hcl=ka;function ka(le,we,Be){return this instanceof ka?(this.h=+le,this.c=+we,void(this.l=+Be)):arguments.length<2?le instanceof ka?new ka(le.h,le.c,le.l):le instanceof bn?Ln(le.l,le.a,le.b):Ln((le=rr((le=u.rgb(le)).r,le.g,le.b)).l,le.a,le.b):new ka(le,we,Be)}var oi=ka.prototype=new Ia;oi.brighter=function(le){return new ka(this.h,this.c,Math.min(100,this.l+ci*(arguments.length?le:1)))},oi.darker=function(le){return new ka(this.h,this.c,Math.max(0,this.l-ci*(arguments.length?le:1)))},oi.rgb=function(){return $n(this.h,this.c,this.l).rgb()};function $n(le,we,Be){return isNaN(le)&&(le=0),isNaN(we)&&(we=0),new bn(Be,Math.cos(le*=We)*we,Math.sin(le)*we)}u.lab=bn;function bn(le,we,Be){return this instanceof bn?(this.l=+le,this.a=+we,void(this.b=+Be)):arguments.length<2?le instanceof bn?new bn(le.l,le.a,le.b):le instanceof ka?$n(le.h,le.c,le.l):rr((le=rn(le)).r,le.g,le.b):new bn(le,we,Be)}var ci=18,hi=.95047,Pi=1,Jn=1.08883,Ti=bn.prototype=new Ia;Ti.brighter=function(le){return new bn(Math.min(100,this.l+ci*(arguments.length?le:1)),this.a,this.b)},Ti.darker=function(le){return new bn(Math.max(0,this.l-ci*(arguments.length?le:1)),this.a,this.b)},Ti.rgb=function(){return _n(this.l,this.a,this.b)};function _n(le,we,Be){var $e=(le+16)/116,Je=$e+we/500,it=$e-Be/200;return Je=ji(Je)*hi,$e=ji($e)*Pi,it=ji(it)*Jn,new rn(un(3.2404542*Je-1.5371385*$e-.4985314*it),un(-.969266*Je+1.8760108*$e+.041556*it),un(.0556434*Je-.2040259*$e+1.0572252*it))}function Ln(le,we,Be){return le>0?new ka(Math.atan2(Be,we)*pt,Math.sqrt(we*we+Be*Be),le):new ka(NaN,NaN,le)}function ji(le){return le>.206893034?le*le*le:(le-4/29)/7.787037}function Zi(le){return le>.008856?Math.pow(le,1/3):7.787037*le+4/29}function un(le){return Math.round(255*(le<=.00304?12.92*le:1.055*Math.pow(le,1/2.4)-.055))}u.rgb=rn;function rn(le,we,Be){return this instanceof rn?(this.r=~~le,this.g=~~we,void(this.b=~~Be)):arguments.length<2?le instanceof rn?new rn(le.r,le.g,le.b):nr(""+le,rn,tn):new rn(le,we,Be)}function nt(le){return new rn(le>>16,le>>8&255,le&255)}function Ke(le){return nt(le)+""}var Qt=rn.prototype=new Ia;Qt.brighter=function(le){le=Math.pow(.7,arguments.length?le:1);var we=this.r,Be=this.g,$e=this.b,Je=30;return!we&&!Be&&!$e?new rn(Je,Je,Je):(we&&we>4,$e=$e>>4|$e,Je=qt&240,Je=Je>>4|Je,it=qt&15,it=it<<4|it):le.length===7&&($e=(qt&16711680)>>16,Je=(qt&65280)>>8,it=qt&255)),we($e,Je,it))}function cr(le,we,Be){var $e=Math.min(le/=255,we/=255,Be/=255),Je=Math.max(le,we,Be),it=Je-$e,Ct,bt,qt=(Je+$e)/2;return it?(bt=qt<.5?it/(Je+$e):it/(2-Je-$e),le==Je?Ct=(we-Be)/it+(we0&&qt<1?0:Ct),new Va(Ct,bt,qt)}function rr(le,we,Be){le=Ze(le),we=Ze(we),Be=Ze(Be);var $e=Zi((.4124564*le+.3575761*we+.1804375*Be)/hi),Je=Zi((.2126729*le+.7151522*we+.072175*Be)/Pi),it=Zi((.0193339*le+.119192*we+.9503041*Be)/Jn);return bn(116*Je-16,500*($e-Je),200*(Je-it))}function Ze(le){return(le/=255)<=.04045?le/12.92:Math.pow((le+.055)/1.055,2.4)}function xt(le){var we=parseFloat(le);return le.charAt(le.length-1)==="%"?Math.round(we*2.55):we}var Vt=u.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});Vt.forEach(function(le,we){Vt.set(le,nt(we))});function er(le){return typeof le=="function"?le:function(){return le}}u.functor=er,u.xhr=Tr(I);function Tr(le){return function(we,Be,$e){return arguments.length===2&&typeof Be=="function"&&($e=Be,Be=null),jr(we,Be,le,$e)}}function jr(le,we,Be,$e){var Je={},it=u.dispatch("beforesend","progress","load","error"),Ct={},bt=new XMLHttpRequest,qt=null;self.XDomainRequest&&!("withCredentials"in bt)&&/^(http(s)?:)?\/\//.test(le)&&(bt=new XDomainRequest),"onload"in bt?bt.onload=bt.onerror=sr:bt.onreadystatechange=function(){bt.readyState>3&&sr()};function sr(){var ur=bt.status,qr;if(!ur&&kr(bt)||ur>=200&&ur<300||ur===304){try{qr=Be.call(Je,bt)}catch(Nr){it.error.call(Je,Nr);return}it.load.call(Je,qr)}else it.error.call(Je,bt)}return bt.onprogress=function(ur){var qr=u.event;u.event=ur;try{it.progress.call(Je,bt)}finally{u.event=qr}},Je.header=function(ur,qr){return ur=(ur+"").toLowerCase(),arguments.length<2?Ct[ur]:(qr==null?delete Ct[ur]:Ct[ur]=qr+"",Je)},Je.mimeType=function(ur){return arguments.length?(we=ur==null?null:ur+"",Je):we},Je.responseType=function(ur){return arguments.length?(qt=ur,Je):qt},Je.response=function(ur){return Be=ur,Je},["get","post"].forEach(function(ur){Je[ur]=function(){return Je.send.apply(Je,[ur].concat(w(arguments)))}}),Je.send=function(ur,qr,Nr){if(arguments.length===2&&typeof qr=="function"&&(Nr=qr,qr=null),bt.open(ur,le,!0),we!=null&&!("accept"in Ct)&&(Ct.accept=we+",*/*"),bt.setRequestHeader)for(var ya in Ct)bt.setRequestHeader(ya,Ct[ya]);return we!=null&&bt.overrideMimeType&&bt.overrideMimeType(we),qt!=null&&(bt.responseType=qt),Nr!=null&&Je.on("error",Nr).on("load",function(Ea){Nr(null,Ea)}),it.beforesend.call(Je,bt),bt.send(qr??null),Je},Je.abort=function(){return bt.abort(),Je},u.rebind(Je,it,"on"),$e==null?Je:Je.get(Fr($e))}function Fr(le){return le.length===1?function(we,Be){le(we==null?Be:null)}:le}function kr(le){var we=le.responseType;return we&&we!=="text"?le.response:le.responseText}u.dsv=function(le,we){var Be=new RegExp('["'+le+` +]`),$e=le.charCodeAt(0);function Je(sr,ur,qr){arguments.length<3&&(qr=ur,ur=null);var Nr=jr(sr,we,ur==null?it:Ct(ur),qr);return Nr.row=function(ya){return arguments.length?Nr.response((ur=ya)==null?it:Ct(ya)):ur},Nr}function it(sr){return Je.parse(sr.responseText)}function Ct(sr){return function(ur){return Je.parse(ur.responseText,sr)}}Je.parse=function(sr,ur){var qr;return Je.parseRows(sr,function(Nr,ya){if(qr)return qr(Nr,ya-1);var Ea=function(Zr){for(var oa={},ma=Nr.length,Ma=0;Ma=Ea)return Nr;if(Ma)return Ma=!1,qr;var Sn=Zr;if(sr.charCodeAt(Sn)===34){for(var Bn=Sn;Bn++24?(isFinite(we)&&(clearTimeout(Dn),Dn=setTimeout(ti,we)),La=0):(La=1,Mn(ti))}u.timer.flush=function(){Si(),ai()};function Si(){for(var le=Date.now(),we=ra;we;)le>=we.t&&we.c(le-we.t)&&(we.c=null),we=we.n;return le}function ai(){for(var le,we=ra,Be=1/0;we;)we.c?(we.t=0;--bt)Zr.push(Je[sr[qr[bt]][2]]);for(bt=+ya;bt1&&ft(le[Be[$e-2]],le[Be[$e-1]],le[Je])<=0;)--$e;Be[$e++]=Je}return Be.slice(0,$e)}function Bo(le,we){return le[0]-we[0]||le[1]-we[1]}u.geom.polygon=function(le){return j(le,Mo),le};var Mo=u.geom.polygon.prototype=[];Mo.area=function(){for(var le=-1,we=this.length,Be,$e=this[we-1],Je=0;++leRe)bt=bt.L;else if(Ct=we-po(bt,Be),Ct>Re){if(!bt.R){$e=bt;break}bt=bt.R}else{it>-Re?($e=bt.P,Je=bt):Ct>-Re?($e=bt,Je=bt.N):$e=Je=bt;break}var qt=Ho(le);if(Po.insert($e,qt),!(!$e&&!Je)){if($e===Je){qs($e),Je=Ho($e.site),Po.insert(qt,Je),qt.edge=Je.edge=fs($e.site,qt.site),ts($e),ts(Je);return}if(!Je){qt.edge=fs($e.site,qt.site);return}qs($e),qs(Je);var sr=$e.site,ur=sr.x,qr=sr.y,Nr=le.x-ur,ya=le.y-qr,Ea=Je.site,Zr=Ea.x-ur,oa=Ea.y-qr,ma=2*(Nr*oa-ya*Zr),Ma=Nr*Nr+ya*ya,Ca=Zr*Zr+oa*oa,aa={x:(oa*Ma-ya*Ca)/ma+ur,y:(Nr*Ca-Zr*Ma)/ma+qr};Ss(Je.edge,sr,Ea,aa),qt.edge=fs(sr,le,null,aa),Je.edge=fs(le,Ea,null,aa),ts($e),ts(Je)}}function Yo(le,we){var Be=le.site,$e=Be.x,Je=Be.y,it=Je-we;if(!it)return $e;var Ct=le.P;if(!Ct)return-1/0;Be=Ct.site;var bt=Be.x,qt=Be.y,sr=qt-we;if(!sr)return bt;var ur=bt-$e,qr=1/it-1/sr,Nr=ur/sr;return qr?(-Nr+Math.sqrt(Nr*Nr-2*qr*(ur*ur/(-2*sr)-qt+sr/2+Je-it/2)))/qr+$e:($e+bt)/2}function po(le,we){var Be=le.N;if(Be)return Yo(Be,we);var $e=le.site;return $e.y===we?$e.x:1/0}function _s(le){this.site=le,this.edges=[]}_s.prototype.prepare=function(){for(var le=this.edges,we=le.length,Be;we--;)Be=le[we].edge,(!Be.b||!Be.a)&&le.splice(we,1);return le.sort(Io),le.length};function qo(le){for(var we=le[0][0],Be=le[1][0],$e=le[0][1],Je=le[1][1],it,Ct,bt,qt,sr=Wo,ur=sr.length,qr,Nr,ya,Ea,Zr,oa;ur--;)if(qr=sr[ur],!(!qr||!qr.prepare()))for(ya=qr.edges,Ea=ya.length,Nr=0;NrRe||o(qt-Ct)>Re)&&(ya.splice(Nr,0,new ls(Wl(qr.site,oa,o(bt-we)Re?{x:we,y:o(it-we)Re?{x:o(Ct-Je)Re?{x:Be,y:o(it-Be)Re?{x:o(Ct-$e)=-he)){var Nr=qt*qt+sr*sr,ya=ur*ur+oa*oa,Ea=(oa*Nr-sr*ya)/qr,Zr=(qt*ya-ur*Nr)/qr,oa=Zr+bt,ma=ro.pop()||new tl;ma.arc=le,ma.site=Je,ma.x=Ea+Ct,ma.y=oa+Math.sqrt(Ea*Ea+Zr*Zr),ma.cy=oa,le.circle=ma;for(var Ma=null,Ca=ho._;Ca;)if(ma.y0)){if(Zr/=ya,ya<0){if(Zr0){if(Zr>Nr)return;Zr>qr&&(qr=Zr)}if(Zr=Be-bt,!(!ya&&Zr<0)){if(Zr/=ya,ya<0){if(Zr>Nr)return;Zr>qr&&(qr=Zr)}else if(ya>0){if(Zr0)){if(Zr/=Ea,Ea<0){if(Zr0){if(Zr>Nr)return;Zr>qr&&(qr=Zr)}if(Zr=$e-qt,!(!Ea&&Zr<0)){if(Zr/=Ea,Ea<0){if(Zr>Nr)return;Zr>qr&&(qr=Zr)}else if(Ea>0){if(Zr0&&(Je.a={x:bt+qr*ya,y:qt+qr*Ea}),Nr<1&&(Je.b={x:bt+Nr*ya,y:qt+Nr*Ea}),Je}}}}}}function ps(le){for(var we=Co,Be=Xs(le[0][0],le[0][1],le[1][0],le[1][1]),$e=we.length,Je;$e--;)Je=we[$e],(!ml(Je,le)||!Be(Je)||o(Je.a.x-Je.b.x)=it)return;if(ur>Nr){if(!$e)$e={x:Ea,y:Ct};else if($e.y>=bt)return;Be={x:Ea,y:bt}}else{if(!$e)$e={x:Ea,y:bt};else if($e.y1)if(ur>Nr){if(!$e)$e={x:(Ct-ma)/oa,y:Ct};else if($e.y>=bt)return;Be={x:(bt-ma)/oa,y:bt}}else{if(!$e)$e={x:(bt-ma)/oa,y:bt};else if($e.y=it)return;Be={x:it,y:oa*it+ma}}else{if(!$e)$e={x:it,y:oa*it+ma};else if($e.x=ur&&ma.x<=Nr&&ma.y>=qr&&ma.y<=ya?[[ur,ya],[Nr,ya],[Nr,qr],[ur,qr]]:[];Ma.point=qt[Zr]}),sr}function bt(qt){return qt.map(function(sr,ur){return{x:Math.round($e(sr,ur)/Re)*Re,y:Math.round(Je(sr,ur)/Re)*Re,i:ur}})}return Ct.links=function(qt){return Ql(bt(qt)).edges.filter(function(sr){return sr.l&&sr.r}).map(function(sr){return{source:qt[sr.l.i],target:qt[sr.r.i]}})},Ct.triangles=function(qt){var sr=[];return Ql(bt(qt)).cells.forEach(function(ur,qr){for(var Nr=ur.site,ya=ur.edges.sort(Io),Ea=-1,Zr=ya.length,oa,ma,Ma=ya[Zr-1].edge,Ca=Ma.l===Nr?Ma.r:Ma.l;++EaCa&&(Ca=ur.x),ur.y>aa&&(aa=ur.y),ya.push(ur.x),Ea.push(ur.y);else for(Zr=0;ZrCa&&(Ca=Sn),Bn>aa&&(aa=Bn),ya.push(Sn),Ea.push(Bn)}var ri=Ca-ma,xi=aa-Ma;ri>xi?aa=Ma+ri:Ca=ma+xi;function Ui(Di,mo,Ts,al,Ds,gi,Qi,Oo){if(!(isNaN(Ts)||isNaN(al)))if(Di.leaf){var gs=Di.x,Bs=Di.y;if(gs!=null)if(o(gs-Ts)+o(Bs-al)<.01)Bi(Di,mo,Ts,al,Ds,gi,Qi,Oo);else{var cl=Di.point;Di.x=Di.y=Di.point=null,Bi(Di,cl,gs,Bs,Ds,gi,Qi,Oo),Bi(Di,mo,Ts,al,Ds,gi,Qi,Oo)}else Di.x=Ts,Di.y=al,Di.point=mo}else Bi(Di,mo,Ts,al,Ds,gi,Qi,Oo)}function Bi(Di,mo,Ts,al,Ds,gi,Qi,Oo){var gs=(Ds+Qi)*.5,Bs=(gi+Oo)*.5,cl=Ts>=gs,su=al>=Bs,xu=su<<1|cl;Di.leaf=!1,Di=Di.nodes[xu]||(Di.nodes[xu]=_c()),cl?Ds=gs:Qi=gs,su?gi=Bs:Oo=Bs,Ui(Di,mo,Ts,al,Ds,gi,Qi,Oo)}var So=_c();if(So.add=function(Di){Ui(So,Di,+qr(Di,++Zr),+Nr(Di,Zr),ma,Ma,Ca,aa)},So.visit=function(Di){vu(Di,So,ma,Ma,Ca,aa)},So.find=function(Di){return pu(So,Di[0],Di[1],ma,Ma,Ca,aa)},Zr=-1,we==null){for(;++Zrit||Nr>Ct||ya<$e||Ea=Sn,xi=Be>=Bn,Ui=xi<<1|ri,Bi=Ui+4;UiBe&&(it=we.slice(Be,it),bt[Ct]?bt[Ct]+=it:bt[++Ct]=it),($e=$e[0])===(Je=Je[0])?bt[Ct]?bt[Ct]+=Je:bt[++Ct]=Je:(bt[++Ct]=null,qt.push({i:Ct,x:Vs($e,Je)})),Be=Tu.lastIndex;return Be=0&&!($e=u.interpolators[Be](le,we)););return $e}u.interpolators=[function(le,we){var Be=typeof we;return(Be==="string"?Vt.has(we.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(we)?mu:os:we instanceof Ia?mu:Array.isArray(we)?bc:Be==="object"&&isNaN(we)?eu:Vs)(le,we)}],u.interpolateArray=bc;function bc(le,we){var Be=[],$e=[],Je=le.length,it=we.length,Ct=Math.min(le.length,we.length),bt;for(bt=0;bt=0?le.slice(0,we):le,$e=we>=0?le.slice(we+1):"in";return Be=Af.get(Be)||Hs,$e=Xo.get($e)||I,Mf($e(Be.apply(null,v.call(arguments,1))))};function Mf(le){return function(we){return we<=0?0:we>=1?1:le(we)}}function ns(le){return function(we){return 1-le(1-we)}}function so(le){return function(we){return .5*(we<.5?le(2*we):2-le(2-2*we))}}function qu(le){return le*le}function hc(le){return le*le*le}function Ll(le){if(le<=0)return 0;if(le>=1)return 1;var we=le*le,Be=we*le;return 4*(le<.5?Be:3*(le-we)+Be-.75)}function Qc(le){return function(we){return Math.pow(we,le)}}function Au(le){return 1-Math.cos(le*He)}function Zu(le){return Math.pow(2,10*(le-1))}function ll(le){return 1-Math.sqrt(1-le*le)}function ef(le,we){var Be;return arguments.length<2&&(we=.45),arguments.length?Be=we/Ie*Math.asin(1/le):(le=1,Be=we/4),function($e){return 1+le*Math.pow(2,-10*$e)*Math.sin(($e-Be)*Ie/we)}}function zc(le){return le||(le=1.70158),function(we){return we*we*((le+1)*we-le)}}function Ku(le){return le<1/2.75?7.5625*le*le:le<2/2.75?7.5625*(le-=1.5/2.75)*le+.75:le<2.5/2.75?7.5625*(le-=2.25/2.75)*le+.9375:7.5625*(le-=2.625/2.75)*le+.984375}u.interpolateHcl=Ju;function Ju(le,we){le=u.hcl(le),we=u.hcl(we);var Be=le.h,$e=le.c,Je=le.l,it=we.h-Be,Ct=we.c-$e,bt=we.l-Je;return isNaN(Ct)&&(Ct=0,$e=isNaN($e)?we.c:$e),isNaN(it)?(it=0,Be=isNaN(Be)?we.h:Be):it>180?it-=360:it<-180&&(it+=360),function(qt){return $n(Be+it*qt,$e+Ct*qt,Je+bt*qt)+""}}u.interpolateHsl=Bc;function Bc(le,we){le=u.hsl(le),we=u.hsl(we);var Be=le.h,$e=le.s,Je=le.l,it=we.h-Be,Ct=we.s-$e,bt=we.l-Je;return isNaN(Ct)&&(Ct=0,$e=isNaN($e)?we.s:$e),isNaN(it)?(it=0,Be=isNaN(Be)?we.h:Be):it>180?it-=360:it<-180&&(it+=360),function(qt){return tn(Be+it*qt,$e+Ct*qt,Je+bt*qt)+""}}u.interpolateLab=Nc;function Nc(le,we){le=u.lab(le),we=u.lab(we);var Be=le.l,$e=le.a,Je=le.b,it=we.l-Be,Ct=we.a-$e,bt=we.b-Je;return function(qt){return _n(Be+it*qt,$e+Ct*qt,Je+bt*qt)+""}}u.interpolateRound=tu;function tu(le,we){return we-=le,function(Be){return Math.round(le+we*Be)}}u.transform=function(le){var we=S.createElementNS(u.ns.prefix.svg,"g");return(u.transform=function(Be){if(Be!=null){we.setAttribute("transform",Be);var $e=we.transform.baseVal.consolidate()}return new xc($e?$e.matrix:ec)})(le)};function xc(le){var we=[le.a,le.b],Be=[le.c,le.d],$e=Qu(we),Je=ru(we,Be),it=Qu($s(Be,we,-Je))||0;we[0]*Be[1]180?we+=360:we-le>180&&(le+=360),$e.push({i:Be.push(Iu(Be)+"rotate(",null,")")-2,x:Vs(le,we)})):we&&Be.push(Iu(Be)+"rotate("+we+")")}function Sf(le,we,Be,$e){le!==we?$e.push({i:Be.push(Iu(Be)+"skewX(",null,")")-2,x:Vs(le,we)}):we&&Be.push(Iu(Be)+"skewX("+we+")")}function tf(le,we,Be,$e){if(le[0]!==we[0]||le[1]!==we[1]){var Je=Be.push(Iu(Be)+"scale(",null,",",null,")");$e.push({i:Je-4,x:Vs(le[0],we[0])},{i:Je-2,x:Vs(le[1],we[1])})}else(we[0]!==1||we[1]!==1)&&Be.push(Iu(Be)+"scale("+we+")")}function Vu(le,we){var Be=[],$e=[];return le=u.transform(le),we=u.transform(we),us(le.translate,we.translate,Be,$e),wc(le.rotate,we.rotate,Be,$e),Sf(le.skew,we.skew,Be,$e),tf(le.scale,we.scale,Be,$e),le=we=null,function(Je){for(var it=-1,Ct=$e.length,bt;++it0?it=aa:(Be.c=null,Be.t=NaN,Be=null,we.end({type:"end",alpha:it=0})):aa>0&&(we.start({type:"start",alpha:it=aa}),Be=_i(le.tick)),le):it},le.start=function(){var aa,Sn=ya.length,Bn=Ea.length,ri=$e[0],xi=$e[1],Ui,Bi;for(aa=0;aa=0;)it.push(ur=sr[qt]),ur.parent=bt,ur.depth=bt.depth+1;Be&&(bt.value=0),bt.children=sr}else Be&&(bt.value=+Be.call($e,bt,bt.depth)||0),delete bt.children;return Mu(Je,function(qr){var Nr,ya;le&&(Nr=qr.children)&&Nr.sort(le),Be&&(ya=qr.parent)&&(ya.value+=qr.value)}),Ct}return $e.sort=function(Je){return arguments.length?(le=Je,$e):le},$e.children=function(Je){return arguments.length?(we=Je,$e):we},$e.value=function(Je){return arguments.length?(Be=Je,$e):Be},$e.revalue=function(Je){return Be&&(Ru(Je,function(it){it.children&&(it.value=0)}),Mu(Je,function(it){var Ct;it.children||(it.value=+Be.call($e,it,it.depth)||0),(Ct=it.parent)&&(Ct.value+=it.value)})),Je},$e};function gu(le,we){return u.rebind(le,we,"sort","children","value"),le.nodes=le,le.links=Yl,le}function Ru(le,we){for(var Be=[le];(le=Be.pop())!=null;)if(we(le),(Je=le.children)&&($e=Je.length))for(var $e,Je;--$e>=0;)Be.push(Je[$e])}function Mu(le,we){for(var Be=[le],$e=[];(le=Be.pop())!=null;)if($e.push(le),(Ct=le.children)&&(it=Ct.length))for(var Je=-1,it,Ct;++JeJe&&(Je=bt),$e.push(bt)}for(Ct=0;Ct$e&&(Be=we,$e=Je);return Be}function qc(le){return le.reduce(rc,0)}function rc(le,we){return le+we[1]}u.layout.histogram=function(){var le=!0,we=Number,Be=Ac,$e=ac;function Je(it,Nr){for(var bt=[],qt=it.map(we,this),sr=Be.call(this,qt,Nr),ur=$e.call(this,sr,qt,Nr),qr,Nr=-1,ya=qt.length,Ea=ur.length-1,Zr=le?1:1/ya,oa;++Nr0)for(Nr=-1;++Nr=sr[0]&&oa<=sr[1]&&(qr=bt[u.bisect(ur,oa,1,Ea)-1],qr.y+=Zr,qr.push(it[Nr]));return bt}return Je.value=function(it){return arguments.length?(we=it,Je):we},Je.range=function(it){return arguments.length?(Be=er(it),Je):Be},Je.bins=function(it){return arguments.length?($e=typeof it=="number"?function(Ct){return nu(Ct,it)}:er(it),Je):$e},Je.frequency=function(it){return arguments.length?(le=!!it,Je):le},Je};function ac(le,we){return nu(le,Math.ceil(Math.log(we.length)/Math.LN2+1))}function nu(le,we){for(var Be=-1,$e=+le[0],Je=(le[1]-$e)/we,it=[];++Be<=we;)it[Be]=Je*Be+$e;return it}function Ac(le){return[u.min(le),u.max(le)]}u.layout.pack=function(){var le=u.layout.hierarchy().sort(Wu),we=0,Be=[1,1],$e;function Je(it,Ct){var bt=le.call(this,it,Ct),qt=bt[0],sr=Be[0],ur=Be[1],qr=$e==null?Math.sqrt:typeof $e=="function"?$e:function(){return $e};if(qt.x=qt.y=0,Mu(qt,function(ya){ya.r=+qr(ya.value)}),Mu(qt,Cf),we){var Nr=we*($e?1:Math.max(2*qt.r/sr,2*qt.r/ur))/2;Mu(qt,function(ya){ya.r+=Nr}),Mu(qt,Cf),Mu(qt,function(ya){ya.r-=Nr})}return Sc(qt,sr/2,ur/2,$e?1:1/Math.max(2*qt.r/sr,2*qt.r/ur)),bt}return Je.size=function(it){return arguments.length?(Be=it,Je):Be},Je.radius=function(it){return arguments.length?($e=it==null||typeof it=="function"?it:+it,Je):$e},Je.padding=function(it){return arguments.length?(we=+it,Je):we},gu(Je,le)};function Wu(le,we){return le.value-we.value}function Vc(le,we){var Be=le._pack_next;le._pack_next=we,we._pack_prev=le,we._pack_next=Be,Be._pack_prev=we}function Hc(le,we){le._pack_next=we,we._pack_prev=le}function of(le,we){var Be=we.x-le.x,$e=we.y-le.y,Je=le.r+we.r;return .999*Je*Je>Be*Be+$e*$e}function Cf(le){if(!(we=le.children)||!(Nr=we.length))return;var we,Be=1/0,$e=-1/0,Je=1/0,it=-1/0,Ct,bt,qt,sr,ur,qr,Nr;function ya(aa){Be=Math.min(aa.x-aa.r,Be),$e=Math.max(aa.x+aa.r,$e),Je=Math.min(aa.y-aa.r,Je),it=Math.max(aa.y+aa.r,it)}if(we.forEach(Mc),Ct=we[0],Ct.x=-Ct.r,Ct.y=0,ya(Ct),Nr>1&&(bt=we[1],bt.x=bt.r,bt.y=0,ya(bt),Nr>2))for(qt=we[2],wl(Ct,bt,qt),ya(qt),Vc(Ct,qt),Ct._pack_prev=qt,Vc(qt,bt),bt=Ct._pack_next,sr=3;sroa.x&&(oa=Sn),Sn.depth>ma.depth&&(ma=Sn)});var Ma=we(Zr,oa)/2-Zr.x,Ca=Be[0]/(oa.x+we(oa,Zr)/2+Ma),aa=Be[1]/(ma.depth||1);Ru(ya,function(Sn){Sn.x=(Sn.x+Ma)*Ca,Sn.y=Sn.depth*aa})}return Nr}function it(ur){for(var qr={A:null,children:[ur]},Nr=[qr],ya;(ya=Nr.pop())!=null;)for(var Ea=ya.children,Zr,oa=0,ma=Ea.length;oa0&&(Ec(Mt(Zr,ur,Nr),ur,Sn),ma+=Sn,Ma+=Sn),Ca+=Zr.m,ma+=ya.m,aa+=oa.m,Ma+=Ea.m;Zr&&!Lf(Ea)&&(Ea.t=Zr,Ea.m+=Ca-Ma),ya&&!lf(oa)&&(oa.t=ya,oa.m+=ma-aa,Nr=ur)}return Nr}function sr(ur){ur.x*=Be[0],ur.y=ur.depth*Be[1]}return Je.separation=function(ur){return arguments.length?(we=ur,Je):we},Je.size=function(ur){return arguments.length?($e=(Be=ur)==null?sr:null,Je):$e?null:Be},Je.nodeSize=function(ur){return arguments.length?($e=(Be=ur)==null?null:sr,Je):$e?Be:null},gu(Je,le)};function Su(le,we){return le.parent==we.parent?1:2}function lf(le){var we=le.children;return we.length?we[0]:le.t}function Lf(le){var we=le.children,Be;return(Be=we.length)?we[Be-1]:le.t}function Ec(le,we,Be){var $e=Be/(we.i-le.i);we.c-=$e,we.s+=Be,le.c+=$e,we.z+=Be,we.m+=Be}function Fu(le){for(var we=0,Be=0,$e=le.children,Je=$e.length,it;--Je>=0;)it=$e[Je],it.z+=we,it.m+=we,we+=it.s+(Be+=it.c)}function Mt(le,we,Be){return le.a.parent===we.parent?le.a:Be}u.layout.cluster=function(){var le=u.layout.hierarchy().sort(null).value(null),we=Su,Be=[1,1],$e=!1;function Je(it,Ct){var bt=le.call(this,it,Ct),qt=bt[0],sr,ur=0;Mu(qt,function(Zr){var oa=Zr.children;oa&&oa.length?(Zr.x=_r(oa),Zr.y=jt(oa)):(Zr.x=sr?ur+=we(Zr,sr):0,Zr.y=0,sr=Zr)});var qr=dr(qt),Nr=ea(qt),ya=qr.x-we(qr,Nr)/2,Ea=Nr.x+we(Nr,qr)/2;return Mu(qt,$e?function(Zr){Zr.x=(Zr.x-qt.x)*Be[0],Zr.y=(qt.y-Zr.y)*Be[1]}:function(Zr){Zr.x=(Zr.x-ya)/(Ea-ya)*Be[0],Zr.y=(1-(qt.y?Zr.y/qt.y:1))*Be[1]}),bt}return Je.separation=function(it){return arguments.length?(we=it,Je):we},Je.size=function(it){return arguments.length?($e=(Be=it)==null,Je):$e?null:Be},Je.nodeSize=function(it){return arguments.length?($e=(Be=it)!=null,Je):$e?Be:null},gu(Je,le)};function jt(le){return 1+u.max(le,function(we){return we.y})}function _r(le){return le.reduce(function(we,Be){return we+Be.x},0)/le.length}function dr(le){var we=le.children;return we&&we.length?dr(we[0]):le}function ea(le){var we=le.children,Be;return we&&(Be=we.length)?ea(we[Be-1]):le}u.layout.treemap=function(){var le=u.layout.hierarchy(),we=Math.round,Be=[1,1],$e=null,Je=Aa,it=!1,Ct,bt="squarify",qt=.5*(1+Math.sqrt(5));function sr(Zr,oa){for(var ma=-1,Ma=Zr.length,Ca,aa;++ma0;)Ma.push(aa=Ca[xi-1]),Ma.area+=aa.area,bt!=="squarify"||(Bn=Nr(Ma,ri))<=Sn?(Ca.pop(),Sn=Bn):(Ma.area-=Ma.pop().area,ya(Ma,ri,ma,!1),ri=Math.min(ma.dx,ma.dy),Ma.length=Ma.area=0,Sn=1/0);Ma.length&&(ya(Ma,ri,ma,!0),Ma.length=Ma.area=0),oa.forEach(ur)}}function qr(Zr){var oa=Zr.children;if(oa&&oa.length){var ma=Je(Zr),Ma=oa.slice(),Ca,aa=[];for(sr(Ma,ma.dx*ma.dy/Zr.value),aa.area=0;Ca=Ma.pop();)aa.push(Ca),aa.area+=Ca.area,Ca.z!=null&&(ya(aa,Ca.z?ma.dx:ma.dy,ma,!Ma.length),aa.length=aa.area=0);oa.forEach(qr)}}function Nr(Zr,oa){for(var ma=Zr.area,Ma,Ca=0,aa=1/0,Sn=-1,Bn=Zr.length;++SnCa&&(Ca=Ma));return ma*=ma,oa*=oa,ma?Math.max(oa*Ca*qt/ma,ma/(oa*aa*qt)):1/0}function ya(Zr,oa,ma,Ma){var Ca=-1,aa=Zr.length,Sn=ma.x,Bn=ma.y,ri=oa?we(Zr.area/oa):0,xi;if(oa==ma.dx){for((Ma||ri>ma.dy)&&(ri=ma.dy);++Cama.dx)&&(ri=ma.dx);++Ca1);return le+we*$e*Math.sqrt(-2*Math.log(it)/it)}},logNormal:function(){var le=u.random.normal.apply(u,arguments);return function(){return Math.exp(le())}},bates:function(le){var we=u.random.irwinHall(le);return function(){return we()/le}},irwinHall:function(le){return function(){for(var we=0,Be=0;Be2?Pa:qn,sr=$e?Tc:rf;return Je=qt(le,we,sr,Be),it=qt(we,le,sr,ju),bt}function bt(qt){return Je(qt)}return bt.invert=function(qt){return it(qt)},bt.domain=function(qt){return arguments.length?(le=qt.map(Number),Ct()):le},bt.range=function(qt){return arguments.length?(we=qt,Ct()):we},bt.rangeRound=function(qt){return bt.range(qt).interpolate(tu)},bt.clamp=function(qt){return arguments.length?($e=qt,Ct()):$e},bt.interpolate=function(qt){return arguments.length?(Be=qt,Ct()):Be},bt.ticks=function(qt){return Vi(le,qt)},bt.tickFormat=function(qt,sr){return d3_scale_linearTickFormat(le,qt,sr)},bt.nice=function(qt){return Ii(le,qt),Ct()},bt.copy=function(){return Qn(le,we,Be,$e)},Ct()}function Ei(le,we){return u.rebind(le,we,"range","rangeRound","interpolate","clamp")}function Ii(le,we){return Wa(le,$a(ki(le,we)[2])),Wa(le,$a(ki(le,we)[2])),le}function ki(le,we){we==null&&(we=10);var Be=fn(le),$e=Be[1]-Be[0],Je=Math.pow(10,Math.floor(Math.log($e/we)/Math.LN10)),it=we/$e*Je;return it<=.15?Je*=10:it<=.35?Je*=5:it<=.75&&(Je*=2),Be[0]=Math.ceil(Be[0]/Je)*Je,Be[1]=Math.floor(Be[1]/Je)*Je+Je*.5,Be[2]=Je,Be}function Vi(le,we){return u.range.apply(u,ki(le,we))}var ni={s:1,g:1,p:1,r:1,e:1};function Rn(le){return-Math.floor(Math.log(le)/Math.LN10+.01)}function no(le,we){var Be=Rn(we[2]);return le in ni?Math.abs(Be-Rn(Math.max(o(we[0]),o(we[1]))))+ +(le!=="e"):Be-(le==="%")*2}u.scale.log=function(){return wo(u.scale.linear().domain([0,1]),10,!0,[1,10])};function wo(le,we,Be,$e){function Je(bt){return(Be?Math.log(bt<0?0:bt):-Math.log(bt>0?0:-bt))/Math.log(we)}function it(bt){return Be?Math.pow(we,bt):-Math.pow(we,-bt)}function Ct(bt){return le(Je(bt))}return Ct.invert=function(bt){return it(le.invert(bt))},Ct.domain=function(bt){return arguments.length?(Be=bt[0]>=0,le.domain(($e=bt.map(Number)).map(Je)),Ct):$e},Ct.base=function(bt){return arguments.length?(we=+bt,le.domain($e.map(Je)),Ct):we},Ct.nice=function(){var bt=Wa($e.map(Je),Be?Math:Go);return le.domain(bt),$e=bt.map(it),Ct},Ct.ticks=function(){var bt=fn($e),qt=[],sr=bt[0],ur=bt[1],qr=Math.floor(Je(sr)),Nr=Math.ceil(Je(ur)),ya=we%1?2:we;if(isFinite(Nr-qr)){if(Be){for(;qr0;Ea--)qt.push(it(qr)*Ea);for(qr=0;qt[qr]ur;Nr--);qt=qt.slice(qr,Nr)}return qt},Ct.copy=function(){return wo(le.copy(),we,Be,$e)},Ei(Ct,le)}var Go={floor:function(le){return-Math.ceil(-le)},ceil:function(le){return-Math.floor(-le)}};u.scale.pow=function(){return bs(u.scale.linear(),1,[0,1])};function bs(le,we,Be){var $e=Jo(we),Je=Jo(1/we);function it(Ct){return le($e(Ct))}return it.invert=function(Ct){return Je(le.invert(Ct))},it.domain=function(Ct){return arguments.length?(le.domain((Be=Ct.map(Number)).map($e)),it):Be},it.ticks=function(Ct){return Vi(Be,Ct)},it.tickFormat=function(Ct,bt){return d3_scale_linearTickFormat(Be,Ct,bt)},it.nice=function(Ct){return it.domain(Ii(Be,Ct))},it.exponent=function(Ct){return arguments.length?($e=Jo(we=Ct),Je=Jo(1/we),le.domain(Be.map($e)),it):we},it.copy=function(){return bs(le.copy(),we,Be)},Ei(it,le)}function Jo(le){return function(we){return we<0?-Math.pow(-we,le):Math.pow(we,le)}}u.scale.sqrt=function(){return u.scale.pow().exponent(.5)},u.scale.ordinal=function(){return Es([],{t:"range",a:[[]]})};function Es(le,we){var Be,$e,Je;function it(bt){return $e[((Be.get(bt)||(we.t==="range"?Be.set(bt,le.push(bt)):NaN))-1)%$e.length]}function Ct(bt,qt){return u.range(le.length).map(function(sr){return bt+qt*sr})}return it.domain=function(bt){if(!arguments.length)return le;le=[],Be=new A;for(var qt=-1,sr=bt.length,ur;++qt0?Be[it-1]:le[0],itNr?0:1;if(ur=Fe)return qt(ur,Ea)+(sr?qt(sr,1-Ea):"")+"Z";var Zr,oa,ma,Ma,Ca=0,aa=0,Sn,Bn,ri,xi,Ui,Bi,So,Di,mo=[];if((Ma=(+Ct.apply(this,arguments)||0)/2)&&(ma=$e===yu?Math.sqrt(sr*sr+ur*ur):+$e.apply(this,arguments),Ea||(aa*=-1),ur&&(aa=_t(ma/ur*Math.sin(Ma))),sr&&(Ca=_t(ma/sr*Math.sin(Ma)))),ur){Sn=ur*Math.cos(qr+aa),Bn=ur*Math.sin(qr+aa),ri=ur*Math.cos(Nr-aa),xi=ur*Math.sin(Nr-aa);var Ts=Math.abs(Nr-qr-2*aa)<=ye?0:1;if(aa&&nc(Sn,Bn,ri,xi)===Ea^Ts){var al=(qr+Nr)/2;Sn=ur*Math.cos(al),Bn=ur*Math.sin(al),ri=xi=null}}else Sn=Bn=0;if(sr){Ui=sr*Math.cos(Nr-Ca),Bi=sr*Math.sin(Nr-Ca),So=sr*Math.cos(qr+Ca),Di=sr*Math.sin(qr+Ca);var Ds=Math.abs(qr-Nr+2*Ca)<=ye?0:1;if(Ca&&nc(Ui,Bi,So,Di)===1-Ea^Ds){var gi=(qr+Nr)/2;Ui=sr*Math.cos(gi),Bi=sr*Math.sin(gi),So=Di=null}}else Ui=Bi=0;if(ya>Re&&(Zr=Math.min(Math.abs(ur-sr)/2,+Be.apply(this,arguments)))>.001){oa=sr0?0:1}function Xi(le,we,Be,$e,Je){var it=le[0]-we[0],Ct=le[1]-we[1],bt=(Je?$e:-$e)/Math.sqrt(it*it+Ct*Ct),qt=bt*Ct,sr=-bt*it,ur=le[0]+qt,qr=le[1]+sr,Nr=we[0]+qt,ya=we[1]+sr,Ea=(ur+Nr)/2,Zr=(qr+ya)/2,oa=Nr-ur,ma=ya-qr,Ma=oa*oa+ma*ma,Ca=Be-$e,aa=ur*ya-Nr*qr,Sn=(ma<0?-1:1)*Math.sqrt(Math.max(0,Ca*Ca*Ma-aa*aa)),Bn=(aa*ma-oa*Sn)/Ma,ri=(-aa*oa-ma*Sn)/Ma,xi=(aa*ma+oa*Sn)/Ma,Ui=(-aa*oa+ma*Sn)/Ma,Bi=Bn-Ea,So=ri-Zr,Di=xi-Ea,mo=Ui-Zr;return Bi*Bi+So*So>Di*Di+mo*mo&&(Bn=xi,ri=Ui),[[Bn-qt,ri-sr],[Bn*Be/Ca,ri*Be/Ca]]}function vo(){return!0}function mf(le){var we=Ao,Be=yo,$e=vo,Je=ou,it=Je.key,Ct=.7;function bt(qt){var sr=[],ur=[],qr=-1,Nr=qt.length,ya,Ea=er(we),Zr=er(Be);function oa(){sr.push("M",Je(le(ur),Ct))}for(;++qr1?le.join("L"):le+"Z"}function Me(le){return le.join("L")+"Z"}function L(le){for(var we=0,Be=le.length,$e=le[0],Je=[$e[0],",",$e[1]];++we1&&Je.push("H",$e[0]),Je.join("")}function J(le){for(var we=0,Be=le.length,$e=le[0],Je=[$e[0],",",$e[1]];++we1){bt=we[1],it=le[qt],qt++,$e+="C"+(Je[0]+Ct[0])+","+(Je[1]+Ct[1])+","+(it[0]-bt[0])+","+(it[1]-bt[1])+","+it[0]+","+it[1];for(var sr=2;sr9&&(it=Be*3/Math.sqrt(it),Ct[bt]=it*$e,Ct[bt+1]=it*Je));for(bt=-1;++bt<=qt;)it=(le[Math.min(qt,bt+1)][0]-le[Math.max(0,bt-1)][0])/(6*(1+Ct[bt]*Ct[bt])),we.push([it||0,Ct[bt]*it||0]);return we}function Dt(le){return le.length<3?ou(le):le[0]+et(le,ht(le))}u.svg.line.radial=function(){var le=mf(Ot);return le.radius=le.x,delete le.x,le.angle=le.y,delete le.y,le};function Ot(le){for(var we,Be=-1,$e=le.length,Je,it;++Be<$e;)we=le[Be],Je=we[0],it=we[1]-He,we[0]=Je*Math.cos(it),we[1]=Je*Math.sin(it);return le}function $t(le){var we=Ao,Be=Ao,$e=0,Je=yo,it=vo,Ct=ou,bt=Ct.key,qt=Ct,sr="L",ur=.7;function qr(Nr){var ya=[],Ea=[],Zr=[],oa=-1,ma=Nr.length,Ma,Ca=er(we),aa=er($e),Sn=we===Be?function(){return ri}:er(Be),Bn=$e===Je?function(){return xi}:er(Je),ri,xi;function Ui(){ya.push("M",Ct(le(Zr),ur),sr,qt(le(Ea.reverse()),ur),"Z")}for(;++oaye)+",1 "+qr}function sr(ur,qr,Nr,ya){return"Q 0,0 "+ya}return it.radius=function(ur){return arguments.length?(Be=er(ur),it):Be},it.source=function(ur){return arguments.length?(le=er(ur),it):le},it.target=function(ur){return arguments.length?(we=er(ur),it):we},it.startAngle=function(ur){return arguments.length?($e=er(ur),it):$e},it.endAngle=function(ur){return arguments.length?(Je=er(ur),it):Je},it};function zr(le){return le.radius}u.svg.diagonal=function(){var le=ir,we=pr,Be=Wr;function $e(Je,it){var Ct=le.call(this,Je,it),bt=we.call(this,Je,it),qt=(Ct.y+bt.y)/2,sr=[Ct,{x:Ct.x,y:qt},{x:bt.x,y:qt},bt];return sr=sr.map(Be),"M"+sr[0]+"C"+sr[1]+" "+sr[2]+" "+sr[3]}return $e.source=function(Je){return arguments.length?(le=er(Je),$e):le},$e.target=function(Je){return arguments.length?(we=er(Je),$e):we},$e.projection=function(Je){return arguments.length?(Be=Je,$e):Be},$e};function Wr(le){return[le.x,le.y]}u.svg.diagonal.radial=function(){var le=u.svg.diagonal(),we=Wr,Be=le.projection;return le.projection=function($e){return arguments.length?Be(ia(we=$e)):we},le};function ia(le){return function(){var we=le.apply(this,arguments),Be=we[0],$e=we[1]-He;return[Be*Math.cos($e),Be*Math.sin($e)]}}u.svg.symbol=function(){var le=ln,we=Sa;function Be($e,Je){return(wn.get(le.call(this,$e,Je))||an)(we.call(this,$e,Je))}return Be.type=function($e){return arguments.length?(le=er($e),Be):le},Be.size=function($e){return arguments.length?(we=er($e),Be):we},Be};function Sa(){return 64}function ln(){return"circle"}function an(le){var we=Math.sqrt(le/ye);return"M0,"+we+"A"+we+","+we+" 0 1,1 0,"+-we+"A"+we+","+we+" 0 1,1 0,"+we+"Z"}var wn=u.map({circle:an,cross:function(le){var we=Math.sqrt(le/5)/2;return"M"+-3*we+","+-we+"H"+-we+"V"+-3*we+"H"+we+"V"+-we+"H"+3*we+"V"+we+"H"+we+"V"+3*we+"H"+-we+"V"+we+"H"+-3*we+"Z"},diamond:function(le){var we=Math.sqrt(le/(2*Mi)),Be=we*Mi;return"M0,"+-we+"L"+Be+",0 0,"+we+" "+-Be+",0Z"},square:function(le){var we=Math.sqrt(le)/2;return"M"+-we+","+-we+"L"+we+","+-we+" "+we+","+we+" "+-we+","+we+"Z"},"triangle-down":function(le){var we=Math.sqrt(le/ei),Be=we*ei/2;return"M0,"+Be+"L"+we+","+-Be+" "+-we+","+-Be+"Z"},"triangle-up":function(le){var we=Math.sqrt(le/ei),Be=we*ei/2;return"M0,"+-Be+"L"+we+","+Be+" "+-we+","+Be+"Z"}});u.svg.symbolTypes=wn.keys();var ei=Math.sqrt(3),Mi=Math.tan(30*We);X.transition=function(le){for(var we=Zo||++ds,Be=ks(le),$e=[],Je,it,Ct=Is||{time:Date.now(),ease:Ll,delay:0,duration:250},bt=-1,qt=this.length;++bt0;)qr[--Ma].call(le,ma);if(oa>=1)return Ct.event&&Ct.event.end.call(le,le.__data__,we),--it.count?delete it[$e]:delete le[Be],1}Ct||(bt=Je.time,qt=_i(Nr,0,bt),Ct=it[$e]={tween:new A,time:bt,timer:qt,delay:Je.delay,duration:Je.duration,ease:Je.ease,index:we},Je=null,++it.count)}u.svg.axis=function(){var le=u.scale.linear(),we=Il,Be=6,$e=6,Je=3,it=[10],Ct=null,bt;function qt(sr){sr.each(function(){var ur=u.select(this),qr=this.__chart__||le,Nr=this.__chart__=le.copy(),ya=Ct??(Nr.ticks?Nr.ticks.apply(Nr,it):Nr.domain()),Ea=bt??(Nr.tickFormat?Nr.tickFormat.apply(Nr,it):I),Zr=ur.selectAll(".tick").data(ya,Nr),oa=Zr.enter().insert("g",".domain").attr("class","tick").style("opacity",Re),ma=u.transition(Zr.exit()).style("opacity",Re).remove(),Ma=u.transition(Zr.order()).style("opacity",1),Ca=Math.max(Be,0)+Je,aa,Sn=gn(Nr),Bn=ur.selectAll(".domain").data([0]),ri=(Bn.enter().append("path").attr("class","domain"),u.transition(Bn));oa.append("line"),oa.append("text");var xi=oa.select("line"),Ui=Ma.select("line"),Bi=Zr.select("text").text(Ea),So=oa.select("text"),Di=Ma.select("text"),mo=we==="top"||we==="left"?-1:1,Ts,al,Ds,gi;if(we==="bottom"||we==="top"?(aa=Xl,Ts="x",Ds="y",al="x2",gi="y2",Bi.attr("dy",mo<0?"0em":".71em").style("text-anchor","middle"),ri.attr("d","M"+Sn[0]+","+mo*$e+"V0H"+Sn[1]+"V"+mo*$e)):(aa=il,Ts="y",Ds="x",al="y2",gi="x2",Bi.attr("dy",".32em").style("text-anchor",mo<0?"end":"start"),ri.attr("d","M"+mo*$e+","+Sn[0]+"H0V"+Sn[1]+"H"+mo*$e)),xi.attr(gi,mo*Be),So.attr(Ds,mo*Ca),Ui.attr(al,0).attr(gi,mo*Be),Di.attr(Ts,0).attr(Ds,mo*Ca),Nr.rangeBand){var Qi=Nr,Oo=Qi.rangeBand()/2;qr=Nr=function(gs){return Qi(gs)+Oo}}else qr.rangeBand?qr=Nr:ma.call(aa,Nr,qr);oa.call(aa,qr,Nr),Ma.call(aa,Nr,Nr)})}return qt.scale=function(sr){return arguments.length?(le=sr,qt):le},qt.orient=function(sr){return arguments.length?(we=sr in _u?sr+"":Il,qt):we},qt.ticks=function(){return arguments.length?(it=w(arguments),qt):it},qt.tickValues=function(sr){return arguments.length?(Ct=sr,qt):Ct},qt.tickFormat=function(sr){return arguments.length?(bt=sr,qt):bt},qt.tickSize=function(sr){var ur=arguments.length;return ur?(Be=+sr,$e=+arguments[ur-1],qt):Be},qt.innerTickSize=function(sr){return arguments.length?(Be=+sr,qt):Be},qt.outerTickSize=function(sr){return arguments.length?($e=+sr,qt):$e},qt.tickPadding=function(sr){return arguments.length?(Je=+sr,qt):Je},qt.tickSubdivide=function(){return arguments.length&&qt},qt};var Il="bottom",_u={top:1,right:1,bottom:1,left:1};function Xl(le,we,Be){le.attr("transform",function($e){var Je=we($e);return"translate("+(isFinite(Je)?Je:Be($e))+",0)"})}function il(le,we,Be){le.attr("transform",function($e){var Je=we($e);return"translate(0,"+(isFinite(Je)?Je:Be($e))+")"})}u.svg.brush=function(){var le=te(ur,"brushstart","brush","brushend"),we=null,Be=null,$e=[0,0],Je=[0,0],it,Ct,bt=!0,qt=!0,sr=bu[0];function ur(Zr){Zr.each(function(){var oa=u.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",Ea).on("touchstart.brush",Ea),ma=oa.selectAll(".background").data([0]);ma.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),oa.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var Ma=oa.selectAll(".resize").data(sr,I);Ma.exit().remove(),Ma.enter().append("g").attr("class",function(Bn){return"resize "+Bn}).style("cursor",function(Bn){return ku[Bn]}).append("rect").attr("x",function(Bn){return/[ew]$/.test(Bn)?-3:null}).attr("y",function(Bn){return/^[ns]/.test(Bn)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),Ma.style("display",ur.empty()?"none":null);var Ca=u.transition(oa),aa=u.transition(ma),Sn;we&&(Sn=gn(we),aa.attr("x",Sn[0]).attr("width",Sn[1]-Sn[0]),Nr(Ca)),Be&&(Sn=gn(Be),aa.attr("y",Sn[0]).attr("height",Sn[1]-Sn[0]),ya(Ca)),qr(Ca)})}ur.event=function(Zr){Zr.each(function(){var oa=le.of(this,arguments),ma={x:$e,y:Je,i:it,j:Ct},Ma=this.__chart__||ma;this.__chart__=ma,Zo?u.select(this).transition().each("start.brush",function(){it=Ma.i,Ct=Ma.j,$e=Ma.x,Je=Ma.y,oa({type:"brushstart"})}).tween("brush:brush",function(){var Ca=bc($e,ma.x),aa=bc(Je,ma.y);return it=Ct=null,function(Sn){$e=ma.x=Ca(Sn),Je=ma.y=aa(Sn),oa({type:"brush",mode:"resize"})}}).each("end.brush",function(){it=ma.i,Ct=ma.j,oa({type:"brush",mode:"resize"}),oa({type:"brushend"})}):(oa({type:"brushstart"}),oa({type:"brush",mode:"resize"}),oa({type:"brushend"}))})};function qr(Zr){Zr.selectAll(".resize").attr("transform",function(oa){return"translate("+$e[+/e$/.test(oa)]+","+Je[+/^s/.test(oa)]+")"})}function Nr(Zr){Zr.select(".extent").attr("x",$e[0]),Zr.selectAll(".extent,.n>rect,.s>rect").attr("width",$e[1]-$e[0])}function ya(Zr){Zr.select(".extent").attr("y",Je[0]),Zr.selectAll(".extent,.e>rect,.w>rect").attr("height",Je[1]-Je[0])}function Ea(){var Zr=this,oa=u.select(u.event.target),ma=le.of(Zr,arguments),Ma=u.select(Zr),Ca=oa.datum(),aa=!/^(n|s)$/.test(Ca)&&we,Sn=!/^(e|w)$/.test(Ca)&&Be,Bn=oa.classed("extent"),ri=Ut(Zr),xi,Ui=u.mouse(Zr),Bi,So=u.select(e(Zr)).on("keydown.brush",Ts).on("keyup.brush",al);if(u.event.changedTouches?So.on("touchmove.brush",Ds).on("touchend.brush",Qi):So.on("mousemove.brush",Ds).on("mouseup.brush",Qi),Ma.interrupt().selectAll("*").interrupt(),Bn)Ui[0]=$e[0]-Ui[0],Ui[1]=Je[0]-Ui[1];else if(Ca){var Di=+/w$/.test(Ca),mo=+/^n/.test(Ca);Bi=[$e[1-Di]-Ui[0],Je[1-mo]-Ui[1]],Ui[0]=$e[Di],Ui[1]=Je[mo]}else u.event.altKey&&(xi=Ui.slice());Ma.style("pointer-events","none").selectAll(".resize").style("display",null),u.select("body").style("cursor",oa.style("cursor")),ma({type:"brushstart"}),Ds();function Ts(){u.event.keyCode==32&&(Bn||(xi=null,Ui[0]-=$e[1],Ui[1]-=Je[1],Bn=2),Y())}function al(){u.event.keyCode==32&&Bn==2&&(Ui[0]+=$e[1],Ui[1]+=Je[1],Bn=0,Y())}function Ds(){var Oo=u.mouse(Zr),gs=!1;Bi&&(Oo[0]+=Bi[0],Oo[1]+=Bi[1]),Bn||(u.event.altKey?(xi||(xi=[($e[0]+$e[1])/2,(Je[0]+Je[1])/2]),Ui[0]=$e[+(Oo[0]0))return At;do At.push(It=new Date(+ut)),be(ut,yt),ne(ut);while(It=ot)for(;ne(ot),!ut(ot);)ot.setTime(ot-1)},function(ot,yt){if(ot>=ot)if(yt<0)for(;++yt<=0;)for(;be(ot,-1),!ut(ot););else for(;--yt>=0;)for(;be(ot,1),!ut(ot););})},De&&(Ne.count=function(ut,ot){return v.setTime(+ut),w.setTime(+ot),ne(v),ne(w),Math.floor(De(v,w))},Ne.every=function(ut){return ut=Math.floor(ut),!isFinite(ut)||!(ut>0)?null:ut>1?Ne.filter(qe?function(ot){return qe(ot)%ut===0}:function(ot){return Ne.count(0,ot)%ut===0}):Ne}),Ne}var l=S(function(){},function(ne,be){ne.setTime(+ne+be)},function(ne,be){return be-ne});l.every=function(ne){return ne=Math.floor(ne),!isFinite(ne)||!(ne>0)?null:ne>1?S(function(be){be.setTime(Math.floor(be/ne)*ne)},function(be,De){be.setTime(+be+De*ne)},function(be,De){return(De-be)/ne}):l};var e=l.range,t=1e3,a=6e4,r=36e5,n=864e5,i=6048e5,s=S(function(ne){ne.setTime(ne-ne.getMilliseconds())},function(ne,be){ne.setTime(+ne+be*t)},function(ne,be){return(be-ne)/t},function(ne){return ne.getUTCSeconds()}),c=s.range,p=S(function(ne){ne.setTime(ne-ne.getMilliseconds()-ne.getSeconds()*t)},function(ne,be){ne.setTime(+ne+be*a)},function(ne,be){return(be-ne)/a},function(ne){return ne.getMinutes()}),f=p.range,d=S(function(ne){ne.setTime(ne-ne.getMilliseconds()-ne.getSeconds()*t-ne.getMinutes()*a)},function(ne,be){ne.setTime(+ne+be*r)},function(ne,be){return(be-ne)/r},function(ne){return ne.getHours()}),y=d.range,o=S(function(ne){ne.setHours(0,0,0,0)},function(ne,be){ne.setDate(ne.getDate()+be)},function(ne,be){return(be-ne-(be.getTimezoneOffset()-ne.getTimezoneOffset())*a)/n},function(ne){return ne.getDate()-1}),b=o.range;function M(ne){return S(function(be){be.setDate(be.getDate()-(be.getDay()+7-ne)%7),be.setHours(0,0,0,0)},function(be,De){be.setDate(be.getDate()+De*7)},function(be,De){return(De-be-(De.getTimezoneOffset()-be.getTimezoneOffset())*a)/i})}var A=M(0),E=M(1),g=M(2),T=M(3),m=M(4),h=M(5),x=M(6),_=A.range,D=E.range,C=g.range,F=T.range,I=m.range,z=h.range,R=x.range,k=S(function(ne){ne.setDate(1),ne.setHours(0,0,0,0)},function(ne,be){ne.setMonth(ne.getMonth()+be)},function(ne,be){return be.getMonth()-ne.getMonth()+(be.getFullYear()-ne.getFullYear())*12},function(ne){return ne.getMonth()}),B=k.range,N=S(function(ne){ne.setMonth(0,1),ne.setHours(0,0,0,0)},function(ne,be){ne.setFullYear(ne.getFullYear()+be)},function(ne,be){return be.getFullYear()-ne.getFullYear()},function(ne){return ne.getFullYear()});N.every=function(ne){return!isFinite(ne=Math.floor(ne))||!(ne>0)?null:S(function(be){be.setFullYear(Math.floor(be.getFullYear()/ne)*ne),be.setMonth(0,1),be.setHours(0,0,0,0)},function(be,De){be.setFullYear(be.getFullYear()+De*ne)})};var q=N.range,Y=S(function(ne){ne.setUTCSeconds(0,0)},function(ne,be){ne.setTime(+ne+be*a)},function(ne,be){return(be-ne)/a},function(ne){return ne.getUTCMinutes()}),ee=Y.range,te=S(function(ne){ne.setUTCMinutes(0,0,0)},function(ne,be){ne.setTime(+ne+be*r)},function(ne,be){return(be-ne)/r},function(ne){return ne.getUTCHours()}),ae=te.range,j=S(function(ne){ne.setUTCHours(0,0,0,0)},function(ne,be){ne.setUTCDate(ne.getUTCDate()+be)},function(ne,be){return(be-ne)/n},function(ne){return ne.getUTCDate()-1}),G=j.range;function K(ne){return S(function(be){be.setUTCDate(be.getUTCDate()-(be.getUTCDay()+7-ne)%7),be.setUTCHours(0,0,0,0)},function(be,De){be.setUTCDate(be.getUTCDate()+De*7)},function(be,De){return(De-be)/i})}var H=K(0),Z=K(1),X=K(2),$=K(3),Q=K(4),re=K(5),ue=K(6),pe=H.range,ge=Z.range,Te=X.range,Se=$.range,Ce=Q.range,Ue=re.range,Oe=ue.range,_e=S(function(ne){ne.setUTCDate(1),ne.setUTCHours(0,0,0,0)},function(ne,be){ne.setUTCMonth(ne.getUTCMonth()+be)},function(ne,be){return be.getUTCMonth()-ne.getUTCMonth()+(be.getUTCFullYear()-ne.getUTCFullYear())*12},function(ne){return ne.getUTCMonth()}),ce=_e.range,ie=S(function(ne){ne.setUTCMonth(0,1),ne.setUTCHours(0,0,0,0)},function(ne,be){ne.setUTCFullYear(ne.getUTCFullYear()+be)},function(ne,be){return be.getUTCFullYear()-ne.getUTCFullYear()},function(ne){return ne.getUTCFullYear()});ie.every=function(ne){return!isFinite(ne=Math.floor(ne))||!(ne>0)?null:S(function(be){be.setUTCFullYear(Math.floor(be.getUTCFullYear()/ne)*ne),be.setUTCMonth(0,1),be.setUTCHours(0,0,0,0)},function(be,De){be.setUTCFullYear(be.getUTCFullYear()+De*ne)})};var se=ie.range;u.timeDay=o,u.timeDays=b,u.timeFriday=h,u.timeFridays=z,u.timeHour=d,u.timeHours=y,u.timeInterval=S,u.timeMillisecond=l,u.timeMilliseconds=e,u.timeMinute=p,u.timeMinutes=f,u.timeMonday=E,u.timeMondays=D,u.timeMonth=k,u.timeMonths=B,u.timeSaturday=x,u.timeSaturdays=R,u.timeSecond=s,u.timeSeconds=c,u.timeSunday=A,u.timeSundays=_,u.timeThursday=m,u.timeThursdays=I,u.timeTuesday=g,u.timeTuesdays=C,u.timeWednesday=T,u.timeWednesdays=F,u.timeWeek=A,u.timeWeeks=_,u.timeYear=N,u.timeYears=q,u.utcDay=j,u.utcDays=G,u.utcFriday=re,u.utcFridays=Ue,u.utcHour=te,u.utcHours=ae,u.utcMillisecond=l,u.utcMilliseconds=e,u.utcMinute=Y,u.utcMinutes=ee,u.utcMonday=Z,u.utcMondays=ge,u.utcMonth=_e,u.utcMonths=ce,u.utcSaturday=ue,u.utcSaturdays=Oe,u.utcSecond=s,u.utcSeconds=c,u.utcSunday=H,u.utcSundays=pe,u.utcThursday=Q,u.utcThursdays=Ce,u.utcTuesday=X,u.utcTuesdays=Te,u.utcWednesday=$,u.utcWednesdays=Se,u.utcWeek=H,u.utcWeeks=pe,u.utcYear=ie,u.utcYears=se,Object.defineProperty(u,"__esModule",{value:!0})})}}),Ni=xe({"node_modules/d3-time-format/dist/d3-time-format.js"(U,O){(function(u,v){typeof U=="object"&&typeof O<"u"?v(U,ii()):(u=u||self,v(u.d3=u.d3||{},u.d3))})(U,function(u,v){"use strict";function w(Ee){if(0<=Ee.y&&Ee.y<100){var Re=new Date(-1,Ee.m,Ee.d,Ee.H,Ee.M,Ee.S,Ee.L);return Re.setFullYear(Ee.y),Re}return new Date(Ee.y,Ee.m,Ee.d,Ee.H,Ee.M,Ee.S,Ee.L)}function S(Ee){if(0<=Ee.y&&Ee.y<100){var Re=new Date(Date.UTC(-1,Ee.m,Ee.d,Ee.H,Ee.M,Ee.S,Ee.L));return Re.setUTCFullYear(Ee.y),Re}return new Date(Date.UTC(Ee.y,Ee.m,Ee.d,Ee.H,Ee.M,Ee.S,Ee.L))}function l(Ee,Re,he){return{y:Ee,m:Re,d:he,H:0,M:0,S:0,L:0}}function e(Ee){var Re=Ee.dateTime,he=Ee.date,ye=Ee.time,Ie=Ee.periods,Fe=Ee.days,He=Ee.shortDays,We=Ee.months,pt=Ee.shortMonths,ct=c(Ie),ft=p(Ie),mt=c(Fe),_t=p(Fe),Bt=c(He),Et=p(He),hr=c(We),$r=p(We),ca=c(pt),na=p(pt),wa={a:Pi,A:Jn,b:Ti,B:_n,c:null,d:k,e:k,f:ee,H:B,I:N,j:q,L:Y,m:te,M:ae,p:Ln,q:ji,Q:ot,s:yt,S:j,u:G,U:K,V:H,w:Z,W:X,x:null,X:null,y:$,Y:Q,Z:re,"%":ut},pa={a:Zi,A:un,b:rn,B:nt,c:null,d:ue,e:ue,f:Ce,H:pe,I:ge,j:Te,L:Se,m:Ue,M:Oe,p:Ke,q:Qt,Q:ot,s:yt,S:_e,u:ce,U:ie,V:se,w:ne,W:be,x:null,X:null,y:De,Y:qe,Z:Ne,"%":ut},fa={a:tn,A:ka,b:oi,B:$n,c:bn,d:m,e:m,f:F,H:x,I:x,j:h,L:C,m:T,M:_,p:Oa,q:g,Q:z,s:R,S:D,u:d,U:y,V:o,w:f,W:b,x:ci,X:hi,y:A,Y:M,Z:E,"%":I};wa.x=za(he,wa),wa.X=za(ye,wa),wa.c=za(Re,wa),pa.x=za(he,pa),pa.X=za(ye,pa),pa.c=za(Re,pa);function za(Xt,nr){return function(cr){var rr=[],Ze=-1,xt=0,Vt=Xt.length,er,Tr,jr;for(cr instanceof Date||(cr=new Date(+cr));++Ze53)return null;"w"in rr||(rr.w=1),"Z"in rr?(xt=S(l(rr.y,0,1)),Vt=xt.getUTCDay(),xt=Vt>4||Vt===0?v.utcMonday.ceil(xt):v.utcMonday(xt),xt=v.utcDay.offset(xt,(rr.V-1)*7),rr.y=xt.getUTCFullYear(),rr.m=xt.getUTCMonth(),rr.d=xt.getUTCDate()+(rr.w+6)%7):(xt=w(l(rr.y,0,1)),Vt=xt.getDay(),xt=Vt>4||Vt===0?v.timeMonday.ceil(xt):v.timeMonday(xt),xt=v.timeDay.offset(xt,(rr.V-1)*7),rr.y=xt.getFullYear(),rr.m=xt.getMonth(),rr.d=xt.getDate()+(rr.w+6)%7)}else("W"in rr||"U"in rr)&&("w"in rr||(rr.w="u"in rr?rr.u%7:"W"in rr?1:0),Vt="Z"in rr?S(l(rr.y,0,1)).getUTCDay():w(l(rr.y,0,1)).getDay(),rr.m=0,rr.d="W"in rr?(rr.w+6)%7+rr.W*7-(Vt+5)%7:rr.w+rr.U*7-(Vt+6)%7);return"Z"in rr?(rr.H+=rr.Z/100|0,rr.M+=rr.Z%100,S(rr)):w(rr)}}function Va(Xt,nr,cr,rr){for(var Ze=0,xt=nr.length,Vt=cr.length,er,Tr;Ze=Vt)return-1;if(er=nr.charCodeAt(Ze++),er===37){if(er=nr.charAt(Ze++),Tr=fa[er in t?nr.charAt(Ze++):er],!Tr||(rr=Tr(Xt,cr,rr))<0)return-1}else if(er!=cr.charCodeAt(rr++))return-1}return rr}function Oa(Xt,nr,cr){var rr=ct.exec(nr.slice(cr));return rr?(Xt.p=ft[rr[0].toLowerCase()],cr+rr[0].length):-1}function tn(Xt,nr,cr){var rr=Bt.exec(nr.slice(cr));return rr?(Xt.w=Et[rr[0].toLowerCase()],cr+rr[0].length):-1}function ka(Xt,nr,cr){var rr=mt.exec(nr.slice(cr));return rr?(Xt.w=_t[rr[0].toLowerCase()],cr+rr[0].length):-1}function oi(Xt,nr,cr){var rr=ca.exec(nr.slice(cr));return rr?(Xt.m=na[rr[0].toLowerCase()],cr+rr[0].length):-1}function $n(Xt,nr,cr){var rr=hr.exec(nr.slice(cr));return rr?(Xt.m=$r[rr[0].toLowerCase()],cr+rr[0].length):-1}function bn(Xt,nr,cr){return Va(Xt,Re,nr,cr)}function ci(Xt,nr,cr){return Va(Xt,he,nr,cr)}function hi(Xt,nr,cr){return Va(Xt,ye,nr,cr)}function Pi(Xt){return He[Xt.getDay()]}function Jn(Xt){return Fe[Xt.getDay()]}function Ti(Xt){return pt[Xt.getMonth()]}function _n(Xt){return We[Xt.getMonth()]}function Ln(Xt){return Ie[+(Xt.getHours()>=12)]}function ji(Xt){return 1+~~(Xt.getMonth()/3)}function Zi(Xt){return He[Xt.getUTCDay()]}function un(Xt){return Fe[Xt.getUTCDay()]}function rn(Xt){return pt[Xt.getUTCMonth()]}function nt(Xt){return We[Xt.getUTCMonth()]}function Ke(Xt){return Ie[+(Xt.getUTCHours()>=12)]}function Qt(Xt){return 1+~~(Xt.getUTCMonth()/3)}return{format:function(Xt){var nr=za(Xt+="",wa);return nr.toString=function(){return Xt},nr},parse:function(Xt){var nr=Ia(Xt+="",!1);return nr.toString=function(){return Xt},nr},utcFormat:function(Xt){var nr=za(Xt+="",pa);return nr.toString=function(){return Xt},nr},utcParse:function(Xt){var nr=Ia(Xt+="",!0);return nr.toString=function(){return Xt},nr}}}var t={"-":"",_:" ",0:"0"},a=/^\s*\d+/,r=/^%/,n=/[\\^$*+?|[\]().{}]/g;function i(Ee,Re,he){var ye=Ee<0?"-":"",Ie=(ye?-Ee:Ee)+"",Fe=Ie.length;return ye+(Fe68?1900:2e3),he+ye[0].length):-1}function E(Ee,Re,he){var ye=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(Re.slice(he,he+6));return ye?(Ee.Z=ye[1]?0:-(ye[2]+(ye[3]||"00")),he+ye[0].length):-1}function g(Ee,Re,he){var ye=a.exec(Re.slice(he,he+1));return ye?(Ee.q=ye[0]*3-3,he+ye[0].length):-1}function T(Ee,Re,he){var ye=a.exec(Re.slice(he,he+2));return ye?(Ee.m=ye[0]-1,he+ye[0].length):-1}function m(Ee,Re,he){var ye=a.exec(Re.slice(he,he+2));return ye?(Ee.d=+ye[0],he+ye[0].length):-1}function h(Ee,Re,he){var ye=a.exec(Re.slice(he,he+3));return ye?(Ee.m=0,Ee.d=+ye[0],he+ye[0].length):-1}function x(Ee,Re,he){var ye=a.exec(Re.slice(he,he+2));return ye?(Ee.H=+ye[0],he+ye[0].length):-1}function _(Ee,Re,he){var ye=a.exec(Re.slice(he,he+2));return ye?(Ee.M=+ye[0],he+ye[0].length):-1}function D(Ee,Re,he){var ye=a.exec(Re.slice(he,he+2));return ye?(Ee.S=+ye[0],he+ye[0].length):-1}function C(Ee,Re,he){var ye=a.exec(Re.slice(he,he+3));return ye?(Ee.L=+ye[0],he+ye[0].length):-1}function F(Ee,Re,he){var ye=a.exec(Re.slice(he,he+6));return ye?(Ee.L=Math.floor(ye[0]/1e3),he+ye[0].length):-1}function I(Ee,Re,he){var ye=r.exec(Re.slice(he,he+1));return ye?he+ye[0].length:-1}function z(Ee,Re,he){var ye=a.exec(Re.slice(he));return ye?(Ee.Q=+ye[0],he+ye[0].length):-1}function R(Ee,Re,he){var ye=a.exec(Re.slice(he));return ye?(Ee.s=+ye[0],he+ye[0].length):-1}function k(Ee,Re){return i(Ee.getDate(),Re,2)}function B(Ee,Re){return i(Ee.getHours(),Re,2)}function N(Ee,Re){return i(Ee.getHours()%12||12,Re,2)}function q(Ee,Re){return i(1+v.timeDay.count(v.timeYear(Ee),Ee),Re,3)}function Y(Ee,Re){return i(Ee.getMilliseconds(),Re,3)}function ee(Ee,Re){return Y(Ee,Re)+"000"}function te(Ee,Re){return i(Ee.getMonth()+1,Re,2)}function ae(Ee,Re){return i(Ee.getMinutes(),Re,2)}function j(Ee,Re){return i(Ee.getSeconds(),Re,2)}function G(Ee){var Re=Ee.getDay();return Re===0?7:Re}function K(Ee,Re){return i(v.timeSunday.count(v.timeYear(Ee)-1,Ee),Re,2)}function H(Ee,Re){var he=Ee.getDay();return Ee=he>=4||he===0?v.timeThursday(Ee):v.timeThursday.ceil(Ee),i(v.timeThursday.count(v.timeYear(Ee),Ee)+(v.timeYear(Ee).getDay()===4),Re,2)}function Z(Ee){return Ee.getDay()}function X(Ee,Re){return i(v.timeMonday.count(v.timeYear(Ee)-1,Ee),Re,2)}function $(Ee,Re){return i(Ee.getFullYear()%100,Re,2)}function Q(Ee,Re){return i(Ee.getFullYear()%1e4,Re,4)}function re(Ee){var Re=Ee.getTimezoneOffset();return(Re>0?"-":(Re*=-1,"+"))+i(Re/60|0,"0",2)+i(Re%60,"0",2)}function ue(Ee,Re){return i(Ee.getUTCDate(),Re,2)}function pe(Ee,Re){return i(Ee.getUTCHours(),Re,2)}function ge(Ee,Re){return i(Ee.getUTCHours()%12||12,Re,2)}function Te(Ee,Re){return i(1+v.utcDay.count(v.utcYear(Ee),Ee),Re,3)}function Se(Ee,Re){return i(Ee.getUTCMilliseconds(),Re,3)}function Ce(Ee,Re){return Se(Ee,Re)+"000"}function Ue(Ee,Re){return i(Ee.getUTCMonth()+1,Re,2)}function Oe(Ee,Re){return i(Ee.getUTCMinutes(),Re,2)}function _e(Ee,Re){return i(Ee.getUTCSeconds(),Re,2)}function ce(Ee){var Re=Ee.getUTCDay();return Re===0?7:Re}function ie(Ee,Re){return i(v.utcSunday.count(v.utcYear(Ee)-1,Ee),Re,2)}function se(Ee,Re){var he=Ee.getUTCDay();return Ee=he>=4||he===0?v.utcThursday(Ee):v.utcThursday.ceil(Ee),i(v.utcThursday.count(v.utcYear(Ee),Ee)+(v.utcYear(Ee).getUTCDay()===4),Re,2)}function ne(Ee){return Ee.getUTCDay()}function be(Ee,Re){return i(v.utcMonday.count(v.utcYear(Ee)-1,Ee),Re,2)}function De(Ee,Re){return i(Ee.getUTCFullYear()%100,Re,2)}function qe(Ee,Re){return i(Ee.getUTCFullYear()%1e4,Re,4)}function Ne(){return"+0000"}function ut(){return"%"}function ot(Ee){return+Ee}function yt(Ee){return Math.floor(+Ee/1e3)}var At;It({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 It(Ee){return At=e(Ee),u.timeFormat=At.format,u.timeParse=At.parse,u.utcFormat=At.utcFormat,u.utcParse=At.utcParse,At}var Zt="%Y-%m-%dT%H:%M:%S.%LZ";function vr(Ee){return Ee.toISOString()}var Ut=Date.prototype.toISOString?vr:u.utcFormat(Zt);function Jt(Ee){var Re=new Date(Ee);return isNaN(Re)?null:Re}var at=+new Date("2000-01-01T00:00:00.000Z")?Jt:u.utcParse(Zt);u.isoFormat=Ut,u.isoParse=at,u.timeFormatDefaultLocale=It,u.timeFormatLocale=e,Object.defineProperty(u,"__esModule",{value:!0})})}}),An=xe({"node_modules/d3-format/dist/d3-format.js"(U,O){(function(u,v){typeof U=="object"&&typeof O<"u"?v(U):(u=typeof globalThis<"u"?globalThis:u||self,v(u.d3=u.d3||{}))})(U,function(u){"use strict";function v(T){return Math.abs(T=Math.round(T))>=1e21?T.toLocaleString("en").replace(/,/g,""):T.toString(10)}function w(T,m){if((h=(T=m?T.toExponential(m-1):T.toExponential()).indexOf("e"))<0)return null;var h,x=T.slice(0,h);return[x.length>1?x[0]+x.slice(2):x,+T.slice(h+1)]}function S(T){return T=w(Math.abs(T)),T?T[1]:NaN}function l(T,m){return function(h,x){for(var _=h.length,D=[],C=0,F=T[0],I=0;_>0&&F>0&&(I+F+1>x&&(F=Math.max(1,x-I)),D.push(h.substring(_-=F,_+F)),!((I+=F+1)>x));)F=T[C=(C+1)%T.length];return D.reverse().join(m)}}function e(T){return function(m){return m.replace(/[0-9]/g,function(h){return T[+h]})}}var t=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function a(T){if(!(m=t.exec(T)))throw new Error("invalid format: "+T);var m;return new r({fill:m[1],align:m[2],sign:m[3],symbol:m[4],zero:m[5],width:m[6],comma:m[7],precision:m[8]&&m[8].slice(1),trim:m[9],type:m[10]})}a.prototype=r.prototype;function r(T){this.fill=T.fill===void 0?" ":T.fill+"",this.align=T.align===void 0?">":T.align+"",this.sign=T.sign===void 0?"-":T.sign+"",this.symbol=T.symbol===void 0?"":T.symbol+"",this.zero=!!T.zero,this.width=T.width===void 0?void 0:+T.width,this.comma=!!T.comma,this.precision=T.precision===void 0?void 0:+T.precision,this.trim=!!T.trim,this.type=T.type===void 0?"":T.type+""}r.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(T){e:for(var m=T.length,h=1,x=-1,_;h0&&(x=0);break}return x>0?T.slice(0,x)+T.slice(_+1):T}var i;function s(T,m){var h=w(T,m);if(!h)return T+"";var x=h[0],_=h[1],D=_-(i=Math.max(-8,Math.min(8,Math.floor(_/3)))*3)+1,C=x.length;return D===C?x:D>C?x+new Array(D-C+1).join("0"):D>0?x.slice(0,D)+"."+x.slice(D):"0."+new Array(1-D).join("0")+w(T,Math.max(0,m+D-1))[0]}function c(T,m){var h=w(T,m);if(!h)return T+"";var x=h[0],_=h[1];return _<0?"0."+new Array(-_).join("0")+x:x.length>_+1?x.slice(0,_+1)+"."+x.slice(_+1):x+new Array(_-x.length+2).join("0")}var p={"%":function(T,m){return(T*100).toFixed(m)},b:function(T){return Math.round(T).toString(2)},c:function(T){return T+""},d:v,e:function(T,m){return T.toExponential(m)},f:function(T,m){return T.toFixed(m)},g:function(T,m){return T.toPrecision(m)},o:function(T){return Math.round(T).toString(8)},p:function(T,m){return c(T*100,m)},r:c,s,X:function(T){return Math.round(T).toString(16).toUpperCase()},x:function(T){return Math.round(T).toString(16)}};function f(T){return T}var d=Array.prototype.map,y=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function o(T){var m=T.grouping===void 0||T.thousands===void 0?f:l(d.call(T.grouping,Number),T.thousands+""),h=T.currency===void 0?"":T.currency[0]+"",x=T.currency===void 0?"":T.currency[1]+"",_=T.decimal===void 0?".":T.decimal+"",D=T.numerals===void 0?f:e(d.call(T.numerals,String)),C=T.percent===void 0?"%":T.percent+"",F=T.minus===void 0?"-":T.minus+"",I=T.nan===void 0?"NaN":T.nan+"";function z(k){k=a(k);var B=k.fill,N=k.align,q=k.sign,Y=k.symbol,ee=k.zero,te=k.width,ae=k.comma,j=k.precision,G=k.trim,K=k.type;K==="n"?(ae=!0,K="g"):p[K]||(j===void 0&&(j=12),G=!0,K="g"),(ee||B==="0"&&N==="=")&&(ee=!0,B="0",N="=");var H=Y==="$"?h:Y==="#"&&/[boxX]/.test(K)?"0"+K.toLowerCase():"",Z=Y==="$"?x:/[%p]/.test(K)?C:"",X=p[K],$=/[defgprs%]/.test(K);j=j===void 0?6:/[gprs]/.test(K)?Math.max(1,Math.min(21,j)):Math.max(0,Math.min(20,j));function Q(re){var ue=H,pe=Z,ge,Te,Se;if(K==="c")pe=X(re)+pe,re="";else{re=+re;var Ce=re<0||1/re<0;if(re=isNaN(re)?I:X(Math.abs(re),j),G&&(re=n(re)),Ce&&+re==0&&q!=="+"&&(Ce=!1),ue=(Ce?q==="("?q:F:q==="-"||q==="("?"":q)+ue,pe=(K==="s"?y[8+i/3]:"")+pe+(Ce&&q==="("?")":""),$){for(ge=-1,Te=re.length;++geSe||Se>57){pe=(Se===46?_+re.slice(ge+1):re.slice(ge))+pe,re=re.slice(0,ge);break}}}ae&&!ee&&(re=m(re,1/0));var Ue=ue.length+re.length+pe.length,Oe=Ue>1)+ue+re+pe+Oe.slice(Ue);break;default:re=Oe+ue+re+pe;break}return D(re)}return Q.toString=function(){return k+""},Q}function R(k,B){var N=z((k=a(k),k.type="f",k)),q=Math.max(-8,Math.min(8,Math.floor(S(B)/3)))*3,Y=Math.pow(10,-q),ee=y[8+q/3];return function(te){return N(Y*te)+ee}}return{format:z,formatPrefix:R}}var b;M({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"});function M(T){return b=o(T),u.format=b.format,u.formatPrefix=b.formatPrefix,b}function A(T){return Math.max(0,-S(Math.abs(T)))}function E(T,m){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(S(m)/3)))*3-S(Math.abs(T)))}function g(T,m){return T=Math.abs(T),m=Math.abs(m)-T,Math.max(0,S(m)-S(T))+1}u.FormatSpecifier=r,u.formatDefaultLocale=M,u.formatLocale=o,u.formatSpecifier=a,u.precisionFixed=A,u.precisionPrefix=E,u.precisionRound=g,Object.defineProperty(u,"__esModule",{value:!0})})}}),yi=xe({"node_modules/is-string-blank/index.js"(U,O){"use strict";O.exports=function(u){for(var v=u.length,w,S=0;S13)&&w!==32&&w!==133&&w!==160&&w!==5760&&w!==6158&&(w<8192||w>8205)&&w!==8232&&w!==8233&&w!==8239&&w!==8287&&w!==8288&&w!==12288&&w!==65279)return!1;return!0}}}),yn=xe({"node_modules/fast-isnumeric/index.js"(U,O){"use strict";var u=yi();O.exports=function(v){var w=typeof v;if(w==="string"){var S=v;if(v=+v,v===0&&u(S))return!1}else if(w!=="number")return!1;return v-v<1}}}),Gn=xe({"src/constants/numerical.js"(U,O){"use strict";O.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"}}}),ys=xe({"node_modules/base64-arraybuffer/dist/base64-arraybuffer.umd.js"(U,O){(function(u,v){typeof U=="object"&&typeof O<"u"?v(U):(u=typeof globalThis<"u"?globalThis:u||self,v(u["base64-arraybuffer"]={}))})(U,function(u){"use strict";for(var v="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",w=typeof Uint8Array>"u"?[]:new Uint8Array(256),S=0;S>2],i+=v[(a[r]&3)<<4|a[r+1]>>4],i+=v[(a[r+1]&15)<<2|a[r+2]>>6],i+=v[a[r+2]&63];return n%3===2?i=i.substring(0,i.length-1)+"=":n%3===1&&(i=i.substring(0,i.length-2)+"=="),i},e=function(t){var a=t.length*.75,r=t.length,n,i=0,s,c,p,f;t[t.length-1]==="="&&(a--,t[t.length-2]==="="&&a--);var d=new ArrayBuffer(a),y=new Uint8Array(d);for(n=0;n>4,y[i++]=(c&15)<<4|p>>2,y[i++]=(p&3)<<6|f&63;return d};u.decode=e,u.encode=l,Object.defineProperty(u,"__esModule",{value:!0})})}}),Us=xe({"src/lib/is_plain_object.js"(U,O){"use strict";O.exports=function(v){return window&&window.process&&window.process.versions?Object.prototype.toString.call(v)==="[object Object]":Object.prototype.toString.call(v)==="[object Object]"&&Object.getPrototypeOf(v).hasOwnProperty("hasOwnProperty")}}}),rs=xe({"src/lib/array.js"(U){"use strict";var O=ys().decode,u=Us(),v=Array.isArray,w=ArrayBuffer,S=DataView;function l(s){return w.isView(s)&&!(s instanceof S)}U.isTypedArray=l;function e(s){return v(s)||l(s)}U.isArrayOrTypedArray=e;function t(s){return!e(s[0])}U.isArray1D=t,U.ensureArray=function(s,c){return v(s)||(s=[]),s.length=c,s};var a={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};a.uint8c=a.u1c,a.uint8=a.u1,a.int8=a.i1,a.uint16=a.u2,a.int16=a.i2,a.uint32=a.u4,a.int32=a.i4,a.float32=a.f4,a.float64=a.f8;function r(s){return s.constructor===ArrayBuffer}U.isArrayBuffer=r,U.decodeTypedArraySpec=function(s){var c=[],p=n(s),f=p.dtype,d=a[f];if(!d)throw new Error('Error in dtype: "'+f+'"');var y=d.BYTES_PER_ELEMENT,o=p.bdata;r(o)||(o=O(o));var b=p.shape===void 0?[o.byteLength/y]:(""+p.shape).split(",");b.reverse();var M=b.length,A,E,g=+b[0],T=y*g,m=0;if(M===1)c=new d(o);else if(M===2)for(A=+b[1],E=0;E2)return d[A]=d[A]|l,b.set(M,null);if(o){for(c=A;c0)return Math.log(w)/Math.LN10;var l=Math.log(Math.min(S[0],S[1]))/Math.LN10;return u(l)||(l=Math.log(Math.max(S[0],S[1]))/Math.LN10-6),l}}}),uu=xe({"src/lib/relink_private.js"(U,O){"use strict";var u=rs().isArrayOrTypedArray,v=Us();O.exports=function w(S,l){for(var e in l){var t=l[e],a=S[e];if(a!==t)if(e.charAt(0)==="_"||typeof t=="function"){if(e in S)continue;S[e]=t}else if(u(t)&&u(a)&&v(t[0])){if(e==="customdata"||e==="ids")continue;for(var r=Math.min(t.length,a.length),n=0;nIc,modHalf:()=>nh});function Ic(U,O){let u=U%O;return u<0?u+O:u}function nh(U,O){return Math.abs(U)>O/2?U-Math.round(U/O)*O:U}var Cd=Pr({"src/lib/mod.ts"(){"use strict"}}),oo=xe({"src/lib/extend.js"(U){"use strict";var O=Us(),u=Array.isArray;function v(S,l){var e,t;for(e=0;e=4&&U[3]!==1&&(O=", "+U[3]),"hwb("+U[0]+", "+U[1]+"%, "+U[2]+"%"+O+")"},Nn.to.keyword=function(...U){return jn[U.slice(0,3)]},Yi=Nn}}),ol,Gf=Pr({"node_modules/color/node_modules/color-name/index.js"(){ol={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]}}});function ih(U){let O=U>.0031308?1.055*U**.4166666666666667-.055:U*12.92;return Math.min(Math.max(0,O),1)}function cv(U){return U>.04045?((U+.055)/1.055)**2.4:U/12.92}function tT(U,O){return(U[0]-O[0])**2+(U[1]-O[1])**2+(U[2]-O[2])**2}var zm,_o,ud,Th,Xy=Pr({"node_modules/color/node_modules/color-convert/conversions.js"(){Gf(),zm={};for(let U of Object.keys(ol))zm[ol[U]]=U;_o={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},oklab:{channels:3,labels:["okl","oka","okb"]},lch:{channels:3,labels:"lch"},oklch:{channels:3,labels:["okl","okc","okh"]},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}},ud=_o,Th=(6/29)**3;for(let U of Object.keys(_o)){if(!("channels"in _o[U]))throw new Error("missing channels property: "+U);if(!("labels"in _o[U]))throw new Error("missing channel labels property: "+U);if(_o[U].labels.length!==_o[U].channels)throw new Error("channel and label counts mismatch: "+U);let{channels:O,labels:u}=_o[U];delete _o[U].channels,delete _o[U].labels,Object.defineProperty(_o[U],"channels",{value:O}),Object.defineProperty(_o[U],"labels",{value:u})}_o.rgb.hsl=function(U){let O=U[0]/255,u=U[1]/255,v=U[2]/255,w=Math.min(O,u,v),S=Math.max(O,u,v),l=S-w,e,t;switch(S){case w:{e=0;break}case O:{e=(u-v)/l;break}case u:{e=2+(v-O)/l;break}case v:{e=4+(O-u)/l;break}}e=Math.min(e*60,360),e<0&&(e+=360);let a=(w+S)/2;return S===w?t=0:a<=.5?t=l/(S+w):t=l/(2-S-w),[e,t*100,a*100]},_o.rgb.hsv=function(U){let O,u,v,w,S,l=U[0]/255,e=U[1]/255,t=U[2]/255,a=Math.max(l,e,t),r=a-Math.min(l,e,t),n=function(i){return(a-i)/6/r+1/2};if(r===0)w=0,S=0;else{switch(S=r/a,O=n(l),u=n(e),v=n(t),a){case l:{w=v-u;break}case e:{w=1/3+O-v;break}case t:{w=2/3+u-O;break}}w<0?w+=1:w>1&&(w-=1)}return[w*360,S*100,a*100]},_o.rgb.hwb=function(U){let O=U[0],u=U[1],v=U[2],w=_o.rgb.hsl(U)[0],S=1/255*Math.min(O,Math.min(u,v));return v=1-1/255*Math.max(O,Math.max(u,v)),[w,S*100,v*100]},_o.rgb.oklab=function(U){let O=cv(U[0]/255),u=cv(U[1]/255),v=cv(U[2]/255),w=Math.cbrt(.4122214708*O+.5363325363*u+.0514459929*v),S=Math.cbrt(.2119034982*O+.6806995451*u+.1073969566*v),l=Math.cbrt(.0883024619*O+.2817188376*u+.6299787005*v),e=.2104542553*w+.793617785*S-.0040720468*l,t=1.9779984951*w-2.428592205*S+.4505937099*l,a=.0259040371*w+.7827717662*S-.808675766*l;return[e*100,t*100,a*100]},_o.rgb.cmyk=function(U){let O=U[0]/255,u=U[1]/255,v=U[2]/255,w=Math.min(1-O,1-u,1-v),S=(1-O-w)/(1-w)||0,l=(1-u-w)/(1-w)||0,e=(1-v-w)/(1-w)||0;return[S*100,l*100,e*100,w*100]},_o.rgb.keyword=function(U){let O=zm[U];if(O)return O;let u=Number.POSITIVE_INFINITY,v;for(let w of Object.keys(ol)){let S=ol[w],l=tT(U,S);lTh?u**(1/3):7.787*u+16/116,v=v>Th?v**(1/3):7.787*v+16/116,w=w>Th?w**(1/3):7.787*w+16/116;let S=116*v-16,l=500*(u-v),e=200*(v-w);return[S,l,e]},_o.hsl.rgb=function(U){let O=U[0]/360,u=U[1]/100,v=U[2]/100,w,S;if(u===0)return S=v*255,[S,S,S];let l=v<.5?v*(1+u):v+u-v*u,e=2*v-l,t=[0,0,0];for(let a=0;a<3;a++)w=O+1/3*-(a-1),w<0&&w++,w>1&&w--,6*w<1?S=e+(l-e)*6*w:2*w<1?S=l:3*w<2?S=e+(l-e)*(2/3-w)*6:S=e,t[a]=S*255;return t},_o.hsl.hsv=function(U){let O=U[0],u=U[1]/100,v=U[2]/100,w=u,S=Math.max(v,.01);v*=2,u*=v<=1?v:2-v,w*=S<=1?S:2-S;let l=(v+u)/2,e=v===0?2*w/(S+w):2*u/(v+u);return[O,e*100,l*100]},_o.hsv.rgb=function(U){let O=U[0]/60,u=U[1]/100,v=U[2]/100,w=Math.floor(O)%6,S=O-Math.floor(O),l=255*v*(1-u),e=255*v*(1-u*S),t=255*v*(1-u*(1-S));switch(v*=255,w){case 0:return[v,t,l];case 1:return[e,v,l];case 2:return[l,v,t];case 3:return[l,e,v];case 4:return[t,l,v];case 5:return[v,l,e]}},_o.hsv.hsl=function(U){let O=U[0],u=U[1]/100,v=U[2]/100,w=Math.max(v,.01),S,l;l=(2-u)*v;let e=(2-u)*w;return S=u*w,S/=e<=1?e:2-e,S=S||0,l/=2,[O,S*100,l*100]},_o.hwb.rgb=function(U){let O=U[0]/360,u=U[1]/100,v=U[2]/100,w=u+v,S;w>1&&(u/=w,v/=w);let l=Math.floor(6*O),e=1-v;S=6*O-l,l&1&&(S=1-S);let t=u+S*(e-u),a,r,n;switch(l){default:case 6:case 0:{a=e,r=t,n=u;break}case 1:{a=t,r=e,n=u;break}case 2:{a=u,r=e,n=t;break}case 3:{a=u,r=t,n=e;break}case 4:{a=t,r=u,n=e;break}case 5:{a=e,r=u,n=t;break}}return[a*255,r*255,n*255]},_o.cmyk.rgb=function(U){let O=U[0]/100,u=U[1]/100,v=U[2]/100,w=U[3]/100,S=1-Math.min(1,O*(1-w)+w),l=1-Math.min(1,u*(1-w)+w),e=1-Math.min(1,v*(1-w)+w);return[S*255,l*255,e*255]},_o.xyz.rgb=function(U){let O=U[0]/100,u=U[1]/100,v=U[2]/100,w,S,l;return w=O*3.2404542+u*-1.5371385+v*-.4985314,S=O*-.969266+u*1.8760108+v*.041556,l=O*.0556434+u*-.2040259+v*1.0572252,w=ih(w),S=ih(S),l=ih(l),[w*255,S*255,l*255]},_o.xyz.lab=function(U){let O=U[0],u=U[1],v=U[2];O/=95.047,u/=100,v/=108.883,O=O>Th?O**(1/3):7.787*O+16/116,u=u>Th?u**(1/3):7.787*u+16/116,v=v>Th?v**(1/3):7.787*v+16/116;let w=116*u-16,S=500*(O-u),l=200*(u-v);return[w,S,l]},_o.xyz.oklab=function(U){let O=U[0]/100,u=U[1]/100,v=U[2]/100,w=Math.cbrt(.8189330101*O+.3618667424*u-.1288597137*v),S=Math.cbrt(.0329845436*O+.9293118715*u+.0361456387*v),l=Math.cbrt(.0482003018*O+.2643662691*u+.633851707*v),e=.2104542553*w+.793617785*S-.0040720468*l,t=1.9779984951*w-2.428592205*S+.4505937099*l,a=.0259040371*w+.7827717662*S-.808675766*l;return[e*100,t*100,a*100]},_o.oklab.oklch=function(U){return _o.lab.lch(U)},_o.oklab.xyz=function(U){let O=U[0]/100,u=U[1]/100,v=U[2]/100,w=(.999999998*O+.396337792*u+.215803758*v)**3,S=(1.000000008*O-.105561342*u-.063854175*v)**3,l=(1.000000055*O-.089484182*u-1.291485538*v)**3,e=1.227013851*w-.55779998*S+.281256149*l,t=-.040580178*w+1.11225687*S-.071676679*l,a=-.076381285*w-.421481978*S+1.58616322*l;return[e*100,t*100,a*100]},_o.oklab.rgb=function(U){let O=U[0]/100,u=U[1]/100,v=U[2]/100,w=(O+.3963377774*u+.2158037573*v)**3,S=(O-.1055613458*u-.0638541728*v)**3,l=(O-.0894841775*u-1.291485548*v)**3,e=ih(4.0767416621*w-3.3077115913*S+.2309699292*l),t=ih(-1.2684380046*w+2.6097574011*S-.3413193965*l),a=ih(-.0041960863*w-.7034186147*S+1.707614701*l);return[e*255,t*255,a*255]},_o.oklch.oklab=function(U){return _o.lch.lab(U)},_o.lab.xyz=function(U){let O=U[0],u=U[1],v=U[2],w,S,l;S=(O+16)/116,w=u/500+S,l=S-v/200;let e=S**3,t=w**3,a=l**3;return S=e>Th?e:(S-16/116)/7.787,w=t>Th?t:(w-16/116)/7.787,l=a>Th?a:(l-16/116)/7.787,w*=95.047,S*=100,l*=108.883,[w,S,l]},_o.lab.lch=function(U){let O=U[0],u=U[1],v=U[2],w;w=Math.atan2(v,u)*360/2/Math.PI,w<0&&(w+=360);let l=Math.sqrt(u*u+v*v);return[O,l,w]},_o.lch.lab=function(U){let O=U[0],u=U[1],w=U[2]/360*2*Math.PI,S=u*Math.cos(w),l=u*Math.sin(w);return[O,S,l]},_o.rgb.ansi16=function(U,O=null){let[u,v,w]=U,S=O===null?_o.rgb.hsv(U)[2]:O;if(S=Math.round(S/50),S===0)return 30;let l=30+(Math.round(w/255)<<2|Math.round(v/255)<<1|Math.round(u/255));return S===2&&(l+=60),l},_o.hsv.ansi16=function(U){return _o.rgb.ansi16(_o.hsv.rgb(U),U[2])},_o.rgb.ansi256=function(U){let O=U[0],u=U[1],v=U[2];return O>>4===u>>4&&u>>4===v>>4?O<8?16:O>248?231:Math.round((O-8)/247*24)+232:16+36*Math.round(O/255*5)+6*Math.round(u/255*5)+Math.round(v/255*5)},_o.ansi16.rgb=function(U){U=U[0];let O=U%10;if(O===0||O===7)return U>50&&(O+=3.5),O=O/10.5*255,[O,O,O];let u=(Math.trunc(U>50)+1)*.5,v=(O&1)*u*255,w=(O>>1&1)*u*255,S=(O>>2&1)*u*255;return[v,w,S]},_o.ansi256.rgb=function(U){if(U=U[0],U>=232){let S=(U-232)*10+8;return[S,S,S]}U-=16;let O,u=Math.floor(U/36)/5*255,v=Math.floor((O=U%36)/6)/5*255,w=O%6/5*255;return[u,v,w]},_o.rgb.hex=function(U){let u=(((Math.round(U[0])&255)<<16)+((Math.round(U[1])&255)<<8)+(Math.round(U[2])&255)).toString(16).toUpperCase();return"000000".slice(u.length)+u},_o.hex.rgb=function(U){let O=U.toString(16).match(/[a-f\d]{6}|[a-f\d]{3}/i);if(!O)return[0,0,0];let u=O[0];O[0].length===3&&(u=[...u].map(e=>e+e).join(""));let v=Number.parseInt(u,16),w=v>>16&255,S=v>>8&255,l=v&255;return[w,S,l]},_o.rgb.hcg=function(U){let O=U[0]/255,u=U[1]/255,v=U[2]/255,w=Math.max(Math.max(O,u),v),S=Math.min(Math.min(O,u),v),l=w-S,e,t=l<1?S/(1-l):0;return l<=0?e=0:w===O?e=(u-v)/l%6:w===u?e=2+(v-O)/l:e=4+(O-u)/l,e/=6,e%=1,[e*360,l*100,t*100]},_o.hsl.hcg=function(U){let O=U[1]/100,u=U[2]/100,v=u<.5?2*O*u:2*O*(1-u),w=0;return v<1&&(w=(u-.5*v)/(1-v)),[U[0],v*100,w*100]},_o.hsv.hcg=function(U){let O=U[1]/100,u=U[2]/100,v=O*u,w=0;return v<1&&(w=(u-v)/(1-v)),[U[0],v*100,w*100]},_o.hcg.rgb=function(U){let O=U[0]/360,u=U[1]/100,v=U[2]/100;if(u===0)return[v*255,v*255,v*255];let w=[0,0,0],S=O%1*6,l=S%1,e=1-l,t=0;switch(Math.floor(S)){case 0:{w[0]=1,w[1]=l,w[2]=0;break}case 1:{w[0]=e,w[1]=1,w[2]=0;break}case 2:{w[0]=0,w[1]=1,w[2]=l;break}case 3:{w[0]=0,w[1]=e,w[2]=1;break}case 4:{w[0]=l,w[1]=0,w[2]=1;break}default:w[0]=1,w[1]=0,w[2]=e}return t=(1-u)*v,[(u*w[0]+t)*255,(u*w[1]+t)*255,(u*w[2]+t)*255]},_o.hcg.hsv=function(U){let O=U[1]/100,u=U[2]/100,v=O+u*(1-O),w=0;return v>0&&(w=O/v),[U[0],w*100,v*100]},_o.hcg.hsl=function(U){let O=U[1]/100,v=U[2]/100*(1-O)+.5*O,w=0;return v>0&&v<.5?w=O/(2*v):v>=.5&&v<1&&(w=O/(2*(1-v))),[U[0],w*100,v*100]},_o.hcg.hwb=function(U){let O=U[1]/100,u=U[2]/100,v=O+u*(1-O);return[U[0],(v-O)*100,(1-v)*100]},_o.hwb.hcg=function(U){let O=U[1]/100,v=1-U[2]/100,w=v-O,S=0;return w<1&&(S=(v-w)/(1-w)),[U[0],w*100,S*100]},_o.apple.rgb=function(U){return[U[0]/65535*255,U[1]/65535*255,U[2]/65535*255]},_o.rgb.apple=function(U){return[U[0]/255*65535,U[1]/255*65535,U[2]/255*65535]},_o.gray.rgb=function(U){return[U[0]/100*255,U[0]/100*255,U[0]/100*255]},_o.gray.hsl=function(U){return[0,0,U[0]]},_o.gray.hsv=_o.gray.hsl,_o.gray.hwb=function(U){return[0,100,U[0]]},_o.gray.cmyk=function(U){return[0,0,0,U[0]]},_o.gray.lab=function(U){return[U[0],0,0]},_o.gray.hex=function(U){let O=Math.round(U[0]/100*255)&255,v=((O<<16)+(O<<8)+O).toString(16).toUpperCase();return"000000".slice(v.length)+v},_o.rgb.gray=function(U){return[(U[0]+U[1]+U[2])/3/255*100]}}});function rT(){let U={},O=Object.keys(ud);for(let{length:u}=O,v=0;v0;){let v=u.pop(),w=Object.keys(ud[v]);for(let{length:S}=w,l=0;l1&&(u=v),U(u))};return"conversion"in U&&(O.conversion=U.conversion),O}function uT(U){let O=function(...u){let v=u[0];if(v==null)return v;v.length>1&&(u=v);let w=U(u);if(typeof w=="object")for(let{length:S}=w,l=0;lJy});function Xc(U,O){if(!(this instanceof Xc))return new Xc(U,O);if(O&&O in Nm&&(O=null),O&&!(O in Wf))throw new Error("Unknown model: "+O);let u,v;if(U==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(U instanceof Xc)this.model=U.model,this.color=[...U.color],this.valpha=U.valpha;else if(typeof U=="string"){let w=Yi.get(U);if(w===null)throw new Error("Unable to parse color from string: "+U);this.model=w.model,v=Wf[this.model].channels,this.color=w.value.slice(0,v),this.valpha=typeof w.value[v]=="number"?w.value[v]:1}else if(U.length>0){this.model=O||"rgb",v=Wf[this.model].channels;let w=Array.prototype.slice.call(U,0,v);this.color=Bm(w,v),this.valpha=typeof U[v]=="number"?U[v]:1}else if(typeof U=="number")this.model="rgb",this.color=[U>>16&255,U>>8&255,U&255],this.valpha=1;else{this.valpha=1;let w=Object.keys(U);"alpha"in U&&(w.splice(w.indexOf("alpha"),1),this.valpha=typeof U.alpha=="number"?U.alpha:0);let S=w.sort().join("");if(!(S in Qp))throw new Error("Unable to parse color from object: "+JSON.stringify(U));this.model=Qp[S];let{labels:l}=Wf[this.model],e=[];for(u=0;u(U%360+360)%360),saturationl:Yu("hsl",1,Dc(100)),lightness:Yu("hsl",2,Dc(100)),saturationv:Yu("hsv",1,Dc(100)),value:Yu("hsv",2,Dc(100)),chroma:Yu("hcg",1,Dc(100)),gray:Yu("hcg",2,Dc(100)),white:Yu("hwb",1,Dc(100)),wblack:Yu("hwb",2,Dc(100)),cyan:Yu("cmyk",0,Dc(100)),magenta:Yu("cmyk",1,Dc(100)),yellow:Yu("cmyk",2,Dc(100)),black:Yu("cmyk",3,Dc(100)),x:Yu("xyz",0,Dc(95.047)),y:Yu("xyz",1,Dc(100)),z:Yu("xyz",2,Dc(108.833)),l:Yu("lab",0,Dc(100)),a:Yu("lab",1),b:Yu("lab",2),keyword(U){return U!==void 0?new Xc(U):Wf[this.model].keyword(this.color)},hex(U){return U!==void 0?new Xc(U):Yi.to.hex(...this.rgb().round().color)},hexa(U){if(U!==void 0)return new Xc(U);let O=this.rgb().round().color,u=Math.round(this.valpha*255).toString(16).toUpperCase();return u.length===1&&(u="0"+u),Yi.to.hex(...O)+u},rgbNumber(){let U=this.rgb().color;return(U[0]&255)<<16|(U[1]&255)<<8|U[2]&255},luminosity(){let U=this.rgb().color,O=[];for(let[u,v]of U.entries()){let w=v/255;O[u]=w<=.04045?w/12.92:((w+.055)/1.055)**2.4}return .2126*O[0]+.7152*O[1]+.0722*O[2]},contrast(U){let O=this.luminosity(),u=U.luminosity();return O>u?(O+.05)/(u+.05):(u+.05)/(O+.05)},level(U){let O=this.contrast(U);return O>=7?"AAA":O>=4.5?"AA":""},isDark(){let U=this.rgb().color;return(U[0]*2126+U[1]*7152+U[2]*722)/1e4<128},isLight(){return!this.isDark()},negate(){let U=this.rgb();for(let O=0;O<3;O++)U.color[O]=255-U.color[O];return U},lighten(U){let O=this.hsl();return O.color[2]+=O.color[2]*U,O},darken(U){let O=this.hsl();return O.color[2]-=O.color[2]*U,O},saturate(U){let O=this.hsl();return O.color[1]+=O.color[1]*U,O},desaturate(U){let O=this.hsl();return O.color[1]-=O.color[1]*U,O},whiten(U){let O=this.hwb();return O.color[1]+=O.color[1]*U,O},blacken(U){let O=this.hwb();return O.color[2]+=O.color[2]*U,O},grayscale(){let U=this.rgb().color,O=U[0]*.3+U[1]*.59+U[2]*.11;return Xc.rgb(O,O,O)},fade(U){return this.alpha(this.valpha-this.valpha*U)},opaquer(U){return this.alpha(this.valpha+this.valpha*U)},rotate(U){let O=this.hsl(),u=O.color[0];return u=(u+U)%360,u=u<0?360+u:u,O.color[0]=u,O},mix(U,O){if(!U||!U.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof U);let u=U.rgb(),v=this.rgb(),w=O===void 0?.5:O,S=2*w-1,l=u.alpha()-v.alpha(),e=((S*l===-1?S:(S+l)/(1+S*l))+1)/2,t=1-e;return Xc.rgb(e*u.red()+t*v.red(),e*u.green()+t*v.green(),e*u.blue()+t*v.blue(),u.alpha()*w+v.alpha()*(1-w))}};for(let U of Object.keys(Wf)){if(Nm.includes(U))continue;let{channels:O}=Wf[U];Xc.prototype[U]=function(...u){return this.model===U?new Xc(this):u.length>0?new Xc(u,U):new Xc([...dT(Wf[this.model][U].raw(this.color)),this.valpha],U)},Xc[U]=function(...u){let v=u[0];return typeof v=="number"&&(v=Bm(u,O)),new Xc(v,U)}}Jy=Xc}}),fv=xe({"src/plot_api/plot_config.js"(U,O){"use strict";var u={staticPlot:{valType:"boolean",dflt:!1},typesetMath:{valType:"boolean",dflt:!0},plotlyServerURL:{valType:"string",dflt:"https://cloud.plotly.com/newchart"},editable:{valType:"boolean",dflt:!1},edits:{annotationPosition:{valType:"boolean",dflt:!1},annotationTail:{valType:"boolean",dflt:!1},annotationText:{valType:"boolean",dflt:!1},axisTitleText:{valType:"boolean",dflt:!1},colorbarPosition:{valType:"boolean",dflt:!1},colorbarTitleText:{valType:"boolean",dflt:!1},legendPosition:{valType:"boolean",dflt:!1},legendText:{valType:"boolean",dflt:!1},shapePosition:{valType:"boolean",dflt:!1},titleText:{valType:"boolean",dflt:!1}},editSelection:{valType:"boolean",dflt:!0},autosizable:{valType:"boolean",dflt:!1},responsive:{valType:"boolean",dflt:!1},fillFrame:{valType:"boolean",dflt:!1},frameMargins:{valType:"number",dflt:0,min:0,max:.5},scrollZoom:{valType:"flaglist",flags:["cartesian","gl3d","geo","map"],extras:[!0,!1],dflt:"gl3d+geo+map"},doubleClick:{valType:"enumerated",values:[!1,"reset","autosize","reset+autosize"],dflt:"reset+autosize"},doubleClickDelay:{valType:"number",dflt:300,min:0},showAxisDragHandles:{valType:"boolean",dflt:!0},showAxisRangeEntryBoxes:{valType:"boolean",dflt:!0},showTips:{valType:"boolean",dflt:!0},displayNotifier:{valType:"boolean",dflt:!0},displayModeBar:{valType:"enumerated",values:["hover",!0,!1],dflt:"hover"},showSendToCloud:{valType:"boolean",dflt:!0},modeBarButtonsToRemove:{valType:"any",dflt:[]},modeBarButtonsToAdd:{valType:"any",dflt:[]},modeBarButtons:{valType:"any",dflt:!1},toImageButtonOptions:{valType:"any",dflt:{}},displaylogo:{valType:"boolean",dflt:!0},watermark:{valType:"boolean",dflt:!1},plotGlPixelRatio:{valType:"number",dflt:2,min:1,max:4},setBackground:{valType:"any",dflt:"transparent"},topojsonURL:{valType:"string",noBlank:!0,dflt:"https://cdn.plot.ly/un/"},logging:{valType:"integer",min:0,max:2,dflt:1},notifyOnLogging:{valType:"integer",min:0,max:2,dflt:0},queueLength:{valType:"integer",min:0,dflt:0},locale:{valType:"string",dflt:"en-US"},locales:{valType:"any",dflt:{}}},v={};function w(S,l){for(var e in S){var t=S[e];t.valType?l[e]=t.dflt:(l[e]||(l[e]={}),w(t,l[e]))}}w(u,v),O.exports={configAttributes:u,dfltConfig:v}}}),Qy=xe({"src/lib/notifier.js"(U,O){"use strict";var u=Na(),v=yn(),w=[];O.exports=function(S,l,e){var t;if(((t=e?._context)==null?void 0:t.displayNotifier)===!1||w.indexOf(S)!==-1)return;w.push(S);var a=1e3;v(l)?a=l:l==="long"&&(a=3e3);var r=u.select("body").selectAll(".plotly-notifier").data([0]);r.enter().append("div").classed("plotly-notifier",!0);var n=r.selectAll(".notifier-note").data(w);function i(s){s.duration(700).style("opacity",0).each("end",function(c){var p=w.indexOf(c);p!==-1&&w.splice(p,1),u.select(this).remove()})}n.enter().append("div").classed("notifier-note",!0).style("opacity",0).each(function(s){var c=u.select(this);c.append("button").classed("notifier-close",!0).html("×").on("click",function(){c.transition().call(i)});for(var p=c.append("p"),f=s.split(//g),d=0;d1){var l=["LOG:"];for(S=0;S1){var e=[];for(S=0;S"),"long")}},w.warn=function(){var S;if(u.logging>0){var l=["WARN:"];for(S=0;S0){var e=[];for(S=0;S"),"stick")}},w.error=function(){var S;if(u.logging>0){var l=["ERROR:"];for(S=0;S0){var e=[];for(S=0;S"),"stick")}}}}),sc=xe({"src/components/color/attributes.js"(U){"use strict";U.defaults=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],U.defaultLine="#444",U.lightLine="#eee",U.background="#fff",U.borderLine="#BEC8D9",U.lightFraction=100*10/11}}),wi=xe({"src/components/color/index.js"(U,O){"use strict";var u=(vT(),Ta(Ky)).default,{warn:v}=cd(),{background:w,defaultLine:S,defaults:l,lightLine:e}=sc(),t=E=>{typeof E=="string"&&(E=E.trim());try{return u(E)}catch{return v(`Invalid color specifier: "${E}". Defaulting to "#000"`),u("#000")}},a=E=>{let{r:g,g:T,b:m}=t(E).rgb().object();return`rgb(${Math.round(g)}, ${Math.round(T)}, ${Math.round(m)})`},r=E=>E?t(E).alpha():0,n=(E,g)=>{let T=t(E).rgb().object();return`rgba(${Math.round(T.r)}, ${Math.round(T.g)}, ${Math.round(T.b)}, ${g})`},i=(E,g)=>{var T,m;g||(g=w);let h=t(E).rgb().object();if((T=h.alpha)!=null||(h.alpha=1),h.alpha===1)return t(E).rgb().string();let x=t(g).rgb().object();(m=x.alpha)!=null||(x.alpha=1);let _=x.alpha===1?x:{r:255*(1-x.alpha)+x.r*x.alpha,g:255*(1-x.alpha)+x.g*x.alpha,b:255*(1-x.alpha)+x.b*x.alpha},D={r:_.r*(1-h.alpha)+h.r*h.alpha,g:_.g*(1-h.alpha)+h.g*h.alpha,b:_.b*(1-h.alpha)+h.b*h.alpha};return t(D).rgb().string()},s=(E,g,T)=>{let m=t(E).rgb().object(),h=t(g).rgb().object(),x={r:T*m.r+(1-T)*h.r,g:T*m.g+(1-T)*h.g,b:T*m.b+(1-T)*h.b};return t(x).rgb().string()},c=(E,g)=>{let T=t(E);return T.lightness(T.lightness()+g)},p=(E,g,T)=>{let m=t(E);return m.alpha()!==1&&(m=t(i(E,w))),(m.isDark()?g?c(m,g):t(w):T?c(m,-T):t(S)).rgb().string()},f=(E,g)=>{let T=t(g);E.style({stroke:a(g),"stroke-opacity":T.alpha()})},d=(E,g)=>{let T=t(g);E.style({fill:a(g),"fill-opacity":T.alpha()})},y=(E,g)=>!!(E&&g&&t(E).rgb().string()===t(g).rgb().string()),o=E=>{if(typeof E!="string")return!1;try{return!!u(E.trim())}catch{return!1}},b=(E,g)=>{var T;g=g===0?0:g||10;let m=t(E).rgb().object(),h=Math.round(255*(g/100));return t({r:Math.max(0,Math.min(255,m.r+h)),g:Math.max(0,Math.min(255,m.g+h)),b:Math.max(0,Math.min(255,m.b+h))}).alpha((T=m.alpha)!=null?T:1).rgb().string()},M=(E,g,T)=>t(E).mix(t(g),T/100).rgb().string(),A=(E,g=["#000","#fff"])=>{let T,m=-1/0;for(let h of g){let x=t(E).contrast(t(h));x>m&&(m=x,T=t(h).rgb().string())}return T};O.exports={addOpacity:n,adjustLightness:c,background:w,brighten:b,color:t,combine:i,contrast:p,defaultLine:S,defaults:l,equals:y,fill:d,interpolate:s,isValid:o,lightLine:e,mix:M,mostReadable:A,opacity:r,rgb:a,stroke:f}}}),hv=xe({"src/components/colorscale/scales.js"(U,O){"use strict";var u=wi(),v={Greys:[[0,"rgb(0,0,0)"],[1,"rgb(255,255,255)"]],YlGnBu:[[0,"rgb(8,29,88)"],[.125,"rgb(37,52,148)"],[.25,"rgb(34,94,168)"],[.375,"rgb(29,145,192)"],[.5,"rgb(65,182,196)"],[.625,"rgb(127,205,187)"],[.75,"rgb(199,233,180)"],[.875,"rgb(237,248,217)"],[1,"rgb(255,255,217)"]],Greens:[[0,"rgb(0,68,27)"],[.125,"rgb(0,109,44)"],[.25,"rgb(35,139,69)"],[.375,"rgb(65,171,93)"],[.5,"rgb(116,196,118)"],[.625,"rgb(161,217,155)"],[.75,"rgb(199,233,192)"],[.875,"rgb(229,245,224)"],[1,"rgb(247,252,245)"]],YlOrRd:[[0,"rgb(128,0,38)"],[.125,"rgb(189,0,38)"],[.25,"rgb(227,26,28)"],[.375,"rgb(252,78,42)"],[.5,"rgb(253,141,60)"],[.625,"rgb(254,178,76)"],[.75,"rgb(254,217,118)"],[.875,"rgb(255,237,160)"],[1,"rgb(255,255,204)"]],Bluered:[[0,"rgb(0,0,255)"],[1,"rgb(255,0,0)"]],RdBu:[[0,"rgb(5,10,172)"],[.35,"rgb(106,137,247)"],[.5,"rgb(190,190,190)"],[.6,"rgb(220,170,132)"],[.7,"rgb(230,145,90)"],[1,"rgb(178,10,28)"]],Reds:[[0,"rgb(220,220,220)"],[.2,"rgb(245,195,157)"],[.4,"rgb(245,160,105)"],[1,"rgb(178,10,28)"]],Blues:[[0,"rgb(5,10,172)"],[.35,"rgb(40,60,190)"],[.5,"rgb(70,100,245)"],[.6,"rgb(90,120,245)"],[.7,"rgb(106,137,247)"],[1,"rgb(220,220,220)"]],Picnic:[[0,"rgb(0,0,255)"],[.1,"rgb(51,153,255)"],[.2,"rgb(102,204,255)"],[.3,"rgb(153,204,255)"],[.4,"rgb(204,204,255)"],[.5,"rgb(255,255,255)"],[.6,"rgb(255,204,255)"],[.7,"rgb(255,153,255)"],[.8,"rgb(255,102,204)"],[.9,"rgb(255,102,102)"],[1,"rgb(255,0,0)"]],Rainbow:[[0,"rgb(150,0,90)"],[.125,"rgb(0,0,200)"],[.25,"rgb(0,25,255)"],[.375,"rgb(0,152,255)"],[.5,"rgb(44,255,150)"],[.625,"rgb(151,255,0)"],[.75,"rgb(255,234,0)"],[.875,"rgb(255,111,0)"],[1,"rgb(255,0,0)"]],Portland:[[0,"rgb(12,51,131)"],[.25,"rgb(10,136,186)"],[.5,"rgb(242,211,56)"],[.75,"rgb(242,143,56)"],[1,"rgb(217,30,30)"]],Jet:[[0,"rgb(0,0,131)"],[.125,"rgb(0,60,170)"],[.375,"rgb(5,255,255)"],[.625,"rgb(255,255,0)"],[.875,"rgb(250,0,0)"],[1,"rgb(128,0,0)"]],Hot:[[0,"rgb(0,0,0)"],[.3,"rgb(230,0,0)"],[.6,"rgb(255,210,0)"],[1,"rgb(255,255,255)"]],Blackbody:[[0,"rgb(0,0,0)"],[.2,"rgb(230,0,0)"],[.4,"rgb(230,210,0)"],[.7,"rgb(255,255,255)"],[1,"rgb(160,200,255)"]],Earth:[[0,"rgb(0,0,130)"],[.1,"rgb(0,180,180)"],[.2,"rgb(40,210,40)"],[.4,"rgb(230,230,50)"],[.6,"rgb(120,70,20)"],[1,"rgb(255,255,255)"]],Electric:[[0,"rgb(0,0,0)"],[.15,"rgb(30,0,100)"],[.4,"rgb(120,0,100)"],[.6,"rgb(160,90,0)"],[.8,"rgb(230,200,0)"],[1,"rgb(255,250,220)"]],Viridis:[[0,"#440154"],[.06274509803921569,"#48186a"],[.12549019607843137,"#472d7b"],[.18823529411764706,"#424086"],[.25098039215686274,"#3b528b"],[.3137254901960784,"#33638d"],[.3764705882352941,"#2c728e"],[.4392156862745098,"#26828e"],[.5019607843137255,"#21918c"],[.5647058823529412,"#1fa088"],[.6274509803921569,"#28ae80"],[.6901960784313725,"#3fbc73"],[.7529411764705882,"#5ec962"],[.8156862745098039,"#84d44b"],[.8784313725490196,"#addc30"],[.9411764705882353,"#d8e219"],[1,"#fde725"]],Cividis:[[0,"rgb(0,32,76)"],[.058824,"rgb(0,42,102)"],[.117647,"rgb(0,52,110)"],[.176471,"rgb(39,63,108)"],[.235294,"rgb(60,74,107)"],[.294118,"rgb(76,85,107)"],[.352941,"rgb(91,95,109)"],[.411765,"rgb(104,106,112)"],[.470588,"rgb(117,117,117)"],[.529412,"rgb(131,129,120)"],[.588235,"rgb(146,140,120)"],[.647059,"rgb(161,152,118)"],[.705882,"rgb(176,165,114)"],[.764706,"rgb(192,177,109)"],[.823529,"rgb(209,191,102)"],[.882353,"rgb(225,204,92)"],[.941176,"rgb(243,219,79)"],[1,"rgb(255,233,69)"]]},w=v.RdBu;function S(t,a){if(a||(a=w),!t)return a;function r(){try{t=v[t]||JSON.parse(t)}catch{t=a}}return typeof t=="string"&&(r(),typeof t=="string"&&r()),l(t)?t:a}function l(t){var a=0;if(!Array.isArray(t)||t.length<2||!t[0]||!t[t.length-1]||+t[0][0]!=0||+t[t.length-1][0]!=1)return!1;for(var r=0;rpT});function pT(U,O="",u,v){let w=O+(u?"":"$"),S=v===!1?"":"^";return U==="xy"?new RegExp(S+"x"+e0+"y"+e0+w):new RegExp(S+U+e0+w)}var e0,ap=Pr({"src/lib/regex.ts"(){"use strict";e0="([2-9]|[1-9][0-9]+)?"}}),mT=xe({"src/lib/coerce.js"(U){"use strict";var O=yn(),u=oo().extendFlat,v=Rs(),w=hv(),S=wi(),l=fd().DESELECTDIM,e=Gs(),t=(ap(),Ta(dv)).counter,a=(Cd(),Ta(cu)).modHalf,r=rs().isArrayOrTypedArray,n=rs().isTypedArraySpec,i=rs().decodeTypedArraySpec;U.valObjectMeta={data_array:{coerceFunction:function(c,p,f){p.set(r(c)?c:n(c)?i(c):f)}},enumerated:{coerceFunction:function(c,p,f,d){d.coerceNumber&&(c=+c),d.values.indexOf(c)===-1?p.set(f):p.set(c)},validateFunction:function(c,p){p.coerceNumber&&(c=+c);for(var f=p.values,d=0;do===!0||o===!1;y(c)||d.arrayOk&&Array.isArray(c)&&c.length>0&&c.every(y)?p.set(c):p.set(f)}},number:{coerceFunction:function(c,p,f,d){n(c)&&(c=i(c)),!O(c)||d.min!==void 0&&cd.max?p.set(f):p.set(+c)}},integer:{coerceFunction:function(c,p,f,d){if((d.extras||[]).indexOf(c)!==-1){p.set(c);return}n(c)&&(c=i(c)),c%1||!O(c)||d.min!==void 0&&cd.max?p.set(f):p.set(+c)}},string:{coerceFunction:function(c,p,f,d){if(typeof c!="string"){var y=typeof c=="number";d.strict===!0||!y?p.set(f):p.set(String(c))}else d.noBlank&&!c?p.set(f):p.set(c)}},color:{coerceFunction:function(c,p,f){n(c)&&(c=i(c)),S.isValid(c)?p.set(c):p.set(f)}},colorlist:{coerceFunction:function(c,p,f){!Array.isArray(c)||!c.length?p.set(f):c.every(d=>S.isValid(d))?p.set(c):p.set(f)}},colorscale:{coerceFunction:function(c,p,f){p.set(w.get(c,f))}},angle:{coerceFunction:function(c,p,f){n(c)&&(c=i(c)),c==="auto"?p.set("auto"):O(c)?p.set(a(+c,360)):p.set(f)}},subplotid:{coerceFunction:function(c,p,f,d){var y=d.regex||t(f);let o=b=>typeof b=="string"&&y.test(b);o(c)||d.arrayOk&&r(c)&&c.length>0&&c.every(o)?p.set(c):p.set(f)},validateFunction:function(c,p){var f=p.dflt;return c===f?!0:typeof c!="string"?!1:!!t(f).test(c)}},flaglist:{coerceFunction:function(c,p,f,d){if((d.extras||[]).indexOf(c)!==-1){p.set(c);return}if(typeof c!="string"){p.set(f);return}for(var y=c.split("+"),o=0;oHr({valType:"string",dflt:"",editType:S},l!==!1?{arrayOk:!0}:{}),U.texttemplateAttrs=({editType:S="calc",arrayOk:l}={},e={})=>Hr({valType:"string",dflt:"",editType:S},l!==!1?{arrayOk:!0}:{}),U.shapeTexttemplateAttrs=({editType:S="arraydraw",newshape:l}={},e={})=>({valType:"string",dflt:"",editType:S}),U.templatefallbackAttrs=({editType:S="none"}={})=>({valType:"any",dflt:"-",editType:S})}}),jm=xe({"src/components/shapes/label_texttemplate.js"(U,O){"use strict";function u(A,E){return E?E.d2l(A):A}function v(A,E){return E?E.l2d(A):A}function w(A){return A.x0}function S(A){return A.x1}function l(A){return A.y0}function e(A){return A.y1}function t(A){return A.x0shift||0}function a(A){return A.x1shift||0}function r(A){return A.y0shift||0}function n(A){return A.y1shift||0}function i(A,E){return u(A.x1,E)+a(A)-u(A.x0,E)-t(A)}function s(A,E,g){return u(A.y1,g)+n(A)-u(A.y0,g)-r(A)}function c(A,E){return Math.abs(i(A,E))}function p(A,E,g){return Math.abs(s(A,E,g))}function f(A,E,g){return A.type!=="line"?void 0:Math.sqrt(Math.pow(i(A,E),2)+Math.pow(s(A,E,g),2))}function d(A,E){return v((u(A.x1,E)+a(A)+u(A.x0,E)+t(A))/2,E)}function y(A,E,g){return v((u(A.y1,g)+n(A)+u(A.y0,g)+r(A))/2,g)}function o(A,E,g){return A.type!=="line"?void 0:s(A,E,g)/i(A,E)}var b=["x0","x1","y0","y1","dy","height","ycenter"],M=["x0","x1","y0","y1","dx","width","xcenter"];O.exports={x0:w,x1:S,y0:l,y1:e,slope:o,dx:i,dy:s,width:c,height:p,length:f,xcenter:d,ycenter:y,simpleXVariables:b,simpleYVariables:M}}}),GT=xe({"src/components/shapes/draw_newshape/attributes.js"(U,O){"use strict";var u=Hl().overrideAll,v=Rs(),w=vl(),S=Rc().dash,l=oo().extendFlat,{shapeTexttemplateAttrs:e,templatefallbackAttrs:t}=js(),a=jm();O.exports=u({newshape:{visible:l({},v.visible,{}),showlegend:{valType:"boolean",dflt:!1},legend:l({},v.legend,{}),legendgroup:l({},v.legendgroup,{}),legendgrouptitle:{text:l({},v.legendgrouptitle.text,{}),font:w({})},legendrank:l({},v.legendrank,{}),legendwidth:l({},v.legendwidth,{}),line:{color:{valType:"color"},width:{valType:"number",min:0,dflt:4},dash:l({},S,{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:l({},v.name,{}),label:{text:{valType:"string",dflt:""},texttemplate:e({newshape:!0},{keys:Object.keys(a)}),texttemplatefallback:t({editType:"arraydraw"}),font:w({}),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")}}),WT=xe({"src/components/selections/draw_newselection/attributes.js"(U,O){"use strict";var u=Rc().dash,v=oo().extendFlat;O.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:v({},u,{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"}}}}),qm=xe({"src/plots/pad_attributes.js"(U,O){"use strict";O.exports=function(u){var v=u.editType;return{t:{valType:"number",dflt:0,editType:v},r:{valType:"number",dflt:0,editType:v},b:{valType:"number",dflt:0,editType:v},l:{valType:"number",dflt:0,editType:v},editType:v}}}}),np=xe({"src/plots/layout_attributes.js"(U,O){"use strict";var u=vl(),v=r0(),w=sc(),S=GT(),l=WT(),e=qm(),t=oo().extendFlat,a=u({editType:"calc"});a.family.dflt='"Open Sans", verdana, arial, sans-serif',a.size.dflt=12,a.color.dflt=w.defaultLine,O.exports={font:a,title:{text:{valType:"string",editType:"layoutstyle"},font:u({editType:"layoutstyle"}),subtitle:{text:{valType:"string",editType:"layoutstyle"},font:u({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:t(e({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:w.background,editType:"plot"},plot_bgcolor:{valType:"color",dflt:w.background,editType:"layoutstyle"},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc"},separators:{valType:"string",editType:"plot"},showlegend:{valType:"boolean",editType:"legend"},colorway:{valType:"colorlist",dflt:w.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:S.newshape,activeshape:S.activeshape,newselection:l.newselection,activeselection:l.activeselection,meta:{valType:"any",arrayOk:!0,editType:"plot"},transition:t({},v.transition,{editType:"none"})}}}),YT=xe({"node_modules/maplibre-gl/dist/maplibre-gl.css"(){(function(){if(!document.getElementById("ce8d464691048653ffe3a57c6c18ab566e8366f186677868cf724621a857b4fe")){var U=document.createElement("style");U.id="ce8d464691048653ffe3a57c6c18ab566e8366f186677868cf724621a857b4fe",U.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(U)}})()}}),Ci=xe({"src/registry.js"(U){"use strict";var O=cd(),u=Om(),v=e_(),w=t0().addStyleRule,S=oo(),l=Rs(),e=np(),t=S.extendFlat,a=S.extendDeepAll;U.modules={},U.allCategories={},U.allTypes=[],U.subplotsRegistry={},U.componentsRegistry={},U.layoutArrayContainers=[],U.layoutArrayRegexes=[],U.traceLayoutAttributes={},U.localeRegistry={},U.apiMethodRegistry={},U.collectableSubplotTypes=null,U.register=function(o){if(U.collectableSubplotTypes=null,o)o&&!Array.isArray(o)&&(o=[o]);else throw new Error("No argument passed to Plotly.register.");for(var b=0;b=o&&I<=b?I:l}if(typeof I!="string"&&typeof I!="number")return l;I=String(I);var N=d(z),q=I.charAt(0);N&&(q==="G"||q==="g")&&(I=I.slice(1),z="");var Y=N&&z.slice(0,7)==="chinese",ee=I.match(Y?p:c);if(!ee)return l;var te=ee[1],ae=ee[3]||"1",j=Number(ee[5]||1),G=Number(ee[7]||0),K=Number(ee[9]||0),H=Number(ee[11]||0);if(N){if(te.length===2)return l;te=Number(te);var Z;try{var X=i.getComponentMethod("calendars","getCal")(z);if(Y){var $=ae.charAt(ae.length-1)==="i";ae=parseInt(ae,10),Z=X.newDate(te,X.toMonthIndex(te,ae,$),j)}else Z=X.newDate(te,Number(ae),j)}catch{return l}return Z?(Z.toJD()-n)*e+G*t+K*a+H*r:l}te.length===2?te=(Number(te)+2e3-f)%100+f:te=Number(te),ae-=1;var Q=new Date(Date.UTC(2e3,ae,j,G,K));return Q.setUTCFullYear(te),Q.getUTCMonth()!==ae||Q.getUTCDate()!==j?l:Q.getTime()+H*r},o=U.MIN_MS=U.dateTime2ms("-9999"),b=U.MAX_MS=U.dateTime2ms("9999-12-31 23:59:59.9999"),U.isDateTime=function(I,z){return U.dateTime2ms(I,z)!==l};function M(I,z){return String(I+Math.pow(10,z)).slice(1)}var A=90*e,E=3*t,g=5*a;U.ms2DateTime=function(I,z,R){if(typeof I!="number"||!(I>=o&&I<=b))return l;z||(z=0);var k=Math.floor(w(I+.05,1)*10),B=Math.round(I-k/10),N,q,Y,ee,te,ae;if(d(R)){var j=Math.floor(B/e)+n,G=Math.floor(w(I,e));try{N=i.getComponentMethod("calendars","getCal")(R).fromJD(j).formatDate("yyyy-mm-dd")}catch{N=s("G%Y-%m-%d")(new Date(B))}if(N.charAt(0)==="-")for(;N.length<11;)N="-0"+N.slice(1);else for(;N.length<10;)N="0"+N;q=z=o+e&&I<=b-e))return l;var z=Math.floor(w(I+.05,1)*10),R=new Date(Math.round(I-z/10)),k=O("%Y-%m-%d")(R),B=R.getHours(),N=R.getMinutes(),q=R.getSeconds(),Y=R.getUTCMilliseconds()*10+z;return T(k,B,N,q,Y)};function T(I,z,R,k,B){if((z||R||k||B)&&(I+=" "+M(z,2)+":"+M(R,2),(k||B)&&(I+=":"+M(k,2),B))){for(var N=4;B%10===0;)N-=1,B/=10;I+="."+M(B,N)}return I}U.cleanDate=function(I,z,R){if(I===l)return z;if(U.isJSDate(I)||typeof I=="number"&&isFinite(I)){if(d(R))return v.error("JS Dates and milliseconds are incompatible with world calendars",I),z;if(I=U.ms2DateTimeLocal(+I),!I&&z!==void 0)return z}else if(!U.isDateTime(I,R))return v.error("unrecognized date",I),z;return I};var m=/%\d?f/g,h=/%h/g,x={1:"1",2:"1",3:"2",4:"2"};function _(I,z,R,k){I=I.replace(m,function(N){var q=Math.min(+N.charAt(1)||6,6),Y=(z/1e3%1+2).toFixed(q).slice(2).replace(/0+$/,"")||"0";return Y});var B=new Date(Math.floor(z+.05));if(I=I.replace(h,function(){return x[R("%q")(B)]}),d(k))try{I=i.getComponentMethod("calendars","worldCalFmt")(I,z,k)}catch{return"Invalid"}return R(I)(B)}var D=[59,59.9,59.99,59.999,59.9999];function C(I,z){var R=w(I+.05,e),k=M(Math.floor(R/t),2)+":"+M(w(Math.floor(R/a),60),2);if(z!=="M"){u(z)||(z=0);var B=Math.min(w(I/r,60),D[z]),N=(100+B).toFixed(z).slice(1);z>0&&(N=N.replace(/0+$/,"").replace(/[\.]$/,"")),k+=":"+N}return k}U.formatDate=function(I,z,R,k,B,N){if(B=d(B)&&B,!z)if(R==="y")z=N.year;else if(R==="m")z=N.month;else if(R==="d")z=N.dayMonth+` +`+N.year;else return C(I,R)+` +`+_(N.dayMonthYear,I,k,B);return _(z,I,k,B)};var F=3*e;U.incrementMonth=function(I,z,R){R=d(R)&&R;var k=w(I,e);if(I=Math.round(I-k),R)try{var B=Math.round(I/e)+n,N=i.getComponentMethod("calendars","getCal")(R),q=N.fromJD(B);return z%12?N.add(q,z,"m"):N.add(q,z/12,"y"),(q.toJD()-n)*e+k}catch{v.error("invalid ms "+I+" in calendar "+R)}var Y=new Date(I+F);return Y.setUTCMonth(Y.getUTCMonth()+z)+k-F},U.findExactDates=function(I,z){for(var R=0,k=0,B=0,N=0,q,Y,ee=d(z)&&i.getComponentMethod("calendars","getCal")(z),te=0;te1?(n[c-1]-n[0])/(c-1):1,d,y;for(f>=0?y=i?l:e:y=i?a:t,r+=f*S*(i?-1:1)*(f>=0?1:-1);s90&&u.log("Long binary search..."),s-1};function l(r,n){return rn}function a(r,n){return r>=n}U.sorterAsc=function(r,n){return r-n},U.sorterDes=function(r,n){return n-r},U.distinctVals=function(r){var n=r.slice();n.sort(U.sorterAsc);var i;for(i=n.length-1;i>-1&&n[i]===w;i--);for(var s=n[i]-n[0]||1,c=s/(i||1)/1e4,p=[],f,d=0;d<=i;d++){var y=n[d],o=y-f;f===void 0?(p.push(y),f=y):o>c&&(s=Math.min(s,o),p.push(y),f=y)}return{vals:p,minDiff:s}},U.roundUp=function(r,n,i){for(var s=0,c=n.length-1,p,f=0,d=i?0:1,y=i?1:0,o=i?Math.ceil:Math.floor;s0&&(s=1),i&&s)return r.sort(n)}return s?r:r.reverse()},U.findIndexOfMin=function(r,n){n=n||v;for(var i=1/0,s,c=0;cn_});function $T(U){return Object.keys(U).sort()}var n_,vv=Pr({"src/lib/sort_object_keys.ts"(){"use strict";n_=$T}}),ZT=xe({"src/lib/stats.js"(U){"use strict";var O=yn(),u=rs().isArrayOrTypedArray;U.aggNums=function(v,w,S,l){var e,t;if((!l||l>S.length)&&(l=S.length),O(w)||(w=!1),u(S[0])){for(t=new Array(l),e=0;ev.length-1)return v[v.length-1];var S=w%1;return S*v[Math.ceil(w)]+(1-S)*v[Math.floor(w)]}}}),KT=xe({"src/lib/angles.js"(U,O){"use strict";var u=(Cd(),Ta(cu)),v=u.mod,w=u.modHalf,S=Math.PI,l=2*S;function e(y){return y/180*S}function t(y){return y/S*180}function a(y){return Math.abs(y[1]-y[0])>l-1e-14}function r(y,o){return w(o-y,l)}function n(y,o){return Math.abs(r(y,o))}function i(y,o){if(a(o))return!0;var b,M;o[0]M&&(M+=l);var A=v(y,l),E=A+l;return A>=b&&A<=M||E>=b&&E<=M}function s(y,o,b,M){if(!i(o,M))return!1;var A,E;return b[0]=A&&y<=E}function c(y,o,b,M,A,E,g){A=A||0,E=E||0;var T=a([b,M]),m,h,x,_,D;T?(m=0,h=S,x=l):b1/3&&u.x<2/3},U.isRightAnchor=function(u){return u.xanchor==="right"||u.xanchor==="auto"&&u.x>=2/3},U.isTopAnchor=function(u){return u.yanchor==="top"||u.yanchor==="auto"&&u.y>=2/3},U.isMiddleAnchor=function(u){return u.yanchor==="middle"||u.yanchor==="auto"&&u.y>1/3&&u.y<2/3},U.isBottomAnchor=function(u){return u.yanchor==="bottom"||u.yanchor==="auto"&&u.y<=1/3}}}),QT=xe({"src/lib/geometry2d.js"(U){"use strict";var O=(Cd(),Ta(cu)).mod;U.segmentsIntersect=u;function u(e,t,a,r,n,i,s,c){var p=a-e,f=n-e,d=s-n,y=r-t,o=i-t,b=c-i,M=p*b-d*y;if(M===0)return null;var A=(f*b-d*o)/M,E=(f*y-p*o)/M;return E<0||E>1||A<0||A>1?null:{x:e+p*A,y:t+y*A}}U.segmentDistance=function(t,a,r,n,i,s,c,p){if(u(t,a,r,n,i,s,c,p))return 0;var f=r-t,d=n-a,y=c-i,o=p-s,b=f*f+d*d,M=y*y+o*o,A=Math.min(v(f,d,b,i-t,s-a),v(f,d,b,c-t,p-a),v(y,o,M,t-i,a-s),v(y,o,M,r-i,n-s));return Math.sqrt(A)};function v(e,t,a,r,n){var i=r*e+n*t;if(i<0)return r*r+n*n;if(i>a){var s=r-e,c=n-t;return s*s+c*c}else{var p=r*t-n*e;return p*p/a}}var w,S,l;U.getTextLocation=function(t,a,r,n){if((t!==S||n!==l)&&(w={},S=t,l=n),w[r])return w[r];var i=t.getPointAtLength(O(r-n/2,a)),s=t.getPointAtLength(O(r+n/2,a)),c=Math.atan((s.y-i.y)/(s.x-i.x)),p=t.getPointAtLength(O(r,a)),f=(p.x*4+i.x+s.x)/6,d=(p.y*4+i.y+s.y)/6,y={x:f,y:d,theta:c};return w[r]=y,y},U.clearLocationCache=function(){S=null},U.getVisibleSegment=function(t,a,r){var n=a.left,i=a.right,s=a.top,c=a.bottom,p=0,f=t.getTotalLength(),d=f,y,o;function b(A){var E=t.getPointAtLength(A);A===0?y=E:A===f&&(o=E);var g=E.xi?E.x-i:0,T=E.yc?E.y-c:0;return Math.sqrt(g*g+T*T)}for(var M=b(p);M;){if(p+=M+r,p>d)return;M=b(p)}for(M=b(d);M;){if(d-=M+r,p>d)return;M=b(d)}return{min:p,max:d,len:d-p,total:f,isClosed:p===0&&d===f&&Math.abs(y.x-o.x)<.1&&Math.abs(y.y-o.y)<.1}},U.findPointOnPath=function(t,a,r,n){n=n||{};for(var i=n.pathLength||t.getTotalLength(),s=n.tolerance||.001,c=n.iterationLimit||30,p=t.getPointAtLength(0)[r]>t.getPointAtLength(i)[r]?-1:1,f=0,d=0,y=i,o,b,M;f0?y=o:d=o,f++}return b}}}),Hm=xe({"src/lib/throttle.js"(U){"use strict";var O={};U.throttle=function(w,S,l){var e=O[w],t=Date.now();if(!e){for(var a in O)O[a].tse.ts+S){r();return}e.timer=setTimeout(function(){r(),e.timer=null},S)},U.done=function(v){var w=O[v];return!w||!w.timer?Promise.resolve():new Promise(function(S){var l=w.onDone;w.onDone=function(){l&&l(),S(),w.onDone=null}})},U.clear=function(v){if(v)u(O[v]),delete O[v];else for(var w in O)U.clear(w)};function u(v){v&&v.timer!==null&&(clearTimeout(v.timer),v.timer=null)}}}),eA=xe({"src/lib/clear_responsive.js"(U,O){"use strict";O.exports=function(v){v._responsiveChartHandler&&(window.removeEventListener("resize",v._responsiveChartHandler),delete v._responsiveChartHandler)}}}),tA=xe({"node_modules/is-mobile/index.js"(U,O){"use strict";O.exports=S,O.exports.isMobile=S,O.exports.default=S;var u=/(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,v=/CrOS/,w=/android|ipad|playbook|silk/i;function S(l){l||(l={});let e=l.ua;if(!e&&typeof navigator<"u"&&(e=navigator.userAgent),e&&e.headers&&typeof e.headers["user-agent"]=="string"&&(e=e.headers["user-agent"]),typeof e!="string")return!1;let t=u.test(e)&&!v.test(e)||!!l.tablet&&w.test(e);return!t&&l.tablet&&l.featureDetect&&navigator&&navigator.maxTouchPoints>1&&e.indexOf("Macintosh")!==-1&&e.indexOf("Safari")!==-1&&(t=!0),t}}}),rA=xe({"src/lib/preserve_drawing_buffer.js"(U,O){"use strict";var u=yn(),v=tA();O.exports=function(l){var e;if(l&&l.hasOwnProperty("userAgent")?e=l.userAgent:e=w(),typeof e!="string")return!0;var t=v({ua:{headers:{"user-agent":e}},tablet:!0,featureDetect:!1});if(!t)for(var a=e.split(" "),r=1;r-1;i--){var s=a[i];if(s.slice(0,8)==="Version/"){var c=s.slice(8).split(".")[0];if(u(c)&&(c=+c),c>=13)return!0}}}return t};function w(){var S;return typeof navigator<"u"&&(S=navigator.userAgent),S&&S.headers&&typeof S.headers["user-agent"]=="string"&&(S=S.headers["user-agent"]),S}}}),aA=xe({"src/lib/make_trace_groups.js"(U,O){"use strict";var u=Na();O.exports=function(w,S,l){var e=w.selectAll("g."+l.replace(/\s/g,".")).data(S,function(a){return a[0].trace.uid});e.exit().remove(),e.enter().append("g").attr("class",l),e.order();var t=w.classed("rangeplot")?"nodeRangePlot3":"node3";return e.each(function(a){a[0][t]=u.select(this)}),e}}}),nA=xe({"src/lib/localize.js"(U,O){"use strict";var u=Ci();O.exports=function(w,S){for(var l=w._context.locale,e=0;e<2;e++){for(var t=w._context.locales,a=0;a<2;a++){var r=(t[l]||{}).dictionary;if(r){var n=r[S];if(n)return n}t=u.localeRegistry}var i=l.split("-")[0];if(i===l)break;l=i}return S}}}),i_=xe({"src/lib/filter_unique.js"(U,O){"use strict";O.exports=function(v){for(var w={},S=[],l=0,e=0;e1?(S*v+S*w)/S:v+w,e=String(l).length;if(e>16){var t=String(w).length,a=String(v).length;if(e>=a+t){var r=parseFloat(l).toPrecision(12);r.indexOf("e+")===-1&&(l=+r)}}return l}}}),o_={};Xa(o_,{default:()=>c_});function sA(U){return typeof U=="string"&&(U=U.replace(u_,"")),(0,s_.default)(U)?Number(U):l_.BADNUM}var s_,l_,u_,c_,lA=Pr({"src/lib/clean_number.ts"(){"use strict";s_=da(yn()),l_=da(Gn()),u_=/^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g,c_=sA}}),uA=xe({"src/lib/slugify.js"(U,O){"use strict";var u=/<[^>]*>/g,v=/[\p{S}\p{P}]/gu,w=/[\p{Cc}\p{Cf}\uFE00-\uFE0F\u20E3]/gu,S=/�/g,l=/\s+/g,e="-",t=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),a=new RegExp(t+"{3,}","g"),r=new RegExp(t+"$","g"),n=60;function i(s){return typeof s.toWellFormed=="function"?s.toWellFormed():new TextDecoder().decode(new TextEncoder().encode(s))}O.exports=function(c,p=n){var f=i(c??"").replace(S,"").replace(u," ").replace(v,d=>d===e?d:"").toLowerCase().trim().replace(l,e).replace(w,"").replace(a,e);return f.length<=p?f:Array.from(f).slice(0,p).join("").replace(r,"")}}}),Sr=xe({"src/lib/index.js"(U,O){"use strict";var u=Na(),v=Ni().utcFormat,w=An().format,S=yn(),l=Gn(),e=l.FP_SAFE,t=-e,a=l.BADNUM,r=O.exports={};r.adjustFormat=function(X){return!X||/^\d[.]\df/.test(X)||/[.]\d%/.test(X)?X:X==="0.f"?"~f":/^\d%/.test(X)?"~%":/^\ds/.test(X)?"~s":!/^[~,.0$]/.test(X)&&/[&fps]/.test(X)?"~"+X:X};var n={};r.warnBadFormat=function(Z){var X=String(Z);n[X]||(n[X]=1,r.warn('encountered bad format: "'+X+'"'))},r.noFormat=function(Z){return String(Z)},r.numberFormat=function(Z){var X;try{X=w(r.adjustFormat(Z))}catch{return r.warnBadFormat(Z),r.noFormat}return X},r.nestedProperty=Gs(),r.keyedContainer=Pu(),r.relativeAttr=Vl(),r.isPlainObject=Us(),r.toLogRange=Fl(),r.relinkPrivateKeys=uu();var i=rs();r.isArrayBuffer=i.isArrayBuffer,r.isTypedArray=i.isTypedArray,r.isArrayOrTypedArray=i.isArrayOrTypedArray,r.isArray1D=i.isArray1D,r.ensureArray=i.ensureArray,r.concat=i.concat,r.maxRowLength=i.maxRowLength,r.minRowLength=i.minRowLength;var s=(Cd(),Ta(cu));r.mod=s.mod,r.modHalf=s.modHalf;var c=mT();r.valObjectMeta=c.valObjectMeta,r.coerce=c.coerce,r.coerce2=c.coerce2,r.coerceFont=c.coerceFont,r.coercePattern=c.coercePattern,r.coerceHoverinfo=c.coerceHoverinfo,r.coerceSelectionMarkerOpacity=c.coerceSelectionMarkerOpacity,r.validate=c.validate;var p=XT();r.dateTime2ms=p.dateTime2ms,r.isDateTime=p.isDateTime,r.ms2DateTime=p.ms2DateTime,r.ms2DateTimeLocal=p.ms2DateTimeLocal,r.cleanDate=p.cleanDate,r.isJSDate=p.isJSDate,r.formatDate=p.formatDate,r.incrementMonth=p.incrementMonth,r.dateTick0=p.dateTick0,r.dfltRange=p.dfltRange,r.findExactDates=p.findExactDates,r.MIN_MS=p.MIN_MS,r.MAX_MS=p.MAX_MS;var f=Vm();r.findBin=f.findBin,r.sorterAsc=f.sorterAsc,r.sorterDes=f.sorterDes,r.distinctVals=f.distinctVals,r.roundUp=f.roundUp,r.sort=f.sort,r.findIndexOfMin=f.findIndexOfMin,r.sortObjectKeys=(vv(),Ta(Id)).default;var d=ZT();r.aggNums=d.aggNums,r.len=d.len,r.mean=d.mean,r.geometricMean=d.geometricMean,r.median=d.median,r.midRange=d.midRange,r.variance=d.variance,r.stdev=d.stdev,r.interp=d.interp;var y=Um();r.init2dArray=y.init2dArray,r.transposeRagged=y.transposeRagged,r.dot=y.dot,r.translationMatrix=y.translationMatrix,r.rotationMatrix=y.rotationMatrix,r.rotationXYMatrix=y.rotationXYMatrix,r.apply3DTransform=y.apply3DTransform,r.apply2DTransform=y.apply2DTransform,r.apply2DTransform2=y.apply2DTransform2,r.convertCssMatrix=y.convertCssMatrix,r.inverseTransformMatrix=y.inverseTransformMatrix;var o=KT();r.deg2rad=o.deg2rad,r.rad2deg=o.rad2deg,r.angleDelta=o.angleDelta,r.angleDist=o.angleDist,r.isFullCircle=o.isFullCircle,r.isAngleInsideSector=o.isAngleInsideSector,r.isPtInsideSector=o.isPtInsideSector,r.pathArc=o.pathArc,r.pathSector=o.pathSector,r.pathAnnulus=o.pathAnnulus;var b=JT();r.isLeftAnchor=b.isLeftAnchor,r.isCenterAnchor=b.isCenterAnchor,r.isRightAnchor=b.isRightAnchor,r.isTopAnchor=b.isTopAnchor,r.isMiddleAnchor=b.isMiddleAnchor,r.isBottomAnchor=b.isBottomAnchor;var M=QT();r.segmentsIntersect=M.segmentsIntersect,r.segmentDistance=M.segmentDistance,r.getTextLocation=M.getTextLocation,r.clearLocationCache=M.clearLocationCache,r.getVisibleSegment=M.getVisibleSegment,r.findPointOnPath=M.findPointOnPath;var A=oo();r.extendFlat=A.extendFlat,r.extendDeep=A.extendDeep,r.extendDeepAll=A.extendDeepAll,r.extendDeepNoArrays=A.extendDeepNoArrays;var E=cd();r.log=E.log,r.warn=E.warn,r.error=E.error;var g=(ap(),Ta(dv));r.counterRegex=g.counter;var T=Hm();r.throttle=T.throttle,r.throttleDone=T.done,r.clearThrottle=T.clear;var m=t0();r.getGraphDiv=m.getGraphDiv,r.isPlotDiv=m.isPlotDiv,r.removeElement=m.removeElement,r.addStyleRule=m.addStyleRule,r.addRelatedStyleRule=m.addRelatedStyleRule,r.deleteRelatedStyleRule=m.deleteRelatedStyleRule,r.setStyleOnHover=m.setStyleOnHover,r.getFullTransformMatrix=m.getFullTransformMatrix,r.getElementTransformMatrix=m.getElementTransformMatrix,r.getElementAndAncestors=m.getElementAndAncestors,r.equalDomRects=m.equalDomRects,r.clearResponsive=eA(),r.preserveDrawingBuffer=rA(),r.makeTraceGroups=aA(),r._=nA(),r.notifier=Qy(),r.filterUnique=i_(),r.filterVisible=iA(),r.pushUnique=e_(),r.increment=oA(),r.cleanNumber=(lA(),Ta(o_)).default,r.slugify=uA(),r.ensureNumber=function(X){return S(X)?(X=Number(X),X>e||X=X?!1:S(Z)&&Z>=0&&Z%1===0},r.noop=Om(),r.identity=a0(),r.repeat=function(Z,X){for(var $=new Array(X),Q=0;Q$?Math.max($,Math.min(X,Z)):Math.max(X,Math.min($,Z))},r.bBoxIntersect=function(Z,X,$){return $=$||0,Z.left<=X.right+$&&X.left<=Z.right+$&&Z.top<=X.bottom+$&&X.top<=Z.bottom+$},r.simpleMap=function(Z,X,$,Q,re){for(var ue=Z.length,pe=new Array(ue),ge=0;ge=Math.pow(2,$)?re>10?(r.warn("randstr failed uniqueness"),pe):Z(X,$,Q,(re||0)+1):pe},r.OptionControl=function(Z,X){Z||(Z={}),X||(X="opt");var $={};return $.optionList=[],$._newoption=function(Q){Q[X]=Z,$[Q.name]=Q,$.optionList.push(Q)},$["_"+X]=Z,$},r.smooth=function(Z,X){if(X=Math.round(X)||0,X<2)return Z;var $=Z.length,Q=2*$,re=2*X-1,ue=new Array(re),pe=new Array($),ge,Te,Se,Ce;for(ge=0;ge=Q&&(Se-=Q*Math.floor(Se/Q)),Se<0?Se=-1-Se:Se>=$&&(Se=Q-1-Se),Ce+=Z[Se]*ue[Te];pe[ge]=Ce}return pe},r.syncOrAsync=function(Z,X,$){var Q,re;function ue(){return r.syncOrAsync(Z,X,$)}for(;Z.length;)if(re=Z.splice(0,1)[0],Q=re(X),Q&&Q.then)return Q.then(ue);return $&&$(X)},r.stripTrailingSlash=function(Z){return Z.slice(-1)==="/"?Z.slice(0,-1):Z},r.noneOrAll=function(Z,X,$){if(Z){var Q=!1,re=!0,ue,pe;for(ue=0;ue<$.length;ue++)pe=Z[$[ue]],pe!=null?Q=!0:re=!1;if(Q&&!re)for(ue=0;ue<$.length;ue++)Z[$[ue]]=X[$[ue]]}},r.mergeArray=function(Z,X,$,Q){var re=typeof Q=="function";if(r.isArrayOrTypedArray(Z))for(var ue=Math.min(Z.length,X.length),pe=0;pe0?re:0})},r.fillArray=function(Z,X,$,Q){if(Q=Q||r.identity,r.isArrayOrTypedArray(Z))for(var re=0;reD.test(window.navigator.userAgent);var C=/Firefox\/(\d+)\.\d+/;r.getFirefoxVersion=function(){var Z=C.exec(window.navigator.userAgent);if(Z&&Z.length===2){var X=parseInt(Z[1]);if(!isNaN(X))return X}return null},r.isD3Selection=function(Z){return Z instanceof u.selection},r.ensureSingle=function(Z,X,$,Q){var re=Z.select(X+($?"."+$:""));if(re.size())return re;var ue=Z.append(X);return $&&ue.classed($,!0),Q&&ue.call(Q),ue},r.ensureSingleById=function(Z,X,$,Q){var re=Z.select(X+"#"+$);if(re.size())return re;var ue=Z.append(X).attr("id",$);return Q&&ue.call(Q),ue},r.objectFromPath=function(Z,X){for(var $=Z.split("."),Q,re=Q={},ue=0;ue<$.length;ue++){var pe=$[ue],ge=null,Te=$[ue].match(/(.*)\[([0-9]+)\]/);Te?(pe=Te[1],ge=Te[2],Q=Q[pe]=[],ue===$.length-1?Q[ge]=X:Q[ge]={},Q=Q[ge]):(ue===$.length-1?Q[pe]=X:Q[pe]={},Q=Q[pe])}return re};var F=/^([^\[\.]+)\.(.+)?/,I=/^([^\.]+)\[([0-9]+)\](\.)?(.+)?/;function z(Z){return Z.slice(0,2)==="__"}r.expandObjectPaths=function(Z){var X,$,Q,re,ue,pe,ge;if(typeof Z=="object"&&!Array.isArray(Z)){for($ in Z)if(Z.hasOwnProperty($))if(X=$.match(F)){if(re=Z[$],Q=X[1],z(Q))continue;delete Z[$],Z[Q]=r.extendDeepNoArrays(Z[Q]||{},r.objectFromPath($,r.expandObjectPaths(re))[Q])}else if(X=$.match(I)){if(re=Z[$],Q=X[1],z(Q))continue;if(ue=parseInt(X[2]),delete Z[$],Z[Q]=Z[Q]||[],X[3]===".")ge=X[4],pe=Z[Q][ue]=Z[Q][ue]||{},r.extendDeepNoArrays(pe,r.objectFromPath(ge,r.expandObjectPaths(re)));else{if(z(Q))continue;Z[Q][ue]=r.expandObjectPaths(re)}}else{if(z($))continue;Z[$]=r.expandObjectPaths(Z[$])}}return Z},r.numSeparate=function(Z,X,$){if($||($=!1),typeof X!="string"||X.length===0)throw new Error("Separator string required for formatting!");typeof Z=="number"&&(Z=String(Z));var Q=/(\d+)(\d{3})/,re=X.charAt(0),ue=X.charAt(1),pe=Z.split("."),ge=pe[0],Te=pe.length>1?re+pe[1]:"";if(ue&&(pe.length>1||ge.length>4||$))for(;Q.test(ge);)ge=ge.replace(Q,"$1"+ue+"$2");return ge+Te},r.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var R=/^\w*$/;r.templateString=function(Z,X){var $={};return Z.replace(r.TEMPLATE_STRING_REGEX,function(Q,re){var ue;return R.test(re)?ue=X[re]:($[re]=$[re]||r.nestedProperty(X,re).get,ue=$[re](!0)),ue!==void 0?ue:""})};var k={max:10,count:0,name:"hovertemplate"};r.hovertemplateString=Z=>te(Rr(Hr({},Z),{opts:k}));var B={max:10,count:0,name:"texttemplate"};r.texttemplateString=Z=>te(Rr(Hr({},Z),{opts:B}));var N=/^(\S+)([\*\/])(-?\d+(\.\d+)?)$/;function q(Z){var X=Z.match(N);return X?{key:X[1],op:X[2],number:Number(X[3])}:{key:Z,op:null,number:null}}var Y={max:10,count:0,name:"texttemplate",parseMultDiv:!0};r.texttemplateStringForShapes=Z=>te(Rr(Hr({},Z),{opts:Y}));var ee=/^[:|\|]/;function te({data:Z=[],locale:X,fallback:$,labels:Q={},opts:re,template:ue}){return ue.replace(r.TEMPLATE_STRING_REGEX,(pe,ge,Te)=>{let Se=["xother","yother"].includes(ge),Ce=["_xother","_yother"].includes(ge),Ue=["_xother_","_yother_"].includes(ge),Oe=["xother_","yother_"].includes(ge),_e=Se||Ce||Oe||Ue;(Ce||Ue)&&(ge=ge.substring(1)),(Oe||Ue)&&(ge=ge.substring(0,ge.length-1));let ce=null,ie=null;if(re.parseMultDiv){var se=q(ge);ge=se.key,ce=se.op,ie=se.number}let ne;if(_e){if(Q[ge]===void 0)return"";ne=Q[ge]}else for(let Ne of Z)if(Ne){if(Ne.hasOwnProperty(ge)){ne=Ne[ge];break}if(R.test(ge)||(ne=r.nestedProperty(Ne,ge).get(!0)),ne!==void 0)break}if(ne===void 0){let{count:Ne,max:ut,name:ot}=re,yt=$===!1?pe:$;return Ne=ae&&pe<=j,Se=ge>=ae&&ge<=j;if(Te&&(Q=10*Q+pe-ae),Se&&(re=10*re+ge-ae),!Te||!Se){if(Q!==re)return Q-re;if(pe!==ge)return pe-ge}}return re-Q};var G=2e9;r.seedPseudoRandom=function(){G=2e9},r.pseudoRandom=function(){var Z=G;return G=(69069*G+1)%4294967296,Math.abs(G-Z)<429496729?r.pseudoRandom():G/4294967296},r.fillText=function(Z,X,$){var Q=Array.isArray($)?function(pe){$.push(pe)}:function(pe){$.text=pe},re=r.extractOption(Z,X,"htx","hovertext");if(r.isValidTextValue(re))return Q(re);var ue=r.extractOption(Z,X,"tx","text");if(r.isValidTextValue(ue))return Q(ue)},r.isValidTextValue=function(Z){return Z||Z===0},r.formatPercent=function(Z,X){X=X||0;for(var $=(Math.round(100*Z*Math.pow(10,X))*Math.pow(.1,X)).toFixed(X)+"%",Q=0;Q1&&(Se=1):Se=0,r.strTranslate(re-Se*($+pe),ue-Se*(Q+ge))+r.strScale(Se)+(Te?"rotate("+Te+(X?"":" "+$+" "+Q)+")":"")},r.setTransormAndDisplay=function(Z,X){Z.attr("transform",r.getTextTransform(X)),Z.style("display",X.scale?null:"none")},r.ensureUniformFontSize=function(Z,X){var $=r.extendFlat({},X);return $.size=Math.max(X.size,Z._fullLayout.uniformtext.minsize||0),$},r.join2=function(Z,X,$){var Q=Z.length;return Q>1?Z.slice(0,-1).join(X)+$+Z[Q-1]:Z.join(X)},r.bigFont=function(Z){return Math.round(1.2*Z)};var K=r.getFirefoxVersion(),H=K!==null&&K<86;r.getPositionFromD3Event=function(){return H?[u.event.layerX,u.event.layerY]:[u.event.offsetX,u.event.offsetY]}}}),cA=xe({"build/plotcss.js"(){"use strict";var U=Sr(),O={"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;","X .plotly-cloud-dialog":'font-family:"Open Sans",verdana,arial,sans-serif;position:absolute;top:0;left:0;width:100%;height:100%;z-index:1001;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,.4);',"X .plotly-cloud-dialog .plotly-cloud-dialog-box":"box-sizing:border-box;min-width:300px;max-width:420px;padding:20px 24px;background-color:#fff;border:1px solid #e0e2e5;border-radius:4px;box-shadow:0 4px 16px rgba(0,0,0,.25);font-size:13px;color:#2a3f5f;","X .plotly-cloud-dialog .plotly-cloud-dialog-title":"font-size:16px;font-weight:bold;margin-bottom:12px;","X .plotly-cloud-dialog .plotly-cloud-dialog-message":"line-height:1.5;overflow-wrap:break-word;word-wrap:break-word;","X .plotly-cloud-dialog .plotly-cloud-dialog-message--hostname":"font-weight:bold;","X .plotly-cloud-dialog .plotly-cloud-dialog-buttons":"display:flex;justify-content:flex-end;margin-top:20px;","X .plotly-cloud-dialog .plotly-cloud-dialog-btn":"font-family:inherit;font-size:13px;padding:7px 16px;margin-left:8px;border-radius:3px;border:1px solid rgba(0,0,0,0);cursor:pointer;","X .plotly-cloud-dialog .plotly-cloud-dialog-btn:focus-visible":"outline:2px solid #447adb;outline-offset:1px;","X .plotly-cloud-dialog .plotly-cloud-dialog-btn--cancel":"background-color:#f3f3f3;margin-left:auto;color:#777;","X .plotly-cloud-dialog .plotly-cloud-dialog-btn--cancel:hover":"background-color:#e0e2e5;","X .plotly-cloud-dialog .plotly-cloud-dialog-btn--confirm":"background-color:#447adb;color:#fff;","X .plotly-cloud-dialog .plotly-cloud-dialog-btn--confirm:hover":"background-color:#1d3b84;",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(v in O)u=v.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier"),U.addStyleRule(u,O[v]);var u,v}}),f_=xe({"node_modules/is-browser/client.js"(U,O){O.exports=!0}}),h_=xe({"node_modules/has-hover/index.js"(U,O){"use strict";var u=f_(),v;typeof window.matchMedia=="function"?v=!window.matchMedia("(hover: none)").matches:v=u,O.exports=v}}),pv=xe({"node_modules/events/events.js"(U,O){"use strict";var u=typeof Reflect=="object"?Reflect:null,v=u&&typeof u.apply=="function"?u.apply:function(E,g,T){return Function.prototype.apply.call(E,g,T)},w;u&&typeof u.ownKeys=="function"?w=u.ownKeys:Object.getOwnPropertySymbols?w=function(E){return Object.getOwnPropertyNames(E).concat(Object.getOwnPropertySymbols(E))}:w=function(E){return Object.getOwnPropertyNames(E)};function S(A){console&&console.warn&&console.warn(A)}var l=Number.isNaN||function(E){return E!==E};function e(){e.init.call(this)}O.exports=e,O.exports.once=o,e.EventEmitter=e,e.prototype._events=void 0,e.prototype._eventsCount=0,e.prototype._maxListeners=void 0;var t=10;function a(A){if(typeof A!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof A)}Object.defineProperty(e,"defaultMaxListeners",{enumerable:!0,get:function(){return t},set:function(A){if(typeof A!="number"||A<0||l(A))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+A+".");t=A}}),e.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},e.prototype.setMaxListeners=function(E){if(typeof E!="number"||E<0||l(E))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+E+".");return this._maxListeners=E,this};function r(A){return A._maxListeners===void 0?e.defaultMaxListeners:A._maxListeners}e.prototype.getMaxListeners=function(){return r(this)},e.prototype.emit=function(E){for(var g=[],T=1;T0&&(x=g[0]),x instanceof Error)throw x;var _=new Error("Unhandled error."+(x?" ("+x.message+")":""));throw _.context=x,_}var D=h[E];if(D===void 0)return!1;if(typeof D=="function")v(D,this,g);else for(var C=D.length,F=f(D,C),T=0;T0&&x.length>m&&!x.warned){x.warned=!0;var _=new Error("Possible EventEmitter memory leak detected. "+x.length+" "+String(E)+" listeners added. Use emitter.setMaxListeners() to increase limit");_.name="MaxListenersExceededWarning",_.emitter=A,_.type=E,_.count=x.length,S(_)}return A}e.prototype.addListener=function(E,g){return n(this,E,g,!1)},e.prototype.on=e.prototype.addListener,e.prototype.prependListener=function(E,g){return n(this,E,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,E,g){var T={fired:!1,wrapFn:void 0,target:A,type:E,listener:g},m=i.bind(T);return m.listener=g,T.wrapFn=m,m}e.prototype.once=function(E,g){return a(g),this.on(E,s(this,E,g)),this},e.prototype.prependOnceListener=function(E,g){return a(g),this.prependListener(E,s(this,E,g)),this},e.prototype.removeListener=function(E,g){var T,m,h,x,_;if(a(g),m=this._events,m===void 0)return this;if(T=m[E],T===void 0)return this;if(T===g||T.listener===g)--this._eventsCount===0?this._events=Object.create(null):(delete m[E],m.removeListener&&this.emit("removeListener",E,T.listener||g));else if(typeof T!="function"){for(h=-1,x=T.length-1;x>=0;x--)if(T[x]===g||T[x].listener===g){_=T[x].listener,h=x;break}if(h<0)return this;h===0?T.shift():d(T,h),T.length===1&&(m[E]=T[0]),m.removeListener!==void 0&&this.emit("removeListener",E,_||g)}return this},e.prototype.off=e.prototype.removeListener,e.prototype.removeAllListeners=function(E){var g,T,m;if(T=this._events,T===void 0)return this;if(T.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):T[E]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete T[E]),this;if(arguments.length===0){var h=Object.keys(T),x;for(m=0;m=0;m--)this.removeListener(E,g[m]);return this};function c(A,E,g){var T=A._events;if(T===void 0)return[];var m=T[E];return m===void 0?[]:typeof m=="function"?g?[m.listener||m]:[m]:g?y(m):f(m,m.length)}e.prototype.listeners=function(E){return c(this,E,!0)},e.prototype.rawListeners=function(E){return c(this,E,!1)},e.listenerCount=function(A,E){return typeof A.listenerCount=="function"?A.listenerCount(E):p.call(A,E)},e.prototype.listenerCount=p;function p(A){var E=this._events;if(E!==void 0){var g=E[A];if(typeof g=="function")return 1;if(g!==void 0)return g.length}return 0}e.prototype.eventNames=function(){return this._eventsCount>0?w(this._events):[]};function f(A,E){for(var g=new Array(E),T=0;T{},{passive:!0}),w},triggerHandler:function(w,S,l){var e,t=w._ev;if(!t)return;var a=t._events[S];if(!a)return;function r(i){if(i.listener){if(t.removeListener(S,i.listener),!i.fired)return i.fired=!0,i.listener.apply(t,[l])}else return i.apply(t,[l])}a=Array.isArray(a)?a:[a];var n;for(n=0;nv.queueLength&&(l.undoQueue.queue.shift(),l.undoQueue.index--)},S.startSequence=function(l){l.undoQueue=l.undoQueue||{index:0,queue:[],sequence:!1},l.undoQueue.sequence=!0,l.undoQueue.beginSequence=!0},S.stopSequence=function(l){l.undoQueue=l.undoQueue||{index:0,queue:[],sequence:!1},l.undoQueue.sequence=!1,l.undoQueue.beginSequence=!1},S.undo=function(e){var t,a;if(!(e.undoQueue===void 0||isNaN(e.undoQueue.index)||e.undoQueue.index<=0)){for(e.undoQueue.index--,t=e.undoQueue.queue[e.undoQueue.index],e.undoQueue.inSequence=!0,a=0;a=e.undoQueue.queue.length)){for(t=e.undoQueue.queue[e.undoQueue.index],e.undoQueue.inSequence=!0,a=0;a=k.length)return!1;if(C.dimensions===2){if(I++,F.length===I)return C;var B=F[I];if(!M(B))return!1;C=k[R][B]}else C=k[R]}else C=k}}return C}function M(C){return C===Math.round(C)&&C>=0}function A(C){var F,I;F=O.modules[C]._module,I=F.basePlotModule;var z={};z.type=null;var R=a({},v),k=a({},F.attributes);U.crawl(k,function(q,Y,ee,te,ae){i(R,ae).set(void 0),q===void 0&&i(k,ae).set(void 0)}),a(z,R),O.traceIs(C,"noOpacity")&&delete z.opacity,O.traceIs(C,"showLegend")||(delete z.showlegend,delete z.legendgroup),O.traceIs(C,"noHover")&&(delete z.hoverinfo,delete z.hoverlabel),F.selectPoints||delete z.selectedpoints,a(z,k),I.attributes&&a(z,I.attributes),z.type=C;var B={meta:F.meta||{},categories:F.categories||{},animatable:!!F.animatable,type:C,attributes:T(z)};if(F.layoutAttributes){var N={};a(N,F.layoutAttributes),B.layoutAttributes=T(N)}return F.animatable||U.crawl(B,function(q){U.isValObject(q)&&"anim"in q&&delete q.anim}),B}function E(){var C={},F,I;a(C,w);for(F in O.subplotsRegistry)if(I=O.subplotsRegistry[F],!!I.layoutAttributes)if(Array.isArray(I.attr))for(var z=0;z=r&&(a._input||{})._templateitemname;i&&(n=r);var s=t+"["+n+"]",c;function p(){c={},i&&(c[s]={},c[s][v]=i)}p();function f(b,M){c[b]=M}function d(b,M){i?O.nestedProperty(c[s],b).set(M):c[s+"."+b]=M}function y(){var b=c;return p(),b}function o(b,M){b&&d(b,M);var A=y();for(var E in A)O.nestedProperty(e,E).set(A[E])}return{modifyBase:f,modifyItem:d,getUpdateObj:y,applyUpdate:o}}}}),lc=xe({"src/plots/cartesian/constants.js"(U,O){"use strict";var u=(ap(),Ta(dv)).counter;O.exports={idRegex:{x:u("x","( domain)?"),y:u("y","( domain)?")},attrRegex:u("[xy]axis"),xAxisMatch:u("xaxis"),yAxisMatch:u("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"}}}),fu=xe({"src/plots/cartesian/axis_ids.js"(U){"use strict";var O=Ci(),u=lc();U.id2name=function(S){if(!(typeof S!="string"||!S.match(u.AX_ID_PATTERN))){var l=S.split(" ")[0].slice(1);return l==="1"&&(l=""),S.charAt(0)+"axis"+l}},U.name2id=function(S){if(S.match(u.AX_NAME_PATTERN)){var l=S.slice(5);return l==="1"&&(l=""),S.charAt(0)+l}},U.cleanId=function(S,l,e){var t=/( domain)$/.test(S);if(!(typeof S!="string"||!S.match(u.AX_ID_PATTERN))&&!(l&&S.charAt(0)!==l)&&!(t&&!e)){var a=S.split(" ")[0].slice(1).replace(/^0+/,"");return a==="1"&&(a=""),S.charAt(0)+a+(t&&e?" domain":"")}},U.list=function(w,S,l){var e=w._fullLayout;if(!e)return[];var t=U.listIds(w,S),a=new Array(t.length),r;for(r=0;re?1:-1:+(w.slice(1)||1)-+(S.slice(1)||1)},U.ref2id=function(w){return/^[xyz]/.test(w)?w.split(" ")[0]:!1};function v(w,S){if(S&&S.length){for(var l=0;l0?".":"")+i;u.isPlainObject(s)?e(s,a,c,n+1):a(c,i,s)}})}}}),zl=xe({"src/plots/plots.js"(U,O){"use strict";var u=Na(),v=Ni().timeFormatLocale,w=An().formatLocale,S=yn(),l=ys(),e=Ja().version,t=Ci(),a=op(),r=Cs(),n=Sr(),i=wi(),s=Gn().BADNUM,c=fu(),p=Dd().clearOutline,f=Gm(),d=r0(),y=d_(),o=df().getModuleCalcData,b=n.relinkPrivateKeys,M=n._,A=O.exports={};n.extendFlat(A,t),A.attributes=Rs(),A.attributes.type.values=A.allTypes,A.fontAttrs=vl(),A.layoutAttributes=np();var E=hA();A.executeAPICommand=E.executeAPICommand,A.computeAPICommandBindings=E.computeAPICommandBindings,A.manageCommandObserver=E.manageCommandObserver,A.hasSimpleAPICommandBindings=E.hasSimpleAPICommandBindings,A.redrawText=function(j){return j=n.getGraphDiv(j),new Promise(function(G){setTimeout(function(){j._fullLayout&&(t.getComponentMethod("annotations","draw")(j),t.getComponentMethod("legend","draw")(j),t.getComponentMethod("colorbar","draw")(j),G(A.previousPromises(j)))},300)})},A.resize=function(j){j=n.getGraphDiv(j);var G,K=new Promise(function(H,Z){(!j||n.isHidden(j))&&Z(new Error("Resize must be passed a displayed plot div element.")),j._redrawTimer&&clearTimeout(j._redrawTimer),j._resolveResize&&(G=j._resolveResize),j._resolveResize=H,j._redrawTimer=setTimeout(function(){if(!j.layout||j.layout.width&&j.layout.height||n.isHidden(j)){H(j);return}delete j.layout.width,delete j.layout.height;var X=j.changed;j.autoplay=!0,t.call("relayout",j,{autosize:!0}).then(function(){j.changed=X,j._resolveResize===H&&(delete j._resolveResize,H(j))})},100)});return G&&G(K),K},A.previousPromises=function(j){if((j._promises||[]).length)return Promise.all(j._promises).then(function(){j._promises=[]})},A.sendDataToCloud=function(j,G){j.emit("plotly_beforeexport");let K=new URL(G).origin;var H=A.graphJson(j,!1,"object");H.version=e;var Z=new URL(G);Z.searchParams.set("origin",window.location.origin);var X=window.open(Z.href,"_blank");if(!X){console.error("Unable to open Plotly Cloud (the popup may have been blocked)"),j.emit("plotly_exportfail");return}var $=function(Q){Q.origin===K&&Q.data&&Q.data.type==="CHART_AUTH_SUCCESS"&&(X.postMessage({type:"chart",chart:H},K),window.removeEventListener("message",$),j.emit("plotly_afterexport"))};return window.addEventListener("message",$),!1};var g=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],T=["year","month","dayMonth","dayMonthYear"];A.supplyDefaults=function(j,G){var K=G&&G.skipUpdateCalc,H=j._fullLayout||{};if(H._skipDefaults){delete H._skipDefaults;return}var Z=j._fullLayout={},X=j.layout||{},$=j._fullData||[],Q=j._fullData=[],re=j.data||[],ue=j.calcdata||[],pe=j._context||{},ge;j._transitionData||A.createTransitionData(j),Z._dfltTitle={plot:M(j,"Click to enter Plot title"),subtitle:M(j,"Click to enter Plot subtitle"),x:M(j,"Click to enter X axis title"),y:M(j,"Click to enter Y axis title"),colorbar:M(j,"Click to enter Colorscale title"),annotation:M(j,"new text")},Z._traceWord=M(j,"trace");var Te=x(j,g);if(H._initialAutoSizeIsDone){var Se=H.width,Ce=H.height;A.supplyLayoutGlobalDefaults(X,Z,Te),X.width||(Z.width=Se),X.height||(Z.height=Ce),A.sanitizeMargins(Z)}else{A.supplyLayoutGlobalDefaults(X,Z,Te);var Ue=!X.width||!X.height,Oe=Z.autosize,_e=pe.autosizable,ce=Ue&&(Oe||_e);ce?A.plotAutoSize(j,X,Z):Ue&&A.sanitizeMargins(Z),!Oe&&Ue&&(X.width=Z.width,X.height=Z.height)}Z._d3locale=_(Te,Z.separators),Z._extraFormat=x(j,T),Z._initialAutoSizeIsDone=!0,Z._dataLength=re.length,Z._modules=[],Z._visibleModules=[],Z._basePlotModules=[];var ie=Z._subplots=h(),se=Z._splomAxes={x:{},y:{}},ne=Z._splomSubplots={};Z._splomGridDflt={},Z._scatterStackOpts={},Z._firstScatter={},Z._alignmentOpts={},Z._colorAxes={},Z._requestRangeslider={},Z._traceUids=m($,re),A.supplyDataDefaults(re,Q,X,Z);var be=Object.keys(se.x),De=Object.keys(se.y);if(be.length>1&&De.length>1){for(t.getComponentMethod("grid","sizeDefaults")(X,Z),ge=0;ge15&&De.length>15&&Z.shapes.length===0&&Z.images.length===0,A.linkSubplots(Q,Z,$,H),A.cleanPlot(Q,Z,$,H);var yt=!!(H._has&&H._has("cartesian")),At=!!(Z._has&&Z._has("cartesian")),It=yt,Zt=At;It&&!Zt?H._bgLayer.remove():Zt&&!It&&(Z._shouldCreateBgLayer=!0),H._zoomlayer&&!j._dragging&&p({_fullLayout:H}),D(Q,Z),b(Z,H),t.getComponentMethod("colorscale","crossTraceDefaults")(Q,Z),Z._preGUI||(Z._preGUI={}),Z._tracePreGUI||(Z._tracePreGUI={});var vr=Z._tracePreGUI,Ut={},Jt;for(Jt in vr)Ut[Jt]="old";for(ge=0;ge0){var pe=1-2*X;$=Math.round(pe*$),Q=Math.round(pe*Q)}}var ge=A.layoutAttributes.width.min,Te=A.layoutAttributes.height.min;$1,Ce=!K.height&&Math.abs(H.height-Q)>1;(Ce||Se)&&(Se&&(H.width=$),Ce&&(H.height=Q)),G._initialAutoSize||(G._initialAutoSize={width:$,height:Q}),A.sanitizeMargins(H)},A.supplyLayoutModuleDefaults=function(j,G,K,H){var Z=t.componentsRegistry,X=G._basePlotModules,$,Q,re,ue=t.subplotsRegistry.cartesian;for($ in Z)re=Z[$],re.includeBasePlot&&re.includeBasePlot(j,G);X.length||X.push(ue),G._has("cartesian")&&(t.getComponentMethod("grid","contentDefaults")(j,G),ue.finalizeSubplots(j,G));for(var pe in G._subplots)G._subplots[pe].sort(n.subplotSort);for(Q=0;Q1&&(K.l/=Oe,K.r/=Oe)}if(Te){var _e=(K.t+K.b)/Te;_e>1&&(K.t/=_e,K.b/=_e)}var ce=K.xl!==void 0?K.xl:K.x,ie=K.xr!==void 0?K.xr:K.x,se=K.yt!==void 0?K.yt:K.y,ne=K.yb!==void 0?K.yb:K.y;Se[G]={l:{val:ce,size:K.l+Ue},r:{val:ie,size:K.r+Ue},b:{val:ne,size:K.b+Ue},t:{val:se,size:K.t+Ue}},Ce[G]=1}if(!H._replotting)return A.doAutoMargin(j)}};function k(j){if("_redrawFromAutoMarginCount"in j._fullLayout)return!1;var G=c.list(j,"",!0);for(var K in G)if(G[K].autoshift||G[K].shift)return!0;return!1}A.doAutoMargin=function(j){var G=j._fullLayout,K=G.width,H=G.height;G._size||(G._size={}),I(G);var Z=G._size,X=G.margin,$={t:0,b:0,l:0,r:0},Q=n.extendFlat({},Z),re=X.l,ue=X.r,pe=X.t,ge=X.b,Te=G._pushmargin,Se=G._pushmarginIds,Ce=G.minreducedwidth,Ue=G.minreducedheight;if(X.autoexpand!==!1){for(var Oe in Te)Se[Oe]||delete Te[Oe];var _e=j._fullLayout._reservedMargin;for(var ce in _e)for(var ie in _e[ce]){var se=_e[ce][ie];$[ie]=Math.max($[ie],se)}Te.base={l:{val:0,size:re},r:{val:1,size:ue},t:{val:1,size:pe},b:{val:0,size:ge}};for(var ne in $){var be=0;for(var De in Te)De!=="base"&&S(Te[De][ne].size)&&(be=Te[De][ne].size>be?Te[De][ne].size:be);var qe=Math.max(0,X[ne]-be);$[ne]=Math.max(0,$[ne]-qe)}for(var Ne in Te){var ut=Te[Ne].l||{},ot=Te[Ne].b||{},yt=ut.val,At=ut.size,It=ot.val,Zt=ot.size,vr=K-$.r-$.l,Ut=H-$.t-$.b;for(var Jt in Te){if(S(At)&&Te[Jt].r){var at=Te[Jt].r.val,Ee=Te[Jt].r.size;if(at>yt){var Re=(At*at+(Ee-vr)*yt)/(at-yt),he=(Ee*(1-yt)+(At-vr)*(1-at))/(at-yt);Re+he>re+ue&&(re=Re,ue=he)}}if(S(Zt)&&Te[Jt].t){var ye=Te[Jt].t.val,Ie=Te[Jt].t.size;if(ye>It){var Fe=(Zt*ye+(Ie-Ut)*It)/(ye-It),He=(Ie*(1-It)+(Zt-Ut)*(1-ye))/(ye-It);Fe+He>ge+pe&&(ge=Fe,pe=He)}}}}}var We=n.constrain(K-X.l-X.r,z,Ce),pt=n.constrain(H-X.t-X.b,R,Ue),ct=Math.max(0,K-We),ft=Math.max(0,H-pt);if(ct){var mt=(re+ue)/ct;mt>1&&(re/=mt,ue/=mt)}if(ft){var _t=(ge+pe)/ft;_t>1&&(ge/=_t,pe/=_t)}if(Z.l=Math.round(re)+$.l,Z.r=Math.round(ue)+$.r,Z.t=Math.round(pe)+$.t,Z.b=Math.round(ge)+$.b,Z.p=Math.round(X.pad),Z.w=Math.round(K)-Z.l-Z.r,Z.h=Math.round(H)-Z.t-Z.b,!G._replotting&&(A.didMarginChange(Q,Z)||k(j))){"_redrawFromAutoMarginCount"in G?G._redrawFromAutoMarginCount++:G._redrawFromAutoMarginCount=1;var Bt=3*(1+Object.keys(Se).length);if(G._redrawFromAutoMarginCount1)return!0}return!1},A.graphJson=function(j,G=!1,K="json",H=!1,Z=!1){(H&&G&&!j._fullData||H&&!G&&!j._fullLayout)&&A.supplyDefaults(j);var X=H?j._fullData:j.data,$=H?j._fullLayout:j.layout,Q=(j._transitionData||{})._frames;function re(ge,Te){if(typeof ge=="function")return Te?"_function_":null;if(n.isPlainObject(ge)){var Se={};return Object.keys(ge).sort().forEach(function(_e){if(["_","["].indexOf(_e.charAt(0))===-1){if(typeof ge[_e]=="function"){Te&&(Se[_e]="_function");return}Se[_e]=re(ge[_e],Te)}}),Se}var Ce=Array.isArray(ge),Ue=n.isTypedArray(ge);if((Ce||Ue)&&ge.dtype&&ge.shape){var Oe=ge.bdata;return re({dtype:ge.dtype,shape:ge.shape,bdata:n.isArrayBuffer(Oe)?l.encode(Oe):Oe},Te)}return Ce?ge.map(function(_e){return re(_e,Te)}):Ue?n.simpleMap(ge,n.identity):n.isJSDate(ge)?n.ms2DateTimeLocal(+ge):ge}var ue={data:(X||[]).map(function(ge){var Te=re(ge);return G&&delete Te.fit,Te})};if(!G&&(ue.layout=re($),H)){var pe=$._size;ue.layout.computed={margin:{b:pe.b,l:pe.l,r:pe.r,t:pe.t}}}return Q&&(ue.frames=re(Q)),Z&&(ue.config=re(j._context,!0)),K==="object"?ue:JSON.stringify(ue)},A.modifyFrames=function(j,G){var K,H,Z,X=j._transitionData._frames,$=j._transitionData._frameHash;for(K=0;K0&&(j._transitioningWithDuration=!0),j._transitionData._interruptCallbacks.push(function(){H=!0}),K.redraw&&j._transitionData._interruptCallbacks.push(function(){return t.call("redraw",j)}),j._transitionData._interruptCallbacks.push(function(){j.emit("plotly_transitioninterrupted",[])});var Te=0,Se=0;function Ce(){return Te++,function(){Se++,!H&&Se===Te&&Q(ge)}}K.runFn(Ce),setTimeout(Ce())})}function Q(ge){if(j._transitionData)return X(j._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(K.redraw)return t.call("redraw",j)}).then(function(){j._transitioning=!1,j._transitioningWithDuration=!1,j.emit("plotly_transitioned",[])}).then(ge)}function re(){if(j._transitionData)return j._transitioning=!1,Z(j._transitionData._interruptCallbacks)}var ue=[A.previousPromises,re,K.prepareFn,A.rehover,A.reselect,$],pe=n.syncOrAsync(ue,j);return(!pe||!pe.then)&&(pe=Promise.resolve()),pe.then(function(){return j})}A.doCalcdata=function(j,G){var K=c.list(j),H=j._fullData,Z=j._fullLayout,X,$,Q,re=new Array(H.length),ue=(j.calcdata||[]).slice();for(j.calcdata=re,Z._numBoxes=0,Z._numViolins=0,Z._violinScaleGroupStats={},j._hmpixcount=0,j._hmlumcount=0,Z._piecolormap={},Z._sunburstcolormap={},Z._treemapcolormap={},Z._iciclecolormap={},Z._funnelareacolormap={},Q=0;Qk?k.match(l):null;U.matchTex=e,U.convertToTspans=function(k,B,N){var q=k.text(),Y=!k.attr("data-notex")&&B&&B._context.typesetMath&&typeof MathJax<"u"&&e(q),ee=O.select(k.node().parentNode);if(ee.empty())return;var te=k.attr("class")?k.attr("class").split(" ")[0]:"text";te+="-math",ee.selectAll("svg."+te).remove(),ee.selectAll("g."+te+"-group").remove(),k.style("display",null).attr({"data-unformatted":q,"data-math":"N"});function ae(){ee.empty()||(te=k.attr("class")+"-math",ee.select("svg."+te).remove()),k.text("").style("white-space","pre");var j=F(k.node(),q);j&&k.style("pointer-events","all"),U.positionText(k),N&&N.call(k)}return Y?(B&&B._promises||[]).push(new Promise(function(j){k.style("display","none");var G=parseInt(k.node().style.fontSize,10),K={fontSize:G},H=k.attr("text-anchor");i(Y[2],K,function(Z,X,$){ee.selectAll("svg."+te).remove(),ee.selectAll("g."+te+"-group").remove();var Q=Z&&Z.select("svg");if(!Q||!Q.node()){ae(),j();return}k.style("display","none");var re=ee.append("g").classed(te+"-group",!0).attr({"pointer-events":"none","data-unformatted":q,"data-math":"Y"});re.node().appendChild(Q.node()),X&&X.node()&&Q.node().insertBefore(X.node().cloneNode(!0),Q.node().firstChild);var ue=$.width,pe=$.height;Q.attr({class:te,height:pe,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none","font-size":K.fontSize+"px"});var ge=k.node().style.fill||"black",Te=Q.select("g");Te.attr({fill:ge,stroke:ge});var Se=Te.node().getBoundingClientRect(),Ce=Se.width,Ue=Se.height;(Ce>ue||Ue>pe)&&(Q.style("overflow","hidden"),Se=Q.node().getBoundingClientRect(),Ce=Se.width,Ue=Se.height);var Oe=+k.attr("x"),_e=+k.attr("y"),ce=G||k.node().getBoundingClientRect().height,ie=-ce/4;te[0]==="y"?re.attr({transform:"rotate("+[-90,Oe,_e]+")"+v(-Ce/2,ie-Ue/2)}):te[0]==="l"?_e=ie-Ue/2:te[0]==="a"&&te.indexOf("atitle")!==0?(Oe=0,_e=ie):(Oe=Oe-Ce*(H==="middle"?.5:H==="end"?1:0),_e=_e+ie-Ue/2),Q.attr({x:Oe,y:_e}),N&&N.call(k,re),j(re)})})):ae(),k};var t=/(<|<|<)/g,a=/(>|>|>)/g;function r(k){return k.replace(t,"\\lt ").replace(a,"\\gt ")}var n=null;function i(k,B,N){let q=parseInt((MathJax.version||"").split(".")[0]);if(q!==3&&q!==4){u.warn("Unsupported MathJax version:",MathJax.version);return}var Y;let ee=function(){if(!n){let G=MathJax._.output.svg_ts.SVG,K=u.extendFlat({},MathJax.config.svg,{fontCache:"local"});q===4&&(K.linebreaks=u.extendFlat({},K.linebreaks,{inline:!1})),n=MathJax._.mathjax.mathjax.document(document,u.extendFlat({},MathJax.config.options,{InputJax:MathJax.startup.input,OutputJax:new G(K)}))}let ae="math-output-"+u.randstr({},64);Y=O.select("body").append("div").attr({id:ae}).style({visibility:"hidden",position:"absolute","font-size":B.fontSize+"px"});let j=r(k).replace(/^\$+|\$+$/g,"");return MathJax._.mathjax.mathjax.handleRetriesFor(function(){return n.convert(j,{display:!1})}).then(function(G){Y.node().appendChild(G)})},te=function(){let ae=Y.select(".MathJax"),j=!ae.empty()&&Y.select("svg").node();if(!j)u.log("There was an error in the tex syntax.",k),N();else{let G=j.getBoundingClientRect(),K=ae.select("defs");N(ae,K,G)}Y.remove()};Promise.resolve().then(ee).then(te).catch(ae=>{u.log("MathJax typesetting failed.",k,ae),Y&&Y.remove(),N()})}var s={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"},c={sub:"0.3em",sup:"-0.6em"},p={sub:"-0.21em",sup:"0.42em"},f="\u200B",d=["http:","https:","mailto:","",void 0,":"],y=U.NEWLINES=/(\r\n?|\n)/g,o=/(<[^<>]*>)/,b=/<(\/?)([^ >]*)(\s+(.*))?>/i,M=//i;U.BR_TAG_ALL=//gi;var A=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,E=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,g=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,T=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function m(k,B){if(!k)return null;var N=k.match(B),q=N&&(N[3]||N[4]);return q&&D(q)}var h=/(^|;)\s*color:/;U.plainText=function(k,B){B=B||{};for(var N=B.len!==void 0&&B.len!==-1?B.len:1/0,q=B.allowedTags!==void 0?B.allowedTags:["br"],Y="...",ee=Y.length,te=k.split(o),ae=[],j="",G=0,K=0;Kee?ae.push(H.slice(0,Math.max(0,Q-ee))+Y):ae.push(H.slice(0,Q));break}j=""}}return ae.join("")};var x={mu:"\u03BC",amp:"&",lt:"<",gt:">",nbsp:"\xA0",times:"\xD7",plusmn:"\xB1",deg:"\xB0"},_=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function D(k){return k.replace(_,function(B,N){var q;return N.charAt(0)==="#"?q=C(N.charAt(1)==="x"?parseInt(N.slice(2),16):parseInt(N.slice(1),10)):q=x[N],q||B})}U.convertEntities=D;function C(k){if(!(k>1114111)){var B=String.fromCodePoint;if(B)return B(k);var N=String.fromCharCode;return k<=65535?N(k):N((k>>10)+55232,k%1024+56320)}}function F(k,B){B=B.replace(y," ");var N=!1,q=[],Y,ee=-1;function te(){ee++;var Ce=document.createElementNS(w.svg,"tspan");O.select(Ce).attr({class:"line",dy:ee*S+"em"}),k.appendChild(Ce),Y=Ce;var Ue=q;if(q=[{node:Ce}],Ue.length>1)for(var Oe=1;Oe.",B);return}var Ue=q.pop();Ce!==Ue.type&&u.log("Start tag <"+Ue.type+"> doesnt match end tag <"+Ce+">. Pretending it did match.",B),Y=q[q.length-1].node}var K=M.test(B);K?te():(Y=k,q=[{node:k}]);for(var H=B.split(o),Z=0;Z=0;o--,b++){var M=f[o];y[b]=[1-M[0],M[1]]}return y}function s(f,d){d=d||{};for(var y=f.domain,o=f.range,b=o.length,M=new Array(b),A=0;Ad-p?p=d-(f-d):f-d=0?b=a.colorscale.sequential:b=a.colorscale.sequentialminus,s._sync("colorscale",b)}}}}),Bl=xe({"src/components/colorscale/index.js"(U,O){"use strict";var u=hv(),v=vf();O.exports={moduleType:"component",name:"colorscale",attributes:pl(),layoutAttributes:v_(),supplyLayoutDefaults:dA(),handleDefaults:Fc(),crossTraceDefaults:vA(),calc:xf(),scales:u.scales,defaultScale:u.defaultScale,getScale:u.get,isValidScale:u.isValid,hasColorscale:v.hasColorscale,extractOpts:v.extractOpts,extractScale:v.extractScale,flipScale:v.flipScale,makeColorScaleFunc:v.makeColorScaleFunc,makeColorScaleFuncFromTrace:v.makeColorScaleFuncFromTrace}}}),Cl=xe({"src/traces/scatter/subtypes.js"(U,O){"use strict";var u=Sr(),v=rs().isTypedArraySpec;O.exports={hasLines:function(w){return w.visible&&w.mode&&w.mode.indexOf("lines")!==-1},hasMarkers:function(w){return w.visible&&(w.mode&&w.mode.indexOf("markers")!==-1||w.type==="splom")},hasText:function(w){return w.visible&&w.mode&&w.mode.indexOf("text")!==-1},isBubble:function(w){var S=w.marker;return u.isPlainObject(S)&&(u.isArrayOrTypedArray(S.size)||v(S.size))}}}}),n0=xe({"src/traces/scatter/make_bubble_size_func.js"(U,O){"use strict";var u=yn();O.exports=function(w,S){S||(S=2);var l=w.marker,e=l.sizeref||1,t=l.sizemin||0,a=l.sizemode==="area"?function(r){return Math.sqrt(r/e)}:function(r){return r/e};return function(r){var n=a(r/S);return u(n)&&n>0?Math.max(n,t):0}}}}),Kf=xe({"src/components/fx/helpers.js"(U){"use strict";var O=Sr();U.getSubplot=function(e){return e.subplot||e.xaxis+e.yaxis||e.geo},U.isTraceInSubplots=function(e,t){if(e.type==="splom"){for(var a=e.xaxes||[],r=e.yaxes||[],n=0;n=0&&a.index2&&(t.push([r].concat(n.splice(0,2))),i="l",r=r=="m"?"l":"L");;){if(n.length==u[i])return n.unshift(r),t.push(n);if(n.length0&&(ie=100,ce=ce.replace("-open","")),ce.indexOf("-dot")>0&&(ie+=200,ce=ce.replace("-dot","")),ce=y.symbolNames.indexOf(ce),ce>=0&&(ce+=ie)}return ce%100>=T||ce>=400?0:Math.floor(Math.max(ce,0))};function h(ce,ie,se,ne){var be=ce%100;return y.symbolFuncs[be](ie,se,ne)+(ce>=200?m:"")}var x=w("~f"),_={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}};y.gradient=function(ce,ie,se,ne,be,De){var qe=_[ne];return D(ce,ie,se,qe.type,be,De,qe.start,qe.stop,!1,qe.reversed)};function D(ce,ie,se,ne,be,De,qe,Ne,ut,ot){var yt=be.length,At;ne==="linear"?At={node:"linearGradient",attrs:{x1:qe.x,y1:qe.y,x2:Ne.x,y2:Ne.y,gradientUnits:ut?"userSpaceOnUse":"objectBoundingBox"},reversed:ot}:ne==="radial"&&(At={node:"radialGradient",reversed:ot});for(var It=new Array(yt),Zt=0;Zt=0&&ce.i===void 0&&(ce.i=De.i),ie.style("opacity",ne.selectedOpacityFn?ne.selectedOpacityFn(ce):ce.mo===void 0?qe.opacity:ce.mo),ne.ms2mrc){var ut;ce.ms==="various"||qe.size==="various"?ut=3:ut=ne.ms2mrc(ce.ms),ce.mrc=ut,ne.selectedSizeFn&&(ut=ce.mrc=ne.selectedSizeFn(ce));var ot=y.symbolNumber(ce.mx||qe.symbol)||0;ce.om=ot%200>=100;var yt=_e(ce,se),At=$(ce,se);ie.attr("d",h(ot,ut,yt,At))}var It=!1,Zt,vr,Ut;if(ce.so)Ut=Ne.outlierwidth,vr=Ne.outliercolor,Zt=qe.outliercolor;else{var Jt=(Ne||{}).width;Ut=(ce.mlw+1||Jt+1||(ce.trace?(ce.trace.marker.line||{}).width:0)+1)-1||0,"mlc"in ce?vr=ce.mlcc=ne.lineScale(ce.mlc):v.isArrayOrTypedArray(Ne.color)?vr=e.defaultLine:vr=Ne.color,v.isArrayOrTypedArray(qe.color)&&(Zt=e.defaultLine,It=!0),"mc"in ce?Zt=ce.mcc=ne.markerScale(ce.mc):Zt=qe.color||qe.colors||"rgba(0,0,0,0)",ne.selectedColorFn&&(Zt=ne.selectedColorFn(ce))}let at=ce.mld||(Ne||{}).dash;if(at&&y.dashLine(ie,at,Ut),ce.om)ie.call(e.stroke,Zt).style({"stroke-width":(Ut||1)+"px",fill:"none"});else{ie.style("stroke-width",(ce.isBlank?0:Ut)+"px");var Ee=qe.gradient,Re=ce.mgt;Re?It=!0:Re=Ee&&Ee.type,v.isArrayOrTypedArray(Re)&&(Re=Re[0],_[Re]||(Re=0));var he=qe.pattern,ye=y.getPatternAttr,Ie=he&&(ye(he.shape,ce.i,"")||ye(he.path,ce.i,""));if(Re&&Re!=="none"){var Fe=ce.mgc;Fe?It=!0:Fe=Ee.color;var He=se.uid;It&&(He+="-"+ce.i),y.gradient(ie,be,He,Re,[[0,Fe],[1,Zt]],"fill")}else if(Ie){var We=!1,pt=he.fgcolor;!pt&&De&&De.color&&(pt=De.color,We=!0);var ct=ye(pt,ce.i,De&&De.color||null),ft=ye(he.bgcolor,ce.i,null),mt=he.fgopacity,_t=ye(he.size,ce.i,8),Bt=ye(he.solidity,ce.i,.3);We=We||ce.mcc||v.isArrayOrTypedArray(he.shape)||v.isArrayOrTypedArray(he.path)||v.isArrayOrTypedArray(he.bgcolor)||v.isArrayOrTypedArray(he.fgcolor)||v.isArrayOrTypedArray(he.size)||v.isArrayOrTypedArray(he.solidity);var Et=se.uid;We&&(Et+="-"+ce.i),y.pattern(ie,"point",be,Et,Ie,_t,Bt,ce.mcc,he.fillmode,ft,ct,mt)}else v.isArrayOrTypedArray(Zt)?e.fill(ie,Zt[ce.i]):e.fill(ie,Zt);Ut&&e.stroke(ie,vr)}},y.makePointStyleFns=function(ce){var ie={},se=ce.marker;return ie.markerScale=y.tryColorscale(se,""),ie.lineScale=y.tryColorscale(se,"line"),l.traceIs(ce,"symbols")&&(ie.ms2mrc=p.isBubble(ce)?f(ce):function(){return(se.size||6)/2}),ce.selectedpoints&&v.extendFlat(ie,y.makeSelectedPointStyleFns(ce)),ie},y.makeSelectedPointStyleFns=function(ce){var ie={},se=ce.selected||{},ne=ce.unselected||{},be=ce.marker||{},De=se.marker||{},qe=ne.marker||{},Ne=be.opacity,ut=De.opacity,ot=qe.opacity,yt=ut!==void 0,At=ot!==void 0;(v.isArrayOrTypedArray(Ne)||yt||At)&&(ie.selectedOpacityFn=function(he){var ye=he.mo===void 0?be.opacity:he.mo;return he.selected?yt?ut:ye:At?ot:c*ye});var It=be.color,Zt=De.color,vr=qe.color;(Zt||vr)&&(ie.selectedColorFn=function(he){var ye=he.mcc||It;return he.selected?Zt||ye:vr||ye});var Ut=be.size,Jt=De.size,at=qe.size,Ee=Jt!==void 0,Re=at!==void 0;return l.traceIs(ce,"symbols")&&(Ee||Re)&&(ie.selectedSizeFn=function(he){var ye=he.mrc||Ut/2;return he.selected?Ee?Jt/2:ye:Re?at/2:ye}),ie},y.makeSelectedTextStyleFns=function(ce){var ie={},se=ce.selected||{},ne=ce.unselected||{},be=ce.textfont||{},De=se.textfont||{},qe=ne.textfont||{},Ne=be.color,ut=De.color,ot=qe.color;return ie.selectedTextColorFn=function(yt){var At=yt.tc||Ne;return yt.selected?ut||At:ot||(ut?At:e.addOpacity(At,c))},ie},y.selectedPointStyle=function(ce,ie){if(!(!ce.size()||!ie.selectedpoints)){var se=y.makeSelectedPointStyleFns(ie),ne=ie.marker||{},be=[];se.selectedOpacityFn&&be.push(function(De,qe){De.style("opacity",se.selectedOpacityFn(qe))}),se.selectedColorFn&&be.push(function(De,qe){e.fill(De,se.selectedColorFn(qe))}),se.selectedSizeFn&&be.push(function(De,qe){var Ne=qe.mx||ne.symbol||0,ut=se.selectedSizeFn(qe);De.attr("d",h(y.symbolNumber(Ne),ut,_e(qe,ie),$(qe,ie))),qe.mrc2=ut}),be.length&&ce.each(function(De){for(var qe=u.select(this),Ne=0;Ne0?se:0}y.textPointStyle=function(ce,ie,se){if(ce.size()){var ne;if(ie.selectedpoints){var be=y.makeSelectedTextStyleFns(ie);ne=be.selectedTextColorFn}var De=ie.texttemplate,qe=se._fullLayout;ce.each(function(Ne){var ut=u.select(this),ot=De?v.extractOption(Ne,ie,"txt","texttemplate"):v.extractOption(Ne,ie,"tx","text");if(!ot&&ot!==0){ut.remove();return}if(De){var yt=ie._module.formatLabels,At=yt?yt(Ne,ie,qe):{},It={};d(It,ie,Ne.i),ot=v.texttemplateString({data:[It,Ne,ie._meta],fallback:ie.texttemplatefallback,labels:At,locale:qe._d3locale,template:ot})}var Zt=Ne.tp||ie.textposition,vr=I(Ne,ie),Ut=ne?ne(Ne):Ne.tc||ie.textfont.color;ut.call(y.font,{family:Ne.tf||ie.textfont.family,weight:Ne.tw||ie.textfont.weight,style:Ne.ty||ie.textfont.style,variant:Ne.tv||ie.textfont.variant,textcase:Ne.tC||ie.textfont.textcase,lineposition:Ne.tE||ie.textfont.lineposition,shadow:Ne.tS||ie.textfont.shadow,size:vr,color:Ut}).text(ot).call(r.convertToTspans,se).call(F,Zt,vr,Ne.mrc)})}},y.selectedTextStyle=function(ce,ie){if(!(!ce.size()||!ie.selectedpoints)){var se=y.makeSelectedTextStyleFns(ie);ce.each(function(ne){var be=u.select(this),De=se.selectedTextColorFn(ne),qe=ne.tp||ie.textposition,Ne=I(ne,ie);e.fill(be,De);var ut=l.traceIs(ie,"bar-like");F(be,qe,Ne,ne.mrc2||ne.mrc,ut)})}};var z=.5;y.smoothopen=function(ce,ie){if(ce.length<3)return"M"+ce.join("L");var se="M"+ce[0],ne=[],be;for(be=1;be=ut||he>=yt&&he<=ut)&&(ye<=At&&ye>=ot||ye>=At&&ye<=ot)&&(ce=[he,ye])}return ce}y.applyBackoff=ae,y.makeTester=function(){var ce=v.ensureSingleById(u.select("body"),"svg","js-plotly-tester",function(se){se.attr(n.svgAttrs).style({position:"absolute",left:"-10000px",top:"-10000px",width:"9000px",height:"9000px","z-index":"1"})}),ie=v.ensureSingle(ce,"path","js-reference-point",function(se){se.attr("d","M0,0H1V1H0Z").style({"stroke-width":0,fill:"black"})});y.tester=ce,y.testref=ie},y.savedBBoxes={};var j=0,G=1e4;y.bBox=function(ce,ie,se){se||(se=K(ce));var ne;if(se){if(ne=y.savedBBoxes[se],ne)return v.extendFlat({},ne)}else if(ce.childNodes.length===1){var be=ce.childNodes[0];if(se=K(be),se){var De=+be.getAttribute("x")||0,qe=+be.getAttribute("y")||0,Ne=be.getAttribute("transform");if(!Ne){var ut=y.bBox(be,!1,se);return De&&(ut.left+=De,ut.right+=De),qe&&(ut.top+=qe,ut.bottom+=qe),ut}if(se+="~"+De+"~"+qe+"~"+Ne,ne=y.savedBBoxes[se],ne)return v.extendFlat({},ne)}}var ot,yt;ie?ot=ce:(yt=y.tester.node(),ot=ce.cloneNode(!0),yt.appendChild(ot)),u.select(ot).attr("transform",null).call(r.positionText,0,0);var At=ot.getBoundingClientRect(),It=y.testref.node().getBoundingClientRect();ie||yt.removeChild(ot);var Zt={height:At.height,width:At.width,left:At.left-It.left,top:At.top-It.top,right:At.right-It.left,bottom:At.bottom-It.top};return j>=G&&(y.savedBBoxes={},j=0),se&&(y.savedBBoxes[se]=Zt),j++,v.extendFlat({},Zt)};function K(ce){var ie=ce.getAttribute("data-unformatted");if(ie!==null)return ie+ce.getAttribute("data-math")+ce.getAttribute("text-anchor")+ce.getAttribute("style")}y.setClipUrl=function(ce,ie,se){ce.attr("clip-path",H(ie,se))};function H(ce,ie){if(!ce)return null;var se=ie._context,ne=se._exportedPlot?"":se._baseUrl||"";return ne?"url('"+ne+"#"+ce+"')":"url(#"+ce+")"}y.getTranslate=function(ce){var ie=/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,se=ce.attr?"attr":"getAttribute",ne=ce[se]("transform")||"",be=ne.replace(ie,function(De,qe,Ne){return[qe,Ne].join(" ")}).split(" ");return{x:+be[0]||0,y:+be[1]||0}},y.setTranslate=function(ce,ie,se){var ne=/(\btranslate\(.*?\);?)/,be=ce.attr?"attr":"getAttribute",De=ce.attr?"attr":"setAttribute",qe=ce[be]("transform")||"";return ie=ie||0,se=se||0,qe=qe.replace(ne,"").trim(),qe+=a(ie,se),qe=qe.trim(),ce[De]("transform",qe),qe},y.getScale=function(ce){var ie=/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,se=ce.attr?"attr":"getAttribute",ne=ce[se]("transform")||"",be=ne.replace(ie,function(De,qe,Ne){return[qe,Ne].join(" ")}).split(" ");return{x:+be[0]||1,y:+be[1]||1}},y.setScale=function(ce,ie,se){var ne=/(\bscale\(.*?\);?)/,be=ce.attr?"attr":"getAttribute",De=ce.attr?"attr":"setAttribute",qe=ce[be]("transform")||"";return ie=ie||1,se=se||1,qe=qe.replace(ne,"").trim(),qe+="scale("+ie+","+se+")",qe=qe.trim(),ce[De]("transform",qe),qe};var Z=/\s*sc.*/;y.setPointGroupScale=function(ce,ie,se){if(ie=ie||1,se=se||1,!!ce){var ne=ie===1&&se===1?"":"scale("+ie+","+se+")";ce.each(function(){var be=(this.getAttribute("transform")||"").replace(Z,"");be+=ne,be=be.trim(),this.setAttribute("transform",be)})}};var X=/translate\([^)]*\)\s*$/;y.setTextPointsScale=function(ce,ie,se){ce&&ce.each(function(){var ne,be=u.select(this),De=be.select("text");if(De.node()){var qe=parseFloat(De.attr("x")||0),Ne=parseFloat(De.attr("y")||0),ut=(be.attr("transform")||"").match(X);ie===1&&se===1?ne=[]:ne=[a(qe,Ne),"scale("+ie+","+se+")",a(-qe,-Ne)],ut&&ne.push(ut),be.attr("transform",ne.join(""))}})};function $(ce,ie){var se;return ce&&(se=ce.mf),se===void 0&&(se=ie.marker&&ie.marker.standoff||0),!ie._geo&&!ie._xA?-se:se}y.getMarkerStandoff=$;var Q=Math.atan2,re=Math.cos,ue=Math.sin;function pe(ce,ie){var se=ie[0],ne=ie[1];return[se*re(ce)-ne*ue(ce),se*ue(ce)+ne*re(ce)]}var ge,Te,Se,Ce,Ue,Oe;function _e(ce,ie){var se=ce.ma;se===void 0&&(se=ie.marker.angle,(!S(se)||v.isArrayOrTypedArray(se))&&(se=0));var ne,be,De=ie.marker.angleref;if(De==="previous"||De==="north"){if(ie._geo){var qe=ie._geo.project(ce.lonlat);ne=qe[0],be=qe[1]}else{var Ne=ie._xA,ut=ie._yA;if(Ne&&ut)ne=Ne.c2p(ce.x),be=ut.c2p(ce.y);else return 90}if(ie._geo){var ot=ce.lonlat[0],yt=ce.lonlat[1],At=ie._geo.project([ot,yt+1e-5]),It=ie._geo.project([ot+1e-5,yt]),Zt=Q(It[1]-be,It[0]-ne),vr=Q(At[1]-be,At[0]-ne),Ut;if(De==="north")Ut=se/180*Math.PI;else if(De==="previous"){var Jt=ot/180*Math.PI,at=yt/180*Math.PI,Ee=ge/180*Math.PI,Re=Te/180*Math.PI,he=Ee-Jt,ye=re(Re)*ue(he),Ie=ue(Re)*re(at)-re(Re)*ue(at)*re(he);Ut=-Q(ye,Ie)-Math.PI,ge=ot,Te=yt}var Fe=pe(Zt,[re(Ut),0]),He=pe(vr,[ue(Ut),0]);se=Q(Fe[1]+He[1],Fe[0]+He[0])/Math.PI*180,De==="previous"&&!(Oe===ie.uid&&ce.i===Ue+1)&&(se=null)}if(De==="previous"&&!ie._geo)if(Oe===ie.uid&&ce.i===Ue+1&&S(ne)&&S(be)){var We=ne-Se,pt=be-Ce,ct=ie.line&&ie.line.shape||"",ft=ct.slice(ct.length-1);ft==="h"&&(pt=0),ft==="v"&&(We=0),se+=Q(pt,We)/Math.PI*180+90}else se=null}return Se=ne,Ce=be,Ue=ce.i,Oe=ie.uid,se}y.getMarkerAngle=_e}}),gv=xe({"src/components/titles/index.js"(U,O){"use strict";var u=Na(),v=yn(),w=zl(),S=Ci(),l=Sr(),e=l.strTranslate,t=go(),a=wi(),r=el(),n=fd(),i=uc().OPPOSITE_SIDE,s=/ [XY][0-9]* /,c=1.6,p=1.6;function f(d,y,o){var b=d._fullLayout,M=o.propContainer,A=o.propName,E=o.placeholder,g=o.traceIndex,T=o.avoid||{},m=o.attributes,h=o.transform,x=o.containerGroup,_=1,D=M.title,C=(D&&D.text?D.text:"").trim(),F=!1,I=D&&D.font?D.font:{},z=I.family,R=I.size,k=I.color,B=I.weight,N=I.style,q=I.variant,Y=I.textcase,ee=I.lineposition,te=I.shadow,ae=o.subtitlePropName,j=!!ae,G=o.subtitlePlaceholder,K=(M.title||{}).subtitle||{text:"",font:{}},H=(K.text||"").trim(),Z=!1,X=1,$=K.font,Q=$.family,re=$.size,ue=$.color,pe=$.weight,ge=$.style,Te=$.variant,Se=$.textcase,Ce=$.lineposition,Ue=$.shadow,Oe;A==="title.text"?Oe="titleText":A.indexOf("axis")!==-1?Oe="axisTitleText":A.indexOf("colorbar")!==-1&&(Oe="colorbarTitleText");var _e=d._context.edits[Oe];function ce(Zt,vr){return Zt===void 0||vr===void 0?!1:Zt.replace(s," % ")===vr.replace(s," % ")}C===""?_=0:ce(C,E)&&(_e||(C=""),_=.2,F=!0),j&&(H===""?X=0:ce(H,G)&&(_e||(H=""),X=.2,Z=!0)),o._meta?C=l.templateString(C,o._meta):b._meta&&(C=l.templateString(C,b._meta));var ie=C||H||_e,se;x||(x=l.ensureSingle(b._infolayer,"g","g-"+y),se=b._hColorbarMoveTitle);var ne=x.selectAll("text."+y).data(ie?[0]:[]);ne.enter().append("text"),ne.text(C).attr("class",y),ne.exit().remove();var be=null,De=y+"-subtitle",qe=H||_e;if(j&&(be=x.selectAll("text."+De).data(qe?[0]:[]),be.enter().append("text"),be.text(H).attr("class",De),be.exit().remove()),!ie)return x;function Ne(Zt,vr){l.syncOrAsync([ut,ot],{title:Zt,subtitle:vr})}function ut(Zt){var vr=Zt.title,Ut=Zt.subtitle,Jt;!h&&se&&(h={}),h?(Jt="",h.rotate&&(Jt+="rotate("+[h.rotate,m.x,m.y]+")"),(h.offset||se)&&(Jt+=e(0,(h.offset||0)-(se||0)))):Jt=null,vr.attr("transform",Jt);function at(Fe){if(Fe){var He=u.select(Fe.node().parentNode).select("."+De);if(!He.empty()){var We=Fe.node().getBBox();if(We.height){var pt=We.y+We.height+c*re;He.attr("y",pt)}}}}if(vr.style("opacity",_*a.opacity(k)).call(t.font,{color:a.rgb(k),size:u.round(R,2),family:z,weight:B,style:N,variant:q,textcase:Y,shadow:te,lineposition:ee}).attr(m).call(r.convertToTspans,d,at),Ut&&!Ut.empty()){var Ee=x.select("."+y+"-math-group"),Re=vr.node().getBBox(),he=Ee.node()?Ee.node().getBBox():void 0,ye=he?he.y+he.height+c*re:Re.y+Re.height+p*re,Ie=l.extendFlat({},m,{y:ye});Ut.attr("transform",Jt),Ut.style("opacity",X*a.opacity(ue)).call(t.font,{color:a.rgb(ue),size:u.round(re,2),family:Q,weight:pe,style:ge,variant:Te,textcase:Se,shadow:Ue,lineposition:Ce}).attr(Ie).call(r.convertToTspans,d)}return w.previousPromises(d)}function ot(Zt){var vr=Zt.title,Ut=u.select(vr.node().parentNode);if(T&&T.selection&&T.side&&C){Ut.attr("transform",null);var Jt=i[T.side],at=T.side==="left"||T.side==="top"?-1:1,Ee=v(T.pad)?T.pad:2,Re=t.bBox(Ut.node()),he={t:0,b:0,l:0,r:0},ye=d._fullLayout._reservedMargin;for(var Ie in ye)for(var Fe in ye[Ie]){var He=ye[Ie][Fe];he[Fe]=Math.max(he[Fe],He)}var We={left:he.l,top:he.t,right:b.width-he.r,bottom:b.height-he.b},pt=T.maxShift||at*(We[T.side]-Re[T.side]),ct=0;if(pt<0)ct=pt;else{var ft=T.offsetLeft||0,mt=T.offsetTop||0;Re.left-=ft,Re.right-=ft,Re.top-=mt,Re.bottom-=mt,T.selection.each(function(){var Bt=t.bBox(this);l.bBoxIntersect(Re,Bt,Ee)&&(ct=Math.max(ct,at*(Bt[T.side]-Re[Jt])+Ee))}),ct=Math.min(pt,ct),M._titleScoot=Math.abs(ct)}if(ct>0||pt<0){var _t={left:[-ct,0],right:[ct,0],top:[0,-ct],bottom:[0,ct]}[T.side];Ut.attr("transform",e(_t[0],_t[1]))}}}ne.call(Ne,be);function yt(Zt,vr){Zt.text(vr).on("mouseover.opacity",function(){u.select(this).transition().duration(n.SHOW_PLACEHOLDER).style("opacity",1)}).on("mouseout.opacity",function(){u.select(this).transition().duration(n.HIDE_PLACEHOLDER).style("opacity",0)})}if(_e&&(C?ne.on(".opacity",null):(yt(ne,E),F=!0),ne.call(r.makeEditable,{gd:d}).on("edit",function(Zt){g!==void 0?S.call("_guiRestyle",d,A,Zt,g):S.call("_guiRelayout",d,A,Zt)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(Ne)}).on("input",function(Zt){this.text(Zt||" ").call(r.positionText,m.x,m.y)}),j)){if(j&&!C){var At=ne.node().getBBox(),It=At.y+At.height+p*re;be.attr("y",It)}H?be.on(".opacity",null):(yt(be,G),Z=!0),be.call(r.makeEditable,{gd:d}).on("edit",function(Zt){S.call("_guiRelayout",d,"title.subtitle.text",Zt)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(Ne)}).on("input",function(Zt){this.text(Zt||" ").call(r.positionText,be.attr("x"),be.attr("y"))})}return ne.classed("js-placeholder",F),be&&!be.empty()&&be.classed("js-placeholder",Z),x}O.exports={draw:f,SUBTITLE_PADDING_EM:p,SUBTITLE_PADDING_MATHJAX_EM:c}}}),Oh=xe({"src/plots/cartesian/set_convert.js"(U,O){"use strict";var u=Na(),v=Ni().utcFormat,w=Sr(),S=w.numberFormat,l=yn(),e=w.cleanNumber,t=w.ms2DateTime,a=w.dateTime2ms,r=w.ensureNumber,n=w.isArrayOrTypedArray,i=Gn(),s=i.FP_SAFE,c=i.BADNUM,p=i.LOG_CLIP,f=i.ONEWEEK,d=i.ONEDAY,y=i.ONEHOUR,o=i.ONEMIN,b=i.ONESEC,M=fu(),A=lc(),E=A.HOUR_PATTERN,g=A.WEEKDAY_PATTERN;function T(h){return Math.pow(10,h)}function m(h){return h!=null}O.exports=function(x,_){_=_||{};var D=x._id||"x",C=D.charAt(0);function F(H,Z){if(H>0)return Math.log(H)/Math.LN10;if(H<=0&&Z&&x.range&&x.range.length===2){var X=x.range[0],$=x.range[1];return .5*(X+$-2*p*Math.abs(X-$))}else return c}function I(H,Z,X,$){if(($||{}).msUTC&&l(H))return+H;var Q=a(H,X||x.calendar);if(Q===c)if(l(H)){H=+H;var re=Math.floor(w.mod(H+.05,1)*10),ue=Math.round(H-re/10);Q=a(new Date(ue))+re/10}else return c;return Q}function z(H,Z,X){return t(H,Z,X||x.calendar)}function R(H){return x._categories[Math.round(H)]}function k(H){if(m(H)){if(x._categoriesMap===void 0&&(x._categoriesMap={}),x._categoriesMap[H]!==void 0)return x._categoriesMap[H];x._categories.push(typeof H=="number"?String(H):H);var Z=x._categories.length-1;return x._categoriesMap[H]=Z,Z}return c}function B(H,Z){for(var X=new Array(Z),$=0;$x.range[1]&&(X=!X);for(var $=X?-1:1,Q=$*H,re=0,ue=0;uege)re=ue+1;else{re=Q<(pe+ge)/2?ue:ue+1;break}}var Te=x._B[re]||0;return isFinite(Te)?ee(H,x._m2,Te):0},j=function(H){var Z=x._rangebreaks.length;if(!Z)return te(H,x._m,x._b);for(var X=0,$=0;$x._rangebreaks[$].pmax&&(X=$+1);return te(H,x._m2,x._B[X])}}x.c2l=x.type==="log"?F:r,x.l2c=x.type==="log"?T:r,x.l2p=ae,x.p2l=j,x.c2p=x.type==="log"?function(H,Z){return ae(F(H,Z))}:ae,x.p2c=x.type==="log"?function(H){return T(j(H))}:j,["linear","-"].indexOf(x.type)!==-1?(x.d2r=x.r2d=x.d2c=x.r2c=x.d2l=x.r2l=e,x.c2d=x.c2r=x.l2d=x.l2r=r,x.d2p=x.r2p=function(H){return x.l2p(e(H))},x.p2d=x.p2r=j,x.cleanPos=r):x.type==="log"?(x.d2r=x.d2l=function(H,Z){return F(e(H),Z)},x.r2d=x.r2c=function(H){return T(e(H))},x.d2c=x.r2l=e,x.c2d=x.l2r=r,x.c2r=F,x.l2d=T,x.d2p=function(H,Z){return x.l2p(x.d2r(H,Z))},x.p2d=function(H){return T(j(H))},x.r2p=function(H){return x.l2p(e(H))},x.p2r=j,x.cleanPos=r):x.type==="date"?(x.d2r=x.r2d=w.identity,x.d2c=x.r2c=x.d2l=x.r2l=I,x.c2d=x.c2r=x.l2d=x.l2r=z,x.d2p=x.r2p=function(H,Z,X){return x.l2p(I(H,0,X))},x.p2d=x.p2r=function(H,Z,X){return z(j(H),Z,X)},x.cleanPos=function(H){return w.cleanDate(H,c,x.calendar)}):x.type==="category"?(x.d2c=x.d2l=k,x.r2d=x.c2d=x.l2d=R,x.d2r=x.d2l_noadd=q,x.r2c=function(H){var Z=Y(H);return Z!==void 0?Z:x.fraction2r(.5)},x.l2r=x.c2r=r,x.r2l=Y,x.d2p=function(H){return x.l2p(x.r2c(H))},x.p2d=function(H){return R(j(H))},x.r2p=x.d2p,x.p2r=j,x.cleanPos=function(H){return typeof H=="string"&&H!==""?H:r(H)}):x.type==="multicategory"&&(x.r2d=x.c2d=x.l2d=R,x.d2r=x.d2l_noadd=q,x.r2c=function(H){var Z=q(H);return Z!==void 0?Z:x.fraction2r(.5)},x.r2c_just_indices=N,x.l2r=x.c2r=r,x.r2l=q,x.d2p=function(H){return x.l2p(x.r2c(H))},x.p2d=function(H){return R(j(H))},x.r2p=x.d2p,x.p2r=j,x.cleanPos=function(H){return Array.isArray(H)||typeof H=="string"&&H!==""?H:r(H)},x.setupMultiCategory=function(H){var Z=x._traceIndices,X,$,Q=x._matchGroup;if(Q&&x._categories.length===0){for(var re in Q)if(re!==D){var ue=_[M.id2name(re)];Z=Z.concat(ue._traceIndices)}}var pe=[[0,{}],[0,{}]],ge=[];for(X=0;Xue[1]&&($[re?0:1]=X,Q[1]=ue[1]),Q[0]>=Q[1])if(Z!==void 0){var pe=ue[0]+1;X!==void 0&&(pe=Math.min(pe,ue[1])),$[re?0:1]=x.l2r(pe)}else X!==void 0&&($[re?1:0]=x.l2r(ue[1]-1))}},x.cleanRange=function(H,Z){x._cleanRange(H,Z),x.limitRange(H)},x._cleanRange=function(H,Z){Z||(Z={}),H||(H="range");var X=w.nestedProperty(x,H).get(),$,Q;if(x.type==="date"?Q=w.dfltRange(x.calendar):C==="y"?Q=A.DFLTRANGEY:x._name==="realaxis"?Q=[0,1]:Q=Z.dfltRange||A.DFLTRANGEX,Q=Q.slice(),(x.rangemode==="tozero"||x.rangemode==="nonnegative")&&(Q[0]=0),!X||X.length!==2){w.nestedProperty(x,H).set(Q);return}var re=X[0]===null,ue=X[1]===null;for(x.type==="date"&&!x.autorange&&(X[0]=w.cleanDate(X[0],c,x.calendar),X[1]=w.cleanDate(X[1],c,x.calendar)),$=0;$<2;$++)if(x.type==="date"){if(!w.isDateTime(X[$],x.calendar)){x[H]=Q;break}if(x.r2l(X[0])===x.r2l(X[1])){var pe=w.constrain(x.r2l(X[0]),w.MIN_MS+1e3,w.MAX_MS-1e3);X[0]=x.l2r(pe-1e3),X[1]=x.l2r(pe+1e3);break}}else{if(!l(X[$]))if(!(re||ue)&&l(X[1-$]))X[$]=X[1-$]*($?10:.1);else{x[H]=Q;break}if(X[$]<-s?X[$]=-s:X[$]>s&&(X[$]=s),X[0]===X[1]){var ge=Math.max(1,Math.abs(X[0]*1e-6));X[0]-=ge,X[1]+=ge}}},x.setScale=function(H){var Z=_._size;if(x.overlaying){var X=M.getFromId({_fullLayout:_},x.overlaying);x.domain=X.domain}var $=H&&x._r?"_r":"range",Q=x.calendar;x.cleanRange($);var re=x.r2l(x[$][0],Q),ue=x.r2l(x[$][1],Q),pe=C==="y";if(pe?(x._offset=Z.t+(1-x.domain[1])*Z.h,x._length=Z.h*(x.domain[1]-x.domain[0]),x._m=x._length/(re-ue),x._b=-x._m*ue):(x._offset=Z.l+x.domain[0]*Z.w,x._length=Z.w*(x.domain[1]-x.domain[0]),x._m=x._length/(ue-re),x._b=-x._m*re),x._rangebreaks=[],x._lBreaks=0,x._m2=0,x._B=[],x.rangebreaks){var ge,Te;if(x._rangebreaks=x.locateBreaks(Math.min(re,ue),Math.max(re,ue)),x._rangebreaks.length){for(ge=0;geue&&(Se=!Se),Se&&x._rangebreaks.reverse();var Ce=Se?-1:1;for(x._m2=Ce*x._length/(Math.abs(ue-re)-x._lBreaks),x._B.push(-x._m2*(pe?ue:re)),ge=0;geQ&&(Q+=7,re<$&&(re+=7));break;case E:ue=new Date(H);var Se=ue.getUTCHours(),Ce=ue.getUTCMinutes(),Ue=ue.getUTCSeconds(),Oe=ue.getUTCMilliseconds();re=Se+(Ce/60+Ue/3600+Oe/36e5),$>Q&&(Q+=24,re<$&&(re+=24));break;case"":re=H;break}if(re>=$&&re=$&&H=Ne.min&&(neNe.max&&(Ne.max=be),De=!1)}De&&ue.push({min:ne,max:be})}};for(X=0;Xb*2}function i(p){return Math.max(1,(p-1)/1e3)}function s(p,f){for(var d=p.length,y=i(d),o=0,b=0,M={},A=0;Ao*2}function c(p){return S(p[0])&&S(p[1])}}}),Ah=xe({"src/plots/cartesian/autorange.js"(U,O){"use strict";var u=Na(),v=yn(),w=Sr(),S=Gn().FP_SAFE,l=Ci(),e=go(),t=fu(),a=t.getFromId,r=t.isLinked;O.exports={applyAutorangeOptions:x,getAutoRange:n,makePadFn:s,doAutoRange:d,findExtremes:y,concatExtremes:f};function n(_,D){var C,F,I=[],z=_._fullLayout,R=s(z,D,0),k=s(z,D,1),B=f(_,D),N=B.min,q=B.max;if(N.length===0||q.length===0)return w.simpleMap(D.range,D.r2l);var Y=N[0].val,ee=q[0].val;for(C=1;C0&&(ge=Z-R(Q)-k(re),ge>X?Te/ge>$&&(ue=Q,pe=re,$=Te/ge):Te/Z>$&&(ue={val:Q.val,nopad:1},pe={val:re.val,nopad:1},$=Te/Z));function Se(ce,ie){return Math.max(ce,k(ie))}if(Y===ee){var Ce=Y-1,Ue=Y+1;if(K)if(Y===0)I=[0,1];else{var Oe=(Y>0?q:N).reduce(Se,0),_e=Y/(1-Math.min(.5,Oe/Z));I=Y>0?[0,_e]:[_e,0]}else H?I=[Math.max(0,Ce),Math.max(1,Ue)]:I=[Ce,Ue]}else K?(ue.val>=0&&(ue={val:0,nopad:1}),pe.val<=0&&(pe={val:0,nopad:1})):H&&(ue.val-$*R(ue)<0&&(ue={val:0,nopad:1}),pe.val<=0&&(pe={val:1,nopad:1})),$=(pe.val-ue.val-i(D,Q.val,re.val))/(Z-R(ue)-k(pe)),I=[ue.val-$*R(ue),pe.val+$*k(pe)];return I=x(I,D),D.limitRange&&D.limitRange(),ae&&I.reverse(),w.simpleMap(I,D.l2r||Number)}function i(_,D,C){var F=0;if(_.rangebreaks)for(var I=_.locateBreaks(D,C),z=0;z0?C.ppadplus:C.ppadminus)||C.ppad||0),Q=X((_._m>0?C.ppadminus:C.ppadplus)||C.ppad||0),re=X(C.vpadplus||C.vpad),ue=X(C.vpadminus||C.vpad);if(!N){if(H=1/0,Z=-1/0,B)for(Y=0;Y0&&(H=ee),ee>Z&&ee-S&&(H=ee),ee>Z&&ee=Te;Y--)ge(Y);return{min:F,max:I,opts:C}}function o(_,D,C,F){M(_,D,C,F,E)}function b(_,D,C,F){M(_,D,C,F,g)}function M(_,D,C,F,I){for(var z=F.tozero,R=F.extrapad,k=!0,B=0;B<_.length&&k;B++){var N=_[B];if(I(N.val,D)&&N.pad>=C&&(N.extrapad||!R)){k=!1;break}else I(D,N.val)&&N.pad<=C&&(R||!N.extrapad)&&(_.splice(B,1),B--)}if(k){var q=z&&D===0;_.push({val:D,pad:q?0:C,extrapad:q?!1:R})}}function A(_){return v(_)&&Math.abs(_)=D}function T(_,D){var C=D.autorangeoptions;return C&&C.minallowed!==void 0&&h(D,C.minallowed,C.maxallowed)?C.minallowed:C&&C.clipmin!==void 0&&h(D,C.clipmin,C.clipmax)?Math.max(_,D.d2l(C.clipmin)):_}function m(_,D){var C=D.autorangeoptions;return C&&C.maxallowed!==void 0&&h(D,C.minallowed,C.maxallowed)?C.maxallowed:C&&C.clipmax!==void 0&&h(D,C.clipmin,C.clipmax)?Math.min(_,D.d2l(C.clipmax)):_}function h(_,D,C){return D!==void 0&&C!==void 0?(D=_.d2l(D),C=_.d2l(C),D=B&&(z=B,C=B),R<=B&&(R=B,F=B)}}return C=T(C,D),F=m(F,D),[C,F]}}}),uo=xe({"src/plots/cartesian/axes.js"(U,O){"use strict";var u=Na(),v=yn(),w=zl(),S=Ci(),l=Sr(),e=l.strTranslate,t=el(),a=gv(),r=wi(),n=go(),i=$c(),s=m_(),c=lc(),p=Gn(),f=p.ONEMAXYEAR,d=p.ONEAVGYEAR,y=p.ONEMINYEAR,o=p.ONEMAXQUARTER,b=p.ONEAVGQUARTER,M=p.ONEMINQUARTER,A=p.ONEMAXMONTH,E=p.ONEAVGMONTH,g=p.ONEMINMONTH,T=p.ONEWEEK,m=p.ONEDAY,h=m/2,x=p.ONEHOUR,_=p.ONEMIN,D=p.ONESEC,C=p.ONEMILLI,F=p.ONEMICROSEC,I=p.MINUS_SIGN,z=p.BADNUM,R={K:"zeroline"},k={K:"gridline",L:"path"},B={K:"minor-gridline",L:"path"},N={K:"tick",L:"path"},q={K:"tick",L:"text"},Y={width:["x","r","l","xl","xr"],height:["y","t","b","yt","yb"],right:["r","xr"],left:["l","xl"],top:["t","yt"],bottom:["b","yb"]},ee=uc(),te=ee.MID_SHIFT,ae=ee.CAP_SHIFT,j=ee.LINE_SPACING,G=ee.OPPOSITE_SIDE,K=3,H=O.exports={};H.setConvert=Oh();var Z=lp(),X=fu(),$=X.idSort,Q=X.isLinked;H.id2name=X.id2name,H.name2id=X.name2id,H.cleanId=X.cleanId,H.list=X.list,H.listIds=X.listIds,H.getFromId=X.getFromId,H.getFromTrace=X.getFromTrace;var re=Ah();H.getAutoRange=re.getAutoRange,H.findExtremes=re.findExtremes;var ue=1e-4;function pe(nt){var Ke=(nt[1]-nt[0])*ue;return[nt[0]-Ke,nt[1]+Ke]}function ge(nt,Ke,Qt){if(![Qt,nt,Ke].every(v)||Qt===0)return nt;let Xt=Math.round((nt-Ke)/Qt),nr=Ke+Xt*Qt;return nt!==nr&&Math.abs(nt-nr)jr+" domain")),xt=xt.concat(cr||[]),er.length>rr?(l.warn("Array attribute "+Vt+" has more entries than expected, truncating to "+rr),er=er.slice(0,rr)):er.length2e-6||((Qt-nt._forceTick0)/nt._minDtick%1+1.000001)%1>2e-6)&&(nt._minDtick=0))},H.saveRangeInitial=function(nt,Ke){for(var Qt=H.list(nt,"",!0),Xt=!1,nr=0;nrTr*.3||Vt(Xt)||Vt(nr))){var jr=Qt.dtick/2;nt+=nt+jrrr){var Ze=Number(Qt.slice(1));cr.exactYears>rr&&Ze%12===0?nt=H.tickIncrement(nt,"M6","reverse")+m*1.5:cr.exactMonths>rr?nt=H.tickIncrement(nt,"M1","reverse")+m*15.5:nt-=h;var xt=H.tickIncrement(nt,Qt);if(xt<=Xt)return xt}return nt}H.prepMinorTicks=function(nt,Ke,Qt){var Xt,nr;if(!((Xt=Ke.minor)!=null&&Xt.dtick)){delete nt.dtick;var cr=Ke.dtick&&v(Ke._tmin),rr;if(cr){var Ze=H.tickIncrement(Ke._tmin,Ke.dtick,!0);rr=[Ke._tmin,Ze*.99+Ke._tmin*.01]}else{var xt=l.simpleMap(Ke.range,Ke.r2l);rr=[xt[0],.8*xt[0]+.2*xt[1]]}if(nt.range=l.simpleMap(rr,Ke.l2r),nt._isMinor=!0,H.prepTicks(nt,Qt),cr){var Vt=v(Ke.dtick),er=v(nt.dtick),Tr=Vt?Ke.dtick:+Ke.dtick.substring(1),jr=er?nt.dtick:+nt.dtick.substring(1);Vt&&er?_e(Tr,jr)?Tr===2*T&&jr===2*m&&(nt.dtick=T):Tr===2*T&&jr===3*m?nt.dtick=T:Tr===T&&!(Ke._input.minor||{}).nticks?nt.dtick=m:ce(Tr/jr,2.5)?nt.dtick=Tr/2:nt.dtick=Tr:String(Ke.dtick).charAt(0)==="M"?er?nt.dtick="M1":_e(Tr,jr)?Tr>=12&&jr===2&&(nt.dtick="M3"):nt.dtick=Ke.dtick:String(nt.dtick).charAt(0)==="L"?String(Ke.dtick).charAt(0)==="L"?_e(Tr,jr)||(nt.dtick=ce(Tr/jr,2.5)?Ke.dtick/2:Ke.dtick):nt.dtick="D1":nt.dtick==="D2"&&+Ke.dtick>1&&(nt.dtick=1)}nt.range=Ke.range}((nr=Ke.minor)==null?void 0:nr._tick0Init)===void 0&&(nt.tick0=Ke.tick0)};function _e(nt,Ke){return Math.abs((nt/Ke+.5)%1-.5)<.001}function ce(nt,Ke){return Math.abs(nt/Ke-1)<.001}H.prepTicks=function(nt,Ke){var Qt=l.simpleMap(nt.range,nt.r2l,void 0,void 0,Ke);if(nt.tickmode==="auto"||!nt.dtick){var Xt=nt.nticks,nr;Xt||(nt.type==="category"||nt.type==="multicategory"?(nr=nt.tickfont?l.bigFont(nt.tickfont.size||12):15,Xt=nt._length/nr):(nr=nt._id.charAt(0)==="y"?40:80,Xt=l.constrain(nt._length/nr,4,9)+1),nt._name==="radialaxis"&&(Xt*=2)),nt.minor&&nt.minor.tickmode!=="array"||nt.tickmode==="array"&&(Xt*=100),nt._roughDTick=Math.abs(Qt[1]-Qt[0])/Xt,H.autoTicks(nt,nt._roughDTick),nt._minDtick>0&&nt.dtick0?(cr=Xt-1,rr=Xt):(cr=Xt,rr=Xt);var Ze=nt[cr].value,xt=nt[rr].value,Vt=Math.abs(xt-Ze),er=Qt||Vt,Tr=0;er>=y?Vt>=y&&Vt<=f?Tr=Vt:Tr=d:Qt===b&&er>=M?Vt>=M&&Vt<=o?Tr=Vt:Tr=b:er>=g?Vt>=g&&Vt<=A?Tr=Vt:Tr=E:Qt===T&&er>=T?Tr=T:er>=m?Tr=m:Qt===h&&er>=h?Tr=h:Qt===x&&er>=x&&(Tr=x);var jr;Tr>=Vt&&(Tr=Vt,jr=!0);var Fr=nr+Tr;if(Ke.rangebreaks&&Tr>0){for(var kr=84,ra=0,ja=0;jaT&&(Tr=Vt)}(Tr>0||Xt===0)&&(nt[Xt].periodX=nr+Tr/2)}}H.calcTicks=function(Ke,Qt){for(var Xt=Ke.type,nr=Ke.calendar,cr=Ke.ticklabelstep,rr=Ke.ticklabelmode==="period",Ze=Ke.range[0]>Ke.range[1],xt=!Ke.ticklabelindex||l.isArrayOrTypedArray(Ke.ticklabelindex)?Ke.ticklabelindex:[Ke.ticklabelindex],Vt=l.simpleMap(Ke.range,Ke.r2l,void 0,void 0,Qt),er=Vt[1]=(_i?0:1);ti--){var Si=!ti;ti?(Ke._dtickInit=Ke.dtick,Ke._tick0Init=Ke.tick0):_i&&(Ke.minor._dtickInit=Ke.minor.dtick,Ke.minor._tick0Init=Ke.minor.tick0);var ai=ti?Ke:l.extendFlat({},Ke,_i?Ke.minor:{minor:{}});if(Si?H.prepMinorTicks(ai,Ke,Qt):H.prepTicks(ai,Qt),ai.tickmode==="array"){ti?(ja=[],kr=qe(Ke,!Si)):(La=[],ra=qe(Ke,!Si));continue}if(ai.tickmode==="sync"){ja=[],kr=De(Ke);continue}var Ao=pe(Vt),yo=Ao[0],Vn=Ao[1],Bo=v(ai.dtick),Mo=Xt==="log"&&!(Bo||ai.dtick.charAt(0)==="L"),co=H.tickFirst(ai,Qt);if(ti){if(Ke._tmin=co,co=Vn:ao<=Vn;ao=H.tickIncrement(ao,Po,er,nr)){if(ti&&Co++,ai.rangebreaks&&!er){if(ao=jr)break}if(ja.length>Fr||ao===Ro)break;Ro=ao;var zi={value:ge(ao,vi,Po)};ti?(ao===co&&(zi.first=!0),Mo&&ao!==(ao|0)&&(zi.simpleLabel=!0),cr>1&&Co%cr&&(zi.skipLabel=!0),ja.push(zi)):(zi.minor=!0,La.push(zi))}}if(!La||La.length<3)xt=!1;else{var ho=(La[2].value-La[1].value)*(Ze?-1:1);rn(ho,Ke.tickformat)||(xt=!1,La=La.slice(1))}if(!xt)Dn=ja;else{var ro=ja.concat(La);rr&&ja.length&&(ro=ro.slice(1)),ro=ro.sort(function(ls,No){return ls.value-No.value}).filter(function(ls,No,Do){return No===0||ls.value!==Do[No-1].value});var es=ro.map(function(ls,No){return ls.minor===void 0&&!ls.skipLabel?No:null}).filter(function(ls){return ls!==null});es.forEach(function(ls){xt.map(function(No){var Do=ls+No;Do>=0&&Do-1;Io--){if(ja[Io].drop){ja.splice(Io,1);continue}ja[Io].value=_n(ja[Io].value,Ke);var Xs=Ke.c2p(ja[Io].value);(tl?qs>Xs-ts:qsjr||hsjr&&(Do.periodX=jr),hsnr&&krnr&&jad)Ke/=d,Xt=nr(10),nt.dtick="M"+12*vr(Ke,Xt,Ne);else if(cr>E)Ke/=E,nt.dtick="M"+vr(Ke,1,ut);else if(cr>m){if(nt.dtick=vr(Ke,m,nt._hasDayOfWeekBreaks?[1,2,7,14]:yt),!Qt){var rr=H.getTickFormat(nt),Ze=nt.ticklabelmode==="period";Ze&&(nt._rawTick0=nt.tick0),/%[uVW]/.test(rr)?nt.tick0=l.dateTick0(nt.calendar,2):nt.tick0=l.dateTick0(nt.calendar,1),Ze&&(nt._dowTick0=nt.tick0)}}else cr>x?nt.dtick=vr(Ke,x,ut):cr>_?nt.dtick=vr(Ke,_,ot):cr>D?nt.dtick=vr(Ke,D,ot):(Xt=nr(10),nt.dtick=vr(Ke,Xt,Ne))}else if(nt.type==="log"){nt.tick0=0;var xt=l.simpleMap(nt.range,nt.r2l);if(nt._isMinor&&(Ke*=1.5),Ke>.7)nt.dtick=Math.ceil(Ke);else if(Math.abs(xt[1]-xt[0])<1){var Vt=1.5*Math.abs((xt[1]-xt[0])/Ke);Ke=Math.abs(Math.pow(10,xt[1])-Math.pow(10,xt[0]))/Vt,Xt=nr(10),nt.dtick="L"+vr(Ke,Xt,Ne)}else nt.dtick=Ke>.3?"D2":"D1"}else nt.type==="category"||nt.type==="multicategory"?(nt.tick0=0,nt.dtick=Math.ceil(Math.max(Ke,1))):Ti(nt)?(nt.tick0=0,Xt=1,nt.dtick=vr(Ke,Xt,Zt)):(nt.tick0=0,Xt=nr(10),nt.dtick=vr(Ke,Xt,Ne));if(nt.dtick===0&&(nt.dtick=1),!v(nt.dtick)&&typeof nt.dtick!="string"){var er=nt.dtick;throw nt.dtick=1,"ax.dtick error: "+String(er)}};function Ut(nt){var Ke=nt.dtick;if(nt._tickexponent=0,!v(Ke)&&typeof Ke!="string"&&(Ke=1),(nt.type==="category"||nt.type==="multicategory")&&(nt._tickround=null),nt.type==="date"){var Qt=nt.r2l(nt.tick0),Xt=nt.l2r(Qt).replace(/(^-|i)/g,""),nr=Xt.length;if(String(Ke).charAt(0)==="M")nr>10||Xt.slice(5)!=="01-01"?nt._tickround="d":nt._tickround=+Ke.slice(1)%12===0?"y":"m";else if(Ke>=m&&nr<=10||Ke>=m*15)nt._tickround="d";else if(Ke>=_&&nr<=16||Ke>=x)nt._tickround="M";else if(Ke>=D&&nr<=19||Ke>=_)nt._tickround="S";else{var cr=nt.l2r(Qt+Ke).replace(/^-/,"").length;nt._tickround=Math.max(nr,cr)-20,nt._tickround<0&&(nt._tickround=4)}}else if(v(Ke)||Ke.charAt(0)==="L"){var rr=nt.range.map(nt.r2d||Number);v(Ke)||(Ke=Number(Ke.slice(1))),nt._tickround=2-Math.floor(Math.log(Ke)/Math.LN10+.01);var Ze=Math.max(Math.abs(rr[0]),Math.abs(rr[1])),xt=Math.floor(Math.log(Ze)/Math.LN10+.01),Vt=nt.minexponent===void 0?3:nt.minexponent;Math.abs(xt)>Vt&&(pt(nt.exponentformat)&&nt.exponentformat!=="SI extended"&&!ct(xt)||pt(nt.exponentformat)&&nt.exponentformat==="SI extended"&&!ft(xt)?nt._tickexponent=3*Math.round((xt-1)/3):nt._tickexponent=xt)}else nt._tickround=null}H.tickIncrement=function(nt,Ke,Qt,Xt){var nr=Qt?-1:1;if(v(Ke))return l.increment(nt,nr*Ke);var cr=Ke.charAt(0),rr=nr*Number(Ke.slice(1));if(cr==="M")return l.incrementMonth(nt,rr,Xt);if(cr==="L")return Math.log(Math.pow(10,nt)+rr)/Math.LN10;if(cr==="D"){var Ze=Ke==="D2"?It:At,xt=nt+nr*.01,Vt=l.roundUp(l.mod(xt,1),Ze,Qt);return Math.floor(xt)+Math.log(u.round(Math.pow(10,Vt),1))/Math.LN10}throw"unrecognized dtick "+String(Ke)},H.tickFirst=function(nt,Ke){var Qt=nt.r2l||Number,Xt=l.simpleMap(nt.range,Qt,void 0,void 0,Ke),nr=Xt[1]=0&&_i<=nt._length?Mn:null};if(xt&&l.isArrayOrTypedArray(nt.ticktext)){var kr=l.simpleMap(nt.range,nt.r2l),ra=(Math.abs(kr[1]-kr[0])-(nt._lBreaks||0))/1e4;for(jr=0;jr"+Ze;else{var Vt=Ln(nt),er=nt._trueSide||nt.side;(!Vt&&er==="top"||Vt&&er==="bottom")&&(rr+="
")}Ke.text=rr}function Ee(nt,Ke,Qt,Xt,nr){var cr=nt.dtick,rr=Ke.x,Ze=nt.tickformat,xt=typeof cr=="string"&&cr.charAt(0);if(nr==="never"&&(nr=""),Xt&&xt!=="L"&&(cr="L3",xt="L"),Ze||xt==="L")Ke.text=_t(Math.pow(10,rr),nt,nr,Xt);else if(v(cr)||xt==="D"&&(nt.minorloglabels==="complete"||l.mod(rr+.01,1)<.1)){var Vt;nt.minorloglabels==="complete"&&!(l.mod(rr+.01,1)<.1)&&(Vt=!0,Ke.fontSize*=.75);var er=Math.pow(10,rr).toExponential(0),Tr=er.split("e"),jr=+Tr[1],Fr=Math.abs(jr),kr=nt.exponentformat;kr==="power"||pt(kr)&&kr!=="SI extended"&&ct(jr)||pt(kr)&&kr==="SI extended"&&ft(jr)?(Ke.text=Tr[0],Fr>0&&(Ke.text+="x10"),Ke.text==="1x10"&&(Ke.text="10"),jr!==0&&jr!==1&&(Ke.text+=""+(jr>0?"":I)+Fr+""),Ke.fontSize*=1.25):(kr==="e"||kr==="E")&&Fr>2?Ke.text=Tr[0]+kr+(jr>0?"+":I)+Fr:(Ke.text=_t(Math.pow(10,rr),nt,"","fakehover"),cr==="D1"&&nt._id.charAt(0)==="y"&&(Ke.dy-=Ke.fontSize/6))}else if(xt==="D")Ke.text=nt.minorloglabels==="none"?"":String(Math.round(Math.pow(10,l.mod(rr,1)))),Ke.fontSize*=.75;else throw"unrecognized dtick "+String(cr);if(nt.dtick==="D1"){var ra=String(Ke.text).charAt(0);(ra==="0"||ra==="1")&&(nt._id.charAt(0)==="y"?Ke.dx-=Ke.fontSize/4:(Ke.dy+=Ke.fontSize/2,Ke.dx+=(nt.range[1]>nt.range[0]?1:-1)*Ke.fontSize*(rr<0?.5:.25)))}}function Re(nt,Ke){var Qt=nt._categories[Math.round(Ke.x)];Qt===void 0&&(Qt=""),Ke.text=String(Qt)}function he(nt,Ke,Qt){var Xt=Math.round(Ke.x),nr=nt._categories[Xt]||[],cr=nr[1]===void 0?"":String(nr[1]),rr=nr[0]===void 0?"":String(nr[0]);Qt?Ke.text=rr+" - "+cr:(Ke.text=cr,Ke.text2=rr)}function ye(nt,Ke,Qt,Xt,nr){nr==="never"?nr="":nt.showexponent==="all"&&Math.abs(Ke.x/nt.dtick)<1e-6&&(nr="hide"),Ke.text=_t(Ke.x,nt,nr,Xt)}function Ie(nt,Ke,Qt,Xt,nr){if(nt.thetaunit==="radians"&&!Qt){var cr=Ke.x/180;if(cr===0)Ke.text="0";else{var rr=Fe(cr);if(rr[1]>=100)Ke.text=_t(l.deg2rad(Ke.x),nt,nr,Xt);else{var Ze=Ke.x<0;rr[1]===1?rr[0]===1?Ke.text="\u03C0":Ke.text=rr[0]+"\u03C0":Ke.text=["",rr[0],"","\u2044","",rr[1],"","\u03C0"].join(""),Ze&&(Ke.text=I+Ke.text)}}}else Ke.text=_t(Ke.x,nt,nr,Xt)}function Fe(nt){function Ke(Ze,xt){return Math.abs(Ze-xt)<=1e-6}function Qt(Ze,xt){return Ke(xt,0)?Ze:Qt(xt,Ze%xt)}function Xt(Ze){for(var xt=1;!Ke(Math.round(Ze*xt)/xt,Ze);)xt*=10;return xt}var nr=Xt(nt),cr=nt*nr,rr=Math.abs(Qt(cr,nr));return[Math.round(cr/rr),Math.round(nr/rr)]}var He=["f","p","n","\u03BC","m","","k","M","G","T"],We=["q","r","y","z","a",...He,"P","E","Z","Y","R","Q"],pt=nt=>["SI","SI extended","B"].includes(nt);function ct(nt){return nt>14||nt<-15}function ft(nt){return nt>32||nt<-30}function mt(nt,Ke){return pt(Ke)?!!(Ke==="SI extended"&&ft(nt)||Ke!=="SI extended"&&ct(nt)):!1}function _t(nt,Ke,Qt,Xt){var nr=nt<0,cr=Ke._tickround,rr=Qt||Ke.exponentformat||"B",Ze=Ke._tickexponent,xt=H.getTickFormat(Ke),Vt=Ke.separatethousands;if(Xt){var er={exponentformat:rr,minexponent:Ke.minexponent,dtick:Ke.showexponent==="none"?Ke.dtick:v(nt)&&Math.abs(nt)||1,range:Ke.showexponent==="none"?Ke.range.map(Ke.r2d):[0,nt||1]};Ut(er),cr=(Number(er._tickround)||0)+4,Ze=er._tickexponent,Ke.hoverformat&&(xt=Ke.hoverformat)}if(xt)return Ke._numFormat(xt)(nt).replace(/-/g,I);rr==="none"&&(Ze=0),nt=Math.abs(nt);let Tr=Math.pow(10,-cr)/2;if(nt"+jr+"":rr==="B"&&Ze===9?nt+="B":pt(rr)&&(nt+=rr==="SI extended"?We[Ze/3+10]:He[Ze/3+5])}return nr?I+nt:nt}H.getTickFormat=function(nt){var Ke;function Qt(xt){return typeof xt!="string"?xt:Number(xt.replace("M",""))*E}function Xt(xt,Vt){var er=["L","D"];if(typeof xt==typeof Vt){if(typeof xt=="number")return xt-Vt;var Tr=er.indexOf(xt.charAt(0)),jr=er.indexOf(Vt.charAt(0));return Tr===jr?Number(xt.replace(/(L|D)/g,""))-Number(Vt.replace(/(L|D)/g,"")):Tr-jr}else return typeof xt=="number"?1:-1}function nr(xt,Vt,er){var Tr=er||function(kr){return kr},jr=Vt[0],Fr=Vt[1];return(!jr&&typeof jr!="number"||Tr(jr)<=Tr(xt))&&(!Fr&&typeof Fr!="number"||Tr(Fr)>=Tr(xt))}function cr(xt,Vt){var er=Vt[0]===null,Tr=Vt[1]===null,jr=Xt(xt,Vt[0])>=0,Fr=Xt(xt,Vt[1])<=0;return(er||jr)&&(Tr||Fr)}var rr,Ze;if(nt.tickformatstops&&nt.tickformatstops.length>0)switch(nt.type){case"date":case"linear":{for(Ke=0;Ke=0&&nr.unshift(nr.splice(er,1).shift())}});var Ze={false:{left:0,right:0}};return l.syncOrAsync(nr.map(function(xt){return function(){if(xt){var Vt=H.getFromId(nt,xt);Qt||(Qt={}),Qt.axShifts=Ze,Qt.overlayingShiftedAx=rr;var er=H.drawOne(nt,Vt,Qt);return Vt._shiftPusher&&Zi(Vt,Vt._fullDepth||0,Ze,!0),Vt._r=Vt.range.slice(),Vt._rl=l.simpleMap(Vt._r,Vt.r2l),er}}}))},H.drawOne=function(nt,Ke,Qt){Qt=Qt||{};var Xt=Qt.axShifts||{},nr=Qt.overlayingShiftedAx||[],cr,rr,Ze;Ke.setScale();var xt=nt._fullLayout,Vt=Ke._id,er=Vt.charAt(0),Tr=H.counterLetter(Vt),jr=xt._plots[Ke._mainSubplot],Fr=Ke.zerolinelayer==="above traces";if(!jr)return;if(Ke._shiftPusher=Ke.autoshift||nr.indexOf(Ke._id)!==-1||nr.indexOf(Ke.overlaying)!==-1,Ke._shiftPusher&Ke.anchor==="free"){var kr=Ke.linewidth/2||0;Ke.ticks==="inside"&&(kr+=Ke.ticklen),Zi(Ke,kr,Xt,!0),Zi(Ke,Ke.shift||0,Xt,!1)}(Qt.skipTitle!==!0||Ke._shift===void 0)&&(Ke._shift=un(Ke,Xt));var ra=jr[er+"axislayer"],ja=Ke._mainLinePosition,La=ja+=Ke._shift,Dn=Ke._mainMirrorPosition,Mn=Ke._vals=H.calcTicks(Ke),_i=[Ke.mirror,La,Dn].join("_");for(cr=0;cr0?No.bottom-Ss:0,ls))));var du=0,Ql=0;if(Ke._shiftPusher&&(du=Math.max(ls,No.height>0?fs==="l"?Ss-No.left:No.right-Ss:0),Ke.title.text!==xt._dfltTitle[er]&&(Ql=(Ke._titleStandoff||0)+(Ke._titleScoot||0),fs==="l"&&(Ql+=za(Ke))),Ke._fullDepth=Math.max(du,Ql)),Ke.automargin){Do={x:0,y:0,r:0,l:0,t:0,b:0};var Ou=[0,1],Uu=typeof Ke._shift=="number"?Ke._shift:0;if(er==="x"){if(fs==="b"?Do[fs]=Ke._depth:(Do[fs]=Ke._depth=Math.max(No.width>0?Ss-No.top:0,ls),Ou.reverse()),No.width>0){var Xu=No.right-(Ke._offset+Ke._length);Xu>0&&(Do.xr=1,Do.r=Xu);var $u=Ke._offset-No.left;$u>0&&(Do.xl=0,Do.l=$u)}}else if(fs==="l"?(Ke._depth=Math.max(No.height>0?Ss-No.left:0,ls),Do[fs]=Ke._depth-Uu):(Ke._depth=Math.max(No.height>0?No.right-Ss:0,ls),Do[fs]=Ke._depth+Uu,Ou.reverse()),No.height>0){var fc=No.bottom-(Ke._offset+Ke._length);fc>0&&(Do.yb=0,Do.b=fc);var _c=Ke._offset-No.top;_c>0&&(Do.yt=1,Do.t=_c)}Do[Tr]=Ke.anchor==="free"?Ke.position:Ke._anchorAxis.domain[Ou[0]],Ke.title.text!==xt._dfltTitle[er]&&(Do[fs]+=za(Ke)+(Ke.title.standoff||0)),Ke.mirror&&Ke.anchor!=="free"&&(hs={x:0,y:0,r:0,l:0,t:0,b:0},hs[Wl]=Ke.linewidth,Ke.mirror&&Ke.mirror!==!0&&(hs[Wl]+=ls),Ke.mirror===!0||Ke.mirror==="ticks"?hs[Tr]=Ke._anchorAxis.domain[Ou[1]]:(Ke.mirror==="all"||Ke.mirror==="allticks")&&(hs[Tr]=[Ke._counterDomainMin,Ke._counterDomainMax][Ou[1]]))}xl&&(Jl=S.getComponentMethod("rangeslider","autoMarginOpts")(nt,Ke)),typeof Ke.automargin=="string"&&(Bt(Do,Ke.automargin),Bt(hs,Ke.automargin)),w.autoMargin(nt,oi(Ke),Do),w.autoMargin(nt,$n(Ke),hs),w.autoMargin(nt,bn(Ke),Jl)}),l.syncOrAsync(ps)}};function Bt(nt,Ke){if(nt){var Qt=Object.keys(Y).reduce(function(Xt,nr){return Ke.indexOf(nr)!==-1&&Y[nr].forEach(function(cr){Xt[cr]=1}),Xt},{});Object.keys(nt).forEach(function(Xt){Qt[Xt]||(Xt.length===1?nt[Xt]=0:delete nt[Xt])})}}function Et(nt,Ke){var Qt=[],Xt,nr=function(cr,rr){var Ze=cr.xbnd[rr];Ze!==null&&Qt.push(l.extendFlat({},cr,{x:Ze}))};if(Ke.length){for(Xt=0;Xtnt.range[1],Ze=nt.ticklabelposition&&nt.ticklabelposition.indexOf("inside")!==-1,xt=!Ze;if(Qt){var Vt=rr?-1:1;Qt=Qt*Vt}if(Xt){var er=nt.side,Tr=Ze&&(er==="top"||er==="left")||xt&&(er==="bottom"||er==="right")?1:-1;Xt=Xt*Tr}return nt._id.charAt(0)==="x"?function(jr){return e(nr+nt._offset+nt.l2p(na(jr))+Qt,cr+Xt)}:function(jr){return e(cr+Xt,nr+nt._offset+nt.l2p(na(jr))+Qt)}};function na(nt){return nt.periodX!==void 0?nt.periodX:nt.x}function wa(nt){var Ke=nt.ticklabelposition||"",Qt=nt.tickson||"",Xt=function(kr){return Ke.indexOf(kr)!==-1},nr=Xt("top"),cr=Xt("left"),rr=Xt("right"),Ze=Xt("bottom"),xt=Xt("inside"),Vt=Qt!=="boundaries"&&(Ze||cr||nr||rr);if(!Vt&&!xt)return[0,0];var er=nt.side,Tr=Vt?(nt.tickwidth||0)/2:0,jr=K,Fr=nt.tickfont?nt.tickfont.size:12;return(Ze||nr)&&(Tr+=Fr*ae,jr+=(nt.linewidth||0)/2),(cr||rr)&&(Tr+=(nt.linewidth||0)/2,jr+=K),xt&&er==="top"&&(jr-=Fr*(1-ae)),(cr||nr)&&(Tr=-Tr),(er==="bottom"||er==="right")&&(jr=-jr),[Vt?Tr:0,xt?jr:0]}H.makeTickPath=function(nt,Ke,Qt,Xt){Xt||(Xt={});var nr=Xt.minor;if(nr&&!nt.minor)return"";var cr=Xt.len!==void 0?Xt.len:nr?nt.minor.ticklen:nt.ticklen,rr=nt._id.charAt(0),Ze=(nt.linewidth||1)/2;return rr==="x"?"M0,"+(Ke+Ze*Qt)+"v"+cr*Qt:"M"+(Ke+Ze*Qt)+",0h"+cr*Qt},H.makeLabelFns=function(nt,Ke,Qt){var Xt=nt.ticklabelposition||"",nr=nt.tickson||"",cr=function(co){return Xt.indexOf(co)!==-1},rr=cr("top"),Ze=cr("left"),xt=cr("right"),Vt=cr("bottom"),er=nr!=="boundaries"&&(Vt||Ze||rr||xt),Tr=cr("inside"),jr=Xt==="inside"&&nt.ticks==="inside"||!Tr&&nt.ticks==="outside"&&nr!=="boundaries",Fr=0,kr=0,ra=jr?nt.ticklen:0;if(Tr?ra*=-1:er&&(ra=0),jr&&(Fr+=ra,Qt)){var ja=l.deg2rad(Qt);Fr=ra*Math.cos(ja)+1,kr=ra*Math.sin(ja)}nt.showticklabels&&(jr||nt.showline)&&(Fr+=.2*nt.tickfont.size),Fr+=(nt.linewidth||1)/2*(Tr?-1:1);var La={labelStandoff:Fr,labelShift:kr},Dn,Mn,_i,ti,Si=0,ai=nt.side,Ao=nt._id.charAt(0),yo=nt.tickangle,Vn;if(Ao==="x")Vn=!Tr&&ai==="bottom"||Tr&&ai==="top",ti=Vn?1:-1,Tr&&(ti*=-1),Dn=kr*ti,Mn=Ke+Fr*ti,_i=Vn?1:-.2,Math.abs(yo)===90&&(Tr?_i+=te:yo===-90&&ai==="bottom"?_i=ae:yo===90&&ai==="top"?_i=te:_i=.5,Si=te/2*(yo/90)),La.xFn=function(co){return co.dx+Dn+Si*co.fontSize},La.yFn=function(co){return co.dy+Mn+co.fontSize*_i},La.anchorFn=function(co,Ro){if(er){if(Ze)return"end";if(xt)return"start"}return!v(Ro)||Ro===0||Ro===180?"middle":Ro*ti<0!==Tr?"end":"start"},La.heightFn=function(co,Ro,ao){return Ro<-60||Ro>60?-.5*ao:nt.side==="top"!==Tr?-ao:0};else if(Ao==="y"){if(Vn=!Tr&&ai==="left"||Tr&&ai==="right",ti=Vn?1:-1,Tr&&(ti*=-1),Dn=Fr,Mn=kr*ti,_i=0,!Tr&&Math.abs(yo)===90&&(yo===-90&&ai==="left"||yo===90&&ai==="right"?_i=ae:_i=.5),Tr){var Bo=v(yo)?+yo:0;if(Bo!==0){var Mo=l.deg2rad(Bo);Si=Math.abs(Math.sin(Mo))*ae*ti,_i=0}}La.xFn=function(co){return co.dx+Ke-(Dn+co.fontSize*_i)*ti+Si*co.fontSize},La.yFn=function(co){return co.dy+Mn+co.fontSize*te},La.anchorFn=function(co,Ro){return v(Ro)&&Math.abs(Ro)===90?"middle":Vn?"end":"start"},La.heightFn=function(co,Ro,ao){return nt.side==="right"&&(Ro*=-1),Ro<-30?-ao:Ro<30?-.5*ao:0}}return La};function pa(nt){return[nt.text,nt.x,nt.axInfo,nt.font,nt.fontSize,nt.fontColor].join("_")}H.drawTicks=function(nt,Ke,Qt){Qt=Qt||{};var Xt=Ke._id+"tick",nr=[].concat(Ke.minor&&Ke.minor.ticks?Qt.vals.filter(function(rr){return rr.minor&&!rr.noTick}):[]).concat(Ke.ticks?Qt.vals.filter(function(rr){return!rr.minor&&!rr.noTick}):[]),cr=Qt.layer.selectAll("path."+Xt).data(nr,pa);cr.exit().remove(),cr.enter().append("path").classed(Xt,1).classed("ticks",1).classed("crisp",Qt.crisp!==!1).each(function(rr){return r.stroke(u.select(this),rr.minor?Ke.minor.tickcolor:Ke.tickcolor)}).style("stroke-width",function(rr){return n.crispRound(nt,rr.minor?Ke.minor.tickwidth:Ke.tickwidth,1)+"px"}).attr("d",Qt.path).style("display",null),ji(Ke,[N]),cr.attr("transform",Qt.transFn)},H.drawGrid=function(nt,Ke,Qt){if(Qt=Qt||{},Ke.tickmode!=="sync"){var Xt=Ke._id+"grid",nr=Ke.minor&&Ke.minor.showgrid,cr=nr?Qt.vals.filter(function(La){return La.minor}):[],rr=Ke.showgrid?Qt.vals.filter(function(La){return!La.minor}):[],Ze=Qt.counterAxis;if(Ze&&H.shouldShowZeroLine(nt,Ke,Ze))for(var xt=Ke.tickmode==="array",Vt=0;Vt=0;kr--){var ra=kr?jr:Fr;if(ra){var ja=ra.selectAll("path."+Xt).data(kr?rr:cr,pa);ja.exit().remove(),ja.enter().append("path").classed(Xt,1).classed("crisp",Qt.crisp!==!1),ja.attr("transform",Qt.transFn).attr("d",Qt.path).each(function(La){return r.stroke(u.select(this),La.minor?Ke.minor.gridcolor:Ke.gridcolor||"#ddd")}).style("stroke-dasharray",function(La){return n.dashStyle(La.minor?Ke.minor.griddash:Ke.griddash,La.minor?Ke.minor.gridwidth:Ke.gridwidth)}).style("stroke-width",function(La){return(La.minor?Tr:Ke._gw)+"px"}).style("display",null),typeof Qt.path=="function"&&ja.attr("d",Qt.path)}}ji(Ke,[k,B])}},H.drawZeroLine=function(nt,Ke,Qt){Qt=Qt||Qt;var Xt=Ke._id+"zl",nr=H.shouldShowZeroLine(nt,Ke,Qt.counterAxis),cr=Qt.layer.selectAll("path."+Xt).data(nr?[{x:0,id:Ke._id}]:[]);cr.exit().remove(),cr.enter().append("path").classed(Xt,1).classed("zl",1).classed("crisp",Qt.crisp!==!1).each(function(){Qt.layer.selectAll("path").sort(function(rr,Ze){return $(rr.id,Ze.id)})}),cr.attr("transform",Qt.transFn).attr("d",Qt.path).call(r.stroke,Ke.zerolinecolor||r.defaultLine).style("stroke-width",n.crispRound(nt,Ke.zerolinewidth,Ke._gw||1)+"px").style("display",null),ji(Ke,[R])},H.drawLabels=function(nt,Ke,Qt){Qt=Qt||{};var Xt=nt._fullLayout,nr=Ke._id,cr=Ke.zerolinelayer==="above traces",rr=Qt.cls||nr+"tick",Ze=Qt.vals.filter(function(vi){return vi.text}),xt=Qt.labelFns,Vt=Qt.secondary?0:Ke.tickangle,er=(Ke._prevTickAngles||{})[rr],Tr=Qt.layer.selectAll("g."+rr).data(Ke.showticklabels?Ze:[],pa),jr=[];Tr.enter().append("g").classed(rr,1).append("text").attr("text-anchor","middle").each(function(vi){var zi=u.select(this),ho=nt._promises.length;zi.call(t.positionText,xt.xFn(vi),xt.yFn(vi)).call(n.font,{family:vi.font,size:vi.fontSize,color:vi.fontColor,weight:vi.fontWeight,style:vi.fontStyle,variant:vi.fontVariant,textcase:vi.fontTextcase,lineposition:vi.fontLineposition,shadow:vi.fontShadow}).text(vi.text).call(t.convertToTspans,nt),nt._promises[ho]?jr.push(nt._promises.pop().then(function(){Fr(zi,Vt)})):Fr(zi,Vt)}),ji(Ke,[q]),Tr.exit().remove(),Qt.repositionOnUpdate&&Tr.each(function(vi){u.select(this).select("text").call(t.positionText,xt.xFn(vi),xt.yFn(vi))});function Fr(vi,zi){vi.each(function(ho){var ro=u.select(this),es=ro.select(".text-math-group"),Ho=xt.anchorFn(ho,zi),is=Qt.transFn.call(ro.node(),ho)+(v(zi)&&+zi!=0?" rotate("+zi+","+xt.xFn(ho)+","+(xt.yFn(ho)-ho.fontSize/2)+")":""),as=t.lineCount(ro),vs=j*ho.fontSize,Yo=xt.heightFn(ho,v(zi)?+zi:0,(as-1)*vs);if(Yo&&(is+=e(0,Yo)),es.empty()){var po=ro.select("text");po.attr({transform:is,"text-anchor":Ho}),po.style("display",null),Ke._adjustTickLabelsOverflow&&Ke._adjustTickLabelsOverflow()}else{var _s=n.bBox(es.node()).width,qo=_s*{end:-.5,start:.5}[Ho];es.attr("transform",is+e(qo,0))}})}Ke._adjustTickLabelsOverflow=function(){var vi=Ke.ticklabeloverflow;if(!(!vi||vi==="allow")){var zi=vi.indexOf("hide")!==-1,ho=Ke._id.charAt(0)==="x",ro=0,es=ho?nt._fullLayout.width:nt._fullLayout.height;if(vi.indexOf("domain")!==-1){var Ho=l.simpleMap(Ke.range,Ke.r2l);ro=Ke.l2p(Ho[0])+Ke._offset,es=Ke.l2p(Ho[1])+Ke._offset}var is=Math.min(ro,es),as=Math.max(ro,es),vs=Ke.side,Yo=1/0,po=-1/0;Tr.each(function(tl){var ts=u.select(this),qs=ts.select(".text-math-group");if(qs.empty()){var Xs=n.bBox(ts.node()),ps=0;ho?(Xs.right>as||Xs.leftas||Xs.top+(Ke.tickangle?0:tl.fontSize/4)Ke["_visibleLabelMin_"+Ho._id]?ts.style("display","none"):as.K==="tick"&&!is&&ts.node().style.display!=="none"&&ts.style("display",null)})})})})},Fr(Tr,er+1?er:Vt);function kr(){return jr.length&&Promise.all(jr)}var ra=null;function ja(){if(Fr(Tr,Vt),Ze.length&&Ke.autotickangles&&(Ke.type!=="log"||String(Ke.dtick).charAt(0)!=="D")){ra=Ke.autotickangles[0];var vi=0,zi=[],ho,ro=1;Tr.each(function(Do){vi=Math.max(vi,Do.fontSize);var hs=Ke.l2p(Do.x),Jl=ka(this),du=n.bBox(Jl.node());ro=Math.max(ro,t.lineCount(Jl)),zi.push({top:0,bottom:10,height:10,left:hs-du.width/2,right:hs+du.width/2+2,width:du.width+2})});var es=(Ke.tickson==="boundaries"||Ke.showdividers)&&!Qt.secondary,Ho=Ze.length,is=Math.abs((Ze[Ho-1].x-Ze[0].x)*Ke._m)/(Ho-1),as=es?is/2:is,vs=es?Ke.ticklen:vi*1.25*ro,Yo=Math.sqrt(Math.pow(as,2)+Math.pow(vs,2)),po=as/Yo,_s=Ke.autotickangles.map(function(Do){return Do*Math.PI/180}),qo=_s.find(function(Do){return Math.abs(Math.cos(Do))<=po});qo===void 0&&(qo=_s.reduce(function(Do,hs){return Math.abs(Math.cos(Do))Co*ao&&(Mo=ao,yo[Ao]=Vn[Ao]=co[Ao])}var Wo=Math.abs(Mo-Bo);Wo-ti>0?(Wo-=ti,ti*=1+ti/Wo):ti=0,Ke._id.charAt(0)!=="y"&&(ti=-ti),yo[ai]=Mn.p2r(Mn.r2p(Vn[ai])+Si*ti),Mn.autorange==="min"||Mn.autorange==="max reversed"?(yo[0]=null,Mn._rangeInitial0=void 0,Mn._rangeInitial1=void 0):(Mn.autorange==="max"||Mn.autorange==="min reversed")&&(yo[1]=null,Mn._rangeInitial0=void 0,Mn._rangeInitial1=void 0),Xt._insideTickLabelsUpdaterange[Mn._name+".range"]=yo}var Po=l.syncOrAsync(La);return Po&&Po.then&&nt._promises.push(Po),Po};function fa(nt,Ke,Qt){var Xt=Ke._id+"divider",nr=Qt.vals,cr=Qt.layer.selectAll("path."+Xt).data(nr,pa);cr.exit().remove(),cr.enter().insert("path",":first-child").classed(Xt,1).classed("crisp",1).call(r.stroke,Ke.dividercolor).style("stroke-width",n.crispRound(nt,Ke.dividerwidth,1)+"px"),cr.attr("transform",Qt.transFn).attr("d",Qt.path)}H.getPxPosition=function(nt,Ke){var Qt=nt._fullLayout._size,Xt=Ke._id.charAt(0),nr=Ke.side,cr;if(Ke.anchor!=="free"?cr=Ke._anchorAxis:Xt==="x"?cr={_offset:Qt.t+(1-(Ke.position||0))*Qt.h,_length:0}:Xt==="y"&&(cr={_offset:Qt.l+(Ke.position||0)*Qt.w+Ke._shift,_length:0}),nr==="top"||nr==="left")return cr._offset;if(nr==="bottom"||nr==="right")return cr._offset+cr._length};function za(nt){var Ke=nt.title.font.size,Qt=(nt.title.text.match(t.BR_TAG_ALL)||[]).length;return nt.title.hasOwnProperty("standoff")?Ke*(ae+Qt*j):Qt?Ke*(Qt+1)*j:Ke}function Ia(nt,Ke){var Qt=nt._fullLayout,Xt=Ke._id,nr=Xt.charAt(0),cr=Ke.title.font.size,rr,Ze=(Ke.title.text.match(t.BR_TAG_ALL)||[]).length;if(Ke.title.hasOwnProperty("standoff"))Ke.side==="bottom"||Ke.side==="right"?rr=Ke._depth+Ke.title.standoff+cr*ae:(Ke.side==="top"||Ke.side==="left")&&(rr=Ke._depth+Ke.title.standoff+cr*(te+Ze*j));else{var xt=Ln(Ke);if(Ke.type==="multicategory")rr=Ke._depth;else{var Vt=1.5*cr;xt&&(Vt=.5*cr,Ke.ticks==="outside"&&(Vt+=Ke.ticklen)),rr=10+Vt+(Ke.linewidth?Ke.linewidth-1:0)}xt||(nr==="x"?rr+=Ke.side==="top"?cr*(Ke.showticklabels?1:0):cr*(Ke.showticklabels?1.5:.5):rr+=Ke.side==="right"?cr*(Ke.showticklabels?1:.5):cr*(Ke.showticklabels?.5:0))}var er=H.getPxPosition(nt,Ke),Tr,jr,Fr;nr==="x"?(jr=Ke._offset+Ke._length/2,Fr=Ke.side==="top"?er-rr:er+rr):(Fr=Ke._offset+Ke._length/2,jr=Ke.side==="right"?er+rr:er-rr,Tr={rotate:"-90",offset:0});var kr;if(Ke.type!=="multicategory"){var ra=Ke._selections[Ke._id+"tick"];if(kr={selection:ra,side:Ke.side},ra&&ra.node()&&ra.node().parentNode){var ja=n.getTranslate(ra.node().parentNode);kr.offsetLeft=ja.x,kr.offsetTop=ja.y}Ke.title.hasOwnProperty("standoff")&&(kr.pad=0)}return Ke._titleStandoff=rr,a.draw(nt,Xt+"title",{propContainer:Ke,propName:Ke._name+".title.text",placeholder:Qt._dfltTitle[nr],avoid:kr,transform:Tr,attributes:{x:jr,y:Fr,"text-anchor":"middle"}})}H.shouldShowZeroLine=function(nt,Ke,Qt){var Xt=l.simpleMap(Ke.range,Ke.r2l);return Xt[0]*Xt[1]<=0&&Ke.zeroline&&(Ke.type==="linear"||Ke.type==="-")&&!(Ke.rangebreaks&&Ke.maskBreaks(0)===z)&&(Va(Ke,0)||!Oa(nt,Ke,Qt,Xt)||tn(nt,Ke))},H.clipEnds=function(nt,Ke){return Ke.filter(function(Qt){return Va(nt,Qt.x)})};function Va(nt,Ke){var Qt=nt.l2p(Ke);return Qt>1&&Qt1)for(nr=1;nr=nr.min&&nt=F:/%L/.test(Ke)?nt>=C:/%[SX]/.test(Ke)?nt>=D:/%M/.test(Ke)?nt>=_:/%[HI]/.test(Ke)?nt>=x:/%p/.test(Ke)?nt>=h:/%[Aadejuwx]/.test(Ke)?nt>=m:/%[UVW]/.test(Ke)?nt>=T:/%[Bbm]/.test(Ke)?nt>=g:/%[q]/.test(Ke)?nt>=M:/%[Yy]/.test(Ke)?nt>=y:!0}}}),__=xe({"src/plots/cartesian/autorange_options_defaults.js"(U,O){"use strict";O.exports=function(v,w,S){var l,e;if(S){var t=w==="reversed"||w==="min reversed"||w==="max reversed";l=S[t?1:0],e=S[t?0:1]}var a=v("autorangeoptions.minallowed",e===null?l:void 0),r=v("autorangeoptions.maxallowed",l===null?e:void 0);a===void 0&&v("autorangeoptions.clipmin"),r===void 0&&v("autorangeoptions.clipmax"),v("autorangeoptions.include")}}}),b_=xe({"src/plots/cartesian/range_defaults.js"(U,O){"use strict";var u=__();O.exports=function(w,S,l,e){var t=S._template||{},a=S.type||t.type||"-";l("minallowed"),l("maxallowed");var r=l("range");if(!r){var n;!e.noInsiderange&&a!=="log"&&(n=l("insiderange"),n&&(n[0]===null||n[1]===null)&&(S.insiderange=!1,n=void 0),n&&(r=l("range",n)))}var i=S.getAutorangeDflt(r,e),s=l("autorange",i),c;r&&(r[0]===null&&r[1]===null||(r[0]===null||r[1]===null)&&(s==="reversed"||s===!0)||r[0]!==null&&(s==="min"||s==="max reversed")||r[1]!==null&&(s==="max"||s==="min reversed"))&&(r=void 0,delete S.range,S.autorange=!0,c=!0),c||(i=S.getAutorangeDflt(r,e),s=l("autorange",i)),s&&(u(l,s,r),(a==="linear"||a==="-")&&l("rangemode")),S.cleanRange()}}}),mA=xe({"node_modules/mouse-event-offset/index.js"(U,O){var u={left:0,top:0};O.exports=v;function v(S,l,e){l=l||S.currentTarget||S.srcElement,Array.isArray(e)||(e=[0,0]);var t=S.clientX||0,a=S.clientY||0,r=w(l);return e[0]=t-r.left,e[1]=a-r.top,e}function w(S){return S===window||S===document||S===document.body?u:S.getBoundingClientRect()}}}),Ym=xe({"node_modules/has-passive-events/index.js"(U,O){"use strict";var u=f_();function v(){var w=!1;try{var S=Object.defineProperty({},"passive",{get:function(){w=!0}});window.addEventListener("test",null,S),window.removeEventListener("test",null,S)}catch{w=!1}return w}O.exports=u&&v()}}),gA=xe({"src/components/dragelement/align.js"(U,O){"use strict";O.exports=function(v,w,S,l,e){var t=(v-S)/(l-S),a=t+w/(l-S),r=(t+a)/2;return e==="left"||e==="bottom"?t:e==="center"||e==="middle"?r:e==="right"||e==="top"?a:t<2/3-r?t:a>4/3-r?a:r}}}),yA=xe({"src/components/dragelement/cursor.js"(U,O){"use strict";var u=Sr(),v=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];O.exports=function(S,l,e,t){return e==="left"?S=0:e==="center"?S=1:e==="right"?S=2:S=u.constrain(Math.floor(S*3),0,2),t==="bottom"?l=0:t==="middle"?l=1:t==="top"?l=2:l=u.constrain(Math.floor(l*3),0,2),v[l][S]}}}),_A=xe({"src/components/dragelement/unhover.js"(U,O){"use strict";var u=ip(),v=Hm(),w=t0().getGraphDiv,S=uv(),l=O.exports={};l.wrapped=function(e,t,a){e=w(e),e._fullLayout&&v.clear(e._fullLayout._uid+S.HOVERID),l.raw(e,t,a)},l.raw=function(t,a){var r=t._fullLayout,n=t._hoverdata;a||(a={}),!(a.target&&!t._dragged&&u.triggerHandler(t,"plotly_beforehover",a)===!1)&&(r._hoverlayer.selectAll("g").remove(),r._hoverlayer.selectAll("line").remove(),r._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,a.target&&n&&t.emit("plotly_unhover",{event:a,points:n}))}}}),Bf=xe({"src/components/dragelement/index.js"(U,O){"use strict";var u=mA(),v=h_(),w=Ym(),S=Sr().removeElement,l=lc(),e=O.exports={};e.align=gA(),e.getCursor=yA();var t=_A();e.unhover=t.wrapped,e.unhoverRaw=t.raw,e.init=function(i){var s=i.gd,c=1,p=s._context.doubleClickDelay,f=i.element,d,y,o,b,M,A,E,g;s._mouseDownTime||(s._mouseDownTime=0),f.style.pointerEvents="all",f.onmousedown=h,w?(f._ontouchstart&&f.removeEventListener("touchstart",f._ontouchstart),f._ontouchstart=h,f.addEventListener("touchstart",h,{passive:!1})):f.ontouchstart=h;function T(D,C,F){return Math.abs(D)"u"&&typeof D.clientY>"u"&&(D.clientX=d,D.clientY=y),o=new Date().getTime(),o-s._mouseDownTimep&&(c=Math.max(c-1,1)),s._dragged)i.doneFn&&i.doneFn();else{var C;A.target===E?C=A:(C={target:E,srcElement:E,toElement:E},Object.keys(A).concat(Object.keys(A.__proto__)).forEach(F=>{var I=A[F];!C[F]&&typeof I!="function"&&(C[F]=I)})),i.clickFn&&i.clickFn(c,C),g||E.dispatchEvent(new MouseEvent("click",D))}s._dragging=!1,s._dragged=!1}};function a(){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}e.coverSlip=a;function r(n){return u(n.changedTouches?n.changedTouches[0]:n,document.body)}}}),Mh=xe({"src/lib/setcursor.js"(U,O){"use strict";O.exports=function(v,w){(v.attr("class")||"").split(" ").forEach(function(S){S.indexOf("cursor-")===0&&v.classed(S,!1)}),w&&v.classed("cursor-"+w,!0)}}}),bA=xe({"src/lib/override_cursor.js"(U,O){"use strict";var u=Mh(),v="data-savedcursor",w="!!";O.exports=function(l,e){var t=l.attr(v);if(e){if(!t){for(var a=(l.attr("class")||"").split(" "),r=0;rG.legend.length)for(var Z=G.legend.length;Z(r==="legend"?1:0));if(F===!1&&(i[r]=void 0),!(F===!1&&!p.uirevision)&&(d("uirevision",i.uirevision),F!==!1)){d("borderwidth");var I=d("orientation"),z=d("yref"),R=d("xref"),k=I==="h",B=z==="paper",N=R==="paper",q,Y,ee,te="left";k?(q=0,u.getComponentMethod("rangeslider","isVisible")(n.xaxis)?B?(Y=1.1,ee="bottom"):(Y=1,ee="top"):B?(Y=-.1,ee="top"):(Y=0,ee="bottom")):(Y=1,ee="auto",N?q=1.02:(q=1,te="right")),v.coerce(p,f,{x:{valType:"number",editType:"legend",min:N?-2:0,max:N?3:1,dflt:q}},"x"),v.coerce(p,f,{y:{valType:"number",editType:"legend",min:B?-2:0,max:B?3:1,dflt:Y}},"y"),d("traceorder",m),t.isGrouped(i[r])&&d("tracegroupgap"),d("entrywidth"),d("entrywidthmode"),d("indentation"),d("itemsizing"),d("itemwidth"),d("itemclick"),d("itemdoubleclick"),d("groupclick"),d("xanchor",te),d("yanchor",ee),d("maxheight"),d("valign"),v.noneOrAll(p,f,["x","y"]);var ae=d("title.text");if(ae){d("title.side",k?"left":"top");var j=v.extendFlat({},y,{size:v.bigFont(y.size)});v.coerceFont(d,"title.font",j);let G=c>1;d("titleclick",G?"toggle":!1),d("titledoubleclick",G?"toggleothers":!1)}}}O.exports=function(n,i,s){var c,p=s.slice(),f=i.shapes;if(f)for(c=0;cUe.showlegend||Ue.legendgroup);var y=f.concat(d),o=i.trace;o._isShape&&(o=n.shapes[o.index]);var b=o.legendgroup,M,A,E,g,T,m,h={},x=[],_=[],D=[];function C(Ue,Oe){var _e=x.indexOf(Ue),ce=h.visible;return ce||(ce=h.visible=[]),x.indexOf(Ue)===-1&&(x.push(Ue),_e=x.length-1),ce[_e]=Oe,_e}var F=(n.shapes||[]).map(function(Ue){return Ue._input}),I=!1;function z(Ue,Oe){F[Ue].visible=Oe,I=!0}function R(Ue,Oe){if(!(i.groupTitle&&!c)){var _e=Ue._isShape,ce=Ue.index;ce===void 0&&(ce=Ue._index);var ie=Ue.visible===!1?!1:Oe;_e?z(ce,ie):C(ce,ie)}}var k=o.legend;if(!o._isShape&&O.traceIs(o,"pie-like")){var B=i.label,N=p.indexOf(B);if(r==="toggle")N===-1?p.push(B):p.splice(N,1);else if(r==="toggleothers"){var q=N!==-1,Y=[];for(M=0;ME.showlegend||E.legendgroup),c=n.concat(s);function p(E){return(E.legend||"legend")===i}var f,d;if(a==="toggle")f=!c.some(function(g){return p(g)&&g.visible===!0}),d=!1;else{let E=c.some(function(g){return!p(g)&&g.visible===!0&&g.showlegend!==!1});f=!0,d=!E}let y={visible:[]},o=[],b=(r.shapes||[]).map(function(E){return E._input});for(var M=!1,A=0;Az&&(F=z)}D[y][0]._groupMinRank=F,D[y][0]._preGroupSort=y}var R=function(ee,te){return ee[0]._groupMinRank-te[0]._groupMinRank||ee[0]._preGroupSort-te[0]._preGroupSort},k=function(ee,te){var ae=u(ee.trace.legendrank)?ee.trace.legendrank[ee.i]:ee.trace.legendrank,j=u(te.trace.legendrank)?te.trace.legendrank[te.i]:te.trace.legendrank;return ae-j||ee._preSort-te._preSort};for(D.forEach(function(ee,te){ee[0]._preGroupSort=te}),D.sort(R),y=0;y0)Z=G.width;else return 0;return m?H:Math.min(Z,K)};A.each(function(j){var G=u.select(this),K=w.ensureSingle(G,"g","layers");K.style("opacity",j[0].trace.opacity);var H=g.indentation,Z=g.valign,X=j[0].lineHeight,$=j[0].height;if(Z==="middle"&&H===0||!X||!$)K.attr("transform",null);else{var Q={top:1,bottom:-1}[Z],re=Q*(.5*(X-$+3))||0,ue=g.indentation;K.attr("transform",S(ue,re))}var pe=K.selectAll("g.legendfill").data([j]);pe.enter().append("g").classed("legendfill",!0);var ge=K.selectAll("g.legendlines").data([j]);ge.enter().append("g").classed("legendlines",!0);var Te=K.selectAll("g.legendsymbols").data([j]);Te.enter().append("g").classed("legendsymbols",!0),Te.selectAll("g.legendpoints").data([j]).enter().append("g").classed("legendpoints",!0)}).each(ae).each(I).each(R).each(z).each(B).each(ee).each(Y).each(C).each(F).each(N).each(q);function C(j){var G=o(j),K=G.showFill,H=G.showLine,Z=G.showGradientLine,X=G.showGradientFill,$=G.anyFill,Q=G.anyLine,re=j[0],ue=re.trace,pe,ge,Te=t(ue),Se=Te.colorscale,Ce=Te.reversescale,Ue=function(be){if(be.size())if(K)l.fillGroupStyle(be,E,!0);else{var De="legendfill-"+ue.uid;l.gradient(be,E,De,y(Ce),Se,"fill")}},Oe=function(be){if(be.size()){var De="legendline-"+ue.uid;l.lineGroupStyle(be),l.gradient(be,E,De,y(Ce),Se,"stroke")}},_e=a.hasMarkers(ue)||!$?"M5,0":Q?"M5,-2":"M5,-3",ce=u.select(this),ie=ce.select(".legendfill").selectAll("path").data(K||X?[j]:[]);if(ie.enter().append("path").classed("js-fill",!0),ie.exit().remove(),ie.attr("d",_e+"h"+h+"v6h-"+h+"z").call(Ue),H||Z){var se=D(void 0,ue.line,f,c);ge=w.minExtend(ue,{line:{width:se}}),pe=[w.minExtend(re,{trace:ge})]}var ne=ce.select(".legendlines").selectAll("path").data(H||Z?[pe]:[]);ne.enter().append("path").classed("js-line",!0),ne.exit().remove(),ne.attr("d",_e+(Z?"l"+h+",0.0001":"h"+h)).call(H?l.lineGroupStyle:Oe)}function F(j){var G=o(j),K=G.anyFill,H=G.anyLine,Z=G.showLine,X=G.showMarker,$=j[0],Q=$.trace,re=!X&&!H&&!K&&a.hasText(Q),ue,pe;function ge(se,ne,be,De){var qe=w.nestedProperty(Q,se).get(),Ne=w.isArrayOrTypedArray(qe)&&ne?ne(qe):qe;if(m&&Ne&&De!==void 0&&(Ne=De),be){if(Nebe[1])return be[1]}return Ne}function Te(se){return $._distinct&&$.index&&se[$.index]?se[$.index]:se[0]}if(X||re||Z){var Se={},Ce={};if(X){Se.mc=ge("marker.color",Te);var Ue=Q.type==="scattermap";Se.mx=Ue?"circle":ge("marker.symbol",Te),Se.mo=ge("marker.opacity",w.mean,[.2,1]),Se.mlc=ge("marker.line.color",Te),Se.mlw=ge("marker.line.width",w.mean,[0,5],p),Se.mld=ge("marker.line.dash",Te),Ce.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var Oe=ge("marker.size",w.mean,[2,16],s);Se.ms=Oe,Ce.marker.size=Oe}Z&&(Ce.line={width:ge("line.width",Te,[0,10],c)}),re&&(Se.tx="Aa",Se.tp=ge("textposition",Te),Se.ts=10,Se.tc=ge("textfont.color",Te),Se.tf=ge("textfont.family",Te),Se.tw=ge("textfont.weight",Te),Se.ty=ge("textfont.style",Te),Se.tv=ge("textfont.variant",Te),Se.tC=ge("textfont.textcase",Te),Se.tE=ge("textfont.lineposition",Te),Se.tS=ge("textfont.shadow",Te)),ue=[w.minExtend($,Se)],pe=w.minExtend(Q,Ce),pe.selectedpoints=null,pe.texttemplate=null}var _e=u.select(this).select("g.legendpoints"),ce=_e.selectAll("path.scatterpts").data(X?ue:[]);ce.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",_),ce.exit().remove(),ce.call(l.pointStyle,pe,E),X&&(ue[0].mrc=3);var ie=_e.selectAll("g.pointtext").data(re?ue:[]);ie.enter().append("g").classed("pointtext",!0).append("text").attr("transform",_),ie.exit().remove(),ie.selectAll("text").call(l.textPointStyle,pe,E)}function I(j){var G=j[0].trace,K=G.type==="waterfall";if(j[0]._distinct&&K){var H=j[0].trace[j[0].dir].marker;return j[0].mc=H.color,j[0].mlw=H.line.width,j[0].mlc=H.line.color,k(j,this,"waterfall")}var Z=[];G.visible&&K&&(Z=j[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 X=u.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(Z);X.enter().append("path").classed("legendwaterfall",!0).attr("transform",_).style("stroke-miterlimit",1),X.exit().remove(),X.each(function($){var Q=u.select(this),re=G[$[0]].marker,ue=D(void 0,re.line,d,p);Q.attr("d",$[1]).style("stroke-width",ue+"px").call(e.fill,re.color),ue&&Q.call(e.stroke,re.line.color)})}function z(j){k(j,this)}function R(j){k(j,this,"funnel")}function k(j,G,K){var H=j[0].trace,Z=H.marker||{},X=Z.line||{},$=Z.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=K?H.visible&&H.type===K:v.traceIs(H,"bar"),re=u.select(G).select("g.legendpoints").selectAll("path.legend"+K).data(Q?[j]:[]);re.enter().append("path").classed("legend"+K,!0).attr("d",$).attr("transform",_),re.exit().remove(),re.each(function(ue){var pe=u.select(this),ge=ue[0],Te=D(ge.mlw,Z.line,d,p);pe.style("stroke-width",Te+"px");var Se=ge.mcc;if(!g._inHover&&"mc"in ge){var Ce=t(Z),Ue=Ce.mid;Ue===void 0&&(Ue=(Ce.max+Ce.min)/2),Se=l.tryColorscale(Z,"")(Ue)}var Oe=Se||ge.mc||Z.color,_e=Z.pattern,ce=l.getPatternAttr,ie=_e&&(ce(_e.shape,0,"")||ce(_e.path,0,""));if(ie){var se=ce(_e.bgcolor,0,null),ne=ce(_e.fgcolor,0,null),be=_e.fgopacity,De=b(_e.size,8,10),qe=b(_e.solidity,.5,1),Ne="legend-"+H.uid;pe.call(l.pattern,"legend",E,Ne,ie,De,qe,Se,_e.fillmode,se,ne,be)}else pe.call(e.fill,Oe);Te&&e.stroke(pe,ge.mlc||X.color)})}function B(j){var G=j[0].trace,K=u.select(this).select("g.legendpoints").selectAll("path.legendbox").data(G.visible&&v.traceIs(G,"box-violin")?[j]:[]);K.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),K.exit().remove(),K.each(function(){var H=u.select(this);if((G.boxpoints==="all"||G.points==="all")&&e.opacity(G.fillcolor)===0&&e.opacity((G.line||{}).color)===0){var Z=w.minExtend(G,{marker:{size:m?s:w.constrain(G.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});K.call(l.pointStyle,Z,E)}else{var X=D(void 0,G.line,d,p);H.style("stroke-width",X+"px").call(e.fill,G.fillcolor),X&&e.stroke(H,G.line.color)}})}function N(j){var G=j[0].trace,K=u.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(G.visible&&G.type==="candlestick"?[j,j]:[]);K.enter().append("path").classed("legendcandle",!0).attr("d",function(H,Z){return Z?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"}).attr("transform",_).style("stroke-miterlimit",1),K.exit().remove(),K.each(function(H,Z){var X=u.select(this),$=G[Z?"increasing":"decreasing"],Q=D(void 0,$.line,d,p);X.style("stroke-width",Q+"px").call(e.fill,$.fillcolor),Q&&e.stroke(X,$.line.color)})}function q(j){var G=j[0].trace,K=u.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(G.visible&&G.type==="ohlc"?[j,j]:[]);K.enter().append("path").classed("legendohlc",!0).attr("d",function(H,Z){return Z?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"}).attr("transform",_).style("stroke-miterlimit",1),K.exit().remove(),K.each(function(H,Z){var X=u.select(this),$=G[Z?"increasing":"decreasing"],Q=D(void 0,$.line,d,p);X.style("fill","none").call(l.dashLine,$.line.dash,Q),Q&&e.stroke(X,$.line.color)})}function Y(j){te(j,this,"pie")}function ee(j){te(j,this,"funnelarea")}function te(j,G,K){var H=j[0],Z=H.trace,X=K?Z.visible&&Z.type===K:v.traceIs(Z,K),$=u.select(G).select("g.legendpoints").selectAll("path.legend"+K).data(X?[j]:[]);if($.enter().append("path").classed("legend"+K,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),$.exit().remove(),$.size()){var Q=Z.marker||{},re=D(n(Q.line.width,H.pts),Q.line,d,p),ue="pieLike",pe=w.minExtend(Z,{marker:{line:{width:re}}},ue),ge=w.minExtend(H,{trace:pe},ue);r($,ge,pe,E)}}function ae(j){var G=j[0].trace,K,H=[];if(G.visible)switch(G.type){case"histogram2d":case"heatmap":H=[["M-15,-2V4H15V-2Z"]],K=!0;break;case"choropleth":case"choroplethmap":H=[["M-6,-6V6H6V-6Z"]],K=!0;break;case"densitymap":H=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],K="radial";break;case"cone":H=[["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"]],K=!1;break;case"streamtube":H=[["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"]],K=!1;break;case"surface":H=[["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"]],K=!0;break;case"mesh3d":H=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],K=!1;break;case"volume":H=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],K=!0;break;case"isosurface":H=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],K=!1;break}var Z=u.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(H);Z.enter().append("path").classed("legend3dandfriends",!0).attr("transform",_).style("stroke-miterlimit",1),Z.exit().remove(),Z.each(function(X,$){var Q=u.select(this),re=t(G),ue=re.colorscale,pe=re.reversescale,ge=function(Ue){if(Ue.size()){var Oe="legendfill-"+G.uid;l.gradient(Ue,E,Oe,y(pe,K==="radial"),ue,"fill")}},Te;if(ue){if(!K){var Ce=ue.length;Te=$===0?ue[pe?Ce-1:0][1]:$===1?ue[pe?0:Ce-1][1]:ue[Math.floor((Ce-1)/2)][1]}}else{var Se=G.vertexcolor||G.facecolor||G.color;Te=w.isArrayOrTypedArray(Se)?Se[$]||Se[0]:Se}Q.attr("d",X[0]),Te?Q.call(e.fill,Te):Q.call(ge)})}};function y(M,A){var E=A?"radial":"horizontal";return E+(M?"":"reversed")}function o(M){var A=M[0].trace,E=A.contours,g=a.hasLines(A)||A.visible&&A.type==="quiver",T=a.hasMarkers(A),m=A.visible&&A.fill&&A.fill!=="none",h=!1,x=!1;if(E){var _=E.coloring;_==="lines"?h=!0:g=_==="none"||_==="heatmap"||E.showlines,E.type==="constraint"?m=E._operation!=="=":(_==="fill"||_==="heatmap")&&(x=!0)}return{showMarker:T,showLine:g,showFill:m,showGradientLine:h,showGradientFill:x,anyLine:g||h,anyFill:m||x}}function b(M,A,E){return M&&w.isArrayOrTypedArray(M)?A:M>E?E:M}}}),S_=xe({"src/components/legend/draw.js"(U,O){"use strict";var u=Na(),v=Sr(),w=zl(),S=Ci(),l=ip(),e=Bf(),t=go(),a=wi(),r=el(),n=T_().handleItemClick,i=T_().handleTitleClick,s=A_(),c=uc(),p=c.LINE_SPACING,f=c.FROM_TL,d=c.FROM_BR,y=xA(),o=M_(),b=o0(),M=1,A=/^legend[0-9]*$/;O.exports=function(q,Y){if(Y)g(q,Y);else{var ee=q._fullLayout,te=ee._legends,ae=ee._infolayer.selectAll('[class^="legend"]');ae.each(function(){var H=u.select(this),Z=H.attr("class"),X=Z.split(" ")[0];X.match(A)&&te.indexOf(X)===-1&&H.remove()});for(var j=0;j1)}var re=ee.hiddenlabels||[];if(!G&&(!ee.showlegend||!K.length))return j.selectAll("."+te).remove(),ee._topdefs.select("#"+ae).remove(),w.autoMargin(N,te);var ue=v.ensureSingle(j,"g",te,function(ce){G||ce.attr("pointer-events","all")}),pe=v.ensureSingleById(ee._topdefs,"clipPath",ae,function(ce){ce.append("rect")}),ge=v.ensureSingle(ue,"rect","bg",function(ce){ce.attr("shape-rendering","crispEdges")});ge.call(a.stroke,Y.bordercolor).call(a.fill,Y.bgcolor).style("stroke-width",Y.borderwidth+"px");var Te=v.ensureSingle(ue,"g","scrollbox"),Se=Y.title;Y._titleWidth=0,Y._titleHeight=0;var Ce;Se.text?(Ce=v.ensureSingle(Te,"text",te+"titletext"),Ce.attr("text-anchor","start").call(t.font,Se.font).text(Se.text),C(Ce,Te,N,Y,M),!G&&(Y.titleclick||Y.titledoubleclick)&&D(Te,N,Y,te)):(Te.selectAll("."+te+"titletext").remove(),Te.selectAll("."+te+"titletoggle").remove());var Ue=v.ensureSingle(ue,"rect","scrollbar",function(ce){ce.attr(s.scrollBarEnterAttrs).call(a.fill,s.scrollBarColor)}),Oe=Te.selectAll("g.groups").data(K);Oe.enter().append("g").attr("class","groups"),Oe.exit().remove();var _e=Oe.selectAll("g.traces").data(v.identity);_e.enter().append("g").attr("class","traces"),_e.exit().remove(),_e.style("opacity",function(ce){let ie=ce[0],se=ie.trace;if(ie.groupTitle){let ne=se.legendgroup,be=(ee.shapes||[]).filter(function(qe){return qe.showlegend});return N._fullData.concat(be).some(function(qe){return qe.legendgroup===ne&&(qe.legend||"legend")===te&&qe.visible===!0})?1:.5}return S.traceIs(se,"pie-like")?re.indexOf(ce[0].label)!==-1?.5:1:se.visible==="legendonly"?.5:1}).each(function(){u.select(this).call(h,N,Y)}).call(o,N,Y).each(function(ce){G||ce[0].groupTitle&&Y.groupclick==="toggleitem"||u.select(this).call(_,N,te)}),v.syncOrAsync([w.previousPromises,function(){return z(N,Oe,_e,Y,Te)},function(){var ce=ee._size,ie=Y.borderwidth,se=Y.xref==="paper",ne=Y.yref==="paper";if(Se.text){let ct=(ee.shapes||[]).filter(function(mt){return mt.showlegend}),ft=N._fullData.concat(ct).some(function(mt){let _t=mt.legend||"legend";var Bt=Array.isArray(_t)?_t.includes(te):_t===te;return Bt&&mt.visible===!0});Ce.style("opacity",ft?1:.5)}if(!G){var be,De;se?be=ce.l+ce.w*Y.x-f[k(Y)]*Y._width:be=ee.width*Y.x-f[k(Y)]*Y._width,ne?De=ce.t+ce.h*(1-Y.y)-f[B(Y)]*Y._effHeight:De=ee.height*(1-Y.y)-f[B(Y)]*Y._effHeight;var qe=R(N,te,be,De);if(qe)return;if(ee.margin.autoexpand){var Ne=be,ut=De;be=se?v.constrain(be,0,ee.width-Y._width):Ne,De=ne?v.constrain(De,0,ee.height-Y._effHeight):ut,be!==Ne&&v.log("Constrain "+te+".x to make legend fit inside graph"),De!==ut&&v.log("Constrain "+te+".y to make legend fit inside graph")}t.setTranslate(ue,be,De)}if(Ue.on(".drag",null),ue.on("wheel",null),G||Y._height<=Y._maxHeight||N._context.staticPlot){var ot=Y._effHeight;G&&(ot=Y._height),ge.attr({width:Y._width-ie,height:ot-ie,x:ie/2,y:ie/2}),t.setTranslate(Te,0,0),pe.select("rect").attr({width:Y._width-2*ie,height:ot-2*ie,x:ie,y:ie}),t.setClipUrl(Te,ae,N),t.setRect(Ue,0,0,0,0),delete Y._scrollY}else{var yt=Math.max(s.scrollBarMinHeight,Y._effHeight*Y._effHeight/Y._height),At=Y._effHeight-yt-2*s.scrollBarMargin,It=Y._height-Y._effHeight,Zt=At/It,vr=Math.min(Y._scrollY||0,It);ge.attr({width:Y._width-2*ie+s.scrollBarWidth+s.scrollBarMargin,height:Y._effHeight-ie,x:ie/2,y:ie/2}),pe.select("rect").attr({width:Y._width-2*ie+s.scrollBarWidth+s.scrollBarMargin,height:Y._effHeight-2*ie,x:ie,y:ie+vr}),t.setClipUrl(Te,ae,N),Ie(vr,yt,Zt),ue.on("wheel",function(){vr=v.constrain(Y._scrollY+u.event.deltaY/It*At,0,It),Ie(vr,yt,Zt),vr!==0&&vr!==It&&u.event.preventDefault()});var Ut,Jt,at,Ee=function(ct,ft,mt){var _t=(mt-ft)/Zt+ct;return v.constrain(_t,0,It)},Re=function(ct,ft,mt){var _t=(ft-mt)/Zt+ct;return v.constrain(_t,0,It)},he=u.behavior.drag().on("dragstart",function(){var ct=u.event.sourceEvent;ct.type==="touchstart"?Ut=ct.changedTouches[0].clientY:Ut=ct.clientY,at=vr}).on("drag",function(){var ct=u.event.sourceEvent;ct.buttons===2||ct.ctrlKey||(ct.type==="touchmove"?Jt=ct.changedTouches[0].clientY:Jt=ct.clientY,vr=Ee(at,Ut,Jt),Ie(vr,yt,Zt))});Ue.call(he);var ye=u.behavior.drag().on("dragstart",function(){var ct=u.event.sourceEvent;ct.type==="touchstart"&&(Ut=ct.changedTouches[0].clientY,at=vr)}).on("drag",function(){var ct=u.event.sourceEvent;ct.type==="touchmove"&&(Jt=ct.changedTouches[0].clientY,vr=Re(at,Ut,Jt),Ie(vr,yt,Zt))});Te.call(ye)}function Ie(ct,ft,mt){Y._scrollY=N._fullLayout[te]._scrollY=ct,t.setTranslate(Te,0,-ct),t.setRect(Ue,Y._width,s.scrollBarMargin+ct*mt,s.scrollBarWidth,ft),pe.select("rect").attr("y",ie+ct)}if(N._context.edits.legendPosition){var Fe,He,We,pt;ue.classed("cursor-move",!0),e.init({element:ue.node(),gd:N,prepFn:function(ct){if(ct.target!==Ue.node()){var ft=t.getTranslate(ue);We=ft.x,pt=ft.y}},moveFn:function(ct,ft){if(We!==void 0&&pt!==void 0){var mt=We+ct,_t=pt+ft;t.setTranslate(ue,mt,_t),Fe=e.align(mt,Y._width,ce.l,ce.l+ce.w,Y.xanchor),He=e.align(_t+Y._height,-Y._height,ce.t+ce.h,ce.t,Y.yanchor)}},doneFn:function(){if(Fe!==void 0&&He!==void 0){var ct={};ct[te+".x"]=Fe,ct[te+".y"]=He,S.call("_guiRelayout",N,ct)}},clickFn:function(ct,ft){var mt=j.selectAll("g.traces").filter(function(){var _t=this.getBoundingClientRect();return ft.clientX>=_t.left&&ft.clientX<=_t.right&&ft.clientY>=_t.top&&ft.clientY<=_t.bottom});mt.size()>0&&m(N,Y,mt,ct,ft)}})}}],N)}}function T(N,q,Y){var ee=N[0],te=ee.width,ae=q.entrywidthmode,j=ee.trace.legendwidth||q.entrywidth;return ae==="fraction"?q._maxWidth*j:Y+(j||te)}function m(N,q,Y,ee,te){var ae=N._fullLayout,j=Y.data()[0][0].trace,G=q.itemclick,K=q.itemdoubleclick,H={event:te,node:Y.node(),curveNumber:j.index,expandedIndex:j.index,data:N.data,layout:N.layout,frames:N._transitionData._frames,config:N._context,fullData:N._fullData,fullLayout:ae};j._group&&(H.group=j._group),S.traceIs(j,"pie-like")&&(H.label=Y.datum()[0].label);var Z=l.triggerHandler(N,"plotly_legendclick",H);if(ee===1){if(Z===!1)return;q._clickTimeout=setTimeout(function(){N._fullLayout&&G&&n(Y,N,q,G)},N._context.doubleClickDelay)}else if(ee===2){q._clickTimeout&&clearTimeout(q._clickTimeout),N._legendMouseDownTime=0;var X=l.triggerHandler(N,"plotly_legenddoubleclick",H);X!==!1&&Z!==!1&&K&&n(Y,N,q,K)}}function h(N,q,Y){var ee=b.getId(Y),te=N.data()[0][0],ae=te.trace,j=S.traceIs(ae,"pie-like"),G=!Y._inHover&&q._context.edits.legendText&&!j,K=Y._maxNameLength,H,Z;te.groupTitle?(H=te.groupTitle.text,Z=te.groupTitle.font):(Z=Y.font,Y.entries?H=te.text:(H=j?te.label:ae.name,ae._meta&&(H=v.templateString(H,ae._meta))));var X=v.ensureSingle(N,"text",ee+"text");X.attr("text-anchor","start").call(t.font,Z).text(G?x(H,K):H);var $=Y.indentation+Y.itemwidth+s.itemGap*2;r.positionText(X,$,0),G?X.call(r.makeEditable,{gd:q,text:H}).call(C,N,q,Y).on("edit",function(Q){this.text(x(Q,K)).call(C,N,q,Y);var re={};return re.name=Q,te.trace._isShape?S.call("_guiRelayout",q,"shapes["+ae.index+"].name",re.name):S.call("_guiRestyle",q,re,ae.index)}):C(X,N,q,Y)}function x(N,q){var Y=Math.max(4,q);if(N&&N.trim().length>=Y/2)return N;N=N||"";for(var ee=Y-N.length;ee>0;ee--)N+=" ";return N}function _(N,q,Y){var ee=q._context.doubleClickDelay,te,ae=1,j=v.ensureSingle(N,"rect",Y+"toggle",function(G){q._context.staticPlot||G.style("cursor","pointer").attr("pointer-events","all"),G.call(a.fill,"rgba(0,0,0,0)")});q._context.staticPlot||(j.on("mousedown",function(){te=new Date().getTime(),te-q._legendMouseDownTimeee&&(ae=Math.max(ae-1,1)),m(q,G,N,ae,u.event)}}))}function D(N,q,Y,ee){if(q._fullData.some(function(H){let Z=H.legend||"legend";return(Array.isArray(Z)?Z.includes(ee):Z===ee)&&S.traceIs(H,"pie-like")}))return;let ae=q._context.doubleClickDelay;var j,G=1;let K=v.ensureSingle(N,"rect",ee+"titletoggle",function(H){q._context.staticPlot||H.style("cursor","pointer").attr("pointer-events","all"),H.call(a.fill,"rgba(0,0,0,0)")});q._context.staticPlot||(K.on("mousedown",function(){j=new Date().getTime(),j-q._legendMouseDownTimeae&&(G=Math.max(G-1,1));let H={event:u.event,legendId:ee,data:q.data,layout:q.layout,fullData:q._fullData,fullLayout:q._fullLayout};if(G===1&&Y.titleclick){if(l.triggerHandler(q,"plotly_legendtitleclick",H)===!1)return;Y._titleClickTimeout=setTimeout(function(){q._fullLayout&&i(q,Y,Y.titleclick)},ae)}else G===2&&(Y._titleClickTimeout&&clearTimeout(Y._titleClickTimeout),q._legendMouseDownTime=0,l.triggerHandler(q,"plotly_legendtitledoubleclick",H)!==!1&&Y.titledoubleclick&&i(q,Y,Y.titledoubleclick))}))}function C(N,q,Y,ee,te){ee._inHover&&N.attr("data-notex",!0),r.convertToTspans(N,Y,function(){F(q,Y,ee,te)})}function F(N,q,Y,ee){var te=N.data()[0][0],ae=te&&te.trace.showlegend;if(Array.isArray(ae)&&(ae=ae[te.i]!==!1),!Y._inHover&&te&&!ae){N.remove();return}var j=N.select("g[class*=math-group]"),G=j.node(),K=b.getId(Y);Y||(Y=q._fullLayout[K]);var H=Y.borderwidth,Z;ee===M?Z=Y.title.font:te.groupTitle?Z=te.groupTitle.font:Z=Y.font;var X=Z.size*p,$,Q;if(G){var re=t.bBox(G);$=re.height,Q=re.width,ee===M?t.setTranslate(j,H,H+$*.75):t.setTranslate(j,0,$*.25)}else{var ue="."+K+(ee===M?"title":"")+"text",pe=N.select(ue),ge=r.lineCount(pe),Te=pe.node();if($=X*ge,Q=Te?t.bBox(Te).width:0,ee===M)Y.title.side==="left"&&(Q+=s.itemGap*2),r.positionText(pe,H+s.titlePad,H+X);else{var Se=s.itemGap*2+Y.indentation+Y.itemwidth;te.groupTitle&&(Se=s.itemGap,Q-=Y.indentation+Y.itemwidth),r.positionText(pe,Se,-X*((ge-1)/2-.3))}}ee===M?(Y._titleWidth=Q,Y._titleHeight=$):(te.lineHeight=X,te.height=Math.max($,16)+3,te.width=Q)}function I(N){var q=0,Y=0,ee=N.title.side;return ee&&(ee.indexOf("left")!==-1&&(q=N._titleWidth),ee.indexOf("top")!==-1&&(Y=N._titleHeight)),[q,Y]}function z(N,q,Y,ee,te){var ae=N._fullLayout,j=b.getId(ee);ee||(ee=ae[j]);var G=ae._size,K=b.isVertical(ee),H=b.isGrouped(ee),Z=ee.entrywidthmode==="fraction",X=ee.borderwidth,$=2*X,Q=s.itemGap,re=ee.indentation+ee.itemwidth+Q*2,ue=2*(X+Q),pe=B(ee),ge=ee.y<0||ee.y===0&&pe==="top",Te=ee.y>1||ee.y===1&&pe==="bottom",Se=ee.tracegroupgap,Ce={};let{orientation:Ue,yref:Oe}=ee,{maxheight:_e}=ee,ce=ge||Te||Ue!=="v"||Oe!=="paper";_e||(_e=ce?.5:1);let ie=ce?ae.height:G.h;ee._maxHeight=Math.max(_e>1?_e:_e*ie,30);var se=0;ee._width=0,ee._height=0;var ne=I(ee);if(K)Y.each(function(ct){var ft=ct[0].height;t.setTranslate(this,X+ne[0],X+ne[1]+ee._height+ft/2+Q),ee._height+=ft,ee._width=Math.max(ee._width,ct[0].width)}),se=re+ee._width,ee._width+=Q+re+$,ee._height+=ue,H&&(q.each(function(ct,ft){t.setTranslate(this,0,ft*ee.tracegroupgap)}),ee._height+=(ee._lgroupsLength-1)*ee.tracegroupgap);else{var be=k(ee),De=ee.x<0||ee.x===0&&be==="right",qe=ee.x>1||ee.x===1&&be==="left",Ne=Te||ge,ut=ae.width/2;ee._maxWidth=Math.max(De?Ne&&be==="left"?G.l+G.w:ut:qe?Ne&&be==="right"?G.r+G.w:ut:G.w,2*re);var ot=0,yt=0;Y.each(function(ct){var ft=T(ct,ee,re);ot=Math.max(ot,ft),yt+=ft}),se=null;var At=0;if(H){var It=0,Zt=0,vr=0;q.each(function(){var ct=0,ft=0;u.select(this).selectAll("g.traces").each(function(_t){var Bt=T(_t,ee,re),Et=_t[0].height;t.setTranslate(this,ne[0],ne[1]+X+Q+Et/2+ft),ft+=Et,ct=Math.max(ct,Bt),Ce[_t[0].trace.legendgroup]=ct});var mt=ct+Q;Zt>0&&mt+X+Zt>ee._maxWidth?(At=Math.max(At,Zt),Zt=0,vr+=It+Se,It=ft):It=Math.max(It,ft),t.setTranslate(this,Zt,vr),Zt+=mt}),ee._width=Math.max(At,Zt)+X,ee._height=vr+It+ue}else{var Ut=Y.size(),Jt=yt+$+(Ut-1)*Q=ee._maxWidth&&(At=Math.max(At,he),Ee=0,Re+=at,ee._height+=at,at=0),t.setTranslate(this,ne[0]+X+Ee,ne[1]+X+Re+ft/2+Q),he=Ee+mt+Q,Ee+=_t,at=Math.max(at,ft)}),Jt?(ee._width=Ee+$,ee._height=at+ue):(ee._width=Math.max(At,he)+$,ee._height+=at+ue)}}ee._width=Math.ceil(Math.max(ee._width+ne[0],ee._titleWidth+2*(X+s.titlePad))),ee._height=Math.ceil(Math.max(ee._height+ne[1],ee._titleHeight+2*(X+s.itemGap))),ee._effHeight=Math.min(ee._height,ee._maxHeight);var ye=N._context.edits,Ie=ye.legendText||ye.legendPosition;Y.each(function(ct){var ft=u.select(this).select("."+j+"toggle"),mt=ct[0].height,_t=ct[0].trace.legendgroup,Bt=T(ct,ee,re);H&&_t!==""&&(Bt=Ce[_t]);var Et=Ie?re:se||Bt;!K&&!Z&&(Et+=Q/2),t.setRect(ft,0,-mt/2,Et,mt)});var Fe=te.select("."+j+"titletext");Fe.node()&&E(Fe,ee,X);var He=te.select("."+j+"titletoggle");if(He.size()&&Fe.node()){var We=Fe.attr("x")||0,pt=s.titlePad;t.setRect(He,We-pt,X,ee._titleWidth+2*pt,ee._titleHeight+2*pt)}}function R(N,q,Y,ee){var te=N._fullLayout,ae=te[q],j=k(ae),G=B(ae),K=ae.xref==="paper",H=ae.yref==="paper";N._fullLayout._reservedMargin[q]={};var Z=ae.y<.5?"b":"t",X=ae.x<.5?"l":"r",$={r:te.width-Y,l:Y+ae._width,b:te.height-ee,t:ee+ae._effHeight};if(K&&H)return w.autoMargin(N,q,{x:ae.x,y:ae.y,l:ae._width*f[j],r:ae._width*d[j],b:ae._effHeight*d[G],t:ae._effHeight*f[G]});K?N._fullLayout._reservedMargin[q][Z]=$[Z]:H||ae.orientation==="v"?N._fullLayout._reservedMargin[q][X]=$[X]:N._fullLayout._reservedMargin[q][Z]=$[Z]}function k(N){return v.isRightAnchor(N)?"right":v.isCenterAnchor(N)?"center":"left"}function B(N){return v.isBottomAnchor(N)?"bottom":v.isMiddleAnchor(N)?"middle":"top"}}}),E_=xe({"src/components/fx/hover.js"(U){"use strict";var O=Na(),u=yn(),v=Sr(),w=v.pushUnique,S=v.strTranslate,l=v.strRotate,e=ip(),t=el(),a=bA(),r=go(),n=wi(),i=Bf(),s=uo(),c=lc().zindexSeparator,p=Ci(),f=Kf(),d=uv(),y=w_(),o=S_(),b=d.YANGLE,M=Math.PI*b/180,A=1/Math.sin(M),E=Math.cos(M),g=Math.sin(M),T=d.HOVERARROWSIZE,m=d.HOVERTEXTPAD,h={box:!0,ohlc:!0,violin:!0,candlestick:!0},x={scatter:!0,scattergl:!0,splom:!0};function _(X,$){return X.distance-$.distance}U.hover=function($,Q,re,ue){$=v.getGraphDiv($);var pe=Q.target;v.throttle($._fullLayout._uid+d.HOVERID,d.HOVERMINTIME,function(){D($,Q,re,ue,pe)})},U.loneHover=function($,Q){var re=!0;Array.isArray($)||(re=!1,$=[$]);var ue=Q.gd,pe=K(ue),ge=H(ue),Te=$.map(function(ne){var be=ne._x0||ne.x0||ne.x||0,De=ne._x1||ne.x1||ne.x||0,qe=ne._y0||ne.y0||ne.y||0,Ne=ne._y1||ne.y1||ne.y||0,ut=ne.eventData;if(ut){var ot=Math.min(be,De),yt=Math.max(be,De),At=Math.min(qe,Ne),It=Math.max(qe,Ne),Zt=ne.trace;if(p.traceIs(Zt,"gl3d")){var vr=ue._fullLayout[Zt.scene]._scene.container,Ut=vr.offsetLeft,Jt=vr.offsetTop;ot+=Ut,yt+=Ut,At+=Jt,It+=Jt}ut.bbox={x0:ot+ge,x1:yt+ge,y0:At+pe,y1:It+pe},ut.xPixel=(be+De)/2,ut.yPixel=(qe+Ne)/2,Q.inOut_bbox&&Q.inOut_bbox.push(ut.bbox)}else ut=!1;return{color:ne.color||n.defaultLine,x0:ne.x0||ne.x||0,x1:ne.x1||ne.x||0,y0:ne.y0||ne.y||0,y1:ne.y1||ne.y||0,xLabel:ne.xLabel,yLabel:ne.yLabel,zLabel:ne.zLabel,text:ne.text,name:ne.name,idealAlign:ne.idealAlign,borderColor:ne.borderColor,fontFamily:ne.fontFamily,fontSize:ne.fontSize,fontColor:ne.fontColor,fontWeight:ne.fontWeight,fontStyle:ne.fontStyle,fontVariant:ne.fontVariant,nameLength:ne.nameLength,textAlign:ne.textAlign,trace:ne.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:ne.hovertemplate||!1,hovertemplateLabels:ne.hovertemplateLabels||!1,eventData:ut}}),Se=!1,Ce=I(Te,{gd:ue,hovermode:"closest",rotateLabels:Se,bgColor:Q.bgColor||n.background,container:O.select(Q.container),outerContainer:Q.outerContainer||Q.container}),Ue=Ce.hoverLabels,Oe=5,_e=0,ce=0;Ue.sort(function(ne,be){return ne.y0-be.y0}).each(function(ne,be){var De=ne.y0-ne.by/2;De-Oe<_e?ne.offset=_e-De+Oe:ne.offset=0,_e=De+ne.by+ne.offset,be===Q.anchorIndex&&(ce=ne.offset)}).each(function(ne){ne.offset-=ce});var ie=ue._fullLayout._invScaleX,se=ue._fullLayout._invScaleY;return N(Ue,Se,ie,se),re?Ue:Ue.node()};function D(X,$,Q,re,ue){Q||(Q="xy"),typeof Q=="string"&&(Q=Q.split(c)[0]);var pe=Array.isArray(Q)?Q:[Q],ge,Te=X._fullLayout,Se=Te.hoversubplots,Ce=Te._plots||[],Ue=Ce[Q],Oe=Te._has("cartesian"),_e=$.hovermode||Te.hovermode,ce=(_e||"").charAt(0)==="x",ie=(_e||"").charAt(0)==="y",se,ne;if(Oe&&(ce||ie)&&Se==="axis"){for(var be=pe.length,De=0;Deyt[0]._length||wa<0||wa>At[0]._length)return i.unhoverRaw(X,$)}if($.pointerX=na+yt[0]._offset,$.pointerY=wa+At[0]._offset,"xval"in $?Re=f.flat(pe,$.xval):Re=f.p2c(yt,na),"yval"in $?he=f.flat(pe,$.yval):he=f.p2c(At,wa),!u(Re[0])||!u(he[0]))return v.warn("Fx.hover failed",$,X),i.unhoverRaw(X,$)}Te.clickanywhere&&(X._hoverXVals=Re,X._hoverYVals=he,X._hoverXAxes=yt,X._hoverYAxes=At);var za=1/0;function Ia(Vn,Bo){for(Ie=0;IeBt&&(at.splice(0,Bt),za=at[0].distance),Oe&&Jt!==0&&at.length===0){_t.distance=Jt,_t.index=!1;var Co=He._module.hoverPoints(_t,ft,mt,"closest",{hoverLayer:Te._hoverlayer});if(Co&&(Co=Co.filter(function(ro){return ro.spikeDistance<=Jt})),Co&&Co.length){var Wo,Po=Co.filter(function(ro){return ro.xa.showspikes&&ro.xa.spikesnap!=="hovered data"});if(Po.length){var vi=Po[0];u(vi.x0)&&u(vi.y0)&&(Wo=Oa(vi),(!Et.vLinePoint||Et.vLinePoint.spikeDistance>Wo.spikeDistance)&&(Et.vLinePoint=Wo))}var zi=Co.filter(function(ro){return ro.ya.showspikes&&ro.ya.spikesnap!=="hovered data"});if(zi.length){var ho=zi[0];u(ho.x0)&&u(ho.y0)&&(Wo=Oa(ho),(!Et.hLinePoint||Et.hLinePoint.spikeDistance>Wo.spikeDistance)&&(Et.hLinePoint=Wo))}}}}}Ia();function Va(Vn,Bo,Mo){for(var co=null,Ro=1/0,ao,Co=0;CoVn.trace.index===ji.trace.index):at=[ji];var Zi=at.length,un=G("x",ji,Te),rn=G("y",ji,Te);Ia(un,rn);var nt=[],Ke={},Qt=0,Xt=function(Vn){var Bo=h[Vn.trace.type]?C(Vn):Vn.trace.index;if(!Ke[Bo])Qt++,Ke[Bo]=Qt,nt.push(Vn);else{var Mo=Ke[Bo]-1,co=nt[Mo];Mo>0&&Math.abs(Vn.distance)Zi-1;nr--)Xt(at[nr]);at=nt,$n()}var cr=X._hoverdata,rr=[],Ze=K(X),xt=H(X);for(let Vn of at){var Vt=f.makeEventData(Vn,Vn.trace,Vn.cd);if(Vn.hovertemplate!==!1){var er=!1;Vn.cd[Vn.index]&&Vn.cd[Vn.index].ht&&(er=Vn.cd[Vn.index].ht),Vn.hovertemplate=er||Vn.trace.hovertemplate||!1}if(Vn.xa&&Vn.ya){var Tr=Vn.x0+Vn.xa._offset,jr=Vn.x1+Vn.xa._offset,Fr=Vn.y0+Vn.ya._offset,kr=Vn.y1+Vn.ya._offset,ra=Math.min(Tr,jr),ja=Math.max(Tr,jr),La=Math.min(Fr,kr),Dn=Math.max(Fr,kr);Vt.bbox={x0:ra+xt,x1:ja+xt,y0:La+Ze,y1:Dn+Ze},Vt.xPixel=(Tr+jr)/2,Vt.yPixel=(Fr+kr)/2}Vn.eventData=[Vt],rr.push(Vt)}X._hoverdata=rr;var Mn=_e==="y"&&(Ee.length>1||at.length>1)||_e==="closest"&&hr&&at.length>1,_i=n.combine(Te.plot_bgcolor||n.background,Te.paper_bgcolor),ti=I(at,{gd:X,hovermode:_e,rotateLabels:Mn,bgColor:_i,container:Te._hoverlayer,outerContainer:Te._paper.node(),commonLabelOpts:Te.hoverlabel,hoverdistance:Te.hoverdistance}),Si=ti.hoverLabels;if(f.isUnifiedHover(_e)||(R(Si,Mn,Te,ti.commonLabelBoundingBox),N(Si,Mn,Te._invScaleX,Te._invScaleY)),ue&&ue.tagName){var ai=p.getComponentMethod("annotations","hasClickToShow")(X,rr);a(O.select(ue),ai?"pointer":"")}var Ao=ee(X,$,cr);if(!ue||re||!Ao&&!Te.hoveranywhere)return;cr&&Ao&&X.emit("plotly_unhover",{event:$,points:cr}),yo(X._hoverdata);function yo(Vn){X.emit("plotly_hover",{event:$,points:Vn,xaxes:yt,yaxes:At,xvals:Re,yvals:he})}}function C(X){return[X.trace.index,X.index,X.x0,X.y0,X.name,X.attr,X.xa?X.xa._id:"",X.ya?X.ya._id:""].join(",")}var F=/([\s\S]*)<\/extra>/;function I(X,$){var Q=$.gd,re=Q._fullLayout,ue=$.hovermode,pe=$.rotateLabels,ge=$.bgColor,Te=$.container,Se=$.outerContainer,Ce=$.commonLabelOpts||{};if(X.length===0)return[[]];var Ue=$.fontFamily||d.HOVERFONT,Oe=$.fontSize||d.HOVERFONTSIZE,_e=$.fontWeight||re.font.weight,ce=$.fontStyle||re.font.style,ie=$.fontVariant||re.font.variant,se=$.fontTextcase||re.font.textcase,ne=$.fontLineposition||re.font.lineposition,be=$.fontShadow||re.font.shadow,De=X[0],qe=De.xa,Ne=De.ya,ut=ue.charAt(0),ot=ut+"Label",yt=De[ot];if(yt===void 0&&qe.type==="multicategory")for(var At=0;Atre.width-rr&&(Ze=re.width-rr),Ln.attr("d","M"+(Xt-Ze)+",0L"+(Xt-Ze+T)+","+cr+T+"H"+rr+"v"+cr+(m*2+Qt.height)+"H"+-rr+"V"+cr+T+"H"+(Xt-Ze-T)+"Z"),Xt=Ze,Ie.minX=Xt-rr,Ie.maxX=Xt+rr,qe.side==="top"?(Ie.minY=nr-(m*2+Qt.height),Ie.maxY=nr-m):(Ie.minY=nr+m,Ie.maxY=nr+(m*2+Qt.height))}else{var xt,Vt,er;Ne.side==="right"?(xt="start",Vt=1,er="",Xt=qe._offset+qe._length):(xt="end",Vt=-1,er="-",Xt=qe._offset),nr=Ne._offset+(De.y0+De.y1)/2,ji.attr("text-anchor",xt),Ln.attr("d","M0,0L"+er+T+","+T+"V"+(m+Qt.height/2)+"h"+er+(m*2+Qt.width)+"V-"+(m+Qt.height/2)+"H"+er+T+"V-"+T+"Z"),Ie.minY=nr-(m+Qt.height/2),Ie.maxY=nr+(m+Qt.height/2),Ne.side==="right"?(Ie.minX=Xt+T,Ie.maxX=Xt+T+(m*2+Qt.width)):(Ie.minX=Xt-T-(m*2+Qt.width),Ie.maxX=Xt-T);var Tr=Qt.height/2,jr=Zt-Qt.top-Tr,Fr="clip"+re._uid+"commonlabel"+Ne._id,kr;if(XtLn.hoverinfo!=="none");if(_n.length===0)return[];var Fe=re.hoverlabel,He=Fe.font,We=_n[0],pt=((ue==="x unified"?We.xa:We.ya).unifiedhovertitle||{}).text,ct=pt?v.hovertemplateString({data:ue==="x unified"?[{xa:We.xa,x:We.xVal}]:[{ya:We.ya,y:We.yVal}],fallback:We.trace.hovertemplatefallback,locale:re._d3locale,template:pt}):yt,ft={showlegend:!0,legend:{title:{text:ct,font:He},font:He,bgcolor:Fe.bgcolor,bordercolor:Fe.bordercolor,borderwidth:1,tracegroupgap:7,traceorder:re.legend?re.legend.traceorder:void 0,orientation:"v"}},mt={font:He};y(ft,mt,Q._fullData);var _t=mt.legend;_t.entries=[];for(var Bt=0;Bt<_n.length;Bt++){var Et=_n[Bt];if(Et.hoverinfo!=="none"){var hr=z(Et,!0,ue,re,yt),$r=hr[0],ca=hr[1];Et.name=ca,ca!==""?Et.text=ca+" : "+$r:Et.text=$r;var na=Et.cd[Et.index];na&&(na.mc&&(Et.mc=na.mc),na.mcc&&(Et.mc=na.mcc),na.mlc&&(Et.mlc=na.mlc),na.mlcc&&(Et.mlc=na.mlcc),na.mlw&&(Et.mlw=na.mlw),na.mrc&&(Et.mrc=na.mrc),na.dir&&(Et.dir=na.dir)),Et._distinct=!0,_t.entries.push([Et])}}_t.entries.sort(function(Ln,ji){var Zi=re.hoversort;if(Zi==="value descending"||Zi==="value ascending"){var un=ue.charAt(0)==="x"?"y":"x",rn=Ln[0][un+"LabelVal"],nt=ji[0][un+"LabelVal"];if(rn!==nt)return Zi==="value descending"?nt-rn:rn-nt}return Ln[0].trace.index-ji[0].trace.index}),_t.layer=Te,_t._inHover=!0,_t._groupTitleFont=Fe.grouptitlefont,o(Q,_t);var wa=Te.select("g.legend"),pa=Z(Q,wa.node()),fa=pa.width+2*m,za=pa.height+2*m,Ia=_n[0],Va=(Ia.x0+Ia.x1)/2,Oa=(Ia.y0+Ia.y1)/2,tn=!(p.traceIs(Ia.trace,"bar-like")||p.traceIs(Ia.trace,"box-violin")),ka,oi;ut==="y"?tn?(oi=Oa-m,ka=Oa+m):(oi=Math.min.apply(null,_n.map(function(Ln){return Math.min(Ln.y0,Ln.y1)})),ka=Math.max.apply(null,_n.map(function(Ln){return Math.max(Ln.y0,Ln.y1)}))):oi=ka=v.mean(_n.map(function(Ln){return(Ln.y0+Ln.y1)/2}))-za/2;var $n,bn;ut==="x"?tn?($n=Va+m,bn=Va-m):($n=Math.max.apply(null,_n.map(function(Ln){return Math.max(Ln.x0,Ln.x1)})),bn=Math.min.apply(null,_n.map(function(Ln){return Math.min(Ln.x0,Ln.x1)}))):$n=bn=v.mean(_n.map(function(Ln){return(Ln.x0+Ln.x1)/2}))-fa/2;var ci=qe._offset,hi=Ne._offset;ka+=hi,$n+=ci,bn+=ci-fa,oi+=hi-za;var Pi,Jn;return $n+fa=0?Pi=$n:bn+fa=0?Pi=bn:ci+fa=0?Jn=ka:oi+za=0?Jn=oi:hi+za=0,(_n.idealAlign==="top"||!La)&&Dn?(er-=jr/2,_n.anchor="end"):La?(er+=jr/2,_n.anchor="start"):_n.anchor="middle",_n.crossPos=er;else{if(_n.pos=er,La=Vt+Tr/2+ja<=vr,Dn=Vt-Tr/2-ja>=0,(_n.idealAlign==="left"||!La)&&Dn)Vt-=Tr/2,_n.anchor="end";else if(La)Vt+=Tr/2,_n.anchor="start";else{_n.anchor="middle";var Mn=ja/2,_i=Vt+Mn-vr,ti=Vt-Mn;_i>0&&(Vt-=_i),ti<0&&(Vt+=-ti)}_n.crossPos=Vt}nr.attr("text-anchor",_n.anchor),rr&&cr.attr("text-anchor",_n.anchor),Ln.attr("transform",S(Vt,er)+(pe?l(b):""))}),{hoverLabels:Ti,commonLabelBoundingBox:Ie}}function z(X,$,Q,re,ue,pe){var ge,Te,Se="",Ce="";X.nameOverride!==void 0&&(X.name=X.nameOverride),X.name&&(X.trace._meta&&(X.name=v.templateString(X.name,X.trace._meta)),Se=ae(X.name,X.nameLength));var Ue=Q.charAt(0),Oe=Ue==="x"?"y":"x";X.zLabel!==void 0?(X.xLabel!==void 0&&(Ce+="x: "+X.xLabel+"
"),X.yLabel!==void 0&&(Ce+="y: "+X.yLabel+"
"),X.trace.type!=="choropleth"&&X.trace.type!=="choroplethmap"&&(Ce+=(Ce?"z: ":"")+X.zLabel)):$&&X[Ue+"Label"]===ue?Ce=X[Oe+"Label"]||"":X.xLabel===void 0?X.yLabel!==void 0&&X.trace.type!=="scattercarpet"&&(Ce=X.yLabel):X.yLabel===void 0?Ce=X.xLabel:Ce="("+X.xLabel+", "+X.yLabel+")",(X.text||X.text===0)&&!Array.isArray(X.text)&&(Ce+=(Ce?"
":"")+X.text),X.extraText!==void 0&&(Ce+=(Ce?"
":"")+X.extraText),pe&&Ce===""&&!X.hovertemplate&&(Se===""&&pe.remove(),Ce=Se),(Te=(ge=X.trace)==null?void 0:ge.hoverlabel)!=null&&Te.split&&(X.hovertemplate="");let{hovertemplate:_e=!1}=X;if(_e){let ce=X.hovertemplateLabels||X;X[Ue+"Label"]!==ue&&(ce[Ue+"other"]=ce[Ue+"Val"],ce[Ue+"otherLabel"]=ce[Ue+"Label"]),Ce=v.hovertemplateString({data:[X.eventData[0]||{},X.trace._meta],fallback:X.trace.hovertemplatefallback,labels:ce,locale:re._d3locale,template:_e}),Ce=Ce.replace(F,(ie,se)=>(Se=ae(se,X.nameLength),""))}return[Ce,Se]}function R(X,$,Q,re){var ue=$?"xa":"ya",pe=$?"ya":"xa",ge=0,Te=1,Se=X.size(),Ce=new Array(Se),Ue=0,Oe=re.minX,_e=re.maxX,ce=re.minY,ie=re.maxY,se=function(Re){return Re*Q._invScaleX},ne=function(Re){return Re*Q._invScaleY};X.each(function(Re){var he=Re[ue],ye=Re[pe],Ie=he._id.charAt(0)==="x",Fe=he.range;Ue===0&&Fe&&Fe[0]>Fe[1]!==Ie&&(Te=-1);var He=0,We=Ie?Q.width:Q.height;if(Q.hovermode==="x"||Q.hovermode==="y"){var pt=k(Re,$),ct=Re.anchor,ft=ct==="end"?-1:1,mt,_t;if(ct==="middle")mt=Re.crossPos+(Ie?ne(pt.y-Re.by/2):se(Re.bx/2+Re.tx2width/2)),_t=mt+(Ie?ne(Re.by):se(Re.bx));else if(Ie)mt=Re.crossPos+ne(T+pt.y)-ne(Re.by/2-T),_t=mt+ne(Re.by);else{var Bt=se(ft*T+pt.x),Et=Bt+se(ft*Re.bx);mt=Re.crossPos+Math.min(Bt,Et),_t=Re.crossPos+Math.max(Bt,Et)}Ie?ce!==void 0&&ie!==void 0&&Math.min(_t,ie)-Math.max(mt,ce)>1&&(ye.side==="left"?(He=ye._mainLinePosition,We=Q.width):We=ye._mainLinePosition):Oe!==void 0&&_e!==void 0&&Math.min(_t,_e)-Math.max(mt,Oe)>1&&(ye.side==="top"?(He=ye._mainLinePosition,We=Q.height):We=ye._mainLinePosition)}Ce[Ue++]=[{datum:Re,traceIndex:Re.trace.index,dp:0,pos:Re.pos,posref:Re.posref,size:Re.by*(Ie?A:1)/2,pmin:He,pmax:We}]}),Ce.sort(function(Re,he){return Re[0].posref-he[0].posref||Te*(he[0].traceIndex-Re[0].traceIndex)});var be,De,qe,Ne,ut,ot,yt;function At(Re){var he=Re[0],ye=Re[Re.length-1];if(De=he.pmin-he.pos-he.dp+he.size,qe=ye.pos+ye.dp+ye.size-he.pmax,De>.01){for(ut=Re.length-1;ut>=0;ut--)Re[ut].dp+=De;be=!1}if(!(qe<.01)){if(De<-.01){for(ut=Re.length-1;ut>=0;ut--)Re[ut].dp-=qe;be=!1}if(be){var Ie=0;for(Ne=0;Nehe.pmax&&Ie++;for(Ne=Re.length-1;Ne>=0&&!(Ie<=0);Ne--)ot=Re[Ne],ot.pos>he.pmax-1&&(ot.del=!0,Ie--);for(Ne=0;Ne=0;ut--)Re[ut].dp-=qe;for(Ne=Re.length-1;Ne>=0&&!(Ie<=0);Ne--)ot=Re[Ne],ot.pos+ot.dp+ot.size>he.pmax&&(ot.del=!0,Ie--)}}}for(;!be&&ge<=Se;){for(ge++,be=!0,Ne=0;Ne.01){for(ut=Zt.length-1;ut>=0;ut--)Zt[ut].dp+=De;for(It.push.apply(It,Zt),Ce.splice(Ne+1,1),yt=0,ut=It.length-1;ut>=0;ut--)yt+=It[ut].dp;for(qe=yt/It.length,ut=It.length-1;ut>=0;ut--)It[ut].dp-=qe;be=!1}else Ne++}Ce.forEach(At)}for(Ne=Ce.length-1;Ne>=0;Ne--){var Jt=Ce[Ne];for(ut=Jt.length-1;ut>=0;ut--){var at=Jt[ut],Ee=at.datum;Ee.offset=at.dp,Ee.del=at.del}}}function k(X,$){var Q=0,re=X.offset;return $&&(re*=-g,Q=X.offset*E),{x:Q,y:re}}function B(X){var $={start:1,end:-1,middle:0}[X.anchor],Q=$*(T+m),re=Q+$*(X.txwidth+m),ue=X.anchor==="middle";return ue&&(Q-=X.tx2width/2,re+=X.txwidth/2+m),{alignShift:$,textShiftX:Q,text2ShiftX:re}}function N(X,$,Q,re){var ue=function(ge){return ge*Q},pe=function(ge){return ge*re};X.each(function(ge){var Te=O.select(this);if(ge.del)return Te.remove();var Se=Te.select("text.nums"),Ce=ge.anchor,Ue=Ce==="end"?-1:1,Oe=B(ge),_e=k(ge,$),ce=_e.x,ie=_e.y,se=Ce==="middle",ne="hoverlabel"in ge.trace?ge.trace.hoverlabel.showarrow:!0,be;se?be="M-"+ue(ge.bx/2+ge.tx2width/2)+","+pe(ie-ge.by/2)+"h"+ue(ge.bx)+"v"+pe(ge.by)+"h-"+ue(ge.bx)+"Z":ne?be="M0,0L"+ue(Ue*T+ce)+","+pe(T+ie)+"v"+pe(ge.by/2-T)+"h"+ue(Ue*ge.bx)+"v-"+pe(ge.by)+"H"+ue(Ue*T+ce)+"V"+pe(ie-T)+"Z":be="M"+ue(Ue*T+ce)+","+pe(ie-ge.by/2)+"h"+ue(Ue*ge.bx)+"v"+pe(ge.by)+"h"+ue(-Ue*ge.bx)+"Z",Te.select("path").attr("d",be);var De=ce+Oe.textShiftX,qe=ie+ge.ty0-ge.by/2+m,Ne=ge.textAlign||"auto";Ne!=="auto"&&(Ne==="left"&&Ce!=="start"?(Se.attr("text-anchor","start"),De=se?-ge.bx/2-ge.tx2width/2+m:-ge.bx-m):Ne==="right"&&Ce!=="end"&&(Se.attr("text-anchor","end"),De=se?ge.bx/2-ge.tx2width/2-m:ge.bx+m)),Se.call(t.positionText,ue(De),pe(qe)),ge.tx2width&&(Te.select("text.name").call(t.positionText,ue(Oe.text2ShiftX+Oe.alignShift*m+ce),pe(ie+ge.ty0-ge.by/2+m)),Te.select("rect").call(r.setRect,ue(Oe.text2ShiftX+(Oe.alignShift-1)*ge.tx2width/2+ce),pe(ie-ge.by/2-1),ue(ge.tx2width),pe(ge.by+2)))})}function q(X,$){var Q=X.index,re=X.trace||{},ue=X.cd[0],pe=X.cd[Q]||{};function ge(_e){return _e||u(_e)&&_e===0}var Te=Array.isArray(Q)?function(_e,ce){var ie=v.castOption(ue,Q,_e);return ge(ie)?ie:v.extractOption({},re,"",ce)}:function(_e,ce){return v.extractOption(pe,re,_e,ce)};function Se(_e,ce,ie){var se=Te(ce,ie);ge(se)&&(X[_e]=se)}if(Se("hoverinfo","hi","hoverinfo"),Se("bgcolor","hbg","hoverlabel.bgcolor"),Se("borderColor","hbc","hoverlabel.bordercolor"),Se("fontFamily","htf","hoverlabel.font.family"),Se("fontSize","hts","hoverlabel.font.size"),Se("fontColor","htc","hoverlabel.font.color"),Se("fontWeight","htw","hoverlabel.font.weight"),Se("fontStyle","hty","hoverlabel.font.style"),Se("fontVariant","htv","hoverlabel.font.variant"),Se("nameLength","hnl","hoverlabel.namelength"),Se("textAlign","hta","hoverlabel.align"),X.posref=$==="y"||$==="closest"&&re.orientation==="h"?X.xa._offset+(X.x0+X.x1)/2:X.ya._offset+(X.y0+X.y1)/2,X.x0=v.constrain(X.x0,0,X.xa._length),X.x1=v.constrain(X.x1,0,X.xa._length),X.y0=v.constrain(X.y0,0,X.ya._length),X.y1=v.constrain(X.y1,0,X.ya._length),X.xLabelVal!==void 0&&(X.xLabel="xLabel"in X?X.xLabel:s.hoverLabelText(X.xa,X.xLabelVal,re.xhoverformat),X.xVal=X.xa.c2d(X.xLabelVal)),X.yLabelVal!==void 0&&(X.yLabel="yLabel"in X?X.yLabel:s.hoverLabelText(X.ya,X.yLabelVal,re.yhoverformat),X.yVal=X.ya.c2d(X.yLabelVal)),X.zLabelVal!==void 0&&X.zLabel===void 0&&(X.zLabel=String(X.zLabelVal)),!isNaN(X.xerr)&&!(X.xa.type==="log"&&X.xerr<=0)){var Ce=s.tickText(X.xa,X.xa.c2l(X.xerr),"hover").text;X.xerrneg!==void 0?X.xLabel+=" +"+Ce+" / -"+s.tickText(X.xa,X.xa.c2l(X.xerrneg),"hover").text:X.xLabel+=" \xB1 "+Ce,$==="x"&&(X.distance+=1)}if(!isNaN(X.yerr)&&!(X.ya.type==="log"&&X.yerr<=0)){var Ue=s.tickText(X.ya,X.ya.c2l(X.yerr),"hover").text;X.yerrneg!==void 0?X.yLabel+=" +"+Ue+" / -"+s.tickText(X.ya,X.ya.c2l(X.yerrneg),"hover").text:X.yLabel+=" \xB1 "+Ue,$==="y"&&(X.distance+=1)}var Oe=X.hoverinfo||X.trace.hoverinfo;return Oe&&Oe!=="all"&&(Oe=Array.isArray(Oe)?Oe:Oe.split("+"),Oe.indexOf("x")===-1&&(X.xLabel=void 0),Oe.indexOf("y")===-1&&(X.yLabel=void 0),Oe.indexOf("z")===-1&&(X.zLabel=void 0),Oe.indexOf("text")===-1&&(X.text=void 0),Oe.indexOf("name")===-1&&(X.name=void 0)),X}function Y(X,$,Q){var re=Q.container,ue=Q.fullLayout,pe=ue._size,ge=Q.event,Te=!!$.hLinePoint,Se=!!$.vLinePoint,Ce,Ue;if(re.selectAll(".spikeline").remove(),!!(Se||Te)){var Oe=n.combine(ue.plot_bgcolor,ue.paper_bgcolor);if(Te){var _e=$.hLinePoint,ce,ie;Ce=_e&&_e.xa,Ue=_e&&_e.ya;var se=Ue.spikesnap;se==="cursor"?(ce=ge.pointerX,ie=ge.pointerY):(ce=Ce._offset+_e.x,ie=Ue._offset+_e.y);var ne=n.color(_e.color).contrast(n.color(Oe))<1.5?n.contrast(Oe):_e.color,be=Ue.spikemode,De=Ue.spikethickness,qe=Ue.spikecolor||ne,Ne=s.getPxPosition(X,Ue),ut,ot;if(be.indexOf("toaxis")!==-1||be.indexOf("across")!==-1){if(be.indexOf("toaxis")!==-1&&(ut=Ne,ot=ce),be.indexOf("across")!==-1){var yt=Ue._counterDomainMin,At=Ue._counterDomainMax;Ue.anchor==="free"&&(yt=Math.min(yt,Ue.position),At=Math.max(At,Ue.position)),ut=pe.l+yt*pe.w,ot=pe.l+At*pe.w}re.insert("line",":first-child").attr({x1:ut,x2:ot,y1:ie,y2:ie,"stroke-width":De,stroke:qe,"stroke-dasharray":r.dashStyle(Ue.spikedash,De)}).classed("spikeline",!0).classed("crisp",!0),re.insert("line",":first-child").attr({x1:ut,x2:ot,y1:ie,y2:ie,"stroke-width":De+2,stroke:Oe}).classed("spikeline",!0).classed("crisp",!0)}be.indexOf("marker")!==-1&&re.insert("circle",":first-child").attr({cx:Ne+(Ue.side!=="right"?De:-De),cy:ie,r:De,fill:qe}).classed("spikeline",!0)}if(Se){var It=$.vLinePoint,Zt,vr;Ce=It&&It.xa,Ue=It&&It.ya;var Ut=Ce.spikesnap;Ut==="cursor"?(Zt=ge.pointerX,vr=ge.pointerY):(Zt=Ce._offset+It.x,vr=Ue._offset+It.y);var Jt=n.color(It.color).contrast(n.color(Oe))<1.5?n.contrast(Oe):It.color,at=Ce.spikemode,Ee=Ce.spikethickness,Re=Ce.spikecolor||Jt,he=s.getPxPosition(X,Ce),ye,Ie;if(at.indexOf("toaxis")!==-1||at.indexOf("across")!==-1){if(at.indexOf("toaxis")!==-1&&(ye=he,Ie=vr),at.indexOf("across")!==-1){var Fe=Ce._counterDomainMin,He=Ce._counterDomainMax;Ce.anchor==="free"&&(Fe=Math.min(Fe,Ce.position),He=Math.max(He,Ce.position)),ye=pe.t+(1-He)*pe.h,Ie=pe.t+(1-Fe)*pe.h}re.insert("line",":first-child").attr({x1:Zt,x2:Zt,y1:ye,y2:Ie,"stroke-width":Ee,stroke:Re,"stroke-dasharray":r.dashStyle(Ce.spikedash,Ee)}).classed("spikeline",!0).classed("crisp",!0),re.insert("line",":first-child").attr({x1:Zt,x2:Zt,y1:ye,y2:Ie,"stroke-width":Ee+2,stroke:Oe}).classed("spikeline",!0).classed("crisp",!0)}at.indexOf("marker")!==-1&&re.insert("circle",":first-child").attr({cx:Zt,cy:he-(Ce.side!=="top"?Ee:-Ee),r:Ee,fill:Re}).classed("spikeline",!0)}}}function ee(X,$,Q){if(!Q||Q.length!==X._hoverdata.length)return!0;for(var re=Q.length-1;re>=0;re--){var ue=Q[re],pe=X._hoverdata[re];if(ue.curveNumber!==pe.curveNumber||String(ue.pointNumber)!==String(pe.pointNumber)||String(ue.pointNumbers)!==String(pe.pointNumbers)||ue.binNumber!==pe.binNumber)return!0}return!1}function te(X,$){return!$||$.vLinePoint!==X._spikepoints.vLinePoint||$.hLinePoint!==X._spikepoints.hLinePoint}function ae(X,$){return t.plainText(X||"",{len:$,allowedTags:["br","sub","sup","b","i","em","s","u"]})}function j(X,$){for(var Q=$.charAt(0),re=[],ue=[],pe=[],ge=0;geX.offsetTop+X.clientTop,H=X=>X.offsetLeft+X.clientLeft;function Z(X,$){var Q=X._fullLayout,re=$.getBoundingClientRect(),ue=re.left,pe=re.top,ge=ue+re.width,Te=pe+re.height,Se=v.apply3DTransform(Q._invTransform)(ue,pe),Ce=v.apply3DTransform(Q._invTransform)(ge,Te),Ue=Se[0],Oe=Se[1],_e=Ce[0],ce=Ce[1];return{x:Ue,y:Oe,width:_e-Ue,height:ce-Oe,top:Math.min(Oe,ce),left:Math.min(Ue,_e),right:Math.max(Ue,_e),bottom:Math.max(Oe,ce)}}}}),s0=xe({"src/components/fx/hoverlabel_defaults.js"(U,O){"use strict";var u=Sr(),v=wi(),w=Kf().isUnifiedHover;O.exports=function(l,e,t,a){a=a||{};var r=e.legend;function n(i){a.font[i]||(a.font[i]=r?e.legend.font[i]:e.font[i])}e&&w(e.hovermode)&&(a.font||(a.font={}),n("size"),n("family"),n("color"),n("weight"),n("style"),n("variant"),r?(a.bgcolor||(a.bgcolor=v.combine(e.legend.bgcolor,e.paper_bgcolor)),a.bordercolor||(a.bordercolor=e.legend.bordercolor)):a.bgcolor||(a.bgcolor=e.paper_bgcolor)),t("hoverlabel.bgcolor",a.bgcolor),t("hoverlabel.bordercolor",a.bordercolor),t("hoverlabel.namelength",a.namelength),t("hoverlabel.showarrow",a.showarrow),u.coerceFont(t,"hoverlabel.font",a.font),t("hoverlabel.align",a.align)}}}),TA=xe({"src/components/fx/layout_global_defaults.js"(U,O){"use strict";var u=Sr(),v=s0(),w=Nh();O.exports=function(l,e){function t(a,r){return u.coerce(l,e,w,a,r)}v(l,e,t)}}}),AA=xe({"src/components/fx/defaults.js"(U,O){"use strict";var u=Sr(),v=Ld(),w=s0();O.exports=function(l,e,t,a){function r(i,s){return u.coerce(l,e,v,i,s)}var n=u.extendFlat({},a.hoverlabel);e.hovertemplate&&(n.namelength=-1),w(l,e,r,n)}}}),k_=xe({"src/components/fx/hovermode_defaults.js"(U,O){"use strict";var u=Sr(),v=Nh();O.exports=function(S,l){function e(t,a){return l[t]!==void 0?l[t]:u.coerce(S,l,v,t,a)}return e("clickmode"),e("hoversubplots"),e("hoveranywhere"),e("clickanywhere"),e("hovermode")}}}),MA=xe({"src/components/fx/layout_defaults.js"(U,O){"use strict";var u=Sr(),v=Nh(),w=k_(),S=s0();O.exports=function(e,t){function a(p,f){return u.coerce(e,t,v,p,f)}var r=w(e,t);r&&(a("hoverdistance"),a("spikedistance"),r.indexOf("unified")!==-1&&a("hoversort"));var n=a("dragmode");n==="select"&&a("selectdirection");var i=t._has("map"),s=t._has("geo"),c=t._basePlotModules.length;t.dragmode==="zoom"&&((i||s)&&c===1||i&&s&&c===2)&&(t.dragmode="pan"),S(e,t,a),u.coerceFont(a,"hoverlabel.grouptitlefont",t.hoverlabel.font)}}}),SA=xe({"src/components/fx/calc.js"(U,O){"use strict";var u=Sr(),v=Ci();O.exports=function(l){var e=l.calcdata,t=l._fullLayout;function a(c){return function(p){return u.coerceHoverinfo({hoverinfo:p},{_module:c._module},t)}}for(var r=0;r"," plotly-logomark"," "," "," "," "," "," "," "," "," "," "," "," "," ",""].join("")}}}}),$m=xe({"src/components/shapes/draw_newshape/constants.js"(U,O){"use strict";var u=32;O.exports={CIRCLE_SIDES:u,i000:0,i090:u/4,i180:u/2,i270:u/4*3,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}}}),Zm=xe({"src/components/selections/helpers.js"(U,O){"use strict";var u=Sr().strTranslate;function v(e,t){switch(e.type){case"log":return e.p2d(t);case"date":return e.p2r(t,0,e.calendar);default:return e.p2r(t)}}function w(e,t){switch(e.type){case"log":return e.d2p(t);case"date":return e.r2p(t,0,e.calendar);default:return e.r2p(t)}}function S(e){var t=e._id.charAt(0)==="y"?1:0;return function(a){return v(e,a[t])}}function l(e){return u(e.xaxis._offset,e.yaxis._offset)}O.exports={p2r:v,r2p:w,axValue:S,getTransform:l}}}),Bd=xe({"src/components/shapes/draw_newshape/helpers.js"(U){"use strict";var O=i0(),u=$m(),v=u.CIRCLE_SIDES,w=u.SQRT2,S=Zm(),l=S.p2r,e=S.r2p,t=[0,3,4,5,6,1,2],a=[0,3,4,1,2];U.writePaths=function(i){var s=i.length;if(!s)return"M0,0Z";for(var c="",p=0;p0&&b{let s=i.charAt(0),c=r[s].drawn!==void 0;return n+(c?1:0)},0)},U.getDataToPixel=function(l,e,t,a,r){var n=l._fullLayout._size,i;if(e)if(r==="domain")i=function(c){return e._length*(a?1-c:c)+e._offset};else{var s=U.shapePositionToRange(e);i=function(c){var p=S(e,t);return e._offset+e.r2p(s(c,!0))+p},e.type==="date"&&(i=U.decodeDate(i))}else a?i=function(c){return n.t+n.h*(1-c)}:i=function(c){return n.l+n.w*c};return i},U.getPixelToData=function(l,e,t,a){var r=l._fullLayout._size,n;if(e)if(a==="domain")n=function(s){var c=(s-e._offset)/e._length;return t?1-c:c};else{var i=U.rangeToShapePosition(e);n=function(s){return i(e.p2r(s-e._offset))}}else t?n=function(s){return 1-(s-r.t)/r.h}:n=function(s){return(s-r.l)/r.w};return n},U.roundPositionForSharpStrokeRendering=function(l,e){var t=Math.round(e%2)===1,a=Math.round(l);return t?a+.5:a},U.makeShapesOptionsAndPlotinfo=function(l,e){var t=l._fullLayout.shapes[e]||{},a=l._fullLayout._plots[t.xref+t.yref],r=!!a;return r?a._hadPlotinfo=!0:(a={},t.xref&&t.xref!=="paper"&&(a.xaxis=l._fullLayout[t.xref+"axis"]),t.yref&&t.yref!=="paper"&&(a.yaxis=l._fullLayout[t.yref+"axis"])),a.xsizemode=t.xsizemode,a.ysizemode=t.ysizemode,a.xanchor=t.xanchor,a.yanchor=t.yanchor,{options:t,plotinfo:a}},U.makeSelectionsOptionsAndPlotinfo=function(l,e){var t=l._fullLayout.selections[e]||{},a=l._fullLayout._plots[t.xref+t.yref],r=!!a;return r?a._hadPlotinfo=!0:(a={},t.xref&&(a.xaxis=l._fullLayout[t.xref+"axis"]),t.yref&&(a.yaxis=l._fullLayout[t.yref+"axis"])),{options:t,plotinfo:a}},U.getPathString=function(l,e){let t=e.type,a=v.getRefType(e.xref),r=v.getRefType(e.yref),n=l._fullLayout._size;var i,s,c,p,f,d,y,o,b,M,A,E;function g(F,I,z,R){var k;if(F)if(I==="domain")R?k=function(B){return F._offset+F._length*(1-B)}:k=function(B){return F._offset+F._length*B};else{let B=U.shapePositionToRange(F);k=function(N){return F._offset+F.r2p(B(N,!0))},z==="path"&&F.type==="date"&&(k=U.decodeDate(k))}else R?k=function(B){return n.t+n.h*(1-B)}:k=function(B){return n.l+n.w*B};return k}if(a==="array"?(y=[],i=e.xref.map(function(F){return v.getFromId(l,F)}),y=e.xref.map(function(F,I){return g(i[I],v.getRefType(F),t,!1)})):(i=v.getFromId(l,e.xref),y=g(i,a,t,!1)),r==="array"?(o=[],s=e.yref.map(function(F){return v.getFromId(l,F)}),o=e.yref.map(function(F,I){return g(s[I],v.getRefType(F),t,!0)})):(s=v.getFromId(l,e.yref),o=g(s,r,t,!0)),t==="path")return w(e,y,o);if(a==="array")c=S(i[0],e.x0shift),p=S(i[1],e.x1shift),b=y[0](e.x0)+c,M=y[1](e.x1)+p;else if(c=S(i,e.x0shift),p=S(i,e.x1shift),e.xsizemode==="pixel"){let F=y(e.xanchor);b=F+e.x0+c,M=F+e.x1+p}else b=y(e.x0)+c,M=y(e.x1)+p;if(r==="array")f=S(s[0],e.y0shift),d=S(s[1],e.y1shift),A=o[0](e.y0)+f,E=o[1](e.y1)+d;else if(f=S(s,e.y0shift),d=S(s,e.y1shift),e.ysizemode==="pixel"){let F=o(e.yanchor);A=F-e.y0+f,E=F-e.y1+d}else A=o(e.y0)+f,E=o(e.y1)+d;if(t==="line")return"M"+b+","+A+"L"+M+","+E;if(t==="rect")return"M"+b+","+A+"H"+M+"V"+E+"H"+b+"Z";var T=(b+M)/2,m=(A+E)/2,h=Math.abs(T-b),x=Math.abs(m-A),_="A"+h+","+x,D=T+h+","+m,C=T+","+(m-x);return"M"+D+_+" 0 1,1 "+C+_+" 0 0,1 "+D+"Z"};function w(l,e,t){let a=l.path,r=l.xsizemode,n=l.ysizemode,i=l.xanchor,s=l.yanchor,c=Array.isArray(l.xref),p=Array.isArray(l.yref);var f=0,d=0;return a.replace(O.segmentRE,function(y){var o=0,b=y.charAt(0),M=O.paramIsX[b],A=O.paramIsY[b],E=O.numParams[b];let g=M.drawn!==void 0,T=A.drawn!==void 0,m=c?e[f]:e,h=p?t[d]:t;var x=y.slice(1).replace(O.paramRE,function(_){return M[o]?r==="pixel"?_=m(i)+Number(_):_=m(_):A[o]&&(n==="pixel"?_=h(s)-Number(_):_=h(_)),o++,o>E&&(_="X"),_});return o>E&&(x=x.replace(/[\s,]*X.*/,""),u.log("Ignoring extra params in segment "+y)),g&&f++,T&&d++,b+x})}U.getPixelShift=S;function S(l,e){e=e||0;var t=0;return e&&l&&(l.type==="category"||l.type==="multicategory")&&(t=(l.r2p(1)-l.r2p(0))*e),t}}}),L_=xe({"src/components/shapes/display_labels.js"(U,O){"use strict";var u=Sr(),v=uo(),w=el(),S=go(),l=Bd().readPaths,e=Nd(),t=e.getPathString,a=jm(),r=uc().FROM_TL;O.exports=function(c,p,f,d){if(d.selectAll(".shape-label").remove(),!!(f.label.text||f.label.texttemplate)){var y;if(f.label.texttemplate){var o={};if(f.type!=="path"){var b=v.getFromId(c,f.xref),M=v.getFromId(c,f.yref);let $=Array.isArray(f.xref),Q=Array.isArray(f.yref);for(var A in a){var E=typeof a[A]=="function",g=!$||a.simpleXVariables.includes(A),T=!Q||a.simpleYVariables.includes(A);if(E&&g&&T){var m=a[A](f,b,M);m!==void 0&&(o[A]=m)}}}y=u.texttemplateStringForShapes({data:[o],fallback:f.label.texttemplatefallback,locale:c._fullLayout._d3locale,template:f.label.texttemplate})}else y=f.label.text;var h={"data-index":p},x=f.label.font,_={"data-notex":1},D=d.append("g").attr(h).classed("shape-label",!0),C=D.append("text").attr(_).classed("shape-label-text",!0).text(y),F,I,z,R;if(f.path){var k=t(c,f),B=l(k,c);F=1/0,z=1/0,I=-1/0,R=-1/0;for(var N=0;Ne.getDataToPixel(c,se,ie,!1,ne)(ce),_e=(ce,ie,se,ne)=>e.getDataToPixel(c,se,ie,!0,ne)(ce);if(f.xsizemode==="pixel"){let ce=Oe(f.xanchor,void 0,re,Te),ie=e.getPixelShift(re,f.x0shift),se=e.getPixelShift(re,f.x1shift);F=ce+f.x0+ie,I=ce+f.x1+se}else F=Oe(f.x0,f.x0shift,re,Te),I=Oe(f.x1,f.x1shift,ue,Se);if(f.ysizemode==="pixel"){let ce=_e(f.yanchor,void 0,pe,Ce),ie=e.getPixelShift(pe,f.y0shift),se=e.getPixelShift(pe,f.y1shift);z=ce-f.y0+ie,R=ce-f.y1+se}else z=_e(f.y0,f.y0shift,pe,Ce),R=_e(f.y1,f.y1shift,ge,Ue)}var j=f.label.textangle;j==="auto"&&(f.type==="line"?j=n(F,z,I,R):j=0),C.call(function($){return $.call(S.font,x).attr({}),w.convertToTspans($,c),$});var G=S.bBox(C.node()),K=i(F,z,I,R,f,j,G),H=K.textx,Z=K.texty,X=K.xanchor;C.attr({"text-anchor":{left:"start",center:"middle",right:"end"}[X],y:Z,x:H,transform:"rotate("+j+","+H+","+Z+")"}).call(w.positionText,H,Z)}};function n(s,c,p,f){var d,y;return y=Math.abs(p-s),p>=s?d=c-f:d=f-c,-180/Math.PI*Math.atan2(d,y)}function i(s,c,p,f,d,y,o){var b=d.label.textposition,M=d.label.textangle,A=d.label.padding,E=d.type,g=Math.PI/180*y,T=Math.sin(g),m=Math.cos(g),h=d.label.xanchor,x=d.label.yanchor,_,D,C,F;if(E==="line"){b==="start"?(_=s,D=c):b==="end"?(_=p,D=f):(_=(s+p)/2,D=(c+f)/2),h==="auto"&&(b==="start"?M==="auto"?p>s?h="left":ps?h="right":ps?h="right":ps?h="left":p1&&!(_e.length===2&&_e[1][0]==="Z")&&(j===0&&(_e[0][0]="M"),_[ae]=_e,z(),R())}}function ue(_e,ce){if(_e===2){ae=+ce.srcElement.getAttribute("data-i"),j=+ce.srcElement.getAttribute("data-j");var ie=_[ae];!y(ie)&&!o(ie)&&re()}}function pe(_e){ee=[];for(var ce=0;ce<_.length;ce++){var ie=_[ce],se=y(ie),ne=!se&&o(ie);ee[ce]=[];for(var be=ie.length,De=0;De{if(!C._dragging&&C._fullLayout.hoveranywhere){let B=R(k);B&&c.hover(C,B,I.id)}}),z.addEventListener("click",k=>{if(!C._dragged&&C._fullLayout.clickanywhere){let B=R(k);B&&c.click(C,B,I.id)}})}function g(C,F,I){let z=I.xref,R=I.yref;if(Array.isArray(z)||Array.isArray(R)){let k="clip"+F._fullLayout._uid+"shape"+I._index,B=T(F,z,R);w.ensureSingleById(F._fullLayout._clips,"clipPath",k,function(N){N.append("rect")}).select("rect").attr(B),n.setClipUrl(C,k,F)}else{let k=(z+R).replace(/paper/g,"").replace(/[xyz][0-9]* *domain/g,"");n.setClipUrl(C,k?"clip"+F._fullLayout._uid+k:null,F)}}function T(C,F,I){let z=C._fullLayout._size;function R(N,q){let Y=(Array.isArray(N)?N:[N]).map(ae=>S.getFromId(C,ae)).filter(Boolean);if(!Y.length)return q?[z.t,z.t+z.h]:[z.l,z.l+z.w];let ee=Y.map(function(ae){return ae._offset}),te=Y.map(function(ae){return ae._offset+ae._length});return[Math.min(...ee),Math.max(...te)]}let k=R(F,!1),B=R(I,!0);return{x:k[0],y:B[0],width:k[1]-k[0],height:B[1]-B[0]}}function m(C,F,I,z,R,k){var B=10,N=10,q=I.xsizemode==="pixel",Y=I.ysizemode==="pixel",ee=I.type==="line",te=I.type==="path",ae=k.modifyItem,j,G,K,H,Z,X,$,Q,re,ue,pe,ge,Te,Se,Ce,Ue=u.select(F.node().parentNode),Oe=S.getFromId(C,I.xref),_e=S.getRefType(I.xref),ce=S.getFromId(C,I.yref),ie=S.getRefType(I.yref),se=I.x0shift,ne=I.x1shift,be=I.y0shift,De=I.y1shift,qe=function(He,We){var pt=d.getDataToPixel(C,Oe,We,!1,_e);return pt(He)},Ne=function(He,We){var pt=d.getDataToPixel(C,ce,We,!0,ie);return pt(He)},ut=d.getPixelToData(C,Oe,!1,_e),ot=d.getPixelToData(C,ce,!0,ie),yt=Zt(),At={element:yt.node(),gd:C,prepFn:Jt,doneFn:at,clickFn:Ee},It;s.init(At),yt.node().onmousemove=Ut;function Zt(){return ee?vr():F}function vr(){var He=10,We=Math.max(I.line.width,He),pt=R.append("g").attr("data-index",z).attr("drag-helper",!0);pt.append("path").attr("d",F.attr("d")).style({cursor:"move","stroke-width":We,"stroke-opacity":"0"});var ct={"fill-opacity":"0"},ft=Math.max(We/2,He);return pt.append("circle").attr({"data-line-point":"start-point",cx:q?qe(I.xanchor)+I.x0:qe(I.x0,se),cy:Y?Ne(I.yanchor)-I.y0:Ne(I.y0,be),r:ft}).style(ct).classed("cursor-grab",!0),pt.append("circle").attr({"data-line-point":"end-point",cx:q?qe(I.xanchor)+I.x1:qe(I.x1,ne),cy:Y?Ne(I.yanchor)-I.y1:Ne(I.y1,De),r:ft}).style(ct).classed("cursor-grab",!0),pt}function Ut(He){if(b(C)){It=null;return}if(ee)He.target.tagName==="path"?It="move":It=He.target.attributes["data-line-point"].value==="start-point"?"resize-over-start-point":"resize-over-end-point";else{var We=At.element.getBoundingClientRect(),pt=We.right-We.left,ct=We.bottom-We.top,ft=He.clientX-We.left,mt=He.clientY-We.top,_t=!te&&pt>B&&ct>N&&!He.shiftKey?s.getCursor(ft/pt,1-mt/ct):"move";p(F,_t),It=_t.split("-")[0]}}function Jt(He){b(C)||(q&&(Z=qe(I.xanchor)),Y&&(X=Ne(I.yanchor)),I.type==="path"?Ce=I.path:(j=q?I.x0:qe(I.x0),G=Y?I.y0:Ne(I.y0),K=q?I.x1:qe(I.x1),H=Y?I.y1:Ne(I.y1)),jH?($=G,pe="y0",Q=H,ge="y1"):($=H,pe="y1",Q=G,ge="y0"),Ut(He),ye(R,I),Fe(F,I,C),At.moveFn=It==="move"?Re:he,At.altKey=He.altKey)}function at(){b(C)||(p(F),Ie(R),g(F,C,I),v.call("_guiRelayout",C,k.getUpdateObj()))}function Ee(){b(C)||Ie(R)}function Re(He,We){if(I.type==="path"){var pt=function(mt){return mt},ct=pt,ft=pt;q?ae("xanchor",I.xanchor=ut(Z+He)):(ct=function(_t){return ut(qe(_t)+He)},Oe&&Oe.type==="date"&&(ct=d.encodeDate(ct))),Y?ae("yanchor",I.yanchor=ot(X+We)):(ft=function(_t){return ot(Ne(_t)+We)},ce&&ce.type==="date"&&(ft=d.encodeDate(ft))),ae("path",I.path=h(Ce,ct,ft))}else q?ae("xanchor",I.xanchor=ut(Z+He)):(ae("x0",I.x0=ut(j+He)),ae("x1",I.x1=ut(K+He))),Y?ae("yanchor",I.yanchor=ot(X+We)):(ae("y0",I.y0=ot(G+We)),ae("y1",I.y1=ot(H+We)));F.attr("d",y(C,I)),ye(R,I),t(C,z,I,Ue)}function he(He,We){if(te){var pt=function(Va){return Va},ct=pt,ft=pt;q?ae("xanchor",I.xanchor=ut(Z+He)):(ct=function(Oa){return ut(qe(Oa)+He)},Oe&&Oe.type==="date"&&(ct=d.encodeDate(ct))),Y?ae("yanchor",I.yanchor=ot(X+We)):(ft=function(Oa){return ot(Ne(Oa)+We)},ce&&ce.type==="date"&&(ft=d.encodeDate(ft))),ae("path",I.path=h(Ce,ct,ft))}else if(ee){if(It==="resize-over-start-point"){var mt=j+He,_t=Y?G-We:G+We;ae("x0",I.x0=q?mt:ut(mt)),ae("y0",I.y0=Y?_t:ot(_t))}else if(It==="resize-over-end-point"){var Bt=K+He,Et=Y?H-We:H+We;ae("x1",I.x1=q?Bt:ut(Bt)),ae("y1",I.y1=Y?Et:ot(Et))}}else{var hr=function(Va){return It.indexOf(Va)!==-1},$r=hr("n"),ca=hr("s"),na=hr("w"),wa=hr("e"),pa=$r?$+We:$,fa=ca?Q+We:Q,za=na?re+He:re,Ia=wa?ue+He:ue;Y&&($r&&(pa=$-We),ca&&(fa=Q-We)),(!Y&&fa-pa>N||Y&&pa-fa>N)&&(ae(pe,I[pe]=Y?pa:ot(pa)),ae(ge,I[ge]=Y?fa:ot(fa))),Ia-za>B&&(ae(Te,I[Te]=q?za:ut(za)),ae(Se,I[Se]=q?Ia:ut(Ia)))}F.attr("d",y(C,I)),ye(R,I),t(C,z,I,Ue)}function ye(He,We){(q||Y)&&pt();function pt(){var ct=We.type!=="path",ft=He.selectAll(".visual-cue").data([0]),mt=1;ft.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":mt}).classed("visual-cue",!0);var _t=qe(q?We.xanchor:w.midRange(ct?[We.x0,We.x1]:d.extractPathCoords(We.path,f.paramIsX))),Bt=Ne(Y?We.yanchor:w.midRange(ct?[We.y0,We.y1]:d.extractPathCoords(We.path,f.paramIsY)));if(_t=d.roundPositionForSharpStrokeRendering(_t,mt),Bt=d.roundPositionForSharpStrokeRendering(Bt,mt),q&&Y){var Et="M"+(_t-1-mt)+","+(Bt-1-mt)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";ft.attr("d",Et)}else if(q){var hr="M"+(_t-1-mt)+","+(Bt-9-mt)+"v18 h2 v-18 Z";ft.attr("d",hr)}else{var $r="M"+(_t-9-mt)+","+(Bt-1-mt)+"h18 v2 h-18 Z";ft.attr("d",$r)}}}function Ie(He){He.selectAll(".visual-cue").remove()}function Fe(He,We,pt){var ct=We.xref,ft=We.yref,mt=S.getFromId(pt,ct),_t=S.getFromId(pt,ft),Bt="";ct!=="paper"&&!mt.autorange&&(Bt+=ct),ft!=="paper"&&!_t.autorange&&(Bt+=ft),n.setClipUrl(He,Bt?"clip"+pt._fullLayout._uid+Bt:null,pt)}}function h(C,F,I){return C.replace(f.segmentRE,function(z){var R=0,k=z.charAt(0),B=f.paramIsX[k],N=f.paramIsY[k],q=f.numParams[k],Y=z.slice(1).replace(f.paramRE,function(ee){return R>=q||(B[R]?ee=F(ee):N[R]&&(ee=I(ee)),R++),ee});return k+Y})}function x(C,F){if(M(C)){var I=F.node(),z=+I.getAttribute("data-index");if(z>=0){if(z===C._fullLayout._activeShapeIndex){_(C);return}C._fullLayout._activeShapeIndex=z,C._fullLayout._deactivateShape=_,o(C)}}}function _(C){if(M(C)){var F=C._fullLayout._activeShapeIndex;F>=0&&(a(C),delete C._fullLayout._activeShapeIndex,o(C))}}function D(C){if(M(C)){a(C);var F=C._fullLayout._activeShapeIndex,I=(C.layout||{}).shapes||[];if(F-K),[q,Y]=R.invert(z.midPt),{minscale:ee}=I.projection,te=(m=I.projection.maxscale)!=null?m:1/0,ae=Math.min(ee,te),j=Math.max(ee,te),G=_==="in"?f*k:1/f*k;G>j?G=j:GR_});var tg,D_,R_,F_=Pr({"src/components/modebar/attributes.ts"(){"use strict";tg=da(I_()),D_={editType:"modebar",orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar",description:"Sets the orientation of the modebar."},bgcolor:{valType:"color",editType:"modebar",description:"Sets the background color of the modebar."},color:{valType:"color",editType:"modebar",description:"Sets the color of the icons in the modebar."},activecolor:{valType:"color",editType:"modebar",description:"Sets the color of the active or hovered on icons in the modebar."},uirevision:{valType:"any",editType:"none",description:["Controls persistence of user-driven changes related to the modebar,","including `hovermode`, `dragmode`, and `showspikes` at both the","root level and inside subplots. Defaults to `layout.uirevision`."].join(" ")},add:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar",description:["Determines which predefined modebar buttons to add.","Please note that these buttons will only be shown if they are","compatible with all trace types used in a graph.","Similar to `config.modeBarButtonsToAdd` option.",`This may include *${tg.default.backButtons.join("*, *")}*.`].join(" ")},remove:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar",description:["Determines which predefined modebar buttons to remove.","Similar to `config.modeBarButtonsToRemove` option.",`This may include *${tg.default.foreButtons.join("*, *")}*.`].join(" ")}},R_=D_}}),CA=xe({"src/components/modebar/defaults.js"(U,O){"use strict";var u=Sr(),v=wi(),w=Cs(),S=(F_(),Ta(eg)).default;O.exports=function(e,t){var a=e.modebar||{},r=w.newContainer(t,"modebar");function n(s,c){return u.coerce(a,r,S,s,c)}n("orientation"),n("bgcolor",v.addOpacity(t.paper_bgcolor,.5));var i=v.contrast(v.rgb(t.modebar.bgcolor));n("color",v.addOpacity(i,.3)),n("activecolor",v.addOpacity(i,.7)),n("uirevision",t.uirevision),n("add"),n("remove")}}}),LA=xe({"src/components/modebar/modebar.js"(U,O){"use strict";var u=Na(),v=yn(),w=Sr(),S=Xm(),l=Ja().version,e=new DOMParser;function t(i){this.container=i.container,this.element=document.createElement("div"),this.update(i.graphInfo,i.buttons),this.container.appendChild(this.element)}var a=t.prototype;a.update=function(i,s){this.graphInfo=i;var c=this.graphInfo._context,p=this.graphInfo._fullLayout,f="modebar-"+p._uid;this.element.setAttribute("id",f),this.element.setAttribute("role","toolbar"),this._uid=f,this.element.className="modebar modebar--custom",c.displayModeBar==="hover"&&(this.element.className+=" modebar--hover ease-bg"),p.modebar.orientation==="v"&&(this.element.className+=" vertical",s=s.reverse());var d=p.modebar,y="#"+f+" .modebar-group";document.querySelectorAll(y).forEach(function(E){E.style.backgroundColor=d.bgcolor});var o=!this.hasButtons(s),b=this.hasLogo!==c.displaylogo,M=this.locale!==c.locale;if(this.locale=c.locale,(o||b||M)&&(this.removeAllButtons(),this.updateButtons(s),c.watermark||c.displaylogo)){var A=this.getLogo();c.watermark&&(A.className=A.className+" watermark"),p.modebar.orientation==="v"?this.element.insertBefore(A,this.element.childNodes[0]):this.element.appendChild(A),this.hasLogo=!0}this.updateActiveButton(),w.setStyleOnHover("#"+f+" .modebar-btn",".active",".icon path","fill: "+d.activecolor,"fill: "+d.color,this.element)},a.updateButtons=function(i){var s=this;this.buttons=i,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach(function(c){var p=s.createGroup();c.forEach(function(f){var d=f.name;if(!d)throw new Error("must provide button 'name' in button config");if(s.buttonsNames.indexOf(d)!==-1)throw new Error("button name '"+d+"' is taken");s.buttonsNames.push(d);var y=s.createButton(f);s.buttonElements.push(y),p.appendChild(y)}),s.element.appendChild(p)})},a.createGroup=function(){var i=document.createElement("div");i.className="modebar-group";var s=this.graphInfo._fullLayout.modebar;return i.style.backgroundColor=s.bgcolor,i},a.createButton=function(i){var s=this,c=document.createElement("button");c.setAttribute("type","button"),c.setAttribute("rel","tooltip"),c.className="modebar-btn";var p=i.title;p===void 0?p=i.name:typeof p=="function"&&(p=p(this.graphInfo)),(p||p===0)&&(c.setAttribute("data-title",p),c.setAttribute("aria-label",p)),i.attr!==void 0&&c.setAttribute("data-attr",i.attr);var f=i.val;f!==void 0&&(typeof f=="function"&&(f=f(this.graphInfo)),c.setAttribute("data-val",f));var d=i.click;if(typeof d!="function")throw new Error("must provide button 'click' function in button config");c.addEventListener("click",function(o){i.click(s.graphInfo,o),s.updateActiveButton(o.currentTarget)}),c.setAttribute("data-toggle",i.toggle||!1),i.toggle&&u.select(c).classed("active",!0);var y=i.icon;return typeof y=="function"?c.appendChild(y()):c.appendChild(this.createIcon(y||S.question)),c.setAttribute("data-gravity",i.gravity||"n"),c},a.createIcon=function(i){var s=v(i.height)?Number(i.height):i.ascent-i.descent,c="http://www.w3.org/2000/svg",p;if(i.path){p=document.createElementNS(c,"svg"),p.setAttribute("viewBox",[0,0,i.width,s].join(" ")),p.setAttribute("class","icon");var f=document.createElementNS(c,"path");f.setAttribute("d",i.path),i.transform?f.setAttribute("transform",i.transform):i.ascent!==void 0&&f.setAttribute("transform","matrix(1 0 0 -1 0 "+i.ascent+")"),p.appendChild(f)}if(i.svg){var d=e.parseFromString(i.svg,"application/xml");p=d.childNodes[0]}return p.setAttribute("height","1em"),p.setAttribute("width","1em"),p},a.updateActiveButton=function(i){var s=this.graphInfo._fullLayout,c=i!==void 0?i.getAttribute("data-attr"):null;this.buttonElements.forEach(function(p){var f=p.getAttribute("data-val")||!0,d=p.getAttribute("data-attr"),y=p.getAttribute("data-toggle")==="true",o=u.select(p),b=function(E,g){var T=s.modebar,m=E.querySelector(".icon path");m&&(g||E.matches(":hover")?m.style.fill=T.activecolor:m.style.fill=T.color)};if(y){if(d===c){var M=!o.classed("active");o.classed("active",M),b(p,M)}}else{var A=d===null?d:w.nestedProperty(s,d).get();o.classed("active",A===f),b(p,A===f)}})},a.hasButtons=function(i){var s=this.buttons;if(!s||i.length!==s.length)return!1;for(var c=0;c1?(ee=["toggleHover"],te=["resetViews"]):h?(Y=["zoomInGeo","zoomOutGeo"],ee=["hoverClosestGeo"],te=["resetGeo"]):m?(ee=["hoverClosest3d"],te=["resetCameraDefault3d","resetCameraLastSave3d"]):C?(Y=["zoomInMap","zoomOutMap"],ee=["toggleHover"],te=["resetViewMap"]):x?ee=["hoverClosestPie"]:z?(ee=["hoverClosestCartesian","hoverCompareCartesian"],te=["resetViewSankey"]):ee=["toggleHover"],T&&ee.push("toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"),(s(y)||k)&&(ee=[]),T&&!R&&(Y=["zoomIn2d","zoomOut2d","autoScale2d"],te[0]!=="resetViews"&&(te=["resetScale2d"])),m?ae=["zoom3d","pan3d","orbitRotation","tableRotation"]:T&&!R||D?ae=["zoom2d","pan2d"]:C||h?ae=["pan2d"]:F&&(ae=["zoom2d"]),i(y)&&ae.push("select2d","lasso2d");var j=[],G=function(X){j.indexOf(X)===-1&&ee.indexOf(X)!==-1&&j.push(X)};if(Array.isArray(E)){for(var K=[],H=0;HM?y.slice(M):o.slice(b))+A}function c(f,d){for(var y=d._size,o=y.h/y.w,b={},M=Object.keys(f),A=0;Ae*D&&!z)){for(M=0;Mj&&rete&&(te=re);var pe=(te-ee)/(2*ae);h/=pe,ee=g.l2r(ee),te=g.l2r(te),g.range=g._input.range=N=R[1]||q[1]<=R[0])&&Y[0]k[0])return!0}return!1}function A(R){var k=R._fullLayout,B=k._size,N=B.p,q=n.list(R,"",!0),Y,ee,te,ae,j,G;if(k._paperdiv.style({width:R._context.responsive&&k.autosize&&!R._context._hasZeroWidth&&!R.layout.width?"100%":k.width+"px",height:R._context.responsive&&k.autosize&&!R._context._hasZeroHeight&&!R.layout.height?"100%":k.height+"px"}).selectAll(".main-svg").call(t.setSize,k.width,k.height),R._context.setBackground(R,k.paper_bgcolor),U.drawMainTitle(R),r.manage(R),!k._has("cartesian"))return v.previousPromises(R);function K(he,ye,Ie){var Fe=he._lw/2;if(he._id.charAt(0)==="x"){if(ye){if(Ie==="top")return ye._offset-N-Fe}else return B.t+B.h*(1-(he.position||0))+Fe%1;return ye._offset+ye._length+N+Fe}if(ye){if(Ie==="right")return ye._offset+ye._length+N+Fe}else return B.l+B.w*(he.position||0)+Fe%1;return ye._offset-N-Fe}for(Y=0;Y0){_(R,Y,j,ae),te.attr({x:ee,y:Y,"text-anchor":N,dy:F(k.yanchor)}).call(S.positionText,ee,Y);var G=(k.text.match(S.BR_TAG_ALL)||[]).length;if(G){var K=i.LINE_SPACING*G+i.MID_SHIFT;k.y===0&&(K=-K),te.selectAll(".line").each(function(){var Q=+this.getAttribute("dy").slice(0,-2)-K+"em";this.setAttribute("dy",Q)})}var H=O.select(R).selectAll(".gtitle-subtitle");if(H.node()){var Z=te.node().getBBox(),X=Z.y+Z.height,$=X+a.SUBTITLE_PADDING_EM*k.subtitle.font.size;H.attr({x:ee,y:$,"text-anchor":N,dy:F(k.yanchor)}).call(S.positionText,ee,$)}}}};function m(R,k,B,N,q){var Y=k.yref==="paper"?R._fullLayout._size.h:R._fullLayout.height,ee=w.isTopAnchor(k)?N:N-q,te=B==="b"?Y-ee:ee;return w.isTopAnchor(k)&&B==="t"||w.isBottomAnchor(k)&&B==="b"?!1:te.5?"t":"b",ee=R._fullLayout.margin[Y],te=0;return k.yref==="paper"?te=B+k.pad.t+k.pad.b:k.yref==="container"&&(te=h(Y,N,q,R._fullLayout.height,B)+k.pad.t+k.pad.b),te>ee?te:0}function _(R,k,B,N){var q="title.automargin",Y=R._fullLayout.title,ee=Y.y>.5?"t":"b",te={x:Y.x,y:Y.y,t:0,b:0},ae={};Y.yref==="paper"&&m(R,Y,ee,k,N)?te[ee]=B:Y.yref==="container"&&(ae[ee]=B,R._fullLayout._reservedMargin[q]=ae),v.allowAutoMargin(R,q),v.autoMargin(R,q,te)}function D(R,k){var B=R.title,N=R._size,q=0;switch(k===d?q=B.pad.l:k===o&&(q=-B.pad.r),B.xref){case"paper":return N.l+N.w*B.x+q;case"container":default:return R.width*B.x+q}}function C(R,k){var B=R.title,N=R._size,q=0;if(k==="0em"||!k?q=-B.pad.b:k===i.CAP_SHIFT+"em"&&(q=B.pad.t),B.y==="auto")return N.t/2;switch(B.yref){case"paper":return N.t+N.h-N.h*B.y+q;case"container":default:return R.height-R.height*B.y+q}}function F(R){return R==="top"?i.CAP_SHIFT+.3+"em":R==="bottom"?"-0.3em":i.MID_SHIFT+"em"}function I(R){var k=R.title,B=y;return w.isRightAnchor(k)?B=o:w.isLeftAnchor(k)&&(B=d),B}function z(R){var k=R.title,B="0em";return w.isTopAnchor(k)?B=i.CAP_SHIFT+"em":w.isMiddleAnchor(k)&&(B=i.MID_SHIFT+"em"),B}U.doTraceStyle=function(R){var k=R.calcdata,B=[],N;for(N=0;N=0;I--){var z=E.append("path").attr(T).style("opacity",I?.1:m).call(S.stroke,x).call(S.fill,h).call(l.dashLine,I?"solid":D,I?4+_:_);if(s(z,d,b),C){var R=e(d.layout,"selections",b);z.style({cursor:"move"});var k={element:z.node(),plotinfo:M,gd:d,editHelpers:R,isActiveSelection:!0},B=u(g,d);v(B,z,k)}else z.style("pointer-events",I?"all":"none");F[I]=z}var N=F[0],q=F[1];q.node().addEventListener("click",function(){return c(d,N)})}}function s(d,y,o){var b=o.xref+o.yref;l.setClipUrl(d,"clip"+y._fullLayout._uid+b,y)}function c(d,y){if(n(d)){var o=y.node(),b=+o.getAttribute("data-index");if(b>=0){if(b===d._fullLayout._activeSelectionIndex){f(d);return}d._fullLayout._activeSelectionIndex=b,d._fullLayout._deactivateSelection=f,r(d)}}}function p(d){if(n(d)){var y=d._fullLayout.selections.length-1;d._fullLayout._activeSelectionIndex=y,d._fullLayout._deactivateSelection=f,r(d)}}function f(d){if(n(d)){var y=d._fullLayout._activeSelectionIndex;y>=0&&(w(d),delete d._fullLayout._activeSelectionIndex,r(d))}}}}),IA=xe({"node_modules/polybooljs/lib/build-log.js"(U,O){function u(){var v,w=0,S=!1;function l(e,t){return v.list.push({type:e,data:t?JSON.parse(JSON.stringify(t)):void 0}),v}return v={list:[],segmentId:function(){return w++},checkIntersection:function(e,t){return l("check",{seg1:e,seg2:t})},segmentChop:function(e,t){return l("div_seg",{seg:e,pt:t}),l("chop",{seg:e,pt:t})},statusRemove:function(e){return l("pop_seg",{seg:e})},segmentUpdate:function(e){return l("seg_update",{seg:e})},segmentNew:function(e,t){return l("new_seg",{seg:e,primary:t})},segmentRemove:function(e){return l("rem_seg",{seg:e})},tempStatus:function(e,t,a){return l("temp_status",{seg:e,above:t,below:a})},rewind:function(e){return l("rewind",{seg:e})},status:function(e,t,a){return l("status",{seg:e,above:t,below:a})},vert:function(e){return e===S?v:(S=e,l("vert",{x:e}))},log:function(e){return typeof e!="string"&&(e=JSON.stringify(e,!1," ")),l("log",{txt:e})},reset:function(){return l("reset")},selected:function(e){return l("selected",{segs:e})},chainStart:function(e){return l("chain_start",{seg:e})},chainRemoveHead:function(e,t){return l("chain_rem_head",{index:e,pt:t})},chainRemoveTail:function(e,t){return l("chain_rem_tail",{index:e,pt:t})},chainNew:function(e,t){return l("chain_new",{pt1:e,pt2:t})},chainMatch:function(e){return l("chain_match",{index:e})},chainClose:function(e){return l("chain_close",{index:e})},chainAddHead:function(e,t){return l("chain_add_head",{index:e,pt:t})},chainAddTail:function(e,t){return l("chain_add_tail",{index:e,pt:t})},chainConnect:function(e,t){return l("chain_con",{index1:e,index2:t})},chainReverse:function(e){return l("chain_rev",{index:e})},chainJoin:function(e,t){return l("chain_join",{index1:e,index2:t})},done:function(){return l("done")}},v}O.exports=u}}),DA=xe({"node_modules/polybooljs/lib/epsilon.js"(U,O){function u(v){typeof v!="number"&&(v=1e-10);var w={epsilon:function(S){return typeof S=="number"&&(v=S),v},pointAboveOrOnLine:function(S,l,e){var t=l[0],a=l[1],r=e[0],n=e[1],i=S[0],s=S[1];return(r-t)*(s-a)-(n-a)*(i-t)>=-v},pointBetween:function(S,l,e){var t=S[1]-l[1],a=e[0]-l[0],r=S[0]-l[0],n=e[1]-l[1],i=r*a+t*n;if(i-v)},pointsSameX:function(S,l){return Math.abs(S[0]-l[0])v!=r-t>v&&(a-s)*(t-c)/(r-c)+s-e>v&&(n=!n),a=s,r=c}return n}};return w}O.exports=u}}),RA=xe({"node_modules/polybooljs/lib/linked-list.js"(U,O){var u={create:function(){var v={root:{root:!0,next:null},exists:function(w){return!(w===null||w===v.root)},isEmpty:function(){return v.root.next===null},getHead:function(){return v.root.next},insertBefore:function(w,S){for(var l=v.root,e=v.root.next;e!==null;){if(S(e)){w.prev=e.prev,w.next=e,e.prev.next=w,e.prev=w;return}l=e,e=e.next}l.next=w,w.prev=l,w.next=null},findTransition:function(w){for(var S=v.root,l=v.root.next;l!==null&&!w(l);)S=l,l=l.next;return{before:S===v.root?null:S,after:l,insert:function(e){return e.prev=S,e.next=l,S.next=e,l!==null&&(l.prev=e),e}}}};return v},node:function(v){return v.prev=null,v.next=null,v.remove=function(){v.prev.next=v.next,v.next&&(v.next.prev=v.prev),v.prev=null,v.next=null},v}};O.exports=u}}),FA=xe({"node_modules/polybooljs/lib/intersecter.js"(U,O){var u=RA();function v(w,S,l){function e(y,o){return{id:l?l.segmentId():-1,start:y,end:o,myFill:{above:null,below:null},otherFill:null}}function t(y,o,b){return{id:l?l.segmentId():-1,start:y,end:o,myFill:{above:b.myFill.above,below:b.myFill.below},otherFill:null}}var a=u.create();function r(y,o,b,M,A,E){var g=S.pointsCompare(o,A);return g!==0?g:S.pointsSame(b,E)?0:y!==M?y?1:-1:S.pointAboveOrOnLine(b,M?A:E,M?E:A)?1:-1}function n(y,o){a.insertBefore(y,function(b){var M=r(y.isStart,y.pt,o,b.isStart,b.pt,b.other.pt);return M<0})}function i(y,o){var b=u.node({isStart:!0,pt:y.start,seg:y,primary:o,other:null,status:null});return n(b,y.end),b}function s(y,o,b){var M=u.node({isStart:!1,pt:o.end,seg:o,primary:b,other:y,status:null});y.other=M,n(M,y.pt)}function c(y,o){var b=i(y,o);return s(b,y,o),b}function p(y,o){l&&l.segmentChop(y.seg,o),y.other.remove(),y.seg.end=o,y.other.pt=o,n(y.other,y.pt)}function f(y,o){var b=t(o,y.seg.end,y.seg);return p(y,o),c(b,y.primary)}function d(y,o){var b=u.create();function M(R,k){var B=R.seg.start,N=R.seg.end,q=k.seg.start,Y=k.seg.end;return S.pointsCollinear(B,q,Y)?S.pointsCollinear(N,q,Y)||S.pointAboveOrOnLine(N,q,Y)?1:-1:S.pointAboveOrOnLine(B,q,Y)?1:-1}function A(R){return b.findTransition(function(k){var B=M(R,k.ev);return B>0})}function E(R,k){var B=R.seg,N=k.seg,q=B.start,Y=B.end,ee=N.start,te=N.end;l&&l.checkIntersection(B,N);var ae=S.linesIntersect(q,Y,ee,te);if(ae===!1){if(!S.pointsCollinear(q,Y,ee)||S.pointsSame(q,te)||S.pointsSame(Y,ee))return!1;var j=S.pointsSame(q,ee),G=S.pointsSame(Y,te);if(j&&G)return k;var K=!j&&S.pointBetween(q,ee,te),H=!G&&S.pointBetween(Y,ee,te);if(j)return H?f(k,Y):f(R,te),k;K&&(G||(H?f(k,Y):f(R,te)),f(k,q))}else ae.alongA===0&&(ae.alongB===-1?f(R,ee):ae.alongB===0?f(R,ae.pt):ae.alongB===1&&f(R,te)),ae.alongB===0&&(ae.alongA===-1?f(k,q):ae.alongA===0?f(k,ae.pt):ae.alongA===1&&f(k,Y));return!1}for(var g=[];!a.isEmpty();){var T=a.getHead();if(l&&l.vert(T.pt[0]),T.isStart){let R=function(){if(x){var k=E(T,x);if(k)return k}return _?E(T,_):!1};var m=R;l&&l.segmentNew(T.seg,T.primary);var h=A(T),x=h.before?h.before.ev:null,_=h.after?h.after.ev:null;l&&l.tempStatus(T.seg,x?x.seg:!1,_?_.seg:!1);var D=R();if(D){if(w){var C;T.seg.myFill.below===null?C=!0:C=T.seg.myFill.above!==T.seg.myFill.below,C&&(D.seg.myFill.above=!D.seg.myFill.above)}else D.seg.otherFill=T.seg.myFill;l&&l.segmentUpdate(D.seg),T.other.remove(),T.remove()}if(a.getHead()!==T){l&&l.rewind(T.seg);continue}if(w){var C;T.seg.myFill.below===null?C=!0:C=T.seg.myFill.above!==T.seg.myFill.below,_?T.seg.myFill.below=_.seg.myFill.above:T.seg.myFill.below=y,C?T.seg.myFill.above=!T.seg.myFill.below:T.seg.myFill.above=T.seg.myFill.below}else if(T.seg.otherFill===null){var F;_?T.primary===_.primary?F=_.seg.otherFill.above:F=_.seg.myFill.above:F=T.primary?o:y,T.seg.otherFill={above:F,below:F}}l&&l.status(T.seg,x?x.seg:!1,_?_.seg:!1),T.other.status=h.insert(u.node({ev:T}))}else{var I=T.status;if(I===null)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(b.exists(I.prev)&&b.exists(I.next)&&E(I.prev.ev,I.next.ev),l&&l.statusRemove(I.ev.seg),I.remove(),!T.primary){var z=T.seg.myFill;T.seg.myFill=T.seg.otherFill,T.seg.otherFill=z}g.push(T.seg)}a.getHead().remove()}return l&&l.done(),g}return w?{addRegion:function(y){for(var o,b=y[y.length-1],M=0;Mt!=f>t&&e<(p-s)*(t-c)/(f-c)+s;d&&(a=!a)}return a}}}),f0=xe({"src/lib/polygon.js"(U,O){"use strict";var u=Um().dot,v=Gn().BADNUM,w=O.exports={};w.tester=function(l){var e=l.slice(),t=e[0][0],a=t,r=e[0][1],n=r,i;for((e[e.length-1][0]!==e[0][0]||e[e.length-1][1]!==e[0][1])&&e.push(e[0]),i=1;ia||A===v||An||b&&c(o))}function f(o,b){var M=o[0],A=o[1];if(M===v||Ma||A===v||An)return!1;var E=e.length,g=e[0][0],T=e[0][1],m=0,h,x,_,D,C;for(h=1;hMath.max(x,g)||A>Math.max(_,T)))if(Ai||Math.abs(u(f,c))>a)return!0;return!1},w.filter=function(l,e){var t=[l[0]],a=0,r=0;function n(s){l.push(s);var c=t.length,p=a;t.splice(r+1);for(var f=p+1;f1){var i=l.pop();n(i)}return{addPt:n,raw:l,filtered:t}}}}),jA=xe({"src/components/selections/constants.js"(U,O){"use strict";O.exports={BENDPX:1.5,MINSELECT:12,SELECTDELAY:100,SELECTID:"-select"}}}),qA=xe({"src/components/selections/select.js"(U,O){"use strict";var u=OA(),v=UA(),w=Ci(),S=go().dashStyle,l=wi(),e=hu(),t=Kf().makeEventData,a=Uh(),r=a.freeMode,n=a.rectMode,i=a.drawMode,s=a.openMode,c=a.selectMode,p=Nd(),f=u0(),d=Jm(),y=Dd().clearOutline,o=Bd(),b=o.handleEllipse,M=o.readPaths,A=Km().newShapes,E=C_(),g=N_().activateLastSelection,T=Sr(),m=T.sorterAsc,h=f0(),x=Hm(),_=fu().getFromId,D=l0(),C=c0().redrawReglTraces,F=jA(),I=F.MINSELECT,z=h.filter,R=h.tester,k=Zm(),B=k.p2r,N=k.axValue,q=k.getTransform;function Y(Ee){return Ee.subplot!==void 0}function ee(Ee,Re,he,ye,Ie){var Fe=!Y(ye),He=r(Ie),We=n(Ie),pt=s(Ie),ct=i(Ie),ft=c(Ie),mt=Ie==="drawline",_t=Ie==="drawcircle",Bt=mt||_t,Et=ye.gd,hr=Et._fullLayout,$r=ft&&hr.newselection.mode==="immediate"&&Fe,ca=hr._zoomlayer,na=ye.element.getBoundingClientRect(),wa=ye.plotinfo,pa=q(wa),fa=Re-na.left,za=he-na.top;hr._calcInverseTransform(Et);var Ia=T.apply3DTransform(hr._invTransform)(fa,za);fa=Ia[0],za=Ia[1];var Va=hr._invScaleX,Oa=hr._invScaleY,tn=fa,ka=za,oi="M"+fa+","+za,$n=ye.xaxes[0],bn=ye.yaxes[0],ci=$n._length,hi=bn._length,Pi=Ee.altKey&&!(i(Ie)&&pt),Jn,Ti,_n,Ln,ji,Zi,un;H(Ee,Et,ye),He&&(Jn=z([[fa,za]],F.BENDPX));var rn=ca.selectAll("path.select-outline-"+wa.id).data([1]),nt=ct?hr.newshape:hr.newselection;ct&&(ye.hasText=nt.label.text||nt.label.texttemplate);var Ke=ct&&!pt?nt.fillcolor:"rgba(0,0,0,0)",Qt=nt.line.color||(Fe?l.contrast(Et._fullLayout.plot_bgcolor):"#7f7f7f");rn.enter().append("path").attr("class","select-outline select-outline-"+wa.id).style({opacity:ct?nt.opacity/2:1,"stroke-dasharray":S(nt.line.dash,nt.line.width),"stroke-width":nt.line.width+"px","shape-rendering":"crispEdges"}).call(l.stroke,Qt).call(l.fill,Ke).attr("fill-rule","evenodd").classed("cursor-move",!!ct).attr("transform",pa).attr("d",oi+"Z");var Xt=ca.append("path").attr("class","zoombox-corners").style({fill:l.background,stroke:l.defaultLine,"stroke-width":1}).attr("transform",pa).attr("d","M0,0Z");if(ct&&ye.hasText){var nr=ca.select(".label-temp");nr.empty()&&(nr=ca.append("g").classed("label-temp",!0).classed("select-outline",!0).style({opacity:.8}))}var cr=hr._uid+F.SELECTID,rr=[],Ze=re(Et,ye.xaxes,ye.yaxes,ye.subplot);$r&&!Ee.shiftKey&&(ye._clearSubplotSelections=function(){if(Fe){var Vt=$n._id,er=bn._id;qe(Et,Vt,er,Ze);for(var Tr=(Et.layout||{}).selections||[],jr=[],Fr=!1,kr=0;kr=0){Et._fullLayout._deactivateShape(Et);return}if(!ct){var Tr=hr.clickmode;x.done(cr).then(function(){if(x.clear(cr),Vt===2){for(rn.remove(),ji=0;ji-1&&te(er,Et,ye.xaxes,ye.yaxes,ye.subplot,ye,rn),Tr==="event"&&Jt(Et,void 0);e.click(Et,er,wa.id)}).catch(T.error)}},ye.doneFn=function(){Xt.remove(),x.done(cr).then(function(){x.clear(cr),!$r&&Ln&&ye.selectionDefs&&(Ln.subtract=Pi,ye.selectionDefs.push(Ln),ye.mergedPolygons.length=0,[].push.apply(ye.mergedPolygons,_n)),($r||ct)&&$(ye,$r),ye.doneFnCompleted&&ye.doneFnCompleted(rr),ft&&Jt(Et,un)}).catch(T.error)}}function te(Ee,Re,he,ye,Ie,Fe,He){var We=Re._hoverdata,pt=Re._fullLayout,ct=pt.clickmode,ft=ct.indexOf("event")>-1,mt=[],_t,Bt,Et,hr,$r,ca,na,wa,pa,fa;if(pe(We)){H(Ee,Re,Fe),_t=re(Re,he,ye,Ie);var za=ge(We,_t),Ia=za.pointNumbers.length>0;if(Ia?Se(_t,za):Ce(_t)&&(na=Te(za))){for(He&&He.remove(),fa=0;fa<_t.length;fa++)Bt=_t[fa],Bt._module.selectPoints(Bt,!1);Ue(Re,_t),$(Fe),ft&&at(Re)}else{wa=Ee.shiftKey&&(na!==void 0?na:Te(za)),Et=ae(za.pointNumber,za.searchInfo,wa);var Va=Fe.selectionDefs.concat([Et]);for(hr=K(Va,hr),fa=0;fa<_t.length;fa++)if($r=_t[fa]._module.selectPoints(_t[fa],hr),ca=ce($r,_t[fa]),mt.length)for(var Oa=0;Oa=0}function X(Ee){return Ee._fullLayout._activeSelectionIndex>=0}function $(Ee,Re){var he=Ee.dragmode,ye=Ee.plotinfo,Ie=Ee.gd;Z(Ie)&&Ie._fullLayout._deactivateShape(Ie),X(Ie)&&Ie._fullLayout._deactivateSelection(Ie);var Fe=Ie._fullLayout,He=Fe._zoomlayer,We=i(he),pt=c(he);if(We||pt){var ct=He.selectAll(".select-outline-"+ye.id);if(ct&&Ie._fullLayout._outlining){var ft;We&&(ft=A(ct,Ee)),ft&&w.call("_guiRelayout",Ie,{shapes:ft});var mt;pt&&!Y(Ee)&&(mt=E(ct,Ee)),mt&&(Ie._fullLayout._noEmitSelectedAtStart=!0,w.call("_guiRelayout",Ie,{selections:mt}).then(function(){Re&&g(Ie)})),Ie._fullLayout._outlining=!1}}ye.selection={},ye.selection.selectionDefs=Ee.selectionDefs=[],ye.selection.mergedPolygons=Ee.mergedPolygons=[]}function Q(Ee){return Ee._id}function re(Ee,Re,he,ye){if(!Ee.calcdata)return[];var Ie=[],Fe=Re.map(Q),He=he.map(Q),We,pt,ct;for(ct=0;ct0,Fe=Ie?ye[0]:he;return Re.selectedpoints?Re.selectedpoints.indexOf(Fe)>-1:!1}function Se(Ee,Re){var he=[],ye,Ie,Fe,He;for(He=0;He0&&he.push(ye);if(he.length===1&&(Fe=he[0]===Re.searchInfo,Fe&&(Ie=Re.searchInfo.cd[0].trace,Ie.selectedpoints.length===Re.pointNumbers.length))){for(He=0;He1||(Re+=ye.selectedpoints.length,Re>1)))return!1;return Re===1}function Ue(Ee,Re,he){var ye,Ie;for(ye=0;ye-1&ℜif(!He&&Re){var Vt=ut(Ee,!0);if(Vt.length){var er=Vt[0].xref,Tr=Vt[0].yref;if(er&&Tr){var jr=At(Vt),Fr=Zt([_(Ee,er,"x"),_(Ee,Tr,"y")]);Fr(rr,jr)}}Ee._fullLayout._noEmitSelectedAtStart?Ee._fullLayout._noEmitSelectedAtStart=!1:xt&&Jt(Ee,rr),_t._reselect=!1}if(!He&&_t._deselect){var kr=_t._deselect;We=kr.xref,pt=kr.yref,De(We,pt,ft)||qe(Ee,We,pt,ye),xt&&(rr.points.length?Jt(Ee,rr):at(Ee)),_t._deselect=!1}return{eventData:rr,selectionTesters:he}}function be(Ee){var Re=Ee.calcdata;if(Re)for(var he=0;he=0){nt._fullLayout._deactivateShape(nt);return}var Ke=nt._fullLayout.clickmode;if(j(nt),un===2&&!ce&&Jn(),_e)Ke.indexOf("select")>-1&&T(rn,nt,De,qe,ue.id,ct),Ke.indexOf("event")>-1&&n.click(nt,rn,ue.id);else if(un===1&&ce){var Qt=Ce?se:ie,Xt=Ce==="s"||Ue==="w"?0:1,nr=Qt._name+".range["+Xt+"]",cr=R(Qt,Xt),rr="left",Ze="middle";if(Qt.fixedrange)return;Ce?(Ze=Ce==="n"?"top":"bottom",Qt.side==="right"&&(rr="right")):Ue==="e"&&(rr="right"),nt._context.showAxisRangeEntryBoxes&&u.select(pt).call(t.makeEditable,{gd:nt,immediate:!0,background:nt._fullLayout.paper_bgcolor,text:String(cr),fill:Qt.tickfont?Qt.tickfont.color:"#444",horizontalAlign:rr,verticalAlign:Ze}).on("edit",function(xt){var Vt=Qt.d2r(xt);Vt!==void 0&&l.call("_guiRelayout",nt,nr,Vt)})}}c.init(ct);var _t,Bt,Et,hr,$r,ca,na,wa,pa,fa;function za(un,rn,nt){var Ke=pt.getBoundingClientRect();_t=rn-Ke.left,Bt=nt-Ke.top,re._fullLayout._calcInverseTransform(re);var Qt=v.apply3DTransform(re._fullLayout._invTransform)(_t,Bt);_t=Qt[0],Bt=Qt[1],Et={l:_t,r:_t,w:0,t:Bt,b:Bt,h:0},hr=re._hmpixcount?re._hmlumcount/re._hmpixcount:a.color(re._fullLayout.plot_bgcolor).luminosity(),$r="M0,0H"+ot+"V"+yt+"H0V0",ca=!1,na="xy",fa=!1,wa=Y(Oe,hr,Ne,ut,$r),pa=ee(Oe,Ne,ut)}function Ia(un,rn){if(re._transitioningWithDuration)return!1;var nt=Math.max(0,Math.min(ot,Ie*un+_t)),Ke=Math.max(0,Math.min(yt,Fe*rn+Bt)),Qt=Math.abs(nt-_t),Xt=Math.abs(Ke-Bt);Et.l=Math.min(_t,nt),Et.r=Math.max(_t,nt),Et.t=Math.min(Bt,Ke),Et.b=Math.max(Bt,Ke);function nr(){na="",Et.r=Et.l,Et.t=Et.b,pa.attr("d","M0,0Z")}if(At.isSubplotConstrained)Qt>_||Xt>_?(na="xy",Qt/ot>Xt/yt?(Xt=Qt*yt/ot,Bt>Ke?Et.t=Bt-Xt:Et.b=Bt+Xt):(Qt=Xt*ot/yt,_t>nt?Et.l=_t-Qt:Et.r=_t+Qt),pa.attr("d",Z(Et))):nr();else if(It.isSubplotConstrained)if(Qt>_||Xt>_){na="xy";var cr=Math.min(Et.l/ot,(yt-Et.b)/yt),rr=Math.max(Et.r/ot,(yt-Et.t)/yt);Et.l=cr*ot,Et.r=rr*ot,Et.b=(1-cr)*yt,Et.t=(1-rr)*yt,pa.attr("d",Z(Et))}else nr();else!vr||Xt0){var xt;if(It.isSubplotConstrained||!Zt&&vr.length===1){for(xt=0;xt1&&(nr.maxallowed!==void 0&&Jt===(nr.range[0]1&&(cr.maxallowed!==void 0&&at===(cr.range[0]=0?Math.min(re,.9):1/(1/Math.max(re,-.3)+3.222))}function q(re,ue,pe){return re?re==="nsew"?pe?"":ue==="pan"?"move":"crosshair":re.toLowerCase()+"-resize":"pointer"}function Y(re,ue,pe,ge,Te){return re.append("path").attr("class","zoombox").style({fill:ue>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",e(pe,ge)).attr("d",Te+"Z")}function ee(re,ue,pe){return re.append("path").attr("class","zoombox-corners").style({fill:a.background,stroke:a.defaultLine,"stroke-width":1,opacity:0}).attr("transform",e(ue,pe)).attr("d","M0,0Z")}function te(re,ue,pe,ge,Te,Se){re.attr("d",ge+"M"+pe.l+","+pe.t+"v"+pe.h+"h"+pe.w+"v-"+pe.h+"h-"+pe.w+"Z"),ae(re,ue,Te,Se)}function ae(re,ue,pe,ge){pe||(re.transition().style("fill",ge>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),ue.transition().style("opacity",1).duration(200))}function j(re){u.select(re).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function G(re){D&&re.data&&re._context.showTips&&(v.notifier(v._(re,"Double-click to zoom back out"),"long",re),D=!1)}function K(re,ue){return"M"+(re.l-.5)+","+(ue-_-.5)+"h-3v"+(2*_+1)+"h3ZM"+(re.r+.5)+","+(ue-_-.5)+"h3v"+(2*_+1)+"h-3Z"}function H(re,ue){return"M"+(ue-_-.5)+","+(re.t-.5)+"v-3h"+(2*_+1)+"v3ZM"+(ue-_-.5)+","+(re.b+.5)+"v3h"+(2*_+1)+"v-3Z"}function Z(re){var ue=Math.floor(Math.min(re.b-re.t,re.r-re.l,_)/2);return"M"+(re.l-3.5)+","+(re.t-.5+ue)+"h3v"+-ue+"h"+ue+"v-3h-"+(ue+3)+"ZM"+(re.r+3.5)+","+(re.t-.5+ue)+"h-3v"+-ue+"h"+-ue+"v-3h"+(ue+3)+"ZM"+(re.r+3.5)+","+(re.b+.5-ue)+"h-3v"+ue+"h"+-ue+"v3h"+(ue+3)+"ZM"+(re.l-3.5)+","+(re.b+.5-ue)+"h3v"+ue+"h"+ue+"v3h-"+(ue+3)+"Z"}function X(re,ue,pe,ge,Te){for(var Se=!1,Ce={},Ue={},Oe,_e,ce,ie,se=(Te||{}).xaHash,ne=(Te||{}).yaHash,be=0;be1&&v.warn("Full array edits are incompatible with other edits",c);var M=n[""][""];if(e(M))r.set(null);else if(Array.isArray(M))r.set(M);else return v.warn("Unrecognized full array edit value",c,M),!0;return y?!1:(p(o,b),f(a),!0)}var A=Object.keys(n).map(Number).sort(w),E=r.get(),g=E||[],T=s(b,c).get(),m=[],h=-1,x=g.length,_,D,C,F,I,z,R,k;for(_=0;_g.length-(R?0:1)){v.warn("index out of range",c,C);continue}if(z!==void 0)I.length>1&&v.warn("Insertion & removal are incompatible with edits to the same index.",c,C),e(z)?m.push(C):R?(z==="add"&&(z={}),g.splice(C,0,z),T&&T.splice(C,0,{})):v.warn("Unrecognized full object edit value",c,C,z),h===-1&&(h=C);else for(D=0;D=0;_--)g.splice(m[_],1),T&&T.splice(m[_],1);if(g.length?E||r.set(g):r.set(null),y)return!1;if(p(o,b),d!==u){var B;if(h===-1)B=A;else{for(x=Math.max(g.length,x),B=[],_=0;_=h));_++)B.push(C);for(_=h;_0&&v.log("Clearing previous rejected promises from queue."),y._promises=[]},U.cleanLayout=function(y){var o,b;y||(y={}),y.xaxis1&&(y.xaxis||(y.xaxis=y.xaxis1),delete y.xaxis1),y.yaxis1&&(y.yaxis||(y.yaxis=y.yaxis1),delete y.yaxis1),y.scene1&&(y.scene||(y.scene=y.scene1),delete y.scene1);var M=(w.subplotsRegistry.cartesian||{}).attrRegex,A=(w.subplotsRegistry.polar||{}).attrRegex,E=(w.subplotsRegistry.ternary||{}).attrRegex,g=(w.subplotsRegistry.gl3d||{}).attrRegex,T=Object.keys(y);for(o=0;o3?(z.x=1.02,z.xanchor="left"):z.x<-2&&(z.x=-.02,z.xanchor="right"),z.y>3?(z.y=1.02,z.yanchor="bottom"):z.y<-2&&(z.y=-.02,z.yanchor="top")),y.dragmode==="rotate"&&(y.dragmode="orbit"),y.template&&y.template.layout&&U.cleanLayout(y.template.layout),y};function r(y,o,b=!1){var M=y[o],A=o.charAt(0);b&&Array.isArray(M)||M&&M!=="paper"&&(y[o]=l(M,A,!0))}U.cleanData=function(y){for(var o=0;o0)return y.slice(0,o)}U.hasParent=function(y,o){for(var b=f(o);b;){if(b in y)return!0;b=f(b)}return!1},U.clearAxisTypes=function(y,o,b){for(var M=0;M{let b=(...M)=>M.every(A=>v.isPlainObject(A))||M.every(A=>Array.isArray(A));if([y,o].every(M=>Array.isArray(M))){if(y.length!==o.length)return!1;for(let M=0;Mv.isPlainObject(M))){if(Object.keys(y).length!==Object.keys(o).length)return!1;for(let M in y){if(M.startsWith("_"))continue;let A=y[M],E=o[M];if(A!==E&&!(b(A,E)?d(A,E):!1))return!1}return!0}return!1};U.collectionsAreEqual=d}}),rg=xe({"src/plot_api/plot_api.js"(U){"use strict";var O=Na(),u=yn(),v=h_(),w=Sr(),S=w.nestedProperty,l=ip(),e=fA(),t=Ci(),a=op(),r=zl(),n=uo(),i=b_(),s=$c(),c=go(),p=wi(),f=q_().initInteractions,d=fh(),y=yc().clearOutline,o=fv().dfltConfig,b=WA(),M=YA(),A=c0(),E=Hl(),g=lc().AX_NAME_PATTERN,T=0,m=5;function h(he,ye,Ie,Fe){var He;if(he=w.getGraphDiv(he),l.init(he),w.isPlainObject(ye)){var We=ye;ye=We.data,Ie=We.layout,Fe=We.config,He=We.frames}var pt=l.triggerHandler(he,"plotly_beforeplot",[ye,Ie,Fe]);if(pt===!1)return Promise.reject();!ye&&!Ie&&!w.isPlotDiv(he)&&w.warn("Calling _doPlot as if redrawing but this container doesn't yet have a plot.",he);function ct(){if(He)return U.addFrames(he,He)}F(he,Fe),Ie||(Ie={}),O.select(he).classed("js-plotly-plot",!0),c.makeTester(),Array.isArray(he._promises)||(he._promises=[]);var ft=(he.data||[]).length===0&&Array.isArray(ye);Array.isArray(ye)&&(M.cleanData(ye),ft?he.data=ye:he.data.push.apply(he.data,ye),he.empty=!1),(!he.layout||ft)&&(he.layout=M.cleanLayout(Ie)),r.supplyDefaults(he);var mt=he._fullLayout,_t=mt._has("cartesian");mt._replotting=!0,(ft||mt._shouldCreateBgLayer)&&(Re(he),mt._shouldCreateBgLayer&&delete mt._shouldCreateBgLayer),c.initGradients(he),c.initPatterns(he),ft&&n.saveShowSpikeInitial(he);var Bt=!he.calcdata||he.calcdata.length!==(he._fullData||[]).length;Bt&&r.doCalcdata(he);for(var Et=0;Et=he.data.length||He<-he.data.length)throw new Error(Ie+" must be valid indices for gd.data.");if(ye.indexOf(He,Fe+1)>-1||He>=0&&ye.indexOf(-he.data.length+He)>-1||He<0&&ye.indexOf(he.data.length+He)>-1)throw new Error("each index in "+Ie+" must be unique.")}}function B(he,ye,Ie){if(!Array.isArray(he.data))throw new Error("gd.data must be an array.");if(typeof ye>"u")throw new Error("currentIndices is a required argument.");if(Array.isArray(ye)||(ye=[ye]),k(he,ye,"currentIndices"),typeof Ie<"u"&&!Array.isArray(Ie)&&(Ie=[Ie]),typeof Ie<"u"&&k(he,Ie,"newIndices"),typeof Ie<"u"&&ye.length!==Ie.length)throw new Error("current and new indices must be of equal length.")}function N(he,ye,Ie){var Fe,He;if(!Array.isArray(he.data))throw new Error("gd.data must be an array.");if(typeof ye>"u")throw new Error("traces must be defined.");for(Array.isArray(ye)||(ye=[ye]),Fe=0;Fe"u")throw new Error("indices must be an integer or array of integers");k(he,Ie,"indices");for(var We in ye){if(!Array.isArray(ye[We])||ye[We].length!==Ie.length)throw new Error("attribute "+We+" must be an array of length equal to indices array length");if(He&&(!(We in Fe)||!Array.isArray(Fe[We])||Fe[We].length!==ye[We].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 Y(he,ye,Ie,Fe){var He=w.isPlainObject(Fe),We=[],pt,ct,ft,mt,_t;Array.isArray(Ie)||(Ie=[Ie]),Ie=R(Ie,he.data.length-1);for(var Bt in ye)for(var Et=0;Et=0&&_t=0&&_t"u")return mt=U.redraw(he),e.add(he,He,pt,We,ct),mt;Array.isArray(Ie)||(Ie=[Ie]);try{B(he,Fe,Ie)}catch(_t){throw he.data.splice(he.data.length-ye.length,ye.length),_t}return e.startSequence(he),e.add(he,He,pt,We,ct),mt=U.moveTraces(he,Fe,Ie),e.stopSequence(he),mt}function K(he,ye){he=w.getGraphDiv(he);var Ie=[],Fe=U.addTraces,He=K,We=[he,Ie,ye],pt=[he,ye],ct,ft;if(typeof ye>"u")throw new Error("indices must be an integer or array of integers.");for(Array.isArray(ye)||(ye=[ye]),k(he,ye,"indices"),ye=R(ye,he.data.length-1),ye.sort(w.sorterDes),ct=0;ct"u")for(Ie=[],mt=0;mt0&&typeof tn.parts[$n]!="string";)$n--;var bn=tn.parts[$n],ci=tn.parts[$n-1]+"."+bn,hi=tn.parts.slice(0,$n).join("."),Pi=S(he.layout,hi).get(),Jn=S(Fe,hi).get(),Ti=tn.get();if(ka!==void 0){wa[Oa]=ka,pa[Oa]=bn==="reverse"?ka:X(Ti);var _n=a.getLayoutValObject(Fe,tn.parts);if(_n&&_n.impliedEdits&&ka!==null)for(var Ln in _n.impliedEdits)fa(w.relativeAttr(Oa,Ln),_n.impliedEdits[Ln]);if(["width","height"].indexOf(Oa)!==-1)if(ka){fa("autosize",null);var ji=Oa==="height"?"width":"height";fa(ji,Fe[ji])}else Fe[Oa]=he._initialAutoSize[Oa];else if(Oa==="autosize")fa("width",ka?null:Fe.width),fa("height",ka?null:Fe.height);else if(ci.match(Se))Va(ci),S(Fe,hi+"._inputRange").set(null);else if(ci.match(Ce)){Va(ci),S(Fe,hi+"._inputRange").set(null);var Zi=S(Fe,hi).get();Zi._inputDomain&&(Zi._input.domain=Zi._inputDomain.slice())}else ci.match(Ue)&&S(Fe,hi+"._inputDomain").set(null);if(bn==="type"){Ia=Pi;var un=Jn.type==="linear"&&ka==="log",rn=Jn.type==="log"&&ka==="linear";if(un||rn){if(!Ia||!Ia.range)fa(hi+".autorange",!0);else if(Jn.autorange)un&&(Ia.range=Ia.range[1]>Ia.range[0]?[1,2]:[2,1]);else{var nt=Ia.range[0],Ke=Ia.range[1];un?(nt<=0&&Ke<=0&&fa(hi+".autorange",!0),nt<=0?nt=Ke/1e6:Ke<=0&&(Ke=nt/1e6),fa(hi+".range[0]",Math.log(nt)/Math.LN10),fa(hi+".range[1]",Math.log(Ke)/Math.LN10)):(fa(hi+".range[0]",Math.pow(10,nt)),fa(hi+".range[1]",Math.pow(10,Ke)))}Array.isArray(Fe._subplots.polar)&&Fe._subplots.polar.length&&Fe[tn.parts[0]]&&tn.parts[1]==="radialaxis"&&delete Fe[tn.parts[0]]._subplot.viewInitial["radialaxis.range"],t.getComponentMethod("annotations","convertCoords")(he,Jn,ka,fa),t.getComponentMethod("images","convertCoords")(he,Jn,ka,fa)}else fa(hi+".autorange",!0),fa(hi+".range",null);S(Fe,hi+"._inputRange").set(null)}else if(bn.match(g)){var Qt=S(Fe,Oa).get(),Xt=(ka||{}).type;(!Xt||Xt==="-")&&(Xt="linear"),t.getComponentMethod("annotations","convertCoords")(he,Qt,Xt,fa),t.getComponentMethod("images","convertCoords")(he,Qt,Xt,fa)}var nr=b.containerArrayMatch(Oa);if(nr){_t=nr.array,Bt=nr.index;var cr=nr.property,rr=_n||{editType:"calc"};Bt!==""&&cr===""&&(b.isAddVal(ka)?pa[Oa]=null:b.isRemoveVal(ka)?pa[Oa]=(S(Ie,_t).get()||[])[Bt]:w.warn("unrecognized full object value",ye)),E.update(na,rr),mt[_t]||(mt[_t]={});var Ze=mt[_t][Bt];Ze||(Ze=mt[_t][Bt]={}),Ze[cr]=ka,delete ye[Oa]}else bn==="reverse"?(Pi.range?Pi.range.reverse():(fa(hi+".autorange",!0),Pi.range=[1,0]),Jn.autorange?na.calc=!0:na.plot=!0):(Oa==="dragmode"&&(ka===!1&&Ti!==!1||ka!==!1&&Ti===!1)||Fe._has("scatter-like")&&Fe._has("regl")&&Oa==="dragmode"&&(ka==="lasso"||ka==="select")&&!(Ti==="lasso"||Ti==="select")?na.plot=!0:_n?E.update(na,_n):na.calc=!0,tn.set(ka))}}for(_t in mt){var xt=b.applyContainerArrayChanges(he,We(Ie,_t),mt[_t],na,We);xt||(na.plot=!0)}for(var Vt in za){Ia=n.getFromId(he,Vt);var er=Ia&&Ia._constraintGroup;if(er){na.calc=!0;for(var Tr in er)za[Tr]||(n.getFromId(he,Tr)._constraintShrinkable=!0)}}(_e(he)||ye.height||ye.width)&&(na.plot=!0);var jr=Fe.shapes;for(Bt=0;Bt1;)if(Fe.pop(),Ie=S(ye,Fe.join(".")+".uirevision").get(),Ie!==void 0)return Ie;return ye.uirevision}function qe(he,ye){for(var Ie=0;Ie[hi,he._ev.listeners(hi)]);We=U.newPlot(he,ye,Ie,Fe).then(()=>{for(let[hi,Pi]of ci)Pi.forEach(Jn=>he.on(hi,Jn));return U.react(he,ye,Ie,Fe)})}else{he.data=ye||[],M.cleanData(he.data),he.layout=Ie||{},M.cleanLayout(he.layout),ot(he.data,he.layout,ct,ft),r.supplyDefaults(he,{skipUpdateCalc:!0});var Bt=he._fullData,Et=he._fullLayout,hr=Et.datarevision===void 0,$r=Et.transition,ca=It(he,ft,Et,hr,$r),na=ca.newDataRevision,wa=At(he,ct,Bt,hr,$r,na);if(_e(he)&&(ca.layoutReplot=!0),wa.calc||ca.calc){he.calcdata=void 0;for(var pa=Object.getOwnPropertyNames(Et),fa=0;fa(_t||he.emit("plotly_react",{config:Fe,data:ye,layout:Ie}),he))}function At(he,ye,Ie,Fe,He,We){var pt=ye.length===Ie.length;if(!He&&!pt)return{fullReplot:!0,calc:!0};var ct=E.traceFlags();ct.arrays={},ct.nChanges=0,ct.nChangesAnim=0;var ft,mt;function _t(hr){var $r=a.getTraceValObject(mt,hr);return!mt._module.animatable&&$r.anim&&($r.anim=!1),$r}var Bt={getValObject:_t,flags:ct,immutable:Fe,transition:He,newDataRevision:We,gd:he},Et={};for(ft=0;ft=He.length?He[0]:He[mt]:He}function ct(mt){return Array.isArray(We)?mt>=We.length?We[0]:We[mt]:We}function ft(mt,_t){var Bt=0;return function(){if(mt&&++Bt===_t)return mt()}}return new Promise(function(mt,_t){function Bt(){if(Fe._frameQueue.length!==0){for(;Fe._frameQueue.length;){var bn=Fe._frameQueue.pop();bn.onInterrupt&&bn.onInterrupt()}he.emit("plotly_animationinterrupted",[])}}function Et(bn){if(bn.length!==0){for(var ci=0;ciFe._timeToNext&&$r()};bn()}var na=0;function wa(bn){return Array.isArray(He)?na>=He.length?bn.transitionOpts=He[na]:bn.transitionOpts=He[0]:bn.transitionOpts=He,na++,bn}var pa,fa,za=[],Ia=ye==null,Va=Array.isArray(ye),Oa=!Ia&&!Va&&w.isPlainObject(ye);if(Oa)za.push({type:"object",data:wa(w.extendFlat({},ye))});else if(Ia||["string","number"].indexOf(typeof ye)!==-1)for(pa=0;pa0&&oioi)&&$n.push(fa);za=$n}}za.length>0?Et(za):(he.emit("plotly_animated"),mt())})}function Ut(he,ye,Ie){if(he=w.getGraphDiv(he),ye==null)return Promise.resolve();if(!w.isPlotDiv(he))throw new Error("This element is not a Plotly plot: "+he+". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/");var Fe,He,We,pt,ct=he._transitionData._frames,ft=he._transitionData._frameHash;if(!Array.isArray(ye))throw new Error("addFrames failure: frameList must be an Array of frame definitions"+ye);var mt=ct.length+ye.length*2,_t=[],Bt={};for(Fe=ye.length-1;Fe>=0;Fe--)if(w.isPlainObject(ye[Fe])){var Et=ye[Fe].name,hr=(ft[Et]||Bt[Et]||{}).name,$r=ye[Fe].name,ca=ft[hr]||Bt[hr];hr&&$r&&typeof $r=="number"&&ca&&Ttn.index?-1:Oa.index=0;Fe--){if(He=_t[Fe].frame,typeof He.name=="number"&&w.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!He.name)for(;ft[He.name="frame "+he._transitionData._counter++];);if(ft[He.name]){for(We=0;We=0;Ie--)Fe=ye[Ie],We.push({type:"delete",index:Fe}),pt.unshift({type:"insert",index:Fe,value:He[Fe]});var ct=r.modifyFrames,ft=r.modifyFrames,mt=[he,pt],_t=[he,We];return e&&e.add(he,ct,mt,ft,_t),r.modifyFrames(he,We)}function at(he){he=w.getGraphDiv(he);var ye=he._fullLayout||{},Ie=he._fullData||[];return r.cleanPlot([],{},Ie,ye),r.purge(he),l.purge(he),ye._container&&ye._container.remove(),delete he._context,he}function Ee(he){var ye=he._fullLayout,Ie=he.getBoundingClientRect();if(!w.equalDomRects(Ie,ye._lastBBox)){var Fe=ye._invTransform=w.inverseTransformMatrix(w.getFullTransformMatrix(he));ye._invScaleX=Math.sqrt(Fe[0][0]*Fe[0][0]+Fe[0][1]*Fe[0][1]+Fe[0][2]*Fe[0][2]),ye._invScaleY=Math.sqrt(Fe[1][0]*Fe[1][0]+Fe[1][1]*Fe[1][1]+Fe[1][2]*Fe[1][2]),ye._lastBBox=Ie}}function Re(he){var ye=O.select(he),Ie=he._fullLayout;if(Ie._calcInverseTransform=Ee,Ie._calcInverseTransform(he),Ie._container=ye.selectAll(".plot-container").data([0]),Ie._container.enter().insert("div",":first-child").classed("plot-container",!0).classed("plotly",!0).style({width:"100%",height:"100%"}),Ie._paperdiv=Ie._container.selectAll(".svg-container").data([0]),Ie._paperdiv.enter().append("div").classed("user-select-none",!0).classed("svg-container",!0).style("position","relative"),Ie._glcontainer=Ie._paperdiv.selectAll(".gl-container").data([{}]),Ie._glcontainer.enter().append("div").classed("gl-container",!0),Ie._paperdiv.selectAll(".main-svg").remove(),Ie._paperdiv.select(".modebar-container").remove(),Ie._paper=Ie._paperdiv.insert("svg",":first-child").classed("main-svg",!0),Ie._toppaper=Ie._paperdiv.append("svg").classed("main-svg",!0),Ie._modebardiv=Ie._paperdiv.append("div"),delete Ie._modeBar,Ie._hoverpaper=Ie._paperdiv.append("svg").classed("main-svg",!0),!Ie._uid){var Fe={};O.selectAll("defs").each(function(){this.id&&(Fe[this.id.split("-")[1]]=1)}),Ie._uid=w.randstr(Fe)}Ie._paperdiv.selectAll(".main-svg").attr(d.svgAttrs),Ie._defs=Ie._paper.append("defs").attr("id","defs-"+Ie._uid),Ie._clips=Ie._defs.append("g").classed("clips",!0),Ie._topdefs=Ie._toppaper.append("defs").attr("id","topdefs-"+Ie._uid),Ie._topclips=Ie._topdefs.append("g").classed("clips",!0),Ie._bgLayer=Ie._paper.append("g").classed("bglayer",!0),Ie._draggers=Ie._paper.append("g").classed("draglayer",!0);var He=Ie._paper.append("g").classed("layer-below",!0);Ie._imageLowerLayer=He.append("g").classed("imagelayer",!0),Ie._shapeLowerLayer=He.append("g").classed("shapelayer",!0),Ie._cartesianlayer=Ie._paper.append("g").classed("cartesianlayer",!0),Ie._polarlayer=Ie._paper.append("g").classed("polarlayer",!0),Ie._smithlayer=Ie._paper.append("g").classed("smithlayer",!0),Ie._ternarylayer=Ie._paper.append("g").classed("ternarylayer",!0),Ie._geolayer=Ie._paper.append("g").classed("geolayer",!0),Ie._funnelarealayer=Ie._paper.append("g").classed("funnelarealayer",!0),Ie._pielayer=Ie._paper.append("g").classed("pielayer",!0),Ie._iciclelayer=Ie._paper.append("g").classed("iciclelayer",!0),Ie._treemaplayer=Ie._paper.append("g").classed("treemaplayer",!0),Ie._sunburstlayer=Ie._paper.append("g").classed("sunburstlayer",!0),Ie._indicatorlayer=Ie._toppaper.append("g").classed("indicatorlayer",!0),Ie._glimages=Ie._paper.append("g").classed("glimages",!0);var We=Ie._toppaper.append("g").classed("layer-above",!0);Ie._imageUpperLayer=We.append("g").classed("imagelayer",!0),Ie._shapeUpperLayer=We.append("g").classed("shapelayer",!0),Ie._selectionLayer=Ie._toppaper.append("g").classed("selectionlayer",!0),Ie._infolayer=Ie._toppaper.append("g").classed("infolayer",!0),Ie._menulayer=Ie._toppaper.append("g").classed("menulayer",!0),Ie._zoomlayer=Ie._toppaper.append("g").classed("zoomlayer",!0),Ie._hoverlayer=Ie._hoverpaper.append("g").classed("hoverlayer",!0),Ie._modebardiv.classed("modebar-container",!0).style("position","absolute").style("top","0px").style("right","0px"),he.emit("plotly_framework")}U.animate=vr,U.addFrames=Ut,U.deleteFrames=Jt,U.addTraces=G,U.deleteTraces=K,U.extendTraces=ae,U.moveTraces=H,U.prependTraces=j,U.newPlot=z,U._doPlot=h,U.purge=at,U.react=yt,U.redraw=I,U.relayout=pe,U.restyle=Z,U.setPlotConfig=_,U.update=ce,U._guiRelayout=ie(pe),U._guiRestyle=ie(Z),U._guiUpdate=ie(ce),U._storeDirectGUIEdit=re}}),hd=xe({"src/snapshot/helpers.js"(U){"use strict";var O=Ci();U.getDelay=function(w){return w._has&&(w._has("gl3d")||w._has("map"))?500:0},U.getRedrawFunc=function(w){return function(){O.getComponentMethod("colorbar","draw")(w)}},U.encodeSVG=function(w){return"data:image/svg+xml,"+encodeURIComponent(w)},U.encodeJSON=function(w){return"data:application/json,"+encodeURIComponent(w)};var u=window.URL||window.webkitURL;U.createObjectURL=function(w){return u.createObjectURL(w)},U.revokeObjectURL=function(w){return u.revokeObjectURL(w)},U.createBlob=function(w,S){if(S==="svg")return new window.Blob([w],{type:"image/svg+xml;charset=utf-8"});if(S==="full-json")return new window.Blob([w],{type:"application/json;charset=utf-8"});var l=v(window.atob(w));return new window.Blob([l],{type:"image/"+S})},U.octetStream=function(w){document.location.href="data:application/octet-stream"+w},U.getPlotTitle=function(w){var S,l,e,t,a=w._fullLayout;if(a){var r=(S=a.title)==null?void 0:S.text;return r===((l=a._dfltTitle)==null?void 0:l.plot)?void 0:r}return(t=(e=w.layout)==null?void 0:e.title)==null?void 0:t.text},U.getPlotSubtitle=function(w){var S,l,e,t,a,r,n=w._fullLayout;if(n){var i=(l=(S=n.title)==null?void 0:S.subtitle)==null?void 0:l.text;return i===((e=n._dfltTitle)==null?void 0:e.subtitle)?void 0:i}return(r=(a=(t=w.layout)==null?void 0:t.title)==null?void 0:a.subtitle)==null?void 0:r.text};function v(w){for(var S=w.length,l=new ArrayBuffer(S),e=new Uint8Array(l),t=0;t{let o=y.toLowerCase();return r.includes(o)?y:n.includes(o)?"<":i.includes(o)?">":y.includes("<")||y.includes(">")?"":f.html(y).text()});return f.remove(),d}function c(p){return p.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")}O.exports=function(f,d,y){var o=f._fullLayout,b=o._paper,M=o._toppaper,A=o.width,E=o.height,g;b.insert("rect",":first-child").call(w.setRect,0,0,A,E).call(S.fill,o.paper_bgcolor);var T=o._basePlotModules||[];for(g=0;g1&&E.push(s("object","layout"))),v.supplyDefaults(g);for(var h=g._fullData,x=T.length,_=0;_D.length&&A.push(s("unused",E,x.concat(D.length)));var k=D.length,B=Array.isArray(R);B&&(k=Math.min(k,R.length));var N,q,Y,ee,te;if(C.dimensions===2)for(q=0;qD[q].length&&A.push(s("unused",E,x.concat(q,D[q].length)));var ae=D[q].length;for(N=0;N<(B?Math.min(ae,R[q].length):ae);N++)Y=B?R[q][N]:R,ee=_[q][N],te=D[q][N],u.validate(ee,Y)?te!==ee&&te!==+ee&&A.push(s("dynamic",E,x.concat(q,N),ee,te)):A.push(s("value",E,x.concat(q,N),ee))}else A.push(s("array",E,x.concat(q),_[q]));else for(q=0;qI?A.push({code:"unused",traceType:_,templateCount:F,dataCount:I}):I>F&&A.push({code:"reused",traceType:_,templateCount:F,dataCount:I})}}function z(R,k){for(var B in R)if(B.charAt(0)!=="_"){var N=R[B],q=s(R,B,k);u(N)?(Array.isArray(R)&&N._template===!1&&N.templateitemname&&A.push({code:"missing",path:q,templateitemname:N.templateitemname}),z(N,q)):Array.isArray(N)&&c(N)&&z(N,q)}}if(z({data:g,layout:E},""),A.length)return A.map(p)};function c(f){for(var d=0;d=0;p--){var f=l[p];if(f.type==="scatter"&&f.xaxis===s.xaxis&&f.yaxis===s.yaxis){f.opacity=void 0;break}}}}}}}),e6=xe({"src/traces/scatter/layout_defaults.js"(U,O){"use strict";var u=Sr(),v=Gm();O.exports=function(w,S){function l(t,a){return u.coerce(w,S,v,t,a)}var e=S.barmode==="group";S.scattermode==="group"&&l("scattergap",e?S.bargap:.2)}}}),Ch=xe({"src/plots/cartesian/align_period.js"(U,O){"use strict";var u=yn(),v=Sr(),w=v.dateTime2ms,S=v.incrementMonth,l=Gn(),e=l.ONEAVGMONTH;O.exports=function(a,r,n,i){if(r.type!=="date")return{vals:i};var s=a[n+"periodalignment"];if(!s)return{vals:i};var c=a[n+"period"],p;if(u(c)){if(c=+c,c<=0)return{vals:i}}else if(typeof c=="string"&&c.charAt(0)==="M"){var f=+c.substring(1);if(f>0&&Math.round(f)===f)p=f;else return{vals:i}}for(var d=r.calendar,y=s==="start",o=s==="end",b=a[n+"period0"],M=w(b,d)||0,A=[],E=[],g=[],T=i.length,m=0;mh;)D=S(D,-p,d);for(;D<=h;)D=S(D,p,d);_=S(D,-p,d)}else{for(x=Math.round((h-M)/c),D=M+x*c;D>h;)D-=c;for(;D<=h;)D+=c;_=D-c}A[m]=y?_:o?D:(_+D)/2,E[m]=_,g[m]=D}return{vals:A,starts:E,ends:g}}}}),dh=xe({"src/traces/scatter/colorscale_calc.js"(U,O){"use strict";var u=vf().hasColorscale,v=xf(),w=Cl();O.exports=function(l,e){w.hasLines(e)&&u(e,"line")&&v(l,e,{vals:e.line.color,containerStr:"line",cLetter:"c"}),w.hasMarkers(e)&&(u(e,"marker")&&v(l,e,{vals:e.marker.color,containerStr:"marker",cLetter:"c"}),u(e,"marker.line")&&v(l,e,{vals:e.marker.line.color,containerStr:"marker.line",cLetter:"c"}))}}}),Hh=xe({"src/traces/scatter/arrays_to_calcdata.js"(U,O){"use strict";var u=Sr();O.exports=function(w,S){for(var l=0;lz&&_[k].gap;)k--;for(N=_[k].s,R=_.length-1;R>k;R--)_[R].s=N;for(;zee+q||!u(Y))}for(var ae=0;aek(N))):k(I.text);let B=I.outsidetextfont.size*r*R+a;return{ppadplus:z.some(N=>N.s<0)?B:0,ppadminus:z.some(N=>N.s>=0)?B:0}}return{ppadplus:void 0,ppadminus:void 0}}function D(I,z,R,k){for(var B=F(k),N=0;NF[d]&&d0?l:e)/(d._m*b*(d._m>0?l:e)))),mt*=1e3}if(_t===w){if(o&&(_t=d.c2p(ft.y,!0)),_t===w)return!1;_t*=1e3}return[mt,_t]}function Q(ct,ft,mt,_t){var Bt=mt-ct,Et=_t-ft,hr=.5-ct,$r=.5-ft,ca=Bt*Bt+Et*Et,na=Bt*hr+Et*$r;if(na>0&&na1||Math.abs(hr.y-mt[0][1])>1)&&(hr=[hr.x,hr.y],_t&&ge(hr,ct)Ce||ct[1]Oe)return[r(ct[0],Se,Ce),r(ct[1],Ue,Oe)]}function ut(ct,ft){if(ct[0]===ft[0]&&(ct[0]===Se||ct[0]===Ce)||ct[1]===ft[1]&&(ct[1]===Ue||ct[1]===Oe))return!0}function ot(ct,ft){var mt=[],_t=Ne(ct),Bt=Ne(ft);return _t&&Bt&&ut(_t,Bt)||(_t&&mt.push(_t),Bt&&mt.push(Bt)),mt}function yt(ct,ft,mt){return function(_t,Bt){var Et=Ne(_t),hr=Ne(Bt),$r=[];if(Et&&hr&&ut(Et,hr))return $r;Et&&$r.push(Et),hr&&$r.push(hr);var ca=2*t.constrain((_t[ct]+Bt[ct])/2,ft,mt)-((Et||_t)[ct]+(hr||Bt)[ct]);if(ca){var na;Et&&hr?na=ca>0==Et[ct]>hr[ct]?Et:hr:na=Et||hr,na[ct]+=ca}return $r}}var At;m==="linear"||m==="spline"?At=qe:m==="hv"||m==="vh"?At=ot:m==="hvh"?At=yt(0,Se,Ce):m==="vhv"&&(At=yt(1,Ue,Oe));function It(ct,ft){var mt=ft[0]-ct[0],_t=(ft[1]-ct[1])/mt,Bt=(ct[1]*ft[0]-ft[1]*ct[0])/mt;return Bt>0?[_t>0?Se:Ce,Oe]:[_t>0?Ce:Se,Ue]}function Zt(ct){var ft=ct[0],mt=ct[1],_t=ft===F[I-1][0],Bt=mt===F[I-1][1];if(!(_t&&Bt))if(I>1){var Et=ft===F[I-2][0],hr=mt===F[I-2][1];_t&&(ft===Se||ft===Ce)&&Et?hr?I--:F[I-1]=ct:Bt&&(mt===Ue||mt===Oe)&&hr?Et?I--:F[I-1]=ct:F[I++]=ct}else F[I++]=ct}function vr(ct){F[I-1][0]!==ct[0]&&F[I-1][1]!==ct[1]&&Zt([se,ne]),Zt(ct),be=null,se=ne=0}var Ut=t.isArrayOrTypedArray(E);function Jt(ct){if(ct&&A&&(ct.i=z,ct.d=s,ct.trace=p,ct.marker=Ut?E[ct.i]:E,ct.backoff=A),re=ct[0]/b,ue=ct[1]/M,ce=ct[0]Ce?Ce:0,ie=ct[1]Oe?Oe:0,ce||ie){if(!I)F[I++]=[ce||ct[0],ie||ct[1]];else if(be){var ft=At(be,ct);ft.length>1&&(vr(ft[0]),F[I++]=ft[1])}else De=At(F[I-1],ct)[0],F[I++]=De;var mt=F[I-1];ce&&ie&&(mt[0]!==ce||mt[1]!==ie)?(be&&(se!==ce&&ne!==ie?Zt(se&&ne?It(be,ct):[se||ce,ne||ie]):se&&ne&&Zt([se,ne])),Zt([ce,ie])):se-ce&&ne-ie&&Zt([ce||se,ie||ne]),be=ct,se=ce,ne=ie}else be&&vr(At(be,ct)[0]),F[I++]=ct}for(z=0;zpe(q,at))break;k=q,K=te[0]*ee[0]+te[1]*ee[1],K>j?(j=K,B=q,Y=!1):K=s.length||!q)break;Jt(q),R=q}}be&&Zt([se||be[0],ne||be[1]]),_.push(F.slice(0,I))}var Ee=m.slice(m.length-1);if(A&&Ee!=="h"&&Ee!=="v"){for(var Re=!1,he=-1,ye=[],Ie=0;Ie<_.length;Ie++)for(var Fe=0;Fe<_[Ie].length-1;Fe++){var He=_[Ie][Fe],We=_[Ie][Fe+1],pt=u.applyBackoff(We,He);(pt[0]!==We[0]||pt[1]!==We[1])&&(Re=!0),ye[he+1]||(he++,ye[he]=[He,[pt[0],pt[1]]])}return Re?ye:_}return _}}}),Y_=xe({"src/traces/scatter/link_traces.js"(U,O){"use strict";var u={tonextx:1,tonexty:1,tonext:1};O.exports=function(w,S,l){var e,t,a,r,n,i={},s=!1,c=-1,p=0,f=-1;for(t=0;t=0?n=f:(n=f=p,p++),n0,m=r(f,d,y);if(A=o.selectAll("g.trace").data(m,function(x){return x[0].trace.uid}),A.enter().append("g").attr("class",function(x){return"trace scatter trace"+x[0].trace.uid}).style("stroke-miterlimit",2),A.order(),i(f,A,d),T){M&&(E=M());var h=u.transition().duration(b.duration).ease(b.easing).each("end",function(){E&&E()}).each("interrupt",function(){E&&E()});h.each(function(){o.selectAll("g.trace").each(function(x,_){s(f,_,d,x,m,this,b)})})}else A.each(function(x,_){s(f,_,d,x,m,this,b)});g&&A.exit().remove(),o.selectAll("path:not([d])").remove()};function i(p,f,d){f.each(function(y){var o=S(u.select(this),"g","fills");e.setClipUrl(o,d.layerClipId,p);var b=y[0].trace;b._ownFill=null,b._nextFill=null;var M=[];b._ownfill&&M.push("_ownFill"),b._nexttrace&&M.push("_nextFill");var A=o.selectAll("g").data(M,l);A.enter().append("g"),A.exit().remove(),A.order().each(function(E){b[E]=S(u.select(this),"path","js-fill")})})}function s(p,f,d,y,o,b,M){var A=p._context.staticPlot,E;c(p,f,d,y,o);var g=!!M&&M.duration>0;function T(Zt){return g?Zt.transition():Zt}var m=d.xaxis,h=d.yaxis,x=y[0].trace,_=x.line,D=u.select(b),C=S(D,"g","errorbars"),F=S(D,"g","lines"),I=S(D,"g","points"),z=S(D,"g","text");if(v.getComponentMethod("errorbars","plot")(p,C,d,M),x.visible!==!0)return;T(D).style("opacity",x.opacity);var R,k,B=x.fill.charAt(x.fill.length-1);B!=="x"&&B!=="y"&&(B="");var N,q;B==="y"?(N=1,q=h.c2p(0,!0)):B==="x"&&(N=0,q=m.c2p(0,!0)),y[0][d.isRangePlot?"nodeRangePlot3":"node3"]=D;var Y="",ee=[],te=x._prevtrace,ae=null,j=null;te&&(Y=te._prevRevpath||"",k=te._nextFill,ee=te._ownPolygons,ae=te._fillsegments,j=te._fillElement);var G,K,H="",Z="",X,$,Q,re,ue,pe,ge=[];x._polygons=[];var Te=[],Se=[],Ce=w.noop;if(R=x._ownFill,t.hasLines(x)||x.fill!=="none"){k&&k.datum(y),["hv","vh","hvh","vhv"].indexOf(_.shape)!==-1?(X=e.steps(_.shape),$=e.steps(_.shape.split("").reverse().join(""))):_.shape==="spline"?X=$=function(Zt){var vr=Zt[Zt.length-1];return Zt.length>1&&Zt[0][0]===vr[0]&&Zt[0][1]===vr[1]?e.smoothclosed(Zt.slice(1),_.smoothing):e.smoothopen(Zt,_.smoothing)}:X=$=function(Zt){return"M"+Zt.join("L")},Q=function(Zt){return $(Zt.reverse())},Se=a(y,{xaxis:m,yaxis:h,trace:x,connectGaps:x.connectgaps,baseTolerance:Math.max(_.width||1,3)/4,shape:_.shape,backoff:_.backoff,simplify:_.simplify,fill:x.fill}),Te=new Array(Se.length);var Ue=0;for(E=0;E=A[0]&&D.x<=A[1]&&D.y>=E[0]&&D.y<=E[1]}),h=Math.ceil(m.length/T),x=0;o.forEach(function(D,C){var F=D[0].trace;t.hasMarkers(F)&&F.marker.maxdisplayed>0&&C=Math.min(te,ae)&&d<=Math.max(te,ae)?0:1/0}var j=Math.max(3,ee.mrc||0),G=1-1/j,K=Math.abs(p.c2p(ee.x)-d);return K=Math.min(te,ae)&&y<=Math.max(te,ae)?0:1/0}var j=Math.max(3,ee.mrc||0),G=1-1/j,K=Math.abs(f.c2p(ee.y)-y);return KZ!=Te>=Z&&(ue=Q[$-1][0],pe=Q[$][0],Te-ge&&(re=ue+(pe-ue)*(Z-ge)/(Te-ge),j=Math.min(j,re),G=Math.max(G,re)));return j=Math.max(j,0),G=Math.min(G,p._length),{x0:j,x1:G,y0:Z,y1:Z}}if(b.indexOf("fills")!==-1&&c._fillElement){var N=k(c._fillElement)&&!k(c._fillExclusionElement);if(N){var q=B(c._polygons);q===null&&(q={x0:o[0],x1:o[0],y0:o[1],y1:o[1]});var Y=l.defaultLine;return l.opacity(c.fillcolor)?Y=c.fillcolor:l.opacity((c.line||{}).color)&&(Y=c.line.color),u.extendFlat(a,{distance:a.maxHoverDistance,x0:q.x0,x1:q.x1,y0:q.y0,y1:q.y1,color:Y,hovertemplate:!1}),delete a.index,c.text&&!u.isArrayOrTypedArray(c.text)?a.text=String(c.text):a.text=c.name,[a]}}}}}),wv=xe({"src/traces/scatter/select.js"(U,O){"use strict";var u=Cl();O.exports=function(w,S){var l=w.cd,e=w.xaxis,t=w.yaxis,a=[],r=l[0].trace,n,i,s,c,p=r.mode&&!u.hasMarkers(r)&&!u.hasText(r);if(p)return[];if(S===!1)for(n=0;n0&&(i["_"+r+"axes"]||{})[a])return i;if((i[r+"axis"]||r)===a){if(e(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}function l(t){return{v:"x",h:"y"}[t.orientation||"v"]}function e(t,a){var r=l(t),n=u(t,"box-violin");return n&&a===r&&t[r]===void 0&&t[r+"0"]===void 0}}}),og=xe({"src/plots/cartesian/category_order_defaults.js"(U,O){"use strict";var u=rs().isTypedArraySpec;function v(w,S){var l=S.dataAttr||w._id.charAt(0),e={},t,a,r;if(S.axData)t=S.axData;else for(t=[],a=0;a0||u(a),n;r&&(n="array");var i=e("categoryorder",n),s;i==="array"&&(s=e("categoryarray")),!r&&i==="array"&&(i=l.categoryorder="trace"),i==="trace"?l._initialCategories=[]:i==="array"?l._initialCategories=s.slice():(s=v(l,t).sort(),i==="category ascending"?l._initialCategories=s:i==="category descending"&&(l._initialCategories=s.reverse()))}}}}),v0=xe({"src/plots/cartesian/line_grid_defaults.js"(U,O){"use strict";var u=wi(),v=sc(),w=Sr();O.exports=function(l,e,t,a){a=a||{};var r=a.dfltColor;function n(_,D){return w.coerce2(l,e,a.attributes,_,D)}var i=n("linecolor",r),s=n("linewidth"),c=t("showline",a.showLine||!!i||!!s);c||(delete e.linecolor,delete e.linewidth);var p=u.mix(r,a.bgColor,a.blend||v.lightFraction),f=n("gridcolor",p),d=n("gridwidth"),y=n("griddash"),o=t("showgrid",a.showGrid||!!f||!!d||!!y);if(o||(delete e.gridcolor,delete e.gridwidth,delete e.griddash),a.hasMinor){var b=u.mix(e.gridcolor,a.bgColor,67),M=n("minor.gridcolor",b),A=n("minor.gridwidth",e.gridwidth||1),E=n("minor.griddash",e.griddash||"solid"),g=t("minor.showgrid",!!M||!!A||!!E);g||(delete e.minor.gridcolor,delete e.minor.gridwidth,delete e.minor.griddash)}if(!a.noZeroLine){var T=n("zerolinelayer"),m=n("zerolinecolor",r),h=n("zerolinewidth"),x=t("zeroline",a.showGrid||!!m||!!h);x||(delete e.zerolinelayer,delete e.zerolinecolor,delete e.zerolinewidth)}}}}),p0=xe({"src/plots/cartesian/axis_defaults.js"(U,O){"use strict";var u=yn(),v=Ci(),w=Sr(),S=Cs(),l=bf(),e=$c(),t=mv(),a=sp(),r=Rd(),n=Fd(),i=og(),s=v0(),c=b_(),p=Oh(),f=lc().WEEKDAY_PATTERN,d=lc().HOUR_PATTERN;O.exports=function(A,E,g,T,m){var h=T.letter,x=T.font||{},_=T.splomStash||{},D=g("visible",!T.visibleDflt),C=E._template||{},F=E.type||C.type||"-",I;if(F==="date"){var z=v.getComponentMethod("calendars","handleDefaults");z(A,E,"calendar",T.calendar),T.noTicklabelmode||(I=g("ticklabelmode"))}!T.noTicklabelindex&&(F==="date"||F==="linear")&&g("ticklabelindex");var R="";(!T.noTicklabelposition||F==="multicategory")&&(R=w.coerce(A,E,{ticklabelposition:{valType:"enumerated",dflt:"outside",values:I==="period"?["outside","inside"]:h==="x"?["outside","inside","outside left","inside left","outside right","inside right"]:["outside","inside","outside top","inside top","outside bottom","inside bottom"]}},"ticklabelposition")),T.noTicklabeloverflow||g("ticklabeloverflow",R.indexOf("inside")!==-1?"hide past domain":F==="category"||F==="multicategory"?"allow":"hide past div"),p(E,m),c(A,E,g,T),i(A,E,g,T),T.noHover||(F!=="category"&&g("hoverformat"),T.noUnifiedhovertitle||g("unifiedhovertitle.text"));var k=g("color"),B=k!==e.color.dflt?k:x.color,N=_.label||m._dfltTitle[h];if(n(A,E,g,F,T),!D)return E;g("title.text",N),w.coerceFont(g,"title.font",x,{overrideDflt:{size:w.bigFont(x.size),color:B}}),t(A,E,g,F);var q=T.hasMinor;if(q&&(S.newContainer(E,"minor"),t(A,E,g,F,{isMinor:!0})),r(A,E,g,F,T),a(A,E,g,T),q){var Y=T.isMinor;T.isMinor=!0,a(A,E,g,T),T.isMinor=Y}s(A,E,g,{dfltColor:k,bgColor:T.bgColor,showGrid:T.showGrid,hasMinor:q,attributes:e}),q&&E.ticklabelindex==null&&!E.minor.ticks&&!E.minor.showgrid&&delete E.minor,(E.showline||E.ticks)&&g("mirror");var ee=F==="multicategory";if(!T.noTickson&&(F==="category"||ee)&&(E.ticks||E.showgrid)&&(ee?(g("tickson","boundaries"),delete E.ticklabelposition):g("tickson")),ee){var te=g("showdividers");te&&(g("dividercolor"),g("dividerwidth"))}if(F==="date")if(l(A,E,{name:"rangebreaks",inclusionAttr:"enabled",handleItemDefaults:y}),!E.rangebreaks.length)delete E.rangebreaks;else{for(var ae=0;ae=2){var h="",x,_;if(m.length===2){for(x=0;x<2;x++)if(_=b(m[x]),_){h=f;break}}var D=g("pattern",h);if(D===f)for(x=0;x<2;x++)_=b(m[x]),_&&(A.bounds[x]=m[x]=_-1);if(D)for(x=0;x<2;x++)switch(_=m[x],D){case f:if(!u(_)){A.enabled=!1;return}if(_=+_,_!==Math.floor(_)||_<0||_>=7){A.enabled=!1;return}A.bounds[x]=m[x]=_;break;case d:if(!u(_)){A.enabled=!1;return}if(_=+_,_<0||_>24){A.enabled=!1;return}A.bounds[x]=m[x]=_;break}if(E.autorange===!1){var C=E.range;if(C[0]C[1]){A.enabled=!1;return}}else if(m[0]>C[0]&&m[1]g[1]-1/4096&&(l.domain=p),v.noneOrAll(S.domain,l.domain,p),l.tickmode==="sync"&&(l.tickmode="auto")}return e("layer"),l}}}),n6=xe({"src/plots/cartesian/layout_defaults.js"(U,O){"use strict";var u=Sr(),v=wi(),w=Kf().isUnifiedHover,S=k_(),l=Cs(),e=np(),t=$c(),a=X_(),r=p0(),n=yv(),i=sg(),s=fu(),c=s.id2name,p=s.name2id,f=lc().AX_ID_PATTERN,d=Ci(),y=d.traceIs,o=d.getComponentMethod;function b(M,A,E){Array.isArray(M[A])?M[A].push(E):M[A]=[E]}O.exports=function(A,E,g){var T=E.autotypenumbers,m={},h={},x={},_={},D={},C={},F={},I={},z={},R={},k,B;for(k=0;k rect").call(S.setTranslate,0,0).call(S.setScale,1,1),E.plot.call(S.setTranslate,g._offset,T._offset).call(S.setScale,1,1);var m=E.plot.selectAll(".scatterlayer .trace");m.selectAll(".point").call(S.setPointGroupScale,1,1),m.selectAll(".textpoint").call(S.setTextPointsScale,1,1),m.call(S.hideOutsideRangePoints,E)}function c(E,g){var T=E.plotinfo,m=T.xaxis,h=T.yaxis,x=m._length,_=h._length,D=!!E.xr1,C=!!E.yr1,F=[];if(D){var I=w.simpleMap(E.xr0,m.r2l),z=w.simpleMap(E.xr1,m.r2l),R=I[1]-I[0],k=z[1]-z[0];F[0]=(I[0]*(1-g)+g*z[0]-I[0])/(I[1]-I[0])*x,F[2]=x*(1-g+g*k/R),m.range[0]=m.l2r(I[0]*(1-g)+g*z[0]),m.range[1]=m.l2r(I[1]*(1-g)+g*z[1])}else F[0]=0,F[2]=x;if(C){var B=w.simpleMap(E.yr0,h.r2l),N=w.simpleMap(E.yr1,h.r2l),q=B[1]-B[0],Y=N[1]-N[0];F[1]=(B[1]*(1-g)+g*N[1]-B[1])/(B[0]-B[1])*_,F[3]=_*(1-g+g*Y/q),h.range[0]=m.l2r(B[0]*(1-g)+g*N[0]),h.range[1]=h.l2r(B[1]*(1-g)+g*N[1])}else F[1]=0,F[3]=_;l.drawOne(t,m,{skipTitle:!0}),l.drawOne(t,h,{skipTitle:!0}),l.redrawComponents(t,[m._id,h._id]);var ee=D?x/F[2]:1,te=C?_/F[3]:1,ae=D?F[0]:0,j=C?F[1]:0,G=D?F[0]/F[2]*x:0,K=C?F[1]/F[3]*_:0,H=m._offset-G,Z=h._offset-K;T.clipRect.call(S.setTranslate,ae,j).call(S.setScale,1/ee,1/te),T.plot.call(S.setTranslate,H,Z).call(S.setScale,ee,te),S.setPointGroupScale(T.zoomScalePts,1/ee,1/te),S.setTextPointsScale(T.zoomScaleTxt,1/ee,1/te)}var p;n&&(p=n());function f(){for(var E={},g=0;gr.duration?(f(),b=window.cancelAnimationFrame(A)):b=window.requestAnimationFrame(A)}return y=Date.now(),b=window.requestAnimationFrame(A),Promise.resolve()}}}),Nu=xe({"src/plots/cartesian/index.js"(U){"use strict";var O=Na(),u=Ci(),v=Sr(),w=zl(),S=go(),l=df().getModuleCalcData,e=fu(),t=lc(),a=fh(),r=v.ensureSingle;function n(y,o,b){return v.ensureSingle(y,o,b,function(M){M.datum(b)})}var i=t.zindexSeparator;U.name="cartesian",U.attr=["xaxis","yaxis"],U.idRoot=["x","y"],U.idRegex=t.idRegex,U.attrRegex=t.attrRegex,U.attributes=a6(),U.layoutAttributes=$c(),U.supplyLayoutDefaults=n6(),U.transitionAxes=i6(),U.finalizeSubplots=function(y,o){var b=o._subplots,M=b.xaxis,A=b.yaxis,E=b.cartesian,g=E,T={},m={},h,x,_;for(h=0;h0){var C=D.id;if(C.indexOf(i)!==-1)continue;C+=i+(h+1),D=v.extendFlat({},D,{id:C,plot:A._cartesianlayer.selectAll(".subplot").select("."+C)})}for(var F=[],I,z=0;z1&&(q+=i+N),B.push(T+q),g=0;g1,_=o.mainplotinfo;if(!o.mainplot||x)if(h)o.xlines=r(M,"path","xlines-above"),o.ylines=r(M,"path","ylines-above"),o.xaxislayer=r(M,"g","xaxislayer-above"),o.yaxislayer=r(M,"g","yaxislayer-above");else{if(!g){var D=r(M,"g","layer-subplot");o.shapelayer=r(D,"g","shapelayer"),o.imagelayer=r(D,"g","imagelayer"),_&&x?(o.minorGridlayer=_.minorGridlayer,o.gridlayer=_.gridlayer,o.zerolinelayer=_.zerolinelayer):(o.minorGridlayer=r(M,"g","minor-gridlayer"),o.gridlayer=r(M,"g","gridlayer"),o.zerolinelayer=r(M,"g","zerolinelayer"));var C=r(M,"g","layer-between");o.shapelayerBetween=r(C,"g","shapelayer"),o.imagelayerBetween=r(C,"g","imagelayer"),r(M,"path","xlines-below"),r(M,"path","ylines-below"),o.overlinesBelow=r(M,"g","overlines-below"),r(M,"g","xaxislayer-below"),r(M,"g","yaxislayer-below"),o.overaxesBelow=r(M,"g","overaxes-below")}o.overplot=r(M,"g","overplot"),o.plot=r(o.overplot,"g",A),_&&x?o.zerolinelayerAbove=_.zerolinelayerAbove:o.zerolinelayerAbove=r(M,"g","zerolinelayer-above"),g||(o.xlines=r(M,"path","xlines-above"),o.ylines=r(M,"path","ylines-above"),o.overlinesAbove=r(M,"g","overlines-above"),r(M,"g","xaxislayer-above"),r(M,"g","yaxislayer-above"),o.overaxesAbove=r(M,"g","overaxes-above"),o.xlines=M.select(".xlines-"+T),o.ylines=M.select(".ylines-"+m),o.xaxislayer=M.select(".xaxislayer-"+T),o.yaxislayer=M.select(".yaxislayer-"+m))}else{var F=_.plotgroup,I=A+"-x",z=A+"-y";o.minorGridlayer=_.minorGridlayer,o.gridlayer=_.gridlayer,o.zerolinelayer=_.zerolinelayer,o.zerolinelayerAbove=_.zerolinelayerAbove,r(_.overlinesBelow,"path",I),r(_.overlinesBelow,"path",z),r(_.overaxesBelow,"g",I),r(_.overaxesBelow,"g",z),o.plot=r(_.overplot,"g",A),r(_.overlinesAbove,"path",I),r(_.overlinesAbove,"path",z),r(_.overaxesAbove,"g",I),r(_.overaxesAbove,"g",z),o.xlines=F.select(".overlines-"+T).select("."+I),o.ylines=F.select(".overlines-"+m).select("."+z),o.xaxislayer=F.select(".overaxes-"+T).select("."+I),o.yaxislayer=F.select(".overaxes-"+m).select("."+z)}g||(h||(n(o.minorGridlayer,"g",o.xaxis._id),n(o.minorGridlayer,"g",o.yaxis._id),o.minorGridlayer.selectAll("g").map(function(R){return R[0]}).sort(e.idSort),n(o.gridlayer,"g",o.xaxis._id),n(o.gridlayer,"g",o.yaxis._id),o.gridlayer.selectAll("g").map(function(R){return R[0]}).sort(e.idSort)),o.xlines.style("fill","none").classed("crisp",!0),o.ylines.style("fill","none").classed("crisp",!0))}function f(y,o){if(y){var b={};y.each(function(m){var h=m[0],x=O.select(this);x.remove(),d(h,o),b[h]=!0});for(var M in o._plots)for(var A=o._plots[M],E=A.overlays||[],g=0;g=0,o=n.indexOf("end")>=0,b=c.backoff*f+i.standoff,M=p.backoff*d+i.startstandoff,A,E,g,T;if(s.nodeName==="line"){A={x:+r.attr("x1"),y:+r.attr("y1")},E={x:+r.attr("x2"),y:+r.attr("y2")};var m=A.x-E.x,h=A.y-E.y;if(g=Math.atan2(h,m),T=g+Math.PI,b&&M&&b+M>Math.sqrt(m*m+h*h)){q();return}if(b){if(b*b>m*m+h*h){q();return}var x=b*Math.cos(g),_=b*Math.sin(g);E.x+=x,E.y+=_,r.attr({x2:E.x,y2:E.y})}if(M){if(M*M>m*m+h*h){q();return}var D=M*Math.cos(g),C=M*Math.sin(g);A.x-=D,A.y-=C,r.attr({x1:A.x,y1:A.y})}}else if(s.nodeName==="path"){var F=s.getTotalLength(),I="";if(F2/3?fa="right":fa="center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[fa]}for(var De=!1,qe=["x","y"],Ne=0;Ne1)&&(yt===ot?(We=At.r2fraction(M["a"+ut]),(We<0||We>1)&&(De=!0)):De=!0),Re=At._offset+At.r2p(M[ut]),Ie=.5}else{var pt=He==="domain";ut==="x"?(ye=M[ut],Re=pt?At._offset+At._length*ye:Re=h.l+h.w*ye):(ye=1-M[ut],Re=pt?At._offset+At._length*ye:Re=h.t+h.h*ye),Ie=M.showarrow?.5:ye}if(M.showarrow){Ee.head=Re;var ct=M["a"+ut];if(Fe=Zt*be(.5,M.xanchor)-vr*be(.5,M.yanchor),yt===ot){var ft=e.getRefType(yt);ft==="domain"?(ut==="y"&&(ct=1-ct),Ee.tail=At._offset+At._length*ct):ft==="paper"?ut==="y"?(ct=1-ct,Ee.tail=h.t+h.h*ct):Ee.tail=h.l+h.w*ct:Ee.tail=At._offset+At.r2p(ct),he=Fe}else Ee.tail=Re+ct,he=Fe+ct;Ee.text=Ee.tail+Fe;var mt=m[ut==="x"?"width":"height"];if(ot==="paper"&&(Ee.head=S.constrain(Ee.head,1,mt-1)),yt==="pixel"){var _t=-Math.max(Ee.tail-3,Ee.text),Bt=Math.min(Ee.tail+3,Ee.text)-mt;_t>0?(Ee.tail+=_t,Ee.text+=_t):Bt>0&&(Ee.tail-=Bt,Ee.text-=Bt)}Ee.tail+=at,Ee.head+=at}else Fe=Ut*be(Ie,Jt),he=Fe,Ee.text=Re+Fe;Ee.text+=at,Fe+=at,he+=at,M["_"+ut+"padplus"]=Ut/2+he,M["_"+ut+"padminus"]=Ut/2-he,M["_"+ut+"size"]=Ut,M["_"+ut+"shift"]=Fe}if(De){ae.remove();return}var Et=0,hr=0;if(M.align!=="left"&&(Et=(ce-Oe)*(M.align==="center"?.5:1)),M.valign!=="top"&&(hr=(ie-_e)*(M.valign==="middle"?.5:1)),Ce)Se.select("svg").attr({x:K+Et-1,y:K+hr}).call(a.setClipUrl,Z?R:null,b);else{var $r=K+hr-Ue.top,ca=K+Et-Ue.left;re.call(n.positionText,ca,$r).call(a.setClipUrl,Z?R:null,b)}X.select("rect").call(a.setRect,K,K,ce,ie),H.call(a.setRect,j/2,j/2,se-j,ne-j),ae.call(a.setTranslate,Math.round(k.x.text-se/2),Math.round(k.y.text-ne/2)),q.attr({transform:"rotate("+B+","+k.x.text+","+k.y.text+")"});var na=function(pa,fa){N.selectAll(".annotation-arrow-g").remove();var za=k.x.head,Ia=k.y.head,Va=k.x.tail+pa,Oa=k.y.tail+fa,tn=k.x.text+pa,ka=k.y.text+fa,oi=S.rotationXYMatrix(B,tn,ka),$n=S.apply2DTransform(oi),bn=S.apply2DTransform2(oi),ci=+H.attr("width"),hi=+H.attr("height"),Pi=tn-.5*ci,Jn=Pi+ci,Ti=ka-.5*hi,_n=Ti+hi,Ln=[[Pi,Ti,Pi,_n],[Pi,_n,Jn,_n],[Jn,_n,Jn,Ti],[Jn,Ti,Pi,Ti]].map(bn);if(!Ln.reduce(function(Ze,xt){return Ze^!!S.segmentsIntersect(za,Ia,za+1e6,Ia+1e6,xt[0],xt[1],xt[2],xt[3])},!1)){Ln.forEach(function(Ze){var xt=S.segmentsIntersect(Va,Oa,za,Ia,Ze[0],Ze[1],Ze[2],Ze[3]);xt&&(Va=xt.x,Oa=xt.y)});var ji=M.arrowwidth,Zi=M.arrowcolor,un=M.arrowside,rn=N.append("g").style({opacity:t.opacity(Zi)}).classed("annotation-arrow-g",!0),nt=rn.append("path").attr("d","M"+Va+","+Oa+"L"+za+","+Ia).style("stroke-width",ji+"px").call(t.stroke,t.rgb(Zi));if(p(nt,un,M),x.annotationPosition&&nt.node().parentNode&&!E){var Ke=za,Qt=Ia;if(M.standoff){var Xt=Math.sqrt(Math.pow(za-Va,2)+Math.pow(Ia-Oa,2));Ke+=M.standoff*(Va-za)/Xt,Qt+=M.standoff*(Oa-Ia)/Xt}var nr=rn.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(Va-Ke)+","+(Oa-Qt),transform:l(Ke,Qt)}).style("stroke-width",ji+6+"px").call(t.stroke,"rgba(0,0,0,0)").call(t.fill,"rgba(0,0,0,0)"),cr,rr;s.init({element:nr.node(),gd:b,prepFn:function(){var Ze=a.getTranslate(ae);cr=Ze.x,rr=Ze.y,g&&g.autorange&&F(g._name+".autorange",!0),T&&T.autorange&&F(T._name+".autorange",!0)},moveFn:function(Ze,xt){var Vt=$n(cr,rr),er=Vt[0]+Ze,Tr=Vt[1]+xt;ae.call(a.setTranslate,er,Tr),I("x",y(g,Ze,"x",h,M)),I("y",y(T,xt,"y",h,M)),M.axref===M.xref&&I("ax",y(g,Ze,"ax",h,M)),M.ayref===M.yref&&I("ay",y(T,xt,"ay",h,M)),rn.attr("transform",l(Ze,xt)),q.attr({transform:"rotate("+B+","+er+","+Tr+")"})},doneFn:function(){v.call("_guiRelayout",b,z());var Ze=document.querySelector(".js-notes-box-panel");Ze&&Ze.redraw(Ze.selectedObj)}})}}};if(M.showarrow&&na(0,0),Y){var wa;s.init({element:ae.node(),gd:b,prepFn:function(){wa=q.attr("transform")},moveFn:function(pa,fa){var za="pointer";if(M.showarrow)M.axref===M.xref?I("ax",y(g,pa,"ax",h,M)):I("ax",M.ax+pa),M.ayref===M.yref?I("ay",y(T,fa,"ay",h.w,M)):I("ay",M.ay+fa),na(pa,fa);else{if(E)return;var Ia,Va;if(g)Ia=y(g,pa,"x",h,M);else{var Oa=M._xsize/h.w,tn=M.x+(M._xshift-M.xshift)/h.w-Oa/2;Ia=s.align(tn+pa/h.w,Oa,0,1,M.xanchor)}if(T)Va=y(T,fa,"y",h,M);else{var ka=M._ysize/h.h,oi=M.y-(M._yshift+M.yshift)/h.h-ka/2;Va=s.align(oi-fa/h.h,ka,0,1,M.yanchor)}I("x",Ia),I("y",Va),(!g||!T)&&(za=s.getCursor(g?.5:Ia,T?.5:Va,M.xanchor,M.yanchor))}q.attr({transform:l(pa,fa)+wa}),i(ae,za)},clickFn:function(pa,fa){M.captureevents&&b.emit("plotly_clickannotation",te(fa))},doneFn:function(){i(ae),v.call("_guiRelayout",b,z());var pa=document.querySelector(".js-notes-box-panel");pa&&pa.redraw(pa.selectedObj)}})}}x.annotationText?re.call(n.makeEditable,{delegate:ae,gd:b}).call(ue).on("edit",function(ge){M.text=ge,this.call(ue),I("text",ge),g&&g.autorange&&F(g._name+".autorange",!0),T&&T.autorange&&F(T._name+".autorange",!0),v.call("_guiRelayout",b,z())}):re.call(ue)}}}),l6=xe({"src/components/annotations/click.js"(U,O){"use strict";var u=Sr(),v=Ci(),w=Cs().arrayEditor;O.exports={hasClickToShow:S,onClick:l};function S(a,r){var n=e(a,r);return n.on.length>0||n.explicitOff.length>0}function l(a,r){var n=e(a,r),i=n.on,s=n.off.concat(n.explicitOff),c={},p=a._fullLayout.annotations,f,d;if(i.length||s.length){for(f=0;f1){i=!0;break}}i?l.fullLayout._infolayer.select(".annotation-"+l.id+'[data-index="'+r+'"]').remove():(n._pdata=v(l.glplot.cameraParams,[e.xaxis.r2l(n.x)*t[0],e.yaxis.r2l(n.y)*t[1],e.zaxis.r2l(n.z)*t[2]]),u(l.graphDiv,n,r,l.id,n._xa,n._ya))}}}}),m6=xe({"src/components/annotations3d/index.js"(U,O){"use strict";var u=Ci(),v=Sr();O.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:ug()}}},layoutAttributes:ug(),handleDefaults:d6(),includeBasePlot:w,convert:v6(),draw:p6()};function w(S,l){var e=u.subplotsRegistry.gl3d;if(e)for(var t=e.attrRegex,a=Object.keys(S),r=0;r{var _=x+"anchor",D=x==="x"?b:M,C={_fullLayout:n},F,I,z,R;let k=x+"ref",B=a[k];if(Array.isArray(B)&&B.length>0){let N=l.countDefiningCoords(d,p,x);R=v.coerceRefArray(a,r,C,x,void 0,"paper",N),r["_"+x+"refArray"]=!0}else R=v.coerceRef(a,r,C,x,void 0,"paper");if(Array.isArray(R))R.forEach(function(N){v.getRefType(N)==="range"&&(F=v.getFromId(C,N),F&&F._shapeIndices.indexOf(r._index)===-1&&F._shapeIndices.push(r._index))}),y&&[0,1].forEach(function(N){let q=R[N];v.getRefType(q)==="range"?(F=v.getFromId(C,q),I=l.shapePositionToRange(F),z=l.rangeToShapePosition(F),(F.type==="category"||F.type==="multicategory")&&i(x+N+"shift")):I=z=u.identity;let ee=x+N,te=a[ee];if(a[ee]=I(a[ee],!0),D==="pixel"?i(ee,E[N]):v.coercePosition(r,C,i,q,ee,A[N]),r[ee]=z(r[ee]),a[ee]=te,N===0&&D==="pixel"){let ae=a[_];a[_]=I(a[_],!0),v.coercePosition(r,C,i,q,_,.25),r[_]=z(r[_]),a[_]=ae}});else{if(v.getRefType(R)==="range"?(F=v.getFromId(C,R),F._shapeIndices.push(r._index),z=l.rangeToShapePosition(F),I=l.shapePositionToRange(F),y&&(F.type==="category"||F.type==="multicategory")&&(i(x+"0shift"),i(x+"1shift"))):I=z=u.identity,y){let q=x+"0",Y=x+"1",ee=a[q],te=a[Y];a[q]=I(a[q],!0),a[Y]=I(a[Y],!0),D==="pixel"?(i(q,E[0]),i(Y,E[1])):(v.coercePosition(r,C,i,R,q,A[0]),v.coercePosition(r,C,i,R,Y,A[1])),r[q]=z(r[q]),r[Y]=z(r[Y]),a[q]=ee,a[Y]=te}if(D==="pixel"){let q=a[_];a[_]=I(a[_],!0),v.coercePosition(r,C,i,R,_,.25),r[_]=z(r[_]),a[_]=q}}}),y&&u.noneOrAll(a,r,["x0","x1","y0","y1"]);var g=d==="line",T,m;if(y&&(T=i("label.texttemplate"),i("label.texttemplatefallback")),T||(m=i("label.text")),m||T){i("label.textangle");var h=i("label.textposition",g?"middle":"middle center");i("label.xanchor"),i("label.yanchor",e(g,h)),i("label.padding"),u.coerceFont(i,"label.font",n.font)}}}}),y6=xe({"src/components/shapes/draw_newshape/defaults.js"(U,O){"use strict";var u=wi(),v=Sr();function w(S,l){return S?"bottom":l.indexOf("top")!==-1?"top":l.indexOf("bottom")!==-1?"bottom":"middle"}O.exports=function(l,e,t){t("newshape.visible"),t("newshape.name"),t("newshape.showlegend"),t("newshape.legend"),t("newshape.legendwidth"),t("newshape.legendgroup"),t("newshape.legendgrouptitle.text"),v.coerceFont(t,"newshape.legendgrouptitle.font"),t("newshape.legendrank"),t("newshape.drawdirection"),t("newshape.layer"),t("newshape.fillcolor"),t("newshape.fillrule"),t("newshape.opacity");var a=t("newshape.line.width");if(a){var r=(l||{}).plot_bgcolor||"#FFF";t("newshape.line.color",u.contrast(r)),t("newshape.line.dash")}var n=l.dragmode==="drawline",i=t("newshape.label.text"),s=t("newshape.label.texttemplate");if(t("newshape.label.texttemplatefallback"),i||s){t("newshape.label.textangle");var c=t("newshape.label.textposition",n?"middle":"middle center");t("newshape.label.xanchor"),t("newshape.label.yanchor",w(n,c)),t("newshape.label.padding"),v.coerceFont(t,"newshape.label.font",e.font)}t("activeshape.fillcolor"),t("activeshape.opacity")}}}),_6=xe({"src/components/shapes/calc_autorange.js"(U,O){"use strict";var u=Sr(),v=uo(),w=u0(),S=Nd();O.exports=function(i){var s=i._fullLayout,c=u.filterVisible(s.shapes);if(!(!c.length||!i._fullData.length))for(var p=0;p{d=v.getFromId(i,A),f._extremes[d._id]=v.findExtremes(d,E,e(f))})}else f.xref!=="paper"&&o!=="domain"&&(d=v.getFromId(i,f.xref),y=r(d,f,w.paramIsX),y&&(f._extremes[d._id]=v.findExtremes(d,y,e(f))));if(b==="array"){let M=l(i,f,"y");Object.entries(M).forEach(([A,E])=>{d=v.getFromId(i,A),f._extremes[d._id]=v.findExtremes(d,E,t(f))})}else f.yref!=="paper"&&b!=="domain"&&(d=v.getFromId(i,f.yref),y=r(d,f,w.paramIsY),y&&(f._extremes[d._id]=v.findExtremes(d,y,t(f))))}};function l(n,i,s){let c=i[s+"ref"],p=s==="x"?w.paramIsX:w.paramIsY;function f(A,E){A==="paper"||v.getRefType(A)==="domain"||(d[A]||(d[A]=[]),d[A].push(E))}let d={};if(i.type==="path"&&i.path){let A=i.path.match(w.segmentRE)||[];for(var y=0,o=0;oT&&(f(c[y],m[T]),y++)}}else f(c[0],i[s+"0"]),f(c[1],i[s+"1"]);let b={};for(let A in d){let E=v.getFromId(n,A);if(E){var M=E.type==="category"||E.type==="multicategory"?E.r2c:E.d2c;E.type==="date"&&(M=S.decodeDate(M)),b[E._id]=d[A].map(M)}}return b}function e(n){return a(n.line.width,n.xsizemode,n.x0,n.x1,n.path,!1)}function t(n){return a(n.line.width,n.ysizemode,n.y0,n.y1,n.path,!0)}function a(n,i,s,c,p,f){var d=n/2,y=f;if(i==="pixel"){var o=p?S.extractPathCoords(p,f?w.paramIsY:w.paramIsX):[s,c],b=u.aggNums(Math.max,null,o),M=u.aggNums(Math.min,null,o),A=M<0?Math.abs(M)+d:d,E=b>0?b+d:d;return{ppad:d,ppadplus:y?A:E,ppadminus:y?E:A}}else return{ppad:d}}function r(n,i,s){var c=n._id.charAt(0)==="x"?"x":"y",p=n.type==="category"||n.type==="multicategory",f,d,y=0,o=0,b=p?n.r2c:n.d2c,M=i[c+"sizemode"]==="scaled";if(M?(f=i[c+"0"],d=i[c+"1"],p&&(y=i[c+"0shift"],o=i[c+"1shift"])):(f=i[c+"anchor"],d=i[c+"anchor"]),f!==void 0)return[b(f)+y,b(d)+o];if(i.path){var A=1/0,E=-1/0,g=i.path.match(w.segmentRE),T,m,h,x,_;for(n.type==="date"&&(b=S.decodeDate(b)),T=0;TE&&(E=_)));if(E>=A)return[A,E]}}}}),b6=xe({"src/components/shapes/index.js"(U,O){"use strict";var u=Qm();O.exports={moduleType:"component",name:"shapes",layoutAttributes:K_(),supplyLayoutDefaults:g6(),supplyDrawNewShapeDefaults:y6(),includeBasePlot:d0()("shapes"),calcAutorange:_6(),draw:u.draw,drawOne:u.drawOne}}}),J_=xe({"src/components/images/attributes.js"(U,O){"use strict";var u=lc(),v=Cs().templatedArray,w=h0();O.exports=v("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",u.idRegex.x.toString()],dflt:"paper",editType:"arraydraw"},yref:{valType:"enumerated",values:["paper",u.idRegex.y.toString()],dflt:"paper",editType:"arraydraw"},editType:"arraydraw"})}}),x6=xe({"src/components/images/defaults.js"(U,O){"use strict";var u=Sr(),v=uo(),w=bf(),S=J_(),l="images";O.exports=function(a,r){var n={name:l,handleItemDefaults:e};w(a,r,n)};function e(t,a,r){function n(b,M){return u.coerce(t,a,S,b,M)}var i=n("source"),s=n("visible",!!i);if(!s)return a;n("layer"),n("xanchor"),n("yanchor"),n("sizex"),n("sizey"),n("sizing"),n("opacity");for(var c={_fullLayout:r},p=["x","y"],f=0;f<2;f++){var d=p[f],y=v.coerceRef(t,a,c,d,"paper",void 0);if(y!=="paper"){var o=v.getFromId(c,y);o._imgIndices.push(a._index)}v.coercePosition(a,c,n,y,d,0)}return a}}}),w6=xe({"src/components/images/draw.js"(U,O){"use strict";var u=Na(),v=go(),w=uo(),S=fu(),l=fh();O.exports=function(t){var a=t._fullLayout,r=[],n={},i=[],s,c;for(c=0;c0);p&&(s("active"),s("direction"),s("type"),s("showactive"),s("x"),s("y"),u.noneOrAll(r,n,["x","y"]),s("xanchor"),s("yanchor"),s("pad.t"),s("pad.r"),s("pad.b"),s("pad.l"),u.coerceFont(s,"font",i.font),s("bgcolor",i.paper_bgcolor),s("bordercolor"),s("borderwidth"))}function a(r,n){function i(c,p){return u.coerce(r,n,e,c,p)}var s=i("visible",r.method==="skip"||Array.isArray(r.args));s&&(i("method"),i("args"),i("args2"),i("label"),i("execute"))}}}),S6=xe({"src/components/updatemenus/scrollbox.js"(U,O){"use strict";O.exports=l;var u=Na(),v=wi(),w=go(),S=Sr();function l(e,t,a){this.gd=e,this.container=t,this.id=a,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})}l.barWidth=2,l.barLength=20,l.barRadius=2,l.barPad=1,l.barColor="#808BA4",l.prototype.enable=function(t,a,r){var n=this.gd._fullLayout,i=n.width,s=n.height;this.position=t;var c=this.position.l,p=this.position.w,f=this.position.t,d=this.position.h,y=this.position.direction,o=y==="down",b=y==="left",M=y==="right",A=y==="up",E=p,g=d,T,m,h,x;!o&&!b&&!M&&!A&&(this.position.direction="down",o=!0);var _=o||A;_?(T=c,m=T+E,o?(h=f,x=Math.min(h+g,s),g=x-h):(x=f+g,h=Math.max(x-g,0),g=x-h)):(h=f,x=h+g,b?(m=c+E,T=Math.max(m-E,0),E=m-T):(T=c,m=Math.min(T+E,i),E=m-T)),this._box={l:T,t:h,w:E,h:g};var D=p>E,C=l.barLength+2*l.barPad,F=l.barWidth+2*l.barPad,I=c,z=f+d;z+F>s&&(z=s-F);var R=this.container.selectAll("rect.scrollbar-horizontal").data(D?[0]:[]);R.exit().on(".drag",null).remove(),R.enter().append("rect").classed("scrollbar-horizontal",!0).call(v.fill,l.barColor),D?(this.hbar=R.attr({rx:l.barRadius,ry:l.barRadius,x:I,y:z,width:C,height:F}),this._hbarXMin=I+C/2,this._hbarTranslateMax=E-C):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var k=d>g,B=l.barWidth+2*l.barPad,N=l.barLength+2*l.barPad,q=c+p,Y=f;q+B>i&&(q=i-B);var ee=this.container.selectAll("rect.scrollbar-vertical").data(k?[0]:[]);ee.exit().on(".drag",null).remove(),ee.enter().append("rect").classed("scrollbar-vertical",!0).call(v.fill,l.barColor),k?(this.vbar=ee.attr({rx:l.barRadius,ry:l.barRadius,x:q,y:Y,width:B,height:N}),this._vbarYMin=Y+N/2,this._vbarTranslateMax=g-N):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var te=this.id,ae=T-.5,j=k?m+B+.5:m+.5,G=h-.5,K=D?x+F+.5:x+.5,H=n._topdefs.selectAll("#"+te).data(D||k?[0]:[]);if(H.exit().remove(),H.enter().append("clipPath").attr("id",te).append("rect"),D||k?(this._clipRect=H.select("rect").attr({x:Math.floor(ae),y:Math.floor(G),width:Math.ceil(j)-Math.floor(ae),height:Math.ceil(K)-Math.floor(G)}),this.container.call(w.setClipUrl,te,this.gd),this.bg.attr({x:c,y:f,width:p,height:d})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(w.setClipUrl,null),delete this._clipRect),D||k){var Z=u.behavior.drag().on("dragstart",function(){u.event.sourceEvent.preventDefault()}).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(Z);var X=u.behavior.drag().on("dragstart",function(){u.event.sourceEvent.preventDefault(),u.event.sourceEvent.stopPropagation()}).on("drag",this._onBarDrag.bind(this));D&&this.hbar.on(".drag",null).call(X),k&&this.vbar.on(".drag",null).call(X)}this.setTranslate(a,r)},l.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(w.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)},l.prototype._onBoxDrag=function(){var t=this.translateX,a=this.translateY;this.hbar&&(t-=u.event.dx),this.vbar&&(a-=u.event.dy),this.setTranslate(t,a)},l.prototype._onBoxWheel=function(){var t=this.translateX,a=this.translateY;this.hbar&&(t+=u.event.deltaY),this.vbar&&(a+=u.event.deltaY),this.setTranslate(t,a)},l.prototype._onBarDrag=function(){var t=this.translateX,a=this.translateY;if(this.hbar){var r=t+this._hbarXMin,n=r+this._hbarTranslateMax,i=S.constrain(u.event.x,r,n),s=(i-r)/(n-r),c=this.position.w-this._box.w;t=s*c}if(this.vbar){var p=a+this._vbarYMin,f=p+this._vbarTranslateMax,d=S.constrain(u.event.y,p,f),y=(d-p)/(f-p),o=this.position.h-this._box.h;a=y*o}this.setTranslate(t,a)},l.prototype.setTranslate=function(t,a){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=S.constrain(t||0,0,r),a=S.constrain(a||0,0,n),this.translateX=t,this.translateY=a,this.container.call(w.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-a),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+a-.5)}),this.hbar){var i=t/r;this.hbar.call(w.setTranslate,t+i*this._hbarTranslateMax,a)}if(this.vbar){var s=a/n;this.vbar.call(w.setTranslate,t,a+s*this._vbarTranslateMax)}}}}),E6=xe({"src/components/updatemenus/draw.js"(U,O){"use strict";var u=Na(),v=zl(),w=wi(),S=go(),l=Sr(),e=el(),t=Cs().arrayEditor,a=uc().LINE_SPACING,r=cg(),n=S6();O.exports=function(C){var F=C._fullLayout,I=l.filterVisible(F[r.name]);function z(te){v.autoMargin(C,h(te))}var R=F._menulayer.selectAll("g."+r.containerClassName).data(I.length>0?[0]:[]);if(R.enter().append("g").classed(r.containerClassName,!0).style("cursor","pointer"),R.exit().each(function(){u.select(this).selectAll("g."+r.headerGroupClassName).each(z)}).remove(),I.length!==0){var k=R.selectAll("g."+r.headerGroupClassName).data(I,i);k.enter().append("g").classed(r.headerGroupClassName,!0);for(var B=l.ensureSingle(R,"g",r.dropdownButtonGroupClassName,function(te){te.style("pointer-events","all")}),N=0;N0?[0]:[]);q.enter().append("g").classed(r.containerClassName,!0).style("cursor",k?null:"ew-resize");function Y(j){j._commandObserver&&(j._commandObserver.remove(),delete j._commandObserver),v.autoMargin(R,p(j))}if(q.exit().each(function(){u.select(this).selectAll("g."+r.groupClassName).each(Y)}).remove(),N.length!==0){var ee=q.selectAll("g."+r.groupClassName).data(N,d);ee.enter().append("g").classed(r.groupClassName,!0),ee.exit().each(Y).remove();for(var te=0;te0&&(ee=ee.transition().duration(R.transition.duration).ease(R.transition.easing)),ee.attr("transform",e(Y-r.gripWidth*.5,R._dims.currentValueTotalHeight))}}function D(z,R){var k=z._dims;return k.inputAreaStart+r.stepInset+(k.inputAreaLength-2*r.stepInset)*Math.min(1,Math.max(0,R))}function C(z,R){var k=z._dims;return Math.min(1,Math.max(0,(R-r.stepInset-k.inputAreaStart)/(k.inputAreaLength-2*r.stepInset-2*k.inputAreaStart)))}function F(z,R,k){var B=k._dims,N=l.ensureSingle(z,"rect",r.railTouchRectClass,function(q){q.call(m,R,z,k).style("pointer-events","all")});N.attr({width:B.inputAreaLength,height:Math.max(B.inputAreaWidth,r.tickOffset+k.ticklen+B.labelHeight)}).call(w.fill,k.bgcolor).attr("opacity",0),S.setTranslate(N,0,B.currentValueTotalHeight)}function I(z,R){var k=R._dims,B=k.inputAreaLength-r.railInset*2,N=l.ensureSingle(z,"rect",r.railRectClass);N.attr({width:B,height:r.railWidth,rx:r.railRadius,ry:r.railRadius,"shape-rendering":"crispEdges"}).call(w.stroke,R.bordercolor).call(w.fill,R.bgcolor).style("stroke-width",R.borderwidth+"px"),S.setTranslate(N,r.railInset,(k.inputAreaWidth-r.railWidth)*.5+k.currentValueTotalHeight)}}}),P6=xe({"src/components/sliders/index.js"(U,O){"use strict";var u=m0();O.exports={moduleType:"component",name:u.name,layoutAttributes:eb(),supplyLayoutDefaults:C6(),draw:L6()}}}),fg=xe({"src/components/rangeslider/attributes.js"(U,O){"use strict";var u=sc();O.exports={bgcolor:{valType:"color",dflt:u.background,editType:"plot"},bordercolor:{valType:"color",dflt:u.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"}}}),tb=xe({"src/components/rangeslider/oppaxis_attributes.js"(U,O){"use strict";O.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"}}}),hg=xe({"src/components/rangeslider/constants.js"(U,O){"use strict";O.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}}}),I6=xe({"src/components/rangeslider/helpers.js"(U){"use strict";var O=fu(),u=el(),v=hg(),w=uc().LINE_SPACING,S=v.name;function l(e){var t=e&&e[S];return t&&t.visible}U.isVisible=l,U.makeData=function(e){for(var t=O.list({_fullLayout:e},"x",!0),a=e.margin,r=[],n=0;n=Oe.max)Ce=ue[Ue+1];else if(Se=Oe.pmax)Ce=ue[Ue+1];else if(Se0?m.touches[0].clientX:0}function f(m,h,x,_){if(h._context.staticPlot)return;var D=m.select("rect."+c.slideBoxClassName).node(),C=m.select("rect."+c.grabAreaMinClassName).node(),F=m.select("rect."+c.grabAreaMaxClassName).node();function I(){var z=u.event,R=z.target,k=p(z),B=k-m.node().getBoundingClientRect().left,N=_.d2p(x._rl[0]),q=_.d2p(x._rl[1]),Y=i.coverSlip();this.addEventListener("touchmove",ee),this.addEventListener("touchend",te),Y.addEventListener("mousemove",ee),Y.addEventListener("mouseup",te);function ee(ae){var j=p(ae),G=+j-k,K,H,Z;switch(R){case D:if(Z="ew-resize",N+G>x._length||q+G<0)return;K=N+G,H=q+G;break;case C:if(Z="col-resize",N+G>x._length)return;K=N+G,H=q;break;case F:if(Z="col-resize",q+G<0)return;K=N,H=q+G;break;default:Z="ew-resize",K=B,H=B+G;break}if(H0);if(b){var M=a(i,s,c);y("x",M[0]),y("y",M[1]),u.noneOrAll(n,i,["x","y"]),y("xanchor"),y("yanchor"),u.coerceFont(y,"font",s.font);var A=y("bgcolor");y("activecolor",v.contrast(A,e.lightAmount,e.darkAmount)),y("bordercolor"),y("borderwidth")}};function t(r,n,i,s){var c=s.calendar;function p(y,o){return u.coerce(r,n,l.buttons,y,o)}var f=p("visible");if(f){var d=p("step");d!=="all"&&(c&&c!=="gregorian"&&(d==="month"||d==="year")?n.stepmode="backward":p("stepmode"),p("count")),p("label")}}function a(r,n,i){for(var s=i.filter(function(d){return n[d].anchor===r._id}),c=0,p=0;p1)){delete c.grid;return}if(!y&&!o&&!b){var x=T("pattern")==="independent";x&&(y=!0)}g._hasSubplotGrid=y;var _=T("roworder"),D=_==="top to bottom",C=y?.2:.1,F=y?.3:.1,I,z;M&&c._splomGridDflt&&(I=c._splomGridDflt.xside,z=c._splomGridDflt.yside),g._domains={x:r("x",T,C,I,h),y:r("y",T,F,z,m,D)}}function r(s,c,p,f,d,y){var o=c(s+"gap",p),b=c("domain."+s);c(s+"side",f);for(var M=new Array(d),A=b[0],E=(b[1]-A)/(d-o),g=E*(1-o),T=0;T0,f=t._context.staticPlot;a.each(function(d){var y=d[0].trace,o=y.error_x||{},b=y.error_y||{},M;y.ids&&(M=function(T){return T.id});var A=S.hasMarkers(y)&&y.marker.maxdisplayed>0;!b.visible&&!o.visible&&(d=[]);var E=u.select(this).selectAll("g.errorbar").data(d,M);if(E.exit().remove(),!!d.length){o.visible||E.selectAll("path.xerror").remove(),b.visible||E.selectAll("path.yerror").remove(),E.style("opacity",1);var g=E.enter().append("g").classed("errorbar",!0);p&&g.style("opacity",0).transition().duration(n.duration).style("opacity",1),w.setClipUrl(E,r.layerClipId,t),E.each(function(T){var m=u.select(this),h=l(T,s,c);if(!(A&&!T.vis)){var x,_=m.select("path.yerror");if(b.visible&&v(h.x)&&v(h.yh)&&v(h.ys)){var D=b.width;x="M"+(h.x-D)+","+h.yh+"h"+2*D+"m-"+D+",0V"+h.ys,h.noYS||(x+="m-"+D+",0h"+2*D),i=!_.size(),i?_=m.append("path").style("vector-effect",f?"none":"non-scaling-stroke").classed("yerror",!0):p&&(_=_.transition().duration(n.duration).ease(n.easing)),_.attr("d",x)}else _.remove();var C=m.select("path.xerror");if(o.visible&&v(h.y)&&v(h.xh)&&v(h.xs)){var F=(o.copy_ystyle?b:o).width;x="M"+h.xh+","+(h.y-F)+"v"+2*F+"m0,-"+F+"H"+h.xs,h.noXS||(x+="m0,-"+F+"v"+2*F),i=!C.size(),i?C=m.append("path").style("vector-effect",f?"none":"non-scaling-stroke").classed("xerror",!0):p&&(C=C.transition().duration(n.duration).ease(n.easing)),C.attr("d",x)}else C.remove()}})}})};function l(e,t,a){var r={x:t.c2p(e.x),y:a.c2p(e.y)};return e.yh!==void 0&&(r.yh=a.c2p(e.yh),r.ys=a.c2p(e.ys),v(r.ys)||(r.noYS=!0,r.ys=a.c2p(e.ys,!0))),e.xh!==void 0&&(r.xh=t.c2p(e.xh),r.xs=t.c2p(e.xs),v(r.xs)||(r.noXS=!0,r.xs=t.c2p(e.xs,!0))),r}}}),H6=xe({"src/components/errorbars/style.js"(U,O){"use strict";var u=Na(),v=wi();O.exports=function(S){S.each(function(l){var e=l[0].trace,t=e.error_y||{},a=e.error_x||{},r=u.select(this);r.selectAll("path.yerror").style("stroke-width",t.thickness+"px").call(v.stroke,t.color),a.copy_ystyle&&(a=t),r.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(v.stroke,a.color)})}}}),G6=xe({"src/components/errorbars/index.js"(U,O){"use strict";var u=Sr(),v=Hl().overrideAll,w=nb(),S={error_x:u.extendFlat({},w),error_y:u.extendFlat({},w)};delete S.error_x.copy_zstyle,delete S.error_y.copy_zstyle,delete S.error_y.copy_ystyle;var l={error_x:u.extendFlat({},w),error_y:u.extendFlat({},w),error_z:u.extendFlat({},w)};delete l.error_x.copy_ystyle,delete l.error_y.copy_ystyle,delete l.error_z.copy_ystyle,delete l.error_z.copy_zstyle,O.exports={moduleType:"component",name:"errorbars",schema:{traces:{scatter:S,bar:S,histogram:S,scatter3d:v(l,"calc","nested"),scattergl:v(S,"calc","nested")}},supplyDefaults:j6(),calc:q6(),makeComputeError:ib(),plot:V6(),style:H6(),hoverInfo:e};function e(t,a,r){(a.error_y||{}).visible&&(r.yerr=t.yh-t.y,a.error_y.symmetric||(r.yerrneg=t.y-t.ys)),(a.error_x||{}).visible&&(r.xerr=t.xh-t.x,a.error_x.symmetric||(r.xerrneg=t.x-t.xs))}}}),W6=xe({"src/components/colorbar/constants.js"(U,O){"use strict";O.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"}}}}),Y6=xe({"src/components/colorbar/draw.js"(U,O){"use strict";var u=Na(),v=zl(),w=Ci(),S=uo(),l=Bf(),e=Sr(),t=e.strTranslate,a=oo().extendFlat,r=Mh(),n=go(),i=wi(),s=gv(),c=el(),p=vf().flipScale,f=p0(),d=sg(),y=$c(),o=uc(),b=o.LINE_SPACING,M=o.FROM_TL,A=o.FROM_BR,E=W6().cn;function g(D){var C=D._fullLayout,F=C._infolayer.selectAll("g."+E.colorbar).data(T(D),function(I){return I._id});F.enter().append("g").attr("class",function(I){return I._id}).classed(E.colorbar,!0),F.each(function(I){var z=u.select(this);e.ensureSingle(z,"rect",E.cbbg),e.ensureSingle(z,"g",E.cbfills),e.ensureSingle(z,"g",E.cblines),e.ensureSingle(z,"g",E.cbaxis,function(k){k.classed(E.crisp,!0)}),e.ensureSingle(z,"g",E.cbtitleunshift,function(k){k.append("g").classed(E.cbtitle,!0)}),e.ensureSingle(z,"rect",E.cboutline);var R=m(z,I,D);R&&R.then&&(D._promises||[]).push(R),D._context.edits.colorbarPosition&&h(z,I,D)}),F.exit().each(function(I){v.autoMargin(D,I._id)}).remove(),F.order()}function T(D){var C=D._fullLayout,F=D.calcdata,I=[],z,R,k,B;function N(X){return a(X,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function q(){typeof B.calc=="function"?B.calc(D,k,z):(z._fillgradient=R.reversescale?p(R.colorscale):R.colorscale,z._zrange=[R[B.min],R[B.max]])}for(var Y=0;Y1){var at=Math.pow(10,Math.floor(Math.log(Jt)/Math.LN10));vr*=at*e.roundUp(Jt/at,[2,5,10]),(Math.abs(Ce.start)/Ce.size+1e-6)%1<2e-6&&(It.tick0=0)}It.dtick=vr}It.domain=I?[yt+j/$.h,yt+ne-j/$.h]:[yt+ae/$.w,yt+ne-ae/$.w],It.setScale(),D.attr("transform",t(Math.round($.l),Math.round($.t)));var Ee=D.select("."+E.cbtitleunshift).attr("transform",t(-Math.round($.l),-Math.round($.t))),Re=It.ticklabelposition,he=It.title.font.size,ye=D.select("."+E.cbaxis),Ie,Fe=0,He=0;function We(_t,Bt){var Et={propContainer:It,propName:C._propPrefix+"title.text",traceIndex:C._traceIndex,_meta:C._meta,placeholder:X._dfltTitle.colorbar,containerGroup:D.select("."+E.cbtitle)},hr=_t.charAt(0)==="h"?_t.slice(1):"h"+_t;D.selectAll("."+hr+",."+hr+"-math-group").remove(),s.draw(F,_t,a(Et,Bt||{}))}function pt(){if(I&&Zt||!I&&!Zt){var _t,Bt;pe==="top"&&(_t=ae+$.l+be*G,Bt=j+$.t+De*(1-yt-ne)+3+he*.75),pe==="bottom"&&(_t=ae+$.l+be*G,Bt=j+$.t+De*(1-yt)-3-he*.25),pe==="right"&&(Bt=j+$.t+De*K+3+he*.75,_t=ae+$.l+be*yt),We(It._id+"title",{attributes:{x:_t,y:Bt,"text-anchor":I?"start":"middle"}})}}function ct(){if(I&&!Zt||!I&&Zt){var _t=It.position||0,Bt=It._offset+It._length/2,Et,hr;if(pe==="right")hr=Bt,Et=$.l+be*_t+10+he*(It.showticklabels?1:.5);else if(Et=Bt,pe==="bottom"&&(hr=$.t+De*_t+10+(Re.indexOf("inside")===-1?It.tickfont.size:0)+(It.ticks!=="inside"&&C.ticklen||0)),pe==="top"){var $r=ue.text.split("
").length;hr=$.t+De*_t+10-ce-b*he*$r}We((I?"h":"v")+It._id+"title",{avoid:{selection:u.select(F).selectAll("g."+It._id+"tick"),side:pe,offsetTop:I?0:$.t,offsetLeft:I?$.l:0,maxShift:I?X.width:X.height},attributes:{x:Et,y:hr,"text-anchor":"middle"},transform:{rotate:I?-90:0,offset:0}})}}function ft(){if(!I&&!Zt||I&&Zt){var _t=D.select("."+E.cbtitle),Bt=_t.select("text"),Et=[-N/2,N/2],hr=_t.select(".h"+It._id+"title-math-group").node(),$r=15.6;Bt.node()&&($r=parseInt(Bt.node().style.fontSize,10)*b);var ca;if(hr?(ca=n.bBox(hr),He=ca.width,Fe=ca.height,Fe>$r&&(Et[1]-=(Fe-$r)/2)):Bt.node()&&!Bt.classed(E.jsPlaceholder)&&(ca=n.bBox(Bt.node()),He=ca.width,Fe=ca.height),I){if(Fe){if(Fe+=5,pe==="top")It.domain[1]-=Fe/$.h,Et[1]*=-1;else{It.domain[0]+=Fe/$.h;var na=c.lineCount(Bt);Et[1]+=(1-na)*$r}_t.attr("transform",t(Et[0],Et[1])),It.setScale()}}else He&&(pe==="right"&&(It.domain[0]+=(He+he/2)/$.w),_t.attr("transform",t(Et[0],Et[1])),It.setScale())}D.selectAll("."+E.cbfills+",."+E.cblines).attr("transform",I?t(0,Math.round($.h*(1-It.domain[1]))):t(Math.round($.w*It.domain[0]),0)),ye.attr("transform",I?t(0,Math.round(-$.t)):t(Math.round(-$.l),0));var wa=D.select("."+E.cbfills).selectAll("rect."+E.cbfill).attr("style","").data(Oe);wa.enter().append("rect").classed(E.cbfill,!0).attr("style",""),wa.exit().remove();var pa=ge.map(It.c2p).map(Math.round).sort(function(Oa,tn){return Oa-tn});wa.each(function(Oa,tn){var ka=[tn===0?ge[0]:(Oe[tn]+Oe[tn-1])/2,tn===Oe.length-1?ge[1]:(Oe[tn]+Oe[tn+1])/2].map(It.c2p).map(Math.round);I&&(ka[1]=e.constrain(ka[1]+(ka[1]>ka[0])?1:-1,pa[0],pa[1]));var oi=u.select(this).attr(I?"x":"y",qe).attr(I?"y":"x",u.min(ka)).attr(I?"width":"height",Math.max(ce,2)).attr(I?"height":"width",Math.max(u.max(ka)-u.min(ka),2));if(C._fillgradient)n.gradient(oi,F,C._id,I?"vertical":"horizontalreversed",C._fillgradient,"fill");else{var $n=Se(Oa).replace("e-","");oi.attr("fill",i.color($n).hex())}});var fa=D.select("."+E.cblines).selectAll("path."+E.cbline).data(re.color&&re.width?_e:[]);fa.enter().append("path").classed(E.cbline,!0),fa.exit().remove(),fa.each(function(Oa){var tn=qe,ka=Math.round(It.c2p(Oa))+re.width/2%1;u.select(this).attr("d","M"+(I?tn+","+ka:ka+","+tn)+(I?"h":"v")+ce).call(n.lineGroupStyle,re.width,Te(Oa),re.dash)}),ye.selectAll("g."+It._id+"tick,path").remove();var za=qe+ce+(N||0)/2-(C.ticks==="outside"?1:0),Ia=S.calcTicks(It),Va=S.getTickSigns(It)[2];return S.drawTicks(F,It,{vals:It.ticks==="inside"?S.clipEnds(It,Ia):Ia,layer:ye,path:S.makeTickPath(It,za,Va),transFn:S.makeTransTickFn(It)}),S.drawLabels(F,It,{vals:Ia,layer:ye,transFn:S.makeTransTickLabelFn(It),labelFns:S.makeLabelFns(It,za)})}function mt(){var _t,Bt=ce+N/2;Re.indexOf("inside")===-1&&(_t=n.bBox(ye.node()),Bt+=I?_t.width:_t.height),Ie=Ee.select("text");var Et=0,hr=I&&pe==="top",$r=!I&&pe==="right",ca=0;if(Ie.node()&&!Ie.classed(E.jsPlaceholder)){var na,wa=Ee.select(".h"+It._id+"title-math-group").node();wa&&(I&&Zt||!I&&!Zt)?(_t=n.bBox(wa),Et=_t.width,na=_t.height):(_t=n.bBox(Ee.node()),Et=_t.right-$.l-(I?qe:At),na=_t.bottom-$.t-(I?At:qe),!I&&pe==="top"&&(Bt+=_t.height,ca=_t.height)),$r&&(Ie.attr("transform",t(Et/2+he/2,0)),Et*=2),Bt=Math.max(Bt,I?Et:na)}var pa=(I?ae:j)*2+Bt+q+N/2,fa=0;!I&&ue.text&&te==="bottom"&&K<=0&&(fa=pa/2,pa+=fa,ca+=fa),X._hColorbarMoveTitle=fa,X._hColorbarMoveCBTitle=ca;var za=q+N,Ia=(I?qe:At)-za/2-(I?ae:0),Va=(I?At:qe)-(I?se:j+ca-fa);D.select("."+E.cbbg).attr("x",Ia).attr("y",Va).attr(I?"width":"height",Math.max(pa-fa,2)).attr(I?"height":"width",Math.max(se+za,2)).call(i.fill,Y).call(i.stroke,C.bordercolor).style("stroke-width",q);var Oa=$r?Math.max(Et-10,0):0;D.selectAll("."+E.cboutline).attr("x",(I?qe:At+ae)+Oa).attr("y",(I?At+j-se:qe)+(hr?Fe:0)).attr(I?"width":"height",Math.max(ce,2)).attr(I?"height":"width",Math.max(se-(I?2*j+Fe:2*ae+Oa),2)).call(i.stroke,C.outlinecolor).style({fill:"none","stroke-width":N});var tn=I?Ne*pa:0,ka=I?0:(1-ut)*pa-ca;if(tn=Z?$.l-tn:-tn,ka=H?$.t-ka:-ka,D.attr("transform",t(tn,ka)),!I&&(q||i.opacity(Y)&&!i.equals(X.paper_bgcolor,Y))){var oi=ye.selectAll("text"),$n=oi[0].length,bn=D.select("."+E.cbbg).node(),ci=n.bBox(bn),hi=n.getTranslate(D),Pi=2;oi.each(function(Ke,Qt){var Xt=0,nr=$n-1;if(Qt===Xt||Qt===nr){var cr=n.bBox(this),rr=n.getTranslate(this),Ze;if(Qt===nr){var xt=cr.right+rr.x,Vt=ci.right+hi.x+At-q-Pi+G;Ze=Vt-xt,Ze>0&&(Ze=0)}else if(Qt===Xt){var er=cr.left+rr.x,Tr=ci.left+hi.x+At+q+Pi;Ze=Tr-er,Ze<0&&(Ze=0)}Ze&&($n<3?this.setAttribute("transform","translate("+Ze+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}})}var Jn={},Ti=M[ee],_n=A[ee],Ln=M[te],ji=A[te],Zi=pa-ce;I?(R==="pixels"?(Jn.y=K,Jn.t=se*Ln,Jn.b=se*ji):(Jn.t=Jn.b=0,Jn.yt=K+z*Ln,Jn.yb=K-z*ji),B==="pixels"?(Jn.x=G,Jn.l=pa*Ti,Jn.r=pa*_n):(Jn.l=Zi*Ti,Jn.r=Zi*_n,Jn.xl=G-k*Ti,Jn.xr=G+k*_n)):(R==="pixels"?(Jn.x=G,Jn.l=se*Ti,Jn.r=se*_n):(Jn.l=Jn.r=0,Jn.xl=G+z*Ti,Jn.xr=G-z*_n),B==="pixels"?(Jn.y=1-K,Jn.t=pa*Ln,Jn.b=pa*ji):(Jn.t=Zi*Ln,Jn.b=Zi*ji,Jn.yt=K-k*Ln,Jn.yb=K+k*ji));var un=C.y<.5?"b":"t",rn=C.x<.5?"l":"r";F._fullLayout._reservedMargin[C._id]={};var nt={r:X.width-Ia-tn,l:Ia+Jn.r,b:X.height-Va-ka,t:Va+Jn.b};Z&&H?v.autoMargin(F,C._id,Jn):Z?F._fullLayout._reservedMargin[C._id][un]=nt[un]:H||I?F._fullLayout._reservedMargin[C._id][rn]=nt[rn]:F._fullLayout._reservedMargin[C._id][un]=nt[un]}return e.syncOrAsync([v.previousPromises,pt,ft,ct,v.previousPromises,mt],F)}function h(D,C,F){var I=C.orientation==="v",z=F._fullLayout,R=z._size,k,B,N;l.init({element:D.node(),gd:F,prepFn:function(){k=D.attr("transform"),r(D)},moveFn:function(q,Y){D.attr("transform",k+t(q,Y)),B=l.align((I?C._uFrac:C._vFrac)+q/R.w,I?C._thickFrac:C._lenFrac,0,1,C.xanchor),N=l.align((I?C._vFrac:1-C._uFrac)-Y/R.h,I?C._lenFrac:C._thickFrac,0,1,C.yanchor);var ee=l.getCursor(B,N,C.xanchor,C.yanchor);r(D,ee)},doneFn:function(){if(r(D),B!==void 0&&N!==void 0){var q={};q[C._propPrefix+"x"]=B,q[C._propPrefix+"y"]=N,C._traceIndex!==void 0?w.call("_guiRestyle",F,q,C._traceIndex):w.call("_guiRelayout",F,q)}}})}function x(D,C,F){var I=C._levels,z=[],R=[],k,B,N=I.end+I.size/100,q=I.size,Y=1.001*F[0]-.001*F[1],ee=1.001*F[1]-.001*F[0];for(B=0;B<1e5&&(k=I.start+B*q,!(q>0?k>=N:k<=N));B++)k>Y&&k0?k>=N:k<=N));B++)k>F[0]&&k-1}O.exports=function(a,r){var n,i=a.data,s=a.layout,c=S([],i),p=S({},s,l(r.tileClass)),f=a._context||{};if(r.width&&(p.width=r.width),r.height&&(p.height=r.height),r.tileClass==="thumbnail"||r.tileClass==="themes__thumb"){p.annotations=[];var d=Object.keys(p);for(n=0;n=0)return f}else if(typeof f=="string"&&(f=f.trim(),f.slice(-1)==="%"&&u(f.slice(0,-1))&&(f=+f.slice(0,-1),f>=0)))return f+"%"}function p(f,d,y,o,b,M){M=M||{};var A=M.moduleHasSelected!==!1,E=M.moduleHasUnselected!==!1,g=M.moduleHasConstrain!==!1,T=M.moduleHasCliponaxis!==!1,m=M.moduleHasTextangle!==!1,h=M.moduleHasInsideanchor!==!1,x=!!M.hasPathbar,_=Array.isArray(b)||b==="auto",D=_||b==="inside",C=_||b==="outside";if(D||C){var F=n(o,"textfont",y.font),I=v.extendFlat({},F),z=f.textfont&&f.textfont.color,R=!z;if(R&&delete I.color,n(o,"insidetextfont",I),x){var k=v.extendFlat({},F);R&&delete k.color,n(o,"pathbar.textfont",k)}C&&n(o,"outsidetextfont",F),A&&o("selected.textfont.color"),E&&o("unselected.textfont.color"),g&&o("constraintext"),T&&o("cliponaxis"),m&&o("textangle"),o("texttemplate"),o("texttemplatefallback")}D&&h&&o("insidetextanchor")}O.exports={supplyDefaults:i,crossTraceDefaults:s,handleText:p,validateCornerradius:c}}}),sb=xe({"src/traces/bar/layout_defaults.js"(U,O){"use strict";var u=Ci(),v=uo(),w=Sr(),S=vg(),l=sh().validateCornerradius;O.exports=function(e,t,a){function r(A,E){return w.coerce(e,t,S,A,E)}for(var n=!1,i=!1,s=!1,c={},p=r("barmode"),f=p==="group",d=0;d0&&!c[o]&&(s=!0),c[o]=!0),y.visible&&y.type==="histogram"){var b=v.getFromId({_fullLayout:t},y[y.orientation==="v"?"xaxis":"yaxis"]);b.type!=="category"&&(i=!0)}}if(!n){delete t.barmode;return}p!=="overlay"&&r("barnorm"),r("bargap",i&&!s?0:.2),r("bargroupgap");var M=r("barcornerradius");t.barcornerradius=l(M)}}}),g0=xe({"src/traces/bar/arrays_to_calcdata.js"(U,O){"use strict";var u=Sr();O.exports=function(w,S){for(var l=0;lt;if(!a)return S}return l!==void 0?l:w.dflt},U.coerceColor=function(w,S,l){return O.isValid(S)?S:l!==void 0?l:w.dflt},U.coerceEnumerated=function(w,S,l){return w.coerceNumber&&(S=+S),w.values.indexOf(S)!==-1?S:l!==void 0?l:w.dflt},U.getValue=function(w,S){var l;return v(w)?S1||x.bargap===0&&x.bargroupgap===0&&!_[0].trace.marker.line.width)&&u.select(this).attr("shape-rendering","crispEdges")}),m.selectAll("g.points").each(function(_){var D=u.select(this),C=_[0].trace;c(D,C,T)}),l.getComponentMethod("errorbars","style")(m)}function c(T,m,h){w.pointStyle(T.selectAll("path"),m,h),p(T,m,h)}function p(T,m,h){T.selectAll("text").each(function(x){var _=u.select(this),D=S.ensureUniformFontSize(h,o(_,x,m,h));w.font(_,D)})}function f(T,m,h){var x=m[0].trace;x.selectedpoints?d(h,x,T):(c(h,x,T),l.getComponentMethod("errorbars","style")(h))}function d(T,m,h){w.selectedPointStyle(T.selectAll("path"),m),y(T.selectAll("text"),m,h)}function y(T,m,h){T.each(function(x){var _=u.select(this),D;if(x.selected){D=S.ensureUniformFontSize(h,o(_,x,m,h));var C=m.selected.textfont&&m.selected.textfont.color;C&&(D.color=C),w.font(_,D)}else w.selectedTextStyle(_,m)})}function o(T,m,h,x){var _=x._fullLayout.font,D=h.textfont;if(T.classed("bartext-inside")){var C=g(m,h);D=M(h,m.i,_,C)}else T.classed("bartext-outside")&&(D=A(h,m.i,_));return D}function b(T,m,h){return E(a,T.textfont,m,h)}function M(T,m,h,x){var _=b(T,m,h),D=T._input.textfont===void 0||T._input.textfont.color===void 0||Array.isArray(T.textfont.color)&&T.textfont.color[m]===void 0;return D&&(_={color:v.contrast(x),family:_.family,size:_.size,weight:_.weight,style:_.style,variant:_.variant,textcase:_.textcase,lineposition:_.lineposition,shadow:_.shadow}),E(r,T.insidetextfont,m,_)}function A(T,m,h){var x=b(T,m,h);return E(n,T.outsidetextfont,m,x)}function E(T,m,h,x){m=m||{};var _=i.getValue(m.family,h),D=i.getValue(m.size,h),C=i.getValue(m.color,h),F=i.getValue(m.weight,h),I=i.getValue(m.style,h),z=i.getValue(m.variant,h),R=i.getValue(m.textcase,h),k=i.getValue(m.lineposition,h),B=i.getValue(m.shadow,h);return{family:i.coerceString(T.family,_,x.family),size:i.coerceNumber(T.size,D,x.size),color:i.coerceColor(T.color,C,x.color),weight:i.coerceString(T.weight,F,x.weight),style:i.coerceString(T.style,I,x.style),variant:i.coerceString(T.variant,z,x.variant),textcase:i.coerceString(T.variant,R,x.textcase),lineposition:i.coerceString(T.variant,k,x.lineposition),shadow:i.coerceString(T.variant,B,x.shadow)}}function g(T,m){return m.type==="waterfall"?m[T.dir].marker.color:T.mcc||T.mc||m.marker.color}O.exports={style:s,styleTextPoints:p,styleOnSelect:f,getInsideTextFont:M,getOutsideTextFont:A,getBarColor:g,resizeText:e}}}),Tv=xe({"src/traces/bar/plot.js"(U,O){"use strict";var u=Na(),v=yn(),w=Sr(),S=el(),l=wi(),e=go(),t=Ci(),a=uo().tickText,r=wf(),n=r.recordMinTextSize,i=r.clearMinTextSize,s=ph(),c=mg(),p=Ud(),f=Gh(),d=f.text,y=f.textposition,o=Kf().appendArrayPointValue,b=p.TEXTPAD;function M(Y){return Y.id}function A(Y){if(Y.ids)return M}function E(Y){return(Y>0)-(Y<0)}function g(Y,ee){return Y0}function x(Y,ee,te,ae,j,G){var K=ee.xaxis,H=ee.yaxis,Z=Y._fullLayout,X=Y._context.staticPlot;j||(j={mode:Z.barmode,norm:Z.barmode,gap:Z.bargap,groupgap:Z.bargroupgap},i("bar",Z));var $=w.makeTraceGroups(ae,te,"trace bars").each(function(Q){var re=u.select(this),ue=Q[0].trace,pe=Q[0].t,ge=ue.type==="waterfall",Te=ue.type==="funnel",Se=ue.type==="histogram",Ce=ue.type==="bar",Ue=Ce||Te,Oe=0;ge&&ue.connector.visible&&ue.connector.mode==="between"&&(Oe=ue.connector.line.width/2);var _e=ue.orientation==="h",ce=h(j),ie=w.ensureSingle(re,"g","points"),se=A(ue),ne=ie.selectAll("g.point").data(w.identity,se);ne.enter().append("g").classed("point",!0),ne.exit().remove(),ne.each(function(De,qe){var Ne=u.select(this),ut=T(De,K,H,_e),ot=ut[0][0],yt=ut[0][1],At=ut[1][0],It=ut[1][1],Zt=(_e?yt-ot:It-At)===0;Zt&&Ue&&c.getLineWidth(ue,De)&&(Zt=!1),Zt||(Zt=!v(ot)||!v(yt)||!v(At)||!v(It)),De.isBlank=Zt,Zt&&(_e?yt=ot:It=At),Oe&&!Zt&&(_e?(ot-=g(ot,yt)*Oe,yt+=g(ot,yt)*Oe):(At-=g(At,It)*Oe,It+=g(At,It)*Oe));var vr,Ut;if(ue.type==="waterfall"){if(!Zt){var Jt=ue[De.dir].marker;vr=Jt.line.width,Ut=Jt.color}}else vr=c.getLineWidth(ue,De),Ut=De.mc||ue.marker.color;function at(Ia){var Va=u.round(vr/2%1,2);return j.gap===0&&j.groupgap===0?u.round(Math.round(Ia)-Va,2):Ia}function Ee(Ia,Va,Oa){return Oa&&Ia===Va?Ia:Math.abs(Ia-Va)>=2?at(Ia):Ia>Va?Math.ceil(Ia):Math.floor(Ia)}var Re=l.opacity(Ut),he=Re<1||vr>.01?at:Ee;Y._context.staticPlot||(ot=he(ot,yt,_e),yt=he(yt,ot,_e),At=he(At,It,!_e),It=he(It,At,!_e));var ye=_e?K.c2p:H.c2p,Ie;De.s0>0?Ie=De._sMax:De.s0<0?Ie=De._sMin:Ie=De.s1>0?De._sMax:De._sMin;function Fe(Ia,Va){if(!Ia)return 0;var Oa=Math.abs(_e?It-At:yt-ot),tn=Math.abs(_e?yt-ot:It-At),ka=he(Math.abs(ye(Ie,!0)-ye(0,!0))),oi=De.hasB?Math.min(Oa/2,tn/2):Math.min(Oa/2,ka),$n;if(Va==="%"){var bn=Math.min(50,Ia);$n=Oa*(bn/100)}else $n=Ia;return he(Math.max(Math.min($n,oi),0))}var He=Ce||Se?Fe(pe.cornerradiusvalue,pe.cornerradiusform):0,We,pt,ct="M"+ot+","+At+"V"+It+"H"+yt+"V"+At+"Z",ft=0;if(He&&De.s){var mt=E(De.s0)===0||E(De.s)===E(De.s0)?De.s1:De.s0;if(ft=he(De.hasB?0:Math.abs(ye(Ie,!0)-ye(mt,!0))),ft0?Math.sqrt(ft*(2*He-ft)):0,ca=_t>0?Math.max:Math.min;We="M"+ot+","+At+"V"+(It-hr*Bt)+"H"+ca(yt-(He-ft)*_t,ot)+"A "+He+","+He+" 0 0 "+Et+" "+yt+","+(It-He*Bt-$r)+"V"+(At+He*Bt+$r)+"A "+He+","+He+" 0 0 "+Et+" "+ca(yt-(He-ft)*_t,ot)+","+(At+hr*Bt)+"Z"}else if(De.hasB)We="M"+(ot+He*_t)+","+At+"A "+He+","+He+" 0 0 "+Et+" "+ot+","+(At+He*Bt)+"V"+(It-He*Bt)+"A "+He+","+He+" 0 0 "+Et+" "+(ot+He*_t)+","+It+"H"+(yt-He*_t)+"A "+He+","+He+" 0 0 "+Et+" "+yt+","+(It-He*Bt)+"V"+(At+He*Bt)+"A "+He+","+He+" 0 0 "+Et+" "+(yt-He*_t)+","+At+"Z";else{pt=Math.abs(It-At)+ft;var na=pt0?Math.sqrt(ft*(2*He-ft)):0,pa=Bt>0?Math.max:Math.min;We="M"+(ot+na*_t)+","+At+"V"+pa(It-(He-ft)*Bt,At)+"A "+He+","+He+" 0 0 "+Et+" "+(ot+He*_t-wa)+","+It+"H"+(yt-He*_t+wa)+"A "+He+","+He+" 0 0 "+Et+" "+(yt-na*_t)+","+pa(It-(He-ft)*Bt,At)+"V"+At+"Z"}}else We=ct}else We=ct;var fa=m(w.ensureSingle(Ne,"path"),Z,j,G);if(fa.style("vector-effect",X?"none":"non-scaling-stroke").attr("d",isNaN((yt-ot)*(It-At))||Zt&&Y._context.staticPlot?"M0,0Z":We).call(e.setClipUrl,ee.layerClipId,Y),!Z.uniformtext.mode&&ce){var za=e.makePointStyleFns(ue);e.singlePointStyle(De,fa,ue,za,Y)}_(Y,ee,Ne,Q,qe,ot,yt,At,It,He,ft,j,G),ee.layerClipId&&e.hideOutsideRangePoint(De,Ne.select("text"),K,H,ue.xcalendar,ue.ycalendar)});var be=ue.cliponaxis===!1;e.setClipUrl(re,be?null:ee.layerClipId,Y)});t.getComponentMethod("errorbars","plot")(Y,$,ee,j)}function _(Y,ee,te,ae,j,G,K,H,Z,X,$,Q,re){var ue=ee.xaxis,pe=ee.yaxis,ge=Y._fullLayout,Te;function Se(pt,ct,ft){var mt=w.ensureSingle(pt,"text").text(ct).attr({class:"bartext bartext-"+Te,"text-anchor":"middle","data-notex":1}).call(e.font,ft).call(S.convertToTspans,Y);return mt}var Ce=ae[0].trace,Ue=Ce.orientation==="h",Oe=k(ge,ae,j,ue,pe);Te=B(Ce,j);var _e=Q.mode==="stack"||Q.mode==="relative",ce=ae[j],ie=!_e||ce._outmost,se=ce.hasB,ne=X&&X-$>b;if(!Oe||Te==="none"||(ce.isBlank||G===K||H===Z)&&(Te==="auto"||Te==="inside")){te.select("text").remove();return}var be=ge.font,De=s.getBarColor(ae[j],Ce),qe=s.getInsideTextFont(Ce,j,be,De),Ne=s.getOutsideTextFont(Ce,j,be),ut=Ce.insidetextanchor||"end",ot=te.datum();Ue?ue.type==="log"&&ot.s0<=0&&(ue.range[0]0&&at>0,he;ne?se?he=D(It-2*X,Zt,Jt,at,Ue)||D(It,Zt-2*X,Jt,at,Ue):Ue?he=D(It-(X-$),Zt,Jt,at,Ue)||D(It,Zt-2*(X-$),Jt,at,Ue):he=D(It,Zt-(X-$),Jt,at,Ue)||D(It-2*(X-$),Zt,Jt,at,Ue):he=D(It,Zt,Jt,at,Ue),Re&&he?Te="inside":(Te="outside",vr.remove(),vr=null)}else Te="inside";if(!vr){Ee=w.ensureUniformFontSize(Y,Te==="outside"?Ne:qe),vr=Se(te,Oe,Ee);var ye=vr.attr("transform");if(vr.attr("transform",""),Ut=e.bBox(vr.node()),Jt=Ut.width,at=Ut.height,vr.attr("transform",ye),Jt<=0||at<=0){vr.remove();return}}var Ie=Ce.textangle,Fe,He;Te==="outside"?(He=Ce.constraintext==="both"||Ce.constraintext==="outside",Fe=R(G,K,H,Z,Ut,{isHorizontal:Ue,constrained:He,angle:Ie})):(He=Ce.constraintext==="both"||Ce.constraintext==="inside",Fe=I(G,K,H,Z,Ut,{isHorizontal:Ue,constrained:He,angle:Ie,anchor:ut,hasB:se,r:X,overhead:$})),Fe.fontSize=Ee.size,n(Ce.type==="histogram"?"bar":Ce.type,Fe,ge),ce.transform=Fe;var We=m(vr,ge,Q,re);w.setTransormAndDisplay(We,Fe)}function D(Y,ee,te,ae,j){if(Y<0||ee<0)return!1;var G=te<=Y&&ae<=ee,K=te<=ee&&ae<=Y,H=j?Y>=te*(ee/ae):ee>=ae*(Y/te);return G||K||H}function C(Y){return Y==="auto"?0:Y}function F(Y,ee){var te=Math.PI/180*ee,ae=Math.abs(Math.sin(te)),j=Math.abs(Math.cos(te));return{x:Y.width*j+Y.height*ae,y:Y.width*ae+Y.height*j}}function I(Y,ee,te,ae,j,G){var K=!!G.isHorizontal,H=!!G.constrained,Z=G.angle||0,X=G.anchor,$=X==="end",Q=X==="start",re=G.leftToRight||0,ue=(re+1)/2,pe=1-ue,ge=G.hasB,Te=G.r,Se=G.overhead,Ce=j.width,Ue=j.height,Oe=Math.abs(ee-Y),_e=Math.abs(ae-te),ce=Oe>2*b&&_e>2*b?b:0;Oe-=2*ce,_e-=2*ce;var ie=C(Z);Z==="auto"&&!(Ce<=Oe&&Ue<=_e)&&(Ce>Oe||Ue>_e)&&(!(Ce>_e||Ue>Oe)||Ceb){var De=z(Y,ee,te,ae,se,Te,Se,K,ge);ne=De.scale,be=De.pad}else ne=1,H&&(ne=Math.min(1,Oe/se.x,_e/se.y)),be=0;var qe=j.left*pe+j.right*ue,Ne=(j.top+j.bottom)/2,ut=(Y+b)*pe+(ee-b)*ue,ot=(te+ae)/2,yt=0,At=0;if(Q||$){var It=(K?se.x:se.y)/2;Te&&($||ge)&&(ce+=be);var Zt=K?g(Y,ee):g(te,ae);K?Q?(ut=Y+Zt*ce,yt=-Zt*It):(ut=ee-Zt*ce,yt=Zt*It):Q?(ot=te+Zt*ce,At=-Zt*It):(ot=ae-Zt*ce,At=Zt*It)}return{textX:qe,textY:Ne,targetX:ut,targetY:ot,anchorX:yt,anchorY:At,scale:ne,rotate:ie}}function z(Y,ee,te,ae,j,G,K,H,Z){var X=Math.max(0,Math.abs(ee-Y)-2*b),$=Math.max(0,Math.abs(ae-te)-2*b),Q=G-b,re=K?Q-Math.sqrt(Q*Q-(Q-K)*(Q-K)):Q,ue=Z?Q*2:H?Q-K:2*re,pe=Z?Q*2:H?2*re:Q-K,ge,Te,Se,Ce,Ue;return j.y/j.x>=$/(X-ue)?Ce=$/j.y:j.y/j.x<=($-pe)/X?Ce=X/j.x:!Z&&H?(ge=j.x*j.x+j.y*j.y/4,Te=-2*j.x*(X-Q)-j.y*($/2-Q),Se=(X-Q)*(X-Q)+($/2-Q)*($/2-Q)-Q*Q,Ce=(-Te+Math.sqrt(Te*Te-4*ge*Se))/(2*ge)):Z?(ge=(j.x*j.x+j.y*j.y)/4,Te=-j.x*(X/2-Q)-j.y*($/2-Q),Se=(X/2-Q)*(X/2-Q)+($/2-Q)*($/2-Q)-Q*Q,Ce=(-Te+Math.sqrt(Te*Te-4*ge*Se))/(2*ge)):(ge=j.x*j.x/4+j.y*j.y,Te=-j.x*(X/2-Q)-2*j.y*($-Q),Se=(X/2-Q)*(X/2-Q)+($-Q)*($-Q)-Q*Q,Ce=(-Te+Math.sqrt(Te*Te-4*ge*Se))/(2*ge)),Ce=Math.min(1,Ce),H?Ue=Math.max(0,Q-Math.sqrt(Math.max(0,Q*Q-(Q-($-j.y*Ce)/2)*(Q-($-j.y*Ce)/2)))-K):Ue=Math.max(0,Q-Math.sqrt(Math.max(0,Q*Q-(Q-(X-j.x*Ce)/2)*(Q-(X-j.x*Ce)/2)))-K),{scale:Ce,pad:Ue}}function R(Y,ee,te,ae,j,G){var K=!!G.isHorizontal,H=!!G.constrained,Z=G.angle||0,X=j.width,$=j.height,Q=Math.abs(ee-Y),re=Math.abs(ae-te),ue;K?ue=re>2*b?b:0:ue=Q>2*b?b:0;var pe=1;H&&(pe=K?Math.min(1,re/$):Math.min(1,Q/X));var ge=C(Z),Te=F(j,ge),Se=(K?Te.x:Te.y)/2,Ce=(j.left+j.right)/2,Ue=(j.top+j.bottom)/2,Oe=(Y+ee)/2,_e=(te+ae)/2,ce=0,ie=0,se=K?g(ee,Y):g(te,ae);return K?(Oe=ee-se*ue,ce=se*Se):(_e=ae+se*ue,ie=-se*Se),{textX:Ce,textY:Ue,targetX:Oe,targetY:_e,anchorX:ce,anchorY:ie,scale:pe,rotate:ge}}function k(Y,ee,te,ae,j){var G=ee[0].trace,K=G.texttemplate,H;return K?H=N(Y,ee,te,ae,j):G.textinfo?H=q(ee,te,ae,j):H=c.getValue(G.text,te),c.coerceString(d,H)}function B(Y,ee){var te=c.getValue(Y.textposition,ee);return c.coerceEnumerated(y,te)}function N(Y,ee,te,ae,j){var G=ee[0].trace,K=w.castOption(G,te,"texttemplate");if(!K)return"";var H=G.type==="histogram",Z=G.type==="waterfall",X=G.type==="funnel",$=G.orientation==="h",Q,re,ue,pe;$?(Q="y",re=j,ue="x",pe=ae):(Q="x",re=ae,ue="y",pe=j);function ge(ce){return a(re,re.c2l(ce),!0).text}function Te(ce){return a(pe,pe.c2l(ce),!0).text}var Se=ee[te],Ce={};Ce.label=Se.p,Ce.labelLabel=Ce[Q+"Label"]=ge(Se.p);var Ue=w.castOption(G,Se.i,"text");(Ue===0||Ue)&&(Ce.text=Ue),Ce.value=Se.s,Ce.valueLabel=Ce[ue+"Label"]=Te(Se.s);var Oe={};o(Oe,G,Se.i),(H||Oe.x===void 0)&&(Oe.x=$?Ce.value:Ce.label),(H||Oe.y===void 0)&&(Oe.y=$?Ce.label:Ce.value),(H||Oe.xLabel===void 0)&&(Oe.xLabel=$?Ce.valueLabel:Ce.labelLabel),(H||Oe.yLabel===void 0)&&(Oe.yLabel=$?Ce.labelLabel:Ce.valueLabel),Z&&(Ce.delta=+Se.rawS||Se.s,Ce.deltaLabel=Te(Ce.delta),Ce.final=Se.v,Ce.finalLabel=Te(Ce.final),Ce.initial=Ce.final-Ce.delta,Ce.initialLabel=Te(Ce.initial)),X&&(Ce.value=Se.s,Ce.valueLabel=Te(Ce.value),Ce.percentInitial=Se.begR,Ce.percentInitialLabel=w.formatPercent(Se.begR),Ce.percentPrevious=Se.difR,Ce.percentPreviousLabel=w.formatPercent(Se.difR),Ce.percentTotal=Se.sumR,Ce.percenTotalLabel=w.formatPercent(Se.sumR));var _e=w.castOption(G,Se.i,"customdata");return _e&&(Ce.customdata=_e),w.texttemplateString({data:[Oe,Ce,G._meta],fallback:G.texttemplatefallback,labels:Ce,locale:Y._d3locale,template:K})}function q(Y,ee,te,ae){var j=Y[0].trace,G=j.orientation==="h",K=j.type==="waterfall",H=j.type==="funnel";function Z(_e){var ce=G?ae:te;return a(ce,_e,!0).text}function X(_e){var ce=G?te:ae;return a(ce,+_e,!0).text}var $=j.textinfo,Q=Y[ee],re=$.split("+"),ue=[],pe,ge=function(_e){return re.indexOf(_e)!==-1};if(ge("label")&&ue.push(Z(Y[ee].p)),ge("text")&&(pe=w.castOption(j,Q.i,"text"),(pe===0||pe)&&ue.push(pe)),K){var Te=+Q.rawS||Q.s,Se=Q.v,Ce=Se-Te;ge("initial")&&ue.push(X(Ce)),ge("delta")&&ue.push(X(Te)),ge("final")&&ue.push(X(Se))}if(H){ge("value")&&ue.push(X(Q.s));var Ue=0;ge("percent initial")&&Ue++,ge("percent previous")&&Ue++,ge("percent total")&&Ue++;var Oe=Ue>1;ge("percent initial")&&(pe=w.formatPercent(Q.begR),Oe&&(pe+=" of initial"),ue.push(pe)),ge("percent previous")&&(pe=w.formatPercent(Q.difR),Oe&&(pe+=" of previous"),ue.push(pe)),ge("percent total")&&(pe=w.formatPercent(Q.sumR),Oe&&(pe+=" of total"),ue.push(pe))}return ue.join("
")}O.exports={plot:x,toMoveInsideBar:I}}}),vp=xe({"src/traces/bar/hover.js"(U,O){"use strict";var u=hu(),v=Ci(),w=wi(),S=Sr().fillText,l=mg().getLineWidth,e=uo().hoverLabelText,t=Gn().BADNUM;function a(i,s,c,p,f){var d=r(i,s,c,p,f);if(d){var y=d.cd,o=y[0].trace,b=y[d.index];return d.color=n(o,b),v.getComponentMethod("errorbars","hoverInfo")(b,o,d),[d]}}function r(i,s,c,p,f){var d=i.cd,y=d[0].trace,o=d[0].t,b=p==="closest",M=y.type==="waterfall",A=i.maxHoverDistance,E=i.maxSpikeDistance,g,T,m,h,x,_,D;y.orientation==="h"?(g=c,T=s,m="y",h="x",x=ae,_=Y):(g=s,T=c,m="x",h="y",_=ae,x=Y);var C=y[m+"period"],F=b||C;function I(pe){return R(pe,-1)}function z(pe){return R(pe,1)}function R(pe,ge){var Te=pe.w;return pe[m]+ge*Te/2}function k(pe){return pe[m+"End"]-pe[m+"Start"]}var B=b?I:C?function(pe){return pe.p-k(pe)/2}:function(pe){return Math.min(I(pe),pe.p-o.bardelta/2)},N=b?z:C?function(pe){return pe.p+k(pe)/2}:function(pe){return Math.max(z(pe),pe.p+o.bardelta/2)};function q(pe,ge,Te){return f.finiteRange&&(Te=0),u.inbox(pe-g,ge-g,Te+Math.min(1,Math.abs(ge-pe)/D)-1)}function Y(pe){return q(B(pe),N(pe),A)}function ee(pe){return q(I(pe),z(pe),E)}function te(pe){var ge=pe[h];if(M){var Te=Math.abs(pe.rawS)||0;T>0?ge+=Te:T<0&&(ge-=Te)}return ge}function ae(pe){var ge=T,Te=pe.b,Se=te(pe);return u.inbox(Te-ge,Se-ge,A+(Se-ge)/(Se-Te)-1)}function j(pe){var ge=T,Te=pe.b,Se=te(pe);return u.inbox(Te-ge,Se-ge,E+(Se-ge)/(Se-Te)-1)}var G=i[m+"a"],K=i[h+"a"];D=Math.abs(G.r2c(G.range[1])-G.r2c(G.range[0]));function H(pe){return(x(pe)+_(pe))/2}var Z=u.getDistanceFunction(p,x,_,H);if(u.getClosest(d,Z,i),i.index!==!1&&d[i.index].p!==t){F||(B=function(pe){return Math.min(I(pe),pe.p-o.bargroupwidth/2)},N=function(pe){return Math.max(z(pe),pe.p+o.bargroupwidth/2)});var X=i.index,$=d[X],Q=y.base?$.b+$.s:$.s;i[h+"0"]=i[h+"1"]=K.c2p($[h],!0),i[h+"LabelVal"]=Q;var re=o.extents[o.extents.round($.p)];i[m+"0"]=G.c2p(b?B($):re[0],!0),i[m+"1"]=G.c2p(b?N($):re[1],!0);var ue=$.orig_p!==void 0;return i[m+"LabelVal"]=ue?$.orig_p:$.p,i.labelLabel=e(G,i[m+"LabelVal"],y[m+"hoverformat"]),i.valueLabel=e(K,i[h+"LabelVal"],y[h+"hoverformat"]),i.baseLabel=e(K,$.b,y[h+"hoverformat"]),i.spikeDistance=(j($)+ee($))/2,i[m+"Spike"]=G.c2p($.p,!0),S($,y,i),i.hovertemplate=y.hovertemplate,i}}function n(i,s){var c=s.mcc||i.marker.color,p=s.mlcc||i.marker.line.color,f=l(i,s);if(w.opacity(c))return c;if(w.opacity(p)&&f)return p}O.exports={hoverPoints:a,hoverOnBars:r,getTraceColor:n}}}),aM=xe({"src/traces/bar/event_data.js"(U,O){"use strict";O.exports=function(v,w,S){return v.x="xVal"in w?w.xVal:w.x,v.y="yVal"in w?w.yVal:w.y,w.xa&&(v.xaxis=w.xa),w.ya&&(v.yaxis=w.ya),S.orientation==="h"?(v.label=v.y,v.value=v.x):(v.label=v.x,v.value=v.y),v}}}),pp=xe({"src/traces/bar/select.js"(U,O){"use strict";O.exports=function(w,S){var l=w.cd,e=w.xaxis,t=w.yaxis,a=l[0].trace,r=a.type==="funnel",n=a.orientation==="h",i=[],s;if(S===!1)for(s=0;s0?(C="v",m>0?F=Math.min(x,h):F=Math.min(h)):m>0?(C="h",F=Math.min(x)):F=0;if(!F){c.visible=!1;return}c._length=F;var B=p("orientation",C);c._hasPreCompStats?B==="v"&&m===0?(p("x0",0),p("dx",1)):B==="h"&&T===0&&(p("y0",0),p("dy",1)):B==="v"&&m===0?p("x0"):B==="h"&&T===0&&p("y0");var N=v.getComponentMethod("calendars","handleTraceDefaults");N(s,c,["x","y"],f)}function n(s,c,p,f){var d=f.prefix,y=u.coerce2(s,c,t,"marker.outliercolor"),o=p("marker.line.outliercolor"),b="outliers";c._hasPreCompStats?b="all":(y||o)&&(b="suspectedoutliers");var M=p(d+"points",b);M?(p("jitter",M==="all"?.3:0),p("pointpos",M==="all"?-1.5:0),p("marker.symbol"),p("marker.opacity"),p("marker.size"),p("marker.angle"),p("marker.color",c.line.color),p("marker.line.color"),p("marker.line.width"),M==="suspectedoutliers"&&(p("marker.line.outliercolor",c.marker.color),p("marker.line.outlierwidth")),p("selected.marker.color"),p("unselected.marker.color"),p("selected.marker.size"),p("unselected.marker.size"),p("text"),p("hovertext")):delete c.marker;var A=p("hoveron");(A==="all"||A.indexOf("points")!==-1)&&(p("hovertemplate"),p("hovertemplatefallback")),u.coerceSelectionMarkerOpacity(c,p)}function i(s,c){var p,f;function d(M){return u.coerce(f._input,f,t,M)}for(var y=0;yte.uf};if(E._hasPreCompStats){var X=E[F],$=function(Zt){return C.d2c((E[Zt]||[])[_])},Q=1/0,re=-1/0;for(_=0;_=te.q1&&te.q3>=te.med){var pe=$("lowerfence");te.lf=pe!==l&&pe<=te.q1?pe:f(te,j,G);var ge=$("upperfence");te.uf=ge!==l&&ge>=te.q3?ge:d(te,j,G);var Te=$("mean");te.mean=Te!==l?Te:G?S.mean(j,G):(te.q1+te.q3)/2;var Se=$("sd");te.sd=Te!==l&&Se>=0?Se:G?S.stdev(j,G,te.mean):te.q3-te.q1,te.lo=y(te),te.uo=o(te);var Ce=$("notchspan");Ce=Ce!==l&&Ce>0?Ce:b(te,G),te.ln=te.med-Ce,te.un=te.med+Ce;var Ue=te.lf,Oe=te.uf;E.boxpoints&&j.length&&(Ue=Math.min(Ue,j[0]),Oe=Math.max(Oe,j[G-1])),E.notched&&(Ue=Math.min(Ue,te.ln),Oe=Math.max(Oe,te.un)),te.min=Ue,te.max=Oe}else{S.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+te.q1,"median = "+te.med,"q3 = "+te.q3].join(` +`));var _e;te.med!==l?_e=te.med:te.q1!==l?te.q3!==l?_e=(te.q1+te.q3)/2:_e=te.q1:te.q3!==l?_e=te.q3:_e=0,te.med=_e,te.q1=te.q3=_e,te.lf=te.uf=_e,te.mean=te.sd=_e,te.ln=te.un=_e,te.min=te.max=_e}Q=Math.min(Q,te.min),re=Math.max(re,te.max),te.pts2=ae.filter(Z),h.push(te)}}E._extremes[C._id]=v.findExtremes(C,[Q,re],{padded:!0})}else{var ce=C.makeCalcdata(E,F),ie=a(Y,ee),se=Y.length,ne=r(se);for(_=0;_=0&&be0){if(te={},te.pos=te[z]=Y[_],ae=te.pts=ne[_].sort(c),j=te[F]=ae.map(p),G=j.length,te.min=j[0],te.max=j[G-1],te.mean=S.mean(j,G),te.sd=S.stdev(j,G,te.mean)*E.sdmultiple,te.med=S.interp(j,.5),G%2&&(ut||ot)){var yt,At;ut?(yt=j.slice(0,G/2),At=j.slice(G/2+1)):ot&&(yt=j.slice(0,G/2+1),At=j.slice(G/2)),te.q1=S.interp(yt,.5),te.q3=S.interp(At,.5)}else te.q1=S.interp(j,.25),te.q3=S.interp(j,.75);te.lf=f(te,j,G),te.uf=d(te,j,G),te.lo=y(te),te.uo=o(te);var It=b(te,G);te.ln=te.med-It,te.un=te.med+It,De=Math.min(De,te.ln),qe=Math.max(qe,te.un),te.pts2=ae.filter(Z),h.push(te)}E.notched&&S.isTypedArray(ce)&&(ce=Array.from(ce)),E._extremes[C._id]=v.findExtremes(C,E.notched?ce.concat([De,qe]):ce,{padded:!0})}return s(h,E),h.length>0?(h[0].t={num:g[x],dPos:ee,posLetter:z,valLetter:F,labels:{med:e(A,"median:"),min:e(A,"min:"),q1:e(A,"q1:"),q3:e(A,"q3:"),max:e(A,"max:"),mean:E.boxmean==="sd"||E.sizemode==="sd"?e(A,"mean \xB1 \u03C3:").replace("\u03C3",E.sdmultiple===1?"\u03C3":E.sdmultiple+"\u03C3"):e(A,"mean:"),lf:e(A,"lower fence:"),uf:e(A,"upper fence:")}},g[x]++,h):[{t:{empty:!0}}]};function t(M,A,E,g){var T=A in M,m=A+"0"in M,h="d"+A in M;if(T||m&&h){var x=E.makeCalcdata(M,A),_=w(M,E,A,x).vals;return[_,x]}var D;m?D=M[A+"0"]:"name"in M&&(E.type==="category"||u(M.name)&&["linear","log"].indexOf(E.type)!==-1||S.isDateTime(M.name)&&E.type==="date")?D=M.name:D=g;for(var C=E.type==="multicategory"?E.r2c_just_indices(D):E.d2c(D,0,M[A+"calendar"]),F=M._length,I=new Array(F),z=0;z1,m=1-s[t+"gap"],h=1-s[t+"groupgap"];for(f=0;f0;if(C==="positive"?(te=F*(D?1:.5),G=j,ae=G=z):C==="negative"?(te=G=z,ae=F*(D?1:.5),K=j):(te=ae=F,G=K=j),re){var ue=x.pointpos,pe=x.jitter,ge=x.marker.size/2,Te=0;ue+pe>=0&&(Te=j*(ue+pe),Te>te?(Q=!0,X=ge,H=Te):Te>G&&(X=ge,H=te)),Te<=te&&(H=te);var Se=0;ue-pe<=0&&(Se=-j*(ue-pe),Se>ae?(Q=!0,$=ge,Z=Se):Se>K&&($=ge,Z=ae)),Se<=ae&&(Z=ae)}else H=te,Z=ae;var Ce=new Array(y.length);for(d=0;dE.lo&&(B.so=!0)}return T});A.enter().append("path").classed("point",!0),A.exit().remove(),A.call(w.translatePoints,p,f)}function r(n,i,s,c){var p=i.val,f=i.pos,d=!!f.rangebreaks,y=c.bPos,o=c.bPosPxOffset||0,b=s.boxmean||(s.meanline||{}).visible,M,A;Array.isArray(c.bdPos)?(M=c.bdPos[0],A=c.bdPos[1]):(M=c.bdPos,A=c.bdPos);var E=n.selectAll("path.mean").data(s.type==="box"&&s.boxmean||s.type==="violin"&&s.box.visible&&s.meanline.visible?v.identity:[]);E.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),E.exit().remove(),E.each(function(g){var T=f.c2l(g.pos+y,!0),m=f.l2p(T-M)+o,h=f.l2p(T+A)+o,x=d?(m+h)/2:f.l2p(T)+o,_=p.c2p(g.mean,!0),D=p.c2p(g.mean-g.sd,!0),C=p.c2p(g.mean+g.sd,!0);s.orientation==="h"?u.select(this).attr("d","M"+_+","+m+"V"+h+(b==="sd"?"m0,0L"+D+","+x+"L"+_+","+m+"L"+C+","+x+"Z":"")):u.select(this).attr("d","M"+m+","+_+"H"+h+(b==="sd"?"m0,0L"+x+","+D+"L"+m+","+_+"L"+x+","+C+"Z":""))})}O.exports={plot:e,plotBoxAndWhiskers:t,plotPoints:a,plotBoxMean:r}}}),bg=xe({"src/traces/box/style.js"(U,O){"use strict";var u=Na(),v=wi(),w=go();function S(e,t,a){var r=a||u.select(e).selectAll("g.trace.boxes");r.style("opacity",function(n){return n[0].trace.opacity}),r.each(function(n){var i=u.select(this),s=n[0].trace,c=s.line.width;function p(y,o,b,M){y.style("stroke-width",o+"px").call(v.stroke,b).call(v.fill,M)}var f=i.selectAll("path.box");if(s.type==="candlestick")f.each(function(y){if(!y.empty){var o=u.select(this),b=s[y.dir];p(o,b.line.width,b.line.color,b.fillcolor),o.style("opacity",s.selectedpoints&&!y.selected?.3:1)}});else{p(f,c,s.line.color,s.fillcolor),i.selectAll("path.mean").style({"stroke-width":c,"stroke-dasharray":2*c+"px,"+c+"px"}).call(v.stroke,s.line.color);var d=i.selectAll("path.point");w.pointStyle(d,s,e)}})}function l(e,t,a){var r=t[0].trace,n=a.selectAll("path.point");r.selectedpoints?w.selectedPointStyle(n,r):w.pointStyle(n,r,e)}O.exports={style:S,styleOnSelect:l}}}),ub=xe({"src/traces/box/hover.js"(U,O){"use strict";var u=uo(),v=Sr(),w=hu(),S=wi(),l=v.fillText;function e(r,n,i,s){var c=r.cd,p=c[0].trace,f=p.hoveron,d=[],y;return f.indexOf("boxes")!==-1&&(d=d.concat(t(r,n,i,s))),f.indexOf("points")!==-1&&(y=a(r,n,i)),s==="closest"?y?[y]:d:(y&&d.push(y),d)}function t(r,n,i,s){var c=r.cd,p=r.xa,f=r.ya,d=c[0].trace,y=c[0].t,o=d.type==="violin",b,M,A,E,g,T,m,h,x,_,D,C=y.bdPos,F,I,z=y.wHover,R=function(Se){return A.c2l(Se.pos)+y.bPos-A.c2l(T)};o&&d.side!=="both"?(d.side==="positive"&&(x=function(Se){var Ce=R(Se);return w.inbox(Ce,Ce+z,_)},F=C,I=0),d.side==="negative"&&(x=function(Se){var Ce=R(Se);return w.inbox(Ce-z,Ce,_)},F=0,I=C)):(x=function(Se){var Ce=R(Se);return w.inbox(Ce-z,Ce+z,_)},F=I=C);var k;o?k=function(Se){return w.inbox(Se.span[0]-g,Se.span[1]-g,_)}:k=function(Se){return w.inbox(Se.min-g,Se.max-g,_)},d.orientation==="h"?(g=n,T=i,m=k,h=x,b="y",A=f,M="x",E=p):(g=i,T=n,m=x,h=k,b="x",A=p,M="y",E=f);var B=Math.min(1,C/Math.abs(A.r2c(A.range[1])-A.r2c(A.range[0])));_=r.maxHoverDistance-B,D=r.maxSpikeDistance-B;function N(Se){return(m(Se)+h(Se))/2}var q=w.getDistanceFunction(s,m,h,N);if(w.getClosest(c,q,r),r.index===!1)return[];var Y=c[r.index],ee=d.line.color,te=(d.marker||{}).color;S.opacity(ee)&&d.line.width?r.color=ee:S.opacity(te)&&d.boxpoints?r.color=te:r.color=d.fillcolor,r[b+"0"]=A.c2p(Y.pos+y.bPos-I,!0),r[b+"1"]=A.c2p(Y.pos+y.bPos+F,!0),r[b+"LabelVal"]=Y.orig_p!==void 0?Y.orig_p:Y.pos;var ae=b+"Spike";r.spikeDistance=N(Y)*D/_,r[ae]=A.c2p(Y.pos,!0);var j=d.boxmean||d.sizemode==="sd"||(d.meanline||{}).visible,G=d.boxpoints||d.points,K=G&&j?["max","uf","q3","med","mean","q1","lf","min"]:G&&!j?["max","uf","q3","med","q1","lf","min"]:!G&&j?["max","q3","med","mean","q1","min"]:["max","q3","med","q1","min"],H=E.range[1]0&&(a=!0);for(var s=0;se){var t=e-S[v];return S[v]=e,t}}else return S[v]=e,e;return 0},max:function(v,w,S,l){var e=l[w];if(u(e))if(e=Number(e),u(S[v])){if(S[v]m&&mS){var _=h===v?1:6,D=h===v?"M12":"M1";return function(C,F){var I=y.c2d(C,v,o),z=I.indexOf("-",_);z>0&&(I=I.slice(0,z));var R=y.d2c(I,0,o);if(Rt?c>S?c>v*1.1?v:c>w*1.1?w:S:c>l?l:c>e?e:t:Math.pow(10,Math.floor(Math.log(c)/Math.LN10))}function i(c,p,f,d,y,o){if(d&&c>S){var b=s(p,y,o),M=s(f,y,o),A=c===v?0:1;return b[A]!==M[A]}return Math.floor(f/c)-Math.floor(p/c)>.1}function s(c,p,f){var d=p.c2d(c,v,f).split("-");return d[0]===""&&(d.unshift(),d[0]="-"+d[0]),d}}}),mb=xe({"src/traces/histogram/calc.js"(U,O){"use strict";var u=yn(),v=Sr(),w=Ci(),S=uo(),{hasColorscale:l}=vf(),e=xf(),t=g0(),a=hb(),r=db(),n=vb(),i=pb();function s(y,o){var b=[],M=[],A=o.orientation==="h",E=S.getFromId(y,A?o.yaxis:o.xaxis),g=A?"y":"x",T={x:"y",y:"x"}[g],m=o[g+"calendar"],h=o.cumulative,x,_=c(y,o,E,g),D=_[0],C=_[1],F=typeof D.size=="string",I=[],z=F?I:D,R=[],k=[],B=[],N=0,q=o.histnorm,Y=o.histfunc,ee=q.indexOf("density")!==-1,te,ae,j;h.enabled&&ee&&(q=q.replace(/ ?density$/,""),ee=!1);var G=Y==="max"||Y==="min",K=G?null:0,H=a.count,Z=r[q],X=!1,$=function(be){return E.r2c(be,0,m)},Q;for(v.isArrayOrTypedArray(o[T])&&Y!=="count"&&(Q=o[T],X=Y==="avg",H=a[Y]),x=$(D.start),ae=$(D.end)+(x-S.tickIncrement(x,D.size,!1,m))/1e6;x=0&&j=ie;x--)if(M[x]){se=x;break}for(x=ie;x<=se;x++)if(u(b[x])&&u(M[x])){var ne={p:b[x],s:M[x],b:0};h.enabled||(ne.pts=B[x],ge?ne.ph0=ne.ph1=B[x].length?C[B[x][0]]:b[x]:(o._computePh=!0,ne.ph0=Oe(I[x]),ne.ph1=Oe(I[x+1],!0))),ce.push(ne)}return ce.length===1&&(ce[0].width1=S.tickIncrement(ce[0].p,D.size,!1,m)-ce[0].p),l(o,"marker")&&e(y,o,{vals:o.marker.color,containerStr:"marker",cLetter:"c"}),l(o,"marker.line")&&e(y,o,{vals:o.marker.line.color,containerStr:"marker.line",cLetter:"c"}),t(ce,o),v.isArrayOrTypedArray(o.selectedpoints)&&v.tagSelected(ce,o,Ce),ce}function c(y,o,b,M,A){var E,g=M+"bins",T=y._fullLayout,m=o["_"+M+"bingroup"],h=T._histogramBinOpts[m],x=T.barmode==="overlay",_,D,C,F,I,z,R,k=function(Oe){return b.r2c(Oe,0,F)},B=function(Oe){return b.c2r(Oe,0,F)},N=b.type==="date"?function(Oe){return Oe||Oe===0?v.cleanDate(Oe,null,F):null}:function(Oe){return u(Oe)?Number(Oe):null};function q(Oe,_e,ce){_e[Oe+"Found"]?(_e[Oe]=N(_e[Oe]),_e[Oe]===null&&(_e[Oe]=ce[Oe])):(z[Oe]=_e[Oe]=ce[Oe],v.nestedProperty(D[0],g+"."+Oe).set(ce[Oe]))}if(o["_"+M+"autoBinFinished"])delete o["_"+M+"autoBinFinished"];else{D=h.traces;var Y=[],ee=!0,te=!1,ae=!1;for(_=0;_b.r2l(re)&&(pe=S.tickIncrement(pe,h.size,!0,F)),Z.start=b.l2r(pe),Q||v.nestedProperty(o,g+".start").set(Z.start)}var ge=h.end,Te=b.r2l(H.end),Se=Te!==void 0;if((h.endFound||Se)&&Te!==b.r2l(ge)){var Ce=Se?Te:v.aggNums(Math.max,null,I);Z.end=b.l2r(Ce),Se||v.nestedProperty(o,g+".start").set(Z.end)}var Ue="autobin"+M;return o._input[Ue]===!1&&(o._input[g]=v.extendFlat({},o[g]||{}),delete o._input[Ue],delete o[Ue]),[Z,I]}function p(y,o,b,M,A){var E=y._fullLayout,g=f(y,o),T=!1,m=1/0,h=[o],x,_,D;for(x=0;x=0;M--)T(M);else if(o==="increasing"){for(M=1;M=0;M--)y[M]+=y[M+1];b==="exclude"&&(y.push(0),y.shift())}}O.exports={calc:s,calcAllAutoBins:c}}}),cM=xe({"src/traces/histogram2d/calc.js"(U,O){"use strict";var u=Sr(),v=uo(),w=hb(),S=db(),l=vb(),e=pb(),t=mb().calcAllAutoBins;O.exports=function(s,c){var p=v.getFromId(s,c.xaxis),f=v.getFromId(s,c.yaxis),d=c.xcalendar,y=c.ycalendar,o=function(Ee){return p.r2c(Ee,0,d)},b=function(Ee){return f.r2c(Ee,0,y)},M=function(Ee){return p.c2r(Ee,0,d)},A=function(Ee){return f.c2r(Ee,0,y)},E,g,T,m,h=t(s,c,p,"x"),x=h[0],_=h[1],D=t(s,c,f,"y"),C=D[0],F=D[1],I=c._length;_.length>I&&_.splice(I,_.length-I),F.length>I&&F.splice(I,F.length-I);var z=[],R=[],k=[],B=typeof x.size=="string",N=typeof C.size=="string",q=[],Y=[],ee=B?q:x,te=N?Y:C,ae=0,j=[],G=[],K=c.histnorm,H=c.histfunc,Z=K.indexOf("density")!==-1,X=H==="max"||H==="min",$=X?null:0,Q=w.count,re=S[K],ue=!1,pe=[],ge=[],Te="z"in c?c.z:"marker"in c&&Array.isArray(c.marker.color)?c.marker.color:"";Te&&H!=="count"&&(ue=H==="avg",Q=w[H]);var Se=x.size,Ce=o(x.start),Ue=o(x.end)+(Ce-v.tickIncrement(Ce,Se,!1,d))/1e6;for(E=Ce;E=0&&T=0&&mv;n++)r=l(t,a,S(r));return r>v&&u.log("interp2d didn't converge quickly",r),t};function l(e,t,a){var r=0,n,i,s,c,p,f,d,y,o,b,M,A,E;for(c=0;cA&&(r=Math.max(r,Math.abs(e[i][s]-M)/(E-A))))}return r}}}),Mg=xe({"src/traces/heatmap/find_empties.js"(U,O){"use strict";var u=Sr().maxRowLength;O.exports=function(w){var S=[],l={},e=[],t=w[0],a=[],r=[0,0,0],n=u(w),i,s,c,p,f,d,y,o;for(s=0;s=0;f--)p=e[f],s=p[0],c=p[1],d=((l[[s-1,c]]||r)[2]+(l[[s+1,c]]||r)[2]+(l[[s,c-1]]||r)[2]+(l[[s,c+1]]||r)[2])/20,d&&(y[p]=[s,c,d],e.splice(f,1),o=!0);if(!o)throw"findEmpties iterated with no new neighbors";for(p in y)l[p]=y[p],S.push(y[p])}return S.sort(function(b,M){return M[2]-b[2]})}}}),gb=xe({"src/traces/heatmap/make_bound_array.js"(U,O){"use strict";var u=Ci(),v=Sr().isArrayOrTypedArray;O.exports=function(S,l,e,t,a,r){var n=[],i=u.traceIs(S,"contour"),s=u.traceIs(S,"histogram"),c,p,f,d=v(l)&&l.length>1;if(d&&!s&&r.type!=="category"){var y=l.length;if(y<=a){if(i)n=Array.from(l).slice(0,a);else if(a===1)r.type==="log"?n=[.5*l[0],2*l[0]]:n=[l[0]-.5,l[0]+.5];else if(r.type==="log"){for(n=[Math.pow(l[0],1.5)/Math.pow(l[1],.5)],f=1;f1){var K=(G[G.length-1]-G[0])/(G.length-1),H=Math.abs(K/100);for(I=0;IH)return!1}return!0}y._islinear=!1,o.type==="log"||b.type==="log"?E==="fast"&&k("log axis found"):B(g)?B(x)?y._islinear=!0:E==="fast"&&k("y scale is not linear"):E==="fast"&&k("x scale is not linear");var N=v.maxRowLength(F),q=y.xtype==="scaled"?"":g,Y=i(y,q,T,m,N,o),ee=y.ytype==="scaled"?"":x,te=i(y,ee,_,D,F.length,b);y._extremes[o._id]=w.findExtremes(o,Y),y._extremes[b._id]=w.findExtremes(b,te);var ae={x:Y,y:te,z:F,text:y._text||y.text,hovertext:y._hovertext||y.hovertext};if(y.xperiodalignment&&h&&(ae.orig_x=h),y.yperiodalignment&&C&&(ae.orig_y=C),q&&q.length===Y.length-1&&(ae.xCenter=q),ee&&ee.length===te.length-1&&(ae.yCenter=ee),A&&(ae.xRanges=z.xRanges,ae.yRanges=z.yRanges,ae.pts=z.pts),M||e(d,y,{vals:F,cLetter:"z"}),M&&y.contours&&y.contours.coloring==="heatmap"){var j={type:y.type==="contour"?"heatmap":"histogram2d",xcalendar:y.xcalendar,ycalendar:y.ycalendar};ae.xfill=i(j,q,T,m,N,o),ae.yfill=i(j,ee,_,D,F.length,b)}return[ae]};function c(f){for(var d=[],y=f.length,o=0;o0;)H=h.c2p(k[Q]),Q--;for(H0;)$=x.c2p(B[Q]),Q--;$=h._length||H<=0||X>=x._length||$<=0;if(Ce){var Ue=D.selectAll("image").data([]);Ue.exit().remove(),o(D);return}var Oe,_e;pe==="fast"?(Oe=ae,_e=te):(Oe=Te,_e=Se);var ce=document.createElement("canvas");ce.width=Oe,ce.height=_e;var ie=ce.getContext("2d",{willReadFrequently:!0}),se=n(F,{noNumericCheck:!0,returnArray:!0}),ne,be;pe==="fast"?(ne=j?function(Fr){return ae-1-Fr}:l.identity,be=G?function(Fr){return te-1-Fr}:l.identity):(ne=function(Fr){return l.constrain(Math.round(h.c2p(k[Fr])-K),0,Te)},be=function(Fr){return l.constrain(Math.round(x.c2p(B[Fr])-X),0,Se)});var De=be(0),qe=[De,De],Ne=j?0:1,ut=G?0:1,ot=0,yt=0,At=0,It=0,Zt,vr,Ut,Jt,at;function Ee(Fr,kr=0){if(Fr===void 0)return[0,0,0,0];var ra=se(Fr);return ra[0]=Math.round(ra[0]),ra[1]=Math.round(ra[1]),ra[2]=Math.round(ra[2]),ot+=kr,yt+=ra[0]*kr,At+=ra[1]*kr,It+=ra[2]*kr,ra}function Re(Fr,kr,ra,ja){var La=Fr[ra.bin0];if(La===void 0)return Ee(void 0,1);var Dn=Fr[ra.bin1],Mn=kr[ra.bin0],_i=kr[ra.bin1],ti=Dn-La||0,Si=Mn-La||0,ai;return Dn===void 0?_i===void 0?ai=0:Mn===void 0?ai=2*(_i-La):ai=(2*_i-Mn-La)*2/3:_i===void 0?Mn===void 0?ai=0:ai=(2*La-Dn-Mn)*2/3:Mn===void 0?ai=(2*_i-Dn-La)*2/3:ai=_i+La-Dn-Mn,Ee(La+ra.frac*ti+ja.frac*(Si+ra.frac*ai))}if(pe!=="default"){var he=0,ye;try{ye=new Uint8Array(Oe*_e*4)}catch{ye=new Array(Oe*_e*4)}if(pe==="smooth"){var Ie=N||k,Fe=q||B,He=new Array(Ie.length),We=new Array(Fe.length),pt=new Array(Te),ct=N?M:b,ft=q?M:b,mt,_t,Bt;for(Q=0;Qci||ci>x._length))for(re=ka;rePi||Pi>h._length)){var Jn=t({x:hi,y:bn},F,E._fullLayout);Jn.x=hi,Jn.y=bn;var Ti=C.z[Q][re];Ti===void 0?(Jn.z="",Jn.zLabel=""):(Jn.z=Ti,Jn.zLabel=S.tickText(za,Ti,"hover").text);var _n=C.text&&C.text[Q]&&C.text[Q][re];(_n===void 0||_n===!1)&&(_n=""),Jn.text=_n;var Ln=l.texttemplateString({data:[Jn,F._meta],fallback:F.texttemplatefallback,labels:Jn,locale:E._fullLayout._d3locale,template:pa});if(Ln){var ji=Ln.split("
"),Zi=ji.length,un=0;for(ue=0;ue=b[0].length||D<0||D>b.length)return}else{if(u.inbox(a-y[0],a-y[y.length-1],0)>0||u.inbox(r-o[0],r-o[o.length-1],0)>0)return;if(s){var C;for(T=[2*y[0]-y[1]],C=1;C=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}}}),w0=xe({"src/traces/contour/attributes.js"(U,O){"use strict";var u=mp(),v=wu(),w=Kl(),S=w.axisHoverFormat,l=w.descriptionOnlyNumbers,e=pl(),t=Rc().dash,a=vl(),r=oo().extendFlat,n=Rg(),i=n.COMPARISON_OPS2,s=n.INTERVAL_OPS,c=v.line;O.exports=r({z:u.z,x:u.x,x0:u.x0,dx:u.dx,y:u.y,y0:u.y0,dy:u.dy,xperiod:u.xperiod,yperiod:u.yperiod,xperiod0:v.xperiod0,yperiod0:v.yperiod0,xperiodalignment:u.xperiodalignment,yperiodalignment:u.yperiodalignment,text:u.text,hovertext:u.hovertext,transpose:u.transpose,xtype:u.xtype,ytype:u.ytype,xhoverformat:S("x"),yhoverformat:S("y"),zhoverformat:S("z",1),hovertemplate:u.hovertemplate,hovertemplatefallback:u.hovertemplatefallback,texttemplate:r({},u.texttemplate,{}),texttemplatefallback:u.texttemplatefallback,textfont:r({},u.textfont,{}),hoverongaps:u.hoverongaps,connectgaps:r({},u.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:a({editType:"plot",colorEditType:"style"}),labelformat:{valType:"string",dflt:"",editType:"plot",description:l("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:r({},c.color,{editType:"style+colorbars"}),width:{valType:"number",min:0,editType:"style+colorbars"},dash:t,smoothing:r({},c.smoothing,{}),editType:"plot"},zorder:v.zorder},e("",{cLetter:"z",autoColorDflt:!1,editTypeOverride:"calc"}))}}),wb=xe({"src/traces/histogram2dcontour/attributes.js"(U,O){"use strict";var u=Dg(),v=w0(),w=pl(),S=Kl().axisHoverFormat,l=oo().extendFlat;O.exports=l({x:u.x,y:u.y,z:u.z,marker:u.marker,histnorm:u.histnorm,histfunc:u.histfunc,nbinsx:u.nbinsx,xbins:u.xbins,nbinsy:u.nbinsy,ybins:u.ybins,autobinx:u.autobinx,autobiny:u.autobiny,bingroup:u.bingroup,xbingroup:u.xbingroup,ybingroup:u.ybingroup,autocontour:v.autocontour,ncontours:v.ncontours,contours:v.contours,line:{color:v.line.color,width:l({},v.line.width,{dflt:.5}),dash:v.line.dash,smoothing:v.line.smoothing,editType:"plot"},xhoverformat:S("x"),yhoverformat:S("y"),zhoverformat:S("z",1),hovertemplate:u.hovertemplate,hovertemplatefallback:u.hovertemplatefallback,texttemplate:v.texttemplate,texttemplatefallback:v.texttemplatefallback,textfont:v.textfont},w("",{cLetter:"z",editTypeOverride:"calc"}))}}),Fg=xe({"src/traces/contour/contours_defaults.js"(U,O){"use strict";O.exports=function(v,w,S,l){var e=l("contours.start"),t=l("contours.end"),a=e===!1||t===!1,r=S("contours.size"),n;a?n=w.autocontour=!0:n=S("autocontour",!1),(n||!r)&&S("ncontours")}}}),Tb=xe({"src/traces/contour/label_defaults.js"(U,O){"use strict";var u=Sr();O.exports=function(w,S,l,e){e||(e={});var t=w("contours.showlabels");if(t){var a=S.font;u.coerceFont(w,"contours.labelfont",a,{overrideDflt:{color:l}}),w("contours.labelformat")}e.hasHover!==!1&&w("zhoverformat")}}}),zg=xe({"src/traces/contour/style_defaults.js"(U,O){"use strict";var u=Fc(),v=Tb();O.exports=function(S,l,e,t,a){var r=e("contours.coloring"),n,i="";r==="fill"&&(n=e("contours.showlines")),n!==!1&&(r!=="lines"&&(i=e("line.color","#000")),e("line.width",.5),e("line.dash")),r!=="none"&&(S.showlegend!==!0&&(l.showlegend=!1),l._dfltShowLegend=!1,u(S,l,t,e,{prefix:"",cLetter:"z"})),e("line.smoothing"),v(e,t,i,a)}}}),wM=xe({"src/traces/histogram2dcontour/defaults.js"(U,O){"use strict";var u=Sr(),v=xb(),w=Fg(),S=zg(),l=x0(),e=wb();O.exports=function(a,r,n,i){function s(p,f){return u.coerce(a,r,e,p,f)}function c(p){return u.coerce2(a,r,e,p)}v(a,r,s,i),r.visible!==!1&&(w(a,r,s,c),S(a,r,s,i),s("xhoverformat"),s("yhoverformat"),s("hovertemplate"),s("hovertemplatefallback"),r.contours&&r.contours.coloring==="heatmap"&&l(s,i))}}}),Ab=xe({"src/traces/contour/set_contours.js"(U,O){"use strict";var u=uo(),v=Sr();O.exports=function(l,e){var t=l.contours;if(l.autocontour){var a=l.zmin,r=l.zmax;(l.zauto||a===void 0)&&(a=v.aggNums(Math.min,null,e)),(l.zauto||r===void 0)&&(r=v.aggNums(Math.max,null,e));var n=w(a,r,l.ncontours);t.size=n.dtick,t.start=u.tickFirst(n),n.range.reverse(),t.end=u.tickFirst(n),t.start===a&&(t.start+=t.size),t.end===r&&(t.end-=t.size),t.start>t.end&&(t.start=t.end=(t.start+t.end)/2),l._input.contours||(l._input.contours={}),v.extendFlat(l._input.contours,{start:t.start,end:t.end,size:t.size}),l._input.autocontour=!0}else if(t.type!=="constraint"){var i=t.start,s=t.end,c=l._input.contours;if(i>s&&(t.start=c.start=s,s=t.end=c.end=i,i=t.start),!(t.size>0)){var p;i===s?p=1:p=w(i,s,l.ncontours).dtick,c.size=t.size=p}}};function w(S,l,e){var t={type:"linear",range:[S,l]};return u.autoTicks(t,(l-S)/(e||15)),t}}}),T0=xe({"src/traces/contour/end_plus.js"(U,O){"use strict";O.exports=function(v){return v.end+v.size/1e6}}}),Mb=xe({"src/traces/contour/calc.js"(U,O){"use strict";var u=Bl(),v=Sg(),w=Ab(),S=T0();O.exports=function(e,t){var a=v(e,t),r=a[0].z;w(t,r);var n=t.contours,i=u.extractOpts(t),s;if(n.coloring==="heatmap"&&i.auto&&t.autocontour===!1){var c=n.start,p=S(n),f=n.size||1,d=Math.floor((p-c)/f)+1;isFinite(f)||(f=1,d=1);var y=c-f/2,o=y+d*f;s=[y,o]}else s=r;return u.calc(e,t,{vals:s,cLetter:"z"}),a}}}),A0=xe({"src/traces/contour/constants.js"(U,O){"use strict";O.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}}}}),Sb=xe({"src/traces/contour/make_crossings.js"(U,O){"use strict";var u=A0();O.exports=function(S){var l=S[0].z,e=l.length,t=l[0].length,a=e===2||t===2,r,n,i,s,c,p,f,d,y;for(n=0;nw?0:1)+(S[0][1]>w?0:2)+(S[1][1]>w?0:4)+(S[1][0]>w?0:8);if(l===5||l===10){var e=(S[0][0]+S[0][1]+S[1][0]+S[1][1])/4;return w>e?l===5?713:1114:l===5?104:208}return l===15?0:l}}}),Eb=xe({"src/traces/contour/find_all_paths.js"(U,O){"use strict";var u=Sr(),v=A0();O.exports=function(r,n,i){var s,c,p,f,d;for(n=n||.01,i=i||.01,p=0;p20?(p=v.CHOOSESADDLE[p][(f[0]||f[1])<0?0:1],a.crossings[c]=v.SADDLEREMAINDER[p]):delete a.crossings[c],f=v.NEWDELTA[p],!f){u.log("Found bad marching index:",p,r,a.level);break}d.push(t(a,r,f)),r[0]+=f[0],r[1]+=f[1],c=r.join(","),w(d[d.length-1],d[d.length-2],i,s)&&d.pop();var E=f[0]&&(r[0]<0||r[0]>o-2)||f[1]&&(r[1]<0||r[1]>y-2),g=r[0]===b[0]&&r[1]===b[1]&&f[0]===M[0]&&f[1]===M[1];if(g||n&&E)break;p=a.crossings[c]}A===1e4&&u.log("Infinite loop in contour?");var T=w(d[0],d[d.length-1],i,s),m=0,h=.2*a.smoothing,x=[],_=0,D,C,F,I,z,R,k,B,N,q,Y;for(A=1;A=_;A--)if(D=x[A],D=_&&D+x[C]B&&N--,a.edgepaths[N]=Y.concat(d,q));break}j||(a.edgepaths[B]=d.concat(q))}for(B=0;B20&&r?a===208||a===1114?i=n[0]===0?1:-1:s=n[1]===0?1:-1:v.BOTTOMSTART.indexOf(a)!==-1?s=1:v.LEFTSTART.indexOf(a)!==-1?i=1:v.TOPSTART.indexOf(a)!==-1?s=-1:i=-1,[i,s]}function t(a,r,n){var i=r[0]+Math.max(n[0],0),s=r[1]+Math.max(n[1],0),c=a.z[s][i],p=a.xaxis,f=a.yaxis;if(n[1]){var d=(a.level-c)/(a.z[s][i+1]-c),y=(d!==1?(1-d)*p.c2l(a.x[i]):0)+(d!==0?d*p.c2l(a.x[i+1]):0);return[p.c2p(p.l2c(y),!0),f.c2p(a.y[s],!0),i+d,s]}else{var o=(a.level-c)/(a.z[s+1][i]-c),b=(o!==1?(1-o)*f.c2l(a.y[s]):0)+(o!==0?o*f.c2l(a.y[s+1]):0);return[p.c2p(a.x[i],!0),f.c2p(f.l2c(b),!0),i,s+o]}}}}),TM=xe({"src/traces/contour/constraint_mapping.js"(U,O){"use strict";var u=Rg(),v=yn();O.exports={"[]":S("[]"),"][":S("]["),">":l(">"),"<":l("<"),"=":l("=")};function w(e,t){var a=Array.isArray(t),r;function n(i){return v(i)?+i:null}return u.COMPARISON_OPS2.indexOf(e)!==-1?r=n(a?t[0]:t):u.INTERVAL_OPS.indexOf(e)!==-1?r=a?[n(t[0]),n(t[1])]:[n(t),n(t)]:u.SET_OPS.indexOf(e)!==-1&&(r=a?t.map(n):[n(t)]),r}function S(e){return function(t){t=w(e,t);var a=Math.min(t[0],t[1]),r=Math.max(t[0],t[1]);return{start:a,end:r,size:r-a}}}function l(e){return function(t){return t=w(e,t),{start:t,end:1/0,size:1/0}}}}}),kb=xe({"src/traces/contour/empty_pathinfo.js"(U,O){"use strict";var u=Sr(),v=TM(),w=T0();O.exports=function(l,e,t){for(var a=l.type==="constraint"?v[l._operation](l.value):l,r=a.size,n=[],i=w(a),s=t.trace._carpetTrace,c=s?{xaxis:s.aaxis,yaxis:s.baxis,x:t.a,y:t.b}:{xaxis:e.xaxis,yaxis:e.yaxis,x:t.x,y:t.y},p=a.start;p1e3){u.warn("Too many contours, clipping at 1000",l);break}return n}}}),Cb=xe({"src/traces/contour/convert_to_constraints.js"(U,O){"use strict";var u=Sr();O.exports=function(w,S){var l,e,t,a=function(i){return i.reverse()},r=function(i){return i};switch(S){case"=":case"<":return w;case">":for(w.length!==1&&u.warn("Contour data invalid for the specified inequality operation."),e=w[0],l=0;lt.level||t.starts.length&&e===t.level)}break;case"constraint":if(w.prefixBoundary=!1,w.edgepaths.length)return;var a=w.x.length,r=w.y.length,n=-1/0,i=1/0;for(l=0;l":s>n&&(w.prefixBoundary=!0);break;case"<":(sn||w.starts.length&&p===i)&&(w.prefixBoundary=!0);break;case"][":c=Math.min(s[0],s[1]),p=Math.max(s[0],s[1]),cn&&(w.prefixBoundary=!0);break}break}}}}),Bg=xe({"src/traces/contour/plot.js"(U){"use strict";var O=Na(),u=Sr(),v=go(),w=Bl(),S=el(),l=uo(),e=Oh(),t=kg(),a=Sb(),r=Eb(),n=kb(),i=Cb(),s=Lb(),c=A0(),p=c.LABELOPTIMIZER;U.plot=function(g,T,m,h){var x=T.xaxis,_=T.yaxis;u.makeTraceGroups(h,m,"contour").each(function(D){var C=O.select(this),F=D[0],I=F.trace,z=F.x,R=F.y,k=I.contours,B=n(k,T,F),N=u.ensureSingle(C,"g","heatmapcoloring"),q=[];k.coloring==="heatmap"&&(q=[D]),t(g,T,q,N),a(B),r(B);var Y=x.c2p(z[0],!0),ee=x.c2p(z[z.length-1],!0),te=_.c2p(R[0],!0),ae=_.c2p(R[R.length-1],!0),j=[[Y,ae],[ee,ae],[ee,te],[Y,te]],G=B;k.type==="constraint"&&(G=i(B,k._operation)),f(C,j,k),d(C,G,j,k),o(C,B,g,F,k),M(C,T,g,F,j)})};function f(E,g,T){var m=u.ensureSingle(E,"g","contourbg"),h=m.selectAll("path").data(T.coloring==="fill"?[0]:[]);h.enter().append("path"),h.exit().remove(),h.attr("d","M"+g.join("L")+"Z").style("stroke","none")}function d(E,g,T,m){var h=m.coloring==="fill"||m.type==="constraint"&&m._operation!=="=",x="M"+T.join("L")+"Z";h&&s(g,m);var _=u.ensureSingle(E,"g","contourfill"),D=_.selectAll("path").data(h?g:[]);D.enter().append("path"),D.exit().remove(),D.each(function(C){var F=(C.prefixBoundary?x:"")+y(C,T);F?O.select(this).attr("d",F).style("stroke","none"):O.select(this).remove()})}function y(E,g){var T="",m=0,h=E.edgepaths.map(function(Y,ee){return ee}),x=!0,_,D,C,F,I,z;function R(Y){return Math.abs(Y[1]-g[0][1])<.01}function k(Y){return Math.abs(Y[1]-g[2][1])<.01}function B(Y){return Math.abs(Y[0]-g[0][0])<.01}function N(Y){return Math.abs(Y[0]-g[2][0])<.01}for(;h.length;){for(z=v.smoothopen(E.edgepaths[m],E.smoothing),T+=x?z:z.replace(/^M/,"L"),h.splice(h.indexOf(m),1),_=E.edgepaths[m][E.edgepaths[m].length-1],F=-1,C=0;C<4;C++){if(!_){u.log("Missing end?",m,E);break}for(R(_)&&!N(_)?D=g[1]:B(_)?D=g[0]:k(_)?D=g[3]:N(_)&&(D=g[2]),I=0;I=0&&(D=q,F=I):Math.abs(_[1]-D[1])<.01?Math.abs(_[1]-q[1])<.01&&(q[0]-_[0])*(D[0]-q[0])>=0&&(D=q,F=I):u.log("endpt to newendpt is not vert. or horz.",_,D,q)}if(_=D,F>=0)break;T+="L"+D}if(F===E.edgepaths.length){u.log("unclosed perimeter path");break}m=F,x=h.indexOf(m)===-1,x&&(m=h[0],T+="Z")}for(m=0;mp.MAXCOST*2)break;R&&(D/=2),_=F-D/2,C=_+D*1.5}if(z<=p.MAXCOST)return I};function b(E,g,T,m){var h=g.width/2,x=g.height/2,_=E.x,D=E.y,C=E.theta,F=Math.cos(C)*h,I=Math.sin(C)*h,z=(_>m.center?m.right-_:_-m.left)/(F+Math.abs(Math.sin(C)*x)),R=(D>m.middle?m.bottom-D:D-m.top)/(Math.abs(I)+Math.cos(C)*x);if(z<1||R<1)return 1/0;var k=p.EDGECOST*(1/(z-1)+1/(R-1));k+=p.ANGLECOST*C*C;for(var B=_-F,N=D-I,q=_+F,Y=D+I,ee=0;ee=M)&&(t<=b&&(t=b),a>=M&&(a=M),n=Math.floor((a-t)/r)+1,i=0),o=0;ob&&(f.unshift(b),d.unshift(d[0])),f[f.length-1]2?s.value=s.value.slice(2):s.length===0?s.value=[0,1]:s.length<2?(c=parseFloat(s.value[0]),s.value=[c,c+1]):s.value=[parseFloat(s.value[0]),parseFloat(s.value[1])]:u(s.value)&&(c=parseFloat(s.value),s.value=[c,c+1])):(i("contours.value",0),u(s.value)||(t(s.value)?s.value=parseFloat(s.value[0]):s.value=0))}}}),SM=xe({"src/traces/contour/defaults.js"(U,O){"use strict";var u=Sr(),v=xg(),w=Sh(),S=Db(),l=Fg(),e=zg(),t=x0(),a=w0();O.exports=function(n,i,s,c){function p(o,b){return u.coerce(n,i,a,o,b)}function f(o){return u.coerce2(n,i,a,o)}var d=v(n,i,p,c);if(!d){i.visible=!1;return}w(n,i,c,p),p("xhoverformat"),p("yhoverformat"),p("text"),p("hovertext"),p("hoverongaps"),p("hovertemplate"),p("hovertemplatefallback");var y=p("contours.type")==="constraint";p("connectgaps",u.isArray1D(i.z)),y?S(n,i,p,c,s):(l(n,i,p,f),e(n,i,p,c)),i.contours&&i.contours.coloring==="heatmap"&&t(p,c),p("zorder")}}}),EM=xe({"src/traces/contour/index.js"(U,O){"use strict";O.exports={attributes:w0(),supplyDefaults:SM(),calc:Mb(),plot:Bg().plot,style:Ng(),colorbar:Og(),hoverPoints:Ib(),moduleType:"trace",name:"contour",basePlotModule:Nu(),categories:["cartesian","svg","2dMap","contour","showLegend"],meta:{}}}}),kM=xe({"lib/contour.js"(U,O){"use strict";O.exports=EM()}}),Rb=xe({"src/traces/scatterternary/attributes.js"(U,O){"use strict";var{hovertemplateAttrs:u,texttemplateAttrs:v,templatefallbackAttrs:w}=js(),S=qh(),l=wu(),e=Rs(),t=pl(),a=Rc().dash,r=oo().extendFlat,n=l.marker,i=l.line,s=n.line;O.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:r({},l.mode,{dflt:"markers"}),text:r({},l.text,{}),texttemplate:v({editType:"plot"},{keys:["a","b","c","text"]}),texttemplatefallback:w({editType:"plot"}),hovertext:r({},l.hovertext,{}),line:{color:i.color,width:i.width,dash:a,backoff:i.backoff,shape:r({},i.shape,{values:["linear","spline"]}),smoothing:i.smoothing,editType:"calc"},connectgaps:l.connectgaps,cliponaxis:l.cliponaxis,fill:r({},l.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:S(),marker:r({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:r({width:s.width,dash:s.dash,editType:"calc"},t("marker.line")),gradient:n.gradient,editType:"calc"},t("marker")),textfont:l.textfont,textposition:l.textposition,selected:l.selected,unselected:l.unselected,hoverinfo:r({},e.hoverinfo,{flags:["a","b","c","text","name"]}),hoveron:l.hoveron,hovertemplate:u(),hovertemplatefallback:w()}}}),CM=xe({"src/traces/scatterternary/defaults.js"(U,O){"use strict";var u=Sr(),v=jh(),w=Cl(),S=hh(),l=Eh(),e=cp(),t=kh(),a=Vh(),r=Rb();O.exports=function(i,s,c,p){function f(E,g){return u.coerce(i,s,r,E,g)}var d=f("a"),y=f("b"),o=f("c"),b;if(d?(b=d.length,y?(b=Math.min(b,y.length),o&&(b=Math.min(b,o.length))):o?b=Math.min(b,o.length):b=0):y&&o&&(b=Math.min(y.length,o.length)),!b){s.visible=!1;return}s._length=b,f("sum"),f("text"),f("hovertext"),s.hoveron!=="fills"&&(f("hovertemplate"),f("hovertemplatefallback"));var M=b"),a.hovertemplate=p.hovertemplate,t}}}),RM=xe({"src/traces/scatterternary/event_data.js"(U,O){"use strict";O.exports=function(v,w,S,l,e){if(w.xa&&(v.xaxis=w.xa),w.ya&&(v.yaxis=w.ya),l[e]){var t=l[e];v.a=t.a,v.b=t.b,v.c=t.c}else v.a=w.a,v.b=w.b,v.c=w.c;return v}}}),FM=xe({"src/plots/ternary/ternary.js"(U,O){"use strict";var u=Na(),v=Ci(),w=Sr(),S=w.strTranslate,l=w._,e=wi(),t=go(),a=Oh(),r=oo().extendFlat,n=zl(),i=uo(),s=Bf(),c=hu(),p=Uh(),f=p.freeMode,d=p.rectMode,y=gv(),o=yc().prepSelect,b=yc().selectOnClick,M=yc().clearOutline,A=yc().clearSelectionsCache,E=lc();function g(R,k){this.id=R.id,this.graphDiv=R.graphDiv,this.init(k),this.makeFramework(k),this.updateFx(k),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}O.exports=g;var T=g.prototype;T.init=function(R){this.container=R._ternarylayer,this.defs=R._defs,this.layoutId=R._uid,this.traceHash={},this.layers={}},T.plot=function(R,k){var B=this,N=k[B.id],q=k._size;B._hasClipOnAxisFalse=!1;for(var Y=0;Ym*j?(re=j,Q=re*m):(Q=ae,re=Q/m),ue=ee*Q/ae,pe=te*re/j,X=k.l+k.w*q-Q/2,$=k.t+k.h*(1-Y)-re/2,B.x0=X,B.y0=$,B.w=Q,B.h=re,B.sum=G,B.xaxis={type:"linear",range:[K+2*Z-G,G-K-2*H],domain:[q-ue/2,q+ue/2],_id:"x"},a(B.xaxis,B.graphDiv._fullLayout),B.xaxis.setScale(),B.xaxis.isPtWithinRange=function(ne){return ne.a>=B.aaxis.range[0]&&ne.a<=B.aaxis.range[1]&&ne.b>=B.baxis.range[1]&&ne.b<=B.baxis.range[0]&&ne.c>=B.caxis.range[1]&&ne.c<=B.caxis.range[0]},B.yaxis={type:"linear",range:[K,G-H-Z],domain:[Y-pe/2,Y+pe/2],_id:"y"},a(B.yaxis,B.graphDiv._fullLayout),B.yaxis.setScale(),B.yaxis.isPtWithinRange=function(){return!0};var ge=B.yaxis.domain[0],Te=B.aaxis=r({},R.aaxis,{range:[K,G-H-Z],side:"left",tickangle:(+R.aaxis.tickangle||0)-30,domain:[ge,ge+pe*m],anchor:"free",position:0,_id:"y",_length:Q});a(Te,B.graphDiv._fullLayout),Te.setScale();var Se=B.baxis=r({},R.baxis,{range:[G-K-Z,H],side:"bottom",domain:B.xaxis.domain,anchor:"free",position:0,_id:"x",_length:Q});a(Se,B.graphDiv._fullLayout),Se.setScale();var Ce=B.caxis=r({},R.caxis,{range:[G-K-H,Z],side:"right",tickangle:(+R.caxis.tickangle||0)+30,domain:[ge,ge+pe*m],anchor:"free",position:0,_id:"y",_length:Q});a(Ce,B.graphDiv._fullLayout),Ce.setScale();var Ue="M"+X+","+($+re)+"h"+Q+"l-"+Q/2+",-"+re+"Z";B.clipDef.select("path").attr("d",Ue),B.layers.plotbg.select("path").attr("d",Ue);var Oe="M0,"+re+"h"+Q+"l-"+Q/2+",-"+re+"Z";B.clipDefRelative.select("path").attr("d",Oe);var _e=S(X,$);B.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",_e),B.clipDefRelative.select("path").attr("transform",null);var ce=S(X-Se._offset,$+re);B.layers.baxis.attr("transform",ce),B.layers.bgrid.attr("transform",ce);var ie=S(X+Q/2,$)+"rotate(30)"+S(0,-Te._offset);B.layers.aaxis.attr("transform",ie),B.layers.agrid.attr("transform",ie);var se=S(X+Q/2,$)+"rotate(-30)"+S(0,-Ce._offset);B.layers.caxis.attr("transform",se),B.layers.cgrid.attr("transform",se),B.drawAxes(!0),B.layers.aline.select("path").attr("d",Te.showline?"M"+X+","+($+re)+"l"+Q/2+",-"+re:"M0,0").call(e.stroke,Te.linecolor||"#000").style("stroke-width",(Te.linewidth||0)+"px"),B.layers.bline.select("path").attr("d",Se.showline?"M"+X+","+($+re)+"h"+Q:"M0,0").call(e.stroke,Se.linecolor||"#000").style("stroke-width",(Se.linewidth||0)+"px"),B.layers.cline.select("path").attr("d",Ce.showline?"M"+(X+Q/2)+","+$+"l"+Q/2+","+re:"M0,0").call(e.stroke,Ce.linecolor||"#000").style("stroke-width",(Ce.linewidth||0)+"px"),B.graphDiv._context.staticPlot||B.initInteractions(),t.setClipUrl(B.layers.frontplot,B._hasClipOnAxisFalse?null:B.clipId,B.graphDiv)},T.drawAxes=function(R){var k=this,B=k.graphDiv,N=k.id.slice(7)+"title",q=k.layers,Y=k.aaxis,ee=k.baxis,te=k.caxis;if(k.drawAx(Y),k.drawAx(ee),k.drawAx(te),R){var ae=Math.max(Y.showticklabels?Y.tickfont.size/2:0,(te.showticklabels?te.tickfont.size*.75:0)+(te.ticks==="outside"?te.ticklen*.87:0)),j=(ee.showticklabels?ee.tickfont.size:0)+(ee.ticks==="outside"?ee.ticklen:0)+3;q["a-title"]=y.draw(B,"a"+N,{propContainer:Y,propName:k.id+".aaxis.title.text",placeholder:l(B,"Click to enter Component A title"),attributes:{x:k.x0+k.w/2,y:k.y0-Y.title.font.size/3-ae,"text-anchor":"middle"}}),q["b-title"]=y.draw(B,"b"+N,{propContainer:ee,propName:k.id+".baxis.title.text",placeholder:l(B,"Click to enter Component B title"),attributes:{x:k.x0-j,y:k.y0+k.h+ee.title.font.size*.83+j,"text-anchor":"middle"}}),q["c-title"]=y.draw(B,"c"+N,{propContainer:te,propName:k.id+".caxis.title.text",placeholder:l(B,"Click to enter Component C title"),attributes:{x:k.x0+k.w+j,y:k.y0+k.h+te.title.font.size*.83+j,"text-anchor":"middle"}})}},T.drawAx=function(R){var k=this,B=k.graphDiv,N=R._name,q=N.charAt(0),Y=R._id,ee=k.layers[N],te=30,ae=q+"tickLayout",j=h(R);k[ae]!==j&&(ee.selectAll("."+Y+"tick").remove(),k[ae]=j),R.setScale();var G=i.calcTicks(R),K=i.clipEnds(R,G),H=i.makeTransTickFn(R),Z=i.getTickSigns(R)[2],X=w.deg2rad(te),$=Z*(R.linewidth||1)/2,Q=Z*R.ticklen,re=k.w,ue=k.h,pe=q==="b"?"M0,"+$+"l"+Math.sin(X)*Q+","+Math.cos(X)*Q:"M"+$+",0l"+Math.cos(X)*Q+","+-Math.sin(X)*Q,ge={a:"M0,0l"+ue+",-"+re/2,b:"M0,0l-"+re/2+",-"+ue,c:"M0,0l-"+ue+","+re/2}[q];i.drawTicks(B,R,{vals:R.ticks==="inside"?K:G,layer:ee,path:pe,transFn:H,crisp:!1}),i.drawGrid(B,R,{vals:K,layer:k.layers[q+"grid"],path:ge,transFn:H,crisp:!1}),i.drawLabels(B,R,{vals:G,layer:ee,transFn:H,labelFns:i.makeLabelFns(R,0,te)})};function h(R){return R.ticks+String(R.ticklen)+String(R.showticklabels)}var x=E.MINZOOM/2+.87,_="m-0.87,.5h"+x+"v3h-"+(x+5.2)+"l"+(x/2+2.6)+",-"+(x*.87+4.5)+"l2.6,1.5l-"+x/2+","+x*.87+"Z",D="m0.87,.5h-"+x+"v3h"+(x+5.2)+"l-"+(x/2+2.6)+",-"+(x*.87+4.5)+"l-2.6,1.5l"+x/2+","+x*.87+"Z",C="m0,1l"+x/2+","+x*.87+"l2.6,-1.5l-"+(x/2+2.6)+",-"+(x*.87+4.5)+"l-"+(x/2+2.6)+","+(x*.87+4.5)+"l2.6,1.5l"+x/2+",-"+x*.87+"Z",F="m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z",I=!0;T.clearOutline=function(){A(this.dragOptions),M(this.dragOptions.gd)},T.initInteractions=function(){var R=this,k=R.layers.plotbg.select("path").node(),B=R.graphDiv,N=B._fullLayout._zoomlayer,q,Y;this.dragOptions={element:k,gd:B,plotinfo:{id:R.id,domain:B._fullLayout[R.id].domain,xaxis:R.xaxis,yaxis:R.yaxis},subplot:R.id,prepFn:function(ce,ie,se){R.dragOptions.xaxes=[R.xaxis],R.dragOptions.yaxes=[R.yaxis],q=B._fullLayout._invScaleX,Y=B._fullLayout._invScaleY;var ne=R.dragOptions.dragmode=B._fullLayout.dragmode;f(ne)?R.dragOptions.minDrag=1:R.dragOptions.minDrag=void 0,ne==="zoom"?(R.dragOptions.moveFn=Se,R.dragOptions.clickFn=re,R.dragOptions.doneFn=Ce,ue(ce,ie,se)):ne==="pan"?(R.dragOptions.moveFn=Oe,R.dragOptions.clickFn=re,R.dragOptions.doneFn=_e,Ue(),R.clearOutline(B)):(d(ne)||f(ne))&&o(ce,ie,se,R.dragOptions,ne)}};var ee,te,ae,j,G,K,H,Z,X,$;function Q(ce){var ie={};return ie[R.id+".aaxis.min"]=ce.a,ie[R.id+".baxis.min"]=ce.b,ie[R.id+".caxis.min"]=ce.c,ie}function re(ce,ie){var se=B._fullLayout.clickmode;z(B),ce===2&&(B.emit("plotly_doubleclick",null),v.call("_guiRelayout",B,Q({a:0,b:0,c:0}))),se.indexOf("select")>-1&&ce===1&&b(ie,B,[R.xaxis],[R.yaxis],R.id,R.dragOptions),se.indexOf("event")>-1&&c.click(B,ie,R.id)}function ue(ce,ie,se){var ne=k.getBoundingClientRect();ee=ie-ne.left,te=se-ne.top,B._fullLayout._calcInverseTransform(B);var be=B._fullLayout._invTransform,De=w.apply3DTransform(be)(ee,te);ee=De[0],te=De[1],ae={a:R.aaxis.range[0],b:R.baxis.range[1],c:R.caxis.range[1]},G=ae,j=R.aaxis.range[1]-ae.a,K=e.color(R.graphDiv._fullLayout[R.id].bgcolor).luminosity(),H="M0,"+R.h+"L"+R.w/2+", 0L"+R.w+","+R.h+"Z",Z=!1,X=N.append("path").attr("class","zoombox").attr("transform",S(R.x0,R.y0)).style({fill:K>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",H),$=N.append("path").attr("class","zoombox-corners").attr("transform",S(R.x0,R.y0)).style({fill:e.background,stroke:e.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),R.clearOutline(B)}function pe(ce,ie){return 1-ie/R.h}function ge(ce,ie){return 1-(ce+(R.h-ie)/Math.sqrt(3))/R.w}function Te(ce,ie){return(ce-(R.h-ie)/Math.sqrt(3))/R.w}function Se(ce,ie){var se=ee+ce*q,ne=te+ie*Y,be=Math.max(0,Math.min(1,pe(ee,te),pe(se,ne))),De=Math.max(0,Math.min(1,ge(ee,te),ge(se,ne))),qe=Math.max(0,Math.min(1,Te(ee,te),Te(se,ne))),Ne=(be/2+qe)*R.w,ut=(1-be/2-De)*R.w,ot=(Ne+ut)/2,yt=ut-Ne,At=(1-be)*R.h,It=At-yt/m;yt.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),$.transition().style("opacity",1).duration(200),Z=!0),B.emit("plotly_relayouting",Q(G))}function Ce(){z(B),G!==ae&&(v.call("_guiRelayout",B,Q(G)),I&&B.data&&B._context.showTips&&(w.notifier(l(B,"Double-click to zoom back out"),"long",B),I=!1))}function Ue(){ae={a:R.aaxis.range[0],b:R.baxis.range[1],c:R.caxis.range[1]},G=ae}function Oe(ce,ie){var se=ce/R.xaxis._m,ne=ie/R.yaxis._m;G={a:ae.a-ne,b:ae.b+(se+ne)/2,c:ae.c-(se-ne)/2};var be=[G.a,G.b,G.c].sort(w.sorterAsc),De={a:be.indexOf(G.a),b:be.indexOf(G.b),c:be.indexOf(G.c)};be[0]<0&&(be[1]+be[0]/2<0?(be[2]+=be[0]+be[1],be[0]=be[1]=0):(be[2]+=be[0]/2,be[1]+=be[0]/2,be[0]=0),G={a:be[De.a],b:be[De.b],c:be[De.c]},ie=(ae.a-G.a)*R.yaxis._m,ce=(ae.c-G.c-ae.b+G.b)*R.xaxis._m);var qe=S(R.x0+ce,R.y0+ie);R.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",qe);var Ne=S(-ce,-ie);R.clipDefRelative.select("path").attr("transform",Ne),R.aaxis.range=[G.a,R.sum-G.b-G.c],R.baxis.range=[R.sum-G.a-G.c,G.b],R.caxis.range=[R.sum-G.a-G.b,G.c],R.drawAxes(!1),R._hasClipOnAxisFalse&&R.plotContainer.select(".scatterlayer").selectAll(".trace").call(t.hideOutsideRangePoints,R),B.emit("plotly_relayouting",Q(G))}function _e(){v.call("_guiRelayout",B,Q(G))}k.onmousemove=function(ce){c.hover(B,ce,R.id),B._fullLayout._lasthover=k,B._fullLayout._hoversubplot=R.id},k.onmouseout=function(ce){B._dragging||s.unhover(B,ce)},s.init(this.dragOptions)};function z(R){u.select(R).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}}}),Fb=xe({"src/plots/ternary/layout_attributes.js"(U,O){"use strict";var u=sc(),v=Gl().attributes,w=$c(),S=Hl().overrideAll,l=oo().extendFlat,e={title:{text:w.title.text,font:w.title.font},color:w.color,tickmode:w.minor.tickmode,nticks:l({},w.nticks,{dflt:6,min:1}),tick0:w.tick0,dtick:w.dtick,tickvals:w.tickvals,ticktext:w.ticktext,ticks:w.ticks,ticklen:w.ticklen,tickwidth:w.tickwidth,tickcolor:w.tickcolor,ticklabelstep:w.ticklabelstep,showticklabels:w.showticklabels,labelalias:w.labelalias,showtickprefix:w.showtickprefix,tickprefix:w.tickprefix,showticksuffix:w.showticksuffix,ticksuffix:w.ticksuffix,showexponent:w.showexponent,exponentformat:w.exponentformat,minexponent:w.minexponent,separatethousands:w.separatethousands,tickfont:w.tickfont,tickangle:w.tickangle,tickformat:w.tickformat,tickformatstops:w.tickformatstops,hoverformat:w.hoverformat,showline:l({},w.showline,{dflt:!0}),linecolor:w.linecolor,linewidth:w.linewidth,showgrid:l({},w.showgrid,{dflt:!0}),gridcolor:w.gridcolor,gridwidth:w.gridwidth,griddash:w.griddash,layer:w.layer,min:{valType:"number",dflt:0,min:0}},t=O.exports=S({domain:v({name:"ternary"}),bgcolor:{valType:"color",dflt:u.background},sum:{valType:"number",dflt:1,min:0},aaxis:e,baxis:e,caxis:e},"plot","from-root");t.uirevision={valType:"any",editType:"none"},t.aaxis.uirevision=t.baxis.uirevision=t.caxis.uirevision={valType:"any",editType:"none"}}}),Av=xe({"src/plots/subplot_defaults.js"(U,O){"use strict";var u=Sr(),v=Cs(),w=Gl().defaults;O.exports=function(l,e,t,a){var r=a.type,n=a.attributes,i=a.handleDefaults,s=a.partition||"x",c=e._subplots[r],p=c.length,f=p&&c[0].replace(/\d+$/,""),d,y;function o(E,g){return u.coerce(d,y,n,E,g)}for(var b=0;b=b&&(T.min=0,m.min=0,h.min=0,p.aaxis&&delete p.aaxis.min,p.baxis&&delete p.baxis.min,p.caxis&&delete p.caxis.min)}function c(p,f,d,y){var o=n[f._name];function b(x,_){return w.coerce(p,f,o,x,_)}b("uirevision",y.uirevision),f.type="linear";var M=b("color"),A=M!==o.color.dflt?M:d.font.color,E=f._name,g=E.charAt(0).toUpperCase(),T="Component "+g,m=b("title.text",T);f._hovertitle=m===T?m:g,w.coerceFont(b,"title.font",d.font,{overrideDflt:{size:w.bigFont(d.font.size),color:A}}),b("min"),a(p,f,b,"linear"),e(p,f,b,"linear"),l(p,f,b,"linear",{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0}),t(p,f,b,{outerTicks:!0});var h=b("showticklabels");h&&(w.coerceFont(b,"tickfont",d.font,{overrideDflt:{color:A}}),b("tickangle"),b("tickformat")),r(p,f,b,{dfltColor:M,bgColor:d.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:o}),b("hoverformat"),b("layer")}}}),BM=xe({"src/plots/ternary/index.js"(U){"use strict";var O=FM(),u=df().getSubplotCalcData,v=Sr().counterRegex,w="ternary";U.name=w;var S=U.attr="subplot";U.idRoot=w,U.idRegex=U.attrRegex=v(w);var l=U.attributes={};l[S]={valType:"subplotid",dflt:"ternary",editType:"calc"},U.layoutAttributes=Fb(),U.supplyLayoutDefaults=zM(),U.plot=function(t){for(var a=t._fullLayout,r=t.calcdata,n=a._subplots[w],i=0;i0){var E=t.xa,g=t.ya,T,m,h,x,_;p.orientation==="h"?(_=a,T="y",h=g,m="x",x=E):(_=r,T="x",h=E,m="y",x=g);var D=c[t.index];if(_>=D.span[0]&&_<=D.span[1]){var C=v.extendFlat({},t),F=x.c2p(_,!0),I=l.getKdeValue(D,p,_),z=l.getPositionOnKdePath(D,p,F),R=h._offset,k=h._length;C[T+"0"]=z[0],C[T+"1"]=z[1],C[m+"0"]=C[m+"1"]=F,C[m+"Label"]=m+": "+w.hoverLabelText(x,_,p[m+"hoverformat"])+", "+c[0].t.labels.kde+" "+I.toFixed(3);for(var B=0,N=0;N path").each(function(d){if(!d.isBlank){var y=f.marker;u.select(this).call(w.fill,d.mc||y.color).call(w.stroke,d.mlc||y.line.color).call(v.dashLine,y.line.dash,d.mlw||y.line.width).style("opacity",f.selectedpoints&&!d.selected?S:1)}}),t(p,f,r),p.selectAll(".regions").each(function(){u.select(this).selectAll("path").style("stroke-width",0).call(w.fill,f.connector.fillcolor)}),p.selectAll(".lines").each(function(){var d=f.connector.line;v.lineGroupStyle(u.select(this).selectAll("path"),d.width,d.color,d.dash)})})}O.exports={style:a}}}),rS=xe({"src/traces/funnel/hover.js"(U,O){"use strict";var u=wi().opacity,v=vp().hoverOnBars,w=Sr().formatPercent;O.exports=function(e,t,a,r,n){var i=v(e,t,a,r,n);if(i){var s=i.cd,c=s[0].trace,p=c.orientation==="h",f=i.index,d=s[f],y=p?"x":"y";i[y+"LabelVal"]=d.s,i.percentInitial=d.begR,i.percentInitialLabel=w(d.begR,1),i.percentPrevious=d.difR,i.percentPreviousLabel=w(d.difR,1),i.percentTotal=d.sumR,i.percentTotalLabel=w(d.sumR,1);var o=d.hi||c.hoverinfo,b=[];if(o&&o!=="none"&&o!=="skip"){var M=o==="all",A=o.split("+"),E=function(g){return M||A.indexOf(g)!==-1};E("percent initial")&&b.push(i.percentInitialLabel+" of initial"),E("percent previous")&&b.push(i.percentPreviousLabel+" of previous"),E("percent total")&&b.push(i.percentTotalLabel+" of total")}return i.extraText=b.join("
"),i.color=S(c,d),[i]}};function S(l,e){var t=l.marker,a=e.mc||t.color,r=e.mlc||t.line.color,n=e.mlw||t.line.width;if(u(a))return a;if(u(r)&&n)return r}}}),aS=xe({"src/traces/funnel/event_data.js"(U,O){"use strict";O.exports=function(v,w){return v.x="xVal"in w?w.xVal:w.x,v.y="yVal"in w?w.yVal:w.y,"percentInitial"in w&&(v.percentInitial=w.percentInitial),"percentPrevious"in w&&(v.percentPrevious=w.percentPrevious),"percentTotal"in w&&(v.percentTotal=w.percentTotal),w.xa&&(v.xaxis=w.xa),w.ya&&(v.yaxis=w.ya),v}}}),nS=xe({"src/traces/funnel/index.js"(U,O){"use strict";O.exports={attributes:Nb(),layoutAttributes:Ob(),supplyDefaults:Ub().supplyDefaults,crossTraceDefaults:Ub().crossTraceDefaults,supplyLayoutDefaults:ZM(),calc:JM(),crossTraceCalc:QM(),plot:eS(),style:tS().style,hoverPoints:rS(),eventData:aS(),selectPoints:pp(),moduleType:"trace",name:"funnel",basePlotModule:Nu(),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}}}),iS=xe({"lib/funnel.js"(U,O){"use strict";O.exports=nS()}}),oS=xe({"src/traces/waterfall/constants.js"(U,O){"use strict";O.exports={eventDataKeys:["initial","delta","final"]}}}),jb=xe({"src/traces/waterfall/attributes.js"(U,O){"use strict";var u=Gh(),v=wu().line,w=Rs(),S=Kl().axisHoverFormat,{hovertemplateAttrs:l,texttemplateAttrs:e,templatefallbackAttrs:t}=js(),a=oS(),r=oo().extendFlat,n=wi();function i(s){return{marker:{color:r({},u.marker.color,{arrayOk:!1,editType:"style"}),line:{color:r({},u.marker.line.color,{arrayOk:!1,editType:"style"}),width:r({},u.marker.line.width,{arrayOk:!1,editType:"style"}),editType:"style"},editType:"style"},editType:"style"}}O.exports={measure:{valType:"data_array",dflt:[],editType:"calc"},base:{valType:"number",dflt:null,arrayOk:!1,editType:"calc"},x:u.x,x0:u.x0,dx:u.dx,y:u.y,y0:u.y0,dy:u.dy,xperiod:u.xperiod,yperiod:u.yperiod,xperiod0:u.xperiod0,yperiod0:u.yperiod0,xperiodalignment:u.xperiodalignment,yperiodalignment:u.yperiodalignment,xhoverformat:S("x"),yhoverformat:S("y"),hovertext:u.hovertext,hovertemplate:l({},{keys:a.eventDataKeys}),hovertemplatefallback:t(),hoverinfo:r({},w.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:e({editType:"plot"},{keys:a.eventDataKeys.concat(["label"])}),texttemplatefallback:t({editType:"plot"}),text:u.text,textposition:u.textposition,insidetextanchor:u.insidetextanchor,textangle:u.textangle,textfont:u.textfont,insidetextfont:u.insidetextfont,outsidetextfont:u.outsidetextfont,constraintext:u.constraintext,cliponaxis:u.cliponaxis,orientation:u.orientation,offset:u.offset,width:u.width,increasing:i("increasing"),decreasing:i("decreasing"),totals:i("intermediate sums and total"),connector:{line:{color:r({},v.color,{dflt:n.defaultLine}),width:r({},v.width,{editType:"plot"}),dash:v.dash,editType:"plot"},mode:{valType:"enumerated",values:["spanning","between"],dflt:"between",editType:"plot"},visible:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},offsetgroup:u.offsetgroup,alignmentgroup:u.alignmentgroup,zorder:u.zorder}}}),qb=xe({"src/traces/waterfall/layout_attributes.js"(U,O){"use strict";O.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"}}}}),yp=xe({"src/constants/delta.js"(U,O){"use strict";O.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"\u25B2"},DECREASING:{COLOR:"#FF4136",SYMBOL:"\u25BC"}}}}),Vb=xe({"src/traces/waterfall/defaults.js"(U,O){"use strict";var u=Sr(),v=bv(),w=sh().handleText,S=_v(),l=Sh(),e=jb(),t=wi(),a=yp(),r=a.INCREASING.COLOR,n=a.DECREASING.COLOR,i="#4499FF";function s(f,d,y){f(d+".marker.color",y),f(d+".marker.line.color",t.defaultLine),f(d+".marker.line.width")}function c(f,d,y,o){function b(T,m){return u.coerce(f,d,e,T,m)}var M=S(f,d,o,b);if(!M){d.visible=!1;return}l(f,d,o,b),b("xhoverformat"),b("yhoverformat"),b("measure"),b("orientation",d.x&&!d.y?"h":"v"),b("base"),b("offset"),b("width"),b("text"),b("hovertext"),b("hovertemplate"),b("hovertemplatefallback");var A=b("textposition");w(f,d,o,b,A,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),d.textposition!=="none"&&(b("texttemplate"),b("texttemplatefallback"),d.texttemplate||b("textinfo")),s(b,"increasing",r),s(b,"decreasing",n),s(b,"totals",i);var E=b("connector.visible");if(E){b("connector.mode");var g=b("connector.line.width");g&&(b("connector.line.color"),b("connector.line.dash"))}b("zorder")}function p(f,d){var y,o;function b(A){return u.coerce(o._input,o,e,A)}if(d.waterfallmode==="group")for(var M=0;M0&&(b?_+="M"+h[0]+","+x[1]+"V"+x[0]:_+="M"+h[1]+","+x[0]+"H"+h[0]),M!=="between"&&(g.isSum||T path").each(function(d){if(!d.isBlank){var y=f[d.dir].marker;u.select(this).call(w.fill,y.color).call(w.stroke,y.line.color).call(v.dashLine,y.line.dash,y.line.width).style("opacity",f.selectedpoints&&!d.selected?S:1)}}),t(p,f,r),p.selectAll(".lines").each(function(){var d=f.connector.line;v.lineGroupStyle(u.select(this).selectAll("path"),d.width,d.color,d.dash)})})}O.exports={style:a}}}),hS=xe({"src/traces/waterfall/hover.js"(U,O){"use strict";var u=uo().hoverLabelText,v=wi().opacity,w=vp().hoverOnBars,S=yp(),l={increasing:S.INCREASING.SYMBOL,decreasing:S.DECREASING.SYMBOL};O.exports=function(a,r,n,i,s){var c=w(a,r,n,i,s);if(!c)return;var p=c.cd,f=p[0].trace,d=f.orientation==="h",y=d?"x":"y",o=d?a.xa:a.ya;function b(D){return u(o,D,f[y+"hoverformat"])}var M=c.index,A=p[M],E=A.isSum?A.b+A.s:A.rawS;c.initial=A.b+A.s-E,c.delta=E,c.final=c.initial+c.delta;var g=b(Math.abs(c.delta));c.deltaLabel=E<0?"("+g+")":g,c.finalLabel=b(c.final),c.initialLabel=b(c.initial);var T=A.hi||f.hoverinfo,m=[];if(T&&T!=="none"&&T!=="skip"){var h=T==="all",x=T.split("+"),_=function(D){return h||x.indexOf(D)!==-1};A.isSum||(_("final")&&(d?!_("x"):!_("y"))&&m.push(c.finalLabel),_("delta")&&(E<0?m.push(c.deltaLabel+" "+l.decreasing):m.push(c.deltaLabel+" "+l.increasing)),_("initial")&&m.push("Initial: "+c.initialLabel))}return m.length&&(c.extraText=m.join("
")),c.color=e(f,A),[c]};function e(t,a){var r=t[a.dir].marker,n=r.color,i=r.line.color,s=r.line.width;if(v(n))return n;if(v(i)&&s)return i}}}),dS=xe({"src/traces/waterfall/event_data.js"(U,O){"use strict";O.exports=function(v,w){return v.x="xVal"in w?w.xVal:w.x,v.y="yVal"in w?w.yVal:w.y,"initial"in w&&(v.initial=w.initial),"delta"in w&&(v.delta=w.delta),"final"in w&&(v.final=w.final),w.xa&&(v.xaxis=w.xa),w.ya&&(v.yaxis=w.ya),v}}}),vS=xe({"src/traces/waterfall/index.js"(U,O){"use strict";O.exports={attributes:jb(),layoutAttributes:qb(),supplyDefaults:Vb().supplyDefaults,crossTraceDefaults:Vb().crossTraceDefaults,supplyLayoutDefaults:sS(),calc:lS(),crossTraceCalc:uS(),plot:cS(),style:fS().style,hoverPoints:hS(),eventData:dS(),selectPoints:pp(),moduleType:"trace",name:"waterfall",basePlotModule:Nu(),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}}}),pS=xe({"lib/waterfall.js"(U,O){"use strict";O.exports=vS()}}),_p=xe({"src/traces/image/constants.js"(U,O){"use strict";O.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(u){return u.slice(0,3)},suffix:["","",""]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(u){return u.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(u){return u.slice(0,4)},suffix:["","","",""]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(u){var v=u.slice(0,3);return v[1]=v[1]+"%",v[2]=v[2]+"%",v},suffix:["\xB0","%","%"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(u){var v=u.slice(0,4);return v[1]=v[1]+"%",v[2]=v[2]+"%",v},suffix:["\xB0","%","%",""]}}}}}),jg={};Xa(jg,{default:()=>$b});var Hb,Gb,qg,Wb,Yb,Vg,Hg,Gg,Xb,$b,Zb=Pr({"src/traces/image/attributes.ts"(){"use strict";Hb=da(oo()),Gb=da(Rs()),qg=da(js()),Wb=da(wu()),Yb=da(_p()),Vg=["rgb","rgba","rgba256","hsl","hsla"],Hg=[],Gg=[];for(let U of Vg){let O=Yb.colormodel[U];Hg.push(`For the \`${U}\` colormodel, it is [${(O.zminDflt||O.min).join(", ")}].`),Gg.push(`For the \`${U}\` colormodel, it is [${(O.zmaxDflt||O.max).join(", ")}].`)}Xb={source:{valType:"string",editType:"calc",description:["Specifies the data URI of the image to be visualized.",'The URI consists of "data:image/[][;base64\\\\],"'].join(" ")},z:{valType:"data_array",editType:"calc",description:["A 2-dimensional array in which each element is an array of 3 or 4 numbers representing a color."].join(" ")},colormodel:{valType:"enumerated",values:Vg,editType:"calc",description:["Color model used to map the numerical color components described in `z` into colors.","If `source` is specified, this attribute will be set to `rgba256`","otherwise it defaults to `rgb`."].join(" ")},zsmooth:{valType:"enumerated",values:["fast",!1],dflt:!1,editType:"plot",description:["Picks a smoothing algorithm used to smooth `z` data.","This only applies for image traces that use the `source` attribute."].join(" ")},zmin:{valType:"info_array",items:[{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"}],editType:"calc",description:["Array defining the lower bound for each color component.","Note that the default value will depend on the colormodel.",Hg.join(" ")].join(" ")},zmax:{valType:"info_array",items:[{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"}],editType:"calc",description:["Array defining the higher bound for each color component.","Note that the default value will depend on the colormodel.",Gg.join(" ")].join(" ")},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",description:["Set the image's x position. The left edge of the image","(or the right edge if the x axis is reversed or dx is negative)","will be found at xmin=x0-dx/2"].join(" ")},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",description:["Set the image's y position. The top edge of the image","(or the bottom edge if the y axis is NOT reversed or if dy is negative)","will be found at ymin=y0-dy/2. By default when an image trace is","included, the y axis will be reversed so that the image is right-side-up,","but you can disable this by setting yaxis.autorange=true or by providing","an explicit y axis range."].join(" ")},dx:{valType:"number",dflt:1,editType:"calc",description:"Set the pixel's horizontal size."},dy:{valType:"number",dflt:1,editType:"calc",description:"Set the pixel's vertical size"},text:{valType:"data_array",editType:"plot",description:"Sets the text elements associated with each z value."},hovertext:{valType:"data_array",editType:"plot",description:"Same as `text`."},hoverinfo:(0,Hb.extendFlat)({},Gb.default.hoverinfo,{flags:["x","y","z","color","name","text"],dflt:"x+y+z+text+name"}),hovertemplate:(0,qg.hovertemplateAttrs)({},{keys:["z","color","colormodel"]}),hovertemplatefallback:(0,qg.templatefallbackAttrs)(),zorder:Wb.zorder},$b=Xb}}),mS=xe({"src/traces/image/defaults.js"(U,O){"use strict";var u=Sr(),v=(Zb(),Ta(jg)).default,w=_p(),S=hd().IMAGE_URL_PREFIX;O.exports=function(e,t){function a(i,s){return u.coerce(e,t,v,i,s)}a("source"),t.source&&!t.source.match(S)&&delete t.source,t._hasSource=!!t.source;var r=a("z");if(t._hasZ=!(r===void 0||!r.length||!r[0]||!r[0].length),!t._hasZ&&!t._hasSource){t.visible=!1;return}a("x0"),a("y0"),a("dx"),a("dy");var n;t._hasZ?(a("colormodel","rgb"),n=w.colormodel[t.colormodel],a("zmin",n.zminDflt||n.min),a("zmax",n.zmaxDflt||n.max)):t._hasSource&&(t.colormodel="rgba256",n=w.colormodel[t.colormodel],t.zmin=n.zminDflt,t.zmax=n.zmaxDflt),a("zsmooth"),a("text"),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback"),t._length=null,a("zorder")}}}),dd=xe({"node_modules/inherits/inherits_browser.js"(U,O){typeof Object.create=="function"?O.exports=function(v,w){w&&(v.super_=w,v.prototype=Object.create(w.prototype,{constructor:{value:v,enumerable:!1,writable:!0,configurable:!0}}))}:O.exports=function(v,w){if(w){v.super_=w;var S=function(){};S.prototype=w.prototype,v.prototype=new S,v.prototype.constructor=v}}}}),Kb=xe({"node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/stream-browser.js"(U,O){O.exports=pv().EventEmitter}}),gS=xe({"node_modules/base64-js/index.js"(U){"use strict";U.byteLength=t,U.toByteArray=r,U.fromByteArray=s;var O=[],u=[],v=typeof Uint8Array<"u"?Uint8Array:Array,w="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(S=0,l=w.length;S0)throw new Error("Invalid string. Length must be a multiple of 4");var f=c.indexOf("=");f===-1&&(f=p);var d=f===p?0:4-f%4;return[f,d]}function t(c){var p=e(c),f=p[0],d=p[1];return(f+d)*3/4-d}function a(c,p,f){return(p+f)*3/4-f}function r(c){var p,f=e(c),d=f[0],y=f[1],o=new v(a(c,d,y)),b=0,M=y>0?d-4:d,A;for(A=0;A>16&255,o[b++]=p>>8&255,o[b++]=p&255;return y===2&&(p=u[c.charCodeAt(A)]<<2|u[c.charCodeAt(A+1)]>>4,o[b++]=p&255),y===1&&(p=u[c.charCodeAt(A)]<<10|u[c.charCodeAt(A+1)]<<4|u[c.charCodeAt(A+2)]>>2,o[b++]=p>>8&255,o[b++]=p&255),o}function n(c){return O[c>>18&63]+O[c>>12&63]+O[c>>6&63]+O[c&63]}function i(c,p,f){for(var d,y=[],o=p;oM?M:b+o));return d===1?(p=c[f-1],y.push(O[p>>2]+O[p<<4&63]+"==")):d===2&&(p=(c[f-2]<<8)+c[f-1],y.push(O[p>>10]+O[p>>4&63]+O[p<<2&63]+"=")),y.join("")}}}),yS=xe({"node_modules/ieee754/index.js"(U){U.read=function(O,u,v,w,S){var l,e,t=S*8-w-1,a=(1<>1,n=-7,i=v?S-1:0,s=v?-1:1,c=O[u+i];for(i+=s,l=c&(1<<-n)-1,c>>=-n,n+=t;n>0;l=l*256+O[u+i],i+=s,n-=8);for(e=l&(1<<-n)-1,l>>=-n,n+=w;n>0;e=e*256+O[u+i],i+=s,n-=8);if(l===0)l=1-r;else{if(l===a)return e?NaN:(c?-1:1)*(1/0);e=e+Math.pow(2,w),l=l-r}return(c?-1:1)*e*Math.pow(2,l-w)},U.write=function(O,u,v,w,S,l){var e,t,a,r=l*8-S-1,n=(1<>1,s=S===23?Math.pow(2,-24)-Math.pow(2,-77):0,c=w?0:l-1,p=w?1:-1,f=u<0||u===0&&1/u<0?1:0;for(u=Math.abs(u),isNaN(u)||u===1/0?(t=isNaN(u)?1:0,e=n):(e=Math.floor(Math.log(u)/Math.LN2),u*(a=Math.pow(2,-e))<1&&(e--,a*=2),e+i>=1?u+=s/a:u+=s*Math.pow(2,1-i),u*a>=2&&(e++,a/=2),e+i>=n?(t=0,e=n):e+i>=1?(t=(u*a-1)*Math.pow(2,S),e=e+i):(t=u*Math.pow(2,i-1)*Math.pow(2,S),e=0));S>=8;O[v+c]=t&255,c+=p,t/=256,S-=8);for(e=e<0;O[v+c]=e&255,c+=p,e/=256,r-=8);O[v+c-p]|=f*128}}}),Mv=xe({"node_modules/buffer/index.js"(U){"use strict";var O=gS(),u=yS(),v=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;U.Buffer=e,U.SlowBuffer=y,U.INSPECT_MAX_BYTES=50;var w=2147483647;U.kMaxLength=w,e.TYPED_ARRAY_SUPPORT=S(),!e.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 S(){try{let ie=new Uint8Array(1),se={foo:function(){return 42}};return Object.setPrototypeOf(se,Uint8Array.prototype),Object.setPrototypeOf(ie,se),ie.foo()===42}catch{return!1}}Object.defineProperty(e.prototype,"parent",{enumerable:!0,get:function(){if(e.isBuffer(this))return this.buffer}}),Object.defineProperty(e.prototype,"offset",{enumerable:!0,get:function(){if(e.isBuffer(this))return this.byteOffset}});function l(ie){if(ie>w)throw new RangeError('The value "'+ie+'" is invalid for option "size"');let se=new Uint8Array(ie);return Object.setPrototypeOf(se,e.prototype),se}function e(ie,se,ne){if(typeof ie=="number"){if(typeof se=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return n(ie)}return t(ie,se,ne)}e.poolSize=8192;function t(ie,se,ne){if(typeof ie=="string")return i(ie,se);if(ArrayBuffer.isView(ie))return c(ie);if(ie==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof ie);if(Ce(ie,ArrayBuffer)||ie&&Ce(ie.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Ce(ie,SharedArrayBuffer)||ie&&Ce(ie.buffer,SharedArrayBuffer)))return p(ie,se,ne);if(typeof ie=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let be=ie.valueOf&&ie.valueOf();if(be!=null&&be!==ie)return e.from(be,se,ne);let De=f(ie);if(De)return De;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof ie[Symbol.toPrimitive]=="function")return e.from(ie[Symbol.toPrimitive]("string"),se,ne);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof ie)}e.from=function(ie,se,ne){return t(ie,se,ne)},Object.setPrototypeOf(e.prototype,Uint8Array.prototype),Object.setPrototypeOf(e,Uint8Array);function a(ie){if(typeof ie!="number")throw new TypeError('"size" argument must be of type number');if(ie<0)throw new RangeError('The value "'+ie+'" is invalid for option "size"')}function r(ie,se,ne){return a(ie),ie<=0?l(ie):se!==void 0?typeof ne=="string"?l(ie).fill(se,ne):l(ie).fill(se):l(ie)}e.alloc=function(ie,se,ne){return r(ie,se,ne)};function n(ie){return a(ie),l(ie<0?0:d(ie)|0)}e.allocUnsafe=function(ie){return n(ie)},e.allocUnsafeSlow=function(ie){return n(ie)};function i(ie,se){if((typeof se!="string"||se==="")&&(se="utf8"),!e.isEncoding(se))throw new TypeError("Unknown encoding: "+se);let ne=o(ie,se)|0,be=l(ne),De=be.write(ie,se);return De!==ne&&(be=be.slice(0,De)),be}function s(ie){let se=ie.length<0?0:d(ie.length)|0,ne=l(se);for(let be=0;be=w)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+w.toString(16)+" bytes");return ie|0}function y(ie){return+ie!=ie&&(ie=0),e.alloc(+ie)}e.isBuffer=function(se){return se!=null&&se._isBuffer===!0&&se!==e.prototype},e.compare=function(se,ne){if(Ce(se,Uint8Array)&&(se=e.from(se,se.offset,se.byteLength)),Ce(ne,Uint8Array)&&(ne=e.from(ne,ne.offset,ne.byteLength)),!e.isBuffer(se)||!e.isBuffer(ne))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(se===ne)return 0;let be=se.length,De=ne.length;for(let qe=0,Ne=Math.min(be,De);qeDe.length?(e.isBuffer(Ne)||(Ne=e.from(Ne)),Ne.copy(De,qe)):Uint8Array.prototype.set.call(De,Ne,qe);else if(e.isBuffer(Ne))Ne.copy(De,qe);else throw new TypeError('"list" argument must be an Array of Buffers');qe+=Ne.length}return De};function o(ie,se){if(e.isBuffer(ie))return ie.length;if(ArrayBuffer.isView(ie)||Ce(ie,ArrayBuffer))return ie.byteLength;if(typeof ie!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof ie);let ne=ie.length,be=arguments.length>2&&arguments[2]===!0;if(!be&&ne===0)return 0;let De=!1;for(;;)switch(se){case"ascii":case"latin1":case"binary":return ne;case"utf8":case"utf-8":return ue(ie).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ne*2;case"hex":return ne>>>1;case"base64":return Te(ie).length;default:if(De)return be?-1:ue(ie).length;se=(""+se).toLowerCase(),De=!0}}e.byteLength=o;function b(ie,se,ne){let be=!1;if((se===void 0||se<0)&&(se=0),se>this.length||((ne===void 0||ne>this.length)&&(ne=this.length),ne<=0)||(ne>>>=0,se>>>=0,ne<=se))return"";for(ie||(ie="utf8");;)switch(ie){case"hex":return R(this,se,ne);case"utf8":case"utf-8":return D(this,se,ne);case"ascii":return I(this,se,ne);case"latin1":case"binary":return z(this,se,ne);case"base64":return _(this,se,ne);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,se,ne);default:if(be)throw new TypeError("Unknown encoding: "+ie);ie=(ie+"").toLowerCase(),be=!0}}e.prototype._isBuffer=!0;function M(ie,se,ne){let be=ie[se];ie[se]=ie[ne],ie[ne]=be}e.prototype.swap16=function(){let se=this.length;if(se%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let ne=0;nene&&(se+=" ... "),""},v&&(e.prototype[v]=e.prototype.inspect),e.prototype.compare=function(se,ne,be,De,qe){if(Ce(se,Uint8Array)&&(se=e.from(se,se.offset,se.byteLength)),!e.isBuffer(se))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof se);if(ne===void 0&&(ne=0),be===void 0&&(be=se?se.length:0),De===void 0&&(De=0),qe===void 0&&(qe=this.length),ne<0||be>se.length||De<0||qe>this.length)throw new RangeError("out of range index");if(De>=qe&&ne>=be)return 0;if(De>=qe)return-1;if(ne>=be)return 1;if(ne>>>=0,be>>>=0,De>>>=0,qe>>>=0,this===se)return 0;let Ne=qe-De,ut=be-ne,ot=Math.min(Ne,ut),yt=this.slice(De,qe),At=se.slice(ne,be);for(let It=0;It2147483647?ne=2147483647:ne<-2147483648&&(ne=-2147483648),ne=+ne,Ue(ne)&&(ne=De?0:ie.length-1),ne<0&&(ne=ie.length+ne),ne>=ie.length){if(De)return-1;ne=ie.length-1}else if(ne<0)if(De)ne=0;else return-1;if(typeof se=="string"&&(se=e.from(se,be)),e.isBuffer(se))return se.length===0?-1:E(ie,se,ne,be,De);if(typeof se=="number")return se=se&255,typeof Uint8Array.prototype.indexOf=="function"?De?Uint8Array.prototype.indexOf.call(ie,se,ne):Uint8Array.prototype.lastIndexOf.call(ie,se,ne):E(ie,[se],ne,be,De);throw new TypeError("val must be string, number or Buffer")}function E(ie,se,ne,be,De){let qe=1,Ne=ie.length,ut=se.length;if(be!==void 0&&(be=String(be).toLowerCase(),be==="ucs2"||be==="ucs-2"||be==="utf16le"||be==="utf-16le")){if(ie.length<2||se.length<2)return-1;qe=2,Ne/=2,ut/=2,ne/=2}function ot(At,It){return qe===1?At[It]:At.readUInt16BE(It*qe)}let yt;if(De){let At=-1;for(yt=ne;ytNe&&(ne=Ne-ut),yt=ne;yt>=0;yt--){let At=!0;for(let It=0;ItDe&&(be=De)):be=De;let qe=se.length;be>qe/2&&(be=qe/2);let Ne;for(Ne=0;Ne>>0,isFinite(be)?(be=be>>>0,De===void 0&&(De="utf8")):(De=be,be=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let qe=this.length-ne;if((be===void 0||be>qe)&&(be=qe),se.length>0&&(be<0||ne<0)||ne>this.length)throw new RangeError("Attempt to write outside buffer bounds");De||(De="utf8");let Ne=!1;for(;;)switch(De){case"hex":return g(this,se,ne,be);case"utf8":case"utf-8":return T(this,se,ne,be);case"ascii":case"latin1":case"binary":return m(this,se,ne,be);case"base64":return h(this,se,ne,be);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,se,ne,be);default:if(Ne)throw new TypeError("Unknown encoding: "+De);De=(""+De).toLowerCase(),Ne=!0}},e.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function _(ie,se,ne){return se===0&&ne===ie.length?O.fromByteArray(ie):O.fromByteArray(ie.slice(se,ne))}function D(ie,se,ne){ne=Math.min(ie.length,ne);let be=[],De=se;for(;De239?4:qe>223?3:qe>191?2:1;if(De+ut<=ne){let ot,yt,At,It;switch(ut){case 1:qe<128&&(Ne=qe);break;case 2:ot=ie[De+1],(ot&192)===128&&(It=(qe&31)<<6|ot&63,It>127&&(Ne=It));break;case 3:ot=ie[De+1],yt=ie[De+2],(ot&192)===128&&(yt&192)===128&&(It=(qe&15)<<12|(ot&63)<<6|yt&63,It>2047&&(It<55296||It>57343)&&(Ne=It));break;case 4:ot=ie[De+1],yt=ie[De+2],At=ie[De+3],(ot&192)===128&&(yt&192)===128&&(At&192)===128&&(It=(qe&15)<<18|(ot&63)<<12|(yt&63)<<6|At&63,It>65535&&It<1114112&&(Ne=It))}}Ne===null?(Ne=65533,ut=1):Ne>65535&&(Ne-=65536,be.push(Ne>>>10&1023|55296),Ne=56320|Ne&1023),be.push(Ne),De+=ut}return F(be)}var C=4096;function F(ie){let se=ie.length;if(se<=C)return String.fromCharCode.apply(String,ie);let ne="",be=0;for(;bebe)&&(ne=be);let De="";for(let qe=se;qebe&&(se=be),ne<0?(ne+=be,ne<0&&(ne=0)):ne>be&&(ne=be),nene)throw new RangeError("Trying to access beyond buffer length")}e.prototype.readUintLE=e.prototype.readUIntLE=function(se,ne,be){se=se>>>0,ne=ne>>>0,be||B(se,ne,this.length);let De=this[se],qe=1,Ne=0;for(;++Ne>>0,ne=ne>>>0,be||B(se,ne,this.length);let De=this[se+--ne],qe=1;for(;ne>0&&(qe*=256);)De+=this[se+--ne]*qe;return De},e.prototype.readUint8=e.prototype.readUInt8=function(se,ne){return se=se>>>0,ne||B(se,1,this.length),this[se]},e.prototype.readUint16LE=e.prototype.readUInt16LE=function(se,ne){return se=se>>>0,ne||B(se,2,this.length),this[se]|this[se+1]<<8},e.prototype.readUint16BE=e.prototype.readUInt16BE=function(se,ne){return se=se>>>0,ne||B(se,2,this.length),this[se]<<8|this[se+1]},e.prototype.readUint32LE=e.prototype.readUInt32LE=function(se,ne){return se=se>>>0,ne||B(se,4,this.length),(this[se]|this[se+1]<<8|this[se+2]<<16)+this[se+3]*16777216},e.prototype.readUint32BE=e.prototype.readUInt32BE=function(se,ne){return se=se>>>0,ne||B(se,4,this.length),this[se]*16777216+(this[se+1]<<16|this[se+2]<<8|this[se+3])},e.prototype.readBigUInt64LE=_e(function(se){se=se>>>0,X(se,"offset");let ne=this[se],be=this[se+7];(ne===void 0||be===void 0)&&$(se,this.length-8);let De=ne+this[++se]*2**8+this[++se]*2**16+this[++se]*2**24,qe=this[++se]+this[++se]*2**8+this[++se]*2**16+be*2**24;return BigInt(De)+(BigInt(qe)<>>0,X(se,"offset");let ne=this[se],be=this[se+7];(ne===void 0||be===void 0)&&$(se,this.length-8);let De=ne*2**24+this[++se]*2**16+this[++se]*2**8+this[++se],qe=this[++se]*2**24+this[++se]*2**16+this[++se]*2**8+be;return(BigInt(De)<>>0,ne=ne>>>0,be||B(se,ne,this.length);let De=this[se],qe=1,Ne=0;for(;++Ne=qe&&(De-=Math.pow(2,8*ne)),De},e.prototype.readIntBE=function(se,ne,be){se=se>>>0,ne=ne>>>0,be||B(se,ne,this.length);let De=ne,qe=1,Ne=this[se+--De];for(;De>0&&(qe*=256);)Ne+=this[se+--De]*qe;return qe*=128,Ne>=qe&&(Ne-=Math.pow(2,8*ne)),Ne},e.prototype.readInt8=function(se,ne){return se=se>>>0,ne||B(se,1,this.length),this[se]&128?(255-this[se]+1)*-1:this[se]},e.prototype.readInt16LE=function(se,ne){se=se>>>0,ne||B(se,2,this.length);let be=this[se]|this[se+1]<<8;return be&32768?be|4294901760:be},e.prototype.readInt16BE=function(se,ne){se=se>>>0,ne||B(se,2,this.length);let be=this[se+1]|this[se]<<8;return be&32768?be|4294901760:be},e.prototype.readInt32LE=function(se,ne){return se=se>>>0,ne||B(se,4,this.length),this[se]|this[se+1]<<8|this[se+2]<<16|this[se+3]<<24},e.prototype.readInt32BE=function(se,ne){return se=se>>>0,ne||B(se,4,this.length),this[se]<<24|this[se+1]<<16|this[se+2]<<8|this[se+3]},e.prototype.readBigInt64LE=_e(function(se){se=se>>>0,X(se,"offset");let ne=this[se],be=this[se+7];(ne===void 0||be===void 0)&&$(se,this.length-8);let De=this[se+4]+this[se+5]*2**8+this[se+6]*2**16+(be<<24);return(BigInt(De)<>>0,X(se,"offset");let ne=this[se],be=this[se+7];(ne===void 0||be===void 0)&&$(se,this.length-8);let De=(ne<<24)+this[++se]*2**16+this[++se]*2**8+this[++se];return(BigInt(De)<>>0,ne||B(se,4,this.length),u.read(this,se,!0,23,4)},e.prototype.readFloatBE=function(se,ne){return se=se>>>0,ne||B(se,4,this.length),u.read(this,se,!1,23,4)},e.prototype.readDoubleLE=function(se,ne){return se=se>>>0,ne||B(se,8,this.length),u.read(this,se,!0,52,8)},e.prototype.readDoubleBE=function(se,ne){return se=se>>>0,ne||B(se,8,this.length),u.read(this,se,!1,52,8)};function N(ie,se,ne,be,De,qe){if(!e.isBuffer(ie))throw new TypeError('"buffer" argument must be a Buffer instance');if(se>De||seie.length)throw new RangeError("Index out of range")}e.prototype.writeUintLE=e.prototype.writeUIntLE=function(se,ne,be,De){if(se=+se,ne=ne>>>0,be=be>>>0,!De){let ut=Math.pow(2,8*be)-1;N(this,se,ne,be,ut,0)}let qe=1,Ne=0;for(this[ne]=se&255;++Ne>>0,be=be>>>0,!De){let ut=Math.pow(2,8*be)-1;N(this,se,ne,be,ut,0)}let qe=be-1,Ne=1;for(this[ne+qe]=se&255;--qe>=0&&(Ne*=256);)this[ne+qe]=se/Ne&255;return ne+be},e.prototype.writeUint8=e.prototype.writeUInt8=function(se,ne,be){return se=+se,ne=ne>>>0,be||N(this,se,ne,1,255,0),this[ne]=se&255,ne+1},e.prototype.writeUint16LE=e.prototype.writeUInt16LE=function(se,ne,be){return se=+se,ne=ne>>>0,be||N(this,se,ne,2,65535,0),this[ne]=se&255,this[ne+1]=se>>>8,ne+2},e.prototype.writeUint16BE=e.prototype.writeUInt16BE=function(se,ne,be){return se=+se,ne=ne>>>0,be||N(this,se,ne,2,65535,0),this[ne]=se>>>8,this[ne+1]=se&255,ne+2},e.prototype.writeUint32LE=e.prototype.writeUInt32LE=function(se,ne,be){return se=+se,ne=ne>>>0,be||N(this,se,ne,4,4294967295,0),this[ne+3]=se>>>24,this[ne+2]=se>>>16,this[ne+1]=se>>>8,this[ne]=se&255,ne+4},e.prototype.writeUint32BE=e.prototype.writeUInt32BE=function(se,ne,be){return se=+se,ne=ne>>>0,be||N(this,se,ne,4,4294967295,0),this[ne]=se>>>24,this[ne+1]=se>>>16,this[ne+2]=se>>>8,this[ne+3]=se&255,ne+4};function q(ie,se,ne,be,De){Z(se,be,De,ie,ne,7);let qe=Number(se&BigInt(4294967295));ie[ne++]=qe,qe=qe>>8,ie[ne++]=qe,qe=qe>>8,ie[ne++]=qe,qe=qe>>8,ie[ne++]=qe;let Ne=Number(se>>BigInt(32)&BigInt(4294967295));return ie[ne++]=Ne,Ne=Ne>>8,ie[ne++]=Ne,Ne=Ne>>8,ie[ne++]=Ne,Ne=Ne>>8,ie[ne++]=Ne,ne}function Y(ie,se,ne,be,De){Z(se,be,De,ie,ne,7);let qe=Number(se&BigInt(4294967295));ie[ne+7]=qe,qe=qe>>8,ie[ne+6]=qe,qe=qe>>8,ie[ne+5]=qe,qe=qe>>8,ie[ne+4]=qe;let Ne=Number(se>>BigInt(32)&BigInt(4294967295));return ie[ne+3]=Ne,Ne=Ne>>8,ie[ne+2]=Ne,Ne=Ne>>8,ie[ne+1]=Ne,Ne=Ne>>8,ie[ne]=Ne,ne+8}e.prototype.writeBigUInt64LE=_e(function(se,ne=0){return q(this,se,ne,BigInt(0),BigInt("0xffffffffffffffff"))}),e.prototype.writeBigUInt64BE=_e(function(se,ne=0){return Y(this,se,ne,BigInt(0),BigInt("0xffffffffffffffff"))}),e.prototype.writeIntLE=function(se,ne,be,De){if(se=+se,ne=ne>>>0,!De){let ot=Math.pow(2,8*be-1);N(this,se,ne,be,ot-1,-ot)}let qe=0,Ne=1,ut=0;for(this[ne]=se&255;++qe>0)-ut&255;return ne+be},e.prototype.writeIntBE=function(se,ne,be,De){if(se=+se,ne=ne>>>0,!De){let ot=Math.pow(2,8*be-1);N(this,se,ne,be,ot-1,-ot)}let qe=be-1,Ne=1,ut=0;for(this[ne+qe]=se&255;--qe>=0&&(Ne*=256);)se<0&&ut===0&&this[ne+qe+1]!==0&&(ut=1),this[ne+qe]=(se/Ne>>0)-ut&255;return ne+be},e.prototype.writeInt8=function(se,ne,be){return se=+se,ne=ne>>>0,be||N(this,se,ne,1,127,-128),se<0&&(se=255+se+1),this[ne]=se&255,ne+1},e.prototype.writeInt16LE=function(se,ne,be){return se=+se,ne=ne>>>0,be||N(this,se,ne,2,32767,-32768),this[ne]=se&255,this[ne+1]=se>>>8,ne+2},e.prototype.writeInt16BE=function(se,ne,be){return se=+se,ne=ne>>>0,be||N(this,se,ne,2,32767,-32768),this[ne]=se>>>8,this[ne+1]=se&255,ne+2},e.prototype.writeInt32LE=function(se,ne,be){return se=+se,ne=ne>>>0,be||N(this,se,ne,4,2147483647,-2147483648),this[ne]=se&255,this[ne+1]=se>>>8,this[ne+2]=se>>>16,this[ne+3]=se>>>24,ne+4},e.prototype.writeInt32BE=function(se,ne,be){return se=+se,ne=ne>>>0,be||N(this,se,ne,4,2147483647,-2147483648),se<0&&(se=4294967295+se+1),this[ne]=se>>>24,this[ne+1]=se>>>16,this[ne+2]=se>>>8,this[ne+3]=se&255,ne+4},e.prototype.writeBigInt64LE=_e(function(se,ne=0){return q(this,se,ne,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),e.prototype.writeBigInt64BE=_e(function(se,ne=0){return Y(this,se,ne,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function ee(ie,se,ne,be,De,qe){if(ne+be>ie.length)throw new RangeError("Index out of range");if(ne<0)throw new RangeError("Index out of range")}function te(ie,se,ne,be,De){return se=+se,ne=ne>>>0,De||ee(ie,se,ne,4,34028234663852886e22,-34028234663852886e22),u.write(ie,se,ne,be,23,4),ne+4}e.prototype.writeFloatLE=function(se,ne,be){return te(this,se,ne,!0,be)},e.prototype.writeFloatBE=function(se,ne,be){return te(this,se,ne,!1,be)};function ae(ie,se,ne,be,De){return se=+se,ne=ne>>>0,De||ee(ie,se,ne,8,17976931348623157e292,-17976931348623157e292),u.write(ie,se,ne,be,52,8),ne+8}e.prototype.writeDoubleLE=function(se,ne,be){return ae(this,se,ne,!0,be)},e.prototype.writeDoubleBE=function(se,ne,be){return ae(this,se,ne,!1,be)},e.prototype.copy=function(se,ne,be,De){if(!e.isBuffer(se))throw new TypeError("argument should be a Buffer");if(be||(be=0),!De&&De!==0&&(De=this.length),ne>=se.length&&(ne=se.length),ne||(ne=0),De>0&&De=this.length)throw new RangeError("Index out of range");if(De<0)throw new RangeError("sourceEnd out of bounds");De>this.length&&(De=this.length),se.length-ne>>0,be=be===void 0?this.length:be>>>0,se||(se=0);let qe;if(typeof se=="number")for(qe=ne;qe2**32?De=K(String(ne)):typeof ne=="bigint"&&(De=String(ne),(ne>BigInt(2)**BigInt(32)||ne<-(BigInt(2)**BigInt(32)))&&(De=K(De)),De+="n"),be+=` It must be ${se}. Received ${De}`,be},RangeError);function K(ie){let se="",ne=ie.length,be=ie[0]==="-"?1:0;for(;ne>=be+4;ne-=3)se=`_${ie.slice(ne-3,ne)}${se}`;return`${ie.slice(0,ne)}${se}`}function H(ie,se,ne){X(se,"offset"),(ie[se]===void 0||ie[se+ne]===void 0)&&$(se,ie.length-(ne+1))}function Z(ie,se,ne,be,De,qe){if(ie>ne||ie3?se===0||se===BigInt(0)?ut=`>= 0${Ne} and < 2${Ne} ** ${(qe+1)*8}${Ne}`:ut=`>= -(2${Ne} ** ${(qe+1)*8-1}${Ne}) and < 2 ** ${(qe+1)*8-1}${Ne}`:ut=`>= ${se}${Ne} and <= ${ne}${Ne}`,new j.ERR_OUT_OF_RANGE("value",ut,ie)}H(be,De,qe)}function X(ie,se){if(typeof ie!="number")throw new j.ERR_INVALID_ARG_TYPE(se,"number",ie)}function $(ie,se,ne){throw Math.floor(ie)!==ie?(X(ie,ne),new j.ERR_OUT_OF_RANGE(ne||"offset","an integer",ie)):se<0?new j.ERR_BUFFER_OUT_OF_BOUNDS:new j.ERR_OUT_OF_RANGE(ne||"offset",`>= ${ne?1:0} and <= ${se}`,ie)}var Q=/[^+/0-9A-Za-z-_]/g;function re(ie){if(ie=ie.split("=")[0],ie=ie.trim().replace(Q,""),ie.length<2)return"";for(;ie.length%4!==0;)ie=ie+"=";return ie}function ue(ie,se){se=se||1/0;let ne,be=ie.length,De=null,qe=[];for(let Ne=0;Ne55295&&ne<57344){if(!De){if(ne>56319){(se-=3)>-1&&qe.push(239,191,189);continue}else if(Ne+1===be){(se-=3)>-1&&qe.push(239,191,189);continue}De=ne;continue}if(ne<56320){(se-=3)>-1&&qe.push(239,191,189),De=ne;continue}ne=(De-55296<<10|ne-56320)+65536}else De&&(se-=3)>-1&&qe.push(239,191,189);if(De=null,ne<128){if((se-=1)<0)break;qe.push(ne)}else if(ne<2048){if((se-=2)<0)break;qe.push(ne>>6|192,ne&63|128)}else if(ne<65536){if((se-=3)<0)break;qe.push(ne>>12|224,ne>>6&63|128,ne&63|128)}else if(ne<1114112){if((se-=4)<0)break;qe.push(ne>>18|240,ne>>12&63|128,ne>>6&63|128,ne&63|128)}else throw new Error("Invalid code point")}return qe}function pe(ie){let se=[];for(let ne=0;ne>8,De=ne%256,qe.push(De),qe.push(be);return qe}function Te(ie){return O.toByteArray(re(ie))}function Se(ie,se,ne,be){let De;for(De=0;De=se.length||De>=ie.length);++De)se[De+ne]=ie[De];return De}function Ce(ie,se){return ie instanceof se||ie!=null&&ie.constructor!=null&&ie.constructor.name!=null&&ie.constructor.name===se.name}function Ue(ie){return ie!==ie}var Oe=function(){let ie="0123456789abcdef",se=new Array(256);for(let ne=0;ne<16;++ne){let be=ne*16;for(let De=0;De<16;++De)se[be+De]=ie[ne]+ie[De]}return se}();function _e(ie){return typeof BigInt>"u"?ce:ie}function ce(){throw new Error("BigInt not supported")}}}),Wg=xe({"node_modules/has-symbols/shams.js"(U,O){"use strict";O.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var v={},w=Symbol("test"),S=Object(w);if(typeof w=="string"||Object.prototype.toString.call(w)!=="[object Symbol]"||Object.prototype.toString.call(S)!=="[object Symbol]")return!1;var l=42;v[w]=l;for(var e in v)return!1;if(typeof Object.keys=="function"&&Object.keys(v).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(v).length!==0)return!1;var t=Object.getOwnPropertySymbols(v);if(t.length!==1||t[0]!==w||!Object.prototype.propertyIsEnumerable.call(v,w))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var a=Object.getOwnPropertyDescriptor(v,w);if(a.value!==l||a.enumerable!==!0)return!1}return!0}}}),M0=xe({"node_modules/has-tostringtag/shams.js"(U,O){"use strict";var u=Wg();O.exports=function(){return u()&&!!Symbol.toStringTag}}}),Jb=xe({"node_modules/es-object-atoms/index.js"(U,O){"use strict";O.exports=Object}}),_S=xe({"node_modules/es-errors/index.js"(U,O){"use strict";O.exports=Error}}),bS=xe({"node_modules/es-errors/eval.js"(U,O){"use strict";O.exports=EvalError}}),xS=xe({"node_modules/es-errors/range.js"(U,O){"use strict";O.exports=RangeError}}),wS=xe({"node_modules/es-errors/ref.js"(U,O){"use strict";O.exports=ReferenceError}}),Qb=xe({"node_modules/es-errors/syntax.js"(U,O){"use strict";O.exports=SyntaxError}}),bp=xe({"node_modules/es-errors/type.js"(U,O){"use strict";O.exports=TypeError}}),TS=xe({"node_modules/es-errors/uri.js"(U,O){"use strict";O.exports=URIError}}),AS=xe({"node_modules/math-intrinsics/abs.js"(U,O){"use strict";O.exports=Math.abs}}),MS=xe({"node_modules/math-intrinsics/floor.js"(U,O){"use strict";O.exports=Math.floor}}),SS=xe({"node_modules/math-intrinsics/max.js"(U,O){"use strict";O.exports=Math.max}}),ES=xe({"node_modules/math-intrinsics/min.js"(U,O){"use strict";O.exports=Math.min}}),kS=xe({"node_modules/math-intrinsics/pow.js"(U,O){"use strict";O.exports=Math.pow}}),CS=xe({"node_modules/math-intrinsics/round.js"(U,O){"use strict";O.exports=Math.round}}),LS=xe({"node_modules/math-intrinsics/isNaN.js"(U,O){"use strict";O.exports=Number.isNaN||function(v){return v!==v}}}),PS=xe({"node_modules/math-intrinsics/sign.js"(U,O){"use strict";var u=LS();O.exports=function(w){return u(w)||w===0?w:w<0?-1:1}}}),IS=xe({"node_modules/gopd/gOPD.js"(U,O){"use strict";O.exports=Object.getOwnPropertyDescriptor}}),Sv=xe({"node_modules/gopd/index.js"(U,O){"use strict";var u=IS();if(u)try{u([],"length")}catch{u=null}O.exports=u}}),S0=xe({"node_modules/es-define-property/index.js"(U,O){"use strict";var u=Object.defineProperty||!1;if(u)try{u({},"a",{value:1})}catch{u=!1}O.exports=u}}),DS=xe({"node_modules/has-symbols/index.js"(U,O){"use strict";var u=typeof Symbol<"u"&&Symbol,v=Wg();O.exports=function(){return typeof u!="function"||typeof Symbol!="function"||typeof u("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:v()}}}),ex=xe({"node_modules/get-proto/Reflect.getPrototypeOf.js"(U,O){"use strict";O.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null}}),tx=xe({"node_modules/get-proto/Object.getPrototypeOf.js"(U,O){"use strict";var u=Jb();O.exports=u.getPrototypeOf||null}}),RS=xe({"node_modules/function-bind/implementation.js"(U,O){"use strict";var u="Function.prototype.bind called on incompatible ",v=Object.prototype.toString,w=Math.max,S="[object Function]",l=function(r,n){for(var i=[],s=0;s"u"||!T?u:T(Uint8Array),F={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?u:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?u:ArrayBuffer,"%ArrayIteratorPrototype%":g&&T?T([][Symbol.iterator]()):u,"%AsyncFromSyncIteratorPrototype%":u,"%AsyncFunction%":D,"%AsyncGenerator%":D,"%AsyncGeneratorFunction%":D,"%AsyncIteratorPrototype%":D,"%Atomics%":typeof Atomics>"u"?u:Atomics,"%BigInt%":typeof BigInt>"u"?u:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?u:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?u:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?u:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":w,"%eval%":eval,"%EvalError%":S,"%Float16Array%":typeof Float16Array>"u"?u:Float16Array,"%Float32Array%":typeof Float32Array>"u"?u:Float32Array,"%Float64Array%":typeof Float64Array>"u"?u:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?u:FinalizationRegistry,"%Function%":y,"%GeneratorFunction%":D,"%Int8Array%":typeof Int8Array>"u"?u:Int8Array,"%Int16Array%":typeof Int16Array>"u"?u:Int16Array,"%Int32Array%":typeof Int32Array>"u"?u:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":g&&T?T(T([][Symbol.iterator]())):u,"%JSON%":typeof JSON=="object"?JSON:u,"%Map%":typeof Map>"u"?u:Map,"%MapIteratorPrototype%":typeof Map>"u"||!g||!T?u:T(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":v,"%Object.getOwnPropertyDescriptor%":b,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?u:Promise,"%Proxy%":typeof Proxy>"u"?u:Proxy,"%RangeError%":l,"%ReferenceError%":e,"%Reflect%":typeof Reflect>"u"?u:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?u:Set,"%SetIteratorPrototype%":typeof Set>"u"||!g||!T?u:T(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?u:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":g&&T?T(""[Symbol.iterator]()):u,"%Symbol%":g?Symbol:u,"%SyntaxError%":t,"%ThrowTypeError%":E,"%TypedArray%":C,"%TypeError%":a,"%Uint8Array%":typeof Uint8Array>"u"?u:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?u:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?u:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?u:Uint32Array,"%URIError%":r,"%WeakMap%":typeof WeakMap>"u"?u:WeakMap,"%WeakRef%":typeof WeakRef>"u"?u:WeakRef,"%WeakSet%":typeof WeakSet>"u"?u:WeakSet,"%Function.prototype.call%":_,"%Function.prototype.apply%":x,"%Object.defineProperty%":M,"%Object.getPrototypeOf%":m,"%Math.abs%":n,"%Math.floor%":i,"%Math.max%":s,"%Math.min%":c,"%Math.pow%":p,"%Math.round%":f,"%Math.sign%":d,"%Reflect.getPrototypeOf%":h};if(T)try{null.error}catch(H){I=T(T(H)),F["%Error.prototype%"]=I}var I,z=function H(Z){var X;if(Z==="%AsyncFunction%")X=o("async function () {}");else if(Z==="%GeneratorFunction%")X=o("function* () {}");else if(Z==="%AsyncGeneratorFunction%")X=o("async function* () {}");else if(Z==="%AsyncGenerator%"){var $=H("%AsyncGeneratorFunction%");$&&(X=$.prototype)}else if(Z==="%AsyncIteratorPrototype%"){var Q=H("%AsyncGenerator%");Q&&T&&(X=T(Q.prototype))}return F[Z]=X,X},R={__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"]},k=xp(),B=US(),N=k.call(_,Array.prototype.concat),q=k.call(x,Array.prototype.splice),Y=k.call(_,String.prototype.replace),ee=k.call(_,String.prototype.slice),te=k.call(_,RegExp.prototype.exec),ae=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,j=/\\(\\)?/g,G=function(Z){var X=ee(Z,0,1),$=ee(Z,-1);if(X==="%"&&$!=="%")throw new t("invalid intrinsic syntax, expected closing `%`");if($==="%"&&X!=="%")throw new t("invalid intrinsic syntax, expected opening `%`");var Q=[];return Y(Z,ae,function(re,ue,pe,ge){Q[Q.length]=pe?Y(ge,j,"$1"):ue||re}),Q},K=function(Z,X){var $=Z,Q;if(B(R,$)&&(Q=R[$],$="%"+Q[0]+"%"),B(F,$)){var re=F[$];if(re===D&&(re=z($)),typeof re>"u"&&!X)throw new a("intrinsic "+Z+" exists, but is not available. Please file an issue!");return{alias:Q,name:$,value:re}}throw new t("intrinsic "+Z+" does not exist!")};O.exports=function(Z,X){if(typeof Z!="string"||Z.length===0)throw new a("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof X!="boolean")throw new a('"allowMissing" argument must be a boolean');if(te(/^%?[^%]*%?$/,Z)===null)throw new t("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var $=G(Z),Q=$.length>0?$[0]:"",re=K("%"+Q+"%",X),ue=re.name,pe=re.value,ge=!1,Te=re.alias;Te&&(Q=Te[0],q($,N([0,1],Te)));for(var Se=1,Ce=!0;Se<$.length;Se+=1){var Ue=$[Se],Oe=ee(Ue,0,1),_e=ee(Ue,-1);if((Oe==='"'||Oe==="'"||Oe==="`"||_e==='"'||_e==="'"||_e==="`")&&Oe!==_e)throw new t("property names with quotes must have matching quotes");if((Ue==="constructor"||!Ce)&&(ge=!0),Q+="."+Ue,ue="%"+Q+"%",B(F,ue))pe=F[ue];else if(pe!=null){if(!(Ue in pe)){if(!X)throw new a("base intrinsic for "+Z+" exists, but the property is not available.");return}if(b&&Se+1>=$.length){var ce=b(pe,Ue);Ce=!!ce,Ce&&"get"in ce&&!("originalValue"in ce.get)?pe=ce.get:pe=pe[Ue]}else Ce=B(pe,Ue),pe=pe[Ue];Ce&&!ge&&(F[ue]=pe)}}return pe}}}),jS=xe({"node_modules/define-data-property/index.js"(U,O){"use strict";var u=S0(),v=Qb(),w=bp(),S=Sv();O.exports=function(e,t,a){if(!e||typeof e!="object"&&typeof e!="function")throw new w("`obj` must be an object or a function`");if(typeof t!="string"&&typeof t!="symbol")throw new w("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new w("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new w("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new w("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new w("`loose`, if provided, must be a boolean");var r=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,c=!!S&&S(e,t);if(u)u(e,t,{configurable:i===null&&c?c.configurable:!i,enumerable:r===null&&c?c.enumerable:!r,value:a,writable:n===null&&c?c.writable:!n});else if(s||!r&&!n&&!i)e[t]=a;else throw new v("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")}}}),ax=xe({"node_modules/has-property-descriptors/index.js"(U,O){"use strict";var u=S0(),v=function(){return!!u};v.hasArrayLengthDefineBug=function(){if(!u)return null;try{return u([],"length",{value:1}).length!==1}catch{return!0}},O.exports=v}}),qS=xe({"node_modules/set-function-length/index.js"(U,O){"use strict";var u=Xg(),v=jS(),w=ax()(),S=Sv(),l=bp(),e=u("%Math.floor%");O.exports=function(a,r){if(typeof a!="function")throw new l("`fn` is not a function");if(typeof r!="number"||r<0||r>4294967295||e(r)!==r)throw new l("`length` must be a positive 32-bit integer");var n=arguments.length>2&&!!arguments[2],i=!0,s=!0;if("length"in a&&S){var c=S(a,"length");c&&!c.configurable&&(i=!1),c&&!c.writable&&(s=!1)}return(i||s||!n)&&(w?v(a,"length",r,!0,!0):v(a,"length",r)),a}}}),E0=xe({"node_modules/call-bind/index.js"(U,O){"use strict";var u=xp(),v=Xg(),w=qS(),S=bp(),l=v("%Function.prototype.apply%"),e=v("%Function.prototype.call%"),t=v("%Reflect.apply%",!0)||u.call(e,l),a=S0(),r=v("%Math.max%");O.exports=function(s){if(typeof s!="function")throw new S("a function is required");var c=t(u,e,arguments);return w(c,1+r(0,s.length-(arguments.length-1)),!0)};var n=function(){return t(u,l,arguments)};a?a(O.exports,"apply",{value:n}):O.exports.apply=n}}),wp=xe({"node_modules/call-bind/callBound.js"(U,O){"use strict";var u=Xg(),v=E0(),w=v(u("String.prototype.indexOf"));O.exports=function(l,e){var t=u(l,!!e);return typeof t=="function"&&w(l,".prototype.")>-1?v(t):t}}}),VS=xe({"node_modules/is-arguments/index.js"(U,O){"use strict";var u=M0()(),v=wp(),w=v("Object.prototype.toString"),S=function(a){return u&&a&&typeof a=="object"&&Symbol.toStringTag in a?!1:w(a)==="[object Arguments]"},l=function(a){return S(a)?!0:a!==null&&typeof a=="object"&&typeof a.length=="number"&&a.length>=0&&w(a)!=="[object Array]"&&w(a.callee)==="[object Function]"},e=function(){return S(arguments)}();S.isLegacyArguments=l,O.exports=e?S:l}}),HS=xe({"node_modules/is-generator-function/index.js"(U,O){"use strict";var u=Object.prototype.toString,v=Function.prototype.toString,w=/^\s*(?:function)?\*/,S=M0()(),l=Object.getPrototypeOf,e=function(){if(!S)return!1;try{return Function("return function*() {}")()}catch{}},t;O.exports=function(r){if(typeof r!="function")return!1;if(w.test(v.call(r)))return!0;if(!S){var n=u.call(r);return n==="[object GeneratorFunction]"}if(!l)return!1;if(typeof t>"u"){var i=e();t=i?l(i):!1}return l(r)===t}}}),GS=xe({"node_modules/is-callable/index.js"(U,O){"use strict";var u=Function.prototype.toString,v=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply,w,S;if(typeof v=="function"&&typeof Object.defineProperty=="function")try{w=Object.defineProperty({},"length",{get:function(){throw S}}),S={},v(function(){throw 42},null,w)}catch(b){b!==S&&(v=null)}else v=null;var l=/^\s*class\b/,e=function(M){try{var A=u.call(M);return l.test(A)}catch{return!1}},t=function(M){try{return e(M)?!1:(u.call(M),!0)}catch{return!1}},a=Object.prototype.toString,r="[object Object]",n="[object Function]",i="[object GeneratorFunction]",s="[object HTMLAllCollection]",c="[object HTML document.all class]",p="[object HTMLCollection]",f=typeof Symbol=="function"&&!!Symbol.toStringTag,d=!(0 in[,]),y=function(){return!1};typeof document=="object"&&(o=document.all,a.call(o)===a.call(document.all)&&(y=function(M){if((d||!M)&&(typeof M>"u"||typeof M=="object"))try{var A=a.call(M);return(A===s||A===c||A===p||A===r)&&M("")==null}catch{}return!1}));var o;O.exports=v?function(M){if(y(M))return!0;if(!M||typeof M!="function"&&typeof M!="object")return!1;try{v(M,null,w)}catch(A){if(A!==S)return!1}return!e(M)&&t(M)}:function(M){if(y(M))return!0;if(!M||typeof M!="function"&&typeof M!="object")return!1;if(f)return t(M);if(e(M))return!1;var A=a.call(M);return A!==n&&A!==i&&!/^\[object HTML/.test(A)?!1:t(M)}}}),nx=xe({"node_modules/for-each/index.js"(U,O){"use strict";var u=GS(),v=Object.prototype.toString,w=Object.prototype.hasOwnProperty,S=function(r,n,i){for(var s=0,c=r.length;s=3&&(s=i),v.call(r)==="[object Array]"?S(r,n,s):typeof r=="string"?l(r,n,s):e(r,n,s)};O.exports=t}}),ix=xe({"node_modules/available-typed-arrays/index.js"(U,O){"use strict";var u=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],v=typeof globalThis>"u"?window:globalThis;O.exports=function(){for(var S=[],l=0;l"u"?window:globalThis,r=v(),n=S("String.prototype.slice"),i=Object.getPrototypeOf,s=S("Array.prototype.indexOf",!0)||function(y,o){for(var b=0;b-1?o:o!=="Object"?!1:f(y)}return l?p(y):null}}}),YS=xe({"node_modules/is-typed-array/index.js"(U,O){"use strict";var u=nx(),v=ix(),w=wp(),S=w("Object.prototype.toString"),l=M0()(),e=Sv(),t=typeof globalThis>"u"?window:globalThis,a=v(),r=w("Array.prototype.indexOf",!0)||function(f,d){for(var y=0;y-1}return e?c(f):!1}}}),ox=xe({"node_modules/util/support/types.js"(U){"use strict";var O=VS(),u=HS(),v=WS(),w=YS();function S(ge){return ge.call.bind(ge)}var l=typeof BigInt<"u",e=typeof Symbol<"u",t=S(Object.prototype.toString),a=S(Number.prototype.valueOf),r=S(String.prototype.valueOf),n=S(Boolean.prototype.valueOf);l&&(i=S(BigInt.prototype.valueOf));var i;e&&(s=S(Symbol.prototype.valueOf));var s;function c(ge,Te){if(typeof ge!="object")return!1;try{return Te(ge),!0}catch{return!1}}U.isArgumentsObject=O,U.isGeneratorFunction=u,U.isTypedArray=w;function p(ge){return typeof Promise<"u"&&ge instanceof Promise||ge!==null&&typeof ge=="object"&&typeof ge.then=="function"&&typeof ge.catch=="function"}U.isPromise=p;function f(ge){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(ge):w(ge)||q(ge)}U.isArrayBufferView=f;function d(ge){return v(ge)==="Uint8Array"}U.isUint8Array=d;function y(ge){return v(ge)==="Uint8ClampedArray"}U.isUint8ClampedArray=y;function o(ge){return v(ge)==="Uint16Array"}U.isUint16Array=o;function b(ge){return v(ge)==="Uint32Array"}U.isUint32Array=b;function M(ge){return v(ge)==="Int8Array"}U.isInt8Array=M;function A(ge){return v(ge)==="Int16Array"}U.isInt16Array=A;function E(ge){return v(ge)==="Int32Array"}U.isInt32Array=E;function g(ge){return v(ge)==="Float32Array"}U.isFloat32Array=g;function T(ge){return v(ge)==="Float64Array"}U.isFloat64Array=T;function m(ge){return v(ge)==="BigInt64Array"}U.isBigInt64Array=m;function h(ge){return v(ge)==="BigUint64Array"}U.isBigUint64Array=h;function x(ge){return t(ge)==="[object Map]"}x.working=typeof Map<"u"&&x(new Map);function _(ge){return typeof Map>"u"?!1:x.working?x(ge):ge instanceof Map}U.isMap=_;function D(ge){return t(ge)==="[object Set]"}D.working=typeof Set<"u"&&D(new Set);function C(ge){return typeof Set>"u"?!1:D.working?D(ge):ge instanceof Set}U.isSet=C;function F(ge){return t(ge)==="[object WeakMap]"}F.working=typeof WeakMap<"u"&&F(new WeakMap);function I(ge){return typeof WeakMap>"u"?!1:F.working?F(ge):ge instanceof WeakMap}U.isWeakMap=I;function z(ge){return t(ge)==="[object WeakSet]"}z.working=typeof WeakSet<"u"&&z(new WeakSet);function R(ge){return z(ge)}U.isWeakSet=R;function k(ge){return t(ge)==="[object ArrayBuffer]"}k.working=typeof ArrayBuffer<"u"&&k(new ArrayBuffer);function B(ge){return typeof ArrayBuffer>"u"?!1:k.working?k(ge):ge instanceof ArrayBuffer}U.isArrayBuffer=B;function N(ge){return t(ge)==="[object DataView]"}N.working=typeof ArrayBuffer<"u"&&typeof DataView<"u"&&N(new DataView(new ArrayBuffer(1),0,1));function q(ge){return typeof DataView>"u"?!1:N.working?N(ge):ge instanceof DataView}U.isDataView=q;var Y=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:void 0;function ee(ge){return t(ge)==="[object SharedArrayBuffer]"}function te(ge){return typeof Y>"u"?!1:(typeof ee.working>"u"&&(ee.working=ee(new Y)),ee.working?ee(ge):ge instanceof Y)}U.isSharedArrayBuffer=te;function ae(ge){return t(ge)==="[object AsyncFunction]"}U.isAsyncFunction=ae;function j(ge){return t(ge)==="[object Map Iterator]"}U.isMapIterator=j;function G(ge){return t(ge)==="[object Set Iterator]"}U.isSetIterator=G;function K(ge){return t(ge)==="[object Generator]"}U.isGeneratorObject=K;function H(ge){return t(ge)==="[object WebAssembly.Module]"}U.isWebAssemblyCompiledModule=H;function Z(ge){return c(ge,a)}U.isNumberObject=Z;function X(ge){return c(ge,r)}U.isStringObject=X;function $(ge){return c(ge,n)}U.isBooleanObject=$;function Q(ge){return l&&c(ge,i)}U.isBigIntObject=Q;function re(ge){return e&&c(ge,s)}U.isSymbolObject=re;function ue(ge){return Z(ge)||X(ge)||$(ge)||Q(ge)||re(ge)}U.isBoxedPrimitive=ue;function pe(ge){return typeof Uint8Array<"u"&&(B(ge)||te(ge))}U.isAnyArrayBuffer=pe,["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(ge){Object.defineProperty(U,ge,{enumerable:!1,value:function(){throw new Error(ge+" is not supported in userland")}})})}}),sx=xe({"node_modules/util/support/isBufferBrowser.js"(U,O){O.exports=function(v){return v&&typeof v=="object"&&typeof v.copy=="function"&&typeof v.fill=="function"&&typeof v.readUInt8=="function"}}}),lx=xe({"(disabled):node_modules/util/util.js"(U){var O=Object.getOwnPropertyDescriptors||function(q){for(var Y=Object.keys(q),ee={},te=0;te=te)return G;switch(G){case"%s":return String(ee[Y++]);case"%d":return Number(ee[Y++]);case"%j":try{return JSON.stringify(ee[Y++])}catch{return"[Circular]"}default:return G}}),j=ee[Y];Y"u")return function(){return U.deprecate(N,q).apply(this,arguments)};var Y=!1;function ee(){if(!Y){if(process.throwDeprecation)throw new Error(q);process.traceDeprecation?console.trace(q):console.error(q),Y=!0}return N.apply(this,arguments)}return ee};var v={},w=/^$/;S="false",S=S.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),w=new RegExp("^"+S+"$","i");var S;U.debuglog=function(N){if(N=N.toUpperCase(),!v[N])if(w.test(N)){var q=process.pid;v[N]=function(){var Y=U.format.apply(U,arguments);console.error("%s %d: %s",N,q,Y)}}else v[N]=function(){};return v[N]};function l(N,q){var Y={seen:[],stylize:t};return arguments.length>=3&&(Y.depth=arguments[2]),arguments.length>=4&&(Y.colors=arguments[3]),d(q)?Y.showHidden=q:q&&U._extend(Y,q),E(Y.showHidden)&&(Y.showHidden=!1),E(Y.depth)&&(Y.depth=2),E(Y.colors)&&(Y.colors=!1),E(Y.customInspect)&&(Y.customInspect=!0),Y.colors&&(Y.stylize=e),r(Y,N,Y.depth)}U.inspect=l,l.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]},l.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function e(N,q){var Y=l.styles[q];return Y?"\x1B["+l.colors[Y][0]+"m"+N+"\x1B["+l.colors[Y][1]+"m":N}function t(N,q){return N}function a(N){var q={};return N.forEach(function(Y,ee){q[Y]=!0}),q}function r(N,q,Y){if(N.customInspect&&q&&x(q.inspect)&&q.inspect!==U.inspect&&!(q.constructor&&q.constructor.prototype===q)){var ee=q.inspect(Y,N);return M(ee)||(ee=r(N,ee,Y)),ee}var te=n(N,q);if(te)return te;var ae=Object.keys(q),j=a(ae);if(N.showHidden&&(ae=Object.getOwnPropertyNames(q)),h(q)&&(ae.indexOf("message")>=0||ae.indexOf("description")>=0))return i(q);if(ae.length===0){if(x(q)){var G=q.name?": "+q.name:"";return N.stylize("[Function"+G+"]","special")}if(g(q))return N.stylize(RegExp.prototype.toString.call(q),"regexp");if(m(q))return N.stylize(Date.prototype.toString.call(q),"date");if(h(q))return i(q)}var K="",H=!1,Z=["{","}"];if(f(q)&&(H=!0,Z=["[","]"]),x(q)){var X=q.name?": "+q.name:"";K=" [Function"+X+"]"}if(g(q)&&(K=" "+RegExp.prototype.toString.call(q)),m(q)&&(K=" "+Date.prototype.toUTCString.call(q)),h(q)&&(K=" "+i(q)),ae.length===0&&(!H||q.length==0))return Z[0]+K+Z[1];if(Y<0)return g(q)?N.stylize(RegExp.prototype.toString.call(q),"regexp"):N.stylize("[Object]","special");N.seen.push(q);var $;return H?$=s(N,q,Y,j,ae):$=ae.map(function(Q){return c(N,q,Y,j,Q,H)}),N.seen.pop(),p($,K,Z)}function n(N,q){if(E(q))return N.stylize("undefined","undefined");if(M(q)){var Y="'"+JSON.stringify(q).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return N.stylize(Y,"string")}if(b(q))return N.stylize(""+q,"number");if(d(q))return N.stylize(""+q,"boolean");if(y(q))return N.stylize("null","null")}function i(N){return"["+Error.prototype.toString.call(N)+"]"}function s(N,q,Y,ee,te){for(var ae=[],j=0,G=q.length;j-1&&(ae?G=G.split(` +`).map(function(H){return" "+H}).join(` +`).slice(2):G=` +`+G.split(` +`).map(function(H){return" "+H}).join(` +`))):G=N.stylize("[Circular]","special")),E(j)){if(ae&&te.match(/^\d+$/))return G;j=JSON.stringify(""+te),j.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(j=j.slice(1,-1),j=N.stylize(j,"name")):(j=j.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),j=N.stylize(j,"string"))}return j+": "+G}function p(N,q,Y){var ee=0,te=N.reduce(function(ae,j){return ee++,j.indexOf(` +`)>=0&&ee++,ae+j.replace(/\u001b\[\d\d?m/g,"").length+1},0);return te>60?Y[0]+(q===""?"":q+` + `)+" "+N.join(`, + `)+" "+Y[1]:Y[0]+q+" "+N.join(", ")+" "+Y[1]}U.types=ox();function f(N){return Array.isArray(N)}U.isArray=f;function d(N){return typeof N=="boolean"}U.isBoolean=d;function y(N){return N===null}U.isNull=y;function o(N){return N==null}U.isNullOrUndefined=o;function b(N){return typeof N=="number"}U.isNumber=b;function M(N){return typeof N=="string"}U.isString=M;function A(N){return typeof N=="symbol"}U.isSymbol=A;function E(N){return N===void 0}U.isUndefined=E;function g(N){return T(N)&&D(N)==="[object RegExp]"}U.isRegExp=g,U.types.isRegExp=g;function T(N){return typeof N=="object"&&N!==null}U.isObject=T;function m(N){return T(N)&&D(N)==="[object Date]"}U.isDate=m,U.types.isDate=m;function h(N){return T(N)&&(D(N)==="[object Error]"||N instanceof Error)}U.isError=h,U.types.isNativeError=h;function x(N){return typeof N=="function"}U.isFunction=x;function _(N){return N===null||typeof N=="boolean"||typeof N=="number"||typeof N=="string"||typeof N=="symbol"||typeof N>"u"}U.isPrimitive=_,U.isBuffer=sx();function D(N){return Object.prototype.toString.call(N)}function C(N){return N<10?"0"+N.toString(10):N.toString(10)}var F=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function I(){var N=new Date,q=[C(N.getHours()),C(N.getMinutes()),C(N.getSeconds())].join(":");return[N.getDate(),F[N.getMonth()],q].join(" ")}U.log=function(){console.log("%s - %s",I(),U.format.apply(U,arguments))},U.inherits=dd(),U._extend=function(N,q){if(!q||!T(q))return N;for(var Y=Object.keys(q),ee=Y.length;ee--;)N[Y[ee]]=q[Y[ee]];return N};function z(N,q){return Object.prototype.hasOwnProperty.call(N,q)}var R=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;U.promisify=function(q){if(typeof q!="function")throw new TypeError('The "original" argument must be of type Function');if(R&&q[R]){var Y=q[R];if(typeof Y!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(Y,R,{value:Y,enumerable:!1,writable:!1,configurable:!0}),Y}function Y(){for(var ee,te,ae=new Promise(function(K,H){ee=K,te=H}),j=[],G=0;G0?this.tail.next=d:this.head=d,this.tail=d,++this.length}},{key:"unshift",value:function(f){var d={data:f,next:this.head};this.length===0&&(this.tail=d),this.head=d,++this.length}},{key:"shift",value:function(){if(this.length!==0){var f=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,f}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(f){if(this.length===0)return"";for(var d=this.head,y=""+d.data;d=d.next;)y+=f+d.data;return y}},{key:"concat",value:function(f){if(this.length===0)return a.alloc(0);for(var d=a.allocUnsafe(f>>>0),y=this.head,o=0;y;)s(y.data,d,o),o+=y.data.length,y=y.next;return d}},{key:"consume",value:function(f,d){var y;return fb.length?b.length:f;if(M===b.length?o+=b:o+=b.slice(0,f),f-=M,f===0){M===b.length?(++y,d.next?this.head=d.next:this.head=this.tail=null):(this.head=d,d.data=b.slice(M));break}++y}return this.length-=y,o}},{key:"_getBuffer",value:function(f){var d=a.allocUnsafe(f),y=this.head,o=1;for(y.data.copy(d),f-=y.data.length;y=y.next;){var b=y.data,M=f>b.length?b.length:f;if(b.copy(d,d.length-f,0,M),f-=M,f===0){M===b.length?(++o,y.next?this.head=y.next:this.head=this.tail=null):(this.head=y,y.data=b.slice(M));break}++o}return this.length-=o,d}},{key:i,value:function(f,d){return n(this,v({},d,{depth:0,customInspect:!1}))}}]),c}()}}),ux=xe({"node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/destroy.js"(U,O){"use strict";function u(t,a){var r=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(a?a(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(l,this,t)):process.nextTick(l,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(s){!a&&s?r._writableState?r._writableState.errorEmitted?process.nextTick(w,r):(r._writableState.errorEmitted=!0,process.nextTick(v,r,s)):process.nextTick(v,r,s):a?(process.nextTick(w,r),a(s)):process.nextTick(w,r)}),this)}function v(t,a){l(t,a),w(t)}function w(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function S(){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 l(t,a){t.emit("error",a)}function e(t,a){var r=t._readableState,n=t._writableState;r&&r.autoDestroy||n&&n.autoDestroy?t.destroy(a):t.emit("error",a)}O.exports={destroy:u,undestroy:S,errorOrDestroy:e}}}),Ev=xe({"node_modules/stream-browserify/node_modules/readable-stream/errors-browser.js"(U,O){"use strict";function u(a,r){a.prototype=Object.create(r.prototype),a.prototype.constructor=a,a.__proto__=r}var v={};function w(a,r,n){n||(n=Error);function i(c,p,f){return typeof r=="string"?r:r(c,p,f)}var s=function(c){u(p,c);function p(f,d,y){return c.call(this,i(f,d,y))||this}return p}(n);s.prototype.name=n.name,s.prototype.code=a,v[a]=s}function S(a,r){if(Array.isArray(a)){var n=a.length;return a=a.map(function(i){return String(i)}),n>2?"one of ".concat(r," ").concat(a.slice(0,n-1).join(", "),", or ")+a[n-1]:n===2?"one of ".concat(r," ").concat(a[0]," or ").concat(a[1]):"of ".concat(r," ").concat(a[0])}else return"of ".concat(r," ").concat(String(a))}function l(a,r,n){return a.substr(!n||n<0?0:+n,r.length)===r}function e(a,r,n){return(n===void 0||n>a.length)&&(n=a.length),a.substring(n-r.length,n)===r}function t(a,r,n){return typeof n!="number"&&(n=0),n+r.length>a.length?!1:a.indexOf(r,n)!==-1}w("ERR_INVALID_OPT_VALUE",function(a,r){return'The value "'+r+'" is invalid for option "'+a+'"'},TypeError),w("ERR_INVALID_ARG_TYPE",function(a,r,n){var i;typeof r=="string"&&l(r,"not ")?(i="must not be",r=r.replace(/^not /,"")):i="must be";var s;if(e(a," argument"))s="The ".concat(a," ").concat(i," ").concat(S(r,"type"));else{var c=t(a,".")?"property":"argument";s='The "'.concat(a,'" ').concat(c," ").concat(i," ").concat(S(r,"type"))}return s+=". Received type ".concat(typeof n),s},TypeError),w("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),w("ERR_METHOD_NOT_IMPLEMENTED",function(a){return"The "+a+" method is not implemented"}),w("ERR_STREAM_PREMATURE_CLOSE","Premature close"),w("ERR_STREAM_DESTROYED",function(a){return"Cannot call "+a+" after a stream was destroyed"}),w("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),w("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),w("ERR_STREAM_WRITE_AFTER_END","write after end"),w("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),w("ERR_UNKNOWN_ENCODING",function(a){return"Unknown encoding: "+a},TypeError),w("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),O.exports.codes=v}}),cx=xe({"node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/state.js"(U,O){"use strict";var u=Ev().codes.ERR_INVALID_OPT_VALUE;function v(S,l,e){return S.highWaterMark!=null?S.highWaterMark:l?S[e]:null}function w(S,l,e,t){var a=v(l,t,e);if(a!=null){if(!(isFinite(a)&&Math.floor(a)===a)||a<0){var r=t?e:"highWaterMark";throw new u(r,a)}return Math.floor(a)}return S.objectMode?16:16*1024}O.exports={getHighWaterMark:w}}}),$S=xe({"node_modules/util-deprecate/browser.js"(U,O){O.exports=u;function u(w,S){if(v("noDeprecation"))return w;var l=!1;function e(){if(!l){if(v("throwDeprecation"))throw new Error(S);v("traceDeprecation")?console.trace(S):console.warn(S),l=!0}return w.apply(this,arguments)}return e}function v(w){try{if(!window.localStorage)return!1}catch{return!1}var S=window.localStorage[w];return S==null?!1:String(S).toLowerCase()==="true"}}}),fx=xe({"node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_writable.js"(U,O){"use strict";O.exports=m;function u(j){var G=this;this.next=null,this.entry=null,this.finish=function(){ae(G,j)}}var v;m.WritableState=g;var w={deprecate:$S()},S=Kb(),l=Mv().Buffer,e=window.Uint8Array||function(){};function t(j){return l.from(j)}function a(j){return l.isBuffer(j)||j instanceof e}var r=ux(),n=cx(),i=n.getHighWaterMark,s=Ev().codes,c=s.ERR_INVALID_ARG_TYPE,p=s.ERR_METHOD_NOT_IMPLEMENTED,f=s.ERR_MULTIPLE_CALLBACK,d=s.ERR_STREAM_CANNOT_PIPE,y=s.ERR_STREAM_DESTROYED,o=s.ERR_STREAM_NULL_VALUES,b=s.ERR_STREAM_WRITE_AFTER_END,M=s.ERR_UNKNOWN_ENCODING,A=r.errorOrDestroy;dd()(m,S);function E(){}function g(j,G,K){v=v||kv(),j=j||{},typeof K!="boolean"&&(K=G instanceof v),this.objectMode=!!j.objectMode,K&&(this.objectMode=this.objectMode||!!j.writableObjectMode),this.highWaterMark=i(this,j,"writableHighWaterMark",K),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var H=j.decodeStrings===!1;this.decodeStrings=!H,this.defaultEncoding=j.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(Z){z(G,Z)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=j.emitClose!==!1,this.autoDestroy=!!j.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new u(this)}g.prototype.getBuffer=function(){for(var G=this.bufferedRequest,K=[];G;)K.push(G),G=G.next;return K},function(){try{Object.defineProperty(g.prototype,"buffer",{get:w.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}();var T;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(T=Function.prototype[Symbol.hasInstance],Object.defineProperty(m,Symbol.hasInstance,{value:function(G){return T.call(this,G)?!0:this!==m?!1:G&&G._writableState instanceof g}})):T=function(G){return G instanceof this};function m(j){v=v||kv();var G=this instanceof v;if(!G&&!T.call(m,this))return new m(j);this._writableState=new g(j,this,G),this.writable=!0,j&&(typeof j.write=="function"&&(this._write=j.write),typeof j.writev=="function"&&(this._writev=j.writev),typeof j.destroy=="function"&&(this._destroy=j.destroy),typeof j.final=="function"&&(this._final=j.final)),S.call(this)}m.prototype.pipe=function(){A(this,new d)};function h(j,G){var K=new b;A(j,K),process.nextTick(G,K)}function x(j,G,K,H){var Z;return K===null?Z=new o:typeof K!="string"&&!G.objectMode&&(Z=new c("chunk",["string","Buffer"],K)),Z?(A(j,Z),process.nextTick(H,Z),!1):!0}m.prototype.write=function(j,G,K){var H=this._writableState,Z=!1,X=!H.objectMode&&a(j);return X&&!l.isBuffer(j)&&(j=t(j)),typeof G=="function"&&(K=G,G=null),X?G="buffer":G||(G=H.defaultEncoding),typeof K!="function"&&(K=E),H.ending?h(this,K):(X||x(this,H,j,K))&&(H.pendingcb++,Z=D(this,H,X,j,G,K)),Z},m.prototype.cork=function(){this._writableState.corked++},m.prototype.uncork=function(){var j=this._writableState;j.corked&&(j.corked--,!j.writing&&!j.corked&&!j.bufferProcessing&&j.bufferedRequest&&B(this,j))},m.prototype.setDefaultEncoding=function(G){if(typeof G=="string"&&(G=G.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((G+"").toLowerCase())>-1))throw new M(G);return this._writableState.defaultEncoding=G,this},Object.defineProperty(m.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function _(j,G,K){return!j.objectMode&&j.decodeStrings!==!1&&typeof G=="string"&&(G=l.from(G,K)),G}Object.defineProperty(m.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function D(j,G,K,H,Z,X){if(!K){var $=_(G,H,Z);H!==$&&(K=!0,Z="buffer",H=$)}var Q=G.objectMode?1:H.length;G.length+=Q;var re=G.length>5===6?2:y>>4===14?3:y>>3===30?4:y>>6===2?-1:-2}function e(y,o,b){var M=o.length-1;if(M=0?(A>0&&(y.lastNeed=A-1),A):--M=0?(A>0&&(y.lastNeed=A-2),A):--M=0?(A>0&&(A===2?A=0:y.lastNeed=A-3),A):0))}function t(y,o,b){if((o[0]&192)!==128)return y.lastNeed=0,"\uFFFD";if(y.lastNeed>1&&o.length>1){if((o[1]&192)!==128)return y.lastNeed=1,"\uFFFD";if(y.lastNeed>2&&o.length>2&&(o[2]&192)!==128)return y.lastNeed=2,"\uFFFD"}}function a(y){var o=this.lastTotal-this.lastNeed,b=t(this,y,o);if(b!==void 0)return b;if(this.lastNeed<=y.length)return y.copy(this.lastChar,o,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);y.copy(this.lastChar,o,0,y.length),this.lastNeed-=y.length}function r(y,o){var b=e(this,y,o);if(!this.lastNeed)return y.toString("utf8",o);this.lastTotal=b;var M=y.length-(b-this.lastNeed);return y.copy(this.lastChar,0,M),y.toString("utf8",o,M)}function n(y){var o=y&&y.length?this.write(y):"";return this.lastNeed?o+"\uFFFD":o}function i(y,o){if((y.length-o)%2===0){var b=y.toString("utf16le",o);if(b){var M=b.charCodeAt(b.length-1);if(M>=55296&&M<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=y[y.length-2],this.lastChar[1]=y[y.length-1],b.slice(0,-1)}return b}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=y[y.length-1],y.toString("utf16le",o,y.length-1)}function s(y){var o=y&&y.length?this.write(y):"";if(this.lastNeed){var b=this.lastTotal-this.lastNeed;return o+this.lastChar.toString("utf16le",0,b)}return o}function c(y,o){var b=(y.length-o)%3;return b===0?y.toString("base64",o):(this.lastNeed=3-b,this.lastTotal=3,b===1?this.lastChar[0]=y[y.length-1]:(this.lastChar[0]=y[y.length-2],this.lastChar[1]=y[y.length-1]),y.toString("base64",o,y.length-b))}function p(y){var o=y&&y.length?this.write(y):"";return this.lastNeed?o+this.lastChar.toString("base64",0,3-this.lastNeed):o}function f(y){return y.toString(this.encoding)}function d(y){return y&&y.length?this.write(y):""}}}),$g=xe({"node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(U,O){"use strict";var u=Ev().codes.ERR_STREAM_PREMATURE_CLOSE;function v(e){var t=!1;return function(){if(!t){t=!0;for(var a=arguments.length,r=new Array(a),n=0;n0)if(typeof Q!="string"&&!ge.objectMode&&Object.getPrototypeOf(Q)!==l.prototype&&(Q=t(Q)),ue)ge.endEmitted?g($,new b):D($,ge,Q,!0);else if(ge.ended)g($,new y);else{if(ge.destroyed)return!1;ge.reading=!1,ge.decoder&&!re?(Q=ge.decoder.write(Q),ge.objectMode||Q.length!==0?D($,ge,Q,!1):N($,ge)):D($,ge,Q,!1)}else ue||(ge.reading=!1,N($,ge))}return!ge.ended&&(ge.length=F?$=F:($--,$|=$>>>1,$|=$>>>2,$|=$>>>4,$|=$>>>8,$|=$>>>16,$++),$}function z($,Q){return $<=0||Q.length===0&&Q.ended?0:Q.objectMode?1:$!==$?Q.flowing&&Q.length?Q.buffer.head.data.length:Q.length:($>Q.highWaterMark&&(Q.highWaterMark=I($)),$<=Q.length?$:Q.ended?Q.length:(Q.needReadable=!0,0))}x.prototype.read=function($){n("read",$),$=parseInt($,10);var Q=this._readableState,re=$;if($!==0&&(Q.emittedReadable=!1),$===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?H(this):k(this),null;if($=z($,Q),$===0&&Q.ended)return Q.length===0&&H(this),null;var ue=Q.needReadable;n("need readable",ue),(Q.length===0||Q.length-$0?pe=K($,Q):pe=null,pe===null?(Q.needReadable=Q.length<=Q.highWaterMark,$=0):(Q.length-=$,Q.awaitDrain=0),Q.length===0&&(Q.ended||(Q.needReadable=!0),re!==$&&Q.ended&&H(this)),pe!==null&&this.emit("data",pe),pe};function R($,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?k($):(Q.needReadable=!1,Q.emittedReadable||(Q.emittedReadable=!0,B($)))}}function k($){var Q=$._readableState;n("emitReadable",Q.needReadable,Q.emittedReadable),Q.needReadable=!1,Q.emittedReadable||(n("emitReadable",Q.flowing),Q.emittedReadable=!0,process.nextTick(B,$))}function B($){var Q=$._readableState;n("emitReadable_",Q.destroyed,Q.length,Q.ended),!Q.destroyed&&(Q.length||Q.ended)&&($.emit("readable"),Q.emittedReadable=!1),Q.needReadable=!Q.flowing&&!Q.ended&&Q.length<=Q.highWaterMark,G($)}function N($,Q){Q.readingMore||(Q.readingMore=!0,process.nextTick(q,$,Q))}function q($,Q){for(;!Q.reading&&!Q.ended&&(Q.length1&&X(ue.pipes,$)!==-1)&&!Ue&&(n("false write response, pause",ue.awaitDrain),ue.awaitDrain++),re.pause())}function ce(be){n("onerror",be),ne(),$.removeListener("error",ce),w($,"error")===0&&g($,be)}m($,"error",ce);function ie(){$.removeListener("finish",se),ne()}$.once("close",ie);function se(){n("onfinish"),$.removeListener("close",ie),ne()}$.once("finish",se);function ne(){n("unpipe"),re.unpipe($)}return $.emit("pipe",re),ue.flowing||(n("pipe resume"),re.resume()),$};function Y($){return function(){var re=$._readableState;n("pipeOnDrain",re.awaitDrain),re.awaitDrain&&re.awaitDrain--,re.awaitDrain===0&&w($,"data")&&(re.flowing=!0,G($))}}x.prototype.unpipe=function($){var Q=this._readableState,re={hasUnpiped:!1};if(Q.pipesCount===0)return this;if(Q.pipesCount===1)return $&&$!==Q.pipes?this:($||($=Q.pipes),Q.pipes=null,Q.pipesCount=0,Q.flowing=!1,$&&$.emit("unpipe",this,re),this);if(!$){var ue=Q.pipes,pe=Q.pipesCount;Q.pipes=null,Q.pipesCount=0,Q.flowing=!1;for(var ge=0;ge0,ue.flowing!==!1&&this.resume()):$==="readable"&&!ue.endEmitted&&!ue.readableListening&&(ue.readableListening=ue.needReadable=!0,ue.flowing=!1,ue.emittedReadable=!1,n("on readable",ue.length,ue.reading),ue.length?k(this):ue.reading||process.nextTick(te,this)),re},x.prototype.addListener=x.prototype.on,x.prototype.removeListener=function($,Q){var re=S.prototype.removeListener.call(this,$,Q);return $==="readable"&&process.nextTick(ee,this),re},x.prototype.removeAllListeners=function($){var Q=S.prototype.removeAllListeners.apply(this,arguments);return($==="readable"||$===void 0)&&process.nextTick(ee,this),Q};function ee($){var Q=$._readableState;Q.readableListening=$.listenerCount("readable")>0,Q.resumeScheduled&&!Q.paused?Q.flowing=!0:$.listenerCount("data")>0&&$.resume()}function te($){n("readable nexttick read 0"),$.read(0)}x.prototype.resume=function(){var $=this._readableState;return $.flowing||(n("resume"),$.flowing=!$.readableListening,ae(this,$)),$.paused=!1,this};function ae($,Q){Q.resumeScheduled||(Q.resumeScheduled=!0,process.nextTick(j,$,Q))}function j($,Q){n("resume",Q.reading),Q.reading||$.read(0),Q.resumeScheduled=!1,$.emit("resume"),G($),Q.flowing&&!Q.reading&&$.read(0)}x.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 G($){var Q=$._readableState;for(n("flow",Q.flowing);Q.flowing&&$.read()!==null;);}x.prototype.wrap=function($){var Q=this,re=this._readableState,ue=!1;$.on("end",function(){if(n("wrapped end"),re.decoder&&!re.ended){var Te=re.decoder.end();Te&&Te.length&&Q.push(Te)}Q.push(null)}),$.on("data",function(Te){if(n("wrapped data"),re.decoder&&(Te=re.decoder.write(Te)),!(re.objectMode&&Te==null)&&!(!re.objectMode&&(!Te||!Te.length))){var Se=Q.push(Te);Se||(ue=!0,$.pause())}});for(var pe in $)this[pe]===void 0&&typeof $[pe]=="function"&&(this[pe]=function(Se){return function(){return $[Se].apply($,arguments)}}(pe));for(var ge=0;ge=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($,Q.decoder),re}function H($){var Q=$._readableState;n("endReadable",Q.endEmitted),Q.endEmitted||(Q.ended=!0,process.nextTick(Z,Q,$))}function Z($,Q){if(n("endReadableNT",$.endEmitted,$.length),!$.endEmitted&&$.length===0&&($.endEmitted=!0,Q.readable=!1,Q.emit("end"),$.autoDestroy)){var re=Q._writableState;(!re||re.autoDestroy&&re.finished)&&Q.destroy()}}typeof Symbol=="function"&&(x.from=function($,Q){return E===void 0&&(E=JS()),E(x,$,Q)});function X($,Q){for(var re=0,ue=$.length;re0;return a(b,A,E,function(g){y||(y=g),g&&o.forEach(r),!A&&(o.forEach(r),d(y))})});return p.reduce(n)}O.exports=s}}),tE=xe({"node_modules/stream-browserify/index.js"(U,O){O.exports=w;var u=pv().EventEmitter,v=dd();v(w,u),w.Readable=dx(),w.Writable=fx(),w.Duplex=kv(),w.Transform=vx(),w.PassThrough=QS(),w.finished=$g(),w.pipeline=eE(),w.Stream=w;function w(){u.call(this)}w.prototype.pipe=function(S,l){var e=this;function t(p){S.writable&&S.write(p)===!1&&e.pause&&e.pause()}e.on("data",t);function a(){e.readable&&e.resume&&e.resume()}S.on("drain",a),!S._isStdio&&(!l||l.end!==!1)&&(e.on("end",n),e.on("close",i));var r=!1;function n(){r||(r=!0,S.end())}function i(){r||(r=!0,typeof S.destroy=="function"&&S.destroy())}function s(p){if(c(),u.listenerCount(this,"error")===0)throw p}e.on("error",s),S.on("error",s);function c(){e.removeListener("data",t),S.removeListener("drain",a),e.removeListener("end",n),e.removeListener("close",i),e.removeListener("error",s),S.removeListener("error",s),e.removeListener("end",c),e.removeListener("close",c),S.removeListener("close",c)}return e.on("end",c),e.on("close",c),S.on("close",c),S.emit("pipe",e),S}}}),Tp=xe({"node_modules/util/util.js"(U){var O=Object.getOwnPropertyDescriptors||function(q){for(var Y=Object.keys(q),ee={},te=0;te=te)return G;switch(G){case"%s":return String(ee[Y++]);case"%d":return Number(ee[Y++]);case"%j":try{return JSON.stringify(ee[Y++])}catch{return"[Circular]"}default:return G}}),j=ee[Y];Y"u")return function(){return U.deprecate(N,q).apply(this,arguments)};var Y=!1;function ee(){if(!Y){if(process.throwDeprecation)throw new Error(q);process.traceDeprecation?console.trace(q):console.error(q),Y=!0}return N.apply(this,arguments)}return ee};var v={},w=/^$/;S="false",S=S.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),w=new RegExp("^"+S+"$","i");var S;U.debuglog=function(N){if(N=N.toUpperCase(),!v[N])if(w.test(N)){var q=process.pid;v[N]=function(){var Y=U.format.apply(U,arguments);console.error("%s %d: %s",N,q,Y)}}else v[N]=function(){};return v[N]};function l(N,q){var Y={seen:[],stylize:t};return arguments.length>=3&&(Y.depth=arguments[2]),arguments.length>=4&&(Y.colors=arguments[3]),d(q)?Y.showHidden=q:q&&U._extend(Y,q),E(Y.showHidden)&&(Y.showHidden=!1),E(Y.depth)&&(Y.depth=2),E(Y.colors)&&(Y.colors=!1),E(Y.customInspect)&&(Y.customInspect=!0),Y.colors&&(Y.stylize=e),r(Y,N,Y.depth)}U.inspect=l,l.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]},l.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function e(N,q){var Y=l.styles[q];return Y?"\x1B["+l.colors[Y][0]+"m"+N+"\x1B["+l.colors[Y][1]+"m":N}function t(N,q){return N}function a(N){var q={};return N.forEach(function(Y,ee){q[Y]=!0}),q}function r(N,q,Y){if(N.customInspect&&q&&x(q.inspect)&&q.inspect!==U.inspect&&!(q.constructor&&q.constructor.prototype===q)){var ee=q.inspect(Y,N);return M(ee)||(ee=r(N,ee,Y)),ee}var te=n(N,q);if(te)return te;var ae=Object.keys(q),j=a(ae);if(N.showHidden&&(ae=Object.getOwnPropertyNames(q)),h(q)&&(ae.indexOf("message")>=0||ae.indexOf("description")>=0))return i(q);if(ae.length===0){if(x(q)){var G=q.name?": "+q.name:"";return N.stylize("[Function"+G+"]","special")}if(g(q))return N.stylize(RegExp.prototype.toString.call(q),"regexp");if(m(q))return N.stylize(Date.prototype.toString.call(q),"date");if(h(q))return i(q)}var K="",H=!1,Z=["{","}"];if(f(q)&&(H=!0,Z=["[","]"]),x(q)){var X=q.name?": "+q.name:"";K=" [Function"+X+"]"}if(g(q)&&(K=" "+RegExp.prototype.toString.call(q)),m(q)&&(K=" "+Date.prototype.toUTCString.call(q)),h(q)&&(K=" "+i(q)),ae.length===0&&(!H||q.length==0))return Z[0]+K+Z[1];if(Y<0)return g(q)?N.stylize(RegExp.prototype.toString.call(q),"regexp"):N.stylize("[Object]","special");N.seen.push(q);var $;return H?$=s(N,q,Y,j,ae):$=ae.map(function(Q){return c(N,q,Y,j,Q,H)}),N.seen.pop(),p($,K,Z)}function n(N,q){if(E(q))return N.stylize("undefined","undefined");if(M(q)){var Y="'"+JSON.stringify(q).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return N.stylize(Y,"string")}if(b(q))return N.stylize(""+q,"number");if(d(q))return N.stylize(""+q,"boolean");if(y(q))return N.stylize("null","null")}function i(N){return"["+Error.prototype.toString.call(N)+"]"}function s(N,q,Y,ee,te){for(var ae=[],j=0,G=q.length;j-1&&(ae?G=G.split(` +`).map(function(H){return" "+H}).join(` +`).slice(2):G=` +`+G.split(` +`).map(function(H){return" "+H}).join(` +`))):G=N.stylize("[Circular]","special")),E(j)){if(ae&&te.match(/^\d+$/))return G;j=JSON.stringify(""+te),j.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(j=j.slice(1,-1),j=N.stylize(j,"name")):(j=j.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),j=N.stylize(j,"string"))}return j+": "+G}function p(N,q,Y){var ee=0,te=N.reduce(function(ae,j){return ee++,j.indexOf(` +`)>=0&&ee++,ae+j.replace(/\u001b\[\d\d?m/g,"").length+1},0);return te>60?Y[0]+(q===""?"":q+` + `)+" "+N.join(`, + `)+" "+Y[1]:Y[0]+q+" "+N.join(", ")+" "+Y[1]}U.types=ox();function f(N){return Array.isArray(N)}U.isArray=f;function d(N){return typeof N=="boolean"}U.isBoolean=d;function y(N){return N===null}U.isNull=y;function o(N){return N==null}U.isNullOrUndefined=o;function b(N){return typeof N=="number"}U.isNumber=b;function M(N){return typeof N=="string"}U.isString=M;function A(N){return typeof N=="symbol"}U.isSymbol=A;function E(N){return N===void 0}U.isUndefined=E;function g(N){return T(N)&&D(N)==="[object RegExp]"}U.isRegExp=g,U.types.isRegExp=g;function T(N){return typeof N=="object"&&N!==null}U.isObject=T;function m(N){return T(N)&&D(N)==="[object Date]"}U.isDate=m,U.types.isDate=m;function h(N){return T(N)&&(D(N)==="[object Error]"||N instanceof Error)}U.isError=h,U.types.isNativeError=h;function x(N){return typeof N=="function"}U.isFunction=x;function _(N){return N===null||typeof N=="boolean"||typeof N=="number"||typeof N=="string"||typeof N=="symbol"||typeof N>"u"}U.isPrimitive=_,U.isBuffer=sx();function D(N){return Object.prototype.toString.call(N)}function C(N){return N<10?"0"+N.toString(10):N.toString(10)}var F=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function I(){var N=new Date,q=[C(N.getHours()),C(N.getMinutes()),C(N.getSeconds())].join(":");return[N.getDate(),F[N.getMonth()],q].join(" ")}U.log=function(){console.log("%s - %s",I(),U.format.apply(U,arguments))},U.inherits=dd(),U._extend=function(N,q){if(!q||!T(q))return N;for(var Y=Object.keys(q),ee=Y.length;ee--;)N[Y[ee]]=q[Y[ee]];return N};function z(N,q){return Object.prototype.hasOwnProperty.call(N,q)}var R=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;U.promisify=function(q){if(typeof q!="function")throw new TypeError('The "original" argument must be of type Function');if(R&&q[R]){var Y=q[R];if(typeof Y!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(Y,R,{value:Y,enumerable:!1,writable:!1,configurable:!0}),Y}function Y(){for(var ee,te,ae=new Promise(function(K,H){ee=K,te=H}),j=[],G=0;G"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(E){return c=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(T){return T.__proto__||Object.getPrototypeOf(T)},c(E)}var p={},f,d;function y(E,g,T){T||(T=Error);function m(x,_,D){return typeof g=="string"?g:g(x,_,D)}var h=function(x){t(D,x);var _=r(D);function D(C,F,I){var z;return e(this,D),z=_.call(this,m(C,F,I)),z.code=E,z}return w(D)}(T);p[E]=h}function o(E,g){if(Array.isArray(E)){var T=E.length;return E=E.map(function(m){return String(m)}),T>2?"one of ".concat(g," ").concat(E.slice(0,T-1).join(", "),", or ")+E[T-1]:T===2?"one of ".concat(g," ").concat(E[0]," or ").concat(E[1]):"of ".concat(g," ").concat(E[0])}else return"of ".concat(g," ").concat(String(E))}function b(E,g,T){return E.substr(!T||T<0?0:+T,g.length)===g}function M(E,g,T){return(T===void 0||T>E.length)&&(T=E.length),E.substring(T-g.length,T)===g}function A(E,g,T){return typeof T!="number"&&(T=0),T+g.length>E.length?!1:E.indexOf(g,T)!==-1}y("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),y("ERR_INVALID_ARG_TYPE",function(E,g,T){f===void 0&&(f=C0()),f(typeof E=="string","'name' must be a string");var m;typeof g=="string"&&b(g,"not ")?(m="must not be",g=g.replace(/^not /,"")):m="must be";var h;if(M(E," argument"))h="The ".concat(E," ").concat(m," ").concat(o(g,"type"));else{var x=A(E,".")?"property":"argument";h='The "'.concat(E,'" ').concat(x," ").concat(m," ").concat(o(g,"type"))}return h+=". Received type ".concat(u(T)),h},TypeError),y("ERR_INVALID_ARG_VALUE",function(E,g){var T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"is invalid";d===void 0&&(d=Tp());var m=d.inspect(g);return m.length>128&&(m="".concat(m.slice(0,128),"...")),"The argument '".concat(E,"' ").concat(T,". Received ").concat(m)},TypeError,RangeError),y("ERR_INVALID_RETURN_VALUE",function(E,g,T){var m;return T&&T.constructor&&T.constructor.name?m="instance of ".concat(T.constructor.name):m="type ".concat(u(T)),"Expected ".concat(E,' to be returned from the "').concat(g,'"')+" function but got ".concat(m,".")},TypeError),y("ERR_MISSING_ARGS",function(){for(var E=arguments.length,g=new Array(E),T=0;T0,"At least one arg needs to be specified");var m="The ",h=g.length;switch(g=g.map(function(x){return'"'.concat(x,'"')}),h){case 1:m+="".concat(g[0]," argument");break;case 2:m+="".concat(g[0]," and ").concat(g[1]," arguments");break;default:m+=g.slice(0,h-1).join(", "),m+=", and ".concat(g[h-1]," arguments");break}return"".concat(m," must be specified")},TypeError),O.exports.codes=p}}),rE=xe({"node_modules/assert/build/internal/assert/assertion_error.js"(U,O){"use strict";function u(B,N){var q=Object.keys(B);if(Object.getOwnPropertySymbols){var Y=Object.getOwnPropertySymbols(B);N&&(Y=Y.filter(function(ee){return Object.getOwnPropertyDescriptor(B,ee).enumerable})),q.push.apply(q,Y)}return q}function v(B){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 d(B){return Function.toString.call(B).indexOf("[native code]")!==-1}function y(B,N){return y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(Y,ee){return Y.__proto__=ee,Y},y(B,N)}function o(B){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(q){return q.__proto__||Object.getPrototypeOf(q)},o(B)}function b(B){"@babel/helpers - typeof";return b=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},b(B)}var M=Tp(),A=M.inspect,E=px(),g=E.codes.ERR_INVALID_ARG_TYPE;function T(B,N,q){return(q===void 0||q>B.length)&&(q=B.length),B.substring(q-N.length,q)===N}function m(B,N){if(N=Math.floor(N),B.length==0||N==0)return"";var q=B.length*N;for(N=Math.floor(Math.log(N)/Math.log(2));N;)B+=B,N--;return B+=B.substring(0,q-B.length),B}var h="",x="",_="",D="",C={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:"},F=10;function I(B){var N=Object.keys(B),q=Object.create(Object.getPrototypeOf(B));return N.forEach(function(Y){q[Y]=B[Y]}),Object.defineProperty(q,"message",{value:B.message}),q}function z(B){return A(B,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function R(B,N,q){var Y="",ee="",te=0,ae="",j=!1,G=z(B),K=G.split(` +`),H=z(N).split(` +`),Z=0,X="";if(q==="strictEqual"&&b(B)==="object"&&b(N)==="object"&&B!==null&&N!==null&&(q="strictEqualObject"),K.length===1&&H.length===1&&K[0]!==H[0]){var $=K[0].length+H[0].length;if($<=F){if((b(B)!=="object"||B===null)&&(b(N)!=="object"||N===null)&&(B!==0||N!==0))return"".concat(C[q],` + +`)+"".concat(K[0]," !== ").concat(H[0],` +`)}else if(q!=="strictEqualObject"){var Q=process.stderr&&process.stderr.isTTY?process.stderr.columns:80;if($2&&(X=` + `.concat(m(" ",Z),"^"),Z=0)}}}for(var re=K[K.length-1],ue=H[H.length-1];re===ue&&(Z++<2?ae=` + `.concat(re).concat(ae):Y=re,K.pop(),H.pop(),!(K.length===0||H.length===0));)re=K[K.length-1],ue=H[H.length-1];var pe=Math.max(K.length,H.length);if(pe===0){var ge=G.split(` +`);if(ge.length>30)for(ge[26]="".concat(h,"...").concat(D);ge.length>27;)ge.pop();return"".concat(C.notIdentical,` + +`).concat(ge.join(` `),` -`)}oe>3&&(ce=` -`.concat(u,"...").concat(R).concat(ce),q=!0),J!==""&&(ce=` - `.concat(J).concat(ce),J="");var Re=0,ze=L[X]+` -`.concat(y,"+ actual").concat(R," ").concat(f,"- expected").concat(R),Xe=" ".concat(u,"...").concat(R," Lines skipped");for(oe=0;oe<_e;oe++){var tt=oe-le;if(ee.length1&&oe>2&&(tt>4?(se+=` -`.concat(u,"...").concat(R),q=!0):tt>3&&(se+=` - `.concat(V[oe-2]),Re++),se+=` - `.concat(V[oe-1]),Re++),le=oe,J+=` -`.concat(f,"-").concat(R," ").concat(V[oe]),Re++;else if(V.length1&&oe>2&&(tt>4?(se+=` -`.concat(u,"...").concat(R),q=!0):tt>3&&(se+=` - `.concat(ee[oe-2]),Re++),se+=` - `.concat(ee[oe-1]),Re++),le=oe,se+=` -`.concat(y,"+").concat(R," ").concat(ee[oe]),Re++;else{var it=V[oe],et=ee[oe],nt=et!==it&&(!b(et,",")||et.slice(0,-1)!==it);nt&&b(it,",")&&it.slice(0,-1)===et&&(nt=!1,et+=","),nt?(tt>1&&oe>2&&(tt>4?(se+=` -`.concat(u,"...").concat(R),q=!0):tt>3&&(se+=` - `.concat(ee[oe-2]),Re++),se+=` - `.concat(ee[oe-1]),Re++),le=oe,se+=` -`.concat(y,"+").concat(R," ").concat(et),J+=` -`.concat(f,"-").concat(R," ").concat(it),Re+=2):(se+=J,J="",(tt===1||oe===0)&&(se+=` - `.concat(et),Re++))}if(Re>20&&oe<_e-2)return"".concat(ze).concat(Xe,` -`).concat(se,` -`).concat(u,"...").concat(R).concat(J,` -`)+"".concat(u,"...").concat(R)}return"".concat(ze).concat(q?Xe:"",` -`).concat(se).concat(J).concat(ce).concat(ie)}var I=function(U,O){i(J,U);var X=n(J);function J(se){var le;if(E(this,J),_(se)!=="object"||se===null)throw new g("options","Object",se);var ce=se.message,q=se.operator,Z=se.stackStartFn,ee=se.actual,V=se.expected,oe=Error.stackTraceLimit;if(Error.stackTraceLimit=0,ce!=null)le=X.call(this,String(ce));else if(process.stderr&&process.stderr.isTTY&&(process.stderr&&process.stderr.getColorDepth&&process.stderr.getColorDepth()!==1?(u="\x1B[34m",y="\x1B[32m",R="\x1B[39m",f="\x1B[31m"):(u="",y="",R="",f="")),_(ee)==="object"&&ee!==null&&_(V)==="object"&&V!==null&&"stack"in ee&&ee instanceof Error&&"stack"in V&&V instanceof Error&&(ee=F(ee),V=F(V)),q==="deepStrictEqual"||q==="strictEqual")le=X.call(this,B(ee,V,q));else if(q==="notDeepStrictEqual"||q==="notStrictEqual"){var ie=L[q],j=N(ee).split(` -`);if(q==="notStrictEqual"&&_(ee)==="object"&&ee!==null&&(ie=L.notStrictEqualObject),j.length>30)for(j[26]="".concat(u,"...").concat(R);j.length>27;)j.pop();j.length===1?le=X.call(this,"".concat(ie," ").concat(j[0])):le=X.call(this,"".concat(ie,` - -`).concat(j.join(` +`)}Z>3&&(ae=` +`.concat(h,"...").concat(D).concat(ae),j=!0),Y!==""&&(ae=` + `.concat(Y).concat(ae),Y="");var Te=0,Se=C[q]+` +`.concat(x,"+ actual").concat(D," ").concat(_,"- expected").concat(D),Ce=" ".concat(h,"...").concat(D," Lines skipped");for(Z=0;Z1&&Z>2&&(Ue>4?(ee+=` +`.concat(h,"...").concat(D),j=!0):Ue>3&&(ee+=` + `.concat(H[Z-2]),Te++),ee+=` + `.concat(H[Z-1]),Te++),te=Z,Y+=` +`.concat(_,"-").concat(D," ").concat(H[Z]),Te++;else if(H.length1&&Z>2&&(Ue>4?(ee+=` +`.concat(h,"...").concat(D),j=!0):Ue>3&&(ee+=` + `.concat(K[Z-2]),Te++),ee+=` + `.concat(K[Z-1]),Te++),te=Z,ee+=` +`.concat(x,"+").concat(D," ").concat(K[Z]),Te++;else{var Oe=H[Z],_e=K[Z],ce=_e!==Oe&&(!T(_e,",")||_e.slice(0,-1)!==Oe);ce&&T(Oe,",")&&Oe.slice(0,-1)===_e&&(ce=!1,_e+=","),ce?(Ue>1&&Z>2&&(Ue>4?(ee+=` +`.concat(h,"...").concat(D),j=!0):Ue>3&&(ee+=` + `.concat(K[Z-2]),Te++),ee+=` + `.concat(K[Z-1]),Te++),te=Z,ee+=` +`.concat(x,"+").concat(D," ").concat(_e),Y+=` +`.concat(_,"-").concat(D," ").concat(Oe),Te+=2):(ee+=Y,Y="",(Ue===1||Z===0)&&(ee+=` + `.concat(_e),Te++))}if(Te>20&&Z30)for($[26]="".concat(h,"...").concat(D);$.length>27;)$.pop();$.length===1?te=q.call(this,"".concat(X," ").concat($[0])):te=q.call(this,"".concat(X,` + +`).concat($.join(` `),` -`))}else{var Q=N(ee),re="",ue=L[q];q==="notDeepEqual"||q==="notEqual"?(Q="".concat(L[q],` +`))}else{var Q=z(K),re="",ue=C[j];j==="notDeepEqual"||j==="notEqual"?(Q="".concat(C[j],` -`).concat(Q),Q.length>1024&&(Q="".concat(Q.slice(0,1021),"..."))):(re="".concat(N(V)),Q.length>512&&(Q="".concat(Q.slice(0,509),"...")),re.length>512&&(re="".concat(re.slice(0,509),"...")),q==="deepEqual"||q==="equal"?Q="".concat(ue,` +`).concat(Q),Q.length>1024&&(Q="".concat(Q.slice(0,1021),"..."))):(re="".concat(z(H)),Q.length>512&&(Q="".concat(Q.slice(0,509),"...")),re.length>512&&(re="".concat(re.slice(0,509),"...")),j==="deepEqual"||j==="equal"?Q="".concat(ue,` `).concat(Q,` should equal -`):re=" ".concat(q," ").concat(re)),le=X.call(this,"".concat(Q).concat(re))}return Error.stackTraceLimit=oe,le.generatedMessage=!ce,Object.defineProperty(s(le),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),le.code="ERR_ASSERTION",le.actual=ee,le.expected=V,le.operator=q,Error.captureStackTrace&&Error.captureStackTrace(s(le),Z),le.stack,le.name="AssertionError",a(le)}return t(J,[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:O,value:function(le,ce){return A(this,x(x({},ce),{},{customInspect:!1,depth:0}))}}]),J}(h(Error),A.custom);H.exports=I}}),z3=De({"node_modules/object-keys/isArguments.js"(Y,H){"use strict";var p=Object.prototype.toString;H.exports=function(S){var E=p.call(S),e=E==="[object Arguments]";return e||(e=E!=="[object Array]"&&S!==null&&typeof S=="object"&&typeof S.length=="number"&&S.length>=0&&p.call(S.callee)==="[object Function]"),e}}}),xC=De({"node_modules/object-keys/implementation.js"(Y,H){"use strict";var p;Object.keys||(x=Object.prototype.hasOwnProperty,S=Object.prototype.toString,E=z3(),e=Object.prototype.propertyIsEnumerable,t=!e.call({toString:null},"toString"),r=e.call(function(){},"prototype"),o=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],i=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},a=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{i(window[h])}catch{return!0}}catch{return!0}return!1}(),s=function(h){if(typeof window>"u"||!a)return i(h);try{return i(h)}catch{return!1}},p=function(c){var m=c!==null&&typeof c=="object",d=S.call(c)==="[object Function]",T=E(c),l=m&&S.call(c)==="[object String]",_=[];if(!m&&!d&&!T)throw new TypeError("Object.keys called on a non-object");var w=r&&d;if(l&&c.length>0&&!x.call(c,0))for(var A=0;A0)for(var M=0;M2?arguments[2]:{},c=p(s);x&&(c=E.call(c,Object.getOwnPropertySymbols(s)));for(var m=0;mAe.length)&&(me=Ae.length);for(var fe=0,Be=new Array(me);fe10)return!0;for(var me=0;me57)return!0}return Ae.length===10&&Ae>=Math.pow(2,32)}function I(Ae){return Object.keys(Ae).filter(B).concat(s(Ae).filter(Object.prototype.propertyIsEnumerable.bind(Ae)))}function U(Ae,me){if(Ae===me)return 0;for(var fe=Ae.length,Be=me.length,Qe=0,at=Math.min(fe,Be);Qe1?V-1:0),ie=1;ie1?V-1:0),ie=1;ie1?V-1:0),ie=1;ie1?V-1:0),ie=1;ie=0&&u.call(w.callee)==="[object Function]"),l}}}),aE=xe({"node_modules/object-keys/implementation.js"(U,O){"use strict";var u;Object.keys||(v=Object.prototype.hasOwnProperty,w=Object.prototype.toString,S=mx(),l=Object.prototype.propertyIsEnumerable,e=!l.call({toString:null},"toString"),t=l.call(function(){},"prototype"),a=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],r=function(c){var p=c.constructor;return p&&p.prototype===c},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 c in window)try{if(!n["$"+c]&&v.call(window,c)&&window[c]!==null&&typeof window[c]=="object")try{r(window[c])}catch{return!0}}catch{return!0}return!1}(),s=function(c){if(typeof window>"u"||!i)return r(c);try{return r(c)}catch{return!1}},u=function(p){var f=p!==null&&typeof p=="object",d=w.call(p)==="[object Function]",y=S(p),o=f&&w.call(p)==="[object String]",b=[];if(!f&&!d&&!y)throw new TypeError("Object.keys called on a non-object");var M=t&&d;if(o&&p.length>0&&!v.call(p,0))for(var A=0;A0)for(var E=0;E2?arguments[2]:{},p=u(s);v&&(p=S.call(p,Object.getOwnPropertySymbols(s)));for(var f=0;fie.length)&&(se=ie.length);for(var ne=0,be=new Array(se);ne10)return!0;for(var se=0;se57)return!0}return ie.length===10&&ie>=Math.pow(2,32)}function k(ie){return Object.keys(ie).filter(R).concat(s(ie).filter(Object.prototype.propertyIsEnumerable.bind(ie)))}function B(ie,se){if(ie===se)return 0;for(var ne=ie.length,be=se.length,De=0,qe=Math.min(ne,be);De1?H-1:0),X=1;X1?H-1:0),X=1;X1?H-1:0),X=1;X1?H-1:0),X=1;X0)return t(n);if(s==="number"&&isNaN(n)===!1)return a.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 a=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(n);if(a){var s=parseFloat(a[1]),h=(a[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*p;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>=p?Math.round(n/p)+"s":n+"ms"}function o(n){return i(n,E,"day")||i(n,S,"hour")||i(n,x,"minute")||i(n,p,"second")||n+" ms"}function i(n,a,s){if(!(n=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}Y.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 ":" ")+"+"+Y.humanize(this.diff),!!o){var i="color: "+this.color;r.splice(1,0,i,"color: inherit");var n=0,a=0;r[0].replace(/%[a-zA-Z%]/g,function(s){s!=="%%"&&(n++,s==="%c"&&(a=n))}),r.splice(a,0,i)}}function S(){return typeof console=="object"&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function E(r){try{r==null?Y.storage.removeItem("debug"):Y.storage.debug=r}catch{}}function e(){var r;try{r=Y.storage.debug}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}Y.enable(e());function t(){try{return window.localStorage}catch{}}}}),IC=De({"node_modules/stream-parser/index.js"(Y,H){var p=Py(),x=LC()("stream-parser");H.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=i,l._skipBytes=n,_&&(l._passthrough=a),_?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 i(l,_){p(!this._parserCallback,'there is already a "callback" set!'),p(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,_){p(!this._parserCallback,'there is already a "callback" set!'),p(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 a(l,_){p(!this._parserCallback,'There is already a "callback" set!'),p(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=_),d(this,l,null,w)}function h(l,_,w){this._parserInit||o(this),x("transform(%o bytes)",l.length),typeof _!="function"&&(_=this._parserOutput),d(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 v=M.apply(l,g);if(!b||A===v)return A}}else return A}var d=T(c);function T(l){return function(){for(var _=l.apply(this,arguments);typeof _=="function";)_=_();return _}}}}),sc=De({"node_modules/probe-image-size/lib/common.js"(Y){"use strict";var H=yC().Transform,p=IC();function x(){H.call(this,{readableObjectMode:!0})}x.prototype=Object.create(H.prototype),x.prototype.constructor=x,p(x.prototype),Y.ParserStream=x,Y.sliceEq=function(E,e,t){for(var r=e,o=0;o>4&15,c=a[4]&15,m=a[5]>>4&15,d=p(a,6),T=8,l=0;ld.width||m.width===d.width&&m.height>d.height?m:d}),h=a.reduce(function(m,d){return m.height>d.height||m.height===d.height&&m.width>d.width?m:d}),c;return s.width>h.height||s.width===h.height&&s.height>h.width?c=s:c=h,c}H.exports.readSizeFromMeta=function(a){var s={sizes:[],transforms:[],item_inf:{},item_loc:{}};if(i(a,s),!!s.sizes.length){var h=n(s.sizes),c=1;s.transforms.forEach(function(d){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(d.type==="imir"&&(d.value===0?c=l[c]:(c=l[c],c=T[c],c=T[c])),d.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 p("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 p("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 p("unexpected EOF","EBADDATA");for(var d=[],T=c,l=0;l0&&(this.ifds_to_read.push({id:i,offset:d[0]}),m=!0);var w={is_big_endian:this.big_endian,ifd:E,tag:i,format:n,count:a,entry_offset:e+this.start,data_length:h,data_offset:c+this.start,value:d,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)})},H.exports.ExifParser=S,H.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}}}}),RC=De({"node_modules/probe-image-size/lib/parse_sync/avif.js"(Y,H){"use strict";var p=sc().str2arr,x=sc().sliceEq,S=sc().readUInt32BE,E=PC(),e=xx(),t=p("ftyp");H.exports=function(r){if(x(r,4,t)){var o=E.unbox(r,0);if(o){var i=E.getMimeType(o.data);if(i){for(var n,a=o.end;;){var s=E.unbox(r,a);if(!s)break;if(a=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:i.type,mime:i.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),d=r.slice(h.exif_location.offset+m+4,h.exif_location.offset+h.exif_location.length),T=e.get_orientation(d);T>0&&(c.orientation=T)}return c}}}}}}}}),DC=De({"node_modules/probe-image-size/lib/parse_sync/bmp.js"(Y,H){"use strict";var p=sc().str2arr,x=sc().sliceEq,S=sc().readUInt16LE,E=p("BM");H.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"}}}}),zC=De({"node_modules/probe-image-size/lib/parse_sync/gif.js"(Y,H){"use strict";var p=sc().str2arr,x=sc().sliceEq,S=sc().readUInt16LE,E=p("GIF87a"),e=p("GIF89a");H.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"}}}}),FC=De({"node_modules/probe-image-size/lib/parse_sync/ico.js"(Y,H){"use strict";var p=sc().readUInt16LE,x=0,S=1,E=16;H.exports=function(e){var t=p(e,0),r=p(e,2),o=p(e,4);if(!(t!==x||r!==S||!o)){for(var i=[],n={width:0,height:0},a=0;an.width||h>n.height)&&(n=c)}return{width:n.width,height:n.height,variants:i,type:"ico",mime:"image/x-icon",wUnits:"px",hUnits:"px"}}}}}),BC=De({"node_modules/probe-image-size/lib/parse_sync/jpeg.js"(Y,H){"use strict";var p=sc().readUInt16BE,x=sc().str2arr,S=sc().sliceEq,E=xx(),e=x("Exif\0\0");H.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++],i;o===255;)o=t[r++];if(208<=o&&o<=217||o===1)i=0;else if(192<=o&&o<=254){if(t.length-r<2)return;i=p(t,r)-2,r+=2}else return;if(o===217||o===218)return;var n;if(o===225&&i>=10&&S(t,r,e)&&(n=E.get_orientation(t.slice(r+6,r+i))),i>=5&&192<=o&&o<=207&&o!==196&&o!==200&&o!==204){if(t.length-r0&&(a.orientation=n),a}r+=i}}}}),OC=De({"node_modules/probe-image-size/lib/parse_sync/png.js"(Y,H){"use strict";var p=sc().str2arr,x=sc().sliceEq,S=sc().readUInt32BE,E=p(`\x89PNG\r +`).concat(d(G),` +`));var re=new p({actual:G,expected:K,message:H,operator:X,stackStartFn:Z});throw re.generatedMessage=Q,re}}x.match=function G(K,H,Z){ae(K,H,Z,G,"match")},x.doesNotMatch=function G(K,H,Z){ae(K,H,Z,G,"doesNotMatch")};function j(){for(var G=arguments.length,K=new Array(G),H=0;H0)return e(n);if(s==="number"&&isNaN(n)===!1)return i.long?a(n):t(n);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(n))};function e(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]),c=(i[2]||"ms").toLowerCase();switch(c){case"years":case"year":case"yrs":case"yr":case"y":return s*l;case"days":case"day":case"d":return s*S;case"hours":case"hour":case"hrs":case"hr":case"h":return s*w;case"minutes":case"minute":case"mins":case"min":case"m":return s*v;case"seconds":case"second":case"secs":case"sec":case"s":return s*u;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return s;default:return}}}}function t(n){return n>=S?Math.round(n/S)+"d":n>=w?Math.round(n/w)+"h":n>=v?Math.round(n/v)+"m":n>=u?Math.round(n/u)+"s":n+"ms"}function a(n){return r(n,S,"day")||r(n,w,"hour")||r(n,v,"minute")||r(n,u,"second")||n+" ms"}function r(n,i,s){if(!(n=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}U.formatters.j=function(t){try{return JSON.stringify(t)}catch(a){return"[UnexpectedJSONParseError]: "+a.message}};function v(t){var a=this.useColors;if(t[0]=(a?"%c":"")+this.namespace+(a?" %c":" ")+t[0]+(a?"%c ":" ")+"+"+U.humanize(this.diff),!!a){var r="color: "+this.color;t.splice(1,0,r,"color: inherit");var n=0,i=0;t[0].replace(/%[a-zA-Z%]/g,function(s){s!=="%%"&&(n++,s==="%c"&&(i=n))}),t.splice(i,0,r)}}function w(){return typeof console=="object"&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function S(t){try{t==null?U.storage.removeItem("debug"):U.storage.debug=t}catch{}}function l(){var t;try{t=U.storage.debug}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}U.enable(l());function e(){try{return window.localStorage}catch{}}}}),vE=xe({"node_modules/stream-parser/index.js"(U,O){var u=C0(),v=dE()("stream-parser");O.exports=t;var w=-1,S=0,l=1,e=2;function t(o){var b=o&&typeof o._transform=="function",M=o&&typeof o._write=="function";if(!b&&!M)throw new Error("must pass a Writable or Transform stream in");v("extending Parser into stream"),o._bytes=r,o._skipBytes=n,b&&(o._passthrough=i),b?o._transform=c:o._write=s}function a(o){v("initializing parser stream"),o._parserBytesLeft=0,o._parserBuffers=[],o._parserBuffered=0,o._parserState=w,o._parserCallback=null,typeof o.push=="function"&&(o._parserOutput=o.push.bind(o)),o._parserInit=!0}function r(o,b){u(!this._parserCallback,'there is already a "callback" set!'),u(isFinite(o)&&o>0,'can only buffer a finite number of bytes > 0, got "'+o+'"'),this._parserInit||a(this),v("buffering %o bytes",o),this._parserBytesLeft=o,this._parserCallback=b,this._parserState=S}function n(o,b){u(!this._parserCallback,'there is already a "callback" set!'),u(o>0,'can only skip > 0 bytes, got "'+o+'"'),this._parserInit||a(this),v("skipping %o bytes",o),this._parserBytesLeft=o,this._parserCallback=b,this._parserState=l}function i(o,b){u(!this._parserCallback,'There is already a "callback" set!'),u(o>0,'can only pass through > 0 bytes, got "'+o+'"'),this._parserInit||a(this),v("passing through %o bytes",o),this._parserBytesLeft=o,this._parserCallback=b,this._parserState=e}function s(o,b,M){this._parserInit||a(this),v("write(%o bytes)",o.length),typeof b=="function"&&(M=b),d(this,o,null,M)}function c(o,b,M){this._parserInit||a(this),v("transform(%o bytes)",o.length),typeof b!="function"&&(b=this._parserOutput),d(this,o,b,M)}function p(o,b,M,A){return o._parserBytesLeft<=0?A(new Error("got data but not currently parsing anything")):b.length<=o._parserBytesLeft?function(){return f(o,b,M,A)}:function(){var E=b.slice(0,o._parserBytesLeft);return f(o,E,M,function(g){if(g)return A(g);if(b.length>E.length)return function(){return p(o,b.slice(E.length),M,A)}})}}function f(o,b,M,A){if(o._parserBytesLeft-=b.length,v("%o bytes left for stream piece",o._parserBytesLeft),o._parserState===S?(o._parserBuffers.push(b),o._parserBuffered+=b.length):o._parserState===e&&M(b),o._parserBytesLeft===0){var E=o._parserCallback;if(E&&o._parserState===S&&o._parserBuffers.length>1&&(b=Buffer.concat(o._parserBuffers,o._parserBuffered)),o._parserState!==S&&(b=null),o._parserCallback=null,o._parserBuffered=0,o._parserState=w,o._parserBuffers.splice(0),E){var g=[];b&&g.push(b),M&&g.push(M);var T=E.length>g.length;T&&g.push(y(A));var m=E.apply(o,g);if(!T||A===m)return A}}else return A}var d=y(p);function y(o){return function(){for(var b=o.apply(this,arguments);typeof b=="function";)b=b();return b}}}}),bl=xe({"node_modules/probe-image-size/lib/common.js"(U){"use strict";var O=tE().Transform,u=vE();function v(){O.call(this,{readableObjectMode:!0})}v.prototype=Object.create(O.prototype),v.prototype.constructor=v,u(v.prototype),U.ParserStream=v,U.sliceEq=function(S,l,e){for(var t=l,a=0;a>4&15,p=i[4]&15,f=i[5]>>4&15,d=u(i,6),y=8,o=0;od.width||f.width===d.width&&f.height>d.height?f:d}),c=i.reduce(function(f,d){return f.height>d.height||f.height===d.height&&f.width>d.width?f:d}),p;return s.width>c.height||s.width===c.height&&s.height>c.width?p=s:p=c,p}O.exports.readSizeFromMeta=function(i){var s={sizes:[],transforms:[],item_inf:{},item_loc:{}};if(r(i,s),!!s.sizes.length){var c=n(s.sizes),p=1;s.transforms.forEach(function(d){var y={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},o={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if(d.type==="imir"&&(d.value===0?p=o[p]:(p=o[p],p=y[p],p=y[p])),d.type==="irot")for(var b=0;b0&&!this.aborted;){var e=this.ifds_to_read.shift();e.offset&&this.scan_ifd(e.id,e.offset,S)}},w.prototype.read_uint16=function(S){var l=this.input;if(S+2>l.length)throw u("unexpected EOF","EBADDATA");return this.big_endian?l[S]*256+l[S+1]:l[S]+l[S+1]*256},w.prototype.read_uint32=function(S){var l=this.input;if(S+4>l.length)throw u("unexpected EOF","EBADDATA");return this.big_endian?l[S]*16777216+l[S+1]*65536+l[S+2]*256+l[S+3]:l[S]+l[S+1]*256+l[S+2]*65536+l[S+3]*16777216},w.prototype.is_subifd_link=function(S,l){return S===0&&l===34665||S===0&&l===34853||S===34665&&l===40965},w.prototype.exif_format_length=function(S){switch(S){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}},w.prototype.exif_format_read=function(S,l){var e;switch(S){case 1:case 2:return e=this.input[l],e;case 6:return e=this.input[l],e|(e&128)*33554430;case 3:return e=this.read_uint16(l),e;case 8:return e=this.read_uint16(l),e|(e&32768)*131070;case 4:return e=this.read_uint32(l),e;case 9:return e=this.read_uint32(l),e|0;case 5:case 10:case 11:case 12:return null;case 7:return null;default:return null}},w.prototype.scan_ifd=function(S,l,e){var t=this.read_uint16(l);l+=2;for(var a=0;athis.input.length)throw u("unexpected EOF","EBADDATA");for(var d=[],y=p,o=0;o0&&(this.ifds_to_read.push({id:r,offset:d[0]}),f=!0);var M={is_big_endian:this.big_endian,ifd:S,tag:r,format:n,count:i,entry_offset:l+this.start,data_length:c,data_offset:p+this.start,value:d,is_subifd_link:f};if(e(M)===!1){this.aborted=!0;return}l+=12}S===0&&this.ifds_to_read.push({id:1,offset:this.read_uint32(l)})},O.exports.ExifParser=w,O.exports.get_orientation=function(S){var l=0;try{return new w(S,0,S.length).each(function(e){if(e.ifd===0&&e.tag===274&&Array.isArray(e.value))return l=e.value[0],!1}),l}catch{return-1}}}}),mE=xe({"node_modules/probe-image-size/lib/parse_sync/avif.js"(U,O){"use strict";var u=bl().str2arr,v=bl().sliceEq,w=bl().readUInt32BE,S=pE(),l=Kg(),e=u("ftyp");O.exports=function(t){if(v(t,4,e)){var a=S.unbox(t,0);if(a){var r=S.getMimeType(a.data);if(r){for(var n,i=a.end;;){var s=S.unbox(t,i);if(!s)break;if(i=s.end,s.boxtype==="mdat")return;if(s.boxtype==="meta"){n=s.data;break}}if(n){var c=S.readSizeFromMeta(n);if(c){var p={width:c.width,height:c.height,type:r.type,mime:r.mime,wUnits:"px",hUnits:"px"};if(c.variants.length>1&&(p.variants=c.variants),c.orientation&&(p.orientation=c.orientation),c.exif_location&&c.exif_location.offset+c.exif_location.length<=t.length){var f=w(t,c.exif_location.offset),d=t.slice(c.exif_location.offset+f+4,c.exif_location.offset+c.exif_location.length),y=l.get_orientation(d);y>0&&(p.orientation=y)}return p}}}}}}}}),gE=xe({"node_modules/probe-image-size/lib/parse_sync/bmp.js"(U,O){"use strict";var u=bl().str2arr,v=bl().sliceEq,w=bl().readUInt16LE,S=u("BM");O.exports=function(l){if(!(l.length<26)&&v(l,0,S))return{width:w(l,18),height:w(l,22),type:"bmp",mime:"image/bmp",wUnits:"px",hUnits:"px"}}}}),yE=xe({"node_modules/probe-image-size/lib/parse_sync/gif.js"(U,O){"use strict";var u=bl().str2arr,v=bl().sliceEq,w=bl().readUInt16LE,S=u("GIF87a"),l=u("GIF89a");O.exports=function(e){if(!(e.length<10)&&!(!v(e,0,S)&&!v(e,0,l)))return{width:w(e,6),height:w(e,8),type:"gif",mime:"image/gif",wUnits:"px",hUnits:"px"}}}}),_E=xe({"node_modules/probe-image-size/lib/parse_sync/ico.js"(U,O){"use strict";var u=bl().readUInt16LE,v=0,w=1,S=16;O.exports=function(l){var e=u(l,0),t=u(l,2),a=u(l,4);if(!(e!==v||t!==w||!a)){for(var r=[],n={width:0,height:0},i=0;in.width||c>n.height)&&(n=p)}return{width:n.width,height:n.height,variants:r,type:"ico",mime:"image/x-icon",wUnits:"px",hUnits:"px"}}}}}),bE=xe({"node_modules/probe-image-size/lib/parse_sync/jpeg.js"(U,O){"use strict";var u=bl().readUInt16BE,v=bl().str2arr,w=bl().sliceEq,S=Kg(),l=v("Exif\0\0");O.exports=function(e){if(!(e.length<2)&&!(e[0]!==255||e[1]!==216||e[2]!==255))for(var t=2;;){for(;;){if(e.length-t<2)return;if(e[t++]===255)break}for(var a=e[t++],r;a===255;)a=e[t++];if(208<=a&&a<=217||a===1)r=0;else if(192<=a&&a<=254){if(e.length-t<2)return;r=u(e,t)-2,t+=2}else return;if(a===217||a===218)return;var n;if(a===225&&r>=10&&w(e,t,l)&&(n=S.get_orientation(e.slice(t+6,t+r))),r>=5&&192<=a&&a<=207&&a!==196&&a!==200&&a!==204){if(e.length-t0&&(i.orientation=n),i}t+=r}}}}),xE=xe({"node_modules/probe-image-size/lib/parse_sync/png.js"(U,O){"use strict";var u=bl().str2arr,v=bl().sliceEq,w=bl().readUInt32BE,S=u(`\x89PNG\r  -`),e=p("IHDR");H.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"}}}}),NC=De({"node_modules/probe-image-size/lib/parse_sync/psd.js"(Y,H){"use strict";var p=sc().str2arr,x=sc().sliceEq,S=sc().readUInt32BE,E=p("8BPS\0");H.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"}}}}),UC=De({"node_modules/probe-image-size/lib/parse_sync/svg.js"(Y,H){"use strict";function p(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='(.+?)'/,i=/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 a(s){return i.test(s)?s.match(i)[0]:"px"}H.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(a,s){return{width:(a[s+6]<<16|a[s+5]<<8|a[s+4])+1,height:(a[s+9]<a.length)){for(;s+8=10?h=h||o(a,s+8):d==="VP8L"&&T>=9?h=h||i(a,s+8):d==="VP8X"&&T>=10?h=h||n(a,s+8):d==="EXIF"&&(c=e.get_orientation(a.slice(s+8,s+8+T)),s=1/0),s+=8+T}if(h)return c>0&&(h.orientation=c),h}}}}}),qC=De({"node_modules/probe-image-size/lib/parsers_sync.js"(Y,H){"use strict";H.exports={avif:RC(),bmp:DC(),gif:zC(),ico:FC(),jpeg:BC(),png:OC(),psd:NC(),svg:UC(),tiff:jC(),webp:VC()}}}),HC=De({"node_modules/probe-image-size/sync.js"(Y,H){"use strict";var p=qC();function x(S){for(var E=Object.keys(p),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(Rq[0];if(Z||ee){var V=f+I/2,oe=z+U/2;le+="transform:"+S(V+"px",oe+"px")+"scale("+(Z?-1:1)+","+(ee?-1:1)+")"+S(-V+"px",-oe+"px")+";"}}se.attr("style",le);var ie=new Promise(function(j){if(_._hasZ)j();else if(_._hasSource)if(_._canvas&&_._canvas.el.width===b&&_._canvas.el.height===v&&_._canvas.source===_.source)j();else{var Q=document.createElement("canvas");Q.width=b,Q.height=v;var re=Q.getContext("2d",{willReadFrequently:!0});_._image=_._image||new Image;var ue=_._image;ue.onload=function(){re.drawImage(ue,0,0),_._canvas={el:Q,source:_.source},j()},ue.setAttribute("src",_.source)}}).then(function(){var j,Q;if(_._hasZ)Q=J(function(_e,we){var Re=A[we][_e];return x.isTypedArray(Re)&&(Re=Array.from(Re)),Re}),j=Q.toDataURL("image/png");else if(_._hasSource)if(w)j=_.source;else{var re=_._canvas.el.getContext("2d",{willReadFrequently:!0}),ue=re.getImageData(0,0,b,v).data;Q=J(function(_e,we){var Re=4*(we*b+_e);return[ue[Re],ue[Re+1],ue[Re+2],ue[Re+3]]}),j=Q.toDataURL("image/png")}se.attr({"xlink:href":j,height:U,width:I,x:f,y:z})});i._promises.push(ie)})}}}),YC=De({"src/traces/image/style.js"(Y,H){"use strict";var p=za();H.exports=function(S){p.select(S).selectAll(".im image").style("opacity",function(E){return E[0].trace.opacity})}}}),ZC=De({"src/traces/image/hover.js"(Y,H){"use strict";var p=sf(),x=ui(),S=x.isArrayOrTypedArray,E=ug();H.exports=function(t,r,o){var i=t.cd[0],n=i.trace,a=t.xa,s=t.ya;if(!(p.inbox(r-i.x0,r-(i.x0+i.w*n.dx),0)>0||p.inbox(o-i.y0,o-(i.y0+i.h*n.dy),0)>0)){var h=Math.floor((r-i.x0)/n.dx),c=Math.floor(Math.abs(o-i.y0)/n.dy),m;if(n._hasZ?m=i.z[c][h]:n._hasSource&&(m=n._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(h,c,1,1).data),!!m){var d=i.hi||n.hoverinfo,T;if(d){var l=d.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 v;S(n.hovertext)&&S(n.hovertext[c])?v=n.hovertext[c][h]:S(n.text)&&S(n.text[c])&&(v=n.text[c][h]);var u=s.c2p(i.y0+(c+.5)*n.dy),y=i.x0+(h+.5)*n.dx,f=i.y0+(c+.5)*n.dy,R="["+m.slice(0,n.colormodel.length).join(", ")+"]";return[x.extendFlat(t,{index:[c,h],x0:a.c2p(i.x0+h*n.dx),x1:a.c2p(i.x0+(h+1)*n.dx),y0:u,y1:u,color:M,xVal:y,xLabelVal:y,yVal:f,yLabelVal:f,zLabelVal:R,text:v,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]}})]}}}}}),KC=De({"src/traces/image/event_data.js"(Y,H){"use strict";H.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}}}),$C=De({"src/traces/image/index.js"(Y,H){"use strict";H.exports={attributes:p3(),supplyDefaults:R6(),calc:WC(),plot:XC(),style:YC(),hoverPoints:ZC(),eventData:KC(),moduleType:"trace",name:"image",basePlotModule:Gf(),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}}}),JC=De({"lib/image.js"(Y,H){"use strict";H.exports=$C()}}),$0=De({"src/traces/pie/attributes.js"(Y,H){"use strict";var p=Yl(),x=Ec().attributes,S=qu(),E=Pf(),{hovertemplateAttrs:e,texttemplateAttrs:t,templatefallbackAttrs:r}=ou(),o=Xo().extendFlat,i=Ch().pattern,n=S({editType:"plot",arrayOk:!0,colorEditType:"plot"});H.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:i,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({},p.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({},p.showlegend,{arrayOk:!0}),legend:o({},p.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"}}}}),J0=De({"src/traces/pie/defaults.js"(Y,H){"use strict";var p=vn(),x=ui(),S=$0(),E=Ec().defaults,e=Nd().handleText,t=ui().coercePattern;function r(n,a){var s=x.isArrayOrTypedArray(n),h=x.isArrayOrTypedArray(a),c=Math.min(s?n.length:1/0,h?a.length:1/0);if(isFinite(c)||(c=0),c&&h){for(var m,d=0;d0){m=!0;break}}m||(c=0)}return{hasLabels:s,hasValues:h,len:c}}function o(n,a,s,h,c){var m=h("marker.line.width");m&&h("marker.line.color",c?void 0:s.paper_bgcolor);var d=h("marker.colors");t(h,"marker.pattern",d),n.marker&&!a.marker.pattern.fgcolor&&(a.marker.pattern.fgcolor=n.marker.colors),a.marker.pattern.bgcolor||(a.marker.pattern.bgcolor=s.paper_bgcolor)}function i(n,a,s,h){function c(f,R){return x.coerce(n,a,S,f,R)}var m=c("labels"),d=c("values"),T=r(m,d),l=T.len;if(a._hasLabels=T.hasLabels,a._hasValues=T.hasValues,!a._hasLabels&&a._hasValues&&(c("label0"),c("dlabel")),!l){a.visible=!1;return}a._length=l,o(n,a,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,a,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(a,h,c);var v=c("hole"),u=c("title.text");if(u){var y=c("title.position",v?"middle center":"top center");!v&&y==="middle center"&&(a.title.position="top center"),x.coerceFont(c,"title.font",h.font)}c("sort"),c("direction"),c("rotation"),c("pull")}H.exports={handleLabelsAndValues:r,handleMarkerDefaults:o,supplyDefaults:i}}}),bx=De({"src/traces/pie/layout_attributes.js"(Y,H){"use strict";H.exports={hiddenlabels:{valType:"data_array",editType:"calc"},piecolorway:{valType:"colorlist",editType:"calc"},extendpiecolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),QC=De({"src/traces/pie/layout_defaults.js"(Y,H){"use strict";var p=ui(),x=bx();H.exports=function(E,e){function t(r,o){return p.coerce(E,e,x,r,o)}t("hiddenlabels"),t("piecolorway",e.colorway),t("extendpiecolors")}}}),vg=De({"src/traces/pie/calc.js"(Y,H){"use strict";var p=vn(),x=wu(),S=vo(),E={};function e(i,n){var a=[],s=i._fullLayout,h=s.hiddenlabels||[],c=n.labels,m=n.marker.colors||[],d=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&&a.sort(function(L,z){return z.v-L.v}),a[0]&&(a[0].vTotal=g),a}function t(i){return function(a,s){return!a||(a=x(a),!a.isValid())?!1:(a=S.addOpacity(a,a.getAlpha()),i[s]||(i[s]=a),a)}}function r(i,n){var a=(n||{}).type;a||(a="pie");var s=i._fullLayout,h=i.calcdata,c=s[a+"colorway"],m=s["_"+a+"colormap"];s["extend"+a+"colors"]&&(c=o(c,E));for(var d=0,T=0;T0&&(Qe+=Pt*fe.pxmid[0],at+=Pt*fe.pxmid[1])}fe.cxFinal=Qe,fe.cyFinal=at;function Vt(xt,Ne,Ye,be){var Ie=be*(Ne[0]-xt[0]),qe=be*(Ne[1]-xt[1]);return"a"+be*ue.r+","+be*ue.r+" 0 "+fe.largeArc+(Ye?" 1 ":" 0 ")+Ie+","+qe}var Wt=_e.hole;if(fe.v===ue.vTotal){var Cr="M"+(Qe+fe.px0[0])+","+(at+fe.px0[1])+Vt(fe.px0,fe.pxmid,!0,1)+Vt(fe.pxmid,fe.px0,!0,1)+"Z";Wt?It.attr("d","M"+(Qe+Wt*fe.px0[0])+","+(at+Wt*fe.px0[1])+Vt(fe.px0,fe.pxmid,!1,Wt)+Vt(fe.pxmid,fe.px0,!1,Wt)+"Z"+Cr):It.attr("d",Cr)}else{var yr=Vt(fe.px0,fe.px1,!0,1);if(Wt){var qr=1-Wt;It.attr("d","M"+(Qe+Wt*fe.px1[0])+","+(at+Wt*fe.px1[1])+Vt(fe.px1,fe.px0,!1,Wt)+"l"+qr*fe.px0[0]+","+qr*fe.px0[1]+yr+"Z")}else It.attr("d","M"+Qe+","+at+"l"+fe.px0[0]+","+fe.px0[1]+yr+"Z")}ce(Z,fe,ue);var Mr=c.castOption(_e.textposition,fe.pts),Dr=$e.selectAll("g.slicetext").data(fe.text&&Mr!=="none"?[0]:[]);Dr.enter().append("g").classed("slicetext",!0),Dr.exit().remove(),Dr.each(function(){var xt=t.ensureSingle(p.select(this),"text","",function(Le){Le.attr("data-notex",1)}),Ne=t.ensureUniformFontSize(Z,Mr==="outside"?w(_e,fe,oe.font):A(_e,fe,oe.font));xt.text(fe.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(e.font,Ne).call(i.convertToTspans,Z);var Ye=e.bBox(xt.node()),be;if(Mr==="outside")be=z(Ye,fe);else if(be=g(Ye,fe,ue),Mr==="auto"&&be.scale<1){var Ie=t.ensureUniformFontSize(Z,_e.outsidetextfont);xt.call(e.font,Ie),Ye=e.bBox(xt.node()),be=z(Ye,fe)}var qe=be.textPosAngle,ke=qe===void 0?fe.pxmid:le(ue.r,qe);if(be.targetX=Qe+ke[0]*be.rCenter+(be.x||0),be.targetY=at+ke[1]*be.rCenter+(be.y||0),q(be,Ye),be.outside){var Me=be.targetY;fe.yLabelMin=Me-Ye.height/2,fe.yLabelMid=Me,fe.yLabelMax=Me+Ye.height/2,fe.labelExtraX=0,fe.labelExtraY=0,ze=!0}be.fontSize=Ne.size,a(_e.type,be,oe),Q[Be].transform=be,t.setTransormAndDisplay(xt,be)})});var Xe=p.select(this).selectAll("g.titletext").data(_e.title.text?[0]:[]);if(Xe.enter().append("g").classed("titletext",!0),Xe.exit().remove(),Xe.each(function(){var fe=t.ensureSingle(p.select(this),"text","",function(at){at.attr("data-notex",1)}),Be=_e.title.text;_e._meta&&(Be=t.templateString(Be,_e._meta)),fe.text(Be).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(e.font,_e.title.font).call(i.convertToTspans,Z);var Qe;_e.title.position==="middle center"?Qe=F(ue):Qe=N(ue,ie),fe.attr("transform",o(Qe.x,Qe.y)+r(Math.min(1,Qe.scale))+o(Qe.tx,Qe.ty))}),ze&&O(Re,_e),l(we,_e),ze&&_e.automargin){var tt=e.bBox(re.node()),it=_e.domain,et=ie.w*(it.x[1]-it.x[0]),nt=ie.h*(it.y[1]-it.y[0]),Ae=(.5*et-ue.r)/ie.w,me=(.5*nt-ue.r)/ie.h;x.autoMargin(Z,"pie."+_e.uid+".automargin",{xl:it.x[0]-Ae,xr:it.x[1]+Ae,yb:it.y[0]-me,yt:it.y[1]+me,l:Math.max(ue.cx-ue.r-tt.left,0),r:Math.max(tt.right-(ue.cx+ue.r),0),b:Math.max(tt.bottom-(ue.cy+ue.r),0),t:Math.max(ue.cy-ue.r-tt.top,0),pad:5})}})});setTimeout(function(){j.selectAll("tspan").each(function(){var Q=p.select(this);Q.attr("dy")&&Q.attr("dy",Q.attr("dy"))})},0)}function l(Z,ee){Z.each(function(V){var oe=p.select(this);if(!V.labelExtraX&&!V.labelExtraY){oe.select("path.textline").remove();return}var ie=oe.select("g.slicetext text");V.transform.targetX+=V.labelExtraX,V.transform.targetY+=V.labelExtraY,t.setTransormAndDisplay(ie,V.transform);var j=V.cxFinal+V.pxmid[0],Q=V.cyFinal+V.pxmid[1],re="M"+j+","+Q,ue=(V.yLabelMax-V.yLabelMin)*(V.pxmid[0]<0?-1:1)/4;if(V.labelExtraX){var _e=V.labelExtraX*V.pxmid[1]/V.pxmid[0],we=V.yLabelMid+V.labelExtraY-(V.cyFinal+V.pxmid[1]);Math.abs(_e)>Math.abs(we)?re+="l"+we*V.pxmid[0]/V.pxmid[1]+","+we+"H"+(j+V.labelExtraX+ue):re+="l"+V.labelExtraX+","+_e+"v"+(we-_e)+"h"+ue}else re+="V"+(V.yLabelMid+V.labelExtraY)+"h"+ue;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 _(Z,ee,V){var oe=V[0],ie=oe.cx,j=oe.cy,Q=oe.trace,re=Q.type==="funnelarea";"_hasHoverLabel"in Q||(Q._hasHoverLabel=!1),"_hasHoverEvent"in Q||(Q._hasHoverEvent=!1),Z.on("mouseover",function(ue){var _e=ee._fullLayout,we=ee._fullData[Q.index];if(!(ee._dragging||_e.hovermode===!1)){var Re=we.hoverinfo;if(Array.isArray(Re)&&(Re=S.castHoverinfo({hoverinfo:[c.castOption(Re,ue.pts)],_module:Q._module},_e,0)),Re==="all"&&(Re="label+text+value+percent+name"),we.hovertemplate||Re!=="none"&&Re!=="skip"&&Re){var ze=ue.rInscribed||0,Xe=ie+ue.pxmid[0]*(1-ze),tt=j+ue.pxmid[1]*(1-ze),it=_e.separators,et=[];if(Re&&Re.indexOf("label")!==-1&&et.push(ue.label),ue.text=c.castOption(we.hovertext||we.text,ue.pts),Re&&Re.indexOf("text")!==-1){var nt=ue.text;t.isValidTextValue(nt)&&et.push(nt)}ue.value=ue.v,ue.valueLabel=c.formatPieValue(ue.v,it),Re&&Re.indexOf("value")!==-1&&et.push(ue.valueLabel),ue.percent=ue.v/oe.vTotal,ue.percentLabel=c.formatPiePercent(ue.percent,it),Re&&Re.indexOf("percent")!==-1&&et.push(ue.percentLabel);var Ae=we.hoverlabel,me=Ae.font,fe=[];S.loneHover({trace:Q,x0:Xe-ze*oe.r,x1:Xe+ze*oe.r,y:tt,_x0:re?ie+ue.TL[0]:Xe-ze*oe.r,_x1:re?ie+ue.TR[0]:Xe+ze*oe.r,_y0:re?j+ue.TL[1]:tt-ze*oe.r,_y1:re?j+ue.BL[1]:tt+ze*oe.r,text:et.join("
"),name:we.hovertemplate||Re.indexOf("name")!==-1?we.name:void 0,idealAlign:ue.pxmid[0]<0?"left":"right",color:c.castOption(Ae.bgcolor,ue.pts)||ue.color,borderColor:c.castOption(Ae.bordercolor,ue.pts),fontFamily:c.castOption(me.family,ue.pts),fontSize:c.castOption(me.size,ue.pts),fontColor:c.castOption(me.color,ue.pts),nameLength:c.castOption(Ae.namelength,ue.pts),textAlign:c.castOption(Ae.align,ue.pts),hovertemplate:c.castOption(we.hovertemplate,ue.pts),hovertemplateLabels:ue,eventData:[m(ue,we)]},{container:_e._hoverlayer.node(),outerContainer:_e._paper.node(),gd:ee,inOut_bbox:fe}),ue.bbox=fe[0],Q._hasHoverLabel=!0}Q._hasHoverEvent=!0,ee.emit("plotly_hover",{points:[m(ue,we)],event:p.event})}}),Z.on("mouseout",function(ue){var _e=ee._fullLayout,we=ee._fullData[Q.index],Re=p.select(this).datum();Q._hasHoverEvent&&(ue.originalEvent=p.event,ee.emit("plotly_unhover",{points:[m(Re,we)],event:p.event}),Q._hasHoverEvent=!1),Q._hasHoverLabel&&(S.loneUnhover(_e._hoverlayer.node()),Q._hasHoverLabel=!1)}),Z.on("click",function(ue){var _e=ee._fullLayout,we=ee._fullData[Q.index];ee._dragging||_e.hovermode===!1||(ee._hoverdata=[m(ue,we)],S.click(ee,p.event))})}function w(Z,ee,V){var oe=c.castOption(Z.outsidetextfont.color,ee.pts)||c.castOption(Z.textfont.color,ee.pts)||V.color,ie=c.castOption(Z.outsidetextfont.family,ee.pts)||c.castOption(Z.textfont.family,ee.pts)||V.family,j=c.castOption(Z.outsidetextfont.size,ee.pts)||c.castOption(Z.textfont.size,ee.pts)||V.size,Q=c.castOption(Z.outsidetextfont.weight,ee.pts)||c.castOption(Z.textfont.weight,ee.pts)||V.weight,re=c.castOption(Z.outsidetextfont.style,ee.pts)||c.castOption(Z.textfont.style,ee.pts)||V.style,ue=c.castOption(Z.outsidetextfont.variant,ee.pts)||c.castOption(Z.textfont.variant,ee.pts)||V.variant,_e=c.castOption(Z.outsidetextfont.textcase,ee.pts)||c.castOption(Z.textfont.textcase,ee.pts)||V.textcase,we=c.castOption(Z.outsidetextfont.lineposition,ee.pts)||c.castOption(Z.textfont.lineposition,ee.pts)||V.lineposition,Re=c.castOption(Z.outsidetextfont.shadow,ee.pts)||c.castOption(Z.textfont.shadow,ee.pts)||V.shadow;return{color:oe,family:ie,size:j,weight:Q,style:re,variant:ue,textcase:_e,lineposition:we,shadow:Re}}function A(Z,ee,V){var oe=c.castOption(Z.insidetextfont.color,ee.pts);!oe&&Z._input.textfont&&(oe=c.castOption(Z._input.textfont.color,ee.pts));var ie=c.castOption(Z.insidetextfont.family,ee.pts)||c.castOption(Z.textfont.family,ee.pts)||V.family,j=c.castOption(Z.insidetextfont.size,ee.pts)||c.castOption(Z.textfont.size,ee.pts)||V.size,Q=c.castOption(Z.insidetextfont.weight,ee.pts)||c.castOption(Z.textfont.weight,ee.pts)||V.weight,re=c.castOption(Z.insidetextfont.style,ee.pts)||c.castOption(Z.textfont.style,ee.pts)||V.style,ue=c.castOption(Z.insidetextfont.variant,ee.pts)||c.castOption(Z.textfont.variant,ee.pts)||V.variant,_e=c.castOption(Z.insidetextfont.textcase,ee.pts)||c.castOption(Z.textfont.textcase,ee.pts)||V.textcase,we=c.castOption(Z.insidetextfont.lineposition,ee.pts)||c.castOption(Z.textfont.lineposition,ee.pts)||V.lineposition,Re=c.castOption(Z.insidetextfont.shadow,ee.pts)||c.castOption(Z.textfont.shadow,ee.pts)||V.shadow;return{color:oe||E.contrast(ee.color),family:ie,size:j,weight:Q,style:re,variant:ue,textcase:_e,lineposition:we,shadow:Re}}function M(Z,ee){for(var V,oe,ie=0;ie=-4;Ae-=2)nt(Math.PI*Ae,"tan");for(Ae=4;Ae>=-4;Ae-=2)nt(Math.PI*(Ae+1),"tan")}if(Re||Xe){for(Ae=4;Ae>=-4;Ae-=2)nt(Math.PI*(Ae+1.5),"rad");for(Ae=4;Ae>=-4;Ae-=2)nt(Math.PI*(Ae+.5),"rad")}}if(re||tt||Re){var me=Math.sqrt(Z.width*Z.width+Z.height*Z.height);if(et={scale:ie*oe*2/me,rCenter:1-ie,rotate:0},et.textPosAngle=(ee.startangle+ee.stopangle)/2,et.scale>=1)return et;it.push(et)}(tt||Xe)&&(et=v(Z,oe,Q,ue,_e),et.textPosAngle=(ee.startangle+ee.stopangle)/2,it.push(et)),(tt||ze)&&(et=u(Z,oe,Q,ue,_e),et.textPosAngle=(ee.startangle+ee.stopangle)/2,it.push(et));for(var fe=0,Be=0,Qe=0;Qe=1)break}return it[fe]}function b(Z,ee){var V=Z.startangle,oe=Z.stopangle;return V>ee&&ee>oe||V0?1:-1)/2,y:j/(1+V*V/(oe*oe)),outside:!0}}function F(Z){var ee=Math.sqrt(Z.titleBox.width*Z.titleBox.width+Z.titleBox.height*Z.titleBox.height);return{x:Z.cx,y:Z.cy,scale:Z.trace.hole*Z.r*2/ee,tx:0,ty:-Z.titleBox.height/2+Z.trace.title.font.size}}function N(Z,ee){var V=1,oe=1,ie,j=Z.trace,Q={x:Z.cx,y:Z.cy},re={tx:0,ty:0};re.ty+=j.title.font.size,ie=U(j),j.title.position.indexOf("top")!==-1?(Q.y-=(1+ie)*Z.r,re.ty-=Z.titleBox.height):j.title.position.indexOf("bottom")!==-1&&(Q.y+=(1+ie)*Z.r);var ue=B(Z.r,Z.trace.aspectratio),_e=ee.w*(j.domain.x[1]-j.domain.x[0])/2;return j.title.position.indexOf("left")!==-1?(_e=_e+ue,Q.x-=(1+ie)*ue,re.tx+=Z.titleBox.width/2):j.title.position.indexOf("center")!==-1?_e*=2:j.title.position.indexOf("right")!==-1&&(_e=_e+ue,Q.x+=(1+ie)*ue,re.tx-=Z.titleBox.width/2),V=_e/Z.titleBox.width,oe=I(Z,ee)/Z.titleBox.height,{x:Q.x,y:Q.y,scale:Math.min(V,oe),tx:re.tx,ty:re.ty}}function B(Z,ee){return Z/(ee===void 0?1:ee)}function I(Z,ee){var V=Z.trace,oe=ee.h*(V.domain.y[1]-V.domain.y[0]);return Math.min(Z.titleBox.height,oe/2)}function U(Z){var ee=Z.pull;if(!ee)return 0;var V;if(t.isArrayOrTypedArray(ee))for(ee=0,V=0;Vee&&(ee=Z.pull[V]);return ee}function O(Z,ee){var V,oe,ie,j,Q,re,ue,_e,we,Re,ze,Xe,tt;function it(me,fe){return me.pxmid[1]-fe.pxmid[1]}function et(me,fe){return fe.pxmid[1]-me.pxmid[1]}function nt(me,fe){fe||(fe={});var Be=fe.labelExtraY+(oe?fe.yLabelMax:fe.yLabelMin),Qe=oe?me.yLabelMin:me.yLabelMax,at=oe?me.yLabelMax:me.yLabelMin,$e=me.cyFinal+Q(me.px0[1],me.px1[1]),It=Be-Qe,Pt,Vt,Wt,Cr,yr,qr;if(It*ue>0&&(me.labelExtraY=It),!!t.isArrayOrTypedArray(ee.pull))for(Vt=0;Vt=(c.castOption(ee.pull,Wt.pts)||0))&&((me.pxmid[1]-Wt.pxmid[1])*ue>0?(Cr=Wt.cyFinal+Q(Wt.px0[1],Wt.px1[1]),It=Cr-Qe-me.labelExtraY,It*ue>0&&(me.labelExtraY+=It)):(at+me.labelExtraY-$e)*ue>0&&(Pt=3*re*Math.abs(Vt-Re.indexOf(me)),yr=Wt.cxFinal+j(Wt.px0[0],Wt.px1[0]),qr=yr+Pt-(me.cxFinal+me.pxmid[0])-me.labelExtraX,qr*re>0&&(me.labelExtraX+=qr)))}for(oe=0;oe<2;oe++)for(ie=oe?it:et,Q=oe?Math.max:Math.min,ue=oe?1:-1,V=0;V<2;V++){for(j=V?Math.max:Math.min,re=V?1:-1,_e=Z[oe][V],_e.sort(ie),we=Z[1-oe][V],Re=we.concat(_e),Xe=[],ze=0;ze<_e.length;ze++)_e[ze].yLabelMid!==void 0&&Xe.push(_e[ze]);for(tt=!1,ze=0;oe&&ze1?(_e=V.r,we=_e/ie.aspectratio):(we=V.r,_e=we*ie.aspectratio),_e*=(1+ie.baseratio)/2,ue=_e*we}Q=Math.min(Q,ue/V.vTotal)}for(oe=0;oeee.vTotal/2?1:0,_e.halfangle=Math.PI*Math.min(_e.v/ee.vTotal,.5),_e.ring=1-oe.hole,_e.rInscribed=L(_e,ee))}function le(Z,ee){return[Z*Math.sin(ee),-Z*Math.cos(ee)]}function ce(Z,ee,V){var oe=Z._fullLayout,ie=V.trace,j=ie.texttemplate,Q=ie.textinfo;if(!j&&Q&&Q!=="none"){var re=Q.split("+"),ue=function(fe){return re.indexOf(fe)!==-1},_e=ue("label"),we=ue("text"),Re=ue("value"),ze=ue("percent"),Xe=oe.separators,tt;if(tt=_e?[ee.label]:[],we){var it=c.getFirstFilled(ie.text,ee.pts);d(it)&&tt.push(it)}Re&&tt.push(c.formatPieValue(ee.v,Xe)),ze&&tt.push(c.formatPiePercent(ee.v/V.vTotal,Xe)),ee.text=tt.join("
")}function et(fe){return{label:fe.label,value:fe.v,valueLabel:c.formatPieValue(fe.v,oe.separators),percent:fe.v/V.vTotal,percentLabel:c.formatPiePercent(fe.v/V.vTotal,oe.separators),color:fe.color,text:fe.text,customdata:t.castOption(ie,fe.i,"customdata")}}if(j){var nt=t.castOption(ie,ee.i,"texttemplate");if(!nt)ee.text="";else{var Ae=et(ee),me=c.getFirstFilled(ie.text,ee.pts);(d(me)||me==="")&&(Ae.text=me),ee.text=t.texttemplateString({data:[Ae,ie._meta],fallback:ie.texttemplatefallback,labels:Ae,locale:Z._fullLayout._d3locale,template:nt})}}}function q(Z,ee){var V=Z.rotate*Math.PI/180,oe=Math.cos(V),ie=Math.sin(V),j=(ee.left+ee.right)/2,Q=(ee.top+ee.bottom)/2;Z.textX=j*oe-Q*ie,Z.textY=j*ie+Q*oe,Z.noCenter=!0}H.exports={plot:T,formatSliceLabel:ce,transformInsideText:g,determineInsideTextFont:A,positionTitleOutside:N,prerenderTitles:M,layoutAreas:X,attachFxHandlers:_,computeTransform:q}}}),tL=De({"src/traces/pie/style.js"(Y,H){"use strict";var p=za(),x=Jm(),S=ed().resizeText;H.exports=function(e){var t=e._fullLayout._pielayer.selectAll(".trace");S(e,t,"pie"),t.each(function(r){var o=r[0],i=o.trace,n=p.select(this);n.style({opacity:i.opacity}),n.selectAll("path.surface").each(function(a){p.select(this).call(x,a,i,e)})})}}}),rL=De({"src/traces/pie/base_plot.js"(Y){"use strict";var H=Mc();Y.name="pie",Y.plot=function(p,x,S,E){H.plotBasePlot(Y.name,p,x,S,E)},Y.clean=function(p,x,S,E){H.cleanBasePlot(Y.name,p,x,S,E)}}}),iL=De({"src/traces/pie/index.js"(Y,H){"use strict";H.exports={attributes:$0(),supplyDefaults:J0().supplyDefaults,supplyLayoutDefaults:QC(),layoutAttributes:bx(),calc:vg().calc,crossTraceCalc:vg().crossTraceCalc,plot:wx().plot,style:tL(),styleOne:Jm(),moduleType:"trace",name:"pie",basePlotModule:rL(),categories:["pie-like","pie","showLegend"],meta:{}}}}),aL=De({"lib/pie.js"(Y,H){"use strict";H.exports=iL()}}),nL=De({"src/traces/sunburst/base_plot.js"(Y){"use strict";var H=Mc();Y.name="sunburst",Y.plot=function(p,x,S,E){H.plotBasePlot(Y.name,p,x,S,E)},Y.clean=function(p,x,S,E){H.cleanBasePlot(Y.name,p,x,S,E)}}}),U3=De({"src/traces/sunburst/constants.js"(Y,H){"use strict";H.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"linear",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"]}}}),Ry=De({"src/traces/sunburst/attributes.js"(Y,H){"use strict";var p=Yl(),{hovertemplateAttrs:x,texttemplateAttrs:S,templatefallbackAttrs:E}=ou(),e=zu(),t=Ec().attributes,r=$0(),o=U3(),i=Xo().extendFlat,n=Ch().pattern;H.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:i({colors:{valType:"data_array",editType:"calc"},line:{color:i({},r.marker.line.color,{dflt:null}),width:i({},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:i({},p.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:i({},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"})}}}),j3=De({"src/traces/sunburst/layout_attributes.js"(Y,H){"use strict";H.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),oL=De({"src/traces/sunburst/defaults.js"(Y,H){"use strict";var p=ui(),x=Ry(),S=Ec().defaults,E=Nd().handleText,e=J0().handleMarkerDefaults,t=oc(),r=t.hasColorscale,o=t.handleDefaults;H.exports=function(n,a,s,h){function c(A,M){return p.coerce(n,a,x,A,M)}var m=c("labels"),d=c("parents");if(!m||!m.length||!d||!d.length){a.visible=!1;return}var T=c("values");T&&T.length?c("branchvalues"):c("count"),c("level"),c("maxdepth"),e(n,a,h,c);var l=a._hasColorscale=r(n,"marker","colors")||(n.marker||{}).coloraxis;l&&o(n,a,h,c,{prefix:"marker.",cLetter:"c"}),c("leaf.opacity",l?1:.7);var _=c("text");c("texttemplate"),c("texttemplatefallback"),a.texttemplate||c("textinfo",p.isArrayOrTypedArray(_)?"text+label":"label"),c("hovertext"),c("hovertemplate"),c("hovertemplatefallback");var w="auto";E(n,a,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(a,h,c),a._length=null}}}),sL=De({"src/traces/sunburst/layout_defaults.js"(Y,H){"use strict";var p=ui(),x=j3();H.exports=function(E,e){function t(r,o){return p.coerce(E,e,x,r,o)}t("sunburstcolorway",e.colorway),t("extendsunburstcolors")}}}),Dy=De({"node_modules/d3-hierarchy/dist/d3-hierarchy.js"(Y,H){(function(p,x){typeof Y=="object"&&typeof H<"u"?x(Y):(p=p||self,x(p.d3=p.d3||{}))})(Y,function(p){"use strict";function x(be,Ie){return be.parent===Ie.parent?1:2}function S(be){return be.reduce(E,0)/be.length}function E(be,Ie){return be+Ie.x}function e(be){return 1+be.reduce(t,0)}function t(be,Ie){return Math.max(be,Ie.y)}function r(be){for(var Ie;Ie=be.children;)be=Ie[0];return be}function o(be){for(var Ie;Ie=be.children;)be=Ie[Ie.length-1];return be}function i(){var be=x,Ie=1,qe=1,ke=!1;function Me(Le){var ut,lt=0;Le.eachAfter(function(tr){var Ir=tr.children;Ir?(tr.x=S(Ir),tr.y=e(Ir)):(tr.x=ut?lt+=be(tr,ut):0,tr.y=0,ut=tr)});var gt=r(Le),kt=o(Le),nr=gt.x-be(gt,kt)/2,ir=kt.x+be(kt,gt)/2;return Le.eachAfter(ke?function(tr){tr.x=(tr.x-Le.x)*Ie,tr.y=(Le.y-tr.y)*qe}:function(tr){tr.x=(tr.x-nr)/(ir-nr)*Ie,tr.y=(1-(Le.y?tr.y/Le.y:1))*qe})}return Me.separation=function(Le){return arguments.length?(be=Le,Me):be},Me.size=function(Le){return arguments.length?(ke=!1,Ie=+Le[0],qe=+Le[1],Me):ke?null:[Ie,qe]},Me.nodeSize=function(Le){return arguments.length?(ke=!0,Ie=+Le[0],qe=+Le[1],Me):ke?[Ie,qe]:null},Me}function n(be){var Ie=0,qe=be.children,ke=qe&&qe.length;if(!ke)Ie=1;else for(;--ke>=0;)Ie+=qe[ke].value;be.value=Ie}function a(){return this.eachAfter(n)}function s(be){var Ie=this,qe,ke=[Ie],Me,Le,ut;do for(qe=ke.reverse(),ke=[];Ie=qe.pop();)if(be(Ie),Me=Ie.children,Me)for(Le=0,ut=Me.length;Le=0;--Me)qe.push(ke[Me]);return this}function c(be){for(var Ie=this,qe=[Ie],ke=[],Me,Le,ut;Ie=qe.pop();)if(ke.push(Ie),Me=Ie.children,Me)for(Le=0,ut=Me.length;Le=0;)qe+=ke[Me].value;Ie.value=qe})}function d(be){return this.eachBefore(function(Ie){Ie.children&&Ie.children.sort(be)})}function T(be){for(var Ie=this,qe=l(Ie,be),ke=[Ie];Ie!==qe;)Ie=Ie.parent,ke.push(Ie);for(var Me=ke.length;be!==qe;)ke.splice(Me,0,be),be=be.parent;return ke}function l(be,Ie){if(be===Ie)return be;var qe=be.ancestors(),ke=Ie.ancestors(),Me=null;for(be=qe.pop(),Ie=ke.pop();be===Ie;)Me=be,be=qe.pop(),Ie=ke.pop();return Me}function _(){for(var be=this,Ie=[be];be=be.parent;)Ie.push(be);return Ie}function w(){var be=[];return this.each(function(Ie){be.push(Ie)}),be}function A(){var be=[];return this.eachBefore(function(Ie){Ie.children||be.push(Ie)}),be}function M(){var be=this,Ie=[];return be.each(function(qe){qe!==be&&Ie.push({source:qe.parent,target:qe})}),Ie}function g(be,Ie){var qe=new f(be),ke=+be.value&&(qe.value=be.value),Me,Le=[qe],ut,lt,gt,kt;for(Ie==null&&(Ie=v);Me=Le.pop();)if(ke&&(Me.value=+Me.data.value),(lt=Ie(Me.data))&&(kt=lt.length))for(Me.children=new Array(kt),gt=kt-1;gt>=0;--gt)Le.push(ut=Me.children[gt]=new f(lt[gt])),ut.parent=Me,ut.depth=Me.depth+1;return qe.eachBefore(y)}function b(){return g(this).eachBefore(u)}function v(be){return be.children}function u(be){be.data=be.data.data}function y(be){var Ie=0;do be.height=Ie;while((be=be.parent)&&be.height<++Ie)}function f(be){this.data=be,this.depth=this.height=0,this.parent=null}f.prototype=g.prototype={constructor:f,count:a,each:s,eachAfter:c,eachBefore:h,sum:m,sort:d,path:T,ancestors:_,descendants:w,leaves:A,links:M,copy:b};var R=Array.prototype.slice;function L(be){for(var Ie=be.length,qe,ke;Ie;)ke=Math.random()*Ie--|0,qe=be[Ie],be[Ie]=be[ke],be[ke]=qe;return be}function z(be){for(var Ie=0,qe=(be=L(R.call(be))).length,ke=[],Me,Le;Ie0&&qe*qe>ke*ke+Me*Me}function I(be,Ie){for(var qe=0;qegt?(Me=(kt+gt-Le)/(2*kt),lt=Math.sqrt(Math.max(0,gt/kt-Me*Me)),qe.x=be.x-Me*ke-lt*ut,qe.y=be.y-Me*ut+lt*ke):(Me=(kt+Le-gt)/(2*kt),lt=Math.sqrt(Math.max(0,Le/kt-Me*Me)),qe.x=Ie.x+Me*ke-lt*ut,qe.y=Ie.y+Me*ut+lt*ke)):(qe.x=Ie.x+qe.r,qe.y=Ie.y)}function le(be,Ie){var qe=be.r+Ie.r-1e-6,ke=Ie.x-be.x,Me=Ie.y-be.y;return qe>0&&qe*qe>ke*ke+Me*Me}function ce(be){var Ie=be._,qe=be.next._,ke=Ie.r+qe.r,Me=(Ie.x*qe.r+qe.x*Ie.r)/ke,Le=(Ie.y*qe.r+qe.y*Ie.r)/ke;return Me*Me+Le*Le}function q(be){this._=be,this.next=null,this.previous=null}function Z(be){if(!(Me=be.length))return 0;var Ie,qe,ke,Me,Le,ut,lt,gt,kt,nr,ir;if(Ie=be[0],Ie.x=0,Ie.y=0,!(Me>1))return Ie.r;if(qe=be[1],Ie.x=-qe.r,qe.x=Ie.r,qe.y=0,!(Me>2))return Ie.r+qe.r;se(qe,Ie,ke=be[2]),Ie=new q(Ie),qe=new q(qe),ke=new q(ke),Ie.next=ke.previous=qe,qe.next=Ie.previous=ke,ke.next=qe.previous=Ie;e:for(lt=3;lt0)throw new Error("cycle");return lt}return qe.id=function(ke){return arguments.length?(be=oe(ke),qe):be},qe.parentId=function(ke){return arguments.length?(Ie=oe(ke),qe):Ie},qe}function fe(be,Ie){return be.parent===Ie.parent?1:2}function Be(be){var Ie=be.children;return Ie?Ie[0]:be.t}function Qe(be){var Ie=be.children;return Ie?Ie[Ie.length-1]:be.t}function at(be,Ie,qe){var ke=qe/(Ie.i-be.i);Ie.c-=ke,Ie.s+=qe,be.c+=ke,Ie.z+=qe,Ie.m+=qe}function $e(be){for(var Ie=0,qe=0,ke=be.children,Me=ke.length,Le;--Me>=0;)Le=ke[Me],Le.z+=Ie,Le.m+=Ie,Ie+=Le.s+(qe+=Le.c)}function It(be,Ie,qe){return be.a.parent===Ie.parent?be.a:qe}function Pt(be,Ie){this._=be,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}Pt.prototype=Object.create(f.prototype);function Vt(be){for(var Ie=new Pt(be,0),qe,ke=[Ie],Me,Le,ut,lt;qe=ke.pop();)if(Le=qe._.children)for(qe.children=new Array(lt=Le.length),ut=lt-1;ut>=0;--ut)ke.push(Me=qe.children[ut]=new Pt(Le[ut],ut)),Me.parent=qe;return(Ie.parent=new Pt(null,0)).children=[Ie],Ie}function Wt(){var be=fe,Ie=1,qe=1,ke=null;function Me(kt){var nr=Vt(kt);if(nr.eachAfter(Le),nr.parent.m=-nr.z,nr.eachBefore(ut),ke)kt.eachBefore(gt);else{var ir=kt,tr=kt,Ir=kt;kt.eachBefore(function(ea){ea.xtr.x&&(tr=ea),ea.depth>Ir.depth&&(Ir=ea)});var vi=ir===tr?1:be(ir,tr)/2,Vi=vi-ir.x,Ui=Ie/(tr.x+vi+Vi),Ki=qe/(Ir.depth||1);kt.eachBefore(function(ea){ea.x=(ea.x+Vi)*Ui,ea.y=ea.depth*Ki})}return kt}function Le(kt){var nr=kt.children,ir=kt.parent.children,tr=kt.i?ir[kt.i-1]:null;if(nr){$e(kt);var Ir=(nr[0].z+nr[nr.length-1].z)/2;tr?(kt.z=tr.z+be(kt._,tr._),kt.m=kt.z-Ir):kt.z=Ir}else tr&&(kt.z=tr.z+be(kt._,tr._));kt.parent.A=lt(kt,tr,kt.parent.A||ir[0])}function ut(kt){kt._.x=kt.z+kt.parent.m,kt.m+=kt.parent.m}function lt(kt,nr,ir){if(nr){for(var tr=kt,Ir=kt,vi=nr,Vi=tr.parent.children[0],Ui=tr.m,Ki=Ir.m,ea=vi.m,Bi=Vi.m,_a;vi=Qe(vi),tr=Be(tr),vi&&tr;)Vi=Be(Vi),Ir=Qe(Ir),Ir.a=kt,_a=vi.z+ea-tr.z-Ui+be(vi._,tr._),_a>0&&(at(It(vi,kt,ir),kt,_a),Ui+=_a,Ki+=_a),ea+=vi.m,Ui+=tr.m,Bi+=Vi.m,Ki+=Ir.m;vi&&!Qe(Ir)&&(Ir.t=vi,Ir.m+=ea-Ki),tr&&!Be(Vi)&&(Vi.t=tr,Vi.m+=Ui-Bi,ir=kt)}return ir}function gt(kt){kt.x*=Ie,kt.y=kt.depth*qe}return Me.separation=function(kt){return arguments.length?(be=kt,Me):be},Me.size=function(kt){return arguments.length?(ke=!1,Ie=+kt[0],qe=+kt[1],Me):ke?null:[Ie,qe]},Me.nodeSize=function(kt){return arguments.length?(ke=!0,Ie=+kt[0],qe=+kt[1],Me):ke?[Ie,qe]:null},Me}function Cr(be,Ie,qe,ke,Me){for(var Le=be.children,ut,lt=-1,gt=Le.length,kt=be.value&&(Me-qe)/be.value;++ltea&&(ea=kt),Kt=Ui*Ui*Ca,Bi=Math.max(ea/Kt,Kt/Ki),Bi>_a){Ui-=kt;break}_a=Bi}ut.push(gt={value:Ui,dice:Ir1?ke:1)},qe}(yr);function Dr(){var be=Mr,Ie=!1,qe=1,ke=1,Me=[0],Le=ie,ut=ie,lt=ie,gt=ie,kt=ie;function nr(tr){return tr.x0=tr.y0=0,tr.x1=qe,tr.y1=ke,tr.eachBefore(ir),Me=[0],Ie&&tr.eachBefore(Re),tr}function ir(tr){var Ir=Me[tr.depth],vi=tr.x0+Ir,Vi=tr.y0+Ir,Ui=tr.x1-Ir,Ki=tr.y1-Ir;Ui=tr-1){var ea=Le[ir];ea.x0=vi,ea.y0=Vi,ea.x1=Ui,ea.y1=Ki;return}for(var Bi=kt[ir],_a=Ir/2+Bi,Ca=ir+1,Kt=tr-1;Ca>>1;kt[zt]<_a?Ca=zt+1:Kt=zt}_a-kt[Ca-1]Ki-Vi){var Br=(vi*Jt+Ui*Zt)/Ir;nr(ir,Ca,Zt,vi,Vi,Br,Ki),nr(Ca,tr,Jt,Br,Vi,Ui,Ki)}else{var ri=(Vi*Jt+Ki*Zt)/Ir;nr(ir,Ca,Zt,vi,Vi,Ui,ri),nr(Ca,tr,Jt,vi,ri,Ui,Ki)}}}function Ne(be,Ie,qe,ke,Me){(be.depth&1?Cr:ze)(be,Ie,qe,ke,Me)}var Ye=function be(Ie){function qe(ke,Me,Le,ut,lt){if((gt=ke._squarify)&>.ratio===Ie)for(var gt,kt,nr,ir,tr=-1,Ir,vi=gt.length,Vi=ke.value;++tr1?ke:1)},qe}(yr);p.cluster=i,p.hierarchy=g,p.pack=re,p.packEnclose=z,p.packSiblings=ee,p.partition=Xe,p.stratify=me,p.tree=Wt,p.treemap=Dr,p.treemapBinary=xt,p.treemapDice=ze,p.treemapResquarify=Ye,p.treemapSlice=Cr,p.treemapSliceDice=Ne,p.treemapSquarify=Mr,Object.defineProperty(p,"__esModule",{value:!0})})}}),zy=De({"src/traces/sunburst/calc.js"(Y){"use strict";var H=Dy(),p=vn(),x=ui(),S=oc().makeColorScaleFuncFromTrace,E=vg().makePullColorFn,e=vg().generateExtendedColors,t=oc().calc,r=zn().ALMOST_EQUAL,o={},i={},n={};Y.calc=function(s,h){var c=s._fullLayout,m=h.ids,d=x.isArrayOrTypedArray(m),T=h.labels,l=h.parents,_=h.values,w=x.isArrayOrTypedArray(_),A=[],M={},g={},b=function(ee,V){M[ee]?M[ee].push(V):M[ee]=[V],g[V]=1},v=function(ee){return ee||typeof ee=="number"},u=function(ee){return!w||p(_[ee])&&_[ee]>=0},y,f,R;d?(y=Math.min(m.length,l.length),f=function(ee){return v(m[ee])&&u(ee)},R=function(ee){return String(m[ee])}):(y=Math.min(T.length,l.length),f=function(ee){return v(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(),O=0;O>8&15|H>>4&240,H>>4&15|H&240,(H&15)<<4|H&15,1):p===8?Fy(H>>24&255,H>>16&255,H>>8&255,(H&255)/255):p===4?Fy(H>>12&15|H>>8&240,H>>8&15|H>>4&240,H>>4&15|H&240,((H&15)<<4|H&15)/255):null):(H=$3.exec(Y))?new Ph(H[1],H[2],H[3],1):(H=J3.exec(Y))?new Ph(H[1]*255/100,H[2]*255/100,H[3]*255/100,1):(H=Q3.exec(Y))?Fy(H[1],H[2],H[3],H[4]):(H=eT.exec(Y))?Fy(H[1]*255/100,H[2]*255/100,H[3]*255/100,H[4]):(H=tT.exec(Y))?X3(H[1],H[2]/100,H[3]/100,1):(H=rT.exec(Y))?X3(H[1],H[2]/100,H[3]/100,H[4]):Ex.hasOwnProperty(Y)?H3(Ex[Y]):Y==="transparent"?new Ph(NaN,NaN,NaN,0):null}function H3(Y){return new Ph(Y>>16&255,Y>>8&255,Y&255,1)}function Fy(Y,H,p,x){return x<=0&&(Y=H=p=NaN),new Ph(Y,H,p,x)}function Ax(Y){return Y instanceof hp||(Y=mg(Y)),Y?(Y=Y.rgb(),new Ph(Y.r,Y.g,Y.b,Y.opacity)):new Ph}function By(Y,H,p,x){return arguments.length===1?Ax(Y):new Ph(Y,H,p,x??1)}function Ph(Y,H,p,x){this.r=+Y,this.g=+H,this.b=+p,this.opacity=+x}function G3(){return`#${Jp(this.r)}${Jp(this.g)}${Jp(this.b)}`}function cL(){return`#${Jp(this.r)}${Jp(this.g)}${Jp(this.b)}${Jp((isNaN(this.opacity)?1:this.opacity)*255)}`}function W3(){let Y=Oy(this.opacity);return`${Y===1?"rgb(":"rgba("}${$p(this.r)}, ${$p(this.g)}, ${$p(this.b)}${Y===1?")":`, ${Y})`}`}function Oy(Y){return isNaN(Y)?1:Math.max(0,Math.min(1,Y))}function $p(Y){return Math.max(0,Math.min(255,Math.round(Y)||0))}function Jp(Y){return Y=$p(Y),(Y<16?"0":"")+Y.toString(16)}function X3(Y,H,p,x){return x<=0?Y=H=p=NaN:p<=0||p>=1?Y=H=NaN:H<=0&&(Y=NaN),new Jd(Y,H,p,x)}function Y3(Y){if(Y instanceof Jd)return new Jd(Y.h,Y.s,Y.l,Y.opacity);if(Y instanceof hp||(Y=mg(Y)),!Y)return new Jd;if(Y instanceof Jd)return Y;Y=Y.rgb();var H=Y.r/255,p=Y.g/255,x=Y.b/255,S=Math.min(H,p,x),E=Math.max(H,p,x),e=NaN,t=E-S,r=(E+S)/2;return t?(H===E?e=(p-x)/t+(p0&&r<1?0:e,new Jd(e,t,r,Y.opacity)}function Sx(Y,H,p,x){return arguments.length===1?Y3(Y):new Jd(Y,H,p,x??1)}function Jd(Y,H,p,x){this.h=+Y,this.s=+H,this.l=+p,this.opacity=+x}function Z3(Y){return Y=(Y||0)%360,Y<0?Y+360:Y}function Ny(Y){return Math.max(0,Math.min(1,Y||0))}function Mx(Y,H,p){return(Y<60?H+(p-H)*Y/60:Y<180?p:Y<240?H+(p-H)*(240-Y)/60:H)*255}var dp,Qp,e0,em,Qd,K3,$3,J3,Q3,eT,tT,rT,Ex,kx=wi({"node_modules/d3-color/src/color.js"(){Tx(),dp=.7,Qp=1/dp,e0="\\s*([+-]?\\d+)\\s*",em="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Qd="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",K3=/^#([0-9a-f]{3,8})$/,$3=new RegExp(`^rgb\\(${e0},${e0},${e0}\\)$`),J3=new RegExp(`^rgb\\(${Qd},${Qd},${Qd}\\)$`),Q3=new RegExp(`^rgba\\(${e0},${e0},${e0},${em}\\)$`),eT=new RegExp(`^rgba\\(${Qd},${Qd},${Qd},${em}\\)$`),tT=new RegExp(`^hsl\\(${em},${Qd},${Qd}\\)$`),rT=new RegExp(`^hsla\\(${em},${Qd},${Qd},${em}\\)$`),Ex={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},Q0(hp,mg,{copy(Y){return Object.assign(new this.constructor,this,Y)},displayable(){return this.rgb().displayable()},hex:V3,formatHex:V3,formatHex8:lL,formatHsl:uL,formatRgb:q3,toString:q3}),Q0(Ph,By,pg(hp,{brighter(Y){return Y=Y==null?Qp:Math.pow(Qp,Y),new Ph(this.r*Y,this.g*Y,this.b*Y,this.opacity)},darker(Y){return Y=Y==null?dp:Math.pow(dp,Y),new Ph(this.r*Y,this.g*Y,this.b*Y,this.opacity)},rgb(){return this},clamp(){return new Ph($p(this.r),$p(this.g),$p(this.b),Oy(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:G3,formatHex:G3,formatHex8:cL,formatRgb:W3,toString:W3})),Q0(Jd,Sx,pg(hp,{brighter(Y){return Y=Y==null?Qp:Math.pow(Qp,Y),new Jd(this.h,this.s,this.l*Y,this.opacity)},darker(Y){return Y=Y==null?dp:Math.pow(dp,Y),new Jd(this.h,this.s,this.l*Y,this.opacity)},rgb(){var Y=this.h%360+(this.h<0)*360,H=isNaN(Y)||isNaN(this.s)?0:this.s,p=this.l,x=p+(p<.5?p:1-p)*H,S=2*p-x;return new Ph(Mx(Y>=240?Y-240:Y+120,S,x),Mx(Y,S,x),Mx(Y<120?Y+240:Y-120,S,x),this.opacity)},clamp(){return new Jd(Z3(this.h),Ny(this.s),Ny(this.l),Oy(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 Y=Oy(this.opacity);return`${Y===1?"hsl(":"hsla("}${Z3(this.h)}, ${Ny(this.s)*100}%, ${Ny(this.l)*100}%${Y===1?")":`, ${Y})`}`}}))}}),Cx,Lx,iT=wi({"node_modules/d3-color/src/math.js"(){Cx=Math.PI/180,Lx=180/Math.PI}});function aT(Y){if(Y instanceof yv)return new yv(Y.l,Y.a,Y.b,Y.opacity);if(Y instanceof Ov)return nT(Y);Y instanceof Ph||(Y=Ax(Y));var H=zx(Y.r),p=zx(Y.g),x=zx(Y.b),S=Px((.2225045*H+.7168786*p+.0606169*x)/Ox),E,e;return H===p&&p===x?E=e=S:(E=Px((.4360747*H+.3850649*p+.1430804*x)/Bx),e=Px((.0139322*H+.0971045*p+.7141733*x)/Nx)),new yv(116*S-16,500*(E-S),200*(S-e),Y.opacity)}function Ix(Y,H,p,x){return arguments.length===1?aT(Y):new yv(Y,H,p,x??1)}function yv(Y,H,p,x){this.l=+Y,this.a=+H,this.b=+p,this.opacity=+x}function Px(Y){return Y>oT?Math.pow(Y,.3333333333333333):Y/jx+Ux}function Rx(Y){return Y>t0?Y*Y*Y:jx*(Y-Ux)}function Dx(Y){return 255*(Y<=.0031308?12.92*Y:1.055*Math.pow(Y,.4166666666666667)-.055)}function zx(Y){return(Y/=255)<=.04045?Y/12.92:Math.pow((Y+.055)/1.055,2.4)}function fL(Y){if(Y instanceof Ov)return new Ov(Y.h,Y.c,Y.l,Y.opacity);if(Y instanceof yv||(Y=aT(Y)),Y.a===0&&Y.b===0)return new Ov(NaN,0=1?(p=1,H-1):Math.floor(p*H),S=Y[x],E=Y[x+1],e=x>0?Y[x-1]:2*S-E,t=x()=>Y}});function hT(Y,H){return function(p){return Y+p*H}}function pL(Y,H,p){return Y=Math.pow(Y,p),H=Math.pow(H,p)-Y,p=1/p,function(x){return Math.pow(Y+x*H,p)}}function Vy(Y,H){var p=H-Y;return p?hT(Y,p>180||p<-180?p-360*Math.round(p/360):p):_g(isNaN(Y)?H:Y)}function mL(Y){return(Y=+Y)==1?Rh:function(H,p){return p-H?pL(H,p,Y):_g(isNaN(H)?p:H)}}function Rh(Y,H){var p=H-Y;return p?hT(Y,p):_g(isNaN(Y)?H:Y)}var im=wi({"node_modules/d3-interpolate/src/color.js"(){fT()}});function dT(Y){return function(H){var p=H.length,x=new Array(p),S=new Array(p),E=new Array(p),e,t;for(e=0;ep&&(E=H.slice(p,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:_v(x,S)})),p=Wy.lastIndex;return p180?i+=360:i-o>180&&(o+=360),a.push({i:n.push(S(n)+"rotate(",null,x)-2,x:_v(o,i)})):i&&n.push(S(n)+"rotate("+i+x)}function t(o,i,n,a){o!==i?a.push({i:n.push(S(n)+"skewX(",null,x)-2,x:_v(o,i)}):i&&n.push(S(n)+"skewX("+i+x)}function r(o,i,n,a,s,h){if(o!==n||i!==a){var c=s.push(S(s)+"scale(",null,",",null,")");h.push({i:c-4,x:_v(o,n)},{i:c-2,x:_v(i,a)})}else(n!==1||a!==1)&&s.push(S(s)+"scale("+n+","+a+")")}return function(o,i){var n=[],a=[];return o=Y(o),i=Y(i),E(o.translateX,o.translateY,i.translateX,i.translateY,n,a),e(o.rotate,i.rotate,n,a),t(o.skewX,i.skewX,n,a),r(o.scaleX,o.scaleY,i.scaleX,i.scaleY,n,a),o=i=null,function(s){for(var h=-1,c=a.length,m;++hXy,interpolateArray:()=>gL,interpolateBasis:()=>lT,interpolateBasisClosed:()=>uT,interpolateCubehelix:()=>UT,interpolateCubehelixLong:()=>jT,interpolateDate:()=>xT,interpolateDiscrete:()=>xL,interpolateHcl:()=>BT,interpolateHclLong:()=>OT,interpolateHsl:()=>DT,interpolateHslLong:()=>zT,interpolateHue:()=>wL,interpolateLab:()=>zL,interpolateNumber:()=>_v,interpolateNumberArray:()=>Yx,interpolateObject:()=>wT,interpolateRgb:()=>qy,interpolateRgbBasis:()=>vT,interpolateRgbBasisClosed:()=>pT,interpolateRound:()=>AL,interpolateString:()=>AT,interpolateTransformCss:()=>kT,interpolateTransformSvg:()=>CT,interpolateZoom:()=>PT,piecewise:()=>NL,quantize:()=>jL});var am=wi({"node_modules/d3-interpolate/src/index.js"(){Yy(),_T(),Xx(),cT(),bT(),bL(),TL(),Hy(),Zx(),TT(),SL(),ST(),LL(),RL(),mT(),DL(),FL(),BL(),OL(),UL(),VL()}}),$x=De({"src/traces/sunburst/fill_one.js"(Y,H){"use strict";var p=ys(),x=vo();H.exports=function(E,e,t,r,o){var i=e.data.data,n=i.i,a=o||i.color;if(n>=0){e.i=i.i;var s=t.marker;s.pattern?(!s.colors||!s.pattern.shape)&&(s.color=a,e.color=a):(s.color=a,e.color=a),p.pointStyle(E,t,r,e)}else x.fill(E,a)}}}),VT=De({"src/traces/sunburst/style.js"(Y,H){"use strict";var p=za(),x=vo(),S=ui(),E=ed().resizeText,e=$x();function t(o){var i=o._fullLayout._sunburstlayer.selectAll(".trace");E(o,i,"sunburst"),i.each(function(n){var a=p.select(this),s=n[0],h=s.trace;a.style("opacity",h.opacity),a.selectAll("path.surface").each(function(c){p.select(this).call(r,c,h,o)})})}function r(o,i,n,a){var s=i.data.data,h=!i.children,c=s.i,m=S.castOption(n,c,"marker.line.color")||x.defaultLine,d=S.castOption(n,c,"marker.line.width")||0;o.call(e,i,n,a).style("stroke-width",d).call(x.stroke,m).style("opacity",h?n.leaf.opacity:null)}H.exports={style:t,styleOne:r}}}),vp=De({"src/traces/sunburst/helpers.js"(Y){"use strict";var H=ui(),p=vo(),x=hv(),S=Gp();Y.findEntryWithLevel=function(r,o){var i;return o&&r.eachAfter(function(n){if(Y.getPtId(n)===o)return i=n.copy()}),i||r},Y.findEntryWithChild=function(r,o){var i;return r.eachAfter(function(n){for(var a=n.children||[],s=0;s0)},Y.getMaxDepth=function(r){return r.maxdepth>=0?r.maxdepth:1/0},Y.isHeader=function(r,o){return!(Y.isLeaf(r)||r.depth===o._maxDepth-1)};function t(r){return r.data.data.pid}Y.getParent=function(r,o){return Y.findEntryWithLevel(r,t(o))},Y.listPath=function(r,o){var i=r.parent;if(!i)return[];var n=o?[i.data[o]]:[i];return Y.listPath(i,o).concat(n)},Y.getPath=function(r){return Y.listPath(r,"label").join("/")+"/"},Y.formatValue=S.formatPieValue,Y.formatPercent=function(r,o){var i=H.formatPercent(r,0);return i==="0%"&&(i=S.formatPiePercent(r,o)),i}}}),$y=De({"src/traces/sunburst/fx.js"(Y,H){"use strict";var p=za(),x=Mo(),S=Ad().appendArrayPointValue,E=sf(),e=ui(),t=Xm(),r=vp(),o=Gp(),i=o.formatPieValue;H.exports=function(s,h,c,m,d){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(v){var u=c._fullLayout;if(!(c._dragging||u.hovermode===!1)){var y=c._fullData[l.index],f=v.data.data,R=f.i,L=r.isHierarchyRoot(v),z=r.getParent(_,v),F=r.getValue(v),N=function(Q){return e.castOption(y,R,Q)},B=N("hovertemplate"),I=E.castHoverinfo(y,u,R),U=u.separators,O;if(B||I&&I!=="none"&&I!=="skip"){var X,J;w&&(X=T.cx+v.pxmid[0]*(1-v.rInscribed),J=T.cy+v.pxmid[1]*(1-v.rInscribed)),A&&(X=v._hoverX,J=v._hoverY);var se={},le=[],ce=[],q=function(Q){return le.indexOf(Q)!==-1};I&&(le=I==="all"?y._module.attributes.hoverinfo.flags:I.split("+")),se.label=f.label,q("label")&&se.label&&ce.push(se.label),f.hasOwnProperty("v")&&(se.value=f.v,se.valueLabel=i(se.value,U),q("value")&&ce.push(se.valueLabel)),se.currentPath=v.currentPath=r.getPath(v.data),q("current path")&&!L&&ce.push(se.currentPath);var Z,ee=[],V=function(){ee.indexOf(Z)===-1&&(ce.push(Z),ee.push(Z))};se.percentParent=v.percentParent=F/r.getValue(z),se.parent=v.parentString=r.getPtLabel(z),q("percent parent")&&(Z=r.formatPercent(se.percentParent,U)+" of "+se.parent,V()),se.percentEntry=v.percentEntry=F/r.getValue(h),se.entry=v.entry=r.getPtLabel(h),q("percent entry")&&!L&&!v.onPathbar&&(Z=r.formatPercent(se.percentEntry,U)+" of "+se.entry,V()),se.percentRoot=v.percentRoot=F/r.getValue(_),se.root=v.root=r.getPtLabel(_),q("percent root")&&!L&&(Z=r.formatPercent(se.percentRoot,U)+" of "+se.root,V()),se.text=N("hovertext")||N("text"),q("text")&&(Z=se.text,e.isValidTextValue(Z)&&ce.push(Z)),O=[n(v,y,d.eventDataKeys)];var oe={trace:y,y:J,_x0:v._x0,_x1:v._x1,_y0:v._y0,_y1:v._y1,text:ce.join("
"),name:B||q("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:B,hovertemplateLabels:se,eventData:O};w&&(oe.x0=X-v.rInscribed*v.rpx1,oe.x1=X+v.rInscribed*v.rpx1,oe.idealAlign=v.pxmid[0]<0?"left":"right"),A&&(oe.x=X,oe.idealAlign=X<0?"left":"right");var ie=[];E.loneHover(oe,{container:u._hoverlayer.node(),outerContainer:u._paper.node(),gd:c,inOut_bbox:ie}),O[0].bbox=ie[0],l._hasHoverLabel=!0}if(A){var j=s.select("path.surface");d.styleOne(j,v,y,c,{hovered:!0})}l._hasHoverEvent=!0,c.emit("plotly_hover",{points:O||[n(v,y,d.eventDataKeys)],event:p.event})}},g=function(v){var u=c._fullLayout,y=c._fullData[l.index],f=p.select(this).datum();if(l._hasHoverEvent&&(v.originalEvent=p.event,c.emit("plotly_unhover",{points:[n(f,y,d.eventDataKeys)],event:p.event}),l._hasHoverEvent=!1),l._hasHoverLabel&&(E.loneUnhover(u._hoverlayer.node()),l._hasHoverLabel=!1),A){var R=s.select("path.surface");d.styleOne(R,f,y,c,{hovered:!1})}},b=function(v){var u=c._fullLayout,y=c._fullData[l.index],f=w&&(r.isHierarchyRoot(v)||r.isLeaf(v)),R=r.getPtId(v),L=r.isEntry(v)?r.findEntryWithChild(_,R):r.findEntryWithLevel(_,R),z=r.getPtId(L),F={points:[n(v,y,d.eventDataKeys)],event:p.event};f||(F.nextLevel=z);var N=t.triggerHandler(c,"plotly_"+l.type+"click",F);if(N!==!1&&u.hovermode&&(c._hoverdata=[n(v,y,d.eventDataKeys)],E.click(c,p.event)),!f&&N!==!1&&!c._dragging&&!c._transitioning){x.call("_storeDirectGUIEdit",y,u._tracePreGUI[y.uid],{level:y.level});var B={data:[{level:z}],traces:[l.index]},I={frame:{redraw:!1,duration:d.transitionTime},transition:{duration:d.transitionTime,easing:d.transitionEasing},mode:"immediate",fromcurrent:!0};E.loneUnhover(u._hoverlayer.node()),x.call("animate",c,B,I)}};s.on("mouseover",M),s.on("mouseout",g),s.on("click",b)};function n(a,s,h){for(var c=a.data.data,m={curveNumber:s.index,pointNumber:c.i,data:s._input,fullData:s},d=0;dat.x1?2*Math.PI:0)+Q;$e=fe.rpx1Xe?2*Math.PI:0)+Q;Qe={x0:$e,x1:$e}}else Qe={rpx0:le,rpx1:le},E.extendFlat(Qe,me(fe));else Qe={rpx0:0,rpx1:0};else Qe={x0:Q,x1:Q};return x(Qe,at)}function Ae(fe){var Be=ee[T.getPtId(fe)],Qe,at=fe.transform;if(Be)Qe=Be;else if(Qe={rpx1:fe.rpx1,transform:{textPosAngle:at.textPosAngle,scale:0,rotate:at.rotate,rCenter:at.rCenter,x:at.x,y:at.y}},Z)if(fe.parent)if(Xe){var $e=fe.x1>Xe?2*Math.PI:0;Qe.x0=Qe.x1=$e}else E.extendFlat(Qe,me(fe));else Qe.x0=Qe.x1=Q;else Qe.x0=Qe.x1=Q;var It=x(Qe.transform.textPosAngle,fe.transform.textPosAngle),Pt=x(Qe.rpx1,fe.rpx1),Vt=x(Qe.x0,fe.x0),Wt=x(Qe.x1,fe.x1),Cr=x(Qe.transform.scale,at.scale),yr=x(Qe.transform.rotate,at.rotate),qr=at.rCenter===0?3:Qe.transform.rCenter===0?1/3:1,Mr=x(Qe.transform.rCenter,at.rCenter),Dr=function(xt){return Mr(Math.pow(xt,qr))};return function(xt){var Ne=Pt(xt),Ye=Vt(xt),be=Wt(xt),Ie=Dr(xt),qe=_e(Ne,(Ye+be)/2),ke=It(xt),Me={pxmid:qe,rpx1:Ne,transform:{textPosAngle:ke,rCenter:Ie,x:at.x,y:at.y}};return r(N.type,at,f),{transform:{targetX:Re(Me),targetY:ze(Me),scale:Cr(xt),rotate:yr(xt),rCenter:Ie}}}}function me(fe){var Be=fe.parent,Qe=ee[T.getPtId(Be)],at={};if(Qe){var $e=Be.children,It=$e.indexOf(fe),Pt=$e.length,Vt=x(Qe.x0,Qe.x1);at.x0=Vt(It/Pt),at.x1=Vt(It/Pt)}else at.x0=at.x1=0;return at}}function _(g){return p.partition().size([2*Math.PI,g.height+1])(g)}Y.formatSliceLabel=function(g,b,v,u,y){var f=v.texttemplate,R=v.textinfo;if(!f&&(!R||R==="none"))return"";var L=y.separators,z=u[0],F=g.data.data,N=z.hierarchy,B=T.isHierarchyRoot(g),I=T.getParent(N,g),U=T.getValue(g);if(!f){var O=R.split("+"),X=function(ie){return O.indexOf(ie)!==-1},J=[],se;if(X("label")&&F.label&&J.push(F.label),F.hasOwnProperty("v")&&X("value")&&J.push(T.formatValue(F.v,L)),!B){X("current path")&&J.push(T.getPath(g.data));var le=0;X("percent parent")&&le++,X("percent entry")&&le++,X("percent root")&&le++;var ce=le>1;if(le){var q,Z=function(ie){se=T.formatPercent(q,L),ce&&(se+=" of "+ie),J.push(se)};X("percent parent")&&!B&&(q=U/T.getValue(I),Z("parent")),X("percent entry")&&(q=U/T.getValue(b),Z("entry")),X("percent root")&&(q=U/T.getValue(N),Z("root"))}}return X("text")&&(se=E.castOption(v,F.i,"text"),E.isValidTextValue(se)&&J.push(se)),J.join("
")}var ee=E.castOption(v,F.i,"texttemplate");if(!ee)return"";var V={};F.label&&(V.label=F.label),F.hasOwnProperty("v")&&(V.value=F.v,V.valueLabel=T.formatValue(F.v,L)),V.currentPath=T.getPath(g.data),B||(V.percentParent=U/T.getValue(I),V.percentParentLabel=T.formatPercent(V.percentParent,L),V.parent=T.getPtLabel(I)),V.percentEntry=U/T.getValue(b),V.percentEntryLabel=T.formatPercent(V.percentEntry,L),V.entry=T.getPtLabel(b),V.percentRoot=U/T.getValue(N),V.percentRootLabel=T.formatPercent(V.percentRoot,L),V.root=T.getPtLabel(N),F.hasOwnProperty("color")&&(V.color=F.color);var oe=E.castOption(v,F.i,"text");return(E.isValidTextValue(oe)||oe==="")&&(V.text=oe),V.customdata=E.castOption(v,F.i,"customdata"),E.texttemplateString({data:[V,v._meta],fallback:v.texttemplatefallback,labels:V,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)]}}}),qL=De({"src/traces/sunburst/index.js"(Y,H){"use strict";H.exports={moduleType:"trace",name:"sunburst",basePlotModule:nL(),categories:[],animatable:!0,attributes:Ry(),layoutAttributes:j3(),supplyDefaults:oL(),supplyLayoutDefaults:sL(),calc:zy().calc,crossTraceCalc:zy().crossTraceCalc,plot:Jx().plot,style:VT().style,colorbar:qh(),meta:{}}}}),HL=De({"lib/sunburst.js"(Y,H){"use strict";H.exports=qL()}}),GL=De({"src/traces/treemap/base_plot.js"(Y){"use strict";var H=Mc();Y.name="treemap",Y.plot=function(p,x,S,E){H.plotBasePlot(Y.name,p,x,S,E)},Y.clean=function(p,x,S,E){H.cleanBasePlot(Y.name,p,x,S,E)}}}),nm=De({"src/traces/treemap/constants.js"(Y,H){"use strict";H.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}}}),Qx=De({"src/traces/treemap/attributes.js"(Y,H){"use strict";var{hovertemplateAttrs:p,texttemplateAttrs:x,templatefallbackAttrs:S}=ou(),E=zu(),e=Ec().attributes,t=$0(),r=Ry(),o=nm(),i=Xo().extendFlat,n=Ch().pattern;H.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:i({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:i({},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:p({},{keys:o.eventDataKeys}),hovertemplatefallback:S(),textfont:t.textfont,insidetextfont:t.insidetextfont,outsidetextfont:i({},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"})}}}),qT=De({"src/traces/treemap/layout_attributes.js"(Y,H){"use strict";H.exports={treemapcolorway:{valType:"colorlist",editType:"calc"},extendtreemapcolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),WL=De({"src/traces/treemap/defaults.js"(Y,H){"use strict";var p=ui(),x=Qx(),S=vo(),E=Ec().defaults,e=Nd().handleText,t=Yp().TEXTPAD,r=J0().handleMarkerDefaults,o=oc(),i=o.hasColorscale,n=o.handleDefaults;H.exports=function(s,h,c,m){function d(y,f){return p.coerce(s,h,x,y,f)}var T=d("labels"),l=d("parents");if(!T||!T.length||!l||!l.length){h.visible=!1;return}var _=d("values");_&&_.length?d("branchvalues"):d("count"),d("level"),d("maxdepth");var w=d("tiling.packing");w==="squarify"&&d("tiling.squarifyratio"),d("tiling.flip"),d("tiling.pad");var A=d("text");d("texttemplate"),d("texttemplatefallback"),h.texttemplate||d("textinfo",p.isArrayOrTypedArray(A)?"text+label":"label"),d("hovertext"),d("hovertemplate"),d("hovertemplatefallback");var M=d("pathbar.visible"),g="auto";e(s,h,m,d,g,{hasPathbar:M,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),d("textposition");var b=h.textposition.indexOf("bottom")!==-1;r(s,h,m,d);var v=h._hasColorscale=i(s,"marker","colors")||(s.marker||{}).coloraxis;v?n(s,h,m,d,{prefix:"marker.",cLetter:"c"}):d("marker.depthfade",!(h.marker.colors||[]).length);var u=h.textfont.size*2;d("marker.pad.t",b?u/4:u),d("marker.pad.l",u/4),d("marker.pad.r",u/4),d("marker.pad.b",b?u:u/4),d("marker.cornerradius"),h._hovered={marker:{line:{width:2,color:S.contrast(m.paper_bgcolor)}}},M&&(d("pathbar.thickness",h.pathbar.textfont.size+2*t),d("pathbar.side"),d("pathbar.edgeshape")),d("sort"),d("root.color"),E(h,m,d),h._length=null}}}),XL=De({"src/traces/treemap/layout_defaults.js"(Y,H){"use strict";var p=ui(),x=qT();H.exports=function(E,e){function t(r,o){return p.coerce(E,e,x,r,o)}t("treemapcolorway",e.colorway),t("extendtreemapcolors")}}}),HT=De({"src/traces/treemap/calc.js"(Y){"use strict";var H=zy();Y.calc=function(p,x){return H.calc(p,x)},Y.crossTraceCalc=function(p){return H._runCrossTraceCalc("treemap",p)}}}),GT=De({"src/traces/treemap/flip_tree.js"(Y,H){"use strict";H.exports=function p(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 ce=x.ensureSingle(se,"g","slicetext"),q=x.ensureSingle(ce,"text","",function(ee){ee.attr("data-notex",1)}),Z=x.ensureUniformFontSize(s,o.determineTextFont(N,J,z.font,{onPathbar:!0}));q.text(J._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(S.font,Z).call(E.convertToTspans,s),J.textBB=S.bBox(q.node()),J.transform=g(J,{fontSize:Z.size,onPathbar:!0}),J.transform.fontSize=Z.size,v?q.transition().attrTween("transform",function(ee){var V=f(ee,n,R,[l,_]);return function(oe){return b(V(oe))}}):q.attr("transform",b(J))})}}}),ZL=De({"src/traces/treemap/plot_one.js"(Y,H){"use strict";var p=za(),x=(am(),Ua(i0)).interpolate,S=vp(),E=ui(),e=Yp().TEXTPAD,t=W0(),r=t.toMoveInsideBar,o=ed(),i=o.recordMinTextSize,n=nm(),a=YL();function s(h){return S.isHierarchyRoot(h)?"":S.getPtId(h)}H.exports=function(c,m,d,T,l){var _=c._fullLayout,w=m[0],A=w.trace,M=A.type,g=M==="icicle",b=w.hierarchy,v=S.findEntryWithLevel(b,A.level),u=p.select(d),y=u.selectAll("g.pathbar"),f=u.selectAll("g.slice");if(!v){y.remove(),f.remove();return}var R=S.isHierarchyRoot(v),L=!_.uniformtext.mode&&S.hasTransition(T),z=S.getMaxDepth(A),F=function(Mr){return Mr.data.depth-v.data.depth-1?U+J:-(X+J):0,le={x0:O,x1:O,y0:se,y1:se+X},ce=function(Mr,Dr,xt){var Ne=A.tiling.pad,Ye=function(ke){return ke-Ne<=Dr.x0},be=function(ke){return ke+Ne>=Dr.x1},Ie=function(ke){return ke-Ne<=Dr.y0},qe=function(ke){return ke+Ne>=Dr.y1};return Mr.x0===Dr.x0&&Mr.x1===Dr.x1&&Mr.y0===Dr.y0&&Mr.y1===Dr.y1?{x0:Mr.x0,x1:Mr.x1,y0:Mr.y0,y1:Mr.y1}:{x0:Ye(Mr.x0-Ne)?0:be(Mr.x0-Ne)?xt[0]:Mr.x0,x1:Ye(Mr.x1+Ne)?0:be(Mr.x1+Ne)?xt[0]:Mr.x1,y0:Ie(Mr.y0-Ne)?0:qe(Mr.y0-Ne)?xt[1]:Mr.y0,y1:Ie(Mr.y1+Ne)?0:qe(Mr.y1+Ne)?xt[1]:Mr.y1}},q=null,Z={},ee={},V=null,oe=function(Mr,Dr){return Dr?Z[s(Mr)]:ee[s(Mr)]},ie=function(Mr,Dr,xt,Ne){if(Dr)return Z[s(b)]||le;var Ye=ee[A.level]||xt;return F(Mr)?ce(Mr,Ye,Ne):{}};w.hasMultipleRoots&&R&&z++,A._maxDepth=z,A._backgroundColor=_.paper_bgcolor,A._entryDepth=v.data.depth,A._atRootLevel=R;var j=-I/2+N.l+N.w*(B.x[1]+B.x[0])/2,Q=-U/2+N.t+N.h*(1-(B.y[1]+B.y[0])/2),re=function(Mr){return j+Mr},ue=function(Mr){return Q+Mr},_e=ue(0),we=re(0),Re=function(Mr){return we+Mr},ze=function(Mr){return _e+Mr};function Xe(Mr,Dr){return Mr+","+Dr}var tt=Re(0),it=function(Mr){Mr.x=Math.max(tt,Mr.x)},et=A.pathbar.edgeshape,nt=function(Mr){var Dr=Re(Math.max(Math.min(Mr.x0,Mr.x0),0)),xt=Re(Math.min(Math.max(Mr.x1,Mr.x1),O)),Ne=ze(Mr.y0),Ye=ze(Mr.y1),be=X/2,Ie={},qe={};Ie.x=Dr,qe.x=xt,Ie.y=qe.y=(Ne+Ye)/2;var ke={x:Dr,y:Ne},Me={x:xt,y:Ne},Le={x:xt,y:Ye},ut={x:Dr,y:Ye};return et===">"?(ke.x-=be,Me.x-=be,Le.x-=be,ut.x-=be):et==="/"?(Le.x-=be,ut.x-=be,Ie.x-=be/2,qe.x-=be/2):et==="\\"?(ke.x-=be,Me.x-=be,Ie.x-=be/2,qe.x-=be/2):et==="<"&&(Ie.x-=be,qe.x-=be),it(ke),it(ut),it(Ie),it(Me),it(Le),it(qe),"M"+Xe(ke.x,ke.y)+"L"+Xe(Me.x,Me.y)+"L"+Xe(qe.x,qe.y)+"L"+Xe(Le.x,Le.y)+"L"+Xe(ut.x,ut.y)+"L"+Xe(Ie.x,Ie.y)+"Z"},Ae=A[g?"tiling":"marker"].pad,me=function(Mr){return A.textposition.indexOf(Mr)!==-1},fe=me("top"),Be=me("left"),Qe=me("right"),at=me("bottom"),$e=function(Mr){var Dr=re(Mr.x0),xt=re(Mr.x1),Ne=ue(Mr.y0),Ye=ue(Mr.y1),be=xt-Dr,Ie=Ye-Ne;if(!be||!Ie)return"";var qe=A.marker.cornerradius||0,ke=Math.min(qe,be/2,Ie/2);ke&&Mr.data&&Mr.data.data&&Mr.data.data.label&&(fe&&(ke=Math.min(ke,Ae.t)),Be&&(ke=Math.min(ke,Ae.l)),Qe&&(ke=Math.min(ke,Ae.r)),at&&(ke=Math.min(ke,Ae.b)));var Me=function(Le,ut){return ke?"a"+Xe(ke,ke)+" 0 0 1 "+Xe(Le,ut):""};return"M"+Xe(Dr,Ne+ke)+Me(ke,-ke)+"L"+Xe(xt-ke,Ne)+Me(ke,ke)+"L"+Xe(xt,Ye-ke)+Me(-ke,ke)+"L"+Xe(Dr+ke,Ye)+Me(-ke,-ke)+"Z"},It=function(Mr,Dr){var xt=Mr.x0,Ne=Mr.x1,Ye=Mr.y0,be=Mr.y1,Ie=Mr.textBB,qe=fe||Dr.isHeader&&!at,ke=qe?"start":at?"end":"middle",Me=me("right"),Le=me("left")||Dr.onPathbar,ut=Le?-1:Me?1:0;if(Dr.isHeader){if(xt+=(g?Ae:Ae.l)-e,Ne-=(g?Ae:Ae.r)-e,xt>=Ne){var lt=(xt+Ne)/2;xt=lt,Ne=lt}var gt;at?(gt=be-(g?Ae:Ae.b),Ye-1,flipY:B.tiling.flip.indexOf("y")>-1,pad:{inner:B.tiling.pad,top:B.marker.pad.t,left:B.marker.pad.l,right:B.marker.pad.r,bottom:B.marker.pad.b}}),se=J.descendants(),le=1/0,ce=-1/0;se.forEach(function(oe){var ie=oe.depth;ie>=B._maxDepth?(oe.x0=oe.x1=(oe.x0+oe.x1)/2,oe.y0=oe.y1=(oe.y0+oe.y1)/2):(le=Math.min(le,ie),ce=Math.max(ce,ie))}),d=d.data(se,o.getPtId),B._maxVisibleLayers=isFinite(ce)?ce-le+1:0,d.enter().append("g").classed("slice",!0),u(d,a,L,[l,_],M),d.order();var q=null;if(v&&R){var Z=o.getPtId(R);d.each(function(oe){q===null&&o.getPtId(oe)===Z&&(q={x0:oe.x0,x1:oe.x1,y0:oe.y0,y1:oe.y1})})}var ee=function(){return q||{x0:0,x1:l,y0:0,y1:_}},V=d;return v&&(V=V.transition().each("end",function(){var oe=p.select(this);o.setSliceCursor(oe,h,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),V.each(function(oe){var ie=o.isHeader(oe,B);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-B.marker.pad.r),oe._hoverY=A(O?oe.y1-B.marker.pad.b/2:oe.y0+B.marker.pad.t/2);var j=p.select(this),Q=x.ensureSingle(j,"path","surface",function(ze){ze.style("pointer-events",z?"none":"all")});v?Q.transition().attrTween("d",function(ze){var Xe=y(ze,a,ee(),[l,_]);return function(tt){return M(Xe(tt))}}):Q.attr("d",M),j.call(i,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,B,h,{hovered:!1}),oe.x0===oe.x1||oe.y0===oe.y1?oe._text="":ie?oe._text=X?"":o.getPtLabel(oe)||"":oe._text=n(oe,m,B,c,F)||"";var re=x.ensureSingle(j,"g","slicetext"),ue=x.ensureSingle(re,"text","",function(ze){ze.attr("data-notex",1)}),_e=x.ensureUniformFontSize(h,o.determineTextFont(B,oe,F.font)),we=oe._text||" ",Re=ie&&we.indexOf("
")===-1;ue.text(we).classed("slicetext",!0).attr("text-anchor",U?"end":I||Re?"start":"middle").call(S.font,_e).call(E.convertToTspans,h),oe.textBB=S.bBox(ue.node()),oe.transform=g(oe,{fontSize:_e.size,isHeader:ie}),oe.transform.fontSize=_e.size,v?ue.transition().attrTween("transform",function(ze){var Xe=f(ze,a,ee(),[l,_]);return function(tt){return b(Xe(tt))}}):ue.attr("transform",b(oe))}),q}}}),$L=De({"src/traces/treemap/plot.js"(Y,H){"use strict";var p=XT(),x=KL();H.exports=function(E,e,t,r){return p(E,e,t,r,{type:"treemap",drawDescendants:x})}}}),JL=De({"src/traces/treemap/index.js"(Y,H){"use strict";H.exports={moduleType:"trace",name:"treemap",basePlotModule:GL(),categories:[],animatable:!0,attributes:Qx(),layoutAttributes:qT(),supplyDefaults:WL(),supplyLayoutDefaults:XL(),calc:HT().calc,crossTraceCalc:HT().crossTraceCalc,plot:$L(),style:eb().style,colorbar:qh(),meta:{}}}}),QL=De({"lib/treemap.js"(Y,H){"use strict";H.exports=JL()}}),eI=De({"src/traces/icicle/base_plot.js"(Y){"use strict";var H=Mc();Y.name="icicle",Y.plot=function(p,x,S,E){H.plotBasePlot(Y.name,p,x,S,E)},Y.clean=function(p,x,S,E){H.cleanBasePlot(Y.name,p,x,S,E)}}}),YT=De({"src/traces/icicle/attributes.js"(Y,H){"use strict";var{hovertemplateAttrs:p,texttemplateAttrs:x,templatefallbackAttrs:S}=ou(),E=zu(),e=Ec().attributes,t=$0(),r=Ry(),o=Qx(),i=nm(),n=Xo().extendFlat,a=Ch().pattern;H.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:a,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:i.eventDataKeys.concat(["label","value"])}),texttemplatefallback:S({editType:"plot"}),hovertext:t.hovertext,hoverinfo:r.hoverinfo,hovertemplate:p({},{keys:i.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"})}}}),ZT=De({"src/traces/icicle/layout_attributes.js"(Y,H){"use strict";H.exports={iciclecolorway:{valType:"colorlist",editType:"calc"},extendiciclecolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),tI=De({"src/traces/icicle/defaults.js"(Y,H){"use strict";var p=ui(),x=YT(),S=vo(),E=Ec().defaults,e=Nd().handleText,t=Yp().TEXTPAD,r=J0().handleMarkerDefaults,o=oc(),i=o.hasColorscale,n=o.handleDefaults;H.exports=function(s,h,c,m){function d(b,v){return p.coerce(s,h,x,b,v)}var T=d("labels"),l=d("parents");if(!T||!T.length||!l||!l.length){h.visible=!1;return}var _=d("values");_&&_.length?d("branchvalues"):d("count"),d("level"),d("maxdepth"),d("tiling.orientation"),d("tiling.flip"),d("tiling.pad");var w=d("text");d("texttemplate"),d("texttemplatefallback"),h.texttemplate||d("textinfo",p.isArrayOrTypedArray(w)?"text+label":"label"),d("hovertext"),d("hovertemplate"),d("hovertemplatefallback");var A=d("pathbar.visible"),M="auto";e(s,h,m,d,M,{hasPathbar:A,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),d("textposition"),r(s,h,m,d);var g=h._hasColorscale=i(s,"marker","colors")||(s.marker||{}).coloraxis;g&&n(s,h,m,d,{prefix:"marker.",cLetter:"c"}),d("leaf.opacity",g?1:.7),h._hovered={marker:{line:{width:2,color:S.contrast(m.paper_bgcolor)}}},A&&(d("pathbar.thickness",h.pathbar.textfont.size+2*t),d("pathbar.side"),d("pathbar.edgeshape")),d("sort"),d("root.color"),E(h,m,d),h._length=null}}}),rI=De({"src/traces/icicle/layout_defaults.js"(Y,H){"use strict";var p=ui(),x=ZT();H.exports=function(E,e){function t(r,o){return p.coerce(E,e,x,r,o)}t("iciclecolorway",e.colorway),t("extendiciclecolors")}}}),KT=De({"src/traces/icicle/calc.js"(Y){"use strict";var H=zy();Y.calc=function(p,x){return H.calc(p,x)},Y.crossTraceCalc=function(p){return H._runCrossTraceCalc("icicle",p)}}}),iI=De({"src/traces/icicle/partition.js"(Y,H){"use strict";var p=Dy(),x=GT();H.exports=function(E,e,t){var r=t.flipX,o=t.flipY,i=t.orientation==="h",n=t.maxDepth,a=e[0],s=e[1];n&&(a=(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=p.partition().padding(t.pad.inner).size(i?[e[1],a]:[e[0],s])(E);return(i||r||o)&&x(h,e,{swapXY:i,flipX:r,flipY:o}),h}}}),$T=De({"src/traces/icicle/style.js"(Y,H){"use strict";var p=za(),x=vo(),S=ui(),E=ed().resizeText,e=$x();function t(o){var i=o._fullLayout._iciclelayer.selectAll(".trace");E(o,i,"icicle"),i.each(function(n){var a=p.select(this),s=n[0],h=s.trace;a.style("opacity",h.opacity),a.selectAll("path.surface").each(function(c){p.select(this).call(r,c,h,o)})})}function r(o,i,n,a){var s=i.data.data,h=!i.children,c=s.i,m=S.castOption(n,c,"marker.line.color")||x.defaultLine,d=S.castOption(n,c,"marker.line.width")||0;o.call(e,i,n,a).style("stroke-width",d).call(x.stroke,m).style("opacity",h?n.leaf.opacity:null)}H.exports={style:t,styleOne:r}}}),aI=De({"src/traces/icicle/draw_descendants.js"(Y,H){"use strict";var p=za(),x=ui(),S=ys(),E=vu(),e=iI(),t=$T().styleOne,r=nm(),o=vp(),i=$y(),n=Jx().formatSliceLabel,a=!1;H.exports=function(h,c,m,d,T){var l=T.width,_=T.height,w=T.viewX,A=T.viewY,M=T.pathSlice,g=T.toMoveInsideSlice,b=T.strTransform,v=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],B=N.trace,I=B.textposition.indexOf("left")!==-1,U=B.textposition.indexOf("right")!==-1,O=B.textposition.indexOf("bottom")!==-1,X=e(m,[l,_],{flipX:B.tiling.flip.indexOf("x")>-1,flipY:B.tiling.flip.indexOf("y")>-1,orientation:B.tiling.orientation,pad:{inner:B.tiling.pad},maxDepth:B._maxDepth}),J=X.descendants(),se=1/0,le=-1/0;J.forEach(function(V){var oe=V.depth;oe>=B._maxDepth?(V.x0=V.x1=(V.x0+V.x1)/2,V.y0=V.y1=(V.y0+V.y1)/2):(se=Math.min(se,oe),le=Math.max(le,oe))}),d=d.data(J,o.getPtId),B._maxVisibleLayers=isFinite(le)?le-se+1:0,d.enter().append("g").classed("slice",!0),u(d,a,L,[l,_],M),d.order();var ce=null;if(v&&R){var q=o.getPtId(R);d.each(function(V){ce===null&&o.getPtId(V)===q&&(ce={x0:V.x0,x1:V.x1,y0:V.y0,y1:V.y1})})}var Z=function(){return ce||{x0:0,x1:l,y0:0,y1:_}},ee=d;return v&&(ee=ee.transition().each("end",function(){var V=p.select(this);o.setSliceCursor(V,h,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),ee.each(function(V){V._x0=w(V.x0),V._x1=w(V.x1),V._y0=A(V.y0),V._y1=A(V.y1),V._hoverX=w(V.x1-B.tiling.pad),V._hoverY=A(O?V.y1-B.tiling.pad/2:V.y0+B.tiling.pad/2);var oe=p.select(this),ie=x.ensureSingle(oe,"path","surface",function(ue){ue.style("pointer-events",z?"none":"all")});v?ie.transition().attrTween("d",function(ue){var _e=y(ue,a,Z(),[l,_],{orientation:B.tiling.orientation,flipX:B.tiling.flip.indexOf("x")>-1,flipY:B.tiling.flip.indexOf("y")>-1});return function(we){return M(_e(we))}}):ie.attr("d",M),oe.call(i,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}),ie.call(t,V,B,h,{hovered:!1}),V.x0===V.x1||V.y0===V.y1?V._text="":V._text=n(V,m,B,c,F)||"";var j=x.ensureSingle(oe,"g","slicetext"),Q=x.ensureSingle(j,"text","",function(ue){ue.attr("data-notex",1)}),re=x.ensureUniformFontSize(h,o.determineTextFont(B,V,F.font));Q.text(V._text||" ").classed("slicetext",!0).attr("text-anchor",U?"end":I?"start":"middle").call(S.font,re).call(E.convertToTspans,h),V.textBB=S.bBox(Q.node()),V.transform=g(V,{fontSize:re.size}),V.transform.fontSize=re.size,v?Q.transition().attrTween("transform",function(ue){var _e=f(ue,a,Z(),[l,_]);return function(we){return b(_e(we))}}):Q.attr("transform",b(V))}),ce}}}),nI=De({"src/traces/icicle/plot.js"(Y,H){"use strict";var p=XT(),x=aI();H.exports=function(E,e,t,r){return p(E,e,t,r,{type:"icicle",drawDescendants:x})}}}),oI=De({"src/traces/icicle/index.js"(Y,H){"use strict";H.exports={moduleType:"trace",name:"icicle",basePlotModule:eI(),categories:[],animatable:!0,attributes:YT(),layoutAttributes:ZT(),supplyDefaults:tI(),supplyLayoutDefaults:rI(),calc:KT().calc,crossTraceCalc:KT().crossTraceCalc,plot:nI(),style:$T().style,colorbar:qh(),meta:{}}}}),sI=De({"lib/icicle.js"(Y,H){"use strict";H.exports=oI()}}),lI=De({"src/traces/funnelarea/base_plot.js"(Y){"use strict";var H=Mc();Y.name="funnelarea",Y.plot=function(p,x,S,E){H.plotBasePlot(Y.name,p,x,S,E)},Y.clean=function(p,x,S,E){H.cleanBasePlot(Y.name,p,x,S,E)}}}),JT=De({"src/traces/funnelarea/attributes.js"(Y,H){"use strict";var p=$0(),x=Yl(),S=Ec().attributes,{hovertemplateAttrs:E,texttemplateAttrs:e,templatefallbackAttrs:t}=ou(),r=Xo().extendFlat;H.exports={labels:p.labels,label0:p.label0,dlabel:p.dlabel,values:p.values,marker:{colors:p.marker.colors,line:{color:r({},p.marker.line.color,{dflt:null}),width:r({},p.marker.line.width,{dflt:1}),editType:"calc"},pattern:p.marker.pattern,editType:"calc"},text:p.text,hovertext:p.hovertext,scalegroup:r({},p.scalegroup,{}),textinfo:r({},p.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({},p.textposition,{values:["inside","none"],dflt:"inside"}),textfont:p.textfont,insidetextfont:p.insidetextfont,title:{text:p.title.text,font:p.title.font,position:r({},p.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"}}}}),QT=De({"src/traces/funnelarea/layout_attributes.js"(Y,H){"use strict";var p=bx().hiddenlabels;H.exports={hiddenlabels:p,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),uI=De({"src/traces/funnelarea/defaults.js"(Y,H){"use strict";var p=ui(),x=JT(),S=Ec().defaults,E=Nd().handleText,e=J0().handleLabelsAndValues,t=J0().handleMarkerDefaults;H.exports=function(o,i,n,a){function s(M,g){return p.coerce(o,i,x,M,g)}var h=s("labels"),c=s("values"),m=e(h,c),d=m.len;if(i._hasLabels=m.hasLabels,i._hasValues=m.hasValues,!i._hasLabels&&i._hasValues&&(s("label0"),s("dlabel")),!d){i.visible=!1;return}i._length=d,t(o,i,a,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,i,a,s,w,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else _==="none"&&s("textposition","none");S(i,a,s);var A=s("title.text");A&&(s("title.position"),p.coerceFont(s,"title.font",a.font)),s("aspectratio"),s("baseratio")}}}),cI=De({"src/traces/funnelarea/layout_defaults.js"(Y,H){"use strict";var p=ui(),x=QT();H.exports=function(E,e){function t(r,o){return p.coerce(E,e,x,r,o)}t("hiddenlabels"),t("funnelareacolorway",e.colorway),t("extendfunnelareacolors")}}}),e5=De({"src/traces/funnelarea/calc.js"(Y,H){"use strict";var p=vg();function x(E,e){return p.calc(E,e)}function S(E){p.crossTraceCalc(E,{type:"funnelarea"})}H.exports={calc:x,crossTraceCalc:S}}}),fI=De({"src/traces/funnelarea/plot.js"(Y,H){"use strict";var p=za(),x=ys(),S=ui(),E=S.strScale,e=S.strTranslate,t=vu(),r=W0(),o=r.toMoveInsideBar,i=ed(),n=i.recordMinTextSize,a=i.clearMinTextSize,s=Gp(),h=wx(),c=h.attachFxHandlers,m=h.determineInsideTextFont,d=h.layoutAreas,T=h.prerenderTitles,l=h.positionTitleOutside,_=h.formatSliceLabel;H.exports=function(b,v){var u=b._context.staticPlot,y=b._fullLayout;a("funnelarea",y),T(v,b),d(v,y._size),S.makeTraceGroups(y._funnelarealayer,v,"trace").each(function(f){var R=p.select(this),L=f[0],z=L.trace;M(f),R.each(function(){var F=p.select(this).selectAll("g.slice").data(f);F.enter().append("g").classed("slice",!0),F.exit().remove(),F.each(function(B,I){if(B.hidden){p.select(this).selectAll("path,g").remove();return}B.pointNumber=B.i,B.curveNumber=z.index;var U=L.cx,O=L.cy,X=p.select(this),J=X.selectAll("path.surface").data([B]);J.enter().append("path").classed("surface",!0).style({"pointer-events":u?"none":"all"}),X.call(c,b,f);var se="M"+(U+B.TR[0])+","+(O+B.TR[1])+w(B.TR,B.BR)+w(B.BR,B.BL)+w(B.BL,B.TL)+"Z";J.attr("d",se),_(b,B,L);var le=s.castOption(z.textposition,B.pts),ce=X.selectAll("g.slicetext").data(B.text&&le!=="none"?[0]:[]);ce.enter().append("g").classed("slicetext",!0),ce.exit().remove(),ce.each(function(){var q=S.ensureSingle(p.select(this),"text","",function(re){re.attr("data-notex",1)}),Z=S.ensureUniformFontSize(b,m(z,B,y.font));q.text(B.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(x.font,Z).call(t.convertToTspans,b);var ee=x.bBox(q.node()),V,oe,ie,j=Math.min(B.BL[1],B.BR[1])+O,Q=Math.max(B.TL[1],B.TR[1])+O;oe=Math.max(B.TL[0],B.BL[0])+U,ie=Math.min(B.TR[0],B.BR[0])+U,V=o(oe,ie,j,Q,ee,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"}),V.fontSize=Z.size,n(z.type,V,y),f[I].transform=V,S.setTransormAndDisplay(q,V)})});var N=p.select(this).selectAll("g.titletext").data(z.title.text?[0]:[]);N.enter().append("g").classed("titletext",!0),N.exit().remove(),N.each(function(){var B=S.ensureSingle(p.select(this),"text","",function(O){O.attr("data-notex",1)}),I=z.title.text;z._meta&&(I=S.templateString(I,z._meta)),B.text(I).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(x.font,z.title.font).call(t.convertToTspans,b);var U=l(L,y._size);B.attr("transform",e(U.x,U.y)+E(Math.min(1,U.scale))+e(U.tx,U.ty))})})})};function w(g,b){var v=b[0]-g[0],u=b[1]-g[1];return"l"+v+","+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],v=b.trace,u=v.aspectratio,y=v.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 ue=Math.sqrt(F);return{x:ue,y:-ue}}function B(){var ue=N();return[ue.x,ue.y]}var I,U=[];U.push(B());var O,X;for(O=g.length-1;O>-1;O--)if(X=g[O],!X.hidden){var J=X.v/z;F+=J,U.push(B())}var se=1/0,le=-1/0;for(O=0;O-1;O--)if(X=g[O],!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=ie,X.pxmid=A(X.TR,X.BR),oe=X.TL,ie=X.TR}}}}),hI=De({"src/traces/funnelarea/style.js"(Y,H){"use strict";var p=za(),x=Jm(),S=ed().resizeText;H.exports=function(e){var t=e._fullLayout._funnelarealayer.selectAll(".trace");S(e,t,"funnelarea"),t.each(function(r){var o=r[0],i=o.trace,n=p.select(this);n.style({opacity:i.opacity}),n.selectAll("path.surface").each(function(a){p.select(this).call(x,a,i,e)})})}}}),dI=De({"src/traces/funnelarea/index.js"(Y,H){"use strict";H.exports={moduleType:"trace",name:"funnelarea",basePlotModule:lI(),categories:["pie-like","funnelarea","showLegend"],attributes:JT(),layoutAttributes:QT(),supplyDefaults:uI(),supplyLayoutDefaults:cI(),calc:e5().calc,crossTraceCalc:e5().crossTraceCalc,plot:fI(),style:hI(),styleOne:Jm(),meta:{}}}}),vI=De({"lib/funnelarea.js"(Y,H){"use strict";H.exports=dI()}}),Dh=De({"stackgl_modules/index.js"(Y,H){(function(){var p={24:function(e){var t={left:0,top:0};e.exports=r;function r(i,n,a){n=n||i.currentTarget||i.srcElement,Array.isArray(a)||(a=[0,0]);var s=i.clientX||0,h=i.clientY||0,c=o(n);return a[0]=s-c.left,a[1]=h-c.top,a}function o(i){return i===window||i===document||i===document.body?t:i.getBoundingClientRect()}},109:function(e){e.exports=t;function t(r,o,i,n){var a=i[0],s=i[2],h=o[0]-a,c=o[2]-s,m=Math.sin(n),d=Math.cos(n);return r[0]=a+c*m+h*d,r[1]=o[1],r[2]=s+c*d-h*m,r}},160:function(e){e.exports=t;function t(r,o,i){return r[0]=Math.max(o[0],i[0]),r[1]=Math.max(o[1],i[1]),r[2]=Math.max(o[2],i[2]),r[3]=Math.max(o[3],i[3]),r}},216:function(e){"use strict";e.exports=t;function t(r,o){for(var i={},n=0;n1){m[0]in h||(h[m[0]]=[]),h=h[m[0]];for(var d=1;d=0;--I){var Z=N[I];U=Z[0];var ee=z[U],V=ee[0],oe=ee[1],ie=L[V],j=L[oe];if((ie[0]-j[0]||ie[1]-j[1])<0){var Q=V;V=oe,oe=Q}ee[0]=V;var re=ee[1]=Z[1],ue;for(B&&(ue=ee[2]);I>0&&N[I-1][0]===U;){var Z=N[--I],_e=Z[1];B?z.push([re,_e,ue]):z.push([re,_e]),re=_e}B?z.push([re,oe,ue]):z.push([re,oe])}return O}function g(L,z,F){for(var N=z.length,B=new o(N),I=[],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 B=new Array(z.length),I=0;I0}function w(s){var c=0,p=s.length;for(s[0]===239&&s[1]===187&&s[2]===191&&(c=3);c]*>/,l=/^<([-_.:a-zA-Z0-9]+:)?svg\s/,e=/[^-]\bwidth="([^%]+?)"|[^-]\bwidth='([^%]+?)'/,t=/\bheight="([^%]+?)"|\bheight='([^%]+?)'/,a=/\bview[bB]ox="(.+?)"|\bview[bB]ox='(.+?)'/,r=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function n(s){var c=s.match(e),p=s.match(t),f=s.match(a);return{width:c&&(c[1]||c[2]),height:p&&(p[1]||p[2]),viewbox:f&&(f[1]||f[2])}}function i(s){return r.test(s)?s.match(r)[0]:"px"}O.exports=function(s){if(w(s)){for(var c="",p=0;p>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?c=c||a(i,s+8):d==="VP8L"&&y>=9?c=c||r(i,s+8):d==="VP8X"&&y>=10?c=c||n(i,s+8):d==="EXIF"&&(p=l.get_orientation(i.slice(s+8,s+8+y)),s=1/0),s+=8+y}if(c)return p>0&&(c.orientation=p),c}}}}}),SE=xe({"node_modules/probe-image-size/lib/parsers_sync.js"(U,O){"use strict";O.exports={avif:mE(),bmp:gE(),gif:yE(),ico:_E(),jpeg:bE(),png:xE(),psd:wE(),svg:TE(),tiff:AE(),webp:ME()}}}),EE=xe({"node_modules/probe-image-size/sync.js"(U,O){"use strict";var u=SE();function v(w){for(var S=Object.keys(u),l=0;l0;)D=c.c2p(E+z*h),z--;for(z=0;F===void 0&&z0;)I=p.c2p(g+z*x),z--;if(D<_&&(C=D,D=_,_=C),Ij[0];if(G||K){var H=_+k/2,Z=F+B/2;te+="transform:"+w(H+"px",Z+"px")+"scale("+(G?-1:1)+","+(K?-1:1)+")"+w(-H+"px",-Z+"px")+";"}}ee.attr("style",te);var X=new Promise(function($){if(b._hasZ)$();else if(b._hasSource)if(b._canvas&&b._canvas.el.width===T&&b._canvas.el.height===m&&b._canvas.source===b.source)$();else{var Q=document.createElement("canvas");Q.width=T,Q.height=m;var re=Q.getContext("2d",{willReadFrequently:!0});b._image=b._image||new Image;var ue=b._image;ue.onload=function(){re.drawImage(ue,0,0),b._canvas={el:Q,source:b.source},$()},ue.setAttribute("src",b.source)}}).then(function(){var $,Q;if(b._hasZ)Q=Y(function(pe,ge){var Te=A[ge][pe];return v.isTypedArray(Te)&&(Te=Array.from(Te)),Te}),$=Q.toDataURL("image/png");else if(b._hasSource)if(M)$=b.source;else{var re=b._canvas.el.getContext("2d",{willReadFrequently:!0}),ue=re.getImageData(0,0,T,m).data;Q=Y(function(pe,ge){var Te=4*(ge*T+pe);return[ue[Te],ue[Te+1],ue[Te+2],ue[Te+3]]}),$=Q.toDataURL("image/png")}ee.attr({"xlink:href":$,height:B,width:k,x:_,y:F})});r._promises.push(X)})}}}),PE=xe({"src/traces/image/style.js"(U,O){"use strict";var u=Na();O.exports=function(w){u.select(w).selectAll(".im image").style("opacity",function(S){return S[0].trace.opacity})}}}),IE=xe({"src/traces/image/hover.js"(U,O){"use strict";var u=hu(),v=Sr(),w=v.isArrayOrTypedArray,S=_p();O.exports=function(e,t,a){var r=e.cd[0],n=r.trace,i=e.xa,s=e.ya;if(!(u.inbox(t-r.x0,t-(r.x0+r.w*n.dx),0)>0||u.inbox(a-r.y0,a-(r.y0+r.h*n.dy),0)>0)){var c=Math.floor((t-r.x0)/n.dx),p=Math.floor(Math.abs(a-r.y0)/n.dy),f;if(n._hasZ?f=r.z[p][c]:n._hasSource&&(f=n._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(c,p,1,1).data),!!f){var d=r.hi||n.hoverinfo,y;if(d){var o=d.split("+");o.indexOf("all")!==-1&&(o=["color"]),o.indexOf("color")!==-1&&(y=!0)}var b=S.colormodel[n.colormodel],M=b.colormodel||n.colormodel,A=M.length,E=n._scaler(f),g=b.suffix,T=[];(n.hovertemplate||y)&&(T.push("["+[E[0]+g[0],E[1]+g[1],E[2]+g[2]].join(", ")),A===4&&T.push(", "+E[3]+g[3]),T.push("]"),T=T.join(""),e.extraText=M.toUpperCase()+": "+T);var m;w(n.hovertext)&&w(n.hovertext[p])?m=n.hovertext[p][c]:w(n.text)&&w(n.text[p])&&(m=n.text[p][c]);var h=s.c2p(r.y0+(p+.5)*n.dy),x=r.x0+(c+.5)*n.dx,_=r.y0+(p+.5)*n.dy,D="["+f.slice(0,n.colormodel.length).join(", ")+"]";return[v.extendFlat(e,{index:[p,c],x0:i.c2p(r.x0+c*n.dx),x1:i.c2p(r.x0+(c+1)*n.dx),y0:h,y1:h,color:E,xVal:x,xLabelVal:x,yVal:_,yLabelVal:_,zLabelVal:D,text:m,hovertemplateLabels:{zLabel:D,colorLabel:T,"color[0]Label":E[0]+g[0],"color[1]Label":E[1]+g[1],"color[2]Label":E[2]+g[2],"color[3]Label":E[3]+g[3]}})]}}}}}),DE=xe({"src/traces/image/event_data.js"(U,O){"use strict";O.exports=function(v,w){return"xVal"in w&&(v.x=w.xVal),"yVal"in w&&(v.y=w.yVal),w.xa&&(v.xaxis=w.xa),w.ya&&(v.yaxis=w.ya),v.color=w.color,v.colormodel=w.trace.colormodel,v.z||(v.z=w.color),v}}}),RE=xe({"src/traces/image/index.js"(U,O){"use strict";O.exports={attributes:(Zb(),Ta(jg)).default,supplyDefaults:mS(),calc:CE(),plot:LE(),style:PE(),hoverPoints:IE(),eventData:DE(),moduleType:"trace",name:"image",basePlotModule:Nu(),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}}}),FE=xe({"lib/image.js"(U,O){"use strict";O.exports=RE()}}),Cv=xe({"src/traces/pie/attributes.js"(U,O){"use strict";var u=Rs(),v=Gl().attributes,w=vl(),S=sc(),{hovertemplateAttrs:l,texttemplateAttrs:e,templatefallbackAttrs:t}=js(),a=oo().extendFlat,r=Rc().pattern,n=w({editType:"plot",arrayOk:!0,colorEditType:"plot"});O.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:S.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},pattern:r,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:a({},u.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:l({},{keys:["label","color","value","percent","text"]}),hovertemplatefallback:t(),texttemplate:e({editType:"plot"},{keys:["label","color","value","percent","text"]}),texttemplatefallback:t({editType:"plot"}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:a({},n,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:a({},n,{}),outsidetextfont:a({},n,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},showlegend:a({},u.showlegend,{arrayOk:!0}),legend:a({},u.legend,{arrayOk:!0}),legendrank:a({},u.legendrank,{arrayOk:!0}),title:{text:{valType:"string",dflt:"",editType:"plot"},font:a({},n,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:v({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"}}}}),Lv=xe({"src/traces/pie/defaults.js"(U,O){"use strict";var u=yn(),v=Sr(),w=Cv(),S=Gl().defaults,l=sh().handleText,e=Sr().coercePattern;function t(n,i){var s=v.isArrayOrTypedArray(n),c=v.isArrayOrTypedArray(i),p=Math.min(s?n.length:1/0,c?i.length:1/0);if(isFinite(p)||(p=0),p&&c){for(var f,d=0;d0){f=!0;break}}f||(p=0)}return{hasLabels:s,hasValues:c,len:p}}function a(n,i,s,c,p){var f=c("marker.line.width");f&&c("marker.line.color",p?void 0:s.paper_bgcolor);var d=c("marker.colors");e(c,"marker.pattern",d),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 r(n,i,s,c){function p(_,D){return v.coerce(n,i,w,_,D)}var f=p("labels"),d=p("values"),y=t(f,d),o=y.len;if(i._hasLabels=y.hasLabels,i._hasValues=y.hasValues,!i._hasLabels&&i._hasValues&&(p("label0"),p("dlabel")),!o){i.visible=!1;return}i._length=o,a(n,i,c,p,!0),p("scalegroup");var b=p("text"),M=p("texttemplate");p("texttemplatefallback");var A;if(M||(A=p("textinfo",v.isArrayOrTypedArray(b)?"text+percent":"percent")),p("hovertext"),p("hovertemplate"),p("hovertemplatefallback"),M||A&&A!=="none"){var E=p("textposition");l(n,i,c,p,E,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1});var g=Array.isArray(E)||E==="auto",T=g||E==="outside";T&&p("automargin"),(E==="inside"||E==="auto"||Array.isArray(E))&&p("insidetextorientation")}else A==="none"&&p("textposition","none");S(i,c,p);var m=p("hole"),h=p("title.text");if(h){var x=p("title.position",m?"middle center":"top center");!m&&x==="middle center"&&(i.title.position="top center"),v.coerceFont(p,"title.font",c.font)}p("sort"),p("direction"),p("rotation"),p("pull")}O.exports={handleLabelsAndValues:t,handleMarkerDefaults:a,supplyDefaults:r}}}),Jg=xe({"src/traces/pie/layout_attributes.js"(U,O){"use strict";O.exports={hiddenlabels:{valType:"data_array",editType:"calc"},piecolorway:{valType:"colorlist",editType:"calc"},extendpiecolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),zE=xe({"src/traces/pie/layout_defaults.js"(U,O){"use strict";var u=Sr(),v=Jg();O.exports=function(S,l){function e(t,a){return u.coerce(S,l,v,t,a)}e("hiddenlabels"),e("piecolorway",l.colorway),e("extendpiecolors")}}}),Ap=xe({"src/traces/pie/calc.js"(U,O){"use strict";var u=yn(),v=wi(),w={};function S(a,r){var n=[],i=a._fullLayout,s=i.hiddenlabels||[],c=r.labels,p=r.marker.colors||[],f=r.values,d=r._length,y=r._hasValues&&d,o,b;if(r.dlabel)for(c=new Array(d),o=0;o=0});var _=r.type==="funnelarea"?g:r.sort;return _&&n.sort(function(D,C){return C.v-D.v}),n[0]&&(n[0].vTotal=E),n}function l(a){return function(n,i){if(!n||!v.isValid(n))return!1;let s=v.color(n).rgb().string();return a[i]||(a[i]=s),s}}function e(a,r){var n=(r||{}).type;n||(n="pie");var i=a._fullLayout,s=a.calcdata,c=i[n+"colorway"],p=i["_"+n+"colormap"];i["extend"+n+"colors"]&&(c=t(c,w));for(var f=0,d=0;d0&&(De+=ot*ne.pxmid[0],qe+=ot*ne.pxmid[1])}ne.cxFinal=De,ne.cyFinal=qe;function yt(at,Ee,Re,he){var ye=he*(Ee[0]-at[0]),Ie=he*(Ee[1]-at[1]);return"a"+he*ue.r+","+he*ue.r+" 0 "+ne.largeArc+(Re?" 1 ":" 0 ")+ye+","+Ie}var At=pe.hole;if(ne.v===ue.vTotal){var It="M"+(De+ne.px0[0])+","+(qe+ne.px0[1])+yt(ne.px0,ne.pxmid,!0,1)+yt(ne.pxmid,ne.px0,!0,1)+"Z";At?ut.attr("d","M"+(De+At*ne.px0[0])+","+(qe+At*ne.px0[1])+yt(ne.px0,ne.pxmid,!1,At)+yt(ne.pxmid,ne.px0,!1,At)+"Z"+It):ut.attr("d",It)}else{var Zt=yt(ne.px0,ne.px1,!0,1);if(At){var vr=1-At;ut.attr("d","M"+(De+At*ne.px1[0])+","+(qe+At*ne.px1[1])+yt(ne.px1,ne.px0,!1,At)+"l"+vr*ne.px0[0]+","+vr*ne.px0[1]+Zt+"Z")}else ut.attr("d","M"+De+","+qe+"l"+ne.px0[0]+","+ne.px0[1]+Zt+"Z")}ae(G,ne,ue);var Ut=p.castOption(pe.textposition,ne.pts),Jt=Ne.selectAll("g.slicetext").data(ne.text&&Ut!=="none"?[0]:[]);Jt.enter().append("g").classed("slicetext",!0),Jt.exit().remove(),Jt.each(function(){var at=e.ensureSingle(u.select(this),"text","",function(We){We.attr("data-notex",1)}),Ee=e.ensureUniformFontSize(G,Ut==="outside"?M(pe,ne,Z.font):A(pe,ne,Z.font));at.text(ne.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(l.font,Ee).call(r.convertToTspans,G);var Re=l.bBox(at.node()),he;if(Ut==="outside")he=F(Re,ne);else if(he=g(Re,ne,ue),Ut==="auto"&&he.scale<1){var ye=e.ensureUniformFontSize(G,pe.outsidetextfont);at.call(l.font,ye),Re=l.bBox(at.node()),he=F(Re,ne)}var Ie=he.textPosAngle,Fe=Ie===void 0?ne.pxmid:te(ue.r,Ie);if(he.targetX=De+Fe[0]*he.rCenter+(he.x||0),he.targetY=qe+Fe[1]*he.rCenter+(he.y||0),j(he,Re),he.outside){var He=he.targetY;ne.yLabelMin=He-Re.height/2,ne.yLabelMid=He,ne.yLabelMax=He+Re.height/2,ne.labelExtraX=0,ne.labelExtraY=0,Se=!0}he.fontSize=Ee.size,i(pe.type,he,Z),Q[be].transform=he,e.setTransormAndDisplay(at,he)})});var Ce=u.select(this).selectAll("g.titletext").data(pe.title.text?[0]:[]);if(Ce.enter().append("g").classed("titletext",!0),Ce.exit().remove(),Ce.each(function(){var ne=e.ensureSingle(u.select(this),"text","",function(qe){qe.attr("data-notex",1)}),be=pe.title.text;pe._meta&&(be=e.templateString(be,pe._meta)),ne.text(be).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(l.font,pe.title.font).call(r.convertToTspans,G);var De;pe.title.position==="middle center"?De=I(ue):De=z(ue,X),ne.attr("transform",a(De.x,De.y)+t(Math.min(1,De.scale))+a(De.tx,De.ty))}),Se&&N(Te,pe),o(ge,pe),Se&&pe.automargin){var Ue=l.bBox(re.node()),Oe=pe.domain,_e=X.w*(Oe.x[1]-Oe.x[0]),ce=X.h*(Oe.y[1]-Oe.y[0]),ie=(.5*_e-ue.r)/X.w,se=(.5*ce-ue.r)/X.h;v.autoMargin(G,"pie."+pe.uid+".automargin",{xl:Oe.x[0]-ie,xr:Oe.x[1]+ie,yb:Oe.y[0]-se,yt:Oe.y[1]+se,l:Math.max(ue.cx-ue.r-Ue.left,0),r:Math.max(Ue.right-(ue.cx+ue.r),0),b:Math.max(Ue.bottom-(ue.cy+ue.r),0),t:Math.max(ue.cy-ue.r-Ue.top,0),pad:5})}})});setTimeout(function(){$.selectAll("tspan").each(function(){var Q=u.select(this);Q.attr("dy")&&Q.attr("dy",Q.attr("dy"))})},0)}function o(G,K){G.each(function(H){var Z=u.select(this);if(!H.labelExtraX&&!H.labelExtraY){Z.select("path.textline").remove();return}var X=Z.select("g.slicetext text");H.transform.targetX+=H.labelExtraX,H.transform.targetY+=H.labelExtraY,e.setTransormAndDisplay(X,H.transform);var $=H.cxFinal+H.pxmid[0],Q=H.cyFinal+H.pxmid[1],re="M"+$+","+Q,ue=(H.yLabelMax-H.yLabelMin)*(H.pxmid[0]<0?-1:1)/4;if(H.labelExtraX){var pe=H.labelExtraX*H.pxmid[1]/H.pxmid[0],ge=H.yLabelMid+H.labelExtraY-(H.cyFinal+H.pxmid[1]);Math.abs(pe)>Math.abs(ge)?re+="l"+ge*H.pxmid[0]/H.pxmid[1]+","+ge+"H"+($+H.labelExtraX+ue):re+="l"+H.labelExtraX+","+pe+"v"+(ge-pe)+"h"+ue}else re+="V"+(H.yLabelMid+H.labelExtraY)+"h"+ue;e.ensureSingle(Z,"path","textline").call(S.stroke,K.outsidetextfont.color).attr({"stroke-width":Math.min(2,K.outsidetextfont.size/8),d:re,fill:"none"})})}function b(G,K,H){var Z=H[0],X=Z.cx,$=Z.cy,Q=Z.trace,re=Q.type==="funnelarea";"_hasHoverLabel"in Q||(Q._hasHoverLabel=!1),"_hasHoverEvent"in Q||(Q._hasHoverEvent=!1),G.on("mouseover",function(ue){var pe=K._fullLayout,ge=K._fullData[Q.index];if(!(K._dragging||pe.hovermode===!1)){var Te=ge.hoverinfo;if(Array.isArray(Te)&&(Te=w.castHoverinfo({hoverinfo:[p.castOption(Te,ue.pts)],_module:Q._module},pe,0)),Te==="all"&&(Te="label+text+value+percent+name"),ge.hovertemplate||Te!=="none"&&Te!=="skip"&&Te){var Se=ue.rInscribed||0,Ce=X+ue.pxmid[0]*(1-Se),Ue=$+ue.pxmid[1]*(1-Se),Oe=pe.separators,_e=[];if(Te&&Te.indexOf("label")!==-1&&_e.push(ue.label),ue.text=p.castOption(ge.hovertext||ge.text,ue.pts),Te&&Te.indexOf("text")!==-1){var ce=ue.text;e.isValidTextValue(ce)&&_e.push(ce)}ue.value=ue.v,ue.valueLabel=p.formatPieValue(ue.v,Oe),Te&&Te.indexOf("value")!==-1&&_e.push(ue.valueLabel),ue.percent=ue.v/Z.vTotal,ue.percentLabel=p.formatPiePercent(ue.percent,Oe),Te&&Te.indexOf("percent")!==-1&&_e.push(ue.percentLabel);var ie=ge.hoverlabel,se=ie.font,ne=[];w.loneHover({trace:Q,x0:Ce-Se*Z.r,x1:Ce+Se*Z.r,y:Ue,_x0:re?X+ue.TL[0]:Ce-Se*Z.r,_x1:re?X+ue.TR[0]:Ce+Se*Z.r,_y0:re?$+ue.TL[1]:Ue-Se*Z.r,_y1:re?$+ue.BL[1]:Ue+Se*Z.r,text:_e.join("
"),name:ge.hovertemplate||Te.indexOf("name")!==-1?ge.name:void 0,idealAlign:ue.pxmid[0]<0?"left":"right",color:p.castOption(ie.bgcolor,ue.pts)||ue.color,borderColor:p.castOption(ie.bordercolor,ue.pts),fontFamily:p.castOption(se.family,ue.pts),fontSize:p.castOption(se.size,ue.pts),fontColor:p.castOption(se.color,ue.pts),nameLength:p.castOption(ie.namelength,ue.pts),textAlign:p.castOption(ie.align,ue.pts),hovertemplate:p.castOption(ge.hovertemplate,ue.pts),hovertemplateLabels:ue,eventData:[f(ue,ge)]},{container:pe._hoverlayer.node(),outerContainer:pe._paper.node(),gd:K,inOut_bbox:ne}),ue.bbox=ne[0],Q._hasHoverLabel=!0}Q._hasHoverEvent=!0,K.emit("plotly_hover",{points:[f(ue,ge)],event:u.event})}}),G.on("mouseout",function(ue){var pe=K._fullLayout,ge=K._fullData[Q.index],Te=u.select(this).datum();Q._hasHoverEvent&&(ue.originalEvent=u.event,K.emit("plotly_unhover",{points:[f(Te,ge)],event:u.event}),Q._hasHoverEvent=!1),Q._hasHoverLabel&&(w.loneUnhover(pe._hoverlayer.node()),Q._hasHoverLabel=!1)}),G.on("click",function(ue){var pe=K._fullLayout,ge=K._fullData[Q.index];K._dragging||pe.hovermode===!1||(K._hoverdata=[f(ue,ge)],w.click(K,u.event))})}function M(G,K,H){var Z=p.castOption(G.outsidetextfont.color,K.pts)||p.castOption(G.textfont.color,K.pts)||H.color,X=p.castOption(G.outsidetextfont.family,K.pts)||p.castOption(G.textfont.family,K.pts)||H.family,$=p.castOption(G.outsidetextfont.size,K.pts)||p.castOption(G.textfont.size,K.pts)||H.size,Q=p.castOption(G.outsidetextfont.weight,K.pts)||p.castOption(G.textfont.weight,K.pts)||H.weight,re=p.castOption(G.outsidetextfont.style,K.pts)||p.castOption(G.textfont.style,K.pts)||H.style,ue=p.castOption(G.outsidetextfont.variant,K.pts)||p.castOption(G.textfont.variant,K.pts)||H.variant,pe=p.castOption(G.outsidetextfont.textcase,K.pts)||p.castOption(G.textfont.textcase,K.pts)||H.textcase,ge=p.castOption(G.outsidetextfont.lineposition,K.pts)||p.castOption(G.textfont.lineposition,K.pts)||H.lineposition,Te=p.castOption(G.outsidetextfont.shadow,K.pts)||p.castOption(G.textfont.shadow,K.pts)||H.shadow;return{color:Z,family:X,size:$,weight:Q,style:re,variant:ue,textcase:pe,lineposition:ge,shadow:Te}}function A(G,K,H){var Z=p.castOption(G.insidetextfont.color,K.pts);!Z&&G._input.textfont&&(Z=p.castOption(G._input.textfont.color,K.pts));var X=p.castOption(G.insidetextfont.family,K.pts)||p.castOption(G.textfont.family,K.pts)||H.family,$=p.castOption(G.insidetextfont.size,K.pts)||p.castOption(G.textfont.size,K.pts)||H.size,Q=p.castOption(G.insidetextfont.weight,K.pts)||p.castOption(G.textfont.weight,K.pts)||H.weight,re=p.castOption(G.insidetextfont.style,K.pts)||p.castOption(G.textfont.style,K.pts)||H.style,ue=p.castOption(G.insidetextfont.variant,K.pts)||p.castOption(G.textfont.variant,K.pts)||H.variant,pe=p.castOption(G.insidetextfont.textcase,K.pts)||p.castOption(G.textfont.textcase,K.pts)||H.textcase,ge=p.castOption(G.insidetextfont.lineposition,K.pts)||p.castOption(G.textfont.lineposition,K.pts)||H.lineposition,Te=p.castOption(G.insidetextfont.shadow,K.pts)||p.castOption(G.textfont.shadow,K.pts)||H.shadow;return{color:Z||S.contrast(K.color),family:X,size:$,weight:Q,style:re,variant:ue,textcase:pe,lineposition:ge,shadow:Te}}function E(G,K){for(var H,Z,X=0;X=-4;ie-=2)ce(Math.PI*ie,"tan");for(ie=4;ie>=-4;ie-=2)ce(Math.PI*(ie+1),"tan")}if(Te||Ce){for(ie=4;ie>=-4;ie-=2)ce(Math.PI*(ie+1.5),"rad");for(ie=4;ie>=-4;ie-=2)ce(Math.PI*(ie+.5),"rad")}}if(re||Ue||Te){var se=Math.sqrt(G.width*G.width+G.height*G.height);if(_e={scale:X*Z*2/se,rCenter:1-X,rotate:0},_e.textPosAngle=(K.startangle+K.stopangle)/2,_e.scale>=1)return _e;Oe.push(_e)}(Ue||Ce)&&(_e=m(G,Z,Q,ue,pe),_e.textPosAngle=(K.startangle+K.stopangle)/2,Oe.push(_e)),(Ue||Se)&&(_e=h(G,Z,Q,ue,pe),_e.textPosAngle=(K.startangle+K.stopangle)/2,Oe.push(_e));for(var ne=0,be=0,De=0;De=1)break}return Oe[ne]}function T(G,K){var H=G.startangle,Z=G.stopangle;return H>K&&K>Z||H0?1:-1)/2,y:$/(1+H*H/(Z*Z)),outside:!0}}function I(G){var K=Math.sqrt(G.titleBox.width*G.titleBox.width+G.titleBox.height*G.titleBox.height);return{x:G.cx,y:G.cy,scale:G.trace.hole*G.r*2/K,tx:0,ty:-G.titleBox.height/2+G.trace.title.font.size}}function z(G,K){var H=1,Z=1,X,$=G.trace,Q={x:G.cx,y:G.cy},re={tx:0,ty:0};re.ty+=$.title.font.size,X=B($),$.title.position.indexOf("top")!==-1?(Q.y-=(1+X)*G.r,re.ty-=G.titleBox.height):$.title.position.indexOf("bottom")!==-1&&(Q.y+=(1+X)*G.r);var ue=R(G.r,G.trace.aspectratio),pe=K.w*($.domain.x[1]-$.domain.x[0])/2;return $.title.position.indexOf("left")!==-1?(pe=pe+ue,Q.x-=(1+X)*ue,re.tx+=G.titleBox.width/2):$.title.position.indexOf("center")!==-1?pe*=2:$.title.position.indexOf("right")!==-1&&(pe=pe+ue,Q.x+=(1+X)*ue,re.tx-=G.titleBox.width/2),H=pe/G.titleBox.width,Z=k(G,K)/G.titleBox.height,{x:Q.x,y:Q.y,scale:Math.min(H,Z),tx:re.tx,ty:re.ty}}function R(G,K){return G/(K===void 0?1:K)}function k(G,K){var H=G.trace,Z=K.h*(H.domain.y[1]-H.domain.y[0]);return Math.min(G.titleBox.height,Z/2)}function B(G){var K=G.pull;if(!K)return 0;var H;if(e.isArrayOrTypedArray(K))for(K=0,H=0;HK&&(K=G.pull[H]);return K}function N(G,K){var H,Z,X,$,Q,re,ue,pe,ge,Te,Se,Ce,Ue;function Oe(se,ne){return se.pxmid[1]-ne.pxmid[1]}function _e(se,ne){return ne.pxmid[1]-se.pxmid[1]}function ce(se,ne){ne||(ne={});var be=ne.labelExtraY+(Z?ne.yLabelMax:ne.yLabelMin),De=Z?se.yLabelMin:se.yLabelMax,qe=Z?se.yLabelMax:se.yLabelMin,Ne=se.cyFinal+Q(se.px0[1],se.px1[1]),ut=be-De,ot,yt,At,It,Zt,vr;if(ut*ue>0&&(se.labelExtraY=ut),!!e.isArrayOrTypedArray(K.pull))for(yt=0;yt=(p.castOption(K.pull,At.pts)||0))&&((se.pxmid[1]-At.pxmid[1])*ue>0?(It=At.cyFinal+Q(At.px0[1],At.px1[1]),ut=It-De-se.labelExtraY,ut*ue>0&&(se.labelExtraY+=ut)):(qe+se.labelExtraY-Ne)*ue>0&&(ot=3*re*Math.abs(yt-Te.indexOf(se)),Zt=At.cxFinal+$(At.px0[0],At.px1[0]),vr=Zt+ot-(se.cxFinal+se.pxmid[0])-se.labelExtraX,vr*re>0&&(se.labelExtraX+=vr)))}for(Z=0;Z<2;Z++)for(X=Z?Oe:_e,Q=Z?Math.max:Math.min,ue=Z?1:-1,H=0;H<2;H++){for($=H?Math.max:Math.min,re=H?1:-1,pe=G[Z][H],pe.sort(X),ge=G[1-Z][H],Te=ge.concat(pe),Ce=[],Se=0;Se1?(pe=H.r,ge=pe/X.aspectratio):(ge=H.r,pe=ge*X.aspectratio),pe*=(1+X.baseratio)/2,ue=pe*ge}Q=Math.min(Q,ue/H.vTotal)}for(Z=0;ZK.vTotal/2?1:0,pe.halfangle=Math.PI*Math.min(pe.v/K.vTotal,.5),pe.ring=1-Z.hole,pe.rInscribed=C(pe,K))}function te(G,K){return[G*Math.sin(K),-G*Math.cos(K)]}function ae(G,K,H){var Z=G._fullLayout,X=H.trace,$=X.texttemplate,Q=X.textinfo;if(!$&&Q&&Q!=="none"){var re=Q.split("+"),ue=function(ne){return re.indexOf(ne)!==-1},pe=ue("label"),ge=ue("text"),Te=ue("value"),Se=ue("percent"),Ce=Z.separators,Ue;if(Ue=pe?[K.label]:[],ge){var Oe=p.getFirstFilled(X.text,K.pts);d(Oe)&&Ue.push(Oe)}Te&&Ue.push(p.formatPieValue(K.v,Ce)),Se&&Ue.push(p.formatPiePercent(K.v/H.vTotal,Ce)),K.text=Ue.join("
")}function _e(ne){return{label:ne.label,value:ne.v,valueLabel:p.formatPieValue(ne.v,Z.separators),percent:ne.v/H.vTotal,percentLabel:p.formatPiePercent(ne.v/H.vTotal,Z.separators),color:ne.color,text:ne.text,customdata:e.castOption(X,ne.i,"customdata")}}if($){var ce=e.castOption(X,K.i,"texttemplate");if(!ce)K.text="";else{var ie=_e(K),se=p.getFirstFilled(X.text,K.pts);(d(se)||se==="")&&(ie.text=se),K.text=e.texttemplateString({data:[ie,X._meta],fallback:X.texttemplatefallback,labels:ie,locale:G._fullLayout._d3locale,template:ce})}}}function j(G,K){var H=G.rotate*Math.PI/180,Z=Math.cos(H),X=Math.sin(H),$=(K.left+K.right)/2,Q=(K.top+K.bottom)/2;G.textX=$*Z-Q*X,G.textY=$*X+Q*Z,G.noCenter=!0}O.exports={plot:y,formatSliceLabel:ae,transformInsideText:g,determineInsideTextFont:A,positionTitleOutside:z,prerenderTitles:E,layoutAreas:q,attachFxHandlers:b,computeTransform:j}}}),NE=xe({"src/traces/pie/style.js"(U,O){"use strict";var u=Na(),v=up(),w=wf().resizeText;O.exports=function(l){var e=l._fullLayout._pielayer.selectAll(".trace");w(l,e,"pie"),e.each(function(t){var a=t[0],r=a.trace,n=u.select(this);n.style({opacity:r.opacity}),n.selectAll("path.surface").each(function(i){u.select(this).call(v,i,r,l)})})}}}),OE=xe({"src/traces/pie/base_plot.js"(U){"use strict";var O=zl();U.name="pie",U.plot=function(u,v,w,S){O.plotBasePlot(U.name,u,v,w,S)},U.clean=function(u,v,w,S){O.cleanBasePlot(U.name,u,v,w,S)}}}),UE=xe({"src/traces/pie/index.js"(U,O){"use strict";O.exports={attributes:Cv(),supplyDefaults:Lv().supplyDefaults,supplyLayoutDefaults:zE(),layoutAttributes:Jg(),calc:Ap().calc,crossTraceCalc:Ap().crossTraceCalc,plot:Qg().plot,style:NE(),styleOne:up(),moduleType:"trace",name:"pie",basePlotModule:OE(),categories:["pie-like","pie","showLegend"],meta:{}}}}),jE=xe({"lib/pie.js"(U,O){"use strict";O.exports=UE()}}),qE=xe({"src/traces/sunburst/base_plot.js"(U){"use strict";var O=zl();U.name="sunburst",U.plot=function(u,v,w,S){O.plotBasePlot(U.name,u,v,w,S)},U.clean=function(u,v,w,S){O.cleanBasePlot(U.name,u,v,w,S)}}}),xx=xe({"src/traces/sunburst/constants.js"(U,O){"use strict";O.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"linear",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"]}}}),L0=xe({"src/traces/sunburst/attributes.js"(U,O){"use strict";var u=Rs(),{hovertemplateAttrs:v,texttemplateAttrs:w,templatefallbackAttrs:S}=js(),l=pl(),e=Gl().attributes,t=Cv(),a=xx(),r=oo().extendFlat,n=Rc().pattern;O.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:r({colors:{valType:"data_array",editType:"calc"},line:{color:r({},t.marker.line.color,{dflt:null}),width:r({},t.marker.line.width,{dflt:1}),editType:"calc"},pattern:n,editType:"calc"},l("marker",{colorAttr:"colors",anim:!1})),leaf:{opacity:{valType:"number",editType:"style",min:0,max:1},editType:"plot"},text:t.text,textinfo:{valType:"flaglist",flags:["label","text","value","current path","percent root","percent entry","percent parent"],extras:["none"],editType:"plot"},texttemplate:w({editType:"plot"},{keys:a.eventDataKeys.concat(["label","value"])}),texttemplatefallback:S({editType:"plot"}),hovertext:t.hovertext,hoverinfo:r({},u.hoverinfo,{flags:["label","text","value","name","current path","percent root","percent entry","percent parent"],dflt:"label+text+value+name"}),hovertemplate:v({},{keys:a.eventDataKeys}),hovertemplatefallback:S(),textfont:t.textfont,insidetextorientation:t.insidetextorientation,insidetextfont:t.insidetextfont,outsidetextfont:r({},t.outsidetextfont,{}),rotation:{valType:"angle",dflt:0,editType:"plot"},sort:t.sort,root:{color:{valType:"color",editType:"calc",dflt:"rgba(0,0,0,0)"},editType:"calc"},domain:e({name:"sunburst",trace:!0,editType:"calc"})}}}),wx=xe({"src/traces/sunburst/layout_attributes.js"(U,O){"use strict";O.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),VE=xe({"src/traces/sunburst/defaults.js"(U,O){"use strict";var u=Sr(),v=L0(),w=Gl().defaults,S=sh().handleText,l=Lv().handleMarkerDefaults,e=Bl(),t=e.hasColorscale,a=e.handleDefaults;O.exports=function(n,i,s,c){function p(A,E){return u.coerce(n,i,v,A,E)}var f=p("labels"),d=p("parents");if(!f||!f.length||!d||!d.length){i.visible=!1;return}var y=p("values");y&&y.length?p("branchvalues"):p("count"),p("level"),p("maxdepth"),l(n,i,c,p);var o=i._hasColorscale=t(n,"marker","colors")||(n.marker||{}).coloraxis;o&&a(n,i,c,p,{prefix:"marker.",cLetter:"c"}),p("leaf.opacity",o?1:.7);var b=p("text");p("texttemplate"),p("texttemplatefallback"),i.texttemplate||p("textinfo",u.isArrayOrTypedArray(b)?"text+label":"label"),p("hovertext"),p("hovertemplate"),p("hovertemplatefallback");var M="auto";S(n,i,c,p,M,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),p("insidetextorientation"),p("sort"),p("rotation"),p("root.color"),w(i,c,p),i._length=null}}}),HE=xe({"src/traces/sunburst/layout_defaults.js"(U,O){"use strict";var u=Sr(),v=wx();O.exports=function(S,l){function e(t,a){return u.coerce(S,l,v,t,a)}e("sunburstcolorway",l.colorway),e("extendsunburstcolors")}}}),P0=xe({"node_modules/d3-hierarchy/dist/d3-hierarchy.js"(U,O){(function(u,v){typeof U=="object"&&typeof O<"u"?v(U):(u=u||self,v(u.d3=u.d3||{}))})(U,function(u){"use strict";function v(he,ye){return he.parent===ye.parent?1:2}function w(he){return he.reduce(S,0)/he.length}function S(he,ye){return he+ye.x}function l(he){return 1+he.reduce(e,0)}function e(he,ye){return Math.max(he,ye.y)}function t(he){for(var ye;ye=he.children;)he=ye[0];return he}function a(he){for(var ye;ye=he.children;)he=ye[ye.length-1];return he}function r(){var he=v,ye=1,Ie=1,Fe=!1;function He(We){var pt,ct=0;We.eachAfter(function(Et){var hr=Et.children;hr?(Et.x=w(hr),Et.y=l(hr)):(Et.x=pt?ct+=he(Et,pt):0,Et.y=0,pt=Et)});var ft=t(We),mt=a(We),_t=ft.x-he(ft,mt)/2,Bt=mt.x+he(mt,ft)/2;return We.eachAfter(Fe?function(Et){Et.x=(Et.x-We.x)*ye,Et.y=(We.y-Et.y)*Ie}:function(Et){Et.x=(Et.x-_t)/(Bt-_t)*ye,Et.y=(1-(We.y?Et.y/We.y:1))*Ie})}return He.separation=function(We){return arguments.length?(he=We,He):he},He.size=function(We){return arguments.length?(Fe=!1,ye=+We[0],Ie=+We[1],He):Fe?null:[ye,Ie]},He.nodeSize=function(We){return arguments.length?(Fe=!0,ye=+We[0],Ie=+We[1],He):Fe?[ye,Ie]:null},He}function n(he){var ye=0,Ie=he.children,Fe=Ie&&Ie.length;if(!Fe)ye=1;else for(;--Fe>=0;)ye+=Ie[Fe].value;he.value=ye}function i(){return this.eachAfter(n)}function s(he){var ye=this,Ie,Fe=[ye],He,We,pt;do for(Ie=Fe.reverse(),Fe=[];ye=Ie.pop();)if(he(ye),He=ye.children,He)for(We=0,pt=He.length;We=0;--He)Ie.push(Fe[He]);return this}function p(he){for(var ye=this,Ie=[ye],Fe=[],He,We,pt;ye=Ie.pop();)if(Fe.push(ye),He=ye.children,He)for(We=0,pt=He.length;We=0;)Ie+=Fe[He].value;ye.value=Ie})}function d(he){return this.eachBefore(function(ye){ye.children&&ye.children.sort(he)})}function y(he){for(var ye=this,Ie=o(ye,he),Fe=[ye];ye!==Ie;)ye=ye.parent,Fe.push(ye);for(var He=Fe.length;he!==Ie;)Fe.splice(He,0,he),he=he.parent;return Fe}function o(he,ye){if(he===ye)return he;var Ie=he.ancestors(),Fe=ye.ancestors(),He=null;for(he=Ie.pop(),ye=Fe.pop();he===ye;)He=he,he=Ie.pop(),ye=Fe.pop();return He}function b(){for(var he=this,ye=[he];he=he.parent;)ye.push(he);return ye}function M(){var he=[];return this.each(function(ye){he.push(ye)}),he}function A(){var he=[];return this.eachBefore(function(ye){ye.children||he.push(ye)}),he}function E(){var he=this,ye=[];return he.each(function(Ie){Ie!==he&&ye.push({source:Ie.parent,target:Ie})}),ye}function g(he,ye){var Ie=new _(he),Fe=+he.value&&(Ie.value=he.value),He,We=[Ie],pt,ct,ft,mt;for(ye==null&&(ye=m);He=We.pop();)if(Fe&&(He.value=+He.data.value),(ct=ye(He.data))&&(mt=ct.length))for(He.children=new Array(mt),ft=mt-1;ft>=0;--ft)We.push(pt=He.children[ft]=new _(ct[ft])),pt.parent=He,pt.depth=He.depth+1;return Ie.eachBefore(x)}function T(){return g(this).eachBefore(h)}function m(he){return he.children}function h(he){he.data=he.data.data}function x(he){var ye=0;do he.height=ye;while((he=he.parent)&&he.height<++ye)}function _(he){this.data=he,this.depth=this.height=0,this.parent=null}_.prototype=g.prototype={constructor:_,count:i,each:s,eachAfter:p,eachBefore:c,sum:f,sort:d,path:y,ancestors:b,descendants:M,leaves:A,links:E,copy:T};var D=Array.prototype.slice;function C(he){for(var ye=he.length,Ie,Fe;ye;)Fe=Math.random()*ye--|0,Ie=he[ye],he[ye]=he[Fe],he[Fe]=Ie;return he}function F(he){for(var ye=0,Ie=(he=C(D.call(he))).length,Fe=[],He,We;ye0&&Ie*Ie>Fe*Fe+He*He}function k(he,ye){for(var Ie=0;Ieft?(He=(mt+ft-We)/(2*mt),ct=Math.sqrt(Math.max(0,ft/mt-He*He)),Ie.x=he.x-He*Fe-ct*pt,Ie.y=he.y-He*pt+ct*Fe):(He=(mt+We-ft)/(2*mt),ct=Math.sqrt(Math.max(0,We/mt-He*He)),Ie.x=ye.x+He*Fe-ct*pt,Ie.y=ye.y+He*pt+ct*Fe)):(Ie.x=ye.x+Ie.r,Ie.y=ye.y)}function te(he,ye){var Ie=he.r+ye.r-1e-6,Fe=ye.x-he.x,He=ye.y-he.y;return Ie>0&&Ie*Ie>Fe*Fe+He*He}function ae(he){var ye=he._,Ie=he.next._,Fe=ye.r+Ie.r,He=(ye.x*Ie.r+Ie.x*ye.r)/Fe,We=(ye.y*Ie.r+Ie.y*ye.r)/Fe;return He*He+We*We}function j(he){this._=he,this.next=null,this.previous=null}function G(he){if(!(He=he.length))return 0;var ye,Ie,Fe,He,We,pt,ct,ft,mt,_t,Bt;if(ye=he[0],ye.x=0,ye.y=0,!(He>1))return ye.r;if(Ie=he[1],ye.x=-Ie.r,Ie.x=ye.r,Ie.y=0,!(He>2))return ye.r+Ie.r;ee(Ie,ye,Fe=he[2]),ye=new j(ye),Ie=new j(Ie),Fe=new j(Fe),ye.next=Fe.previous=Ie,Ie.next=ye.previous=Fe,Fe.next=Ie.previous=ye;e:for(ct=3;ct0)throw new Error("cycle");return ct}return Ie.id=function(Fe){return arguments.length?(he=Z(Fe),Ie):he},Ie.parentId=function(Fe){return arguments.length?(ye=Z(Fe),Ie):ye},Ie}function ne(he,ye){return he.parent===ye.parent?1:2}function be(he){var ye=he.children;return ye?ye[0]:he.t}function De(he){var ye=he.children;return ye?ye[ye.length-1]:he.t}function qe(he,ye,Ie){var Fe=Ie/(ye.i-he.i);ye.c-=Fe,ye.s+=Ie,he.c+=Fe,ye.z+=Ie,ye.m+=Ie}function Ne(he){for(var ye=0,Ie=0,Fe=he.children,He=Fe.length,We;--He>=0;)We=Fe[He],We.z+=ye,We.m+=ye,ye+=We.s+(Ie+=We.c)}function ut(he,ye,Ie){return he.a.parent===ye.parent?he.a:Ie}function ot(he,ye){this._=he,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=ye}ot.prototype=Object.create(_.prototype);function yt(he){for(var ye=new ot(he,0),Ie,Fe=[ye],He,We,pt,ct;Ie=Fe.pop();)if(We=Ie._.children)for(Ie.children=new Array(ct=We.length),pt=ct-1;pt>=0;--pt)Fe.push(He=Ie.children[pt]=new ot(We[pt],pt)),He.parent=Ie;return(ye.parent=new ot(null,0)).children=[ye],ye}function At(){var he=ne,ye=1,Ie=1,Fe=null;function He(mt){var _t=yt(mt);if(_t.eachAfter(We),_t.parent.m=-_t.z,_t.eachBefore(pt),Fe)mt.eachBefore(ft);else{var Bt=mt,Et=mt,hr=mt;mt.eachBefore(function(pa){pa.xEt.x&&(Et=pa),pa.depth>hr.depth&&(hr=pa)});var $r=Bt===Et?1:he(Bt,Et)/2,ca=$r-Bt.x,na=ye/(Et.x+$r+ca),wa=Ie/(hr.depth||1);mt.eachBefore(function(pa){pa.x=(pa.x+ca)*na,pa.y=pa.depth*wa})}return mt}function We(mt){var _t=mt.children,Bt=mt.parent.children,Et=mt.i?Bt[mt.i-1]:null;if(_t){Ne(mt);var hr=(_t[0].z+_t[_t.length-1].z)/2;Et?(mt.z=Et.z+he(mt._,Et._),mt.m=mt.z-hr):mt.z=hr}else Et&&(mt.z=Et.z+he(mt._,Et._));mt.parent.A=ct(mt,Et,mt.parent.A||Bt[0])}function pt(mt){mt._.x=mt.z+mt.parent.m,mt.m+=mt.parent.m}function ct(mt,_t,Bt){if(_t){for(var Et=mt,hr=mt,$r=_t,ca=Et.parent.children[0],na=Et.m,wa=hr.m,pa=$r.m,fa=ca.m,za;$r=De($r),Et=be(Et),$r&&Et;)ca=be(ca),hr=De(hr),hr.a=mt,za=$r.z+pa-Et.z-na+he($r._,Et._),za>0&&(qe(ut($r,mt,Bt),mt,za),na+=za,wa+=za),pa+=$r.m,na+=Et.m,fa+=ca.m,wa+=hr.m;$r&&!De(hr)&&(hr.t=$r,hr.m+=pa-wa),Et&&!be(ca)&&(ca.t=Et,ca.m+=na-fa,Bt=mt)}return Bt}function ft(mt){mt.x*=ye,mt.y=mt.depth*Ie}return He.separation=function(mt){return arguments.length?(he=mt,He):he},He.size=function(mt){return arguments.length?(Fe=!1,ye=+mt[0],Ie=+mt[1],He):Fe?null:[ye,Ie]},He.nodeSize=function(mt){return arguments.length?(Fe=!0,ye=+mt[0],Ie=+mt[1],He):Fe?[ye,Ie]:null},He}function It(he,ye,Ie,Fe,He){for(var We=he.children,pt,ct=-1,ft=We.length,mt=he.value&&(He-Ie)/he.value;++ctpa&&(pa=mt),Va=na*na*Ia,fa=Math.max(pa/Va,Va/wa),fa>za){na-=mt;break}za=fa}pt.push(ft={value:na,dice:hr<$r,children:ct.slice(_t,Bt)}),ft.dice?Se(ft,Ie,Fe,He,ca?Fe+=$r*na/ca:We):It(ft,Ie,Fe,ca?Ie+=hr*na/ca:He,We),ca-=na,_t=Bt}return pt}var Ut=function he(ye){function Ie(Fe,He,We,pt,ct){vr(ye,Fe,He,We,pt,ct)}return Ie.ratio=function(Fe){return he((Fe=+Fe)>1?Fe:1)},Ie}(Zt);function Jt(){var he=Ut,ye=!1,Ie=1,Fe=1,He=[0],We=X,pt=X,ct=X,ft=X,mt=X;function _t(Et){return Et.x0=Et.y0=0,Et.x1=Ie,Et.y1=Fe,Et.eachBefore(Bt),He=[0],ye&&Et.eachBefore(Te),Et}function Bt(Et){var hr=He[Et.depth],$r=Et.x0+hr,ca=Et.y0+hr,na=Et.x1-hr,wa=Et.y1-hr;na<$r&&($r=na=($r+na)/2),wa=Et-1){var pa=We[Bt];pa.x0=$r,pa.y0=ca,pa.x1=na,pa.y1=wa;return}for(var fa=mt[Bt],za=hr/2+fa,Ia=Bt+1,Va=Et-1;Ia>>1;mt[Oa]wa-ca){var oi=($r*ka+na*tn)/hr;_t(Bt,Ia,tn,$r,ca,oi,wa),_t(Ia,Et,ka,oi,ca,na,wa)}else{var $n=(ca*ka+wa*tn)/hr;_t(Bt,Ia,tn,$r,ca,na,$n),_t(Ia,Et,ka,$r,$n,na,wa)}}}function Ee(he,ye,Ie,Fe,He){(he.depth&1?It:Se)(he,ye,Ie,Fe,He)}var Re=function he(ye){function Ie(Fe,He,We,pt,ct){if((ft=Fe._squarify)&&ft.ratio===ye)for(var ft,mt,_t,Bt,Et=-1,hr,$r=ft.length,ca=Fe.value;++Et<$r;){for(mt=ft[Et],_t=mt.children,Bt=mt.value=0,hr=_t.length;Bt1?Fe:1)},Ie}(Zt);u.cluster=r,u.hierarchy=g,u.pack=re,u.packEnclose=F,u.packSiblings=K,u.partition=Ce,u.stratify=se,u.tree=At,u.treemap=Jt,u.treemapBinary=at,u.treemapDice=Se,u.treemapResquarify=Re,u.treemapSlice=It,u.treemapSliceDice=Ee,u.treemapSquarify=Ut,Object.defineProperty(u,"__esModule",{value:!0})})}}),I0=xe({"src/traces/sunburst/calc.js"(U){"use strict";var O=P0(),u=yn(),v=Sr(),w=Bl().makeColorScaleFuncFromTrace,S=Ap().makePullColorFn,l=Ap().generateExtendedColors,e=Bl().calc,t=Gn().ALMOST_EQUAL,a={},r={},n={};U.calc=function(s,c){var p=s._fullLayout,f=c.ids,d=v.isArrayOrTypedArray(f),y=c.labels,o=c.parents,b=c.values,M=v.isArrayOrTypedArray(b),A=[],E={},g={},T=function(K,H){E[K]?E[K].push(H):E[K]=[H],g[H]=1},m=function(K){return K||typeof K=="number"},h=function(K){return!M||u(b[K])&&b[K]>=0},x,_,D;d?(x=Math.min(f.length,o.length),_=function(K){return m(f[K])&&h(K)},D=function(K){return String(f[K])}):(x=Math.min(y.length,o.length),_=function(K){return m(y[K])&&h(K)},D=function(K){return String(y[K])}),M&&(x=Math.min(x,b.length));for(var C=0;C1){for(var B=v.randstr(),N=0;N>8&15|O>>4&240,O>>4&15|O&240,(O&15)<<4|O&15,1):u===8?D0(O>>24&255,O>>16&255,O>>8&255,(O&255)/255):u===4?D0(O>>12&15|O>>8&240,O>>8&15|O>>4&240,O>>4&15|O&240,((O&15)<<4|O&15)/255):null):(O=Ix.exec(U))?new Zc(O[1],O[2],O[3],1):(O=Dx.exec(U))?new Zc(O[1]*255/100,O[2]*255/100,O[3]*255/100,1):(O=Rx.exec(U))?D0(O[1],O[2],O[3],O[4]):(O=Fx.exec(U))?D0(O[1]*255/100,O[2]*255/100,O[3]*255/100,O[4]):(O=zx.exec(U))?kx(O[1],O[2]/100,O[3]/100,1):(O=Bx.exec(U))?kx(O[1],O[2]/100,O[3]/100,O[4]):n1.hasOwnProperty(U)?Mx(n1[U]):U==="transparent"?new Zc(NaN,NaN,NaN,0):null}function Mx(U){return new Zc(U>>16&255,U>>8&255,U&255,1)}function D0(U,O,u,v){return v<=0&&(U=O=u=NaN),new Zc(U,O,u,v)}function t1(U){return U instanceof vd||(U=Sp(U)),U?(U=U.rgb(),new Zc(U.r,U.g,U.b,U.opacity)):new Zc}function R0(U,O,u,v){return arguments.length===1?t1(U):new Zc(U,O,u,v??1)}function Zc(U,O,u,v){this.r=+U,this.g=+O,this.b=+u,this.opacity=+v}function Sx(){return`#${qd(this.r)}${qd(this.g)}${qd(this.b)}`}function YE(){return`#${qd(this.r)}${qd(this.g)}${qd(this.b)}${qd((isNaN(this.opacity)?1:this.opacity)*255)}`}function Ex(){let U=F0(this.opacity);return`${U===1?"rgb(":"rgba("}${jd(this.r)}, ${jd(this.g)}, ${jd(this.b)}${U===1?")":`, ${U})`}`}function F0(U){return isNaN(U)?1:Math.max(0,Math.min(1,U))}function jd(U){return Math.max(0,Math.min(255,Math.round(U)||0))}function qd(U){return U=jd(U),(U<16?"0":"")+U.toString(16)}function kx(U,O,u,v){return v<=0?U=O=u=NaN:u<=0||u>=1?U=O=NaN:O<=0&&(U=NaN),new mh(U,O,u,v)}function Cx(U){if(U instanceof mh)return new mh(U.h,U.s,U.l,U.opacity);if(U instanceof vd||(U=Sp(U)),!U)return new mh;if(U instanceof mh)return U;U=U.rgb();var O=U.r/255,u=U.g/255,v=U.b/255,w=Math.min(O,u,v),S=Math.max(O,u,v),l=NaN,e=S-w,t=(S+w)/2;return e?(O===S?l=(u-v)/e+(u0&&t<1?0:l,new mh(l,e,t,U.opacity)}function r1(U,O,u,v){return arguments.length===1?Cx(U):new mh(U,O,u,v??1)}function mh(U,O,u,v){this.h=+U,this.s=+O,this.l=+u,this.opacity=+v}function Lx(U){return U=(U||0)%360,U<0?U+360:U}function z0(U){return Math.max(0,Math.min(1,U||0))}function a1(U,O,u){return(U<60?O+(u-O)*U/60:U<180?u:U<240?O+(u-O)*(240-U)/60:O)*255}var pd,Vd,Hd,Iv,gh,Px,Ix,Dx,Rx,Fx,zx,Bx,n1,i1=Pr({"node_modules/d3-color/src/color.js"(){e1(),pd=.7,Vd=1/pd,Hd="\\s*([+-]?\\d+)\\s*",Iv="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",gh="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Px=/^#([0-9a-f]{3,8})$/,Ix=new RegExp(`^rgb\\(${Hd},${Hd},${Hd}\\)$`),Dx=new RegExp(`^rgb\\(${gh},${gh},${gh}\\)$`),Rx=new RegExp(`^rgba\\(${Hd},${Hd},${Hd},${Iv}\\)$`),Fx=new RegExp(`^rgba\\(${gh},${gh},${gh},${Iv}\\)$`),zx=new RegExp(`^hsl\\(${Iv},${gh},${gh}\\)$`),Bx=new RegExp(`^hsla\\(${Iv},${gh},${gh},${Iv}\\)$`),n1={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},Pv(vd,Sp,{copy(U){return Object.assign(new this.constructor,this,U)},displayable(){return this.rgb().displayable()},hex:Tx,formatHex:Tx,formatHex8:GE,formatHsl:WE,formatRgb:Ax,toString:Ax}),Pv(Zc,R0,Mp(vd,{brighter(U){return U=U==null?Vd:Math.pow(Vd,U),new Zc(this.r*U,this.g*U,this.b*U,this.opacity)},darker(U){return U=U==null?pd:Math.pow(pd,U),new Zc(this.r*U,this.g*U,this.b*U,this.opacity)},rgb(){return this},clamp(){return new Zc(jd(this.r),jd(this.g),jd(this.b),F0(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:Sx,formatHex:Sx,formatHex8:YE,formatRgb:Ex,toString:Ex})),Pv(mh,r1,Mp(vd,{brighter(U){return U=U==null?Vd:Math.pow(Vd,U),new mh(this.h,this.s,this.l*U,this.opacity)},darker(U){return U=U==null?pd:Math.pow(pd,U),new mh(this.h,this.s,this.l*U,this.opacity)},rgb(){var U=this.h%360+(this.h<0)*360,O=isNaN(U)||isNaN(this.s)?0:this.s,u=this.l,v=u+(u<.5?u:1-u)*O,w=2*u-v;return new Zc(a1(U>=240?U-240:U+120,w,v),a1(U,w,v),a1(U<120?U+240:U-120,w,v),this.opacity)},clamp(){return new mh(Lx(this.h),z0(this.s),z0(this.l),F0(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 U=F0(this.opacity);return`${U===1?"hsl(":"hsla("}${Lx(this.h)}, ${z0(this.s)*100}%, ${z0(this.l)*100}%${U===1?")":`, ${U})`}`}}))}}),o1,s1,Nx=Pr({"node_modules/d3-color/src/math.js"(){o1=Math.PI/180,s1=180/Math.PI}});function Ox(U){if(U instanceof Lh)return new Lh(U.l,U.a,U.b,U.opacity);if(U instanceof Wh)return Ux(U);U instanceof Zc||(U=t1(U));var O=h1(U.r),u=h1(U.g),v=h1(U.b),w=u1((.2225045*O+.7168786*u+.0606169*v)/p1),S,l;return O===u&&u===v?S=l=w:(S=u1((.4360747*O+.3850649*u+.1430804*v)/v1),l=u1((.0139322*O+.0971045*u+.7141733*v)/m1)),new Lh(116*w-16,500*(S-w),200*(w-l),U.opacity)}function l1(U,O,u,v){return arguments.length===1?Ox(U):new Lh(U,O,u,v??1)}function Lh(U,O,u,v){this.l=+U,this.a=+O,this.b=+u,this.opacity=+v}function u1(U){return U>jx?Math.pow(U,.3333333333333333):U/y1+g1}function c1(U){return U>Gd?U*U*U:y1*(U-g1)}function f1(U){return 255*(U<=.0031308?12.92*U:1.055*Math.pow(U,.4166666666666667)-.055)}function h1(U){return(U/=255)<=.04045?U/12.92:Math.pow((U+.055)/1.055,2.4)}function XE(U){if(U instanceof Wh)return new Wh(U.h,U.c,U.l,U.opacity);if(U instanceof Lh||(U=Ox(U)),U.a===0&&U.b===0)return new Wh(NaN,0=1?(u=1,O-1):Math.floor(u*O),w=U[v],S=U[v+1],l=v>0?U[v-1]:2*w-S,e=v()=>U}});function Yx(U,O){return function(u){return U+u*O}}function JE(U,O,u){return U=Math.pow(U,u),O=Math.pow(O,u)-U,u=1/u,function(v){return Math.pow(U+v*O,u)}}function O0(U,O){var u=O-U;return u?Yx(U,u>180||u<-180?u-360*Math.round(u/360):u):Cp(isNaN(U)?O:U)}function QE(U){return(U=+U)==1?Kc:function(O,u){return u-O?JE(O,u,U):Cp(isNaN(O)?u:O)}}function Kc(U,O){var u=O-U;return u?Yx(U,u):Cp(isNaN(U)?O:U)}var Fv=Pr({"node_modules/d3-interpolate/src/color.js"(){Wx()}});function Xx(U){return function(O){var u=O.length,v=new Array(u),w=new Array(u),S=new Array(u),l,e;for(l=0;lu&&(S=O.slice(u,S),e[l]?e[l]+=S:e[++l]=S),(v=v[0])===(w=w[0])?e[l]?e[l]+=w:e[++l]=w:(e[++l]=null,t.push({i:l,x:Ph(v,w)})),u=V0.lastIndex;return u180?r+=360:r-a>180&&(a+=360),i.push({i:n.push(w(n)+"rotate(",null,v)-2,x:Ph(a,r)})):r&&n.push(w(n)+"rotate("+r+v)}function e(a,r,n,i){a!==r?i.push({i:n.push(w(n)+"skewX(",null,v)-2,x:Ph(a,r)}):r&&n.push(w(n)+"skewX("+r+v)}function t(a,r,n,i,s,c){if(a!==n||r!==i){var p=s.push(w(s)+"scale(",null,",",null,")");c.push({i:p-4,x:Ph(a,n)},{i:p-2,x:Ph(r,i)})}else(n!==1||i!==1)&&s.push(w(s)+"scale("+n+","+i+")")}return function(a,r){var n=[],i=[];return a=U(a),r=U(r),S(a.translateX,a.translateY,r.translateX,r.translateY,n,i),l(a.rotate,r.rotate,n,i),e(a.skewX,r.skewX,n,i),t(a.scaleX,a.scaleY,r.scaleX,r.scaleY,n,i),a=r=null,function(s){for(var c=-1,p=i.length,f;++cH0,interpolateArray:()=>ek,interpolateBasis:()=>Vx,interpolateBasisClosed:()=>Hx,interpolateCubehelix:()=>x2,interpolateCubehelixLong:()=>w2,interpolateDate:()=>t2,interpolateDiscrete:()=>ak,interpolateHcl:()=>y2,interpolateHclLong:()=>_2,interpolateHsl:()=>p2,interpolateHslLong:()=>m2,interpolateHue:()=>ik,interpolateLab:()=>yk,interpolateNumber:()=>Ph,interpolateNumberArray:()=>M1,interpolateObject:()=>a2,interpolateRgb:()=>U0,interpolateRgbBasis:()=>$x,interpolateRgbBasisClosed:()=>Zx,interpolateRound:()=>sk,interpolateString:()=>i2,interpolateTransformCss:()=>u2,interpolateTransformSvg:()=>c2,interpolateZoom:()=>d2,piecewise:()=>wk,quantize:()=>Ak});var zv=Pr({"node_modules/d3-interpolate/src/index.js"(){G0(),e2(),A1(),Gx(),r2(),nk(),ok(),j0(),S1(),n2(),lk(),o2(),dk(),mk(),Kx(),gk(),_k(),bk(),xk(),Tk(),Mk()}}),k1=xe({"src/traces/sunburst/fill_one.js"(U,O){"use strict";var u=go(),v=wi();O.exports=function(S,l,e,t,a){var r=l.data.data,n=r.i,i=a||r.color;if(n>=0){l.i=r.i;var s=e.marker;s.pattern?(!s.colors||!s.pattern.shape)&&(s.color=i,l.color=i):(s.color=i,l.color=i),u.pointStyle(S,e,t,l)}else v.fill(S,i)}}}),T2=xe({"src/traces/sunburst/style.js"(U,O){"use strict";var u=Na(),v=wi(),w=Sr(),S=wf().resizeText,l=k1();function e(a){var r=a._fullLayout._sunburstlayer.selectAll(".trace");S(a,r,"sunburst"),r.each(function(n){var i=u.select(this),s=n[0],c=s.trace;i.style("opacity",c.opacity),i.selectAll("path.surface").each(function(p){u.select(this).call(t,p,c,a)})})}function t(a,r,n,i){var s=r.data.data,c=!r.children,p=s.i,f=w.castOption(n,p,"marker.line.color")||v.defaultLine,d=w.castOption(n,p,"marker.line.width")||0;a.call(l,r,n,i).style("stroke-width",d).call(v.stroke,f).style("opacity",c?n.leaf.opacity:null)}O.exports={style:e,styleOne:t}}}),md=xe({"src/traces/sunburst/helpers.js"(U){"use strict";var O=Sr(),u=wi(),v=Mh(),w=zd();U.findEntryWithLevel=function(t,a){var r;return a&&t.eachAfter(function(n){if(U.getPtId(n)===a)return r=n.copy()}),r||t},U.findEntryWithChild=function(t,a){var r;return t.eachAfter(function(n){for(var i=n.children||[],s=0;s0)},U.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},U.isHeader=function(t,a){return!(U.isLeaf(t)||t.depth===a._maxDepth-1)};function e(t){return t.data.data.pid}U.getParent=function(t,a){return U.findEntryWithLevel(t,e(a))},U.listPath=function(t,a){var r=t.parent;if(!r)return[];var n=a?[r.data[a]]:[r];return U.listPath(r,a).concat(n)},U.getPath=function(t){return U.listPath(t,"label").join("/")+"/"},U.formatValue=w.formatPieValue,U.formatPercent=function(t,a){var r=O.formatPercent(t,0);return r==="0%"&&(r=w.formatPiePercent(t,a)),r}}}),X0=xe({"src/traces/sunburst/fx.js"(U,O){"use strict";var u=Na(),v=Ci(),w=Kf().appendArrayPointValue,S=hu(),l=Sr(),e=ip(),t=md(),a=zd(),r=a.formatPieValue;O.exports=function(s,c,p,f,d){var y=f[0],o=y.trace,b=y.hierarchy,M=o.type==="sunburst",A=o.type==="treemap"||o.type==="icicle";"_hasHoverLabel"in o||(o._hasHoverLabel=!1),"_hasHoverEvent"in o||(o._hasHoverEvent=!1);var E=function(m){var h=p._fullLayout;if(!(p._dragging||h.hovermode===!1)){var x=p._fullData[o.index],_=m.data.data,D=_.i,C=t.isHierarchyRoot(m),F=t.getParent(b,m),I=t.getValue(m),z=function(Q){return l.castOption(x,D,Q)},R=z("hovertemplate"),k=S.castHoverinfo(x,h,D),B=h.separators,N;if(R||k&&k!=="none"&&k!=="skip"){var q,Y;M&&(q=y.cx+m.pxmid[0]*(1-m.rInscribed),Y=y.cy+m.pxmid[1]*(1-m.rInscribed)),A&&(q=m._hoverX,Y=m._hoverY);var ee={},te=[],ae=[],j=function(Q){return te.indexOf(Q)!==-1};k&&(te=k==="all"?x._module.attributes.hoverinfo.flags:k.split("+")),ee.label=_.label,j("label")&&ee.label&&ae.push(ee.label),_.hasOwnProperty("v")&&(ee.value=_.v,ee.valueLabel=r(ee.value,B),j("value")&&ae.push(ee.valueLabel)),ee.currentPath=m.currentPath=t.getPath(m.data),j("current path")&&!C&&ae.push(ee.currentPath);var G,K=[],H=function(){K.indexOf(G)===-1&&(ae.push(G),K.push(G))};ee.percentParent=m.percentParent=I/t.getValue(F),ee.parent=m.parentString=t.getPtLabel(F),j("percent parent")&&(G=t.formatPercent(ee.percentParent,B)+" of "+ee.parent,H()),ee.percentEntry=m.percentEntry=I/t.getValue(c),ee.entry=m.entry=t.getPtLabel(c),j("percent entry")&&!C&&!m.onPathbar&&(G=t.formatPercent(ee.percentEntry,B)+" of "+ee.entry,H()),ee.percentRoot=m.percentRoot=I/t.getValue(b),ee.root=m.root=t.getPtLabel(b),j("percent root")&&!C&&(G=t.formatPercent(ee.percentRoot,B)+" of "+ee.root,H()),ee.text=z("hovertext")||z("text"),j("text")&&(G=ee.text,l.isValidTextValue(G)&&ae.push(G)),N=[n(m,x,d.eventDataKeys)];var Z={trace:x,y:Y,_x0:m._x0,_x1:m._x1,_y0:m._y0,_y1:m._y1,text:ae.join("
"),name:R||j("name")?x.name:void 0,color:z("hoverlabel.bgcolor")||_.color,borderColor:z("hoverlabel.bordercolor"),fontFamily:z("hoverlabel.font.family"),fontSize:z("hoverlabel.font.size"),fontColor:z("hoverlabel.font.color"),fontWeight:z("hoverlabel.font.weight"),fontStyle:z("hoverlabel.font.style"),fontVariant:z("hoverlabel.font.variant"),nameLength:z("hoverlabel.namelength"),textAlign:z("hoverlabel.align"),hovertemplate:R,hovertemplateLabels:ee,eventData:N};M&&(Z.x0=q-m.rInscribed*m.rpx1,Z.x1=q+m.rInscribed*m.rpx1,Z.idealAlign=m.pxmid[0]<0?"left":"right"),A&&(Z.x=q,Z.idealAlign=q<0?"left":"right");var X=[];S.loneHover(Z,{container:h._hoverlayer.node(),outerContainer:h._paper.node(),gd:p,inOut_bbox:X}),N[0].bbox=X[0],o._hasHoverLabel=!0}if(A){var $=s.select("path.surface");d.styleOne($,m,x,p,{hovered:!0})}o._hasHoverEvent=!0,p.emit("plotly_hover",{points:N||[n(m,x,d.eventDataKeys)],event:u.event})}},g=function(m){var h=p._fullLayout,x=p._fullData[o.index],_=u.select(this).datum();if(o._hasHoverEvent&&(m.originalEvent=u.event,p.emit("plotly_unhover",{points:[n(_,x,d.eventDataKeys)],event:u.event}),o._hasHoverEvent=!1),o._hasHoverLabel&&(S.loneUnhover(h._hoverlayer.node()),o._hasHoverLabel=!1),A){var D=s.select("path.surface");d.styleOne(D,_,x,p,{hovered:!1})}},T=function(m){var h=p._fullLayout,x=p._fullData[o.index],_=M&&(t.isHierarchyRoot(m)||t.isLeaf(m)),D=t.getPtId(m),C=t.isEntry(m)?t.findEntryWithChild(b,D):t.findEntryWithLevel(b,D),F=t.getPtId(C),I={points:[n(m,x,d.eventDataKeys)],event:u.event};_||(I.nextLevel=F);var z=e.triggerHandler(p,"plotly_"+o.type+"click",I);if(z!==!1&&h.hovermode&&(p._hoverdata=[n(m,x,d.eventDataKeys)],S.click(p,u.event)),!_&&z!==!1&&!p._dragging&&!p._transitioning){v.call("_storeDirectGUIEdit",x,h._tracePreGUI[x.uid],{level:x.level});var R={data:[{level:F}],traces:[o.index]},k={frame:{redraw:!1,duration:d.transitionTime},transition:{duration:d.transitionTime,easing:d.transitionEasing},mode:"immediate",fromcurrent:!0};S.loneUnhover(h._hoverlayer.node()),v.call("animate",p,R,k)}};s.on("mouseover",E),s.on("mouseout",g),s.on("click",T)};function n(i,s,c){for(var p=i.data.data,f={curveNumber:s.index,pointNumber:p.i,data:s._input,fullData:s},d=0;dqe.x1?2*Math.PI:0)+Q;Ne=ne.rpx1Ce?2*Math.PI:0)+Q;De={x0:Ne,x1:Ne}}else De={rpx0:te,rpx1:te},S.extendFlat(De,se(ne));else De={rpx0:0,rpx1:0};else De={x0:Q,x1:Q};return v(De,qe)}function ie(ne){var be=K[y.getPtId(ne)],De,qe=ne.transform;if(be)De=be;else if(De={rpx1:ne.rpx1,transform:{textPosAngle:qe.textPosAngle,scale:0,rotate:qe.rotate,rCenter:qe.rCenter,x:qe.x,y:qe.y}},G)if(ne.parent)if(Ce){var Ne=ne.x1>Ce?2*Math.PI:0;De.x0=De.x1=Ne}else S.extendFlat(De,se(ne));else De.x0=De.x1=Q;else De.x0=De.x1=Q;var ut=v(De.transform.textPosAngle,ne.transform.textPosAngle),ot=v(De.rpx1,ne.rpx1),yt=v(De.x0,ne.x0),At=v(De.x1,ne.x1),It=v(De.transform.scale,qe.scale),Zt=v(De.transform.rotate,qe.rotate),vr=qe.rCenter===0?3:De.transform.rCenter===0?1/3:1,Ut=v(De.transform.rCenter,qe.rCenter),Jt=function(at){return Ut(Math.pow(at,vr))};return function(at){var Ee=ot(at),Re=yt(at),he=At(at),ye=Jt(at),Ie=pe(Ee,(Re+he)/2),Fe=ut(at),He={pxmid:Ie,rpx1:Ee,transform:{textPosAngle:Fe,rCenter:ye,x:qe.x,y:qe.y}};return t(z.type,qe,_),{transform:{targetX:Te(He),targetY:Se(He),scale:It(at),rotate:Zt(at),rCenter:ye}}}}function se(ne){var be=ne.parent,De=K[y.getPtId(be)],qe={};if(De){var Ne=be.children,ut=Ne.indexOf(ne),ot=Ne.length,yt=v(De.x0,De.x1);qe.x0=yt(ut/ot),qe.x1=yt(ut/ot)}else qe.x0=qe.x1=0;return qe}}function b(g){return u.partition().size([2*Math.PI,g.height+1])(g)}U.formatSliceLabel=function(g,T,m,h,x){var _=m.texttemplate,D=m.textinfo;if(!_&&(!D||D==="none"))return"";var C=x.separators,F=h[0],I=g.data.data,z=F.hierarchy,R=y.isHierarchyRoot(g),k=y.getParent(z,g),B=y.getValue(g);if(!_){var N=D.split("+"),q=function(X){return N.indexOf(X)!==-1},Y=[],ee;if(q("label")&&I.label&&Y.push(I.label),I.hasOwnProperty("v")&&q("value")&&Y.push(y.formatValue(I.v,C)),!R){q("current path")&&Y.push(y.getPath(g.data));var te=0;q("percent parent")&&te++,q("percent entry")&&te++,q("percent root")&&te++;var ae=te>1;if(te){var j,G=function(X){ee=y.formatPercent(j,C),ae&&(ee+=" of "+X),Y.push(ee)};q("percent parent")&&!R&&(j=B/y.getValue(k),G("parent")),q("percent entry")&&(j=B/y.getValue(T),G("entry")),q("percent root")&&(j=B/y.getValue(z),G("root"))}}return q("text")&&(ee=S.castOption(m,I.i,"text"),S.isValidTextValue(ee)&&Y.push(ee)),Y.join("
")}var K=S.castOption(m,I.i,"texttemplate");if(!K)return"";var H={};I.label&&(H.label=I.label),I.hasOwnProperty("v")&&(H.value=I.v,H.valueLabel=y.formatValue(I.v,C)),H.currentPath=y.getPath(g.data),R||(H.percentParent=B/y.getValue(k),H.percentParentLabel=y.formatPercent(H.percentParent,C),H.parent=y.getPtLabel(k)),H.percentEntry=B/y.getValue(T),H.percentEntryLabel=y.formatPercent(H.percentEntry,C),H.entry=y.getPtLabel(T),H.percentRoot=B/y.getValue(z),H.percentRootLabel=y.formatPercent(H.percentRoot,C),H.root=y.getPtLabel(z),I.hasOwnProperty("color")&&(H.color=I.color);var Z=S.castOption(m,I.i,"text");return(S.isValidTextValue(Z)||Z==="")&&(H.text=Z),H.customdata=S.castOption(m,I.i,"customdata"),S.texttemplateString({data:[H,m._meta],fallback:m.texttemplatefallback,labels:H,locale:x._d3locale,template:K})};function M(g){return g.rpx0===0&&S.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 E(g.rpx1,g.transform.textPosAngle)}function E(g,T){return[g*Math.sin(T),-g*Math.cos(T)]}}}),Sk=xe({"src/traces/sunburst/index.js"(U,O){"use strict";O.exports={moduleType:"trace",name:"sunburst",basePlotModule:qE(),categories:[],animatable:!0,attributes:L0(),layoutAttributes:wx(),supplyDefaults:VE(),supplyLayoutDefaults:HE(),calc:I0().calc,crossTraceCalc:I0().crossTraceCalc,plot:C1().plot,style:T2().style,colorbar:pf(),meta:{}}}}),Ek=xe({"lib/sunburst.js"(U,O){"use strict";O.exports=Sk()}}),kk=xe({"src/traces/treemap/base_plot.js"(U){"use strict";var O=zl();U.name="treemap",U.plot=function(u,v,w,S){O.plotBasePlot(U.name,u,v,w,S)},U.clean=function(u,v,w,S){O.cleanBasePlot(U.name,u,v,w,S)}}}),Bv=xe({"src/traces/treemap/constants.js"(U,O){"use strict";O.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}}}),L1=xe({"src/traces/treemap/attributes.js"(U,O){"use strict";var{hovertemplateAttrs:u,texttemplateAttrs:v,templatefallbackAttrs:w}=js(),S=pl(),l=Gl().attributes,e=Cv(),t=L0(),a=Bv(),r=oo().extendFlat,n=Rc().pattern;O.exports={labels:t.labels,parents:t.parents,values:t.values,branchvalues:t.branchvalues,count:t.count,level:t.level,maxdepth:t.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:r({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:t.marker.colors,pattern:n,depthfade:{valType:"enumerated",values:[!0,!1,"reversed"],editType:"style"},line:t.marker.line,cornerradius:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},S("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:r({},e.textfont,{}),editType:"calc"},text:e.text,textinfo:t.textinfo,texttemplate:v({editType:"plot"},{keys:a.eventDataKeys.concat(["label","value"])}),texttemplatefallback:w({editType:"plot"}),hovertext:e.hovertext,hoverinfo:t.hoverinfo,hovertemplate:u({},{keys:a.eventDataKeys}),hovertemplatefallback:w(),textfont:e.textfont,insidetextfont:e.insidetextfont,outsidetextfont:r({},e.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:e.sort,root:t.root,domain:l({name:"treemap",trace:!0,editType:"calc"})}}}),A2=xe({"src/traces/treemap/layout_attributes.js"(U,O){"use strict";O.exports={treemapcolorway:{valType:"colorlist",editType:"calc"},extendtreemapcolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),Ck=xe({"src/traces/treemap/defaults.js"(U,O){"use strict";var u=Sr(),v=L1(),w=wi(),S=Gl().defaults,l=sh().handleText,e=Ud().TEXTPAD,t=Lv().handleMarkerDefaults,a=Bl(),r=a.hasColorscale,n=a.handleDefaults;O.exports=function(s,c,p,f){function d(x,_){return u.coerce(s,c,v,x,_)}var y=d("labels"),o=d("parents");if(!y||!y.length||!o||!o.length){c.visible=!1;return}var b=d("values");b&&b.length?d("branchvalues"):d("count"),d("level"),d("maxdepth");var M=d("tiling.packing");M==="squarify"&&d("tiling.squarifyratio"),d("tiling.flip"),d("tiling.pad");var A=d("text");d("texttemplate"),d("texttemplatefallback"),c.texttemplate||d("textinfo",u.isArrayOrTypedArray(A)?"text+label":"label"),d("hovertext"),d("hovertemplate"),d("hovertemplatefallback");var E=d("pathbar.visible"),g="auto";l(s,c,f,d,g,{hasPathbar:E,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),d("textposition");var T=c.textposition.indexOf("bottom")!==-1;t(s,c,f,d);var m=c._hasColorscale=r(s,"marker","colors")||(s.marker||{}).coloraxis;m?n(s,c,f,d,{prefix:"marker.",cLetter:"c"}):d("marker.depthfade",!(c.marker.colors||[]).length);var h=c.textfont.size*2;d("marker.pad.t",T?h/4:h),d("marker.pad.l",h/4),d("marker.pad.r",h/4),d("marker.pad.b",T?h:h/4),d("marker.cornerradius"),c._hovered={marker:{line:{width:2,color:w.contrast(f.paper_bgcolor)}}},E&&(d("pathbar.thickness",c.pathbar.textfont.size+2*e),d("pathbar.side"),d("pathbar.edgeshape")),d("sort"),d("root.color"),S(c,f,d),c._length=null}}}),Lk=xe({"src/traces/treemap/layout_defaults.js"(U,O){"use strict";var u=Sr(),v=A2();O.exports=function(S,l){function e(t,a){return u.coerce(S,l,v,t,a)}e("treemapcolorway",l.colorway),e("extendtreemapcolors")}}}),M2=xe({"src/traces/treemap/calc.js"(U){"use strict";var O=I0();U.calc=function(u,v){return O.calc(u,v)},U.crossTraceCalc=function(u){return O._runCrossTraceCalc("treemap",u)}}}),S2=xe({"src/traces/treemap/flip_tree.js"(U,O){"use strict";O.exports=function u(v,w,S){var l;S.swapXY&&(l=v.x0,v.x0=v.y0,v.y0=l,l=v.x1,v.x1=v.y1,v.y1=l),S.flipX&&(l=v.x0,v.x0=w[0]-v.x1,v.x1=w[0]-l),S.flipY&&(l=v.y0,v.y0=w[1]-v.y1,v.y1=w[1]-l);var e=v.children;if(e)for(var t=0;t0)for(var h=0;h").join(" ")||"";var ae=v.ensureSingle(ee,"g","slicetext"),j=v.ensureSingle(ae,"text","",function(K){K.attr("data-notex",1)}),G=v.ensureUniformFontSize(s,a.determineTextFont(z,Y,F.font,{onPathbar:!0}));j.text(Y._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(w.font,G).call(S.convertToTspans,s),Y.textBB=w.bBox(j.node()),Y.transform=g(Y,{fontSize:G.size,onPathbar:!0}),Y.transform.fontSize=G.size,m?j.transition().attrTween("transform",function(K){var H=_(K,n,D,[o,b]);return function(Z){return T(H(Z))}}):j.attr("transform",T(Y))})}}}),Ik=xe({"src/traces/treemap/plot_one.js"(U,O){"use strict";var u=Na(),v=(zv(),Ta(Yd)).interpolate,w=md(),S=Sr(),l=Ud().TEXTPAD,e=Tv(),t=e.toMoveInsideBar,a=wf(),r=a.recordMinTextSize,n=Bv(),i=Pk();function s(c){return w.isHierarchyRoot(c)?"":w.getPtId(c)}O.exports=function(p,f,d,y,o){var b=p._fullLayout,M=f[0],A=M.trace,E=A.type,g=E==="icicle",T=M.hierarchy,m=w.findEntryWithLevel(T,A.level),h=u.select(d),x=h.selectAll("g.pathbar"),_=h.selectAll("g.slice");if(!m){x.remove(),_.remove();return}var D=w.isHierarchyRoot(m),C=!b.uniformtext.mode&&w.hasTransition(y),F=w.getMaxDepth(A),I=function(Ut){return Ut.data.depth-m.data.depth-1?B+Y:-(q+Y):0,te={x0:N,x1:N,y0:ee,y1:ee+q},ae=function(Ut,Jt,at){var Ee=A.tiling.pad,Re=function(Fe){return Fe-Ee<=Jt.x0},he=function(Fe){return Fe+Ee>=Jt.x1},ye=function(Fe){return Fe-Ee<=Jt.y0},Ie=function(Fe){return Fe+Ee>=Jt.y1};return Ut.x0===Jt.x0&&Ut.x1===Jt.x1&&Ut.y0===Jt.y0&&Ut.y1===Jt.y1?{x0:Ut.x0,x1:Ut.x1,y0:Ut.y0,y1:Ut.y1}:{x0:Re(Ut.x0-Ee)?0:he(Ut.x0-Ee)?at[0]:Ut.x0,x1:Re(Ut.x1+Ee)?0:he(Ut.x1+Ee)?at[0]:Ut.x1,y0:ye(Ut.y0-Ee)?0:Ie(Ut.y0-Ee)?at[1]:Ut.y0,y1:ye(Ut.y1+Ee)?0:Ie(Ut.y1+Ee)?at[1]:Ut.y1}},j=null,G={},K={},H=null,Z=function(Ut,Jt){return Jt?G[s(Ut)]:K[s(Ut)]},X=function(Ut,Jt,at,Ee){if(Jt)return G[s(T)]||te;var Re=K[A.level]||at;return I(Ut)?ae(Ut,Re,Ee):{}};M.hasMultipleRoots&&D&&F++,A._maxDepth=F,A._backgroundColor=b.paper_bgcolor,A._entryDepth=m.data.depth,A._atRootLevel=D;var $=-k/2+z.l+z.w*(R.x[1]+R.x[0])/2,Q=-B/2+z.t+z.h*(1-(R.y[1]+R.y[0])/2),re=function(Ut){return $+Ut},ue=function(Ut){return Q+Ut},pe=ue(0),ge=re(0),Te=function(Ut){return ge+Ut},Se=function(Ut){return pe+Ut};function Ce(Ut,Jt){return Ut+","+Jt}var Ue=Te(0),Oe=function(Ut){Ut.x=Math.max(Ue,Ut.x)},_e=A.pathbar.edgeshape,ce=function(Ut){var Jt=Te(Math.max(Math.min(Ut.x0,Ut.x0),0)),at=Te(Math.min(Math.max(Ut.x1,Ut.x1),N)),Ee=Se(Ut.y0),Re=Se(Ut.y1),he=q/2,ye={},Ie={};ye.x=Jt,Ie.x=at,ye.y=Ie.y=(Ee+Re)/2;var Fe={x:Jt,y:Ee},He={x:at,y:Ee},We={x:at,y:Re},pt={x:Jt,y:Re};return _e===">"?(Fe.x-=he,He.x-=he,We.x-=he,pt.x-=he):_e==="/"?(We.x-=he,pt.x-=he,ye.x-=he/2,Ie.x-=he/2):_e==="\\"?(Fe.x-=he,He.x-=he,ye.x-=he/2,Ie.x-=he/2):_e==="<"&&(ye.x-=he,Ie.x-=he),Oe(Fe),Oe(pt),Oe(ye),Oe(He),Oe(We),Oe(Ie),"M"+Ce(Fe.x,Fe.y)+"L"+Ce(He.x,He.y)+"L"+Ce(Ie.x,Ie.y)+"L"+Ce(We.x,We.y)+"L"+Ce(pt.x,pt.y)+"L"+Ce(ye.x,ye.y)+"Z"},ie=A[g?"tiling":"marker"].pad,se=function(Ut){return A.textposition.indexOf(Ut)!==-1},ne=se("top"),be=se("left"),De=se("right"),qe=se("bottom"),Ne=function(Ut){var Jt=re(Ut.x0),at=re(Ut.x1),Ee=ue(Ut.y0),Re=ue(Ut.y1),he=at-Jt,ye=Re-Ee;if(!he||!ye)return"";var Ie=A.marker.cornerradius||0,Fe=Math.min(Ie,he/2,ye/2);Fe&&Ut.data&&Ut.data.data&&Ut.data.data.label&&(ne&&(Fe=Math.min(Fe,ie.t)),be&&(Fe=Math.min(Fe,ie.l)),De&&(Fe=Math.min(Fe,ie.r)),qe&&(Fe=Math.min(Fe,ie.b)));var He=function(We,pt){return Fe?"a"+Ce(Fe,Fe)+" 0 0 1 "+Ce(We,pt):""};return"M"+Ce(Jt,Ee+Fe)+He(Fe,-Fe)+"L"+Ce(at-Fe,Ee)+He(Fe,Fe)+"L"+Ce(at,Re-Fe)+He(-Fe,Fe)+"L"+Ce(Jt+Fe,Re)+He(-Fe,-Fe)+"Z"},ut=function(Ut,Jt){var at=Ut.x0,Ee=Ut.x1,Re=Ut.y0,he=Ut.y1,ye=Ut.textBB,Ie=ne||Jt.isHeader&&!qe,Fe=Ie?"start":qe?"end":"middle",He=se("right"),We=se("left")||Jt.onPathbar,pt=We?-1:He?1:0;if(Jt.isHeader){if(at+=(g?ie:ie.l)-l,Ee-=(g?ie:ie.r)-l,at>=Ee){var ct=(at+Ee)/2;at=ct,Ee=ct}var ft;qe?(ft=he-(g?ie:ie.b),Re-1,flipY:R.tiling.flip.indexOf("y")>-1,pad:{inner:R.tiling.pad,top:R.marker.pad.t,left:R.marker.pad.l,right:R.marker.pad.r,bottom:R.marker.pad.b}}),ee=Y.descendants(),te=1/0,ae=-1/0;ee.forEach(function(Z){var X=Z.depth;X>=R._maxDepth?(Z.x0=Z.x1=(Z.x0+Z.x1)/2,Z.y0=Z.y1=(Z.y0+Z.y1)/2):(te=Math.min(te,X),ae=Math.max(ae,X))}),d=d.data(ee,a.getPtId),R._maxVisibleLayers=isFinite(ae)?ae-te+1:0,d.enter().append("g").classed("slice",!0),h(d,i,C,[o,b],E),d.order();var j=null;if(m&&D){var G=a.getPtId(D);d.each(function(Z){j===null&&a.getPtId(Z)===G&&(j={x0:Z.x0,x1:Z.x1,y0:Z.y0,y1:Z.y1})})}var K=function(){return j||{x0:0,x1:o,y0:0,y1:b}},H=d;return m&&(H=H.transition().each("end",function(){var Z=u.select(this);a.setSliceCursor(Z,c,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),H.each(function(Z){var X=a.isHeader(Z,R);Z._x0=M(Z.x0),Z._x1=M(Z.x1),Z._y0=A(Z.y0),Z._y1=A(Z.y1),Z._hoverX=M(Z.x1-R.marker.pad.r),Z._hoverY=A(N?Z.y1-R.marker.pad.b/2:Z.y0+R.marker.pad.t/2);var $=u.select(this),Q=v.ensureSingle($,"path","surface",function(Se){Se.style("pointer-events",F?"none":"all")});m?Q.transition().attrTween("d",function(Se){var Ce=x(Se,i,K(),[o,b]);return function(Ue){return E(Ce(Ue))}}):Q.attr("d",E),$.call(r,f,c,p,{styleOne:e,eventDataKeys:t.eventDataKeys,transitionTime:t.CLICK_TRANSITION_TIME,transitionEasing:t.CLICK_TRANSITION_EASING}).call(a.setSliceCursor,c,{isTransitioning:c._transitioning}),Q.call(e,Z,R,c,{hovered:!1}),Z.x0===Z.x1||Z.y0===Z.y1?Z._text="":X?Z._text=q?"":a.getPtLabel(Z)||"":Z._text=n(Z,f,R,p,I)||"";var re=v.ensureSingle($,"g","slicetext"),ue=v.ensureSingle(re,"text","",function(Se){Se.attr("data-notex",1)}),pe=v.ensureUniformFontSize(c,a.determineTextFont(R,Z,I.font)),ge=Z._text||" ",Te=X&&ge.indexOf("
")===-1;ue.text(ge).classed("slicetext",!0).attr("text-anchor",B?"end":k||Te?"start":"middle").call(w.font,pe).call(S.convertToTspans,c),Z.textBB=w.bBox(ue.node()),Z.transform=g(Z,{fontSize:pe.size,isHeader:X}),Z.transform.fontSize=pe.size,m?ue.transition().attrTween("transform",function(Se){var Ce=_(Se,i,K(),[o,b]);return function(Ue){return T(Ce(Ue))}}):ue.attr("transform",T(Z))}),j}}}),Rk=xe({"src/traces/treemap/plot.js"(U,O){"use strict";var u=k2(),v=Dk();O.exports=function(S,l,e,t){return u(S,l,e,t,{type:"treemap",drawDescendants:v})}}}),Fk=xe({"src/traces/treemap/index.js"(U,O){"use strict";O.exports={moduleType:"trace",name:"treemap",basePlotModule:kk(),categories:[],animatable:!0,attributes:L1(),layoutAttributes:A2(),supplyDefaults:Ck(),supplyLayoutDefaults:Lk(),calc:M2().calc,crossTraceCalc:M2().crossTraceCalc,plot:Rk(),style:P1().style,colorbar:pf(),meta:{}}}}),zk=xe({"lib/treemap.js"(U,O){"use strict";O.exports=Fk()}}),Bk=xe({"src/traces/icicle/base_plot.js"(U){"use strict";var O=zl();U.name="icicle",U.plot=function(u,v,w,S){O.plotBasePlot(U.name,u,v,w,S)},U.clean=function(u,v,w,S){O.cleanBasePlot(U.name,u,v,w,S)}}}),C2=xe({"src/traces/icicle/attributes.js"(U,O){"use strict";var{hovertemplateAttrs:u,texttemplateAttrs:v,templatefallbackAttrs:w}=js(),S=pl(),l=Gl().attributes,e=Cv(),t=L0(),a=L1(),r=Bv(),n=oo().extendFlat,i=Rc().pattern;O.exports={labels:t.labels,parents:t.parents,values:t.values,branchvalues:t.branchvalues,count:t.count,level:t.level,maxdepth:t.maxdepth,tiling:{orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"plot"},flip:a.tiling.flip,pad:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},marker:n({colors:t.marker.colors,line:t.marker.line,pattern:i,editType:"calc"},S("marker",{colorAttr:"colors",anim:!1})),leaf:t.leaf,pathbar:a.pathbar,text:e.text,textinfo:t.textinfo,texttemplate:v({editType:"plot"},{keys:r.eventDataKeys.concat(["label","value"])}),texttemplatefallback:w({editType:"plot"}),hovertext:e.hovertext,hoverinfo:t.hoverinfo,hovertemplate:u({},{keys:r.eventDataKeys}),hovertemplatefallback:w(),textfont:e.textfont,insidetextfont:e.insidetextfont,outsidetextfont:a.outsidetextfont,textposition:a.textposition,sort:e.sort,root:t.root,domain:l({name:"icicle",trace:!0,editType:"calc"})}}}),L2=xe({"src/traces/icicle/layout_attributes.js"(U,O){"use strict";O.exports={iciclecolorway:{valType:"colorlist",editType:"calc"},extendiciclecolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),Nk=xe({"src/traces/icicle/defaults.js"(U,O){"use strict";var u=Sr(),v=C2(),w=wi(),S=Gl().defaults,l=sh().handleText,e=Ud().TEXTPAD,t=Lv().handleMarkerDefaults,a=Bl(),r=a.hasColorscale,n=a.handleDefaults;O.exports=function(s,c,p,f){function d(T,m){return u.coerce(s,c,v,T,m)}var y=d("labels"),o=d("parents");if(!y||!y.length||!o||!o.length){c.visible=!1;return}var b=d("values");b&&b.length?d("branchvalues"):d("count"),d("level"),d("maxdepth"),d("tiling.orientation"),d("tiling.flip"),d("tiling.pad");var M=d("text");d("texttemplate"),d("texttemplatefallback"),c.texttemplate||d("textinfo",u.isArrayOrTypedArray(M)?"text+label":"label"),d("hovertext"),d("hovertemplate"),d("hovertemplatefallback");var A=d("pathbar.visible"),E="auto";l(s,c,f,d,E,{hasPathbar:A,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),d("textposition"),t(s,c,f,d);var g=c._hasColorscale=r(s,"marker","colors")||(s.marker||{}).coloraxis;g&&n(s,c,f,d,{prefix:"marker.",cLetter:"c"}),d("leaf.opacity",g?1:.7),c._hovered={marker:{line:{width:2,color:w.contrast(f.paper_bgcolor)}}},A&&(d("pathbar.thickness",c.pathbar.textfont.size+2*e),d("pathbar.side"),d("pathbar.edgeshape")),d("sort"),d("root.color"),S(c,f,d),c._length=null}}}),Ok=xe({"src/traces/icicle/layout_defaults.js"(U,O){"use strict";var u=Sr(),v=L2();O.exports=function(S,l){function e(t,a){return u.coerce(S,l,v,t,a)}e("iciclecolorway",l.colorway),e("extendiciclecolors")}}}),P2=xe({"src/traces/icicle/calc.js"(U){"use strict";var O=I0();U.calc=function(u,v){return O.calc(u,v)},U.crossTraceCalc=function(u){return O._runCrossTraceCalc("icicle",u)}}}),Uk=xe({"src/traces/icicle/partition.js"(U,O){"use strict";var u=P0(),v=S2();O.exports=function(S,l,e){var t=e.flipX,a=e.flipY,r=e.orientation==="h",n=e.maxDepth,i=l[0],s=l[1];n&&(i=(S.height+1)*l[0]/Math.min(S.height+1,n),s=(S.height+1)*l[1]/Math.min(S.height+1,n));var c=u.partition().padding(e.pad.inner).size(r?[l[1],i]:[l[0],s])(S);return(r||t||a)&&v(c,l,{swapXY:r,flipX:t,flipY:a}),c}}}),I2=xe({"src/traces/icicle/style.js"(U,O){"use strict";var u=Na(),v=wi(),w=Sr(),S=wf().resizeText,l=k1();function e(a){var r=a._fullLayout._iciclelayer.selectAll(".trace");S(a,r,"icicle"),r.each(function(n){var i=u.select(this),s=n[0],c=s.trace;i.style("opacity",c.opacity),i.selectAll("path.surface").each(function(p){u.select(this).call(t,p,c,a)})})}function t(a,r,n,i){var s=r.data.data,c=!r.children,p=s.i,f=w.castOption(n,p,"marker.line.color")||v.defaultLine,d=w.castOption(n,p,"marker.line.width")||0;a.call(l,r,n,i).style("stroke-width",d).call(v.stroke,f).style("opacity",c?n.leaf.opacity:null)}O.exports={style:e,styleOne:t}}}),jk=xe({"src/traces/icicle/draw_descendants.js"(U,O){"use strict";var u=Na(),v=Sr(),w=go(),S=el(),l=Uk(),e=I2().styleOne,t=Bv(),a=md(),r=X0(),n=C1().formatSliceLabel,i=!1;O.exports=function(c,p,f,d,y){var o=y.width,b=y.height,M=y.viewX,A=y.viewY,E=y.pathSlice,g=y.toMoveInsideSlice,T=y.strTransform,m=y.hasTransition,h=y.handleSlicesExit,x=y.makeUpdateSliceInterpolator,_=y.makeUpdateTextInterpolator,D=y.prevEntry,C={},F=c._context.staticPlot,I=c._fullLayout,z=p[0],R=z.trace,k=R.textposition.indexOf("left")!==-1,B=R.textposition.indexOf("right")!==-1,N=R.textposition.indexOf("bottom")!==-1,q=l(f,[o,b],{flipX:R.tiling.flip.indexOf("x")>-1,flipY:R.tiling.flip.indexOf("y")>-1,orientation:R.tiling.orientation,pad:{inner:R.tiling.pad},maxDepth:R._maxDepth}),Y=q.descendants(),ee=1/0,te=-1/0;Y.forEach(function(H){var Z=H.depth;Z>=R._maxDepth?(H.x0=H.x1=(H.x0+H.x1)/2,H.y0=H.y1=(H.y0+H.y1)/2):(ee=Math.min(ee,Z),te=Math.max(te,Z))}),d=d.data(Y,a.getPtId),R._maxVisibleLayers=isFinite(te)?te-ee+1:0,d.enter().append("g").classed("slice",!0),h(d,i,C,[o,b],E),d.order();var ae=null;if(m&&D){var j=a.getPtId(D);d.each(function(H){ae===null&&a.getPtId(H)===j&&(ae={x0:H.x0,x1:H.x1,y0:H.y0,y1:H.y1})})}var G=function(){return ae||{x0:0,x1:o,y0:0,y1:b}},K=d;return m&&(K=K.transition().each("end",function(){var H=u.select(this);a.setSliceCursor(H,c,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),K.each(function(H){H._x0=M(H.x0),H._x1=M(H.x1),H._y0=A(H.y0),H._y1=A(H.y1),H._hoverX=M(H.x1-R.tiling.pad),H._hoverY=A(N?H.y1-R.tiling.pad/2:H.y0+R.tiling.pad/2);var Z=u.select(this),X=v.ensureSingle(Z,"path","surface",function(ue){ue.style("pointer-events",F?"none":"all")});m?X.transition().attrTween("d",function(ue){var pe=x(ue,i,G(),[o,b],{orientation:R.tiling.orientation,flipX:R.tiling.flip.indexOf("x")>-1,flipY:R.tiling.flip.indexOf("y")>-1});return function(ge){return E(pe(ge))}}):X.attr("d",E),Z.call(r,f,c,p,{styleOne:e,eventDataKeys:t.eventDataKeys,transitionTime:t.CLICK_TRANSITION_TIME,transitionEasing:t.CLICK_TRANSITION_EASING}).call(a.setSliceCursor,c,{isTransitioning:c._transitioning}),X.call(e,H,R,c,{hovered:!1}),H.x0===H.x1||H.y0===H.y1?H._text="":H._text=n(H,f,R,p,I)||"";var $=v.ensureSingle(Z,"g","slicetext"),Q=v.ensureSingle($,"text","",function(ue){ue.attr("data-notex",1)}),re=v.ensureUniformFontSize(c,a.determineTextFont(R,H,I.font));Q.text(H._text||" ").classed("slicetext",!0).attr("text-anchor",B?"end":k?"start":"middle").call(w.font,re).call(S.convertToTspans,c),H.textBB=w.bBox(Q.node()),H.transform=g(H,{fontSize:re.size}),H.transform.fontSize=re.size,m?Q.transition().attrTween("transform",function(ue){var pe=_(ue,i,G(),[o,b]);return function(ge){return T(pe(ge))}}):Q.attr("transform",T(H))}),ae}}}),qk=xe({"src/traces/icicle/plot.js"(U,O){"use strict";var u=k2(),v=jk();O.exports=function(S,l,e,t){return u(S,l,e,t,{type:"icicle",drawDescendants:v})}}}),Vk=xe({"src/traces/icicle/index.js"(U,O){"use strict";O.exports={moduleType:"trace",name:"icicle",basePlotModule:Bk(),categories:[],animatable:!0,attributes:C2(),layoutAttributes:L2(),supplyDefaults:Nk(),supplyLayoutDefaults:Ok(),calc:P2().calc,crossTraceCalc:P2().crossTraceCalc,plot:qk(),style:I2().style,colorbar:pf(),meta:{}}}}),Hk=xe({"lib/icicle.js"(U,O){"use strict";O.exports=Vk()}}),Gk=xe({"src/traces/funnelarea/base_plot.js"(U){"use strict";var O=zl();U.name="funnelarea",U.plot=function(u,v,w,S){O.plotBasePlot(U.name,u,v,w,S)},U.clean=function(u,v,w,S){O.cleanBasePlot(U.name,u,v,w,S)}}}),D2=xe({"src/traces/funnelarea/attributes.js"(U,O){"use strict";var u=Cv(),v=Rs(),w=Gl().attributes,{hovertemplateAttrs:S,texttemplateAttrs:l,templatefallbackAttrs:e}=js(),t=oo().extendFlat;O.exports={labels:u.labels,label0:u.label0,dlabel:u.dlabel,values:u.values,marker:{colors:u.marker.colors,line:{color:t({},u.marker.line.color,{dflt:null}),width:t({},u.marker.line.width,{dflt:1}),editType:"calc"},pattern:u.marker.pattern,editType:"calc"},text:u.text,hovertext:u.hovertext,scalegroup:t({},u.scalegroup,{}),textinfo:t({},u.textinfo,{flags:["label","text","value","percent"]}),texttemplate:l({editType:"plot"},{keys:["label","color","value","text","percent"]}),texttemplatefallback:e({editType:"plot"}),hoverinfo:t({},v.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:S({},{keys:["label","color","value","text","percent"]}),hovertemplatefallback:e(),textposition:t({},u.textposition,{values:["inside","none"],dflt:"inside"}),textfont:u.textfont,insidetextfont:u.insidetextfont,title:{text:u.title.text,font:u.title.font,position:t({},u.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:w({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"}}}}),R2=xe({"src/traces/funnelarea/layout_attributes.js"(U,O){"use strict";var u=Jg().hiddenlabels;O.exports={hiddenlabels:u,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),Wk=xe({"src/traces/funnelarea/defaults.js"(U,O){"use strict";var u=Sr(),v=D2(),w=Gl().defaults,S=sh().handleText,l=Lv().handleLabelsAndValues,e=Lv().handleMarkerDefaults;O.exports=function(a,r,n,i){function s(E,g){return u.coerce(a,r,v,E,g)}var c=s("labels"),p=s("values"),f=l(c,p),d=f.len;if(r._hasLabels=f.hasLabels,r._hasValues=f.hasValues,!r._hasLabels&&r._hasValues&&(s("label0"),s("dlabel")),!d){r.visible=!1;return}r._length=d,e(a,r,i,s),s("scalegroup");var y=s("text"),o=s("texttemplate");s("texttemplatefallback");var b;if(o||(b=s("textinfo",Array.isArray(y)?"text+percent":"percent")),s("hovertext"),s("hovertemplate"),s("hovertemplatefallback"),o||b&&b!=="none"){var M=s("textposition");S(a,r,i,s,M,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else b==="none"&&s("textposition","none");w(r,i,s);var A=s("title.text");A&&(s("title.position"),u.coerceFont(s,"title.font",i.font)),s("aspectratio"),s("baseratio")}}}),Yk=xe({"src/traces/funnelarea/layout_defaults.js"(U,O){"use strict";var u=Sr(),v=R2();O.exports=function(S,l){function e(t,a){return u.coerce(S,l,v,t,a)}e("hiddenlabels"),e("funnelareacolorway",l.colorway),e("extendfunnelareacolors")}}}),F2=xe({"src/traces/funnelarea/calc.js"(U,O){"use strict";var u=Ap();function v(S,l){return u.calc(S,l)}function w(S){u.crossTraceCalc(S,{type:"funnelarea"})}O.exports={calc:v,crossTraceCalc:w}}}),Xk=xe({"src/traces/funnelarea/plot.js"(U,O){"use strict";var u=Na(),v=go(),w=Sr(),S=w.strScale,l=w.strTranslate,e=el(),t=Tv(),a=t.toMoveInsideBar,r=wf(),n=r.recordMinTextSize,i=r.clearMinTextSize,s=zd(),c=Qg(),p=c.attachFxHandlers,f=c.determineInsideTextFont,d=c.layoutAreas,y=c.prerenderTitles,o=c.positionTitleOutside,b=c.formatSliceLabel;O.exports=function(T,m){var h=T._context.staticPlot,x=T._fullLayout;i("funnelarea",x),y(m,T),d(m,x._size),w.makeTraceGroups(x._funnelarealayer,m,"trace").each(function(_){var D=u.select(this),C=_[0],F=C.trace;E(_),D.each(function(){var I=u.select(this).selectAll("g.slice").data(_);I.enter().append("g").classed("slice",!0),I.exit().remove(),I.each(function(R,k){if(R.hidden){u.select(this).selectAll("path,g").remove();return}R.pointNumber=R.i,R.curveNumber=F.index;var B=C.cx,N=C.cy,q=u.select(this),Y=q.selectAll("path.surface").data([R]);Y.enter().append("path").classed("surface",!0).style({"pointer-events":h?"none":"all"}),q.call(p,T,_);var ee="M"+(B+R.TR[0])+","+(N+R.TR[1])+M(R.TR,R.BR)+M(R.BR,R.BL)+M(R.BL,R.TL)+"Z";Y.attr("d",ee),b(T,R,C);var te=s.castOption(F.textposition,R.pts),ae=q.selectAll("g.slicetext").data(R.text&&te!=="none"?[0]:[]);ae.enter().append("g").classed("slicetext",!0),ae.exit().remove(),ae.each(function(){var j=w.ensureSingle(u.select(this),"text","",function(re){re.attr("data-notex",1)}),G=w.ensureUniformFontSize(T,f(F,R,x.font));j.text(R.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(v.font,G).call(e.convertToTspans,T);var K=v.bBox(j.node()),H,Z,X,$=Math.min(R.BL[1],R.BR[1])+N,Q=Math.max(R.TL[1],R.TR[1])+N;Z=Math.max(R.TL[0],R.BL[0])+B,X=Math.min(R.TR[0],R.BR[0])+B,H=a(Z,X,$,Q,K,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"}),H.fontSize=G.size,n(F.type,H,x),_[k].transform=H,w.setTransormAndDisplay(j,H)})});var z=u.select(this).selectAll("g.titletext").data(F.title.text?[0]:[]);z.enter().append("g").classed("titletext",!0),z.exit().remove(),z.each(function(){var R=w.ensureSingle(u.select(this),"text","",function(N){N.attr("data-notex",1)}),k=F.title.text;F._meta&&(k=w.templateString(k,F._meta)),R.text(k).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(v.font,F.title.font).call(e.convertToTspans,T);var B=o(C,x._size);R.attr("transform",l(B.x,B.y)+S(Math.min(1,B.scale))+l(B.tx,B.ty))})})})};function M(g,T){var m=T[0]-g[0],h=T[1]-g[1];return"l"+m+","+h}function A(g,T){return[.5*(g[0]+T[0]),.5*(g[1]+T[1])]}function E(g){if(!g.length)return;var T=g[0],m=T.trace,h=m.aspectratio,x=m.baseratio;x>.999&&(x=.999);var _=Math.pow(x,2),D=T.vTotal,C=D*_/(1-_),F=D,I=C/D;function z(){var ue=Math.sqrt(I);return{x:ue,y:-ue}}function R(){var ue=z();return[ue.x,ue.y]}var k,B=[];B.push(R());var N,q;for(N=g.length-1;N>-1;N--)if(q=g[N],!q.hidden){var Y=q.v/F;I+=Y,B.push(R())}var ee=1/0,te=-1/0;for(N=0;N-1;N--)if(q=g[N],!q.hidden){$+=1;var Q=B[$][0],re=B[$][1];q.TL=[-Q,re],q.TR=[Q,re],q.BL=Z,q.BR=X,q.pxmid=A(q.TR,q.BR),Z=q.TL,X=q.TR}}}}),$k=xe({"src/traces/funnelarea/style.js"(U,O){"use strict";var u=Na(),v=up(),w=wf().resizeText;O.exports=function(l){var e=l._fullLayout._funnelarealayer.selectAll(".trace");w(l,e,"funnelarea"),e.each(function(t){var a=t[0],r=a.trace,n=u.select(this);n.style({opacity:r.opacity}),n.selectAll("path.surface").each(function(i){u.select(this).call(v,i,r,l)})})}}}),Zk=xe({"src/traces/funnelarea/index.js"(U,O){"use strict";O.exports={moduleType:"trace",name:"funnelarea",basePlotModule:Gk(),categories:["pie-like","funnelarea","showLegend"],attributes:D2(),layoutAttributes:R2(),supplyDefaults:Wk(),supplyLayoutDefaults:Yk(),calc:F2().calc,crossTraceCalc:F2().crossTraceCalc,plot:Xk(),style:$k(),styleOne:up(),meta:{}}}}),Kk=xe({"lib/funnelarea.js"(U,O){"use strict";O.exports=Zk()}}),Jc=xe({"stackgl_modules/index.js"(U,O){"use strict";(function(){var u={1964:function(l,e,t){l.exports={alpha_shape:t(3502),convex_hull:t(7352),delaunay_triangulate:t(7642),gl_cone3d:t(6405),gl_error3d:t(9165),gl_line3d:t(5714),gl_mesh3d:t(7201),gl_plot3d:t(4100),gl_scatter3d:t(8418),gl_streamtube3d:t(7815),gl_surface3d:t(9499),ndarray:t(9618),ndarray_linear_interpolate:t(4317)}},4793:function(l,e,t){"use strict";var a,r=t(7507),n=t(3778),i=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;e.hp=f,a=h,e.IS=50;var s=2147483647;a=s,f.TYPED_ARRAY_SUPPORT=c(),!f.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 c(){try{var _e=new Uint8Array(1),ce={foo:function(){return 42}};return Object.setPrototypeOf(ce,Uint8Array.prototype),Object.setPrototypeOf(_e,ce),_e.foo()===42}catch{return!1}}Object.defineProperty(f.prototype,"parent",{enumerable:!0,get:function(){if(f.isBuffer(this))return this.buffer}}),Object.defineProperty(f.prototype,"offset",{enumerable:!0,get:function(){if(f.isBuffer(this))return this.byteOffset}});function p(_e){if(_e>s)throw new RangeError('The value "'+_e+'" is invalid for option "size"');var ce=new Uint8Array(_e);return Object.setPrototypeOf(ce,f.prototype),ce}function f(_e,ce,ie){if(typeof _e=="number"){if(typeof ce=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return b(_e)}return d(_e,ce,ie)}f.poolSize=8192;function d(_e,ce,ie){if(typeof _e=="string")return M(_e,ce);if(ArrayBuffer.isView(_e))return E(_e);if(_e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof _e);if(Ce(_e,ArrayBuffer)||_e&&Ce(_e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Ce(_e,SharedArrayBuffer)||_e&&Ce(_e.buffer,SharedArrayBuffer)))return g(_e,ce,ie);if(typeof _e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var se=_e.valueOf&&_e.valueOf();if(se!=null&&se!==_e)return f.from(se,ce,ie);var ne=T(_e);if(ne)return ne;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof _e[Symbol.toPrimitive]=="function")return f.from(_e[Symbol.toPrimitive]("string"),ce,ie);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof _e)}f.from=function(_e,ce,ie){return d(_e,ce,ie)},Object.setPrototypeOf(f.prototype,Uint8Array.prototype),Object.setPrototypeOf(f,Uint8Array);function y(_e){if(typeof _e!="number")throw new TypeError('"size" argument must be of type number');if(_e<0)throw new RangeError('The value "'+_e+'" is invalid for option "size"')}function o(_e,ce,ie){return y(_e),_e<=0?p(_e):ce!==void 0?typeof ie=="string"?p(_e).fill(ce,ie):p(_e).fill(ce):p(_e)}f.alloc=function(_e,ce,ie){return o(_e,ce,ie)};function b(_e){return y(_e),p(_e<0?0:m(_e)|0)}f.allocUnsafe=function(_e){return b(_e)},f.allocUnsafeSlow=function(_e){return b(_e)};function M(_e,ce){if((typeof ce!="string"||ce==="")&&(ce="utf8"),!f.isEncoding(ce))throw new TypeError("Unknown encoding: "+ce);var ie=x(_e,ce)|0,se=p(ie),ne=se.write(_e,ce);return ne!==ie&&(se=se.slice(0,ne)),se}function A(_e){for(var ce=_e.length<0?0:m(_e.length)|0,ie=p(ce),se=0;se=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return _e|0}function h(_e){return+_e!=_e&&(_e=0),f.alloc(+_e)}f.isBuffer=function(ce){return ce!=null&&ce._isBuffer===!0&&ce!==f.prototype},f.compare=function(ce,ie){if(Ce(ce,Uint8Array)&&(ce=f.from(ce,ce.offset,ce.byteLength)),Ce(ie,Uint8Array)&&(ie=f.from(ie,ie.offset,ie.byteLength)),!f.isBuffer(ce)||!f.isBuffer(ie))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(ce===ie)return 0;for(var se=ce.length,ne=ie.length,be=0,De=Math.min(se,ne);bene.length?f.from(De).copy(ne,be):Uint8Array.prototype.set.call(ne,De,be);else if(f.isBuffer(De))De.copy(ne,be);else throw new TypeError('"list" argument must be an Array of Buffers');be+=De.length}return ne};function x(_e,ce){if(f.isBuffer(_e))return _e.length;if(ArrayBuffer.isView(_e)||Ce(_e,ArrayBuffer))return _e.byteLength;if(typeof _e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof _e);var ie=_e.length,se=arguments.length>2&&arguments[2]===!0;if(!se&&ie===0)return 0;for(var ne=!1;;)switch(ce){case"ascii":case"latin1":case"binary":return ie;case"utf8":case"utf-8":return ue(_e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ie*2;case"hex":return ie>>>1;case"base64":return Te(_e).length;default:if(ne)return se?-1:ue(_e).length;ce=(""+ce).toLowerCase(),ne=!0}}f.byteLength=x;function _(_e,ce,ie){var se=!1;if((ce===void 0||ce<0)&&(ce=0),ce>this.length||((ie===void 0||ie>this.length)&&(ie=this.length),ie<=0)||(ie>>>=0,ce>>>=0,ie<=ce))return"";for(_e||(_e="utf8");;)switch(_e){case"hex":return j(this,ce,ie);case"utf8":case"utf-8":return q(this,ce,ie);case"ascii":return te(this,ce,ie);case"latin1":case"binary":return ae(this,ce,ie);case"base64":return N(this,ce,ie);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return G(this,ce,ie);default:if(se)throw new TypeError("Unknown encoding: "+_e);_e=(_e+"").toLowerCase(),se=!0}}f.prototype._isBuffer=!0;function D(_e,ce,ie){var se=_e[ce];_e[ce]=_e[ie],_e[ie]=se}f.prototype.swap16=function(){var ce=this.length;if(ce%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var ie=0;ieie&&(ce+=" ... "),""},i&&(f.prototype[i]=f.prototype.inspect),f.prototype.compare=function(ce,ie,se,ne,be){if(Ce(ce,Uint8Array)&&(ce=f.from(ce,ce.offset,ce.byteLength)),!f.isBuffer(ce))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof ce);if(ie===void 0&&(ie=0),se===void 0&&(se=ce?ce.length:0),ne===void 0&&(ne=0),be===void 0&&(be=this.length),ie<0||se>ce.length||ne<0||be>this.length)throw new RangeError("out of range index");if(ne>=be&&ie>=se)return 0;if(ne>=be)return-1;if(ie>=se)return 1;if(ie>>>=0,se>>>=0,ne>>>=0,be>>>=0,this===ce)return 0;for(var De=be-ne,qe=se-ie,Ne=Math.min(De,qe),ut=this.slice(ne,be),ot=ce.slice(ie,se),yt=0;yt2147483647?ie=2147483647:ie<-2147483648&&(ie=-2147483648),ie=+ie,Ue(ie)&&(ie=ne?0:_e.length-1),ie<0&&(ie=_e.length+ie),ie>=_e.length){if(ne)return-1;ie=_e.length-1}else if(ie<0)if(ne)ie=0;else return-1;if(typeof ce=="string"&&(ce=f.from(ce,se)),f.isBuffer(ce))return ce.length===0?-1:F(_e,ce,ie,se,ne);if(typeof ce=="number")return ce=ce&255,typeof Uint8Array.prototype.indexOf=="function"?ne?Uint8Array.prototype.indexOf.call(_e,ce,ie):Uint8Array.prototype.lastIndexOf.call(_e,ce,ie):F(_e,[ce],ie,se,ne);throw new TypeError("val must be string, number or Buffer")}function F(_e,ce,ie,se,ne){var be=1,De=_e.length,qe=ce.length;if(se!==void 0&&(se=String(se).toLowerCase(),se==="ucs2"||se==="ucs-2"||se==="utf16le"||se==="utf-16le")){if(_e.length<2||ce.length<2)return-1;be=2,De/=2,qe/=2,ie/=2}function Ne(It,Zt){return be===1?It[Zt]:It.readUInt16BE(Zt*be)}var ut;if(ne){var ot=-1;for(ut=ie;utDe&&(ie=De-qe),ut=ie;ut>=0;ut--){for(var yt=!0,At=0;Atne&&(se=ne)):se=ne;var be=ce.length;se>be/2&&(se=be/2);for(var De=0;De>>0,isFinite(se)?(se=se>>>0,ne===void 0&&(ne="utf8")):(ne=se,se=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var be=this.length-ie;if((se===void 0||se>be)&&(se=be),ce.length>0&&(se<0||ie<0)||ie>this.length)throw new RangeError("Attempt to write outside buffer bounds");ne||(ne="utf8");for(var De=!1;;)switch(ne){case"hex":return I(this,ce,ie,se);case"utf8":case"utf-8":return z(this,ce,ie,se);case"ascii":case"latin1":case"binary":return R(this,ce,ie,se);case"base64":return k(this,ce,ie,se);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,ce,ie,se);default:if(De)throw new TypeError("Unknown encoding: "+ne);ne=(""+ne).toLowerCase(),De=!0}},f.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function N(_e,ce,ie){return ce===0&&ie===_e.length?r.fromByteArray(_e):r.fromByteArray(_e.slice(ce,ie))}function q(_e,ce,ie){ie=Math.min(_e.length,ie);for(var se=[],ne=ce;ne239?4:be>223?3:be>191?2:1;if(ne+qe<=ie){var Ne,ut,ot,yt;switch(qe){case 1:be<128&&(De=be);break;case 2:Ne=_e[ne+1],(Ne&192)===128&&(yt=(be&31)<<6|Ne&63,yt>127&&(De=yt));break;case 3:Ne=_e[ne+1],ut=_e[ne+2],(Ne&192)===128&&(ut&192)===128&&(yt=(be&15)<<12|(Ne&63)<<6|ut&63,yt>2047&&(yt<55296||yt>57343)&&(De=yt));break;case 4:Ne=_e[ne+1],ut=_e[ne+2],ot=_e[ne+3],(Ne&192)===128&&(ut&192)===128&&(ot&192)===128&&(yt=(be&15)<<18|(Ne&63)<<12|(ut&63)<<6|ot&63,yt>65535&&yt<1114112&&(De=yt))}}De===null?(De=65533,qe=1):De>65535&&(De-=65536,se.push(De>>>10&1023|55296),De=56320|De&1023),se.push(De),ne+=qe}return ee(se)}var Y=4096;function ee(_e){var ce=_e.length;if(ce<=Y)return String.fromCharCode.apply(String,_e);for(var ie="",se=0;sese)&&(ie=se);for(var ne="",be=ce;bese&&(ce=se),ie<0?(ie+=se,ie<0&&(ie=0)):ie>se&&(ie=se),ieie)throw new RangeError("Trying to access beyond buffer length")}f.prototype.readUintLE=f.prototype.readUIntLE=function(ce,ie,se){ce=ce>>>0,ie=ie>>>0,se||K(ce,ie,this.length);for(var ne=this[ce],be=1,De=0;++De>>0,ie=ie>>>0,se||K(ce,ie,this.length);for(var ne=this[ce+--ie],be=1;ie>0&&(be*=256);)ne+=this[ce+--ie]*be;return ne},f.prototype.readUint8=f.prototype.readUInt8=function(ce,ie){return ce=ce>>>0,ie||K(ce,1,this.length),this[ce]},f.prototype.readUint16LE=f.prototype.readUInt16LE=function(ce,ie){return ce=ce>>>0,ie||K(ce,2,this.length),this[ce]|this[ce+1]<<8},f.prototype.readUint16BE=f.prototype.readUInt16BE=function(ce,ie){return ce=ce>>>0,ie||K(ce,2,this.length),this[ce]<<8|this[ce+1]},f.prototype.readUint32LE=f.prototype.readUInt32LE=function(ce,ie){return ce=ce>>>0,ie||K(ce,4,this.length),(this[ce]|this[ce+1]<<8|this[ce+2]<<16)+this[ce+3]*16777216},f.prototype.readUint32BE=f.prototype.readUInt32BE=function(ce,ie){return ce=ce>>>0,ie||K(ce,4,this.length),this[ce]*16777216+(this[ce+1]<<16|this[ce+2]<<8|this[ce+3])},f.prototype.readIntLE=function(ce,ie,se){ce=ce>>>0,ie=ie>>>0,se||K(ce,ie,this.length);for(var ne=this[ce],be=1,De=0;++De=be&&(ne-=Math.pow(2,8*ie)),ne},f.prototype.readIntBE=function(ce,ie,se){ce=ce>>>0,ie=ie>>>0,se||K(ce,ie,this.length);for(var ne=ie,be=1,De=this[ce+--ne];ne>0&&(be*=256);)De+=this[ce+--ne]*be;return be*=128,De>=be&&(De-=Math.pow(2,8*ie)),De},f.prototype.readInt8=function(ce,ie){return ce=ce>>>0,ie||K(ce,1,this.length),this[ce]&128?(255-this[ce]+1)*-1:this[ce]},f.prototype.readInt16LE=function(ce,ie){ce=ce>>>0,ie||K(ce,2,this.length);var se=this[ce]|this[ce+1]<<8;return se&32768?se|4294901760:se},f.prototype.readInt16BE=function(ce,ie){ce=ce>>>0,ie||K(ce,2,this.length);var se=this[ce+1]|this[ce]<<8;return se&32768?se|4294901760:se},f.prototype.readInt32LE=function(ce,ie){return ce=ce>>>0,ie||K(ce,4,this.length),this[ce]|this[ce+1]<<8|this[ce+2]<<16|this[ce+3]<<24},f.prototype.readInt32BE=function(ce,ie){return ce=ce>>>0,ie||K(ce,4,this.length),this[ce]<<24|this[ce+1]<<16|this[ce+2]<<8|this[ce+3]},f.prototype.readFloatLE=function(ce,ie){return ce=ce>>>0,ie||K(ce,4,this.length),n.read(this,ce,!0,23,4)},f.prototype.readFloatBE=function(ce,ie){return ce=ce>>>0,ie||K(ce,4,this.length),n.read(this,ce,!1,23,4)},f.prototype.readDoubleLE=function(ce,ie){return ce=ce>>>0,ie||K(ce,8,this.length),n.read(this,ce,!0,52,8)},f.prototype.readDoubleBE=function(ce,ie){return ce=ce>>>0,ie||K(ce,8,this.length),n.read(this,ce,!1,52,8)};function H(_e,ce,ie,se,ne,be){if(!f.isBuffer(_e))throw new TypeError('"buffer" argument must be a Buffer instance');if(ce>ne||ce_e.length)throw new RangeError("Index out of range")}f.prototype.writeUintLE=f.prototype.writeUIntLE=function(ce,ie,se,ne){if(ce=+ce,ie=ie>>>0,se=se>>>0,!ne){var be=Math.pow(2,8*se)-1;H(this,ce,ie,se,be,0)}var De=1,qe=0;for(this[ie]=ce&255;++qe>>0,se=se>>>0,!ne){var be=Math.pow(2,8*se)-1;H(this,ce,ie,se,be,0)}var De=se-1,qe=1;for(this[ie+De]=ce&255;--De>=0&&(qe*=256);)this[ie+De]=ce/qe&255;return ie+se},f.prototype.writeUint8=f.prototype.writeUInt8=function(ce,ie,se){return ce=+ce,ie=ie>>>0,se||H(this,ce,ie,1,255,0),this[ie]=ce&255,ie+1},f.prototype.writeUint16LE=f.prototype.writeUInt16LE=function(ce,ie,se){return ce=+ce,ie=ie>>>0,se||H(this,ce,ie,2,65535,0),this[ie]=ce&255,this[ie+1]=ce>>>8,ie+2},f.prototype.writeUint16BE=f.prototype.writeUInt16BE=function(ce,ie,se){return ce=+ce,ie=ie>>>0,se||H(this,ce,ie,2,65535,0),this[ie]=ce>>>8,this[ie+1]=ce&255,ie+2},f.prototype.writeUint32LE=f.prototype.writeUInt32LE=function(ce,ie,se){return ce=+ce,ie=ie>>>0,se||H(this,ce,ie,4,4294967295,0),this[ie+3]=ce>>>24,this[ie+2]=ce>>>16,this[ie+1]=ce>>>8,this[ie]=ce&255,ie+4},f.prototype.writeUint32BE=f.prototype.writeUInt32BE=function(ce,ie,se){return ce=+ce,ie=ie>>>0,se||H(this,ce,ie,4,4294967295,0),this[ie]=ce>>>24,this[ie+1]=ce>>>16,this[ie+2]=ce>>>8,this[ie+3]=ce&255,ie+4},f.prototype.writeIntLE=function(ce,ie,se,ne){if(ce=+ce,ie=ie>>>0,!ne){var be=Math.pow(2,8*se-1);H(this,ce,ie,se,be-1,-be)}var De=0,qe=1,Ne=0;for(this[ie]=ce&255;++De>0)-Ne&255;return ie+se},f.prototype.writeIntBE=function(ce,ie,se,ne){if(ce=+ce,ie=ie>>>0,!ne){var be=Math.pow(2,8*se-1);H(this,ce,ie,se,be-1,-be)}var De=se-1,qe=1,Ne=0;for(this[ie+De]=ce&255;--De>=0&&(qe*=256);)ce<0&&Ne===0&&this[ie+De+1]!==0&&(Ne=1),this[ie+De]=(ce/qe>>0)-Ne&255;return ie+se},f.prototype.writeInt8=function(ce,ie,se){return ce=+ce,ie=ie>>>0,se||H(this,ce,ie,1,127,-128),ce<0&&(ce=255+ce+1),this[ie]=ce&255,ie+1},f.prototype.writeInt16LE=function(ce,ie,se){return ce=+ce,ie=ie>>>0,se||H(this,ce,ie,2,32767,-32768),this[ie]=ce&255,this[ie+1]=ce>>>8,ie+2},f.prototype.writeInt16BE=function(ce,ie,se){return ce=+ce,ie=ie>>>0,se||H(this,ce,ie,2,32767,-32768),this[ie]=ce>>>8,this[ie+1]=ce&255,ie+2},f.prototype.writeInt32LE=function(ce,ie,se){return ce=+ce,ie=ie>>>0,se||H(this,ce,ie,4,2147483647,-2147483648),this[ie]=ce&255,this[ie+1]=ce>>>8,this[ie+2]=ce>>>16,this[ie+3]=ce>>>24,ie+4},f.prototype.writeInt32BE=function(ce,ie,se){return ce=+ce,ie=ie>>>0,se||H(this,ce,ie,4,2147483647,-2147483648),ce<0&&(ce=4294967295+ce+1),this[ie]=ce>>>24,this[ie+1]=ce>>>16,this[ie+2]=ce>>>8,this[ie+3]=ce&255,ie+4};function Z(_e,ce,ie,se,ne,be){if(ie+se>_e.length)throw new RangeError("Index out of range");if(ie<0)throw new RangeError("Index out of range")}function X(_e,ce,ie,se,ne){return ce=+ce,ie=ie>>>0,ne||Z(_e,ce,ie,4,34028234663852886e22,-34028234663852886e22),n.write(_e,ce,ie,se,23,4),ie+4}f.prototype.writeFloatLE=function(ce,ie,se){return X(this,ce,ie,!0,se)},f.prototype.writeFloatBE=function(ce,ie,se){return X(this,ce,ie,!1,se)};function $(_e,ce,ie,se,ne){return ce=+ce,ie=ie>>>0,ne||Z(_e,ce,ie,8,17976931348623157e292,-17976931348623157e292),n.write(_e,ce,ie,se,52,8),ie+8}f.prototype.writeDoubleLE=function(ce,ie,se){return $(this,ce,ie,!0,se)},f.prototype.writeDoubleBE=function(ce,ie,se){return $(this,ce,ie,!1,se)},f.prototype.copy=function(ce,ie,se,ne){if(!f.isBuffer(ce))throw new TypeError("argument should be a Buffer");if(se||(se=0),!ne&&ne!==0&&(ne=this.length),ie>=ce.length&&(ie=ce.length),ie||(ie=0),ne>0&&ne=this.length)throw new RangeError("Index out of range");if(ne<0)throw new RangeError("sourceEnd out of bounds");ne>this.length&&(ne=this.length),ce.length-ie>>0,se=se===void 0?this.length:se>>>0,ce||(ce=0);var De;if(typeof ce=="number")for(De=ie;De55295&&ie<57344){if(!ne){if(ie>56319){(ce-=3)>-1&&be.push(239,191,189);continue}else if(De+1===se){(ce-=3)>-1&&be.push(239,191,189);continue}ne=ie;continue}if(ie<56320){(ce-=3)>-1&&be.push(239,191,189),ne=ie;continue}ie=(ne-55296<<10|ie-56320)+65536}else ne&&(ce-=3)>-1&&be.push(239,191,189);if(ne=null,ie<128){if((ce-=1)<0)break;be.push(ie)}else if(ie<2048){if((ce-=2)<0)break;be.push(ie>>6|192,ie&63|128)}else if(ie<65536){if((ce-=3)<0)break;be.push(ie>>12|224,ie>>6&63|128,ie&63|128)}else if(ie<1114112){if((ce-=4)<0)break;be.push(ie>>18|240,ie>>12&63|128,ie>>6&63|128,ie&63|128)}else throw new Error("Invalid code point")}return be}function pe(_e){for(var ce=[],ie=0;ie<_e.length;++ie)ce.push(_e.charCodeAt(ie)&255);return ce}function ge(_e,ce){for(var ie,se,ne,be=[],De=0;De<_e.length&&!((ce-=2)<0);++De)ie=_e.charCodeAt(De),se=ie>>8,ne=ie%256,be.push(ne),be.push(se);return be}function Te(_e){return r.toByteArray(re(_e))}function Se(_e,ce,ie,se){for(var ne=0;ne=ce.length||ne>=_e.length);++ne)ce[ne+ie]=_e[ne];return ne}function Ce(_e,ce){return _e instanceof ce||_e!=null&&_e.constructor!=null&&_e.constructor.name!=null&&_e.constructor.name===ce.name}function Ue(_e){return _e!==_e}var Oe=function(){for(var _e="0123456789abcdef",ce=new Array(256),ie=0;ie<16;++ie)for(var se=ie*16,ne=0;ne<16;++ne)ce[se+ne]=_e[ie]+_e[ne];return ce}()},9216:function(l){"use strict";l.exports=r,l.exports.isMobile=r,l.exports.default=r;let e=/(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,t=/CrOS/,a=/android|ipad|playbook|silk/i;function r(n){n||(n={});let 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;let s=e.test(i)&&!t.test(i)||!!n.tablet&&a.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(l,e,t){"use strict";l.exports=c;var a=t(7261),r=t(9977),n=t(1811);function i(p,f){this._controllerNames=Object.keys(p),this._controllerList=this._controllerNames.map(function(d){return p[d]}),this._mode=f,this._active=p[f],this._active||(this._mode="turntable",this._active=p.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(p){for(var f=this._controllerList,d=0;d"u"?t(1538):WeakMap,r=t(2762),n=t(8116),i=new a;function s(c){var p=i.get(c),f=p&&(p._triangleBuffer.handle||p._triangleBuffer.buffer);if(!f||!c.isBuffer(f)){var d=r(c,new Float32Array([-1,-1,-1,4,4,-1]));p=n(c,[{buffer:d,type:c.FLOAT,size:2}]),p._triangleBuffer=d,i.set(c,p)}p.bind(),c.drawArrays(c.TRIANGLES,0,3),p.unbind()}l.exports=s},1085:function(l,e,t){var a=t(1371);l.exports=r;function r(n,i,s){i=typeof i=="number"?i:1,s=s||": ";var c=n.split(/\r?\n/),p=String(c.length+i-1).length;return c.map(function(f,d){var y=d+i,o=String(y).length,b=a(y,p-o);return b+s+f}).join(` +`)}},3952:function(l,e,t){"use strict";l.exports=n;var a=t(3250);function r(i,s){for(var c=new Array(s+1),p=0;p0)throw new Error("Invalid string. Length must be a multiple of 4");var E=M.indexOf("=");E===-1&&(E=A);var g=E===A?0:4-E%4;return[E,g]}function p(M){var A=c(M),E=A[0],g=A[1];return(E+g)*3/4-g}function f(M,A,E){return(A+E)*3/4-E}function d(M){var A,E=c(M),g=E[0],T=E[1],m=new r(f(M,g,T)),h=0,x=T>0?g-4:g,_;for(_=0;_>16&255,m[h++]=A>>8&255,m[h++]=A&255;return T===2&&(A=a[M.charCodeAt(_)]<<2|a[M.charCodeAt(_+1)]>>4,m[h++]=A&255),T===1&&(A=a[M.charCodeAt(_)]<<10|a[M.charCodeAt(_+1)]<<4|a[M.charCodeAt(_+2)]>>2,m[h++]=A>>8&255,m[h++]=A&255),m}function y(M){return t[M>>18&63]+t[M>>12&63]+t[M>>6&63]+t[M&63]}function o(M,A,E){for(var g,T=[],m=A;mx?x:h+m));return g===1?(A=M[E-1],T.push(t[A>>2]+t[A<<4&63]+"==")):g===2&&(A=(M[E-2]<<8)+M[E-1],T.push(t[A>>10]+t[A>>4&63]+t[A<<2&63]+"=")),T.join("")}},3865:function(l,e,t){"use strict";var a=t(869);l.exports=r;function r(n,i){return a(n[0].mul(i[1]).add(i[0].mul(n[1])),n[1].mul(i[1]))}},1318:function(l){"use strict";l.exports=e;function e(t,a){return t[0].mul(a[1]).cmp(a[0].mul(t[1]))}},8697:function(l,e,t){"use strict";var a=t(869);l.exports=r;function r(n,i){return a(n[0].mul(i[1]),n[1].mul(i[0]))}},7842:function(l,e,t){"use strict";var a=t(6330),r=t(1533),n=t(2651),i=t(6768),s=t(869),c=t(8697);l.exports=p;function p(f,d){if(a(f))return d?c(f,p(d)):[f[0].clone(),f[1].clone()];var y=0,o,b;if(r(f))o=f.clone();else if(typeof f=="string")o=i(f);else{if(f===0)return[n(0),n(1)];if(f===Math.floor(f))o=n(f);else{for(;f!==Math.floor(f);)f=f*Math.pow(2,256),y-=256;o=n(f)}}if(a(d))o.mul(d[1]),b=d[0].clone();else if(r(d))b=d.clone();else if(typeof d=="string")b=i(d);else if(!d)b=n(1);else if(d===Math.floor(d))b=n(d);else{for(;d!==Math.floor(d);)d=d*Math.pow(2,256),y+=256;b=n(d)}return y>0?o=o.ushln(y):y<0&&(b=b.ushln(-y)),s(o,b)}},6330:function(l,e,t){"use strict";var a=t(1533);l.exports=r;function r(n){return Array.isArray(n)&&n.length===2&&a(n[0])&&a(n[1])}},5716:function(l,e,t){"use strict";var a=t(6859);l.exports=r;function r(n){return n.cmp(new a(0))}},1369:function(l,e,t){"use strict";var a=t(5716);l.exports=r;function r(n){var i=n.length,s=n.words,c=0;if(i===1)c=s[0];else if(i===2)c=s[0]+s[1]*67108864;else for(var p=0;p20?52:c+32}},1533:function(l,e,t){"use strict";var a=t(6859);l.exports=r;function r(n){return n&&typeof n=="object"&&!!n.words}},2651:function(l,e,t){"use strict";var a=t(6859),r=t(2361);l.exports=n;function n(i){var s=r.exponent(i);return s<52?new a(i):new a(i*Math.pow(2,52-s)).ushln(s-52)}},869:function(l,e,t){"use strict";var a=t(2651),r=t(5716);l.exports=n;function n(i,s){var c=r(i),p=r(s);if(c===0)return[a(0),a(1)];if(p===0)return[a(0),a(0)];p<0&&(i=i.neg(),s=s.neg());var f=i.gcd(s);return f.cmpn(1)?[i.div(f),s.div(f)]:[i,s]}},6768:function(l,e,t){"use strict";var a=t(6859);l.exports=r;function r(n){return new a(n)}},6504:function(l,e,t){"use strict";var a=t(869);l.exports=r;function r(n,i){return a(n[0].mul(i[0]),n[1].mul(i[1]))}},7721:function(l,e,t){"use strict";var a=t(5716);l.exports=r;function r(n){return a(n[0])*a(n[1])}},5572:function(l,e,t){"use strict";var a=t(869);l.exports=r;function r(n,i){return a(n[0].mul(i[1]).sub(n[1].mul(i[0])),n[1].mul(i[1]))}},946:function(l,e,t){"use strict";var a=t(1369),r=t(4025);l.exports=n;function n(i){var s=i[0],c=i[1];if(s.cmpn(0)===0)return 0;var p=s.abs().divmod(c.abs()),f=p.div,d=a(f),y=p.mod,o=s.negative!==c.negative?-1:1;if(y.cmpn(0)===0)return o*d;if(d){var b=r(d)+4,M=a(y.ushln(b).divRound(c));return o*(d+M*Math.pow(2,-b))}else{var A=c.bitLength()-y.bitLength()+53,M=a(y.ushln(A).divRound(c));return A<1023?o*M*Math.pow(2,-A):(M*=Math.pow(2,-1023),o*M*Math.pow(2,1023-A))}}},2478:function(l){"use strict";function e(s,c,p,f,d){for(var y=d+1;f<=d;){var o=f+d>>>1,b=s[o],M=p!==void 0?p(b,c):b-c;M>=0?(y=o,d=o-1):f=o+1}return y}function t(s,c,p,f,d){for(var y=d+1;f<=d;){var o=f+d>>>1,b=s[o],M=p!==void 0?p(b,c):b-c;M>0?(y=o,d=o-1):f=o+1}return y}function a(s,c,p,f,d){for(var y=f-1;f<=d;){var o=f+d>>>1,b=s[o],M=p!==void 0?p(b,c):b-c;M<0?(y=o,f=o+1):d=o-1}return y}function r(s,c,p,f,d){for(var y=f-1;f<=d;){var o=f+d>>>1,b=s[o],M=p!==void 0?p(b,c):b-c;M<=0?(y=o,f=o+1):d=o-1}return y}function n(s,c,p,f,d){for(;f<=d;){var y=f+d>>>1,o=s[y],b=p!==void 0?p(o,c):o-c;if(b===0)return y;b<=0?f=y+1:d=y-1}return-1}function i(s,c,p,f,d,y){return typeof p=="function"?y(s,c,p,f===void 0?0:f|0,d===void 0?s.length-1:d|0):y(s,c,void 0,p===void 0?0:p|0,f===void 0?s.length-1:f|0)}l.exports={ge:function(s,c,p,f,d){return i(s,c,p,f,d,e)},gt:function(s,c,p,f,d){return i(s,c,p,f,d,t)},lt:function(s,c,p,f,d){return i(s,c,p,f,d,a)},le:function(s,c,p,f,d){return i(s,c,p,f,d,r)},eq:function(s,c,p,f,d){return i(s,c,p,f,d,n)}}},8828:function(l,e){"use strict";"use restrict";var t=32;e.INT_BITS=t,e.INT_MAX=2147483647,e.INT_MIN=-1<0)-(n<0)},e.abs=function(n){var i=n>>t-1;return(n^i)-i},e.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},e.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},e.popCount=function(n){return n=n-(n>>>1&1431655765),n=(n&858993459)+(n>>>2&858993459),(n+(n>>>4)&252645135)*16843009>>>24};function a(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}e.countTrailingZeros=a,e.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},e.prevPow2=function(n){return n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n-(n>>>1)},e.parity=function(n){return n^=n>>>16,n^=n>>>8,n^=n>>>4,n&=15,27030>>>n&1};var r=new Array(256);(function(n){for(var i=0;i<256;++i){var s=i,c=i,p=7;for(s>>>=1;s;s>>>=1)c<<=1,c|=s&1,--p;n[i]=c<>>8&255]<<16|r[n>>>16&255]<<8|r[n>>>24&255]},e.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},e.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},e.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},e.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},e.nextCombination=function(n){var i=n|n-1;return i+1|(~i&-~i)-1>>>a(n)+1}},6859:function(l,e,t){l=t.nmd(l),function(a,r){"use strict";function n(R,k){if(!R)throw new Error(k||"Assertion failed")}function i(R,k){R.super_=k;var B=function(){};B.prototype=k.prototype,R.prototype=new B,R.prototype.constructor=R}function s(R,k,B){if(s.isBN(R))return R;this.negative=0,this.words=null,this.length=0,this.red=null,R!==null&&((k==="le"||k==="be")&&(B=k,k=10),this._init(R||0,k||10,B||"be"))}typeof a=="object"?a.exports=s:r.BN=s,s.BN=s,s.wordSize=26;var c;try{typeof window<"u"&&typeof window.Buffer<"u"?c=window.Buffer:c=t(7790).Buffer}catch{}s.isBN=function(k){return k instanceof s?!0:k!==null&&typeof k=="object"&&k.constructor.wordSize===s.wordSize&&Array.isArray(k.words)},s.max=function(k,B){return k.cmp(B)>0?k:B},s.min=function(k,B){return k.cmp(B)<0?k:B},s.prototype._init=function(k,B,N){if(typeof k=="number")return this._initNumber(k,B,N);if(typeof k=="object")return this._initArray(k,B,N);B==="hex"&&(B=16),n(B===(B|0)&&B>=2&&B<=36),k=k.toString().replace(/\s+/g,"");var q=0;k[0]==="-"&&(q++,this.negative=1),q=0;q-=3)ee=k[q]|k[q-1]<<8|k[q-2]<<16,this.words[Y]|=ee<>>26-te&67108863,te+=24,te>=26&&(te-=26,Y++);else if(N==="le")for(q=0,Y=0;q>>26-te&67108863,te+=24,te>=26&&(te-=26,Y++);return this.strip()};function p(R,k){var B=R.charCodeAt(k);return B>=65&&B<=70?B-55:B>=97&&B<=102?B-87:B-48&15}function f(R,k,B){var N=p(R,B);return B-1>=k&&(N|=p(R,B-1)<<4),N}s.prototype._parseHex=function(k,B,N){this.length=Math.ceil((k.length-B)/6),this.words=new Array(this.length);for(var q=0;q=B;q-=2)te=f(k,B,q)<=18?(Y-=18,ee+=1,this.words[ee]|=te>>>26):Y+=8;else{var ae=k.length-B;for(q=ae%2===0?B+1:B;q=18?(Y-=18,ee+=1,this.words[ee]|=te>>>26):Y+=8}this.strip()};function d(R,k,B,N){for(var q=0,Y=Math.min(R.length,B),ee=k;ee=49?q+=te-49+10:te>=17?q+=te-17+10:q+=te}return q}s.prototype._parseBase=function(k,B,N){this.words=[0],this.length=1;for(var q=0,Y=1;Y<=67108863;Y*=B)q++;q--,Y=Y/B|0;for(var ee=k.length-N,te=ee%q,ae=Math.min(ee,ee-te)+N,j=0,G=N;G1&&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 y=["","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"],o=[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],b=[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(k,B){k=k||10,B=B|0||1;var N;if(k===16||k==="hex"){N="";for(var q=0,Y=0,ee=0;ee>>24-q&16777215,q+=2,q>=26&&(q-=26,ee--),Y!==0||ee!==this.length-1?N=y[6-ae.length]+ae+N:N=ae+N}for(Y!==0&&(N=Y.toString(16)+N);N.length%B!==0;)N="0"+N;return this.negative!==0&&(N="-"+N),N}if(k===(k|0)&&k>=2&&k<=36){var j=o[k],G=b[k];N="";var K=this.clone();for(K.negative=0;!K.isZero();){var H=K.modn(G).toString(k);K=K.idivn(G),K.isZero()?N=H+N:N=y[j-H.length]+H+N}for(this.isZero()&&(N="0"+N);N.length%B!==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 k=this.words[0];return this.length===2?k+=this.words[1]*67108864:this.length===3&&this.words[2]===1?k+=4503599627370496+this.words[1]*67108864:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-k:k},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(k,B){return n(typeof c<"u"),this.toArrayLike(c,k,B)},s.prototype.toArray=function(k,B){return this.toArrayLike(Array,k,B)},s.prototype.toArrayLike=function(k,B,N){var q=this.byteLength(),Y=N||Math.max(1,q);n(q<=Y,"byte array longer than desired length"),n(Y>0,"Requested array length <= 0"),this.strip();var ee=B==="le",te=new k(Y),ae,j,G=this.clone();if(ee){for(j=0;!G.isZero();j++)ae=G.andln(255),G.iushrn(8),te[j]=ae;for(;j=4096&&(N+=13,B>>>=13),B>=64&&(N+=7,B>>>=7),B>=8&&(N+=4,B>>>=4),B>=2&&(N+=2,B>>>=2),N+B},s.prototype._zeroBits=function(k){if(k===0)return 26;var B=k,N=0;return B&8191||(N+=13,B>>>=13),B&127||(N+=7,B>>>=7),B&15||(N+=4,B>>>=4),B&3||(N+=2,B>>>=2),B&1||N++,N},s.prototype.bitLength=function(){var k=this.words[this.length-1],B=this._countBits(k);return(this.length-1)*26+B};function M(R){for(var k=new Array(R.bitLength()),B=0;B>>q}return k}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var k=0,B=0;Bk.length?this.clone().ior(k):k.clone().ior(this)},s.prototype.uor=function(k){return this.length>k.length?this.clone().iuor(k):k.clone().iuor(this)},s.prototype.iuand=function(k){var B;this.length>k.length?B=k:B=this;for(var N=0;Nk.length?this.clone().iand(k):k.clone().iand(this)},s.prototype.uand=function(k){return this.length>k.length?this.clone().iuand(k):k.clone().iuand(this)},s.prototype.iuxor=function(k){var B,N;this.length>k.length?(B=this,N=k):(B=k,N=this);for(var q=0;qk.length?this.clone().ixor(k):k.clone().ixor(this)},s.prototype.uxor=function(k){return this.length>k.length?this.clone().iuxor(k):k.clone().iuxor(this)},s.prototype.inotn=function(k){n(typeof k=="number"&&k>=0);var B=Math.ceil(k/26)|0,N=k%26;this._expand(B),N>0&&B--;for(var q=0;q0&&(this.words[q]=~this.words[q]&67108863>>26-N),this.strip()},s.prototype.notn=function(k){return this.clone().inotn(k)},s.prototype.setn=function(k,B){n(typeof k=="number"&&k>=0);var N=k/26|0,q=k%26;return this._expand(N+1),B?this.words[N]=this.words[N]|1<k.length?(N=this,q=k):(N=k,q=this);for(var Y=0,ee=0;ee>>26;for(;Y!==0&&ee>>26;if(this.length=N.length,Y!==0)this.words[this.length]=Y,this.length++;else if(N!==this)for(;eek.length?this.clone().iadd(k):k.clone().iadd(this)},s.prototype.isub=function(k){if(k.negative!==0){k.negative=0;var B=this.iadd(k);return k.negative=1,B._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(k),this.negative=1,this._normSign();var N=this.cmp(k);if(N===0)return this.negative=0,this.length=1,this.words[0]=0,this;var q,Y;N>0?(q=this,Y=k):(q=k,Y=this);for(var ee=0,te=0;te>26,this.words[te]=B&67108863;for(;ee!==0&&te>26,this.words[te]=B&67108863;if(ee===0&&te>>26,K=ae&67108863,H=Math.min(j,k.length-1),Z=Math.max(0,j-R.length+1);Z<=H;Z++){var X=j-Z|0;q=R.words[X]|0,Y=k.words[Z]|0,ee=q*Y+K,G+=ee/67108864|0,K=ee&67108863}B.words[j]=K|0,ae=G|0}return ae!==0?B.words[j]=ae|0:B.length--,B.strip()}var E=function(k,B,N){var q=k.words,Y=B.words,ee=N.words,te=0,ae,j,G,K=q[0]|0,H=K&8191,Z=K>>>13,X=q[1]|0,$=X&8191,Q=X>>>13,re=q[2]|0,ue=re&8191,pe=re>>>13,ge=q[3]|0,Te=ge&8191,Se=ge>>>13,Ce=q[4]|0,Ue=Ce&8191,Oe=Ce>>>13,_e=q[5]|0,ce=_e&8191,ie=_e>>>13,se=q[6]|0,ne=se&8191,be=se>>>13,De=q[7]|0,qe=De&8191,Ne=De>>>13,ut=q[8]|0,ot=ut&8191,yt=ut>>>13,At=q[9]|0,It=At&8191,Zt=At>>>13,vr=Y[0]|0,Ut=vr&8191,Jt=vr>>>13,at=Y[1]|0,Ee=at&8191,Re=at>>>13,he=Y[2]|0,ye=he&8191,Ie=he>>>13,Fe=Y[3]|0,He=Fe&8191,We=Fe>>>13,pt=Y[4]|0,ct=pt&8191,ft=pt>>>13,mt=Y[5]|0,_t=mt&8191,Bt=mt>>>13,Et=Y[6]|0,hr=Et&8191,$r=Et>>>13,ca=Y[7]|0,na=ca&8191,wa=ca>>>13,pa=Y[8]|0,fa=pa&8191,za=pa>>>13,Ia=Y[9]|0,Va=Ia&8191,Oa=Ia>>>13;N.negative=k.negative^B.negative,N.length=19,ae=Math.imul(H,Ut),j=Math.imul(H,Jt),j=j+Math.imul(Z,Ut)|0,G=Math.imul(Z,Jt);var tn=(te+ae|0)+((j&8191)<<13)|0;te=(G+(j>>>13)|0)+(tn>>>26)|0,tn&=67108863,ae=Math.imul($,Ut),j=Math.imul($,Jt),j=j+Math.imul(Q,Ut)|0,G=Math.imul(Q,Jt),ae=ae+Math.imul(H,Ee)|0,j=j+Math.imul(H,Re)|0,j=j+Math.imul(Z,Ee)|0,G=G+Math.imul(Z,Re)|0;var ka=(te+ae|0)+((j&8191)<<13)|0;te=(G+(j>>>13)|0)+(ka>>>26)|0,ka&=67108863,ae=Math.imul(ue,Ut),j=Math.imul(ue,Jt),j=j+Math.imul(pe,Ut)|0,G=Math.imul(pe,Jt),ae=ae+Math.imul($,Ee)|0,j=j+Math.imul($,Re)|0,j=j+Math.imul(Q,Ee)|0,G=G+Math.imul(Q,Re)|0,ae=ae+Math.imul(H,ye)|0,j=j+Math.imul(H,Ie)|0,j=j+Math.imul(Z,ye)|0,G=G+Math.imul(Z,Ie)|0;var oi=(te+ae|0)+((j&8191)<<13)|0;te=(G+(j>>>13)|0)+(oi>>>26)|0,oi&=67108863,ae=Math.imul(Te,Ut),j=Math.imul(Te,Jt),j=j+Math.imul(Se,Ut)|0,G=Math.imul(Se,Jt),ae=ae+Math.imul(ue,Ee)|0,j=j+Math.imul(ue,Re)|0,j=j+Math.imul(pe,Ee)|0,G=G+Math.imul(pe,Re)|0,ae=ae+Math.imul($,ye)|0,j=j+Math.imul($,Ie)|0,j=j+Math.imul(Q,ye)|0,G=G+Math.imul(Q,Ie)|0,ae=ae+Math.imul(H,He)|0,j=j+Math.imul(H,We)|0,j=j+Math.imul(Z,He)|0,G=G+Math.imul(Z,We)|0;var $n=(te+ae|0)+((j&8191)<<13)|0;te=(G+(j>>>13)|0)+($n>>>26)|0,$n&=67108863,ae=Math.imul(Ue,Ut),j=Math.imul(Ue,Jt),j=j+Math.imul(Oe,Ut)|0,G=Math.imul(Oe,Jt),ae=ae+Math.imul(Te,Ee)|0,j=j+Math.imul(Te,Re)|0,j=j+Math.imul(Se,Ee)|0,G=G+Math.imul(Se,Re)|0,ae=ae+Math.imul(ue,ye)|0,j=j+Math.imul(ue,Ie)|0,j=j+Math.imul(pe,ye)|0,G=G+Math.imul(pe,Ie)|0,ae=ae+Math.imul($,He)|0,j=j+Math.imul($,We)|0,j=j+Math.imul(Q,He)|0,G=G+Math.imul(Q,We)|0,ae=ae+Math.imul(H,ct)|0,j=j+Math.imul(H,ft)|0,j=j+Math.imul(Z,ct)|0,G=G+Math.imul(Z,ft)|0;var bn=(te+ae|0)+((j&8191)<<13)|0;te=(G+(j>>>13)|0)+(bn>>>26)|0,bn&=67108863,ae=Math.imul(ce,Ut),j=Math.imul(ce,Jt),j=j+Math.imul(ie,Ut)|0,G=Math.imul(ie,Jt),ae=ae+Math.imul(Ue,Ee)|0,j=j+Math.imul(Ue,Re)|0,j=j+Math.imul(Oe,Ee)|0,G=G+Math.imul(Oe,Re)|0,ae=ae+Math.imul(Te,ye)|0,j=j+Math.imul(Te,Ie)|0,j=j+Math.imul(Se,ye)|0,G=G+Math.imul(Se,Ie)|0,ae=ae+Math.imul(ue,He)|0,j=j+Math.imul(ue,We)|0,j=j+Math.imul(pe,He)|0,G=G+Math.imul(pe,We)|0,ae=ae+Math.imul($,ct)|0,j=j+Math.imul($,ft)|0,j=j+Math.imul(Q,ct)|0,G=G+Math.imul(Q,ft)|0,ae=ae+Math.imul(H,_t)|0,j=j+Math.imul(H,Bt)|0,j=j+Math.imul(Z,_t)|0,G=G+Math.imul(Z,Bt)|0;var ci=(te+ae|0)+((j&8191)<<13)|0;te=(G+(j>>>13)|0)+(ci>>>26)|0,ci&=67108863,ae=Math.imul(ne,Ut),j=Math.imul(ne,Jt),j=j+Math.imul(be,Ut)|0,G=Math.imul(be,Jt),ae=ae+Math.imul(ce,Ee)|0,j=j+Math.imul(ce,Re)|0,j=j+Math.imul(ie,Ee)|0,G=G+Math.imul(ie,Re)|0,ae=ae+Math.imul(Ue,ye)|0,j=j+Math.imul(Ue,Ie)|0,j=j+Math.imul(Oe,ye)|0,G=G+Math.imul(Oe,Ie)|0,ae=ae+Math.imul(Te,He)|0,j=j+Math.imul(Te,We)|0,j=j+Math.imul(Se,He)|0,G=G+Math.imul(Se,We)|0,ae=ae+Math.imul(ue,ct)|0,j=j+Math.imul(ue,ft)|0,j=j+Math.imul(pe,ct)|0,G=G+Math.imul(pe,ft)|0,ae=ae+Math.imul($,_t)|0,j=j+Math.imul($,Bt)|0,j=j+Math.imul(Q,_t)|0,G=G+Math.imul(Q,Bt)|0,ae=ae+Math.imul(H,hr)|0,j=j+Math.imul(H,$r)|0,j=j+Math.imul(Z,hr)|0,G=G+Math.imul(Z,$r)|0;var hi=(te+ae|0)+((j&8191)<<13)|0;te=(G+(j>>>13)|0)+(hi>>>26)|0,hi&=67108863,ae=Math.imul(qe,Ut),j=Math.imul(qe,Jt),j=j+Math.imul(Ne,Ut)|0,G=Math.imul(Ne,Jt),ae=ae+Math.imul(ne,Ee)|0,j=j+Math.imul(ne,Re)|0,j=j+Math.imul(be,Ee)|0,G=G+Math.imul(be,Re)|0,ae=ae+Math.imul(ce,ye)|0,j=j+Math.imul(ce,Ie)|0,j=j+Math.imul(ie,ye)|0,G=G+Math.imul(ie,Ie)|0,ae=ae+Math.imul(Ue,He)|0,j=j+Math.imul(Ue,We)|0,j=j+Math.imul(Oe,He)|0,G=G+Math.imul(Oe,We)|0,ae=ae+Math.imul(Te,ct)|0,j=j+Math.imul(Te,ft)|0,j=j+Math.imul(Se,ct)|0,G=G+Math.imul(Se,ft)|0,ae=ae+Math.imul(ue,_t)|0,j=j+Math.imul(ue,Bt)|0,j=j+Math.imul(pe,_t)|0,G=G+Math.imul(pe,Bt)|0,ae=ae+Math.imul($,hr)|0,j=j+Math.imul($,$r)|0,j=j+Math.imul(Q,hr)|0,G=G+Math.imul(Q,$r)|0,ae=ae+Math.imul(H,na)|0,j=j+Math.imul(H,wa)|0,j=j+Math.imul(Z,na)|0,G=G+Math.imul(Z,wa)|0;var Pi=(te+ae|0)+((j&8191)<<13)|0;te=(G+(j>>>13)|0)+(Pi>>>26)|0,Pi&=67108863,ae=Math.imul(ot,Ut),j=Math.imul(ot,Jt),j=j+Math.imul(yt,Ut)|0,G=Math.imul(yt,Jt),ae=ae+Math.imul(qe,Ee)|0,j=j+Math.imul(qe,Re)|0,j=j+Math.imul(Ne,Ee)|0,G=G+Math.imul(Ne,Re)|0,ae=ae+Math.imul(ne,ye)|0,j=j+Math.imul(ne,Ie)|0,j=j+Math.imul(be,ye)|0,G=G+Math.imul(be,Ie)|0,ae=ae+Math.imul(ce,He)|0,j=j+Math.imul(ce,We)|0,j=j+Math.imul(ie,He)|0,G=G+Math.imul(ie,We)|0,ae=ae+Math.imul(Ue,ct)|0,j=j+Math.imul(Ue,ft)|0,j=j+Math.imul(Oe,ct)|0,G=G+Math.imul(Oe,ft)|0,ae=ae+Math.imul(Te,_t)|0,j=j+Math.imul(Te,Bt)|0,j=j+Math.imul(Se,_t)|0,G=G+Math.imul(Se,Bt)|0,ae=ae+Math.imul(ue,hr)|0,j=j+Math.imul(ue,$r)|0,j=j+Math.imul(pe,hr)|0,G=G+Math.imul(pe,$r)|0,ae=ae+Math.imul($,na)|0,j=j+Math.imul($,wa)|0,j=j+Math.imul(Q,na)|0,G=G+Math.imul(Q,wa)|0,ae=ae+Math.imul(H,fa)|0,j=j+Math.imul(H,za)|0,j=j+Math.imul(Z,fa)|0,G=G+Math.imul(Z,za)|0;var Jn=(te+ae|0)+((j&8191)<<13)|0;te=(G+(j>>>13)|0)+(Jn>>>26)|0,Jn&=67108863,ae=Math.imul(It,Ut),j=Math.imul(It,Jt),j=j+Math.imul(Zt,Ut)|0,G=Math.imul(Zt,Jt),ae=ae+Math.imul(ot,Ee)|0,j=j+Math.imul(ot,Re)|0,j=j+Math.imul(yt,Ee)|0,G=G+Math.imul(yt,Re)|0,ae=ae+Math.imul(qe,ye)|0,j=j+Math.imul(qe,Ie)|0,j=j+Math.imul(Ne,ye)|0,G=G+Math.imul(Ne,Ie)|0,ae=ae+Math.imul(ne,He)|0,j=j+Math.imul(ne,We)|0,j=j+Math.imul(be,He)|0,G=G+Math.imul(be,We)|0,ae=ae+Math.imul(ce,ct)|0,j=j+Math.imul(ce,ft)|0,j=j+Math.imul(ie,ct)|0,G=G+Math.imul(ie,ft)|0,ae=ae+Math.imul(Ue,_t)|0,j=j+Math.imul(Ue,Bt)|0,j=j+Math.imul(Oe,_t)|0,G=G+Math.imul(Oe,Bt)|0,ae=ae+Math.imul(Te,hr)|0,j=j+Math.imul(Te,$r)|0,j=j+Math.imul(Se,hr)|0,G=G+Math.imul(Se,$r)|0,ae=ae+Math.imul(ue,na)|0,j=j+Math.imul(ue,wa)|0,j=j+Math.imul(pe,na)|0,G=G+Math.imul(pe,wa)|0,ae=ae+Math.imul($,fa)|0,j=j+Math.imul($,za)|0,j=j+Math.imul(Q,fa)|0,G=G+Math.imul(Q,za)|0,ae=ae+Math.imul(H,Va)|0,j=j+Math.imul(H,Oa)|0,j=j+Math.imul(Z,Va)|0,G=G+Math.imul(Z,Oa)|0;var Ti=(te+ae|0)+((j&8191)<<13)|0;te=(G+(j>>>13)|0)+(Ti>>>26)|0,Ti&=67108863,ae=Math.imul(It,Ee),j=Math.imul(It,Re),j=j+Math.imul(Zt,Ee)|0,G=Math.imul(Zt,Re),ae=ae+Math.imul(ot,ye)|0,j=j+Math.imul(ot,Ie)|0,j=j+Math.imul(yt,ye)|0,G=G+Math.imul(yt,Ie)|0,ae=ae+Math.imul(qe,He)|0,j=j+Math.imul(qe,We)|0,j=j+Math.imul(Ne,He)|0,G=G+Math.imul(Ne,We)|0,ae=ae+Math.imul(ne,ct)|0,j=j+Math.imul(ne,ft)|0,j=j+Math.imul(be,ct)|0,G=G+Math.imul(be,ft)|0,ae=ae+Math.imul(ce,_t)|0,j=j+Math.imul(ce,Bt)|0,j=j+Math.imul(ie,_t)|0,G=G+Math.imul(ie,Bt)|0,ae=ae+Math.imul(Ue,hr)|0,j=j+Math.imul(Ue,$r)|0,j=j+Math.imul(Oe,hr)|0,G=G+Math.imul(Oe,$r)|0,ae=ae+Math.imul(Te,na)|0,j=j+Math.imul(Te,wa)|0,j=j+Math.imul(Se,na)|0,G=G+Math.imul(Se,wa)|0,ae=ae+Math.imul(ue,fa)|0,j=j+Math.imul(ue,za)|0,j=j+Math.imul(pe,fa)|0,G=G+Math.imul(pe,za)|0,ae=ae+Math.imul($,Va)|0,j=j+Math.imul($,Oa)|0,j=j+Math.imul(Q,Va)|0,G=G+Math.imul(Q,Oa)|0;var _n=(te+ae|0)+((j&8191)<<13)|0;te=(G+(j>>>13)|0)+(_n>>>26)|0,_n&=67108863,ae=Math.imul(It,ye),j=Math.imul(It,Ie),j=j+Math.imul(Zt,ye)|0,G=Math.imul(Zt,Ie),ae=ae+Math.imul(ot,He)|0,j=j+Math.imul(ot,We)|0,j=j+Math.imul(yt,He)|0,G=G+Math.imul(yt,We)|0,ae=ae+Math.imul(qe,ct)|0,j=j+Math.imul(qe,ft)|0,j=j+Math.imul(Ne,ct)|0,G=G+Math.imul(Ne,ft)|0,ae=ae+Math.imul(ne,_t)|0,j=j+Math.imul(ne,Bt)|0,j=j+Math.imul(be,_t)|0,G=G+Math.imul(be,Bt)|0,ae=ae+Math.imul(ce,hr)|0,j=j+Math.imul(ce,$r)|0,j=j+Math.imul(ie,hr)|0,G=G+Math.imul(ie,$r)|0,ae=ae+Math.imul(Ue,na)|0,j=j+Math.imul(Ue,wa)|0,j=j+Math.imul(Oe,na)|0,G=G+Math.imul(Oe,wa)|0,ae=ae+Math.imul(Te,fa)|0,j=j+Math.imul(Te,za)|0,j=j+Math.imul(Se,fa)|0,G=G+Math.imul(Se,za)|0,ae=ae+Math.imul(ue,Va)|0,j=j+Math.imul(ue,Oa)|0,j=j+Math.imul(pe,Va)|0,G=G+Math.imul(pe,Oa)|0;var Ln=(te+ae|0)+((j&8191)<<13)|0;te=(G+(j>>>13)|0)+(Ln>>>26)|0,Ln&=67108863,ae=Math.imul(It,He),j=Math.imul(It,We),j=j+Math.imul(Zt,He)|0,G=Math.imul(Zt,We),ae=ae+Math.imul(ot,ct)|0,j=j+Math.imul(ot,ft)|0,j=j+Math.imul(yt,ct)|0,G=G+Math.imul(yt,ft)|0,ae=ae+Math.imul(qe,_t)|0,j=j+Math.imul(qe,Bt)|0,j=j+Math.imul(Ne,_t)|0,G=G+Math.imul(Ne,Bt)|0,ae=ae+Math.imul(ne,hr)|0,j=j+Math.imul(ne,$r)|0,j=j+Math.imul(be,hr)|0,G=G+Math.imul(be,$r)|0,ae=ae+Math.imul(ce,na)|0,j=j+Math.imul(ce,wa)|0,j=j+Math.imul(ie,na)|0,G=G+Math.imul(ie,wa)|0,ae=ae+Math.imul(Ue,fa)|0,j=j+Math.imul(Ue,za)|0,j=j+Math.imul(Oe,fa)|0,G=G+Math.imul(Oe,za)|0,ae=ae+Math.imul(Te,Va)|0,j=j+Math.imul(Te,Oa)|0,j=j+Math.imul(Se,Va)|0,G=G+Math.imul(Se,Oa)|0;var ji=(te+ae|0)+((j&8191)<<13)|0;te=(G+(j>>>13)|0)+(ji>>>26)|0,ji&=67108863,ae=Math.imul(It,ct),j=Math.imul(It,ft),j=j+Math.imul(Zt,ct)|0,G=Math.imul(Zt,ft),ae=ae+Math.imul(ot,_t)|0,j=j+Math.imul(ot,Bt)|0,j=j+Math.imul(yt,_t)|0,G=G+Math.imul(yt,Bt)|0,ae=ae+Math.imul(qe,hr)|0,j=j+Math.imul(qe,$r)|0,j=j+Math.imul(Ne,hr)|0,G=G+Math.imul(Ne,$r)|0,ae=ae+Math.imul(ne,na)|0,j=j+Math.imul(ne,wa)|0,j=j+Math.imul(be,na)|0,G=G+Math.imul(be,wa)|0,ae=ae+Math.imul(ce,fa)|0,j=j+Math.imul(ce,za)|0,j=j+Math.imul(ie,fa)|0,G=G+Math.imul(ie,za)|0,ae=ae+Math.imul(Ue,Va)|0,j=j+Math.imul(Ue,Oa)|0,j=j+Math.imul(Oe,Va)|0,G=G+Math.imul(Oe,Oa)|0;var Zi=(te+ae|0)+((j&8191)<<13)|0;te=(G+(j>>>13)|0)+(Zi>>>26)|0,Zi&=67108863,ae=Math.imul(It,_t),j=Math.imul(It,Bt),j=j+Math.imul(Zt,_t)|0,G=Math.imul(Zt,Bt),ae=ae+Math.imul(ot,hr)|0,j=j+Math.imul(ot,$r)|0,j=j+Math.imul(yt,hr)|0,G=G+Math.imul(yt,$r)|0,ae=ae+Math.imul(qe,na)|0,j=j+Math.imul(qe,wa)|0,j=j+Math.imul(Ne,na)|0,G=G+Math.imul(Ne,wa)|0,ae=ae+Math.imul(ne,fa)|0,j=j+Math.imul(ne,za)|0,j=j+Math.imul(be,fa)|0,G=G+Math.imul(be,za)|0,ae=ae+Math.imul(ce,Va)|0,j=j+Math.imul(ce,Oa)|0,j=j+Math.imul(ie,Va)|0,G=G+Math.imul(ie,Oa)|0;var un=(te+ae|0)+((j&8191)<<13)|0;te=(G+(j>>>13)|0)+(un>>>26)|0,un&=67108863,ae=Math.imul(It,hr),j=Math.imul(It,$r),j=j+Math.imul(Zt,hr)|0,G=Math.imul(Zt,$r),ae=ae+Math.imul(ot,na)|0,j=j+Math.imul(ot,wa)|0,j=j+Math.imul(yt,na)|0,G=G+Math.imul(yt,wa)|0,ae=ae+Math.imul(qe,fa)|0,j=j+Math.imul(qe,za)|0,j=j+Math.imul(Ne,fa)|0,G=G+Math.imul(Ne,za)|0,ae=ae+Math.imul(ne,Va)|0,j=j+Math.imul(ne,Oa)|0,j=j+Math.imul(be,Va)|0,G=G+Math.imul(be,Oa)|0;var rn=(te+ae|0)+((j&8191)<<13)|0;te=(G+(j>>>13)|0)+(rn>>>26)|0,rn&=67108863,ae=Math.imul(It,na),j=Math.imul(It,wa),j=j+Math.imul(Zt,na)|0,G=Math.imul(Zt,wa),ae=ae+Math.imul(ot,fa)|0,j=j+Math.imul(ot,za)|0,j=j+Math.imul(yt,fa)|0,G=G+Math.imul(yt,za)|0,ae=ae+Math.imul(qe,Va)|0,j=j+Math.imul(qe,Oa)|0,j=j+Math.imul(Ne,Va)|0,G=G+Math.imul(Ne,Oa)|0;var nt=(te+ae|0)+((j&8191)<<13)|0;te=(G+(j>>>13)|0)+(nt>>>26)|0,nt&=67108863,ae=Math.imul(It,fa),j=Math.imul(It,za),j=j+Math.imul(Zt,fa)|0,G=Math.imul(Zt,za),ae=ae+Math.imul(ot,Va)|0,j=j+Math.imul(ot,Oa)|0,j=j+Math.imul(yt,Va)|0,G=G+Math.imul(yt,Oa)|0;var Ke=(te+ae|0)+((j&8191)<<13)|0;te=(G+(j>>>13)|0)+(Ke>>>26)|0,Ke&=67108863,ae=Math.imul(It,Va),j=Math.imul(It,Oa),j=j+Math.imul(Zt,Va)|0,G=Math.imul(Zt,Oa);var Qt=(te+ae|0)+((j&8191)<<13)|0;return te=(G+(j>>>13)|0)+(Qt>>>26)|0,Qt&=67108863,ee[0]=tn,ee[1]=ka,ee[2]=oi,ee[3]=$n,ee[4]=bn,ee[5]=ci,ee[6]=hi,ee[7]=Pi,ee[8]=Jn,ee[9]=Ti,ee[10]=_n,ee[11]=Ln,ee[12]=ji,ee[13]=Zi,ee[14]=un,ee[15]=rn,ee[16]=nt,ee[17]=Ke,ee[18]=Qt,te!==0&&(ee[19]=te,N.length++),N};Math.imul||(E=A);function g(R,k,B){B.negative=k.negative^R.negative,B.length=R.length+k.length;for(var N=0,q=0,Y=0;Y>>26)|0,q+=ee>>>26,ee&=67108863}B.words[Y]=te,N=ee,ee=q}return N!==0?B.words[Y]=N:B.length--,B.strip()}function T(R,k,B){var N=new m;return N.mulp(R,k,B)}s.prototype.mulTo=function(k,B){var N,q=this.length+k.length;return this.length===10&&k.length===10?N=E(this,k,B):q<63?N=A(this,k,B):q<1024?N=g(this,k,B):N=T(this,k,B),N};function m(R,k){this.x=R,this.y=k}m.prototype.makeRBT=function(k){for(var B=new Array(k),N=s.prototype._countBits(k)-1,q=0;q>=1;return q},m.prototype.permute=function(k,B,N,q,Y,ee){for(var te=0;te>>1)Y++;return 1<>>13,N[2*ee+1]=Y&8191,Y=Y>>>13;for(ee=2*B;ee>=26,B+=q/67108864|0,B+=Y>>>26,this.words[N]=Y&67108863}return B!==0&&(this.words[N]=B,this.length++),this.length=k===0?1:this.length,this},s.prototype.muln=function(k){return this.clone().imuln(k)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(k){var B=M(k);if(B.length===0)return new s(1);for(var N=this,q=0;q=0);var B=k%26,N=(k-B)/26,q=67108863>>>26-B<<26-B,Y;if(B!==0){var ee=0;for(Y=0;Y>>26-B}ee&&(this.words[Y]=ee,this.length++)}if(N!==0){for(Y=this.length-1;Y>=0;Y--)this.words[Y+N]=this.words[Y];for(Y=0;Y=0);var q;B?q=(B-B%26)/26:q=0;var Y=k%26,ee=Math.min((k-Y)/26,this.length),te=67108863^67108863>>>Y<ee)for(this.length-=ee,j=0;j=0&&(G!==0||j>=q);j--){var K=this.words[j]|0;this.words[j]=G<<26-Y|K>>>Y,G=K&te}return ae&&G!==0&&(ae.words[ae.length++]=G),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(k,B,N){return n(this.negative===0),this.iushrn(k,B,N)},s.prototype.shln=function(k){return this.clone().ishln(k)},s.prototype.ushln=function(k){return this.clone().iushln(k)},s.prototype.shrn=function(k){return this.clone().ishrn(k)},s.prototype.ushrn=function(k){return this.clone().iushrn(k)},s.prototype.testn=function(k){n(typeof k=="number"&&k>=0);var B=k%26,N=(k-B)/26,q=1<=0);var B=k%26,N=(k-B)/26;if(n(this.negative===0,"imaskn works only with positive numbers"),this.length<=N)return this;if(B!==0&&N++,this.length=Math.min(N,this.length),B!==0){var q=67108863^67108863>>>B<=67108864;B++)this.words[B]-=67108864,B===this.length-1?this.words[B+1]=1:this.words[B+1]++;return this.length=Math.max(this.length,B+1),this},s.prototype.isubn=function(k){if(n(typeof k=="number"),n(k<67108864),k<0)return this.iaddn(-k);if(this.negative!==0)return this.negative=0,this.iaddn(k),this.negative=1,this;if(this.words[0]-=k,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var B=0;B>26)-(ae/67108864|0),this.words[Y+N]=ee&67108863}for(;Y>26,this.words[Y+N]=ee&67108863;if(te===0)return this.strip();for(n(te===-1),te=0,Y=0;Y>26,this.words[Y]=ee&67108863;return this.negative=1,this.strip()},s.prototype._wordDiv=function(k,B){var N=this.length-k.length,q=this.clone(),Y=k,ee=Y.words[Y.length-1]|0,te=this._countBits(ee);N=26-te,N!==0&&(Y=Y.ushln(N),q.iushln(N),ee=Y.words[Y.length-1]|0);var ae=q.length-Y.length,j;if(B!=="mod"){j=new s(null),j.length=ae+1,j.words=new Array(j.length);for(var G=0;G=0;H--){var Z=(q.words[Y.length+H]|0)*67108864+(q.words[Y.length+H-1]|0);for(Z=Math.min(Z/ee|0,67108863),q._ishlnsubmul(Y,Z,H);q.negative!==0;)Z--,q.negative=0,q._ishlnsubmul(Y,1,H),q.isZero()||(q.negative^=1);j&&(j.words[H]=Z)}return j&&j.strip(),q.strip(),B!=="div"&&N!==0&&q.iushrn(N),{div:j||null,mod:q}},s.prototype.divmod=function(k,B,N){if(n(!k.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var q,Y,ee;return this.negative!==0&&k.negative===0?(ee=this.neg().divmod(k,B),B!=="mod"&&(q=ee.div.neg()),B!=="div"&&(Y=ee.mod.neg(),N&&Y.negative!==0&&Y.iadd(k)),{div:q,mod:Y}):this.negative===0&&k.negative!==0?(ee=this.divmod(k.neg(),B),B!=="mod"&&(q=ee.div.neg()),{div:q,mod:ee.mod}):this.negative&k.negative?(ee=this.neg().divmod(k.neg(),B),B!=="div"&&(Y=ee.mod.neg(),N&&Y.negative!==0&&Y.isub(k)),{div:ee.div,mod:Y}):k.length>this.length||this.cmp(k)<0?{div:new s(0),mod:this}:k.length===1?B==="div"?{div:this.divn(k.words[0]),mod:null}:B==="mod"?{div:null,mod:new s(this.modn(k.words[0]))}:{div:this.divn(k.words[0]),mod:new s(this.modn(k.words[0]))}:this._wordDiv(k,B)},s.prototype.div=function(k){return this.divmod(k,"div",!1).div},s.prototype.mod=function(k){return this.divmod(k,"mod",!1).mod},s.prototype.umod=function(k){return this.divmod(k,"mod",!0).mod},s.prototype.divRound=function(k){var B=this.divmod(k);if(B.mod.isZero())return B.div;var N=B.div.negative!==0?B.mod.isub(k):B.mod,q=k.ushrn(1),Y=k.andln(1),ee=N.cmp(q);return ee<0||Y===1&&ee===0?B.div:B.div.negative!==0?B.div.isubn(1):B.div.iaddn(1)},s.prototype.modn=function(k){n(k<=67108863);for(var B=(1<<26)%k,N=0,q=this.length-1;q>=0;q--)N=(B*N+(this.words[q]|0))%k;return N},s.prototype.idivn=function(k){n(k<=67108863);for(var B=0,N=this.length-1;N>=0;N--){var q=(this.words[N]|0)+B*67108864;this.words[N]=q/k|0,B=q%k}return this.strip()},s.prototype.divn=function(k){return this.clone().idivn(k)},s.prototype.egcd=function(k){n(k.negative===0),n(!k.isZero());var B=this,N=k.clone();B.negative!==0?B=B.umod(k):B=B.clone();for(var q=new s(1),Y=new s(0),ee=new s(0),te=new s(1),ae=0;B.isEven()&&N.isEven();)B.iushrn(1),N.iushrn(1),++ae;for(var j=N.clone(),G=B.clone();!B.isZero();){for(var K=0,H=1;!(B.words[0]&H)&&K<26;++K,H<<=1);if(K>0)for(B.iushrn(K);K-- >0;)(q.isOdd()||Y.isOdd())&&(q.iadd(j),Y.isub(G)),q.iushrn(1),Y.iushrn(1);for(var Z=0,X=1;!(N.words[0]&X)&&Z<26;++Z,X<<=1);if(Z>0)for(N.iushrn(Z);Z-- >0;)(ee.isOdd()||te.isOdd())&&(ee.iadd(j),te.isub(G)),ee.iushrn(1),te.iushrn(1);B.cmp(N)>=0?(B.isub(N),q.isub(ee),Y.isub(te)):(N.isub(B),ee.isub(q),te.isub(Y))}return{a:ee,b:te,gcd:N.iushln(ae)}},s.prototype._invmp=function(k){n(k.negative===0),n(!k.isZero());var B=this,N=k.clone();B.negative!==0?B=B.umod(k):B=B.clone();for(var q=new s(1),Y=new s(0),ee=N.clone();B.cmpn(1)>0&&N.cmpn(1)>0;){for(var te=0,ae=1;!(B.words[0]&ae)&&te<26;++te,ae<<=1);if(te>0)for(B.iushrn(te);te-- >0;)q.isOdd()&&q.iadd(ee),q.iushrn(1);for(var j=0,G=1;!(N.words[0]&G)&&j<26;++j,G<<=1);if(j>0)for(N.iushrn(j);j-- >0;)Y.isOdd()&&Y.iadd(ee),Y.iushrn(1);B.cmp(N)>=0?(B.isub(N),q.isub(Y)):(N.isub(B),Y.isub(q))}var K;return B.cmpn(1)===0?K=q:K=Y,K.cmpn(0)<0&&K.iadd(k),K},s.prototype.gcd=function(k){if(this.isZero())return k.abs();if(k.isZero())return this.abs();var B=this.clone(),N=k.clone();B.negative=0,N.negative=0;for(var q=0;B.isEven()&&N.isEven();q++)B.iushrn(1),N.iushrn(1);do{for(;B.isEven();)B.iushrn(1);for(;N.isEven();)N.iushrn(1);var Y=B.cmp(N);if(Y<0){var ee=B;B=N,N=ee}else if(Y===0||N.cmpn(1)===0)break;B.isub(N)}while(!0);return N.iushln(q)},s.prototype.invm=function(k){return this.egcd(k).a.umod(k)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(k){return this.words[0]&k},s.prototype.bincn=function(k){n(typeof k=="number");var B=k%26,N=(k-B)/26,q=1<>>26,te&=67108863,this.words[ee]=te}return Y!==0&&(this.words[ee]=Y,this.length++),this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(k){var B=k<0;if(this.negative!==0&&!B)return-1;if(this.negative===0&&B)return 1;this.strip();var N;if(this.length>1)N=1;else{B&&(k=-k),n(k<=67108863,"Number is too big");var q=this.words[0]|0;N=q===k?0:qk.length)return 1;if(this.length=0;N--){var q=this.words[N]|0,Y=k.words[N]|0;if(q!==Y){qY&&(B=1);break}}return B},s.prototype.gtn=function(k){return this.cmpn(k)===1},s.prototype.gt=function(k){return this.cmp(k)===1},s.prototype.gten=function(k){return this.cmpn(k)>=0},s.prototype.gte=function(k){return this.cmp(k)>=0},s.prototype.ltn=function(k){return this.cmpn(k)===-1},s.prototype.lt=function(k){return this.cmp(k)===-1},s.prototype.lten=function(k){return this.cmpn(k)<=0},s.prototype.lte=function(k){return this.cmp(k)<=0},s.prototype.eqn=function(k){return this.cmpn(k)===0},s.prototype.eq=function(k){return this.cmp(k)===0},s.red=function(k){return new I(k)},s.prototype.toRed=function(k){return n(!this.red,"Already a number in reduction context"),n(this.negative===0,"red works only with positives"),k.convertTo(this)._forceRed(k)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(k){return this.red=k,this},s.prototype.forceRed=function(k){return n(!this.red,"Already a number in reduction context"),this._forceRed(k)},s.prototype.redAdd=function(k){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,k)},s.prototype.redIAdd=function(k){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,k)},s.prototype.redSub=function(k){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,k)},s.prototype.redISub=function(k){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,k)},s.prototype.redShl=function(k){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,k)},s.prototype.redMul=function(k){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,k),this.red.mul(this,k)},s.prototype.redIMul=function(k){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,k),this.red.imul(this,k)},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(k){return n(this.red&&!k.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,k)};var h={k256:null,p224:null,p192:null,p25519:null};function x(R,k){this.name=R,this.p=new s(k,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}x.prototype._tmp=function(){var k=new s(null);return k.words=new Array(Math.ceil(this.n/13)),k},x.prototype.ireduce=function(k){var B=k,N;do this.split(B,this.tmp),B=this.imulK(B),B=B.iadd(this.tmp),N=B.bitLength();while(N>this.n);var q=N0?B.isub(this.p):B.strip!==void 0?B.strip():B._strip(),B},x.prototype.split=function(k,B){k.iushrn(this.n,0,B)},x.prototype.imulK=function(k){return k.imul(this.k)};function _(){x.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(_,x),_.prototype.split=function(k,B){for(var N=4194303,q=Math.min(k.length,9),Y=0;Y>>22,ee=te}ee>>>=22,k.words[Y-10]=ee,ee===0&&k.length>10?k.length-=10:k.length-=9},_.prototype.imulK=function(k){k.words[k.length]=0,k.words[k.length+1]=0,k.length+=2;for(var B=0,N=0;N>>=26,k.words[N]=Y,B=q}return B!==0&&(k.words[k.length++]=B),k},s._prime=function(k){if(h[k])return h[k];var B;if(k==="k256")B=new _;else if(k==="p224")B=new D;else if(k==="p192")B=new C;else if(k==="p25519")B=new F;else throw new Error("Unknown prime "+k);return h[k]=B,B};function I(R){if(typeof R=="string"){var k=s._prime(R);this.m=k.p,this.prime=k}else n(R.gtn(1),"modulus must be greater than 1"),this.m=R,this.prime=null}I.prototype._verify1=function(k){n(k.negative===0,"red works only with positives"),n(k.red,"red works only with red numbers")},I.prototype._verify2=function(k,B){n((k.negative|B.negative)===0,"red works only with positives"),n(k.red&&k.red===B.red,"red works only with red numbers")},I.prototype.imod=function(k){return this.prime?this.prime.ireduce(k)._forceRed(this):k.umod(this.m)._forceRed(this)},I.prototype.neg=function(k){return k.isZero()?k.clone():this.m.sub(k)._forceRed(this)},I.prototype.add=function(k,B){this._verify2(k,B);var N=k.add(B);return N.cmp(this.m)>=0&&N.isub(this.m),N._forceRed(this)},I.prototype.iadd=function(k,B){this._verify2(k,B);var N=k.iadd(B);return N.cmp(this.m)>=0&&N.isub(this.m),N},I.prototype.sub=function(k,B){this._verify2(k,B);var N=k.sub(B);return N.cmpn(0)<0&&N.iadd(this.m),N._forceRed(this)},I.prototype.isub=function(k,B){this._verify2(k,B);var N=k.isub(B);return N.cmpn(0)<0&&N.iadd(this.m),N},I.prototype.shl=function(k,B){return this._verify1(k),this.imod(k.ushln(B))},I.prototype.imul=function(k,B){return this._verify2(k,B),this.imod(k.imul(B))},I.prototype.mul=function(k,B){return this._verify2(k,B),this.imod(k.mul(B))},I.prototype.isqr=function(k){return this.imul(k,k.clone())},I.prototype.sqr=function(k){return this.mul(k,k)},I.prototype.sqrt=function(k){if(k.isZero())return k.clone();var B=this.m.andln(3);if(n(B%2===1),B===3){var N=this.m.add(new s(1)).iushrn(2);return this.pow(k,N)}for(var q=this.m.subn(1),Y=0;!q.isZero()&&q.andln(1)===0;)Y++,q.iushrn(1);n(!q.isZero());var ee=new s(1).toRed(this),te=ee.redNeg(),ae=this.m.subn(1).iushrn(1),j=this.m.bitLength();for(j=new s(2*j*j).toRed(this);this.pow(j,ae).cmp(te)!==0;)j.redIAdd(te);for(var G=this.pow(j,q),K=this.pow(k,q.addn(1).iushrn(1)),H=this.pow(k,q),Z=Y;H.cmp(ee)!==0;){for(var X=H,$=0;X.cmp(ee)!==0;$++)X=X.redSqr();n($=0;Y--){for(var G=B.words[Y],K=j-1;K>=0;K--){var H=G>>K&1;if(ee!==q[0]&&(ee=this.sqr(ee)),H===0&&te===0){ae=0;continue}te<<=1,te|=H,ae++,!(ae!==N&&(Y!==0||K!==0))&&(ee=this.mul(ee,q[te]),ae=0,te=0)}j=26}return ee},I.prototype.convertTo=function(k){var B=k.umod(this.m);return B===k?B.clone():B},I.prototype.convertFrom=function(k){var B=k.clone();return B.red=null,B},s.mont=function(k){return new z(k)};function z(R){I.call(this,R),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(z,I),z.prototype.convertTo=function(k){return this.imod(k.ushln(this.shift))},z.prototype.convertFrom=function(k){var B=this.imod(k.mul(this.rinv));return B.red=null,B},z.prototype.imul=function(k,B){if(k.isZero()||B.isZero())return k.words[0]=0,k.length=1,k;var N=k.imul(B),q=N.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),Y=N.isub(q).iushrn(this.shift),ee=Y;return Y.cmp(this.m)>=0?ee=Y.isub(this.m):Y.cmpn(0)<0&&(ee=Y.iadd(this.m)),ee._forceRed(this)},z.prototype.mul=function(k,B){if(k.isZero()||B.isZero())return new s(0)._forceRed(this);var N=k.mul(B),q=N.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),Y=N.isub(q).iushrn(this.shift),ee=Y;return Y.cmp(this.m)>=0?ee=Y.isub(this.m):Y.cmpn(0)<0&&(ee=Y.iadd(this.m)),ee._forceRed(this)},z.prototype.invm=function(k){var B=this.imod(k._invmp(this.m).mul(this.r2));return B._forceRed(this)}}(l,this)},6204:function(l){"use strict";l.exports=e;function e(t){var a,r,n,i=t.length,s=0;for(a=0;a>>1;if(!(m<=0)){var h,x=a.mallocDouble(2*m*g),_=a.mallocInt32(g);if(g=s(b,m,x,_),g>0){if(m===1&&E)r.init(g),h=r.sweepComplete(m,A,0,g,x,_,0,g,x,_);else{var D=a.mallocDouble(2*m*T),C=a.mallocInt32(T);T=s(M,m,D,C),T>0&&(r.init(g+T),m===1?h=r.sweepBipartite(m,A,0,g,x,_,0,T,D,C):h=n(m,A,E,g,x,_,T,D,C),a.free(D),a.free(C))}a.free(x),a.free(_)}return h}}}var p;function f(b,M){p.push([b,M])}function d(b){return p=[],c(b,b,f,!0),p}function y(b,M){return p=[],c(b,M,f,!1),p}function o(b,M,A){switch(arguments.length){case 1:return d(b);case 2:return typeof M=="function"?c(b,b,M,!0):y(b,M);case 3:return c(b,M,A,!1);default:throw new Error("box-intersect: Invalid arguments")}}},2455:function(l,e){"use strict";function t(){function n(c,p,f,d,y,o,b,M,A,E,g){for(var T=2*c,m=d,h=T*d;mA-M?n(c,p,f,d,y,o,b,M,A,E,g):i(c,p,f,d,y,o,b,M,A,E,g)}return s}function a(){function n(f,d,y,o,b,M,A,E,g,T,m){for(var h=2*f,x=o,_=h*o;xT-g?o?n(f,d,y,b,M,A,E,g,T,m,h):i(f,d,y,b,M,A,E,g,T,m,h):o?s(f,d,y,b,M,A,E,g,T,m,h):c(f,d,y,b,M,A,E,g,T,m,h)}return p}function r(n){return n?t():a()}e.partial=r(!1),e.full=r(!0)},7150:function(l,e,t){"use strict";l.exports=R;var a=t(1888),r=t(8828),n=t(2455),i=n.partial,s=n.full,c=t(855),p=t(3545),f=t(8105),d=128,y=1<<22,o=1<<22,b=f("!(lo>=p0)&&!(p1>=hi)"),M=f("lo===p0"),A=f("lo0;){G-=1;var Z=G*m,X=_[Z],$=_[Z+1],Q=_[Z+2],re=_[Z+3],ue=_[Z+4],pe=_[Z+5],ge=G*h,Te=D[ge],Se=D[ge+1],Ce=pe&1,Ue=!!(pe&16),Oe=Y,_e=ee,ce=ae,ie=j;if(Ce&&(Oe=ae,_e=j,ce=Y,ie=ee),!(pe&2&&(Q=A(k,X,$,Q,Oe,_e,Se),$>=Q))&&!(pe&4&&($=E(k,X,$,Q,Oe,_e,Te),$>=Q))){var se=Q-$,ne=ue-re;if(Ue){if(k*se*(se+ne)f&&y[T+p]>E;--g,T-=b){for(var m=T,h=T+b,x=0;x>>1,E=2*c,g=A,T=y[E*A+p];b=D?(g=_,T=D):x>=F?(g=h,T=x):(g=C,T=F):D>=F?(g=_,T=D):F>=x?(g=h,T=x):(g=C,T=F);for(var R=E*(M-1),k=E*g,I=0;I=p0)&&!(p1>=hi)":p};function t(f){return e[f]}function a(f,d,y,o,b,M,A){for(var E=2*f,g=E*y,T=g,m=y,h=d,x=f+d,_=y;o>_;++_,g+=E){var D=b[g+h];if(D===A)if(m===_)m+=1,T+=E;else{for(var C=0;E>C;++C){var F=b[g+C];b[g+C]=b[T],b[T++]=F}var I=M[_];M[_]=M[m],M[m++]=I}}return m}function r(f,d,y,o,b,M,A){for(var E=2*f,g=E*y,T=g,m=y,h=d,x=f+d,_=y;o>_;++_,g+=E){var D=b[g+h];if(DC;++C){var F=b[g+C];b[g+C]=b[T],b[T++]=F}var I=M[_];M[_]=M[m],M[m++]=I}}return m}function n(f,d,y,o,b,M,A){for(var E=2*f,g=E*y,T=g,m=y,h=d,x=f+d,_=y;o>_;++_,g+=E){var D=b[g+x];if(D<=A)if(m===_)m+=1,T+=E;else{for(var C=0;E>C;++C){var F=b[g+C];b[g+C]=b[T],b[T++]=F}var I=M[_];M[_]=M[m],M[m++]=I}}return m}function i(f,d,y,o,b,M,A){for(var E=2*f,g=E*y,T=g,m=y,h=d,x=f+d,_=y;o>_;++_,g+=E){var D=b[g+x];if(D<=A)if(m===_)m+=1,T+=E;else{for(var C=0;E>C;++C){var F=b[g+C];b[g+C]=b[T],b[T++]=F}var I=M[_];M[_]=M[m],M[m++]=I}}return m}function s(f,d,y,o,b,M,A){for(var E=2*f,g=E*y,T=g,m=y,h=d,x=f+d,_=y;o>_;++_,g+=E){var D=b[g+h],C=b[g+x];if(D<=A&&A<=C)if(m===_)m+=1,T+=E;else{for(var F=0;E>F;++F){var I=b[g+F];b[g+F]=b[T],b[T++]=I}var z=M[_];M[_]=M[m],M[m++]=z}}return m}function c(f,d,y,o,b,M,A){for(var E=2*f,g=E*y,T=g,m=y,h=d,x=f+d,_=y;o>_;++_,g+=E){var D=b[g+h],C=b[g+x];if(DF;++F){var I=b[g+F];b[g+F]=b[T],b[T++]=I}var z=M[_];M[_]=M[m],M[m++]=z}}return m}function p(f,d,y,o,b,M,A,E){for(var g=2*f,T=g*y,m=T,h=y,x=d,_=f+d,D=y;o>D;++D,T+=g){var C=b[T+x],F=b[T+_];if(!(C>=A)&&!(E>=F))if(h===D)h+=1,m+=g;else{for(var I=0;g>I;++I){var z=b[T+I];b[T+I]=b[m],b[m++]=z}var R=M[D];M[D]=M[h],M[h++]=R}}return h}},4192:function(l){"use strict";l.exports=t;var e=32;function t(d,y){y<=4*e?a(0,y-1,d):f(0,y-1,d)}function a(d,y,o){for(var b=2*(d+1),M=d+1;M<=y;++M){for(var A=o[b++],E=o[b++],g=M,T=b-2;g-- >d;){var m=o[T-2],h=o[T-1];if(mo[y+1]:!0}function p(d,y,o,b){d*=2;var M=b[d];return M>1,g=E-b,T=E+b,m=M,h=g,x=E,_=T,D=A,C=d+1,F=y-1,I=0;c(m,h,o)&&(I=m,m=h,h=I),c(_,D,o)&&(I=_,_=D,D=I),c(m,x,o)&&(I=m,m=x,x=I),c(h,x,o)&&(I=h,h=x,x=I),c(m,_,o)&&(I=m,m=_,_=I),c(x,_,o)&&(I=x,x=_,_=I),c(h,D,o)&&(I=h,h=D,D=I),c(h,x,o)&&(I=h,h=x,x=I),c(_,D,o)&&(I=_,_=D,D=I);for(var z=o[2*h],R=o[2*h+1],k=o[2*_],B=o[2*_+1],N=2*m,q=2*x,Y=2*D,ee=2*M,te=2*E,ae=2*A,j=0;j<2;++j){var G=o[N+j],K=o[q+j],H=o[Y+j];o[ee+j]=G,o[te+j]=K,o[ae+j]=H}n(g,d,o),n(T,y,o);for(var Z=C;Z<=F;++Z)if(p(Z,z,R,o))Z!==C&&r(Z,C,o),++C;else if(!p(Z,k,B,o))for(;;)if(p(F,k,B,o)){p(F,z,R,o)?(i(Z,C,F,o),++C,--F):(r(Z,F,o),--F);break}else{if(--F>>1;n(b,K);for(var H=0,Z=0,te=0;te=i)X=X-i|0,A(f,d,Z--,X);else if(X>=0)A(c,p,H--,X);else if(X<=-i){X=-X-i|0;for(var $=0;$>>1;n(b,K);for(var H=0,Z=0,X=0,te=0;te>1===b[2*te+3]>>1&&(Q=2,te+=1),$<0){for(var re=-($>>1)-1,ue=0;ue>1)-1;Q===0?A(c,p,H--,re):Q===1?A(f,d,Z--,re):Q===2&&A(y,o,X--,re)}}}function m(x,_,D,C,F,I,z,R,k,B,N,q){var Y=0,ee=2*x,te=_,ae=_+x,j=1,G=1;C?G=i:j=i;for(var K=F;K>>1;n(b,$);for(var Q=0,K=0;K<$;++K){var re=b[2*K+1]|0;if(re<0){var H=-re,ue=!1;if(H>=i?(ue=!C,H-=i):(ue=!!C,H-=1),ue)E(c,p,Q++,H);else{var pe=q[H],ge=ee*H,Te=N[ge+_+1],Se=N[ge+_+1+x];e:for(var Ce=0;Ce>>1;n(b,H);for(var Z=0,ae=0;ae=i)c[Z++]=j-i;else{j-=1;var $=N[j],Q=Y*j,re=B[Q+_+1],ue=B[Q+_+1+x];e:for(var pe=0;pe=0;--pe)if(c[pe]===j){for(var Ce=pe+1;Ce0;){for(var M=p.pop(),y=p.pop(),A=-1,E=-1,o=d[y],T=1;T=0||(c.flip(y,M),n(s,c,p,A,y,E),n(s,c,p,y,E,A),n(s,c,p,E,M,A),n(s,c,p,M,A,E))}}},5023:function(l,e,t){"use strict";var a=t(2478);l.exports=p;function r(f,d,y,o,b,M,A){this.cells=f,this.neighbor=d,this.flags=o,this.constraint=y,this.active=b,this.next=M,this.boundary=A}var n=r.prototype;function i(f,d){return f[0]-d[0]||f[1]-d[1]||f[2]-d[2]}n.locate=function(){var f=[0,0,0];return function(d,y,o){var b=d,M=y,A=o;return y0||A.length>0;){for(;M.length>0;){var h=M.pop();if(E[h]!==-b){E[h]=b;for(var x=g[h],_=0;_<3;++_){var D=m[3*h+_];D>=0&&E[D]===0&&(T[3*h+_]?A.push(D):(M.push(D),E[D]=b))}}}var C=A;A=M,M=C,A.length=0,b=-b}var F=c(g,E,d);return y?F.concat(o.boundary):F}},8902:function(l,e,t){"use strict";var a=t(2478),r=t(3250)[3],n=0,i=1,s=2;l.exports=A;function c(E,g,T,m,h){this.a=E,this.b=g,this.idx=T,this.lowerIds=m,this.upperIds=h}function p(E,g,T,m){this.a=E,this.b=g,this.type=T,this.idx=m}function f(E,g){var T=E.a[0]-g.a[0]||E.a[1]-g.a[1]||E.type-g.type;return T||E.type!==n&&(T=r(E.a,E.b,g.b),T)?T:E.idx-g.idx}function d(E,g){return r(E.a,E.b,g)}function y(E,g,T,m,h){for(var x=a.lt(g,m,d),_=a.gt(g,m,d),D=x;D<_;++D){for(var C=g[D],F=C.lowerIds,z=F.length;z>1&&r(T[F[z-2]],T[F[z-1]],m)>0;)E.push([F[z-1],F[z-2],h]),z-=1;F.length=z,F.push(h);for(var I=C.upperIds,z=I.length;z>1&&r(T[I[z-2]],T[I[z-1]],m)<0;)E.push([I[z-2],I[z-1],h]),z-=1;I.length=z,I.push(h)}}function o(E,g){var T;return E.a[0]C[0]&&h.push(new p(C,D,s,x),new p(D,C,i,x))}h.sort(f);for(var F=h[0].a[0]-(1+Math.abs(h[0].a[0]))*Math.pow(2,-52),I=[new c([F,1],[F,0],-1,[],[],[],[])],z=[],x=0,R=h.length;x=0}}(),n.removeTriangle=function(c,p,f){var d=this.stars;i(d[c],p,f),i(d[p],f,c),i(d[f],c,p)},n.addTriangle=function(c,p,f){var d=this.stars;d[c].push(p,f),d[p].push(f,c),d[f].push(c,p)},n.opposite=function(c,p){for(var f=this.stars[p],d=1,y=f.length;d=0;--k){var G=z[k];B=G[0];var K=F[B],H=K[0],Z=K[1],X=C[H],$=C[Z];if((X[0]-$[0]||X[1]-$[1])<0){var Q=H;H=Z,Z=Q}K[0]=H;var re=K[1]=G[1],ue;for(R&&(ue=K[2]);k>0&&z[k-1][0]===B;){var G=z[--k],pe=G[1];R?F.push([re,pe,ue]):F.push([re,pe]),re=pe}R?F.push([re,Z,ue]):F.push([re,Z])}return N}function g(C,F,I){for(var z=F.length,R=new a(z),k=[],B=0;BF[2]?1:0)}function h(C,F,I){if(C.length!==0){if(F)for(var z=0;z0||B.length>0}function D(C,F,I){var z;if(I){z=F;for(var R=new Array(F.length),k=0;kE+1)throw new Error(M+" map requires nshades to be at least size "+b.length);Array.isArray(p.alpha)?p.alpha.length!==2?g=[1,1]:g=p.alpha.slice():typeof p.alpha=="number"?g=[p.alpha,p.alpha]:g=[1,1],f=b.map(function(D){return Math.round(D.index*E)}),g[0]=Math.min(Math.max(g[0],0),1),g[1]=Math.min(Math.max(g[1],0),1);var m=b.map(function(D,C){var F=b[C].index,I=b[C].rgb.slice();return I.length===4&&I[3]>=0&&I[3]<=1||(I[3]=g[0]+(g[1]-g[0])*F),I}),h=[];for(T=0;T=0}function p(f,d,y,o){var b=a(d,y,o);if(b===0){var M=r(a(f,d,y)),A=r(a(f,d,o));if(M===A){if(M===0){var E=c(f,d,y),g=c(f,d,o);return E===g?0:E?1:-1}return 0}else{if(A===0)return M>0||c(f,d,o)?-1:1;if(M===0)return A>0||c(f,d,y)?1:-1}return r(A-M)}var T=a(f,d,y);if(T>0)return b>0&&a(f,d,o)>0?1:-1;if(T<0)return b>0||a(f,d,o)>0?1:-1;var m=a(f,d,o);return m>0||c(f,d,y)?1:-1}},8572:function(l){"use strict";l.exports=function(t){return t<0?-1:t>0?1:0}},8507:function(l){l.exports=a;var e=Math.min;function t(r,n){return r-n}function a(r,n){var i=r.length,s=r.length-n.length;if(s)return s;switch(i){case 0:return 0;case 1:return r[0]-n[0];case 2:return r[0]+r[1]-n[0]-n[1]||e(r[0],r[1])-e(n[0],n[1]);case 3:var c=r[0]+r[1],p=n[0]+n[1];if(s=c+r[2]-(p+n[2]),s)return s;var f=e(r[0],r[1]),d=e(n[0],n[1]);return e(f,r[2])-e(d,n[2])||e(f+r[2],c)-e(d+n[2],p);case 4:var y=r[0],o=r[1],b=r[2],M=r[3],A=n[0],E=n[1],g=n[2],T=n[3];return y+o+b+M-(A+E+g+T)||e(y,o,b,M)-e(A,E,g,T,A)||e(y+o,y+b,y+M,o+b,o+M,b+M)-e(A+E,A+g,A+T,E+g,E+T,g+T)||e(y+o+b,y+o+M,y+b+M,o+b+M)-e(A+E+g,A+E+T,A+g+T,E+g+T);default:for(var m=r.slice().sort(t),h=n.slice().sort(t),x=0;xt[r][0]&&(r=n);return ar?[[r],[a]]:[[a]]}},4750:function(l,e,t){"use strict";l.exports=r;var a=t(3090);function r(n){var i=a(n),s=i.length;if(s<=2)return[];for(var c=new Array(s),p=i[s-1],f=0;f=p[A]&&(M+=1);o[b]=M}}return c}function s(c,p){try{return a(c,!0)}catch{var f=r(c);if(f.length<=p)return[];var d=n(c,f),y=a(d,!0);return i(y,f)}}},4769:function(l){"use strict";function e(a,r,n,i,s,c){var p=6*s*s-6*s,f=3*s*s-4*s+1,d=-6*s*s+6*s,y=3*s*s-2*s;if(a.length){c||(c=new Array(a.length));for(var o=a.length-1;o>=0;--o)c[o]=p*a[o]+f*r[o]+d*n[o]+y*i[o];return c}return p*a+f*r+d*n[o]+y*i}function t(a,r,n,i,s,c){var p=s-1,f=s*s,d=p*p,y=(1+2*s)*d,o=s*d,b=f*(3-2*s),M=f*p;if(a.length){c||(c=new Array(a.length));for(var A=a.length-1;A>=0;--A)c[A]=y*a[A]+o*r[A]+b*n[A]+M*i[A];return c}return y*a+o*r+b*n+M*i}l.exports=t,l.exports.derivative=e},7642:function(l,e,t){"use strict";var a=t(8954),r=t(1682);l.exports=c;function n(p,f){this.point=p,this.index=f}function i(p,f){for(var d=p.point,y=f.point,o=d.length,b=0;b=2)return!1;I[R]=k}return!0}):F=F.filter(function(I){for(var z=0;z<=y;++z){var R=x[I[z]];if(R<0)return!1;I[z]=R}return!0}),y&1)for(var M=0;M>>31},l.exports.exponent=function(b){var M=l.exports.hi(b);return(M<<1>>>21)-1023},l.exports.fraction=function(b){var M=l.exports.lo(b),A=l.exports.hi(b),E=A&(1<<20)-1;return A&2146435072&&(E+=1048576),[M,E]},l.exports.denormalized=function(b){var M=l.exports.hi(b);return!(M&2146435072)}},1338:function(l){"use strict";function e(r,n,i){var s=r[i]|0;if(s<=0)return[];var c=new Array(s),p;if(i===r.length-1)for(p=0;p"u"&&(n=0),typeof r){case"number":if(r>0)return t(r|0,n);break;case"object":if(typeof r.length=="number")return e(r,n,0);break}return[]}l.exports=a},3134:function(l,e,t){"use strict";l.exports=r;var a=t(1682);function r(n,i){var s=n.length;if(typeof i!="number"){i=0;for(var c=0;c=y-1)for(var T=M.length-1,h=f-d[y-1],m=0;m=y-1)for(var g=M.length-1,T=f-d[y-1],m=0;m=0;--y)if(f[--d])return!1;return!0},s.jump=function(f){var d=this.lastT(),y=this.dimension;if(!(f0;--m)o.push(n(E[m-1],g[m-1],arguments[m])),b.push(0)}},s.push=function(f){var d=this.lastT(),y=this.dimension;if(!(f1e-6?1/A:0;this._time.push(f);for(var h=y;h>0;--h){var x=n(g[h-1],T[h-1],arguments[h]);o.push(x),b.push((x-o[M++])*m)}}},s.set=function(f){var d=this.dimension;if(!(f0;--E)y.push(n(M[E-1],A[E-1],arguments[E])),o.push(0)}},s.move=function(f){var d=this.lastT(),y=this.dimension;if(!(f<=d||arguments.length!==y+1)){var o=this._state,b=this._velocity,M=o.length-this.dimension,A=this.bounds,E=A[0],g=A[1],T=f-d,m=T>1e-6?1/T:0;this._time.push(f);for(var h=y;h>0;--h){var x=arguments[h];o.push(n(E[h-1],g[h-1],o[M++]+x)),b.push(x*m)}}},s.idle=function(f){var d=this.lastT();if(!(f=0;--m)o.push(n(E[m],g[m],o[M]+T*b[M])),b.push(0),M+=1}};function c(f){for(var d=new Array(f),y=0;y=0;--C){var h=x[C];_[C]<=0?x[C]=new a(h._color,h.key,h.value,x[C+1],h.right,h._count+1):x[C]=new a(h._color,h.key,h.value,h.left,x[C+1],h._count+1)}for(var C=x.length-1;C>1;--C){var F=x[C-1],h=x[C];if(F._color===t||h._color===t)break;var I=x[C-2];if(I.left===F)if(F.left===h){var z=I.right;if(z&&z._color===e)F._color=t,I.right=n(t,z),I._color=e,C-=1;else{if(I._color=e,I.left=F.right,F._color=t,F.right=I,x[C-2]=F,x[C-1]=h,i(I),i(F),C>=3){var R=x[C-3];R.left===I?R.left=F:R.right=F}break}}else{var z=I.right;if(z&&z._color===e)F._color=t,I.right=n(t,z),I._color=e,C-=1;else{if(F.right=h.left,I._color=e,I.left=h.right,h._color=t,h.left=F,h.right=I,x[C-2]=h,x[C-1]=F,i(I),i(F),i(h),C>=3){var R=x[C-3];R.left===I?R.left=h:R.right=h}break}}else if(F.right===h){var z=I.left;if(z&&z._color===e)F._color=t,I.left=n(t,z),I._color=e,C-=1;else{if(I._color=e,I.right=F.left,F._color=t,F.left=I,x[C-2]=F,x[C-1]=h,i(I),i(F),C>=3){var R=x[C-3];R.right===I?R.right=F:R.left=F}break}}else{var z=I.left;if(z&&z._color===e)F._color=t,I.left=n(t,z),I._color=e,C-=1;else{if(F.left=h.right,I._color=e,I.right=h.left,h._color=t,h.right=F,h.left=I,x[C-2]=h,x[C-1]=F,i(I),i(F),i(h),C>=3){var R=x[C-3];R.right===I?R.right=h:R.left=h}break}}}return x[0]._color=t,new s(m,x[0])};function p(g,T){if(T.left){var m=p(g,T.left);if(m)return m}var m=g(T.key,T.value);if(m)return m;if(T.right)return p(g,T.right)}function f(g,T,m,h){var x=T(g,h.key);if(x<=0){if(h.left){var _=f(g,T,m,h.left);if(_)return _}var _=m(h.key,h.value);if(_)return _}if(h.right)return f(g,T,m,h.right)}function d(g,T,m,h,x){var _=m(g,x.key),D=m(T,x.key),C;if(_<=0&&(x.left&&(C=d(g,T,m,h,x.left),C)||D>0&&(C=h(x.key,x.value),C)))return C;if(D>0&&x.right)return d(g,T,m,h,x.right)}c.forEach=function(T,m,h){if(this.root)switch(arguments.length){case 1:return p(T,this.root);case 2:return f(m,this._compare,T,this.root);case 3:return this._compare(m,h)>=0?void 0:d(m,h,this._compare,T,this.root)}},Object.defineProperty(c,"begin",{get:function(){for(var g=[],T=this.root;T;)g.push(T),T=T.left;return new y(this,g)}}),Object.defineProperty(c,"end",{get:function(){for(var g=[],T=this.root;T;)g.push(T),T=T.right;return new y(this,g)}}),c.at=function(g){if(g<0)return new y(this,[]);for(var T=this.root,m=[];;){if(m.push(T),T.left){if(g=T.right._count)break;T=T.right}else break}return new y(this,[])},c.ge=function(g){for(var T=this._compare,m=this.root,h=[],x=0;m;){var _=T(g,m.key);h.push(m),_<=0&&(x=h.length),_<=0?m=m.left:m=m.right}return h.length=x,new y(this,h)},c.gt=function(g){for(var T=this._compare,m=this.root,h=[],x=0;m;){var _=T(g,m.key);h.push(m),_<0&&(x=h.length),_<0?m=m.left:m=m.right}return h.length=x,new y(this,h)},c.lt=function(g){for(var T=this._compare,m=this.root,h=[],x=0;m;){var _=T(g,m.key);h.push(m),_>0&&(x=h.length),_<=0?m=m.left:m=m.right}return h.length=x,new y(this,h)},c.le=function(g){for(var T=this._compare,m=this.root,h=[],x=0;m;){var _=T(g,m.key);h.push(m),_>=0&&(x=h.length),_<0?m=m.left:m=m.right}return h.length=x,new y(this,h)},c.find=function(g){for(var T=this._compare,m=this.root,h=[];m;){var x=T(g,m.key);if(h.push(m),x===0)return new y(this,h);x<=0?m=m.left:m=m.right}return new y(this,[])},c.remove=function(g){var T=this.find(g);return T?T.remove():this},c.get=function(g){for(var T=this._compare,m=this.root;m;){var h=T(g,m.key);if(h===0)return m.value;h<=0?m=m.left:m=m.right}};function y(g,T){this.tree=g,this._stack=T}var o=y.prototype;Object.defineProperty(o,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(o,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),o.clone=function(){return new y(this.tree,this._stack.slice())};function b(g,T){g.key=T.key,g.value=T.value,g.left=T.left,g.right=T.right,g._color=T._color,g._count=T._count}function M(g){for(var T,m,h,x,_=g.length-1;_>=0;--_){if(T=g[_],_===0){T._color=t;return}if(m=g[_-1],m.left===T){if(h=m.right,h.right&&h.right._color===e){if(h=m.right=r(h),x=h.right=r(h.right),m.right=h.left,h.left=m,h.right=x,h._color=m._color,T._color=t,m._color=t,x._color=t,i(m),i(h),_>1){var D=g[_-2];D.left===m?D.left=h:D.right=h}g[_-1]=h;return}else if(h.left&&h.left._color===e){if(h=m.right=r(h),x=h.left=r(h.left),m.right=x.left,h.left=x.right,x.left=m,x.right=h,x._color=m._color,m._color=t,h._color=t,T._color=t,i(m),i(h),i(x),_>1){var D=g[_-2];D.left===m?D.left=x:D.right=x}g[_-1]=x;return}if(h._color===t)if(m._color===e){m._color=t,m.right=n(e,h);return}else{m.right=n(e,h);continue}else{if(h=r(h),m.right=h.left,h.left=m,h._color=m._color,m._color=e,i(m),i(h),_>1){var D=g[_-2];D.left===m?D.left=h:D.right=h}g[_-1]=h,g[_]=m,_+11){var D=g[_-2];D.right===m?D.right=h:D.left=h}g[_-1]=h;return}else if(h.right&&h.right._color===e){if(h=m.left=r(h),x=h.right=r(h.right),m.left=x.right,h.right=x.left,x.right=m,x.left=h,x._color=m._color,m._color=t,h._color=t,T._color=t,i(m),i(h),i(x),_>1){var D=g[_-2];D.right===m?D.right=x:D.left=x}g[_-1]=x;return}if(h._color===t)if(m._color===e){m._color=t,m.left=n(e,h);return}else{m.left=n(e,h);continue}else{if(h=r(h),m.left=h.right,h.right=m,h._color=m._color,m._color=e,i(m),i(h),_>1){var D=g[_-2];D.right===m?D.right=h:D.left=h}g[_-1]=h,g[_]=m,_+1=0;--h){var m=g[h];m.left===g[h+1]?T[h]=new a(m._color,m.key,m.value,T[h+1],m.right,m._count):T[h]=new a(m._color,m.key,m.value,m.left,T[h+1],m._count)}if(m=T[T.length-1],m.left&&m.right){var x=T.length;for(m=m.left;m.right;)T.push(m),m=m.right;var _=T[x-1];T.push(new a(m._color,_.key,_.value,m.left,m.right,m._count)),T[x-1].key=m.key,T[x-1].value=m.value;for(var h=T.length-2;h>=x;--h)m=T[h],T[h]=new a(m._color,m.key,m.value,m.left,T[h+1],m._count);T[x-1].left=T[x]}if(m=T[T.length-1],m._color===e){var D=T[T.length-2];D.left===m?D.left=null:D.right===m&&(D.right=null),T.pop();for(var h=0;h0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(o,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(o,"index",{get:function(){var g=0,T=this._stack;if(T.length===0){var m=this.tree.root;return m?m._count:0}else T[T.length-1].left&&(g=T[T.length-1].left._count);for(var h=T.length-2;h>=0;--h)T[h+1]===T[h].right&&(++g,T[h].left&&(g+=T[h].left._count));return g},enumerable:!0}),o.next=function(){var g=this._stack;if(g.length!==0){var T=g[g.length-1];if(T.right)for(T=T.right;T;)g.push(T),T=T.left;else for(g.pop();g.length>0&&g[g.length-1].right===T;)T=g[g.length-1],g.pop()}},Object.defineProperty(o,"hasNext",{get:function(){var g=this._stack;if(g.length===0)return!1;if(g[g.length-1].right)return!0;for(var T=g.length-1;T>0;--T)if(g[T-1].left===g[T])return!0;return!1}}),o.update=function(g){var T=this._stack;if(T.length===0)throw new Error("Can't update empty node!");var m=new Array(T.length),h=T[T.length-1];m[m.length-1]=new a(h._color,h.key,g,h.left,h.right,h._count);for(var x=T.length-2;x>=0;--x)h=T[x],h.left===T[x+1]?m[x]=new a(h._color,h.key,h.value,m[x+1],h.right,h._count):m[x]=new a(h._color,h.key,h.value,h.left,m[x+1],h._count);return new s(this.tree._compare,m[0])},o.prev=function(){var g=this._stack;if(g.length!==0){var T=g[g.length-1];if(T.left)for(T=T.left;T;)g.push(T),T=T.right;else for(g.pop();g.length>0&&g[g.length-1].left===T;)T=g[g.length-1],g.pop()}},Object.defineProperty(o,"hasPrev",{get:function(){var g=this._stack;if(g.length===0)return!1;if(g[g.length-1].left)return!0;for(var T=g.length-1;T>0;--T)if(g[T-1].right===g[T])return!0;return!1}});function A(g,T){return gT?1:0}function E(g){return new s(g||A,null)}},3837:function(l,e,t){"use strict";l.exports=C;var a=t(4935),r=t(501),n=t(5304),i=t(6429),s=t(6444),c=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),p=ArrayBuffer,f=DataView;function d(F){return p.isView(F)&&!(F instanceof f)}function y(F){return Array.isArray(F)||d(F)}function o(F,I){return F[0]=I[0],F[1]=I[1],F[2]=I[2],F}function b(F){this.gl=F,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(F)}var M=b.prototype;M.update=function(F){F=F||{};function I(H,Z,X){if(X in F){var $=F[X],Q=this[X],re;(H?y($)&&y($[0]):y($))?this[X]=re=[Z($[0]),Z($[1]),Z($[2])]:this[X]=re=[Z($),Z($),Z($)];for(var ue=0;ue<3;++ue)if(re[ue]!==Q[ue])return!0}return!1}var z=I.bind(this,!1,Number),R=I.bind(this,!1,Boolean),k=I.bind(this,!1,String),B=I.bind(this,!0,function(H){if(y(H)){if(H.length===3)return[+H[0],+H[1],+H[2],1];if(H.length===4)return[+H[0],+H[1],+H[2],+H[3]]}return[0,0,0,1]}),N,q=!1,Y=!1;if("bounds"in F)for(var ee=F.bounds,te=0;te<2;++te)for(var ae=0;ae<3;++ae)ee[te][ae]!==this.bounds[te][ae]&&(Y=!0),this.bounds[te][ae]=ee[te][ae];if("ticks"in F){N=F.ticks,q=!0,this.autoTicks=!1;for(var te=0;te<3;++te)this.tickSpacing[te]=0}else z("tickSpacing")&&(this.autoTicks=!0,Y=!0);if(this._firstInit&&("ticks"in F||"tickSpacing"in F||(this.autoTicks=!0),Y=!0,q=!0,this._firstInit=!1),Y&&this.autoTicks&&(N=s.create(this.bounds,this.tickSpacing),q=!0),q){for(var te=0;te<3;++te)N[te].sort(function(Z,X){return Z.x-X.x});s.equal(N,this.ticks)?q=!1:this.ticks=N}R("tickEnable"),k("tickFont")&&(q=!0),k("tickFontStyle")&&(q=!0),k("tickFontWeight")&&(q=!0),k("tickFontVariant")&&(q=!0),z("tickSize"),z("tickAngle"),z("tickPad"),B("tickColor");var j=k("labels");k("labelFont")&&(j=!0),k("labelFontStyle")&&(j=!0),k("labelFontWeight")&&(j=!0),k("labelFontVariant")&&(j=!0),R("labelEnable"),z("labelSize"),z("labelPad"),B("labelColor"),R("lineEnable"),R("lineMirror"),z("lineWidth"),B("lineColor"),R("lineTickEnable"),R("lineTickMirror"),z("lineTickLength"),z("lineTickWidth"),B("lineTickColor"),R("gridEnable"),z("gridWidth"),B("gridColor"),R("zeroEnable"),B("zeroLineColor"),z("zeroLineWidth"),R("backgroundEnable"),B("backgroundColor");var G=[{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]}],K=[{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&&(j||q)&&this._text.update(this.bounds,this.labels,G,this.ticks,K):this._text=a(this.gl,this.bounds,this.labels,G,this.ticks,K),this._lines&&q&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=r(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 E=[new A,new A,new A];function g(F,I,z,R,k){for(var B=F.primalOffset,N=F.primalMinor,q=F.mirrorOffset,Y=F.mirrorMinor,ee=R[I],te=0;te<3;++te)if(I!==te){var ae=B,j=q,G=N,K=Y;ee&1<0?(G[te]=-1,K[te]=0):(G[te]=0,K[te]=1)}}var T=[0,0,0],m={model:c,view:c,projection:c,_ortho:!1};M.isOpaque=function(){return!0},M.isTransparent=function(){return!1},M.drawTransparent=function(F){};var h=0,x=[0,0,0],_=[0,0,0],D=[0,0,0];M.draw=function(F){F=F||m;for(var X=this.gl,I=F.model||c,z=F.view||c,R=F.projection||c,k=this.bounds,B=F._ortho||!1,N=i(I,z,R,k,B),q=N.cubeEdges,Y=N.axis,ee=z[12],te=z[13],ae=z[14],j=z[15],G=B?2:1,K=G*this.pixelRatio*(R[3]*ee+R[7]*te+R[11]*ae+R[15]*j)/X.drawingBufferHeight,H=0;H<3;++H)this.lastCubeProps.cubeEdges[H]=q[H],this.lastCubeProps.axis[H]=Y[H];for(var Z=E,H=0;H<3;++H)g(E[H],H,this.bounds,q,Y);for(var X=this.gl,$=T,H=0;H<3;++H)this.backgroundEnable[H]?$[H]=Y[H]:$[H]=0;this._background.draw(I,z,R,k,$,this.backgroundColor),this._lines.bind(I,z,R,this);for(var H=0;H<3;++H){var Q=[0,0,0];Y[H]>0?Q[H]=k[1][H]:Q[H]=k[0][H];for(var re=0;re<2;++re){var ue=(H+1+re)%3,pe=(H+1+(re^1))%3;this.gridEnable[ue]&&this._lines.drawGrid(ue,pe,this.bounds,Q,this.gridColor[ue],this.gridWidth[ue]*this.pixelRatio)}for(var re=0;re<2;++re){var ue=(H+1+re)%3,pe=(H+1+(re^1))%3;this.zeroEnable[pe]&&Math.min(k[0][pe],k[1][pe])<=0&&Math.max(k[0][pe],k[1][pe])>=0&&this._lines.drawZero(ue,pe,this.bounds,Q,this.zeroLineColor[pe],this.zeroLineWidth[pe]*this.pixelRatio)}}for(var H=0;H<3;++H){this.lineEnable[H]&&this._lines.drawAxisLine(H,this.bounds,Z[H].primalOffset,this.lineColor[H],this.lineWidth[H]*this.pixelRatio),this.lineMirror[H]&&this._lines.drawAxisLine(H,this.bounds,Z[H].mirrorOffset,this.lineColor[H],this.lineWidth[H]*this.pixelRatio);for(var ge=o(x,Z[H].primalMinor),Te=o(_,Z[H].mirrorMinor),Se=this.lineTickLength,re=0;re<3;++re){var Ce=K/I[5*re];ge[re]*=Se[re]*Ce,Te[re]*=Se[re]*Ce}this.lineTickEnable[H]&&this._lines.drawAxisTicks(H,Z[H].primalOffset,ge,this.lineTickColor[H],this.lineTickWidth[H]*this.pixelRatio),this.lineTickMirror[H]&&this._lines.drawAxisTicks(H,Z[H].mirrorOffset,Te,this.lineTickColor[H],this.lineTickWidth[H]*this.pixelRatio)}this._lines.unbind(),this._text.bind(I,z,R,this.pixelRatio);var Ue,Oe=.5,_e,ce;function ie(Ne){ce=[0,0,0],ce[Ne]=1}function se(Ne,ut,ot){var yt=(Ne+1)%3,At=(Ne+2)%3,It=ut[yt],Zt=ut[At],vr=ot[yt],Ut=ot[At];if(It>0&&Ut>0){ie(yt);return}else if(It>0&&Ut<0){ie(yt);return}else if(It<0&&Ut>0){ie(yt);return}else if(It<0&&Ut<0){ie(yt);return}else if(Zt>0&&vr>0){ie(At);return}else if(Zt>0&&vr<0){ie(At);return}else if(Zt<0&&vr>0){ie(At);return}else if(Zt<0&&vr<0){ie(At);return}}for(var H=0;H<3;++H){for(var ne=Z[H].primalMinor,be=Z[H].mirrorMinor,De=o(D,Z[H].primalOffset),re=0;re<3;++re)this.lineTickEnable[H]&&(De[re]+=K*ne[re]*Math.max(this.lineTickLength[re],0)/I[5*re]);var qe=[0,0,0];if(qe[H]=1,this.tickEnable[H]){this.tickAngle[H]===-3600?(this.tickAngle[H]=0,this.tickAlign[H]="auto"):this.tickAlign[H]=-1,_e=1,Ue=[this.tickAlign[H],Oe,_e],Ue[0]==="auto"?Ue[0]=h:Ue[0]=parseInt(""+Ue[0]),ce=[0,0,0],se(H,ne,be);for(var re=0;re<3;++re)De[re]+=K*ne[re]*this.tickPad[re]/I[5*re];this._text.drawTicks(H,this.tickSize[H],this.tickAngle[H],De,this.tickColor[H],qe,ce,Ue)}if(this.labelEnable[H]){_e=0,ce=[0,0,0],this.labels[H].length>4&&(ie(H),_e=1),Ue=[this.labelAlign[H],Oe,_e],Ue[0]==="auto"?Ue[0]=h:Ue[0]=parseInt(""+Ue[0]);for(var re=0;re<3;++re)De[re]+=K*ne[re]*this.labelPad[re]/I[5*re];De[H]+=.5*(k[0][H]+k[1][H]),this._text.drawLabel(H,this.labelSize[H],this.labelAngle[H],De,this.labelColor[H],[0,0,0],ce,Ue)}}this._text.unbind()},M.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null};function C(F,I){var z=new b(F);return z.update(I),z}},5304:function(l,e,t){"use strict";l.exports=c;var a=t(2762),r=t(8116),n=t(1879).bg;function i(p,f,d,y){this.gl=p,this.buffer=f,this.vao=d,this.shader=y}var s=i.prototype;s.draw=function(p,f,d,y,o,b){for(var M=!1,A=0;A<3;++A)M=M||o[A];if(M){var E=this.gl;E.enable(E.POLYGON_OFFSET_FILL),E.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:p,view:f,projection:d,bounds:y,enable:o,colors:b},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),E.disable(E.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};function c(p){for(var f=[],d=[],y=0,o=0;o<3;++o)for(var b=(o+1)%3,M=(o+2)%3,A=[0,0,0],E=[0,0,0],g=-1;g<=1;g+=2){d.push(y,y+2,y+1,y+1,y+2,y+3),A[o]=g,E[o]=g;for(var T=-1;T<=1;T+=2){A[b]=T;for(var m=-1;m<=1;m+=2)A[M]=m,f.push(A[0],A[1],A[2],E[0],E[1],E[2]),y+=1}var h=b;b=M,M=h}var x=a(p,new Float32Array(f)),_=a(p,new Uint16Array(d),p.ELEMENT_ARRAY_BUFFER),D=r(p,[{buffer:x,type:p.FLOAT,size:3,offset:0,stride:24},{buffer:x,type:p.FLOAT,size:3,offset:12,stride:24}],_),C=n(p);return C.attributes.position.location=0,C.attributes.normal.location=1,new i(p,x,D,C)}},6429:function(l,e,t){"use strict";l.exports=g;var a=t(8828),r=t(6760),n=t(5202),i=t(3250),s=new Array(16),c=new Array(8),p=new Array(8),f=new Array(3),d=[0,0,0];(function(){for(var T=0;T<8;++T)c[T]=[1,1,1,1],p[T]=[1,1,1]})();function y(T,m,h){for(var x=0;x<4;++x){T[x]=h[12+x];for(var _=0;_<3;++_)T[x]+=m[_]*h[4*_+x]}}var o=[[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 b(T){for(var m=0;mY&&(z|=1<Y){z|=1<p[C][1])&&(Z=C);for(var X=-1,C=0;C<3;++C){var $=Z^1<p[Q][0]&&(Q=$)}}var re=M;re[0]=re[1]=re[2]=0,re[a.log2(X^Z)]=Z&X,re[a.log2(Z^Q)]=Z&Q;var ue=Q^7;ue===z||ue===H?(ue=X^7,re[a.log2(Q^ue)]=ue&Q):re[a.log2(X^ue)]=ue&X;for(var pe=A,ge=z,B=0;B<3;++B)ge&1< HALF_PI) && (b <= ONE_AND_HALF_PI)) ? + b - PI : + b; +} + +float look_horizontal_or_vertical(float a, float ratio) { + // ratio controls the ratio between being horizontal to (vertical + horizontal) + // if ratio is set to 0.5 then it is 50%, 50%. + // when using a higher ratio e.g. 0.75 the result would + // likely be more horizontal than vertical. + + float b = positive_angle(a); + + return + (b < ( ratio) * HALF_PI) ? 0.0 : + (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI : + (b < (2.0 + ratio) * HALF_PI) ? 0.0 : + (b < (4.0 - ratio) * HALF_PI) ? HALF_PI : + 0.0; +} + +float roundTo(float a, float b) { + return float(b * floor((a + 0.5 * b) / b)); +} + +float look_round_n_directions(float a, int n) { + float b = positive_angle(a); + float div = TWO_PI / float(n); + float c = roundTo(b, div); + return look_upwards(c); +} + +float applyAlignOption(float rawAngle, float delta) { + return + (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions + (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical + (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis + (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards + (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal + rawAngle; // otherwise return back raw input angle +} + +bool isAxisTitle = (axis.x == 0.0) && + (axis.y == 0.0) && + (axis.z == 0.0); + +void main() { + //Compute world offset + float axisDistance = position.z; + vec3 dataPosition = axisDistance * axis + offset; + + float beta = angle; // i.e. user defined attributes for each tick + + float axisAngle; + float clipAngle; + float flip; + + if (enableAlign) { + axisAngle = (isAxisTitle) ? HALF_PI : + computeViewAngle(dataPosition, dataPosition + axis); + clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir); + + axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0; + clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0; + + flip = (dot(vec2(cos(axisAngle), sin(axisAngle)), + vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0; + + beta += applyAlignOption(clipAngle, flip * PI); + } + + //Compute plane offset + vec2 planeCoord = position.xy * pixelScale; + + mat2 planeXform = scale * mat2( + cos(beta), sin(beta), + -sin(beta), cos(beta) + ); + + vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution; + + //Compute clip position + vec3 clipPosition = project(dataPosition); + + //Apply text offset in clip coordinates + clipPosition += vec3(viewOffset, 0.0); + + //Done + gl_Position = vec4(clipPosition, 1.0); +} +`]),c=a([`precision highp float; +#define GLSLIFY 1 + +uniform vec4 color; +void main() { + gl_FragColor = color; +}`]);e.Q=function(d){return r(d,s,c,null,[{name:"position",type:"vec3"}])};var p=a([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position; +attribute vec3 normal; + +uniform mat4 model, view, projection; +uniform vec3 enable; +uniform vec3 bounds[2]; + +varying vec3 colorChannel; + +void main() { + + vec3 signAxis = sign(bounds[1] - bounds[0]); + + vec3 realNormal = signAxis * normal; + + if(dot(realNormal, enable) > 0.0) { + vec3 minRange = min(bounds[0], bounds[1]); + vec3 maxRange = max(bounds[0], bounds[1]); + vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0)); + gl_Position = projection * (view * (model * vec4(nPosition, 1.0))); + } else { + gl_Position = vec4(0,0,0,0); + } + + colorChannel = abs(realNormal); +} +`]),f=a([`precision highp float; +#define GLSLIFY 1 + +uniform vec4 colors[3]; + +varying vec3 colorChannel; + +void main() { + gl_FragColor = colorChannel.x * colors[0] + + colorChannel.y * colors[1] + + colorChannel.z * colors[2]; +}`]);e.bg=function(d){return r(d,p,f,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},4935:function(l,e,t){"use strict";l.exports=b;var a=t(2762),r=t(8116),n=t(4359),i=t(1879).Q,s=window||process.global||{},c=s.__TEXT_CACHE||{};s.__TEXT_CACHE={};var p=3;function f(M,A,E,g){this.gl=M,this.shader=A,this.buffer=E,this.vao=g,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var d=f.prototype,y=[0,0];d.bind=function(M,A,E,g){this.vao.bind(),this.shader.bind();var T=this.shader.uniforms;T.model=M,T.view=A,T.projection=E,T.pixelScale=g,y[0]=this.gl.drawingBufferWidth,y[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=y},d.unbind=function(){this.vao.unbind()},d.update=function(M,A,E,g,T){var m=[];function h(B,N,q,Y,ee,te){var ae=[q.style,q.weight,q.variant,q.family].join("_"),j=c[ae];j||(j=c[ae]={});var G=j[N];G||(G=j[N]=o(N,{triangles:!0,font:q.family,fontStyle:q.style,fontWeight:q.weight,fontVariant:q.variant,textAlign:"center",textBaseline:"middle",lineSpacing:ee,styletags:te}));for(var K=(Y||12)/12,H=G.positions,Z=G.cells,X=0,$=Z.length;X<$;++X)for(var Q=Z[X],re=2;re>=0;--re){var ue=H[Q[re]];m.push(K*ue[0],-K*ue[1],B)}}for(var x=[0,0,0],_=[0,0,0],D=[0,0,0],C=[0,0,0],F=1.25,I={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},z=0;z<3;++z){D[z]=m.length/p|0,h(.5*(M[0][z]+M[1][z]),A[z],E[z],12,F,I),C[z]=(m.length/p|0)-D[z],x[z]=m.length/p|0;for(var R=0;R=0&&(p=s.length-c-1);var f=Math.pow(10,p),d=Math.round(n*i*f),y=d+"";if(y.indexOf("e")>=0)return y;var o=d/f,b=d%f;d<0?(o=-Math.ceil(o)|0,b=-b|0):(o=Math.floor(o)|0,b=b|0);var M=""+o;if(d<0&&(M="-"+M),p){for(var A=""+b;A.length=n[0][c];--d)p.push({x:d*i[c],text:t(i[c],d)});s.push(p)}return s}function r(n,i){for(var s=0;s<3;++s){if(n[s].length!==i[s].length)return!1;for(var c=0;cM)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return o.bufferSubData(b,g,E),M}function f(o,b){for(var M=a.malloc(o.length,b),A=o.length,E=0;E=0;--A){if(b[A]!==M)return!1;M*=o[A]}return!0}c.update=function(o,b){if(typeof b!="number"&&(b=-1),this.bind(),typeof o=="object"&&typeof o.shape<"u"){var M=o.dtype;if(i.indexOf(M)<0&&(M="float32"),this.type===this.gl.ELEMENT_ARRAY_BUFFER){var A=gl.getExtension("OES_element_index_uint");A&&M!=="uint16"?M="uint32":M="uint16"}if(M===o.dtype&&d(o.shape,o.stride))o.offset===0&&o.data.length===o.shape[0]?this.length=p(this.gl,this.type,this.length,this.usage,o.data,b):this.length=p(this.gl,this.type,this.length,this.usage,o.data.subarray(o.offset,o.shape[0]),b);else{var E=a.malloc(o.size,M),g=n(E,o.shape);r.assign(g,o),b<0?this.length=p(this.gl,this.type,this.length,this.usage,E,b):this.length=p(this.gl,this.type,this.length,this.usage,E.subarray(0,o.size),b),a.free(E)}}else if(Array.isArray(o)){var T;this.type===this.gl.ELEMENT_ARRAY_BUFFER?T=f(o,"uint16"):T=f(o,"float32"),b<0?this.length=p(this.gl,this.type,this.length,this.usage,T,b):this.length=p(this.gl,this.type,this.length,this.usage,T.subarray(0,o.length),b),a.free(T)}else if(typeof o=="object"&&typeof o.length=="number")this.length=p(this.gl,this.type,this.length,this.usage,o,b);else if(typeof o=="number"||o===void 0){if(b>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");o=o|0,o<=0&&(o=1),this.gl.bufferData(this.type,o|0,this.usage),this.length=o}else throw new Error("gl-buffer: Invalid data type")};function y(o,b,M,A){if(M=M||o.ARRAY_BUFFER,A=A||o.DYNAMIC_DRAW,M!==o.ARRAY_BUFFER&&M!==o.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!==o.DYNAMIC_DRAW&&A!==o.STATIC_DRAW&&A!==o.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 E=o.createBuffer(),g=new s(o,M,E,0,A);return g.update(b),g}l.exports=y},6405:function(l,e,t){"use strict";var a=t(2931);l.exports=function(n,i){var s=n.positions,c=n.vectors,p={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]),p;for(var f=0,d=1/0,y=-1/0,o=1/0,b=-1/0,M=1/0,A=-1/0,E=null,g=null,T=[],m=1/0,h=!1,x=n.coneSizemode==="raw",_=0;_f&&(f=a.length(C)),_&&!x){var F=2*a.distance(E,D)/(a.length(g)+a.length(C));F?(m=Math.min(m,F),h=!1):h=!0}h||(E=D,g=C),T.push(C)}var I=[d,o,M],z=[y,b,A];i&&(i[0]=I,i[1]=z),f===0&&(f=1);var R=1/f;isFinite(m)||(m=1),p.vectorScale=m;var k=n.coneSize||(x?1:.5);n.absoluteConeSize&&(k=n.absoluteConeSize*R),p.coneScale=k;for(var _=0,B=0;_=1},o.isTransparent=function(){return this.opacity<1},o.pickSlots=1,o.setPickBase=function(T){this.pickId=T};function b(T){for(var m=f({colormap:T,nshades:256,format:"rgba"}),h=new Uint8Array(256*4),x=0;x<256;++x){for(var _=m[x],D=0;D<3;++D)h[4*x+D]=_[D];h[4*x+3]=_[3]*255}return p(h,[256,256,4],[4,0,1])}function M(T){for(var m=T.length,h=new Array(m),x=0;x0){var B=this.triShader;B.bind(),B.uniforms=F,this.triangleVAO.bind(),m.drawArrays(m.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}},o.drawPick=function(T){T=T||{};for(var m=this.gl,h=T.model||d,x=T.view||d,_=T.projection||d,D=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],C=0;C<3;++C)D[0][C]=Math.max(D[0][C],this.clipBounds[0][C]),D[1][C]=Math.min(D[1][C],this.clipBounds[1][C]);this._model=[].slice.call(h),this._view=[].slice.call(x),this._projection=[].slice.call(_),this._resolution=[m.drawingBufferWidth,m.drawingBufferHeight];var F={model:h,view:x,projection:_,clipBounds:D,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},I=this.pickShader;I.bind(),I.uniforms=F,this.triangleCount>0&&(this.triangleVAO.bind(),m.drawArrays(m.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind())},o.pick=function(T){if(!T||T.id!==this.pickId)return null;var m=T.value[0]+256*T.value[1]+65536*T.value[2],h=this.cells[m],x=this.positions[h[1]].slice(0,3),_={position:x,dataCoordinate:x,index:Math.floor(h[1]/48)};return this.traceType==="cone"?_.index=Math.floor(h[1]/48):this.traceType==="streamtube"&&(_.intensity=this.intensity[h[1]],_.velocity=this.vectors[h[1]].slice(0,3),_.divergence=this.vectors[h[1]][3],_.index=m),_},o.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(T,m){var h=a(T,m.meshShader.vertex,m.meshShader.fragment,null,m.meshShader.attributes);return h.attributes.position.location=0,h.attributes.color.location=2,h.attributes.uv.location=3,h.attributes.vector.location=4,h}function E(T,m){var h=a(T,m.pickShader.vertex,m.pickShader.fragment,null,m.pickShader.attributes);return h.attributes.position.location=0,h.attributes.id.location=1,h.attributes.vector.location=4,h}function g(T,m,h){var x=h.shaders;arguments.length===1&&(m=T,T=m.gl);var _=A(T,x),D=E(T,x),C=i(T,p(new Uint8Array([255,255,255,255]),[1,1,4]));C.generateMipmap(),C.minFilter=T.LINEAR_MIPMAP_LINEAR,C.magFilter=T.LINEAR;var F=r(T),I=r(T),z=r(T),R=r(T),k=r(T),B=n(T,[{buffer:F,type:T.FLOAT,size:4},{buffer:k,type:T.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:z,type:T.FLOAT,size:4},{buffer:R,type:T.FLOAT,size:2},{buffer:I,type:T.FLOAT,size:4}]),N=new y(T,C,_,D,F,I,k,z,R,B,h.traceType||"cone");return N.update(m),N}l.exports=g},614:function(l,e,t){var a=t(3236),r=a([`precision highp float; precision highp float; #define GLSLIFY 1 @@ -199,7 +416,7 @@ void main() { f_position = position.xyz; f_uv = uv; } -`]),n=o([`#extension GL_OES_standard_derivatives : enable +`]),n=a([`#extension GL_OES_standard_derivatives : enable precision highp float; #define GLSLIFY 1 @@ -290,7 +507,7 @@ void main() { gl_FragColor = litColor * opacity; } -`]),a=o([`precision highp float; +`]),i=a([`precision highp float; precision highp float; #define GLSLIFY 1 @@ -389,7 +606,7 @@ void main() { f_id = id; f_position = position.xyz; } -`]),s=o([`precision highp float; +`]),s=a([`precision highp float; #define GLSLIFY 1 bool outOfRange(float a, float b, float p) { @@ -422,49 +639,252 @@ void main() { if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; gl_FragColor = vec4(pickId, f_id.xyz); -}`]);t.meshShader={vertex:i,fragment:n,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},t.pickShader={vertex:a,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 i=96;function n(h,c){var m=o(getComputedStyle(h).getPropertyValue(c));return m[0]*s(m[1],h)}function a(h,c){var m=document.createElement("div");m.style["font-size"]="128"+h,c.appendChild(m);var d=n(m,"font-size")/128;return c.removeChild(m),d}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 a(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 i;case"cm":return i/2.54;case"mm":return i/25.4;case"pt":return i/72;case"pc":return i/6}return 1}},727:function(e,t,r){"use strict";var o=r(2962),i=6;function n(A){var M=A===2?h:A===3?c:A===4?m:A===5?d:T;return A<6?M(o[A]):M(o)}function a(){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 d(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=[a,s];function _(A,M,g,b,v,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 v(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*a+g*m,r[1]=M*s+g*d,r[2]=M*h+g*T,r[3]=M*c+g*l,r}},799:function(e,t,r){var o=r(3236),i=r(9405),n=o([`precision mediump float; -#define GLSLIFY 1 -attribute vec2 position; -varying vec2 uv; -void main() { - uv = position; - gl_Position = vec4(position, 0, 1); -}`]),a=o([`precision mediump float; +}`]);e.meshShader={vertex:r,fragment:n,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},e.pickShader={vertex:i,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},737:function(l){l.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(l,e,t){var a=t(737);l.exports=function(n){return a[n]}},9165:function(l,e,t){"use strict";l.exports=y;var a=t(2762),r=t(8116),n=t(3436),i=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(o,b,M,A){this.gl=o,this.shader=A,this.buffer=b,this.vao=M,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 c=s.prototype;c.isOpaque=function(){return!this.hasAlpha},c.isTransparent=function(){return this.hasAlpha},c.drawTransparent=c.draw=function(o){var b=this.gl,M=this.shader.uniforms;this.shader.bind();var A=M.view=o.view||i,E=M.projection=o.projection||i;M.model=o.model||i,M.clipBounds=this.clipBounds,M.opacity=this.opacity;var g=A[12],T=A[13],m=A[14],h=A[15],x=o._ortho||!1,_=x?2:1,D=_*this.pixelRatio*(E[3]*g+E[7]*T+E[11]*m+E[15]*h)/b.drawingBufferHeight;this.vao.bind();for(var C=0;C<3;++C)b.lineWidth(this.lineWidth[C]*this.pixelRatio),M.capSize=this.capSize[C]*D,this.lineCount[C]&&b.drawArrays(b.LINES,this.lineOffset[C],this.lineCount[C]);this.vao.unbind()};function p(o,b){for(var M=0;M<3;++M)o[0][M]=Math.min(o[0][M],b[M]),o[1][M]=Math.max(o[1][M],b[M])}var f=function(){for(var o=new Array(3),b=0;b<3;++b){for(var M=[],A=1;A<=2;++A)for(var E=-1;E<=1;E+=2){var g=(A+b)%3,T=[0,0,0];T[g]=E,M.push(T)}o[b]=M}return o}();function d(o,b,M,A){for(var E=f[A],g=0;g0){var F=x.slice();F[m]+=D[1][m],E.push(x[0],x[1],x[2],C[0],C[1],C[2],C[3],0,0,0,F[0],F[1],F[2],C[0],C[1],C[2],C[3],0,0,0),p(this.bounds,F),T+=2+d(E,F,C,m)}}}this.lineCount[m]=T-this.lineOffset[m]}this.buffer.update(E)}},c.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()};function y(o){var b=o.gl,M=a(b),A=r(b,[{buffer:M,type:b.FLOAT,size:3,offset:0,stride:40},{buffer:M,type:b.FLOAT,size:4,offset:12,stride:40},{buffer:M,type:b.FLOAT,size:3,offset:28,stride:40}]),E=n(b);E.attributes.position.location=0,E.attributes.color.location=1,E.attributes.offset.location=2;var g=new s(b,M,A,E);return g.update(o),g}},3436:function(l,e,t){"use strict";var a=t(3236),r=t(9405),n=a([`precision highp float; #define GLSLIFY 1 -uniform sampler2D accumBuffer; -varying vec2 uv; +attribute vec3 position, offset; +attribute vec4 color; +uniform mat4 model, view, projection; +uniform float capSize; +varying vec4 fragColor; +varying vec3 fragPosition; void main() { - vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0)); - gl_FragColor = min(vec4(1,1,1,1), accum); -}`]);e.exports=function(s){return i(s,n,a,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),i=o([`precision highp float; + vec4 worldPosition = model * vec4(position, 1.0); + worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0); + gl_Position = projection * (view * worldPosition); + fragColor = color; + fragPosition = position; +}`]),i=a([`precision highp float; #define GLSLIFY 1 -attribute vec3 position, normal; -attribute vec4 color; -attribute vec2 uv; - -uniform mat4 model - , view - , projection - , inverseModel; -uniform vec3 eyePosition - , lightPosition; - -varying vec3 f_normal - , f_lightDirection - , f_eyeDirection - , f_data; -varying vec4 f_color; -varying vec2 f_uv; - -vec4 project(vec3 p) { - return projection * (view * (model * vec4(p, 1.0))); +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); } -void main() { - gl_Position = project(position); +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float opacity; +varying vec3 fragPosition; +varying vec4 fragColor; + +void main() { + if ( + outOfRange(clipBounds[0], clipBounds[1], fragPosition) || + fragColor.a * opacity == 0. + ) discard; + + gl_FragColor = opacity * fragColor; +}`]);l.exports=function(s){return r(s,n,i,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},2260:function(l,e,t){"use strict";var a=t(7766);l.exports=T;var r=null,n,i,s,c;function p(m){var h=m.getParameter(m.FRAMEBUFFER_BINDING),x=m.getParameter(m.RENDERBUFFER_BINDING),_=m.getParameter(m.TEXTURE_BINDING_2D);return[h,x,_]}function f(m,h){m.bindFramebuffer(m.FRAMEBUFFER,h[0]),m.bindRenderbuffer(m.RENDERBUFFER,h[1]),m.bindTexture(m.TEXTURE_2D,h[2])}function d(m,h){var x=m.getParameter(h.MAX_COLOR_ATTACHMENTS_WEBGL);r=new Array(x+1);for(var _=0;_<=x;++_){for(var D=new Array(x),C=0;C<_;++C)D[C]=m.COLOR_ATTACHMENT0+C;for(var C=_;C1&&I.drawBuffersWEBGL(r[F]);var N=x.getExtension("WEBGL_depth_texture");N?z?m.depth=o(x,D,C,N.UNSIGNED_INT_24_8_WEBGL,x.DEPTH_STENCIL,x.DEPTH_STENCIL_ATTACHMENT):R&&(m.depth=o(x,D,C,x.UNSIGNED_SHORT,x.DEPTH_COMPONENT,x.DEPTH_ATTACHMENT)):R&&z?m._depth_rb=b(x,D,C,x.DEPTH_STENCIL,x.DEPTH_STENCIL_ATTACHMENT):R?m._depth_rb=b(x,D,C,x.DEPTH_COMPONENT16,x.DEPTH_ATTACHMENT):z&&(m._depth_rb=b(x,D,C,x.STENCIL_INDEX,x.STENCIL_ATTACHMENT));var q=x.checkFramebufferStatus(x.FRAMEBUFFER);if(q!==x.FRAMEBUFFER_COMPLETE){m._destroyed=!0,x.bindFramebuffer(x.FRAMEBUFFER,null),x.deleteFramebuffer(m.handle),m.handle=null,m.depth&&(m.depth.dispose(),m.depth=null),m._depth_rb&&(x.deleteRenderbuffer(m._depth_rb),m._depth_rb=null);for(var B=0;BD||x<0||x>D)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");m._shape[0]=h,m._shape[1]=x;for(var C=p(_),F=0;FC||x<0||x>C)throw new Error("gl-fbo: Parameters are too large for FBO");_=_||{};var F=1;if("color"in _){if(F=Math.max(_.color|0,0),F<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(F>1)if(D){if(F>m.getParameter(D.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+F+" draw buffers")}else throw new Error("gl-fbo: Multiple draw buffer extension not supported")}var I=m.UNSIGNED_BYTE,z=m.getExtension("OES_texture_float");if(_.float&&F>0){if(!z)throw new Error("gl-fbo: Context does not support floating point textures");I=m.FLOAT}else _.preferFloat&&F>0&&z&&(I=m.FLOAT);var R=!0;"depth"in _&&(R=!!_.depth);var k=!1;return"stencil"in _&&(k=!!_.stencil),new A(m,h,x,I,F,R,k,D)}},2992:function(l,e,t){var a=t(3387).sprintf,r=t(5171),n=t(1848),i=t(1085);l.exports=s;function s(c,p,f){"use strict";var d=n(p)||"of unknown name (see npm glsl-shader-name)",y="unknown type";f!==void 0&&(y=f===r.FRAGMENT_SHADER?"fragment":"vertex");for(var o=a(`Error compiling %s shader %s: +`,y,d),b=a("%s%s",o,c),M=c.split(` +`),A={},E=0;E max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform sampler2D dashTexture; +uniform float dashScale; +uniform float opacity; + +varying vec3 worldPosition; +varying float pixelArcLength; +varying vec4 fragColor; + +void main() { + if ( + outOfRange(clipBounds[0], clipBounds[1], worldPosition) || + fragColor.a * opacity == 0. + ) discard; + + float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r; + if(dashWeight < 0.5) { + discard; + } + gl_FragColor = fragColor * opacity; +} +`]),s=a([`precision highp float; +#define GLSLIFY 1 + +#define FLOAT_MAX 1.70141184e38 +#define FLOAT_MIN 1.17549435e-38 + +// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl +vec4 packFloat(float v) { + float av = abs(v); + + //Handle special cases + if(av < FLOAT_MIN) { + return vec4(0.0, 0.0, 0.0, 0.0); + } else if(v > FLOAT_MAX) { + return vec4(127.0, 128.0, 0.0, 0.0) / 255.0; + } else if(v < -FLOAT_MAX) { + return vec4(255.0, 128.0, 0.0, 0.0) / 255.0; + } + + vec4 c = vec4(0,0,0,0); + + //Compute exponent and mantissa + float e = floor(log2(av)); + float m = av * pow(2.0, -e) - 1.0; + + //Unpack mantissa + c[1] = floor(128.0 * m); + m -= c[1] / 128.0; + c[2] = floor(32768.0 * m); + m -= c[2] / 32768.0; + c[3] = floor(8388608.0 * m); + + //Unpack exponent + float ebias = e + 127.0; + c[0] = floor(ebias / 2.0); + ebias -= c[0] * 2.0; + c[1] += floor(ebias) * 128.0; + + //Unpack sign bit + c[0] += 128.0 * step(0.0, -v); + + //Scale back to range + return c / 255.0; +} + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform float pickId; +uniform vec3 clipBounds[2]; + +varying vec3 worldPosition; +varying float pixelArcLength; +varying vec4 fragColor; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard; + + gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz); +}`]),c=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];e.createShader=function(p){return r(p,n,i,null,c)},e.createPickShader=function(p){return r(p,n,s,null,c)}},5714:function(l,e,t){"use strict";l.exports=m;var a=t(2762),r=t(8116),n=t(7766),i=new Uint8Array(4),s=new Float32Array(i.buffer);function c(h,x,_,D){return i[0]=D,i[1]=_,i[2]=x,i[3]=h,s[0]}var p=t(2478),f=t(9618),d=t(7319),y=d.createShader,o=d.createPickShader,b=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function M(h,x){for(var _=0,D=0;D<3;++D){var C=h[D]-x[D];_+=C*C}return Math.sqrt(_)}function A(h){for(var x=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],_=0;_<3;++_)x[0][_]=Math.max(h[0][_],x[0][_]),x[1][_]=Math.min(h[1][_],x[1][_]);return x}function E(h,x,_,D){this.arcLength=h,this.position=x,this.index=_,this.dataCoordinate=D}function g(h,x,_,D,C,F){this.gl=h,this.shader=x,this.pickShader=_,this.buffer=D,this.vao=C,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=F,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var T=g.prototype;T.isTransparent=function(){return this.hasAlpha},T.isOpaque=function(){return!this.hasAlpha},T.pickSlots=1,T.setPickBase=function(h){this.pickId=h},T.drawTransparent=T.draw=function(h){if(this.vertexCount){var x=this.gl,_=this.shader,D=this.vao;_.bind(),_.uniforms={model:h.model||b,view:h.view||b,projection:h.projection||b,clipBounds:A(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[x.drawingBufferWidth,x.drawingBufferHeight],pixelRatio:this.pixelRatio},D.bind(),D.draw(x.TRIANGLE_STRIP,this.vertexCount),D.unbind()}},T.drawPick=function(h){if(this.vertexCount){var x=this.gl,_=this.pickShader,D=this.vao;_.bind(),_.uniforms={model:h.model||b,view:h.view||b,projection:h.projection||b,pickId:this.pickId,clipBounds:A(this.clipBounds),screenShape:[x.drawingBufferWidth,x.drawingBufferHeight],pixelRatio:this.pixelRatio},D.bind(),D.draw(x.TRIANGLE_STRIP,this.vertexCount),D.unbind()}},T.update=function(h){var x,_;this.dirty=!0;var D=!!h.connectGaps;"dashScale"in h&&(this.dashScale=h.dashScale),this.hasAlpha=!1,"opacity"in h&&(this.opacity=+h.opacity,this.opacity<1&&(this.hasAlpha=!0));var C=[],F=[],I=[],z=0,R=0,k=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],B=h.position||h.positions;if(B){var N=h.color||h.colors||[0,0,0,1],q=h.lineWidth||1,Y=!1;e:for(x=1;x0){for(var ae=0;ae<24;++ae)C.push(C[C.length-12]);R+=2,Y=!0}continue e}k[0][_]=Math.min(k[0][_],ee[_],te[_]),k[1][_]=Math.max(k[1][_],ee[_],te[_])}var j,G;Array.isArray(N[0])?(j=N.length>x-1?N[x-1]:N.length>0?N[N.length-1]:[0,0,0,1],G=N.length>x?N[x]:N.length>0?N[N.length-1]:[0,0,0,1]):j=G=N,j.length===3&&(j=[j[0],j[1],j[2],1]),G.length===3&&(G=[G[0],G[1],G[2],1]),!this.hasAlpha&&j[3]<1&&(this.hasAlpha=!0);var K;Array.isArray(q)?K=q.length>x-1?q[x-1]:q.length>0?q[q.length-1]:[0,0,0,1]:K=q;var H=z;if(z+=M(ee,te),Y){for(_=0;_<2;++_)C.push(ee[0],ee[1],ee[2],te[0],te[1],te[2],H,K,j[0],j[1],j[2],j[3]);R+=2,Y=!1}C.push(ee[0],ee[1],ee[2],te[0],te[1],te[2],H,K,j[0],j[1],j[2],j[3],ee[0],ee[1],ee[2],te[0],te[1],te[2],H,-K,j[0],j[1],j[2],j[3],te[0],te[1],te[2],ee[0],ee[1],ee[2],z,-K,G[0],G[1],G[2],G[3],te[0],te[1],te[2],ee[0],ee[1],ee[2],z,K,G[0],G[1],G[2],G[3]),R+=4}}if(this.buffer.update(C),F.push(z),I.push(B[B.length-1].slice()),this.bounds=k,this.vertexCount=R,this.points=I,this.arcLength=F,"dashes"in h){var Z=h.dashes,X=Z.slice();for(X.unshift(0),x=1;x1.0001)return null;_+=x[E]}return Math.abs(_-1)>.001?null:[g,c(f,x),x]}},840:function(l,e,t){var a=t(3236),r=a([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position, normal; +attribute vec4 color; +attribute vec2 uv; + +uniform mat4 model + , view + , projection + , inverseModel; +uniform vec3 eyePosition + , lightPosition; + +varying vec3 f_normal + , f_lightDirection + , f_eyeDirection + , f_data; +varying vec4 f_color; +varying vec2 f_uv; + +vec4 project(vec3 p) { + return projection * (view * (model * vec4(p, 1.0))); +} + +void main() { + gl_Position = project(position); //Lighting geometry parameters vec4 cameraCoordinate = view * vec4(position , 1.0); @@ -477,7 +897,7 @@ void main() { f_data = position; f_uv = uv; } -`]),n=o([`#extension GL_OES_standard_derivatives : enable +`]),n=a([`#extension GL_OES_standard_derivatives : enable precision highp float; #define GLSLIFY 1 @@ -582,7 +1002,7 @@ void main() { gl_FragColor = litColor * f_color.a; } -`]),a=o([`precision highp float; +`]),i=a([`precision highp float; #define GLSLIFY 1 attribute vec3 position; @@ -600,7 +1020,7 @@ void main() { f_color = color; f_data = position; f_uv = uv; -}`]),s=o([`precision highp float; +}`]),s=a([`precision highp float; #define GLSLIFY 1 bool outOfRange(float a, float b, float p) { @@ -635,7 +1055,7 @@ void main() { if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard; gl_FragColor = f_color * texture2D(texture, f_uv) * opacity; -}`]),h=o([`precision highp float; +}`]),c=a([`precision highp float; #define GLSLIFY 1 bool outOfRange(float a, float b, float p) { @@ -679,7 +1099,7 @@ void main() { gl_PointSize = pointSize; f_color = color; f_uv = uv; -}`]),c=o([`precision highp float; +}`]),p=a([`precision highp float; #define GLSLIFY 1 uniform sampler2D texture; @@ -694,7 +1114,7 @@ void main() { discard; } gl_FragColor = f_color * texture2D(texture, f_uv) * opacity; -}`]),m=o([`precision highp float; +}`]),f=a([`precision highp float; #define GLSLIFY 1 attribute vec3 position; @@ -709,7 +1129,7 @@ void main() { gl_Position = projection * (view * (model * vec4(position, 1.0))); f_id = id; f_position = position; -}`]),d=o([`precision highp float; +}`]),d=a([`precision highp float; #define GLSLIFY 1 bool outOfRange(float a, float b, float p) { @@ -742,7 +1162,7 @@ void main() { if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; gl_FragColor = vec4(pickId, f_id.xyz); -}`]),T=o([`precision highp float; +}`]),y=a([`precision highp float; #define GLSLIFY 1 bool outOfRange(float a, float b, float p) { @@ -785,7 +1205,7 @@ void main() { } f_id = id; f_position = position; -}`]),l=o([`precision highp float; +}`]),o=a([`precision highp float; #define GLSLIFY 1 attribute vec3 position; @@ -794,7 +1214,7 @@ uniform mat4 model, view, projection; void main() { gl_Position = projection * (view * (model * vec4(position, 1.0))); -}`]),_=o([`precision highp float; +}`]),b=a([`precision highp float; #define GLSLIFY 1 uniform vec3 contourColor; @@ -802,212 +1222,23 @@ uniform vec3 contourColor; void main() { gl_FragColor = vec4(contourColor, 1.0); } -`]);t.meshShader={vertex:i,fragment:n,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},t.wireShader={vertex:a,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:d,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},t.pointPickShader={vertex:T,fragment:d,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:v,scanComplete:u};var o=r(1888),i=r(8828),n=r(4192),a=1<<28,s=1024,h=o.mallocInt32(s),c=o.mallocInt32(s),m=o.mallocInt32(s),d=o.mallocInt32(s),T=o.mallocInt32(s),l=o.mallocInt32(s),_=o.mallocDouble(s*8);function w(y){var f=i.nextPow2(y);h.length>>1;n(_,ee);for(var V=0,oe=0,le=0;le=a)ie=ie-a|0,A(m,d,oe--,ie);else if(ie>=0)A(h,c,V--,ie);else if(ie<=-a){ie=-ie-a|0;for(var j=0;j>>1;n(_,ee);for(var V=0,oe=0,ie=0,le=0;le>1===_[2*le+3]>>1&&(Q=2,le+=1),j<0){for(var re=-(j>>1)-1,ue=0;ue>1)-1;Q===0?A(h,c,V--,re):Q===1?A(m,d,oe--,re):Q===2&&A(T,l,ie--,re)}}}function v(y,f,R,L,z,F,N,B,I,U,O,X){var J=0,se=2*y,le=f,ce=f+y,q=1,Z=1;L?Z=a:q=a;for(var ee=z;ee>>1;n(_,j);for(var Q=0,ee=0;ee=a?(ue=!L,V-=a):(ue=!!L,V-=1),ue)M(h,c,Q++,V);else{var _e=X[V],we=se*V,Re=O[we+f+1],ze=O[we+f+1+y];e:for(var Xe=0;Xe>>1;n(_,V);for(var oe=0,ce=0;ce=a)h[oe++]=q-a;else{q-=1;var j=O[q],Q=J*q,re=U[Q+f+1],ue=U[Q+f+1+y];e:for(var _e=0;_e=0;--_e)if(h[_e]===q){for(var Xe=_e+1;Xeae&&G>0){var K=(j[G][0]-ae)/(j[G][0]-j[G-1][0]);return j[G][1]*(1-K)+K*j[G-1][1]}}return 1}function z(ae,j){for(var G=o({colormap:ae,nshades:256,format:"rgba"}),K=new Uint8Array(256*4),H=0;H<256;++H){for(var Z=G[H],X=0;X<3;++X)K[4*H+X]=Z[X];j?K[4*H+3]=255*I(H/255,j):K[4*H+3]=255*Z[3]}return y(K,[256,256,4],[4,0,1])}function R(ae){for(var j=ae.length,G=new Array(j),K=0;K0){var ge=this.triShader;ge.bind(),ge.uniforms=$,this.triangleVAO.bind(),j.drawArrays(j.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}if(this.edgeCount>0&&this.lineWidth>0){var ge=this.lineShader;ge.bind(),ge.uniforms=$,this.edgeVAO.bind(),j.lineWidth(this.lineWidth*this.pixelRatio),j.drawArrays(j.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()}if(this.pointCount>0){var ge=this.pointShader;ge.bind(),ge.uniforms=$,this.pointVAO.bind(),j.drawArrays(j.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0){var ge=this.contourShader;ge.bind(),ge.uniforms=$,this.contourVAO.bind(),j.drawArrays(j.LINES,0,this.contourCount),this.contourVAO.unbind()}},F.drawPick=function(ae){ae=ae||{};for(var j=this.gl,G=ae.model||D,K=ae.view||D,H=ae.projection||D,Z=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],X=0;X<3;++X)Z[0][X]=Math.max(Z[0][X],this.clipBounds[0][X]),Z[1][X]=Math.min(Z[1][X],this.clipBounds[1][X]);this._model=[].slice.call(G),this._view=[].slice.call(K),this._projection=[].slice.call(H),this._resolution=[j.drawingBufferWidth,j.drawingBufferHeight];var $={model:G,view:K,projection:H,clipBounds:Z,pickId:this.pickId/255},Q=this.pickShader;if(Q.bind(),Q.uniforms=$,this.triangleCount>0&&(this.triangleVAO.bind(),j.drawArrays(j.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),j.lineWidth(this.lineWidth*this.pixelRatio),j.drawArrays(j.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()),this.pointCount>0){var Q=this.pointPickShader;Q.bind(),Q.uniforms=$,this.pointVAO.bind(),j.drawArrays(j.POINTS,0,this.pointCount),this.pointVAO.unbind()}},F.pick=function(ae){if(!ae||ae.id!==this.pickId)return null;for(var j=ae.value[0]+256*ae.value[1]+65536*ae.value[2],G=this.cells[j],K=this.positions,H=new Array(G.length),Z=0;ZMath.abs(h))o.rotate(D,0,0,-m*x*Math.PI*g.rotateSpeed/window.innerWidth);else if(!g._ortho){var C=-g.zoomSpeed*_*h/window.innerHeight*(D-o.lastT())/20;o.pan(D,0,0,M*(Math.exp(C)-1))}}},!0)},g.enableMouseListeners(),g}},799:function(l,e,t){var a=t(3236),r=t(9405),n=a([`precision mediump float; #define GLSLIFY 1 - -attribute vec4 uv; -attribute vec3 f; -attribute vec3 normal; - -uniform vec3 objectOffset; -uniform mat4 model, view, projection, inverseModel; -uniform vec3 lightPosition, eyePosition; -uniform sampler2D colormap; - -varying float value, kill; -varying vec3 worldCoordinate; -varying vec2 planeCoordinate; -varying vec3 lightDirection, eyeDirection, surfaceNormal; -varying vec4 vColor; - +attribute vec2 position; +varying vec2 uv; void main() { - vec3 localCoordinate = vec3(uv.zw, f.x); - worldCoordinate = objectOffset + localCoordinate; - mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0)); - vec4 worldPosition = (model * objectOffsetTranslation) * vec4(localCoordinate, 1.0); - vec4 clipPosition = projection * (view * worldPosition); - gl_Position = clipPosition; - kill = f.y; - value = f.z; - planeCoordinate = uv.xy; + uv = position; + gl_Position = vec4(position, 0, 1); +}`]),i=a([`precision mediump float; +#define GLSLIFY 1 - vColor = texture2D(colormap, vec2(value, value)); +uniform sampler2D accumBuffer; +varying vec2 uv; - //Lighting geometry parameters - vec4 cameraCoordinate = view * worldPosition; - cameraCoordinate.xyz /= cameraCoordinate.w; - lightDirection = lightPosition - cameraCoordinate.xyz; - eyeDirection = eyePosition - cameraCoordinate.xyz; - surfaceNormal = normalize((vec4(normal,0) * inverseModel).xyz); -} -`]),a=i([`precision highp float; -#define GLSLIFY 1 - -float beckmannDistribution(float x, float roughness) { - float NdotH = max(x, 0.0001); - float cos2Alpha = NdotH * NdotH; - float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha; - float roughness2 = roughness * roughness; - float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha; - return exp(tan2Alpha / roughness2) / denom; -} - -float beckmannSpecular( - vec3 lightDirection, - vec3 viewDirection, - vec3 surfaceNormal, - float roughness) { - return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness); -} - -bool outOfRange(float a, float b, float p) { - return ((p > max(a, b)) || - (p < min(a, b))); -} - -bool outOfRange(vec2 a, vec2 b, vec2 p) { - return (outOfRange(a.x, b.x, p.x) || - outOfRange(a.y, b.y, p.y)); -} - -bool outOfRange(vec3 a, vec3 b, vec3 p) { - return (outOfRange(a.x, b.x, p.x) || - outOfRange(a.y, b.y, p.y) || - outOfRange(a.z, b.z, p.z)); -} - -bool outOfRange(vec4 a, vec4 b, vec4 p) { - return outOfRange(a.xyz, b.xyz, p.xyz); -} - -uniform vec3 lowerBound, upperBound; -uniform float contourTint; -uniform vec4 contourColor; -uniform sampler2D colormap; -uniform vec3 clipBounds[2]; -uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity; -uniform float vertexColor; - -varying float value, kill; -varying vec3 worldCoordinate; -varying vec3 lightDirection, eyeDirection, surfaceNormal; -varying vec4 vColor; - -void main() { - if ( - kill > 0.0 || - vColor.a == 0.0 || - outOfRange(clipBounds[0], clipBounds[1], worldCoordinate) - ) discard; - - vec3 N = normalize(surfaceNormal); - vec3 V = normalize(eyeDirection); - vec3 L = normalize(lightDirection); - - if(gl_FrontFacing) { - N = -N; - } - - float specular = max(beckmannSpecular(L, V, N, roughness), 0.); - float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0); - - //decide how to interpolate color \u2014 in vertex or in fragment - vec4 surfaceColor = - step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + - step(.5, vertexColor) * vColor; - - vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0); - - gl_FragColor = mix(litColor, contourColor, contourTint) * opacity; -} -`]),s=i([`precision highp float; -#define GLSLIFY 1 - -attribute vec4 uv; -attribute float f; - -uniform vec3 objectOffset; -uniform mat3 permutation; -uniform mat4 model, view, projection; -uniform float height, zOffset; -uniform sampler2D colormap; - -varying float value, kill; -varying vec3 worldCoordinate; -varying vec2 planeCoordinate; -varying vec3 lightDirection, eyeDirection, surfaceNormal; -varying vec4 vColor; - -void main() { - vec3 dataCoordinate = permutation * vec3(uv.xy, height); - worldCoordinate = objectOffset + dataCoordinate; - mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0)); - vec4 worldPosition = (model * objectOffsetTranslation) * vec4(dataCoordinate, 1.0); - - vec4 clipPosition = projection * (view * worldPosition); - clipPosition.z += zOffset; - - gl_Position = clipPosition; - value = f + objectOffset.z; - kill = -1.0; - planeCoordinate = uv.zw; - - vColor = texture2D(colormap, vec2(value, value)); - - //Don't do lighting for contours - surfaceNormal = vec3(1,0,0); - eyeDirection = vec3(0,1,0); - lightDirection = vec3(0,0,1); -} -`]),h=i([`precision highp float; -#define GLSLIFY 1 - -bool outOfRange(float a, float b, float p) { - return ((p > max(a, b)) || - (p < min(a, b))); -} - -bool outOfRange(vec2 a, vec2 b, vec2 p) { - return (outOfRange(a.x, b.x, p.x) || - outOfRange(a.y, b.y, p.y)); -} - -bool outOfRange(vec3 a, vec3 b, vec3 p) { - return (outOfRange(a.x, b.x, p.x) || - outOfRange(a.y, b.y, p.y) || - outOfRange(a.z, b.z, p.z)); -} - -bool outOfRange(vec4 a, vec4 b, vec4 p) { - return outOfRange(a.xyz, b.xyz, p.xyz); -} - -uniform vec2 shape; -uniform vec3 clipBounds[2]; -uniform float pickId; - -varying float value, kill; -varying vec3 worldCoordinate; -varying vec2 planeCoordinate; -varying vec3 surfaceNormal; - -vec2 splitFloat(float v) { - float vh = 255.0 * v; - float upper = floor(vh); - float lower = fract(vh); - return vec2(upper / 255.0, floor(lower * 16.0) / 16.0); -} - -void main() { - if ((kill > 0.0) || - (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard; - - vec2 ux = splitFloat(planeCoordinate.x / shape.x); - vec2 uy = splitFloat(planeCoordinate.y / shape.y); - gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0)); -} -`]);t.createShader=function(c){var m=o(c,n,a,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,a,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=i;function i(n,a,s){a=typeof a=="number"?a:1,s=s||": ";var h=n.split(/\r?\n/),c=String(h.length+a-1).length;return h.map(function(m,d){var T=d+a,l=String(T).length,_=o(T,c-l);return _+s+m}).join(` -`)}},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 i(a,s,h,c){for(var m=0;m<2;++m){var d=a[m],T=s[m],l=Math.min(d,T),_=Math.max(d,T),w=h[m],A=c[m],M=Math.min(w,A),g=Math.max(w,A);if(g0&&d>0||m<0&&d<0)return!1;var T=o(h,a,s),l=o(c,a,s);return T>0&&l>0||T<0&&l<0?!1:m===0&&d===0&&T===0&&l===0?i(a,s,h,c):!0}},1278:function(e,t,r){"use strict";var o=r(2361),i=Math.pow(2,-1074),n=-1>>>0;e.exports=a;function a(s,h){if(isNaN(s)||isNaN(h))return NaN;if(s===h)return s;if(s===0)return h<0?-i:i;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),i=r(3236),n=i([`precision highp float; +void main() { + vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0)); + gl_FragColor = min(vec4(1,1,1,1), accum); +}`]);l.exports=function(s){return r(s,n,i,null,[{name:"position",type:"vec2"}])}},4100:function(l,e,t){"use strict";var a=t(4437),r=t(3837),n=t(5445),i=t(4449),s=t(3589),c=t(2260),p=t(7169),f=t(351),d=t(4772),y=t(4040),o=t(799),b=t(9216)({tablet:!0,featureDetect:!0});l.exports={createScene:T,createCamera:a};function M(){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(h,x){var _=null;try{_=h.getContext("webgl",x),_||(_=h.getContext("experimental-webgl",x))}catch{return null}return _}function E(h){var x=Math.round(Math.log(Math.abs(h))/Math.log(10));if(x<0){var _=Math.round(Math.pow(10,-x));return Math.ceil(h*_)/_}else if(x>0){var _=Math.round(Math.pow(10,x));return Math.ceil(h/_)*_}return Math.ceil(h)}function g(h){return typeof h=="boolean"?h:!0}function T(h){h=h||{},h.camera=h.camera||{};var x=h.canvas;if(!x)if(x=document.createElement("canvas"),h.container){var _=h.container;_.appendChild(x)}else document.body.appendChild(x);var D=h.gl;if(D||(h.glOptions&&(b=!!h.glOptions.preserveDrawingBuffer),D=A(x,h.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:b})),!D)throw new Error("webgl not supported");var C=h.bounds||[[-10,-10,-10],[10,10,10]],F=new M,I=c(D,D.drawingBufferWidth,D.drawingBufferHeight,{preferFloat:!b}),z=o(D),R=h.cameraObject&&h.cameraObject._ortho===!0||h.camera.projection&&h.camera.projection.type==="orthographic"||!1,k={eye:h.camera.eye||[2,0,0],center:h.camera.center||[0,0,0],up:h.camera.up||[0,1,0],zoomMin:h.camera.zoomMax||.1,zoomMax:h.camera.zoomMin||100,mode:h.camera.mode||"turntable",_ortho:R},B=h.axes||{},N=r(D,B);N.enable=!B.disable;var q=h.spikes||{},Y=i(D,q),ee=[],te=[],ae=[],j=[],G=!0,X=!0,K=new Array(16),H=new Array(16),Z={view:null,projection:K,model:H,_ortho:!1},X=!0,$=[D.drawingBufferWidth,D.drawingBufferHeight],Q=h.cameraObject||a(x,k),re={gl:D,contextLost:!1,pixelRatio:h.pixelRatio||1,canvas:x,selection:F,camera:Q,axes:N,axesPixels:null,spikes:Y,bounds:C,objects:ee,shape:$,aspect:h.aspectRatio||[1,1,1],pickRadius:h.pickRadius||10,zNear:h.zNear||.01,zFar:h.zFar||1e3,fovy:h.fovy||Math.PI/4,clearColor:h.clearColor||[0,0,0,0],autoResize:g(h.autoResize),autoBounds:g(h.autoBounds),autoScale:!!h.autoScale,autoCenter:g(h.autoCenter),clipToBounds:g(h.clipToBounds),snapToData:!!h.snapToData,onselect:h.onselect||null,onrender:h.onrender||null,onclick:h.onclick||null,cameraParams:Z,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(ce){this.aspect[0]=ce.x,this.aspect[1]=ce.y,this.aspect[2]=ce.z,X=!0},setBounds:function(ce,ie){this.bounds[0][ce]=ie.min,this.bounds[1][ce]=ie.max},setClearColor:function(ce){this.clearColor=ce},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)}},ue=[D.drawingBufferWidth/re.pixelRatio|0,D.drawingBufferHeight/re.pixelRatio|0];function pe(){if(!re._stopped&&re.autoResize){var ce=x.parentNode,ie=1,se=1;ce&&ce!==document.body?(ie=ce.clientWidth,se=ce.clientHeight):(ie=window.innerWidth,se=window.innerHeight);var ne=Math.ceil(ie*re.pixelRatio)|0,be=Math.ceil(se*re.pixelRatio)|0;if(ne!==x.width||be!==x.height){x.width=ne,x.height=be;var De=x.style;De.position=De.position||"absolute",De.left="0px",De.top="0px",De.width=ie+"px",De.height=se+"px",G=!0}}}re.autoResize&&pe(),window.addEventListener("resize",pe);function ge(){for(var ce=ee.length,ie=j.length,se=0;se0&&ae[ie-1]===0;)ae.pop(),j.pop().dispose()}re.update=function(ce){re._stopped||(ce=ce||{},G=!0,X=!0)},re.add=function(ce){re._stopped||(ce.axes=N,ee.push(ce),te.push(-1),G=!0,X=!0,ge())},re.remove=function(ce){if(!re._stopped){var ie=ee.indexOf(ce);ie<0||(ee.splice(ie,1),te.pop(),G=!0,X=!0,ge())}},re.dispose=function(){if(!re._stopped&&(re._stopped=!0,window.removeEventListener("resize",pe),x.removeEventListener("webglcontextlost",Te),re.mouseListener.enabled=!1,!re.contextLost)){N.dispose(),Y.dispose();for(var ce=0;ceF.distance)continue;for(var ot=0;ot1e-6?(b=Math.acos(M),A=Math.sin(b),E=Math.sin((1-n)*b)/A,g=Math.sin(n*b)/A):(E=1-n,g=n),t[0]=E*i+g*f,t[1]=E*s+g*d,t[2]=E*c+g*y,t[3]=E*p+g*o,t}},5964:function(l){"use strict";l.exports=function(e){return!e&&e!==0?"":e.toString()}},9366:function(l,e,t){"use strict";var a=t(4359);l.exports=n;var r={};function n(i,s,c){var p=[s.style,s.weight,s.variant,s.family].join("_"),f=r[p];if(f||(f=r[p]={}),i in f)return f[i];var d={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}};d.triangles=!0;var y=a(i,d);d.triangles=!1;var o=a(i,d),b,M;if(c&&c!==1){for(b=0;bs[1][0])h=s[1],c=s[0];else{var m=Math.min(a[0][1],a[1][1]),d=Math.max(a[0][1],a[1][1]),T=Math.min(s[0][1],s[1][1]),l=Math.max(s[0][1],s[1][1]);return dl?m-l:d-l}var _,w;a[0][1]s[1][0])h=s[1],c=s[0];else return i(s,a);var m,d;if(a[0][0]a[1][0])m=a[1],d=a[0];else return-i(a,s);var T=o(h,c,d),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(d,m,c),l=o(d,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]-d[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(i,n,a){var s=i[a]|0;if(s<=0)return[];var h=new Array(s),c;if(a===i.length-1)for(c=0;c"u"&&(n=0),typeof i){case"number":if(i>0)return r(i|0,n);break;case"object":if(typeof i.length=="number")return t(i,n,0);break}return[]}e.exports=o},1369:function(e,t,r){"use strict";var o=r(5716);e.exports=i;function i(n){var a=n.length,s=n.words,h=0;if(a===1)h=s[0];else if(a===2)h=s[0]+s[1]*67108864;else for(var c=0;cn)throw new Error("gl-vao: Too many vertex attributes");for(var a=0;a1?1:H}function m(H,Z,X,$,Q,re,ue,pe,ge,Te,Se,Ce){this.gl=H,this.pixelRatio=1,this.shader=Z,this.orthoShader=X,this.projectShader=$,this.pointBuffer=Q,this.colorBuffer=re,this.glyphBuffer=ue,this.idBuffer=pe,this.vao=ge,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=Te,this.pickOrthoShader=Se,this.pickProjectShader=Ce,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 h=m.prototype;h.pickSlots=1,h.setPickBase=function(H){this.pickId=H},h.isTransparent=function(){if(this.hasAlpha)return!0;for(var H=0;H<3;++H)if(this.axesProject[H]&&this.projectHasAlpha)return!0;return!1},h.isOpaque=function(){if(!this.hasAlpha)return!0;for(var H=0;H<3;++H)if(this.axesProject[H]&&!this.projectHasAlpha)return!0;return!1};var x=[0,0],_=[0,0,0],D=[0,0,0],C=[0,0,0,1],F=[0,0,0,1],I=d.slice(),z=[0,0,0],R=[[0,0,0],[0,0,0]];function k(H){return H[0]=H[1]=H[2]=0,H}function B(H,Z){return H[0]=Z[0],H[1]=Z[1],H[2]=Z[2],H[3]=1,H}function N(H,Z,X,$){return H[0]=Z[0],H[1]=Z[1],H[2]=Z[2],H[X]=$,H}function q(H){for(var Z=R,X=0;X<2;++X)for(var $=0;$<3;++$)Z[X][$]=Math.max(Math.min(H[X][$],1e8),-1e8);return Z}function Y(H,Z,X,$){var Q=Z.axesProject,re=Z.gl,ue=H.uniforms,pe=X.model||d,ge=X.view||d,Te=X.projection||d,Se=Z.axesBounds,Ce=q(Z.clipBounds),Ue;Z.axes&&Z.axes.lastCubeProps?Ue=Z.axes.lastCubeProps.axis:Ue=[1,1,1],x[0]=2/re.drawingBufferWidth,x[1]=2/re.drawingBufferHeight,H.bind(),ue.view=ge,ue.projection=Te,ue.screenSize=x,ue.highlightId=Z.highlightId,ue.highlightScale=Z.highlightScale,ue.clipBounds=Ce,ue.pickGroup=Z.pickId/255,ue.pixelRatio=$;for(var Oe=0;Oe<3;++Oe)if(Q[Oe]){ue.scale=Z.projectScale[Oe],ue.opacity=Z.projectOpacity[Oe];for(var _e=I,ce=0;ce<16;++ce)_e[ce]=0;for(var ce=0;ce<4;++ce)_e[5*ce]=1;_e[5*Oe]=0,Ue[Oe]<0?_e[12+Oe]=Se[0][Oe]:_e[12+Oe]=Se[1][Oe],s(_e,pe,_e),ue.model=_e;var ie=(Oe+1)%3,se=(Oe+2)%3,ne=k(_),be=k(D);ne[ie]=1,be[se]=1;var De=E(Te,ge,pe,B(C,ne)),qe=E(Te,ge,pe,B(F,be));if(Math.abs(De[1])>Math.abs(qe[1])){var Ne=De;De=qe,qe=Ne,Ne=ne,ne=be,be=Ne;var ut=ie;ie=se,se=ut}De[0]<0&&(ne[ie]=-1),qe[1]>0&&(be[se]=-1);for(var ot=0,yt=0,ce=0;ce<4;++ce)ot+=Math.pow(pe[4*ie+ce],2),yt+=Math.pow(pe[4*se+ce],2);ne[ie]/=Math.sqrt(ot),be[se]/=Math.sqrt(yt),ue.axes[0]=ne,ue.axes[1]=be,ue.fragClipBounds[0]=N(z,Ce[0],Oe,-1e8),ue.fragClipBounds[1]=N(z,Ce[1],Oe,1e8),Z.vao.bind(),Z.vao.draw(re.TRIANGLES,Z.vertexCount),Z.lineWidth>0&&(re.lineWidth(Z.lineWidth*$),Z.vao.draw(re.LINES,Z.lineVertexCount,Z.vertexCount)),Z.vao.unbind()}}var ee=[-1e8,-1e8,-1e8],te=[1e8,1e8,1e8],ae=[ee,te];function j(H,Z,X,$,Q,re,ue){var pe=X.gl;if((re===X.projectHasAlpha||ue)&&Y(Z,X,$,Q),re===X.hasAlpha||ue){H.bind();var ge=H.uniforms;ge.model=$.model||d,ge.view=$.view||d,ge.projection=$.projection||d,x[0]=2/pe.drawingBufferWidth,x[1]=2/pe.drawingBufferHeight,ge.screenSize=x,ge.highlightId=X.highlightId,ge.highlightScale=X.highlightScale,ge.fragClipBounds=ae,ge.clipBounds=X.axes.bounds,ge.opacity=X.opacity,ge.pickGroup=X.pickId/255,ge.pixelRatio=Q,X.vao.bind(),X.vao.draw(pe.TRIANGLES,X.vertexCount),X.lineWidth>0&&(pe.lineWidth(X.lineWidth*Q),X.vao.draw(pe.LINES,X.lineVertexCount,X.vertexCount)),X.vao.unbind()}}h.draw=function(H){var Z=this.useOrtho?this.orthoShader:this.shader;j(Z,this.projectShader,this,H,this.pixelRatio,!1,!1)},h.drawTransparent=function(H){var Z=this.useOrtho?this.orthoShader:this.shader;j(Z,this.projectShader,this,H,this.pixelRatio,!0,!1)},h.drawPick=function(H){var Z=this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader;j(Z,this.pickProjectShader,this,H,1,!0,!0)},h.pick=function(H){if(!H||H.id!==this.pickId)return null;var Z=H.value[2]+(H.value[1]<<8)+(H.value[0]<<16);if(Z>=this.pointCount||Z<0)return null;var X=this.points[Z],$=this._selectResult;$.index=Z;for(var Q=0;Q<3;++Q)$.position[Q]=$.dataCoordinate[Q]=X[Q];return $},h.highlight=function(H){if(!H)this.highlightId=[1,1,1,1];else{var Z=H.index,X=Z&255,$=Z>>8&255,Q=Z>>16&255;this.highlightId=[X/255,$/255,Q/255,0]}};function G(H,Z,X,$){var Q;M(H)?Z0){var Jt=0,at=se,Ee=[0,0,0,1],Re=[0,0,0,1],he=M(Ue)&&M(Ue[0]),ye=M(ce)&&M(ce[0]);e:for(var $=0;$0?1-yt[0][0]:ft<0?1+yt[1][0]:1,mt*=mt>0?1-yt[0][1]:mt<0?1+yt[1][1]:1;for(var _t=[ft,mt],ca=ut.cells||[],na=ut.positions||[],qe=0;qethis.buffer.length){r.free(this.buffer);for(var M=this.buffer=r.mallocUint8(i(b*o*4)),A=0;AM)for(o=M;ob)for(o=b;o=0){for(var R=z.type.charAt(z.type.length-1)|0,k=new Array(R),B=0;B=0;)N+=1;F[I]=N}var q=new Array(M.length);function Y(){g.program=i.program(T,g._vref,g._fref,C,F);for(var ee=0;ee=0){var h=T.charCodeAt(T.length-1)-48;if(h<2||h>4)throw new a("","Invalid data type for attribute "+g+": "+T);s(f,d,m[0],o,h,b,g)}else if(T.indexOf("mat")>=0){var h=T.charCodeAt(T.length-1)-48;if(h<2||h>4)throw new a("","Invalid data type for attribute "+g+": "+T);c(f,d,m,o,h,b,g)}else throw new a("","Unknown data type for attribute "+g+": "+T);break}}return b}},3327:function(l,e,t){"use strict";var a=t(216),r=t(8866);l.exports=s;function n(c){return function(){return c}}function i(c,p){for(var f=new Array(c),d=0;d4)throw new r("","Invalid data type");switch(N.charAt(0)){case"b":case"i":c["uniform"+q+"iv"](d[F],I);break;case"v":c["uniform"+q+"fv"](d[F],I);break;default:throw new r("","Unrecognized data type for vector "+name+": "+N)}}else if(N.indexOf("mat")===0&&N.length===4){if(q=N.charCodeAt(N.length-1)-48,q<2||q>4)throw new r("","Invalid uniform dimension type for matrix "+name+": "+N);c["uniformMatrix"+q+"fv"](d[F],!1,I);break}else throw new r("","Unknown uniform data type for "+name+": "+N)}}}}}function b(T,m){if(typeof m!="object")return[[T,m]];var h=[];for(var x in m){var _=m[x],D=T;parseInt(x)+""===x?D+="["+x+"]":D+="."+x,typeof _=="object"?h.push.apply(h,b(D,_)):h.push([D,_])}return h}function M(T){switch(T){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":return 0;case"float":return 0;default:var m=T.indexOf("vec");if(0<=m&&m<=1&&T.length===4+m){var h=T.charCodeAt(T.length-1)-48;if(h<2||h>4)throw new r("","Invalid data type");return T.charAt(0)==="b"?i(h,!1):i(h,0)}else if(T.indexOf("mat")===0&&T.length===4){var h=T.charCodeAt(T.length-1)-48;if(h<2||h>4)throw new r("","Invalid uniform dimension type for matrix "+name+": "+T);return i(h*h,0)}else throw new r("","Unknown uniform data type for "+name+": "+T)}}function A(T,m,h){if(typeof h=="object"){var x=E(h);Object.defineProperty(T,m,{get:n(x),set:o(h),enumerable:!0,configurable:!1})}else d[h]?Object.defineProperty(T,m,{get:y(h),set:o(h),enumerable:!0,configurable:!1}):T[m]=M(f[h].type)}function E(T){var m;if(Array.isArray(T)){m=new Array(T.length);for(var h=0;h1){f[0]in c||(c[f[0]]=[]),c=c[f[0]];for(var d=1;d1)for(var b=0;b"u"?t(606):WeakMap,i=new n,s=0;function c(A,E,g,T,m,h,x){this.id=A,this.src=E,this.type=g,this.shader=T,this.count=h,this.programs=[],this.cache=x}c.prototype.dispose=function(){if(--this.count===0){for(var A=this.cache,E=A.gl,g=this.programs,T=0,m=g.length;T=0?R[O]:U)}function F(I){var U=M(I);return U?L in U:f.indexOf(I)>=0}function N(I,U){var O,X=M(I);return X?X[L]=U:(O=f.indexOf(I),O>=0?R[O]=U:(O=f.length,R[O]=U,f[O]=I)),this}function B(I){var U=M(I),O,X;return U?L in U&&delete U[L]:(O=f.indexOf(I),O<0?!1:(X=f.length-1,f[O]=void 0,R[O]=R[X],f[O]=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(B)}})};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 i=="function"?function(){o&&typeof Proxy<"u"&&(Proxy=void 0);function f(){this instanceof y||v();var R=new i,L=void 0,z=!1;function F(U,O){return L?R.has(U)?R.get(U):L.get___(U,O):R.get(U,O)}function N(U){return R.has(U)||(L?L.has___(U):!1)}var B;o?B=function(U,O){return R.set(U,O),R.has(U)||(L||(L=new y),L.set(U,O)),this}:B=function(U,O){if(z)try{R.set(U,O)}catch{L||(L=new y),L.set___(U,O)}else R.set(U,O);return this};function I(U){var O=!!R.delete(U);return L&&L.delete___(U)||O}return Object.create(y.prototype,{get___:{value:g(F)},has___:{value:g(N)},set___:{value:g(B)},delete___:{value:g(I)},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 i(a,s,h,c){for(var m=Math.min(h,c)|0,d=Math.max(h,c)|0,T=a[2*m],l=a[2*m+1];T>1,w=s[2*_+1];if(w===d)return _;d>1,w=s[2*_+1];if(w===d)return _;d>1,w=s[2*_+1];if(w===d)return _;d>1,w=s[2*_+1];if(w===d)return _;d 0 U ||b|| > 0. + // Assign z = 0, x = -b, y = a: + // a*-b + b*a + c*0 = -ba + ba + 0 = 0 + if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) { + return normalize(vec3(-v.y, v.x, 0.0)); + } else { + return normalize(vec3(0.0, v.z, -v.y)); + } +} -uniform mat4 model, view, projection; -uniform vec3 offset, majorAxis, minorAxis, screenAxis; -uniform float lineWidth; -uniform vec2 screenShape; +// Calculate the tube vertex and normal at the given index. +// +// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d. +// +// Each tube segment is made up of a ring of vertices. +// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array. +// The indexes of tube segments run from 0 to 8. +// +vec3 getTubePosition(vec3 d, float index, out vec3 normal) { + float segmentCount = 8.0; -vec3 project(vec3 p) { - vec4 pp = projection * (view * (model * vec4(p, 1.0))); - return pp.xyz / max(pp.w, 0.0001); -} + float angle = 2.0 * 3.14159 * (index / segmentCount); -void main() { - vec3 major = position.x * majorAxis; - vec3 minor = position.y * minorAxis; + vec3 u = getOrthogonalVector(d); + vec3 v = normalize(cross(u, d)); - vec3 vPosition = major + minor + offset; - vec3 pPosition = project(vPosition); - vec3 offset = project(vPosition + screenAxis * position.z); + vec3 x = u * cos(angle) * length(d); + vec3 y = v * sin(angle) * length(d); + vec3 v3 = x + y; - vec2 screen = normalize((offset - pPosition).xy * screenShape) / screenShape; + normal = normalize(v3); - gl_Position = vec4(pPosition + vec3(0.5 * screen * lineWidth, 0), 1.0); + return v3; } -`]),a=o([`precision highp float; -#define GLSLIFY 1 -uniform vec4 color; +attribute vec4 vector; +attribute vec4 color, position; +attribute vec2 uv; + +uniform float vectorScale, tubeScale; +uniform mat4 model, view, projection, inverseModel; +uniform vec3 eyePosition, lightPosition; + +varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position; +varying vec4 f_color; +varying vec2 f_uv; + void main() { - gl_FragColor = color; -}`]);t.n=function(d){return i(d,n,a,null,[{name:"position",type:"vec3"}])};var s=o([`precision highp float; -#define GLSLIFY 1 + // Scale the vector magnitude to stay constant with + // model & view changes. + vec3 normal; + vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal); + vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0); -attribute vec3 position; + //Lighting geometry parameters + vec4 cameraCoordinate = view * tubePosition; + cameraCoordinate.xyz /= cameraCoordinate.w; + f_lightDirection = lightPosition - cameraCoordinate.xyz; + f_eyeDirection = eyePosition - cameraCoordinate.xyz; + f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz); -uniform mat4 model, view, projection; -uniform vec3 offset, axis, alignDir, alignOpt; -uniform float scale, angle, pixelScale; -uniform vec2 resolution; + // vec4 m_position = model * vec4(tubePosition, 1.0); + vec4 t_position = view * tubePosition; + gl_Position = projection * t_position; -vec3 project(vec3 p) { - vec4 pp = projection * (view * (model * vec4(p, 1.0))); - return pp.xyz / max(pp.w, 0.0001); + f_color = color; + f_data = tubePosition.xyz; + f_position = position.xyz; + f_uv = uv; } +`]),n=a([`#extension GL_OES_standard_derivatives : enable -float computeViewAngle(vec3 a, vec3 b) { - vec3 A = project(a); - vec3 B = project(b); - - return atan( - (B.y - A.y) * resolution.y, - (B.x - A.x) * resolution.x - ); -} - -const float PI = 3.141592; -const float TWO_PI = 2.0 * PI; -const float HALF_PI = 0.5 * PI; -const float ONE_AND_HALF_PI = 1.5 * PI; - -int option = int(floor(alignOpt.x + 0.001)); -float hv_ratio = alignOpt.y; -bool enableAlign = (alignOpt.z != 0.0); - -float mod_angle(float a) { - return mod(a, PI); -} - -float positive_angle(float a) { - return mod_angle((a < 0.0) ? - a + TWO_PI : - a - ); -} - -float look_upwards(float a) { - float b = positive_angle(a); - return ((b > HALF_PI) && (b <= ONE_AND_HALF_PI)) ? - b - PI : - b; -} - -float look_horizontal_or_vertical(float a, float ratio) { - // ratio controls the ratio between being horizontal to (vertical + horizontal) - // if ratio is set to 0.5 then it is 50%, 50%. - // when using a higher ratio e.g. 0.75 the result would - // likely be more horizontal than vertical. - - float b = positive_angle(a); - - return - (b < ( ratio) * HALF_PI) ? 0.0 : - (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI : - (b < (2.0 + ratio) * HALF_PI) ? 0.0 : - (b < (4.0 - ratio) * HALF_PI) ? HALF_PI : - 0.0; -} - -float roundTo(float a, float b) { - return float(b * floor((a + 0.5 * b) / b)); -} - -float look_round_n_directions(float a, int n) { - float b = positive_angle(a); - float div = TWO_PI / float(n); - float c = roundTo(b, div); - return look_upwards(c); -} - -float applyAlignOption(float rawAngle, float delta) { - return - (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions - (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical - (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis - (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards - (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal - rawAngle; // otherwise return back raw input angle -} - -bool isAxisTitle = (axis.x == 0.0) && - (axis.y == 0.0) && - (axis.z == 0.0); - -void main() { - //Compute world offset - float axisDistance = position.z; - vec3 dataPosition = axisDistance * axis + offset; - - float beta = angle; // i.e. user defined attributes for each tick - - float axisAngle; - float clipAngle; - float flip; - - if (enableAlign) { - axisAngle = (isAxisTitle) ? HALF_PI : - computeViewAngle(dataPosition, dataPosition + axis); - clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir); - - axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0; - clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0; - - flip = (dot(vec2(cos(axisAngle), sin(axisAngle)), - vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0; - - beta += applyAlignOption(clipAngle, flip * PI); - } - - //Compute plane offset - vec2 planeCoord = position.xy * pixelScale; - - mat2 planeXform = scale * mat2( - cos(beta), sin(beta), - -sin(beta), cos(beta) - ); - - vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution; - - //Compute clip position - vec3 clipPosition = project(dataPosition); - - //Apply text offset in clip coordinates - clipPosition += vec3(viewOffset, 0.0); - - //Done - gl_Position = vec4(clipPosition, 1.0); -} -`]),h=o([`precision highp float; -#define GLSLIFY 1 - -uniform vec4 color; -void main() { - gl_FragColor = color; -}`]);t.Q=function(d){return i(d,s,h,null,[{name:"position",type:"vec3"}])};var c=o([`precision highp float; +precision highp float; #define GLSLIFY 1 -attribute vec3 position; -attribute vec3 normal; - -uniform mat4 model, view, projection; -uniform vec3 enable; -uniform vec3 bounds[2]; - -varying vec3 colorChannel; - -void main() { - - vec3 signAxis = sign(bounds[1] - bounds[0]); - - vec3 realNormal = signAxis * normal; - - if(dot(realNormal, enable) > 0.0) { - vec3 minRange = min(bounds[0], bounds[1]); - vec3 maxRange = max(bounds[0], bounds[1]); - vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0)); - gl_Position = projection * (view * (model * vec4(nPosition, 1.0))); - } else { - gl_Position = vec4(0,0,0,0); - } - - colorChannel = abs(realNormal); +float beckmannDistribution(float x, float roughness) { + float NdotH = max(x, 0.0001); + float cos2Alpha = NdotH * NdotH; + float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha; + float roughness2 = roughness * roughness; + float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha; + return exp(tan2Alpha / roughness2) / denom; } -`]),m=o([`precision highp float; -#define GLSLIFY 1 -uniform vec4 colors[3]; +float cookTorranceSpecular( + vec3 lightDirection, + vec3 viewDirection, + vec3 surfaceNormal, + float roughness, + float fresnel) { -varying vec3 colorChannel; + float VdotN = max(dot(viewDirection, surfaceNormal), 0.0); + float LdotN = max(dot(lightDirection, surfaceNormal), 0.0); -void main() { - gl_FragColor = colorChannel.x * colors[0] + - colorChannel.y * colors[1] + - colorChannel.z * colors[2]; -}`]);t.bg=function(d){return i(d,c,m,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},1888:function(e,t,r){"use strict";var o=r(8828),i=r(1338),n=r(4793).hp;r.g.__TYPEDARRAY_POOL||(r.g.__TYPEDARRAY_POOL={UINT8:i([32,0]),UINT16:i([32,0]),UINT32:i([32,0]),BIGUINT64:i([32,0]),INT8:i([32,0]),INT16:i([32,0]),INT32:i([32,0]),BIGINT64:i([32,0]),FLOAT:i([32,0]),DOUBLE:i([32,0]),DATA:i([32,0]),UINT8C:i([32,0]),BUFFER:i([32,0])});var a=typeof Uint8ClampedArray<"u",s=typeof BigUint64Array<"u",h=typeof BigInt64Array<"u",c=r.g.__TYPEDARRAY_POOL;c.UINT8C||(c.UINT8C=i([32,0])),c.BIGUINT64||(c.BIGUINT64=i([32,0])),c.BIGINT64||(c.BIGINT64=i([32,0])),c.BUFFER||(c.BUFFER=i([32,0]));var m=c.DATA,d=c.BUFFER;t.free=function(B){if(n.isBuffer(B))d[o.log2(B.length)].push(B);else{if(Object.prototype.toString.call(B)!=="[object ArrayBuffer]"&&(B=B.buffer),!B)return;var I=B.length||B.byteLength,U=o.log2(I)|0;m[U].push(B)}};function T(N){if(N){var B=N.length||N.byteLength,I=o.log2(B);m[I].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(B){d[o.log2(B.length)].push(B)},t.malloc=function(B,I){if(I===void 0||I==="arraybuffer")return _(B);switch(I){case"uint8":return w(B);case"uint16":return A(B);case"uint32":return M(B);case"int8":return g(B);case"int16":return b(B);case"int32":return v(B);case"float":case"float32":return u(B);case"double":case"float64":return y(B);case"uint8_clamped":return f(B);case"bigint64":return L(B);case"biguint64":return R(B);case"buffer":return F(B);case"data":case"dataview":return z(B);default:return null}return null};function _(B){var B=o.nextPow2(B),I=o.log2(B),U=m[I];return U.length>0?U.pop():new ArrayBuffer(B)}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 v(N){return new Int32Array(_(4*N),0,N)}t.mallocInt32=v;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 a?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 B=o.log2(N),I=d[B];return I.length>0?I.pop():new n(N)}t.mallocBuffer=F,t.clearCache=function(){for(var B=0;B<32;++B)c.UINT8[B].length=0,c.UINT16[B].length=0,c.UINT32[B].length=0,c.INT8[B].length=0,c.INT16[B].length=0,c.INT32[B].length=0,c.FLOAT[B].length=0,c.DOUBLE[B].length=0,c.BIGUINT64[B].length=0,c.BIGINT64[B].length=0,c.UINT8C[B].length=0,m[B].length=0,d[B].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),i=r(8210);e.exports=n;function n(a,s){for(var h=o(a[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[J],z)!==0););}return f}t.incidence=l;function _(u,y){if(!y)return l(d(A(u,0)),u,0);for(var f=new Array(y),R=0;R>>I&1&&B.push(L[I]);y.push(B)}return m(y)}t.explode=w;function A(u,y){if(y<0)return[];for(var f=[],R=(1<0}b=b.filter(v);for(var u=b.length,y=new Array(u),f=new Array(u),g=0;g0;){var re=ie.pop(),ue=se[re];h(ue,function(Xe,tt){return Xe-tt});var _e=ue.length,we=j[re],Re;if(we===0){var B=b[re];Re=[B]}for(var g=0;g<_e;++g){var ze=ue[g];if(!(j[ze]>=0)&&(j[ze]=we^1,ie.push(ze),we===0)){var B=b[ze];oe(B)||(B.reverse(),Re.push(B))}}we===0&&Q.push(Re)}return Q}},2145:function(e,t){"use strict";t.uniforms=n,t.attributes=a;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 i(s,h){if(!o){var c=Object.keys(r);o={};for(var m=0;m1)for(var _=0;_1&&F.drawBuffersWEBGL(i[z]);var O=y.getExtension("WEBGL_depth_texture");O?N?v.depth=l(y,R,L,O.UNSIGNED_INT_24_8_WEBGL,y.DEPTH_STENCIL,y.DEPTH_STENCIL_ATTACHMENT):B&&(v.depth=l(y,R,L,y.UNSIGNED_SHORT,y.DEPTH_COMPONENT,y.DEPTH_ATTACHMENT)):B&&N?v._depth_rb=_(y,R,L,y.DEPTH_STENCIL,y.DEPTH_STENCIL_ATTACHMENT):B?v._depth_rb=_(y,R,L,y.DEPTH_COMPONENT16,y.DEPTH_ATTACHMENT):N&&(v._depth_rb=_(y,R,L,y.STENCIL_INDEX,y.STENCIL_ATTACHMENT));var X=y.checkFramebufferStatus(y.FRAMEBUFFER);if(X!==y.FRAMEBUFFER_COMPLETE){v._destroyed=!0,y.bindFramebuffer(y.FRAMEBUFFER,null),y.deleteFramebuffer(v.handle),v.handle=null,v.depth&&(v.depth.dispose(),v.depth=null),v._depth_rb&&(y.deleteRenderbuffer(v._depth_rb),v._depth_rb=null);for(var U=0;UR||y<0||y>R)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");v._shape[0]=u,v._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>v.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=v.UNSIGNED_BYTE,N=v.getExtension("OES_texture_float");if(f.float&&z>0){if(!N)throw new Error("gl-fbo: Context does not support floating point textures");F=v.FLOAT}else f.preferFloat&&z>0&&N&&(F=v.FLOAT);var B=!0;"depth"in f&&(B=!!f.depth);var I=!1;return"stencil"in f&&(I=!!f.stencil),new A(v,u,y,F,z,B,I,R)}},2272:function(e,t,r){"use strict";var o=r(2646)[4],i=r(2478);e.exports=a;function n(s,h,c,m,d,T){var l=h.opposite(m,d);if(!(l<0)){if(d0;){for(var w=c.pop(),T=c.pop(),A=-1,M=-1,l=d[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,i){return r[0]=Math.min(o[0],i[0]),r[1]=Math.min(o[1],i[1]),r[2]=Math.min(o[2],i[2]),r[3]=Math.min(o[3],i[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 i=_,n=w,a=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=_,d=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,i){var n=Math.sin(i),a=Math.cos(i),s=o[0],h=o[1],c=o[2],m=o[3],d=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*a-d*n,r[1]=h*a-T*n,r[2]=c*a-l*n,r[3]=m*a-_*n,r[8]=s*n+d*a,r[9]=h*n+T*a,r[10]=c*n+l*a,r[11]=m*n+_*a,r}},2419:function(e){"use strict";e.exports=t;function t(r){for(var o=1,i=1;iA-w?n(h,c,m,d,T,l,_,w,A,M,g):a(h,c,m,d,T,l,_,w,A,M,g)}return s}function o(){function n(m,d,T,l,_,w,A,M,g,b,v){for(var u=2*m,y=l,f=u*l;y<_;++y,f+=u){var R=w[d+f],L=w[d+f+m],z=A[y];e:for(var F=M,N=u*M;Fb-g?l?n(m,d,T,_,w,A,M,g,b,v,u):a(m,d,T,_,w,A,M,g,b,v,u):l?s(m,d,T,_,w,A,M,g,b,v,u):h(m,d,T,_,w,A,M,g,b,v,u)}return c}function i(n){return n?r():o()}t.partial=i(!1),t.full=i(!0)},2478:function(e){"use strict";function t(s,h,c,m,d){for(var T=d+1;m<=d;){var l=m+d>>>1,_=s[l],w=c!==void 0?c(_,h):_-h;w>=0?(T=l,d=l-1):m=l+1}return T}function r(s,h,c,m,d){for(var T=d+1;m<=d;){var l=m+d>>>1,_=s[l],w=c!==void 0?c(_,h):_-h;w>0?(T=l,d=l-1):m=l+1}return T}function o(s,h,c,m,d){for(var T=m-1;m<=d;){var l=m+d>>>1,_=s[l],w=c!==void 0?c(_,h):_-h;w<0?(T=l,m=l+1):d=l-1}return T}function i(s,h,c,m,d){for(var T=m-1;m<=d;){var l=m+d>>>1,_=s[l],w=c!==void 0?c(_,h):_-h;w<=0?(T=l,m=l+1):d=l-1}return T}function n(s,h,c,m,d){for(;m<=d;){var T=m+d>>>1,l=s[T],_=c!==void 0?c(l,h):l-h;if(_===0)return T;_<=0?m=T+1:d=T-1}return-1}function a(s,h,c,m,d,T){return typeof c=="function"?T(s,h,c,m===void 0?0:m|0,d===void 0?s.length-1:d|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,d){return a(s,h,c,m,d,t)},gt:function(s,h,c,m,d){return a(s,h,c,m,d,r)},lt:function(s,h,c,m,d){return a(s,h,c,m,d,o)},le:function(s,h,c,m,d){return a(s,h,c,m,d,i)},eq:function(s,h,c,m,d){return a(s,h,c,m,d,n)}}},2504:function(e){e.exports=t;function t(r,o,i){var n=i[0],a=i[1],s=i[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]*a,r[5]=o[5]*a,r[6]=o[6]*a,r[7]=o[7]*a,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),i=r(5542),n=r(2272),a=r(5023);e.exports=d;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 d(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 v=i(T.length,c(l)),u=0;u0){if(se=1,q[ee++]=m(v[R],w,A,M),R+=O,g>0)for(J=1,L=v[R],V=q[ee]=m(L,w,A,M),j=q[ee+oe],ue=q[ee+Q],Re=q[ee+_e],(V!==j||V!==ue||V!==Re)&&(F=v[R+z],B=v[R+N],U=v[R+I],h(J,se,L,F,B,U,V,j,ue,Re,w,A,M),ze=Z[ee]=le++),ee+=1,R+=O,J=2;J0)for(J=1,L=v[R],V=q[ee]=m(L,w,A,M),j=q[ee+oe],ue=q[ee+Q],Re=q[ee+_e],(V!==j||V!==ue||V!==Re)&&(F=v[R+z],B=v[R+N],U=v[R+I],h(J,se,L,F,B,U,V,j,ue,Re,w,A,M),ze=Z[ee]=le++,Re!==ue&&c(Z[ee+Q],ze,B,U,ue,Re,w,A,M)),ee+=1,R+=O,J=2;J0){if(J=1,q[ee++]=m(v[R],w,A,M),R+=O,b>0)for(se=1,L=v[R],V=q[ee]=m(L,w,A,M),ue=q[ee+Q],j=q[ee+oe],Re=q[ee+_e],(V!==ue||V!==j||V!==Re)&&(F=v[R+z],B=v[R+N],U=v[R+I],h(J,se,L,F,B,U,V,ue,j,Re,w,A,M),ze=Z[ee]=le++),ee+=1,R+=O,se=2;se0)for(se=1,L=v[R],V=q[ee]=m(L,w,A,M),ue=q[ee+Q],j=q[ee+oe],Re=q[ee+_e],(V!==ue||V!==j||V!==Re)&&(F=v[R+z],B=v[R+N],U=v[R+I],h(J,se,L,F,B,U,V,ue,j,Re,w,A,M),ze=Z[ee]=le++,Re!==ue&&c(Z[ee+Q],ze,U,F,Re,ue,w,A,M)),ee+=1,R+=O,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,d,c,l)}},2642:function(e,t,r){"use strict";e.exports=n;var o=r(727);function i(a){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,v){var u=b[0],y=b[1],f=b[2],R=b[3];return g[0]=v[0]*u+v[4]*y+v[8]*f+v[12]*R,g[1]=v[1]*u+v[5]*y+v[9]*f+v[13]*R,g[2]=v[2]*u+v[6]*y+v[10]*f+v[14]*R,g[3]=v[3]*u+v[7]*y+v[11]*f+v[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,v,u,y){g[0]=b[0]*u+v[0]*y,g[1]=b[1]*u+v[1]*y,g[2]=b[2]*u+v[2]*y}},2653:function(e,t,r){"use strict";var o=r(3865);e.exports=i;function i(n,a){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=i(h);if(m.length<=c)return[];var d=n(h,m),T=o(d,!0);return a(T,m)}}},2762:function(e,t,r){"use strict";var o=r(1888),i=r(5298),n=r(9618),a=["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(a.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&&d(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);i.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,i){var n=new Float32Array(3);return n[0]=r,n[1]=o,n[2]=i,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 i=o[0]-r[0],n=o[1]-r[1],a=o[2]-r[2];return i*i+n*n+a*a}},2962:function(e,t,r){"use strict";var o=r(5250),i=r(8210),n=r(3012),a=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 d(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?d:void 0;return M(i,n,o,a)}var l=[function(){return[0]},function(M){return[M[0][0]]}];function _(A,M,g,b,v,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 v(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 B=c[N][y],I=0;I0&&(R=U,L=O,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,B=R[1],I=_(F,N,!0);if(o(a[F],a[N],a[B],a[I])<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,v=w(m,M);A(g,v)?g.push.apply(g,v):(g.length>0&&T.push(g),g=v)}g.length>0&&T.push(g)}return T}},3090:function(e,t,r){"use strict";e.exports=i;var o=r(3250)[3];function i(n){var a=n.length;if(a<3){for(var _=new Array(a),s=0;s1&&o(n[c[l-2]],n[c[l-1]],T)<=0;)l-=1,c.pop();for(c.push(d),l=m.length;l>1&&o(n[m[l-2]],n[m[l-1]],T)>=0;)l-=1,m.pop();m.push(d)}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 a=n>>r-1;return(n^a)-a},t.min=function(n,a){return a^(n^a)&-(n65535)<<4,n>>>=a,s=(n>255)<<3,n>>>=s,a|=s,s=(n>15)<<2,n>>>=s,a|=s,s=(n>3)<<1,n>>>=s,a|=s,a|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 a=32;return n&=-n,n&&a--,n&65535&&(a-=16),n&16711935&&(a-=8),n&252645135&&(a-=4),n&858993459&&(a-=2),n&1431655765&&(a-=1),a}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 i=new Array(256);(function(n){for(var a=0;a<256;++a){var s=a,h=a,c=7;for(s>>>=1;s;s>>>=1)h<<=1,h|=s&1,--c;n[a]=h<>>8&255]<<16|i[n>>>16&255]<<8|i[n>>>24&255]},t.interleave2=function(n,a){return n&=65535,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,a&=65535,a=(a|a<<8)&16711935,a=(a|a<<4)&252645135,a=(a|a<<2)&858993459,a=(a|a<<1)&1431655765,n|a<<1},t.deinterleave2=function(n,a){return n=n>>>a&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,a,s){return n&=1023,n=(n|n<<16)&4278190335,n=(n|n<<8)&251719695,n=(n|n<<4)&3272356035,n=(n|n<<2)&1227133513,a&=1023,a=(a|a<<16)&4278190335,a=(a|a<<8)&251719695,a=(a|a<<4)&3272356035,a=(a|a<<2)&1227133513,n|=a<<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,a){return n=n>>>a&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 a=n|n-1;return a+1|(~a&-~a)-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=i;var o=r(1682);function i(n,a){var s=n.length;if(typeof a!="number"){a=0;for(var h=0;h=0}function c(m,d,T,l){var _=o(d,T,l);if(_===0){var w=i(o(m,d,T)),A=i(o(m,d,l));if(w===A){if(w===0){var M=h(m,d,T),g=h(m,d,l);return M===g?0:M?1:-1}return 0}else{if(A===0)return w>0||h(m,d,l)?-1:1;if(w===0)return A>0||h(m,d,T)?1:-1}return i(A-w)}var b=o(m,d,T);if(b>0)return _>0&&o(m,d,l)>0?1:-1;if(b<0)return _>0||o(m,d,l)>0?1:-1;var v=o(m,d,l);return v>0||h(m,d,T)?1:-1}},3202:function(e){e.exports=function(r,o){o||(o=[0,""]),r=String(r);var i=parseFloat(r,10);return o[0]=i,o[1]=r.match(/[\d.\-\+]*\s*(.*)/)[1]||"",o}},3233:function(e){"use strict";var t="",r;e.exports=o;function o(i,n){if(typeof i!="string")throw new TypeError("expected a string");if(n===1)return i;if(n===2)return i+i;var a=i.length*n;if(r!==i||typeof r>"u")r=i,t="";else if(t.length>=a)return t.substr(0,a);for(;a>t.length&&n>1;)n&1&&(t+=i),n>>=1,i+=i;return t+=i,t=t.substr(0,a),t}},3236:function(e){e.exports=function(t){typeof t=="string"&&(t=[t]);for(var r=[].slice.call(arguments,1),o=[],i=0;i0){if(z<=0)return F;N=L+z}else if(L<0){if(z>=0)return F;N=-(L+z)}else return F;var B=c*N;return F>=B||F<=-B?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],B=y[1]-L[1],I=f[1]-L[1],U=R[1]-L[1],O=y[2]-L[2],X=f[2]-L[2],J=R[2]-L[2],se=F*U,le=N*I,ce=N*B,q=z*U,Z=z*I,ee=F*B,V=O*(se-le)+X*(ce-q)+J*(Z-ee),oe=(Math.abs(se)+Math.abs(le))*Math.abs(O)+(Math.abs(ce)+Math.abs(q))*Math.abs(X)+(Math.abs(Z)+Math.abs(ee))*Math.abs(J),ie=m*oe;return V>ie||-V>ie?V: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(B,I,U,O,X){switch(arguments.length){case 0:case 1:return 0;case 2:return R(B,I);case 3:return L(B,I,U);case 4:return z(B,I,U,O);case 5:return F(B,I,U,O,X)}for(var J=new Array(arguments.length),se=0;se4)throw new i("","Invalid data type");switch(O.charAt(0)){case"b":case"i":h["uniform"+X+"iv"](d[z],F);break;case"v":h["uniform"+X+"fv"](d[z],F);break;default:throw new i("","Unrecognized data type for vector "+name+": "+O)}}else if(O.indexOf("mat")===0&&O.length===4){if(X=O.charCodeAt(O.length-1)-48,X<2||X>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+O);h["uniformMatrix"+X+"fv"](d[z],!1,F);break}else throw new i("","Unknown uniform data type for "+name+": "+O)}}}}}function _(b,v){if(typeof v!="object")return[[b,v]];var u=[];for(var y in v){var f=v[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 v=b.indexOf("vec");if(0<=v&&v<=1&&b.length===4+v){var u=b.charCodeAt(b.length-1)-48;if(u<2||u>4)throw new i("","Invalid data type");return b.charAt(0)==="b"?a(u,!1):a(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 i("","Invalid uniform dimension type for matrix "+name+": "+b);return a(u*u,0)}else throw new i("","Unknown uniform data type for "+name+": "+b)}}function A(b,v,u){if(typeof u=="object"){var y=M(u);Object.defineProperty(b,v,{get:n(y),set:l(u),enumerable:!0,configurable:!1})}else d[u]?Object.defineProperty(b,v,{get:T(u),set:l(u),enumerable:!0,configurable:!1}):b[v]=w(m[u].type)}function M(b){var v;if(Array.isArray(b)){v=new Array(b.length);for(var u=0;u=0!=v>=0&&d.push(w[0]+.5+.5*(b+v)/(b-v))}m+=g,++w[0]}}}function r(){return t()}var o=r;function i(s){var h={};return function(m,d,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,d,T)}}function n(s){return i(o.bind(void 0,s))}function a(s){return n({funcName:s.funcName})}e.exports=a({funcName:"zeroCrossings"})},3352:function(e,t,r){"use strict";var o=r(2478),i=0,n=1,a=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 d(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?i:(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)?d(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)?d(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===a?(this.left=null,this.count-=1,n):(z===n&&(this.count-=1),z)}else if(f[0]>this.mid){if(!this.right)return i;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===a?(this.right=null,this.count-=1,n):(z===n&&(this.count-=1),z)}else{if(this.count===1)return this.leftPoints[0]===f?a:i;if(this.leftPoints.length===1&&this.leftPoints[0]===f){if(this.left&&this.right){for(var N=this,B=this.left;B.right;)N=B,B=B.right;if(N===this)B.right=this.right;else{var I=this.left,z=this.right;N.count-=B.count,N.right=B.left,B.left=I,B.right=z}c(this,B),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 I=o.ge(this.leftPoints,f,M);I=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=[],B=[],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}i.json.test(g.type)?w+=_:(i.number.test(g.type)&&(!y||g.sign)?(f=y?"+":"-",_=_.toString().replace(i.sign,"")):f="",v=g.pad_char?g.pad_char==="0"?"0":g.pad_char.charAt(1):" ",u=g.width-(f+_).length,b=g.width&&u>0?v.repeat(u):"",w+=g.align?f+_+b:v==="0"?f+b+_:b+f+_)}return w}var h=Object.create(null);function c(m){if(h[m])return h[m];for(var d=m,T,l=[],_=0;d;){if((T=i.text.exec(d))!==null)l.push(T[0]);else if((T=i.modulo.exec(d))!==null)l.push("%");else if((T=i.placeholder.exec(d))!==null){if(T[2]){_|=1;var w=[],A=T[2],M=[];if((M=i.key.exec(A))!==null)for(w.push(M[1]);(A=A.substring(M[0].length))!=="";)if((M=i.key_access.exec(A))!==null)w.push(M[1]);else if((M=i.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");d=d.substring(T[0].length)}return h[m]=l}t.sprintf=n,t.vsprintf=a,typeof window<"u"&&(window.sprintf=n,window.vsprintf=a,o=function(){return{sprintf:n,vsprintf:a}}.call(t,r,t,e),o!==void 0&&(e.exports=o))})()},3390:function(e){e.exports=t;function t(r,o,i,n){var a=new Float32Array(4);return a[0]=r,a[1]=o,a[2]=i,a[3]=n,a}},3436:function(e,t,r){"use strict";var o=r(3236),i=r(9405),n=o([`precision highp float; -#define GLSLIFY 1 + //Geometric term + float NdotH = max(dot(surfaceNormal, H), 0.0); + float VdotH = max(dot(viewDirection, H), 0.000001); + float LdotH = max(dot(lightDirection, H), 0.000001); + float G1 = (2.0 * NdotH * VdotN) / VdotH; + float G2 = (2.0 * NdotH * LdotN) / LdotH; + float G = min(1.0, min(G1, G2)); + + //Distribution term + float D = beckmannDistribution(NdotH, roughness); -attribute vec3 position, offset; -attribute vec4 color; -uniform mat4 model, view, projection; -uniform float capSize; -varying vec4 fragColor; -varying vec3 fragPosition; + //Fresnel term + float F = pow(1.0 - VdotN, fresnel); -void main() { - vec4 worldPosition = model * vec4(position, 1.0); - worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0); - gl_Position = projection * (view * worldPosition); - fragColor = color; - fragPosition = position; -}`]),a=o([`precision highp float; -#define GLSLIFY 1 + //Multiply terms and done + return G * F * D / max(3.14159265 * VdotN, 0.000001); +} bool outOfRange(float a, float b, float p) { return ((p > max(a, b)) || @@ -1546,22 +1661,32 @@ bool outOfRange(vec4 a, vec4 b, vec4 p) { } uniform vec3 clipBounds[2]; -uniform float opacity; -varying vec3 fragPosition; -varying vec4 fragColor; +uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity; +uniform sampler2D texture; + +varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position; +varying vec4 f_color; +varying vec2 f_uv; void main() { - if ( - outOfRange(clipBounds[0], clipBounds[1], fragPosition) || - fragColor.a * opacity == 0. - ) discard; + if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; + vec3 N = normalize(f_normal); + vec3 L = normalize(f_lightDirection); + vec3 V = normalize(f_eyeDirection); - gl_FragColor = opacity * fragColor; -}`]);e.exports=function(s){return i(s,n,a,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),i=r(9127);function n(a,s){return i(o(a,s))}},3508:function(e,t,r){var o=r(6852);o=o.slice().filter(function(i){return!/^(gl\_|texture)/.test(i)}),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 i=o[0],n=o[1],a=o[2],s=i*i+n*n+a*a;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),i=o("lom&&T[b+c]>M;--g,b-=_){for(var v=b,u=b+_,y=0;y<_;++y,++v,++u){var f=T[v];T[v]=T[u],T[u]=f}var R=l[g];l[g]=l[g-1],l[g-1]=R}}function s(h,c,m,d,T,l){if(d<=m+1)return m;for(var _=m,w=d,A=d+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 B=M*(w-1),I=M*g,F=0;Fthis.buffer.length){i.free(this.buffer);for(var w=this.buffer=i.mallocUint8(a(_*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 v=[M-A,b-g],u=n(this.buffer,[v[0],v[1],4],[4,w[0]*4,1],4*(A+w[0]*g)),y=s(u.hi(v[0],v[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,v,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*(v+g-2*F)/(g-v)]);break;case 3:L.push([w-.5,A-.5-.5*(b+M+v+g-4*F)/(M-b+g-v)]);break;case 4:L.push([w-.25-.25*(v+b-2*F)/(b-v),A-.75-.25*(-b-M+2*F)/(b-M)]);break;case 5:L.push([w-.5-.5*(g+M+v+b-4*F)/(M-g+b-v),A-.5]);break;case 6:L.push([w-.5-.25*(-g-M+v+b)/(g-M+b-v),A-.5-.25*(-b-M+v+g)/(b-M+g-v)]);break;case 7:L.push([w-.75-.25*(v+b-2*F)/(b-v),A-.75-.25*(v+g-2*F)/(g-v)]);break;case 8:L.push([w-.75-.25*(-v-b+2*F)/(v-b),A-.75-.25*(-v-g+2*F)/(v-g)]);break;case 9:L.push([w-.5-.25*(g+M+-v-b)/(M-g+v-b),A-.5-.25*(b+M+-v-g)/(M-b+v-g)]);break;case 10:L.push([w-.5-.5*(-g-M+-v-b+4*F)/(g-M+v-b),A-.5]);break;case 11:L.push([w-.25-.25*(-v-b+2*F)/(v-b),A-.75-.25*(b+M-2*F)/(M-b)]);break;case 12:L.push([w-.5,A-.5-.5*(-b-M+-v-g+4*F)/(b-M+v-g)]);break;case 13:L.push([w-.75-.25*(g+M-2*F)/(M-g),A-.25-.25*(-v-g+2*F)/(v-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,v,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 a(m,d){var T=m.length+"d",l=n[T];if(l)return l(o,m,d)}function s(m,d){for(var T=i(m,d),l=T.length,_=new Array(l),w=new Array(l),A=0;A>1,T=-7,l=i?a-1:0,_=i?-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-d;else{if(s===m)return h?NaN:(w?-1:1)*(1/0);h=h+Math.pow(2,n),s=s-d}return(w?-1:1)*h*Math.pow(2,s-n)},t.write=function(r,o,i,n,a,s){var h,c,m,d=s*8-a-1,T=(1<>1,_=a===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,a),h=h+l):(c=o*Math.pow(2,l-1)*Math.pow(2,a),h=0));a>=8;r[i+w]=c&255,w+=A,c/=256,a-=8);for(h=h<0;r[i+w]=h&255,w+=A,h/=256,d-=8);r[i+w-A]|=M*128}},3788:function(e,t,r){"use strict";var o=r(8507),i=r(2419);e.exports=n;function n(a,s){return o(a,s)||i(a)-i(s)}},3837:function(e,t,r){"use strict";e.exports=L;var o=r(4935),i=r(501),n=r(5304),a=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 d(z){return c.isView(z)&&!(z instanceof m)}function T(z){return Array.isArray(z)||d(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(V,oe,ie){if(ie in z){var j=z[ie],Q=this[ie],re;(V?T(j)&&T(j[0]):T(j))?this[ie]=re=[oe(j[0]),oe(j[1]),oe(j[2])]:this[ie]=re=[oe(j),oe(j),oe(j)];for(var ue=0;ue<3;++ue)if(re[ue]!==Q[ue])return!0}return!1}var N=F.bind(this,!1,Number),B=F.bind(this,!1,Boolean),I=F.bind(this,!1,String),U=F.bind(this,!0,function(V){if(T(V)){if(V.length===3)return[+V[0],+V[1],+V[2],1];if(V.length===4)return[+V[0],+V[1],+V[2],+V[3]]}return[0,0,0,1]}),O,X=!1,J=!1;if("bounds"in z)for(var se=z.bounds,le=0;le<2;++le)for(var ce=0;ce<3;++ce)se[le][ce]!==this.bounds[le][ce]&&(J=!0),this.bounds[le][ce]=se[le][ce];if("ticks"in z){O=z.ticks,X=!0,this.autoTicks=!1;for(var le=0;le<3;++le)this.tickSpacing[le]=0}else N("tickSpacing")&&(this.autoTicks=!0,J=!0);if(this._firstInit&&("ticks"in z||"tickSpacing"in z||(this.autoTicks=!0),J=!0,X=!0,this._firstInit=!1),J&&this.autoTicks&&(O=s.create(this.bounds,this.tickSpacing),X=!0),X){for(var le=0;le<3;++le)O[le].sort(function(oe,ie){return oe.x-ie.x});s.equal(O,this.ticks)?X=!1:this.ticks=O}B("tickEnable"),I("tickFont")&&(X=!0),I("tickFontStyle")&&(X=!0),I("tickFontWeight")&&(X=!0),I("tickFontVariant")&&(X=!0),N("tickSize"),N("tickAngle"),N("tickPad"),U("tickColor");var q=I("labels");I("labelFont")&&(q=!0),I("labelFontStyle")&&(q=!0),I("labelFontWeight")&&(q=!0),I("labelFontVariant")&&(q=!0),B("labelEnable"),N("labelSize"),N("labelPad"),U("labelColor"),B("lineEnable"),B("lineMirror"),N("lineWidth"),U("lineColor"),B("lineTickEnable"),B("lineTickMirror"),N("lineTickLength"),N("lineTickWidth"),U("lineTickColor"),B("gridEnable"),N("gridWidth"),U("gridColor"),B("zeroEnable"),U("zeroLineColor"),N("zeroLineWidth"),B("backgroundEnable"),U("backgroundColor");var Z=[{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&&(q||X)&&this._text.update(this.bounds,this.labels,Z,this.ticks,ee):this._text=o(this.gl,this.bounds,this.labels,Z,this.ticks,ee),this._lines&&X&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=i(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,B,I){for(var U=z.primalOffset,O=z.primalMinor,X=z.mirrorOffset,J=z.mirrorMinor,se=B[F],le=0;le<3;++le)if(F!==le){var ce=U,q=X,Z=O,ee=J;se&1<0?(Z[le]=-1,ee[le]=0):(Z[le]=0,ee[le]=1)}}var b=[0,0,0],v={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||v;for(var ie=this.gl,F=z.model||h,N=z.view||h,B=z.projection||h,I=this.bounds,U=z._ortho||!1,O=a(F,N,B,I,U),X=O.cubeEdges,J=O.axis,se=N[12],le=N[13],ce=N[14],q=N[15],Z=U?2:1,ee=Z*this.pixelRatio*(B[3]*se+B[7]*le+B[11]*ce+B[15]*q)/ie.drawingBufferHeight,V=0;V<3;++V)this.lastCubeProps.cubeEdges[V]=X[V],this.lastCubeProps.axis[V]=J[V];for(var oe=M,V=0;V<3;++V)g(M[V],V,this.bounds,X,J);for(var ie=this.gl,j=b,V=0;V<3;++V)this.backgroundEnable[V]?j[V]=J[V]:j[V]=0;this._background.draw(F,N,B,I,j,this.backgroundColor),this._lines.bind(F,N,B,this);for(var V=0;V<3;++V){var Q=[0,0,0];J[V]>0?Q[V]=I[1][V]:Q[V]=I[0][V];for(var re=0;re<2;++re){var ue=(V+1+re)%3,_e=(V+1+(re^1))%3;this.gridEnable[ue]&&this._lines.drawGrid(ue,_e,this.bounds,Q,this.gridColor[ue],this.gridWidth[ue]*this.pixelRatio)}for(var re=0;re<2;++re){var ue=(V+1+re)%3,_e=(V+1+(re^1))%3;this.zeroEnable[_e]&&Math.min(I[0][_e],I[1][_e])<=0&&Math.max(I[0][_e],I[1][_e])>=0&&this._lines.drawZero(ue,_e,this.bounds,Q,this.zeroLineColor[_e],this.zeroLineWidth[_e]*this.pixelRatio)}}for(var V=0;V<3;++V){this.lineEnable[V]&&this._lines.drawAxisLine(V,this.bounds,oe[V].primalOffset,this.lineColor[V],this.lineWidth[V]*this.pixelRatio),this.lineMirror[V]&&this._lines.drawAxisLine(V,this.bounds,oe[V].mirrorOffset,this.lineColor[V],this.lineWidth[V]*this.pixelRatio);for(var we=l(y,oe[V].primalMinor),Re=l(f,oe[V].mirrorMinor),ze=this.lineTickLength,re=0;re<3;++re){var Xe=ee/F[5*re];we[re]*=ze[re]*Xe,Re[re]*=ze[re]*Xe}this.lineTickEnable[V]&&this._lines.drawAxisTicks(V,oe[V].primalOffset,we,this.lineTickColor[V],this.lineTickWidth[V]*this.pixelRatio),this.lineTickMirror[V]&&this._lines.drawAxisTicks(V,oe[V].mirrorOffset,Re,this.lineTickColor[V],this.lineTickWidth[V]*this.pixelRatio)}this._lines.unbind(),this._text.bind(F,N,B,this.pixelRatio);var tt,it=.5,et,nt;function Ae($e){nt=[0,0,0],nt[$e]=1}function me($e,It,Pt){var Vt=($e+1)%3,Wt=($e+2)%3,Cr=It[Vt],yr=It[Wt],qr=Pt[Vt],Mr=Pt[Wt];if(Cr>0&&Mr>0){Ae(Vt);return}else if(Cr>0&&Mr<0){Ae(Vt);return}else if(Cr<0&&Mr>0){Ae(Vt);return}else if(Cr<0&&Mr<0){Ae(Vt);return}else if(yr>0&&qr>0){Ae(Wt);return}else if(yr>0&&qr<0){Ae(Wt);return}else if(yr<0&&qr>0){Ae(Wt);return}else if(yr<0&&qr<0){Ae(Wt);return}}for(var V=0;V<3;++V){for(var fe=oe[V].primalMinor,Be=oe[V].mirrorMinor,Qe=l(R,oe[V].primalOffset),re=0;re<3;++re)this.lineTickEnable[V]&&(Qe[re]+=ee*fe[re]*Math.max(this.lineTickLength[re],0)/F[5*re]);var at=[0,0,0];if(at[V]=1,this.tickEnable[V]){this.tickAngle[V]===-3600?(this.tickAngle[V]=0,this.tickAlign[V]="auto"):this.tickAlign[V]=-1,et=1,tt=[this.tickAlign[V],it,et],tt[0]==="auto"?tt[0]=u:tt[0]=parseInt(""+tt[0]),nt=[0,0,0],me(V,fe,Be);for(var re=0;re<3;++re)Qe[re]+=ee*fe[re]*this.tickPad[re]/F[5*re];this._text.drawTicks(V,this.tickSize[V],this.tickAngle[V],Qe,this.tickColor[V],at,nt,tt)}if(this.labelEnable[V]){et=0,nt=[0,0,0],this.labels[V].length>4&&(Ae(V),et=1),tt=[this.labelAlign[V],it,et],tt[0]==="auto"?tt[0]=u:tt[0]=parseInt(""+tt[0]);for(var re=0;re<3;++re)Qe[re]+=ee*fe[re]*this.labelPad[re]/F[5*re];Qe[V]+=.5*(I[0][V]+I[1][V]),this._text.drawLabel(V,this.labelSize[V],this.labelAngle[V],Qe,this.labelColor[V],[0,0,0],nt,tt)}}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,v,u,y,f){this._color=g,this.key=b,this.value=v,this.left=u,this.right=y,this._count=f}function i(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 a(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,v){g.push(b)}),g}}),Object.defineProperty(h,"values",{get:function(){var g=[];return this.forEach(function(b,v){g.push(v)}),g}}),Object.defineProperty(h,"length",{get:function(){return this.root?this.root._count:0}}),h.insert=function(g,b){for(var v=this._compare,u=this.root,y=[],f=[];u;){var R=v(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,a(F),a(z),L>=3){var B=y[L-3];B.left===F?B.left=z:B.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,a(F),a(z),a(u),L>=3){var B=y[L-3];B.left===F?B.left=u:B.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,a(F),a(z),L>=3){var B=y[L-3];B.right===F?B.right=z:B.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,a(F),a(z),a(u),L>=3){var B=y[L-3];B.right===F?B.right=u:B.left=u}break}}}return y[0]._color=r,new s(v,y[0])};function c(g,b){if(b.left){var v=c(g,b.left);if(v)return v}var v=g(b.key,b.value);if(v)return v;if(b.right)return c(g,b.right)}function m(g,b,v,u){var y=b(g,u.key);if(y<=0){if(u.left){var f=m(g,b,v,u.left);if(f)return f}var f=v(u.key,u.value);if(f)return f}if(u.right)return m(g,b,v,u.right)}function d(g,b,v,u,y){var f=v(g,y.key),R=v(b,y.key),L;if(f<=0&&(y.left&&(L=d(g,b,v,u,y.left),L)||R>0&&(L=u(y.key,y.value),L)))return L;if(R>0&&y.right)return d(g,b,v,u,y.right)}h.forEach=function(b,v,u){if(this.root)switch(arguments.length){case 1:return c(b,this.root);case 2:return m(v,this._compare,b,this.root);case 3:return this._compare(v,u)>=0?void 0:d(v,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,v=[];;){if(v.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,v=this.root,u=[],y=0;v;){var f=b(g,v.key);u.push(v),f<=0&&(y=u.length),f<=0?v=v.left:v=v.right}return u.length=y,new T(this,u)},h.gt=function(g){for(var b=this._compare,v=this.root,u=[],y=0;v;){var f=b(g,v.key);u.push(v),f<0&&(y=u.length),f<0?v=v.left:v=v.right}return u.length=y,new T(this,u)},h.lt=function(g){for(var b=this._compare,v=this.root,u=[],y=0;v;){var f=b(g,v.key);u.push(v),f>0&&(y=u.length),f<=0?v=v.left:v=v.right}return u.length=y,new T(this,u)},h.le=function(g){for(var b=this._compare,v=this.root,u=[],y=0;v;){var f=b(g,v.key);u.push(v),f>=0&&(y=u.length),f<0?v=v.left:v=v.right}return u.length=y,new T(this,u)},h.find=function(g){for(var b=this._compare,v=this.root,u=[];v;){var y=b(g,v.key);if(u.push(v),y===0)return new T(this,u);y<=0?v=v.left:v=v.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,v=this.root;v;){var u=b(g,v.key);if(u===0)return v.value;u<=0?v=v.left:v=v.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,v,u,y,f=g.length-1;f>=0;--f){if(b=g[f],f===0){b._color=r;return}if(v=g[f-1],v.left===b){if(u=v.right,u.right&&u.right._color===t){if(u=v.right=i(u),y=u.right=i(u.right),v.right=u.left,u.left=v,u.right=y,u._color=v._color,b._color=r,v._color=r,y._color=r,a(v),a(u),f>1){var R=g[f-2];R.left===v?R.left=u:R.right=u}g[f-1]=u;return}else if(u.left&&u.left._color===t){if(u=v.right=i(u),y=u.left=i(u.left),v.right=y.left,u.left=y.right,y.left=v,y.right=u,y._color=v._color,v._color=r,u._color=r,b._color=r,a(v),a(u),a(y),f>1){var R=g[f-2];R.left===v?R.left=y:R.right=y}g[f-1]=y;return}if(u._color===r)if(v._color===t){v._color=r,v.right=n(t,u);return}else{v.right=n(t,u);continue}else{if(u=i(u),v.right=u.left,u.left=v,u._color=v._color,v._color=t,a(v),a(u),f>1){var R=g[f-2];R.left===v?R.left=u:R.right=u}g[f-1]=u,g[f]=v,f+11){var R=g[f-2];R.right===v?R.right=u:R.left=u}g[f-1]=u;return}else if(u.right&&u.right._color===t){if(u=v.left=i(u),y=u.right=i(u.right),v.left=y.right,u.right=y.left,y.right=v,y.left=u,y._color=v._color,v._color=r,u._color=r,b._color=r,a(v),a(u),a(y),f>1){var R=g[f-2];R.right===v?R.right=y:R.left=y}g[f-1]=y;return}if(u._color===r)if(v._color===t){v._color=r,v.left=n(t,u);return}else{v.left=n(t,u);continue}else{if(u=i(u),v.left=u.right,u.right=v,u._color=v._color,v._color=t,a(v),a(u),f>1){var R=g[f-2];R.right===v?R.right=u:R.left=u}g[f-1]=u,g[f]=v,f+1=0;--u){var v=g[u];v.left===g[u+1]?b[u]=new o(v._color,v.key,v.value,b[u+1],v.right,v._count):b[u]=new o(v._color,v.key,v.value,v.left,b[u+1],v._count)}if(v=b[b.length-1],v.left&&v.right){var y=b.length;for(v=v.left;v.right;)b.push(v),v=v.right;var f=b[y-1];b.push(new o(v._color,f.key,f.value,v.left,v.right,v._count)),b[y-1].key=v.key,b[y-1].value=v.value;for(var u=b.length-2;u>=y;--u)v=b[u],b[u]=new o(v._color,v.key,v.value,v.left,b[u+1],v._count);b[y-1].left=b[y]}if(v=b[b.length-1],v._color===t){var R=b[b.length-2];R.left===v?R.left=null:R.right===v&&(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 v=this.tree.root;return v?v._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 v=new Array(b.length),u=b[b.length-1];v[v.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]?v[y]=new o(u._color,u.key,u.value,v[y+1],u.right,u._count):v[y]=new o(u._color,u.key,u.value,u.left,v[y+1],u._count);return new s(this.tree._compare,v[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=i;function i(n,a){return o(n[0].mul(a[1]).add(a[0].mul(n[1])),n[1].mul(a[1]))}},3952:function(e,t,r){"use strict";e.exports=n;var o=r(3250);function i(a,s){for(var h=new Array(s+1),c=0;c20?52:h+32}},4040:function(e){e.exports=t;function t(r,o,i,n,a,s,h){var c=1/(o-i),m=1/(n-a),d=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*d,r[11]=0,r[12]=(o+i)*c,r[13]=(a+n)*m,r[14]=(h+s)*d,r[15]=1,r}},4041:function(e){e.exports=t;function t(r,o,i){var n=o[0],a=o[1],s=o[2],h=i[0],c=i[1],m=i[2],d=i[3],T=d*n+c*s-m*a,l=d*a+m*n-h*s,_=d*s+h*a-c*n,w=-h*n-c*a-m*s;return r[0]=T*d+w*-h+l*-m-_*-c,r[1]=l*d+w*-c+_*-h-T*-m,r[2]=_*d+w*-m+T*-c-l*-h,r[3]=o[3],r}},4081:function(e){"use strict";e.exports=t;function t(r,o,i,n,a,s,h,c,m,d){var T=o+s+d;if(l>0){var l=Math.sqrt(T+1);r[0]=.5*(h-m)/l,r[1]=.5*(c-n)/l,r[2]=.5*(i-s)/l,r[3]=.5*l}else{var _=Math.max(o,s,d),l=Math.sqrt(2*_-T+1);o>=_?(r[0]=.5*l,r[1]=.5*(a+i)/l,r[2]=.5*(c+n)/l,r[3]=.5*(h-m)/l):s>=_?(r[0]=.5*(i+a)/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*(i-a)/l)}return r}},4100:function(e,t,r){"use strict";var o=r(4437),i=r(3837),n=r(5445),a=r(4449),s=r(3589),h=r(2260),c=r(7169),m=r(351),d=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),B=u.cameraObject&&u.cameraObject._ortho===!0||u.camera.projection&&u.camera.projection.type==="orthographic"||!1,I={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:B},U=u.axes||{},O=i(R,U);O.enable=!U.disable;var X=u.spikes||{},J=a(R,X),se=[],le=[],ce=[],q=[],Z=!0,ie=!0,ee=new Array(16),V=new Array(16),oe={view:null,projection:ee,model:V,_ortho:!1},ie=!0,j=[R.drawingBufferWidth,R.drawingBufferHeight],Q=u.cameraObject||o(y,I),re={gl:R,contextLost:!1,pixelRatio:u.pixelRatio||1,canvas:y,selection:z,camera:Q,axes:O,axesPixels:null,spikes:J,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(nt){this.aspect[0]=nt.x,this.aspect[1]=nt.y,this.aspect[2]=nt.z,ie=!0},setBounds:function(nt,Ae){this.bounds[0][nt]=Ae.min,this.bounds[1][nt]=Ae.max},setClearColor:function(nt){this.clearColor=nt},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)}},ue=[R.drawingBufferWidth/re.pixelRatio|0,R.drawingBufferHeight/re.pixelRatio|0];function _e(){if(!re._stopped&&re.autoResize){var nt=y.parentNode,Ae=1,me=1;nt&&nt!==document.body?(Ae=nt.clientWidth,me=nt.clientHeight):(Ae=window.innerWidth,me=window.innerHeight);var fe=Math.ceil(Ae*re.pixelRatio)|0,Be=Math.ceil(me*re.pixelRatio)|0;if(fe!==y.width||Be!==y.height){y.width=fe,y.height=Be;var Qe=y.style;Qe.position=Qe.position||"absolute",Qe.left="0px",Qe.top="0px",Qe.width=Ae+"px",Qe.height=me+"px",Z=!0}}}re.autoResize&&_e(),window.addEventListener("resize",_e);function we(){for(var nt=se.length,Ae=q.length,me=0;me0&&ce[Ae-1]===0;)ce.pop(),q.pop().dispose()}re.update=function(nt){re._stopped||(nt=nt||{},Z=!0,ie=!0)},re.add=function(nt){re._stopped||(nt.axes=O,se.push(nt),le.push(-1),Z=!0,ie=!0,we())},re.remove=function(nt){if(!re._stopped){var Ae=se.indexOf(nt);Ae<0||(se.splice(Ae,1),le.pop(),Z=!0,ie=!0,we())}},re.dispose=function(){if(!re._stopped&&(re._stopped=!0,window.removeEventListener("resize",_e),y.removeEventListener("webglcontextlost",Re),re.mouseListener.enabled=!1,!re.contextLost)){O.dispose(),J.dispose();for(var nt=0;ntz.distance)continue;for(var Pt=0;Ptd;){var v=l[b-2],u=l[b-1];if(vl[T+1]:!0}function c(d,T,l,_){d*=2;var w=_[d];return w>1,g=M-_,b=M+_,v=w,u=g,y=M,f=b,R=A,L=d+1,z=T-1,F=0;h(v,u,l)&&(F=v,v=u,u=F),h(f,R,l)&&(F=f,f=R,R=F),h(v,y,l)&&(F=v,v=y,y=F),h(u,y,l)&&(F=u,u=y,y=F),h(v,f,l)&&(F=v,v=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],B=l[2*u+1],I=l[2*f],U=l[2*f+1],O=2*v,X=2*y,J=2*R,se=2*w,le=2*M,ce=2*A,q=0;q<2;++q){var Z=l[O+q],ee=l[X+q],V=l[J+q];l[se+q]=Z,l[le+q]=ee,l[ce+q]=V}n(g,d,l),n(b,T,l);for(var oe=L;oe<=z;++oe)if(c(oe,N,B,l))oe!==L&&i(oe,L,l),++L;else if(!c(oe,I,U,l))for(;;)if(c(z,I,U,l)){c(z,N,B,l)?(a(oe,L,z,l),++L,--z):(i(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 v=m(this.slabs[w-1],_);v&&(b?a(v.key,b)>0&&(b=v.key,g=v.value):(g=v.value,b=v.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 d(_,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,-v*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),i=r(8116),n=r(1493);e.exports=T;var a=[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],d=[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||a,g=l.view||a,b=l.projection||a,v;this.axes&&(v=this.axes.lastCubeProps.axis);for(var u=c,y=m,f=0;f<3;++f)v&&v[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]);d[0]=_.drawingBufferWidth,d[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=d;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=i(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 v=new s(l,M,g,b);return v.update(_),v}},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,i,n,a){return r[0]=o,r[1]=i,r[2]=n,r[3]=a,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*i[l]+d*n[l]+T*a[l];return h}return c*o+m*i+d*n[l]+T*a}function r(o,i,n,a,s,h){var c=s-1,m=s*s,d=c*c,T=(1+2*s)*d,l=s*d,_=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*i[A]+_*n[A]+w*a[A];return h}return T*o+l*i+_*n+w*a}e.exports=r,e.exports.derivative=t},4772:function(e){e.exports=t;function t(r,o,i,n,a){var s=1/Math.tan(o/2),h=1/(n-a);return r[0]=s/i,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]=(a+n)*h,r[11]=-1,r[12]=0,r[13]=0,r[14]=2*a*n*h,r[15]=0,r}},4793:function(e,t,r){"use strict";var o;function i(ke,Me){if(!(ke instanceof Me))throw new TypeError("Cannot call a class as a function")}function n(ke,Me){for(var Le=0;Lev)throw new RangeError('The value "'+ke+'" is invalid for option "size"');var Me=new Uint8Array(ke);return Object.setPrototypeOf(Me,f.prototype),Me}function f(ke,Me,Le){if(typeof ke=="number"){if(typeof Me=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return F(ke)}return R(ke,Me,Le)}f.poolSize=8192;function R(ke,Me,Le){if(typeof ke=="string")return N(ke,Me);if(ArrayBuffer.isView(ke))return I(ke);if(ke==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+A(ke));if(Ne(ke,ArrayBuffer)||ke&&Ne(ke.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Ne(ke,SharedArrayBuffer)||ke&&Ne(ke.buffer,SharedArrayBuffer)))return U(ke,Me,Le);if(typeof ke=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var ut=ke.valueOf&&ke.valueOf();if(ut!=null&&ut!==ke)return f.from(ut,Me,Le);var lt=O(ke);if(lt)return lt;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof ke[Symbol.toPrimitive]=="function")return f.from(ke[Symbol.toPrimitive]("string"),Me,Le);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+A(ke))}f.from=function(ke,Me,Le){return R(ke,Me,Le)},Object.setPrototypeOf(f.prototype,Uint8Array.prototype),Object.setPrototypeOf(f,Uint8Array);function L(ke){if(typeof ke!="number")throw new TypeError('"size" argument must be of type number');if(ke<0)throw new RangeError('The value "'+ke+'" is invalid for option "size"')}function z(ke,Me,Le){return L(ke),ke<=0?y(ke):Me!==void 0?typeof Le=="string"?y(ke).fill(Me,Le):y(ke).fill(Me):y(ke)}f.alloc=function(ke,Me,Le){return z(ke,Me,Le)};function F(ke){return L(ke),y(ke<0?0:X(ke)|0)}f.allocUnsafe=function(ke){return F(ke)},f.allocUnsafeSlow=function(ke){return F(ke)};function N(ke,Me){if((typeof Me!="string"||Me==="")&&(Me="utf8"),!f.isEncoding(Me))throw new TypeError("Unknown encoding: "+Me);var Le=se(ke,Me)|0,ut=y(Le),lt=ut.write(ke,Me);return lt!==Le&&(ut=ut.slice(0,lt)),ut}function B(ke){for(var Me=ke.length<0?0:X(ke.length)|0,Le=y(Me),ut=0;ut=v)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+v.toString(16)+" bytes");return ke|0}function J(ke){return+ke!=ke&&(ke=0),f.alloc(+ke)}f.isBuffer=function(Me){return Me!=null&&Me._isBuffer===!0&&Me!==f.prototype},f.compare=function(Me,Le){if(Ne(Me,Uint8Array)&&(Me=f.from(Me,Me.offset,Me.byteLength)),Ne(Le,Uint8Array)&&(Le=f.from(Le,Le.offset,Le.byteLength)),!f.isBuffer(Me)||!f.isBuffer(Le))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(Me===Le)return 0;for(var ut=Me.length,lt=Le.length,gt=0,kt=Math.min(ut,lt);gtlt.length?(f.isBuffer(kt)||(kt=f.from(kt)),kt.copy(lt,gt)):Uint8Array.prototype.set.call(lt,kt,gt);else if(f.isBuffer(kt))kt.copy(lt,gt);else throw new TypeError('"list" argument must be an Array of Buffers');gt+=kt.length}return lt};function se(ke,Me){if(f.isBuffer(ke))return ke.length;if(ArrayBuffer.isView(ke)||Ne(ke,ArrayBuffer))return ke.byteLength;if(typeof ke!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+A(ke));var Le=ke.length,ut=arguments.length>2&&arguments[2]===!0;if(!ut&&Le===0)return 0;for(var lt=!1;;)switch(Me){case"ascii":case"latin1":case"binary":return Le;case"utf8":case"utf-8":return yr(ke).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Le*2;case"hex":return Le>>>1;case"base64":return Dr(ke).length;default:if(lt)return ut?-1:yr(ke).length;Me=(""+Me).toLowerCase(),lt=!0}}f.byteLength=se;function le(ke,Me,Le){var ut=!1;if((Me===void 0||Me<0)&&(Me=0),Me>this.length||((Le===void 0||Le>this.length)&&(Le=this.length),Le<=0)||(Le>>>=0,Me>>>=0,Le<=Me))return"";for(ke||(ke="utf8");;)switch(ke){case"hex":return ze(this,Me,Le);case"utf8":case"utf-8":return re(this,Me,Le);case"ascii":return we(this,Me,Le);case"latin1":case"binary":return Re(this,Me,Le);case"base64":return Q(this,Me,Le);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Xe(this,Me,Le);default:if(ut)throw new TypeError("Unknown encoding: "+ke);ke=(ke+"").toLowerCase(),ut=!0}}f.prototype._isBuffer=!0;function ce(ke,Me,Le){var ut=ke[Me];ke[Me]=ke[Le],ke[Le]=ut}f.prototype.swap16=function(){var Me=this.length;if(Me%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var Le=0;LeLe&&(Me+=" ... "),""},b&&(f.prototype[b]=f.prototype.inspect),f.prototype.compare=function(Me,Le,ut,lt,gt){if(Ne(Me,Uint8Array)&&(Me=f.from(Me,Me.offset,Me.byteLength)),!f.isBuffer(Me))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+A(Me));if(Le===void 0&&(Le=0),ut===void 0&&(ut=Me?Me.length:0),lt===void 0&&(lt=0),gt===void 0&&(gt=this.length),Le<0||ut>Me.length||lt<0||gt>this.length)throw new RangeError("out of range index");if(lt>=gt&&Le>=ut)return 0;if(lt>=gt)return-1;if(Le>=ut)return 1;if(Le>>>=0,ut>>>=0,lt>>>=0,gt>>>=0,this===Me)return 0;for(var kt=gt-lt,nr=ut-Le,ir=Math.min(kt,nr),tr=this.slice(lt,gt),Ir=Me.slice(Le,ut),vi=0;vi2147483647?Le=2147483647:Le<-2147483648&&(Le=-2147483648),Le=+Le,Ye(Le)&&(Le=lt?0:ke.length-1),Le<0&&(Le=ke.length+Le),Le>=ke.length){if(lt)return-1;Le=ke.length-1}else if(Le<0)if(lt)Le=0;else return-1;if(typeof Me=="string"&&(Me=f.from(Me,ut)),f.isBuffer(Me))return Me.length===0?-1:Z(ke,Me,Le,ut,lt);if(typeof Me=="number")return Me=Me&255,typeof Uint8Array.prototype.indexOf=="function"?lt?Uint8Array.prototype.indexOf.call(ke,Me,Le):Uint8Array.prototype.lastIndexOf.call(ke,Me,Le):Z(ke,[Me],Le,ut,lt);throw new TypeError("val must be string, number or Buffer")}function Z(ke,Me,Le,ut,lt){var gt=1,kt=ke.length,nr=Me.length;if(ut!==void 0&&(ut=String(ut).toLowerCase(),ut==="ucs2"||ut==="ucs-2"||ut==="utf16le"||ut==="utf-16le")){if(ke.length<2||Me.length<2)return-1;gt=2,kt/=2,nr/=2,Le/=2}function ir(Ui,Ki){return gt===1?Ui[Ki]:Ui.readUInt16BE(Ki*gt)}var tr;if(lt){var Ir=-1;for(tr=Le;trkt&&(Le=kt-nr),tr=Le;tr>=0;tr--){for(var vi=!0,Vi=0;Vilt&&(ut=lt)):ut=lt;var gt=Me.length;ut>gt/2&&(ut=gt/2);var kt;for(kt=0;kt>>0,isFinite(ut)?(ut=ut>>>0,lt===void 0&&(lt="utf8")):(lt=ut,ut=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var gt=this.length-Le;if((ut===void 0||ut>gt)&&(ut=gt),Me.length>0&&(ut<0||Le<0)||Le>this.length)throw new RangeError("Attempt to write outside buffer bounds");lt||(lt="utf8");for(var kt=!1;;)switch(lt){case"hex":return ee(this,Me,Le,ut);case"utf8":case"utf-8":return V(this,Me,Le,ut);case"ascii":case"latin1":case"binary":return oe(this,Me,Le,ut);case"base64":return ie(this,Me,Le,ut);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(this,Me,Le,ut);default:if(kt)throw new TypeError("Unknown encoding: "+lt);lt=(""+lt).toLowerCase(),kt=!0}},f.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Q(ke,Me,Le){return Me===0&&Le===ke.length?M.fromByteArray(ke):M.fromByteArray(ke.slice(Me,Le))}function re(ke,Me,Le){Le=Math.min(ke.length,Le);for(var ut=[],lt=Me;lt239?4:gt>223?3:gt>191?2:1;if(lt+nr<=Le){var ir=void 0,tr=void 0,Ir=void 0,vi=void 0;switch(nr){case 1:gt<128&&(kt=gt);break;case 2:ir=ke[lt+1],(ir&192)===128&&(vi=(gt&31)<<6|ir&63,vi>127&&(kt=vi));break;case 3:ir=ke[lt+1],tr=ke[lt+2],(ir&192)===128&&(tr&192)===128&&(vi=(gt&15)<<12|(ir&63)<<6|tr&63,vi>2047&&(vi<55296||vi>57343)&&(kt=vi));break;case 4:ir=ke[lt+1],tr=ke[lt+2],Ir=ke[lt+3],(ir&192)===128&&(tr&192)===128&&(Ir&192)===128&&(vi=(gt&15)<<18|(ir&63)<<12|(tr&63)<<6|Ir&63,vi>65535&&vi<1114112&&(kt=vi))}}kt===null?(kt=65533,nr=1):kt>65535&&(kt-=65536,ut.push(kt>>>10&1023|55296),kt=56320|kt&1023),ut.push(kt),lt+=nr}return _e(ut)}var ue=4096;function _e(ke){var Me=ke.length;if(Me<=ue)return String.fromCharCode.apply(String,ke);for(var Le="",ut=0;utut)&&(Le=ut);for(var lt="",gt=Me;gtut&&(Me=ut),Le<0?(Le+=ut,Le<0&&(Le=0)):Le>ut&&(Le=ut),LeLe)throw new RangeError("Trying to access beyond buffer length")}f.prototype.readUintLE=f.prototype.readUIntLE=function(Me,Le,ut){Me=Me>>>0,Le=Le>>>0,ut||tt(Me,Le,this.length);for(var lt=this[Me],gt=1,kt=0;++kt>>0,Le=Le>>>0,ut||tt(Me,Le,this.length);for(var lt=this[Me+--Le],gt=1;Le>0&&(gt*=256);)lt+=this[Me+--Le]*gt;return lt},f.prototype.readUint8=f.prototype.readUInt8=function(Me,Le){return Me=Me>>>0,Le||tt(Me,1,this.length),this[Me]},f.prototype.readUint16LE=f.prototype.readUInt16LE=function(Me,Le){return Me=Me>>>0,Le||tt(Me,2,this.length),this[Me]|this[Me+1]<<8},f.prototype.readUint16BE=f.prototype.readUInt16BE=function(Me,Le){return Me=Me>>>0,Le||tt(Me,2,this.length),this[Me]<<8|this[Me+1]},f.prototype.readUint32LE=f.prototype.readUInt32LE=function(Me,Le){return Me=Me>>>0,Le||tt(Me,4,this.length),(this[Me]|this[Me+1]<<8|this[Me+2]<<16)+this[Me+3]*16777216},f.prototype.readUint32BE=f.prototype.readUInt32BE=function(Me,Le){return Me=Me>>>0,Le||tt(Me,4,this.length),this[Me]*16777216+(this[Me+1]<<16|this[Me+2]<<8|this[Me+3])},f.prototype.readBigUInt64LE=Ie(function(Me){Me=Me>>>0,Pt(Me,"offset");var Le=this[Me],ut=this[Me+7];(Le===void 0||ut===void 0)&&Vt(Me,this.length-8);var lt=Le+this[++Me]*Math.pow(2,8)+this[++Me]*Math.pow(2,16)+this[++Me]*Math.pow(2,24),gt=this[++Me]+this[++Me]*Math.pow(2,8)+this[++Me]*Math.pow(2,16)+ut*Math.pow(2,24);return BigInt(lt)+(BigInt(gt)<>>0,Pt(Me,"offset");var Le=this[Me],ut=this[Me+7];(Le===void 0||ut===void 0)&&Vt(Me,this.length-8);var lt=Le*Math.pow(2,24)+this[++Me]*Math.pow(2,16)+this[++Me]*Math.pow(2,8)+this[++Me],gt=this[++Me]*Math.pow(2,24)+this[++Me]*Math.pow(2,16)+this[++Me]*Math.pow(2,8)+ut;return(BigInt(lt)<>>0,Le=Le>>>0,ut||tt(Me,Le,this.length);for(var lt=this[Me],gt=1,kt=0;++kt=gt&&(lt-=Math.pow(2,8*Le)),lt},f.prototype.readIntBE=function(Me,Le,ut){Me=Me>>>0,Le=Le>>>0,ut||tt(Me,Le,this.length);for(var lt=Le,gt=1,kt=this[Me+--lt];lt>0&&(gt*=256);)kt+=this[Me+--lt]*gt;return gt*=128,kt>=gt&&(kt-=Math.pow(2,8*Le)),kt},f.prototype.readInt8=function(Me,Le){return Me=Me>>>0,Le||tt(Me,1,this.length),this[Me]&128?(255-this[Me]+1)*-1:this[Me]},f.prototype.readInt16LE=function(Me,Le){Me=Me>>>0,Le||tt(Me,2,this.length);var ut=this[Me]|this[Me+1]<<8;return ut&32768?ut|4294901760:ut},f.prototype.readInt16BE=function(Me,Le){Me=Me>>>0,Le||tt(Me,2,this.length);var ut=this[Me+1]|this[Me]<<8;return ut&32768?ut|4294901760:ut},f.prototype.readInt32LE=function(Me,Le){return Me=Me>>>0,Le||tt(Me,4,this.length),this[Me]|this[Me+1]<<8|this[Me+2]<<16|this[Me+3]<<24},f.prototype.readInt32BE=function(Me,Le){return Me=Me>>>0,Le||tt(Me,4,this.length),this[Me]<<24|this[Me+1]<<16|this[Me+2]<<8|this[Me+3]},f.prototype.readBigInt64LE=Ie(function(Me){Me=Me>>>0,Pt(Me,"offset");var Le=this[Me],ut=this[Me+7];(Le===void 0||ut===void 0)&&Vt(Me,this.length-8);var lt=this[Me+4]+this[Me+5]*Math.pow(2,8)+this[Me+6]*Math.pow(2,16)+(ut<<24);return(BigInt(lt)<>>0,Pt(Me,"offset");var Le=this[Me],ut=this[Me+7];(Le===void 0||ut===void 0)&&Vt(Me,this.length-8);var lt=(Le<<24)+this[++Me]*Math.pow(2,16)+this[++Me]*Math.pow(2,8)+this[++Me];return(BigInt(lt)<>>0,Le||tt(Me,4,this.length),g.read(this,Me,!0,23,4)},f.prototype.readFloatBE=function(Me,Le){return Me=Me>>>0,Le||tt(Me,4,this.length),g.read(this,Me,!1,23,4)},f.prototype.readDoubleLE=function(Me,Le){return Me=Me>>>0,Le||tt(Me,8,this.length),g.read(this,Me,!0,52,8)},f.prototype.readDoubleBE=function(Me,Le){return Me=Me>>>0,Le||tt(Me,8,this.length),g.read(this,Me,!1,52,8)};function it(ke,Me,Le,ut,lt,gt){if(!f.isBuffer(ke))throw new TypeError('"buffer" argument must be a Buffer instance');if(Me>lt||Meke.length)throw new RangeError("Index out of range")}f.prototype.writeUintLE=f.prototype.writeUIntLE=function(Me,Le,ut,lt){if(Me=+Me,Le=Le>>>0,ut=ut>>>0,!lt){var gt=Math.pow(2,8*ut)-1;it(this,Me,Le,ut,gt,0)}var kt=1,nr=0;for(this[Le]=Me&255;++nr>>0,ut=ut>>>0,!lt){var gt=Math.pow(2,8*ut)-1;it(this,Me,Le,ut,gt,0)}var kt=ut-1,nr=1;for(this[Le+kt]=Me&255;--kt>=0&&(nr*=256);)this[Le+kt]=Me/nr&255;return Le+ut},f.prototype.writeUint8=f.prototype.writeUInt8=function(Me,Le,ut){return Me=+Me,Le=Le>>>0,ut||it(this,Me,Le,1,255,0),this[Le]=Me&255,Le+1},f.prototype.writeUint16LE=f.prototype.writeUInt16LE=function(Me,Le,ut){return Me=+Me,Le=Le>>>0,ut||it(this,Me,Le,2,65535,0),this[Le]=Me&255,this[Le+1]=Me>>>8,Le+2},f.prototype.writeUint16BE=f.prototype.writeUInt16BE=function(Me,Le,ut){return Me=+Me,Le=Le>>>0,ut||it(this,Me,Le,2,65535,0),this[Le]=Me>>>8,this[Le+1]=Me&255,Le+2},f.prototype.writeUint32LE=f.prototype.writeUInt32LE=function(Me,Le,ut){return Me=+Me,Le=Le>>>0,ut||it(this,Me,Le,4,4294967295,0),this[Le+3]=Me>>>24,this[Le+2]=Me>>>16,this[Le+1]=Me>>>8,this[Le]=Me&255,Le+4},f.prototype.writeUint32BE=f.prototype.writeUInt32BE=function(Me,Le,ut){return Me=+Me,Le=Le>>>0,ut||it(this,Me,Le,4,4294967295,0),this[Le]=Me>>>24,this[Le+1]=Me>>>16,this[Le+2]=Me>>>8,this[Le+3]=Me&255,Le+4};function et(ke,Me,Le,ut,lt){It(Me,ut,lt,ke,Le,7);var gt=Number(Me&BigInt(4294967295));ke[Le++]=gt,gt=gt>>8,ke[Le++]=gt,gt=gt>>8,ke[Le++]=gt,gt=gt>>8,ke[Le++]=gt;var kt=Number(Me>>BigInt(32)&BigInt(4294967295));return ke[Le++]=kt,kt=kt>>8,ke[Le++]=kt,kt=kt>>8,ke[Le++]=kt,kt=kt>>8,ke[Le++]=kt,Le}function nt(ke,Me,Le,ut,lt){It(Me,ut,lt,ke,Le,7);var gt=Number(Me&BigInt(4294967295));ke[Le+7]=gt,gt=gt>>8,ke[Le+6]=gt,gt=gt>>8,ke[Le+5]=gt,gt=gt>>8,ke[Le+4]=gt;var kt=Number(Me>>BigInt(32)&BigInt(4294967295));return ke[Le+3]=kt,kt=kt>>8,ke[Le+2]=kt,kt=kt>>8,ke[Le+1]=kt,kt=kt>>8,ke[Le]=kt,Le+8}f.prototype.writeBigUInt64LE=Ie(function(Me){var Le=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return et(this,Me,Le,BigInt(0),BigInt("0xffffffffffffffff"))}),f.prototype.writeBigUInt64BE=Ie(function(Me){var Le=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return nt(this,Me,Le,BigInt(0),BigInt("0xffffffffffffffff"))}),f.prototype.writeIntLE=function(Me,Le,ut,lt){if(Me=+Me,Le=Le>>>0,!lt){var gt=Math.pow(2,8*ut-1);it(this,Me,Le,ut,gt-1,-gt)}var kt=0,nr=1,ir=0;for(this[Le]=Me&255;++kt>0)-ir&255;return Le+ut},f.prototype.writeIntBE=function(Me,Le,ut,lt){if(Me=+Me,Le=Le>>>0,!lt){var gt=Math.pow(2,8*ut-1);it(this,Me,Le,ut,gt-1,-gt)}var kt=ut-1,nr=1,ir=0;for(this[Le+kt]=Me&255;--kt>=0&&(nr*=256);)Me<0&&ir===0&&this[Le+kt+1]!==0&&(ir=1),this[Le+kt]=(Me/nr>>0)-ir&255;return Le+ut},f.prototype.writeInt8=function(Me,Le,ut){return Me=+Me,Le=Le>>>0,ut||it(this,Me,Le,1,127,-128),Me<0&&(Me=255+Me+1),this[Le]=Me&255,Le+1},f.prototype.writeInt16LE=function(Me,Le,ut){return Me=+Me,Le=Le>>>0,ut||it(this,Me,Le,2,32767,-32768),this[Le]=Me&255,this[Le+1]=Me>>>8,Le+2},f.prototype.writeInt16BE=function(Me,Le,ut){return Me=+Me,Le=Le>>>0,ut||it(this,Me,Le,2,32767,-32768),this[Le]=Me>>>8,this[Le+1]=Me&255,Le+2},f.prototype.writeInt32LE=function(Me,Le,ut){return Me=+Me,Le=Le>>>0,ut||it(this,Me,Le,4,2147483647,-2147483648),this[Le]=Me&255,this[Le+1]=Me>>>8,this[Le+2]=Me>>>16,this[Le+3]=Me>>>24,Le+4},f.prototype.writeInt32BE=function(Me,Le,ut){return Me=+Me,Le=Le>>>0,ut||it(this,Me,Le,4,2147483647,-2147483648),Me<0&&(Me=4294967295+Me+1),this[Le]=Me>>>24,this[Le+1]=Me>>>16,this[Le+2]=Me>>>8,this[Le+3]=Me&255,Le+4},f.prototype.writeBigInt64LE=Ie(function(Me){var Le=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return et(this,Me,Le,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),f.prototype.writeBigInt64BE=Ie(function(Me){var Le=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return nt(this,Me,Le,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Ae(ke,Me,Le,ut,lt,gt){if(Le+ut>ke.length)throw new RangeError("Index out of range");if(Le<0)throw new RangeError("Index out of range")}function me(ke,Me,Le,ut,lt){return Me=+Me,Le=Le>>>0,lt||Ae(ke,Me,Le,4,34028234663852886e22,-34028234663852886e22),g.write(ke,Me,Le,ut,23,4),Le+4}f.prototype.writeFloatLE=function(Me,Le,ut){return me(this,Me,Le,!0,ut)},f.prototype.writeFloatBE=function(Me,Le,ut){return me(this,Me,Le,!1,ut)};function fe(ke,Me,Le,ut,lt){return Me=+Me,Le=Le>>>0,lt||Ae(ke,Me,Le,8,17976931348623157e292,-17976931348623157e292),g.write(ke,Me,Le,ut,52,8),Le+8}f.prototype.writeDoubleLE=function(Me,Le,ut){return fe(this,Me,Le,!0,ut)},f.prototype.writeDoubleBE=function(Me,Le,ut){return fe(this,Me,Le,!1,ut)},f.prototype.copy=function(Me,Le,ut,lt){if(!f.isBuffer(Me))throw new TypeError("argument should be a Buffer");if(ut||(ut=0),!lt&<!==0&&(lt=this.length),Le>=Me.length&&(Le=Me.length),Le||(Le=0),lt>0&<=this.length)throw new RangeError("Index out of range");if(lt<0)throw new RangeError("sourceEnd out of bounds");lt>this.length&&(lt=this.length),Me.length-Le>>0,ut=ut===void 0?this.length:ut>>>0,Me||(Me=0);var kt;if(typeof Me=="number")for(kt=Le;ktMath.pow(2,32)?lt=at(String(Le)):typeof Le=="bigint"&&(lt=String(Le),(Le>Math.pow(BigInt(2),BigInt(32))||Le<-Math.pow(BigInt(2),BigInt(32)))&&(lt=at(lt)),lt+="n"),ut+=" It must be ".concat(Me,". Received ").concat(lt),ut},RangeError);function at(ke){for(var Me="",Le=ke.length,ut=ke[0]==="-"?1:0;Le>=ut+4;Le-=3)Me="_".concat(ke.slice(Le-3,Le)).concat(Me);return"".concat(ke.slice(0,Le)).concat(Me)}function $e(ke,Me,Le){Pt(Me,"offset"),(ke[Me]===void 0||ke[Me+Le]===void 0)&&Vt(Me,ke.length-(Le+1))}function It(ke,Me,Le,ut,lt,gt){if(ke>Le||ke3?Me===0||Me===BigInt(0)?nr=">= 0".concat(kt," and < 2").concat(kt," ** ").concat((gt+1)*8).concat(kt):nr=">= -(2".concat(kt," ** ").concat((gt+1)*8-1).concat(kt,") and < 2 ** ")+"".concat((gt+1)*8-1).concat(kt):nr=">= ".concat(Me).concat(kt," and <= ").concat(Le).concat(kt),new Be.ERR_OUT_OF_RANGE("value",nr,ke)}$e(ut,lt,gt)}function Pt(ke,Me){if(typeof ke!="number")throw new Be.ERR_INVALID_ARG_TYPE(Me,"number",ke)}function Vt(ke,Me,Le){throw Math.floor(ke)!==ke?(Pt(ke,Le),new Be.ERR_OUT_OF_RANGE(Le||"offset","an integer",ke)):Me<0?new Be.ERR_BUFFER_OUT_OF_BOUNDS:new Be.ERR_OUT_OF_RANGE(Le||"offset",">= ".concat(Le?1:0," and <= ").concat(Me),ke)}var Wt=/[^+/0-9A-Za-z-_]/g;function Cr(ke){if(ke=ke.split("=")[0],ke=ke.trim().replace(Wt,""),ke.length<2)return"";for(;ke.length%4!==0;)ke=ke+"=";return ke}function yr(ke,Me){Me=Me||1/0;for(var Le,ut=ke.length,lt=null,gt=[],kt=0;kt55295&&Le<57344){if(!lt){if(Le>56319){(Me-=3)>-1&>.push(239,191,189);continue}else if(kt+1===ut){(Me-=3)>-1&>.push(239,191,189);continue}lt=Le;continue}if(Le<56320){(Me-=3)>-1&>.push(239,191,189),lt=Le;continue}Le=(lt-55296<<10|Le-56320)+65536}else lt&&(Me-=3)>-1&>.push(239,191,189);if(lt=null,Le<128){if((Me-=1)<0)break;gt.push(Le)}else if(Le<2048){if((Me-=2)<0)break;gt.push(Le>>6|192,Le&63|128)}else if(Le<65536){if((Me-=3)<0)break;gt.push(Le>>12|224,Le>>6&63|128,Le&63|128)}else if(Le<1114112){if((Me-=4)<0)break;gt.push(Le>>18|240,Le>>12&63|128,Le>>6&63|128,Le&63|128)}else throw new Error("Invalid code point")}return gt}function qr(ke){for(var Me=[],Le=0;Le>8,lt=Le%256,gt.push(lt),gt.push(ut);return gt}function Dr(ke){return M.toByteArray(Cr(ke))}function xt(ke,Me,Le,ut){var lt;for(lt=0;lt=Me.length||lt>=ke.length);++lt)Me[lt+Le]=ke[lt];return lt}function Ne(ke,Me){return ke instanceof Me||ke!=null&&ke.constructor!=null&&ke.constructor.name!=null&&ke.constructor.name===Me.name}function Ye(ke){return ke!==ke}var be=function(){for(var ke="0123456789abcdef",Me=new Array(256),Le=0;Le<16;++Le)for(var ut=Le*16,lt=0;lt<16;++lt)Me[ut+lt]=ke[Le]+ke[lt];return Me}();function Ie(ke){return typeof BigInt>"u"?qe:ke}function qe(){throw new Error("BigInt not supported")}},4844:function(e){e.exports=t;function t(r,o,i,n){return r[0]=o[0]+i[0]*n,r[1]=o[1]+i[1]*n,r[2]=o[2]+i[2]*n,r[3]=o[3]+i[3]*n,r}},4905:function(e,t,r){var o=r(5874);e.exports=i;function i(n,a){var s=o(a),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),i=r(8116),n=r(4359),a=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 d=m.prototype,T=[0,0];d.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},d.unbind=function(){this.vao.unbind()},d.update=function(w,A,M,g,b){var v=[];function u(U,O,X,J,se,le){var ce=[X.style,X.weight,X.variant,X.family].join("_"),q=h[ce];q||(q=h[ce]={});var Z=q[O];Z||(Z=q[O]=l(O,{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=(J||12)/12,V=Z.positions,oe=Z.cells,ie=0,j=oe.length;ie=0;--re){var ue=V[Q[re]];v.push(ee*ue[0],-ee*ue[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]=v.length/c|0,u(.5*(w[0][N]+w[1][N]),A[N],M[N],12,z,F),L[N]=(v.length/c|0)-R[N],y[N]=v.length/c|0;for(var B=0;B0||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=v[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,d);return T?z.concat(l.boundary):z}},5033:function(e){"use strict";e.exports=t;function t(r,o,i){var n=o||0,a=i||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]],[a*r[12]-r[8],a*r[13]-r[9],a*r[14]-r[10],a*r[15]-r[11]]]}},5085:function(e,t,r){e.exports=_;var o=r(3250)[3],i=r(4209),n=r(3352),a=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 v=1;b;){var u=b.key,y=o(M,u[0],u[1]);if(u[0][0]0)v=-1,b=b.right;else return 0;else if(y>0)b=b.left;else if(y<0)v=1,b=b.right;else return 0}return v}}function d(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,v=0;v"u"?r(606):WeakMap,a=new n,s=0;function h(A,M,g,b,v,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,v=g.length;b0&&(h=1/Math.sqrt(h),r[0]=i*h,r[1]=n*h,r[2]=a*h,r[3]=s*h),r}},5202:function(e,t,r){"use strict";var o=r(1944),i=r(8210);e.exports=s,e.exports.positive=h,e.exports.negative=c;function n(m,d){var T=i(o(m,d),[d[d.length-1]]);return T[T.length-1]}function a(m,d,T,l){var _=l-d,w=-d/_;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=a(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,d){for(var T=[],l=n(m[m.length-1],d),_=m[m.length-1],w=m[0],A=0;A0||l>0&&M<0)&&T.push(a(_,M,w,l)),M>=0&&T.push(w.slice()),l=M}return T}function c(m,d){for(var T=[],l=n(m[m.length-1],d),_=m[m.length-1],w=m[0],A=0;A0||l>0&&M<0)&&T.push(a(_,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,i=0;i13)&&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,i,n){var a=o*i,s=t*o,h=s-o,c=s-h,m=o-c,d=t*i,T=d-i,l=d-T,_=i-l,w=a-c*l,A=w-m*l,M=A-c*_,g=m*_-M;return n?(n[0]=g,n[1]=a,n):[g,a]}},5298:function(e,t){"use strict";var r={"float64,2,1,0":function(){return function(m,d,T,l,_){var w=m[0],A=m[1],M=m[2],g=T[0],b=T[1],v=T[2];l|=0;var u=0,y=0,f=0,R=v,L=b-M*v,z=g-A*b;for(f=0;f0;){B<64?(g=B,B=0):(g=64,B-=64);for(var I=m[1]|0;I>0;){I<64?(b=I,I=0):(b=64,I-=64),l=F+B*u+I*y,A=N+B*R+I*L;var U=0,O=0,X=0,J=f,se=u-v*f,le=y-g*u,ce=z,q=R-v*z,Z=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*v+z*b,A=R+L*y+z*u;var F=0,N=0,B=v,I=b-g*v,U=y,O=u-g*y;for(N=0;N0;){N<64?(b=N,N=0):(b=64,N-=64);for(var B=m[0]|0;B>0;){B<64?(M=B,B=0):(M=64,B-=64);for(var I=m[1]|0;I>0;){I<64?(g=I,I=0):(g=64,I-=64),l=z+N*y+B*v+I*u,A=F+N*L+B*f+I*R;var U=0,O=0,X=0,J=y,se=v-b*y,le=u-M*v,ce=L,q=f-b*L,Z=R-M*f;for(X=0;X=0}}(),n.removeTriangle=function(h,c,m){var d=this.stars;a(d[h],c,m),a(d[c],m,h),a(d[m],h,c)},n.addTriangle=function(h,c,m){var d=this.stars;d[h].push(c,m),d[c].push(m,h),d[m].push(h,c)},n.opposite=function(h,c){for(var m=this.stars[c],d=1,T=m.length;d0;){var l=m.pop();h[l]=!1;for(var _=s[l],d=0;d<_.length;++d){var w=_[d];--c[w]===0&&m.push(w)}}for(var A=new Array(a.length),M=[],d=0;d0){for(var ce=0;ce<24;++ce)L.push(L[L.length-12]);B+=2,J=!0}continue e}I[0][f]=Math.min(I[0][f],se[f],le[f]),I[1][f]=Math.max(I[1][f],se[f],le[f])}var q,Z;Array.isArray(O[0])?(q=O.length>y-1?O[y-1]:O.length>0?O[O.length-1]:[0,0,0,1],Z=O.length>y?O[y]:O.length>0?O[O.length-1]:[0,0,0,1]):q=Z=O,q.length===3&&(q=[q[0],q[1],q[2],1]),Z.length===3&&(Z=[Z[0],Z[1],Z[2],1]),!this.hasAlpha&&q[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 V=N;if(N+=w(se,le),J){for(f=0;f<2;++f)L.push(se[0],se[1],se[2],le[0],le[1],le[2],V,ee,q[0],q[1],q[2],q[3]);B+=2,J=!1}L.push(se[0],se[1],se[2],le[0],le[1],le[2],V,ee,q[0],q[1],q[2],q[3],se[0],se[1],se[2],le[0],le[1],le[2],V,-ee,q[0],q[1],q[2],q[3],le[0],le[1],le[2],se[0],se[1],se[2],N,-ee,Z[0],Z[1],Z[2],Z[3],le[0],le[1],le[2],se[0],se[1],se[2],N,ee,Z[0],Z[1],Z[2],Z[3]),B+=4}}if(this.buffer.update(L),z.push(N),F.push(U[U.length-1].slice()),this.bounds=I,this.vertexCount=B,this.points=F,this.arcLength=z,"dashes"in u){var oe=u.dashes,ie=oe.slice();for(ie.unshift(0),y=1;yr[i][0]&&(i=n);return oi?[[i],[o]]:[[o]]}},5771:function(e,t,r){"use strict";var o=r(8507),i=r(3788),n=r(2419);e.exports=a;function a(s){s.sort(i);for(var h=s.length,c=0,m=0;m0){var l=s[c-1];if(o(d,l)===0&&n(l)!==T){c-=1;continue}}s[c++]=d}}return s.length=c,s}},5838:function(e,t,r){"use strict";e.exports=i;var o=r(7842);function i(n){for(var a=new Array(n.length),s=0;s0)continue;at=fe.slice(0,1).join("")}return Q(at),le+=at.length,I=I.slice(at.length),I.length}while(!0)}function et(){return/[^a-fA-F0-9]/.test(N)?(Q(I.join("")),F=h,L):(I.push(N),B=N,L+1)}function nt(){return N==="."||/[eE]/.test(N)?(I.push(N),F=w,B=N,L+1):N==="x"&&I.length===1&&I[0]==="0"?(F=u,I.push(N),B=N,L+1):/[^\d]/.test(N)?(Q(I.join("")),F=h,L):(I.push(N),B=N,L+1)}function Ae(){return N==="f"&&(I.push(N),B=N,L+=1),/[eE]/.test(N)||(N==="-"||N==="+")&&/[eE]/.test(B)?(I.push(N),B=N,L+1):/[^\d]/.test(N)?(Q(I.join("")),F=h,L):(I.push(N),B=N,L+1)}function me(){if(/[^\d\w_]/.test(N)){var fe=I.join("");return j[fe]?F=g:ie[fe]?F=M:F=A,Q(I.join("")),F=h,L}return I.push(N),B=N,L+1}}},5878:function(e,t,r){"use strict";e.exports=a;var o=r(3250),i=r(2014);function n(s,h,c){var m=Math.abs(o(s,h,c)),d=Math.sqrt(Math.pow(h[0]-c[0],2)+Math.pow(h[1]-c[1],2));return m/d}function a(s,h,c){for(var m=h.length,d=s.length,T=new Array(m),l=new Array(m),_=new Array(m),w=new Array(m),A=0;A>1:(q>>1)-1}function R(q){for(var Z=y(q);;){var ee=Z,V=2*q+1,oe=2*(q+1),ie=q;if(V0;){var ee=f(q);if(ee>=0){var V=y(ee);if(Z0){var q=B[0];return u(0,O-1),O-=1,R(0),q}return-1}function F(q,Z){var ee=B[q];return _[ee]===Z?q:(_[ee]=-1/0,L(q),z(),_[ee]=Z,O+=1,L(O-1))}function N(q){if(!w[q]){w[q]=!0;var Z=T[q],ee=l[q];T[ee]>=0&&(T[ee]=Z),l[Z]>=0&&(l[Z]=ee),I[Z]>=0&&F(I[Z],v(Z)),I[ee]>=0&&F(I[ee],v(ee))}}for(var B=[],I=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 J=[],A=0;A=0&&ee>=0&&Z!==ee){var V=I[Z],oe=I[ee];V!==oe&&ce.push([V,oe])}}),i.unique(i.normalize(ce)),{positions:J,edges:ce}}},5911:function(e){e.exports=t;function t(r,o,i){var n=o[0],a=o[1],s=o[2],h=i[0],c=i[1],m=i[2];return r[0]=a*m-s*c,r[1]=s*h-n*m,r[2]=n*c-a*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),i=r(6037);function n(a,s){return o(s).filter(function(h){for(var c=new Array(h.length),m=0;m2&&f[1]>2&&v(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,v=[T,l],u=1;u<=b;++u)v.push(_(u));var y=w,f=y.apply(void 0,v);return m[g]=f,f}e.exports=function(g,b,v){if(Array.isArray(v)||(typeof v=="string"?v=o(b.dimension,v):v=o(b.dimension,"clamp")),b.size===0)return g;if(b.dimension===0)return g.set(0),g;var u=A(v);return u(g,b)}},6204:function(e){"use strict";e.exports=t;function t(r){var o,i,n,a=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?(v=Math.min(v,z),u=!1):u=!0}u||(M=R,g=L),b.push(L)}var F=[d,l,w],N=[T,_,A];a&&(a[0]=F,a[1]=N),m===0&&(m=1);var B=1/m;isFinite(v)||(v=1),c.vectorScale=v;var I=n.coneSize||(y?1:.5);n.absoluteConeSize&&(I=n.absoluteConeSize*B),c.coneScale=I;for(var f=0,U=0;fJ&&(N|=1<J){N|=1<c[L][1])&&(oe=L);for(var ie=-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(ie^oe)]=oe&ie,re[o.log2(oe^Q)]=oe&Q;var ue=Q^7;ue===N||ue===V?(ue=ie^7,re[o.log2(Q^ue)]=ue&Q):re[o.log2(ie^ue)]=ue&ie;for(var _e=A,we=N,U=0;U<3;++U)we&1<=0&&(c=s.length-h-1);var m=Math.pow(10,c),d=Math.round(n*a*m),T=d+"";if(T.indexOf("e")>=0)return T;var l=d/m,_=d%m;d<0?(l=-Math.ceil(l)|0,_=-_|0):(l=Math.floor(l)|0,_=_|0);var w=""+l;if(d<0&&(w="-"+w),c){for(var A=""+_;A.length=n[0][h];--d)c.push({x:d*a[h],text:r(a[h],d)});s.push(c)}return s}function i(n,a){for(var s=0;s<3;++s){if(n[s].length!==a[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 v=_.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 max(a, b)) || + (p < min(a, b))); +} - f_color = color; - f_data = tubePosition.xyz; - f_position = position.xyz; - f_uv = uv; +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); } -`]),n=o([`#extension GL_OES_standard_derivatives : enable -precision highp float; +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float pickId; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; + + gl_FragColor = vec4(pickId, f_id.xyz); +}`]);e.meshShader={vertex:r,fragment:n,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},e.pickShader={vertex:i,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},7815:function(l,e,t){"use strict";var a=t(2931),r=t(9970),n=["xyz","xzy","yxz","yzx","zxy","zyx"],i=function(A,E,g,T){for(var m=A.points,h=A.velocities,x=A.divergences,_=[],D=[],C=[],F=[],I=[],z=[],R=0,k=0,B=r.create(),N=r.create(),q=8,Y=0;Y0)for(var j=0;jE)return T-1}return T},p=function(A,E,g){return Ag?g:A},f=function(A,E,g){var T=E.vectors,m=E.meshgrid,h=A[0],x=A[1],_=A[2],D=m[0].length,C=m[1].length,F=m[2].length,I=c(m[0],h),z=c(m[1],x),R=c(m[2],_),k=I+1,B=z+1,N=R+1;if(I=p(I,0,D-1),k=p(k,0,D-1),z=p(z,0,C-1),B=p(B,0,C-1),R=p(R,0,F-1),N=p(N,0,F-1),I<0||z<0||R<0||k>D-1||B>C-1||N>F-1)return a.create();var q=m[0][I],Y=m[0][k],ee=m[1][z],te=m[1][B],ae=m[2][R],j=m[2][N],G=(h-q)/(Y-q),K=(x-ee)/(te-ee),H=(_-ae)/(j-ae);isFinite(G)||(G=.5),isFinite(K)||(K=.5),isFinite(H)||(H=.5);var Z,X,$,Q,re,ue;switch(g.reversedX&&(I=D-1-I,k=D-1-k),g.reversedY&&(z=C-1-z,B=C-1-B),g.reversedZ&&(R=F-1-R,N=F-1-N),g.filled){case 5:re=R,ue=N,$=z*F,Q=B*F,Z=I*F*C,X=k*F*C;break;case 4:re=R,ue=N,Z=I*F,X=k*F,$=z*F*D,Q=B*F*D;break;case 3:$=z,Q=B,re=R*C,ue=N*C,Z=I*C*F,X=k*C*F;break;case 2:$=z,Q=B,Z=I*C,X=k*C,re=R*C*D,ue=N*C*D;break;case 1:Z=I,X=k,re=R*D,ue=N*D,$=z*D*F,Q=B*D*F;break;default:Z=I,X=k,$=z*D,Q=B*D,re=R*D*C,ue=N*D*C;break}var pe=T[Z+$+re],ge=T[Z+$+ue],Te=T[Z+Q+re],Se=T[Z+Q+ue],Ce=T[X+$+re],Ue=T[X+$+ue],Oe=T[X+Q+re],_e=T[X+Q+ue],ce=a.create(),ie=a.create(),se=a.create(),ne=a.create();a.lerp(ce,pe,Ce,G),a.lerp(ie,ge,Ue,G),a.lerp(se,Te,Oe,G),a.lerp(ne,Se,_e,G);var be=a.create(),De=a.create();a.lerp(be,ce,se,K),a.lerp(De,ie,ne,K);var qe=a.create();return a.lerp(qe,be,De,H),qe},d=function(A,E){var g=E[0],T=E[1],m=E[2];return A[0]=g<0?-g:g,A[1]=T<0?-T:T,A[2]=m<0?-m:m,A},y=function(A){var E=1/0;A.sort(function(h,x){return h-x});for(var g=A.length,T=1;Tk||_eB||ceN)},Y=a.distance(E[0],E[1]),ee=10*Y/T,te=ee*ee,ae=1,j=0,G=g.length;G>1&&(ae=o(g));for(var K=0;Kj&&(j=pe),re.push(pe),F.push({points:Z,velocities:X,divergences:re});for(var ge=0;gete&&a.scale(Te,Te,ee/Math.sqrt(Se)),a.add(Te,Te,H),$=D(Te),a.squaredDistance(Q,Te)-te>-1e-4*te){Z.push(Te),Q=Te,X.push($);var ue=C(Te,$),pe=a.length(ue);isFinite(pe)&&pe>j&&(j=pe),re.push(pe)}H=Te}}var Ce=s(F,A.colormap,j,ae);return h?Ce.tubeScale=h:(j===0&&(j=1),Ce.tubeScale=m*.5*ae/j),Ce};var b=t(6740),M=t(6405).createMesh;l.exports.createTubeMesh=function(A,E){return M(A,E,{shaders:b,traceType:"streamtube"})}},990:function(l,e,t){var a=t(9405),r=t(3236),n=r([`precision highp float; +#define GLSLIFY 1 + +attribute vec4 uv; +attribute vec3 f; +attribute vec3 normal; + +uniform vec3 objectOffset; +uniform mat4 model, view, projection, inverseModel; +uniform vec3 lightPosition, eyePosition; +uniform sampler2D colormap; + +varying float value, kill; +varying vec3 worldCoordinate; +varying vec2 planeCoordinate; +varying vec3 lightDirection, eyeDirection, surfaceNormal; +varying vec4 vColor; + +void main() { + vec3 localCoordinate = vec3(uv.zw, f.x); + worldCoordinate = objectOffset + localCoordinate; + mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0)); + vec4 worldPosition = (model * objectOffsetTranslation) * vec4(localCoordinate, 1.0); + vec4 clipPosition = projection * (view * worldPosition); + gl_Position = clipPosition; + kill = f.y; + value = f.z; + planeCoordinate = uv.xy; + + vColor = texture2D(colormap, vec2(value, value)); + + //Lighting geometry parameters + vec4 cameraCoordinate = view * worldPosition; + cameraCoordinate.xyz /= cameraCoordinate.w; + lightDirection = lightPosition - cameraCoordinate.xyz; + eyeDirection = eyePosition - cameraCoordinate.xyz; + surfaceNormal = normalize((vec4(normal,0) * inverseModel).xyz); +} +`]),i=r([`precision highp float; #define GLSLIFY 1 float beckmannDistribution(float x, float roughness) { @@ -1653,35 +1831,12 @@ float beckmannDistribution(float x, float roughness) { return exp(tan2Alpha / roughness2) / denom; } -float cookTorranceSpecular( +float beckmannSpecular( vec3 lightDirection, vec3 viewDirection, vec3 surfaceNormal, - float roughness, - float fresnel) { - - float VdotN = max(dot(viewDirection, surfaceNormal), 0.0); - float LdotN = max(dot(lightDirection, surfaceNormal), 0.0); - - //Half angle vector - vec3 H = normalize(lightDirection + viewDirection); - - //Geometric term - float NdotH = max(dot(surfaceNormal, H), 0.0); - float VdotH = max(dot(viewDirection, H), 0.000001); - float LdotH = max(dot(lightDirection, H), 0.000001); - float G1 = (2.0 * NdotH * VdotN) / VdotH; - float G2 = (2.0 * NdotH * LdotN) / LdotH; - float G = min(1.0, min(G1, G2)); - - //Distribution term - float D = beckmannDistribution(NdotH, roughness); - - //Fresnel term - float F = pow(1.0 - VdotN, fresnel); - - //Multiply terms and done - return G * F * D / max(3.14159265 * VdotN, 0.000001); + float roughness) { + return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness); } bool outOfRange(float a, float b, float p) { @@ -1704,95 +1859,86 @@ bool outOfRange(vec4 a, vec4 b, vec4 p) { return outOfRange(a.xyz, b.xyz, p.xyz); } +uniform vec3 lowerBound, upperBound; +uniform float contourTint; +uniform vec4 contourColor; +uniform sampler2D colormap; uniform vec3 clipBounds[2]; uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity; -uniform sampler2D texture; +uniform float vertexColor; -varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position; -varying vec4 f_color; -varying vec2 f_uv; +varying float value, kill; +varying vec3 worldCoordinate; +varying vec3 lightDirection, eyeDirection, surfaceNormal; +varying vec4 vColor; void main() { - if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; - vec3 N = normalize(f_normal); - vec3 L = normalize(f_lightDirection); - vec3 V = normalize(f_eyeDirection); + if ( + kill > 0.0 || + vColor.a == 0.0 || + outOfRange(clipBounds[0], clipBounds[1], worldCoordinate) + ) discard; + + vec3 N = normalize(surfaceNormal); + vec3 V = normalize(eyeDirection); + vec3 L = normalize(lightDirection); if(gl_FrontFacing) { N = -N; } - float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel))); + float specular = max(beckmannSpecular(L, V, N, roughness), 0.); float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0); - vec4 surfaceColor = f_color * texture2D(texture, f_uv); + //decide how to interpolate color \u2014 in vertex or in fragment + vec4 surfaceColor = + step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + + step(.5, vertexColor) * vColor; + vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0); - gl_FragColor = litColor * opacity; + gl_FragColor = mix(litColor, contourColor, contourTint) * opacity; } -`]),a=o([`precision highp float; - -precision highp float; +`]),s=r([`precision highp float; #define GLSLIFY 1 -vec3 getOrthogonalVector(vec3 v) { - // Return up-vector for only-z vector. - // 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). - // From the above if-statement we have ||a|| > 0 U ||b|| > 0. - // Assign z = 0, x = -b, y = a: - // a*-b + b*a + c*0 = -ba + ba + 0 = 0 - if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) { - return normalize(vec3(-v.y, v.x, 0.0)); - } else { - return normalize(vec3(0.0, v.z, -v.y)); - } -} - -// Calculate the tube vertex and normal at the given index. -// -// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d. -// -// Each tube segment is made up of a ring of vertices. -// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array. -// The indexes of tube segments run from 0 to 8. -// -vec3 getTubePosition(vec3 d, float index, out vec3 normal) { - float segmentCount = 8.0; - - float angle = 2.0 * 3.14159 * (index / segmentCount); - - vec3 u = getOrthogonalVector(d); - vec3 v = normalize(cross(u, d)); - - vec3 x = u * cos(angle) * length(d); - vec3 y = v * sin(angle) * length(d); - vec3 v3 = x + y; +attribute vec4 uv; +attribute float f; - normal = normalize(v3); +uniform vec3 objectOffset; +uniform mat3 permutation; +uniform mat4 model, view, projection; +uniform float height, zOffset; +uniform sampler2D colormap; - return v3; -} +varying float value, kill; +varying vec3 worldCoordinate; +varying vec2 planeCoordinate; +varying vec3 lightDirection, eyeDirection, surfaceNormal; +varying vec4 vColor; -attribute vec4 vector; -attribute vec4 position; -attribute vec4 id; +void main() { + vec3 dataCoordinate = permutation * vec3(uv.xy, height); + worldCoordinate = objectOffset + dataCoordinate; + mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0)); + vec4 worldPosition = (model * objectOffsetTranslation) * vec4(dataCoordinate, 1.0); -uniform mat4 model, view, projection; -uniform float tubeScale; + vec4 clipPosition = projection * (view * worldPosition); + clipPosition.z += zOffset; -varying vec3 f_position; -varying vec4 f_id; + gl_Position = clipPosition; + value = f + objectOffset.z; + kill = -1.0; + planeCoordinate = uv.zw; -void main() { - vec3 normal; - vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal); - vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0); + vColor = texture2D(colormap, vec2(value, value)); - gl_Position = projection * (view * tubePosition); - f_id = id; - f_position = position.xyz; + //Don't do lighting for contours + surfaceNormal = vec3(1,0,0); + eyeDirection = vec3(0,1,0); + lightDirection = vec3(0,0,1); } -`]),s=o([`precision highp float; +`]),c=r([`precision highp float; #define GLSLIFY 1 bool outOfRange(float a, float b, float p) { @@ -1815,192 +1961,46 @@ bool outOfRange(vec4 a, vec4 b, vec4 p) { return outOfRange(a.xyz, b.xyz, p.xyz); } -uniform vec3 clipBounds[2]; +uniform vec2 shape; +uniform vec3 clipBounds[2]; uniform float pickId; -varying vec3 f_position; -varying vec4 f_id; +varying float value, kill; +varying vec3 worldCoordinate; +varying vec2 planeCoordinate; +varying vec3 surfaceNormal; + +vec2 splitFloat(float v) { + float vh = 255.0 * v; + float upper = floor(vh); + float lower = fract(vh); + return vec2(upper / 255.0, floor(lower * 16.0) / 16.0); +} void main() { - if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; + if ((kill > 0.0) || + (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard; - gl_FragColor = vec4(pickId, f_id.xyz); -}`]);t.meshShader={vertex:i,fragment:n,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},t.pickShader={vertex:a,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,i){var n=o[0],a=o[1],s=o[2],h=o[3],c=n+n,m=a+a,d=s+s,T=n*c,l=n*m,_=n*d,w=a*m,A=a*d,M=s*d,g=h*c,b=h*m,v=h*d;return r[0]=1-(w+M),r[1]=l+v,r[2]=_-b,r[3]=0,r[4]=l-v,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]=i[0],r[13]=i[1],r[14]=i[2],r[15]=1,r}},6760:function(e){e.exports=t;function t(r,o,i){var n=o[0],a=o[1],s=o[2],h=o[3],c=o[4],m=o[5],d=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],v=o[15],u=i[0],y=i[1],f=i[2],R=i[3];return r[0]=u*n+y*c+f*l+R*M,r[1]=u*a+y*m+f*_+R*g,r[2]=u*s+y*d+f*w+R*b,r[3]=u*h+y*T+f*A+R*v,u=i[4],y=i[5],f=i[6],R=i[7],r[4]=u*n+y*c+f*l+R*M,r[5]=u*a+y*m+f*_+R*g,r[6]=u*s+y*d+f*w+R*b,r[7]=u*h+y*T+f*A+R*v,u=i[8],y=i[9],f=i[10],R=i[11],r[8]=u*n+y*c+f*l+R*M,r[9]=u*a+y*m+f*_+R*g,r[10]=u*s+y*d+f*w+R*b,r[11]=u*h+y*T+f*A+R*v,u=i[12],y=i[13],f=i[14],R=i[15],r[12]=u*n+y*c+f*l+R*M,r[13]=u*a+y*m+f*_+R*g,r[14]=u*s+y*d+f*w+R*b,r[15]=u*h+y*T+f*A+R*v,r}},6768:function(e,t,r){"use strict";var o=r(6859);e.exports=i;function i(n){return new o(n)}},6803:function(e,t,r){"use strict";var o,i=r(8828),n=r(1755);function a(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&&I.push(z[U]);f.push(I)}return d(f)}o=A;function M(y,f){if(f<0)return[];for(var R=[],L=(1<0?I:U},s.min=function(I,U){return I.cmp(U)<0?I:U},s.prototype._init=function(I,U,O){if(typeof I=="number")return this._initNumber(I,U,O);if(typeof I=="object")return this._initArray(I,U,O);U==="hex"&&(U=16),n(U===(U|0)&&U>=2&&U<=36),I=I.toString().replace(/\s+/g,"");var X=0;I[0]==="-"&&(X++,this.negative=1),X=0;X-=3)se=I[X]|I[X-1]<<8|I[X-2]<<16,this.words[J]|=se<>>26-le&67108863,le+=24,le>=26&&(le-=26,J++);else if(O==="le")for(X=0,J=0;X>>26-le&67108863,le+=24,le>=26&&(le-=26,J++);return this.strip()};function c(B,I){var U=B.charCodeAt(I);return U>=65&&U<=70?U-55:U>=97&&U<=102?U-87:U-48&15}function m(B,I,U){var O=c(B,U);return U-1>=I&&(O|=c(B,U-1)<<4),O}s.prototype._parseHex=function(I,U,O){this.length=Math.ceil((I.length-U)/6),this.words=new Array(this.length);for(var X=0;X=U;X-=2)le=m(I,U,X)<=18?(J-=18,se+=1,this.words[se]|=le>>>26):J+=8;else{var ce=I.length-U;for(X=ce%2===0?U+1:U;X=18?(J-=18,se+=1,this.words[se]|=le>>>26):J+=8}this.strip()};function d(B,I,U,O){for(var X=0,J=Math.min(B.length,U),se=I;se=49?X+=le-49+10:le>=17?X+=le-17+10:X+=le}return X}s.prototype._parseBase=function(I,U,O){this.words=[0],this.length=1;for(var X=0,J=1;J<=67108863;J*=U)X++;X--,J=J/U|0;for(var se=I.length-O,le=se%X,ce=Math.min(se,se-le)+O,q=0,Z=O;Z1&&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(I,U){I=I||10,U=U|0||1;var O;if(I===16||I==="hex"){O="";for(var X=0,J=0,se=0;se>>24-X&16777215,J!==0||se!==this.length-1?O=T[6-ce.length]+ce+O:O=ce+O,X+=2,X>=26&&(X-=26,se--)}for(J!==0&&(O=J.toString(16)+O);O.length%U!==0;)O="0"+O;return this.negative!==0&&(O="-"+O),O}if(I===(I|0)&&I>=2&&I<=36){var q=l[I],Z=_[I];O="";var ee=this.clone();for(ee.negative=0;!ee.isZero();){var V=ee.modn(Z).toString(I);ee=ee.idivn(Z),ee.isZero()?O=V+O:O=T[q-V.length]+V+O}for(this.isZero()&&(O="0"+O);O.length%U!==0;)O="0"+O;return this.negative!==0&&(O="-"+O),O}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var I=this.words[0];return this.length===2?I+=this.words[1]*67108864:this.length===3&&this.words[2]===1?I+=4503599627370496+this.words[1]*67108864:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-I:I},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(I,U){return n(typeof h<"u"),this.toArrayLike(h,I,U)},s.prototype.toArray=function(I,U){return this.toArrayLike(Array,I,U)},s.prototype.toArrayLike=function(I,U,O){var X=this.byteLength(),J=O||Math.max(1,X);n(X<=J,"byte array longer than desired length"),n(J>0,"Requested array length <= 0"),this.strip();var se=U==="le",le=new I(J),ce,q,Z=this.clone();if(se){for(q=0;!Z.isZero();q++)ce=Z.andln(255),Z.iushrn(8),le[q]=ce;for(;q=4096&&(O+=13,U>>>=13),U>=64&&(O+=7,U>>>=7),U>=8&&(O+=4,U>>>=4),U>=2&&(O+=2,U>>>=2),O+U},s.prototype._zeroBits=function(I){if(I===0)return 26;var U=I,O=0;return U&8191||(O+=13,U>>>=13),U&127||(O+=7,U>>>=7),U&15||(O+=4,U>>>=4),U&3||(O+=2,U>>>=2),U&1||O++,O},s.prototype.bitLength=function(){var I=this.words[this.length-1],U=this._countBits(I);return(this.length-1)*26+U};function w(B){for(var I=new Array(B.bitLength()),U=0;U>>X}return I}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var I=0,U=0;UI.length?this.clone().ior(I):I.clone().ior(this)},s.prototype.uor=function(I){return this.length>I.length?this.clone().iuor(I):I.clone().iuor(this)},s.prototype.iuand=function(I){var U;this.length>I.length?U=I:U=this;for(var O=0;OI.length?this.clone().iand(I):I.clone().iand(this)},s.prototype.uand=function(I){return this.length>I.length?this.clone().iuand(I):I.clone().iuand(this)},s.prototype.iuxor=function(I){var U,O;this.length>I.length?(U=this,O=I):(U=I,O=this);for(var X=0;XI.length?this.clone().ixor(I):I.clone().ixor(this)},s.prototype.uxor=function(I){return this.length>I.length?this.clone().iuxor(I):I.clone().iuxor(this)},s.prototype.inotn=function(I){n(typeof I=="number"&&I>=0);var U=Math.ceil(I/26)|0,O=I%26;this._expand(U),O>0&&U--;for(var X=0;X0&&(this.words[X]=~this.words[X]&67108863>>26-O),this.strip()},s.prototype.notn=function(I){return this.clone().inotn(I)},s.prototype.setn=function(I,U){n(typeof I=="number"&&I>=0);var O=I/26|0,X=I%26;return this._expand(O+1),U?this.words[O]=this.words[O]|1<I.length?(O=this,X=I):(O=I,X=this);for(var J=0,se=0;se>>26;for(;J!==0&&se>>26;if(this.length=O.length,J!==0)this.words[this.length]=J,this.length++;else if(O!==this)for(;seI.length?this.clone().iadd(I):I.clone().iadd(this)},s.prototype.isub=function(I){if(I.negative!==0){I.negative=0;var U=this.iadd(I);return I.negative=1,U._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(I),this.negative=1,this._normSign();var O=this.cmp(I);if(O===0)return this.negative=0,this.length=1,this.words[0]=0,this;var X,J;O>0?(X=this,J=I):(X=I,J=this);for(var se=0,le=0;le>26,this.words[le]=U&67108863;for(;se!==0&&le>26,this.words[le]=U&67108863;if(se===0&&le>>26,ee=ce&67108863,V=Math.min(q,I.length-1),oe=Math.max(0,q-B.length+1);oe<=V;oe++){var ie=q-oe|0;X=B.words[ie]|0,J=I.words[oe]|0,se=X*J+ee,Z+=se/67108864|0,ee=se&67108863}U.words[q]=ee|0,ce=Z|0}return ce!==0?U.words[q]=ce|0:U.length--,U.strip()}var M=function(I,U,O){var X=I.words,J=U.words,se=O.words,le=0,ce,q,Z,ee=X[0]|0,V=ee&8191,oe=ee>>>13,ie=X[1]|0,j=ie&8191,Q=ie>>>13,re=X[2]|0,ue=re&8191,_e=re>>>13,we=X[3]|0,Re=we&8191,ze=we>>>13,Xe=X[4]|0,tt=Xe&8191,it=Xe>>>13,et=X[5]|0,nt=et&8191,Ae=et>>>13,me=X[6]|0,fe=me&8191,Be=me>>>13,Qe=X[7]|0,at=Qe&8191,$e=Qe>>>13,It=X[8]|0,Pt=It&8191,Vt=It>>>13,Wt=X[9]|0,Cr=Wt&8191,yr=Wt>>>13,qr=J[0]|0,Mr=qr&8191,Dr=qr>>>13,xt=J[1]|0,Ne=xt&8191,Ye=xt>>>13,be=J[2]|0,Ie=be&8191,qe=be>>>13,ke=J[3]|0,Me=ke&8191,Le=ke>>>13,ut=J[4]|0,lt=ut&8191,gt=ut>>>13,kt=J[5]|0,nr=kt&8191,ir=kt>>>13,tr=J[6]|0,Ir=tr&8191,vi=tr>>>13,Vi=J[7]|0,Ui=Vi&8191,Ki=Vi>>>13,ea=J[8]|0,Bi=ea&8191,_a=ea>>>13,Ca=J[9]|0,Kt=Ca&8191,zt=Ca>>>13;O.negative=I.negative^U.negative,O.length=19,ce=Math.imul(V,Mr),q=Math.imul(V,Dr),q=q+Math.imul(oe,Mr)|0,Z=Math.imul(oe,Dr);var Zt=(le+ce|0)+((q&8191)<<13)|0;le=(Z+(q>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,ce=Math.imul(j,Mr),q=Math.imul(j,Dr),q=q+Math.imul(Q,Mr)|0,Z=Math.imul(Q,Dr),ce=ce+Math.imul(V,Ne)|0,q=q+Math.imul(V,Ye)|0,q=q+Math.imul(oe,Ne)|0,Z=Z+Math.imul(oe,Ye)|0;var Jt=(le+ce|0)+((q&8191)<<13)|0;le=(Z+(q>>>13)|0)+(Jt>>>26)|0,Jt&=67108863,ce=Math.imul(ue,Mr),q=Math.imul(ue,Dr),q=q+Math.imul(_e,Mr)|0,Z=Math.imul(_e,Dr),ce=ce+Math.imul(j,Ne)|0,q=q+Math.imul(j,Ye)|0,q=q+Math.imul(Q,Ne)|0,Z=Z+Math.imul(Q,Ye)|0,ce=ce+Math.imul(V,Ie)|0,q=q+Math.imul(V,qe)|0,q=q+Math.imul(oe,Ie)|0,Z=Z+Math.imul(oe,qe)|0;var Br=(le+ce|0)+((q&8191)<<13)|0;le=(Z+(q>>>13)|0)+(Br>>>26)|0,Br&=67108863,ce=Math.imul(Re,Mr),q=Math.imul(Re,Dr),q=q+Math.imul(ze,Mr)|0,Z=Math.imul(ze,Dr),ce=ce+Math.imul(ue,Ne)|0,q=q+Math.imul(ue,Ye)|0,q=q+Math.imul(_e,Ne)|0,Z=Z+Math.imul(_e,Ye)|0,ce=ce+Math.imul(j,Ie)|0,q=q+Math.imul(j,qe)|0,q=q+Math.imul(Q,Ie)|0,Z=Z+Math.imul(Q,qe)|0,ce=ce+Math.imul(V,Me)|0,q=q+Math.imul(V,Le)|0,q=q+Math.imul(oe,Me)|0,Z=Z+Math.imul(oe,Le)|0;var ri=(le+ce|0)+((q&8191)<<13)|0;le=(Z+(q>>>13)|0)+(ri>>>26)|0,ri&=67108863,ce=Math.imul(tt,Mr),q=Math.imul(tt,Dr),q=q+Math.imul(it,Mr)|0,Z=Math.imul(it,Dr),ce=ce+Math.imul(Re,Ne)|0,q=q+Math.imul(Re,Ye)|0,q=q+Math.imul(ze,Ne)|0,Z=Z+Math.imul(ze,Ye)|0,ce=ce+Math.imul(ue,Ie)|0,q=q+Math.imul(ue,qe)|0,q=q+Math.imul(_e,Ie)|0,Z=Z+Math.imul(_e,qe)|0,ce=ce+Math.imul(j,Me)|0,q=q+Math.imul(j,Le)|0,q=q+Math.imul(Q,Me)|0,Z=Z+Math.imul(Q,Le)|0,ce=ce+Math.imul(V,lt)|0,q=q+Math.imul(V,gt)|0,q=q+Math.imul(oe,lt)|0,Z=Z+Math.imul(oe,gt)|0;var ii=(le+ce|0)+((q&8191)<<13)|0;le=(Z+(q>>>13)|0)+(ii>>>26)|0,ii&=67108863,ce=Math.imul(nt,Mr),q=Math.imul(nt,Dr),q=q+Math.imul(Ae,Mr)|0,Z=Math.imul(Ae,Dr),ce=ce+Math.imul(tt,Ne)|0,q=q+Math.imul(tt,Ye)|0,q=q+Math.imul(it,Ne)|0,Z=Z+Math.imul(it,Ye)|0,ce=ce+Math.imul(Re,Ie)|0,q=q+Math.imul(Re,qe)|0,q=q+Math.imul(ze,Ie)|0,Z=Z+Math.imul(ze,qe)|0,ce=ce+Math.imul(ue,Me)|0,q=q+Math.imul(ue,Le)|0,q=q+Math.imul(_e,Me)|0,Z=Z+Math.imul(_e,Le)|0,ce=ce+Math.imul(j,lt)|0,q=q+Math.imul(j,gt)|0,q=q+Math.imul(Q,lt)|0,Z=Z+Math.imul(Q,gt)|0,ce=ce+Math.imul(V,nr)|0,q=q+Math.imul(V,ir)|0,q=q+Math.imul(oe,nr)|0,Z=Z+Math.imul(oe,ir)|0;var di=(le+ce|0)+((q&8191)<<13)|0;le=(Z+(q>>>13)|0)+(di>>>26)|0,di&=67108863,ce=Math.imul(fe,Mr),q=Math.imul(fe,Dr),q=q+Math.imul(Be,Mr)|0,Z=Math.imul(Be,Dr),ce=ce+Math.imul(nt,Ne)|0,q=q+Math.imul(nt,Ye)|0,q=q+Math.imul(Ae,Ne)|0,Z=Z+Math.imul(Ae,Ye)|0,ce=ce+Math.imul(tt,Ie)|0,q=q+Math.imul(tt,qe)|0,q=q+Math.imul(it,Ie)|0,Z=Z+Math.imul(it,qe)|0,ce=ce+Math.imul(Re,Me)|0,q=q+Math.imul(Re,Le)|0,q=q+Math.imul(ze,Me)|0,Z=Z+Math.imul(ze,Le)|0,ce=ce+Math.imul(ue,lt)|0,q=q+Math.imul(ue,gt)|0,q=q+Math.imul(_e,lt)|0,Z=Z+Math.imul(_e,gt)|0,ce=ce+Math.imul(j,nr)|0,q=q+Math.imul(j,ir)|0,q=q+Math.imul(Q,nr)|0,Z=Z+Math.imul(Q,ir)|0,ce=ce+Math.imul(V,Ir)|0,q=q+Math.imul(V,vi)|0,q=q+Math.imul(oe,Ir)|0,Z=Z+Math.imul(oe,vi)|0;var Wi=(le+ce|0)+((q&8191)<<13)|0;le=(Z+(q>>>13)|0)+(Wi>>>26)|0,Wi&=67108863,ce=Math.imul(at,Mr),q=Math.imul(at,Dr),q=q+Math.imul($e,Mr)|0,Z=Math.imul($e,Dr),ce=ce+Math.imul(fe,Ne)|0,q=q+Math.imul(fe,Ye)|0,q=q+Math.imul(Be,Ne)|0,Z=Z+Math.imul(Be,Ye)|0,ce=ce+Math.imul(nt,Ie)|0,q=q+Math.imul(nt,qe)|0,q=q+Math.imul(Ae,Ie)|0,Z=Z+Math.imul(Ae,qe)|0,ce=ce+Math.imul(tt,Me)|0,q=q+Math.imul(tt,Le)|0,q=q+Math.imul(it,Me)|0,Z=Z+Math.imul(it,Le)|0,ce=ce+Math.imul(Re,lt)|0,q=q+Math.imul(Re,gt)|0,q=q+Math.imul(ze,lt)|0,Z=Z+Math.imul(ze,gt)|0,ce=ce+Math.imul(ue,nr)|0,q=q+Math.imul(ue,ir)|0,q=q+Math.imul(_e,nr)|0,Z=Z+Math.imul(_e,ir)|0,ce=ce+Math.imul(j,Ir)|0,q=q+Math.imul(j,vi)|0,q=q+Math.imul(Q,Ir)|0,Z=Z+Math.imul(Q,vi)|0,ce=ce+Math.imul(V,Ui)|0,q=q+Math.imul(V,Ki)|0,q=q+Math.imul(oe,Ui)|0,Z=Z+Math.imul(oe,Ki)|0;var oa=(le+ce|0)+((q&8191)<<13)|0;le=(Z+(q>>>13)|0)+(oa>>>26)|0,oa&=67108863,ce=Math.imul(Pt,Mr),q=Math.imul(Pt,Dr),q=q+Math.imul(Vt,Mr)|0,Z=Math.imul(Vt,Dr),ce=ce+Math.imul(at,Ne)|0,q=q+Math.imul(at,Ye)|0,q=q+Math.imul($e,Ne)|0,Z=Z+Math.imul($e,Ye)|0,ce=ce+Math.imul(fe,Ie)|0,q=q+Math.imul(fe,qe)|0,q=q+Math.imul(Be,Ie)|0,Z=Z+Math.imul(Be,qe)|0,ce=ce+Math.imul(nt,Me)|0,q=q+Math.imul(nt,Le)|0,q=q+Math.imul(Ae,Me)|0,Z=Z+Math.imul(Ae,Le)|0,ce=ce+Math.imul(tt,lt)|0,q=q+Math.imul(tt,gt)|0,q=q+Math.imul(it,lt)|0,Z=Z+Math.imul(it,gt)|0,ce=ce+Math.imul(Re,nr)|0,q=q+Math.imul(Re,ir)|0,q=q+Math.imul(ze,nr)|0,Z=Z+Math.imul(ze,ir)|0,ce=ce+Math.imul(ue,Ir)|0,q=q+Math.imul(ue,vi)|0,q=q+Math.imul(_e,Ir)|0,Z=Z+Math.imul(_e,vi)|0,ce=ce+Math.imul(j,Ui)|0,q=q+Math.imul(j,Ki)|0,q=q+Math.imul(Q,Ui)|0,Z=Z+Math.imul(Q,Ki)|0,ce=ce+Math.imul(V,Bi)|0,q=q+Math.imul(V,_a)|0,q=q+Math.imul(oe,Bi)|0,Z=Z+Math.imul(oe,_a)|0;var ra=(le+ce|0)+((q&8191)<<13)|0;le=(Z+(q>>>13)|0)+(ra>>>26)|0,ra&=67108863,ce=Math.imul(Cr,Mr),q=Math.imul(Cr,Dr),q=q+Math.imul(yr,Mr)|0,Z=Math.imul(yr,Dr),ce=ce+Math.imul(Pt,Ne)|0,q=q+Math.imul(Pt,Ye)|0,q=q+Math.imul(Vt,Ne)|0,Z=Z+Math.imul(Vt,Ye)|0,ce=ce+Math.imul(at,Ie)|0,q=q+Math.imul(at,qe)|0,q=q+Math.imul($e,Ie)|0,Z=Z+Math.imul($e,qe)|0,ce=ce+Math.imul(fe,Me)|0,q=q+Math.imul(fe,Le)|0,q=q+Math.imul(Be,Me)|0,Z=Z+Math.imul(Be,Le)|0,ce=ce+Math.imul(nt,lt)|0,q=q+Math.imul(nt,gt)|0,q=q+Math.imul(Ae,lt)|0,Z=Z+Math.imul(Ae,gt)|0,ce=ce+Math.imul(tt,nr)|0,q=q+Math.imul(tt,ir)|0,q=q+Math.imul(it,nr)|0,Z=Z+Math.imul(it,ir)|0,ce=ce+Math.imul(Re,Ir)|0,q=q+Math.imul(Re,vi)|0,q=q+Math.imul(ze,Ir)|0,Z=Z+Math.imul(ze,vi)|0,ce=ce+Math.imul(ue,Ui)|0,q=q+Math.imul(ue,Ki)|0,q=q+Math.imul(_e,Ui)|0,Z=Z+Math.imul(_e,Ki)|0,ce=ce+Math.imul(j,Bi)|0,q=q+Math.imul(j,_a)|0,q=q+Math.imul(Q,Bi)|0,Z=Z+Math.imul(Q,_a)|0,ce=ce+Math.imul(V,Kt)|0,q=q+Math.imul(V,zt)|0,q=q+Math.imul(oe,Kt)|0,Z=Z+Math.imul(oe,zt)|0;var ca=(le+ce|0)+((q&8191)<<13)|0;le=(Z+(q>>>13)|0)+(ca>>>26)|0,ca&=67108863,ce=Math.imul(Cr,Ne),q=Math.imul(Cr,Ye),q=q+Math.imul(yr,Ne)|0,Z=Math.imul(yr,Ye),ce=ce+Math.imul(Pt,Ie)|0,q=q+Math.imul(Pt,qe)|0,q=q+Math.imul(Vt,Ie)|0,Z=Z+Math.imul(Vt,qe)|0,ce=ce+Math.imul(at,Me)|0,q=q+Math.imul(at,Le)|0,q=q+Math.imul($e,Me)|0,Z=Z+Math.imul($e,Le)|0,ce=ce+Math.imul(fe,lt)|0,q=q+Math.imul(fe,gt)|0,q=q+Math.imul(Be,lt)|0,Z=Z+Math.imul(Be,gt)|0,ce=ce+Math.imul(nt,nr)|0,q=q+Math.imul(nt,ir)|0,q=q+Math.imul(Ae,nr)|0,Z=Z+Math.imul(Ae,ir)|0,ce=ce+Math.imul(tt,Ir)|0,q=q+Math.imul(tt,vi)|0,q=q+Math.imul(it,Ir)|0,Z=Z+Math.imul(it,vi)|0,ce=ce+Math.imul(Re,Ui)|0,q=q+Math.imul(Re,Ki)|0,q=q+Math.imul(ze,Ui)|0,Z=Z+Math.imul(ze,Ki)|0,ce=ce+Math.imul(ue,Bi)|0,q=q+Math.imul(ue,_a)|0,q=q+Math.imul(_e,Bi)|0,Z=Z+Math.imul(_e,_a)|0,ce=ce+Math.imul(j,Kt)|0,q=q+Math.imul(j,zt)|0,q=q+Math.imul(Q,Kt)|0,Z=Z+Math.imul(Q,zt)|0;var xa=(le+ce|0)+((q&8191)<<13)|0;le=(Z+(q>>>13)|0)+(xa>>>26)|0,xa&=67108863,ce=Math.imul(Cr,Ie),q=Math.imul(Cr,qe),q=q+Math.imul(yr,Ie)|0,Z=Math.imul(yr,qe),ce=ce+Math.imul(Pt,Me)|0,q=q+Math.imul(Pt,Le)|0,q=q+Math.imul(Vt,Me)|0,Z=Z+Math.imul(Vt,Le)|0,ce=ce+Math.imul(at,lt)|0,q=q+Math.imul(at,gt)|0,q=q+Math.imul($e,lt)|0,Z=Z+Math.imul($e,gt)|0,ce=ce+Math.imul(fe,nr)|0,q=q+Math.imul(fe,ir)|0,q=q+Math.imul(Be,nr)|0,Z=Z+Math.imul(Be,ir)|0,ce=ce+Math.imul(nt,Ir)|0,q=q+Math.imul(nt,vi)|0,q=q+Math.imul(Ae,Ir)|0,Z=Z+Math.imul(Ae,vi)|0,ce=ce+Math.imul(tt,Ui)|0,q=q+Math.imul(tt,Ki)|0,q=q+Math.imul(it,Ui)|0,Z=Z+Math.imul(it,Ki)|0,ce=ce+Math.imul(Re,Bi)|0,q=q+Math.imul(Re,_a)|0,q=q+Math.imul(ze,Bi)|0,Z=Z+Math.imul(ze,_a)|0,ce=ce+Math.imul(ue,Kt)|0,q=q+Math.imul(ue,zt)|0,q=q+Math.imul(_e,Kt)|0,Z=Z+Math.imul(_e,zt)|0;var ji=(le+ce|0)+((q&8191)<<13)|0;le=(Z+(q>>>13)|0)+(ji>>>26)|0,ji&=67108863,ce=Math.imul(Cr,Me),q=Math.imul(Cr,Le),q=q+Math.imul(yr,Me)|0,Z=Math.imul(yr,Le),ce=ce+Math.imul(Pt,lt)|0,q=q+Math.imul(Pt,gt)|0,q=q+Math.imul(Vt,lt)|0,Z=Z+Math.imul(Vt,gt)|0,ce=ce+Math.imul(at,nr)|0,q=q+Math.imul(at,ir)|0,q=q+Math.imul($e,nr)|0,Z=Z+Math.imul($e,ir)|0,ce=ce+Math.imul(fe,Ir)|0,q=q+Math.imul(fe,vi)|0,q=q+Math.imul(Be,Ir)|0,Z=Z+Math.imul(Be,vi)|0,ce=ce+Math.imul(nt,Ui)|0,q=q+Math.imul(nt,Ki)|0,q=q+Math.imul(Ae,Ui)|0,Z=Z+Math.imul(Ae,Ki)|0,ce=ce+Math.imul(tt,Bi)|0,q=q+Math.imul(tt,_a)|0,q=q+Math.imul(it,Bi)|0,Z=Z+Math.imul(it,_a)|0,ce=ce+Math.imul(Re,Kt)|0,q=q+Math.imul(Re,zt)|0,q=q+Math.imul(ze,Kt)|0,Z=Z+Math.imul(ze,zt)|0;var pn=(le+ce|0)+((q&8191)<<13)|0;le=(Z+(q>>>13)|0)+(pn>>>26)|0,pn&=67108863,ce=Math.imul(Cr,lt),q=Math.imul(Cr,gt),q=q+Math.imul(yr,lt)|0,Z=Math.imul(yr,gt),ce=ce+Math.imul(Pt,nr)|0,q=q+Math.imul(Pt,ir)|0,q=q+Math.imul(Vt,nr)|0,Z=Z+Math.imul(Vt,ir)|0,ce=ce+Math.imul(at,Ir)|0,q=q+Math.imul(at,vi)|0,q=q+Math.imul($e,Ir)|0,Z=Z+Math.imul($e,vi)|0,ce=ce+Math.imul(fe,Ui)|0,q=q+Math.imul(fe,Ki)|0,q=q+Math.imul(Be,Ui)|0,Z=Z+Math.imul(Be,Ki)|0,ce=ce+Math.imul(nt,Bi)|0,q=q+Math.imul(nt,_a)|0,q=q+Math.imul(Ae,Bi)|0,Z=Z+Math.imul(Ae,_a)|0,ce=ce+Math.imul(tt,Kt)|0,q=q+Math.imul(tt,zt)|0,q=q+Math.imul(it,Kt)|0,Z=Z+Math.imul(it,zt)|0;var _n=(le+ce|0)+((q&8191)<<13)|0;le=(Z+(q>>>13)|0)+(_n>>>26)|0,_n&=67108863,ce=Math.imul(Cr,nr),q=Math.imul(Cr,ir),q=q+Math.imul(yr,nr)|0,Z=Math.imul(yr,ir),ce=ce+Math.imul(Pt,Ir)|0,q=q+Math.imul(Pt,vi)|0,q=q+Math.imul(Vt,Ir)|0,Z=Z+Math.imul(Vt,vi)|0,ce=ce+Math.imul(at,Ui)|0,q=q+Math.imul(at,Ki)|0,q=q+Math.imul($e,Ui)|0,Z=Z+Math.imul($e,Ki)|0,ce=ce+Math.imul(fe,Bi)|0,q=q+Math.imul(fe,_a)|0,q=q+Math.imul(Be,Bi)|0,Z=Z+Math.imul(Be,_a)|0,ce=ce+Math.imul(nt,Kt)|0,q=q+Math.imul(nt,zt)|0,q=q+Math.imul(Ae,Kt)|0,Z=Z+Math.imul(Ae,zt)|0;var En=(le+ce|0)+((q&8191)<<13)|0;le=(Z+(q>>>13)|0)+(En>>>26)|0,En&=67108863,ce=Math.imul(Cr,Ir),q=Math.imul(Cr,vi),q=q+Math.imul(yr,Ir)|0,Z=Math.imul(yr,vi),ce=ce+Math.imul(Pt,Ui)|0,q=q+Math.imul(Pt,Ki)|0,q=q+Math.imul(Vt,Ui)|0,Z=Z+Math.imul(Vt,Ki)|0,ce=ce+Math.imul(at,Bi)|0,q=q+Math.imul(at,_a)|0,q=q+Math.imul($e,Bi)|0,Z=Z+Math.imul($e,_a)|0,ce=ce+Math.imul(fe,Kt)|0,q=q+Math.imul(fe,zt)|0,q=q+Math.imul(Be,Kt)|0,Z=Z+Math.imul(Be,zt)|0;var bt=(le+ce|0)+((q&8191)<<13)|0;le=(Z+(q>>>13)|0)+(bt>>>26)|0,bt&=67108863,ce=Math.imul(Cr,Ui),q=Math.imul(Cr,Ki),q=q+Math.imul(yr,Ui)|0,Z=Math.imul(yr,Ki),ce=ce+Math.imul(Pt,Bi)|0,q=q+Math.imul(Pt,_a)|0,q=q+Math.imul(Vt,Bi)|0,Z=Z+Math.imul(Vt,_a)|0,ce=ce+Math.imul(at,Kt)|0,q=q+Math.imul(at,zt)|0,q=q+Math.imul($e,Kt)|0,Z=Z+Math.imul($e,zt)|0;var st=(le+ce|0)+((q&8191)<<13)|0;le=(Z+(q>>>13)|0)+(st>>>26)|0,st&=67108863,ce=Math.imul(Cr,Bi),q=Math.imul(Cr,_a),q=q+Math.imul(yr,Bi)|0,Z=Math.imul(yr,_a),ce=ce+Math.imul(Pt,Kt)|0,q=q+Math.imul(Pt,zt)|0,q=q+Math.imul(Vt,Kt)|0,Z=Z+Math.imul(Vt,zt)|0;var Nr=(le+ce|0)+((q&8191)<<13)|0;le=(Z+(q>>>13)|0)+(Nr>>>26)|0,Nr&=67108863,ce=Math.imul(Cr,Kt),q=Math.imul(Cr,zt),q=q+Math.imul(yr,Kt)|0,Z=Math.imul(yr,zt);var Lr=(le+ce|0)+((q&8191)<<13)|0;return le=(Z+(q>>>13)|0)+(Lr>>>26)|0,Lr&=67108863,se[0]=Zt,se[1]=Jt,se[2]=Br,se[3]=ri,se[4]=ii,se[5]=di,se[6]=Wi,se[7]=oa,se[8]=ra,se[9]=ca,se[10]=xa,se[11]=ji,se[12]=pn,se[13]=_n,se[14]=En,se[15]=bt,se[16]=st,se[17]=Nr,se[18]=Lr,le!==0&&(se[19]=le,O.length++),O};Math.imul||(M=A);function g(B,I,U){U.negative=I.negative^B.negative,U.length=B.length+I.length;for(var O=0,X=0,J=0;J>>26)|0,X+=se>>>26,se&=67108863}U.words[J]=le,O=se,se=X}return O!==0?U.words[J]=O:U.length--,U.strip()}function b(B,I,U){var O=new v;return O.mulp(B,I,U)}s.prototype.mulTo=function(I,U){var O,X=this.length+I.length;return this.length===10&&I.length===10?O=M(this,I,U):X<63?O=A(this,I,U):X<1024?O=g(this,I,U):O=b(this,I,U),O};function v(B,I){this.x=B,this.y=I}v.prototype.makeRBT=function(I){for(var U=new Array(I),O=s.prototype._countBits(I)-1,X=0;X>=1;return X},v.prototype.permute=function(I,U,O,X,J,se){for(var le=0;le>>1)J++;return 1<>>13,O[2*se+1]=J&8191,J=J>>>13;for(se=2*U;se>=26,U+=X/67108864|0,U+=J>>>26,this.words[O]=J&67108863}return U!==0&&(this.words[O]=U,this.length++),this},s.prototype.muln=function(I){return this.clone().imuln(I)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(I){var U=w(I);if(U.length===0)return new s(1);for(var O=this,X=0;X=0);var U=I%26,O=(I-U)/26,X=67108863>>>26-U<<26-U,J;if(U!==0){var se=0;for(J=0;J>>26-U}se&&(this.words[J]=se,this.length++)}if(O!==0){for(J=this.length-1;J>=0;J--)this.words[J+O]=this.words[J];for(J=0;J=0);var X;U?X=(U-U%26)/26:X=0;var J=I%26,se=Math.min((I-J)/26,this.length),le=67108863^67108863>>>J<se)for(this.length-=se,q=0;q=0&&(Z!==0||q>=X);q--){var ee=this.words[q]|0;this.words[q]=Z<<26-J|ee>>>J,Z=ee&le}return ce&&Z!==0&&(ce.words[ce.length++]=Z),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(I,U,O){return n(this.negative===0),this.iushrn(I,U,O)},s.prototype.shln=function(I){return this.clone().ishln(I)},s.prototype.ushln=function(I){return this.clone().iushln(I)},s.prototype.shrn=function(I){return this.clone().ishrn(I)},s.prototype.ushrn=function(I){return this.clone().iushrn(I)},s.prototype.testn=function(I){n(typeof I=="number"&&I>=0);var U=I%26,O=(I-U)/26,X=1<=0);var U=I%26,O=(I-U)/26;if(n(this.negative===0,"imaskn works only with positive numbers"),this.length<=O)return this;if(U!==0&&O++,this.length=Math.min(O,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(I){if(n(typeof I=="number"),n(I<67108864),I<0)return this.iaddn(-I);if(this.negative!==0)return this.negative=0,this.iaddn(I),this.negative=1,this;if(this.words[0]-=I,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var U=0;U>26)-(ce/67108864|0),this.words[J+O]=se&67108863}for(;J>26,this.words[J+O]=se&67108863;if(le===0)return this.strip();for(n(le===-1),le=0,J=0;J>26,this.words[J]=se&67108863;return this.negative=1,this.strip()},s.prototype._wordDiv=function(I,U){var O=this.length-I.length,X=this.clone(),J=I,se=J.words[J.length-1]|0,le=this._countBits(se);O=26-le,O!==0&&(J=J.ushln(O),X.iushln(O),se=J.words[J.length-1]|0);var ce=X.length-J.length,q;if(U!=="mod"){q=new s(null),q.length=ce+1,q.words=new Array(q.length);for(var Z=0;Z=0;V--){var oe=(X.words[J.length+V]|0)*67108864+(X.words[J.length+V-1]|0);for(oe=Math.min(oe/se|0,67108863),X._ishlnsubmul(J,oe,V);X.negative!==0;)oe--,X.negative=0,X._ishlnsubmul(J,1,V),X.isZero()||(X.negative^=1);q&&(q.words[V]=oe)}return q&&q.strip(),X.strip(),U!=="div"&&O!==0&&X.iushrn(O),{div:q||null,mod:X}},s.prototype.divmod=function(I,U,O){if(n(!I.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var X,J,se;return this.negative!==0&&I.negative===0?(se=this.neg().divmod(I,U),U!=="mod"&&(X=se.div.neg()),U!=="div"&&(J=se.mod.neg(),O&&J.negative!==0&&J.iadd(I)),{div:X,mod:J}):this.negative===0&&I.negative!==0?(se=this.divmod(I.neg(),U),U!=="mod"&&(X=se.div.neg()),{div:X,mod:se.mod}):this.negative&I.negative?(se=this.neg().divmod(I.neg(),U),U!=="div"&&(J=se.mod.neg(),O&&J.negative!==0&&J.isub(I)),{div:se.div,mod:J}):I.length>this.length||this.cmp(I)<0?{div:new s(0),mod:this}:I.length===1?U==="div"?{div:this.divn(I.words[0]),mod:null}:U==="mod"?{div:null,mod:new s(this.modn(I.words[0]))}:{div:this.divn(I.words[0]),mod:new s(this.modn(I.words[0]))}:this._wordDiv(I,U)},s.prototype.div=function(I){return this.divmod(I,"div",!1).div},s.prototype.mod=function(I){return this.divmod(I,"mod",!1).mod},s.prototype.umod=function(I){return this.divmod(I,"mod",!0).mod},s.prototype.divRound=function(I){var U=this.divmod(I);if(U.mod.isZero())return U.div;var O=U.div.negative!==0?U.mod.isub(I):U.mod,X=I.ushrn(1),J=I.andln(1),se=O.cmp(X);return se<0||J===1&&se===0?U.div:U.div.negative!==0?U.div.isubn(1):U.div.iaddn(1)},s.prototype.modn=function(I){n(I<=67108863);for(var U=(1<<26)%I,O=0,X=this.length-1;X>=0;X--)O=(U*O+(this.words[X]|0))%I;return O},s.prototype.idivn=function(I){n(I<=67108863);for(var U=0,O=this.length-1;O>=0;O--){var X=(this.words[O]|0)+U*67108864;this.words[O]=X/I|0,U=X%I}return this.strip()},s.prototype.divn=function(I){return this.clone().idivn(I)},s.prototype.egcd=function(I){n(I.negative===0),n(!I.isZero());var U=this,O=I.clone();U.negative!==0?U=U.umod(I):U=U.clone();for(var X=new s(1),J=new s(0),se=new s(0),le=new s(1),ce=0;U.isEven()&&O.isEven();)U.iushrn(1),O.iushrn(1),++ce;for(var q=O.clone(),Z=U.clone();!U.isZero();){for(var ee=0,V=1;!(U.words[0]&V)&&ee<26;++ee,V<<=1);if(ee>0)for(U.iushrn(ee);ee-- >0;)(X.isOdd()||J.isOdd())&&(X.iadd(q),J.isub(Z)),X.iushrn(1),J.iushrn(1);for(var oe=0,ie=1;!(O.words[0]&ie)&&oe<26;++oe,ie<<=1);if(oe>0)for(O.iushrn(oe);oe-- >0;)(se.isOdd()||le.isOdd())&&(se.iadd(q),le.isub(Z)),se.iushrn(1),le.iushrn(1);U.cmp(O)>=0?(U.isub(O),X.isub(se),J.isub(le)):(O.isub(U),se.isub(X),le.isub(J))}return{a:se,b:le,gcd:O.iushln(ce)}},s.prototype._invmp=function(I){n(I.negative===0),n(!I.isZero());var U=this,O=I.clone();U.negative!==0?U=U.umod(I):U=U.clone();for(var X=new s(1),J=new s(0),se=O.clone();U.cmpn(1)>0&&O.cmpn(1)>0;){for(var le=0,ce=1;!(U.words[0]&ce)&&le<26;++le,ce<<=1);if(le>0)for(U.iushrn(le);le-- >0;)X.isOdd()&&X.iadd(se),X.iushrn(1);for(var q=0,Z=1;!(O.words[0]&Z)&&q<26;++q,Z<<=1);if(q>0)for(O.iushrn(q);q-- >0;)J.isOdd()&&J.iadd(se),J.iushrn(1);U.cmp(O)>=0?(U.isub(O),X.isub(J)):(O.isub(U),J.isub(X))}var ee;return U.cmpn(1)===0?ee=X:ee=J,ee.cmpn(0)<0&&ee.iadd(I),ee},s.prototype.gcd=function(I){if(this.isZero())return I.abs();if(I.isZero())return this.abs();var U=this.clone(),O=I.clone();U.negative=0,O.negative=0;for(var X=0;U.isEven()&&O.isEven();X++)U.iushrn(1),O.iushrn(1);do{for(;U.isEven();)U.iushrn(1);for(;O.isEven();)O.iushrn(1);var J=U.cmp(O);if(J<0){var se=U;U=O,O=se}else if(J===0||O.cmpn(1)===0)break;U.isub(O)}while(!0);return O.iushln(X)},s.prototype.invm=function(I){return this.egcd(I).a.umod(I)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(I){return this.words[0]&I},s.prototype.bincn=function(I){n(typeof I=="number");var U=I%26,O=(I-U)/26,X=1<>>26,le&=67108863,this.words[se]=le}return J!==0&&(this.words[se]=J,this.length++),this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(I){var U=I<0;if(this.negative!==0&&!U)return-1;if(this.negative===0&&U)return 1;this.strip();var O;if(this.length>1)O=1;else{U&&(I=-I),n(I<=67108863,"Number is too big");var X=this.words[0]|0;O=X===I?0:XI.length)return 1;if(this.length=0;O--){var X=this.words[O]|0,J=I.words[O]|0;if(X!==J){XJ&&(U=1);break}}return U},s.prototype.gtn=function(I){return this.cmpn(I)===1},s.prototype.gt=function(I){return this.cmp(I)===1},s.prototype.gten=function(I){return this.cmpn(I)>=0},s.prototype.gte=function(I){return this.cmp(I)>=0},s.prototype.ltn=function(I){return this.cmpn(I)===-1},s.prototype.lt=function(I){return this.cmp(I)===-1},s.prototype.lten=function(I){return this.cmpn(I)<=0},s.prototype.lte=function(I){return this.cmp(I)<=0},s.prototype.eqn=function(I){return this.cmpn(I)===0},s.prototype.eq=function(I){return this.cmp(I)===0},s.red=function(I){return new F(I)},s.prototype.toRed=function(I){return n(!this.red,"Already a number in reduction context"),n(this.negative===0,"red works only with positives"),I.convertTo(this)._forceRed(I)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(I){return this.red=I,this},s.prototype.forceRed=function(I){return n(!this.red,"Already a number in reduction context"),this._forceRed(I)},s.prototype.redAdd=function(I){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,I)},s.prototype.redIAdd=function(I){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,I)},s.prototype.redSub=function(I){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,I)},s.prototype.redISub=function(I){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,I)},s.prototype.redShl=function(I){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,I)},s.prototype.redMul=function(I){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,I),this.red.mul(this,I)},s.prototype.redIMul=function(I){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,I),this.red.imul(this,I)},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(I){return n(this.red&&!I.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,I)};var u={k256:null,p224:null,p192:null,p25519:null};function y(B,I){this.name=B,this.p=new s(I,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 I=new s(null);return I.words=new Array(Math.ceil(this.n/13)),I},y.prototype.ireduce=function(I){var U=I,O;do this.split(U,this.tmp),U=this.imulK(U),U=U.iadd(this.tmp),O=U.bitLength();while(O>this.n);var X=O0?U.isub(this.p):U.strip!==void 0?U.strip():U._strip(),U},y.prototype.split=function(I,U){I.iushrn(this.n,0,U)},y.prototype.imulK=function(I){return I.imul(this.k)};function f(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}a(f,y),f.prototype.split=function(I,U){for(var O=4194303,X=Math.min(I.length,9),J=0;J>>22,se=le}se>>>=22,I.words[J-10]=se,se===0&&I.length>10?I.length-=10:I.length-=9},f.prototype.imulK=function(I){I.words[I.length]=0,I.words[I.length+1]=0,I.length+=2;for(var U=0,O=0;O>>=26,I.words[O]=J,U=X}return U!==0&&(I.words[I.length++]=U),I},s._prime=function(I){if(u[I])return u[I];var U;if(I==="k256")U=new f;else if(I==="p224")U=new R;else if(I==="p192")U=new L;else if(I==="p25519")U=new z;else throw new Error("Unknown prime "+I);return u[I]=U,U};function F(B){if(typeof B=="string"){var I=s._prime(B);this.m=I.p,this.prime=I}else n(B.gtn(1),"modulus must be greater than 1"),this.m=B,this.prime=null}F.prototype._verify1=function(I){n(I.negative===0,"red works only with positives"),n(I.red,"red works only with red numbers")},F.prototype._verify2=function(I,U){n((I.negative|U.negative)===0,"red works only with positives"),n(I.red&&I.red===U.red,"red works only with red numbers")},F.prototype.imod=function(I){return this.prime?this.prime.ireduce(I)._forceRed(this):I.umod(this.m)._forceRed(this)},F.prototype.neg=function(I){return I.isZero()?I.clone():this.m.sub(I)._forceRed(this)},F.prototype.add=function(I,U){this._verify2(I,U);var O=I.add(U);return O.cmp(this.m)>=0&&O.isub(this.m),O._forceRed(this)},F.prototype.iadd=function(I,U){this._verify2(I,U);var O=I.iadd(U);return O.cmp(this.m)>=0&&O.isub(this.m),O},F.prototype.sub=function(I,U){this._verify2(I,U);var O=I.sub(U);return O.cmpn(0)<0&&O.iadd(this.m),O._forceRed(this)},F.prototype.isub=function(I,U){this._verify2(I,U);var O=I.isub(U);return O.cmpn(0)<0&&O.iadd(this.m),O},F.prototype.shl=function(I,U){return this._verify1(I),this.imod(I.ushln(U))},F.prototype.imul=function(I,U){return this._verify2(I,U),this.imod(I.imul(U))},F.prototype.mul=function(I,U){return this._verify2(I,U),this.imod(I.mul(U))},F.prototype.isqr=function(I){return this.imul(I,I.clone())},F.prototype.sqr=function(I){return this.mul(I,I)},F.prototype.sqrt=function(I){if(I.isZero())return I.clone();var U=this.m.andln(3);if(n(U%2===1),U===3){var O=this.m.add(new s(1)).iushrn(2);return this.pow(I,O)}for(var X=this.m.subn(1),J=0;!X.isZero()&&X.andln(1)===0;)J++,X.iushrn(1);n(!X.isZero());var se=new s(1).toRed(this),le=se.redNeg(),ce=this.m.subn(1).iushrn(1),q=this.m.bitLength();for(q=new s(2*q*q).toRed(this);this.pow(q,ce).cmp(le)!==0;)q.redIAdd(le);for(var Z=this.pow(q,X),ee=this.pow(I,X.addn(1).iushrn(1)),V=this.pow(I,X),oe=J;V.cmp(se)!==0;){for(var ie=V,j=0;ie.cmp(se)!==0;j++)ie=ie.redSqr();n(j=0;J--){for(var Z=U.words[J],ee=q-1;ee>=0;ee--){var V=Z>>ee&1;if(se!==X[0]&&(se=this.sqr(se)),V===0&&le===0){ce=0;continue}le<<=1,le|=V,ce++,!(ce!==O&&(J!==0||ee!==0))&&(se=this.mul(se,X[le]),ce=0,le=0)}q=26}return se},F.prototype.convertTo=function(I){var U=I.umod(this.m);return U===I?U.clone():U},F.prototype.convertFrom=function(I){var U=I.clone();return U.red=null,U},s.mont=function(I){return new N(I)};function N(B){F.call(this,B),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)}a(N,F),N.prototype.convertTo=function(I){return this.imod(I.ushln(this.shift))},N.prototype.convertFrom=function(I){var U=this.imod(I.mul(this.rinv));return U.red=null,U},N.prototype.imul=function(I,U){if(I.isZero()||U.isZero())return I.words[0]=0,I.length=1,I;var O=I.imul(U),X=O.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),J=O.isub(X).iushrn(this.shift),se=J;return J.cmp(this.m)>=0?se=J.isub(this.m):J.cmpn(0)<0&&(se=J.iadd(this.m)),se._forceRed(this)},N.prototype.mul=function(I,U){if(I.isZero()||U.isZero())return new s(0)._forceRed(this);var O=I.mul(U),X=O.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),J=O.isub(X).iushrn(this.shift),se=J;return J.cmp(this.m)>=0?se=J.isub(this.m):J.cmpn(0)<0&&(se=J.iadd(this.m)),se._forceRed(this)},N.prototype.invm=function(I){var U=this.imod(I._invmp(this.m).mul(this.r2));return U._forceRed(this)}}(e,this)},6860:function(e){e.exports=t;function t(r,o,i){return r[0]=o[0]-i[0],r[1]=o[1]-i[1],r[2]=o[2]-i[2],r[3]=o[3]-i[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),i=r(855),n=r(7150);function a(_,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,v=0,u=_.length;v>>1;if(!(v<=0)){var u,y=o.mallocDouble(2*v*g),f=o.mallocInt32(g);if(g=s(_,v,y,f),g>0){if(v===1&&M)i.init(g),u=i.sweepComplete(v,A,0,g,y,f,0,g,y,f);else{var R=o.mallocDouble(2*v*b),L=o.mallocInt32(b);b=s(w,v,R,L),b>0&&(i.init(g+b),v===1?u=i.sweepBipartite(v,A,0,g,y,f,0,b,R,L):u=n(v,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 d(_){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 d(_);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,i,n){var a=i[1],s=i[2],h=o[1]-a,c=o[2]-s,m=Math.sin(n),d=Math.cos(n);return r[0]=o[0],r[1]=a+h*d-c*m,r[2]=s+h*m+c*d,r}},7004:function(e){"use strict";e.exports=t;function t(r){for(var o=r.length,i=r[r.length-1],n=o,a=o-2;a>=0;--a){var s=i,h=r[a];i=s+h;var c=i-s,m=h-c;m&&(r[--n]=i,i=m)}for(var d=0,a=n;a=p0)&&!(p1>=hi)"),w=m("lo===p0"),A=m("lo0;){Z-=1;var oe=Z*v,ie=f[oe],j=f[oe+1],Q=f[oe+2],re=f[oe+3],ue=f[oe+4],_e=f[oe+5],we=Z*u,Re=R[we],ze=R[we+1],Xe=_e&1,tt=!!(_e&16),it=J,et=se,nt=ce,Ae=q;if(Xe&&(it=ce,et=q,nt=J,Ae=se),!(_e&2&&(Q=A(I,ie,j,Q,it,et,ze),j>=Q))&&!(_e&4&&(j=M(I,ie,j,Q,it,et,Re),j>=Q))){var me=Q-j,fe=ue-re;if(tt){if(I*me*(me+fe)"u"?r(1538):WeakMap,i=r(2762),n=r(8116),a=new o;function s(h){var c=a.get(h),m=c&&(c._triangleBuffer.handle||c._triangleBuffer.buffer);if(!m||!h.isBuffer(m)){var d=i(h,new Float32Array([-1,-1,-1,4,4,-1]));c=n(h,[{buffer:d,type:h.FLOAT,size:2}]),c._triangleBuffer=d,a.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)},i=o.create(),n=o.create();e.exports=function(s,h,c,m,d,T){return o.identity(s),o.fromRotationTranslation(s,T,h),s[3]=d[0],s[7]=d[1],s[11]=d[2],s[15]=d[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,i=1e-6,n=r(9405),a=r(2762),s=r(8116),h=r(7766),c=r(8406),m=r(6760),d=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,v=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(ce,q,Z,ee,V,oe,ie,j,Q,re,ue,_e,we,Re,ze,Xe,tt,it,et,nt,Ae,me,fe,Be,Qe,at,$e){this.gl=ce,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=q,this.dirty=!0,this.triShader=Z,this.lineShader=ee,this.pointShader=V,this.pickShader=oe,this.pointPickShader=ie,this.contourShader=j,this.trianglePositions=Q,this.triangleColors=ue,this.triangleNormals=we,this.triangleUVs=_e,this.triangleIds=re,this.triangleVAO=Re,this.triangleCount=0,this.lineWidth=1,this.edgePositions=ze,this.edgeColors=tt,this.edgeUVs=it,this.edgeIds=Xe,this.edgeVAO=et,this.edgeCount=0,this.pointPositions=nt,this.pointColors=me,this.pointUVs=fe,this.pointSizes=Be,this.pointIds=Ae,this.pointVAO=Qe,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=at,this.contourVAO=$e,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(ce){this.pickId=ce};function F(ce,q){if(!q||!q.length)return 1;for(var Z=0;Zce&&Z>0){var ee=(q[Z][0]-ce)/(q[Z][0]-q[Z-1][0]);return q[Z][1]*(1-ee)+ee*q[Z-1][1]}}return 1}function N(ce,q){for(var Z=l({colormap:ce,nshades:256,format:"rgba"}),ee=new Uint8Array(256*4),V=0;V<256;++V){for(var oe=Z[V],ie=0;ie<3;++ie)ee[4*V+ie]=oe[ie];q?ee[4*V+3]=255*F(V/255,q):ee[4*V+3]=255*oe[3]}return T(ee,[256,256,4],[4,0,1])}function B(ce){for(var q=ce.length,Z=new Array(q),ee=0;ee0){var we=this.triShader;we.bind(),we.uniforms=j,this.triangleVAO.bind(),q.drawArrays(q.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}if(this.edgeCount>0&&this.lineWidth>0){var we=this.lineShader;we.bind(),we.uniforms=j,this.edgeVAO.bind(),q.lineWidth(this.lineWidth*this.pixelRatio),q.drawArrays(q.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()}if(this.pointCount>0){var we=this.pointShader;we.bind(),we.uniforms=j,this.pointVAO.bind(),q.drawArrays(q.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0){var we=this.contourShader;we.bind(),we.uniforms=j,this.contourVAO.bind(),q.drawArrays(q.LINES,0,this.contourCount),this.contourVAO.unbind()}},z.drawPick=function(ce){ce=ce||{};for(var q=this.gl,Z=ce.model||R,ee=ce.view||R,V=ce.projection||R,oe=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],ie=0;ie<3;++ie)oe[0][ie]=Math.max(oe[0][ie],this.clipBounds[0][ie]),oe[1][ie]=Math.min(oe[1][ie],this.clipBounds[1][ie]);this._model=[].slice.call(Z),this._view=[].slice.call(ee),this._projection=[].slice.call(V),this._resolution=[q.drawingBufferWidth,q.drawingBufferHeight];var j={model:Z,view:ee,projection:V,clipBounds:oe,pickId:this.pickId/255},Q=this.pickShader;if(Q.bind(),Q.uniforms=j,this.triangleCount>0&&(this.triangleVAO.bind(),q.drawArrays(q.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),q.lineWidth(this.lineWidth*this.pixelRatio),q.drawArrays(q.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()),this.pointCount>0){var Q=this.pointPickShader;Q.bind(),Q.uniforms=j,this.pointVAO.bind(),q.drawArrays(q.POINTS,0,this.pointCount),this.pointVAO.unbind()}},z.pick=function(ce){if(!ce||ce.id!==this.pickId)return null;for(var q=ce.value[0]+256*ce.value[1]+65536*ce.value[2],Z=this.cells[q],ee=this.positions,V=new Array(Z.length),oe=0;oeMath.max(g,b)?v[2]=1:g>Math.max(M,b)?v[0]=1:v[1]=1;for(var u=0,y=0,f=0;f<3;++f)u+=A[f]*A[f],y+=v[f]*A[f];for(var f=0;f<3;++f)v[f]-=y/u*A[f];return s(v,v),v}function T(A,M,g,b,v,u,y,f){this.center=o(g),this.up=o(b),this.right=o(v),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,v=0,u=0;u<3;++u)v+=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]*v/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;a(L,M,g),s(L,L);for(var z=Math.exp(this.computedRadius[0]),F=this.computedAngle[0],N=this.computedAngle[1],B=Math.cos(F),I=Math.sin(F),U=Math.cos(N),O=Math.sin(N),X=this.computedCenter,J=B*U,se=I*U,le=O,ce=-B*O,q=-I*O,Z=U,ee=this.computedEye,V=this.computedMatrix,u=0;u<3;++u){var oe=J*g[u]+se*L[u]+le*M[u];V[4*u+1]=ce*g[u]+q*L[u]+Z*M[u],V[4*u+2]=oe,V[4*u+3]=0}var ie=V[1],j=V[5],Q=V[9],re=V[2],ue=V[6],_e=V[10],we=j*_e-Q*ue,Re=Q*re-ie*_e,ze=ie*ue-j*re,Xe=c(we,Re,ze);we/=Xe,Re/=Xe,ze/=Xe,V[0]=we,V[4]=Re,V[8]=ze;for(var u=0;u<3;++u)ee[u]=X[u]+V[2+4*u]*z;for(var u=0;u<3;++u){for(var f=0,tt=0;tt<3;++tt)f+=V[u+4*tt]*ee[tt];V[12+u]=-f}V[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 v=this.computedMatrix;_[0]=v[2],_[1]=v[6],_[2]=v[10];for(var u=this.computedUp,y=this.computedRight,f=this.computedToward,R=0;R<3;++R)v[4*R]=u[R],v[4*R+1]=y[R],v[4*R+2]=f[R];n(v,v,b,_);for(var R=0;R<3;++R)u[R]=v[4*R],y[R]=v[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 v=this.computedMatrix,u=Math.exp(this.computedRadius[0]),y=v[1],f=v[5],R=v[9],L=c(y,f,R);y/=L,f/=L,R/=L;var z=v[0],F=v[4],N=v[8],B=z*y+F*f+N*R;z-=y*B,F-=f*B,N-=R*B;var I=c(z,F,N);z/=I,F/=I,N/=I;var U=z*M+y*g,O=F*M+f*g,X=N*M+R*g;this.center.move(A,U,O,X);var J=Math.exp(this.computedRadius[0]);J=Math.max(1e-4,J+b),this.radius.set(A,Math.log(J))},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 v=1;typeof g=="number"&&(v=g|0),(v<0||v>3)&&(v=1);var u=(v+2)%3,y=(v+1)%3;M||(this.recalcMatrix(A),M=this.computedMatrix);var f=M[v],R=M[v+4],L=M[v+8];if(b){var F=Math.abs(f),N=Math.abs(R),B=Math.abs(L),I=Math.max(F,N,B);F===I?(f=f<0?-1:1,R=L=0):B===I?(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],O=M[u+4],X=M[u+8],J=U*f+O*R+X*L;U-=f*J,O-=R*J,X-=L*J;var se=c(U,O,X);U/=se,O/=se,X/=se;var le=R*X-L*O,ce=L*U-f*X,q=f*O-R*U,Z=c(le,ce,q);le/=Z,ce/=Z,q/=Z,this.center.jump(A,me,fe,Be),this.radius.idle(A),this.up.jump(A,f,R,L),this.right.jump(A,U,O,X);var ee,V;if(v===2){var oe=M[1],ie=M[5],j=M[9],Q=oe*U+ie*O+j*X,re=oe*le+ie*ce+j*q;Re<0?ee=-Math.PI/2:ee=Math.PI/2,V=Math.atan2(re,Q)}else{var ue=M[2],_e=M[6],we=M[10],Re=ue*f+_e*R+we*L,ze=ue*U+_e*O+we*X,Xe=ue*le+_e*ce+we*q;ee=Math.asin(m(Re)),V=Math.atan2(Xe,ze)}this.angle.jump(A,V,ee),this.recalcMatrix(A);var tt=M[2],it=M[6],et=M[10],nt=this.computedMatrix;i(nt,M);var Ae=nt[15],me=nt[12]/Ae,fe=nt[13]/Ae,Be=nt[14]/Ae,Qe=Math.exp(this.computedRadius[0]);this.center.jump(A,me-tt*Qe,fe-it*Qe,Be-et*Qe)},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 v=b[0],u=b[1],y=b[2],f=c(v,u,y);if(!(f<1e-6)){v/=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,B=N[0],I=N[1],U=N[2],O=v*B+u*I+y*U;B-=O*v,I-=O*u,U-=O*y;var X=c(B,I,U);if(!(X<.01&&(B=u*z-y*L,I=y*R-v*z,U=v*L-u*R,X=c(B,I,U),X<1e-6))){B/=X,I/=X,U/=X,this.up.set(A,v,u,y),this.right.set(A,B,I,U),this.center.set(A,g[0],g[1],g[2]),this.radius.set(A,Math.log(F));var J=u*U-y*I,se=y*B-v*U,le=v*I-u*B,ce=c(J,se,le);J/=ce,se/=ce,le/=ce;var q=v*R+u*L+y*z,Z=B*R+I*L+U*z,ee=J*R+se*L+le*z,V=Math.asin(m(q)),oe=Math.atan2(ee,Z),ie=this.angle._state,j=ie[ie.length-1],Q=ie[ie.length-2];j=j%(2*Math.PI);var re=Math.abs(j+2*Math.PI-oe),ue=Math.abs(j-oe),_e=Math.abs(j-2*Math.PI-oe);reX&&Q>0){var re=($[Q][0]-X)/($[Q][0]-$[Q-1][0]);return $[Q][1]*(1-re)+re*$[Q-1][1]}}return 1}var B=[0,0,0],N={showSurface:!1,showContour:!1,projections:[_.slice(),_.slice(),_.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function q(X,$){var Q,re,ue,pe=$.axes&&$.axes.lastCubeProps.axis||B,ge=$.showSurface,Te=$.showContour;for(Q=0;Q<3;++Q)for(ge=ge||$.surfaceProject[Q],re=0;re<3;++re)Te=Te||$.contourProject[Q][re];for(Q=0;Q<3;++Q){var Se=N.projections[Q];for(re=0;re<16;++re)Se[re]=0;for(re=0;re<4;++re)Se[5*re]=1;Se[5*Q]=0,Se[12+Q]=$.axesBounds[+(pe[Q]>0)][Q],o(Se,X.model,Se);var Ce=N.clipBounds[Q];for(ue=0;ue<2;++ue)for(re=0;re<3;++re)Ce[ue][re]=X.clipBounds[ue][re];Ce[0][Q]=-1e8,Ce[1][Q]=1e8}return N.showSurface=ge,N.showContour=Te,N}var Y={model:_,view:_,projection:_,inverseModel:_.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},ee=_.slice(),te=[1,0,0,0,1,0,0,0,1];function ae(X,$){X=X||{};var Q=this.gl;Q.disable(Q.CULL_FACE),this._colorMap.bind(0);var re=Y;re.model=X.model||_,re.view=X.view||_,re.projection=X.projection||_,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=b(re.inverseModel,re.model);for(var ue=0;ue<2;++ue)for(var pe=re.clipBounds[ue],ge=0;ge<3;++ge)pe[ge]=Math.min(Math.max(this.clipBounds[ue][ge],-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=te,re.vertexColor=this.vertexColor;var Te=ee;for(o(Te,re.view,re.model),o(Te,re.projection,Te),b(Te,Te),ue=0;ue<3;++ue)re.eyePosition[ue]=Te[12+ue]/Te[15];var Se=Te[15];for(ue=0;ue<3;++ue)Se+=this.lightPosition[ue]*Te[4*ue+3];for(ue=0;ue<3;++ue){var Ce=Te[12+ue];for(ge=0;ge<3;++ge)Ce+=Te[4*ge+ue]*this.lightPosition[ge];re.lightPosition[ue]=Ce/Se}var Ue=q(re,this);if(Ue.showSurface){for(this._shader.bind(),this._shader.uniforms=re,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(Q.TRIANGLES,this._vertexCount),ue=0;ue<3;++ue)!this.surfaceProject[ue]||!this.vertexCount||(this._shader.uniforms.model=Ue.projections[ue],this._shader.uniforms.clipBounds=Ue.clipBounds[ue],this._vao.draw(Q.TRIANGLES,this._vertexCount));this._vao.unbind()}if(Ue.showContour){var Oe=this._contourShader;re.kambient=1,re.kdiffuse=0,re.kspecular=0,re.opacity=1,Oe.bind(),Oe.uniforms=re;var _e=this._contourVAO;for(_e.bind(),ue=0;ue<3;++ue)for(Oe.uniforms.permutation=C[ue],Q.lineWidth(this.contourWidth[ue]*this.pixelRatio),ge=0;ge>4)/16)/255,ue=Math.floor(re),pe=re-ue,ge=$[1]*(X.value[1]+(X.value[2]&15)/16)/255,Te=Math.floor(ge),Se=ge-Te;ue+=1,Te+=1;var Ce=Q.position;Ce[0]=Ce[1]=Ce[2]=0;for(var Ue=0;Ue<2;++Ue)for(var Oe=Ue?pe:1-pe,_e=0;_e<2;++_e)for(var ce=_e?Se:1-Se,ie=ue+Ue,se=Te+_e,ne=Oe*ce,be=0;be<3;++be)Ce[be]+=this._field[be].get(ie,se)*ne;for(var De=this._pickResult.level,qe=0;qe<3;++qe)if(De[qe]=M.le(this.contourLevels[qe],Ce[qe]),De[qe]<0)this.contourLevels[qe].length>0&&(De[qe]=0);else if(De[qe]Math.abs(ut-Ce[qe])&&(De[qe]+=1)}for(Q.index[0]=pe<.5?ue:ue+1,Q.index[1]=Se<.5?Te:Te+1,Q.uv[0]=re/$[0],Q.uv[1]=ge/$[1],be=0;be<3;++be)Q.dataCoordinate[be]=this._field[be].get(Q.index[0],Q.index[1]);return Q},R.padField=function(X,$){var Q=$.shape.slice(),re=X.shape.slice();p.assign(X.lo(1,1).hi(Q[0],Q[1]),$),p.assign(X.lo(1).hi(Q[0],1),$.hi(Q[0],1)),p.assign(X.lo(1,re[1]-1).hi(Q[0],1),$.lo(0,Q[1]-1).hi(Q[0],1)),p.assign(X.lo(0,1).hi(1,Q[1]),$.hi(1)),p.assign(X.lo(re[0]-1,1).hi(1,Q[1]),$.lo(Q[0]-1)),X.set(0,0,$.get(0,0)),X.set(0,re[1]-1,$.get(0,Q[1]-1)),X.set(re[0]-1,0,$.get(Q[0]-1,0)),X.set(re[0]-1,re[1]-1,$.get(Q[0]-1,Q[1]-1))};function G(X,$){return Array.isArray(X)?[$(X[0]),$(X[1]),$(X[2])]:[$(X),$(X),$(X)]}function K(X){return Array.isArray(X)?X.length===3?[X[0],X[1],X[2],1]:[X[0],X[1],X[2],X[3]]:[0,0,0,1]}function H(X){if(Array.isArray(X)){if(Array.isArray(X))return[K(X[0]),K(X[1]),K(X[2])];var $=K(X);return[$.slice(),$.slice(),$.slice()]}}R.update=function(X){X=X||{},this.objectOffset=X.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in X&&(this.contourWidth=G(X.contourWidth,Number)),"showContour"in X&&(this.showContour=G(X.showContour,Boolean)),"showSurface"in X&&(this.showSurface=!!X.showSurface),"contourTint"in X&&(this.contourTint=G(X.contourTint,Boolean)),"contourColor"in X&&(this.contourColor=H(X.contourColor)),"contourProject"in X&&(this.contourProject=G(X.contourProject,function(_n){return G(_n,Boolean)})),"surfaceProject"in X&&(this.surfaceProject=X.surfaceProject),"dynamicColor"in X&&(this.dynamicColor=H(X.dynamicColor)),"dynamicTint"in X&&(this.dynamicTint=G(X.dynamicTint,Number)),"dynamicWidth"in X&&(this.dynamicWidth=G(X.dynamicWidth,Number)),"opacity"in X&&(this.opacity=X.opacity),"opacityscale"in X&&(this.opacityscale=X.opacityscale),"colorBounds"in X&&(this.colorBounds=X.colorBounds),"vertexColor"in X&&(this.vertexColor=X.vertexColor?1:0),"colormap"in X&&this._colorMap.setPixels(this.genColormap(X.colormap,this.opacityscale));var $=X.field||X.coords&&X.coords[2]||null,Q=!1;if($||(this._field[2].shape[0]||this._field[2].shape[2]?$=this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):$=this._field[2].hi(0,0)),"field"in X||"coords"in X){var re=($.shape[0]+2)*($.shape[1]+2);re>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(a.nextPow2(re))),this._field[2]=d(this._field[2].data,[$.shape[0]+2,$.shape[1]+2]),this.padField(this._field[2],$),this.shape=$.shape.slice();for(var ue=this.shape,pe=0;pe<2;++pe)this._field[2].size>this._field[pe].data.length&&(s.freeFloat(this._field[pe].data),this._field[pe].data=s.mallocFloat(this._field[2].size)),this._field[pe]=d(this._field[pe].data,[ue[0]+2,ue[1]+2]);if(X.coords){var ge=X.coords;if(!Array.isArray(ge)||ge.length!==3)throw new Error("gl-surface: invalid coordinates for x/y");for(pe=0;pe<2;++pe){var Te=ge[pe];for(_e=0;_e<2;++_e)if(Te.shape[_e]!==ue[_e])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[pe],Te)}}else if(X.ticks){var Se=X.ticks;if(!Array.isArray(Se)||Se.length!==2)throw new Error("gl-surface: invalid ticks");for(pe=0;pe<2;++pe){var Ce=Se[pe];if((Array.isArray(Ce)||Ce.length)&&(Ce=d(Ce)),Ce.shape[0]!==ue[pe])throw new Error("gl-surface: invalid tick length");var Ue=d(Ce.data,ue);Ue.stride[pe]=Ce.stride[0],Ue.stride[pe^1]=0,this.padField(this._field[pe],Ue)}}else{for(pe=0;pe<2;++pe){var Oe=[0,0];Oe[pe]=1,this._field[pe]=d(this._field[pe].data,[ue[0]+2,ue[1]+2],Oe,0)}this._field[0].set(0,0,0);for(var _e=0;_e0){for(var Jn=0;Jn<5;++Jn)Bt.pop();he-=1}continue e}}}ca.push(he)}this._contourOffsets[Et]=$r,this._contourCounts[Et]=ca}var Ti=s.mallocFloat(Bt.length);for(pe=0;peF||D<0||D>F)throw new Error("gl-texture2d: Invalid texture size");return x._shape=[_,D],x.bind(),C.texImage2D(C.TEXTURE_2D,0,x.format,_,D,0,x.format,x.type,null),x._mipLevels=[0],x}function o(x,_,D,C,F,I){this.gl=x,this.handle=_,this.format=F,this.type=I,this._shape=[D,C],this._mipLevels=[0],this._magFilter=x.NEAREST,this._minFilter=x.NEAREST,this._wrapS=x.CLAMP_TO_EDGE,this._wrapT=x.CLAMP_TO_EDGE,this._anisoSamples=1;var z=this,R=[this._wrapS,this._wrapT];Object.defineProperties(R,[{get:function(){return z._wrapS},set:function(B){return z.wrapS=B}},{get:function(){return z._wrapT},set:function(B){return z.wrapT=B}}]),this._wrapVector=R;var k=[this._shape[0],this._shape[1]];Object.defineProperties(k,[{get:function(){return z._shape[0]},set:function(B){return z.width=B}},{get:function(){return z._shape[1]},set:function(B){return z.height=B}}]),this._shapeVector=k}var b=o.prototype;Object.defineProperties(b,{minFilter:{get:function(){return this._minFilter},set:function(x){this.bind();var _=this.gl;if(this.type===_.FLOAT&&i.indexOf(x)>=0&&(_.getExtension("OES_texture_float_linear")||(x=_.NEAREST)),s.indexOf(x)<0)throw new Error("gl-texture2d: Unknown filter mode "+x);return _.texParameteri(_.TEXTURE_2D,_.TEXTURE_MIN_FILTER,x),this._minFilter=x}},magFilter:{get:function(){return this._magFilter},set:function(x){this.bind();var _=this.gl;if(this.type===_.FLOAT&&i.indexOf(x)>=0&&(_.getExtension("OES_texture_float_linear")||(x=_.NEAREST)),s.indexOf(x)<0)throw new Error("gl-texture2d: Unknown filter mode "+x);return _.texParameteri(_.TEXTURE_2D,_.TEXTURE_MAG_FILTER,x),this._magFilter=x}},mipSamples:{get:function(){return this._anisoSamples},set:function(x){var _=this._anisoSamples;if(this._anisoSamples=Math.max(x,1)|0,_!==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(x){if(this.bind(),c.indexOf(x)<0)throw new Error("gl-texture2d: Unknown wrap mode "+x);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,x),this._wrapS=x}},wrapT:{get:function(){return this._wrapT},set:function(x){if(this.bind(),c.indexOf(x)<0)throw new Error("gl-texture2d: Unknown wrap mode "+x);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,x),this._wrapT=x}},wrap:{get:function(){return this._wrapVector},set:function(x){if(Array.isArray(x)||(x=[x,x]),x.length!==2)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var _=0;_<2;++_)if(c.indexOf(x[_])<0)throw new Error("gl-texture2d: Unknown wrap mode "+x);this._wrapS=x[0],this._wrapT=x[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),x}},shape:{get:function(){return this._shapeVector},set:function(x){if(!Array.isArray(x))x=[x|0,x|0];else if(x.length!==2)throw new Error("gl-texture2d: Invalid texture shape");return y(this,x[0]|0,x[1]|0),[x[0]|0,x[1]|0]}},width:{get:function(){return this._shape[0]},set:function(x){return x=x|0,y(this,x,this._shape[1]),x}},height:{get:function(){return this._shape[1]},set:function(x){return x=x|0,y(this,this._shape[0],x),x}}}),b.bind=function(x){var _=this.gl;return x!==void 0&&_.activeTexture(_.TEXTURE0+(x|0)),_.bindTexture(_.TEXTURE_2D,this.handle),x!==void 0?x|0:_.getParameter(_.ACTIVE_TEXTURE)-_.TEXTURE0},b.dispose=function(){this.gl.deleteTexture(this.handle)},b.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var x=Math.min(this._shape[0],this._shape[1]),_=0;x>0;++_,x>>>=1)this._mipLevels.indexOf(_)<0&&this._mipLevels.push(_)},b.setPixels=function(x,_,D,C){var F=this.gl;this.bind(),Array.isArray(_)?(C=D,D=_[1]|0,_=_[0]|0):(_=_||0,D=D||0),C=C||0;var I=f(x)?x:x.raw;if(I){var z=this._mipLevels.indexOf(C)<0;z?(F.texImage2D(F.TEXTURE_2D,0,this.format,this.format,this.type,I),this._mipLevels.push(C)):F.texSubImage2D(F.TEXTURE_2D,C,_,D,this.format,this.type,I)}else if(x.shape&&x.stride&&x.data){if(x.shape.length<2||_+x.shape[1]>this._shape[1]>>>C||D+x.shape[0]>this._shape[0]>>>C||_<0||D<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");A(F,_,D,C,this.format,this.type,this._mipLevels,x)}else throw new Error("gl-texture2d: Unsupported data type")};function M(x,_){return x.length===3?_[2]===1&&_[1]===x[0]*x[2]&&_[0]===x[2]:_[0]===1&&_[1]===x[0]}function A(x,_,D,C,F,I,z,R){var k=R.dtype,B=R.shape.slice();if(B.length<2||B.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var N=0,q=0,Y=M(B,R.stride.slice());k==="float32"?N=x.FLOAT:k==="float64"?(N=x.FLOAT,Y=!1,k="float32"):k==="uint8"?N=x.UNSIGNED_BYTE:(N=x.UNSIGNED_BYTE,Y=!1,k="uint8");var ee=1;if(B.length===2)q=x.LUMINANCE,B=[B[0],B[1],1],R=a(R.data,B,[R.stride[0],R.stride[1],1],R.offset);else if(B.length===3){if(B[2]===1)q=x.ALPHA;else if(B[2]===2)q=x.LUMINANCE_ALPHA;else if(B[2]===3)q=x.RGB;else if(B[2]===4)q=x.RGBA;else throw new Error("gl-texture2d: Invalid shape for pixel coords");ee=B[2]}else throw new Error("gl-texture2d: Invalid shape for texture");if((q===x.LUMINANCE||q===x.ALPHA)&&(F===x.LUMINANCE||F===x.ALPHA)&&(q=F),q!==F)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var te=R.size,ae=z.indexOf(C)<0;if(ae&&z.push(C),N===I&&Y)R.offset===0&&R.data.length===te?ae?x.texImage2D(x.TEXTURE_2D,C,F,B[0],B[1],0,F,I,R.data):x.texSubImage2D(x.TEXTURE_2D,C,_,D,B[0],B[1],F,I,R.data):ae?x.texImage2D(x.TEXTURE_2D,C,F,B[0],B[1],0,F,I,R.data.subarray(R.offset,R.offset+te)):x.texSubImage2D(x.TEXTURE_2D,C,_,D,B[0],B[1],F,I,R.data.subarray(R.offset,R.offset+te));else{var j;I===x.FLOAT?j=n.mallocFloat32(te):j=n.mallocUint8(te);var G=a(j,B,[B[2],B[2]*B[0],1]);N===x.FLOAT&&I===x.UNSIGNED_BYTE?d(G,R):r.assign(G,R),ae?x.texImage2D(x.TEXTURE_2D,C,F,B[0],B[1],0,F,I,j.subarray(0,te)):x.texSubImage2D(x.TEXTURE_2D,C,_,D,B[0],B[1],F,I,j.subarray(0,te)),I===x.FLOAT?n.freeFloat32(j):n.freeUint8(j)}}function E(x){var _=x.createTexture();return x.bindTexture(x.TEXTURE_2D,_),x.texParameteri(x.TEXTURE_2D,x.TEXTURE_MIN_FILTER,x.NEAREST),x.texParameteri(x.TEXTURE_2D,x.TEXTURE_MAG_FILTER,x.NEAREST),x.texParameteri(x.TEXTURE_2D,x.TEXTURE_WRAP_S,x.CLAMP_TO_EDGE),x.texParameteri(x.TEXTURE_2D,x.TEXTURE_WRAP_T,x.CLAMP_TO_EDGE),_}function g(x,_,D,C,F){var I=x.getParameter(x.MAX_TEXTURE_SIZE);if(_<0||_>I||D<0||D>I)throw new Error("gl-texture2d: Invalid texture shape");if(F===x.FLOAT&&!x.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var z=E(x);return x.texImage2D(x.TEXTURE_2D,0,C,_,D,0,C,F,null),new o(x,z,_,D,C,F)}function T(x,_,D,C,F,I){var z=E(x);return x.texImage2D(x.TEXTURE_2D,0,F,F,I,_),new o(x,z,D,C,F,I)}function m(x,_){var D=_.dtype,C=_.shape.slice(),F=x.getParameter(x.MAX_TEXTURE_SIZE);if(C[0]<0||C[0]>F||C[1]<0||C[1]>F)throw new Error("gl-texture2d: Invalid texture size");var I=M(C,_.stride.slice()),z=0;D==="float32"?z=x.FLOAT:D==="float64"?(z=x.FLOAT,I=!1,D="float32"):D==="uint8"?z=x.UNSIGNED_BYTE:(z=x.UNSIGNED_BYTE,I=!1,D="uint8");var R=0;if(C.length===2)R=x.LUMINANCE,C=[C[0],C[1],1],_=a(_.data,C,[_.stride[0],_.stride[1],1],_.offset);else if(C.length===3)if(C[2]===1)R=x.ALPHA;else if(C[2]===2)R=x.LUMINANCE_ALPHA;else if(C[2]===3)R=x.RGB;else if(C[2]===4)R=x.RGBA;else throw new Error("gl-texture2d: Invalid shape for pixel coords");else throw new Error("gl-texture2d: Invalid shape for texture");z===x.FLOAT&&!x.getExtension("OES_texture_float")&&(z=x.UNSIGNED_BYTE,I=!1);var k,B,N=_.size;if(I)_.offset===0&&_.data.length===N?k=_.data:k=_.data.subarray(_.offset,_.offset+N);else{var q=[C[2],C[2]*C[0],1];B=n.malloc(N,D);var Y=a(B,C,q,0);(D==="float32"||D==="float64")&&z===x.UNSIGNED_BYTE?d(Y,_):r.assign(Y,_),k=B.subarray(0,N)}var ee=E(x);return x.texImage2D(x.TEXTURE_2D,0,R,C[0],C[1],0,R,z,k),I||n.free(B),new o(x,ee,C[0],C[1],R,z)}function h(x){if(arguments.length<=1)throw new Error("gl-texture2d: Missing arguments for texture2d constructor");if(i||p(x),typeof arguments[1]=="number")return g(x,arguments[1],arguments[2],arguments[3]||x.RGBA,arguments[4]||x.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return g(x,arguments[1][0]|0,arguments[1][1]|0,arguments[2]||x.RGBA,arguments[3]||x.UNSIGNED_BYTE);if(typeof arguments[1]=="object"){var _=arguments[1],D=f(_)?_:_.raw;if(D)return T(x,D,_.width|0,_.height|0,arguments[2]||x.RGBA,arguments[3]||x.UNSIGNED_BYTE);if(_.shape&&_.data&&_.stride)return m(x,_)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")}},1433:function(l){"use strict";function e(t,a,r){a?a.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=t.getParameter(t.MAX_VERTEX_ATTRIBS)|0;if(r){if(r.length>n)throw new Error("gl-vao: Too many vertex attributes");for(var i=0;i1?0:Math.acos(d)}},9226:function(l){l.exports=e;function e(t,a){return t[0]=Math.ceil(a[0]),t[1]=Math.ceil(a[1]),t[2]=Math.ceil(a[2]),t}},3126:function(l){l.exports=e;function e(t){var a=new Float32Array(3);return a[0]=t[0],a[1]=t[1],a[2]=t[2],a}},3990:function(l){l.exports=e;function e(t,a){return t[0]=a[0],t[1]=a[1],t[2]=a[2],t}},1091:function(l){l.exports=e;function e(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},5911:function(l){l.exports=e;function e(t,a,r){var n=a[0],i=a[1],s=a[2],c=r[0],p=r[1],f=r[2];return t[0]=i*f-s*p,t[1]=s*c-n*f,t[2]=n*p-i*c,t}},5455:function(l,e,t){l.exports=t(7056)},7056:function(l){l.exports=e;function e(t,a){var r=a[0]-t[0],n=a[1]-t[1],i=a[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}},4008:function(l,e,t){l.exports=t(6690)},6690:function(l){l.exports=e;function e(t,a,r){return t[0]=a[0]/r[0],t[1]=a[1]/r[1],t[2]=a[2]/r[2],t}},244:function(l){l.exports=e;function e(t,a){return t[0]*a[0]+t[1]*a[1]+t[2]*a[2]}},2613:function(l){l.exports=1e-6},9922:function(l,e,t){l.exports=r;var a=t(2613);function r(n,i){var s=n[0],c=n[1],p=n[2],f=i[0],d=i[1],y=i[2];return Math.abs(s-f)<=a*Math.max(1,Math.abs(s),Math.abs(f))&&Math.abs(c-d)<=a*Math.max(1,Math.abs(c),Math.abs(d))&&Math.abs(p-y)<=a*Math.max(1,Math.abs(p),Math.abs(y))}},9265:function(l){l.exports=e;function e(t,a){return t[0]===a[0]&&t[1]===a[1]&&t[2]===a[2]}},2681:function(l){l.exports=e;function e(t,a){return t[0]=Math.floor(a[0]),t[1]=Math.floor(a[1]),t[2]=Math.floor(a[2]),t}},5137:function(l,e,t){l.exports=r;var a=t(1091)();function r(n,i,s,c,p,f){var d,y;for(i||(i=3),s||(s=0),c?y=Math.min(c*i+s,n.length):y=n.length,d=s;d0&&(s=1/Math.sqrt(s),t[0]=a[0]*s,t[1]=a[1]*s,t[2]=a[2]*s),t}},7636:function(l){l.exports=e;function e(t,a){a=a||1;var r=Math.random()*2*Math.PI,n=Math.random()*2-1,i=Math.sqrt(1-n*n)*a;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*a,t}},6894:function(l){l.exports=e;function e(t,a,r,n){var i=r[1],s=r[2],c=a[1]-i,p=a[2]-s,f=Math.sin(n),d=Math.cos(n);return t[0]=a[0],t[1]=i+c*d-p*f,t[2]=s+c*f+p*d,t}},109:function(l){l.exports=e;function e(t,a,r,n){var i=r[0],s=r[2],c=a[0]-i,p=a[2]-s,f=Math.sin(n),d=Math.cos(n);return t[0]=i+p*f+c*d,t[1]=a[1],t[2]=s+p*d-c*f,t}},8692:function(l){l.exports=e;function e(t,a,r,n){var i=r[0],s=r[1],c=a[0]-i,p=a[1]-s,f=Math.sin(n),d=Math.cos(n);return t[0]=i+c*d-p*f,t[1]=s+c*f+p*d,t[2]=a[2],t}},2447:function(l){l.exports=e;function e(t,a){return t[0]=Math.round(a[0]),t[1]=Math.round(a[1]),t[2]=Math.round(a[2]),t}},6621:function(l){l.exports=e;function e(t,a,r){return t[0]=a[0]*r,t[1]=a[1]*r,t[2]=a[2]*r,t}},8489:function(l){l.exports=e;function e(t,a,r,n){return t[0]=a[0]+r[0]*n,t[1]=a[1]+r[1]*n,t[2]=a[2]+r[2]*n,t}},1463:function(l){l.exports=e;function e(t,a,r,n){return t[0]=a,t[1]=r,t[2]=n,t}},6141:function(l,e,t){l.exports=t(2953)},5486:function(l,e,t){l.exports=t(3066)},2953:function(l){l.exports=e;function e(t,a){var r=a[0]-t[0],n=a[1]-t[1],i=a[2]-t[2];return r*r+n*n+i*i}},3066:function(l){l.exports=e;function e(t){var a=t[0],r=t[1],n=t[2];return a*a+r*r+n*n}},2229:function(l,e,t){l.exports=t(6843)},6843:function(l){l.exports=e;function e(t,a,r){return t[0]=a[0]-r[0],t[1]=a[1]-r[1],t[2]=a[2]-r[2],t}},492:function(l){l.exports=e;function e(t,a,r){var n=a[0],i=a[1],s=a[2];return t[0]=n*r[0]+i*r[3]+s*r[6],t[1]=n*r[1]+i*r[4]+s*r[7],t[2]=n*r[2]+i*r[5]+s*r[8],t}},5673:function(l){l.exports=e;function e(t,a,r){var n=a[0],i=a[1],s=a[2],c=r[3]*n+r[7]*i+r[11]*s+r[15];return c=c||1,t[0]=(r[0]*n+r[4]*i+r[8]*s+r[12])/c,t[1]=(r[1]*n+r[5]*i+r[9]*s+r[13])/c,t[2]=(r[2]*n+r[6]*i+r[10]*s+r[14])/c,t}},264:function(l){l.exports=e;function e(t,a,r){var n=a[0],i=a[1],s=a[2],c=r[0],p=r[1],f=r[2],d=r[3],y=d*n+p*s-f*i,o=d*i+f*n-c*s,b=d*s+c*i-p*n,M=-c*n-p*i-f*s;return t[0]=y*d+M*-c+o*-f-b*-p,t[1]=o*d+M*-p+b*-c-y*-f,t[2]=b*d+M*-f+y*-p-o*-c,t}},4361:function(l){l.exports=e;function e(t,a,r){return t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t[3]=a[3]+r[3],t}},2335:function(l){l.exports=e;function e(t){var a=new Float32Array(4);return a[0]=t[0],a[1]=t[1],a[2]=t[2],a[3]=t[3],a}},2933:function(l){l.exports=e;function e(t,a){return t[0]=a[0],t[1]=a[1],t[2]=a[2],t[3]=a[3],t}},7536:function(l){l.exports=e;function e(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},4691:function(l){l.exports=e;function e(t,a){var r=a[0]-t[0],n=a[1]-t[1],i=a[2]-t[2],s=a[3]-t[3];return Math.sqrt(r*r+n*n+i*i+s*s)}},1373:function(l){l.exports=e;function e(t,a,r){return t[0]=a[0]/r[0],t[1]=a[1]/r[1],t[2]=a[2]/r[2],t[3]=a[3]/r[3],t}},3750:function(l){l.exports=e;function e(t,a){return t[0]*a[0]+t[1]*a[1]+t[2]*a[2]+t[3]*a[3]}},3390:function(l){l.exports=e;function e(t,a,r,n){var i=new Float32Array(4);return i[0]=t,i[1]=a,i[2]=r,i[3]=n,i}},9970:function(l,e,t){l.exports={create:t(7536),clone:t(2335),fromValues:t(3390),copy:t(2933),set:t(4578),add:t(4361),subtract:t(6860),multiply:t(3576),divide:t(1373),min:t(2334),max:t(160),scale:t(9288),scaleAndAdd:t(4844),distance:t(4691),squaredDistance:t(7960),length:t(6808),squaredLength:t(483),negate:t(1498),inverse:t(4494),normalize:t(5177),dot:t(3750),lerp:t(2573),random:t(9131),transformMat4:t(5352),transformQuat:t(4041)}},4494:function(l){l.exports=e;function e(t,a){return t[0]=1/a[0],t[1]=1/a[1],t[2]=1/a[2],t[3]=1/a[3],t}},6808:function(l){l.exports=e;function e(t){var a=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(a*a+r*r+n*n+i*i)}},2573:function(l){l.exports=e;function e(t,a,r,n){var i=a[0],s=a[1],c=a[2],p=a[3];return t[0]=i+n*(r[0]-i),t[1]=s+n*(r[1]-s),t[2]=c+n*(r[2]-c),t[3]=p+n*(r[3]-p),t}},160:function(l){l.exports=e;function e(t,a,r){return t[0]=Math.max(a[0],r[0]),t[1]=Math.max(a[1],r[1]),t[2]=Math.max(a[2],r[2]),t[3]=Math.max(a[3],r[3]),t}},2334:function(l){l.exports=e;function e(t,a,r){return t[0]=Math.min(a[0],r[0]),t[1]=Math.min(a[1],r[1]),t[2]=Math.min(a[2],r[2]),t[3]=Math.min(a[3],r[3]),t}},3576:function(l){l.exports=e;function e(t,a,r){return t[0]=a[0]*r[0],t[1]=a[1]*r[1],t[2]=a[2]*r[2],t[3]=a[3]*r[3],t}},1498:function(l){l.exports=e;function e(t,a){return t[0]=-a[0],t[1]=-a[1],t[2]=-a[2],t[3]=-a[3],t}},5177:function(l){l.exports=e;function e(t,a){var r=a[0],n=a[1],i=a[2],s=a[3],c=r*r+n*n+i*i+s*s;return c>0&&(c=1/Math.sqrt(c),t[0]=r*c,t[1]=n*c,t[2]=i*c,t[3]=s*c),t}},9131:function(l,e,t){var a=t(5177),r=t(9288);l.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(),a(i,i),r(i,i,s),i}},9288:function(l){l.exports=e;function e(t,a,r){return t[0]=a[0]*r,t[1]=a[1]*r,t[2]=a[2]*r,t[3]=a[3]*r,t}},4844:function(l){l.exports=e;function e(t,a,r,n){return t[0]=a[0]+r[0]*n,t[1]=a[1]+r[1]*n,t[2]=a[2]+r[2]*n,t[3]=a[3]+r[3]*n,t}},4578:function(l){l.exports=e;function e(t,a,r,n,i){return t[0]=a,t[1]=r,t[2]=n,t[3]=i,t}},7960:function(l){l.exports=e;function e(t,a){var r=a[0]-t[0],n=a[1]-t[1],i=a[2]-t[2],s=a[3]-t[3];return r*r+n*n+i*i+s*s}},483:function(l){l.exports=e;function e(t){var a=t[0],r=t[1],n=t[2],i=t[3];return a*a+r*r+n*n+i*i}},6860:function(l){l.exports=e;function e(t,a,r){return t[0]=a[0]-r[0],t[1]=a[1]-r[1],t[2]=a[2]-r[2],t[3]=a[3]-r[3],t}},5352:function(l){l.exports=e;function e(t,a,r){var n=a[0],i=a[1],s=a[2],c=a[3];return t[0]=r[0]*n+r[4]*i+r[8]*s+r[12]*c,t[1]=r[1]*n+r[5]*i+r[9]*s+r[13]*c,t[2]=r[2]*n+r[6]*i+r[10]*s+r[14]*c,t[3]=r[3]*n+r[7]*i+r[11]*s+r[15]*c,t}},4041:function(l){l.exports=e;function e(t,a,r){var n=a[0],i=a[1],s=a[2],c=r[0],p=r[1],f=r[2],d=r[3],y=d*n+p*s-f*i,o=d*i+f*n-c*s,b=d*s+c*i-p*n,M=-c*n-p*i-f*s;return t[0]=y*d+M*-c+o*-f-b*-p,t[1]=o*d+M*-p+b*-c-y*-f,t[2]=b*d+M*-f+y*-p-o*-c,t[3]=a[3],t}},1848:function(l,e,t){var a=t(4905),r=t(6468);l.exports=n;function n(i){for(var s=Array.isArray(i)?i:a(i),c=0;c0)continue;qe=ne.slice(0,1).join("")}return Q(qe),te+=qe.length,k=k.slice(qe.length),k.length}while(!0)}function _e(){return/[^a-fA-F0-9]/.test(z)?(Q(k.join("")),I=c,C):(k.push(z),R=z,C+1)}function ce(){return z==="."||/[eE]/.test(z)?(k.push(z),I=M,R=z,C+1):z==="x"&&k.length===1&&k[0]==="0"?(I=h,k.push(z),R=z,C+1):/[^\d]/.test(z)?(Q(k.join("")),I=c,C):(k.push(z),R=z,C+1)}function ie(){return z==="f"&&(k.push(z),R=z,C+=1),/[eE]/.test(z)||(z==="-"||z==="+")&&/[eE]/.test(R)?(k.push(z),R=z,C+1):/[^\d]/.test(z)?(Q(k.join("")),I=c,C):(k.push(z),R=z,C+1)}function se(){if(/[^\d\w_]/.test(z)){var ne=k.join("");return $[ne]?I=g:X[ne]?I=E:I=A,Q(k.join("")),I=c,C}return k.push(z),R=z,C+1}}},3508:function(l,e,t){var a=t(6852);a=a.slice().filter(function(r){return!/^(gl\_|texture)/.test(r)}),l.exports=a.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(l){l.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(l,e,t){var a=t(620);l.exports=a.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(l){l.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(l){l.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},4905:function(l,e,t){var a=t(5874);l.exports=r;function r(n,i){var s=a(i),c=[];return c=c.concat(s(n)),c=c.concat(s(null)),c}},3236:function(l){l.exports=function(e){typeof e=="string"&&(e=[e]);for(var t=[].slice.call(arguments,1),a=[],r=0;r>1,y=-7,o=r?i-1:0,b=r?-1:1,M=t[a+o];for(o+=b,s=M&(1<<-y)-1,M>>=-y,y+=p;y>0;s=s*256+t[a+o],o+=b,y-=8);for(c=s&(1<<-y)-1,s>>=-y,y+=n;y>0;c=c*256+t[a+o],o+=b,y-=8);if(s===0)s=1-d;else{if(s===f)return c?NaN:(M?-1:1)*(1/0);c=c+Math.pow(2,n),s=s-d}return(M?-1:1)*c*Math.pow(2,s-n)},e.write=function(t,a,r,n,i,s){var c,p,f,d=s*8-i-1,y=(1<>1,b=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,M=n?0:s-1,A=n?1:-1,E=a<0||a===0&&1/a<0?1:0;for(a=Math.abs(a),isNaN(a)||a===1/0?(p=isNaN(a)?1:0,c=y):(c=Math.floor(Math.log(a)/Math.LN2),a*(f=Math.pow(2,-c))<1&&(c--,f*=2),c+o>=1?a+=b/f:a+=b*Math.pow(2,1-o),a*f>=2&&(c++,f/=2),c+o>=y?(p=0,c=y):c+o>=1?(p=(a*f-1)*Math.pow(2,i),c=c+o):(p=a*Math.pow(2,o-1)*Math.pow(2,i),c=0));i>=8;t[r+M]=p&255,M+=A,p/=256,i-=8);for(c=c<0;t[r+M]=c&255,M+=A,c/=256,d-=8);t[r+M-A]|=E*128}},8954:function(l,e,t){"use strict";l.exports=o;var a=t(3250),r=t(6803).Fw;function n(b,M,A){this.vertices=b,this.adjacent=M,this.boundary=A,this.lastVisited=-1}n.prototype.flip=function(){var b=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=b;var M=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=M};function i(b,M,A){this.vertices=b,this.cell=M,this.index=A}function s(b,M){return r(b.vertices,M.vertices)}function c(b){return function(){var M=this.tuple;return b.apply(this,M)}}function p(b){var M=a[b+1];return M||(M=a),c(M)}var f=[];function d(b,M,A){this.dimension=b,this.vertices=M,this.simplices=A,this.interior=A.filter(function(T){return!T.boundary}),this.tuple=new Array(b+1);for(var E=0;E<=b;++E)this.tuple[E]=this.vertices[E];var g=f[b];g||(g=f[b]=p(b)),this.orient=g}var y=d.prototype;y.handleBoundaryDegeneracy=function(b,M){var A=this.dimension,E=this.vertices.length-1,g=this.tuple,T=this.vertices,m=[b];for(b.lastVisited=-E;m.length>0;){b=m.pop();for(var h=b.adjacent,x=0;x<=A;++x){var _=h[x];if(!(!_.boundary||_.lastVisited<=-E)){for(var D=_.vertices,C=0;C<=A;++C){var F=D[C];F<0?g[C]=M:g[C]=T[F]}var I=this.orient();if(I>0)return _;_.lastVisited=-E,I===0&&m.push(_)}}}return null},y.walk=function(b,M){var A=this.vertices.length-1,E=this.dimension,g=this.vertices,T=this.tuple,m=M?this.interior.length*Math.random()|0:this.interior.length-1,h=this.interior[m];e:for(;!h.boundary;){for(var x=h.vertices,_=h.adjacent,D=0;D<=E;++D)T[D]=g[x[D]];h.lastVisited=A;for(var D=0;D<=E;++D){var C=_[D];if(!(C.lastVisited>=A)){var F=T[D];T[D]=b;var I=this.orient();if(T[D]=F,I<0){h=C;continue e}else C.boundary?C.lastVisited=-A:C.lastVisited=A}}return}return h},y.addPeaks=function(b,M){var A=this.vertices.length-1,E=this.dimension,g=this.vertices,T=this.tuple,m=this.interior,h=this.simplices,x=[M];M.lastVisited=A,M.vertices[M.vertices.indexOf(-1)]=A,M.boundary=!1,m.push(M);for(var _=[];x.length>0;){var M=x.pop(),D=M.vertices,C=M.adjacent,F=D.indexOf(A);if(!(F<0)){for(var I=0;I<=E;++I)if(I!==F){var z=C[I];if(!(!z.boundary||z.lastVisited>=A)){var R=z.vertices;if(z.lastVisited!==-A){for(var k=0,B=0;B<=E;++B)R[B]<0?(k=B,T[B]=b):T[B]=g[R[B]];var N=this.orient();if(N>0){R[k]=A,z.boundary=!1,m.push(z),x.push(z),z.lastVisited=A;continue}else z.lastVisited=-A}var q=z.adjacent,Y=D.slice(),ee=C.slice(),te=new n(Y,ee,!0);h.push(te);var ae=q.indexOf(M);if(!(ae<0)){q[ae]=te,ee[F]=z,Y[I]=-1,ee[I]=M,C[I]=te,te.flip();for(var B=0;B<=E;++B){var j=Y[B];if(!(j<0||j===A)){for(var G=new Array(E-1),K=0,H=0;H<=E;++H){var Z=Y[H];Z<0||H===B||(G[K++]=Z)}_.push(new i(G,te,B))}}}}}}}_.sort(s);for(var I=0;I+1<_.length;I+=2){var X=_[I],$=_[I+1],Q=X.index,re=$.index;Q<0||re<0||(X.cell.adjacent[X.index]=$.cell,$.cell.adjacent[$.index]=X.cell)}},y.insert=function(b,M){var A=this.vertices;A.push(b);var E=this.walk(b,M);if(E){for(var g=this.dimension,T=this.tuple,m=0;m<=g;++m){var h=E.vertices[m];h<0?T[m]=b:T[m]=A[h]}var x=this.orient(T);x<0||x===0&&(E=this.handleBoundaryDegeneracy(E,b),!E)||this.addPeaks(b,E)}},y.boundary=function(){for(var b=this.dimension,M=[],A=this.simplices,E=A.length,g=0;g=0?m[x++]=h[D]:_=D&1;if(_===(b&1)){var C=m[0];m[0]=m[1],m[1]=C}M.push(m)}}return M};function o(b,M){var A=b.length;if(A===0)throw new Error("Must have at least d+1 points");var E=b[0].length;if(A<=E)throw new Error("Must input at least d+1 points");var g=b.slice(0,E+1),T=a.apply(void 0,g);if(T===0)throw new Error("Input not in general position");for(var m=new Array(E+1),h=0;h<=E;++h)m[h]=h;T<0&&(m[0]=1,m[1]=0);for(var x=new n(m,new Array(E+1),!1),_=x.adjacent,D=new Array(E+2),h=0;h<=E;++h){for(var C=m.slice(),F=0;F<=E;++F)F===h&&(C[F]=-1);var I=C[0];C[0]=C[1],C[1]=I;var z=new n(C,new Array(E+1),!0);_[h]=z,D[h]=z}D[E+1]=x;for(var h=0;h<=E;++h)for(var C=_[h].vertices,R=_[h].adjacent,F=0;F<=E;++F){var k=C[F];if(k<0){R[F]=x;continue}for(var B=0;B<=E;++B)_[B].vertices.indexOf(k)<0&&(R[F]=_[B])}for(var N=new d(E,g,D),q=!!M,h=E+1;h3*(D+1)?d(this,_):this.left.insert(_):this.left=T([_]);else if(_[0]>this.mid)this.right?4*(this.right.count+1)>3*(D+1)?d(this,_):this.right.insert(_):this.right=T([_]);else{var C=a.ge(this.leftPoints,_,E),F=a.ge(this.rightPoints,_,g);this.leftPoints.splice(C,0,_),this.rightPoints.splice(F,0,_)}},c.remove=function(_){var D=this.count-this.leftPoints;if(_[1]3*(D-1))return y(this,_);var F=this.left.remove(_);return F===i?(this.left=null,this.count-=1,n):(F===n&&(this.count-=1),F)}else if(_[0]>this.mid){if(!this.right)return r;var I=this.left?this.left.count:0;if(4*I>3*(D-1))return y(this,_);var F=this.right.remove(_);return F===i?(this.right=null,this.count-=1,n):(F===n&&(this.count-=1),F)}else{if(this.count===1)return this.leftPoints[0]===_?i:r;if(this.leftPoints.length===1&&this.leftPoints[0]===_){if(this.left&&this.right){for(var z=this,R=this.left;R.right;)z=R,R=R.right;if(z===this)R.right=this.right;else{var k=this.left,F=this.right;z.count-=R.count,z.right=R.left,R.left=k,R.right=F}p(this,R),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?p(this,this.left):p(this,this.right);return n}for(var k=a.ge(this.leftPoints,_,E);k=0&&_[F][1]>=D;--F){var I=C(_[F]);if(I)return I}}function M(_,D){for(var C=0;C<_.length;++C){var F=D(_[C]);if(F)return F}}c.queryPoint=function(_,D){if(_this.mid){if(this.right){var C=this.right.queryPoint(_,D);if(C)return C}return b(this.rightPoints,_,D)}else return M(this.leftPoints,D)},c.queryInterval=function(_,D,C){if(_this.mid&&this.right){var F=this.right.queryInterval(_,D,C);if(F)return F}return Dthis.mid?b(this.rightPoints,_,C):M(this.leftPoints,C)};function A(_,D){return _-D}function E(_,D){var C=_[0]-D[0];return C||_[1]-D[1]}function g(_,D){var C=_[1]-D[1];return C||_[0]-D[0]}function T(_){if(_.length===0)return null;for(var D=[],C=0;C<_.length;++C)D.push(_[C][0],_[C][1]);D.sort(A);for(var F=D[D.length>>1],I=[],z=[],R=[],C=0;C<_.length;++C){var k=_[C];k[1]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}},395:function(l){function e(t,a,r){return t*(1-r)+a*r}l.exports=e},2652:function(l,e,t){var a=t(4335),r=t(6864),n=t(1903),i=t(9921),s=t(7608),c=t(5665),p={length:t(1387),normalize:t(3536),dot:t(244),cross:t(5911)},f=r(),d=r(),y=[0,0,0,0],o=[[0,0,0],[0,0,0],[0,0,0]],b=[0,0,0];l.exports=function(T,m,h,x,_,D){if(m||(m=[0,0,0]),h||(h=[0,0,0]),x||(x=[0,0,0]),_||(_=[0,0,0,1]),D||(D=[0,0,0,1]),!a(f,T)||(n(d,f),d[3]=0,d[7]=0,d[11]=0,d[15]=1,Math.abs(i(d)<1e-8)))return!1;var C=f[3],F=f[7],I=f[11],z=f[12],R=f[13],k=f[14],B=f[15];if(C!==0||F!==0||I!==0){y[0]=C,y[1]=F,y[2]=I,y[3]=B;var N=s(d,d);if(!N)return!1;c(d,d),M(_,y,d)}else _[0]=_[1]=_[2]=0,_[3]=1;if(m[0]=z,m[1]=R,m[2]=k,A(o,f),h[0]=p.length(o[0]),p.normalize(o[0],o[0]),x[0]=p.dot(o[0],o[1]),E(o[1],o[1],o[0],1,-x[0]),h[1]=p.length(o[1]),p.normalize(o[1],o[1]),x[0]/=h[1],x[1]=p.dot(o[0],o[2]),E(o[2],o[2],o[0],1,-x[1]),x[2]=p.dot(o[1],o[2]),E(o[2],o[2],o[1],1,-x[2]),h[2]=p.length(o[2]),p.normalize(o[2],o[2]),x[1]/=h[2],x[2]/=h[2],p.cross(b,o[1],o[2]),p.dot(o[0],b)<0)for(var q=0;q<3;q++)h[q]*=-1,o[q][0]*=-1,o[q][1]*=-1,o[q][2]*=-1;return D[0]=.5*Math.sqrt(Math.max(1+o[0][0]-o[1][1]-o[2][2],0)),D[1]=.5*Math.sqrt(Math.max(1-o[0][0]+o[1][1]-o[2][2],0)),D[2]=.5*Math.sqrt(Math.max(1-o[0][0]-o[1][1]+o[2][2],0)),D[3]=.5*Math.sqrt(Math.max(1+o[0][0]+o[1][1]+o[2][2],0)),o[2][1]>o[1][2]&&(D[0]=-D[0]),o[0][2]>o[2][0]&&(D[1]=-D[1]),o[1][0]>o[0][1]&&(D[2]=-D[2]),!0};function M(g,T,m){var h=T[0],x=T[1],_=T[2],D=T[3];return g[0]=m[0]*h+m[4]*x+m[8]*_+m[12]*D,g[1]=m[1]*h+m[5]*x+m[9]*_+m[13]*D,g[2]=m[2]*h+m[6]*x+m[10]*_+m[14]*D,g[3]=m[3]*h+m[7]*x+m[11]*_+m[15]*D,g}function A(g,T){g[0][0]=T[0],g[0][1]=T[1],g[0][2]=T[2],g[1][0]=T[4],g[1][1]=T[5],g[1][2]=T[6],g[2][0]=T[8],g[2][1]=T[9],g[2][2]=T[10]}function E(g,T,m,h,x){g[0]=T[0]*h+m[0]*x,g[1]=T[1]*h+m[1]*x,g[2]=T[2]*h+m[2]*x}},4335:function(l){l.exports=function(t,a){var r=a[15];if(r===0)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=a[i]*n;return!0}},7442:function(l,e,t){var a=t(6658),r=t(7182),n=t(2652),i=t(9921),s=t(8648),c=y(),p=y(),f=y();l.exports=d;function d(M,A,E,g){if(i(A)===0||i(E)===0)return!1;var T=n(A,c.translate,c.scale,c.skew,c.perspective,c.quaternion),m=n(E,p.translate,p.scale,p.skew,p.perspective,p.quaternion);return!T||!m?!1:(a(f.translate,c.translate,p.translate,g),a(f.skew,c.skew,p.skew,g),a(f.scale,c.scale,p.scale,g),a(f.perspective,c.perspective,p.perspective,g),s(f.quaternion,c.quaternion,p.quaternion,g),r(M,f.translate,f.scale,f.skew,f.perspective,f.quaternion),!0)}function y(){return{translate:o(),scale:o(1),skew:o(),perspective:b(),quaternion:b()}}function o(M){return[M||0,M||0,M||0]}function b(){return[0,0,0,1]}},7182:function(l,e,t){var a={identity:t(7894),translate:t(7656),multiply:t(6760),create:t(6864),scale:t(2504),fromRotationTranslation:t(6743)},r=a.create(),n=a.create();l.exports=function(s,c,p,f,d,y){return a.identity(s),a.fromRotationTranslation(s,y,c),s[3]=d[0],s[7]=d[1],s[11]=d[2],s[15]=d[3],a.identity(n),f[2]!==0&&(n[9]=f[2],a.multiply(s,s,n)),f[1]!==0&&(n[9]=0,n[8]=f[1],a.multiply(s,s,n)),f[0]!==0&&(n[8]=0,n[4]=f[0],a.multiply(s,s,n)),a.scale(s,s,p),s}},1811:function(l,e,t){"use strict";var a=t(2478),r=t(7442),n=t(7608),i=t(5567),s=t(2408),c=t(7089),p=t(6582),f=t(7656),d=t(2504),y=t(3536),o=[0,0,0];l.exports=E;function b(g){this._components=g.slice(),this._time=[0],this.prevMatrix=g.slice(),this.nextMatrix=g.slice(),this.computedMatrix=g.slice(),this.computedInverse=g.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 M=b.prototype;M.recalcMatrix=function(g){var T=this._time,m=a.le(T,g),h=this.computedMatrix;if(!(m<0)){var x=this._components;if(m===T.length-1)for(var _=16*m,D=0;D<16;++D)h[D]=x[_++];else{for(var C=T[m+1]-T[m],_=16*m,F=this.prevMatrix,I=!0,D=0;D<16;++D)F[D]=x[_++];for(var z=this.nextMatrix,D=0;D<16;++D)z[D]=x[_++],I=I&&F[D]===z[D];if(C<1e-6||I)for(var D=0;D<16;++D)h[D]=F[D];else r(h,F,z,(g-T[m])/C)}var R=this.computedUp;R[0]=h[1],R[1]=h[5],R[2]=h[9],y(R,R);var k=this.computedInverse;n(k,h);var B=this.computedEye,N=k[15];B[0]=k[12]/N,B[1]=k[13]/N,B[2]=k[14]/N;for(var q=this.computedCenter,Y=Math.exp(this.computedRadius[0]),D=0;D<3;++D)q[D]=B[D]-h[2+4*D]*Y}},M.idle=function(g){if(!(g1&&a(n[p[o-2]],n[p[o-1]],y)<=0;)o-=1,p.pop();for(p.push(d),o=f.length;o>1&&a(n[f[o-2]],n[f[o-1]],y)>=0;)o-=1,f.pop();f.push(d)}for(var b=new Array(f.length+p.length-2),M=0,s=0,A=p.length;s0;--E)b[M++]=f[E];return b}},351:function(l,e,t){"use strict";l.exports=r;var a=t(4687);function r(n,i){i||(i=n,n=window);var s=0,c=0,p=0,f={shift:!1,alt:!1,control:!1,meta:!1},d=!1;function y(_){var D=!1;return"altKey"in _&&(D=D||_.altKey!==f.alt,f.alt=!!_.altKey),"shiftKey"in _&&(D=D||_.shiftKey!==f.shift,f.shift=!!_.shiftKey),"ctrlKey"in _&&(D=D||_.ctrlKey!==f.control,f.control=!!_.ctrlKey),"metaKey"in _&&(D=D||_.metaKey!==f.meta,f.meta=!!_.metaKey),D}function o(_,D){var C=a.x(D),F=a.y(D);"buttons"in D&&(_=D.buttons|0),(_!==s||C!==c||F!==p||y(D))&&(s=_|0,c=C||0,p=F||0,i&&i(s,c,p,f))}function b(_){o(0,_)}function M(){(s||c||p||f.shift||f.alt||f.meta||f.control)&&(c=p=0,s=0,f.shift=f.alt=f.control=f.meta=!1,i&&i(0,0,0,f))}function A(_){y(_)&&i&&i(s,c,p,f)}function E(_){a.buttons(_)===0?o(0,_):o(s,_)}function g(_){o(s|a.buttons(_),_)}function T(_){o(s&~a.buttons(_),_)}function m(){d||(d=!0,n.addEventListener("mousemove",E),n.addEventListener("mousedown",g),n.addEventListener("mouseup",T),n.addEventListener("mouseleave",b),n.addEventListener("mouseenter",b),n.addEventListener("mouseout",b),n.addEventListener("mouseover",b),n.addEventListener("blur",M),n.addEventListener("keyup",A),n.addEventListener("keydown",A),n.addEventListener("keypress",A),n!==window&&(window.addEventListener("blur",M),window.addEventListener("keyup",A),window.addEventListener("keydown",A),window.addEventListener("keypress",A)))}function h(){d&&(d=!1,n.removeEventListener("mousemove",E),n.removeEventListener("mousedown",g),n.removeEventListener("mouseup",T),n.removeEventListener("mouseleave",b),n.removeEventListener("mouseenter",b),n.removeEventListener("mouseout",b),n.removeEventListener("mouseover",b),n.removeEventListener("blur",M),n.removeEventListener("keyup",A),n.removeEventListener("keydown",A),n.removeEventListener("keypress",A),n!==window&&(window.removeEventListener("blur",M),window.removeEventListener("keyup",A),window.removeEventListener("keydown",A),window.removeEventListener("keypress",A)))}m();var x={element:n};return Object.defineProperties(x,{enabled:{get:function(){return d},set:function(_){_?m():h()},enumerable:!0},buttons:{get:function(){return s},enumerable:!0},x:{get:function(){return c},enumerable:!0},y:{get:function(){return p},enumerable:!0},mods:{get:function(){return f},enumerable:!0}}),x}},24:function(l){var e={left:0,top:0};l.exports=t;function t(r,n,i){n=n||r.currentTarget||r.srcElement,Array.isArray(i)||(i=[0,0]);var s=r.clientX||0,c=r.clientY||0,p=a(n);return i[0]=s-p.left,i[1]=c-p.top,i}function a(r){return r===window||r===document||r===document.body?e:r.getBoundingClientRect()}},4687:function(l,e){"use strict";function t(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(ee=1,j[K++]=f(m[D],M,A,E),D+=N,g>0)for(Y=1,C=m[D],H=j[K]=f(C,M,A,E),$=j[K+Z],ue=j[K+Q],Te=j[K+pe],(H!==$||H!==ue||H!==Te)&&(I=m[D+F],R=m[D+z],B=m[D+k],c(Y,ee,C,I,R,B,H,$,ue,Te,M,A,E),Se=G[K]=te++),K+=1,D+=N,Y=2;Y0)for(Y=1,C=m[D],H=j[K]=f(C,M,A,E),$=j[K+Z],ue=j[K+Q],Te=j[K+pe],(H!==$||H!==ue||H!==Te)&&(I=m[D+F],R=m[D+z],B=m[D+k],c(Y,ee,C,I,R,B,H,$,ue,Te,M,A,E),Se=G[K]=te++,Te!==ue&&p(G[K+Q],Se,R,B,ue,Te,M,A,E)),K+=1,D+=N,Y=2;Y0){if(Y=1,j[K++]=f(m[D],M,A,E),D+=N,T>0)for(ee=1,C=m[D],H=j[K]=f(C,M,A,E),ue=j[K+Q],$=j[K+Z],Te=j[K+pe],(H!==ue||H!==$||H!==Te)&&(I=m[D+F],R=m[D+z],B=m[D+k],c(Y,ee,C,I,R,B,H,ue,$,Te,M,A,E),Se=G[K]=te++),K+=1,D+=N,ee=2;ee0)for(ee=1,C=m[D],H=j[K]=f(C,M,A,E),ue=j[K+Q],$=j[K+Z],Te=j[K+pe],(H!==ue||H!==$||H!==Te)&&(I=m[D+F],R=m[D+z],B=m[D+k],c(Y,ee,C,I,R,B,H,ue,$,Te,M,A,E),Se=G[K]=te++,Te!==ue&&p(G[K+Q],Se,B,I,Te,ue,M,A,E)),K+=1,D+=N,ee=2;ee 0"),typeof s.vertex!="function"&&c("Must specify vertex creation function"),typeof s.cell!="function"&&c("Must specify cell creation function"),typeof s.phase!="function"&&c("Must specify phase function");for(var y=s.getters||[],o=new Array(f),b=0;b=0?o[b]=!0:o[b]=!1;return n(s.vertex,s.cell,s.phase,d,p,o)}},6199:function(l,e,t){"use strict";var a=t(1338),r={zero:function(E,g,T,m){var h=E[0],x=T[0];m|=0;var _=0,D=x;for(_=0;_2&&_[1]>2&&m(x.pick(-1,-1).lo(1,1).hi(_[0]-2,_[1]-2),h.pick(-1,-1,0).lo(1,1).hi(_[0]-2,_[1]-2),h.pick(-1,-1,1).lo(1,1).hi(_[0]-2,_[1]-2)),_[1]>2&&(T(x.pick(0,-1).lo(1).hi(_[1]-2),h.pick(0,-1,1).lo(1).hi(_[1]-2)),g(h.pick(0,-1,0).lo(1).hi(_[1]-2))),_[1]>2&&(T(x.pick(_[0]-1,-1).lo(1).hi(_[1]-2),h.pick(_[0]-1,-1,1).lo(1).hi(_[1]-2)),g(h.pick(_[0]-1,-1,0).lo(1).hi(_[1]-2))),_[0]>2&&(T(x.pick(-1,0).lo(1).hi(_[0]-2),h.pick(-1,0,0).lo(1).hi(_[0]-2)),g(h.pick(-1,0,1).lo(1).hi(_[0]-2))),_[0]>2&&(T(x.pick(-1,_[1]-1).lo(1).hi(_[0]-2),h.pick(-1,_[1]-1,0).lo(1).hi(_[0]-2)),g(h.pick(-1,_[1]-1,1).lo(1).hi(_[0]-2))),h.set(0,0,0,0),h.set(0,0,1,0),h.set(_[0]-1,0,0,0),h.set(_[0]-1,0,1,0),h.set(0,_[1]-1,0,0),h.set(0,_[1]-1,1,0),h.set(_[0]-1,_[1]-1,0,0),h.set(_[0]-1,_[1]-1,1,0),h}}function A(E){var g=E.join(),_=f[g];if(_)return _;for(var T=E.length,m=[y,o],h=1;h<=T;++h)m.push(b(h));var x=M,_=x.apply(void 0,m);return f[g]=_,_}l.exports=function(g,T,m){if(Array.isArray(m)||(typeof m=="string"?m=a(T.dimension,m):m=a(T.dimension,"clamp")),T.size===0)return g;if(T.dimension===0)return g.set(0),g;var h=A(m);return h(g,T)}},4317:function(l){"use strict";function e(i,s){var c=Math.floor(s),p=s-c,f=0<=c&&c0;){R<64?(g=R,R=0):(g=64,R-=64);for(var k=f[1]|0;k>0;){k<64?(T=k,k=0):(T=64,k-=64),o=I+R*h+k*x,A=z+R*D+k*C;var B=0,N=0,q=0,Y=_,ee=h-m*_,te=x-g*h,ae=F,j=D-m*F,G=C-g*D;for(q=0;q0;){C<64?(g=C,C=0):(g=64,C-=64);for(var F=f[0]|0;F>0;){F<64?(E=F,F=0):(E=64,F-=64),o=_+C*m+F*T,A=D+C*x+F*h;var I=0,z=0,R=m,k=T-g*m,B=x,N=h-g*x;for(z=0;z0;){z<64?(T=z,z=0):(T=64,z-=64);for(var R=f[0]|0;R>0;){R<64?(E=R,R=0):(E=64,R-=64);for(var k=f[1]|0;k>0;){k<64?(g=k,k=0):(g=64,k-=64),o=F+z*x+R*m+k*h,A=I+z*C+R*_+k*D;var B=0,N=0,q=0,Y=x,ee=m-T*x,te=h-E*m,ae=C,j=_-T*C,G=D-E*_;for(q=0;qb;){B=0,N=I-g;t:for(R=0;RY)break t;N+=_,B+=D}for(B=I,N=I-g,R=0;R>1,k=R-F,B=R+F,N=I,q=k,Y=R,ee=B,te=z,ae=M+1,j=A-1,G=!0,K,H,Z,X,$,Q,re,ue,pe,ge=0,Te=0,Se=0,Ce,Ue,Oe,_e,ce,ie,se,ne,be,De,qe,Ne,ut,ot,yt,At,It=x,Zt=y(It),vr=y(It);Ue=T*N,Oe=T*q,At=g;e:for(Ce=0;Ce0){H=N,N=q,q=H;break e}if(Se<0)break e;At+=D}Ue=T*ee,Oe=T*te,At=g;e:for(Ce=0;Ce0){H=ee,ee=te,te=H;break e}if(Se<0)break e;At+=D}Ue=T*N,Oe=T*Y,At=g;e:for(Ce=0;Ce0){H=N,N=Y,Y=H;break e}if(Se<0)break e;At+=D}Ue=T*q,Oe=T*Y,At=g;e:for(Ce=0;Ce0){H=q,q=Y,Y=H;break e}if(Se<0)break e;At+=D}Ue=T*N,Oe=T*ee,At=g;e:for(Ce=0;Ce0){H=N,N=ee,ee=H;break e}if(Se<0)break e;At+=D}Ue=T*Y,Oe=T*ee,At=g;e:for(Ce=0;Ce0){H=Y,Y=ee,ee=H;break e}if(Se<0)break e;At+=D}Ue=T*q,Oe=T*te,At=g;e:for(Ce=0;Ce0){H=q,q=te,te=H;break e}if(Se<0)break e;At+=D}Ue=T*q,Oe=T*Y,At=g;e:for(Ce=0;Ce0){H=q,q=Y,Y=H;break e}if(Se<0)break e;At+=D}Ue=T*ee,Oe=T*te,At=g;e:for(Ce=0;Ce0){H=ee,ee=te,te=H;break e}if(Se<0)break e;At+=D}for(Ue=T*N,Oe=T*q,_e=T*Y,ce=T*ee,ie=T*te,se=T*I,ne=T*R,be=T*z,yt=0,At=g,Ce=0;Ce0)j--;else if(Se<0){for(Ue=T*Q,Oe=T*ae,_e=T*j,At=g,Ce=0;Ce0)for(;;){re=g+j*T,yt=0;e:for(Ce=0;Ce0){if(--jz){e:for(;;){for(re=g+ae*T,yt=0,At=g,Ce=0;Ce1&&b?A(o,b[0],b[1]):A(o)}var p={"uint32,1,0":function(d,y){return function(o){var b=o.data,M=o.offset|0,A=o.shape,E=o.stride,g=E[0]|0,T=A[0]|0,m=E[1]|0,h=A[1]|0,x=m,_=m,D=1;T<=32?d(0,T-1,b,M,g,m,T,h,x,_,D):y(0,T-1,b,M,g,m,T,h,x,_,D)}}};function f(d,y){var o=[y,d].join(","),b=p[o],M=i(d,y),A=c(d,y,M);return b(M,A)}l.exports=f},446:function(l,e,t){"use strict";var a=t(7640),r={};function n(i){var s=i.order,c=i.dtype,p=[s,c],f=p.join(":"),d=r[f];return d||(r[f]=d=a(s,c)),d(i),i}l.exports=n},9618:function(l,e,t){var a=t(7163),r=typeof Float64Array<"u";function n(y,o){return y[0]-o[0]}function i(){var y=this.stride,o=new Array(y.length),b;for(b=0;b=0&&(m=g|0,T+=x*m,h-=m),new M(this.data,h,x,T)},A.step=function(g){var T=this.shape[0],m=this.stride[0],h=this.offset,x=0,_=Math.ceil;return typeof g=="number"&&(x=g|0,x<0?(h+=m*(T-1),T=_(-T/x)):T=_(T/x),m*=x),new M(this.data,T,m,h)},A.transpose=function(g){g=g===void 0?0:g|0;var T=this.shape,m=this.stride;return new M(this.data,T[g],m[g],this.offset)},A.pick=function(g){var T=[],m=[],h=this.offset;typeof g=="number"&&g>=0?h=h+this.stride[0]*g|0:(T.push(this.shape[0]),m.push(this.stride[0]));var x=o[T.length+1];return x(this.data,T,m,h)},function(g,T,m,h){return new M(g,T[0],m[0],h)}},2:function(y,o,b){function M(E,g,T,m,h,x){this.data=E,this.shape=[g,T],this.stride=[m,h],this.offset=x|0}var A=M.prototype;return A.dtype=y,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,T,m){return y==="generic"?this.data.set(this.offset+this.stride[0]*g+this.stride[1]*T,m):this.data[this.offset+this.stride[0]*g+this.stride[1]*T]=m},A.get=function(g,T){return y==="generic"?this.data.get(this.offset+this.stride[0]*g+this.stride[1]*T):this.data[this.offset+this.stride[0]*g+this.stride[1]*T]},A.index=function(g,T){return this.offset+this.stride[0]*g+this.stride[1]*T},A.hi=function(g,T){return new M(this.data,typeof g!="number"||g<0?this.shape[0]:g|0,typeof T!="number"||T<0?this.shape[1]:T|0,this.stride[0],this.stride[1],this.offset)},A.lo=function(g,T){var m=this.offset,h=0,x=this.shape[0],_=this.shape[1],D=this.stride[0],C=this.stride[1];return typeof g=="number"&&g>=0&&(h=g|0,m+=D*h,x-=h),typeof T=="number"&&T>=0&&(h=T|0,m+=C*h,_-=h),new M(this.data,x,_,D,C,m)},A.step=function(g,T){var m=this.shape[0],h=this.shape[1],x=this.stride[0],_=this.stride[1],D=this.offset,C=0,F=Math.ceil;return typeof g=="number"&&(C=g|0,C<0?(D+=x*(m-1),m=F(-m/C)):m=F(m/C),x*=C),typeof T=="number"&&(C=T|0,C<0?(D+=_*(h-1),h=F(-h/C)):h=F(h/C),_*=C),new M(this.data,m,h,x,_,D)},A.transpose=function(g,T){g=g===void 0?0:g|0,T=T===void 0?1:T|0;var m=this.shape,h=this.stride;return new M(this.data,m[g],m[T],h[g],h[T],this.offset)},A.pick=function(g,T){var m=[],h=[],x=this.offset;typeof g=="number"&&g>=0?x=x+this.stride[0]*g|0:(m.push(this.shape[0]),h.push(this.stride[0])),typeof T=="number"&&T>=0?x=x+this.stride[1]*T|0:(m.push(this.shape[1]),h.push(this.stride[1]));var _=o[m.length+1];return _(this.data,m,h,x)},function(g,T,m,h){return new M(g,T[0],T[1],m[0],m[1],h)}},3:function(y,o,b){function M(E,g,T,m,h,x,_,D){this.data=E,this.shape=[g,T,m],this.stride=[h,x,_],this.offset=D|0}var A=M.prototype;return A.dtype=y,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]),T=Math.abs(this.stride[1]),m=Math.abs(this.stride[2]);return g>T?T>m?[2,1,0]:g>m?[1,2,0]:[1,0,2]:g>m?[2,0,1]:m>T?[0,1,2]:[0,2,1]}}),A.set=function(g,T,m,h){return y==="generic"?this.data.set(this.offset+this.stride[0]*g+this.stride[1]*T+this.stride[2]*m,h):this.data[this.offset+this.stride[0]*g+this.stride[1]*T+this.stride[2]*m]=h},A.get=function(g,T,m){return y==="generic"?this.data.get(this.offset+this.stride[0]*g+this.stride[1]*T+this.stride[2]*m):this.data[this.offset+this.stride[0]*g+this.stride[1]*T+this.stride[2]*m]},A.index=function(g,T,m){return this.offset+this.stride[0]*g+this.stride[1]*T+this.stride[2]*m},A.hi=function(g,T,m){return new M(this.data,typeof g!="number"||g<0?this.shape[0]:g|0,typeof T!="number"||T<0?this.shape[1]:T|0,typeof m!="number"||m<0?this.shape[2]:m|0,this.stride[0],this.stride[1],this.stride[2],this.offset)},A.lo=function(g,T,m){var h=this.offset,x=0,_=this.shape[0],D=this.shape[1],C=this.shape[2],F=this.stride[0],I=this.stride[1],z=this.stride[2];return typeof g=="number"&&g>=0&&(x=g|0,h+=F*x,_-=x),typeof T=="number"&&T>=0&&(x=T|0,h+=I*x,D-=x),typeof m=="number"&&m>=0&&(x=m|0,h+=z*x,C-=x),new M(this.data,_,D,C,F,I,z,h)},A.step=function(g,T,m){var h=this.shape[0],x=this.shape[1],_=this.shape[2],D=this.stride[0],C=this.stride[1],F=this.stride[2],I=this.offset,z=0,R=Math.ceil;return typeof g=="number"&&(z=g|0,z<0?(I+=D*(h-1),h=R(-h/z)):h=R(h/z),D*=z),typeof T=="number"&&(z=T|0,z<0?(I+=C*(x-1),x=R(-x/z)):x=R(x/z),C*=z),typeof m=="number"&&(z=m|0,z<0?(I+=F*(_-1),_=R(-_/z)):_=R(_/z),F*=z),new M(this.data,h,x,_,D,C,F,I)},A.transpose=function(g,T,m){g=g===void 0?0:g|0,T=T===void 0?1:T|0,m=m===void 0?2:m|0;var h=this.shape,x=this.stride;return new M(this.data,h[g],h[T],h[m],x[g],x[T],x[m],this.offset)},A.pick=function(g,T,m){var h=[],x=[],_=this.offset;typeof g=="number"&&g>=0?_=_+this.stride[0]*g|0:(h.push(this.shape[0]),x.push(this.stride[0])),typeof T=="number"&&T>=0?_=_+this.stride[1]*T|0:(h.push(this.shape[1]),x.push(this.stride[1])),typeof m=="number"&&m>=0?_=_+this.stride[2]*m|0:(h.push(this.shape[2]),x.push(this.stride[2]));var D=o[h.length+1];return D(this.data,h,x,_)},function(g,T,m,h){return new M(g,T[0],T[1],T[2],m[0],m[1],m[2],h)}},4:function(y,o,b){function M(E,g,T,m,h,x,_,D,C,F){this.data=E,this.shape=[g,T,m,h],this.stride=[x,_,D,C],this.offset=F|0}var A=M.prototype;return A.dtype=y,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:b}),A.set=function(g,T,m,h,x){return y==="generic"?this.data.set(this.offset+this.stride[0]*g+this.stride[1]*T+this.stride[2]*m+this.stride[3]*h,x):this.data[this.offset+this.stride[0]*g+this.stride[1]*T+this.stride[2]*m+this.stride[3]*h]=x},A.get=function(g,T,m,h){return y==="generic"?this.data.get(this.offset+this.stride[0]*g+this.stride[1]*T+this.stride[2]*m+this.stride[3]*h):this.data[this.offset+this.stride[0]*g+this.stride[1]*T+this.stride[2]*m+this.stride[3]*h]},A.index=function(g,T,m,h){return this.offset+this.stride[0]*g+this.stride[1]*T+this.stride[2]*m+this.stride[3]*h},A.hi=function(g,T,m,h){return new M(this.data,typeof g!="number"||g<0?this.shape[0]:g|0,typeof T!="number"||T<0?this.shape[1]:T|0,typeof m!="number"||m<0?this.shape[2]:m|0,typeof h!="number"||h<0?this.shape[3]:h|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},A.lo=function(g,T,m,h){var x=this.offset,_=0,D=this.shape[0],C=this.shape[1],F=this.shape[2],I=this.shape[3],z=this.stride[0],R=this.stride[1],k=this.stride[2],B=this.stride[3];return typeof g=="number"&&g>=0&&(_=g|0,x+=z*_,D-=_),typeof T=="number"&&T>=0&&(_=T|0,x+=R*_,C-=_),typeof m=="number"&&m>=0&&(_=m|0,x+=k*_,F-=_),typeof h=="number"&&h>=0&&(_=h|0,x+=B*_,I-=_),new M(this.data,D,C,F,I,z,R,k,B,x)},A.step=function(g,T,m,h){var x=this.shape[0],_=this.shape[1],D=this.shape[2],C=this.shape[3],F=this.stride[0],I=this.stride[1],z=this.stride[2],R=this.stride[3],k=this.offset,B=0,N=Math.ceil;return typeof g=="number"&&(B=g|0,B<0?(k+=F*(x-1),x=N(-x/B)):x=N(x/B),F*=B),typeof T=="number"&&(B=T|0,B<0?(k+=I*(_-1),_=N(-_/B)):_=N(_/B),I*=B),typeof m=="number"&&(B=m|0,B<0?(k+=z*(D-1),D=N(-D/B)):D=N(D/B),z*=B),typeof h=="number"&&(B=h|0,B<0?(k+=R*(C-1),C=N(-C/B)):C=N(C/B),R*=B),new M(this.data,x,_,D,C,F,I,z,R,k)},A.transpose=function(g,T,m,h){g=g===void 0?0:g|0,T=T===void 0?1:T|0,m=m===void 0?2:m|0,h=h===void 0?3:h|0;var x=this.shape,_=this.stride;return new M(this.data,x[g],x[T],x[m],x[h],_[g],_[T],_[m],_[h],this.offset)},A.pick=function(g,T,m,h){var x=[],_=[],D=this.offset;typeof g=="number"&&g>=0?D=D+this.stride[0]*g|0:(x.push(this.shape[0]),_.push(this.stride[0])),typeof T=="number"&&T>=0?D=D+this.stride[1]*T|0:(x.push(this.shape[1]),_.push(this.stride[1])),typeof m=="number"&&m>=0?D=D+this.stride[2]*m|0:(x.push(this.shape[2]),_.push(this.stride[2])),typeof h=="number"&&h>=0?D=D+this.stride[3]*h|0:(x.push(this.shape[3]),_.push(this.stride[3]));var C=o[x.length+1];return C(this.data,x,_,D)},function(g,T,m,h){return new M(g,T[0],T[1],T[2],T[3],m[0],m[1],m[2],m[3],h)}},5:function(o,b,M){function A(g,T,m,h,x,_,D,C,F,I,z,R){this.data=g,this.shape=[T,m,h,x,_],this.stride=[D,C,F,I,z],this.offset=R|0}var E=A.prototype;return E.dtype=o,E.dimension=5,Object.defineProperty(E,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(E,"order",{get:M}),E.set=function(T,m,h,x,_,D){return o==="generic"?this.data.set(this.offset+this.stride[0]*T+this.stride[1]*m+this.stride[2]*h+this.stride[3]*x+this.stride[4]*_,D):this.data[this.offset+this.stride[0]*T+this.stride[1]*m+this.stride[2]*h+this.stride[3]*x+this.stride[4]*_]=D},E.get=function(T,m,h,x,_){return o==="generic"?this.data.get(this.offset+this.stride[0]*T+this.stride[1]*m+this.stride[2]*h+this.stride[3]*x+this.stride[4]*_):this.data[this.offset+this.stride[0]*T+this.stride[1]*m+this.stride[2]*h+this.stride[3]*x+this.stride[4]*_]},E.index=function(T,m,h,x,_){return this.offset+this.stride[0]*T+this.stride[1]*m+this.stride[2]*h+this.stride[3]*x+this.stride[4]*_},E.hi=function(T,m,h,x,_){return new A(this.data,typeof T!="number"||T<0?this.shape[0]:T|0,typeof m!="number"||m<0?this.shape[1]:m|0,typeof h!="number"||h<0?this.shape[2]:h|0,typeof x!="number"||x<0?this.shape[3]:x|0,typeof _!="number"||_<0?this.shape[4]:_|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},E.lo=function(T,m,h,x,_){var D=this.offset,C=0,F=this.shape[0],I=this.shape[1],z=this.shape[2],R=this.shape[3],k=this.shape[4],B=this.stride[0],N=this.stride[1],q=this.stride[2],Y=this.stride[3],ee=this.stride[4];return typeof T=="number"&&T>=0&&(C=T|0,D+=B*C,F-=C),typeof m=="number"&&m>=0&&(C=m|0,D+=N*C,I-=C),typeof h=="number"&&h>=0&&(C=h|0,D+=q*C,z-=C),typeof x=="number"&&x>=0&&(C=x|0,D+=Y*C,R-=C),typeof _=="number"&&_>=0&&(C=_|0,D+=ee*C,k-=C),new A(this.data,F,I,z,R,k,B,N,q,Y,ee,D)},E.step=function(T,m,h,x,_){var D=this.shape[0],C=this.shape[1],F=this.shape[2],I=this.shape[3],z=this.shape[4],R=this.stride[0],k=this.stride[1],B=this.stride[2],N=this.stride[3],q=this.stride[4],Y=this.offset,ee=0,te=Math.ceil;return typeof T=="number"&&(ee=T|0,ee<0?(Y+=R*(D-1),D=te(-D/ee)):D=te(D/ee),R*=ee),typeof m=="number"&&(ee=m|0,ee<0?(Y+=k*(C-1),C=te(-C/ee)):C=te(C/ee),k*=ee),typeof h=="number"&&(ee=h|0,ee<0?(Y+=B*(F-1),F=te(-F/ee)):F=te(F/ee),B*=ee),typeof x=="number"&&(ee=x|0,ee<0?(Y+=N*(I-1),I=te(-I/ee)):I=te(I/ee),N*=ee),typeof _=="number"&&(ee=_|0,ee<0?(Y+=q*(z-1),z=te(-z/ee)):z=te(z/ee),q*=ee),new A(this.data,D,C,F,I,z,R,k,B,N,q,Y)},E.transpose=function(T,m,h,x,_){T=T===void 0?0:T|0,m=m===void 0?1:m|0,h=h===void 0?2:h|0,x=x===void 0?3:x|0,_=_===void 0?4:_|0;var D=this.shape,C=this.stride;return new A(this.data,D[T],D[m],D[h],D[x],D[_],C[T],C[m],C[h],C[x],C[_],this.offset)},E.pick=function(T,m,h,x,_){var D=[],C=[],F=this.offset;typeof T=="number"&&T>=0?F=F+this.stride[0]*T|0:(D.push(this.shape[0]),C.push(this.stride[0])),typeof m=="number"&&m>=0?F=F+this.stride[1]*m|0:(D.push(this.shape[1]),C.push(this.stride[1])),typeof h=="number"&&h>=0?F=F+this.stride[2]*h|0:(D.push(this.shape[2]),C.push(this.stride[2])),typeof x=="number"&&x>=0?F=F+this.stride[3]*x|0:(D.push(this.shape[3]),C.push(this.stride[3])),typeof _=="number"&&_>=0?F=F+this.stride[4]*_|0:(D.push(this.shape[4]),C.push(this.stride[4]));var I=b[D.length+1];return I(this.data,D,C,F)},function(T,m,h,x){return new A(T,m[0],m[1],m[2],m[3],m[4],h[0],h[1],h[2],h[3],h[4],x)}}};function c(y,o){var b=o===-1?"T":String(o),M=s[b];return o===-1?M(y):o===0?M(y,f[y][0]):M(y,f[y],i)}function p(y){if(a(y))return"buffer";if(r)switch(Object.prototype.toString.call(y)){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(y)?"array":"generic"}var f={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};function d(y,o,b,M){if(y===void 0){var h=f.array[0];return h([])}else typeof y=="number"&&(y=[y]);o===void 0&&(o=[y.length]);var A=o.length;if(b===void 0){b=new Array(A);for(var E=A-1,g=1;E>=0;--E)b[E]=g,g*=o[E]}if(M===void 0){M=0;for(var E=0;E>>0;l.exports=i;function i(s,c){if(isNaN(s)||isNaN(c))return NaN;if(s===c)return s;if(s===0)return c<0?-r:r;var p=a.hi(s),f=a.lo(s);return c>s==s>0?f===n?(p+=1,f=0):f+=1:f===0?(f=n,p-=1):f-=1,a.pack(f,p)}},8406:function(l,e){var t=1e-6,a=1e-6;e.vertexNormals=function(r,n,i){for(var s=n.length,c=new Array(s),p=i===void 0?t:i,f=0;fp)for(var D=c[o],C=1/Math.sqrt(m*x),_=0;_<3;++_){var F=(_+1)%3,I=(_+2)%3;D[_]+=C*(h[F]*T[I]-h[I]*T[F])}}for(var f=0;fp)for(var C=1/Math.sqrt(z),_=0;_<3;++_)D[_]*=C;else for(var _=0;_<3;++_)D[_]=0}return c},e.faceNormals=function(r,n,i){for(var s=r.length,c=new Array(s),p=i===void 0?a:i,f=0;fp?E=1/Math.sqrt(E):E=0;for(var o=0;o<3;++o)A[o]*=E;c[f]=A}return c}},4081:function(l){"use strict";l.exports=e;function e(t,a,r,n,i,s,c,p,f,d){var y=a+s+d;if(o>0){var o=Math.sqrt(y+1);t[0]=.5*(c-f)/o,t[1]=.5*(p-n)/o,t[2]=.5*(r-s)/o,t[3]=.5*o}else{var b=Math.max(a,s,d),o=Math.sqrt(2*b-y+1);a>=b?(t[0]=.5*o,t[1]=.5*(i+r)/o,t[2]=.5*(p+n)/o,t[3]=.5*(c-f)/o):s>=b?(t[0]=.5*(r+i)/o,t[1]=.5*o,t[2]=.5*(f+c)/o,t[3]=.5*(p-n)/o):(t[0]=.5*(n+p)/o,t[1]=.5*(c+f)/o,t[2]=.5*o,t[3]=.5*(r-i)/o)}return t}},9977:function(l,e,t){"use strict";l.exports=o;var a=t(9215),r=t(6582),n=t(7399),i=t(7608),s=t(4081);function c(b,M,A){return Math.sqrt(Math.pow(b,2)+Math.pow(M,2)+Math.pow(A,2))}function p(b,M,A,E){return Math.sqrt(Math.pow(b,2)+Math.pow(M,2)+Math.pow(A,2)+Math.pow(E,2))}function f(b,M){var A=M[0],E=M[1],g=M[2],T=M[3],m=p(A,E,g,T);m>1e-6?(b[0]=A/m,b[1]=E/m,b[2]=g/m,b[3]=T/m):(b[0]=b[1]=b[2]=0,b[3]=1)}function d(b,M,A){this.radius=a([A]),this.center=a(M),this.rotation=a(b),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 y=d.prototype;y.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},y.recalcMatrix=function(b){this.radius.curve(b),this.center.curve(b),this.rotation.curve(b);var M=this.computedRotation;f(M,M);var A=this.computedMatrix;n(A,M);var E=this.computedCenter,g=this.computedEye,T=this.computedUp,m=Math.exp(this.computedRadius[0]);g[0]=E[0]+m*A[2],g[1]=E[1]+m*A[6],g[2]=E[2]+m*A[10],T[0]=A[1],T[1]=A[5],T[2]=A[9];for(var h=0;h<3;++h){for(var x=0,_=0;_<3;++_)x+=A[h+4*_]*g[_];A[12+h]=-x}},y.getMatrix=function(b,M){this.recalcMatrix(b);var A=this.computedMatrix;if(M){for(var E=0;E<16;++E)M[E]=A[E];return M}return A},y.idle=function(b){this.center.idle(b),this.radius.idle(b),this.rotation.idle(b)},y.flush=function(b){this.center.flush(b),this.radius.flush(b),this.rotation.flush(b)},y.pan=function(b,M,A,E){M=M||0,A=A||0,E=E||0,this.recalcMatrix(b);var g=this.computedMatrix,T=g[1],m=g[5],h=g[9],x=c(T,m,h);T/=x,m/=x,h/=x;var _=g[0],D=g[4],C=g[8],F=_*T+D*m+C*h;_-=T*F,D-=m*F,C-=h*F;var I=c(_,D,C);_/=I,D/=I,C/=I;var z=g[2],R=g[6],k=g[10],B=z*T+R*m+k*h,N=z*_+R*D+k*C;z-=B*T+N*_,R-=B*m+N*D,k-=B*h+N*C;var q=c(z,R,k);z/=q,R/=q,k/=q;var Y=_*M+T*A,ee=D*M+m*A,te=C*M+h*A;this.center.move(b,Y,ee,te);var ae=Math.exp(this.computedRadius[0]);ae=Math.max(1e-4,ae+E),this.radius.set(b,Math.log(ae))},y.rotate=function(b,M,A,E){this.recalcMatrix(b),M=M||0,A=A||0;var g=this.computedMatrix,T=g[0],m=g[4],h=g[8],x=g[1],_=g[5],D=g[9],C=g[2],F=g[6],I=g[10],z=M*T+A*x,R=M*m+A*_,k=M*h+A*D,B=-(F*k-I*R),N=-(I*z-C*k),q=-(C*R-F*z),Y=Math.sqrt(Math.max(0,1-Math.pow(B,2)-Math.pow(N,2)-Math.pow(q,2))),ee=p(B,N,q,Y);ee>1e-6?(B/=ee,N/=ee,q/=ee,Y/=ee):(B=N=q=0,Y=1);var te=this.computedRotation,ae=te[0],j=te[1],G=te[2],K=te[3],H=ae*Y+K*B+j*q-G*N,Z=j*Y+K*N+G*B-ae*q,X=G*Y+K*q+ae*N-j*B,$=K*Y-ae*B-j*N-G*q;if(E){B=C,N=F,q=I;var Q=Math.sin(E)/c(B,N,q);B*=Q,N*=Q,q*=Q,Y=Math.cos(M),H=H*Y+$*B+Z*q-X*N,Z=Z*Y+$*N+X*B-H*q,X=X*Y+$*q+H*N-Z*B,$=$*Y-H*B-Z*N-X*q}var re=p(H,Z,X,$);re>1e-6?(H/=re,Z/=re,X/=re,$/=re):(H=Z=X=0,$=1),this.rotation.set(b,H,Z,X,$)},y.lookAt=function(b,M,A,E){this.recalcMatrix(b),A=A||this.computedCenter,M=M||this.computedEye,E=E||this.computedUp;var g=this.computedMatrix;r(g,M,A,E);var T=this.computedRotation;s(T,g[0],g[1],g[2],g[4],g[5],g[6],g[8],g[9],g[10]),f(T,T),this.rotation.set(b,T[0],T[1],T[2],T[3]);for(var m=0,h=0;h<3;++h)m+=Math.pow(A[h]-M[h],2);this.radius.set(b,.5*Math.log(Math.max(m,1e-6))),this.center.set(b,A[0],A[1],A[2])},y.translate=function(b,M,A,E){this.center.move(b,M||0,A||0,E||0)},y.setMatrix=function(b,M){var A=this.computedRotation;s(A,M[0],M[1],M[2],M[4],M[5],M[6],M[8],M[9],M[10]),f(A,A),this.rotation.set(b,A[0],A[1],A[2],A[3]);var E=this.computedMatrix;i(E,M);var g=E[15];if(Math.abs(g)>1e-6){var T=E[12]/g,m=E[13]/g,h=E[14]/g;this.recalcMatrix(b);var x=Math.exp(this.computedRadius[0]);this.center.set(b,T-E[2]*x,m-E[6]*x,h-E[10]*x),this.radius.idle(b)}else this.center.idle(b),this.radius.idle(b)},y.setDistance=function(b,M){M>0&&this.radius.set(b,Math.log(M))},y.setDistanceLimits=function(b,M){b>0?b=Math.log(b):b=-1/0,M>0?M=Math.log(M):M=1/0,M=Math.max(M,b),this.radius.bounds[0][0]=b,this.radius.bounds[1][0]=M},y.getDistanceLimits=function(b){var M=this.radius.bounds;return b?(b[0]=Math.exp(M[0][0]),b[1]=Math.exp(M[1][0]),b):[Math.exp(M[0][0]),Math.exp(M[1][0])]},y.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]}},y.fromJSON=function(b){var M=this.lastT(),A=b.center;A&&this.center.set(M,A[0],A[1],A[2]);var E=b.rotation;E&&this.rotation.set(M,E[0],E[1],E[2],E[3]);var g=b.distance;g&&g>0&&this.radius.set(M,Math.log(g)),this.setDistanceLimits(b.zoomMin,b.zoomMax)};function o(b){b=b||{};var M=b.center||[0,0,0],A=b.rotation||[0,0,0,1],E=b.radius||1;M=[].slice.call(M,0,3),A=[].slice.call(A,0,4),f(A,A);var g=new d(A,M,Math.log(E));return g.setDistanceLimits(b.zoomMin,b.zoomMax),("eye"in b||"up"in b)&&g.lookAt(0,b.eye,b.center,b.up),g}},1371:function(l,e,t){"use strict";var a=t(3233);l.exports=function(n,i,s){return s=typeof s<"u"?s+"":" ",a(s,i)+n}},3202:function(l){l.exports=function(t,a){a||(a=[0,""]),t=String(t);var r=parseFloat(t,10);return a[0]=r,a[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",a}},3088:function(l,e,t){"use strict";l.exports=r;var a=t(3140);function r(n,i){for(var s=i.length|0,c=n.length,p=[new Array(s),new Array(s)],f=0;f0){D=p[I][x][0],F=I;break}C=D[F^1];for(var z=0;z<2;++z)for(var R=p[z][x],k=0;k0&&(D=B,C=N,F=z)}return _||D&&o(D,F),C}function M(h,x){var _=p[x][h][0],D=[h];o(_,x);for(var C=_[x^1],F=x;;){for(;C!==h;)D.push(C),C=b(D[D.length-2],C,!1);if(p[0][h].length+p[1][h].length===0)break;var I=D[D.length-1],z=h,R=D[1],k=b(I,z,!0);if(a(i[I],i[z],i[R],i[k])<0)break;D.push(h),C=b(I,z)}return D}function A(h,x){return x[1]===x[x.length-1]}for(var f=0;f0;){var T=p[0][f].length,m=M(f,E);A(g,m)?g.push.apply(g,m):(g.length>0&&y.push(g),g=m)}g.length>0&&y.push(g)}return y}},5609:function(l,e,t){"use strict";l.exports=r;var a=t(3134);function r(n,i){for(var s=a(n,i.length),c=new Array(i.length),p=new Array(i.length),f=[],d=0;d0;){var o=f.pop();c[o]=!1;for(var b=s[o],d=0;d0}T=T.filter(m);for(var h=T.length,x=new Array(h),_=new Array(h),g=0;g0;){var re=X.pop(),ue=ee[re];c(ue,function(Ce,Ue){return Ce-Ue});var pe=ue.length,ge=$[re],Te;if(ge===0){var R=T[re];Te=[R]}for(var g=0;g=0)&&($[Se]=ge^1,X.push(Se),ge===0)){var R=T[Se];Z(R)||(R.reverse(),Te.push(R))}}ge===0&&Q.push(Te)}return Q}},5085:function(l,e,t){l.exports=b;var a=t(3250)[3],r=t(4209),n=t(3352),i=t(2478);function s(){return!0}function c(M){return function(A,E){var g=M[A];return g?!!g.queryPoint(E,s):!1}}function p(M){for(var A={},E=0;E0&&A[g]===E[0])T=M[g-1];else return 1;for(var m=1;T;){var h=T.key,x=a(E,h[0],h[1]);if(h[0][0]0)m=-1,T=T.right;else return 0;else if(x>0)T=T.left;else if(x<0)m=1,T=T.right;else return 0}return m}}function d(M){return 1}function y(M){return function(E){return M(E[0],E[1])?0:1}}function o(M,A){return function(g){return M(g[0],g[1])?0:A(g)}}function b(M){for(var A=M.length,E=[],g=[],T=0,m=0;m=d?(h=1,_=d+2*b+A):(h=-b/d,_=b*h+A)):(h=0,M>=0?(x=0,_=A):-M>=o?(x=1,_=o+2*M+A):(x=-M/o,_=M*x+A));else if(x<0)x=0,b>=0?(h=0,_=A):-b>=d?(h=1,_=d+2*b+A):(h=-b/d,_=b*h+A);else{var D=1/m;h*=D,x*=D,_=h*(d*h+y*x+2*b)+x*(y*h+o*x+2*M)+A}else{var C,F,I,z;h<0?(C=y+b,F=o+M,F>C?(I=F-C,z=d-2*y+o,I>=z?(h=1,x=0,_=d+2*b+A):(h=I/z,x=1-h,_=h*(d*h+y*x+2*b)+x*(y*h+o*x+2*M)+A)):(h=0,F<=0?(x=1,_=o+2*M+A):M>=0?(x=0,_=A):(x=-M/o,_=M*x+A))):x<0?(C=y+M,F=d+b,F>C?(I=F-C,z=d-2*y+o,I>=z?(x=1,h=0,_=o+2*M+A):(x=I/z,h=1-x,_=h*(d*h+y*x+2*b)+x*(y*h+o*x+2*M)+A)):(x=0,F<=0?(h=1,_=d+2*b+A):b>=0?(h=0,_=A):(h=-b/d,_=b*h+A))):(I=o+M-y-b,I<=0?(h=0,x=1,_=o+2*M+A):(z=d-2*y+o,I>=z?(h=1,x=0,_=d+2*b+A):(h=I/z,x=1-h,_=h*(d*h+y*x+2*b)+x*(y*h+o*x+2*M)+A)))}for(var R=1-h-x,f=0;f0){var o=s[p-1];if(a(d,o)===0&&n(o)!==y){p-=1;continue}}s[p++]=d}}return s.length=p,s}},3233:function(l){"use strict";var e="",t;l.exports=a;function a(r,n){if(typeof r!="string")throw new TypeError("expected a string");if(n===1)return r;if(n===2)return r+r;var i=r.length*n;if(t!==r||typeof t>"u")t=r,e="";else if(e.length>=i)return e.substr(0,i);for(;i>e.length&&n>1;)n&1&&(e+=r),n>>=1,r+=r;return e+=r,e=e.substr(0,i),e}},3025:function(l,e,t){l.exports=t.g.performance&&t.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},7004:function(l){"use strict";l.exports=e;function e(t){for(var a=t.length,r=t[t.length-1],n=a,i=a-2;i>=0;--i){var s=r,c=t[i];r=s+c;var p=r-s,f=c-p;f&&(t[--n]=r,r=f)}for(var d=0,i=n;i0){if(F<=0)return I;z=C+F}else if(C<0){if(F>=0)return I;z=-(C+F)}else return I;var R=p*z;return I>=R||I<=-R?I:M(x,_,D)},function(x,_,D,C){var F=x[0]-C[0],I=_[0]-C[0],z=D[0]-C[0],R=x[1]-C[1],k=_[1]-C[1],B=D[1]-C[1],N=x[2]-C[2],q=_[2]-C[2],Y=D[2]-C[2],ee=I*B,te=z*k,ae=z*R,j=F*B,G=F*k,K=I*R,H=N*(ee-te)+q*(ae-j)+Y*(G-K),Z=(Math.abs(ee)+Math.abs(te))*Math.abs(N)+(Math.abs(ae)+Math.abs(j))*Math.abs(q)+(Math.abs(G)+Math.abs(K))*Math.abs(Y),X=f*Z;return H>X||-H>X?H:A(x,_,D,C)}];function g(h){var x=E[h.length];return x||(x=E[h.length]=b(h.length)),x.apply(void 0,h)}function T(h,x,_,D,C,F,I){return function(R,k,B,N,q){switch(arguments.length){case 0:case 1:return 0;case 2:return D(R,k);case 3:return C(R,k,B);case 4:return F(R,k,B,N);case 5:return I(R,k,B,N,q)}for(var Y=new Array(arguments.length),ee=0;ee0&&d>0||f<0&&d<0)return!1;var y=a(c,i,s),o=a(p,i,s);return y>0&&o>0||y<0&&o<0?!1:f===0&&d===0&&y===0&&o===0?r(i,s,c,p):!0}},8545:function(l){"use strict";l.exports=t;function e(a,r){var n=a+r,i=n-a,s=n-i,c=r-i,p=a-s,f=p+c;return f?[f,n]:[n]}function t(a,r){var n=a.length|0,i=r.length|0;if(n===1&&i===1)return e(a[0],-r[0]);var s=n+i,c=new Array(s),p=0,f=0,d=0,y=Math.abs,o=a[f],b=y(o),M=-r[d],A=y(M),E,g;b=i?(E=o,f+=1,f=i?(E=o,f+=1,f"u"&&(E=s(b));var g=b.length;if(g===0||E<1)return{cells:[],vertexIds:[],vertexWeights:[]};var T=c(M,+A),m=p(b,E),h=f(m,M,T,+A),x=d(m,M.length|0),_=i(E)(b,m.data,x,T),D=y(m),C=[].slice.call(h.data,0,h.shape[0]);return r.free(T),r.free(m.data),r.free(h.data),r.free(x),{cells:_,vertexIds:D,vertexWeights:C}}},1570:function(l){"use strict";l.exports=t;var e=[function(){function r(i,s,c,p){for(var f=Math.min(c,p)|0,d=Math.max(c,p)|0,y=i[2*f],o=i[2*f+1];y>1,M=s[2*b+1];if(M===d)return b;d>1,M=s[2*b+1];if(M===d)return b;d>1,M=s[2*b+1];if(M===d)return b;d>1,M=s[2*b+1];if(M===d)return b;d>1,z=p(x[I],_);z<=0?(z===0&&(F=I),D=I+1):z>0&&(C=I-1)}return F}a=o;function b(x,_){for(var D=new Array(x.length),C=0,F=D.length;C=x.length||p(x[ee],I)!==0););}return D}a=b;function M(x,_){if(!_)return b(y(E(x,0)),x,0);for(var D=new Array(_),C=0;C<_;++C)D[C]=[];for(var C=0,F=x.length;C>>B&1&&k.push(F[B]);_.push(k)}return d(_)}a=A;function E(x,_){if(_<0)return[];for(var D=[],C=(1<<_+1)-1,F=0;F0)-(n<0)},e.abs=function(n){var i=n>>t-1;return(n^i)-i},e.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},e.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},e.popCount=function(n){return n=n-(n>>>1&1431655765),n=(n&858993459)+(n>>>2&858993459),(n+(n>>>4)&252645135)*16843009>>>24};function a(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}e.countTrailingZeros=a,e.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},e.prevPow2=function(n){return n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n-(n>>>1)},e.parity=function(n){return n^=n>>>16,n^=n>>>8,n^=n>>>4,n&=15,27030>>>n&1};var r=new Array(256);(function(n){for(var i=0;i<256;++i){var s=i,c=i,p=7;for(s>>>=1;s;s>>>=1)c<<=1,c|=s&1,--p;n[i]=c<>>8&255]<<16|r[n>>>16&255]<<8|r[n>>>24&255]},e.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},e.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},e.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},e.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},e.nextCombination=function(n){var i=n|n-1;return i+1|(~i&-~i)-1>>>a(n)+1}},2014:function(l,e,t){"use strict";"use restrict";var a=t(3105),r=t(4623);function n(h){for(var x=0,_=Math.max,D=0,C=h.length;D>1,I=c(h[F],x);I<=0?(I===0&&(C=F),_=F+1):I>0&&(D=F-1)}return C}e.findCell=y;function o(h,x){for(var _=new Array(h.length),D=0,C=_.length;D=h.length||c(h[Y],F)!==0););}return _}e.incidence=o;function b(h,x){if(!x)return o(d(A(h,0)),h,0);for(var _=new Array(x),D=0;D>>k&1&&R.push(C[k]);x.push(R)}return f(x)}e.explode=M;function A(h,x){if(x<0)return[];for(var _=[],D=(1<>1:(j>>1)-1}function D(j){for(var G=x(j);;){var K=G,H=2*j+1,Z=2*(j+1),X=j;if(H0;){var K=_(j);if(K>=0){var H=x(K);if(G0){var j=R[0];return h(0,N-1),N-=1,D(0),j}return-1}function I(j,G){var K=R[j];return b[K]===G?j:(b[K]=-1/0,C(j),F(),b[K]=G,N+=1,C(N-1))}function z(j){if(!M[j]){M[j]=!0;var G=y[j],K=o[j];y[K]>=0&&(y[K]=G),o[G]>=0&&(o[G]=K),k[G]>=0&&I(k[G],m(G)),k[K]>=0&&I(k[K],m(K))}}for(var R=[],k=new Array(f),A=0;A>1;A>=0;--A)D(A);for(;;){var q=F();if(q<0||b[q]>p)break;z(q)}for(var Y=[],A=0;A=0&&K>=0&&G!==K){var H=k[G],Z=k[K];H!==Z&&ae.push([H,Z])}}),r.unique(r.normalize(ae)),{positions:Y,edges:ae}}},1303:function(l,e,t){"use strict";l.exports=n;var a=t(3250);function r(i,s){var c,p;if(s[0][0]s[1][0])c=s[1],p=s[0];else{var f=Math.min(i[0][1],i[1][1]),d=Math.max(i[0][1],i[1][1]),y=Math.min(s[0][1],s[1][1]),o=Math.max(s[0][1],s[1][1]);return do?f-o:d-o}var b,M;i[0][1]s[1][0])c=s[1],p=s[0];else return r(s,i);var f,d;if(i[0][0]i[1][0])f=i[1],d=i[0];else return-r(i,s);var y=a(c,p,d),o=a(c,p,f);if(y<0){if(o<=0)return y}else if(y>0){if(o>=0)return y}else if(o)return o;if(y=a(d,f,p),o=a(d,f,c),y<0){if(o<=0)return y}else if(y>0){if(o>=0)return y}else if(o)return o;return p[0]-d[0]}},4209:function(l,e,t){"use strict";l.exports=o;var a=t(2478),r=t(3840),n=t(3250),i=t(1303);function s(b,M,A){this.slabs=b,this.coordinates=M,this.horizontal=A}var c=s.prototype;function p(b,M){return b.y-M}function f(b,M){for(var A=null;b;){var E=b.key,g,T;E[0][0]0)if(M[0]!==E[1][0])A=b,b=b.right;else{var h=f(b.right,M);if(h)return h;b=b.left}else{if(M[0]!==E[1][0])return b;var h=f(b.right,M);if(h)return h;b=b.left}}return A}c.castUp=function(b){var M=a.le(this.coordinates,b[0]);if(M<0)return-1;var A=this.slabs[M],E=f(this.slabs[M],b),g=-1;if(E&&(g=E.value),this.coordinates[M]===b[0]){var T=null;if(E&&(T=E.key),M>0){var m=f(this.slabs[M-1],b);m&&(T?i(m.key,T)>0&&(T=m.key,g=m.value):(g=m.value,T=m.key))}var h=this.horizontal[M];if(h.length>0){var x=a.ge(h,b[1],p);if(x=h.length)return g;_=h[x]}}if(_.start)if(T){var D=n(T[0],T[1],[b[0],_.y]);T[0][0]>T[1][0]&&(D=-D),D>0&&(g=_.index)}else g=_.index;else _.y!==b[1]&&(g=_.index)}}}return g};function d(b,M,A,E){this.y=b,this.index=M,this.start=A,this.closed=E}function y(b,M,A,E){this.x=b,this.segment=M,this.create=A,this.index=E}function o(b){for(var M=b.length,A=2*M,E=new Array(A),g=0;g1&&(M=1);for(var A=1-M,E=f.length,g=new Array(E),T=0;T0||b>0&&g<0){var T=i(M,g,A,b);y.push(T),o.push(T.slice())}g<0?o.push(A.slice()):g>0?y.push(A.slice()):(y.push(A.slice()),o.push(A.slice())),b=g}return{positive:y,negative:o}}function c(f,d){for(var y=[],o=n(f[f.length-1],d),b=f[f.length-1],M=f[0],A=0;A0||o>0&&E<0)&&y.push(i(b,E,M,o)),E>=0&&y.push(M.slice()),o=E}return y}function p(f,d){for(var y=[],o=n(f[f.length-1],d),b=f[f.length-1],M=f[0],A=0;A0||o>0&&E<0)&&y.push(i(b,E,M,o)),E<=0&&y.push(M.slice()),o=E}return y}},3387:function(l,e,t){var a;(function(){"use strict";var r={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(f){return s(p(f),arguments)}function i(f,d){return n.apply(null,[f].concat(d||[]))}function s(f,d){var y=1,o=f.length,b,M="",A,E,g,T,m,h,x,_;for(A=0;A=0),g.type){case"b":b=parseInt(b,10).toString(2);break;case"c":b=String.fromCharCode(parseInt(b,10));break;case"d":case"i":b=parseInt(b,10);break;case"j":b=JSON.stringify(b,null,g.width?parseInt(g.width):0);break;case"e":b=g.precision?parseFloat(b).toExponential(g.precision):parseFloat(b).toExponential();break;case"f":b=g.precision?parseFloat(b).toFixed(g.precision):parseFloat(b);break;case"g":b=g.precision?String(Number(b.toPrecision(g.precision))):parseFloat(b);break;case"o":b=(parseInt(b,10)>>>0).toString(8);break;case"s":b=String(b),b=g.precision?b.substring(0,g.precision):b;break;case"t":b=String(!!b),b=g.precision?b.substring(0,g.precision):b;break;case"T":b=Object.prototype.toString.call(b).slice(8,-1).toLowerCase(),b=g.precision?b.substring(0,g.precision):b;break;case"u":b=parseInt(b,10)>>>0;break;case"v":b=b.valueOf(),b=g.precision?b.substring(0,g.precision):b;break;case"x":b=(parseInt(b,10)>>>0).toString(16);break;case"X":b=(parseInt(b,10)>>>0).toString(16).toUpperCase();break}r.json.test(g.type)?M+=b:(r.number.test(g.type)&&(!x||g.sign)?(_=x?"+":"-",b=b.toString().replace(r.sign,"")):_="",m=g.pad_char?g.pad_char==="0"?"0":g.pad_char.charAt(1):" ",h=g.width-(_+b).length,T=g.width&&h>0?m.repeat(h):"",M+=g.align?_+b+T:m==="0"?_+T+b:T+_+b)}return M}var c=Object.create(null);function p(f){if(c[f])return c[f];for(var d=f,y,o=[],b=0;d;){if((y=r.text.exec(d))!==null)o.push(y[0]);else if((y=r.modulo.exec(d))!==null)o.push("%");else if((y=r.placeholder.exec(d))!==null){if(y[2]){b|=1;var M=[],A=y[2],E=[];if((E=r.key.exec(A))!==null)for(M.push(E[1]);(A=A.substring(E[0].length))!=="";)if((E=r.key_access.exec(A))!==null)M.push(E[1]);else if((E=r.index_access.exec(A))!==null)M.push(E[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");y[2]=M}else b|=2;if(b===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");o.push({placeholder:y[0],param_no:y[1],keys:y[2],sign:y[3],pad_char:y[4],align:y[5],width:y[6],precision:y[7],type:y[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");d=d.substring(y[0].length)}return c[f]=o}e.sprintf=n,e.vsprintf=i,typeof window<"u"&&(window.sprintf=n,window.vsprintf=i,a=function(){return{sprintf:n,vsprintf:i}}.call(e,t,e,l),a!==void 0&&(l.exports=a))})()},3711:function(l,e,t){"use strict";l.exports=p;var a=t(2640),r=t(781),n={"2d":function(f,d,y){var o=f({order:d,scalarArguments:3,getters:y==="generic"?[0]:void 0,phase:function(M,A,E,g){return M>g|0},vertex:function(M,A,E,g,T,m,h,x,_,D,C,F,I){var z=(h<<0)+(x<<1)+(_<<2)+(D<<3)|0;if(!(z===0||z===15))switch(z){case 0:C.push([M-.5,A-.5]);break;case 1:C.push([M-.25-.25*(g+E-2*I)/(E-g),A-.25-.25*(T+E-2*I)/(E-T)]);break;case 2:C.push([M-.75-.25*(-g-E+2*I)/(g-E),A-.25-.25*(m+g-2*I)/(g-m)]);break;case 3:C.push([M-.5,A-.5-.5*(T+E+m+g-4*I)/(E-T+g-m)]);break;case 4:C.push([M-.25-.25*(m+T-2*I)/(T-m),A-.75-.25*(-T-E+2*I)/(T-E)]);break;case 5:C.push([M-.5-.5*(g+E+m+T-4*I)/(E-g+T-m),A-.5]);break;case 6:C.push([M-.5-.25*(-g-E+m+T)/(g-E+T-m),A-.5-.25*(-T-E+m+g)/(T-E+g-m)]);break;case 7:C.push([M-.75-.25*(m+T-2*I)/(T-m),A-.75-.25*(m+g-2*I)/(g-m)]);break;case 8:C.push([M-.75-.25*(-m-T+2*I)/(m-T),A-.75-.25*(-m-g+2*I)/(m-g)]);break;case 9:C.push([M-.5-.25*(g+E+-m-T)/(E-g+m-T),A-.5-.25*(T+E+-m-g)/(E-T+m-g)]);break;case 10:C.push([M-.5-.5*(-g-E+-m-T+4*I)/(g-E+m-T),A-.5]);break;case 11:C.push([M-.25-.25*(-m-T+2*I)/(m-T),A-.75-.25*(T+E-2*I)/(E-T)]);break;case 12:C.push([M-.5,A-.5-.5*(-T-E+-m-g+4*I)/(T-E+m-g)]);break;case 13:C.push([M-.75-.25*(g+E-2*I)/(E-g),A-.25-.25*(-m-g+2*I)/(m-g)]);break;case 14:C.push([M-.25-.25*(-g-E+2*I)/(g-E),A-.25-.25*(-T-E+2*I)/(T-E)]);break;case 15:C.push([M-.5,A-.5]);break}},cell:function(M,A,E,g,T,m,h,x,_){T?x.push([M,A]):x.push([A,M])}});return function(b,M){var A=[],E=[];return o(b,A,E,M),{positions:A,cells:E}}}};function i(f,d){var y=f.length+"d",o=n[y];if(o)return o(a,f,d)}function s(f,d){for(var y=r(f,d),o=y.length,b=new Array(o),M=new Array(o),A=0;AMath.max(g,T)?m[2]=1:g>Math.max(E,T)?m[0]=1:m[1]=1;for(var h=0,x=0,_=0;_<3;++_)h+=A[_]*A[_],x+=m[_]*A[_];for(var _=0;_<3;++_)m[_]-=x/h*A[_];return s(m,m),m}function y(A,E,g,T,m,h,x,_){this.center=a(g),this.up=a(T),this.right=a(m),this.radius=a([h]),this.angle=a([x,_]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(A,E),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var D=0;D<16;++D)this.computedMatrix[D]=.5;this.recalcMatrix(0)}var o=y.prototype;o.setDistanceLimits=function(A,E){A>0?A=Math.log(A):A=-1/0,E>0?E=Math.log(E):E=1/0,E=Math.max(E,A),this.radius.bounds[0][0]=A,this.radius.bounds[1][0]=E},o.getDistanceLimits=function(A){var E=this.radius.bounds[0];return A?(A[0]=Math.exp(E[0][0]),A[1]=Math.exp(E[1][0]),A):[Math.exp(E[0][0]),Math.exp(E[1][0])]},o.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 E=this.computedUp,g=this.computedRight,T=0,m=0,h=0;h<3;++h)m+=E[h]*g[h],T+=E[h]*E[h];for(var x=Math.sqrt(T),_=0,h=0;h<3;++h)g[h]-=E[h]*m/T,_+=g[h]*g[h],E[h]/=x;for(var D=Math.sqrt(_),h=0;h<3;++h)g[h]/=D;var C=this.computedToward;i(C,E,g),s(C,C);for(var F=Math.exp(this.computedRadius[0]),I=this.computedAngle[0],z=this.computedAngle[1],R=Math.cos(I),k=Math.sin(I),B=Math.cos(z),N=Math.sin(z),q=this.computedCenter,Y=R*B,ee=k*B,te=N,ae=-R*N,j=-k*N,G=B,K=this.computedEye,H=this.computedMatrix,h=0;h<3;++h){var Z=Y*g[h]+ee*C[h]+te*E[h];H[4*h+1]=ae*g[h]+j*C[h]+G*E[h],H[4*h+2]=Z,H[4*h+3]=0}var X=H[1],$=H[5],Q=H[9],re=H[2],ue=H[6],pe=H[10],ge=$*pe-Q*ue,Te=Q*re-X*pe,Se=X*ue-$*re,Ce=p(ge,Te,Se);ge/=Ce,Te/=Ce,Se/=Ce,H[0]=ge,H[4]=Te,H[8]=Se;for(var h=0;h<3;++h)K[h]=q[h]+H[2+4*h]*F;for(var h=0;h<3;++h){for(var _=0,Ue=0;Ue<3;++Ue)_+=H[h+4*Ue]*K[Ue];H[12+h]=-_}H[15]=1},o.getMatrix=function(A,E){this.recalcMatrix(A);var g=this.computedMatrix;if(E){for(var T=0;T<16;++T)E[T]=g[T];return E}return g};var b=[0,0,0];o.rotate=function(A,E,g,T){if(this.angle.move(A,E,g),T){this.recalcMatrix(A);var m=this.computedMatrix;b[0]=m[2],b[1]=m[6],b[2]=m[10];for(var h=this.computedUp,x=this.computedRight,_=this.computedToward,D=0;D<3;++D)m[4*D]=h[D],m[4*D+1]=x[D],m[4*D+2]=_[D];n(m,m,T,b);for(var D=0;D<3;++D)h[D]=m[4*D],x[D]=m[4*D+1];this.up.set(A,h[0],h[1],h[2]),this.right.set(A,x[0],x[1],x[2])}},o.pan=function(A,E,g,T){E=E||0,g=g||0,T=T||0,this.recalcMatrix(A);var m=this.computedMatrix,h=Math.exp(this.computedRadius[0]),x=m[1],_=m[5],D=m[9],C=p(x,_,D);x/=C,_/=C,D/=C;var F=m[0],I=m[4],z=m[8],R=F*x+I*_+z*D;F-=x*R,I-=_*R,z-=D*R;var k=p(F,I,z);F/=k,I/=k,z/=k;var B=F*E+x*g,N=I*E+_*g,q=z*E+D*g;this.center.move(A,B,N,q);var Y=Math.exp(this.computedRadius[0]);Y=Math.max(1e-4,Y+T),this.radius.set(A,Math.log(Y))},o.translate=function(A,E,g,T){this.center.move(A,E||0,g||0,T||0)},o.setMatrix=function(A,E,g,T){var m=1;typeof g=="number"&&(m=g|0),(m<0||m>3)&&(m=1);var h=(m+2)%3,x=(m+1)%3;E||(this.recalcMatrix(A),E=this.computedMatrix);var _=E[m],D=E[m+4],C=E[m+8];if(T){var I=Math.abs(_),z=Math.abs(D),R=Math.abs(C),k=Math.max(I,z,R);I===k?(_=_<0?-1:1,D=C=0):R===k?(C=C<0?-1:1,_=D=0):(D=D<0?-1:1,_=C=0)}else{var F=p(_,D,C);_/=F,D/=F,C/=F}var B=E[h],N=E[h+4],q=E[h+8],Y=B*_+N*D+q*C;B-=_*Y,N-=D*Y,q-=C*Y;var ee=p(B,N,q);B/=ee,N/=ee,q/=ee;var te=D*q-C*N,ae=C*B-_*q,j=_*N-D*B,G=p(te,ae,j);te/=G,ae/=G,j/=G,this.center.jump(A,se,ne,be),this.radius.idle(A),this.up.jump(A,_,D,C),this.right.jump(A,B,N,q);var K,H;if(m===2){var Z=E[1],X=E[5],$=E[9],Q=Z*B+X*N+$*q,re=Z*te+X*ae+$*j;Te<0?K=-Math.PI/2:K=Math.PI/2,H=Math.atan2(re,Q)}else{var ue=E[2],pe=E[6],ge=E[10],Te=ue*_+pe*D+ge*C,Se=ue*B+pe*N+ge*q,Ce=ue*te+pe*ae+ge*j;K=Math.asin(f(Te)),H=Math.atan2(Ce,Se)}this.angle.jump(A,H,K),this.recalcMatrix(A);var Ue=E[2],Oe=E[6],_e=E[10],ce=this.computedMatrix;r(ce,E);var ie=ce[15],se=ce[12]/ie,ne=ce[13]/ie,be=ce[14]/ie,De=Math.exp(this.computedRadius[0]);this.center.jump(A,se-Ue*De,ne-Oe*De,be-_e*De)},o.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},o.idle=function(A){this.center.idle(A),this.up.idle(A),this.right.idle(A),this.radius.idle(A),this.angle.idle(A)},o.flush=function(A){this.center.flush(A),this.up.flush(A),this.right.flush(A),this.radius.flush(A),this.angle.flush(A)},o.setDistance=function(A,E){E>0&&this.radius.set(A,Math.log(E))},o.lookAt=function(A,E,g,T){this.recalcMatrix(A),E=E||this.computedEye,g=g||this.computedCenter,T=T||this.computedUp;var m=T[0],h=T[1],x=T[2],_=p(m,h,x);if(!(_<1e-6)){m/=_,h/=_,x/=_;var D=E[0]-g[0],C=E[1]-g[1],F=E[2]-g[2],I=p(D,C,F);if(!(I<1e-6)){D/=I,C/=I,F/=I;var z=this.computedRight,R=z[0],k=z[1],B=z[2],N=m*R+h*k+x*B;R-=N*m,k-=N*h,B-=N*x;var q=p(R,k,B);if(!(q<.01&&(R=h*F-x*C,k=x*D-m*F,B=m*C-h*D,q=p(R,k,B),q<1e-6))){R/=q,k/=q,B/=q,this.up.set(A,m,h,x),this.right.set(A,R,k,B),this.center.set(A,g[0],g[1],g[2]),this.radius.set(A,Math.log(I));var Y=h*B-x*k,ee=x*R-m*B,te=m*k-h*R,ae=p(Y,ee,te);Y/=ae,ee/=ae,te/=ae;var j=m*D+h*C+x*F,G=R*D+k*C+B*F,K=Y*D+ee*C+te*F,H=Math.asin(f(j)),Z=Math.atan2(K,G),X=this.angle._state,$=X[X.length-1],Q=X[X.length-2];$=$%(2*Math.PI);var re=Math.abs($+2*Math.PI-Z),ue=Math.abs($-Z),pe=Math.abs($-2*Math.PI-Z);re0?B.pop():new ArrayBuffer(R)}e.mallocArrayBuffer=b;function M(z){return new Uint8Array(b(z),0,z)}e.mallocUint8=M;function A(z){return new Uint16Array(b(2*z),0,z)}e.mallocUint16=A;function E(z){return new Uint32Array(b(4*z),0,z)}e.mallocUint32=E;function g(z){return new Int8Array(b(z),0,z)}e.mallocInt8=g;function T(z){return new Int16Array(b(2*z),0,z)}e.mallocInt16=T;function m(z){return new Int32Array(b(4*z),0,z)}e.mallocInt32=m;function h(z){return new Float32Array(b(4*z),0,z)}e.mallocFloat32=e.mallocFloat=h;function x(z){return new Float64Array(b(8*z),0,z)}e.mallocFloat64=e.mallocDouble=x;function _(z){return i?new Uint8ClampedArray(b(z),0,z):M(z)}e.mallocUint8Clamped=_;function D(z){return s?new BigUint64Array(b(8*z),0,z):null}e.mallocBigUint64=D;function C(z){return c?new BigInt64Array(b(8*z),0,z):null}e.mallocBigInt64=C;function F(z){return new DataView(b(z),0,z)}e.mallocDataView=F;function I(z){z=a.nextPow2(z);var R=a.log2(z),k=d[R];return k.length>0?k.pop():new n(z)}e.mallocBuffer=I,e.clearCache=function(){for(var R=0;R<32;++R)p.UINT8[R].length=0,p.UINT16[R].length=0,p.UINT32[R].length=0,p.INT8[R].length=0,p.INT16[R].length=0,p.INT32[R].length=0,p.FLOAT[R].length=0,p.DOUBLE[R].length=0,p.BIGUINT64[R].length=0,p.BIGINT64[R].length=0,p.UINT8C[R].length=0,f[R].length=0,d[R].length=0}},1755:function(l){"use strict";"use restrict";l.exports=e;function e(a){this.roots=new Array(a),this.ranks=new Array(a);for(var r=0;r",B="",N=k.length,q=B.length,Y=I[0]===b||I[0]===E,ee=0,te=-q;ee>-1&&(ee=z.indexOf(k,ee),!(ee===-1||(te=z.indexOf(B,ee+N),te===-1)||te<=ee));){for(var ae=ee;ae=te)R[ae]=null,z=z.substr(0,ae)+" "+z.substr(ae+1);else if(R[ae]!==null){var j=R[ae].indexOf(I[0]);j===-1?R[ae]+=I:Y&&(R[ae]=R[ae].substr(0,j+1)+(1+parseInt(R[ae][j+1]))+R[ae].substr(j+2))}var G=ee+N,K=z.substr(G,te-G),H=K.indexOf(k);H!==-1?ee=H:ee=te+q}return R}function m(F,I,z){for(var R=I.textAlign||"start",k=I.textBaseline||"alphabetic",B=[1<<30,1<<30],N=[0,0],q=F.length,Y=0;Y/g,` +`):z=z.replace(/\/g," ");var N="",q=[];for($=0;$-1?parseInt(ne[1+qe]):0,ot=Ne>-1?parseInt(be[1+Ne]):0;ut!==ot&&(De=De.replace(Se(),"?px "),ue*=Math.pow(.75,ot-ut),De=De.replace("?px ",Se())),re+=.25*j*(ot-ut)}if(B.superscripts===!0){var yt=ne.indexOf(b),At=be.indexOf(b),It=yt>-1?parseInt(ne[1+yt]):0,Zt=At>-1?parseInt(be[1+At]):0;It!==Zt&&(De=De.replace(Se(),"?px "),ue*=Math.pow(.75,Zt-It),De=De.replace("?px ",Se())),re-=.25*j*(Zt-It)}if(B.bolds===!0){var vr=ne.indexOf(f)>-1,Ut=be.indexOf(f)>-1;!vr&&Ut&&(Jt?De=De.replace("italic ","italic bold "):De="bold "+De),vr&&!Ut&&(De=De.replace("bold ",""))}if(B.italics===!0){var Jt=ne.indexOf(y)>-1,at=be.indexOf(y)>-1;!Jt&&at&&(De="italic "+De),Jt&&!at&&(De=De.replace("italic ",""))}I.font=De}for(X=0;X0&&(k=R.size),R.lineSpacing&&R.lineSpacing>0&&(B=R.lineSpacing),R.styletags&&R.styletags.breaklines&&(N.breaklines=!!R.styletags.breaklines),R.styletags&&R.styletags.bolds&&(N.bolds=!!R.styletags.bolds),R.styletags&&R.styletags.italics&&(N.italics=!!R.styletags.italics),R.styletags&&R.styletags.subscripts&&(N.subscripts=!!R.styletags.subscripts),R.styletags&&R.styletags.superscripts&&(N.superscripts=!!R.styletags.superscripts)),z.font=[R.fontStyle,R.fontVariant,R.fontWeight,k+"px",R.font].filter(function(Y){return Y}).join(" "),z.textAlign="start",z.textBaseline="alphabetic",z.direction="ltr";var q=h(I,z,F,k,B,N);return D(q,R,k)}},1538:function(l){(function(){"use strict";if(typeof ses<"u"&&ses.ok&&!ses.ok())return;function t(_){_.permitHostObjects___&&_.permitHostObjects___(t)}typeof ses<"u"&&(ses.weakMapPermitHostObjects=t);var a=!1;if(typeof WeakMap=="function"){var r=WeakMap;if(!(typeof navigator<"u"&&/Firefox/.test(navigator.userAgent))){var n=new r,i=Object.freeze({});if(n.set(i,1),n.get(i)!==1)a=!0;else{l.exports=WeakMap;return}}}var s=Object.prototype.hasOwnProperty,c=Object.getOwnPropertyNames,p=Object.defineProperty,f=Object.isExtensible,d="weakmap:",y=d+"ident:"+Math.random()+"___";if(typeof crypto<"u"&&typeof crypto.getRandomValues=="function"&&typeof ArrayBuffer=="function"&&typeof Uint8Array=="function"){var o=new ArrayBuffer(25),b=new Uint8Array(o);crypto.getRandomValues(b),y=d+"rand:"+Array.prototype.map.call(b,function(_){return(_%36).toString(36)}).join("")+"___"}function M(_){return!(_.substr(0,d.length)==d&&_.substr(_.length-3)==="___")}if(p(Object,"getOwnPropertyNames",{value:function(D){return c(D).filter(M)}}),"getPropertyNames"in Object){var A=Object.getPropertyNames;p(Object,"getPropertyNames",{value:function(D){return A(D).filter(M)}})}function E(_){if(_!==Object(_))throw new TypeError("Not an object: "+_);var D=_[y];if(D&&D.key===_)return D;if(f(_)){D={key:_};try{return p(_,y,{value:D,writable:!1,enumerable:!1,configurable:!1}),D}catch{return}}}(function(){var _=Object.freeze;p(Object,"freeze",{value:function(I){return E(I),_(I)}});var D=Object.seal;p(Object,"seal",{value:function(I){return E(I),D(I)}});var C=Object.preventExtensions;p(Object,"preventExtensions",{value:function(I){return E(I),C(I)}})})();function g(_){return _.prototype=null,Object.freeze(_)}var T=!1;function m(){!T&&typeof console<"u"&&(T=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}var h=0,x=function(){this instanceof x||m();var _=[],D=[],C=h++;function F(k,B){var N,q=E(k);return q?C in q?q[C]:B:(N=_.indexOf(k),N>=0?D[N]:B)}function I(k){var B=E(k);return B?C in B:_.indexOf(k)>=0}function z(k,B){var N,q=E(k);return q?q[C]=B:(N=_.indexOf(k),N>=0?D[N]=B:(N=_.length,D[N]=B,_[N]=k)),this}function R(k){var B=E(k),N,q;return B?C in B&&delete B[C]:(N=_.indexOf(k),N<0?!1:(q=_.length-1,_[N]=void 0,D[N]=D[q],_[N]=_[q],_.length=q,D.length=q,!0))}return Object.create(x.prototype,{get___:{value:g(F)},has___:{value:g(I)},set___:{value:g(z)},delete___:{value:g(R)}})};x.prototype=Object.create(Object.prototype,{get:{value:function(D,C){return this.get___(D,C)},writable:!0,configurable:!0},has:{value:function(D){return this.has___(D)},writable:!0,configurable:!0},set:{value:function(D,C){return this.set___(D,C)},writable:!0,configurable:!0},delete:{value:function(D){return this.delete___(D)},writable:!0,configurable:!0}}),typeof r=="function"?function(){a&&typeof Proxy<"u"&&(Proxy=void 0);function _(){this instanceof x||m();var D=new r,C=void 0,F=!1;function I(B,N){return C?D.has(B)?D.get(B):C.get___(B,N):D.get(B,N)}function z(B){return D.has(B)||(C?C.has___(B):!1)}var R;a?R=function(B,N){return D.set(B,N),D.has(B)||(C||(C=new x),C.set(B,N)),this}:R=function(B,N){if(F)try{D.set(B,N)}catch{C||(C=new x),C.set___(B,N)}else D.set(B,N);return this};function k(B){var N=!!D.delete(B);return C&&C.delete___(B)||N}return Object.create(x.prototype,{get___:{value:g(I)},has___:{value:g(z)},set___:{value:g(R)},delete___:{value:g(k)},permitHostObjects___:{value:g(function(B){if(B===t)F=!0;else throw new Error("bogus call to permitHostObjects___")})}})}_.prototype=x.prototype,l.exports=_,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(typeof Proxy<"u"&&(Proxy=void 0),l.exports=x)})()},236:function(l,e,t){var a=t(8284);l.exports=r;function r(){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:a(i,n)}}},8284:function(l){l.exports=e;function e(t,a){var r={identity:a},n=t.valueOf;return Object.defineProperty(t,"valueOf",{value:function(i){return i!==a?n.apply(this,arguments):r},writable:!0}),r}},606:function(l,e,t){var a=t(236);l.exports=r;function r(){var n=a();return{get:function(i,s){var c=n(i);return c.hasOwnProperty("value")?c.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(l){"use strict";function e(){return function(s,c,p,f,d,y){var o=s[0],b=p[0],M=[0],A=b;f|=0;var E=0,g=b;for(E=0;E=0!=m>=0&&d.push(M[0]+.5+.5*(T+m)/(T-m))}f+=g,++M[0]}}}function t(){return e()}var a=t;function r(s){var c={};return function(f,d,y){var o=f.dtype,b=f.order,M=[o,b.join()].join(),A=c[M];return A||(c[M]=A=s([o,b])),A(f.shape.slice(0),f.data,f.stride,f.offset|0,d,y)}}function n(s){return r(a.bind(void 0,s))}function i(s){return n({funcName:s.funcName})}l.exports=i({funcName:"zeroCrossings"})},781:function(l,e,t){"use strict";l.exports=r;var a=t(3349);function r(n,i){var s=[];return i=+i||0,a(n.hi(n.shape[0]-1),s,i),s}},7790:function(){}},v={};function w(l){var e=v[l];if(e!==void 0)return e.exports;var t=v[l]={id:l,loaded:!1,exports:{}};return u[l].call(t.exports,t,t.exports,w),t.loaded=!0,t.exports}(function(){w.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}()})(),function(){w.nmd=function(l){return l.paths=[],l.children||(l.children=[]),l}}();var S=w(1964);O.exports=S})()}}),z2=xe({"node_modules/color-name/index.js"(U,O){"use strict";O.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]}}}),Jk=xe({"node_modules/color-normalize/node_modules/color-parse/index.js"(U,O){"use strict";var u=z2();O.exports=w;var v={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function w(S){var l,e=[],t=1,a;if(typeof S=="string")if(S=S.toLowerCase(),u[S])e=u[S].slice(),a="rgb";else if(S==="transparent")t=0,a="rgb",e=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(S)){var r=S.slice(1),n=r.length,i=n<=4;t=1,i?(e=[parseInt(r[0]+r[0],16),parseInt(r[1]+r[1],16),parseInt(r[2]+r[2],16)],n===4&&(t=parseInt(r[3]+r[3],16)/255)):(e=[parseInt(r[0]+r[1],16),parseInt(r[2]+r[3],16),parseInt(r[4]+r[5],16)],n===8&&(t=parseInt(r[6]+r[7],16)/255)),e[0]||(e[0]=0),e[1]||(e[1]=0),e[2]||(e[2]=0),a="rgb"}else if(l=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(S)){var s=l[1],c=s==="rgb",r=s.replace(/a$/,"");a=r;var n=r==="cmyk"?4:r==="gray"?1:3;e=l[2].trim().split(/\s*[,\/]\s*|\s+/).map(function(d,y){if(/%$/.test(d))return y===n?parseFloat(d)/100:r==="rgb"?parseFloat(d)*255/100:parseFloat(d);if(r[y]==="h"){if(/deg$/.test(d))return parseFloat(d);if(v[d]!==void 0)return v[d]}return parseFloat(d)}),s===r&&e.push(1),t=c||e[n]===void 0?1:e[n],e=e.slice(0,n)}else S.length>10&&/[0-9](?:\s|\/)/.test(S)&&(e=S.match(/([0-9]+)/g).map(function(p){return parseFloat(p)}),a=S.match(/([a-z])/ig).join("").toLowerCase());else isNaN(S)?Array.isArray(S)||S.length?(e=[S[0],S[1],S[2]],a="rgb",t=S.length===4?S[3]:1):S instanceof Object&&(S.r!=null||S.red!=null||S.R!=null?(a="rgb",e=[S.r||S.red||S.R||0,S.g||S.green||S.G||0,S.b||S.blue||S.B||0]):(a="hsl",e=[S.h||S.hue||S.H||0,S.s||S.saturation||S.S||0,S.l||S.lightness||S.L||S.b||S.brightness]),t=S.a||S.alpha||S.opacity||1,S.opacity!=null&&(t/=100)):(a="rgb",e=[S>>>16,(S&65280)>>>8,S&255]);return{space:a,values:e,alpha:t}}}}),Qk=xe({"node_modules/color-normalize/node_modules/color-rgba/index.js"(U,O){"use strict";var u=Jk();O.exports=function(S){Array.isArray(S)&&S.raw&&(S=String.raw.apply(null,arguments));var l,e,t,a=u(S);if(!a.space)return[];var r=[0,0,0],n=a.space[0]==="h"?[360,100,100]:[255,255,255];return l=Array(3),l[0]=Math.min(Math.max(a.values[0],r[0]),n[0]),l[1]=Math.min(Math.max(a.values[1],r[1]),n[1]),l[2]=Math.min(Math.max(a.values[2],r[2]),n[2]),a.space[0]==="h"&&(l=v(l)),l.push(Math.min(Math.max(a.alpha,0),1)),l};function v(w){var S=w[0]/360,l=w[1]/100,e=w[2]/100,t,a,r,n,i,s=0;if(l===0)return i=e*255,[i,i,i];for(a=e<.5?e*(1+l):e+l-e*l,t=2*e-a,n=[0,0,0];s<3;)r=S+1/3*-(s-1),r<0?r++:r>1&&r--,i=6*r<1?t+(a-t)*6*r:2*r<1?a:3*r<2?t+(a-t)*(2/3-r)*6:t,n[s++]=i*255;return n}}}),$0=xe({"node_modules/clamp/index.js"(U,O){O.exports=u;function u(v,w,S){return wS?S:v:vw?w:v}}}),I1=xe({"node_modules/dtype/index.js"(U,O){O.exports=function(u){switch(u){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}}}}),Xd=xe({"node_modules/color-normalize/index.js"(U,O){"use strict";var u=Qk(),v=$0(),w=I1();O.exports=function(e,t){(t==="float"||!t)&&(t="array"),t==="uint"&&(t="uint8"),t==="uint_clamped"&&(t="uint8_clamped");var a=w(t),r=new a(4),n=t!=="uint8"&&t!=="uint8_clamped";return(!e.length||typeof e=="string")&&(e=u(e),e[0]/=255,e[1]/=255,e[2]/=255),S(e)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3]!=null?e[3]:255,n&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(n?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3]!=null?e[3]:1):(r[0]=v(Math.floor(e[0]*255),0,255),r[1]=v(Math.floor(e[1]*255),0,255),r[2]=v(Math.floor(e[2]*255),0,255),r[3]=e[3]==null?255:v(Math.floor(e[3]*255),0,255)),r)};function S(l){return!!(l instanceof Uint8Array||l instanceof Uint8ClampedArray||Array.isArray(l)&&(l[0]>1||l[0]===0)&&(l[1]>1||l[1]===0)&&(l[2]>1||l[2]===0)&&(!l[3]||l[3]>1))}}}),gd=xe({"src/lib/str2rgbarray.js"(U,O){"use strict";var u=Xd();function v(w){return w?u(w):[0,0,0,1]}O.exports=v}}),yd=xe({"src/lib/gl_format_color.js"(U,O){"use strict";var u=yn(),v=Xd(),w=Bl(),S=wi(),l=sc().defaultLine,e=rs().isArrayOrTypedArray,t=v(l),a=1;function r(p,f){var d=p;return d[3]*=f,d}function n(p){if(u(p))return t;var f=v(p);return f.length?f:t}function i(p){return u(p)?p:a}function s(p,f,d){var y=p.color;y&&y._inputArray&&(y=y._inputArray);var o=e(y),b=e(f),M=w.extractOpts(p),A=[],E,g,T,m,h;if(M.colorscale!==void 0?E=w.makeColorScaleFuncFromTrace(p):E=n,o?g=function(_,D){return _[D]===void 0?t:v(E(_[D]))}:g=n,b?T=function(_,D){return _[D]===void 0?a:i(_[D])}:T=i,o||b)for(var x=0;x0){var d=a.c2l(p);a._lowerLogErrorBound||(a._lowerLogErrorBound=d),a._lowerErrorBound=Math.min(a._lowerLogErrorBound,d)}}else n[i]=[-s[0]*t,s[1]*t]}return n}function w(l){for(var e=0;e-1?-1:D.indexOf("right")>-1?1:0}function M(D){return D==null?0:D.indexOf("top")>-1?-1:D.indexOf("bottom")>-1?1:0}function A(D){var C=0,F=0,I=[C,F];if(Array.isArray(D))for(var z=0;z=0){var q=y(B.position,B.delaunayColor,B.delaunayAxis);q.opacity=D.opacity,this.delaunayMesh?this.delaunayMesh.update(q):(q.gl=C,this.delaunayMesh=S(q),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)},d.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 _(D,C){var F=new f(D,C.uid);return F.update(C),F}O.exports=_}}),N2=xe({"src/traces/scatter3d/attributes.js"(U,O){"use strict";var u=wu(),v=vl(),w=pl(),S=Kl().axisHoverFormat,{hovertemplateAttrs:l,texttemplateAttrs:e,templatefallbackAttrs:t}=js(),a=Rs(),r=B2(),n=D1(),i=oo().extendFlat,s=Hl().overrideAll,c=(vv(),Ta(Id)).default,p=u.line,f=u.marker,d=f.line,y=i({width:p.width,dash:{valType:"enumerated",values:c(r),dflt:"solid"}},w("line"));function o(M){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 b=O.exports=s({x:u.x,y:u.y,z:{valType:"data_array"},text:i({},u.text,{}),texttemplate:e(),texttemplatefallback:t({editType:"calc"}),hovertext:i({},u.hovertext,{}),hovertemplate:l(),hovertemplatefallback:t(),xhoverformat:S("x"),yhoverformat:S("y"),zhoverformat:S("z"),mode:i({},u.mode,{dflt:"lines+markers"}),surfaceaxis:{valType:"enumerated",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:"color"},projection:{x:o("x"),y:o("y"),z:o("z")},connectgaps:u.connectgaps,line:y,marker:i({symbol:{valType:"enumerated",values:c(n),dflt:"circle",arrayOk:!0},size:i({},f.size,{dflt:8}),sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,opacity:i({},f.opacity,{arrayOk:!1}),colorbar:f.colorbar,line:i({width:i({},d.width,{arrayOk:!1})},w("marker.line"))},w("marker")),textposition:i({},u.textposition,{dflt:"top center"}),textfont:v({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:"calc",colorEditType:"style",arrayOk:!0,variantValues:["normal","small-caps"]}),opacity:a.opacity,hoverinfo:i({},a.hoverinfo)},"calc","nested");b.x.editType=b.y.editType=b.z.editType="calc+clearAxisTypes"}}),r4=xe({"src/traces/scatter3d/defaults.js"(U,O){"use strict";var u=Ci(),v=Sr(),w=Cl(),S=hh(),l=Eh(),e=kh(),t=N2();O.exports=function(n,i,s,c){function p(E,g){return v.coerce(n,i,t,E,g)}var f=a(n,i,p,c);if(!f){i.visible=!1;return}p("text"),p("hovertext"),p("hovertemplate"),p("hovertemplatefallback"),p("xhoverformat"),p("yhoverformat"),p("zhoverformat"),p("mode"),w.hasMarkers(i)&&S(n,i,s,c,p,{noAngle:!0,noLineDash:!0,noSelect:!0}),w.hasLines(i)&&(p("connectgaps"),l(n,i,s,c,p)),w.hasText(i)&&(p("texttemplate"),p("texttemplatefallback"),e(n,i,c,p,{noSelect:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}));var d=(i.line||{}).color,y=(i.marker||{}).color;p("surfaceaxis")>=0&&p("surfacecolor",d||y);for(var o=["x","y","z"],b=0;b<3;++b){var M="projection."+o[b];p(M+".show")&&(p(M+".opacity"),p(M+".scale"))}var A=u.getComponentMethod("errorbars","supplyDefaults");A(n,i,d||y||s,{axis:"z"}),A(n,i,d||y||s,{axis:"y",inherit:"z"}),A(n,i,d||y||s,{axis:"x",inherit:"z"})};function a(r,n,i,s){var c=0,p=i("x"),f=i("y"),d=i("z"),y=u.getComponentMethod("calendars","handleTraceDefaults");return y(r,n,["x","y","z"],s),p&&f&&d&&(c=Math.min(p.length,f.length,d.length),n._length=n._xlength=n._ylength=n._zlength=c),c}}}),a4=xe({"src/traces/scatter3d/calc.js"(U,O){"use strict";var u=Hh(),v=dh();O.exports=function(S,l){var e=[{x:!1,y:!1,trace:l,t:{}}];return u(e,l),v(S,l),e}}}),n4=xe({"node_modules/get-canvas-context/index.js"(U,O){O.exports=u;function u(v,w){if(typeof v!="string")throw new TypeError("must specify type string");if(w=w||{},typeof document>"u"&&!w.canvas)return null;var S=w.canvas||document.createElement("canvas");typeof w.width=="number"&&(S.width=w.width),typeof w.height=="number"&&(S.height=w.height);var l=w,e;try{var t=[v];v.indexOf("webgl")===0&&t.push("experimental-"+v);for(var a=0;a/g," "));i[s]=d,c.tickmode=p}}a.ticks=i;for(var s=0;s<3;++s){S[s]=.5*(t.glplot.bounds[0][s]+t.glplot.bounds[1][s]);for(var y=0;y<2;++y)a.bounds[y][s]=t.glplot.bounds[y][s]}t.contourLevels=l(i)}}}),u4=xe({"src/plots/gl3d/scene.js"(U,O){"use strict";var u=Jc().gl_plot3d,v=u.createCamera,w=u.createScene,S=i4(),l=Ym(),e=Ci(),t=Sr(),a=t.preserveDrawingBuffer(),r=uo(),n=hu(),i=gd(),s=O2(),c=Z_(),p=o4(),f=s4(),d=l4(),y=Ah().applyAutorangeOptions,o,b,M=!1;function A(F,I){var z=document.createElement("div"),R=F.container;this.graphDiv=F.graphDiv;var k=document.createElementNS("http://www.w3.org/2000/svg","svg");k.style.position="absolute",k.style.top=k.style.left="0px",k.style.width=k.style.height="100%",k.style["z-index"]=20,k.style["pointer-events"]="none",z.appendChild(k),this.svgContainer=k,z.id=F.id,z.style.position="absolute",z.style.top=z.style.left="0px",z.style.width=z.style.height="100%",R.appendChild(z),this.fullLayout=I,this.id=F.id||"scene",this.fullSceneLayout=I[this.id],this.plotArgs=[[],{},{}],this.axesOptions=p(I,I[this.id]),this.spikeOptions=f(I[this.id]),this.container=z,this.staticMode=!!F.staticPlot,this.pixelRatio=this.pixelRatio||F.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=e.getComponentMethod("annotations3d","convert"),this.drawAnnotations=e.getComponentMethod("annotations3d","draw"),this.initializeGLPlot()}var E=A.prototype;E.prepareOptions=function(){var F=this,I={canvas:F.canvas,gl:F.gl,glOptions:{preserveDrawingBuffer:a,premultipliedAlpha:!0,antialias:!0},container:F.container,axes:F.axesOptions,spikes:F.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1,cameraObject:F.camera,pixelRatio:F.pixelRatio};if(F.staticMode){if(!b&&(o=document.createElement("canvas"),b=S({canvas:o,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}),!b))throw new Error("error creating static canvas/context for image server");I.gl=b,I.canvas=o}return I};var g=!0;E.tryCreatePlot=function(){var F=this,I=F.prepareOptions(),z=!0;try{F.glplot=w(I)}catch{if(F.staticMode||!g||a)z=!1;else{t.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{a=I.glOptions.preserveDrawingBuffer=!0,F.glplot=w(I)}catch{a=I.glOptions.preserveDrawingBuffer=!1,z=!1}}}return g=!1,z},E.initializeGLCamera=function(){var F=this,I=F.fullSceneLayout.camera,z=I.projection.type==="orthographic";F.camera=v(F.container,{center:[I.center.x,I.center.y,I.center.z],eye:[I.eye.x,I.eye.y,I.eye.z],up:[I.up.x,I.up.y,I.up.z],_ortho:z,zoomMin:.01,zoomMax:100,mode:"orbit"})},E.initializeGLPlot=function(){var F=this;F.initializeGLCamera();var I=F.tryCreatePlot();if(!I)return s(F);F.traces={},F.make4thDimension();var z=F.graphDiv,R=z.layout,k=function(){var N={};return F.isCameraChanged(R)&&(N[F.id+".camera"]=F.getCamera()),F.isAspectChanged(R)&&(N[F.id+".aspectratio"]=F.glplot.getAspectratio(),R[F.id].aspectmode!=="manual"&&(F.fullSceneLayout.aspectmode=R[F.id].aspectmode=N[F.id+".aspectmode"]="manual")),N},B=function(N){if(N.fullSceneLayout.dragmode!==!1){var q=k();N.saveLayout(R),N.graphDiv.emit("plotly_relayout",q)}};return F.glplot.canvas&&(F.glplot.canvas.addEventListener("mouseup",function(){B(F)}),F.glplot.canvas.addEventListener("touchstart",function(){M=!0}),F.glplot.canvas.addEventListener("wheel",function(N){if(z._context._scrollZoom.gl3d){if(F.camera._ortho){var q=N.deltaX>N.deltaY?1.1:.9090909090909091,Y=F.glplot.getAspectratio();F.glplot.setAspectratio({x:q*Y.x,y:q*Y.y,z:q*Y.z})}B(F)}},l?{passive:!1}:!1),F.glplot.canvas.addEventListener("mousemove",function(){if(F.fullSceneLayout.dragmode!==!1&&F.camera.mouseListener.buttons!==0){var N=k();F.graphDiv.emit("plotly_relayouting",N)}}),F.staticMode||F.glplot.canvas.addEventListener("webglcontextlost",function(N){z&&z.emit&&z.emit("plotly_webglcontextlost",{event:N,layer:F.id})},!1)),F.glplot.oncontextloss=function(){F.recoverContext()},F.glplot.onrender=function(){F.render()},!0},E.render=function(){var F=this,I=F.graphDiv,z,R=F.svgContainer,k=F.container.getBoundingClientRect();I._fullLayout._calcInverseTransform(I);var B=I._fullLayout._invScaleX,N=I._fullLayout._invScaleY,q=k.width*B,Y=k.height*N;R.setAttributeNS(null,"viewBox","0 0 "+q+" "+Y),R.setAttributeNS(null,"width",q),R.setAttributeNS(null,"height",Y),d(F),F.glplot.axes.update(F.axesOptions);for(var ee=Object.keys(F.traces),te=null,ae=F.glplot.selection,j=0;j")):z.type==="isosurface"||z.type==="volume"?(X.valueLabel=r.hoverLabelText(F._mockAxis,F._mockAxis.d2l(ae.traceCoordinate[3]),z.valuehoverformat),pe.push("value: "+X.valueLabel),ae.textLabel&&pe.push(ae.textLabel),ue=pe.join("
")):ue=ae.textLabel;var ge={x:ae.traceCoordinate[0],y:ae.traceCoordinate[1],z:ae.traceCoordinate[2],data:H._input,fullData:H,curveNumber:H.index,pointNumber:Z};n.appendArrayPointValue(ge,H,Z),z._module.eventData&&(ge=H._module.eventData(ge,ae,H,{},Z));var Te={points:[ge]};if(F.fullSceneLayout.hovermode){var Se=[];n.loneHover({trace:H,x:(.5+.5*K[0]/K[3])*q,y:(.5-.5*K[1]/K[3])*Y,xLabel:X.xLabel,yLabel:X.yLabel,zLabel:X.zLabel,text:ue,name:te.name,color:n.castHoverOption(H,Z,"bgcolor")||te.color,borderColor:n.castHoverOption(H,Z,"bordercolor"),fontFamily:n.castHoverOption(H,Z,"font.family"),fontSize:n.castHoverOption(H,Z,"font.size"),fontColor:n.castHoverOption(H,Z,"font.color"),nameLength:n.castHoverOption(H,Z,"namelength"),textAlign:n.castHoverOption(H,Z,"align"),hovertemplate:t.castOption(H,Z,"hovertemplate"),hovertemplateLabels:t.extendFlat({},ge,X),eventData:[ge]},{container:R,gd:I,inOut_bbox:Se}),ge.bbox=Se[0]}ae.distance<5&&(ae.buttons||M)?I.emit("plotly_click",Te):I.emit("plotly_hover",Te),this.oldEventData=Te}else n.loneUnhover(R),this.oldEventData&&I.emit("plotly_unhover",this.oldEventData),this.oldEventData=void 0;F.drawAnnotations(F)},E.recoverContext=function(){var F=this;F.glplot.dispose();var I=function(){if(F.glplot.gl.isContextLost()){requestAnimationFrame(I);return}if(!F.initializeGLPlot()){t.error("Catastrophic and unrecoverable WebGL error. Context lost.");return}F.plot.apply(F,F.plotArgs)};requestAnimationFrame(I)};var T=["xaxis","yaxis","zaxis"];function m(F,I,z){for(var R=F.fullSceneLayout,k=0;k<3;k++){var B=T[k],N=B.charAt(0),q=R[B],Y=I[N],ee=I[N+"calendar"],te=I["_"+N+"length"];if(!t.isArrayOrTypedArray(Y))z[0][k]=Math.min(z[0][k],0),z[1][k]=Math.max(z[1][k],te-1);else for(var ae,j=0;j<(te||Y.length);j++)if(t.isArrayOrTypedArray(Y[j]))for(var G=0;GH[1][N])H[0][N]=-1,H[1][N]=1;else{var Ue=H[1][N]-H[0][N];H[0][N]-=Ue/32,H[1][N]+=Ue/32}if($=[H[0][N],H[1][N]],$=y($,Y),H[0][N]=$[0],H[1][N]=$[1],Y.isReversed()){var Oe=H[0][N];H[0][N]=H[1][N],H[1][N]=Oe}}else $=Y.range,H[0][N]=Y.r2l($[0]),H[1][N]=Y.r2l($[1]);H[0][N]===H[1][N]&&(H[0][N]-=1,H[1][N]+=1),Z[N]=H[1][N]-H[0][N],Y.range=[H[0][N],H[1][N]],Y.limitRange(),R.glplot.setBounds(N,{min:Y.range[0]*G[N],max:Y.range[1]*G[N]})}var _e,ce=te.aspectmode;if(ce==="cube")_e=[1,1,1];else if(ce==="manual"){var ie=te.aspectratio;_e=[ie.x,ie.y,ie.z]}else if(ce==="auto"||ce==="data"){var se=[1,1,1];for(N=0;N<3;++N){Y=te[T[N]],ee=Y.type;var ne=X[ee];se[N]=Math.pow(ne.acc,1/ne.count)/G[N]}ce==="data"||Math.max.apply(null,se)/Math.min.apply(null,se)<=4?_e=se:_e=[1,1,1]}else throw new Error("scene.js aspectRatio was not one of the enumerated types");te.aspectratio.x=ae.aspectratio.x=_e[0],te.aspectratio.y=ae.aspectratio.y=_e[1],te.aspectratio.z=ae.aspectratio.z=_e[2],R.glplot.setAspectratio(te.aspectratio),R.viewInitial.aspectratio||(R.viewInitial.aspectratio={x:te.aspectratio.x,y:te.aspectratio.y,z:te.aspectratio.z}),R.viewInitial.aspectmode||(R.viewInitial.aspectmode=te.aspectmode);var be=te.domain||null,De=I._size||null;if(be&&De){var qe=R.container.style;qe.position="absolute",qe.left=De.l+be.x[0]*De.w+"px",qe.top=De.t+(1-be.y[1])*De.h+"px",qe.width=De.w*(be.x[1]-be.x[0])+"px",qe.height=De.h*(be.y[1]-be.y[0])+"px"}R.glplot.redraw()}},E.destroy=function(){var F=this;F.glplot&&(F.camera.mouseListener.enabled=!1,F.container.removeEventListener("wheel",F.camera.wheelListener),F.camera=null,F.glplot.dispose(),F.container.parentNode.removeChild(F.container),F.glplot=null)};function x(F){return[[F.eye.x,F.eye.y,F.eye.z],[F.center.x,F.center.y,F.center.z],[F.up.x,F.up.y,F.up.z]]}function _(F){return{up:{x:F.up[0],y:F.up[1],z:F.up[2]},center:{x:F.center[0],y:F.center[1],z:F.center[2]},eye:{x:F.eye[0],y:F.eye[1],z:F.eye[2]},projection:{type:F._ortho===!0?"orthographic":"perspective"}}}E.getCamera=function(){var F=this;return F.camera.view.recalcMatrix(F.camera.view.lastT()),_(F.camera)},E.setViewport=function(F){var I=this,z=F.camera;I.camera.lookAt.apply(this,x(z)),I.glplot.setAspectratio(F.aspectratio);var R=z.projection.type==="orthographic",k=I.camera._ortho;R!==k&&(I.glplot.redraw(),I.glplot.clearRGBA(),I.glplot.dispose(),I.initializeGLPlot())},E.isCameraChanged=function(F){var I=this,z=I.getCamera(),R=t.nestedProperty(F,I.id+".camera"),k=R.get();function B(ee,te,ae,j){var G=["up","center","eye"],K=["x","y","z"];return te[G[ae]]&&ee[G[ae]][K[j]]===te[G[ae]][K[j]]}var N=!1;if(k===void 0)N=!0;else{for(var q=0;q<3;q++)for(var Y=0;Y<3;Y++)if(!B(z,k,q,Y)){N=!0;break}(!k.projection||z.projection&&z.projection.type!==k.projection.type)&&(N=!0)}return N},E.isAspectChanged=function(F){var I=this,z=I.glplot.getAspectratio(),R=t.nestedProperty(F,I.id+".aspectratio"),k=R.get();return k===void 0||k.x!==z.x||k.y!==z.y||k.z!==z.z},E.saveLayout=function(F){var I=this,z=I.fullLayout,R,k,B,N,q,Y,ee=I.isCameraChanged(F),te=I.isAspectChanged(F),ae=ee||te;if(ae){var j={};if(ee&&(R=I.getCamera(),k=t.nestedProperty(F,I.id+".camera"),B=k.get(),j[I.id+".camera"]=B),te&&(N=I.glplot.getAspectratio(),q=t.nestedProperty(F,I.id+".aspectratio"),Y=q.get(),j[I.id+".aspectratio"]=Y),e.call("_storeDirectGUIEdit",F,z._preGUI,j),ee){k.set(R);var G=t.nestedProperty(z,I.id+".camera");G.set(R)}if(te){q.set(N);var K=t.nestedProperty(z,I.id+".aspectratio");K.set(N),I.glplot.redraw()}}return ae},E.updateFx=function(F,I){var z=this,R=z.camera;if(R)if(F==="orbit")R.mode="orbit",R.keyBindingMode="rotate";else if(F==="turntable"){R.up=[0,0,1],R.mode="turntable",R.keyBindingMode="rotate";var k=z.graphDiv,B=k._fullLayout,N=z.fullSceneLayout.camera,q=N.up.x,Y=N.up.y,ee=N.up.z;if(ee/Math.sqrt(q*q+Y*Y+ee*ee)<.999){var te=z.id+".camera.up",ae={x:0,y:0,z:1},j={};j[te]=ae;var G=k.layout;e.call("_storeDirectGUIEdit",G,B._preGUI,j),N.up=ae,t.nestedProperty(G,te).set(ae)}}else R.keyBindingMode=F;z.fullSceneLayout.hovermode=I};function D(F,I,z){for(var R=0,k=z-1;R0)for(var q=255/N,Y=0;Y<3;++Y)F[B+Y]=Math.min(q*F[B+Y],255)}}E.toImage=function(F){var I=this;F||(F="png"),I.staticMode&&I.container.appendChild(o),I.glplot.redraw();var z=I.glplot.gl,R=z.drawingBufferWidth,k=z.drawingBufferHeight;z.bindFramebuffer(z.FRAMEBUFFER,null);var B=new Uint8Array(R*k*4);z.readPixels(0,0,R,k,z.RGBA,z.UNSIGNED_BYTE,B),D(B,R,k),C(B,R,k);var N=document.createElement("canvas");N.width=R,N.height=k;var q=N.getContext("2d",{willReadFrequently:!0}),Y=q.createImageData(R,k);Y.data.set(B),q.putImageData(Y,0,0);var ee;switch(F){case"jpeg":ee=N.toDataURL("image/jpeg");break;case"webp":ee=N.toDataURL("image/webp");break;default:ee=N.toDataURL("image/png")}return I.staticMode&&I.container.removeChild(o),ee},E.setConvert=function(){for(var F=this,I=0;I<3;I++){var z=F.fullSceneLayout[T[I]];r.setConvert(z,F.fullLayout),z.setScale=t.noop}},E.make4thDimension=function(){var F=this,I=F.graphDiv,z=I._fullLayout;F._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},r.setConvert(F._mockAxis,z)},O.exports=A}}),c4=xe({"src/plots/gl3d/layout/attributes.js"(U,O){"use strict";O.exports={scene:{valType:"subplotid",dflt:"scene",editType:"calc+clearAxisTypes"}}}}),U2=xe({"src/plots/gl3d/layout/axis_attributes.js"(U,O){"use strict";var u=wi(),v=$c(),w=oo().extendFlat,S=Hl().overrideAll;O.exports=S({visible:v.visible,showspikes:{valType:"boolean",dflt:!0},spikesides:{valType:"boolean",dflt:!0},spikethickness:{valType:"number",min:0,dflt:2},spikecolor:{valType:"color",dflt:u.defaultLine},showbackground:{valType:"boolean",dflt:!1},backgroundcolor:{valType:"color",dflt:"rgba(204, 204, 204, 0.5)"},showaxeslabels:{valType:"boolean",dflt:!0},color:v.color,categoryorder:v.categoryorder,categoryarray:v.categoryarray,title:{text:v.title.text,font:v.title.font},type:w({},v.type,{values:["-","linear","log","date","category"]}),autotypenumbers:v.autotypenumbers,autorange:v.autorange,autorangeoptions:{minallowed:v.autorangeoptions.minallowed,maxallowed:v.autorangeoptions.maxallowed,clipmin:v.autorangeoptions.clipmin,clipmax:v.autorangeoptions.clipmax,include:v.autorangeoptions.include,editType:"plot"},rangemode:v.rangemode,minallowed:v.minallowed,maxallowed:v.maxallowed,range:w({},v.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],anim:!1}),tickmode:v.minor.tickmode,nticks:v.nticks,tick0:v.tick0,dtick:v.dtick,tickvals:v.tickvals,ticktext:v.ticktext,ticks:v.ticks,mirror:v.mirror,ticklen:v.ticklen,tickwidth:v.tickwidth,tickcolor:v.tickcolor,showticklabels:v.showticklabels,labelalias:v.labelalias,tickfont:v.tickfont,tickangle:v.tickangle,tickprefix:v.tickprefix,showtickprefix:v.showtickprefix,ticksuffix:v.ticksuffix,showticksuffix:v.showticksuffix,showexponent:v.showexponent,exponentformat:v.exponentformat,minexponent:v.minexponent,separatethousands:v.separatethousands,tickformat:v.tickformat,tickformatstops:v.tickformatstops,hoverformat:v.hoverformat,showline:v.showline,linecolor:v.linecolor,linewidth:v.linewidth,showgrid:v.showgrid,gridcolor:w({},v.gridcolor,{dflt:"rgb(204, 204, 204)"}),gridwidth:v.gridwidth,zeroline:v.zeroline,zerolinecolor:v.zerolinecolor,zerolinewidth:v.zerolinewidth},"plot","from-root")}}),j2=xe({"src/plots/gl3d/layout/layout_attributes.js"(U,O){"use strict";var u=U2(),v=Gl().attributes,w=oo().extendFlat,S=Sr().counterRegex;function l(e,t,a){return{x:{valType:"number",dflt:e,editType:"camera"},y:{valType:"number",dflt:t,editType:"camera"},z:{valType:"number",dflt:a,editType:"camera"},editType:"camera"}}O.exports={_arrayAttrRegexps:[S("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:w(l(0,0,1),{}),center:w(l(0,0,0),{}),eye:w(l(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:v({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:u,yaxis:u,zaxis:u,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"}}}),f4=xe({"src/plots/gl3d/layout/axis_defaults.js"(U,O){"use strict";var u=wi(),v=Sr(),w=Cs(),S=U2(),l=X_(),e=p0(),t=["xaxis","yaxis","zaxis"],a=100*136/187;O.exports=function(n,i,s){var c,p;function f(o,b){return v.coerce(c,p,S,o,b)}for(var d=0;d1;function f(d){if(!p){var y=u.validate(i[d],e[d]);if(y)return i[d]}}S(i,s,c,{type:a,attributes:e,handleDefaults:r,fullLayout:s,font:s.font,fullData:c,getDfltFromLayout:f,autotypenumbersDflt:s.autotypenumbers,paper_bgcolor:s.paper_bgcolor,calendar:s.calendar})};function r(n,i,s,c){for(var p=s("bgcolor"),f=v.combine(p,c.paper_bgcolor),d=["up","center","eye"],y=0;y.999)&&(E="turntable")}else E="turntable";s("dragmode",E),s("hovermode",c.getDfltFromLayout("hovermode"))}}}),$d=xe({"src/plots/gl3d/index.js"(U){"use strict";var O=Hl().overrideAll,u=Nh(),v=u4(),w=df().getSubplotData,S=Sr(),l=fh(),e="gl3d",t="scene";U.name=e,U.attr=t,U.idRoot=t,U.idRegex=U.attrRegex=S.counterRegex("scene"),U.attributes=c4(),U.layoutAttributes=j2(),U.baseLayoutAttrOverrides=O({hoverlabel:u.hoverlabel},"plot","nested"),U.supplyLayoutDefaults=h4(),U.plot=function(r){for(var n=r._fullLayout,i=r._fullData,s=n._subplots[e],c=0;c0){D=c[C];break}return D}function y(x,_){if(!(x<1||_<1)){for(var D=f(x),C=f(_),F=1,I=0;IA;)C--,C/=d(C),C++,C1?F:1};function E(x,_,D){var C=D[8]+D[2]*_[0]+D[5]*_[1];return x[0]=(D[6]+D[0]*_[0]+D[3]*_[1])/C,x[1]=(D[7]+D[1]*_[0]+D[4]*_[1])/C,x}function g(x,_,D){return T(x,_,E,D),x}function T(x,_,D,C){for(var F=[0,0],I=x.shape[0],z=x.shape[1],R=0;R0&&this.contourStart[C]!==null&&this.contourEnd[C]!==null&&this.contourEnd[C]>this.contourStart[C]))for(_[C]=!0,F=this.contourStart[C];FY&&(this.minValues[B]=Y),this.maxValues[B]c&&(a.isomin=null,a.isomax=null);var p=i("x"),f=i("y"),d=i("z"),y=i("value");if(!p||!p.length||!f||!f.length||!d||!d.length||!y||!y.length){a.visible=!1;return}var o=v.getComponentMethod("calendars","handleTraceDefaults");o(t,a,["x","y","z"],n),i("valuehoverformat"),["x","y","z"].forEach(function(E){i(E+"hoverformat");var g="caps."+E,T=i(g+".show");T&&i(g+".fill");var m="slices."+E,h=i(m+".show");h&&(i(m+".fill"),i(m+".locations"))});var b=i("spaceframe.show");b&&i("spaceframe.fill");var M=i("surface.show");M&&(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(E){i(E)}),S(t,a,n,i,{prefix:"",cLetter:"c"}),a._length=null}O.exports={supplyDefaults:l,supplyIsoDefaults:e}}}),F1=xe({"src/traces/streamtube/calc.js"(U,O){"use strict";var u=Sr(),v=xf();function w(t,a){a._len=Math.min(a.u.length,a.v.length,a.w.length,a.x.length,a.y.length,a.z.length),a._u=e(a.u,a._len),a._v=e(a.v,a._len),a._w=e(a.w,a._len),a._x=e(a.x,a._len),a._y=e(a.y,a._len),a._z=e(a.z,a._len);var r=S(a);a._gridFill=r.fill,a._Xs=r.Xs,a._Ys=r.Ys,a._Zs=r.Zs,a._len=r.len;var n=0,i,s,c;a.starts&&(i=e(a.starts.x||[]),s=e(a.starts.y||[]),c=e(a.starts.z||[]),n=Math.min(i.length,s.length,c.length)),a._startsX=i||[],a._startsY=s||[],a._startsZ=c||[];var p=0,f=1/0,d;for(d=0;d1&&(h=a[i-1],_=r[i-1],C=n[i-1]),s=0;sh?"-":"+")+"x"),A=A.replace("y",(x>_?"-":"+")+"y"),A=A.replace("z",(D>C?"-":"+")+"z");var R=function(){i=0,F=[],I=[],z=[]};(!i||i0;f--){var d=Math.min(p[f],p[f-1]),y=Math.max(p[f],p[f-1]);if(y>d&&d-1}function Q(at,Ee){return at===null?Ee:at}function re(at,Ee,Re){ee();var he=[Ee],ye=[Re];if(H>=1)he=[Ee],ye=[Re];else if(H>0){var Ie=X(Ee,Re);he=Ie.xyzv,ye=Ie.abc}for(var Fe=0;Fe-1?Re[We]:Y(pt,ct,ft);_t>-1?He[We]=_t:He[We]=ae(pt,ct,ft,Q(at,mt))}j(He[0],He[1],He[2])}}function ue(at,Ee,Re){var he=function(ye,Ie,Fe){re(at,[Ee[ye],Ee[Ie],Ee[Fe]],[Re[ye],Re[Ie],Re[Fe]])};he(0,1,2),he(2,3,0)}function pe(at,Ee,Re){var he=function(ye,Ie,Fe){re(at,[Ee[ye],Ee[Ie],Ee[Fe]],[Re[ye],Re[Ie],Re[Fe]])};he(0,1,2),he(3,0,1),he(2,3,0),he(1,2,3)}function ge(at,Ee,Re,he){var ye=at[3];yehe&&(ye=he);for(var Ie=(at[3]-ye)/(at[3]-Ee[3]+1e-9),Fe=[],He=0;He<4;He++)Fe[He]=(1-Ie)*at[He]+Ie*Ee[He];return Fe}function Te(at,Ee,Re){return at>=Ee&&at<=Re}function Se(at){var Ee=.001*(R-z);return at>=z-Ee&&at<=R+Ee}function Ce(at){for(var Ee=[],Re=0;Re<4;Re++){var he=at[Re];Ee.push([c._x[he],c._y[he],c._z[he],c._value[he]])}return Ee}var Ue=3;function Oe(at,Ee,Re,he,ye,Ie){Ie||(Ie=1),Re=[-1,-1,-1];var Fe=!1,He=[Te(Ee[0][3],he,ye),Te(Ee[1][3],he,ye),Te(Ee[2][3],he,ye)];if(!He[0]&&!He[1]&&!He[2])return!1;var We=function(ct,ft,mt){return Se(ft[0][3])&&Se(ft[1][3])&&Se(ft[2][3])?(re(ct,ft,mt),!0):IeHe?[F,Ie]:[Ie,I];yt(Ee,We[0],We[1])}}var pt=[[Math.min(z,I),Math.max(z,I)],[Math.min(F,R),Math.max(F,R)]];["x","y","z"].forEach(function(ct){for(var ft=[],mt=0;mt0&&(ca.push(pa.id),ct==="x"?na.push([pa.distRatio,0,0]):ct==="y"?na.push([0,pa.distRatio,0]):na.push([0,0,pa.distRatio]))}else ct==="x"?$r=vr(1,h-1):ct==="y"?$r=vr(1,x-1):$r=vr(1,_-1);ca.length>0&&(ct==="x"?ft[_t]=At(at,ca,Bt,Et,na,ft[_t]):ct==="y"?ft[_t]=It(at,ca,Bt,Et,na,ft[_t]):ft[_t]=Zt(at,ca,Bt,Et,na,ft[_t]),_t++),$r.length>0&&(ct==="x"?ft[_t]=De(at,$r,Bt,Et,ft[_t]):ct==="y"?ft[_t]=qe(at,$r,Bt,Et,ft[_t]):ft[_t]=Ne(at,$r,Bt,Et,ft[_t]),_t++)}var fa=c.caps[ct];fa.show&&fa.fill&&(Z(fa.fill),ct==="x"?ft[_t]=De(at,[0,h-1],Bt,Et,ft[_t]):ct==="y"?ft[_t]=qe(at,[0,x-1],Bt,Et,ft[_t]):ft[_t]=Ne(at,[0,_-1],Bt,Et,ft[_t]),_t++)}}),M===0&&te(),c._meshX=k,c._meshY=B,c._meshZ=N,c._meshIntensity=q,c._Xs=g,c._Ys=T,c._Zs=m}return Jt(),c}function s(c,p){var f=c.glplot.gl,d=u({gl:f}),y=new a(c,d,p.uid);return d._trace=y,y.update(p),c.glplot.add(d),y}O.exports={findNearestOnAxis:t,generateIsoMeshes:i,createIsosurfaceTrace:s}}}),_4=xe({"src/traces/isosurface/index.js"(U,O){"use strict";O.exports={attributes:R1(),supplyDefaults:V2().supplyDefaults,calc:H2(),colorbar:{min:"cmin",max:"cmax"},plot:z1().createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:$d(),categories:["gl3d","showLegend"],meta:{}}}}),b4=xe({"lib/isosurface.js"(U,O){"use strict";O.exports=_4()}}),G2=xe({"src/traces/volume/attributes.js"(U,O){"use strict";var u=pl(),v=R1(),w=Z0(),S=Rs(),l=oo().extendFlat,e=Hl().overrideAll,t=O.exports=e(l({x:v.x,y:v.y,z:v.z,value:v.value,isomin:v.isomin,isomax:v.isomax,surface:v.surface,spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:1}},slices:v.slices,caps:v.caps,text:v.text,hovertext:v.hovertext,xhoverformat:v.xhoverformat,yhoverformat:v.yhoverformat,zhoverformat:v.zhoverformat,valuehoverformat:v.valuehoverformat,hovertemplate:v.hovertemplate,hovertemplatefallback:v.hovertemplatefallback},u("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{colorbar:v.colorbar,opacity:v.opacity,opacityscale:w.opacityscale,lightposition:v.lightposition,lighting:v.lighting,flatshading:v.flatshading,contour:v.contour,hoverinfo:l({},S.hoverinfo),showlegend:l({},S.showlegend,{dflt:!1})}),"calc","nested");t.x.editType=t.y.editType=t.z.editType=t.value.editType="calc+clearAxisTypes"}}),x4=xe({"src/traces/volume/defaults.js"(U,O){"use strict";var u=Sr(),v=G2(),w=V2().supplyIsoDefaults,S=q2().opacityscaleDefaults;O.exports=function(e,t,a,r){function n(i,s){return u.coerce(e,t,v,i,s)}w(e,t,a,r,n),S(e,t,r,n)}}}),w4=xe({"src/traces/volume/convert.js"(U,O){"use strict";var u=Jc().gl_mesh3d,v=yd().parseColorScale,w=Sr().isArrayOrTypedArray,S=gd(),l=Bl().extractOpts,e=Pp(),t=z1().findNearestOnAxis,a=z1().generateIsoMeshes;function r(s,c,p){this.scene=s,this.uid=p,this.mesh=c,this.name="",this.data=null,this.showContour=!1}var n=r.prototype;n.handlePick=function(s){if(s.object===this.mesh){var c=s.data.index,p=this.data._meshX[c],f=this.data._meshY[c],d=this.data._meshZ[c],y=this.data._Ys.length,o=this.data._Zs.length,b=t(p,this.data._Xs).id,M=t(f,this.data._Ys).id,A=t(d,this.data._Zs).id,E=s.index=A+o*M+o*y*b;s.traceCoordinate=[this.data._meshX[E],this.data._meshY[E],this.data._meshZ[E],this.data._value[E]];var g=this.data.hovertext||this.data.text;return w(g)&&g[E]!==void 0?s.textLabel=g[E]:g&&(s.textLabel=g),!0}},n.update=function(s){var c=this.scene,p=c.fullSceneLayout;this.data=a(s);function f(M,A,E,g){return A.map(function(T){return M.d2l(T,0,g)*E})}var d=e(f(p.xaxis,s._meshX,c.dataScale[0],s.xcalendar),f(p.yaxis,s._meshY,c.dataScale[1],s.ycalendar),f(p.zaxis,s._meshZ,c.dataScale[2],s.zcalendar)),y=e(s._meshI,s._meshJ,s._meshK),o={positions:d,cells:y,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:S(s.contour.color).slice(0,3),contourWidth:s.contour.width,useFacetNormals:s.flatshading},b=l(s);o.vertexIntensity=s._meshIntensity,o.vertexIntensityBounds=[b.min,b.max],o.colormap=v(s),this.mesh.update(o)},n.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function i(s,c){var p=s.glplot.gl,f=u({gl:p}),d=new r(s,f,c.uid);return f._trace=d,d.update(c),s.glplot.add(f),d}O.exports=i}}),T4=xe({"src/traces/volume/index.js"(U,O){"use strict";O.exports={attributes:G2(),supplyDefaults:x4(),calc:H2(),colorbar:{min:"cmin",max:"cmax"},plot:w4(),moduleType:"trace",name:"volume",basePlotModule:$d(),categories:["gl3d","showLegend"],meta:{}}}}),A4=xe({"lib/volume.js"(U,O){"use strict";O.exports=T4()}}),M4=xe({"src/traces/mesh3d/defaults.js"(U,O){"use strict";var u=Ci(),v=Sr(),w=Fc(),S=Lp();O.exports=function(e,t,a,r){function n(f,d){return v.coerce(e,t,S,f,d)}function i(f){var d=f.map(function(y){var o=n(y);return o&&v.isArrayOrTypedArray(o)?o:null});return d.every(function(y){return y&&y.length===d[0].length})&&d}var s=i(["x","y","z"]);if(!s){t.visible=!1;return}if(i(["i","j","k"]),t.i&&(!t.j||!t.k)||t.j&&(!t.k||!t.i)||t.k&&(!t.i||!t.j)){t.visible=!1;return}var c=u.getComponentMethod("calendars","handleTraceDefaults");c(e,t,["x","y","z"],r),["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(f){n(f)});var p=n("contour.show");p&&(n("contour.color"),n("contour.width")),"intensity"in e?(n("intensity"),n("intensitymode"),w(e,t,r,n,{prefix:"",cLetter:"c"})):(t.showscale=!1,"facecolor"in e?n("facecolor"):"vertexcolor"in e?n("vertexcolor"):n("color",a)),n("text"),n("hovertext"),n("hovertemplate"),n("hovertemplatefallback"),n("xhoverformat"),n("yhoverformat"),n("zhoverformat"),t._length=null}}}),S4=xe({"src/traces/mesh3d/calc.js"(U,O){"use strict";var u=xf();O.exports=function(w,S){S.intensity&&u(w,S,{vals:S.intensity,containerStr:"",cLetter:"c"})}}}),E4=xe({"src/traces/mesh3d/convert.js"(U,O){"use strict";var u=Jc().gl_mesh3d,v=Jc().delaunay_triangulate,w=Jc().alpha_shape,S=Jc().convex_hull,l=yd().parseColorScale,e=Sr().isArrayOrTypedArray,t=gd(),a=Bl().extractOpts,r=Pp();function n(o,b,M){this.scene=o,this.uid=M,this.mesh=b,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var i=n.prototype;i.handlePick=function(o){if(o.object===this.mesh){var b=o.index=o.data.index;o.data._cellCenter?o.traceCoordinate=o.data.dataCoordinate:o.traceCoordinate=[this.data.x[b],this.data.y[b],this.data.z[b]];var M=this.data.hovertext||this.data.text;return e(M)&&M[b]!==void 0?o.textLabel=M[b]:M&&(o.textLabel=M),!0}};function s(o){for(var b=[],M=o.length,A=0;A=b-.5)return!1;return!0}i.update=function(o){var b=this.scene,M=b.fullSceneLayout;this.data=o;var A=o.x.length,E=r(c(M.xaxis,o.x,b.dataScale[0],o.xcalendar),c(M.yaxis,o.y,b.dataScale[1],o.ycalendar),c(M.zaxis,o.z,b.dataScale[2],o.zcalendar)),g;if(o.i&&o.j&&o.k){if(o.i.length!==o.j.length||o.j.length!==o.k.length||!d(o.i,A)||!d(o.j,A)||!d(o.k,A))return;g=r(p(o.i),p(o.j),p(o.k))}else o.alphahull===0?g=S(E):o.alphahull>0?g=w(o.alphahull,E):g=f(o.delaunayaxis,E);var T={positions:E,cells:g,lightPosition:[o.lightposition.x,o.lightposition.y,o.lightposition.z],ambient:o.lighting.ambient,diffuse:o.lighting.diffuse,specular:o.lighting.specular,roughness:o.lighting.roughness,fresnel:o.lighting.fresnel,vertexNormalsEpsilon:o.lighting.vertexnormalsepsilon,faceNormalsEpsilon:o.lighting.facenormalsepsilon,opacity:o.opacity,contourEnable:o.contour.show,contourColor:t(o.contour.color).slice(0,3),contourWidth:o.contour.width,useFacetNormals:o.flatshading};if(o.intensity){var m=a(o);this.color="#fff";var h=o.intensitymode;T[h+"Intensity"]=o.intensity,T[h+"IntensityBounds"]=[m.min,m.max],T.colormap=l(o)}else o.vertexcolor?(this.color=o.vertexcolor[0],T.vertexColors=s(o.vertexcolor)):o.facecolor?(this.color=o.facecolor[0],T.cellColors=s(o.facecolor)):(this.color=o.color,T.meshColor=t(o.color));this.mesh.update(T)},i.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function y(o,b){var M=o.glplot.gl,A=u({gl:M}),E=new n(o,A,b.uid);return A._trace=E,E.update(b),o.glplot.add(A),E}O.exports=y}}),k4=xe({"src/traces/mesh3d/index.js"(U,O){"use strict";O.exports={attributes:Lp(),supplyDefaults:M4(),calc:S4(),colorbar:{min:"cmin",max:"cmax"},plot:E4(),moduleType:"trace",name:"mesh3d",basePlotModule:$d(),categories:["gl3d","showLegend"],meta:{}}}}),C4=xe({"lib/mesh3d.js"(U,O){"use strict";O.exports=k4()}}),W2=xe({"src/traces/cone/attributes.js"(U,O){"use strict";var u=pl(),v=Kl().axisHoverFormat,{hovertemplateAttrs:w,templatefallbackAttrs:S}=js(),l=Lp(),e=Rs(),t=oo().extendFlat,a={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:w({editType:"calc"},{keys:["norm"]}),hovertemplatefallback:S({editType:"calc"}),uhoverformat:v("u",1),vhoverformat:v("v",1),whoverformat:v("w",1),xhoverformat:v("x"),yhoverformat:v("y"),zhoverformat:v("z"),showlegend:t({},e.showlegend,{dflt:!1})};t(a,u("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));var r=["opacity","lightposition","lighting"];r.forEach(function(n){a[n]=l[n]}),a.hoverinfo=t({},e.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"}),O.exports=a}}),L4=xe({"src/traces/cone/defaults.js"(U,O){"use strict";var u=Sr(),v=Fc(),w=W2();O.exports=function(l,e,t,a){function r(y,o){return u.coerce(l,e,w,y,o)}var n=r("u"),i=r("v"),s=r("w"),c=r("x"),p=r("y"),f=r("z");if(!n||!n.length||!i||!i.length||!s||!s.length||!c||!c.length||!p||!p.length||!f||!f.length){e.visible=!1;return}var d=r("sizemode");r("sizeref",d==="raw"?1:.5),r("anchor"),r("lighting.ambient"),r("lighting.diffuse"),r("lighting.specular"),r("lighting.roughness"),r("lighting.fresnel"),r("lightposition.x"),r("lightposition.y"),r("lightposition.z"),v(l,e,a,r,{prefix:"",cLetter:"c"}),r("text"),r("hovertext"),r("hovertemplate"),r("hovertemplatefallback"),r("uhoverformat"),r("vhoverformat"),r("whoverformat"),r("xhoverformat"),r("yhoverformat"),r("zhoverformat"),e._length=null}}}),P4=xe({"src/traces/cone/calc.js"(U,O){"use strict";var u=xf();O.exports=function(w,S){for(var l=S.u,e=S.v,t=S.w,a=Math.min(S.x.length,S.y.length,S.z.length,l.length,e.length,t.length),r=-1/0,n=1/0,i=0;i2?d=p.slice(1,f-1):f===2?d=[(p[0]+p[1])/2]:d=p,d}function i(p){var f=p.length;return f===1?[.5,.5]:[p[1]-p[0],p[f-1]-p[f-2]]}function s(p,f){var d=p.fullSceneLayout,y=p.dataScale,o=f._len,b={};function M(ae,j){var G=d[j],K=y[t[j]];return w.simpleMap(ae,function(H){return G.d2l(H)*K})}if(b.vectors=e(M(f._u,"xaxis"),M(f._v,"yaxis"),M(f._w,"zaxis"),o),!o)return{positions:[],cells:[]};var A=M(f._Xs,"xaxis"),E=M(f._Ys,"yaxis"),g=M(f._Zs,"zaxis");b.meshgrid=[A,E,g],b.gridFill=f._gridFill;var T=f._slen;if(T)b.startingPositions=e(M(f._startsX,"xaxis"),M(f._startsY,"yaxis"),M(f._startsZ,"zaxis"));else{for(var m=E[0],h=n(A),x=n(g),_=new Array(h.length*x.length),D=0,C=0;Cm&&(m=D[0]),D[1]h&&(h=D[1])}function _(D){switch(D.type){case"GeometryCollection":D.geometries.forEach(_);break;case"Point":x(D.coordinates);break;case"MultiPoint":D.coordinates.forEach(x);break}}M.arcs.forEach(function(D){for(var C=-1,F=D.length,I;++Cm&&(m=I[0]),I[1]h&&(h=I[1])});for(E in M.objects)_(M.objects[E]);return[g,T,m,h]}function l(M,A){for(var E,g=M.length,T=g-A;T<--g;)E=M[T],M[T++]=M[g],M[g]=E}function e(M,A){return typeof A=="string"&&(A=M.objects[A]),A.type==="GeometryCollection"?{type:"FeatureCollection",features:A.geometries.map(function(E){return t(M,E)})}:t(M,A)}function t(M,A){var E=A.id,g=A.bbox,T=A.properties==null?{}:A.properties,m=a(M,A);return E==null&&g==null?{type:"Feature",properties:T,geometry:m}:g==null?{type:"Feature",id:E,properties:T,geometry:m}:{type:"Feature",id:E,bbox:g,properties:T,geometry:m}}function a(M,A){var E=w(M.transform),g=M.arcs;function T(C,F){F.length&&F.pop();for(var I=g[C<0?~C:C],z=0,R=I.length;z1)g=s(M,A,E);else for(T=0,g=new Array(m=M.arcs.length);T1)for(var F=1,I=x(D[0]),z,R;FI&&(R=D[0],D[0]=D[F],D[F]=R,I=z);return D}).filter(function(_){return _.length>0})}}function d(M,A){for(var E=0,g=M.length;E>>1;M[T]=2))throw new Error("n must be \u22652");_=M.bbox||S(M);var E=_[0],g=_[1],T=_[2],m=_[3],h;A={scale:[T-E?(T-E)/(h-1):1,m-g?(m-g)/(h-1):1],translate:[E,g]}}else _=M.bbox;var x=o(A),_,D,C=M.objects,F={};function I(k){return x(k)}function z(k){var B;switch(k.type){case"GeometryCollection":B={type:"GeometryCollection",geometries:k.geometries.map(z)};break;case"Point":B={type:"Point",coordinates:I(k.coordinates)};break;case"MultiPoint":B={type:"MultiPoint",coordinates:k.coordinates.map(I)};break;default:return k}return k.id!=null&&(B.id=k.id),k.bbox!=null&&(B.bbox=k.bbox),k.properties!=null&&(B.properties=k.properties),B}function R(k){var B=0,N=1,q=k.length,Y,ee=new Array(q);for(ee[0]=x(k[0],0);++B0&&(S.push(l),l=[])}return l.length>0&&S.push(l),S},U.makeLine=function(u){return u.length===1?{type:"LineString",coordinates:u[0]}:{type:"MultiLineString",coordinates:u}},U.makePolygon=function(u){if(u.length===1)return{type:"Polygon",coordinates:u};for(var v=new Array(u.length),w=0;w{for(var M in b)u(o,M,{get:b[M],enumerable:!0})},e=(o,b,M,A)=>{if(b&&typeof b=="object"||typeof b=="function")for(let E of w(b))!S.call(o,E)&&E!==M&&u(o,E,{get:()=>b[E],enumerable:!(A=v(b,E))||A.enumerable});return o},t=o=>e(u({},"__esModule",{value:!0}),o),a={};l(a,{COUNTRIES:()=>r,byAlpha2:()=>d,byAlpha3:()=>f,byM49:()=>y,createLookup:()=>i,lookup:()=>c,lookupAlpha3:()=>p,sanitize:()=>n}),O.exports=t(a);var r=[{iso3:"ABW",iso2:"AW",m49:"533",name:"Aruba",aliases:["\u{1F1E6}\u{1F1FC}","country of aruba","land aruba","pais aruba"]},{iso3:"AFG",iso2:"AF",m49:"004",name:"Afghanistan",aliases:["\u{1F1E6}\u{1F1EB}","affghanistan","affghanisthan","affghaunistan","afghania","afghanisthan","afghaunistan","afghaunistaun","afgoniston","de afghanistan islami jumhuriyat","owganystan","\u0430\u0444\u0493\u043E\u043D\u0438\u0441\u0442\u043E\u043D","\u0623\u0641\u063A\u0627\u0646\u0633\u062A\u0627\u0646","\u0627\u0641\u063A\u0627\u0646\u0633\u062A\u0627\u0646","\u062F \u0627\u0641\u063A\u0627\u0646\u0633\u062A\u0627\u0646 \u0627\u0633\u0644\u0627\u0645\u06CC \u062C\u0645\u0647\u0648\u0631\u06CC\u062A"]},{iso3:"AGO",iso2:"AO",m49:"024",name:"Angola",aliases:["\u{1F1E6}\u{1F1F4}","republic of angola","republica de angola"]},{iso3:"AIA",iso2:"AI",m49:"660",name:"Anguilla",aliases:["\u{1F1E6}\u{1F1EE}","malliouhana"]},{iso3:"ALA",iso2:"AX",m49:"248",name:"\xC5land Islands",aliases:["\u{1F1E6}\u{1F1FD}","aaland","aaland islands","ahvenanmaa","aland","aland isles","aland region","alands lan","landskapet aland"]},{iso3:"ALB",iso2:"AL",m49:"008",name:"Albania",aliases:["\u{1F1E6}\u{1F1F1}","peoples republic of albania","peoples socialist republic of albania","republic of albania","republika e shqiperise","shqiperi","shqiperia","shqiperise","socialist republic of albania"]},{iso3:"AND",iso2:"AD",m49:"020",name:"Andorra",aliases:["\u{1F1E6}\u{1F1E9}","el pais dels pirineus","les valls dandorra","principality of andorra","principality of the valleys of andorra","principat dandorra","valls dandorra"]},{iso3:"ARE",iso2:"AE",m49:"784",name:"United Arab Emirates",aliases:["\u{1F1E6}\u{1F1EA}","emirates","uae","\u0627\u0644\u0625\u0645\u0627\u0631\u0627\u062A","\u0627\u0644\u0625\u0645\u0627\u0631\u0627\u062A \u0627\u0644\u0639\u0631\u0628\u064A\u0629 \u0627\u0644\u0645\u062A\u062D\u062F\u0629","\u0627\u0644\u0627\u0645\u0627\u0631\u0627\u062A","\u0627\u0644\u0627\u0645\u0627\u0631\u0627\u062A \u0627\u0644\u0639\u0631\u0628\u064A\u0629 \u0627\u0644\u0645\u062A\u062D\u062F\u0629","\u062F\u0648\u0644\u0629 \u0627\u0644\u0625\u0645\u0627\u0631\u0627\u062A \u0627\u0644\u0639\u0631\u0628\u064A\u0629 \u0627\u0644\u0645\u062A\u062D\u062F\u0629"]},{iso3:"ARG",iso2:"AR",m49:"032",name:"Argentina",aliases:["\u{1F1E6}\u{1F1F7}","argentine republic","nacion argentina","republic of argentina","republica argentina"]},{iso3:"ARM",iso2:"AM",m49:"051",name:"Armenia",aliases:["\u{1F1E6}\u{1F1F2}","hayastan","hayastani hanrapetutyun","republic of armenia","\u0570\u0561\u0575\u0561\u057D\u057F\u0561\u0576","\u0570\u0561\u0575\u0561\u057D\u057F\u0561\u0576\u056B \u0570\u0561\u0576\u0580\u0561\u057A\u0565\u057F\u0578\u0582\u0569\u0575\u0578\u0582\u0576","\u0570\u0561\u0575\u0584","\u0570\u0570"]},{iso3:"ASM",iso2:"AS",m49:"016",name:"American Samoa",aliases:["\u{1F1E6}\u{1F1F8}","amerika samoa","east samoa","samoa american","samoa united states","territory of american samoa","us samoa"]},{iso3:"ATA",iso2:"AQ",m49:"010",name:"Antarctica",aliases:["\u{1F1E6}\u{1F1F6}","antarctica treaty area"]},{iso3:"ATF",iso2:"TF",m49:"260",name:"French Southern Territories",aliases:["\u{1F1F9}\u{1F1EB}","taaf","terres australes et antarctiques francaises","terres australes francaises","terres australes francaises les","territoire des terres australes et antarctiques francaises"]},{iso3:"ATG",iso2:"AG",m49:"028",name:"Antigua and Barbuda",aliases:["\u{1F1E6}\u{1F1EC}","antigua","antigua barbuda","barbuda"]},{iso3:"AUS",iso2:"AU",m49:"036",name:"Australia",aliases:["\u{1F1E6}\u{1F1FA}","commonwealth of australia","new holland","new hollandia","nova hollandia"]},{iso3:"AUT",iso2:"AT",m49:"040",name:"Austria",aliases:["\u{1F1E6}\u{1F1F9}","osterreich","republic of austria","republik osterreich","zweite republik"]},{iso3:"AZE",iso2:"AZ",m49:"031",name:"Azerbaijan",aliases:["\u{1F1E6}\u{1F1FF}","az\u0259rbaycan","az\u0259rbaycan respublikas\u0131","republic of azerbaijan"]},{iso3:"BDI",iso2:"BI",m49:"108",name:"Burundi",aliases:["\u{1F1E7}\u{1F1EE}","gouvernement du burundi","la republique du burundi","republic of burundi","republika yu burundi","republika yuburundi","republique du burundi","repuburika yuburundi","uburundi"]},{iso3:"BEL",iso2:"BE",m49:"056",name:"Belgium",aliases:["\u{1F1E7}\u{1F1EA}","belg","belgie","belgien","belgique","kingdom of belgium","konigreich belgien","koninkrijk belgie","royaume de belgique"]},{iso3:"BEN",iso2:"BJ",m49:"204",name:"Benin",aliases:["\u{1F1E7}\u{1F1EF}","dahomey","la republique du benin","republic of benin","republique du benin"]},{iso3:"BES",iso2:"BQ",m49:"535",name:"Bonaire, Sint Eustatius and Saba",aliases:["\u{1F1E7}\u{1F1F6}","bes eilanden","bes islands","bijzondere gemeente","bonaire","bonaire saint eustatius and saba","bonaire sint eustatius en saba","caraibisch nederland","caribbean netherlands","caribisch nederland","hulanda karibense","islanan bes","netherlands antilles","saba","sint eustatius"]},{iso3:"BFA",iso2:"BF",m49:"854",name:"Burkina Faso",aliases:["\u{1F1E7}\u{1F1EB}","republic of burkina faso","republic of upper volta"]},{iso3:"BGD",iso2:"BD",m49:"050",name:"Bangladesh",aliases:["\u{1F1E7}\u{1F1E9}","bangla desh","gonaoprojatontri bangladesh","peoples republic of bangladesh","\u0997\u09A3\u09AA\u09CD\u09B0\u099C\u09BE\u09A4\u09A8\u09CD\u09A4\u09CD\u09B0\u09C0 \u09AC\u09BE\u0982\u09B2\u09BE\u09A6\u09C7\u09B6","\u09AC\u09BE\u0982\u09B2\u09BE \u09A6\u09C7\u09B6","\u09AC\u09BE\u0982\u09B2\u09BE\u09A6\u09C7\u09B6","\u09AC\u09BF\u09A1\u09BF"]},{iso3:"BGR",iso2:"BG",m49:"100",name:"Bulgaria",aliases:["\u{1F1E7}\u{1F1EC}","bulgarian republic","republic of bulgaria","republika bulgaria","republika bulgariya","\u0431\u0433","\u0431\u044A\u043B\u0433\u0430\u0440\u0438\u044F","\u0440\u0435\u043F\u0443\u0431\u043B\u0438\u043A\u0430 \u0431\u044A\u043B\u0433\u0430\u0440\u0438\u044F"]},{iso3:"BHR",iso2:"BH",m49:"048",name:"Bahrain",aliases:["\u{1F1E7}\u{1F1ED}","bahrein islands","kingdom of bahrain","\u0627\u0644\u0628\u062D\u0631\u064A\u0646","\u062F\u0648\u0644\u0629 \u0627\u0644\u0628\u062D\u0631\u064A\u0646","\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0628\u062D\u0631\u064A\u0646"]},{iso3:"BHS",iso2:"BS",m49:"044",name:"Bahamas",aliases:["\u{1F1E7}\u{1F1F8}","bahama islands","bahamas the","commonwealth of the bahamas"]},{iso3:"BIH",iso2:"BA",m49:"070",name:"Bosnia and Herzegovina",aliases:["\u{1F1E7}\u{1F1E6}","bosna","bosna i hercegovina","bosnia","bosnia and hercegovina","bosnia herzegovina","hercegovina","herzegovina","\u0431\u0438\u0445","\u0431\u043E\u0441\u043D\u0430","\u0431\u043E\u0441\u043D\u0430 \u0438 \u0445\u0435\u0440\u0446\u0435\u0433\u043E\u0432\u0438\u043D\u0430","\u0431\u0445"]},{iso3:"BLM",iso2:"BL",m49:"652",name:"Saint Barth\xE9lemy",aliases:["\u{1F1E7}\u{1F1F1}","collectivite doutre mer de saint barthelemy","collectivite territoriale de saint barthelemy","collectivity of saint barthelemy","saint barth","saint barths","saint barts","saint bartz"]},{iso3:"BLR",iso2:"BY",m49:"112",name:"Belarus",aliases:["\u{1F1E7}\u{1F1FE}","republic of belarus","respublika belarus","respublika byelarus","\u0431\u0435\u043B\u0430\u0440\u0443\u0441\u043A\u0430\u044F \u0440\u044D\u0441\u043F\u0443\u0431\u043B\u0456\u043A\u0430","\u0431\u0435\u043B\u0430\u0440\u0443\u0441\u044C","\u0431\u0435\u043B\u0430\u044F \u0440\u0443\u0441\u044C","\u0431\u0435\u043B\u043E\u0440\u0443\u0441\u0441\u0438\u044F","\u0440\u0431","\u0440\u0435\u0441\u043F\u0443\u0431\u043B\u0438\u043A\u0430 \u0431\u0435\u043B\u0430\u0440\u0443\u0441\u044C","\u0440\u044D\u0441\u043F\u0443\u0431\u043B\u0456\u043A\u0430 \u0431\u0435\u043B\u0430\u0440\u0443\u0441\u044C"]},{iso3:"BLZ",iso2:"BZ",m49:"084",name:"Belize",aliases:["\u{1F1E7}\u{1F1FF}"]},{iso3:"BMU",iso2:"BM",m49:"060",name:"Bermuda",aliases:["\u{1F1E7}\u{1F1F2}","barmuda","barmuda i","barmuda isl","barmuda islands","barmudas","bermoothes","bermuda islands","bermudas","bermudian islands","colony of bermuda","devils isles","isle of devils","somers islands","somers isles","summers isles","territory of bermuda","virgineola"]},{iso3:"BOL",iso2:"BO",m49:"068",name:"Bolivia (Plurinational State of)",aliases:["\u{1F1E7}\u{1F1F4}","bolivia","bulibiya","estado plurinacional de bolivia","plurinational state of bolivia","puliwya","republic of bolivia","republica de bolivia","volivia","wuliwiya","wuliwya"]},{iso3:"BRA",iso2:"BR",m49:"076",name:"Brazil",aliases:["\u{1F1E7}\u{1F1F7}","brasil","federative republic of brazil","pindorama","republica federativa do brasil"]},{iso3:"BRB",iso2:"BB",m49:"052",name:"Barbados",aliases:["\u{1F1E7}\u{1F1E7}","barbadoes"]},{iso3:"BRN",iso2:"BN",m49:"096",name:"Brunei Darussalam",aliases:["\u{1F1E7}\u{1F1F3}","brunei","nation of brunei the abode of peace","negara brunei darussalam"]},{iso3:"BTN",iso2:"BT",m49:"064",name:"Bhutan",aliases:["\u{1F1E7}\u{1F1F9}","kingdom of bhutan","\u0F60\u0F56\u0FB2\u0F74\u0F42","\u0F60\u0F56\u0FB2\u0F74\u0F42\u0F0B\u0F61\u0F74\u0F63\u0F0B","\u0F60\u0F56\u0FB2\u0F74\u0F42\u0F61\u0F74\u0F63\u0F0B\u0F0B"]},{iso3:"BVT",iso2:"BV",m49:"074",name:"Bouvet Island",aliases:["\u{1F1E7}\u{1F1FB}"]},{iso3:"BWA",iso2:"BW",m49:"072",name:"Botswana",aliases:["\u{1F1E7}\u{1F1FC}","lefatshe la botswana","republic of botswana"]},{iso3:"CAF",iso2:"CF",m49:"140",name:"Central African Republic",aliases:["\u{1F1E8}\u{1F1EB}","centrafricaine republique","centrafrique","central africa","kodorosese ti beafrika","la republique","rep centrafrique","republique centrafricaine"]},{iso3:"CAN",iso2:"CA",m49:"124",name:"Canada",aliases:["\u{1F1E8}\u{1F1E6}","le canada"]},{iso3:"CCK",iso2:"CC",m49:"166",name:"Cocos (Keeling) Islands",aliases:["\u{1F1E8}\u{1F1E8}","cocos islands","keeling islands","territory of the cocos keeling islands"]},{iso3:"CHE",iso2:"CH",m49:"756",name:"Switzerland",aliases:["\u{1F1E8}\u{1F1ED}","confederation helvetique","confederation suisse","confederazione elvetica","confederazione svizzera","confederaziun svizra","confoederatio helvetica","conf\u0153deratio helvetica","eidgenossenschaft","elvezia","helvetie","la confederation suisse","schweiz","schweizerische eidgenossenschaft","suisse","svizra","svizzera","swiss","swiss confederation"]},{iso3:"CHL",iso2:"CL",m49:"152",name:"Chile",aliases:["\u{1F1E8}\u{1F1F1}","republic of chile","republica de chile"]},{iso3:"CHN",iso2:"CN",m49:"156",name:"China",aliases:["\u{1F1E8}\u{1F1F3}","china pr","peoples republic of china","pr china","prc","\u4E2D\u534E\u4EBA\u6C11\u5171\u548C\u56FD","\u4E2D\u56FD"]},{iso3:"CIV",iso2:"CI",m49:"384",name:"C\xF4te d'Ivoire",aliases:["\u{1F1E8}\u{1F1EE}","cote ivoire","ivory coast","republic of cote divoire","republic of ivory coast","republic of the ivory coast","republique de cote divoire"]},{iso3:"CMR",iso2:"CM",m49:"120",name:"Cameroon",aliases:["\u{1F1E8}\u{1F1F2}","cameroun","la republique du cameroun","republic of cameroon","republique du cameroun"]},{iso3:"COD",iso2:"CD",m49:"180",name:"Democratic Republic of the Congo",aliases:["\u{1F1E8}\u{1F1E9}","congo belge","congo democratic republic of the","congo kinshasa","dem rep congo","dem republic of congo","dem republic of the congo","democratic republic of congo","dr congo","rd congo","rep demcongo","republic of the congo","republique democratique du congo","republique du zaire","zaire"]},{iso3:"COG",iso2:"CG",m49:"178",name:"Congo",aliases:["\u{1F1E8}\u{1F1EC}","congo brazza","congo brazzaville","congo republic","rep congo","republic of congo","republique du congo"]},{iso3:"COK",iso2:"CK",m49:"184",name:"Cook Islands",aliases:["\u{1F1E8}\u{1F1F0}","cook group","hervey islands"]},{iso3:"COL",iso2:"CO",m49:"170",name:"Colombia",aliases:["\u{1F1E8}\u{1F1F4}","republic of colombia","republica de colombia"]},{iso3:"COM",iso2:"KM",m49:"174",name:"Comoros",aliases:["\u{1F1F0}\u{1F1F2}","comores","comores archipel","etat comorien","lunion des comores","republique des comores","republique federale et islamique des comores","republique federale islamique des comores","territoire des comores","union des comores","union of the comoros","\u0625\u062A\u062D\u0627\u062F \u0627\u0644\u0642\u0645\u0631","\u0627\u062A\u062D\u0627\u062F \u062C\u0632\u0631 \u0627\u0644\u0642\u0645\u0631","\u0627\u0644\u0627\u062A\u062D\u0627\u062F \u0627\u0644\u0642\u0645\u0631\u064A","\u0627\u0644\u0642\u0645\u0631","\u062C\u0632\u0631 \u0627\u0644\u0642\u0645\u0631","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0642\u0645\u0631 \u0627\u0644\u0645\u062A\u062D\u062F\u0629","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u062C\u0632\u0631 \u0627\u0644\u0642\u0645\u0631 \u0627\u0644\u0627\u062A\u062D\u0627\u062F\u064A\u0629 \u0627\u0644\u0625\u0633\u0644\u0627\u0645\u064A\u0629","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u062C\u0632\u0631\u0627\u0644\u0642\u0645\u0631 \u0627\u0644\u0645\u062A\u062D\u062F\u0629"]},{iso3:"CPV",iso2:"CV",m49:"132",name:"Cabo Verde",aliases:["\u{1F1E8}\u{1F1FB}","cape verde","cape verde islands","kab verd","kabu verdi","kauberdi","republic of cabo verde","republic of cape verde","republica de cabo verde"]},{iso3:"CRI",iso2:"CR",m49:"188",name:"Costa Rica",aliases:["\u{1F1E8}\u{1F1F7}","republic of costa rica","republica de costa rica"]},{iso3:"CUB",iso2:"CU",m49:"192",name:"Cuba",aliases:["\u{1F1E8}\u{1F1FA}","isla juana","republic of cuba","republica de cuba"]},{iso3:"CUW",iso2:"CW",m49:"531",name:"Cura\xE7ao",aliases:["\u{1F1E8}\u{1F1FC}","corsou","corsouw","corsow","country of curacao","curacau","curacoa","curazao","cura\u03C2ao","curocao","island territory of curacao","korsou","land curacao","pais korsou"]},{iso3:"CXR",iso2:"CX",m49:"162",name:"Christmas Island",aliases:["\u{1F1E8}\u{1F1FD}","christmas island other territories","christmas island other territories australia","territory of christmas island"]},{iso3:"CYM",iso2:"KY",m49:"136",name:"Cayman Islands",aliases:["\u{1F1F0}\u{1F1FE}","caymans"]},{iso3:"CYP",iso2:"CY",m49:"196",name:"Cyprus",aliases:["\u{1F1E8}\u{1F1FE}","greek administration of southern cyprus","greek cypriot state","guney k\u0131br\u0131s","guney k\u0131br\u0131s rum cumhuriyeti","guney k\u0131br\u0131s rum kesimi","guney k\u0131br\u0131s rum yonetimi","kipriaki dhimokratia","k\u0131br\u0131s","k\u0131br\u0131s cumhuriyeti","k\u0131br\u0131s rum kesimi","kypriaki dimokratia","kypros","republic of cyprus","\u03BA\u03C5\u03C0\u03C1\u03B9\u03B1\u03BA\u03B7 \u03B4\u03B7\u03BC\u03BF\u03BA\u03C1\u03B1\u03C4\u03B9\u03B1","\u03BA\u03C5\u03C0\u03C1\u03BF\u03C2"]},{iso3:"CZE",iso2:"CZ",m49:"203",name:"Czechia",aliases:["\u{1F1E8}\u{1F1FF}","ceska republika","ceske kraje","ceske uzemi","ceske zeme","cesko","cr","czech republic"]},{iso3:"DEU",iso2:"DE",m49:"276",name:"Germany",aliases:["\u{1F1E9}\u{1F1EA}","br deutschland","bundesrepublik","bundesrepublik deutschland","deutschland","federal republic of germany"]},{iso3:"DJI",iso2:"DJ",m49:"262",name:"Djibouti",aliases:["\u{1F1E9}\u{1F1EF}","la republique de djibouti","republic of djibouti","republique de djibouti","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u062C\u064A\u0628\u0648\u062A\u064A","\u062C\u064A\u0628\u0648\u062A\u064A"]},{iso3:"DMA",iso2:"DM",m49:"212",name:"Dominica",aliases:["\u{1F1E9}\u{1F1F2}","commonwealth of dominica","island of dominica","waitu kubuli"]},{iso3:"DNK",iso2:"DK",m49:"208",name:"Denmark",aliases:["\u{1F1E9}\u{1F1F0}","dania","danmark","denmark proper","kongeriget danmark","metropolitan denmark"]},{iso3:"DOM",iso2:"DO",m49:"214",name:"Dominican Republic",aliases:["\u{1F1E9}\u{1F1F4}","dominicana","domrep","haiti espanol","quisqueya","republica de santo domingo","republica dominicana","santo domingo"]},{iso3:"DZA",iso2:"DZ",m49:"012",name:"Algeria",aliases:["\u{1F1E9}\u{1F1FF}","peoples democratic republic of algeria","\u0627\u0644\u062C\u0632\u0627\u0626\u0631","\u0627\u0644\u062C\u0632\u0627\u064A\u0631","\u0627\u0644\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u062C\u0632\u0627\u0626\u0631\u064A\u0629 \u0627\u0644\u062F\u064A\u0645\u0642\u0631\u0627\u0637\u064A\u0629 \u0627\u0644\u0634\u0639\u0628\u064A\u0629","\u0627\u0644\u062F\u0632\u0627\u064A\u0631","\u062F\u0632\u0627\u064A\u0631"]},{iso3:"ECU",iso2:"EC",m49:"218",name:"Ecuador",aliases:["\u{1F1EA}\u{1F1E8}","ecuadorian state","el ecuador","estado ecuatoriano","republic of ecuador","republic of equator","republic of the equator","republica del ecuador"]},{iso3:"EGY",iso2:"EG",m49:"818",name:"Egypt",aliases:["\u{1F1EA}\u{1F1EC}","arab rep egypt","arab republic of egypt","rep egypt","republic of egypt","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0645\u0635\u0631 \u0627\u0644\u0639\u0631\u0628\u064A\u0629","\u0645\u0635\u0631"]},{iso3:"ERI",iso2:"ER",m49:"232",name:"Eritrea",aliases:["\u{1F1EA}\u{1F1F7}","ertra","hagere ertra","hagere iertra","iertra","iritriya","state of eritrea","\u0625\u0631\u062A\u0631\u064A\u0627","\u0625\u0631\u064A\u062A\u0631\u064A\u0627","\u0627\u0631\u062A\u0631\u064A\u0627","\u0627\u0631\u062A\u064A\u0631\u064A\u0627","\u0627\u0631\u064A\u062A\u0631\u064A\u0627","\u062F\u0648\u0644\u0629 \u0625\u0631\u062A\u0631\u064A\u0627","\u062F\u0648\u0644\u0629 \u0625\u0631\u064A\u062A\u0631\u064A\u0627","\u1203\u1308\u1228 \u12A4\u122D\u1275\u122B","\u12A4\u122D\u1275\u122B"]},{iso3:"ESH",iso2:"EH",m49:"732",name:"Western Sahara",aliases:["\u{1F1EA}\u{1F1ED}","southern provinces","spanish sahara","west sahara"]},{iso3:"ESP",iso2:"ES",m49:"724",name:"Spain",aliases:["\u{1F1EA}\u{1F1F8}","espana","estado espanol","kingdom of spain","reino de espana"]},{iso3:"EST",iso2:"EE",m49:"233",name:"Estonia",aliases:["\u{1F1EA}\u{1F1EA}","eesti","eesti noukogude sotsialistlik vabariik","eesti vabariik","estland","republic of estonia"]},{iso3:"ETH",iso2:"ET",m49:"231",name:"Ethiopia",aliases:["\u{1F1EA}\u{1F1F9}","federal democratic republic of ethiopia","ityopiya","yeityopiya federalawi demokrasiyawi ripeblik","yeityopiya hizbawi dimokrasiyawi ripublik","\u12A2\u1275\u12EE\u1335\u12EB","\u12E8\u12A2\u1275\u12EE\u1335\u12EB \u134C\u12F4\u122B\u120B\u12CA \u12F4\u121E\u12AD\u122B\u1232\u12EB\u12CA \u122A\u1350\u1265\u120A\u12AD"]},{iso3:"FIN",iso2:"FI",m49:"246",name:"Finland",aliases:["\u{1F1EB}\u{1F1EE}","republic of finland","republiken finland","suomen tasavalta","suomi"]},{iso3:"FJI",iso2:"FJ",m49:"242",name:"Fiji",aliases:["\u{1F1EB}\u{1F1EF}","fiji ganarajya","matanitu ko viti","matanitu tugalala o viti","republic of fiji","republic of the fiji islands","viti"]},{iso3:"FLK",iso2:"FK",m49:"238",name:"Falkland Islands (Malvinas)",aliases:["\u{1F1EB}\u{1F1F0}","colony of the falkland islands","falkland islands","falklands","islas malvinas","malvinas","malvinas islands"]},{iso3:"FRA",iso2:"FR",m49:"250",name:"France",aliases:["\u{1F1EB}\u{1F1F7}","fr","french republic","la france","la republique francaise","lhexagone","republique francaise"]},{iso3:"FRO",iso2:"FO",m49:"234",name:"Faroe Islands",aliases:["\u{1F1EB}\u{1F1F4}","faer oer","f\xE6r\xF8","faeroe is","faeroe islands","faeroe isles","f\xE6r\xF8erne","faeroes","far oer","faroe island","faroe isles","faroes","faroese islands","f\xF8roya","f\xF8royar","f\xF8royum"]},{iso3:"FSM",iso2:"FM",m49:"583",name:"Micronesia (Federated States of)",aliases:["\u{1F1EB}\u{1F1F2}","fed sts micronesia","fed sts of micronesia","federated states of micronesia","federated states of micronesia fsm","micronesia"]},{iso3:"GAB",iso2:"GA",m49:"266",name:"Gabon",aliases:["\u{1F1EC}\u{1F1E6}","gabonese republic","la republique gabonaise","le gabon","republique du gabon","republique gabonaise"]},{iso3:"GBR",iso2:"GB",m49:"826",name:"United Kingdom of Great Britain and Northern Ireland",aliases:["\u{1F1EC}\u{1F1E7}","britain","england","great britain","great britain and northern ireland","northern ireland","scotland","uk","united kingdom","wales"]},{iso3:"GEO",iso2:"GE",m49:"268",name:"Georgia",aliases:["\u{1F1EC}\u{1F1EA}","georgia country","republic of georgia","sakartvelo","\u049B\u044B\u0440\u04AD\u0442\u04D9\u044B\u043B\u0430","\u10E1\u10D0\u10E5\u10D0\u10E0\u10D7\u10D5\u10D4\u10DA\u10DD","\u10E1\u10D0\u10E5\u10D0\u10E0\u10D7\u10D5\u10D4\u10DA\u10DD\u10E1 \u10E0\u10D4\u10E1\u10DE\u10E3\u10D1\u10DA\u10D8\u10D9\u10D0"]},{iso3:"GGY",iso2:"GG",m49:"831",name:"Guernsey",aliases:["\u{1F1EC}\u{1F1EC}","bailiwick of guernsey","bailliage de guernesey","bailliage de guernesi","giernesi","great britain guernsey","guernesey","lisia"]},{iso3:"GHA",iso2:"GH",m49:"288",name:"Ghana",aliases:["\u{1F1EC}\u{1F1ED}","republic of ghana"]},{iso3:"GIB",iso2:"GI",m49:"292",name:"Gibraltar",aliases:["\u{1F1EC}\u{1F1EE}","rock of gibraltar"]},{iso3:"GIN",iso2:"GN",m49:"324",name:"Guinea",aliases:["\u{1F1EC}\u{1F1F3}","guinee","guinee conakry","republic of guinea","republique de guinee"]},{iso3:"GLP",iso2:"GP",m49:"312",name:"Guadeloupe",aliases:["\u{1F1EC}\u{1F1F5}"]},{iso3:"GMB",iso2:"GM",m49:"270",name:"Gambia",aliases:["\u{1F1EC}\u{1F1F2}","islamic republic of the gambia","republic of the gambia"]},{iso3:"GNB",iso2:"GW",m49:"624",name:"Guinea-Bissau",aliases:["\u{1F1EC}\u{1F1FC}","guine bissau","republic of guinea bissau","republica da guine bissau"]},{iso3:"GNQ",iso2:"GQ",m49:"226",name:"Equatorial Guinea",aliases:["\u{1F1EC}\u{1F1F6}","guine equatorial","guinea ecuatorial","guinea espanola","guinee equat","guinee equatoriale","la republique de guinee equatoriale","posesiones espanolas del golfo de guinea","provincia de la guinea ecuatorial","republic of equatorial guinea","republica da guine equatorial","republica de guinea ecuatorial","territorios espanoles del golfo de guinea"]},{iso3:"GRC",iso2:"GR",m49:"300",name:"Greece",aliases:["\u{1F1EC}\u{1F1F7}","ellada","ellas","elliniki dhimokratia","elliniki dimokratia","greek republic","hellas","hellas greece","hellenic republic","vasilion tis ellados","\u03B4\u03B7\u03BC\u03BF\u03BA\u03C1\u03B1\u03C4\u03B9\u03B1 \u03C4\u03B7\u03C2 \u03B5\u03BB\u03BB\u03B1\u03B4\u03B1\u03C2","\u03B4\u03B7\u03BC\u03BF\u03BA\u03C1\u03B1\u03C4\u03B9\u03B1 \u03C4\u03B7\u03C2 \u03B5\u03BB\u03BB\u03B1\u03B4\u03BF\u03C2","\u03B5\u03BB\u03BB\u03B1\u03B4\u03B1","\u03B5\u03BB\u03BB\u03B1\u03C2","\u03B5\u03BB\u03BB\u03B1\u03C2 \u03B5\u03BB\u03BB\u03B1\u03B4\u03B1","\u03B5\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03B7 \u03B4\u03B7\u03BC\u03BF\u03BA\u03C1\u03B1\u03C4\u03B9\u03B1"]},{iso3:"GRD",iso2:"GD",m49:"308",name:"Grenada",aliases:["\u{1F1EC}\u{1F1E9}"]},{iso3:"GRL",iso2:"GL",m49:"304",name:"Greenland",aliases:["\u{1F1EC}\u{1F1F1}","kalaallit nunaat"]},{iso3:"GTM",iso2:"GT",m49:"320",name:"Guatemala",aliases:["\u{1F1EC}\u{1F1F9}","republic of guatemala","republica de guatemala"]},{iso3:"GUF",iso2:"GF",m49:"254",name:"French Guiana",aliases:["\u{1F1EC}\u{1F1EB}","fr 973","guiana","guiana france","guyane","guyane francaise","gwiyann","gwiyann franse","lagwiyann"]},{iso3:"GUM",iso2:"GU",m49:"316",name:"Guam",aliases:["\u{1F1EC}\u{1F1FA}","guahan","guam usa","islan guahan","island of guam","territory of guam"]},{iso3:"GUY",iso2:"GY",m49:"328",name:"Guyana",aliases:["\u{1F1EC}\u{1F1FE}","co operative republic of guyana","republic of guyana"]},{iso3:"HKG",iso2:"HK",m49:"344",name:"Hong Kong",aliases:["\u{1F1ED}\u{1F1F0}","hksar","hong kong sar","hong kong special administrative region","hong kong special administrative region of the peoples republic of china","hongkong"]},{iso3:"HMD",iso2:"HM",m49:"334",name:"Heard Island and McDonald Islands",aliases:["\u{1F1ED}\u{1F1F2}","heard","heard & mcdonald islands","heard and macdonald islands","heard island","himi","mcdonald","mcdonald island","territory of heard island and mcdonald islands"]},{iso3:"HND",iso2:"HN",m49:"340",name:"Honduras",aliases:["\u{1F1ED}\u{1F1F3}","guaymuras","higueras","honduran republic","republic of honduras","republica de honduras"]},{iso3:"HRV",iso2:"HR",m49:"191",name:"Croatia",aliases:["\u{1F1ED}\u{1F1F7}","hrvatska","republic of croatia","republika hrvatska"]},{iso3:"HTI",iso2:"HT",m49:"332",name:"Haiti",aliases:["\u{1F1ED}\u{1F1F9}","ayiti","haitian republic","la republique dhaiti","repiblik d ayiti","republic of haiti","republique dhaiti"]},{iso3:"HUN",iso2:"HU",m49:"348",name:"Hungary",aliases:["\u{1F1ED}\u{1F1FA}","a magyar koztarsasag","a magyar nepkoztarsasag","harmadik magyar koztarsasag","magyar koztarsasag","magyar nepkoztarsasag","magyarorszag","mo"]},{iso3:"IDN",iso2:"ID",m49:"360",name:"Indonesia",aliases:["\u{1F1EE}\u{1F1E9}","negara kesatuan republik indonesia","nkri","republic of indonesia","republik indonesia"]},{iso3:"IMN",iso2:"IM",m49:"833",name:"Isle of Man",aliases:["\u{1F1EE}\u{1F1F2}","ellan vannin","i man","i mann","i mannin","isle of mann","mann","mannin","manx"]},{iso3:"IND",iso2:"IN",m49:"356",name:"India",aliases:["\u{1F1EE}\u{1F1F3}","al hind","bharat","bharat ganarajya","bharata","bharatvarsh","hindoostan","hindustan","indostan","republic of india","tenjiku","tianzhu","\u0906\u0930\u094D\u092F\u0935\u0930\u094D\u0924","\u0907\u0902\u0921\u093F\u092F\u093E","\u0907\u0923\u094D\u0921\u093F\u092F\u093E","\u092D\u093E\u0930\u0924","\u092D\u093E\u0930\u0924 \u0917\u0923\u0930\u093E\u091C\u094D\u092F","\u092D\u093E\u0930\u0924\u0935\u0930\u094D\u0937","\u0939\u093F\u0902\u0926\u0941\u0938\u094D\u0924\u093E\u0928","\u0939\u093F\u0928\u094D\u0926\u0941\u0938\u094D\u0924\u093E\u0928","\u0939\u093F\u0928\u094D\u0926\u094B\u0938\u094D\u0924\u093E\u0928"]},{iso3:"IOT",iso2:"IO",m49:"086",name:"British Indian Ocean Territory",aliases:["\u{1F1EE}\u{1F1F4}","biot"]},{iso3:"IRL",iso2:"IE",m49:"372",name:"Ireland",aliases:["\u{1F1EE}\u{1F1EA}","eire","hibernia","irish republic","poblacht na heireann","republic of ireland","southern ireland"]},{iso3:"IRN",iso2:"IR",m49:"364",name:"Iran (Islamic Republic of)",aliases:["\u{1F1EE}\u{1F1F7}","iran","islamic rep iran","islamic republic of iran","persia","\u0627\u06CC\u0631\u0627\u0646","\u0627\u06CC\u0631\u0627\u0646\u0632\u0645\u06CC\u0646","\u067E\u0627\u0631\u0633","\u062C\u0645\u0647\u0648\u0631\u06CC \u0627\u0633\u0644\u0627\u0645\u06CC \u0627\u064A\u0631\u0627\u0646","\u062C\u0645\u0647\u0648\u0631\u06CC \u0627\u0633\u0644\u0627\u0645\u06CC \u0627\u06CC\u0631\u0627\u0646","\u0643\u0634\u0648\u0631 \u0634\u0627\u0647\u0646\u0634\u0627\u0647\u06CC \u0627\u064A\u0631\u0627\u0646"]},{iso3:"IRQ",iso2:"IQ",m49:"368",name:"Iraq",aliases:["\u{1F1EE}\u{1F1F6}","eraq","iraqe","komar i eraq","republic of iraq","\u0627\u0644\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0639\u0631\u0627\u0642\u064A\u0629","\u0627\u0644\u0639\u0631\u0627\u0642","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0639\u0631\u0627\u0642","\u0639\u0631\u0627\u0642","\u0639\u06CE\u0631\u0627\u0642"]},{iso3:"ISL",iso2:"IS",m49:"352",name:"Iceland",aliases:["\u{1F1EE}\u{1F1F8}","icelandic republic","island","ly\xF0veldi\xF0 island","republic of iceland","ysland"]},{iso3:"ISR",iso2:"IL",m49:"376",name:"Israel",aliases:["\u{1F1EE}\u{1F1F1}","erez yisrael","medinat yisrael","state of israel","yisrael","\u05D9\u05E9\u05E8\u05D0\u05DC","\u05DE\u05D3\u05D9\u05E0\u05EA \u05D9\u05E9\u05E8\u05D0\u05DC"]},{iso3:"ITA",iso2:"IT",m49:"380",name:"Italy",aliases:["\u{1F1EE}\u{1F1F9}","il bel paese","italia","italian republic","repubblica italiana","republic of italy"]},{iso3:"JAM",iso2:"JM",m49:"388",name:"Jamaica",aliases:["\u{1F1EF}\u{1F1F2}","commonwealth of jamaica","jamieka","jomieka","jumieka"]},{iso3:"JEY",iso2:"JE",m49:"832",name:"Jersey",aliases:["\u{1F1EF}\u{1F1EA}","bailliage de jerri","bailliage de jersey","balliwick of jersey","i iersey","i jersey","iersey","iersey i","isle of jersey","jerri","jersey i","jersey island"]},{iso3:"JOR",iso2:"JO",m49:"400",name:"Jordan",aliases:["\u{1F1EF}\u{1F1F4}","giordania","hashemite kingdom of jordan","kingdom of jordan","state of jordan","yarden","\u0627\u0644\u0623\u0631\u062F\u0646","\u0627\u0644\u0627\u0631\u062F\u0646","\u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0623\u0631\u062F\u0646\u064A\u0629 \u0627\u0644\u0647\u0627\u0634\u0645\u064A\u0629","\u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0627\u0631\u062F\u0646\u064A\u0629 \u0627\u0644\u0647\u0627\u0634\u0645\u064A\u0629"]},{iso3:"JPN",iso2:"JP",m49:"392",name:"Japan",aliases:["\u{1F1EF}\u{1F1F5}","state of japan","\u3042\u304D\u3064\u3057\u307E","\u304A\u304A\u3084\u3057\u307E","\u3057\u304D\u3057\u307E","\u30B8\u30E3\u30D1\u30F3","\u3057\u3093\u3057\u3085\u3046","\u306B\u3063\u307D\u3093","\u306B\u3063\u307D\u3093\u3053\u304F","\u306B\u307B\u3093","\u306B\u307B\u3093\u3053\u304F","\u3072\u3044\u305A\u308B\u304F\u306B","\u3075\u305D\u3046","\u5927\u516B\u5DDE","\u6276\u6728\u4E4B\u5730","\u6276\u6851","\u6276\u6851\u56FD","\u6577\u5CF6","\u65E5\u51FA\u308B\u56FD","\u65E5\u672C","\u6991\u6728\u4E4B\u5730","\u745E\u7A42\u56FD","\u795E\u5DDE","\u79CB\u6D25\u5CF6","\u8466\u539F\u4E2D\u56FD"]},{iso3:"KAZ",iso2:"KZ",m49:"398",name:"Kazakhstan",aliases:["\u{1F1F0}\u{1F1FF}","qazaqstan","qazaqstan respublikasy","republic of kazakhstan","\u043A\u0430\u0437\u0430\u0445\u0441\u0442\u0430\u043D","\u049B\u0430\u0437\u0430\u049B\u0441\u0442\u0430\u043D","\u049B\u0430\u0437\u0430\u049B\u0441\u0442\u0430\u043D \u0440\u0435\u0441\u043F\u0443\u0431\u043B\u0438\u043A\u0430\u0441\u044B","\u0440\u0435\u0441\u043F\u0443\u0431\u043B\u0438\u043A\u0430 \u043A\u0430\u0437\u0430\u0445\u0441\u0442\u0430\u043D","\u0440\u043A"]},{iso3:"KEN",iso2:"KE",m49:"404",name:"Kenya",aliases:["\u{1F1F0}\u{1F1EA}","jamhuri ya kenya","republic of kenya"]},{iso3:"KGZ",iso2:"KG",m49:"417",name:"Kyrgyzstan",aliases:["\u{1F1F0}\u{1F1EC}","kyrgyz republic","kyrgyz respublikasy","kyrgyzstan respublikasy","\u043A\u0440","\u043A\u044B\u0440\u0433\u044B\u0437 \u0440\u0435\u0441\u043F\u0443\u0431\u043B\u0438\u043A\u0430\u0441\u044B","\u043A\u044B\u0440\u0433\u044B\u0437\u0441\u0442\u0430\u043D"]},{iso3:"KHM",iso2:"KH",m49:"116",name:"Cambodia",aliases:["\u{1F1F0}\u{1F1ED}","camboya","campuchia","kambodzha","kamboja","kampuchea","kingdom of cambodia","\u1780\u1798\u17D2\u1796\u17BB\u1787\u17B6","\u1796\u17D2\u179A\u17C7\u179A\u17B6\u1787\u17B6\u178E\u17B6\u1785\u1780\u17D2\u179A\u1780\u1798\u17D2\u1796\u17BB\u1787\u17B6"]},{iso3:"KIR",iso2:"KI",m49:"296",name:"Kiribati",aliases:["\u{1F1F0}\u{1F1EE}","republic of kiribati"]},{iso3:"KNA",iso2:"KN",m49:"659",name:"Saint Kitts and Nevis",aliases:["\u{1F1F0}\u{1F1F3}","federation of saint christopher and nevis","federation of saint kitts and nevis","kitts & nevis","nevis","saint christopher","saint christopher and nevis","saint kitts"]},{iso3:"KOR",iso2:"KR",m49:"410",name:"Republic of Korea",aliases:["\u{1F1F0}\u{1F1F7}","korea","korea republic","korea republic of","korea south","rep korea","s korea","south korea","taehan minguk","\uB0A8\uC870\uC120","\uB0A8\uD55C","\uB300\uD55C","\uB300\uD55C\uBBFC\uAD6D","\uCF54\uB9AC\uC544","\uD55C\uAD6D"]},{iso3:"KWT",iso2:"KW",m49:"414",name:"Kuwait",aliases:["\u{1F1F0}\u{1F1FC}","state of kuwait","\u0627\u0644\u0643\u0648\u064A\u062A","\u062F\u0648\u0644\u0629 \u0627\u0644\u0643\u0648\u064A\u062A"]},{iso3:"LAO",iso2:"LA",m49:"418",name:"Lao People's Democratic Republic",aliases:["\u{1F1F1}\u{1F1E6}","laos","sathalanalat paxathipatai paxaxon lao","\u0EAA\u0EB2\u0E97\u0EB2\u0EA5\u0EB0\u0E99\u0EB0\u0EA5\u0EB1\u0E94 \u0E9B\u0EB0\u0E8A\u0EB2\u0E97\u0EB4\u0E9B\u0EB0\u0EC4\u0E95 \u0E9B\u0EB0\u0E8A\u0EB2\u0E8A\u0EBB\u0E99\u0EA5\u0EB2\u0EA7","\u0E9B\u0EB0\u0EC0\u0E97\u0E94\u0EA5\u0EB2\u0EA7","\u0EA5\u0EB2\u0EA7"]},{iso3:"LBN",iso2:"LB",m49:"422",name:"Lebanon",aliases:["\u{1F1F1}\u{1F1E7}","lebanese republic","republic of lebanon","state of lebanon","\u0627\u0644\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064A\u0629","\u0644\u0628\u0646\u0627\u0646"]},{iso3:"LBR",iso2:"LR",m49:"430",name:"Liberia",aliases:["\u{1F1F1}\u{1F1F7}","liber","republic of liberia"]},{iso3:"LBY",iso2:"LY",m49:"434",name:"Libya",aliases:["\u{1F1F1}\u{1F1FE}","state of libya","\u0627\u0644\u062C\u0645\u0627\u0647\u064A\u0631\u064A\u0629 \u0627\u0644\u0639\u0631\u0628\u064A\u0629 \u0627\u0644\u0644\u064A\u0628\u064A\u0629 \u0627\u0644\u0634\u0639\u0628\u064A\u0629 \u0627\u0644\u0625\u0634\u062A\u0631\u0627\u0643\u064A\u0629","\u0627\u0644\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0644\u064A\u0628\u064A\u0629","\u0627\u0644\u0644\u064A\u0628\u064A","\u0627\u0644\u0644\u064A\u0628\u064A\u0629","\u0627\u0644\u0644\u064A\u0628\u064A\u0646","\u062F\u0648\u0644\u0629 \u0644\u064A\u0628\u064A\u0627","\u0644\u064A\u0628\u0628\u064A\u0627","\u0644\u064A\u0628\u064A","\u0644\u064A\u0628\u064A\u0627","\u0644\u064A\u0628\u064A\u0629"]},{iso3:"LCA",iso2:"LC",m49:"662",name:"Saint Lucia",aliases:["\u{1F1F1}\u{1F1E8}","hewanorra","iyonola"]},{iso3:"LIE",iso2:"LI",m49:"438",name:"Liechtenstein",aliases:["\u{1F1F1}\u{1F1EE}","furstentum lichtenstein","furstentum liechtenstein","principality of liechtenstein"]},{iso3:"LKA",iso2:"LK",m49:"144",name:"Sri Lanka",aliases:["\u{1F1F1}\u{1F1F0}","ceylan","ceylon","democratic socialist republic of sri lanka","ilankaic cananayaka cocalicak kutiyarcu","lankava","prajatantravadi samajavadi janarajaya sri lanka","serendib","srilanka","taprobane","\u0B87\u0BB2\u0B99\u0BCD\u0B95\u0BC8","\u0B87\u0BB2\u0B99\u0BCD\u0B95\u0BC8 \u0B9A\u0BA9\u0BA8\u0BBE\u0BAF\u0B95 \u0B9A\u0BCB\u0B9A\u0BB2\u0BBF\u0B9A\u0B95\u0BCD \u0B95\u0BC1\u0B9F\u0BBF\u0BAF\u0BB0\u0B9A\u0BC1","\u0B87\u0BB2\u0B99\u0BCD\u0B95\u0BC8 \u0B9A\u0BA9\u0BA8\u0BBE\u0BAF\u0B95 \u0B9A\u0BCB\u0BB7\u0BB2\u0BBF\u0B9A\u0B95\u0BCD \u0B95\u0BC1\u0B9F\u0BBF\u0BAF\u0BB0\u0B9A\u0BC1","\u0B88\u0BB4\u0BAE\u0BCD","\u0B9A\u0BBF\u0BB2\u0BCB\u0BA9\u0BCD","\u0DBD\u0D82\u0D9A\u0DCF\u0DC0","\u0DC1\u0DCA\u0DBB\u0DD3 \u0DBD\u0D82\u0D9A\u0DCF \u0DB4\u0DCA\u0DBB\u0DA2\u0DCF\u0DAD\u0DB1\u0DCA\u0DAD\u0DCA\u0DBB\u0DC0\u0DCF\u0DAF\u0DD3 \u0DC3\u0DB8\u0DCF\u0DA2\u0DC0\u0DCF\u0DAF\u0DD3 \u0DA2\u0DB1\u0DBB\u0DA2\u0DBA","\u0DC1\u0DCA\u0DBB\u0DD3 \u0DBD\u0D82\u0D9A\u0DCF\u0DC0","\u0DC1\u0DCA\u200D\u0DBB\u0DD3 \u0DBD\u0D82\u0D9A\u0DCF\u0DC0"]},{iso3:"LSO",iso2:"LS",m49:"426",name:"Lesotho",aliases:["\u{1F1F1}\u{1F1F8}","kingdom of lesotho","mmuso wa lesotho","mountain kingdom"]},{iso3:"LTU",iso2:"LT",m49:"440",name:"Lithuania",aliases:["\u{1F1F1}\u{1F1F9}","lietuva","lietuvos respublika","republic of lithuania"]},{iso3:"LUX",iso2:"LU",m49:"442",name:"Luxembourg",aliases:["\u{1F1F1}\u{1F1FA}","grand duche","grand duche de luxembourg","grand duchy of luxembourg","gro\xDFherzogtum luxemburg","groussherzogtum letzebuerg","le grand duche de luxembourg","letzebuerg","letzebuerger land","lux","luxemburg"]},{iso3:"LVA",iso2:"LV",m49:"428",name:"Latvia",aliases:["\u{1F1F1}\u{1F1FB}","latveja","latvejas republika","latvian republic","latvija","latvijas republika","letm\u043E","letm\u043E vabam\u043E","republic of latvia"]},{iso3:"MAC",iso2:"MO",m49:"446",name:"Macao",aliases:["\u{1F1F2}\u{1F1F4}","aomen","macao sar","macao special administrative region","macao special administrative region of the peoples republic of china","macau","macau rae da china","macau sar","macau special administrative region","macau special administrative region of the peoples republic of china","raem","regiao administrativa especial de macau","regiao administrativa especial de macau da republica popular da china","\u4E2D\u570B\u6FB3\u9580\u7279\u5225\u884C\u653F\u5340","\u6FB3\u9580"]},{iso3:"MAF",iso2:"MF",m49:"663",name:"Saint Martin (French Part)",aliases:["\u{1F1F2}\u{1F1EB}","collectivite de saint martin","collectivity of saint martin","saint martin","saint martin antilles francaises","saint martin france"]},{iso3:"MAR",iso2:"MA",m49:"504",name:"Morocco",aliases:["\u{1F1F2}\u{1F1E6}","kingdom of morocco","\u0627\u0644\u0645\u063A\u0631\u0628","\u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0645\u063A\u0631\u0628\u064A\u0629","\u2D30\u2D4E\u2D53\u2D54 \u2D4F \u2D61\u2D30\u2D3D\u2D53\u2D5B","\u2D30\u2D4E\u2D55\u2D55\u2D53\u2D3D","\u2D4D\u2D4E\u2D55\u2D55\u2D53\u2D3D","\u2D4D\u2D4E\u2D56\u2D54\u2D49\u2D31","\u2D5C\u2D30\u2D33\u2D4D\u2D37\u2D49\u2D5C \u2D4F \u2D4D\u2D4E\u2D56\u2D54\u2D49\u2D31"]},{iso3:"MCO",iso2:"MC",m49:"492",name:"Monaco",aliases:["\u{1F1F2}\u{1F1E8}","fort hercule","la principaute de monaco","monaco rattachee au district de menton en 1793","munegu","principality and diocese of monaco","principality of monaco","principatu de munegu","principaute de monaco"]},{iso3:"MDA",iso2:"MD",m49:"498",name:"Republic of Moldova",aliases:["\u{1F1F2}\u{1F1E9}","moldavia","moldova","moldova republic of","moldova republica","r moldova","rep moldova","republica moldova","\u043C\u043E\u043B\u0434\u043E\u0432\u0430"]},{iso3:"MDG",iso2:"MG",m49:"450",name:"Madagascar",aliases:["\u{1F1F2}\u{1F1EC}","la republique de madagascar","madagasikara","repoblikani madagasikara","republic of madagascar","republique de madagascar"]},{iso3:"MDV",iso2:"MV",m49:"462",name:"Maldives",aliases:["\u{1F1F2}\u{1F1FB}","dhivehi raajjeyge jumhooriyyaa","republic of maldives","\u078B\u07A8\u0788\u07AC\u0780\u07A8 \u0783\u07A7\u0787\u07B0\u0796\u07AC","\u078B\u07A8\u0788\u07AC\u0780\u07A8\u0783\u07A7\u0787\u07B0\u0796\u07AC","\u078B\u07A8\u0788\u07AC\u0780\u07A8\u0783\u07A7\u0787\u07B0\u0796\u07AD\u078E\u07AC \u0796\u07AA\u0789\u07AA\u0780\u07AB\u0783\u07A8\u0787\u07B0\u0794\u07A7","\u078B\u07A8\u0788\u07AC\u0780\u07A8\u0783\u07A7\u0787\u07B0\u0796\u07AD\u078E\u07AC \u0796\u07AA\u0789\u07B0\u0780\u07AB\u0783\u07A8\u0787\u07B0\u0794\u07A7"]},{iso3:"MEX",iso2:"MX",m49:"484",name:"Mexico",aliases:["\u{1F1F2}\u{1F1FD}","estados unidos mejicanos","estados unidos mexicanos","mejico","mexican republic","mexican united states","mexihco","mexihko","mexika sentik wexteyowalko","mexiko","mexko","mexko axkayotl","mexko tlalli","nueva espana","republica mejicana","republica mexicana","united mexican states","united states of mexico"]},{iso3:"MHL",iso2:"MH",m49:"584",name:"Marshall Islands",aliases:["\u{1F1F2}\u{1F1ED}","aelon kein ad","aolepan aorokin majel","jolet jen anij","majel","majol","republic of the marshall islands"]},{iso3:"MKD",iso2:"MK",m49:"807",name:"North Macedonia",aliases:["\u{1F1F2}\u{1F1F0}","former yugoslav republic of macedonia","fyr macedonia","fyrom","irjm","ish republika jugosllave e maqedonise","macedonia","maqedoni","maqedonia","maqedonia e veriut","republic of macedonia","republic of north macedonia","republika e maqedonise","republika e maqedonise se veriut","\u043C\u0430\u043A\u0435\u0434\u043E\u043D\u0438\u0458\u0430","\u0440\u0435\u043F\u0443\u0431\u043B\u0438\u043A\u0430 \u043C\u0430\u043A\u0435\u0434\u043E\u043D\u0438\u0458\u0430","\u0440\u0435\u043F\u0443\u0431\u043B\u0438\u043A\u0430 \u0441\u0435\u0432\u0435\u0440\u043D\u0430 \u043C\u0430\u043A\u0435\u0434\u043E\u043D\u0438\u0458\u0430","\u0440\u043C","\u0440\u0441\u043C","\u0441\u0435\u0432\u0435\u0440\u043D\u0430 \u043C\u0430\u043A\u0435\u0434\u043E\u043D\u0438\u0458\u0430"]},{iso3:"MLI",iso2:"ML",m49:"466",name:"Mali",aliases:["\u{1F1F2}\u{1F1F1}","maali","republic of mali"]},{iso3:"MLT",iso2:"MT",m49:"470",name:"Malta",aliases:["\u{1F1F2}\u{1F1F9}","malta island","repubblika ta malta","republic of malta"]},{iso3:"MMR",iso2:"MM",m49:"104",name:"Myanmar",aliases:["\u{1F1F2}\u{1F1F2}","burma","pyidaungzu myanma naingngandaw","pyidaungzu thammada myanma naingngandaw","republic of the union of myanmar","union of burma","\u1015\u103C\u100A\u103A\u1011\u1031\u102C\u1004\u103A\u1005\u102F \u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036","\u1015\u103C\u100A\u103A\u1011\u1031\u102C\u1004\u103A\u1005\u102F \u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036\u1010\u1031\u102C\u103A","\u1015\u103C\u100A\u103A\u1011\u1031\u102C\u1004\u103A\u1005\u102F \u101E\u1019\u1039\u1019\u1010 \u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036","\u1015\u103C\u100A\u103A\u1011\u1031\u102C\u1004\u103A\u1005\u102F \u101E\u1019\u1039\u1019\u1010 \u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036\u1010\u1031\u102C\u103A","\u1015\u103C\u100A\u103A\u1011\u1031\u102C\u1004\u103A\u1005\u102F\u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036\u1010\u1031\u102C\u103A","\u1015\u103C\u100A\u103A\u1011\u1031\u102C\u1004\u103A\u1005\u102F\u101E\u1019\u1039\u1019\u1010\u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036","\u1015\u103C\u200C\u100A\u103A\u1011\u1031\u102C\u1004\u103A\u1005\u102F\u101E\u1019\u1039\u1019\u1010\u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036","\u1015\u103C\u100A\u103A\u1011\u1031\u102C\u1004\u103A\u1005\u102F\u101E\u1019\u1039\u1019\u1010\u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036\u1010\u1031\u102C\u103A","\u1017\u1019\u102C\u1015\u103C\u100A\u103A","\u1019\u103C\u1014\u103A\u1019\u102C","\u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036","\u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036\u1010\u1031\u102C\u103A","\u1019\u103C\u1014\u103A\u1019\u102C\u1015\u103C\u100A\u103A"]},{iso3:"MNE",iso2:"ME",m49:"499",name:"Montenegro",aliases:["\u{1F1F2}\u{1F1EA}","crna cora","\u0446\u0440\u043D\u0430 \u0433\u043E\u0440\u0430"]},{iso3:"MNG",iso2:"MN",m49:"496",name:"Mongolia",aliases:["\u{1F1F2}\u{1F1F3}","bugd nayramdah mongol ard uls","mongol uls","state of mongolia","\u043C\u043E\u043D\u0433\u043E\u043B","\u043C\u043E\u043D\u0433\u043E\u043B \u0443\u043B\u0441","\u182E\u1824\u1829\u182D\u1824\u182F \u1824\u182F\u1824\u1830"]},{iso3:"MNP",iso2:"MP",m49:"580",name:"Northern Mariana Islands",aliases:["\u{1F1F2}\u{1F1F5}","cnmi","commonwealth of the northern maria islands","commonwealth of the northern mariana islands","northern marianas","notte marianas","sankattan siha na islas marianas"]},{iso3:"MOZ",iso2:"MZ",m49:"508",name:"Mozambique",aliases:["\u{1F1F2}\u{1F1FF}","mocambique","republic of mozambique","republica de mocambique"]},{iso3:"MRT",iso2:"MR",m49:"478",name:"Mauritania",aliases:["\u{1F1F2}\u{1F1F7}","islamic republic of mauritania","\u0627\u0644\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0625\u0633\u0644\u0627\u0645\u064A\u0629 \u0627\u0644\u0645\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u0629","\u0645\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u0627"]},{iso3:"MSR",iso2:"MS",m49:"500",name:"Montserrat",aliases:["\u{1F1F2}\u{1F1F8}","island of montserrat"]},{iso3:"MTQ",iso2:"MQ",m49:"474",name:"Martinique",aliases:["\u{1F1F2}\u{1F1F6}","territorial collectivity of martinique"]},{iso3:"MUS",iso2:"MU",m49:"480",name:"Mauritius",aliases:["\u{1F1F2}\u{1F1FA}","ile maurice","la republique de maurice","maurice","moris","republic of mauritius","republique de maurice"]},{iso3:"MWI",iso2:"MW",m49:"454",name:"Malawi",aliases:["\u{1F1F2}\u{1F1FC}","republic of malawi"]},{iso3:"MYS",iso2:"MY",m49:"458",name:"Malaysia",aliases:["\u{1F1F2}\u{1F1FE}","federation of malaysia","malaysia federation","negara seberang tambak","persekutuan malaysia"]},{iso3:"MYT",iso2:"YT",m49:"175",name:"Mayotte",aliases:["\u{1F1FE}\u{1F1F9}","departement de mayotte","departement region de mayotte","department of mayotte"]},{iso3:"NAM",iso2:"NA",m49:"516",name:"Namibia",aliases:["\u{1F1F3}\u{1F1E6}","republic of namibia"]},{iso3:"NCL",iso2:"NC",m49:"540",name:"New Caledonia",aliases:["\u{1F1F3}\u{1F1E8}","caledonie","kanaky","kanaky nouvelle caledonie","nouvelle caledonie","territoire de la nouvelle caledonie et dependances","territoire des nouvelle caledonie et dependances","territory of new caledonia and dependencies"]},{iso3:"NER",iso2:"NE",m49:"562",name:"Niger",aliases:["\u{1F1F3}\u{1F1EA}","jamhuriyar nijar","nijar","republic niger","republic of niger","republic of the niger"]},{iso3:"NFK",iso2:"NF",m49:"574",name:"Norfolk Island",aliases:["\u{1F1F3}\u{1F1EB}","norfolk island australia","norfolk island other territories","norfolk island other territories australia","territory of norfolk island"]},{iso3:"NGA",iso2:"NG",m49:"566",name:"Nigeria",aliases:["\u{1F1F3}\u{1F1EC}","federal republic of nigeria","naija"]},{iso3:"NIC",iso2:"NI",m49:"558",name:"Nicaragua",aliases:["\u{1F1F3}\u{1F1EE}","republic of nicaragua","republica de nicaragua"]},{iso3:"NIU",iso2:"NU",m49:"570",name:"Niue",aliases:["\u{1F1F3}\u{1F1FA}"]},{iso3:"NLD",iso2:"NL",m49:"528",name:"Kingdom of the Netherlands",aliases:["\u{1F1F3}\u{1F1F1}","hollandt","kingdom of netherlands","koninkrijk der nederlanden","nederland","nederlanden","nederlandt","netherlands","netherlands kingdom of the"]},{iso3:"NOR",iso2:"NO",m49:"578",name:"Norway",aliases:["\u{1F1F3}\u{1F1F4}","kingdom of norway","kongeriket noreg","kongeriket norge","noreg","norge"]},{iso3:"NPL",iso2:"NP",m49:"524",name:"Nepal",aliases:["\u{1F1F3}\u{1F1F5}","bal bo","bal poi yul","bal yul","balbo","balpo","balpo yul","nipal","sanghiya loktantrik ganatantra nepal","\u0928\u0947\u092A\u093E\u0932","\u0938\u0902\u0918\u093F\u092F \u0932\u094B\u0915\u0924\u093E\u0928\u094D\u0924\u094D\u0930\u093F\u0915 \u0917\u0923\u0924\u0928\u094D\u0924\u094D\u0930 \u0928\u0947\u092A\u093E\u0932","\u0938\u0902\u0918\u093F\u092F \u0932\u094B\u0915\u0924\u093E\u0928\u094D\u0924\u094D\u0930\u093F\u0915 \u0917\u0923\u0924\u0928\u094D\u0924\u094D\u0930\u093E\u0924\u094D\u092E\u0915 \u0928\u0947\u092A\u093E\u0932","\u0938\u0902\u0918\u0940\u092F \u0932\u094B\u0915\u0924\u093E\u0928\u094D\u0924\u094D\u0930\u093F\u0915 \u0917\u0923\u0924\u0928\u094D\u0924\u094D\u0930 \u0928\u0947\u092A\u093E\u0932"]},{iso3:"NRU",iso2:"NR",m49:"520",name:"Nauru",aliases:["\u{1F1F3}\u{1F1F7}","naoero","pleasant island","republic of nauru"]},{iso3:"NZL",iso2:"NZ",m49:"554",name:"New Zealand",aliases:["\u{1F1F3}\u{1F1FF}","aotearoa","aotearoa new zealand","dominion of new zealand"]},{iso3:"OMN",iso2:"OM",m49:"512",name:"Oman",aliases:["\u{1F1F4}\u{1F1F2}","sultanate of oman","uman","\u0633\u0644\u0637\u0646\u0629 \u0639\u0645\u0627\u0646","\u0639\u0645\u0627\u0646"]},{iso3:"PAK",iso2:"PK",m49:"586",name:"Pakistan",aliases:["\u{1F1F5}\u{1F1F0}","hoi quoc","islamic republic of pakistan","republic of pakistan","tay hoi","\u0627\u0633\u0644\u0627\u0645\u06CC \u062C\u0645\u06C1\u0648\u0631\u06CC\u06C1 \u067E\u0627\u06A9\u0633\u062A\u0627\u0646","\u0628\u0627\u06A9\u0633\u062A\u0627\u0646","\u067E\u0627\u06A9\u0633\u062A\u0627\u0646"]},{iso3:"PAN",iso2:"PA",m49:"591",name:"Panama",aliases:["\u{1F1F5}\u{1F1E6}","republic of panama","republica de panama"]},{iso3:"PCN",iso2:"PN",m49:"612",name:"Pitcairn",aliases:["\u{1F1F5}\u{1F1F3}","occas island","pisskern ali\u0435n","pitcairn henderson ducie and oeno islands","pitcairn island","pitcairn islands","pitkern ailen"]},{iso3:"PER",iso2:"PE",m49:"604",name:"Peru",aliases:["\u{1F1F5}\u{1F1EA}","piruw","piruw ripuwlika","republic of peru","republica del peru"]},{iso3:"PHL",iso2:"PH",m49:"608",name:"Philippines",aliases:["\u{1F1F5}\u{1F1ED}","philippine islands","republic of the philippines"]},{iso3:"PLW",iso2:"PW",m49:"585",name:"Palau",aliases:["\u{1F1F5}\u{1F1FC}","belau","peeloo","pelew","pelew islands","pellew","republic of belau","republic of palau","\u30D1\u30E9\u30AA","\u30D1\u30E9\u30AA\u5171\u548C\u56FD"]},{iso3:"PNG",iso2:"PG",m49:"598",name:"Papua New Guinea",aliases:["\u{1F1F5}\u{1F1EC}","independent state of papua new guinea","papua niugini"]},{iso3:"POL",iso2:"PL",m49:"616",name:"Poland",aliases:["\u{1F1F5}\u{1F1F1}","polska","republic of poland","rzeczpospolita polska"]},{iso3:"PRI",iso2:"PR",m49:"630",name:"Puerto Rico",aliases:["\u{1F1F5}\u{1F1F7}","boriken","borinquen","boriquen","commonwealth of puerto rico","estado libre asociado de puerto rico","free associated state of puerto rico","isla del encanto","island of enchantment","isle of enchantment","mancomunidad de puerto rico","porto rico","territorio de puerto rico","territorio estadounidense de puerto rico","territory of porto rico","territory of puerto rico"]},{iso3:"PRK",iso2:"KP",m49:"408",name:"Democratic People's Republic of Korea",aliases:["\u{1F1F0}\u{1F1F5}","choson minjujuui inmin konghwaguk","dpr korea","dprk","korea democratic peoples republic of","n korea","north korea","\uACF5\uD654\uAD6D","\uBD81\uC870\uC120","\uBD81\uD55C","\uC870\uC120","\uC870\uC120\uBBFC\uC8FC\uC8FC\uC758\uC778\uBBFC\uACF5\uD654\uAD6D"]},{iso3:"PRT",iso2:"PT",m49:"620",name:"Portugal",aliases:["\u{1F1F5}\u{1F1F9}","republica portuguesa"]},{iso3:"PRY",iso2:"PY",m49:"600",name:"Paraguay",aliases:["\u{1F1F5}\u{1F1FE}","paraguai","republic of paraguay","republica del paraguay","teta paraguai"]},{iso3:"PSE",iso2:"PS",m49:"275",name:"State of Palestine",aliases:["\u{1F1F5}\u{1F1F8}","palestine","palestine state of","palestinian authority","palestinian national authority","palestinian territory","west bank and gaza","\u0623\u0631\u0627\u0636\u064A \u0641\u0644\u0633\u0637\u064A\u0646\u064A\u0629","\u0627\u0644\u0623\u0631\u0627\u0636\u064A \u0627\u0644\u0641\u0644\u0633\u0637\u064A\u0646\u064A\u0629","\u0627\u0644\u062F\u0648\u0644\u0629 \u0627\u0644\u0641\u0644\u0633\u0637\u064A\u0646\u064A\u0629","\u0627\u0644\u0633\u0644\u0637\u0629 \u0627\u0644\u0641\u0644\u0633\u0637\u064A\u0646\u064A\u0629","\u0627\u0644\u0633\u0644\u0637\u0629 \u0627\u0644\u0648\u0637\u0646\u064A\u0629 \u0627\u0644\u0641\u0644\u0633\u0637\u064A\u0646\u064A\u0629","\u0627\u0644\u0636\u0641\u0629 \u0627\u0644\u063A\u0631\u0628\u064A\u0629 \u0648\u0642\u0637\u0627\u0639 \u063A\u0632\u0629","\u062F\u0648\u0644\u0629 \u0641\u0644\u0633\u0637\u064A\u0646","\u0641\u0644\u0633\u0637\u064A\u0646"]},{iso3:"PYF",iso2:"PF",m49:"258",name:"French Polynesia",aliases:["\u{1F1F5}\u{1F1EB}","f oh","french establishments in oceania","french oceania","french settlements in oceania","polynesie francaise","territoire de la polynesie francaise","territory of french polynesia"]},{iso3:"QAT",iso2:"QA",m49:"634",name:"Qatar",aliases:["\u{1F1F6}\u{1F1E6}","state of qatar","\u0625\u0645\u0627\u0631\u0629 \u0642\u0637\u0631","\u062F\u0648\u0644\u0629 \u0642\u0637\u0631","\u0642\u0637\u0631"]},{iso3:"REU",iso2:"RE",m49:"638",name:"R\xE9union",aliases:["\u{1F1F7}\u{1F1EA}","ile bourbon","ile de la reunion","la reunion","re","region reunion","reunion island"]},{iso3:"ROU",iso2:"RO",m49:"642",name:"Romania",aliases:["\u{1F1F7}\u{1F1F4}"]},{iso3:"RUS",iso2:"RU",m49:"643",name:"Russian Federation",aliases:["\u{1F1F7}\u{1F1FA}","federation of russia","russia","\u0440\u043E\u0441\u0441\u0438\u0438\u0441\u043A\u0430\u044F \u0444\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044F","\u0440\u043E\u0441\u0441\u0438\u044F","\u0440\u0444"]},{iso3:"RWA",iso2:"RW",m49:"646",name:"Rwanda",aliases:["\u{1F1F7}\u{1F1FC}","igihugu cyimisozi igihumbi","jamhuri ya rwanda","la republique du rwanda","land of a thousand hills","republic of rwanda","republika yu rwanda","republique du rwanda","republique rwandaise","repubulika yu rwanda","u rwanda"]},{iso3:"SAU",iso2:"SA",m49:"682",name:"Saudi Arabia",aliases:["\u{1F1F8}\u{1F1E6}","kingdom of saudi arabia","\u0627\u0644\u062F\u0648\u0644\u0629 \u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629","\u0627\u0644\u062F\u0648\u0644\u0647 \u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0647","\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629","\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0647","\u0627\u0644\u0639\u0631\u0628\u064A\u0629 \u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629","\u0627\u0644\u0645\u0645\u0644\u0643\u0629","\u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629","\u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0639\u0631\u0628\u064A\u0629","\u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0639\u0631\u0628\u064A\u0629 \u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629","\u0627\u0644\u0645\u0645\u0644\u0643\u0647","\u0627\u0644\u0645\u0645\u0644\u0643\u0647 \u0627\u0644\u0639\u0631\u0628\u064A\u0647 \u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0647","\u0628\u0644\u0627\u062F \u0627\u0644\u062D\u0631\u0645\u064A\u0646 \u0627\u0644\u0634\u0631\u064A\u0641\u064A\u0646","\u062F\u0648\u0644\u0629 \u0622\u0644 \u0633\u0639\u0648\u062F","\u0633\u0639\u0648\u062F\u064A\u0629","\u0633\u0639\u0648\u062F\u064A\u0647","\u0645\u0646\u0628\u0639 \u0627\u0644\u0631\u0633\u0627\u0644\u0629","\u0645\u0647\u0628\u0637 \u0627\u0644\u0648\u062D\u064A"]},{iso3:"SDN",iso2:"SD",m49:"729",name:"Sudan",aliases:["\u{1F1F8}\u{1F1E9}","al sudan","as sudan","north sudan","republic of sudan","republic of the sudan","soudan","\u0627\u0644\u0633\u0648\u062F\u0627\u0646","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0633\u0648\u062F\u0627\u0646"]},{iso3:"SEN",iso2:"SN",m49:"686",name:"Senegal",aliases:["\u{1F1F8}\u{1F1F3}","la republique du senegal","republic of senegal","republique du senegal","sen","senegaal"]},{iso3:"SGP",iso2:"SG",m49:"702",name:"Singapore",aliases:["\u{1F1F8}\u{1F1EC}","garden city","lion city","republic of singapore","republik singapura","singapore city","singapura","spore","\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0BC2\u0BB0\u0BCD","\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0BC2\u0BB0\u0BCD \u0B95\u0BC1\u0B9F\u0BBF\u0BAF\u0BB0\u0B9A\u0BC1","\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BC8","\u0BB8\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BC2\u0BB0\u0BCD"]},{iso3:"SGS",iso2:"GS",m49:"239",name:"South Georgia and the South Sandwich Islands",aliases:["\u{1F1EC}\u{1F1F8}","falkland islands dependencies","sgssi","south georgia","south georgia & south sandwich islands","south sandwich islands"]},{iso3:"SHN",iso2:"SH",m49:"654",name:"Saint Helena",aliases:["\u{1F1F8}\u{1F1ED}","ascension","saint helena and dependencies","saint helena ascension and tristan da cunha","tristan da cunha"]},{iso3:"SJM",iso2:"SJ",m49:"744",name:"Svalbard and Jan Mayen Islands",aliases:["\u{1F1F8}\u{1F1EF}","jan mayen","svalbard","svalbard and jan mayen","svalbard og jan mayen"]},{iso3:"SLB",iso2:"SB",m49:"090",name:"Solomon Islands",aliases:["\u{1F1F8}\u{1F1E7}"]},{iso3:"SLE",iso2:"SL",m49:"694",name:"Sierra Leone",aliases:["\u{1F1F8}\u{1F1F1}","republic of sierra leone"]},{iso3:"SLV",iso2:"SV",m49:"222",name:"El Salvador",aliases:["\u{1F1F8}\u{1F1FB}","republic of el salvador","republica de el salvador","salvador"]},{iso3:"SMR",iso2:"SM",m49:"674",name:"San Marino",aliases:["\u{1F1F8}\u{1F1F2}","most serene republic of san marino","repubblica di san marino","serenissima repubblica di san marino"]},{iso3:"SOM",iso2:"SO",m49:"706",name:"Somalia",aliases:["\u{1F1F8}\u{1F1F4}","as sumal","federal republic of somalia","jamhuuriyadda federaalka soomaaliya","jamhuuriyadda soomaaliyeed","soomaaliya","soomaaliyeey toosoo","\u0627\u0644\u0635\u0648\u0645\u0627\u0644","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0635\u0648\u0645\u0627\u0644","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0635\u0648\u0645\u0627\u0644 \u0627\u0644\u062F\u064A\u0645\u0648\u0642\u0631\u0627\u0637\u064A\u0629","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0635\u0648\u0645\u0627\u0644 \u0627\u0644\u0641\u064A\u062F\u0631\u0627\u0644\u064A\u0629","\u0635\u0648\u0645\u0627\u0644"]},{iso3:"SPM",iso2:"PM",m49:"666",name:"Saint Pierre and Miquelon",aliases:["\u{1F1F5}\u{1F1F2}","collectivite territoriale de saint pierre et miquelon","miquelon","saint pierre","saint pierre et miquelon","territorial collectivity of saint pierre and miquelon"]},{iso3:"SRB",iso2:"RS",m49:"688",name:"Serbia",aliases:["\u{1F1F7}\u{1F1F8}","republic of serbia","republika srbija","\u0440\u0435\u043F\u0443\u0431\u043B\u0438\u043A\u0430 \u0441\u0440\u0431\u0438\u0458\u0430","\u0441\u0440\u0431\u0438\u0458\u0430"]},{iso3:"SSD",iso2:"SS",m49:"728",name:"South Sudan",aliases:["\u{1F1F8}\u{1F1F8}","republic of south sudan","southern sudan"]},{iso3:"STP",iso2:"ST",m49:"678",name:"Sao Tome and Principe",aliases:["\u{1F1F8}\u{1F1F9}","democratic republic of sao tome and principe","principe","republica democratica de sao tome e principe","sao tome","sao tome e principe","sao tome og principe"]},{iso3:"SUR",iso2:"SR",m49:"740",name:"Suriname",aliases:["\u{1F1F8}\u{1F1F7}","dutch guiana","republic of surinam","republic of suriname","republiek suriname","surinam","surrinam"]},{iso3:"SVK",iso2:"SK",m49:"703",name:"Slovakia",aliases:["\u{1F1F8}\u{1F1F0}","slovak republic","slovenska republika","slovensko"]},{iso3:"SVN",iso2:"SI",m49:"705",name:"Slovenia",aliases:["\u{1F1F8}\u{1F1EE}","republic of slovenia","republika slovenija","slovenija"]},{iso3:"SWE",iso2:"SE",m49:"752",name:"Sweden",aliases:["\u{1F1F8}\u{1F1EA}","kingdom of sweden","konungadomet sverige","konungariket sverige","kungadomet sverige","kungariket sverige","sverige","swedish kingdom"]},{iso3:"SWZ",iso2:"SZ",m49:"748",name:"Eswatini",aliases:["\u{1F1F8}\u{1F1FF}","kingdom of eswatini","kingdom of swaziland","swaziland","umbuso weswatini"]},{iso3:"SXM",iso2:"SX",m49:"534",name:"Sint Maarten (Dutch part)",aliases:["\u{1F1F8}\u{1F1FD}","country of sint maarten","eilandgebied sint maarten","land sint maarten","saint maarten","saint martin dutch part","sint maarten","sint martin"]},{iso3:"SYC",iso2:"SC",m49:"690",name:"Seychelles",aliases:["\u{1F1F8}\u{1F1E8}","la republique des seychelles","repiblik sesel","republic of seychelles","republique des seychelles"]},{iso3:"SYR",iso2:"SY",m49:"760",name:"Syrian Arab Republic",aliases:["\u{1F1F8}\u{1F1FE}","surya","syria","\u0627\u0644\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0639\u0631\u0628\u064A\u0629 \u0627\u0644\u0633\u0648\u0631\u064A\u0629","\u0627\u0644\u0634\u0627\u0645","\u0633\u0648\u0631\u064A\u0627","\u0633\u0648\u0631\u064A\u0629"]},{iso3:"TCA",iso2:"TC",m49:"796",name:"Turks and Caicos Islands",aliases:["\u{1F1F9}\u{1F1E8}","caicos","caicos islands","turks","turks & caicos","turks islands"]},{iso3:"TCD",iso2:"TD",m49:"148",name:"Chad",aliases:["\u{1F1F9}\u{1F1E9}","la republique du tchad","republic of chad","republique du tchad","tchad","\u062A\u0634\u0627\u062F","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u062A\u0634\u0627\u062F"]},{iso3:"TGO",iso2:"TG",m49:"768",name:"Togo",aliases:["\u{1F1F9}\u{1F1EC}","la republique togolaise","republique togolaise","togolese republic"]},{iso3:"THA",iso2:"TH",m49:"764",name:"Thailand",aliases:["\u{1F1F9}\u{1F1ED}","kingdom of siam","kingdom of thailand","siam","thai","\u0E44\u0E17\u0E22","\u0E1B\u0E23\u0E30\u0E40\u0E17\u0E28\u0E44\u0E17\u0E22","\u0E1B\u0E23\u0E30\u0E40\u0E17\u0E28\u0E2A\u0E22\u0E32\u0E21","\u0E40\u0E21\u0E37\u0E2D\u0E07\u0E44\u0E17\u0E22","\u0E23\u0E32\u0E0A\u0E2D\u0E32\u0E13\u0E32\u0E08\u0E31\u0E01\u0E23\u0E44\u0E17\u0E22","\u0E23\u0E32\u0E0A\u0E2D\u0E32\u0E13\u0E32\u0E08\u0E31\u0E01\u0E23\u0E2A\u0E22\u0E32\u0E21","\u0E2A\u0E22\u0E32\u0E21"]},{iso3:"TJK",iso2:"TJ",m49:"762",name:"Tajikistan",aliases:["\u{1F1F9}\u{1F1EF}","jumhurii tojikiston","republic of tajikistan","\u0442\u043E\u04B7\u0438\u043A\u0438\u0441\u0442\u043E\u043D","\u0442\u04B7","\u0442\u04B7\u043A","\u04B7\u0442","\u04B7\u0443\u043C\u04B3\u0443\u0440\u0438\u0438 \u0442\u043E\u04B7\u0438\u043A\u0438\u0441\u0442\u043E\u043D"]},{iso3:"TKL",iso2:"TK",m49:"772",name:"Tokelau",aliases:["\u{1F1F9}\u{1F1F0}","tokelau islands","union islands"]},{iso3:"TKM",iso2:"TM",m49:"795",name:"Turkmenistan",aliases:["\u{1F1F9}\u{1F1F2}"]},{iso3:"TLS",iso2:"TL",m49:"626",name:"Timor-Leste",aliases:["\u{1F1F9}\u{1F1F1}","democratic republic of timor leste","east timor","republica democratica de timor leste","republika demokratika timor lorosae","timor loro sae","timor lorosae"]},{iso3:"TON",iso2:"TO",m49:"776",name:"Tonga",aliases:["\u{1F1F9}\u{1F1F4}","friendly islands","kingdom of tonga","puleanga fakatui o tonga","tonga islands"]},{iso3:"TTO",iso2:"TT",m49:"780",name:"Trinidad and Tobago",aliases:["\u{1F1F9}\u{1F1F9}","republic of trinidad and tobago","tobago","trinidad"]},{iso3:"TUN",iso2:"TN",m49:"788",name:"Tunisia",aliases:["\u{1F1F9}\u{1F1F3}","republic of tunisia","tunisian republic","\u0627\u0644\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u062A\u0648\u0646\u0633\u064A\u0629","\u062A\u0648\u0646\u0633","\u062A\u0648\u0646\u0633 \u0627\u0644\u062E\u0636\u0631\u0627\u0621"]},{iso3:"TUR",iso2:"TR",m49:"792",name:"T\xFCrkiye",aliases:["\u{1F1F9}\u{1F1F7}","republic of turkey","republic of turkiye","turkey","turkiye cumhuriyeti"]},{iso3:"TUV",iso2:"TV",m49:"798",name:"Tuvalu",aliases:["\u{1F1F9}\u{1F1FB}","ellice islands"]},{iso3:"TWN",iso2:"TW",m49:"158",name:"Taiwan",aliases:["\u{1F1F9}\u{1F1FC}","chinese republic","chinese taipei","chunghwa minkuo","chunghwa minkwo","conghwaminku","cunghwa minkwo","cyukamingkok","formosa","nanasian","nationalist china","republic of china","republic of china taiwan","roc","taivang","taiwan province of china","taiwan roc","taywan","taywang","teywan","\u4E2D\u83EF\u6C11\u570B","\u4E2D\u83EF\u6C11\u570B\uFF08\u81FA\u7063\uFF09","\u4E2D\u83EF\u81FA\u5317","\u53F0\u7063","\u81FA\u6F8E\u91D1\u99AC","\u81FA\u7063"]},{iso3:"TZA",iso2:"TZ",m49:"834",name:"United Republic of Tanzania",aliases:["\u{1F1F9}\u{1F1FF}","jamhuri ya muungano wa tanganyika na zanzibar","jamhuri ya muungano wa tanzania","tanzania","tanzania jamhuri ya muungano wa","tanzania united republic of","united republic of tanganyika and zanzibar"]},{iso3:"UGA",iso2:"UG",m49:"800",name:"Uganda",aliases:["\u{1F1FA}\u{1F1EC}","jamhuri ya uganda","lulu ya afrika","ouganda","pearl of africa","republic of uganda","ugandah"]},{iso3:"UKR",iso2:"UA",m49:"804",name:"Ukraine",aliases:["\u{1F1FA}\u{1F1E6}","ukr","ukraina","ukrainia","ukrayina","\u0432\u043A\u0440\u0430\u0456\u043D\u0430","\u0443\u043A\u0440\u0430\u0456\u043D\u0430"]},{iso3:"UMI",iso2:"UM",m49:"581",name:"United States Minor Outlying Islands",aliases:["\u{1F1FA}\u{1F1F2}","us minor outlying islands","us outlying islands","usmoi"]},{iso3:"URY",iso2:"UY",m49:"858",name:"Uruguay",aliases:["\u{1F1FA}\u{1F1FE}","eastern republic of uruguay","oriental republic of uruguay"]},{iso3:"USA",iso2:"US",m49:"840",name:"United States of America",aliases:["\u{1F1FA}\u{1F1F8}","amelika","amelika hui pu ia","amelika huipuia","amelika mokuaina hui pu ia","america","eeuu","eeuu de america","estados unidos","estados unidos de america","los estados","los estados unidos","los estados unidos de america","mokuaina hui pu ia","union americana","united states","us","us of a","us of america","usa"]},{iso3:"UZB",iso2:"UZ",m49:"860",name:"Uzbekistan",aliases:["\u{1F1FA}\u{1F1FF}","ozbek","ozbekiston","ozbekiston respublikasi","republic of uzbekistan","uzbekiston respublikasi"]},{iso3:"VAT",iso2:"VA",m49:"336",name:"Holy See",aliases:["\u{1F1FB}\u{1F1E6}","citta del vaticano","civitas vaticana","colle vaticano","papal state","santa sede citta del vaticano","state of vatican city","stato della citta del vaticano","status civitatis vaticanae","status civitatis vatican\xE6","vatican","vatican city","vatican city state","vaticano"]},{iso3:"VCT",iso2:"VC",m49:"670",name:"Saint Vincent and the Grenadines",aliases:["\u{1F1FB}\u{1F1E8}","grenadines","saint vincent","saint vincent and grenadines"]},{iso3:"VEN",iso2:"VE",m49:"862",name:"Venezuela (Bolivarian Republic of)",aliases:["\u{1F1FB}\u{1F1EA}","bolivarian republic of venezuela","br venezuela","estados unidos de venezuela","rb venezuela","republic of venezuela","republica bolivariana de venezuela","republica de venezuela","venezuela"]},{iso3:"VGB",iso2:"VG",m49:"092",name:"British Virgin Islands",aliases:["\u{1F1FB}\u{1F1EC}","bvi","virgin islands british","virgin islands of the united kingdom","virgin islands united kingdom"]},{iso3:"VIR",iso2:"VI",m49:"850",name:"United States Virgin Islands",aliases:["\u{1F1FB}\u{1F1EE}","american virgin islands","us virgin islands","virgin islands of the united states","virgin islands us"]},{iso3:"VNM",iso2:"VN",m49:"704",name:"Viet Nam",aliases:["\u{1F1FB}\u{1F1F3}","chxhcn viet nam","chxhcnvn","cong hoa xa hoi chu nghia viet nam","socialist republic of viet nam","socialist republic of vietnam","vietnam"]},{iso3:"VUT",iso2:"VU",m49:"548",name:"Vanuatu",aliases:["\u{1F1FB}\u{1F1FA}","la republique du vanuatu","republic of vanuatu","republique de vanuatu","ripablik blong vanuatu"]},{iso3:"WLF",iso2:"WF",m49:"876",name:"Wallis and Futuna Islands",aliases:["\u{1F1FC}\u{1F1EB}","collectivite des iles wallis et futuna","emeni simete","futuna","iles wallis et futuna","makape papilio","territoire de wallis et futuna","territoire des iles wallis et futuna","wallis","wallis & futuna","wallis et futuna"]},{iso3:"WSM",iso2:"WS",m49:"882",name:"Samoa",aliases:["\u{1F1FC}\u{1F1F8}","independent state of samoa","malo saoloto tutoatasi o samoa","samoa i sisifo","western samoa"]},{iso3:"YEM",iso2:"YE",m49:"887",name:"Yemen",aliases:["\u{1F1FE}\u{1F1EA}","rep yemen","republic of yemen","\u0627\u0644\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u064A\u0645\u0646\u064A\u0629","\u0627\u0644\u064A\u0645\u0646","\u062F\u0648\u0644\u0629 \u0627\u0644\u064A\u0645\u0646"]},{iso3:"ZAF",iso2:"ZA",m49:"710",name:"South Africa",aliases:["\u{1F1FF}\u{1F1E6}","aferika borwa","aforika borwa","afrika boroa","afrika borwa","afrika dzonga","afurika tshipembe","emzantsi afrika","iningizimu afrika","iriphabhulikhi ye ningizimu afrika","iriphabhulikhi yeningizimu afrika","iriphabhuliki yase ningizimu afrika","iriphabliki yasemzantsi afrika","iriphabliki yaseningizimu afrika","iriphabliki yom zantsi afrika","isewula afrika","repabliki ya afrika borwa","rephaboliki ya aforika borwa","rephaboliki ya afrika borwa","republic of south africa","republiek van suid afrika","riphabliki ra afrika dzonga","rsa","suid afrika","umzansi","umzantsi afrika","unie van suid afrika","union of south africa"]},{iso3:"ZMB",iso2:"ZM",m49:"894",name:"Zambia",aliases:["\u{1F1FF}\u{1F1F2}","northern rhodesia","republic of zambia"]},{iso3:"ZWE",iso2:"ZW",m49:"716",name:"Zimbabwe",aliases:["\u{1F1FF}\u{1F1FC}","ezimbabwe","izimbabwe","republic of zimbabwe","rhodesia","southern rhodesia","zimbabwe rhodesia","zimbagwe"]}];function n(o){return o.normalize("NFD").replace(/[̀-ͯ]/g,"").normalize("NFC").toLowerCase().replace(/[ً-ٟ]/g,"").replace(/['‘’ʻʼʽˈ′`]/g,"").replace(/&/g," and ").replace(/([,(])\s*the\b/g,"$1").replace(/[.(),[\]]/g,"").replace(/[-–—]/g," ").replace(/\bst\b/g,"saint").trim().replace(/\s+/g," ").replace(/^the\s+/,"")}function i(o){let b=new Map,M=new Map,A=new Map;for(let m of o)b.set(m.iso3,m),m.iso2&&M.set(m.iso2,m),m.m49&&A.set(m.m49,m);let E=new Map;for(let m of o)for(let h of[m.name,...m.aliases]){let x=n(h),_=E.get(x);if(_!==void 0&&_!==m.iso3)throw new Error(`Duplicate name/alias "${x}": ${_} vs ${m.iso3}`);E.set(x,m.iso3)}function g(m){if(m==null)return;let h=String(m).trim();if(!h)return;if(/^\d+$/.test(h)){let _=A.get(String(parseInt(h,10)).padStart(3,"0"));if(_)return _}if(/^[A-Za-z]{2}$/.test(h)){let _=M.get(h.toUpperCase());if(_)return _}if(/^[A-Za-z]{3}$/.test(h)){let _=b.get(h.toUpperCase());if(_)return _}let x=E.get(n(h));return x===void 0?void 0:b.get(x)}function T(m){var h;return(h=g(m))==null?void 0:h.iso3}return{lookup:g,lookupAlpha3:T,byAlpha3:b,byAlpha2:M,byM49:A}}var s=i(r),c=s.lookup,p=s.lookupAlpha3,f=s.byAlpha3,d=s.byAlpha2,y=s.byM49}}),N1=xe({"node_modules/@turf/helpers/dist/cjs/index.cjs"(U){"use strict";Object.defineProperty(U,"__esModule",{value:!0});var O=63710088e-1,u={centimeters:O*100,centimetres:O*100,degrees:360/(2*Math.PI),feet:O*3.28084,inches:O*39.37,kilometers:O/1e3,kilometres:O/1e3,meters:O,metres:O,miles:O/1609.344,millimeters:O*1e3,millimetres:O*1e3,nauticalmiles:O/1852,radians:1,yards:O*1.0936},v={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,nauticalmiles:29155334959812285e-23,millimeters:1e6,millimetres:1e6,yards:1.195990046};function w(C,F,I={}){let z={type:"Feature"};return(I.id===0||I.id)&&(z.id=I.id),I.bbox&&(z.bbox=I.bbox),z.properties=F||{},z.geometry=C,z}function S(C,F,I={}){switch(C){case"Point":return l(F).geometry;case"LineString":return r(F).geometry;case"Polygon":return t(F).geometry;case"MultiPoint":return c(F).geometry;case"MultiLineString":return s(F).geometry;case"MultiPolygon":return p(F).geometry;default:throw new Error(C+" is invalid")}}function l(C,F,I={}){if(!C)throw new Error("coordinates is required");if(!Array.isArray(C))throw new Error("coordinates must be an Array");if(C.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!h(C[0])||!h(C[1]))throw new Error("coordinates must contain numbers");return w({type:"Point",coordinates:C},F,I)}function e(C,F,I={}){return i(C.map(z=>l(z,F)),I)}function t(C,F,I={}){for(let R of C){if(R.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");if(R[R.length-1].length!==R[0].length)throw new Error("First and last Position are not equivalent.");for(let k=0;kt(z,F)),I)}function r(C,F,I={}){if(C.length<2)throw new Error("coordinates must be an array of two or more positions");return w({type:"LineString",coordinates:C},F,I)}function n(C,F,I={}){return i(C.map(z=>r(z,F)),I)}function i(C,F={}){let I={type:"FeatureCollection"};return F.id&&(I.id=F.id),F.bbox&&(I.bbox=F.bbox),I.features=C,I}function s(C,F,I={}){return w({type:"MultiLineString",coordinates:C},F,I)}function c(C,F,I={}){return w({type:"MultiPoint",coordinates:C},F,I)}function p(C,F,I={}){return w({type:"MultiPolygon",coordinates:C},F,I)}function f(C,F,I={}){return w({type:"GeometryCollection",geometries:C},F,I)}function d(C,F=0){if(F&&!(F>=0))throw new Error("precision must be a positive number");let I=Math.pow(10,F||0);return Math.round(C*I)/I}function y(C,F="kilometers"){let I=u[F];if(!I)throw new Error(F+" units is invalid");return C*I}function o(C,F="kilometers"){let I=u[F];if(!I)throw new Error(F+" units is invalid");return C/I}function b(C,F){return E(o(C,F))}function M(C){let F=C%360;return F<0&&(F+=360),F}function A(C){return C=C%360,C>180?C-360:C<-180?C+360:C}function E(C){return C%(2*Math.PI)*180/Math.PI}function g(C){return C%360*Math.PI/180}function T(C,F="kilometers",I="kilometers"){if(!(C>=0))throw new Error("length must be a positive number");return y(o(C,F),I)}function m(C,F="meters",I="kilometers"){if(!(C>=0))throw new Error("area must be a positive number");let z=v[F];if(!z)throw new Error("invalid original units");let R=v[I];if(!R)throw new Error("invalid final units");return C/z*R}function h(C){return!isNaN(C)&&C!==null&&!Array.isArray(C)}function x(C){return C!==null&&typeof C=="object"&&!Array.isArray(C)}function _(C){if(!C)throw new Error("bbox is required");if(!Array.isArray(C))throw new Error("bbox must be an Array");if(C.length!==4&&C.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");C.forEach(F=>{if(!h(F))throw new Error("bbox must only contain numbers")})}function D(C){if(!C)throw new Error("id is required");if(["string","number"].indexOf(typeof C)===-1)throw new Error("id must be a number or a string")}U.areaFactors=v,U.azimuthToBearing=A,U.bearingToAzimuth=M,U.convertArea=m,U.convertLength=T,U.degreesToRadians=g,U.earthRadius=O,U.factors=u,U.feature=w,U.featureCollection=i,U.geometry=S,U.geometryCollection=f,U.isNumber=h,U.isObject=x,U.lengthToDegrees=b,U.lengthToRadians=o,U.lineString=r,U.lineStrings=n,U.multiLineString=s,U.multiPoint=c,U.multiPolygon=p,U.point=l,U.points=e,U.polygon=t,U.polygons=a,U.radiansToDegrees=E,U.radiansToLength=y,U.round=d,U.validateBBox=_,U.validateId=D}}),O1=xe({"node_modules/@turf/meta/dist/cjs/index.cjs"(U){"use strict";Object.defineProperty(U,"__esModule",{value:!0});var O=N1();function u(o,b,M){if(o!==null)for(var A,E,g,T,m,h,x,_=0,D=0,C,F=o.type,I=F==="FeatureCollection",z=F==="Feature",R=I?o.features.length:1,k=0;kh||I>x||z>_){m=D,h=A,x=I,_=z,g=0;return}var R=O.lineString.call(void 0,[m,D],M.properties);if(b(R,A,E,z,g)===!1)return!1;g++,m=D})===!1)return!1}}})}function c(o,b,M){var A=M,E=!1;return s(o,function(g,T,m,h,x){E===!1&&M===void 0?A=g:A=b(A,g,T,m,h,x),E=!0}),A}function p(o,b){if(!o)throw new Error("geojson is required");n(o,function(M,A,E){if(M.geometry!==null){var g=M.geometry.type,T=M.geometry.coordinates;switch(g){case"LineString":if(b(M,A,E,0,0)===!1)return!1;break;case"Polygon":for(var m=0;mn+w(i),0)}function w(r){let n=0,i;switch(r.type){case"Polygon":return S(r.coordinates);case"MultiPolygon":for(i=0;i0){n+=Math.abs(t(r[0]));for(let i=1;i=n?(s+2)%n:s+2],d=c[0]*e,y=p[1]*e,o=f[0]*e;i+=(o-d)*Math.sin(y),s++}return i*l}var a=v;U.area=v,U.default=a}}),V4=xe({"node_modules/@turf/centroid/dist/cjs/index.cjs"(U){"use strict";Object.defineProperty(U,"__esModule",{value:!0});var O=N1(),u=O1();function v(S,l={}){let e=0,t=0,a=0;return u.coordEach.call(void 0,S,function(r){e+=r[0],t+=r[1],a++},!0),O.point.call(void 0,[e/a,t/a],l.properties)}var w=v;U.centroid=v,U.default=w}}),Q0=xe({"node_modules/d3-array/dist/d3-array.js"(U,O){(function(u,v){v(typeof U=="object"&&typeof O<"u"?U:u.d3=u.d3||{})})(U,function(u){"use strict";function v(K,H){return KH?1:K>=H?0:NaN}function w(K){return K.length===1&&(K=S(K)),{left:function(H,Z,X,$){for(X==null&&(X=0),$==null&&($=H.length);X<$;){var Q=X+$>>>1;K(H[Q],Z)<0?X=Q+1:$=Q}return X},right:function(H,Z,X,$){for(X==null&&(X=0),$==null&&($=H.length);X<$;){var Q=X+$>>>1;K(H[Q],Z)>0?$=Q:X=Q+1}return X}}}function S(K){return function(H,Z){return v(K(H),Z)}}var l=w(v),e=l.right,t=l.left;function a(K,H){H==null&&(H=r);for(var Z=0,X=K.length-1,$=K[0],Q=new Array(X<0?0:X);ZK?1:H>=K?0:NaN}function s(K){return K===null?NaN:+K}function c(K,H){var Z=K.length,X=0,$=-1,Q=0,re,ue,pe=0;if(H==null)for(;++$1)return pe/(X-1)}function p(K,H){var Z=c(K,H);return Z&&Math.sqrt(Z)}function f(K,H){var Z=K.length,X=-1,$,Q,re;if(H==null){for(;++X=$)for(Q=re=$;++X$&&(Q=$),re<$&&(re=$))}else for(;++X=$)for(Q=re=$;++X$&&(Q=$),re<$&&(re=$));return[Q,re]}var d=Array.prototype,y=d.slice,o=d.map;function b(K){return function(){return K}}function M(K){return K}function A(K,H,Z){K=+K,H=+H,Z=($=arguments.length)<2?(H=K,K=0,1):$<3?1:+Z;for(var X=-1,$=Math.max(0,Math.ceil((H-K)/Z))|0,Q=new Array($);++X<$;)Q[X]=K+X*Z;return Q}var E=Math.sqrt(50),g=Math.sqrt(10),T=Math.sqrt(2);function m(K,H,Z){var X,$=-1,Q,re,ue;if(H=+H,K=+K,Z=+Z,K===H&&Z>0)return[K];if((X=H0)for(K=Math.ceil(K/ue),H=Math.floor(H/ue),re=new Array(Q=Math.ceil(H-K+1));++$=0?(Q>=E?10:Q>=g?5:Q>=T?2:1)*Math.pow(10,$):-Math.pow(10,-$)/(Q>=E?10:Q>=g?5:Q>=T?2:1)}function x(K,H,Z){var X=Math.abs(H-K)/Math.max(0,Z),$=Math.pow(10,Math.floor(Math.log(X)/Math.LN10)),Q=X/$;return Q>=E?$*=10:Q>=g?$*=5:Q>=T&&($*=2),HSe;)Ce.pop(),--Ue;var Oe=new Array(Ue+1),_e;for(Q=0;Q<=Ue;++Q)_e=Oe[Q]=[],_e.x0=Q>0?Ce[Q-1]:Te,_e.x1=Q=1)return+Z(K[X-1],X-1,K);var X,$=(X-1)*H,Q=Math.floor($),re=+Z(K[Q],Q,K),ue=+Z(K[Q+1],Q+1,K);return re+(ue-re)*($-Q)}}function F(K,H,Z){return K=o.call(K,s).sort(v),Math.ceil((Z-H)/(2*(C(K,.75)-C(K,.25))*Math.pow(K.length,-1/3)))}function I(K,H,Z){return Math.ceil((Z-H)/(3.5*p(K)*Math.pow(K.length,-1/3)))}function z(K,H){var Z=K.length,X=-1,$,Q;if(H==null){for(;++X=$)for(Q=$;++XQ&&(Q=$)}else for(;++X=$)for(Q=$;++XQ&&(Q=$);return Q}function R(K,H){var Z=K.length,X=Z,$=-1,Q,re=0;if(H==null)for(;++$=0;)for(re=K[H],Z=re.length;--Z>=0;)Q[--$]=re[Z];return Q}function N(K,H){var Z=K.length,X=-1,$,Q;if(H==null){for(;++X=$)for(Q=$;++X$&&(Q=$)}else for(;++X=$)for(Q=$;++X$&&(Q=$);return Q}function q(K,H){for(var Z=H.length,X=new Array(Z);Z--;)X[Z]=K[H[Z]];return X}function Y(K,H){if(Z=K.length){var Z,X=0,$=0,Q,re=K[$];for(H==null&&(H=v);++X0?1:Mt<0?-1:0},m=Math.sqrt,h=Math.tan;function x(Mt){return Mt>1?0:Mt<-1?r:Math.acos(Mt)}function _(Mt){return Mt>1?n:Mt<-1?-n:Math.asin(Mt)}function D(Mt){return(Mt=g(Mt/2))*Mt}function C(){}function F(Mt,jt){Mt&&z.hasOwnProperty(Mt.type)&&z[Mt.type](Mt,jt)}var I={Feature:function(Mt,jt){F(Mt.geometry,jt)},FeatureCollection:function(Mt,jt){for(var _r=Mt.features,dr=-1,ea=_r.length;++dr=0?1:-1,ea=dr*_r,Aa=o(jt),Ga=g(jt),fn=j*Ga,gn=ae*Aa+fn*o(ea),qn=fn*dr*g(ea);N.add(y(qn,gn)),te=Mt,ae=Aa,j=Ga}function $(Mt){return q.reset(),B(Mt,G),q*2}function Q(Mt){return[y(Mt[1],Mt[0]),_(Mt[2])]}function re(Mt){var jt=Mt[0],_r=Mt[1],dr=o(_r);return[dr*o(jt),dr*g(jt),g(_r)]}function ue(Mt,jt){return Mt[0]*jt[0]+Mt[1]*jt[1]+Mt[2]*jt[2]}function pe(Mt,jt){return[Mt[1]*jt[2]-Mt[2]*jt[1],Mt[2]*jt[0]-Mt[0]*jt[2],Mt[0]*jt[1]-Mt[1]*jt[0]]}function ge(Mt,jt){Mt[0]+=jt[0],Mt[1]+=jt[1],Mt[2]+=jt[2]}function Te(Mt,jt){return[Mt[0]*jt,Mt[1]*jt,Mt[2]*jt]}function Se(Mt){var jt=m(Mt[0]*Mt[0]+Mt[1]*Mt[1]+Mt[2]*Mt[2]);Mt[0]/=jt,Mt[1]/=jt,Mt[2]/=jt}var Ce,Ue,Oe,_e,ce,ie,se,ne,be=w(),De,qe,Ne={point:ut,lineStart:yt,lineEnd:At,polygonStart:function(){Ne.point=It,Ne.lineStart=Zt,Ne.lineEnd=vr,be.reset(),G.polygonStart()},polygonEnd:function(){G.polygonEnd(),Ne.point=ut,Ne.lineStart=yt,Ne.lineEnd=At,N<0?(Ce=-(Oe=180),Ue=-(_e=90)):be>t?_e=90:be<-t&&(Ue=-90),qe[0]=Ce,qe[1]=Oe},sphere:function(){Ce=-(Oe=180),Ue=-(_e=90)}};function ut(Mt,jt){De.push(qe=[Ce=Mt,Oe=Mt]),jt_e&&(_e=jt)}function ot(Mt,jt){var _r=re([Mt*p,jt*p]);if(ne){var dr=pe(ne,_r),ea=[dr[1],-dr[0],0],Aa=pe(ea,dr);Se(Aa),Aa=Q(Aa);var Ga=Mt-ce,fn=Ga>0?1:-1,gn=Aa[0]*c*fn,qn,Wa=f(Ga)>180;Wa^(fn*ce_e&&(_e=qn)):(gn=(gn+360)%360-180,Wa^(fn*ce_e&&(_e=jt))),Wa?MtUt(Ce,Oe)&&(Oe=Mt):Ut(Mt,Oe)>Ut(Ce,Oe)&&(Ce=Mt):Oe>=Ce?(MtOe&&(Oe=Mt)):Mt>ce?Ut(Ce,Mt)>Ut(Ce,Oe)&&(Oe=Mt):Ut(Mt,Oe)>Ut(Ce,Oe)&&(Ce=Mt)}else De.push(qe=[Ce=Mt,Oe=Mt]);jt_e&&(_e=jt),ne=_r,ce=Mt}function yt(){Ne.point=ot}function At(){qe[0]=Ce,qe[1]=Oe,Ne.point=ut,ne=null}function It(Mt,jt){if(ne){var _r=Mt-ce;be.add(f(_r)>180?_r+(_r>0?360:-360):_r)}else ie=Mt,se=jt;G.point(Mt,jt),ot(Mt,jt)}function Zt(){G.lineStart()}function vr(){It(ie,se),G.lineEnd(),f(be)>t&&(Ce=-(Oe=180)),qe[0]=Ce,qe[1]=Oe,ne=null}function Ut(Mt,jt){return(jt-=Mt)<0?jt+360:jt}function Jt(Mt,jt){return Mt[0]-jt[0]}function at(Mt,jt){return Mt[0]<=Mt[1]?Mt[0]<=jt&&jt<=Mt[1]:jtUt(dr[0],dr[1])&&(dr[1]=ea[1]),Ut(ea[0],dr[1])>Ut(dr[0],dr[1])&&(dr[0]=ea[0])):Aa.push(dr=ea);for(Ga=-1/0,_r=Aa.length-1,jt=0,dr=Aa[_r];jt<=_r;dr=ea,++jt)ea=Aa[jt],(fn=Ut(dr[1],ea[0]))>Ga&&(Ga=fn,Ce=ea[0],Oe=dr[1])}return De=qe=null,Ce===1/0||Ue===1/0?[[NaN,NaN],[NaN,NaN]]:[[Ce,Ue],[Oe,_e]]}var Re,he,ye,Ie,Fe,He,We,pt,ct,ft,mt,_t,Bt,Et,hr,$r,ca={sphere:C,point:na,lineStart:pa,lineEnd:Ia,polygonStart:function(){ca.lineStart=Va,ca.lineEnd=Oa},polygonEnd:function(){ca.lineStart=pa,ca.lineEnd=Ia}};function na(Mt,jt){Mt*=p,jt*=p;var _r=o(jt);wa(_r*o(Mt),_r*g(Mt),g(jt))}function wa(Mt,jt,_r){++Re,ye+=(Mt-ye)/Re,Ie+=(jt-Ie)/Re,Fe+=(_r-Fe)/Re}function pa(){ca.point=fa}function fa(Mt,jt){Mt*=p,jt*=p;var _r=o(jt);Et=_r*o(Mt),hr=_r*g(Mt),$r=g(jt),ca.point=za,wa(Et,hr,$r)}function za(Mt,jt){Mt*=p,jt*=p;var _r=o(jt),dr=_r*o(Mt),ea=_r*g(Mt),Aa=g(jt),Ga=y(m((Ga=hr*Aa-$r*ea)*Ga+(Ga=$r*dr-Et*Aa)*Ga+(Ga=Et*ea-hr*dr)*Ga),Et*dr+hr*ea+$r*Aa);he+=Ga,He+=Ga*(Et+(Et=dr)),We+=Ga*(hr+(hr=ea)),pt+=Ga*($r+($r=Aa)),wa(Et,hr,$r)}function Ia(){ca.point=na}function Va(){ca.point=tn}function Oa(){ka(_t,Bt),ca.point=na}function tn(Mt,jt){_t=Mt,Bt=jt,Mt*=p,jt*=p,ca.point=ka;var _r=o(jt);Et=_r*o(Mt),hr=_r*g(Mt),$r=g(jt),wa(Et,hr,$r)}function ka(Mt,jt){Mt*=p,jt*=p;var _r=o(jt),dr=_r*o(Mt),ea=_r*g(Mt),Aa=g(jt),Ga=hr*Aa-$r*ea,fn=$r*dr-Et*Aa,gn=Et*ea-hr*dr,qn=m(Ga*Ga+fn*fn+gn*gn),Wa=_(qn),$a=qn&&-Wa/qn;ct+=$a*Ga,ft+=$a*fn,mt+=$a*gn,he+=Wa,He+=Wa*(Et+(Et=dr)),We+=Wa*(hr+(hr=ea)),pt+=Wa*($r+($r=Aa)),wa(Et,hr,$r)}function oi(Mt){Re=he=ye=Ie=Fe=He=We=pt=ct=ft=mt=0,B(Mt,ca);var jt=ct,_r=ft,dr=mt,ea=jt*jt+_r*_r+dr*dr;return ear?Mt+Math.round(-Mt/s)*s:Mt,jt]}ci.invert=ci;function hi(Mt,jt,_r){return(Mt%=s)?jt||_r?bn(Jn(Mt),Ti(jt,_r)):Jn(Mt):jt||_r?Ti(jt,_r):ci}function Pi(Mt){return function(jt,_r){return jt+=Mt,[jt>r?jt-s:jt<-r?jt+s:jt,_r]}}function Jn(Mt){var jt=Pi(Mt);return jt.invert=Pi(-Mt),jt}function Ti(Mt,jt){var _r=o(Mt),dr=g(Mt),ea=o(jt),Aa=g(jt);function Ga(fn,gn){var qn=o(gn),Wa=o(fn)*qn,$a=g(fn)*qn,sn=g(gn),Pa=sn*_r+Wa*dr;return[y($a*ea-Pa*Aa,Wa*_r-sn*dr),_(Pa*ea+$a*Aa)]}return Ga.invert=function(fn,gn){var qn=o(gn),Wa=o(fn)*qn,$a=g(fn)*qn,sn=g(gn),Pa=sn*ea-$a*Aa;return[y($a*ea+sn*Aa,Wa*_r+Pa*dr),_(Pa*_r-Wa*dr)]},Ga}function _n(Mt){Mt=hi(Mt[0]*p,Mt[1]*p,Mt.length>2?Mt[2]*p:0);function jt(_r){return _r=Mt(_r[0]*p,_r[1]*p),_r[0]*=c,_r[1]*=c,_r}return jt.invert=function(_r){return _r=Mt.invert(_r[0]*p,_r[1]*p),_r[0]*=c,_r[1]*=c,_r},jt}function Ln(Mt,jt,_r,dr,ea,Aa){if(_r){var Ga=o(jt),fn=g(jt),gn=dr*_r;ea==null?(ea=jt+dr*s,Aa=jt-gn/2):(ea=ji(Ga,ea),Aa=ji(Ga,Aa),(dr>0?eaAa)&&(ea+=dr*s));for(var qn,Wa=ea;dr>0?Wa>Aa:Wa1&&Mt.push(Mt.pop().concat(Mt.shift()))},result:function(){var _r=Mt;return Mt=[],jt=null,_r}}}function rn(Mt,jt){return f(Mt[0]-jt[0])=0;--fn)ea.point(($a=Wa[fn])[0],$a[1]);else dr(sn.x,sn.p.x,-1,ea);sn=sn.p}sn=sn.o,Wa=sn.z,Pa=!Pa}while(!sn.v);ea.lineEnd()}}}function Qt(Mt){if(jt=Mt.length){for(var jt,_r=0,dr=Mt[0],ea;++_r=0?1:-1,Jo=bs*Go,Es=Jo>r,Vo=Ei*no;if(Xt.add(y(Vo*bs*g(Jo),Ii*wo+Vo*o(Jo))),Ga+=Es?Go+bs*s:Go,Es^Pa>=_r^ni>=_r){var yl=pe(re(sn),re(Vi));Se(yl);var Ws=pe(Aa,yl);Se(Ws);var xs=(Es^Go>=0?-1:1)*_(Ws[2]);(dr>xs||dr===xs&&(yl[0]||yl[1]))&&(fn+=Es^Go>=0?1:-1)}}return(Ga<-t||Ga0){for(gn||(ea.polygonStart(),gn=!0),ea.lineStart(),wo=0;wo1&&Rn&2&&no.push(no.pop().concat(no.shift())),Wa.push(no.filter(Ze))}}return sn}}function Ze(Mt){return Mt.length>1}function xt(Mt,jt){return((Mt=Mt.x)[0]<0?Mt[1]-n-t:n-Mt[1])-((jt=jt.x)[0]<0?jt[1]-n-t:n-jt[1])}var Vt=rr(function(){return!0},er,jr,[-r,-n]);function er(Mt){var jt=NaN,_r=NaN,dr=NaN,ea;return{lineStart:function(){Mt.lineStart(),ea=1},point:function(Aa,Ga){var fn=Aa>0?r:-r,gn=f(Aa-jt);f(gn-r)0?n:-n),Mt.point(dr,_r),Mt.lineEnd(),Mt.lineStart(),Mt.point(fn,_r),Mt.point(Aa,_r),ea=0):dr!==fn&&gn>=r&&(f(jt-dr)t?d((g(jt)*(Aa=o(dr))*g(_r)-g(dr)*(ea=o(jt))*g(Mt))/(ea*Aa*Ga)):(jt+dr)/2}function jr(Mt,jt,_r,dr){var ea;if(Mt==null)ea=_r*n,dr.point(-r,ea),dr.point(0,ea),dr.point(r,ea),dr.point(r,0),dr.point(r,-ea),dr.point(0,-ea),dr.point(-r,-ea),dr.point(-r,0),dr.point(-r,ea);else if(f(Mt[0]-jt[0])>t){var Aa=Mt[0]0,ea=f(jt)>t;function Aa(Wa,$a,sn,Pa){Ln(Pa,Mt,_r,sn,Wa,$a)}function Ga(Wa,$a){return o(Wa)*o($a)>jt}function fn(Wa){var $a,sn,Pa,Qn,Ei;return{lineStart:function(){Qn=Pa=!1,Ei=1},point:function(Ii,ki){var Vi=[Ii,ki],ni,Rn=Ga(Ii,ki),no=dr?Rn?0:qn(Ii,ki):Rn?qn(Ii+(Ii<0?r:-r),ki):0;if(!$a&&(Qn=Pa=Rn)&&Wa.lineStart(),Rn!==Pa&&(ni=gn($a,Vi),(!ni||rn($a,ni)||rn(Vi,ni))&&(Vi[2]=1)),Rn!==Pa)Ei=0,Rn?(Wa.lineStart(),ni=gn(Vi,$a),Wa.point(ni[0],ni[1])):(ni=gn($a,Vi),Wa.point(ni[0],ni[1],2),Wa.lineEnd()),$a=ni;else if(ea&&$a&&dr^Rn){var wo;!(no&sn)&&(wo=gn(Vi,$a,!0))&&(Ei=0,dr?(Wa.lineStart(),Wa.point(wo[0][0],wo[0][1]),Wa.point(wo[1][0],wo[1][1]),Wa.lineEnd()):(Wa.point(wo[1][0],wo[1][1]),Wa.lineEnd(),Wa.lineStart(),Wa.point(wo[0][0],wo[0][1],3)))}Rn&&(!$a||!rn($a,Vi))&&Wa.point(Vi[0],Vi[1]),$a=Vi,Pa=Rn,sn=no},lineEnd:function(){Pa&&Wa.lineEnd(),$a=null},clean:function(){return Ei|(Qn&&Pa)<<1}}}function gn(Wa,$a,sn){var Pa=re(Wa),Qn=re($a),Ei=[1,0,0],Ii=pe(Pa,Qn),ki=ue(Ii,Ii),Vi=Ii[0],ni=ki-Vi*Vi;if(!ni)return!sn&&Wa;var Rn=jt*ki/ni,no=-jt*Vi/ni,wo=pe(Ei,Ii),Go=Te(Ei,Rn),bs=Te(Ii,no);ge(Go,bs);var Jo=wo,Es=ue(Go,Jo),Vo=ue(Jo,Jo),yl=Es*Es-Vo*(ue(Go,Go)-1);if(!(yl<0)){var Ws=m(yl),xs=Te(Jo,(-Es-Ws)/Vo);if(ge(xs,Go),xs=Q(xs),!sn)return xs;var bi=Wa[0],ss=$a[0],ms=Wa[1],$o=$a[1],ul;ss0^xs[1]<(f(xs[0]-bi)r^(bi<=xs[0]&&xs[0]<=ss)){var Tl=Te(Jo,(-Es+Ws)/Vo);return ge(Tl,Go),[xs,Q(Tl)]}}}function qn(Wa,$a){var sn=dr?Mt:r-Mt,Pa=0;return Wa<-sn?Pa|=1:Wa>sn&&(Pa|=2),$a<-sn?Pa|=4:$a>sn&&(Pa|=8),Pa}return rr(Ga,fn,Aa,dr?[0,-Mt]:[-r,Mt-r])}function kr(Mt,jt,_r,dr,ea,Aa){var Ga=Mt[0],fn=Mt[1],gn=jt[0],qn=jt[1],Wa=0,$a=1,sn=gn-Ga,Pa=qn-fn,Qn;if(Qn=_r-Ga,!(!sn&&Qn>0)){if(Qn/=sn,sn<0){if(Qn0){if(Qn>$a)return;Qn>Wa&&(Wa=Qn)}if(Qn=ea-Ga,!(!sn&&Qn<0)){if(Qn/=sn,sn<0){if(Qn>$a)return;Qn>Wa&&(Wa=Qn)}else if(sn>0){if(Qn0)){if(Qn/=Pa,Pa<0){if(Qn0){if(Qn>$a)return;Qn>Wa&&(Wa=Qn)}if(Qn=Aa-fn,!(!Pa&&Qn<0)){if(Qn/=Pa,Pa<0){if(Qn>$a)return;Qn>Wa&&(Wa=Qn)}else if(Pa>0){if(Qn0&&(Mt[0]=Ga+Wa*sn,Mt[1]=fn+Wa*Pa),$a<1&&(jt[0]=Ga+$a*sn,jt[1]=fn+$a*Pa),!0}}}}}var ra=1e9,ja=-ra;function La(Mt,jt,_r,dr){function ea(qn,Wa){return Mt<=qn&&qn<=_r&&jt<=Wa&&Wa<=dr}function Aa(qn,Wa,$a,sn){var Pa=0,Qn=0;if(qn==null||(Pa=Ga(qn,$a))!==(Qn=Ga(Wa,$a))||gn(qn,Wa)<0^$a>0)do sn.point(Pa===0||Pa===3?Mt:_r,Pa>1?dr:jt);while((Pa=(Pa+$a+4)%4)!==Qn);else sn.point(Wa[0],Wa[1])}function Ga(qn,Wa){return f(qn[0]-Mt)0?0:3:f(qn[0]-_r)0?2:1:f(qn[1]-jt)0?1:0:Wa>0?3:2}function fn(qn,Wa){return gn(qn.x,Wa.x)}function gn(qn,Wa){var $a=Ga(qn,1),sn=Ga(Wa,1);return $a!==sn?$a-sn:$a===0?Wa[1]-qn[1]:$a===1?qn[0]-Wa[0]:$a===2?qn[1]-Wa[1]:Wa[0]-qn[0]}return function(qn){var Wa=qn,$a=un(),sn,Pa,Qn,Ei,Ii,ki,Vi,ni,Rn,no,wo,Go={point:bs,lineStart:yl,lineEnd:Ws,polygonStart:Es,polygonEnd:Vo};function bs(bi,ss){ea(bi,ss)&&Wa.point(bi,ss)}function Jo(){for(var bi=0,ss=0,ms=Pa.length;ssdr&&(Eu-zu)*(dr-Tl)>(Al-Tl)*(Mt-zu)&&++bi:Al<=dr&&(Eu-zu)*(dr-Tl)<(Al-Tl)*(Mt-zu)&&--bi;return bi}function Es(){Wa=$a,sn=[],Pa=[],wo=!0}function Vo(){var bi=Jo(),ss=wo&&bi,ms=(sn=v.merge(sn)).length;(ss||ms)&&(qn.polygonStart(),ss&&(qn.lineStart(),Aa(null,null,1,qn),qn.lineEnd()),ms&&Ke(sn,fn,bi,Aa,qn),qn.polygonEnd()),Wa=qn,sn=Pa=Qn=null}function yl(){Go.point=xs,Pa&&Pa.push(Qn=[]),no=!0,Rn=!1,Vi=ni=NaN}function Ws(){sn&&(xs(Ei,Ii),ki&&Rn&&$a.rejoin(),sn.push($a.result())),Go.point=bs,Rn&&Wa.lineEnd()}function xs(bi,ss){var ms=ea(bi,ss);if(Pa&&Qn.push([bi,ss]),no)Ei=bi,Ii=ss,ki=ms,no=!1,ms&&(Wa.lineStart(),Wa.point(bi,ss));else if(ms&&Rn)Wa.point(bi,ss);else{var $o=[Vi=Math.max(ja,Math.min(ra,Vi)),ni=Math.max(ja,Math.min(ra,ni))],ul=[bi=Math.max(ja,Math.min(ra,bi)),ss=Math.max(ja,Math.min(ra,ss))];kr($o,ul,Mt,jt,_r,dr)?(Rn||(Wa.lineStart(),Wa.point($o[0],$o[1])),Wa.point(ul[0],ul[1]),ms||Wa.lineEnd(),wo=!1):ms&&(Wa.lineStart(),Wa.point(bi,ss),wo=!1)}Vi=bi,ni=ss,Rn=ms}return Go}}function Dn(){var Mt=0,jt=0,_r=960,dr=500,ea,Aa,Ga;return Ga={stream:function(fn){return ea&&Aa===fn?ea:ea=La(Mt,jt,_r,dr)(Aa=fn)},extent:function(fn){return arguments.length?(Mt=+fn[0][0],jt=+fn[0][1],_r=+fn[1][0],dr=+fn[1][1],ea=Aa=null,Ga):[[Mt,jt],[_r,dr]]}}}var Mn=w(),_i,ti,Si,ai={sphere:C,point:C,lineStart:Ao,lineEnd:C,polygonStart:C,polygonEnd:C};function Ao(){ai.point=Vn,ai.lineEnd=yo}function yo(){ai.point=ai.lineEnd=C}function Vn(Mt,jt){Mt*=p,jt*=p,_i=Mt,ti=g(jt),Si=o(jt),ai.point=Bo}function Bo(Mt,jt){Mt*=p,jt*=p;var _r=g(jt),dr=o(jt),ea=f(Mt-_i),Aa=o(ea),Ga=g(ea),fn=dr*Ga,gn=Si*_r-ti*dr*Aa,qn=ti*_r+Si*dr*Aa;Mn.add(y(m(fn*fn+gn*gn),qn)),_i=Mt,ti=_r,Si=dr}function Mo(Mt){return Mn.reset(),B(Mt,ai),+Mn}var co=[null,null],Ro={type:"LineString",coordinates:co};function ao(Mt,jt){return co[0]=Mt,co[1]=jt,Mo(Ro)}var Co={Feature:function(Mt,jt){return Po(Mt.geometry,jt)},FeatureCollection:function(Mt,jt){for(var _r=Mt.features,dr=-1,ea=_r.length;++dr0&&(ea=ao(Mt[Aa],Mt[Aa-1]),ea>0&&_r<=ea&&dr<=ea&&(_r+dr-ea)*(1-Math.pow((_r-dr)/ea,2))t}).map(sn)).concat(v.range(b(Aa/qn)*qn,ea,qn).filter(function(ni){return f(ni%$a)>t}).map(Pa))}return ki.lines=function(){return Vi().map(function(ni){return{type:"LineString",coordinates:ni}})},ki.outline=function(){return{type:"Polygon",coordinates:[Qn(dr).concat(Ei(Ga).slice(1),Qn(_r).reverse().slice(1),Ei(fn).reverse().slice(1))]}},ki.extent=function(ni){return arguments.length?ki.extentMajor(ni).extentMinor(ni):ki.extentMinor()},ki.extentMajor=function(ni){return arguments.length?(dr=+ni[0][0],_r=+ni[1][0],fn=+ni[0][1],Ga=+ni[1][1],dr>_r&&(ni=dr,dr=_r,_r=ni),fn>Ga&&(ni=fn,fn=Ga,Ga=ni),ki.precision(Ii)):[[dr,fn],[_r,Ga]]},ki.extentMinor=function(ni){return arguments.length?(jt=+ni[0][0],Mt=+ni[1][0],Aa=+ni[0][1],ea=+ni[1][1],jt>Mt&&(ni=jt,jt=Mt,Mt=ni),Aa>ea&&(ni=Aa,Aa=ea,ea=ni),ki.precision(Ii)):[[jt,Aa],[Mt,ea]]},ki.step=function(ni){return arguments.length?ki.stepMajor(ni).stepMinor(ni):ki.stepMinor()},ki.stepMajor=function(ni){return arguments.length?(Wa=+ni[0],$a=+ni[1],ki):[Wa,$a]},ki.stepMinor=function(ni){return arguments.length?(gn=+ni[0],qn=+ni[1],ki):[gn,qn]},ki.precision=function(ni){return arguments.length?(Ii=+ni,sn=is(Aa,ea,90),Pa=as(jt,Mt,Ii),Qn=is(fn,Ga,90),Ei=as(dr,_r,Ii),ki):Ii},ki.extentMajor([[-180,-90+t],[180,90-t]]).extentMinor([[-180,-80-t],[180,80+t]])}function Yo(){return vs()()}function po(Mt,jt){var _r=Mt[0]*p,dr=Mt[1]*p,ea=jt[0]*p,Aa=jt[1]*p,Ga=o(dr),fn=g(dr),gn=o(Aa),qn=g(Aa),Wa=Ga*o(_r),$a=Ga*g(_r),sn=gn*o(ea),Pa=gn*g(ea),Qn=2*_(m(D(Aa-dr)+Ga*gn*D(ea-_r))),Ei=g(Qn),Ii=Qn?function(ki){var Vi=g(ki*=Qn)/Ei,ni=g(Qn-ki)/Ei,Rn=ni*Wa+Vi*sn,no=ni*$a+Vi*Pa,wo=ni*fn+Vi*qn;return[y(no,Rn)*c,y(wo,m(Rn*Rn+no*no))*c]}:function(){return[_r*c,dr*c]};return Ii.distance=Qn,Ii}function _s(Mt){return Mt}var qo=w(),Io=w(),tl,ts,qs,Xs,ps={point:C,lineStart:C,lineEnd:C,polygonStart:function(){ps.lineStart=ml,ps.lineEnd=Wl},polygonEnd:function(){ps.lineStart=ps.lineEnd=ps.point=C,qo.add(f(Io)),Io.reset()},result:function(){var Mt=qo/2;return qo.reset(),Mt}};function ml(){ps.point=xl}function xl(Mt,jt){ps.point=fs,tl=qs=Mt,ts=Xs=jt}function fs(Mt,jt){Io.add(Xs*Mt-qs*jt),qs=Mt,Xs=jt}function Wl(){fs(tl,ts)}var Ss=1/0,ls=Ss,No=-Ss,Do=No,hs={point:Jl,lineStart:C,lineEnd:C,polygonStart:C,polygonEnd:C,result:function(){var Mt=[[Ss,ls],[No,Do]];return No=Do=-(ls=Ss=1/0),Mt}};function Jl(Mt,jt){MtNo&&(No=Mt),jtDo&&(Do=jt)}var du=0,Ql=0,Ou=0,Uu=0,Xu=0,$u=0,fc=0,_c=0,vu=0,pu,mu,eu,Vs,os={point:sl,lineStart:Tu,lineEnd:Hs,polygonStart:function(){os.lineStart=Af,os.lineEnd=Xo},polygonEnd:function(){os.point=sl,os.lineStart=Tu,os.lineEnd=Hs},result:function(){var Mt=vu?[fc/vu,_c/vu]:$u?[Uu/$u,Xu/$u]:Ou?[du/Ou,Ql/Ou]:[NaN,NaN];return du=Ql=Ou=Uu=Xu=$u=fc=_c=vu=0,Mt}};function sl(Mt,jt){du+=Mt,Ql+=jt,++Ou}function Tu(){os.point=ju}function ju(Mt,jt){os.point=bc,sl(eu=Mt,Vs=jt)}function bc(Mt,jt){var _r=Mt-eu,dr=jt-Vs,ea=m(_r*_r+dr*dr);Uu+=ea*(eu+Mt)/2,Xu+=ea*(Vs+jt)/2,$u+=ea,sl(eu=Mt,Vs=jt)}function Hs(){os.point=sl}function Af(){os.point=Mf}function Xo(){ns(pu,mu)}function Mf(Mt,jt){os.point=ns,sl(pu=eu=Mt,mu=Vs=jt)}function ns(Mt,jt){var _r=Mt-eu,dr=jt-Vs,ea=m(_r*_r+dr*dr);Uu+=ea*(eu+Mt)/2,Xu+=ea*(Vs+jt)/2,$u+=ea,ea=Vs*Mt-eu*jt,fc+=ea*(eu+Mt),_c+=ea*(Vs+jt),vu+=ea*3,sl(eu=Mt,Vs=jt)}function so(Mt){this._context=Mt}so.prototype={_radius:4.5,pointRadius:function(Mt){return this._radius=Mt,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(Mt,jt){switch(this._point){case 0:{this._context.moveTo(Mt,jt),this._point=1;break}case 1:{this._context.lineTo(Mt,jt);break}default:{this._context.moveTo(Mt+this._radius,jt),this._context.arc(Mt,jt,this._radius,0,s);break}}},result:C};var qu=w(),hc,Ll,Qc,Au,Zu,ll={point:C,lineStart:function(){ll.point=ef},lineEnd:function(){hc&&zc(Ll,Qc),ll.point=C},polygonStart:function(){hc=!0},polygonEnd:function(){hc=null},result:function(){var Mt=+qu;return qu.reset(),Mt}};function ef(Mt,jt){ll.point=zc,Ll=Au=Mt,Qc=Zu=jt}function zc(Mt,jt){Au-=Mt,Zu-=jt,qu.add(m(Au*Au+Zu*Zu)),Au=Mt,Zu=jt}function Ku(){this._string=[]}Ku.prototype={_radius:4.5,_circle:Ju(4.5),pointRadius:function(Mt){return(Mt=+Mt)!==this._radius&&(this._radius=Mt,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(Mt,jt){switch(this._point){case 0:{this._string.push("M",Mt,",",jt),this._point=1;break}case 1:{this._string.push("L",Mt,",",jt);break}default:{this._circle==null&&(this._circle=Ju(this._radius)),this._string.push("M",Mt,",",jt,this._circle);break}}},result:function(){if(this._string.length){var Mt=this._string.join("");return this._string=[],Mt}else return null}};function Ju(Mt){return"m0,"+Mt+"a"+Mt+","+Mt+" 0 1,1 0,"+-2*Mt+"a"+Mt+","+Mt+" 0 1,1 0,"+2*Mt+"z"}function Bc(Mt,jt){var _r=4.5,dr,ea;function Aa(Ga){return Ga&&(typeof _r=="function"&&ea.pointRadius(+_r.apply(this,arguments)),B(Ga,dr(ea))),ea.result()}return Aa.area=function(Ga){return B(Ga,dr(ps)),ps.result()},Aa.measure=function(Ga){return B(Ga,dr(ll)),ll.result()},Aa.bounds=function(Ga){return B(Ga,dr(hs)),hs.result()},Aa.centroid=function(Ga){return B(Ga,dr(os)),os.result()},Aa.projection=function(Ga){return arguments.length?(dr=Ga==null?(Mt=null,_s):(Mt=Ga).stream,Aa):Mt},Aa.context=function(Ga){return arguments.length?(ea=Ga==null?(jt=null,new Ku):new so(jt=Ga),typeof _r!="function"&&ea.pointRadius(_r),Aa):jt},Aa.pointRadius=function(Ga){return arguments.length?(_r=typeof Ga=="function"?Ga:(ea.pointRadius(+Ga),+Ga),Aa):_r},Aa.projection(Mt).context(jt)}function Nc(Mt){return{stream:tu(Mt)}}function tu(Mt){return function(jt){var _r=new xc;for(var dr in Mt)_r[dr]=Mt[dr];return _r.stream=jt,_r}}function xc(){}xc.prototype={constructor:xc,point:function(Mt,jt){this.stream.point(Mt,jt)},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 ru(Mt,jt,_r){var dr=Mt.clipExtent&&Mt.clipExtent();return Mt.scale(150).translate([0,0]),dr!=null&&Mt.clipExtent(null),B(_r,Mt.stream(hs)),jt(hs.result()),dr!=null&&Mt.clipExtent(dr),Mt}function Qu(Mt,jt,_r){return ru(Mt,function(dr){var ea=jt[1][0]-jt[0][0],Aa=jt[1][1]-jt[0][1],Ga=Math.min(ea/(dr[1][0]-dr[0][0]),Aa/(dr[1][1]-dr[0][1])),fn=+jt[0][0]+(ea-Ga*(dr[1][0]+dr[0][0]))/2,gn=+jt[0][1]+(Aa-Ga*(dr[1][1]+dr[0][1]))/2;Mt.scale(150*Ga).translate([fn,gn])},_r)}function $s(Mt,jt,_r){return Qu(Mt,[[0,0],jt],_r)}function ec(Mt,jt,_r){return ru(Mt,function(dr){var ea=+jt,Aa=ea/(dr[1][0]-dr[0][0]),Ga=(ea-Aa*(dr[1][0]+dr[0][0]))/2,fn=-Aa*dr[0][1];Mt.scale(150*Aa).translate([Ga,fn])},_r)}function Iu(Mt,jt,_r){return ru(Mt,function(dr){var ea=+jt,Aa=ea/(dr[1][1]-dr[0][1]),Ga=-Aa*dr[0][0],fn=(ea-Aa*(dr[1][1]+dr[0][1]))/2;Mt.scale(150*Aa).translate([Ga,fn])},_r)}var us=16,wc=o(30*p);function Sf(Mt,jt){return+jt?Vu(Mt,jt):tf(Mt)}function tf(Mt){return tu({point:function(jt,_r){jt=Mt(jt,_r),this.stream.point(jt[0],jt[1])}})}function Vu(Mt,jt){function _r(dr,ea,Aa,Ga,fn,gn,qn,Wa,$a,sn,Pa,Qn,Ei,Ii){var ki=qn-dr,Vi=Wa-ea,ni=ki*ki+Vi*Vi;if(ni>4*jt&&Ei--){var Rn=Ga+sn,no=fn+Pa,wo=gn+Qn,Go=m(Rn*Rn+no*no+wo*wo),bs=_(wo/=Go),Jo=f(f(wo)-1)jt||f((ki*Ws+Vi*xs)/ni-.5)>.3||Ga*sn+fn*Pa+gn*Qn2?bi[2]%360*p:0,Ws()):[fn*c,gn*c,qn*c]},Vo.angle=function(bi){return arguments.length?($a=bi%360*p,Ws()):$a*c},Vo.reflectX=function(bi){return arguments.length?(sn=bi?-1:1,Ws()):sn<0},Vo.reflectY=function(bi){return arguments.length?(Pa=bi?-1:1,Ws()):Pa<0},Vo.precision=function(bi){return arguments.length?(wo=Sf(Go,no=bi*bi),xs()):m(no)},Vo.fitExtent=function(bi,ss){return Qu(Vo,bi,ss)},Vo.fitSize=function(bi,ss){return $s(Vo,bi,ss)},Vo.fitWidth=function(bi,ss){return ec(Vo,bi,ss)},Vo.fitHeight=function(bi,ss){return Iu(Vo,bi,ss)};function Ws(){var bi=Zs(_r,0,0,sn,Pa,$a).apply(null,jt(Aa,Ga)),ss=($a?Zs:Ef)(_r,dr-bi[0],ea-bi[1],sn,Pa,$a);return Wa=hi(fn,gn,qn),Go=bn(jt,ss),bs=bn(Wa,Go),wo=Sf(Go,no),xs()}function xs(){return Jo=Es=null,Vo}return function(){return jt=Mt.apply(this,arguments),Vo.invert=jt.invert&&yl,Ws()}}function Fs(Mt){var jt=0,_r=r/3,dr=af(Mt),ea=dr(jt,_r);return ea.parallels=function(Aa){return arguments.length?dr(jt=Aa[0]*p,_r=Aa[1]*p):[jt*c,_r*c]},ea}function Du(Mt){var jt=o(Mt);function _r(dr,ea){return[dr*jt,g(ea)/jt]}return _r.invert=function(dr,ea){return[dr/jt,_(ea*jt)]},_r}function Nl(Mt,jt){var _r=g(Mt),dr=(_r+g(jt))/2;if(f(dr)=.12&&Ii<.234&&Ei>=-.425&&Ei<-.214?ea:Ii>=.166&&Ii<.234&&Ei>=-.214&&Ei<-.115?Ga:_r).invert(sn)},Wa.stream=function(sn){return Mt&&jt===sn?Mt:Mt=Oc([_r.stream(jt=sn),ea.stream(sn),Ga.stream(sn)])},Wa.precision=function(sn){return arguments.length?(_r.precision(sn),ea.precision(sn),Ga.precision(sn),$a()):_r.precision()},Wa.scale=function(sn){return arguments.length?(_r.scale(sn),ea.scale(sn*.35),Ga.scale(sn),Wa.translate(_r.translate())):_r.scale()},Wa.translate=function(sn){if(!arguments.length)return _r.translate();var Pa=_r.scale(),Qn=+sn[0],Ei=+sn[1];return dr=_r.translate(sn).clipExtent([[Qn-.455*Pa,Ei-.238*Pa],[Qn+.455*Pa,Ei+.238*Pa]]).stream(qn),Aa=ea.translate([Qn-.307*Pa,Ei+.201*Pa]).clipExtent([[Qn-.425*Pa+t,Ei+.12*Pa+t],[Qn-.214*Pa-t,Ei+.234*Pa-t]]).stream(qn),fn=Ga.translate([Qn-.205*Pa,Ei+.212*Pa]).clipExtent([[Qn-.214*Pa+t,Ei+.166*Pa+t],[Qn-.115*Pa-t,Ei+.234*Pa-t]]).stream(qn),$a()},Wa.fitExtent=function(sn,Pa){return Qu(Wa,sn,Pa)},Wa.fitSize=function(sn,Pa){return $s(Wa,sn,Pa)},Wa.fitWidth=function(sn,Pa){return ec(Wa,sn,Pa)},Wa.fitHeight=function(sn,Pa){return Iu(Wa,sn,Pa)};function $a(){return Mt=jt=null,Wa}return Wa.scale(1070)}function gu(Mt){return function(jt,_r){var dr=o(jt),ea=o(_r),Aa=Mt(dr*ea);return[Aa*ea*g(jt),Aa*g(_r)]}}function Ru(Mt){return function(jt,_r){var dr=m(jt*jt+_r*_r),ea=Mt(dr),Aa=g(ea),Ga=o(ea);return[y(jt*Aa,dr*Ga),_(dr&&_r*Aa/dr)]}}var Mu=gu(function(Mt){return m(2/(1+Mt))});Mu.invert=Ru(function(Mt){return 2*_(Mt/2)});function Xf(){return au(Mu).scale(124.75).clipAngle(180-.001)}var vc=gu(function(Mt){return(Mt=x(Mt))&&Mt/g(Mt)});vc.invert=Ru(function(Mt){return Mt});function kf(){return au(vc).scale(79.4188).clipAngle(180-.001)}function Yl(Mt,jt){return[Mt,A(h((n+jt)/2))]}Yl.invert=function(Mt,jt){return[Mt,2*d(M(jt))-n]};function tc(){return rl(Yl).scale(961/s)}function rl(Mt){var jt=au(Mt),_r=jt.center,dr=jt.scale,ea=jt.translate,Aa=jt.clipExtent,Ga=null,fn,gn,qn;jt.scale=function($a){return arguments.length?(dr($a),Wa()):dr()},jt.translate=function($a){return arguments.length?(ea($a),Wa()):ea()},jt.center=function($a){return arguments.length?(_r($a),Wa()):_r()},jt.clipExtent=function($a){return arguments.length?($a==null?Ga=fn=gn=qn=null:(Ga=+$a[0][0],fn=+$a[0][1],gn=+$a[1][0],qn=+$a[1][1]),Wa()):Ga==null?null:[[Ga,fn],[gn,qn]]};function Wa(){var $a=r*dr(),sn=jt(_n(jt.rotate()).invert([0,0]));return Aa(Ga==null?[[sn[0]-$a,sn[1]-$a],[sn[0]+$a,sn[1]+$a]]:Mt===Yl?[[Math.max(sn[0]-$a,Ga),fn],[Math.min(sn[0]+$a,gn),qn]]:[[Ga,Math.max(sn[1]-$a,fn)],[gn,Math.min(sn[1]+$a,qn)]])}return Wa()}function Gu(Mt){return h((n+Mt)/2)}function Nf(Mt,jt){var _r=o(Mt),dr=Mt===jt?g(Mt):A(_r/o(jt))/A(Gu(jt)/Gu(Mt)),ea=_r*E(Gu(Mt),dr)/dr;if(!dr)return Yl;function Aa(Ga,fn){ea>0?fn<-n+t&&(fn=-n+t):fn>n-t&&(fn=n-t);var gn=ea/E(Gu(fn),dr);return[gn*g(dr*Ga),ea-gn*o(dr*Ga)]}return Aa.invert=function(Ga,fn){var gn=ea-fn,qn=T(dr)*m(Ga*Ga+gn*gn),Wa=y(Ga,f(gn))*T(gn);return gn*dr<0&&(Wa-=r*T(Ga)*T(gn)),[Wa/dr,2*d(E(ea/qn,1/dr))-n]},Aa}function Uc(){return Fs(Nf).scale(109.5).parallels([30,30])}function ws(Mt,jt){return[Mt,jt]}ws.invert=ws;function Pl(){return au(ws).scale(152.63)}function Ol(Mt,jt){var _r=o(Mt),dr=Mt===jt?g(Mt):(_r-o(jt))/(jt-Mt),ea=_r/dr+Mt;if(f(dr)t&&--dr>0);return[Mt/(.8707+(Aa=_r*_r)*(-.131979+Aa*(-.013791+Aa*Aa*Aa*(.003971-.001529*Aa)))),_r]};function Sc(){return au(sf).scale(175.295)}function wl(Mt,jt){return[o(jt)*g(Mt),g(jt)]}wl.invert=Ru(_);function Su(){return au(wl).scale(249.5).clipAngle(90+t)}function lf(Mt,jt){var _r=o(jt),dr=1+o(Mt)*_r;return[_r*g(Mt)/dr,g(jt)/dr]}lf.invert=Ru(function(Mt){return 2*d(Mt)});function Lf(){return au(lf).scale(250).clipAngle(142)}function Ec(Mt,jt){return[A(h((n+jt)/2)),-Mt]}Ec.invert=function(Mt,jt){return[-jt,2*d(M(Mt))-n]};function Fu(){var Mt=rl(Ec),jt=Mt.center,_r=Mt.rotate;return Mt.center=function(dr){return arguments.length?jt([-dr[1],dr[0]]):(dr=jt(),[dr[1],-dr[0]])},Mt.rotate=function(dr){return arguments.length?_r([dr[0],dr[1],dr.length>2?dr[2]+90:90]):(dr=_r(),[dr[0],dr[1],dr[2]-90])},_r([0,0,90]).scale(159.155)}u.geoAlbers=dc,u.geoAlbersUsa=nf,u.geoArea=$,u.geoAzimuthalEqualArea=Xf,u.geoAzimuthalEqualAreaRaw=Mu,u.geoAzimuthalEquidistant=kf,u.geoAzimuthalEquidistantRaw=vc,u.geoBounds=Ee,u.geoCentroid=oi,u.geoCircle=Zi,u.geoClipAntimeridian=Vt,u.geoClipCircle=Fr,u.geoClipExtent=Dn,u.geoClipRectangle=La,u.geoConicConformal=Uc,u.geoConicConformalRaw=Nf,u.geoConicEqualArea=Hu,u.geoConicEqualAreaRaw=Nl,u.geoConicEquidistant=jc,u.geoConicEquidistantRaw=Ol,u.geoContains=Ho,u.geoDistance=ao,u.geoEqualEarth=Hc,u.geoEqualEarthRaw=Vc,u.geoEquirectangular=Pl,u.geoEquirectangularRaw=ws,u.geoGnomonic=Cf,u.geoGnomonicRaw=of,u.geoGraticule=vs,u.geoGraticule10=Yo,u.geoIdentity=Mc,u.geoInterpolate=po,u.geoLength=Mo,u.geoMercator=tc,u.geoMercatorRaw=Yl,u.geoNaturalEarth1=Sc,u.geoNaturalEarth1Raw=sf,u.geoOrthographic=Su,u.geoOrthographicRaw=wl,u.geoPath=Bc,u.geoProjection=au,u.geoProjectionMutator=af,u.geoRotation=_n,u.geoStereographic=Lf,u.geoStereographicRaw=lf,u.geoStream=B,u.geoTransform=Nc,u.geoTransverseMercator=Fu,u.geoTransverseMercatorRaw=Ec,Object.defineProperty(u,"__esModule",{value:!0})})}}),H4=xe({"src/lib/usa_location_names.js"(U,O){"use strict";var u={alabama:"AL",alaska:"AK",arizona:"AZ",arkansas:"AR",california:"CA",colorado:"CO",connecticut:"CT",delaware:"DE","district of columbia":"DC",florida:"FL",georgia:"GA",hawaii:"HI",idaho:"ID",illinois:"IL",indiana:"IN",iowa:"IA",kansas:"KS",kentucky:"KY",louisiana:"LA",maine:"ME",maryland:"MD",massachusetts:"MA",michigan:"MI",minnesota:"MN",mississippi:"MS",missouri:"MO",montana:"MT",nebraska:"NE",nevada:"NV","new hampshire":"NH","new jersey":"NJ","new mexico":"NM","new york":"NY","north carolina":"NC","north dakota":"ND",ohio:"OH",oklahoma:"OK",oregon:"OR",pennsylvania:"PA","rhode island":"RI","south carolina":"SC","south dakota":"SD",tennessee:"TN",texas:"TX",utah:"UT",vermont:"VT",virginia:"VA",washington:"WA","washington dc":"DC","washington d.c.":"DC","west virginia":"WV",wisconsin:"WI",wyoming:"WY"},v=new Set(Object.values(u));O.exports={usaLocationAbbreviations:v,usaLocationList:u}}}),Z2={};Xa(Z2,{COUNTRIES_X:()=>K2});var K2,G4=Pr({"src/lib/custom_country_codes.ts"(){"use strict";K2=[{iso3:"XAC",iso2:"",m49:"",name:"Aksai Chin",aliases:[]},{iso3:"XAP",iso2:"",m49:"",name:"Arunachal Pradesh",aliases:[]},{iso3:"XBT",iso2:"",m49:"",name:"Bir Tawil",aliases:[]},{iso3:"XHT",iso2:"",m49:"",name:"Halaib Triangle",aliases:[]},{iso3:"XJK",iso2:"",m49:"",name:"Jammu and Kashmir",aliases:[]}]}}),_d=xe({"src/lib/geo_location_utils.js"(U,O){"use strict";var u=Na(),{COUNTRIES:v,createLookup:w}=j4(),{area:S}=q4(),{centroid:l}=V4(),{coordAll:e}=O1(),{geoBounds:t}=U1(),a=a0(),r=cd(),n=Us(),i=Gs(),s=f0(),{usaLocationAbbreviations:c,usaLocationList:p}=H4(),{COUNTRIES_X:f}=(G4(),Ta(Z2)),{lookupAlpha3:d}=w([...v,...f]),y={"ISO-3":a,"USA-states":b,"country names":o};function o(F){let I=d(F);return I||(r.log("Unrecognized country name: "+F+"."),!1)}function b(F){F=F.trim();let I=c.has(F.toUpperCase())?F.toUpperCase():p[F.toLowerCase()];return I||(r.log("Unrecognized US location: "+F+"."),!1)}function M(F,I,z){var R;if(!I||typeof I!="string")return!1;let k=y[F](I);if(k){let B;if(F==="USA-states"){B=[];for(let N of z)((R=N?.properties)==null?void 0:R.gu)==="USA"&&B.push(N)}else B=z;for(let N of B)if(N.id===k)return N;r.log(`Location with id ${k} does not have a matching topojson feature at this resolution.`)}return!1}var A=360;function E(F){for(let I=0;I0&&F[I+1][0]<0)return I;return null}function g(F){var I=F.geometry,z=I.coordinates,R=F.id,k=[],B,N,q,Y;switch(R==="RUS"||R==="FJI"?B=function(ee){var te;if(E(ee)===null)te=ee;else for(te=new Array(ee.length),Y=0;Yte?ae[j++]=[ee[Y][0]+A,ee[Y][1]]:Y===te?(ae[j++]=ee[Y],ae[j++]=[ee[Y][0],-90]):ae[j++]=ee[Y];var G=s.tester(ae);G.pts.pop(),k.push(G)}:B=function(ee){k.push(s.tester(ee))},I.type){case"MultiPolygon":for(N=0;N0?K.properties.ct=h(K):K.properties.ct=[NaN,NaN],j.fIn=te,j.fOut=K,k.push(K)}else r.log(["Location",j.loc,"does not have a valid GeoJSON geometry.","Traces with locationmode *geojson-id* only support","*Polygon* and *MultiPolygon* geometries."].join(" "))}delete R[ae]}switch(z.type){case"FeatureCollection":var Y=z.features;for(B=0;Bk&&(k=q,z=N)}else z=I;return l(z).geometry.coordinates}function x(F){var I=window.PlotlyGeoAssets||{},z=[];function R(Y){return new Promise(function(ee,te){u.json(Y,function(ae,j){if(ae){delete I[Y];var G=ae.status===404?'GeoJSON at URL "'+Y+'" does not exist.':"Unexpected error while fetching from "+Y;return te(new Error(G))}return I[Y]=j,ee(j)})})}function k(Y){return new Promise(function(ee,te){var ae=0,j=setInterval(function(){if(I[Y]&&I[Y]!=="pending")return clearInterval(j),ee(I[Y]);if(ae>100)return clearInterval(j),te("Unexpected error while fetching from "+Y);ae++},50)})}for(var B=0;Bq-Y);if(I.length<2)return null;let z=I.length,R=I[z-1]-I[0];if(R>=360)return null;let k=-1/0,B=-1;for(let q=0;qk&&(k=Y,B=q)}let N=360-R;return k<=N?null:[I[B+1],I[B]+A]}function C([F,I]){return[F,F>I?I+A:I]}O.exports={locationToFeature:M,feature2polygons:g,getTraceGeojson:T,extractTraceFeature:m,fetchTraceGeoData:x,computeBbox:_,doesCrossAntiMeridian:E,getFitboundsLonRange:D,unwrapLonRange:C,ANTIMERIDIAN_LON_SHIFT:A}}}),J2=xe({"src/traces/scattergeo/style.js"(U,O){"use strict";var u=Na(),v=go(),w=wi(),S=Yf(),l=S.stylePoints,e=S.styleText;O.exports=function(r,n){n&&t(r,n)};function t(a,r){var n=r[0].trace,i=r[0].node3;i.style("opacity",r[0].trace.opacity),l(i,n,a),e(i,n,a),i.selectAll("path.js-line").style("fill","none").each(function(s){var c=u.select(this),p=s.trace,f=p.line||{};c.call(w.stroke,f.color).call(v.dashLine,f.dash||"",f.width||0),p.fill!=="none"&&c.call(w.fill,p.fillcolor)})}}}),Q2=xe({"src/traces/scattergeo/plot.js"(U,O){"use strict";var u=Na(),v=Sr(),w=B1().getTopojsonFeatures,S=J0(),l=_d(),e=Ah().findExtremes,t=Gn().BADNUM,a=vh().calcMarkerSize,r=Cl(),n=J2();function i(c,p,f){var d=p.layers.frontplot.select(".scatterlayer"),y=v.makeTraceGroups(d,f,"trace scattergeo");function o(b,M){b.lonlat[0]===t&&u.select(M).remove()}y.selectAll("*").remove(),y.each(function(b){var M=u.select(this),A=b[0].trace;if(r.hasLines(A)||A.fill!=="none"){var E=S.calcTraceToLineCoords(b),g=A.fill!=="none"?S.makePolygon(E):S.makeLine(E);M.selectAll("path.js-line").data([{geojson:g,trace:A}]).enter().append("path").classed("js-line",!0).style("stroke-miterlimit",2)}r.hasMarkers(A)&&M.selectAll("path.point").data(v.identity).enter().append("path").classed("point",!0).each(function(T){o(T,this)}),r.hasText(A)&&M.selectAll("g").data(v.identity).enter().append("g").append("text").each(function(T){o(T,this)}),n(c,b)})}function s(c,p){var f=c[0].trace,d=p[f.geo],y=d._subplot,o=f._length,b,M;if(v.isArrayOrTypedArray(f.locations)){var A=f.locationmode,E=A==="geojson-id"?l.extractTraceFeature(c):w(f,y.topojson);for(b=0;b")}}}),Y4=xe({"src/traces/scattergeo/event_data.js"(U,O){"use strict";O.exports=function(v,w,S,l,e){v.lon=w.lon,v.lat=w.lat,v.location=w.loc?w.loc:null;var t=l[e];return t.fIn&&t.fIn.properties&&(v.properties=t.fIn.properties),v}}}),X4=xe({"src/traces/scattergeo/select.js"(U,O){"use strict";var u=Cl(),v=Gn().BADNUM;O.exports=function(S,l){var e=S.cd,t=S.xaxis,a=S.yaxis,r=[],n=e[0].trace,i,s,c,p,f,d=!u.hasMarkers(n)&&!u.hasText(n);if(d)return[];if(l===!1)for(f=0;f0?1:Le<0?-1:0},d=Math.sin,y=Math.tan,o=1e-6,b=1e-12,M=Math.PI,A=M/2,E=M/4,g=Math.SQRT1_2,T=I(2),m=I(M),h=M*2,x=180/M,_=M/180;function D(Le){return Le?Le/Math.sin(Le):1}function C(Le){return Le>1?A:Le<-1?-A:Math.asin(Le)}function F(Le){return Le>1?0:Le<-1?M:Math.acos(Le)}function I(Le){return Le>0?Math.sqrt(Le):0}function z(Le){return Le=a(2*Le),(Le-1)/(Le+1)}function R(Le){return(a(Le)-a(-Le))/2}function k(Le){return(a(Le)+a(-Le))/2}function B(Le){return n(Le+I(Le*Le+1))}function N(Le){return n(Le+I(Le*Le-1))}function q(Le){var ze=y(Le/2),je=2*n(t(Le/2))/(ze*ze);function Xe(st,Qe){var ht=t(st),Dt=t(Qe),Ot=d(Qe),$t=Dt*ht,ir=-((1-$t?n((1+$t)/2)/(1-$t):-.5)+je/(1+$t));return[ir*Dt*d(st),ir*Ot]}return Xe.invert=function(st,Qe){var ht=I(st*st+Qe*Qe),Dt=-Le/2,Ot=50,$t;if(!ht)return[0,0];do{var ir=Dt/2,pr=t(ir),zr=d(ir),Wr=zr/pr,ia=-n(S(pr));Dt-=$t=(2/Wr*ia-je*Wr-ht)/(-ia/(zr*zr)+1-je/(2*pr*pr))*(pr<0?.7:1)}while(S($t)>o&&--Ot>0);var Sa=d(Dt);return[e(st*Sa,ht*t(Dt)),C(Qe*Sa/ht)]},Xe}function Y(){var Le=A,ze=v.geoProjectionMutator(q),je=ze(Le);return je.radius=function(Xe){return arguments.length?ze(Le=Xe*_):Le*x},je.scale(179.976).clipAngle(147)}function ee(Le,ze){var je=t(ze),Xe=D(F(je*t(Le/=2)));return[2*je*d(Le)*Xe,d(ze)*Xe]}ee.invert=function(Le,ze){if(!(Le*Le+4*ze*ze>M*M+o)){var je=Le,Xe=ze,st=25;do{var Qe=d(je),ht=d(je/2),Dt=t(je/2),Ot=d(Xe),$t=t(Xe),ir=d(2*Xe),pr=Ot*Ot,zr=$t*$t,Wr=ht*ht,ia=1-zr*Dt*Dt,Sa=ia?F($t*Dt)*I(ln=1/ia):ln=0,ln,an=2*Sa*$t*ht-Le,wn=Sa*Ot-ze,ei=ln*(zr*Wr+Sa*$t*Dt*pr),Mi=ln*(.5*Qe*ir-Sa*2*Ot*ht),pi=ln*.25*(ir*ht-Sa*Ot*zr*Qe),Ki=ln*(pr*Dt+Sa*Wr*$t),Lo=Mi*pi-Ki*ei;if(!Lo)break;var bo=(wn*Mi-an*Ki)/Lo,ds=(an*pi-wn*ei)/Lo;je-=bo,Xe-=ds}while((S(bo)>o||S(ds)>o)&&--st>0);return[je,Xe]}};function te(){return v.geoProjection(ee).scale(152.63)}function ae(Le){var ze=d(Le),je=t(Le),Xe=Le>=0?1:-1,st=y(Xe*Le),Qe=(1+ze-je)/2;function ht(Dt,Ot){var $t=t(Ot),ir=t(Dt/=2);return[(1+$t)*d(Dt),(Xe*Ot>-e(ir,st)-.001?0:-Xe*10)+Qe+d(Ot)*je-(1+$t)*ze*ir]}return ht.invert=function(Dt,Ot){var $t=0,ir=0,pr=50;do{var zr=t($t),Wr=d($t),ia=t(ir),Sa=d(ir),ln=1+ia,an=ln*Wr-Dt,wn=Qe+Sa*je-ln*ze*zr-Ot,ei=ln*zr/2,Mi=-Wr*Sa,pi=ze*ln*Wr/2,Ki=je*ia+ze*zr*Sa,Lo=Mi*pi-Ki*ei,bo=(wn*Mi-an*Ki)/Lo/2,ds=(an*pi-wn*ei)/Lo;S(ds)>2&&(ds/=2),$t-=bo,ir-=ds}while((S(bo)>o||S(ds)>o)&&--pr>0);return Xe*ir>-e(t($t),st)-.001?[$t*2,ir]:null},ht}function j(){var Le=20*_,ze=Le>=0?1:-1,je=y(ze*Le),Xe=v.geoProjectionMutator(ae),st=Xe(Le),Qe=st.stream;return st.parallel=function(ht){return arguments.length?(je=y((ze=(Le=ht*_)>=0?1:-1)*Le),Xe(Le)):Le*x},st.stream=function(ht){var Dt=st.rotate(),Ot=Qe(ht),$t=(st.rotate([0,0]),Qe(ht)),ir=st.precision();return st.rotate(Dt),Ot.sphere=function(){$t.polygonStart(),$t.lineStart();for(var pr=ze*-180;ze*pr<180;pr+=ze*90)$t.point(pr,ze*90);if(Le)for(;ze*(pr-=3*ze*ir)>=-180;)$t.point(pr,ze*-e(t(pr*_/2),je)*x);$t.lineEnd(),$t.polygonEnd()},Ot},st.scale(218.695).center([0,28.0974])}function G(Le,ze){var je=y(ze/2),Xe=I(1-je*je),st=1+Xe*t(Le/=2),Qe=d(Le)*Xe/st,ht=je/st,Dt=Qe*Qe,Ot=ht*ht;return[4/3*Qe*(3+Dt-3*Ot),4/3*ht*(3+3*Dt-Ot)]}G.invert=function(Le,ze){if(Le*=3/8,ze*=3/8,!Le&&S(ze)>1)return null;var je=Le*Le,Xe=ze*ze,st=1+je+Xe,Qe=I((st-I(st*st-4*ze*ze))/2),ht=C(Qe)/3,Dt=Qe?N(S(ze/Qe))/3:B(S(Le))/3,Ot=t(ht),$t=k(Dt),ir=$t*$t-Ot*Ot;return[f(Le)*2*e(R(Dt)*Ot,.25-ir),f(ze)*2*e($t*d(ht),.25+ir)]};function K(){return v.geoProjection(G).scale(66.1603)}var H=I(8),Z=n(1+T);function X(Le,ze){var je=S(ze);return jeb&&--Xe>0);return[Le/(t(je)*(H-1/d(je))),f(ze)*je]};function $(){return v.geoProjection(X).scale(112.314)}function Q(Le){var ze=2*M/Le;function je(Xe,st){var Qe=v.geoAzimuthalEquidistantRaw(Xe,st);if(S(Xe)>A){var ht=e(Qe[1],Qe[0]),Dt=I(Qe[0]*Qe[0]+Qe[1]*Qe[1]),Ot=ze*p((ht-A)/ze)+A,$t=e(d(ht-=Ot),2-t(ht));ht=Ot+C(M/Dt*d($t))-$t,Qe[0]=Dt*t(ht),Qe[1]=Dt*d(ht)}return Qe}return je.invert=function(Xe,st){var Qe=I(Xe*Xe+st*st);if(Qe>A){var ht=e(st,Xe),Dt=ze*p((ht-A)/ze)+A,Ot=ht>Dt?-1:1,$t=Qe*t(Dt-ht),ir=1/y(Ot*F(($t-M)/I(M*(M-2*$t)+Qe*Qe)));ht=Dt+2*l((ir+Ot*I(ir*ir-3))/3),Xe=Qe*t(ht),st=Qe*d(ht)}return v.geoAzimuthalEquidistantRaw.invert(Xe,st)},je}function re(){var Le=5,ze=v.geoProjectionMutator(Q),je=ze(Le),Xe=je.stream,st=.01,Qe=-t(st*_),ht=d(st*_);return je.lobes=function(Dt){return arguments.length?ze(Le=+Dt):Le},je.stream=function(Dt){var Ot=je.rotate(),$t=Xe(Dt),ir=(je.rotate([0,0]),Xe(Dt));return je.rotate(Ot),$t.sphere=function(){ir.polygonStart(),ir.lineStart();for(var pr=0,zr=360/Le,Wr=2*M/Le,ia=90-180/Le,Sa=A;pr0&&S(st)>o);return Xe<0?NaN:je}function Se(Le,ze,je){return ze===void 0&&(ze=40),je===void 0&&(je=b),function(Xe,st,Qe,ht){var Dt,Ot,$t;Qe=Qe===void 0?0:+Qe,ht=ht===void 0?0:+ht;for(var ir=0;irDt){Qe-=Ot/=2,ht-=$t/=2;continue}Dt=ia;var Sa=(Qe>0?-1:1)*je,ln=(ht>0?-1:1)*je,an=Le(Qe+Sa,ht),wn=Le(Qe,ht+ln),ei=(an[0]-pr[0])/Sa,Mi=(an[1]-pr[1])/Sa,pi=(wn[0]-pr[0])/ln,Ki=(wn[1]-pr[1])/ln,Lo=Ki*ei-Mi*pi,bo=(S(Lo)<.5?.5:1)/Lo;if(Ot=(Wr*pi-zr*Ki)*bo,$t=(zr*Mi-Wr*ei)*bo,Qe+=Ot,ht+=$t,S(Ot)0&&(Dt[1]*=1+Ot/1.5*Dt[0]*Dt[0]),Dt}return Xe.invert=Se(Xe),Xe}function Ue(){return v.geoProjection(Ce()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function Oe(Le,ze){var je=Le*d(ze),Xe=30,st;do ze-=st=(ze+d(ze)-je)/(1+t(ze));while(S(st)>o&&--Xe>0);return ze/2}function _e(Le,ze,je){function Xe(st,Qe){return[Le*st*t(Qe=Oe(je,Qe)),ze*d(Qe)]}return Xe.invert=function(st,Qe){return Qe=C(Qe/ze),[st/(Le*t(Qe)),C((2*Qe+d(2*Qe))/je)]},Xe}var ce=_e(T/A,T,M);function ie(){return v.geoProjection(ce).scale(169.529)}var se=2.00276,ne=1.11072;function be(Le,ze){var je=Oe(M,ze);return[se*Le/(1/t(ze)+ne/t(je)),(ze+T*d(je))/se]}be.invert=function(Le,ze){var je=se*ze,Xe=ze<0?-E:E,st=25,Qe,ht;do ht=je-T*d(Xe),Xe-=Qe=(d(2*Xe)+2*Xe-M*d(ht))/(2*t(2*Xe)+2+M*t(ht)*T*t(Xe));while(S(Qe)>o&&--st>0);return ht=je-T*d(Xe),[Le*(1/t(ht)+ne/t(Xe))/se,ht]};function De(){return v.geoProjection(be).scale(160.857)}function qe(Le){var ze=0,je=v.geoProjectionMutator(Le),Xe=je(ze);return Xe.parallel=function(st){return arguments.length?je(ze=st*_):ze*x},Xe}function Ne(Le,ze){return[Le*t(ze),ze]}Ne.invert=function(Le,ze){return[Le/t(ze),ze]};function ut(){return v.geoProjection(Ne).scale(152.63)}function ot(Le){if(!Le)return Ne;var ze=1/y(Le);function je(Xe,st){var Qe=ze+Le-st,ht=Qe&&Xe*t(st)/Qe;return[Qe*d(ht),ze-Qe*t(ht)]}return je.invert=function(Xe,st){var Qe=I(Xe*Xe+(st=ze-st)*st),ht=ze+Le-Qe;return[Qe/t(ht)*e(Xe,st),ht]},je}function yt(){return qe(ot).scale(123.082).center([0,26.1441]).parallel(45)}function At(Le){function ze(je,Xe){var st=A-Xe,Qe=st&&je*Le*d(st)/st;return[st*d(Qe)/Le,A-st*t(Qe)]}return ze.invert=function(je,Xe){var st=je*Le,Qe=A-Xe,ht=I(st*st+Qe*Qe),Dt=e(st,Qe);return[(ht?ht/d(ht):1)*Dt/Le,A-ht]},ze}function It(){var Le=.5,ze=v.geoProjectionMutator(At),je=ze(Le);return je.fraction=function(Xe){return arguments.length?ze(Le=+Xe):Le},je.scale(158.837)}var Zt=_e(1,4/M,M);function vr(){return v.geoProjection(Zt).scale(152.63)}function Ut(Le,ze,je,Xe,st,Qe){var ht=t(Qe),Dt;if(S(Le)>1||S(Qe)>1)Dt=F(je*st+ze*Xe*ht);else{var Ot=d(Le/2),$t=d(Qe/2);Dt=2*C(I(Ot*Ot+ze*Xe*$t*$t))}return S(Dt)>o?[Dt,e(Xe*d(Qe),ze*st-je*Xe*ht)]:[0,0]}function Jt(Le,ze,je){return F((Le*Le+ze*ze-je*je)/(2*Le*ze))}function at(Le){return Le-2*M*r((Le+M)/(2*M))}function Ee(Le,ze,je){for(var Xe=[[Le[0],Le[1],d(Le[1]),t(Le[1])],[ze[0],ze[1],d(ze[1]),t(ze[1])],[je[0],je[1],d(je[1]),t(je[1])]],st=Xe[2],Qe,ht=0;ht<3;++ht,st=Qe)Qe=Xe[ht],st.v=Ut(Qe[1]-st[1],st[3],st[2],Qe[3],Qe[2],Qe[0]-st[0]),st.point=[0,0];var Dt=Jt(Xe[0].v[0],Xe[2].v[0],Xe[1].v[0]),Ot=Jt(Xe[0].v[0],Xe[1].v[0],Xe[2].v[0]),$t=M-Dt;Xe[2].point[1]=0,Xe[0].point[0]=-(Xe[1].point[0]=Xe[0].v[0]/2);var ir=[Xe[2].point[0]=Xe[0].point[0]+Xe[2].v[0]*t(Dt),2*(Xe[0].point[1]=Xe[1].point[1]=Xe[2].v[0]*d(Dt))];function pr(zr,Wr){var ia=d(Wr),Sa=t(Wr),ln=new Array(3),an;for(an=0;an<3;++an){var wn=Xe[an];if(ln[an]=Ut(Wr-wn[1],wn[3],wn[2],Sa,ia,zr-wn[0]),!ln[an][0])return wn.point;ln[an][1]=at(ln[an][1]-wn.v[1])}var ei=ir.slice();for(an=0;an<3;++an){var Mi=an==2?0:an+1,pi=Jt(Xe[an].v[0],ln[an][0],ln[Mi][0]);ln[an][1]<0&&(pi=-pi),an?an==1?(pi=Ot-pi,ei[0]-=ln[an][0]*t(pi),ei[1]-=ln[an][0]*d(pi)):(pi=$t-pi,ei[0]+=ln[an][0]*t(pi),ei[1]+=ln[an][0]*d(pi)):(ei[0]+=ln[an][0]*t(pi),ei[1]-=ln[an][0]*d(pi))}return ei[0]/=3,ei[1]/=3,ei}return pr}function Re(Le){return Le[0]*=_,Le[1]*=_,Le}function he(){return ye([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function ye(Le,ze,je){var Xe=v.geoCentroid({type:"MultiPoint",coordinates:[Le,ze,je]}),st=[-Xe[0],-Xe[1]],Qe=v.geoRotation(st),ht=Ee(Re(Qe(Le)),Re(Qe(ze)),Re(Qe(je)));ht.invert=Se(ht);var Dt=v.geoProjection(ht).rotate(st),Ot=Dt.center;return delete Dt.rotate,Dt.center=function($t){return arguments.length?Ot(Qe($t)):Qe.invert(Ot())},Dt.clipAngle(90)}function Ie(Le,ze){var je=I(1-d(ze));return[2/m*Le*je,m*(1-je)]}Ie.invert=function(Le,ze){var je=(je=ze/m-1)*je;return[je>0?Le*I(M/je)/2:0,C(1-je)]};function Fe(){return v.geoProjection(Ie).scale(95.6464).center([0,30])}function He(Le){var ze=y(Le);function je(Xe,st){return[Xe,(Xe?Xe/d(Xe):1)*(d(st)*t(Xe)-ze*t(st))]}return je.invert=ze?function(Xe,st){Xe&&(st*=d(Xe)/Xe);var Qe=t(Xe);return[Xe,2*e(I(Qe*Qe+ze*ze-st*st)-Qe,ze-st)]}:function(Xe,st){return[Xe,C(Xe?st*y(Xe)/Xe:st)]},je}function We(){return qe(He).scale(249.828).clipAngle(90)}var pt=I(3);function ct(Le,ze){return[pt*Le*(2*t(2*ze/3)-1)/m,pt*m*d(ze/3)]}ct.invert=function(Le,ze){var je=3*C(ze/(pt*m));return[m*Le/(pt*(2*t(2*je/3)-1)),je]};function ft(){return v.geoProjection(ct).scale(156.19)}function mt(Le){var ze=t(Le);function je(Xe,st){return[Xe*ze,d(st)/ze]}return je.invert=function(Xe,st){return[Xe/ze,C(st*ze)]},je}function _t(){return qe(mt).parallel(38.58).scale(195.044)}function Bt(Le){var ze=t(Le);function je(Xe,st){return[Xe*ze,(1+ze)*y(st/2)]}return je.invert=function(Xe,st){return[Xe/ze,l(st/(1+ze))*2]},je}function Et(){return qe(Bt).scale(124.75)}function hr(Le,ze){var je=I(8/(3*M));return[je*Le*(1-S(ze)/M),je*ze]}hr.invert=function(Le,ze){var je=I(8/(3*M)),Xe=ze/je;return[Le/(je*(1-S(Xe)/M)),Xe]};function $r(){return v.geoProjection(hr).scale(165.664)}function ca(Le,ze){var je=I(4-3*d(S(ze)));return[2/I(6*M)*Le*je,f(ze)*I(2*M/3)*(2-je)]}ca.invert=function(Le,ze){var je=2-S(ze)/I(2*M/3);return[Le*I(6*M)/(2*je),f(ze)*C((4-je*je)/3)]};function na(){return v.geoProjection(ca).scale(165.664)}function wa(Le,ze){var je=I(M*(4+M));return[2/je*Le*(1+I(1-4*ze*ze/(M*M))),4/je*ze]}wa.invert=function(Le,ze){var je=I(M*(4+M))/2;return[Le*je/(1+I(1-ze*ze*(4+M)/(4*M))),ze*je/2]};function pa(){return v.geoProjection(wa).scale(180.739)}function fa(Le,ze){var je=(2+A)*d(ze);ze/=2;for(var Xe=0,st=1/0;Xe<10&&S(st)>o;Xe++){var Qe=t(ze);ze-=st=(ze+d(ze)*(Qe+2)-je)/(2*Qe*(1+Qe))}return[2/I(M*(4+M))*Le*(1+t(ze)),2*I(M/(4+M))*d(ze)]}fa.invert=function(Le,ze){var je=ze*I((4+M)/M)/2,Xe=C(je),st=t(Xe);return[Le/(2/I(M*(4+M))*(1+st)),C((Xe+je*(st+2))/(2+A))]};function za(){return v.geoProjection(fa).scale(180.739)}function Ia(Le,ze){return[Le*(1+t(ze))/I(2+M),2*ze/I(2+M)]}Ia.invert=function(Le,ze){var je=I(2+M),Xe=ze*je/2;return[je*Le/(1+t(Xe)),Xe]};function Va(){return v.geoProjection(Ia).scale(173.044)}function Oa(Le,ze){for(var je=(1+A)*d(ze),Xe=0,st=1/0;Xe<10&&S(st)>o;Xe++)ze-=st=(ze+d(ze)-je)/(1+t(ze));return je=I(2+M),[Le*(1+t(ze))/je,2*ze/je]}Oa.invert=function(Le,ze){var je=1+A,Xe=I(je/2);return[Le*2*Xe/(1+t(ze*=Xe)),C((ze+d(ze))/je)]};function tn(){return v.geoProjection(Oa).scale(173.044)}var ka=3+2*T;function oi(Le,ze){var je=d(Le/=2),Xe=t(Le),st=I(t(ze)),Qe=t(ze/=2),ht=d(ze)/(Qe+T*Xe*st),Dt=I(2/(1+ht*ht)),Ot=I((T*Qe+(Xe+je)*st)/(T*Qe+(Xe-je)*st));return[ka*(Dt*(Ot-1/Ot)-2*n(Ot)),ka*(Dt*ht*(Ot+1/Ot)-2*l(ht))]}oi.invert=function(Le,ze){if(!(Qe=G.invert(Le/1.2,ze*1.065)))return null;var je=Qe[0],Xe=Qe[1],st=20,Qe;Le/=ka,ze/=ka;do{var ht=je/2,Dt=Xe/2,Ot=d(ht),$t=t(ht),ir=d(Dt),pr=t(Dt),zr=t(Xe),Wr=I(zr),ia=ir/(pr+T*$t*Wr),Sa=ia*ia,ln=I(2/(1+Sa)),an=T*pr+($t+Ot)*Wr,wn=T*pr+($t-Ot)*Wr,ei=an/wn,Mi=I(ei),pi=Mi-1/Mi,Ki=Mi+1/Mi,Lo=ln*pi-2*n(Mi)-Le,bo=ln*ia*Ki-2*l(ia)-ze,ds=ir&&g*Wr*Ot*Sa/ir,Zo=(T*$t*pr+Wr)/(2*(pr+T*$t*Wr)*(pr+T*$t*Wr)*Wr),Is=-.5*ia*ln*ln*ln,Ys=Is*ds,Ks=Is*Zo,ks=(ks=2*pr+T*Wr*($t-Ot))*ks*Mi,zs=(T*$t*pr*Wr+zr)/ks,Il=-(T*Ot*ir)/(Wr*ks),_u=pi*Ys-2*zs/Mi+ln*(zs+zs/ei),Xl=pi*Ks-2*Il/Mi+ln*(Il+Il/ei),il=ia*Ki*Ys-2*ds/(1+Sa)+ln*Ki*ds+ln*ia*(zs-zs/ei),ku=ia*Ki*Ks-2*Zo/(1+Sa)+ln*Ki*Zo+ln*ia*(Il-Il/ei),bu=Xl*il-ku*_u;if(!bu)break;var _l=(bo*Xl-Lo*ku)/bu,Dl=(Lo*il-bo*_u)/bu;je-=_l,Xe=i(-A,s(A,Xe-Dl))}while((S(_l)>o||S(Dl)>o)&&--st>0);return S(S(Xe)-A)Xe){var pr=I(ir),zr=e($t,Ot),Wr=je*p(zr/je),ia=zr-Wr,Sa=Le*t(ia),ln=(Le*d(ia)-ia*d(Sa))/(A-Sa),an=rn(ia,ln),wn=(M-Le)/nt(an,Sa,M);Ot=pr;var ei=50,Mi;do Ot-=Mi=(Le+nt(an,Sa,Ot)*wn-pr)/(an(Ot)*wn);while(S(Mi)>o&&--ei>0);$t=ia*d(Ot),OtXe){var Ot=I(Dt),$t=e(ht,Qe),ir=je*p($t/je),pr=$t-ir;Qe=Ot*t(pr),ht=Ot*d(pr);for(var zr=Qe-A,Wr=d(Qe),ia=ht/Wr,Sa=Qeo||S(ia)>o)&&--Sa>0);return[pr,zr]},Ot}var Xt=Qt(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function nr(){return v.geoProjection(Xt).scale(149.995)}var cr=Qt(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function rr(){return v.geoProjection(cr).scale(153.93)}var Ze=Qt(5/6*M,-.62636,-.0344,0,1.3493,-.05524,0,.045);function xt(){return v.geoProjection(Ze).scale(130.945)}function Vt(Le,ze){var je=Le*Le,Xe=ze*ze;return[Le*(1-.162388*Xe)*(.87-952426e-9*je*je),ze*(1+Xe/12)]}Vt.invert=function(Le,ze){var je=Le,Xe=ze,st=50,Qe;do{var ht=Xe*Xe;Xe-=Qe=(Xe*(1+ht/12)-ze)/(1+ht/4)}while(S(Qe)>o&&--st>0);st=50,Le/=1-.162388*ht;do{var Dt=(Dt=je*je)*Dt;je-=Qe=(je*(.87-952426e-9*Dt)-Le)/(.87-.00476213*Dt)}while(S(Qe)>o&&--st>0);return[je,Xe]};function er(){return v.geoProjection(Vt).scale(131.747)}var Tr=Qt(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function jr(){return v.geoProjection(Tr).scale(131.087)}function Fr(Le){var ze=Le(A,0)[0]-Le(-A,0)[0];function je(Xe,st){var Qe=Xe>0?-.5:.5,ht=Le(Xe+Qe*M,st);return ht[0]-=Qe*ze,ht}return Le.invert&&(je.invert=function(Xe,st){var Qe=Xe>0?-.5:.5,ht=Le.invert(Xe+Qe*ze,st),Dt=ht[0]-Qe*M;return Dt<-M?Dt+=2*M:Dt>M&&(Dt-=2*M),ht[0]=Dt,ht}),je}function kr(Le,ze){var je=f(Le),Xe=f(ze),st=t(ze),Qe=t(Le)*st,ht=d(Le)*st,Dt=d(Xe*ze);Le=S(e(ht,Dt)),ze=C(Qe),S(Le-A)>o&&(Le%=A);var Ot=ra(Le>M/4?A-Le:Le,ze);return Le>M/4&&(Dt=Ot[0],Ot[0]=-Ot[1],Ot[1]=-Dt),Ot[0]*=je,Ot[1]*=-Xe,Ot}kr.invert=function(Le,ze){S(Le)>1&&(Le=f(Le)*2-Le),S(ze)>1&&(ze=f(ze)*2-ze);var je=f(Le),Xe=f(ze),st=-je*Le,Qe=-Xe*ze,ht=Qe/st<1,Dt=ja(ht?Qe:st,ht?st:Qe),Ot=Dt[0],$t=Dt[1],ir=t($t);return ht&&(Ot=-A-Ot),[je*(e(d(Ot)*ir,-d($t))+M),Xe*C(t(Ot)*ir)]};function ra(Le,ze){if(ze===A)return[0,0];var je=d(ze),Xe=je*je,st=Xe*Xe,Qe=1+st,ht=1+3*st,Dt=1-st,Ot=C(1/I(Qe)),$t=Dt+Xe*Qe*Ot,ir=(1-je)/$t,pr=I(ir),zr=ir*Qe,Wr=I(zr),ia=pr*Dt,Sa,ln;if(Le===0)return[0,-(ia+Xe*Wr)];var an=t(ze),wn=1/an,ei=2*je*an,Mi=(-3*Xe+Ot*ht)*ei,pi=(-$t*an-(1-je)*Mi)/($t*$t),Ki=.5*pi/pr,Lo=Dt*Ki-2*Xe*pr*ei,bo=Xe*Qe*pi+ir*ht*ei,ds=-wn*ei,Zo=-wn*bo,Is=-2*wn*Lo,Ys=4*Le/M,Ks;if(Le>.222*M||ze.175*M){if(Sa=(ia+Xe*I(zr*(1+st)-ia*ia))/(1+st),Le>M/4)return[Sa,Sa];var ks=Sa,zs=.5*Sa;Sa=.5*(zs+ks),ln=50;do{var Il=I(zr-Sa*Sa),_u=Sa*(Is+ds*Il)+Zo*C(Sa/Wr)-Ys;if(!_u)break;_u<0?zs=Sa:ks=Sa,Sa=.5*(zs+ks)}while(S(ks-zs)>o&&--ln>0)}else{Sa=o,ln=25;do{var Xl=Sa*Sa,il=I(zr-Xl),ku=Is+ds*il,bu=Sa*ku+Zo*C(Sa/Wr)-Ys,_l=ku+(Zo-ds*Xl)/il;Sa-=Ks=il?bu/_l:0}while(S(Ks)>o&&--ln>0)}return[Sa,-ia-Xe*I(zr-Sa*Sa)]}function ja(Le,ze){for(var je=0,Xe=1,st=.5,Qe=50;;){var ht=st*st,Dt=I(st),Ot=C(1/I(1+ht)),$t=1-ht+st*(1+ht)*Ot,ir=(1-Dt)/$t,pr=I(ir),zr=ir*(1+ht),Wr=pr*(1-ht),ia=zr-Le*Le,Sa=I(ia),ln=ze+Wr+st*Sa;if(S(Xe-je)0?je=st:Xe=st,st=.5*(je+Xe)}if(!Qe)return null;var an=C(Dt),wn=t(an),ei=1/wn,Mi=2*Dt*wn,pi=(-3*st+Ot*(1+3*ht))*Mi,Ki=(-$t*wn-(1-Dt)*pi)/($t*$t),Lo=.5*Ki/pr,bo=(1-ht)*Lo-2*st*pr*Mi,ds=-2*ei*bo,Zo=-ei*Mi,Is=-ei*(st*(1+ht)*Ki+ir*(1+3*ht)*Mi);return[M/4*(Le*(ds+Zo*Sa)+Is*C(Le/I(zr))),an]}function La(){return v.geoProjection(Fr(kr)).scale(239.75)}function Dn(Le,ze,je){var Xe,st,Qe;return Le?(Xe=Mn(Le,je),ze?(st=Mn(ze,1-je),Qe=st[1]*st[1]+je*Xe[0]*Xe[0]*st[0]*st[0],[[Xe[0]*st[2]/Qe,Xe[1]*Xe[2]*st[0]*st[1]/Qe],[Xe[1]*st[1]/Qe,-Xe[0]*Xe[2]*st[0]*st[2]/Qe],[Xe[2]*st[1]*st[2]/Qe,-je*Xe[0]*Xe[1]*st[0]/Qe]]):[[Xe[0],0],[Xe[1],0],[Xe[2],0]]):(st=Mn(ze,1-je),[[0,st[0]/st[1]],[1/st[1],0],[st[2]/st[1],0]])}function Mn(Le,ze){var je,Xe,st,Qe,ht;if(ze=1-o)return je=(1-ze)/4,Xe=k(Le),Qe=z(Le),st=1/Xe,ht=Xe*R(Le),[Qe+je*(ht-Le)/(Xe*Xe),st-je*Qe*st*(ht-Le),st+je*Qe*st*(ht+Le),2*l(a(Le))-A+je*(ht-Le)/Xe];var Dt=[1,0,0,0,0,0,0,0,0],Ot=[I(ze),0,0,0,0,0,0,0,0],$t=0;for(Xe=I(1-ze),ht=1;S(Ot[$t]/Dt[$t])>o&&$t<8;)je=Dt[$t++],Ot[$t]=(je-Xe)/2,Dt[$t]=(je+Xe)/2,Xe=I(je*Xe),ht*=2;st=ht*Dt[$t]*Le;do Qe=Ot[$t]*d(Xe=st)/Dt[$t],st=(C(Qe)+st)/2;while(--$t);return[d(st),Qe=t(st),Qe/t(st-Xe),st]}function _i(Le,ze,je){var Xe=S(Le),st=S(ze),Qe=R(st);if(Xe){var ht=1/d(Xe),Dt=1/(y(Xe)*y(Xe)),Ot=-(Dt+je*(Qe*Qe*ht*ht)-1+je),$t=(je-1)*Dt,ir=(-Ot+I(Ot*Ot-4*$t))/2;return[ti(l(1/I(ir)),je)*f(Le),ti(l(I((ir/Dt-1)/je)),1-je)*f(ze)]}return[0,ti(l(Qe),1-je)*f(ze)]}function ti(Le,ze){if(!ze)return Le;if(ze===1)return n(y(Le/2+E));for(var je=1,Xe=I(1-ze),st=I(ze),Qe=0;S(st)>o;Qe++){if(Le%M){var ht=l(Xe*y(Le)/je);ht<0&&(ht+=M),Le+=ht+~~(Le/M)*M}else Le+=Le;st=(je+Xe)/2,Xe=I(je*Xe),st=((je=st)-Xe)/2}return Le/(c(2,Qe)*je)}function Si(Le,ze){var je=(T-1)/(T+1),Xe=I(1-je*je),st=ti(A,Xe*Xe),Qe=-1,ht=n(y(M/4+S(ze)/2)),Dt=a(Qe*ht)/I(je),Ot=ai(Dt*t(Qe*Le),Dt*d(Qe*Le)),$t=_i(Ot[0],Ot[1],Xe*Xe);return[-$t[1],(ze>=0?1:-1)*(.5*st-$t[0])]}function ai(Le,ze){var je=Le*Le,Xe=ze+1,st=1-je-ze*ze;return[.5*((Le>=0?A:-A)-e(st,2*Le)),-.25*n(st*st+4*je)+.5*n(Xe*Xe+je)]}function Ao(Le,ze){var je=ze[0]*ze[0]+ze[1]*ze[1];return[(Le[0]*ze[0]+Le[1]*ze[1])/je,(Le[1]*ze[0]-Le[0]*ze[1])/je]}Si.invert=function(Le,ze){var je=(T-1)/(T+1),Xe=I(1-je*je),st=ti(A,Xe*Xe),Qe=-1,ht=Dn(.5*st-ze,-Le,Xe*Xe),Dt=Ao(ht[0],ht[1]),Ot=e(Dt[1],Dt[0])/Qe;return[Ot,2*l(a(.5/Qe*n(je*Dt[0]*Dt[0]+je*Dt[1]*Dt[1])))-A]};function yo(){return v.geoProjection(Fr(Si)).scale(151.496)}function Vn(Le){var ze=d(Le),je=t(Le),Xe=Bo(Le);Xe.invert=Bo(-Le);function st(Qe,ht){var Dt=Xe(Qe,ht);Qe=Dt[0],ht=Dt[1];var Ot=d(ht),$t=t(ht),ir=t(Qe),pr=F(ze*Ot+je*$t*ir),zr=d(pr),Wr=S(zr)>o?pr/zr:1;return[Wr*je*d(Qe),(S(Qe)>A?Wr:-Wr)*(ze*$t-je*Ot*ir)]}return st.invert=function(Qe,ht){var Dt=I(Qe*Qe+ht*ht),Ot=-d(Dt),$t=t(Dt),ir=Dt*$t,pr=-ht*Ot,zr=Dt*ze,Wr=I(ir*ir+pr*pr-zr*zr),ia=e(ir*zr+pr*Wr,pr*zr-ir*Wr),Sa=(Dt>A?-1:1)*e(Qe*Ot,Dt*t(ia)*$t+ht*d(ia)*Ot);return Xe.invert(Sa,ia)},st}function Bo(Le){var ze=d(Le),je=t(Le);return function(Xe,st){var Qe=t(st),ht=t(Xe)*Qe,Dt=d(Xe)*Qe,Ot=d(st);return[e(Dt,ht*je-Ot*ze),C(Ot*je+ht*ze)]}}function Mo(){var Le=0,ze=v.geoProjectionMutator(Vn),je=ze(Le),Xe=je.rotate,st=je.stream,Qe=v.geoCircle();return je.parallel=function(ht){if(!arguments.length)return Le*x;var Dt=je.rotate();return ze(Le=ht*_).rotate(Dt)},je.rotate=function(ht){return arguments.length?(Xe.call(je,[ht[0],ht[1]-Le*x]),Qe.center([-ht[0],-ht[1]]),je):(ht=Xe.call(je),ht[1]+=Le*x,ht)},je.stream=function(ht){return ht=st(ht),ht.sphere=function(){ht.polygonStart();var Dt=.01,Ot=Qe.radius(90-Dt)().coordinates[0],$t=Ot.length-1,ir=-1,pr;for(ht.lineStart();++ir<$t;)ht.point((pr=Ot[ir])[0],pr[1]);for(ht.lineEnd(),Ot=Qe.radius(90+Dt)().coordinates[0],$t=Ot.length-1,ht.lineStart();--ir>=0;)ht.point((pr=Ot[ir])[0],pr[1]);ht.lineEnd(),ht.polygonEnd()},ht},je.scale(79.4187).parallel(45).clipAngle(180-.001)}var co=3,Ro=C(1-1/co)*x,ao=mt(0);function Co(Le){var ze=Ro*_,je=Ie(M,ze)[0]-Ie(-M,ze)[0],Xe=ao(0,ze)[1],st=Ie(0,ze)[1],Qe=m-st,ht=h/Le,Dt=4/h,Ot=Xe+Qe*Qe*4/h;function $t(ir,pr){var zr,Wr=S(pr);if(Wr>ze){var ia=s(Le-1,i(0,r((ir+M)/ht)));ir+=M*(Le-1)/Le-ia*ht,zr=Ie(ir,Wr),zr[0]=zr[0]*h/je-h*(Le-1)/(2*Le)+ia*h/Le,zr[1]=Xe+(zr[1]-st)*4*Qe/h,pr<0&&(zr[1]=-zr[1])}else zr=ao(ir,pr);return zr[0]*=Dt,zr[1]/=Ot,zr}return $t.invert=function(ir,pr){ir/=Dt,pr*=Ot;var zr=S(pr);if(zr>Xe){var Wr=s(Le-1,i(0,r((ir+M)/ht)));ir=(ir+M*(Le-1)/Le-Wr*ht)*je/h;var ia=Ie.invert(ir,.25*(zr-Xe)*h/Qe+st);return ia[0]-=M*(Le-1)/Le-Wr*ht,pr<0&&(ia[1]=-ia[1]),ia}return ao.invert(ir,pr)},$t}function Wo(Le,ze){return[Le,ze&1?90-o:Ro]}function Po(Le,ze){return[Le,ze&1?-90+o:-Ro]}function vi(Le){return[Le[0]*(1-o),Le[1]]}function zi(Le){var ze=[].concat(w.range(-180,180+Le/2,Le).map(Wo),w.range(180,-180-Le/2,-Le).map(Po));return{type:"Polygon",coordinates:[Le===180?ze.map(vi):ze]}}function ho(){var Le=4,ze=v.geoProjectionMutator(Co),je=ze(Le),Xe=je.stream;return je.lobes=function(st){return arguments.length?ze(Le=+st):Le},je.stream=function(st){var Qe=je.rotate(),ht=Xe(st),Dt=(je.rotate([0,0]),Xe(st));return je.rotate(Qe),ht.sphere=function(){v.geoStream(zi(180/Le),Dt)},ht},je.scale(239.75)}function ro(Le){var ze=1+Le,je=d(1/ze),Xe=C(je),st=2*I(M/(Qe=M+4*Xe*ze)),Qe,ht=.5*st*(ze+I(Le*(2+Le))),Dt=Le*Le,Ot=ze*ze;function $t(ir,pr){var zr=1-d(pr),Wr,ia;if(zr&&zr<2){var Sa=A-pr,ln=25,an;do{var wn=d(Sa),ei=t(Sa),Mi=Xe+e(wn,ze-ei),pi=1+Ot-2*ze*ei;Sa-=an=(Sa-Dt*Xe-ze*wn+pi*Mi-.5*zr*Qe)/(2*ze*wn*Mi)}while(S(an)>b&&--ln>0);Wr=st*I(pi),ia=ir*Mi/M}else Wr=st*(Le+zr),ia=ir*Xe/M;return[Wr*d(ia),ht-Wr*t(ia)]}return $t.invert=function(ir,pr){var zr=ir*ir+(pr-=ht)*pr,Wr=(1+Ot-zr/(st*st))/(2*ze),ia=F(Wr),Sa=d(ia),ln=Xe+e(Sa,ze-Wr);return[C(ir/I(zr))*M/ln,C(1-2*(ia-Dt*Xe-ze*Sa+(1+Ot-2*ze*Wr)*ln)/Qe)]},$t}function es(){var Le=1,ze=v.geoProjectionMutator(ro),je=ze(Le);return je.ratio=function(Xe){return arguments.length?ze(Le=+Xe):Le},je.scale(167.774).center([0,18.67])}var Ho=.7109889596207567,is=.0528035274542;function as(Le,ze){return ze>-Ho?(Le=ce(Le,ze),Le[1]+=is,Le):Ne(Le,ze)}as.invert=function(Le,ze){return ze>-Ho?ce.invert(Le,ze-is):Ne.invert(Le,ze)};function vs(){return v.geoProjection(as).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function Yo(Le,ze){return S(ze)>Ho?(Le=ce(Le,ze),Le[1]-=ze>0?is:-is,Le):Ne(Le,ze)}Yo.invert=function(Le,ze){return S(ze)>Ho?ce.invert(Le,ze+(ze>0?is:-is)):Ne.invert(Le,ze)};function po(){return v.geoProjection(Yo).scale(152.63)}function _s(Le,ze,je,Xe){var st=I(4*M/(2*je+(1+Le-ze/2)*d(2*je)+(Le+ze)/2*d(4*je)+ze/2*d(6*je))),Qe=I(Xe*d(je)*I((1+Le*t(2*je)+ze*t(4*je))/(1+Le+ze))),ht=je*Ot(1);function Dt(pr){return I(1+Le*t(2*pr)+ze*t(4*pr))}function Ot(pr){var zr=pr*je;return(2*zr+(1+Le-ze/2)*d(2*zr)+(Le+ze)/2*d(4*zr)+ze/2*d(6*zr))/je}function $t(pr){return Dt(pr)*d(pr)}var ir=function(pr,zr){var Wr=je*Te(Ot,ht*d(zr)/je,zr/M);isNaN(Wr)&&(Wr=je*f(zr));var ia=st*Dt(Wr);return[ia*Qe*pr/M*t(Wr),ia/Qe*d(Wr)]};return ir.invert=function(pr,zr){var Wr=Te($t,zr*Qe/st);return[pr*M/(t(Wr)*st*Qe*Dt(Wr)),C(je*Ot(Wr/je)/ht)]},je===0&&(st=I(Xe/M),ir=function(pr,zr){return[pr*st,d(zr)/st]},ir.invert=function(pr,zr){return[pr/st,C(zr*st)]}),ir}function qo(){var Le=1,ze=0,je=45*_,Xe=2,st=v.geoProjectionMutator(_s),Qe=st(Le,ze,je,Xe);return Qe.a=function(ht){return arguments.length?st(Le=+ht,ze,je,Xe):Le},Qe.b=function(ht){return arguments.length?st(Le,ze=+ht,je,Xe):ze},Qe.psiMax=function(ht){return arguments.length?st(Le,ze,je=+ht*_,Xe):je*x},Qe.ratio=function(ht){return arguments.length?st(Le,ze,je,Xe=+ht):Xe},Qe.scale(180.739)}function Io(Le,ze,je,Xe,st,Qe,ht,Dt,Ot,$t,ir){if(ir.nanEncountered)return NaN;var pr,zr,Wr,ia,Sa,ln,an,wn,ei,Mi;if(pr=je-ze,zr=Le(ze+pr*.25),Wr=Le(je-pr*.25),isNaN(zr)){ir.nanEncountered=!0;return}if(isNaN(Wr)){ir.nanEncountered=!0;return}return ia=pr*(Xe+4*zr+st)/12,Sa=pr*(st+4*Wr+Qe)/12,ln=ia+Sa,Mi=(ln-ht)/15,$t>Ot?(ir.maxDepthCount++,ln+Mi):Math.abs(Mi)>1;do Ot[ln]>Wr?Sa=ln:ia=ln,ln=ia+Sa>>1;while(ln>ia);var an=Ot[ln+1]-Ot[ln];return an&&(an=(Wr-Ot[ln+1])/an),(ln+1+an)/ht}var pr=2*ir(1)/M*Qe/je,zr=function(Wr,ia){var Sa=ir(S(d(ia))),ln=Xe(Sa)*Wr;return Sa/=pr,[ln,ia>=0?Sa:-Sa]};return zr.invert=function(Wr,ia){var Sa;return ia*=pr,S(ia)<1&&(Sa=f(ia)*C(st(S(ia))*Qe)),[Wr/Xe(S(ia)),Sa]},zr}function qs(){var Le=0,ze=2.5,je=1.183136,Xe=v.geoProjectionMutator(ts),st=Xe(Le,ze,je);return st.alpha=function(Qe){return arguments.length?Xe(Le=+Qe,ze,je):Le},st.k=function(Qe){return arguments.length?Xe(Le,ze=+Qe,je):ze},st.gamma=function(Qe){return arguments.length?Xe(Le,ze,je=+Qe):je},st.scale(152.63)}function Xs(Le,ze){return S(Le[0]-ze[0])=0;--Ot)je=Le[1][Ot],Xe=je[0][0],st=je[0][1],Qe=je[1][1],ht=je[2][0],Dt=je[2][1],ze.push(ps([[ht-o,Dt-o],[ht-o,Qe+o],[Xe+o,Qe+o],[Xe+o,st-o]],30));return{type:"Polygon",coordinates:[w.merge(ze)]}}function xl(Le,ze,je){var Xe,st;function Qe(Ot,$t){for(var ir=$t<0?-1:1,pr=ze[+($t<0)],zr=0,Wr=pr.length-1;zrpr[zr][2][0];++zr);var ia=Le(Ot-pr[zr][1][0],$t);return ia[0]+=Le(pr[zr][1][0],ir*$t>ir*pr[zr][0][1]?pr[zr][0][1]:$t)[0],ia}je?Qe.invert=je(Qe):Le.invert&&(Qe.invert=function(Ot,$t){for(var ir=st[+($t<0)],pr=ze[+($t<0)],zr=0,Wr=ir.length;zria&&(Sa=Wr,Wr=ia,ia=Sa),[[pr,Wr],[zr,ia]]})}),ht):ze.map(function($t){return $t.map(function(ir){return[[ir[0][0]*x,ir[0][1]*x],[ir[1][0]*x,ir[1][1]*x],[ir[2][0]*x,ir[2][1]*x]]})})},ze!=null&&ht.lobes(ze),ht}var fs=[[[[-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 Wl(){return xl(be,fs).scale(160.857)}var Ss=[[[[-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 ls(){return xl(Yo,Ss).scale(152.63)}var No=[[[[-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 Do(){return xl(ce,No).scale(169.529)}var hs=[[[[-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 Jl(){return xl(ce,hs).scale(169.529).rotate([20,0])}var du=[[[[-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 Ql(){return xl(as,du,Se).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var Ou=[[[[-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 Uu(){return xl(Ne,Ou).scale(152.63).rotate([-20,0])}function Xu(Le,ze){return[3/h*Le*I(M*M/3-ze*ze),ze]}Xu.invert=function(Le,ze){return[h/3*Le/I(M*M/3-ze*ze),ze]};function $u(){return v.geoProjection(Xu).scale(158.837)}function fc(Le){function ze(je,Xe){if(S(S(Xe)-A)2)return null;je/=2,Xe/=2;var Qe=je*je,ht=Xe*Xe,Dt=2*Xe/(1+Qe+ht);return Dt=c((1+Dt)/(1-Dt),1/Le),[e(2*je,1-Qe-ht)/Le,C((Dt-1)/(Dt+1))]},ze}function _c(){var Le=.5,ze=v.geoProjectionMutator(fc),je=ze(Le);return je.spacing=function(Xe){return arguments.length?ze(Le=+Xe):Le},je.scale(124.75)}var vu=M/T;function pu(Le,ze){return[Le*(1+I(t(ze)))/2,ze/(t(ze/2)*t(Le/6))]}pu.invert=function(Le,ze){var je=S(Le),Xe=S(ze),st=o,Qe=A;Xeo||S(ln)>o)&&--st>0);return st&&[je,Xe]};function Vs(){return v.geoProjection(eu).scale(139.98)}function os(Le,ze){return[d(Le)/t(ze),y(ze)*t(Le)]}os.invert=function(Le,ze){var je=Le*Le,Xe=ze*ze,st=Xe+1,Qe=je+st,ht=Le?g*I((Qe-I(Qe*Qe-4*je))/je):1/I(st);return[C(Le*ht),f(ze)*F(ht)]};function sl(){return v.geoProjection(os).scale(144.049).clipAngle(90-.001)}function Tu(Le){var ze=t(Le),je=y(E+Le/2);function Xe(st,Qe){var ht=Qe-Le,Dt=S(ht)=0;)ir=Le[$t],pr=ir[0]+Dt*(Wr=pr)-Ot*zr,zr=ir[1]+Dt*zr+Ot*Wr;return pr=Dt*(Wr=pr)-Ot*zr,zr=Dt*zr+Ot*Wr,[pr,zr]}return je.invert=function(Xe,st){var Qe=20,ht=Xe,Dt=st;do{for(var Ot=ze,$t=Le[Ot],ir=$t[0],pr=$t[1],zr=0,Wr=0,ia;--Ot>=0;)$t=Le[Ot],zr=ir+ht*(ia=zr)-Dt*Wr,Wr=pr+ht*Wr+Dt*ia,ir=$t[0]+ht*(ia=ir)-Dt*pr,pr=$t[1]+ht*pr+Dt*ia;zr=ir+ht*(ia=zr)-Dt*Wr,Wr=pr+ht*Wr+Dt*ia,ir=ht*(ia=ir)-Dt*pr-Xe,pr=ht*pr+Dt*ia-st;var Sa=zr*zr+Wr*Wr,ln,an;ht-=ln=(ir*zr+pr*Wr)/Sa,Dt-=an=(pr*zr-ir*Wr)/Sa}while(S(ln)+S(an)>o*o&&--Qe>0);if(Qe){var wn=I(ht*ht+Dt*Dt),ei=2*l(wn*.5),Mi=d(ei);return[e(ht*Mi,wn*t(ei)),wn?C(Dt*Mi/wn):0]}},je}var Xo=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],Mf=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],ns=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],so=[[.9245,0],[0,0],[.01943,0]],qu=[[.721316,0],[0,0],[-.00881625,-.00617325]];function hc(){return ll(Xo,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function Ll(){return ll(Mf,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Qc(){return ll(ns,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function Au(){return ll(so,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function Zu(){return ll(qu,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function ll(Le,ze){var je=v.geoProjection(Af(Le)).rotate(ze).clipAngle(90),Xe=v.geoRotation(ze),st=je.center;return delete je.rotate,je.center=function(Qe){return arguments.length?st(Xe(Qe)):Xe.invert(st())},je}var ef=I(6),zc=I(7);function Ku(Le,ze){var je=C(7*d(ze)/(3*ef));return[ef*Le*(2*t(2*je/3)-1)/zc,9*d(je/3)/zc]}Ku.invert=function(Le,ze){var je=3*C(ze*zc/9);return[Le*zc/(ef*(2*t(2*je/3)-1)),C(d(je)*3*ef/7)]};function Ju(){return v.geoProjection(Ku).scale(164.859)}function Bc(Le,ze){for(var je=(1+g)*d(ze),Xe=ze,st=0,Qe;st<25&&(Xe-=Qe=(d(Xe/2)+d(Xe)-je)/(.5*t(Xe/2)+t(Xe)),!(S(Qe)b&&--Xe>0);return Qe=je*je,ht=Qe*Qe,Dt=Qe*ht,[Le/(.84719-.13063*Qe+Dt*Dt*(-.04515+.05494*Qe-.02326*ht+.00331*Dt)),je]};function Qu(){return v.geoProjection(ru).scale(175.295)}function $s(Le,ze){return[Le*(1+t(ze))/2,2*(ze-y(ze/2))]}$s.invert=function(Le,ze){for(var je=ze/2,Xe=0,st=1/0;Xe<10&&S(st)>o;++Xe){var Qe=t(ze/2);ze-=st=(ze-y(ze/2)-je)/(1-.5/(Qe*Qe))}return[2*Le/(1+t(ze)),ze]};function ec(){return v.geoProjection($s).scale(152.63)}var Iu=[[[[-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 us(){return xl(ue(1/0),Iu).rotate([20,0]).scale(152.63)}function wc(Le,ze){var je=d(ze),Xe=t(ze),st=f(Le);if(Le===0||S(ze)===A)return[0,ze];if(ze===0)return[Le,0];if(S(Le)===A)return[Le*Xe,A*je];var Qe=M/(2*Le)-2*Le/M,ht=2*ze/M,Dt=(1-ht*ht)/(je-ht),Ot=Qe*Qe,$t=Dt*Dt,ir=1+Ot/$t,pr=1+$t/Ot,zr=(Qe*je/Dt-Qe/2)/ir,Wr=($t*je/Ot+Dt/2)/pr,ia=zr*zr+Xe*Xe/ir,Sa=Wr*Wr-($t*je*je/Ot+Dt*je-1)/pr;return[A*(zr+I(ia)*st),A*(Wr+I(Sa<0?0:Sa)*f(-ze*Qe)*st)]}wc.invert=function(Le,ze){Le/=A,ze/=A;var je=Le*Le,Xe=ze*ze,st=je+Xe,Qe=M*M;return[Le?(st-1+I((1-st)*(1-st)+4*je))/(2*Le)*A:0,Te(function(ht){return st*(M*d(ht)-2*ht)*M+4*ht*ht*(ze-d(ht))+2*M*ht-Qe*ze},0)]};function Sf(){return v.geoProjection(wc).scale(127.267)}var tf=1.0148,Vu=.23185,rf=-.14499,Tc=.02406,Ef=tf,Zs=5*Vu,au=7*rf,af=9*Tc,Fs=1.790857183;function Du(Le,ze){var je=ze*ze;return[Le,ze*(tf+je*je*(Vu+je*(rf+Tc*je)))]}Du.invert=function(Le,ze){ze>Fs?ze=Fs:ze<-Fs&&(ze=-Fs);var je=ze,Xe;do{var st=je*je;je-=Xe=(je*(tf+st*st*(Vu+st*(rf+Tc*st)))-ze)/(Ef+st*st*(Zs+st*(au+af*st)))}while(S(Xe)>o);return[Le,je]};function Nl(){return v.geoProjection(Du).scale(139.319)}function Hu(Le,ze){if(S(ze)o&&--st>0);return ht=y(Xe),[(S(ze)=0;)if(Xe=ze[Dt],je[0]===Xe[0]&&je[1]===Xe[1]){if(Qe)return[Qe,je];Qe=je}}}function rl(Le){for(var ze=Le.length,je=[],Xe=Le[ze-1],st=0;st0?[-Xe[0],0]:[180-Xe[0],180])};var ze=Uc.map(function(je){return{face:je,project:Le(je)}});return[-1,0,0,1,0,1,4,5].forEach(function(je,Xe){var st=ze[je];st&&(st.children||(st.children=[])).push(ze[Xe])}),vc(ze[0],function(je,Xe){return ze[je<-M/2?Xe<0?6:4:je<0?Xe<0?2:0:jeXe^Wr>Xe&&je<(zr-$t)*(Xe-ir)/(Wr-ir)+$t&&(st=!st)}return st}function of(Le,ze){var je=ze.stream,Xe;if(!je)throw new Error("invalid projection");switch(Le&&Le.type){case"Feature":Xe=Mc;break;case"FeatureCollection":Xe=Cf;break;default:Xe=Sc;break}return Xe(Le,je)}function Cf(Le,ze){return{type:"FeatureCollection",features:Le.features.map(function(je){return Mc(je,ze)})}}function Mc(Le,ze){return{type:"Feature",id:Le.id,properties:Le.properties,geometry:Sc(Le.geometry,ze)}}function sf(Le,ze){return{type:"GeometryCollection",geometries:Le.geometries.map(function(je){return Sc(je,ze)})}}function Sc(Le,ze){if(!Le)return null;if(Le.type==="GeometryCollection")return sf(Le,ze);var je;switch(Le.type){case"Point":je=lf;break;case"MultiPoint":je=lf;break;case"LineString":je=Lf;break;case"MultiLineString":je=Lf;break;case"Polygon":je=Ec;break;case"MultiPolygon":je=Ec;break;case"Sphere":je=Ec;break;default:return null}return v.geoStream(Le,ze(je)),je.result()}var wl=[],Su=[],lf={point:function(Le,ze){wl.push([Le,ze])},result:function(){var Le=wl.length?wl.length<2?{type:"Point",coordinates:wl[0]}:{type:"MultiPoint",coordinates:wl}:null;return wl=[],Le}},Lf={lineStart:Wu,point:function(Le,ze){wl.push([Le,ze])},lineEnd:function(){wl.length&&(Su.push(wl),wl=[])},result:function(){var Le=Su.length?Su.length<2?{type:"LineString",coordinates:Su[0]}:{type:"MultiLineString",coordinates:Su}:null;return Su=[],Le}},Ec={polygonStart:Wu,lineStart:Wu,point:function(Le,ze){wl.push([Le,ze])},lineEnd:function(){var Le=wl.length;if(Le){do wl.push(wl[0].slice());while(++Le<4);Su.push(wl),wl=[]}},polygonEnd:Wu,result:function(){if(!Su.length)return null;var Le=[],ze=[];return Su.forEach(function(je){Vc(je)?Le.push([je]):ze.push(je)}),ze.forEach(function(je){var Xe=je[0];Le.some(function(st){if(Hc(st[0],Xe))return st.push(je),!0})||Le.push([je])}),Su=[],Le.length?Le.length>1?{type:"MultiPolygon",coordinates:Le}:{type:"Polygon",coordinates:Le[0]}:null}};function Fu(Le){var ze=Le(A,0)[0]-Le(-A,0)[0];function je(Xe,st){var Qe=S(Xe)0?Xe-M:Xe+M,st),Dt=(ht[0]-ht[1])*g,Ot=(ht[0]+ht[1])*g;if(Qe)return[Dt,Ot];var $t=ze*g,ir=Dt>0^Ot>0?-1:1;return[ir*Dt-f(Ot)*$t,ir*Ot-f(Dt)*$t]}return Le.invert&&(je.invert=function(Xe,st){var Qe=(Xe+st)*g,ht=(st-Xe)*g,Dt=S(Qe)<.5*ze&&S(ht)<.5*ze;if(!Dt){var Ot=ze*g,$t=Qe>0^ht>0?-1:1,ir=-$t*Xe+(ht>0?1:-1)*Ot,pr=-$t*st+(Qe>0?1:-1)*Ot;Qe=(-ir-pr)*g,ht=(ir-pr)*g}var zr=Le.invert(Qe,ht);return Dt||(zr[0]+=Qe>0?M:-M),zr}),v.geoProjection(je).rotate([-90,-90,45]).clipAngle(180-.001)}function Mt(){return Fu(kr).scale(176.423)}function jt(){return Fu(Si).scale(111.48)}function _r(Le,ze){if(!(0<=(ze=+ze)&&ze<=20))throw new Error("invalid digits");function je($t){var ir=$t.length,pr=2,zr=new Array(ir);for(zr[0]=+$t[0].toFixed(ze),zr[1]=+$t[1].toFixed(ze);pr2||Wr[0]!=ir[0]||Wr[1]!=ir[1])&&(pr.push(Wr),ir=Wr)}return pr.length===1&&$t.length>1&&pr.push(je($t[$t.length-1])),pr}function Qe($t){return $t.map(st)}function ht($t){if($t==null)return $t;var ir;switch($t.type){case"GeometryCollection":ir={type:"GeometryCollection",geometries:$t.geometries.map(ht)};break;case"Point":ir={type:"Point",coordinates:je($t.coordinates)};break;case"MultiPoint":ir={type:$t.type,coordinates:Xe($t.coordinates)};break;case"LineString":ir={type:$t.type,coordinates:st($t.coordinates)};break;case"MultiLineString":case"Polygon":ir={type:$t.type,coordinates:Qe($t.coordinates)};break;case"MultiPolygon":ir={type:"MultiPolygon",coordinates:$t.coordinates.map(Qe)};break;default:return $t}return $t.bbox!=null&&(ir.bbox=$t.bbox),ir}function Dt($t){var ir={type:"Feature",properties:$t.properties,geometry:ht($t.geometry)};return $t.id!=null&&(ir.id=$t.id),$t.bbox!=null&&(ir.bbox=$t.bbox),ir}if(Le!=null)switch(Le.type){case"Feature":return Dt(Le);case"FeatureCollection":{var Ot={type:"FeatureCollection",features:Le.features.map(Dt)};return Le.bbox!=null&&(Ot.bbox=Le.bbox),Ot}default:return ht(Le)}return Le}function dr(Le){var ze=d(Le);function je(Xe,st){var Qe=ze?y(Xe*ze/2)/ze:Xe/2;if(!st)return[2*Qe,-Le];var ht=2*l(Qe*d(st)),Dt=1/y(st);return[d(ht)*Dt,st+(1-t(ht))*Dt-Le]}return je.invert=function(Xe,st){if(S(st+=Le)o&&--Dt>0);var zr=Xe*($t=y(ht)),Wr=y(S(st)0?A:-A)*(Ot+st*(ir-ht)/2+st*st*(ir-2*Ot+ht)/2)]}Ga.invert=function(Le,ze){var je=ze/A,Xe=je*90,st=s(18,S(Xe/5)),Qe=i(0,r(st));do{var ht=Aa[Qe][1],Dt=Aa[Qe+1][1],Ot=Aa[s(19,Qe+2)][1],$t=Ot-ht,ir=Ot-2*Dt+ht,pr=2*(S(je)-Dt)/$t,zr=ir/$t,Wr=pr*(1-zr*pr*(1-2*zr*pr));if(Wr>=0||Qe===1){Xe=(ze>=0?5:-5)*(Wr+st);var ia=50,Sa;do st=s(18,S(Xe)/5),Qe=r(st),Wr=st-Qe,ht=Aa[Qe][1],Dt=Aa[Qe+1][1],Ot=Aa[s(19,Qe+2)][1],Xe-=(Sa=(ze>=0?A:-A)*(Dt+Wr*(Ot-ht)/2+Wr*Wr*(Ot-2*Dt+ht)/2)-ze)*x;while(S(Sa)>b&&--ia>0);break}}while(--Qe>=0);var ln=Aa[Qe][0],an=Aa[Qe+1][0],wn=Aa[s(19,Qe+2)][0];return[Le/(an+Wr*(wn-ln)/2+Wr*Wr*(wn-2*an+ln)/2),Xe*_]};function fn(){return v.geoProjection(Ga).scale(152.63)}function gn(Le){function ze(je,Xe){var st=t(Xe),Qe=(Le-1)/(Le-st*t(je));return[Qe*st*d(je),Qe*d(Xe)]}return ze.invert=function(je,Xe){var st=je*je+Xe*Xe,Qe=I(st),ht=(Le-I(1-st*(Le+1)/(Le-1)))/((Le-1)/Qe+Qe/(Le-1));return[e(je*ht,Qe*I(1-ht*ht)),Qe?C(Xe*ht/Qe):0]},ze}function qn(Le,ze){var je=gn(Le);if(!ze)return je;var Xe=t(ze),st=d(ze);function Qe(ht,Dt){var Ot=je(ht,Dt),$t=Ot[1],ir=$t*st/(Le-1)+Xe;return[Ot[0]*Xe/ir,$t/ir]}return Qe.invert=function(ht,Dt){var Ot=(Le-1)/(Le-1-Dt*st);return je.invert(Ot*ht,Ot*Dt*Xe)},Qe}function Wa(){var Le=2,ze=0,je=v.geoProjectionMutator(qn),Xe=je(Le,ze);return Xe.distance=function(st){return arguments.length?je(Le=+st,ze):Le},Xe.tilt=function(st){return arguments.length?je(Le,ze=st*_):ze*x},Xe.scale(432.147).clipAngle(F(1/Le)*x-1e-6)}var $a=1e-4,sn=1e4,Pa=-180,Qn=Pa+$a,Ei=180,Ii=Ei-$a,ki=-90,Vi=ki+$a,ni=90,Rn=ni-$a;function no(Le){return Le.length>0}function wo(Le){return Math.floor(Le*sn)/sn}function Go(Le){return Le===ki||Le===ni?[0,Le]:[Pa,wo(Le)]}function bs(Le){var ze=Le[0],je=Le[1],Xe=!1;return ze<=Qn?(ze=Pa,Xe=!0):ze>=Ii&&(ze=Ei,Xe=!0),je<=Vi?(je=ki,Xe=!0):je>=Rn&&(je=ni,Xe=!0),Xe?[ze,je]:Le}function Jo(Le){return Le.map(bs)}function Es(Le,ze,je){for(var Xe=0,st=Le.length;Xe=Ii||ir<=Vi||ir>=Rn){Qe[ht]=bs(Ot);for(var pr=ht+1;prQn&&WrVi&&ia=Dt)break;je.push({index:-1,polygon:ze,ring:Qe=Qe.slice(pr-1)}),Qe[0]=Go(Qe[0][1]),ht=-1,Dt=Qe.length}}}}function Vo(Le){var ze,je=Le.length,Xe={},st={},Qe,ht,Dt,Ot,$t;for(ze=0;ze0?M-Dt:Dt)*x],$t=v.geoProjection(Le(ht)).rotate(Ot),ir=v.geoRotation(Ot),pr=$t.center;return delete $t.rotate,$t.center=function(zr){return arguments.length?pr(ir(zr)):ir.invert(pr())},$t.clipAngle(90)}function $o(Le){var ze=t(Le);function je(Xe,st){var Qe=v.geoGnomonicRaw(Xe,st);return Qe[0]*=ze,Qe}return je.invert=function(Xe,st){return v.geoGnomonicRaw.invert(Xe/ze,st)},je}function ul(){return yu([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function yu(Le,ze){return ms($o,Le,ze)}function iu(Le){if(!(Le*=2))return v.geoAzimuthalEquidistantRaw;var ze=-Le/2,je=-ze,Xe=Le*Le,st=y(je),Qe=.5/d(je);function ht(Dt,Ot){var $t=F(t(Ot)*t(Dt-ze)),ir=F(t(Ot)*t(Dt-je)),pr=Ot<0?-1:1;return $t*=$t,ir*=ir,[($t-ir)/(2*Le),pr*I(4*Xe*ir-(Xe-$t+ir)*(Xe-$t+ir))/(2*Le)]}return ht.invert=function(Dt,Ot){var $t=Ot*Ot,ir=t(I($t+(zr=Dt+ze)*zr)),pr=t(I($t+(zr=Dt+je)*zr)),zr,Wr;return[e(Wr=ir-pr,zr=(ir+pr)*st),(Ot<0?-1:1)*F(I(zr*zr+Wr*Wr)*Qe)]},ht}function zu(){return Tl([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function Tl(Le,ze){return ms(iu,Le,ze)}function Eu(Le,ze){if(S(ze)o&&--Dt>0);return[f(Le)*(I(st*st+4)+st)*M/4,A*ht]};function ou(){return v.geoProjection(kc).scale(127.16)}function Me(Le,ze,je,Xe,st){function Qe(ht,Dt){var Ot=je*d(Xe*Dt),$t=I(1-Ot*Ot),ir=I(2/(1+$t*t(ht*=st)));return[Le*$t*ir*d(ht),ze*Ot*ir]}return Qe.invert=function(ht,Dt){var Ot=ht/Le,$t=Dt/ze,ir=I(Ot*Ot+$t*$t),pr=2*C(ir/2);return[e(ht*y(pr),Le*ir)/st,ir&&C(Dt*d(pr)/(ze*je*ir))/Xe]},Qe}function L(Le,ze,je,Xe){var st=M/3;Le=i(Le,o),ze=i(ze,o),Le=s(Le,A),ze=s(ze,M-o),je=i(je,0),je=s(je,100-o),Xe=i(Xe,o);var Qe=je/100+1,ht=Xe/100,Dt=F(Qe*t(st))/st,Ot=d(Le)/d(Dt*A),$t=ze/M,ir=I(ht*d(Le/2)/d(ze/2)),pr=ir/I($t*Ot*Dt),zr=1/(ir*I($t*Ot*Dt));return Me(pr,zr,Ot,Dt,$t)}function J(){var Le=65*_,ze=60*_,je=20,Xe=200,st=v.geoProjectionMutator(L),Qe=st(Le,ze,je,Xe);return Qe.poleline=function(ht){return arguments.length?st(Le=+ht*_,ze,je,Xe):Le*x},Qe.parallels=function(ht){return arguments.length?st(Le,ze=+ht*_,je,Xe):ze*x},Qe.inflation=function(ht){return arguments.length?st(Le,ze,je=+ht,Xe):je},Qe.ratio=function(ht){return arguments.length?st(Le,ze,je,Xe=+ht):Xe},Qe.scale(163.775)}function fe(){return J().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)}var de=4*M+3*I(3),Ae=2*I(2*M*I(3)/de),Ye=_e(Ae*I(3)/M,Ae,de/6);function et(){return v.geoProjection(Ye).scale(176.84)}function dt(Le,ze){return[Le*I(1-3*ze*ze/(M*M)),ze]}dt.invert=function(Le,ze){return[Le/I(1-3*ze*ze/(M*M)),ze]};function St(){return v.geoProjection(dt).scale(152.63)}function Ht(Le,ze){var je=t(ze),Xe=t(Le)*je,st=1-Xe,Qe=t(Le=e(d(Le)*je,-d(ze))),ht=d(Le);return je=I(1-Xe*Xe),[ht*je-Qe*st,-Qe*je-ht*st]}Ht.invert=function(Le,ze){var je=(Le*Le+ze*ze)/-2,Xe=I(-je*(2+je)),st=ze*je+Le*Xe,Qe=Le*je-ze*Xe,ht=I(Qe*Qe+st*st);return[e(Xe*st,ht*(1+je)),ht?-C(Xe*Qe/ht):0]};function Wt(){return v.geoProjection(Ht).rotate([0,-90,45]).scale(124.75).clipAngle(180-.001)}function fr(Le,ze){var je=ee(Le,ze);return[(je[0]+Le/A)/2,(je[1]+ze)/2]}fr.invert=function(Le,ze){var je=Le,Xe=ze,st=25;do{var Qe=t(Xe),ht=d(Xe),Dt=d(2*Xe),Ot=ht*ht,$t=Qe*Qe,ir=d(je),pr=t(je/2),zr=d(je/2),Wr=zr*zr,ia=1-$t*pr*pr,Sa=ia?F(Qe*pr)*I(ln=1/ia):ln=0,ln,an=.5*(2*Sa*Qe*zr+je/A)-Le,wn=.5*(Sa*ht+Xe)-ze,ei=.5*ln*($t*Wr+Sa*Qe*pr*Ot)+.5/A,Mi=ln*(ir*Dt/4-Sa*ht*zr),pi=.125*ln*(Dt*zr-Sa*ht*$t*ir),Ki=.5*ln*(Ot*pr+Sa*Wr*Qe)+.5,Lo=Mi*pi-Ki*ei,bo=(wn*Mi-an*Ki)/Lo,ds=(an*pi-wn*ei)/Lo;je-=bo,Xe-=ds}while((S(bo)>o||S(ds)>o)&&--st>0);return[je,Xe]};function Ar(){return v.geoProjection(fr).scale(158.837)}u.geoNaturalEarth=v.geoNaturalEarth1,u.geoNaturalEarthRaw=v.geoNaturalEarth1Raw,u.geoAiry=Y,u.geoAiryRaw=q,u.geoAitoff=te,u.geoAitoffRaw=ee,u.geoArmadillo=j,u.geoArmadilloRaw=ae,u.geoAugust=K,u.geoAugustRaw=G,u.geoBaker=$,u.geoBakerRaw=X,u.geoBerghaus=re,u.geoBerghausRaw=Q,u.geoBertin1953=Ue,u.geoBertin1953Raw=Ce,u.geoBoggs=De,u.geoBoggsRaw=be,u.geoBonne=yt,u.geoBonneRaw=ot,u.geoBottomley=It,u.geoBottomleyRaw=At,u.geoBromley=vr,u.geoBromleyRaw=Zt,u.geoChamberlin=ye,u.geoChamberlinRaw=Ee,u.geoChamberlinAfrica=he,u.geoCollignon=Fe,u.geoCollignonRaw=Ie,u.geoCraig=We,u.geoCraigRaw=He,u.geoCraster=ft,u.geoCrasterRaw=ct,u.geoCylindricalEqualArea=_t,u.geoCylindricalEqualAreaRaw=mt,u.geoCylindricalStereographic=Et,u.geoCylindricalStereographicRaw=Bt,u.geoEckert1=$r,u.geoEckert1Raw=hr,u.geoEckert2=na,u.geoEckert2Raw=ca,u.geoEckert3=pa,u.geoEckert3Raw=wa,u.geoEckert4=za,u.geoEckert4Raw=fa,u.geoEckert5=Va,u.geoEckert5Raw=Ia,u.geoEckert6=tn,u.geoEckert6Raw=Oa,u.geoEisenlohr=$n,u.geoEisenlohrRaw=oi,u.geoFahey=hi,u.geoFaheyRaw=ci,u.geoFoucaut=Jn,u.geoFoucautRaw=Pi,u.geoFoucautSinusoidal=_n,u.geoFoucautSinusoidalRaw=Ti,u.geoGilbert=Zi,u.geoGingery=Ke,u.geoGingeryRaw=un,u.geoGinzburg4=nr,u.geoGinzburg4Raw=Xt,u.geoGinzburg5=rr,u.geoGinzburg5Raw=cr,u.geoGinzburg6=xt,u.geoGinzburg6Raw=Ze,u.geoGinzburg8=er,u.geoGinzburg8Raw=Vt,u.geoGinzburg9=jr,u.geoGinzburg9Raw=Tr,u.geoGringorten=La,u.geoGringortenRaw=kr,u.geoGuyou=yo,u.geoGuyouRaw=Si,u.geoHammer=ge,u.geoHammerRaw=ue,u.geoHammerRetroazimuthal=Mo,u.geoHammerRetroazimuthalRaw=Vn,u.geoHealpix=ho,u.geoHealpixRaw=Co,u.geoHill=es,u.geoHillRaw=ro,u.geoHomolosine=po,u.geoHomolosineRaw=Yo,u.geoHufnagel=qo,u.geoHufnagelRaw=_s,u.geoHyperelliptical=qs,u.geoHyperellipticalRaw=ts,u.geoInterrupt=xl,u.geoInterruptedBoggs=Wl,u.geoInterruptedHomolosine=ls,u.geoInterruptedMollweide=Do,u.geoInterruptedMollweideHemispheres=Jl,u.geoInterruptedSinuMollweide=Ql,u.geoInterruptedSinusoidal=Uu,u.geoKavrayskiy7=$u,u.geoKavrayskiy7Raw=Xu,u.geoLagrange=_c,u.geoLagrangeRaw=fc,u.geoLarrivee=mu,u.geoLarriveeRaw=pu,u.geoLaskowski=Vs,u.geoLaskowskiRaw=eu,u.geoLittrow=sl,u.geoLittrowRaw=os,u.geoLoximuthal=ju,u.geoLoximuthalRaw=Tu,u.geoMiller=Hs,u.geoMillerRaw=bc,u.geoModifiedStereographic=ll,u.geoModifiedStereographicRaw=Af,u.geoModifiedStereographicAlaska=hc,u.geoModifiedStereographicGs48=Ll,u.geoModifiedStereographicGs50=Qc,u.geoModifiedStereographicMiller=Au,u.geoModifiedStereographicLee=Zu,u.geoMollweide=ie,u.geoMollweideRaw=ce,u.geoMtFlatPolarParabolic=Ju,u.geoMtFlatPolarParabolicRaw=Ku,u.geoMtFlatPolarQuartic=Nc,u.geoMtFlatPolarQuarticRaw=Bc,u.geoMtFlatPolarSinusoidal=xc,u.geoMtFlatPolarSinusoidalRaw=tu,u.geoNaturalEarth2=Qu,u.geoNaturalEarth2Raw=ru,u.geoNellHammer=ec,u.geoNellHammerRaw=$s,u.geoInterruptedQuarticAuthalic=us,u.geoNicolosi=Sf,u.geoNicolosiRaw=wc,u.geoPatterson=Nl,u.geoPattersonRaw=Du,u.geoPolyconic=dc,u.geoPolyconicRaw=Hu,u.geoPolyhedral=vc,u.geoPolyhedralButterfly=ws,u.geoPolyhedralCollignon=jc,u.geoPolyhedralWaterman=qc,u.geoProject=of,u.geoGringortenQuincuncial=Mt,u.geoPeirceQuincuncial=jt,u.geoPierceQuincuncial=jt,u.geoQuantize=_r,u.geoQuincuncial=Fu,u.geoRectangularPolyconic=ea,u.geoRectangularPolyconicRaw=dr,u.geoRobinson=fn,u.geoRobinsonRaw=Ga,u.geoSatellite=Wa,u.geoSatelliteRaw=qn,u.geoSinuMollweide=vs,u.geoSinuMollweideRaw=as,u.geoSinusoidal=ut,u.geoSinusoidalRaw=Ne,u.geoStitch=xs,u.geoTimes=ss,u.geoTimesRaw=bi,u.geoTwoPointAzimuthal=yu,u.geoTwoPointAzimuthalRaw=$o,u.geoTwoPointAzimuthalUsa=ul,u.geoTwoPointEquidistant=Tl,u.geoTwoPointEquidistantRaw=iu,u.geoTwoPointEquidistantUsa=zu,u.geoVanDerGrinten=Al,u.geoVanDerGrintenRaw=Eu,u.geoVanDerGrinten2=Xi,u.geoVanDerGrinten2Raw=nc,u.geoVanDerGrinten3=mf,u.geoVanDerGrinten3Raw=vo,u.geoVanDerGrinten4=ou,u.geoVanDerGrinten4Raw=kc,u.geoWagner=J,u.geoWagner7=fe,u.geoWagnerRaw=L,u.geoWagner4=et,u.geoWagner4Raw=Ye,u.geoWagner6=St,u.geoWagner6Raw=dt,u.geoWiechel=Wt,u.geoWiechelRaw=Ht,u.geoWinkel3=Ar,u.geoWinkel3Raw=fr,Object.defineProperty(u,"__esModule",{value:!0})})}}),Z4=xe({"src/plots/geo/zoom.js"(U,O){"use strict";var u=Na(),v=Sr(),w=Ci(),S=Math.PI/180,l=180/Math.PI,e={cursor:"pointer"},t={cursor:"auto"};function a(x,_){var D=x.projection,C;return _._isScoped?C=i:_._isClipped?C=c:C=s,C(x,D)}O.exports=a;function r(x,_){return u.behavior.zoom().translate(_.translate()).scaleExtent(_.scaleExtent()).scale(_.scale())}function n(x,_,D){var C=x.id,F=x.graphDiv,I=F.layout,z=I[C],R=F._fullLayout,k=R[C],B={},N={};function q(Y,ee){B[C+"."+Y]=v.nestedProperty(z,Y).get(),w.call("_storeDirectGUIEdit",I,R._preGUI,B);var te=v.nestedProperty(k,Y);te.get()!==ee&&(te.set(ee),v.nestedProperty(z,Y).set(ee),N[C+"."+Y]=ee)}D(q),q("projection.scale",_.scale()/x.fitScale),q("fitbounds",!1),F.emit("plotly_relayout",N)}function i(x,_){var D=r(x,_);function C(){u.select(this).style(e)}function F(){_.scale(u.event.scale).translate(u.event.translate),x.render(!0);var R=_.invert(x.midPt);x.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":_.scale()/x.fitScale,"geo.center.lon":R[0],"geo.center.lat":R[1]})}function I(R){var k=_.invert(x.midPt);R("center.lon",k[0]),R("center.lat",k[1])}function z(){u.select(this).style(t),n(x,_,I)}return D.on("zoomstart",C).on("zoom",F).on("zoomend",z),D}function s(x,_){var D=r(x,_),C=2,F,I,z,R,k,B,N,q,Y;function ee(H){return _.invert(H)}function te(H){var Z=ee(H);if(!Z)return!0;var X=_(Z);return Math.abs(X[0]-H[0])>C||Math.abs(X[1]-H[1])>C}function ae(){u.select(this).style(e);let{x:H,y:Z,width:X,height:$}=this.getBBox();F=u.event.sourceEvent?u.mouse(this):[H+X/2,Z+$/2],I=_.rotate(),z=_.translate(),R=I,k=ee(F)}function j(){let{x:H,y:Z,width:X,height:$}=this.getBBox();if(B=u.event.sourceEvent?u.mouse(this):[H+X/2,Z+$/2],te(F)){D.scale(_.scale()),D.translate(_.translate());return}_.scale(u.event.scale),_.translate([z[0],u.event.translate[1]]),k?ee(B)&&(q=ee(B),N=[R[0]+(q[0]-k[0]),I[1],I[2]],_.rotate(N),R=N):(F=B,k=ee(F)),Y=!0,x.render(!0);var Q=_.rotate(),re=_.invert(x.midPt);x.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":_.scale()/x.fitScale,"geo.center.lon":re[0],"geo.center.lat":re[1],"geo.projection.rotation.lon":-Q[0]})}function G(){u.select(this).style(t),Y&&n(x,_,K)}function K(H){var Z=_.rotate(),X=_.invert(x.midPt);H("projection.rotation.lon",-Z[0]),H("center.lon",X[0]),H("center.lat",X[1])}return D.on("zoomstart",ae).on("zoom",j).on("zoomend",G),D}function c(x,_){var D={r:_.rotate(),k:_.scale()},C=r(x,_),F=h(C,"zoomstart","zoom","zoomend"),I=0,z=C.on,R;C.on("zoomstart",function(){u.select(this).style(e);let{x:Y,y:ee,width:te,height:ae}=this.getBBox(),j=u.event.sourceEvent?u.mouse(this):[Y+te/2,ee+ae/2],G=_.rotate(),K=G,H=_.translate(),Z=f(G);R=p(_,j),z.call(C,"zoom",function(){let{x:X,y:$,width:Q,height:re}=this.getBBox(),ue=u.event.sourceEvent?u.mouse(this):[X+Q/2,$+re/2];if(_.scale(D.k=u.event.scale),!R)j=ue,R=p(_,j);else if(p(_,ue)){_.rotate(G).translate(H);var pe=p(_,ue),ge=y(R,pe),Te=E(d(Z,ge)),Se=D.r=o(Te,R,K);(!isFinite(Se[0])||!isFinite(Se[1])||!isFinite(Se[2]))&&(Se=K),_.rotate(Se),K=Se}B(F.of(this,arguments))}),k(F.of(this,arguments))}).on("zoomend",function(){u.select(this).style(t),z.call(C,"zoom",null),N(F.of(this,arguments)),n(x,_,q)}).on("zoom.redraw",function(){x.render(!0);var Y=_.rotate();x.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":_.scale()/x.fitScale,"geo.projection.rotation.lon":-Y[0],"geo.projection.rotation.lat":-Y[1]})});function k(Y){I++||Y({type:"zoomstart"})}function B(Y){Y({type:"zoom"})}function N(Y){--I||Y({type:"zoomend"})}function q(Y){var ee=_.rotate();Y("projection.rotation.lon",-ee[0]),Y("projection.rotation.lat",-ee[1])}return u.rebind(C,F,"on")}function p(x,_){var D=x.invert(_);return D&&isFinite(D[0])&&isFinite(D[1])&&g(D)}function f(x){var _=.5*x[0]*S,D=.5*x[1]*S,C=.5*x[2]*S,F=Math.sin(_),I=Math.cos(_),z=Math.sin(D),R=Math.cos(D),k=Math.sin(C),B=Math.cos(C);return[I*R*B+F*z*k,F*R*B-I*z*k,I*z*B+F*R*k,I*R*k-F*z*B]}function d(x,_){var D=x[0],C=x[1],F=x[2],I=x[3],z=_[0],R=_[1],k=_[2],B=_[3];return[D*z-C*R-F*k-I*B,D*R+C*z+F*B-I*k,D*k-C*B+F*z+I*R,D*B+C*k-F*R+I*z]}function y(x,_){if(!(!x||!_)){var D=m(x,_),C=Math.sqrt(T(D,D)),F=.5*Math.acos(Math.max(-1,Math.min(1,T(x,_)))),I=Math.sin(F)/C;return C&&[Math.cos(F),D[2]*I,-D[1]*I,D[0]*I]}}function o(x,_,D){var C=A(_,2,x[0]);C=A(C,1,x[1]),C=A(C,0,x[2]-D[2]);var F=_[0],I=_[1],z=_[2],R=C[0],k=C[1],B=C[2],N=Math.atan2(I,F)*l,q=Math.sqrt(F*F+I*I),Y,ee;Math.abs(k)>q?(ee=(k>0?90:-90)-N,Y=0):(ee=Math.asin(k/q)*l-N,Y=Math.sqrt(q*q-k*k));var te=180-ee-2*N,ae=(Math.atan2(B,R)-Math.atan2(z,Y))*l,j=(Math.atan2(B,R)-Math.atan2(z,-Y))*l,G=b(D[0],D[1],ee,ae),K=b(D[0],D[1],te,j);return G<=K?[ee,ae,D[2]]:[te,j,D[2]]}function b(x,_,D,C){var F=M(D-x),I=M(C-_);return Math.sqrt(F*F+I*I)}function M(x){return(x%360+540)%360-180}function A(x,_,D){var C=D*S,F=x.slice(),I=_===0?1:0,z=_===2?1:2,R=Math.cos(C),k=Math.sin(C);return F[I]=x[I]*R-x[z]*k,F[z]=x[z]*R+x[I]*k,F}function E(x){return[Math.atan2(2*(x[0]*x[1]+x[2]*x[3]),1-2*(x[1]*x[1]+x[2]*x[2]))*l,Math.asin(Math.max(-1,Math.min(1,2*(x[0]*x[2]-x[3]*x[1]))))*l,Math.atan2(2*(x[0]*x[3]+x[1]*x[2]),1-2*(x[2]*x[2]+x[3]*x[3]))*l]}function g(x){var _=x[0]*S,D=x[1]*S,C=Math.cos(D);return[C*Math.cos(_),C*Math.sin(_),Math.sin(D)]}function T(x,_){for(var D=0,C=0,F=x.length;C0&&N._module.calcGeoJSON(B,I)}if(!z){var q=this.updateProjection(F,I);if(q)return;(!this.viewInitial||this.scope!==R.scope)&&this.saveViewInitial(R)}this.scope=R.scope,this.updateBaseLayers(I,R),this.updateDims(I,R),this.updateFx(I,R),s.generalUpdatePerTraceModule(this.graphDiv,this,F,R);var Y=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=Y.selectAll(".point"),this.dataPoints.text=Y.selectAll("text"),this.dataPaths.line=Y.selectAll(".js-line");var ee=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=ee.selectAll("path"),this._render()},x.updateProjection=function(F,I){var z,R=this.graphDiv,k=I[this.id],B=I._size,N=k.domain,q=k.projection,Y=k.lonaxis,ee=k.lataxis,te=Y._ax,ae=ee._ax,j=this.projection=_(k),G=[[B.l+B.w*N.x[0],B.t+B.h*(1-N.y[1])],[B.l+B.w*N.x[1],B.t+B.h*(1-N.y[0])]],K=k.center||{},H=q.rotation||{},Z=Y.range||[],X=ee.range||[];if(k.fitbounds){if(te._length=G[1][0]-G[0][0],ae._length=G[1][1]-G[0][1],te.range=p(R,te),ae.range=p(R,ae),!this.hasChoropleth&&k.fitbounds==="locations"){for(var $=[],Q=!1,re=0;re0?(te.range[1]-te.range[0]-Ce)/2*(Se[1]-Se[0])/Ce:0;te.range=[Se[0]-Ue,Se[1]+Ue]}}}var Oe=(te.range[0]+te.range[1])/2,_e=(ae.range[0]+ae.range[1])/2;if(k._isScoped)K={lon:Oe,lat:_e};else if(k._isClipped){K={lon:Oe,lat:_e},H={lon:Oe,lat:_e,roll:H.roll};var ce=q.type,ie=M.lonaxisSpan[ce]/2||180,se=M.lataxisSpan[ce]/2||90;Z=[Oe-ie,Oe+ie],X=[_e-se,_e+se]}else K={lon:Oe,lat:_e},H={lon:Oe,lat:H.lat,roll:H.roll}}j.center([K.lon-H.lon,K.lat-H.lat]).rotate([-H.lon,-H.lat,H.roll]).parallels(q.parallels);var ne=C(Z,X);j.fitExtent(G,ne);var be=this.bounds=j.getBounds(ne),De=this.fitScale=j.scale(),qe=j.translate();if(j.scaleExtent=()=>{var It;let{minscale:Zt}=q,vr=(It=q.maxscale)!=null?It:1/0;return[De*Math.min(Zt,vr),De*Math.max(Zt,vr)]},k.fitbounds){var Ne=j.getBounds(C(te.range,ae.range)),ut=Math.min((be[1][0]-be[0][0])/(Ne[1][0]-Ne[0][0]),(be[1][1]-be[0][1])/(Ne[1][1]-Ne[0][1]));isFinite(ut)?j.scale(ut*De):t.warn("Something went wrong during"+this.id+"fitbounds computations.")}else j.scale(q.scale*De);var ot=this.midPt=[(be[0][0]+be[1][0])/2,(be[0][1]+be[1][1])/2];if(j.translate([qe[0]+(ot[0]-qe[0]),qe[1]+(ot[1]-qe[1])]).clipExtent(be),k._isAlbersUsa){var yt=j([K.lon,K.lat]);if(yt){var At=j.translate();j.translate([At[0]-(yt[0]-At[0]),At[1]-(yt[1]-At[1])])}}},x.updateBaseLayers=function(F,I){var z=this,R=z.topojson,k=z.layers,B=z.basePaths;function N(j){return j==="lonaxis"||j==="lataxis"}function q(j){return!!M.lineLayers[j]}function Y(j){return!!M.fillLayers[j]}var ee=this.hasChoropleth?M.layersForChoropleth:M.layers,te=ee.filter(function(j){return q(j)||Y(j)?I["show"+j]:N(j)?I[j].showgrid:!0}),ae=z.framework.selectAll(".layer").data(te,String);ae.exit().each(function(j){delete k[j],delete B[j],u.select(this).remove()}),ae.enter().append("g").attr("class",function(j){return"layer "+j}).each(function(j){var G=k[j]=u.select(this);j==="bg"?z.bgRect=G.append("rect").style("pointer-events","all"):N(j)?B[j]=G.append("path").style("fill","none"):j==="backplot"?G.append("g").classed("choroplethlayer",!0):j==="frontplot"?G.append("g").classed("scatterlayer",!0):q(j)?B[j]=G.append("path").style("fill","none").style("stroke-miterlimit",2):Y(j)&&(B[j]=G.append("path").style("stroke","none"))}),ae.order(),ae.each(function(j){var G=B[j],K=M.layerNameToAdjective[j];j==="frame"?G.datum(M.sphereSVG):q(j)||Y(j)?G.datum(m(R,R.objects[j])):N(j)&&G.datum(D(j,I,F)).call(r.stroke,I[j].gridcolor).call(n.dashLine,I[j].griddash,I[j].gridwidth),q(j)?G.call(r.stroke,I[K+"color"]).call(n.dashLine,"",I[K+"width"]):Y(j)&&G.call(r.fill,I[K+"color"])})},x.updateDims=function(F,I){var z=this.bounds,R=(I.framewidth||0)/2,k=z[0][0]-R,B=z[0][1]-R,N=z[1][0]-k+R,q=z[1][1]-B+R;n.setRect(this.clipRect,k,B,N,q),this.bgRect.call(n.setRect,k,B,N,q).call(r.fill,I.bgcolor),this.xaxis._offset=k,this.xaxis._length=N,this.yaxis._offset=B,this.yaxis._length=q},x.updateFx=function(F,I){var z=this,R=z.graphDiv,k=z.bgRect,B=F.dragmode,N=F.clickmode;if(z.isStatic)return;function q(){var ae=z.viewInitial,j={};for(var G in ae)j[z.id+"."+G]=ae[G];e.call("_guiRelayout",R,j),R.emit("plotly_doubleclick",null)}function Y(ae){return z.projection.invert([ae[0]+z.xaxis._offset,ae[1]+z.yaxis._offset])}var ee=function(ae,j){if(j.isRect){var G=ae.range={};G[z.id]=[Y([j.xmin,j.ymin]),Y([j.xmax,j.ymax])]}else{var K=ae.lassoPoints={};K[z.id]=j.map(Y)}},te={element:z.bgRect.node(),gd:R,plotinfo:{id:z.id,xaxis:z.xaxis,yaxis:z.yaxis,fillRangeItems:ee},xaxes:[z.xaxis],yaxes:[z.yaxis],subplot:z.id,clickFn:function(ae){ae===2&&y(R)}};if(B==="pan"){k.node().onmousedown=null;let ae=b(z,I);if(k.call(ae),!u.event){let j=z.projection.scale(),[G,K]=z.projection.scaleExtent();(jK)&&ae.event(k)}k.on("dblclick.zoom",q),R._context._scrollZoom.geo||k.on("wheel.zoom",null)}else(B==="select"||B==="lasso")&&(k.on(".zoom",null),te.prepFn=function(ae,j,G){d(ae,j,G,te,B)},f.init(te));k.on("mousemove",function(){var ae=z.projection.invert(t.getPositionFromD3Event());if(!ae)return f.unhover(R,u.event);z.xaxis.p2c=function(){return ae[0]},z.yaxis.p2c=function(){return ae[1]},i.hover(R,u.event,z.id)}),k.on("mouseout",function(){R._dragging||f.unhover(R,u.event)}),k.on("click",function(){B!=="select"&&B!=="lasso"&&(N.indexOf("select")>-1&&o(u.event,R,[z.xaxis],[z.yaxis],z.id,te),N.indexOf("event")>-1&&i.click(R,u.event))})},x.makeFramework=function(){var F=this,I=F.graphDiv,z=I._fullLayout,R="clip"+z._uid+F.id;F.clipDef=z._clips.append("clipPath").attr("id",R),F.clipRect=F.clipDef.append("rect"),F.framework=u.select(F.container).append("g").attr("class","geo "+F.id).call(n.setClipUrl,R,I),F.project=function(k){var B=F.projection(k);return B?[B[0]-F.xaxis._offset,B[1]-F.yaxis._offset]:[null,null]},F.xaxis={_id:"x",c2p:function(k){return F.project(k)[0]}},F.yaxis={_id:"y",c2p:function(k){return F.project(k)[1]}},F.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},c.setConvert(F.mockAxis,z)},x.saveViewInitial=function(F){var I=F.center||{},z=F.projection,R=z.rotation||{};this.viewInitial={fitbounds:F.fitbounds,"projection.scale":z.scale};var k;F._isScoped?k={"center.lon":I.lon,"center.lat":I.lat}:F._isClipped?k={"projection.rotation.lon":R.lon,"projection.rotation.lat":R.lat,"center.lon":I.lon,"center.lat":I.lat}:k={"center.lon":I.lon,"center.lat":I.lat,"projection.rotation.lon":R.lon},t.extendFlat(this.viewInitial,k)},x.render=function(F){this._hasMarkerAngles&&F?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()},x._render=function(){var F=this.projection,I=F.getPath(),z;function R(B){var N=F(B.lonlat);return N?a(N[0],N[1]):null}function k(B){return F.isLonLatOverEdges(B.lonlat)?"none":null}for(z in this.basePaths)this.basePaths[z].attr("d",I);for(z in this.dataPaths)this.dataPaths[z].attr("d",function(B){return I(B.geojson)});for(z in this.dataPoints)this.dataPoints[z].attr("display",k).attr("transform",R)};function _(F){var I=F.projection,z=I.type,R=M.projNames[z];R="geo"+t.titleCase(R);for(var k=v[R]||l[R],B=k(),N=F._isSatellite?Math.acos(1/I.distance)*180/Math.PI:F._isClipped?M.lonaxisSpan[z]/2:null,q=["center","rotate","parallels","clipExtent"],Y=function(ae){return ae?B:[]},ee=0;eeK}else return!1},B.getPath=function(){return w().projection(B)},B.getBounds=function(ae){return B.getPath().bounds(ae)},B.precision(M.precision),F._isSatellite&&B.tilt(I.tilt).distance(I.distance),N&&B.clipAngle(N-M.clipPad),B}function D(F,I,z){var R=1e-6,k=2.5,B=I[F],N=M.scopeDefaults[I.scope],q,Y,ee;F==="lonaxis"?(q=N.lonaxisRange,Y=N.lataxisRange,ee=function($,Q){return[$,Q]}):F==="lataxis"&&(q=N.lataxisRange,Y=N.lonaxisRange,ee=function($,Q){return[Q,$]});var te={type:"linear",range:[q[0],q[1]-R],tick0:B.tick0,dtick:B.dtick};c.setConvert(te,z);var ae=c.calcTicks(te);!I.isScoped&&F==="lonaxis"&&ae.pop();for(var j=ae.length,G=new Array(j),K=0;Kue[pe]!=null)||l.fitboundsIncompatible.has(o)?n.fitbounds=!1:Q.forEach(({dst:ue,key:pe})=>ue&&(ue[pe]=null))}}}}),t3=xe({"src/plots/geo/index.js"(U,O){"use strict";var u=df().getSubplotCalcData,v=Sr().counterRegex,w=K4(),S="geo",l=v(S),e={};e[S]={valType:"subplotid",dflt:S,editType:"calc"};function t(n){for(var i=n._fullLayout,s=n.calcdata,c=i._subplots[S],p=0;p")}}}}),i3=xe({"src/traces/choropleth/event_data.js"(U,O){"use strict";O.exports=function(v,w,S,l,e){v.location=w.location,v.z=w.z;var t=l[e];return t.fIn&&t.fIn.properties&&(v.properties=t.fIn.properties),v.ct=t.ct,v}}}),o3=xe({"src/traces/choropleth/select.js"(U,O){"use strict";O.exports=function(v,w){var S=v.cd,l=v.xaxis,e=v.yaxis,t=[],a,r,n,i,s;if(w===!1)for(a=0;a=Math.min(N,q)&&y<=Math.max(N,q)?0:1/0}if(C=Math.min(Y,ee)&&o<=Math.max(Y,ee)?0:1/0}z=Math.sqrt(C*C+F*F),h=M[D]}}}else for(D=M.length-1;D>-1;D--)m=M[D],x=f[m],_=d[m],C=c.c2p(x)-y,F=p.c2p(_)-o,I=Math.sqrt(C*C+F*F),I100},U.isDotSymbol=function(u){return typeof u=="string"?O.DOT_RE.test(u):u>200}}}),nC=xe({"src/traces/scattergl/defaults.js"(U,O){"use strict";var u=Sr(),v=Ci(),w=V1(),S=tm(),l=jh(),e=Cl(),t=_v(),a=Sh(),r=hh(),n=Eh(),i=Vh(),s=kh();O.exports=function(p,f,d,y){function o(h,x){return u.coerce(p,f,S,h,x)}var b=p.marker?w.isOpenSymbol(p.marker.symbol):!1,M=e.isBubble(p),A=t(p,f,y,o);if(!A){f.visible=!1;return}a(p,f,y,o),o("xhoverformat"),o("yhoverformat");var E=A>>1,p=t[c],f=r!==void 0?r(p,a):p-a;f>=0?(s=c,i=c-1):n=c+1}return s}function v(t,a,r,n,i){for(var s=i+1;n<=i;){var c=n+i>>>1,p=t[c],f=r!==void 0?r(p,a):p-a;f>0?(s=c,i=c-1):n=c+1}return s}function w(t,a,r,n,i){for(var s=n-1;n<=i;){var c=n+i>>>1,p=t[c],f=r!==void 0?r(p,a):p-a;f<0?(s=c,n=c+1):i=c-1}return s}function S(t,a,r,n,i){for(var s=n-1;n<=i;){var c=n+i>>>1,p=t[c],f=r!==void 0?r(p,a):p-a;f<=0?(s=c,n=c+1):i=c-1}return s}function l(t,a,r,n,i){for(;n<=i;){var s=n+i>>>1,c=t[s],p=r!==void 0?r(c,a):c-a;if(p===0)return s;p<=0?n=s+1:i=s-1}return-1}function e(t,a,r,n,i,s){return typeof r=="function"?s(t,a,r,n===void 0?0:n|0,i===void 0?t.length-1:i|0):s(t,a,void 0,r===void 0?0:r|0,n===void 0?t.length-1:n|0)}O.exports={ge:function(t,a,r,n,i){return e(t,a,r,n,i,u)},gt:function(t,a,r,n,i){return e(t,a,r,n,i,v)},lt:function(t,a,r,n,i){return e(t,a,r,n,i,w)},le:function(t,a,r,n,i){return e(t,a,r,n,i,S)},eq:function(t,a,r,n,i){return e(t,a,r,n,i,l)}}}}),Yh=xe({"node_modules/pick-by-alias/index.js"(U,O){"use strict";O.exports=function(S,l,e){var t={},a,r;if(typeof l=="string"&&(l=v(l)),Array.isArray(l)){var n={};for(r=0;r1&&(w=arguments),typeof w=="string"?w=w.split(/\s/).map(parseFloat):typeof w=="number"&&(w=[w]),w.length&&typeof w[0]=="number"?w.length===1?S={width:w[0],height:w[0],x:0,y:0}:w.length===2?S={width:w[0],height:w[1],x:0,y:0}:S={x:w[0],y:w[1],width:w[2]-w[0]||0,height:w[3]-w[1]||0}:w&&(w=u(w,{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"}),S={x:w.left||0,y:w.top||0},w.width==null?w.right?S.width=w.right-S.x:S.width=0:S.width=w.width,w.height==null?w.bottom?S.height=w.bottom-S.y:S.height=0:S.height=w.height),S}}}),Nv=xe({"node_modules/array-bounds/index.js"(U,O){"use strict";O.exports=u;function u(v,w){if(!v||v.length==null)throw Error("Argument should be an array");w==null?w=1:w=Math.floor(w);for(var S=Array(w*2),l=0;le&&(e=v[a]),v[a]>>1,M;f.dtype||(f.dtype="array"),typeof f.dtype=="string"?M=new(r(f.dtype))(b):f.dtype&&(M=f.dtype,Array.isArray(M)&&(M.length=b));for(let C=0;Cd||k>i){for(let Z=0;Zre||q>ue||Y=te||$===Q)return;let pe=A[X];Q===void 0&&(Q=pe.length);for(let ie=$;ie=z&&ne<=k&&be>=R&&be<=B&&ae.push(se)}let ge=E[X],Te=ge[$*4+0],Se=ge[$*4+1],Ce=ge[$*4+2],Ue=ge[$*4+3],Oe=G(ge,$+1),_e=Z*.5,ce=X+1;j(K,H,_e,ce,Te,Se||Ce||Ue||Oe),j(K,H+_e,_e,ce,Se,Ce||Ue||Oe),j(K+_e,H,_e,ce,Ce,Ue||Oe),j(K+_e,H+_e,_e,ce,Ue,Oe)}function G(K,H){let Z=null,X=0;for(;Z===null;)if(Z=K[H*4+X],X++,X>K.length)return null;return Z}return ae}function _(C,F,I,z,R){let k=[];for(let B=0;B1&&(p=1),p<-1&&(p=-1),c*Math.acos(p)},e=function(r,n,i,s,c,p,f,d,y,o,b,M){var A=Math.pow(c,2),E=Math.pow(p,2),g=Math.pow(b,2),T=Math.pow(M,2),m=A*E-A*T-E*g;m<0&&(m=0),m/=A*T+E*g,m=Math.sqrt(m)*(f===d?-1:1);var h=m*c/p*M,x=m*-p/c*b,_=o*h-y*x+(r+i)/2,D=y*h+o*x+(n+s)/2,C=(b-h)/c,F=(M-x)/p,I=(-b-h)/c,z=(-M-x)/p,R=l(1,0,C,F),k=l(C,F,I,z);return d===0&&k>0&&(k-=v),d===1&&k<0&&(k+=v),[_,D,R,k]},t=function(r){var n=r.px,i=r.py,s=r.cx,c=r.cy,p=r.rx,f=r.ry,d=r.xAxisRotation,y=d===void 0?0:d,o=r.largeArcFlag,b=o===void 0?0:o,M=r.sweepFlag,A=M===void 0?0:M,E=[];if(p===0||f===0)return[];var g=Math.sin(y*v/360),T=Math.cos(y*v/360),m=T*(n-s)/2+g*(i-c)/2,h=-g*(n-s)/2+T*(i-c)/2;if(m===0&&h===0)return[];p=Math.abs(p),f=Math.abs(f);var x=Math.pow(m,2)/Math.pow(p,2)+Math.pow(h,2)/Math.pow(f,2);x>1&&(p*=Math.sqrt(x),f*=Math.sqrt(x));var _=e(n,i,s,c,p,f,b,A,g,T,m,h),D=u(_,4),C=D[0],F=D[1],I=D[2],z=D[3],R=Math.abs(z)/(v/4);Math.abs(1-R)<1e-7&&(R=1);var k=Math.max(Math.ceil(R),1);z/=k;for(var B=0;B4?(a=o[o.length-4],r=o[o.length-3]):(a=p,r=f),t.push(o)}return t}function w(l,e,t,a){return["C",l,e,t,a,t,a]}function S(l,e,t,a,r,n){return["C",l/3+2/3*t,e/3+2/3*a,r/3+2/3*t,n/3+2/3*a,r,n]}}}),l3=xe({"node_modules/is-svg-path/index.js"(U,O){"use strict";O.exports=function(v){return typeof v!="string"?!1:(v=v.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(v)&&/[\dz]$/i.test(v)&&v.length>4))}}}),dC=xe({"node_modules/svg-path-bounds/index.js"(U,O){"use strict";var u=i0(),v=s3(),w=hC(),S=l3(),l=C0();O.exports=e;function e(t){if(Array.isArray(t)&&t.length===1&&typeof t[0]=="string"&&(t=t[0]),typeof t=="string"&&(l(S(t),"String is not an SVG path."),t=u(t)),l(Array.isArray(t),"Argument should be a string or an array of path segments."),t=v(t),t=w(t),!t.length)return[0,0,0,0];for(var a=[1/0,1/0,-1/0,-1/0],r=0,n=t.length;ra[2]&&(a[2]=i[s+0]),i[s+1]>a[3]&&(a[3]=i[s+1]);return a}}}),vC=xe({"node_modules/normalize-svg-path/index.js"(U,O){var u=Math.PI,v=a(120);O.exports=w;function w(r){for(var n,i=[],s=0,c=0,p=0,f=0,d=null,y=null,o=0,b=0,M=0,A=r.length;M7&&(i.push(E.splice(0,7)),E.unshift("C"));break;case"S":var T=o,m=b;(n=="C"||n=="S")&&(T+=T-s,m+=m-c),E=["C",T,m,E[1],E[2],E[3],E[4]];break;case"T":n=="Q"||n=="T"?(d=o*2-d,y=b*2-y):(d=o,y=b),E=l(o,b,d,y,E[1],E[2]);break;case"Q":d=E[1],y=E[2],E=l(o,b,E[1],E[2],E[3],E[4]);break;case"L":E=S(o,b,E[1],E[2]);break;case"H":E=S(o,b,E[1],b);break;case"V":E=S(o,b,o,E[1]);break;case"Z":E=S(o,b,p,f);break}n=g,o=E[E.length-2],b=E[E.length-1],E.length>4?(s=E[E.length-4],c=E[E.length-3]):(s=o,c=b),i.push(E)}return i}function S(r,n,i,s){return["C",r,n,i,s,i,s]}function l(r,n,i,s,c,p){return["C",r/3+2/3*i,n/3+2/3*s,c/3+2/3*i,p/3+2/3*s,c,p]}function e(r,n,i,s,c,p,f,d,y,o){if(o)_=o[0],D=o[1],h=o[2],x=o[3];else{var b=t(r,n,-c);r=b.x,n=b.y,b=t(d,y,-c),d=b.x,y=b.y;var M=(r-d)/2,A=(n-y)/2,E=M*M/(i*i)+A*A/(s*s);E>1&&(E=Math.sqrt(E),i=E*i,s=E*s);var g=i*i,T=s*s,m=(p==f?-1:1)*Math.sqrt(Math.abs((g*T-g*A*A-T*M*M)/(g*A*A+T*M*M)));m==1/0&&(m=1);var h=m*i*A/s+(r+d)/2,x=m*-s*M/i+(n+y)/2,_=Math.asin(((n-x)/s).toFixed(9)),D=Math.asin(((y-x)/s).toFixed(9));_=rD&&(_=_-u*2),!f&&D>_&&(D=D-u*2)}if(Math.abs(D-_)>v){var C=D,F=d,I=y;D=_+v*(f&&D>_?1:-1),d=h+i*Math.cos(D),y=x+s*Math.sin(D);var z=e(d,y,i,s,c,0,f,F,I,[D,C,h,x])}var R=Math.tan((D-_)/4),k=4/3*i*R,B=4/3*s*R,N=[2*r-(r+k*Math.sin(_)),2*n-(n-B*Math.cos(_)),d+k*Math.sin(D),y-B*Math.cos(D),d,y];if(o)return N;z&&(N=N.concat(z));for(var q=0;q0?t.strokeStyle="white":t.strokeStyle="black",t.lineWidth=Math.abs(d)),t.translate(c*.5,p*.5),t.scale(b,b),n()){var M=new Path2D(i);t.fill(M),d&&t.stroke(M)}else{var A=v(i);w(t,A),t.fill(),d&&t.stroke()}t.setTransform(1,0,0,1,0,0);var E=l(t,{cutoff:s.cutoff!=null?s.cutoff:.5,radius:s.radius!=null?s.radius:f*.5});return E}var r;function n(){if(r!=null)return r;var i=document.createElement("canvas").getContext("2d");if(i.canvas.width=i.canvas.height=1,!window.Path2D)return r=!1;var s=new Path2D("M0,0h1v1h-1v-1Z");i.fillStyle="black",i.fill(s);var c=i.getImageData(0,0,1,1);return r=c&&c.data&&c.data[3]===255}}}),Uv=xe({"src/traces/scattergl/convert.js"(U,O){"use strict";var u=yn(),v=gC(),w=Xd(),S=Ci(),l=Sr(),e=l.isArrayOrTypedArray,t=go(),a=fu(),r=yd().formatColor,n=Cl(),i=n0(),s=V1(),c=Zd(),p=fd().DESELECTDIM,f={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},d=Kf().appendArrayPointValue;function y(z,R){var k,B={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=z._context.plotGlPixelRatio;if(R.visible!==!0)return B;if(n.hasText(R)&&(B.text=o(z,R),B.textSel=E(z,R,R.selected),B.textUnsel=E(z,R,R.unselected)),n.hasMarkers(R)&&(B.marker=M(z,R),B.markerSel=A(z,R,R.selected),B.markerUnsel=A(z,R,R.unselected),!R.unselected&&e(R.marker.opacity))){var q=R.marker.opacity;for(B.markerUnsel.opacity=new Array(q.length),k=0;k500?"bold":"normal":z}function M(z,R){var k=R._length,B=R.marker,N={},q,Y=e(B.symbol),ee=e(B.angle),te=e(B.color),ae=e(B.line.color),j=e(B.opacity),G=e(B.size),K=e(B.line.width),H;if(Y||(H=s.isOpenSymbol(B.symbol)),Y||te||ae||j||ee){N.symbols=new Array(k),N.angles=new Array(k),N.colors=new Array(k),N.borderColors=new Array(k);var Z=B.symbol,X=B.angle,$=r(B,B.opacity,k),Q=r(B.line,B.opacity,k);if(!e(Q[0])){var re=Q;for(Q=Array(k),q=0;qc.TOO_MANY_POINTS||n.hasMarkers(R)?"rect":"round";if(ae&&R.connectgaps){var G=q[0],K=q[1];for(Y=0;Y1?te[Y]:te[0]:te,H=e(ae)?ae.length>1?ae[Y]:ae[0]:ae,Z=f[K],X=f[H],$=j?j/.8+1:0,Q=-X*$-X*.5;q.offset[Y]=[Z*$/G,Q/G]}}return q}O.exports={style:y,markerStyle:M,markerSelection:A,linePositions:C,errorBarPositions:F,textPosition:I}}}),u3=xe({"src/traces/scattergl/scene_update.js"(U,O){"use strict";var u=Sr();O.exports=function(w,S){var l=S._scene,e={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},t={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return S._scene||(l=S._scene={},l.init=function(){u.extendFlat(l,t,e)},l.init(),l.update=function(r){var n=u.repeat(r,l.count);if(l.fill2d&&l.fill2d.update(n),l.scatter2d&&l.scatter2d.update(n),l.line2d&&l.line2d.update(n),l.error2d&&l.error2d.update(n.concat(n)),l.select2d&&l.select2d.update(n),l.glText)for(var i=0;i=p,h=T*2,x={},_,D=A.makeCalcdata(b,"x"),C=E.makeCalcdata(b,"y"),F=l(b,A,"x",D),I=l(b,E,"y",C),z=F.vals,R=I.vals;b._x=z,b._y=R,b.xperiodalignment&&(b._origX=D,b._xStarts=F.starts,b._xEnds=F.ends),b.yperiodalignment&&(b._origY=C,b._yStarts=I.starts,b._yEnds=I.ends);var k=new Array(h),B=new Array(T);for(_=0;_1&&v.extendFlat(g.line,i.linePositions(y,b,M)),g.errorX||g.errorY){var T=i.errorBarPositions(y,b,M,A,E);g.errorX&&v.extendFlat(g.errorX,T.x),g.errorY&&v.extendFlat(g.errorY,T.y)}return g.text&&(v.extendFlat(g.text,{positions:M},i.textPosition(y,b,g.text,g.marker)),v.extendFlat(g.textSel,{positions:M},i.textPosition(y,b,g.text,g.markerSel)),v.extendFlat(g.textUnsel,{positions:M},i.textPosition(y,b,g.text,g.markerUnsel))),g}}}),c3=xe({"src/traces/scattergl/edit_style.js"(U,O){"use strict";var u=Sr(),v=wi(),w=fd().DESELECTDIM;function S(l){var e=l[0],t=e.trace,a=e.t,r=a._scene,n=a.index,i=r.selectBatch[n],s=r.unselectBatch[n],c=r.textOptions[n],p=r.textSelectedOptions[n]||{},f=r.textUnselectedOptions[n]||{},d=u.extendFlat({},c),y,o;if(i.length||s.length){var b=p.color,M=f.color,A=c.color,E=u.isArrayOrTypedArray(A);for(d.color=new Array(t._length),y=0;y>>24,t=(S&16711680)>>>16,a=(S&65280)>>>8,r=S&255;return l===!1?[e,t,a,r]:[e/255,t/255,a/255,r/255]}}}),cc=xe({"node_modules/object-assign/index.js"(U,O){"use strict";var u=Object.getOwnPropertySymbols,v=Object.prototype.hasOwnProperty,w=Object.prototype.propertyIsEnumerable;function S(e){if(e==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function l(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de",Object.getOwnPropertyNames(e)[0]==="5")return!1;for(var t={},a=0;a<10;a++)t["_"+String.fromCharCode(a)]=a;var r=Object.getOwnPropertyNames(t).map(function(i){return t[i]});if(r.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}}O.exports=l()?Object.assign:function(e,t){for(var a,r=S(e),n,i=1;ix.length)&&(_=x.length);for(var D=0,C=new Array(_);D<_;D++)C[D]=x[D];return C}function r(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function n(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=Xd(),s=Nv(),c=bC(),p=H1(),f=cc(),d=xC(),y=Yh(),o=h3(),b=Ov(),M=wC(),A=G1(),E=Dp(),g=T;function T(x,_){var D=this;if(!(this instanceof T))return new T(x,_);typeof x=="function"?(_||(_={}),_.regl=x):(_=x,x=null),_&&_.length&&(_.positions=_),x=_.regl;var C=x._gl,F,I=[],z={},R=[],k=[null],B=[null],N=255,q=100;this.tooManyColors=M,F=x.texture({data:new Uint8Array(N*4),width:N,height:1,type:"uint8",format:"rgba",wrapS:"clamp",wrapT:"clamp",mag:"nearest",min:"nearest"}),f(this,{regl:x,gl:C,groups:R,markerCache:B,markerTextures:k,palette:I,paletteIds:z,paletteTexture:F,maxColors:N,maxSize:q,canvas:C.canvas}),this.update(_);var Y={uniforms:{constPointSize:!!_.constPointSize,opacity:x.prop("opacity"),paletteSize:function(j,G){return[D.tooManyColors?0:N,F.height]},pixelRatio:x.context("pixelRatio"),scale:x.prop("scale"),scaleFract:x.prop("scaleFract"),translate:x.prop("translate"),translateFract:x.prop("translateFract"),markerTexture:x.prop("markerTexture"),paletteTexture:F},attributes:{x:function(j,G){return G.xAttr||{buffer:G.positionBuffer,stride:8,offset:0}},y:function(j,G){return G.yAttr||{buffer:G.positionBuffer,stride:8,offset:4}},xFract:function(j,G){return G.xAttr?{constant:[0,0]}:{buffer:G.positionFractBuffer,stride:8,offset:0}},yFract:function(j,G){return G.yAttr?{constant:[0,0]}:{buffer:G.positionFractBuffer,stride:8,offset:4}},size:function(j,G){return G.size.length?{buffer:G.sizeBuffer,stride:2,offset:0}:{constant:[Math.round(G.size*255/D.maxSize)]}},borderSize:function(j,G){return G.borderSize.length?{buffer:G.sizeBuffer,stride:2,offset:1}:{constant:[Math.round(G.borderSize*255/D.maxSize)]}},colorId:function(j,G){return G.color.length?{buffer:G.colorBuffer,stride:D.tooManyColors?8:4,offset:0}:{constant:D.tooManyColors?I.slice(G.color*4,G.color*4+4):[G.color]}},borderColorId:function(j,G){return G.borderColor.length?{buffer:G.colorBuffer,stride:D.tooManyColors?8:4,offset:D.tooManyColors?4:2}:{constant:D.tooManyColors?I.slice(G.borderColor*4,G.borderColor*4+4):[G.borderColor]}},isActive:function(j,G){return G.activation===!0?{constant:[1]}:G.activation?G.activation:{constant:[0]}}},blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},scissor:{enable:!0,box:x.prop("viewport")},viewport:x.prop("viewport"),stencil:{enable:!1},depth:{enable:!1},elements:x.prop("elements"),count:x.prop("count"),offset:x.prop("offset"),primitive:"points"},ee=f({},Y);ee.frag=d([`precision highp float; #define GLSLIFY 1 -attribute vec3 position, nextPosition; -attribute float arcLength, lineWidth; -attribute vec4 color; +uniform float opacity; +uniform sampler2D markerTexture; -uniform vec2 screenShape; -uniform float pixelRatio; -uniform mat4 model, view, projection; - -varying vec4 fragColor; -varying vec3 worldPosition; -varying float pixelArcLength; - -vec4 project(vec3 p) { - return projection * (view * (model * vec4(p, 1.0))); -} - -void main() { - vec4 startPoint = project(position); - vec4 endPoint = project(nextPosition); - - vec2 A = startPoint.xy / startPoint.w; - vec2 B = endPoint.xy / endPoint.w; - - float clipAngle = atan( - (B.y - A.y) * screenShape.y, - (B.x - A.x) * screenShape.x - ); - - vec2 offset = 0.5 * pixelRatio * lineWidth * vec2( - sin(clipAngle), - -cos(clipAngle) - ) / screenShape; - - gl_Position = vec4(startPoint.xy + startPoint.w * offset, startPoint.zw); - - worldPosition = position; - pixelArcLength = arcLength; - fragColor = color; -} -`]),a=o([`precision highp float; -#define GLSLIFY 1 - -bool outOfRange(float a, float b, float p) { - return ((p > max(a, b)) || - (p < min(a, b))); -} - -bool outOfRange(vec2 a, vec2 b, vec2 p) { - return (outOfRange(a.x, b.x, p.x) || - outOfRange(a.y, b.y, p.y)); -} - -bool outOfRange(vec3 a, vec3 b, vec3 p) { - return (outOfRange(a.x, b.x, p.x) || - outOfRange(a.y, b.y, p.y) || - outOfRange(a.z, b.z, p.z)); -} - -bool outOfRange(vec4 a, vec4 b, vec4 p) { - return outOfRange(a.xyz, b.xyz, p.xyz); -} - -uniform vec3 clipBounds[2]; -uniform sampler2D dashTexture; -uniform float dashScale; -uniform float opacity; - -varying vec3 worldPosition; -varying float pixelArcLength; -varying vec4 fragColor; - -void main() { - if ( - outOfRange(clipBounds[0], clipBounds[1], worldPosition) || - fragColor.a * opacity == 0. - ) discard; - - float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r; - if(dashWeight < 0.5) { - discard; - } - gl_FragColor = fragColor * opacity; -} -`]),s=o([`precision highp float; -#define GLSLIFY 1 - -#define FLOAT_MAX 1.70141184e38 -#define FLOAT_MIN 1.17549435e-38 - -// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl -vec4 packFloat(float v) { - float av = abs(v); - - //Handle special cases - if(av < FLOAT_MIN) { - return vec4(0.0, 0.0, 0.0, 0.0); - } else if(v > FLOAT_MAX) { - return vec4(127.0, 128.0, 0.0, 0.0) / 255.0; - } else if(v < -FLOAT_MAX) { - return vec4(255.0, 128.0, 0.0, 0.0) / 255.0; - } - - vec4 c = vec4(0,0,0,0); - - //Compute exponent and mantissa - float e = floor(log2(av)); - float m = av * pow(2.0, -e) - 1.0; - - //Unpack mantissa - c[1] = floor(128.0 * m); - m -= c[1] / 128.0; - c[2] = floor(32768.0 * m); - m -= c[2] / 32768.0; - c[3] = floor(8388608.0 * m); - - //Unpack exponent - float ebias = e + 127.0; - c[0] = floor(ebias / 2.0); - ebias -= c[0] * 2.0; - c[1] += floor(ebias) * 128.0; - - //Unpack sign bit - c[0] += 128.0 * step(0.0, -v); - - //Scale back to range - return c / 255.0; -} - -bool outOfRange(float a, float b, float p) { - return ((p > max(a, b)) || - (p < min(a, b))); -} - -bool outOfRange(vec2 a, vec2 b, vec2 p) { - return (outOfRange(a.x, b.x, p.x) || - outOfRange(a.y, b.y, p.y)); -} - -bool outOfRange(vec3 a, vec3 b, vec3 p) { - return (outOfRange(a.x, b.x, p.x) || - outOfRange(a.y, b.y, p.y) || - outOfRange(a.z, b.z, p.z)); -} - -bool outOfRange(vec4 a, vec4 b, vec4 p) { - return outOfRange(a.xyz, b.xyz, p.xyz); -} - -uniform float pickId; -uniform vec3 clipBounds[2]; - -varying vec3 worldPosition; -varying float pixelArcLength; -varying vec4 fragColor; - -void main() { - if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard; - - gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz); -}`]),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 i(c,n,a,null,h)},t.createPickShader=function(c){return i(c,n,s,null,h)}},7352:function(e,t,r){"use strict";var o=r(5721),i=r(4750),n=r(2690);e.exports=a;function a(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?i(s):n(s,c)}},7399:function(e){e.exports=t;function t(r,o){var i=o[0],n=o[1],a=o[2],s=o[3],h=i+i,c=n+n,m=a+a,d=i*h,T=n*h,l=n*c,_=a*h,w=a*c,A=a*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-d-A,r[6]=w+M,r[7]=0,r[8]=_+g,r[9]=w-M,r[10]=1-d-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,i){return r[0]=Math.max(o[0],i[0]),r[1]=Math.max(o[1],i[1]),r[2]=Math.max(o[2],i[2]),r}},7442:function(e,t,r){var o=r(6658),i=r(7182),n=r(2652),a=r(9921),s=r(8648),h=T(),c=T(),m=T();e.exports=d;function d(w,A,M,g){if(a(A)===0||a(M)===0)return!1;var b=n(A,h.translate,h.scale,h.skew,h.perspective,h.quaternion),v=n(M,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!b||!v?!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),i(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=d,t.fromByteArray=_;for(var r=[],o=[],i=typeof Uint8Array<"u"?Uint8Array:Array,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,s=n.length;a0)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 d(w){var A,M=h(w),g=M[0],b=M[1],v=new i(m(w,g,b)),u=0,y=b>0?g-4:g,f;for(f=0;f>16&255,v[u++]=A>>8&255,v[u++]=A&255;return b===2&&(A=o[w.charCodeAt(f)]<<2|o[w.charCodeAt(f+1)]>>4,v[u++]=A&255),b===1&&(A=o[w.charCodeAt(f)]<<10|o[w.charCodeAt(f+1)]<<4|o[w.charCodeAt(f+2)]>>2,v[u++]=A>>8&255,v[u++]=A&255),v}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=[],v=A;vy?y:u+v));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 i(s,h,c,m,d,T){this.location=s,this.dimension=h,this.a=c,this.b=m,this.c=d,this.d=T}i.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 i=Math.random()*2*Math.PI,n=Math.random()*2-1,a=Math.sqrt(1-n*n)*o;return r[0]=Math.cos(i)*a,r[1]=Math.sin(i)*a,r[2]=n*o,r}},7640:function(e,t,r){"use strict";var o=r(1888);function i(d){switch(d){case"uint32":return[o.mallocUint32,o.freeUint32];default:return null}}var n={"uint32,1,0":function(d,T){return function(_,w,A,M,g,b,v,u,y,f,R){var L,z,F,N=_*g+M,B,I=d(u),U,O,X,J;for(L=_+1;L<=w;++L){for(z=L,N+=g,F=N,U=0,O=N,B=0;B_;){U=0,O=F-g;t:for(B=0;BJ)break t;O+=f,U+=R}for(U=F,O=F-g,B=0;B>1,I=B-z,U=B+z,O=F,X=I,J=B,se=U,le=N,ce=w+1,q=A-1,Z=!0,ee,V,oe,ie,j,Q,re,ue,_e,we=0,Re=0,ze=0,Xe,tt,it,et,nt,Ae,me,fe,Be,Qe,at,$e,It,Pt,Vt,Wt,Cr=y,yr=T(Cr),qr=T(Cr);tt=b*O,it=b*X,Wt=g;e:for(Xe=0;Xe0){V=O,O=X,X=V;break e}if(ze<0)break e;Wt+=R}tt=b*se,it=b*le,Wt=g;e:for(Xe=0;Xe0){V=se,se=le,le=V;break e}if(ze<0)break e;Wt+=R}tt=b*O,it=b*J,Wt=g;e:for(Xe=0;Xe0){V=O,O=J,J=V;break e}if(ze<0)break e;Wt+=R}tt=b*X,it=b*J,Wt=g;e:for(Xe=0;Xe0){V=X,X=J,J=V;break e}if(ze<0)break e;Wt+=R}tt=b*O,it=b*se,Wt=g;e:for(Xe=0;Xe0){V=O,O=se,se=V;break e}if(ze<0)break e;Wt+=R}tt=b*J,it=b*se,Wt=g;e:for(Xe=0;Xe0){V=J,J=se,se=V;break e}if(ze<0)break e;Wt+=R}tt=b*X,it=b*le,Wt=g;e:for(Xe=0;Xe0){V=X,X=le,le=V;break e}if(ze<0)break e;Wt+=R}tt=b*X,it=b*J,Wt=g;e:for(Xe=0;Xe0){V=X,X=J,J=V;break e}if(ze<0)break e;Wt+=R}tt=b*se,it=b*le,Wt=g;e:for(Xe=0;Xe0){V=se,se=le,le=V;break e}if(ze<0)break e;Wt+=R}for(tt=b*O,it=b*X,et=b*J,nt=b*se,Ae=b*le,me=b*F,fe=b*B,Be=b*N,Vt=0,Wt=g,Xe=0;Xe0)q--;else if(ze<0){for(tt=b*Q,it=b*ce,et=b*q,Wt=g,Xe=0;Xe0)for(;;){re=g+q*b,Vt=0;e:for(Xe=0;Xe0){if(--qN){e:for(;;){for(re=g+ce*b,Vt=0,Wt=g,Xe=0;Xe1&&_?A(l,_[0],_[1]):A(l)}var c={"uint32,1,0":function(d,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,v=M[1]|0,u=A[1]|0,y=v,f=v,R=1;b<=32?d(0,b-1,_,w,g,v,b,u,y,f,R):T(0,b-1,_,w,g,v,b,u,y,f,R)}}};function m(d,T){var l=[T,d].join(","),_=c[l],w=a(d,T),A=h(d,T,w);return _(w,A)}e.exports=m},7642:function(e,t,r){"use strict";var o=r(8954),i=r(1682);e.exports=h;function n(c,m){this.point=c,this.index=m}function a(c,m){for(var d=c.point,T=m.point,l=d.length,_=0;_=2)return!1;F[B]=I}return!0}):z=z.filter(function(F){for(var N=0;N<=T;++N){var B=y[F[N]];if(B<0)return!1;F[N]=B}return!0}),T&1)for(var w=0;w",U="",O=I.length,X=U.length,J=F[0]===_||F[0]===M,se=0,le=-X;se>-1&&(se=N.indexOf(I,se),!(se===-1||(le=N.indexOf(U,se+O),le===-1)||le<=se));){for(var ce=se;ce=le)B[ce]=null,N=N.substr(0,ce)+" "+N.substr(ce+1);else if(B[ce]!==null){var q=B[ce].indexOf(F[0]);q===-1?B[ce]+=F:J&&(B[ce]=B[ce].substr(0,q+1)+(1+parseInt(B[ce][q+1]))+B[ce].substr(q+2))}var Z=se+O,ee=N.substr(Z,le-Z),V=ee.indexOf(I);V!==-1?se=V:se=le+X}return B}function v(z,F,N){for(var B=F.textAlign||"start",I=F.textBaseline||"alphabetic",U=[1<<30,1<<30],O=[0,0],X=z.length,J=0;J/g,` -`):N=N.replace(/\/g," ");var O="",X=[];for(j=0;j-1?parseInt(fe[1+at]):0,Pt=$e>-1?parseInt(Be[1+$e]):0;It!==Pt&&(Qe=Qe.replace(ze(),"?px "),ue*=Math.pow(.75,Pt-It),Qe=Qe.replace("?px ",ze())),re+=.25*q*(Pt-It)}if(U.superscripts===!0){var Vt=fe.indexOf(_),Wt=Be.indexOf(_),Cr=Vt>-1?parseInt(fe[1+Vt]):0,yr=Wt>-1?parseInt(Be[1+Wt]):0;Cr!==yr&&(Qe=Qe.replace(ze(),"?px "),ue*=Math.pow(.75,yr-Cr),Qe=Qe.replace("?px ",ze())),re-=.25*q*(yr-Cr)}if(U.bolds===!0){var qr=fe.indexOf(m)>-1,Mr=Be.indexOf(m)>-1;!qr&&Mr&&(Dr?Qe=Qe.replace("italic ","italic bold "):Qe="bold "+Qe),qr&&!Mr&&(Qe=Qe.replace("bold ",""))}if(U.italics===!0){var Dr=fe.indexOf(T)>-1,xt=Be.indexOf(T)>-1;!Dr&&xt&&(Qe="italic "+Qe),Dr&&!xt&&(Qe=Qe.replace("italic ",""))}F.font=Qe}for(ie=0;ie0&&(I=B.size),B.lineSpacing&&B.lineSpacing>0&&(U=B.lineSpacing),B.styletags&&B.styletags.breaklines&&(O.breaklines=!!B.styletags.breaklines),B.styletags&&B.styletags.bolds&&(O.bolds=!!B.styletags.bolds),B.styletags&&B.styletags.italics&&(O.italics=!!B.styletags.italics),B.styletags&&B.styletags.subscripts&&(O.subscripts=!!B.styletags.subscripts),B.styletags&&B.styletags.superscripts&&(O.superscripts=!!B.styletags.superscripts)),N.font=[B.fontStyle,B.fontVariant,B.fontWeight,I+"px",B.font].filter(function(J){return J}).join(" "),N.textAlign="start",N.textBaseline="alphabetic",N.direction="ltr";var X=u(F,N,z,I,U,O);return R(X,B,I)}},7721:function(e,t,r){"use strict";var o=r(5716);e.exports=i;function i(n){return o(n[0])*o(n[1])}},7765:function(e,t,r){"use strict";e.exports=l;var o=r(9618),i=r(1888),n=r(446),a=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),v=c(_,M),u=m(v,w,b,+A),y=d(v,w.length|0),f=a(M)(_,v.data,y,b),R=T(v),L=[].slice.call(u.data,0,u.shape[0]);return i.free(b),i.free(v.data),i.free(u.data),i.free(y),{cells:f,vertexIds:R,vertexWeights:L}}},7766:function(e,t,r){"use strict";var o=r(9618),i=r(5298),n=r(1888);e.exports=u;var a=null,s=null,h=null;function c(y){a=[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 d=function(y,f){i.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,B=[this._wrapS,this._wrapT];Object.defineProperties(B,[{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=B;var I=[this._shape[0],this._shape[1]];Object.defineProperties(I,[{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=I}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&&a.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&&a.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,B){var I=B.dtype,U=B.shape.slice();if(U.length<2||U.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var O=0,X=0,J=w(U,B.stride.slice());I==="float32"?O=y.FLOAT:I==="float64"?(O=y.FLOAT,J=!1,I="float32"):I==="uint8"?O=y.UNSIGNED_BYTE:(O=y.UNSIGNED_BYTE,J=!1,I="uint8");var se=1;if(U.length===2)X=y.LUMINANCE,U=[U[0],U[1],1],B=o(B.data,U,[B.stride[0],B.stride[1],1],B.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=B.size,ce=N.indexOf(L)<0;if(ce&&N.push(L),O===F&&J)B.offset===0&&B.data.length===le?ce?y.texImage2D(y.TEXTURE_2D,L,z,U[0],U[1],0,z,F,B.data):y.texSubImage2D(y.TEXTURE_2D,L,f,R,U[0],U[1],z,F,B.data):ce?y.texImage2D(y.TEXTURE_2D,L,z,U[0],U[1],0,z,F,B.data.subarray(B.offset,B.offset+le)):y.texSubImage2D(y.TEXTURE_2D,L,f,R,U[0],U[1],z,F,B.data.subarray(B.offset,B.offset+le));else{var q;F===y.FLOAT?q=n.mallocFloat32(le):q=n.mallocUint8(le);var Z=o(q,U,[U[2],U[2]*U[0],1]);O===y.FLOAT&&F===y.UNSIGNED_BYTE?d(Z,B):i.assign(Z,B),ce?y.texImage2D(y.TEXTURE_2D,L,z,U[0],U[1],0,z,F,q.subarray(0,le)):y.texSubImage2D(y.TEXTURE_2D,L,f,R,U[0],U[1],z,F,q.subarray(0,le)),F===y.FLOAT?n.freeFloat32(q):n.freeUint8(q)}}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 v(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 B=0;if(L.length===2)B=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)B=y.ALPHA;else if(L[2]===2)B=y.LUMINANCE_ALPHA;else if(L[2]===3)B=y.RGB;else if(L[2]===4)B=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 I,U,O=f.size;if(F)f.offset===0&&f.data.length===O?I=f.data:I=f.data.subarray(f.offset,f.offset+O);else{var X=[L[2],L[2]*L[0],1];U=n.malloc(O,R);var J=o(U,L,X,0);(R==="float32"||R==="float64")&&N===y.UNSIGNED_BYTE?d(J,f):i.assign(J,f),I=U.subarray(0,O)}var se=M(y);return y.texImage2D(y.TEXTURE_2D,0,B,L[0],L[1],0,B,N,I),F||n.free(U),new l(y,se,L[0],L[1],B,N)}function u(y){if(arguments.length<=1)throw new Error("gl-texture2d: Missing arguments for texture2d constructor");if(a||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 v(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),i=r(9970),n=["xyz","xzy","yxz","yzx","zxy","zyx"],a=function(A,M,g,b){for(var v=A.points,u=A.velocities,y=A.divergences,f=[],R=[],L=[],z=[],F=[],N=[],B=0,I=0,U=i.create(),O=i.create(),X=8,J=0;J0)for(var q=0;qM)return b-1}return b},c=function(A,M,g){return Ag?g:A},m=function(A,M,g){var b=M.vectors,v=M.meshgrid,u=A[0],y=A[1],f=A[2],R=v[0].length,L=v[1].length,z=v[2].length,F=h(v[0],u),N=h(v[1],y),B=h(v[2],f),I=F+1,U=N+1,O=B+1;if(F=c(F,0,R-1),I=c(I,0,R-1),N=c(N,0,L-1),U=c(U,0,L-1),B=c(B,0,z-1),O=c(O,0,z-1),F<0||N<0||B<0||I>R-1||U>L-1||O>z-1)return o.create();var X=v[0][F],J=v[0][I],se=v[1][N],le=v[1][U],ce=v[2][B],q=v[2][O],Z=(u-X)/(J-X),ee=(y-se)/(le-se),V=(f-ce)/(q-ce);isFinite(Z)||(Z=.5),isFinite(ee)||(ee=.5),isFinite(V)||(V=.5);var oe,ie,j,Q,re,ue;switch(g.reversedX&&(F=R-1-F,I=R-1-I),g.reversedY&&(N=L-1-N,U=L-1-U),g.reversedZ&&(B=z-1-B,O=z-1-O),g.filled){case 5:re=B,ue=O,j=N*z,Q=U*z,oe=F*z*L,ie=I*z*L;break;case 4:re=B,ue=O,oe=F*z,ie=I*z,j=N*z*R,Q=U*z*R;break;case 3:j=N,Q=U,re=B*L,ue=O*L,oe=F*L*z,ie=I*L*z;break;case 2:j=N,Q=U,oe=F*L,ie=I*L,re=B*L*R,ue=O*L*R;break;case 1:oe=F,ie=I,re=B*R,ue=O*R,j=N*R*z,Q=U*R*z;break;default:oe=F,ie=I,j=N*R,Q=U*R,re=B*R*L,ue=O*R*L;break}var _e=b[oe+j+re],we=b[oe+j+ue],Re=b[oe+Q+re],ze=b[oe+Q+ue],Xe=b[ie+j+re],tt=b[ie+j+ue],it=b[ie+Q+re],et=b[ie+Q+ue],nt=o.create(),Ae=o.create(),me=o.create(),fe=o.create();o.lerp(nt,_e,Xe,Z),o.lerp(Ae,we,tt,Z),o.lerp(me,Re,it,Z),o.lerp(fe,ze,et,Z);var Be=o.create(),Qe=o.create();o.lerp(Be,nt,me,ee),o.lerp(Qe,Ae,fe,ee);var at=o.create();return o.lerp(at,Be,Qe,V),at},d=function(A,M){var g=M[0],b=M[1],v=M[2];return A[0]=g<0?-g:g,A[1]=b<0?-b:b,A[2]=v<0?-v:v,A},T=function(A){var M=1/0;A.sort(function(u,y){return u-y});for(var g=A.length,b=1;bI||etU||ntO)},J=o.distance(M[0],M[1]),se=10*J/b,le=se*se,ce=1,q=0,Z=g.length;Z>1&&(ce=l(g));for(var ee=0;eeq&&(q=_e),re.push(_e),z.push({points:oe,velocities:ie,divergences:re});for(var we=0;wele&&o.scale(Re,Re,se/Math.sqrt(ze)),o.add(Re,Re,V),j=R(Re),o.squaredDistance(Q,Re)-le>-1e-4*le){oe.push(Re),Q=Re,ie.push(j);var ue=L(Re,j),_e=o.length(ue);isFinite(_e)&&_e>q&&(q=_e),re.push(_e)}V=Re}}var Xe=s(z,A.colormap,q,ce);return u?Xe.tubeScale=u:(q===0&&(q=1),Xe.tubeScale=v*.5*ce/q),Xe};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),i=r(1533),n=r(2651),a=r(6768),s=r(869),h=r(8697);e.exports=c;function c(m,d){if(o(m))return d?h(m,c(d)):[m[0].clone(),m[1].clone()];var T=0,l,_;if(i(m))l=m.clone();else if(typeof m=="string")l=a(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(d))l.mul(d[1]),_=d[0].clone();else if(i(d))_=d.clone();else if(typeof d=="string")_=a(d);else if(!d)_=n(1);else if(d===Math.floor(d))_=n(d);else{for(;d!==Math.floor(d);)d=d*Math.pow(2,256),T+=256;_=n(d)}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 i=o[0]-r[0],n=o[1]-r[1],a=o[2]-r[2],s=o[3]-r[3];return i*i+n*n+a*a+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,d,T,l,_,w,A){for(var M=2*m,g=M*T,b=g,v=T,u=d,y=m+d,f=T;l>f;++f,g+=M){var R=_[g+u];if(R===A)if(v===f)v+=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[v],w[v++]=F}}return v}function i(m,d,T,l,_,w,A){for(var M=2*m,g=M*T,b=g,v=T,u=d,y=m+d,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[v],w[v++]=F}}return v}function n(m,d,T,l,_,w,A){for(var M=2*m,g=M*T,b=g,v=T,u=d,y=m+d,f=T;l>f;++f,g+=M){var R=_[g+y];if(R<=A)if(v===f)v+=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[v],w[v++]=F}}return v}function a(m,d,T,l,_,w,A){for(var M=2*m,g=M*T,b=g,v=T,u=d,y=m+d,f=T;l>f;++f,g+=M){var R=_[g+y];if(R<=A)if(v===f)v+=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[v],w[v++]=F}}return v}function s(m,d,T,l,_,w,A){for(var M=2*m,g=M*T,b=g,v=T,u=d,y=m+d,f=T;l>f;++f,g+=M){var R=_[g+u],L=_[g+y];if(R<=A&&A<=L)if(v===f)v+=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[v],w[v++]=N}}return v}function h(m,d,T,l,_,w,A){for(var M=2*m,g=M*T,b=g,v=T,u=d,y=m+d,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[v],w[v++]=N}}return v}function c(m,d,T,l,_,w,A,M){for(var g=2*m,b=g*T,v=b,u=T,y=d,f=m+d,R=T;l>R;++R,b+=g){var L=_[b+y],z=_[b+f];if(!(L>=A)&&!(M>=z))if(u===R)u+=1,v+=g;else{for(var F=0;g>F;++F){var N=_[b+F];_[b+F]=_[v],_[v++]=N}var B=w[R];w[R]=w[u],w[u++]=B}}return u}},8107:function(e){e.exports=t;function t(r,o,i){return r[0]=Math.min(o[0],i[0]),r[1]=Math.min(o[1],i[1]),r[2]=Math.min(o[2],i[2]),r}},8116:function(e,t,r){"use strict";var o=r(7518),i=r(870);function n(s){this.bindVertexArrayOES=s.bindVertexArray.bind(s),this.createVertexArrayOES=s.createVertexArray.bind(s),this.deleteVertexArrayOES=s.deleteVertexArray.bind(s)}function a(s,h,c,m){var d=s.createVertexArray?new n(s):s.getExtension("OES_vertex_array_object"),T;return d?T=o(s,d):T=i(s),T.update(h,c,m),T}e.exports=a},8192:function(e,t,r){e.exports=a;var o=r(2825),i=r(3536),n=r(244);function a(s,h){var c=o(s[0],s[1],s[2]),m=o(h[0],h[1],h[2]);i(c,c),i(m,m);var d=n(c,m);return d>1?0:Math.acos(d)}},8210:function(e){"use strict";e.exports=r;function t(o,i){var n=o+i,a=n-o,s=n-a,h=i-a,c=o-s,m=c+h;return m?[m,n]:[n]}function r(o,i){var n=o.length|0,a=i.length|0;if(n===1&&a===1)return t(o[0],i[0]);var s=n+a,h=new Array(s),c=0,m=0,d=0,T=Math.abs,l=o[m],_=T(l),w=i[d],A=T(w),M,g;_=a?(M=l,m+=1,mc)for(var R=h[l],L=1/Math.sqrt(v*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(i,n,a){for(var s=i.length,h=new Array(s),c=a===void 0?o:a,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),i=r(2762),n=r(8116),a=r(1888),s=r(6760),h=r(1283),c=r(9366),m=r(5964),d=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],T=ArrayBuffer,l=DataView;function _(V){return T.isView(V)&&!(V instanceof l)}function w(V){return Array.isArray(V)||_(V)}e.exports=ee;function A(V,oe){var ie=V[0],j=V[1],Q=V[2],re=V[3];return V[0]=oe[0]*ie+oe[4]*j+oe[8]*Q+oe[12]*re,V[1]=oe[1]*ie+oe[5]*j+oe[9]*Q+oe[13]*re,V[2]=oe[2]*ie+oe[6]*j+oe[10]*Q+oe[14]*re,V[3]=oe[3]*ie+oe[7]*j+oe[11]*Q+oe[15]*re,V}function M(V,oe,ie,j){return A(j,j,ie),A(j,j,oe),A(j,j,V)}function g(V,oe){this.index=V,this.dataCoordinate=this.position=oe}function b(V){return V===!0||V>1?1:V}function v(V,oe,ie,j,Q,re,ue,_e,we,Re,ze,Xe){this.gl=V,this.pixelRatio=1,this.shader=oe,this.orthoShader=ie,this.projectShader=j,this.pointBuffer=Q,this.colorBuffer=re,this.glyphBuffer=ue,this.idBuffer=_e,this.vao=we,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=Re,this.pickOrthoShader=ze,this.pickProjectShader=Xe,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=v.prototype;u.pickSlots=1,u.setPickBase=function(V){this.pickId=V},u.isTransparent=function(){if(this.hasAlpha)return!0;for(var V=0;V<3;++V)if(this.axesProject[V]&&this.projectHasAlpha)return!0;return!1},u.isOpaque=function(){if(!this.hasAlpha)return!0;for(var V=0;V<3;++V)if(this.axesProject[V]&&!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=d.slice(),N=[0,0,0],B=[[0,0,0],[0,0,0]];function I(V){return V[0]=V[1]=V[2]=0,V}function U(V,oe){return V[0]=oe[0],V[1]=oe[1],V[2]=oe[2],V[3]=1,V}function O(V,oe,ie,j){return V[0]=oe[0],V[1]=oe[1],V[2]=oe[2],V[ie]=j,V}function X(V){for(var oe=B,ie=0;ie<2;++ie)for(var j=0;j<3;++j)oe[ie][j]=Math.max(Math.min(V[ie][j],1e8),-1e8);return oe}function J(V,oe,ie,j){var Q=oe.axesProject,re=oe.gl,ue=V.uniforms,_e=ie.model||d,we=ie.view||d,Re=ie.projection||d,ze=oe.axesBounds,Xe=X(oe.clipBounds),tt;oe.axes&&oe.axes.lastCubeProps?tt=oe.axes.lastCubeProps.axis:tt=[1,1,1],y[0]=2/re.drawingBufferWidth,y[1]=2/re.drawingBufferHeight,V.bind(),ue.view=we,ue.projection=Re,ue.screenSize=y,ue.highlightId=oe.highlightId,ue.highlightScale=oe.highlightScale,ue.clipBounds=Xe,ue.pickGroup=oe.pickId/255,ue.pixelRatio=j;for(var it=0;it<3;++it)if(Q[it]){ue.scale=oe.projectScale[it],ue.opacity=oe.projectOpacity[it];for(var et=F,nt=0;nt<16;++nt)et[nt]=0;for(var nt=0;nt<4;++nt)et[5*nt]=1;et[5*it]=0,tt[it]<0?et[12+it]=ze[0][it]:et[12+it]=ze[1][it],s(et,_e,et),ue.model=et;var Ae=(it+1)%3,me=(it+2)%3,fe=I(f),Be=I(R);fe[Ae]=1,Be[me]=1;var Qe=M(Re,we,_e,U(L,fe)),at=M(Re,we,_e,U(z,Be));if(Math.abs(Qe[1])>Math.abs(at[1])){var $e=Qe;Qe=at,at=$e,$e=fe,fe=Be,Be=$e;var It=Ae;Ae=me,me=It}Qe[0]<0&&(fe[Ae]=-1),at[1]>0&&(Be[me]=-1);for(var Pt=0,Vt=0,nt=0;nt<4;++nt)Pt+=Math.pow(_e[4*Ae+nt],2),Vt+=Math.pow(_e[4*me+nt],2);fe[Ae]/=Math.sqrt(Pt),Be[me]/=Math.sqrt(Vt),ue.axes[0]=fe,ue.axes[1]=Be,ue.fragClipBounds[0]=O(N,Xe[0],it,-1e8),ue.fragClipBounds[1]=O(N,Xe[1],it,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],ce=[se,le];function q(V,oe,ie,j,Q,re,ue){var _e=ie.gl;if((re===ie.projectHasAlpha||ue)&&J(oe,ie,j,Q),re===ie.hasAlpha||ue){V.bind();var we=V.uniforms;we.model=j.model||d,we.view=j.view||d,we.projection=j.projection||d,y[0]=2/_e.drawingBufferWidth,y[1]=2/_e.drawingBufferHeight,we.screenSize=y,we.highlightId=ie.highlightId,we.highlightScale=ie.highlightScale,we.fragClipBounds=ce,we.clipBounds=ie.axes.bounds,we.opacity=ie.opacity,we.pickGroup=ie.pickId/255,we.pixelRatio=Q,ie.vao.bind(),ie.vao.draw(_e.TRIANGLES,ie.vertexCount),ie.lineWidth>0&&(_e.lineWidth(ie.lineWidth*Q),ie.vao.draw(_e.LINES,ie.lineVertexCount,ie.vertexCount)),ie.vao.unbind()}}u.draw=function(V){var oe=this.useOrtho?this.orthoShader:this.shader;q(oe,this.projectShader,this,V,this.pixelRatio,!1,!1)},u.drawTransparent=function(V){var oe=this.useOrtho?this.orthoShader:this.shader;q(oe,this.projectShader,this,V,this.pixelRatio,!0,!1)},u.drawPick=function(V){var oe=this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader;q(oe,this.pickProjectShader,this,V,1,!0,!0)},u.pick=function(V){if(!V||V.id!==this.pickId)return null;var oe=V.value[2]+(V.value[1]<<8)+(V.value[0]<<16);if(oe>=this.pointCount||oe<0)return null;var ie=this.points[oe],j=this._selectResult;j.index=oe;for(var Q=0;Q<3;++Q)j.position[Q]=j.dataCoordinate[Q]=ie[Q];return j},u.highlight=function(V){if(!V)this.highlightId=[1,1,1,1];else{var oe=V.index,ie=oe&255,j=oe>>8&255,Q=oe>>16&255;this.highlightId=[ie/255,j/255,Q/255,0]}};function Z(V,oe,ie,j){var Q;w(V)?oe0){var Dr=0,xt=me,Ne=[0,0,0,1],Ye=[0,0,0,1],be=w(tt)&&w(tt[0]),Ie=w(nt)&&w(nt[0]);e:for(var j=0;j0?1-Vt[0][0]:gt<0?1+Vt[1][0]:1,kt*=kt>0?1-Vt[0][1]:kt<0?1+Vt[1][1]:1;for(var nr=[gt,kt],Vi=It.cells||[],Ui=It.positions||[],at=0;at=a?(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,i,n){var a=i[0],s=i[1],h=o[0]-a,c=o[1]-s,m=Math.sin(n),d=Math.cos(n);return r[0]=a+h*d-c*m,r[1]=s+h*m+c*d,r[2]=o[2],r}},8697:function(e,t,r){"use strict";var o=r(869);e.exports=i;function i(n,a){return o(n[0].mul(a[1]),n[1].mul(a[0]))}},8731:function(e,t,r){"use strict";e.exports=c;var o=r(8866);function i(m,d,T,l,_,w){this._gl=m,this._wrapper=d,this._index=T,this._locations=l,this._dimension=_,this._constFunc=w}var n=i.prototype;n.pointer=function(d,T,l,_){var w=this,A=w._gl,M=w._locations[w._index];A.vertexAttribPointer(M,w._dimension,d||A.FLOAT,!!T,l||0,_||0),A.enableVertexAttribArray(M)},n.set=function(m,d,T,l){return this._constFunc(this._locations[this._index],m,d,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 a=[function(m,d,T){return T.length===void 0?m.vertexAttrib1f(d,T):m.vertexAttrib1fv(d,T)},function(m,d,T,l){return T.length===void 0?m.vertexAttrib2f(d,T,l):m.vertexAttrib2fv(d,T)},function(m,d,T,l,_){return T.length===void 0?m.vertexAttrib3f(d,T,l,_):m.vertexAttrib3fv(d,T)},function(m,d,T,l,_,w){return T.length===void 0?m.vertexAttrib4f(d,T,l,_,w):m.vertexAttrib4fv(d,T)}];function s(m,d,T,l,_,w,A){var M=a[_],g=new i(m,d,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,d,T,l,_,w,A){for(var M=new Array(_),g=new Array(_),b=0;b<_;++b)s(m,d,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 v=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)v[L]=y[_*f+L];u.call(m,R,v)}}return y},get:function(){return M},enumerable:!0})}function c(m,d,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,d,v[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,d,v,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 a=n>>r-1;return(n^a)-a},t.min=function(n,a){return a^(n^a)&-(n65535)<<4,n>>>=a,s=(n>255)<<3,n>>>=s,a|=s,s=(n>15)<<2,n>>>=s,a|=s,s=(n>3)<<1,n>>>=s,a|=s,a|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 a=32;return n&=-n,n&&a--,n&65535&&(a-=16),n&16711935&&(a-=8),n&252645135&&(a-=4),n&858993459&&(a-=2),n&1431655765&&(a-=1),a}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 i=new Array(256);(function(n){for(var a=0;a<256;++a){var s=a,h=a,c=7;for(s>>>=1;s;s>>>=1)h<<=1,h|=s&1,--c;n[a]=h<>>8&255]<<16|i[n>>>16&255]<<8|i[n>>>24&255]},t.interleave2=function(n,a){return n&=65535,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,a&=65535,a=(a|a<<8)&16711935,a=(a|a<<4)&252645135,a=(a|a<<2)&858993459,a=(a|a<<1)&1431655765,n|a<<1},t.deinterleave2=function(n,a){return n=n>>>a&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,a,s){return n&=1023,n=(n|n<<16)&4278190335,n=(n|n<<8)&251719695,n=(n|n<<4)&3272356035,n=(n|n<<2)&1227133513,a&=1023,a=(a|a<<16)&4278190335,a=(a|a<<8)&251719695,a=(a|a<<4)&3272356035,a=(a|a<<2)&1227133513,n|=a<<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,a){return n=n>>>a&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 a=n|n-1;return a+1|(~a&-~a)-1>>>o(n)+1}},8866:function(e){function t(r,o,i){this.shortMessage=o||"",this.longMessage=i||"",this.rawError=r||"",this.message="gl-shader: "+(o||r||"")+(i?` -`+i:""),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),i=r(3250)[3],n=0,a=1,s=2;e.exports=A;function h(M,g,b,v,u){this.a=M,this.b=g,this.idx=b,this.lowerIds=v,this.upperIds=u}function c(M,g,b,v){this.a=M,this.b=g,this.type=b,this.idx=v}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=i(M.a,M.b,g.b),b)?b:M.idx-g.idx}function d(M,g){return i(M.a,M.b,g)}function T(M,g,b,v,u){for(var y=o.lt(g,v,d),f=o.gt(g,v,d),R=y;R1&&i(b[z[N-2]],b[z[N-1]],v)>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&&i(b[F[N-2]],b[F[N-1]],v)<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,a,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,B=u.length;y0;){_=v.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&&v.push(f)}}}return null},T.walk=function(_,w){var A=this.vertices.length-1,M=this.dimension,g=this.vertices,b=this.tuple,v=w?this.interior.length*Math.random()|0:this.interior.length-1,u=this.interior[v];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,v=this.interior,u=this.simplices,y=[w];w.lastVisited=A,w.vertices[w.vertices.indexOf(-1)]=A,w.boundary=!1,v.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 B=N.vertices;if(N.lastVisited!==-A){for(var I=0,U=0;U<=M;++U)B[U]<0?(I=U,b[U]=_):b[U]=g[B[U]];var O=this.orient();if(O>0){B[I]=A,N.boundary=!1,v.push(N),y.push(N),N.lastVisited=A;continue}else N.lastVisited=-A}var X=N.adjacent,J=R.slice(),se=L.slice(),le=new n(J,se,!0);u.push(le);var ce=X.indexOf(w);if(!(ce<0)){X[ce]=le,se[z]=N,J[F]=-1,se[F]=w,L[F]=le,le.flip();for(var U=0;U<=M;++U){var q=J[U];if(!(q<0||q===A)){for(var Z=new Array(M-1),ee=0,V=0;V<=M;++V){var oe=J[V];oe<0||V===U||(Z[ee++]=oe)}f.push(new a(Z,le,U))}}}}}}}f.sort(s);for(var F=0;F+1=0?v[y++]=u[R]:f=R&1;if(f===(_&1)){var L=v[0];v[0]=v[1],v[1]=L}w.push(v)}}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 v=new Array(M+1),u=0;u<=M;++u)v[u]=u;b<0&&(v[0]=1,v[1]=0);for(var y=new n(v,new Array(M+1),!1),f=y.adjacent,R=new Array(M+2),u=0;u<=M;++u){for(var L=v.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,B=f[u].adjacent,z=0;z<=M;++z){var I=L[z];if(I<0){B[z]=y;continue}for(var U=0;U<=M;++U)f[U].vertices.indexOf(I)<0&&(B[z]=f[U])}for(var O=new d(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 v=m({colormap:b,nshades:256,format:"rgba"}),u=new Uint8Array(256*4),y=0;y<256;++y){for(var f=v[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 v=b.length,u=new Array(v),y=0;y0){var U=this.triShader;U.bind(),U.uniforms=z,this.triangleVAO.bind(),v.drawArrays(v.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}},l.drawPick=function(b){b=b||{};for(var v=this.gl,u=b.model||d,y=b.view||d,f=b.projection||d,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=[v.drawingBufferWidth,v.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(),v.drawArrays(v.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind())},l.pick=function(b){if(!b||b.id!==this.pickId)return null;var v=b.value[0]+256*b.value[1]+65536*b.value[2],u=this.cells[v],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=v),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,v){var u=o(b,v.meshShader.vertex,v.meshShader.fragment,null,v.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,v){var u=o(b,v.pickShader.vertex,v.pickShader.fragment,null,v.pickShader.attributes);return u.attributes.position.location=0,u.attributes.id.location=1,u.attributes.vector.location=4,u}function g(b,v,u){var y=u.shaders;arguments.length===1&&(v=b,b=v.gl);var f=A(b,y),R=M(b,y),L=a(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=i(b),F=i(b),N=i(b),B=i(b),I=i(b),U=n(b,[{buffer:z,type:b.FLOAT,size:4},{buffer:I,type:b.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:N,type:b.FLOAT,size:4},{buffer:B,type:b.FLOAT,size:2},{buffer:F,type:b.FLOAT,size:4}]),O=new T(b,L,f,R,z,F,I,N,B,U,u.traceType||"cone");return O.update(v),O}e.exports=g},9127:function(e,t,r){"use strict";e.exports=n;var o=r(6204),i=r(5771);function n(a){return i(o(a))}},9131:function(e,t,r){var o=r(5177),i=r(9288);e.exports=n;function n(a,s){return s=s||1,a[0]=Math.random(),a[1]=Math.random(),a[2]=Math.random(),a[3]=Math.random(),o(a,a),i(a,a,s),a}},9165:function(e,t,r){"use strict";e.exports=T;var o=r(2762),i=r(8116),n=r(3436),a=[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||a,M=w.projection=l.projection||a;w.model=l.model||a,w.clipBounds=this.clipBounds,w.opacity=this.opacity;var g=A[12],b=A[13],v=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]*v+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 d(l,_,w,A){for(var M=m[A],g=0;g0){var z=y.slice();z[v]+=R[1][v],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+d(M,z,L,v)}}}this.lineCount[v]=b-this.lineOffset[v]}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=i(_,[{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),i=r(2478);function n(m,d,T){return Math.min(d,Math.max(m,T))}function a(m,d,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-d[T-1],v=0;v=T-1)for(var g=w.length-1,b=m-d[T-1],v=0;v=0;--T)if(m[--d])return!1;return!0},s.jump=function(m){var d=this.lastT(),T=this.dimension;if(!(m0;--v)l.push(n(M[v-1],g[v-1],arguments[v])),_.push(0)}},s.push=function(m){var d=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++])*v)}}},s.set=function(m){var d=this.dimension;if(!(m0;--M)T.push(n(w[M-1],A[M-1],arguments[M])),l.push(0)}},s.move=function(m){var d=this.lastT(),T=this.dimension;if(!(m<=d||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-d,v=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*v)}}},s.idle=function(m){var d=this.lastT();if(!(m=0;--v)l.push(n(M[v],g[v],l[w]+b*_[w])),_.push(0),w+=1}};function h(m){for(var d=new Array(m),T=0;T1&&a.indexOf("Macintosh")!==-1&&a.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,i){return r[0]=o[0]*i,r[1]=o[1]*i,r[2]=o[2]*i,r[3]=o[3]*i,r}},9346:function(e){"use strict";var t=new Float64Array(4),r=new Float64Array(4),o=new Float64Array(4);function i(n,a,s,h,c){t.length=d?(u=1,f=d+2*_+A):(u=-_/d,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):-_>=d?(u=1,f=d+2*_+A):(u=-_/d,f=_*u+A);else{var R=1/v;u*=R,y*=R,f=u*(d*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=d-2*T+l,F>=N?(u=1,y=0,f=d+2*_+A):(u=F/N,y=1-u,f=u*(d*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=d+_,z>L?(F=z-L,N=d-2*T+l,F>=N?(y=1,u=0,f=l+2*w+A):(y=F/N,u=1-y,f=u*(d*u+T*y+2*_)+y*(T*u+l*y+2*w)+A)):(y=0,z<=0?(u=1,f=d+2*_+A):_>=0?(u=0,f=A):(u=-_/d,f=_*u+A))):(F=l+w-T-_,F<=0?(u=0,y=1,f=l+2*w+A):(N=d-2*T+l,F>=N?(u=1,y=0,f=d+2*_+A):(u=F/N,y=1-u,f=u*(d*u+T*y+2*_)+y*(T*u+l*y+2*w)+A)))}for(var B=1-u-y,m=0;mw)for(l=w;l<_;l++)this.gl.enableVertexAttribArray(l);else if(w>_)for(l=_;l=0){for(var B=N.type.charAt(N.type.length-1)|0,I=new Array(B),U=0;U=0;)O+=1;z[F]=O}var X=new Array(w.length);function J(){g.program=a.program(b,g._vref,g._fref,L,z);for(var se=0;seie&&Q>0){var re=(j[Q][0]-ie)/(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],O={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(ie,j){var Q,re,ue,_e=j.axes&&j.axes.lastCubeProps.axis||U,we=j.showSurface,Re=j.showContour;for(Q=0;Q<3;++Q)for(we=we||j.surfaceProject[Q],re=0;re<3;++re)Re=Re||j.contourProject[Q][re];for(Q=0;Q<3;++Q){var ze=O.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[+(_e[Q]>0)][Q],l(ze,ie.model,ze);var Xe=O.clipBounds[Q];for(ue=0;ue<2;++ue)for(re=0;re<3;++re)Xe[ue][re]=ie.clipBounds[ue][re];Xe[0][Q]=-1e8,Xe[1][Q]=1e8}return O.showSurface=we,O.showContour=Re,O}var J={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 ce(ie,j){ie=ie||{};var Q=this.gl;Q.disable(Q.CULL_FACE),this._colorMap.bind(0);var re=J;re.model=ie.model||f,re.view=ie.view||f,re.projection=ie.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 ue=0;ue<2;++ue)for(var _e=re.clipBounds[ue],we=0;we<3;++we)_e[we]=Math.min(Math.max(this.clipBounds[ue][we],-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 Re=se;for(l(Re,re.view,re.model),l(Re,re.projection,Re),_(Re,Re),ue=0;ue<3;++ue)re.eyePosition[ue]=Re[12+ue]/Re[15];var ze=Re[15];for(ue=0;ue<3;++ue)ze+=this.lightPosition[ue]*Re[4*ue+3];for(ue=0;ue<3;++ue){var Xe=Re[12+ue];for(we=0;we<3;++we)Xe+=Re[4*we+ue]*this.lightPosition[we];re.lightPosition[ue]=Xe/ze}var tt=X(re,this);if(tt.showSurface){for(this._shader.bind(),this._shader.uniforms=re,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(Q.TRIANGLES,this._vertexCount),ue=0;ue<3;++ue)!this.surfaceProject[ue]||!this.vertexCount||(this._shader.uniforms.model=tt.projections[ue],this._shader.uniforms.clipBounds=tt.clipBounds[ue],this._vao.draw(Q.TRIANGLES,this._vertexCount));this._vao.unbind()}if(tt.showContour){var it=this._contourShader;re.kambient=1,re.kdiffuse=0,re.kspecular=0,re.opacity=1,it.bind(),it.uniforms=re;var et=this._contourVAO;for(et.bind(),ue=0;ue<3;++ue)for(it.uniforms.permutation=L[ue],Q.lineWidth(this.contourWidth[ue]*this.pixelRatio),we=0;we>4)/16)/255,ue=Math.floor(re),_e=re-ue,we=j[1]*(ie.value[1]+(ie.value[2]&15)/16)/255,Re=Math.floor(we),ze=we-Re;ue+=1,Re+=1;var Xe=Q.position;Xe[0]=Xe[1]=Xe[2]=0;for(var tt=0;tt<2;++tt)for(var it=tt?_e:1-_e,et=0;et<2;++et)for(var nt=et?ze:1-ze,Ae=ue+tt,me=Re+et,fe=it*nt,Be=0;Be<3;++Be)Xe[Be]+=this._field[Be].get(Ae,me)*fe;for(var Qe=this._pickResult.level,at=0;at<3;++at)if(Qe[at]=w.le(this.contourLevels[at],Xe[at]),Qe[at]<0)this.contourLevels[at].length>0&&(Qe[at]=0);else if(Qe[at]Math.abs(It-Xe[at])&&(Qe[at]+=1)}for(Q.index[0]=_e<.5?ue:ue+1,Q.index[1]=ze<.5?Re:Re+1,Q.uv[0]=re/j[0],Q.uv[1]=we/j[1],Be=0;Be<3;++Be)Q.dataCoordinate[Be]=this._field[Be].get(Q.index[0],Q.index[1]);return Q},B.padField=function(ie,j){var Q=j.shape.slice(),re=ie.shape.slice();c.assign(ie.lo(1,1).hi(Q[0],Q[1]),j),c.assign(ie.lo(1).hi(Q[0],1),j.hi(Q[0],1)),c.assign(ie.lo(1,re[1]-1).hi(Q[0],1),j.lo(0,Q[1]-1).hi(Q[0],1)),c.assign(ie.lo(0,1).hi(1,Q[1]),j.hi(1)),c.assign(ie.lo(re[0]-1,1).hi(1,Q[1]),j.lo(Q[0]-1)),ie.set(0,0,j.get(0,0)),ie.set(0,re[1]-1,j.get(0,Q[1]-1)),ie.set(re[0]-1,0,j.get(Q[0]-1,0)),ie.set(re[0]-1,re[1]-1,j.get(Q[0]-1,Q[1]-1))};function Z(ie,j){return Array.isArray(ie)?[j(ie[0]),j(ie[1]),j(ie[2])]:[j(ie),j(ie),j(ie)]}function ee(ie){return Array.isArray(ie)?ie.length===3?[ie[0],ie[1],ie[2],1]:[ie[0],ie[1],ie[2],ie[3]]:[0,0,0,1]}function V(ie){if(Array.isArray(ie)){if(Array.isArray(ie))return[ee(ie[0]),ee(ie[1]),ee(ie[2])];var j=ee(ie);return[j.slice(),j.slice(),j.slice()]}}B.update=function(ie){ie=ie||{},this.objectOffset=ie.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in ie&&(this.contourWidth=Z(ie.contourWidth,Number)),"showContour"in ie&&(this.showContour=Z(ie.showContour,Boolean)),"showSurface"in ie&&(this.showSurface=!!ie.showSurface),"contourTint"in ie&&(this.contourTint=Z(ie.contourTint,Boolean)),"contourColor"in ie&&(this.contourColor=V(ie.contourColor)),"contourProject"in ie&&(this.contourProject=Z(ie.contourProject,function(xa){return Z(xa,Boolean)})),"surfaceProject"in ie&&(this.surfaceProject=ie.surfaceProject),"dynamicColor"in ie&&(this.dynamicColor=V(ie.dynamicColor)),"dynamicTint"in ie&&(this.dynamicTint=Z(ie.dynamicTint,Number)),"dynamicWidth"in ie&&(this.dynamicWidth=Z(ie.dynamicWidth,Number)),"opacity"in ie&&(this.opacity=ie.opacity),"opacityscale"in ie&&(this.opacityscale=ie.opacityscale),"colorBounds"in ie&&(this.colorBounds=ie.colorBounds),"vertexColor"in ie&&(this.vertexColor=ie.vertexColor?1:0),"colormap"in ie&&this._colorMap.setPixels(this.genColormap(ie.colormap,this.opacityscale));var j=ie.field||ie.coords&&ie.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 ie||"coords"in ie){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]=d(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 ue=this.shape,_e=0;_e<2;++_e)this._field[2].size>this._field[_e].data.length&&(s.freeFloat(this._field[_e].data),this._field[_e].data=s.mallocFloat(this._field[2].size)),this._field[_e]=d(this._field[_e].data,[ue[0]+2,ue[1]+2]);if(ie.coords){var we=ie.coords;if(!Array.isArray(we)||we.length!==3)throw new Error("gl-surface: invalid coordinates for x/y");for(_e=0;_e<2;++_e){var Re=we[_e];for(et=0;et<2;++et)if(Re.shape[et]!==ue[et])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[_e],Re)}}else if(ie.ticks){var ze=ie.ticks;if(!Array.isArray(ze)||ze.length!==2)throw new Error("gl-surface: invalid ticks");for(_e=0;_e<2;++_e){var Xe=ze[_e];if((Array.isArray(Xe)||Xe.length)&&(Xe=d(Xe)),Xe.shape[0]!==ue[_e])throw new Error("gl-surface: invalid tick length");var tt=d(Xe.data,ue);tt.stride[_e]=Xe.stride[0],tt.stride[_e^1]=0,this.padField(this._field[_e],tt)}}else{for(_e=0;_e<2;++_e){var it=[0,0];it[_e]=1,this._field[_e]=d(this._field[_e].data,[ue[0]+2,ue[1]+2],it,0)}this._field[0].set(0,0,0);for(var et=0;et0){for(var ra=0;ra<5;++ra)ir.pop();be-=1}continue e}}}Vi.push(be)}this._contourOffsets[tr]=vi,this._contourCounts[tr]=Vi}var ca=s.mallocFloat(ir.length);for(_e=0;_e=0&&(v=g|0,b+=y*v,u-=v),new w(this.data,u,y,b)},A.step=function(g){var b=this.shape[0],v=this.stride[0],u=this.offset,y=0,f=Math.ceil;return typeof g=="number"&&(y=g|0,y<0?(u+=v*(b-1),b=f(-b/y)):b=f(b/y),v*=y),new w(this.data,b,v,u)},A.transpose=function(g){g=g===void 0?0:g|0;var b=this.shape,v=this.stride;return new w(this.data,b[g],v[g],this.offset)},A.pick=function(g){var b=[],v=[],u=this.offset;typeof g=="number"&&g>=0?u=u+this.stride[0]*g|0:(b.push(this.shape[0]),v.push(this.stride[0]));var y=l[b.length+1];return y(this.data,b,v,u)},function(g,b,v,u){return new w(g,b[0],v[0],u)}},2:function(T,l,_){function w(M,g,b,v,u,y){this.data=M,this.shape=[g,b],this.stride=[v,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,v){return T==="generic"?this.data.set(this.offset+this.stride[0]*g+this.stride[1]*b,v):this.data[this.offset+this.stride[0]*g+this.stride[1]*b]=v},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 v=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,v+=R*u,y-=u),typeof b=="number"&&b>=0&&(u=b|0,v+=L*u,f-=u),new w(this.data,y,f,R,L,v)},A.step=function(g,b){var v=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*(v-1),v=z(-v/L)):v=z(v/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,v,u,y,f,R)},A.transpose=function(g,b){g=g===void 0?0:g|0,b=b===void 0?1:b|0;var v=this.shape,u=this.stride;return new w(this.data,v[g],v[b],u[g],u[b],this.offset)},A.pick=function(g,b){var v=[],u=[],y=this.offset;typeof g=="number"&&g>=0?y=y+this.stride[0]*g|0:(v.push(this.shape[0]),u.push(this.stride[0])),typeof b=="number"&&b>=0?y=y+this.stride[1]*b|0:(v.push(this.shape[1]),u.push(this.stride[1]));var f=l[v.length+1];return f(this.data,v,u,y)},function(g,b,v,u){return new w(g,b[0],b[1],v[0],v[1],u)}},3:function(T,l,_){function w(M,g,b,v,u,y,f,R){this.data=M,this.shape=[g,b,v],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]),v=Math.abs(this.stride[2]);return g>b?b>v?[2,1,0]:g>v?[1,2,0]:[1,0,2]:g>v?[2,0,1]:v>b?[0,1,2]:[0,2,1]}}),A.set=function(g,b,v,u){return T==="generic"?this.data.set(this.offset+this.stride[0]*g+this.stride[1]*b+this.stride[2]*v,u):this.data[this.offset+this.stride[0]*g+this.stride[1]*b+this.stride[2]*v]=u},A.get=function(g,b,v){return T==="generic"?this.data.get(this.offset+this.stride[0]*g+this.stride[1]*b+this.stride[2]*v):this.data[this.offset+this.stride[0]*g+this.stride[1]*b+this.stride[2]*v]},A.index=function(g,b,v){return this.offset+this.stride[0]*g+this.stride[1]*b+this.stride[2]*v},A.hi=function(g,b,v){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 v!="number"||v<0?this.shape[2]:v|0,this.stride[0],this.stride[1],this.stride[2],this.offset)},A.lo=function(g,b,v){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 v=="number"&&v>=0&&(y=v|0,u+=N*y,L-=y),new w(this.data,f,R,L,z,F,N,u)},A.step=function(g,b,v){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,B=Math.ceil;return typeof g=="number"&&(N=g|0,N<0?(F+=R*(u-1),u=B(-u/N)):u=B(u/N),R*=N),typeof b=="number"&&(N=b|0,N<0?(F+=L*(y-1),y=B(-y/N)):y=B(y/N),L*=N),typeof v=="number"&&(N=v|0,N<0?(F+=z*(f-1),f=B(-f/N)):f=B(f/N),z*=N),new w(this.data,u,y,f,R,L,z,F)},A.transpose=function(g,b,v){g=g===void 0?0:g|0,b=b===void 0?1:b|0,v=v===void 0?2:v|0;var u=this.shape,y=this.stride;return new w(this.data,u[g],u[b],u[v],y[g],y[b],y[v],this.offset)},A.pick=function(g,b,v){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 v=="number"&&v>=0?f=f+this.stride[2]*v|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,v,u){return new w(g,b[0],b[1],b[2],v[0],v[1],v[2],u)}},4:function(T,l,_){function w(M,g,b,v,u,y,f,R,L,z){this.data=M,this.shape=[g,b,v,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,v,u,y){return T==="generic"?this.data.set(this.offset+this.stride[0]*g+this.stride[1]*b+this.stride[2]*v+this.stride[3]*u,y):this.data[this.offset+this.stride[0]*g+this.stride[1]*b+this.stride[2]*v+this.stride[3]*u]=y},A.get=function(g,b,v,u){return T==="generic"?this.data.get(this.offset+this.stride[0]*g+this.stride[1]*b+this.stride[2]*v+this.stride[3]*u):this.data[this.offset+this.stride[0]*g+this.stride[1]*b+this.stride[2]*v+this.stride[3]*u]},A.index=function(g,b,v,u){return this.offset+this.stride[0]*g+this.stride[1]*b+this.stride[2]*v+this.stride[3]*u},A.hi=function(g,b,v,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 v!="number"||v<0?this.shape[2]:v|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,v,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],B=this.stride[1],I=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+=B*f,L-=f),typeof v=="number"&&v>=0&&(f=v|0,y+=I*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,B,I,U,y)},A.step=function(g,b,v,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],B=this.stride[3],I=this.offset,U=0,O=Math.ceil;return typeof g=="number"&&(U=g|0,U<0?(I+=z*(y-1),y=O(-y/U)):y=O(y/U),z*=U),typeof b=="number"&&(U=b|0,U<0?(I+=F*(f-1),f=O(-f/U)):f=O(f/U),F*=U),typeof v=="number"&&(U=v|0,U<0?(I+=N*(R-1),R=O(-R/U)):R=O(R/U),N*=U),typeof u=="number"&&(U=u|0,U<0?(I+=B*(L-1),L=O(-L/U)):L=O(L/U),B*=U),new w(this.data,y,f,R,L,z,F,N,B,I)},A.transpose=function(g,b,v,u){g=g===void 0?0:g|0,b=b===void 0?1:b|0,v=v===void 0?2:v|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[v],y[u],f[g],f[b],f[v],f[u],this.offset)},A.pick=function(g,b,v,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 v=="number"&&v>=0?R=R+this.stride[2]*v|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,v,u){return new w(g,b[0],b[1],b[2],b[3],v[0],v[1],v[2],v[3],u)}},5:function(l,_,w){function A(g,b,v,u,y,f,R,L,z,F,N,B){this.data=g,this.shape=[b,v,u,y,f],this.stride=[R,L,z,F,N],this.offset=B|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,v,u,y,f,R){return l==="generic"?this.data.set(this.offset+this.stride[0]*b+this.stride[1]*v+this.stride[2]*u+this.stride[3]*y+this.stride[4]*f,R):this.data[this.offset+this.stride[0]*b+this.stride[1]*v+this.stride[2]*u+this.stride[3]*y+this.stride[4]*f]=R},M.get=function(b,v,u,y,f){return l==="generic"?this.data.get(this.offset+this.stride[0]*b+this.stride[1]*v+this.stride[2]*u+this.stride[3]*y+this.stride[4]*f):this.data[this.offset+this.stride[0]*b+this.stride[1]*v+this.stride[2]*u+this.stride[3]*y+this.stride[4]*f]},M.index=function(b,v,u,y,f){return this.offset+this.stride[0]*b+this.stride[1]*v+this.stride[2]*u+this.stride[3]*y+this.stride[4]*f},M.hi=function(b,v,u,y,f){return new A(this.data,typeof b!="number"||b<0?this.shape[0]:b|0,typeof v!="number"||v<0?this.shape[1]:v|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,v,u,y,f){var R=this.offset,L=0,z=this.shape[0],F=this.shape[1],N=this.shape[2],B=this.shape[3],I=this.shape[4],U=this.stride[0],O=this.stride[1],X=this.stride[2],J=this.stride[3],se=this.stride[4];return typeof b=="number"&&b>=0&&(L=b|0,R+=U*L,z-=L),typeof v=="number"&&v>=0&&(L=v|0,R+=O*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+=J*L,B-=L),typeof f=="number"&&f>=0&&(L=f|0,R+=se*L,I-=L),new A(this.data,z,F,N,B,I,U,O,X,J,se,R)},M.step=function(b,v,u,y,f){var R=this.shape[0],L=this.shape[1],z=this.shape[2],F=this.shape[3],N=this.shape[4],B=this.stride[0],I=this.stride[1],U=this.stride[2],O=this.stride[3],X=this.stride[4],J=this.offset,se=0,le=Math.ceil;return typeof b=="number"&&(se=b|0,se<0?(J+=B*(R-1),R=le(-R/se)):R=le(R/se),B*=se),typeof v=="number"&&(se=v|0,se<0?(J+=I*(L-1),L=le(-L/se)):L=le(L/se),I*=se),typeof u=="number"&&(se=u|0,se<0?(J+=U*(z-1),z=le(-z/se)):z=le(z/se),U*=se),typeof y=="number"&&(se=y|0,se<0?(J+=O*(F-1),F=le(-F/se)):F=le(F/se),O*=se),typeof f=="number"&&(se=f|0,se<0?(J+=X*(N-1),N=le(-N/se)):N=le(N/se),X*=se),new A(this.data,R,L,z,F,N,B,I,U,O,X,J)},M.transpose=function(b,v,u,y,f){b=b===void 0?0:b|0,v=v===void 0?1:v|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[v],R[u],R[y],R[f],L[b],L[v],L[u],L[y],L[f],this.offset)},M.pick=function(b,v,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 v=="number"&&v>=0?z=z+this.stride[1]*v|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,v,u,y){return new A(b,v[0],v[1],v[2],v[3],v[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],a)}function c(T){if(o(T))return"buffer";if(i)switch(Object.prototype.toString.call(T)){case"[object Float64Array]":return"float64";case"[object Float32Array]":return"float32";case"[object Int8Array]":return"int8";case"[object Int16Array]":return"int16";case"[object Int32Array]":return"int32";case"[object 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 d(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/v,_[1]=M/v,_[2]=g/v,_[3]=b/v):(_[0]=_[1]=_[2]=0,_[3]=1)}function d(_,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=d.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,v=Math.exp(this.computedRadius[0]);g[0]=M[0]+v*A[2],g[1]=M[1]+v*A[6],g[2]=M[2]+v*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],v=g[5],u=g[9],y=h(b,v,u);b/=y,v/=y,u/=y;var f=g[0],R=g[4],L=g[8],z=f*b+R*v+L*u;f-=b*z,R-=v*z,L-=u*z;var F=h(f,R,L);f/=F,R/=F,L/=F;var N=g[2],B=g[6],I=g[10],U=N*b+B*v+I*u,O=N*f+B*R+I*L;N-=U*b+O*f,B-=U*v+O*R,I-=U*u+O*L;var X=h(N,B,I);N/=X,B/=X,I/=X;var J=f*w+b*A,se=R*w+v*A,le=L*w+u*A;this.center.move(_,J,se,le);var ce=Math.exp(this.computedRadius[0]);ce=Math.max(1e-4,ce+M),this.radius.set(_,Math.log(ce))},T.rotate=function(_,w,A,M){this.recalcMatrix(_),w=w||0,A=A||0;var g=this.computedMatrix,b=g[0],v=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,B=w*v+A*f,I=w*u+A*R,U=-(z*I-F*B),O=-(F*N-L*I),X=-(L*B-z*N),J=Math.sqrt(Math.max(0,1-Math.pow(U,2)-Math.pow(O,2)-Math.pow(X,2))),se=c(U,O,X,J);se>1e-6?(U/=se,O/=se,X/=se,J/=se):(U=O=X=0,J=1);var le=this.computedRotation,ce=le[0],q=le[1],Z=le[2],ee=le[3],V=ce*J+ee*U+q*X-Z*O,oe=q*J+ee*O+Z*U-ce*X,ie=Z*J+ee*X+ce*O-q*U,j=ee*J-ce*U-q*O-Z*X;if(M){U=L,O=z,X=F;var Q=Math.sin(M)/h(U,O,X);U*=Q,O*=Q,X*=Q,J=Math.cos(w),V=V*J+j*U+oe*X-ie*O,oe=oe*J+j*O+ie*U-V*X,ie=ie*J+j*X+V*O-oe*U,j=j*J-V*U-oe*O-ie*X}var re=c(V,oe,ie,j);re>1e-6?(V/=re,oe/=re,ie/=re,j/=re):(V=oe=ie=0,j=1),this.rotation.set(_,V,oe,ie,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;i(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 v=0,u=0;u<3;++u)v+=Math.pow(A[u]-w[u],2);this.radius.set(_,.5*Math.log(Math.max(v,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;a(M,w);var g=M[15];if(Math.abs(g)>1e-6){var b=M[12]/g,v=M[13]/g,u=M[14]/g;this.recalcMatrix(_);var y=Math.exp(this.computedRadius[0]);this.center.set(_,b-M[2]*y,v-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 d(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),i=r(8277);e.exports=function(a,s){for(var h=[],c=a,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)),i(s,a),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 p[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);H.exports=E})()}}),t5=De({"node_modules/color-name/index.js"(Y,H){"use strict";H.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]}}}),pI=De({"node_modules/color-normalize/node_modules/color-parse/index.js"(Y,H){"use strict";var p=t5();H.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(),p[E])t=p[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 i=E.slice(1),n=i.length,a=n<=4;r=1,a?(t=[parseInt(i[0]+i[0],16),parseInt(i[1]+i[1],16),parseInt(i[2]+i[2],16)],n===4&&(r=parseInt(i[3]+i[3],16)/255)):(t=[parseInt(i[0]+i[1],16),parseInt(i[2]+i[3],16),parseInt(i[4]+i[5],16)],n===8&&(r=parseInt(i[6]+i[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",i=s.replace(/a$/,"");o=i;var n=i==="cmyk"?4:i==="gray"?1:3;t=e[2].trim().split(/\s*[,\/]\s*|\s+/).map(function(d,T){if(/%$/.test(d))return T===n?parseFloat(d)/100:i==="rgb"?parseFloat(d)*255/100:parseFloat(d);if(i[T]==="h"){if(/deg$/.test(d))return parseFloat(d);if(x[d]!==void 0)return x[d]}return parseFloat(d)}),s===i&&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}}}}),mI=De({"node_modules/color-normalize/node_modules/color-rgba/index.js"(Y,H){"use strict";var p=pI();H.exports=function(E){Array.isArray(E)&&E.raw&&(E=String.raw.apply(null,arguments));var e,t,r,o=p(E);if(!o.space)return[];var i=[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],i[0]),n[0]),e[1]=Math.min(Math.max(o.values[1],i[1]),n[1]),e[2]=Math.min(Math.max(o.values[2],i[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,i,n,a,s=0;if(e===0)return a=t*255,[a,a,a];for(o=t<.5?t*(1+e):t+e-t*e,r=2*t-o,n=[0,0,0];s<3;)i=E+1/3*-(s-1),i<0?i++:i>1&&i--,a=6*i<1?r+(o-r)*6*i:2*i<1?o:3*i<2?r+(o-r)*(2/3-i)*6:r,n[s++]=a*255;return n}}}),Jy=De({"node_modules/clamp/index.js"(Y,H){H.exports=p;function p(x,S,E){return SE?E:x:xS?S:x}}}),tb=De({"node_modules/dtype/index.js"(Y,H){H.exports=function(p){switch(p){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}}}}),a0=De({"node_modules/color-normalize/index.js"(Y,H){"use strict";var p=mI(),x=Jy(),S=tb();H.exports=function(t,r){(r==="float"||!r)&&(r="array"),r==="uint"&&(r="uint8"),r==="uint_clamped"&&(r="uint8_clamped");var o=S(r),i=new o(4),n=r!=="uint8"&&r!=="uint8_clamped";return(!t.length||typeof t=="string")&&(t=p(t),t[0]/=255,t[1]/=255,t[2]/=255),E(t)?(i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3]!=null?t[3]:255,n&&(i[0]/=255,i[1]/=255,i[2]/=255,i[3]/=255),i):(n?(i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3]!=null?t[3]:1):(i[0]=x(Math.floor(t[0]*255),0,255),i[1]=x(Math.floor(t[1]*255),0,255),i[2]=x(Math.floor(t[2]*255),0,255),i[3]=t[3]==null?255:x(Math.floor(t[3]*255),0,255)),i)};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))}}}),pp=De({"src/lib/str2rgbarray.js"(Y,H){"use strict";var p=a0();function x(S){return S?p(S):[0,0,0,1]}H.exports=x}}),mp=De({"src/lib/gl_format_color.js"(Y,H){"use strict";var p=vn(),x=wu(),S=a0(),E=oc(),e=Pf().defaultLine,t=vl().isArrayOrTypedArray,r=S(e),o=1;function i(c,m){var d=c;return d[3]*=m,d}function n(c){if(p(c))return r;var m=S(c);return m.length?m:r}function a(c){return p(c)?c:o}function s(c,m,d){var T=c.color;T&&T._inputArray&&(T=T._inputArray);var l=t(T),_=t(m),w=E.extractOpts(c),A=[],M,g,b,v,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:a(f[R])}:b=a,l||_)for(var y=0;y0){var d=o.c2l(c);o._lowerLogErrorBound||(o._lowerLogErrorBound=d),o._lowerErrorBound=Math.min(o._lowerLogErrorBound,d)}}else n[a]=[-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)},d.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}H.exports=f}}),i5=De({"src/traces/scatter3d/attributes.js"(Y,H){"use strict";var p=lf(),x=qu(),S=zu(),E=of().axisHoverFormat,{hovertemplateAttrs:e,texttemplateAttrs:t,templatefallbackAttrs:r}=ou(),o=Yl(),i=r5(),n=rb(),a=Xo().extendFlat,s=gc().overrideAll,h=jp(),c=p.line,m=p.marker,d=m.line,T=a({width:c.width,dash:{valType:"enumerated",values:h(i),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 _=H.exports=s({x:p.x,y:p.y,z:{valType:"data_array"},text:a({},p.text,{}),texttemplate:t(),texttemplatefallback:r({editType:"calc"}),hovertext:a({},p.hovertext,{}),hovertemplate:e(),hovertemplatefallback:r(),xhoverformat:E("x"),yhoverformat:E("y"),zhoverformat:E("z"),mode:a({},p.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:p.connectgaps,line:T,marker:a({symbol:{valType:"enumerated",values:h(n),dflt:"circle",arrayOk:!0},size:a({},m.size,{dflt:8}),sizeref:m.sizeref,sizemin:m.sizemin,sizemode:m.sizemode,opacity:a({},m.opacity,{arrayOk:!1}),colorbar:m.colorbar,line:a({width:a({},d.width,{arrayOk:!1})},S("marker.line"))},S("marker")),textposition:a({},p.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:a({},o.hoverinfo)},"calc","nested");_.x.editType=_.y.editType=_.z.editType="calc+clearAxisTypes"}}),_I=De({"src/traces/scatter3d/defaults.js"(Y,H){"use strict";var p=Mo(),x=ui(),S=Hu(),E=Od(),e=Wd(),t=Xd(),r=i5();H.exports=function(n,a,s,h){function c(M,g){return x.coerce(n,a,r,M,g)}var m=o(n,a,c,h);if(!m){a.visible=!1;return}c("text"),c("hovertext"),c("hovertemplate"),c("hovertemplatefallback"),c("xhoverformat"),c("yhoverformat"),c("zhoverformat"),c("mode"),S.hasMarkers(a)&&E(n,a,s,h,c,{noAngle:!0,noLineDash:!0,noSelect:!0}),S.hasLines(a)&&(c("connectgaps"),e(n,a,s,h,c)),S.hasText(a)&&(c("texttemplate"),c("texttemplatefallback"),t(n,a,h,c,{noSelect:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}));var d=(a.line||{}).color,T=(a.marker||{}).color;c("surfaceaxis")>=0&&c("surfacecolor",d||T);for(var l=["x","y","z"],_=0;_<3;++_){var w="projection."+l[_];c(w+".show")&&(c(w+".opacity"),c(w+".scale"))}var A=p.getComponentMethod("errorbars","supplyDefaults");A(n,a,d||T||s,{axis:"z"}),A(n,a,d||T||s,{axis:"y",inherit:"z"}),A(n,a,d||T||s,{axis:"x",inherit:"z"})};function o(i,n,a,s){var h=0,c=a("x"),m=a("y"),d=a("z"),T=p.getComponentMethod("calendars","handleTraceDefaults");return T(i,n,["x","y","z"],s),c&&m&&d&&(h=Math.min(c.length,m.length,d.length),n._length=n._xlength=n._ylength=n._zlength=h),h}}}),xI=De({"src/traces/scatter3d/calc.js"(Y,H){"use strict";var p=Fv(),x=Yd();H.exports=function(E,e){var t=[{x:!1,y:!1,trace:e,t:{}}];return p(t,e),x(E,e),t}}}),bI=De({"node_modules/get-canvas-context/index.js"(Y,H){H.exports=p;function p(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," "));a[s]=d,h.tickmode=c}}o.ticks=a;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(a)}}}),MI=De({"src/plots/gl3d/scene.js"(Y,H){"use strict";var p=Dh().gl_plot3d,x=p.createCamera,S=p.createScene,E=wI(),e=T_(),t=Mo(),r=ui(),o=r.preserveDrawingBuffer(),i=us(),n=sf(),a=pp(),s=a5(),h=b2(),c=TI(),m=AI(),d=SI(),T=fv().applyAutorangeOptions,l,_,w=!1;function A(z,F){var N=document.createElement("div"),B=z.container;this.graphDiv=z.graphDiv;var I=document.createElementNS("http://www.w3.org/2000/svg","svg");I.style.position="absolute",I.style.top=I.style.left="0px",I.style.width=I.style.height="100%",I.style["z-index"]=20,I.style["pointer-events"]="none",N.appendChild(I),this.svgContainer=I,N.id=z.id,N.style.position="absolute",N.style.top=N.style.left="0px",N.style.width=N.style.height="100%",B.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,B=N.layout,I=function(){var O={};return z.isCameraChanged(B)&&(O[z.id+".camera"]=z.getCamera()),z.isAspectChanged(B)&&(O[z.id+".aspectratio"]=z.glplot.getAspectratio(),B[z.id].aspectmode!=="manual"&&(z.fullSceneLayout.aspectmode=B[z.id].aspectmode=O[z.id+".aspectmode"]="manual")),O},U=function(O){if(O.fullSceneLayout.dragmode!==!1){var X=I();O.saveLayout(B),O.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(O){if(N._context._scrollZoom.gl3d){if(z.camera._ortho){var X=O.deltaX>O.deltaY?1.1:.9090909090909091,J=z.glplot.getAspectratio();z.glplot.setAspectratio({x:X*J.x,y:X*J.y,z:X*J.z})}U(z)}},e?{passive:!1}:!1),z.glplot.canvas.addEventListener("mousemove",function(){if(z.fullSceneLayout.dragmode!==!1&&z.camera.mouseListener.buttons!==0){var O=I();z.graphDiv.emit("plotly_relayouting",O)}}),z.staticMode||z.glplot.canvas.addEventListener("webglcontextlost",function(O){N&&N.emit&&N.emit("plotly_webglcontextlost",{event:O,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,B=z.svgContainer,I=z.container.getBoundingClientRect();F._fullLayout._calcInverseTransform(F);var U=F._fullLayout._invScaleX,O=F._fullLayout._invScaleY,X=I.width*U,J=I.height*O;B.setAttributeNS(null,"viewBox","0 0 "+X+" "+J),B.setAttributeNS(null,"width",X),B.setAttributeNS(null,"height",J),d(z),z.glplot.axes.update(z.axesOptions);for(var se=Object.keys(z.traces),le=null,ce=z.glplot.selection,q=0;q")):N.type==="isosurface"||N.type==="volume"?(ie.valueLabel=i.hoverLabelText(z._mockAxis,z._mockAxis.d2l(ce.traceCoordinate[3]),N.valuehoverformat),_e.push("value: "+ie.valueLabel),ce.textLabel&&_e.push(ce.textLabel),ue=_e.join("
")):ue=ce.textLabel;var we={x:ce.traceCoordinate[0],y:ce.traceCoordinate[1],z:ce.traceCoordinate[2],data:V._input,fullData:V,curveNumber:V.index,pointNumber:oe};n.appendArrayPointValue(we,V,oe),N._module.eventData&&(we=V._module.eventData(we,ce,V,{},oe));var Re={points:[we]};if(z.fullSceneLayout.hovermode){var ze=[];n.loneHover({trace:V,x:(.5+.5*ee[0]/ee[3])*X,y:(.5-.5*ee[1]/ee[3])*J,xLabel:ie.xLabel,yLabel:ie.yLabel,zLabel:ie.zLabel,text:ue,name:le.name,color:n.castHoverOption(V,oe,"bgcolor")||le.color,borderColor:n.castHoverOption(V,oe,"bordercolor"),fontFamily:n.castHoverOption(V,oe,"font.family"),fontSize:n.castHoverOption(V,oe,"font.size"),fontColor:n.castHoverOption(V,oe,"font.color"),nameLength:n.castHoverOption(V,oe,"namelength"),textAlign:n.castHoverOption(V,oe,"align"),hovertemplate:r.castOption(V,oe,"hovertemplate"),hovertemplateLabels:r.extendFlat({},we,ie),eventData:[we]},{container:B,gd:F,inOut_bbox:ze}),we.bbox=ze[0]}ce.distance<5&&(ce.buttons||w)?F.emit("plotly_click",Re):F.emit("plotly_hover",Re),this.oldEventData=Re}else n.loneUnhover(B),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 v(z,F,N){for(var B=z.fullSceneLayout,I=0;I<3;I++){var U=b[I],O=U.charAt(0),X=B[U],J=F[O],se=F[O+"calendar"],le=F["_"+O+"length"];if(!r.isArrayOrTypedArray(J))N[0][I]=Math.min(N[0][I],0),N[1][I]=Math.max(N[1][I],le-1);else for(var ce,q=0;q<(le||J.length);q++)if(r.isArrayOrTypedArray(J[q]))for(var Z=0;ZV[1][O])V[0][O]=-1,V[1][O]=1;else{var tt=V[1][O]-V[0][O];V[0][O]-=tt/32,V[1][O]+=tt/32}if(j=[V[0][O],V[1][O]],j=T(j,J),V[0][O]=j[0],V[1][O]=j[1],J.isReversed()){var it=V[0][O];V[0][O]=V[1][O],V[1][O]=it}}else j=J.range,V[0][O]=J.r2l(j[0]),V[1][O]=J.r2l(j[1]);V[0][O]===V[1][O]&&(V[0][O]-=1,V[1][O]+=1),oe[O]=V[1][O]-V[0][O],J.range=[V[0][O],V[1][O]],J.limitRange(),B.glplot.setBounds(O,{min:J.range[0]*Z[O],max:J.range[1]*Z[O]})}var et,nt=le.aspectmode;if(nt==="cube")et=[1,1,1];else if(nt==="manual"){var Ae=le.aspectratio;et=[Ae.x,Ae.y,Ae.z]}else if(nt==="auto"||nt==="data"){var me=[1,1,1];for(O=0;O<3;++O){J=le[b[O]],se=J.type;var fe=ie[se];me[O]=Math.pow(fe.acc,1/fe.count)/Z[O]}nt==="data"||Math.max.apply(null,me)/Math.min.apply(null,me)<=4?et=me:et=[1,1,1]}else throw new Error("scene.js aspectRatio was not one of the enumerated types");le.aspectratio.x=ce.aspectratio.x=et[0],le.aspectratio.y=ce.aspectratio.y=et[1],le.aspectratio.z=ce.aspectratio.z=et[2],B.glplot.setAspectratio(le.aspectratio),B.viewInitial.aspectratio||(B.viewInitial.aspectratio={x:le.aspectratio.x,y:le.aspectratio.y,z:le.aspectratio.z}),B.viewInitial.aspectmode||(B.viewInitial.aspectmode=le.aspectmode);var Be=le.domain||null,Qe=F._size||null;if(Be&&Qe){var at=B.container.style;at.position="absolute",at.left=Qe.l+Be.x[0]*Qe.w+"px",at.top=Qe.t+(1-Be.y[1])*Qe.h+"px",at.width=Qe.w*(Be.x[1]-Be.x[0])+"px",at.height=Qe.h*(Be.y[1]-Be.y[0])+"px"}B.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 B=N.projection.type==="orthographic",I=F.camera._ortho;B!==I&&(F.glplot.redraw(),F.glplot.clearRGBA(),F.glplot.dispose(),F.initializeGLPlot())},M.isCameraChanged=function(z){var F=this,N=F.getCamera(),B=r.nestedProperty(z,F.id+".camera"),I=B.get();function U(se,le,ce,q){var Z=["up","center","eye"],ee=["x","y","z"];return le[Z[ce]]&&se[Z[ce]][ee[q]]===le[Z[ce]][ee[q]]}var O=!1;if(I===void 0)O=!0;else{for(var X=0;X<3;X++)for(var J=0;J<3;J++)if(!U(N,I,X,J)){O=!0;break}(!I.projection||N.projection&&N.projection.type!==I.projection.type)&&(O=!0)}return O},M.isAspectChanged=function(z){var F=this,N=F.glplot.getAspectratio(),B=r.nestedProperty(z,F.id+".aspectratio"),I=B.get();return I===void 0||I.x!==N.x||I.y!==N.y||I.z!==N.z},M.saveLayout=function(z){var F=this,N=F.fullLayout,B,I,U,O,X,J,se=F.isCameraChanged(z),le=F.isAspectChanged(z),ce=se||le;if(ce){var q={};if(se&&(B=F.getCamera(),I=r.nestedProperty(z,F.id+".camera"),U=I.get(),q[F.id+".camera"]=U),le&&(O=F.glplot.getAspectratio(),X=r.nestedProperty(z,F.id+".aspectratio"),J=X.get(),q[F.id+".aspectratio"]=J),t.call("_storeDirectGUIEdit",z,N._preGUI,q),se){I.set(B);var Z=r.nestedProperty(N,F.id+".camera");Z.set(B)}if(le){X.set(O);var ee=r.nestedProperty(N,F.id+".aspectratio");ee.set(O),F.glplot.redraw()}}return ce},M.updateFx=function(z,F){var N=this,B=N.camera;if(B)if(z==="orbit")B.mode="orbit",B.keyBindingMode="rotate";else if(z==="turntable"){B.up=[0,0,1],B.mode="turntable",B.keyBindingMode="rotate";var I=N.graphDiv,U=I._fullLayout,O=N.fullSceneLayout.camera,X=O.up.x,J=O.up.y,se=O.up.z;if(se/Math.sqrt(X*X+J*J+se*se)<.999){var le=N.id+".camera.up",ce={x:0,y:0,z:1},q={};q[le]=ce;var Z=I.layout;t.call("_storeDirectGUIEdit",Z,U._preGUI,q),O.up=ce,r.nestedProperty(Z,le).set(ce)}}else B.keyBindingMode=z;N.fullSceneLayout.hovermode=F};function R(z,F,N){for(var B=0,I=N-1;B0)for(var X=255/O,J=0;J<3;++J)z[U+J]=Math.min(X*z[U+J],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,B=N.drawingBufferWidth,I=N.drawingBufferHeight;N.bindFramebuffer(N.FRAMEBUFFER,null);var U=new Uint8Array(B*I*4);N.readPixels(0,0,B,I,N.RGBA,N.UNSIGNED_BYTE,U),R(U,B,I),L(U,B,I);var O=document.createElement("canvas");O.width=B,O.height=I;var X=O.getContext("2d",{willReadFrequently:!0}),J=X.createImageData(B,I);J.data.set(U),X.putImageData(J,0,0);var se;switch(z){case"jpeg":se=O.toDataURL("image/jpeg");break;case"webp":se=O.toDataURL("image/webp");break;default:se=O.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]];i.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"},i.setConvert(z._mockAxis,N)},H.exports=A}}),EI=De({"src/plots/gl3d/layout/attributes.js"(Y,H){"use strict";H.exports={scene:{valType:"subplotid",dflt:"scene",editType:"calc+clearAxisTypes"}}}}),n5=De({"src/plots/gl3d/layout/axis_attributes.js"(Y,H){"use strict";var p=vo(),x=Ih(),S=Xo().extendFlat,E=gc().overrideAll;H.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:p.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")}}),o5=De({"src/plots/gl3d/layout/layout_attributes.js"(Y,H){"use strict";var p=n5(),x=Ec().attributes,S=Xo().extendFlat,E=ui().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"}}H.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:p,yaxis:p,zaxis:p,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"}}}),kI=De({"src/plots/gl3d/layout/axis_defaults.js"(Y,H){"use strict";var p=wu().mix,x=ui(),S=Gl(),E=n5(),e=_2(),t=yy(),r=["xaxis","yaxis","zaxis"],o=100*136/187;H.exports=function(n,a,s){var h,c;function m(l,_){return x.coerce(h,c,E,l,_)}for(var d=0;d1;function m(d){if(!c){var T=p.validate(a[d],t[d]);if(T)return a[d]}}E(a,s,h,{type:o,attributes:t,handleDefaults:i,fullLayout:s,font:s.font,fullData:h,getDfltFromLayout:m,autotypenumbersDflt:s.autotypenumbers,paper_bgcolor:s.paper_bgcolor,calendar:s.calendar})};function i(n,a,s,h){for(var c=s("bgcolor"),m=x.combine(c,h.paper_bgcolor),d=["up","center","eye"],T=0;T.999)&&(M="turntable")}else M="turntable";s("dragmode",M),s("hovermode",h.getDfltFromLayout("hovermode"))}}}),n0=De({"src/plots/gl3d/index.js"(Y){"use strict";var H=gc().overrideAll,p=Rv(),x=MI(),S=Lh().getSubplotData,E=ui(),e=Bd(),t="gl3d",r="scene";Y.name=t,Y.attr=r,Y.idRoot=r,Y.idRegex=Y.attrRegex=E.counterRegex("scene"),Y.attributes=EI(),Y.layoutAttributes=o5(),Y.baseLayoutAttrOverrides=H({hoverlabel:p.hoverlabel},"plot","nested"),Y.supplyLayoutDefaults=CI(),Y.plot=function(i){for(var n=i._fullLayout,a=i._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/=d(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],B=0;B0&&this.contourStart[L]!==null&&this.contourEnd[L]!==null&&this.contourEnd[L]>this.contourStart[L]))for(f[L]=!0,z=this.contourStart[L];zJ&&(this.minValues[U]=J),this.maxValues[U]h&&(o.isomin=null,o.isomax=null);var c=a("x"),m=a("y"),d=a("z"),T=a("value");if(!c||!c.length||!m||!m.length||!d||!d.length||!T||!T.length){o.visible=!1;return}var l=x.getComponentMethod("calendars","handleTraceDefaults");l(r,o,["x","y","z"],n),a("valuehoverformat"),["x","y","z"].forEach(function(M){a(M+"hoverformat");var g="caps."+M,b=a(g+".show");b&&a(g+".fill");var v="slices."+M,u=a(v+".show");u&&(a(v+".fill"),a(v+".locations"))});var _=a("spaceframe.show");_&&a("spaceframe.fill");var w=a("surface.show");w&&(a("surface.count"),a("surface.fill"),a("surface.pattern"));var A=a("contour.show");A&&(a("contour.color"),a("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){a(M)}),E(r,o,n,a,{prefix:"",cLetter:"c"}),o._length=null}H.exports={supplyDefaults:e,supplyIsoDefaults:t}}}),ab=De({"src/traces/streamtube/calc.js"(Y,H){"use strict";var p=ui(),x=Jh();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 i=E(o);o._gridFill=i.fill,o._Xs=i.Xs,o._Ys=i.Ys,o._Zs=i.Zs,o._len=i.len;var n=0,a,s,h;o.starts&&(a=t(o.starts.x||[]),s=t(o.starts.y||[]),h=t(o.starts.z||[]),n=Math.min(a.length,s.length,h.length)),o._startsX=a||[],o._startsY=s||[],o._startsZ=h||[];var c=0,m=1/0,d;for(d=0;d1&&(u=o[a-1],f=i[a-1],L=n[a-1]),s=0;su?"-":"+")+"x"),A=A.replace("y",(y>f?"-":"+")+"y"),A=A.replace("z",(R>L?"-":"+")+"z");var B=function(){a=0,z=[],F=[],N=[]};(!a||a0;m--){var d=Math.min(c[m],c[m-1]),T=Math.max(c[m],c[m-1]);if(T>d&&d-1}function Q(xt,Ne){return xt===null?Ne:xt}function re(xt,Ne,Ye){se();var be=[Ne],Ie=[Ye];if(V>=1)be=[Ne],Ie=[Ye];else if(V>0){var qe=ie(Ne,Ye);be=qe.xyzv,Ie=qe.abc}for(var ke=0;ke-1?Ye[Le]:J(ut,lt,gt);nr>-1?Me[Le]=nr:Me[Le]=ce(ut,lt,gt,Q(xt,kt))}q(Me[0],Me[1],Me[2])}}function ue(xt,Ne,Ye){var be=function(Ie,qe,ke){re(xt,[Ne[Ie],Ne[qe],Ne[ke]],[Ye[Ie],Ye[qe],Ye[ke]])};be(0,1,2),be(2,3,0)}function _e(xt,Ne,Ye){var be=function(Ie,qe,ke){re(xt,[Ne[Ie],Ne[qe],Ne[ke]],[Ye[Ie],Ye[qe],Ye[ke]])};be(0,1,2),be(3,0,1),be(2,3,0),be(1,2,3)}function we(xt,Ne,Ye,be){var Ie=xt[3];Iebe&&(Ie=be);for(var qe=(xt[3]-Ie)/(xt[3]-Ne[3]+1e-9),ke=[],Me=0;Me<4;Me++)ke[Me]=(1-qe)*xt[Me]+qe*Ne[Me];return ke}function Re(xt,Ne,Ye){return xt>=Ne&&xt<=Ye}function ze(xt){var Ne=.001*(B-N);return xt>=N-Ne&&xt<=B+Ne}function Xe(xt){for(var Ne=[],Ye=0;Ye<4;Ye++){var be=xt[Ye];Ne.push([h._x[be],h._y[be],h._z[be],h._value[be]])}return Ne}var tt=3;function it(xt,Ne,Ye,be,Ie,qe){qe||(qe=1),Ye=[-1,-1,-1];var ke=!1,Me=[Re(Ne[0][3],be,Ie),Re(Ne[1][3],be,Ie),Re(Ne[2][3],be,Ie)];if(!Me[0]&&!Me[1]&&!Me[2])return!1;var Le=function(lt,gt,kt){return ze(gt[0][3])&&ze(gt[1][3])&&ze(gt[2][3])?(re(lt,gt,kt),!0):qeMe?[z,qe]:[qe,F];Vt(Ne,Le[0],Le[1])}}var ut=[[Math.min(N,F),Math.max(N,F)],[Math.min(z,B),Math.max(z,B)]];["x","y","z"].forEach(function(lt){for(var gt=[],kt=0;kt0&&(Vi.push(ea.id),lt==="x"?Ui.push([ea.distRatio,0,0]):lt==="y"?Ui.push([0,ea.distRatio,0]):Ui.push([0,0,ea.distRatio]))}else lt==="x"?vi=qr(1,u-1):lt==="y"?vi=qr(1,y-1):vi=qr(1,f-1);Vi.length>0&&(lt==="x"?gt[nr]=Wt(xt,Vi,ir,tr,Ui,gt[nr]):lt==="y"?gt[nr]=Cr(xt,Vi,ir,tr,Ui,gt[nr]):gt[nr]=yr(xt,Vi,ir,tr,Ui,gt[nr]),nr++),vi.length>0&&(lt==="x"?gt[nr]=Qe(xt,vi,ir,tr,gt[nr]):lt==="y"?gt[nr]=at(xt,vi,ir,tr,gt[nr]):gt[nr]=$e(xt,vi,ir,tr,gt[nr]),nr++)}var Bi=h.caps[lt];Bi.show&&Bi.fill&&(oe(Bi.fill),lt==="x"?gt[nr]=Qe(xt,[0,u-1],ir,tr,gt[nr]):lt==="y"?gt[nr]=at(xt,[0,y-1],ir,tr,gt[nr]):gt[nr]=$e(xt,[0,f-1],ir,tr,gt[nr]),nr++)}}),w===0&&le(),h._meshX=I,h._meshY=U,h._meshZ=O,h._meshIntensity=X,h._Xs=g,h._Ys=b,h._Zs=v}return Dr(),h}function s(h,c){var m=h.glplot.gl,d=p({gl:m}),T=new o(h,d,c.uid);return d._trace=T,T.update(c),h.glplot.add(d),T}H.exports={findNearestOnAxis:r,generateIsoMeshes:a,createIsosurfaceTrace:s}}}),FI=De({"src/traces/isosurface/index.js"(Y,H){"use strict";H.exports={attributes:ib(),supplyDefaults:l5().supplyDefaults,calc:u5(),colorbar:{min:"cmin",max:"cmax"},plot:nb().createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:n0(),categories:["gl3d","showLegend"],meta:{}}}}),BI=De({"lib/isosurface.js"(Y,H){"use strict";H.exports=FI()}}),c5=De({"src/traces/volume/attributes.js"(Y,H){"use strict";var p=zu(),x=ib(),S=Qy(),E=Yl(),e=Xo().extendFlat,t=gc().overrideAll,r=H.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},p("",{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"}}),OI=De({"src/traces/volume/defaults.js"(Y,H){"use strict";var p=ui(),x=c5(),S=l5().supplyIsoDefaults,E=s5().opacityscaleDefaults;H.exports=function(t,r,o,i){function n(a,s){return p.coerce(t,r,x,a,s)}S(t,r,o,i,n),E(t,r,i,n)}}}),NI=De({"src/traces/volume/convert.js"(Y,H){"use strict";var p=Dh().gl_mesh3d,x=mp().parseColorScale,S=ui().isArrayOrTypedArray,E=pp(),e=oc().extractOpts,t=bg(),r=nb().findNearestOnAxis,o=nb().generateIsoMeshes;function i(s,h,c){this.scene=s,this.uid=c,this.mesh=h,this.name="",this.data=null,this.showContour=!1}var n=i.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],d=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(d,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 d=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:d,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 a(s,h){var c=s.glplot.gl,m=p({gl:c}),d=new i(s,m,h.uid);return m._trace=d,d.update(h),s.glplot.add(m),d}H.exports=a}}),UI=De({"src/traces/volume/index.js"(Y,H){"use strict";H.exports={attributes:c5(),supplyDefaults:OI(),calc:u5(),colorbar:{min:"cmin",max:"cmax"},plot:NI(),moduleType:"trace",name:"volume",basePlotModule:n0(),categories:["gl3d","showLegend"],meta:{}}}}),jI=De({"lib/volume.js"(Y,H){"use strict";H.exports=UI()}}),VI=De({"src/traces/mesh3d/defaults.js"(Y,H){"use strict";var p=Mo(),x=ui(),S=dh(),E=xg();H.exports=function(t,r,o,i){function n(m,d){return x.coerce(t,r,E,m,d)}function a(m){var d=m.map(function(T){var l=n(T);return l&&x.isArrayOrTypedArray(l)?l:null});return d.every(function(T){return T&&T.length===d[0].length})&&d}var s=a(["x","y","z"]);if(!s){r.visible=!1;return}if(a(["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=p.getComponentMethod("calendars","handleTraceDefaults");h(t,r,["x","y","z"],i),["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,i,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}}}),qI=De({"src/traces/mesh3d/calc.js"(Y,H){"use strict";var p=Jh();H.exports=function(S,E){E.intensity&&p(S,E,{vals:E.intensity,containerStr:"",cLetter:"c"})}}}),HI=De({"src/traces/mesh3d/convert.js"(Y,H){"use strict";var p=Dh().gl_mesh3d,x=Dh().delaunay_triangulate,S=Dh().alpha_shape,E=Dh().convex_hull,e=mp().parseColorScale,t=ui().isArrayOrTypedArray,r=pp(),o=oc().extractOpts,i=bg();function n(l,_,w){this.scene=l,this.uid=w,this.mesh=_,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var a=n.prototype;a.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}a.update=function(l){var _=this.scene,w=_.fullSceneLayout;this.data=l;var A=l.x.length,M=i(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||!d(l.i,A)||!d(l.j,A)||!d(l.k,A))return;g=i(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 v=o(l);this.color="#fff";var u=l.intensitymode;b[u+"Intensity"]=l.intensity,b[u+"IntensityBounds"]=[v.min,v.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)},a.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function T(l,_){var w=l.glplot.gl,A=p({gl:w}),M=new n(l,A,_.uid);return A._trace=M,M.update(_),l.glplot.add(A),M}H.exports=T}}),GI=De({"src/traces/mesh3d/index.js"(Y,H){"use strict";H.exports={attributes:xg(),supplyDefaults:VI(),calc:qI(),colorbar:{min:"cmin",max:"cmax"},plot:HI(),moduleType:"trace",name:"mesh3d",basePlotModule:n0(),categories:["gl3d","showLegend"],meta:{}}}}),WI=De({"lib/mesh3d.js"(Y,H){"use strict";H.exports=GI()}}),f5=De({"src/traces/cone/attributes.js"(Y,H){"use strict";var p=zu(),x=of().axisHoverFormat,{hovertemplateAttrs:S,templatefallbackAttrs:E}=ou(),e=xg(),t=Yl(),r=Xo().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,p("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));var i=["opacity","lightposition","lighting"];i.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"}),H.exports=o}}),XI=De({"src/traces/cone/defaults.js"(Y,H){"use strict";var p=ui(),x=dh(),S=f5();H.exports=function(e,t,r,o){function i(T,l){return p.coerce(e,t,S,T,l)}var n=i("u"),a=i("v"),s=i("w"),h=i("x"),c=i("y"),m=i("z");if(!n||!n.length||!a||!a.length||!s||!s.length||!h||!h.length||!c||!c.length||!m||!m.length){t.visible=!1;return}var d=i("sizemode");i("sizeref",d==="raw"?1:.5),i("anchor"),i("lighting.ambient"),i("lighting.diffuse"),i("lighting.specular"),i("lighting.roughness"),i("lighting.fresnel"),i("lightposition.x"),i("lightposition.y"),i("lightposition.z"),x(e,t,o,i,{prefix:"",cLetter:"c"}),i("text"),i("hovertext"),i("hovertemplate"),i("hovertemplatefallback"),i("uhoverformat"),i("vhoverformat"),i("whoverformat"),i("xhoverformat"),i("yhoverformat"),i("zhoverformat"),t._length=null}}}),YI=De({"src/traces/cone/calc.js"(Y,H){"use strict";var p=Jh();H.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),i=-1/0,n=1/0,a=0;a2?d=c.slice(1,m-1):m===2?d=[(c[0]+c[1])/2]:d=c,d}function a(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 d=c.fullSceneLayout,T=c.dataScale,l=m._len,_={};function w(ce,q){var Z=d[q],ee=T[r[q]];return S.simpleMap(ce,function(V){return Z.d2l(V)*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 v=M[0],u=n(A),y=n(g),f=new Array(u.length*y.length),R=0,L=0;Lv&&(v=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;++Lv&&(v=F[0]),F[1]u&&(u=F[1])});for(M in w.objects)f(w.objects[M]);return[g,b,v,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,v=o(w,A);return M==null&&g==null?{type:"Feature",properties:b,geometry:v}:g==null?{type:"Feature",id:M,properties:b,geometry:v}:{type:"Feature",id:M,bbox:g,properties:b,geometry:v}}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,B=F.length;N1)g=s(w,A,M);else for(b=0,g=new Array(v=w.arcs.length);b1)for(var z=1,F=y(R[0]),N,B;zF&&(B=R[0],R[0]=R[z],R[z]=B,F=N);return R}).filter(function(f){return f.length>0})}}function d(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],v=f[3],u;A={scale:[b-M?(b-M)/(u-1):1,v-g?(v-g)/(u-1):1],translate:[M,g]}}else f=w.bbox;var y=l(A),f,R,L=w.objects,z={};function F(I){return y(I)}function N(I){var U;switch(I.type){case"GeometryCollection":U={type:"GeometryCollection",geometries:I.geometries.map(N)};break;case"Point":U={type:"Point",coordinates:F(I.coordinates)};break;case"MultiPoint":U={type:"MultiPoint",coordinates:I.coordinates.map(F)};break;default:return I}return I.id!=null&&(U.id=I.id),I.bbox!=null&&(U.bbox=I.bbox),I.properties!=null&&(U.properties=I.properties),U}function B(I){var U=0,O=1,X=I.length,J,se=new Array(X);for(se[0]=y(I[0],0);++U0&&(E.push(e),e=[])}return e.length>0&&E.push(e),E},Y.makeLine=function(p){return p.length===1?{type:"LineString",coordinates:p[0]}:{type:"MultiLineString",coordinates:p}},Y.makePolygon=function(p){if(p.length===1)return{type:"Polygon",coordinates:p};for(var x=new Array(p.length),S=0;Se(N,z)),F)}function r(L,z,F={}){for(let B of L){if(B.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");if(B[B.length-1].length!==B[0].length)throw new Error("First and last Position are not equivalent.");for(let I=0;Ir(N,z)),F)}function i(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 a(L.map(N=>i(N,z)),F)}function a(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 d(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=p[z];if(!F)throw new Error(z+" units is invalid");return L*F}function l(L,z="kilometers"){let F=p[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 v(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 B=x[F];if(!B)throw new Error("invalid final units");return L/N*B}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")}Y.areaFactors=x,Y.azimuthToBearing=A,Y.bearingToAzimuth=w,Y.convertArea=v,Y.convertLength=b,Y.degreesToRadians=g,Y.earthRadius=H,Y.factors=p,Y.feature=S,Y.featureCollection=a,Y.geometry=E,Y.geometryCollection=m,Y.isNumber=u,Y.isObject=y,Y.lengthToDegrees=_,Y.lengthToRadians=l,Y.lineString=i,Y.lineStrings=n,Y.multiLineString=s,Y.multiPoint=h,Y.multiPolygon=c,Y.point=e,Y.points=t,Y.polygon=r,Y.polygons=o,Y.radiansToDegrees=M,Y.radiansToLength=T,Y.round=d,Y.validateBBox=f,Y.validateId=R}}),ub=De({"node_modules/@turf/meta/dist/cjs/index.cjs"(Y){"use strict";Object.defineProperty(Y,"__esModule",{value:!0});var H=lb();function p(l,_,w){if(l!==null)for(var A,M,g,b,v,u,y,f=0,R=0,L,z=l.type,F=z==="FeatureCollection",N=z==="Feature",B=F?l.features.length:1,I=0;Iu||F>y||N>f){v=R,u=A,y=F,f=N,g=0;return}var B=H.lineString.call(void 0,[v,R],w.properties);if(_(B,A,M,N,g)===!1)return!1;g++,v=R})===!1)return!1}}})}function h(l,_,w){var A=w,M=!1;return s(l,function(g,b,v,u,y){M===!1&&w===void 0?A=g:A=_(A,g,b,v,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 v=0;vn+S(a),0)}function S(i){let n=0,a;switch(i.type){case"Polygon":return E(i.coordinates);case"MultiPolygon":for(a=0;a0){n+=Math.abs(r(i[0]));for(let a=1;a=n?(s+2)%n:s+2],d=h[0]*t,T=c[1]*t,l=m[0]*t;a+=(l-d)*Math.sin(T),s++}return a*e}var o=x;Y.area=x,Y.default=o}}),oP=De({"node_modules/@turf/centroid/dist/cjs/index.cjs"(Y){"use strict";Object.defineProperty(Y,"__esModule",{value:!0});var H=lb(),p=ub();function x(E,e={}){let t=0,r=0,o=0;return p.coordEach.call(void 0,E,function(i){t+=i[0],r+=i[1],o++},!0),H.point.call(void 0,[t/o,r/o],e.properties)}var S=x;Y.centroid=x,Y.default=S}}),sP=De({"node_modules/@turf/bbox/dist/cjs/index.cjs"(Y){"use strict";Object.defineProperty(Y,"__esModule",{value:!0});var H=ub();function p(S,E={}){if(S.bbox!=null&&E.recompute!==!0)return S.bbox;let e=[1/0,1/0,-1/0,-1/0];return H.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[B++]=[z[R][0]+360,z[R][1]]:R===F?(N[B++]=z[R],N[B++]=[z[R][0],-90]):N[B++]=z[R];var I=n.tester(N);I.pts.pop(),v.push(I)}:u=function(z){v.push(n.tester(z))},M.type){case"MultiPolygon":for(y=0;y0?I.properties.ct=l(I):I.properties.ct=[NaN,NaN],N.fIn=z,N.fOut=I,v.push(I)}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;uv&&(v=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){p.json(R,function(F,N){if(F){delete M[R];var B=F.status===404?'GeoJSON at URL "'+R+'" does not exist.':"Unexpected error while fetching from "+R;return z(new Error(B))}return M[R]=N,L(N)})})}function v(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")}}}),uP=De({"src/traces/scattergeo/event_data.js"(Y,H){"use strict";H.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}}}),cP=De({"src/traces/scattergeo/select.js"(Y,H){"use strict";var p=Hu(),x=zn().BADNUM;H.exports=function(E,e){var t=E.cd,r=E.xaxis,o=E.yaxis,i=[],n=t[0].trace,a,s,h,c,m,d=!p.hasMarkers(n)&&!p.hasText(n);if(d)return[];if(e===!1)for(m=0;mV?1:ee>=V?0:NaN}function S(ee){return ee.length===1&&(ee=E(ee)),{left:function(V,oe,ie,j){for(ie==null&&(ie=0),j==null&&(j=V.length);ie>>1;ee(V[Q],oe)<0?ie=Q+1:j=Q}return ie},right:function(V,oe,ie,j){for(ie==null&&(ie=0),j==null&&(j=V.length);ie>>1;ee(V[Q],oe)>0?j=Q:ie=Q+1}return ie}}}function E(ee){return function(V,oe){return x(ee(V),oe)}}var e=S(x),t=e.right,r=e.left;function o(ee,V){V==null&&(V=i);for(var oe=0,ie=ee.length-1,j=ee[0],Q=new Array(ie<0?0:ie);oeee?1:V>=ee?0:NaN}function s(ee){return ee===null?NaN:+ee}function h(ee,V){var oe=ee.length,ie=0,j=-1,Q=0,re,ue,_e=0;if(V==null)for(;++j1)return _e/(ie-1)}function c(ee,V){var oe=h(ee,V);return oe&&Math.sqrt(oe)}function m(ee,V){var oe=ee.length,ie=-1,j,Q,re;if(V==null){for(;++ie=j)for(Q=re=j;++iej&&(Q=j),re=j)for(Q=re=j;++iej&&(Q=j),re0)return[ee];if((ie=V0)for(ee=Math.ceil(ee/ue),V=Math.floor(V/ue),re=new Array(Q=Math.ceil(V-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,V,oe){var ie=Math.abs(V-ee)/Math.max(0,oe),j=Math.pow(10,Math.floor(Math.log(ie)/Math.LN10)),Q=ie/j;return Q>=M?j*=10:Q>=g?j*=5:Q>=b&&(j*=2),Vze;)Xe.pop(),--tt;var it=new Array(tt+1),et;for(Q=0;Q<=tt;++Q)et=it[Q]=[],et.x0=Q>0?Xe[Q-1]:Re,et.x1=Q=1)return+oe(ee[ie-1],ie-1,ee);var ie,j=(ie-1)*V,Q=Math.floor(j),re=+oe(ee[Q],Q,ee),ue=+oe(ee[Q+1],Q+1,ee);return re+(ue-re)*(j-Q)}}function z(ee,V,oe){return ee=l.call(ee,s).sort(x),Math.ceil((oe-V)/(2*(L(ee,.75)-L(ee,.25))*Math.pow(ee.length,-1/3)))}function F(ee,V,oe){return Math.ceil((oe-V)/(3.5*c(ee)*Math.pow(ee.length,-1/3)))}function N(ee,V){var oe=ee.length,ie=-1,j,Q;if(V==null){for(;++ie=j)for(Q=j;++ieQ&&(Q=j)}else for(;++ie=j)for(Q=j;++ieQ&&(Q=j);return Q}function B(ee,V){var oe=ee.length,ie=oe,j=-1,Q,re=0;if(V==null)for(;++j=0;)for(re=ee[V],oe=re.length;--oe>=0;)Q[--j]=re[oe];return Q}function O(ee,V){var oe=ee.length,ie=-1,j,Q;if(V==null){for(;++ie=j)for(Q=j;++iej&&(Q=j)}else for(;++ie=j)for(Q=j;++iej&&(Q=j);return Q}function X(ee,V){for(var oe=V.length,ie=new Array(oe);oe--;)ie[oe]=ee[V[oe]];return ie}function J(ee,V){if(oe=ee.length){var oe,ie=0,j=0,Q,re=ee[j];for(V==null&&(V=x);++ie0?1:er<0?-1:0},v=Math.sqrt,u=Math.tan;function y(er){return er>1?0:er<-1?i:Math.acos(er)}function f(er){return er>1?n:er<-1?-n:Math.asin(er)}function R(er){return(er=g(er/2))*er}function L(){}function z(er,wr){er&&N.hasOwnProperty(er.type)&&N[er.type](er,wr)}var F={Feature:function(er,wr){z(er.geometry,wr)},FeatureCollection:function(er,wr){for(var ai=er.features,Jr=-1,Fi=ai.length;++Jr=0?1:-1,Fi=Jr*ai,pa=l(wr),Ba=g(wr),an=q*Ba,hn=ce*pa+an*l(Fi),Ln=an*Jr*g(Fi);O.add(T(Ln,hn)),le=er,ce=pa,q=Ba}function j(er){return X.reset(),U(er,Z),X*2}function Q(er){return[T(er[1],er[0]),f(er[2])]}function re(er){var wr=er[0],ai=er[1],Jr=l(ai);return[Jr*l(wr),Jr*g(wr),g(ai)]}function ue(er,wr){return er[0]*wr[0]+er[1]*wr[1]+er[2]*wr[2]}function _e(er,wr){return[er[1]*wr[2]-er[2]*wr[1],er[2]*wr[0]-er[0]*wr[2],er[0]*wr[1]-er[1]*wr[0]]}function we(er,wr){er[0]+=wr[0],er[1]+=wr[1],er[2]+=wr[2]}function Re(er,wr){return[er[0]*wr,er[1]*wr,er[2]*wr]}function ze(er){var wr=v(er[0]*er[0]+er[1]*er[1]+er[2]*er[2]);er[0]/=wr,er[1]/=wr,er[2]/=wr}var Xe,tt,it,et,nt,Ae,me,fe,Be=S(),Qe,at,$e={point:It,lineStart:Vt,lineEnd:Wt,polygonStart:function(){$e.point=Cr,$e.lineStart=yr,$e.lineEnd=qr,Be.reset(),Z.polygonStart()},polygonEnd:function(){Z.polygonEnd(),$e.point=It,$e.lineStart=Vt,$e.lineEnd=Wt,O<0?(Xe=-(it=180),tt=-(et=90)):Be>r?et=90:Be<-r&&(tt=-90),at[0]=Xe,at[1]=it},sphere:function(){Xe=-(it=180),tt=-(et=90)}};function It(er,wr){Qe.push(at=[Xe=er,it=er]),wret&&(et=wr)}function Pt(er,wr){var ai=re([er*c,wr*c]);if(fe){var Jr=_e(fe,ai),Fi=[Jr[1],-Jr[0],0],pa=_e(Fi,Jr);ze(pa),pa=Q(pa);var Ba=er-nt,an=Ba>0?1:-1,hn=pa[0]*h*an,Ln,Na=m(Ba)>180;Na^(an*ntet&&(et=Ln)):(hn=(hn+360)%360-180,Na^(an*ntet&&(et=wr))),Na?erMr(Xe,it)&&(it=er):Mr(er,it)>Mr(Xe,it)&&(Xe=er):it>=Xe?(erit&&(it=er)):er>nt?Mr(Xe,er)>Mr(Xe,it)&&(it=er):Mr(er,it)>Mr(Xe,it)&&(Xe=er)}else Qe.push(at=[Xe=er,it=er]);wret&&(et=wr),fe=ai,nt=er}function Vt(){$e.point=Pt}function Wt(){at[0]=Xe,at[1]=it,$e.point=It,fe=null}function Cr(er,wr){if(fe){var ai=er-nt;Be.add(m(ai)>180?ai+(ai>0?360:-360):ai)}else Ae=er,me=wr;Z.point(er,wr),Pt(er,wr)}function yr(){Z.lineStart()}function qr(){Cr(Ae,me),Z.lineEnd(),m(Be)>r&&(Xe=-(it=180)),at[0]=Xe,at[1]=it,fe=null}function Mr(er,wr){return(wr-=er)<0?wr+360:wr}function Dr(er,wr){return er[0]-wr[0]}function xt(er,wr){return er[0]<=er[1]?er[0]<=wr&&wr<=er[1]:wrMr(Jr[0],Jr[1])&&(Jr[1]=Fi[1]),Mr(Fi[0],Jr[1])>Mr(Jr[0],Jr[1])&&(Jr[0]=Fi[0])):pa.push(Jr=Fi);for(Ba=-1/0,ai=pa.length-1,wr=0,Jr=pa[ai];wr<=ai;Jr=Fi,++wr)Fi=pa[wr],(an=Mr(Jr[1],Fi[0]))>Ba&&(Ba=an,Xe=Fi[0],it=Jr[1])}return Qe=at=null,Xe===1/0||tt===1/0?[[NaN,NaN],[NaN,NaN]]:[[Xe,tt],[it,et]]}var Ye,be,Ie,qe,ke,Me,Le,ut,lt,gt,kt,nr,ir,tr,Ir,vi,Vi={sphere:L,point:Ui,lineStart:ea,lineEnd:Ca,polygonStart:function(){Vi.lineStart=Kt,Vi.lineEnd=zt},polygonEnd:function(){Vi.lineStart=ea,Vi.lineEnd=Ca}};function Ui(er,wr){er*=c,wr*=c;var ai=l(wr);Ki(ai*l(er),ai*g(er),g(wr))}function Ki(er,wr,ai){++Ye,Ie+=(er-Ie)/Ye,qe+=(wr-qe)/Ye,ke+=(ai-ke)/Ye}function ea(){Vi.point=Bi}function Bi(er,wr){er*=c,wr*=c;var ai=l(wr);tr=ai*l(er),Ir=ai*g(er),vi=g(wr),Vi.point=_a,Ki(tr,Ir,vi)}function _a(er,wr){er*=c,wr*=c;var ai=l(wr),Jr=ai*l(er),Fi=ai*g(er),pa=g(wr),Ba=T(v((Ba=Ir*pa-vi*Fi)*Ba+(Ba=vi*Jr-tr*pa)*Ba+(Ba=tr*Fi-Ir*Jr)*Ba),tr*Jr+Ir*Fi+vi*pa);be+=Ba,Me+=Ba*(tr+(tr=Jr)),Le+=Ba*(Ir+(Ir=Fi)),ut+=Ba*(vi+(vi=pa)),Ki(tr,Ir,vi)}function Ca(){Vi.point=Ui}function Kt(){Vi.point=Zt}function zt(){Jt(nr,ir),Vi.point=Ui}function Zt(er,wr){nr=er,ir=wr,er*=c,wr*=c,Vi.point=Jt;var ai=l(wr);tr=ai*l(er),Ir=ai*g(er),vi=g(wr),Ki(tr,Ir,vi)}function Jt(er,wr){er*=c,wr*=c;var ai=l(wr),Jr=ai*l(er),Fi=ai*g(er),pa=g(wr),Ba=Ir*pa-vi*Fi,an=vi*Jr-tr*pa,hn=tr*Fi-Ir*Jr,Ln=v(Ba*Ba+an*an+hn*hn),Na=f(Ln),qa=Ln&&-Na/Ln;lt+=qa*Ba,gt+=qa*an,kt+=qa*hn,be+=Na,Me+=Na*(tr+(tr=Jr)),Le+=Na*(Ir+(Ir=Fi)),ut+=Na*(vi+(vi=pa)),Ki(tr,Ir,vi)}function Br(er){Ye=be=Ie=qe=ke=Me=Le=ut=lt=gt=kt=0,U(er,Vi);var wr=lt,ai=gt,Jr=kt,Fi=wr*wr+ai*ai+Jr*Jr;return Fii?er+Math.round(-er/s)*s:er,wr]}di.invert=di;function Wi(er,wr,ai){return(er%=s)?wr||ai?ii(ra(er),ca(wr,ai)):ra(er):wr||ai?ca(wr,ai):di}function oa(er){return function(wr,ai){return wr+=er,[wr>i?wr-s:wr<-i?wr+s:wr,ai]}}function ra(er){var wr=oa(er);return wr.invert=oa(-er),wr}function ca(er,wr){var ai=l(er),Jr=g(er),Fi=l(wr),pa=g(wr);function Ba(an,hn){var Ln=l(hn),Na=l(an)*Ln,qa=g(an)*Ln,Za=g(hn),Ta=Za*ai+Na*Jr;return[T(qa*Fi-Ta*pa,Na*ai-Za*Jr),f(Ta*Fi+qa*pa)]}return Ba.invert=function(an,hn){var Ln=l(hn),Na=l(an)*Ln,qa=g(an)*Ln,Za=g(hn),Ta=Za*Fi-qa*pa;return[T(qa*Fi+Za*pa,Na*ai+Ta*Jr),f(Ta*ai-Na*Jr)]},Ba}function xa(er){er=Wi(er[0]*c,er[1]*c,er.length>2?er[2]*c:0);function wr(ai){return ai=er(ai[0]*c,ai[1]*c),ai[0]*=h,ai[1]*=h,ai}return wr.invert=function(ai){return ai=er.invert(ai[0]*c,ai[1]*c),ai[0]*=h,ai[1]*=h,ai},wr}function ji(er,wr,ai,Jr,Fi,pa){if(ai){var Ba=l(wr),an=g(wr),hn=Jr*ai;Fi==null?(Fi=wr+Jr*s,pa=wr-hn/2):(Fi=pn(Ba,Fi),pa=pn(Ba,pa),(Jr>0?Fipa)&&(Fi+=Jr*s));for(var Ln,Na=Fi;Jr>0?Na>pa:Na1&&er.push(er.pop().concat(er.shift()))},result:function(){var ai=er;return er=[],wr=null,ai}}}function bt(er,wr){return m(er[0]-wr[0])=0;--an)Fi.point((qa=Na[an])[0],qa[1]);else Jr(Za.x,Za.p.x,-1,Fi);Za=Za.p}Za=Za.o,Na=Za.z,Ta=!Ta}while(!Za.v);Fi.lineEnd()}}}function Lr(er){if(wr=er.length){for(var wr,ai=0,Jr=er[0],Fi;++ai=0?1:-1,Qs=pl*js,hl=Qs>i,Bs=go*Oo;if(br.add(T(Bs*pl*g(Qs),wo*ps+Bs*l(Qs))),Ba+=hl?js+pl*s:js,hl^Ta>=ai^Vn>=ai){var Wl=_e(re(Za),re(Io));ze(Wl);var Il=_e(pa,Wl);ze(Il);var wl=(hl^js>=0?-1:1)*f(Il[2]);(Jr>wl||Jr===wl&&(Wl[0]||Wl[1]))&&(an+=hl^js>=0?1:-1)}}return(Ba<-r||Ba0){for(hn||(Fi.polygonStart(),hn=!0),Fi.lineStart(),ps=0;ps1&&wn&2&&Oo.push(Oo.pop().concat(Oo.shift())),Na.push(Oo.filter(yt))}}return Za}}function yt(er){return er.length>1}function Xt(er,wr){return((er=er.x)[0]<0?er[1]-n-r:n-er[1])-((wr=wr.x)[0]<0?wr[1]-n-r:n-wr[1])}var mr=Wr(function(){return!0},Or,Ni,[-i,-n]);function Or(er){var wr=NaN,ai=NaN,Jr=NaN,Fi;return{lineStart:function(){er.lineStart(),Fi=1},point:function(pa,Ba){var an=pa>0?i:-i,hn=m(pa-wr);m(hn-i)0?n:-n),er.point(Jr,ai),er.lineEnd(),er.lineStart(),er.point(an,ai),er.point(pa,ai),Fi=0):Jr!==an&&hn>=i&&(m(wr-Jr)r?d((g(wr)*(pa=l(Jr))*g(ai)-g(Jr)*(Fi=l(wr))*g(er))/(Fi*pa*Ba)):(wr+Jr)/2}function Ni(er,wr,ai,Jr){var Fi;if(er==null)Fi=ai*n,Jr.point(-i,Fi),Jr.point(0,Fi),Jr.point(i,Fi),Jr.point(i,0),Jr.point(i,-Fi),Jr.point(0,-Fi),Jr.point(-i,-Fi),Jr.point(-i,0),Jr.point(-i,Fi);else if(m(er[0]-wr[0])>r){var pa=er[0]0,Fi=m(wr)>r;function pa(Na,qa,Za,Ta){ji(Ta,er,ai,Za,Na,qa)}function Ba(Na,qa){return l(Na)*l(qa)>wr}function an(Na){var qa,Za,Ta,Hn,go;return{lineStart:function(){Hn=Ta=!1,go=1},point:function(wo,yo){var Io=[wo,yo],Vn,wn=Ba(wo,yo),Oo=Jr?wn?0:Ln(wo,yo):wn?Ln(wo+(wo<0?i:-i),yo):0;if(!qa&&(Hn=Ta=wn)&&Na.lineStart(),wn!==Ta&&(Vn=hn(qa,Io),(!Vn||bt(qa,Vn)||bt(Io,Vn))&&(Io[2]=1)),wn!==Ta)go=0,wn?(Na.lineStart(),Vn=hn(Io,qa),Na.point(Vn[0],Vn[1])):(Vn=hn(qa,Io),Na.point(Vn[0],Vn[1],2),Na.lineEnd()),qa=Vn;else if(Fi&&qa&&Jr^wn){var ps;!(Oo&Za)&&(ps=hn(Io,qa,!0))&&(go=0,Jr?(Na.lineStart(),Na.point(ps[0][0],ps[0][1]),Na.point(ps[1][0],ps[1][1]),Na.lineEnd()):(Na.point(ps[1][0],ps[1][1]),Na.lineEnd(),Na.lineStart(),Na.point(ps[0][0],ps[0][1],3)))}wn&&(!qa||!bt(qa,Io))&&Na.point(Io[0],Io[1]),qa=Io,Ta=wn,Za=Oo},lineEnd:function(){Ta&&Na.lineEnd(),qa=null},clean:function(){return go|(Hn&&Ta)<<1}}}function hn(Na,qa,Za){var Ta=re(Na),Hn=re(qa),go=[1,0,0],wo=_e(Ta,Hn),yo=ue(wo,wo),Io=wo[0],Vn=yo-Io*Io;if(!Vn)return!Za&&Na;var wn=wr*yo/Vn,Oo=-wr*Io/Vn,ps=_e(go,wo),js=Re(go,wn),pl=Re(wo,Oo);we(js,pl);var Qs=ps,hl=ue(js,Qs),Bs=ue(Qs,Qs),Wl=hl*hl-Bs*(ue(js,js)-1);if(!(Wl<0)){var Il=v(Wl),wl=Re(Qs,(-hl-Il)/Bs);if(we(wl,js),wl=Q(wl),!Za)return wl;var io=Na[0],Jo=qa[0],cl=Na[1],Zs=qa[1],gu;Jo0^wl[1]<(m(wl[0]-io)i^(io<=wl[0]&&wl[0]<=Jo)){var Lu=Re(Qs,(-hl+Il)/Bs);return we(Lu,js),[wl,Q(Lu)]}}}function Ln(Na,qa){var Za=Jr?er:i-er,Ta=0;return Na<-Za?Ta|=1:Na>Za&&(Ta|=2),qa<-Za?Ta|=4:qa>Za&&(Ta|=8),Ta}return Wr(Ba,an,pa,Jr?[0,-er]:[-i,er-i])}function fi(er,wr,ai,Jr,Fi,pa){var Ba=er[0],an=er[1],hn=wr[0],Ln=wr[1],Na=0,qa=1,Za=hn-Ba,Ta=Ln-an,Hn;if(Hn=ai-Ba,!(!Za&&Hn>0)){if(Hn/=Za,Za<0){if(Hn0){if(Hn>qa)return;Hn>Na&&(Na=Hn)}if(Hn=Fi-Ba,!(!Za&&Hn<0)){if(Hn/=Za,Za<0){if(Hn>qa)return;Hn>Na&&(Na=Hn)}else if(Za>0){if(Hn0)){if(Hn/=Ta,Ta<0){if(Hn0){if(Hn>qa)return;Hn>Na&&(Na=Hn)}if(Hn=pa-an,!(!Ta&&Hn<0)){if(Hn/=Ta,Ta<0){if(Hn>qa)return;Hn>Na&&(Na=Hn)}else if(Ta>0){if(Hn0&&(er[0]=Ba+Na*Za,er[1]=an+Na*Ta),qa<1&&(wr[0]=Ba+qa*Za,wr[1]=an+qa*Ta),!0}}}}}var Li=1e9,Ia=-Li;function Fa(er,wr,ai,Jr){function Fi(Ln,Na){return er<=Ln&&Ln<=ai&&wr<=Na&&Na<=Jr}function pa(Ln,Na,qa,Za){var Ta=0,Hn=0;if(Ln==null||(Ta=Ba(Ln,qa))!==(Hn=Ba(Na,qa))||hn(Ln,Na)<0^qa>0)do Za.point(Ta===0||Ta===3?er:ai,Ta>1?Jr:wr);while((Ta=(Ta+qa+4)%4)!==Hn);else Za.point(Na[0],Na[1])}function Ba(Ln,Na){return m(Ln[0]-er)0?0:3:m(Ln[0]-ai)0?2:1:m(Ln[1]-wr)0?1:0:Na>0?3:2}function an(Ln,Na){return hn(Ln.x,Na.x)}function hn(Ln,Na){var qa=Ba(Ln,1),Za=Ba(Na,1);return qa!==Za?qa-Za:qa===0?Na[1]-Ln[1]:qa===1?Ln[0]-Na[0]:qa===2?Ln[1]-Na[1]:Na[0]-Ln[0]}return function(Ln){var Na=Ln,qa=En(),Za,Ta,Hn,go,wo,yo,Io,Vn,wn,Oo,ps,js={point:pl,lineStart:Wl,lineEnd:Il,polygonStart:hl,polygonEnd:Bs};function pl(io,Jo){Fi(io,Jo)&&Na.point(io,Jo)}function Qs(){for(var io=0,Jo=0,cl=Ta.length;JoJr&&(Oc-Bc)*(Jr-Lu)>(Pu-Lu)*(er-Bc)&&++io:Pu<=Jr&&(Oc-Bc)*(Jr-Lu)<(Pu-Lu)*(er-Bc)&&--io;return io}function hl(){Na=qa,Za=[],Ta=[],ps=!0}function Bs(){var io=Qs(),Jo=ps&&io,cl=(Za=x.merge(Za)).length;(Jo||cl)&&(Ln.polygonStart(),Jo&&(Ln.lineStart(),pa(null,null,1,Ln),Ln.lineEnd()),cl&&Nr(Za,an,io,pa,Ln),Ln.polygonEnd()),Na=Ln,Za=Ta=Hn=null}function Wl(){js.point=wl,Ta&&Ta.push(Hn=[]),Oo=!0,wn=!1,Io=Vn=NaN}function Il(){Za&&(wl(go,wo),yo&&wn&&qa.rejoin(),Za.push(qa.result())),js.point=pl,wn&&Na.lineEnd()}function wl(io,Jo){var cl=Fi(io,Jo);if(Ta&&Hn.push([io,Jo]),Oo)go=io,wo=Jo,yo=cl,Oo=!1,cl&&(Na.lineStart(),Na.point(io,Jo));else if(cl&&wn)Na.point(io,Jo);else{var Zs=[Io=Math.max(Ia,Math.min(Li,Io)),Vn=Math.max(Ia,Math.min(Li,Vn))],gu=[io=Math.max(Ia,Math.min(Li,io)),Jo=Math.max(Ia,Math.min(Li,Jo))];fi(Zs,gu,er,wr,ai,Jr)?(wn||(Na.lineStart(),Na.point(Zs[0],Zs[1])),Na.point(gu[0],gu[1]),cl||Na.lineEnd(),ps=!1):cl&&(Na.lineStart(),Na.point(io,Jo),ps=!1)}Io=io,Vn=Jo,wn=cl}return js}}function un(){var er=0,wr=0,ai=960,Jr=500,Fi,pa,Ba;return Ba={stream:function(an){return Fi&&pa===an?Fi:Fi=Fa(er,wr,ai,Jr)(pa=an)},extent:function(an){return arguments.length?(er=+an[0][0],wr=+an[0][1],ai=+an[1][0],Jr=+an[1][1],Fi=pa=null,Ba):[[er,wr],[ai,Jr]]}}}var Bn=S(),Kn,Gn,eo,Ao={sphere:L,point:L,lineStart:An,lineEnd:L,polygonStart:L,polygonEnd:L};function An(){Ao.point=fs,Ao.lineEnd=Eo}function Eo(){Ao.point=Ao.lineEnd=L}function fs(er,wr){er*=c,wr*=c,Kn=er,Gn=g(wr),eo=l(wr),Ao.point=Ls}function Ls(er,wr){er*=c,wr*=c;var ai=g(wr),Jr=l(wr),Fi=m(er-Kn),pa=l(Fi),Ba=g(Fi),an=Jr*Ba,hn=eo*ai-Gn*Jr*pa,Ln=Gn*ai+eo*Jr*pa;Bn.add(T(v(an*an+hn*hn),Ln)),Kn=er,Gn=ai,eo=Jr}function ns(er){return Bn.reset(),U(er,Ao),+Bn}var uo=[null,null],ss={type:"LineString",coordinates:uo};function xs(er,wr){return uo[0]=er,uo[1]=wr,ns(ss)}var el={Feature:function(er,wr){return Co(er.geometry,wr)},FeatureCollection:function(er,wr){for(var ai=er.features,Jr=-1,Fi=ai.length;++Jr0&&(Fi=xs(er[pa],er[pa-1]),Fi>0&&ai<=Fi&&Jr<=Fi&&(ai+Jr-Fi)*(1-Math.pow((ai-Jr)/Fi,2))r}).map(Za)).concat(x.range(_(pa/Ln)*Ln,Fi,Ln).filter(function(Vn){return m(Vn%qa)>r}).map(Ta))}return yo.lines=function(){return Io().map(function(Vn){return{type:"LineString",coordinates:Vn}})},yo.outline=function(){return{type:"Polygon",coordinates:[Hn(Jr).concat(go(Ba).slice(1),Hn(ai).reverse().slice(1),go(an).reverse().slice(1))]}},yo.extent=function(Vn){return arguments.length?yo.extentMajor(Vn).extentMinor(Vn):yo.extentMinor()},yo.extentMajor=function(Vn){return arguments.length?(Jr=+Vn[0][0],ai=+Vn[1][0],an=+Vn[0][1],Ba=+Vn[1][1],Jr>ai&&(Vn=Jr,Jr=ai,ai=Vn),an>Ba&&(Vn=an,an=Ba,Ba=Vn),yo.precision(wo)):[[Jr,an],[ai,Ba]]},yo.extentMinor=function(Vn){return arguments.length?(wr=+Vn[0][0],er=+Vn[1][0],pa=+Vn[0][1],Fi=+Vn[1][1],wr>er&&(Vn=wr,wr=er,er=Vn),pa>Fi&&(Vn=pa,pa=Fi,Fi=Vn),yo.precision(wo)):[[wr,pa],[er,Fi]]},yo.step=function(Vn){return arguments.length?yo.stepMajor(Vn).stepMinor(Vn):yo.stepMinor()},yo.stepMajor=function(Vn){return arguments.length?(Na=+Vn[0],qa=+Vn[1],yo):[Na,qa]},yo.stepMinor=function(Vn){return arguments.length?(hn=+Vn[0],Ln=+Vn[1],yo):[hn,Ln]},yo.precision=function(Vn){return arguments.length?(wo=+Vn,Za=rn(pa,Fi,90),Ta=Xn(wr,er,wo),Hn=rn(an,Ba,90),go=Xn(Jr,ai,wo),yo):wo},yo.extentMajor([[-180,-90+r],[180,90-r]]).extentMinor([[-180,-80-r],[180,80+r]])}function zs(){return tl()()}function so(er,wr){var ai=er[0]*c,Jr=er[1]*c,Fi=wr[0]*c,pa=wr[1]*c,Ba=l(Jr),an=g(Jr),hn=l(pa),Ln=g(pa),Na=Ba*l(ai),qa=Ba*g(ai),Za=hn*l(Fi),Ta=hn*g(Fi),Hn=2*f(v(R(pa-Jr)+Ba*hn*R(Fi-ai))),go=g(Hn),wo=Hn?function(yo){var Io=g(yo*=Hn)/go,Vn=g(Hn-yo)/go,wn=Vn*Na+Io*Za,Oo=Vn*qa+Io*Ta,ps=Vn*an+Io*Ln;return[T(Oo,wn)*h,T(ps,v(wn*wn+Oo*Oo))*h]}:function(){return[ai*h,Jr*h]};return wo.distance=Hn,wo}function $s(er){return er}var Ps=S(),nl=S(),yl,On,Ko,jo,Ys={point:L,lineStart:L,lineEnd:L,polygonStart:function(){Ys.lineStart=Tu,Ys.lineEnd=kl},polygonEnd:function(){Ys.lineStart=Ys.lineEnd=Ys.point=L,Ps.add(m(nl)),nl.reset()},result:function(){var er=Ps/2;return Ps.reset(),er}};function Tu(){Ys.point=Lo}function Lo(er,wr){Ys.point=al,yl=Ko=er,On=jo=wr}function al(er,wr){nl.add(jo*er-Ko*wr),Ko=er,jo=wr}function kl(){al(yl,On)}var Ns=1/0,rl=Ns,Es=-Ns,Us=Es,Zl={point:pu,lineStart:L,lineEnd:L,polygonStart:L,polygonEnd:L,result:function(){var er=[[Ns,rl],[Es,Us]];return Es=Us=-(rl=Ns=1/0),er}};function pu(er,wr){erEs&&(Es=er),wrUs&&(Us=wr)}var kc=0,Au=0,Sf=0,Gc=0,Js=0,yc=0,Zc=0,mu=0,Vl=0,lc,Gu,_l,Cl,Fs={point:ol,lineStart:uc,lineEnd:Sl,polygonStart:function(){Fs.lineStart=vh,Fs.lineEnd=ws},polygonEnd:function(){Fs.point=ol,Fs.lineStart=uc,Fs.lineEnd=Sl},result:function(){var er=Vl?[Zc/Vl,mu/Vl]:yc?[Gc/yc,Js/yc]:Sf?[kc/Sf,Au/Sf]:[NaN,NaN];return kc=Au=Sf=Gc=Js=yc=Zc=mu=Vl=0,er}};function ol(er,wr){kc+=er,Au+=wr,++Sf}function uc(){Fs.point=Kl}function Kl(er,wr){Fs.point=Zu,ol(_l=er,Cl=wr)}function Zu(er,wr){var ai=er-_l,Jr=wr-Cl,Fi=v(ai*ai+Jr*Jr);Gc+=Fi*(_l+er)/2,Js+=Fi*(Cl+wr)/2,yc+=Fi,ol(_l=er,Cl=wr)}function Sl(){Fs.point=ol}function vh(){Fs.point=ph}function ws(){qs(lc,Gu)}function ph(er,wr){Fs.point=qs,ol(lc=_l=er,Gu=Cl=wr)}function qs(er,wr){var ai=er-_l,Jr=wr-Cl,Fi=v(ai*ai+Jr*Jr);Gc+=Fi*(_l+er)/2,Js+=Fi*(Cl+wr)/2,yc+=Fi,Fi=Cl*er-_l*wr,Zc+=Fi*(_l+er),mu+=Fi*(Cl+wr),Vl+=Fi*3,ol(_l=er,Cl=wr)}function xo(er){this._context=er}xo.prototype={_radius:4.5,pointRadius:function(er){return this._radius=er,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(er,wr){switch(this._point){case 0:{this._context.moveTo(er,wr),this._point=1;break}case 1:{this._context.lineTo(er,wr);break}default:{this._context.moveTo(er+this._radius,wr),this._context.arc(er,wr,this._radius,0,s);break}}},result:L};var Kc=S(),Ku,$l,Mf,Cc,uf,su={point:L,lineStart:function(){su.point=Wf},lineEnd:function(){Ku&&Rf($l,Mf),su.point=L},polygonStart:function(){Ku=!0},polygonEnd:function(){Ku=null},result:function(){var er=+Kc;return Kc.reset(),er}};function Wf(er,wr){su.point=Rf,$l=Cc=er,Mf=uf=wr}function Rf(er,wr){Cc-=er,uf-=wr,Kc.add(v(Cc*Cc+uf*uf)),Cc=er,uf=wr}function cf(){this._string=[]}cf.prototype={_radius:4.5,_circle:Wc(4.5),pointRadius:function(er){return(er=+er)!==this._radius&&(this._radius=er,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(er,wr){switch(this._point){case 0:{this._string.push("M",er,",",wr),this._point=1;break}case 1:{this._string.push("L",er,",",wr);break}default:{this._circle==null&&(this._circle=Wc(this._radius)),this._string.push("M",er,",",wr,this._circle);break}}},result:function(){if(this._string.length){var er=this._string.join("");return this._string=[],er}else return null}};function Wc(er){return"m0,"+er+"a"+er+","+er+" 0 1,1 0,"+-2*er+"a"+er+","+er+" 0 1,1 0,"+2*er+"z"}function Df(er,wr){var ai=4.5,Jr,Fi;function pa(Ba){return Ba&&(typeof ai=="function"&&Fi.pointRadius(+ai.apply(this,arguments)),U(Ba,Jr(Fi))),Fi.result()}return pa.area=function(Ba){return U(Ba,Jr(Ys)),Ys.result()},pa.measure=function(Ba){return U(Ba,Jr(su)),su.result()},pa.bounds=function(Ba){return U(Ba,Jr(Zl)),Zl.result()},pa.centroid=function(Ba){return U(Ba,Jr(Fs)),Fs.result()},pa.projection=function(Ba){return arguments.length?(Jr=Ba==null?(er=null,$s):(er=Ba).stream,pa):er},pa.context=function(Ba){return arguments.length?(Fi=Ba==null?(wr=null,new cf):new xo(wr=Ba),typeof ai!="function"&&Fi.pointRadius(ai),pa):wr},pa.pointRadius=function(Ba){return arguments.length?(ai=typeof Ba=="function"?Ba:(Fi.pointRadius(+Ba),+Ba),pa):ai},pa.projection(er).context(wr)}function zf(er){return{stream:$u(er)}}function $u(er){return function(wr){var ai=new Ef;for(var Jr in er)ai[Jr]=er[Jr];return ai.stream=wr,ai}}function Ef(){}Ef.prototype={constructor:Ef,point:function(er,wr){this.stream.point(er,wr)},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 cc(er,wr,ai){var Jr=er.clipExtent&&er.clipExtent();return er.scale(150).translate([0,0]),Jr!=null&&er.clipExtent(null),U(ai,er.stream(Zl)),wr(Zl.result()),Jr!=null&&er.clipExtent(Jr),er}function $c(er,wr,ai){return cc(er,function(Jr){var Fi=wr[1][0]-wr[0][0],pa=wr[1][1]-wr[0][1],Ba=Math.min(Fi/(Jr[1][0]-Jr[0][0]),pa/(Jr[1][1]-Jr[0][1])),an=+wr[0][0]+(Fi-Ba*(Jr[1][0]+Jr[0][0]))/2,hn=+wr[0][1]+(pa-Ba*(Jr[1][1]+Jr[0][1]))/2;er.scale(150*Ba).translate([an,hn])},ai)}function lu(er,wr,ai){return $c(er,[[0,0],wr],ai)}function Xc(er,wr,ai){return cc(er,function(Jr){var Fi=+wr,pa=Fi/(Jr[1][0]-Jr[0][0]),Ba=(Fi-pa*(Jr[1][0]+Jr[0][0]))/2,an=-pa*Jr[0][1];er.scale(150*pa).translate([Ba,an])},ai)}function Lc(er,wr,ai){return cc(er,function(Jr){var Fi=+wr,pa=Fi/(Jr[1][1]-Jr[0][1]),Ba=-pa*Jr[0][0],an=(Fi-pa*(Jr[1][1]+Jr[0][1]))/2;er.scale(150*pa).translate([Ba,an])},ai)}var sl=16,kf=l(30*c);function ah(er,wr){return+wr?Jc(er,wr):Ff(er)}function Ff(er){return $u({point:function(wr,ai){wr=er(wr,ai),this.stream.point(wr[0],wr[1])}})}function Jc(er,wr){function ai(Jr,Fi,pa,Ba,an,hn,Ln,Na,qa,Za,Ta,Hn,go,wo){var yo=Ln-Jr,Io=Na-Fi,Vn=yo*yo+Io*Io;if(Vn>4*wr&&go--){var wn=Ba+Za,Oo=an+Ta,ps=hn+Hn,js=v(wn*wn+Oo*Oo+ps*ps),pl=f(ps/=js),Qs=m(m(ps)-1)wr||m((yo*Il+Io*wl)/Vn-.5)>.3||Ba*Za+an*Ta+hn*Hn2?io[2]%360*c:0,Il()):[an*h,hn*h,Ln*h]},Bs.angle=function(io){return arguments.length?(qa=io%360*c,Il()):qa*h},Bs.reflectX=function(io){return arguments.length?(Za=io?-1:1,Il()):Za<0},Bs.reflectY=function(io){return arguments.length?(Ta=io?-1:1,Il()):Ta<0},Bs.precision=function(io){return arguments.length?(ps=ah(js,Oo=io*io),wl()):v(Oo)},Bs.fitExtent=function(io,Jo){return $c(Bs,io,Jo)},Bs.fitSize=function(io,Jo){return lu(Bs,io,Jo)},Bs.fitWidth=function(io,Jo){return Xc(Bs,io,Jo)},Bs.fitHeight=function(io,Jo){return Lc(Bs,io,Jo)};function Il(){var io=Ll(ai,0,0,Za,Ta,qa).apply(null,wr(pa,Ba)),Jo=(qa?Ll:Bf)(ai,Jr-io[0],Fi-io[1],Za,Ta,qa);return Na=Wi(an,hn,Ln),js=ii(wr,Jo),pl=ii(Na,js),ps=ah(js,Oo),wl()}function wl(){return Qs=hl=null,Bs}return function(){return wr=er.apply(this,arguments),Bs.invert=wr.invert&&Wl,Il()}}function xl(er){var wr=0,ai=i/3,Jr=Ic(er),Fi=Jr(wr,ai);return Fi.parallels=function(pa){return arguments.length?Jr(wr=pa[0]*c,ai=pa[1]*c):[wr*h,ai*h]},Fi}function _c(er){var wr=l(er);function ai(Jr,Fi){return[Jr*wr,g(Fi)/wr]}return ai.invert=function(Jr,Fi){return[Jr/wr,f(Fi*wr)]},ai}function Eu(er,wr){var ai=g(er),Jr=(ai+g(wr))/2;if(m(Jr)=.12&&wo<.234&&go>=-.425&&go<-.214?Fi:wo>=.166&&wo<.234&&go>=-.214&&go<-.115?Ba:ai).invert(Za)},Na.stream=function(Za){return er&&wr===Za?er:er=Of([ai.stream(wr=Za),Fi.stream(Za),Ba.stream(Za)])},Na.precision=function(Za){return arguments.length?(ai.precision(Za),Fi.precision(Za),Ba.precision(Za),qa()):ai.precision()},Na.scale=function(Za){return arguments.length?(ai.scale(Za),Fi.scale(Za*.35),Ba.scale(Za),Na.translate(ai.translate())):ai.scale()},Na.translate=function(Za){if(!arguments.length)return ai.translate();var Ta=ai.scale(),Hn=+Za[0],go=+Za[1];return Jr=ai.translate(Za).clipExtent([[Hn-.455*Ta,go-.238*Ta],[Hn+.455*Ta,go+.238*Ta]]).stream(Ln),pa=Fi.translate([Hn-.307*Ta,go+.201*Ta]).clipExtent([[Hn-.425*Ta+r,go+.12*Ta+r],[Hn-.214*Ta-r,go+.234*Ta-r]]).stream(Ln),an=Ba.translate([Hn-.205*Ta,go+.212*Ta]).clipExtent([[Hn-.214*Ta+r,go+.166*Ta+r],[Hn-.115*Ta-r,go+.234*Ta-r]]).stream(Ln),qa()},Na.fitExtent=function(Za,Ta){return $c(Na,Za,Ta)},Na.fitSize=function(Za,Ta){return lu(Na,Za,Ta)},Na.fitWidth=function(Za,Ta){return Xc(Na,Za,Ta)},Na.fitHeight=function(Za,Ta){return Lc(Na,Za,Ta)};function qa(){return er=wr=null,Na}return Na.scale(1070)}function Wu(er){return function(wr,ai){var Jr=l(wr),Fi=l(ai),pa=er(Jr*Fi);return[pa*Fi*g(wr),pa*g(ai)]}}function Pc(er){return function(wr,ai){var Jr=v(wr*wr+ai*ai),Fi=er(Jr),pa=g(Fi),Ba=l(Fi);return[T(wr*pa,Jr*Ba),f(Jr&&ai*pa/Jr)]}}var xc=Wu(function(er){return v(2/(1+er))});xc.invert=Pc(function(er){return 2*f(er/2)});function _h(){return Bu(xc).scale(124.75).clipAngle(180-.001)}var ff=Wu(function(er){return(er=y(er))&&er/g(er)});ff.invert=Pc(function(er){return er});function yf(){return Bu(ff).scale(79.4188).clipAngle(180-.001)}function Xu(er,wr){return[er,A(u((n+wr)/2))]}Xu.invert=function(er,wr){return[er,2*d(w(wr))-n]};function hf(){return hu(Xu).scale(961/s)}function hu(er){var wr=Bu(er),ai=wr.center,Jr=wr.scale,Fi=wr.translate,pa=wr.clipExtent,Ba=null,an,hn,Ln;wr.scale=function(qa){return arguments.length?(Jr(qa),Na()):Jr()},wr.translate=function(qa){return arguments.length?(Fi(qa),Na()):Fi()},wr.center=function(qa){return arguments.length?(ai(qa),Na()):ai()},wr.clipExtent=function(qa){return arguments.length?(qa==null?Ba=an=hn=Ln=null:(Ba=+qa[0][0],an=+qa[0][1],hn=+qa[1][0],Ln=+qa[1][1]),Na()):Ba==null?null:[[Ba,an],[hn,Ln]]};function Na(){var qa=i*Jr(),Za=wr(xa(wr.rotate()).invert([0,0]));return pa(Ba==null?[[Za[0]-qa,Za[1]-qa],[Za[0]+qa,Za[1]+qa]]:er===Xu?[[Math.max(Za[0]-qa,Ba),an],[Math.min(Za[0]+qa,hn),Ln]]:[[Ba,Math.max(Za[1]-qa,an)],[hn,Math.min(Za[1]+qa,Ln)]])}return Na()}function Qc(er){return u((n+er)/2)}function nh(er,wr){var ai=l(er),Jr=er===wr?g(er):A(ai/l(wr))/A(Qc(wr)/Qc(er)),Fi=ai*M(Qc(er),Jr)/Jr;if(!Jr)return Xu;function pa(Ba,an){Fi>0?an<-n+r&&(an=-n+r):an>n-r&&(an=n-r);var hn=Fi/M(Qc(an),Jr);return[hn*g(Jr*Ba),Fi-hn*l(Jr*Ba)]}return pa.invert=function(Ba,an){var hn=Fi-an,Ln=b(Jr)*v(Ba*Ba+hn*hn),Na=T(Ba,m(hn))*b(hn);return hn*Jr<0&&(Na-=i*b(Ba)*b(hn)),[Na/Jr,2*d(M(Fi/Ln,1/Jr))-n]},pa}function _f(){return xl(nh).scale(109.5).parallels([30,30])}function bl(er,wr){return[er,wr]}bl.invert=bl;function ku(){return Bu(bl).scale(152.63)}function Ou(er,wr){var ai=l(er),Jr=er===wr?g(er):(ai-l(wr))/(wr-er),Fi=ai/Jr+er;if(m(Jr)r&&--Jr>0);return[er/(.8707+(pa=ai*ai)*(-.131979+pa*(-.013791+pa*pa*pa*(.003971-.001529*pa)))),ai]};function bc(){return Bu(Dc).scale(175.295)}function Jl(er,wr){return[l(wr)*g(er),g(wr)]}Jl.invert=Pc(f);function Cu(){return Bu(Jl).scale(249.5).clipAngle(90+r)}function zc(er,wr){var ai=l(wr),Jr=1+l(er)*ai;return[ai*g(er)/Jr,g(wr)/Jr]}zc.invert=Pc(function(er){return 2*d(er)});function tf(){return Bu(zc).scale(250).clipAngle(142)}function fc(er,wr){return[A(u((n+wr)/2)),-er]}fc.invert=function(er,wr){return[-wr,2*d(w(er))-n]};function Fc(){var er=hu(fc),wr=er.center,ai=er.rotate;return er.center=function(Jr){return arguments.length?wr([-Jr[1],Jr[0]]):(Jr=wr(),[Jr[1],-Jr[0]])},er.rotate=function(Jr){return arguments.length?ai([Jr[0],Jr[1],Jr.length>2?Jr[2]+90:90]):(Jr=ai(),[Jr[0],Jr[1],Jr[2]-90])},ai([0,0,90]).scale(159.155)}p.geoAlbers=Nl,p.geoAlbersUsa=Yf,p.geoArea=j,p.geoAzimuthalEqualArea=_h,p.geoAzimuthalEqualAreaRaw=xc,p.geoAzimuthalEquidistant=yf,p.geoAzimuthalEquidistantRaw=ff,p.geoBounds=Ne,p.geoCentroid=Br,p.geoCircle=_n,p.geoClipAntimeridian=mr,p.geoClipCircle=Si,p.geoClipExtent=un,p.geoClipRectangle=Fa,p.geoConicConformal=_f,p.geoConicConformalRaw=nh,p.geoConicEqualArea=Iu,p.geoConicEqualAreaRaw=Eu,p.geoConicEquidistant=Cf,p.geoConicEquidistantRaw=Ou,p.geoContains=hs,p.geoDistance=xs,p.geoEqualEarth=Lf,p.geoEqualEarthRaw=ef,p.geoEquirectangular=ku,p.geoEquirectangularRaw=bl,p.geoGnomonic=Nf,p.geoGnomonicRaw=du,p.geoGraticule=tl,p.geoGraticule10=zs,p.geoIdentity=ec,p.geoInterpolate=so,p.geoLength=ns,p.geoMercator=hf,p.geoMercatorRaw=Xu,p.geoNaturalEarth1=bc,p.geoNaturalEarth1Raw=Dc,p.geoOrthographic=Cu,p.geoOrthographicRaw=Jl,p.geoPath=Df,p.geoProjection=Bu,p.geoProjectionMutator=Ic,p.geoRotation=xa,p.geoStereographic=tf,p.geoStereographicRaw=zc,p.geoStream=U,p.geoTransform=zf,p.geoTransverseMercator=Fc,p.geoTransverseMercatorRaw=fc,Object.defineProperty(p,"__esModule",{value:!0})})}}),fP=De({"node_modules/d3-geo-projection/dist/d3-geo-projection.js"(Y,H){(function(p,x){typeof Y=="object"&&typeof H<"u"?x(Y,m5(),t1()):x(p.d3=p.d3||{},p.d3,p.d3)})(Y,function(p,x,S){"use strict";var E=Math.abs,e=Math.atan,t=Math.atan2,r=Math.cos,o=Math.exp,i=Math.floor,n=Math.log,a=Math.max,s=Math.min,h=Math.pow,c=Math.round,m=Math.sign||function(Ge){return Ge>0?1:Ge<0?-1:0},d=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),v=F(w),u=w*2,y=180/w,f=w/180;function R(Ge){return Ge?Ge/Math.sin(Ge):1}function L(Ge){return Ge>1?A:Ge<-1?-A:Math.asin(Ge)}function z(Ge){return Ge>1?0:Ge<-1?w:Math.acos(Ge)}function F(Ge){return Ge>0?Math.sqrt(Ge):0}function N(Ge){return Ge=o(2*Ge),(Ge-1)/(Ge+1)}function B(Ge){return(o(Ge)-o(-Ge))/2}function I(Ge){return(o(Ge)+o(-Ge))/2}function U(Ge){return n(Ge+F(Ge*Ge+1))}function O(Ge){return n(Ge+F(Ge*Ge-1))}function X(Ge){var Ze=T(Ge/2),ot=2*n(r(Ge/2))/(Ze*Ze);function dt(Ct,wt){var Dt=r(Ct),fr=r(wt),_r=d(wt),kr=fr*Dt,Vr=-((1-kr?n((1+kr)/2)/(1-kr):-.5)+ot/(1+kr));return[Vr*fr*d(Ct),Vr*_r]}return dt.invert=function(Ct,wt){var Dt=F(Ct*Ct+wt*wt),fr=-Ge/2,_r=50,kr;if(!Dt)return[0,0];do{var Vr=fr/2,Qr=r(Vr),_i=d(Vr),Pi=_i/Qr,qi=-n(E(Qr));fr-=kr=(2/Pi*qi-ot*Pi-Dt)/(-qi/(_i*_i)+1-ot/(2*Qr*Qr))*(Qr<0?.7:1)}while(E(kr)>l&&--_r>0);var ga=d(fr);return[t(Ct*ga,Dt*r(fr)),L(wt*ga/Dt)]},dt}function J(){var Ge=A,Ze=x.geoProjectionMutator(X),ot=Ze(Ge);return ot.radius=function(dt){return arguments.length?Ze(Ge=dt*f):Ge*y},ot.scale(179.976).clipAngle(147)}function se(Ge,Ze){var ot=r(Ze),dt=R(z(ot*r(Ge/=2)));return[2*ot*d(Ge)*dt,d(Ze)*dt]}se.invert=function(Ge,Ze){if(!(Ge*Ge+4*Ze*Ze>w*w+l)){var ot=Ge,dt=Ze,Ct=25;do{var wt=d(ot),Dt=d(ot/2),fr=r(ot/2),_r=d(dt),kr=r(dt),Vr=d(2*dt),Qr=_r*_r,_i=kr*kr,Pi=Dt*Dt,qi=1-_i*fr*fr,ga=qi?z(kr*fr)*F(Qa=1/qi):Qa=0,Qa,$a=2*ga*kr*Dt-Ge,yn=ga*_r-Ze,qn=Qa*(_i*Pi+ga*kr*fr*Qr),po=Qa*(.5*wt*Vr-ga*2*_r*Dt),to=Qa*.25*(Vr*Dt-ga*_r*_i*wt),Vo=Qa*(Qr*fr+ga*Pi*kr),bs=po*to-Vo*qn;if(!bs)break;var Ho=(yn*po-$a*Vo)/bs,ds=($a*to-yn*qn)/bs;ot-=Ho,dt-=ds}while((E(Ho)>l||E(ds)>l)&&--Ct>0);return[ot,dt]}};function le(){return x.geoProjection(se).scale(152.63)}function ce(Ge){var Ze=d(Ge),ot=r(Ge),dt=Ge>=0?1:-1,Ct=T(dt*Ge),wt=(1+Ze-ot)/2;function Dt(fr,_r){var kr=r(_r),Vr=r(fr/=2);return[(1+kr)*d(fr),(dt*_r>-t(Vr,Ct)-.001?0:-dt*10)+wt+d(_r)*ot-(1+kr)*Ze*Vr]}return Dt.invert=function(fr,_r){var kr=0,Vr=0,Qr=50;do{var _i=r(kr),Pi=d(kr),qi=r(Vr),ga=d(Vr),Qa=1+qi,$a=Qa*Pi-fr,yn=wt+ga*ot-Qa*Ze*_i-_r,qn=Qa*_i/2,po=-Pi*ga,to=Ze*Qa*Pi/2,Vo=ot*qi+Ze*_i*ga,bs=po*to-Vo*qn,Ho=(yn*po-$a*Vo)/bs/2,ds=($a*to-yn*qn)/bs;E(ds)>2&&(ds/=2),kr-=Ho,Vr-=ds}while((E(Ho)>l||E(ds)>l)&&--Qr>0);return dt*Vr>-t(r(kr),Ct)-.001?[kr*2,Vr]:null},Dt}function q(){var Ge=20*f,Ze=Ge>=0?1:-1,ot=T(Ze*Ge),dt=x.geoProjectionMutator(ce),Ct=dt(Ge),wt=Ct.stream;return Ct.parallel=function(Dt){return arguments.length?(ot=T((Ze=(Ge=Dt*f)>=0?1:-1)*Ge),dt(Ge)):Ge*y},Ct.stream=function(Dt){var fr=Ct.rotate(),_r=wt(Dt),kr=(Ct.rotate([0,0]),wt(Dt)),Vr=Ct.precision();return Ct.rotate(fr),_r.sphere=function(){kr.polygonStart(),kr.lineStart();for(var Qr=Ze*-180;Ze*Qr<180;Qr+=Ze*90)kr.point(Qr,Ze*90);if(Ge)for(;Ze*(Qr-=3*Ze*Vr)>=-180;)kr.point(Qr,Ze*-t(r(Qr*f/2),ot)*y);kr.lineEnd(),kr.polygonEnd()},_r},Ct.scale(218.695).center([0,28.0974])}function Z(Ge,Ze){var ot=T(Ze/2),dt=F(1-ot*ot),Ct=1+dt*r(Ge/=2),wt=d(Ge)*dt/Ct,Dt=ot/Ct,fr=wt*wt,_r=Dt*Dt;return[4/3*wt*(3+fr-3*_r),4/3*Dt*(3+3*fr-_r)]}Z.invert=function(Ge,Ze){if(Ge*=3/8,Ze*=3/8,!Ge&&E(Ze)>1)return null;var ot=Ge*Ge,dt=Ze*Ze,Ct=1+ot+dt,wt=F((Ct-F(Ct*Ct-4*Ze*Ze))/2),Dt=L(wt)/3,fr=wt?O(E(Ze/wt))/3:U(E(Ge))/3,_r=r(Dt),kr=I(fr),Vr=kr*kr-_r*_r;return[m(Ge)*2*t(B(fr)*_r,.25-Vr),m(Ze)*2*t(kr*d(Dt),.25+Vr)]};function ee(){return x.geoProjection(Z).scale(66.1603)}var V=F(8),oe=n(1+b);function ie(Ge,Ze){var ot=E(Ze);return ot_&&--dt>0);return[Ge/(r(ot)*(V-1/d(ot))),m(Ze)*ot]};function j(){return x.geoProjection(ie).scale(112.314)}function Q(Ge){var Ze=2*w/Ge;function ot(dt,Ct){var wt=x.geoAzimuthalEquidistantRaw(dt,Ct);if(E(dt)>A){var Dt=t(wt[1],wt[0]),fr=F(wt[0]*wt[0]+wt[1]*wt[1]),_r=Ze*c((Dt-A)/Ze)+A,kr=t(d(Dt-=_r),2-r(Dt));Dt=_r+L(w/fr*d(kr))-kr,wt[0]=fr*r(Dt),wt[1]=fr*d(Dt)}return wt}return ot.invert=function(dt,Ct){var wt=F(dt*dt+Ct*Ct);if(wt>A){var Dt=t(Ct,dt),fr=Ze*c((Dt-A)/Ze)+A,_r=Dt>fr?-1:1,kr=wt*r(fr-Dt),Vr=1/T(_r*z((kr-w)/F(w*(w-2*kr)+wt*wt)));Dt=fr+2*e((Vr+_r*F(Vr*Vr-3))/3),dt=wt*r(Dt),Ct=wt*d(Dt)}return x.geoAzimuthalEquidistantRaw.invert(dt,Ct)},ot}function re(){var Ge=5,Ze=x.geoProjectionMutator(Q),ot=Ze(Ge),dt=ot.stream,Ct=.01,wt=-r(Ct*f),Dt=d(Ct*f);return ot.lobes=function(fr){return arguments.length?Ze(Ge=+fr):Ge},ot.stream=function(fr){var _r=ot.rotate(),kr=dt(fr),Vr=(ot.rotate([0,0]),dt(fr));return ot.rotate(_r),kr.sphere=function(){Vr.polygonStart(),Vr.lineStart();for(var Qr=0,_i=360/Ge,Pi=2*w/Ge,qi=90-180/Ge,ga=A;Qr0&&E(Ct)>l);return dt<0?NaN:ot}function ze(Ge,Ze,ot){return Ze===void 0&&(Ze=40),ot===void 0&&(ot=_),function(dt,Ct,wt,Dt){var fr,_r,kr;wt=wt===void 0?0:+wt,Dt=Dt===void 0?0:+Dt;for(var Vr=0;Vrfr){wt-=_r/=2,Dt-=kr/=2;continue}fr=qi;var ga=(wt>0?-1:1)*ot,Qa=(Dt>0?-1:1)*ot,$a=Ge(wt+ga,Dt),yn=Ge(wt,Dt+Qa),qn=($a[0]-Qr[0])/ga,po=($a[1]-Qr[1])/ga,to=(yn[0]-Qr[0])/Qa,Vo=(yn[1]-Qr[1])/Qa,bs=Vo*qn-po*to,Ho=(E(bs)<.5?.5:1)/bs;if(_r=(Pi*to-_i*Vo)*Ho,kr=(_i*po-Pi*qn)*Ho,wt+=_r,Dt+=kr,E(_r)0&&(fr[1]*=1+_r/1.5*fr[0]*fr[0]),fr}return dt.invert=ze(dt),dt}function tt(){return x.geoProjection(Xe()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function it(Ge,Ze){var ot=Ge*d(Ze),dt=30,Ct;do Ze-=Ct=(Ze+d(Ze)-ot)/(1+r(Ze));while(E(Ct)>l&&--dt>0);return Ze/2}function et(Ge,Ze,ot){function dt(Ct,wt){return[Ge*Ct*r(wt=it(ot,wt)),Ze*d(wt)]}return dt.invert=function(Ct,wt){return wt=L(wt/Ze),[Ct/(Ge*r(wt)),L((2*wt+d(2*wt))/ot)]},dt}var nt=et(b/A,b,w);function Ae(){return x.geoProjection(nt).scale(169.529)}var me=2.00276,fe=1.11072;function Be(Ge,Ze){var ot=it(w,Ze);return[me*Ge/(1/r(Ze)+fe/r(ot)),(Ze+b*d(ot))/me]}Be.invert=function(Ge,Ze){var ot=me*Ze,dt=Ze<0?-M:M,Ct=25,wt,Dt;do Dt=ot-b*d(dt),dt-=wt=(d(2*dt)+2*dt-w*d(Dt))/(2*r(2*dt)+2+w*r(Dt)*b*r(dt));while(E(wt)>l&&--Ct>0);return Dt=ot-b*d(dt),[Ge*(1/r(Dt)+fe/r(dt))/me,Dt]};function Qe(){return x.geoProjection(Be).scale(160.857)}function at(Ge){var Ze=0,ot=x.geoProjectionMutator(Ge),dt=ot(Ze);return dt.parallel=function(Ct){return arguments.length?ot(Ze=Ct*f):Ze*y},dt}function $e(Ge,Ze){return[Ge*r(Ze),Ze]}$e.invert=function(Ge,Ze){return[Ge/r(Ze),Ze]};function It(){return x.geoProjection($e).scale(152.63)}function Pt(Ge){if(!Ge)return $e;var Ze=1/T(Ge);function ot(dt,Ct){var wt=Ze+Ge-Ct,Dt=wt&&dt*r(Ct)/wt;return[wt*d(Dt),Ze-wt*r(Dt)]}return ot.invert=function(dt,Ct){var wt=F(dt*dt+(Ct=Ze-Ct)*Ct),Dt=Ze+Ge-wt;return[wt/r(Dt)*t(dt,Ct),Dt]},ot}function Vt(){return at(Pt).scale(123.082).center([0,26.1441]).parallel(45)}function Wt(Ge){function Ze(ot,dt){var Ct=A-dt,wt=Ct&&ot*Ge*d(Ct)/Ct;return[Ct*d(wt)/Ge,A-Ct*r(wt)]}return Ze.invert=function(ot,dt){var Ct=ot*Ge,wt=A-dt,Dt=F(Ct*Ct+wt*wt),fr=t(Ct,wt);return[(Dt?Dt/d(Dt):1)*fr/Ge,A-Dt]},Ze}function Cr(){var Ge=.5,Ze=x.geoProjectionMutator(Wt),ot=Ze(Ge);return ot.fraction=function(dt){return arguments.length?Ze(Ge=+dt):Ge},ot.scale(158.837)}var yr=et(1,4/w,w);function qr(){return x.geoProjection(yr).scale(152.63)}function Mr(Ge,Ze,ot,dt,Ct,wt){var Dt=r(wt),fr;if(E(Ge)>1||E(wt)>1)fr=z(ot*Ct+Ze*dt*Dt);else{var _r=d(Ge/2),kr=d(wt/2);fr=2*L(F(_r*_r+Ze*dt*kr*kr))}return E(fr)>l?[fr,t(dt*d(wt),Ze*Ct-ot*dt*Dt)]:[0,0]}function Dr(Ge,Ze,ot){return z((Ge*Ge+Ze*Ze-ot*ot)/(2*Ge*Ze))}function xt(Ge){return Ge-2*w*i((Ge+w)/(2*w))}function Ne(Ge,Ze,ot){for(var dt=[[Ge[0],Ge[1],d(Ge[1]),r(Ge[1])],[Ze[0],Ze[1],d(Ze[1]),r(Ze[1])],[ot[0],ot[1],d(ot[1]),r(ot[1])]],Ct=dt[2],wt,Dt=0;Dt<3;++Dt,Ct=wt)wt=dt[Dt],Ct.v=Mr(wt[1]-Ct[1],Ct[3],Ct[2],wt[3],wt[2],wt[0]-Ct[0]),Ct.point=[0,0];var fr=Dr(dt[0].v[0],dt[2].v[0],dt[1].v[0]),_r=Dr(dt[0].v[0],dt[1].v[0],dt[2].v[0]),kr=w-fr;dt[2].point[1]=0,dt[0].point[0]=-(dt[1].point[0]=dt[0].v[0]/2);var Vr=[dt[2].point[0]=dt[0].point[0]+dt[2].v[0]*r(fr),2*(dt[0].point[1]=dt[1].point[1]=dt[2].v[0]*d(fr))];function Qr(_i,Pi){var qi=d(Pi),ga=r(Pi),Qa=new Array(3),$a;for($a=0;$a<3;++$a){var yn=dt[$a];if(Qa[$a]=Mr(Pi-yn[1],yn[3],yn[2],ga,qi,_i-yn[0]),!Qa[$a][0])return yn.point;Qa[$a][1]=xt(Qa[$a][1]-yn.v[1])}var qn=Vr.slice();for($a=0;$a<3;++$a){var po=$a==2?0:$a+1,to=Dr(dt[$a].v[0],Qa[$a][0],Qa[po][0]);Qa[$a][1]<0&&(to=-to),$a?$a==1?(to=_r-to,qn[0]-=Qa[$a][0]*r(to),qn[1]-=Qa[$a][0]*d(to)):(to=kr-to,qn[0]+=Qa[$a][0]*r(to),qn[1]+=Qa[$a][0]*d(to)):(qn[0]+=Qa[$a][0]*r(to),qn[1]-=Qa[$a][0]*d(to))}return qn[0]/=3,qn[1]/=3,qn}return Qr}function Ye(Ge){return Ge[0]*=f,Ge[1]*=f,Ge}function be(){return Ie([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Ie(Ge,Ze,ot){var dt=x.geoCentroid({type:"MultiPoint",coordinates:[Ge,Ze,ot]}),Ct=[-dt[0],-dt[1]],wt=x.geoRotation(Ct),Dt=Ne(Ye(wt(Ge)),Ye(wt(Ze)),Ye(wt(ot)));Dt.invert=ze(Dt);var fr=x.geoProjection(Dt).rotate(Ct),_r=fr.center;return delete fr.rotate,fr.center=function(kr){return arguments.length?_r(wt(kr)):wt.invert(_r())},fr.clipAngle(90)}function qe(Ge,Ze){var ot=F(1-d(Ze));return[2/v*Ge*ot,v*(1-ot)]}qe.invert=function(Ge,Ze){var ot=(ot=Ze/v-1)*ot;return[ot>0?Ge*F(w/ot)/2:0,L(1-ot)]};function ke(){return x.geoProjection(qe).scale(95.6464).center([0,30])}function Me(Ge){var Ze=T(Ge);function ot(dt,Ct){return[dt,(dt?dt/d(dt):1)*(d(Ct)*r(dt)-Ze*r(Ct))]}return ot.invert=Ze?function(dt,Ct){dt&&(Ct*=d(dt)/dt);var wt=r(dt);return[dt,2*t(F(wt*wt+Ze*Ze-Ct*Ct)-wt,Ze-Ct)]}:function(dt,Ct){return[dt,L(dt?Ct*T(dt)/dt:Ct)]},ot}function Le(){return at(Me).scale(249.828).clipAngle(90)}var ut=F(3);function lt(Ge,Ze){return[ut*Ge*(2*r(2*Ze/3)-1)/v,ut*v*d(Ze/3)]}lt.invert=function(Ge,Ze){var ot=3*L(Ze/(ut*v));return[v*Ge/(ut*(2*r(2*ot/3)-1)),ot]};function gt(){return x.geoProjection(lt).scale(156.19)}function kt(Ge){var Ze=r(Ge);function ot(dt,Ct){return[dt*Ze,d(Ct)/Ze]}return ot.invert=function(dt,Ct){return[dt/Ze,L(Ct*Ze)]},ot}function nr(){return at(kt).parallel(38.58).scale(195.044)}function ir(Ge){var Ze=r(Ge);function ot(dt,Ct){return[dt*Ze,(1+Ze)*T(Ct/2)]}return ot.invert=function(dt,Ct){return[dt/Ze,e(Ct/(1+Ze))*2]},ot}function tr(){return at(ir).scale(124.75)}function Ir(Ge,Ze){var ot=F(8/(3*w));return[ot*Ge*(1-E(Ze)/w),ot*Ze]}Ir.invert=function(Ge,Ze){var ot=F(8/(3*w)),dt=Ze/ot;return[Ge/(ot*(1-E(dt)/w)),dt]};function vi(){return x.geoProjection(Ir).scale(165.664)}function Vi(Ge,Ze){var ot=F(4-3*d(E(Ze)));return[2/F(6*w)*Ge*ot,m(Ze)*F(2*w/3)*(2-ot)]}Vi.invert=function(Ge,Ze){var ot=2-E(Ze)/F(2*w/3);return[Ge*F(6*w)/(2*ot),m(Ze)*L((4-ot*ot)/3)]};function Ui(){return x.geoProjection(Vi).scale(165.664)}function Ki(Ge,Ze){var ot=F(w*(4+w));return[2/ot*Ge*(1+F(1-4*Ze*Ze/(w*w))),4/ot*Ze]}Ki.invert=function(Ge,Ze){var ot=F(w*(4+w))/2;return[Ge*ot/(1+F(1-Ze*Ze*(4+w)/(4*w))),Ze*ot/2]};function ea(){return x.geoProjection(Ki).scale(180.739)}function Bi(Ge,Ze){var ot=(2+A)*d(Ze);Ze/=2;for(var dt=0,Ct=1/0;dt<10&&E(Ct)>l;dt++){var wt=r(Ze);Ze-=Ct=(Ze+d(Ze)*(wt+2)-ot)/(2*wt*(1+wt))}return[2/F(w*(4+w))*Ge*(1+r(Ze)),2*F(w/(4+w))*d(Ze)]}Bi.invert=function(Ge,Ze){var ot=Ze*F((4+w)/w)/2,dt=L(ot),Ct=r(dt);return[Ge/(2/F(w*(4+w))*(1+Ct)),L((dt+ot*(Ct+2))/(2+A))]};function _a(){return x.geoProjection(Bi).scale(180.739)}function Ca(Ge,Ze){return[Ge*(1+r(Ze))/F(2+w),2*Ze/F(2+w)]}Ca.invert=function(Ge,Ze){var ot=F(2+w),dt=Ze*ot/2;return[ot*Ge/(1+r(dt)),dt]};function Kt(){return x.geoProjection(Ca).scale(173.044)}function zt(Ge,Ze){for(var ot=(1+A)*d(Ze),dt=0,Ct=1/0;dt<10&&E(Ct)>l;dt++)Ze-=Ct=(Ze+d(Ze)-ot)/(1+r(Ze));return ot=F(2+w),[Ge*(1+r(Ze))/ot,2*Ze/ot]}zt.invert=function(Ge,Ze){var ot=1+A,dt=F(ot/2);return[Ge*2*dt/(1+r(Ze*=dt)),L((Ze+d(Ze))/ot)]};function Zt(){return x.geoProjection(zt).scale(173.044)}var Jt=3+2*b;function Br(Ge,Ze){var ot=d(Ge/=2),dt=r(Ge),Ct=F(r(Ze)),wt=r(Ze/=2),Dt=d(Ze)/(wt+b*dt*Ct),fr=F(2/(1+Dt*Dt)),_r=F((b*wt+(dt+ot)*Ct)/(b*wt+(dt-ot)*Ct));return[Jt*(fr*(_r-1/_r)-2*n(_r)),Jt*(fr*Dt*(_r+1/_r)-2*e(Dt))]}Br.invert=function(Ge,Ze){if(!(wt=Z.invert(Ge/1.2,Ze*1.065)))return null;var ot=wt[0],dt=wt[1],Ct=20,wt;Ge/=Jt,Ze/=Jt;do{var Dt=ot/2,fr=dt/2,_r=d(Dt),kr=r(Dt),Vr=d(fr),Qr=r(fr),_i=r(dt),Pi=F(_i),qi=Vr/(Qr+b*kr*Pi),ga=qi*qi,Qa=F(2/(1+ga)),$a=b*Qr+(kr+_r)*Pi,yn=b*Qr+(kr-_r)*Pi,qn=$a/yn,po=F(qn),to=po-1/po,Vo=po+1/po,bs=Qa*to-2*n(po)-Ge,Ho=Qa*qi*Vo-2*e(qi)-Ze,ds=Vr&&g*Pi*_r*ga/Vr,Is=(b*kr*Qr+Pi)/(2*(Qr+b*kr*Pi)*(Qr+b*kr*Pi)*Pi),Tl=-.5*qi*Qa*Qa*Qa,dl=Tl*ds,ms=Tl*Is,gs=(gs=2*Qr+b*Pi*(kr-_r))*gs*po,ql=(b*kr*Qr*Pi+_i)/gs,uu=-(b*_r*Vr)/(Pi*gs),Uu=to*dl-2*ql/po+Qa*(ql+ql/qn),Su=to*ms-2*uu/po+Qa*(uu+uu/qn),Fl=qi*Vo*dl-2*ds/(1+ga)+Qa*Vo*ds+Qa*qi*(ql-ql/qn),yu=qi*Vo*ms-2*Is/(1+ga)+Qa*Vo*Is+Qa*qi*(uu-uu/qn),dc=Su*Fl-yu*Uu;if(!dc)break;var Ql=(Ho*Su-bs*yu)/dc,eu=(bs*Fl-Ho*Uu)/dc;ot-=Ql,dt=a(-A,s(A,dt-eu))}while((E(Ql)>l||E(eu)>l)&&--Ct>0);return E(E(dt)-A)dt){var Qr=F(Vr),_i=t(kr,_r),Pi=ot*c(_i/ot),qi=_i-Pi,ga=Ge*r(qi),Qa=(Ge*d(qi)-qi*d(ga))/(A-ga),$a=bt(qi,Qa),yn=(w-Ge)/st($a,ga,w);_r=Qr;var qn=50,po;do _r-=po=(Ge+st($a,ga,_r)*yn-Qr)/($a(_r)*yn);while(E(po)>l&&--qn>0);kr=qi*d(_r),_rdt){var _r=F(fr),kr=t(Dt,wt),Vr=ot*c(kr/ot),Qr=kr-Vr;wt=_r*r(Qr),Dt=_r*d(Qr);for(var _i=wt-A,Pi=d(wt),qi=Dt/Pi,ga=wtl||E(qi)>l)&&--ga>0);return[Qr,_i]},_r}var br=Lr(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function Rr(){return x.geoProjection(br).scale(149.995)}var jr=Lr(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function Wr(){return x.geoProjection(jr).scale(153.93)}var yt=Lr(5/6*w,-.62636,-.0344,0,1.3493,-.05524,0,.045);function Xt(){return x.geoProjection(yt).scale(130.945)}function mr(Ge,Ze){var ot=Ge*Ge,dt=Ze*Ze;return[Ge*(1-.162388*dt)*(.87-952426e-9*ot*ot),Ze*(1+dt/12)]}mr.invert=function(Ge,Ze){var ot=Ge,dt=Ze,Ct=50,wt;do{var Dt=dt*dt;dt-=wt=(dt*(1+Dt/12)-Ze)/(1+Dt/4)}while(E(wt)>l&&--Ct>0);Ct=50,Ge/=1-.162388*Dt;do{var fr=(fr=ot*ot)*fr;ot-=wt=(ot*(.87-952426e-9*fr)-Ge)/(.87-.00476213*fr)}while(E(wt)>l&&--Ct>0);return[ot,dt]};function Or(){return x.geoProjection(mr).scale(131.747)}var ki=Lr(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Ni(){return x.geoProjection(ki).scale(131.087)}function Si(Ge){var Ze=Ge(A,0)[0]-Ge(-A,0)[0];function ot(dt,Ct){var wt=dt>0?-.5:.5,Dt=Ge(dt+wt*w,Ct);return Dt[0]-=wt*Ze,Dt}return Ge.invert&&(ot.invert=function(dt,Ct){var wt=dt>0?-.5:.5,Dt=Ge.invert(dt+wt*Ze,Ct),fr=Dt[0]-wt*w;return fr<-w?fr+=2*w:fr>w&&(fr-=2*w),Dt[0]=fr,Dt}),ot}function fi(Ge,Ze){var ot=m(Ge),dt=m(Ze),Ct=r(Ze),wt=r(Ge)*Ct,Dt=d(Ge)*Ct,fr=d(dt*Ze);Ge=E(t(Dt,fr)),Ze=L(wt),E(Ge-A)>l&&(Ge%=A);var _r=Li(Ge>w/4?A-Ge:Ge,Ze);return Ge>w/4&&(fr=_r[0],_r[0]=-_r[1],_r[1]=-fr),_r[0]*=ot,_r[1]*=-dt,_r}fi.invert=function(Ge,Ze){E(Ge)>1&&(Ge=m(Ge)*2-Ge),E(Ze)>1&&(Ze=m(Ze)*2-Ze);var ot=m(Ge),dt=m(Ze),Ct=-ot*Ge,wt=-dt*Ze,Dt=wt/Ct<1,fr=Ia(Dt?wt:Ct,Dt?Ct:wt),_r=fr[0],kr=fr[1],Vr=r(kr);return Dt&&(_r=-A-_r),[ot*(t(d(_r)*Vr,-d(kr))+w),dt*L(r(_r)*Vr)]};function Li(Ge,Ze){if(Ze===A)return[0,0];var ot=d(Ze),dt=ot*ot,Ct=dt*dt,wt=1+Ct,Dt=1+3*Ct,fr=1-Ct,_r=L(1/F(wt)),kr=fr+dt*wt*_r,Vr=(1-ot)/kr,Qr=F(Vr),_i=Vr*wt,Pi=F(_i),qi=Qr*fr,ga,Qa;if(Ge===0)return[0,-(qi+dt*Pi)];var $a=r(Ze),yn=1/$a,qn=2*ot*$a,po=(-3*dt+_r*Dt)*qn,to=(-kr*$a-(1-ot)*po)/(kr*kr),Vo=.5*to/Qr,bs=fr*Vo-2*dt*Qr*qn,Ho=dt*wt*to+Vr*Dt*qn,ds=-yn*qn,Is=-yn*Ho,Tl=-2*yn*bs,dl=4*Ge/w,ms;if(Ge>.222*w||Ze.175*w){if(ga=(qi+dt*F(_i*(1+Ct)-qi*qi))/(1+Ct),Ge>w/4)return[ga,ga];var gs=ga,ql=.5*ga;ga=.5*(ql+gs),Qa=50;do{var uu=F(_i-ga*ga),Uu=ga*(Tl+ds*uu)+Is*L(ga/Pi)-dl;if(!Uu)break;Uu<0?ql=ga:gs=ga,ga=.5*(ql+gs)}while(E(gs-ql)>l&&--Qa>0)}else{ga=l,Qa=25;do{var Su=ga*ga,Fl=F(_i-Su),yu=Tl+ds*Fl,dc=ga*yu+Is*L(ga/Pi)-dl,Ql=yu+(Is-ds*Su)/Fl;ga-=ms=Fl?dc/Ql:0}while(E(ms)>l&&--Qa>0)}return[ga,-qi-dt*F(_i-ga*ga)]}function Ia(Ge,Ze){for(var ot=0,dt=1,Ct=.5,wt=50;;){var Dt=Ct*Ct,fr=F(Ct),_r=L(1/F(1+Dt)),kr=1-Dt+Ct*(1+Dt)*_r,Vr=(1-fr)/kr,Qr=F(Vr),_i=Vr*(1+Dt),Pi=Qr*(1-Dt),qi=_i-Ge*Ge,ga=F(qi),Qa=Ze+Pi+Ct*ga;if(E(dt-ot)<_||--wt===0||Qa===0)break;Qa>0?ot=Ct:dt=Ct,Ct=.5*(ot+dt)}if(!wt)return null;var $a=L(fr),yn=r($a),qn=1/yn,po=2*fr*yn,to=(-3*Ct+_r*(1+3*Dt))*po,Vo=(-kr*yn-(1-fr)*to)/(kr*kr),bs=.5*Vo/Qr,Ho=(1-Dt)*bs-2*Ct*Qr*po,ds=-2*qn*Ho,Is=-qn*po,Tl=-qn*(Ct*(1+Dt)*Vo+Vr*(1+3*Dt)*po);return[w/4*(Ge*(ds+Is*ga)+Tl*L(Ge/F(_i))),$a]}function Fa(){return x.geoProjection(Si(fi)).scale(239.75)}function un(Ge,Ze,ot){var dt,Ct,wt;return Ge?(dt=Bn(Ge,ot),Ze?(Ct=Bn(Ze,1-ot),wt=Ct[1]*Ct[1]+ot*dt[0]*dt[0]*Ct[0]*Ct[0],[[dt[0]*Ct[2]/wt,dt[1]*dt[2]*Ct[0]*Ct[1]/wt],[dt[1]*Ct[1]/wt,-dt[0]*dt[2]*Ct[0]*Ct[2]/wt],[dt[2]*Ct[1]*Ct[2]/wt,-ot*dt[0]*dt[1]*Ct[0]/wt]]):[[dt[0],0],[dt[1],0],[dt[2],0]]):(Ct=Bn(Ze,1-ot),[[0,Ct[0]/Ct[1]],[1/Ct[1],0],[Ct[2]/Ct[1],0]])}function Bn(Ge,Ze){var ot,dt,Ct,wt,Dt;if(Ze=1-l)return ot=(1-Ze)/4,dt=I(Ge),wt=N(Ge),Ct=1/dt,Dt=dt*B(Ge),[wt+ot*(Dt-Ge)/(dt*dt),Ct-ot*wt*Ct*(Dt-Ge),Ct+ot*wt*Ct*(Dt+Ge),2*e(o(Ge))-A+ot*(Dt-Ge)/dt];var fr=[1,0,0,0,0,0,0,0,0],_r=[F(Ze),0,0,0,0,0,0,0,0],kr=0;for(dt=F(1-Ze),Dt=1;E(_r[kr]/fr[kr])>l&&kr<8;)ot=fr[kr++],_r[kr]=(ot-dt)/2,fr[kr]=(ot+dt)/2,dt=F(ot*dt),Dt*=2;Ct=Dt*fr[kr]*Ge;do wt=_r[kr]*d(dt=Ct)/fr[kr],Ct=(L(wt)+Ct)/2;while(--kr);return[d(Ct),wt=r(Ct),wt/r(Ct-dt),Ct]}function Kn(Ge,Ze,ot){var dt=E(Ge),Ct=E(Ze),wt=B(Ct);if(dt){var Dt=1/d(dt),fr=1/(T(dt)*T(dt)),_r=-(fr+ot*(wt*wt*Dt*Dt)-1+ot),kr=(ot-1)*fr,Vr=(-_r+F(_r*_r-4*kr))/2;return[Gn(e(1/F(Vr)),ot)*m(Ge),Gn(e(F((Vr/fr-1)/ot)),1-ot)*m(Ze)]}return[0,Gn(e(wt),1-ot)*m(Ze)]}function Gn(Ge,Ze){if(!Ze)return Ge;if(Ze===1)return n(T(Ge/2+M));for(var ot=1,dt=F(1-Ze),Ct=F(Ze),wt=0;E(Ct)>l;wt++){if(Ge%w){var Dt=e(dt*T(Ge)/ot);Dt<0&&(Dt+=w),Ge+=Dt+~~(Ge/w)*w}else Ge+=Ge;Ct=(ot+dt)/2,dt=F(ot*dt),Ct=((ot=Ct)-dt)/2}return Ge/(h(2,wt)*ot)}function eo(Ge,Ze){var ot=(b-1)/(b+1),dt=F(1-ot*ot),Ct=Gn(A,dt*dt),wt=-1,Dt=n(T(w/4+E(Ze)/2)),fr=o(wt*Dt)/F(ot),_r=Ao(fr*r(wt*Ge),fr*d(wt*Ge)),kr=Kn(_r[0],_r[1],dt*dt);return[-kr[1],(Ze>=0?1:-1)*(.5*Ct-kr[0])]}function Ao(Ge,Ze){var ot=Ge*Ge,dt=Ze+1,Ct=1-ot-Ze*Ze;return[.5*((Ge>=0?A:-A)-t(Ct,2*Ge)),-.25*n(Ct*Ct+4*ot)+.5*n(dt*dt+ot)]}function An(Ge,Ze){var ot=Ze[0]*Ze[0]+Ze[1]*Ze[1];return[(Ge[0]*Ze[0]+Ge[1]*Ze[1])/ot,(Ge[1]*Ze[0]-Ge[0]*Ze[1])/ot]}eo.invert=function(Ge,Ze){var ot=(b-1)/(b+1),dt=F(1-ot*ot),Ct=Gn(A,dt*dt),wt=-1,Dt=un(.5*Ct-Ze,-Ge,dt*dt),fr=An(Dt[0],Dt[1]),_r=t(fr[1],fr[0])/wt;return[_r,2*e(o(.5/wt*n(ot*fr[0]*fr[0]+ot*fr[1]*fr[1])))-A]};function Eo(){return x.geoProjection(Si(eo)).scale(151.496)}function fs(Ge){var Ze=d(Ge),ot=r(Ge),dt=Ls(Ge);dt.invert=Ls(-Ge);function Ct(wt,Dt){var fr=dt(wt,Dt);wt=fr[0],Dt=fr[1];var _r=d(Dt),kr=r(Dt),Vr=r(wt),Qr=z(Ze*_r+ot*kr*Vr),_i=d(Qr),Pi=E(_i)>l?Qr/_i:1;return[Pi*ot*d(wt),(E(wt)>A?Pi:-Pi)*(Ze*kr-ot*_r*Vr)]}return Ct.invert=function(wt,Dt){var fr=F(wt*wt+Dt*Dt),_r=-d(fr),kr=r(fr),Vr=fr*kr,Qr=-Dt*_r,_i=fr*Ze,Pi=F(Vr*Vr+Qr*Qr-_i*_i),qi=t(Vr*_i+Qr*Pi,Qr*_i-Vr*Pi),ga=(fr>A?-1:1)*t(wt*_r,fr*r(qi)*kr+Dt*d(qi)*_r);return dt.invert(ga,qi)},Ct}function Ls(Ge){var Ze=d(Ge),ot=r(Ge);return function(dt,Ct){var wt=r(Ct),Dt=r(dt)*wt,fr=d(dt)*wt,_r=d(Ct);return[t(fr,Dt*ot-_r*Ze),L(_r*ot+Dt*Ze)]}}function ns(){var Ge=0,Ze=x.geoProjectionMutator(fs),ot=Ze(Ge),dt=ot.rotate,Ct=ot.stream,wt=x.geoCircle();return ot.parallel=function(Dt){if(!arguments.length)return Ge*y;var fr=ot.rotate();return Ze(Ge=Dt*f).rotate(fr)},ot.rotate=function(Dt){return arguments.length?(dt.call(ot,[Dt[0],Dt[1]-Ge*y]),wt.center([-Dt[0],-Dt[1]]),ot):(Dt=dt.call(ot),Dt[1]+=Ge*y,Dt)},ot.stream=function(Dt){return Dt=Ct(Dt),Dt.sphere=function(){Dt.polygonStart();var fr=.01,_r=wt.radius(90-fr)().coordinates[0],kr=_r.length-1,Vr=-1,Qr;for(Dt.lineStart();++Vr=0;)Dt.point((Qr=_r[Vr])[0],Qr[1]);Dt.lineEnd(),Dt.polygonEnd()},Dt},ot.scale(79.4187).parallel(45).clipAngle(180-.001)}var uo=3,ss=L(1-1/uo)*y,xs=kt(0);function el(Ge){var Ze=ss*f,ot=qe(w,Ze)[0]-qe(-w,Ze)[0],dt=xs(0,Ze)[1],Ct=qe(0,Ze)[1],wt=v-Ct,Dt=u/Ge,fr=4/u,_r=dt+wt*wt*4/u;function kr(Vr,Qr){var _i,Pi=E(Qr);if(Pi>Ze){var qi=s(Ge-1,a(0,i((Vr+w)/Dt)));Vr+=w*(Ge-1)/Ge-qi*Dt,_i=qe(Vr,Pi),_i[0]=_i[0]*u/ot-u*(Ge-1)/(2*Ge)+qi*u/Ge,_i[1]=dt+(_i[1]-Ct)*4*wt/u,Qr<0&&(_i[1]=-_i[1])}else _i=xs(Vr,Qr);return _i[0]*=fr,_i[1]/=_r,_i}return kr.invert=function(Vr,Qr){Vr/=fr,Qr*=_r;var _i=E(Qr);if(_i>dt){var Pi=s(Ge-1,a(0,i((Vr+w)/Dt)));Vr=(Vr+w*(Ge-1)/Ge-Pi*Dt)*ot/u;var qi=qe.invert(Vr,.25*(_i-dt)*u/wt+Ct);return qi[0]-=w*(Ge-1)/Ge-Pi*Dt,Qr<0&&(qi[1]=-qi[1]),qi}return xs.invert(Vr,Qr)},kr}function Ss(Ge,Ze){return[Ge,Ze&1?90-l:ss]}function Co(Ge,Ze){return[Ge,Ze&1?-90+l:-ss]}function ao(Ge){return[Ge[0]*(1-l),Ge[1]]}function co(Ge){var Ze=[].concat(S.range(-180,180+Ge/2,Ge).map(Ss),S.range(180,-180-Ge/2,-Ge).map(Co));return{type:"Polygon",coordinates:[Ge===180?Ze.map(ao):Ze]}}function Ms(){var Ge=4,Ze=x.geoProjectionMutator(el),ot=Ze(Ge),dt=ot.stream;return ot.lobes=function(Ct){return arguments.length?Ze(Ge=+Ct):Ge},ot.stream=function(Ct){var wt=ot.rotate(),Dt=dt(Ct),fr=(ot.rotate([0,0]),dt(Ct));return ot.rotate(wt),Dt.sphere=function(){x.geoStream(co(180/Ge),fr)},Dt},ot.scale(239.75)}function Gs(Ge){var Ze=1+Ge,ot=d(1/Ze),dt=L(ot),Ct=2*F(w/(wt=w+4*dt*Ze)),wt,Dt=.5*Ct*(Ze+F(Ge*(2+Ge))),fr=Ge*Ge,_r=Ze*Ze;function kr(Vr,Qr){var _i=1-d(Qr),Pi,qi;if(_i&&_i<2){var ga=A-Qr,Qa=25,$a;do{var yn=d(ga),qn=r(ga),po=dt+t(yn,Ze-qn),to=1+_r-2*Ze*qn;ga-=$a=(ga-fr*dt-Ze*yn+to*po-.5*_i*wt)/(2*Ze*yn*po)}while(E($a)>_&&--Qa>0);Pi=Ct*F(to),qi=Vr*po/w}else Pi=Ct*(Ge+_i),qi=Vr*dt/w;return[Pi*d(qi),Dt-Pi*r(qi)]}return kr.invert=function(Vr,Qr){var _i=Vr*Vr+(Qr-=Dt)*Qr,Pi=(1+_r-_i/(Ct*Ct))/(2*Ze),qi=z(Pi),ga=d(qi),Qa=dt+t(ga,Ze-Pi);return[L(Vr/F(_i))*w/Qa,L(1-2*(qi-fr*dt-Ze*ga+(1+_r-2*Ze*Pi)*Qa)/wt)]},kr}function ul(){var Ge=1,Ze=x.geoProjectionMutator(Gs),ot=Ze(Ge);return ot.ratio=function(dt){return arguments.length?Ze(Ge=+dt):Ge},ot.scale(167.774).center([0,18.67])}var hs=.7109889596207567,rn=.0528035274542;function Xn(Ge,Ze){return Ze>-hs?(Ge=nt(Ge,Ze),Ge[1]+=rn,Ge):$e(Ge,Ze)}Xn.invert=function(Ge,Ze){return Ze>-hs?nt.invert(Ge,Ze-rn):$e.invert(Ge,Ze)};function tl(){return x.geoProjection(Xn).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function zs(Ge,Ze){return E(Ze)>hs?(Ge=nt(Ge,Ze),Ge[1]-=Ze>0?rn:-rn,Ge):$e(Ge,Ze)}zs.invert=function(Ge,Ze){return E(Ze)>hs?nt.invert(Ge,Ze+(Ze>0?rn:-rn)):$e.invert(Ge,Ze)};function so(){return x.geoProjection(zs).scale(152.63)}function $s(Ge,Ze,ot,dt){var Ct=F(4*w/(2*ot+(1+Ge-Ze/2)*d(2*ot)+(Ge+Ze)/2*d(4*ot)+Ze/2*d(6*ot))),wt=F(dt*d(ot)*F((1+Ge*r(2*ot)+Ze*r(4*ot))/(1+Ge+Ze))),Dt=ot*_r(1);function fr(Qr){return F(1+Ge*r(2*Qr)+Ze*r(4*Qr))}function _r(Qr){var _i=Qr*ot;return(2*_i+(1+Ge-Ze/2)*d(2*_i)+(Ge+Ze)/2*d(4*_i)+Ze/2*d(6*_i))/ot}function kr(Qr){return fr(Qr)*d(Qr)}var Vr=function(Qr,_i){var Pi=ot*Re(_r,Dt*d(_i)/ot,_i/w);isNaN(Pi)&&(Pi=ot*m(_i));var qi=Ct*fr(Pi);return[qi*wt*Qr/w*r(Pi),qi/wt*d(Pi)]};return Vr.invert=function(Qr,_i){var Pi=Re(kr,_i*wt/Ct);return[Qr*w/(r(Pi)*Ct*wt*fr(Pi)),L(ot*_r(Pi/ot)/Dt)]},ot===0&&(Ct=F(dt/w),Vr=function(Qr,_i){return[Qr*Ct,d(_i)/Ct]},Vr.invert=function(Qr,_i){return[Qr/Ct,L(_i*Ct)]}),Vr}function Ps(){var Ge=1,Ze=0,ot=45*f,dt=2,Ct=x.geoProjectionMutator($s),wt=Ct(Ge,Ze,ot,dt);return wt.a=function(Dt){return arguments.length?Ct(Ge=+Dt,Ze,ot,dt):Ge},wt.b=function(Dt){return arguments.length?Ct(Ge,Ze=+Dt,ot,dt):Ze},wt.psiMax=function(Dt){return arguments.length?Ct(Ge,Ze,ot=+Dt*f,dt):ot*y},wt.ratio=function(Dt){return arguments.length?Ct(Ge,Ze,ot,dt=+Dt):dt},wt.scale(180.739)}function nl(Ge,Ze,ot,dt,Ct,wt,Dt,fr,_r,kr,Vr){if(Vr.nanEncountered)return NaN;var Qr,_i,Pi,qi,ga,Qa,$a,yn,qn,po;if(Qr=ot-Ze,_i=Ge(Ze+Qr*.25),Pi=Ge(ot-Qr*.25),isNaN(_i)){Vr.nanEncountered=!0;return}if(isNaN(Pi)){Vr.nanEncountered=!0;return}return qi=Qr*(dt+4*_i+Ct)/12,ga=Qr*(Ct+4*Pi+wt)/12,Qa=qi+ga,po=(Qa-Dt)/15,kr>_r?(Vr.maxDepthCount++,Qa+po):Math.abs(po)>1;do _r[Qa]>Pi?ga=Qa:qi=Qa,Qa=qi+ga>>1;while(Qa>qi);var $a=_r[Qa+1]-_r[Qa];return $a&&($a=(Pi-_r[Qa+1])/$a),(Qa+1+$a)/Dt}var Qr=2*Vr(1)/w*wt/ot,_i=function(Pi,qi){var ga=Vr(E(d(qi))),Qa=dt(ga)*Pi;return ga/=Qr,[Qa,qi>=0?ga:-ga]};return _i.invert=function(Pi,qi){var ga;return qi*=Qr,E(qi)<1&&(ga=m(qi)*L(Ct(E(qi))*wt)),[Pi/dt(E(qi)),ga]},_i}function Ko(){var Ge=0,Ze=2.5,ot=1.183136,dt=x.geoProjectionMutator(On),Ct=dt(Ge,Ze,ot);return Ct.alpha=function(wt){return arguments.length?dt(Ge=+wt,Ze,ot):Ge},Ct.k=function(wt){return arguments.length?dt(Ge,Ze=+wt,ot):Ze},Ct.gamma=function(wt){return arguments.length?dt(Ge,Ze,ot=+wt):ot},Ct.scale(152.63)}function jo(Ge,Ze){return E(Ge[0]-Ze[0])=0;--_r)ot=Ge[1][_r],dt=ot[0][0],Ct=ot[0][1],wt=ot[1][1],Dt=ot[2][0],fr=ot[2][1],Ze.push(Ys([[Dt-l,fr-l],[Dt-l,wt+l],[dt+l,wt+l],[dt+l,Ct-l]],30));return{type:"Polygon",coordinates:[S.merge(Ze)]}}function Lo(Ge,Ze,ot){var dt,Ct;function wt(_r,kr){for(var Vr=kr<0?-1:1,Qr=Ze[+(kr<0)],_i=0,Pi=Qr.length-1;_iQr[_i][2][0];++_i);var qi=Ge(_r-Qr[_i][1][0],kr);return qi[0]+=Ge(Qr[_i][1][0],Vr*kr>Vr*Qr[_i][0][1]?Qr[_i][0][1]:kr)[0],qi}ot?wt.invert=ot(wt):Ge.invert&&(wt.invert=function(_r,kr){for(var Vr=Ct[+(kr<0)],Qr=Ze[+(kr<0)],_i=0,Pi=Vr.length;_iqi&&(ga=Pi,Pi=qi,qi=ga),[[Qr,Pi],[_i,qi]]})}),Dt):Ze.map(function(kr){return kr.map(function(Vr){return[[Vr[0][0]*y,Vr[0][1]*y],[Vr[1][0]*y,Vr[1][1]*y],[Vr[2][0]*y,Vr[2][1]*y]]})})},Ze!=null&&Dt.lobes(Ze),Dt}var al=[[[[-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 kl(){return Lo(Be,al).scale(160.857)}var Ns=[[[[-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 rl(){return Lo(zs,Ns).scale(152.63)}var Es=[[[[-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 Us(){return Lo(nt,Es).scale(169.529)}var Zl=[[[[-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 pu(){return Lo(nt,Zl).scale(169.529).rotate([20,0])}var kc=[[[[-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 Au(){return Lo(Xn,kc,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 Gc(){return Lo($e,Sf).scale(152.63).rotate([-20,0])}function Js(Ge,Ze){return[3/u*Ge*F(w*w/3-Ze*Ze),Ze]}Js.invert=function(Ge,Ze){return[u/3*Ge/F(w*w/3-Ze*Ze),Ze]};function yc(){return x.geoProjection(Js).scale(158.837)}function Zc(Ge){function Ze(ot,dt){if(E(E(dt)-A)2)return null;ot/=2,dt/=2;var wt=ot*ot,Dt=dt*dt,fr=2*dt/(1+wt+Dt);return fr=h((1+fr)/(1-fr),1/Ge),[t(2*ot,1-wt-Dt)/Ge,L((fr-1)/(fr+1))]},Ze}function mu(){var Ge=.5,Ze=x.geoProjectionMutator(Zc),ot=Ze(Ge);return ot.spacing=function(dt){return arguments.length?Ze(Ge=+dt):Ge},ot.scale(124.75)}var Vl=w/b;function lc(Ge,Ze){return[Ge*(1+F(r(Ze)))/2,Ze/(r(Ze/2)*r(Ge/6))]}lc.invert=function(Ge,Ze){var ot=E(Ge),dt=E(Ze),Ct=l,wt=A;dtl||E(Qa)>l)&&--Ct>0);return Ct&&[ot,dt]};function Cl(){return x.geoProjection(_l).scale(139.98)}function Fs(Ge,Ze){return[d(Ge)/r(Ze),T(Ze)*r(Ge)]}Fs.invert=function(Ge,Ze){var ot=Ge*Ge,dt=Ze*Ze,Ct=dt+1,wt=ot+Ct,Dt=Ge?g*F((wt-F(wt*wt-4*ot))/ot):1/F(Ct);return[L(Ge*Dt),m(Ze)*z(Dt)]};function ol(){return x.geoProjection(Fs).scale(144.049).clipAngle(90-.001)}function uc(Ge){var Ze=r(Ge),ot=T(M+Ge/2);function dt(Ct,wt){var Dt=wt-Ge,fr=E(Dt)=0;)Vr=Ge[kr],Qr=Vr[0]+fr*(Pi=Qr)-_r*_i,_i=Vr[1]+fr*_i+_r*Pi;return Qr=fr*(Pi=Qr)-_r*_i,_i=fr*_i+_r*Pi,[Qr,_i]}return ot.invert=function(dt,Ct){var wt=20,Dt=dt,fr=Ct;do{for(var _r=Ze,kr=Ge[_r],Vr=kr[0],Qr=kr[1],_i=0,Pi=0,qi;--_r>=0;)kr=Ge[_r],_i=Vr+Dt*(qi=_i)-fr*Pi,Pi=Qr+Dt*Pi+fr*qi,Vr=kr[0]+Dt*(qi=Vr)-fr*Qr,Qr=kr[1]+Dt*Qr+fr*qi;_i=Vr+Dt*(qi=_i)-fr*Pi,Pi=Qr+Dt*Pi+fr*qi,Vr=Dt*(qi=Vr)-fr*Qr-dt,Qr=Dt*Qr+fr*qi-Ct;var ga=_i*_i+Pi*Pi,Qa,$a;Dt-=Qa=(Vr*_i+Qr*Pi)/ga,fr-=$a=(Qr*_i-Vr*Pi)/ga}while(E(Qa)+E($a)>l*l&&--wt>0);if(wt){var yn=F(Dt*Dt+fr*fr),qn=2*e(yn*.5),po=d(qn);return[t(Dt*po,yn*r(qn)),yn?L(fr*po/yn):0]}},ot}var ws=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],ph=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],qs=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],xo=[[.9245,0],[0,0],[.01943,0]],Kc=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Ku(){return su(ws,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function $l(){return su(ph,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Mf(){return su(qs,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function Cc(){return su(xo,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function uf(){return su(Kc,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function su(Ge,Ze){var ot=x.geoProjection(vh(Ge)).rotate(Ze).clipAngle(90),dt=x.geoRotation(Ze),Ct=ot.center;return delete ot.rotate,ot.center=function(wt){return arguments.length?Ct(dt(wt)):dt.invert(Ct())},ot}var Wf=F(6),Rf=F(7);function cf(Ge,Ze){var ot=L(7*d(Ze)/(3*Wf));return[Wf*Ge*(2*r(2*ot/3)-1)/Rf,9*d(ot/3)/Rf]}cf.invert=function(Ge,Ze){var ot=3*L(Ze*Rf/9);return[Ge*Rf/(Wf*(2*r(2*ot/3)-1)),L(d(ot)*3*Wf/7)]};function Wc(){return x.geoProjection(cf).scale(164.859)}function Df(Ge,Ze){for(var ot=(1+g)*d(Ze),dt=Ze,Ct=0,wt;Ct<25&&(dt-=wt=(d(dt/2)+d(dt)-ot)/(.5*r(dt/2)+r(dt)),!(E(wt)_&&--dt>0);return wt=ot*ot,Dt=wt*wt,fr=wt*Dt,[Ge/(.84719-.13063*wt+fr*fr*(-.04515+.05494*wt-.02326*Dt+.00331*fr)),ot]};function $c(){return x.geoProjection(cc).scale(175.295)}function lu(Ge,Ze){return[Ge*(1+r(Ze))/2,2*(Ze-T(Ze/2))]}lu.invert=function(Ge,Ze){for(var ot=Ze/2,dt=0,Ct=1/0;dt<10&&E(Ct)>l;++dt){var wt=r(Ze/2);Ze-=Ct=(Ze-T(Ze/2)-ot)/(1-.5/(wt*wt))}return[2*Ge/(1+r(Ze)),Ze]};function Xc(){return x.geoProjection(lu).scale(152.63)}var Lc=[[[[-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 sl(){return Lo(ue(1/0),Lc).rotate([20,0]).scale(152.63)}function kf(Ge,Ze){var ot=d(Ze),dt=r(Ze),Ct=m(Ge);if(Ge===0||E(Ze)===A)return[0,Ze];if(Ze===0)return[Ge,0];if(E(Ge)===A)return[Ge*dt,A*ot];var wt=w/(2*Ge)-2*Ge/w,Dt=2*Ze/w,fr=(1-Dt*Dt)/(ot-Dt),_r=wt*wt,kr=fr*fr,Vr=1+_r/kr,Qr=1+kr/_r,_i=(wt*ot/fr-wt/2)/Vr,Pi=(kr*ot/_r+fr/2)/Qr,qi=_i*_i+dt*dt/Vr,ga=Pi*Pi-(kr*ot*ot/_r+fr*ot-1)/Qr;return[A*(_i+F(qi)*Ct),A*(Pi+F(ga<0?0:ga)*m(-Ze*wt)*Ct)]}kf.invert=function(Ge,Ze){Ge/=A,Ze/=A;var ot=Ge*Ge,dt=Ze*Ze,Ct=ot+dt,wt=w*w;return[Ge?(Ct-1+F((1-Ct)*(1-Ct)+4*ot))/(2*Ge)*A:0,Re(function(Dt){return Ct*(w*d(Dt)-2*Dt)*w+4*Dt*Dt*(Ze-d(Dt))+2*w*Dt-wt*Ze},0)]};function ah(){return x.geoProjection(kf).scale(127.267)}var Ff=1.0148,Jc=.23185,Xf=-.14499,Fu=.02406,Bf=Ff,Ll=5*Jc,Bu=7*Xf,Ic=9*Fu,xl=1.790857183;function _c(Ge,Ze){var ot=Ze*Ze;return[Ge,Ze*(Ff+ot*ot*(Jc+ot*(Xf+Fu*ot)))]}_c.invert=function(Ge,Ze){Ze>xl?Ze=xl:Ze<-xl&&(Ze=-xl);var ot=Ze,dt;do{var Ct=ot*ot;ot-=dt=(ot*(Ff+Ct*Ct*(Jc+Ct*(Xf+Fu*Ct)))-Ze)/(Bf+Ct*Ct*(Ll+Ct*(Bu+Ic*Ct)))}while(E(dt)>l);return[Ge,ot]};function Eu(){return x.geoProjection(_c).scale(139.319)}function Iu(Ge,Ze){if(E(Ze)l&&--Ct>0);return Dt=T(dt),[(E(Ze)=0;)if(dt=Ze[fr],ot[0]===dt[0]&&ot[1]===dt[1]){if(wt)return[wt,ot];wt=ot}}}function hu(Ge){for(var Ze=Ge.length,ot=[],dt=Ge[Ze-1],Ct=0;Ct0?[-dt[0],0]:[180-dt[0],180])};var Ze=_f.map(function(ot){return{face:ot,project:Ge(ot)}});return[-1,0,0,1,0,1,4,5].forEach(function(ot,dt){var Ct=Ze[ot];Ct&&(Ct.children||(Ct.children=[])).push(Ze[dt])}),ff(Ze[0],function(ot,dt){return Ze[ot<-w/2?dt<0?6:4:ot<0?dt<0?2:0:otdt^Pi>dt&&ot<(_i-kr)*(dt-Vr)/(Pi-Vr)+kr&&(Ct=!Ct)}return Ct}function du(Ge,Ze){var ot=Ze.stream,dt;if(!ot)throw new Error("invalid projection");switch(Ge&&Ge.type){case"Feature":dt=ec;break;case"FeatureCollection":dt=Nf;break;default:dt=bc;break}return dt(Ge,ot)}function Nf(Ge,Ze){return{type:"FeatureCollection",features:Ge.features.map(function(ot){return ec(ot,Ze)})}}function ec(Ge,Ze){return{type:"Feature",id:Ge.id,properties:Ge.properties,geometry:bc(Ge.geometry,Ze)}}function Dc(Ge,Ze){return{type:"GeometryCollection",geometries:Ge.geometries.map(function(ot){return bc(ot,Ze)})}}function bc(Ge,Ze){if(!Ge)return null;if(Ge.type==="GeometryCollection")return Dc(Ge,Ze);var ot;switch(Ge.type){case"Point":ot=zc;break;case"MultiPoint":ot=zc;break;case"LineString":ot=tf;break;case"MultiLineString":ot=tf;break;case"Polygon":ot=fc;break;case"MultiPolygon":ot=fc;break;case"Sphere":ot=fc;break;default:return null}return x.geoStream(Ge,Ze(ot)),ot.result()}var Jl=[],Cu=[],zc={point:function(Ge,Ze){Jl.push([Ge,Ze])},result:function(){var Ge=Jl.length?Jl.length<2?{type:"Point",coordinates:Jl[0]}:{type:"MultiPoint",coordinates:Jl}:null;return Jl=[],Ge}},tf={lineStart:Qu,point:function(Ge,Ze){Jl.push([Ge,Ze])},lineEnd:function(){Jl.length&&(Cu.push(Jl),Jl=[])},result:function(){var Ge=Cu.length?Cu.length<2?{type:"LineString",coordinates:Cu[0]}:{type:"MultiLineString",coordinates:Cu}:null;return Cu=[],Ge}},fc={polygonStart:Qu,lineStart:Qu,point:function(Ge,Ze){Jl.push([Ge,Ze])},lineEnd:function(){var Ge=Jl.length;if(Ge){do Jl.push(Jl[0].slice());while(++Ge<4);Cu.push(Jl),Jl=[]}},polygonEnd:Qu,result:function(){if(!Cu.length)return null;var Ge=[],Ze=[];return Cu.forEach(function(ot){ef(ot)?Ge.push([ot]):Ze.push(ot)}),Ze.forEach(function(ot){var dt=ot[0];Ge.some(function(Ct){if(Lf(Ct[0],dt))return Ct.push(ot),!0})||Ge.push([ot])}),Cu=[],Ge.length?Ge.length>1?{type:"MultiPolygon",coordinates:Ge}:{type:"Polygon",coordinates:Ge[0]}:null}};function Fc(Ge){var Ze=Ge(A,0)[0]-Ge(-A,0)[0];function ot(dt,Ct){var wt=E(dt)0?dt-w:dt+w,Ct),fr=(Dt[0]-Dt[1])*g,_r=(Dt[0]+Dt[1])*g;if(wt)return[fr,_r];var kr=Ze*g,Vr=fr>0^_r>0?-1:1;return[Vr*fr-m(_r)*kr,Vr*_r-m(fr)*kr]}return Ge.invert&&(ot.invert=function(dt,Ct){var wt=(dt+Ct)*g,Dt=(Ct-dt)*g,fr=E(wt)<.5*Ze&&E(Dt)<.5*Ze;if(!fr){var _r=Ze*g,kr=wt>0^Dt>0?-1:1,Vr=-kr*dt+(Dt>0?1:-1)*_r,Qr=-kr*Ct+(wt>0?1:-1)*_r;wt=(-Vr-Qr)*g,Dt=(Vr-Qr)*g}var _i=Ge.invert(wt,Dt);return fr||(_i[0]+=wt>0?w:-w),_i}),x.geoProjection(ot).rotate([-90,-90,45]).clipAngle(180-.001)}function er(){return Fc(fi).scale(176.423)}function wr(){return Fc(eo).scale(111.48)}function ai(Ge,Ze){if(!(0<=(Ze=+Ze)&&Ze<=20))throw new Error("invalid digits");function ot(kr){var Vr=kr.length,Qr=2,_i=new Array(Vr);for(_i[0]=+kr[0].toFixed(Ze),_i[1]=+kr[1].toFixed(Ze);Qr2||Pi[0]!=Vr[0]||Pi[1]!=Vr[1])&&(Qr.push(Pi),Vr=Pi)}return Qr.length===1&&kr.length>1&&Qr.push(ot(kr[kr.length-1])),Qr}function wt(kr){return kr.map(Ct)}function Dt(kr){if(kr==null)return kr;var Vr;switch(kr.type){case"GeometryCollection":Vr={type:"GeometryCollection",geometries:kr.geometries.map(Dt)};break;case"Point":Vr={type:"Point",coordinates:ot(kr.coordinates)};break;case"MultiPoint":Vr={type:kr.type,coordinates:dt(kr.coordinates)};break;case"LineString":Vr={type:kr.type,coordinates:Ct(kr.coordinates)};break;case"MultiLineString":case"Polygon":Vr={type:kr.type,coordinates:wt(kr.coordinates)};break;case"MultiPolygon":Vr={type:"MultiPolygon",coordinates:kr.coordinates.map(wt)};break;default:return kr}return kr.bbox!=null&&(Vr.bbox=kr.bbox),Vr}function fr(kr){var Vr={type:"Feature",properties:kr.properties,geometry:Dt(kr.geometry)};return kr.id!=null&&(Vr.id=kr.id),kr.bbox!=null&&(Vr.bbox=kr.bbox),Vr}if(Ge!=null)switch(Ge.type){case"Feature":return fr(Ge);case"FeatureCollection":{var _r={type:"FeatureCollection",features:Ge.features.map(fr)};return Ge.bbox!=null&&(_r.bbox=Ge.bbox),_r}default:return Dt(Ge)}return Ge}function Jr(Ge){var Ze=d(Ge);function ot(dt,Ct){var wt=Ze?T(dt*Ze/2)/Ze:dt/2;if(!Ct)return[2*wt,-Ge];var Dt=2*e(wt*d(Ct)),fr=1/T(Ct);return[d(Dt)*fr,Ct+(1-r(Dt))*fr-Ge]}return ot.invert=function(dt,Ct){if(E(Ct+=Ge)l&&--fr>0);var _i=dt*(kr=T(Dt)),Pi=T(E(Ct)0?A:-A)*(_r+Ct*(Vr-Dt)/2+Ct*Ct*(Vr-2*_r+Dt)/2)]}Ba.invert=function(Ge,Ze){var ot=Ze/A,dt=ot*90,Ct=s(18,E(dt/5)),wt=a(0,i(Ct));do{var Dt=pa[wt][1],fr=pa[wt+1][1],_r=pa[s(19,wt+2)][1],kr=_r-Dt,Vr=_r-2*fr+Dt,Qr=2*(E(ot)-fr)/kr,_i=Vr/kr,Pi=Qr*(1-_i*Qr*(1-2*_i*Qr));if(Pi>=0||wt===1){dt=(Ze>=0?5:-5)*(Pi+Ct);var qi=50,ga;do Ct=s(18,E(dt)/5),wt=i(Ct),Pi=Ct-wt,Dt=pa[wt][1],fr=pa[wt+1][1],_r=pa[s(19,wt+2)][1],dt-=(ga=(Ze>=0?A:-A)*(fr+Pi*(_r-Dt)/2+Pi*Pi*(_r-2*fr+Dt)/2)-Ze)*y;while(E(ga)>_&&--qi>0);break}}while(--wt>=0);var Qa=pa[wt][0],$a=pa[wt+1][0],yn=pa[s(19,wt+2)][0];return[Ge/($a+Pi*(yn-Qa)/2+Pi*Pi*(yn-2*$a+Qa)/2),dt*f]};function an(){return x.geoProjection(Ba).scale(152.63)}function hn(Ge){function Ze(ot,dt){var Ct=r(dt),wt=(Ge-1)/(Ge-Ct*r(ot));return[wt*Ct*d(ot),wt*d(dt)]}return Ze.invert=function(ot,dt){var Ct=ot*ot+dt*dt,wt=F(Ct),Dt=(Ge-F(1-Ct*(Ge+1)/(Ge-1)))/((Ge-1)/wt+wt/(Ge-1));return[t(ot*Dt,wt*F(1-Dt*Dt)),wt?L(dt*Dt/wt):0]},Ze}function Ln(Ge,Ze){var ot=hn(Ge);if(!Ze)return ot;var dt=r(Ze),Ct=d(Ze);function wt(Dt,fr){var _r=ot(Dt,fr),kr=_r[1],Vr=kr*Ct/(Ge-1)+dt;return[_r[0]*dt/Vr,kr/Vr]}return wt.invert=function(Dt,fr){var _r=(Ge-1)/(Ge-1-fr*Ct);return ot.invert(_r*Dt,_r*fr*dt)},wt}function Na(){var Ge=2,Ze=0,ot=x.geoProjectionMutator(Ln),dt=ot(Ge,Ze);return dt.distance=function(Ct){return arguments.length?ot(Ge=+Ct,Ze):Ge},dt.tilt=function(Ct){return arguments.length?ot(Ge,Ze=Ct*f):Ze*y},dt.scale(432.147).clipAngle(z(1/Ge)*y-1e-6)}var qa=1e-4,Za=1e4,Ta=-180,Hn=Ta+qa,go=180,wo=go-qa,yo=-90,Io=yo+qa,Vn=90,wn=Vn-qa;function Oo(Ge){return Ge.length>0}function ps(Ge){return Math.floor(Ge*Za)/Za}function js(Ge){return Ge===yo||Ge===Vn?[0,Ge]:[Ta,ps(Ge)]}function pl(Ge){var Ze=Ge[0],ot=Ge[1],dt=!1;return Ze<=Hn?(Ze=Ta,dt=!0):Ze>=wo&&(Ze=go,dt=!0),ot<=Io?(ot=yo,dt=!0):ot>=wn&&(ot=Vn,dt=!0),dt?[Ze,ot]:Ge}function Qs(Ge){return Ge.map(pl)}function hl(Ge,Ze,ot){for(var dt=0,Ct=Ge.length;dt=wo||Vr<=Io||Vr>=wn){wt[Dt]=pl(_r);for(var Qr=Dt+1;QrHn&&PiIo&&qi=fr)break;ot.push({index:-1,polygon:Ze,ring:wt=wt.slice(Qr-1)}),wt[0]=js(wt[0][1]),Dt=-1,fr=wt.length}}}}function Bs(Ge){var Ze,ot=Ge.length,dt={},Ct={},wt,Dt,fr,_r,kr;for(Ze=0;Ze0?w-fr:fr)*y],kr=x.geoProjection(Ge(Dt)).rotate(_r),Vr=x.geoRotation(_r),Qr=kr.center;return delete kr.rotate,kr.center=function(_i){return arguments.length?Qr(Vr(_i)):Vr.invert(Qr())},kr.clipAngle(90)}function Zs(Ge){var Ze=r(Ge);function ot(dt,Ct){var wt=x.geoGnomonicRaw(dt,Ct);return wt[0]*=Ze,wt}return ot.invert=function(dt,Ct){return x.geoGnomonicRaw.invert(dt/Ze,Ct)},ot}function gu(){return Nu([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Nu(Ge,Ze){return cl(Zs,Ge,Ze)}function tc(Ge){if(!(Ge*=2))return x.geoAzimuthalEquidistantRaw;var Ze=-Ge/2,ot=-Ze,dt=Ge*Ge,Ct=T(ot),wt=.5/d(ot);function Dt(fr,_r){var kr=z(r(_r)*r(fr-Ze)),Vr=z(r(_r)*r(fr-ot)),Qr=_r<0?-1:1;return kr*=kr,Vr*=Vr,[(kr-Vr)/(2*Ge),Qr*F(4*dt*Vr-(dt-kr+Vr)*(dt-kr+Vr))/(2*Ge)]}return Dt.invert=function(fr,_r){var kr=_r*_r,Vr=r(F(kr+(_i=fr+Ze)*_i)),Qr=r(F(kr+(_i=fr+ot)*_i)),_i,Pi;return[t(Pi=Vr-Qr,_i=(Vr+Qr)*Ct),(_r<0?-1:1)*z(F(_i*_i+Pi*Pi)*wt)]},Dt}function Bc(){return Lu([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function Lu(Ge,Ze){return cl(tc,Ge,Ze)}function Oc(Ge,Ze){if(E(Ze)l&&--fr>0);return[m(Ge)*(F(Ct*Ct+4)+Ct)*w/4,A*Dt]};function rc(){return x.geoProjection(hc).scale(127.16)}function Ue(Ge,Ze,ot,dt,Ct){function wt(Dt,fr){var _r=ot*d(dt*fr),kr=F(1-_r*_r),Vr=F(2/(1+kr*r(Dt*=Ct)));return[Ge*kr*Vr*d(Dt),Ze*_r*Vr]}return wt.invert=function(Dt,fr){var _r=Dt/Ge,kr=fr/Ze,Vr=F(_r*_r+kr*kr),Qr=2*L(Vr/2);return[t(Dt*T(Qr),Ge*Vr)/Ct,Vr&&L(fr*d(Qr)/(Ze*ot*Vr))/dt]},wt}function P(Ge,Ze,ot,dt){var Ct=w/3;Ge=a(Ge,l),Ze=a(Ze,l),Ge=s(Ge,A),Ze=s(Ze,w-l),ot=a(ot,0),ot=s(ot,100-l),dt=a(dt,l);var wt=ot/100+1,Dt=dt/100,fr=z(wt*r(Ct))/Ct,_r=d(Ge)/d(fr*A),kr=Ze/w,Vr=F(Dt*d(Ge/2)/d(Ze/2)),Qr=Vr/F(kr*_r*fr),_i=1/(Vr*F(kr*_r*fr));return Ue(Qr,_i,_r,fr,kr)}function ae(){var Ge=65*f,Ze=60*f,ot=20,dt=200,Ct=x.geoProjectionMutator(P),wt=Ct(Ge,Ze,ot,dt);return wt.poleline=function(Dt){return arguments.length?Ct(Ge=+Dt*f,Ze,ot,dt):Ge*y},wt.parallels=function(Dt){return arguments.length?Ct(Ge,Ze=+Dt*f,ot,dt):Ze*y},wt.inflation=function(Dt){return arguments.length?Ct(Ge,Ze,ot=+Dt,dt):ot},wt.ratio=function(Dt){return arguments.length?Ct(Ge,Ze,ot,dt=+Dt):dt},wt.scale(163.775)}function xe(){return ae().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)}var Te=4*w+3*F(3),Oe=2*F(2*w*F(3)/Te),ht=et(Oe*F(3)/w,Oe,Te/6);function Tt(){return x.geoProjection(ht).scale(176.84)}function Ot(Ge,Ze){return[Ge*F(1-3*Ze*Ze/(w*w)),Ze]}Ot.invert=function(Ge,Ze){return[Ge/F(1-3*Ze*Ze/(w*w)),Ze]};function Qt(){return x.geoProjection(Ot).scale(152.63)}function Ar(Ge,Ze){var ot=r(Ze),dt=r(Ge)*ot,Ct=1-dt,wt=r(Ge=t(d(Ge)*ot,-d(Ze))),Dt=d(Ge);return ot=F(1-dt*dt),[Dt*ot-wt*Ct,-wt*ot-Dt*Ct]}Ar.invert=function(Ge,Ze){var ot=(Ge*Ge+Ze*Ze)/-2,dt=F(-ot*(2+ot)),Ct=Ze*ot+Ge*dt,wt=Ge*ot-Ze*dt,Dt=F(wt*wt+Ct*Ct);return[t(dt*Ct,Dt*(1+ot)),Dt?-L(dt*wt/Dt):0]};function Sr(){return x.geoProjection(Ar).rotate([0,-90,45]).scale(124.75).clipAngle(180-.001)}function Kr(Ge,Ze){var ot=se(Ge,Ze);return[(ot[0]+Ge/A)/2,(ot[1]+Ze)/2]}Kr.invert=function(Ge,Ze){var ot=Ge,dt=Ze,Ct=25;do{var wt=r(dt),Dt=d(dt),fr=d(2*dt),_r=Dt*Dt,kr=wt*wt,Vr=d(ot),Qr=r(ot/2),_i=d(ot/2),Pi=_i*_i,qi=1-kr*Qr*Qr,ga=qi?z(wt*Qr)*F(Qa=1/qi):Qa=0,Qa,$a=.5*(2*ga*wt*_i+ot/A)-Ge,yn=.5*(ga*Dt+dt)-Ze,qn=.5*Qa*(kr*Pi+ga*wt*Qr*_r)+.5/A,po=Qa*(Vr*fr/4-ga*Dt*_i),to=.125*Qa*(fr*_i-ga*Dt*kr*Vr),Vo=.5*Qa*(_r*Qr+ga*Pi*wt)+.5,bs=po*to-Vo*qn,Ho=(yn*po-$a*Vo)/bs,ds=($a*to-yn*qn)/bs;ot-=Ho,dt-=ds}while((E(Ho)>l||E(ds)>l)&&--Ct>0);return[ot,dt]};function oi(){return x.geoProjection(Kr).scale(158.837)}p.geoNaturalEarth=x.geoNaturalEarth1,p.geoNaturalEarthRaw=x.geoNaturalEarth1Raw,p.geoAiry=J,p.geoAiryRaw=X,p.geoAitoff=le,p.geoAitoffRaw=se,p.geoArmadillo=q,p.geoArmadilloRaw=ce,p.geoAugust=ee,p.geoAugustRaw=Z,p.geoBaker=j,p.geoBakerRaw=ie,p.geoBerghaus=re,p.geoBerghausRaw=Q,p.geoBertin1953=tt,p.geoBertin1953Raw=Xe,p.geoBoggs=Qe,p.geoBoggsRaw=Be,p.geoBonne=Vt,p.geoBonneRaw=Pt,p.geoBottomley=Cr,p.geoBottomleyRaw=Wt,p.geoBromley=qr,p.geoBromleyRaw=yr,p.geoChamberlin=Ie,p.geoChamberlinRaw=Ne,p.geoChamberlinAfrica=be,p.geoCollignon=ke,p.geoCollignonRaw=qe,p.geoCraig=Le,p.geoCraigRaw=Me,p.geoCraster=gt,p.geoCrasterRaw=lt,p.geoCylindricalEqualArea=nr,p.geoCylindricalEqualAreaRaw=kt,p.geoCylindricalStereographic=tr,p.geoCylindricalStereographicRaw=ir,p.geoEckert1=vi,p.geoEckert1Raw=Ir,p.geoEckert2=Ui,p.geoEckert2Raw=Vi,p.geoEckert3=ea,p.geoEckert3Raw=Ki,p.geoEckert4=_a,p.geoEckert4Raw=Bi,p.geoEckert5=Kt,p.geoEckert5Raw=Ca,p.geoEckert6=Zt,p.geoEckert6Raw=zt,p.geoEisenlohr=ri,p.geoEisenlohrRaw=Br,p.geoFahey=Wi,p.geoFaheyRaw=di,p.geoFoucaut=ra,p.geoFoucautRaw=oa,p.geoFoucautSinusoidal=xa,p.geoFoucautSinusoidalRaw=ca,p.geoGilbert=_n,p.geoGingery=Nr,p.geoGingeryRaw=En,p.geoGinzburg4=Rr,p.geoGinzburg4Raw=br,p.geoGinzburg5=Wr,p.geoGinzburg5Raw=jr,p.geoGinzburg6=Xt,p.geoGinzburg6Raw=yt,p.geoGinzburg8=Or,p.geoGinzburg8Raw=mr,p.geoGinzburg9=Ni,p.geoGinzburg9Raw=ki,p.geoGringorten=Fa,p.geoGringortenRaw=fi,p.geoGuyou=Eo,p.geoGuyouRaw=eo,p.geoHammer=we,p.geoHammerRaw=ue,p.geoHammerRetroazimuthal=ns,p.geoHammerRetroazimuthalRaw=fs,p.geoHealpix=Ms,p.geoHealpixRaw=el,p.geoHill=ul,p.geoHillRaw=Gs,p.geoHomolosine=so,p.geoHomolosineRaw=zs,p.geoHufnagel=Ps,p.geoHufnagelRaw=$s,p.geoHyperelliptical=Ko,p.geoHyperellipticalRaw=On,p.geoInterrupt=Lo,p.geoInterruptedBoggs=kl,p.geoInterruptedHomolosine=rl,p.geoInterruptedMollweide=Us,p.geoInterruptedMollweideHemispheres=pu,p.geoInterruptedSinuMollweide=Au,p.geoInterruptedSinusoidal=Gc,p.geoKavrayskiy7=yc,p.geoKavrayskiy7Raw=Js,p.geoLagrange=mu,p.geoLagrangeRaw=Zc,p.geoLarrivee=Gu,p.geoLarriveeRaw=lc,p.geoLaskowski=Cl,p.geoLaskowskiRaw=_l,p.geoLittrow=ol,p.geoLittrowRaw=Fs,p.geoLoximuthal=Kl,p.geoLoximuthalRaw=uc,p.geoMiller=Sl,p.geoMillerRaw=Zu,p.geoModifiedStereographic=su,p.geoModifiedStereographicRaw=vh,p.geoModifiedStereographicAlaska=Ku,p.geoModifiedStereographicGs48=$l,p.geoModifiedStereographicGs50=Mf,p.geoModifiedStereographicMiller=Cc,p.geoModifiedStereographicLee=uf,p.geoMollweide=Ae,p.geoMollweideRaw=nt,p.geoMtFlatPolarParabolic=Wc,p.geoMtFlatPolarParabolicRaw=cf,p.geoMtFlatPolarQuartic=zf,p.geoMtFlatPolarQuarticRaw=Df,p.geoMtFlatPolarSinusoidal=Ef,p.geoMtFlatPolarSinusoidalRaw=$u,p.geoNaturalEarth2=$c,p.geoNaturalEarth2Raw=cc,p.geoNellHammer=Xc,p.geoNellHammerRaw=lu,p.geoInterruptedQuarticAuthalic=sl,p.geoNicolosi=ah,p.geoNicolosiRaw=kf,p.geoPatterson=Eu,p.geoPattersonRaw=_c,p.geoPolyconic=Nl,p.geoPolyconicRaw=Iu,p.geoPolyhedral=ff,p.geoPolyhedralButterfly=bl,p.geoPolyhedralCollignon=Cf,p.geoPolyhedralWaterman=Ml,p.geoProject=du,p.geoGringortenQuincuncial=er,p.geoPeirceQuincuncial=wr,p.geoPierceQuincuncial=wr,p.geoQuantize=ai,p.geoQuincuncial=Fc,p.geoRectangularPolyconic=Fi,p.geoRectangularPolyconicRaw=Jr,p.geoRobinson=an,p.geoRobinsonRaw=Ba,p.geoSatellite=Na,p.geoSatelliteRaw=Ln,p.geoSinuMollweide=tl,p.geoSinuMollweideRaw=Xn,p.geoSinusoidal=It,p.geoSinusoidalRaw=$e,p.geoStitch=wl,p.geoTimes=Jo,p.geoTimesRaw=io,p.geoTwoPointAzimuthal=Nu,p.geoTwoPointAzimuthalRaw=Zs,p.geoTwoPointAzimuthalUsa=gu,p.geoTwoPointEquidistant=Lu,p.geoTwoPointEquidistantRaw=tc,p.geoTwoPointEquidistantUsa=Bc,p.geoVanDerGrinten=Pu,p.geoVanDerGrintenRaw=Oc,p.geoVanDerGrinten2=Po,p.geoVanDerGrinten2Raw=wc,p.geoVanDerGrinten3=Nc,p.geoVanDerGrinten3Raw=es,p.geoVanDerGrinten4=rc,p.geoVanDerGrinten4Raw=hc,p.geoWagner=ae,p.geoWagner7=xe,p.geoWagnerRaw=P,p.geoWagner4=Tt,p.geoWagner4Raw=ht,p.geoWagner6=Qt,p.geoWagner6Raw=Ot,p.geoWiechel=Sr,p.geoWiechelRaw=Ar,p.geoWinkel3=oi,p.geoWinkel3Raw=Kr,Object.defineProperty(p,"__esModule",{value:!0})})}}),hP=De({"src/plots/geo/zoom.js"(Y,H){"use strict";var p=za(),x=ui(),S=Mo(),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=a:f._isClipped?L=h:L=s,L(y,R)}H.exports=o;function i(y,f){return p.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],B=z._fullLayout,I=B[L],U={},O={};function X(J,se){U[L+"."+J]=x.nestedProperty(N,J).get(),S.call("_storeDirectGUIEdit",F,B._preGUI,U);var le=x.nestedProperty(I,J);le.get()!==se&&(le.set(se),x.nestedProperty(N,J).set(se),O[L+"."+J]=se)}R(X),X("projection.scale",f.scale()/y.fitScale),X("fitbounds",!1),z.emit("plotly_relayout",O)}function a(y,f){var R=i(y,f);function L(){p.select(this).style(t)}function z(){f.scale(p.event.scale).translate(p.event.translate),y.render(!0);var B=f.invert(y.midPt);y.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":f.scale()/y.fitScale,"geo.center.lon":B[0],"geo.center.lat":B[1]})}function F(B){var I=f.invert(y.midPt);B("center.lon",I[0]),B("center.lat",I[1])}function N(){p.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=i(y,f),L=2,z,F,N,B,I,U,O,X,J;function se(V){return f.invert(V)}function le(V){var oe=se(V);if(!oe)return!0;var ie=f(oe);return Math.abs(ie[0]-V[0])>L||Math.abs(ie[1]-V[1])>L}function ce(){p.select(this).style(t),z=p.mouse(this),F=f.rotate(),N=f.translate(),B=F,I=se(z)}function q(){if(U=p.mouse(this),le(z)){R.scale(f.scale()),R.translate(f.translate());return}f.scale(p.event.scale),f.translate([N[0],p.event.translate[1]]),I?se(U)&&(X=se(U),O=[B[0]+(X[0]-I[0]),F[1],F[2]],f.rotate(O),B=O):(z=U,I=se(z)),J=!0,y.render(!0);var V=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":-V[0]})}function Z(){p.select(this).style(r),J&&n(y,f,ee)}function ee(V){var oe=f.rotate(),ie=f.invert(y.midPt);V("projection.rotation.lon",-oe[0]),V("center.lon",ie[0]),V("center.lat",ie[1])}return R.on("zoomstart",ce).on("zoom",q).on("zoomend",Z),R}function h(y,f){var R={r:f.rotate(),k:f.scale()},L=i(y,f),z=u(L,"zoomstart","zoom","zoomend"),F=0,N=L.on,B;L.on("zoomstart",function(){p.select(this).style(t);var J=p.mouse(this),se=f.rotate(),le=se,ce=f.translate(),q=m(se);B=c(f,J),N.call(L,"zoom",function(){var Z=p.mouse(this);if(f.scale(R.k=p.event.scale),!B)J=Z,B=c(f,J);else if(c(f,Z)){f.rotate(se).translate(ce);var ee=c(f,Z),V=T(B,ee),oe=M(d(q,V)),ie=R.r=l(oe,B,le);(!isFinite(ie[0])||!isFinite(ie[1])||!isFinite(ie[2]))&&(ie=le),f.rotate(ie),le=ie}U(z.of(this,arguments))}),I(z.of(this,arguments))}).on("zoomend",function(){p.select(this).style(r),N.call(L,"zoom",null),O(z.of(this,arguments)),n(y,f,X)}).on("zoom.redraw",function(){y.render(!0);var J=f.rotate();y.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":f.scale()/y.fitScale,"geo.projection.rotation.lon":-J[0],"geo.projection.rotation.lat":-J[1]})});function I(J){F++||J({type:"zoomstart"})}function U(J){J({type:"zoom"})}function O(J){--F||J({type:"zoomend"})}function X(J){var se=f.rotate();J("projection.rotation.lon",-se[0]),J("projection.rotation.lat",-se[1])}return p.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),B=Math.cos(R),I=Math.sin(L),U=Math.cos(L);return[F*B*U+z*N*I,z*B*U-F*N*I,F*N*U+z*B*I,F*B*I-z*N*U]}function d(y,f){var R=y[0],L=y[1],z=y[2],F=y[3],N=f[0],B=f[1],I=f[2],U=f[3];return[R*N-L*B-z*I-F*U,R*B+L*N+z*U-F*I,R*I-L*U+z*N+F*B,R*U+L*I-z*B+F*N]}function T(y,f){if(!(!y||!f)){var R=v(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],B=L[0],I=L[1],U=L[2],O=Math.atan2(F,z)*e,X=Math.sqrt(z*z+F*F),J,se;Math.abs(I)>X?(se=(I>0?90:-90)-O,J=0):(se=Math.asin(I/X)*e-O,J=Math.sqrt(X*X-I*I));var le=180-se-2*O,ce=(Math.atan2(U,B)-Math.atan2(N,J))*e,q=(Math.atan2(U,B)-Math.atan2(N,-J))*e,Z=_(R[0],R[1],se,ce),ee=_(R[0],R[1],le,q);return Z<=ee?[se,ce,R[2]]:[le,q,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,B=Math.cos(L),I=Math.sin(L);return z[F]=y[F]*B-y[N]*I,z[N]=y[N]*B+y[F]*I,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&&I._module.calcGeoJSON(B,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 O=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=O.selectAll(".point"),this.dataPoints.text=O.selectAll("text"),this.dataPaths.line=O.selectAll(".js-line");var X=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=X.selectAll("path"),this._render()},v.updateProjection=function(R,L){var z=this.graphDiv,F=L[this.id],N=L._size,B=F.domain,I=F.projection,U=F.lonaxis,O=F.lataxis,X=U._ax,J=O._ax,se=this.projection=u(F),le=[[N.l+N.w*B.x[0],N.t+N.h*(1-B.y[1])],[N.l+N.w*B.x[1],N.t+N.h*(1-B.y[0])]],ce=F.center||{},q=I.rotation||{},Z=U.range||[],ee=O.range||[];if(F.fitbounds){X._length=le[1][0]-le[0][0],J._length=le[1][1]-le[0][1],X.range=c(z,X),J.range=c(z,J);var V=(X.range[0]+X.range[1])/2,oe=(J.range[0]+J.range[1])/2;if(F._isScoped)ce={lon:V,lat:oe};else if(F._isClipped){ce={lon:V,lat:oe},q={lon:V,lat:oe,roll:q.roll};var ie=I.type,j=w.lonaxisSpan[ie]/2||180,Q=w.lataxisSpan[ie]/2||90;Z=[V-j,V+j],ee=[oe-Q,oe+Q]}else ce={lon:V,lat:oe},q={lon:V,lat:q.lat,roll:q.roll}}se.center([ce.lon-q.lon,ce.lat-q.lat]).rotate([-q.lon,-q.lat,q.roll]).parallels(I.parallels);var re=f(Z,ee);se.fitExtent(le,re);var ue=this.bounds=se.getBounds(re),_e=this.fitScale=se.scale(),we=se.translate();if(F.fitbounds){var Re=se.getBounds(f(X.range,J.range)),ze=Math.min((ue[1][0]-ue[0][0])/(Re[1][0]-Re[0][0]),(ue[1][1]-ue[0][1])/(Re[1][1]-Re[0][1]));isFinite(ze)?se.scale(ze*_e):r.warn("Something went wrong during"+this.id+"fitbounds computations.")}else se.scale(I.scale*_e);var Xe=this.midPt=[(ue[0][0]+ue[1][0])/2,(ue[0][1]+ue[1][1])/2];if(se.translate([we[0]+(Xe[0]-we[0]),we[1]+(Xe[1]-we[1])]).clipExtent(ue),F._isAlbersUsa){var tt=se([ce.lon,ce.lat]),it=se.translate();se.translate([it[0]-(tt[0]-it[0]),it[1]-(tt[1]-it[1])])}},v.updateBaseLayers=function(R,L){var z=this,F=z.topojson,N=z.layers,B=z.basePaths;function I(le){return le==="lonaxis"||le==="lataxis"}function U(le){return!!w.lineLayers[le]}function O(le){return!!w.fillLayers[le]}var X=this.hasChoropleth?w.layersForChoropleth:w.layers,J=X.filter(function(le){return U(le)||O(le)?L["show"+le]:I(le)?L[le].showgrid:!0}),se=z.framework.selectAll(".layer").data(J,String);se.exit().each(function(le){delete N[le],delete B[le],p.select(this).remove()}),se.enter().append("g").attr("class",function(le){return"layer "+le}).each(function(le){var ce=N[le]=p.select(this);le==="bg"?z.bgRect=ce.append("rect").style("pointer-events","all"):I(le)?B[le]=ce.append("path").style("fill","none"):le==="backplot"?ce.append("g").classed("choroplethlayer",!0):le==="frontplot"?ce.append("g").classed("scatterlayer",!0):U(le)?B[le]=ce.append("path").style("fill","none").style("stroke-miterlimit",2):O(le)&&(B[le]=ce.append("path").style("stroke","none"))}),se.order(),se.each(function(le){var ce=B[le],q=w.layerNameToAdjective[le];le==="frame"?ce.datum(w.sphereSVG):U(le)||O(le)?ce.datum(g(F,F.objects[le])):I(le)&&ce.datum(y(le,L,R)).call(i.stroke,L[le].gridcolor).call(n.dashLine,L[le].griddash,L[le].gridwidth),U(le)?ce.call(i.stroke,L[q+"color"]).call(n.dashLine,"",L[q+"width"]):O(le)&&ce.call(i.fill,L[q+"color"])})},v.updateDims=function(R,L){var z=this.bounds,F=(L.framewidth||0)/2,N=z[0][0]-F,B=z[0][1]-F,I=z[1][0]-N+F,U=z[1][1]-B+F;n.setRect(this.clipRect,N,B,I,U),this.bgRect.call(n.setRect,N,B,I,U).call(i.fill,L.bgcolor),this.xaxis._offset=N,this.xaxis._length=I,this.yaxis._offset=B,this.yaxis._length=U},v.updateFx=function(R,L){var z=this,F=z.graphDiv,N=z.bgRect,B=R.dragmode,I=R.clickmode;if(z.isStatic)return;function U(){var se=z.viewInitial,le={};for(var ce in se)le[z.id+"."+ce]=se[ce];t.call("_guiRelayout",F,le),F.emit("plotly_doubleclick",null)}function O(se){return z.projection.invert([se[0]+z.xaxis._offset,se[1]+z.yaxis._offset])}var X=function(se,le){if(le.isRect){var ce=se.range={};ce[z.id]=[O([le.xmin,le.ymin]),O([le.xmax,le.ymax])]}else{var q=se.lassoPoints={};q[z.id]=le.map(O)}},J={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)}};B==="pan"?(N.node().onmousedown=null,N.call(_(z,L)),N.on("dblclick.zoom",U),F._context._scrollZoom.geo||N.on("wheel.zoom",null)):(B==="select"||B==="lasso")&&(N.on(".zoom",null),J.prepFn=function(se,le,ce){d(se,le,ce,J,B)},m.init(J)),N.on("mousemove",function(){var se=z.projection.invert(r.getPositionFromD3Event());if(!se)return m.unhover(F,p.event);z.xaxis.p2c=function(){return se[0]},z.yaxis.p2c=function(){return se[1]},a.hover(F,p.event,z.id)}),N.on("mouseout",function(){F._dragging||m.unhover(F,p.event)}),N.on("click",function(){B!=="select"&&B!=="lasso"&&(I.indexOf("select")>-1&&l(p.event,F,[z.xaxis],[z.yaxis],z.id,J),I.indexOf("event")>-1&&a.click(F,p.event))})},v.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=p.select(R.container).append("g").attr("class","geo "+R.id).call(n.setClipUrl,F,L),R.project=function(N){var B=R.projection(N);return B?[B[0]-R.xaxis._offset,B[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)},v.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)},v.render=function(R){this._hasMarkerAngles&&R?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()},v._render=function(){var R=this.projection,L=R.getPath(),z;function F(B){var I=R(B.lonlat);return I?o(I[0],I[1]):null}function N(B){return R.isLonLatOverEdges(B.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(B){return L(B.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],B=N(),I=R._isSatellite?Math.acos(1/L.distance)*180/Math.PI:R._isClipped?w.lonaxisSpan[z]/2:null,U=["center","rotate","parallels","clipExtent"],O=function(se){return se?B:[]},X=0;Xq}else return!1},B.getPath=function(){return S().projection(B)},B.getBounds=function(se){return B.getPath().bounds(se)},B.precision(w.precision),R._isSatellite&&B.tilt(L.tilt).distance(L.distance),I&&B.clipAngle(I-w.clipPad),B}function y(R,L,z){var F=1e-6,N=2.5,B=L[R],I=w.scopeDefaults[L.scope],U,O,X;R==="lonaxis"?(U=I.lonaxisRange,O=I.lataxisRange,X=function(oe,ie){return[oe,ie]}):R==="lataxis"&&(U=I.lataxisRange,O=I.lonaxisRange,X=function(oe,ie){return[ie,oe]});var J={type:"linear",range:[U[0],U[1]-F],tick0:B.tick0,dtick:B.dtick};h.setConvert(J,z);var se=h.calcTicks(J);!L.isScoped&&R==="lonaxis"&&se.pop();for(var le=se.length,ce=new Array(le),q=0;q0&&N<0&&(N+=360);var U=(N-F)/4;return{type:"Polygon",coordinates:[[[F,B],[F,I],[F+U,I],[F+2*U,I],[F+3*U,I],[N,I],[N,B],[N-U,B],[N-2*U,B],[N-3*U,B],[F,B]]]}}}}),g5=De({"src/plots/geo/layout_attributes.js"(Y,H){"use strict";var p=Pf(),x=Ec().attributes,S=Ch().dash,E=e1(),e=gc().overrideAll,t=jp(),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:p.lightLine},gridwidth:{valType:"number",min:0,dflt:1},griddash:S},o=H.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:p.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:p.defaultLine},countrywidth:{valType:"number",min:0,dflt:1},showsubunits:{valType:"boolean"},subunitcolor:{valType:"color",dflt:p.defaultLine},subunitwidth:{valType:"number",min:0,dflt:1},showframe:{valType:"boolean"},framecolor:{valType:"color",dflt:p.defaultLine},framewidth:{valType:"number",min:0,dflt:1},bgcolor:{valType:"color",dflt:p.background},lonaxis:r,lataxis:r},"plot","from-root");o.uirevision={valType:"any",editType:"none"}}}),vP=De({"src/plots/geo/layout_defaults.js"(Y,H){"use strict";var p=ui(),x=Kp(),S=Lh().getSubplotData,E=e1(),e=g5(),t=E.axesNames;H.exports=function(i,n,a){x(i,n,a,{type:"geo",attributes:e,handleDefaults:r,fullData:a,partition:"y"})};function r(o,i,n,a){var s=S(a.fullData,"geo",a.id),h=s.map(function(ee){return ee.index}),c=n("resolution"),m=n("scope"),d=E.scopeDefaults[m],T=n("projection.type",d.projType),l=i._isAlbersUsa=T==="albers usa";l&&(m=i.scope="usa");var _=i._isScoped=m!=="world",w=i._isSatellite=T==="satellite",A=i._isConic=T.indexOf("conic")!==-1||T==="albers",M=i._isClipped=!!E.lonaxisSpan[T];if(o.visible===!1){var g=p.extendDeep({},i._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),i._template=g}for(var b=n("visible"),v,u=0;u0&&O<0&&(O+=360);var X=(U+O)/2,J;if(!l){var se=_?d.projRotate:[X,0,0];J=n("projection.rotation.lon",se[0]),n("projection.rotation.lat",se[1]),n("projection.rotation.roll",se[2]),v=n("showcoastlines",!_&&b),v&&(n("coastlinecolor"),n("coastlinewidth")),v=n("showocean",b?void 0:!1),v&&n("oceancolor")}var le,ce;if(l?(le=-96.6,ce=38.7):(le=_?X:J,ce=(I[0]+I[1])/2),n("center.lon",le),n("center.lat",ce),w&&(n("projection.tilt"),n("projection.distance")),A){var q=d.projParallels||[0,60];n("projection.parallels",q)}n("projection.scale"),v=n("showland",b?void 0:!1),v&&n("landcolor"),v=n("showlakes",b?void 0:!1),v&&n("lakecolor"),v=n("showrivers",b?void 0:!1),v&&(n("rivercolor"),n("riverwidth")),v=n("showcountries",_&&m!=="usa"&&b),v&&(n("countrycolor"),n("countrywidth")),(m==="usa"||m==="north america"&&c===50)&&(n("showsubunits",b),n("subunitcolor"),n("subunitwidth")),_||(v=n("showframe",b),v&&(n("framecolor"),n("framewidth"))),n("bgcolor");var Z=n("fitbounds");Z&&(delete i.projection.scale,_?(delete i.center.lon,delete i.center.lat):M?(delete i.center.lon,delete i.center.lat,delete i.projection.rotation.lon,delete i.projection.rotation.lat,delete i.lonaxis.range,delete i.lataxis.range):(delete i.center.lon,delete i.center.lat,delete i.projection.rotation.lon))}}}),y5=De({"src/plots/geo/index.js"(Y,H){"use strict";var p=Lh().getSubplotCalcData,x=ui().counterRegex,S=dP(),E="geo",e=x(E),t={};t[E]={valType:"subplotid",dflt:E,editType:"calc"};function r(n){for(var a=n._fullLayout,s=n.calcdata,h=a._subplots[E],c=0;c")}}}}),db=De({"src/traces/choropleth/event_data.js"(Y,H){"use strict";H.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}}}),vb=De({"src/traces/choropleth/select.js"(Y,H){"use strict";H.exports=function(x,S){var E=x.cd,e=x.xaxis,t=x.yaxis,r=[],o,i,n,a,s;if(S===!1)for(o=0;o=Math.min(O,X)&&T<=Math.max(O,X)?0:1/0}if(L=Math.min(J,se)&&l<=Math.max(J,se)?0:1/0}N=Math.sqrt(L*L+z*z),u=w[R]}}}else for(R=w.length-1;R>-1;R--)v=w[R],y=m[v],f=d[v],L=h.c2p(y)-T,z=c.c2p(f)-l,F=Math.sqrt(L*L+z*z),F100},Y.isDotSymbol=function(p){return typeof p=="string"?H.DOT_RE.test(p):p>200}}}),xP=De({"src/traces/scattergl/defaults.js"(Y,H){"use strict";var p=ui(),x=Mo(),S=mb(),E=r1(),e=zv(),t=Hu(),r=Qm(),o=pv(),i=Od(),n=Wd(),a=mv(),s=Xd();H.exports=function(c,m,d,T){function l(u,y){return p.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=i!==void 0?i(c,o):c-o;m>=0?(s=h,a=h-1):n=h+1}return s}function x(r,o,i,n,a){for(var s=a+1;n<=a;){var h=n+a>>>1,c=r[h],m=i!==void 0?i(c,o):c-o;m>0?(s=h,a=h-1):n=h+1}return s}function S(r,o,i,n,a){for(var s=n-1;n<=a;){var h=n+a>>>1,c=r[h],m=i!==void 0?i(c,o):c-o;m<0?(s=h,n=h+1):a=h-1}return s}function E(r,o,i,n,a){for(var s=n-1;n<=a;){var h=n+a>>>1,c=r[h],m=i!==void 0?i(c,o):c-o;m<=0?(s=h,n=h+1):a=h-1}return s}function e(r,o,i,n,a){for(;n<=a;){var s=n+a>>>1,h=r[s],c=i!==void 0?i(h,o):h-o;if(c===0)return s;c<=0?n=s+1:a=s-1}return-1}function t(r,o,i,n,a,s){return typeof i=="function"?s(r,o,i,n===void 0?0:n|0,a===void 0?r.length-1:a|0):s(r,o,void 0,i===void 0?0:i|0,n===void 0?r.length-1:n|0)}H.exports={ge:function(r,o,i,n,a){return t(r,o,i,n,a,p)},gt:function(r,o,i,n,a){return t(r,o,i,n,a,x)},lt:function(r,o,i,n,a){return t(r,o,i,n,a,S)},le:function(r,o,i,n,a){return t(r,o,i,n,a,E)},eq:function(r,o,i,n,a){return t(r,o,i,n,a,e)}}}}),Nv=De({"node_modules/pick-by-alias/index.js"(Y,H){"use strict";H.exports=function(E,e,t){var r={},o,i;if(typeof e=="string"&&(e=x(e)),Array.isArray(e)){var n={};for(i=0;i1&&(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=p(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}}}),sm=De({"node_modules/array-bounds/index.js"(Y,H){"use strict";H.exports=p;function p(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(i(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 v=0;for(let L=0;Ld||I>a){for(let oe=0;oere||X>ue||J=le||j===Q)return;let _e=A[ie];Q===void 0&&(Q=_e.length);for(let Ae=j;Ae=N&&fe<=I&&Be>=B&&Be<=U&&ce.push(me)}let we=M[ie],Re=we[j*4+0],ze=we[j*4+1],Xe=we[j*4+2],tt=we[j*4+3],it=Z(we,j+1),et=oe*.5,nt=ie+1;q(ee,V,et,nt,Re,ze||Xe||tt||it),q(ee,V+et,et,nt,ze,Xe||tt||it),q(ee+et,V,et,nt,Xe,tt||it),q(ee+et,V+et,et,nt,tt,it)}function Z(ee,V){let oe=null,ie=0;for(;oe===null;)if(oe=ee[V*4+ie],ie++,ie>ee.length)return null;return oe}return ce}function f(L,z,F,N,B){let I=[];for(let U=0;U1&&(c=1),c<-1&&(c=-1),h*Math.acos(c)},t=function(i,n,a,s,h,c,m,d,T,l,_,w){var A=Math.pow(h,2),M=Math.pow(c,2),g=Math.pow(_,2),b=Math.pow(w,2),v=A*M-A*b-M*g;v<0&&(v=0),v/=A*b+M*g,v=Math.sqrt(v)*(m===d?-1:1);var u=v*h/c*w,y=v*-c/h*_,f=l*u-T*y+(i+a)/2,R=T*u+l*y+(n+s)/2,L=(_-u)/h,z=(w-y)/c,F=(-_-u)/h,N=(-w-y)/c,B=e(1,0,L,z),I=e(L,z,F,N);return d===0&&I>0&&(I-=x),d===1&&I<0&&(I+=x),[f,R,B,I]},r=function(i){var n=i.px,a=i.py,s=i.cx,h=i.cy,c=i.rx,m=i.ry,d=i.xAxisRotation,T=d===void 0?0:d,l=i.largeArcFlag,_=l===void 0?0:l,w=i.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),v=b*(n-s)/2+g*(a-h)/2,u=-g*(n-s)/2+b*(a-h)/2;if(v===0&&u===0)return[];c=Math.abs(c),m=Math.abs(m);var y=Math.pow(v,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,a,s,h,c,m,_,A,g,b,v,u),R=p(f,4),L=R[0],z=R[1],F=R[2],N=R[3],B=Math.abs(N)/(x/4);Math.abs(1-B)<1e-7&&(B=1);var I=Math.max(Math.ceil(B),1);N/=I;for(var U=0;U4?(o=l[l.length-4],i=l[l.length-3]):(o=c,i=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,i,n){return["C",e/3+2/3*r,t/3+2/3*o,i/3+2/3*r,n/3+2/3*o,i,n]}}}),b5=De({"node_modules/is-svg-path/index.js"(Y,H){"use strict";H.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))}}}),CP=De({"node_modules/svg-path-bounds/index.js"(Y,H){"use strict";var p=ly(),x=x5(),S=kP(),E=b5(),e=Py();H.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=p(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],i=0,n=r.length;io[2]&&(o[2]=a[s+0]),a[s+1]>o[3]&&(o[3]=a[s+1]);return o}}}),LP=De({"node_modules/normalize-svg-path/index.js"(Y,H){var p=Math.PI,x=o(120);H.exports=S;function S(i){for(var n,a=[],s=0,h=0,c=0,m=0,d=null,T=null,l=0,_=0,w=0,A=i.length;w7&&(a.push(M.splice(0,7)),M.unshift("C"));break;case"S":var b=l,v=_;(n=="C"||n=="S")&&(b+=b-s,v+=v-h),M=["C",b,v,M[1],M[2],M[3],M[4]];break;case"T":n=="Q"||n=="T"?(d=l*2-d,T=_*2-T):(d=l,T=_),M=e(l,_,d,T,M[1],M[2]);break;case"Q":d=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=_),a.push(M)}return a}function E(i,n,a,s){return["C",i,n,a,s,a,s]}function e(i,n,a,s,h,c){return["C",i/3+2/3*a,n/3+2/3*s,h/3+2/3*a,c/3+2/3*s,h,c]}function t(i,n,a,s,h,c,m,d,T,l){if(l)f=l[0],R=l[1],u=l[2],y=l[3];else{var _=r(i,n,-h);i=_.x,n=_.y,_=r(d,T,-h),d=_.x,T=_.y;var w=(i-d)/2,A=(n-T)/2,M=w*w/(a*a)+A*A/(s*s);M>1&&(M=Math.sqrt(M),a=M*a,s=M*s);var g=a*a,b=s*s,v=(c==m?-1:1)*Math.sqrt(Math.abs((g*b-g*A*A-b*w*w)/(g*A*A+b*w*w)));v==1/0&&(v=1);var u=v*a*A/s+(i+d)/2,y=v*-s*w/a+(n+T)/2,f=Math.asin(((n-y)/s).toFixed(9)),R=Math.asin(((T-y)/s).toFixed(9));f=iR&&(f=f-p*2),!m&&R>f&&(R=R-p*2)}if(Math.abs(R-f)>x){var L=R,z=d,F=T;R=f+x*(m&&R>f?1:-1),d=u+a*Math.cos(R),T=y+s*Math.sin(R);var N=t(d,T,a,s,h,0,m,z,F,[R,L,u,y])}var B=Math.tan((R-f)/4),I=4/3*a*B,U=4/3*s*B,O=[2*i-(i+I*Math.sin(f)),2*n-(n-U*Math.cos(f)),d+I*Math.sin(R),T-U*Math.cos(R),d,T];if(l)return O;N&&(O=O.concat(N));for(var X=0;X0?r.strokeStyle="white":r.strokeStyle="black",r.lineWidth=Math.abs(d)),r.translate(h*.5,c*.5),r.scale(_,_),n()){var w=new Path2D(a);r.fill(w),d&&r.stroke(w)}else{var A=x(a);S(r,A),r.fill(),d&&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 i;function n(){if(i!=null)return i;var a=document.createElement("canvas").getContext("2d");if(a.canvas.width=a.canvas.height=1,!window.Path2D)return i=!1;var s=new Path2D("M0,0h1v1h-1v-1Z");a.fillStyle="black",a.fill(s);var h=a.getImageData(0,0,1,1);return i=h&&h.data&&h.data[3]===255}}}),um=De({"src/traces/scattergl/convert.js"(Y,H){"use strict";var p=vn(),x=RP(),S=a0(),E=Mo(),e=ui(),t=e.isArrayOrTypedArray,r=ys(),o=nf(),i=mp().formatColor,n=Hu(),a=Km(),s=mb(),h=l0(),c=_o().DESELECTDIM,m={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},d=Ad().appendArrayPointValue;function T(N,B){var I,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},O=N._context.plotGlPixelRatio;if(B.visible!==!0)return U;if(n.hasText(B)&&(U.text=l(N,B),U.textSel=M(N,B,B.selected),U.textUnsel=M(N,B,B.unselected)),n.hasMarkers(B)&&(U.marker=w(N,B),U.markerSel=A(N,B,B.selected),U.markerUnsel=A(N,B,B.unselected),!B.unselected&&t(B.marker.opacity))){var X=B.marker.opacity;for(U.markerUnsel.opacity=new Array(X.length),I=0;I500?"bold":"normal":N}function w(N,B){var I=B._length,U=B.marker,O={},X,J=t(U.symbol),se=t(U.angle),le=t(U.color),ce=t(U.line.color),q=t(U.opacity),Z=t(U.size),ee=t(U.line.width),V;if(J||(V=s.isOpenSymbol(U.symbol)),J||le||ce||q||se){O.symbols=new Array(I),O.angles=new Array(I),O.colors=new Array(I),O.borderColors=new Array(I);var oe=U.symbol,ie=U.angle,j=i(U,U.opacity,I),Q=i(U.line,U.opacity,I);if(!t(Q[0])){var re=Q;for(Q=Array(I),X=0;Xh.TOO_MANY_POINTS||n.hasMarkers(B)?"rect":"round";if(ce&&B.connectgaps){var Z=X[0],ee=X[1];for(J=0;J1?le[J]:le[0]:le,V=t(ce)?ce.length>1?ce[J]:ce[0]:ce,oe=m[ee],ie=m[V],j=q?q/.8+1:0,Q=-ie*j-ie*.5;X.offset[J]=[oe*j/Z,Q/Z]}}return X}H.exports={style:T,markerStyle:w,markerSelection:A,linePositions:L,errorBarPositions:z,textPosition:F}}}),w5=De({"src/traces/scattergl/scene_update.js"(Y,H){"use strict";var p=ui();H.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(){p.extendFlat(e,r,t)},e.init(),e.update=function(i){var n=p.repeat(i,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 a=0;a=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,B=F.vals;_._x=N,_._y=B,_.xperiodalignment&&(_._origX=R,_._xStarts=z.starts,_._xEnds=z.ends),_.yperiodalignment&&(_._origY=L,_._yStarts=F.starts,_._yEnds=F.ends);var I=new Array(u),U=new Array(b);for(f=0;f1&&x.extendFlat(g.line,a.linePositions(T,_,w)),g.errorX||g.errorY){var b=a.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},a.textPosition(T,_,g.text,g.marker)),x.extendFlat(g.textSel,{positions:w},a.textPosition(T,_,g.text,g.markerSel)),x.extendFlat(g.textUnsel,{positions:w},a.textPosition(T,_,g.text,g.markerUnsel))),g}}}),T5=De({"src/traces/scattergl/edit_style.js"(Y,H){"use strict";var p=ui(),x=vo(),S=_o().DESELECTDIM;function E(e){var t=e[0],r=t.trace,o=t.t,i=o._scene,n=o.index,a=i.selectBatch[n],s=i.unselectBatch[n],h=i.textOptions[n],c=i.textSelectedOptions[n]||{},m=i.textUnselectedOptions[n]||{},d=p.extendFlat({},h),T,l;if(a.length||s.length){var _=c.color,w=m.color,A=h.color,M=p.isArrayOrTypedArray(A);for(d.color=new Array(r._length),T=0;T>>24,r=(E&16711680)>>>16,o=(E&65280)>>>8,i=E&255;return e===!1?[t,r,o,i]:[t/255,r/255,o/255,i/255]}}}),ih=De({"node_modules/object-assign/index.js"(Y,H){"use strict";var p=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 i=Object.getOwnPropertyNames(r).map(function(a){return r[a]});if(i.join("")!=="0123456789")return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(a){n[a]=a}),Object.keys(Object.assign({},n)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}H.exports=e()?Object.assign:function(t,r){for(var o,i=E(t),n,a=1;ay.length)&&(f=y.length);for(var R=0,L=new Array(f);Rme)?nt.tree=c(et,{bounds:$e}):me&&me.length&&(nt.tree=me),nt.tree){var It={primitive:"points",usage:"static",data:nt.tree,type:"uint32"};nt.elements?nt.elements(It):nt.elements=N.elements(It)}var Pt=A.float32(et);fe({data:Pt,usage:"dynamic"});var Vt=A.fract32(et,Pt);return Be({data:Vt,usage:"dynamic"}),Qe({data:new Uint8Array(at),type:"uint8",usage:"stream"}),et}},{marker:function(et,nt,Ae){var me=nt.activation;if(me.forEach(function(Vt){return Vt&&Vt.destroy&&Vt.destroy()}),me.length=0,!et||typeof et[0]=="number"){var fe=y.addMarker(et);me[fe]=!0}else{for(var Be=[],Qe=0,at=Math.min(et.length,nt.count);Qe=0)return z;var F;if(y instanceof Uint8Array||y instanceof Uint8ClampedArray)F=y;else{F=new Uint8Array(y.length);for(var N=0,B=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*I){se=ce=N[0],le=q=N[1];for(var oe=I;oece&&(ce=Z),ee>q&&(q=ee);V=Math.max(ce-se,q-le),V=V!==0?32767/V:0}return E(X,J,I,se,le,V,0),J}function x(N,B,I,U,O){var X,J;if(O===F(N,B,I,U)>0)for(X=B;X=B;X-=U)J=R(X,N[X],N[X+1],J);return J&&A(J,J.next)&&(L(J),J=J.next),J}function S(N,B){if(!N)return N;B||(B=N);var I=N,U;do if(U=!1,!I.steiner&&(A(I,I.next)||w(I.prev,I,I.next)===0)){if(L(I),I=B=I.prev,I===I.next)break;U=!0}else I=I.next;while(U||I!==B);return B}function E(N,B,I,U,O,X,J){if(N){!J&&X&&c(N,U,O,X);for(var se=N,le,ce;N.prev!==N.next;){if(le=N.prev,ce=N.next,X?t(N,U,O,X):e(N)){B.push(le.i/I|0),B.push(N.i/I|0),B.push(ce.i/I|0),L(N),N=ce.next,se=ce.next;continue}if(N=ce,N===se){J?J===1?(N=r(S(N),B,I),E(N,B,I,U,O,X,2)):J===2&&o(N,B,I,U,O,X):E(S(N),B,I,U,O,X,1);break}}}}function e(N){var B=N.prev,I=N,U=N.next;if(w(B,I,U)>=0)return!1;for(var O=B.x,X=I.x,J=U.x,se=B.y,le=I.y,ce=U.y,q=OX?O>J?O:J:X>J?X:J,V=se>le?se>ce?se:ce:le>ce?le:ce,oe=U.next;oe!==B;){if(oe.x>=q&&oe.x<=ee&&oe.y>=Z&&oe.y<=V&&l(O,se,X,le,J,ce,oe.x,oe.y)&&w(oe.prev,oe,oe.next)>=0)return!1;oe=oe.next}return!0}function t(N,B,I,U){var O=N.prev,X=N,J=N.next;if(w(O,X,J)>=0)return!1;for(var se=O.x,le=X.x,ce=J.x,q=O.y,Z=X.y,ee=J.y,V=sele?se>ce?se:ce:le>ce?le:ce,j=q>Z?q>ee?q:ee:Z>ee?Z:ee,Q=d(V,oe,B,I,U),re=d(ie,j,B,I,U),ue=N.prevZ,_e=N.nextZ;ue&&ue.z>=Q&&_e&&_e.z<=re;){if(ue.x>=V&&ue.x<=ie&&ue.y>=oe&&ue.y<=j&&ue!==O&&ue!==J&&l(se,q,le,Z,ce,ee,ue.x,ue.y)&&w(ue.prev,ue,ue.next)>=0||(ue=ue.prevZ,_e.x>=V&&_e.x<=ie&&_e.y>=oe&&_e.y<=j&&_e!==O&&_e!==J&&l(se,q,le,Z,ce,ee,_e.x,_e.y)&&w(_e.prev,_e,_e.next)>=0))return!1;_e=_e.nextZ}for(;ue&&ue.z>=Q;){if(ue.x>=V&&ue.x<=ie&&ue.y>=oe&&ue.y<=j&&ue!==O&&ue!==J&&l(se,q,le,Z,ce,ee,ue.x,ue.y)&&w(ue.prev,ue,ue.next)>=0)return!1;ue=ue.prevZ}for(;_e&&_e.z<=re;){if(_e.x>=V&&_e.x<=ie&&_e.y>=oe&&_e.y<=j&&_e!==O&&_e!==J&&l(se,q,le,Z,ce,ee,_e.x,_e.y)&&w(_e.prev,_e,_e.next)>=0)return!1;_e=_e.nextZ}return!0}function r(N,B,I){var U=N;do{var O=U.prev,X=U.next.next;!A(O,X)&&M(O,U,U.next,X)&&u(O,X)&&u(X,O)&&(B.push(O.i/I|0),B.push(U.i/I|0),B.push(X.i/I|0),L(U),L(U.next),U=N=X),U=U.next}while(U!==N);return S(U)}function o(N,B,I,U,O,X){var J=N;do{for(var se=J.next.next;se!==J.prev;){if(J.i!==se.i&&_(J,se)){var le=f(J,se);J=S(J,J.next),le=S(le,le.next),E(J,B,I,U,O,X,0),E(le,B,I,U,O,X,0);return}se=se.next}J=J.next}while(J!==N)}function i(N,B,I,U){var O=[],X,J,se,le,ce;for(X=0,J=B.length;X=I.next.y&&I.next.y!==I.y){var se=I.x+(O-I.y)*(I.next.x-I.x)/(I.next.y-I.y);if(se<=U&&se>X&&(X=se,J=I.x=I.x&&I.x>=ce&&U!==I.x&&l(OJ.x||I.x===J.x&&h(J,I)))&&(J=I,Z=ee)),I=I.next;while(I!==le);return J}function h(N,B){return w(N.prev,N,B.prev)<0&&w(B.next,N,N.next)<0}function c(N,B,I,U){var O=N;do O.z===0&&(O.z=d(O.x,O.y,B,I,U)),O.prevZ=O.prev,O.nextZ=O.next,O=O.next;while(O!==N);O.prevZ.nextZ=null,O.prevZ=null,m(O)}function m(N){var B,I,U,O,X,J,se,le,ce=1;do{for(I=N,N=null,X=null,J=0;I;){for(J++,U=I,se=0,B=0;B0||le>0&&U;)se!==0&&(le===0||!U||I.z<=U.z)?(O=I,I=I.nextZ,se--):(O=U,U=U.nextZ,le--),X?X.nextZ=O:N=O,O.prevZ=X,X=O;I=U}X.nextZ=null,ce*=2}while(J>1);return N}function d(N,B,I,U,O){return N=(N-I)*O|0,B=(B-U)*O|0,N=(N|N<<8)&16711935,N=(N|N<<4)&252645135,N=(N|N<<2)&858993459,N=(N|N<<1)&1431655765,B=(B|B<<8)&16711935,B=(B|B<<4)&252645135,B=(B|B<<2)&858993459,B=(B|B<<1)&1431655765,N|B<<1}function T(N){var B=N,I=N;do(B.x=(N-J)*(X-se)&&(N-J)*(U-se)>=(I-J)*(B-se)&&(I-J)*(X-se)>=(O-J)*(U-se)}function _(N,B){return N.next.i!==B.i&&N.prev.i!==B.i&&!v(N,B)&&(u(N,B)&&u(B,N)&&y(N,B)&&(w(N.prev,N,B.prev)||w(N,B.prev,B))||A(N,B)&&w(N.prev,N,N.next)>0&&w(B.prev,B,B.next)>0)}function w(N,B,I){return(B.y-N.y)*(I.x-B.x)-(B.x-N.x)*(I.y-B.y)}function A(N,B){return N.x===B.x&&N.y===B.y}function M(N,B,I,U){var O=b(w(N,B,I)),X=b(w(N,B,U)),J=b(w(I,U,N)),se=b(w(I,U,B));return!!(O!==X&&J!==se||O===0&&g(N,I,B)||X===0&&g(N,U,B)||J===0&&g(I,N,U)||se===0&&g(I,B,U))}function g(N,B,I){return B.x<=Math.max(N.x,I.x)&&B.x>=Math.min(N.x,I.x)&&B.y<=Math.max(N.y,I.y)&&B.y>=Math.min(N.y,I.y)}function b(N){return N>0?1:N<0?-1:0}function v(N,B){var I=N;do{if(I.i!==N.i&&I.next.i!==N.i&&I.i!==B.i&&I.next.i!==B.i&&M(I,I.next,N,B))return!0;I=I.next}while(I!==N);return!1}function u(N,B){return w(N.prev,N,N.next)<0?w(N,B,N.next)>=0&&w(N,N.prev,B)>=0:w(N,B,N.prev)<0||w(N,N.next,B)<0}function y(N,B){var I=N,U=!1,O=(N.x+B.x)/2,X=(N.y+B.y)/2;do I.y>X!=I.next.y>X&&I.next.y!==I.y&&O<(I.next.x-I.x)*(X-I.y)/(I.next.y-I.y)+I.x&&(U=!U),I=I.next;while(I!==N);return U}function f(N,B){var I=new z(N.i,N.x,N.y),U=new z(B.i,B.x,B.y),O=N.next,X=B.prev;return N.next=B,B.prev=N,I.next=O,O.prev=I,U.next=I,I.prev=U,X.next=U,U.prev=X,U}function R(N,B,I,U){var O=new z(N,B,I);return U?(O.next=U.next,O.prev=U,U.next.prev=O,U.next=O):(O.prev=O,O.next=O),O}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,B,I){this.i=N,this.x=B,this.y=I,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}p.deviation=function(N,B,I,U){var O=B&&B.length,X=O?B[0]*I:N.length,J=Math.abs(F(N,0,X,I));if(O)for(var se=0,le=B.length;se0&&(U+=N[O-1].length,I.holes.push(U))}return I}}}),UP=De({"node_modules/array-normalize/index.js"(Y,H){"use strict";var p=sm();H.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=p(S,E));for(var t=0;t-1}}}),P5=De({"node_modules/es5-ext/string/#/contains/index.js"(Y,H){"use strict";H.exports=QP()()?String.prototype.contains:e8()}}),yp=De({"node_modules/d/index.js"(Y,H){"use strict";var p=cm(),x=L5(),S=bb(),E=I5(),e=P5(),t=H.exports=function(r,o){var i,n,a,s,h;return arguments.length<2||typeof r!="string"?(s=o,o=r,r=null):s=arguments[2],p(r)?(i=e.call(r,"c"),n=e.call(r,"e"),a=e.call(r,"w")):(i=a=!0,n=!1),h={value:o,configurable:i,enumerable:n,writable:a},s?S(E(s),h):h};t.gs=function(r,o,i){var n,a,s,h;return typeof r!="string"?(s=i,i=o,o=r,r=null):s=arguments[3],p(o)?x(o)?p(i)?x(i)||(s=i,i=void 0):i=void 0:(s=o,o=i=void 0):o=void 0,p(r)?(n=e.call(r,"c"),a=e.call(r,"e")):(n=!0,a=!1),h={get:o,set:i,configurable:n,enumerable:a},s?S(E(s),h):h}}}),i1=De({"node_modules/es5-ext/function/is-arguments.js"(Y,H){"use strict";var p=Object.prototype.toString,x=p.call(function(){return arguments}());H.exports=function(S){return p.call(S)===x}}}),a1=De({"node_modules/es5-ext/string/is-string.js"(Y,H){"use strict";var p=Object.prototype.toString,x=p.call("");H.exports=function(S){return typeof S=="string"||S&&typeof S=="object"&&(S instanceof String||p.call(S)===x)||!1}}}),t8=De({"node_modules/ext/global-this/is-implemented.js"(Y,H){"use strict";H.exports=function(){return typeof globalThis!="object"||!globalThis?!1:globalThis.Array===Array}}}),r8=De({"node_modules/ext/global-this/implementation.js"(Y,H){var p=function(){if(typeof self=="object"&&self)return self;if(typeof window=="object"&&window)return window;throw new Error("Unable to resolve global `this`")};H.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch{return p()}try{return __global__||p()}finally{delete Object.prototype.__global__}}()}}),n1=De({"node_modules/ext/global-this/index.js"(Y,H){"use strict";H.exports=t8()()?globalThis:r8()}}),i8=De({"node_modules/es6-symbol/is-implemented.js"(Y,H){"use strict";var p=n1(),x={object:!0,symbol:!0};H.exports=function(){var S=p.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])}}}),a8=De({"node_modules/es6-symbol/is-symbol.js"(Y,H){"use strict";H.exports=function(p){return p?typeof p=="symbol"?!0:!p.constructor||p.constructor.name!=="Symbol"?!1:p[p.constructor.toStringTag]==="Symbol":!1}}}),R5=De({"node_modules/es6-symbol/validate-symbol.js"(Y,H){"use strict";var p=a8();H.exports=function(x){if(!p(x))throw new TypeError(x+" is not a symbol");return x}}}),n8=De({"node_modules/es6-symbol/lib/private/generate-name.js"(Y,H){"use strict";var p=yp(),x=Object.create,S=Object.defineProperty,E=Object.prototype,e=x(null);H.exports=function(t){for(var r=0,o,i;e[t+(r||"")];)++r;return t+=r||"",e[t]=!0,o="@@"+t,S(E,o,p.gs(null,function(n){i||(i=!0,S(this,o,p(n)),i=!1)})),o}}}),o8=De({"node_modules/es6-symbol/lib/private/setup/standard-symbols.js"(Y,H){"use strict";var p=yp(),x=n1().Symbol;H.exports=function(S){return Object.defineProperties(S,{hasInstance:p("",x&&x.hasInstance||S("hasInstance")),isConcatSpreadable:p("",x&&x.isConcatSpreadable||S("isConcatSpreadable")),iterator:p("",x&&x.iterator||S("iterator")),match:p("",x&&x.match||S("match")),replace:p("",x&&x.replace||S("replace")),search:p("",x&&x.search||S("search")),species:p("",x&&x.species||S("species")),split:p("",x&&x.split||S("split")),toPrimitive:p("",x&&x.toPrimitive||S("toPrimitive")),toStringTag:p("",x&&x.toStringTag||S("toStringTag")),unscopables:p("",x&&x.unscopables||S("unscopables"))})}}}),s8=De({"node_modules/es6-symbol/lib/private/setup/symbol-registry.js"(Y,H){"use strict";var p=yp(),x=R5(),S=Object.create(null);H.exports=function(E){return Object.defineProperties(E,{for:p(function(e){return S[e]?S[e]:S[e]=E(String(e))}),keyFor:p(function(e){var t;x(e);for(t in S)if(S[t]===e)return t})})}}}),l8=De({"node_modules/es6-symbol/polyfill.js"(Y,H){"use strict";var p=yp(),x=R5(),S=n1().Symbol,E=n8(),e=o8(),t=s8(),r=Object.create,o=Object.defineProperties,i=Object.defineProperty,n,a,s;if(typeof S=="function")try{String(S()),s=!0}catch{}else S=null;a=function(c){if(this instanceof a)throw new TypeError("Symbol is not a constructor");return n(c)},H.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(a.prototype),c=c===void 0?"":String(c),o(m,{__description__:p("",c),__name__:p("",E(c))}))},e(n),t(n),o(a.prototype,{constructor:p(n),toString:p("",function(){return this.__name__})}),o(n.prototype,{toString:p(function(){return"Symbol ("+x(this).__description__+")"}),valueOf:p(function(){return x(this)})}),i(n.prototype,n.toPrimitive,p("",function(){var h=x(this);return typeof h=="symbol"?h:h.toString()})),i(n.prototype,n.toStringTag,p("c","Symbol")),i(a.prototype,n.toStringTag,p("c",n.prototype[n.toStringTag])),i(a.prototype,n.toPrimitive,p("c",n.prototype[n.toPrimitive]))}}),c0=De({"node_modules/es6-symbol/index.js"(Y,H){"use strict";H.exports=i8()()?n1().Symbol:l8()}}),u8=De({"node_modules/es5-ext/array/#/clear.js"(Y,H){"use strict";var p=gp();H.exports=function(){return p(this).length=0,this}}}),Ag=De({"node_modules/es5-ext/object/valid-callable.js"(Y,H){"use strict";H.exports=function(p){if(typeof p!="function")throw new TypeError(p+" is not a function");return p}}}),c8=De({"node_modules/type/string/coerce.js"(Y,H){"use strict";var p=cm(),x=xb(),S=Object.prototype.toString;H.exports=function(E){if(!p(E))return null;if(x(E)){var e=E.toString;if(typeof e!="function"||e===S)return null}try{return""+E}catch{return null}}}}),f8=De({"node_modules/type/lib/safe-to-string.js"(Y,H){"use strict";H.exports=function(p){try{return p.toString()}catch{try{return String(p)}catch{return null}}}}}),h8=De({"node_modules/type/lib/to-short-string.js"(Y,H){"use strict";var p=f8(),x=/[\n\r\u2028\u2029]/g;H.exports=function(S){var E=p(S);return E===null?"":(E.length>100&&(E=E.slice(0,99)+"\u2026"),E=E.replace(x,function(e){switch(e){case` -`:return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}}),E)}}}),D5=De({"node_modules/type/lib/resolve-exception.js"(Y,H){"use strict";var p=cm(),x=xb(),S=c8(),E=h8(),e=function(t,r){return t.replace("%v",E(r))};H.exports=function(t,r,o){if(!x(o))throw new TypeError(e(r,t));if(!p(t)){if("default"in o)return o.default;if(o.isOptional)return null}var i=S(o.errorMessage);throw p(i)||(i=r),new TypeError(e(i,t))}}}),d8=De({"node_modules/type/value/ensure.js"(Y,H){"use strict";var p=D5(),x=cm();H.exports=function(S){return x(S)?S:p(S,"Cannot use %v",arguments[1])}}}),v8=De({"node_modules/type/plain-function/ensure.js"(Y,H){"use strict";var p=D5(),x=L5();H.exports=function(S){return x(S)?S:p(S,"%v is not a plain function",arguments[1])}}}),p8=De({"node_modules/es5-ext/array/from/is-implemented.js"(Y,H){"use strict";H.exports=function(){var p=Array.from,x,S;return typeof p!="function"?!1:(x=["raz","dwa"],S=p(x),!!(S&&S!==x&&S[1]==="dwa"))}}}),m8=De({"node_modules/es5-ext/function/is-function.js"(Y,H){"use strict";var p=Object.prototype.toString,x=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);H.exports=function(S){return typeof S=="function"&&x(p.call(S))}}}),g8=De({"node_modules/es5-ext/math/sign/is-implemented.js"(Y,H){"use strict";H.exports=function(){var p=Math.sign;return typeof p!="function"?!1:p(10)===1&&p(-20)===-1}}}),y8=De({"node_modules/es5-ext/math/sign/shim.js"(Y,H){"use strict";H.exports=function(p){return p=Number(p),isNaN(p)||p===0?p:p>0?1:-1}}}),_8=De({"node_modules/es5-ext/math/sign/index.js"(Y,H){"use strict";H.exports=g8()()?Math.sign:y8()}}),x8=De({"node_modules/es5-ext/number/to-integer.js"(Y,H){"use strict";var p=_8(),x=Math.abs,S=Math.floor;H.exports=function(E){return isNaN(E)?0:(E=Number(E),E===0||!isFinite(E)?E:p(E)*S(x(E)))}}}),b8=De({"node_modules/es5-ext/number/to-pos-integer.js"(Y,H){"use strict";var p=x8(),x=Math.max;H.exports=function(S){return x(0,p(S))}}}),w8=De({"node_modules/es5-ext/array/from/shim.js"(Y,H){"use strict";var p=c0().iterator,x=i1(),S=m8(),E=b8(),e=Ag(),t=gp(),r=u0(),o=a1(),i=Array.isArray,n=Function.prototype.call,a={configurable:!0,enumerable:!0,writable:!0,value:null},s=Object.defineProperty;H.exports=function(h){var c=arguments[1],m=arguments[2],d,T,l,_,w,A,M,g,b,v;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(i(h)){for(_=new Array(w=h.length),T=0;T=55296&&A<=56319&&(v+=h[++T])),v=c?n.call(c,m,v,l):v,d?(a.value=v,s(_,l,a)):_[l]=v,++l;w=l}}if(w===void 0)for(w=E(h.length),d&&(_=new d(w)),T=0;T=this.__nextIndex__)){if(++this.__nextIndex__,!this.__redo__){o(this,"__redo__",e("c",[a]));return}this.__redo__.forEach(function(s,h){s>=a&&(this.__redo__[h]=++s)},this),this.__redo__.push(a)}}),_onDelete:e(function(a){var s;a>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(s=this.__redo__.indexOf(a),s!==-1&&this.__redo__.splice(s,1),this.__redo__.forEach(function(h,c){h>a&&(this.__redo__[c]=--h)},this)))}),_onClear:e(function(){this.__redo__&&p.call(this.__redo__),this.__nextIndex__=0})}))),o(n.prototype,r.iterator,e(function(){return this}))}}),C8=De({"node_modules/es6-iterator/array.js"(Y,H){"use strict";var p=_b(),x=P5(),S=yp(),E=c0(),e=z5(),t=Object.defineProperty,r;r=H.exports=function(o,i){if(!(this instanceof r))throw new TypeError("Constructor requires 'new'");e.call(this,o),i?x.call(i,"key+value")?i="key+value":x.call(i,"key")?i="key":i="value":i="value",t(this,"__kind__",S("",i))},p&&p(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"))}}),L8=De({"node_modules/es6-iterator/string.js"(Y,H){"use strict";var p=_b(),x=yp(),S=c0(),E=z5(),e=Object.defineProperty,t;t=H.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))},p&&p(t,E),delete t.prototype.constructor,t.prototype=Object.create(E.prototype,{_next:x(function(){if(this.__list__){if(this.__nextIndex__=55296&&i<=56319?o+this.__list__[this.__nextIndex__++]:o)})}),e(t.prototype,S.toStringTag,x("c","String Iterator"))}}),I8=De({"node_modules/es6-iterator/is-iterable.js"(Y,H){"use strict";var p=i1(),x=u0(),S=a1(),E=c0().iterator,e=Array.isArray;H.exports=function(t){return x(t)?e(t)||S(t)||p(t)?!0:typeof t[E]=="function":!1}}}),P8=De({"node_modules/es6-iterator/valid-iterable.js"(Y,H){"use strict";var p=I8();H.exports=function(x){if(!p(x))throw new TypeError(x+" is not iterable");return x}}}),F5=De({"node_modules/es6-iterator/get.js"(Y,H){"use strict";var p=i1(),x=a1(),S=C8(),E=L8(),e=P8(),t=c0().iterator;H.exports=function(r){return typeof e(r)[t]=="function"?r[t]():p(r)?new S(r):x(r)?new E(r):new S(r)}}}),R8=De({"node_modules/es6-iterator/for-of.js"(Y,H){"use strict";var p=i1(),x=Ag(),S=a1(),E=F5(),e=Array.isArray,t=Function.prototype.call,r=Array.prototype.some;H.exports=function(o,i){var n,a=arguments[2],s,h,c,m,d,T,l;if(e(o)||p(o)?n="array":S(o)?n="string":o=E(o),x(i),h=function(){c=!0},n==="array"){r.call(o,function(_){return t.call(i,a,_,h),c});return}if(n==="string"){for(d=o.length,m=0;m=55296&&l<=56319&&(T+=o[++m])),t.call(i,a,T,h),!c);++m);return}for(s=o.next();!s.done;){if(t.call(i,a,s.value,h),c)return;s=o.next()}}}}),D8=De({"node_modules/es6-weak-map/is-native-implemented.js"(Y,H){"use strict";H.exports=function(){return typeof WeakMap!="function"?!1:Object.prototype.toString.call(new WeakMap)==="[object WeakMap]"}()}}),z8=De({"node_modules/es6-weak-map/polyfill.js"(Y,H){"use strict";var p=u0(),x=_b(),S=HP(),E=gp(),e=GP(),t=yp(),r=F5(),o=R8(),i=c0().toStringTag,n=D8(),a=Array.isArray,s=Object.defineProperty,h=Object.prototype.hasOwnProperty,c=Object.getPrototypeOf,m;H.exports=m=function(){var d=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,p(d)&&(a(d)||(d=r(d))),s(T,"__weakMapData__",t("c","$weakMap$"+e())),d&&o(d,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(d){return h.call(S(d),this.__weakMapData__)?(delete d[this.__weakMapData__],!0):!1}),get:t(function(d){if(h.call(S(d),this.__weakMapData__))return d[this.__weakMapData__]}),has:t(function(d){return h.call(S(d),this.__weakMapData__)}),set:t(function(d,T){return s(S(d),this.__weakMapData__,t("c",T)),this}),toString:t(function(){return"[object WeakMap]"})}),s(m.prototype,i,t("c","WeakMap"))}}),B5=De({"node_modules/es6-weak-map/index.js"(Y,H){"use strict";H.exports=jP()()?WeakMap:z8()}}),F8=De({"node_modules/array-find-index/index.js"(Y,H){"use strict";H.exports=function(p,x,S){if(typeof Array.prototype.findIndex=="function")return p.findIndex(x,S);if(typeof x!="function")throw new TypeError("predicate must be a function");var E=Object(p),e=E.length;if(e===0)return-1;for(var t=0;tse)?ce.tree=p(_e,{bounds:Ne}):se&&se.length&&(ce.tree=se),ce.tree){var ut={primitive:"points",usage:"static",data:ce.tree,type:"uint32"};ce.elements?ce.elements(ut):ce.elements=z.elements(ut)}var ot=A.float32(_e);ne({data:ot,usage:"dynamic"});var yt=A.fract32(_e,ot);return be({data:yt,usage:"dynamic"}),De({data:new Uint8Array(qe),type:"uint8",usage:"stream"}),_e}},{marker:function(_e,ce,ie){var se=ce.activation;if(se.forEach(function(yt){return yt&&yt.destroy&&yt.destroy()}),se.length=0,!_e||typeof _e[0]=="number"){var ne=x.addMarker(_e);se[ne]=!0}else{for(var be=[],De=0,qe=Math.min(_e.length,ce.count);De=0)return F;var I;if(x instanceof Uint8Array||x instanceof Uint8ClampedArray)I=x;else{I=new Uint8Array(x.length);for(var z=0,R=x.length;zC*4&&(this.tooManyColors=!0),this.updatePalette(D),F.length===1?F[0]:F},T.prototype.updatePalette=function(x){if(!this.tooManyColors){var _=this.maxColors,D=this.paletteTexture,C=Math.ceil(x.length*.25/_);if(C>1){x=x.slice();for(var F=x.length*.25%_;F80*k){ee=ae=z[0],te=j=z[1];for(var Z=k;Zae&&(ae=G),K>j&&(j=K);H=Math.max(ae-ee,j-te),H=H!==0?32767/H:0}return S(q,Y,k,ee,te,H,0),Y}function v(z,R,k,B,N){var q,Y;if(N===I(z,R,k,B)>0)for(q=R;q=R;q-=B)Y=D(q,z[q],z[q+1],Y);return Y&&A(Y,Y.next)&&(C(Y),Y=Y.next),Y}function w(z,R){if(!z)return z;R||(R=z);var k=z,B;do if(B=!1,!k.steiner&&(A(k,k.next)||M(k.prev,k,k.next)===0)){if(C(k),k=R=k.prev,k===k.next)break;B=!0}else k=k.next;while(B||k!==R);return R}function S(z,R,k,B,N,q,Y){if(z){!Y&&q&&p(z,B,N,q);for(var ee=z,te,ae;z.prev!==z.next;){if(te=z.prev,ae=z.next,q?e(z,B,N,q):l(z)){R.push(te.i/k|0),R.push(z.i/k|0),R.push(ae.i/k|0),C(z),z=ae.next,ee=ae.next;continue}if(z=ae,z===ee){Y?Y===1?(z=t(w(z),R,k),S(z,R,k,B,N,q,2)):Y===2&&a(z,R,k,B,N,q):S(w(z),R,k,B,N,q,1);break}}}}function l(z){var R=z.prev,k=z,B=z.next;if(M(R,k,B)>=0)return!1;for(var N=R.x,q=k.x,Y=B.x,ee=R.y,te=k.y,ae=B.y,j=Nq?N>Y?N:Y:q>Y?q:Y,H=ee>te?ee>ae?ee:ae:te>ae?te:ae,Z=B.next;Z!==R;){if(Z.x>=j&&Z.x<=K&&Z.y>=G&&Z.y<=H&&o(N,ee,q,te,Y,ae,Z.x,Z.y)&&M(Z.prev,Z,Z.next)>=0)return!1;Z=Z.next}return!0}function e(z,R,k,B){var N=z.prev,q=z,Y=z.next;if(M(N,q,Y)>=0)return!1;for(var ee=N.x,te=q.x,ae=Y.x,j=N.y,G=q.y,K=Y.y,H=eete?ee>ae?ee:ae:te>ae?te:ae,$=j>G?j>K?j:K:G>K?G:K,Q=d(H,Z,R,k,B),re=d(X,$,R,k,B),ue=z.prevZ,pe=z.nextZ;ue&&ue.z>=Q&&pe&&pe.z<=re;){if(ue.x>=H&&ue.x<=X&&ue.y>=Z&&ue.y<=$&&ue!==N&&ue!==Y&&o(ee,j,te,G,ae,K,ue.x,ue.y)&&M(ue.prev,ue,ue.next)>=0||(ue=ue.prevZ,pe.x>=H&&pe.x<=X&&pe.y>=Z&&pe.y<=$&&pe!==N&&pe!==Y&&o(ee,j,te,G,ae,K,pe.x,pe.y)&&M(pe.prev,pe,pe.next)>=0))return!1;pe=pe.nextZ}for(;ue&&ue.z>=Q;){if(ue.x>=H&&ue.x<=X&&ue.y>=Z&&ue.y<=$&&ue!==N&&ue!==Y&&o(ee,j,te,G,ae,K,ue.x,ue.y)&&M(ue.prev,ue,ue.next)>=0)return!1;ue=ue.prevZ}for(;pe&&pe.z<=re;){if(pe.x>=H&&pe.x<=X&&pe.y>=Z&&pe.y<=$&&pe!==N&&pe!==Y&&o(ee,j,te,G,ae,K,pe.x,pe.y)&&M(pe.prev,pe,pe.next)>=0)return!1;pe=pe.nextZ}return!0}function t(z,R,k){var B=z;do{var N=B.prev,q=B.next.next;!A(N,q)&&E(N,B,B.next,q)&&h(N,q)&&h(q,N)&&(R.push(N.i/k|0),R.push(B.i/k|0),R.push(q.i/k|0),C(B),C(B.next),B=z=q),B=B.next}while(B!==z);return w(B)}function a(z,R,k,B,N,q){var Y=z;do{for(var ee=Y.next.next;ee!==Y.prev;){if(Y.i!==ee.i&&b(Y,ee)){var te=_(Y,ee);Y=w(Y,Y.next),te=w(te,te.next),S(Y,R,k,B,N,q,0),S(te,R,k,B,N,q,0);return}ee=ee.next}Y=Y.next}while(Y!==z)}function r(z,R,k,B){var N=[],q,Y,ee,te,ae;for(q=0,Y=R.length;q=k.next.y&&k.next.y!==k.y){var ee=k.x+(N-k.y)*(k.next.x-k.x)/(k.next.y-k.y);if(ee<=B&&ee>q&&(q=ee,Y=k.x=k.x&&k.x>=ae&&B!==k.x&&o(NY.x||k.x===Y.x&&c(Y,k)))&&(Y=k,G=K)),k=k.next;while(k!==te);return Y}function c(z,R){return M(z.prev,z,R.prev)<0&&M(R.next,z,z.next)<0}function p(z,R,k,B){var N=z;do N.z===0&&(N.z=d(N.x,N.y,R,k,B)),N.prevZ=N.prev,N.nextZ=N.next,N=N.next;while(N!==z);N.prevZ.nextZ=null,N.prevZ=null,f(N)}function f(z){var R,k,B,N,q,Y,ee,te,ae=1;do{for(k=z,z=null,q=null,Y=0;k;){for(Y++,B=k,ee=0,R=0;R0||te>0&&B;)ee!==0&&(te===0||!B||k.z<=B.z)?(N=k,k=k.nextZ,ee--):(N=B,B=B.nextZ,te--),q?q.nextZ=N:z=N,N.prevZ=q,q=N;k=B}q.nextZ=null,ae*=2}while(Y>1);return z}function d(z,R,k,B,N){return z=(z-k)*N|0,R=(R-B)*N|0,z=(z|z<<8)&16711935,z=(z|z<<4)&252645135,z=(z|z<<2)&858993459,z=(z|z<<1)&1431655765,R=(R|R<<8)&16711935,R=(R|R<<4)&252645135,R=(R|R<<2)&858993459,R=(R|R<<1)&1431655765,z|R<<1}function y(z){var R=z,k=z;do(R.x=(z-Y)*(q-ee)&&(z-Y)*(B-ee)>=(k-Y)*(R-ee)&&(k-Y)*(q-ee)>=(N-Y)*(B-ee)}function b(z,R){return z.next.i!==R.i&&z.prev.i!==R.i&&!m(z,R)&&(h(z,R)&&h(R,z)&&x(z,R)&&(M(z.prev,z,R.prev)||M(z,R.prev,R))||A(z,R)&&M(z.prev,z,z.next)>0&&M(R.prev,R,R.next)>0)}function M(z,R,k){return(R.y-z.y)*(k.x-R.x)-(R.x-z.x)*(k.y-R.y)}function A(z,R){return z.x===R.x&&z.y===R.y}function E(z,R,k,B){var N=T(M(z,R,k)),q=T(M(z,R,B)),Y=T(M(k,B,z)),ee=T(M(k,B,R));return!!(N!==q&&Y!==ee||N===0&&g(z,k,R)||q===0&&g(z,B,R)||Y===0&&g(k,z,B)||ee===0&&g(k,R,B))}function g(z,R,k){return R.x<=Math.max(z.x,k.x)&&R.x>=Math.min(z.x,k.x)&&R.y<=Math.max(z.y,k.y)&&R.y>=Math.min(z.y,k.y)}function T(z){return z>0?1:z<0?-1:0}function m(z,R){var k=z;do{if(k.i!==z.i&&k.next.i!==z.i&&k.i!==R.i&&k.next.i!==R.i&&E(k,k.next,z,R))return!0;k=k.next}while(k!==z);return!1}function h(z,R){return M(z.prev,z,z.next)<0?M(z,R,z.next)>=0&&M(z,z.prev,R)>=0:M(z,R,z.prev)<0||M(z,z.next,R)<0}function x(z,R){var k=z,B=!1,N=(z.x+R.x)/2,q=(z.y+R.y)/2;do k.y>q!=k.next.y>q&&k.next.y!==k.y&&N<(k.next.x-k.x)*(q-k.y)/(k.next.y-k.y)+k.x&&(B=!B),k=k.next;while(k!==z);return B}function _(z,R){var k=new F(z.i,z.x,z.y),B=new F(R.i,R.x,R.y),N=z.next,q=R.prev;return z.next=R,R.prev=z,k.next=N,N.prev=k,B.next=k,k.prev=B,q.next=B,B.prev=q,B}function D(z,R,k,B){var N=new F(z,R,k);return B?(N.next=B.next,N.prev=B,B.next.prev=N,B.next=N):(N.prev=N,N.next=N),N}function C(z){z.next.prev=z.prev,z.prev.next=z.next,z.prevZ&&(z.prevZ.nextZ=z.nextZ),z.nextZ&&(z.nextZ.prevZ=z.prevZ)}function F(z,R,k){this.i=z,this.x=R,this.y=k,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}u.deviation=function(z,R,k,B){var N=R&&R.length,q=N?R[0]*k:z.length,Y=Math.abs(I(z,0,q,k));if(N)for(var ee=0,te=R.length;ee0&&(B+=z[N-1].length,k.holes.push(B))}return k}}}),AC=xe({"node_modules/array-normalize/index.js"(U,O){"use strict";var u=Nv();O.exports=v;function v(w,S,l){if(!w||w.length==null)throw Error("Argument should be an array");S==null&&(S=1),l==null&&(l=u(w,S));for(var e=0;e-1}}}),_3=xe({"node_modules/es5-ext/string/#/contains/index.js"(U,O){"use strict";O.exports=BC()()?String.prototype.contains:NC()}}),xd=xe({"node_modules/d/index.js"(U,O){"use strict";var u=jv(),v=g3(),w=X1(),S=y3(),l=_3(),e=O.exports=function(t,a){var r,n,i,s,c;return arguments.length<2||typeof t!="string"?(s=a,a=t,t=null):s=arguments[2],u(t)?(r=l.call(t,"c"),n=l.call(t,"e"),i=l.call(t,"w")):(r=i=!0,n=!1),c={value:a,configurable:r,enumerable:n,writable:i},s?w(S(s),c):c};e.gs=function(t,a,r){var n,i,s,c;return typeof t!="string"?(s=r,r=a,a=t,t=null):s=arguments[3],u(a)?v(a)?u(r)?v(r)||(s=r,r=void 0):r=void 0:(s=a,a=r=void 0):a=void 0,u(t)?(n=l.call(t,"c"),i=l.call(t,"e")):(n=!0,i=!1),c={get:a,set:r,configurable:n,enumerable:i},s?w(S(s),c):c}}}),rm=xe({"node_modules/es5-ext/function/is-arguments.js"(U,O){"use strict";var u=Object.prototype.toString,v=u.call(function(){return arguments}());O.exports=function(w){return u.call(w)===v}}}),am=xe({"node_modules/es5-ext/string/is-string.js"(U,O){"use strict";var u=Object.prototype.toString,v=u.call("");O.exports=function(w){return typeof w=="string"||w&&typeof w=="object"&&(w instanceof String||u.call(w)===v)||!1}}}),OC=xe({"node_modules/ext/global-this/is-implemented.js"(U,O){"use strict";O.exports=function(){return typeof globalThis!="object"||!globalThis?!1:globalThis.Array===Array}}}),UC=xe({"node_modules/ext/global-this/implementation.js"(U,O){var u=function(){if(typeof self=="object"&&self)return self;if(typeof window=="object"&&window)return window;throw new Error("Unable to resolve global `this`")};O.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch{return u()}try{return __global__||u()}finally{delete Object.prototype.__global__}}()}}),nm=xe({"node_modules/ext/global-this/index.js"(U,O){"use strict";O.exports=OC()()?globalThis:UC()}}),jC=xe({"node_modules/es6-symbol/is-implemented.js"(U,O){"use strict";var u=nm(),v={object:!0,symbol:!0};O.exports=function(){var w=u.Symbol,S;if(typeof w!="function")return!1;S=w("test symbol");try{String(S)}catch{return!1}return!(!v[typeof w.iterator]||!v[typeof w.toPrimitive]||!v[typeof w.toStringTag])}}}),qC=xe({"node_modules/es6-symbol/is-symbol.js"(U,O){"use strict";O.exports=function(u){return u?typeof u=="symbol"?!0:!u.constructor||u.constructor.name!=="Symbol"?!1:u[u.constructor.toStringTag]==="Symbol":!1}}}),b3=xe({"node_modules/es6-symbol/validate-symbol.js"(U,O){"use strict";var u=qC();O.exports=function(v){if(!u(v))throw new TypeError(v+" is not a symbol");return v}}}),VC=xe({"node_modules/es6-symbol/lib/private/generate-name.js"(U,O){"use strict";var u=xd(),v=Object.create,w=Object.defineProperty,S=Object.prototype,l=v(null);O.exports=function(e){for(var t=0,a,r;l[e+(t||"")];)++t;return e+=t||"",l[e]=!0,a="@@"+e,w(S,a,u.gs(null,function(n){r||(r=!0,w(this,a,u(n)),r=!1)})),a}}}),HC=xe({"node_modules/es6-symbol/lib/private/setup/standard-symbols.js"(U,O){"use strict";var u=xd(),v=nm().Symbol;O.exports=function(w){return Object.defineProperties(w,{hasInstance:u("",v&&v.hasInstance||w("hasInstance")),isConcatSpreadable:u("",v&&v.isConcatSpreadable||w("isConcatSpreadable")),iterator:u("",v&&v.iterator||w("iterator")),match:u("",v&&v.match||w("match")),replace:u("",v&&v.replace||w("replace")),search:u("",v&&v.search||w("search")),species:u("",v&&v.species||w("species")),split:u("",v&&v.split||w("split")),toPrimitive:u("",v&&v.toPrimitive||w("toPrimitive")),toStringTag:u("",v&&v.toStringTag||w("toStringTag")),unscopables:u("",v&&v.unscopables||w("unscopables"))})}}}),GC=xe({"node_modules/es6-symbol/lib/private/setup/symbol-registry.js"(U,O){"use strict";var u=xd(),v=b3(),w=Object.create(null);O.exports=function(S){return Object.defineProperties(S,{for:u(function(l){return w[l]?w[l]:w[l]=S(String(l))}),keyFor:u(function(l){var e;v(l);for(e in w)if(w[e]===l)return e})})}}}),WC=xe({"node_modules/es6-symbol/polyfill.js"(U,O){"use strict";var u=xd(),v=b3(),w=nm().Symbol,S=VC(),l=HC(),e=GC(),t=Object.create,a=Object.defineProperties,r=Object.defineProperty,n,i,s;if(typeof w=="function")try{String(w()),s=!0}catch{}else w=null;i=function(p){if(this instanceof i)throw new TypeError("Symbol is not a constructor");return n(p)},O.exports=n=function c(p){var f;if(this instanceof c)throw new TypeError("Symbol is not a constructor");return s?w(p):(f=t(i.prototype),p=p===void 0?"":String(p),a(f,{__description__:u("",p),__name__:u("",S(p))}))},l(n),e(n),a(i.prototype,{constructor:u(n),toString:u("",function(){return this.__name__})}),a(n.prototype,{toString:u(function(){return"Symbol ("+v(this).__description__+")"}),valueOf:u(function(){return v(this)})}),r(n.prototype,n.toPrimitive,u("",function(){var c=v(this);return typeof c=="symbol"?c:c.toString()})),r(n.prototype,n.toStringTag,u("c","Symbol")),r(i.prototype,n.toStringTag,u("c",n.prototype[n.toStringTag])),r(i.prototype,n.toPrimitive,u("c",n.prototype[n.toPrimitive]))}}),Jd=xe({"node_modules/es6-symbol/index.js"(U,O){"use strict";O.exports=jC()()?nm().Symbol:WC()}}),YC=xe({"node_modules/es5-ext/array/#/clear.js"(U,O){"use strict";var u=bd();O.exports=function(){return u(this).length=0,this}}}),Rp=xe({"node_modules/es5-ext/object/valid-callable.js"(U,O){"use strict";O.exports=function(u){if(typeof u!="function")throw new TypeError(u+" is not a function");return u}}}),XC=xe({"node_modules/type/string/coerce.js"(U,O){"use strict";var u=jv(),v=Y1(),w=Object.prototype.toString;O.exports=function(S){if(!u(S))return null;if(v(S)){var l=S.toString;if(typeof l!="function"||l===w)return null}try{return""+S}catch{return null}}}}),$C=xe({"node_modules/type/lib/safe-to-string.js"(U,O){"use strict";O.exports=function(u){try{return u.toString()}catch{try{return String(u)}catch{return null}}}}}),ZC=xe({"node_modules/type/lib/to-short-string.js"(U,O){"use strict";var u=$C(),v=/[\n\r\u2028\u2029]/g;O.exports=function(w){var S=u(w);return S===null?"":(S.length>100&&(S=S.slice(0,99)+"\u2026"),S=S.replace(v,function(l){switch(l){case` +`:return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}}),S)}}}),x3=xe({"node_modules/type/lib/resolve-exception.js"(U,O){"use strict";var u=jv(),v=Y1(),w=XC(),S=ZC(),l=function(e,t){return e.replace("%v",S(t))};O.exports=function(e,t,a){if(!v(a))throw new TypeError(l(t,e));if(!u(e)){if("default"in a)return a.default;if(a.isOptional)return null}var r=w(a.errorMessage);throw u(r)||(r=t),new TypeError(l(r,e))}}}),KC=xe({"node_modules/type/value/ensure.js"(U,O){"use strict";var u=x3(),v=jv();O.exports=function(w){return v(w)?w:u(w,"Cannot use %v",arguments[1])}}}),JC=xe({"node_modules/type/plain-function/ensure.js"(U,O){"use strict";var u=x3(),v=g3();O.exports=function(w){return v(w)?w:u(w,"%v is not a plain function",arguments[1])}}}),QC=xe({"node_modules/es5-ext/array/from/is-implemented.js"(U,O){"use strict";O.exports=function(){var u=Array.from,v,w;return typeof u!="function"?!1:(v=["raz","dwa"],w=u(v),!!(w&&w!==v&&w[1]==="dwa"))}}}),e8=xe({"node_modules/es5-ext/function/is-function.js"(U,O){"use strict";var u=Object.prototype.toString,v=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);O.exports=function(w){return typeof w=="function"&&v(u.call(w))}}}),t8=xe({"node_modules/es5-ext/math/sign/is-implemented.js"(U,O){"use strict";O.exports=function(){var u=Math.sign;return typeof u!="function"?!1:u(10)===1&&u(-20)===-1}}}),r8=xe({"node_modules/es5-ext/math/sign/shim.js"(U,O){"use strict";O.exports=function(u){return u=Number(u),isNaN(u)||u===0?u:u>0?1:-1}}}),a8=xe({"node_modules/es5-ext/math/sign/index.js"(U,O){"use strict";O.exports=t8()()?Math.sign:r8()}}),n8=xe({"node_modules/es5-ext/number/to-integer.js"(U,O){"use strict";var u=a8(),v=Math.abs,w=Math.floor;O.exports=function(S){return isNaN(S)?0:(S=Number(S),S===0||!isFinite(S)?S:u(S)*w(v(S)))}}}),i8=xe({"node_modules/es5-ext/number/to-pos-integer.js"(U,O){"use strict";var u=n8(),v=Math.max;O.exports=function(w){return v(0,u(w))}}}),o8=xe({"node_modules/es5-ext/array/from/shim.js"(U,O){"use strict";var u=Jd().iterator,v=rm(),w=e8(),S=i8(),l=Rp(),e=bd(),t=Kd(),a=am(),r=Array.isArray,n=Function.prototype.call,i={configurable:!0,enumerable:!0,writable:!0,value:null},s=Object.defineProperty;O.exports=function(c){var p=arguments[1],f=arguments[2],d,y,o,b,M,A,E,g,T,m;if(c=Object(e(c)),t(p)&&l(p),!this||this===Array||!w(this)){if(!p){if(v(c))return M=c.length,M!==1?Array.apply(null,c):(b=new Array(1),b[0]=c[0],b);if(r(c)){for(b=new Array(M=c.length),y=0;y=55296&&A<=56319&&(m+=c[++y])),m=p?n.call(p,f,m,o):m,d?(i.value=m,s(b,o,i)):b[o]=m,++o;M=o}}if(M===void 0)for(M=S(c.length),d&&(b=new d(M)),y=0;y=this.__nextIndex__)){if(++this.__nextIndex__,!this.__redo__){a(this,"__redo__",l("c",[i]));return}this.__redo__.forEach(function(s,c){s>=i&&(this.__redo__[c]=++s)},this),this.__redo__.push(i)}}),_onDelete:l(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(c,p){c>i&&(this.__redo__[p]=--c)},this)))}),_onClear:l(function(){this.__redo__&&u.call(this.__redo__),this.__nextIndex__=0})}))),a(n.prototype,t.iterator,l(function(){return this}))}}),d8=xe({"node_modules/es6-iterator/array.js"(U,O){"use strict";var u=W1(),v=_3(),w=xd(),S=Jd(),l=w3(),e=Object.defineProperty,t;t=O.exports=function(a,r){if(!(this instanceof t))throw new TypeError("Constructor requires 'new'");l.call(this,a),r?v.call(r,"key+value")?r="key+value":v.call(r,"key")?r="key":r="value":r="value",e(this,"__kind__",w("",r))},u&&u(t,l),delete t.prototype.constructor,t.prototype=Object.create(l.prototype,{_resolve:w(function(a){return this.__kind__==="value"?this.__list__[a]:this.__kind__==="key+value"?[a,this.__list__[a]]:a})}),e(t.prototype,S.toStringTag,w("c","Array Iterator"))}}),v8=xe({"node_modules/es6-iterator/string.js"(U,O){"use strict";var u=W1(),v=xd(),w=Jd(),S=w3(),l=Object.defineProperty,e;e=O.exports=function(t){if(!(this instanceof e))throw new TypeError("Constructor requires 'new'");t=String(t),S.call(this,t),l(this,"__length__",v("",t.length))},u&&u(e,S),delete e.prototype.constructor,e.prototype=Object.create(S.prototype,{_next:v(function(){if(this.__list__){if(this.__nextIndex__=55296&&r<=56319?a+this.__list__[this.__nextIndex__++]:a)})}),l(e.prototype,w.toStringTag,v("c","String Iterator"))}}),p8=xe({"node_modules/es6-iterator/is-iterable.js"(U,O){"use strict";var u=rm(),v=Kd(),w=am(),S=Jd().iterator,l=Array.isArray;O.exports=function(e){return v(e)?l(e)||w(e)||u(e)?!0:typeof e[S]=="function":!1}}}),m8=xe({"node_modules/es6-iterator/valid-iterable.js"(U,O){"use strict";var u=p8();O.exports=function(v){if(!u(v))throw new TypeError(v+" is not iterable");return v}}}),T3=xe({"node_modules/es6-iterator/get.js"(U,O){"use strict";var u=rm(),v=am(),w=d8(),S=v8(),l=m8(),e=Jd().iterator;O.exports=function(t){return typeof l(t)[e]=="function"?t[e]():u(t)?new w(t):v(t)?new S(t):new w(t)}}}),g8=xe({"node_modules/es6-iterator/for-of.js"(U,O){"use strict";var u=rm(),v=Rp(),w=am(),S=T3(),l=Array.isArray,e=Function.prototype.call,t=Array.prototype.some;O.exports=function(a,r){var n,i=arguments[2],s,c,p,f,d,y,o;if(l(a)||u(a)?n="array":w(a)?n="string":a=S(a),v(r),c=function(){p=!0},n==="array"){t.call(a,function(b){return e.call(r,i,b,c),p});return}if(n==="string"){for(d=a.length,f=0;f=55296&&o<=56319&&(y+=a[++f])),e.call(r,i,y,c),!p);++f);return}for(s=a.next();!s.done;){if(e.call(r,i,s.value,c),p)return;s=a.next()}}}}),y8=xe({"node_modules/es6-weak-map/is-native-implemented.js"(U,O){"use strict";O.exports=function(){return typeof WeakMap!="function"?!1:Object.prototype.toString.call(new WeakMap)==="[object WeakMap]"}()}}),_8=xe({"node_modules/es6-weak-map/polyfill.js"(U,O){"use strict";var u=Kd(),v=W1(),w=kC(),S=bd(),l=CC(),e=xd(),t=T3(),a=g8(),r=Jd().toStringTag,n=y8(),i=Array.isArray,s=Object.defineProperty,c=Object.prototype.hasOwnProperty,p=Object.getPrototypeOf,f;O.exports=f=function(){var d=arguments[0],y;if(!(this instanceof f))throw new TypeError("Constructor requires 'new'");return y=n&&v&&WeakMap!==f?v(new WeakMap,p(this)):this,u(d)&&(i(d)||(d=t(d))),s(y,"__weakMapData__",e("c","$weakMap$"+l())),d&&a(d,function(o){S(o),y.set(o[0],o[1])}),y},n&&(v&&v(f,WeakMap),f.prototype=Object.create(WeakMap.prototype,{constructor:e(f)})),Object.defineProperties(f.prototype,{delete:e(function(d){return c.call(w(d),this.__weakMapData__)?(delete d[this.__weakMapData__],!0):!1}),get:e(function(d){if(c.call(w(d),this.__weakMapData__))return d[this.__weakMapData__]}),has:e(function(d){return c.call(w(d),this.__weakMapData__)}),set:e(function(d,y){return s(w(d),this.__weakMapData__,e("c",y)),this}),toString:e(function(){return"[object WeakMap]"})}),s(f.prototype,r,e("c","WeakMap"))}}),A3=xe({"node_modules/es6-weak-map/index.js"(U,O){"use strict";O.exports=MC()()?WeakMap:_8()}}),b8=xe({"node_modules/array-find-index/index.js"(U,O){"use strict";O.exports=function(u,v,w){if(typeof Array.prototype.findIndex=="function")return u.findIndex(v,w);if(typeof v!="function")throw new TypeError("predicate must be a function");var S=Object(u),l=S.length;if(l===0)return-1;for(var e=0;e cutoff + .5) { - discard; - return; - } - - alpha -= smoothstep(cutoff - .5, cutoff + .5, radius); - } - } - - if (enableEndMiter == 1.) { - distToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw); - if (distToEnd < 0.) { - float radius = length(gl_FragCoord.xy - endCoord); - - if(radius > cutoff + .5) { - discard; - return; - } - - alpha -= smoothstep(cutoff - .5, cutoff + .5, radius); - } - } - } - - float t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25; - float dash = texture2D(dashTexture, vec2(t, .5)).r; - - gl_FragColor = fragColor; - gl_FragColor.a *= alpha * opacity * dash; -} -`;H.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:d,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,v)=>{let u=this.passes[v];if(b!==void 0){if(b===null){this.passes[v]=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[v]=u={id:v,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,v<_.maxLines&&(u.depth=2*(_.maxLines-1-v%_.maxLines)/_.maxLines-1)),b.join!=null&&(u.join=b.join),b.hole!=null&&(u.hole=b.hole),b.fill!=null&&(u.fill=b.fill?p(b.fill,"uint8"):null),b.viewport!=null&&(u.viewport=a(b.viewport)),u.viewport||(u.viewport=a([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 B=b.positions.x,I=b.positions.y;L=u.count=Math.max(B.length,I.length),R=new Float64Array(L*2);for(let U=0;Ule-ce),X=[],J=0,se=u.hole!=null?u.hole[0]:null;if(se!=null){let le=s(O,ce=>ce>=se);O=O.slice(0,le),O.push(se)}for(let le=0;leee-se+(O[le]-J)),Z=t(ce,q);Z=Z.map(ee=>ee+J+(ee+J{w.colorBuffer.destroy(),w.positionBuffer.destroy(),w.dashTexture.destroy()}),this.passes.length=0,this}}}),B8=De({"node_modules/regl-error2d/index.js"(Y,H){"use strict";var p=sm(),x=a0(),S=S5(),E=Nv(),e=ih(),t=lm(),{float32:r,fract32:o}=yb();H.exports=n;var i=[[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(a,s){if(typeof a=="function"?(s||(s={}),s.regl=a):s=a,s.length&&(s.positions=s),a=s.regl,!a.hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");let h=a._gl,c,m,d,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=a.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array(0)}),m=a.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),d=a.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),l=a.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),_=a.buffer({usage:"static",type:"float",data:i}),v(s),c=a({vert:` - precision highp float; - - attribute vec2 position, positionFract; - attribute vec4 error; - attribute vec4 color; - - attribute vec2 direction, lineOffset, capOffset; - - uniform vec4 viewport; - uniform float lineWidth, capSize; - uniform vec2 scale, scaleFract, translate, translateFract; - - varying vec4 fragColor; - - void main() { - fragColor = color / 255.; - - vec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset; - - vec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw; - - vec2 position = position + dxy; - - vec2 pos = (position + translate) * scale - + (positionFract + translateFract) * scale - + (position + translate) * scaleFract - + (positionFract + translateFract) * scaleFract; - - pos += pixelOffset / viewport.zw; - - gl_Position = vec4(pos * 2. - 1., 0, 1); - } - `,frag:` - precision highp float; - - varying vec4 fragColor; - - uniform float opacity; - - void main() { - gl_FragColor = fragColor; - gl_FragColor.a *= opacity; - } - `,uniforms:{range:a.prop("range"),lineWidth:a.prop("lineWidth"),capSize:a.prop("capSize"),opacity:a.prop("opacity"),scale:a.prop("scale"),translate:a.prop("translate"),scaleFract:a.prop("scaleFract"),translateFract:a.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:d,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:a.prop("viewport")},viewport:a.prop("viewport"),stencil:!1,instances:a.prop("count"),count:i.length}),e(M,{update:v,draw:g,destroy:u,regl:a,gl:h,canvas:h.canvas,groups:A}),M;function M(y){y?v(y):y===null&&u(),g()}function g(y){if(typeof y=="number")return b(y);y&&!Array.isArray(y)&&(y=[y]),a._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 v(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 B=A[N];if(F)typeof F=="function"?F={after:F}:typeof F[0]=="number"&&(F={positions:F});else return B;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"}),B||(A[N]=B={id:N,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},F=e({},w,F)),S(B,F,[{lineWidth:I=>+I*.5,capSize:I=>+I*.5,opacity:parseFloat,errors:I=>(I=t(I),R+=I.length,I),positions:(I,U)=>(I=t(I,"float64"),U.count=Math.floor(I.length/2),U.bounds=p(I,2),U.offset=f,f+=U.count,I)},{color:(I,U)=>{let O=U.count;if(I||(I="transparent"),!Array.isArray(I)||typeof I[0]=="number"){let J=I;I=Array(O);for(let se=0;se{let X=U.bounds;return I||(I=X),U.scale=[1/(I[2]-I[0]),1/(I[3]-I[1])],U.translate=[-I[0],-I[1]],U.scaleFract=o(U.scale),U.translateFract=o(U.translate),I},viewport:I=>{let U;return Array.isArray(I)?U={x:I[0],y:I[1],width:I[2]-I[0],height:I[3]-I[1]}:I?(U={x:I.x||I.left||0,y:I.y||I.top||0},I.right?U.width=I.right-U.x:U.width=I.w||I.width||0,I.bottom?U.height=I.bottom-U.y:U.height=I.h||I.height||0):U={x:0,y:0,width:h.drawingBufferWidth,height:h.drawingBufferHeight},U}}]),B}),f||R){let F=A.reduce((U,O,X)=>U+(O?O.count:0),0),N=new Float64Array(F*2),B=new Uint8Array(F*4),I=new Float32Array(F*4);A.forEach((U,O)=>{if(!U)return;let{positions:X,count:J,offset:se,color:le,errors:ce}=U;J&&(B.set(le,se*4),I.set(ce,se*4),N.set(X,se*2))});var L=r(N);m(L);var z=o(N,L);d(z),T(B),l(I)}}function u(){m.destroy(),d.destroy(),T.destroy(),l.destroy(),_.destroy()}}}}),O8=De({"node_modules/unquote/index.js"(Y,H){var p=/[\'\"]/;H.exports=function(S){return S?(p.test(S.charAt(0))&&(S=S.substr(1)),p.test(S.charAt(S.length-1))&&(S=S.substr(0,S.length-1)),S):""}}}),N5=De({"node_modules/css-global-keywords/index.json"(Y,H){H.exports=["inherit","initial","unset"]}}),U5=De({"node_modules/css-system-font-keywords/index.json"(Y,H){H.exports=["caption","icon","menu","message-box","small-caption","status-bar"]}}),j5=De({"node_modules/css-font-weight-keywords/index.json"(Y,H){H.exports=["normal","bold","bolder","lighter","100","200","300","400","500","600","700","800","900"]}}),V5=De({"node_modules/css-font-style-keywords/index.json"(Y,H){H.exports=["normal","italic","oblique"]}}),q5=De({"node_modules/css-font-stretch-keywords/index.json"(Y,H){H.exports=["normal","condensed","semi-condensed","extra-condensed","ultra-condensed","expanded","semi-expanded","extra-expanded","ultra-expanded"]}}),N8=De({"node_modules/parenthesis/index.js"(Y,H){"use strict";function p(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||"___",i=!!e.flat;r.forEach(function(s){var h=new RegExp(["\\",s[0],"[^\\",s[0],"\\",s[1],"]*\\",s[1]].join("")),c=[];function m(d,T,l){var _=t.push(d.slice(s[0].length,-s[1].length))-1;return c.push(_),o+_+o}t.forEach(function(d,T){for(var l,_=0;d!=l;)if(l=d,d=d.replace(h,m),_++>1e4)throw Error("References have circular dependency. Please, check them.");t[T]=d}),c=c.reverse(),t=t.map(function(d){return c.forEach(function(T){d=d.replace(new RegExp("(\\"+o+T+"\\"+o+")","g"),s[0]+"$1"+s[1])}),d})});var n=new RegExp("\\"+o+"([0-9]+)\\"+o);function a(s,h,c){for(var m=[],d,T=0;d=n.exec(s);){if(T++>1e4)throw Error("Circular references in parenthesis");m.push(s.slice(0,d.index)),m.push(a(h[d[1]],h)),s=s.slice(d.index+d[0].length)}return m.push(s),m}return i?t:a(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 i=new RegExp("\\"+t+"([0-9]+)\\"+t),n=0;r!=o;){if(n++>1e4)throw Error("Circular references in "+E);o=r,r=r.replace(i,a)}return r}return E.reduce(function s(h,c){return Array.isArray(c)&&(c=c.reduce(s,"")),h+c},"");function a(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):p(E,e)}S.parse=p,S.stringify=x,H.exports=S}}),U8=De({"node_modules/string-split-by/index.js"(Y,H){"use strict";var p=N8();H.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=p.parse(S,{flat:!0,brackets:e.ignore}),r=t[0],o=r.split(E);if(e.escape){for(var i=[],n=0;n1&&Yt===hr&&(Yt==='"'||Yt==="'"))return['"'+r(rt.substr(1,rt.length-2))+'"'];var li=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(rt);if(li)return o(rt.substr(0,li.index)).concat(o(li[1])).concat(o(rt.substr(li.index+li[0].length)));var Ci=rt.split(".");if(Ci.length===1)return['"'+r(rt)+'"'];for(var Ti=[],Mi=0;Mi"u"?1:window.devicePixelRatio,va=!1,Fn={},Ha=function(ei){},Da=function(){};if(typeof Yt=="string"?hr=document.querySelector(Yt):typeof Yt=="object"&&(_(Yt)?hr=Yt:w(Yt)?(Ti=Yt,Ci=Ti.canvas):("gl"in Yt?Ti=Yt.gl:"canvas"in Yt?Ci=M(Yt.canvas):"container"in Yt&&(li=M(Yt.container)),"attributes"in Yt&&(Mi=Yt.attributes),"extensions"in Yt&&(ia=A(Yt.extensions)),"optionalExtensions"in Yt&&(ka=A(Yt.optionalExtensions)),"onDone"in Yt&&(Ha=Yt.onDone),"profile"in Yt&&(va=!!Yt.profile),"pixelRatio"in Yt&&(Sa=+Yt.pixelRatio),"cachedCode"in Yt&&(Fn=Yt.cachedCode))),hr&&(hr.nodeName.toLowerCase()==="canvas"?Ci=hr:li=hr),!Ti){if(!Ci){var Xi=T(li||document.body,Ha,Sa);if(!Xi)return null;Ci=Xi.canvas,Da=Xi.onDestroy}Mi.premultipliedAlpha===void 0&&(Mi.premultipliedAlpha=!0),Ti=l(Ci,Mi)}return Ti?{gl:Ti,canvas:Ci,container:li,extensions:ia,optionalExtensions:ka,pixelRatio:Sa,profile:va,cachedCode:Fn,onDone:Ha,onDestroy:Da}:(Da(),Ha("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}function b(rt,Yt){var hr={};function li(Mi){var ia=Mi.toLowerCase(),ka;try{ka=hr[ia]=rt.getExtension(ia)}catch{}return!!ka}for(var Ci=0;Ci65535)<<4,rt>>>=Yt,hr=(rt>255)<<3,rt>>>=hr,Yt|=hr,hr=(rt>15)<<2,rt>>>=hr,Yt|=hr,hr=(rt>3)<<1,rt>>>=hr,Yt|=hr,Yt|rt>>1}function I(){var rt=v(8,function(){return[]});function Yt(Ti){var Mi=N(Ti),ia=rt[B(Mi)>>2];return ia.length>0?ia.pop():new ArrayBuffer(Mi)}function hr(Ti){rt[B(Ti.byteLength)>>2].push(Ti)}function li(Ti,Mi){var ia=null;switch(Ti){case u:ia=new Int8Array(Yt(Mi),0,Mi);break;case y:ia=new Uint8Array(Yt(Mi),0,Mi);break;case f:ia=new Int16Array(Yt(2*Mi),0,Mi);break;case R:ia=new Uint16Array(Yt(2*Mi),0,Mi);break;case L:ia=new Int32Array(Yt(4*Mi),0,Mi);break;case z:ia=new Uint32Array(Yt(4*Mi),0,Mi);break;case F:ia=new Float32Array(Yt(4*Mi),0,Mi);break;default:return null}return ia.length!==Mi?ia.subarray(0,Mi):ia}function Ci(Ti){hr(Ti.buffer)}return{alloc:Yt,free:hr,allocType:li,freeType:Ci}}var U=I();U.zero=I();var O=3408,X=3410,J=3411,se=3412,le=3413,ce=3414,q=3415,Z=33901,ee=33902,V=3379,oe=3386,ie=34921,j=36347,Q=36348,re=35661,ue=35660,_e=34930,we=36349,Re=34076,ze=34024,Xe=7936,tt=7937,it=7938,et=35724,nt=34047,Ae=36063,me=34852,fe=3553,Be=34067,Qe=34069,at=33984,$e=6408,It=5126,Pt=5121,Vt=36160,Wt=36053,Cr=36064,yr=16384,qr=function(rt,Yt){var hr=1;Yt.ext_texture_filter_anisotropic&&(hr=rt.getParameter(nt));var li=1,Ci=1;Yt.webgl_draw_buffers&&(li=rt.getParameter(me),Ci=rt.getParameter(Ae));var Ti=!!Yt.oes_texture_float;if(Ti){var Mi=rt.createTexture();rt.bindTexture(fe,Mi),rt.texImage2D(fe,0,$e,1,1,0,$e,It,null);var ia=rt.createFramebuffer();if(rt.bindFramebuffer(Vt,ia),rt.framebufferTexture2D(Vt,Cr,fe,Mi,0),rt.bindTexture(fe,null),rt.checkFramebufferStatus(Vt)!==Wt)Ti=!1;else{rt.viewport(0,0,1,1),rt.clearColor(1,0,0,1),rt.clear(yr);var ka=U.allocType(It,4);rt.readPixels(0,0,1,1,$e,It,ka),rt.getError()?Ti=!1:(rt.deleteFramebuffer(ia),rt.deleteTexture(Mi),Ti=ka[0]===1),U.freeType(ka)}}var Sa=typeof navigator<"u"&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),va=!0;if(!Sa){var Fn=rt.createTexture(),Ha=U.allocType(Pt,36);rt.activeTexture(at),rt.bindTexture(Be,Fn),rt.texImage2D(Qe,0,$e,3,3,0,$e,Pt,Ha),U.freeType(Ha),rt.bindTexture(Be,null),rt.deleteTexture(Fn),va=!rt.getError()}return{colorBits:[rt.getParameter(X),rt.getParameter(J),rt.getParameter(se),rt.getParameter(le)],depthBits:rt.getParameter(ce),stencilBits:rt.getParameter(q),subpixelBits:rt.getParameter(O),extensions:Object.keys(Yt).filter(function(Da){return!!Yt[Da]}),maxAnisotropic:hr,maxDrawbuffers:li,maxColorAttachments:Ci,pointSizeDims:rt.getParameter(Z),lineWidthDims:rt.getParameter(ee),maxViewportDims:rt.getParameter(oe),maxCombinedTextureUnits:rt.getParameter(re),maxCubeMapSize:rt.getParameter(Re),maxRenderbufferSize:rt.getParameter(ze),maxTextureUnits:rt.getParameter(_e),maxTextureSize:rt.getParameter(V),maxAttributes:rt.getParameter(ie),maxVertexUniforms:rt.getParameter(j),maxVertexTextureUnits:rt.getParameter(ue),maxVaryingVectors:rt.getParameter(Q),maxFragmentUniforms:rt.getParameter(we),glsl:rt.getParameter(et),renderer:rt.getParameter(tt),vendor:rt.getParameter(Xe),version:rt.getParameter(it),readFloat:Ti,npotTextureCube:va}},Mr=function(rt){return rt instanceof Uint8Array||rt instanceof Uint16Array||rt instanceof Uint32Array||rt instanceof Int8Array||rt instanceof Int16Array||rt instanceof Int32Array||rt instanceof Float32Array||rt instanceof Float64Array||rt instanceof Uint8ClampedArray};function Dr(rt){return!!rt&&typeof rt=="object"&&Array.isArray(rt.shape)&&Array.isArray(rt.stride)&&typeof rt.offset=="number"&&rt.shape.length===rt.stride.length&&(Array.isArray(rt.data)||Mr(rt.data))}var xt=function(rt){return Object.keys(rt).map(function(Yt){return rt[Yt]})},Ne={shape:Me,flatten:ke};function Ye(rt,Yt,hr){for(var li=0;li0){var kn;if(Array.isArray(zi[0])){Oa=Bi(zi);for(var Qi=1,Yi=1;Yi0){if(typeof Qi[0]=="number"){var La=U.allocType($i.dtype,Qi.length);Br(La,Qi),Oa(La,ln),U.freeType(La)}else if(Array.isArray(Qi[0])||Mr(Qi[0])){Va=Bi(Qi);var Ea=ea(Qi,Va,$i.dtype);Oa(Ea,ln),U.freeType(Ea)}}}else if(Dr(Qi)){Va=Qi.shape;var on=Qi.stride,Pn=0,Zn=0,ja=0,gn=0;Va.length===1?(Pn=Va[0],Zn=1,ja=on[0],gn=0):Va.length===2&&(Pn=Va[0],Zn=Va[1],ja=on[0],gn=on[1]);var Wn=Array.isArray(Qi.data)?$i.dtype:Jt(Qi.data),$n=U.allocType(Wn,Pn*Zn);ri($n,Qi.data,Pn,Zn,ja,gn,Qi.offset),Oa($n,ln),U.freeType($n)}return Xa}return la||Xa(ei),Xa._reglType="buffer",Xa._buffer=$i,Xa.subdata=kn,hr.profile&&(Xa.stats=$i.stats),Xa.destroy=function(){Ha($i)},Xa}function Xi(){xt(Ti).forEach(function(ei){ei.buffer=rt.createBuffer(),rt.bindBuffer(ei.type,ei.buffer),rt.bufferData(ei.type,ei.persistentData||ei.byteLength,ei.usage)})}return hr.profile&&(Yt.getTotalBufferSize=function(){var ei=0;return Object.keys(Ti).forEach(function(zi){ei+=Ti[zi].stats.size}),ei}),{create:Da,createStream:ka,destroyStream:Sa,clear:function(){xt(Ti).forEach(Ha),ia.forEach(Ha)},getBuffer:function(ei){return ei&&ei._buffer instanceof Mi?ei._buffer:null},restore:Xi,_initBuffer:Fn}}var di=0,Wi=0,oa=1,ra=1,ca=4,xa=4,ji={points:di,point:Wi,lines:oa,line:ra,triangles:ca,triangle:xa,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},pn=0,_n=1,En=4,bt=5120,st=5121,Nr=5122,Lr=5123,br=5124,Rr=5125,jr=34963,Wr=35040,yt=35044;function Xt(rt,Yt,hr,li){var Ci={},Ti=0,Mi={uint8:st,uint16:Lr};Yt.oes_element_index_uint&&(Mi.uint32=Rr);function ia(Xi){this.id=Ti++,Ci[this.id]=this,this.buffer=Xi,this.primType=En,this.vertCount=0,this.type=0}ia.prototype.bind=function(){this.buffer.bind()};var ka=[];function Sa(Xi){var ei=ka.pop();return ei||(ei=new ia(hr.create(null,jr,!0,!1)._buffer)),Fn(ei,Xi,Wr,-1,-1,0,0),ei}function va(Xi){ka.push(Xi)}function Fn(Xi,ei,zi,la,ba,$i,Xa){Xi.buffer.bind();var Oa;if(ei){var kn=Xa;!Xa&&(!Mr(ei)||Dr(ei)&&!Mr(ei.data))&&(kn=Yt.oes_element_index_uint?Rr:Lr),hr._initBuffer(Xi.buffer,ei,zi,kn,3)}else rt.bufferData(jr,$i,zi),Xi.buffer.dtype=Oa||st,Xi.buffer.usage=zi,Xi.buffer.dimension=3,Xi.buffer.byteLength=$i;if(Oa=Xa,!Xa){switch(Xi.buffer.dtype){case st:case bt:Oa=st;break;case Lr:case Nr:Oa=Lr;break;case Rr:case br:Oa=Rr;break;default:}Xi.buffer.dtype=Oa}Xi.type=Oa;var Qi=ba;Qi<0&&(Qi=Xi.buffer.byteLength,Oa===Lr?Qi>>=1:Oa===Rr&&(Qi>>=2)),Xi.vertCount=Qi;var Yi=la;if(la<0){Yi=En;var ln=Xi.buffer.dimension;ln===1&&(Yi=pn),ln===2&&(Yi=_n),ln===3&&(Yi=En)}Xi.primType=Yi}function Ha(Xi){li.elementsCount--,delete Ci[Xi.id],Xi.buffer.destroy(),Xi.buffer=null}function Da(Xi,ei){var zi=hr.create(null,jr,!0),la=new ia(zi._buffer);li.elementsCount++;function ba($i){if(!$i)zi(),la.primType=En,la.vertCount=0,la.type=st;else if(typeof $i=="number")zi($i),la.primType=En,la.vertCount=$i|0,la.type=st;else{var Xa=null,Oa=yt,kn=-1,Qi=-1,Yi=0,ln=0;Array.isArray($i)||Mr($i)||Dr($i)?Xa=$i:("data"in $i&&(Xa=$i.data),"usage"in $i&&(Oa=Ki[$i.usage]),"primitive"in $i&&(kn=ji[$i.primitive]),"count"in $i&&(Qi=$i.count|0),"type"in $i&&(ln=Mi[$i.type]),"length"in $i?Yi=$i.length|0:(Yi=Qi,ln===Lr||ln===Nr?Yi*=2:(ln===Rr||ln===br)&&(Yi*=4))),Fn(la,Xa,Oa,kn,Qi,Yi,ln)}return ba}return ba(Xi),ba._reglType="elements",ba._elements=la,ba.subdata=function($i,Xa){return zi.subdata($i,Xa),ba},ba.destroy=function(){Ha(la)},ba}return{create:Da,createStream:Sa,destroyStream:va,getElements:function(Xi){return typeof Xi=="function"&&Xi._elements instanceof ia?Xi._elements:null},clear:function(){xt(Ci).forEach(Ha)}}}var mr=new Float32Array(1),Or=new Uint32Array(mr.buffer),ki=5123;function Ni(rt){for(var Yt=U.allocType(ki,rt.length),hr=0;hr>>31<<15,Ti=(li<<1>>>24)-127,Mi=li>>13&1023;if(Ti<-24)Yt[hr]=Ci;else if(Ti<-14){var ia=-14-Ti;Yt[hr]=Ci+(Mi+1024>>ia)}else Ti>15?Yt[hr]=Ci+31744:Yt[hr]=Ci+(Ti+15<<10)+Mi}return Yt}function Si(rt){return Array.isArray(rt)||Mr(rt)}var fi=34467,Li=3553,Ia=34067,Fa=34069,un=6408,Bn=6406,Kn=6407,Gn=6409,eo=6410,Ao=32854,An=32855,Eo=36194,fs=32819,Ls=32820,ns=33635,uo=34042,ss=6402,xs=34041,el=35904,Ss=35906,Co=36193,ao=33776,co=33777,Ms=33778,Gs=33779,ul=35986,hs=35987,rn=34798,Xn=35840,tl=35841,zs=35842,so=35843,$s=36196,Ps=5121,nl=5123,yl=5125,On=5126,Ko=10242,jo=10243,Ys=10497,Tu=33071,Lo=33648,al=10240,kl=10241,Ns=9728,rl=9729,Es=9984,Us=9985,Zl=9986,pu=9987,kc=33170,Au=4352,Sf=4353,Gc=4354,Js=34046,yc=3317,Zc=37440,mu=37441,Vl=37443,lc=37444,Gu=33984,_l=[Es,Zl,Us,pu],Cl=[0,Gn,eo,Kn,un],Fs={};Fs[Gn]=Fs[Bn]=Fs[ss]=1,Fs[xs]=Fs[eo]=2,Fs[Kn]=Fs[el]=3,Fs[un]=Fs[Ss]=4;function ol(rt){return"[object "+rt+"]"}var uc=ol("HTMLCanvasElement"),Kl=ol("OffscreenCanvas"),Zu=ol("CanvasRenderingContext2D"),Sl=ol("ImageBitmap"),vh=ol("HTMLImageElement"),ws=ol("HTMLVideoElement"),ph=Object.keys(Le).concat([uc,Kl,Zu,Sl,vh,ws]),qs=[];qs[Ps]=1,qs[On]=4,qs[Co]=2,qs[nl]=2,qs[yl]=4;var xo=[];xo[Ao]=2,xo[An]=2,xo[Eo]=2,xo[xs]=4,xo[ao]=.5,xo[co]=.5,xo[Ms]=1,xo[Gs]=1,xo[ul]=.5,xo[hs]=1,xo[rn]=1,xo[Xn]=.5,xo[tl]=.25,xo[zs]=.5,xo[so]=.25,xo[$s]=.5;function Kc(rt){return Array.isArray(rt)&&(rt.length===0||typeof rt[0]=="number")}function Ku(rt){if(!Array.isArray(rt))return!1;var Yt=rt.length;return!(Yt===0||!Si(rt[0]))}function $l(rt){return Object.prototype.toString.call(rt)}function Mf(rt){return $l(rt)===uc}function Cc(rt){return $l(rt)===Kl}function uf(rt){return $l(rt)===Zu}function su(rt){return $l(rt)===Sl}function Wf(rt){return $l(rt)===vh}function Rf(rt){return $l(rt)===ws}function cf(rt){if(!rt)return!1;var Yt=$l(rt);return ph.indexOf(Yt)>=0?!0:Kc(rt)||Ku(rt)||Dr(rt)}function Wc(rt){return Le[Object.prototype.toString.call(rt)]|0}function Df(rt,Yt){var hr=Yt.length;switch(rt.type){case Ps:case nl:case yl:case On:var li=U.allocType(rt.type,hr);li.set(Yt),rt.data=li;break;case Co:rt.data=Ni(Yt);break;default:}}function zf(rt,Yt){return U.allocType(rt.type===Co?On:rt.type,Yt)}function $u(rt,Yt){rt.type===Co?(rt.data=Ni(Yt),U.freeType(Yt)):rt.data=Yt}function Ef(rt,Yt,hr,li,Ci,Ti){for(var Mi=rt.width,ia=rt.height,ka=rt.channels,Sa=Mi*ia*ka,va=zf(rt,Sa),Fn=0,Ha=0;Ha=1;)ia+=Mi*ka*ka,ka/=2;return ia}else return Mi*hr*li}function $c(rt,Yt,hr,li,Ci,Ti,Mi){var ia={"don't care":Au,"dont care":Au,nice:Gc,fast:Sf},ka={repeat:Ys,clamp:Tu,mirror:Lo},Sa={nearest:Ns,linear:rl},va=p({mipmap:pu,"nearest mipmap nearest":Es,"linear mipmap nearest":Us,"nearest mipmap linear":Zl,"linear mipmap linear":pu},Sa),Fn={none:0,browser:lc},Ha={uint8:Ps,rgba4:fs,rgb565:ns,"rgb5 a1":Ls},Da={alpha:Bn,luminance:Gn,"luminance alpha":eo,rgb:Kn,rgba:un,rgba4:Ao,"rgb5 a1":An,rgb565:Eo},Xi={};Yt.ext_srgb&&(Da.srgb=el,Da.srgba=Ss),Yt.oes_texture_float&&(Ha.float32=Ha.float=On),Yt.oes_texture_half_float&&(Ha.float16=Ha["half float"]=Co),Yt.webgl_depth_texture&&(p(Da,{depth:ss,"depth stencil":xs}),p(Ha,{uint16:nl,uint32:yl,"depth stencil":uo})),Yt.webgl_compressed_texture_s3tc&&p(Xi,{"rgb s3tc dxt1":ao,"rgba s3tc dxt1":co,"rgba s3tc dxt3":Ms,"rgba s3tc dxt5":Gs}),Yt.webgl_compressed_texture_atc&&p(Xi,{"rgb atc":ul,"rgba atc explicit alpha":hs,"rgba atc interpolated alpha":rn}),Yt.webgl_compressed_texture_pvrtc&&p(Xi,{"rgb pvrtc 4bppv1":Xn,"rgb pvrtc 2bppv1":tl,"rgba pvrtc 4bppv1":zs,"rgba pvrtc 2bppv1":so}),Yt.webgl_compressed_texture_etc1&&(Xi["rgb etc1"]=$s);var ei=Array.prototype.slice.call(rt.getParameter(fi));Object.keys(Xi).forEach(function(Ce){var Ke=Xi[Ce];ei.indexOf(Ke)>=0&&(Da[Ce]=Ke)});var zi=Object.keys(Da);hr.textureFormats=zi;var la=[];Object.keys(Da).forEach(function(Ce){var Ke=Da[Ce];la[Ke]=Ce});var ba=[];Object.keys(Ha).forEach(function(Ce){var Ke=Ha[Ce];ba[Ke]=Ce});var $i=[];Object.keys(Sa).forEach(function(Ce){var Ke=Sa[Ce];$i[Ke]=Ce});var Xa=[];Object.keys(va).forEach(function(Ce){var Ke=va[Ce];Xa[Ke]=Ce});var Oa=[];Object.keys(ka).forEach(function(Ce){var Ke=ka[Ce];Oa[Ke]=Ce});var kn=zi.reduce(function(Ce,Ke){var pt=Da[Ke];return pt===Gn||pt===Bn||pt===Gn||pt===eo||pt===ss||pt===xs||Yt.ext_srgb&&(pt===el||pt===Ss)?Ce[pt]=pt:pt===An||Ke.indexOf("rgba")>=0?Ce[pt]=un:Ce[pt]=Kn,Ce},{});function Qi(){this.internalformat=un,this.format=un,this.type=Ps,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=lc,this.width=0,this.height=0,this.channels=0}function Yi(Ce,Ke){Ce.internalformat=Ke.internalformat,Ce.format=Ke.format,Ce.type=Ke.type,Ce.compressed=Ke.compressed,Ce.premultiplyAlpha=Ke.premultiplyAlpha,Ce.flipY=Ke.flipY,Ce.unpackAlignment=Ke.unpackAlignment,Ce.colorSpace=Ke.colorSpace,Ce.width=Ke.width,Ce.height=Ke.height,Ce.channels=Ke.channels}function ln(Ce,Ke){if(!(typeof Ke!="object"||!Ke)){if("premultiplyAlpha"in Ke&&(Ce.premultiplyAlpha=Ke.premultiplyAlpha),"flipY"in Ke&&(Ce.flipY=Ke.flipY),"alignment"in Ke&&(Ce.unpackAlignment=Ke.alignment),"colorSpace"in Ke&&(Ce.colorSpace=Fn[Ke.colorSpace]),"type"in Ke){var pt=Ke.type;Ce.type=Ha[pt]}var Ut=Ce.width,Tr=Ce.height,Ur=Ce.channels,vr=!1;"shape"in Ke?(Ut=Ke.shape[0],Tr=Ke.shape[1],Ke.shape.length===3&&(Ur=Ke.shape[2],vr=!0)):("radius"in Ke&&(Ut=Tr=Ke.radius),"width"in Ke&&(Ut=Ke.width),"height"in Ke&&(Tr=Ke.height),"channels"in Ke&&(Ur=Ke.channels,vr=!0)),Ce.width=Ut|0,Ce.height=Tr|0,Ce.channels=Ur|0;var mt=!1;if("format"in Ke){var Et=Ke.format,Bt=Ce.internalformat=Da[Et];Ce.format=kn[Bt],Et in Ha&&("type"in Ke||(Ce.type=Ha[Et])),Et in Xi&&(Ce.compressed=!0),mt=!0}!vr&&mt?Ce.channels=Fs[Ce.format]:vr&&!mt&&Ce.channels!==Cl[Ce.format]&&(Ce.format=Ce.internalformat=Cl[Ce.channels])}}function Va(Ce){rt.pixelStorei(Zc,Ce.flipY),rt.pixelStorei(mu,Ce.premultiplyAlpha),rt.pixelStorei(Vl,Ce.colorSpace),rt.pixelStorei(yc,Ce.unpackAlignment)}function La(){Qi.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function Ea(Ce,Ke){var pt=null;if(cf(Ke)?pt=Ke:Ke&&(ln(Ce,Ke),"x"in Ke&&(Ce.xOffset=Ke.x|0),"y"in Ke&&(Ce.yOffset=Ke.y|0),cf(Ke.data)&&(pt=Ke.data)),Ke.copy){var Ut=Ci.viewportWidth,Tr=Ci.viewportHeight;Ce.width=Ce.width||Ut-Ce.xOffset,Ce.height=Ce.height||Tr-Ce.yOffset,Ce.needsCopy=!0}else if(!pt)Ce.width=Ce.width||1,Ce.height=Ce.height||1,Ce.channels=Ce.channels||4;else if(Mr(pt))Ce.channels=Ce.channels||4,Ce.data=pt,!("type"in Ke)&&Ce.type===Ps&&(Ce.type=Wc(pt));else if(Kc(pt))Ce.channels=Ce.channels||4,Df(Ce,pt),Ce.alignment=1,Ce.needsFree=!0;else if(Dr(pt)){var Ur=pt.data;!Array.isArray(Ur)&&Ce.type===Ps&&(Ce.type=Wc(Ur));var vr=pt.shape,mt=pt.stride,Et,Bt,or,dr,ur,pr;vr.length===3?(or=vr[2],pr=mt[2]):(or=1,pr=1),Et=vr[0],Bt=vr[1],dr=mt[0],ur=mt[1],Ce.alignment=1,Ce.width=Et,Ce.height=Bt,Ce.channels=or,Ce.format=Ce.internalformat=Cl[or],Ce.needsFree=!0,Ef(Ce,Ur,dr,ur,pr,pt.offset)}else if(Mf(pt)||Cc(pt)||uf(pt))Mf(pt)||Cc(pt)?Ce.element=pt:Ce.element=pt.canvas,Ce.width=Ce.element.width,Ce.height=Ce.element.height,Ce.channels=4;else if(su(pt))Ce.element=pt,Ce.width=pt.width,Ce.height=pt.height,Ce.channels=4;else if(Wf(pt))Ce.element=pt,Ce.width=pt.naturalWidth,Ce.height=pt.naturalHeight,Ce.channels=4;else if(Rf(pt))Ce.element=pt,Ce.width=pt.videoWidth,Ce.height=pt.videoHeight,Ce.channels=4;else if(Ku(pt)){var cr=Ce.width||pt[0].length,Gt=Ce.height||pt.length,lr=Ce.channels;Si(pt[0][0])?lr=lr||pt[0][0].length:lr=lr||1;for(var qt=Ne.shape(pt),zr=1,$r=0;$r>=Tr,pt.height>>=Tr,Ea(pt,Ut[Tr]),Ce.mipmask|=1<=0&&!("faces"in Ke)&&(Ce.genMipmaps=!0)}if("mag"in Ke){var Ut=Ke.mag;Ce.magFilter=Sa[Ut]}var Tr=Ce.wrapS,Ur=Ce.wrapT;if("wrap"in Ke){var vr=Ke.wrap;typeof vr=="string"?Tr=Ur=ka[vr]:Array.isArray(vr)&&(Tr=ka[vr[0]],Ur=ka[vr[1]])}else{if("wrapS"in Ke){var mt=Ke.wrapS;Tr=ka[mt]}if("wrapT"in Ke){var Et=Ke.wrapT;Ur=ka[Et]}}if(Ce.wrapS=Tr,Ce.wrapT=Ur,"anisotropic"in Ke){var Bt=Ke.anisotropic;Ce.anisotropic=Ke.anisotropic}if("mipmap"in Ke){var or=!1;switch(typeof Ke.mipmap){case"string":Ce.mipmapHint=ia[Ke.mipmap],Ce.genMipmaps=!0,or=!0;break;case"boolean":or=Ce.genMipmaps=Ke.mipmap;break;case"object":Ce.genMipmaps=!1,or=!0;break;default:}or&&!("min"in Ke)&&(Ce.minFilter=Es)}}function Ul(Ce,Ke){rt.texParameteri(Ke,kl,Ce.minFilter),rt.texParameteri(Ke,al,Ce.magFilter),rt.texParameteri(Ke,Ko,Ce.wrapS),rt.texParameteri(Ke,jo,Ce.wrapT),Yt.ext_texture_filter_anisotropic&&rt.texParameteri(Ke,Js,Ce.anisotropic),Ce.genMipmaps&&(rt.hint(kc,Ce.mipmapHint),rt.generateMipmap(Ke))}var cu=0,il={},El=hr.maxTextureUnits,Dl=Array(El).map(function(){return null});function ho(Ce){Qi.call(this),this.mipmask=0,this.internalformat=un,this.id=cu++,this.refCount=1,this.target=Ce,this.texture=rt.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new Cs,Mi.profile&&(this.stats={size:0})}function jl(Ce){rt.activeTexture(Gu),rt.bindTexture(Ce.target,Ce.texture)}function $o(){var Ce=Dl[0];Ce?rt.bindTexture(Ce.target,Ce.texture):rt.bindTexture(Li,null)}function ve(Ce){var Ke=Ce.texture,pt=Ce.unit,Ut=Ce.target;pt>=0&&(rt.activeTexture(Gu+pt),rt.bindTexture(Ut,null),Dl[pt]=null),rt.deleteTexture(Ke),Ce.texture=null,Ce.params=null,Ce.pixels=null,Ce.refCount=0,delete il[Ce.id],Ti.textureCount--}p(ho.prototype,{bind:function(){var Ce=this;Ce.bindCount+=1;var Ke=Ce.unit;if(Ke<0){for(var pt=0;pt0)continue;Ut.unit=-1}Dl[pt]=Ce,Ke=pt;break}Ke>=El,Mi.profile&&Ti.maxTextureUnits>ur)-or,pr.height=pr.height||(pt.height>>ur)-dr,jl(pt),Pn(pr,Li,or,dr,ur),$o(),gn(pr),Ut}function Ur(vr,mt){var Et=vr|0,Bt=mt|0||Et;if(Et===pt.width&&Bt===pt.height)return Ut;Ut.width=pt.width=Et,Ut.height=pt.height=Bt,jl(pt);for(var or=0;pt.mipmask>>or;++or){var dr=Et>>or,ur=Bt>>or;if(!dr||!ur)break;rt.texImage2D(Li,or,pt.format,dr,ur,0,pt.format,pt.type,null)}return $o(),Mi.profile&&(pt.stats.size=cc(pt.internalformat,pt.type,Et,Bt,!1,!1)),Ut}return Ut(Ce,Ke),Ut.subimage=Tr,Ut.resize=Ur,Ut._reglType="texture2d",Ut._texture=pt,Mi.profile&&(Ut.stats=pt.stats),Ut.destroy=function(){pt.decRef()},Ut}function ge(Ce,Ke,pt,Ut,Tr,Ur){var vr=new ho(Ia);il[vr.id]=vr,Ti.cubeCount++;var mt=new Array(6);function Et(dr,ur,pr,cr,Gt,lr){var qt,zr=vr.texInfo;for(Cs.call(zr),qt=0;qt<6;++qt)mt[qt]=Ro();if(typeof dr=="number"||!dr){var $r=dr|0||1;for(qt=0;qt<6;++qt)$n(mt[qt],$r,$r)}else if(typeof dr=="object")if(ur)fo(mt[0],dr),fo(mt[1],ur),fo(mt[2],pr),fo(mt[3],cr),fo(mt[4],Gt),fo(mt[5],lr);else if(Ol(zr,dr),ln(vr,dr),"faces"in dr){var Ai=dr.faces;for(qt=0;qt<6;++qt)Yi(mt[qt],vr),fo(mt[qt],Ai[qt])}else for(qt=0;qt<6;++qt)fo(mt[qt],dr);for(Yi(vr,mt[0]),zr.genMipmaps?vr.mipmask=(mt[0].width<<1)-1:vr.mipmask=mt[0].mipmask,vr.internalformat=mt[0].internalformat,Et.width=mt[0].width,Et.height=mt[0].height,jl(vr),qt=0;qt<6;++qt)Ks(mt[qt],Fa+qt);for(Ul(zr,Ia),$o(),Mi.profile&&(vr.stats.size=cc(vr.internalformat,vr.type,Et.width,Et.height,zr.genMipmaps,!0)),Et.format=la[vr.internalformat],Et.type=ba[vr.type],Et.mag=$i[zr.magFilter],Et.min=Xa[zr.minFilter],Et.wrapS=Oa[zr.wrapS],Et.wrapT=Oa[zr.wrapT],qt=0;qt<6;++qt)ru(mt[qt]);return Et}function Bt(dr,ur,pr,cr,Gt){var lr=pr|0,qt=cr|0,zr=Gt|0,$r=ja();return Yi($r,vr),$r.width=0,$r.height=0,Ea($r,ur),$r.width=$r.width||(vr.width>>zr)-lr,$r.height=$r.height||(vr.height>>zr)-qt,jl(vr),Pn($r,Fa+dr,lr,qt,zr),$o(),gn($r),Et}function or(dr){var ur=dr|0;if(ur!==vr.width){Et.width=vr.width=ur,Et.height=vr.height=ur,jl(vr);for(var pr=0;pr<6;++pr)for(var cr=0;vr.mipmask>>cr;++cr)rt.texImage2D(Fa+pr,cr,vr.format,ur>>cr,ur>>cr,0,vr.format,vr.type,null);return $o(),Mi.profile&&(vr.stats.size=cc(vr.internalformat,vr.type,Et.width,Et.height,!1,!0)),Et}}return Et(Ce,Ke,pt,Ut,Tr,Ur),Et.subimage=Bt,Et.resize=or,Et._reglType="textureCube",Et._texture=vr,Mi.profile&&(Et.stats=vr.stats),Et.destroy=function(){vr.decRef()},Et}function te(){for(var Ce=0;Ce>Ut,pt.height>>Ut,0,pt.internalformat,pt.type,null);else for(var Tr=0;Tr<6;++Tr)rt.texImage2D(Fa+Tr,Ut,pt.internalformat,pt.width>>Ut,pt.height>>Ut,0,pt.internalformat,pt.type,null);Ul(pt.texInfo,pt.target)})}function He(){for(var Ce=0;Ce=0?ru=!0:ka.indexOf(Cs)>=0&&(ru=!1))),("depthTexture"in ho||"depthStencilTexture"in ho)&&(Dl=!!(ho.depthTexture||ho.depthStencilTexture)),"depth"in ho&&(typeof ho.depth=="boolean"?Ks=ho.depth:(cu=ho.depth,Rl=!1)),"stencil"in ho&&(typeof ho.stencil=="boolean"?Rl=ho.stencil:(il=ho.stencil,Ks=!1)),"depthStencil"in ho&&(typeof ho.depthStencil=="boolean"?Ks=Rl=ho.depthStencil:(El=ho.depthStencil,Ks=!1,Rl=!1))}var $o=null,ve=null,K=null,ge=null;if(Array.isArray(Ro))$o=Ro.map(Xi);else if(Ro)$o=[Xi(Ro)];else for($o=new Array(Ul),Wn=0;Wn0&&(gn.depth=Ea[0].depth,gn.stencil=Ea[0].stencil,gn.depthStencil=Ea[0].depthStencil),Ea[ja]?Ea[ja](gn):Ea[ja]=Yi(gn)}return p(on,{width:Wn,height:Wn,color:Cs})}function Pn(Zn){var ja,gn=Zn|0;if(gn===on.width)return on;var Wn=on.color;for(ja=0;ja=Wn.byteLength?$n.subdata(Wn):($n.destroy(),Yi.buffers[Zn]=null)),Yi.buffers[Zn]||($n=Yi.buffers[Zn]=Ci.create(ja,_f,!1,!0)),gn.buffer=Ci.getBuffer($n),gn.size=gn.buffer.dimension|0,gn.normalized=!1,gn.type=gn.buffer.dtype,gn.offset=0,gn.stride=0,gn.divisor=0,gn.state=1,on[Zn]=1}else Ci.getBuffer(ja)?(gn.buffer=Ci.getBuffer(ja),gn.size=gn.buffer.dimension|0,gn.normalized=!1,gn.type=gn.buffer.dtype,gn.offset=0,gn.stride=0,gn.divisor=0,gn.state=1):Ci.getBuffer(ja.buffer)?(gn.buffer=Ci.getBuffer(ja.buffer),gn.size=(+ja.size||gn.buffer.dimension)|0,gn.normalized=!!ja.normalized||!1,"type"in ja?gn.type=vi[ja.type]:gn.type=gn.buffer.dtype,gn.offset=(ja.offset||0)|0,gn.stride=(ja.stride||0)|0,gn.divisor=(ja.divisor||0)|0,gn.state=1):"x"in ja&&(gn.x=+ja.x||0,gn.y=+ja.y||0,gn.z=+ja.z||0,gn.w=+ja.w||0,gn.state=2)}for(var fo=0;fo1)for(var Va=0;Va<$i.size;++Va){var La=$i.name.replace("[0]","["+Va+"]");ia(ln,new Mi(La,Yt.id(La),rt.getUniformLocation(kn,La),$i))}else ia(ln,new Mi($i.name,Yt.id($i.name),rt.getUniformLocation(kn,$i.name),$i));var Ea=rt.getProgramParameter(kn,Rc);li.profile&&(ei.stats.attributesCount=Ea);var on=ei.attributes;for(ba=0;baei&&(ei=zi.stats.uniformsCount)}),ei},hr.getMaxAttributesCount=function(){var ei=0;return va.forEach(function(zi){zi.stats.attributesCount>ei&&(ei=zi.stats.attributesCount)}),ei});function Xi(){Ci={},Ti={};for(var ei=0;ei16&&(hr=Na(hr,rt.length*8));for(var li=Array(16),Ci=Array(16),Ti=0;Ti<16;Ti++)li[Ti]=hr[Ti]^909522486,Ci[Ti]=hr[Ti]^1549556828;var Mi=Na(li.concat(Fc(Yt)),512+Yt.length*8);return er(Na(Ci.concat(Mi),768))}function Cu(rt){for(var Yt=Nf?"0123456789ABCDEF":"0123456789abcdef",hr="",li,Ci=0;Ci>>4&15)+Yt.charAt(li&15);return hr}function zc(rt){for(var Yt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",hr="",li=rt.length,Ci=0;Cirt.length*8?hr+=ec:hr+=Yt.charAt(Ti>>>6*(3-Mi)&63);return hr}function tf(rt,Yt){var hr=Yt.length,li=Array(),Ci,Ti,Mi,ia,ka=Array(Math.ceil(rt.length/2));for(Ci=0;Ci0;){for(ia=Array(),Mi=0,Ci=0;Ci0||Ti>0)&&(ia[ia.length]=Ti);li[li.length]=Mi,ka=ia}var Sa="";for(Ci=li.length-1;Ci>=0;Ci--)Sa+=Yt.charAt(li[Ci]);var va=Math.ceil(rt.length*8/(Math.log(Yt.length)/Math.log(2)));for(Ci=Sa.length;Ci>>6&31,128|li&63):li<=65535?Yt+=String.fromCharCode(224|li>>>12&15,128|li>>>6&63,128|li&63):li<=2097151&&(Yt+=String.fromCharCode(240|li>>>18&7,128|li>>>12&63,128|li>>>6&63,128|li&63));return Yt}function Fc(rt){for(var Yt=Array(rt.length>>2),hr=0;hr>5]|=(rt.charCodeAt(hr/8)&255)<<24-hr%32;return Yt}function er(rt){for(var Yt="",hr=0;hr>5]>>>24-hr%32&255);return Yt}function wr(rt,Yt){return rt>>>Yt|rt<<32-Yt}function ai(rt,Yt){return rt>>>Yt}function Jr(rt,Yt,hr){return rt&Yt^~rt&hr}function Fi(rt,Yt,hr){return rt&Yt^rt&hr^Yt&hr}function pa(rt){return wr(rt,2)^wr(rt,13)^wr(rt,22)}function Ba(rt){return wr(rt,6)^wr(rt,11)^wr(rt,25)}function an(rt){return wr(rt,7)^wr(rt,18)^ai(rt,3)}function hn(rt){return wr(rt,17)^wr(rt,19)^ai(rt,10)}var Ln=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 Na(rt,Yt){var hr=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),li=new Array(64),Ci,Ti,Mi,ia,ka,Sa,va,Fn,Ha,Da,Xi,ei;for(rt[Yt>>5]|=128<<24-Yt%32,rt[(Yt+64>>9<<4)+15]=Yt,Ha=0;Ha>16)+(Yt>>16)+(hr>>16);return li<<16|hr&65535}function Za(rt){return Array.prototype.slice.call(rt)}function Ta(rt){return Za(rt).join("")}function Hn(rt){var Yt=rt&&rt.cache,hr=0,li=[],Ci=[],Ti=[];function Mi(Xi,ei){var zi=ei&&ei.stable;if(!zi){for(var la=0;la0&&(Xi.push(ba,"="),Xi.push.apply(Xi,Za(arguments)),Xi.push(";")),ba}return p(ei,{def:la,toString:function(){return Ta([zi.length>0?"var "+zi.join(",")+";":"",Ta(Xi)])}})}function ka(){var Xi=ia(),ei=ia(),zi=Xi.toString,la=ei.toString;function ba($i,Xa){ei($i,Xa,"=",Xi.def($i,Xa),";")}return p(function(){Xi.apply(Xi,Za(arguments))},{def:Xi.def,entry:Xi,exit:ei,save:ba,set:function($i,Xa,Oa){ba($i,Xa),Xi($i,Xa,"=",Oa,";")},toString:function(){return zi()+la()}})}function Sa(){var Xi=Ta(arguments),ei=ka(),zi=ka(),la=ei.toString,ba=zi.toString;return p(ei,{then:function(){return ei.apply(ei,Za(arguments)),this},else:function(){return zi.apply(zi,Za(arguments)),this},toString:function(){var $i=ba();return $i&&($i="else{"+$i+"}"),Ta(["if(",Xi,"){",la(),"}",$i])}})}var va=ia(),Fn={};function Ha(Xi,ei){var zi=[];function la(){var kn="a"+zi.length;return zi.push(kn),kn}ei=ei||0;for(var ba=0;ba":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Hi={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},ta={cw:Je,ccw:vt};function ya(rt){return Array.isArray(rt)||Mr(rt)||Dr(rt)}function da(rt){return rt.sort(function(Yt,hr){return Yt===Te?-1:hr===Te?1:Yt=1,li>=2,Yt)}else if(hr===js){var Ci=rt.data;return new Oi(Ci.thisDep,Ci.contextDep,Ci.propDep,Yt)}else{if(hr===pl)return new Oi(!1,!1,!1,Yt);if(hr===Qs){for(var Ti=!1,Mi=!1,ia=!1,ka=0;ka=1&&(Mi=!0),va>=2&&(ia=!0)}else Sa.type===js&&(Ti=Ti||Sa.data.thisDep,Mi=Mi||Sa.data.contextDep,ia=ia||Sa.data.propDep)}return new Oi(Ti,Mi,ia,Yt)}else return new Oi(hr===ps,hr===Oo,hr===wn,Yt)}}var Yn=new Oi(!1,!1,!1,function(){});function mo(rt,Yt,hr,li,Ci,Ti,Mi,ia,ka,Sa,va,Fn,Ha,Da,Xi,ei){var zi=Sa.Record,la={add:32774,subtract:32778,"reverse subtract":32779};hr.ext_blend_minmax&&(la.min=_t,la.max=At);var ba=hr.angle_instanced_arrays,$i=hr.webgl_draw_buffers,Xa=hr.oes_vertex_array_object,Oa={dirty:!0,profile:ei.profile},kn={},Qi=[],Yi={},ln={};function Va(mt){return mt.replace(".","_")}function La(mt,Et,Bt){var or=Va(mt);Qi.push(mt),kn[or]=Oa[or]=!!Bt,Yi[or]=Et}function Ea(mt,Et,Bt){var or=Va(mt);Qi.push(mt),Array.isArray(Bt)?(Oa[or]=Bt.slice(),kn[or]=Bt.slice()):Oa[or]=kn[or]=Bt,ln[or]=Et}function on(mt){return!!isNaN(mt)}La(hl,ga),La(Bs,qi),Ea(Wl,"blendColor",[0,0,0,0]),Ea(Il,"blendEquationSeparate",[Yr,Yr]),Ea(wl,"blendFuncSeparate",[Gr,xr,Gr,xr]),La(io,$a,!0),Ea(Jo,"depthFunc",Ei),Ea(cl,"depthRange",[0,1]),Ea(Zs,"depthMask",!0),Ea(gu,gu,[!0,!0,!0,!0]),La(Nu,Pi),Ea(tc,"cullFace",Fe),Ea(Bc,Bc,vt),Ea(Lu,Lu,1),La(Oc,qn),Ea(Pu,"polygonOffset",[0,0]),La(wc,po),La(Po,to),Ea(es,"sampleCoverage",[1,!1]),La(Nc,Qa),Ea(hc,"stencilMask",-1),Ea(rc,"stencilFunc",[ar,0,-1]),Ea(Ue,"stencilOpSeparate",[de,Ft,Ft,Ft]),Ea(P,"stencilOpSeparate",[Fe,Ft,Ft,Ft]),La(ae,yn),Ea(xe,"scissor",[0,0,rt.drawingBufferWidth,rt.drawingBufferHeight]),Ea(Te,Te,[0,0,rt.drawingBufferWidth,rt.drawingBufferHeight]);var Pn={gl:rt,context:Ha,strings:Yt,next:kn,current:Oa,draw:Fn,elements:Ti,buffer:Ci,shader:va,attributes:Sa.state,vao:Sa,uniforms:ka,framebuffer:ia,extensions:hr,timer:Da,isBufferArgs:ya},Zn={primTypes:ji,compareFuncs:Di,blendFuncs:ua,blendEquations:la,stencilOps:Hi,glTypes:vi,orientationType:ta};$i&&(Zn.backBuffer=[Fe],Zn.drawBuffer=v(li.maxDrawbuffers,function(mt){return mt===0?[0]:v(mt,function(Et){return na+Et})}));var ja=0;function gn(){var mt=Hn({cache:Xi}),Et=mt.link,Bt=mt.global;mt.id=ja++,mt.batchId="0";var or=Et(Pn),dr=mt.shared={props:"a0"};Object.keys(Pn).forEach(function(lr){dr[lr]=Bt.def(or,".",lr)});var ur=mt.next={},pr=mt.current={};Object.keys(ln).forEach(function(lr){Array.isArray(Oa[lr])&&(ur[lr]=Bt.def(dr.next,".",lr),pr[lr]=Bt.def(dr.current,".",lr))});var cr=mt.constants={};Object.keys(Zn).forEach(function(lr){cr[lr]=Bt.def(JSON.stringify(Zn[lr]))}),mt.invoke=function(lr,qt){switch(qt.type){case Vn:var zr=["this",dr.context,dr.props,mt.batchId];return lr.def(Et(qt.data),".call(",zr.slice(0,Math.max(qt.data.length+1,4)),")");case wn:return lr.def(dr.props,qt.data);case Oo:return lr.def(dr.context,qt.data);case ps:return lr.def("this",qt.data);case js:return qt.data.append(mt,lr),qt.data.ref;case pl:return qt.data.toString();case Qs:return qt.data.map(function($r){return mt.invoke(lr,$r)})}},mt.attribCache={};var Gt={};return mt.scopeAttrib=function(lr){var qt=Yt.id(lr);if(qt in Gt)return Gt[qt];var zr=Sa.scope[qt];zr||(zr=Sa.scope[qt]=new zi);var $r=Gt[qt]=Et(zr);return $r},mt}function Wn(mt){var Et=mt.static,Bt=mt.dynamic,or;if(Oe in Et){var dr=!!Et[Oe];or=mn(function(pr,cr){return dr}),or.enable=dr}else if(Oe in Bt){var ur=Bt[Oe];or=In(ur,function(pr,cr){return pr.invoke(cr,ur)})}return or}function $n(mt,Et){var Bt=mt.static,or=mt.dynamic;if(ht in Bt){var dr=Bt[ht];return dr?(dr=ia.getFramebuffer(dr),mn(function(pr,cr){var Gt=pr.link(dr),lr=pr.shared;cr.set(lr.framebuffer,".next",Gt);var qt=lr.context;return cr.set(qt,"."+dt,Gt+".width"),cr.set(qt,"."+Ct,Gt+".height"),Gt})):mn(function(pr,cr){var Gt=pr.shared;cr.set(Gt.framebuffer,".next","null");var lr=Gt.context;return cr.set(lr,"."+dt,lr+"."+_r),cr.set(lr,"."+Ct,lr+"."+kr),"null"})}else if(ht in or){var ur=or[ht];return In(ur,function(pr,cr){var Gt=pr.invoke(cr,ur),lr=pr.shared,qt=lr.framebuffer,zr=cr.def(qt,".getFramebuffer(",Gt,")");cr.set(qt,".next",zr);var $r=lr.context;return cr.set($r,"."+dt,zr+"?"+zr+".width:"+$r+"."+_r),cr.set($r,"."+Ct,zr+"?"+zr+".height:"+$r+"."+kr),zr})}else return null}function fo(mt,Et,Bt){var or=mt.static,dr=mt.dynamic;function ur(Gt){if(Gt in or){var lr=or[Gt],qt=!0,zr=lr.x|0,$r=lr.y|0,Ai,wa;return"width"in lr?Ai=lr.width|0:qt=!1,"height"in lr?wa=lr.height|0:qt=!1,new Oi(!qt&&Et&&Et.thisDep,!qt&&Et&&Et.contextDep,!qt&&Et&&Et.propDep,function(sn,Ga){var ma=sn.shared.context,Ma=Ai;"width"in lr||(Ma=Ga.def(ma,".",dt,"-",zr));var Pa=wa;return"height"in lr||(Pa=Ga.def(ma,".",Ct,"-",$r)),[zr,$r,Ma,Pa]})}else if(Gt in dr){var Ji=dr[Gt],fa=In(Ji,function(sn,Ga){var ma=sn.invoke(Ga,Ji),Ma=sn.shared.context,Pa=Ga.def(ma,".x|0"),Ka=Ga.def(ma,".y|0"),Sn=Ga.def('"width" in ',ma,"?",ma,".width|0:","(",Ma,".",dt,"-",Pa,")"),No=Ga.def('"height" in ',ma,"?",ma,".height|0:","(",Ma,".",Ct,"-",Ka,")");return[Pa,Ka,Sn,No]});return Et&&(fa.thisDep=fa.thisDep||Et.thisDep,fa.contextDep=fa.contextDep||Et.contextDep,fa.propDep=fa.propDep||Et.propDep),fa}else return Et?new Oi(Et.thisDep,Et.contextDep,Et.propDep,function(sn,Ga){var ma=sn.shared.context;return[0,0,Ga.def(ma,".",dt),Ga.def(ma,".",Ct)]}):null}var pr=ur(Te);if(pr){var cr=pr;pr=new Oi(pr.thisDep,pr.contextDep,pr.propDep,function(Gt,lr){var qt=cr.append(Gt,lr),zr=Gt.shared.context;return lr.set(zr,"."+wt,qt[2]),lr.set(zr,"."+Dt,qt[3]),qt})}return{viewport:pr,scissor_box:ur(xe)}}function Ks(mt,Et){var Bt=mt.static,or=typeof Bt[Ot]=="string"&&typeof Bt[Tt]=="string";if(or){if(Object.keys(Et.dynamic).length>0)return null;var dr=Et.static,ur=Object.keys(dr);if(ur.length>0&&typeof dr[ur[0]]=="number"){for(var pr=[],cr=0;cr"+Pa+"?"+qt+".constant["+Pa+"]:0;"}).join(""),"}}else{","if(",Ai,"(",qt,".buffer)){",sn,"=",wa,".createStream(",Qr,",",qt,".buffer);","}else{",sn,"=",wa,".getBuffer(",qt,".buffer);","}",Ga,'="type" in ',qt,"?",$r.glTypes,"[",qt,".type]:",sn,".dtype;",Ji.normalized,"=!!",qt,".normalized;");function ma(Ma){lr(Ji[Ma],"=",qt,".",Ma,"|0;")}return ma("size"),ma("offset"),ma("stride"),ma("divisor"),lr("}}"),lr.exit("if(",Ji.isStream,"){",wa,".destroyStream(",sn,");","}"),Ji}dr[ur]=In(pr,cr)}),dr}function Ul(mt){var Et=mt.static,Bt=mt.dynamic,or={};return Object.keys(Et).forEach(function(dr){var ur=Et[dr];or[dr]=mn(function(pr,cr){return typeof ur=="number"||typeof ur=="boolean"?""+ur:pr.link(ur)})}),Object.keys(Bt).forEach(function(dr){var ur=Bt[dr];or[dr]=In(ur,function(pr,cr){return pr.invoke(cr,ur)})}),or}function cu(mt,Et,Bt,or,dr){var ur=mt.static,pr=mt.dynamic,cr=Ks(mt,Et),Gt=$n(mt,dr),lr=fo(mt,Gt,dr),qt=Ro(mt,dr),zr=ru(mt,dr),$r=Rl(mt,dr,cr);function Ai(ma){var Ma=lr[ma];Ma&&(zr[ma]=Ma)}Ai(Te),Ai(Va(xe));var wa=Object.keys(zr).length>0,Ji={framebuffer:Gt,draw:qt,shader:$r,state:zr,dirty:wa,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(Ji.profile=Wn(mt,dr),Ji.uniforms=Cs(Bt,dr),Ji.drawVAO=Ji.scopeVAO=qt.vao,!Ji.drawVAO&&$r.program&&!cr&&hr.angle_instanced_arrays&&qt.static.elements){var fa=!0,sn=$r.program.attributes.map(function(ma){var Ma=Et.static[ma];return fa=fa&&!!Ma,Ma});if(fa&&sn.length>0){var Ga=Sa.getVAO(Sa.createVAO({attributes:sn,elements:qt.static.elements}));Ji.drawVAO=new Oi(null,null,null,function(ma,Ma){return ma.link(Ga)}),Ji.useVAO=!0}}return cr?Ji.useVAO=!0:Ji.attributes=Ol(Et,dr),Ji.context=Ul(or,dr),Ji}function il(mt,Et,Bt){var or=mt.shared,dr=or.context,ur=mt.scope();Object.keys(Bt).forEach(function(pr){Et.save(dr,"."+pr);var cr=Bt[pr],Gt=cr.append(mt,Et);Array.isArray(Gt)?ur(dr,".",pr,"=[",Gt.join(),"];"):ur(dr,".",pr,"=",Gt,";")}),Et(ur)}function El(mt,Et,Bt,or){var dr=mt.shared,ur=dr.gl,pr=dr.framebuffer,cr;$i&&(cr=Et.def(dr.extensions,".webgl_draw_buffers"));var Gt=mt.constants,lr=Gt.drawBuffer,qt=Gt.backBuffer,zr;Bt?zr=Bt.append(mt,Et):zr=Et.def(pr,".next"),or||Et("if(",zr,"!==",pr,".cur){"),Et("if(",zr,"){",ur,".bindFramebuffer(",xi,",",zr,".framebuffer);"),$i&&Et(cr,".drawBuffersWEBGL(",lr,"[",zr,".colorAttachments.length]);"),Et("}else{",ur,".bindFramebuffer(",xi,",null);"),$i&&Et(cr,".drawBuffersWEBGL(",qt,");"),Et("}",pr,".cur=",zr,";"),or||Et("}")}function Dl(mt,Et,Bt){var or=mt.shared,dr=or.gl,ur=mt.current,pr=mt.next,cr=or.current,Gt=or.next,lr=mt.cond(cr,".dirty");Qi.forEach(function(qt){var zr=Va(qt);if(!(zr in Bt.state)){var $r,Ai;if(zr in pr){$r=pr[zr],Ai=ur[zr];var wa=v(Oa[zr].length,function(fa){return lr.def($r,"[",fa,"]")});lr(mt.cond(wa.map(function(fa,sn){return fa+"!=="+Ai+"["+sn+"]"}).join("||")).then(dr,".",ln[zr],"(",wa,");",wa.map(function(fa,sn){return Ai+"["+sn+"]="+fa}).join(";"),";"))}else{$r=lr.def(Gt,".",zr);var Ji=mt.cond($r,"!==",cr,".",zr);lr(Ji),zr in Yi?Ji(mt.cond($r).then(dr,".enable(",Yi[zr],");").else(dr,".disable(",Yi[zr],");"),cr,".",zr,"=",$r,";"):Ji(dr,".",ln[zr],"(",$r,");",cr,".",zr,"=",$r,";")}}}),Object.keys(Bt.state).length===0&&lr(cr,".dirty=false;"),Et(lr)}function ho(mt,Et,Bt,or){var dr=mt.shared,ur=mt.current,pr=dr.current,cr=dr.gl,Gt;da(Object.keys(Bt)).forEach(function(lr){var qt=Bt[lr];if(!(or&&!or(qt))){var zr=qt.append(mt,Et);if(Yi[lr]){var $r=Yi[lr];xn(qt)?(Gt=mt.link(zr,{stable:!0}),Et(mt.cond(Gt).then(cr,".enable(",$r,");").else(cr,".disable(",$r,");")),Et(pr,".",lr,"=",Gt,";")):(Et(mt.cond(zr).then(cr,".enable(",$r,");").else(cr,".disable(",$r,");")),Et(pr,".",lr,"=",zr,";"))}else if(Si(zr)){var Ai=ur[lr];Et(cr,".",ln[lr],"(",zr,");",zr.map(function(wa,Ji){return Ai+"["+Ji+"]="+wa}).join(";"),";")}else xn(qt)?(Gt=mt.link(zr,{stable:!0}),Et(cr,".",ln[lr],"(",Gt,");",pr,".",lr,"=",Gt,";")):Et(cr,".",ln[lr],"(",zr,");",pr,".",lr,"=",zr,";")}})}function jl(mt,Et){ba&&(mt.instancing=Et.def(mt.shared.extensions,".angle_instanced_arrays"))}function $o(mt,Et,Bt,or,dr){var ur=mt.shared,pr=mt.stats,cr=ur.current,Gt=ur.timer,lr=Bt.profile;function qt(){return typeof performance>"u"?"Date.now()":"performance.now()"}var zr,$r;function Ai(ma){zr=Et.def(),ma(zr,"=",qt(),";"),typeof dr=="string"?ma(pr,".count+=",dr,";"):ma(pr,".count++;"),Da&&(or?($r=Et.def(),ma($r,"=",Gt,".getNumPendingQueries();")):ma(Gt,".beginQuery(",pr,");"))}function wa(ma){ma(pr,".cpuTime+=",qt(),"-",zr,";"),Da&&(or?ma(Gt,".pushScopeStats(",$r,",",Gt,".getNumPendingQueries(),",pr,");"):ma(Gt,".endQuery();"))}function Ji(ma){var Ma=Et.def(cr,".profile");Et(cr,".profile=",ma,";"),Et.exit(cr,".profile=",Ma,";")}var fa;if(lr){if(xn(lr)){lr.enable?(Ai(Et),wa(Et.exit),Ji("true")):Ji("false");return}fa=lr.append(mt,Et),Ji(fa)}else fa=Et.def(cr,".profile");var sn=mt.block();Ai(sn),Et("if(",fa,"){",sn,"}");var Ga=mt.block();wa(Ga),Et.exit("if(",fa,"){",Ga,"}")}function ve(mt,Et,Bt,or,dr){var ur=mt.shared;function pr(Gt){switch(Gt){case bs:case Tl:case ql:return 2;case Ho:case dl:case uu:return 3;case ds:case ms:case Uu:return 4;default:return 1}}function cr(Gt,lr,qt){var zr=ur.gl,$r=Et.def(Gt,".location"),Ai=Et.def(ur.attributes,"[",$r,"]"),wa=qt.state,Ji=qt.buffer,fa=[qt.x,qt.y,qt.z,qt.w],sn=["buffer","normalized","offset","stride"];function Ga(){Et("if(!",Ai,".buffer){",zr,".enableVertexAttribArray(",$r,");}");var Ma=qt.type,Pa;if(qt.size?Pa=Et.def(qt.size,"||",lr):Pa=lr,Et("if(",Ai,".type!==",Ma,"||",Ai,".size!==",Pa,"||",sn.map(function(Sn){return Ai+"."+Sn+"!=="+qt[Sn]}).join("||"),"){",zr,".bindBuffer(",Qr,",",Ji,".buffer);",zr,".vertexAttribPointer(",[$r,Pa,Ma,qt.normalized,qt.stride,qt.offset],");",Ai,".type=",Ma,";",Ai,".size=",Pa,";",sn.map(function(Sn){return Ai+"."+Sn+"="+qt[Sn]+";"}).join(""),"}"),ba){var Ka=qt.divisor;Et("if(",Ai,".divisor!==",Ka,"){",mt.instancing,".vertexAttribDivisorANGLE(",[$r,Ka],");",Ai,".divisor=",Ka,";}")}}function ma(){Et("if(",Ai,".buffer){",zr,".disableVertexAttribArray(",$r,");",Ai,".buffer=null;","}if(",go.map(function(Ma,Pa){return Ai+"."+Ma+"!=="+fa[Pa]}).join("||"),"){",zr,".vertexAttrib4f(",$r,",",fa,");",go.map(function(Ma,Pa){return Ai+"."+Ma+"="+fa[Pa]+";"}).join(""),"}")}wa===yo?Ga():wa===Io?ma():(Et("if(",wa,"===",yo,"){"),Ga(),Et("}else{"),ma(),Et("}"))}or.forEach(function(Gt){var lr=Gt.name,qt=Bt.attributes[lr],zr;if(qt){if(!dr(qt))return;zr=qt.append(mt,Et)}else{if(!dr(Yn))return;var $r=mt.scopeAttrib(lr);zr={},Object.keys(new zi).forEach(function(Ai){zr[Ai]=Et.def($r,".",Ai)})}cr(mt.link(Gt),pr(Gt.info.type),zr)})}function K(mt,Et,Bt,or,dr,ur){for(var pr=mt.shared,cr=pr.gl,Gt,lr=0;lr1){for(var os=[],Xs=[],ts=0;ts>1)",Ji],");")}function Ka(){Bt(fa,".drawArraysInstancedANGLE(",[$r,Ai,wa,Ji],");")}qt&&qt!=="null"?Ga?Pa():(Bt("if(",qt,"){"),Pa(),Bt("}else{"),Ka(),Bt("}")):Ka()}function Ma(){function Pa(){Bt(ur+".drawElements("+[$r,wa,sn,Ai+"<<(("+sn+"-"+wo+")>>1)"]+");")}function Ka(){Bt(ur+".drawArrays("+[$r,Ai,wa]+");")}qt&&qt!=="null"?Ga?Pa():(Bt("if(",qt,"){"),Pa(),Bt("}else{"),Ka(),Bt("}")):Ka()}ba&&(typeof Ji!="number"||Ji>=0)?typeof Ji=="string"?(Bt("if(",Ji,">0){"),ma(),Bt("}else if(",Ji,"<0){"),Ma(),Bt("}")):ma():Ma()}function te(mt,Et,Bt,or,dr){var ur=gn(),pr=ur.proc("body",dr);return ba&&(ur.instancing=pr.def(ur.shared.extensions,".angle_instanced_arrays")),mt(ur,pr,Bt,or),ur.compile().body}function pe(mt,Et,Bt,or){jl(mt,Et),Bt.useVAO?Bt.drawVAO?Et(mt.shared.vao,".setVAO(",Bt.drawVAO.append(mt,Et),");"):Et(mt.shared.vao,".setVAO(",mt.shared.vao,".targetVAO);"):(Et(mt.shared.vao,".setVAO(null);"),ve(mt,Et,Bt,or.attributes,function(){return!0})),K(mt,Et,Bt,or.uniforms,function(){return!0},!1),ge(mt,Et,Et,Bt)}function He(mt,Et){var Bt=mt.proc("draw",1);jl(mt,Bt),il(mt,Bt,Et.context),El(mt,Bt,Et.framebuffer),Dl(mt,Bt,Et),ho(mt,Bt,Et.state),$o(mt,Bt,Et,!1,!0);var or=Et.shader.progVar.append(mt,Bt);if(Bt(mt.shared.gl,".useProgram(",or,".program);"),Et.shader.program)pe(mt,Bt,Et,Et.shader.program);else{Bt(mt.shared.vao,".setVAO(null);");var dr=mt.global.def("{}"),ur=Bt.def(or,".id"),pr=Bt.def(dr,"[",ur,"]");Bt(mt.cond(pr).then(pr,".call(this,a0);").else(pr,"=",dr,"[",ur,"]=",mt.link(function(cr){return te(pe,mt,Et,cr,1)}),"(",or,");",pr,".call(this,a0);"))}Object.keys(Et.state).length>0&&Bt(mt.shared.current,".dirty=true;"),mt.shared.vao&&Bt(mt.shared.vao,".setVAO(null);")}function Ce(mt,Et,Bt,or){mt.batchId="a1",jl(mt,Et);function dr(){return!0}ve(mt,Et,Bt,or.attributes,dr),K(mt,Et,Bt,or.uniforms,dr,!1),ge(mt,Et,Et,Bt)}function Ke(mt,Et,Bt,or){jl(mt,Et);var dr=Bt.contextDep,ur=Et.def(),pr="a0",cr="a1",Gt=Et.def();mt.shared.props=Gt,mt.batchId=ur;var lr=mt.scope(),qt=mt.scope();Et(lr.entry,"for(",ur,"=0;",ur,"<",cr,";++",ur,"){",Gt,"=",pr,"[",ur,"];",qt,"}",lr.exit);function zr(sn){return sn.contextDep&&dr||sn.propDep}function $r(sn){return!zr(sn)}if(Bt.needsContext&&il(mt,qt,Bt.context),Bt.needsFramebuffer&&El(mt,qt,Bt.framebuffer),ho(mt,qt,Bt.state,zr),Bt.profile&&zr(Bt.profile)&&$o(mt,qt,Bt,!1,!0),or)Bt.useVAO?Bt.drawVAO?zr(Bt.drawVAO)?qt(mt.shared.vao,".setVAO(",Bt.drawVAO.append(mt,qt),");"):lr(mt.shared.vao,".setVAO(",Bt.drawVAO.append(mt,lr),");"):lr(mt.shared.vao,".setVAO(",mt.shared.vao,".targetVAO);"):(lr(mt.shared.vao,".setVAO(null);"),ve(mt,lr,Bt,or.attributes,$r),ve(mt,qt,Bt,or.attributes,zr)),K(mt,lr,Bt,or.uniforms,$r,!1),K(mt,qt,Bt,or.uniforms,zr,!0),ge(mt,lr,qt,Bt);else{var Ai=mt.global.def("{}"),wa=Bt.shader.progVar.append(mt,qt),Ji=qt.def(wa,".id"),fa=qt.def(Ai,"[",Ji,"]");qt(mt.shared.gl,".useProgram(",wa,".program);","if(!",fa,"){",fa,"=",Ai,"[",Ji,"]=",mt.link(function(sn){return te(Ce,mt,Bt,sn,2)}),"(",wa,");}",fa,".call(this,a0[",ur,"],",ur,");")}}function pt(mt,Et){var Bt=mt.proc("batch",2);mt.batchId="0",jl(mt,Bt);var or=!1,dr=!0;Object.keys(Et.context).forEach(function(Ai){or=or||Et.context[Ai].propDep}),or||(il(mt,Bt,Et.context),dr=!1);var ur=Et.framebuffer,pr=!1;ur?(ur.propDep?or=pr=!0:ur.contextDep&&or&&(pr=!0),pr||El(mt,Bt,ur)):El(mt,Bt,null),Et.state.viewport&&Et.state.viewport.propDep&&(or=!0);function cr(Ai){return Ai.contextDep&&or||Ai.propDep}Dl(mt,Bt,Et),ho(mt,Bt,Et.state,function(Ai){return!cr(Ai)}),(!Et.profile||!cr(Et.profile))&&$o(mt,Bt,Et,!1,"a1"),Et.contextDep=or,Et.needsContext=dr,Et.needsFramebuffer=pr;var Gt=Et.shader.progVar;if(Gt.contextDep&&or||Gt.propDep)Ke(mt,Bt,Et,null);else{var lr=Gt.append(mt,Bt);if(Bt(mt.shared.gl,".useProgram(",lr,".program);"),Et.shader.program)Ke(mt,Bt,Et,Et.shader.program);else{Bt(mt.shared.vao,".setVAO(null);");var qt=mt.global.def("{}"),zr=Bt.def(lr,".id"),$r=Bt.def(qt,"[",zr,"]");Bt(mt.cond($r).then($r,".call(this,a0,a1);").else($r,"=",qt,"[",zr,"]=",mt.link(function(Ai){return te(Ke,mt,Et,Ai,2)}),"(",lr,");",$r,".call(this,a0,a1);"))}}Object.keys(Et.state).length>0&&Bt(mt.shared.current,".dirty=true;"),mt.shared.vao&&Bt(mt.shared.vao,".setVAO(null);")}function Ut(mt,Et){var Bt=mt.proc("scope",3);mt.batchId="a2";var or=mt.shared,dr=or.current;if(il(mt,Bt,Et.context),Et.framebuffer&&Et.framebuffer.append(mt,Bt),da(Object.keys(Et.state)).forEach(function(cr){var Gt=Et.state[cr],lr=Gt.append(mt,Bt);Si(lr)?lr.forEach(function(qt,zr){on(qt)?Bt.set(mt.next[cr],"["+zr+"]",qt):Bt.set(mt.next[cr],"["+zr+"]",mt.link(qt,{stable:!0}))}):xn(Gt)?Bt.set(or.next,"."+cr,mt.link(lr,{stable:!0})):Bt.set(or.next,"."+cr,lr)}),$o(mt,Bt,Et,!0,!0),[Qt,Kr,Sr,oi,Ar].forEach(function(cr){var Gt=Et.draw[cr];if(Gt){var lr=Gt.append(mt,Bt);on(lr)?Bt.set(or.draw,"."+cr,lr):Bt.set(or.draw,"."+cr,mt.link(lr),{stable:!0})}}),Object.keys(Et.uniforms).forEach(function(cr){var Gt=Et.uniforms[cr].append(mt,Bt);Array.isArray(Gt)&&(Gt="["+Gt.map(function(lr){return on(lr)?lr:mt.link(lr,{stable:!0})})+"]"),Bt.set(or.uniforms,"["+mt.link(Yt.id(cr),{stable:!0})+"]",Gt)}),Object.keys(Et.attributes).forEach(function(cr){var Gt=Et.attributes[cr].append(mt,Bt),lr=mt.scopeAttrib(cr);Object.keys(new zi).forEach(function(qt){Bt.set(lr,"."+qt,Gt[qt])})}),Et.scopeVAO){var ur=Et.scopeVAO.append(mt,Bt);on(ur)?Bt.set(or.vao,".targetVAO",ur):Bt.set(or.vao,".targetVAO",mt.link(ur,{stable:!0}))}function pr(cr){var Gt=Et.shader[cr];if(Gt){var lr=Gt.append(mt,Bt);on(lr)?Bt.set(or.shader,"."+cr,lr):Bt.set(or.shader,"."+cr,mt.link(lr,{stable:!0}))}}pr(Tt),pr(Ot),Object.keys(Et.state).length>0&&(Bt(dr,".dirty=true;"),Bt.exit(dr,".dirty=true;")),Bt("a1(",mt.shared.context,",a0,",mt.batchId,");")}function Tr(mt){if(!(typeof mt!="object"||Si(mt))){for(var Et=Object.keys(mt),Bt=0;Bt=0;--te){var pe=Pn[te];pe&&pe(Xi,null,0)}hr.flush(),va&&va.update()}function fo(){!Wn&&Pn.length>0&&(Wn=c.next($n))}function Ks(){Wn&&(c.cancel($n),Wn=null)}function Rl(te){te.preventDefault(),Ci=!0,Ks(),Zn.forEach(function(pe){pe()})}function Ro(te){hr.getError(),Ci=!1,Ti.restore(),kn.restore(),ba.restore(),Qi.restore(),Yi.restore(),ln.restore(),Xa.restore(),va&&va.restore(),Va.procs.refresh(),fo(),ja.forEach(function(pe){pe()})}on&&(on.addEventListener(ks,Rl,!1),on.addEventListener(Rs,Ro,!1));function ru(){Pn.length=0,Ks(),on&&(on.removeEventListener(ks,Rl),on.removeEventListener(Rs,Ro)),kn.clear(),ln.clear(),Yi.clear(),Xa.clear(),Qi.clear(),$i.clear(),ba.clear(),va&&va.clear(),gn.forEach(function(te){te()})}function Cs(te){function pe(ur){var pr=p({},ur);delete pr.uniforms,delete pr.attributes,delete pr.context,delete pr.vao,"stencil"in pr&&pr.stencil.op&&(pr.stencil.opBack=pr.stencil.opFront=pr.stencil.op,delete pr.stencil.op);function cr(Gt){if(Gt in pr){var lr=pr[Gt];delete pr[Gt],Object.keys(lr).forEach(function(qt){pr[Gt+"."+qt]=lr[qt]})}}return cr("blend"),cr("depth"),cr("cull"),cr("stencil"),cr("polygonOffset"),cr("scissor"),cr("sample"),"vao"in ur&&(pr.vao=ur.vao),pr}function He(ur,pr){var cr={},Gt={};return Object.keys(ur).forEach(function(lr){var qt=ur[lr];if(h.isDynamic(qt)){Gt[lr]=h.unbox(qt,lr);return}else if(pr&&Array.isArray(qt)){for(var zr=0;zr0)return mt.call(this,or(ur|0),ur|0)}else if(Array.isArray(ur)){if(ur.length)return mt.call(this,ur,ur.length)}else return vr.call(this,ur)}return p(dr,{stats:Tr,destroy:function(){Ur.destroy()}})}var Ol=ln.setFBO=Cs({framebuffer:h.define.call(null,Bl,"framebuffer")});function Ul(te,pe){var He=0;Va.procs.poll();var Ce=pe.color;Ce&&(hr.clearColor(+Ce[0]||0,+Ce[1]||0,+Ce[2]||0,+Ce[3]||0),He|=ml),"depth"in pe&&(hr.clearDepth(+pe.depth),He|=Pl),"stencil"in pe&&(hr.clearStencil(pe.stencil|0),He|=Dn),hr.clear(He)}function cu(te){if("framebuffer"in te)if(te.framebuffer&&te.framebuffer_reglType==="framebufferCube")for(var pe=0;pe<6;++pe)Ol(p({framebuffer:te.framebuffer.faces[pe]},te),Ul);else Ol(te,Ul);else Ul(null,te)}function il(te){Pn.push(te);function pe(){var He=Hl(Pn,te);function Ce(){var Ke=Hl(Pn,Ce);Pn[Ke]=Pn[Pn.length-1],Pn.length-=1,Pn.length<=0&&Ks()}Pn[He]=Ce}return fo(),{cancel:pe}}function El(){var te=Ea.viewport,pe=Ea.scissor_box;te[0]=te[1]=pe[0]=pe[1]=0,Xi.viewportWidth=Xi.framebufferWidth=Xi.drawingBufferWidth=te[2]=pe[2]=hr.drawingBufferWidth,Xi.viewportHeight=Xi.framebufferHeight=Xi.drawingBufferHeight=te[3]=pe[3]=hr.drawingBufferHeight}function Dl(){Xi.tick+=1,Xi.time=jl(),El(),Va.procs.poll()}function ho(){Qi.refresh(),El(),Va.procs.refresh(),va&&va.update()}function jl(){return(m()-Fn)/1e3}ho();function $o(te,pe){var He;switch(te){case"frame":return il(pe);case"lost":He=Zn;break;case"restore":He=ja;break;case"destroy":He=gn;break;default:}return He.push(pe),{cancel:function(){for(var Ce=0;Ce=0},read:La,destroy:ru,_gl:hr,_refresh:ho,poll:function(){Dl(),va&&va.update()},now:jl,stats:ia,getCachedCode:ve,preloadCachedCode:K});return Yt.onDone(null,ge),ge}return Tc})}}),G8=De({"node_modules/gl-util/context.js"(Y,H){"use strict";var p=Nv();H.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=p(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 i=document.querySelector(o.container);if(!i)throw Error("Element "+o.container+" is not found");o.container=i}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}}}),W8=De({"node_modules/font-atlas/index.js"(Y,H){"use strict";var p=G5(),x=[32,126];H.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],i=E.chars||x;if(r&&typeof r!="string"&&(r=p(r)),!Array.isArray(i))i=String(i).split("");else if(i.length===2&&typeof i[0]=="number"&&typeof i[1]=="number"){for(var n=[],a=i[0],s=0;a<=i[1];a++)n[s++]=String.fromCharCode(a);i=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,a=0;ae[0]-o[0]/2&&(c=o[0]/2,m+=o[1]);return t}}}),W5=De({"node_modules/bit-twiddle/twiddle.js"(Y){"use strict";"use restrict";var H=32;Y.INT_BITS=H,Y.INT_MAX=2147483647,Y.INT_MIN=-1<0)-(S<0)},Y.abs=function(S){var E=S>>H-1;return(S^E)-E},Y.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},Y.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},Y.popCount=function(S){return S=S-(S>>>1&1431655765),S=(S&858993459)+(S>>>2&858993459),(S+(S>>>4)&252645135)*16843009>>>24};function p(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}Y.countTrailingZeros=p,Y.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},Y.prevPow2=function(S){return S|=S>>>1,S|=S>>>2,S|=S>>>4,S|=S>>>8,S|=S>>>16,S-(S>>>1)},Y.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]},Y.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},Y.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},Y.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},Y.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},Y.nextCombination=function(S){var E=S|S-1;return E+1|(~E&-~E)-1>>>p(S)+1}}}),X8=De({"node_modules/dup/dup.js"(Y,H){"use strict";function p(E,e,t){var r=E[t]|0;if(r<=0)return[];var o=new Array(r),i;if(t===E.length-1)for(i=0;i"u"&&(e=0),typeof E){case"number":if(E>0)return x(E|0,e);break;case"object":if(typeof E.length=="number")return p(E,e,0);break}return[]}H.exports=S}}),Y8=De({"node_modules/typedarray-pool/pool.js"(Y){"use strict";var H=W5(),p=X8(),x=X0().Buffer;window.__TYPEDARRAY_POOL||(window.__TYPEDARRAY_POOL={UINT8:p([32,0]),UINT16:p([32,0]),UINT32:p([32,0]),BIGUINT64:p([32,0]),INT8:p([32,0]),INT16:p([32,0]),INT32:p([32,0]),BIGINT64:p([32,0]),FLOAT:p([32,0]),DOUBLE:p([32,0]),DATA:p([32,0]),UINT8C:p([32,0]),BUFFER:p([32,0])});var S=typeof Uint8ClampedArray<"u",E=typeof BigUint64Array<"u",e=typeof BigInt64Array<"u",t=window.__TYPEDARRAY_POOL;t.UINT8C||(t.UINT8C=p([32,0])),t.BIGUINT64||(t.BIGUINT64=p([32,0])),t.BIGINT64||(t.BIGINT64=p([32,0])),t.BUFFER||(t.BUFFER=p([32,0]));var r=t.DATA,o=t.BUFFER;Y.free=function(u){if(x.isBuffer(u))o[H.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=H.log2(y)|0;r[f].push(u)}};function i(v){if(v){var u=v.length||v.byteLength,y=H.log2(u);r[y].push(v)}}function n(v){i(v.buffer)}Y.freeUint8=Y.freeUint16=Y.freeUint32=Y.freeBigUint64=Y.freeInt8=Y.freeInt16=Y.freeInt32=Y.freeBigInt64=Y.freeFloat32=Y.freeFloat=Y.freeFloat64=Y.freeDouble=Y.freeUint8Clamped=Y.freeDataView=n,Y.freeArrayBuffer=i,Y.freeBuffer=function(u){o[H.log2(u.length)].push(u)},Y.malloc=function(u,y){if(y===void 0||y==="arraybuffer")return a(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 d(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 a(u){var u=H.nextPow2(u),y=H.log2(u),f=r[y];return f.length>0?f.pop():new ArrayBuffer(u)}Y.mallocArrayBuffer=a;function s(v){return new Uint8Array(a(v),0,v)}Y.mallocUint8=s;function h(v){return new Uint16Array(a(2*v),0,v)}Y.mallocUint16=h;function c(v){return new Uint32Array(a(4*v),0,v)}Y.mallocUint32=c;function m(v){return new Int8Array(a(v),0,v)}Y.mallocInt8=m;function d(v){return new Int16Array(a(2*v),0,v)}Y.mallocInt16=d;function T(v){return new Int32Array(a(4*v),0,v)}Y.mallocInt32=T;function l(v){return new Float32Array(a(4*v),0,v)}Y.mallocFloat32=Y.mallocFloat=l;function _(v){return new Float64Array(a(8*v),0,v)}Y.mallocFloat64=Y.mallocDouble=_;function w(v){return S?new Uint8ClampedArray(a(v),0,v):s(v)}Y.mallocUint8Clamped=w;function A(v){return E?new BigUint64Array(a(8*v),0,v):null}Y.mallocBigUint64=A;function M(v){return e?new BigInt64Array(a(8*v),0,v):null}Y.mallocBigInt64=M;function g(v){return new DataView(a(v),0,v)}Y.mallocDataView=g;function b(v){v=H.nextPow2(v);var u=H.log2(v),y=o[u];return y.length>0?y.pop():new x(v)}Y.mallocBuffer=b,Y.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}}}),Z8=De({"node_modules/is-plain-obj/index.js"(Y,H){"use strict";var p=Object.prototype.toString;H.exports=function(x){var S;return p.call(x)==="[object Object]"&&(S=Object.getPrototypeOf(x),S===null||S===Object.getPrototypeOf({}))}}}),X5=De({"node_modules/parse-unit/index.js"(Y,H){H.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}}}),K8=De({"node_modules/to-px/topx.js"(Y,H){"use strict";var p=X5();H.exports=e;var x=96;function S(t,r){var o=p(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 i=S(o,"font-size")/128;return r.removeChild(o),i}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}}}),$8=De({"node_modules/detect-kerning/index.js"(Y,H){"use strict";H.exports=E;var p=E.canvas=document.createElement("canvas"),x=p.getContext("2d"),S=e([32,126]);E.createPairs=e,E.ascii=S;function E(t,r){Array.isArray(t)&&(t=t.join(", "));var o={},i,n=16,a=.05;r&&(r.length===2&&typeof r[0]=="number"?i=e(r):Array.isArray(r)?i=r:(r.o?i=e(r.o):r.pairs&&(i=r.pairs),r.fontSize&&(n=r.fontSize),r.threshold!=null&&(a=r.threshold))),i||(i=S),x.font=n+"px "+t;for(var s=0;sn*a){var d=(m-c)/n;o[h]=d*1e3}}return o}function e(t){for(var r=[],o=t[0];o<=t[1];o++)for(var i=String.fromCharCode(o),n=t[0];n0;o-=4)if(r[o]!==0)return Math.floor((o-3)*.25/t)}}}),Q8=De({"node_modules/gl-text/dist.js"(Y,H){"use strict";var p=q8(),x=Nv(),S=H8(),E=G8(),e=B5(),t=a0(),r=W8(),o=Y8(),i=Tg(),n=Z8(),a=X5(),s=K8(),h=$8(),c=ih(),m=J8(),d=lm(),T=W5(),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(v){g(v)?(v={regl:v},this.gl=v.regl._gl):this.gl=E(v),this.shader=_.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=v.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(v)?v:{})};M.prototype.createShader=function(){var v=this.regl,u=v({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:v.prop("count"),offset:v.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:v.this("sizeBuffer")},width:{offset:0,stride:8,buffer:v.this("sizeBuffer")},char:v.this("charBuffer"),position:v.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:v.prop("color"),opacity:v.prop("opacity"),viewport:v.this("viewportArray"),scale:v.this("scale"),align:v.prop("align"),baseline:v.prop("baseline"),translate:v.this("translate"),positionOffset:v.prop("positionOffset")},primitive:"points",viewport:v.this("viewport"),vert:` - precision highp float; - attribute float width, charOffset, char; - attribute vec2 position; - uniform float fontSize, charStep, em, align, baseline; - uniform vec4 viewport; - uniform vec4 color; - uniform vec2 atlasSize, atlasDim, scale, translate, positionOffset; - varying vec2 charCoord, charId; - varying float charWidth; - varying vec4 fontColor; - void main () { - vec2 offset = floor(em * (vec2(align + charOffset, baseline) - + vec2(positionOffset.x, -positionOffset.y))) - / (viewport.zw * scale.xy); - - vec2 position = (position + translate) * scale; - position += offset * scale; - - charCoord = position * viewport.zw + viewport.xy; - - gl_Position = vec4(position * 2. - 1., 0, 1); - - gl_PointSize = charStep; - - charId.x = mod(char, atlasDim.x); - charId.y = floor(char / atlasDim.x); - - charWidth = width * em; - - fontColor = color / 255.; - }`,frag:` - precision highp float; - uniform float fontSize, charStep, opacity; - uniform vec2 atlasSize; - uniform vec4 viewport; - uniform sampler2D atlas; - varying vec4 fontColor; - varying vec2 charCoord, charId; - varying float charWidth; - - float lightness(vec4 color) { - return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; - } - - void main () { - vec2 uv = gl_FragCoord.xy - charCoord + charStep * .5; - float halfCharStep = floor(charStep * .5 + .5); - - // invert y and shift by 1px (FF expecially needs that) - uv.y = charStep - uv.y; - - // ignore points outside of character bounding box - float halfCharWidth = ceil(charWidth * .5); - if (floor(uv.x) > halfCharStep + halfCharWidth || - floor(uv.x) < halfCharStep - halfCharWidth) return; - - uv += charId * charStep; - uv = uv / atlasSize; - - vec4 color = fontColor; - vec4 mask = texture2D(atlas, uv); - - float maskY = lightness(mask); - // float colorY = lightness(color); - color.a *= maskY; - color.a *= opacity; - - // color.a += .1; - - // antialiasing, see yiq color space y-channel formula - // color.rgb += (1. - color.rgb) * (1. - mask.rgb); - - gl_FragColor = color; - }`}),y={};return{regl:v,draw:u,atlas:y}},M.prototype.update=function(v){var u=this;if(typeof v=="string")v={text:v};else if(!v)return;v=x(v,{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),v.opacity!=null&&(Array.isArray(v.opacity)?this.opacity=v.opacity.map(function(fe){return parseFloat(fe)}):this.opacity=parseFloat(v.opacity)),v.viewport!=null&&(this.viewport=i(v.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]),v.kerning!=null&&(this.kerning=v.kerning),v.offset!=null&&(typeof v.offset=="number"&&(v.offset=[v.offset,0]),this.positionOffset=d(v.offset)),v.direction&&(this.direction=v.direction),v.range&&(this.range=v.range,this.scale=[1/(v.range[2]-v.range[0]),1/(v.range[3]-v.range[1])],this.translate=[-v.range[0],-v.range[1]]),v.scale&&(this.scale=v.scale),v.translate&&(this.translate=v.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),!this.font.length&&!v.font&&(v.font=M.baseFontSize+"px sans-serif");var y=!1,f=!1;if(v.font&&(Array.isArray(v.font)?v.font:[v.font]).forEach(function(fe,Be){if(typeof fe=="string")try{fe=p.parse(fe)}catch{fe=p.parse(M.baseFontSize+"px "+fe)}else{var Qe=fe.style,at=fe.weight,$e=fe.stretch,It=fe.variant;fe=p.parse(p.stringify(fe)),Qe&&(fe.style=Qe),at&&(fe.weight=at),$e&&(fe.stretch=$e),It&&(fe.variant=It)}var Pt=p.stringify({size:M.baseFontSize,family:fe.family,stretch:w?fe.stretch:void 0,variant:fe.variant,weight:fe.weight,style:fe.style}),Vt=a(fe.size),Wt=Math.round(Vt[0]*s(Vt[1]));if(Wt!==u.fontSize[Be]&&(f=!0,u.fontSize[Be]=Wt),(!u.font[Be]||Pt!=u.font[Be].baseString)&&(y=!0,u.font[Be]=M.fonts[Pt],!u.font[Be])){var Cr=fe.family.join(", "),yr=[fe.style];fe.style!=fe.variant&&yr.push(fe.variant),fe.variant!=fe.weight&&yr.push(fe.weight),w&&fe.weight!=fe.stretch&&yr.push(fe.stretch),u.font[Be]={baseString:Pt,family:Cr,weight:fe.weight,stretch:fe.stretch,style:fe.style,variant:fe.variant,width:{},kerning:{},metrics:m(Cr,{origin:"top",fontSize:M.baseFontSize,fontStyle:yr.join(" ")})},M.fonts[Pt]=u.font[Be]}}),(y||f)&&this.font.forEach(function(fe,Be){var Qe=p.stringify({size:u.fontSize[Be],family:fe.family,stretch:w?fe.stretch:void 0,variant:fe.variant,weight:fe.weight,style:fe.style});if(u.fontAtlas[Be]=u.shader.atlas[Qe],!u.fontAtlas[Be]){var at=fe.metrics;u.shader.atlas[Qe]=u.fontAtlas[Be]={fontString:Qe,step:Math.ceil(u.fontSize[Be]*at.bottom*.5)*2,em:u.fontSize[Be],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:u.regl.texture()}}v.text==null&&(v.text=u.text)}),typeof v.text=="string"&&v.position&&v.position.length>2){for(var R=Array(v.position.length*.5),L=0;L2){for(var N=!v.position[0].length,B=o.mallocFloat(this.count*2),I=0,U=0;I1?u.align[Be]:u.align[0]:u.align;if(typeof Qe=="number")return Qe;switch(Qe){case"right":case"end":return-fe;case"center":case"centre":case"middle":return-fe*.5}return 0})),this.baseline==null&&v.baseline==null&&(v.baseline=0),v.baseline!=null&&(this.baseline=v.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map(function(fe,Be){var Qe=(u.font[Be]||u.font[0]).metrics,at=0;return at+=Qe.bottom*.5,typeof fe=="number"?at+=fe-Qe.baseline:at+=-Qe[fe],at*=-1,at})),v.color!=null)if(v.color||(v.color="transparent"),typeof v.color=="string"||!isNaN(v.color))this.color=t(v.color,"uint8");else{var Re;if(typeof v.color[0]=="number"&&v.color.length>this.counts.length){var ze=v.color.length;Re=o.mallocUint8(ze);for(var Xe=(v.color.subarray||v.color.slice).bind(v.color),tt=0;tt4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2;if(nt){var Ae=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(Ae);for(var me=0;me1?this.counts[me]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[me]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(me*4,me*4+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[me]:this.opacity,baseline:this.baselineOffset[me]!=null?this.baselineOffset[me]:this.baselineOffset[0],align:this.align?this.alignOffset[me]!=null?this.alignOffset[me]:this.alignOffset[0]:0,atlas:this.fontAtlas[me]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(me*2,me*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}H.exports=M}}),eR=De({"node_modules/@plotly/regl/dist/regl.unchecked.js"(Y,H){(function(p,x){typeof Y=="object"&&typeof H<"u"?H.exports=x():p.createREGL=x()})(Y,function(){"use strict";var p=function(rt,Yt){for(var hr=Object.keys(Yt),li=0;li1&&Yt===hr&&(Yt==='"'||Yt==="'"))return['"'+r(rt.substr(1,rt.length-2))+'"'];var li=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(rt);if(li)return o(rt.substr(0,li.index)).concat(o(li[1])).concat(o(rt.substr(li.index+li[0].length)));var Ci=rt.split(".");if(Ci.length===1)return['"'+r(rt)+'"'];for(var Ti=[],Mi=0;Mi"u"?1:window.devicePixelRatio,va=!1,Fn={},Ha=function(ei){},Da=function(){};if(typeof Yt=="string"?hr=document.querySelector(Yt):typeof Yt=="object"&&(_(Yt)?hr=Yt:w(Yt)?(Ti=Yt,Ci=Ti.canvas):("gl"in Yt?Ti=Yt.gl:"canvas"in Yt?Ci=M(Yt.canvas):"container"in Yt&&(li=M(Yt.container)),"attributes"in Yt&&(Mi=Yt.attributes),"extensions"in Yt&&(ia=A(Yt.extensions)),"optionalExtensions"in Yt&&(ka=A(Yt.optionalExtensions)),"onDone"in Yt&&(Ha=Yt.onDone),"profile"in Yt&&(va=!!Yt.profile),"pixelRatio"in Yt&&(Sa=+Yt.pixelRatio),"cachedCode"in Yt&&(Fn=Yt.cachedCode))),hr&&(hr.nodeName.toLowerCase()==="canvas"?Ci=hr:li=hr),!Ti){if(!Ci){var Xi=T(li||document.body,Ha,Sa);if(!Xi)return null;Ci=Xi.canvas,Da=Xi.onDestroy}Mi.premultipliedAlpha===void 0&&(Mi.premultipliedAlpha=!0),Ti=l(Ci,Mi)}return Ti?{gl:Ti,canvas:Ci,container:li,extensions:ia,optionalExtensions:ka,pixelRatio:Sa,profile:va,cachedCode:Fn,onDone:Ha,onDestroy:Da}:(Da(),Ha("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}function b(rt,Yt){var hr={};function li(Mi){var ia=Mi.toLowerCase(),ka;try{ka=hr[ia]=rt.getExtension(ia)}catch{}return!!ka}for(var Ci=0;Ci65535)<<4,rt>>>=Yt,hr=(rt>255)<<3,rt>>>=hr,Yt|=hr,hr=(rt>15)<<2,rt>>>=hr,Yt|=hr,hr=(rt>3)<<1,rt>>>=hr,Yt|=hr,Yt|rt>>1}function I(){var rt=v(8,function(){return[]});function Yt(Ti){var Mi=N(Ti),ia=rt[B(Mi)>>2];return ia.length>0?ia.pop():new ArrayBuffer(Mi)}function hr(Ti){rt[B(Ti.byteLength)>>2].push(Ti)}function li(Ti,Mi){var ia=null;switch(Ti){case u:ia=new Int8Array(Yt(Mi),0,Mi);break;case y:ia=new Uint8Array(Yt(Mi),0,Mi);break;case f:ia=new Int16Array(Yt(2*Mi),0,Mi);break;case R:ia=new Uint16Array(Yt(2*Mi),0,Mi);break;case L:ia=new Int32Array(Yt(4*Mi),0,Mi);break;case z:ia=new Uint32Array(Yt(4*Mi),0,Mi);break;case F:ia=new Float32Array(Yt(4*Mi),0,Mi);break;default:return null}return ia.length!==Mi?ia.subarray(0,Mi):ia}function Ci(Ti){hr(Ti.buffer)}return{alloc:Yt,free:hr,allocType:li,freeType:Ci}}var U=I();U.zero=I();var O=3408,X=3410,J=3411,se=3412,le=3413,ce=3414,q=3415,Z=33901,ee=33902,V=3379,oe=3386,ie=34921,j=36347,Q=36348,re=35661,ue=35660,_e=34930,we=36349,Re=34076,ze=34024,Xe=7936,tt=7937,it=7938,et=35724,nt=34047,Ae=36063,me=34852,fe=3553,Be=34067,Qe=34069,at=33984,$e=6408,It=5126,Pt=5121,Vt=36160,Wt=36053,Cr=36064,yr=16384,qr=function(rt,Yt){var hr=1;Yt.ext_texture_filter_anisotropic&&(hr=rt.getParameter(nt));var li=1,Ci=1;Yt.webgl_draw_buffers&&(li=rt.getParameter(me),Ci=rt.getParameter(Ae));var Ti=!!Yt.oes_texture_float;if(Ti){var Mi=rt.createTexture();rt.bindTexture(fe,Mi),rt.texImage2D(fe,0,$e,1,1,0,$e,It,null);var ia=rt.createFramebuffer();if(rt.bindFramebuffer(Vt,ia),rt.framebufferTexture2D(Vt,Cr,fe,Mi,0),rt.bindTexture(fe,null),rt.checkFramebufferStatus(Vt)!==Wt)Ti=!1;else{rt.viewport(0,0,1,1),rt.clearColor(1,0,0,1),rt.clear(yr);var ka=U.allocType(It,4);rt.readPixels(0,0,1,1,$e,It,ka),rt.getError()?Ti=!1:(rt.deleteFramebuffer(ia),rt.deleteTexture(Mi),Ti=ka[0]===1),U.freeType(ka)}}var Sa=typeof navigator<"u"&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),va=!0;if(!Sa){var Fn=rt.createTexture(),Ha=U.allocType(Pt,36);rt.activeTexture(at),rt.bindTexture(Be,Fn),rt.texImage2D(Qe,0,$e,3,3,0,$e,Pt,Ha),U.freeType(Ha),rt.bindTexture(Be,null),rt.deleteTexture(Fn),va=!rt.getError()}return{colorBits:[rt.getParameter(X),rt.getParameter(J),rt.getParameter(se),rt.getParameter(le)],depthBits:rt.getParameter(ce),stencilBits:rt.getParameter(q),subpixelBits:rt.getParameter(O),extensions:Object.keys(Yt).filter(function(Da){return!!Yt[Da]}),maxAnisotropic:hr,maxDrawbuffers:li,maxColorAttachments:Ci,pointSizeDims:rt.getParameter(Z),lineWidthDims:rt.getParameter(ee),maxViewportDims:rt.getParameter(oe),maxCombinedTextureUnits:rt.getParameter(re),maxCubeMapSize:rt.getParameter(Re),maxRenderbufferSize:rt.getParameter(ze),maxTextureUnits:rt.getParameter(_e),maxTextureSize:rt.getParameter(V),maxAttributes:rt.getParameter(ie),maxVertexUniforms:rt.getParameter(j),maxVertexTextureUnits:rt.getParameter(ue),maxVaryingVectors:rt.getParameter(Q),maxFragmentUniforms:rt.getParameter(we),glsl:rt.getParameter(et),renderer:rt.getParameter(tt),vendor:rt.getParameter(Xe),version:rt.getParameter(it),readFloat:Ti,npotTextureCube:va}},Mr=function(rt){return rt instanceof Uint8Array||rt instanceof Uint16Array||rt instanceof Uint32Array||rt instanceof Int8Array||rt instanceof Int16Array||rt instanceof Int32Array||rt instanceof Float32Array||rt instanceof Float64Array||rt instanceof Uint8ClampedArray};function Dr(rt){return!!rt&&typeof rt=="object"&&Array.isArray(rt.shape)&&Array.isArray(rt.stride)&&typeof rt.offset=="number"&&rt.shape.length===rt.stride.length&&(Array.isArray(rt.data)||Mr(rt.data))}var xt=function(rt){return Object.keys(rt).map(function(Yt){return rt[Yt]})},Ne={shape:Me,flatten:ke};function Ye(rt,Yt,hr){for(var li=0;li0){var kn;if(Array.isArray(zi[0])){Oa=Bi(zi);for(var Qi=1,Yi=1;Yi0){if(typeof Qi[0]=="number"){var La=U.allocType($i.dtype,Qi.length);Br(La,Qi),Oa(La,ln),U.freeType(La)}else if(Array.isArray(Qi[0])||Mr(Qi[0])){Va=Bi(Qi);var Ea=ea(Qi,Va,$i.dtype);Oa(Ea,ln),U.freeType(Ea)}}}else if(Dr(Qi)){Va=Qi.shape;var on=Qi.stride,Pn=0,Zn=0,ja=0,gn=0;Va.length===1?(Pn=Va[0],Zn=1,ja=on[0],gn=0):Va.length===2&&(Pn=Va[0],Zn=Va[1],ja=on[0],gn=on[1]);var Wn=Array.isArray(Qi.data)?$i.dtype:Jt(Qi.data),$n=U.allocType(Wn,Pn*Zn);ri($n,Qi.data,Pn,Zn,ja,gn,Qi.offset),Oa($n,ln),U.freeType($n)}return Xa}return la||Xa(ei),Xa._reglType="buffer",Xa._buffer=$i,Xa.subdata=kn,hr.profile&&(Xa.stats=$i.stats),Xa.destroy=function(){Ha($i)},Xa}function Xi(){xt(Ti).forEach(function(ei){ei.buffer=rt.createBuffer(),rt.bindBuffer(ei.type,ei.buffer),rt.bufferData(ei.type,ei.persistentData||ei.byteLength,ei.usage)})}return hr.profile&&(Yt.getTotalBufferSize=function(){var ei=0;return Object.keys(Ti).forEach(function(zi){ei+=Ti[zi].stats.size}),ei}),{create:Da,createStream:ka,destroyStream:Sa,clear:function(){xt(Ti).forEach(Ha),ia.forEach(Ha)},getBuffer:function(ei){return ei&&ei._buffer instanceof Mi?ei._buffer:null},restore:Xi,_initBuffer:Fn}}var di=0,Wi=0,oa=1,ra=1,ca=4,xa=4,ji={points:di,point:Wi,lines:oa,line:ra,triangles:ca,triangle:xa,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},pn=0,_n=1,En=4,bt=5120,st=5121,Nr=5122,Lr=5123,br=5124,Rr=5125,jr=34963,Wr=35040,yt=35044;function Xt(rt,Yt,hr,li){var Ci={},Ti=0,Mi={uint8:st,uint16:Lr};Yt.oes_element_index_uint&&(Mi.uint32=Rr);function ia(Xi){this.id=Ti++,Ci[this.id]=this,this.buffer=Xi,this.primType=En,this.vertCount=0,this.type=0}ia.prototype.bind=function(){this.buffer.bind()};var ka=[];function Sa(Xi){var ei=ka.pop();return ei||(ei=new ia(hr.create(null,jr,!0,!1)._buffer)),Fn(ei,Xi,Wr,-1,-1,0,0),ei}function va(Xi){ka.push(Xi)}function Fn(Xi,ei,zi,la,ba,$i,Xa){Xi.buffer.bind();var Oa;if(ei){var kn=Xa;!Xa&&(!Mr(ei)||Dr(ei)&&!Mr(ei.data))&&(kn=Yt.oes_element_index_uint?Rr:Lr),hr._initBuffer(Xi.buffer,ei,zi,kn,3)}else rt.bufferData(jr,$i,zi),Xi.buffer.dtype=Oa||st,Xi.buffer.usage=zi,Xi.buffer.dimension=3,Xi.buffer.byteLength=$i;if(Oa=Xa,!Xa){switch(Xi.buffer.dtype){case st:case bt:Oa=st;break;case Lr:case Nr:Oa=Lr;break;case Rr:case br:Oa=Rr;break;default:}Xi.buffer.dtype=Oa}Xi.type=Oa;var Qi=ba;Qi<0&&(Qi=Xi.buffer.byteLength,Oa===Lr?Qi>>=1:Oa===Rr&&(Qi>>=2)),Xi.vertCount=Qi;var Yi=la;if(la<0){Yi=En;var ln=Xi.buffer.dimension;ln===1&&(Yi=pn),ln===2&&(Yi=_n),ln===3&&(Yi=En)}Xi.primType=Yi}function Ha(Xi){li.elementsCount--,delete Ci[Xi.id],Xi.buffer.destroy(),Xi.buffer=null}function Da(Xi,ei){var zi=hr.create(null,jr,!0),la=new ia(zi._buffer);li.elementsCount++;function ba($i){if(!$i)zi(),la.primType=En,la.vertCount=0,la.type=st;else if(typeof $i=="number")zi($i),la.primType=En,la.vertCount=$i|0,la.type=st;else{var Xa=null,Oa=yt,kn=-1,Qi=-1,Yi=0,ln=0;Array.isArray($i)||Mr($i)||Dr($i)?Xa=$i:("data"in $i&&(Xa=$i.data),"usage"in $i&&(Oa=Ki[$i.usage]),"primitive"in $i&&(kn=ji[$i.primitive]),"count"in $i&&(Qi=$i.count|0),"type"in $i&&(ln=Mi[$i.type]),"length"in $i?Yi=$i.length|0:(Yi=Qi,ln===Lr||ln===Nr?Yi*=2:(ln===Rr||ln===br)&&(Yi*=4))),Fn(la,Xa,Oa,kn,Qi,Yi,ln)}return ba}return ba(Xi),ba._reglType="elements",ba._elements=la,ba.subdata=function($i,Xa){return zi.subdata($i,Xa),ba},ba.destroy=function(){Ha(la)},ba}return{create:Da,createStream:Sa,destroyStream:va,getElements:function(Xi){return typeof Xi=="function"&&Xi._elements instanceof ia?Xi._elements:null},clear:function(){xt(Ci).forEach(Ha)}}}var mr=new Float32Array(1),Or=new Uint32Array(mr.buffer),ki=5123;function Ni(rt){for(var Yt=U.allocType(ki,rt.length),hr=0;hr>>31<<15,Ti=(li<<1>>>24)-127,Mi=li>>13&1023;if(Ti<-24)Yt[hr]=Ci;else if(Ti<-14){var ia=-14-Ti;Yt[hr]=Ci+(Mi+1024>>ia)}else Ti>15?Yt[hr]=Ci+31744:Yt[hr]=Ci+(Ti+15<<10)+Mi}return Yt}function Si(rt){return Array.isArray(rt)||Mr(rt)}var fi=34467,Li=3553,Ia=34067,Fa=34069,un=6408,Bn=6406,Kn=6407,Gn=6409,eo=6410,Ao=32854,An=32855,Eo=36194,fs=32819,Ls=32820,ns=33635,uo=34042,ss=6402,xs=34041,el=35904,Ss=35906,Co=36193,ao=33776,co=33777,Ms=33778,Gs=33779,ul=35986,hs=35987,rn=34798,Xn=35840,tl=35841,zs=35842,so=35843,$s=36196,Ps=5121,nl=5123,yl=5125,On=5126,Ko=10242,jo=10243,Ys=10497,Tu=33071,Lo=33648,al=10240,kl=10241,Ns=9728,rl=9729,Es=9984,Us=9985,Zl=9986,pu=9987,kc=33170,Au=4352,Sf=4353,Gc=4354,Js=34046,yc=3317,Zc=37440,mu=37441,Vl=37443,lc=37444,Gu=33984,_l=[Es,Zl,Us,pu],Cl=[0,Gn,eo,Kn,un],Fs={};Fs[Gn]=Fs[Bn]=Fs[ss]=1,Fs[xs]=Fs[eo]=2,Fs[Kn]=Fs[el]=3,Fs[un]=Fs[Ss]=4;function ol(rt){return"[object "+rt+"]"}var uc=ol("HTMLCanvasElement"),Kl=ol("OffscreenCanvas"),Zu=ol("CanvasRenderingContext2D"),Sl=ol("ImageBitmap"),vh=ol("HTMLImageElement"),ws=ol("HTMLVideoElement"),ph=Object.keys(Le).concat([uc,Kl,Zu,Sl,vh,ws]),qs=[];qs[Ps]=1,qs[On]=4,qs[Co]=2,qs[nl]=2,qs[yl]=4;var xo=[];xo[Ao]=2,xo[An]=2,xo[Eo]=2,xo[xs]=4,xo[ao]=.5,xo[co]=.5,xo[Ms]=1,xo[Gs]=1,xo[ul]=.5,xo[hs]=1,xo[rn]=1,xo[Xn]=.5,xo[tl]=.25,xo[zs]=.5,xo[so]=.25,xo[$s]=.5;function Kc(rt){return Array.isArray(rt)&&(rt.length===0||typeof rt[0]=="number")}function Ku(rt){if(!Array.isArray(rt))return!1;var Yt=rt.length;return!(Yt===0||!Si(rt[0]))}function $l(rt){return Object.prototype.toString.call(rt)}function Mf(rt){return $l(rt)===uc}function Cc(rt){return $l(rt)===Kl}function uf(rt){return $l(rt)===Zu}function su(rt){return $l(rt)===Sl}function Wf(rt){return $l(rt)===vh}function Rf(rt){return $l(rt)===ws}function cf(rt){if(!rt)return!1;var Yt=$l(rt);return ph.indexOf(Yt)>=0?!0:Kc(rt)||Ku(rt)||Dr(rt)}function Wc(rt){return Le[Object.prototype.toString.call(rt)]|0}function Df(rt,Yt){var hr=Yt.length;switch(rt.type){case Ps:case nl:case yl:case On:var li=U.allocType(rt.type,hr);li.set(Yt),rt.data=li;break;case Co:rt.data=Ni(Yt);break;default:}}function zf(rt,Yt){return U.allocType(rt.type===Co?On:rt.type,Yt)}function $u(rt,Yt){rt.type===Co?(rt.data=Ni(Yt),U.freeType(Yt)):rt.data=Yt}function Ef(rt,Yt,hr,li,Ci,Ti){for(var Mi=rt.width,ia=rt.height,ka=rt.channels,Sa=Mi*ia*ka,va=zf(rt,Sa),Fn=0,Ha=0;Ha=1;)ia+=Mi*ka*ka,ka/=2;return ia}else return Mi*hr*li}function $c(rt,Yt,hr,li,Ci,Ti,Mi){var ia={"don't care":Au,"dont care":Au,nice:Gc,fast:Sf},ka={repeat:Ys,clamp:Tu,mirror:Lo},Sa={nearest:Ns,linear:rl},va=p({mipmap:pu,"nearest mipmap nearest":Es,"linear mipmap nearest":Us,"nearest mipmap linear":Zl,"linear mipmap linear":pu},Sa),Fn={none:0,browser:lc},Ha={uint8:Ps,rgba4:fs,rgb565:ns,"rgb5 a1":Ls},Da={alpha:Bn,luminance:Gn,"luminance alpha":eo,rgb:Kn,rgba:un,rgba4:Ao,"rgb5 a1":An,rgb565:Eo},Xi={};Yt.ext_srgb&&(Da.srgb=el,Da.srgba=Ss),Yt.oes_texture_float&&(Ha.float32=Ha.float=On),Yt.oes_texture_half_float&&(Ha.float16=Ha["half float"]=Co),Yt.webgl_depth_texture&&(p(Da,{depth:ss,"depth stencil":xs}),p(Ha,{uint16:nl,uint32:yl,"depth stencil":uo})),Yt.webgl_compressed_texture_s3tc&&p(Xi,{"rgb s3tc dxt1":ao,"rgba s3tc dxt1":co,"rgba s3tc dxt3":Ms,"rgba s3tc dxt5":Gs}),Yt.webgl_compressed_texture_atc&&p(Xi,{"rgb atc":ul,"rgba atc explicit alpha":hs,"rgba atc interpolated alpha":rn}),Yt.webgl_compressed_texture_pvrtc&&p(Xi,{"rgb pvrtc 4bppv1":Xn,"rgb pvrtc 2bppv1":tl,"rgba pvrtc 4bppv1":zs,"rgba pvrtc 2bppv1":so}),Yt.webgl_compressed_texture_etc1&&(Xi["rgb etc1"]=$s);var ei=Array.prototype.slice.call(rt.getParameter(fi));Object.keys(Xi).forEach(function(Ce){var Ke=Xi[Ce];ei.indexOf(Ke)>=0&&(Da[Ce]=Ke)});var zi=Object.keys(Da);hr.textureFormats=zi;var la=[];Object.keys(Da).forEach(function(Ce){var Ke=Da[Ce];la[Ke]=Ce});var ba=[];Object.keys(Ha).forEach(function(Ce){var Ke=Ha[Ce];ba[Ke]=Ce});var $i=[];Object.keys(Sa).forEach(function(Ce){var Ke=Sa[Ce];$i[Ke]=Ce});var Xa=[];Object.keys(va).forEach(function(Ce){var Ke=va[Ce];Xa[Ke]=Ce});var Oa=[];Object.keys(ka).forEach(function(Ce){var Ke=ka[Ce];Oa[Ke]=Ce});var kn=zi.reduce(function(Ce,Ke){var pt=Da[Ke];return pt===Gn||pt===Bn||pt===Gn||pt===eo||pt===ss||pt===xs||Yt.ext_srgb&&(pt===el||pt===Ss)?Ce[pt]=pt:pt===An||Ke.indexOf("rgba")>=0?Ce[pt]=un:Ce[pt]=Kn,Ce},{});function Qi(){this.internalformat=un,this.format=un,this.type=Ps,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=lc,this.width=0,this.height=0,this.channels=0}function Yi(Ce,Ke){Ce.internalformat=Ke.internalformat,Ce.format=Ke.format,Ce.type=Ke.type,Ce.compressed=Ke.compressed,Ce.premultiplyAlpha=Ke.premultiplyAlpha,Ce.flipY=Ke.flipY,Ce.unpackAlignment=Ke.unpackAlignment,Ce.colorSpace=Ke.colorSpace,Ce.width=Ke.width,Ce.height=Ke.height,Ce.channels=Ke.channels}function ln(Ce,Ke){if(!(typeof Ke!="object"||!Ke)){if("premultiplyAlpha"in Ke&&(Ce.premultiplyAlpha=Ke.premultiplyAlpha),"flipY"in Ke&&(Ce.flipY=Ke.flipY),"alignment"in Ke&&(Ce.unpackAlignment=Ke.alignment),"colorSpace"in Ke&&(Ce.colorSpace=Fn[Ke.colorSpace]),"type"in Ke){var pt=Ke.type;Ce.type=Ha[pt]}var Ut=Ce.width,Tr=Ce.height,Ur=Ce.channels,vr=!1;"shape"in Ke?(Ut=Ke.shape[0],Tr=Ke.shape[1],Ke.shape.length===3&&(Ur=Ke.shape[2],vr=!0)):("radius"in Ke&&(Ut=Tr=Ke.radius),"width"in Ke&&(Ut=Ke.width),"height"in Ke&&(Tr=Ke.height),"channels"in Ke&&(Ur=Ke.channels,vr=!0)),Ce.width=Ut|0,Ce.height=Tr|0,Ce.channels=Ur|0;var mt=!1;if("format"in Ke){var Et=Ke.format,Bt=Ce.internalformat=Da[Et];Ce.format=kn[Bt],Et in Ha&&("type"in Ke||(Ce.type=Ha[Et])),Et in Xi&&(Ce.compressed=!0),mt=!0}!vr&&mt?Ce.channels=Fs[Ce.format]:vr&&!mt&&Ce.channels!==Cl[Ce.format]&&(Ce.format=Ce.internalformat=Cl[Ce.channels])}}function Va(Ce){rt.pixelStorei(Zc,Ce.flipY),rt.pixelStorei(mu,Ce.premultiplyAlpha),rt.pixelStorei(Vl,Ce.colorSpace),rt.pixelStorei(yc,Ce.unpackAlignment)}function La(){Qi.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function Ea(Ce,Ke){var pt=null;if(cf(Ke)?pt=Ke:Ke&&(ln(Ce,Ke),"x"in Ke&&(Ce.xOffset=Ke.x|0),"y"in Ke&&(Ce.yOffset=Ke.y|0),cf(Ke.data)&&(pt=Ke.data)),Ke.copy){var Ut=Ci.viewportWidth,Tr=Ci.viewportHeight;Ce.width=Ce.width||Ut-Ce.xOffset,Ce.height=Ce.height||Tr-Ce.yOffset,Ce.needsCopy=!0}else if(!pt)Ce.width=Ce.width||1,Ce.height=Ce.height||1,Ce.channels=Ce.channels||4;else if(Mr(pt))Ce.channels=Ce.channels||4,Ce.data=pt,!("type"in Ke)&&Ce.type===Ps&&(Ce.type=Wc(pt));else if(Kc(pt))Ce.channels=Ce.channels||4,Df(Ce,pt),Ce.alignment=1,Ce.needsFree=!0;else if(Dr(pt)){var Ur=pt.data;!Array.isArray(Ur)&&Ce.type===Ps&&(Ce.type=Wc(Ur));var vr=pt.shape,mt=pt.stride,Et,Bt,or,dr,ur,pr;vr.length===3?(or=vr[2],pr=mt[2]):(or=1,pr=1),Et=vr[0],Bt=vr[1],dr=mt[0],ur=mt[1],Ce.alignment=1,Ce.width=Et,Ce.height=Bt,Ce.channels=or,Ce.format=Ce.internalformat=Cl[or],Ce.needsFree=!0,Ef(Ce,Ur,dr,ur,pr,pt.offset)}else if(Mf(pt)||Cc(pt)||uf(pt))Mf(pt)||Cc(pt)?Ce.element=pt:Ce.element=pt.canvas,Ce.width=Ce.element.width,Ce.height=Ce.element.height,Ce.channels=4;else if(su(pt))Ce.element=pt,Ce.width=pt.width,Ce.height=pt.height,Ce.channels=4;else if(Wf(pt))Ce.element=pt,Ce.width=pt.naturalWidth,Ce.height=pt.naturalHeight,Ce.channels=4;else if(Rf(pt))Ce.element=pt,Ce.width=pt.videoWidth,Ce.height=pt.videoHeight,Ce.channels=4;else if(Ku(pt)){var cr=Ce.width||pt[0].length,Gt=Ce.height||pt.length,lr=Ce.channels;Si(pt[0][0])?lr=lr||pt[0][0].length:lr=lr||1;for(var qt=Ne.shape(pt),zr=1,$r=0;$r>=Tr,pt.height>>=Tr,Ea(pt,Ut[Tr]),Ce.mipmask|=1<=0&&!("faces"in Ke)&&(Ce.genMipmaps=!0)}if("mag"in Ke){var Ut=Ke.mag;Ce.magFilter=Sa[Ut]}var Tr=Ce.wrapS,Ur=Ce.wrapT;if("wrap"in Ke){var vr=Ke.wrap;typeof vr=="string"?Tr=Ur=ka[vr]:Array.isArray(vr)&&(Tr=ka[vr[0]],Ur=ka[vr[1]])}else{if("wrapS"in Ke){var mt=Ke.wrapS;Tr=ka[mt]}if("wrapT"in Ke){var Et=Ke.wrapT;Ur=ka[Et]}}if(Ce.wrapS=Tr,Ce.wrapT=Ur,"anisotropic"in Ke){var Bt=Ke.anisotropic;Ce.anisotropic=Ke.anisotropic}if("mipmap"in Ke){var or=!1;switch(typeof Ke.mipmap){case"string":Ce.mipmapHint=ia[Ke.mipmap],Ce.genMipmaps=!0,or=!0;break;case"boolean":or=Ce.genMipmaps=Ke.mipmap;break;case"object":Ce.genMipmaps=!1,or=!0;break;default:}or&&!("min"in Ke)&&(Ce.minFilter=Es)}}function Ul(Ce,Ke){rt.texParameteri(Ke,kl,Ce.minFilter),rt.texParameteri(Ke,al,Ce.magFilter),rt.texParameteri(Ke,Ko,Ce.wrapS),rt.texParameteri(Ke,jo,Ce.wrapT),Yt.ext_texture_filter_anisotropic&&rt.texParameteri(Ke,Js,Ce.anisotropic),Ce.genMipmaps&&(rt.hint(kc,Ce.mipmapHint),rt.generateMipmap(Ke))}var cu=0,il={},El=hr.maxTextureUnits,Dl=Array(El).map(function(){return null});function ho(Ce){Qi.call(this),this.mipmask=0,this.internalformat=un,this.id=cu++,this.refCount=1,this.target=Ce,this.texture=rt.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new Cs,Mi.profile&&(this.stats={size:0})}function jl(Ce){rt.activeTexture(Gu),rt.bindTexture(Ce.target,Ce.texture)}function $o(){var Ce=Dl[0];Ce?rt.bindTexture(Ce.target,Ce.texture):rt.bindTexture(Li,null)}function ve(Ce){var Ke=Ce.texture,pt=Ce.unit,Ut=Ce.target;pt>=0&&(rt.activeTexture(Gu+pt),rt.bindTexture(Ut,null),Dl[pt]=null),rt.deleteTexture(Ke),Ce.texture=null,Ce.params=null,Ce.pixels=null,Ce.refCount=0,delete il[Ce.id],Ti.textureCount--}p(ho.prototype,{bind:function(){var Ce=this;Ce.bindCount+=1;var Ke=Ce.unit;if(Ke<0){for(var pt=0;pt0)continue;Ut.unit=-1}Dl[pt]=Ce,Ke=pt;break}Ke>=El,Mi.profile&&Ti.maxTextureUnits>ur)-or,pr.height=pr.height||(pt.height>>ur)-dr,jl(pt),Pn(pr,Li,or,dr,ur),$o(),gn(pr),Ut}function Ur(vr,mt){var Et=vr|0,Bt=mt|0||Et;if(Et===pt.width&&Bt===pt.height)return Ut;Ut.width=pt.width=Et,Ut.height=pt.height=Bt,jl(pt);for(var or=0;pt.mipmask>>or;++or){var dr=Et>>or,ur=Bt>>or;if(!dr||!ur)break;rt.texImage2D(Li,or,pt.format,dr,ur,0,pt.format,pt.type,null)}return $o(),Mi.profile&&(pt.stats.size=cc(pt.internalformat,pt.type,Et,Bt,!1,!1)),Ut}return Ut(Ce,Ke),Ut.subimage=Tr,Ut.resize=Ur,Ut._reglType="texture2d",Ut._texture=pt,Mi.profile&&(Ut.stats=pt.stats),Ut.destroy=function(){pt.decRef()},Ut}function ge(Ce,Ke,pt,Ut,Tr,Ur){var vr=new ho(Ia);il[vr.id]=vr,Ti.cubeCount++;var mt=new Array(6);function Et(dr,ur,pr,cr,Gt,lr){var qt,zr=vr.texInfo;for(Cs.call(zr),qt=0;qt<6;++qt)mt[qt]=Ro();if(typeof dr=="number"||!dr){var $r=dr|0||1;for(qt=0;qt<6;++qt)$n(mt[qt],$r,$r)}else if(typeof dr=="object")if(ur)fo(mt[0],dr),fo(mt[1],ur),fo(mt[2],pr),fo(mt[3],cr),fo(mt[4],Gt),fo(mt[5],lr);else if(Ol(zr,dr),ln(vr,dr),"faces"in dr){var Ai=dr.faces;for(qt=0;qt<6;++qt)Yi(mt[qt],vr),fo(mt[qt],Ai[qt])}else for(qt=0;qt<6;++qt)fo(mt[qt],dr);for(Yi(vr,mt[0]),zr.genMipmaps?vr.mipmask=(mt[0].width<<1)-1:vr.mipmask=mt[0].mipmask,vr.internalformat=mt[0].internalformat,Et.width=mt[0].width,Et.height=mt[0].height,jl(vr),qt=0;qt<6;++qt)Ks(mt[qt],Fa+qt);for(Ul(zr,Ia),$o(),Mi.profile&&(vr.stats.size=cc(vr.internalformat,vr.type,Et.width,Et.height,zr.genMipmaps,!0)),Et.format=la[vr.internalformat],Et.type=ba[vr.type],Et.mag=$i[zr.magFilter],Et.min=Xa[zr.minFilter],Et.wrapS=Oa[zr.wrapS],Et.wrapT=Oa[zr.wrapT],qt=0;qt<6;++qt)ru(mt[qt]);return Et}function Bt(dr,ur,pr,cr,Gt){var lr=pr|0,qt=cr|0,zr=Gt|0,$r=ja();return Yi($r,vr),$r.width=0,$r.height=0,Ea($r,ur),$r.width=$r.width||(vr.width>>zr)-lr,$r.height=$r.height||(vr.height>>zr)-qt,jl(vr),Pn($r,Fa+dr,lr,qt,zr),$o(),gn($r),Et}function or(dr){var ur=dr|0;if(ur!==vr.width){Et.width=vr.width=ur,Et.height=vr.height=ur,jl(vr);for(var pr=0;pr<6;++pr)for(var cr=0;vr.mipmask>>cr;++cr)rt.texImage2D(Fa+pr,cr,vr.format,ur>>cr,ur>>cr,0,vr.format,vr.type,null);return $o(),Mi.profile&&(vr.stats.size=cc(vr.internalformat,vr.type,Et.width,Et.height,!1,!0)),Et}}return Et(Ce,Ke,pt,Ut,Tr,Ur),Et.subimage=Bt,Et.resize=or,Et._reglType="textureCube",Et._texture=vr,Mi.profile&&(Et.stats=vr.stats),Et.destroy=function(){vr.decRef()},Et}function te(){for(var Ce=0;Ce>Ut,pt.height>>Ut,0,pt.internalformat,pt.type,null);else for(var Tr=0;Tr<6;++Tr)rt.texImage2D(Fa+Tr,Ut,pt.internalformat,pt.width>>Ut,pt.height>>Ut,0,pt.internalformat,pt.type,null);Ul(pt.texInfo,pt.target)})}function He(){for(var Ce=0;Ce=0?ru=!0:ka.indexOf(Cs)>=0&&(ru=!1))),("depthTexture"in ho||"depthStencilTexture"in ho)&&(Dl=!!(ho.depthTexture||ho.depthStencilTexture)),"depth"in ho&&(typeof ho.depth=="boolean"?Ks=ho.depth:(cu=ho.depth,Rl=!1)),"stencil"in ho&&(typeof ho.stencil=="boolean"?Rl=ho.stencil:(il=ho.stencil,Ks=!1)),"depthStencil"in ho&&(typeof ho.depthStencil=="boolean"?Ks=Rl=ho.depthStencil:(El=ho.depthStencil,Ks=!1,Rl=!1))}var $o=null,ve=null,K=null,ge=null;if(Array.isArray(Ro))$o=Ro.map(Xi);else if(Ro)$o=[Xi(Ro)];else for($o=new Array(Ul),Wn=0;Wn0&&(gn.depth=Ea[0].depth,gn.stencil=Ea[0].stencil,gn.depthStencil=Ea[0].depthStencil),Ea[ja]?Ea[ja](gn):Ea[ja]=Yi(gn)}return p(on,{width:Wn,height:Wn,color:Cs})}function Pn(Zn){var ja,gn=Zn|0;if(gn===on.width)return on;var Wn=on.color;for(ja=0;ja=Wn.byteLength?$n.subdata(Wn):($n.destroy(),Yi.buffers[Zn]=null)),Yi.buffers[Zn]||($n=Yi.buffers[Zn]=Ci.create(ja,_f,!1,!0)),gn.buffer=Ci.getBuffer($n),gn.size=gn.buffer.dimension|0,gn.normalized=!1,gn.type=gn.buffer.dtype,gn.offset=0,gn.stride=0,gn.divisor=0,gn.state=1,on[Zn]=1}else Ci.getBuffer(ja)?(gn.buffer=Ci.getBuffer(ja),gn.size=gn.buffer.dimension|0,gn.normalized=!1,gn.type=gn.buffer.dtype,gn.offset=0,gn.stride=0,gn.divisor=0,gn.state=1):Ci.getBuffer(ja.buffer)?(gn.buffer=Ci.getBuffer(ja.buffer),gn.size=(+ja.size||gn.buffer.dimension)|0,gn.normalized=!!ja.normalized||!1,"type"in ja?gn.type=vi[ja.type]:gn.type=gn.buffer.dtype,gn.offset=(ja.offset||0)|0,gn.stride=(ja.stride||0)|0,gn.divisor=(ja.divisor||0)|0,gn.state=1):"x"in ja&&(gn.x=+ja.x||0,gn.y=+ja.y||0,gn.z=+ja.z||0,gn.w=+ja.w||0,gn.state=2)}for(var fo=0;fo1)for(var Va=0;Va<$i.size;++Va){var La=$i.name.replace("[0]","["+Va+"]");ia(ln,new Mi(La,Yt.id(La),rt.getUniformLocation(kn,La),$i))}else ia(ln,new Mi($i.name,Yt.id($i.name),rt.getUniformLocation(kn,$i.name),$i));var Ea=rt.getProgramParameter(kn,Rc);li.profile&&(ei.stats.attributesCount=Ea);var on=ei.attributes;for(ba=0;baei&&(ei=zi.stats.uniformsCount)}),ei},hr.getMaxAttributesCount=function(){var ei=0;return va.forEach(function(zi){zi.stats.attributesCount>ei&&(ei=zi.stats.attributesCount)}),ei});function Xi(){Ci={},Ti={};for(var ei=0;ei16&&(hr=Na(hr,rt.length*8));for(var li=Array(16),Ci=Array(16),Ti=0;Ti<16;Ti++)li[Ti]=hr[Ti]^909522486,Ci[Ti]=hr[Ti]^1549556828;var Mi=Na(li.concat(Fc(Yt)),512+Yt.length*8);return er(Na(Ci.concat(Mi),768))}function Cu(rt){for(var Yt=Nf?"0123456789ABCDEF":"0123456789abcdef",hr="",li,Ci=0;Ci>>4&15)+Yt.charAt(li&15);return hr}function zc(rt){for(var Yt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",hr="",li=rt.length,Ci=0;Cirt.length*8?hr+=ec:hr+=Yt.charAt(Ti>>>6*(3-Mi)&63);return hr}function tf(rt,Yt){var hr=Yt.length,li=Array(),Ci,Ti,Mi,ia,ka=Array(Math.ceil(rt.length/2));for(Ci=0;Ci0;){for(ia=Array(),Mi=0,Ci=0;Ci0||Ti>0)&&(ia[ia.length]=Ti);li[li.length]=Mi,ka=ia}var Sa="";for(Ci=li.length-1;Ci>=0;Ci--)Sa+=Yt.charAt(li[Ci]);var va=Math.ceil(rt.length*8/(Math.log(Yt.length)/Math.log(2)));for(Ci=Sa.length;Ci>>6&31,128|li&63):li<=65535?Yt+=String.fromCharCode(224|li>>>12&15,128|li>>>6&63,128|li&63):li<=2097151&&(Yt+=String.fromCharCode(240|li>>>18&7,128|li>>>12&63,128|li>>>6&63,128|li&63));return Yt}function Fc(rt){for(var Yt=Array(rt.length>>2),hr=0;hr>5]|=(rt.charCodeAt(hr/8)&255)<<24-hr%32;return Yt}function er(rt){for(var Yt="",hr=0;hr>5]>>>24-hr%32&255);return Yt}function wr(rt,Yt){return rt>>>Yt|rt<<32-Yt}function ai(rt,Yt){return rt>>>Yt}function Jr(rt,Yt,hr){return rt&Yt^~rt&hr}function Fi(rt,Yt,hr){return rt&Yt^rt&hr^Yt&hr}function pa(rt){return wr(rt,2)^wr(rt,13)^wr(rt,22)}function Ba(rt){return wr(rt,6)^wr(rt,11)^wr(rt,25)}function an(rt){return wr(rt,7)^wr(rt,18)^ai(rt,3)}function hn(rt){return wr(rt,17)^wr(rt,19)^ai(rt,10)}var Ln=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 Na(rt,Yt){var hr=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),li=new Array(64),Ci,Ti,Mi,ia,ka,Sa,va,Fn,Ha,Da,Xi,ei;for(rt[Yt>>5]|=128<<24-Yt%32,rt[(Yt+64>>9<<4)+15]=Yt,Ha=0;Ha>16)+(Yt>>16)+(hr>>16);return li<<16|hr&65535}function Za(rt){return Array.prototype.slice.call(rt)}function Ta(rt){return Za(rt).join("")}function Hn(rt){var Yt=rt&&rt.cache,hr=0,li=[],Ci=[],Ti=[];function Mi(Xi,ei){var zi=ei&&ei.stable;if(!zi){for(var la=0;la0&&(Xi.push(ba,"="),Xi.push.apply(Xi,Za(arguments)),Xi.push(";")),ba}return p(ei,{def:la,toString:function(){return Ta([zi.length>0?"var "+zi.join(",")+";":"",Ta(Xi)])}})}function ka(){var Xi=ia(),ei=ia(),zi=Xi.toString,la=ei.toString;function ba($i,Xa){ei($i,Xa,"=",Xi.def($i,Xa),";")}return p(function(){Xi.apply(Xi,Za(arguments))},{def:Xi.def,entry:Xi,exit:ei,save:ba,set:function($i,Xa,Oa){ba($i,Xa),Xi($i,Xa,"=",Oa,";")},toString:function(){return zi()+la()}})}function Sa(){var Xi=Ta(arguments),ei=ka(),zi=ka(),la=ei.toString,ba=zi.toString;return p(ei,{then:function(){return ei.apply(ei,Za(arguments)),this},else:function(){return zi.apply(zi,Za(arguments)),this},toString:function(){var $i=ba();return $i&&($i="else{"+$i+"}"),Ta(["if(",Xi,"){",la(),"}",$i])}})}var va=ia(),Fn={};function Ha(Xi,ei){var zi=[];function la(){var kn="a"+zi.length;return zi.push(kn),kn}ei=ei||0;for(var ba=0;ba":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Hi={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},ta={cw:Je,ccw:vt};function ya(rt){return Array.isArray(rt)||Mr(rt)||Dr(rt)}function da(rt){return rt.sort(function(Yt,hr){return Yt===Te?-1:hr===Te?1:Yt=1,li>=2,Yt)}else if(hr===js){var Ci=rt.data;return new Oi(Ci.thisDep,Ci.contextDep,Ci.propDep,Yt)}else{if(hr===pl)return new Oi(!1,!1,!1,Yt);if(hr===Qs){for(var Ti=!1,Mi=!1,ia=!1,ka=0;ka=1&&(Mi=!0),va>=2&&(ia=!0)}else Sa.type===js&&(Ti=Ti||Sa.data.thisDep,Mi=Mi||Sa.data.contextDep,ia=ia||Sa.data.propDep)}return new Oi(Ti,Mi,ia,Yt)}else return new Oi(hr===ps,hr===Oo,hr===wn,Yt)}}var Yn=new Oi(!1,!1,!1,function(){});function mo(rt,Yt,hr,li,Ci,Ti,Mi,ia,ka,Sa,va,Fn,Ha,Da,Xi,ei){var zi=Sa.Record,la={add:32774,subtract:32778,"reverse subtract":32779};hr.ext_blend_minmax&&(la.min=_t,la.max=At);var ba=hr.angle_instanced_arrays,$i=hr.webgl_draw_buffers,Xa=hr.oes_vertex_array_object,Oa={dirty:!0,profile:ei.profile},kn={},Qi=[],Yi={},ln={};function Va(mt){return mt.replace(".","_")}function La(mt,Et,Bt){var or=Va(mt);Qi.push(mt),kn[or]=Oa[or]=!!Bt,Yi[or]=Et}function Ea(mt,Et,Bt){var or=Va(mt);Qi.push(mt),Array.isArray(Bt)?(Oa[or]=Bt.slice(),kn[or]=Bt.slice()):Oa[or]=kn[or]=Bt,ln[or]=Et}function on(mt){return!!isNaN(mt)}La(hl,ga),La(Bs,qi),Ea(Wl,"blendColor",[0,0,0,0]),Ea(Il,"blendEquationSeparate",[Yr,Yr]),Ea(wl,"blendFuncSeparate",[Gr,xr,Gr,xr]),La(io,$a,!0),Ea(Jo,"depthFunc",Ei),Ea(cl,"depthRange",[0,1]),Ea(Zs,"depthMask",!0),Ea(gu,gu,[!0,!0,!0,!0]),La(Nu,Pi),Ea(tc,"cullFace",Fe),Ea(Bc,Bc,vt),Ea(Lu,Lu,1),La(Oc,qn),Ea(Pu,"polygonOffset",[0,0]),La(wc,po),La(Po,to),Ea(es,"sampleCoverage",[1,!1]),La(Nc,Qa),Ea(hc,"stencilMask",-1),Ea(rc,"stencilFunc",[ar,0,-1]),Ea(Ue,"stencilOpSeparate",[de,Ft,Ft,Ft]),Ea(P,"stencilOpSeparate",[Fe,Ft,Ft,Ft]),La(ae,yn),Ea(xe,"scissor",[0,0,rt.drawingBufferWidth,rt.drawingBufferHeight]),Ea(Te,Te,[0,0,rt.drawingBufferWidth,rt.drawingBufferHeight]);var Pn={gl:rt,context:Ha,strings:Yt,next:kn,current:Oa,draw:Fn,elements:Ti,buffer:Ci,shader:va,attributes:Sa.state,vao:Sa,uniforms:ka,framebuffer:ia,extensions:hr,timer:Da,isBufferArgs:ya},Zn={primTypes:ji,compareFuncs:Di,blendFuncs:ua,blendEquations:la,stencilOps:Hi,glTypes:vi,orientationType:ta};$i&&(Zn.backBuffer=[Fe],Zn.drawBuffer=v(li.maxDrawbuffers,function(mt){return mt===0?[0]:v(mt,function(Et){return na+Et})}));var ja=0;function gn(){var mt=Hn({cache:Xi}),Et=mt.link,Bt=mt.global;mt.id=ja++,mt.batchId="0";var or=Et(Pn),dr=mt.shared={props:"a0"};Object.keys(Pn).forEach(function(lr){dr[lr]=Bt.def(or,".",lr)});var ur=mt.next={},pr=mt.current={};Object.keys(ln).forEach(function(lr){Array.isArray(Oa[lr])&&(ur[lr]=Bt.def(dr.next,".",lr),pr[lr]=Bt.def(dr.current,".",lr))});var cr=mt.constants={};Object.keys(Zn).forEach(function(lr){cr[lr]=Bt.def(JSON.stringify(Zn[lr]))}),mt.invoke=function(lr,qt){switch(qt.type){case Vn:var zr=["this",dr.context,dr.props,mt.batchId];return lr.def(Et(qt.data),".call(",zr.slice(0,Math.max(qt.data.length+1,4)),")");case wn:return lr.def(dr.props,qt.data);case Oo:return lr.def(dr.context,qt.data);case ps:return lr.def("this",qt.data);case js:return qt.data.append(mt,lr),qt.data.ref;case pl:return qt.data.toString();case Qs:return qt.data.map(function($r){return mt.invoke(lr,$r)})}},mt.attribCache={};var Gt={};return mt.scopeAttrib=function(lr){var qt=Yt.id(lr);if(qt in Gt)return Gt[qt];var zr=Sa.scope[qt];zr||(zr=Sa.scope[qt]=new zi);var $r=Gt[qt]=Et(zr);return $r},mt}function Wn(mt){var Et=mt.static,Bt=mt.dynamic,or;if(Oe in Et){var dr=!!Et[Oe];or=mn(function(pr,cr){return dr}),or.enable=dr}else if(Oe in Bt){var ur=Bt[Oe];or=In(ur,function(pr,cr){return pr.invoke(cr,ur)})}return or}function $n(mt,Et){var Bt=mt.static,or=mt.dynamic;if(ht in Bt){var dr=Bt[ht];return dr?(dr=ia.getFramebuffer(dr),mn(function(pr,cr){var Gt=pr.link(dr),lr=pr.shared;cr.set(lr.framebuffer,".next",Gt);var qt=lr.context;return cr.set(qt,"."+dt,Gt+".width"),cr.set(qt,"."+Ct,Gt+".height"),Gt})):mn(function(pr,cr){var Gt=pr.shared;cr.set(Gt.framebuffer,".next","null");var lr=Gt.context;return cr.set(lr,"."+dt,lr+"."+_r),cr.set(lr,"."+Ct,lr+"."+kr),"null"})}else if(ht in or){var ur=or[ht];return In(ur,function(pr,cr){var Gt=pr.invoke(cr,ur),lr=pr.shared,qt=lr.framebuffer,zr=cr.def(qt,".getFramebuffer(",Gt,")");cr.set(qt,".next",zr);var $r=lr.context;return cr.set($r,"."+dt,zr+"?"+zr+".width:"+$r+"."+_r),cr.set($r,"."+Ct,zr+"?"+zr+".height:"+$r+"."+kr),zr})}else return null}function fo(mt,Et,Bt){var or=mt.static,dr=mt.dynamic;function ur(Gt){if(Gt in or){var lr=or[Gt],qt=!0,zr=lr.x|0,$r=lr.y|0,Ai,wa;return"width"in lr?Ai=lr.width|0:qt=!1,"height"in lr?wa=lr.height|0:qt=!1,new Oi(!qt&&Et&&Et.thisDep,!qt&&Et&&Et.contextDep,!qt&&Et&&Et.propDep,function(sn,Ga){var ma=sn.shared.context,Ma=Ai;"width"in lr||(Ma=Ga.def(ma,".",dt,"-",zr));var Pa=wa;return"height"in lr||(Pa=Ga.def(ma,".",Ct,"-",$r)),[zr,$r,Ma,Pa]})}else if(Gt in dr){var Ji=dr[Gt],fa=In(Ji,function(sn,Ga){var ma=sn.invoke(Ga,Ji),Ma=sn.shared.context,Pa=Ga.def(ma,".x|0"),Ka=Ga.def(ma,".y|0"),Sn=Ga.def('"width" in ',ma,"?",ma,".width|0:","(",Ma,".",dt,"-",Pa,")"),No=Ga.def('"height" in ',ma,"?",ma,".height|0:","(",Ma,".",Ct,"-",Ka,")");return[Pa,Ka,Sn,No]});return Et&&(fa.thisDep=fa.thisDep||Et.thisDep,fa.contextDep=fa.contextDep||Et.contextDep,fa.propDep=fa.propDep||Et.propDep),fa}else return Et?new Oi(Et.thisDep,Et.contextDep,Et.propDep,function(sn,Ga){var ma=sn.shared.context;return[0,0,Ga.def(ma,".",dt),Ga.def(ma,".",Ct)]}):null}var pr=ur(Te);if(pr){var cr=pr;pr=new Oi(pr.thisDep,pr.contextDep,pr.propDep,function(Gt,lr){var qt=cr.append(Gt,lr),zr=Gt.shared.context;return lr.set(zr,"."+wt,qt[2]),lr.set(zr,"."+Dt,qt[3]),qt})}return{viewport:pr,scissor_box:ur(xe)}}function Ks(mt,Et){var Bt=mt.static,or=typeof Bt[Ot]=="string"&&typeof Bt[Tt]=="string";if(or){if(Object.keys(Et.dynamic).length>0)return null;var dr=Et.static,ur=Object.keys(dr);if(ur.length>0&&typeof dr[ur[0]]=="number"){for(var pr=[],cr=0;cr"+Pa+"?"+qt+".constant["+Pa+"]:0;"}).join(""),"}}else{","if(",Ai,"(",qt,".buffer)){",sn,"=",wa,".createStream(",Qr,",",qt,".buffer);","}else{",sn,"=",wa,".getBuffer(",qt,".buffer);","}",Ga,'="type" in ',qt,"?",$r.glTypes,"[",qt,".type]:",sn,".dtype;",Ji.normalized,"=!!",qt,".normalized;");function ma(Ma){lr(Ji[Ma],"=",qt,".",Ma,"|0;")}return ma("size"),ma("offset"),ma("stride"),ma("divisor"),lr("}}"),lr.exit("if(",Ji.isStream,"){",wa,".destroyStream(",sn,");","}"),Ji}dr[ur]=In(pr,cr)}),dr}function Ul(mt){var Et=mt.static,Bt=mt.dynamic,or={};return Object.keys(Et).forEach(function(dr){var ur=Et[dr];or[dr]=mn(function(pr,cr){return typeof ur=="number"||typeof ur=="boolean"?""+ur:pr.link(ur)})}),Object.keys(Bt).forEach(function(dr){var ur=Bt[dr];or[dr]=In(ur,function(pr,cr){return pr.invoke(cr,ur)})}),or}function cu(mt,Et,Bt,or,dr){var ur=mt.static,pr=mt.dynamic,cr=Ks(mt,Et),Gt=$n(mt,dr),lr=fo(mt,Gt,dr),qt=Ro(mt,dr),zr=ru(mt,dr),$r=Rl(mt,dr,cr);function Ai(ma){var Ma=lr[ma];Ma&&(zr[ma]=Ma)}Ai(Te),Ai(Va(xe));var wa=Object.keys(zr).length>0,Ji={framebuffer:Gt,draw:qt,shader:$r,state:zr,dirty:wa,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(Ji.profile=Wn(mt,dr),Ji.uniforms=Cs(Bt,dr),Ji.drawVAO=Ji.scopeVAO=qt.vao,!Ji.drawVAO&&$r.program&&!cr&&hr.angle_instanced_arrays&&qt.static.elements){var fa=!0,sn=$r.program.attributes.map(function(ma){var Ma=Et.static[ma];return fa=fa&&!!Ma,Ma});if(fa&&sn.length>0){var Ga=Sa.getVAO(Sa.createVAO({attributes:sn,elements:qt.static.elements}));Ji.drawVAO=new Oi(null,null,null,function(ma,Ma){return ma.link(Ga)}),Ji.useVAO=!0}}return cr?Ji.useVAO=!0:Ji.attributes=Ol(Et,dr),Ji.context=Ul(or,dr),Ji}function il(mt,Et,Bt){var or=mt.shared,dr=or.context,ur=mt.scope();Object.keys(Bt).forEach(function(pr){Et.save(dr,"."+pr);var cr=Bt[pr],Gt=cr.append(mt,Et);Array.isArray(Gt)?ur(dr,".",pr,"=[",Gt.join(),"];"):ur(dr,".",pr,"=",Gt,";")}),Et(ur)}function El(mt,Et,Bt,or){var dr=mt.shared,ur=dr.gl,pr=dr.framebuffer,cr;$i&&(cr=Et.def(dr.extensions,".webgl_draw_buffers"));var Gt=mt.constants,lr=Gt.drawBuffer,qt=Gt.backBuffer,zr;Bt?zr=Bt.append(mt,Et):zr=Et.def(pr,".next"),or||Et("if(",zr,"!==",pr,".cur){"),Et("if(",zr,"){",ur,".bindFramebuffer(",xi,",",zr,".framebuffer);"),$i&&Et(cr,".drawBuffersWEBGL(",lr,"[",zr,".colorAttachments.length]);"),Et("}else{",ur,".bindFramebuffer(",xi,",null);"),$i&&Et(cr,".drawBuffersWEBGL(",qt,");"),Et("}",pr,".cur=",zr,";"),or||Et("}")}function Dl(mt,Et,Bt){var or=mt.shared,dr=or.gl,ur=mt.current,pr=mt.next,cr=or.current,Gt=or.next,lr=mt.cond(cr,".dirty");Qi.forEach(function(qt){var zr=Va(qt);if(!(zr in Bt.state)){var $r,Ai;if(zr in pr){$r=pr[zr],Ai=ur[zr];var wa=v(Oa[zr].length,function(fa){return lr.def($r,"[",fa,"]")});lr(mt.cond(wa.map(function(fa,sn){return fa+"!=="+Ai+"["+sn+"]"}).join("||")).then(dr,".",ln[zr],"(",wa,");",wa.map(function(fa,sn){return Ai+"["+sn+"]="+fa}).join(";"),";"))}else{$r=lr.def(Gt,".",zr);var Ji=mt.cond($r,"!==",cr,".",zr);lr(Ji),zr in Yi?Ji(mt.cond($r).then(dr,".enable(",Yi[zr],");").else(dr,".disable(",Yi[zr],");"),cr,".",zr,"=",$r,";"):Ji(dr,".",ln[zr],"(",$r,");",cr,".",zr,"=",$r,";")}}}),Object.keys(Bt.state).length===0&&lr(cr,".dirty=false;"),Et(lr)}function ho(mt,Et,Bt,or){var dr=mt.shared,ur=mt.current,pr=dr.current,cr=dr.gl,Gt;da(Object.keys(Bt)).forEach(function(lr){var qt=Bt[lr];if(!(or&&!or(qt))){var zr=qt.append(mt,Et);if(Yi[lr]){var $r=Yi[lr];xn(qt)?(Gt=mt.link(zr,{stable:!0}),Et(mt.cond(Gt).then(cr,".enable(",$r,");").else(cr,".disable(",$r,");")),Et(pr,".",lr,"=",Gt,";")):(Et(mt.cond(zr).then(cr,".enable(",$r,");").else(cr,".disable(",$r,");")),Et(pr,".",lr,"=",zr,";"))}else if(Si(zr)){var Ai=ur[lr];Et(cr,".",ln[lr],"(",zr,");",zr.map(function(wa,Ji){return Ai+"["+Ji+"]="+wa}).join(";"),";")}else xn(qt)?(Gt=mt.link(zr,{stable:!0}),Et(cr,".",ln[lr],"(",Gt,");",pr,".",lr,"=",Gt,";")):Et(cr,".",ln[lr],"(",zr,");",pr,".",lr,"=",zr,";")}})}function jl(mt,Et){ba&&(mt.instancing=Et.def(mt.shared.extensions,".angle_instanced_arrays"))}function $o(mt,Et,Bt,or,dr){var ur=mt.shared,pr=mt.stats,cr=ur.current,Gt=ur.timer,lr=Bt.profile;function qt(){return typeof performance>"u"?"Date.now()":"performance.now()"}var zr,$r;function Ai(ma){zr=Et.def(),ma(zr,"=",qt(),";"),typeof dr=="string"?ma(pr,".count+=",dr,";"):ma(pr,".count++;"),Da&&(or?($r=Et.def(),ma($r,"=",Gt,".getNumPendingQueries();")):ma(Gt,".beginQuery(",pr,");"))}function wa(ma){ma(pr,".cpuTime+=",qt(),"-",zr,";"),Da&&(or?ma(Gt,".pushScopeStats(",$r,",",Gt,".getNumPendingQueries(),",pr,");"):ma(Gt,".endQuery();"))}function Ji(ma){var Ma=Et.def(cr,".profile");Et(cr,".profile=",ma,";"),Et.exit(cr,".profile=",Ma,";")}var fa;if(lr){if(xn(lr)){lr.enable?(Ai(Et),wa(Et.exit),Ji("true")):Ji("false");return}fa=lr.append(mt,Et),Ji(fa)}else fa=Et.def(cr,".profile");var sn=mt.block();Ai(sn),Et("if(",fa,"){",sn,"}");var Ga=mt.block();wa(Ga),Et.exit("if(",fa,"){",Ga,"}")}function ve(mt,Et,Bt,or,dr){var ur=mt.shared;function pr(Gt){switch(Gt){case bs:case Tl:case ql:return 2;case Ho:case dl:case uu:return 3;case ds:case ms:case Uu:return 4;default:return 1}}function cr(Gt,lr,qt){var zr=ur.gl,$r=Et.def(Gt,".location"),Ai=Et.def(ur.attributes,"[",$r,"]"),wa=qt.state,Ji=qt.buffer,fa=[qt.x,qt.y,qt.z,qt.w],sn=["buffer","normalized","offset","stride"];function Ga(){Et("if(!",Ai,".buffer){",zr,".enableVertexAttribArray(",$r,");}");var Ma=qt.type,Pa;if(qt.size?Pa=Et.def(qt.size,"||",lr):Pa=lr,Et("if(",Ai,".type!==",Ma,"||",Ai,".size!==",Pa,"||",sn.map(function(Sn){return Ai+"."+Sn+"!=="+qt[Sn]}).join("||"),"){",zr,".bindBuffer(",Qr,",",Ji,".buffer);",zr,".vertexAttribPointer(",[$r,Pa,Ma,qt.normalized,qt.stride,qt.offset],");",Ai,".type=",Ma,";",Ai,".size=",Pa,";",sn.map(function(Sn){return Ai+"."+Sn+"="+qt[Sn]+";"}).join(""),"}"),ba){var Ka=qt.divisor;Et("if(",Ai,".divisor!==",Ka,"){",mt.instancing,".vertexAttribDivisorANGLE(",[$r,Ka],");",Ai,".divisor=",Ka,";}")}}function ma(){Et("if(",Ai,".buffer){",zr,".disableVertexAttribArray(",$r,");",Ai,".buffer=null;","}if(",go.map(function(Ma,Pa){return Ai+"."+Ma+"!=="+fa[Pa]}).join("||"),"){",zr,".vertexAttrib4f(",$r,",",fa,");",go.map(function(Ma,Pa){return Ai+"."+Ma+"="+fa[Pa]+";"}).join(""),"}")}wa===yo?Ga():wa===Io?ma():(Et("if(",wa,"===",yo,"){"),Ga(),Et("}else{"),ma(),Et("}"))}or.forEach(function(Gt){var lr=Gt.name,qt=Bt.attributes[lr],zr;if(qt){if(!dr(qt))return;zr=qt.append(mt,Et)}else{if(!dr(Yn))return;var $r=mt.scopeAttrib(lr);zr={},Object.keys(new zi).forEach(function(Ai){zr[Ai]=Et.def($r,".",Ai)})}cr(mt.link(Gt),pr(Gt.info.type),zr)})}function K(mt,Et,Bt,or,dr,ur){for(var pr=mt.shared,cr=pr.gl,Gt,lr=0;lr1){for(var os=[],Xs=[],ts=0;ts>1)",Ji],");")}function Ka(){Bt(fa,".drawArraysInstancedANGLE(",[$r,Ai,wa,Ji],");")}qt&&qt!=="null"?Ga?Pa():(Bt("if(",qt,"){"),Pa(),Bt("}else{"),Ka(),Bt("}")):Ka()}function Ma(){function Pa(){Bt(ur+".drawElements("+[$r,wa,sn,Ai+"<<(("+sn+"-"+wo+")>>1)"]+");")}function Ka(){Bt(ur+".drawArrays("+[$r,Ai,wa]+");")}qt&&qt!=="null"?Ga?Pa():(Bt("if(",qt,"){"),Pa(),Bt("}else{"),Ka(),Bt("}")):Ka()}ba&&(typeof Ji!="number"||Ji>=0)?typeof Ji=="string"?(Bt("if(",Ji,">0){"),ma(),Bt("}else if(",Ji,"<0){"),Ma(),Bt("}")):ma():Ma()}function te(mt,Et,Bt,or,dr){var ur=gn(),pr=ur.proc("body",dr);return ba&&(ur.instancing=pr.def(ur.shared.extensions,".angle_instanced_arrays")),mt(ur,pr,Bt,or),ur.compile().body}function pe(mt,Et,Bt,or){jl(mt,Et),Bt.useVAO?Bt.drawVAO?Et(mt.shared.vao,".setVAO(",Bt.drawVAO.append(mt,Et),");"):Et(mt.shared.vao,".setVAO(",mt.shared.vao,".targetVAO);"):(Et(mt.shared.vao,".setVAO(null);"),ve(mt,Et,Bt,or.attributes,function(){return!0})),K(mt,Et,Bt,or.uniforms,function(){return!0},!1),ge(mt,Et,Et,Bt)}function He(mt,Et){var Bt=mt.proc("draw",1);jl(mt,Bt),il(mt,Bt,Et.context),El(mt,Bt,Et.framebuffer),Dl(mt,Bt,Et),ho(mt,Bt,Et.state),$o(mt,Bt,Et,!1,!0);var or=Et.shader.progVar.append(mt,Bt);if(Bt(mt.shared.gl,".useProgram(",or,".program);"),Et.shader.program)pe(mt,Bt,Et,Et.shader.program);else{Bt(mt.shared.vao,".setVAO(null);");var dr=mt.global.def("{}"),ur=Bt.def(or,".id"),pr=Bt.def(dr,"[",ur,"]");Bt(mt.cond(pr).then(pr,".call(this,a0);").else(pr,"=",dr,"[",ur,"]=",mt.link(function(cr){return te(pe,mt,Et,cr,1)}),"(",or,");",pr,".call(this,a0);"))}Object.keys(Et.state).length>0&&Bt(mt.shared.current,".dirty=true;"),mt.shared.vao&&Bt(mt.shared.vao,".setVAO(null);")}function Ce(mt,Et,Bt,or){mt.batchId="a1",jl(mt,Et);function dr(){return!0}ve(mt,Et,Bt,or.attributes,dr),K(mt,Et,Bt,or.uniforms,dr,!1),ge(mt,Et,Et,Bt)}function Ke(mt,Et,Bt,or){jl(mt,Et);var dr=Bt.contextDep,ur=Et.def(),pr="a0",cr="a1",Gt=Et.def();mt.shared.props=Gt,mt.batchId=ur;var lr=mt.scope(),qt=mt.scope();Et(lr.entry,"for(",ur,"=0;",ur,"<",cr,";++",ur,"){",Gt,"=",pr,"[",ur,"];",qt,"}",lr.exit);function zr(sn){return sn.contextDep&&dr||sn.propDep}function $r(sn){return!zr(sn)}if(Bt.needsContext&&il(mt,qt,Bt.context),Bt.needsFramebuffer&&El(mt,qt,Bt.framebuffer),ho(mt,qt,Bt.state,zr),Bt.profile&&zr(Bt.profile)&&$o(mt,qt,Bt,!1,!0),or)Bt.useVAO?Bt.drawVAO?zr(Bt.drawVAO)?qt(mt.shared.vao,".setVAO(",Bt.drawVAO.append(mt,qt),");"):lr(mt.shared.vao,".setVAO(",Bt.drawVAO.append(mt,lr),");"):lr(mt.shared.vao,".setVAO(",mt.shared.vao,".targetVAO);"):(lr(mt.shared.vao,".setVAO(null);"),ve(mt,lr,Bt,or.attributes,$r),ve(mt,qt,Bt,or.attributes,zr)),K(mt,lr,Bt,or.uniforms,$r,!1),K(mt,qt,Bt,or.uniforms,zr,!0),ge(mt,lr,qt,Bt);else{var Ai=mt.global.def("{}"),wa=Bt.shader.progVar.append(mt,qt),Ji=qt.def(wa,".id"),fa=qt.def(Ai,"[",Ji,"]");qt(mt.shared.gl,".useProgram(",wa,".program);","if(!",fa,"){",fa,"=",Ai,"[",Ji,"]=",mt.link(function(sn){return te(Ce,mt,Bt,sn,2)}),"(",wa,");}",fa,".call(this,a0[",ur,"],",ur,");")}}function pt(mt,Et){var Bt=mt.proc("batch",2);mt.batchId="0",jl(mt,Bt);var or=!1,dr=!0;Object.keys(Et.context).forEach(function(Ai){or=or||Et.context[Ai].propDep}),or||(il(mt,Bt,Et.context),dr=!1);var ur=Et.framebuffer,pr=!1;ur?(ur.propDep?or=pr=!0:ur.contextDep&&or&&(pr=!0),pr||El(mt,Bt,ur)):El(mt,Bt,null),Et.state.viewport&&Et.state.viewport.propDep&&(or=!0);function cr(Ai){return Ai.contextDep&&or||Ai.propDep}Dl(mt,Bt,Et),ho(mt,Bt,Et.state,function(Ai){return!cr(Ai)}),(!Et.profile||!cr(Et.profile))&&$o(mt,Bt,Et,!1,"a1"),Et.contextDep=or,Et.needsContext=dr,Et.needsFramebuffer=pr;var Gt=Et.shader.progVar;if(Gt.contextDep&&or||Gt.propDep)Ke(mt,Bt,Et,null);else{var lr=Gt.append(mt,Bt);if(Bt(mt.shared.gl,".useProgram(",lr,".program);"),Et.shader.program)Ke(mt,Bt,Et,Et.shader.program);else{Bt(mt.shared.vao,".setVAO(null);");var qt=mt.global.def("{}"),zr=Bt.def(lr,".id"),$r=Bt.def(qt,"[",zr,"]");Bt(mt.cond($r).then($r,".call(this,a0,a1);").else($r,"=",qt,"[",zr,"]=",mt.link(function(Ai){return te(Ke,mt,Et,Ai,2)}),"(",lr,");",$r,".call(this,a0,a1);"))}}Object.keys(Et.state).length>0&&Bt(mt.shared.current,".dirty=true;"),mt.shared.vao&&Bt(mt.shared.vao,".setVAO(null);")}function Ut(mt,Et){var Bt=mt.proc("scope",3);mt.batchId="a2";var or=mt.shared,dr=or.current;if(il(mt,Bt,Et.context),Et.framebuffer&&Et.framebuffer.append(mt,Bt),da(Object.keys(Et.state)).forEach(function(cr){var Gt=Et.state[cr],lr=Gt.append(mt,Bt);Si(lr)?lr.forEach(function(qt,zr){on(qt)?Bt.set(mt.next[cr],"["+zr+"]",qt):Bt.set(mt.next[cr],"["+zr+"]",mt.link(qt,{stable:!0}))}):xn(Gt)?Bt.set(or.next,"."+cr,mt.link(lr,{stable:!0})):Bt.set(or.next,"."+cr,lr)}),$o(mt,Bt,Et,!0,!0),[Qt,Kr,Sr,oi,Ar].forEach(function(cr){var Gt=Et.draw[cr];if(Gt){var lr=Gt.append(mt,Bt);on(lr)?Bt.set(or.draw,"."+cr,lr):Bt.set(or.draw,"."+cr,mt.link(lr),{stable:!0})}}),Object.keys(Et.uniforms).forEach(function(cr){var Gt=Et.uniforms[cr].append(mt,Bt);Array.isArray(Gt)&&(Gt="["+Gt.map(function(lr){return on(lr)?lr:mt.link(lr,{stable:!0})})+"]"),Bt.set(or.uniforms,"["+mt.link(Yt.id(cr),{stable:!0})+"]",Gt)}),Object.keys(Et.attributes).forEach(function(cr){var Gt=Et.attributes[cr].append(mt,Bt),lr=mt.scopeAttrib(cr);Object.keys(new zi).forEach(function(qt){Bt.set(lr,"."+qt,Gt[qt])})}),Et.scopeVAO){var ur=Et.scopeVAO.append(mt,Bt);on(ur)?Bt.set(or.vao,".targetVAO",ur):Bt.set(or.vao,".targetVAO",mt.link(ur,{stable:!0}))}function pr(cr){var Gt=Et.shader[cr];if(Gt){var lr=Gt.append(mt,Bt);on(lr)?Bt.set(or.shader,"."+cr,lr):Bt.set(or.shader,"."+cr,mt.link(lr,{stable:!0}))}}pr(Tt),pr(Ot),Object.keys(Et.state).length>0&&(Bt(dr,".dirty=true;"),Bt.exit(dr,".dirty=true;")),Bt("a1(",mt.shared.context,",a0,",mt.batchId,");")}function Tr(mt){if(!(typeof mt!="object"||Si(mt))){for(var Et=Object.keys(mt),Bt=0;Bt=0;--te){var pe=Pn[te];pe&&pe(Xi,null,0)}hr.flush(),va&&va.update()}function fo(){!Wn&&Pn.length>0&&(Wn=c.next($n))}function Ks(){Wn&&(c.cancel($n),Wn=null)}function Rl(te){te.preventDefault(),Ci=!0,Ks(),Zn.forEach(function(pe){pe()})}function Ro(te){hr.getError(),Ci=!1,Ti.restore(),kn.restore(),ba.restore(),Qi.restore(),Yi.restore(),ln.restore(),Xa.restore(),va&&va.restore(),Va.procs.refresh(),fo(),ja.forEach(function(pe){pe()})}on&&(on.addEventListener(ks,Rl,!1),on.addEventListener(Rs,Ro,!1));function ru(){Pn.length=0,Ks(),on&&(on.removeEventListener(ks,Rl),on.removeEventListener(Rs,Ro)),kn.clear(),ln.clear(),Yi.clear(),Xa.clear(),Qi.clear(),$i.clear(),ba.clear(),va&&va.clear(),gn.forEach(function(te){te()})}function Cs(te){function pe(ur){var pr=p({},ur);delete pr.uniforms,delete pr.attributes,delete pr.context,delete pr.vao,"stencil"in pr&&pr.stencil.op&&(pr.stencil.opBack=pr.stencil.opFront=pr.stencil.op,delete pr.stencil.op);function cr(Gt){if(Gt in pr){var lr=pr[Gt];delete pr[Gt],Object.keys(lr).forEach(function(qt){pr[Gt+"."+qt]=lr[qt]})}}return cr("blend"),cr("depth"),cr("cull"),cr("stencil"),cr("polygonOffset"),cr("scissor"),cr("sample"),"vao"in ur&&(pr.vao=ur.vao),pr}function He(ur,pr){var cr={},Gt={};return Object.keys(ur).forEach(function(lr){var qt=ur[lr];if(h.isDynamic(qt)){Gt[lr]=h.unbox(qt,lr);return}else if(pr&&Array.isArray(qt)){for(var zr=0;zr0)return mt.call(this,or(ur|0),ur|0)}else if(Array.isArray(ur)){if(ur.length)return mt.call(this,ur,ur.length)}else return vr.call(this,ur)}return p(dr,{stats:Tr,destroy:function(){Ur.destroy()}})}var Ol=ln.setFBO=Cs({framebuffer:h.define.call(null,Bl,"framebuffer")});function Ul(te,pe){var He=0;Va.procs.poll();var Ce=pe.color;Ce&&(hr.clearColor(+Ce[0]||0,+Ce[1]||0,+Ce[2]||0,+Ce[3]||0),He|=ml),"depth"in pe&&(hr.clearDepth(+pe.depth),He|=Pl),"stencil"in pe&&(hr.clearStencil(pe.stencil|0),He|=Dn),hr.clear(He)}function cu(te){if("framebuffer"in te)if(te.framebuffer&&te.framebuffer_reglType==="framebufferCube")for(var pe=0;pe<6;++pe)Ol(p({framebuffer:te.framebuffer.faces[pe]},te),Ul);else Ol(te,Ul);else Ul(null,te)}function il(te){Pn.push(te);function pe(){var He=Hl(Pn,te);function Ce(){var Ke=Hl(Pn,Ce);Pn[Ke]=Pn[Pn.length-1],Pn.length-=1,Pn.length<=0&&Ks()}Pn[He]=Ce}return fo(),{cancel:pe}}function El(){var te=Ea.viewport,pe=Ea.scissor_box;te[0]=te[1]=pe[0]=pe[1]=0,Xi.viewportWidth=Xi.framebufferWidth=Xi.drawingBufferWidth=te[2]=pe[2]=hr.drawingBufferWidth,Xi.viewportHeight=Xi.framebufferHeight=Xi.drawingBufferHeight=te[3]=pe[3]=hr.drawingBufferHeight}function Dl(){Xi.tick+=1,Xi.time=jl(),El(),Va.procs.poll()}function ho(){Qi.refresh(),El(),Va.procs.refresh(),va&&va.update()}function jl(){return(m()-Fn)/1e3}ho();function $o(te,pe){var He;switch(te){case"frame":return il(pe);case"lost":He=Zn;break;case"restore":He=ja;break;case"destroy":He=gn;break;default:}return He.push(pe),{cancel:function(){for(var Ce=0;Ce=0},read:La,destroy:ru,_gl:hr,_refresh:ho,poll:function(){Dl(),va&&va.update()},now:jl,stats:ia,getCachedCode:ve,preloadCachedCode:K});return Yt.onDone(null,ge),ge}return Tc})}}),wb=De({"src/lib/prepare_regl.js"(Y,H){"use strict";var p=a5(),x=eR();H.exports=function(E,e,t){var r=E._fullLayout,o=!0;return r._glcanvas.each(function(i){if(i.regl){i.regl.preloadCachedCode(t);return}if(!(i.pick&&!r._has("parcoords"))){try{i.regl=x({canvas:this,attributes:{antialias:!i.pick,preserveDrawingBuffer:!0},pixelRatio:E._context.plotGlPixelRatio||window.devicePixelRatio,extensions:e||[],cachedCode:t||{}})}catch{o=!1}i.regl||(o=!1),o&&this.addEventListener("webglcontextlost",function(n){E&&E.emit&&E.emit("plotly_webglcontextlost",{event:n,layer:i.key})},!1)}}),o||p({container:r._glcontainer.node()}),o}}}),Y5=De({"src/traces/scattergl/plot.js"(h,H){"use strict";var p=M5(),x=O5(),S=B8(),E=Q8(),e=ui(),t=dv().selectMode,r=wb(),o=Hu(),i=y2(),n=T5().styleTextSelection,a={};function s(c,m,d,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,v=l.w*T,u=l.h*T;return[A+m.domain[0]*v,M+d.domain[0]*u,_-g-(1-m.domain[1])*v,w-b-(1-d.domain[1])*u]}var h=H.exports=function(m,d,T){if(T.length){var l=m._fullLayout,_=d._scene,w=d.xaxis,A=d.yaxis,M,g;if(_){var b=r(m,["ANGLE_instanced_arrays","OES_element_index_uint"],a);if(!b){_.init();return}var v=_.count,u=l._glcanvas.data()[0].regl;if(i(m,d,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=p(u)),_.fill2d===!0&&(_.fill2d=x(u)),_.glText===!0)for(_.glText=new Array(v),M=0;M_.glText.length){var y=v-_.glText.length;for(M=0;MQ&&(isNaN(j[re])||isNaN(j[re+1]));)re-=2;ie.positions=j.slice(Q,re+2)}return ie}),_.line2d.update(_.lineOptions)),_.error2d){var L=(_.errorXOptions||[]).concat(_.errorYOptions||[]);_.error2d.update(L)}_.scatter2d&&_.scatter2d.update(_.markerOptions),_.fillOrder=e.repeat(null,v),_.fill2d&&(_.fillOptions=_.fillOptions.map(function(ie,j){var Q=T[j];if(!(!ie||!Q||!Q[0]||!Q[0].trace)){var re=Q[0],ue=re.trace,_e=re.t,we=_.lineOptions[j],Re,ze,Xe=[];ue._ownfill&&Xe.push(j),ue._nexttrace&&Xe.push(j+1),Xe.length&&(_.fillOrder[j]=Xe);var tt=[],it=we&&we.positions||_e.positions,et,nt;if(ue.fill==="tozeroy"){for(et=0;etet&&isNaN(it[nt+1]);)nt-=2;it[et+1]!==0&&(tt=[it[et],0]),tt=tt.concat(it.slice(et,nt+2)),it[nt+1]!==0&&(tt=tt.concat([it[nt],0]))}else if(ue.fill==="tozerox"){for(et=0;etet&&isNaN(it[nt]);)nt-=2;it[et]!==0&&(tt=[0,it[et+1]]),tt=tt.concat(it.slice(et,nt+2)),it[nt]!==0&&(tt=tt.concat([0,it[nt+1]]))}else if(ue.fill==="toself"||ue.fill==="tonext"){for(tt=[],Re=0,ie.splitNull=!0,ze=0;ze-1;for(let[ie]of T)if(ie){var B=ie.trace,I=ie.t,U=I.index,O=B._length,X=I.x,J=I.y;if(B.selectedpoints||F||N){if(F||(F=!0),B.selectedpoints){var se=_.selectBatch[U]=e.selIndices2selPoints(B),le={};for(g=0;gw&&d||_n,f;for(y?f=d.sizeAvg||Math.max(d.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=d,R.selectedOptions=t(s,h,h.selected),R.unselectedOptions=t(s,h,h.unselected),[{x:!1,y:!1,t:{},trace:h}]}}}),oR=De({"node_modules/performance-now/lib/performance-now.js"(Y,H){(function(){var p,x,S,E,e,t;typeof performance<"u"&&performance!==null&&performance.now?H.exports=function(){return performance.now()}:typeof process<"u"&&process!==null&&process.hrtime?(H.exports=function(){return(p()-e)/1e6},x=process.hrtime,p=function(){var r;return r=x(),r[0]*1e9+r[1]},E=p(),t=process.uptime()*1e9,e=E-t):Date.now?(H.exports=function(){return Date.now()-S},S=Date.now()):(H.exports=function(){return new Date().getTime()-S},S=new Date().getTime())}).call(Y)}}),sR=De({"node_modules/raf/index.js"(Y,H){var p=oR(),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||!d.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 i(s,h,c){let m=s.id!=null?s.id:s,d=h,T=c;return m<<16|(d&255)<<8|T&255}function n(s,h,c){let m,d,T,l,_,w,A,M,g=s[h],b=s[c];return g.length>2?(m=g[0],T=g[2],d=g[1],l=g[3]):g.length?(m=d=g[0],T=l=g[1]):(m=g.x,d=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),[_,d,A,l]}function a(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]}}}}),cR=De({"src/traces/splom/plot.js"(Y,H){"use strict";var p=uR(),x=ui(),S=nf(),E=dv().selectMode;H.exports=function(r,o,i){if(i.length)for(var n=0;n-1,N=E(d)||!!n.selectedpoints||F,B=!0;if(N){var I=n._length;if(n.selectedpoints){s.selectBatch=n.selectedpoints;var U=n.selectedpoints,O={};for(_=0;_=X[J][0]&&O<=X[J][1])return!0;return!1}function h(O){O.attr("x",-p.bar.captureWidth/2).attr("width",p.bar.captureWidth)}function c(O){O.attr("visibility","visible").style("visibility","visible").attr("fill","yellow").attr("opacity",0)}function m(O){if(!O.brush.filterSpecified)return"0,"+O.height;for(var X=d(O.brush.filter.getConsolidated(),O.height),J=[0],se,le,ce,q=X.length?X[0][0]:null,Z=0;ZO[1]+J||X=.9*O[1]+.1*O[0]?"n":X<=.9*O[0]+.1*O[1]?"s":"ns"}function l(){x.select(document.body).style("cursor",null)}function _(O){O.attr("stroke-dasharray",m)}function w(O,X){var J=x.select(O).selectAll(".highlight, .highlight-shadow"),se=X?J.transition().duration(p.bar.snapDuration).each("end",X):J;_(se)}function A(O,X){var J=O.brush,se=J.filterSpecified,le=NaN,ce={},q;if(se){var Z=O.height,ee=J.filter.getConsolidated(),V=d(ee,Z),oe=NaN,ie=NaN,j=NaN;for(q=0;q<=V.length;q++){var Q=V[q];if(Q&&Q[0]<=X&&X<=Q[1]){oe=q;break}else if(ie=q?q-1:NaN,Q&&Q[0]>X){j=q;break}}if(le=oe,isNaN(le)&&(isNaN(ie)||isNaN(j)?le=isNaN(ie)?j:ie:le=X-V[ie][1]=Re[0]&&we<=Re[1]){ce.clickableOrdinalRange=Re;break}}}return ce}function M(O,X){x.event.sourceEvent.stopPropagation();var J=X.height-x.mouse(O)[1]-2*p.verticalPadding,se=X.unitToPaddedPx.invert(J),le=X.brush,ce=A(X,J),q=ce.interval,Z=le.svgBrush;if(Z.wasDragged=!1,Z.grabbingBar=ce.region==="ns",Z.grabbingBar){var ee=q.map(X.unitToPaddedPx);Z.grabPoint=J-ee[0]-p.verticalPadding,Z.barLength=ee[1]-ee[0]}Z.clickableOrdinalRange=ce.clickableOrdinalRange,Z.stayingIntervals=X.multiselect&&le.filterSpecified?le.filter.getConsolidated():[],q&&(Z.stayingIntervals=Z.stayingIntervals.filter(function(V){return V[0]!==q[0]&&V[1]!==q[1]})),Z.startExtent=ce.region?q[ce.region==="s"?1:0]:se,X.parent.inBrushDrag=!0,Z.brushStartCallback()}function g(O,X){x.event.sourceEvent.stopPropagation();var J=X.height-x.mouse(O)[1]-2*p.verticalPadding,se=X.brush.svgBrush;se.wasDragged=!0,se._dragging=!0,se.grabbingBar?se.newExtent=[J-se.grabPoint,J+se.barLength-se.grabPoint].map(X.unitToPaddedPx.invert):se.newExtent=[se.startExtent,X.unitToPaddedPx.invert(J)].sort(e),X.brush.filterSpecified=!0,se.extent=se.stayingIntervals.concat([se.newExtent]),se.brushCallback(X),w(O.parentNode)}function b(O,X){var J=X.brush,se=J.filter,le=J.svgBrush;le._dragging||(v(O,X),g(O,X),X.brush.svgBrush.wasDragged=!1),le._dragging=!1;var ce=x.event;ce.sourceEvent.stopPropagation();var q=le.grabbingBar;if(le.grabbingBar=!1,le.grabLocation=void 0,X.parent.inBrushDrag=!1,l(),!le.wasDragged){le.wasDragged=void 0,le.clickableOrdinalRange?J.filterSpecified&&X.multiselect?le.extent.push(le.clickableOrdinalRange):(le.extent=[le.clickableOrdinalRange],J.filterSpecified=!0):q?(le.extent=le.stayingIntervals,le.extent.length===0&&z(J)):z(J),le.brushCallback(X),w(O.parentNode),le.brushEndCallback(J.filterSpecified?se.getConsolidated():[]);return}var Z=function(){se.set(se.getConsolidated())};if(X.ordinal){var ee=X.unitTickvals;ee[ee.length-1]le.newExtent[0];le.extent=le.stayingIntervals.concat(V?[le.newExtent]:[]),le.extent.length||z(J),le.brushCallback(X),V?w(O.parentNode,Z):(Z(),w(O.parentNode))}else Z();le.brushEndCallback(J.filterSpecified?se.getConsolidated():[])}function v(O,X){var J=X.height-x.mouse(O)[1]-2*p.verticalPadding,se=A(X,J),le="crosshair";se.clickableOrdinalRange?le="pointer":se.region&&(le=se.region+"-resize"),x.select(document.body).style("cursor",le)}function u(O){O.on("mousemove",function(X){x.event.preventDefault(),X.parent.inBrushDrag||v(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(O,X){return O[0]-X[0]}function f(O,X,J){var se=J._context.staticPlot,le=O.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,p.verticalPadding)),le.call(u).attr("height",function(Z){return Z.height-p.verticalPadding});var ce=O.selectAll(".highlight-shadow").data(E);ce.enter().append("line").classed("highlight-shadow",!0).attr("x",-p.bar.width/2).attr("stroke-width",p.bar.width+p.bar.strokeWidth).attr("stroke",X).attr("opacity",p.bar.strokeOpacity).attr("stroke-linecap","butt"),ce.attr("y1",function(Z){return Z.height}).call(_);var q=O.selectAll(".highlight").data(E);q.enter().append("line").classed("highlight",!0).attr("x",-p.bar.width/2).attr("stroke-width",p.bar.width-p.bar.strokeWidth).attr("stroke",p.bar.fillColor).attr("opacity",p.bar.fillOpacity).attr("stroke-linecap","butt"),q.attr("y1",function(Z){return Z.height}).call(_)}function R(O,X,J){var se=O.selectAll("."+p.cn.axisBrush).data(E,S);se.enter().append("g").classed(p.cn.axisBrush,!0),f(se,X,J)}function L(O){return O.svgBrush.extent.map(function(X){return X.slice()})}function z(O){O.filterSpecified=!1,O.svgBrush.extent=[[-1/0,1/0]]}function F(O){return function(J){var se=J.brush,le=L(se),ce=le.slice();se.filter.set(ce),O()}}function N(O){for(var X=O.slice(),J=[],se,le=X.shift();le;){for(se=le.slice();(le=X.shift())&&le[0]<=se[1];)se[1]=Math.max(se[1],le[1]);J.push(se)}return J.length===1&&J[0][0]>J[0][1]&&(J=[]),J}function B(){var O=[],X,J;return{set:function(se){O=se.map(function(le){return le.slice().sort(e)}).sort(y),O.length===1&&O[0][0]===-1/0&&O[0][1]===1/0&&(O=[[0,-1]]),X=N(O),J=O.reduce(function(le,ce){return[Math.min(le[0],ce[0]),Math.max(le[1],ce[1])]},[1/0,-1/0])},get:function(){return O.slice()},getConsolidated:function(){return X},getBounds:function(){return J}}}function I(O,X,J,se,le,ce){var q=B();return q.set(J),{filter:q,filterSpecified:X,svgBrush:{extent:[],brushStartCallback:se,brushCallback:F(le),brushEndCallback:ce}}}function U(O,X){if(Array.isArray(O[0])?(O=O.map(function(se){return se.sort(e)}),X.multiselect?O=N(O.sort(y)):O=[O[0]]):O=[O.sort(e)],X.tickvals){var J=X.tickvals.slice().sort(e);if(O=O.map(function(se){var le=[a(0,J,se[0],[]),a(1,J,se[1],[])];if(le[1]>le[0])return le}).filter(function(se){return se}),!O.length)return}return O.length>1?O:O[0]}H.exports={makeBrush:I,ensureAxisBrush:R,cleanRanges:U}}}),yR=De({"src/traces/parcoords/defaults.js"(Y,H){"use strict";var p=ui(),x=$h().hasColorscale,S=dh(),E=Ec().defaults,e=Vh(),t=us(),r=$5(),o=J5(),i=o1().maxDimensionCount,n=Tb();function a(h,c,m,d,T){var l=T("line.color",m);if(x(h,"line")&&p.isArrayOrTypedArray(l)){if(l.length)return T("line.colorscale"),S(h,c,d,T,{prefix:"line.",cLetter:"c"}),l.length;c.line.color=m}return 1/0}function s(h,c,m,d){function T(M,g){return p.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,d.layout),T("multiselect");var A=T("constraintrange");A&&(c.constraintrange=o.cleanRanges(A,c))}}H.exports=function(c,m,d,T){function l(g,b){return p.coerce(c,m,r,g,b)}var _=c.dimensions;Array.isArray(_)&&_.length>i&&(p.log("parcoords traces support up to "+i+" dimensions at the moment"),_.splice(i));var w=e(c,m,{name:"dimensions",layout:T,handleItemDefaults:s}),A=a(c,m,d,T,l);E(m,T,l),(!Array.isArray(w)||!w.length)&&(m.visible=!1),n(m,w,"values",A);var M=p.extendFlat({},T.font,{size:Math.round(T.font.size/1.2)});p.coerceFont(l,"labelfont",M),p.coerceFont(l,"tickfont",M,{autoShadowDflt:!0}),p.coerceFont(l,"rangefont",M),l("labelangle"),l("labelside"),l("unselected.line.color"),l("unselected.line.opacity")}}}),_R=De({"src/traces/parcoords/calc.js"(Y,H){"use strict";var p=ui().isArrayOrTypedArray,x=oc(),S=Uv().wrap;H.exports=function(t,r){var o,i;return x.hasColorscale(r,"line")&&p(r.line.color)?(o=r.line.color,i=x.extractOpts(r.line).colorscale,x.calc(t,r,{vals:o,containerStr:"line",cLetter:"c"})):(o=E(r._length),i=[[0,r.line.color],[1,r.line.color]]),S({lineColor:o,cscale:i})};function E(e){for(var t=new Array(e),r=0;r>>16,(Y&65280)>>>8,Y&255],alpha:1};if(typeof Y=="number")return{space:"rgb",values:[Y>>>16,(Y&65280)>>>8,Y&255],alpha:1};if(Y=String(Y).toLowerCase(),Ab.default[Y])S=Ab.default[Y].slice(),e="rgb";else if(Y==="transparent")E=0,e="rgb",S=[0,0,0];else if(Y[0]==="#"){var t=Y.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(Y)){var i=x[1];e=i.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(a,s){if(a[a.length-1]==="%")return a=parseFloat(a)/100,s===3?a:e==="rgb"?a*255:e[0]==="h"||e[0]==="l"&&!s?a*100:e==="lab"?a*125:e==="lch"?s<2?a*150:a*360:e[0]==="o"&&!s?a:e==="oklab"?a*.4:e==="oklch"?s<2?a*.4:a*360:a;if(e[s]==="h"||s===2&&e[e.length-1]==="h"){if(Sb[a]!==void 0)return Sb[a];if(a.endsWith("deg"))return parseFloat(a);if(a.endsWith("turn"))return parseFloat(a)*360;if(a.endsWith("grad"))return parseFloat(a)*360/400;if(a.endsWith("rad"))return parseFloat(a)*180/Math.PI}return a==="none"?0:parseFloat(a)}),E=S.length>n?S.pop():1}else/[0-9](?:\s|\/|,)/.test(Y)&&(S=Y.match(/([0-9]+)/g).map(function(a){return parseFloat(a)}),e=((p=(H=Y.match(/([a-z])/ig))==null?void 0:H.join(""))==null?void 0:p.toLowerCase())||"rgb");return{space:e,values:S,alpha:E}}var Ab,Q5,Sb,bR=wi({"node_modules/color-parse/index.js"(){Ab=sa(t5(),1),Q5=xR,Sb={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}}),s1,eA=wi({"node_modules/color-space/rgb.js"(){s1={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}}}),l1,wR=wi({"node_modules/color-space/hsl.js"(){eA(),l1={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(Y){var H=Y[0]/360,p=Y[1]/100,x=Y[2]/100,S,E,e,t,r,o=0;if(p===0)return r=x*255,[r,r,r];for(E=x<.5?x*(1+p):x+p-x*p,S=2*x-E,t=[0,0,0];o<3;)e=H+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}},s1.hsl=function(Y){var H=Y[0]/255,p=Y[1]/255,x=Y[2]/255,S=Math.min(H,p,x),E=Math.max(H,p,x),e=E-S,t,r,o;return E===S?t=0:H===E?t=(p-x)/e:p===E?t=2+(x-H)/e:x===E&&(t=4+(H-p)/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]}}}),tA={};tn(tA,{default:()=>TR});function TR(Y){Array.isArray(Y)&&Y.raw&&(Y=String.raw(...arguments)),Y instanceof Number&&(Y=+Y);var H,p,x,S=Q5(Y);if(!S.space)return[];let E=S.space[0]==="h"?l1.min:s1.min,e=S.space[0]==="h"?l1.max:s1.max;return H=Array(3),H[0]=Math.min(Math.max(S.values[0],E[0]),e[0]),H[1]=Math.min(Math.max(S.values[1],E[1]),e[1]),H[2]=Math.min(Math.max(S.values[2],E[2]),e[2]),S.space[0]==="h"&&(H=l1.rgb(H)),H.push(Math.min(Math.max(S.alpha,0),1)),H}var AR=wi({"node_modules/color-rgba/index.js"(){bR(),eA(),wR()}}),rA=De({"src/traces/parcoords/helpers.js"(Y){"use strict";var H=ui().isTypedArray;Y.convertTypedArray=function(p){return H(p)?Array.prototype.slice.call(p):p},Y.isOrdinal=function(p){return!!p.tickvals},Y.isVisible=function(p){return p.visible||!("visible"in p)}}}),SR=De({"src/traces/parcoords/lines.js"(Y,H){"use strict";var p=["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(` -`),x=["precision highp float;","","varying vec4 fragColor;","","void main() {"," gl_FragColor = fragColor;","}"].join(` -`),S=o1().maxDimensionCount,E=ui(),e=1e-6,t=2048,r=new Uint8Array(4),o=new Uint8Array(4),i={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 a(b,v,u,y,f){var R=b._gl;R.enable(R.SCISSOR_TEST),R.scissor(v,u,y,f),b.clear({color:[0,0,0,0],depth:1})}function s(b,v,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],a(b,R.scissorX,R.scissorY,R.scissorWidth,R.viewBoxSize[1])),!u.clearOnly&&(R.count=2*N,R.offset=2*F*y,v(R),F*y+N>>8*v)%256/255}function d(b,v,u){for(var y=new Array(b*(S+4)),f=0,R=0;Rze&&(ze=ie[ue].dim1.canvasX,we=ue);re===0&&a(f,0,0,N.canvasWidth,N.canvasHeight);var Xe=q(u);for(ue=0;ueue._length&&(nt=nt.slice(0,ue._length));var Ae=ue.tickvals,me;function fe(It,Pt){return{val:It,text:me[Pt]}}function Be(It,Pt){return It.val-Pt.val}if(S(Ae)&&Ae.length){x.isTypedArray(Ae)&&(Ae=Array.from(Ae)),me=ue.ticktext,!S(me)||!me.length?me=Ae.map(E(ue.tickformat)):me.length>Ae.length?me=me.slice(0,Ae.length):Ae.length>me.length&&(Ae=Ae.slice(0,me.length));for(var Qe=1;Qe=Pt||yr>=Vt)return;var qr=$e.lineLayer.readPixel(Cr,Vt-1-yr),Mr=qr[3]!==0,Dr=Mr?qr[2]+256*(qr[1]+256*qr[0]):null,xt={x:Cr,y:yr,clientX:It.clientX,clientY:It.clientY,dataIndex:$e.model.key,curveNumber:Dr};Dr!==we&&(Mr?Z.hover(xt):Z.unhover&&Z.unhover(xt),we=Dr)}}),_e.style("opacity",function($e){return $e.pick?0:1}),oe.style("background","rgba(255, 255, 255, 0)");var ze=oe.selectAll("."+T.cn.parcoords).data(ue,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($e){return o($e.model.translateX,$e.model.translateY)});var Xe=ze.selectAll("."+T.cn.parcoordsControlView).data(c,h);Xe.enter().append("g").classed(T.cn.parcoordsControlView,!0),Xe.attr("transform",function($e){return o($e.model.pad.l,$e.model.pad.t)});var tt=Xe.selectAll("."+T.cn.yAxis).data(function($e){return $e.dimensions},h);tt.enter().append("g").classed(T.cn.yAxis,!0),Xe.each(function($e){U(tt,$e,j)}),_e.each(function($e){if($e.viewModel){!$e.lineLayer||Z?$e.lineLayer=_(this,$e):$e.lineLayer.update($e),($e.key||$e.key===0)&&($e.viewModel[$e.key]=$e.lineLayer);var It=!$e.context||Z;$e.lineLayer.render($e.viewModel.panels,It)}}),tt.attr("transform",function($e){return o($e.xScale($e.xIndex),0)}),tt.call(p.behavior.drag().origin(function($e){return $e}).on("drag",function($e){var It=$e.parent;re.linePickActive(!1),$e.x=Math.max(-T.overdrag,Math.min($e.model.width+T.overdrag,p.event.x)),$e.canvasX=$e.x*$e.model.canvasPixelRatio,tt.sort(function(Pt,Vt){return Pt.x-Vt.x}).each(function(Pt,Vt){Pt.xIndex=Vt,Pt.x=$e===Pt?Pt.x:Pt.xScale(Pt.xIndex),Pt.canvasX=Pt.x*Pt.model.canvasPixelRatio}),U(tt,It,j),tt.filter(function(Pt){return Math.abs($e.xIndex-Pt.xIndex)!==0}).attr("transform",function(Pt){return o(Pt.xScale(Pt.xIndex),0)}),p.select(this).attr("transform",o($e.x,0)),tt.each(function(Pt,Vt,Wt){Wt===$e.parent.key&&(It.dimensions[Vt]=Pt)}),It.contextLayer&&It.contextLayer.render(It.panels,!1,!L(It)),It.focusLayer.render&&It.focusLayer.render(It.panels)}).on("dragend",function($e){var It=$e.parent;$e.x=$e.xScale($e.xIndex),$e.canvasX=$e.x*$e.model.canvasPixelRatio,U(tt,It,j),p.select(this).attr("transform",function(Pt){return o(Pt.x,0)}),It.contextLayer&&It.contextLayer.render(It.panels,!1,!L(It)),It.focusLayer&&It.focusLayer.render(It.panels),It.pickLayer&&It.pickLayer.render(It.panels,!0),re.linePickActive(!0),Z&&Z.axesMoved&&Z.axesMoved(It.key,It.dimensions.map(function(Pt){return Pt.crossfilterDimensionIndex}))})),tt.exit().remove();var it=tt.selectAll("."+T.cn.axisOverlays).data(c,h);it.enter().append("g").classed(T.cn.axisOverlays,!0),it.selectAll("."+T.cn.axis).remove();var et=it.selectAll("."+T.cn.axis).data(c,h);et.enter().append("g").classed(T.cn.axis,!0),et.each(function($e){var It=$e.model.height/$e.model.tickDistance,Pt=$e.domainScale,Vt=Pt.domain();p.select(this).call(p.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(It,$e.tickFormat).tickValues($e.ordinal?Vt:null).tickFormat(function(Wt){return d.isOrdinal($e)?Wt:X($e.model.dimensions[$e.visibleIndex],Wt)}).scale(Pt)),n.font(et.selectAll("text"),$e.model.tickFont)}),et.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),et.selectAll("text").style("cursor","default");var nt=it.selectAll("."+T.cn.axisHeading).data(c,h);nt.enter().append("g").classed(T.cn.axisHeading,!0);var Ae=nt.selectAll("."+T.cn.axisTitle).data(c,h);Ae.enter().append("text").classed(T.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events",ee?"none":"auto"),Ae.text(function($e){return $e.label}).each(function($e){var It=p.select(this);n.font(It,$e.model.labelFont),i.convertToTspans(It,le)}).attr("transform",function($e){var It=I($e.model.labelAngle,$e.model.labelSide),Pt=T.axisTitleOffset;return(It.dir>0?"":o(0,2*Pt+$e.model.height))+r(It.degrees)+o(-Pt*It.dx,-Pt*It.dy)}).attr("text-anchor",function($e){var It=I($e.model.labelAngle,$e.model.labelSide),Pt=Math.abs(It.dx),Vt=Math.abs(It.dy);return 2*Pt>Vt?It.dir*It.dx<0?"start":"end":"middle"});var me=it.selectAll("."+T.cn.axisExtent).data(c,h);me.enter().append("g").classed(T.cn.axisExtent,!0);var fe=me.selectAll("."+T.cn.axisExtentTop).data(c,h);fe.enter().append("g").classed(T.cn.axisExtentTop,!0),fe.attr("transform",o(0,-T.axisExtentOffset));var Be=fe.selectAll("."+T.cn.axisExtentTopText).data(c,h);Be.enter().append("text").classed(T.cn.axisExtentTopText,!0).call(N),Be.text(function($e){return J($e,!0)}).each(function($e){n.font(p.select(this),$e.model.rangeFont)});var Qe=me.selectAll("."+T.cn.axisExtentBottom).data(c,h);Qe.enter().append("g").classed(T.cn.axisExtentBottom,!0),Qe.attr("transform",function($e){return o(0,$e.model.height+T.axisExtentOffset)});var at=Qe.selectAll("."+T.cn.axisExtentBottomText).data(c,h);at.enter().append("text").classed(T.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(N),at.text(function($e){return J($e,!1)}).each(function($e){n.font(p.select(this),$e.model.rangeFont)}),l.ensureAxisBrush(it,Q,le)}}}),iA=De({"src/traces/parcoords/plot.js"(r,H){"use strict";var p=MR(),x=wb(),S=rA().isVisible,E={};function e(o,i,n){var a=i.indexOf(n),s=o.indexOf(a);return s===-1&&(s+=i.length),s}function t(o,i){return function(a,s){return e(o,i,a)-e(o,i,s)}}var r=H.exports=function(i,n){var a=i._fullLayout,s=x(i,[],E);if(s){var h={},c={},m={},d={},T=a._size;n.forEach(function(M,g){var b=M[0].trace;m[g]=b.index;var v=d[g]=b.index;h[g]=i.data[v].dimensions,c[g]=i.data[v].dimensions.slice()});var l=function(M,g,b){var v=c[M][g],u=b.map(function(F){return F.slice()}),y="dimensions["+g+"].constraintrange",f=a._tracePreGUI[i._fullData[m[M]]._fullInput.uid];if(f[y]===void 0){var R=v.constraintrange;f[y]=R||null}var L=i._fullData[m[M]].dimensions[g];u.length?(u.length===1&&(u=u[0]),v.constraintrange=u,L.constraintrange=u.slice(),u=[u]):(delete v.constraintrange,delete L.constraintrange,u=null);var z={};z[y]=u,i.emit("plotly_restyle",[z,[d[M]]])},_=function(M){i.emit("plotly_hover",M)},w=function(M){i.emit("plotly_unhover",M)},A=function(M,g){var b=t(g,c[M].filter(S));h[M].sort(b),c[M].filter(function(v){return!S(v)}).sort(function(v){return c[M].indexOf(v)}).forEach(function(v){h[M].splice(h[M].indexOf(v),1),h[M].splice(c[M].indexOf(v),0,v)}),i.emit("plotly_restyle",[{dimensions:[h[M]]},[d[M]]])};p(i,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}}),ER=De({"src/traces/parcoords/base_plot.js"(Y){"use strict";var H=za(),p=Lh().getModuleCalcData,x=iA(),S=Bd();Y.name="parcoords",Y.plot=function(E){var e=p(E.calcdata,"parcoords")[0];e.length&&x(E,e)},Y.clean=function(E,e,t,r){var o=r._has&&r._has("parcoords"),i=e._has&&e._has("parcoords");o&&!i&&(r._paperdiv.selectAll(".parcoords").remove(),r._glimages.selectAll("*").remove())},Y.toSVG=function(E){var e=E._fullLayout._glimages,t=H.select(E).selectAll(".svg-container"),r=t.filter(function(i,n){return n===t.size()-1}).selectAll(".gl-canvas-context, .gl-canvas-focus");function o(){var i=this,n=i.toDataURL("image/png"),a=e.append("svg:image");a.attr({xmlns:S.svg,"xlink:href":n,preserveAspectRatio:"none",x:0,y:0,width:i.style.width,height:i.style.height})}r.each(o),window.setTimeout(function(){H.selectAll("#filterBarPattern").attr("id","filterBarPattern")},60)}}}),kR=De({"src/traces/parcoords/base_index.js"(Y,H){"use strict";H.exports={attributes:$5(),supplyDefaults:yR(),calc:_R(),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:ER(),categories:["gl","regl","noOpacity","noHover"],meta:{}}}}),CR=De({"src/traces/parcoords/index.js"(Y,H){"use strict";var p=kR();p.plot=iA(),H.exports=p}}),LR=De({"lib/parcoords.js"(Y,H){"use strict";H.exports=CR()}}),aA=De({"src/traces/parcats/attributes.js"(Y,H){"use strict";var p=Xo().extendFlat,x=Yl(),S=qu(),E=zu(),{hovertemplateAttrs:e,templatefallbackAttrs:t}=ou(),r=Ec().attributes,o=p({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"})});H.exports={domain:r({name:"parcats",trace:!0,editType:"calc"}),hoverinfo:p({},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}}}),IR=De({"src/traces/parcats/defaults.js"(Y,H){"use strict";var p=ui(),x=$h().hasColorscale,S=dh(),E=Ec().defaults,e=Vh(),t=aA(),r=Tb(),o=vl().isTypedArraySpec;function i(a,s,h,c,m){m("line.shape"),m("line.hovertemplate"),m("line.hovertemplatefallback");var d=m("line.color",c.colorway[0]);if(x(a,"line")&&p.isArrayOrTypedArray(d)){if(d.length)return m("line.colorscale"),S(a,s,c,m,{prefix:"line.",cLetter:"c"}),d.length;s.line.color=h}return 1/0}function n(a,s){function h(w,A){return p.coerce(a,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 d=a.categoryarray,T=p.isArrayOrTypedArray(d)&&d.length>0||o(d),l;T&&(l="array");var _=h("categoryorder",l);_==="array"?(h("categoryarray"),h("ticktext")):(delete a.categoryarray,delete a.ticktext),!T&&_==="array"&&(s.categoryorder="trace")}}H.exports=function(s,h,c,m){function d(w,A){return p.coerce(s,h,t,w,A)}var T=e(s,h,{name:"dimensions",handleItemDefaults:n}),l=i(s,h,c,m,d);E(h,m,d),(!Array.isArray(T)||!T.length)&&(h.visible=!1),r(h,T,"values",l),d("hoveron"),d("hovertemplate"),d("hovertemplatefallback"),d("arrangement"),d("bundlecolors"),d("sortpaths"),d("counts");var _=m.font;p.coerceFont(d,"labelfont",_,{overrideDflt:{size:Math.round(_.size)}}),p.coerceFont(d,"tickfont",_,{autoShadowDflt:!0,overrideDflt:{size:Math.round(_.size/1.2)}})}}}),PR=De({"src/traces/parcats/calc.js"(Y,H){"use strict";var p=Uv().wrap,x=$h().hasColorscale,S=Jh(),E=Bw(),e=ys(),t=ui(),r=vn();H.exports=function(_,w){var A=t.filterVisible(w.dimensions);if(A.length===0)return[];var M=A.map(function(q){var Z;if(q.categoryorder==="trace")Z=null;else if(q.categoryorder==="array")Z=q.categoryarray;else{Z=E(q.values);for(var ee=!0,V=0;V=l.length||_[l[w]]!==void 0)return!1;_[l[w]]=!0}return!0}}}),RR=De({"src/traces/parcats/parcats.js"(Y,H){"use strict";var p=za(),x=(am(),Ua(i0)).interpolateNumber,S=L_(),E=sf(),e=ui(),t=e.strTranslate,r=ys(),o=wu(),i=vu();function n(V,oe,ie,j){var Q=oe._context.staticPlot,re=V.map(le.bind(0,oe,ie)),ue=j.selectAll("g.parcatslayer").data([null]);ue.enter().append("g").attr("class","parcatslayer").style("pointer-events",Q?"none":"all");var _e=ue.selectAll("g.trace.parcats").data(re,a),we=_e.enter().append("g").attr("class","trace parcats");_e.attr("transform",function(fe){return t(fe.x,fe.y)}),we.append("g").attr("class","paths");var Re=_e.select("g.paths"),ze=Re.selectAll("path.path").data(function(fe){return fe.paths},a);ze.attr("fill",function(fe){return fe.model.color});var Xe=ze.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",function(fe){return fe.model.color}).attr("fill-opacity",0);_(Xe),ze.attr("d",function(fe){return fe.svgD}),Xe.empty()||ze.sort(h),ze.exit().remove(),ze.on("mouseover",c).on("mouseout",m).on("click",l),we.append("g").attr("class","dimensions");var tt=_e.select("g.dimensions"),it=tt.selectAll("g.dimension").data(function(fe){return fe.dimensions},a);it.enter().append("g").attr("class","dimension"),it.attr("transform",function(fe){return t(fe.x,0)}),it.exit().remove();var et=it.selectAll("g.category").data(function(fe){return fe.categories},a),nt=et.enter().append("g").attr("class","category");et.attr("transform",function(fe){return t(0,fe.y)}),nt.append("rect").attr("class","catrect").attr("pointer-events","none"),et.select("rect.catrect").attr("fill","none").attr("width",function(fe){return fe.width}).attr("height",function(fe){return fe.height}),M(nt);var Ae=et.selectAll("rect.bandrect").data(function(fe){return fe.bands},a);Ae.each(function(){e.raiseToTop(this)}),Ae.attr("fill",function(fe){return fe.color});var me=Ae.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",function(fe){return fe.color}).attr("fill-opacity",0);Ae.attr("fill",function(fe){return fe.color}).attr("width",function(fe){return fe.width}).attr("height",function(fe){return fe.height}).attr("y",function(fe){return fe.y}).attr("cursor",function(fe){return fe.parcatsViewModel.arrangement==="fixed"?"default":fe.parcatsViewModel.arrangement==="perpendicular"?"ns-resize":"move"}),b(me),Ae.exit().remove(),nt.append("text").attr("class","catlabel").attr("pointer-events","none"),et.select("text.catlabel").attr("text-anchor",function(fe){return s(fe)?"start":"end"}).attr("alignment-baseline","middle").style("fill","rgb(0, 0, 0)").attr("x",function(fe){return s(fe)?fe.width+5:-5}).attr("y",function(fe){return fe.height/2}).text(function(fe){return fe.model.categoryLabel}).each(function(fe){r.font(p.select(this),fe.parcatsViewModel.categorylabelfont),i.convertToTspans(p.select(this),oe)}),nt.append("text").attr("class","dimlabel"),et.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",function(fe){return fe.parcatsViewModel.arrangement==="fixed"?"default":"ew-resize"}).attr("x",function(fe){return fe.width/2}).attr("y",-5).text(function(fe,Be){return Be===0?fe.parcatsViewModel.model.dimensions[fe.model.dimensionInd].dimensionLabel:null}).each(function(fe){r.font(p.select(this),fe.parcatsViewModel.labelfont)}),et.selectAll("rect.bandrect").on("mouseover",N).on("mouseout",B),et.exit().remove(),it.call(p.behavior.drag().origin(function(fe){return{x:fe.x,y:0}}).on("dragstart",I).on("drag",U).on("dragend",O)),_e.each(function(fe){fe.traceSelection=p.select(this),fe.pathSelection=p.select(this).selectAll("g.paths").selectAll("path.path"),fe.dimensionSelection=p.select(this).selectAll("g.dimensions").selectAll("g.dimension")}),_e.exit().remove()}H.exports=function(V,oe,ie,j){n(ie,V,j,oe)};function a(V){return V.key}function s(V){var oe=V.parcatsViewModel.dimensions.length,ie=V.parcatsViewModel.dimensions[oe-1].model.dimensionInd;return V.model.dimensionInd===ie}function h(V,oe){return V.model.rawColor>oe.model.rawColor?1:V.model.rawColor"),$e=p.mouse(Q)[0];E.loneHover({trace:re,x:et-_e.left+we.left,y:nt-_e.top+we.top,text:at,color:V.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:Ae,idealAlign:$e1&&Re.displayInd===we.dimensions.length-1?(tt=ue.left,it="left"):(tt=ue.left+ue.width,it="right");var et=_e.model.count,nt=_e.model.categoryLabel,Ae=et/_e.parcatsViewModel.model.count,me={countLabel:et,categoryLabel:nt,probabilityLabel:Ae.toFixed(3)},fe=[];_e.parcatsViewModel.hoverinfoItems.indexOf("count")!==-1&&fe.push(["Count:",me.countLabel].join(" ")),_e.parcatsViewModel.hoverinfoItems.indexOf("probability")!==-1&&fe.push(["P("+me.categoryLabel+"):",me.probabilityLabel].join(" "));var Be=fe.join("
");return{trace:ze,x:j*(tt-oe.left),y:Q*(Xe-oe.top),text:Be,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:it,hovertemplate:ze.hovertemplate,hovertemplateLabels:me,eventData:[{data:ze._input,fullData:ze,count:et,category:nt,probability:Ae}]}}function z(V,oe,ie){var j=[];return p.select(ie.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each(function(){var Q=this;j.push(L(V,oe,Q))}),j}function F(V,oe,ie){V._fullLayout._calcInverseTransform(V);var j=V._fullLayout._invScaleX,Q=V._fullLayout._invScaleY,re=ie.getBoundingClientRect(),ue=p.select(ie).datum(),_e=ue.categoryViewModel,we=_e.parcatsViewModel,Re=we.model.dimensions[_e.model.dimensionInd],ze=we.trace,Xe=re.y+re.height/2,tt,it;we.dimensions.length>1&&Re.displayInd===we.dimensions.length-1?(tt=re.left,it="left"):(tt=re.left+re.width,it="right");var et=_e.model.categoryLabel,nt=ue.parcatsViewModel.model.count,Ae=0;ue.categoryViewModel.bands.forEach(function(Wt){Wt.color===ue.color&&(Ae+=Wt.count)});var me=_e.model.count,fe=0;we.pathSelection.each(function(Wt){Wt.model.color===ue.color&&(fe+=Wt.model.count)});var Be=Ae/nt,Qe=Ae/fe,at=Ae/me,$e={countLabel:Ae,categoryLabel:et,probabilityLabel:Be.toFixed(3)},It=[];_e.parcatsViewModel.hoverinfoItems.indexOf("count")!==-1&&It.push(["Count:",$e.countLabel].join(" ")),_e.parcatsViewModel.hoverinfoItems.indexOf("probability")!==-1&&(It.push("P(color \u2229 "+et+"): "+$e.probabilityLabel),It.push("P("+et+" | color): "+Qe.toFixed(3)),It.push("P(color | "+et+"): "+at.toFixed(3)));var Pt=It.join("
"),Vt=o.mostReadable(ue.color,["black","white"]);return{trace:ze,x:j*(tt-oe.left),y:Q*(Xe-oe.top),text:Pt,color:ue.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:Vt,fontSize:10,idealAlign:it,hovertemplate:ze.hovertemplate,hovertemplateLabels:$e,eventData:[{data:ze._input,fullData:ze,category:et,count:nt,probability:Be,categorycount:me,colorcount:fe,bandcolorcount:Ae}]}}function N(V){if(!V.parcatsViewModel.dragDimension&&V.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1){var oe=p.mouse(this)[1];if(oe<-1)return;var ie=V.parcatsViewModel.graphDiv,j=ie._fullLayout,Q=j._paperdiv.node().getBoundingClientRect(),re=V.parcatsViewModel.hoveron,ue=this;if(re==="color"?(y(ue),R(ue,"plotly_hover",p.event)):(u(ue),f(ue,"plotly_hover",p.event)),V.parcatsViewModel.hoverinfoItems.indexOf("none")===-1){var _e;re==="category"?_e=L(ie,Q,ue):re==="color"?_e=F(ie,Q,ue):re==="dimension"&&(_e=z(ie,Q,ue)),_e&&E.loneHover(_e,{container:j._hoverlayer.node(),outerContainer:j._paper.node(),gd:ie})}}}function B(V){var oe=V.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 ie=V.parcatsViewModel.hoveron,j=this;ie==="color"?R(j,"plotly_unhover",p.event):f(j,"plotly_unhover",p.event)}}function I(V){V.parcatsViewModel.arrangement!=="fixed"&&(V.dragDimensionDisplayInd=V.model.displayInd,V.initialDragDimensionDisplayInds=V.parcatsViewModel.model.dimensions.map(function(oe){return oe.displayInd}),V.dragHasMoved=!1,V.dragCategoryDisplayInd=null,p.select(this).selectAll("g.category").select("rect.catrect").each(function(oe){var ie=p.mouse(this)[0],j=p.mouse(this)[1];-2<=ie&&ie<=oe.width+2&&-2<=j&&j<=oe.height+2&&(V.dragCategoryDisplayInd=oe.model.displayInd,V.initialDragCategoryDisplayInds=V.model.categories.map(function(Q){return Q.displayInd}),oe.model.dragY=oe.y,e.raiseToTop(this.parentNode),p.select(this.parentNode).selectAll("rect.bandrect").each(function(Q){Q.yze.y+ze.height/2&&(re.model.displayInd=ze.model.displayInd,ze.model.displayInd=_e),V.dragCategoryDisplayInd=re.model.displayInd}if(V.dragCategoryDisplayInd===null||V.parcatsViewModel.arrangement==="freeform"){Q.model.dragX=p.event.x;var Xe=V.parcatsViewModel.dimensions[ie],tt=V.parcatsViewModel.dimensions[j];Xe!==void 0&&Q.model.dragXtt.x&&(Q.model.displayInd=tt.model.displayInd,tt.model.displayInd=V.dragDimensionDisplayInd),V.dragDimensionDisplayInd=Q.model.displayInd}Z(V.parcatsViewModel),q(V.parcatsViewModel),se(V.parcatsViewModel),J(V.parcatsViewModel)}}function O(V){if(V.parcatsViewModel.arrangement!=="fixed"&&V.dragDimensionDisplayInd!==null){p.select(this).selectAll("text").attr("font-weight","normal");var oe={},ie=X(V.parcatsViewModel),j=V.parcatsViewModel.model.dimensions.map(function(tt){return tt.displayInd}),Q=V.initialDragDimensionDisplayInds.some(function(tt,it){return tt!==j[it]});Q&&j.forEach(function(tt,it){var et=V.parcatsViewModel.model.dimensions[it].containerInd;oe["dimensions["+et+"].displayindex"]=tt});var re=!1;if(V.dragCategoryDisplayInd!==null){var ue=V.model.categories.map(function(tt){return tt.displayInd});if(re=V.initialDragCategoryDisplayInds.some(function(tt,it){return tt!==ue[it]}),re){var _e=V.model.categories.slice().sort(function(tt,it){return tt.displayInd-it.displayInd}),we=_e.map(function(tt){return tt.categoryValue}),Re=_e.map(function(tt){return tt.categoryLabel});oe["dimensions["+V.model.containerInd+"].categoryarray"]=[we],oe["dimensions["+V.model.containerInd+"].ticktext"]=[Re],oe["dimensions["+V.model.containerInd+"].categoryorder"]="array"}}if(V.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1&&!V.dragHasMoved&&V.potentialClickBand&&(V.parcatsViewModel.hoveron==="color"?R(V.potentialClickBand,"plotly_click",p.event.sourceEvent):f(V.potentialClickBand,"plotly_click",p.event.sourceEvent)),V.model.dragX=null,V.dragCategoryDisplayInd!==null){var ze=V.parcatsViewModel.dimensions[V.dragDimensionDisplayInd].categories[V.dragCategoryDisplayInd];ze.model.dragY=null,V.dragCategoryDisplayInd=null}V.dragDimensionDisplayInd=null,V.parcatsViewModel.dragDimension=null,V.dragHasMoved=null,V.potentialClickBand=null,Z(V.parcatsViewModel),q(V.parcatsViewModel);var Xe=p.transition().duration(300).ease("cubic-in-out");Xe.each(function(){se(V.parcatsViewModel,!0),J(V.parcatsViewModel,!0)}).each("end",function(){(Q||re)&&S.restyle(V.parcatsViewModel.graphDiv,oe,[ie])})}}function X(V){for(var oe,ie=V.graphDiv._fullData,j=0;j=0;we--)Re+="C"+ue[we]+","+(oe[we+1]+j)+" "+re[we]+","+(oe[we]+j)+" "+(V[we]+ie[we])+","+(oe[we]+j),Re+="l-"+ie[we]+",0 ";return Re+="Z",Re}function q(V){var oe=V.dimensions,ie=V.model,j=oe.map(function(qr){return qr.categories.map(function(Mr){return Mr.y})}),Q=V.model.dimensions.map(function(qr){return qr.categories.map(function(Mr){return Mr.displayInd})}),re=V.model.dimensions.map(function(qr){return qr.displayInd}),ue=V.dimensions.map(function(qr){return qr.model.dimensionInd}),_e=oe.map(function(qr){return qr.x}),we=oe.map(function(qr){return qr.width}),Re=[];for(var ze in ie.paths)ie.paths.hasOwnProperty(ze)&&Re.push(ie.paths[ze]);function Xe(qr){var Mr=qr.categoryInds.map(function(xt,Ne){return Q[Ne][xt]}),Dr=ue.map(function(xt){return Mr[xt]});return Dr}Re.sort(function(qr,Mr){var Dr=Xe(qr),xt=Xe(Mr);return V.sortpaths==="backward"&&(Dr.reverse(),xt.reverse()),Dr.push(qr.valueInds[0]),xt.push(Mr.valueInds[0]),V.bundlecolors&&(Dr.unshift(qr.rawColor),xt.unshift(Mr.rawColor)),Drxt?1:0});for(var tt=new Array(Re.length),it=oe[0].model.count,et=oe[0].categories.map(function(qr){return qr.height}).reduce(function(qr,Mr){return qr+Mr}),nt=0;nt0?me=et*(Ae.count/it):me=0;for(var fe=new Array(j.length),Be=0;Be1?ue=(V.width-2*ie-j)/(Q-1):ue=0,_e=ie,we=_e+ue*re;var Re=[],ze=V.model.maxCats,Xe=oe.categories.length,tt=8,it=oe.count,et=V.height-tt*(ze-1),nt,Ae,me,fe,Be,Qe=(ze-Xe)*tt/2,at=oe.categories.map(function($e){return{displayInd:$e.displayInd,categoryInd:$e.categoryInd}});for(at.sort(function($e,It){return $e.displayInd-It.displayInd}),Be=0;Be0?nt=Ae.count/it*et:nt=0,me={key:Ae.valueInds[0],model:Ae,width:j,height:nt,y:Ae.dragY!==null?Ae.dragY:Qe,bands:[],parcatsViewModel:V},Qe=Qe+nt+tt,Re.push(me);return{key:oe.dimensionInd,x:oe.dragX!==null?oe.dragX:we,y:0,width:j,model:oe,categories:Re,parcatsViewModel:V,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}}}),nA=De({"src/traces/parcats/plot.js"(Y,H){"use strict";var p=RR();H.exports=function(S,E,e,t){var r=S._fullLayout,o=r._paper,i=r._size;p(S,o,E,{width:i.w,height:i.h,margin:{t:i.t,r:i.r,b:i.b,l:i.l}},e,t)}}}),DR=De({"src/traces/parcats/base_plot.js"(Y){"use strict";var H=Lh().getModuleCalcData,p=nA(),x="parcats";Y.name=x,Y.plot=function(S,E,e,t){var r=H(S.calcdata,x);if(r.length){var o=r[0];p(S,o,e,t)}},Y.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()}}}),zR=De({"src/traces/parcats/index.js"(Y,H){"use strict";H.exports={attributes:aA(),supplyDefaults:IR(),calc:PR(),plot:nA(),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:DR(),categories:["noOpacity"],meta:{}}}}),FR=De({"lib/parcats.js"(Y,H){"use strict";H.exports=zR()}}),_p=De({"src/plots/mapbox/constants.js"(Y,H){"use strict";var p=jp(),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=p(r);H.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(` -`),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(` -`),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(` -`),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(` -`),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')`}}}}),u1=De({"src/plots/mapbox/layout_attributes.js"(Y,H){"use strict";var p=ui(),x=vo().defaultLine,S=Ec().attributes,E=qu(),e=lf().textposition,t=gc().overrideAll,r=Gl().templatedArray,o=_p(),i=E({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});i.family.dflt="Open Sans Regular, Arial Unicode MS Regular";var n=H.exports=t({_arrayAttrRegexps:[p.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:i,textposition:p.extendFlat({},e,{arrayOk:!1})}})},"plot","from-root");n.uirevision={valType:"any",editType:"none"}}}),Mb=De({"src/traces/scattermapbox/attributes.js"(Y,H){"use strict";var{hovertemplateAttrs:p,texttemplateAttrs:x,templatefallbackAttrs:S}=ou(),E=vv(),e=om(),t=lf(),r=u1(),o=Yl(),i=zu(),n=Xo().extendFlat,a=gc().overrideAll,s=u1(),h=e.line,c=e.marker;H.exports=a({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},i("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:p(),hovertemplatefallback:S()},"calc","nested")}}),oA=De({"src/traces/scattermapbox/constants.js"(Y,H){"use strict";var p=["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"];H.exports={isSupportedFont:function(x){return p.indexOf(x)!==-1}}}}),BR=De({"src/traces/scattermapbox/defaults.js"(Y,H){"use strict";var p=ui(),x=Hu(),S=Od(),E=Wd(),e=Xd(),t=mv(),r=Mb(),o=oA().isSupportedFont;H.exports=function(a,s,h,c){function m(y,f){return p.coerce(a,s,r,y,f)}function d(y,f){return p.coerce2(a,s,r,y,f)}var T=i(a,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(a,s,h,c,m,{noLine:!0,noAngle:!0}),m("marker.allowoverlap"),m("marker.angle");var l=s.marker;l.symbol!=="circle"&&(p.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),p.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}x.hasLines(s)&&(E(a,s,h,c,m,{noDash:!0}),m("connectgaps"));var _=d("cluster.maxzoom"),w=d("cluster.step"),A=d("cluster.color",s.marker&&s.marker.color||h),M=d("cluster.size"),g=d("cluster.opacity"),b=_!==!1||w!==!1||A!==!1||M!==!1||g!==!1,v=m("cluster.enabled",b);if(v||x.hasText(s)){var u=c.font.family;e(a,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(a,s,h,m),p.coerceSelectionMarkerOpacity(s,m)};function i(n,a,s){var h=s("lon")||[],c=s("lat")||[],m=Math.min(h.length,c.length);return a._length=m,m}}}),sA=De({"src/traces/scattermapbox/format_labels.js"(Y,H){"use strict";var p=us();H.exports=function(S,E,e){var t={},r=e[E.subplot]._subplot,o=r.mockAxis,i=S.lonlat;return t.lonLabel=p.tickText(o,o.c2l(i[0]),!0).text,t.latLabel=p.tickText(o,o.c2l(i[1]),!0).text,t}}}),lA=De({"src/plots/mapbox/convert_text_opts.js"(Y,H){"use strict";var p=ui();H.exports=function(S,E){var e=S.split(" "),t=e[0],r=e[1],o=p.isArrayOrTypedArray(E)?p.mean(E):E,i=.5+o/100,n=1.5+o/100,a=["",""],s=[0,0];switch(t){case"top":a[0]="top",s[1]=-n;break;case"bottom":a[0]="bottom",s[1]=n;break}switch(r){case"left":a[1]="right",s[0]=-i;break;case"right":a[1]="left",s[0]=i;break}var h;return a[0]&&a[1]?h=a.join("-"):a[0]?h=a[0]:a[1]?h=a[1]:h="center",{anchor:h,offset:s}}}}),OR=De({"src/traces/scattermapbox/convert.js"(Y,H){"use strict";var p=vn(),x=ui(),S=zn().BADNUM,E=o0(),e=oc(),t=ys(),r=Km(),o=Hu(),i=oA().isSupportedFont,n=lA(),a=Ad().appendArrayPointValue,s=vu().NEWLINES,h=vu().BR_TAG_ALL;H.exports=function(g,b){var v=b[0].trace,u=v.visible===!0&&v._length!==0,y=v.fill!=="none",f=o.hasLines(v),R=o.hasMarkers(v),L=o.hasText(v),z=R&&v.marker.symbol==="circle",F=R&&v.marker.symbol!=="circle",N=v.cluster&&v.cluster.enabled,B=c("fill"),I=c("line"),U=c("circle"),O=c("symbol"),X={fill:B,line:I,circle:U,symbol:O};if(!u)return X;var J;if((y||f)&&(J=E.calcTraceToLineCoords(b)),y&&(B.geojson=E.makePolygon(J),B.layout.visibility="visible",x.extendFlat(B.paint,{"fill-color":v.fillcolor})),f&&(I.geojson=E.makeLine(J),I.layout.visibility="visible",x.extendFlat(I.paint,{"line-width":v.line.width,"line-color":v.line.color,"line-opacity":v.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(v.cluster.color,v.cluster.step),"circle-radius":w(v.cluster.size,v.cluster.step),"circle-opacity":w(v.cluster.opacity,v.cluster.step)}},X.clusterCount={type:"symbol",filter:["has","point_count"],paint:{},layout:{"text-field":"{point_count_abbreviated}","text-font":A(v),"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)&&(O.geojson=d(b,g),x.extendFlat(O.layout,{visibility:"visible","icon-image":"{symbol}-15","text-field":"{text}"}),F&&(x.extendFlat(O.layout,{"icon-size":v.marker.size/10}),"angle"in v.marker&&v.marker.angle!=="auto"&&x.extendFlat(O.layout,{"icon-rotate":{type:"identity",property:"angle"},"icon-rotation-alignment":"map"}),O.layout["icon-allow-overlap"]=v.marker.allowoverlap,x.extendFlat(O.paint,{"icon-opacity":v.opacity*v.marker.opacity,"icon-color":v.marker.color})),L)){var le=(v.marker||{}).size,ce=n(v.textposition,le);x.extendFlat(O.layout,{"text-size":v.textfont.size,"text-anchor":ce.anchor,"text-offset":ce.offset,"text-font":A(v)}),x.extendFlat(O.paint,{"text-color":v.textfont.color,"text-opacity":v.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,v=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 B;f&&(B=function(le){var ce=p(le)?+x.constrain(le,0,1):0;return L(ce)});var I=[];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"),i(R)||(R=b);var L=R.split(", ");return L}}}),NR=De({"src/traces/scattermapbox/plot.js"(Y,H){"use strict";var p=ui(),x=OR(),S=_p().traceLayerPrefix,E={cluster:["cluster","clusterCount","circle"],nonCluster:["fill","line","circle","symbol"]};function e(r,o,i,n){this.type="scattermapbox",this.subplot=r,this.uid=o,this.clusterEnabled=i,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,i){var n={type:"geojson",data:o.geojson};i&&i.enabled&&p.extendFlat(n,{cluster:!0,clusterMaxZoom:i.maxzoom});var a=this.subplot.map.getSource(this.sourceIds[r]);a?a.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,i){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 a=this.layerIds[r],s,h=this.subplot.getMapLayers(),c=0;c=0;f--){var R=y[f];a.removeLayer(d.layerIds[R])}u||a.removeSource(d.sourceIds.circle)}function _(u){for(var y=E.nonCluster,f=0;f=0;f--){var R=y[f];a.removeLayer(d.layerIds[R]),u||a.removeSource(d.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 a=i[n];o.removeLayer(this.layerIds[a]),o.removeSource(this.sourceIds[a])}},H.exports=function(o,i){var n=i[0].trace,a=n.cluster&&n.cluster.enabled,s=n.visible!==!0,h=new e(o,n.uid,a,s),c=x(o.gd,i),m=h.below=o.belowLookup["trace-"+n.uid],d,T,l;if(a)for(h.addSource("circle",c.circle,n.cluster),d=0;d=0?Math.floor((n+180)/360):Math.ceil((n-180)/360),M=A*360,g=n-M;function b(N){var B=N.lonlat;if(B[0]===e||_&&T.indexOf(N.i+1)===-1)return 1/0;var I=x.modHalf(B[0],360),U=B[1],O=d.project([I,U]),X=O.x-c.c2p([g,U]),J=O.y-m.c2p([I,a]),se=Math.max(3,N.mrc||0);return Math.max(Math.sqrt(X*X+J*J)-se,1-3/se)}if(p.getClosest(s,b,i),i.index!==!1){var v=s[i.index],u=v.lonlat,y=[x.modHalf(u[0],360)+M,u[1]],f=c.c2p(y),R=m.c2p(y),L=v.mrc||1;i.x0=f-L,i.x1=f+L,i.y0=R-L,i.y1=R+L;var z={};z[h.subplot]={_subplot:d};var F=h._module.formatLabels(v,h,z);return i.lonLabel=F.lonLabel,i.latLabel=F.latLabel,i.color=S(h,v),i.extraText=o(h,v,s[0].t.labels),i.hovertemplate=h.hovertemplate,[i]}}function o(i,n,a){if(i.hovertemplate)return;var s=n.hi||i.hoverinfo,h=s.split("+"),c=h.indexOf("all")!==-1,m=h.indexOf("lon")!==-1,d=h.indexOf("lat")!==-1,T=n.lonlat,l=[];function _(w){return w+"\xB0"}return c||m&&d?l.push("("+_(T[1])+", "+_(T[0])+")"):m?l.push(a.lon+_(T[0])):d&&l.push(a.lat+_(T[1])),(c||h.indexOf("text")!==-1)&&E(n,i,l),l.join("
")}H.exports={hoverPoints:r,getExtraText:o}}}),UR=De({"src/traces/scattermapbox/event_data.js"(Y,H){"use strict";H.exports=function(x,S){return x.lon=S.lon,x.lat=S.lat,x}}}),jR=De({"src/traces/scattermapbox/select.js"(Y,H){"use strict";var p=ui(),x=Hu(),S=zn().BADNUM;H.exports=function(e,t){var r=e.cd,o=e.xaxis,i=e.yaxis,n=[],a=r[0].trace,s;if(!x.hasMarkers(a))return[];if(t===!1)for(s=0;s"u"&&(C=1e-6);var G,ne,ye,Pe,Ve;for(ye=k,Ve=0;Ve<8;Ve++){if(Pe=this.sampleCurveX(ye)-k,Math.abs(Pe)ne)return ne;for(;GPe?G=ye:ne=ye,ye=(ne-G)*.5+G}return ye},i.prototype.solve=function(k,C){return this.sampleCurveY(this.solveCurveX(k,C))};var n=a;function a(k,C){this.x=k,this.y=C}a.prototype={clone:function(){return new a(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,G=k.y-this.y;return C*C+G*G},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,G=k[2]*this.x+k[3]*this.y;return this.x=C,this.y=G,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),G=Math.sin(k),ne=C*this.x-G*this.y,ye=G*this.x+C*this.y;return this.x=ne,this.y=ye,this},_rotateAround:function(k,C){var G=Math.cos(k),ne=Math.sin(k),ye=C.x+G*(this.x-C.x)-ne*(this.y-C.y),Pe=C.y+ne*(this.x-C.x)+G*(this.y-C.y);return this.x=ye,this.y=Pe,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},a.convert=function(k){return k instanceof a?k:Array.isArray(k)?new a(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 G=0;G=1)return 1;var C=k*k,G=C*k;return 4*(k<.5?G:3*(k-C)+G-.75)}function d(k,C,G,ne){var ye=new o(k,C,G,ne);return function(Pe){return ye.solve(Pe)}}var T=d(.25,.1,.25,1);function l(k,C,G){return Math.min(G,Math.max(C,k))}function _(k,C,G){var ne=G-C,ye=((k-C)%ne+ne)%ne+C;return ye===C?G:ye}function w(k,C,G){if(!k.length)return G(null,[]);var ne=k.length,ye=new Array(k.length),Pe=null;k.forEach(function(Ve,ft){C(Ve,function(Rt,Ht){Rt&&(Pe=Rt),ye[ft]=Ht,--ne===0&&G(Pe,ye)})})}function A(k){var C=[];for(var G in k)C.push(k[G]);return C}function M(k,C){var G=[];for(var ne in k)ne in C||G.push(ne);return G}function g(k){for(var C=[],G=arguments.length-1;G-- >0;)C[G]=arguments[G+1];for(var ne=0,ye=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(G){C[G]&&(C[G]=C[G].bind(C))})}function z(k,C){return k.indexOf(C,k.length-C.length)!==-1}function F(k,C,G){var ne={};for(var ye in k)ne[ye]=C.call(G||this,k[ye],ye,k);return ne}function N(k,C,G){var ne={};for(var ye in k)C.call(G||this,k[ye],ye,k)&&(ne[ye]=k[ye]);return ne}function B(k){return Array.isArray(k)?k.map(B):typeof k=="object"&&k?F(k,B):k}function I(k,C){for(var G=0;G=0)return!0;return!1}var U={};function O(k){U[k]||(typeof console<"u"&&console.warn(k),U[k]=!0)}function X(k,C,G){return(G.y-k.y)*(C.x-k.x)>(C.y-k.y)*(G.x-k.x)}function J(k){for(var C=0,G=0,ne=k.length,ye=ne-1,Pe=void 0,Ve=void 0;G@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,G={};if(k.replace(C,function(ye,Pe,Ve,ft){var Rt=Ve||ft;return G[Pe]=Rt?Rt.toLowerCase():!0,""}),G["max-age"]){var ne=parseInt(G["max-age"],10);isNaN(ne)?delete G["max-age"]:G["max-age"]=ne}return G}var q=null;function Z(k){if(q==null){var C=k.navigator?k.navigator.userAgent:null;q=!!k.safari||!!(C&&(/\b(iPad|iPhone|iPod)\b/.test(C)||C.match("Safari")&&!C.match("Chrome")))}return q}function ee(k){try{var C=s[k];return C.setItem("_mapbox_test_",1),C.removeItem("_mapbox_test_"),!0}catch{return!1}}function V(k){return s.btoa(encodeURIComponent(k).replace(/%([0-9A-F]{2})/g,function(C,G){return String.fromCharCode(+("0x"+G))}))}function oe(k){return decodeURIComponent(s.atob(k).split("").map(function(C){return"%"+("00"+C.charCodeAt(0).toString(16)).slice(-2)}).join(""))}var ie=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,ue,_e={now:ie,frame:function(C){var G=j(C);return{cancel:function(){return Q(G)}}},getImageData:function(C,G){G===void 0&&(G=0);var ne=s.document.createElement("canvas"),ye=ne.getContext("2d");if(!ye)throw new Error("failed to create canvas 2d context");return ne.width=C.width,ne.height=C.height,ye.drawImage(C,0,0,C.width,C.height),ye.getImageData(-G,-G,C.width+2*G,C.height+2*G)},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?(ue==null&&(ue=s.matchMedia("(prefers-reduced-motion: reduce)")),ue.matches):!1}},we={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},Re={supported:!1,testSupport:et},ze,Xe=!1,tt,it=!1;s.document&&(tt=s.document.createElement("img"),tt.onload=function(){ze&&nt(ze),ze=null,it=!0},tt.onerror=function(){Xe=!0,ze=null},tt.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");function et(k){Xe||!tt||(it?nt(k):ze=k)}function nt(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,tt),k.isContextLost())return;Re.supported=!0}catch{}k.deleteTexture(C),Xe=!0}var Ae="01";function me(){for(var k="1",C="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",G="",ne=0;ne<10;ne++)G+=C[Math.floor(Math.random()*62)];var ye=12*60*60*1e3,Pe=[k,Ae,G].join(""),Ve=Date.now()+ye;return{token:Pe,tokenExpiresAt:Ve}}var fe=function(C,G){this._transformRequestFn=C,this._customAccessToken=G,this._createSkuToken()};fe.prototype._createSkuToken=function(){var C=me();this._skuToken=C.token,this._skuTokenExpiresAt=C.tokenExpiresAt},fe.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},fe.prototype.transformRequest=function(C,G){return this._transformRequestFn?this._transformRequestFn(C,G)||{url:C}:{url:C}},fe.prototype.normalizeStyleURL=function(C,G){if(!Be(C))return C;var ne=Vt(C);return ne.path="/styles/v1"+ne.path,this._makeAPIURL(ne,this._customAccessToken||G)},fe.prototype.normalizeGlyphsURL=function(C,G){if(!Be(C))return C;var ne=Vt(C);return ne.path="/fonts/v1"+ne.path,this._makeAPIURL(ne,this._customAccessToken||G)},fe.prototype.normalizeSourceURL=function(C,G){if(!Be(C))return C;var ne=Vt(C);return ne.path="/v4/"+ne.authority+".json",ne.params.push("secure"),this._makeAPIURL(ne,this._customAccessToken||G)},fe.prototype.normalizeSpriteURL=function(C,G,ne,ye){var Pe=Vt(C);return Be(C)?(Pe.path="/styles/v1"+Pe.path+"/sprite"+G+ne,this._makeAPIURL(Pe,this._customAccessToken||ye)):(Pe.path+=""+G+ne,Wt(Pe))},fe.prototype.normalizeTileURL=function(C,G){if(this._isSkuTokenExpired()&&this._createSkuToken(),C&&!Be(C))return C;var ne=Vt(C),ye=/(\.(png|jpg)\d*)(?=$)/,Pe=/^.+\/v4\//,Ve=_e.devicePixelRatio>=2||G===512?"@2x":"",ft=Re.supported?".webp":"$1";ne.path=ne.path.replace(ye,""+Ve+ft),ne.path=ne.path.replace(Pe,"/"),ne.path="/v4"+ne.path;var Rt=this._customAccessToken||It(ne.params)||we.ACCESS_TOKEN;return we.REQUIRE_ACCESS_TOKEN&&Rt&&this._skuToken&&ne.params.push("sku="+this._skuToken),this._makeAPIURL(ne,Rt)},fe.prototype.canonicalizeTileURL=function(C,G){var ne="/v4/",ye=/\.[\w]+$/,Pe=Vt(C);if(!Pe.path.match(/(^\/v4\/)/)||!Pe.path.match(ye))return C;var Ve="mapbox://tiles/";Ve+=Pe.path.replace(ne,"");var ft=Pe.params;return G&&(ft=ft.filter(function(Rt){return!Rt.match(/^access_token=/)})),ft.length&&(Ve+="?"+ft.join("&")),Ve},fe.prototype.canonicalizeTileset=function(C,G){for(var ne=G?Be(G):!1,ye=[],Pe=0,Ve=C.tiles||[];Pe=0&&C.params.splice(Pe,1)}if(ye.path!=="/"&&(C.path=""+ye.path+C.path),!we.REQUIRE_ACCESS_TOKEN)return Wt(C);if(G=G||we.ACCESS_TOKEN,!G)throw new Error("An API access token is required to use Mapbox GL. "+ne);if(G[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(Ve){return Ve.indexOf("access_token")===-1}),C.params.push("access_token="+G),Wt(C)};function Be(k){return k.indexOf("mapbox:")===0}var Qe=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;function at(k){return Qe.test(k)}function $e(k){return k.indexOf("sku=")>0&&at(k)}function It(k){for(var C=0,G=k;C=1&&s.localStorage.setItem(G,JSON.stringify(this.eventData))}catch{O("Unable to write to LocalStorage")}},qr.prototype.processRequests=function(C){},qr.prototype.postEvent=function(C,G,ne,ye){var Pe=this;if(we.EVENTS_URL){var Ve=Vt(we.EVENTS_URL);Ve.params.push("access_token="+(ye||we.ACCESS_TOKEN||""));var ft={event:this.type,created:new Date(C).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:r,skuId:Ae,userId:this.anonId},Rt=G?g(ft,G):ft,Ht={url:Wt(Ve),headers:{"Content-Type":"text/plain"},body:JSON.stringify([Rt])};this.pendingRequest=di(Ht,function(rr){Pe.pendingRequest=null,ne(rr),Pe.saveEventData(),Pe.processRequests(ye)})}},qr.prototype.queueRequest=function(C,G){this.queue.push(C),this.processRequests(G)};var Mr=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,ye,Pe,Ve){this.skuToken=Pe,(we.EVENTS_URL&&Ve||we.ACCESS_TOKEN&&Array.isArray(ne)&&ne.some(function(ft){return Be(ft)||at(ft)}))&&this.queueRequest({id:ye,timestamp:Date.now()},Ve)},C.prototype.processRequests=function(ne){var ye=this;if(!(this.pendingRequest||this.queue.length===0)){var Pe=this.queue.shift(),Ve=Pe.id,ft=Pe.timestamp;Ve&&this.success[Ve]||(this.anonId||this.fetchEventData(),R(this.anonId)||(this.anonId=y()),this.postEvent(ft,{skuToken:this.skuToken},function(Rt){Rt||Ve&&(ye.success[Ve]=!0)},ne))}},C}(qr),Dr=function(k){function C(G){k.call(this,"appUserTurnstile"),this._customAccessToken=G}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.postTurnstileEvent=function(ne,ye){we.EVENTS_URL&&we.ACCESS_TOKEN&&Array.isArray(ne)&&ne.some(function(Pe){return Be(Pe)||at(Pe)})&&this.queueRequest(Date.now(),ye)},C.prototype.processRequests=function(ne){var ye=this;if(!(this.pendingRequest||this.queue.length===0)){(!this.anonId||!this.eventData.lastSuccess||!this.eventData.tokenU)&&this.fetchEventData();var Pe=yr(we.ACCESS_TOKEN),Ve=Pe?Pe.u:we.ACCESS_TOKEN,ft=Ve!==this.eventData.tokenU;R(this.anonId)||(this.anonId=y(),ft=!0);var Rt=this.queue.shift();if(this.eventData.lastSuccess){var Ht=new Date(this.eventData.lastSuccess),rr=new Date(Rt),Pr=(Rt-this.eventData.lastSuccess)/(24*60*60*1e3);ft=ft||Pr>=1||Pr<-1||Ht.getDate()!==rr.getDate()}else ft=!0;if(!ft)return this.processRequests();this.postEvent(Rt,{"enabled.telemetry":!1},function(Zr){Zr||(ye.eventData.lastSuccess=Rt,ye.eventData.tokenU=Ve)},ne)}},C}(qr),xt=new Dr,Ne=xt.postTurnstileEvent.bind(xt),Ye=new Mr,be=Ye.postMapLoadEvent.bind(Ye),Ie="mapbox-tiles",qe=500,ke=50,Me=1e3*60*7,Le;function ut(){s.caches&&!Le&&(Le=s.caches.open(Ie))}var lt;function gt(k,C){if(lt===void 0)try{new Response(new ReadableStream),lt=!0}catch{lt=!1}lt?C(k.body):k.blob().then(C)}function kt(k,C,G){if(ut(),!!Le){var ne={status:C.status,statusText:C.statusText,headers:new s.Headers};C.headers.forEach(function(Ve,ft){return ne.headers.set(ft,Ve)});var ye=ce(C.headers.get("Cache-Control")||"");if(!ye["no-store"]){ye["max-age"]&&ne.headers.set("Expires",new Date(G+ye["max-age"]*1e3).toUTCString());var Pe=new Date(ne.headers.get("Expires")).getTime()-G;PeDate.now()&&!G["no-cache"]}var Ir=1/0;function vi(k){Ir++,Ir>ke&&(k.getActor().send("enforceCacheSizeLimit",qe),Ir=0)}function Vi(k){ut(),Le&&Le.then(function(C){C.keys().then(function(G){for(var ne=0;ne=200&&G.status<300||G.status===0)&&G.response!==null){var ye=G.response;if(k.type==="json")try{ye=JSON.parse(G.response)}catch(Pe){return C(Pe)}C(null,ye,G.getResponseHeader("Cache-Control"),G.getResponseHeader("Expires"))}else C(new Ca(G.statusText,G.status,k.url))},G.send(k.body),{cancel:function(){return G.abort()}}}var Br=function(k,C){if(!zt(k.url)){if(s.fetch&&s.Request&&s.AbortController&&s.Request.prototype.hasOwnProperty("signal"))return Zt(k,C);if(le()&&self.worker&&self.worker.actor){var G=!0;return self.worker.actor.send("getResource",k,C,void 0,G)}}return Jt(k,C)},ri=function(k,C){return Br(g(k,{type:"json"}),C)},ii=function(k,C){return Br(g(k,{type:"arrayBuffer"}),C)},di=function(k,C){return Br(g(k,{method:"POST"}),C)};function Wi(k){var C=s.document.createElement("a");return C.href=k,C.protocol===s.document.location.protocol&&C.host===s.document.location.host}var oa="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";function ra(k,C,G,ne){var ye=new s.Image,Pe=s.URL;ye.onload=function(){C(null,ye),Pe.revokeObjectURL(ye.src),ye.onload=null,s.requestAnimationFrame(function(){ye.src=oa})},ye.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 Ve=new s.Blob([new Uint8Array(k)],{type:"image/png"});ye.cacheControl=G,ye.expires=ne,ye.src=k.byteLength?Pe.createObjectURL(Ve):oa}function ca(k,C){var G=new s.Blob([new Uint8Array(k)],{type:"image/png"});s.createImageBitmap(G).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 xa,ji,pn=function(){xa=[],ji=0};pn();var _n=function(k,C){if(Re.supported&&(k.headers||(k.headers={}),k.headers.accept="image/webp,*/*"),ji>=we.MAX_PARALLEL_IMAGE_REQUESTS){var G={requestParameters:k,callback:C,cancelled:!1,cancel:function(){this.cancelled=!0}};return xa.push(G),G}ji++;var ne=!1,ye=function(){if(!ne)for(ne=!0,ji--;xa.length&&ji0||this._oneTimeListeners&&this._oneTimeListeners[C]&&this._oneTimeListeners[C].length>0||this._eventedParent&&this._eventedParent.listens(C)},br.prototype.setEventedParent=function(C,G){return this._eventedParent=C,this._eventedParentData=G,this};var Rr=8,jr={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"}},Wr={"*":{type:"source"}},yt=["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:"*"}},mr={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:"*"}},ki={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"}},Ni={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"}}},Si={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"}}},fi={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"}},Li=["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],Ia={visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},Fa={"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"}},un={"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"}},Bn={visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},Kn={"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"}},Gn={"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"}},eo={visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},Ao={visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},An={type:"array",value:"*"},Eo={type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},fs={type:"enum",values:{Point:{},LineString:{},Polygon:{}}},Ls={type:"array",minimum:0,maximum:24,value:["number","color"],length:2},ns={type:"array",value:"*",minimum:1},uo={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}},ss=["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],xs={"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"}},el={"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"}},Co={"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"}},ao={"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"}},co={"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"}},Ms={"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"}},Gs={"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"}},ul={duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},hs={"*":{type:"string"}},rn={$version:Rr,$root:jr,sources:Wr,source:yt,source_vector:Xt,source_raster:mr,source_raster_dem:Or,source_geojson:ki,source_video:Ni,source_image:Si,layer:fi,layout:Li,layout_background:Ia,layout_fill:Fa,layout_circle:un,layout_heatmap:Bn,"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:Kn,layout_symbol:Gn,layout_raster:eo,layout_hillshade:Ao,filter:An,filter_operator:Eo,geometry_type:fs,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:Ls,expression:ns,light:uo,paint:ss,paint_fill:xs,"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:el,paint_circle:Ss,paint_heatmap:Co,paint_symbol:ao,paint_raster:co,paint_hillshade:Ms,paint_background:Gs,transition:ul,"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:hs},Xn=function(C,G,ne,ye){this.message=(C?C+": ":"")+ne,ye&&(this.identifier=ye),G!=null&&G.__line__&&(this.line=G.__line__)};function tl(k){var C=k.key,G=k.value;return G?[new Xn(C,G,"constants have been deprecated as of v8")]:[]}function zs(k){for(var C=[],G=arguments.length-1;G-- >0;)C[G]=arguments[G+1];for(var ne=0,ye=C;ne":k.itemType.kind==="value"?"array":"array<"+C+">"}else return k.kind}var Zl=[yl,On,Ko,jo,Ys,Ns,Tu,Es(Lo),rl];function pu(k,C){if(C.kind==="error")return null;if(k.kind==="array"){if(C.kind==="array"&&(C.N===0&&C.itemType.kind==="value"||!pu(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 G=0,ne=Zl;G255?255:Ht}function ye(Ht){return Ht<0?0:Ht>1?1:Ht}function Pe(Ht){return Ht[Ht.length-1]==="%"?ne(parseFloat(Ht)/100*255):ne(parseInt(Ht))}function Ve(Ht){return Ht[Ht.length-1]==="%"?ye(parseFloat(Ht)/100):ye(parseFloat(Ht))}function ft(Ht,rr,Pr){return Pr<0?Pr+=1:Pr>1&&(Pr-=1),Pr*6<1?Ht+(rr-Ht)*Pr*6:Pr*2<1?rr:Pr*3<2?Ht+(rr-Ht)*(2/3-Pr)*6:Ht}function Rt(Ht){var rr=Ht.replace(/ /g,"").toLowerCase();if(rr in G)return G[rr].slice();if(rr[0]==="#"){if(rr.length===4){var Pr=parseInt(rr.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(rr.length===7){var Pr=parseInt(rr.substr(1),16);return Pr>=0&&Pr<=16777215?[(Pr&16711680)>>16,(Pr&65280)>>8,Pr&255,1]:null}return null}var Zr=rr.indexOf("("),Hr=rr.indexOf(")");if(Zr!==-1&&Hr+1===rr.length){var hi=rr.substr(0,Zr),Gi=rr.substr(Zr+1,Hr-(Zr+1)).split(","),Ra=1;switch(hi){case"rgba":if(Gi.length!==4)return null;Ra=Ve(Gi.pop());case"rgb":return Gi.length!==3?null:[Pe(Gi[0]),Pe(Gi[1]),Pe(Gi[2]),Ra];case"hsla":if(Gi.length!==4)return null;Ra=Ve(Gi.pop());case"hsl":if(Gi.length!==3)return null;var ha=(parseFloat(Gi[0])%360+360)%360/360,fn=Ve(Gi[1]),Wa=Ve(Gi[2]),cn=Wa<=.5?Wa*(fn+1):Wa+fn-Wa*fn,bn=Wa*2-cn;return[ne(ft(bn,cn,ha+1/3)*255),ne(ft(bn,cn,ha)*255),ne(ft(bn,cn,ha-1/3)*255),Ra];default:return null}}return null}try{C.parseCSSColor=Rt}catch{}}),Gc=Sf.parseCSSColor,Js=function(C,G,ne,ye){ye===void 0&&(ye=1),this.r=C,this.g=G,this.b=ne,this.a=ye};Js.parse=function(C){if(C){if(C instanceof Js)return C;if(typeof C=="string"){var G=Gc(C);if(G)return new Js(G[0]/255*G[3],G[1]/255*G[3],G[2]/255*G[3],G[3])}}},Js.prototype.toString=function(){var C=this.toArray(),G=C[0],ne=C[1],ye=C[2],Pe=C[3];return"rgba("+Math.round(G)+","+Math.round(ne)+","+Math.round(ye)+","+Pe+")"},Js.prototype.toArray=function(){var C=this,G=C.r,ne=C.g,ye=C.b,Pe=C.a;return Pe===0?[0,0,0,0]:[G*255/Pe,ne*255/Pe,ye*255/Pe,Pe]},Js.black=new Js(0,0,0,1),Js.white=new Js(1,1,1,1),Js.transparent=new Js(0,0,0,0),Js.red=new Js(1,0,0,1);var yc=function(C,G,ne){C?this.sensitivity=G?"variant":"case":this.sensitivity=G?"accent":"base",this.locale=ne,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};yc.prototype.compare=function(C,G){return this.collator.compare(C,G)},yc.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var Zc=function(C,G,ne,ye,Pe){this.text=C,this.image=G,this.scale=ne,this.fontStack=ye,this.textColor=Pe},mu=function(C){this.sections=C};mu.fromString=function(C){return new mu([new Zc(C,null,null,null,null)])},mu.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})},mu.factory=function(C){return C instanceof mu?C:mu.fromString(C)},mu.prototype.toString=function(){return this.sections.length===0?"":this.sections.map(function(C){return C.text}).join("")},mu.prototype.serialize=function(){for(var C=["format"],G=0,ne=this.sections;G=0&&k<=255&&typeof C=="number"&&C>=0&&C<=255&&typeof G=="number"&&G>=0&&G<=255)){var ye=typeof ne=="number"?[k,C,G,ne]:[k,C,G];return"Invalid rgba value ["+ye.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,G,ne].join(", ")+"]: 'a' must be between 0 and 1."}function Gu(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 Js)return!0;if(k instanceof yc)return!0;if(k instanceof mu)return!0;if(k instanceof Vl)return!0;if(Array.isArray(k)){for(var C=0,G=k;C2){var ft=C[1];if(typeof ft!="string"||!(ft in uc)||ft==="object")return G.error('The item type argument of "array" must be one of string, number, boolean',1);Ve=uc[ft],ne++}else Ve=Lo;var Rt;if(C.length>3){if(C[2]!==null&&(typeof C[2]!="number"||C[2]<0||C[2]!==Math.floor(C[2])))return G.error('The length argument to "array" must be a positive integer literal',2);Rt=C[2],ne++}ye=Es(Ve,Rt)}else ye=uc[Pe];for(var Ht=[];ne1)&&G.push(ye)}}return G.concat(this.args.map(function(Pe){return Pe.serialize()}))};var Zu=function(C){this.type=Ns,this.sections=C};Zu.parse=function(C,G){if(C.length<2)return G.error("Expected at least one argument.");var ne=C[1];if(!Array.isArray(ne)&&typeof ne=="object")return G.error("First argument must be an image or text section.");for(var ye=[],Pe=!1,Ve=1;Ve<=C.length-1;++Ve){var ft=C[Ve];if(Pe&&typeof ft=="object"&&!Array.isArray(ft)){Pe=!1;var Rt=null;if(ft["font-scale"]&&(Rt=G.parse(ft["font-scale"],1,On),!Rt))return null;var Ht=null;if(ft["text-font"]&&(Ht=G.parse(ft["text-font"],1,Es(Ko)),!Ht))return null;var rr=null;if(ft["text-color"]&&(rr=G.parse(ft["text-color"],1,Ys),!rr))return null;var Pr=ye[ye.length-1];Pr.scale=Rt,Pr.font=Ht,Pr.textColor=rr}else{var Zr=G.parse(C[Ve],1,Lo);if(!Zr)return null;var Hr=Zr.type.kind;if(Hr!=="string"&&Hr!=="value"&&Hr!=="null"&&Hr!=="resolvedImage")return G.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");Pe=!0,ye.push({content:Zr,scale:null,font:null,textColor:null})}}return new Zu(ye)},Zu.prototype.evaluate=function(C){var G=function(ne){var ye=ne.content.evaluate(C);return _l(ye)===rl?new Zc("",ye,null,null,null):new Zc(Cl(ye),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 mu(this.sections.map(G))},Zu.prototype.eachChild=function(C){for(var G=0,ne=this.sections;G-1),ne},Sl.prototype.eachChild=function(C){C(this.input)},Sl.prototype.outputDefined=function(){return!1},Sl.prototype.serialize=function(){return["image",this.input.serialize()]};var vh={"to-boolean":jo,"to-color":Ys,"to-number":On,"to-string":Ko},ws=function(C,G){this.type=C,this.args=G};ws.parse=function(C,G){if(C.length<2)return G.error("Expected at least one argument.");var ne=C[0];if((ne==="to-boolean"||ne==="to-string")&&C.length!==2)return G.error("Expected one argument.");for(var ye=vh[ne],Pe=[],Ve=1;Ve4?ne="Invalid rbga value "+JSON.stringify(G)+": expected an array containing either three or four numeric values.":ne=lc(G[0],G[1],G[2],G[3]),!ne))return new Js(G[0]/255,G[1]/255,G[2]/255,G[3])}throw new ol(ne||"Could not parse color from value '"+(typeof G=="string"?G:String(JSON.stringify(G)))+"'")}else if(this.type.kind==="number"){for(var Rt=null,Ht=0,rr=this.args;Ht=C[2]||k[1]<=C[1]||k[3]>=C[3])}function Wf(k,C){var G=Cc(k[0]),ne=uf(k[1]),ye=Math.pow(2,C.z);return[Math.round(G*ye*$l),Math.round(ne*ye*$l)]}function Rf(k,C,G){var ne=k[0]-C[0],ye=k[1]-C[1],Pe=k[0]-G[0],Ve=k[1]-G[1];return ne*Ve-Pe*ye===0&&ne*Pe<=0&&ye*Ve<=0}function cf(k,C,G){return C[1]>k[1]!=G[1]>k[1]&&k[0]<(G[0]-C[0])*(k[1]-C[1])/(G[1]-C[1])+C[0]}function Wc(k,C){for(var G=!1,ne=0,ye=C.length;ne0&&Pr<0||rr<0&&Pr>0}function Ef(k,C,G,ne){var ye=[C[0]-k[0],C[1]-k[1]],Pe=[ne[0]-G[0],ne[1]-G[1]];return zf(Pe,ye)===0?!1:!!($u(k,C,G,ne)&&$u(G,ne,k,C))}function cc(k,C,G){for(var ne=0,ye=G;neG[2]){var ye=ne*.5,Pe=k[0]-G[0]>ye?-ne:G[0]-k[0]>ye?ne:0;Pe===0&&(Pe=k[0]-G[2]>ye?-ne:G[2]-k[0]>ye?ne:0),k[0]+=Pe}Mf(C,k)}function kf(k){k[0]=k[1]=1/0,k[2]=k[3]=-1/0}function ah(k,C,G,ne){for(var ye=Math.pow(2,ne.z)*$l,Pe=[ne.x*$l,ne.y*$l],Ve=[],ft=0,Rt=k;ft=0)return!1;var G=!0;return k.eachChild(function(ne){G&&!Bu(ne,C)&&(G=!1)}),G}var Ic=function(C,G){this.type=G.type,this.name=C,this.boundExpression=G};Ic.parse=function(C,G){if(C.length!==2||typeof C[1]!="string")return G.error("'var' expression requires exactly one string literal argument.");var ne=C[1];return G.scope.has(ne)?new Ic(ne,G.scope.get(ne)):G.error('Unknown variable "'+ne+'". Make sure "'+ne+'" has been bound in an enclosing "let" expression before using it.',1)},Ic.prototype.evaluate=function(C){return this.boundExpression.evaluate(C)},Ic.prototype.eachChild=function(){},Ic.prototype.outputDefined=function(){return!1},Ic.prototype.serialize=function(){return["var",this.name]};var xl=function(C,G,ne,ye,Pe){G===void 0&&(G=[]),ye===void 0&&(ye=new nl),Pe===void 0&&(Pe=[]),this.registry=C,this.path=G,this.key=G.map(function(Ve){return"["+Ve+"]"}).join(""),this.scope=ye,this.errors=Pe,this.expectedType=ne};xl.prototype.parse=function(C,G,ne,ye,Pe){return Pe===void 0&&(Pe={}),G?this.concat(G,ne,ye)._parse(C,Pe):this._parse(C,Pe)},xl.prototype._parse=function(C,G){(C===null||typeof C=="string"||typeof C=="boolean"||typeof C=="number")&&(C=["literal",C]);function ne(rr,Pr,Zr){return Zr==="assert"?new Kl(Pr,[rr]):Zr==="coerce"?new ws(Pr,[rr]):rr}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 ye=C[0];if(typeof ye!="string")return this.error("Expression name must be a string, but found "+typeof ye+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var Pe=this.registry[ye];if(Pe){var Ve=Pe.parse(C,this);if(!Ve)return null;if(this.expectedType){var ft=this.expectedType,Rt=Ve.type;if((ft.kind==="string"||ft.kind==="number"||ft.kind==="boolean"||ft.kind==="object"||ft.kind==="array")&&Rt.kind==="value")Ve=ne(Ve,ft,G.typeAnnotation||"assert");else if((ft.kind==="color"||ft.kind==="formatted"||ft.kind==="resolvedImage")&&(Rt.kind==="value"||Rt.kind==="string"))Ve=ne(Ve,ft,G.typeAnnotation||"coerce");else if(this.checkSubtype(ft,Rt))return null}if(!(Ve instanceof Fs)&&Ve.type.kind!=="resolvedImage"&&_c(Ve)){var Ht=new qs;try{Ve=new Fs(Ve.type,Ve.evaluate(Ht))}catch(rr){return this.error(rr.message),null}}return Ve}return this.error('Unknown expression "'+ye+'". 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.")},xl.prototype.concat=function(C,G,ne){var ye=typeof C=="number"?this.path.concat(C):this.path,Pe=ne?this.scope.concat(ne):this.scope;return new xl(this.registry,ye,G||null,Pe,this.errors)},xl.prototype.error=function(C){for(var G=[],ne=arguments.length-1;ne-- >0;)G[ne]=arguments[ne+1];var ye=""+this.key+G.map(function(Pe){return"["+Pe+"]"}).join("");this.errors.push(new Ps(ye,C))},xl.prototype.checkSubtype=function(C,G){var ne=pu(C,G);return ne&&this.error(ne),ne};function _c(k){if(k instanceof Ic)return _c(k.boundExpression);if(k instanceof xo&&k.name==="error")return!1;if(k instanceof Ku)return!1;if(k instanceof Fu)return!1;var C=k instanceof ws||k instanceof Kl,G=!0;return k.eachChild(function(ne){C?G=G&&_c(ne):G=G&&ne instanceof Fs}),G?Bf(k)&&Bu(k,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"]):!1}function Eu(k,C){for(var G=k.length-1,ne=0,ye=G,Pe=0,Ve,ft;ne<=ye;)if(Pe=Math.floor((ne+ye)/2),Ve=k[Pe],ft=k[Pe+1],Ve<=C){if(Pe===G||CC)ye=Pe-1;else throw new ol("Input is not a number.");return 0}var Iu=function(C,G,ne){this.type=C,this.input=G,this.labels=[],this.outputs=[];for(var ye=0,Pe=ne;ye=ft)return G.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',Ht);var Pr=G.parse(Rt,rr,Pe);if(!Pr)return null;Pe=Pe||Pr.type,ye.push([ft,Pr])}return new Iu(Pe,ne,ye)},Iu.prototype.evaluate=function(C){var G=this.labels,ne=this.outputs;if(G.length===1)return ne[0].evaluate(C);var ye=this.input.evaluate(C);if(ye<=G[0])return ne[0].evaluate(C);var Pe=G.length;if(ye>=G[Pe-1])return ne[Pe-1].evaluate(C);var Ve=Eu(G,ye);return ne[Ve].evaluate(C)},Iu.prototype.eachChild=function(C){C(this.input);for(var G=0,ne=this.outputs;G0&&C.push(this.labels[G]),C.push(this.outputs[G].serialize());return C};function Nl(k,C,G){return k*(1-G)+C*G}function Of(k,C,G){return new Js(Nl(k.r,C.r,G),Nl(k.g,C.g,G),Nl(k.b,C.b,G),Nl(k.a,C.a,G))}function Yf(k,C,G){return k.map(function(ne,ye){return Nl(ne,C[ye],G)})}var Wu=Object.freeze({__proto__:null,number:Nl,color:Of,array:Yf}),Pc=.95047,xc=1,_h=1.08883,ff=4/29,yf=6/29,Xu=3*yf*yf,hf=yf*yf*yf,hu=Math.PI/180,Qc=180/Math.PI;function nh(k){return k>hf?Math.pow(k,1/3):k/Xu+ff}function _f(k){return k>yf?k*k*k:Xu*(k-ff)}function bl(k){return 255*(k<=.0031308?12.92*k:1.055*Math.pow(k,1/2.4)-.055)}function ku(k){return k/=255,k<=.04045?k/12.92:Math.pow((k+.055)/1.055,2.4)}function Ou(k){var C=ku(k.r),G=ku(k.g),ne=ku(k.b),ye=nh((.4124564*C+.3575761*G+.1804375*ne)/Pc),Pe=nh((.2126729*C+.7151522*G+.072175*ne)/xc),Ve=nh((.0193339*C+.119192*G+.9503041*ne)/_h);return{l:116*Pe-16,a:500*(ye-Pe),b:200*(Pe-Ve),alpha:k.a}}function Cf(k){var C=(k.l+16)/116,G=isNaN(k.a)?C:C+k.a/500,ne=isNaN(k.b)?C:C-k.b/200;return C=xc*_f(C),G=Pc*_f(G),ne=_h*_f(ne),new Js(bl(3.2404542*G-1.5371385*C-.4985314*ne),bl(-.969266*G+1.8760108*C+.041556*ne),bl(.0556434*G-.2040259*C+1.0572252*ne),k.alpha)}function Ml(k,C,G){return{l:Nl(k.l,C.l,G),a:Nl(k.a,C.a,G),b:Nl(k.b,C.b,G),alpha:Nl(k.alpha,C.alpha,G)}}function df(k){var C=Ou(k),G=C.l,ne=C.a,ye=C.b,Pe=Math.atan2(ye,ne)*Qc;return{h:Pe<0?Pe+360:Pe,c:Math.sqrt(ne*ne+ye*ye),l:G,alpha:k.a}}function Rc(k){var C=k.h*hu,G=k.c,ne=k.l;return Cf({l:ne,a:Math.cos(C)*G,b:Math.sin(C)*G,alpha:k.alpha})}function Ju(k,C,G){var ne=C-k;return k+G*(ne>180||ne<-180?ne-360*Math.round(ne/360):ne)}function xf(k,C,G){return{h:Ju(k.h,C.h,G),c:Nl(k.c,C.c,G),l:Nl(k.l,C.l,G),alpha:Nl(k.alpha,C.alpha,G)}}var Qu={forward:Ou,reverse:Cf,interpolate:Ml},ef={forward:df,reverse:Rc,interpolate:xf},Lf=Object.freeze({__proto__:null,lab:Qu,hcl:ef}),du=function(C,G,ne,ye,Pe){this.type=C,this.operator=G,this.interpolation=ne,this.input=ye,this.labels=[],this.outputs=[];for(var Ve=0,ft=Pe;Ve1}))return G.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);ye={name:"cubic-bezier",controlPoints:Rt}}else return G.error("Unknown interpolation type "+String(ye[0]),1,0);if(C.length-1<4)return G.error("Expected at least 4 arguments, but found only "+(C.length-1)+".");if((C.length-1)%2!==0)return G.error("Expected an even number of arguments.");if(Pe=G.parse(Pe,2,On),!Pe)return null;var Ht=[],rr=null;ne==="interpolate-hcl"||ne==="interpolate-lab"?rr=Ys:G.expectedType&&G.expectedType.kind!=="value"&&(rr=G.expectedType);for(var Pr=0;Pr=Zr)return G.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',hi);var Ra=G.parse(Hr,Gi,rr);if(!Ra)return null;rr=rr||Ra.type,Ht.push([Zr,Ra])}return rr.kind!=="number"&&rr.kind!=="color"&&!(rr.kind==="array"&&rr.itemType.kind==="number"&&typeof rr.N=="number")?G.error("Type "+Us(rr)+" is not interpolatable."):new du(rr,ne,ye,Pe,Ht)},du.prototype.evaluate=function(C){var G=this.labels,ne=this.outputs;if(G.length===1)return ne[0].evaluate(C);var ye=this.input.evaluate(C);if(ye<=G[0])return ne[0].evaluate(C);var Pe=G.length;if(ye>=G[Pe-1])return ne[Pe-1].evaluate(C);var Ve=Eu(G,ye),ft=G[Ve],Rt=G[Ve+1],Ht=du.interpolationFactor(this.interpolation,ye,ft,Rt),rr=ne[Ve].evaluate(C),Pr=ne[Ve+1].evaluate(C);return this.operator==="interpolate"?Wu[this.type.kind.toLowerCase()](rr,Pr,Ht):this.operator==="interpolate-hcl"?ef.reverse(ef.interpolate(ef.forward(rr),ef.forward(Pr),Ht)):Qu.reverse(Qu.interpolate(Qu.forward(rr),Qu.forward(Pr),Ht))},du.prototype.eachChild=function(C){C(this.input);for(var G=0,ne=this.outputs;G=ne.length)throw new ol("Array index out of bounds: "+G+" > "+(ne.length-1)+".");if(G!==Math.floor(G))throw new ol("Array index must be an integer, but found "+G+" instead.");return ne[G]},bc.prototype.eachChild=function(C){C(this.index),C(this.input)},bc.prototype.outputDefined=function(){return!1},bc.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var Jl=function(C,G){this.type=jo,this.needle=C,this.haystack=G};Jl.parse=function(C,G){if(C.length!==3)return G.error("Expected 2 arguments, but found "+(C.length-1)+" instead.");var ne=G.parse(C[1],1,Lo),ye=G.parse(C[2],2,Lo);return!ne||!ye?null:kc(ne.type,[jo,Ko,On,yl,Lo])?new Jl(ne,ye):G.error("Expected first argument to be of type boolean, string, number or null, but found "+Us(ne.type)+" instead")},Jl.prototype.evaluate=function(C){var G=this.needle.evaluate(C),ne=this.haystack.evaluate(C);if(!ne)return!1;if(!Au(G,["boolean","string","number","null"]))throw new ol("Expected first argument to be of type boolean, string, number or null, but found "+Us(_l(G))+" instead.");if(!Au(ne,["string","array"]))throw new ol("Expected second argument to be of type array or string, but found "+Us(_l(ne))+" instead.");return ne.indexOf(G)>=0},Jl.prototype.eachChild=function(C){C(this.needle),C(this.haystack)},Jl.prototype.outputDefined=function(){return!0},Jl.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};var Cu=function(C,G,ne){this.type=On,this.needle=C,this.haystack=G,this.fromIndex=ne};Cu.parse=function(C,G){if(C.length<=2||C.length>=5)return G.error("Expected 3 or 4 arguments, but found "+(C.length-1)+" instead.");var ne=G.parse(C[1],1,Lo),ye=G.parse(C[2],2,Lo);if(!ne||!ye)return null;if(!kc(ne.type,[jo,Ko,On,yl,Lo]))return G.error("Expected first argument to be of type boolean, string, number or null, but found "+Us(ne.type)+" instead");if(C.length===4){var Pe=G.parse(C[3],3,On);return Pe?new Cu(ne,ye,Pe):null}else return new Cu(ne,ye)},Cu.prototype.evaluate=function(C){var G=this.needle.evaluate(C),ne=this.haystack.evaluate(C);if(!Au(G,["boolean","string","number","null"]))throw new ol("Expected first argument to be of type boolean, string, number or null, but found "+Us(_l(G))+" instead.");if(!Au(ne,["string","array"]))throw new ol("Expected second argument to be of type array or string, but found "+Us(_l(ne))+" instead.");if(this.fromIndex){var ye=this.fromIndex.evaluate(C);return ne.indexOf(G,ye)}return ne.indexOf(G)},Cu.prototype.eachChild=function(C){C(this.needle),C(this.haystack),this.fromIndex&&C(this.fromIndex)},Cu.prototype.outputDefined=function(){return!1},Cu.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 zc=function(C,G,ne,ye,Pe,Ve){this.inputType=C,this.type=G,this.input=ne,this.cases=ye,this.outputs=Pe,this.otherwise=Ve};zc.parse=function(C,G){if(C.length<5)return G.error("Expected at least 4 arguments, but found only "+(C.length-1)+".");if(C.length%2!==1)return G.error("Expected an even number of arguments.");var ne,ye;G.expectedType&&G.expectedType.kind!=="value"&&(ye=G.expectedType);for(var Pe={},Ve=[],ft=2;ftNumber.MAX_SAFE_INTEGER)return rr.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if(typeof Hr=="number"&&Math.floor(Hr)!==Hr)return rr.error("Numeric branch labels must be integer values.");if(!ne)ne=_l(Hr);else if(rr.checkSubtype(ne,_l(Hr)))return null;if(typeof Pe[String(Hr)]<"u")return rr.error("Branch labels must be unique.");Pe[String(Hr)]=Ve.length}var hi=G.parse(Ht,ft,ye);if(!hi)return null;ye=ye||hi.type,Ve.push(hi)}var Gi=G.parse(C[1],1,Lo);if(!Gi)return null;var Ra=G.parse(C[C.length-1],C.length-1,ye);return!Ra||Gi.type.kind!=="value"&&G.concat(1).checkSubtype(ne,Gi.type)?null:new zc(ne,ye,Gi,Pe,Ve,Ra)},zc.prototype.evaluate=function(C){var G=this.input.evaluate(C),ne=_l(G)===this.inputType&&this.outputs[this.cases[G]]||this.otherwise;return ne.evaluate(C)},zc.prototype.eachChild=function(C){C(this.input),this.outputs.forEach(C),C(this.otherwise)},zc.prototype.outputDefined=function(){return this.outputs.every(function(C){return C.outputDefined()})&&this.otherwise.outputDefined()},zc.prototype.serialize=function(){for(var C=this,G=["match",this.input.serialize()],ne=Object.keys(this.cases).sort(),ye=[],Pe={},Ve=0,ft=ne;Ve=5)return G.error("Expected 3 or 4 arguments, but found "+(C.length-1)+" instead.");var ne=G.parse(C[1],1,Lo),ye=G.parse(C[2],2,On);if(!ne||!ye)return null;if(!kc(ne.type,[Es(Lo),Ko,Lo]))return G.error("Expected first argument to be of type array or string, but found "+Us(ne.type)+" instead");if(C.length===4){var Pe=G.parse(C[3],3,On);return Pe?new fc(ne.type,ne,ye,Pe):null}else return new fc(ne.type,ne,ye)},fc.prototype.evaluate=function(C){var G=this.input.evaluate(C),ne=this.beginIndex.evaluate(C);if(!Au(G,["string","array"]))throw new ol("Expected first argument to be of type array or string, but found "+Us(_l(G))+" instead.");if(this.endIndex){var ye=this.endIndex.evaluate(C);return G.slice(ne,ye)}return G.slice(ne)},fc.prototype.eachChild=function(C){C(this.input),C(this.beginIndex),this.endIndex&&C(this.endIndex)},fc.prototype.outputDefined=function(){return!1},fc.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 Fc(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 er(k,C,G){return C===G}function wr(k,C,G){return C!==G}function ai(k,C,G){return CG}function Fi(k,C,G){return C<=G}function pa(k,C,G){return C>=G}function Ba(k,C,G,ne){return ne.compare(C,G)===0}function an(k,C,G,ne){return!Ba(k,C,G,ne)}function hn(k,C,G,ne){return ne.compare(C,G)<0}function Ln(k,C,G,ne){return ne.compare(C,G)>0}function Na(k,C,G,ne){return ne.compare(C,G)<=0}function qa(k,C,G,ne){return ne.compare(C,G)>=0}function Za(k,C,G){var ne=k!=="=="&&k!=="!=";return function(){function ye(Pe,Ve,ft){this.type=jo,this.lhs=Pe,this.rhs=Ve,this.collator=ft,this.hasUntypedArgument=Pe.type.kind==="value"||Ve.type.kind==="value"}return ye.parse=function(Ve,ft){if(Ve.length!==3&&Ve.length!==4)return ft.error("Expected two or three arguments.");var Rt=Ve[0],Ht=ft.parse(Ve[1],1,Lo);if(!Ht)return null;if(!Fc(Rt,Ht.type))return ft.concat(1).error('"'+Rt+`" comparisons are not supported for type '`+Us(Ht.type)+"'.");var rr=ft.parse(Ve[2],2,Lo);if(!rr)return null;if(!Fc(Rt,rr.type))return ft.concat(2).error('"'+Rt+`" comparisons are not supported for type '`+Us(rr.type)+"'.");if(Ht.type.kind!==rr.type.kind&&Ht.type.kind!=="value"&&rr.type.kind!=="value")return ft.error("Cannot compare types '"+Us(Ht.type)+"' and '"+Us(rr.type)+"'.");ne&&(Ht.type.kind==="value"&&rr.type.kind!=="value"?Ht=new Kl(rr.type,[Ht]):Ht.type.kind!=="value"&&rr.type.kind==="value"&&(rr=new Kl(Ht.type,[rr])));var Pr=null;if(Ve.length===4){if(Ht.type.kind!=="string"&&rr.type.kind!=="string"&&Ht.type.kind!=="value"&&rr.type.kind!=="value")return ft.error("Cannot use collator to compare non-string types.");if(Pr=ft.parse(Ve[3],3,kl),!Pr)return null}return new ye(Ht,rr,Pr)},ye.prototype.evaluate=function(Ve){var ft=this.lhs.evaluate(Ve),Rt=this.rhs.evaluate(Ve);if(ne&&this.hasUntypedArgument){var Ht=_l(ft),rr=_l(Rt);if(Ht.kind!==rr.kind||!(Ht.kind==="string"||Ht.kind==="number"))throw new ol('Expected arguments for "'+k+'" to be (string, string) or (number, number), but found ('+Ht.kind+", "+rr.kind+") instead.")}if(this.collator&&!ne&&this.hasUntypedArgument){var Pr=_l(ft),Zr=_l(Rt);if(Pr.kind!=="string"||Zr.kind!=="string")return C(Ve,ft,Rt)}return this.collator?G(Ve,ft,Rt,this.collator.evaluate(Ve)):C(Ve,ft,Rt)},ye.prototype.eachChild=function(Ve){Ve(this.lhs),Ve(this.rhs),this.collator&&Ve(this.collator)},ye.prototype.outputDefined=function(){return!0},ye.prototype.serialize=function(){var Ve=[k];return this.eachChild(function(ft){Ve.push(ft.serialize())}),Ve},ye}()}var Ta=Za("==",er,Ba),Hn=Za("!=",wr,an),go=Za("<",ai,hn),wo=Za(">",Jr,Ln),yo=Za("<=",Fi,Na),Io=Za(">=",pa,qa),Vn=function(C,G,ne,ye,Pe){this.type=Ko,this.number=C,this.locale=G,this.currency=ne,this.minFractionDigits=ye,this.maxFractionDigits=Pe};Vn.parse=function(C,G){if(C.length!==3)return G.error("Expected two arguments.");var ne=G.parse(C[1],1,On);if(!ne)return null;var ye=C[2];if(typeof ye!="object"||Array.isArray(ye))return G.error("NumberFormat options argument must be an object.");var Pe=null;if(ye.locale&&(Pe=G.parse(ye.locale,1,Ko),!Pe))return null;var Ve=null;if(ye.currency&&(Ve=G.parse(ye.currency,1,Ko),!Ve))return null;var ft=null;if(ye["min-fraction-digits"]&&(ft=G.parse(ye["min-fraction-digits"],1,On),!ft))return null;var Rt=null;return ye["max-fraction-digits"]&&(Rt=G.parse(ye["max-fraction-digits"],1,On),!Rt)?null:new Vn(ne,Pe,Ve,ft,Rt)},Vn.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))},Vn.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)},Vn.prototype.outputDefined=function(){return!1},Vn.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 wn=function(C){this.type=On,this.input=C};wn.parse=function(C,G){if(C.length!==2)return G.error("Expected 1 argument, but found "+(C.length-1)+" instead.");var ne=G.parse(C[1],1);return ne?ne.type.kind!=="array"&&ne.type.kind!=="string"&&ne.type.kind!=="value"?G.error("Expected argument of type string or array, but found "+Us(ne.type)+" instead."):new wn(ne):null},wn.prototype.evaluate=function(C){var G=this.input.evaluate(C);if(typeof G=="string")return G.length;if(Array.isArray(G))return G.length;throw new ol("Expected value to be of type string or array, but found "+Us(_l(G))+" instead.")},wn.prototype.eachChild=function(C){C(this.input)},wn.prototype.outputDefined=function(){return!1},wn.prototype.serialize=function(){var C=["length"];return this.eachChild(function(G){C.push(G.serialize())}),C};var Oo={"==":Ta,"!=":Hn,">":wo,"<":go,">=":Io,"<=":yo,array:Kl,at:bc,boolean:Kl,case:tf,coalesce:ec,collator:Ku,format:Zu,image:Sl,in:Jl,"index-of":Cu,interpolate:du,"interpolate-hcl":du,"interpolate-lab":du,length:wn,let:Dc,literal:Fs,match:zc,number:Kl,"number-format":Vn,object:Kl,slice:fc,step:Iu,string:Kl,"to-boolean":ws,"to-color":ws,"to-number":ws,"to-string":ws,var:Ic,within:Fu};function ps(k,C){var G=C[0],ne=C[1],ye=C[2],Pe=C[3];G=G.evaluate(k),ne=ne.evaluate(k),ye=ye.evaluate(k);var Ve=Pe?Pe.evaluate(k):1,ft=lc(G,ne,ye,Ve);if(ft)throw new ol(ft);return new Js(G/255*Ve,ne/255*Ve,ye/255*Ve,Ve)}function js(k,C){return k in C}function pl(k,C){var G=C[k];return typeof G>"u"?null:G}function Qs(k,C,G,ne){for(;G<=ne;){var ye=G+ne>>1;if(C[ye]===k)return!0;C[ye]>k?ne=ye-1:G=ye+1}return!1}function hl(k){return{type:k}}xo.register(Oo,{error:[al,[Ko],function(k,C){var G=C[0];throw new ol(G.evaluate(k))}],typeof:[Ko,[Lo],function(k,C){var G=C[0];return Us(_l(G.evaluate(k)))}],"to-rgba":[Es(On,4),[Ys],function(k,C){var G=C[0];return G.evaluate(k).toArray()}],rgb:[Ys,[On,On,On],ps],rgba:[Ys,[On,On,On,On],ps],has:{type:jo,overloads:[[[Ko],function(k,C){var G=C[0];return js(G.evaluate(k),k.properties())}],[[Ko,Tu],function(k,C){var G=C[0],ne=C[1];return js(G.evaluate(k),ne.evaluate(k))}]]},get:{type:Lo,overloads:[[[Ko],function(k,C){var G=C[0];return pl(G.evaluate(k),k.properties())}],[[Ko,Tu],function(k,C){var G=C[0],ne=C[1];return pl(G.evaluate(k),ne.evaluate(k))}]]},"feature-state":[Lo,[Ko],function(k,C){var G=C[0];return pl(G.evaluate(k),k.featureState||{})}],properties:[Tu,[],function(k){return k.properties()}],"geometry-type":[Ko,[],function(k){return k.geometryType()}],id:[Lo,[],function(k){return k.id()}],zoom:[On,[],function(k){return k.globals.zoom}],"heatmap-density":[On,[],function(k){return k.globals.heatmapDensity||0}],"line-progress":[On,[],function(k){return k.globals.lineProgress||0}],accumulated:[Lo,[],function(k){return k.globals.accumulated===void 0?null:k.globals.accumulated}],"+":[On,hl(On),function(k,C){for(var G=0,ne=0,ye=C;ne":[jo,[Ko,Lo],function(k,C){var G=C[0],ne=C[1],ye=k.properties()[G.value],Pe=ne.value;return typeof ye==typeof Pe&&ye>Pe}],"filter-id->":[jo,[Lo],function(k,C){var G=C[0],ne=k.id(),ye=G.value;return typeof ne==typeof ye&&ne>ye}],"filter-<=":[jo,[Ko,Lo],function(k,C){var G=C[0],ne=C[1],ye=k.properties()[G.value],Pe=ne.value;return typeof ye==typeof Pe&&ye<=Pe}],"filter-id-<=":[jo,[Lo],function(k,C){var G=C[0],ne=k.id(),ye=G.value;return typeof ne==typeof ye&&ne<=ye}],"filter->=":[jo,[Ko,Lo],function(k,C){var G=C[0],ne=C[1],ye=k.properties()[G.value],Pe=ne.value;return typeof ye==typeof Pe&&ye>=Pe}],"filter-id->=":[jo,[Lo],function(k,C){var G=C[0],ne=k.id(),ye=G.value;return typeof ne==typeof ye&&ne>=ye}],"filter-has":[jo,[Lo],function(k,C){var G=C[0];return G.value in k.properties()}],"filter-has-id":[jo,[],function(k){return k.id()!==null&&k.id()!==void 0}],"filter-type-in":[jo,[Es(Ko)],function(k,C){var G=C[0];return G.value.indexOf(k.geometryType())>=0}],"filter-id-in":[jo,[Es(Lo)],function(k,C){var G=C[0];return G.value.indexOf(k.id())>=0}],"filter-in-small":[jo,[Ko,Es(Lo)],function(k,C){var G=C[0],ne=C[1];return ne.value.indexOf(k.properties()[G.value])>=0}],"filter-in-large":[jo,[Ko,Es(Lo)],function(k,C){var G=C[0],ne=C[1];return Qs(k.properties()[G.value],ne.value,0,ne.value.length-1)}],all:{type:jo,overloads:[[[jo,jo],function(k,C){var G=C[0],ne=C[1];return G.evaluate(k)&&ne.evaluate(k)}],[hl(jo),function(k,C){for(var G=0,ne=C;G-1}function io(k){return!!k.expression&&k.expression.interpolated}function Jo(k){return k instanceof Number?"number":k instanceof String?"string":k instanceof Boolean?"boolean":Array.isArray(k)?"array":k===null?"null":typeof k}function cl(k){return typeof k=="object"&&k!==null&&!Array.isArray(k)}function Zs(k){return k}function gu(k,C){var G=C.type==="color",ne=k.stops&&typeof k.stops[0][0]=="object",ye=ne||k.property!==void 0,Pe=ne||!ye,Ve=k.type||(io(C)?"exponential":"interval");if(G&&(k=zs({},k),k.stops&&(k.stops=k.stops.map(function(ro){return[ro[0],Js.parse(ro[1])]})),k.default?k.default=Js.parse(k.default):k.default=Js.parse(C.default)),k.colorSpace&&k.colorSpace!=="rgb"&&!Lf[k.colorSpace])throw new Error("Unknown color space: "+k.colorSpace);var ft,Rt,Ht;if(Ve==="exponential")ft=Lu;else if(Ve==="interval")ft=Bc;else if(Ve==="categorical"){ft=tc,Rt=Object.create(null);for(var rr=0,Pr=k.stops;rr=k.stops[ne-1][0])return k.stops[ne-1][1];var ye=Eu(k.stops.map(function(Pe){return Pe[0]}),G);return k.stops[ye][1]}function Lu(k,C,G){var ne=k.base!==void 0?k.base:1;if(Jo(G)!=="number")return Nu(k.default,C.default);var ye=k.stops.length;if(ye===1||G<=k.stops[0][0])return k.stops[0][1];if(G>=k.stops[ye-1][0])return k.stops[ye-1][1];var Pe=Eu(k.stops.map(function(Pr){return Pr[0]}),G),Ve=Pu(G,ne,k.stops[Pe][0],k.stops[Pe+1][0]),ft=k.stops[Pe][1],Rt=k.stops[Pe+1][1],Ht=Wu[C.type]||Zs;if(k.colorSpace&&k.colorSpace!=="rgb"){var rr=Lf[k.colorSpace];Ht=function(Pr,Zr){return rr.reverse(rr.interpolate(rr.forward(Pr),rr.forward(Zr),Ve))}}return typeof ft.evaluate=="function"?{evaluate:function(){for(var Zr=[],Hr=arguments.length;Hr--;)Zr[Hr]=arguments[Hr];var hi=ft.evaluate.apply(void 0,Zr),Gi=Rt.evaluate.apply(void 0,Zr);if(!(hi===void 0||Gi===void 0))return Ht(hi,Gi,Ve)}}:Ht(ft,Rt,Ve)}function Oc(k,C,G){return C.type==="color"?G=Js.parse(G):C.type==="formatted"?G=mu.fromString(G.toString()):C.type==="resolvedImage"?G=Vl.fromString(G.toString()):Jo(G)!==C.type&&(C.type!=="enum"||!C.values[G])&&(G=void 0),Nu(G,k.default,C.default)}function Pu(k,C,G,ne){var ye=ne-G,Pe=k-G;return ye===0?0:C===1?Pe/ye:(Math.pow(C,Pe)-1)/(Math.pow(C,ye)-1)}var wc=function(C,G){this.expression=C,this._warningHistory={},this._evaluator=new qs,this._defaultValue=G?Te(G):null,this._enumValues=G&&G.type==="enum"?G.values:null};wc.prototype.evaluateWithoutErrorHandling=function(C,G,ne,ye,Pe,Ve){return this._evaluator.globals=C,this._evaluator.feature=G,this._evaluator.featureState=ne,this._evaluator.canonical=ye,this._evaluator.availableImages=Pe||null,this._evaluator.formattedSection=Ve,this.expression.evaluate(this._evaluator)},wc.prototype.evaluate=function(C,G,ne,ye,Pe,Ve){this._evaluator.globals=C,this._evaluator.feature=G||null,this._evaluator.featureState=ne||null,this._evaluator.canonical=ye,this._evaluator.availableImages=Pe||null,this._evaluator.formattedSection=Ve||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 ol("Expected value to be one of "+Object.keys(this._enumValues).map(function(Rt){return JSON.stringify(Rt)}).join(", ")+", but found "+JSON.stringify(ft)+" instead.");return ft}catch(Rt){return this._warningHistory[Rt.message]||(this._warningHistory[Rt.message]=!0,typeof console<"u"&&console.warn(Rt.message)),this._defaultValue}};function Po(k){return Array.isArray(k)&&k.length>0&&typeof k[0]=="string"&&k[0]in Oo}function es(k,C){var G=new xl(Oo,[],C?xe(C):void 0),ne=G.parse(k,void 0,void 0,void 0,C&&C.type==="string"?{typeAnnotation:"coerce"}:void 0);return ne?Bs(new wc(ne,C)):Wl(G.errors)}var Nc=function(C,G){this.kind=C,this._styleExpression=G,this.isStateDependent=C!=="constant"&&!Ll(G.expression)};Nc.prototype.evaluateWithoutErrorHandling=function(C,G,ne,ye,Pe,Ve){return this._styleExpression.evaluateWithoutErrorHandling(C,G,ne,ye,Pe,Ve)},Nc.prototype.evaluate=function(C,G,ne,ye,Pe,Ve){return this._styleExpression.evaluate(C,G,ne,ye,Pe,Ve)};var hc=function(C,G,ne,ye){this.kind=C,this.zoomStops=ne,this._styleExpression=G,this.isStateDependent=C!=="camera"&&!Ll(G.expression),this.interpolationType=ye};hc.prototype.evaluateWithoutErrorHandling=function(C,G,ne,ye,Pe,Ve){return this._styleExpression.evaluateWithoutErrorHandling(C,G,ne,ye,Pe,Ve)},hc.prototype.evaluate=function(C,G,ne,ye,Pe,Ve){return this._styleExpression.evaluate(C,G,ne,ye,Pe,Ve)},hc.prototype.interpolationFactor=function(C,G,ne){return this.interpolationType?du.interpolationFactor(this.interpolationType,C,G,ne):0};function rc(k,C){if(k=es(k,C),k.result==="error")return k;var G=k.value.expression,ne=Bf(G);if(!ne&&!Il(C))return Wl([new Ps("","data expressions not supported")]);var ye=Bu(G,["zoom"]);if(!ye&&!wl(C))return Wl([new Ps("","zoom expressions not supported")]);var Pe=ae(G);if(!Pe&&!ye)return Wl([new Ps("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(Pe instanceof Ps)return Wl([Pe]);if(Pe instanceof du&&!io(C))return Wl([new Ps("",'"interpolate" expressions cannot be used with this property')]);if(!Pe)return Bs(ne?new Nc("constant",k.value):new Nc("source",k.value));var Ve=Pe instanceof du?Pe.interpolation:void 0;return Bs(ne?new hc("camera",k.value,Pe.labels,Ve):new hc("composite",k.value,Pe.labels,Ve))}var Ue=function(C,G){this._parameters=C,this._specification=G,zs(this,gu(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 P(k,C){if(cl(k))return new Ue(k,C);if(Po(k)){var G=rc(k,C);if(G.result==="error")throw new Error(G.value.map(function(ye){return ye.key+": "+ye.message}).join(", "));return G.value}else{var ne=k;return typeof k=="string"&&C.type==="color"&&(ne=Js.parse(k)),{kind:"constant",evaluate:function(){return ne}}}}function ae(k){var C=null;if(k instanceof Dc)C=ae(k.result);else if(k instanceof ec)for(var G=0,ne=k.args;Gne.maximum?[new Xn(C,G,G+" is greater than the maximum value "+ne.maximum)]:[]}function Ot(k){var C=k.valueSpec,G=so(k.value.type),ne,ye={},Pe,Ve,ft=G!=="categorical"&&k.value.property===void 0,Rt=!ft,Ht=Jo(k.value.stops)==="array"&&Jo(k.value.stops[0])==="array"&&Jo(k.value.stops[0][0])==="object",rr=Oe({key:k.key,value:k.value,valueSpec:k.styleSpec.function,style:k.style,styleSpec:k.styleSpec,objectElementValidators:{stops:Pr,default:hi}});return G==="identity"&&ft&&rr.push(new Xn(k.key,k.value,'missing required property "property"')),G!=="identity"&&!k.value.stops&&rr.push(new Xn(k.key,k.value,'missing required property "stops"')),G==="exponential"&&k.valueSpec.expression&&!io(k.valueSpec)&&rr.push(new Xn(k.key,k.value,"exponential functions not supported")),k.styleSpec.$version>=8&&(Rt&&!Il(k.valueSpec)?rr.push(new Xn(k.key,k.value,"property functions not supported")):ft&&!wl(k.valueSpec)&&rr.push(new Xn(k.key,k.value,"zoom functions not supported"))),(G==="categorical"||Ht)&&k.value.property===void 0&&rr.push(new Xn(k.key,k.value,'"property" property is required')),rr;function Pr(Gi){if(G==="identity")return[new Xn(Gi.key,Gi.value,'identity function may not have a "stops" property')];var Ra=[],ha=Gi.value;return Ra=Ra.concat(ht({key:Gi.key,value:ha,valueSpec:Gi.valueSpec,style:Gi.style,styleSpec:Gi.styleSpec,arrayElementValidator:Zr})),Jo(ha)==="array"&&ha.length===0&&Ra.push(new Xn(Gi.key,ha,"array must have at least one stop")),Ra}function Zr(Gi){var Ra=[],ha=Gi.value,fn=Gi.key;if(Jo(ha)!=="array")return[new Xn(fn,ha,"array expected, "+Jo(ha)+" found")];if(ha.length!==2)return[new Xn(fn,ha,"array length 2 expected, length "+ha.length+" found")];if(Ht){if(Jo(ha[0])!=="object")return[new Xn(fn,ha,"object expected, "+Jo(ha[0])+" found")];if(ha[0].zoom===void 0)return[new Xn(fn,ha,"object stop key must have zoom")];if(ha[0].value===void 0)return[new Xn(fn,ha,"object stop key must have value")];if(Ve&&Ve>so(ha[0].zoom))return[new Xn(fn,ha[0].zoom,"stop zoom values must appear in ascending order")];so(ha[0].zoom)!==Ve&&(Ve=so(ha[0].zoom),Pe=void 0,ye={}),Ra=Ra.concat(Oe({key:fn+"[0]",value:ha[0],valueSpec:{zoom:{}},style:Gi.style,styleSpec:Gi.styleSpec,objectElementValidators:{zoom:Tt,value:Hr}}))}else Ra=Ra.concat(Hr({key:fn+"[0]",value:ha[0],valueSpec:{},style:Gi.style,styleSpec:Gi.styleSpec},ha));return Po($s(ha[1]))?Ra.concat([new Xn(fn+"[1]",ha[1],"expressions are not allowed in function stops.")]):Ra.concat(Ho({key:fn+"[1]",value:ha[1],valueSpec:C,style:Gi.style,styleSpec:Gi.styleSpec}))}function Hr(Gi,Ra){var ha=Jo(Gi.value),fn=so(Gi.value),Wa=Gi.value!==null?Gi.value:Ra;if(!ne)ne=ha;else if(ha!==ne)return[new Xn(Gi.key,Wa,ha+" stop domain type must match previous stop domain type "+ne)];if(ha!=="number"&&ha!=="string"&&ha!=="boolean")return[new Xn(Gi.key,Wa,"stop domain value must be a number, string, or boolean")];if(ha!=="number"&&G!=="categorical"){var cn="number expected, "+ha+" found";return Il(C)&&G===void 0&&(cn+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new Xn(Gi.key,Wa,cn)]}return G==="categorical"&&ha==="number"&&(!isFinite(fn)||Math.floor(fn)!==fn)?[new Xn(Gi.key,Wa,"integer expected, found "+fn)]:G!=="categorical"&&ha==="number"&&Pe!==void 0&&fn=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,G=k.slice(1);CC?1:0}function dt(k){if(!Array.isArray(k))return!1;if(k[0]==="within")return!0;for(var C=1;C"||C==="<="||C===">="?wt(k[1],k[2],C):C==="any"?Dt(k.slice(1)):C==="all"?["all"].concat(k.slice(1).map(Ct)):C==="none"?["all"].concat(k.slice(1).map(Ct).map(kr)):C==="in"?fr(k[1],k.slice(2)):C==="!in"?kr(fr(k[1],k.slice(2))):C==="has"?_r(k[1]):C==="!has"?kr(_r(k[1])):C==="within"?k:!0;return G}function wt(k,C,G){switch(k){case"$type":return["filter-type-"+G,C];case"$id":return["filter-id-"+G,C];default:return["filter-"+G,k,C]}}function Dt(k){return["any"].concat(k.map(Ct))}function fr(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(G){return typeof G!=typeof C[0]})?["filter-in-large",k,["literal",C.sort(ot)]]:["filter-in-small",k,["literal",C]]}}function _r(k){switch(k){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",k]}}function kr(k){return["!",k]}function Vr(k){return oi($s(k.value))?Qt(zs({},k,{expressionContext:"filter",valueSpec:{value:"boolean"}})):Qr(k)}function Qr(k){var C=k.value,G=k.key;if(Jo(C)!=="array")return[new Xn(G,C,"array expected, "+Jo(C)+" found")];var ne=k.styleSpec,ye,Pe=[];if(C.length<1)return[new Xn(G,C,"filter array must have at least 1 element")];switch(Pe=Pe.concat(Kr({key:G+"[0]",value:C[0],valueSpec:ne.filter_operator,style:k.style,styleSpec:k.styleSpec})),so(C[0])){case"<":case"<=":case">":case">=":C.length>=2&&so(C[1])==="$type"&&Pe.push(new Xn(G,C,'"$type" cannot be use with operator "'+C[0]+'"'));case"==":case"!=":C.length!==3&&Pe.push(new Xn(G,C,'filter array for operator "'+C[0]+'" must have 3 elements'));case"in":case"!in":C.length>=2&&(ye=Jo(C[1]),ye!=="string"&&Pe.push(new Xn(G+"[1]",C[1],"string expected, "+ye+" found")));for(var Ve=2;Ve=rr[Hr+0]&&ne>=rr[Hr+1])?(Ve[Zr]=!0,Pe.push(Ht[Zr])):Ve[Zr]=!1}}},yu.prototype._forEachCell=function(k,C,G,ne,ye,Pe,Ve,ft){for(var Rt=this._convertToCellCoord(k),Ht=this._convertToCellCoord(C),rr=this._convertToCellCoord(G),Pr=this._convertToCellCoord(ne),Zr=Rt;Zr<=rr;Zr++)for(var Hr=Ht;Hr<=Pr;Hr++){var hi=this.d*Hr+Zr;if(!(ft&&!ft(this._convertFromCellCoord(Zr),this._convertFromCellCoord(Hr),this._convertFromCellCoord(Zr+1),this._convertFromCellCoord(Hr+1)))&&ye.call(this,k,C,G,ne,hi,Pe,Ve,ft))return}},yu.prototype._convertFromCellCoord=function(k){return(k-this.padding)/this.scale},yu.prototype._convertToCellCoord=function(k){return Math.max(0,Math.min(this.d-1,Math.floor(k*this.scale)+this.padding))},yu.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var k=this.cells,C=Fl+this.cells.length+1+1,G=0,ne=0;ne=0)){var Pr=k[rr];Ht[rr]=eu[Rt].shallow.indexOf(rr)>=0?Pr:_t(Pr,C)}k instanceof Error&&(Ht.message=k.message)}if(Ht.$name)throw new Error("$name property is reserved for worker serialization logic.");return Rt!=="Object"&&(Ht.$name=Rt),Ht}throw new Error("can't serialize object of type "+typeof k)}function At(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||Je(k)||vt(k)||ArrayBuffer.isView(k)||k instanceof dc)return k;if(Array.isArray(k))return k.map(At);if(typeof k=="object"){var C=k.$name||"Object",G=eu[C],ne=G.klass;if(!ne)throw new Error("can't deserialize unregistered class "+C);if(ne.deserialize)return ne.deserialize(k);for(var ye=Object.create(ne.prototype),Pe=0,Ve=Object.keys(k);Pe=0?Rt:At(Rt)}}return ye}throw new Error("can't deserialize object of type "+typeof k)}var ar=function(){this.first=!0};ar.prototype.update=function(C,G){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=G):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 xr(k){for(var C=0,G=k;C=65097&&k<=65103)||Ft["CJK Compatibility Ideographs"](k)||Ft["CJK Compatibility"](k)||Ft["CJK Radicals Supplement"](k)||Ft["CJK Strokes"](k)||Ft["CJK Symbols and Punctuation"](k)&&!(k>=12296&&k<=12305)&&!(k>=12308&&k<=12319)&&k!==12336||Ft["CJK Unified Ideographs Extension A"](k)||Ft["CJK Unified Ideographs"](k)||Ft["Enclosed CJK Letters and Months"](k)||Ft["Hangul Compatibility Jamo"](k)||Ft["Hangul Jamo Extended-A"](k)||Ft["Hangul Jamo Extended-B"](k)||Ft["Hangul Jamo"](k)||Ft["Hangul Syllables"](k)||Ft.Hiragana(k)||Ft["Ideographic Description Characters"](k)||Ft.Kanbun(k)||Ft["Kangxi Radicals"](k)||Ft["Katakana Phonetic Extensions"](k)||Ft.Katakana(k)&&k!==12540||Ft["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)||Ft["Small Form Variants"](k)&&!(k>=65112&&k<=65118)&&!(k>=65123&&k<=65126)||Ft["Unified Canadian Aboriginal Syllabics"](k)||Ft["Unified Canadian Aboriginal Syllabics Extended"](k)||Ft["Vertical Forms"](k)||Ft["Yijing Hexagram Symbols"](k)||Ft["Yi Syllables"](k)||Ft["Yi Radicals"](k))}function na(k){return!!(Ft["Latin-1 Supplement"](k)&&(k===167||k===169||k===174||k===177||k===188||k===189||k===190||k===215||k===247)||Ft["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)||Ft["Letterlike Symbols"](k)||Ft["Number Forms"](k)||Ft["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)||Ft["Control Pictures"](k)&&k!==9251||Ft["Optical Character Recognition"](k)||Ft["Enclosed Alphanumerics"](k)||Ft["Geometric Shapes"](k)||Ft["Miscellaneous Symbols"](k)&&!(k>=9754&&k<=9759)||Ft["Miscellaneous Symbols and Arrows"](k)&&(k>=11026&&k<=11055||k>=11088&&k<=11097||k>=11192&&k<=11243)||Ft["CJK Symbols and Punctuation"](k)||Ft.Katakana(k)||Ft["Private Use Area"](k)||Ft["CJK Compatibility Forms"](k)||Ft["Small Form Variants"](k)||Ft["Halfwidth and Fullwidth Forms"](k)||k===8734||k===8756||k===8757||k>=9984&&k<=10087||k>=10102&&k<=10131||k===65532||k===65533)}function ua(k){return!(xi(k)||na(k))}function Di(k){return Ft.Arabic(k)||Ft["Arabic Supplement"](k)||Ft["Arabic Extended-A"](k)||Ft["Arabic Presentation Forms-A"](k)||Ft["Arabic Presentation Forms-B"](k)}function Hi(k){return k>=1424&&k<=2303||Ft["Arabic Presentation Forms-A"](k)||Ft["Arabic Presentation Forms-B"](k)}function ta(k,C){return!(!C&&Hi(k)||k>=2304&&k<=3583||k>=3840&&k<=4255||Ft.Khmer(k))}function ya(k){for(var C=0,G=k;C-1&&(mn=Oi.error),xn&&xn(k)};function mo(){bo.fire(new Nr("pluginStateChange",{pluginStatus:mn,pluginURL:In}))}var bo=new br,vs=function(){return mn},To=function(k){return k({pluginStatus:mn,pluginURL:In}),bo.on("pluginStateChange",k),k},cs=function(k,C,G){if(G===void 0&&(G=!1),mn===Oi.deferred||mn===Oi.loading||mn===Oi.loaded)throw new Error("setRTLTextPlugin cannot be called multiple times.");In=_e.resolveURL(k),mn=Oi.deferred,xn=C,mo(),G||Al()},Al=function(){if(mn!==Oi.deferred||!In)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");mn=Oi.loading,mo(),In&&ii({url:In},function(k){k?Yn(k):(mn=Oi.loaded,mo())})},ml={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return mn===Oi.loaded||ml.applyArabicShaping!=null},isLoading:function(){return mn===Oi.loading},setState:function(C){mn=C.pluginStatus,In=C.pluginURL},isParsed:function(){return ml.applyArabicShaping!=null&&ml.processBidirectionalText!=null&&ml.processStyledBidirectionalText!=null},getPluginURL:function(){return In}},Pl=function(){!ml.isLoading()&&!ml.isLoaded()&&vs()==="deferred"&&Al()},Dn=function(C,G){this.zoom=C,G?(this.now=G.now,this.fadeDuration=G.fadeDuration,this.zoomHistory=G.zoomHistory,this.transition=G.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new ar,this.transition={})};Dn.prototype.isSupportedScript=function(C){return da(C,ml.isLoaded())},Dn.prototype.crossFadingFactor=function(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},Dn.prototype.getCrossfadeParameters=function(){var C=this.zoom,G=C-Math.floor(C),ne=this.crossFadingFactor();return C>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:G+(1-G)*ne}:{fromScale:.5,toScale:1,t:1-(1-ne)*G}};var zo=function(C,G){this.property=C,this.value=G,this.expression=P(G===void 0?C.specification.default:G,C.specification)};zo.prototype.isDataDriven=function(){return this.expression.kind==="source"||this.expression.kind==="composite"},zo.prototype.possiblyEvaluate=function(C,G,ne){return this.property.possiblyEvaluate(this,C,G,ne)};var ks=function(C){this.property=C,this.value=new zo(C,void 0)};ks.prototype.transitioned=function(C,G){return new Bl(this.property,this.value,G,g({},C.transition,this.transition),C.now)},ks.prototype.untransitioned=function(){return new Bl(this.property,this.value,null,{},0)};var Rs=function(C){this._properties=C,this._values=Object.create(C.defaultTransitionablePropertyValues)};Rs.prototype.getValue=function(C){return B(this._values[C].value.value)},Rs.prototype.setValue=function(C,G){this._values.hasOwnProperty(C)||(this._values[C]=new ks(this._values[C].property)),this._values[C].value=new zo(this._values[C].property,G===null?void 0:B(G))},Rs.prototype.getTransition=function(C){return B(this._values[C].transition)},Rs.prototype.setTransition=function(C,G){this._values.hasOwnProperty(C)||(this._values[C]=new ks(this._values[C].property)),this._values[C].transition=B(G)||void 0},Rs.prototype.serialize=function(){for(var C={},G=0,ne=Object.keys(this._values);Gthis.end)return this.prior=null,Pe;if(this.value.isDataDriven())return this.prior=null,Pe;if(yeVe.zoomHistory.lastIntegerZoom?{from:ne,to:ye}:{from:Pe,to:ye}},C.prototype.interpolate=function(ne){return ne},C}(Yt),li=function(C){this.specification=C};li.prototype.possiblyEvaluate=function(C,G,ne,ye){if(C.value!==void 0)if(C.expression.kind==="constant"){var Pe=C.expression.evaluate(G,null,{},ne,ye);return this._calculate(Pe,Pe,Pe,G)}else return this._calculate(C.expression.evaluate(new Dn(Math.floor(G.zoom-1),G)),C.expression.evaluate(new Dn(Math.floor(G.zoom),G)),C.expression.evaluate(new Dn(Math.floor(G.zoom+1),G)),G)},li.prototype._calculate=function(C,G,ne,ye){var Pe=ye.zoom;return Pe>ye.zoomHistory.lastIntegerZoom?{from:C,to:G}:{from:ne,to:G}},li.prototype.interpolate=function(C){return C};var Ci=function(C){this.specification=C};Ci.prototype.possiblyEvaluate=function(C,G,ne,ye){return!!C.expression.evaluate(G,null,{},ne,ye)},Ci.prototype.interpolate=function(){return!1};var Ti=function(C){this.properties=C,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(var G in C){var ne=C[G];ne.specification.overridable&&this.overridableProperties.push(G);var ye=this.defaultPropertyValues[G]=new zo(ne,void 0),Pe=this.defaultTransitionablePropertyValues[G]=new ks(ne);this.defaultTransitioningPropertyValues[G]=Pe.untransitioned(),this.defaultPossiblyEvaluatedValues[G]=ye.possiblyEvaluate({})}};de("DataDrivenProperty",Yt),de("DataConstantProperty",rt),de("CrossFadedDataDrivenProperty",hr),de("CrossFadedProperty",li),de("ColorRampProperty",Ci);var Mi="-transition",ia=function(k){function C(G,ne){if(k.call(this),this.id=G.id,this.type=G.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},G.type!=="custom"&&(G=G,this.metadata=G.metadata,this.minzoom=G.minzoom,this.maxzoom=G.maxzoom,G.type!=="background"&&(this.source=G.source,this.sourceLayer=G["source-layer"],this.filter=G.filter),ne.layout&&(this._unevaluatedLayout=new Ru(ne.layout)),ne.paint)){this._transitionablePaint=new Rs(ne.paint);for(var ye in G.paint)this.setPaintProperty(ye,G.paint[ye],{validate:!1});for(var Pe in G.layout)this.setLayoutProperty(Pe,G.layout[Pe],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Tc(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,ye,Pe){if(Pe===void 0&&(Pe={}),ye!=null){var Ve="layers."+this.id+".layout."+ne;if(this._validate(uu,Ve,ne,ye,Pe))return}if(ne==="visibility"){this.visibility=ye;return}this._unevaluatedLayout.setValue(ne,ye)},C.prototype.getPaintProperty=function(ne){return z(ne,Mi)?this._transitionablePaint.getTransition(ne.slice(0,-Mi.length)):this._transitionablePaint.getValue(ne)},C.prototype.setPaintProperty=function(ne,ye,Pe){if(Pe===void 0&&(Pe={}),ye!=null){var Ve="layers."+this.id+".paint."+ne;if(this._validate(ql,Ve,ne,ye,Pe))return!1}if(z(ne,Mi))return this._transitionablePaint.setTransition(ne.slice(0,-Mi.length),ye||void 0),!1;var ft=this._transitionablePaint._values[ne],Rt=ft.property.specification["property-type"]==="cross-faded-data-driven",Ht=ft.value.isDataDriven(),rr=ft.value;this._transitionablePaint.setValue(ne,ye),this._handleSpecialPaintPropertyUpdate(ne);var Pr=this._transitionablePaint._values[ne].value,Zr=Pr.isDataDriven();return Zr||Ht||Rt||this._handleOverridablePaintPropertyUpdate(ne,rr,Pr)},C.prototype._handleSpecialPaintPropertyUpdate=function(ne){},C.prototype._handleOverridablePaintPropertyUpdate=function(ne,ye,Pe){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,ye){ne.getCrossfadeParameters&&(this._crossfadeParameters=ne.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(ne,void 0,ye)),this.paint=this._transitioningPaint.possiblyEvaluate(ne,void 0,ye)},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(ye,Pe){return ye!==void 0&&!(Pe==="layout"&&!Object.keys(ye).length)&&!(Pe==="paint"&&!Object.keys(ye).length)})},C.prototype._validate=function(ne,ye,Pe,Ve,ft){return ft===void 0&&(ft={}),ft&&ft.validate===!1?!1:Uu(this,ne.call(ms,{key:ye,layerType:this.type,objectKey:Pe,value:Ve,styleSpec:rn,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 ye=this.paint.get(ne);if(!(!(ye instanceof Hl)||!Il(ye.property.specification))&&(ye.value.kind==="source"||ye.value.kind==="composite")&&ye.value.isStateDependent)return!0}return!1},C}(br),ka={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Sa=function(C,G){this._structArray=C,this._pos1=G*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},va=128,Fn=5,Ha=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};Ha.serialize=function(C,G){return C._trim(),G&&(C.isTransferred=!0,G.push(C.arrayBuffer)),{length:C.length,arrayBuffer:C.arrayBuffer}},Ha.deserialize=function(C){var G=Object.create(this.prototype);return G.arrayBuffer=C.arrayBuffer,G.length=C.length,G.capacity=C.arrayBuffer.byteLength/G.bytesPerElement,G._refreshViews(),G},Ha.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Ha.prototype.clear=function(){this.length=0},Ha.prototype.resize=function(C){this.reserve(C),this.length=C},Ha.prototype.reserve=function(C){if(C>this.capacity){this.capacity=Math.max(C,Math.floor(this.capacity*Fn),va),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var G=this.uint8;this._refreshViews(),G&&this.uint8.set(G)}},Ha.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};function Da(k,C){C===void 0&&(C=1);var G=0,ne=0,ye=k.map(function(Ve){var ft=Xi(Ve.type),Rt=G=ei(G,Math.max(C,ft)),Ht=Ve.components||1;return ne=Math.max(ne,ft),G+=ft*Ht,{name:Ve.name,type:Ve.type,components:Ht,offset:Rt}}),Pe=ei(G,Math.max(ne,C));return{members:ye,size:Pe,alignment:C}}function Xi(k){return ka[k].BYTES_PER_ELEMENT}function ei(k,C){return Math.ceil(k/C)*C}var zi=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,ye){var Pe=this.length;return this.resize(Pe+1),this.emplace(Pe,ne,ye)},C.prototype.emplace=function(ne,ye,Pe){var Ve=ne*2;return this.int16[Ve+0]=ye,this.int16[Ve+1]=Pe,ne},C}(Ha);zi.prototype.bytesPerElement=4,de("StructArrayLayout2i4",zi);var la=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,ye,Pe,Ve){var ft=this.length;return this.resize(ft+1),this.emplace(ft,ne,ye,Pe,Ve)},C.prototype.emplace=function(ne,ye,Pe,Ve,ft){var Rt=ne*4;return this.int16[Rt+0]=ye,this.int16[Rt+1]=Pe,this.int16[Rt+2]=Ve,this.int16[Rt+3]=ft,ne},C}(Ha);la.prototype.bytesPerElement=8,de("StructArrayLayout4i8",la);var ba=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,ye,Pe,Ve,ft,Rt){var Ht=this.length;return this.resize(Ht+1),this.emplace(Ht,ne,ye,Pe,Ve,ft,Rt)},C.prototype.emplace=function(ne,ye,Pe,Ve,ft,Rt,Ht){var rr=ne*6;return this.int16[rr+0]=ye,this.int16[rr+1]=Pe,this.int16[rr+2]=Ve,this.int16[rr+3]=ft,this.int16[rr+4]=Rt,this.int16[rr+5]=Ht,ne},C}(Ha);ba.prototype.bytesPerElement=12,de("StructArrayLayout2i4i12",ba);var $i=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,ye,Pe,Ve,ft,Rt){var Ht=this.length;return this.resize(Ht+1),this.emplace(Ht,ne,ye,Pe,Ve,ft,Rt)},C.prototype.emplace=function(ne,ye,Pe,Ve,ft,Rt,Ht){var rr=ne*4,Pr=ne*8;return this.int16[rr+0]=ye,this.int16[rr+1]=Pe,this.uint8[Pr+4]=Ve,this.uint8[Pr+5]=ft,this.uint8[Pr+6]=Rt,this.uint8[Pr+7]=Ht,ne},C}(Ha);$i.prototype.bytesPerElement=8,de("StructArrayLayout2i4ub8",$i);var Xa=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,ye){var Pe=this.length;return this.resize(Pe+1),this.emplace(Pe,ne,ye)},C.prototype.emplace=function(ne,ye,Pe){var Ve=ne*2;return this.float32[Ve+0]=ye,this.float32[Ve+1]=Pe,ne},C}(Ha);Xa.prototype.bytesPerElement=8,de("StructArrayLayout2f8",Xa);var Oa=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,ye,Pe,Ve,ft,Rt,Ht,rr,Pr,Zr){var Hr=this.length;return this.resize(Hr+1),this.emplace(Hr,ne,ye,Pe,Ve,ft,Rt,Ht,rr,Pr,Zr)},C.prototype.emplace=function(ne,ye,Pe,Ve,ft,Rt,Ht,rr,Pr,Zr,Hr){var hi=ne*10;return this.uint16[hi+0]=ye,this.uint16[hi+1]=Pe,this.uint16[hi+2]=Ve,this.uint16[hi+3]=ft,this.uint16[hi+4]=Rt,this.uint16[hi+5]=Ht,this.uint16[hi+6]=rr,this.uint16[hi+7]=Pr,this.uint16[hi+8]=Zr,this.uint16[hi+9]=Hr,ne},C}(Ha);Oa.prototype.bytesPerElement=20,de("StructArrayLayout10ui20",Oa);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.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(ne,ye,Pe,Ve,ft,Rt,Ht,rr,Pr,Zr,Hr,hi){var Gi=this.length;return this.resize(Gi+1),this.emplace(Gi,ne,ye,Pe,Ve,ft,Rt,Ht,rr,Pr,Zr,Hr,hi)},C.prototype.emplace=function(ne,ye,Pe,Ve,ft,Rt,Ht,rr,Pr,Zr,Hr,hi,Gi){var Ra=ne*12;return this.int16[Ra+0]=ye,this.int16[Ra+1]=Pe,this.int16[Ra+2]=Ve,this.int16[Ra+3]=ft,this.uint16[Ra+4]=Rt,this.uint16[Ra+5]=Ht,this.uint16[Ra+6]=rr,this.uint16[Ra+7]=Pr,this.int16[Ra+8]=Zr,this.int16[Ra+9]=Hr,this.int16[Ra+10]=hi,this.int16[Ra+11]=Gi,ne},C}(Ha);kn.prototype.bytesPerElement=24,de("StructArrayLayout4i4ui4i24",kn);var Qi=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,ye,Pe){var Ve=this.length;return this.resize(Ve+1),this.emplace(Ve,ne,ye,Pe)},C.prototype.emplace=function(ne,ye,Pe,Ve){var ft=ne*3;return this.float32[ft+0]=ye,this.float32[ft+1]=Pe,this.float32[ft+2]=Ve,ne},C}(Ha);Qi.prototype.bytesPerElement=12,de("StructArrayLayout3f12",Qi);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.uint32=new Uint32Array(this.arrayBuffer)},C.prototype.emplaceBack=function(ne){var ye=this.length;return this.resize(ye+1),this.emplace(ye,ne)},C.prototype.emplace=function(ne,ye){var Pe=ne*1;return this.uint32[Pe+0]=ye,ne},C}(Ha);Yi.prototype.bytesPerElement=4,de("StructArrayLayout1ul4",Yi);var ln=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,ye,Pe,Ve,ft,Rt,Ht,rr,Pr){var Zr=this.length;return this.resize(Zr+1),this.emplace(Zr,ne,ye,Pe,Ve,ft,Rt,Ht,rr,Pr)},C.prototype.emplace=function(ne,ye,Pe,Ve,ft,Rt,Ht,rr,Pr,Zr){var Hr=ne*10,hi=ne*5;return this.int16[Hr+0]=ye,this.int16[Hr+1]=Pe,this.int16[Hr+2]=Ve,this.int16[Hr+3]=ft,this.int16[Hr+4]=Rt,this.int16[Hr+5]=Ht,this.uint32[hi+3]=rr,this.uint16[Hr+8]=Pr,this.uint16[Hr+9]=Zr,ne},C}(Ha);ln.prototype.bytesPerElement=20,de("StructArrayLayout6i1ul2ui20",ln);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,ye,Pe,Ve,ft,Rt){var Ht=this.length;return this.resize(Ht+1),this.emplace(Ht,ne,ye,Pe,Ve,ft,Rt)},C.prototype.emplace=function(ne,ye,Pe,Ve,ft,Rt,Ht){var rr=ne*6;return this.int16[rr+0]=ye,this.int16[rr+1]=Pe,this.int16[rr+2]=Ve,this.int16[rr+3]=ft,this.int16[rr+4]=Rt,this.int16[rr+5]=Ht,ne},C}(Ha);Va.prototype.bytesPerElement=12,de("StructArrayLayout2i2i2i12",Va);var La=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,ye,Pe,Ve,ft){var Rt=this.length;return this.resize(Rt+1),this.emplace(Rt,ne,ye,Pe,Ve,ft)},C.prototype.emplace=function(ne,ye,Pe,Ve,ft,Rt){var Ht=ne*4,rr=ne*8;return this.float32[Ht+0]=ye,this.float32[Ht+1]=Pe,this.float32[Ht+2]=Ve,this.int16[rr+6]=ft,this.int16[rr+7]=Rt,ne},C}(Ha);La.prototype.bytesPerElement=16,de("StructArrayLayout2f1f2i16",La);var Ea=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,ye,Pe,Ve){var ft=this.length;return this.resize(ft+1),this.emplace(ft,ne,ye,Pe,Ve)},C.prototype.emplace=function(ne,ye,Pe,Ve,ft){var Rt=ne*12,Ht=ne*3;return this.uint8[Rt+0]=ye,this.uint8[Rt+1]=Pe,this.float32[Ht+1]=Ve,this.float32[Ht+2]=ft,ne},C}(Ha);Ea.prototype.bytesPerElement=12,de("StructArrayLayout2ub2f12",Ea);var on=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,ye,Pe){var Ve=this.length;return this.resize(Ve+1),this.emplace(Ve,ne,ye,Pe)},C.prototype.emplace=function(ne,ye,Pe,Ve){var ft=ne*3;return this.uint16[ft+0]=ye,this.uint16[ft+1]=Pe,this.uint16[ft+2]=Ve,ne},C}(Ha);on.prototype.bytesPerElement=6,de("StructArrayLayout3ui6",on);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),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},C.prototype.emplaceBack=function(ne,ye,Pe,Ve,ft,Rt,Ht,rr,Pr,Zr,Hr,hi,Gi,Ra,ha,fn,Wa){var cn=this.length;return this.resize(cn+1),this.emplace(cn,ne,ye,Pe,Ve,ft,Rt,Ht,rr,Pr,Zr,Hr,hi,Gi,Ra,ha,fn,Wa)},C.prototype.emplace=function(ne,ye,Pe,Ve,ft,Rt,Ht,rr,Pr,Zr,Hr,hi,Gi,Ra,ha,fn,Wa,cn){var bn=ne*24,Un=ne*12,oo=ne*48;return this.int16[bn+0]=ye,this.int16[bn+1]=Pe,this.uint16[bn+2]=Ve,this.uint16[bn+3]=ft,this.uint32[Un+2]=Rt,this.uint32[Un+3]=Ht,this.uint32[Un+4]=rr,this.uint16[bn+10]=Pr,this.uint16[bn+11]=Zr,this.uint16[bn+12]=Hr,this.float32[Un+7]=hi,this.float32[Un+8]=Gi,this.uint8[oo+36]=Ra,this.uint8[oo+37]=ha,this.uint8[oo+38]=fn,this.uint32[Un+10]=Wa,this.int16[bn+22]=cn,ne},C}(Ha);Pn.prototype.bytesPerElement=48,de("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",Pn);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.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,ye,Pe,Ve,ft,Rt,Ht,rr,Pr,Zr,Hr,hi,Gi,Ra,ha,fn,Wa,cn,bn,Un,oo,ro,Go,So,Bo,Hs,Wo,Qo){var fl=this.length;return this.resize(fl+1),this.emplace(fl,ne,ye,Pe,Ve,ft,Rt,Ht,rr,Pr,Zr,Hr,hi,Gi,Ra,ha,fn,Wa,cn,bn,Un,oo,ro,Go,So,Bo,Hs,Wo,Qo)},C.prototype.emplace=function(ne,ye,Pe,Ve,ft,Rt,Ht,rr,Pr,Zr,Hr,hi,Gi,Ra,ha,fn,Wa,cn,bn,Un,oo,ro,Go,So,Bo,Hs,Wo,Qo,fl){var Os=ne*34,iu=ne*17;return this.int16[Os+0]=ye,this.int16[Os+1]=Pe,this.int16[Os+2]=Ve,this.int16[Os+3]=ft,this.int16[Os+4]=Rt,this.int16[Os+5]=Ht,this.int16[Os+6]=rr,this.int16[Os+7]=Pr,this.uint16[Os+8]=Zr,this.uint16[Os+9]=Hr,this.uint16[Os+10]=hi,this.uint16[Os+11]=Gi,this.uint16[Os+12]=Ra,this.uint16[Os+13]=ha,this.uint16[Os+14]=fn,this.uint16[Os+15]=Wa,this.uint16[Os+16]=cn,this.uint16[Os+17]=bn,this.uint16[Os+18]=Un,this.uint16[Os+19]=oo,this.uint16[Os+20]=ro,this.uint16[Os+21]=Go,this.uint16[Os+22]=So,this.uint32[iu+12]=Bo,this.float32[iu+13]=Hs,this.float32[iu+14]=Wo,this.float32[iu+15]=Qo,this.float32[iu+16]=fl,ne},C}(Ha);Zn.prototype.bytesPerElement=68,de("StructArrayLayout8i15ui1ul4f68",Zn);var ja=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 ye=this.length;return this.resize(ye+1),this.emplace(ye,ne)},C.prototype.emplace=function(ne,ye){var Pe=ne*1;return this.float32[Pe+0]=ye,ne},C}(Ha);ja.prototype.bytesPerElement=4,de("StructArrayLayout1f4",ja);var gn=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,ye,Pe){var Ve=this.length;return this.resize(Ve+1),this.emplace(Ve,ne,ye,Pe)},C.prototype.emplace=function(ne,ye,Pe,Ve){var ft=ne*3;return this.int16[ft+0]=ye,this.int16[ft+1]=Pe,this.int16[ft+2]=Ve,ne},C}(Ha);gn.prototype.bytesPerElement=6,de("StructArrayLayout3i6",gn);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.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},C.prototype.emplaceBack=function(ne,ye,Pe){var Ve=this.length;return this.resize(Ve+1),this.emplace(Ve,ne,ye,Pe)},C.prototype.emplace=function(ne,ye,Pe,Ve){var ft=ne*2,Rt=ne*4;return this.uint32[ft+0]=ye,this.uint16[Rt+2]=Pe,this.uint16[Rt+3]=Ve,ne},C}(Ha);Wn.prototype.bytesPerElement=8,de("StructArrayLayout1ul2ui8",Wn);var $n=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,ye){var Pe=this.length;return this.resize(Pe+1),this.emplace(Pe,ne,ye)},C.prototype.emplace=function(ne,ye,Pe){var Ve=ne*2;return this.uint16[Ve+0]=ye,this.uint16[Ve+1]=Pe,ne},C}(Ha);$n.prototype.bytesPerElement=4,de("StructArrayLayout2ui4",$n);var fo=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 ye=this.length;return this.resize(ye+1),this.emplace(ye,ne)},C.prototype.emplace=function(ne,ye){var Pe=ne*1;return this.uint16[Pe+0]=ye,ne},C}(Ha);fo.prototype.bytesPerElement=2,de("StructArrayLayout1ui2",fo);var Ks=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,ye,Pe,Ve){var ft=this.length;return this.resize(ft+1),this.emplace(ft,ne,ye,Pe,Ve)},C.prototype.emplace=function(ne,ye,Pe,Ve,ft){var Rt=ne*4;return this.float32[Rt+0]=ye,this.float32[Rt+1]=Pe,this.float32[Rt+2]=Ve,this.float32[Rt+3]=ft,ne},C}(Ha);Ks.prototype.bytesPerElement=16,de("StructArrayLayout4f16",Ks);var Rl=function(k){function C(){k.apply(this,arguments)}k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C;var G={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 G.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},G.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},G.x1.get=function(){return this._structArray.int16[this._pos2+2]},G.y1.get=function(){return this._structArray.int16[this._pos2+3]},G.x2.get=function(){return this._structArray.int16[this._pos2+4]},G.y2.get=function(){return this._structArray.int16[this._pos2+5]},G.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},G.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},G.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},G.anchorPoint.get=function(){return new n(this.anchorPointX,this.anchorPointY)},Object.defineProperties(C.prototype,G),C}(Sa);Rl.prototype.size=20;var Ro=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 Rl(this,ne)},C}(ln);de("CollisionBoxArray",Ro);var ru=function(k){function C(){k.apply(this,arguments)}k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C;var G={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 G.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},G.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},G.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},G.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},G.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},G.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},G.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},G.segment.get=function(){return this._structArray.uint16[this._pos2+10]},G.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},G.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},G.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},G.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},G.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},G.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},G.placedOrientation.set=function(ne){this._structArray.uint8[this._pos1+37]=ne},G.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},G.hidden.set=function(ne){this._structArray.uint8[this._pos1+38]=ne},G.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},G.crossTileID.set=function(ne){this._structArray.uint32[this._pos4+10]=ne},G.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(C.prototype,G),C}(Sa);ru.prototype.size=48;var Cs=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 ru(this,ne)},C}(Pn);de("PlacedSymbolArray",Cs);var Ol=function(k){function C(){k.apply(this,arguments)}k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C;var G={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 G.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},G.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},G.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},G.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},G.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},G.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},G.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},G.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},G.key.get=function(){return this._structArray.uint16[this._pos2+8]},G.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},G.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},G.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},G.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},G.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},G.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},G.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},G.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},G.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},G.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},G.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},G.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},G.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},G.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},G.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},G.crossTileID.set=function(ne){this._structArray.uint32[this._pos4+12]=ne},G.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},G.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},G.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},G.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(C.prototype,G),C}(Sa);Ol.prototype.size=68;var Ul=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 Ol(this,ne)},C}(Zn);de("SymbolInstanceArray",Ul);var cu=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}(ja);de("GlyphOffsetArray",cu);var il=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}(gn);de("SymbolLineVertexArray",il);var El=function(k){function C(){k.apply(this,arguments)}k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C;var G={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return G.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},G.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},G.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(C.prototype,G),C}(Sa);El.prototype.size=8;var Dl=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 El(this,ne)},C}(Wn);de("FeatureIndexArray",Dl);var ho=Da([{name:"a_pos",components:2,type:"Int16"}],4),jl=ho.members,$o=function(C){C===void 0&&(C=[]),this.segments=C};$o.prototype.prepareSegment=function(C,G,ne,ye){var Pe=this.segments[this.segments.length-1];return C>$o.MAX_VERTEX_ARRAY_LENGTH&&O("Max vertices per segment is "+$o.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+C),(!Pe||Pe.vertexLength+C>$o.MAX_VERTEX_ARRAY_LENGTH||Pe.sortKey!==ye)&&(Pe={vertexOffset:G.length,primitiveOffset:ne.length,vertexLength:0,primitiveLength:0},ye!==void 0&&(Pe.sortKey=ye),this.segments.push(Pe)),Pe},$o.prototype.get=function(){return this.segments},$o.prototype.destroy=function(){for(var C=0,G=this.segments;C>>16)*Rt&65535)<<16)&4294967295,rr=rr<<15|rr>>>17,rr=(rr&65535)*Ht+(((rr>>>16)*Ht&65535)<<16)&4294967295,Ve^=rr,Ve=Ve<<13|Ve>>>19,ft=(Ve&65535)*5+(((Ve>>>16)*5&65535)<<16)&4294967295,Ve=(ft&65535)+27492+(((ft>>>16)+58964&65535)<<16);switch(rr=0,ye){case 3:rr^=(G.charCodeAt(Pr+2)&255)<<16;case 2:rr^=(G.charCodeAt(Pr+1)&255)<<8;case 1:rr^=G.charCodeAt(Pr)&255,rr=(rr&65535)*Rt+(((rr>>>16)*Rt&65535)<<16)&4294967295,rr=rr<<15|rr>>>17,rr=(rr&65535)*Ht+(((rr>>>16)*Ht&65535)<<16)&4294967295,Ve^=rr}return Ve^=G.length,Ve^=Ve>>>16,Ve=(Ve&65535)*2246822507+(((Ve>>>16)*2246822507&65535)<<16)&4294967295,Ve^=Ve>>>13,Ve=(Ve&65535)*3266489909+(((Ve>>>16)*3266489909&65535)<<16)&4294967295,Ve^=Ve>>>16,Ve>>>0}k.exports=C}),te=t(function(k){function C(G,ne){for(var ye=G.length,Pe=ne^ye,Ve=0,ft;ye>=4;)ft=G.charCodeAt(Ve)&255|(G.charCodeAt(++Ve)&255)<<8|(G.charCodeAt(++Ve)&255)<<16|(G.charCodeAt(++Ve)&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,ye-=4,++Ve;switch(ye){case 3:Pe^=(G.charCodeAt(Ve+2)&255)<<16;case 2:Pe^=(G.charCodeAt(Ve+1)&255)<<8;case 1:Pe^=G.charCodeAt(Ve)&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}),pe=ge,He=ge,Ce=te;pe.murmur3=He,pe.murmur2=Ce;var Ke=function(){this.ids=[],this.positions=[],this.indexed=!1};Ke.prototype.add=function(C,G,ne,ye){this.ids.push(Ut(C)),this.positions.push(G,ne,ye)},Ke.prototype.getPositions=function(C){for(var G=Ut(C),ne=0,ye=this.ids.length-1;ne>1;this.ids[Pe]>=G?ye=Pe:ne=Pe+1}for(var Ve=[];this.ids[ne]===G;){var ft=this.positions[3*ne],Rt=this.positions[3*ne+1],Ht=this.positions[3*ne+2];Ve.push({index:ft,start:Rt,end:Ht}),ne++}return Ve},Ke.serialize=function(C,G){var ne=new Float64Array(C.ids),ye=new Uint32Array(C.positions);return Tr(ne,ye,0,ne.length-1),G&&G.push(ne.buffer,ye.buffer),{ids:ne,positions:ye}},Ke.deserialize=function(C){var G=new Ke;return G.ids=C.ids,G.positions=C.positions,G.indexed=!0,G};var pt=Math.pow(2,53)-1;function Ut(k){var C=+k;return!isNaN(C)&&C<=pt?C:pe(String(k))}function Tr(k,C,G,ne){for(;G>1],Pe=G-1,Ve=ne+1;;){do Pe++;while(k[Pe]ye);if(Pe>=Ve)break;Ur(k,Pe,Ve),Ur(C,3*Pe,3*Ve),Ur(C,3*Pe+1,3*Ve+1),Ur(C,3*Pe+2,3*Ve+2)}Ve-GVe.x+1||RtVe.y+1)&&O("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return G}function No(k,C){return{type:k.type,id:k.id,properties:k.properties,geometry:C?Sn(k):[]}}function os(k,C,G,ne,ye){k.emplaceBack(C*2+(ne+1)/2,G*2+(ye+1)/2)}var Xs=function(C){this.zoom=C.zoom,this.overscaling=C.overscaling,this.layers=C.layers,this.layerIds=this.layers.map(function(G){return G.id}),this.index=C.index,this.hasPattern=!1,this.layoutVertexArray=new zi,this.indexArray=new on,this.segments=new $o,this.programConfigurations=new Ji(C.layers,C.zoom),this.stateDependentLayerIds=this.layers.filter(function(G){return G.isStateDependent()}).map(function(G){return G.id})};Xs.prototype.populate=function(C,G,ne){var ye=this.layers[0],Pe=[],Ve=null;ye.type==="circle"&&(Ve=ye.layout.get("circle-sort-key"));for(var ft=0,Rt=C;ft=ma||Zr<0||Zr>=ma)){var Hr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,C.sortKey),hi=Hr.vertexLength;os(this.layoutVertexArray,Pr,Zr,-1,-1),os(this.layoutVertexArray,Pr,Zr,1,-1),os(this.layoutVertexArray,Pr,Zr,1,1),os(this.layoutVertexArray,Pr,Zr,-1,1),this.indexArray.emplaceBack(hi,hi+1,hi+2),this.indexArray.emplaceBack(hi,hi+3,hi+2),Hr.vertexLength+=4,Hr.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,C,ne,{},ye)},de("CircleBucket",Xs,{omit:["layers"]});function ts(k,C){for(var G=0;G=3){for(var Pe=0;Pe1){if(id(k,C))return!0;for(var ne=0;ne1?k.distSqr(G):k.distSqr(G.sub(C)._mult(ye)._add(C))}function Md(k,C){for(var G=!1,ne,ye,Pe,Ve=0;VeC.y!=Pe.y>C.y&&C.x<(Pe.x-ye.x)*(C.y-ye.y)/(Pe.y-ye.y)+ye.x&&(G=!G)}return G}function bh(k,C){for(var G=!1,ne=0,ye=k.length-1;neC.y!=Ve.y>C.y&&C.x<(Ve.x-Pe.x)*(C.y-Pe.y)/(Ve.y-Pe.y)+Pe.x&&(G=!G)}return G}function Ed(k,C,G,ne,ye){for(var Pe=0,Ve=k;Pe=ft.x&&ye>=ft.y)return!0}var Rt=[new n(C,G),new n(C,ye),new n(ne,ye),new n(ne,G)];if(k.length>2)for(var Ht=0,rr=Rt;Htye.x&&C.x>ye.x||k.yye.y&&C.y>ye.y)return!1;var Pe=X(k,C,G[0]);return Pe!==X(k,C,G[1])||Pe!==X(k,C,G[2])||Pe!==X(k,C,G[3])}function wh(k,C,G){var ne=C.paint.get(k).value;return ne.kind==="constant"?ne.value:G.programConfigurations.get(C.id).getMaxValue(k)}function ad(k){return Math.sqrt(k[0]*k[0]+k[1]*k[1])}function dd(k,C,G,ne,ye){if(!C[0]&&!C[1])return k;var Pe=n.convert(C)._mult(ye);G==="viewport"&&Pe._rotate(-ne);for(var Ve=[],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 Vb(k,C){return k[0]*C[0]+k[1]*C[1]+k[2]*C[2]}function qb(k,C,G){var ne=C[0],ye=C[1],Pe=C[2],Ve=G[0],ft=G[1],Rt=G[2];return k[0]=ye*Rt-Pe*ft,k[1]=Pe*Ve-ne*Rt,k[2]=ne*ft-ye*Ve,k}function Hb(k,C,G){var ne=C[0],ye=C[1],Pe=C[2];return k[0]=ne*G[0]+ye*G[3]+Pe*G[6],k[1]=ne*G[1]+ye*G[4]+Pe*G[7],k[2]=ne*G[2]+ye*G[5]+Pe*G[8],k}var Gb=Av,KA=function(){var k=Tv();return function(C,G,ne,ye,Pe,Ve){var ft,Rt;for(G||(G=3),ne||(ne=0),ye?Rt=Math.min(ye*G+ne,C.length):Rt=C.length,ft=ne;ftk.width||ye.height>k.height||G.x>k.width-ye.width||G.y>k.height-ye.height)throw new RangeError("out of range source coordinates for image copy");if(ye.width>C.width||ye.height>C.height||ne.x>C.width-ye.width||ne.y>C.height-ye.height)throw new RangeError("out of range destination coordinates for image copy");for(var Ve=k.data,ft=C.data,Rt=0;Rt80*G){ft=Ht=k[0],Rt=rr=k[1];for(var hi=G;hiHt&&(Ht=Pr),Zr>rr&&(rr=Zr);Hr=Math.max(Ht-ft,rr-Rt),Hr=Hr!==0?1/Hr:0}return g0(Pe,Ve,G,ft,Rt,Hr),Ve}function gm(k,C,G,ne,ye){var Pe,Ve;if(ye===Dg(k,C,G,ne)>0)for(Pe=C;Pe=C;Pe-=ne)Ve=w1(Pe,k[Pe],k[Pe+1],Ve);return Ve&&_0(Ve,Ve.next)&&(w0(Ve),Ve=Ve.next),Ve}function Sv(k,C){if(!k)return k;C||(C=k);var G=k,ne;do if(ne=!1,!G.steiner&&(_0(G,G.next)||vf(G.prev,G,G.next)===0)){if(w0(G),G=C=G.prev,G===G.next)break;ne=!0}else G=G.next;while(ne||G!==C);return C}function g0(k,C,G,ne,ye,Pe,Ve){if(k){!Ve&&Pe&&ym(k,ne,ye,Pe);for(var ft=k,Rt,Ht;k.prev!==k.next;){if(Rt=k.prev,Ht=k.next,Pe?_1(k,ne,ye,Pe):y1(k)){C.push(Rt.i/G),C.push(k.i/G),C.push(Ht.i/G),w0(k),k=Ht.next,ft=Ht.next;continue}if(k=Ht,k===ft){Ve?Ve===1?(k=y0(Sv(k),C,G),g0(k,C,G,ne,ye,Pe,2)):Ve===2&&Ud(k,C,G,ne,ye,Pe):g0(Sv(k),C,G,ne,ye,Pe,1);break}}}}function y1(k){var C=k.prev,G=k,ne=k.next;if(vf(C,G,ne)>=0)return!1;for(var ye=k.next.next;ye!==k.prev;){if(Ev(C.x,C.y,G.x,G.y,ne.x,ne.y,ye.x,ye.y)&&vf(ye.prev,ye,ye.next)>=0)return!1;ye=ye.next}return!0}function _1(k,C,G,ne){var ye=k.prev,Pe=k,Ve=k.next;if(vf(ye,Pe,Ve)>=0)return!1;for(var ft=ye.xPe.x?ye.x>Ve.x?ye.x:Ve.x:Pe.x>Ve.x?Pe.x:Ve.x,rr=ye.y>Pe.y?ye.y>Ve.y?ye.y:Ve.y:Pe.y>Ve.y?Pe.y:Ve.y,Pr=Lg(ft,Rt,C,G,ne),Zr=Lg(Ht,rr,C,G,ne),Hr=k.prevZ,hi=k.nextZ;Hr&&Hr.z>=Pr&&hi&&hi.z<=Zr;){if(Hr!==k.prev&&Hr!==k.next&&Ev(ye.x,ye.y,Pe.x,Pe.y,Ve.x,Ve.y,Hr.x,Hr.y)&&vf(Hr.prev,Hr,Hr.next)>=0||(Hr=Hr.prevZ,hi!==k.prev&&hi!==k.next&&Ev(ye.x,ye.y,Pe.x,Pe.y,Ve.x,Ve.y,hi.x,hi.y)&&vf(hi.prev,hi,hi.next)>=0))return!1;hi=hi.nextZ}for(;Hr&&Hr.z>=Pr;){if(Hr!==k.prev&&Hr!==k.next&&Ev(ye.x,ye.y,Pe.x,Pe.y,Ve.x,Ve.y,Hr.x,Hr.y)&&vf(Hr.prev,Hr,Hr.next)>=0)return!1;Hr=Hr.prevZ}for(;hi&&hi.z<=Zr;){if(hi!==k.prev&&hi!==k.next&&Ev(ye.x,ye.y,Pe.x,Pe.y,Ve.x,Ve.y,hi.x,hi.y)&&vf(hi.prev,hi,hi.next)>=0)return!1;hi=hi.nextZ}return!0}function y0(k,C,G){var ne=k;do{var ye=ne.prev,Pe=ne.next.next;!_0(ye,Pe)&&_m(ye,ne,ne.next,Pe)&&b0(ye,Pe)&&b0(Pe,ye)&&(C.push(ye.i/G),C.push(ne.i/G),C.push(Pe.i/G),w0(ne),w0(ne.next),ne=k=Pe),ne=ne.next}while(ne!==k);return Sv(ne)}function Ud(k,C,G,ne,ye,Pe){var Ve=k;do{for(var ft=Ve.next.next;ft!==Ve.prev;){if(Ve.i!==ft.i&&Sp(Ve,ft)){var Rt=Pg(Ve,ft);Ve=Sv(Ve,Ve.next),Rt=Sv(Rt,Rt.next),g0(Ve,C,G,ne,ye,Pe),g0(Rt,C,G,ne,ye,Pe);return}ft=ft.next}Ve=Ve.next}while(Ve!==k)}function Mv(k,C,G,ne){var ye=[],Pe,Ve,ft,Rt,Ht;for(Pe=0,Ve=C.length;Pe=G.next.y&&G.next.y!==G.y){var ft=G.x+(ye-G.y)*(G.next.x-G.x)/(G.next.y-G.y);if(ft<=ne&&ft>Pe){if(Pe=ft,ft===ne){if(ye===G.y)return G;if(ye===G.next.y)return G.next}Ve=G.x=G.x&&G.x>=Ht&&ne!==G.x&&Ev(yeVe.x||G.x===Ve.x&&ew(Ve,G)))&&(Ve=G,Pr=Zr)),G=G.next;while(G!==Rt);return Ve}function ew(k,C){return vf(k.prev,k,C.prev)<0&&vf(C.next,k,k.next)<0}function ym(k,C,G,ne){var ye=k;do ye.z===null&&(ye.z=Lg(ye.x,ye.y,C,G,ne)),ye.prevZ=ye.prev,ye.nextZ=ye.next,ye=ye.next;while(ye!==k);ye.prevZ.nextZ=null,ye.prevZ=null,Cg(ye)}function Cg(k){var C,G,ne,ye,Pe,Ve,ft,Rt,Ht=1;do{for(G=k,k=null,Pe=null,Ve=0;G;){for(Ve++,ne=G,ft=0,C=0;C0||Rt>0&≠)ft!==0&&(Rt===0||!ne||G.z<=ne.z)?(ye=G,G=G.nextZ,ft--):(ye=ne,ne=ne.nextZ,Rt--),Pe?Pe.nextZ=ye:k=ye,ye.prevZ=Pe,Pe=ye;G=ne}Pe.nextZ=null,Ht*=2}while(Ve>1);return k}function Lg(k,C,G,ne,ye){return k=32767*(k-G)*ye,C=32767*(C-ne)*ye,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 Ig(k){var C=k,G=k;do(C.x=0&&(k-Ve)*(ne-ft)-(G-Ve)*(C-ft)>=0&&(G-Ve)*(Pe-ft)-(ye-Ve)*(ne-ft)>=0}function Sp(k,C){return k.next.i!==C.i&&k.prev.i!==C.i&&!b1(k,C)&&(b0(k,C)&&b0(C,k)&&tw(k,C)&&(vf(k.prev,k,C.prev)||vf(k,C.prev,C))||_0(k,C)&&vf(k.prev,k,k.next)>0&&vf(C.prev,C,C.next)>0)}function vf(k,C,G){return(C.y-k.y)*(G.x-C.x)-(C.x-k.x)*(G.y-C.y)}function _0(k,C){return k.x===C.x&&k.y===C.y}function _m(k,C,G,ne){var ye=Wv(vf(k,C,G)),Pe=Wv(vf(k,C,ne)),Ve=Wv(vf(G,ne,k)),ft=Wv(vf(G,ne,C));return!!(ye!==Pe&&Ve!==ft||ye===0&&x0(k,G,C)||Pe===0&&x0(k,ne,C)||Ve===0&&x0(G,k,ne)||ft===0&&x0(G,C,ne))}function x0(k,C,G){return C.x<=Math.max(k.x,G.x)&&C.x>=Math.min(k.x,G.x)&&C.y<=Math.max(k.y,G.y)&&C.y>=Math.min(k.y,G.y)}function Wv(k){return k>0?1:k<0?-1:0}function b1(k,C){var G=k;do{if(G.i!==k.i&&G.next.i!==k.i&&G.i!==C.i&&G.next.i!==C.i&&_m(G,G.next,k,C))return!0;G=G.next}while(G!==k);return!1}function b0(k,C){return vf(k.prev,k,k.next)<0?vf(k,C,k.next)>=0&&vf(k,k.prev,C)>=0:vf(k,C,k.prev)<0||vf(k,k.next,C)<0}function tw(k,C){var G=k,ne=!1,ye=(k.x+C.x)/2,Pe=(k.y+C.y)/2;do G.y>Pe!=G.next.y>Pe&&G.next.y!==G.y&&ye<(G.next.x-G.x)*(Pe-G.y)/(G.next.y-G.y)+G.x&&(ne=!ne),G=G.next;while(G!==k);return ne}function Pg(k,C){var G=new Rg(k.i,k.x,k.y),ne=new Rg(C.i,C.x,C.y),ye=k.next,Pe=C.prev;return k.next=C,C.prev=k,G.next=ye,ye.prev=G,ne.next=G,G.prev=ne,Pe.next=ne,ne.prev=Pe,ne}function w1(k,C,G,ne){var ye=new Rg(k,C,G);return ne?(ye.next=ne.next,ye.prev=ne,ne.next.prev=ye,ne.next=ye):(ye.prev=ye,ye.next=ye),ye}function w0(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 Rg(k,C,G){this.i=k,this.x=C,this.y=G,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}Ap.deviation=function(k,C,G,ne){var ye=C&&C.length,Pe=ye?C[0]*G:k.length,Ve=Math.abs(Dg(k,0,Pe,G));if(ye)for(var ft=0,Rt=C.length;ft0&&(ne+=k[ye-1].length,G.holes.push(ne))}return G},mm.default=g1;function zg(k,C,G,ne,ye){iv(k,C,G||0,ne||k.length-1,ye||T1)}function iv(k,C,G,ne,ye){for(;ne>G;){if(ne-G>600){var Pe=ne-G+1,Ve=C-G+1,ft=Math.log(Pe),Rt=.5*Math.exp(2*ft/3),Ht=.5*Math.sqrt(ft*Rt*(Pe-Rt)/Pe)*(Ve-Pe/2<0?-1:1),rr=Math.max(G,Math.floor(C-Ve*Rt/Pe+Ht)),Pr=Math.min(ne,Math.floor(C+(Pe-Ve)*Rt/Pe+Ht));iv(k,C,rr,Pr,ye)}var Zr=k[C],Hr=G,hi=ne;for(Mp(k,G,C),ye(k[ne],Zr)>0&&Mp(k,G,ne);Hr0;)hi--}ye(k[G],Zr)===0?Mp(k,G,hi):(hi++,Mp(k,hi,ne)),hi<=C&&(G=hi+1),C<=hi&&(ne=hi-1)}}function Mp(k,C,G){var ne=k[C];k[C]=k[G],k[G]=ne}function T1(k,C){return kC?1:0}function xm(k,C){var G=k.length;if(G<=1)return[k];for(var ne=[],ye,Pe,Ve=0;Ve1)for(var Rt=0;Rt>3}if(ne--,G===1||G===2)ye+=k.readSVarint(),Pe+=k.readSVarint(),G===1&&(ft&&Ve.push(ft),ft=[]),ft.push(new n(ye,Pe));else if(G===7)ft&&ft.push(ft[0].clone());else throw new Error("unknown command "+G)}return ft&&Ve.push(ft),Ve},Xv.prototype.bbox=function(){var k=this._pbf;k.pos=this._geometry;for(var C=k.readVarint()+k.pos,G=1,ne=0,ye=0,Pe=0,Ve=1/0,ft=-1/0,Rt=1/0,Ht=-1/0;k.pos>3}if(ne--,G===1||G===2)ye+=k.readSVarint(),Pe+=k.readSVarint(),yeft&&(ft=ye),PeHt&&(Ht=Pe);else if(G!==7)throw new Error("unknown command "+G)}return[Ve,Rt,ft,Ht]},Xv.prototype.toGeoJSON=function(k,C,G){var ne=this.extent*Math.pow(2,G),ye=this.extent*k,Pe=this.extent*C,Ve=this.loadGeometry(),ft=Xv.types[this.type],Rt,Ht;function rr(Hr){for(var hi=0;hi>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}Og.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 Bg(this._pbf,C,this.extent,this._keys,this._values)};var R1=iw;function iw(k,C){this.layers=k.readFields(aw,{},C)}function aw(k,C,G){if(k===3){var ne=new av(G,G.readVarint()+G.pos);ne.length&&(C[ne.name]=ne)}}var D1=R1,Ep=Bg,z1=av,nv={VectorTile:D1,VectorTileFeature:Ep,VectorTileLayer:z1},F1=nv.VectorTileFeature.types,wm=500,kp=Math.pow(2,13);function kv(k,C,G,ne,ye,Pe,Ve,ft){k.emplaceBack(C,G,Math.floor(ne*kp)*2+Ve,ye*kp*2,Pe*kp*2,Math.round(ft))}var Pd=function(C){this.zoom=C.zoom,this.overscaling=C.overscaling,this.layers=C.layers,this.layerIds=this.layers.map(function(G){return G.id}),this.index=C.index,this.hasPattern=!1,this.layoutVertexArray=new ba,this.indexArray=new on,this.programConfigurations=new Ji(C.layers,C.zoom),this.segments=new $o,this.stateDependentLayerIds=this.layers.filter(function(G){return G.isStateDependent()}).map(function(G){return G.id})};Pd.prototype.populate=function(C,G,ne){this.features=[],this.hasPattern=bm("fill-extrusion",this.layers,G);for(var ye=0,Pe=C;ye=1){var cn=Ra[fn-1];if(!nw(Wa,cn)){Hr.vertexLength+4>$o.MAX_VERTEX_ARRAY_LENGTH&&(Hr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var bn=Wa.sub(cn)._perp()._unit(),Un=cn.dist(Wa);ha+Un>32768&&(ha=0),kv(this.layoutVertexArray,Wa.x,Wa.y,bn.x,bn.y,0,0,ha),kv(this.layoutVertexArray,Wa.x,Wa.y,bn.x,bn.y,0,1,ha),ha+=Un,kv(this.layoutVertexArray,cn.x,cn.y,bn.x,bn.y,0,0,ha),kv(this.layoutVertexArray,cn.x,cn.y,bn.x,bn.y,0,1,ha);var oo=Hr.vertexLength;this.indexArray.emplaceBack(oo,oo+2,oo+1),this.indexArray.emplaceBack(oo+1,oo+2,oo+3),Hr.vertexLength+=4,Hr.primitiveLength+=2}}}}if(Hr.vertexLength+Ht>$o.MAX_VERTEX_ARRAY_LENGTH&&(Hr=this.segments.prepareSegment(Ht,this.layoutVertexArray,this.indexArray)),F1[C.type]==="Polygon"){for(var ro=[],Go=[],So=Hr.vertexLength,Bo=0,Hs=Rt;Boma)||k.y===C.y&&(k.y<0||k.y>ma)}function ow(k){return k.every(function(C){return C.x<0})||k.every(function(C){return C.x>ma})||k.every(function(C){return C.y<0})||k.every(function(C){return C.y>ma})}var Cp=new Ti({"fill-extrusion-opacity":new rt(rn["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new Yt(rn["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new rt(rn["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new rt(rn["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new hr(rn["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new Yt(rn["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new Yt(rn["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new rt(rn["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])}),mh={paint:Cp},Cv=function(k){function C(G){k.call(this,G,mh)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.createBucket=function(ne){return new Pd(ne)},C.prototype.queryRadius=function(){return ad(this.paint.get("fill-extrusion-translate"))},C.prototype.is3D=function(){return!0},C.prototype.queryIntersectsFeature=function(ne,ye,Pe,Ve,ft,Rt,Ht,rr){var Pr=dd(ne,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),Rt.angle,Ht),Zr=this.paint.get("fill-extrusion-height").evaluate(ye,Pe),Hr=this.paint.get("fill-extrusion-base").evaluate(ye,Pe),hi=sw(Pr,rr,Rt,0),Gi=Ug(Ve,Hr,Zr,rr),Ra=Gi[0],ha=Gi[1];return B1(Ra,ha,hi)},C}(ia);function Yv(k,C){return k.x*C.x+k.y*C.y}function Ng(k,C){if(k.length===1){for(var G=0,ne=C[G++],ye;!ye||ne.equals(ye);)if(ye=C[G++],!ye)return 1/0;for(;G=2&&C[Ht-1].equals(C[Ht-2]);)Ht--;for(var rr=0;rr0;if(ro&&fn>rr){var So=Hr.dist(hi);if(So>2*Pr){var Bo=Hr.sub(Hr.sub(hi)._mult(Pr/So)._round());this.updateDistance(hi,Bo),this.addCurrentVertex(Bo,Ra,0,0,Zr),hi=Bo}}var Hs=hi&&Gi,Wo=Hs?ne:Rt?"butt":ye;if(Hs&&Wo==="round"&&(UnPe&&(Wo="bevel"),Wo==="bevel"&&(Un>2&&(Wo="flipbevel"),Un100)Wa=ha.mult(-1);else{var Qo=Un*Ra.add(ha).mag()/Ra.sub(ha).mag();Wa._perp()._mult(Qo*(Go?-1:1))}this.addCurrentVertex(Hr,Wa,0,0,Zr),this.addCurrentVertex(Hr,Wa.mult(-1),0,0,Zr)}else if(Wo==="bevel"||Wo==="fakeround"){var fl=-Math.sqrt(Un*Un-1),Os=Go?fl:0,iu=Go?0:fl;if(hi&&this.addCurrentVertex(Hr,Ra,Os,iu,Zr),Wo==="fakeround")for(var Vu=Math.round(oo*180/Math.PI/Vg),au=1;au2*Pr){var Hf=Hr.add(Gi.sub(Hr)._mult(Pr/ch)._round());this.updateDistance(Hr,Hf),this.addCurrentVertex(Hf,ha,0,0,Zr),Hr=Hf}}}}},jf.prototype.addCurrentVertex=function(C,G,ne,ye,Pe,Ve){Ve===void 0&&(Ve=!1);var ft=G.x+G.y*ne,Rt=G.y-G.x*ne,Ht=-G.x+G.y*ye,rr=-G.y-G.x*ye;this.addHalfVertex(C,ft,Rt,Ve,!1,ne,Pe),this.addHalfVertex(C,Ht,rr,Ve,!0,-ye,Pe),this.distance>E0/2&&this.totalDistance===0&&(this.distance=0,this.addCurrentVertex(C,G,ne,ye,Pe,Ve))},jf.prototype.addHalfVertex=function(C,G,ne,ye,Pe,Ve,ft){var Rt=C.x,Ht=C.y,rr=this.lineClips?this.scaledDistance*(E0-1):this.scaledDistance,Pr=rr*Am;if(this.layoutVertexArray.emplaceBack((Rt<<1)+(ye?1:0),(Ht<<1)+(Pe?1:0),Math.round(Tm*G)+128,Math.round(Tm*ne)+128,(Ve===0?0:Ve<0?-1:1)+1|(Pr&63)<<2,Pr>>6),this.lineClips){var Zr=this.scaledDistance-this.lineClips.start,Hr=this.lineClips.end-this.lineClips.start,hi=Zr/Hr;this.layoutVertexArray2.emplaceBack(hi,this.lineClipsArray.length)}var Gi=ft.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,Gi),ft.primitiveLength++),Pe?this.e2=Gi:this.e1=Gi},jf.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance},jf.prototype.updateDistance=function(C,G){this.distance+=C.dist(G),this.updateScaledDistance()},de("LineBucket",jf,{omit:["layers","patternFeatures"]});var qg=new Ti({"line-cap":new rt(rn.layout_line["line-cap"]),"line-join":new Yt(rn.layout_line["line-join"]),"line-miter-limit":new rt(rn.layout_line["line-miter-limit"]),"line-round-limit":new rt(rn.layout_line["line-round-limit"]),"line-sort-key":new Yt(rn.layout_line["line-sort-key"])}),Hg=new Ti({"line-opacity":new Yt(rn.paint_line["line-opacity"]),"line-color":new Yt(rn.paint_line["line-color"]),"line-translate":new rt(rn.paint_line["line-translate"]),"line-translate-anchor":new rt(rn.paint_line["line-translate-anchor"]),"line-width":new Yt(rn.paint_line["line-width"]),"line-gap-width":new Yt(rn.paint_line["line-gap-width"]),"line-offset":new Yt(rn.paint_line["line-offset"]),"line-blur":new Yt(rn.paint_line["line-blur"]),"line-dasharray":new li(rn.paint_line["line-dasharray"]),"line-pattern":new hr(rn.paint_line["line-pattern"]),"line-gradient":new Ci(rn.paint_line["line-gradient"])}),Sm={paint:Hg,layout:qg},uw=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,ye){return ye=new Dn(Math.floor(ye.zoom),{now:ye.now,fadeDuration:ye.fadeDuration,zoomHistory:ye.zoomHistory,transition:ye.transition}),k.prototype.possiblyEvaluate.call(this,ne,ye)},C.prototype.evaluate=function(ne,ye,Pe,Ve){return ye=g({},ye,{zoom:Math.floor(ye.zoom)}),k.prototype.evaluate.call(this,ne,ye,Pe,Ve)},C}(Yt),W=new uw(Sm.paint.properties["line-width"].specification);W.useIntegerZoom=!0;var D=function(k){function C(G){k.call(this,G,Sm),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 ye=this._transitionablePaint._values["line-gradient"].value.expression;this.stepInterpolant=ye._styleExpression.expression instanceof Iu,this.gradientVersion=(this.gradientVersion+1)%c}},C.prototype.gradientExpression=function(){return this._transitionablePaint._values["line-gradient"].value.expression},C.prototype.recalculate=function(ne,ye){k.prototype.recalculate.call(this,ne,ye),this.paint._values["line-floorwidth"]=W.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,ne)},C.prototype.createBucket=function(ne){return new jf(ne)},C.prototype.queryRadius=function(ne){var ye=ne,Pe=$(wh("line-width",this,ye),wh("line-gap-width",this,ye)),Ve=wh("line-offset",this,ye);return Pe/2+Math.abs(Ve)+ad(this.paint.get("line-translate"))},C.prototype.queryIntersectsFeature=function(ne,ye,Pe,Ve,ft,Rt,Ht){var rr=dd(ne,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),Rt.angle,Ht),Pr=Ht/2*$(this.paint.get("line-width").evaluate(ye,Pe),this.paint.get("line-gap-width").evaluate(ye,Pe)),Zr=this.paint.get("line-offset").evaluate(ye,Pe);return Zr&&(Ve=he(Ve,Zr*Ht)),Mu(rr,Ve,Pr)},C.prototype.isTileClipped=function(){return!0},C}(ia);function $(k,C){return C>0?C+2*k:k}function he(k,C){for(var G=[],ne=new n(0,0),ye=0;ye":"\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 Ja(k){for(var C="",G=0;G>1,rr=-7,Pr=G?ye-1:0,Zr=G?-1:1,Hr=k[C+Pr];for(Pr+=Zr,Pe=Hr&(1<<-rr)-1,Hr>>=-rr,rr+=ft;rr>0;Pe=Pe*256+k[C+Pr],Pr+=Zr,rr-=8);for(Ve=Pe&(1<<-rr)-1,Pe>>=-rr,rr+=ne;rr>0;Ve=Ve*256+k[C+Pr],Pr+=Zr,rr-=8);if(Pe===0)Pe=1-Ht;else{if(Pe===Rt)return Ve?NaN:(Hr?-1:1)*(1/0);Ve=Ve+Math.pow(2,ne),Pe=Pe-Ht}return(Hr?-1:1)*Ve*Math.pow(2,Pe-ne)},Zo=function(k,C,G,ne,ye,Pe){var Ve,ft,Rt,Ht=Pe*8-ye-1,rr=(1<>1,Zr=ye===23?Math.pow(2,-24)-Math.pow(2,-77):0,Hr=ne?0:Pe-1,hi=ne?1:-1,Gi=C<0||C===0&&1/C<0?1:0;for(C=Math.abs(C),isNaN(C)||C===1/0?(ft=isNaN(C)?1:0,Ve=rr):(Ve=Math.floor(Math.log(C)/Math.LN2),C*(Rt=Math.pow(2,-Ve))<1&&(Ve--,Rt*=2),Ve+Pr>=1?C+=Zr/Rt:C+=Zr*Math.pow(2,1-Pr),C*Rt>=2&&(Ve++,Rt/=2),Ve+Pr>=rr?(ft=0,Ve=rr):Ve+Pr>=1?(ft=(C*Rt-1)*Math.pow(2,ye),Ve=Ve+Pr):(ft=C*Math.pow(2,Pr-1)*Math.pow(2,ye),Ve=0));ye>=8;k[G+Hr]=ft&255,Hr+=hi,ft/=256,ye-=8);for(Ve=Ve<0;k[G+Hr]=Ve&255,Hr+=hi,Ve/=256,Ht-=8);k[G+Hr-hi]|=Gi*128},Ds={read:no,write:Zo},Fo=Jn;function Jn(k){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(k)?k:new Uint8Array(k||0),this.pos=0,this.type=0,this.length=this.buf.length}Jn.Varint=0,Jn.Fixed64=1,Jn.Bytes=2,Jn.Fixed32=5;var _s=65536*65536,ls=1/_s,is=12,Nn=typeof TextDecoder>"u"?null:new TextDecoder("utf8");Jn.prototype={destroy:function(){this.buf=null},readFields:function(k,C,G){for(G=G||this.length;this.pos>3,Pe=this.pos;this.type=ne&7,k(ye,C,this),this.pos===Pe&&this.skip(ne)}return C},readMessage:function(k,C){return this.readFields(k,C,this.readVarint()+this.pos)},readFixed32:function(){var k=sh(this.buf,this.pos);return this.pos+=4,k},readSFixed32:function(){var k=ld(this.buf,this.pos);return this.pos+=4,k},readFixed64:function(){var k=sh(this.buf,this.pos)+sh(this.buf,this.pos+4)*_s;return this.pos+=8,k},readSFixed64:function(){var k=sh(this.buf,this.pos)+ld(this.buf,this.pos+4)*_s;return this.pos+=8,k},readFloat:function(){var k=Ds.read(this.buf,this.pos,!0,23,4);return this.pos+=4,k},readDouble:function(){var k=Ds.read(this.buf,this.pos,!0,52,8);return this.pos+=8,k},readVarint:function(k){var C=this.buf,G,ne;return ne=C[this.pos++],G=ne&127,ne<128||(ne=C[this.pos++],G|=(ne&127)<<7,ne<128)||(ne=C[this.pos++],G|=(ne&127)<<14,ne<128)||(ne=C[this.pos++],G|=(ne&127)<<21,ne<128)?G:(ne=C[this.pos],G|=(ne&15)<<28,Ts(G,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>=is&&Nn?xu(this.buf,C,k):Hh(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!==Jn.Bytes)return k.push(this.readVarint(C));var G=as(this);for(k=k||[];this.pos127;);else if(C===Jn.Bytes)this.pos=this.readVarint()+this.pos;else if(C===Jn.Fixed32)this.pos+=4;else if(C===Jn.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){ic(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=pc(this.buf,k,this.pos);var G=this.pos-C;G>=128&&pd(C,G,this),this.pos=C-1,this.writeVarint(G),this.pos+=G},writeFloat:function(k){this.realloc(4),Ds.write(this.buf,k,this.pos,!0,23,4),this.pos+=4},writeDouble:function(k){this.realloc(8),Ds.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 G=0;G=128&&pd(G,ne,this),this.pos=G-1,this.writeVarint(ne),this.pos+=ne},writeMessage:function(k,C,G){this.writeTag(k,Jn.Bytes),this.writeRawMessage(C,G)},writePackedVarint:function(k,C){C.length&&this.writeMessage(k,gh,C)},writePackedSVarint:function(k,C){C.length&&this.writeMessage(k,$f,C)},writePackedBoolean:function(k,C){C.length&&this.writeMessage(k,Oh,C)},writePackedFloat:function(k,C){C.length&&this.writeMessage(k,Fh,C)},writePackedDouble:function(k,C){C.length&&this.writeMessage(k,Bh,C)},writePackedFixed32:function(k,C){C.length&&this.writeMessage(k,pf,C)},writePackedSFixed32:function(k,C){C.length&&this.writeMessage(k,Jf,C)},writePackedFixed64:function(k,C){C.length&&this.writeMessage(k,Sh,C)},writePackedSFixed64:function(k,C){C.length&&this.writeMessage(k,yh,C)},writeBytesField:function(k,C){this.writeTag(k,Jn.Bytes),this.writeBytes(C)},writeFixed32Field:function(k,C){this.writeTag(k,Jn.Fixed32),this.writeFixed32(C)},writeSFixed32Field:function(k,C){this.writeTag(k,Jn.Fixed32),this.writeSFixed32(C)},writeFixed64Field:function(k,C){this.writeTag(k,Jn.Fixed64),this.writeFixed64(C)},writeSFixed64Field:function(k,C){this.writeTag(k,Jn.Fixed64),this.writeSFixed64(C)},writeVarintField:function(k,C){this.writeTag(k,Jn.Varint),this.writeVarint(C)},writeSVarintField:function(k,C){this.writeTag(k,Jn.Varint),this.writeSVarint(C)},writeStringField:function(k,C){this.writeTag(k,Jn.Bytes),this.writeString(C)},writeFloatField:function(k,C){this.writeTag(k,Jn.Fixed32),this.writeFloat(C)},writeDoubleField:function(k,C){this.writeTag(k,Jn.Fixed64),this.writeDouble(C)},writeBooleanField:function(k,C){this.writeVarintField(k,!!C)}};function Ts(k,C,G){var ne=G.buf,ye,Pe;if(Pe=ne[G.pos++],ye=(Pe&112)>>4,Pe<128||(Pe=ne[G.pos++],ye|=(Pe&127)<<3,Pe<128)||(Pe=ne[G.pos++],ye|=(Pe&127)<<10,Pe<128)||(Pe=ne[G.pos++],ye|=(Pe&127)<<17,Pe<128)||(Pe=ne[G.pos++],ye|=(Pe&127)<<24,Pe<128)||(Pe=ne[G.pos++],ye|=(Pe&1)<<31,Pe<128))return Ws(k,ye,C);throw new Error("Expected varint not more than 10 bytes")}function as(k){return k.type===Jn.Bytes?k.readVarint()+k.pos:k.pos+1}function Ws(k,C,G){return G?C*4294967296+(k>>>0):(C>>>0)*4294967296+(k>>>0)}function ic(k,C){var G,ne;if(k>=0?(G=k%4294967296|0,ne=k/4294967296|0):(G=~(-k%4294967296),ne=~(-k/4294967296),G^4294967295?G=G+1|0:(G=0,ne=ne+1|0)),k>=18446744073709552e3||k<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");C.realloc(10),Yu(G,ne,C),Kf(ne,C)}function Yu(k,C,G){G.buf[G.pos++]=k&127|128,k>>>=7,G.buf[G.pos++]=k&127|128,k>>>=7,G.buf[G.pos++]=k&127|128,k>>>=7,G.buf[G.pos++]=k&127|128,k>>>=7,G.buf[G.pos]=k&127}function Kf(k,C){var G=(k&7)<<4;C.buf[C.pos++]|=G|((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 pd(k,C,G){var ne=C<=16383?1:C<=2097151?2:C<=268435455?3:Math.floor(Math.log(C)/(Math.LN2*7));G.realloc(ne);for(var ye=G.pos-1;ye>=k;ye--)G.buf[ye+ne]=G.buf[ye]}function gh(k,C){for(var G=0;G>>8,k[G+2]=C>>>16,k[G+3]=C>>>24}function ld(k,C){return(k[C]|k[C+1]<<8|k[C+2]<<16)+(k[C+3]<<24)}function Hh(k,C,G){for(var ne="",ye=C;ye239?4:Pe>223?3:Pe>191?2:1;if(ye+ft>G)break;var Rt,Ht,rr;ft===1?Pe<128&&(Ve=Pe):ft===2?(Rt=k[ye+1],(Rt&192)===128&&(Ve=(Pe&31)<<6|Rt&63,Ve<=127&&(Ve=null))):ft===3?(Rt=k[ye+1],Ht=k[ye+2],(Rt&192)===128&&(Ht&192)===128&&(Ve=(Pe&15)<<12|(Rt&63)<<6|Ht&63,(Ve<=2047||Ve>=55296&&Ve<=57343)&&(Ve=null))):ft===4&&(Rt=k[ye+1],Ht=k[ye+2],rr=k[ye+3],(Rt&192)===128&&(Ht&192)===128&&(rr&192)===128&&(Ve=(Pe&15)<<18|(Rt&63)<<12|(Ht&63)<<6|rr&63,(Ve<=65535||Ve>=1114112)&&(Ve=null))),Ve===null?(Ve=65533,ft=1):Ve>65535&&(Ve-=65536,ne+=String.fromCharCode(Ve>>>10&1023|55296),Ve=56320|Ve&1023),ne+=String.fromCharCode(Ve),ye+=ft}return ne}function xu(k,C,G){return Nn.decode(k.subarray(C,G))}function pc(k,C,G){for(var ne=0,ye,Pe;ne55295&&ye<57344)if(Pe)if(ye<56320){k[G++]=239,k[G++]=191,k[G++]=189,Pe=ye;continue}else ye=Pe-55296<<10|ye-56320|65536,Pe=null;else{ye>56319||ne+1===C.length?(k[G++]=239,k[G++]=191,k[G++]=189):Pe=ye;continue}else Pe&&(k[G++]=239,k[G++]=191,k[G++]=189,Pe=null);ye<128?k[G++]=ye:(ye<2048?k[G++]=ye>>6|192:(ye<65536?k[G++]=ye>>12|224:(k[G++]=ye>>18|240,k[G++]=ye>>12&63|128),k[G++]=ye>>6&63|128),k[G++]=ye&63|128)}return G}var ac=3;function ud(k,C,G){k===1&&G.readMessage(rf,C)}function rf(k,C,G){if(k===3){var ne=G.readMessage(Lp,{}),ye=ne.id,Pe=ne.bitmap,Ve=ne.width,ft=ne.height,Rt=ne.left,Ht=ne.top,rr=ne.advance;C.push({id:ye,bitmap:new sd({width:Ve+2*ac,height:ft+2*ac},Pe),metrics:{width:Ve,height:ft,left:Rt,top:Ht,advance:rr}})}}function Lp(k,C,G){k===1?C.id=G.readVarint():k===2?C.bitmap=G.readBytes():k===3?C.width=G.readVarint():k===4?C.height=G.readVarint():k===5?C.left=G.readSVarint():k===6?C.top=G.readSVarint():k===7&&(C.advance=G.readVarint())}function jd(k){return new Fo(k).readFields(ud,[])}var Rd=ac;function md(k){for(var C=0,G=0,ne=0,ye=k;ne=0;Hr--){var hi=ft[Hr];if(!(Zr.w>hi.w||Zr.h>hi.h)){if(Zr.x=hi.x,Zr.y=hi.y,Ht=Math.max(Ht,Zr.y+Zr.h),Rt=Math.max(Rt,Zr.x+Zr.w),Zr.w===hi.w&&Zr.h===hi.h){var Gi=ft.pop();Hr=0&&ye>=C&&qd[this.text.charCodeAt(ye)];ye--)ne--;this.text=this.text.substring(C,ne),this.sectionIndex=this.sectionIndex.slice(C,ne)},lh.prototype.substring=function(C,G){var ne=new lh;return ne.text=this.text.substring(C,G),ne.sectionIndex=this.sectionIndex.slice(C,G),ne.sections=this.sections,ne},lh.prototype.toString=function(){return this.text},lh.prototype.getMaxScale=function(){var C=this;return this.sectionIndex.reduce(function(G,ne){return Math.max(G,C.sections[ne].scale)},0)},lh.prototype.addTextSection=function(C,G){this.text+=C.text,this.sections.push(Zv.forText(C.scale,C.fontStack||G));for(var ne=this.sections.length-1,ye=0;ye=Vd?null:++this.imageSectionID:(this.imageSectionID=Mm,this.imageSectionID)};function cw(k,C){for(var G=[],ne=k.text,ye=0,Pe=0,Ve=C;Pe=0,rr=0,Pr=0;Pr0&&Hf>Go&&(Go=Hf)}else{var nu=G[Bo.fontStack],Xl=nu&&nu[Wo];if(Xl&&Xl.rect)Os=Xl.rect,fl=Xl.metrics;else{var nc=C[Bo.fontStack],mc=nc&&nc[Wo];if(!mc)continue;fl=mc.metrics}Qo=(bn-Bo.scale)*dn}au?(k.verticalizable=!0,ro.push({glyph:Wo,imageName:iu,x:Zr,y:Hr+Qo,vertical:au,scale:Bo.scale,fontStack:Bo.fontStack,sectionIndex:Hs,metrics:fl,rect:Os}),Zr+=Vu*Bo.scale+Ht):(ro.push({glyph:Wo,imageName:iu,x:Zr,y:Hr+Qo,vertical:au,scale:Bo.scale,fontStack:Bo.fontStack,sectionIndex:Hs,metrics:fl,rect:Os}),Zr+=fl.advance*Bo.scale+Ht)}if(ro.length!==0){var Uh=Zr-Ht;hi=Math.max(Uh,hi),vw(ro,0,ro.length-1,Ra,Go)}Zr=0;var jh=Pe*bn+Go;oo.lineOffset=Math.max(Go,Un),Hr+=jh,Gi=Math.max(jh,Gi),++ha}var fh=Hr-Ip,Xh=Wg(Ve),Yh=Xh.horizontalAlign,Qf=Xh.verticalAlign;Mh(k.positionedLines,Ra,Yh,Qf,hi,Gi,Pe,fh,ye.length),k.top+=-Qf*fh,k.bottom=k.top+fh,k.left+=-Yh*hi,k.right=k.left+hi}function vw(k,C,G,ne,ye){if(!(!ne&&!ye))for(var Pe=k[G],Ve=Pe.metrics.advance*Pe.scale,ft=(k[G].x+Ve)*ne,Rt=C;Rt<=G;Rt++)k[Rt].x-=ft,k[Rt].y+=ye}function Mh(k,C,G,ne,ye,Pe,Ve,ft,Rt){var Ht=(C-G)*ye,rr=0;Pe!==Ve?rr=-ft*ne-Ip:rr=(-ne*Rt+.5)*Ve;for(var Pr=0,Zr=k;Pr-G/2;){if(Ve--,Ve<0)return!1;ft-=k[Ve].dist(Pe),Pe=k[Ve]}ft+=k[Ve].dist(k[Ve+1]),Ve++;for(var Rt=[],Ht=0;ftne;)Ht-=Rt.shift().angleDelta;if(Ht>ye)return!1;Ve++,ft+=Pr.dist(Zr)}return!0}function tS(k){for(var C=0,G=0;GHt){var hi=(Ht-Rt)/Hr,Gi=Nl(Pr.x,Zr.x,hi),Ra=Nl(Pr.y,Zr.y,hi),ha=new Nh(Gi,Ra,Zr.angleTo(Pr),rr);return ha._round(),!Ve||eS(k,ha,ft,Ve,C)?ha:void 0}Rt+=Hr}}function Hz(k,C,G,ne,ye,Pe,Ve,ft,Rt){var Ht=rS(ne,Pe,Ve),rr=iS(ne,ye),Pr=rr*Ve,Zr=k[0].x===0||k[0].x===Rt||k[0].y===0||k[0].y===Rt;C-Pr=0&&cn=0&&bn=0&&Zr+Ht<=rr){var Un=new Nh(cn,bn,fn,hi);Un._round(),(!ne||eS(k,Un,Pe,ne,ye))&&Hr.push(Un)}}Pr+=ha}return!ft&&!Hr.length&&!Ve&&(Hr=aS(k,Pr/2,G,ne,ye,Pe,Ve,!0,Rt)),Hr}function nS(k,C,G,ne,ye){for(var Pe=[],Ve=0;Ve=ne&&Pr.x>=ne)&&(rr.x>=ne?rr=new n(ne,rr.y+(Pr.y-rr.y)*((ne-rr.x)/(Pr.x-rr.x)))._round():Pr.x>=ne&&(Pr=new n(ne,rr.y+(Pr.y-rr.y)*((ne-rr.x)/(Pr.x-rr.x)))._round()),!(rr.y>=ye&&Pr.y>=ye)&&(rr.y>=ye?rr=new n(rr.x+(Pr.x-rr.x)*((ye-rr.y)/(Pr.y-rr.y)),ye)._round():Pr.y>=ye&&(Pr=new n(rr.x+(Pr.x-rr.x)*((ye-rr.y)/(Pr.y-rr.y)),ye)._round()),(!Rt||!rr.equals(Rt[Rt.length-1]))&&(Rt=[rr],Pe.push(Rt)),Rt.push(Pr)))))}return Pe}var Cm=Uc;function oS(k,C,G,ne){var ye=[],Pe=k.image,Ve=Pe.pixelRatio,ft=Pe.paddedRect.w-2*Cm,Rt=Pe.paddedRect.h-2*Cm,Ht=k.right-k.left,rr=k.bottom-k.top,Pr=Pe.stretchX||[[0,ft]],Zr=Pe.stretchY||[[0,Rt]],Hr=function(nu,Xl){return nu+Xl[1]-Xl[0]},hi=Pr.reduce(Hr,0),Gi=Zr.reduce(Hr,0),Ra=ft-hi,ha=Rt-Gi,fn=0,Wa=hi,cn=0,bn=Gi,Un=0,oo=Ra,ro=0,Go=ha;if(Pe.content&&ne){var So=Pe.content;fn=G1(Pr,0,So[0]),cn=G1(Zr,0,So[1]),Wa=G1(Pr,So[0],So[2]),bn=G1(Zr,So[1],So[3]),Un=So[0]-fn,ro=So[1]-cn,oo=So[2]-So[0]-Wa,Go=So[3]-So[1]-bn}var Bo=function(nu,Xl,nc,mc){var mf=W1(nu.stretch-fn,Wa,Ht,k.left),wf=X1(nu.fixed-Un,oo,nu.stretch,hi),ch=W1(Xl.stretch-cn,bn,rr,k.top),Hf=X1(Xl.fixed-ro,Go,Xl.stretch,Gi),Uh=W1(nc.stretch-fn,Wa,Ht,k.left),jh=X1(nc.fixed-Un,oo,nc.stretch,hi),fh=W1(mc.stretch-cn,bn,rr,k.top),Xh=X1(mc.fixed-ro,Go,mc.stretch,Gi),Yh=new n(mf,ch),Qf=new n(Uh,ch),Zh=new n(Uh,fh),Id=new n(mf,fh),Jv=new n(wf/Ve,Hf/Ve),Dp=new n(jh/Ve,Xh/Ve),zp=C*Math.PI/180;if(zp){var Fp=Math.sin(zp),Bm=Math.cos(zp),Hd=[Bm,-Fp,Fp,Bm];Yh._matMult(Hd),Qf._matMult(Hd),Id._matMult(Hd),Zh._matMult(Hd)}var Q1=nu.stretch+nu.fixed,ww=nc.stretch+nc.fixed,e_=Xl.stretch+Xl.fixed,Tw=mc.stretch+mc.fixed,Dd={x:Pe.paddedRect.x+Cm+Q1,y:Pe.paddedRect.y+Cm+e_,w:ww-Q1,h:Tw-e_},Om=oo/Ve/Ht,t_=Go/Ve/rr;return{tl:Yh,tr:Qf,bl:Id,br:Zh,tex:Dd,writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:Jv,pixelOffsetBR:Dp,minFontScaleX:Om,minFontScaleY:t_,isSDF:G}};if(!ne||!Pe.stretchX&&!Pe.stretchY)ye.push(Bo({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:ft+1},{fixed:0,stretch:Rt+1}));else for(var Hs=sS(Pr,Ra,hi),Wo=sS(Zr,ha,Gi),Qo=0;Qo0&&(hi=Math.max(10,hi),this.circleDiameter=hi)}else{var Gi=Ve.top*ft-Rt,Ra=Ve.bottom*ft+Rt,ha=Ve.left*ft-Rt,fn=Ve.right*ft+Rt,Wa=Ve.collisionPadding;if(Wa&&(ha-=Wa[0]*ft,Gi-=Wa[1]*ft,fn+=Wa[2]*ft,Ra+=Wa[3]*ft),rr){var cn=new n(ha,Gi),bn=new n(fn,Gi),Un=new n(ha,Ra),oo=new n(fn,Ra),ro=rr*Math.PI/180;cn._rotate(ro),bn._rotate(ro),Un._rotate(ro),oo._rotate(ro),ha=Math.min(cn.x,bn.x,Un.x,oo.x),fn=Math.max(cn.x,bn.x,Un.x,oo.x),Gi=Math.min(cn.y,bn.y,Un.y,oo.y),Ra=Math.max(cn.y,bn.y,Un.y,oo.y)}C.emplaceBack(G.x,G.y,ha,Gi,fn,Ra,ne,ye,Pe)}this.boxEndIndex=C.length},Lm=function(C,G){if(C===void 0&&(C=[]),G===void 0&&(G=Wz),this.data=C,this.length=this.data.length,this.compare=G,this.length>0)for(var ne=(this.length>>1)-1;ne>=0;ne--)this._down(ne)};Lm.prototype.push=function(C){this.data.push(C),this.length++,this._up(this.length-1)},Lm.prototype.pop=function(){if(this.length!==0){var C=this.data[0],G=this.data.pop();return this.length--,this.length>0&&(this.data[0]=G,this._down(0)),C}},Lm.prototype.peek=function(){return this.data[0]},Lm.prototype._up=function(C){for(var G=this,ne=G.data,ye=G.compare,Pe=ne[C];C>0;){var Ve=C-1>>1,ft=ne[Ve];if(ye(Pe,ft)>=0)break;ne[C]=ft,C=Ve}ne[C]=Pe},Lm.prototype._down=function(C){for(var G=this,ne=G.data,ye=G.compare,Pe=this.length>>1,Ve=ne[C];C=0)break;ne[C]=Rt,C=ft}ne[C]=Ve};function Wz(k,C){return kC?1:0}function Xz(k,C,G){C===void 0&&(C=1),G===void 0&&(G=!1);for(var ne=1/0,ye=1/0,Pe=-1/0,Ve=-1/0,ft=k[0],Rt=0;RtPe)&&(Pe=Ht.x),(!Rt||Ht.y>Ve)&&(Ve=Ht.y)}var rr=Pe-ne,Pr=Ve-ye,Zr=Math.min(rr,Pr),Hr=Zr/2,hi=new Lm([],Yz);if(Zr===0)return new n(ne,ye);for(var Gi=ne;Giha.d||!ha.d)&&(ha=Wa,G&&console.log("found best %d after %d probes",Math.round(1e4*Wa.d)/1e4,fn)),!(Wa.max-ha.d<=C)&&(Hr=Wa.h/2,hi.push(new Im(Wa.p.x-Hr,Wa.p.y-Hr,Hr,k)),hi.push(new Im(Wa.p.x+Hr,Wa.p.y-Hr,Hr,k)),hi.push(new Im(Wa.p.x-Hr,Wa.p.y+Hr,Hr,k)),hi.push(new Im(Wa.p.x+Hr,Wa.p.y+Hr,Hr,k)),fn+=4)}return G&&(console.log("num probes: "+fn),console.log("best distance: "+ha.d)),ha.p}function Yz(k,C){return C.max-k.max}function Im(k,C,G,ne){this.p=new n(k,C),this.h=G,this.d=Zz(this.p,ne),this.max=this.d+this.h*Math.SQRT2}function Zz(k,C){for(var G=!1,ne=1/0,ye=0;yek.y!=rr.y>k.y&&k.x<(rr.x-Ht.x)*(k.y-Ht.y)/(rr.y-Ht.y)+Ht.x&&(G=!G),ne=Math.min(ne,ev(k,Ht,rr))}return(G?1:-1)*Math.sqrt(ne)}function Kz(k){for(var C=0,G=0,ne=0,ye=k[0],Pe=0,Ve=ye.length,ft=Ve-1;Pe=ma||Hd.y<0||Hd.y>=ma||Qz(k,Hd,Bm,G,ne,ye,Wo,k.layers[0],k.collisionBoxArray,C.index,C.sourceLayerIndex,k.index,ha,bn,ro,Rt,Wa,Un,Go,Hr,C,Pe,Ht,rr,Ve)};if(So==="line")for(var fl=0,Os=nS(C.geometry,0,0,ma,ma);fl1){var ch=qz(wf,oo,G.vertical||hi,ne,Gi,fn);ch&&Qo(wf,ch)}}else if(C.type==="Polygon")for(var Hf=0,Uh=xm(C.geometry,0);HfPp&&O(k.layerIds[0]+': Value for "text-size" is >= '+Xg+'. Reduce your "text-size".')):Ra.kind==="composite"&&(ha=[Eh*Hr.compositeTextSizes[0].evaluate(Ve,{},hi),Eh*Hr.compositeTextSizes[1].evaluate(Ve,{},hi)],(ha[0]>Pp||ha[1]>Pp)&&O(k.layerIds[0]+': Value for "text-size" is >= '+Xg+'. Reduce your "text-size".')),k.addSymbols(k.text,Gi,ha,ft,Pe,Ve,Ht,C,Rt.lineStartIndex,Rt.lineLength,Zr,hi);for(var fn=0,Wa=rr;fnPp&&O(k.layerIds[0]+': Value for "icon-size" is >= '+Xg+'. Reduce your "icon-size".')):Yh.kind==="composite"&&(Qf=[Eh*bn.compositeIconSizes[0].evaluate(cn,{},oo),Eh*bn.compositeIconSizes[1].evaluate(cn,{},oo)],(Qf[0]>Pp||Qf[1]>Pp)&&O(k.layerIds[0]+': Value for "icon-size" is >= '+Xg+'. Reduce your "icon-size".')),k.addSymbols(k.icon,fh,Qf,Wa,fn,cn,!1,C,So.lineStartIndex,So.lineLength,-1,oo),au=k.icon.placedSymbolArray.length-1,Xh&&(Os=Xh.length*4,k.addSymbols(k.icon,Xh,Qf,Wa,fn,cn,Gh.vertical,C,So.lineStartIndex,So.lineLength,-1,oo),nu=k.icon.placedSymbolArray.length-1)}for(var Zh in ne.horizontal){var Id=ne.horizontal[Zh];if(!Bo){nc=pe(Id.text);var Jv=ft.layout.get("text-rotate").evaluate(cn,{},oo);Bo=new Y1(Rt,C,Ht,rr,Pr,Id,Zr,Hr,hi,Jv)}var Dp=Id.positionedLines.length===1;if(iu+=uS(k,C,Id,Pe,ft,hi,cn,Gi,So,ne.vertical?Gh.horizontal:Gh.horizontalOnly,Dp?Object.keys(ne.horizontal):[Zh],Xl,au,bn,oo),Dp)break}ne.vertical&&(Vu+=uS(k,C,ne.vertical,Pe,ft,hi,cn,Gi,So,Gh.vertical,["vertical"],Xl,nu,bn,oo));var zp=Bo?Bo.boxStartIndex:k.collisionBoxArray.length,Fp=Bo?Bo.boxEndIndex:k.collisionBoxArray.length,Bm=Wo?Wo.boxStartIndex:k.collisionBoxArray.length,Hd=Wo?Wo.boxEndIndex:k.collisionBoxArray.length,Q1=Hs?Hs.boxStartIndex:k.collisionBoxArray.length,ww=Hs?Hs.boxEndIndex:k.collisionBoxArray.length,e_=Qo?Qo.boxStartIndex:k.collisionBoxArray.length,Tw=Qo?Qo.boxEndIndex:k.collisionBoxArray.length,Dd=-1,Om=function(Kg,MS){return Kg&&Kg.circleDiameter?Math.max(Kg.circleDiameter,MS):MS};Dd=Om(Bo,Dd),Dd=Om(Wo,Dd),Dd=Om(Hs,Dd),Dd=Om(Qo,Dd);var t_=Dd>-1?1:0;t_&&(Dd*=ro/dn),k.glyphOffsetArray.length>=ju.MAX_GLYPHS&&O("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),cn.sortKey!==void 0&&k.addToSortKeyRanges(k.symbolInstances.length,cn.sortKey),k.symbolInstances.emplaceBack(C.x,C.y,Xl.right>=0?Xl.right:-1,Xl.center>=0?Xl.center:-1,Xl.left>=0?Xl.left:-1,Xl.vertical||-1,au,nu,nc,zp,Fp,Bm,Hd,Q1,ww,e_,Tw,Ht,iu,Vu,fl,Os,t_,0,Zr,mc,mf,Dd)}function e7(k,C,G,ne){var ye=k.compareText;if(!(C in ye))ye[C]=[];else for(var Pe=ye[C],Ve=Pe.length-1;Ve>=0;Ve--)if(ne.dist(Pe[Ve])0)&&(Ve.value.kind!=="constant"||Ve.value.value.length>0),rr=Rt.value.kind!=="constant"||!!Rt.value.value||Object.keys(Rt.parameters).length>0,Pr=Pe.get("symbol-sort-key");if(this.features=[],!(!Ht&&!rr)){for(var Zr=G.iconDependencies,Hr=G.glyphDependencies,hi=G.availableImages,Gi=new Dn(this.zoom),Ra=0,ha=C;Ra=0;for(var Vu=0,au=Go.sections;Vu=0;Rt--)Ve[Rt]={x:G[Rt].x,y:G[Rt].y,tileUnitDistanceFromAnchor:Pe},Rt>0&&(Pe+=G[Rt-1].dist(G[Rt]));for(var Ht=0;Ht0},ju.prototype.hasIconData=function(){return this.icon.segments.get().length>0},ju.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},ju.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},ju.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},ju.prototype.addIndicesForPlacedSymbol=function(C,G){for(var ne=C.placedSymbolArray.get(G),ye=ne.vertexStartIndex+ne.numGlyphs*4,Pe=ne.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 ne=0,ye=this.symbolInstanceIndexes;ne=0&&Ht.indexOf(ft)===Rt&&G.addIndicesForPlacedSymbol(G.text,ft)}),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)}},de("SymbolBucket",ju,{omit:["layers","collisionBoxArray","features","compareText"]}),ju.MAX_GLYPHS=65535,ju.addDynamicAttributes=gw;function a7(k,C){return C.replace(/{([^{}]+)}/g,function(G,ne){return ne in k?String(k[ne]):""})}var n7=new Ti({"symbol-placement":new rt(rn.layout_symbol["symbol-placement"]),"symbol-spacing":new rt(rn.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new rt(rn.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new Yt(rn.layout_symbol["symbol-sort-key"]),"symbol-z-order":new rt(rn.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new rt(rn.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new rt(rn.layout_symbol["icon-ignore-placement"]),"icon-optional":new rt(rn.layout_symbol["icon-optional"]),"icon-rotation-alignment":new rt(rn.layout_symbol["icon-rotation-alignment"]),"icon-size":new Yt(rn.layout_symbol["icon-size"]),"icon-text-fit":new rt(rn.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new rt(rn.layout_symbol["icon-text-fit-padding"]),"icon-image":new Yt(rn.layout_symbol["icon-image"]),"icon-rotate":new Yt(rn.layout_symbol["icon-rotate"]),"icon-padding":new rt(rn.layout_symbol["icon-padding"]),"icon-keep-upright":new rt(rn.layout_symbol["icon-keep-upright"]),"icon-offset":new Yt(rn.layout_symbol["icon-offset"]),"icon-anchor":new Yt(rn.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new rt(rn.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new rt(rn.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new rt(rn.layout_symbol["text-rotation-alignment"]),"text-field":new Yt(rn.layout_symbol["text-field"]),"text-font":new Yt(rn.layout_symbol["text-font"]),"text-size":new Yt(rn.layout_symbol["text-size"]),"text-max-width":new Yt(rn.layout_symbol["text-max-width"]),"text-line-height":new rt(rn.layout_symbol["text-line-height"]),"text-letter-spacing":new Yt(rn.layout_symbol["text-letter-spacing"]),"text-justify":new Yt(rn.layout_symbol["text-justify"]),"text-radial-offset":new Yt(rn.layout_symbol["text-radial-offset"]),"text-variable-anchor":new rt(rn.layout_symbol["text-variable-anchor"]),"text-anchor":new Yt(rn.layout_symbol["text-anchor"]),"text-max-angle":new rt(rn.layout_symbol["text-max-angle"]),"text-writing-mode":new rt(rn.layout_symbol["text-writing-mode"]),"text-rotate":new Yt(rn.layout_symbol["text-rotate"]),"text-padding":new rt(rn.layout_symbol["text-padding"]),"text-keep-upright":new rt(rn.layout_symbol["text-keep-upright"]),"text-transform":new Yt(rn.layout_symbol["text-transform"]),"text-offset":new Yt(rn.layout_symbol["text-offset"]),"text-allow-overlap":new rt(rn.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new rt(rn.layout_symbol["text-ignore-placement"]),"text-optional":new rt(rn.layout_symbol["text-optional"])}),o7=new Ti({"icon-opacity":new Yt(rn.paint_symbol["icon-opacity"]),"icon-color":new Yt(rn.paint_symbol["icon-color"]),"icon-halo-color":new Yt(rn.paint_symbol["icon-halo-color"]),"icon-halo-width":new Yt(rn.paint_symbol["icon-halo-width"]),"icon-halo-blur":new Yt(rn.paint_symbol["icon-halo-blur"]),"icon-translate":new rt(rn.paint_symbol["icon-translate"]),"icon-translate-anchor":new rt(rn.paint_symbol["icon-translate-anchor"]),"text-opacity":new Yt(rn.paint_symbol["text-opacity"]),"text-color":new Yt(rn.paint_symbol["text-color"],{runtimeType:Ys,getOverride:function(k){return k.textColor},hasOverride:function(k){return!!k.textColor}}),"text-halo-color":new Yt(rn.paint_symbol["text-halo-color"]),"text-halo-width":new Yt(rn.paint_symbol["text-halo-width"]),"text-halo-blur":new Yt(rn.paint_symbol["text-halo-blur"]),"text-translate":new rt(rn.paint_symbol["text-translate"]),"text-translate-anchor":new rt(rn.paint_symbol["text-translate-anchor"])}),yw={paint:o7,layout:n7},Dm=function(C){this.type=C.property.overrides?C.property.overrides.runtimeType:yl,this.defaultValue=C};Dm.prototype.evaluate=function(C){if(C.formattedSection){var G=this.defaultValue.property.overrides;if(G&&G.hasOverride(C.formattedSection))return G.getOverride(C.formattedSection)}return C.feature&&C.featureState?this.defaultValue.evaluate(C.feature,C.featureState):this.defaultValue.property.specification.default},Dm.prototype.eachChild=function(C){if(!this.defaultValue.isConstant()){var G=this.defaultValue.value;C(G._styleExpression.expression)}},Dm.prototype.outputDefined=function(){return!1},Dm.prototype.serialize=function(){return null},de("FormatSectionOverride",Dm,{omit:["defaultValue"]});var s7=function(k){function C(G){k.call(this,G,yw)}return k&&(C.__proto__=k),C.prototype=Object.create(k&&k.prototype),C.prototype.constructor=C,C.prototype.recalculate=function(ne,ye){if(k.prototype.recalculate.call(this,ne,ye),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 Ve=[],ft=0,Rt=Pe;ft",targetMapId:ye,sourceMapId:Ve.mapId})}}},zm.prototype.receive=function(C){var G=C.data,ne=G.id;if(ne&&!(G.targetMapId&&this.mapId!==G.targetMapId))if(G.type===""){delete this.tasks[ne];var ye=this.cancelCallbacks[ne];delete this.cancelCallbacks[ne],ye&&ye()}else le()||G.mustQueue?(this.tasks[ne]=G,this.taskQueue.push(ne),this.invoker.trigger()):this.processTask(ne,G)},zm.prototype.process=function(){if(this.taskQueue.length){var C=this.taskQueue.shift(),G=this.tasks[C];delete this.tasks[C],this.taskQueue.length&&this.invoker.trigger(),G&&this.processTask(C,G)}},zm.prototype.processTask=function(C,G){var ne=this;if(G.type===""){var ye=this.callbacks[C];delete this.callbacks[C],ye&&(G.error?ye(At(G.error)):ye(null,At(G.data)))}else{var Pe=!1,Ve=Z(this.globalScope)?void 0:[],ft=G.hasCallback?function(Zr,Hr){Pe=!0,delete ne.cancelCallbacks[C],ne.target.postMessage({id:C,type:"",sourceMapId:ne.mapId,error:Zr?_t(Zr):null,data:_t(Hr,Ve)},Ve)}:function(Zr){Pe=!0},Rt=null,Ht=At(G.data);if(this.parent[G.type])Rt=this.parent[G.type](G.sourceMapId,Ht,ft);else if(this.parent.getWorkerSource){var rr=G.type.split("."),Pr=this.parent.getWorkerSource(G.sourceMapId,rr[0],Ht.source);Rt=Pr[rr[1]](Ht,ft)}else ft(new Error("Could not find function "+G.type));!Pe&&Rt&&Rt.cancel&&(this.cancelCallbacks[C]=Rt.cancel)}},zm.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)};function y7(k,C,G){C=Math.pow(2,G)-C-1;var ne=pS(k*256,C*256,G),ye=pS((k+1)*256,(C+1)*256,G);return ne[0]+","+ne[1]+","+ye[0]+","+ye[1]}function pS(k,C,G){var ne=2*Math.PI*6378137/256/Math.pow(2,G),ye=k*ne-2*Math.PI*6378137/2,Pe=C*ne-2*Math.PI*6378137/2;return[ye,Pe]}var Vf=function(C,G){C&&(G?this.setSouthWest(C).setNorthEast(G):C.length===4?this.setSouthWest([C[0],C[1]]).setNorthEast([C[2],C[3]]):this.setSouthWest(C[0]).setNorthEast(C[1]))};Vf.prototype.setNorthEast=function(C){return this._ne=C instanceof jc?new jc(C.lng,C.lat):jc.convert(C),this},Vf.prototype.setSouthWest=function(C){return this._sw=C instanceof jc?new jc(C.lng,C.lat):jc.convert(C),this},Vf.prototype.extend=function(C){var G=this._sw,ne=this._ne,ye,Pe;if(C instanceof jc)ye=C,Pe=C;else if(C instanceof Vf){if(ye=C._sw,Pe=C._ne,!ye||!Pe)return this}else{if(Array.isArray(C))if(C.length===4||C.every(Array.isArray)){var Ve=C;return this.extend(Vf.convert(Ve))}else{var ft=C;return this.extend(jc.convert(ft))}return this}return!G&&!ne?(this._sw=new jc(ye.lng,ye.lat),this._ne=new jc(Pe.lng,Pe.lat)):(G.lng=Math.min(ye.lng,G.lng),G.lat=Math.min(ye.lat,G.lat),ne.lng=Math.max(Pe.lng,ne.lng),ne.lat=Math.max(Pe.lat,ne.lat)),this},Vf.prototype.getCenter=function(){return new jc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Vf.prototype.getSouthWest=function(){return this._sw},Vf.prototype.getNorthEast=function(){return this._ne},Vf.prototype.getNorthWest=function(){return new jc(this.getWest(),this.getNorth())},Vf.prototype.getSouthEast=function(){return new jc(this.getEast(),this.getSouth())},Vf.prototype.getWest=function(){return this._sw.lng},Vf.prototype.getSouth=function(){return this._sw.lat},Vf.prototype.getEast=function(){return this._ne.lng},Vf.prototype.getNorth=function(){return this._ne.lat},Vf.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Vf.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},Vf.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Vf.prototype.contains=function(C){var G=jc.convert(C),ne=G.lng,ye=G.lat,Pe=this._sw.lat<=ye&&ye<=this._ne.lat,Ve=this._sw.lng<=ne&&ne<=this._ne.lng;return this._sw.lng>this._ne.lng&&(Ve=this._sw.lng>=ne&&ne>=this._ne.lng),Pe&&Ve},Vf.convert=function(C){return!C||C instanceof Vf?C:new Vf(C)};var mS=63710088e-1,jc=function(C,G){if(isNaN(C)||isNaN(G))throw new Error("Invalid LngLat object: ("+C+", "+G+")");if(this.lng=+C,this.lat=+G,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};jc.prototype.wrap=function(){return new jc(_(this.lng,-180,180),this.lat)},jc.prototype.toArray=function(){return[this.lng,this.lat]},jc.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},jc.prototype.distanceTo=function(C){var G=Math.PI/180,ne=this.lat*G,ye=C.lat*G,Pe=Math.sin(ne)*Math.sin(ye)+Math.cos(ne)*Math.cos(ye)*Math.cos((C.lng-this.lng)*G),Ve=mS*Math.acos(Math.min(Pe,1));return Ve},jc.prototype.toBounds=function(C){C===void 0&&(C=0);var G=40075017,ne=360*C/G,ye=ne/Math.cos(Math.PI/180*this.lat);return new Vf(new jc(this.lng-ye,this.lat-ne),new jc(this.lng+ye,this.lat+ne))},jc.convert=function(C){if(C instanceof jc)return C;if(Array.isArray(C)&&(C.length===2||C.length===3))return new jc(Number(C[0]),Number(C[1]));if(!Array.isArray(C)&&typeof C=="object"&&C!==null)return new jc(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 gS=2*Math.PI*mS;function yS(k){return gS*Math.cos(k*Math.PI/180)}function _S(k){return(180+k)/360}function xS(k){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+k*Math.PI/360)))/360}function bS(k,C){return k/yS(C)}function _7(k){return k*360-180}function xw(k){var C=180-k*360;return 360/Math.PI*Math.atan(Math.exp(C*Math.PI/180))-90}function x7(k,C){return k*yS(xw(C))}function b7(k){return 1/Math.cos(k*Math.PI/180)}var L0=function(C,G,ne){ne===void 0&&(ne=0),this.x=+C,this.y=+G,this.z=+ne};L0.fromLngLat=function(C,G){G===void 0&&(G=0);var ne=jc.convert(C);return new L0(_S(ne.lng),xS(ne.lat),bS(G,ne.lat))},L0.prototype.toLngLat=function(){return new jc(_7(this.x),xw(this.y))},L0.prototype.toAltitude=function(){return x7(this.z,this.y)},L0.prototype.meterInMercatorCoordinateUnits=function(){return 1/gS*b7(xw(this.y))};var I0=function(C,G,ne){this.z=C,this.x=G,this.y=ne,this.key=Zg(0,C,C,G,ne)};I0.prototype.equals=function(C){return this.z===C.z&&this.x===C.x&&this.y===C.y},I0.prototype.url=function(C,G){var ne=y7(this.x,this.y,this.z),ye=w7(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(G==="tms"?Math.pow(2,this.z)-this.y-1:this.y)).replace("{quadkey}",ye).replace("{bbox-epsg-3857}",ne)},I0.prototype.getTilePoint=function(C){var G=Math.pow(2,this.z);return new n((C.x*G-this.x)*ma,(C.y*G-this.y)*ma)},I0.prototype.toString=function(){return this.z+"/"+this.x+"/"+this.y};var wS=function(C,G){this.wrap=C,this.canonical=G,this.key=Zg(C,G.z,G.z,G.x,G.y)},qf=function(C,G,ne,ye,Pe){this.overscaledZ=C,this.wrap=G,this.canonical=new I0(ne,+ye,+Pe),this.key=Zg(G,C,ne,ye,Pe)};qf.prototype.equals=function(C){return this.overscaledZ===C.overscaledZ&&this.wrap===C.wrap&&this.canonical.equals(C.canonical)},qf.prototype.scaledTo=function(C){var G=this.canonical.z-C;return C>this.canonical.z?new qf(C,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new qf(C,this.wrap,C,this.canonical.x>>G,this.canonical.y>>G)},qf.prototype.calculateScaledKey=function(C,G){var ne=this.canonical.z-C;return C>this.canonical.z?Zg(this.wrap*+G,C,this.canonical.z,this.canonical.x,this.canonical.y):Zg(this.wrap*+G,C,C,this.canonical.x>>ne,this.canonical.y>>ne)},qf.prototype.isChildOf=function(C){if(C.wrap!==this.wrap)return!1;var G=this.canonical.z-C.canonical.z;return C.overscaledZ===0||C.overscaledZ>G&&C.canonical.y===this.canonical.y>>G},qf.prototype.children=function(C){if(this.overscaledZ>=C)return[new qf(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var G=this.canonical.z+1,ne=this.canonical.x*2,ye=this.canonical.y*2;return[new qf(G,this.wrap,G,ne,ye),new qf(G,this.wrap,G,ne+1,ye),new qf(G,this.wrap,G,ne,ye+1),new qf(G,this.wrap,G,ne+1,ye+1)]},qf.prototype.isLessThan=function(C){return this.wrapC.wrap?!1:this.overscaledZC.overscaledZ?!1:this.canonical.xC.canonical.x?!1:this.canonical.y0;Pe--)ye=1<=this.dim+1||G<-1||G>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(G+1)*this.stride+(C+1)},Kv.prototype._unpackMapbox=function(C,G,ne){return(C*256*256+G*256+ne)/10-1e4},Kv.prototype._unpackTerrarium=function(C,G,ne){return C*256+G+ne/256-32768},Kv.prototype.getPixels=function(){return new Zf({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Kv.prototype.backfillBorder=function(C,G,ne){if(this.dim!==C.dim)throw new Error("dem dimension mismatch");var ye=G*this.dim,Pe=G*this.dim+this.dim,Ve=ne*this.dim,ft=ne*this.dim+this.dim;switch(G){case-1:ye=Pe-1;break;case 1:Pe=ye+1;break}switch(ne){case-1:Ve=ft-1;break;case 1:ft=Ve+1;break}for(var Rt=-G*this.dim,Ht=-ne*this.dim,rr=Ve;rr=0&&Pr[3]>=0&&Rt.insert(ft,Pr[0],Pr[1],Pr[2],Pr[3])}},$v.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new nv.VectorTile(new Fo(this.rawTileData)).layers,this.sourceLayerCoder=new $1(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},$v.prototype.query=function(C,G,ne,ye){var Pe=this;this.loadVTLayers();for(var Ve=C.params||{},ft=ma/C.tileSize/C.scale,Rt=Ze(Ve.filter),Ht=C.queryGeometry,rr=C.queryPadding*ft,Pr=AS(Ht),Zr=this.grid.query(Pr.minX-rr,Pr.minY-rr,Pr.maxX+rr,Pr.maxY+rr),Hr=AS(C.cameraQueryGeometry),hi=this.grid3D.query(Hr.minX-rr,Hr.minY-rr,Hr.maxX+rr,Hr.maxY+rr,function(Un,oo,ro,Go){return Ed(C.cameraQueryGeometry,Un-rr,oo-rr,ro+rr,Go+rr)}),Gi=0,Ra=hi;Giye)Pe=!1;else if(!G)Pe=!0;else if(this.expirationTime=Rr.maxzoom)&&Rr.visibility!=="none"){h(br,this.zoom,Jt);var jr=oa[Rr.id]=Rr.createBucket({index:Wi.bucketLayerIDs.length,layers:br,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:pn,sourceID:this.source});jr.populate(_n,ra,this.tileID.canonical),Wi.bucketLayerIDs.push(br.map(function(fi){return fi.id}))}}}}var Wr,yt,Xt,mr,Or=e.mapObject(ra.glyphDependencies,function(fi){return Object.keys(fi).map(Number)});Object.keys(Or).length?Br.send("getGlyphs",{uid:this.uid,stacks:Or},function(fi,Li){Wr||(Wr=fi,yt=Li,Si.call(ii))}):yt={};var ki=Object.keys(ra.iconDependencies);ki.length?Br.send("getImages",{icons:ki,source:this.source,tileID:this.tileID,type:"icons"},function(fi,Li){Wr||(Wr=fi,Xt=Li,Si.call(ii))}):Xt={};var Ni=Object.keys(ra.patternDependencies);Ni.length?Br.send("getImages",{icons:Ni,source:this.source,tileID:this.tileID,type:"patterns"},function(fi,Li){Wr||(Wr=fi,mr=Li,Si.call(ii))}):mr={},Si.call(this);function Si(){if(Wr)return ri(Wr);if(yt&&Xt&&mr){var fi=new a(yt),Li=new e.ImageAtlas(Xt,mr);for(var Ia in oa){var Fa=oa[Ia];Fa instanceof e.SymbolBucket?(h(Fa.layers,this.zoom,Jt),e.performSymbolLayout(Fa,yt,fi.positions,Xt,Li.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):Fa.hasPattern&&(Fa instanceof e.LineBucket||Fa instanceof e.FillBucket||Fa instanceof e.FillExtrusionBucket)&&(h(Fa.layers,this.zoom,Jt),Fa.addFeatures(ra,this.tileID.canonical,Li.patternPositions))}this.status="done",ri(null,{buckets:e.values(oa).filter(function(un){return!un.isEmpty()}),featureIndex:Wi,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:fi.image,imageAtlas:Li,glyphMap:this.returnDependencies?yt:null,iconMap:this.returnDependencies?Xt:null,glyphPositions:this.returnDependencies?fi.positions:null})}}};function h(Kt,zt,Zt){for(var Jt=new e.EvaluationParameters(zt),Br=0,ri=Kt;Br=0!=!!zt&&Kt.reverse()}var M=e.vectorTile.VectorTileFeature.prototype.toGeoJSON,g=function(zt){this._feature=zt,this.extent=e.EXTENT,this.type=zt.type,this.properties=zt.tags,"id"in zt&&!isNaN(zt.id)&&(this.id=parseInt(zt.id,10))};g.prototype.loadGeometry=function(){if(this._feature.type===1){for(var zt=[],Zt=0,Jt=this._feature.geometry;Zt"u"&&(Jt.push(di),Wi=Jt.length-1,ri[di]=Wi),zt.writeVarint(Wi);var oa=Zt.properties[di],ra=typeof oa;ra!=="string"&&ra!=="boolean"&&ra!=="number"&&(oa=JSON.stringify(oa));var ca=ra+":"+oa,xa=ii[ca];typeof xa>"u"&&(Br.push(oa),xa=Br.length-1,ii[ca]=xa),zt.writeVarint(xa)}}function J(Kt,zt){return(zt<<3)+(Kt&7)}function se(Kt){return Kt<<1^Kt>>31}function le(Kt,zt){for(var Zt=Kt.loadGeometry(),Jt=Kt.type,Br=0,ri=0,ii=Zt.length,di=0;di>1;Z(Kt,zt,ii,Jt,Br,ri%2),q(Kt,zt,Zt,Jt,ii-1,ri+1),q(Kt,zt,Zt,ii+1,Br,ri+1)}}function Z(Kt,zt,Zt,Jt,Br,ri){for(;Br>Jt;){if(Br-Jt>600){var ii=Br-Jt+1,di=Zt-Jt+1,Wi=Math.log(ii),oa=.5*Math.exp(2*Wi/3),ra=.5*Math.sqrt(Wi*oa*(ii-oa)/ii)*(di-ii/2<0?-1:1),ca=Math.max(Jt,Math.floor(Zt-di*oa/ii+ra)),xa=Math.min(Br,Math.floor(Zt+(ii-di)*oa/ii+ra));Z(Kt,zt,Zt,ca,xa,ri)}var ji=zt[2*Zt+ri],pn=Jt,_n=Br;for(ee(Kt,zt,Jt,Zt),zt[2*Br+ri]>ji&&ee(Kt,zt,Jt,Br);pn<_n;){for(ee(Kt,zt,pn,_n),pn++,_n--;zt[2*pn+ri]ji;)_n--}zt[2*Jt+ri]===ji?ee(Kt,zt,Jt,_n):(_n++,ee(Kt,zt,_n,Br)),_n<=Zt&&(Jt=_n+1),Zt<=_n&&(Br=_n-1)}}function ee(Kt,zt,Zt,Jt){V(Kt,Zt,Jt),V(zt,2*Zt,2*Jt),V(zt,2*Zt+1,2*Jt+1)}function V(Kt,zt,Zt){var Jt=Kt[zt];Kt[zt]=Kt[Zt],Kt[Zt]=Jt}function oe(Kt,zt,Zt,Jt,Br,ri,ii){for(var di=[0,Kt.length-1,0],Wi=[],oa,ra;di.length;){var ca=di.pop(),xa=di.pop(),ji=di.pop();if(xa-ji<=ii){for(var pn=ji;pn<=xa;pn++)oa=zt[2*pn],ra=zt[2*pn+1],oa>=Zt&&oa<=Br&&ra>=Jt&&ra<=ri&&Wi.push(Kt[pn]);continue}var _n=Math.floor((ji+xa)/2);oa=zt[2*_n],ra=zt[2*_n+1],oa>=Zt&&oa<=Br&&ra>=Jt&&ra<=ri&&Wi.push(Kt[_n]);var En=(ca+1)%2;(ca===0?Zt<=oa:Jt<=ra)&&(di.push(ji),di.push(_n-1),di.push(En)),(ca===0?Br>=oa:ri>=ra)&&(di.push(_n+1),di.push(xa),di.push(En))}return Wi}function ie(Kt,zt,Zt,Jt,Br,ri){for(var ii=[0,Kt.length-1,0],di=[],Wi=Br*Br;ii.length;){var oa=ii.pop(),ra=ii.pop(),ca=ii.pop();if(ra-ca<=ri){for(var xa=ca;xa<=ra;xa++)j(zt[2*xa],zt[2*xa+1],Zt,Jt)<=Wi&&di.push(Kt[xa]);continue}var ji=Math.floor((ca+ra)/2),pn=zt[2*ji],_n=zt[2*ji+1];j(pn,_n,Zt,Jt)<=Wi&&di.push(Kt[ji]);var En=(oa+1)%2;(oa===0?Zt-Br<=pn:Jt-Br<=_n)&&(ii.push(ca),ii.push(ji-1),ii.push(En)),(oa===0?Zt+Br>=pn:Jt+Br>=_n)&&(ii.push(ji+1),ii.push(ra),ii.push(En))}return di}function j(Kt,zt,Zt,Jt){var Br=Kt-Zt,ri=zt-Jt;return Br*Br+ri*ri}var Q=function(Kt){return Kt[0]},re=function(Kt){return Kt[1]},ue=function(zt,Zt,Jt,Br,ri){Zt===void 0&&(Zt=Q),Jt===void 0&&(Jt=re),Br===void 0&&(Br=64),ri===void 0&&(ri=Float64Array),this.nodeSize=Br,this.points=zt;for(var ii=zt.length<65536?Uint16Array:Uint32Array,di=this.ids=new ii(zt.length),Wi=this.coords=new ri(zt.length*2),oa=0;oa=Br;ra--){var ca=+Date.now();Wi=this._cluster(Wi,ra),this.trees[ra]=new ue(Wi,fe,Be,ii,Float32Array),Jt&&console.log("z%d: %d clusters in %dms",ra,Wi.length,+Date.now()-ca)}return Jt&&console.timeEnd("total time"),this},we.prototype.getClusters=function(zt,Zt){var Jt=((zt[0]+180)%360+360)%360-180,Br=Math.max(-90,Math.min(90,zt[1])),ri=zt[2]===180?180:((zt[2]+180)%360+360)%360-180,ii=Math.max(-90,Math.min(90,zt[3]));if(zt[2]-zt[0]>=360)Jt=-180,ri=180;else if(Jt>ri){var di=this.getClusters([Jt,Br,180,ii],Zt),Wi=this.getClusters([-180,Br,ri,ii],Zt);return di.concat(Wi)}for(var oa=this.trees[this._limitZoom(Zt)],ra=oa.range(it(Jt),et(ii),it(ri),et(Br)),ca=[],xa=0,ji=ra;xaZt&&(_n+=Nr.numPoints||1)}if(_n>=Wi){for(var Lr=ca.x*pn,br=ca.y*pn,Rr=di&&pn>1?this._map(ca,!0):null,jr=(ra<<5)+(Zt+1)+this.points.length,Wr=0,yt=ji;Wr1)for(var ki=0,Ni=ji;ki>5},we.prototype._getOriginZoom=function(zt){return(zt-this.points.length)%32},we.prototype._map=function(zt,Zt){if(zt.numPoints)return Zt?me({},zt.properties):zt.properties;var Jt=this.points[zt.index].properties,Br=this.options.map(Jt);return Zt&&Br===Jt?me({},Br):Br};function Re(Kt,zt,Zt,Jt,Br){return{x:Kt,y:zt,zoom:1/0,id:Zt,parentId:-1,numPoints:Jt,properties:Br}}function ze(Kt,zt){var Zt=Kt.geometry.coordinates,Jt=Zt[0],Br=Zt[1];return{x:it(Jt),y:et(Br),zoom:1/0,index:zt,parentId:-1}}function Xe(Kt){return{type:"Feature",id:Kt.id,properties:tt(Kt),geometry:{type:"Point",coordinates:[nt(Kt.x),Ae(Kt.y)]}}}function tt(Kt){var zt=Kt.numPoints,Zt=zt>=1e4?Math.round(zt/1e3)+"k":zt>=1e3?Math.round(zt/100)/10+"k":zt;return me(me({},Kt.properties),{cluster:!0,cluster_id:Kt.id,point_count:zt,point_count_abbreviated:Zt})}function it(Kt){return Kt/360+.5}function et(Kt){var zt=Math.sin(Kt*Math.PI/180),Zt=.5-.25*Math.log((1+zt)/(1-zt))/Math.PI;return Zt<0?0:Zt>1?1:Zt}function nt(Kt){return(Kt-.5)*360}function Ae(Kt){var zt=(180-Kt*360)*Math.PI/180;return 360*Math.atan(Math.exp(zt))/Math.PI-90}function me(Kt,zt){for(var Zt in zt)Kt[Zt]=zt[Zt];return Kt}function fe(Kt){return Kt.x}function Be(Kt){return Kt.y}function Qe(Kt,zt,Zt,Jt){for(var Br=Jt,ri=Zt-zt>>1,ii=Zt-zt,di,Wi=Kt[zt],oa=Kt[zt+1],ra=Kt[Zt],ca=Kt[Zt+1],xa=zt+3;xaBr)di=xa,Br=ji;else if(ji===Br){var pn=Math.abs(xa-ri);pnJt&&(di-zt>3&&Qe(Kt,zt,di,Jt),Kt[di+2]=Br,Zt-di>3&&Qe(Kt,di,Zt,Jt))}function at(Kt,zt,Zt,Jt,Br,ri){var ii=Br-Zt,di=ri-Jt;if(ii!==0||di!==0){var Wi=((Kt-Zt)*ii+(zt-Jt)*di)/(ii*ii+di*di);Wi>1?(Zt=Br,Jt=ri):Wi>0&&(Zt+=ii*Wi,Jt+=di*Wi)}return ii=Kt-Zt,di=zt-Jt,ii*ii+di*di}function $e(Kt,zt,Zt,Jt){var Br={id:typeof Kt>"u"?null:Kt,type:zt,geometry:Zt,tags:Jt,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return It(Br),Br}function It(Kt){var zt=Kt.geometry,Zt=Kt.type;if(Zt==="Point"||Zt==="MultiPoint"||Zt==="LineString")Pt(Kt,zt);else if(Zt==="Polygon"||Zt==="MultiLineString")for(var Jt=0;Jt0&&(Jt?ii+=(Br*oa-Wi*ri)/2:ii+=Math.sqrt(Math.pow(Wi-Br,2)+Math.pow(oa-ri,2))),Br=Wi,ri=oa}var ra=zt.length-3;zt[2]=1,Qe(zt,0,ra,Zt),zt[ra+2]=1,zt.size=Math.abs(ii),zt.start=0,zt.end=zt.size}function qr(Kt,zt,Zt,Jt){for(var Br=0;Br1?1:Zt}function xt(Kt,zt,Zt,Jt,Br,ri,ii,di){if(Zt/=zt,Jt/=zt,ri>=Zt&&ii=Jt)return null;for(var Wi=[],oa=0;oa=Zt&&pn=Jt)continue;var _n=[];if(xa==="Point"||xa==="MultiPoint")Ne(ca,_n,Zt,Jt,Br);else if(xa==="LineString")Ye(ca,_n,Zt,Jt,Br,!1,di.lineMetrics);else if(xa==="MultiLineString")Ie(ca,_n,Zt,Jt,Br,!1);else if(xa==="Polygon")Ie(ca,_n,Zt,Jt,Br,!0);else if(xa==="MultiPolygon")for(var En=0;En=Zt&&ii<=Jt&&(zt.push(Kt[ri]),zt.push(Kt[ri+1]),zt.push(Kt[ri+2]))}}function Ye(Kt,zt,Zt,Jt,Br,ri,ii){for(var di=be(Kt),Wi=Br===0?ke:Me,oa=Kt.start,ra,ca,xa=0;xaZt&&(ca=Wi(di,ji,pn,En,bt,Zt),ii&&(di.start=oa+ra*ca)):st>Jt?Nr=Zt&&(ca=Wi(di,ji,pn,En,bt,Zt),Lr=!0),Nr>Jt&&st<=Jt&&(ca=Wi(di,ji,pn,En,bt,Jt),Lr=!0),!ri&&Lr&&(ii&&(di.end=oa+ra*ca),zt.push(di),di=be(Kt)),ii&&(oa+=ra)}var br=Kt.length-3;ji=Kt[br],pn=Kt[br+1],_n=Kt[br+2],st=Br===0?ji:pn,st>=Zt&&st<=Jt&&qe(di,ji,pn,_n),br=di.length-3,ri&&br>=3&&(di[br]!==di[0]||di[br+1]!==di[1])&&qe(di,di[0],di[1],di[2]),di.length&&zt.push(di)}function be(Kt){var zt=[];return zt.size=Kt.size,zt.start=Kt.start,zt.end=Kt.end,zt}function Ie(Kt,zt,Zt,Jt,Br,ri){for(var ii=0;iiii.maxX&&(ii.maxX=ra),ca>ii.maxY&&(ii.maxY=ca)}return ii}function ir(Kt,zt,Zt,Jt){var Br=zt.geometry,ri=zt.type,ii=[];if(ri==="Point"||ri==="MultiPoint")for(var di=0;di0&&zt.size<(Br?ii:Jt)){Zt.numPoints+=zt.length/3;return}for(var di=[],Wi=0;Wiii)&&(Zt.numSimplified++,di.push(zt[Wi]),di.push(zt[Wi+1])),Zt.numPoints++;Br&&Ir(di,ri),Kt.push(di)}function Ir(Kt,zt){for(var Zt=0,Jt=0,Br=Kt.length,ri=Br-2;Jt0===zt)for(Jt=0,Br=Kt.length;Jt
24)throw new Error("maxZoom should be in the 0-24 range");if(zt.promoteId&&zt.generateId)throw new Error("promoteId and generateId cannot be used together.");var Jt=Vt(Kt,zt);this.tiles={},this.tileCoords=[],Zt&&(console.timeEnd("preprocess data"),console.log("index: maxZoom: %d, maxPoints: %d",zt.indexMaxZoom,zt.indexMaxPoints),console.time("generate tiles"),this.stats={},this.total=0),Jt=Le(Jt,zt),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)))}Vi.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},Vi.prototype.splitTile=function(Kt,zt,Zt,Jt,Br,ri,ii){for(var di=[Kt,zt,Zt,Jt],Wi=this.options,oa=Wi.debug;di.length;){Jt=di.pop(),Zt=di.pop(),zt=di.pop(),Kt=di.pop();var ra=1<1&&console.time("creation"),xa=this.tiles[ca]=nr(Kt,zt,Zt,Jt,Wi),this.tileCoords.push({z:zt,x:Zt,y:Jt}),oa)){oa>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",zt,Zt,Jt,xa.numFeatures,xa.numPoints,xa.numSimplified),console.timeEnd("creation"));var ji="z"+zt;this.stats[ji]=(this.stats[ji]||0)+1,this.total++}if(xa.source=Kt,Br){if(zt===Wi.maxZoom||zt===Br)continue;var pn=1<1&&console.time("clipping");var _n=.5*Wi.buffer/Wi.extent,En=.5-_n,bt=.5+_n,st=1+_n,Nr,Lr,br,Rr,jr,Wr;Nr=Lr=br=Rr=null,jr=xt(Kt,ra,Zt-_n,Zt+bt,0,xa.minX,xa.maxX,Wi),Wr=xt(Kt,ra,Zt+En,Zt+st,0,xa.minX,xa.maxX,Wi),Kt=null,jr&&(Nr=xt(jr,ra,Jt-_n,Jt+bt,1,xa.minY,xa.maxY,Wi),Lr=xt(jr,ra,Jt+En,Jt+st,1,xa.minY,xa.maxY,Wi),jr=null),Wr&&(br=xt(Wr,ra,Jt-_n,Jt+bt,1,xa.minY,xa.maxY,Wi),Rr=xt(Wr,ra,Jt+En,Jt+st,1,xa.minY,xa.maxY,Wi),Wr=null),oa>1&&console.timeEnd("clipping"),di.push(Nr||[],zt+1,Zt*2,Jt*2),di.push(Lr||[],zt+1,Zt*2,Jt*2+1),di.push(br||[],zt+1,Zt*2+1,Jt*2),di.push(Rr||[],zt+1,Zt*2+1,Jt*2+1)}}},Vi.prototype.getTile=function(Kt,zt,Zt){var Jt=this.options,Br=Jt.extent,ri=Jt.debug;if(Kt<0||Kt>24)return null;var ii=1<1&&console.log("drilling down to z%d-%d-%d",Kt,zt,Zt);for(var Wi=Kt,oa=zt,ra=Zt,ca;!ca&&Wi>0;)Wi--,oa=Math.floor(oa/2),ra=Math.floor(ra/2),ca=this.tiles[Ui(Wi,oa,ra)];return!ca||!ca.source?null:(ri>1&&console.log("found parent tile z%d-%d-%d",Wi,oa,ra),ri>1&&console.time("drilling down"),this.splitTile(ca.source,Wi,oa,ra,Kt,zt,Zt),ri>1&&console.timeEnd("drilling down"),this.tiles[di]?gt(this.tiles[di],Br):null)};function Ui(Kt,zt,Zt){return((1<=0?0:ve.button},r.remove=function(ve){ve.parentNode&&ve.parentNode.removeChild(ve)};function d(ve,K,ge){var te,pe,He,Ce=e.browser.devicePixelRatio>1?"@2x":"",Ke=e.getJSON(K.transformRequest(K.normalizeSpriteURL(ve,Ce,".json"),e.ResourceType.SpriteJSON),function(Tr,Ur){Ke=null,He||(He=Tr,te=Ur,Ut())}),pt=e.getImage(K.transformRequest(K.normalizeSpriteURL(ve,Ce,".png"),e.ResourceType.SpriteImage),function(Tr,Ur){pt=null,He||(He=Tr,pe=Ur,Ut())});function Ut(){if(He)ge(He);else if(te&&pe){var Tr=e.browser.getImageData(pe),Ur={};for(var vr in te){var mt=te[vr],Et=mt.width,Bt=mt.height,or=mt.x,dr=mt.y,ur=mt.sdf,pr=mt.pixelRatio,cr=mt.stretchX,Gt=mt.stretchY,lr=mt.content,qt=new e.RGBAImage({width:Et,height:Bt});e.RGBAImage.copy(Tr,qt,{x:or,y:dr},{x:0,y:0},{width:Et,height:Bt}),Ur[vr]={data:qt,pixelRatio:pr,sdf:ur,stretchX:cr,stretchY:Gt,content:lr}}ge(null,Ur)}}return{cancel:function(){Ke&&(Ke.cancel(),Ke=null),pt&&(pt.cancel(),pt=null)}}}function T(ve){var K=ve.userImage;if(K&&K.render){var ge=K.render();if(ge)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 pe=0,He=this.requestors;pe=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),ge=new Uint8ClampedArray(this.size*this.size),te=0;te65535){Tr(new Error("glyphs > 65535 not supported"));return}if(mt.ranges[Bt]){Tr(null,{stack:Ur,id:vr,glyph:Et});return}var or=mt.requests[Bt];or||(or=mt.requests[Bt]=[],y.loadGlyphRange(Ur,Bt,te.url,te.requestManager,function(dr,ur){if(ur){for(var pr in ur)te._doesCharSupportLocalGlyph(+pr)||(mt.glyphs[+pr]=ur[+pr]);mt.ranges[Bt]=!0}for(var cr=0,Gt=or;cr1&&(Ut=K[++pt]);var Ur=Math.abs(Tr-Ut.left),vr=Math.abs(Tr-Ut.right),mt=Math.min(Ur,vr),Et=void 0,Bt=He/te*(pe+1);if(Ut.isDash){var or=pe-Math.abs(Bt);Et=Math.sqrt(mt*mt+or*or)}else Et=pe-Math.sqrt(mt*mt+Bt*Bt);this.data[Ke+Tr]=Math.max(0,Math.min(255,Et+128))}},F.prototype.addRegularDash=function(K){for(var ge=K.length-1;ge>=0;--ge){var te=K[ge],pe=K[ge+1];te.zeroLength?K.splice(ge,1):pe&&pe.isDash===te.isDash&&(pe.left=te.left,K.splice(ge,1))}var He=K[0],Ce=K[K.length-1];He.isDash===Ce.isDash&&(He.left=Ce.left-this.width,Ce.right=He.right+this.width);for(var Ke=this.width*this.nextRow,pt=0,Ut=K[pt],Tr=0;Tr1&&(Ut=K[++pt]);var Ur=Math.abs(Tr-Ut.left),vr=Math.abs(Tr-Ut.right),mt=Math.min(Ur,vr),Et=Ut.isDash?mt:-mt;this.data[Ke+Tr]=Math.max(0,Math.min(255,Et+128))}},F.prototype.addDash=function(K,ge){var te=ge?7:0,pe=2*te+1;if(this.nextRow+pe>this.height)return e.warnOnce("LineAtlas out of space"),null;for(var He=0,Ce=0;Ce=te.minX&&K.x=te.minY&&K.y0&&(Tr[new e.OverscaledTileID(te.overscaledZ,Ke,pe.z,Ce,pe.y-1).key]={backfilled:!1},Tr[new e.OverscaledTileID(te.overscaledZ,te.wrap,pe.z,pe.x,pe.y-1).key]={backfilled:!1},Tr[new e.OverscaledTileID(te.overscaledZ,Ut,pe.z,pt,pe.y-1).key]={backfilled:!1}),pe.y+10&&(He.resourceTiming=te._resourceTiming,te._resourceTiming=[]),te.fire(new e.Event("data",He))})},K.prototype.onAdd=function(te){this.map=te,this.load()},K.prototype.setData=function(te){var pe=this;return this._data=te,this.fire(new e.Event("dataloading",{dataType:"source"})),this._updateWorkerData(function(He){if(He){pe.fire(new e.ErrorEvent(He));return}var Ce={dataType:"source",sourceDataType:"content"};pe._collectResourceTiming&&pe._resourceTiming&&pe._resourceTiming.length>0&&(Ce.resourceTiming=pe._resourceTiming,pe._resourceTiming=[]),pe.fire(new e.Event("data",Ce))}),this},K.prototype.getClusterExpansionZoom=function(te,pe){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:te,source:this.id},pe),this},K.prototype.getClusterChildren=function(te,pe){return this.actor.send("geojson.getClusterChildren",{clusterId:te,source:this.id},pe),this},K.prototype.getClusterLeaves=function(te,pe,He,Ce){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:te,limit:pe,offset:He},Ce),this},K.prototype._updateWorkerData=function(te){var pe=this;this._loaded=!1;var He=e.extend({},this.workerOptions),Ce=this._data;typeof Ce=="string"?(He.request=this.map._requestManager.transformRequest(e.browser.resolveURL(Ce),e.ResourceType.Source),He.request.collectResourceTiming=this._collectResourceTiming):He.data=JSON.stringify(Ce),this.actor.send(this.type+".loadData",He,function(Ke,pt){pe._removed||pt&&pt.abandoned||(pe._loaded=!0,pt&&pt.resourceTiming&&pt.resourceTiming[pe.id]&&(pe._resourceTiming=pt.resourceTiming[pe.id].slice(0)),pe.actor.send(pe.type+".coalesce",{source:He.source},null),te(Ke))})},K.prototype.loaded=function(){return this._loaded},K.prototype.loadTile=function(te,pe){var He=this,Ce=te.actor?"reloadTile":"loadTile";te.actor=this.actor;var Ke={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(Ce,Ke,function(pt,Ut){return delete te.request,te.unloadVectorData(),te.aborted?pe(null):pt?pe(pt):(te.loadVectorData(Ut,He.map.painter,Ce==="reloadTile"),pe(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(ge,te,pe,He){ve.call(this),this.id=ge,this.dispatcher=pe,this.coordinates=te.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(He),this.options=te}return ve&&(K.__proto__=ve),K.prototype=Object.create(ve&&ve.prototype),K.prototype.constructor=K,K.prototype.load=function(te,pe){var He=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(Ce,Ke){He._loaded=!0,Ce?He.fire(new e.ErrorEvent(Ce)):Ke&&(He.image=Ke,te&&(He.coordinates=te),pe&&pe(),He._finishLoading())})},K.prototype.loaded=function(){return this._loaded},K.prototype.updateImage=function(te){var pe=this;return!this.image||!te.url?this:(this.options.url=te.url,this.load(te.coordinates,function(){pe.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 pe=this;this.coordinates=te;var He=te.map(e.MercatorCoordinate.fromLngLat);this.tileID=ce(He),this.minzoom=this.maxzoom=this.tileID.z;var Ce=He.map(function(Ke){return pe.tileID.getTilePoint(Ke)._round()});return this._boundsArray=new e.StructArrayLayout4i8,this._boundsArray.emplaceBack(Ce[0].x,Ce[0].y,0,0),this._boundsArray.emplaceBack(Ce[1].x,Ce[1].y,e.EXTENT,0),this._boundsArray.emplaceBack(Ce[3].x,Ce[3].y,0,e.EXTENT),this._boundsArray.emplaceBack(Ce[2].x,Ce[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,pe=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,pe.RGBA),this.texture.bind(pe.LINEAR,pe.CLAMP_TO_EDGE));for(var He in this.tiles){var Ce=this.tiles[He];Ce.state!=="loaded"&&(Ce.state="loaded",Ce.texture=this.texture)}}},K.prototype.loadTile=function(te,pe){this.tileID&&this.tileID.equals(te.tileID.canonical)?(this.tiles[String(te.tileID.wrap)]=te,te.buckets={},pe(null)):(te.state="errored",pe(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 ce(ve){for(var K=1/0,ge=1/0,te=-1/0,pe=-1/0,He=0,Ce=ve;Hepe.end(0)?this.fire(new e.ErrorEvent(new e.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+pe.start(0)+" and "+pe.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,pe=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(pe.LINEAR,pe.CLAMP_TO_EDGE),pe.texSubImage2D(pe.TEXTURE_2D,0,0,0,pe.RGBA,pe.UNSIGNED_BYTE,this.video)):(this.texture=new e.Texture(te,this.video,pe.RGBA),this.texture.bind(pe.LINEAR,pe.CLAMP_TO_EDGE));for(var He in this.tiles){var Ce=this.tiles[He];Ce.state!=="loaded"&&(Ce.state="loaded",Ce.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),Z=function(ve){function K(ge,te,pe,He){ve.call(this,ge,te,pe,He),te.coordinates?(!Array.isArray(te.coordinates)||te.coordinates.length!==4||te.coordinates.some(function(Ce){return!Array.isArray(Ce)||Ce.length!==2||Ce.some(function(Ke){return typeof Ke!="number"})}))&&this.fire(new e.ErrorEvent(new e.ValidationError("sources."+ge,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new e.ErrorEvent(new e.ValidationError("sources."+ge,null,'missing required property "coordinates"'))),te.animate&&typeof te.animate!="boolean"&&this.fire(new e.ErrorEvent(new e.ValidationError("sources."+ge,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."+ge,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."+ge,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 pe=this.map.painter.context,He=pe.gl;this.boundsBuffer||(this.boundsBuffer=pe.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(pe,this.canvas,He.RGBA,{premultiply:!0});for(var Ce in this.tiles){var Ke=this.tiles[Ce];Ke.state!=="loaded"&&(Ke.state="loaded",Ke.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,pe=[this.canvas.width,this.canvas.height];tethis.max){var Ke=this._getAndRemoveByKey(this.order[0]);Ke&&this.onRemove(Ke)}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 ge=this.data[K].shift();return ge.timeout&&clearTimeout(ge.timeout),this.data[K].length===0&&delete this.data[K],this.order.splice(this.order.indexOf(K),1),ge.value},ze.prototype.getByKey=function(K){var ge=this.data[K];return ge?ge[0].value:null},ze.prototype.get=function(K){if(!this.has(K))return null;var ge=this.data[K.wrapped().key][0];return ge.value},ze.prototype.remove=function(K,ge){if(!this.has(K))return this;var te=K.wrapped().key,pe=ge===void 0?0:this.data[te].indexOf(ge),He=this.data[te][pe];return this.data[te].splice(pe,1),He.timeout&&clearTimeout(He.timeout),this.data[te].length===0&&delete this.data[te],this.onRemove(He.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 ge=this._getAndRemoveByKey(this.order[0]);ge&&this.onRemove(ge)}return this},ze.prototype.filter=function(K){var ge=[];for(var te in this.data)for(var pe=0,He=this.data[te];pe1||(Math.abs(Ur)>1&&(Math.abs(Ur+mt)===1?Ur+=mt:Math.abs(Ur-mt)===1&&(Ur-=mt)),!(!Tr.dem||!Ut.dem)&&(Ut.dem.backfillBorder(Tr.dem,Ur,vr),Ut.neighboringTiles&&Ut.neighboringTiles[Et]&&(Ut.neighboringTiles[Et].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,pe,He,Ce){for(var Ke in this._tiles){var pt=this._tiles[Ke];if(!(Ce[Ke]||!pt.hasData()||pt.tileID.overscaledZ<=pe||pt.tileID.overscaledZ>He)){for(var Ut=pt.tileID;pt&&pt.tileID.overscaledZ>pe+1;){var Tr=pt.tileID.scaledTo(pt.tileID.overscaledZ-1);pt=this._tiles[Tr.key],pt&&pt.hasData()&&(Ut=Tr)}for(var Ur=Ut;Ur.overscaledZ>pe;)if(Ur=Ur.scaledTo(Ur.overscaledZ-1),te[Ur.key]){Ce[Ut.key]=Ut;break}}}},K.prototype.findLoadedParent=function(te,pe){if(te.key in this._loadedParentTiles){var He=this._loadedParentTiles[te.key];return He&&He.tileID.overscaledZ>=pe?He:null}for(var Ce=te.overscaledZ-1;Ce>=pe;Ce--){var Ke=te.scaledTo(Ce),pt=this._getLoadedTile(Ke);if(pt)return pt}},K.prototype._getLoadedTile=function(te){var pe=this._tiles[te.key];if(pe&&pe.hasData())return pe;var He=this._cache.getByKey(te.wrapped().key);return He},K.prototype.updateCacheSize=function(te){var pe=Math.ceil(te.width/this._source.tileSize)+1,He=Math.ceil(te.height/this._source.tileSize)+1,Ce=pe*He,Ke=5,pt=Math.floor(Ce*Ke),Ut=typeof this._maxTileCacheSize=="number"?Math.min(this._maxTileCacheSize,pt):pt;this._cache.setMaxSize(Ut)},K.prototype.handleWrapJump=function(te){var pe=this._prevLng===void 0?te:this._prevLng,He=te-pe,Ce=He/360,Ke=Math.round(Ce);if(this._prevLng=te,Ke){var pt={};for(var Ut in this._tiles){var Tr=this._tiles[Ut];Tr.tileID=Tr.tileID.unwrapTo(Tr.tileID.wrap+Ke),pt[Tr.tileID.key]=Tr}this._tiles=pt;for(var Ur in this._timers)clearTimeout(this._timers[Ur]),delete this._timers[Ur];for(var vr in this._tiles){var mt=this._tiles[vr];this._setTileReloadTimer(vr,mt)}}},K.prototype.update=function(te){var pe=this;if(this.transform=te,!(!this._sourceLoaded||this._paused)){this.updateCacheSize(te),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={};var He;this.used?this._source.tileID?He=te.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(Ai){return new e.OverscaledTileID(Ai.canonical.z,Ai.wrap,Ai.canonical.z,Ai.canonical.x,Ai.canonical.y)}):(He=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&&(He=He.filter(function(Ai){return pe._source.hasTile(Ai)}))):He=[];var Ce=te.coveringZoomLevel(this._source),Ke=Math.max(Ce-K.maxOverzooming,this._source.minzoom),pt=Math.max(Ce+K.maxUnderzooming,this._source.minzoom),Ut=this._updateRetainedTiles(He,Ce);if(Wi(this._source.type)){for(var Tr={},Ur={},vr=Object.keys(Ut),mt=0,Et=vr;mtthis._source.maxzoom){var ur=or.children(this._source.maxzoom)[0],pr=this.getTile(ur);if(pr&&pr.hasData()){He[ur.key]=ur;continue}}else{var cr=or.children(this._source.maxzoom);if(He[cr[0].key]&&He[cr[1].key]&&He[cr[2].key]&&He[cr[3].key])continue}for(var Gt=dr.wasRequested(),lr=or.overscaledZ-1;lr>=Ke;--lr){var qt=or.scaledTo(lr);if(Ce[qt.key]||(Ce[qt.key]=!0,dr=this.getTile(qt),!dr&&Gt&&(dr=this._addTile(qt)),dr&&(He[qt.key]=qt,Gt=dr.wasRequested(),dr.hasData())))break}}}return He},K.prototype._updateLoadedParentTileCache=function(){this._loadedParentTiles={};for(var te in this._tiles){for(var pe=[],He=void 0,Ce=this._tiles[te].tileID;Ce.overscaledZ>0;){if(Ce.key in this._loadedParentTiles){He=this._loadedParentTiles[Ce.key];break}pe.push(Ce.key);var Ke=Ce.scaledTo(Ce.overscaledZ-1);if(He=this._getLoadedTile(Ke),He)break;Ce=Ke}for(var pt=0,Ut=pe;pt0)&&(pe.hasData()&&pe.state!=="reloading"?this._cache.add(pe.tileID,pe,pe.getExpiryTimeout()):(pe.aborted=!0,this._abortTile(pe),this._unloadTile(pe))))},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,pe,He){var Ce=this,Ke=[],pt=this.transform;if(!pt)return Ke;for(var Ut=He?pt.getCameraQueryGeometry(te):te,Tr=te.map(function(lr){return pt.pointCoordinate(lr)}),Ur=Ut.map(function(lr){return pt.pointCoordinate(lr)}),vr=this.getIds(),mt=1/0,Et=1/0,Bt=-1/0,or=-1/0,dr=0,ur=Ur;dr=0&&wa[1].y+Ai>=0){var Ji=Tr.map(function(sn){return zr.getTilePoint(sn)}),fa=Ur.map(function(sn){return zr.getTilePoint(sn)});Ke.push({tile:qt,tileID:zr,queryGeometry:Ji,cameraQueryGeometry:fa,scale:$r})}}},Gt=0;Gt=e.browser.now())return!0}return!1},K.prototype.setFeatureState=function(te,pe,He){te=te||"_geojsonTileLayer",this._state.updateState(te,pe,He)},K.prototype.removeFeatureState=function(te,pe,He){te=te||"_geojsonTileLayer",this._state.removeFeatureState(te,pe,He)},K.prototype.getFeatureState=function(te,pe){return te=te||"_geojsonTileLayer",this._state.getState(te,pe)},K.prototype.setDependencies=function(te,pe,He){var Ce=this._tiles[te];Ce&&Ce.setDependencies(pe,He)},K.prototype.reloadTilesForDependencies=function(te,pe){for(var He in this._tiles){var Ce=this._tiles[He];Ce.hasDependency(te,pe)&&this._reloadTile(He,"reloading")}this._cache.filter(function(Ke){return!Ke.hasDependency(te,pe)})},K}(e.Evented);ii.maxOverzooming=10,ii.maxUnderzooming=3;function di(ve,K){var ge=Math.abs(ve.wrap*2)-+(ve.wrap<0),te=Math.abs(K.wrap*2)-+(K.wrap<0);return ve.overscaledZ-K.overscaledZ||te-ge||K.canonical.y-ve.canonical.y||K.canonical.x-ve.canonical.x}function Wi(ve){return ve==="raster"||ve==="image"||ve==="video"}function oa(){return new e.window.Worker($o.workerUrl)}var ra="mapboxgl_preloaded_worker_pool",ca=function(){this.active={}};ca.prototype.acquire=function(K){if(!this.workers)for(this.workers=[];this.workers.length0?(pe-Ce)/Ke:0;return this.points[He].mult(1-pt).add(this.points[ge].mult(pt))};var fi=function(K,ge,te){var pe=this.boxCells=[],He=this.circleCells=[];this.xCellCount=Math.ceil(K/te),this.yCellCount=Math.ceil(ge/te);for(var Ce=0;Cethis.width||pe<0||ge>this.height)return He?!1:[];var Ke=[];if(K<=0&&ge<=0&&this.width<=te&&this.height<=pe){if(He)return!0;for(var pt=0;pt0:Ke}},fi.prototype._queryCircle=function(K,ge,te,pe,He){var Ce=K-te,Ke=K+te,pt=ge-te,Ut=ge+te;if(Ke<0||Ce>this.width||Ut<0||pt>this.height)return pe?!1:[];var Tr=[],Ur={hitTest:pe,circle:{x:K,y:ge,radius:te},seenUids:{box:{},circle:{}}};return this._forEachCell(Ce,pt,Ke,Ut,this._queryCellCircle,Tr,Ur,He),pe?Tr.length>0:Tr},fi.prototype.query=function(K,ge,te,pe,He){return this._query(K,ge,te,pe,!1,He)},fi.prototype.hitTest=function(K,ge,te,pe,He){return this._query(K,ge,te,pe,!0,He)},fi.prototype.hitTestCircle=function(K,ge,te,pe){return this._queryCircle(K,ge,te,!0,pe)},fi.prototype._queryCell=function(K,ge,te,pe,He,Ce,Ke,pt){var Ut=Ke.seenUids,Tr=this.boxCells[He];if(Tr!==null)for(var Ur=this.bboxes,vr=0,mt=Tr;vr=Ur[Bt+0]&&pe>=Ur[Bt+1]&&(!pt||pt(this.boxKeys[Et]))){if(Ke.hitTest)return Ce.push(!0),!0;Ce.push({key:this.boxKeys[Et],x1:Ur[Bt],y1:Ur[Bt+1],x2:Ur[Bt+2],y2:Ur[Bt+3]})}}}var or=this.circleCells[He];if(or!==null)for(var dr=this.circles,ur=0,pr=or;urKe*Ke+pt*pt},fi.prototype._circleAndRectCollide=function(K,ge,te,pe,He,Ce,Ke){var pt=(Ce-pe)/2,Ut=Math.abs(K-(pe+pt));if(Ut>pt+te)return!1;var Tr=(Ke-He)/2,Ur=Math.abs(ge-(He+Tr));if(Ur>Tr+te)return!1;if(Ut<=pt||Ur<=Tr)return!0;var vr=Ut-pt,mt=Ur-Tr;return vr*vr+mt*mt<=te*te};function Li(ve,K,ge,te,pe){var He=e.create();return K?(e.scale(He,He,[1/pe,1/pe,1]),ge||e.rotateZ(He,He,te.angle)):e.multiply(He,te.labelPlaneMatrix,ve),He}function Ia(ve,K,ge,te,pe){if(K){var He=e.clone(ve);return e.scale(He,He,[pe,pe,1]),ge||e.rotateZ(He,He,-te.angle),He}else return te.glCoordMatrix}function Fa(ve,K){var ge=[ve.x,ve.y,0,1];ns(ge,ge,K);var te=ge[3];return{point:new e.Point(ge[0]/te,ge[1]/te),signedDistanceFromCamera:te}}function un(ve,K){return .5+.5*(ve/K)}function Bn(ve,K){var ge=ve[0]/ve[3],te=ve[1]/ve[3],pe=ge>=-K[0]&&ge<=K[0]&&te>=-K[1]&&te<=K[1];return pe}function Kn(ve,K,ge,te,pe,He,Ce,Ke){var pt=te?ve.textSizeData:ve.iconSizeData,Ut=e.evaluateSizeForZoom(pt,ge.transform.zoom),Tr=[256/ge.width*2+1,256/ge.height*2+1],Ur=te?ve.text.dynamicLayoutVertexArray:ve.icon.dynamicLayoutVertexArray;Ur.clear();for(var vr=ve.lineVertexArray,mt=te?ve.text.placedSymbolArray:ve.icon.placedSymbolArray,Et=ge.transform.width/ge.transform.height,Bt=!1,or=0;orHe)return{useVertical:!0}}return(ve===e.WritingMode.vertical?K.yge.x)?{needsFlipping:!0}:null}function Ao(ve,K,ge,te,pe,He,Ce,Ke,pt,Ut,Tr,Ur,vr,mt){var Et=K/24,Bt=ve.lineOffsetX*Et,or=ve.lineOffsetY*Et,dr;if(ve.numGlyphs>1){var ur=ve.glyphStartIndex+ve.numGlyphs,pr=ve.lineStartIndex,cr=ve.lineStartIndex+ve.lineLength,Gt=Gn(Et,Ke,Bt,or,ge,Tr,Ur,ve,pt,He,vr);if(!Gt)return{notEnoughRoom:!0};var lr=Fa(Gt.first.point,Ce).point,qt=Fa(Gt.last.point,Ce).point;if(te&&!ge){var zr=eo(ve.writingMode,lr,qt,mt);if(zr)return zr}dr=[Gt.first];for(var $r=ve.glyphStartIndex+1;$r0?fa.point:An(Ur,Ji,Ai,1,pe),Ga=eo(ve.writingMode,Ai,sn,mt);if(Ga)return Ga}var ma=Eo(Et*Ke.getoffsetX(ve.glyphStartIndex),Bt,or,ge,Tr,Ur,ve.segment,ve.lineStartIndex,ve.lineStartIndex+ve.lineLength,pt,He,vr);if(!ma)return{notEnoughRoom:!0};dr=[ma]}for(var Ma=0,Pa=dr;Ma0?1:-1,Et=0;te&&(mt*=-1,Et=Math.PI),mt<0&&(Et+=Math.PI);for(var Bt=mt>0?Ke+Ce:Ke+Ce+1,or=pe,dr=pe,ur=0,pr=0,cr=Math.abs(vr),Gt=[];ur+pr<=cr;){if(Bt+=mt,Bt=pt)return null;if(dr=or,Gt.push(or),or=Ur[Bt],or===void 0){var lr=new e.Point(Ut.getx(Bt),Ut.gety(Bt)),qt=Fa(lr,Tr);if(qt.signedDistanceFromCamera>0)or=Ur[Bt]=qt.point;else{var zr=Bt-mt,$r=ur===0?He:new e.Point(Ut.getx(zr),Ut.gety(zr));or=An($r,lr,dr,cr-ur+1,Tr)}}ur+=pr,pr=dr.dist(or)}var Ai=(cr-ur)/pr,wa=or.sub(dr),Ji=wa.mult(Ai)._add(dr);Ji._add(wa._unit()._perp()._mult(ge*mt));var fa=Et+Math.atan2(or.y-dr.y,or.x-dr.x);return Gt.push(Ji),{point:Ji,angle:fa,path:Gt}}var fs=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Ls(ve,K){for(var ge=0;ge=1;Ka--)Pa.push(ma.path[Ka]);for(var Sn=1;Sn0){for(var ts=Pa[0].clone(),Vs=Pa[0].clone(),ll=1;ll=fa.x&&Vs.x<=sn.x&&ts.y>=fa.y&&Vs.y<=sn.y?Xs=[Pa]:Vs.xsn.x||Vs.ysn.y?Xs=[]:Xs=e.clipLine([Pa],fa.x,fa.y,sn.x,sn.y)}for(var Mu=0,rd=Xs;Mu=this.screenRightBoundary||pethis.screenBottomBoundary},ss.prototype.isInsideGrid=function(K,ge,te,pe){return te>=0&&K=0&&ge0){var cr;return this.prevPlacement&&this.prevPlacement.variableOffsets[vr.crossTileID]&&this.prevPlacement.placements[vr.crossTileID]&&this.prevPlacement.placements[vr.crossTileID].text&&(cr=this.prevPlacement.variableOffsets[vr.crossTileID].anchor),this.variableOffsets[vr.crossTileID]={textOffset:or,width:te,height:pe,anchor:K,textBoxScale:He,prevAnchor:cr},this.markUsedJustification(mt,K,vr,Et),mt.allowVerticalPlacement&&(this.markUsedOrientation(mt,Et,vr),this.placedOrientations[vr.crossTileID]=Et),{shift:dr,placedGlyphBoxes:ur}}},hs.prototype.placeLayerBucketPart=function(K,ge,te){var pe=this,He=K.parameters,Ce=He.bucket,Ke=He.layout,pt=He.posMatrix,Ut=He.textLabelPlaneMatrix,Tr=He.labelToScreenMatrix,Ur=He.textPixelRatio,vr=He.holdingForFade,mt=He.collisionBoxArray,Et=He.partiallyEvaluatedTextSize,Bt=He.collisionGroup,or=Ke.get("text-optional"),dr=Ke.get("icon-optional"),ur=Ke.get("text-allow-overlap"),pr=Ke.get("icon-allow-overlap"),cr=Ke.get("text-rotation-alignment")==="map",Gt=Ke.get("text-pitch-alignment")==="map",lr=Ke.get("icon-text-fit")!=="none",qt=Ke.get("symbol-z-order")==="viewport-y",zr=ur&&(pr||!Ce.hasIconData()||dr),$r=pr&&(ur||!Ce.hasTextData()||or);!Ce.collisionArrays&&mt&&Ce.deserializeCollisionBoxes(mt);var Ai=function(ma,Ma){if(!ge[ma.crossTileID]){if(vr){pe.placements[ma.crossTileID]=new Co(!1,!1,!1);return}var Pa=!1,Ka=!1,Sn=!0,No=null,os={box:null,offscreen:null},Xs={box:null,offscreen:null},ts=null,Vs=null,ll=null,Mu=0,rd=0,id=0;Ma.textFeatureIndex?Mu=Ma.textFeatureIndex:ma.useRuntimeCollisionCircles&&(Mu=ma.featureIndex),Ma.verticalTextFeatureIndex&&(rd=Ma.verticalTextFeatureIndex);var xh=Ma.textBox;if(xh){var hd=function(vc){var _u=e.WritingMode.horizontal;if(Ce.allowVerticalPlacement&&!vc&&pe.prevPlacement){var Th=pe.prevPlacement.placedOrientations[ma.crossTileID];Th&&(pe.placedOrientations[ma.crossTileID]=Th,_u=Th,pe.markUsedOrientation(Ce,_u,ma))}return _u},ev=function(vc,_u){if(Ce.allowVerticalPlacement&&ma.numVerticalGlyphVertices>0&&Ma.verticalTextBox)for(var Th=0,Hv=Ce.writingModes;Th0&&(zh=zh.filter(function(vc){return vc!==wh.anchor}),zh.unshift(wh.anchor))}var ad=function(vc,_u,Th){for(var Hv=vc.x2-vc.x1,wp=vc.y2-vc.y1,Du=ma.textBoxScale,h0=lr&&!pr?_u:null,Tv={box:[],offscreen:!1},fm=ur?zh.length*2:zh.length,od=0;od=zh.length,d0=pe.attemptAnchorPlacement(Av,vc,Hv,wp,Du,cr,Gt,Ur,pt,Bt,hm,ma,Ce,Th,h0);if(d0&&(Tv=d0.placedGlyphBoxes,Tv&&Tv.box&&Tv.box.length)){Pa=!0,No=d0.shift;break}}return Tv},dd=function(){return ad(xh,Ma.iconBox,e.WritingMode.horizontal)},nd=function(){var vc=Ma.verticalTextBox,_u=os&&os.box&&os.box.length;return Ce.allowVerticalPlacement&&!_u&&ma.numVerticalGlyphVertices>0&&vc?ad(vc,Ma.verticalIconBox,e.WritingMode.vertical):{box:null,offscreen:null}};ev(dd,nd),os&&(Pa=os.box,Sn=os.offscreen);var jv=hd(os&&os.box);if(!Pa&&pe.prevPlacement){var tv=pe.prevPlacement.variableOffsets[ma.crossTileID];tv&&(pe.variableOffsets[ma.crossTileID]=tv,pe.markUsedJustification(Ce,tv.anchor,ma,jv))}}else{var Md=function(vc,_u){var Th=pe.collisionIndex.placeCollisionBox(vc,ur,Ur,pt,Bt.predicate);return Th&&Th.box&&Th.box.length&&(pe.markUsedOrientation(Ce,_u,ma),pe.placedOrientations[ma.crossTileID]=_u),Th},bh=function(){return Md(xh,e.WritingMode.horizontal)},Ed=function(){var vc=Ma.verticalTextBox;return Ce.allowVerticalPlacement&&ma.numVerticalGlyphVertices>0&&vc?Md(vc,e.WritingMode.vertical):{box:null,offscreen:null}};ev(bh,Ed),hd(os&&os.box&&os.box.length)}}if(ts=os,Pa=ts&&ts.box&&ts.box.length>0,Sn=ts&&ts.offscreen,ma.useRuntimeCollisionCircles){var Uf=Ce.text.placedSymbolArray.get(ma.centerJustifiedTextSymbolIndex),rv=e.evaluateSizeForFeature(Ce.textSizeData,Et,Uf),Vv=Ke.get("text-padding"),oh=ma.collisionCircleDiameter;Vs=pe.collisionIndex.placeCollisionCircles(ur,Uf,Ce.lineVertexArray,Ce.glyphOffsetArray,rv,pt,Ut,Tr,te,Gt,Bt.predicate,oh,Vv),Pa=ur||Vs.circles.length>0&&!Vs.collisionDetected,Sn=Sn&&Vs.offscreen}if(Ma.iconFeatureIndex&&(id=Ma.iconFeatureIndex),Ma.iconBox){var xv=function(vc){var _u=lr&&No?ul(vc,No.x,No.y,cr,Gt,pe.transform.angle):vc;return pe.collisionIndex.placeCollisionBox(_u,pr,Ur,pt,Bt.predicate)};Xs&&Xs.box&&Xs.box.length&&Ma.verticalIconBox?(ll=xv(Ma.verticalIconBox),Ka=ll.box.length>0):(ll=xv(Ma.iconBox),Ka=ll.box.length>0),Sn=Sn&&ll.offscreen}var xp=or||ma.numHorizontalGlyphVertices===0&&ma.numVerticalGlyphVertices===0,bp=dr||ma.numIconVertices===0;if(!xp&&!bp?Ka=Pa=Ka&&Pa:bp?xp||(Ka=Ka&&Pa):Pa=Ka&&Pa,Pa&&ts&&ts.box&&(Xs&&Xs.box&&rd?pe.collisionIndex.insertCollisionBox(ts.box,Ke.get("text-ignore-placement"),Ce.bucketInstanceId,rd,Bt.ID):pe.collisionIndex.insertCollisionBox(ts.box,Ke.get("text-ignore-placement"),Ce.bucketInstanceId,Mu,Bt.ID)),Ka&&ll&&pe.collisionIndex.insertCollisionBox(ll.box,Ke.get("icon-ignore-placement"),Ce.bucketInstanceId,id,Bt.ID),Vs&&(Pa&&pe.collisionIndex.insertCollisionCircles(Vs.circles,Ke.get("text-ignore-placement"),Ce.bucketInstanceId,Mu,Bt.ID),te)){var qv=Ce.bucketInstanceId,bv=pe.collisionCircleArrays[qv];bv===void 0&&(bv=pe.collisionCircleArrays[qv]=new ao);for(var wv=0;wv=0;--Ji){var fa=wa[Ji];Ai(Ce.symbolInstances.get(fa),Ce.collisionArrays[fa])}else for(var sn=K.symbolInstanceStart;sn=0&&(Ce>=0&&Tr!==Ce?K.text.placedSymbolArray.get(Tr).crossTileID=0:K.text.placedSymbolArray.get(Tr).crossTileID=te.crossTileID)}},hs.prototype.markUsedOrientation=function(K,ge,te){for(var pe=ge===e.WritingMode.horizontal||ge===e.WritingMode.horizontalOnly?ge:0,He=ge===e.WritingMode.vertical?ge:0,Ce=[te.leftJustifiedTextSymbolIndex,te.centerJustifiedTextSymbolIndex,te.rightJustifiedTextSymbolIndex],Ke=0,pt=Ce;Ke0||Gt>0,Ai=pr.numIconVertices>0,wa=pe.placedOrientations[pr.crossTileID],Ji=wa===e.WritingMode.vertical,fa=wa===e.WritingMode.horizontal||wa===e.WritingMode.horizontalOnly;if($r){var sn=yl(zr.text),Ga=Ji?On:sn;Et(K.text,cr,Ga);var ma=fa?On:sn;Et(K.text,Gt,ma);var Ma=zr.text.isHidden();[pr.rightJustifiedTextSymbolIndex,pr.centerJustifiedTextSymbolIndex,pr.leftJustifiedTextSymbolIndex].forEach(function(id){id>=0&&(K.text.placedSymbolArray.get(id).hidden=Ma||Ji?1:0)}),pr.verticalPlacedTextSymbolIndex>=0&&(K.text.placedSymbolArray.get(pr.verticalPlacedTextSymbolIndex).hidden=Ma||fa?1:0);var Pa=pe.variableOffsets[pr.crossTileID];Pa&&pe.markUsedJustification(K,Pa.anchor,pr,wa);var Ka=pe.placedOrientations[pr.crossTileID];Ka&&(pe.markUsedJustification(K,"left",pr,Ka),pe.markUsedOrientation(K,Ka,pr))}if(Ai){var Sn=yl(zr.icon),No=!(vr&&pr.verticalPlacedIconSymbolIndex&&Ji);if(pr.placedIconSymbolIndex>=0){var os=No?Sn:On;Et(K.icon,pr.numIconVertices,os),K.icon.placedSymbolArray.get(pr.placedIconSymbolIndex).hidden=zr.icon.isHidden()}if(pr.verticalPlacedIconSymbolIndex>=0){var Xs=No?On:Sn;Et(K.icon,pr.numVerticalIconVertices,Xs),K.icon.placedSymbolArray.get(pr.verticalPlacedIconSymbolIndex).hidden=zr.icon.isHidden()}}if(K.hasIconCollisionBoxData()||K.hasTextCollisionBoxData()){var ts=K.collisionArrays[ur];if(ts){var Vs=new e.Point(0,0);if(ts.textBox||ts.verticalTextBox){var ll=!0;if(Ut){var Mu=pe.variableOffsets[lr];Mu?(Vs=Gs(Mu.anchor,Mu.width,Mu.height,Mu.textOffset,Mu.textBoxScale),Tr&&Vs._rotate(Ur?pe.transform.angle:-pe.transform.angle)):ll=!1}ts.textBox&&rn(K.textCollisionBox.collisionVertexArray,zr.text.placed,!ll||Ji,Vs.x,Vs.y),ts.verticalTextBox&&rn(K.textCollisionBox.collisionVertexArray,zr.text.placed,!ll||fa,Vs.x,Vs.y)}var rd=!!(!fa&&ts.verticalIconBox);ts.iconBox&&rn(K.iconCollisionBox.collisionVertexArray,zr.icon.placed,rd,vr?Vs.x:0,vr?Vs.y:0),ts.verticalIconBox&&rn(K.iconCollisionBox.collisionVertexArray,zr.icon.placed,!rd,vr?Vs.x:0,vr?Vs.y:0)}}},or=0;orK},hs.prototype.setStale=function(){this.stale=!0};function rn(ve,K,ge,te,pe){ve.emplaceBack(K?1:0,ge?1:0,te||0,pe||0),ve.emplaceBack(K?1:0,ge?1:0,te||0,pe||0),ve.emplaceBack(K?1:0,ge?1:0,te||0,pe||0),ve.emplaceBack(K?1:0,ge?1:0,te||0,pe||0)}var Xn=Math.pow(2,25),tl=Math.pow(2,24),zs=Math.pow(2,17),so=Math.pow(2,16),$s=Math.pow(2,9),Ps=Math.pow(2,8),nl=Math.pow(2,1);function yl(ve){if(ve.opacity===0&&!ve.placed)return 0;if(ve.opacity===1&&ve.placed)return 4294967295;var K=ve.placed?1:0,ge=Math.floor(ve.opacity*127);return ge*Xn+K*tl+ge*zs+K*so+ge*$s+K*Ps+ge*nl+K}var On=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,ge,te,pe,He){for(var Ce=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var Ke=K[this._currentPlacementIndex],pt=ge[Ke],Ut=this.placement.collisionIndex.transform.zoom;if(pt.type==="symbol"&&(!pt.minzoom||pt.minzoom<=Ut)&&(!pt.maxzoom||pt.maxzoom>Ut)){this._inProgressLayer||(this._inProgressLayer=new Ko(pt));var Tr=this._inProgressLayer.continuePlacement(te[pt.source],this.placement,this._showCollisionBoxes,pt,Ce);if(Tr)return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},jo.prototype.commit=function(K){return this.placement.commit(K),this.placement};var Ys=512/e.EXTENT/2,Tu=function(K,ge,te){this.tileID=K,this.indexedSymbolInstances={},this.bucketInstanceId=te;for(var pe=0;peK.overscaledZ)for(var Ut in pt){var Tr=pt[Ut];Tr.tileID.isChildOf(K)&&Tr.findMatches(ge.symbolInstances,K,Ce)}else{var Ur=K.scaledTo(Number(Ke)),vr=pt[Ur.key];vr&&vr.findMatches(ge.symbolInstances,K,Ce)}}for(var mt=0;mt0)throw new Error("Unimplemented: "+Ce.map(function(Ke){return Ke.command}).join(", ")+".");return He.forEach(function(Ke){Ke.command!=="setTransition"&&pe[Ke.command].apply(pe,Ke.args)}),this.stylesheet=te,!0},K.prototype.addImage=function(te,pe){if(this.getImage(te))return this.fire(new e.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(te,pe),this._afterImageUpdated(te)},K.prototype.updateImage=function(te,pe){this.imageManager.updateImage(te,pe)},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,pe,He){var Ce=this;if(He===void 0&&(He={}),this._checkLoaded(),this.sourceCaches[te]!==void 0)throw new Error("There is already a source with this ID");if(!pe.type)throw new Error("The type property must be defined, but only the following properties were given: "+Object.keys(pe).join(", ")+".");var Ke=["vector","raster","geojson","video","image"],pt=Ke.indexOf(pe.type)>=0;if(!(pt&&this._validate(e.validateStyle.source,"sources."+te,pe,null,He))){this.map&&this.map._collectResourceTiming&&(pe.collectResourceTiming=!0);var Ut=this.sourceCaches[te]=new ii(te,pe,this.dispatcher);Ut.style=this,Ut.setEventedParent(this,function(){return{isSourceLoaded:Ce.loaded(),source:Ut.serialize(),sourceId:te}}),Ut.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 pe in this._layers)if(this._layers[pe].source===te)return this.fire(new e.ErrorEvent(new Error('Source "'+te+'" cannot be removed while layer "'+pe+'" is using it.')));var He=this.sourceCaches[te];delete this.sourceCaches[te],delete this._updatedSources[te],He.fire(new e.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:te})),He.setEventedParent(null),He.clearTiles(),He.onRemove&&He.onRemove(this.map),this._changed=!0},K.prototype.setGeoJSONSourceData=function(te,pe){this._checkLoaded();var He=this.sourceCaches[te].getSource();He.setData(pe),this._changed=!0},K.prototype.getSource=function(te){return this.sourceCaches[te]&&this.sourceCaches[te].getSource()},K.prototype.addLayer=function(te,pe,He){He===void 0&&(He={}),this._checkLoaded();var Ce=te.id;if(this.getLayer(Ce)){this.fire(new e.ErrorEvent(new Error('Layer with id "'+Ce+'" already exists on this map')));return}var Ke;if(te.type==="custom"){if(Ns(this,e.validateCustomStyleLayer(te)))return;Ke=e.createStyleLayer(te)}else{if(typeof te.source=="object"&&(this.addSource(Ce,te.source),te=e.clone$1(te),te=e.extend(te,{source:Ce})),this._validate(e.validateStyle.layer,"layers."+Ce,te,{arrayIndex:-1},He))return;Ke=e.createStyleLayer(te),this._validateLayer(Ke),Ke.setEventedParent(this,{layer:{id:Ce}}),this._serializedLayers[Ke.id]=Ke.serialize()}var pt=pe?this._order.indexOf(pe):this._order.length;if(pe&&pt===-1){this.fire(new e.ErrorEvent(new Error('Layer with id "'+pe+'" does not exist on this map.')));return}if(this._order.splice(pt,0,Ce),this._layerOrderChanged=!0,this._layers[Ce]=Ke,this._removedLayers[Ce]&&Ke.source&&Ke.type!=="custom"){var Ut=this._removedLayers[Ce];delete this._removedLayers[Ce],Ut.type!==Ke.type?this._updatedSources[Ke.source]="clear":(this._updatedSources[Ke.source]="reload",this.sourceCaches[Ke.source].pause())}this._updateLayer(Ke),Ke.onAdd&&Ke.onAdd(this.map)},K.prototype.moveLayer=function(te,pe){this._checkLoaded(),this._changed=!0;var He=this._layers[te];if(!He){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!==pe){var Ce=this._order.indexOf(te);this._order.splice(Ce,1);var Ke=pe?this._order.indexOf(pe):this._order.length;if(pe&&Ke===-1){this.fire(new e.ErrorEvent(new Error('Layer with id "'+pe+'" does not exist on this map.')));return}this._order.splice(Ke,0,te),this._layerOrderChanged=!0}},K.prototype.removeLayer=function(te){this._checkLoaded();var pe=this._layers[te];if(!pe){this.fire(new e.ErrorEvent(new Error("The layer '"+te+"' does not exist in the map's style and cannot be removed.")));return}pe.setEventedParent(null);var He=this._order.indexOf(te);this._order.splice(He,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[te]=pe,delete this._layers[te],delete this._serializedLayers[te],delete this._updatedLayers[te],delete this._updatedPaintProps[te],pe.onRemove&&pe.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,pe,He){this._checkLoaded();var Ce=this.getLayer(te);if(!Ce){this.fire(new e.ErrorEvent(new Error("The layer '"+te+"' does not exist in the map's style and cannot have zoom extent.")));return}Ce.minzoom===pe&&Ce.maxzoom===He||(pe!=null&&(Ce.minzoom=pe),He!=null&&(Ce.maxzoom=He),this._updateLayer(Ce))},K.prototype.setFilter=function(te,pe,He){He===void 0&&(He={}),this._checkLoaded();var Ce=this.getLayer(te);if(!Ce){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(Ce.filter,pe)){if(pe==null){Ce.filter=void 0,this._updateLayer(Ce);return}this._validate(e.validateStyle.filter,"layers."+Ce.id+".filter",pe,null,He)||(Ce.filter=e.clone$1(pe),this._updateLayer(Ce))}},K.prototype.getFilter=function(te){return e.clone$1(this.getLayer(te).filter)},K.prototype.setLayoutProperty=function(te,pe,He,Ce){Ce===void 0&&(Ce={}),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 styled.")));return}e.deepEqual(Ke.getLayoutProperty(pe),He)||(Ke.setLayoutProperty(pe,He,Ce),this._updateLayer(Ke))},K.prototype.getLayoutProperty=function(te,pe){var He=this.getLayer(te);if(!He){this.fire(new e.ErrorEvent(new Error("The layer '"+te+"' does not exist in the map's style.")));return}return He.getLayoutProperty(pe)},K.prototype.setPaintProperty=function(te,pe,He,Ce){Ce===void 0&&(Ce={}),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 styled.")));return}if(!e.deepEqual(Ke.getPaintProperty(pe),He)){var pt=Ke.setPaintProperty(pe,He,Ce);pt&&this._updateLayer(Ke),this._changed=!0,this._updatedPaintProps[te]=!0}},K.prototype.getPaintProperty=function(te,pe){return this.getLayer(te).getPaintProperty(pe)},K.prototype.setFeatureState=function(te,pe){this._checkLoaded();var He=te.source,Ce=te.sourceLayer,Ke=this.sourceCaches[He];if(Ke===void 0){this.fire(new e.ErrorEvent(new Error("The source '"+He+"' does not exist in the map's style.")));return}var pt=Ke.getSource().type;if(pt==="geojson"&&Ce){this.fire(new e.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter.")));return}if(pt==="vector"&&!Ce){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."))),Ke.setFeatureState(Ce,te.id,pe)},K.prototype.removeFeatureState=function(te,pe){this._checkLoaded();var He=te.source,Ce=this.sourceCaches[He];if(Ce===void 0){this.fire(new e.ErrorEvent(new Error("The source '"+He+"' does not exist in the map's style.")));return}var Ke=Ce.getSource().type,pt=Ke==="vector"?te.sourceLayer:void 0;if(Ke==="vector"&&!pt){this.fire(new e.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));return}if(pe&&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}Ce.removeFeatureState(pt,te.id,pe)},K.prototype.getFeatureState=function(te){this._checkLoaded();var pe=te.source,He=te.sourceLayer,Ce=this.sourceCaches[pe];if(Ce===void 0){this.fire(new e.ErrorEvent(new Error("The source '"+pe+"' does not exist in the map's style.")));return}var Ke=Ce.getSource().type;if(Ke==="vector"&&!He){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."))),Ce.getFeatureState(He,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 pe=this,He=function(fa){return pe._layers[fa].type==="fill-extrusion"},Ce={},Ke=[],pt=this._order.length-1;pt>=0;pt--){var Ut=this._order[pt];if(He(Ut)){Ce[Ut]=pt;for(var Tr=0,Ur=te;Tr=0;ur--){var pr=this._order[ur];if(He(pr))for(var cr=Ke.length-1;cr>=0;cr--){var Gt=Ke[cr].feature;if(Ce[Gt.layer.id] 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;}`,su=`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; -#pragma mapbox: define lowp float base -#pragma mapbox: define lowp float height -#pragma mapbox: define lowp vec4 pattern_from -#pragma mapbox: define lowp vec4 pattern_to -#pragma mapbox: define lowp float pixel_ratio_from -#pragma mapbox: define lowp float pixel_ratio_to -void main() { -#pragma mapbox: initialize lowp float base -#pragma mapbox: initialize lowp float height -#pragma mapbox: initialize mediump vec4 pattern_from -#pragma mapbox: initialize mediump vec4 pattern_to -#pragma mapbox: initialize lowp float pixel_ratio_from -#pragma mapbox: initialize lowp float pixel_ratio_to -vec2 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; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,Wf=`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; -#pragma mapbox: define lowp float base -#pragma mapbox: define lowp float height -#pragma mapbox: define lowp vec4 pattern_from -#pragma mapbox: define lowp vec4 pattern_to -#pragma mapbox: define lowp float pixel_ratio_from -#pragma mapbox: define lowp float pixel_ratio_to -void main() { -#pragma mapbox: initialize lowp float base -#pragma mapbox: initialize lowp float height -#pragma mapbox: initialize mediump vec4 pattern_from -#pragma mapbox: initialize mediump vec4 pattern_to -#pragma mapbox: initialize lowp float pixel_ratio_from -#pragma mapbox: initialize lowp float pixel_ratio_to -vec2 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 -? a_pos -: 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;}`,Rf=`#ifdef GL_ES -precision highp float; -#endif -uniform 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); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,cf="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;}",Wc=`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; -#define PI 3.141592653589793 -void 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; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,Df="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;}",zf=`uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale; -#pragma mapbox: define highp vec4 color -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -void main() { -#pragma mapbox: initialize highp vec4 color -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -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);gl_FragColor=color*(alpha*opacity); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,$u=` -#define scale 0.015873016 -attribute 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; -#pragma mapbox: define highp vec4 color -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -#pragma mapbox: define mediump float gapwidth -#pragma mapbox: define lowp float offset -#pragma mapbox: define mediump float width -void main() { -#pragma mapbox: initialize highp vec4 color -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize mediump float gapwidth -#pragma mapbox: initialize lowp float offset -#pragma mapbox: initialize mediump float width -float 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; -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -void main() { -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -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);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,cc=` -#define scale 0.015873016 -attribute 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; -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -#pragma mapbox: define mediump float gapwidth -#pragma mapbox: define lowp float offset -#pragma mapbox: define mediump float width -void main() { -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize mediump float gapwidth -#pragma mapbox: initialize lowp float offset -#pragma mapbox: initialize mediump float width -float 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);}`,$c=`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; -#pragma mapbox: define lowp vec4 pattern_from -#pragma mapbox: define lowp vec4 pattern_to -#pragma mapbox: define lowp float pixel_ratio_from -#pragma mapbox: define lowp float pixel_ratio_to -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -void main() { -#pragma mapbox: initialize mediump vec4 pattern_from -#pragma mapbox: initialize mediump vec4 pattern_to -#pragma mapbox: initialize lowp float pixel_ratio_from -#pragma mapbox: initialize lowp float pixel_ratio_to -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -vec2 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; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,lu=` -#define scale 0.015873016 -#define LINE_DISTANCE_SCALE 2.0 -attribute 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; -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -#pragma mapbox: define lowp float offset -#pragma mapbox: define mediump float gapwidth -#pragma mapbox: define mediump float width -#pragma mapbox: define lowp float floorwidth -#pragma mapbox: define lowp vec4 pattern_from -#pragma mapbox: define lowp vec4 pattern_to -#pragma mapbox: define lowp float pixel_ratio_from -#pragma mapbox: define lowp float pixel_ratio_to -void main() { -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize lowp float offset -#pragma mapbox: initialize mediump float gapwidth -#pragma mapbox: initialize mediump float width -#pragma mapbox: initialize lowp float floorwidth -#pragma mapbox: initialize mediump vec4 pattern_from -#pragma mapbox: initialize mediump vec4 pattern_to -#pragma mapbox: initialize lowp float pixel_ratio_from -#pragma mapbox: initialize lowp float pixel_ratio_to -float 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;}`,Xc=`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; -#pragma mapbox: define highp vec4 color -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -#pragma mapbox: define mediump float width -#pragma mapbox: define lowp float floorwidth -void main() { -#pragma mapbox: initialize highp vec4 color -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize mediump float width -#pragma mapbox: initialize lowp float floorwidth -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 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); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,Lc=` -#define scale 0.015873016 -#define LINE_DISTANCE_SCALE 2.0 -attribute 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; -#pragma mapbox: define highp vec4 color -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -#pragma mapbox: define mediump float gapwidth -#pragma mapbox: define lowp float offset -#pragma mapbox: define mediump float width -#pragma mapbox: define lowp float floorwidth -void main() { -#pragma mapbox: initialize highp vec4 color -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize mediump float gapwidth -#pragma mapbox: initialize lowp float offset -#pragma mapbox: initialize mediump float width -#pragma mapbox: initialize lowp float floorwidth -float 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);}`,sl=`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); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,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;}",ah=`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity; -#pragma mapbox: define lowp float opacity -void main() { -#pragma mapbox: initialize lowp float opacity -lowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,Ff=`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; -#pragma mapbox: define lowp float opacity -void main() { -#pragma mapbox: initialize lowp float opacity -vec2 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 ? -camera_to_anchor_distance/u_camera_to_center_distance : -u_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));}`,Jc=`#define SDF_PX 8.0 -uniform 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; -#pragma mapbox: define highp vec4 fill_color -#pragma mapbox: define highp vec4 halo_color -#pragma mapbox: define lowp float opacity -#pragma mapbox: define lowp float halo_width -#pragma mapbox: define lowp float halo_blur -void main() { -#pragma mapbox: initialize highp vec4 fill_color -#pragma mapbox: initialize highp vec4 halo_color -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize lowp float halo_width -#pragma mapbox: initialize lowp float halo_blur -float 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); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,Xf=`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; -#pragma mapbox: define highp vec4 fill_color -#pragma mapbox: define highp vec4 halo_color -#pragma mapbox: define lowp float opacity -#pragma mapbox: define lowp float halo_width -#pragma mapbox: define lowp float halo_blur -void main() { -#pragma mapbox: initialize highp vec4 fill_color -#pragma mapbox: initialize highp vec4 halo_color -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize lowp float halo_width -#pragma mapbox: initialize lowp float halo_blur -vec2 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 ? -camera_to_anchor_distance/u_camera_to_center_distance : -u_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);}`,Fu=`#define SDF_PX 8.0 -#define SDF 1.0 -#define ICON 0.0 -uniform 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; -#pragma mapbox: define highp vec4 fill_color -#pragma mapbox: define highp vec4 halo_color -#pragma mapbox: define lowp float opacity -#pragma mapbox: define lowp float halo_width -#pragma mapbox: define lowp float halo_blur -void main() { -#pragma mapbox: initialize highp vec4 fill_color -#pragma mapbox: initialize highp vec4 halo_color -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize lowp float halo_width -#pragma mapbox: initialize lowp float halo_blur -float 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; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -return;}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); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,Bf=`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; -#pragma mapbox: define highp vec4 fill_color -#pragma mapbox: define highp vec4 halo_color -#pragma mapbox: define lowp float opacity -#pragma mapbox: define lowp float halo_width -#pragma mapbox: define lowp float halo_blur + endCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio; + endCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw; + endCutoff += viewport.xyxy; + endCutoff += endMiterWidth.xyxy; + } + } +} +`,o=` +precision highp float; + +uniform float dashLength, pixelRatio, thickness, opacity, id, miterMode; +uniform sampler2D dashTexture; + +varying vec4 fragColor; +varying vec2 tangent; +varying vec4 startCutoff, endCutoff; +varying vec2 startCoord, endCoord; +varying float enableStartMiter, enableEndMiter; + +float distToLine(vec2 p, vec2 a, vec2 b) { + vec2 diff = b - a; + vec2 perp = normalize(vec2(-diff.y, diff.x)); + return dot(p - a, perp); +} + void main() { -#pragma mapbox: initialize highp vec4 fill_color -#pragma mapbox: initialize highp vec4 halo_color -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize lowp float halo_width -#pragma mapbox: initialize lowp float halo_blur -vec2 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 ? -camera_to_anchor_distance/u_camera_to_center_distance : -u_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);}`,Ll=Ml(kc,Au),Bu=Ml(Sf,Gc),Ic=Ml(Js,yc),xl=Ml(Zc,mu),_c=Ml(Vl,lc),Eu=Ml(Gu,_l),Iu=Ml(Cl,Fs),Nl=Ml(ol,uc),Of=Ml(Kl,Zu),Yf=Ml(Sl,vh),Wu=Ml(ws,ph),Pc=Ml(qs,xo),xc=Ml(Kc,Ku),_h=Ml($l,Mf),ff=Ml(Cc,uf),yf=Ml(su,Wf),Xu=Ml(Rf,cf),hf=Ml(Wc,Df),hu=Ml(zf,$u),Qc=Ml(Ef,cc),nh=Ml($c,lu),_f=Ml(Xc,Lc),bl=Ml(sl,kf),ku=Ml(ah,Ff),Ou=Ml(Jc,Xf),Cf=Ml(Fu,Bf);function Ml(ve,K){var ge=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,te=K.match(/attribute ([\w]+) ([\w]+)/g),pe=ve.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),He=K.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),Ce=He?He.concat(pe):pe,Ke={};return ve=ve.replace(ge,function(pt,Ut,Tr,Ur,vr){return Ke[vr]=!0,Ut==="define"?` -#ifndef HAS_UNIFORM_u_`+vr+` -varying `+Tr+" "+Ur+" "+vr+`; -#else -uniform `+Tr+" "+Ur+" u_"+vr+`; -#endif -`:` -#ifdef HAS_UNIFORM_u_`+vr+` - `+Tr+" "+Ur+" "+vr+" = u_"+vr+`; -#endif -`}),K=K.replace(ge,function(pt,Ut,Tr,Ur,vr){var mt=Ur==="float"?"vec2":"vec4",Et=vr.match(/color/)?"color":mt;return Ke[vr]?Ut==="define"?` -#ifndef HAS_UNIFORM_u_`+vr+` -uniform lowp float u_`+vr+`_t; -attribute `+Tr+" "+mt+" a_"+vr+`; -varying `+Tr+" "+Ur+" "+vr+`; -#else -uniform `+Tr+" "+Ur+" u_"+vr+`; -#endif -`:Et==="vec4"?` -#ifndef HAS_UNIFORM_u_`+vr+` - `+vr+" = a_"+vr+`; -#else - `+Tr+" "+Ur+" "+vr+" = u_"+vr+`; -#endif -`:` -#ifndef HAS_UNIFORM_u_`+vr+` - `+vr+" = unpack_mix_"+Et+"(a_"+vr+", u_"+vr+`_t); -#else - `+Tr+" "+Ur+" "+vr+" = u_"+vr+`; -#endif -`:Ut==="define"?` -#ifndef HAS_UNIFORM_u_`+vr+` -uniform lowp float u_`+vr+`_t; -attribute `+Tr+" "+mt+" a_"+vr+`; -#else -uniform `+Tr+" "+Ur+" u_"+vr+`; -#endif -`:Et==="vec4"?` -#ifndef HAS_UNIFORM_u_`+vr+` - `+Tr+" "+Ur+" "+vr+" = a_"+vr+`; -#else - `+Tr+" "+Ur+" "+vr+" = u_"+vr+`; -#endif -`:` -#ifndef HAS_UNIFORM_u_`+vr+` - `+Tr+" "+Ur+" "+vr+" = unpack_mix_"+Et+"(a_"+vr+", u_"+vr+`_t); -#else - `+Tr+" "+Ur+" "+vr+" = u_"+vr+`; -#endif -`}),{fragmentSource:ve,vertexSource:K,staticAttributes:te,staticUniforms:Ce}}var df=Object.freeze({__proto__:null,prelude:Ll,background:Bu,backgroundPattern:Ic,circle:xl,clippingMask:_c,heatmap:Eu,heatmapTexture:Iu,collisionBox:Nl,collisionCircle:Of,debug:Yf,fill:Wu,fillOutline:Pc,fillOutlinePattern:xc,fillPattern:_h,fillExtrusion:ff,fillExtrusionPattern:yf,hillshadePrepare:Xu,hillshade:hf,line:hu,lineGradient:Qc,linePattern:nh,lineSDF:_f,raster:bl,symbolIcon:ku,symbolSDF:Ou,symbolTextAndIcon:Cf}),Rc=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};Rc.prototype.bind=function(K,ge,te,pe,He,Ce,Ke,pt){this.context=K;for(var Ut=this.boundPaintVertexBuffers.length!==pe.length,Tr=0;!Ut&&Tr>16,Ke>>16],u_pixel_coord_lower:[Ce&65535,Ke&65535]}}function ef(ve,K,ge,te){var pe=ge.imageManager.getPattern(ve.from.toString()),He=ge.imageManager.getPattern(ve.to.toString()),Ce=ge.imageManager.getPixelSize(),Ke=Ce.width,pt=Ce.height,Ut=Math.pow(2,te.tileID.overscaledZ),Tr=te.tileSize*Math.pow(2,ge.transform.tileZoom)/Ut,Ur=Tr*(te.tileID.canonical.x+te.tileID.wrap*Ut),vr=Tr*te.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:pe.tl,u_pattern_br_a:pe.br,u_pattern_tl_b:He.tl,u_pattern_br_b:He.br,u_texsize:[Ke,pt],u_mix:K.t,u_pattern_size_a:pe.displaySize,u_pattern_size_b:He.displaySize,u_scale_a:K.fromScale,u_scale_b:K.toScale,u_tile_units_to_pixels:1/xs(te,1,ge.transform.tileZoom),u_pixel_coord_upper:[Ur>>16,vr>>16],u_pixel_coord_lower:[Ur&65535,vr&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)}},du=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)}},Nf=function(ve,K,ge,te){var pe=K.style.light,He=pe.properties.get("position"),Ce=[He.x,He.y,He.z],Ke=e.create$1();pe.properties.get("anchor")==="viewport"&&e.fromRotation(Ke,-K.transform.angle),e.transformMat3(Ce,Ce,Ke);var pt=pe.properties.get("color");return{u_matrix:ve,u_lightpos:Ce,u_lightintensity:pe.properties.get("intensity"),u_lightcolor:[pt.r,pt.g,pt.b],u_vertical_gradient:+ge,u_opacity:te}},ec=function(ve,K,ge,te,pe,He,Ce){return e.extend(Nf(ve,K,ge,te),Qu(He,K,Ce),{u_height_factor:-Math.pow(2,pe.overscaledZ)/Ce.tileSize/8})},Dc=function(ve,K){return{u_matrix:new e.UniformMatrix4f(ve,K.u_matrix)}},bc=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)}},Jl=function(ve,K){return{u_matrix:new e.UniformMatrix4f(ve,K.u_matrix),u_world:new e.Uniform2f(ve,K.u_world)}},Cu=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)}},zc=function(ve){return{u_matrix:ve}},tf=function(ve,K,ge,te){return e.extend(zc(ve),Qu(ge,K,te))},fc=function(ve,K){return{u_matrix:ve,u_world:K}},Fc=function(ve,K,ge,te,pe){return e.extend(tf(ve,K,ge,te),{u_world:pe})},er=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)}},wr=function(ve,K,ge,te){var pe=ve.transform,He,Ce;if(te.paint.get("circle-pitch-alignment")==="map"){var Ke=xs(ge,1,pe.zoom);He=!0,Ce=[Ke,Ke]}else He=!1,Ce=pe.pixelsToGLUnits;return{u_camera_to_center_distance:pe.cameraToCenterDistance,u_scale_with_map:+(te.paint.get("circle-pitch-scale")==="map"),u_matrix:ve.translatePosMatrix(K.posMatrix,ge,te.paint.get("circle-translate"),te.paint.get("circle-translate-anchor")),u_pitch_with_map:+He,u_device_pixel_ratio:e.browser.devicePixelRatio,u_extrude_scale:Ce}},ai=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)}},Jr=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)}},Fi=function(ve,K,ge){var te=xs(ge,1,K.zoom),pe=Math.pow(2,K.zoom-ge.tileID.overscaledZ),He=ge.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*pe),K.pixelsToGLUnits[1]/(te*pe)],u_overscale_factor:He}},pa=function(ve,K,ge){return{u_matrix:ve,u_inv_matrix:K,u_camera_to_center_distance:ge.cameraToCenterDistance,u_viewport_size:[ge.width,ge.height]}},Ba=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)}},an=function(ve,K,ge){return ge===void 0&&(ge=1),{u_matrix:ve,u_color:K,u_overlay:0,u_overlay_scale:ge}},hn=function(ve,K){return{u_matrix:new e.UniformMatrix4f(ve,K.u_matrix)}},Ln=function(ve){return{u_matrix:ve}},Na=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)}},qa=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)}},Za=function(ve,K,ge,te){return{u_matrix:ve,u_extrude_scale:xs(K,1,ge),u_intensity:te}},Ta=function(ve,K,ge,te){var pe=e.create();e.ortho(pe,0,ve.width,ve.height,0,0,1);var He=ve.context.gl;return{u_matrix:pe,u_world:[He.drawingBufferWidth,He.drawingBufferHeight],u_image:ge,u_color_ramp:te,u_opacity:K.paint.get("heatmap-opacity")}},Hn=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)}},go=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)}},wo=function(ve,K,ge){var te=ge.paint.get("hillshade-shadow-color"),pe=ge.paint.get("hillshade-highlight-color"),He=ge.paint.get("hillshade-accent-color"),Ce=ge.paint.get("hillshade-illumination-direction")*(Math.PI/180);ge.paint.get("hillshade-illumination-anchor")==="viewport"&&(Ce-=ve.transform.angle);var Ke=!ve.options.moving;return{u_matrix:ve.transform.calculatePosMatrix(K.tileID.toUnwrapped(),Ke),u_image:0,u_latrange:Io(ve,K.tileID),u_light:[ge.paint.get("hillshade-exaggeration"),Ce],u_shadow:te,u_highlight:pe,u_accent:He}},yo=function(ve,K){var ge=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:[ge,ge],u_zoom:ve.overscaledZ,u_unpack:K.getUnpackVector()}};function Io(ve,K){var ge=Math.pow(2,K.canonical.z),te=K.canonical.y;return[new e.MercatorCoordinate(0,te/ge).toLngLat().lat,new e.MercatorCoordinate(0,(te+1)/ge).toLngLat().lat]}var Vn=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)}},wn=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)}},Oo=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)}},ps=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)}},js=function(ve,K,ge){var te=ve.transform;return{u_matrix:Wl(ve,K,ge),u_ratio:1/xs(K,1,te.zoom),u_device_pixel_ratio:e.browser.devicePixelRatio,u_units_to_pixels:[1/te.pixelsToGLUnits[0],1/te.pixelsToGLUnits[1]]}},pl=function(ve,K,ge,te){return e.extend(js(ve,K,ge),{u_image:0,u_image_height:te})},Qs=function(ve,K,ge,te){var pe=ve.transform,He=Bs(K,pe);return{u_matrix:Wl(ve,K,ge),u_texsize:K.imageAtlasTexture.size,u_ratio:1/xs(K,1,pe.zoom),u_device_pixel_ratio:e.browser.devicePixelRatio,u_image:0,u_scale:[He,te.fromScale,te.toScale],u_fade:te.t,u_units_to_pixels:[1/pe.pixelsToGLUnits[0],1/pe.pixelsToGLUnits[1]]}},hl=function(ve,K,ge,te,pe){var He=ve.transform,Ce=ve.lineAtlas,Ke=Bs(K,He),pt=ge.layout.get("line-cap")==="round",Ut=Ce.getDash(te.from,pt),Tr=Ce.getDash(te.to,pt),Ur=Ut.width*pe.fromScale,vr=Tr.width*pe.toScale;return e.extend(js(ve,K,ge),{u_patternscale_a:[Ke/Ur,-Ut.height/2],u_patternscale_b:[Ke/vr,-Tr.height/2],u_sdfgamma:Ce.width/(Math.min(Ur,vr)*256*e.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:Ut.y,u_tex_y_b:Tr.y,u_mix:pe.t})};function Bs(ve,K){return 1/xs(ve,1,K.tileZoom)}function Wl(ve,K,ge){return ve.translatePosMatrix(K.tileID.posMatrix,K,ge.paint.get("line-translate"),ge.paint.get("line-translate-anchor"))}var Il=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)}},wl=function(ve,K,ge,te,pe){return{u_matrix:ve,u_tl_parent:K,u_scale_parent:ge,u_buffer_scale:1,u_fade_t:te.mix,u_opacity:te.opacity*pe.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:pe.paint.get("raster-brightness-min"),u_brightness_high:pe.paint.get("raster-brightness-max"),u_saturation_factor:cl(pe.paint.get("raster-saturation")),u_contrast_factor:Jo(pe.paint.get("raster-contrast")),u_spin_weights:io(pe.paint.get("raster-hue-rotate"))}};function io(ve){ve*=Math.PI/180;var K=Math.sin(ve),ge=Math.cos(ve);return[(2*ge+1)/3,(-Math.sqrt(3)*K-ge+1)/3,(Math.sqrt(3)*K-ge+1)/3]}function Jo(ve){return ve>0?1/(1-ve):1+ve}function cl(ve){return ve>0?1-1/(1.001-ve):-ve}var Zs=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)}},gu=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)}},Nu=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)}},tc=function(ve,K,ge,te,pe,He,Ce,Ke,pt,Ut){var Tr=pe.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:Tr.cameraToCenterDistance,u_pitch:Tr.pitch/360*2*Math.PI,u_rotate_symbol:+ge,u_aspect_ratio:Tr.width/Tr.height,u_fade_change:pe.options.fadeDuration?pe.symbolFadeChange:1,u_matrix:He,u_label_plane_matrix:Ce,u_coord_matrix:Ke,u_is_text:+pt,u_pitch_with_map:+te,u_texsize:Ut,u_texture:0}},Bc=function(ve,K,ge,te,pe,He,Ce,Ke,pt,Ut,Tr){var Ur=pe.transform;return e.extend(tc(ve,K,ge,te,pe,He,Ce,Ke,pt,Ut),{u_gamma_scale:te?Math.cos(Ur._pitch)*Ur.cameraToCenterDistance:1,u_device_pixel_ratio:e.browser.devicePixelRatio,u_is_halo:+Tr})},Lu=function(ve,K,ge,te,pe,He,Ce,Ke,pt,Ut){return e.extend(Bc(ve,K,ge,te,pe,He,Ce,Ke,!0,pt,!0),{u_texsize_icon:Ut,u_texture_icon:1})},Oc=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)}},Pu=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)}},wc=function(ve,K,ge){return{u_matrix:ve,u_opacity:K,u_color:ge}},Po=function(ve,K,ge,te,pe,He){return e.extend(ef(te,He,ge,pe),{u_matrix:ve,u_opacity:K})},es={fillExtrusion:Lf,fillExtrusionPattern:du,fill:Dc,fillPattern:bc,fillOutline:Jl,fillOutlinePattern:Cu,circle:er,collisionBox:ai,collisionCircle:Jr,debug:Ba,clippingMask:hn,heatmap:Na,heatmapTexture:qa,hillshade:Hn,hillshadePrepare:go,line:Vn,lineGradient:wn,linePattern:Oo,lineSDF:ps,raster:Il,symbolIcon:Zs,symbolSDF:gu,symbolTextAndIcon:Nu,background:Oc,backgroundPattern:Pu},Nc;function hc(ve,K,ge,te,pe,He,Ce){for(var Ke=ve.context,pt=Ke.gl,Ut=ve.useProgram("collisionBox"),Tr=[],Ur=0,vr=0,mt=0;mt0){var cr=e.create(),Gt=dr;e.mul(cr,or.placementInvProjMatrix,ve.transform.glCoordMatrix),e.mul(cr,cr,or.placementViewportMatrix),Tr.push({circleArray:pr,circleOffset:vr,transform:Gt,invTransform:cr}),Ur+=pr.length/4,vr=Ur}ur&&Ut.draw(Ke,pt.LINES,Ui.disabled,Bi.disabled,ve.colorModeForRenderPass(),Br.disabled,Fi(dr,ve.transform,Bt),ge.id,ur.layoutVertexBuffer,ur.indexBuffer,ur.segments,null,ve.transform.zoom,null,null,ur.collisionVertexBuffer)}}if(!(!Ce||!Tr.length)){var lr=ve.useProgram("collisionCircle"),qt=new e.StructArrayLayout2f1f2i16;qt.resize(Ur*4),qt._trim();for(var zr=0,$r=0,Ai=Tr;$r=0&&(Et[or.associatedIconIndex]={shiftedAnchor:fa,angle:sn})}}if(Tr){mt.clear();for(var ma=ve.icon.placedSymbolArray,Ma=0;Ma0){var Ce=e.browser.now(),Ke=(Ce-ve.timeAdded)/He,pt=K?(Ce-K.timeAdded)/He:-1,Ut=ge.getSource(),Tr=pe.coveringZoomLevel({tileSize:Ut.tileSize,roundZoom:Ut.roundZoom}),Ur=!K||Math.abs(K.tileID.overscaledZ-Tr)>Math.abs(ve.tileID.overscaledZ-Tr),vr=Ur&&ve.refreshedUponExpiration?1:e.clamp(Ur?Ke:1-pt,0,1);return ve.refreshedUponExpiration&&Ke>=1&&(ve.refreshedUponExpiration=!1),K?{opacity:1,mix:1-vr}:{opacity:vr,mix:0}}else return{opacity:1,mix:0}}function kr(ve,K,ge){var te=ge.paint.get("background-color"),pe=ge.paint.get("background-opacity");if(pe!==0){var He=ve.context,Ce=He.gl,Ke=ve.transform,pt=Ke.tileSize,Ut=ge.paint.get("background-pattern");if(!ve.isPatternMissing(Ut)){var Tr=!Ut&&te.a===1&&pe===1&&ve.opaquePassEnabledForLayer()?"opaque":"translucent";if(ve.renderPass===Tr){var Ur=Bi.disabled,vr=ve.depthModeForSublayer(0,Tr==="opaque"?Ui.ReadWrite:Ui.ReadOnly),mt=ve.colorModeForRenderPass(),Et=ve.useProgram(Ut?"backgroundPattern":"background"),Bt=Ke.coveringTiles({tileSize:pt});Ut&&(He.activeTexture.set(Ce.TEXTURE0),ve.imageManager.bind(ve.context));for(var or=ge.getCrossfadeParameters(),dr=0,ur=Bt;dr "+ge.overscaledZ);var dr=or+" "+mt+"kb";Vo(ve,dr),Ce.draw(te,pe.TRIANGLES,Ke,pt,zt.alphaBlended,Br.disabled,an(He,e.Color.transparent,Bt),Tr,ve.debugBuffer,ve.quadTriangleIndexBuffer,ve.debugSegments)}function Vo(ve,K){ve.initDebugOverlayCanvas();var ge=ve.debugOverlayCanvas,te=ve.context.gl,pe=ve.debugOverlayCanvas.getContext("2d");pe.clearRect(0,0,ge.width,ge.height),pe.shadowColor="white",pe.shadowBlur=2,pe.lineWidth=1.5,pe.strokeStyle="white",pe.textBaseline="top",pe.font="bold 36px Open Sans, sans-serif",pe.fillText(K,5,5),pe.strokeText(K,5,5),ve.debugOverlayTexture.update(ge),ve.debugOverlayTexture.bind(te.LINEAR,te.CLAMP_TO_EDGE)}function bs(ve,K,ge){var te=ve.context,pe=ge.implementation;if(ve.renderPass==="offscreen"){var He=pe.prerender;He&&(ve.setCustomLayerDefaults(),te.setColorMode(ve.colorModeForRenderPass()),He.call(pe,te.gl,ve.transform.customLayerMatrix()),te.setDirty(),ve.setBaseState())}else if(ve.renderPass==="translucent"){ve.setCustomLayerDefaults(),te.setColorMode(ve.colorModeForRenderPass()),te.setStencilMode(Bi.disabled);var Ce=pe.renderingMode==="3d"?new Ui(ve.context.gl.LEQUAL,Ui.ReadWrite,ve.depthRangeFor3D):ve.depthModeForSublayer(0,Ui.ReadOnly);te.setDepthMode(Ce),pe.render(te.gl,ve.transform.customLayerMatrix()),te.setDirty(),ve.setBaseState(),te.bindFramebuffer.set(null)}}var Ho={symbol:P,circle:Ot,heatmap:Qt,line:oi,fill:Ge,"fill-extrusion":ot,hillshade:Ct,raster:fr,background:kr,debug:po,custom:bs},ds=function(K,ge){this.context=new ri(K),this.transform=ge,this._tileTextures={},this.setup(),this.numSublayers=ii.maxUnderzooming+ii.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new kl,this.gpuTimers={}};ds.prototype.resize=function(K,ge){if(this.width=K*e.browser.devicePixelRatio,this.height=ge*e.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var te=0,pe=this.style._order;te256&&this.clearStencil(),te.setColorMode(zt.disabled),te.setDepthMode(Ui.disabled);var He=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var Ce=0,Ke=ge;Ce256&&this.clearStencil();var K=this.nextStencilID++,ge=this.context.gl;return new Bi({func:ge.NOTEQUAL,mask:255},K,255,ge.KEEP,ge.KEEP,ge.REPLACE)},ds.prototype.stencilModeForClipping=function(K){var ge=this.context.gl;return new Bi({func:ge.EQUAL,mask:255},this._tileClippingMaskIDs[K.key],0,ge.KEEP,ge.KEEP,ge.REPLACE)},ds.prototype.stencilConfigForOverlap=function(K){var ge,te=this.context.gl,pe=K.sort(function(Ut,Tr){return Tr.overscaledZ-Ut.overscaledZ}),He=pe[pe.length-1].overscaledZ,Ce=pe[0].overscaledZ-He+1;if(Ce>1){this.currentStencilSource=void 0,this.nextStencilID+Ce>256&&this.clearStencil();for(var Ke={},pt=0;pt=0;this.currentLayer--){var cr=this.style._layers[pe[this.currentLayer]],Gt=He[cr.source],lr=pt[cr.source];this._renderTileClippingMasks(cr,lr),this.renderLayer(this,Gt,cr,lr)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer0?ge.pop():null},ds.prototype.isPatternMissing=function(K){if(!K)return!1;if(!K.from||!K.to)return!0;var ge=this.imageManager.getPattern(K.from.toString()),te=this.imageManager.getPattern(K.to.toString());return!ge||!te},ds.prototype.useProgram=function(K,ge){this.cache=this.cache||{};var te=""+K+(ge?ge.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[te]||(this.cache[te]=new xf(this.context,K,df[K],ge,es[K],this._showOverdrawInspector)),this.cache[te]},ds.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()},ds.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)},ds.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)}},ds.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var Is=function(K,ge){this.points=K,this.planes=ge};Is.fromInvProjectionMatrix=function(K,ge,te){var pe=[[-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]],He=Math.pow(2,te),Ce=pe.map(function(Ut){return e.transformMat4([],Ut,K)}).map(function(Ut){return e.scale$1([],Ut,1/Ut[3]/ge*He)}),Ke=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]],pt=Ke.map(function(Ut){var Tr=e.sub([],Ce[Ut[0]],Ce[Ut[1]]),Ur=e.sub([],Ce[Ut[2]],Ce[Ut[1]]),vr=e.normalize([],e.cross([],Tr,Ur)),mt=-e.dot(vr,Ce[Ut[1]]);return vr.concat(mt)});return new Is(Ce,pt)};var Tl=function(K,ge){this.min=K,this.max=ge,this.center=e.scale$2([],e.add([],this.min,this.max),.5)};Tl.prototype.quadrant=function(K){for(var ge=[K%2===0,K<2],te=e.clone$2(this.min),pe=e.clone$2(this.max),He=0;He=0;if(Ce===0)return 0;Ce!==ge.length&&(te=!1)}if(te)return 2;for(var pt=0;pt<3;pt++){for(var Ut=Number.MAX_VALUE,Tr=-Number.MAX_VALUE,Ur=0;Urthis.max[pt]-this.min[pt])return 0}return 1};var dl=function(K,ge,te,pe){if(K===void 0&&(K=0),ge===void 0&&(ge=0),te===void 0&&(te=0),pe===void 0&&(pe=0),isNaN(K)||K<0||isNaN(ge)||ge<0||isNaN(te)||te<0||isNaN(pe)||pe<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=K,this.bottom=ge,this.left=te,this.right=pe};dl.prototype.interpolate=function(K,ge,te){return ge.top!=null&&K.top!=null&&(this.top=e.number(K.top,ge.top,te)),ge.bottom!=null&&K.bottom!=null&&(this.bottom=e.number(K.bottom,ge.bottom,te)),ge.left!=null&&K.left!=null&&(this.left=e.number(K.left,ge.left,te)),ge.right!=null&&K.right!=null&&(this.right=e.number(K.right,ge.right,te)),this},dl.prototype.getCenter=function(K,ge){var te=e.clamp((this.left+K-this.right)/2,0,K),pe=e.clamp((this.top+ge-this.bottom)/2,0,ge);return new e.Point(te,pe)},dl.prototype.equals=function(K){return this.top===K.top&&this.bottom===K.bottom&&this.left===K.left&&this.right===K.right},dl.prototype.clone=function(){return new dl(this.top,this.bottom,this.left,this.right)},dl.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var ms=function(K,ge,te,pe,He){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=He===void 0?!0:He,this._minZoom=K||0,this._maxZoom=ge||22,this._minPitch=te??0,this._maxPitch=pe??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 dl,this._posMatrixCache={},this._alignedPosMatrixCache={}},gs={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}};ms.prototype.clone=function(){var K=new ms(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},gs.minZoom.get=function(){return this._minZoom},gs.minZoom.set=function(ve){this._minZoom!==ve&&(this._minZoom=ve,this.zoom=Math.max(this.zoom,ve))},gs.maxZoom.get=function(){return this._maxZoom},gs.maxZoom.set=function(ve){this._maxZoom!==ve&&(this._maxZoom=ve,this.zoom=Math.min(this.zoom,ve))},gs.minPitch.get=function(){return this._minPitch},gs.minPitch.set=function(ve){this._minPitch!==ve&&(this._minPitch=ve,this.pitch=Math.max(this.pitch,ve))},gs.maxPitch.get=function(){return this._maxPitch},gs.maxPitch.set=function(ve){this._maxPitch!==ve&&(this._maxPitch=ve,this.pitch=Math.min(this.pitch,ve))},gs.renderWorldCopies.get=function(){return this._renderWorldCopies},gs.renderWorldCopies.set=function(ve){ve===void 0?ve=!0:ve===null&&(ve=!1),this._renderWorldCopies=ve},gs.worldSize.get=function(){return this.tileSize*this.scale},gs.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},gs.size.get=function(){return new e.Point(this.width,this.height)},gs.bearing.get=function(){return-this.angle/Math.PI*180},gs.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))},gs.pitch.get=function(){return this._pitch/Math.PI*180},gs.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())},gs.fov.get=function(){return this._fov/Math.PI*180},gs.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())},gs.zoom.get=function(){return this._zoom},gs.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())},gs.center.get=function(){return this._center},gs.center.set=function(ve){ve.lat===this._center.lat&&ve.lng===this._center.lng||(this._unmodified=!1,this._center=ve,this._constrain(),this._calcMatrices())},gs.padding.get=function(){return this._edgeInsets.toJSON()},gs.padding.set=function(ve){this._edgeInsets.equals(ve)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,ve,1),this._calcMatrices())},gs.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},ms.prototype.isPaddingEqual=function(K){return this._edgeInsets.equals(K)},ms.prototype.interpolatePadding=function(K,ge,te){this._unmodified=!1,this._edgeInsets.interpolate(K,ge,te),this._constrain(),this._calcMatrices()},ms.prototype.coveringZoomLevel=function(K){var ge=(K.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/K.tileSize));return Math.max(0,ge)},ms.prototype.getVisibleUnwrappedCoordinates=function(K){var ge=[new e.UnwrappedTileID(0,K)];if(this._renderWorldCopies)for(var te=this.pointCoordinate(new e.Point(0,0)),pe=this.pointCoordinate(new e.Point(this.width,0)),He=this.pointCoordinate(new e.Point(this.width,this.height)),Ce=this.pointCoordinate(new e.Point(0,this.height)),Ke=Math.floor(Math.min(te.x,pe.x,He.x,Ce.x)),pt=Math.floor(Math.max(te.x,pe.x,He.x,Ce.x)),Ut=1,Tr=Ke-Ut;Tr<=pt+Ut;Tr++)Tr!==0&&ge.push(new e.UnwrappedTileID(Tr,K));return ge},ms.prototype.coveringTiles=function(K){var ge=this.coveringZoomLevel(K),te=ge;if(K.minzoom!==void 0&&geK.maxzoom&&(ge=K.maxzoom);var pe=e.MercatorCoordinate.fromLngLat(this.center),He=Math.pow(2,ge),Ce=[He*pe.x,He*pe.y,0],Ke=Is.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,ge),pt=K.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(pt=ge);var Ut=3,Tr=function(Ji){return{aabb:new Tl([Ji*He,0,0],[(Ji+1)*He,He,0]),zoom:0,x:0,y:0,wrap:Ji,fullyVisible:!1}},Ur=[],vr=[],mt=ge,Et=K.reparseOverscaled?te:ge;if(this._renderWorldCopies)for(var Bt=1;Bt<=3;Bt++)Ur.push(Tr(-Bt)),Ur.push(Tr(Bt));for(Ur.push(Tr(0));Ur.length>0;){var or=Ur.pop(),dr=or.x,ur=or.y,pr=or.fullyVisible;if(!pr){var cr=or.aabb.intersects(Ke);if(cr===0)continue;pr=cr===2}var Gt=or.aabb.distanceX(Ce),lr=or.aabb.distanceY(Ce),qt=Math.max(Math.abs(Gt),Math.abs(lr)),zr=Ut+(1<zr&&or.zoom>=pt){vr.push({tileID:new e.OverscaledTileID(or.zoom===mt?Et:or.zoom,or.wrap,or.zoom,dr,ur),distanceSq:e.sqrLen([Ce[0]-.5-dr,Ce[1]-.5-ur])});continue}for(var $r=0;$r<4;$r++){var Ai=(dr<<1)+$r%2,wa=(ur<<1)+($r>>1);Ur.push({aabb:or.aabb.quadrant($r),zoom:or.zoom+1,x:Ai,y:wa,wrap:or.wrap,fullyVisible:pr})}}return vr.sort(function(Ji,fa){return Ji.distanceSq-fa.distanceSq}).map(function(Ji){return Ji.tileID})},ms.prototype.resize=function(K,ge){this.width=K,this.height=ge,this.pixelsToGLUnits=[2/K,-2/ge],this._constrain(),this._calcMatrices()},gs.unmodified.get=function(){return this._unmodified},ms.prototype.zoomScale=function(K){return Math.pow(2,K)},ms.prototype.scaleZoom=function(K){return Math.log(K)/Math.LN2},ms.prototype.project=function(K){var ge=e.clamp(K.lat,-this.maxValidLatitude,this.maxValidLatitude);return new e.Point(e.mercatorXfromLng(K.lng)*this.worldSize,e.mercatorYfromLat(ge)*this.worldSize)},ms.prototype.unproject=function(K){return new e.MercatorCoordinate(K.x/this.worldSize,K.y/this.worldSize).toLngLat()},gs.point.get=function(){return this.project(this.center)},ms.prototype.setLocationAtPoint=function(K,ge){var te=this.pointCoordinate(ge),pe=this.pointCoordinate(this.centerPoint),He=this.locationCoordinate(K),Ce=new e.MercatorCoordinate(He.x-(te.x-pe.x),He.y-(te.y-pe.y));this.center=this.coordinateLocation(Ce),this._renderWorldCopies&&(this.center=this.center.wrap())},ms.prototype.locationPoint=function(K){return this.coordinatePoint(this.locationCoordinate(K))},ms.prototype.pointLocation=function(K){return this.coordinateLocation(this.pointCoordinate(K))},ms.prototype.locationCoordinate=function(K){return e.MercatorCoordinate.fromLngLat(K)},ms.prototype.coordinateLocation=function(K){return K.toLngLat()},ms.prototype.pointCoordinate=function(K){var ge=0,te=[K.x,K.y,0,1],pe=[K.x,K.y,1,1];e.transformMat4(te,te,this.pixelMatrixInverse),e.transformMat4(pe,pe,this.pixelMatrixInverse);var He=te[3],Ce=pe[3],Ke=te[0]/He,pt=pe[0]/Ce,Ut=te[1]/He,Tr=pe[1]/Ce,Ur=te[2]/He,vr=pe[2]/Ce,mt=Ur===vr?0:(ge-Ur)/(vr-Ur);return new e.MercatorCoordinate(e.number(Ke,pt,mt)/this.worldSize,e.number(Ut,Tr,mt)/this.worldSize)},ms.prototype.coordinatePoint=function(K){var ge=[K.x*this.worldSize,K.y*this.worldSize,0,1];return e.transformMat4(ge,ge,this.pixelMatrix),new e.Point(ge[0]/ge[3],ge[1]/ge[3])},ms.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)))},ms.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]])},ms.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])},ms.prototype.calculatePosMatrix=function(K,ge){ge===void 0&&(ge=!1);var te=K.key,pe=ge?this._alignedPosMatrixCache:this._posMatrixCache;if(pe[te])return pe[te];var He=K.canonical,Ce=this.worldSize/this.zoomScale(He.z),Ke=He.x+Math.pow(2,He.z)*K.wrap,pt=e.identity(new Float64Array(16));return e.translate(pt,pt,[Ke*Ce,He.y*Ce,0]),e.scale(pt,pt,[Ce/e.EXTENT,Ce/e.EXTENT,1]),e.multiply(pt,ge?this.alignedProjMatrix:this.projMatrix,pt),pe[te]=new Float32Array(pt),pe[te]},ms.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},ms.prototype._constrain=function(){if(!(!this.center||!this.width||!this.height||this._constraining)){this._constraining=!0;var K=-90,ge=90,te=-180,pe=180,He,Ce,Ke,pt,Ut=this.size,Tr=this._unmodified;if(this.latRange){var Ur=this.latRange;K=e.mercatorYfromLat(Ur[1])*this.worldSize,ge=e.mercatorYfromLat(Ur[0])*this.worldSize,He=ge-Kge&&(pt=ge-or)}if(this.lngRange){var dr=mt.x,ur=Ut.x/2;dr-urpe&&(Ke=pe-ur)}(Ke!==void 0||pt!==void 0)&&(this.center=this.unproject(new e.Point(Ke!==void 0?Ke:mt.x,pt!==void 0?pt:mt.y))),this._unmodified=Tr,this._constraining=!1}},ms.prototype._calcMatrices=function(){if(this.height){var K=this._fov/2,ge=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(K)*this.height;var te=Math.PI/2+this._pitch,pe=this._fov*(.5+ge.y/this.height),He=Math.sin(pe)*this.cameraToCenterDistance/Math.sin(e.clamp(Math.PI-te-pe,.01,Math.PI-.01)),Ce=this.point,Ke=Ce.x,pt=Ce.y,Ut=Math.cos(Math.PI/2-this._pitch)*He+this.cameraToCenterDistance,Tr=Ut*1.01,Ur=this.height/50,vr=new Float64Array(16);e.perspective(vr,this._fov,this.width/this.height,Ur,Tr),vr[8]=-ge.x*2/this.width,vr[9]=ge.y*2/this.height,e.scale(vr,vr,[1,-1,1]),e.translate(vr,vr,[0,0,-this.cameraToCenterDistance]),e.rotateX(vr,vr,this._pitch),e.rotateZ(vr,vr,this.angle),e.translate(vr,vr,[-Ke,-pt,0]),this.mercatorMatrix=e.scale([],vr,[this.worldSize,this.worldSize,this.worldSize]),e.scale(vr,vr,[1,1,e.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=vr,this.invProjMatrix=e.invert([],this.projMatrix);var mt=this.width%2/2,Et=this.height%2/2,Bt=Math.cos(this.angle),or=Math.sin(this.angle),dr=Ke-Math.round(Ke)+Bt*mt+or*Et,ur=pt-Math.round(pt)+Bt*Et+or*mt,pr=new Float64Array(vr);if(e.translate(pr,pr,[dr>.5?dr-1:dr,ur>.5?ur-1:ur,0]),this.alignedProjMatrix=pr,vr=e.create(),e.scale(vr,vr,[this.width/2,-this.height/2,1]),e.translate(vr,vr,[1,-1,0]),this.labelPlaneMatrix=vr,vr=e.create(),e.scale(vr,vr,[1,-1,1]),e.translate(vr,vr,[-1,-1,0]),e.scale(vr,vr,[2/this.width,2/this.height,1]),this.glCoordMatrix=vr,this.pixelMatrix=e.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),vr=e.invert(new Float64Array(16),this.pixelMatrix),!vr)throw new Error("failed to invert matrix");this.pixelMatrixInverse=vr,this._posMatrixCache={},this._alignedPosMatrixCache={}}},ms.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var K=this.pointCoordinate(new e.Point(0,0)),ge=[K.x*this.worldSize,K.y*this.worldSize,0,1],te=e.transformMat4(ge,ge,this.pixelMatrix);return te[3]/this.cameraToCenterDistance},ms.prototype.getCameraPoint=function(){var K=this._pitch,ge=Math.tan(K)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new e.Point(0,ge))},ms.prototype.getCameraQueryGeometry=function(K){var ge=this.getCameraPoint();if(K.length===1)return[K[0],ge];for(var te=ge.x,pe=ge.y,He=ge.x,Ce=ge.y,Ke=0,pt=K;Ke=3&&!K.some(function(te){return isNaN(te)})){var ge=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:ge,pitch:+(K[4]||0)}),!0}return!1},uu.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 Uu={linearity:.3,easing:e.bezier(0,0,.3,1)},Su=e.extend({deceleration:2500,maxSpeed:1400},Uu),Fl=e.extend({deceleration:20,maxSpeed:1400},Uu),yu=e.extend({deceleration:1e3,maxSpeed:360},Uu),dc=e.extend({deceleration:1e3,maxSpeed:90},Uu),Ql=function(K){this._map=K,this.clear()};Ql.prototype.clear=function(){this._inertiaBuffer=[]},Ql.prototype.record=function(K){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:e.browser.now(),settings:K})},Ql.prototype._drainInertiaBuffer=function(){for(var K=this._inertiaBuffer,ge=e.browser.now(),te=160;K.length>0&&ge-K[0].time>te;)K.shift()},Ql.prototype._onMoveEnd=function(K){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var ge={zoom:0,bearing:0,pitch:0,pan:new e.Point(0,0),pinchAround:void 0,around:void 0},te=0,pe=this._inertiaBuffer;te=this._clickTolerance||this._map.fire(new Fe(K.type,this._map,K))},_t.prototype.dblclick=function(K){return this._firePreventable(new Fe(K.type,this._map,K))},_t.prototype.mouseover=function(K){this._map.fire(new Fe(K.type,this._map,K))},_t.prototype.mouseout=function(K){this._map.fire(new Fe(K.type,this._map,K))},_t.prototype.touchstart=function(K){return this._firePreventable(new Je(K.type,this._map,K))},_t.prototype.touchmove=function(K){this._map.fire(new Je(K.type,this._map,K))},_t.prototype.touchend=function(K){this._map.fire(new Je(K.type,this._map,K))},_t.prototype.touchcancel=function(K){this._map.fire(new Je(K.type,this._map,K))},_t.prototype._firePreventable=function(K){if(this._map.fire(K),K.defaultPrevented)return{}},_t.prototype.isEnabled=function(){return!0},_t.prototype.isActive=function(){return!1},_t.prototype.enable=function(){},_t.prototype.disable=function(){};var At=function(K){this._map=K};At.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},At.prototype.mousemove=function(K){this._map.fire(new Fe(K.type,this._map,K))},At.prototype.mousedown=function(){this._delayContextMenu=!0},At.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Fe("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},At.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()},At.prototype.isEnabled=function(){return!0},At.prototype.isActive=function(){return!1},At.prototype.enable=function(){},At.prototype.disable=function(){};var ar=function(K,ge){this._map=K,this._el=K.getCanvasContainer(),this._container=K.getContainer(),this._clickTolerance=ge.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,ge){this.isEnabled()&&K.shiftKey&&K.button===0&&(r.disableDrag(),this._startPos=this._lastPos=ge,this._active=!0)},ar.prototype.mousemoveWindow=function(K,ge){if(this._active){var te=ge;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=xr(ge),this.touches=Ft(te,ge)))},xi.prototype.touchmove=function(K,ge,te){if(!(this.aborted||!this.centroid)){var pe=Ft(te,ge);for(var He in this.touches){var Ce=this.touches[He],Ke=pe[He];(!Ke||Ke.dist(Ce)>Ei)&&(this.aborted=!0)}}},xi.prototype.touchend=function(K,ge,te){if((!this.centroid||K.timeStamp-this.startTime>Yr)&&(this.aborted=!0),te.length===0){var pe=!this.aborted&&this.centroid;if(this.reset(),pe)return pe}};var na=function(K){this.singleTap=new xi(K),this.numTaps=K.numTaps,this.reset()};na.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},na.prototype.touchstart=function(K,ge,te){this.singleTap.touchstart(K,ge,te)},na.prototype.touchmove=function(K,ge,te){this.singleTap.touchmove(K,ge,te)},na.prototype.touchend=function(K,ge,te){var pe=this.singleTap.touchend(K,ge,te);if(pe){var He=K.timeStamp-this.lastTime0&&(this._active=!0);var pe=Ft(te,ge),He=new e.Point(0,0),Ce=new e.Point(0,0),Ke=0;for(var pt in pe){var Ut=pe[pt],Tr=this._touches[pt];Tr&&(He._add(Ut),Ce._add(Ut.sub(Tr)),Ke++,pe[pt]=Ut)}if(this._touches=pe,!(KeMath.abs(ve.x)}var Dn=100,zo=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,Pl(te[0].sub(te[1]))&&(this._valid=!1)},K.prototype._move=function(te,pe,He){var Ce=te[0].sub(this._lastPoints[0]),Ke=te[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(Ce,Ke,He.timeStamp),!!this._valid){this._lastPoints=te,this._active=!0;var pt=(Ce.y+Ke.y)/2,Ut=-.5;return{pitchDelta:pt*Ut}}},K.prototype.gestureBeginsVertically=function(te,pe,He){if(this._valid!==void 0)return this._valid;var Ce=2,Ke=te.mag()>=Ce,pt=pe.mag()>=Ce;if(!(!Ke&&!pt)){if(!Ke||!pt)return this._firstMove===void 0&&(this._firstMove=He),He-this._firstMove0==pe.y>0;return Pl(te)&&Pl(pe)&&Ut}},K}(Yn),ks={panStep:100,bearingStep:15,pitchStep:10},Rs=function(){var K=ks;this._panStep=K.panStep,this._bearingStep=K.bearingStep,this._pitchStep=K.pitchStep,this._rotationDisabled=!1};Rs.prototype.reset=function(){this._active=!1},Rs.prototype.keydown=function(K){var ge=this;if(!(K.altKey||K.ctrlKey||K.metaKey)){var te=0,pe=0,He=0,Ce=0,Ke=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?pe=-1:(K.preventDefault(),Ce=-1);break;case 39:K.shiftKey?pe=1:(K.preventDefault(),Ce=1);break;case 38:K.shiftKey?He=1:(K.preventDefault(),Ke=-1);break;case 40:K.shiftKey?He=-1:(K.preventDefault(),Ke=1);break;default:return}return this._rotationDisabled&&(pe=0,He=0),{cameraAnimation:function(pt){var Ut=pt.getZoom();pt.easeTo({duration:300,easeId:"keyboardHandler",easing:Bl,zoom:te?Math.round(Ut)+te*(K.shiftKey?2:1):Ut,bearing:pt.getBearing()+pe*ge._bearingStep,pitch:pt.getPitch()+He*ge._pitchStep,offset:[-Ce*ge._panStep,-Ke*ge._panStep],center:pt.getCenter()},{originalEvent:K})}}}},Rs.prototype.enable=function(){this._enabled=!0},Rs.prototype.disable=function(){this._enabled=!1,this.reset()},Rs.prototype.isEnabled=function(){return this._enabled},Rs.prototype.isActive=function(){return this._active},Rs.prototype.disableRotation=function(){this._rotationDisabled=!0},Rs.prototype.enableRotation=function(){this._rotationDisabled=!1};function Bl(ve){return ve*(2-ve)}var tu=4.000244140625,Ru=1/100,Hl=1/450,Tc=2,rt=function(K,ge){this._map=K,this._el=K.getCanvasContainer(),this._handler=ge,this._delta=0,this._defaultZoomRate=Ru,this._wheelZoomRate=Hl,e.bindAll(["_onTimeout"],this)};rt.prototype.setZoomRate=function(K){this._defaultZoomRate=K},rt.prototype.setWheelZoomRate=function(K){this._wheelZoomRate=K},rt.prototype.isEnabled=function(){return!!this._enabled},rt.prototype.isActive=function(){return!!this._active||this._finishTimeout!==void 0},rt.prototype.isZooming=function(){return!!this._zooming},rt.prototype.enable=function(K){this.isEnabled()||(this._enabled=!0,this._aroundCenter=K&&K.around==="center")},rt.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},rt.prototype.wheel=function(K){if(this.isEnabled()){var ge=K.deltaMode===e.window.WheelEvent.DOM_DELTA_LINE?K.deltaY*40:K.deltaY,te=e.browser.now(),pe=te-(this._lastWheelEventTime||0);this._lastWheelEventTime=te,ge!==0&&ge%tu===0?this._type="wheel":ge!==0&&Math.abs(ge)<4?this._type="trackpad":pe>400?(this._type=null,this._lastValue=ge,this._timeout=setTimeout(this._onTimeout,40,K)):this._type||(this._type=Math.abs(pe*ge)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,ge+=this._lastValue)),K.shiftKey&&ge&&(ge=ge/4),this._type&&(this._lastWheelEvent=K,this._delta-=ge,this._active||this._start(K)),K.preventDefault()}},rt.prototype._onTimeout=function(K){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(K)},rt.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 ge=r.mousePos(this._el,K);this._around=e.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(ge)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},rt.prototype.renderFrame=function(){var K=this;if(this._frameId&&(this._frameId=null,!!this.isActive())){var ge=this._map.transform;if(this._delta!==0){var te=this._type==="wheel"&&Math.abs(this._delta)>tu?this._wheelZoomRate:this._defaultZoomRate,pe=Tc/(1+Math.exp(-Math.abs(this._delta*te)));this._delta<0&&pe!==0&&(pe=1/pe);var He=typeof this._targetZoom=="number"?ge.zoomScale(this._targetZoom):ge.scale;this._targetZoom=Math.min(ge.maxZoom,Math.max(ge.minZoom,ge.scaleZoom(He*pe))),this._type==="wheel"&&(this._startZoom=ge.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var Ce=typeof this._targetZoom=="number"?this._targetZoom:ge.zoom,Ke=this._startZoom,pt=this._easing,Ut=!1,Tr;if(this._type==="wheel"&&Ke&&pt){var Ur=Math.min((e.browser.now()-this._lastWheelEventTime)/200,1),vr=pt(Ur);Tr=e.number(Ke,Ce,vr),Ur<1?this._frameId||(this._frameId=!0):Ut=!0}else Tr=Ce,Ut=!0;return this._active=!0,Ut&&(this._active=!1,this._finishTimeout=setTimeout(function(){K._zooming=!1,K._handler._triggerRenderFrame(),delete K._targetZoom,delete K._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!Ut,zoomDelta:Tr-ge.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},rt.prototype._smoothOutEasing=function(K){var ge=e.ease;if(this._prevEase){var te=this._prevEase,pe=(e.browser.now()-te.start)/te.duration,He=te.easing(pe+.01)-te.easing(pe),Ce=.27/Math.sqrt(He*He+1e-4)*.01,Ke=Math.sqrt(.27*.27-Ce*Ce);ge=e.bezier(Ce,Ke,.25,1)}return this._prevEase={start:e.browser.now(),duration:K,easing:ge},ge},rt.prototype.reset=function(){this._active=!1};var Yt=function(K,ge){this._clickZoom=K,this._tapZoom=ge};Yt.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},Yt.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},Yt.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},Yt.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var hr=function(){this.reset()};hr.prototype.reset=function(){this._active=!1},hr.prototype.dblclick=function(K,ge){return K.preventDefault(),{cameraAnimation:function(te){te.easeTo({duration:300,zoom:te.getZoom()+(K.shiftKey?-1:1),around:te.unproject(ge)},{originalEvent:K})}}},hr.prototype.enable=function(){this._enabled=!0},hr.prototype.disable=function(){this._enabled=!1,this.reset()},hr.prototype.isEnabled=function(){return this._enabled},hr.prototype.isActive=function(){return this._active};var li=function(){this._tap=new na({numTouches:1,numTaps:1}),this.reset()};li.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},li.prototype.touchstart=function(K,ge,te){this._swipePoint||(this._tapTime&&K.timeStamp-this._tapTime>Gr&&this.reset(),this._tapTime?te.length>0&&(this._swipePoint=ge[0],this._swipeTouch=te[0].identifier):this._tap.touchstart(K,ge,te))},li.prototype.touchmove=function(K,ge,te){if(!this._tapTime)this._tap.touchmove(K,ge,te);else if(this._swipePoint){if(te[0].identifier!==this._swipeTouch)return;var pe=ge[0],He=pe.y-this._swipePoint.y;return this._swipePoint=pe,K.preventDefault(),this._active=!0,{zoomDelta:He/128}}},li.prototype.touchend=function(K,ge,te){if(this._tapTime)this._swipePoint&&te.length===0&&this.reset();else{var pe=this._tap.touchend(K,ge,te);pe&&(this._tapTime=K.timeStamp)}},li.prototype.touchcancel=function(){this.reset()},li.prototype.enable=function(){this._enabled=!0},li.prototype.disable=function(){this._enabled=!1,this.reset()},li.prototype.isEnabled=function(){return this._enabled},li.prototype.isActive=function(){return this._active};var Ci=function(K,ge,te){this._el=K,this._mousePan=ge,this._touchPan=te};Ci.prototype.enable=function(K){this._inertiaOptions=K||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")},Ci.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")},Ci.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},Ci.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var Ti=function(K,ge,te){this._pitchWithRotate=K.pitchWithRotate,this._mouseRotate=ge,this._mousePitch=te};Ti.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},Ti.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},Ti.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},Ti.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var Mi=function(K,ge,te,pe){this._el=K,this._touchZoom=ge,this._touchRotate=te,this._tapDragZoom=pe,this._rotationDisabled=!1,this._enabled=!0};Mi.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")},Mi.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")},Mi.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},Mi.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},Mi.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},Mi.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var ia=function(ve){return ve.zoom||ve.drag||ve.pitch||ve.rotate},ka=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 Sa(ve){return ve.panDelta&&ve.panDelta.mag()||ve.zoomDelta||ve.bearingDelta||ve.pitchDelta}var va=function(K,ge){this._map=K,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Ql(K),this._bearingSnap=ge.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(ge),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 pe=0,He=this._listeners;peKe?Math.min(2,Gt):Math.max(.5,Gt),Ji=Math.pow(wa,1-$r),fa=Ce.unproject(pr.add(cr.mult($r*Ji)).mult(Ai));Ce.setLocationAtPoint(Ce.renderWorldCopies?fa.wrap():fa,or)}He._fireMoveEvents(pe)},function($r){He._afterEase(pe,$r)},te),this},K.prototype._prepareEase=function(te,pe,He){He===void 0&&(He={}),this._moving=!0,!pe&&!He.moving&&this.fire(new e.Event("movestart",te)),this._zooming&&!He.zooming&&this.fire(new e.Event("zoomstart",te)),this._rotating&&!He.rotating&&this.fire(new e.Event("rotatestart",te)),this._pitching&&!He.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,pe){if(!(this._easeId&&pe&&this._easeId===pe)){delete this._easeId;var He=this._zooming,Ce=this._rotating,Ke=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,He&&this.fire(new e.Event("zoomend",te)),Ce&&this.fire(new e.Event("rotateend",te)),Ke&&this.fire(new e.Event("pitchend",te)),this.fire(new e.Event("moveend",te))}},K.prototype.flyTo=function(te,pe){var He=this;if(!te.essential&&e.browser.prefersReducedMotion){var Ce=e.pick(te,["center","zoom","bearing","pitch","around"]);return this.jumpTo(Ce,pe)}this.stop(),te=e.extend({offset:[0,0],speed:1.2,curve:1.42,easing:e.ease},te);var Ke=this.transform,pt=this.getZoom(),Ut=this.getBearing(),Tr=this.getPitch(),Ur=this.getPadding(),vr="zoom"in te?e.clamp(+te.zoom,Ke.minZoom,Ke.maxZoom):pt,mt="bearing"in te?this._normalizeBearing(te.bearing,Ut):Ut,Et="pitch"in te?+te.pitch:Tr,Bt="padding"in te?te.padding:Ke.padding,or=Ke.zoomScale(vr-pt),dr=e.Point.convert(te.offset),ur=Ke.centerPoint.add(dr),pr=Ke.pointLocation(ur),cr=e.LngLat.convert(te.center||pr);this._normalizeCenter(cr);var Gt=Ke.project(pr),lr=Ke.project(cr).sub(Gt),qt=te.curve,zr=Math.max(Ke.width,Ke.height),$r=zr/or,Ai=lr.mag();if("minZoom"in te){var wa=e.clamp(Math.min(te.minZoom,pt,vr),Ke.minZoom,Ke.maxZoom),Ji=zr/Ke.zoomScale(wa-pt);qt=Math.sqrt(Ji/Ai*2)}var fa=qt*qt;function sn(ts){var Vs=($r*$r-zr*zr+(ts?-1:1)*fa*fa*Ai*Ai)/(2*(ts?$r:zr)*fa*Ai);return Math.log(Math.sqrt(Vs*Vs+1)-Vs)}function Ga(ts){return(Math.exp(ts)-Math.exp(-ts))/2}function ma(ts){return(Math.exp(ts)+Math.exp(-ts))/2}function Ma(ts){return Ga(ts)/ma(ts)}var Pa=sn(0),Ka=function(ts){return ma(Pa)/ma(Pa+qt*ts)},Sn=function(ts){return zr*((ma(Pa)*Ma(Pa+qt*ts)-Ga(Pa))/fa)/Ai},No=(sn(1)-Pa)/qt;if(Math.abs(Ai)<1e-6||!isFinite(No)){if(Math.abs(zr-$r)<1e-6)return this.easeTo(te,pe);var os=$rte.maxDuration&&(te.duration=0),this._zooming=!0,this._rotating=Ut!==mt,this._pitching=Et!==Tr,this._padding=!Ke.isPaddingEqual(Bt),this._prepareEase(pe,!1),this._ease(function(ts){var Vs=ts*No,ll=1/Ka(Vs);Ke.zoom=ts===1?vr:pt+Ke.scaleZoom(ll),He._rotating&&(Ke.bearing=e.number(Ut,mt,ts)),He._pitching&&(Ke.pitch=e.number(Tr,Et,ts)),He._padding&&(Ke.interpolatePadding(Ur,Bt,ts),ur=Ke.centerPoint.add(dr));var Mu=ts===1?cr:Ke.unproject(Gt.add(lr.mult(Sn(Vs))).mult(ll));Ke.setLocationAtPoint(Ke.renderWorldCopies?Mu.wrap():Mu,ur),He._fireMoveEvents(pe)},function(){return He._afterEase(pe)},te),this},K.prototype.isEasing=function(){return!!this._easeFrameId},K.prototype.stop=function(){return this._stop()},K.prototype._stop=function(te,pe){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var He=this._onEaseEnd;delete this._onEaseEnd,He.call(this,pe)}if(!te){var Ce=this.handlers;Ce&&Ce.stop(!1)}return this},K.prototype._ease=function(te,pe,He){He.animate===!1||He.duration===0?(te(1),pe()):(this._easeStart=e.browser.now(),this._easeOptions=He,this._onEaseFrame=te,this._onEaseEnd=pe,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,pe){te=e.wrap(te,-180,180);var He=Math.abs(te-pe);return Math.abs(te-360-pe)180?-360:He<-180?360:0}},K}(e.Evented),Ha=function(K){K===void 0&&(K={}),this.options=K,e.bindAll(["_toggleAttribution","_updateEditLink","_updateData","_updateCompact"],this)};Ha.prototype.getDefaultPosition=function(){return"bottom-right"},Ha.prototype.onAdd=function(K){var ge=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"),ge&&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),ge===void 0&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},Ha.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},Ha.prototype._setElementTitle=function(K,ge){var te=this._map._getUIString("AttributionControl."+ge);K.title=te,K.setAttribute("aria-label",te)},Ha.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"))},Ha.prototype._updateEditLink=function(){var K=this._editLink;K||(K=this._editLink=this._container.querySelector(".mapbox-improve-map"));var ge=[{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=ge.reduce(function(pe,He,Ce){return He.value&&(pe+=He.key+"="+He.value+(Ce=0)return!1;return!0});var Ke=K.join(" | ");Ke!==this._attribHTML&&(this._attribHTML=Ke,K.length?(this._innerContainer.innerHTML=Ke,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},Ha.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact","mapboxgl-compact-show")};var Da=function(){e.bindAll(["_updateLogo"],this),e.bindAll(["_updateCompact"],this)};Da.prototype.onAdd=function(K){this._map=K,this._container=r.create("div","mapboxgl-ctrl");var ge=r.create("a","mapboxgl-ctrl-logo");return ge.target="_blank",ge.rel="noopener nofollow",ge.href="https://www.mapbox.com/",ge.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),ge.setAttribute("rel","noopener nofollow"),this._container.appendChild(ge),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},Da.prototype.onRemove=function(){r.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},Da.prototype.getDefaultPosition=function(){return"bottom-left"},Da.prototype._updateLogo=function(K){(!K||K.sourceDataType==="metadata")&&(this._container.style.display=this._logoRequired()?"block":"none")},Da.prototype._logoRequired=function(){if(this._map.style){var K=this._map.style.sourceCaches;for(var ge in K){var te=K[ge].getSource();if(te.mapbox_logo)return!0}return!1}},Da.prototype._updateCompact=function(){var K=this._container.children;if(K.length){var ge=K[0];this._map.getCanvasContainer().offsetWidth<250?ge.classList.add("mapboxgl-compact"):ge.classList.remove("mapboxgl-compact")}};var Xi=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};Xi.prototype.add=function(K){var ge=++this._id,te=this._queue;return te.push({callback:K,id:ge,cancelled:!1}),ge},Xi.prototype.remove=function(K){for(var ge=this._currentlyRunning,te=ge?this._queue.concat(ge):this._queue,pe=0,He=te;pete.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.minPitchkn)throw new Error("maxPitch must be less than or equal to "+kn);var He=new ms(te.minZoom,te.maxZoom,te.minPitch,te.maxPitch,te.renderWorldCopies);if(ve.call(this,He,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 Xi,this._controls=[],this._mapId=e.uniqueId(),this._locale=e.extend({},ei,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 la)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 pe._update(!1)}),this.on("moveend",function(){return pe._update(!1)}),this.on("zoom",function(){return pe._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 va(this,te);var Ce=typeof te.hash=="string"&&te.hash||void 0;this._hash=te.hash&&new uu(Ce).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 Ha({customAttribution:te.customAttribution})),this.addControl(new Da,te.logoPosition),this.on("style.load",function(){pe.transform.unmodified&&pe.jumpTo(pe.style.stylesheet)}),this.on("data",function(Ke){pe._update(Ke.dataType==="style"),pe.fire(new e.Event(Ke.dataType+"data",Ke))}),this.on("dataloading",function(Ke){pe.fire(new e.Event(Ke.dataType+"dataloading",Ke))})}ve&&(K.__proto__=ve),K.prototype=Object.create(ve&&ve.prototype),K.prototype.constructor=K;var ge={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(pe,He){if(He===void 0&&(pe.getDefaultPosition?He=pe.getDefaultPosition():He="top-right"),!pe||!pe.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 Ce=pe.onAdd(this);this._controls.push(pe);var Ke=this._controlPositions[He];return He.indexOf("bottom")!==-1?Ke.insertBefore(Ce,Ke.firstChild):Ke.appendChild(Ce),this},K.prototype.removeControl=function(pe){if(!pe||!pe.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 He=this._controls.indexOf(pe);return He>-1&&this._controls.splice(He,1),pe.onRemove(this),this},K.prototype.hasControl=function(pe){return this._controls.indexOf(pe)>-1},K.prototype.resize=function(pe){var He=this._containerDimensions(),Ce=He[0],Ke=He[1];this._resizeCanvas(Ce,Ke),this.transform.resize(Ce,Ke),this.painter.resize(Ce,Ke);var pt=!this._moving;return pt&&(this.stop(),this.fire(new e.Event("movestart",pe)).fire(new e.Event("move",pe))),this.fire(new e.Event("resize",pe)),pt&&this.fire(new e.Event("moveend",pe)),this},K.prototype.getBounds=function(){return this.transform.getBounds()},K.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},K.prototype.setMaxBounds=function(pe){return this.transform.setMaxBounds(e.LngLatBounds.convert(pe)),this._update()},K.prototype.setMinZoom=function(pe){if(pe=pe??$i,pe>=$i&&pe<=this.transform.maxZoom)return this.transform.minZoom=pe,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=pe,this._update(),this.getZoom()>pe&&this.setZoom(pe),this;throw new Error("maxZoom must be greater than the current minZoom")},K.prototype.getMaxZoom=function(){return this.transform.maxZoom},K.prototype.setMinPitch=function(pe){if(pe=pe??Oa,pe=Oa&&pe<=this.transform.maxPitch)return this.transform.minPitch=pe,this._update(),this.getPitch()kn)throw new Error("maxPitch must be less than or equal to "+kn);if(pe>=this.transform.minPitch)return this.transform.maxPitch=pe,this._update(),this.getPitch()>pe&&this.setPitch(pe),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(pe){return this.transform.renderWorldCopies=pe,this._update()},K.prototype.project=function(pe){return this.transform.locationPoint(e.LngLat.convert(pe))},K.prototype.unproject=function(pe){return this.transform.pointLocation(e.Point.convert(pe))},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(pe,He,Ce){var Ke=this,pt;if(pe==="mouseenter"||pe==="mouseover"){var Ut=!1,Tr=function(or){var dr=Ke.getLayer(He)?Ke.queryRenderedFeatures(or.point,{layers:[He]}):[];dr.length?Ut||(Ut=!0,Ce.call(Ke,new Fe(pe,Ke,or.originalEvent,{features:dr}))):Ut=!1},Ur=function(){Ut=!1};return{layer:He,listener:Ce,delegates:{mousemove:Tr,mouseout:Ur}}}else if(pe==="mouseleave"||pe==="mouseout"){var vr=!1,mt=function(or){var dr=Ke.getLayer(He)?Ke.queryRenderedFeatures(or.point,{layers:[He]}):[];dr.length?vr=!0:vr&&(vr=!1,Ce.call(Ke,new Fe(pe,Ke,or.originalEvent)))},Et=function(or){vr&&(vr=!1,Ce.call(Ke,new Fe(pe,Ke,or.originalEvent)))};return{layer:He,listener:Ce,delegates:{mousemove:mt,mouseout:Et}}}else{var Bt=function(or){var dr=Ke.getLayer(He)?Ke.queryRenderedFeatures(or.point,{layers:[He]}):[];dr.length&&(or.features=dr,Ce.call(Ke,or),delete or.features)};return{layer:He,listener:Ce,delegates:(pt={},pt[pe]=Bt,pt)}}},K.prototype.on=function(pe,He,Ce){if(Ce===void 0)return ve.prototype.on.call(this,pe,He);var Ke=this._createDelegatedListener(pe,He,Ce);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[pe]=this._delegatedListeners[pe]||[],this._delegatedListeners[pe].push(Ke);for(var pt in Ke.delegates)this.on(pt,Ke.delegates[pt]);return this},K.prototype.once=function(pe,He,Ce){if(Ce===void 0)return ve.prototype.once.call(this,pe,He);var Ke=this._createDelegatedListener(pe,He,Ce);for(var pt in Ke.delegates)this.once(pt,Ke.delegates[pt]);return this},K.prototype.off=function(pe,He,Ce){var Ke=this;if(Ce===void 0)return ve.prototype.off.call(this,pe,He);var pt=function(Ut){for(var Tr=Ut[pe],Ur=0;Ur180;){var Ce=ge.locationPoint(ve);if(Ce.x>=0&&Ce.y>=0&&Ce.x<=ge.width&&Ce.y<=ge.height)break;ve.lng>ge.center.lng?ve.lng-=360:ve.lng+=360}return ve}var Pn={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 Zn(ve,K,ge){var te=ve.classList;for(var pe in Pn)te.remove("mapboxgl-"+ge+"-anchor-"+pe);te.add("mapboxgl-"+ge+"-anchor-"+K)}var ja=function(ve){function K(ge,te){if(ve.call(this),(ge instanceof e.window.HTMLElement||te)&&(ge=e.extend({element:ge},te)),e.bindAll(["_update","_onMove","_onUp","_addDragHandler","_onMapClick","_onKeyPress"],this),this._anchor=ge&&ge.anchor||"center",this._color=ge&&ge.color||"#3FB1CE",this._scale=ge&&ge.scale||1,this._draggable=ge&&ge.draggable||!1,this._clickTolerance=ge&&ge.clickTolerance||0,this._isDragging=!1,this._state="inactive",this._rotation=ge&&ge.rotation||0,this._rotationAlignment=ge&&ge.rotationAlignment||"auto",this._pitchAlignment=ge&&ge.pitchAlignment&&ge.pitchAlignment!=="auto"?ge.pitchAlignment:this._rotationAlignment,!ge||!ge.element){this._defaultMarker=!0,this._element=r.create("div"),this._element.setAttribute("aria-label","Map marker");var pe=r.createNS("http://www.w3.org/2000/svg","svg"),He=41,Ce=27;pe.setAttributeNS(null,"display","block"),pe.setAttributeNS(null,"height",He+"px"),pe.setAttributeNS(null,"width",Ce+"px"),pe.setAttributeNS(null,"viewBox","0 0 "+Ce+" "+He);var Ke=r.createNS("http://www.w3.org/2000/svg","g");Ke.setAttributeNS(null,"stroke","none"),Ke.setAttributeNS(null,"stroke-width","1"),Ke.setAttributeNS(null,"fill","none"),Ke.setAttributeNS(null,"fill-rule","evenodd");var pt=r.createNS("http://www.w3.org/2000/svg","g");pt.setAttributeNS(null,"fill-rule","nonzero");var Ut=r.createNS("http://www.w3.org/2000/svg","g");Ut.setAttributeNS(null,"transform","translate(3.0, 29.0)"),Ut.setAttributeNS(null,"fill","#000000");for(var Tr=[{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"}],Ur=0,vr=Tr;Ur=pe}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),gn={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},Wn;function $n(ve){Wn!==void 0?ve(Wn):e.window.navigator.permissions!==void 0?e.window.navigator.permissions.query({name:"geolocation"}).then(function(K){Wn=K.state!=="denied",ve(Wn)}):(Wn=!!e.window.navigator.geolocation,ve(Wn))}var fo=0,Ks=!1,Rl=function(ve){function K(ge){ve.call(this),this.options=e.extend({},gn,ge),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"),$n(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,fo=0,Ks=!1},K.prototype._isOutOfMapMaxBounds=function(te){var pe=this._map.getMaxBounds(),He=te.coords;return pe&&(He.longitudepe.getEast()||He.latitudepe.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 pe=new e.LngLat(te.coords.longitude,te.coords.latitude),He=te.coords.accuracy,Ce=this._map.getBearing(),Ke=e.extend({bearing:Ce},this.options.fitBoundsOptions);this._map.fitBounds(pe.toBounds(He),Ke,{geolocateSource:!0})},K.prototype._updateMarker=function(te){if(te){var pe=new e.LngLat(te.coords.longitude,te.coords.latitude);this._accuracyCircleMarker.setLngLat(pe).addTo(this._map),this._userLocationDotMarker.setLngLat(pe).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,pe=this._map.unproject([0,te]),He=this._map.unproject([1,te]),Ce=pe.distanceTo(He),Ke=Math.ceil(2*this._accuracy/Ce);this._circleElement.style.width=Ke+"px",this._circleElement.style.height=Ke+"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 pe=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=pe,this._geolocateButton.setAttribute("aria-label",pe),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(te.code===3&&Ks)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 pe=this;if(this._container.addEventListener("contextmenu",function(Ke){return Ke.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 He=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=He,this._geolocateButton.setAttribute("aria-label",He)}else{var Ce=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=Ce,this._geolocateButton.setAttribute("aria-label",Ce)}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 ja(this._dotElement),this._circleElement=r.create("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new ja({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(Ke){var pt=Ke.originalEvent&&Ke.originalEvent.type==="resize";!Ke.geolocateSource&&pe._watchState==="ACTIVE_LOCK"&&!pt&&(pe._watchState="BACKGROUND",pe._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),pe._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),pe.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":fo--,Ks=!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"),fo++;var te;fo>1?(te={maximumAge:6e5,timeout:0},Ks=!0):(te=this.options.positionOptions,Ks=!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),Ro={maxWidth:100,unit:"metric"},ru=function(K){this.options=e.extend({},Ro,K),e.bindAll(["_onMove","setUnit"],this)};ru.prototype.getDefaultPosition=function(){return"bottom-left"},ru.prototype._onMove=function(){Cs(this._map,this._container,this.options)},ru.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},ru.prototype.onRemove=function(){r.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},ru.prototype.setUnit=function(K){this.options.unit=K,Cs(this._map,this._container,this.options)};function Cs(ve,K,ge){var te=ge&&ge.maxWidth||100,pe=ve._container.clientHeight/2,He=ve.unproject([0,pe]),Ce=ve.unproject([te,pe]),Ke=He.distanceTo(Ce);if(ge&&ge.unit==="imperial"){var pt=3.2808*Ke;if(pt>5280){var Ut=pt/5280;Ol(K,te,Ut,ve._getUIString("ScaleControl.Miles"))}else Ol(K,te,pt,ve._getUIString("ScaleControl.Feet"))}else if(ge&&ge.unit==="nautical"){var Tr=Ke/1852;Ol(K,te,Tr,ve._getUIString("ScaleControl.NauticalMiles"))}else Ke>=1e3?Ol(K,te,Ke/1e3,ve._getUIString("ScaleControl.Kilometers")):Ol(K,te,Ke,ve._getUIString("ScaleControl.Meters"))}function Ol(ve,K,ge,te){var pe=cu(ge),He=pe/ge;ve.style.width=K*He+"px",ve.innerHTML=pe+" "+te}function Ul(ve){var K=Math.pow(10,Math.ceil(-Math.log(ve)/Math.LN10));return Math.round(ve*K)/K}function cu(ve){var K=Math.pow(10,(""+Math.floor(ve)).length-1),ge=ve/K;return ge=ge>=10?10:ge>=5?5:ge>=3?3:ge>=2?2:ge>=1?1:Ul(ge),K*ge}var il=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")};il.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},il.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,e.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},il.prototype._checkFullscreenSupport=function(){return!!(e.window.document.fullscreenEnabled||e.window.document.mozFullScreenEnabled||e.window.document.msFullscreenEnabled||e.window.document.webkitFullscreenEnabled)},il.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)},il.prototype._updateTitle=function(){var K=this._getTitle();this._fullscreenButton.setAttribute("aria-label",K),this._fullscreenButton.title=K},il.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")},il.prototype._isFullscreen=function(){return this._fullscreen},il.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())},il.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 El={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px"},Dl=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", "),ho=function(ve){function K(ge){ve.call(this),this.options=e.extend(Object.create(El),ge),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 pe=e.window.document.createDocumentFragment(),He=e.window.document.createElement("body"),Ce;for(He.innerHTML=te;Ce=He.firstChild,!!Ce;)pe.appendChild(Ce);return this.setDOMContent(pe)},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 pe=this,He=this._lngLat||this._trackPointer;if(!(!this._map||!He||!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 pe._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=on(this._lngLat,this._pos,this._map.transform)),!(this._trackPointer&&!te))){var Ce=this._pos=this._trackPointer&&te?te:this._map.project(this._lngLat),Ke=this.options.anchor,pt=jl(this.options.offset);if(!Ke){var Ut=this._container.offsetWidth,Tr=this._container.offsetHeight,Ur;Ce.y+pt.bottom.ythis._map.transform.height-Tr?Ur=["bottom"]:Ur=[],Ce.xthis._map.transform.width-Ut/2&&Ur.push("right"),Ur.length===0?Ke="bottom":Ke=Ur.join("-")}var vr=Ce.add(pt[Ke]).round();r.setTransform(this._container,Pn[Ke]+" translate("+vr.x+"px,"+vr.y+"px)"),Zn(this._container,Ke,"popup")}},K.prototype._focusFirstElement=function(){if(!(!this.options.focusAfterOpen||!this._container)){var te=this._container.querySelector(Dl);te&&te.focus()}},K.prototype._onClose=function(){this.remove()},K}(e.Evented);function jl(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 ge=e.Point.convert(ve);return{center:ge,top:ge,"top-left":ge,"top-right":ge,bottom:ge,"bottom-left":ge,"bottom-right":ge,left:ge,right:ge}}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 jl(new e.Point(0,0))}var $o={version:e.version,supported:t,setRTLTextPlugin:e.setRTLTextPlugin,getRTLTextPluginStatus:e.getRTLTextPluginStatus,Map:Yi,NavigationControl:La,GeolocateControl:Rl,AttributionControl:Ha,ScaleControl:ru,FullscreenControl:il,Popup:ho,Marker:ja,Style:Zl,LngLat:e.LngLat,LngLatBounds:e.LngLatBounds,Point:e.Point,MercatorCoordinate:e.MercatorCoordinate,Evented:e.Evented,config:e.config,prewarm:_n,clearPrewarmedResources:En,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 ca.workerCount},set workerCount(ve){ca.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 $o}),S})}}),VR=De({"src/plots/mapbox/layers.js"(Y,H){"use strict";var p=ui(),x=vu().sanitizeHTML,S=lA(),E=_p();function e(n,a){this.subplot=n,this.uid=n.uid+"-"+a,this.index=a,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(a){this.visible?this.needsNewImage(a)?this.updateImage(a):this.needsNewSource(a)?(this.removeLayer(),this.updateSource(a),this.updateLayer(a)):this.needsNewLayer(a)?this.updateLayer(a):this.updateStyle(a):(this.updateSource(a),this.updateLayer(a)),this.visible=r(a)},t.needsNewImage=function(n){var a=this.subplot.map;return a.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 a=this.subplot.map;a.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 a=this.subplot.map;if(a.getSource(this.idSource)&&a.removeSource(this.idSource),this.sourceType=n.sourcetype,this.source=n.source,!!r(n)){var s=i(n);a.addSource(this.idSource,s)}},t.findFollowingMapboxLayerId=function(n){if(n==="traces")for(var a=this.subplot.getMapLayers(),s=0;s0){for(var s=0;s0}function o(n){var a={},s={};switch(n.type){case"circle":p.extendFlat(s,{"circle-radius":n.circle.radius,"circle-color":n.color,"circle-opacity":n.opacity});break;case"line":p.extendFlat(s,{"line-width":n.line.width,"line-color":n.color,"line-opacity":n.opacity,"line-dasharray":n.line.dash});break;case"fill":p.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);p.extendFlat(a,{"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}),p.extendFlat(s,{"icon-color":n.color,"text-color":h.textfont.color,"text-opacity":n.opacity});break;case"raster":p.extendFlat(s,{"raster-fade-duration":0,"raster-opacity":n.opacity});break}return{layout:a,paint:s}}function i(n){var a=n.sourcetype,s=n.source,h={type:a},c;return a==="geojson"?c="data":a==="vector"?c=typeof s=="string"?"url":"tiles":a==="raster"?(c="tiles",h.tileSize=256):a==="image"&&(c="url",h.coordinates=n.coordinates),h[c]=s,n.sourceattribution&&(h.attribution=x(n.sourceattribution)),h}H.exports=function(a,s,h){var c=new e(a,s);return c.update(h),c}}}),qR=De({"src/plots/mapbox/mapbox.js"(Y,H){"use strict";var p=uA(),x=ui(),S=s0(),E=Mo(),e=us(),t=Qh(),r=sf(),o=dv(),i=o.drawMode,n=o.selectMode,a=Af().prepSelect,s=Af().clearOutline,h=Af().clearSelectionsCache,c=Af().selectOnClick,m=_p(),d=VR();function T(g,b){this.id=b,this.gd=g;var v=g._fullLayout,u=g._context;this.container=v._glcontainer.node(),this.isStatic=u.staticPlot,this.uid=v._uid+"-"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(v),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,v){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)}),v.push(f)},l.createMap=function(g,b,v,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 p.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 p.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(B){F.once("load",B)})),N=N.concat(S.fetchTraceGeoData(g)),Promise.all(N).then(function(){y.fillBelowLookup(g,b),y.updateData(g),y.updateLayout(b),y.resolveOnRender(v)}).catch(u)},l.updateMap=function(g,b,v,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(v)}).catch(u)},l.fillBelowLookup=function(g,b){var v=b[this.id],u=v.layers,y,f,R=this.belowLookup={},L=!1;for(y=0;y1)for(y=0;y-1&&c(z.originalEvent,u,[v.xaxis],[v.yaxis],v.id,L),F.indexOf("event")>-1&&r.click(u,z.originalEvent)}}},l.updateFx=function(g){var b=this,v=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 B=z.lassoPoints={};B[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}),v.off("click",b.onClickInPanHandler),n(f)||i(f)?(v.dragPan.disable(),v.on("zoomstart",b.clearOutline),b.dragOptions.prepFn=function(z,F,N){a(z,F,N,b.dragOptions,f)},t.init(b.dragOptions)):(v.dragPan.enable(),v.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),v.on("click",b.onClickInPanHandler))},l.updateFramework=function(g){var b=g[this.id].domain,v=g._size,u=this.div.style;u.width=v.w*(b.x[1]-b.x[0])+"px",u.height=v.h*(b.y[1]-b.y[0])+"px",u.left=v.l+b.x[0]*v.w+"px",u.top=v.t+(1-b.y[1])*v.h+"px",this.xaxis._offset=v.l+b.x[0]*v.w,this.xaxis._length=v.w*(b.x[1]-b.x[0]),this.yaxis._offset=v.t+(1-b.y[1])*v.h,this.yaxis._length=v.h*(b.y[1]-b.y[0])},l.updateLayers=function(g){var b=g[this.id],v=b.layers,u=this.layerList,y;if(v.length!==u.length){for(y=0;yN/2){var B=R.split("|").join("
");z.text(B).attr("data-unformatted",B).call(o.convertToTspans,d),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 I=1;F.width+6>N&&(I=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(I))}};function c(d,T){var l=d._fullLayout,_=d._context;if(_.mapboxAccessToken==="")return"";for(var w=[],A=[],M=!1,g=!1,b=0;b1&&p.warn(a.multipleTokensErrorMsg),w[0]):(A.length&&p.log(["Listed mapbox access token(s)",A.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" ")),"")}function m(d){return typeof d=="string"&&(a.styleValuesMapbox.indexOf(d)!==-1||d.indexOf("mapbox://")===0||d.indexOf("stamen")===0)}Y.updateFx=function(d){for(var T=d._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)},H.exports=function(r,o){var i=o[0].trace,n=new E(r,i.uid),a=n.sourceId,s=p(o),h=n.below=r.belowLookup["trace-"+i.uid];return r.map.addSource(a,{type:"geojson",data:s.geojson}),n._addLayers(s,h),o[0].trace._glTrace=n,n}}}),ZR=De({"src/traces/choroplethmapbox/index.js"(Y,H){"use strict";var p=["*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(" ");H.exports={attributes:cA(),supplyDefaults:XR(),colorbar:Zp(),calc:cb(),plot:YR(),hoverPoints:hb(),eventData:db(),selectPoints:vb(),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?+d[c]:0),h.push({type:"Feature",geometry:{type:"Point",coordinates:w},properties:A})}}var g=E.extractOpts(i),b=g.reversescale?E.flipScale(g.colorscale):g.colorscale,v=b[0][1],u=S.opacity(v)<1?v:S.addOpacity(v,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)},H.exports=function(t,r){var o=r[0].trace,i=new S(t,o.uid),n=i.sourceId,a=p(r),s=i.below=t.belowLookup["trace-"+o.uid];return t.map.addSource(n,{type:"geojson",data:a.geojson}),i._addLayers(a,s),i}}}),tD=De({"src/traces/densitymapbox/hover.js"(Y,H){"use strict";var p=us(),x=Eb().hoverPoints,S=Eb().getExtraText;H.exports=function(e,t,r){var o=x(e,t,r);if(o){var i=o[0],n=i.cd,a=n[0].trace,s=n[i.index];if(delete i.color,"z"in s){var h=i.subplot.mockAxis;i.z=s.z,i.zLabel=p.tickText(h,h.c2l(s.z),"hover").text}return i.extraText=S(a,s,n[0].t.labels),[i]}}}}),rD=De({"src/traces/densitymapbox/event_data.js"(Y,H){"use strict";H.exports=function(x,S){return x.lon=S.lon,x.lat=S.lat,x.z=S.z,x}}}),iD=De({"src/traces/densitymapbox/index.js"(Y,H){"use strict";var p=["*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(" ");H.exports={attributes:hA(),supplyDefaults:$R(),colorbar:Zp(),formatLabels:sA(),calc:JR(),plot:eD(),hoverPoints:tD(),eventData:rD(),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} + float alpha = 1., distToStart, distToEnd; + float cutoff = thickness * .5; + + //bevel miter + if (miterMode == 1.) { + if (enableStartMiter == 1.) { + distToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw); + if (distToStart < -1.) { + discard; + return; + } + alpha *= min(max(distToStart + 1., 0.), 1.); + } + + if (enableEndMiter == 1.) { + distToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw); + if (distToEnd < -1.) { + discard; + return; + } + alpha *= min(max(distToEnd + 1., 0.), 1.); + } + } + + // round miter + else if (miterMode == 2.) { + if (enableStartMiter == 1.) { + distToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw); + if (distToStart < 0.) { + float radius = length(gl_FragCoord.xy - startCoord); + + if(radius > cutoff + .5) { + discard; + return; + } + + alpha -= smoothstep(cutoff - .5, cutoff + .5, radius); + } + } + + if (enableEndMiter == 1.) { + distToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw); + if (distToEnd < 0.) { + float radius = length(gl_FragCoord.xy - endCoord); + + if(radius > cutoff + .5) { + discard; + return; + } + + alpha -= smoothstep(cutoff - .5, cutoff + .5, radius); + } + } + } + + float t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25; + float dash = texture2D(dashTexture, vec2(t, .5)).r; + + gl_FragColor = fragColor; + gl_FragColor.a *= alpha * opacity * dash; +} +`;O.exports=b;function b(M,A){if(!(this instanceof b))return new b(M,A);if(typeof M=="function"?(A||(A={}),A.regl=M):A=M,A.length&&(A.positions=A),M=A.regl,!M.hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");this.gl=M._gl,this.regl=M,this.passes=[],this.shaders=b.shaders.has(M)?b.shaders.get(M):b.shaders.set(M,b.createShaders(M)).get(M),this.update(A)}b.dashMult=2,b.maxPatternLength=256,b.precisionThreshold=3e6,b.maxPoints=1e4,b.maxLines=2048,b.shaders=new n,b.createShaders=function(M){let A=M.buffer({usage:"static",type:"float",data:[0,1,0,0,1,1,1,0]}),E={primitive:"triangle strip",instances:M.prop("count"),count:4,offset:0,uniforms:{miterMode:(h,x)=>x.join==="round"?2:1,miterLimit:M.prop("miterLimit"),scale:M.prop("scale"),scaleFract:M.prop("scaleFract"),translateFract:M.prop("translateFract"),translate:M.prop("translate"),thickness:M.prop("thickness"),dashTexture:M.prop("dashTexture"),opacity:M.prop("opacity"),pixelRatio:M.context("pixelRatio"),id:M.prop("id"),dashLength:M.prop("dashLength"),viewport:(h,x)=>[x.viewport.x,x.viewport.y,h.viewportWidth,h.viewportHeight],depth:M.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:(h,x)=>!x.overlay},stencil:{enable:!1},scissor:{enable:!0,box:M.prop("viewport")},viewport:M.prop("viewport")},g=M(w({vert:c,frag:p,attributes:{lineEnd:{buffer:A,divisor:0,stride:8,offset:0},lineTop:{buffer:A,divisor:0,stride:8,offset:4},aCoord:{buffer:M.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:M.prop("positionBuffer"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:M.prop("positionFractBuffer"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:M.prop("positionFractBuffer"),stride:8,offset:16,divisor:1},color:{buffer:M.prop("colorBuffer"),stride:4,offset:0,divisor:1}}},E)),T;try{T=M(w({cull:{enable:!0,face:"back"},vert:y,frag:o,attributes:{lineEnd:{buffer:A,divisor:0,stride:8,offset:0},lineTop:{buffer:A,divisor:0,stride:8,offset:4},aColor:{buffer:M.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:M.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:M.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:M.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:M.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:M.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},E))}catch{T=g}return{fill:M({primitive:"triangle",elements:(h,x)=>x.triangles,offset:0,vert:f,frag:d,uniforms:{scale:M.prop("scale"),color:M.prop("fill"),scaleFract:M.prop("scaleFract"),translateFract:M.prop("translateFract"),translate:M.prop("translate"),opacity:M.prop("opacity"),pixelRatio:M.context("pixelRatio"),id:M.prop("id"),viewport:(h,x)=>[x.viewport.x,x.viewport.y,h.viewportWidth,h.viewportHeight]},attributes:{position:{buffer:M.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:M.prop("positionFractBuffer"),stride:8,offset:8}},blend:E.blend,depth:{enable:!1},scissor:E.scissor,stencil:E.stencil,viewport:E.viewport}),rect:g,miter:T}},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},b.prototype.render=function(...M){M.length&&this.update(...M),this.draw()},b.prototype.draw=function(...M){return(M.length?M:this.passes).forEach((A,E)=>{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>b.precisionThreshold||A.scale[1]*A.viewport.height>b.precisionThreshold?this.shaders.rect(A):A.join==="rect"||!A.join&&(A.thickness<=2||A.count>=b.maxPoints)?this.shaders.rect(A):this.shaders.miter(A)))}),this},b.prototype.update=function(M){if(!M)return;M.length!=null?typeof M[0]=="number"&&(M=[{positions:M}]):Array.isArray(M)||(M=[M]);let{regl:A,gl:E}=this;if(M.forEach((T,m)=>{let h=this.passes[m];if(T!==void 0){if(T===null){this.passes[m]=null;return}if(typeof T[0]=="number"&&(T={positions:T}),T=S(T,{positions:"positions points data coords",thickness:"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth",join:"lineJoin linejoin join type mode",miterLimit:"miterlimit miterLimit",dashes:"dash dashes dasharray dash-array dashArray",color:"color colour stroke colors colours stroke-color strokeColor",fill:"fill fill-color fillColor",opacity:"alpha opacity",overlay:"overlay crease overlap intersect",close:"closed close closed-path closePath",range:"range dataBox",viewport:"viewport viewBox",hole:"holes hole hollow",splitNull:"splitNull"}),h||(this.passes[m]=h={id:m,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})},T=w({},b.defaults,T)),T.thickness!=null&&(h.thickness=parseFloat(T.thickness)),T.opacity!=null&&(h.opacity=parseFloat(T.opacity)),T.miterLimit!=null&&(h.miterLimit=parseFloat(T.miterLimit)),T.overlay!=null&&(h.overlay=!!T.overlay,mte-ae),q=[],Y=0,ee=h.hole!=null?h.hole[0]:null;if(ee!=null){let te=s(N,ae=>ae>=ee);N=N.slice(0,te),N.push(ee)}for(let te=0;teK-ee+(N[te]-Y)),G=e(ae,j);G=G.map(K=>K+Y+(K+Y{M.colorBuffer.destroy(),M.positionBuffer.destroy(),M.dashTexture.destroy()}),this.passes.length=0,this}}}),x8=xe({"node_modules/regl-error2d/index.js"(U,O){"use strict";var u=Nv(),v=Xd(),w=h3(),S=Yh(),l=cc(),e=Ov(),{float32:t,fract32:a}=G1();O.exports=n;var r=[[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 c=i._gl,p,f,d,y,o,b,M={color:"black",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},A=[];return y=i.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array(0)}),f=i.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),d=i.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),o=i.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),b=i.buffer({usage:"static",type:"float",data:r}),m(s),p=i({vert:` + precision highp float; + + attribute vec2 position, positionFract; + attribute vec4 error; + attribute vec4 color; + + attribute vec2 direction, lineOffset, capOffset; + + uniform vec4 viewport; + uniform float lineWidth, capSize; + uniform vec2 scale, scaleFract, translate, translateFract; + + varying vec4 fragColor; + + void main() { + fragColor = color / 255.; + + vec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset; + + vec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw; + + vec2 position = position + dxy; + + vec2 pos = (position + translate) * scale + + (positionFract + translateFract) * scale + + (position + translate) * scaleFract + + (positionFract + translateFract) * scaleFract; + + pos += pixelOffset / viewport.zw; + + gl_Position = vec4(pos * 2. - 1., 0, 1); + } + `,frag:` + precision highp float; + + varying vec4 fragColor; + + uniform float opacity; + + void main() { + gl_FragColor = fragColor; + gl_FragColor.a *= opacity; + } + `,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:(x,_)=>[_.viewport.x,_.viewport.y,x.viewportWidth,x.viewportHeight]},attributes:{color:{buffer:y,offset:(x,_)=>_.offset*4,divisor:1},position:{buffer:f,offset:(x,_)=>_.offset*8,divisor:1},positionFract:{buffer:d,offset:(x,_)=>_.offset*8,divisor:1},error:{buffer:o,offset:(x,_)=>_.offset*16,divisor:1},direction:{buffer:b,stride:24,offset:0},lineOffset:{buffer:b,stride:24,offset:8},capOffset:{buffer:b,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:r.length}),l(E,{update:m,draw:g,destroy:h,regl:i,gl:c,canvas:c.canvas,groups:A}),E;function E(x){x?m(x):x===null&&h(),g()}function g(x){if(typeof x=="number")return T(x);x&&!Array.isArray(x)&&(x=[x]),i._refresh(),A.forEach((_,D)=>{if(_){if(x&&(x[D]?_.draw=!0:_.draw=!1),!_.draw){_.draw=!0;return}T(D)}})}function T(x){typeof x=="number"&&(x=A[x]),x!=null&&x&&x.count&&x.color&&x.opacity&&x.positions&&x.positions.length>1&&(x.scaleRatio=[x.scale[0]*x.viewport.width,x.scale[1]*x.viewport.height],p(x),x.after&&x.after(x))}function m(x){if(!x)return;x.length!=null?typeof x[0]=="number"&&(x=[{positions:x}]):Array.isArray(x)||(x=[x]);let _=0,D=0;if(E.groups=A=x.map((I,z)=>{let R=A[z];if(I)typeof I=="function"?I={after:I}:typeof I[0]=="number"&&(I={positions:I});else return R;return I=S(I,{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"}),R||(A[z]=R={id:z,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},I=l({},M,I)),w(R,I,[{lineWidth:k=>+k*.5,capSize:k=>+k*.5,opacity:parseFloat,errors:k=>(k=e(k),D+=k.length,k),positions:(k,B)=>(k=e(k,"float64"),B.count=Math.floor(k.length/2),B.bounds=u(k,2),B.offset=_,_+=B.count,k)},{color:(k,B)=>{let N=B.count;if(k||(k="transparent"),!Array.isArray(k)||typeof k[0]=="number"){let Y=k;k=Array(N);for(let ee=0;ee{let q=B.bounds;return k||(k=q),B.scale=[1/(k[2]-k[0]),1/(k[3]-k[1])],B.translate=[-k[0],-k[1]],B.scaleFract=a(B.scale),B.translateFract=a(B.translate),k},viewport:k=>{let B;return Array.isArray(k)?B={x:k[0],y:k[1],width:k[2]-k[0],height:k[3]-k[1]}:k?(B={x:k.x||k.left||0,y:k.y||k.top||0},k.right?B.width=k.right-B.x:B.width=k.w||k.width||0,k.bottom?B.height=k.bottom-B.y:B.height=k.h||k.height||0):B={x:0,y:0,width:c.drawingBufferWidth,height:c.drawingBufferHeight},B}}]),R}),_||D){let I=A.reduce((B,N,q)=>B+(N?N.count:0),0),z=new Float64Array(I*2),R=new Uint8Array(I*4),k=new Float32Array(I*4);A.forEach((B,N)=>{if(!B)return;let{positions:q,count:Y,offset:ee,color:te,errors:ae}=B;Y&&(R.set(te,ee*4),k.set(ae,ee*4),z.set(q,ee*2))});var C=t(z);f(C);var F=a(z,C);d(F),y(R),o(k)}}function h(){f.destroy(),d.destroy(),y.destroy(),o.destroy(),b.destroy()}}}}),w8=xe({"node_modules/unquote/index.js"(U,O){var u=/[\'\"]/;O.exports=function(w){return w?(u.test(w.charAt(0))&&(w=w.substr(1)),u.test(w.charAt(w.length-1))&&(w=w.substr(0,w.length-1)),w):""}}}),S3=xe({"node_modules/css-global-keywords/index.json"(U,O){O.exports=["inherit","initial","unset"]}}),E3=xe({"node_modules/css-system-font-keywords/index.json"(U,O){O.exports=["caption","icon","menu","message-box","small-caption","status-bar"]}}),k3=xe({"node_modules/css-font-weight-keywords/index.json"(U,O){O.exports=["normal","bold","bolder","lighter","100","200","300","400","500","600","700","800","900"]}}),C3=xe({"node_modules/css-font-style-keywords/index.json"(U,O){O.exports=["normal","italic","oblique"]}}),L3=xe({"node_modules/css-font-stretch-keywords/index.json"(U,O){O.exports=["normal","condensed","semi-condensed","extra-condensed","ultra-condensed","expanded","semi-expanded","extra-expanded","ultra-expanded"]}}),T8=xe({"node_modules/parenthesis/index.js"(U,O){"use strict";function u(S,l){if(typeof S!="string")return[S];var e=[S];typeof l=="string"||Array.isArray(l)?l={brackets:l}:l||(l={});var t=l.brackets?Array.isArray(l.brackets)?l.brackets:[l.brackets]:["{}","[]","()"],a=l.escape||"___",r=!!l.flat;t.forEach(function(s){var c=new RegExp(["\\",s[0],"[^\\",s[0],"\\",s[1],"]*\\",s[1]].join("")),p=[];function f(d,y,o){var b=e.push(d.slice(s[0].length,-s[1].length))-1;return p.push(b),a+b+a}e.forEach(function(d,y){for(var o,b=0;d!=o;)if(o=d,d=d.replace(c,f),b++>1e4)throw Error("References have circular dependency. Please, check them.");e[y]=d}),p=p.reverse(),e=e.map(function(d){return p.forEach(function(y){d=d.replace(new RegExp("(\\"+a+y+"\\"+a+")","g"),s[0]+"$1"+s[1])}),d})});var n=new RegExp("\\"+a+"([0-9]+)\\"+a);function i(s,c,p){for(var f=[],d,y=0;d=n.exec(s);){if(y++>1e4)throw Error("Circular references in parenthesis");f.push(s.slice(0,d.index)),f.push(i(c[d[1]],c)),s=s.slice(d.index+d[0].length)}return f.push(s),f}return r?e:i(e[0],e)}function v(S,l){if(l&&l.flat){var e=l&&l.escape||"___",t=S[0],a;if(!t)return"";for(var r=new RegExp("\\"+e+"([0-9]+)\\"+e),n=0;t!=a;){if(n++>1e4)throw Error("Circular references in "+S);a=t,t=t.replace(r,i)}return t}return S.reduce(function s(c,p){return Array.isArray(p)&&(p=p.reduce(s,"")),c+p},"");function i(s,c){if(S[c]==null)throw Error("Reference "+c+"is undefined");return S[c]}}function w(S,l){return Array.isArray(S)?v(S,l):u(S,l)}w.parse=u,w.stringify=v,O.exports=w}}),A8=xe({"node_modules/string-split-by/index.js"(U,O){"use strict";var u=T8();O.exports=function(w,S,l){if(w==null)throw Error("First argument should be a string");if(S==null)throw Error("Separator should be a string or a RegExp");l?(typeof l=="string"||Array.isArray(l))&&(l={ignore:l}):l={},l.escape==null&&(l.escape=!0),l.ignore==null?l.ignore=["[]","()","{}","<>",'""',"''","``","\u201C\u201D","\xAB\xBB"]:(typeof l.ignore=="string"&&(l.ignore=[l.ignore]),l.ignore=l.ignore.map(function(c){return c.length===1&&(c=c+c),c}));var e=u.parse(w,{flat:!0,brackets:l.ignore}),t=e[0],a=t.split(S);if(l.escape){for(var r=[],n=0;n1&&Pt===Ft&&(Pt==='"'||Pt==="'"))return['"'+t(Ve.substr(1,Ve.length-2))+'"'];var Er=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(Ve);if(Er)return a(Ve.substr(0,Er.index)).concat(a(Er[1])).concat(a(Ve.substr(Er.index+Er[0].length)));var Xr=Ve.split(".");if(Xr.length===1)return['"'+t(Ve)+'"'];for(var Kr=[],Yr=0;Yr"u"?1:window.devicePixelRatio,Ua=!1,Wn={},Tn=function(yr){},nn=function(){};if(typeof Pt=="string"?Ft=document.querySelector(Pt):typeof Pt=="object"&&(b(Pt)?Ft=Pt:M(Pt)?(Kr=Pt,Xr=Kr.canvas):("gl"in Pt?Kr=Pt.gl:"canvas"in Pt?Xr=E(Pt.canvas):"container"in Pt&&(Er=E(Pt.container)),"attributes"in Pt&&(Yr=Pt.attributes),"extensions"in Pt&&(_a=A(Pt.extensions)),"optionalExtensions"in Pt&&(Ra=A(Pt.optionalExtensions)),"onDone"in Pt&&(Tn=Pt.onDone),"profile"in Pt&&(Ua=!!Pt.profile),"pixelRatio"in Pt&&(Ba=+Pt.pixelRatio),"cachedCode"in Pt&&(Wn=Pt.cachedCode))),Ft&&(Ft.nodeName.toLowerCase()==="canvas"?Xr=Ft:Er=Ft),!Kr){if(!Xr){var ua=y(Er||document.body,Tn,Ba);if(!ua)return null;Xr=ua.canvas,nn=ua.onDestroy}Yr.premultipliedAlpha===void 0&&(Yr.premultipliedAlpha=!0),Kr=o(Xr,Yr)}return Kr?{gl:Kr,canvas:Xr,container:Er,extensions:_a,optionalExtensions:Ra,pixelRatio:Ba,profile:Ua,cachedCode:Wn,onDone:Tn,onDestroy:nn}:(nn(),Tn("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}function T(Ve,Pt){var Ft={};function Er(Yr){var _a=Yr.toLowerCase(),Ra;try{Ra=Ft[_a]=Ve.getExtension(_a)}catch{}return!!Ra}for(var Xr=0;Xr65535)<<4,Ve>>>=Pt,Ft=(Ve>255)<<3,Ve>>>=Ft,Pt|=Ft,Ft=(Ve>15)<<2,Ve>>>=Ft,Pt|=Ft,Ft=(Ve>3)<<1,Ve>>>=Ft,Pt|=Ft,Pt|Ve>>1}function k(){var Ve=m(8,function(){return[]});function Pt(Kr){var Yr=z(Kr),_a=Ve[R(Yr)>>2];return _a.length>0?_a.pop():new ArrayBuffer(Yr)}function Ft(Kr){Ve[R(Kr.byteLength)>>2].push(Kr)}function Er(Kr,Yr){var _a=null;switch(Kr){case h:_a=new Int8Array(Pt(Yr),0,Yr);break;case x:_a=new Uint8Array(Pt(Yr),0,Yr);break;case _:_a=new Int16Array(Pt(2*Yr),0,Yr);break;case D:_a=new Uint16Array(Pt(2*Yr),0,Yr);break;case C:_a=new Int32Array(Pt(4*Yr),0,Yr);break;case F:_a=new Uint32Array(Pt(4*Yr),0,Yr);break;case I:_a=new Float32Array(Pt(4*Yr),0,Yr);break;default:return null}return _a.length!==Yr?_a.subarray(0,Yr):_a}function Xr(Kr){Ft(Kr.buffer)}return{alloc:Pt,free:Ft,allocType:Er,freeType:Xr}}var B=k();B.zero=k();var N=3408,q=3410,Y=3411,ee=3412,te=3413,ae=3414,j=3415,G=33901,K=33902,H=3379,Z=3386,X=34921,$=36347,Q=36348,re=35661,ue=35660,pe=34930,ge=36349,Te=34076,Se=34024,Ce=7936,Ue=7937,Oe=7938,_e=35724,ce=34047,ie=36063,se=34852,ne=3553,be=34067,De=34069,qe=33984,Ne=6408,ut=5126,ot=5121,yt=36160,At=36053,It=36064,Zt=16384,vr=function(Ve,Pt){var Ft=1;Pt.ext_texture_filter_anisotropic&&(Ft=Ve.getParameter(ce));var Er=1,Xr=1;Pt.webgl_draw_buffers&&(Er=Ve.getParameter(se),Xr=Ve.getParameter(ie));var Kr=!!Pt.oes_texture_float;if(Kr){var Yr=Ve.createTexture();Ve.bindTexture(ne,Yr),Ve.texImage2D(ne,0,Ne,1,1,0,Ne,ut,null);var _a=Ve.createFramebuffer();if(Ve.bindFramebuffer(yt,_a),Ve.framebufferTexture2D(yt,It,ne,Yr,0),Ve.bindTexture(ne,null),Ve.checkFramebufferStatus(yt)!==At)Kr=!1;else{Ve.viewport(0,0,1,1),Ve.clearColor(1,0,0,1),Ve.clear(Zt);var Ra=B.allocType(ut,4);Ve.readPixels(0,0,1,1,Ne,ut,Ra),Ve.getError()?Kr=!1:(Ve.deleteFramebuffer(_a),Ve.deleteTexture(Yr),Kr=Ra[0]===1),B.freeType(Ra)}}var Ba=typeof navigator<"u"&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),Ua=!0;if(!Ba){var Wn=Ve.createTexture(),Tn=B.allocType(ot,36);Ve.activeTexture(qe),Ve.bindTexture(be,Wn),Ve.texImage2D(De,0,Ne,3,3,0,Ne,ot,Tn),B.freeType(Tn),Ve.bindTexture(be,null),Ve.deleteTexture(Wn),Ua=!Ve.getError()}return{colorBits:[Ve.getParameter(q),Ve.getParameter(Y),Ve.getParameter(ee),Ve.getParameter(te)],depthBits:Ve.getParameter(ae),stencilBits:Ve.getParameter(j),subpixelBits:Ve.getParameter(N),extensions:Object.keys(Pt).filter(function(nn){return!!Pt[nn]}),maxAnisotropic:Ft,maxDrawbuffers:Er,maxColorAttachments:Xr,pointSizeDims:Ve.getParameter(G),lineWidthDims:Ve.getParameter(K),maxViewportDims:Ve.getParameter(Z),maxCombinedTextureUnits:Ve.getParameter(re),maxCubeMapSize:Ve.getParameter(Te),maxRenderbufferSize:Ve.getParameter(Se),maxTextureUnits:Ve.getParameter(pe),maxTextureSize:Ve.getParameter(H),maxAttributes:Ve.getParameter(X),maxVertexUniforms:Ve.getParameter($),maxVertexTextureUnits:Ve.getParameter(ue),maxVaryingVectors:Ve.getParameter(Q),maxFragmentUniforms:Ve.getParameter(ge),glsl:Ve.getParameter(_e),renderer:Ve.getParameter(Ue),vendor:Ve.getParameter(Ce),version:Ve.getParameter(Oe),readFloat:Kr,npotTextureCube:Ua}},Ut=function(Ve){return Ve instanceof Uint8Array||Ve instanceof Uint16Array||Ve instanceof Uint32Array||Ve instanceof Int8Array||Ve instanceof Int16Array||Ve instanceof Int32Array||Ve instanceof Float32Array||Ve instanceof Float64Array||Ve instanceof Uint8ClampedArray};function Jt(Ve){return!!Ve&&typeof Ve=="object"&&Array.isArray(Ve.shape)&&Array.isArray(Ve.stride)&&typeof Ve.offset=="number"&&Ve.shape.length===Ve.stride.length&&(Array.isArray(Ve.data)||Ut(Ve.data))}var at=function(Ve){return Object.keys(Ve).map(function(Pt){return Ve[Pt]})},Ee={shape:He,flatten:Fe};function Re(Ve,Pt,Ft){for(var Er=0;Er0){var Hn;if(Array.isArray(Qr[0])){Qa=fa(Qr);for(var ha=1,la=1;la0){if(typeof ha[0]=="number"){var qa=B.allocType(va.dtype,ha.length);oi(qa,ha),Qa(qa,vn),B.freeType(qa)}else if(Array.isArray(ha[0])||Ut(ha[0])){Za=fa(ha);var Ha=pa(ha,Za,va.dtype);Qa(Ha,vn),B.freeType(Ha)}}}else if(Jt(ha)){Za=ha.shape;var pn=ha.stride,Yn=0,si=0,Ya=0,xn=0;Za.length===1?(Yn=Za[0],si=1,Ya=pn[0],xn=0):Za.length===2&&(Yn=Za[0],si=Za[1],Ya=pn[0],xn=pn[1]);var li=Array.isArray(ha.data)?va.dtype:ka(ha.data),ui=B.allocType(li,Yn*si);$n(ui,ha.data,Yn,si,Ya,xn,ha.offset),Qa(ui,vn),B.freeType(ui)}return on}return ba||on(yr),on._reglType="buffer",on._buffer=va,on.subdata=Hn,Ft.profile&&(on.stats=va.stats),on.destroy=function(){Tn(va)},on}function ua(){at(Kr).forEach(function(yr){yr.buffer=Ve.createBuffer(),Ve.bindBuffer(yr.type,yr.buffer),Ve.bufferData(yr.type,yr.persistentData||yr.byteLength,yr.usage)})}return Ft.profile&&(Pt.getTotalBufferSize=function(){var yr=0;return Object.keys(Kr).forEach(function(Qr){yr+=Kr[Qr].stats.size}),yr}),{create:nn,createStream:Ra,destroyStream:Ba,clear:function(){at(Kr).forEach(Tn),_a.forEach(Tn)},getBuffer:function(yr){return yr&&yr._buffer instanceof Yr?yr._buffer:null},restore:ua,_initBuffer:Wn}}var ci=0,hi=0,Pi=1,Jn=1,Ti=4,_n=4,Ln={points:ci,point:hi,lines:Pi,line:Jn,triangles:Ti,triangle:_n,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},ji=0,Zi=1,un=4,rn=5120,nt=5121,Ke=5122,Qt=5123,Xt=5124,nr=5125,cr=34963,rr=35040,Ze=35044;function xt(Ve,Pt,Ft,Er){var Xr={},Kr=0,Yr={uint8:nt,uint16:Qt};Pt.oes_element_index_uint&&(Yr.uint32=nr);function _a(ua){this.id=Kr++,Xr[this.id]=this,this.buffer=ua,this.primType=un,this.vertCount=0,this.type=0}_a.prototype.bind=function(){this.buffer.bind()};var Ra=[];function Ba(ua){var yr=Ra.pop();return yr||(yr=new _a(Ft.create(null,cr,!0,!1)._buffer)),Wn(yr,ua,rr,-1,-1,0,0),yr}function Ua(ua){Ra.push(ua)}function Wn(ua,yr,Qr,ba,Fa,va,on){ua.buffer.bind();var Qa;if(yr){var Hn=on;!on&&(!Ut(yr)||Jt(yr)&&!Ut(yr.data))&&(Hn=Pt.oes_element_index_uint?nr:Qt),Ft._initBuffer(ua.buffer,yr,Qr,Hn,3)}else Ve.bufferData(cr,va,Qr),ua.buffer.dtype=Qa||nt,ua.buffer.usage=Qr,ua.buffer.dimension=3,ua.buffer.byteLength=va;if(Qa=on,!on){switch(ua.buffer.dtype){case nt:case rn:Qa=nt;break;case Qt:case Ke:Qa=Qt;break;case nr:case Xt:Qa=nr;break;default:}ua.buffer.dtype=Qa}ua.type=Qa;var ha=Fa;ha<0&&(ha=ua.buffer.byteLength,Qa===Qt?ha>>=1:Qa===nr&&(ha>>=2)),ua.vertCount=ha;var la=ba;if(ba<0){la=un;var vn=ua.buffer.dimension;vn===1&&(la=ji),vn===2&&(la=Zi),vn===3&&(la=un)}ua.primType=la}function Tn(ua){Er.elementsCount--,delete Xr[ua.id],ua.buffer.destroy(),ua.buffer=null}function nn(ua,yr){var Qr=Ft.create(null,cr,!0),ba=new _a(Qr._buffer);Er.elementsCount++;function Fa(va){if(!va)Qr(),ba.primType=un,ba.vertCount=0,ba.type=nt;else if(typeof va=="number")Qr(va),ba.primType=un,ba.vertCount=va|0,ba.type=nt;else{var on=null,Qa=Ze,Hn=-1,ha=-1,la=0,vn=0;Array.isArray(va)||Ut(va)||Jt(va)?on=va:("data"in va&&(on=va.data),"usage"in va&&(Qa=wa[va.usage]),"primitive"in va&&(Hn=Ln[va.primitive]),"count"in va&&(ha=va.count|0),"type"in va&&(vn=Yr[va.type]),"length"in va?la=va.length|0:(la=ha,vn===Qt||vn===Ke?la*=2:(vn===nr||vn===Xt)&&(la*=4))),Wn(ba,on,Qa,Hn,ha,la,vn)}return Fa}return Fa(ua),Fa._reglType="elements",Fa._elements=ba,Fa.subdata=function(va,on){return Qr.subdata(va,on),Fa},Fa.destroy=function(){Tn(ba)},Fa}return{create:nn,createStream:Ba,destroyStream:Ua,getElements:function(ua){return typeof ua=="function"&&ua._elements instanceof _a?ua._elements:null},clear:function(){at(Xr).forEach(Tn)}}}var Vt=new Float32Array(1),er=new Uint32Array(Vt.buffer),Tr=5123;function jr(Ve){for(var Pt=B.allocType(Tr,Ve.length),Ft=0;Ft>>31<<15,Kr=(Er<<1>>>24)-127,Yr=Er>>13&1023;if(Kr<-24)Pt[Ft]=Xr;else if(Kr<-14){var _a=-14-Kr;Pt[Ft]=Xr+(Yr+1024>>_a)}else Kr>15?Pt[Ft]=Xr+31744:Pt[Ft]=Xr+(Kr+15<<10)+Yr}return Pt}function Fr(Ve){return Array.isArray(Ve)||Ut(Ve)}var kr=34467,ra=3553,ja=34067,La=34069,Dn=6408,Mn=6406,_i=6407,ti=6409,Si=6410,ai=32854,Ao=32855,yo=36194,Vn=32819,Bo=32820,Mo=33635,co=34042,Ro=6402,ao=34041,Co=35904,Wo=35906,Po=36193,vi=33776,zi=33777,ho=33778,ro=33779,es=35986,Ho=35987,is=34798,as=35840,vs=35841,Yo=35842,po=35843,_s=36196,qo=5121,Io=5123,tl=5125,ts=5126,qs=10242,Xs=10243,ps=10497,ml=33071,xl=33648,fs=10240,Wl=10241,Ss=9728,ls=9729,No=9984,Do=9985,hs=9986,Jl=9987,du=33170,Ql=4352,Ou=4353,Uu=4354,Xu=34046,$u=3317,fc=37440,_c=37441,vu=37443,pu=37444,mu=33984,eu=[No,hs,Do,Jl],Vs=[0,ti,Si,_i,Dn],os={};os[ti]=os[Mn]=os[Ro]=1,os[ao]=os[Si]=2,os[_i]=os[Co]=3,os[Dn]=os[Wo]=4;function sl(Ve){return"[object "+Ve+"]"}var Tu=sl("HTMLCanvasElement"),ju=sl("OffscreenCanvas"),bc=sl("CanvasRenderingContext2D"),Hs=sl("ImageBitmap"),Af=sl("HTMLImageElement"),Xo=sl("HTMLVideoElement"),Mf=Object.keys(We).concat([Tu,ju,bc,Hs,Af,Xo]),ns=[];ns[qo]=1,ns[ts]=4,ns[Po]=2,ns[Io]=2,ns[tl]=4;var so=[];so[ai]=2,so[Ao]=2,so[yo]=2,so[ao]=4,so[vi]=.5,so[zi]=.5,so[ho]=1,so[ro]=1,so[es]=.5,so[Ho]=1,so[is]=1,so[as]=.5,so[vs]=.25,so[Yo]=.5,so[po]=.25,so[_s]=.5;function qu(Ve){return Array.isArray(Ve)&&(Ve.length===0||typeof Ve[0]=="number")}function hc(Ve){if(!Array.isArray(Ve))return!1;var Pt=Ve.length;return!(Pt===0||!Fr(Ve[0]))}function Ll(Ve){return Object.prototype.toString.call(Ve)}function Qc(Ve){return Ll(Ve)===Tu}function Au(Ve){return Ll(Ve)===ju}function Zu(Ve){return Ll(Ve)===bc}function ll(Ve){return Ll(Ve)===Hs}function ef(Ve){return Ll(Ve)===Af}function zc(Ve){return Ll(Ve)===Xo}function Ku(Ve){if(!Ve)return!1;var Pt=Ll(Ve);return Mf.indexOf(Pt)>=0?!0:qu(Ve)||hc(Ve)||Jt(Ve)}function Ju(Ve){return We[Object.prototype.toString.call(Ve)]|0}function Bc(Ve,Pt){var Ft=Pt.length;switch(Ve.type){case qo:case Io:case tl:case ts:var Er=B.allocType(Ve.type,Ft);Er.set(Pt),Ve.data=Er;break;case Po:Ve.data=jr(Pt);break;default:}}function Nc(Ve,Pt){return B.allocType(Ve.type===Po?ts:Ve.type,Pt)}function tu(Ve,Pt){Ve.type===Po?(Ve.data=jr(Pt),B.freeType(Pt)):Ve.data=Pt}function xc(Ve,Pt,Ft,Er,Xr,Kr){for(var Yr=Ve.width,_a=Ve.height,Ra=Ve.channels,Ba=Yr*_a*Ra,Ua=Nc(Ve,Ba),Wn=0,Tn=0;Tn<_a;++Tn)for(var nn=0;nn=1;)_a+=Yr*Ra*Ra,Ra/=2;return _a}else return Yr*Ft*Er}function Qu(Ve,Pt,Ft,Er,Xr,Kr,Yr){var _a={"don't care":Ql,"dont care":Ql,nice:Uu,fast:Ou},Ra={repeat:ps,clamp:ml,mirror:xl},Ba={nearest:Ss,linear:ls},Ua=u({mipmap:Jl,"nearest mipmap nearest":No,"linear mipmap nearest":Do,"nearest mipmap linear":hs,"linear mipmap linear":Jl},Ba),Wn={none:0,browser:pu},Tn={uint8:qo,rgba4:Vn,rgb565:Mo,"rgb5 a1":Bo},nn={alpha:Mn,luminance:ti,"luminance alpha":Si,rgb:_i,rgba:Dn,rgba4:ai,"rgb5 a1":Ao,rgb565:yo},ua={};Pt.ext_srgb&&(nn.srgb=Co,nn.srgba=Wo),Pt.oes_texture_float&&(Tn.float32=Tn.float=ts),Pt.oes_texture_half_float&&(Tn.float16=Tn["half float"]=Po),Pt.webgl_depth_texture&&(u(nn,{depth:Ro,"depth stencil":ao}),u(Tn,{uint16:Io,uint32:tl,"depth stencil":co})),Pt.webgl_compressed_texture_s3tc&&u(ua,{"rgb s3tc dxt1":vi,"rgba s3tc dxt1":zi,"rgba s3tc dxt3":ho,"rgba s3tc dxt5":ro}),Pt.webgl_compressed_texture_atc&&u(ua,{"rgb atc":es,"rgba atc explicit alpha":Ho,"rgba atc interpolated alpha":is}),Pt.webgl_compressed_texture_pvrtc&&u(ua,{"rgb pvrtc 4bppv1":as,"rgb pvrtc 2bppv1":vs,"rgba pvrtc 4bppv1":Yo,"rgba pvrtc 2bppv1":po}),Pt.webgl_compressed_texture_etc1&&(ua["rgb etc1"]=_s);var yr=Array.prototype.slice.call(Ve.getParameter(kr));Object.keys(ua).forEach(function(Lt){var Vr=ua[Lt];yr.indexOf(Vr)>=0&&(nn[Lt]=Vr)});var Qr=Object.keys(nn);Ft.textureFormats=Qr;var ba=[];Object.keys(nn).forEach(function(Lt){var Vr=nn[Lt];ba[Vr]=Lt});var Fa=[];Object.keys(Tn).forEach(function(Lt){var Vr=Tn[Lt];Fa[Vr]=Lt});var va=[];Object.keys(Ba).forEach(function(Lt){var Vr=Ba[Lt];va[Vr]=Lt});var on=[];Object.keys(Ua).forEach(function(Lt){var Vr=Ua[Lt];on[Vr]=Lt});var Qa=[];Object.keys(Ra).forEach(function(Lt){var Vr=Ra[Lt];Qa[Vr]=Lt});var Hn=Qr.reduce(function(Lt,Vr){var Gr=nn[Vr];return Gr===ti||Gr===Mn||Gr===ti||Gr===Si||Gr===Ro||Gr===ao||Pt.ext_srgb&&(Gr===Co||Gr===Wo)?Lt[Gr]=Gr:Gr===Ao||Vr.indexOf("rgba")>=0?Lt[Gr]=Dn:Lt[Gr]=_i,Lt},{});function ha(){this.internalformat=Dn,this.format=Dn,this.type=qo,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=pu,this.width=0,this.height=0,this.channels=0}function la(Lt,Vr){Lt.internalformat=Vr.internalformat,Lt.format=Vr.format,Lt.type=Vr.type,Lt.compressed=Vr.compressed,Lt.premultiplyAlpha=Vr.premultiplyAlpha,Lt.flipY=Vr.flipY,Lt.unpackAlignment=Vr.unpackAlignment,Lt.colorSpace=Vr.colorSpace,Lt.width=Vr.width,Lt.height=Vr.height,Lt.channels=Vr.channels}function vn(Lt,Vr){if(!(typeof Vr!="object"||!Vr)){if("premultiplyAlpha"in Vr&&(Lt.premultiplyAlpha=Vr.premultiplyAlpha),"flipY"in Vr&&(Lt.flipY=Vr.flipY),"alignment"in Vr&&(Lt.unpackAlignment=Vr.alignment),"colorSpace"in Vr&&(Lt.colorSpace=Wn[Vr.colorSpace]),"type"in Vr){var Gr=Vr.type;Lt.type=Tn[Gr]}var En=Lt.width,Hi=Lt.height,zo=Lt.channels,kn=!1;"shape"in Vr?(En=Vr.shape[0],Hi=Vr.shape[1],Vr.shape.length===3&&(zo=Vr.shape[2],kn=!0)):("radius"in Vr&&(En=Hi=Vr.radius),"width"in Vr&&(En=Vr.width),"height"in Vr&&(Hi=Vr.height),"channels"in Vr&&(zo=Vr.channels,kn=!0)),Lt.width=En|0,Lt.height=Hi|0,Lt.channels=zo|0;var wt=!1;if("format"in Vr){var Rt=Vr.format,Kt=Lt.internalformat=nn[Rt];Lt.format=Hn[Kt],Rt in Tn&&("type"in Vr||(Lt.type=Tn[Rt])),Rt in ua&&(Lt.compressed=!0),wt=!0}!kn&&wt?Lt.channels=os[Lt.format]:kn&&!wt&&Lt.channels!==Vs[Lt.format]&&(Lt.format=Lt.internalformat=Vs[Lt.channels])}}function Za(Lt){Ve.pixelStorei(fc,Lt.flipY),Ve.pixelStorei(_c,Lt.premultiplyAlpha),Ve.pixelStorei(vu,Lt.colorSpace),Ve.pixelStorei($u,Lt.unpackAlignment)}function qa(){ha.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function Ha(Lt,Vr){var Gr=null;if(Ku(Vr)?Gr=Vr:Vr&&(vn(Lt,Vr),"x"in Vr&&(Lt.xOffset=Vr.x|0),"y"in Vr&&(Lt.yOffset=Vr.y|0),Ku(Vr.data)&&(Gr=Vr.data)),Vr.copy){var En=Xr.viewportWidth,Hi=Xr.viewportHeight;Lt.width=Lt.width||En-Lt.xOffset,Lt.height=Lt.height||Hi-Lt.yOffset,Lt.needsCopy=!0}else if(!Gr)Lt.width=Lt.width||1,Lt.height=Lt.height||1,Lt.channels=Lt.channels||4;else if(Ut(Gr))Lt.channels=Lt.channels||4,Lt.data=Gr,!("type"in Vr)&&Lt.type===qo&&(Lt.type=Ju(Gr));else if(qu(Gr))Lt.channels=Lt.channels||4,Bc(Lt,Gr),Lt.alignment=1,Lt.needsFree=!0;else if(Jt(Gr)){var zo=Gr.data;!Array.isArray(zo)&&Lt.type===qo&&(Lt.type=Ju(zo));var kn=Gr.shape,wt=Gr.stride,Rt,Kt,Or,Jr,br,mr;kn.length===3?(Or=kn[2],mr=wt[2]):(Or=1,mr=1),Rt=kn[0],Kt=kn[1],Jr=wt[0],br=wt[1],Lt.alignment=1,Lt.width=Rt,Lt.height=Kt,Lt.channels=Or,Lt.format=Lt.internalformat=Vs[Or],Lt.needsFree=!0,xc(Lt,zo,Jr,br,mr,Gr.offset)}else if(Qc(Gr)||Au(Gr)||Zu(Gr))Qc(Gr)||Au(Gr)?Lt.element=Gr:Lt.element=Gr.canvas,Lt.width=Lt.element.width,Lt.height=Lt.element.height,Lt.channels=4;else if(ll(Gr))Lt.element=Gr,Lt.width=Gr.width,Lt.height=Gr.height,Lt.channels=4;else if(ef(Gr))Lt.element=Gr,Lt.width=Gr.naturalWidth,Lt.height=Gr.naturalHeight,Lt.channels=4;else if(zc(Gr))Lt.element=Gr,Lt.width=Gr.videoWidth,Lt.height=Gr.videoHeight,Lt.channels=4;else if(hc(Gr)){var or=Lt.width||Gr[0].length,Yt=Lt.height||Gr.length,ar=Lt.channels;Fr(Gr[0][0])?ar=ar||Gr[0][0].length:ar=ar||1;for(var Nt=Ee.shape(Gr),Cr=1,ta=0;ta>=Hi,Gr.height>>=Hi,Ha(Gr,En[Hi]),Lt.mipmask|=1<=0&&!("faces"in Vr)&&(Lt.genMipmaps=!0)}if("mag"in Vr){var En=Vr.mag;Lt.magFilter=Ba[En]}var Hi=Lt.wrapS,zo=Lt.wrapT;if("wrap"in Vr){var kn=Vr.wrap;typeof kn=="string"?Hi=zo=Ra[kn]:Array.isArray(kn)&&(Hi=Ra[kn[0]],zo=Ra[kn[1]])}else{if("wrapS"in Vr){var wt=Vr.wrapS;Hi=Ra[wt]}if("wrapT"in Vr){var Rt=Vr.wrapT;zo=Ra[Rt]}}if(Lt.wrapS=Hi,Lt.wrapT=zo,"anisotropic"in Vr){var Kt=Vr.anisotropic;Lt.anisotropic=Vr.anisotropic}if("mipmap"in Vr){var Or=!1;switch(typeof Vr.mipmap){case"string":Lt.mipmapHint=_a[Vr.mipmap],Lt.genMipmaps=!0,Or=!0;break;case"boolean":Or=Lt.genMipmaps=Vr.mipmap;break;case"object":Lt.genMipmaps=!1,Or=!0;break;default:}Or&&!("min"in Vr)&&(Lt.minFilter=No)}}function Ns(Lt,Vr){Ve.texParameteri(Vr,Wl,Lt.minFilter),Ve.texParameteri(Vr,fs,Lt.magFilter),Ve.texParameteri(Vr,qs,Lt.wrapS),Ve.texParameteri(Vr,Xs,Lt.wrapT),Pt.ext_texture_filter_anisotropic&&Ve.texParameteri(Vr,Xu,Lt.anisotropic),Lt.genMipmaps&&(Ve.hint(du,Lt.mipmapHint),Ve.generateMipmap(Vr))}var nl=0,As={},Ms=Ft.maxTextureUnits,Ps=Array(Ms).map(function(){return null});function Ai(Lt){ha.call(this),this.mipmask=0,this.internalformat=Dn,this.id=nl++,this.refCount=1,this.target=Lt,this.texture=Ve.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new Fo,Yr.profile&&(this.stats={size:0})}function Os(Lt){Ve.activeTexture(mu),Ve.bindTexture(Lt.target,Lt.texture)}function jo(){var Lt=Ps[0];Lt?Ve.bindTexture(Lt.target,Lt.texture):Ve.bindTexture(ra,null)}function fl(Lt){var Vr=Lt.texture,Gr=Lt.unit,En=Lt.target;Gr>=0&&(Ve.activeTexture(mu+Gr),Ve.bindTexture(En,null),Ps[Gr]=null),Ve.deleteTexture(Vr),Lt.texture=null,Lt.params=null,Lt.pixels=null,Lt.refCount=0,delete As[Lt.id],Kr.textureCount--}u(Ai.prototype,{bind:function(){var Lt=this;Lt.bindCount+=1;var Vr=Lt.unit;if(Vr<0){for(var Gr=0;Gr0)continue;En.unit=-1}Ps[Gr]=Lt,Vr=Gr;break}Vr>=Ms,Yr.profile&&Kr.maxTextureUnits>br)-Or,mr.height=mr.height||(Gr.height>>br)-Jr,Os(Gr),Yn(mr,ra,Or,Jr,br),jo(),xn(mr),En}function zo(kn,wt){var Rt=kn|0,Kt=wt|0||Rt;if(Rt===Gr.width&&Kt===Gr.height)return En;En.width=Gr.width=Rt,En.height=Gr.height=Kt,Os(Gr);for(var Or=0;Gr.mipmask>>Or;++Or){var Jr=Rt>>Or,br=Kt>>Or;if(!Jr||!br)break;Ve.texImage2D(ra,Or,Gr.format,Jr,br,0,Gr.format,Gr.type,null)}return jo(),Yr.profile&&(Gr.stats.size=ru(Gr.internalformat,Gr.type,Rt,Kt,!1,!1)),En}return En(Lt,Vr),En.subimage=Hi,En.resize=zo,En._reglType="texture2d",En._texture=Gr,Yr.profile&&(En.stats=Gr.stats),En.destroy=function(){Gr.decRef()},En}function Sl(Lt,Vr,Gr,En,Hi,zo){var kn=new Ai(ja);As[kn.id]=kn,Kr.cubeCount++;var wt=new Array(6);function Rt(Jr,br,mr,or,Yt,ar){var Nt,Cr=kn.texInfo;for(Fo.call(Cr),Nt=0;Nt<6;++Nt)wt[Nt]=Wi();if(typeof Jr=="number"||!Jr){var ta=Jr|0||1;for(Nt=0;Nt<6;++Nt)ui(wt[Nt],ta,ta)}else if(typeof Jr=="object")if(br)Ri(wt[0],Jr),Ri(wt[1],br),Ri(wt[2],mr),Ri(wt[3],or),Ri(wt[4],Yt),Ri(wt[5],ar);else if(Js(Cr,Jr),vn(kn,Jr),"faces"in Jr){var xa=Jr.faces;for(Nt=0;Nt<6;++Nt)la(wt[Nt],kn),Ri(wt[Nt],xa[Nt])}else for(Nt=0;Nt<6;++Nt)Ri(wt[Nt],Jr);for(la(kn,wt[0]),Cr.genMipmaps?kn.mipmask=(wt[0].width<<1)-1:kn.mipmask=wt[0].mipmask,kn.internalformat=wt[0].internalformat,Rt.width=wt[0].width,Rt.height=wt[0].height,Os(kn),Nt=0;Nt<6;++Nt)cs(wt[Nt],La+Nt);for(Ns(Cr,ja),jo(),Yr.profile&&(kn.stats.size=ru(kn.internalformat,kn.type,Rt.width,Rt.height,Cr.genMipmaps,!0)),Rt.format=ba[kn.internalformat],Rt.type=Fa[kn.type],Rt.mag=va[Cr.magFilter],Rt.min=on[Cr.minFilter],Rt.wrapS=Qa[Cr.wrapS],Rt.wrapT=Qa[Cr.wrapT],Nt=0;Nt<6;++Nt)Ml(wt[Nt]);return Rt}function Kt(Jr,br,mr,or,Yt){var ar=mr|0,Nt=or|0,Cr=Yt|0,ta=Ya();return la(ta,kn),ta.width=0,ta.height=0,Ha(ta,br),ta.width=ta.width||(kn.width>>Cr)-ar,ta.height=ta.height||(kn.height>>Cr)-Nt,Os(kn),Yn(ta,La+Jr,ar,Nt,Cr),jo(),xn(ta),Rt}function Or(Jr){var br=Jr|0;if(br!==kn.width){Rt.width=kn.width=br,Rt.height=kn.height=br,Os(kn);for(var mr=0;mr<6;++mr)for(var or=0;kn.mipmask>>or;++or)Ve.texImage2D(La+mr,or,kn.format,br>>or,br>>or,0,kn.format,kn.type,null);return jo(),Yr.profile&&(kn.stats.size=ru(kn.internalformat,kn.type,Rt.width,Rt.height,!1,!0)),Rt}}return Rt(Lt,Vr,Gr,En,Hi,zo),Rt.subimage=Kt,Rt.resize=Or,Rt._reglType="textureCube",Rt._texture=kn,Yr.profile&&(Rt.stats=kn.stats),Rt.destroy=function(){kn.decRef()},Rt}function di(){for(var Lt=0;Lt>En,Gr.height>>En,0,Gr.internalformat,Gr.type,null);else for(var Hi=0;Hi<6;++Hi)Ve.texImage2D(La+Hi,En,Gr.internalformat,Gr.width>>En,Gr.height>>En,0,Gr.internalformat,Gr.type,null);Ns(Gr.texInfo,Gr.target)})}function lo(){for(var Lt=0;Lt=0?Ml=!0:Ra.indexOf(Fo)>=0&&(Ml=!1))),("depthTexture"in Ai||"depthStencilTexture"in Ai)&&(Ps=!!(Ai.depthTexture||Ai.depthStencilTexture)),"depth"in Ai&&(typeof Ai.depth=="boolean"?cs=Ai.depth:(nl=Ai.depth,Ls=!1)),"stencil"in Ai&&(typeof Ai.stencil=="boolean"?Ls=Ai.stencil:(As=Ai.stencil,cs=!1)),"depthStencil"in Ai&&(typeof Ai.depthStencil=="boolean"?cs=Ls=Ai.depthStencil:(Ms=Ai.depthStencil,cs=!1,Ls=!1))}var jo=null,fl=null,hl=null,Sl=null;if(Array.isArray(Wi))jo=Wi.map(ua);else if(Wi)jo=[ua(Wi)];else for(jo=new Array(Ns),li=0;li0&&(xn.depth=Ha[0].depth,xn.stencil=Ha[0].stencil,xn.depthStencil=Ha[0].depthStencil),Ha[Ya]?Ha[Ya](xn):Ha[Ya]=la(xn)}return u(pn,{width:li,height:li,color:Fo})}function Yn(si){var Ya,xn=si|0;if(xn===pn.width)return pn;var li=pn.color;for(Ya=0;Ya=li.byteLength?ui.subdata(li):(ui.destroy(),la.buffers[si]=null)),la.buffers[si]||(ui=la.buffers[si]=Xr.create(Ya,Uc,!1,!0)),xn.buffer=Xr.getBuffer(ui),xn.size=xn.buffer.dimension|0,xn.normalized=!1,xn.type=xn.buffer.dtype,xn.offset=0,xn.stride=0,xn.divisor=0,xn.state=1,pn[si]=1}else Xr.getBuffer(Ya)?(xn.buffer=Xr.getBuffer(Ya),xn.size=xn.buffer.dimension|0,xn.normalized=!1,xn.type=xn.buffer.dtype,xn.offset=0,xn.stride=0,xn.divisor=0,xn.state=1):Xr.getBuffer(Ya.buffer)?(xn.buffer=Xr.getBuffer(Ya.buffer),xn.size=(+Ya.size||xn.buffer.dimension)|0,xn.normalized=!!Ya.normalized||!1,"type"in Ya?xn.type=$r[Ya.type]:xn.type=xn.buffer.dtype,xn.offset=(Ya.offset||0)|0,xn.stride=(Ya.stride||0)|0,xn.divisor=(Ya.divisor||0)|0,xn.state=1):"x"in Ya&&(xn.x=+Ya.x||0,xn.y=+Ya.y||0,xn.z=+Ya.z||0,xn.w=+Ya.w||0,xn.state=2)}for(var Ri=0;Ri1)for(var Za=0;Zayr&&(yr=Qr.stats.uniformsCount)}),yr},Ft.getMaxAttributesCount=function(){var yr=0;return Ua.forEach(function(Qr){Qr.stats.attributesCount>yr&&(yr=Qr.stats.attributesCount)}),yr});function ua(){Xr={},Kr={};for(var yr=0;yr16&&(Ft=Wa(Ft,Ve.length*8));for(var Er=Array(16),Xr=Array(16),Kr=0;Kr<16;Kr++)Er[Kr]=Ft[Kr]^909522486,Xr[Kr]=Ft[Kr]^1549556828;var Yr=Wa(Er.concat(Fu(Pt)),512+Pt.length*8);return Mt(Wa(Xr.concat(Yr),768))}function Su(Ve){for(var Pt=Cf?"0123456789ABCDEF":"0123456789abcdef",Ft="",Er,Xr=0;Xr>>4&15)+Pt.charAt(Er&15);return Ft}function lf(Ve){for(var Pt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ft="",Er=Ve.length,Xr=0;XrVe.length*8?Ft+=Mc:Ft+=Pt.charAt(Kr>>>6*(3-Yr)&63);return Ft}function Lf(Ve,Pt){var Ft=Pt.length,Er=Array(),Xr,Kr,Yr,_a,Ra=Array(Math.ceil(Ve.length/2));for(Xr=0;Xr0;){for(_a=Array(),Yr=0,Xr=0;Xr0||Kr>0)&&(_a[_a.length]=Kr);Er[Er.length]=Yr,Ra=_a}var Ba="";for(Xr=Er.length-1;Xr>=0;Xr--)Ba+=Pt.charAt(Er[Xr]);var Ua=Math.ceil(Ve.length*8/(Math.log(Pt.length)/Math.log(2)));for(Xr=Ba.length;Xr>>6&31,128|Er&63):Er<=65535?Pt+=String.fromCharCode(224|Er>>>12&15,128|Er>>>6&63,128|Er&63):Er<=2097151&&(Pt+=String.fromCharCode(240|Er>>>18&7,128|Er>>>12&63,128|Er>>>6&63,128|Er&63));return Pt}function Fu(Ve){for(var Pt=Array(Ve.length>>2),Ft=0;Ft>5]|=(Ve.charCodeAt(Ft/8)&255)<<24-Ft%32;return Pt}function Mt(Ve){for(var Pt="",Ft=0;Ft>5]>>>24-Ft%32&255);return Pt}function jt(Ve,Pt){return Ve>>>Pt|Ve<<32-Pt}function _r(Ve,Pt){return Ve>>>Pt}function dr(Ve,Pt,Ft){return Ve&Pt^~Ve&Ft}function ea(Ve,Pt,Ft){return Ve&Pt^Ve&Ft^Pt&Ft}function Aa(Ve){return jt(Ve,2)^jt(Ve,13)^jt(Ve,22)}function Ga(Ve){return jt(Ve,6)^jt(Ve,11)^jt(Ve,25)}function fn(Ve){return jt(Ve,7)^jt(Ve,18)^_r(Ve,3)}function gn(Ve){return jt(Ve,17)^jt(Ve,19)^_r(Ve,10)}var qn=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 Wa(Ve,Pt){var Ft=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),Er=new Array(64),Xr,Kr,Yr,_a,Ra,Ba,Ua,Wn,Tn,nn,ua,yr;for(Ve[Pt>>5]|=128<<24-Pt%32,Ve[(Pt+64>>9<<4)+15]=Pt,Tn=0;Tn>16)+(Pt>>16)+(Ft>>16);return Er<<16|Ft&65535}function sn(Ve){return Array.prototype.slice.call(Ve)}function Pa(Ve){return sn(Ve).join("")}function Qn(Ve){var Pt=Ve&&Ve.cache,Ft=0,Er=[],Xr=[],Kr=[];function Yr(ua,yr){var Qr=yr&&yr.stable;if(!Qr){for(var ba=0;ba0&&(ua.push(Fa,"="),ua.push.apply(ua,sn(arguments)),ua.push(";")),Fa}return u(yr,{def:ba,toString:function(){return Pa([Qr.length>0?"var "+Qr.join(",")+";":"",Pa(ua)])}})}function Ra(){var ua=_a(),yr=_a(),Qr=ua.toString,ba=yr.toString;function Fa(va,on){yr(va,on,"=",ua.def(va,on),";")}return u(function(){ua.apply(ua,sn(arguments))},{def:ua.def,entry:ua,exit:yr,save:Fa,set:function(va,on,Qa){Fa(va,on),ua(va,on,"=",Qa,";")},toString:function(){return Qr()+ba()}})}function Ba(){var ua=Pa(arguments),yr=Ra(),Qr=Ra(),ba=yr.toString,Fa=Qr.toString;return u(yr,{then:function(){return yr.apply(yr,sn(arguments)),this},else:function(){return Qr.apply(Qr,sn(arguments)),this},toString:function(){var va=Fa();return va&&(va="else{"+va+"}"),Pa(["if(",ua,"){",ba(),"}",va])}})}var Ua=_a(),Wn={};function Tn(ua,yr){var Qr=[];function ba(){var Hn="a"+Qr.length;return Qr.push(Hn),Hn}yr=yr||0;for(var Fa=0;Fa":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},oa={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},ma={cw:Be,ccw:$e};function Ma(Ve){return Array.isArray(Ve)||Ut(Ve)||Jt(Ve)}function Ca(Ve){return Ve.sort(function(Pt,Ft){return Pt===de?-1:Ft===de?1:Pt=1,Er>=2,Pt)}else if(Ft===Go){var Xr=Ve.data;return new aa(Xr.thisDep,Xr.contextDep,Xr.propDep,Pt)}else{if(Ft===bs)return new aa(!1,!1,!1,Pt);if(Ft===Jo){for(var Kr=!1,Yr=!1,_a=!1,Ra=0;Ra=1&&(Yr=!0),Ua>=2&&(_a=!0)}else Ba.type===Go&&(Kr=Kr||Ba.data.thisDep,Yr=Yr||Ba.data.contextDep,_a=_a||Ba.data.propDep)}return new aa(Kr,Yr,_a,Pt)}else return new aa(Ft===wo,Ft===no,Ft===Rn,Pt)}}var xi=new aa(!1,!1,!1,function(){});function Ui(Ve,Pt,Ft,Er,Xr,Kr,Yr,_a,Ra,Ba,Ua,Wn,Tn,nn,ua,yr){var Qr=Ba.Record,ba={add:32774,subtract:32778,"reverse subtract":32779};Ft.ext_blend_minmax&&(ba.min=Je,ba.max=it);var Fa=Ft.angle_instanced_arrays,va=Ft.webgl_draw_buffers,on=Ft.oes_vertex_array_object,Qa={dirty:!0,profile:yr.profile},Hn={},ha=[],la={},vn={};function Za(wt){return wt.replace(".","_")}function qa(wt,Rt,Kt){var Or=Za(wt);ha.push(wt),Hn[Or]=Qa[Or]=!!Kt,la[Or]=Rt}function Ha(wt,Rt,Kt){var Or=Za(wt);ha.push(wt),Array.isArray(Kt)?(Qa[Or]=Kt.slice(),Hn[Or]=Kt.slice()):Qa[Or]=Hn[Or]=Kt,vn[Or]=Rt}function pn(wt){return!!isNaN(wt)}qa(Es,Sa),qa(Vo,ia),Ha(yl,"blendColor",[0,0,0,0]),Ha(Ws,"blendEquationSeparate",[ur,ur]),Ha(xs,"blendFuncSeparate",[sr,qt,sr,qt]),qa(bi,an,!0),Ha(ss,"depthFunc",qr),Ha(ms,"depthRange",[0,1]),Ha($o,"depthMask",!0),Ha(ul,ul,[!0,!0,!0,!0]),qa(yu,Wr),Ha(iu,"cullFace",we),Ha(zu,zu,$e),Ha(Tl,Tl,1),qa(Eu,ei),Ha(Al,"polygonOffset",[0,0]),qa(nc,Mi),qa(Xi,pi),Ha(vo,"sampleCoverage",[1,!1]),qa(mf,ln),Ha(kc,"stencilMask",-1),Ha(ou,"stencilFunc",[Ct,0,-1]),Ha(Me,"stencilOpSeparate",[le,bt,bt,bt]),Ha(L,"stencilOpSeparate",[we,bt,bt,bt]),qa(J,wn),Ha(fe,"scissor",[0,0,Ve.drawingBufferWidth,Ve.drawingBufferHeight]),Ha(de,de,[0,0,Ve.drawingBufferWidth,Ve.drawingBufferHeight]);var Yn={gl:Ve,context:Tn,strings:Pt,next:Hn,current:Qa,draw:Wn,elements:Kr,buffer:Xr,shader:Ua,attributes:Ba.state,vao:Ba,uniforms:Ra,framebuffer:_a,extensions:Ft,timer:nn,isBufferArgs:Ma},si={primTypes:Ln,compareFuncs:Zr,blendFuncs:Ea,blendEquations:ba,stencilOps:oa,glTypes:$r,orientationType:ma};va&&(si.backBuffer=[we],si.drawBuffer=m(Er.maxDrawbuffers,function(wt){return wt===0?[0]:m(wt,function(Rt){return ya+Rt})}));var Ya=0;function xn(){var wt=Qn({cache:ua}),Rt=wt.link,Kt=wt.global;wt.id=Ya++,wt.batchId="0";var Or=Rt(Yn),Jr=wt.shared={props:"a0"};Object.keys(Yn).forEach(function(ar){Jr[ar]=Kt.def(Or,".",ar)});var br=wt.next={},mr=wt.current={};Object.keys(vn).forEach(function(ar){Array.isArray(Qa[ar])&&(br[ar]=Kt.def(Jr.next,".",ar),mr[ar]=Kt.def(Jr.current,".",ar))});var or=wt.constants={};Object.keys(si).forEach(function(ar){or[ar]=Kt.def(JSON.stringify(si[ar]))}),wt.invoke=function(ar,Nt){switch(Nt.type){case ni:var Cr=["this",Jr.context,Jr.props,wt.batchId];return ar.def(Rt(Nt.data),".call(",Cr.slice(0,Math.max(Nt.data.length+1,4)),")");case Rn:return ar.def(Jr.props,Nt.data);case no:return ar.def(Jr.context,Nt.data);case wo:return ar.def("this",Nt.data);case Go:return Nt.data.append(wt,ar),Nt.data.ref;case bs:return Nt.data.toString();case Jo:return Nt.data.map(function(ta){return wt.invoke(ar,ta)})}},wt.attribCache={};var Yt={};return wt.scopeAttrib=function(ar){var Nt=Pt.id(ar);if(Nt in Yt)return Yt[Nt];var Cr=Ba.scope[Nt];Cr||(Cr=Ba.scope[Nt]=new Qr);var ta=Yt[Nt]=Rt(Cr);return ta},wt}function li(wt){var Rt=wt.static,Kt=wt.dynamic,Or;if(Ae in Rt){var Jr=!!Rt[Ae];Or=Bn(function(mr,or){return Jr}),Or.enable=Jr}else if(Ae in Kt){var br=Kt[Ae];Or=ri(br,function(mr,or){return mr.invoke(or,br)})}return Or}function ui(wt,Rt){var Kt=wt.static,Or=wt.dynamic;if(Ye in Kt){var Jr=Kt[Ye];return Jr?(Jr=_a.getFramebuffer(Jr),Bn(function(mr,or){var Yt=mr.link(Jr),ar=mr.shared;or.set(ar.framebuffer,".next",Yt);var Nt=ar.context;return or.set(Nt,"."+Xe,Yt+".width"),or.set(Nt,"."+st,Yt+".height"),Yt})):Bn(function(mr,or){var Yt=mr.shared;or.set(Yt.framebuffer,".next","null");var ar=Yt.context;return or.set(ar,"."+Xe,ar+"."+Ot),or.set(ar,"."+st,ar+"."+$t),"null"})}else if(Ye in Or){var br=Or[Ye];return ri(br,function(mr,or){var Yt=mr.invoke(or,br),ar=mr.shared,Nt=ar.framebuffer,Cr=or.def(Nt,".getFramebuffer(",Yt,")");or.set(Nt,".next",Cr);var ta=ar.context;return or.set(ta,"."+Xe,Cr+"?"+Cr+".width:"+ta+"."+Ot),or.set(ta,"."+st,Cr+"?"+Cr+".height:"+ta+"."+$t),Cr})}else return null}function Ri(wt,Rt,Kt){var Or=wt.static,Jr=wt.dynamic;function br(Yt){if(Yt in Or){var ar=Or[Yt],Nt=!0,Cr=ar.x|0,ta=ar.y|0,xa,Zn;return"width"in ar?xa=ar.width|0:Nt=!1,"height"in ar?Zn=ar.height|0:Nt=!1,new aa(!Nt&&Rt&&Rt.thisDep,!Nt&&Rt&&Rt.contextDep,!Nt&&Rt&&Rt.propDep,function(Xn,On){var Fn=Xn.shared.context,hn=xa;"width"in ar||(hn=On.def(Fn,".",Xe,"-",Cr));var Cn=Zn;return"height"in ar||(Cn=On.def(Fn,".",st,"-",ta)),[Cr,ta,hn,Cn]})}else if(Yt in Jr){var mn=Jr[Yt],dn=ri(mn,function(Xn,On){var Fn=Xn.invoke(On,mn),hn=Xn.shared.context,Cn=On.def(Fn,".x|0"),In=On.def(Fn,".y|0"),fi=On.def('"width" in ',Fn,"?",Fn,".width|0:","(",hn,".",Xe,"-",Cn,")"),Ko=On.def('"height" in ',Fn,"?",Fn,".height|0:","(",hn,".",st,"-",In,")");return[Cn,In,fi,Ko]});return Rt&&(dn.thisDep=dn.thisDep||Rt.thisDep,dn.contextDep=dn.contextDep||Rt.contextDep,dn.propDep=dn.propDep||Rt.propDep),dn}else return Rt?new aa(Rt.thisDep,Rt.contextDep,Rt.propDep,function(Xn,On){var Fn=Xn.shared.context;return[0,0,On.def(Fn,".",Xe),On.def(Fn,".",st)]}):null}var mr=br(de);if(mr){var or=mr;mr=new aa(mr.thisDep,mr.contextDep,mr.propDep,function(Yt,ar){var Nt=or.append(Yt,ar),Cr=Yt.shared.context;return ar.set(Cr,"."+Qe,Nt[2]),ar.set(Cr,"."+ht,Nt[3]),Nt})}return{viewport:mr,scissor_box:br(fe)}}function cs(wt,Rt){var Kt=wt.static,Or=typeof Kt[dt]=="string"&&typeof Kt[et]=="string";if(Or){if(Object.keys(Rt.dynamic).length>0)return null;var Jr=Rt.static,br=Object.keys(Jr);if(br.length>0&&typeof Jr[br[0]]=="number"){for(var mr=[],or=0;or"+Cn+"?"+Nt+".constant["+Cn+"]:0;"}).join(""),"}}else{","if(",xa,"(",Nt,".buffer)){",Xn,"=",Zn,".createStream(",pr,",",Nt,".buffer);","}else{",Xn,"=",Zn,".getBuffer(",Nt,".buffer);","}",On,'="type" in ',Nt,"?",ta.glTypes,"[",Nt,".type]:",Xn,".dtype;",mn.normalized,"=!!",Nt,".normalized;");function Fn(hn){ar(mn[hn],"=",Nt,".",hn,"|0;")}return Fn("size"),Fn("offset"),Fn("stride"),Fn("divisor"),ar("}}"),ar.exit("if(",mn.isStream,"){",Zn,".destroyStream(",Xn,");","}"),mn}Jr[br]=ri(mr,or)}),Jr}function Ns(wt){var Rt=wt.static,Kt=wt.dynamic,Or={};return Object.keys(Rt).forEach(function(Jr){var br=Rt[Jr];Or[Jr]=Bn(function(mr,or){return typeof br=="number"||typeof br=="boolean"?""+br:mr.link(br)})}),Object.keys(Kt).forEach(function(Jr){var br=Kt[Jr];Or[Jr]=ri(br,function(mr,or){return mr.invoke(or,br)})}),Or}function nl(wt,Rt,Kt,Or,Jr){var br=wt.static,mr=wt.dynamic,or=cs(wt,Rt),Yt=ui(wt,Jr),ar=Ri(wt,Yt,Jr),Nt=Wi(wt,Jr),Cr=Ml(wt,Jr),ta=Ls(wt,Jr,or);function xa(Fn){var hn=ar[Fn];hn&&(Cr[Fn]=hn)}xa(de),xa(Za(fe));var Zn=Object.keys(Cr).length>0,mn={framebuffer:Yt,draw:Nt,shader:ta,state:Cr,dirty:Zn,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(mn.profile=li(wt,Jr),mn.uniforms=Fo(Kt,Jr),mn.drawVAO=mn.scopeVAO=Nt.vao,!mn.drawVAO&&ta.program&&!or&&Ft.angle_instanced_arrays&&Nt.static.elements){var dn=!0,Xn=ta.program.attributes.map(function(Fn){var hn=Rt.static[Fn];return dn=dn&&!!hn,hn});if(dn&&Xn.length>0){var On=Ba.getVAO(Ba.createVAO({attributes:Xn,elements:Nt.static.elements}));mn.drawVAO=new aa(null,null,null,function(Fn,hn){return Fn.link(On)}),mn.useVAO=!0}}return or?mn.useVAO=!0:mn.attributes=Js(Rt,Jr),mn.context=Ns(Or,Jr),mn}function As(wt,Rt,Kt){var Or=wt.shared,Jr=Or.context,br=wt.scope();Object.keys(Kt).forEach(function(mr){Rt.save(Jr,"."+mr);var or=Kt[mr],Yt=or.append(wt,Rt);Array.isArray(Yt)?br(Jr,".",mr,"=[",Yt.join(),"];"):br(Jr,".",mr,"=",Yt,";")}),Rt(br)}function Ms(wt,Rt,Kt,Or){var Jr=wt.shared,br=Jr.gl,mr=Jr.framebuffer,or;va&&(or=Rt.def(Jr.extensions,".webgl_draw_buffers"));var Yt=wt.constants,ar=Yt.drawBuffer,Nt=Yt.backBuffer,Cr;Kt?Cr=Kt.append(wt,Rt):Cr=Rt.def(mr,".next"),Or||Rt("if(",Cr,"!==",mr,".cur){"),Rt("if(",Cr,"){",br,".bindFramebuffer(",Nr,",",Cr,".framebuffer);"),va&&Rt(or,".drawBuffersWEBGL(",ar,"[",Cr,".colorAttachments.length]);"),Rt("}else{",br,".bindFramebuffer(",Nr,",null);"),va&&Rt(or,".drawBuffersWEBGL(",Nt,");"),Rt("}",mr,".cur=",Cr,";"),Or||Rt("}")}function Ps(wt,Rt,Kt){var Or=wt.shared,Jr=Or.gl,br=wt.current,mr=wt.next,or=Or.current,Yt=Or.next,ar=wt.cond(or,".dirty");ha.forEach(function(Nt){var Cr=Za(Nt);if(!(Cr in Kt.state)){var ta,xa;if(Cr in mr){ta=mr[Cr],xa=br[Cr];var Zn=m(Qa[Cr].length,function(dn){return ar.def(ta,"[",dn,"]")});ar(wt.cond(Zn.map(function(dn,Xn){return dn+"!=="+xa+"["+Xn+"]"}).join("||")).then(Jr,".",vn[Cr],"(",Zn,");",Zn.map(function(dn,Xn){return xa+"["+Xn+"]="+dn}).join(";"),";"))}else{ta=ar.def(Yt,".",Cr);var mn=wt.cond(ta,"!==",or,".",Cr);ar(mn),Cr in la?mn(wt.cond(ta).then(Jr,".enable(",la[Cr],");").else(Jr,".disable(",la[Cr],");"),or,".",Cr,"=",ta,";"):mn(Jr,".",vn[Cr],"(",ta,");",or,".",Cr,"=",ta,";")}}}),Object.keys(Kt.state).length===0&&ar(or,".dirty=false;"),Rt(ar)}function Ai(wt,Rt,Kt,Or){var Jr=wt.shared,br=wt.current,mr=Jr.current,or=Jr.gl,Yt;Ca(Object.keys(Kt)).forEach(function(ar){var Nt=Kt[ar];if(!(Or&&!Or(Nt))){var Cr=Nt.append(wt,Rt);if(la[ar]){var ta=la[ar];Sn(Nt)?(Yt=wt.link(Cr,{stable:!0}),Rt(wt.cond(Yt).then(or,".enable(",ta,");").else(or,".disable(",ta,");")),Rt(mr,".",ar,"=",Yt,";")):(Rt(wt.cond(Cr).then(or,".enable(",ta,");").else(or,".disable(",ta,");")),Rt(mr,".",ar,"=",Cr,";"))}else if(Fr(Cr)){var xa=br[ar];Rt(or,".",vn[ar],"(",Cr,");",Cr.map(function(Zn,mn){return xa+"["+mn+"]="+Zn}).join(";"),";")}else Sn(Nt)?(Yt=wt.link(Cr,{stable:!0}),Rt(or,".",vn[ar],"(",Yt,");",mr,".",ar,"=",Yt,";")):Rt(or,".",vn[ar],"(",Cr,");",mr,".",ar,"=",Cr,";")}})}function Os(wt,Rt){Fa&&(wt.instancing=Rt.def(wt.shared.extensions,".angle_instanced_arrays"))}function jo(wt,Rt,Kt,Or,Jr){var br=wt.shared,mr=wt.stats,or=br.current,Yt=br.timer,ar=Kt.profile;function Nt(){return typeof performance>"u"?"Date.now()":"performance.now()"}var Cr,ta;function xa(Fn){Cr=Rt.def(),Fn(Cr,"=",Nt(),";"),typeof Jr=="string"?Fn(mr,".count+=",Jr,";"):Fn(mr,".count++;"),nn&&(Or?(ta=Rt.def(),Fn(ta,"=",Yt,".getNumPendingQueries();")):Fn(Yt,".beginQuery(",mr,");"))}function Zn(Fn){Fn(mr,".cpuTime+=",Nt(),"-",Cr,";"),nn&&(Or?Fn(Yt,".pushScopeStats(",ta,",",Yt,".getNumPendingQueries(),",mr,");"):Fn(Yt,".endQuery();"))}function mn(Fn){var hn=Rt.def(or,".profile");Rt(or,".profile=",Fn,";"),Rt.exit(or,".profile=",hn,";")}var dn;if(ar){if(Sn(ar)){ar.enable?(xa(Rt),Zn(Rt.exit),mn("true")):mn("false");return}dn=ar.append(wt,Rt),mn(dn)}else dn=Rt.def(or,".profile");var Xn=wt.block();xa(Xn),Rt("if(",dn,"){",Xn,"}");var On=wt.block();Zn(On),Rt.exit("if(",dn,"){",On,"}")}function fl(wt,Rt,Kt,Or,Jr){var br=wt.shared;function mr(Yt){switch(Yt){case Lo:case Is:case zs:return 2;case bo:case Ys:case Il:return 3;case ds:case Ks:case _u:return 4;default:return 1}}function or(Yt,ar,Nt){var Cr=br.gl,ta=Rt.def(Yt,".location"),xa=Rt.def(br.attributes,"[",ta,"]"),Zn=Nt.state,mn=Nt.buffer,dn=[Nt.x,Nt.y,Nt.z,Nt.w],Xn=["buffer","normalized","offset","stride"];function On(){Rt("if(!",xa,".buffer){",Cr,".enableVertexAttribArray(",ta,");}");var hn=Nt.type,Cn;if(Nt.size?Cn=Rt.def(Nt.size,"||",ar):Cn=ar,Rt("if(",xa,".type!==",hn,"||",xa,".size!==",Cn,"||",Xn.map(function(fi){return xa+"."+fi+"!=="+Nt[fi]}).join("||"),"){",Cr,".bindBuffer(",pr,",",mn,".buffer);",Cr,".vertexAttribPointer(",[ta,Cn,hn,Nt.normalized,Nt.stride,Nt.offset],");",xa,".type=",hn,";",xa,".size=",Cn,";",Xn.map(function(fi){return xa+"."+fi+"="+Nt[fi]+";"}).join(""),"}"),Fa){var In=Nt.divisor;Rt("if(",xa,".divisor!==",In,"){",wt.instancing,".vertexAttribDivisorANGLE(",[ta,In],");",xa,".divisor=",In,";}")}}function Fn(){Rt("if(",xa,".buffer){",Cr,".disableVertexAttribArray(",ta,");",xa,".buffer=null;","}if(",Ei.map(function(hn,Cn){return xa+"."+hn+"!=="+dn[Cn]}).join("||"),"){",Cr,".vertexAttrib4f(",ta,",",dn,");",Ei.map(function(hn,Cn){return xa+"."+hn+"="+dn[Cn]+";"}).join(""),"}")}Zn===ki?On():Zn===Vi?Fn():(Rt("if(",Zn,"===",ki,"){"),On(),Rt("}else{"),Fn(),Rt("}"))}Or.forEach(function(Yt){var ar=Yt.name,Nt=Kt.attributes[ar],Cr;if(Nt){if(!Jr(Nt))return;Cr=Nt.append(wt,Rt)}else{if(!Jr(xi))return;var ta=wt.scopeAttrib(ar);Cr={},Object.keys(new Qr).forEach(function(xa){Cr[xa]=Rt.def(ta,".",xa)})}or(wt.link(Yt),mr(Yt.info.type),Cr)})}function hl(wt,Rt,Kt,Or,Jr,br){for(var mr=wt.shared,or=mr.gl,Yt,ar=0;ar1){for(var dl=[],Cu=[],pc=0;pc>1)",mn],");")}function In(){Kt(dn,".drawArraysInstancedANGLE(",[ta,xa,Zn,mn],");")}Nt&&Nt!=="null"?On?Cn():(Kt("if(",Nt,"){"),Cn(),Kt("}else{"),In(),Kt("}")):In()}function hn(){function Cn(){Kt(br+".drawElements("+[ta,Zn,Xn,xa+"<<(("+Xn+"-"+Ii+")>>1)"]+");")}function In(){Kt(br+".drawArrays("+[ta,xa,Zn]+");")}Nt&&Nt!=="null"?On?Cn():(Kt("if(",Nt,"){"),Cn(),Kt("}else{"),In(),Kt("}")):In()}Fa&&(typeof mn!="number"||mn>=0)?typeof mn=="string"?(Kt("if(",mn,">0){"),Fn(),Kt("}else if(",mn,"<0){"),hn(),Kt("}")):Fn():hn()}function di(wt,Rt,Kt,Or,Jr){var br=xn(),mr=br.proc("body",Jr);return Fa&&(br.instancing=mr.def(br.shared.extensions,".angle_instanced_arrays")),wt(br,mr,Kt,Or),br.compile().body}function eo(wt,Rt,Kt,Or){Os(wt,Rt),Kt.useVAO?Kt.drawVAO?Rt(wt.shared.vao,".setVAO(",Kt.drawVAO.append(wt,Rt),");"):Rt(wt.shared.vao,".setVAO(",wt.shared.vao,".targetVAO);"):(Rt(wt.shared.vao,".setVAO(null);"),fl(wt,Rt,Kt,Or.attributes,function(){return!0})),hl(wt,Rt,Kt,Or.uniforms,function(){return!0},!1),Sl(wt,Rt,Rt,Kt)}function lo(wt,Rt){var Kt=wt.proc("draw",1);Os(wt,Kt),As(wt,Kt,Rt.context),Ms(wt,Kt,Rt.framebuffer),Ps(wt,Kt,Rt),Ai(wt,Kt,Rt.state),jo(wt,Kt,Rt,!1,!0);var Or=Rt.shader.progVar.append(wt,Kt);if(Kt(wt.shared.gl,".useProgram(",Or,".program);"),Rt.shader.program)eo(wt,Kt,Rt,Rt.shader.program);else{Kt(wt.shared.vao,".setVAO(null);");var Jr=wt.global.def("{}"),br=Kt.def(Or,".id"),mr=Kt.def(Jr,"[",br,"]");Kt(wt.cond(mr).then(mr,".call(this,a0);").else(mr,"=",Jr,"[",br,"]=",wt.link(function(or){return di(eo,wt,Rt,or,1)}),"(",Or,");",mr,".call(this,a0);"))}Object.keys(Rt.state).length>0&&Kt(wt.shared.current,".dirty=true;"),wt.shared.vao&&Kt(wt.shared.vao,".setVAO(null);")}function Lt(wt,Rt,Kt,Or){wt.batchId="a1",Os(wt,Rt);function Jr(){return!0}fl(wt,Rt,Kt,Or.attributes,Jr),hl(wt,Rt,Kt,Or.uniforms,Jr,!1),Sl(wt,Rt,Rt,Kt)}function Vr(wt,Rt,Kt,Or){Os(wt,Rt);var Jr=Kt.contextDep,br=Rt.def(),mr="a0",or="a1",Yt=Rt.def();wt.shared.props=Yt,wt.batchId=br;var ar=wt.scope(),Nt=wt.scope();Rt(ar.entry,"for(",br,"=0;",br,"<",or,";++",br,"){",Yt,"=",mr,"[",br,"];",Nt,"}",ar.exit);function Cr(Xn){return Xn.contextDep&&Jr||Xn.propDep}function ta(Xn){return!Cr(Xn)}if(Kt.needsContext&&As(wt,Nt,Kt.context),Kt.needsFramebuffer&&Ms(wt,Nt,Kt.framebuffer),Ai(wt,Nt,Kt.state,Cr),Kt.profile&&Cr(Kt.profile)&&jo(wt,Nt,Kt,!1,!0),Or)Kt.useVAO?Kt.drawVAO?Cr(Kt.drawVAO)?Nt(wt.shared.vao,".setVAO(",Kt.drawVAO.append(wt,Nt),");"):ar(wt.shared.vao,".setVAO(",Kt.drawVAO.append(wt,ar),");"):ar(wt.shared.vao,".setVAO(",wt.shared.vao,".targetVAO);"):(ar(wt.shared.vao,".setVAO(null);"),fl(wt,ar,Kt,Or.attributes,ta),fl(wt,Nt,Kt,Or.attributes,Cr)),hl(wt,ar,Kt,Or.uniforms,ta,!1),hl(wt,Nt,Kt,Or.uniforms,Cr,!0),Sl(wt,ar,Nt,Kt);else{var xa=wt.global.def("{}"),Zn=Kt.shader.progVar.append(wt,Nt),mn=Nt.def(Zn,".id"),dn=Nt.def(xa,"[",mn,"]");Nt(wt.shared.gl,".useProgram(",Zn,".program);","if(!",dn,"){",dn,"=",xa,"[",mn,"]=",wt.link(function(Xn){return di(Lt,wt,Kt,Xn,2)}),"(",Zn,");}",dn,".call(this,a0[",br,"],",br,");")}}function Gr(wt,Rt){var Kt=wt.proc("batch",2);wt.batchId="0",Os(wt,Kt);var Or=!1,Jr=!0;Object.keys(Rt.context).forEach(function(xa){Or=Or||Rt.context[xa].propDep}),Or||(As(wt,Kt,Rt.context),Jr=!1);var br=Rt.framebuffer,mr=!1;br?(br.propDep?Or=mr=!0:br.contextDep&&Or&&(mr=!0),mr||Ms(wt,Kt,br)):Ms(wt,Kt,null),Rt.state.viewport&&Rt.state.viewport.propDep&&(Or=!0);function or(xa){return xa.contextDep&&Or||xa.propDep}Ps(wt,Kt,Rt),Ai(wt,Kt,Rt.state,function(xa){return!or(xa)}),(!Rt.profile||!or(Rt.profile))&&jo(wt,Kt,Rt,!1,"a1"),Rt.contextDep=Or,Rt.needsContext=Jr,Rt.needsFramebuffer=mr;var Yt=Rt.shader.progVar;if(Yt.contextDep&&Or||Yt.propDep)Vr(wt,Kt,Rt,null);else{var ar=Yt.append(wt,Kt);if(Kt(wt.shared.gl,".useProgram(",ar,".program);"),Rt.shader.program)Vr(wt,Kt,Rt,Rt.shader.program);else{Kt(wt.shared.vao,".setVAO(null);");var Nt=wt.global.def("{}"),Cr=Kt.def(ar,".id"),ta=Kt.def(Nt,"[",Cr,"]");Kt(wt.cond(ta).then(ta,".call(this,a0,a1);").else(ta,"=",Nt,"[",Cr,"]=",wt.link(function(xa){return di(Vr,wt,Rt,xa,2)}),"(",ar,");",ta,".call(this,a0,a1);"))}}Object.keys(Rt.state).length>0&&Kt(wt.shared.current,".dirty=true;"),wt.shared.vao&&Kt(wt.shared.vao,".setVAO(null);")}function En(wt,Rt){var Kt=wt.proc("scope",3);wt.batchId="a2";var Or=wt.shared,Jr=Or.current;if(As(wt,Kt,Rt.context),Rt.framebuffer&&Rt.framebuffer.append(wt,Kt),Ca(Object.keys(Rt.state)).forEach(function(or){var Yt=Rt.state[or],ar=Yt.append(wt,Kt);Fr(ar)?ar.forEach(function(Nt,Cr){pn(Nt)?Kt.set(wt.next[or],"["+Cr+"]",Nt):Kt.set(wt.next[or],"["+Cr+"]",wt.link(Nt,{stable:!0}))}):Sn(Yt)?Kt.set(Or.next,"."+or,wt.link(ar,{stable:!0})):Kt.set(Or.next,"."+or,ar)}),jo(wt,Kt,Rt,!0,!0),[St,fr,Wt,Ar,Ht].forEach(function(or){var Yt=Rt.draw[or];if(Yt){var ar=Yt.append(wt,Kt);pn(ar)?Kt.set(Or.draw,"."+or,ar):Kt.set(Or.draw,"."+or,wt.link(ar),{stable:!0})}}),Object.keys(Rt.uniforms).forEach(function(or){var Yt=Rt.uniforms[or].append(wt,Kt);Array.isArray(Yt)&&(Yt="["+Yt.map(function(ar){return pn(ar)?ar:wt.link(ar,{stable:!0})})+"]"),Kt.set(Or.uniforms,"["+wt.link(Pt.id(or),{stable:!0})+"]",Yt)}),Object.keys(Rt.attributes).forEach(function(or){var Yt=Rt.attributes[or].append(wt,Kt),ar=wt.scopeAttrib(or);Object.keys(new Qr).forEach(function(Nt){Kt.set(ar,"."+Nt,Yt[Nt])})}),Rt.scopeVAO){var br=Rt.scopeVAO.append(wt,Kt);pn(br)?Kt.set(Or.vao,".targetVAO",br):Kt.set(Or.vao,".targetVAO",wt.link(br,{stable:!0}))}function mr(or){var Yt=Rt.shader[or];if(Yt){var ar=Yt.append(wt,Kt);pn(ar)?Kt.set(Or.shader,"."+or,ar):Kt.set(Or.shader,"."+or,wt.link(ar,{stable:!0}))}}mr(et),mr(dt),Object.keys(Rt.state).length>0&&(Kt(Jr,".dirty=true;"),Kt.exit(Jr,".dirty=true;")),Kt("a1(",wt.shared.context,",a0,",wt.batchId,");")}function Hi(wt){if(!(typeof wt!="object"||Fr(wt))){for(var Rt=Object.keys(wt),Kt=0;Kt=0;--di){var eo=Yn[di];eo&&eo(ua,null,0)}Ft.flush(),Ua&&Ua.update()}function Ri(){!li&&Yn.length>0&&(li=p.next(ui))}function cs(){li&&(p.cancel(ui),li=null)}function Ls(di){di.preventDefault(),Xr=!0,cs(),si.forEach(function(eo){eo()})}function Wi(di){Ft.getError(),Xr=!1,Kr.restore(),Hn.restore(),Fa.restore(),ha.restore(),la.restore(),vn.restore(),on.restore(),Ua&&Ua.restore(),Za.procs.refresh(),Ri(),Ya.forEach(function(eo){eo()})}pn&&(pn.addEventListener(Oo,Ls,!1),pn.addEventListener(gs,Wi,!1));function Ml(){Yn.length=0,cs(),pn&&(pn.removeEventListener(Oo,Ls),pn.removeEventListener(gs,Wi)),Hn.clear(),vn.clear(),la.clear(),on.clear(),ha.clear(),va.clear(),Fa.clear(),Ua&&Ua.clear(),xn.forEach(function(di){di()})}function Fo(di){function eo(br){var mr=u({},br);delete mr.uniforms,delete mr.attributes,delete mr.context,delete mr.vao,"stencil"in mr&&mr.stencil.op&&(mr.stencil.opBack=mr.stencil.opFront=mr.stencil.op,delete mr.stencil.op);function or(Yt){if(Yt in mr){var ar=mr[Yt];delete mr[Yt],Object.keys(ar).forEach(function(Nt){mr[Yt+"."+Nt]=ar[Nt]})}}return or("blend"),or("depth"),or("cull"),or("stencil"),or("polygonOffset"),or("scissor"),or("sample"),"vao"in br&&(mr.vao=br.vao),mr}function lo(br,mr){var or={},Yt={};return Object.keys(br).forEach(function(ar){var Nt=br[ar];if(c.isDynamic(Nt)){Yt[ar]=c.unbox(Nt,ar);return}else if(mr&&Array.isArray(Nt)){for(var Cr=0;Cr0)return wt.call(this,Or(br|0),br|0)}else if(Array.isArray(br)){if(br.length)return wt.call(this,br,br.length)}else return kn.call(this,br)}return u(Jr,{stats:Hi,destroy:function(){zo.destroy()}})}var Js=vn.setFBO=Fo({framebuffer:c.define.call(null,Bs,"framebuffer")});function Ns(di,eo){var lo=0;Za.procs.poll();var Lt=eo.color;Lt&&(Ft.clearColor(+Lt[0]||0,+Lt[1]||0,+Lt[2]||0,+Lt[3]||0),lo|=al),"depth"in eo&&(Ft.clearDepth(+eo.depth),lo|=Ds),"stencil"in eo&&(Ft.clearStencil(eo.stencil|0),lo|=gi),Ft.clear(lo)}function nl(di){if("framebuffer"in di)if(di.framebuffer&&di.framebuffer_reglType==="framebufferCube")for(var eo=0;eo<6;++eo)Js(u({framebuffer:di.framebuffer.faces[eo]},di),Ns);else Js(di,Ns);else Ns(null,di)}function As(di){Yn.push(di);function eo(){var lo=xu(Yn,di);function Lt(){var Vr=xu(Yn,Lt);Yn[Vr]=Yn[Yn.length-1],Yn.length-=1,Yn.length<=0&&cs()}Yn[lo]=Lt}return Ri(),{cancel:eo}}function Ms(){var di=Ha.viewport,eo=Ha.scissor_box;di[0]=di[1]=eo[0]=eo[1]=0,ua.viewportWidth=ua.framebufferWidth=ua.drawingBufferWidth=di[2]=eo[2]=Ft.drawingBufferWidth,ua.viewportHeight=ua.framebufferHeight=ua.drawingBufferHeight=di[3]=eo[3]=Ft.drawingBufferHeight}function Ps(){ua.tick+=1,ua.time=Os(),Ms(),Za.procs.poll()}function Ai(){ha.refresh(),Ms(),Za.procs.refresh(),Ua&&Ua.update()}function Os(){return(f()-Wn)/1e3}Ai();function jo(di,eo){var lo;switch(di){case"frame":return As(eo);case"lost":lo=si;break;case"restore":lo=Ya;break;case"destroy":lo=xn;break;default:}return lo.push(eo),{cancel:function(){for(var Lt=0;Lt=0},read:qa,destroy:Ml,_gl:Ft,_refresh:Ai,poll:function(){Ps(),Ua&&Ua.update()},now:Os,stats:_a,getCachedCode:fl,preloadCachedCode:hl});return Pt.onDone(null,Sl),Sl}return ic})}}),C8=xe({"node_modules/gl-util/context.js"(U,O){"use strict";var u=Yh();O.exports=function(a){if(a?typeof a=="string"&&(a={container:a}):a={},w(a)?a={container:a}:S(a)?a={container:a}:l(a)?a={gl:a}:a=u(a,{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),a.pixelRatio||(a.pixelRatio=window.pixelRatio||1),a.gl)return a.gl;if(a.canvas&&(a.container=a.canvas.parentNode),a.container){if(typeof a.container=="string"){var r=document.querySelector(a.container);if(!r)throw Error("Element "+a.container+" is not found");a.container=r}w(a.container)?(a.canvas=a.container,a.container=a.canvas.parentNode):a.canvas||(a.canvas=e(),a.container.appendChild(a.canvas),v(a))}else if(!a.canvas)if(typeof document<"u")a.container=document.body||document.documentElement,a.canvas=e(),a.container.appendChild(a.canvas),v(a);else throw Error("Not DOM environment. Use headless-gl.");return a.gl||["webgl","experimental-webgl","webgl-experimental"].some(function(n){try{a.gl=a.canvas.getContext(n,a.attrs)}catch{}return a.gl}),a.gl};function v(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*window.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*window.innerHeight);else{var a=t.container.getBoundingClientRect();t.canvas.width=t.width||a.right-a.left,t.canvas.height=t.height||a.bottom-a.top}}function w(t){return typeof t.getContext=="function"&&"width"in t&&"height"in t}function S(t){return typeof t.nodeName=="string"&&typeof t.appendChild=="function"&&typeof t.getBoundingClientRect=="function"}function l(t){return typeof t.drawArrays=="function"||typeof t.drawElements=="function"}function e(){var t=document.createElement("canvas");return t.style.position="absolute",t.style.top=0,t.style.left=0,t}}}),L8=xe({"node_modules/font-atlas/index.js"(U,O){"use strict";var u=I3(),v=[32,126];O.exports=w;function w(S){S=S||{};var l=S.shape?S.shape:S.canvas?[S.canvas.width,S.canvas.height]:[512,512],e=S.canvas||document.createElement("canvas"),t=S.font,a=typeof S.step=="number"?[S.step,S.step]:S.step||[32,32],r=S.chars||v;if(t&&typeof t!="string"&&(t=u(t)),!Array.isArray(r))r=String(r).split("");else if(r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"){for(var n=[],i=r[0],s=0;i<=r[1];i++)n[s++]=String.fromCharCode(i);r=n}l=l.slice(),e.width=l[0],e.height=l[1];var c=e.getContext("2d");c.fillStyle="#000",c.fillRect(0,0,e.width,e.height),c.font=t,c.textAlign="center",c.textBaseline="middle",c.fillStyle="#fff";for(var p=a[0]/2,f=a[1]/2,i=0;il[0]-a[0]/2&&(p=a[0]/2,f+=a[1]);return e}}}),D3=xe({"node_modules/bit-twiddle/twiddle.js"(U){"use strict";"use restrict";var O=32;U.INT_BITS=O,U.INT_MAX=2147483647,U.INT_MIN=-1<0)-(w<0)},U.abs=function(w){var S=w>>O-1;return(w^S)-S},U.min=function(w,S){return S^(w^S)&-(w65535)<<4,w>>>=S,l=(w>255)<<3,w>>>=l,S|=l,l=(w>15)<<2,w>>>=l,S|=l,l=(w>3)<<1,w>>>=l,S|=l,S|w>>1},U.log10=function(w){return w>=1e9?9:w>=1e8?8:w>=1e7?7:w>=1e6?6:w>=1e5?5:w>=1e4?4:w>=1e3?3:w>=100?2:w>=10?1:0},U.popCount=function(w){return w=w-(w>>>1&1431655765),w=(w&858993459)+(w>>>2&858993459),(w+(w>>>4)&252645135)*16843009>>>24};function u(w){var S=32;return w&=-w,w&&S--,w&65535&&(S-=16),w&16711935&&(S-=8),w&252645135&&(S-=4),w&858993459&&(S-=2),w&1431655765&&(S-=1),S}U.countTrailingZeros=u,U.nextPow2=function(w){return w+=w===0,--w,w|=w>>>1,w|=w>>>2,w|=w>>>4,w|=w>>>8,w|=w>>>16,w+1},U.prevPow2=function(w){return w|=w>>>1,w|=w>>>2,w|=w>>>4,w|=w>>>8,w|=w>>>16,w-(w>>>1)},U.parity=function(w){return w^=w>>>16,w^=w>>>8,w^=w>>>4,w&=15,27030>>>w&1};var v=new Array(256);(function(w){for(var S=0;S<256;++S){var l=S,e=S,t=7;for(l>>>=1;l;l>>>=1)e<<=1,e|=l&1,--t;w[S]=e<>>8&255]<<16|v[w>>>16&255]<<8|v[w>>>24&255]},U.interleave2=function(w,S){return w&=65535,w=(w|w<<8)&16711935,w=(w|w<<4)&252645135,w=(w|w<<2)&858993459,w=(w|w<<1)&1431655765,S&=65535,S=(S|S<<8)&16711935,S=(S|S<<4)&252645135,S=(S|S<<2)&858993459,S=(S|S<<1)&1431655765,w|S<<1},U.deinterleave2=function(w,S){return w=w>>>S&1431655765,w=(w|w>>>1)&858993459,w=(w|w>>>2)&252645135,w=(w|w>>>4)&16711935,w=(w|w>>>16)&65535,w<<16>>16},U.interleave3=function(w,S,l){return w&=1023,w=(w|w<<16)&4278190335,w=(w|w<<8)&251719695,w=(w|w<<4)&3272356035,w=(w|w<<2)&1227133513,S&=1023,S=(S|S<<16)&4278190335,S=(S|S<<8)&251719695,S=(S|S<<4)&3272356035,S=(S|S<<2)&1227133513,w|=S<<1,l&=1023,l=(l|l<<16)&4278190335,l=(l|l<<8)&251719695,l=(l|l<<4)&3272356035,l=(l|l<<2)&1227133513,w|l<<2},U.deinterleave3=function(w,S){return w=w>>>S&1227133513,w=(w|w>>>2)&3272356035,w=(w|w>>>4)&251719695,w=(w|w>>>8)&4278190335,w=(w|w>>>16)&1023,w<<22>>22},U.nextCombination=function(w){var S=w|w-1;return S+1|(~S&-~S)-1>>>u(w)+1}}}),P8=xe({"node_modules/dup/dup.js"(U,O){"use strict";function u(S,l,e){var t=S[e]|0;if(t<=0)return[];var a=new Array(t),r;if(e===S.length-1)for(r=0;r"u"&&(l=0),typeof S){case"number":if(S>0)return v(S|0,l);break;case"object":if(typeof S.length=="number")return u(S,l,0);break}return[]}O.exports=w}}),I8=xe({"node_modules/typedarray-pool/pool.js"(U){"use strict";var O=D3(),u=P8(),v=Mv().Buffer;window.__TYPEDARRAY_POOL||(window.__TYPEDARRAY_POOL={UINT8:u([32,0]),UINT16:u([32,0]),UINT32:u([32,0]),BIGUINT64:u([32,0]),INT8:u([32,0]),INT16:u([32,0]),INT32:u([32,0]),BIGINT64:u([32,0]),FLOAT:u([32,0]),DOUBLE:u([32,0]),DATA:u([32,0]),UINT8C:u([32,0]),BUFFER:u([32,0])});var w=typeof Uint8ClampedArray<"u",S=typeof BigUint64Array<"u",l=typeof BigInt64Array<"u",e=window.__TYPEDARRAY_POOL;e.UINT8C||(e.UINT8C=u([32,0])),e.BIGUINT64||(e.BIGUINT64=u([32,0])),e.BIGINT64||(e.BIGINT64=u([32,0])),e.BUFFER||(e.BUFFER=u([32,0]));var t=e.DATA,a=e.BUFFER;U.free=function(h){if(v.isBuffer(h))a[O.log2(h.length)].push(h);else{if(Object.prototype.toString.call(h)!=="[object ArrayBuffer]"&&(h=h.buffer),!h)return;var x=h.length||h.byteLength,_=O.log2(x)|0;t[_].push(h)}};function r(m){if(m){var h=m.length||m.byteLength,x=O.log2(h);t[x].push(m)}}function n(m){r(m.buffer)}U.freeUint8=U.freeUint16=U.freeUint32=U.freeBigUint64=U.freeInt8=U.freeInt16=U.freeInt32=U.freeBigInt64=U.freeFloat32=U.freeFloat=U.freeFloat64=U.freeDouble=U.freeUint8Clamped=U.freeDataView=n,U.freeArrayBuffer=r,U.freeBuffer=function(h){a[O.log2(h.length)].push(h)},U.malloc=function(h,x){if(x===void 0||x==="arraybuffer")return i(h);switch(x){case"uint8":return s(h);case"uint16":return c(h);case"uint32":return p(h);case"int8":return f(h);case"int16":return d(h);case"int32":return y(h);case"float":case"float32":return o(h);case"double":case"float64":return b(h);case"uint8_clamped":return M(h);case"bigint64":return E(h);case"biguint64":return A(h);case"buffer":return T(h);case"data":case"dataview":return g(h);default:return null}return null};function i(h){var h=O.nextPow2(h),x=O.log2(h),_=t[x];return _.length>0?_.pop():new ArrayBuffer(h)}U.mallocArrayBuffer=i;function s(m){return new Uint8Array(i(m),0,m)}U.mallocUint8=s;function c(m){return new Uint16Array(i(2*m),0,m)}U.mallocUint16=c;function p(m){return new Uint32Array(i(4*m),0,m)}U.mallocUint32=p;function f(m){return new Int8Array(i(m),0,m)}U.mallocInt8=f;function d(m){return new Int16Array(i(2*m),0,m)}U.mallocInt16=d;function y(m){return new Int32Array(i(4*m),0,m)}U.mallocInt32=y;function o(m){return new Float32Array(i(4*m),0,m)}U.mallocFloat32=U.mallocFloat=o;function b(m){return new Float64Array(i(8*m),0,m)}U.mallocFloat64=U.mallocDouble=b;function M(m){return w?new Uint8ClampedArray(i(m),0,m):s(m)}U.mallocUint8Clamped=M;function A(m){return S?new BigUint64Array(i(8*m),0,m):null}U.mallocBigUint64=A;function E(m){return l?new BigInt64Array(i(8*m),0,m):null}U.mallocBigInt64=E;function g(m){return new DataView(i(m),0,m)}U.mallocDataView=g;function T(m){m=O.nextPow2(m);var h=O.log2(m),x=a[h];return x.length>0?x.pop():new v(m)}U.mallocBuffer=T,U.clearCache=function(){for(var h=0;h<32;++h)e.UINT8[h].length=0,e.UINT16[h].length=0,e.UINT32[h].length=0,e.INT8[h].length=0,e.INT16[h].length=0,e.INT32[h].length=0,e.FLOAT[h].length=0,e.DOUBLE[h].length=0,e.BIGUINT64[h].length=0,e.BIGINT64[h].length=0,e.UINT8C[h].length=0,t[h].length=0,a[h].length=0}}}),D8=xe({"node_modules/is-plain-obj/index.js"(U,O){"use strict";var u=Object.prototype.toString;O.exports=function(v){var w;return u.call(v)==="[object Object]"&&(w=Object.getPrototypeOf(v),w===null||w===Object.getPrototypeOf({}))}}}),R3=xe({"node_modules/parse-unit/index.js"(U,O){O.exports=function(v,w){w||(w=[0,""]),v=String(v);var S=parseFloat(v,10);return w[0]=S,w[1]=v.match(/[\d.\-\+]*\s*(.*)/)[1]||"",w}}}),R8=xe({"node_modules/to-px/topx.js"(U,O){"use strict";var u=R3();O.exports=l;var v=96;function w(e,t){var a=u(getComputedStyle(e).getPropertyValue(t));return a[0]*l(a[1],e)}function S(e,t){var a=document.createElement("div");a.style["font-size"]="128"+e,t.appendChild(a);var r=w(a,"font-size")/128;return t.removeChild(a),r}function l(e,t){switch(t=t||document.body,e=(e||"px").trim().toLowerCase(),(t===window||t===document)&&(t=document.body),e){case"%":return t.clientHeight/100;case"ch":case"ex":return S(e,t);case"em":return w(t,"font-size");case"rem":return w(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 v;case"cm":return v/2.54;case"mm":return v/25.4;case"pt":return v/72;case"pc":return v/6}return 1}}}),F8=xe({"node_modules/detect-kerning/index.js"(U,O){"use strict";O.exports=S;var u=S.canvas=document.createElement("canvas"),v=u.getContext("2d"),w=l([32,126]);S.createPairs=l,S.ascii=w;function S(e,t){Array.isArray(e)&&(e=e.join(", "));var a={},r,n=16,i=.05;t&&(t.length===2&&typeof t[0]=="number"?r=l(t):Array.isArray(t)?r=t:(t.o?r=l(t.o):t.pairs&&(r=t.pairs),t.fontSize&&(n=t.fontSize),t.threshold!=null&&(i=t.threshold))),r||(r=w),v.font=n+"px "+e;for(var s=0;sn*i){var d=(f-p)/n;a[c]=d*1e3}}return a}function l(e){for(var t=[],a=e[0];a<=e[1];a++)for(var r=String.fromCharCode(a),n=e[0];n0;a-=4)if(t[a]!==0)return Math.floor((a-3)*.25/e)}}}),B8=xe({"node_modules/gl-text/dist.js"(U,O){"use strict";var u=E8(),v=Yh(),w=k8(),S=C8(),l=A3(),e=Xd(),t=L8(),a=I8(),r=Dp(),n=D8(),i=R3(),s=R8(),c=F8(),p=cc(),f=z8(),d=Ov(),y=D3(),o=y.nextPow2,b=new l,M=!1;document.body&&(A=document.body.appendChild(document.createElement("div")),A.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(A).fontStretch&&(M=!0),document.body.removeChild(A));var A,E=function(m){g(m)?(m={regl:m},this.gl=m.regl._gl):this.gl=S(m),this.shader=b.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=m.regl||w({gl:this.gl}),this.charBuffer=this.regl.buffer({type:"uint8",usage:"stream"}),this.sizeBuffer=this.regl.buffer({type:"float",usage:"stream"}),this.shader||(this.shader=this.createShader(),b.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(n(m)?m:{})};E.prototype.createShader=function(){var m=this.regl,h=m({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:m.prop("count"),offset:m.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:m.this("sizeBuffer")},width:{offset:0,stride:8,buffer:m.this("sizeBuffer")},char:m.this("charBuffer"),position:m.this("position")},uniforms:{atlasSize:function(_,D){return[D.atlas.width,D.atlas.height]},atlasDim:function(_,D){return[D.atlas.cols,D.atlas.rows]},atlas:function(_,D){return D.atlas.texture},charStep:function(_,D){return D.atlas.step},em:function(_,D){return D.atlas.em},color:m.prop("color"),opacity:m.prop("opacity"),viewport:m.this("viewportArray"),scale:m.this("scale"),align:m.prop("align"),baseline:m.prop("baseline"),translate:m.this("translate"),positionOffset:m.prop("positionOffset")},primitive:"points",viewport:m.this("viewport"),vert:` + precision highp float; + attribute float width, charOffset, char; + attribute vec2 position; + uniform float fontSize, charStep, em, align, baseline; + uniform vec4 viewport; + uniform vec4 color; + uniform vec2 atlasSize, atlasDim, scale, translate, positionOffset; + varying vec2 charCoord, charId; + varying float charWidth; + varying vec4 fontColor; + void main () { + vec2 offset = floor(em * (vec2(align + charOffset, baseline) + + vec2(positionOffset.x, -positionOffset.y))) + / (viewport.zw * scale.xy); + + vec2 position = (position + translate) * scale; + position += offset * scale; + + charCoord = position * viewport.zw + viewport.xy; + + gl_Position = vec4(position * 2. - 1., 0, 1); + + gl_PointSize = charStep; + + charId.x = mod(char, atlasDim.x); + charId.y = floor(char / atlasDim.x); + + charWidth = width * em; + + fontColor = color / 255.; + }`,frag:` + precision highp float; + uniform float fontSize, charStep, opacity; + uniform vec2 atlasSize; + uniform vec4 viewport; + uniform sampler2D atlas; + varying vec4 fontColor; + varying vec2 charCoord, charId; + varying float charWidth; + + float lightness(vec4 color) { + return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; + } + + void main () { + vec2 uv = gl_FragCoord.xy - charCoord + charStep * .5; + float halfCharStep = floor(charStep * .5 + .5); + + // invert y and shift by 1px (FF expecially needs that) + uv.y = charStep - uv.y; + + // ignore points outside of character bounding box + float halfCharWidth = ceil(charWidth * .5); + if (floor(uv.x) > halfCharStep + halfCharWidth || + floor(uv.x) < halfCharStep - halfCharWidth) return; + + uv += charId * charStep; + uv = uv / atlasSize; + + vec4 color = fontColor; + vec4 mask = texture2D(atlas, uv); + + float maskY = lightness(mask); + // float colorY = lightness(color); + color.a *= maskY; + color.a *= opacity; + + // color.a += .1; + + // antialiasing, see yiq color space y-channel formula + // color.rgb += (1. - color.rgb) * (1. - mask.rgb); + + gl_FragColor = color; + }`}),x={};return{regl:m,draw:h,atlas:x}},E.prototype.update=function(m){var h=this;if(typeof m=="string")m={text:m};else if(!m)return;m=v(m,{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),m.opacity!=null&&(Array.isArray(m.opacity)?this.opacity=m.opacity.map(function(ne){return parseFloat(ne)}):this.opacity=parseFloat(m.opacity)),m.viewport!=null&&(this.viewport=r(m.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]),m.kerning!=null&&(this.kerning=m.kerning),m.offset!=null&&(typeof m.offset=="number"&&(m.offset=[m.offset,0]),this.positionOffset=d(m.offset)),m.direction&&(this.direction=m.direction),m.range&&(this.range=m.range,this.scale=[1/(m.range[2]-m.range[0]),1/(m.range[3]-m.range[1])],this.translate=[-m.range[0],-m.range[1]]),m.scale&&(this.scale=m.scale),m.translate&&(this.translate=m.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),!this.font.length&&!m.font&&(m.font=E.baseFontSize+"px sans-serif");var x=!1,_=!1;if(m.font&&(Array.isArray(m.font)?m.font:[m.font]).forEach(function(ne,be){if(typeof ne=="string")try{ne=u.parse(ne)}catch{ne=u.parse(E.baseFontSize+"px "+ne)}else{var De=ne.style,qe=ne.weight,Ne=ne.stretch,ut=ne.variant;ne=u.parse(u.stringify(ne)),De&&(ne.style=De),qe&&(ne.weight=qe),Ne&&(ne.stretch=Ne),ut&&(ne.variant=ut)}var ot=u.stringify({size:E.baseFontSize,family:ne.family,stretch:M?ne.stretch:void 0,variant:ne.variant,weight:ne.weight,style:ne.style}),yt=i(ne.size),At=Math.round(yt[0]*s(yt[1]));if(At!==h.fontSize[be]&&(_=!0,h.fontSize[be]=At),(!h.font[be]||ot!=h.font[be].baseString)&&(x=!0,h.font[be]=E.fonts[ot],!h.font[be])){var It=ne.family.join(", "),Zt=[ne.style];ne.style!=ne.variant&&Zt.push(ne.variant),ne.variant!=ne.weight&&Zt.push(ne.weight),M&&ne.weight!=ne.stretch&&Zt.push(ne.stretch),h.font[be]={baseString:ot,family:It,weight:ne.weight,stretch:ne.stretch,style:ne.style,variant:ne.variant,width:{},kerning:{},metrics:f(It,{origin:"top",fontSize:E.baseFontSize,fontStyle:Zt.join(" ")})},E.fonts[ot]=h.font[be]}}),(x||_)&&this.font.forEach(function(ne,be){var De=u.stringify({size:h.fontSize[be],family:ne.family,stretch:M?ne.stretch:void 0,variant:ne.variant,weight:ne.weight,style:ne.style});if(h.fontAtlas[be]=h.shader.atlas[De],!h.fontAtlas[be]){var qe=ne.metrics;h.shader.atlas[De]=h.fontAtlas[be]={fontString:De,step:Math.ceil(h.fontSize[be]*qe.bottom*.5)*2,em:h.fontSize[be],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:h.regl.texture()}}m.text==null&&(m.text=h.text)}),typeof m.text=="string"&&m.position&&m.position.length>2){for(var D=Array(m.position.length*.5),C=0;C2){for(var z=!m.position[0].length,R=a.mallocFloat(this.count*2),k=0,B=0;k1?h.align[be]:h.align[0]:h.align;if(typeof De=="number")return De;switch(De){case"right":case"end":return-ne;case"center":case"centre":case"middle":return-ne*.5}return 0})),this.baseline==null&&m.baseline==null&&(m.baseline=0),m.baseline!=null&&(this.baseline=m.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map(function(ne,be){var De=(h.font[be]||h.font[0]).metrics,qe=0;return qe+=De.bottom*.5,typeof ne=="number"?qe+=ne-De.baseline:qe+=-De[ne],qe*=-1,qe})),m.color!=null)if(m.color||(m.color="transparent"),typeof m.color=="string"||!isNaN(m.color))this.color=e(m.color,"uint8");else{var Te;if(typeof m.color[0]=="number"&&m.color.length>this.counts.length){var Se=m.color.length;Te=a.mallocUint8(Se);for(var Ce=(m.color.subarray||m.color.slice).bind(m.color),Ue=0;Ue4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2;if(ce){var ie=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(ie);for(var se=0;se1?this.counts[se]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[se]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(se*4,se*4+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[se]:this.opacity,baseline:this.baselineOffset[se]!=null?this.baselineOffset[se]:this.baselineOffset[0],align:this.align?this.alignOffset[se]!=null?this.alignOffset[se]:this.alignOffset[0]:0,atlas:this.fontAtlas[se]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(se*2,se*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=[]}},E.prototype.destroy=function(){},E.prototype.kerning=!0,E.prototype.position={constant:new Float32Array(2)},E.prototype.translate=null,E.prototype.scale=null,E.prototype.font=null,E.prototype.text="",E.prototype.positionOffset=[0,0],E.prototype.opacity=1,E.prototype.color=new Uint8Array([0,0,0,255]),E.prototype.alignOffset=[0,0],E.maxAtlasSize=1024,E.atlasCanvas=document.createElement("canvas"),E.atlasContext=E.atlasCanvas.getContext("2d",{alpha:!1}),E.baseFontSize=64,E.fonts={};function g(T){return typeof T=="function"&&T._gl&&T.prop&&T.texture&&T.buffer}O.exports=E}}),N8=xe({"node_modules/@plotly/regl/dist/regl.unchecked.js"(U,O){(function(u,v){typeof U=="object"&&typeof O<"u"?O.exports=v():u.createREGL=v()})(U,function(){"use strict";var u=function(Ve,Pt){for(var Ft=Object.keys(Pt),Er=0;Er1&&Pt===Ft&&(Pt==='"'||Pt==="'"))return['"'+t(Ve.substr(1,Ve.length-2))+'"'];var Er=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(Ve);if(Er)return a(Ve.substr(0,Er.index)).concat(a(Er[1])).concat(a(Ve.substr(Er.index+Er[0].length)));var Xr=Ve.split(".");if(Xr.length===1)return['"'+t(Ve)+'"'];for(var Kr=[],Yr=0;Yr"u"?1:window.devicePixelRatio,Ua=!1,Wn={},Tn=function(yr){},nn=function(){};if(typeof Pt=="string"?Ft=document.querySelector(Pt):typeof Pt=="object"&&(b(Pt)?Ft=Pt:M(Pt)?(Kr=Pt,Xr=Kr.canvas):("gl"in Pt?Kr=Pt.gl:"canvas"in Pt?Xr=E(Pt.canvas):"container"in Pt&&(Er=E(Pt.container)),"attributes"in Pt&&(Yr=Pt.attributes),"extensions"in Pt&&(_a=A(Pt.extensions)),"optionalExtensions"in Pt&&(Ra=A(Pt.optionalExtensions)),"onDone"in Pt&&(Tn=Pt.onDone),"profile"in Pt&&(Ua=!!Pt.profile),"pixelRatio"in Pt&&(Ba=+Pt.pixelRatio),"cachedCode"in Pt&&(Wn=Pt.cachedCode))),Ft&&(Ft.nodeName.toLowerCase()==="canvas"?Xr=Ft:Er=Ft),!Kr){if(!Xr){var ua=y(Er||document.body,Tn,Ba);if(!ua)return null;Xr=ua.canvas,nn=ua.onDestroy}Yr.premultipliedAlpha===void 0&&(Yr.premultipliedAlpha=!0),Kr=o(Xr,Yr)}return Kr?{gl:Kr,canvas:Xr,container:Er,extensions:_a,optionalExtensions:Ra,pixelRatio:Ba,profile:Ua,cachedCode:Wn,onDone:Tn,onDestroy:nn}:(nn(),Tn("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}function T(Ve,Pt){var Ft={};function Er(Yr){var _a=Yr.toLowerCase(),Ra;try{Ra=Ft[_a]=Ve.getExtension(_a)}catch{}return!!Ra}for(var Xr=0;Xr65535)<<4,Ve>>>=Pt,Ft=(Ve>255)<<3,Ve>>>=Ft,Pt|=Ft,Ft=(Ve>15)<<2,Ve>>>=Ft,Pt|=Ft,Ft=(Ve>3)<<1,Ve>>>=Ft,Pt|=Ft,Pt|Ve>>1}function k(){var Ve=m(8,function(){return[]});function Pt(Kr){var Yr=z(Kr),_a=Ve[R(Yr)>>2];return _a.length>0?_a.pop():new ArrayBuffer(Yr)}function Ft(Kr){Ve[R(Kr.byteLength)>>2].push(Kr)}function Er(Kr,Yr){var _a=null;switch(Kr){case h:_a=new Int8Array(Pt(Yr),0,Yr);break;case x:_a=new Uint8Array(Pt(Yr),0,Yr);break;case _:_a=new Int16Array(Pt(2*Yr),0,Yr);break;case D:_a=new Uint16Array(Pt(2*Yr),0,Yr);break;case C:_a=new Int32Array(Pt(4*Yr),0,Yr);break;case F:_a=new Uint32Array(Pt(4*Yr),0,Yr);break;case I:_a=new Float32Array(Pt(4*Yr),0,Yr);break;default:return null}return _a.length!==Yr?_a.subarray(0,Yr):_a}function Xr(Kr){Ft(Kr.buffer)}return{alloc:Pt,free:Ft,allocType:Er,freeType:Xr}}var B=k();B.zero=k();var N=3408,q=3410,Y=3411,ee=3412,te=3413,ae=3414,j=3415,G=33901,K=33902,H=3379,Z=3386,X=34921,$=36347,Q=36348,re=35661,ue=35660,pe=34930,ge=36349,Te=34076,Se=34024,Ce=7936,Ue=7937,Oe=7938,_e=35724,ce=34047,ie=36063,se=34852,ne=3553,be=34067,De=34069,qe=33984,Ne=6408,ut=5126,ot=5121,yt=36160,At=36053,It=36064,Zt=16384,vr=function(Ve,Pt){var Ft=1;Pt.ext_texture_filter_anisotropic&&(Ft=Ve.getParameter(ce));var Er=1,Xr=1;Pt.webgl_draw_buffers&&(Er=Ve.getParameter(se),Xr=Ve.getParameter(ie));var Kr=!!Pt.oes_texture_float;if(Kr){var Yr=Ve.createTexture();Ve.bindTexture(ne,Yr),Ve.texImage2D(ne,0,Ne,1,1,0,Ne,ut,null);var _a=Ve.createFramebuffer();if(Ve.bindFramebuffer(yt,_a),Ve.framebufferTexture2D(yt,It,ne,Yr,0),Ve.bindTexture(ne,null),Ve.checkFramebufferStatus(yt)!==At)Kr=!1;else{Ve.viewport(0,0,1,1),Ve.clearColor(1,0,0,1),Ve.clear(Zt);var Ra=B.allocType(ut,4);Ve.readPixels(0,0,1,1,Ne,ut,Ra),Ve.getError()?Kr=!1:(Ve.deleteFramebuffer(_a),Ve.deleteTexture(Yr),Kr=Ra[0]===1),B.freeType(Ra)}}var Ba=typeof navigator<"u"&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),Ua=!0;if(!Ba){var Wn=Ve.createTexture(),Tn=B.allocType(ot,36);Ve.activeTexture(qe),Ve.bindTexture(be,Wn),Ve.texImage2D(De,0,Ne,3,3,0,Ne,ot,Tn),B.freeType(Tn),Ve.bindTexture(be,null),Ve.deleteTexture(Wn),Ua=!Ve.getError()}return{colorBits:[Ve.getParameter(q),Ve.getParameter(Y),Ve.getParameter(ee),Ve.getParameter(te)],depthBits:Ve.getParameter(ae),stencilBits:Ve.getParameter(j),subpixelBits:Ve.getParameter(N),extensions:Object.keys(Pt).filter(function(nn){return!!Pt[nn]}),maxAnisotropic:Ft,maxDrawbuffers:Er,maxColorAttachments:Xr,pointSizeDims:Ve.getParameter(G),lineWidthDims:Ve.getParameter(K),maxViewportDims:Ve.getParameter(Z),maxCombinedTextureUnits:Ve.getParameter(re),maxCubeMapSize:Ve.getParameter(Te),maxRenderbufferSize:Ve.getParameter(Se),maxTextureUnits:Ve.getParameter(pe),maxTextureSize:Ve.getParameter(H),maxAttributes:Ve.getParameter(X),maxVertexUniforms:Ve.getParameter($),maxVertexTextureUnits:Ve.getParameter(ue),maxVaryingVectors:Ve.getParameter(Q),maxFragmentUniforms:Ve.getParameter(ge),glsl:Ve.getParameter(_e),renderer:Ve.getParameter(Ue),vendor:Ve.getParameter(Ce),version:Ve.getParameter(Oe),readFloat:Kr,npotTextureCube:Ua}},Ut=function(Ve){return Ve instanceof Uint8Array||Ve instanceof Uint16Array||Ve instanceof Uint32Array||Ve instanceof Int8Array||Ve instanceof Int16Array||Ve instanceof Int32Array||Ve instanceof Float32Array||Ve instanceof Float64Array||Ve instanceof Uint8ClampedArray};function Jt(Ve){return!!Ve&&typeof Ve=="object"&&Array.isArray(Ve.shape)&&Array.isArray(Ve.stride)&&typeof Ve.offset=="number"&&Ve.shape.length===Ve.stride.length&&(Array.isArray(Ve.data)||Ut(Ve.data))}var at=function(Ve){return Object.keys(Ve).map(function(Pt){return Ve[Pt]})},Ee={shape:He,flatten:Fe};function Re(Ve,Pt,Ft){for(var Er=0;Er0){var Hn;if(Array.isArray(Qr[0])){Qa=fa(Qr);for(var ha=1,la=1;la0){if(typeof ha[0]=="number"){var qa=B.allocType(va.dtype,ha.length);oi(qa,ha),Qa(qa,vn),B.freeType(qa)}else if(Array.isArray(ha[0])||Ut(ha[0])){Za=fa(ha);var Ha=pa(ha,Za,va.dtype);Qa(Ha,vn),B.freeType(Ha)}}}else if(Jt(ha)){Za=ha.shape;var pn=ha.stride,Yn=0,si=0,Ya=0,xn=0;Za.length===1?(Yn=Za[0],si=1,Ya=pn[0],xn=0):Za.length===2&&(Yn=Za[0],si=Za[1],Ya=pn[0],xn=pn[1]);var li=Array.isArray(ha.data)?va.dtype:ka(ha.data),ui=B.allocType(li,Yn*si);$n(ui,ha.data,Yn,si,Ya,xn,ha.offset),Qa(ui,vn),B.freeType(ui)}return on}return ba||on(yr),on._reglType="buffer",on._buffer=va,on.subdata=Hn,Ft.profile&&(on.stats=va.stats),on.destroy=function(){Tn(va)},on}function ua(){at(Kr).forEach(function(yr){yr.buffer=Ve.createBuffer(),Ve.bindBuffer(yr.type,yr.buffer),Ve.bufferData(yr.type,yr.persistentData||yr.byteLength,yr.usage)})}return Ft.profile&&(Pt.getTotalBufferSize=function(){var yr=0;return Object.keys(Kr).forEach(function(Qr){yr+=Kr[Qr].stats.size}),yr}),{create:nn,createStream:Ra,destroyStream:Ba,clear:function(){at(Kr).forEach(Tn),_a.forEach(Tn)},getBuffer:function(yr){return yr&&yr._buffer instanceof Yr?yr._buffer:null},restore:ua,_initBuffer:Wn}}var ci=0,hi=0,Pi=1,Jn=1,Ti=4,_n=4,Ln={points:ci,point:hi,lines:Pi,line:Jn,triangles:Ti,triangle:_n,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},ji=0,Zi=1,un=4,rn=5120,nt=5121,Ke=5122,Qt=5123,Xt=5124,nr=5125,cr=34963,rr=35040,Ze=35044;function xt(Ve,Pt,Ft,Er){var Xr={},Kr=0,Yr={uint8:nt,uint16:Qt};Pt.oes_element_index_uint&&(Yr.uint32=nr);function _a(ua){this.id=Kr++,Xr[this.id]=this,this.buffer=ua,this.primType=un,this.vertCount=0,this.type=0}_a.prototype.bind=function(){this.buffer.bind()};var Ra=[];function Ba(ua){var yr=Ra.pop();return yr||(yr=new _a(Ft.create(null,cr,!0,!1)._buffer)),Wn(yr,ua,rr,-1,-1,0,0),yr}function Ua(ua){Ra.push(ua)}function Wn(ua,yr,Qr,ba,Fa,va,on){ua.buffer.bind();var Qa;if(yr){var Hn=on;!on&&(!Ut(yr)||Jt(yr)&&!Ut(yr.data))&&(Hn=Pt.oes_element_index_uint?nr:Qt),Ft._initBuffer(ua.buffer,yr,Qr,Hn,3)}else Ve.bufferData(cr,va,Qr),ua.buffer.dtype=Qa||nt,ua.buffer.usage=Qr,ua.buffer.dimension=3,ua.buffer.byteLength=va;if(Qa=on,!on){switch(ua.buffer.dtype){case nt:case rn:Qa=nt;break;case Qt:case Ke:Qa=Qt;break;case nr:case Xt:Qa=nr;break;default:}ua.buffer.dtype=Qa}ua.type=Qa;var ha=Fa;ha<0&&(ha=ua.buffer.byteLength,Qa===Qt?ha>>=1:Qa===nr&&(ha>>=2)),ua.vertCount=ha;var la=ba;if(ba<0){la=un;var vn=ua.buffer.dimension;vn===1&&(la=ji),vn===2&&(la=Zi),vn===3&&(la=un)}ua.primType=la}function Tn(ua){Er.elementsCount--,delete Xr[ua.id],ua.buffer.destroy(),ua.buffer=null}function nn(ua,yr){var Qr=Ft.create(null,cr,!0),ba=new _a(Qr._buffer);Er.elementsCount++;function Fa(va){if(!va)Qr(),ba.primType=un,ba.vertCount=0,ba.type=nt;else if(typeof va=="number")Qr(va),ba.primType=un,ba.vertCount=va|0,ba.type=nt;else{var on=null,Qa=Ze,Hn=-1,ha=-1,la=0,vn=0;Array.isArray(va)||Ut(va)||Jt(va)?on=va:("data"in va&&(on=va.data),"usage"in va&&(Qa=wa[va.usage]),"primitive"in va&&(Hn=Ln[va.primitive]),"count"in va&&(ha=va.count|0),"type"in va&&(vn=Yr[va.type]),"length"in va?la=va.length|0:(la=ha,vn===Qt||vn===Ke?la*=2:(vn===nr||vn===Xt)&&(la*=4))),Wn(ba,on,Qa,Hn,ha,la,vn)}return Fa}return Fa(ua),Fa._reglType="elements",Fa._elements=ba,Fa.subdata=function(va,on){return Qr.subdata(va,on),Fa},Fa.destroy=function(){Tn(ba)},Fa}return{create:nn,createStream:Ba,destroyStream:Ua,getElements:function(ua){return typeof ua=="function"&&ua._elements instanceof _a?ua._elements:null},clear:function(){at(Xr).forEach(Tn)}}}var Vt=new Float32Array(1),er=new Uint32Array(Vt.buffer),Tr=5123;function jr(Ve){for(var Pt=B.allocType(Tr,Ve.length),Ft=0;Ft>>31<<15,Kr=(Er<<1>>>24)-127,Yr=Er>>13&1023;if(Kr<-24)Pt[Ft]=Xr;else if(Kr<-14){var _a=-14-Kr;Pt[Ft]=Xr+(Yr+1024>>_a)}else Kr>15?Pt[Ft]=Xr+31744:Pt[Ft]=Xr+(Kr+15<<10)+Yr}return Pt}function Fr(Ve){return Array.isArray(Ve)||Ut(Ve)}var kr=34467,ra=3553,ja=34067,La=34069,Dn=6408,Mn=6406,_i=6407,ti=6409,Si=6410,ai=32854,Ao=32855,yo=36194,Vn=32819,Bo=32820,Mo=33635,co=34042,Ro=6402,ao=34041,Co=35904,Wo=35906,Po=36193,vi=33776,zi=33777,ho=33778,ro=33779,es=35986,Ho=35987,is=34798,as=35840,vs=35841,Yo=35842,po=35843,_s=36196,qo=5121,Io=5123,tl=5125,ts=5126,qs=10242,Xs=10243,ps=10497,ml=33071,xl=33648,fs=10240,Wl=10241,Ss=9728,ls=9729,No=9984,Do=9985,hs=9986,Jl=9987,du=33170,Ql=4352,Ou=4353,Uu=4354,Xu=34046,$u=3317,fc=37440,_c=37441,vu=37443,pu=37444,mu=33984,eu=[No,hs,Do,Jl],Vs=[0,ti,Si,_i,Dn],os={};os[ti]=os[Mn]=os[Ro]=1,os[ao]=os[Si]=2,os[_i]=os[Co]=3,os[Dn]=os[Wo]=4;function sl(Ve){return"[object "+Ve+"]"}var Tu=sl("HTMLCanvasElement"),ju=sl("OffscreenCanvas"),bc=sl("CanvasRenderingContext2D"),Hs=sl("ImageBitmap"),Af=sl("HTMLImageElement"),Xo=sl("HTMLVideoElement"),Mf=Object.keys(We).concat([Tu,ju,bc,Hs,Af,Xo]),ns=[];ns[qo]=1,ns[ts]=4,ns[Po]=2,ns[Io]=2,ns[tl]=4;var so=[];so[ai]=2,so[Ao]=2,so[yo]=2,so[ao]=4,so[vi]=.5,so[zi]=.5,so[ho]=1,so[ro]=1,so[es]=.5,so[Ho]=1,so[is]=1,so[as]=.5,so[vs]=.25,so[Yo]=.5,so[po]=.25,so[_s]=.5;function qu(Ve){return Array.isArray(Ve)&&(Ve.length===0||typeof Ve[0]=="number")}function hc(Ve){if(!Array.isArray(Ve))return!1;var Pt=Ve.length;return!(Pt===0||!Fr(Ve[0]))}function Ll(Ve){return Object.prototype.toString.call(Ve)}function Qc(Ve){return Ll(Ve)===Tu}function Au(Ve){return Ll(Ve)===ju}function Zu(Ve){return Ll(Ve)===bc}function ll(Ve){return Ll(Ve)===Hs}function ef(Ve){return Ll(Ve)===Af}function zc(Ve){return Ll(Ve)===Xo}function Ku(Ve){if(!Ve)return!1;var Pt=Ll(Ve);return Mf.indexOf(Pt)>=0?!0:qu(Ve)||hc(Ve)||Jt(Ve)}function Ju(Ve){return We[Object.prototype.toString.call(Ve)]|0}function Bc(Ve,Pt){var Ft=Pt.length;switch(Ve.type){case qo:case Io:case tl:case ts:var Er=B.allocType(Ve.type,Ft);Er.set(Pt),Ve.data=Er;break;case Po:Ve.data=jr(Pt);break;default:}}function Nc(Ve,Pt){return B.allocType(Ve.type===Po?ts:Ve.type,Pt)}function tu(Ve,Pt){Ve.type===Po?(Ve.data=jr(Pt),B.freeType(Pt)):Ve.data=Pt}function xc(Ve,Pt,Ft,Er,Xr,Kr){for(var Yr=Ve.width,_a=Ve.height,Ra=Ve.channels,Ba=Yr*_a*Ra,Ua=Nc(Ve,Ba),Wn=0,Tn=0;Tn<_a;++Tn)for(var nn=0;nn=1;)_a+=Yr*Ra*Ra,Ra/=2;return _a}else return Yr*Ft*Er}function Qu(Ve,Pt,Ft,Er,Xr,Kr,Yr){var _a={"don't care":Ql,"dont care":Ql,nice:Uu,fast:Ou},Ra={repeat:ps,clamp:ml,mirror:xl},Ba={nearest:Ss,linear:ls},Ua=u({mipmap:Jl,"nearest mipmap nearest":No,"linear mipmap nearest":Do,"nearest mipmap linear":hs,"linear mipmap linear":Jl},Ba),Wn={none:0,browser:pu},Tn={uint8:qo,rgba4:Vn,rgb565:Mo,"rgb5 a1":Bo},nn={alpha:Mn,luminance:ti,"luminance alpha":Si,rgb:_i,rgba:Dn,rgba4:ai,"rgb5 a1":Ao,rgb565:yo},ua={};Pt.ext_srgb&&(nn.srgb=Co,nn.srgba=Wo),Pt.oes_texture_float&&(Tn.float32=Tn.float=ts),Pt.oes_texture_half_float&&(Tn.float16=Tn["half float"]=Po),Pt.webgl_depth_texture&&(u(nn,{depth:Ro,"depth stencil":ao}),u(Tn,{uint16:Io,uint32:tl,"depth stencil":co})),Pt.webgl_compressed_texture_s3tc&&u(ua,{"rgb s3tc dxt1":vi,"rgba s3tc dxt1":zi,"rgba s3tc dxt3":ho,"rgba s3tc dxt5":ro}),Pt.webgl_compressed_texture_atc&&u(ua,{"rgb atc":es,"rgba atc explicit alpha":Ho,"rgba atc interpolated alpha":is}),Pt.webgl_compressed_texture_pvrtc&&u(ua,{"rgb pvrtc 4bppv1":as,"rgb pvrtc 2bppv1":vs,"rgba pvrtc 4bppv1":Yo,"rgba pvrtc 2bppv1":po}),Pt.webgl_compressed_texture_etc1&&(ua["rgb etc1"]=_s);var yr=Array.prototype.slice.call(Ve.getParameter(kr));Object.keys(ua).forEach(function(Lt){var Vr=ua[Lt];yr.indexOf(Vr)>=0&&(nn[Lt]=Vr)});var Qr=Object.keys(nn);Ft.textureFormats=Qr;var ba=[];Object.keys(nn).forEach(function(Lt){var Vr=nn[Lt];ba[Vr]=Lt});var Fa=[];Object.keys(Tn).forEach(function(Lt){var Vr=Tn[Lt];Fa[Vr]=Lt});var va=[];Object.keys(Ba).forEach(function(Lt){var Vr=Ba[Lt];va[Vr]=Lt});var on=[];Object.keys(Ua).forEach(function(Lt){var Vr=Ua[Lt];on[Vr]=Lt});var Qa=[];Object.keys(Ra).forEach(function(Lt){var Vr=Ra[Lt];Qa[Vr]=Lt});var Hn=Qr.reduce(function(Lt,Vr){var Gr=nn[Vr];return Gr===ti||Gr===Mn||Gr===ti||Gr===Si||Gr===Ro||Gr===ao||Pt.ext_srgb&&(Gr===Co||Gr===Wo)?Lt[Gr]=Gr:Gr===Ao||Vr.indexOf("rgba")>=0?Lt[Gr]=Dn:Lt[Gr]=_i,Lt},{});function ha(){this.internalformat=Dn,this.format=Dn,this.type=qo,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=pu,this.width=0,this.height=0,this.channels=0}function la(Lt,Vr){Lt.internalformat=Vr.internalformat,Lt.format=Vr.format,Lt.type=Vr.type,Lt.compressed=Vr.compressed,Lt.premultiplyAlpha=Vr.premultiplyAlpha,Lt.flipY=Vr.flipY,Lt.unpackAlignment=Vr.unpackAlignment,Lt.colorSpace=Vr.colorSpace,Lt.width=Vr.width,Lt.height=Vr.height,Lt.channels=Vr.channels}function vn(Lt,Vr){if(!(typeof Vr!="object"||!Vr)){if("premultiplyAlpha"in Vr&&(Lt.premultiplyAlpha=Vr.premultiplyAlpha),"flipY"in Vr&&(Lt.flipY=Vr.flipY),"alignment"in Vr&&(Lt.unpackAlignment=Vr.alignment),"colorSpace"in Vr&&(Lt.colorSpace=Wn[Vr.colorSpace]),"type"in Vr){var Gr=Vr.type;Lt.type=Tn[Gr]}var En=Lt.width,Hi=Lt.height,zo=Lt.channels,kn=!1;"shape"in Vr?(En=Vr.shape[0],Hi=Vr.shape[1],Vr.shape.length===3&&(zo=Vr.shape[2],kn=!0)):("radius"in Vr&&(En=Hi=Vr.radius),"width"in Vr&&(En=Vr.width),"height"in Vr&&(Hi=Vr.height),"channels"in Vr&&(zo=Vr.channels,kn=!0)),Lt.width=En|0,Lt.height=Hi|0,Lt.channels=zo|0;var wt=!1;if("format"in Vr){var Rt=Vr.format,Kt=Lt.internalformat=nn[Rt];Lt.format=Hn[Kt],Rt in Tn&&("type"in Vr||(Lt.type=Tn[Rt])),Rt in ua&&(Lt.compressed=!0),wt=!0}!kn&&wt?Lt.channels=os[Lt.format]:kn&&!wt&&Lt.channels!==Vs[Lt.format]&&(Lt.format=Lt.internalformat=Vs[Lt.channels])}}function Za(Lt){Ve.pixelStorei(fc,Lt.flipY),Ve.pixelStorei(_c,Lt.premultiplyAlpha),Ve.pixelStorei(vu,Lt.colorSpace),Ve.pixelStorei($u,Lt.unpackAlignment)}function qa(){ha.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function Ha(Lt,Vr){var Gr=null;if(Ku(Vr)?Gr=Vr:Vr&&(vn(Lt,Vr),"x"in Vr&&(Lt.xOffset=Vr.x|0),"y"in Vr&&(Lt.yOffset=Vr.y|0),Ku(Vr.data)&&(Gr=Vr.data)),Vr.copy){var En=Xr.viewportWidth,Hi=Xr.viewportHeight;Lt.width=Lt.width||En-Lt.xOffset,Lt.height=Lt.height||Hi-Lt.yOffset,Lt.needsCopy=!0}else if(!Gr)Lt.width=Lt.width||1,Lt.height=Lt.height||1,Lt.channels=Lt.channels||4;else if(Ut(Gr))Lt.channels=Lt.channels||4,Lt.data=Gr,!("type"in Vr)&&Lt.type===qo&&(Lt.type=Ju(Gr));else if(qu(Gr))Lt.channels=Lt.channels||4,Bc(Lt,Gr),Lt.alignment=1,Lt.needsFree=!0;else if(Jt(Gr)){var zo=Gr.data;!Array.isArray(zo)&&Lt.type===qo&&(Lt.type=Ju(zo));var kn=Gr.shape,wt=Gr.stride,Rt,Kt,Or,Jr,br,mr;kn.length===3?(Or=kn[2],mr=wt[2]):(Or=1,mr=1),Rt=kn[0],Kt=kn[1],Jr=wt[0],br=wt[1],Lt.alignment=1,Lt.width=Rt,Lt.height=Kt,Lt.channels=Or,Lt.format=Lt.internalformat=Vs[Or],Lt.needsFree=!0,xc(Lt,zo,Jr,br,mr,Gr.offset)}else if(Qc(Gr)||Au(Gr)||Zu(Gr))Qc(Gr)||Au(Gr)?Lt.element=Gr:Lt.element=Gr.canvas,Lt.width=Lt.element.width,Lt.height=Lt.element.height,Lt.channels=4;else if(ll(Gr))Lt.element=Gr,Lt.width=Gr.width,Lt.height=Gr.height,Lt.channels=4;else if(ef(Gr))Lt.element=Gr,Lt.width=Gr.naturalWidth,Lt.height=Gr.naturalHeight,Lt.channels=4;else if(zc(Gr))Lt.element=Gr,Lt.width=Gr.videoWidth,Lt.height=Gr.videoHeight,Lt.channels=4;else if(hc(Gr)){var or=Lt.width||Gr[0].length,Yt=Lt.height||Gr.length,ar=Lt.channels;Fr(Gr[0][0])?ar=ar||Gr[0][0].length:ar=ar||1;for(var Nt=Ee.shape(Gr),Cr=1,ta=0;ta>=Hi,Gr.height>>=Hi,Ha(Gr,En[Hi]),Lt.mipmask|=1<=0&&!("faces"in Vr)&&(Lt.genMipmaps=!0)}if("mag"in Vr){var En=Vr.mag;Lt.magFilter=Ba[En]}var Hi=Lt.wrapS,zo=Lt.wrapT;if("wrap"in Vr){var kn=Vr.wrap;typeof kn=="string"?Hi=zo=Ra[kn]:Array.isArray(kn)&&(Hi=Ra[kn[0]],zo=Ra[kn[1]])}else{if("wrapS"in Vr){var wt=Vr.wrapS;Hi=Ra[wt]}if("wrapT"in Vr){var Rt=Vr.wrapT;zo=Ra[Rt]}}if(Lt.wrapS=Hi,Lt.wrapT=zo,"anisotropic"in Vr){var Kt=Vr.anisotropic;Lt.anisotropic=Vr.anisotropic}if("mipmap"in Vr){var Or=!1;switch(typeof Vr.mipmap){case"string":Lt.mipmapHint=_a[Vr.mipmap],Lt.genMipmaps=!0,Or=!0;break;case"boolean":Or=Lt.genMipmaps=Vr.mipmap;break;case"object":Lt.genMipmaps=!1,Or=!0;break;default:}Or&&!("min"in Vr)&&(Lt.minFilter=No)}}function Ns(Lt,Vr){Ve.texParameteri(Vr,Wl,Lt.minFilter),Ve.texParameteri(Vr,fs,Lt.magFilter),Ve.texParameteri(Vr,qs,Lt.wrapS),Ve.texParameteri(Vr,Xs,Lt.wrapT),Pt.ext_texture_filter_anisotropic&&Ve.texParameteri(Vr,Xu,Lt.anisotropic),Lt.genMipmaps&&(Ve.hint(du,Lt.mipmapHint),Ve.generateMipmap(Vr))}var nl=0,As={},Ms=Ft.maxTextureUnits,Ps=Array(Ms).map(function(){return null});function Ai(Lt){ha.call(this),this.mipmask=0,this.internalformat=Dn,this.id=nl++,this.refCount=1,this.target=Lt,this.texture=Ve.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new Fo,Yr.profile&&(this.stats={size:0})}function Os(Lt){Ve.activeTexture(mu),Ve.bindTexture(Lt.target,Lt.texture)}function jo(){var Lt=Ps[0];Lt?Ve.bindTexture(Lt.target,Lt.texture):Ve.bindTexture(ra,null)}function fl(Lt){var Vr=Lt.texture,Gr=Lt.unit,En=Lt.target;Gr>=0&&(Ve.activeTexture(mu+Gr),Ve.bindTexture(En,null),Ps[Gr]=null),Ve.deleteTexture(Vr),Lt.texture=null,Lt.params=null,Lt.pixels=null,Lt.refCount=0,delete As[Lt.id],Kr.textureCount--}u(Ai.prototype,{bind:function(){var Lt=this;Lt.bindCount+=1;var Vr=Lt.unit;if(Vr<0){for(var Gr=0;Gr0)continue;En.unit=-1}Ps[Gr]=Lt,Vr=Gr;break}Vr>=Ms,Yr.profile&&Kr.maxTextureUnits>br)-Or,mr.height=mr.height||(Gr.height>>br)-Jr,Os(Gr),Yn(mr,ra,Or,Jr,br),jo(),xn(mr),En}function zo(kn,wt){var Rt=kn|0,Kt=wt|0||Rt;if(Rt===Gr.width&&Kt===Gr.height)return En;En.width=Gr.width=Rt,En.height=Gr.height=Kt,Os(Gr);for(var Or=0;Gr.mipmask>>Or;++Or){var Jr=Rt>>Or,br=Kt>>Or;if(!Jr||!br)break;Ve.texImage2D(ra,Or,Gr.format,Jr,br,0,Gr.format,Gr.type,null)}return jo(),Yr.profile&&(Gr.stats.size=ru(Gr.internalformat,Gr.type,Rt,Kt,!1,!1)),En}return En(Lt,Vr),En.subimage=Hi,En.resize=zo,En._reglType="texture2d",En._texture=Gr,Yr.profile&&(En.stats=Gr.stats),En.destroy=function(){Gr.decRef()},En}function Sl(Lt,Vr,Gr,En,Hi,zo){var kn=new Ai(ja);As[kn.id]=kn,Kr.cubeCount++;var wt=new Array(6);function Rt(Jr,br,mr,or,Yt,ar){var Nt,Cr=kn.texInfo;for(Fo.call(Cr),Nt=0;Nt<6;++Nt)wt[Nt]=Wi();if(typeof Jr=="number"||!Jr){var ta=Jr|0||1;for(Nt=0;Nt<6;++Nt)ui(wt[Nt],ta,ta)}else if(typeof Jr=="object")if(br)Ri(wt[0],Jr),Ri(wt[1],br),Ri(wt[2],mr),Ri(wt[3],or),Ri(wt[4],Yt),Ri(wt[5],ar);else if(Js(Cr,Jr),vn(kn,Jr),"faces"in Jr){var xa=Jr.faces;for(Nt=0;Nt<6;++Nt)la(wt[Nt],kn),Ri(wt[Nt],xa[Nt])}else for(Nt=0;Nt<6;++Nt)Ri(wt[Nt],Jr);for(la(kn,wt[0]),Cr.genMipmaps?kn.mipmask=(wt[0].width<<1)-1:kn.mipmask=wt[0].mipmask,kn.internalformat=wt[0].internalformat,Rt.width=wt[0].width,Rt.height=wt[0].height,Os(kn),Nt=0;Nt<6;++Nt)cs(wt[Nt],La+Nt);for(Ns(Cr,ja),jo(),Yr.profile&&(kn.stats.size=ru(kn.internalformat,kn.type,Rt.width,Rt.height,Cr.genMipmaps,!0)),Rt.format=ba[kn.internalformat],Rt.type=Fa[kn.type],Rt.mag=va[Cr.magFilter],Rt.min=on[Cr.minFilter],Rt.wrapS=Qa[Cr.wrapS],Rt.wrapT=Qa[Cr.wrapT],Nt=0;Nt<6;++Nt)Ml(wt[Nt]);return Rt}function Kt(Jr,br,mr,or,Yt){var ar=mr|0,Nt=or|0,Cr=Yt|0,ta=Ya();return la(ta,kn),ta.width=0,ta.height=0,Ha(ta,br),ta.width=ta.width||(kn.width>>Cr)-ar,ta.height=ta.height||(kn.height>>Cr)-Nt,Os(kn),Yn(ta,La+Jr,ar,Nt,Cr),jo(),xn(ta),Rt}function Or(Jr){var br=Jr|0;if(br!==kn.width){Rt.width=kn.width=br,Rt.height=kn.height=br,Os(kn);for(var mr=0;mr<6;++mr)for(var or=0;kn.mipmask>>or;++or)Ve.texImage2D(La+mr,or,kn.format,br>>or,br>>or,0,kn.format,kn.type,null);return jo(),Yr.profile&&(kn.stats.size=ru(kn.internalformat,kn.type,Rt.width,Rt.height,!1,!0)),Rt}}return Rt(Lt,Vr,Gr,En,Hi,zo),Rt.subimage=Kt,Rt.resize=Or,Rt._reglType="textureCube",Rt._texture=kn,Yr.profile&&(Rt.stats=kn.stats),Rt.destroy=function(){kn.decRef()},Rt}function di(){for(var Lt=0;Lt>En,Gr.height>>En,0,Gr.internalformat,Gr.type,null);else for(var Hi=0;Hi<6;++Hi)Ve.texImage2D(La+Hi,En,Gr.internalformat,Gr.width>>En,Gr.height>>En,0,Gr.internalformat,Gr.type,null);Ns(Gr.texInfo,Gr.target)})}function lo(){for(var Lt=0;Lt=0?Ml=!0:Ra.indexOf(Fo)>=0&&(Ml=!1))),("depthTexture"in Ai||"depthStencilTexture"in Ai)&&(Ps=!!(Ai.depthTexture||Ai.depthStencilTexture)),"depth"in Ai&&(typeof Ai.depth=="boolean"?cs=Ai.depth:(nl=Ai.depth,Ls=!1)),"stencil"in Ai&&(typeof Ai.stencil=="boolean"?Ls=Ai.stencil:(As=Ai.stencil,cs=!1)),"depthStencil"in Ai&&(typeof Ai.depthStencil=="boolean"?cs=Ls=Ai.depthStencil:(Ms=Ai.depthStencil,cs=!1,Ls=!1))}var jo=null,fl=null,hl=null,Sl=null;if(Array.isArray(Wi))jo=Wi.map(ua);else if(Wi)jo=[ua(Wi)];else for(jo=new Array(Ns),li=0;li0&&(xn.depth=Ha[0].depth,xn.stencil=Ha[0].stencil,xn.depthStencil=Ha[0].depthStencil),Ha[Ya]?Ha[Ya](xn):Ha[Ya]=la(xn)}return u(pn,{width:li,height:li,color:Fo})}function Yn(si){var Ya,xn=si|0;if(xn===pn.width)return pn;var li=pn.color;for(Ya=0;Ya=li.byteLength?ui.subdata(li):(ui.destroy(),la.buffers[si]=null)),la.buffers[si]||(ui=la.buffers[si]=Xr.create(Ya,Uc,!1,!0)),xn.buffer=Xr.getBuffer(ui),xn.size=xn.buffer.dimension|0,xn.normalized=!1,xn.type=xn.buffer.dtype,xn.offset=0,xn.stride=0,xn.divisor=0,xn.state=1,pn[si]=1}else Xr.getBuffer(Ya)?(xn.buffer=Xr.getBuffer(Ya),xn.size=xn.buffer.dimension|0,xn.normalized=!1,xn.type=xn.buffer.dtype,xn.offset=0,xn.stride=0,xn.divisor=0,xn.state=1):Xr.getBuffer(Ya.buffer)?(xn.buffer=Xr.getBuffer(Ya.buffer),xn.size=(+Ya.size||xn.buffer.dimension)|0,xn.normalized=!!Ya.normalized||!1,"type"in Ya?xn.type=$r[Ya.type]:xn.type=xn.buffer.dtype,xn.offset=(Ya.offset||0)|0,xn.stride=(Ya.stride||0)|0,xn.divisor=(Ya.divisor||0)|0,xn.state=1):"x"in Ya&&(xn.x=+Ya.x||0,xn.y=+Ya.y||0,xn.z=+Ya.z||0,xn.w=+Ya.w||0,xn.state=2)}for(var Ri=0;Ri1)for(var Za=0;Zayr&&(yr=Qr.stats.uniformsCount)}),yr},Ft.getMaxAttributesCount=function(){var yr=0;return Ua.forEach(function(Qr){Qr.stats.attributesCount>yr&&(yr=Qr.stats.attributesCount)}),yr});function ua(){Xr={},Kr={};for(var yr=0;yr16&&(Ft=Wa(Ft,Ve.length*8));for(var Er=Array(16),Xr=Array(16),Kr=0;Kr<16;Kr++)Er[Kr]=Ft[Kr]^909522486,Xr[Kr]=Ft[Kr]^1549556828;var Yr=Wa(Er.concat(Fu(Pt)),512+Pt.length*8);return Mt(Wa(Xr.concat(Yr),768))}function Su(Ve){for(var Pt=Cf?"0123456789ABCDEF":"0123456789abcdef",Ft="",Er,Xr=0;Xr>>4&15)+Pt.charAt(Er&15);return Ft}function lf(Ve){for(var Pt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ft="",Er=Ve.length,Xr=0;XrVe.length*8?Ft+=Mc:Ft+=Pt.charAt(Kr>>>6*(3-Yr)&63);return Ft}function Lf(Ve,Pt){var Ft=Pt.length,Er=Array(),Xr,Kr,Yr,_a,Ra=Array(Math.ceil(Ve.length/2));for(Xr=0;Xr0;){for(_a=Array(),Yr=0,Xr=0;Xr0||Kr>0)&&(_a[_a.length]=Kr);Er[Er.length]=Yr,Ra=_a}var Ba="";for(Xr=Er.length-1;Xr>=0;Xr--)Ba+=Pt.charAt(Er[Xr]);var Ua=Math.ceil(Ve.length*8/(Math.log(Pt.length)/Math.log(2)));for(Xr=Ba.length;Xr>>6&31,128|Er&63):Er<=65535?Pt+=String.fromCharCode(224|Er>>>12&15,128|Er>>>6&63,128|Er&63):Er<=2097151&&(Pt+=String.fromCharCode(240|Er>>>18&7,128|Er>>>12&63,128|Er>>>6&63,128|Er&63));return Pt}function Fu(Ve){for(var Pt=Array(Ve.length>>2),Ft=0;Ft>5]|=(Ve.charCodeAt(Ft/8)&255)<<24-Ft%32;return Pt}function Mt(Ve){for(var Pt="",Ft=0;Ft>5]>>>24-Ft%32&255);return Pt}function jt(Ve,Pt){return Ve>>>Pt|Ve<<32-Pt}function _r(Ve,Pt){return Ve>>>Pt}function dr(Ve,Pt,Ft){return Ve&Pt^~Ve&Ft}function ea(Ve,Pt,Ft){return Ve&Pt^Ve&Ft^Pt&Ft}function Aa(Ve){return jt(Ve,2)^jt(Ve,13)^jt(Ve,22)}function Ga(Ve){return jt(Ve,6)^jt(Ve,11)^jt(Ve,25)}function fn(Ve){return jt(Ve,7)^jt(Ve,18)^_r(Ve,3)}function gn(Ve){return jt(Ve,17)^jt(Ve,19)^_r(Ve,10)}var qn=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 Wa(Ve,Pt){var Ft=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),Er=new Array(64),Xr,Kr,Yr,_a,Ra,Ba,Ua,Wn,Tn,nn,ua,yr;for(Ve[Pt>>5]|=128<<24-Pt%32,Ve[(Pt+64>>9<<4)+15]=Pt,Tn=0;Tn>16)+(Pt>>16)+(Ft>>16);return Er<<16|Ft&65535}function sn(Ve){return Array.prototype.slice.call(Ve)}function Pa(Ve){return sn(Ve).join("")}function Qn(Ve){var Pt=Ve&&Ve.cache,Ft=0,Er=[],Xr=[],Kr=[];function Yr(ua,yr){var Qr=yr&&yr.stable;if(!Qr){for(var ba=0;ba0&&(ua.push(Fa,"="),ua.push.apply(ua,sn(arguments)),ua.push(";")),Fa}return u(yr,{def:ba,toString:function(){return Pa([Qr.length>0?"var "+Qr.join(",")+";":"",Pa(ua)])}})}function Ra(){var ua=_a(),yr=_a(),Qr=ua.toString,ba=yr.toString;function Fa(va,on){yr(va,on,"=",ua.def(va,on),";")}return u(function(){ua.apply(ua,sn(arguments))},{def:ua.def,entry:ua,exit:yr,save:Fa,set:function(va,on,Qa){Fa(va,on),ua(va,on,"=",Qa,";")},toString:function(){return Qr()+ba()}})}function Ba(){var ua=Pa(arguments),yr=Ra(),Qr=Ra(),ba=yr.toString,Fa=Qr.toString;return u(yr,{then:function(){return yr.apply(yr,sn(arguments)),this},else:function(){return Qr.apply(Qr,sn(arguments)),this},toString:function(){var va=Fa();return va&&(va="else{"+va+"}"),Pa(["if(",ua,"){",ba(),"}",va])}})}var Ua=_a(),Wn={};function Tn(ua,yr){var Qr=[];function ba(){var Hn="a"+Qr.length;return Qr.push(Hn),Hn}yr=yr||0;for(var Fa=0;Fa":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},oa={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},ma={cw:Be,ccw:$e};function Ma(Ve){return Array.isArray(Ve)||Ut(Ve)||Jt(Ve)}function Ca(Ve){return Ve.sort(function(Pt,Ft){return Pt===de?-1:Ft===de?1:Pt=1,Er>=2,Pt)}else if(Ft===Go){var Xr=Ve.data;return new aa(Xr.thisDep,Xr.contextDep,Xr.propDep,Pt)}else{if(Ft===bs)return new aa(!1,!1,!1,Pt);if(Ft===Jo){for(var Kr=!1,Yr=!1,_a=!1,Ra=0;Ra=1&&(Yr=!0),Ua>=2&&(_a=!0)}else Ba.type===Go&&(Kr=Kr||Ba.data.thisDep,Yr=Yr||Ba.data.contextDep,_a=_a||Ba.data.propDep)}return new aa(Kr,Yr,_a,Pt)}else return new aa(Ft===wo,Ft===no,Ft===Rn,Pt)}}var xi=new aa(!1,!1,!1,function(){});function Ui(Ve,Pt,Ft,Er,Xr,Kr,Yr,_a,Ra,Ba,Ua,Wn,Tn,nn,ua,yr){var Qr=Ba.Record,ba={add:32774,subtract:32778,"reverse subtract":32779};Ft.ext_blend_minmax&&(ba.min=Je,ba.max=it);var Fa=Ft.angle_instanced_arrays,va=Ft.webgl_draw_buffers,on=Ft.oes_vertex_array_object,Qa={dirty:!0,profile:yr.profile},Hn={},ha=[],la={},vn={};function Za(wt){return wt.replace(".","_")}function qa(wt,Rt,Kt){var Or=Za(wt);ha.push(wt),Hn[Or]=Qa[Or]=!!Kt,la[Or]=Rt}function Ha(wt,Rt,Kt){var Or=Za(wt);ha.push(wt),Array.isArray(Kt)?(Qa[Or]=Kt.slice(),Hn[Or]=Kt.slice()):Qa[Or]=Hn[Or]=Kt,vn[Or]=Rt}function pn(wt){return!!isNaN(wt)}qa(Es,Sa),qa(Vo,ia),Ha(yl,"blendColor",[0,0,0,0]),Ha(Ws,"blendEquationSeparate",[ur,ur]),Ha(xs,"blendFuncSeparate",[sr,qt,sr,qt]),qa(bi,an,!0),Ha(ss,"depthFunc",qr),Ha(ms,"depthRange",[0,1]),Ha($o,"depthMask",!0),Ha(ul,ul,[!0,!0,!0,!0]),qa(yu,Wr),Ha(iu,"cullFace",we),Ha(zu,zu,$e),Ha(Tl,Tl,1),qa(Eu,ei),Ha(Al,"polygonOffset",[0,0]),qa(nc,Mi),qa(Xi,pi),Ha(vo,"sampleCoverage",[1,!1]),qa(mf,ln),Ha(kc,"stencilMask",-1),Ha(ou,"stencilFunc",[Ct,0,-1]),Ha(Me,"stencilOpSeparate",[le,bt,bt,bt]),Ha(L,"stencilOpSeparate",[we,bt,bt,bt]),qa(J,wn),Ha(fe,"scissor",[0,0,Ve.drawingBufferWidth,Ve.drawingBufferHeight]),Ha(de,de,[0,0,Ve.drawingBufferWidth,Ve.drawingBufferHeight]);var Yn={gl:Ve,context:Tn,strings:Pt,next:Hn,current:Qa,draw:Wn,elements:Kr,buffer:Xr,shader:Ua,attributes:Ba.state,vao:Ba,uniforms:Ra,framebuffer:_a,extensions:Ft,timer:nn,isBufferArgs:Ma},si={primTypes:Ln,compareFuncs:Zr,blendFuncs:Ea,blendEquations:ba,stencilOps:oa,glTypes:$r,orientationType:ma};va&&(si.backBuffer=[we],si.drawBuffer=m(Er.maxDrawbuffers,function(wt){return wt===0?[0]:m(wt,function(Rt){return ya+Rt})}));var Ya=0;function xn(){var wt=Qn({cache:ua}),Rt=wt.link,Kt=wt.global;wt.id=Ya++,wt.batchId="0";var Or=Rt(Yn),Jr=wt.shared={props:"a0"};Object.keys(Yn).forEach(function(ar){Jr[ar]=Kt.def(Or,".",ar)});var br=wt.next={},mr=wt.current={};Object.keys(vn).forEach(function(ar){Array.isArray(Qa[ar])&&(br[ar]=Kt.def(Jr.next,".",ar),mr[ar]=Kt.def(Jr.current,".",ar))});var or=wt.constants={};Object.keys(si).forEach(function(ar){or[ar]=Kt.def(JSON.stringify(si[ar]))}),wt.invoke=function(ar,Nt){switch(Nt.type){case ni:var Cr=["this",Jr.context,Jr.props,wt.batchId];return ar.def(Rt(Nt.data),".call(",Cr.slice(0,Math.max(Nt.data.length+1,4)),")");case Rn:return ar.def(Jr.props,Nt.data);case no:return ar.def(Jr.context,Nt.data);case wo:return ar.def("this",Nt.data);case Go:return Nt.data.append(wt,ar),Nt.data.ref;case bs:return Nt.data.toString();case Jo:return Nt.data.map(function(ta){return wt.invoke(ar,ta)})}},wt.attribCache={};var Yt={};return wt.scopeAttrib=function(ar){var Nt=Pt.id(ar);if(Nt in Yt)return Yt[Nt];var Cr=Ba.scope[Nt];Cr||(Cr=Ba.scope[Nt]=new Qr);var ta=Yt[Nt]=Rt(Cr);return ta},wt}function li(wt){var Rt=wt.static,Kt=wt.dynamic,Or;if(Ae in Rt){var Jr=!!Rt[Ae];Or=Bn(function(mr,or){return Jr}),Or.enable=Jr}else if(Ae in Kt){var br=Kt[Ae];Or=ri(br,function(mr,or){return mr.invoke(or,br)})}return Or}function ui(wt,Rt){var Kt=wt.static,Or=wt.dynamic;if(Ye in Kt){var Jr=Kt[Ye];return Jr?(Jr=_a.getFramebuffer(Jr),Bn(function(mr,or){var Yt=mr.link(Jr),ar=mr.shared;or.set(ar.framebuffer,".next",Yt);var Nt=ar.context;return or.set(Nt,"."+Xe,Yt+".width"),or.set(Nt,"."+st,Yt+".height"),Yt})):Bn(function(mr,or){var Yt=mr.shared;or.set(Yt.framebuffer,".next","null");var ar=Yt.context;return or.set(ar,"."+Xe,ar+"."+Ot),or.set(ar,"."+st,ar+"."+$t),"null"})}else if(Ye in Or){var br=Or[Ye];return ri(br,function(mr,or){var Yt=mr.invoke(or,br),ar=mr.shared,Nt=ar.framebuffer,Cr=or.def(Nt,".getFramebuffer(",Yt,")");or.set(Nt,".next",Cr);var ta=ar.context;return or.set(ta,"."+Xe,Cr+"?"+Cr+".width:"+ta+"."+Ot),or.set(ta,"."+st,Cr+"?"+Cr+".height:"+ta+"."+$t),Cr})}else return null}function Ri(wt,Rt,Kt){var Or=wt.static,Jr=wt.dynamic;function br(Yt){if(Yt in Or){var ar=Or[Yt],Nt=!0,Cr=ar.x|0,ta=ar.y|0,xa,Zn;return"width"in ar?xa=ar.width|0:Nt=!1,"height"in ar?Zn=ar.height|0:Nt=!1,new aa(!Nt&&Rt&&Rt.thisDep,!Nt&&Rt&&Rt.contextDep,!Nt&&Rt&&Rt.propDep,function(Xn,On){var Fn=Xn.shared.context,hn=xa;"width"in ar||(hn=On.def(Fn,".",Xe,"-",Cr));var Cn=Zn;return"height"in ar||(Cn=On.def(Fn,".",st,"-",ta)),[Cr,ta,hn,Cn]})}else if(Yt in Jr){var mn=Jr[Yt],dn=ri(mn,function(Xn,On){var Fn=Xn.invoke(On,mn),hn=Xn.shared.context,Cn=On.def(Fn,".x|0"),In=On.def(Fn,".y|0"),fi=On.def('"width" in ',Fn,"?",Fn,".width|0:","(",hn,".",Xe,"-",Cn,")"),Ko=On.def('"height" in ',Fn,"?",Fn,".height|0:","(",hn,".",st,"-",In,")");return[Cn,In,fi,Ko]});return Rt&&(dn.thisDep=dn.thisDep||Rt.thisDep,dn.contextDep=dn.contextDep||Rt.contextDep,dn.propDep=dn.propDep||Rt.propDep),dn}else return Rt?new aa(Rt.thisDep,Rt.contextDep,Rt.propDep,function(Xn,On){var Fn=Xn.shared.context;return[0,0,On.def(Fn,".",Xe),On.def(Fn,".",st)]}):null}var mr=br(de);if(mr){var or=mr;mr=new aa(mr.thisDep,mr.contextDep,mr.propDep,function(Yt,ar){var Nt=or.append(Yt,ar),Cr=Yt.shared.context;return ar.set(Cr,"."+Qe,Nt[2]),ar.set(Cr,"."+ht,Nt[3]),Nt})}return{viewport:mr,scissor_box:br(fe)}}function cs(wt,Rt){var Kt=wt.static,Or=typeof Kt[dt]=="string"&&typeof Kt[et]=="string";if(Or){if(Object.keys(Rt.dynamic).length>0)return null;var Jr=Rt.static,br=Object.keys(Jr);if(br.length>0&&typeof Jr[br[0]]=="number"){for(var mr=[],or=0;or"+Cn+"?"+Nt+".constant["+Cn+"]:0;"}).join(""),"}}else{","if(",xa,"(",Nt,".buffer)){",Xn,"=",Zn,".createStream(",pr,",",Nt,".buffer);","}else{",Xn,"=",Zn,".getBuffer(",Nt,".buffer);","}",On,'="type" in ',Nt,"?",ta.glTypes,"[",Nt,".type]:",Xn,".dtype;",mn.normalized,"=!!",Nt,".normalized;");function Fn(hn){ar(mn[hn],"=",Nt,".",hn,"|0;")}return Fn("size"),Fn("offset"),Fn("stride"),Fn("divisor"),ar("}}"),ar.exit("if(",mn.isStream,"){",Zn,".destroyStream(",Xn,");","}"),mn}Jr[br]=ri(mr,or)}),Jr}function Ns(wt){var Rt=wt.static,Kt=wt.dynamic,Or={};return Object.keys(Rt).forEach(function(Jr){var br=Rt[Jr];Or[Jr]=Bn(function(mr,or){return typeof br=="number"||typeof br=="boolean"?""+br:mr.link(br)})}),Object.keys(Kt).forEach(function(Jr){var br=Kt[Jr];Or[Jr]=ri(br,function(mr,or){return mr.invoke(or,br)})}),Or}function nl(wt,Rt,Kt,Or,Jr){var br=wt.static,mr=wt.dynamic,or=cs(wt,Rt),Yt=ui(wt,Jr),ar=Ri(wt,Yt,Jr),Nt=Wi(wt,Jr),Cr=Ml(wt,Jr),ta=Ls(wt,Jr,or);function xa(Fn){var hn=ar[Fn];hn&&(Cr[Fn]=hn)}xa(de),xa(Za(fe));var Zn=Object.keys(Cr).length>0,mn={framebuffer:Yt,draw:Nt,shader:ta,state:Cr,dirty:Zn,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(mn.profile=li(wt,Jr),mn.uniforms=Fo(Kt,Jr),mn.drawVAO=mn.scopeVAO=Nt.vao,!mn.drawVAO&&ta.program&&!or&&Ft.angle_instanced_arrays&&Nt.static.elements){var dn=!0,Xn=ta.program.attributes.map(function(Fn){var hn=Rt.static[Fn];return dn=dn&&!!hn,hn});if(dn&&Xn.length>0){var On=Ba.getVAO(Ba.createVAO({attributes:Xn,elements:Nt.static.elements}));mn.drawVAO=new aa(null,null,null,function(Fn,hn){return Fn.link(On)}),mn.useVAO=!0}}return or?mn.useVAO=!0:mn.attributes=Js(Rt,Jr),mn.context=Ns(Or,Jr),mn}function As(wt,Rt,Kt){var Or=wt.shared,Jr=Or.context,br=wt.scope();Object.keys(Kt).forEach(function(mr){Rt.save(Jr,"."+mr);var or=Kt[mr],Yt=or.append(wt,Rt);Array.isArray(Yt)?br(Jr,".",mr,"=[",Yt.join(),"];"):br(Jr,".",mr,"=",Yt,";")}),Rt(br)}function Ms(wt,Rt,Kt,Or){var Jr=wt.shared,br=Jr.gl,mr=Jr.framebuffer,or;va&&(or=Rt.def(Jr.extensions,".webgl_draw_buffers"));var Yt=wt.constants,ar=Yt.drawBuffer,Nt=Yt.backBuffer,Cr;Kt?Cr=Kt.append(wt,Rt):Cr=Rt.def(mr,".next"),Or||Rt("if(",Cr,"!==",mr,".cur){"),Rt("if(",Cr,"){",br,".bindFramebuffer(",Nr,",",Cr,".framebuffer);"),va&&Rt(or,".drawBuffersWEBGL(",ar,"[",Cr,".colorAttachments.length]);"),Rt("}else{",br,".bindFramebuffer(",Nr,",null);"),va&&Rt(or,".drawBuffersWEBGL(",Nt,");"),Rt("}",mr,".cur=",Cr,";"),Or||Rt("}")}function Ps(wt,Rt,Kt){var Or=wt.shared,Jr=Or.gl,br=wt.current,mr=wt.next,or=Or.current,Yt=Or.next,ar=wt.cond(or,".dirty");ha.forEach(function(Nt){var Cr=Za(Nt);if(!(Cr in Kt.state)){var ta,xa;if(Cr in mr){ta=mr[Cr],xa=br[Cr];var Zn=m(Qa[Cr].length,function(dn){return ar.def(ta,"[",dn,"]")});ar(wt.cond(Zn.map(function(dn,Xn){return dn+"!=="+xa+"["+Xn+"]"}).join("||")).then(Jr,".",vn[Cr],"(",Zn,");",Zn.map(function(dn,Xn){return xa+"["+Xn+"]="+dn}).join(";"),";"))}else{ta=ar.def(Yt,".",Cr);var mn=wt.cond(ta,"!==",or,".",Cr);ar(mn),Cr in la?mn(wt.cond(ta).then(Jr,".enable(",la[Cr],");").else(Jr,".disable(",la[Cr],");"),or,".",Cr,"=",ta,";"):mn(Jr,".",vn[Cr],"(",ta,");",or,".",Cr,"=",ta,";")}}}),Object.keys(Kt.state).length===0&&ar(or,".dirty=false;"),Rt(ar)}function Ai(wt,Rt,Kt,Or){var Jr=wt.shared,br=wt.current,mr=Jr.current,or=Jr.gl,Yt;Ca(Object.keys(Kt)).forEach(function(ar){var Nt=Kt[ar];if(!(Or&&!Or(Nt))){var Cr=Nt.append(wt,Rt);if(la[ar]){var ta=la[ar];Sn(Nt)?(Yt=wt.link(Cr,{stable:!0}),Rt(wt.cond(Yt).then(or,".enable(",ta,");").else(or,".disable(",ta,");")),Rt(mr,".",ar,"=",Yt,";")):(Rt(wt.cond(Cr).then(or,".enable(",ta,");").else(or,".disable(",ta,");")),Rt(mr,".",ar,"=",Cr,";"))}else if(Fr(Cr)){var xa=br[ar];Rt(or,".",vn[ar],"(",Cr,");",Cr.map(function(Zn,mn){return xa+"["+mn+"]="+Zn}).join(";"),";")}else Sn(Nt)?(Yt=wt.link(Cr,{stable:!0}),Rt(or,".",vn[ar],"(",Yt,");",mr,".",ar,"=",Yt,";")):Rt(or,".",vn[ar],"(",Cr,");",mr,".",ar,"=",Cr,";")}})}function Os(wt,Rt){Fa&&(wt.instancing=Rt.def(wt.shared.extensions,".angle_instanced_arrays"))}function jo(wt,Rt,Kt,Or,Jr){var br=wt.shared,mr=wt.stats,or=br.current,Yt=br.timer,ar=Kt.profile;function Nt(){return typeof performance>"u"?"Date.now()":"performance.now()"}var Cr,ta;function xa(Fn){Cr=Rt.def(),Fn(Cr,"=",Nt(),";"),typeof Jr=="string"?Fn(mr,".count+=",Jr,";"):Fn(mr,".count++;"),nn&&(Or?(ta=Rt.def(),Fn(ta,"=",Yt,".getNumPendingQueries();")):Fn(Yt,".beginQuery(",mr,");"))}function Zn(Fn){Fn(mr,".cpuTime+=",Nt(),"-",Cr,";"),nn&&(Or?Fn(Yt,".pushScopeStats(",ta,",",Yt,".getNumPendingQueries(),",mr,");"):Fn(Yt,".endQuery();"))}function mn(Fn){var hn=Rt.def(or,".profile");Rt(or,".profile=",Fn,";"),Rt.exit(or,".profile=",hn,";")}var dn;if(ar){if(Sn(ar)){ar.enable?(xa(Rt),Zn(Rt.exit),mn("true")):mn("false");return}dn=ar.append(wt,Rt),mn(dn)}else dn=Rt.def(or,".profile");var Xn=wt.block();xa(Xn),Rt("if(",dn,"){",Xn,"}");var On=wt.block();Zn(On),Rt.exit("if(",dn,"){",On,"}")}function fl(wt,Rt,Kt,Or,Jr){var br=wt.shared;function mr(Yt){switch(Yt){case Lo:case Is:case zs:return 2;case bo:case Ys:case Il:return 3;case ds:case Ks:case _u:return 4;default:return 1}}function or(Yt,ar,Nt){var Cr=br.gl,ta=Rt.def(Yt,".location"),xa=Rt.def(br.attributes,"[",ta,"]"),Zn=Nt.state,mn=Nt.buffer,dn=[Nt.x,Nt.y,Nt.z,Nt.w],Xn=["buffer","normalized","offset","stride"];function On(){Rt("if(!",xa,".buffer){",Cr,".enableVertexAttribArray(",ta,");}");var hn=Nt.type,Cn;if(Nt.size?Cn=Rt.def(Nt.size,"||",ar):Cn=ar,Rt("if(",xa,".type!==",hn,"||",xa,".size!==",Cn,"||",Xn.map(function(fi){return xa+"."+fi+"!=="+Nt[fi]}).join("||"),"){",Cr,".bindBuffer(",pr,",",mn,".buffer);",Cr,".vertexAttribPointer(",[ta,Cn,hn,Nt.normalized,Nt.stride,Nt.offset],");",xa,".type=",hn,";",xa,".size=",Cn,";",Xn.map(function(fi){return xa+"."+fi+"="+Nt[fi]+";"}).join(""),"}"),Fa){var In=Nt.divisor;Rt("if(",xa,".divisor!==",In,"){",wt.instancing,".vertexAttribDivisorANGLE(",[ta,In],");",xa,".divisor=",In,";}")}}function Fn(){Rt("if(",xa,".buffer){",Cr,".disableVertexAttribArray(",ta,");",xa,".buffer=null;","}if(",Ei.map(function(hn,Cn){return xa+"."+hn+"!=="+dn[Cn]}).join("||"),"){",Cr,".vertexAttrib4f(",ta,",",dn,");",Ei.map(function(hn,Cn){return xa+"."+hn+"="+dn[Cn]+";"}).join(""),"}")}Zn===ki?On():Zn===Vi?Fn():(Rt("if(",Zn,"===",ki,"){"),On(),Rt("}else{"),Fn(),Rt("}"))}Or.forEach(function(Yt){var ar=Yt.name,Nt=Kt.attributes[ar],Cr;if(Nt){if(!Jr(Nt))return;Cr=Nt.append(wt,Rt)}else{if(!Jr(xi))return;var ta=wt.scopeAttrib(ar);Cr={},Object.keys(new Qr).forEach(function(xa){Cr[xa]=Rt.def(ta,".",xa)})}or(wt.link(Yt),mr(Yt.info.type),Cr)})}function hl(wt,Rt,Kt,Or,Jr,br){for(var mr=wt.shared,or=mr.gl,Yt,ar=0;ar1){for(var dl=[],Cu=[],pc=0;pc>1)",mn],");")}function In(){Kt(dn,".drawArraysInstancedANGLE(",[ta,xa,Zn,mn],");")}Nt&&Nt!=="null"?On?Cn():(Kt("if(",Nt,"){"),Cn(),Kt("}else{"),In(),Kt("}")):In()}function hn(){function Cn(){Kt(br+".drawElements("+[ta,Zn,Xn,xa+"<<(("+Xn+"-"+Ii+")>>1)"]+");")}function In(){Kt(br+".drawArrays("+[ta,xa,Zn]+");")}Nt&&Nt!=="null"?On?Cn():(Kt("if(",Nt,"){"),Cn(),Kt("}else{"),In(),Kt("}")):In()}Fa&&(typeof mn!="number"||mn>=0)?typeof mn=="string"?(Kt("if(",mn,">0){"),Fn(),Kt("}else if(",mn,"<0){"),hn(),Kt("}")):Fn():hn()}function di(wt,Rt,Kt,Or,Jr){var br=xn(),mr=br.proc("body",Jr);return Fa&&(br.instancing=mr.def(br.shared.extensions,".angle_instanced_arrays")),wt(br,mr,Kt,Or),br.compile().body}function eo(wt,Rt,Kt,Or){Os(wt,Rt),Kt.useVAO?Kt.drawVAO?Rt(wt.shared.vao,".setVAO(",Kt.drawVAO.append(wt,Rt),");"):Rt(wt.shared.vao,".setVAO(",wt.shared.vao,".targetVAO);"):(Rt(wt.shared.vao,".setVAO(null);"),fl(wt,Rt,Kt,Or.attributes,function(){return!0})),hl(wt,Rt,Kt,Or.uniforms,function(){return!0},!1),Sl(wt,Rt,Rt,Kt)}function lo(wt,Rt){var Kt=wt.proc("draw",1);Os(wt,Kt),As(wt,Kt,Rt.context),Ms(wt,Kt,Rt.framebuffer),Ps(wt,Kt,Rt),Ai(wt,Kt,Rt.state),jo(wt,Kt,Rt,!1,!0);var Or=Rt.shader.progVar.append(wt,Kt);if(Kt(wt.shared.gl,".useProgram(",Or,".program);"),Rt.shader.program)eo(wt,Kt,Rt,Rt.shader.program);else{Kt(wt.shared.vao,".setVAO(null);");var Jr=wt.global.def("{}"),br=Kt.def(Or,".id"),mr=Kt.def(Jr,"[",br,"]");Kt(wt.cond(mr).then(mr,".call(this,a0);").else(mr,"=",Jr,"[",br,"]=",wt.link(function(or){return di(eo,wt,Rt,or,1)}),"(",Or,");",mr,".call(this,a0);"))}Object.keys(Rt.state).length>0&&Kt(wt.shared.current,".dirty=true;"),wt.shared.vao&&Kt(wt.shared.vao,".setVAO(null);")}function Lt(wt,Rt,Kt,Or){wt.batchId="a1",Os(wt,Rt);function Jr(){return!0}fl(wt,Rt,Kt,Or.attributes,Jr),hl(wt,Rt,Kt,Or.uniforms,Jr,!1),Sl(wt,Rt,Rt,Kt)}function Vr(wt,Rt,Kt,Or){Os(wt,Rt);var Jr=Kt.contextDep,br=Rt.def(),mr="a0",or="a1",Yt=Rt.def();wt.shared.props=Yt,wt.batchId=br;var ar=wt.scope(),Nt=wt.scope();Rt(ar.entry,"for(",br,"=0;",br,"<",or,";++",br,"){",Yt,"=",mr,"[",br,"];",Nt,"}",ar.exit);function Cr(Xn){return Xn.contextDep&&Jr||Xn.propDep}function ta(Xn){return!Cr(Xn)}if(Kt.needsContext&&As(wt,Nt,Kt.context),Kt.needsFramebuffer&&Ms(wt,Nt,Kt.framebuffer),Ai(wt,Nt,Kt.state,Cr),Kt.profile&&Cr(Kt.profile)&&jo(wt,Nt,Kt,!1,!0),Or)Kt.useVAO?Kt.drawVAO?Cr(Kt.drawVAO)?Nt(wt.shared.vao,".setVAO(",Kt.drawVAO.append(wt,Nt),");"):ar(wt.shared.vao,".setVAO(",Kt.drawVAO.append(wt,ar),");"):ar(wt.shared.vao,".setVAO(",wt.shared.vao,".targetVAO);"):(ar(wt.shared.vao,".setVAO(null);"),fl(wt,ar,Kt,Or.attributes,ta),fl(wt,Nt,Kt,Or.attributes,Cr)),hl(wt,ar,Kt,Or.uniforms,ta,!1),hl(wt,Nt,Kt,Or.uniforms,Cr,!0),Sl(wt,ar,Nt,Kt);else{var xa=wt.global.def("{}"),Zn=Kt.shader.progVar.append(wt,Nt),mn=Nt.def(Zn,".id"),dn=Nt.def(xa,"[",mn,"]");Nt(wt.shared.gl,".useProgram(",Zn,".program);","if(!",dn,"){",dn,"=",xa,"[",mn,"]=",wt.link(function(Xn){return di(Lt,wt,Kt,Xn,2)}),"(",Zn,");}",dn,".call(this,a0[",br,"],",br,");")}}function Gr(wt,Rt){var Kt=wt.proc("batch",2);wt.batchId="0",Os(wt,Kt);var Or=!1,Jr=!0;Object.keys(Rt.context).forEach(function(xa){Or=Or||Rt.context[xa].propDep}),Or||(As(wt,Kt,Rt.context),Jr=!1);var br=Rt.framebuffer,mr=!1;br?(br.propDep?Or=mr=!0:br.contextDep&&Or&&(mr=!0),mr||Ms(wt,Kt,br)):Ms(wt,Kt,null),Rt.state.viewport&&Rt.state.viewport.propDep&&(Or=!0);function or(xa){return xa.contextDep&&Or||xa.propDep}Ps(wt,Kt,Rt),Ai(wt,Kt,Rt.state,function(xa){return!or(xa)}),(!Rt.profile||!or(Rt.profile))&&jo(wt,Kt,Rt,!1,"a1"),Rt.contextDep=Or,Rt.needsContext=Jr,Rt.needsFramebuffer=mr;var Yt=Rt.shader.progVar;if(Yt.contextDep&&Or||Yt.propDep)Vr(wt,Kt,Rt,null);else{var ar=Yt.append(wt,Kt);if(Kt(wt.shared.gl,".useProgram(",ar,".program);"),Rt.shader.program)Vr(wt,Kt,Rt,Rt.shader.program);else{Kt(wt.shared.vao,".setVAO(null);");var Nt=wt.global.def("{}"),Cr=Kt.def(ar,".id"),ta=Kt.def(Nt,"[",Cr,"]");Kt(wt.cond(ta).then(ta,".call(this,a0,a1);").else(ta,"=",Nt,"[",Cr,"]=",wt.link(function(xa){return di(Vr,wt,Rt,xa,2)}),"(",ar,");",ta,".call(this,a0,a1);"))}}Object.keys(Rt.state).length>0&&Kt(wt.shared.current,".dirty=true;"),wt.shared.vao&&Kt(wt.shared.vao,".setVAO(null);")}function En(wt,Rt){var Kt=wt.proc("scope",3);wt.batchId="a2";var Or=wt.shared,Jr=Or.current;if(As(wt,Kt,Rt.context),Rt.framebuffer&&Rt.framebuffer.append(wt,Kt),Ca(Object.keys(Rt.state)).forEach(function(or){var Yt=Rt.state[or],ar=Yt.append(wt,Kt);Fr(ar)?ar.forEach(function(Nt,Cr){pn(Nt)?Kt.set(wt.next[or],"["+Cr+"]",Nt):Kt.set(wt.next[or],"["+Cr+"]",wt.link(Nt,{stable:!0}))}):Sn(Yt)?Kt.set(Or.next,"."+or,wt.link(ar,{stable:!0})):Kt.set(Or.next,"."+or,ar)}),jo(wt,Kt,Rt,!0,!0),[St,fr,Wt,Ar,Ht].forEach(function(or){var Yt=Rt.draw[or];if(Yt){var ar=Yt.append(wt,Kt);pn(ar)?Kt.set(Or.draw,"."+or,ar):Kt.set(Or.draw,"."+or,wt.link(ar),{stable:!0})}}),Object.keys(Rt.uniforms).forEach(function(or){var Yt=Rt.uniforms[or].append(wt,Kt);Array.isArray(Yt)&&(Yt="["+Yt.map(function(ar){return pn(ar)?ar:wt.link(ar,{stable:!0})})+"]"),Kt.set(Or.uniforms,"["+wt.link(Pt.id(or),{stable:!0})+"]",Yt)}),Object.keys(Rt.attributes).forEach(function(or){var Yt=Rt.attributes[or].append(wt,Kt),ar=wt.scopeAttrib(or);Object.keys(new Qr).forEach(function(Nt){Kt.set(ar,"."+Nt,Yt[Nt])})}),Rt.scopeVAO){var br=Rt.scopeVAO.append(wt,Kt);pn(br)?Kt.set(Or.vao,".targetVAO",br):Kt.set(Or.vao,".targetVAO",wt.link(br,{stable:!0}))}function mr(or){var Yt=Rt.shader[or];if(Yt){var ar=Yt.append(wt,Kt);pn(ar)?Kt.set(Or.shader,"."+or,ar):Kt.set(Or.shader,"."+or,wt.link(ar,{stable:!0}))}}mr(et),mr(dt),Object.keys(Rt.state).length>0&&(Kt(Jr,".dirty=true;"),Kt.exit(Jr,".dirty=true;")),Kt("a1(",wt.shared.context,",a0,",wt.batchId,");")}function Hi(wt){if(!(typeof wt!="object"||Fr(wt))){for(var Rt=Object.keys(wt),Kt=0;Kt=0;--di){var eo=Yn[di];eo&&eo(ua,null,0)}Ft.flush(),Ua&&Ua.update()}function Ri(){!li&&Yn.length>0&&(li=p.next(ui))}function cs(){li&&(p.cancel(ui),li=null)}function Ls(di){di.preventDefault(),Xr=!0,cs(),si.forEach(function(eo){eo()})}function Wi(di){Ft.getError(),Xr=!1,Kr.restore(),Hn.restore(),Fa.restore(),ha.restore(),la.restore(),vn.restore(),on.restore(),Ua&&Ua.restore(),Za.procs.refresh(),Ri(),Ya.forEach(function(eo){eo()})}pn&&(pn.addEventListener(Oo,Ls,!1),pn.addEventListener(gs,Wi,!1));function Ml(){Yn.length=0,cs(),pn&&(pn.removeEventListener(Oo,Ls),pn.removeEventListener(gs,Wi)),Hn.clear(),vn.clear(),la.clear(),on.clear(),ha.clear(),va.clear(),Fa.clear(),Ua&&Ua.clear(),xn.forEach(function(di){di()})}function Fo(di){function eo(br){var mr=u({},br);delete mr.uniforms,delete mr.attributes,delete mr.context,delete mr.vao,"stencil"in mr&&mr.stencil.op&&(mr.stencil.opBack=mr.stencil.opFront=mr.stencil.op,delete mr.stencil.op);function or(Yt){if(Yt in mr){var ar=mr[Yt];delete mr[Yt],Object.keys(ar).forEach(function(Nt){mr[Yt+"."+Nt]=ar[Nt]})}}return or("blend"),or("depth"),or("cull"),or("stencil"),or("polygonOffset"),or("scissor"),or("sample"),"vao"in br&&(mr.vao=br.vao),mr}function lo(br,mr){var or={},Yt={};return Object.keys(br).forEach(function(ar){var Nt=br[ar];if(c.isDynamic(Nt)){Yt[ar]=c.unbox(Nt,ar);return}else if(mr&&Array.isArray(Nt)){for(var Cr=0;Cr0)return wt.call(this,Or(br|0),br|0)}else if(Array.isArray(br)){if(br.length)return wt.call(this,br,br.length)}else return kn.call(this,br)}return u(Jr,{stats:Hi,destroy:function(){zo.destroy()}})}var Js=vn.setFBO=Fo({framebuffer:c.define.call(null,Bs,"framebuffer")});function Ns(di,eo){var lo=0;Za.procs.poll();var Lt=eo.color;Lt&&(Ft.clearColor(+Lt[0]||0,+Lt[1]||0,+Lt[2]||0,+Lt[3]||0),lo|=al),"depth"in eo&&(Ft.clearDepth(+eo.depth),lo|=Ds),"stencil"in eo&&(Ft.clearStencil(eo.stencil|0),lo|=gi),Ft.clear(lo)}function nl(di){if("framebuffer"in di)if(di.framebuffer&&di.framebuffer_reglType==="framebufferCube")for(var eo=0;eo<6;++eo)Js(u({framebuffer:di.framebuffer.faces[eo]},di),Ns);else Js(di,Ns);else Ns(null,di)}function As(di){Yn.push(di);function eo(){var lo=xu(Yn,di);function Lt(){var Vr=xu(Yn,Lt);Yn[Vr]=Yn[Yn.length-1],Yn.length-=1,Yn.length<=0&&cs()}Yn[lo]=Lt}return Ri(),{cancel:eo}}function Ms(){var di=Ha.viewport,eo=Ha.scissor_box;di[0]=di[1]=eo[0]=eo[1]=0,ua.viewportWidth=ua.framebufferWidth=ua.drawingBufferWidth=di[2]=eo[2]=Ft.drawingBufferWidth,ua.viewportHeight=ua.framebufferHeight=ua.drawingBufferHeight=di[3]=eo[3]=Ft.drawingBufferHeight}function Ps(){ua.tick+=1,ua.time=Os(),Ms(),Za.procs.poll()}function Ai(){ha.refresh(),Ms(),Za.procs.refresh(),Ua&&Ua.update()}function Os(){return(f()-Wn)/1e3}Ai();function jo(di,eo){var lo;switch(di){case"frame":return As(eo);case"lost":lo=si;break;case"restore":lo=Ya;break;case"destroy":lo=xn;break;default:}return lo.push(eo),{cancel:function(){for(var Lt=0;Lt=0},read:qa,destroy:Ml,_gl:Ft,_refresh:Ai,poll:function(){Ps(),Ua&&Ua.update()},now:Os,stats:_a,getCachedCode:fl,preloadCachedCode:hl});return Pt.onDone(null,Sl),Sl}return ic})}}),$1=xe({"src/lib/prepare_regl.js"(U,O){"use strict";var u=O2(),v=N8();O.exports=function(S,l,e){var t=S._fullLayout,a=!0;return t._glcanvas.each(function(r){if(r.regl){r.regl.preloadCachedCode(e);return}if(!(r.pick&&!t._has("parcoords"))){try{r.regl=v({canvas:this,attributes:{antialias:!r.pick,preserveDrawingBuffer:!0},pixelRatio:S._context.plotGlPixelRatio||window.devicePixelRatio,extensions:l||[],cachedCode:e||{}})}catch{a=!1}r.regl||(a=!1),a&&this.addEventListener("webglcontextlost",function(n){S&&S.emit&&S.emit("plotly_webglcontextlost",{event:n,layer:r.key})},!1)}}),a||u({container:t._glcontainer.node()}),a}}}),F3=xe({"src/traces/scattergl/plot.js"(c,O){"use strict";var u=d3(),v=M3(),w=x8(),S=B8(),l=Sr(),e=Uh().selectMode,t=$1(),a=Cl(),r=Y_(),n=c3().styleTextSelection,i={};function s(p,f,d,y){var o=p._size,b=p.width*y,M=p.height*y,A=o.l*y,E=o.b*y,g=o.r*y,T=o.t*y,m=o.w*y,h=o.h*y;return[A+f.domain[0]*m,E+d.domain[0]*h,b-g-(1-f.domain[1])*m,M-T-(1-d.domain[1])*h]}var c=O.exports=function(f,d,y){if(y.length){var o=f._fullLayout,b=d._scene,M=d.xaxis,A=d.yaxis,E,g;if(b){var T=t(f,["ANGLE_instanced_arrays","OES_element_index_uint"],i);if(!T){b.init();return}var m=b.count,h=o._glcanvas.data()[0].regl;if(r(f,d,y),b.dirty){if((b.line2d||b.error2d)&&!(b.scatter2d||b.fill2d||b.glText)&&h.clear({color:!0,depth:!0}),b.error2d===!0&&(b.error2d=w(h)),b.line2d===!0&&(b.line2d=v(h)),b.scatter2d===!0&&(b.scatter2d=u(h)),b.fill2d===!0&&(b.fill2d=v(h)),b.glText===!0)for(b.glText=new Array(m),E=0;Eb.glText.length){var x=m-b.glText.length;for(E=0;EQ&&(isNaN($[re])||isNaN($[re+1]));)re-=2;X.positions=$.slice(Q,re+2)}return X}),b.line2d.update(b.lineOptions)),b.error2d){var C=(b.errorXOptions||[]).concat(b.errorYOptions||[]).map(function(X){return X||{positions:[],errors:[]}});b.error2d.update(C)}b.scatter2d&&b.scatter2d.update(b.markerOptions),b.fillOrder=l.repeat(null,m),b.fill2d&&(b.fillOptions=b.fillOptions.map(function(X,$){var Q=y[$];if(!(!X||!Q||!Q[0]||!Q[0].trace)){var re=Q[0],ue=re.trace,pe=re.t,ge=b.lineOptions[$],Te,Se,Ce=[];ue._ownfill&&Ce.push($),ue._nexttrace&&Ce.push($+1),Ce.length&&(b.fillOrder[$]=Ce);var Ue=[],Oe=ge&&ge.positions||pe.positions,_e,ce;if(ue.fill==="tozeroy"){for(_e=0;_e_e&&isNaN(Oe[ce+1]);)ce-=2;Oe[_e+1]!==0&&(Ue=[Oe[_e],0]),Ue=Ue.concat(Oe.slice(_e,ce+2)),Oe[ce+1]!==0&&(Ue=Ue.concat([Oe[ce],0]))}else if(ue.fill==="tozerox"){for(_e=0;_e_e&&isNaN(Oe[ce]);)ce-=2;Oe[_e]!==0&&(Ue=[0,Oe[_e+1]]),Ue=Ue.concat(Oe.slice(_e,ce+2)),Oe[ce]!==0&&(Ue=Ue.concat([0,Oe[ce+1]]))}else if(ue.fill==="toself"||ue.fill==="tonext"){for(Ue=[],Te=0,X.splitNull=!0,Se=0;Se-1;for(let[X]of y)if(X){var R=X.trace,k=X.t,B=k.index,N=R._length,q=k.x,Y=k.y;if(R.selectedpoints||I||z){if(I||(I=!0),R.selectedpoints){var ee=b.selectBatch[B]=R.selectedpoints,te={};for(g=0;gM&&d||bn,_;for(x?_=d.sizeAvg||Math.max(d.size,3):_=w(c,f),A=0;A{this.draw(),this.dirty=!0,this.planned=null})):(this.draw(),this.dirty=!0,S(()=>{this.dirty=!1})),this)},a.prototype.update=function(...s){if(!s.length)return;for(let f=0;f_||!d.lower&&x<_)continue;let D=r(d.id,x,_),C=this.passes[D]||(this.passes[D]={});if(f.data&&(f.transpose?C.positions={x:{buffer:d.buffer,offset:_,count:M,stride:b},y:{buffer:d.buffer,offset:x,count:M,stride:b}}:C.positions={x:{buffer:d.buffer,offset:_*M,count:M},y:{buffer:d.buffer,offset:x*M,count:M}},C.bounds=n(d.bounds,x,_)),f.domain||f.viewport||f.data){let F=o?n(d.padding,x,_):d.padding;if(d.domain){let[I,z,R,k]=n(d.domain,x,_);C.viewport=[g+I*A+F[0],T+z*E+F[1],g+R*A-F[2],T+k*E-F[3]]}else C.viewport=[g+_*m+m*F[0],T+x*h+h*F[1],g+(_+1)*m-m*F[2],T+(x+1)*h-h*F[3]]}f.color&&(C.color=d.color),f.size&&(C.size=d.size),f.marker&&(C.marker=d.marker),f.borderSize&&(C.borderSize=d.borderSize),f.borderColor&&(C.borderColor=d.borderColor),f.opacity&&(C.opacity=d.opacity),f.range&&(C.range=y?n(d.range,x,_):d.range||C.bounds),d.passes.push(D)}return this},a.prototype.draw=function(...s){if(!s.length)this.scatter.draw();else{let c=[];for(let p=0;p{c[y+b]=f})}this.scatter.draw(...c)}return this},a.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 r(s,c,p){let f=s.id!=null?s.id:s,d=c,y=p;return f<<16|(d&255)<<8|y&255}function n(s,c,p){let f,d,y,o,b,M,A,E,g=s[c],T=s[p];return g.length>2?(f=g[0],y=g[2],d=g[1],o=g[3]):g.length?(f=d=g[0],y=o=g[1]):(f=g.x,d=g.y,y=g.x+g.width,o=g.y+g.height),T.length>2?(b=T[0],A=T[2],M=T[1],E=T[3]):T.length?(b=M=T[0],A=E=T[1]):(b=T.x,M=T.y,A=T.x+T.width,E=T.y+T.height),[b,d,A,o]}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 c=e(s);return[c.x,c.y,c.x+c.width,c.y+c.height]}}}}),X8=xe({"src/traces/splom/plot.js"(U,O){"use strict";var u=Y8(),v=Sr(),w=fu(),S=Uh().selectMode;O.exports=function(t,a,r){if(r.length)for(var n=0;n-1,z=S(d)||!!n.selectedpoints||I,R=!0;if(z){var k=n._length;if(n.selectedpoints){s.selectBatch=n.selectedpoints;var B=n.selectedpoints,N={};for(b=0;b=q[Y][0]&&N<=q[Y][1])return!0;return!1}function c(N){N.attr("x",-u.bar.captureWidth/2).attr("width",u.bar.captureWidth)}function p(N){N.attr("visibility","visible").style("visibility","visible").attr("fill","yellow").attr("opacity",0)}function f(N){if(!N.brush.filterSpecified)return"0,"+N.height;for(var q=d(N.brush.filter.getConsolidated(),N.height),Y=[0],ee,te,ae,j=q.length?q[0][0]:null,G=0;GN[1]+Y||q=.9*N[1]+.1*N[0]?"n":q<=.9*N[0]+.1*N[1]?"s":"ns"}function o(){v.select(document.body).style("cursor",null)}function b(N){N.attr("stroke-dasharray",f)}function M(N,q){var Y=v.select(N).selectAll(".highlight, .highlight-shadow"),ee=q?Y.transition().duration(u.bar.snapDuration).each("end",q):Y;b(ee)}function A(N,q){var Y=N.brush,ee=Y.filterSpecified,te=NaN,ae={},j;if(ee){var G=N.height,K=Y.filter.getConsolidated(),H=d(K,G),Z=NaN,X=NaN,$=NaN;for(j=0;j<=H.length;j++){var Q=H[j];if(Q&&Q[0]<=q&&q<=Q[1]){Z=j;break}else if(X=j?j-1:NaN,Q&&Q[0]>q){$=j;break}}if(te=Z,isNaN(te)&&(isNaN(X)||isNaN($)?te=isNaN(X)?$:X:te=q-H[X][1]=Te[0]&&ge<=Te[1]){ae.clickableOrdinalRange=Te;break}}}return ae}function E(N,q){v.event.sourceEvent.stopPropagation();var Y=q.height-v.mouse(N)[1]-2*u.verticalPadding,ee=q.unitToPaddedPx.invert(Y),te=q.brush,ae=A(q,Y),j=ae.interval,G=te.svgBrush;if(G.wasDragged=!1,G.grabbingBar=ae.region==="ns",G.grabbingBar){var K=j.map(q.unitToPaddedPx);G.grabPoint=Y-K[0]-u.verticalPadding,G.barLength=K[1]-K[0]}G.clickableOrdinalRange=ae.clickableOrdinalRange,G.stayingIntervals=q.multiselect&&te.filterSpecified?te.filter.getConsolidated():[],j&&(G.stayingIntervals=G.stayingIntervals.filter(function(H){return H[0]!==j[0]&&H[1]!==j[1]})),G.startExtent=ae.region?j[ae.region==="s"?1:0]:ee,q.parent.inBrushDrag=!0,G.brushStartCallback()}function g(N,q){v.event.sourceEvent.stopPropagation();var Y=q.height-v.mouse(N)[1]-2*u.verticalPadding,ee=q.brush.svgBrush;ee.wasDragged=!0,ee._dragging=!0,ee.grabbingBar?ee.newExtent=[Y-ee.grabPoint,Y+ee.barLength-ee.grabPoint].map(q.unitToPaddedPx.invert):ee.newExtent=[ee.startExtent,q.unitToPaddedPx.invert(Y)].sort(l),q.brush.filterSpecified=!0,ee.extent=ee.stayingIntervals.concat([ee.newExtent]),ee.brushCallback(q),M(N.parentNode)}function T(N,q){var Y=q.brush,ee=Y.filter,te=Y.svgBrush;te._dragging||(m(N,q),g(N,q),q.brush.svgBrush.wasDragged=!1),te._dragging=!1;var ae=v.event;ae.sourceEvent.stopPropagation();var j=te.grabbingBar;if(te.grabbingBar=!1,te.grabLocation=void 0,q.parent.inBrushDrag=!1,o(),!te.wasDragged){te.wasDragged=void 0,te.clickableOrdinalRange?Y.filterSpecified&&q.multiselect?te.extent.push(te.clickableOrdinalRange):(te.extent=[te.clickableOrdinalRange],Y.filterSpecified=!0):j?(te.extent=te.stayingIntervals,te.extent.length===0&&F(Y)):F(Y),te.brushCallback(q),M(N.parentNode),te.brushEndCallback(Y.filterSpecified?ee.getConsolidated():[]);return}var G=function(){ee.set(ee.getConsolidated())};if(q.ordinal){var K=q.unitTickvals;K[K.length-1]te.newExtent[0];te.extent=te.stayingIntervals.concat(H?[te.newExtent]:[]),te.extent.length||F(Y),te.brushCallback(q),H?M(N.parentNode,G):(G(),M(N.parentNode))}else G();te.brushEndCallback(Y.filterSpecified?ee.getConsolidated():[])}function m(N,q){var Y=q.height-v.mouse(N)[1]-2*u.verticalPadding,ee=A(q,Y),te="crosshair";ee.clickableOrdinalRange?te="pointer":ee.region&&(te=ee.region+"-resize"),v.select(document.body).style("cursor",te)}function h(N){N.on("mousemove",function(q){v.event.preventDefault(),q.parent.inBrushDrag||m(this,q)}).on("mouseleave",function(q){q.parent.inBrushDrag||o()}).call(v.behavior.drag().on("dragstart",function(q){E(this,q)}).on("drag",function(q){g(this,q)}).on("dragend",function(q){T(this,q)}))}function x(N,q){return N[0]-q[0]}function _(N,q,Y){var ee=Y._context.staticPlot,te=N.selectAll(".background").data(S);te.enter().append("rect").classed("background",!0).call(c).call(p).style("pointer-events",ee?"none":"auto").attr("transform",e(0,u.verticalPadding)),te.call(h).attr("height",function(G){return G.height-u.verticalPadding});var ae=N.selectAll(".highlight-shadow").data(S);ae.enter().append("line").classed("highlight-shadow",!0).attr("x",-u.bar.width/2).attr("stroke-width",u.bar.width+u.bar.strokeWidth).attr("stroke",q).attr("opacity",u.bar.strokeOpacity).attr("stroke-linecap","butt"),ae.attr("y1",function(G){return G.height}).call(b);var j=N.selectAll(".highlight").data(S);j.enter().append("line").classed("highlight",!0).attr("x",-u.bar.width/2).attr("stroke-width",u.bar.width-u.bar.strokeWidth).attr("stroke",u.bar.fillColor).attr("opacity",u.bar.fillOpacity).attr("stroke-linecap","butt"),j.attr("y1",function(G){return G.height}).call(b)}function D(N,q,Y){var ee=N.selectAll("."+u.cn.axisBrush).data(S,w);ee.enter().append("g").classed(u.cn.axisBrush,!0),_(ee,q,Y)}function C(N){return N.svgBrush.extent.map(function(q){return q.slice()})}function F(N){N.filterSpecified=!1,N.svgBrush.extent=[[-1/0,1/0]]}function I(N){return function(Y){var ee=Y.brush,te=C(ee),ae=te.slice();ee.filter.set(ae),N()}}function z(N){for(var q=N.slice(),Y=[],ee,te=q.shift();te;){for(ee=te.slice();(te=q.shift())&&te[0]<=ee[1];)ee[1]=Math.max(ee[1],te[1]);Y.push(ee)}return Y.length===1&&Y[0][0]>Y[0][1]&&(Y=[]),Y}function R(){var N=[],q,Y;return{set:function(ee){N=ee.map(function(te){return te.slice().sort(l)}).sort(x),N.length===1&&N[0][0]===-1/0&&N[0][1]===1/0&&(N=[[0,-1]]),q=z(N),Y=N.reduce(function(te,ae){return[Math.min(te[0],ae[0]),Math.max(te[1],ae[1])]},[1/0,-1/0])},get:function(){return N.slice()},getConsolidated:function(){return q},getBounds:function(){return Y}}}function k(N,q,Y,ee,te,ae){var j=R();return j.set(Y),{filter:j,filterSpecified:q,svgBrush:{extent:[],brushStartCallback:ee,brushCallback:I(te),brushEndCallback:ae}}}function B(N,q){if(Array.isArray(N[0])?(N=N.map(function(ee){return ee.sort(l)}),q.multiselect?N=z(N.sort(x)):N=[N[0]]):N=[N.sort(l)],q.tickvals){var Y=q.tickvals.slice().sort(l);if(N=N.map(function(ee){var te=[i(0,Y,ee[0],[]),i(1,Y,ee[1],[])];if(te[1]>te[0])return te}).filter(function(ee){return ee}),!N.length)return}return N.length>1?N:N[0]}O.exports={makeBrush:k,ensureAxisBrush:D,cleanRanges:B}}}),rL=xe({"src/traces/parcoords/defaults.js"(U,O){"use strict";var u=Sr(),v=vf().hasColorscale,w=Fc(),S=Gl().defaults,l=bf(),e=uo(),t=N3(),a=O3(),r=im().maxDimensionCount,n=Z1();function i(c,p,f,d,y){var o=y("line.color",f);if(v(c,"line")&&u.isArrayOrTypedArray(o)){if(o.length)return y("line.colorscale"),w(c,p,d,y,{prefix:"line.",cLetter:"c"}),o.length;p.line.color=f}return 1/0}function s(c,p,f,d){function y(E,g){return u.coerce(c,p,t.dimensions,E,g)}var o=y("values"),b=y("visible");if(o&&o.length||(b=p.visible=!1),b){y("label"),y("tickvals"),y("ticktext"),y("tickformat");var M=y("range");p._ax={_id:"y",type:"linear",showexponent:"all",exponentformat:"B",range:M},e.setConvert(p._ax,d.layout),y("multiselect");var A=y("constraintrange");A&&(p.constraintrange=a.cleanRanges(A,p))}}O.exports=function(p,f,d,y){function o(g,T){return u.coerce(p,f,t,g,T)}var b=p.dimensions;Array.isArray(b)&&b.length>r&&(u.log("parcoords traces support up to "+r+" dimensions at the moment"),b.splice(r));var M=l(p,f,{name:"dimensions",layout:y,handleItemDefaults:s}),A=i(p,f,d,y,o);S(f,y,o),(!Array.isArray(M)||!M.length)&&(f.visible=!1),n(f,M,"values",A);var E=u.extendFlat({},y.font,{size:Math.round(y.font.size/1.2)});u.coerceFont(o,"labelfont",E),u.coerceFont(o,"tickfont",E,{autoShadowDflt:!0}),u.coerceFont(o,"rangefont",E),o("labelangle"),o("labelside"),o("unselected.line.color"),o("unselected.line.opacity")}}}),aL=xe({"src/traces/parcoords/calc.js"(U,O){"use strict";var u=Sr().isArrayOrTypedArray,v=Bl(),w=Xh().wrap;O.exports=function(e,t){var a,r;return v.hasColorscale(t,"line")&&u(t.line.color)?(a=t.line.color,r=v.extractOpts(t.line).colorscale,v.calc(e,t,{vals:a,containerStr:"line",cLetter:"c"})):(a=S(t._length),r=[[0,t.line.color],[1,t.line.color]]),w({lineColor:a,cscale:r})};function S(l){for(var e=new Array(l),t=0;t>>16,(U&65280)>>>8,U&255],alpha:1};if(typeof U=="number")return{space:"rgb",values:[U>>>16,(U&65280)>>>8,U&255],alpha:1};if(U=String(U).toLowerCase(),K1.default[U])w=K1.default[U].slice(),l="rgb";else if(U==="transparent")S=0,l="rgb",w=[0,0,0];else if(U[0]==="#"){var e=U.slice(1),t=e.length,a=t<=4;S=1,a?(w=[parseInt(e[0]+e[0],16),parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16)],t===4&&(S=parseInt(e[3]+e[3],16)/255)):(w=[parseInt(e[0]+e[1],16),parseInt(e[2]+e[3],16),parseInt(e[4]+e[5],16)],t===8&&(S=parseInt(e[6]+e[7],16)/255)),w[0]||(w[0]=0),w[1]||(w[1]=0),w[2]||(w[2]=0),l="rgb"}else if(v=/^((?:rgba?|hs[lvb]a?|hwba?|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms|oklch|oklab|color))\s*\(([^\)]*)\)/.exec(U)){var r=v[1];l=r.replace(/a$/,"");var n=l==="cmyk"?4:l==="gray"?1:3;w=v[2].trim().split(/\s*[,\/]\s*|\s+/),l==="color"&&(l=w.shift()),w=w.map(function(i,s){if(i[i.length-1]==="%")return i=parseFloat(i)/100,s===3?i:l==="rgb"?i*255:l[0]==="h"||l[0]==="l"&&!s?i*100:l==="lab"?i*125:l==="lch"?s<2?i*150:i*360:l[0]==="o"&&!s?i:l==="oklab"?i*.4:l==="oklch"?s<2?i*.4:i*360:i;if(l[s]==="h"||s===2&&l[l.length-1]==="h"){if(J1[i]!==void 0)return J1[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)}),S=w.length>n?w.pop():1}else/[0-9](?:\s|\/|,)/.test(U)&&(w=U.match(/([0-9]+)/g).map(function(i){return parseFloat(i)}),l=((u=(O=U.match(/([a-z])/ig))==null?void 0:O.join(""))==null?void 0:u.toLowerCase())||"rgb");return{space:l,values:w,alpha:S}}var K1,U3,J1,iL=Pr({"node_modules/color-parse/index.js"(){K1=da(z2(),1),U3=nL,J1={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}}),om,j3=Pr({"node_modules/color-space/rgb.js"(){om={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}}}),sm,oL=Pr({"node_modules/color-space/hsl.js"(){j3(),sm={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(U){var O=U[0]/360,u=U[1]/100,v=U[2]/100,w,S,l,e,t,a=0;if(u===0)return t=v*255,[t,t,t];for(S=v<.5?v*(1+u):v+u-v*u,w=2*v-S,e=[0,0,0];a<3;)l=O+1/3*-(a-1),l<0?l++:l>1&&l--,t=6*l<1?w+(S-w)*6*l:2*l<1?S:3*l<2?w+(S-w)*(2/3-l)*6:w,e[a++]=t*255;return e}},om.hsl=function(U){var O=U[0]/255,u=U[1]/255,v=U[2]/255,w=Math.min(O,u,v),S=Math.max(O,u,v),l=S-w,e,t,a;return S===w?e=0:O===S?e=(u-v)/l:u===S?e=2+(v-O)/l:v===S&&(e=4+(O-u)/l),e=Math.min(e*60,360),e<0&&(e+=360),a=(w+S)/2,S===w?t=0:a<=.5?t=l/(S+w):t=l/(2-S-w),[e,t*100,a*100]}}}),q3={};Xa(q3,{default:()=>sL});function sL(U){Array.isArray(U)&&U.raw&&(U=String.raw(...arguments)),U instanceof Number&&(U=+U);var O,u,v,w=U3(U);if(!w.space)return[];let S=w.space[0]==="h"?sm.min:om.min,l=w.space[0]==="h"?sm.max:om.max;return O=Array(3),O[0]=Math.min(Math.max(w.values[0],S[0]),l[0]),O[1]=Math.min(Math.max(w.values[1],S[1]),l[1]),O[2]=Math.min(Math.max(w.values[2],S[2]),l[2]),w.space[0]==="h"&&(O=sm.rgb(O)),O.push(Math.min(Math.max(w.alpha,0),1)),O}var lL=Pr({"node_modules/color-rgba/index.js"(){iL(),j3(),oL()}}),V3=xe({"src/traces/parcoords/helpers.js"(U){"use strict";var O=Sr().isTypedArray;U.convertTypedArray=function(u){return O(u)?Array.prototype.slice.call(u):u},U.isOrdinal=function(u){return!!u.tickvals},U.isVisible=function(u){return u.visible||!("visible"in u)}}}),uL=xe({"src/traces/parcoords/lines.js"(U,O){"use strict";var u=["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(` +`),v=["precision highp float;","","varying vec4 fragColor;","","void main() {"," gl_FragColor = fragColor;","}"].join(` +`),w=im().maxDimensionCount,S=Sr(),l=1e-6,e=2048,t=new Uint8Array(4),a=new Uint8Array(4),r={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function n(T){T.read({x:0,y:0,width:1,height:1,data:t})}function i(T,m,h,x,_){var D=T._gl;D.enable(D.SCISSOR_TEST),D.scissor(m,h,x,_),T.clear({color:[0,0,0,0],depth:1})}function s(T,m,h,x,_,D){var C=D.key;function F(I){var z=Math.min(x,_-I*x);I===0&&(window.cancelAnimationFrame(h.currentRafs[C]),delete h.currentRafs[C],i(T,D.scissorX,D.scissorY,D.scissorWidth,D.viewBoxSize[1])),!h.clearOnly&&(D.count=2*z,D.offset=2*I*x,m(D),I*x+z<_&&(h.currentRafs[C]=window.requestAnimationFrame(function(){F(I+1)})),h.drawCompleted=!1)}h.drawCompleted||(n(T),h.drawCompleted=!0),F(0)}function c(T){return Math.max(l,Math.min(1-l,T))}function p(T,m){for(var h=new Array(256),x=0;x<256;x++)h[x]=T(x/255).concat(m);return h}function f(T,m){return(T>>>8*m)%256/255}function d(T,m,h){for(var x=new Array(T*(w+4)),_=0,D=0;DSe&&(Se=X[ue].dim1.canvasX,ge=ue);re===0&&i(_,0,0,z.canvasWidth,z.canvasHeight);var Ce=j(h);for(ue=0;ueue._length&&(ce=ce.slice(0,ue._length));var ie=ue.tickvals,se;function ne(ut,ot){return{val:ut,text:se[ot]}}function be(ut,ot){return ut.val-ot.val}if(w(ie)&&ie.length){v.isTypedArray(ie)&&(ie=Array.from(ie)),se=ue.ticktext,!w(se)||!se.length?se=ie.map(S(ue.tickformat)):se.length>ie.length?se=se.slice(0,ie.length):ie.length>se.length&&(ie=ie.slice(0,se.length));for(var De=1;De=ot||Zt>=yt)return;var vr=Ne.lineLayer.readPixel(It,yt-1-Zt),Ut=vr[3]!==0,Jt=Ut?vr[2]+256*(vr[1]+256*vr[0]):null,at={x:It,y:Zt,clientX:ut.clientX,clientY:ut.clientY,dataIndex:Ne.model.key,curveNumber:Jt};Jt!==ge&&(Ut?G.hover(at):G.unhover&&G.unhover(at),ge=Jt)}}),pe.style("opacity",function(Ne){return Ne.pick?0:1}),Z.style("background","rgba(255, 255, 255, 0)");var Se=Z.selectAll("."+y.cn.parcoords).data(ue,c);Se.exit().remove(),Se.enter().append("g").classed(y.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),Se.attr("transform",function(Ne){return a(Ne.model.translateX,Ne.model.translateY)});var Ce=Se.selectAll("."+y.cn.parcoordsControlView).data(p,c);Ce.enter().append("g").classed(y.cn.parcoordsControlView,!0),Ce.attr("transform",function(Ne){return a(Ne.model.pad.l,Ne.model.pad.t)});var Ue=Ce.selectAll("."+y.cn.yAxis).data(function(Ne){return Ne.dimensions},c);Ue.enter().append("g").classed(y.cn.yAxis,!0),Ce.each(function(Ne){B(Ue,Ne,$)}),pe.each(function(Ne){if(Ne.viewModel){!Ne.lineLayer||G?Ne.lineLayer=b(this,Ne):Ne.lineLayer.update(Ne),(Ne.key||Ne.key===0)&&(Ne.viewModel[Ne.key]=Ne.lineLayer);var ut=!Ne.context||G;Ne.lineLayer.render(Ne.viewModel.panels,ut)}}),Ue.attr("transform",function(Ne){return a(Ne.xScale(Ne.xIndex),0)}),Ue.call(u.behavior.drag().origin(function(Ne){return Ne}).on("drag",function(Ne){var ut=Ne.parent;re.linePickActive(!1),Ne.x=Math.max(-y.overdrag,Math.min(Ne.model.width+y.overdrag,u.event.x)),Ne.canvasX=Ne.x*Ne.model.canvasPixelRatio,Ue.sort(function(ot,yt){return ot.x-yt.x}).each(function(ot,yt){ot.xIndex=yt,ot.x=Ne===ot?ot.x:ot.xScale(ot.xIndex),ot.canvasX=ot.x*ot.model.canvasPixelRatio}),B(Ue,ut,$),Ue.filter(function(ot){return Math.abs(Ne.xIndex-ot.xIndex)!==0}).attr("transform",function(ot){return a(ot.xScale(ot.xIndex),0)}),u.select(this).attr("transform",a(Ne.x,0)),Ue.each(function(ot,yt,At){At===Ne.parent.key&&(ut.dimensions[yt]=ot)}),ut.contextLayer&&ut.contextLayer.render(ut.panels,!1,!C(ut)),ut.focusLayer.render&&ut.focusLayer.render(ut.panels)}).on("dragend",function(Ne){var ut=Ne.parent;Ne.x=Ne.xScale(Ne.xIndex),Ne.canvasX=Ne.x*Ne.model.canvasPixelRatio,B(Ue,ut,$),u.select(this).attr("transform",function(ot){return a(ot.x,0)}),ut.contextLayer&&ut.contextLayer.render(ut.panels,!1,!C(ut)),ut.focusLayer&&ut.focusLayer.render(ut.panels),ut.pickLayer&&ut.pickLayer.render(ut.panels,!0),re.linePickActive(!0),G&&G.axesMoved&&G.axesMoved(ut.key,ut.dimensions.map(function(ot){return ot.crossfilterDimensionIndex}))})),Ue.exit().remove();var Oe=Ue.selectAll("."+y.cn.axisOverlays).data(p,c);Oe.enter().append("g").classed(y.cn.axisOverlays,!0),Oe.selectAll("."+y.cn.axis).remove();var _e=Oe.selectAll("."+y.cn.axis).data(p,c);_e.enter().append("g").classed(y.cn.axis,!0),_e.each(function(Ne){var ut=Ne.model.height/Ne.model.tickDistance,ot=Ne.domainScale,yt=ot.domain();u.select(this).call(u.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(ut,Ne.tickFormat).tickValues(Ne.ordinal?yt:null).tickFormat(function(At){return d.isOrdinal(Ne)?At:q(Ne.model.dimensions[Ne.visibleIndex],At)}).scale(ot)),n.font(_e.selectAll("text"),Ne.model.tickFont)}),_e.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),_e.selectAll("text").style("cursor","default");var ce=Oe.selectAll("."+y.cn.axisHeading).data(p,c);ce.enter().append("g").classed(y.cn.axisHeading,!0);var ie=ce.selectAll("."+y.cn.axisTitle).data(p,c);ie.enter().append("text").classed(y.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events",K?"none":"auto"),ie.text(function(Ne){return Ne.label}).each(function(Ne){var ut=u.select(this);n.font(ut,Ne.model.labelFont),r.convertToTspans(ut,te)}).attr("transform",function(Ne){var ut=k(Ne.model.labelAngle,Ne.model.labelSide),ot=y.axisTitleOffset;return(ut.dir>0?"":a(0,2*ot+Ne.model.height))+t(ut.degrees)+a(-ot*ut.dx,-ot*ut.dy)}).attr("text-anchor",function(Ne){var ut=k(Ne.model.labelAngle,Ne.model.labelSide),ot=Math.abs(ut.dx),yt=Math.abs(ut.dy);return 2*ot>yt?ut.dir*ut.dx<0?"start":"end":"middle"});var se=Oe.selectAll("."+y.cn.axisExtent).data(p,c);se.enter().append("g").classed(y.cn.axisExtent,!0);var ne=se.selectAll("."+y.cn.axisExtentTop).data(p,c);ne.enter().append("g").classed(y.cn.axisExtentTop,!0),ne.attr("transform",a(0,-y.axisExtentOffset));var be=ne.selectAll("."+y.cn.axisExtentTopText).data(p,c);be.enter().append("text").classed(y.cn.axisExtentTopText,!0).call(z),be.text(function(Ne){return Y(Ne,!0)}).each(function(Ne){n.font(u.select(this),Ne.model.rangeFont)});var De=se.selectAll("."+y.cn.axisExtentBottom).data(p,c);De.enter().append("g").classed(y.cn.axisExtentBottom,!0),De.attr("transform",function(Ne){return a(0,Ne.model.height+y.axisExtentOffset)});var qe=De.selectAll("."+y.cn.axisExtentBottomText).data(p,c);qe.enter().append("text").classed(y.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(z),qe.text(function(Ne){return Y(Ne,!1)}).each(function(Ne){n.font(u.select(this),Ne.model.rangeFont)}),o.ensureAxisBrush(Oe,Q,te)}}}),H3=xe({"src/traces/parcoords/plot.js"(t,O){"use strict";var u=cL(),v=$1(),w=V3().isVisible,S={};function l(a,r,n){var i=r.indexOf(n),s=a.indexOf(i);return s===-1&&(s+=r.length),s}function e(a,r){return function(i,s){return l(a,r,i)-l(a,r,s)}}var t=O.exports=function(r,n){var i=r._fullLayout,s=v(r,[],S);if(s){var c={},p={},f={},d=i._size;n.forEach(function(A,E){var g=A[0].trace,T=f[E]=g.index;c[E]=r.data[T].dimensions,p[E]=r.data[T].dimensions.slice()});var y=function(A,E,g){var T=p[A][E],m=g.map(function(F){return F.slice()}),h="dimensions["+E+"].constraintrange",x=i._tracePreGUI[r._fullData[f[A]].uid];if(x[h]===void 0){var _=T.constraintrange;x[h]=_||null}var D=r._fullData[f[A]].dimensions[E];m.length?(m.length===1&&(m=m[0]),T.constraintrange=m,D.constraintrange=m.slice(),m=[m]):(delete T.constraintrange,delete D.constraintrange,m=null);var C={};C[h]=m,r.emit("plotly_restyle",[C,[f[A]]])},o=function(A){r.emit("plotly_hover",A)},b=function(A){r.emit("plotly_unhover",A)},M=function(A,E){var g=e(E,p[A].filter(w));c[A].sort(g),p[A].filter(function(T){return!w(T)}).sort(function(T){return p[A].indexOf(T)}).forEach(function(T){c[A].splice(c[A].indexOf(T),1),c[A].splice(p[A].indexOf(T),0,T)}),r.emit("plotly_restyle",[{dimensions:[c[A]]},[f[A]]])};u(r,n,{width:d.w,height:d.h,margin:{t:d.t,r:d.r,b:d.b,l:d.l}},{filterChanged:y,hover:o,unhover:b,axesMoved:M})}};t.reglPrecompiled=S}}),fL=xe({"src/traces/parcoords/base_plot.js"(U){"use strict";var O=Na(),u=df().getModuleCalcData,v=H3(),w=fh();U.name="parcoords",U.plot=function(S){var l=u(S.calcdata,"parcoords")[0];l.length&&v(S,l)},U.clean=function(S,l,e,t){var a=t._has&&t._has("parcoords"),r=l._has&&l._has("parcoords");a&&!r&&(t._paperdiv.selectAll(".parcoords").remove(),t._glimages.selectAll("*").remove())},U.toSVG=function(S){var l=S._fullLayout._glimages,e=O.select(S).selectAll(".svg-container"),t=e.filter(function(r,n){return n===e.size()-1}).selectAll(".gl-canvas-context, .gl-canvas-focus");function a(){var r=this,n=r.toDataURL("image/png"),i=l.append("svg:image");i.attr({xmlns:w.svg,"xlink:href":n,preserveAspectRatio:"none",x:0,y:0,width:r.style.width,height:r.style.height})}t.each(a),window.setTimeout(function(){O.selectAll("#filterBarPattern").attr("id","filterBarPattern")},60)}}}),hL=xe({"src/traces/parcoords/base_index.js"(U,O){"use strict";O.exports={attributes:N3(),supplyDefaults:rL(),calc:aL(),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:fL(),categories:["gl","regl","noOpacity","noHover"],meta:{}}}}),dL=xe({"src/traces/parcoords/index.js"(U,O){"use strict";var u=hL();u.plot=H3(),O.exports=u}}),vL=xe({"lib/parcoords.js"(U,O){"use strict";O.exports=dL()}}),G3=xe({"src/traces/parcats/attributes.js"(U,O){"use strict";var u=oo().extendFlat,v=Rs(),w=vl(),S=pl(),{hovertemplateAttrs:l,templatefallbackAttrs:e}=js(),t=Gl().attributes,a=u({editType:"calc"},S("line",{editTypeOverride:"calc"}),{shape:{valType:"enumerated",values:["linear","hspline"],dflt:"linear",editType:"plot"},hovertemplate:l({editType:"plot",arrayOk:!1},{keys:["count","probability"]}),hovertemplatefallback:e({editType:"plot"})});O.exports={domain:t({name:"parcats",trace:!0,editType:"calc"}),hoverinfo:u({},v.hoverinfo,{flags:["count","probability"],editType:"plot",arrayOk:!1}),hoveron:{valType:"enumerated",values:["category","color","dimension"],dflt:"category",editType:"plot"},hovertemplate:l({editType:"plot",arrayOk:!1},{keys:["count","probability","category","categorycount","colorcount","bandcolorcount"]}),hovertemplatefallback:e({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:w({editType:"calc"}),tickfont:w({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:a,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}}}),pL=xe({"src/traces/parcats/defaults.js"(U,O){"use strict";var u=Sr(),v=vf().hasColorscale,w=Fc(),S=Gl().defaults,l=bf(),e=G3(),t=Z1(),a=rs().isTypedArraySpec;function r(i,s,c,p,f){f("line.shape"),f("line.hovertemplate"),f("line.hovertemplatefallback");var d=f("line.color",p.colorway[0]);if(v(i,"line")&&u.isArrayOrTypedArray(d)){if(d.length)return f("line.colorscale"),w(i,s,p,f,{prefix:"line.",cLetter:"c"}),d.length;s.line.color=c}return 1/0}function n(i,s){function c(M,A){return u.coerce(i,s,e.dimensions,M,A)}var p=c("values"),f=c("visible");if(p&&p.length||(f=s.visible=!1),f){c("label"),c("displayindex",s._index);var d=i.categoryarray,y=u.isArrayOrTypedArray(d)&&d.length>0||a(d),o;y&&(o="array");var b=c("categoryorder",o);b==="array"?(c("categoryarray"),c("ticktext")):(delete i.categoryarray,delete i.ticktext),!y&&b==="array"&&(s.categoryorder="trace")}}O.exports=function(s,c,p,f){function d(M,A){return u.coerce(s,c,e,M,A)}var y=l(s,c,{name:"dimensions",handleItemDefaults:n}),o=r(s,c,p,f,d);S(c,f,d),(!Array.isArray(y)||!y.length)&&(c.visible=!1),t(c,y,"values",o),d("hoveron"),d("hovertemplate"),d("hovertemplatefallback"),d("arrangement"),d("bundlecolors"),d("sortpaths"),d("counts");var b=f.font;u.coerceFont(d,"labelfont",b,{overrideDflt:{size:Math.round(b.size)}}),u.coerceFont(d,"tickfont",b,{autoShadowDflt:!0,overrideDflt:{size:Math.round(b.size/1.2)}})}}}),mL=xe({"src/traces/parcats/calc.js"(U,O){"use strict";var u=Xh().wrap,v=vf().hasColorscale,w=xf(),S=i_(),l=go(),e=Sr(),t=yn();O.exports=function(b,M){var A=e.filterVisible(M.dimensions);if(A.length===0)return[];var E=A.map(function(j){var G;if(j.categoryorder==="trace")G=null;else if(j.categoryorder==="array")G=j.categoryarray;else{G=S(j.values);for(var K=!0,H=0;H=o.length||b[o[M]]!==void 0)return!1;b[o[M]]=!0}return!0}}}),gL=xe({"src/traces/parcats/parcats.js"(U,O){"use strict";var u=Na(),v=(zv(),Ta(Yd)).interpolateNumber,w=rg(),S=wi(),l=hu(),e=Sr(),t=e.strTranslate,a=go(),r=el();function n(H,Z,X,$){var Q=Z._context.staticPlot,re=H.map(te.bind(0,Z,X)),ue=$.selectAll("g.parcatslayer").data([null]);ue.enter().append("g").attr("class","parcatslayer").style("pointer-events",Q?"none":"all");var pe=ue.selectAll("g.trace.parcats").data(re,i),ge=pe.enter().append("g").attr("class","trace parcats");pe.attr("transform",function(ne){return t(ne.x,ne.y)}),ge.append("g").attr("class","paths");var Te=pe.select("g.paths"),Se=Te.selectAll("path.path").data(function(ne){return ne.paths},i);Se.attr("fill",function(ne){return ne.model.color});var Ce=Se.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",function(ne){return ne.model.color}).attr("fill-opacity",0);b(Ce),Se.attr("d",function(ne){return ne.svgD}),Ce.empty()||Se.sort(c),Se.exit().remove(),Se.on("mouseover",p).on("mouseout",f).on("click",o),ge.append("g").attr("class","dimensions");var Ue=pe.select("g.dimensions"),Oe=Ue.selectAll("g.dimension").data(function(ne){return ne.dimensions},i);Oe.enter().append("g").attr("class","dimension"),Oe.attr("transform",function(ne){return t(ne.x,0)}),Oe.exit().remove();var _e=Oe.selectAll("g.category").data(function(ne){return ne.categories},i),ce=_e.enter().append("g").attr("class","category");_e.attr("transform",function(ne){return t(0,ne.y)}),ce.append("rect").attr("class","catrect").attr("pointer-events","none"),_e.select("rect.catrect").attr("fill","none").attr("width",function(ne){return ne.width}).attr("height",function(ne){return ne.height}),E(ce);var ie=_e.selectAll("rect.bandrect").data(function(ne){return ne.bands},i);ie.each(function(){e.raiseToTop(this)}),ie.attr("fill",function(ne){return ne.color});var se=ie.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",function(ne){return ne.color}).attr("fill-opacity",0);ie.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"}),T(se),ie.exit().remove(),ce.append("text").attr("class","catlabel").attr("pointer-events","none"),_e.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){a.font(u.select(this),ne.parcatsViewModel.categorylabelfont),r.convertToTspans(u.select(this),Z)}),ce.append("text").attr("class","dimlabel"),_e.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,be){return be===0?ne.parcatsViewModel.model.dimensions[ne.model.dimensionInd].dimensionLabel:null}).each(function(ne){a.font(u.select(this),ne.parcatsViewModel.labelfont)}),_e.selectAll("rect.bandrect").on("mouseover",z).on("mouseout",R),_e.exit().remove(),Oe.call(u.behavior.drag().origin(function(ne){return{x:ne.x,y:0}}).on("dragstart",k).on("drag",B).on("dragend",N)),pe.each(function(ne){ne.traceSelection=u.select(this),ne.pathSelection=u.select(this).selectAll("g.paths").selectAll("path.path"),ne.dimensionSelection=u.select(this).selectAll("g.dimensions").selectAll("g.dimension")}),pe.exit().remove()}O.exports=function(H,Z,X,$){n(X,H,$,Z)};function i(H){return H.key}function s(H){var Z=H.parcatsViewModel.dimensions.length,X=H.parcatsViewModel.dimensions[Z-1].model.dimensionInd;return H.model.dimensionInd===X}function c(H,Z){return H.model.rawColor>Z.model.rawColor?1:H.model.rawColor"),Ne=u.mouse(Q)[0];l.loneHover({trace:re,x:_e-pe.left+ge.left,y:ce-pe.top+ge.top,text:qe,color:H.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:ie,idealAlign:Ne<_e?"right":"left",hovertemplate:(re.line||{}).hovertemplate,hovertemplateLabels:be,eventData:[{data:re._input,fullData:re,count:se,probability:ne}]},{container:ue._hoverlayer.node(),outerContainer:ue._paper.node(),gd:Q})}}}function f(H){if(!H.parcatsViewModel.dragDimension&&(b(u.select(this)),l.loneUnhover(H.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()),H.parcatsViewModel.pathSelection.sort(c),H.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1)){var Z=d(H),X=y(H);H.parcatsViewModel.graphDiv.emit("plotly_unhover",{points:Z,event:u.event,constraints:X})}}function d(H){for(var Z=[],X=q(H.parcatsViewModel),$=0;$S.mostReadable(Z.model.color)).attr("stroke-width",.3)}function A(H){H.select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}function E(H){H.select("rect.catrect").attr("stroke","black").attr("stroke-width",1).attr("stroke-opacity",1)}function g(H){H.attr("stroke","black").attr("stroke-width",1.5)}function T(H){H.attr("stroke","black").attr("stroke-width",.2).attr("stroke-opacity",1).attr("fill-opacity",1)}function m(H){var Z=H.parcatsViewModel.pathSelection,X=H.categoryViewModel.model.dimensionInd,$=H.categoryViewModel.model.categoryInd;return Z.filter(function(Q){return Q.model.categoryInds[X]===$&&Q.model.color===H.color})}function h(H){var Z=u.select(H.parentNode).selectAll("rect.bandrect");Z.each(function(X){var $=m(X);M($),$.each(function(){e.raiseToTop(this)})}),A(u.select(H.parentNode))}function x(H){var Z=u.select(H).datum(),X=m(Z);M(X),X.each(function(){e.raiseToTop(this)}),u.select(H.parentNode).selectAll("rect.bandrect").filter(function($){return $.color===Z.color}).each(function(){e.raiseToTop(this),g(u.select(this))})}function _(H,Z,X){var $=u.select(H).datum(),Q=$.categoryViewModel.model,re=$.parcatsViewModel.graphDiv,ue=u.select(H.parentNode).selectAll("rect.bandrect"),pe=[];ue.each(function(Te){var Se=m(Te);Se.each(function(Ce){Array.prototype.push.apply(pe,d(Ce))})});var ge={};ge[Q.dimensionInd]=Q.categoryValue,re.emit(Z,{points:pe,event:X,constraints:ge})}function D(H,Z,X){var $=u.select(H).datum(),Q=$.categoryViewModel.model,re=$.parcatsViewModel.graphDiv,ue=m($),pe=[];ue.each(function(Te){Array.prototype.push.apply(pe,d(Te))});var ge={};ge[Q.dimensionInd]=Q.categoryValue,$.rawColor!==void 0&&(ge.color=$.rawColor),re.emit(Z,{points:pe,event:X,constraints:ge})}function C(H,Z,X){H._fullLayout._calcInverseTransform(H);var $=H._fullLayout._invScaleX,Q=H._fullLayout._invScaleY,re=u.select(X.parentNode).select("rect.catrect"),ue=re.node().getBoundingClientRect(),pe=re.datum(),ge=pe.parcatsViewModel,Te=ge.model.dimensions[pe.model.dimensionInd],Se=ge.trace,Ce=ue.top+ue.height/2,Ue,Oe;ge.dimensions.length>1&&Te.displayInd===ge.dimensions.length-1?(Ue=ue.left,Oe="left"):(Ue=ue.left+ue.width,Oe="right");var _e=pe.model.count,ce=pe.model.categoryLabel,ie=_e/pe.parcatsViewModel.model.count,se={countLabel:_e,categoryLabel:ce,probabilityLabel:ie.toFixed(3)},ne=[];pe.parcatsViewModel.hoverinfoItems.indexOf("count")!==-1&&ne.push(["Count:",se.countLabel].join(" ")),pe.parcatsViewModel.hoverinfoItems.indexOf("probability")!==-1&&ne.push(["P("+se.categoryLabel+"):",se.probabilityLabel].join(" "));var be=ne.join("
");return{trace:Se,x:$*(Ue-Z.left),y:Q*(Ce-Z.top),text:be,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:Oe,hovertemplate:Se.hovertemplate,hovertemplateLabels:se,eventData:[{data:Se._input,fullData:Se,count:_e,category:ce,probability:ie}]}}function F(H,Z,X){var $=[];return u.select(X.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each(function(){var Q=this;$.push(C(H,Z,Q))}),$}function I(H,Z,X){H._fullLayout._calcInverseTransform(H);var $=H._fullLayout._invScaleX,Q=H._fullLayout._invScaleY,re=X.getBoundingClientRect(),ue=u.select(X).datum(),pe=ue.categoryViewModel,ge=pe.parcatsViewModel,Te=ge.model.dimensions[pe.model.dimensionInd],Se=ge.trace,Ce=re.y+re.height/2,Ue,Oe;ge.dimensions.length>1&&Te.displayInd===ge.dimensions.length-1?(Ue=re.left,Oe="left"):(Ue=re.left+re.width,Oe="right");var _e=pe.model.categoryLabel,ce=ue.parcatsViewModel.model.count,ie=0;ue.categoryViewModel.bands.forEach(function(At){At.color===ue.color&&(ie+=At.count)});var se=pe.model.count,ne=0;ge.pathSelection.each(function(At){At.model.color===ue.color&&(ne+=At.model.count)});var be=ie/ce,De=ie/ne,qe=ie/se,Ne={countLabel:ie,categoryLabel:_e,probabilityLabel:be.toFixed(3)},ut=[];pe.parcatsViewModel.hoverinfoItems.indexOf("count")!==-1&&ut.push(["Count:",Ne.countLabel].join(" ")),pe.parcatsViewModel.hoverinfoItems.indexOf("probability")!==-1&&(ut.push("P(color \u2229 "+_e+"): "+Ne.probabilityLabel),ut.push("P("+_e+" | color): "+De.toFixed(3)),ut.push("P(color | "+_e+"): "+qe.toFixed(3)));var ot=ut.join("
"),yt=S.mostReadable(ue.color);return{trace:Se,x:$*(Ue-Z.left),y:Q*(Ce-Z.top),text:ot,color:ue.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:yt,fontSize:10,idealAlign:Oe,hovertemplate:Se.hovertemplate,hovertemplateLabels:Ne,eventData:[{data:Se._input,fullData:Se,category:_e,count:ce,probability:be,categorycount:se,colorcount:ne,bandcolorcount:ie}]}}function z(H){if(!H.parcatsViewModel.dragDimension&&H.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1){var Z=u.mouse(this)[1];if(Z<-1)return;var X=H.parcatsViewModel.graphDiv,$=X._fullLayout,Q=$._paperdiv.node().getBoundingClientRect(),re=H.parcatsViewModel.hoveron,ue=this;if(re==="color"?(x(ue),D(ue,"plotly_hover",u.event)):(h(ue),_(ue,"plotly_hover",u.event)),H.parcatsViewModel.hoverinfoItems.indexOf("none")===-1){var pe;re==="category"?pe=C(X,Q,ue):re==="color"?pe=I(X,Q,ue):re==="dimension"&&(pe=F(X,Q,ue)),pe&&l.loneHover(pe,{container:$._hoverlayer.node(),outerContainer:$._paper.node(),gd:X})}}}function R(H){var Z=H.parcatsViewModel;if(!Z.dragDimension&&(b(Z.pathSelection),E(Z.dimensionSelection.selectAll("g.category")),T(Z.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),l.loneUnhover(Z.graphDiv._fullLayout._hoverlayer.node()),Z.pathSelection.sort(c),Z.hoverinfoItems.indexOf("skip")===-1)){var X=H.parcatsViewModel.hoveron,$=this;X==="color"?D($,"plotly_unhover",u.event):_($,"plotly_unhover",u.event)}}function k(H){H.parcatsViewModel.arrangement!=="fixed"&&(H.dragDimensionDisplayInd=H.model.displayInd,H.initialDragDimensionDisplayInds=H.parcatsViewModel.model.dimensions.map(function(Z){return Z.displayInd}),H.dragHasMoved=!1,H.dragCategoryDisplayInd=null,u.select(this).selectAll("g.category").select("rect.catrect").each(function(Z){var X=u.mouse(this)[0],$=u.mouse(this)[1];-2<=X&&X<=Z.width+2&&-2<=$&&$<=Z.height+2&&(H.dragCategoryDisplayInd=Z.model.displayInd,H.initialDragCategoryDisplayInds=H.model.categories.map(function(Q){return Q.displayInd}),Z.model.dragY=Z.y,e.raiseToTop(this.parentNode),u.select(this.parentNode).selectAll("rect.bandrect").each(function(Q){Q.y<$&&$<=Q.y+Q.height&&(H.potentialClickBand=this)}))}),H.parcatsViewModel.dragDimension=H,l.loneUnhover(H.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()))}function B(H){if(H.parcatsViewModel.arrangement!=="fixed"&&(H.dragHasMoved=!0,H.dragDimensionDisplayInd!==null)){var Z=H.dragDimensionDisplayInd,X=Z-1,$=Z+1,Q=H.parcatsViewModel.dimensions[Z];if(H.dragCategoryDisplayInd!==null){var re=Q.categories[H.dragCategoryDisplayInd];re.model.dragY+=u.event.dy;var ue=re.model.dragY,pe=re.model.displayInd,ge=Q.categories,Te=ge[pe-1],Se=ge[pe+1];Te!==void 0&&ueSe.y+Se.height/2&&(re.model.displayInd=Se.model.displayInd,Se.model.displayInd=pe),H.dragCategoryDisplayInd=re.model.displayInd}if(H.dragCategoryDisplayInd===null||H.parcatsViewModel.arrangement==="freeform"){Q.model.dragX=u.event.x;var Ce=H.parcatsViewModel.dimensions[X],Ue=H.parcatsViewModel.dimensions[$];Ce!==void 0&&Q.model.dragXUe.x&&(Q.model.displayInd=Ue.model.displayInd,Ue.model.displayInd=H.dragDimensionDisplayInd),H.dragDimensionDisplayInd=Q.model.displayInd}G(H.parcatsViewModel),j(H.parcatsViewModel),ee(H.parcatsViewModel),Y(H.parcatsViewModel)}}function N(H){if(H.parcatsViewModel.arrangement!=="fixed"&&H.dragDimensionDisplayInd!==null){u.select(this).selectAll("text").attr("font-weight","normal");var Z={},X=q(H.parcatsViewModel),$=H.parcatsViewModel.model.dimensions.map(function(Ue){return Ue.displayInd}),Q=H.initialDragDimensionDisplayInds.some(function(Ue,Oe){return Ue!==$[Oe]});Q&&$.forEach(function(Ue,Oe){var _e=H.parcatsViewModel.model.dimensions[Oe].containerInd;Z["dimensions["+_e+"].displayindex"]=Ue});var re=!1;if(H.dragCategoryDisplayInd!==null){var ue=H.model.categories.map(function(Ue){return Ue.displayInd});if(re=H.initialDragCategoryDisplayInds.some(function(Ue,Oe){return Ue!==ue[Oe]}),re){var pe=H.model.categories.slice().sort(function(Ue,Oe){return Ue.displayInd-Oe.displayInd}),ge=pe.map(function(Ue){return Ue.categoryValue}),Te=pe.map(function(Ue){return Ue.categoryLabel});Z["dimensions["+H.model.containerInd+"].categoryarray"]=[ge],Z["dimensions["+H.model.containerInd+"].ticktext"]=[Te],Z["dimensions["+H.model.containerInd+"].categoryorder"]="array"}}if(H.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1&&!H.dragHasMoved&&H.potentialClickBand&&(H.parcatsViewModel.hoveron==="color"?D(H.potentialClickBand,"plotly_click",u.event.sourceEvent):_(H.potentialClickBand,"plotly_click",u.event.sourceEvent)),H.model.dragX=null,H.dragCategoryDisplayInd!==null){var Se=H.parcatsViewModel.dimensions[H.dragDimensionDisplayInd].categories[H.dragCategoryDisplayInd];Se.model.dragY=null,H.dragCategoryDisplayInd=null}H.dragDimensionDisplayInd=null,H.parcatsViewModel.dragDimension=null,H.dragHasMoved=null,H.potentialClickBand=null,G(H.parcatsViewModel),j(H.parcatsViewModel);var Ce=u.transition().duration(300).ease("cubic-in-out");Ce.each(function(){ee(H.parcatsViewModel,!0),Y(H.parcatsViewModel,!0)}).each("end",function(){(Q||re)&&w.restyle(H.parcatsViewModel.graphDiv,Z,[X])})}}function q(H){for(var Z,X=H.graphDiv._fullData,$=0;$=0;ge--)Te+="C"+ue[ge]+","+(Z[ge+1]+$)+" "+re[ge]+","+(Z[ge]+$)+" "+(H[ge]+X[ge])+","+(Z[ge]+$),Te+="l-"+X[ge]+",0 ";return Te+="Z",Te}function j(H){var Z=H.dimensions,X=H.model,$=Z.map(function(vr){return vr.categories.map(function(Ut){return Ut.y})}),Q=H.model.dimensions.map(function(vr){return vr.categories.map(function(Ut){return Ut.displayInd})}),re=H.model.dimensions.map(function(vr){return vr.displayInd}),ue=H.dimensions.map(function(vr){return vr.model.dimensionInd}),pe=Z.map(function(vr){return vr.x}),ge=Z.map(function(vr){return vr.width}),Te=[];for(var Se in X.paths)X.paths.hasOwnProperty(Se)&&Te.push(X.paths[Se]);function Ce(vr){var Ut=vr.categoryInds.map(function(at,Ee){return Q[Ee][at]}),Jt=ue.map(function(at){return Ut[at]});return Jt}Te.sort(function(vr,Ut){var Jt=Ce(vr),at=Ce(Ut);return H.sortpaths==="backward"&&(Jt.reverse(),at.reverse()),Jt.push(vr.valueInds[0]),at.push(Ut.valueInds[0]),H.bundlecolors&&(Jt.unshift(vr.rawColor),at.unshift(Ut.rawColor)),Jtat?1:0});for(var Ue=new Array(Te.length),Oe=Z[0].model.count,_e=Z[0].categories.map(function(vr){return vr.height}).reduce(function(vr,Ut){return vr+Ut}),ce=0;ce0?se=_e*(ie.count/Oe):se=0;for(var ne=new Array($.length),be=0;be1?ue=(H.width-2*X-$)/(Q-1):ue=0,pe=X,ge=pe+ue*re;var Te=[],Se=H.model.maxCats,Ce=Z.categories.length,Ue=8,Oe=Z.count,_e=H.height-Ue*(Se-1),ce,ie,se,ne,be,De=(Se-Ce)*Ue/2,qe=Z.categories.map(function(Ne){return{displayInd:Ne.displayInd,categoryInd:Ne.categoryInd}});for(qe.sort(function(Ne,ut){return Ne.displayInd-ut.displayInd}),be=0;be0?ce=ie.count/Oe*_e:ce=0,se={key:ie.valueInds[0],model:ie,width:$,height:ce,y:ie.dragY!==null?ie.dragY:De,bands:[],parcatsViewModel:H},De=De+ce+Ue,Te.push(se);return{key:Z.dimensionInd,x:Z.dragX!==null?Z.dragX:ge,y:0,width:$,model:Z,categories:Te,parcatsViewModel:H,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}}}),W3=xe({"src/traces/parcats/plot.js"(U,O){"use strict";var u=gL();O.exports=function(w,S,l,e){var t=w._fullLayout,a=t._paper,r=t._size;u(w,a,S,{width:r.w,height:r.h,margin:{t:r.t,r:r.r,b:r.b,l:r.l}},l,e)}}}),yL=xe({"src/traces/parcats/base_plot.js"(U){"use strict";var O=df().getModuleCalcData,u=W3(),v="parcats";U.name=v,U.plot=function(w,S,l,e){var t=O(w.calcdata,v);if(t.length){var a=t[0];u(w,a,l,e)}},U.clean=function(w,S,l,e){var t=e._has&&e._has("parcats"),a=S._has&&S._has("parcats");t&&!a&&e._paperdiv.selectAll(".parcats").remove()}}}),_L=xe({"src/traces/parcats/index.js"(U,O){"use strict";O.exports={attributes:G3(),supplyDefaults:pL(),calc:mL(),plot:W3(),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:yL(),categories:["noOpacity"],meta:{}}}}),bL=xe({"lib/parcats.js"(U,O){"use strict";O.exports=_L()}}),xL=xe({"src/plots/map/styles/arcgis-sat-hybrid.js"(U,O){"use strict";O.exports={version:8,name:"orto",metadata:{"maputnik:renderer":"mlgljs"},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"}},{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} {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} {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} {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} @@ -3208,10 +2707,10 @@ uniform `+Tr+" "+Ur+" u_"+vr+`; {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} {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} {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} -{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"}}}),oD=De({"src/plots/map/styles/arcgis-sat.js"(Y,H){H.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"}}]}}}),f0=De({"src/plots/map/constants.js"(Y,H){"use strict";var p=jp(),x=nD(),S=oD(),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",i="https://basemaps.cartocdn.com/gl/dark-matter-nolabels-gl-style/style.json",n="https://basemaps.cartocdn.com/gl/voyager-nolabels-gl-style/style.json",a={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":i,"carto-voyager-nolabels":n},s=p(a);H.exports={styleValueDflt:"basic",stylesMap:a,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(` -`),mapOnErrorMsg:"Map error."}}}),c1=De({"src/plots/map/layout_attributes.js"(Y,H){"use strict";var p=ui(),x=vo().defaultLine,S=Ec().attributes,E=qu(),e=lf().textposition,t=gc().overrideAll,r=Gl().templatedArray,o=f0(),i=E({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});i.family.dflt="Open Sans Regular, Arial Unicode MS Regular";var n=H.exports=t({_arrayAttrRegexps:[p.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:i,textposition:p.extendFlat({},e,{arrayOk:!1})}})},"plot","from-root");n.uirevision={valType:"any",editType:"none"}}}),Cb=De({"src/traces/scattermap/attributes.js"(Y,H){"use strict";var{hovertemplateAttrs:p,texttemplateAttrs:x,templatefallbackAttrs:S}=ou(),E=vv(),e=om(),t=lf(),r=c1(),o=Yl(),i=zu(),n=Xo().extendFlat,a=gc().overrideAll,s=c1(),h=e.line,c=e.marker;H.exports=a({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},i("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:p(),hovertemplatefallback:S()},"calc","nested")}}),dA=De({"src/traces/scattermap/constants.js"(Y,H){"use strict";var p=["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"];H.exports={isSupportedFont:function(x){return p.indexOf(x)!==-1}}}}),sD=De({"src/traces/scattermap/defaults.js"(Y,H){"use strict";var p=ui(),x=Hu(),S=Od(),E=Wd(),e=Xd(),t=mv(),r=Cb(),o=dA().isSupportedFont;H.exports=function(a,s,h,c){function m(y,f){return p.coerce(a,s,r,y,f)}function d(y,f){return p.coerce2(a,s,r,y,f)}var T=i(a,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(a,s,h,c,m,{noLine:!0,noAngle:!0}),m("marker.allowoverlap"),m("marker.angle");var l=s.marker;l.symbol!=="circle"&&(p.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),p.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}x.hasLines(s)&&(E(a,s,h,c,m,{noDash:!0}),m("connectgaps"));var _=d("cluster.maxzoom"),w=d("cluster.step"),A=d("cluster.color",s.marker&&s.marker.color||h),M=d("cluster.size"),g=d("cluster.opacity"),b=_!==!1||w!==!1||A!==!1||M!==!1||g!==!1,v=m("cluster.enabled",b);if(v||x.hasText(s)){var u=c.font.family;e(a,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(a,s,h,m),p.coerceSelectionMarkerOpacity(s,m)};function i(n,a,s){var h=s("lon")||[],c=s("lat")||[],m=Math.min(h.length,c.length);return a._length=m,m}}}),vA=De({"src/traces/scattermap/format_labels.js"(Y,H){"use strict";var p=us();H.exports=function(S,E,e){var t={},r=e[E.subplot]._subplot,o=r.mockAxis,i=S.lonlat;return t.lonLabel=p.tickText(o,o.c2l(i[0]),!0).text,t.latLabel=p.tickText(o,o.c2l(i[1]),!0).text,t}}}),pA=De({"src/plots/map/convert_text_opts.js"(Y,H){"use strict";var p=ui();H.exports=function(S,E){var e=S.split(" "),t=e[0],r=e[1],o=p.isArrayOrTypedArray(E)?p.mean(E):E,i=.5+o/100,n=1.5+o/100,a=["",""],s=[0,0];switch(t){case"top":a[0]="top",s[1]=-n;break;case"bottom":a[0]="bottom",s[1]=n;break}switch(r){case"left":a[1]="right",s[0]=-i;break;case"right":a[1]="left",s[0]=i;break}var h;return a[0]&&a[1]?h=a.join("-"):a[0]?h=a[0]:a[1]?h=a[1]:h="center",{anchor:h,offset:s}}}}),lD=De({"src/traces/scattermap/convert.js"(Y,H){"use strict";var p=vn(),x=ui(),S=zn().BADNUM,E=o0(),e=oc(),t=ys(),r=Km(),o=Hu(),i=dA().isSupportedFont,n=pA(),a=Ad().appendArrayPointValue,s=vu().NEWLINES,h=vu().BR_TAG_ALL;H.exports=function(g,b){var v=b[0].trace,u=v.visible===!0&&v._length!==0,y=v.fill!=="none",f=o.hasLines(v),R=o.hasMarkers(v),L=o.hasText(v),z=R&&v.marker.symbol==="circle",F=R&&v.marker.symbol!=="circle",N=v.cluster&&v.cluster.enabled,B=c("fill"),I=c("line"),U=c("circle"),O=c("symbol"),X={fill:B,line:I,circle:U,symbol:O};if(!u)return X;var J;if((y||f)&&(J=E.calcTraceToLineCoords(b)),y&&(B.geojson=E.makePolygon(J),B.layout.visibility="visible",x.extendFlat(B.paint,{"fill-color":v.fillcolor})),f&&(I.geojson=E.makeLine(J),I.layout.visibility="visible",x.extendFlat(I.paint,{"line-width":v.line.width,"line-color":v.line.color,"line-opacity":v.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(v.cluster.color,v.cluster.step),"circle-radius":w(v.cluster.size,v.cluster.step),"circle-opacity":w(v.cluster.opacity,v.cluster.step)}},X.clusterCount={type:"symbol",filter:["has","point_count"],paint:{},layout:{"text-field":"{point_count_abbreviated}","text-font":A(v),"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)&&(O.geojson=d(b,g),x.extendFlat(O.layout,{visibility:"visible","icon-image":"{symbol}-15","text-field":"{text}"}),F&&(x.extendFlat(O.layout,{"icon-size":v.marker.size/10}),"angle"in v.marker&&v.marker.angle!=="auto"&&x.extendFlat(O.layout,{"icon-rotate":{type:"identity",property:"angle"},"icon-rotation-alignment":"map"}),O.layout["icon-allow-overlap"]=v.marker.allowoverlap,x.extendFlat(O.paint,{"icon-opacity":v.opacity*v.marker.opacity,"icon-color":v.marker.color})),L)){var le=(v.marker||{}).size,ce=n(v.textposition,le);x.extendFlat(O.layout,{"text-size":v.textfont.size,"text-anchor":ce.anchor,"text-offset":ce.offset,"text-font":A(v)}),x.extendFlat(O.paint,{"text-color":v.textfont.color,"text-opacity":v.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,v=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 B;f&&(B=function(le){var ce=p(le)?+x.constrain(le,0,1):0;return L(ce)});var I=[];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"),i(R)||(R=b);var L=R.split(", ");return L}}}),uD=De({"src/traces/scattermap/plot.js"(Y,H){"use strict";var p=ui(),x=lD(),S=f0().traceLayerPrefix,E={cluster:["cluster","clusterCount","circle"],nonCluster:["fill","line","circle","symbol"]};function e(r,o,i,n){this.type="scattermap",this.subplot=r,this.uid=o,this.clusterEnabled=i,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,i){var n={type:"geojson",data:o.geojson};i&&i.enabled&&p.extendFlat(n,{cluster:!0,clusterMaxZoom:i.maxzoom});var a=this.subplot.map.getSource(this.sourceIds[r]);a?a.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,i){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 a=this.layerIds[r],s,h=this.subplot.getMapLayers(),c=0;c=0;f--){var R=y[f];a.removeLayer(d.layerIds[R])}u||a.removeSource(d.sourceIds.circle)}function _(u){for(var y=E.nonCluster,f=0;f=0;f--){var R=y[f];a.removeLayer(d.layerIds[R]),u||a.removeSource(d.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 a=i[n];o.removeLayer(this.layerIds[a]),o.removeSource(this.sourceIds[a])}},H.exports=function(o,i){var n=i[0].trace,a=n.cluster&&n.cluster.enabled,s=n.visible!==!0,h=new e(o,n.uid,a,s),c=x(o.gd,i),m=h.below=o.belowLookup["trace-"+n.uid],d,T,l;if(a)for(h.addSource("circle",c.circle,n.cluster),d=0;d=0?Math.floor((n+180)/360):Math.ceil((n-180)/360),M=A*360,g=n-M;function b(N){var B=N.lonlat;if(B[0]===e||_&&T.indexOf(N.i+1)===-1)return 1/0;var I=x.modHalf(B[0],360),U=B[1],O=d.project([I,U]),X=O.x-c.c2p([g,U]),J=O.y-m.c2p([I,a]),se=Math.max(3,N.mrc||0);return Math.max(Math.sqrt(X*X+J*J)-se,1-3/se)}if(p.getClosest(s,b,i),i.index!==!1){var v=s[i.index],u=v.lonlat,y=[x.modHalf(u[0],360)+M,u[1]],f=c.c2p(y),R=m.c2p(y),L=v.mrc||1;i.x0=f-L,i.x1=f+L,i.y0=R-L,i.y1=R+L;var z={};z[h.subplot]={_subplot:d};var F=h._module.formatLabels(v,h,z);return i.lonLabel=F.lonLabel,i.latLabel=F.latLabel,i.color=S(h,v),i.extraText=o(h,v,s[0].t.labels),i.hovertemplate=h.hovertemplate,[i]}}function o(i,n,a){if(i.hovertemplate)return;var s=n.hi||i.hoverinfo,h=s.split("+"),c=h.indexOf("all")!==-1,m=h.indexOf("lon")!==-1,d=h.indexOf("lat")!==-1,T=n.lonlat,l=[];function _(w){return w+"\xB0"}return c||m&&d?l.push("("+_(T[1])+", "+_(T[0])+")"):m?l.push(a.lon+_(T[0])):d&&l.push(a.lat+_(T[1])),(c||h.indexOf("text")!==-1)&&E(n,i,l),l.join("
")}H.exports={hoverPoints:r,getExtraText:o}}}),cD=De({"src/traces/scattermap/event_data.js"(Y,H){"use strict";H.exports=function(x,S){return x.lon=S.lon,x.lat=S.lat,x}}}),fD=De({"src/traces/scattermap/select.js"(Y,H){"use strict";var p=ui(),x=Hu(),S=zn().BADNUM;H.exports=function(e,t){var r=e.cd,o=e.xaxis,i=e.yaxis,n=[],a=r[0].trace,s;if(!x.hasMarkers(a))return[];if(t===!1)for(s=0;s1)return 1;for(var $=W,he=0;he<8;he++){var Ee=this.sampleCurveX($)-W;if(Math.abs(Ee)Ee?We=$:ct=$,$=.5*(ct-We)+We;return $},solve:function(W,D){return this.sampleCurveY(this.solveCurveX(W,D))}};var h=r(a);let c,m;function d(){return c==null&&(c=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")&&typeof createImageBitmap=="function"),c}function T(){if(m==null&&(m=!1,d())){let D=new OffscreenCanvas(5,5).getContext("2d",{willReadFrequently:!0});if(D){for(let he=0;he<5*5;he++){let Ee=4*he;D.fillStyle=`rgb(${Ee},${Ee+1},${Ee+2})`,D.fillRect(he%5,Math.floor(he/5),1,1)}let $=D.getImageData(0,0,5,5).data;for(let he=0;he<5*5*4;he++)if(he%4!=3&&$[he]!==he){m=!0;break}}}return m||!1}function l(W,D,$,he){let Ee=new h(W,D,$,he);return je=>Ee.solve(je)}let _=l(.25,.1,.25,1);function w(W,D,$){return Math.min($,Math.max(D,W))}function A(W,D,$){let he=$-D,Ee=((W-D)%he+he)%he+D;return Ee===D?$:Ee}function M(W,...D){for(let $ of D)for(let he in $)W[he]=$[he];return W}let g=1;function b(W,D,$){let he={};for(let Ee in W)he[Ee]=D.call(this,W[Ee],Ee,W);return he}function v(W,D,$){let he={};for(let Ee in W)D.call(this,W[Ee],Ee,W)&&(he[Ee]=W[Ee]);return he}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,$){return($.y-W.y)*(D.x-W.x)>(D.y-W.y)*($.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 B(W,D,$,he,Ee){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 ct=We.startsWith("BGR"),St=new Uint8ClampedArray(he*Ee*4);if(yield je.copyTo(St,function(Nt,sr,Er,Fr,Xr){let ni=4*Math.max(-sr,0),gi=(Math.max(0,Er)-Er)*Fr*4+ni,Zi=4*Fr,aa=Math.max(0,sr),nn=Math.max(0,Er);return{rect:{x:aa,y:nn,width:Math.min(Nt.width,sr+Fr)-aa,height:Math.min(Nt.height,Er+Xr)-nn},layout:[{offset:gi,stride:Zi}]}}(W,D,$,he,Ee)),ct)for(let Nt=0;NtL(self)?self.worker&&self.worker.referrer:(window.location.protocol==="blob:"?window.parent:window).location.href,Z=function(W,D){if(/:\/\//.test(W.url)&&!/^https?:|^file:/.test(W.url)){let he=se(W.url);if(he)return he(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($=W.url)||/^file:/.test(q())&&!/^\w+:/.test($))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return function(he,Ee){return t(this,void 0,void 0,function*(){let je=new Request(he.url,{method:he.method||"GET",body:he.body,credentials:he.credentials,headers:he.headers,cache:he.cache,referrer:q(),signal:Ee.signal});he.type!=="json"||je.headers.has("Accept")||je.headers.set("Accept","application/json");let We=yield fetch(je);if(!We.ok){let Nt=yield We.blob();throw new ce(We.status,We.statusText,he.url,Nt)}let ct;ct=he.type==="arrayBuffer"||he.type==="image"?We.arrayBuffer():he.type==="json"?We.json():We.text();let St=yield ct;if(Ee.signal.aborted)throw X();return{data:St,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 $;return function(he,Ee){return new Promise((je,We)=>{var ct;let St=new XMLHttpRequest;St.open(he.method||"GET",he.url,!0),he.type!=="arrayBuffer"&&he.type!=="image"||(St.responseType="arraybuffer");for(let Nt in he.headers)St.setRequestHeader(Nt,he.headers[Nt]);he.type==="json"&&(St.responseType="text",!((ct=he.headers)===null||ct===void 0)&&ct.Accept||St.setRequestHeader("Accept","application/json")),St.withCredentials=he.credentials==="include",St.onerror=()=>{We(new Error(St.statusText))},St.onload=()=>{if(!Ee.signal.aborted)if((St.status>=200&&St.status<300||St.status===0)&&St.response!==null){let Nt=St.response;if(he.type==="json")try{Nt=JSON.parse(St.response)}catch(sr){return void We(sr)}je({data:Nt,cacheControl:St.getResponseHeader("Cache-Control"),expires:St.getResponseHeader("Expires")})}else{let Nt=new Blob([St.response],{type:St.getResponseHeader("Content-Type")});We(new ce(St.status,St.statusText,he.url,Nt))}},Ee.signal.addEventListener("abort",()=>{St.abort(),We(X())}),St.send(he.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),$=window.location;return D.protocol===$.protocol&&D.host===$.host}function V(W,D,$){$[W]&&$[W].indexOf(D)!==-1||($[W]=$[W]||[],$[W].push(D))}function oe(W,D,$){if($&&$[W]){let he=$[W].indexOf(D);he!==-1&&$[W].splice(he,1)}}class ie{constructor(D,$={}){M(this,$),this.type=D}}class j extends ie{constructor(D,$={}){super("error",M({error:D},$))}}class Q{on(D,$){return this._listeners=this._listeners||{},V(D,$,this._listeners),this}off(D,$){return oe(D,$,this._listeners),oe(D,$,this._oneTimeListeners),this}once(D,$){return $?(this._oneTimeListeners=this._oneTimeListeners||{},V(D,$,this._oneTimeListeners),this):new Promise(he=>this.once(D,he))}fire(D,$){typeof D=="string"&&(D=new ie(D,$||{}));let he=D.type;if(this.listens(he)){D.target=this;let Ee=this._listeners&&this._listeners[he]?this._listeners[he].slice():[];for(let ct of Ee)ct.call(this,D);let je=this._oneTimeListeners&&this._oneTimeListeners[he]?this._oneTimeListeners[he].slice():[];for(let ct of je)oe(he,ct,this._oneTimeListeners),ct.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,$){return this._eventedParent=D,this._eventedParentData=$,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 ue=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function _e(W,D){let $={};for(let he in W)he!=="ref"&&($[he]=W[he]);return ue.forEach(he=>{he in D&&($[he]=D[he])}),$}function we(W,D){if(Array.isArray(W)){if(!Array.isArray(D)||W.length!==D.length)return!1;for(let $=0;$`:W.itemType.kind==="value"?"array":`array<${D}>`}return W.kind}let be=[at,$e,It,Pt,Vt,qr,Wt,Ne(Cr),Mr,Dr,xt];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 $ of be)if(!Ie($,D))return null}}return`Expected ${Ye(W)} but found ${Ye(D)} instead.`}function qe(W,D){return D.some($=>$.kind===W.kind)}function ke(W,D){return D.some($=>$==="null"?W===null:$==="array"?Array.isArray(W):$==="object"?W&&!Array.isArray(W)&&typeof W=="object":$===typeof W)}function Me(W,D){return W.kind==="array"&&D.kind==="array"?W.itemType.kind===D.itemType.kind&&typeof W.N=="number":W.kind===D.kind}let Le=.96422,ut=.82521,lt=4/29,gt=6/29,kt=3*gt*gt,nr=gt*gt*gt,ir=Math.PI/180,tr=180/Math.PI;function Ir(W){return(W%=360)<0&&(W+=360),W}function vi([W,D,$,he]){let Ee,je,We=Ui((.2225045*(W=Vi(W))+.7168786*(D=Vi(D))+.0606169*($=Vi($)))/1);W===D&&D===$?Ee=je=We:(Ee=Ui((.4360747*W+.3850649*D+.1430804*$)/Le),je=Ui((.0139322*W+.0971045*D+.7141733*$)/ut));let ct=116*We-16;return[ct<0?0:ct,500*(Ee-We),200*(We-je),he]}function Vi(W){return W<=.04045?W/12.92:Math.pow((W+.055)/1.055,2.4)}function Ui(W){return W>nr?Math.pow(W,1/3):W/kt+lt}function Ki([W,D,$,he]){let Ee=(W+16)/116,je=isNaN(D)?Ee:Ee+D/500,We=isNaN($)?Ee:Ee-$/200;return Ee=1*Bi(Ee),je=Le*Bi(je),We=ut*Bi(We),[ea(3.1338561*je-1.6168667*Ee-.4906146*We),ea(-.9787684*je+1.9161415*Ee+.033454*We),ea(.0719453*je-.2289914*Ee+1.4052427*We),he]}function ea(W){return(W=W<=.00304?12.92*W:1.055*Math.pow(W,1/2.4)-.055)<0?0:W>1?1:W}function Bi(W){return W>gt?W*W*W:kt*(W-lt)}function _a(W){return parseInt(W.padEnd(2,W),16)/255}function Ca(W,D){return Kt(D?W/100:W,0,1)}function Kt(W,D,$){return Math.min(Math.max(D,W),$)}function zt(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(D,$,he,Ee=1,je=!0){this.r=D,this.g=$,this.b=he,this.a=Ee,je||(this.r*=Ee,this.g*=Ee,this.b*=Ee,Ee||this.overwriteGetter("rgb",[D,$,he,Ee]))}static parse(D){if(D instanceof Jt)return D;if(typeof D!="string")return;let $=function(he){if((he=he.toLowerCase().trim())==="transparent")return[0,0,0,0];let Ee=Zt[he];if(Ee){let[We,ct,St]=Ee;return[We/255,ct/255,St/255,1]}if(he.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(he)){let We=he.length<6?1:2,ct=1;return[_a(he.slice(ct,ct+=We)),_a(he.slice(ct,ct+=We)),_a(he.slice(ct,ct+=We)),_a(he.slice(ct,ct+We)||"ff")]}if(he.startsWith("rgb")){let We=he.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(We){let[ct,St,Nt,sr,Er,Fr,Xr,ni,gi,Zi,aa,nn]=We,Aa=[sr||" ",Xr||" ",Zi].join("");if(Aa===" "||Aa===" /"||Aa===",,"||Aa===",,,"){let Ja=[Nt,Fr,gi].join(""),dn=Ja==="%%%"?100:Ja===""?255:0;if(dn){let no=[Kt(+St/dn,0,1),Kt(+Er/dn,0,1),Kt(+ni/dn,0,1),aa?Ca(+aa,nn):1];if(zt(no))return no}}return}}let je=he.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(je){let[We,ct,St,Nt,sr,Er,Fr,Xr,ni]=je,gi=[St||" ",sr||" ",Fr].join("");if(gi===" "||gi===" /"||gi===",,"||gi===",,,"){let Zi=[+ct,Kt(+Nt,0,100),Kt(+Er,0,100),Xr?Ca(+Xr,ni):1];if(zt(Zi))return function([aa,nn,Aa,Ja]){function dn(no){let Zo=(no+aa/30)%12,Ds=nn*Math.min(Aa,1-Aa);return Aa-Ds*Math.max(-1,Math.min(Zo-3,9-Zo,1))}return aa=Ir(aa),nn/=100,Aa/=100,[dn(0),dn(8),dn(4),Ja]}(Zi)}}}(D);return $?new Jt(...$,!1):void 0}get rgb(){let{r:D,g:$,b:he,a:Ee}=this,je=Ee||1/0;return this.overwriteGetter("rgb",[D/je,$/je,he/je,Ee])}get hcl(){return this.overwriteGetter("hcl",function(D){let[$,he,Ee,je]=vi(D),We=Math.sqrt(he*he+Ee*Ee);return[Math.round(1e4*We)?Ir(Math.atan2(Ee,he)*tr):NaN,We,$,je]}(this.rgb))}get lab(){return this.overwriteGetter("lab",vi(this.rgb))}overwriteGetter(D,$){return Object.defineProperty(this,D,{value:$}),$}toString(){let[D,$,he,Ee]=this.rgb;return`rgba(${[D,$,he].map(je=>Math.round(255*je)).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 Br{constructor(D,$,he){this.sensitivity=D?$?"variant":"case":$?"accent":"base",this.locale=he,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(D,$){return this.collator.compare(D,$)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class ri{constructor(D,$,he,Ee,je){this.text=D,this.image=$,this.scale=he,this.fontStack=Ee,this.textColor=je}}class ii{constructor(D){this.sections=D}static fromString(D){return new ii([new ri(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 ii?D:ii.fromString(D)}toString(){return this.sections.length===0?"":this.sections.map(D=>D.text).join("")}}class di{constructor(D){this.values=D.slice()}static parse(D){if(D instanceof di)return D;if(typeof D=="number")return new di([D,D,D,D]);if(Array.isArray(D)&&!(D.length<1||D.length>4)){for(let $ of D)if(typeof $!="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 di(D)}}toString(){return JSON.stringify(this.values)}}let Wi=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);class oa{constructor(D){this.values=D.slice()}static parse(D){if(D instanceof oa)return D;if(Array.isArray(D)&&!(D.length<1)&&D.length%2==0){for(let $=0;$=0&&W<=255&&typeof D=="number"&&D>=0&&D<=255&&typeof $=="number"&&$>=0&&$<=255?he===void 0||typeof he=="number"&&he>=0&&he<=1?null:`Invalid rgba value [${[W,D,$,he].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof he=="number"?[W,D,$,he]:[W,D,$]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function xa(W){if(W===null||typeof W=="string"||typeof W=="boolean"||typeof W=="number"||W instanceof Jt||W instanceof Br||W instanceof ii||W instanceof di||W instanceof oa||W instanceof ra)return!0;if(Array.isArray(W)){for(let D of W)if(!xa(D))return!1;return!0}if(typeof W=="object"){for(let D in W)if(!xa(W[D]))return!1;return!0}return!1}function ji(W){if(W===null)return at;if(typeof W=="string")return It;if(typeof W=="boolean")return Pt;if(typeof W=="number")return $e;if(W instanceof Jt)return Vt;if(W instanceof Br)return yr;if(W instanceof ii)return qr;if(W instanceof di)return Mr;if(W instanceof oa)return xt;if(W instanceof ra)return Dr;if(Array.isArray(W)){let D=W.length,$;for(let he of W){let Ee=ji(he);if($){if($===Ee)continue;$=Cr;break}$=Ee}return Ne($||Cr,D)}return Wt}function pn(W){let D=typeof W;return W===null?"":D==="string"||D==="number"||D==="boolean"?String(W):W instanceof Jt||W instanceof ii||W instanceof di||W instanceof oa||W instanceof ra?W.toString():JSON.stringify(W)}class _n{constructor(D,$){this.type=D,this.value=$}static parse(D,$){if(D.length!==2)return $.error(`'literal' expression requires exactly one argument, but found ${D.length-1} instead.`);if(!xa(D[1]))return $.error("invalid value");let he=D[1],Ee=ji(he),je=$.expectedType;return Ee.kind!=="array"||Ee.N!==0||!je||je.kind!=="array"||typeof je.N=="number"&&je.N!==0||(Ee=je),new _n(Ee,he)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class En{constructor(D){this.name="ExpressionEvaluationError",this.message=D}toJSON(){return this.message}}let bt={string:It,number:$e,boolean:Pt,object:Wt};class st{constructor(D,$){this.type=D,this.args=$}static parse(D,$){if(D.length<2)return $.error("Expected at least one argument.");let he,Ee=1,je=D[0];if(je==="array"){let ct,St;if(D.length>2){let Nt=D[1];if(typeof Nt!="string"||!(Nt in bt)||Nt==="object")return $.error('The item type argument of "array" must be one of string, number, boolean',1);ct=bt[Nt],Ee++}else ct=Cr;if(D.length>3){if(D[2]!==null&&(typeof D[2]!="number"||D[2]<0||D[2]!==Math.floor(D[2])))return $.error('The length argument to "array" must be a positive integer literal',2);St=D[2],Ee++}he=Ne(ct,St)}else{if(!bt[je])throw new Error(`Types doesn't contain name = ${je}`);he=bt[je]}let We=[];for(;EeD.outputDefined())}}let Nr={"to-boolean":Pt,"to-color":Vt,"to-number":$e,"to-string":It};class Lr{constructor(D,$){this.type=D,this.args=$}static parse(D,$){if(D.length<2)return $.error("Expected at least one argument.");let he=D[0];if(!Nr[he])throw new Error(`Can't parse ${he} as it is not part of the known types`);if((he==="to-boolean"||he==="to-string")&&D.length!==2)return $.error("Expected one argument.");let Ee=Nr[he],je=[];for(let We=1;We4?`Invalid rbga value ${JSON.stringify($)}: expected an array containing either three or four numeric values.`:ca($[0],$[1],$[2],$[3]),!he))return new Jt($[0]/255,$[1]/255,$[2]/255,$[3])}throw new En(he||`Could not parse color from value '${typeof $=="string"?$:JSON.stringify($)}'`)}case"padding":{let $;for(let he of this.args){$=he.evaluate(D);let Ee=di.parse($);if(Ee)return Ee}throw new En(`Could not parse padding from value '${typeof $=="string"?$:JSON.stringify($)}'`)}case"variableAnchorOffsetCollection":{let $;for(let he of this.args){$=he.evaluate(D);let Ee=oa.parse($);if(Ee)return Ee}throw new En(`Could not parse variableAnchorOffsetCollection from value '${typeof $=="string"?$:JSON.stringify($)}'`)}case"number":{let $=null;for(let he of this.args){if($=he.evaluate(D),$===null)return 0;let Ee=Number($);if(!isNaN(Ee))return Ee}throw new En(`Could not convert ${JSON.stringify($)} to number.`)}case"formatted":return ii.fromString(pn(this.args[0].evaluate(D)));case"resolvedImage":return ra.fromString(pn(this.args[0].evaluate(D)));default:return pn(this.args[0].evaluate(D))}}eachChild(D){this.args.forEach(D)}outputDefined(){return this.args.every(D=>D.outputDefined())}}let br=["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"?br[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 $=this._parseColorCache[D];return $||($=this._parseColorCache[D]=Jt.parse(D)),$}}class jr{constructor(D,$,he=[],Ee,je=new Qe,We=[]){this.registry=D,this.path=he,this.key=he.map(ct=>`[${ct}]`).join(""),this.scope=je,this.errors=We,this.expectedType=Ee,this._isConstant=$}parse(D,$,he,Ee,je={}){return $?this.concat($,he,Ee)._parse(D,je):this._parse(D,je)}_parse(D,$){function he(Ee,je,We){return We==="assert"?new st(je,[Ee]):We==="coerce"?new Lr(je,[Ee]):Ee}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 Ee=D[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 je=this.registry[Ee];if(je){let We=je.parse(D,this);if(!We)return null;if(this.expectedType){let ct=this.expectedType,St=We.type;if(ct.kind!=="string"&&ct.kind!=="number"&&ct.kind!=="boolean"&&ct.kind!=="object"&&ct.kind!=="array"||St.kind!=="value")if(ct.kind!=="color"&&ct.kind!=="formatted"&&ct.kind!=="resolvedImage"||St.kind!=="value"&&St.kind!=="string")if(ct.kind!=="padding"||St.kind!=="value"&&St.kind!=="number"&&St.kind!=="array")if(ct.kind!=="variableAnchorOffsetCollection"||St.kind!=="value"&&St.kind!=="array"){if(this.checkSubtype(ct,St))return null}else We=he(We,ct,$.typeAnnotation||"coerce");else We=he(We,ct,$.typeAnnotation||"coerce");else We=he(We,ct,$.typeAnnotation||"coerce");else We=he(We,ct,$.typeAnnotation||"assert")}if(!(We instanceof _n)&&We.type.kind!=="resolvedImage"&&this._isConstant(We)){let ct=new Rr;try{We=new _n(We.type,We.evaluate(ct))}catch(St){return this.error(St.message),null}}return We}return this.error(`Unknown expression "${Ee}". 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,$,he){let Ee=typeof D=="number"?this.path.concat(D):this.path,je=he?this.scope.concat(he):this.scope;return new jr(this.registry,this._isConstant,Ee,$||null,je,this.errors)}error(D,...$){let he=`${this.key}${$.map(Ee=>`[${Ee}]`).join("")}`;this.errors.push(new Be(he,D))}checkSubtype(D,$){let he=Ie(D,$);return he&&this.error(he),he}}class Wr{constructor(D,$){this.type=$.type,this.bindings=[].concat(D),this.result=$}evaluate(D){return this.result.evaluate(D)}eachChild(D){for(let $ of this.bindings)D($[1]);D(this.result)}static parse(D,$){if(D.length<4)return $.error(`Expected at least 3 arguments, but found ${D.length-1} instead.`);let he=[];for(let je=1;je=he.length)throw new En(`Array index out of bounds: ${$} > ${he.length-1}.`);if($!==Math.floor($))throw new En(`Array index must be an integer, but found ${$} instead.`);return he[$]}eachChild(D){D(this.index),D(this.input)}outputDefined(){return!1}}class mr{constructor(D,$){this.type=Pt,this.needle=D,this.haystack=$}static parse(D,$){if(D.length!==3)return $.error(`Expected 2 arguments, but found ${D.length-1} instead.`);let he=$.parse(D[1],1,Cr),Ee=$.parse(D[2],2,Cr);return he&&Ee?qe(he.type,[Pt,It,$e,at,Cr])?new mr(he,Ee):$.error(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(he.type)} instead`):null}evaluate(D){let $=this.needle.evaluate(D),he=this.haystack.evaluate(D);if(!he)return!1;if(!ke($,["boolean","string","number","null"]))throw new En(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(ji($))} instead.`);if(!ke(he,["string","array"]))throw new En(`Expected second argument to be of type array or string, but found ${Ye(ji(he))} instead.`);return he.indexOf($)>=0}eachChild(D){D(this.needle),D(this.haystack)}outputDefined(){return!0}}class Or{constructor(D,$,he){this.type=$e,this.needle=D,this.haystack=$,this.fromIndex=he}static parse(D,$){if(D.length<=2||D.length>=5)return $.error(`Expected 3 or 4 arguments, but found ${D.length-1} instead.`);let he=$.parse(D[1],1,Cr),Ee=$.parse(D[2],2,Cr);if(!he||!Ee)return null;if(!qe(he.type,[Pt,It,$e,at,Cr]))return $.error(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(he.type)} instead`);if(D.length===4){let je=$.parse(D[3],3,$e);return je?new Or(he,Ee,je):null}return new Or(he,Ee)}evaluate(D){let $=this.needle.evaluate(D),he=this.haystack.evaluate(D);if(!ke($,["boolean","string","number","null"]))throw new En(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(ji($))} instead.`);let Ee;if(this.fromIndex&&(Ee=this.fromIndex.evaluate(D)),ke(he,["string"])){let je=he.indexOf($,Ee);return je===-1?-1:[...he.slice(0,je)].length}if(ke(he,["array"]))return he.indexOf($,Ee);throw new En(`Expected second argument to be of type array or string, but found ${Ye(ji(he))} instead.`)}eachChild(D){D(this.needle),D(this.haystack),this.fromIndex&&D(this.fromIndex)}outputDefined(){return!1}}class ki{constructor(D,$,he,Ee,je,We){this.inputType=D,this.type=$,this.input=he,this.cases=Ee,this.outputs=je,this.otherwise=We}static parse(D,$){if(D.length<5)return $.error(`Expected at least 4 arguments, but found only ${D.length-1}.`);if(D.length%2!=1)return $.error("Expected an even number of arguments.");let he,Ee;$.expectedType&&$.expectedType.kind!=="value"&&(Ee=$.expectedType);let je={},We=[];for(let Nt=2;NtNumber.MAX_SAFE_INTEGER)return Fr.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof ni=="number"&&Math.floor(ni)!==ni)return Fr.error("Numeric branch labels must be integer values.");if(he){if(Fr.checkSubtype(he,ji(ni)))return null}else he=ji(ni);if(je[String(ni)]!==void 0)return Fr.error("Branch labels must be unique.");je[String(ni)]=We.length}let Xr=$.parse(Er,Nt,Ee);if(!Xr)return null;Ee=Ee||Xr.type,We.push(Xr)}let ct=$.parse(D[1],1,Cr);if(!ct)return null;let St=$.parse(D[D.length-1],D.length-1,Ee);return St?ct.type.kind!=="value"&&$.concat(1).checkSubtype(he,ct.type)?null:new ki(he,Ee,ct,je,We,St):null}evaluate(D){let $=this.input.evaluate(D);return(ji($)===this.inputType&&this.outputs[this.cases[$]]||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 Ni{constructor(D,$,he){this.type=D,this.branches=$,this.otherwise=he}static parse(D,$){if(D.length<4)return $.error(`Expected at least 3 arguments, but found only ${D.length-1}.`);if(D.length%2!=0)return $.error("Expected an odd number of arguments.");let he;$.expectedType&&$.expectedType.kind!=="value"&&(he=$.expectedType);let Ee=[];for(let We=1;We$.outputDefined())&&this.otherwise.outputDefined()}}class Si{constructor(D,$,he,Ee){this.type=D,this.input=$,this.beginIndex=he,this.endIndex=Ee}static parse(D,$){if(D.length<=2||D.length>=5)return $.error(`Expected 3 or 4 arguments, but found ${D.length-1} instead.`);let he=$.parse(D[1],1,Cr),Ee=$.parse(D[2],2,$e);if(!he||!Ee)return null;if(!qe(he.type,[Ne(Cr),It,Cr]))return $.error(`Expected first argument to be of type array or string, but found ${Ye(he.type)} instead`);if(D.length===4){let je=$.parse(D[3],3,$e);return je?new Si(he.type,he,Ee,je):null}return new Si(he.type,he,Ee)}evaluate(D){let $=this.input.evaluate(D),he=this.beginIndex.evaluate(D),Ee;if(this.endIndex&&(Ee=this.endIndex.evaluate(D)),ke($,["string"]))return[...$].slice(he,Ee).join("");if(ke($,["array"]))return $.slice(he,Ee);throw new En(`Expected first argument to be of type array or string, but found ${Ye(ji($))} instead.`)}eachChild(D){D(this.input),D(this.beginIndex),this.endIndex&&D(this.endIndex)}outputDefined(){return!1}}function fi(W,D){let $=W.length-1,he,Ee,je=0,We=$,ct=0;for(;je<=We;)if(ct=Math.floor((je+We)/2),he=W[ct],Ee=W[ct+1],he<=D){if(ct===$||DD))throw new En("Input is not a number.");We=ct-1}return 0}class Li{constructor(D,$,he){this.type=D,this.input=$,this.labels=[],this.outputs=[];for(let[Ee,je]of he)this.labels.push(Ee),this.outputs.push(je)}static parse(D,$){if(D.length-1<4)return $.error(`Expected at least 4 arguments, but found only ${D.length-1}.`);if((D.length-1)%2!=0)return $.error("Expected an even number of arguments.");let he=$.parse(D[1],1,$e);if(!he)return null;let Ee=[],je=null;$.expectedType&&$.expectedType.kind!=="value"&&(je=$.expectedType);for(let We=1;We=ct)return $.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',Nt);let Er=$.parse(St,sr,je);if(!Er)return null;je=je||Er.type,Ee.push([ct,Er])}return new Li(je,he,Ee)}evaluate(D){let $=this.labels,he=this.outputs;if($.length===1)return he[0].evaluate(D);let Ee=this.input.evaluate(D);if(Ee<=$[0])return he[0].evaluate(D);let je=$.length;return Ee>=$[je-1]?he[je-1].evaluate(D):he[fi($,Ee)].evaluate(D)}eachChild(D){D(this.input);for(let $ of this.outputs)D($)}outputDefined(){return this.outputs.every(D=>D.outputDefined())}}function Ia(W){return W&&W.__esModule&&Object.prototype.hasOwnProperty.call(W,"default")?W.default:W}var Fa=un;function un(W,D,$,he){this.cx=3*W,this.bx=3*($-W)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*D,this.by=3*(he-D)-this.cy,this.ay=1-this.cy-this.by,this.p1x=W,this.p1y=D,this.p2x=$,this.p2y=he}un.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 $=W,he=0;he<8;he++){var Ee=this.sampleCurveX($)-W;if(Math.abs(Ee)Ee?We=$:ct=$,$=.5*(ct-We)+We;return $},solve:function(W,D){return this.sampleCurveY(this.solveCurveX(W,D))}};var Bn=Ia(Fa);function Kn(W,D,$){return W+$*(D-W)}function Gn(W,D,$){return W.map((he,Ee)=>Kn(he,D[Ee],$))}let eo={number:Kn,color:function(W,D,$,he="rgb"){switch(he){case"rgb":{let[Ee,je,We,ct]=Gn(W.rgb,D.rgb,$);return new Jt(Ee,je,We,ct,!1)}case"hcl":{let[Ee,je,We,ct]=W.hcl,[St,Nt,sr,Er]=D.hcl,Fr,Xr;if(isNaN(Ee)||isNaN(St))isNaN(Ee)?isNaN(St)?Fr=NaN:(Fr=St,We!==1&&We!==0||(Xr=Nt)):(Fr=Ee,sr!==1&&sr!==0||(Xr=je));else{let nn=St-Ee;St>Ee&&nn>180?nn-=360:St180&&(nn+=360),Fr=Ee+$*nn}let[ni,gi,Zi,aa]=function([nn,Aa,Ja,dn]){return nn=isNaN(nn)?0:nn*ir,Ki([Ja,Math.cos(nn)*Aa,Math.sin(nn)*Aa,dn])}([Fr,Xr??Kn(je,Nt,$),Kn(We,sr,$),Kn(ct,Er,$)]);return new Jt(ni,gi,Zi,aa,!1)}case"lab":{let[Ee,je,We,ct]=Ki(Gn(W.lab,D.lab,$));return new Jt(Ee,je,We,ct,!1)}}},array:Gn,padding:function(W,D,$){return new di(Gn(W.values,D.values,$))},variableAnchorOffsetCollection:function(W,D,$){let he=W.values,Ee=D.values;if(he.length!==Ee.length)throw new En(`Cannot interpolate values of different length. from: ${W.toString()}, to: ${D.toString()}`);let je=[];for(let We=0;Wetypeof sr!="number"||sr<0||sr>1))return $.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);Ee={name:"cubic-bezier",controlPoints:Nt}}}if(D.length-1<4)return $.error(`Expected at least 4 arguments, but found only ${D.length-1}.`);if((D.length-1)%2!=0)return $.error("Expected an even number of arguments.");if(je=$.parse(je,2,$e),!je)return null;let ct=[],St=null;he==="interpolate-hcl"||he==="interpolate-lab"?St=Vt:$.expectedType&&$.expectedType.kind!=="value"&&(St=$.expectedType);for(let Nt=0;Nt=sr)return $.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',Fr);let ni=$.parse(Er,Xr,St);if(!ni)return null;St=St||ni.type,ct.push([sr,ni])}return Me(St,$e)||Me(St,Vt)||Me(St,Mr)||Me(St,xt)||Me(St,Ne($e))?new Ao(St,he,Ee,je,ct):$.error(`Type ${Ye(St)} is not interpolatable.`)}evaluate(D){let $=this.labels,he=this.outputs;if($.length===1)return he[0].evaluate(D);let Ee=this.input.evaluate(D);if(Ee<=$[0])return he[0].evaluate(D);let je=$.length;if(Ee>=$[je-1])return he[je-1].evaluate(D);let We=fi($,Ee),ct=Ao.interpolationFactor(this.interpolation,Ee,$[We],$[We+1]),St=he[We].evaluate(D),Nt=he[We+1].evaluate(D);switch(this.operator){case"interpolate":return eo[this.type.kind](St,Nt,ct);case"interpolate-hcl":return eo.color(St,Nt,ct,"hcl");case"interpolate-lab":return eo.color(St,Nt,ct,"lab")}}eachChild(D){D(this.input);for(let $ of this.outputs)D($)}outputDefined(){return this.outputs.every(D=>D.outputDefined())}}function An(W,D,$,he){let Ee=he-$,je=W-$;return Ee===0?0:D===1?je/Ee:(Math.pow(D,je)-1)/(Math.pow(D,Ee)-1)}class Eo{constructor(D,$){this.type=D,this.args=$}static parse(D,$){if(D.length<2)return $.error("Expectected at least one argument.");let he=null,Ee=$.expectedType;Ee&&Ee.kind!=="value"&&(he=Ee);let je=[];for(let ct of D.slice(1)){let St=$.parse(ct,1+je.length,he,void 0,{typeAnnotation:"omit"});if(!St)return null;he=he||St.type,je.push(St)}if(!he)throw new Error("No output type");let We=Ee&&je.some(ct=>Ie(Ee,ct.type));return new Eo(We?Cr:he,je)}evaluate(D){let $,he=null,Ee=0;for(let je of this.args)if(Ee++,he=je.evaluate(D),he&&he instanceof ra&&!he.available&&($||($=he.name),he=null,Ee===this.args.length&&(he=$)),he!==null)break;return he}eachChild(D){this.args.forEach(D)}outputDefined(){return this.args.every(D=>D.outputDefined())}}function fs(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 Ls(W,D,$,he){return he.compare(D,$)===0}function ns(W,D,$){let he=W!=="=="&&W!=="!=";return class FS{constructor(je,We,ct){this.type=Pt,this.lhs=je,this.rhs=We,this.collator=ct,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 ct=je[0],St=We.parse(je[1],1,Cr);if(!St)return null;if(!fs(ct,St.type))return We.concat(1).error(`"${ct}" comparisons are not supported for type '${Ye(St.type)}'.`);let Nt=We.parse(je[2],2,Cr);if(!Nt)return null;if(!fs(ct,Nt.type))return We.concat(2).error(`"${ct}" comparisons are not supported for type '${Ye(Nt.type)}'.`);if(St.type.kind!==Nt.type.kind&&St.type.kind!=="value"&&Nt.type.kind!=="value")return We.error(`Cannot compare types '${Ye(St.type)}' and '${Ye(Nt.type)}'.`);he&&(St.type.kind==="value"&&Nt.type.kind!=="value"?St=new st(Nt.type,[St]):St.type.kind!=="value"&&Nt.type.kind==="value"&&(Nt=new st(St.type,[Nt])));let sr=null;if(je.length===4){if(St.type.kind!=="string"&&Nt.type.kind!=="string"&&St.type.kind!=="value"&&Nt.type.kind!=="value")return We.error("Cannot use collator to compare non-string types.");if(sr=We.parse(je[3],3,yr),!sr)return null}return new FS(St,Nt,sr)}evaluate(je){let We=this.lhs.evaluate(je),ct=this.rhs.evaluate(je);if(he&&this.hasUntypedArgument){let St=ji(We),Nt=ji(ct);if(St.kind!==Nt.kind||St.kind!=="string"&&St.kind!=="number")throw new En(`Expected arguments for "${W}" to be (string, string) or (number, number), but found (${St.kind}, ${Nt.kind}) instead.`)}if(this.collator&&!he&&this.hasUntypedArgument){let St=ji(We),Nt=ji(ct);if(St.kind!=="string"||Nt.kind!=="string")return D(je,We,ct)}return this.collator?$(je,We,ct,this.collator.evaluate(je)):D(je,We,ct)}eachChild(je){je(this.lhs),je(this.rhs),this.collator&&je(this.collator)}outputDefined(){return!0}}}let uo=ns("==",function(W,D,$){return D===$},Ls),ss=ns("!=",function(W,D,$){return D!==$},function(W,D,$,he){return!Ls(0,D,$,he)}),xs=ns("<",function(W,D,$){return D<$},function(W,D,$,he){return he.compare(D,$)<0}),el=ns(">",function(W,D,$){return D>$},function(W,D,$,he){return he.compare(D,$)>0}),Ss=ns("<=",function(W,D,$){return D<=$},function(W,D,$,he){return he.compare(D,$)<=0}),Co=ns(">=",function(W,D,$){return D>=$},function(W,D,$,he){return he.compare(D,$)>=0});class ao{constructor(D,$,he){this.type=yr,this.locale=he,this.caseSensitive=D,this.diacriticSensitive=$}static parse(D,$){if(D.length!==2)return $.error("Expected one argument.");let he=D[1];if(typeof he!="object"||Array.isArray(he))return $.error("Collator options argument must be an object.");let Ee=$.parse(he["case-sensitive"]!==void 0&&he["case-sensitive"],1,Pt);if(!Ee)return null;let je=$.parse(he["diacritic-sensitive"]!==void 0&&he["diacritic-sensitive"],1,Pt);if(!je)return null;let We=null;return he.locale&&(We=$.parse(he.locale,1,It),!We)?null:new ao(Ee,je,We)}evaluate(D){return new Br(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 co{constructor(D,$,he,Ee,je){this.type=It,this.number=D,this.locale=$,this.currency=he,this.minFractionDigits=Ee,this.maxFractionDigits=je}static parse(D,$){if(D.length!==3)return $.error("Expected two arguments.");let he=$.parse(D[1],1,$e);if(!he)return null;let Ee=D[2];if(typeof Ee!="object"||Array.isArray(Ee))return $.error("NumberFormat options argument must be an object.");let je=null;if(Ee.locale&&(je=$.parse(Ee.locale,1,It),!je))return null;let We=null;if(Ee.currency&&(We=$.parse(Ee.currency,1,It),!We))return null;let ct=null;if(Ee["min-fraction-digits"]&&(ct=$.parse(Ee["min-fraction-digits"],1,$e),!ct))return null;let St=null;return Ee["max-fraction-digits"]&&(St=$.parse(Ee["max-fraction-digits"],1,$e),!St)?null:new co(he,je,We,ct,St)}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 Ms{constructor(D){this.type=qr,this.sections=D}static parse(D,$){if(D.length<2)return $.error("Expected at least one argument.");let he=D[1];if(!Array.isArray(he)&&typeof he=="object")return $.error("First argument must be an image or text section.");let Ee=[],je=!1;for(let We=1;We<=D.length-1;++We){let ct=D[We];if(je&&typeof ct=="object"&&!Array.isArray(ct)){je=!1;let St=null;if(ct["font-scale"]&&(St=$.parse(ct["font-scale"],1,$e),!St))return null;let Nt=null;if(ct["text-font"]&&(Nt=$.parse(ct["text-font"],1,Ne(It)),!Nt))return null;let sr=null;if(ct["text-color"]&&(sr=$.parse(ct["text-color"],1,Vt),!sr))return null;let Er=Ee[Ee.length-1];Er.scale=St,Er.font=Nt,Er.textColor=sr}else{let St=$.parse(D[We],1,Cr);if(!St)return null;let Nt=St.type.kind;if(Nt!=="string"&&Nt!=="value"&&Nt!=="null"&&Nt!=="resolvedImage")return $.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");je=!0,Ee.push({content:St,scale:null,font:null,textColor:null})}}return new Ms(Ee)}evaluate(D){return new ii(this.sections.map($=>{let he=$.content.evaluate(D);return ji(he)===Dr?new ri("",he,null,null,null):new ri(pn(he),null,$.scale?$.scale.evaluate(D):null,$.font?$.font.evaluate(D).join(","):null,$.textColor?$.textColor.evaluate(D):null)}))}eachChild(D){for(let $ of this.sections)D($.content),$.scale&&D($.scale),$.font&&D($.font),$.textColor&&D($.textColor)}outputDefined(){return!1}}class Gs{constructor(D){this.type=Dr,this.input=D}static parse(D,$){if(D.length!==2)return $.error("Expected two arguments.");let he=$.parse(D[1],1,It);return he?new Gs(he):$.error("No image name provided.")}evaluate(D){let $=this.input.evaluate(D),he=ra.fromString($);return he&&D.availableImages&&(he.available=D.availableImages.indexOf($)>-1),he}eachChild(D){D(this.input)}outputDefined(){return!1}}class ul{constructor(D){this.type=$e,this.input=D}static parse(D,$){if(D.length!==2)return $.error(`Expected 1 argument, but found ${D.length-1} instead.`);let he=$.parse(D[1],1);return he?he.type.kind!=="array"&&he.type.kind!=="string"&&he.type.kind!=="value"?$.error(`Expected argument of type string or array, but found ${Ye(he.type)} instead.`):new ul(he):null}evaluate(D){let $=this.input.evaluate(D);if(typeof $=="string")return[...$].length;if(Array.isArray($))return $.length;throw new En(`Expected value to be of type string or array, but found ${Ye(ji($))} instead.`)}eachChild(D){D(this.input)}outputDefined(){return!1}}let hs=8192;function rn(W,D){let $=(180+W[0])/360,he=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+W[1]*Math.PI/360)))/360,Ee=Math.pow(2,D.z);return[Math.round($*Ee*hs),Math.round(he*Ee*hs)]}function Xn(W,D){let $=Math.pow(2,D.z);return[(Ee=(W[0]/hs+D.x)/$,360*Ee-180),(he=(W[1]/hs+D.y)/$,360/Math.PI*Math.atan(Math.exp((180-360*he)*Math.PI/180))-90)];var he,Ee}function tl(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 zs(W,D){return!(W[0]<=D[0]||W[2]>=D[2]||W[1]<=D[1]||W[3]>=D[3])}function so(W,D,$){let he=W[0]-D[0],Ee=W[1]-D[1],je=W[0]-$[0],We=W[1]-$[1];return he*We-je*Ee==0&&he*je<=0&&Ee*We<=0}function $s(W,D,$,he){return(Ee=[he[0]-$[0],he[1]-$[1]])[0]*(je=[D[0]-W[0],D[1]-W[1]])[1]-Ee[1]*je[0]!=0&&!(!jo(W,D,$,he)||!jo($,he,W,D));var Ee,je}function Ps(W,D,$){for(let he of $)for(let Ee=0;Ee(Ee=W)[1]!=(We=ct[St+1])[1]>Ee[1]&&Ee[0]<(We[0]-je[0])*(Ee[1]-je[1])/(We[1]-je[1])+je[0]&&(he=!he)}var Ee,je,We;return he}function yl(W,D){for(let $ of D)if(nl(W,$))return!0;return!1}function On(W,D){for(let $ of W)if(!nl($,D))return!1;for(let $=0;$0&&ct<0||We<0&&ct>0}function Ys(W,D,$){let he=[];for(let Ee=0;Ee$[2]){let Ee=.5*he,je=W[0]-$[0]>Ee?-he:$[0]-W[0]>Ee?he:0;je===0&&(je=W[0]-$[2]>Ee?-he:$[2]-W[0]>Ee?he:0),W[0]+=je}tl(D,W)}function al(W,D,$,he){let Ee=Math.pow(2,he.z)*hs,je=[he.x*hs,he.y*hs],We=[];for(let ct of W)for(let St of ct){let Nt=[St.x+je[0],St.y+je[1]];Lo(Nt,D,$,Ee),We.push(Nt)}return We}function kl(W,D,$,he){let Ee=Math.pow(2,he.z)*hs,je=[he.x*hs,he.y*hs],We=[];for(let St of W){let Nt=[];for(let sr of St){let Er=[sr.x+je[0],sr.y+je[1]];tl(D,Er),Nt.push(Er)}We.push(Nt)}if(D[2]-D[0]<=Ee/2){(ct=D)[0]=ct[1]=1/0,ct[2]=ct[3]=-1/0;for(let St of We)for(let Nt of St)Lo(Nt,D,$,Ee)}var ct;return We}class Ns{constructor(D,$){this.type=Pt,this.geojson=D,this.geometries=$}static parse(D,$){if(D.length!==2)return $.error(`'within' expression requires exactly one argument, but found ${D.length-1} instead.`);if(xa(D[1])){let he=D[1];if(he.type==="FeatureCollection"){let Ee=[];for(let je of he.features){let{type:We,coordinates:ct}=je.geometry;We==="Polygon"&&Ee.push(ct),We==="MultiPolygon"&&Ee.push(...ct)}if(Ee.length)return new Ns(he,{type:"MultiPolygon",coordinates:Ee})}else if(he.type==="Feature"){let Ee=he.geometry.type;if(Ee==="Polygon"||Ee==="MultiPolygon")return new Ns(he,he.geometry)}else if(he.type==="Polygon"||he.type==="MultiPolygon")return new Ns(he,he)}return $.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($,he){let Ee=[1/0,1/0,-1/0,-1/0],je=[1/0,1/0,-1/0,-1/0],We=$.canonicalID();if(he.type==="Polygon"){let ct=Ys(he.coordinates,je,We),St=al($.geometry(),Ee,je,We);if(!zs(Ee,je))return!1;for(let Nt of St)if(!nl(Nt,ct))return!1}if(he.type==="MultiPolygon"){let ct=Tu(he.coordinates,je,We),St=al($.geometry(),Ee,je,We);if(!zs(Ee,je))return!1;for(let Nt of St)if(!yl(Nt,ct))return!1}return!0}(D,this.geometries);if(D.geometryType()==="LineString")return function($,he){let Ee=[1/0,1/0,-1/0,-1/0],je=[1/0,1/0,-1/0,-1/0],We=$.canonicalID();if(he.type==="Polygon"){let ct=Ys(he.coordinates,je,We),St=kl($.geometry(),Ee,je,We);if(!zs(Ee,je))return!1;for(let Nt of St)if(!On(Nt,ct))return!1}if(he.type==="MultiPolygon"){let ct=Tu(he.coordinates,je,We),St=kl($.geometry(),Ee,je,We);if(!zs(Ee,je))return!1;for(let Nt of St)if(!Ko(Nt,ct))return!1}return!0}(D,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let rl=class{constructor(W=[],D=($,he)=>$he?1:0){if(this.data=W,this.length=this.data.length,this.compare=D,this.length>0)for(let $=(this.length>>1)-1;$>=0;$--)this._down($)}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:$}=this,he=D[W];for(;W>0;){let Ee=W-1>>1,je=D[Ee];if($(he,je)>=0)break;D[W]=je,W=Ee}D[W]=he}_down(W){let{data:D,compare:$}=this,he=this.length>>1,Ee=D[W];for(;W=0)break;D[W]=D[je],W=je}D[W]=Ee}};function Es(W,D,$,he,Ee){Us(W,D,$,he||W.length-1,Ee||pu)}function Us(W,D,$,he,Ee){for(;he>$;){if(he-$>600){var je=he-$+1,We=D-$+1,ct=Math.log(je),St=.5*Math.exp(2*ct/3),Nt=.5*Math.sqrt(ct*St*(je-St)/je)*(We-je/2<0?-1:1);Us(W,D,Math.max($,Math.floor(D-We*St/je+Nt)),Math.min(he,Math.floor(D+(je-We)*St/je+Nt)),Ee)}var sr=W[D],Er=$,Fr=he;for(Zl(W,$,D),Ee(W[he],sr)>0&&Zl(W,$,he);Er0;)Fr--}Ee(W[$],sr)===0?Zl(W,$,Fr):Zl(W,++Fr,he),Fr<=D&&($=Fr+1),D<=Fr&&(he=Fr-1)}}function Zl(W,D,$){var he=W[D];W[D]=W[$],W[$]=he}function pu(W,D){return WD?1:0}function kc(W,D){if(W.length<=1)return[W];let $=[],he,Ee;for(let je of W){let We=Sf(je);We!==0&&(je.area=Math.abs(We),Ee===void 0&&(Ee=We<0),Ee===We<0?(he&&$.push(he),he=[je]):he.push(je))}if(he&&$.push(he),D>1)for(let je=0;je<$.length;je++)$[je].length<=D||(Es($[je],D,1,$[je].length-1,Au),$[je]=$[je].slice(0,D));return $}function Au(W,D){return D.area-W.area}function Sf(W){let D=0;for(let $,he,Ee=0,je=W.length,We=je-1;Ee1?(Nt=D[St+1][0],sr=D[St+1][1]):Xr>0&&(Nt+=Er/this.kx*Xr,sr+=Fr/this.ky*Xr)),Er=this.wrap($[0]-Nt)*this.kx,Fr=($[1]-sr)*this.ky;let ni=Er*Er+Fr*Fr;ni180;)D-=360;return D}}function mu(W,D){return D[0]-W[0]}function Vl(W){return W[1]-W[0]+1}function lc(W,D){return W[1]>=W[0]&&W[1]W[1])return[null,null];let $=Vl(W);if(D){if($===2)return[W,null];let Ee=Math.floor($/2);return[[W[0],W[0]+Ee],[W[0]+Ee,W[1]]]}if($===1)return[W,null];let he=Math.floor($/2)-1;return[[W[0],W[0]+he],[W[0]+he+1,W[1]]]}function _l(W,D){if(!lc(D,W.length))return[1/0,1/0,-1/0,-1/0];let $=[1/0,1/0,-1/0,-1/0];for(let he=D[0];he<=D[1];++he)tl($,W[he]);return $}function Cl(W){let D=[1/0,1/0,-1/0,-1/0];for(let $ of W)for(let he of $)tl(D,he);return D}function Fs(W){return W[0]!==-1/0&&W[1]!==-1/0&&W[2]!==1/0&&W[3]!==1/0}function ol(W,D,$){if(!Fs(W)||!Fs(D))return NaN;let he=0,Ee=0;return W[2]D[2]&&(he=W[0]-D[2]),W[1]>D[3]&&(Ee=W[1]-D[3]),W[3]=he)return he;if(zs(Ee,je)){if(ph(W,D))return 0}else if(ph(D,W))return 0;let We=1/0;for(let ct of W)for(let St=0,Nt=ct.length,sr=Nt-1;St0;){let St=We.pop();if(St[0]>=je)continue;let Nt=St[1],sr=D?50:100;if(Vl(Nt)<=sr){if(!lc(Nt,W.length))return NaN;if(D){let Er=ws(W,Nt,$,he);if(isNaN(Er)||Er===0)return Er;je=Math.min(je,Er)}else for(let Er=Nt[0];Er<=Nt[1];++Er){let Fr=vh(W[Er],$,he);if(je=Math.min(je,Fr),je===0)return 0}}else{let Er=Gu(Nt,D);xo(We,je,he,W,ct,Er[0]),xo(We,je,he,W,ct,Er[1])}}return je}function $l(W,D,$,he,Ee,je=1/0){let We=Math.min(je,Ee.distance(W[0],$[0]));if(We===0)return We;let ct=new rl([[0,[0,W.length-1],[0,$.length-1]]],mu);for(;ct.length>0;){let St=ct.pop();if(St[0]>=We)continue;let Nt=St[1],sr=St[2],Er=D?50:100,Fr=he?50:100;if(Vl(Nt)<=Er&&Vl(sr)<=Fr){if(!lc(Nt,W.length)&&lc(sr,$.length))return NaN;let Xr;if(D&&he)Xr=Zu(W,Nt,$,sr,Ee),We=Math.min(We,Xr);else if(D&&!he){let ni=W.slice(Nt[0],Nt[1]+1);for(let gi=sr[0];gi<=sr[1];++gi)if(Xr=uc($[gi],ni,Ee),We=Math.min(We,Xr),We===0)return We}else if(!D&&he){let ni=$.slice(sr[0],sr[1]+1);for(let gi=Nt[0];gi<=Nt[1];++gi)if(Xr=uc(W[gi],ni,Ee),We=Math.min(We,Xr),We===0)return We}else Xr=Sl(W,Nt,$,sr,Ee),We=Math.min(We,Xr)}else{let Xr=Gu(Nt,D),ni=Gu(sr,he);Kc(ct,We,Ee,W,$,Xr[0],ni[0]),Kc(ct,We,Ee,W,$,Xr[0],ni[1]),Kc(ct,We,Ee,W,$,Xr[1],ni[0]),Kc(ct,We,Ee,W,$,Xr[1],ni[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 Cc{constructor(D,$){this.type=$e,this.geojson=D,this.geometries=$}static parse(D,$){if(D.length!==2)return $.error(`'distance' expression requires exactly one argument, but found ${D.length-1} instead.`);if(xa(D[1])){let he=D[1];if(he.type==="FeatureCollection")return new Cc(he,he.features.map(Ee=>Mf(Ee.geometry)).flat());if(he.type==="Feature")return new Cc(he,Mf(he.geometry));if("type"in he&&"coordinates"in he)return new Cc(he,Mf(he))}return $.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($,he){let Ee=$.geometry(),je=Ee.flat().map(St=>Xn([St.x,St.y],$.canonical));if(Ee.length===0)return NaN;let We=new Zc(je[0][1]),ct=1/0;for(let St of he){switch(St.type){case"Point":ct=Math.min(ct,$l(je,!1,[St.coordinates],!1,We,ct));break;case"LineString":ct=Math.min(ct,$l(je,!1,St.coordinates,!0,We,ct));break;case"Polygon":ct=Math.min(ct,Ku(je,!1,St.coordinates,We,ct))}if(ct===0)return ct}return ct}(D,this.geometries);if(D.geometryType()==="LineString")return function($,he){let Ee=$.geometry(),je=Ee.flat().map(St=>Xn([St.x,St.y],$.canonical));if(Ee.length===0)return NaN;let We=new Zc(je[0][1]),ct=1/0;for(let St of he){switch(St.type){case"Point":ct=Math.min(ct,$l(je,!0,[St.coordinates],!1,We,ct));break;case"LineString":ct=Math.min(ct,$l(je,!0,St.coordinates,!0,We,ct));break;case"Polygon":ct=Math.min(ct,Ku(je,!0,St.coordinates,We,ct))}if(ct===0)return ct}return ct}(D,this.geometries);if(D.geometryType()==="Polygon")return function($,he){let Ee=$.geometry();if(Ee.length===0||Ee[0].length===0)return NaN;let je=kc(Ee,0).map(St=>St.map(Nt=>Nt.map(sr=>Xn([sr.x,sr.y],$.canonical)))),We=new Zc(je[0][0][0][1]),ct=1/0;for(let St of he)for(let Nt of je){switch(St.type){case"Point":ct=Math.min(ct,Ku([St.coordinates],!1,Nt,We,ct));break;case"LineString":ct=Math.min(ct,Ku(St.coordinates,!0,Nt,We,ct));break;case"Polygon":ct=Math.min(ct,qs(Nt,St.coordinates,We,ct))}if(ct===0)return ct}return ct}(D,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}let uf={"==":uo,"!=":ss,">":el,"<":xs,">=":Co,"<=":Ss,array:st,at:Xt,boolean:st,case:Ni,coalesce:Eo,collator:ao,format:Ms,image:Gs,in:mr,"index-of":Or,interpolate:Ao,"interpolate-hcl":Ao,"interpolate-lab":Ao,length:ul,let:Wr,literal:_n,match:ki,number:st,"number-format":co,object:st,slice:Si,step:Li,string:st,"to-boolean":Lr,"to-color":Lr,"to-number":Lr,"to-string":Lr,var:yt,within:Ns,distance:Cc};class su{constructor(D,$,he,Ee){this.name=D,this.type=$,this._evaluate=he,this.args=Ee}evaluate(D){return this._evaluate(D,this.args)}eachChild(D){this.args.forEach(D)}outputDefined(){return!1}static parse(D,$){let he=D[0],Ee=su.definitions[he];if(!Ee)return $.error(`Unknown expression "${he}". If you wanted a literal array, use ["literal", [...]].`,0);let je=Array.isArray(Ee)?Ee[0]:Ee.type,We=Array.isArray(Ee)?[[Ee[1],Ee[2]]]:Ee.overloads,ct=We.filter(([Nt])=>!Array.isArray(Nt)||Nt.length===D.length-1),St=null;for(let[Nt,sr]of ct){St=new jr($.registry,Df,$.path,null,$.scope);let Er=[],Fr=!1;for(let Xr=1;Xr{return Fr=Er,Array.isArray(Fr)?`(${Fr.map(Ye).join(", ")})`:`(${Ye(Fr.type)}...)`;var Fr}).join(" | "),sr=[];for(let Er=1;Er{$=D?$&&Df(he):$&&he instanceof _n}),!!$&&zf(W)&&Ef(W,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function zf(W){if(W instanceof su&&(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 Ns||W instanceof Cc)return!1;let D=!0;return W.eachChild($=>{D&&!zf($)&&(D=!1)}),D}function $u(W){if(W instanceof su&&W.name==="feature-state")return!1;let D=!0;return W.eachChild($=>{D&&!$u($)&&(D=!1)}),D}function Ef(W,D){if(W instanceof su&&D.indexOf(W.name)>=0)return!1;let $=!0;return W.eachChild(he=>{$&&!Ef(he,D)&&($=!1)}),$}function cc(W){return{result:"success",value:W}}function $c(W){return{result:"error",value:W}}function lu(W){return W["property-type"]==="data-driven"||W["property-type"]==="cross-faded-data-driven"}function Xc(W){return!!W.expression&&W.expression.parameters.indexOf("zoom")>-1}function Lc(W){return!!W.expression&&W.expression.interpolated}function sl(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 ah(W){return W}function Ff(W,D){let $=D.type==="color",he=W.stops&&typeof W.stops[0][0]=="object",Ee=he||!(he||W.property!==void 0),je=W.type||(Lc(D)?"exponential":"interval");if($||D.type==="padding"){let sr=$?Jt.parse:di.parse;(W=fe({},W)).stops&&(W.stops=W.stops.map(Er=>[Er[0],sr(Er[1])])),W.default=sr(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 ct,St,Nt;if(je==="exponential")ct=Bf;else if(je==="interval")ct=Fu;else if(je==="categorical"){ct=Xf,St=Object.create(null);for(let sr of W.stops)St[sr[0]]=sr[1];Nt=typeof W.stops[0][0]}else{if(je!=="identity")throw new Error(`Unknown function type "${je}"`);ct=Ll}if(he){let sr={},Er=[];for(let ni=0;nini[0]),evaluate:({zoom:ni},gi)=>Bf({stops:Fr,base:W.base},D,ni).evaluate(ni,gi)}}if(Ee){let sr=je==="exponential"?{name:"exponential",base:W.base!==void 0?W.base:1}:null;return{kind:"camera",interpolationType:sr,interpolationFactor:Ao.interpolationFactor.bind(void 0,sr),zoomStops:W.stops.map(Er=>Er[0]),evaluate:({zoom:Er})=>ct(W,D,Er,St,Nt)}}return{kind:"source",evaluate(sr,Er){let Fr=Er&&Er.properties?Er.properties[W.property]:void 0;return Fr===void 0?Jc(W.default,D.default):ct(W,D,Fr,St,Nt)}}}function Jc(W,D,$){return W!==void 0?W:D!==void 0?D:$!==void 0?$:void 0}function Xf(W,D,$,he,Ee){return Jc(typeof $===Ee?he[$]:void 0,W.default,D.default)}function Fu(W,D,$){if(sl($)!=="number")return Jc(W.default,D.default);let he=W.stops.length;if(he===1||$<=W.stops[0][0])return W.stops[0][1];if($>=W.stops[he-1][0])return W.stops[he-1][1];let Ee=fi(W.stops.map(je=>je[0]),$);return W.stops[Ee][1]}function Bf(W,D,$){let he=W.base!==void 0?W.base:1;if(sl($)!=="number")return Jc(W.default,D.default);let Ee=W.stops.length;if(Ee===1||$<=W.stops[0][0])return W.stops[0][1];if($>=W.stops[Ee-1][0])return W.stops[Ee-1][1];let je=fi(W.stops.map(sr=>sr[0]),$),We=function(sr,Er,Fr,Xr){let ni=Xr-Fr,gi=sr-Fr;return ni===0?0:Er===1?gi/ni:(Math.pow(Er,gi)-1)/(Math.pow(Er,ni)-1)}($,he,W.stops[je][0],W.stops[je+1][0]),ct=W.stops[je][1],St=W.stops[je+1][1],Nt=eo[D.type]||ah;return typeof ct.evaluate=="function"?{evaluate(...sr){let Er=ct.evaluate.apply(void 0,sr),Fr=St.evaluate.apply(void 0,sr);if(Er!==void 0&&Fr!==void 0)return Nt(Er,Fr,We,W.colorSpace)}}:Nt(ct,St,We,W.colorSpace)}function Ll(W,D,$){switch(D.type){case"color":$=Jt.parse($);break;case"formatted":$=ii.fromString($.toString());break;case"resolvedImage":$=ra.fromString($.toString());break;case"padding":$=di.parse($);break;default:sl($)===D.type||D.type==="enum"&&D.values[$]||($=void 0)}return Jc($,W.default,D.default)}su.register(uf,{error:[{kind:"error"},[It],(W,[D])=>{throw new En(D.evaluate(W))}],typeof:[It,[Cr],(W,[D])=>Ye(ji(D.evaluate(W)))],"to-rgba":[Ne($e,4),[Vt],(W,[D])=>{let[$,he,Ee,je]=D.evaluate(W).rgb;return[255*$,255*he,255*Ee,je]}],rgb:[Vt,[$e,$e,$e],Wf],rgba:[Vt,[$e,$e,$e,$e],Wf],has:{type:Pt,overloads:[[[It],(W,[D])=>Rf(D.evaluate(W),W.properties())],[[It,Wt],(W,[D,$])=>Rf(D.evaluate(W),$.evaluate(W))]]},get:{type:Cr,overloads:[[[It],(W,[D])=>cf(D.evaluate(W),W.properties())],[[It,Wt],(W,[D,$])=>cf(D.evaluate(W),$.evaluate(W))]]},"feature-state":[Cr,[It],(W,[D])=>cf(D.evaluate(W),W.featureState||{})],properties:[Wt,[],W=>W.properties()],"geometry-type":[It,[],W=>W.geometryType()],id:[Cr,[],W=>W.id()],zoom:[$e,[],W=>W.globals.zoom],"heatmap-density":[$e,[],W=>W.globals.heatmapDensity||0],"line-progress":[$e,[],W=>W.globals.lineProgress||0],accumulated:[Cr,[],W=>W.globals.accumulated===void 0?null:W.globals.accumulated],"+":[$e,Wc($e),(W,D)=>{let $=0;for(let he of D)$+=he.evaluate(W);return $}],"*":[$e,Wc($e),(W,D)=>{let $=1;for(let he of D)$*=he.evaluate(W);return $}],"-":{type:$e,overloads:[[[$e,$e],(W,[D,$])=>D.evaluate(W)-$.evaluate(W)],[[$e],(W,[D])=>-D.evaluate(W)]]},"/":[$e,[$e,$e],(W,[D,$])=>D.evaluate(W)/$.evaluate(W)],"%":[$e,[$e,$e],(W,[D,$])=>D.evaluate(W)%$.evaluate(W)],ln2:[$e,[],()=>Math.LN2],pi:[$e,[],()=>Math.PI],e:[$e,[],()=>Math.E],"^":[$e,[$e,$e],(W,[D,$])=>Math.pow(D.evaluate(W),$.evaluate(W))],sqrt:[$e,[$e],(W,[D])=>Math.sqrt(D.evaluate(W))],log10:[$e,[$e],(W,[D])=>Math.log(D.evaluate(W))/Math.LN10],ln:[$e,[$e],(W,[D])=>Math.log(D.evaluate(W))],log2:[$e,[$e],(W,[D])=>Math.log(D.evaluate(W))/Math.LN2],sin:[$e,[$e],(W,[D])=>Math.sin(D.evaluate(W))],cos:[$e,[$e],(W,[D])=>Math.cos(D.evaluate(W))],tan:[$e,[$e],(W,[D])=>Math.tan(D.evaluate(W))],asin:[$e,[$e],(W,[D])=>Math.asin(D.evaluate(W))],acos:[$e,[$e],(W,[D])=>Math.acos(D.evaluate(W))],atan:[$e,[$e],(W,[D])=>Math.atan(D.evaluate(W))],min:[$e,Wc($e),(W,D)=>Math.min(...D.map($=>$.evaluate(W)))],max:[$e,Wc($e),(W,D)=>Math.max(...D.map($=>$.evaluate(W)))],abs:[$e,[$e],(W,[D])=>Math.abs(D.evaluate(W))],round:[$e,[$e],(W,[D])=>{let $=D.evaluate(W);return $<0?-Math.round(-$):Math.round($)}],floor:[$e,[$e],(W,[D])=>Math.floor(D.evaluate(W))],ceil:[$e,[$e],(W,[D])=>Math.ceil(D.evaluate(W))],"filter-==":[Pt,[It,Cr],(W,[D,$])=>W.properties()[D.value]===$.value],"filter-id-==":[Pt,[Cr],(W,[D])=>W.id()===D.value],"filter-type-==":[Pt,[It],(W,[D])=>W.geometryType()===D.value],"filter-<":[Pt,[It,Cr],(W,[D,$])=>{let he=W.properties()[D.value],Ee=$.value;return typeof he==typeof Ee&&he{let $=W.id(),he=D.value;return typeof $==typeof he&&$":[Pt,[It,Cr],(W,[D,$])=>{let he=W.properties()[D.value],Ee=$.value;return typeof he==typeof Ee&&he>Ee}],"filter-id->":[Pt,[Cr],(W,[D])=>{let $=W.id(),he=D.value;return typeof $==typeof he&&$>he}],"filter-<=":[Pt,[It,Cr],(W,[D,$])=>{let he=W.properties()[D.value],Ee=$.value;return typeof he==typeof Ee&&he<=Ee}],"filter-id-<=":[Pt,[Cr],(W,[D])=>{let $=W.id(),he=D.value;return typeof $==typeof he&&$<=he}],"filter->=":[Pt,[It,Cr],(W,[D,$])=>{let he=W.properties()[D.value],Ee=$.value;return typeof he==typeof Ee&&he>=Ee}],"filter-id->=":[Pt,[Cr],(W,[D])=>{let $=W.id(),he=D.value;return typeof $==typeof he&&$>=he}],"filter-has":[Pt,[Cr],(W,[D])=>D.value in W.properties()],"filter-has-id":[Pt,[],W=>W.id()!==null&&W.id()!==void 0],"filter-type-in":[Pt,[Ne(It)],(W,[D])=>D.value.indexOf(W.geometryType())>=0],"filter-id-in":[Pt,[Ne(Cr)],(W,[D])=>D.value.indexOf(W.id())>=0],"filter-in-small":[Pt,[It,Ne(Cr)],(W,[D,$])=>$.value.indexOf(W.properties()[D.value])>=0],"filter-in-large":[Pt,[It,Ne(Cr)],(W,[D,$])=>function(he,Ee,je,We){for(;je<=We;){let ct=je+We>>1;if(Ee[ct]===he)return!0;Ee[ct]>he?We=ct-1:je=ct+1}return!1}(W.properties()[D.value],$.value,0,$.value.length-1)],all:{type:Pt,overloads:[[[Pt,Pt],(W,[D,$])=>D.evaluate(W)&&$.evaluate(W)],[Wc(Pt),(W,D)=>{for(let $ of D)if(!$.evaluate(W))return!1;return!0}]]},any:{type:Pt,overloads:[[[Pt,Pt],(W,[D,$])=>D.evaluate(W)||$.evaluate(W)],[Wc(Pt),(W,D)=>{for(let $ of D)if($.evaluate(W))return!0;return!1}]]},"!":[Pt,[Pt],(W,[D])=>!D.evaluate(W)],"is-supported-script":[Pt,[It],(W,[D])=>{let $=W.globals&&W.globals.isSupportedScript;return!$||$(D.evaluate(W))}],upcase:[It,[It],(W,[D])=>D.evaluate(W).toUpperCase()],downcase:[It,[It],(W,[D])=>D.evaluate(W).toLowerCase()],concat:[It,Wc(Cr),(W,D)=>D.map($=>pn($.evaluate(W))).join("")],"resolved-locale":[It,[yr],(W,[D])=>D.evaluate(W).resolvedLocale()]});class Bu{constructor(D,$){var he;this.expression=D,this._warningHistory={},this._evaluator=new Rr,this._defaultValue=$?(he=$).type==="color"&&kf(he.default)?new Jt(0,0,0,0):he.type==="color"?Jt.parse(he.default)||null:he.type==="padding"?di.parse(he.default)||null:he.type==="variableAnchorOffsetCollection"?oa.parse(he.default)||null:he.default===void 0?null:he.default:null,this._enumValues=$&&$.type==="enum"?$.values:null}evaluateWithoutErrorHandling(D,$,he,Ee,je,We){return this._evaluator.globals=D,this._evaluator.feature=$,this._evaluator.featureState=he,this._evaluator.canonical=Ee,this._evaluator.availableImages=je||null,this._evaluator.formattedSection=We,this.expression.evaluate(this._evaluator)}evaluate(D,$,he,Ee,je,We){this._evaluator.globals=D,this._evaluator.feature=$||null,this._evaluator.featureState=he||null,this._evaluator.canonical=Ee,this._evaluator.availableImages=je||null,this._evaluator.formattedSection=We||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 En(`Expected value to be one of ${Object.keys(this._enumValues).map(St=>JSON.stringify(St)).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 Ic(W){return Array.isArray(W)&&W.length>0&&typeof W[0]=="string"&&W[0]in uf}function xl(W,D){let $=new jr(uf,Df,[],D?function(Ee){let je={color:Vt,string:It,number:$e,enum:It,boolean:Pt,formatted:qr,padding:Mr,resolvedImage:Dr,variableAnchorOffsetCollection:xt};return Ee.type==="array"?Ne(je[Ee.value]||Cr,Ee.length):je[Ee.type]}(D):void 0),he=$.parse(W,void 0,void 0,void 0,D&&D.type==="string"?{typeAnnotation:"coerce"}:void 0);return he?cc(new Bu(he,D)):$c($.errors)}class _c{constructor(D,$){this.kind=D,this._styleExpression=$,this.isStateDependent=D!=="constant"&&!$u($.expression)}evaluateWithoutErrorHandling(D,$,he,Ee,je,We){return this._styleExpression.evaluateWithoutErrorHandling(D,$,he,Ee,je,We)}evaluate(D,$,he,Ee,je,We){return this._styleExpression.evaluate(D,$,he,Ee,je,We)}}class Eu{constructor(D,$,he,Ee){this.kind=D,this.zoomStops=he,this._styleExpression=$,this.isStateDependent=D!=="camera"&&!$u($.expression),this.interpolationType=Ee}evaluateWithoutErrorHandling(D,$,he,Ee,je,We){return this._styleExpression.evaluateWithoutErrorHandling(D,$,he,Ee,je,We)}evaluate(D,$,he,Ee,je,We){return this._styleExpression.evaluate(D,$,he,Ee,je,We)}interpolationFactor(D,$,he){return this.interpolationType?Ao.interpolationFactor(this.interpolationType,D,$,he):0}}function Iu(W,D){let $=xl(W,D);if($.result==="error")return $;let he=$.value.expression,Ee=zf(he);if(!Ee&&!lu(D))return $c([new Be("","data expressions not supported")]);let je=Ef(he,["zoom"]);if(!je&&!Xc(D))return $c([new Be("","zoom expressions not supported")]);let We=Of(he);return We||je?We instanceof Be?$c([We]):We instanceof Ao&&!Lc(D)?$c([new Be("",'"interpolate" expressions cannot be used with this property')]):cc(We?new Eu(Ee?"camera":"composite",$.value,We.labels,We instanceof Ao?We.interpolation:void 0):new _c(Ee?"constant":"source",$.value)):$c([new Be("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class Nl{constructor(D,$){this._parameters=D,this._specification=$,fe(this,Ff(this._parameters,this._specification))}static deserialize(D){return new Nl(D._parameters,D._specification)}static serialize(D){return{_parameters:D._parameters,_specification:D._specification}}}function Of(W){let D=null;if(W instanceof Wr)D=Of(W.result);else if(W instanceof Eo){for(let $ of W.args)if(D=Of($),D)break}else(W instanceof Li||W instanceof Ao)&&W.input instanceof su&&W.input.name==="zoom"&&(D=W);return D instanceof Be||W.eachChild($=>{let he=Of($);he instanceof Be?D=he:!D&&he?D=new Be("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):D&&he&&D!==he&&(D=new Be("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),D}function Yf(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(!Yf(D)&&typeof D!="boolean")return!1;return!0;default:return!0}}let Wu={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function Pc(W){if(W==null)return{filter:()=>!0,needGeometry:!1};Yf(W)||(W=ff(W));let D=xl(W,Wu);if(D.result==="error")throw new Error(D.value.map($=>`${$.key}: ${$.message}`).join(", "));return{filter:($,he,Ee)=>D.value.evaluate($,he,{},Ee),needGeometry:_h(W)}}function xc(W,D){return WD?1:0}function _h(W){if(!Array.isArray(W))return!1;if(W[0]==="within"||W[0]==="distance")return!0;for(let D=1;D"||D==="<="||D===">="?yf(W[1],W[2],D):D==="any"?($=W.slice(1),["any"].concat($.map(ff))):D==="all"?["all"].concat(W.slice(1).map(ff)):D==="none"?["all"].concat(W.slice(1).map(ff).map(hu)):D==="in"?Xu(W[1],W.slice(2)):D==="!in"?hu(Xu(W[1],W.slice(2))):D==="has"?hf(W[1]):D!=="!has"||hu(hf(W[1]));var $}function yf(W,D,$){switch(W){case"$type":return[`filter-type-${$}`,D];case"$id":return[`filter-id-${$}`,D];default:return[`filter-${$}`,W,D]}}function Xu(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($=>typeof $!=typeof D[0])?["filter-in-large",W,["literal",D.sort(xc)]]:["filter-in-small",W,["literal",D]]}}function hf(W){switch(W){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",W]}}function hu(W){return["!",W]}function Qc(W){let D=typeof W;if(D==="number"||D==="boolean"||D==="string"||W==null)return JSON.stringify(W);if(Array.isArray(W)){let Ee="[";for(let je of W)Ee+=`${Qc(je)},`;return`${Ee}]`}let $=Object.keys(W).sort(),he="{";for(let Ee=0;Ee<$.length;Ee++)he+=`${JSON.stringify($[Ee])}:${Qc(W[$[Ee]])},`;return`${he}}`}function nh(W){let D="";for(let $ of ue)D+=`/${Qc(W[$])}`;return D}function _f(W){let D=W.value;return D?[new me(W.key,D,"constants have been deprecated as of v8")]:[]}function bl(W){return W instanceof Number||W instanceof String||W instanceof Boolean?W.valueOf():W}function ku(W){if(Array.isArray(W))return W.map(ku);if(W instanceof Object&&!(W instanceof Number||W instanceof String||W instanceof Boolean)){let D={};for(let $ in W)D[$]=ku(W[$]);return D}return bl(W)}function Ou(W){let D=W.key,$=W.value,he=W.valueSpec||{},Ee=W.objectElementValidators||{},je=W.style,We=W.styleSpec,ct=W.validateSpec,St=[],Nt=sl($);if(Nt!=="object")return[new me(D,$,`object expected, ${Nt} found`)];for(let sr in $){let Er=sr.split(".")[0],Fr=he[Er]||he["*"],Xr;if(Ee[Er])Xr=Ee[Er];else if(he[Er])Xr=ct;else if(Ee["*"])Xr=Ee["*"];else{if(!he["*"]){St.push(new me(D,$[sr],`unknown property "${sr}"`));continue}Xr=ct}St=St.concat(Xr({key:(D&&`${D}.`)+sr,value:$[sr],valueSpec:Fr,style:je,styleSpec:We,object:$,objectKey:sr,validateSpec:ct},$))}for(let sr in he)Ee[sr]||he[sr].required&&he[sr].default===void 0&&$[sr]===void 0&&St.push(new me(D,$,`missing required property "${sr}"`));return St}function Cf(W){let D=W.value,$=W.valueSpec,he=W.style,Ee=W.styleSpec,je=W.key,We=W.arrayElementValidator||W.validateSpec;if(sl(D)!=="array")return[new me(je,D,`array expected, ${sl(D)} found`)];if($.length&&D.length!==$.length)return[new me(je,D,`array length ${$.length} expected, length ${D.length} found`)];if($["min-length"]&&D.length<$["min-length"])return[new me(je,D,`array length at least ${$["min-length"]} expected, length ${D.length} found`)];let ct={type:$.value,values:$.values};Ee.$version<7&&(ct.function=$.function),sl($.value)==="object"&&(ct=$.value);let St=[];for(let Nt=0;Nthe.maximum?[new me(D,$,`${$} is greater than the maximum value ${he.maximum}`)]:[]}function df(W){let D=W.valueSpec,$=bl(W.value.type),he,Ee,je,We={},ct=$!=="categorical"&&W.value.property===void 0,St=!ct,Nt=sl(W.value.stops)==="array"&&sl(W.value.stops[0])==="array"&&sl(W.value.stops[0][0])==="object",sr=Ou({key:W.key,value:W.value,valueSpec:W.styleSpec.function,validateSpec:W.validateSpec,style:W.style,styleSpec:W.styleSpec,objectElementValidators:{stops:function(Xr){if($==="identity")return[new me(Xr.key,Xr.value,'identity function may not have a "stops" property')];let ni=[],gi=Xr.value;return ni=ni.concat(Cf({key:Xr.key,value:gi,valueSpec:Xr.valueSpec,validateSpec:Xr.validateSpec,style:Xr.style,styleSpec:Xr.styleSpec,arrayElementValidator:Er})),sl(gi)==="array"&&gi.length===0&&ni.push(new me(Xr.key,gi,"array must have at least one stop")),ni},default:function(Xr){return Xr.validateSpec({key:Xr.key,value:Xr.value,valueSpec:D,validateSpec:Xr.validateSpec,style:Xr.style,styleSpec:Xr.styleSpec})}}});return $==="identity"&&ct&&sr.push(new me(W.key,W.value,'missing required property "property"')),$==="identity"||W.value.stops||sr.push(new me(W.key,W.value,'missing required property "stops"')),$==="exponential"&&W.valueSpec.expression&&!Lc(W.valueSpec)&&sr.push(new me(W.key,W.value,"exponential functions not supported")),W.styleSpec.$version>=8&&(St&&!lu(W.valueSpec)?sr.push(new me(W.key,W.value,"property functions not supported")):ct&&!Xc(W.valueSpec)&&sr.push(new me(W.key,W.value,"zoom functions not supported"))),$!=="categorical"&&!Nt||W.value.property!==void 0||sr.push(new me(W.key,W.value,'"property" property is required')),sr;function Er(Xr){let ni=[],gi=Xr.value,Zi=Xr.key;if(sl(gi)!=="array")return[new me(Zi,gi,`array expected, ${sl(gi)} found`)];if(gi.length!==2)return[new me(Zi,gi,`array length 2 expected, length ${gi.length} found`)];if(Nt){if(sl(gi[0])!=="object")return[new me(Zi,gi,`object expected, ${sl(gi[0])} found`)];if(gi[0].zoom===void 0)return[new me(Zi,gi,"object stop key must have zoom")];if(gi[0].value===void 0)return[new me(Zi,gi,"object stop key must have value")];if(je&&je>bl(gi[0].zoom))return[new me(Zi,gi[0].zoom,"stop zoom values must appear in ascending order")];bl(gi[0].zoom)!==je&&(je=bl(gi[0].zoom),Ee=void 0,We={}),ni=ni.concat(Ou({key:`${Zi}[0]`,value:gi[0],valueSpec:{zoom:{}},validateSpec:Xr.validateSpec,style:Xr.style,styleSpec:Xr.styleSpec,objectElementValidators:{zoom:Ml,value:Fr}}))}else ni=ni.concat(Fr({key:`${Zi}[0]`,value:gi[0],valueSpec:{},validateSpec:Xr.validateSpec,style:Xr.style,styleSpec:Xr.styleSpec},gi));return Ic(ku(gi[1]))?ni.concat([new me(`${Zi}[1]`,gi[1],"expressions are not allowed in function stops.")]):ni.concat(Xr.validateSpec({key:`${Zi}[1]`,value:gi[1],valueSpec:D,validateSpec:Xr.validateSpec,style:Xr.style,styleSpec:Xr.styleSpec}))}function Fr(Xr,ni){let gi=sl(Xr.value),Zi=bl(Xr.value),aa=Xr.value!==null?Xr.value:ni;if(he){if(gi!==he)return[new me(Xr.key,aa,`${gi} stop domain type must match previous stop domain type ${he}`)]}else he=gi;if(gi!=="number"&&gi!=="string"&&gi!=="boolean")return[new me(Xr.key,aa,"stop domain value must be a number, string, or boolean")];if(gi!=="number"&&$!=="categorical"){let nn=`number expected, ${gi} found`;return lu(D)&&$===void 0&&(nn+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new me(Xr.key,aa,nn)]}return $!=="categorical"||gi!=="number"||isFinite(Zi)&&Math.floor(Zi)===Zi?$!=="categorical"&&gi==="number"&&Ee!==void 0&&Zinew me(`${W.key}${he.key}`,W.value,he.message));let $=D.value.expression||D.value._styleExpression.expression;if(W.expressionContext==="property"&&W.propertyKey==="text-font"&&!$.outputDefined())return[new me(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"&&!$u($))return[new me(W.key,W.value,'"feature-state" data expressions are not supported with layout properties.')];if(W.expressionContext==="filter"&&!$u($))return[new me(W.key,W.value,'"feature-state" data expressions are not supported with filters.')];if(W.expressionContext&&W.expressionContext.indexOf("cluster")===0){if(!Ef($,["zoom","feature-state"]))return[new me(W.key,W.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if(W.expressionContext==="cluster-initial"&&!zf($))return[new me(W.key,W.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function Ju(W){let D=W.key,$=W.value,he=W.valueSpec,Ee=[];return Array.isArray(he.values)?he.values.indexOf(bl($))===-1&&Ee.push(new me(D,$,`expected one of [${he.values.join(", ")}], ${JSON.stringify($)} found`)):Object.keys(he.values).indexOf(bl($))===-1&&Ee.push(new me(D,$,`expected one of [${Object.keys(he.values).join(", ")}], ${JSON.stringify($)} found`)),Ee}function xf(W){return Yf(ku(W.value))?Rc(fe({},W,{expressionContext:"filter",valueSpec:{value:"boolean"}})):Qu(W)}function Qu(W){let D=W.value,$=W.key;if(sl(D)!=="array")return[new me($,D,`array expected, ${sl(D)} found`)];let he=W.styleSpec,Ee,je=[];if(D.length<1)return[new me($,D,"filter array must have at least 1 element")];switch(je=je.concat(Ju({key:`${$}[0]`,value:D[0],valueSpec:he.filter_operator,style:W.style,styleSpec:W.styleSpec})),bl(D[0])){case"<":case"<=":case">":case">=":D.length>=2&&bl(D[1])==="$type"&&je.push(new me($,D,`"$type" cannot be use with operator "${D[0]}"`));case"==":case"!=":D.length!==3&&je.push(new me($,D,`filter array for operator "${D[0]}" must have 3 elements`));case"in":case"!in":D.length>=2&&(Ee=sl(D[1]),Ee!=="string"&&je.push(new me(`${$}[1]`,D[1],`string expected, ${Ee} found`)));for(let We=2;We{Nt in $&&D.push(new me(he,$[Nt],`"${Nt}" is prohibited for ref layers`))}),Ee.layers.forEach(Nt=>{bl(Nt.id)===ct&&(St=Nt)}),St?St.ref?D.push(new me(he,$.ref,"ref cannot reference another ref layer")):We=bl(St.type):D.push(new me(he,$.ref,`ref layer "${ct}" not found`))}else if(We!=="background")if($.source){let St=Ee.sources&&Ee.sources[$.source],Nt=St&&bl(St.type);St?Nt==="vector"&&We==="raster"?D.push(new me(he,$.source,`layer "${$.id}" requires a raster source`)):Nt!=="raster-dem"&&We==="hillshade"?D.push(new me(he,$.source,`layer "${$.id}" requires a raster-dem source`)):Nt==="raster"&&We!=="raster"?D.push(new me(he,$.source,`layer "${$.id}" requires a vector source`)):Nt!=="vector"||$["source-layer"]?Nt==="raster-dem"&&We!=="hillshade"?D.push(new me(he,$.source,"raster-dem source can only be used with layer type 'hillshade'.")):We!=="line"||!$.paint||!$.paint["line-gradient"]||Nt==="geojson"&&St.lineMetrics||D.push(new me(he,$,`layer "${$.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):D.push(new me(he,$,`layer "${$.id}" must specify a "source-layer"`)):D.push(new me(he,$.source,`source "${$.source}" not found`))}else D.push(new me(he,$,'missing required property "source"'));return D=D.concat(Ou({key:he,value:$,valueSpec:je.layer,style:W.style,styleSpec:W.styleSpec,validateSpec:W.validateSpec,objectElementValidators:{"*":()=>[],type:()=>W.validateSpec({key:`${he}.type`,value:$.type,valueSpec:je.layer.type,style:W.style,styleSpec:W.styleSpec,validateSpec:W.validateSpec,object:$,objectKey:"type"}),filter:xf,layout:St=>Ou({layer:$,key:St.key,value:St.value,style:St.style,styleSpec:St.styleSpec,validateSpec:St.validateSpec,objectElementValidators:{"*":Nt=>du(fe({layerType:We},Nt))}}),paint:St=>Ou({layer:$,key:St.key,value:St.value,style:St.style,styleSpec:St.styleSpec,validateSpec:St.validateSpec,objectElementValidators:{"*":Nt=>Lf(fe({layerType:We},Nt))}})}})),D}function ec(W){let D=W.value,$=W.key,he=sl(D);return he!=="string"?[new me($,D,`string expected, ${he} found`)]:[]}let Dc={promoteId:function({key:W,value:D}){if(sl(D)==="string")return ec({key:W,value:D});{let $=[];for(let he in D)$.push(...ec({key:`${W}.${he}`,value:D[he]}));return $}}};function bc(W){let D=W.value,$=W.key,he=W.styleSpec,Ee=W.style,je=W.validateSpec;if(!D.type)return[new me($,D,'"type" is required')];let We=bl(D.type),ct;switch(We){case"vector":case"raster":return ct=Ou({key:$,value:D,valueSpec:he[`source_${We.replace("-","_")}`],style:W.style,styleSpec:he,objectElementValidators:Dc,validateSpec:je}),ct;case"raster-dem":return ct=function(St){var Nt;let sr=(Nt=St.sourceName)!==null&&Nt!==void 0?Nt:"",Er=St.value,Fr=St.styleSpec,Xr=Fr.source_raster_dem,ni=St.style,gi=[],Zi=sl(Er);if(Er===void 0)return gi;if(Zi!=="object")return gi.push(new me("source_raster_dem",Er,`object expected, ${Zi} found`)),gi;let aa=bl(Er.encoding)==="custom",nn=["redFactor","greenFactor","blueFactor","baseShift"],Aa=St.value.encoding?`"${St.value.encoding}"`:"Default";for(let Ja in Er)!aa&&nn.includes(Ja)?gi.push(new me(Ja,Er[Ja],`In "${sr}": "${Ja}" is only valid when "encoding" is set to "custom". ${Aa} encoding found`)):Xr[Ja]?gi=gi.concat(St.validateSpec({key:Ja,value:Er[Ja],valueSpec:Xr[Ja],validateSpec:St.validateSpec,style:ni,styleSpec:Fr})):gi.push(new me(Ja,Er[Ja],`unknown property "${Ja}"`));return gi}({sourceName:$,value:D,style:W.style,styleSpec:he,validateSpec:je}),ct;case"geojson":if(ct=Ou({key:$,value:D,valueSpec:he.source_geojson,style:Ee,styleSpec:he,validateSpec:je,objectElementValidators:Dc}),D.cluster)for(let St in D.clusterProperties){let[Nt,sr]=D.clusterProperties[St],Er=typeof Nt=="string"?[Nt,["accumulated"],["get",St]]:Nt;ct.push(...Rc({key:`${$}.${St}.map`,value:sr,validateSpec:je,expressionContext:"cluster-map"})),ct.push(...Rc({key:`${$}.${St}.reduce`,value:Er,validateSpec:je,expressionContext:"cluster-reduce"}))}return ct;case"video":return Ou({key:$,value:D,valueSpec:he.source_video,style:Ee,validateSpec:je,styleSpec:he});case"image":return Ou({key:$,value:D,valueSpec:he.source_image,style:Ee,validateSpec:je,styleSpec:he});case"canvas":return[new me($,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return Ju({key:`${$}.type`,value:D.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:Ee,validateSpec:je,styleSpec:he})}}function Jl(W){let D=W.value,$=W.styleSpec,he=$.light,Ee=W.style,je=[],We=sl(D);if(D===void 0)return je;if(We!=="object")return je=je.concat([new me("light",D,`object expected, ${We} found`)]),je;for(let ct in D){let St=ct.match(/^(.*)-transition$/);je=je.concat(St&&he[St[1]]&&he[St[1]].transition?W.validateSpec({key:ct,value:D[ct],valueSpec:$.transition,validateSpec:W.validateSpec,style:Ee,styleSpec:$}):he[ct]?W.validateSpec({key:ct,value:D[ct],valueSpec:he[ct],validateSpec:W.validateSpec,style:Ee,styleSpec:$}):[new me(ct,D[ct],`unknown property "${ct}"`)])}return je}function Cu(W){let D=W.value,$=W.styleSpec,he=$.sky,Ee=W.style,je=sl(D);if(D===void 0)return[];if(je!=="object")return[new me("sky",D,`object expected, ${je} found`)];let We=[];for(let ct in D)We=We.concat(he[ct]?W.validateSpec({key:ct,value:D[ct],valueSpec:he[ct],style:Ee,styleSpec:$}):[new me(ct,D[ct],`unknown property "${ct}"`)]);return We}function zc(W){let D=W.value,$=W.styleSpec,he=$.terrain,Ee=W.style,je=[],We=sl(D);if(D===void 0)return je;if(We!=="object")return je=je.concat([new me("terrain",D,`object expected, ${We} found`)]),je;for(let ct in D)je=je.concat(he[ct]?W.validateSpec({key:ct,value:D[ct],valueSpec:he[ct],validateSpec:W.validateSpec,style:Ee,styleSpec:$}):[new me(ct,D[ct],`unknown property "${ct}"`)]);return je}function tf(W){let D=[],$=W.value,he=W.key;if(Array.isArray($)){let Ee=[],je=[];for(let We in $)$[We].id&&Ee.includes($[We].id)&&D.push(new me(he,$,`all the sprites' ids must be unique, but ${$[We].id} is duplicated`)),Ee.push($[We].id),$[We].url&&je.includes($[We].url)&&D.push(new me(he,$,`all the sprites' URLs must be unique, but ${$[We].url} is duplicated`)),je.push($[We].url),D=D.concat(Ou({key:`${he}[${We}]`,value:$[We],valueSpec:{id:{type:"string",required:!0},url:{type:"string",required:!0}},validateSpec:W.validateSpec}));return D}return ec({key:he,value:$})}let fc={"*":()=>[],array:Cf,boolean:function(W){let D=W.value,$=W.key,he=sl(D);return he!=="boolean"?[new me($,D,`boolean expected, ${he} found`)]:[]},number:Ml,color:function(W){let D=W.key,$=W.value,he=sl($);return he!=="string"?[new me(D,$,`color expected, ${he} found`)]:Jt.parse(String($))?[]:[new me(D,$,`color expected, "${$}" found`)]},constants:_f,enum:Ju,filter:xf,function:df,layer:Nf,object:Ou,source:bc,light:Jl,sky:Cu,terrain:zc,projection:function(W){let D=W.value,$=W.styleSpec,he=$.projection,Ee=W.style,je=sl(D);if(D===void 0)return[];if(je!=="object")return[new me("projection",D,`object expected, ${je} found`)];let We=[];for(let ct in D)We=We.concat(he[ct]?W.validateSpec({key:ct,value:D[ct],valueSpec:he[ct],style:Ee,styleSpec:$}):[new me(ct,D[ct],`unknown property "${ct}"`)]);return We},string:ec,formatted:function(W){return ec(W).length===0?[]:Rc(W)},resolvedImage:function(W){return ec(W).length===0?[]:Rc(W)},padding:function(W){let D=W.key,$=W.value;if(sl($)==="array"){if($.length<1||$.length>4)return[new me(D,$,`padding requires 1 to 4 values; ${$.length} values found`)];let he={type:"number"},Ee=[];for(let je=0;je<$.length;je++)Ee=Ee.concat(W.validateSpec({key:`${D}[${je}]`,value:$[je],validateSpec:W.validateSpec,valueSpec:he}));return Ee}return Ml({key:D,value:$,valueSpec:{}})},variableAnchorOffsetCollection:function(W){let D=W.key,$=W.value,he=sl($),Ee=W.styleSpec;if(he!=="array"||$.length<1||$.length%2!=0)return[new me(D,$,"variableAnchorOffsetCollection requires a non-empty array of even length")];let je=[];for(let We=0;We<$.length;We+=2)je=je.concat(Ju({key:`${D}[${We}]`,value:$[We],valueSpec:Ee.layout_symbol["text-anchor"]})),je=je.concat(Cf({key:`${D}[${We+1}]`,value:$[We+1],valueSpec:{length:2,value:"number"},validateSpec:W.validateSpec,style:W.style,styleSpec:Ee}));return je},sprite:tf};function Fc(W){let D=W.value,$=W.valueSpec,he=W.styleSpec;return W.validateSpec=Fc,$.expression&&kf(bl(D))?df(W):$.expression&&Ic(ku(D))?Rc(W):$.type&&fc[$.type]?fc[$.type](W):Ou(fe({},W,{valueSpec:$.type?he[$.type]:$}))}function er(W){let D=W.value,$=W.key,he=ec(W);return he.length||(D.indexOf("{fontstack}")===-1&&he.push(new me($,D,'"glyphs" url must include a "{fontstack}" token')),D.indexOf("{range}")===-1&&he.push(new me($,D,'"glyphs" url must include a "{range}" token'))),he}function wr(W,D=re){let $=[];return $=$.concat(Fc({key:"",value:W,valueSpec:D.$root,styleSpec:D,style:W,validateSpec:Fc,objectElementValidators:{glyphs:er,"*":()=>[]}})),W.constants&&($=$.concat(_f({key:"constants",value:W.constants,style:W,styleSpec:D,validateSpec:Fc}))),Jr($)}function ai(W){return function(D){return W(yi(Ri({},D),{validateSpec:Fc}))}}function Jr(W){return[].concat(W).sort((D,$)=>D.line-$.line)}function Fi(W){return function(...D){return Jr(W.apply(this,D))}}wr.source=Fi(ai(bc)),wr.sprite=Fi(ai(tf)),wr.glyphs=Fi(ai(er)),wr.light=Fi(ai(Jl)),wr.sky=Fi(ai(Cu)),wr.terrain=Fi(ai(zc)),wr.layer=Fi(ai(Nf)),wr.filter=Fi(ai(xf)),wr.paintProperty=Fi(ai(Lf)),wr.layoutProperty=Fi(ai(du));let pa=wr,Ba=pa.light,an=pa.sky,hn=pa.paintProperty,Ln=pa.layoutProperty;function Na(W,D){let $=!1;if(D&&D.length)for(let he of D)W.fire(new j(new Error(he.message))),$=!0;return $}class qa{constructor(D,$,he){let Ee=this.cells=[];if(D instanceof ArrayBuffer){this.arrayBuffer=D;let We=new Int32Array(this.arrayBuffer);D=We[0],this.d=($=We[1])+2*(he=We[2]);for(let St=0;St=Er[ni+0]&&Ee>=Er[ni+1])?(ct[Xr]=!0,We.push(sr[Xr])):ct[Xr]=!1}}}}_forEachCell(D,$,he,Ee,je,We,ct,St){let Nt=this._convertToCellCoord(D),sr=this._convertToCellCoord($),Er=this._convertToCellCoord(he),Fr=this._convertToCellCoord(Ee);for(let Xr=Nt;Xr<=Er;Xr++)for(let ni=sr;ni<=Fr;ni++){let gi=this.d*ni+Xr;if((!St||St(this._convertFromCellCoord(Xr),this._convertFromCellCoord(ni),this._convertFromCellCoord(Xr+1),this._convertFromCellCoord(ni+1)))&&je.call(this,D,$,he,Ee,gi,We,ct,St))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,$=3+this.cells.length+1+1,he=0;for(let We=0;We=0)continue;let We=W[je];Ee[je]=Za[$].shallow.indexOf(je)>=0?We:yo(We,D)}W instanceof Error&&(Ee.message=W.message)}if(Ee.$name)throw new Error("$name property is reserved for worker serialization logic.");return $!=="Object"&&(Ee.$name=$),Ee}function Io(W){if(wo(W))return W;if(Array.isArray(W))return W.map(Io);if(typeof W!="object")throw new Error("can't deserialize object of type "+typeof W);let D=go(W)||"Object";if(!Za[D])throw new Error(`can't deserialize unregistered class ${D}`);let{klass:$}=Za[D];if(!$)throw new Error(`can't deserialize unregistered class ${D}`);if($.deserialize)return $.deserialize(W);let he=Object.create($.prototype);for(let Ee of Object.keys(W)){if(Ee==="$name")continue;let je=W[Ee];he[Ee]=Za[D].shallow.indexOf(Ee)>=0?je:Io(je)}return he}class Vn{constructor(){this.first=!0}update(D,$){let he=Math.floor(D);return this.first?(this.first=!1,this.lastIntegerZoom=he,this.lastIntegerZoomTime=0,this.lastZoom=D,this.lastFloorZoom=he,!0):(this.lastFloorZoom>he?(this.lastIntegerZoom=he+1,this.lastIntegerZoomTime=$):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 Oo(W){for(let D of W)if(Bs(D.charCodeAt(0)))return!0;return!1}function ps(W){for(let D of W)if(!Qs(D.charCodeAt(0)))return!1;return!0}function js(W){let D=W.map($=>{try{return new RegExp(`\\p{sc=${$}}`,"u").source}catch{return null}}).filter($=>$);return new RegExp(D.join("|"),"u")}let pl=js(["Arab","Dupl","Mong","Ougr","Syrc"]);function Qs(W){return!pl.test(String.fromCodePoint(W))}let hl=js(["Bopo","Hani","Hira","Kana","Kits","Nshu","Tang","Yiii"]);function Bs(W){return!(W!==746&&W!==747&&(W<4352||!(wn["CJK Compatibility Forms"](W)&&!(W>=65097&&W<=65103)||wn["CJK Compatibility"](W)||wn["CJK Strokes"](W)||!(!wn["CJK Symbols and Punctuation"](W)||W>=12296&&W<=12305||W>=12308&&W<=12319||W===12336)||wn["Enclosed CJK Letters and Months"](W)||wn["Ideographic Description Characters"](W)||wn.Kanbun(W)||wn.Katakana(W)&&W!==12540||!(!wn["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)||!(!wn["Small Form Variants"](W)||W>=65112&&W<=65118||W>=65123&&W<=65126)||wn["Vertical Forms"](W)||wn["Yijing Hexagram Symbols"](W)||new RegExp("\\p{sc=Cans}","u").test(String.fromCodePoint(W))||new RegExp("\\p{sc=Hang}","u").test(String.fromCodePoint(W))||hl.test(String.fromCodePoint(W)))))}function Wl(W){return!(Bs(W)||function(D){return!!(wn["Latin-1 Supplement"](D)&&(D===167||D===169||D===174||D===177||D===188||D===189||D===190||D===215||D===247)||wn["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)||wn["Letterlike Symbols"](D)||wn["Number Forms"](D)||wn["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)||wn["Control Pictures"](D)&&D!==9251||wn["Optical Character Recognition"](D)||wn["Enclosed Alphanumerics"](D)||wn["Geometric Shapes"](D)||wn["Miscellaneous Symbols"](D)&&!(D>=9754&&D<=9759)||wn["Miscellaneous Symbols and Arrows"](D)&&(D>=11026&&D<=11055||D>=11088&&D<=11097||D>=11192&&D<=11243)||wn["CJK Symbols and Punctuation"](D)||wn.Katakana(D)||wn["Private Use Area"](D)||wn["CJK Compatibility Forms"](D)||wn["Small Form Variants"](D)||wn["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 Il=js(["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 wl(W){return Il.test(String.fromCodePoint(W))}function io(W,D){return!(!D&&wl(W)||W>=2304&&W<=3583||W>=3840&&W<=4255||wn.Khmer(W))}function Jo(W){for(let D of W)if(wl(D.charCodeAt(0)))return!0;return!1}let cl=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 Zs{constructor(D,$){this.zoom=D,$?(this.now=$.now,this.fadeDuration=$.fadeDuration,this.zoomHistory=$.zoomHistory,this.transition=$.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Vn,this.transition={})}isSupportedScript(D){return function($,he){for(let Ee of $)if(!io(Ee.charCodeAt(0),he))return!1;return!0}(D,cl.getRTLTextPluginStatus()==="loaded")}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let D=this.zoom,$=D-Math.floor(D),he=this.crossFadingFactor();return D>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:$+(1-$)*he}:{fromScale:.5,toScale:1,t:1-(1-he)*$}}}class gu{constructor(D,$){this.property=D,this.value=$,this.expression=function(he,Ee){if(kf(he))return new Nl(he,Ee);if(Ic(he)){let je=Iu(he,Ee);if(je.result==="error")throw new Error(je.value.map(We=>`${We.key}: ${We.message}`).join(", "));return je.value}{let je=he;return Ee.type==="color"&&typeof he=="string"?je=Jt.parse(he):Ee.type!=="padding"||typeof he!="number"&&!Array.isArray(he)?Ee.type==="variableAnchorOffsetCollection"&&Array.isArray(he)&&(je=oa.parse(he)):je=di.parse(he),{kind:"constant",evaluate:()=>je}}}($===void 0?D.specification.default:$,D.specification)}isDataDriven(){return this.expression.kind==="source"||this.expression.kind==="composite"}possiblyEvaluate(D,$,he){return this.property.possiblyEvaluate(this,D,$,he)}}class Nu{constructor(D){this.property=D,this.value=new gu(D,void 0)}transitioned(D,$){return new Bc(this.property,this.value,$,M({},D.transition,this.transition),D.now)}untransitioned(){return new Bc(this.property,this.value,null,{},0)}}class tc{constructor(D){this._properties=D,this._values=Object.create(D.defaultTransitionablePropertyValues)}getValue(D){return u(this._values[D].value.value)}setValue(D,$){Object.prototype.hasOwnProperty.call(this._values,D)||(this._values[D]=new Nu(this._values[D].property)),this._values[D].value=new gu(this._values[D].property,$===null?void 0:u($))}getTransition(D){return u(this._values[D].transition)}setTransition(D,$){Object.prototype.hasOwnProperty.call(this._values,D)||(this._values[D]=new Nu(this._values[D].property)),this._values[D].transition=u($)||void 0}serialize(){let D={};for(let $ of Object.keys(this._values)){let he=this.getValue($);he!==void 0&&(D[$]=he);let Ee=this.getTransition($);Ee!==void 0&&(D[`${$}-transition`]=Ee)}return D}transitioned(D,$){let he=new Lu(this._properties);for(let Ee of Object.keys(this._values))he._values[Ee]=this._values[Ee].transitioned(D,$._values[Ee]);return he}untransitioned(){let D=new Lu(this._properties);for(let $ of Object.keys(this._values))D._values[$]=this._values[$].untransitioned();return D}}class Bc{constructor(D,$,he,Ee,je){this.property=D,this.value=$,this.begin=je+Ee.delay||0,this.end=this.begin+Ee.duration||0,D.specification.transition&&(Ee.delay||Ee.duration)&&(this.prior=he)}possiblyEvaluate(D,$,he){let Ee=D.now||0,je=this.value.possiblyEvaluate(D,$,he),We=this.prior;if(We){if(Ee>this.end)return this.prior=null,je;if(this.value.isDataDriven())return this.prior=null,je;if(Ee=1)return 1;let Nt=St*St,sr=Nt*St;return 4*(St<.5?sr:3*(St-Nt)+sr-.75)}(ct))}}return je}}class Lu{constructor(D){this._properties=D,this._values=Object.create(D.defaultTransitioningPropertyValues)}possiblyEvaluate(D,$,he){let Ee=new wc(this._properties);for(let je of Object.keys(this._values))Ee._values[je]=this._values[je].possiblyEvaluate(D,$,he);return Ee}hasTransition(){for(let D of Object.keys(this._values))if(this._values[D].prior)return!0;return!1}}class Oc{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,$){this._values[D]=new gu(this._values[D].property,$===null?void 0:u($))}serialize(){let D={};for(let $ of Object.keys(this._values)){let he=this.getValue($);he!==void 0&&(D[$]=he)}return D}possiblyEvaluate(D,$,he){let Ee=new wc(this._properties);for(let je of Object.keys(this._values))Ee._values[je]=this._values[je].possiblyEvaluate(D,$,he);return Ee}}class Pu{constructor(D,$,he){this.property=D,this.value=$,this.parameters=he}isConstant(){return this.value.kind==="constant"}constantOr(D){return this.value.kind==="constant"?this.value.value:D}evaluate(D,$,he,Ee){return this.property.evaluate(this.value,this.parameters,D,$,he,Ee)}}class wc{constructor(D){this._properties=D,this._values=Object.create(D.defaultPossiblyEvaluatedValues)}get(D){return this._values[D]}}class Po{constructor(D){this.specification=D}possiblyEvaluate(D,$){if(D.isDataDriven())throw new Error("Value should not be data driven");return D.expression.evaluate($)}interpolate(D,$,he){let Ee=eo[this.specification.type];return Ee?Ee(D,$,he):D}}class es{constructor(D,$){this.specification=D,this.overrides=$}possiblyEvaluate(D,$,he,Ee){return new Pu(this,D.expression.kind==="constant"||D.expression.kind==="camera"?{kind:"constant",value:D.expression.evaluate($,null,{},he,Ee)}:D.expression,$)}interpolate(D,$,he){if(D.value.kind!=="constant"||$.value.kind!=="constant")return D;if(D.value.value===void 0||$.value.value===void 0)return new Pu(this,{kind:"constant",value:void 0},D.parameters);let Ee=eo[this.specification.type];if(Ee){let je=Ee(D.value.value,$.value.value,he);return new Pu(this,{kind:"constant",value:je},D.parameters)}return D}evaluate(D,$,he,Ee,je,We){return D.kind==="constant"?D.value:D.evaluate($,he,Ee,je,We)}}class Nc extends es{possiblyEvaluate(D,$,he,Ee){if(D.value===void 0)return new Pu(this,{kind:"constant",value:void 0},$);if(D.expression.kind==="constant"){let je=D.expression.evaluate($,null,{},he,Ee),We=D.property.specification.type==="resolvedImage"&&typeof je!="string"?je.name:je,ct=this._calculate(We,We,We,$);return new Pu(this,{kind:"constant",value:ct},$)}if(D.expression.kind==="camera"){let je=this._calculate(D.expression.evaluate({zoom:$.zoom-1}),D.expression.evaluate({zoom:$.zoom}),D.expression.evaluate({zoom:$.zoom+1}),$);return new Pu(this,{kind:"constant",value:je},$)}return new Pu(this,D.expression,$)}evaluate(D,$,he,Ee,je,We){if(D.kind==="source"){let ct=D.evaluate($,he,Ee,je,We);return this._calculate(ct,ct,ct,$)}return D.kind==="composite"?this._calculate(D.evaluate({zoom:Math.floor($.zoom)-1},he,Ee),D.evaluate({zoom:Math.floor($.zoom)},he,Ee),D.evaluate({zoom:Math.floor($.zoom)+1},he,Ee),$):D.value}_calculate(D,$,he,Ee){return Ee.zoom>Ee.zoomHistory.lastIntegerZoom?{from:D,to:$}:{from:he,to:$}}interpolate(D){return D}}class hc{constructor(D){this.specification=D}possiblyEvaluate(D,$,he,Ee){if(D.value!==void 0){if(D.expression.kind==="constant"){let je=D.expression.evaluate($,null,{},he,Ee);return this._calculate(je,je,je,$)}return this._calculate(D.expression.evaluate(new Zs(Math.floor($.zoom-1),$)),D.expression.evaluate(new Zs(Math.floor($.zoom),$)),D.expression.evaluate(new Zs(Math.floor($.zoom+1),$)),$)}}_calculate(D,$,he,Ee){return Ee.zoom>Ee.zoomHistory.lastIntegerZoom?{from:D,to:$}:{from:he,to:$}}interpolate(D){return D}}class rc{constructor(D){this.specification=D}possiblyEvaluate(D,$,he,Ee){return!!D.expression.evaluate($,null,{},he,Ee)}interpolate(){return!1}}class Ue{constructor(D){this.properties=D,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let $ in D){let he=D[$];he.specification.overridable&&this.overridableProperties.push($);let Ee=this.defaultPropertyValues[$]=new gu(he,void 0),je=this.defaultTransitionablePropertyValues[$]=new Nu(he);this.defaultTransitioningPropertyValues[$]=je.untransitioned(),this.defaultPossiblyEvaluatedValues[$]=Ee.possiblyEvaluate({})}}}Ta("DataDrivenProperty",es),Ta("DataConstantProperty",Po),Ta("CrossFadedDataDrivenProperty",Nc),Ta("CrossFadedProperty",hc),Ta("ColorRampProperty",rc);let P="-transition";class ae extends Q{constructor(D,$){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),$.layout&&(this._unevaluatedLayout=new Oc($.layout)),$.paint)){this._transitionablePaint=new tc($.paint);for(let he in D.paint)this.setPaintProperty(he,D.paint[he],{validate:!1});for(let he in D.layout)this.setLayoutProperty(he,D.layout[he],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new wc($.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(D){return D==="visibility"?this.visibility:this._unevaluatedLayout.getValue(D)}setLayoutProperty(D,$,he={}){$!=null&&this._validate(Ln,`layers.${this.id}.layout.${D}`,D,$,he)||(D!=="visibility"?this._unevaluatedLayout.setValue(D,$):this.visibility=$)}getPaintProperty(D){return D.endsWith(P)?this._transitionablePaint.getTransition(D.slice(0,-11)):this._transitionablePaint.getValue(D)}setPaintProperty(D,$,he={}){if($!=null&&this._validate(hn,`layers.${this.id}.paint.${D}`,D,$,he))return!1;if(D.endsWith(P))return this._transitionablePaint.setTransition(D.slice(0,-11),$||void 0),!1;{let Ee=this._transitionablePaint._values[D],je=Ee.property.specification["property-type"]==="cross-faded-data-driven",We=Ee.value.isDataDriven(),ct=Ee.value;this._transitionablePaint.setValue(D,$),this._handleSpecialPaintPropertyUpdate(D);let St=this._transitionablePaint._values[D].value;return St.isDataDriven()||We||je||this._handleOverridablePaintPropertyUpdate(D,ct,St)}}_handleSpecialPaintPropertyUpdate(D){}_handleOverridablePaintPropertyUpdate(D,$,he){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,$){D.getCrossfadeParameters&&(this._crossfadeParameters=D.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(D,void 0,$)),this.paint=this._transitioningPaint.possiblyEvaluate(D,void 0,$)}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),v(D,($,he)=>!($===void 0||he==="layout"&&!Object.keys($).length||he==="paint"&&!Object.keys($).length))}_validate(D,$,he,Ee,je={}){return(!je||je.validate!==!1)&&Na(this,D.call(pa,{key:$,layerType:this.type,objectKey:he,value:Ee,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 $=this.paint.get(D);if($ instanceof Pu&&lu($.property.specification)&&($.value.kind==="source"||$.value.kind==="composite")&&$.value.isStateDependent)return!0}return!1}}let xe={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class Te{constructor(D,$){this._structArray=D,this._pos1=$*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class Oe{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(D,$){return D._trim(),$&&(D.isTransferred=!0,$.push(D.arrayBuffer)),{length:D.length,arrayBuffer:D.arrayBuffer}}static deserialize(D){let $=Object.create(this.prototype);return $.arrayBuffer=D.arrayBuffer,$.length=D.length,$.capacity=D.arrayBuffer.byteLength/$.bytesPerElement,$._refreshViews(),$}_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 $=this.uint8;this._refreshViews(),$&&this.uint8.set($)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}}function ht(W,D=1){let $=0,he=0;return{members:W.map(Ee=>{let je=xe[Ee.type].BYTES_PER_ELEMENT,We=$=Tt($,Math.max(D,je)),ct=Ee.components||1;return he=Math.max(he,je),$+=je*ct,{name:Ee.name,type:Ee.type,components:ct,offset:We}}),size:Tt($,Math.max(he,D)),alignment:D}}function Tt(W,D){return Math.ceil(W/D)*D}class Ot extends Oe{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(D,$){let he=this.length;return this.resize(he+1),this.emplace(he,D,$)}emplace(D,$,he){let Ee=2*D;return this.int16[Ee+0]=$,this.int16[Ee+1]=he,D}}Ot.prototype.bytesPerElement=4,Ta("StructArrayLayout2i4",Ot);class Qt extends Oe{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(D,$,he){let Ee=this.length;return this.resize(Ee+1),this.emplace(Ee,D,$,he)}emplace(D,$,he,Ee){let je=3*D;return this.int16[je+0]=$,this.int16[je+1]=he,this.int16[je+2]=Ee,D}}Qt.prototype.bytesPerElement=6,Ta("StructArrayLayout3i6",Qt);class Ar extends Oe{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(D,$,he,Ee){let je=this.length;return this.resize(je+1),this.emplace(je,D,$,he,Ee)}emplace(D,$,he,Ee,je){let We=4*D;return this.int16[We+0]=$,this.int16[We+1]=he,this.int16[We+2]=Ee,this.int16[We+3]=je,D}}Ar.prototype.bytesPerElement=8,Ta("StructArrayLayout4i8",Ar);class Sr extends Oe{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(D,$,he,Ee,je,We){let ct=this.length;return this.resize(ct+1),this.emplace(ct,D,$,he,Ee,je,We)}emplace(D,$,he,Ee,je,We,ct){let St=6*D;return this.int16[St+0]=$,this.int16[St+1]=he,this.int16[St+2]=Ee,this.int16[St+3]=je,this.int16[St+4]=We,this.int16[St+5]=ct,D}}Sr.prototype.bytesPerElement=12,Ta("StructArrayLayout2i4i12",Sr);class Kr extends Oe{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(D,$,he,Ee,je,We){let ct=this.length;return this.resize(ct+1),this.emplace(ct,D,$,he,Ee,je,We)}emplace(D,$,he,Ee,je,We,ct){let St=4*D,Nt=8*D;return this.int16[St+0]=$,this.int16[St+1]=he,this.uint8[Nt+4]=Ee,this.uint8[Nt+5]=je,this.uint8[Nt+6]=We,this.uint8[Nt+7]=ct,D}}Kr.prototype.bytesPerElement=8,Ta("StructArrayLayout2i4ub8",Kr);class oi extends Oe{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(D,$){let he=this.length;return this.resize(he+1),this.emplace(he,D,$)}emplace(D,$,he){let Ee=2*D;return this.float32[Ee+0]=$,this.float32[Ee+1]=he,D}}oi.prototype.bytesPerElement=8,Ta("StructArrayLayout2f8",oi);class Ge extends Oe{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(D,$,he,Ee,je,We,ct,St,Nt,sr){let Er=this.length;return this.resize(Er+1),this.emplace(Er,D,$,he,Ee,je,We,ct,St,Nt,sr)}emplace(D,$,he,Ee,je,We,ct,St,Nt,sr,Er){let Fr=10*D;return this.uint16[Fr+0]=$,this.uint16[Fr+1]=he,this.uint16[Fr+2]=Ee,this.uint16[Fr+3]=je,this.uint16[Fr+4]=We,this.uint16[Fr+5]=ct,this.uint16[Fr+6]=St,this.uint16[Fr+7]=Nt,this.uint16[Fr+8]=sr,this.uint16[Fr+9]=Er,D}}Ge.prototype.bytesPerElement=20,Ta("StructArrayLayout10ui20",Ge);class Ze extends Oe{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(D,$,he,Ee,je,We,ct,St,Nt,sr,Er,Fr){let Xr=this.length;return this.resize(Xr+1),this.emplace(Xr,D,$,he,Ee,je,We,ct,St,Nt,sr,Er,Fr)}emplace(D,$,he,Ee,je,We,ct,St,Nt,sr,Er,Fr,Xr){let ni=12*D;return this.int16[ni+0]=$,this.int16[ni+1]=he,this.int16[ni+2]=Ee,this.int16[ni+3]=je,this.uint16[ni+4]=We,this.uint16[ni+5]=ct,this.uint16[ni+6]=St,this.uint16[ni+7]=Nt,this.int16[ni+8]=sr,this.int16[ni+9]=Er,this.int16[ni+10]=Fr,this.int16[ni+11]=Xr,D}}Ze.prototype.bytesPerElement=24,Ta("StructArrayLayout4i4ui4i24",Ze);class ot extends Oe{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(D,$,he){let Ee=this.length;return this.resize(Ee+1),this.emplace(Ee,D,$,he)}emplace(D,$,he,Ee){let je=3*D;return this.float32[je+0]=$,this.float32[je+1]=he,this.float32[je+2]=Ee,D}}ot.prototype.bytesPerElement=12,Ta("StructArrayLayout3f12",ot);class dt extends Oe{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(D){let $=this.length;return this.resize($+1),this.emplace($,D)}emplace(D,$){return this.uint32[1*D+0]=$,D}}dt.prototype.bytesPerElement=4,Ta("StructArrayLayout1ul4",dt);class Ct extends Oe{_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,$,he,Ee,je,We,ct,St,Nt){let sr=this.length;return this.resize(sr+1),this.emplace(sr,D,$,he,Ee,je,We,ct,St,Nt)}emplace(D,$,he,Ee,je,We,ct,St,Nt,sr){let Er=10*D,Fr=5*D;return this.int16[Er+0]=$,this.int16[Er+1]=he,this.int16[Er+2]=Ee,this.int16[Er+3]=je,this.int16[Er+4]=We,this.int16[Er+5]=ct,this.uint32[Fr+3]=St,this.uint16[Er+8]=Nt,this.uint16[Er+9]=sr,D}}Ct.prototype.bytesPerElement=20,Ta("StructArrayLayout6i1ul2ui20",Ct);class wt extends Oe{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(D,$,he,Ee,je,We){let ct=this.length;return this.resize(ct+1),this.emplace(ct,D,$,he,Ee,je,We)}emplace(D,$,he,Ee,je,We,ct){let St=6*D;return this.int16[St+0]=$,this.int16[St+1]=he,this.int16[St+2]=Ee,this.int16[St+3]=je,this.int16[St+4]=We,this.int16[St+5]=ct,D}}wt.prototype.bytesPerElement=12,Ta("StructArrayLayout2i2i2i12",wt);class Dt extends Oe{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(D,$,he,Ee,je){let We=this.length;return this.resize(We+1),this.emplace(We,D,$,he,Ee,je)}emplace(D,$,he,Ee,je,We){let ct=4*D,St=8*D;return this.float32[ct+0]=$,this.float32[ct+1]=he,this.float32[ct+2]=Ee,this.int16[St+6]=je,this.int16[St+7]=We,D}}Dt.prototype.bytesPerElement=16,Ta("StructArrayLayout2f1f2i16",Dt);class fr extends Oe{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(D,$,he,Ee,je,We){let ct=this.length;return this.resize(ct+1),this.emplace(ct,D,$,he,Ee,je,We)}emplace(D,$,he,Ee,je,We,ct){let St=16*D,Nt=4*D,sr=8*D;return this.uint8[St+0]=$,this.uint8[St+1]=he,this.float32[Nt+1]=Ee,this.float32[Nt+2]=je,this.int16[sr+6]=We,this.int16[sr+7]=ct,D}}fr.prototype.bytesPerElement=16,Ta("StructArrayLayout2ub2f2i16",fr);class _r extends Oe{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(D,$,he){let Ee=this.length;return this.resize(Ee+1),this.emplace(Ee,D,$,he)}emplace(D,$,he,Ee){let je=3*D;return this.uint16[je+0]=$,this.uint16[je+1]=he,this.uint16[je+2]=Ee,D}}_r.prototype.bytesPerElement=6,Ta("StructArrayLayout3ui6",_r);class kr extends Oe{_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,$,he,Ee,je,We,ct,St,Nt,sr,Er,Fr,Xr,ni,gi,Zi,aa){let nn=this.length;return this.resize(nn+1),this.emplace(nn,D,$,he,Ee,je,We,ct,St,Nt,sr,Er,Fr,Xr,ni,gi,Zi,aa)}emplace(D,$,he,Ee,je,We,ct,St,Nt,sr,Er,Fr,Xr,ni,gi,Zi,aa,nn){let Aa=24*D,Ja=12*D,dn=48*D;return this.int16[Aa+0]=$,this.int16[Aa+1]=he,this.uint16[Aa+2]=Ee,this.uint16[Aa+3]=je,this.uint32[Ja+2]=We,this.uint32[Ja+3]=ct,this.uint32[Ja+4]=St,this.uint16[Aa+10]=Nt,this.uint16[Aa+11]=sr,this.uint16[Aa+12]=Er,this.float32[Ja+7]=Fr,this.float32[Ja+8]=Xr,this.uint8[dn+36]=ni,this.uint8[dn+37]=gi,this.uint8[dn+38]=Zi,this.uint32[Ja+10]=aa,this.int16[Aa+22]=nn,D}}kr.prototype.bytesPerElement=48,Ta("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",kr);class Vr extends Oe{_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,$,he,Ee,je,We,ct,St,Nt,sr,Er,Fr,Xr,ni,gi,Zi,aa,nn,Aa,Ja,dn,no,Zo,Ds,Fo,Jn,_s,ls){let is=this.length;return this.resize(is+1),this.emplace(is,D,$,he,Ee,je,We,ct,St,Nt,sr,Er,Fr,Xr,ni,gi,Zi,aa,nn,Aa,Ja,dn,no,Zo,Ds,Fo,Jn,_s,ls)}emplace(D,$,he,Ee,je,We,ct,St,Nt,sr,Er,Fr,Xr,ni,gi,Zi,aa,nn,Aa,Ja,dn,no,Zo,Ds,Fo,Jn,_s,ls,is){let Nn=32*D,Ts=16*D;return this.int16[Nn+0]=$,this.int16[Nn+1]=he,this.int16[Nn+2]=Ee,this.int16[Nn+3]=je,this.int16[Nn+4]=We,this.int16[Nn+5]=ct,this.int16[Nn+6]=St,this.int16[Nn+7]=Nt,this.uint16[Nn+8]=sr,this.uint16[Nn+9]=Er,this.uint16[Nn+10]=Fr,this.uint16[Nn+11]=Xr,this.uint16[Nn+12]=ni,this.uint16[Nn+13]=gi,this.uint16[Nn+14]=Zi,this.uint16[Nn+15]=aa,this.uint16[Nn+16]=nn,this.uint16[Nn+17]=Aa,this.uint16[Nn+18]=Ja,this.uint16[Nn+19]=dn,this.uint16[Nn+20]=no,this.uint16[Nn+21]=Zo,this.uint16[Nn+22]=Ds,this.uint32[Ts+12]=Fo,this.float32[Ts+13]=Jn,this.float32[Ts+14]=_s,this.uint16[Nn+30]=ls,this.uint16[Nn+31]=is,D}}Vr.prototype.bytesPerElement=64,Ta("StructArrayLayout8i15ui1ul2f2ui64",Vr);class Qr extends Oe{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(D){let $=this.length;return this.resize($+1),this.emplace($,D)}emplace(D,$){return this.float32[1*D+0]=$,D}}Qr.prototype.bytesPerElement=4,Ta("StructArrayLayout1f4",Qr);class _i extends Oe{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(D,$,he){let Ee=this.length;return this.resize(Ee+1),this.emplace(Ee,D,$,he)}emplace(D,$,he,Ee){let je=3*D;return this.uint16[6*D+0]=$,this.float32[je+1]=he,this.float32[je+2]=Ee,D}}_i.prototype.bytesPerElement=12,Ta("StructArrayLayout1ui2f12",_i);class Pi extends Oe{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(D,$,he){let Ee=this.length;return this.resize(Ee+1),this.emplace(Ee,D,$,he)}emplace(D,$,he,Ee){let je=4*D;return this.uint32[2*D+0]=$,this.uint16[je+2]=he,this.uint16[je+3]=Ee,D}}Pi.prototype.bytesPerElement=8,Ta("StructArrayLayout1ul2ui8",Pi);class qi extends Oe{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(D,$){let he=this.length;return this.resize(he+1),this.emplace(he,D,$)}emplace(D,$,he){let Ee=2*D;return this.uint16[Ee+0]=$,this.uint16[Ee+1]=he,D}}qi.prototype.bytesPerElement=4,Ta("StructArrayLayout2ui4",qi);class ga extends Oe{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(D){let $=this.length;return this.resize($+1),this.emplace($,D)}emplace(D,$){return this.uint16[1*D+0]=$,D}}ga.prototype.bytesPerElement=2,Ta("StructArrayLayout1ui2",ga);class Qa extends Oe{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(D,$,he,Ee){let je=this.length;return this.resize(je+1),this.emplace(je,D,$,he,Ee)}emplace(D,$,he,Ee,je){let We=4*D;return this.float32[We+0]=$,this.float32[We+1]=he,this.float32[We+2]=Ee,this.float32[We+3]=je,D}}Qa.prototype.bytesPerElement=16,Ta("StructArrayLayout4f16",Qa);class $a extends Te{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)}}$a.prototype.size=20;class yn extends Ct{get(D){return new $a(this,D)}}Ta("CollisionBoxArray",yn);class qn extends Te{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]}}qn.prototype.size=48;class po extends kr{get(D){return new qn(this,D)}}Ta("PlacedSymbolArray",po);class to extends Te{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]}}to.prototype.size=64;class Vo extends Vr{get(D){return new to(this,D)}}Ta("SymbolInstanceArray",Vo);class bs extends Qr{getoffsetX(D){return this.float32[1*D+0]}}Ta("GlyphOffsetArray",bs);class Ho extends Qt{getx(D){return this.int16[3*D+0]}gety(D){return this.int16[3*D+1]}gettileUnitDistanceFromAnchor(D){return this.int16[3*D+2]}}Ta("SymbolLineVertexArray",Ho);class ds extends Te{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]}}ds.prototype.size=12;class Is extends _i{get(D){return new ds(this,D)}}Ta("TextAnchorOffsetArray",Is);class Tl extends Te{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]}}Tl.prototype.size=8;class dl extends Pi{get(D){return new Tl(this,D)}}Ta("FeatureIndexArray",dl);class ms extends Ot{}class gs extends Ot{}class ql extends Ot{}class uu extends Sr{}class Uu extends Kr{}class Su extends oi{}class Fl extends Ge{}class yu extends Ze{}class dc extends ot{}class Ql extends dt{}class eu extends wt{}class de extends fr{}class Fe extends _r{}class Je extends qi{}let vt=ht([{name:"a_pos",components:2,type:"Int16"}],4),{members:_t}=vt;class At{constructor(D=[]){this.segments=D}prepareSegment(D,$,he,Ee){let je=this.segments[this.segments.length-1];return D>At.MAX_VERTEX_ARRAY_LENGTH&&f(`Max vertices per segment is ${At.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${D}`),(!je||je.vertexLength+D>At.MAX_VERTEX_ARRAY_LENGTH||je.sortKey!==Ee)&&(je={vertexOffset:$.length,primitiveOffset:he.length,vertexLength:0,primitiveLength:0},Ee!==void 0&&(je.sortKey=Ee),this.segments.push(je)),je}get(){return this.segments}destroy(){for(let D of this.segments)for(let $ in D.vaos)D.vaos[$].destroy()}static simpleSegment(D,$,he,Ee){return new At([{vertexOffset:D,primitiveOffset:$,vertexLength:he,primitiveLength:Ee,vaos:{},sortKey:0}])}}function ar(W,D){return 256*(W=w(Math.floor(W),0,255))+w(Math.floor(D),0,255)}At.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Ta("SegmentVector",At);let Ft=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 xr={exports:{}},Gr={exports:{}};Gr.exports=function(W,D){var $,he,Ee,je,We,ct,St,Nt;for(he=W.length-($=3&W.length),Ee=D,We=3432918353,ct=461845907,Nt=0;Nt>>16)*We&65535)<<16)&4294967295)<<15|St>>>17))*ct+(((St>>>16)*ct&65535)<<16)&4294967295)<<13|Ee>>>19))+((5*(Ee>>>16)&65535)<<16)&4294967295))+((58964+(je>>>16)&65535)<<16);switch(St=0,$){case 3:St^=(255&W.charCodeAt(Nt+2))<<16;case 2:St^=(255&W.charCodeAt(Nt+1))<<8;case 1:Ee^=St=(65535&(St=(St=(65535&(St^=255&W.charCodeAt(Nt)))*We+(((St>>>16)*We&65535)<<16)&4294967295)<<15|St>>>17))*ct+(((St>>>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 Yr=Gr.exports,Ei={exports:{}};Ei.exports=function(W,D){for(var $,he=W.length,Ee=D^he,je=0;he>=4;)$=1540483477*(65535&($=255&W.charCodeAt(je)|(255&W.charCodeAt(++je))<<8|(255&W.charCodeAt(++je))<<16|(255&W.charCodeAt(++je))<<24))+((1540483477*($>>>16)&65535)<<16),Ee=1540483477*(65535&Ee)+((1540483477*(Ee>>>16)&65535)<<16)^($=1540483477*(65535&($^=$>>>24))+((1540483477*($>>>16)&65535)<<16)),he-=4,++je;switch(he){case 3:Ee^=(255&W.charCodeAt(je+2))<<16;case 2:Ee^=(255&W.charCodeAt(je+1))<<8;case 1:Ee=1540483477*(65535&(Ee^=255&W.charCodeAt(je)))+((1540483477*(Ee>>>16)&65535)<<16)}return Ee=1540483477*(65535&(Ee^=Ee>>>13))+((1540483477*(Ee>>>16)&65535)<<16),(Ee^=Ee>>>15)>>>0};var xi=Yr,na=Ei.exports;xr.exports=xi,xr.exports.murmur3=xi,xr.exports.murmur2=na;var ua=r(xr.exports);class Di{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(D,$,he,Ee){this.ids.push(Hi(D)),this.positions.push($,he,Ee)}getPositions(D){if(!this.indexed)throw new Error("Trying to get index, but feature positions are not indexed");let $=Hi(D),he=0,Ee=this.ids.length-1;for(;he>1;this.ids[We]>=$?Ee=We:he=We+1}let je=[];for(;this.ids[he]===$;)je.push({index:this.positions[3*he],start:this.positions[3*he+1],end:this.positions[3*he+2]}),he++;return je}static serialize(D,$){let he=new Float64Array(D.ids),Ee=new Uint32Array(D.positions);return ta(he,Ee,0,he.length-1),$&&$.push(he.buffer,Ee.buffer),{ids:he,positions:Ee}}static deserialize(D){let $=new Di;return $.ids=D.ids,$.positions=D.positions,$.indexed=!0,$}}function Hi(W){let D=+W;return!isNaN(D)&&D<=Number.MAX_SAFE_INTEGER?D:ua(String(W))}function ta(W,D,$,he){for(;$>1],je=$-1,We=he+1;for(;;){do je++;while(W[je]Ee);if(je>=We)break;ya(W,je,We),ya(D,3*je,3*We),ya(D,3*je+1,3*We+1),ya(D,3*je+2,3*We+2)}We-$`u_${Ee}`),this.type=he}setUniform(D,$,he){D.set(he.constantOr(this.value))}getBinding(D,$,he){return this.type==="color"?new mn(D,$):new Oi(D,$)}}class bo{constructor(D,$){this.uniformNames=$.map(he=>`u_${he}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(D,$){this.pixelRatioFrom=$.pixelRatio,this.pixelRatioTo=D.pixelRatio,this.patternFrom=$.tlbr,this.patternTo=D.tlbr}setUniform(D,$,he,Ee){let je=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;je&&D.set(je)}getBinding(D,$,he){return he.substr(0,9)==="u_pattern"?new xn(D,$):new Oi(D,$)}}class vs{constructor(D,$,he,Ee){this.expression=D,this.type=he,this.maxValue=0,this.paintVertexAttributes=$.map(je=>({name:`a_${je}`,type:"Float32",components:he==="color"?2:1,offset:0})),this.paintVertexArray=new Ee}populatePaintArray(D,$,he,Ee,je){let We=this.paintVertexArray.length,ct=this.expression.evaluate(new Zs(0),$,{},Ee,[],je);this.paintVertexArray.resize(D),this._setPaintValue(We,D,ct)}updatePaintArray(D,$,he,Ee){let je=this.expression.evaluate({zoom:0},he,Ee);this._setPaintValue(D,$,je)}_setPaintValue(D,$,he){if(this.type==="color"){let Ee=Yn(he);for(let je=D;je<$;je++)this.paintVertexArray.emplace(je,Ee[0],Ee[1])}else{for(let Ee=D;Ee<$;Ee++)this.paintVertexArray.emplace(Ee,he);this.maxValue=Math.max(this.maxValue,Math.abs(he))}}upload(D){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=D.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}}class To{constructor(D,$,he,Ee,je,We){this.expression=D,this.uniformNames=$.map(ct=>`u_${ct}_t`),this.type=he,this.useIntegerZoom=Ee,this.zoom=je,this.maxValue=0,this.paintVertexAttributes=$.map(ct=>({name:`a_${ct}`,type:"Float32",components:he==="color"?4:2,offset:0})),this.paintVertexArray=new We}populatePaintArray(D,$,he,Ee,je){let We=this.expression.evaluate(new Zs(this.zoom),$,{},Ee,[],je),ct=this.expression.evaluate(new Zs(this.zoom+1),$,{},Ee,[],je),St=this.paintVertexArray.length;this.paintVertexArray.resize(D),this._setPaintValue(St,D,We,ct)}updatePaintArray(D,$,he,Ee){let je=this.expression.evaluate({zoom:this.zoom},he,Ee),We=this.expression.evaluate({zoom:this.zoom+1},he,Ee);this._setPaintValue(D,$,je,We)}_setPaintValue(D,$,he,Ee){if(this.type==="color"){let je=Yn(he),We=Yn(Ee);for(let ct=D;ct<$;ct++)this.paintVertexArray.emplace(ct,je[0],je[1],We[0],We[1])}else{for(let je=D;je<$;je++)this.paintVertexArray.emplace(je,he,Ee);this.maxValue=Math.max(this.maxValue,Math.abs(he),Math.abs(Ee))}}upload(D){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=D.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}setUniform(D,$){let he=this.useIntegerZoom?Math.floor($.zoom):$.zoom,Ee=w(this.expression.interpolationFactor(he,this.zoom,this.zoom+1),0,1);D.set(Ee)}getBinding(D,$,he){return new Oi(D,$)}}class cs{constructor(D,$,he,Ee,je,We){this.expression=D,this.type=$,this.useIntegerZoom=he,this.zoom=Ee,this.layerId=We,this.zoomInPaintVertexArray=new je,this.zoomOutPaintVertexArray=new je}populatePaintArray(D,$,he){let Ee=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(D),this.zoomOutPaintVertexArray.resize(D),this._setPaintValues(Ee,D,$.patterns&&$.patterns[this.layerId],he)}updatePaintArray(D,$,he,Ee,je){this._setPaintValues(D,$,he.patterns&&he.patterns[this.layerId],je)}_setPaintValues(D,$,he,Ee){if(!Ee||!he)return;let{min:je,mid:We,max:ct}=he,St=Ee[je],Nt=Ee[We],sr=Ee[ct];if(St&&Nt&&sr)for(let Er=D;Er<$;Er++)this.zoomInPaintVertexArray.emplace(Er,Nt.tl[0],Nt.tl[1],Nt.br[0],Nt.br[1],St.tl[0],St.tl[1],St.br[0],St.br[1],Nt.pixelRatio,St.pixelRatio),this.zoomOutPaintVertexArray.emplace(Er,Nt.tl[0],Nt.tl[1],Nt.br[0],Nt.br[1],sr.tl[0],sr.tl[1],sr.br[0],sr.br[1],Nt.pixelRatio,sr.pixelRatio)}upload(D){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=D.createVertexBuffer(this.zoomInPaintVertexArray,Ft.members,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=D.createVertexBuffer(this.zoomOutPaintVertexArray,Ft.members,this.expression.isStateDependent))}destroy(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()}}class Al{constructor(D,$,he){this.binders={},this._buffers=[];let Ee=[];for(let je in D.paint._values){if(!he(je))continue;let We=D.paint.get(je);if(!(We instanceof Pu&&lu(We.property.specification)))continue;let ct=Pl(je,D.type),St=We.value,Nt=We.property.specification.type,sr=We.property.useIntegerZoom,Er=We.property.specification["property-type"],Fr=Er==="cross-faded"||Er==="cross-faded-data-driven";if(St.kind==="constant")this.binders[je]=Fr?new bo(St.value,ct):new mo(St.value,ct,Nt),Ee.push(`/u_${je}`);else if(St.kind==="source"||Fr){let Xr=Dn(je,Nt,"source");this.binders[je]=Fr?new cs(St,Nt,sr,$,Xr,D.id):new vs(St,ct,Nt,Xr),Ee.push(`/a_${je}`)}else{let Xr=Dn(je,Nt,"composite");this.binders[je]=new To(St,ct,Nt,sr,$,Xr),Ee.push(`/z_${je}`)}}this.cacheKey=Ee.sort().join("")}getMaxValue(D){let $=this.binders[D];return $ instanceof vs||$ instanceof To?$.maxValue:0}populatePaintArrays(D,$,he,Ee,je){for(let We in this.binders){let ct=this.binders[We];(ct instanceof vs||ct instanceof To||ct instanceof cs)&&ct.populatePaintArray(D,$,he,Ee,je)}}setConstantPatternPositions(D,$){for(let he in this.binders){let Ee=this.binders[he];Ee instanceof bo&&Ee.setConstantPatternPositions(D,$)}}updatePaintArrays(D,$,he,Ee,je){let We=!1;for(let ct in D){let St=$.getPositions(ct);for(let Nt of St){let sr=he.feature(Nt.index);for(let Er in this.binders){let Fr=this.binders[Er];if((Fr instanceof vs||Fr instanceof To||Fr instanceof cs)&&Fr.expression.isStateDependent===!0){let Xr=Ee.paint.get(Er);Fr.expression=Xr.value,Fr.updatePaintArray(Nt.start,Nt.end,sr,D[ct],je),We=!0}}}}return We}defines(){let D=[];for(let $ in this.binders){let he=this.binders[$];(he instanceof mo||he instanceof bo)&&D.push(...he.uniformNames.map(Ee=>`#define HAS_UNIFORM_${Ee}`))}return D}getBinderAttributes(){let D=[];for(let $ in this.binders){let he=this.binders[$];if(he instanceof vs||he instanceof To)for(let Ee=0;Ee!0){this.programConfigurations={};for(let Ee of D)this.programConfigurations[Ee.id]=new Al(Ee,$,he);this.needsUpload=!1,this._featureMap=new Di,this._bufferOffset=0}populatePaintArrays(D,$,he,Ee,je,We){for(let ct in this.programConfigurations)this.programConfigurations[ct].populatePaintArrays(D,$,Ee,je,We);$.id!==void 0&&this._featureMap.add($.id,he,this._bufferOffset,D),this._bufferOffset=D,this.needsUpload=!0}updatePaintArrays(D,$,he,Ee){for(let je of he)this.needsUpload=this.programConfigurations[je.id].updatePaintArrays(D,this._featureMap,$,je,Ee)||this.needsUpload}get(D){return this.programConfigurations[D]}upload(D){if(this.needsUpload){for(let $ in this.programConfigurations)this.programConfigurations[$].upload(D);this.needsUpload=!1}}destroy(){for(let D in this.programConfigurations)this.programConfigurations[D].destroy()}}function Pl(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 Dn(W,D,$){let he={color:{source:oi,composite:Qa},number:{source:Qr,composite:oi}},Ee=function(je){return{"line-pattern":{source:Fl,composite:Fl},"fill-pattern":{source:Fl,composite:Fl},"fill-extrusion-pattern":{source:Fl,composite:Fl}}[je]}(W);return Ee&&Ee[$]||he[D][$]}Ta("ConstantBinder",mo),Ta("CrossFadedConstantBinder",bo),Ta("SourceExpressionBinder",vs),Ta("CrossFadedCompositeBinder",cs),Ta("CompositeExpressionBinder",To),Ta("ProgramConfiguration",Al,{omit:["_buffers"]}),Ta("ProgramConfigurationSet",ml);let zo=8192,ks=Math.pow(2,14)-1,Rs=-ks-1;function Bl(W){let D=zo/W.extent,$=W.loadGeometry();for(let he=0;he<$.length;he++){let Ee=$[he];for(let je=0;jeWe.x+1||StWe.y+1)&&f("Geometry exceeds allowed extent, reduce your vector tile buffer size")}}return $}function tu(W,D){return{type:W.type,id:W.id,properties:W.properties,geometry:D?Bl(W):[]}}function Ru(W,D,$,he,Ee){W.emplaceBack(2*D+(he+1)/2,2*$+(Ee+1)/2)}class Hl{constructor(D){this.zoom=D.zoom,this.overscaling=D.overscaling,this.layers=D.layers,this.layerIds=this.layers.map($=>$.id),this.index=D.index,this.hasPattern=!1,this.layoutVertexArray=new gs,this.indexArray=new Fe,this.segments=new At,this.programConfigurations=new ml(D.layers,D.zoom),this.stateDependentLayerIds=this.layers.filter($=>$.isStateDependent()).map($=>$.id)}populate(D,$,he){let Ee=this.layers[0],je=[],We=null,ct=!1;Ee.type==="circle"&&(We=Ee.layout.get("circle-sort-key"),ct=!We.isConstant());for(let{feature:St,id:Nt,index:sr,sourceLayerIndex:Er}of D){let Fr=this.layers[0]._featureFilter.needGeometry,Xr=tu(St,Fr);if(!this.layers[0]._featureFilter.filter(new Zs(this.zoom),Xr,he))continue;let ni=ct?We.evaluate(Xr,{},he):void 0,gi={id:Nt,properties:St.properties,type:St.type,sourceLayerIndex:Er,index:sr,geometry:Fr?Xr.geometry:Bl(St),patterns:{},sortKey:ni};je.push(gi)}ct&&je.sort((St,Nt)=>St.sortKey-Nt.sortKey);for(let St of je){let{geometry:Nt,index:sr,sourceLayerIndex:Er}=St,Fr=D[sr].feature;this.addFeature(St,Nt,sr,he),$.featureIndex.insert(Fr,Nt,sr,Er,this.index)}}update(D,$,he){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(D,$,this.stateDependentLayers,he)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(D){this.uploaded||(this.layoutVertexBuffer=D.createVertexBuffer(this.layoutVertexArray,_t),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,$,he,Ee){for(let je of $)for(let We of je){let ct=We.x,St=We.y;if(ct<0||ct>=zo||St<0||St>=zo)continue;let Nt=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,D.sortKey),sr=Nt.vertexLength;Ru(this.layoutVertexArray,ct,St,-1,-1),Ru(this.layoutVertexArray,ct,St,1,-1),Ru(this.layoutVertexArray,ct,St,1,1),Ru(this.layoutVertexArray,ct,St,-1,1),this.indexArray.emplaceBack(sr,sr+1,sr+2),this.indexArray.emplaceBack(sr,sr+3,sr+2),Nt.vertexLength+=4,Nt.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,D,he,{},Ee)}}function Tc(W,D){for(let $=0;$1){if(li(W,D))return!0;for(let he=0;he1?$:$.sub(D)._mult(Ee)._add(D))}function ia(W,D){let $,he,Ee,je=!1;for(let We=0;WeD.y!=Ee.y>D.y&&D.x<(Ee.x-he.x)*(D.y-he.y)/(Ee.y-he.y)+he.x&&(je=!je)}return je}function ka(W,D){let $=!1;for(let he=0,Ee=W.length-1;heD.y!=We.y>D.y&&D.x<(We.x-je.x)*(D.y-je.y)/(We.y-je.y)+je.x&&($=!$)}return $}function Sa(W,D,$){let he=$[0],Ee=$[2];if(W.xEe.x&&D.x>Ee.x||W.yEe.y&&D.y>Ee.y)return!1;let je=R(W,D,$[0]);return je!==R(W,D,$[1])||je!==R(W,D,$[2])||je!==R(W,D,$[3])}function va(W,D,$){let he=D.paint.get(W).value;return he.kind==="constant"?he.value:$.programConfigurations.get(D.id).getMaxValue(W)}function Fn(W){return Math.sqrt(W[0]*W[0]+W[1]*W[1])}function Ha(W,D,$,he,Ee){if(!D[0]&&!D[1])return W;let je=n.convert(D)._mult(Ee);$==="viewport"&&je._rotate(-he);let We=[];for(let ct=0;ctYi(Zi,gi))}(Nt,St),Xr=Er?sr*ct:sr;for(let ni of Ee)for(let gi of ni){let Zi=Er?gi:Yi(gi,St),aa=Xr,nn=kn([],[gi.x,gi.y,0,1],St);if(this.paint.get("circle-pitch-scale")==="viewport"&&this.paint.get("circle-pitch-alignment")==="map"?aa*=nn[3]/We.cameraToCenterDistance:this.paint.get("circle-pitch-scale")==="map"&&this.paint.get("circle-pitch-alignment")==="viewport"&&(aa*=We.cameraToCenterDistance/nn[3]),rt(Fr,Zi,aa))return!0}return!1}}function Yi(W,D){let $=kn([],[W.x,W.y,0,1],D);return new n($[0]/$[3],$[1]/$[3])}class ln extends Hl{}let Va;Ta("HeatmapBucket",ln,{omit:["layers"]});var La={get paint(){return Va=Va||new Ue({"heatmap-radius":new es(re.paint_heatmap["heatmap-radius"]),"heatmap-weight":new es(re.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new Po(re.paint_heatmap["heatmap-intensity"]),"heatmap-color":new rc(re.paint_heatmap["heatmap-color"]),"heatmap-opacity":new Po(re.paint_heatmap["heatmap-opacity"])})}};function Ea(W,{width:D,height:$},he,Ee){if(Ee){if(Ee instanceof Uint8ClampedArray)Ee=new Uint8Array(Ee.buffer);else if(Ee.length!==D*$*he)throw new RangeError(`mismatched image size. expected: ${Ee.length} but got: ${D*$*he}`)}else Ee=new Uint8Array(D*$*he);return W.width=D,W.height=$,W.data=Ee,W}function on(W,{width:D,height:$},he){if(D===W.width&&$===W.height)return;let Ee=Ea({},{width:D,height:$},he);Pn(W,Ee,{x:0,y:0},{x:0,y:0},{width:Math.min(W.width,D),height:Math.min(W.height,$)},he),W.width=D,W.height=$,W.data=Ee.data}function Pn(W,D,$,he,Ee,je){if(Ee.width===0||Ee.height===0)return D;if(Ee.width>W.width||Ee.height>W.height||$.x>W.width-Ee.width||$.y>W.height-Ee.height)throw new RangeError("out of range source coordinates for image copy");if(Ee.width>D.width||Ee.height>D.height||he.x>D.width-Ee.width||he.y>D.height-Ee.height)throw new RangeError("out of range destination coordinates for image copy");let We=W.data,ct=D.data;if(We===ct)throw new Error("srcData equals dstData, so image is already copied");for(let St=0;St{D[W.evaluationKey]=St;let Nt=W.expression.evaluate(D);Ee.data[We+ct+0]=Math.floor(255*Nt.r/Nt.a),Ee.data[We+ct+1]=Math.floor(255*Nt.g/Nt.a),Ee.data[We+ct+2]=Math.floor(255*Nt.b/Nt.a),Ee.data[We+ct+3]=Math.floor(255*Nt.a)};if(W.clips)for(let We=0,ct=0;We80*$){ct=1/0,St=1/0;let sr=-1/0,Er=-1/0;for(let Fr=$;Frsr&&(sr=Xr),ni>Er&&(Er=ni)}Nt=Math.max(sr-ct,Er-St),Nt=Nt!==0?32767/Nt:0}return cu(je,We,$,ct,St,Nt,0),We}function Ol(W,D,$,he,Ee){let je;if(Ee===function(We,ct,St,Nt){let sr=0;for(let Er=ct,Fr=St-Nt;Er0)for(let We=D;We<$;We+=he)je=vr(We/he|0,W[We],W[We+1],je);else for(let We=$-he;We>=D;We-=he)je=vr(We/he|0,W[We],W[We+1],je);return je&&Ce(je,je.next)&&(mt(je),je=je.next),je}function Ul(W,D){if(!W)return W;D||(D=W);let $,he=W;do if($=!1,he.steiner||!Ce(he,he.next)&&He(he.prev,he,he.next)!==0)he=he.next;else{if(mt(he),he=D=he.prev,he===he.next)break;$=!0}while($||he!==D);return D}function cu(W,D,$,he,Ee,je,We){if(!W)return;!We&&je&&function(St,Nt,sr,Er){let Fr=St;do Fr.z===0&&(Fr.z=K(Fr.x,Fr.y,Nt,sr,Er)),Fr.prevZ=Fr.prev,Fr.nextZ=Fr.next,Fr=Fr.next;while(Fr!==St);Fr.prevZ.nextZ=null,Fr.prevZ=null,function(Xr){let ni,gi=1;do{let Zi,aa=Xr;Xr=null;let nn=null;for(ni=0;aa;){ni++;let Aa=aa,Ja=0;for(let no=0;no0||dn>0&&Aa;)Ja!==0&&(dn===0||!Aa||aa.z<=Aa.z)?(Zi=aa,aa=aa.nextZ,Ja--):(Zi=Aa,Aa=Aa.nextZ,dn--),nn?nn.nextZ=Zi:Xr=Zi,Zi.prevZ=nn,nn=Zi;aa=Aa}nn.nextZ=null,gi*=2}while(ni>1)}(Fr)}(W,he,Ee,je);let ct=W;for(;W.prev!==W.next;){let St=W.prev,Nt=W.next;if(je?El(W,he,Ee,je):il(W))D.push(St.i,W.i,Nt.i),mt(W),W=Nt.next,ct=Nt.next;else if((W=Nt)===ct){We?We===1?cu(W=Dl(Ul(W),D),D,$,he,Ee,je,2):We===2&&ho(W,D,$,he,Ee,je):cu(Ul(W),D,$,he,Ee,je,1);break}}}function il(W){let D=W.prev,$=W,he=W.next;if(He(D,$,he)>=0)return!1;let Ee=D.x,je=$.x,We=he.x,ct=D.y,St=$.y,Nt=he.y,sr=Eeje?Ee>We?Ee:We:je>We?je:We,Xr=ct>St?ct>Nt?ct:Nt:St>Nt?St:Nt,ni=he.next;for(;ni!==D;){if(ni.x>=sr&&ni.x<=Fr&&ni.y>=Er&&ni.y<=Xr&&te(Ee,ct,je,St,We,Nt,ni.x,ni.y)&&He(ni.prev,ni,ni.next)>=0)return!1;ni=ni.next}return!0}function El(W,D,$,he){let Ee=W.prev,je=W,We=W.next;if(He(Ee,je,We)>=0)return!1;let ct=Ee.x,St=je.x,Nt=We.x,sr=Ee.y,Er=je.y,Fr=We.y,Xr=ctSt?ct>Nt?ct:Nt:St>Nt?St:Nt,Zi=sr>Er?sr>Fr?sr:Fr:Er>Fr?Er:Fr,aa=K(Xr,ni,D,$,he),nn=K(gi,Zi,D,$,he),Aa=W.prevZ,Ja=W.nextZ;for(;Aa&&Aa.z>=aa&&Ja&&Ja.z<=nn;){if(Aa.x>=Xr&&Aa.x<=gi&&Aa.y>=ni&&Aa.y<=Zi&&Aa!==Ee&&Aa!==We&&te(ct,sr,St,Er,Nt,Fr,Aa.x,Aa.y)&&He(Aa.prev,Aa,Aa.next)>=0||(Aa=Aa.prevZ,Ja.x>=Xr&&Ja.x<=gi&&Ja.y>=ni&&Ja.y<=Zi&&Ja!==Ee&&Ja!==We&&te(ct,sr,St,Er,Nt,Fr,Ja.x,Ja.y)&&He(Ja.prev,Ja,Ja.next)>=0))return!1;Ja=Ja.nextZ}for(;Aa&&Aa.z>=aa;){if(Aa.x>=Xr&&Aa.x<=gi&&Aa.y>=ni&&Aa.y<=Zi&&Aa!==Ee&&Aa!==We&&te(ct,sr,St,Er,Nt,Fr,Aa.x,Aa.y)&&He(Aa.prev,Aa,Aa.next)>=0)return!1;Aa=Aa.prevZ}for(;Ja&&Ja.z<=nn;){if(Ja.x>=Xr&&Ja.x<=gi&&Ja.y>=ni&&Ja.y<=Zi&&Ja!==Ee&&Ja!==We&&te(ct,sr,St,Er,Nt,Fr,Ja.x,Ja.y)&&He(Ja.prev,Ja,Ja.next)>=0)return!1;Ja=Ja.nextZ}return!0}function Dl(W,D){let $=W;do{let he=$.prev,Ee=$.next.next;!Ce(he,Ee)&&Ke(he,$,$.next,Ee)&&Tr(he,Ee)&&Tr(Ee,he)&&(D.push(he.i,$.i,Ee.i),mt($),mt($.next),$=W=Ee),$=$.next}while($!==W);return Ul($)}function ho(W,D,$,he,Ee,je){let We=W;do{let ct=We.next.next;for(;ct!==We.prev;){if(We.i!==ct.i&&pe(We,ct)){let St=Ur(We,ct);return We=Ul(We,We.next),St=Ul(St,St.next),cu(We,D,$,he,Ee,je,0),void cu(St,D,$,he,Ee,je,0)}ct=ct.next}We=We.next}while(We!==W)}function jl(W,D){return W.x-D.x}function $o(W,D){let $=function(Ee,je){let We=je,ct=Ee.x,St=Ee.y,Nt,sr=-1/0;do{if(St<=We.y&&St>=We.next.y&&We.next.y!==We.y){let gi=We.x+(St-We.y)*(We.next.x-We.x)/(We.next.y-We.y);if(gi<=ct&&gi>sr&&(sr=gi,Nt=We.x=We.x&&We.x>=Fr&&ct!==We.x&&te(StNt.x||We.x===Nt.x&&ve(Nt,We)))&&(Nt=We,ni=gi)}We=We.next}while(We!==Er);return Nt}(W,D);if(!$)return D;let he=Ur($,W);return Ul(he,he.next),Ul($,$.next)}function ve(W,D){return He(W.prev,W,D.prev)<0&&He(D.next,W,W.next)<0}function K(W,D,$,he,Ee){return(W=1431655765&((W=858993459&((W=252645135&((W=16711935&((W=(W-$)*Ee|0)|W<<8))|W<<4))|W<<2))|W<<1))|(D=1431655765&((D=858993459&((D=252645135&((D=16711935&((D=(D-he)*Ee|0)|D<<8))|D<<4))|D<<2))|D<<1))<<1}function ge(W){let D=W,$=W;do(D.x<$.x||D.x===$.x&&D.y<$.y)&&($=D),D=D.next;while(D!==W);return $}function te(W,D,$,he,Ee,je,We,ct){return(Ee-We)*(D-ct)>=(W-We)*(je-ct)&&(W-We)*(he-ct)>=($-We)*(D-ct)&&($-We)*(je-ct)>=(Ee-We)*(he-ct)}function pe(W,D){return W.next.i!==D.i&&W.prev.i!==D.i&&!function($,he){let Ee=$;do{if(Ee.i!==$.i&&Ee.next.i!==$.i&&Ee.i!==he.i&&Ee.next.i!==he.i&&Ke(Ee,Ee.next,$,he))return!0;Ee=Ee.next}while(Ee!==$);return!1}(W,D)&&(Tr(W,D)&&Tr(D,W)&&function($,he){let Ee=$,je=!1,We=($.x+he.x)/2,ct=($.y+he.y)/2;do Ee.y>ct!=Ee.next.y>ct&&Ee.next.y!==Ee.y&&We<(Ee.next.x-Ee.x)*(ct-Ee.y)/(Ee.next.y-Ee.y)+Ee.x&&(je=!je),Ee=Ee.next;while(Ee!==$);return je}(W,D)&&(He(W.prev,W,D.prev)||He(W,D.prev,D))||Ce(W,D)&&He(W.prev,W,W.next)>0&&He(D.prev,D,D.next)>0)}function He(W,D,$){return(D.y-W.y)*($.x-D.x)-(D.x-W.x)*($.y-D.y)}function Ce(W,D){return W.x===D.x&&W.y===D.y}function Ke(W,D,$,he){let Ee=Ut(He(W,D,$)),je=Ut(He(W,D,he)),We=Ut(He($,he,W)),ct=Ut(He($,he,D));return Ee!==je&&We!==ct||!(Ee!==0||!pt(W,$,D))||!(je!==0||!pt(W,he,D))||!(We!==0||!pt($,W,he))||!(ct!==0||!pt($,D,he))}function pt(W,D,$){return D.x<=Math.max(W.x,$.x)&&D.x>=Math.min(W.x,$.x)&&D.y<=Math.max(W.y,$.y)&&D.y>=Math.min(W.y,$.y)}function Ut(W){return W>0?1:W<0?-1:0}function Tr(W,D){return He(W.prev,W,W.next)<0?He(W,D,W.next)>=0&&He(W,W.prev,D)>=0:He(W,D,W.prev)<0||He(W,W.next,D)<0}function Ur(W,D){let $=Et(W.i,W.x,W.y),he=Et(D.i,D.x,D.y),Ee=W.next,je=D.prev;return W.next=D,D.prev=W,$.next=Ee,Ee.prev=$,he.next=$,$.prev=he,je.next=he,he.prev=je,he}function vr(W,D,$,he){let Ee=Et(W,D,$);return he?(Ee.next=he.next,Ee.prev=he,he.next.prev=Ee,he.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 Et(W,D,$){return{i:W,x:D,y:$,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function Bt(W,D,$){let he=$.patternDependencies,Ee=!1;for(let je of D){let We=je.paint.get(`${W}-pattern`);We.isConstant()||(Ee=!0);let ct=We.constantOr(null);ct&&(Ee=!0,he[ct.to]=!0,he[ct.from]=!0)}return Ee}function or(W,D,$,he,Ee){let je=Ee.patternDependencies;for(let We of D){let ct=We.paint.get(`${W}-pattern`).value;if(ct.kind!=="constant"){let St=ct.evaluate({zoom:he-1},$,{},Ee.availableImages),Nt=ct.evaluate({zoom:he},$,{},Ee.availableImages),sr=ct.evaluate({zoom:he+1},$,{},Ee.availableImages);St=St&&St.name?St.name:St,Nt=Nt&&Nt.name?Nt.name:Nt,sr=sr&&sr.name?sr.name:sr,je[St]=!0,je[Nt]=!0,je[sr]=!0,$.patterns[We.id]={min:St,mid:Nt,max:sr}}}return $}class dr{constructor(D){this.zoom=D.zoom,this.overscaling=D.overscaling,this.layers=D.layers,this.layerIds=this.layers.map($=>$.id),this.index=D.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ql,this.indexArray=new Fe,this.indexArray2=new Je,this.programConfigurations=new ml(D.layers,D.zoom),this.segments=new At,this.segments2=new At,this.stateDependentLayerIds=this.layers.filter($=>$.isStateDependent()).map($=>$.id)}populate(D,$,he){this.hasPattern=Bt("fill",this.layers,$);let Ee=this.layers[0].layout.get("fill-sort-key"),je=!Ee.isConstant(),We=[];for(let{feature:ct,id:St,index:Nt,sourceLayerIndex:sr}of D){let Er=this.layers[0]._featureFilter.needGeometry,Fr=tu(ct,Er);if(!this.layers[0]._featureFilter.filter(new Zs(this.zoom),Fr,he))continue;let Xr=je?Ee.evaluate(Fr,{},he,$.availableImages):void 0,ni={id:St,properties:ct.properties,type:ct.type,sourceLayerIndex:sr,index:Nt,geometry:Er?Fr.geometry:Bl(ct),patterns:{},sortKey:Xr};We.push(ni)}je&&We.sort((ct,St)=>ct.sortKey-St.sortKey);for(let ct of We){let{geometry:St,index:Nt,sourceLayerIndex:sr}=ct;if(this.hasPattern){let Er=or("fill",this.layers,ct,this.zoom,$);this.patternFeatures.push(Er)}else this.addFeature(ct,St,Nt,he,{});$.featureIndex.insert(D[Nt].feature,St,Nt,sr,this.index)}}update(D,$,he){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(D,$,this.stateDependentLayers,he)}addFeatures(D,$,he){for(let Ee of this.patternFeatures)this.addFeature(Ee,Ee.geometry,Ee.index,$,he)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(D){this.uploaded||(this.layoutVertexBuffer=D.createVertexBuffer(this.layoutVertexArray,ru),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,$,he,Ee,je){for(let We of kc($,500)){let ct=0;for(let Xr of We)ct+=Xr.length;let St=this.segments.prepareSegment(ct,this.layoutVertexArray,this.indexArray),Nt=St.vertexLength,sr=[],Er=[];for(let Xr of We){if(Xr.length===0)continue;Xr!==We[0]&&Er.push(sr.length/2);let ni=this.segments2.prepareSegment(Xr.length,this.layoutVertexArray,this.indexArray2),gi=ni.vertexLength;this.layoutVertexArray.emplaceBack(Xr[0].x,Xr[0].y),this.indexArray2.emplaceBack(gi+Xr.length-1,gi),sr.push(Xr[0].x),sr.push(Xr[0].y);for(let Zi=1;Zi>3}if(Ee--,he===1||he===2)je+=W.readSVarint(),We+=W.readSVarint(),he===1&&(D&&ct.push(D),D=[]),D.push(new Ai(je,We));else{if(he!==7)throw new Error("unknown command "+he);D&&D.push(D[0].clone())}}return D&&ct.push(D),ct},Ji.prototype.bbox=function(){var W=this._pbf;W.pos=this._geometry;for(var D=W.readVarint()+W.pos,$=1,he=0,Ee=0,je=0,We=1/0,ct=-1/0,St=1/0,Nt=-1/0;W.pos>3}if(he--,$===1||$===2)(Ee+=W.readSVarint())ct&&(ct=Ee),(je+=W.readSVarint())Nt&&(Nt=je);else if($!==7)throw new Error("unknown command "+$)}return[We,St,ct,Nt]},Ji.prototype.toGeoJSON=function(W,D,$){var he,Ee,je=this.extent*Math.pow(2,$),We=this.extent*W,ct=this.extent*D,St=this.loadGeometry(),Nt=Ji.types[this.type];function sr(Xr){for(var ni=0;ni>3;Ee=We===1?he.readString():We===2?he.readFloat():We===3?he.readDouble():We===4?he.readVarint64():We===5?he.readVarint():We===6?he.readSVarint():We===7?he.readBoolean():null}return Ee}($))}Ma.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 Ga(this._pbf,D,this.extent,this._keys,this._values)};var Ka=ma;function Sn(W,D,$){if(W===3){var he=new Ka($,$.readVarint()+$.pos);he.length&&(D[he.name]=he)}}$r.VectorTile=function(W,D){this.layers=W.readFields(Sn,{},D)},$r.VectorTileFeature=wa,$r.VectorTileLayer=ma;let No=$r.VectorTileFeature.types,os=Math.pow(2,13);function Xs(W,D,$,he,Ee,je,We,ct){W.emplaceBack(D,$,2*Math.floor(he*os)+We,Ee*os*2,je*os*2,Math.round(ct))}class ts{constructor(D){this.zoom=D.zoom,this.overscaling=D.overscaling,this.layers=D.layers,this.layerIds=this.layers.map($=>$.id),this.index=D.index,this.hasPattern=!1,this.layoutVertexArray=new uu,this.centroidVertexArray=new ms,this.indexArray=new Fe,this.programConfigurations=new ml(D.layers,D.zoom),this.segments=new At,this.stateDependentLayerIds=this.layers.filter($=>$.isStateDependent()).map($=>$.id)}populate(D,$,he){this.features=[],this.hasPattern=Bt("fill-extrusion",this.layers,$);for(let{feature:Ee,id:je,index:We,sourceLayerIndex:ct}of D){let St=this.layers[0]._featureFilter.needGeometry,Nt=tu(Ee,St);if(!this.layers[0]._featureFilter.filter(new Zs(this.zoom),Nt,he))continue;let sr={id:je,sourceLayerIndex:ct,index:We,geometry:St?Nt.geometry:Bl(Ee),properties:Ee.properties,type:Ee.type,patterns:{}};this.hasPattern?this.features.push(or("fill-extrusion",this.layers,sr,this.zoom,$)):this.addFeature(sr,sr.geometry,We,he,{}),$.featureIndex.insert(Ee,sr.geometry,We,ct,this.index,!0)}}addFeatures(D,$,he){for(let Ee of this.features){let{geometry:je}=Ee;this.addFeature(Ee,je,Ee.index,$,he)}}update(D,$,he){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(D,$,this.stateDependentLayers,he)}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,zr),this.centroidVertexBuffer=D.createVertexBuffer(this.centroidVertexArray,qt.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,$,he,Ee,je){for(let We of kc($,500)){let ct={x:0,y:0,vertexCount:0},St=0;for(let ni of We)St+=ni.length;let Nt=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(let ni of We){if(ni.length===0||ll(ni))continue;let gi=0;for(let Zi=0;Zi=1){let nn=ni[Zi-1];if(!Vs(aa,nn)){Nt.vertexLength+4>At.MAX_VERTEX_ARRAY_LENGTH&&(Nt=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let Aa=aa.sub(nn)._perp()._unit(),Ja=nn.dist(aa);gi+Ja>32768&&(gi=0),Xs(this.layoutVertexArray,aa.x,aa.y,Aa.x,Aa.y,0,0,gi),Xs(this.layoutVertexArray,aa.x,aa.y,Aa.x,Aa.y,0,1,gi),ct.x+=2*aa.x,ct.y+=2*aa.y,ct.vertexCount+=2,gi+=Ja,Xs(this.layoutVertexArray,nn.x,nn.y,Aa.x,Aa.y,0,0,gi),Xs(this.layoutVertexArray,nn.x,nn.y,Aa.x,Aa.y,0,1,gi),ct.x+=2*nn.x,ct.y+=2*nn.y,ct.vertexCount+=2;let dn=Nt.vertexLength;this.indexArray.emplaceBack(dn,dn+2,dn+1),this.indexArray.emplaceBack(dn+1,dn+2,dn+3),Nt.vertexLength+=4,Nt.primitiveLength+=2}}}}if(Nt.vertexLength+St>At.MAX_VERTEX_ARRAY_LENGTH&&(Nt=this.segments.prepareSegment(St,this.layoutVertexArray,this.indexArray)),No[D.type]!=="Polygon")continue;let sr=[],Er=[],Fr=Nt.vertexLength;for(let ni of We)if(ni.length!==0){ni!==We[0]&&Er.push(sr.length/2);for(let gi=0;gizo)||W.y===D.y&&(W.y<0||W.y>zo)}function ll(W){return W.every(D=>D.x<0)||W.every(D=>D.x>zo)||W.every(D=>D.y<0)||W.every(D=>D.y>zo)}let Mu;Ta("FillExtrusionBucket",ts,{omit:["layers","features"]});var rd={get paint(){return Mu=Mu||new Ue({"fill-extrusion-opacity":new Po(re["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new es(re["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new Po(re["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new Po(re["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new Nc(re["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new es(re["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new es(re["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new Po(re["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})}};class id extends ae{constructor(D){super(D,rd)}createBucket(D){return new ts(D)}queryRadius(){return Fn(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature(D,$,he,Ee,je,We,ct,St){let Nt=Ha(D,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),We.angle,ct),sr=this.paint.get("fill-extrusion-height").evaluate($,he),Er=this.paint.get("fill-extrusion-base").evaluate($,he),Fr=function(ni,gi,Zi,aa){let nn=[];for(let Aa of ni){let Ja=[Aa.x,Aa.y,0,1];kn(Ja,Ja,gi),nn.push(new n(Ja[0]/Ja[3],Ja[1]/Ja[3]))}return nn}(Nt,St),Xr=function(ni,gi,Zi,aa){let nn=[],Aa=[],Ja=aa[8]*gi,dn=aa[9]*gi,no=aa[10]*gi,Zo=aa[11]*gi,Ds=aa[8]*Zi,Fo=aa[9]*Zi,Jn=aa[10]*Zi,_s=aa[11]*Zi;for(let ls of ni){let is=[],Nn=[];for(let Ts of ls){let as=Ts.x,Ws=Ts.y,ic=aa[0]*as+aa[4]*Ws+aa[12],Yu=aa[1]*as+aa[5]*Ws+aa[13],Kf=aa[2]*as+aa[6]*Ws+aa[14],pd=aa[3]*as+aa[7]*Ws+aa[15],gh=Kf+no,$f=pd+Zo,Fh=ic+Ds,Bh=Yu+Fo,Oh=Kf+Jn,pf=pd+_s,Jf=new n((ic+Ja)/$f,(Yu+dn)/$f);Jf.z=gh/$f,is.push(Jf);let Sh=new n(Fh/pf,Bh/pf);Sh.z=Oh/pf,Nn.push(Sh)}nn.push(is),Aa.push(Nn)}return[nn,Aa]}(Ee,Er,sr,St);return function(ni,gi,Zi){let aa=1/0;Yt(Zi,gi)&&(aa=hd(Zi,gi[0]));for(let nn=0;nn$.id),this.index=D.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach($=>{this.gradients[$.id]={}}),this.layoutVertexArray=new Uu,this.layoutVertexArray2=new Su,this.indexArray=new Fe,this.programConfigurations=new ml(D.layers,D.zoom),this.segments=new At,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter($=>$.isStateDependent()).map($=>$.id)}populate(D,$,he){this.hasPattern=Bt("line",this.layers,$);let Ee=this.layers[0].layout.get("line-sort-key"),je=!Ee.isConstant(),We=[];for(let{feature:ct,id:St,index:Nt,sourceLayerIndex:sr}of D){let Er=this.layers[0]._featureFilter.needGeometry,Fr=tu(ct,Er);if(!this.layers[0]._featureFilter.filter(new Zs(this.zoom),Fr,he))continue;let Xr=je?Ee.evaluate(Fr,{},he):void 0,ni={id:St,properties:ct.properties,type:ct.type,sourceLayerIndex:sr,index:Nt,geometry:Er?Fr.geometry:Bl(ct),patterns:{},sortKey:Xr};We.push(ni)}je&&We.sort((ct,St)=>ct.sortKey-St.sortKey);for(let ct of We){let{geometry:St,index:Nt,sourceLayerIndex:sr}=ct;if(this.hasPattern){let Er=or("line",this.layers,ct,this.zoom,$);this.patternFeatures.push(Er)}else this.addFeature(ct,St,Nt,he,{});$.featureIndex.insert(D[Nt].feature,St,Nt,sr,this.index)}}update(D,$,he){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(D,$,this.stateDependentLayers,he)}addFeatures(D,$,he){for(let Ee of this.patternFeatures)this.addFeature(Ee,Ee.geometry,Ee.index,$,he)}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,Ed)),this.layoutVertexBuffer=D.createVertexBuffer(this.layoutVertexArray,Md),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,$,he,Ee,je){let We=this.layers[0].layout,ct=We.get("line-join").evaluate(D,{}),St=We.get("line-cap"),Nt=We.get("line-miter-limit"),sr=We.get("line-round-limit");this.lineClips=this.lineFeatureClips(D);for(let Er of $)this.addLine(Er,D,ct,St,Nt,sr);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,D,he,je,Ee)}addLine(D,$,he,Ee,je,We){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let aa=0;aa=2&&D[St-1].equals(D[St-2]);)St--;let Nt=0;for(;Nt0;if(Zo&&aa>Nt){let _s=Fr.dist(Xr);if(_s>2*sr){let ls=Fr.sub(Fr.sub(Xr)._mult(sr/_s)._round());this.updateDistance(Xr,ls),this.addCurrentVertex(ls,gi,0,0,Er),Xr=ls}}let Fo=Xr&&ni,Jn=Fo?he:ct?"butt":Ee;if(Fo&&Jn==="round"&&(dnje&&(Jn="bevel"),Jn==="bevel"&&(dn>2&&(Jn="flipbevel"),dn100)nn=Zi.mult(-1);else{let _s=dn*gi.add(Zi).mag()/gi.sub(Zi).mag();nn._perp()._mult(_s*(Ds?-1:1))}this.addCurrentVertex(Fr,nn,0,0,Er),this.addCurrentVertex(Fr,nn.mult(-1),0,0,Er)}else if(Jn==="bevel"||Jn==="fakeround"){let _s=-Math.sqrt(dn*dn-1),ls=Ds?_s:0,is=Ds?0:_s;if(Xr&&this.addCurrentVertex(Fr,gi,ls,is,Er),Jn==="fakeround"){let Nn=Math.round(180*no/Math.PI/20);for(let Ts=1;Ts2*sr){let ls=Fr.add(ni.sub(Fr)._mult(sr/_s)._round());this.updateDistance(Fr,ls),this.addCurrentVertex(ls,Zi,0,0,Er),Fr=ls}}}}addCurrentVertex(D,$,he,Ee,je,We=!1){let ct=$.y*Ee-$.x,St=-$.y-$.x*Ee;this.addHalfVertex(D,$.x+$.y*he,$.y-$.x*he,We,!1,he,je),this.addHalfVertex(D,ct,St,We,!0,-Ee,je),this.distance>ad/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(D,$,he,Ee,je,We))}addHalfVertex({x:D,y:$},he,Ee,je,We,ct,St){let Nt=.5*(this.lineClips?this.scaledDistance*(ad-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((D<<1)+(je?1:0),($<<1)+(We?1:0),Math.round(63*he)+128,Math.round(63*Ee)+128,1+(ct===0?0:ct<0?-1:1)|(63&Nt)<<2,Nt>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let sr=St.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,sr),St.primitiveLength++),We?this.e2=sr:this.e1=sr}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(D,$){this.distance+=D.dist($),this.updateScaledDistance()}}let nd,jv;Ta("LineBucket",dd,{omit:["layers","patternFeatures"]});var tv={get paint(){return jv=jv||new Ue({"line-opacity":new es(re.paint_line["line-opacity"]),"line-color":new es(re.paint_line["line-color"]),"line-translate":new Po(re.paint_line["line-translate"]),"line-translate-anchor":new Po(re.paint_line["line-translate-anchor"]),"line-width":new es(re.paint_line["line-width"]),"line-gap-width":new es(re.paint_line["line-gap-width"]),"line-offset":new es(re.paint_line["line-offset"]),"line-blur":new es(re.paint_line["line-blur"]),"line-dasharray":new hc(re.paint_line["line-dasharray"]),"line-pattern":new Nc(re.paint_line["line-pattern"]),"line-gradient":new rc(re.paint_line["line-gradient"])})},get layout(){return nd=nd||new Ue({"line-cap":new Po(re.layout_line["line-cap"]),"line-join":new es(re.layout_line["line-join"]),"line-miter-limit":new Po(re.layout_line["line-miter-limit"]),"line-round-limit":new Po(re.layout_line["line-round-limit"]),"line-sort-key":new es(re.layout_line["line-sort-key"])})}};class Uf extends es{possiblyEvaluate(D,$){return $=new Zs(Math.floor($.zoom),{now:$.now,fadeDuration:$.fadeDuration,zoomHistory:$.zoomHistory,transition:$.transition}),super.possiblyEvaluate(D,$)}evaluate(D,$,he,Ee){return $=M({},$,{zoom:Math.floor($.zoom)}),super.evaluate(D,$,he,Ee)}}let rv;class Vv extends ae{constructor(D){super(D,tv),this.gradientVersion=0,rv||(rv=new Uf(tv.paint.properties["line-width"].specification),rv.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(D){if(D==="line-gradient"){let $=this.gradientExpression();this.stepInterpolant=!!function(he){return he._styleExpression!==void 0}($)&&$._styleExpression.expression instanceof Li,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values["line-gradient"].value.expression}recalculate(D,$){super.recalculate(D,$),this.paint._values["line-floorwidth"]=rv.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,D)}createBucket(D){return new dd(D)}queryRadius(D){let $=D,he=oh(va("line-width",this,$),va("line-gap-width",this,$)),Ee=va("line-offset",this,$);return he/2+Math.abs(Ee)+Fn(this.paint.get("line-translate"))}queryIntersectsFeature(D,$,he,Ee,je,We,ct){let St=Ha(D,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),We.angle,ct),Nt=ct/2*oh(this.paint.get("line-width").evaluate($,he),this.paint.get("line-gap-width").evaluate($,he)),sr=this.paint.get("line-offset").evaluate($,he);return sr&&(Ee=function(Er,Fr){let Xr=[];for(let ni=0;ni=3){for(let Zi=0;Zi0?D+2*W:W}let xv=ht([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),xp=ht([{name:"a_projected_pos",components:3,type:"Float32"}],4);ht([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);let bp=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 qv=ht([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),bv=ht([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function wv(W,D,$){return W.sections.forEach(he=>{he.text=function(Ee,je,We){let ct=je.layout.get("text-transform").evaluate(We,{});return ct==="uppercase"?Ee=Ee.toLocaleUpperCase():ct==="lowercase"&&(Ee=Ee.toLocaleLowerCase()),cl.applyArabicShaping&&(Ee=cl.applyArabicShaping(Ee)),Ee}(he.text,D,$)}),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 vc={"!":"\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 _u=24,Th=Du,Hv=function(W,D,$,he,Ee){var je,We,ct=8*Ee-he-1,St=(1<>1,sr=-7,Er=$?Ee-1:0,Fr=$?-1:1,Xr=W[D+Er];for(Er+=Fr,je=Xr&(1<<-sr)-1,Xr>>=-sr,sr+=ct;sr>0;je=256*je+W[D+Er],Er+=Fr,sr-=8);for(We=je&(1<<-sr)-1,je>>=-sr,sr+=he;sr>0;We=256*We+W[D+Er],Er+=Fr,sr-=8);if(je===0)je=1-Nt;else{if(je===St)return We?NaN:1/0*(Xr?-1:1);We+=Math.pow(2,he),je-=Nt}return(Xr?-1:1)*We*Math.pow(2,je-he)},wp=function(W,D,$,he,Ee,je){var We,ct,St,Nt=8*je-Ee-1,sr=(1<>1,Fr=Ee===23?Math.pow(2,-24)-Math.pow(2,-77):0,Xr=he?0:je-1,ni=he?1:-1,gi=D<0||D===0&&1/D<0?1:0;for(D=Math.abs(D),isNaN(D)||D===1/0?(ct=isNaN(D)?1:0,We=sr):(We=Math.floor(Math.log(D)/Math.LN2),D*(St=Math.pow(2,-We))<1&&(We--,St*=2),(D+=We+Er>=1?Fr/St:Fr*Math.pow(2,1-Er))*St>=2&&(We++,St/=2),We+Er>=sr?(ct=0,We=sr):We+Er>=1?(ct=(D*St-1)*Math.pow(2,Ee),We+=Er):(ct=D*Math.pow(2,Er-1)*Math.pow(2,Ee),We=0));Ee>=8;W[$+Xr]=255&ct,Xr+=ni,ct/=256,Ee-=8);for(We=We<0;W[$+Xr]=255&We,Xr+=ni,We/=256,Nt-=8);W[$+Xr-ni]|=128*gi};function Du(W){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(W)?W:new Uint8Array(W||0),this.pos=0,this.type=0,this.length=this.buf.length}Du.Varint=0,Du.Fixed64=1,Du.Bytes=2,Du.Fixed32=5;var h0=4294967296,Tv=1/h0,fm=typeof TextDecoder>"u"?null:new TextDecoder("utf-8");function od(W){return W.type===Du.Bytes?W.readVarint()+W.pos:W.pos+1}function Av(W,D,$){return $?4294967296*D+(W>>>0):4294967296*(D>>>0)+(W>>>0)}function hm(W,D,$){var he=D<=16383?1:D<=2097151?2:D<=268435455?3:Math.floor(Math.log(D)/(7*Math.LN2));$.realloc(he);for(var Ee=$.pos-1;Ee>=W;Ee--)$.buf[Ee+he]=$.buf[Ee]}function d0(W,D){for(var $=0;$>>8,W[$+2]=D>>>16,W[$+3]=D>>>24}function h1(W,D){return(W[D]|W[D+1]<<8|W[D+2]<<16)+(W[D+3]<<24)}Du.prototype={destroy:function(){this.buf=null},readFields:function(W,D,$){for($=$||this.length;this.pos<$;){var he=this.readVarint(),Ee=he>>3,je=this.pos;this.type=7&he,W(Ee,D,this),this.pos===je&&this.skip(he)}return D},readMessage:function(W,D){return this.readFields(W,D,this.readVarint()+this.pos)},readFixed32:function(){var W=Gv(this.buf,this.pos);return this.pos+=4,W},readSFixed32:function(){var W=h1(this.buf,this.pos);return this.pos+=4,W},readFixed64:function(){var W=Gv(this.buf,this.pos)+Gv(this.buf,this.pos+4)*h0;return this.pos+=8,W},readSFixed64:function(){var W=Gv(this.buf,this.pos)+h1(this.buf,this.pos+4)*h0;return this.pos+=8,W},readFloat:function(){var W=Hv(this.buf,this.pos,!0,23,4);return this.pos+=4,W},readDouble:function(){var W=Hv(this.buf,this.pos,!0,52,8);return this.pos+=8,W},readVarint:function(W){var D,$,he=this.buf;return D=127&($=he[this.pos++]),$<128?D:(D|=(127&($=he[this.pos++]))<<7,$<128?D:(D|=(127&($=he[this.pos++]))<<14,$<128?D:(D|=(127&($=he[this.pos++]))<<21,$<128?D:function(Ee,je,We){var ct,St,Nt=We.buf;if(ct=(112&(St=Nt[We.pos++]))>>4,St<128||(ct|=(127&(St=Nt[We.pos++]))<<3,St<128)||(ct|=(127&(St=Nt[We.pos++]))<<10,St<128)||(ct|=(127&(St=Nt[We.pos++]))<<17,St<128)||(ct|=(127&(St=Nt[We.pos++]))<<24,St<128)||(ct|=(1&(St=Nt[We.pos++]))<<31,St<128))return Av(Ee,ct,je);throw new Error("Expected varint not more than 10 bytes")}(D|=(15&($=he[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&&fm?function($,he,Ee){return fm.decode($.subarray(he,Ee))}(this.buf,D,W):function($,he,Ee){for(var je="",We=he;We239?4:sr>223?3:sr>191?2:1;if(We+Fr>Ee)break;Fr===1?sr<128&&(Er=sr):Fr===2?(192&(ct=$[We+1]))==128&&(Er=(31&sr)<<6|63&ct)<=127&&(Er=null):Fr===3?(St=$[We+2],(192&(ct=$[We+1]))==128&&(192&St)==128&&((Er=(15&sr)<<12|(63&ct)<<6|63&St)<=2047||Er>=55296&&Er<=57343)&&(Er=null)):Fr===4&&(St=$[We+2],Nt=$[We+3],(192&(ct=$[We+1]))==128&&(192&St)==128&&(192&Nt)==128&&((Er=(15&sr)<<18|(63&ct)<<12|(63&St)<<6|63&Nt)<=65535||Er>=1114112)&&(Er=null)),Er===null?(Er=65533,Fr=1):Er>65535&&(Er-=65536,je+=String.fromCharCode(Er>>>10&1023|55296),Er=56320|1023&Er),je+=String.fromCharCode(Er),We+=Fr}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!==Du.Bytes)return W.push(this.readVarint(D));var $=od(this);for(W=W||[];this.pos<$;)W.push(this.readVarint(D));return W},readPackedSVarint:function(W){if(this.type!==Du.Bytes)return W.push(this.readSVarint());var D=od(this);for(W=W||[];this.pos127;);else if(D===Du.Bytes)this.pos=this.readVarint()+this.pos;else if(D===Du.Fixed32)this.pos+=4;else{if(D!==Du.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,$){var he,Ee;if(D>=0?(he=D%4294967296|0,Ee=D/4294967296|0):(Ee=~(-D/4294967296),4294967295^(he=~(-D%4294967296))?he=he+1|0:(he=0,Ee=Ee+1|0)),D>=18446744073709552e3||D<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");$.realloc(10),function(je,We,ct){ct.buf[ct.pos++]=127&je|128,je>>>=7,ct.buf[ct.pos++]=127&je|128,je>>>=7,ct.buf[ct.pos++]=127&je|128,je>>>=7,ct.buf[ct.pos++]=127&je|128,ct.buf[ct.pos]=127&(je>>>=7)}(he,0,$),function(je,We){var ct=(7&je)<<4;We.buf[We.pos++]|=ct|((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)))))}(Ee,$)}(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(he,Ee,je){for(var We,ct,St=0;St55295&&We<57344){if(!ct){We>56319||St+1===Ee.length?(he[je++]=239,he[je++]=191,he[je++]=189):ct=We;continue}if(We<56320){he[je++]=239,he[je++]=191,he[je++]=189,ct=We;continue}We=ct-55296<<10|We-56320|65536,ct=null}else ct&&(he[je++]=239,he[je++]=191,he[je++]=189,ct=null);We<128?he[je++]=We:(We<2048?he[je++]=We>>6|192:(We<65536?he[je++]=We>>12|224:(he[je++]=We>>18|240,he[je++]=We>>12&63|128),he[je++]=We>>6&63|128),he[je++]=63&We|128)}return je}(this.buf,W,this.pos);var $=this.pos-D;$>=128&&hm(D,$,this),this.pos=D-1,this.writeVarint($),this.pos+=$},writeFloat:function(W){this.realloc(4),wp(this.buf,W,this.pos,!0,23,4),this.pos+=4},writeDouble:function(W){this.realloc(8),wp(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 $=0;$=128&&hm($,he,this),this.pos=$-1,this.writeVarint(he),this.pos+=he},writeMessage:function(W,D,$){this.writeTag(W,Du.Bytes),this.writeRawMessage(D,$)},writePackedVarint:function(W,D){D.length&&this.writeMessage(W,d0,D)},writePackedSVarint:function(W,D){D.length&&this.writeMessage(W,Vb,D)},writePackedBoolean:function(W,D){D.length&&this.writeMessage(W,Gb,D)},writePackedFloat:function(W,D){D.length&&this.writeMessage(W,qb,D)},writePackedDouble:function(W,D){D.length&&this.writeMessage(W,Hb,D)},writePackedFixed32:function(W,D){D.length&&this.writeMessage(W,KA,D)},writePackedSFixed32:function(W,D){D.length&&this.writeMessage(W,Wb,D)},writePackedFixed64:function(W,D){D.length&&this.writeMessage(W,Xb,D)},writePackedSFixed64:function(W,D){D.length&&this.writeMessage(W,Yb,D)},writeBytesField:function(W,D){this.writeTag(W,Du.Bytes),this.writeBytes(D)},writeFixed32Field:function(W,D){this.writeTag(W,Du.Fixed32),this.writeFixed32(D)},writeSFixed32Field:function(W,D){this.writeTag(W,Du.Fixed32),this.writeSFixed32(D)},writeFixed64Field:function(W,D){this.writeTag(W,Du.Fixed64),this.writeFixed64(D)},writeSFixed64Field:function(W,D){this.writeTag(W,Du.Fixed64),this.writeSFixed64(D)},writeVarintField:function(W,D){this.writeTag(W,Du.Varint),this.writeVarint(D)},writeSVarintField:function(W,D){this.writeTag(W,Du.Varint),this.writeSVarint(D)},writeStringField:function(W,D){this.writeTag(W,Du.Bytes),this.writeString(D)},writeFloatField:function(W,D){this.writeTag(W,Du.Fixed32),this.writeFloat(D)},writeDoubleField:function(W,D){this.writeTag(W,Du.Fixed64),this.writeDouble(D)},writeBooleanField:function(W,D){this.writeVarintField(W,!!D)}};var Sg=r(Th);let Mg=3;function $A(W,D,$){W===1&&$.readMessage(Zb,D)}function Zb(W,D,$){if(W===3){let{id:he,bitmap:Ee,width:je,height:We,left:ct,top:St,advance:Nt}=$.readMessage(d1,{});D.push({id:he,bitmap:new Zn({width:je+2*Mg,height:We+2*Mg},Ee),metrics:{width:je,height:We,left:ct,top:St,advance:Nt}})}}function d1(W,D,$){W===1?D.id=$.readVarint():W===2?D.bitmap=$.readBytes():W===3?D.width=$.readVarint():W===4?D.height=$.readVarint():W===5?D.left=$.readSVarint():W===6?D.top=$.readSVarint():W===7&&(D.advance=$.readVarint())}let v1=Mg;function Eg(W){let D=0,$=0;for(let We of W)D+=We.w*We.h,$=Math.max($,We.w);W.sort((We,ct)=>ct.h-We.h);let he=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(D/.95)),$),h:1/0}],Ee=0,je=0;for(let We of W)for(let ct=he.length-1;ct>=0;ct--){let St=he[ct];if(!(We.w>St.w||We.h>St.h)){if(We.x=St.x,We.y=St.y,je=Math.max(je,We.y+We.h),Ee=Math.max(Ee,We.x+We.w),We.w===St.w&&We.h===St.h){let Nt=he.pop();ct=0&&he>=D&&pm[this.text.charCodeAt(he)];he--)$--;this.text=this.text.substring(D,$),this.sectionIndex=this.sectionIndex.slice(D,$)}substring(D,$){let he=new Tp;return he.text=this.text.substring(D,$),he.sectionIndex=this.sectionIndex.slice(D,$),he.sections=this.sections,he}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((D,$)=>Math.max(D,this.sections[$].scale),0)}addTextSection(D,$){this.text+=D.text,this.sections.push(p0.forText(D.scale,D.fontStack||$));let he=this.sections.length-1;for(let Ee=0;Ee=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function m0(W,D,$,he,Ee,je,We,ct,St,Nt,sr,Er,Fr,Xr,ni){let gi=Tp.fromFeature(W,Ee),Zi;Er===e.ah.vertical&&gi.verticalizePunctuation();let{processBidirectionalText:aa,processStyledBidirectionalText:nn}=cl;if(aa&&gi.sections.length===1){Zi=[];let dn=aa(gi.toString(),Ap(gi,Nt,je,D,he,Xr));for(let no of dn){let Zo=new Tp;Zo.text=no,Zo.sections=gi.sections;for(let Ds=0;Ds0&&gd>bf&&(bf=gd)}else{let Uc=Zo[xu.fontStack],If=Uc&&Uc[ac];if(If&&If.rect)Lp=If.rect,rf=If.metrics;else{let gd=no[xu.fontStack],ov=gd&&gd[ac];if(!ov)continue;rf=ov.metrics}ud=(Jf-xu.scale)*_u}md?(dn.verticalizable=!0,sh.push({glyph:ac,imageName:jd,x:Ws,y:ic+ud,vertical:md,scale:xu.scale,fontStack:xu.fontStack,sectionIndex:pc,metrics:rf,rect:Lp}),Ws+=Rd*xu.scale+Nn):(sh.push({glyph:ac,imageName:jd,x:Ws,y:ic+ud,vertical:md,scale:xu.scale,fontStack:xu.fontStack,sectionIndex:pc,metrics:rf,rect:Lp}),Ws+=rf.advance*xu.scale+Nn)}sh.length!==0&&(Yu=Math.max(Ws-Nn,Yu),Sv(sh,0,sh.length-1,pd,bf)),Ws=0;let ld=Jn*Jf+bf;yh.lineOffset=Math.max(bf,Sh),ic+=ld,Kf=Math.max(ld,Kf),++gh}var $f;let Fh=ic-Zf,{horizontalAlign:Bh,verticalAlign:Oh}=gm(_s);(function(pf,Jf,Sh,yh,sh,bf,ld,Hh,xu){let pc=(Jf-Sh)*sh,ac=0;ac=bf!==ld?-Hh*yh-Zf:(-yh*xu+.5)*ld;for(let ud of pf)for(let rf of ud.positionedGlyphs)rf.x+=pc,rf.y+=ac})(dn.positionedLines,pd,Bh,Oh,Yu,Kf,Jn,Fh,Fo.length),dn.top+=-Oh*Fh,dn.bottom=dn.top+Fh,dn.left+=-Bh*Yu,dn.right=dn.left+Yu}(Ja,D,$,he,Zi,We,ct,St,Er,Nt,Fr,ni),!function(dn){for(let no of dn)if(no.positionedGlyphs.length!==0)return!1;return!0}(Aa)&&Ja}let pm={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},Kb={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},$b={40:!0};function p1(W,D,$,he,Ee,je){if(D.imageName){let We=he[D.imageName];return We?We.displaySize[0]*D.scale*_u/je+Ee:0}{let We=$[D.fontStack],ct=We&&We[W];return ct?ct.metrics.advance*D.scale+Ee:0}}function m1(W,D,$,he){let Ee=Math.pow(W-D,2);return he?W=0,Nt=0;for(let Er=0;ErNt){let sr=Math.ceil(je/Nt);Ee*=sr/We,We=sr}return{x1:he,y1:Ee,x2:he+je,y2:Ee+We}}function _1(W,D,$,he,Ee,je){let We=W.image,ct;if(We.content){let Zi=We.content,aa=We.pixelRatio||1;ct=[Zi[0]/aa,Zi[1]/aa,We.displaySize[0]-Zi[2]/aa,We.displaySize[1]-Zi[3]/aa]}let St=D.left*je,Nt=D.right*je,sr,Er,Fr,Xr;$==="width"||$==="both"?(Xr=Ee[0]+St-he[3],Er=Ee[0]+Nt+he[1]):(Xr=Ee[0]+(St+Nt-We.displaySize[0])/2,Er=Xr+We.displaySize[0]);let ni=D.top*je,gi=D.bottom*je;return $==="height"||$==="both"?(sr=Ee[1]+ni-he[0],Fr=Ee[1]+gi+he[2]):(sr=Ee[1]+(ni+gi-We.displaySize[1])/2,Fr=sr+We.displaySize[1]),{image:We,top:sr,right:Er,bottom:Fr,left:Xr,collisionPadding:ct}}let y0=255,Ud=128,Mv=y0*Ud;function x1(W,D){let{expression:$}=D;if($.kind==="constant")return{kind:"constant",layoutSize:$.evaluate(new Zs(W+1))};if($.kind==="source")return{kind:"source"};{let{zoomStops:he,interpolationType:Ee}=$,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=ba([]),this.placementViewportMatrix=ba([]);let $=this.layers[0]._unevaluatedLayout._values;this.textSizeData=x1(this.zoom,$["text-size"]),this.iconSizeData=x1(this.zoom,$["icon-size"]);let he=this.layers[0].layout,Ee=he.get("symbol-sort-key"),je=he.get("symbol-z-order");this.canOverlap=kg(he,"text-overlap","text-allow-overlap")!=="never"||kg(he,"icon-overlap","icon-allow-overlap")!=="never"||he.get("text-ignore-placement")||he.get("icon-ignore-placement"),this.sortFeaturesByKey=je!=="viewport-y"&&!Ee.isConstant(),this.sortFeaturesByY=(je==="viewport-y"||je==="auto"&&!this.sortFeaturesByKey)&&this.canOverlap,he.get("symbol-placement")==="point"&&(this.writingModes=he.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 Ig(new ml(this.layers,this.zoom,D=>/^text/.test(D))),this.icon=new Ig(new ml(this.layers,this.zoom,D=>/^icon/.test(D))),this.glyphOffsetArray=new bs,this.lineVertexArray=new Ho,this.symbolInstances=new Vo,this.textAnchorOffsets=new Is}calculateGlyphDependencies(D,$,he,Ee,je){for(let We=0;We0)&&(We.value.kind!=="constant"||We.value.value.length>0),sr=St.value.kind!=="constant"||!!St.value.value||Object.keys(St.parameters).length>0,Er=je.get("symbol-sort-key");if(this.features=[],!Nt&&!sr)return;let Fr=$.iconDependencies,Xr=$.glyphDependencies,ni=$.availableImages,gi=new Zs(this.zoom);for(let{feature:Zi,id:aa,index:nn,sourceLayerIndex:Aa}of D){let Ja=Ee._featureFilter.needGeometry,dn=tu(Zi,Ja);if(!Ee._featureFilter.filter(gi,dn,he))continue;let no,Zo;if(Ja||(dn.geometry=Bl(Zi)),Nt){let Fo=Ee.getValueAndResolveTokens("text-field",dn,he,ni),Jn=ii.factory(Fo),_s=this.hasRTLText=this.hasRTLText||Lg(Jn);(!_s||cl.getRTLTextPluginStatus()==="unavailable"||_s&&cl.isParsed())&&(no=wv(Jn,Ee,dn))}if(sr){let Fo=Ee.getValueAndResolveTokens("icon-image",dn,he,ni);Zo=Fo instanceof ra?Fo:ra.fromString(Fo)}if(!no&&!Zo)continue;let Ds=this.sortFeaturesByKey?Er.evaluate(dn,{},he):void 0;if(this.features.push({id:aa,text:no,icon:Zo,index:nn,sourceLayerIndex:Aa,geometry:dn.geometry,properties:Zi.properties,type:Qb[Zi.type],sortKey:Ds}),Zo&&(Fr[Zo.name]=!0),no){let Fo=We.evaluate(dn,{},he).join(","),Jn=je.get("text-rotation-alignment")!=="viewport"&&je.get("symbol-placement")!=="point";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(e.ah.vertical)>=0;for(let _s of no.sections)if(_s.image)Fr[_s.image.name]=!0;else{let ls=Oo(no.toString()),is=_s.fontStack||Fo,Nn=Xr[is]=Xr[is]||{};this.calculateGlyphDependencies(_s.text,Nn,Jn,this.allowVerticalPlacement,ls)}}}je.get("symbol-placement")==="line"&&(this.features=function(Zi){let aa={},nn={},Aa=[],Ja=0;function dn(Fo){Aa.push(Zi[Fo]),Ja++}function no(Fo,Jn,_s){let ls=nn[Fo];return delete nn[Fo],nn[Jn]=ls,Aa[ls].geometry[0].pop(),Aa[ls].geometry[0]=Aa[ls].geometry[0].concat(_s[0]),ls}function Zo(Fo,Jn,_s){let ls=aa[Jn];return delete aa[Jn],aa[Fo]=ls,Aa[ls].geometry[0].shift(),Aa[ls].geometry[0]=_s[0].concat(Aa[ls].geometry[0]),ls}function Ds(Fo,Jn,_s){let ls=_s?Jn[0][Jn[0].length-1]:Jn[0][0];return`${Fo}:${ls.x}:${ls.y}`}for(let Fo=0;FoFo.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort((Zi,aa)=>Zi.sortKey-aa.sortKey)}update(D,$,he){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(D,$,this.layers,he),this.icon.programConfigurations.updatePaintArrays(D,$,this.layers,he))}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,$){let he=this.lineVertexArray.length;if(D.segment!==void 0){let Ee=D.dist($[D.segment+1]),je=D.dist($[D.segment]),We={};for(let ct=D.segment+1;ct<$.length;ct++)We[ct]={x:$[ct].x,y:$[ct].y,tileUnitDistanceFromAnchor:Ee},ct<$.length-1&&(Ee+=$[ct+1].dist($[ct]));for(let ct=D.segment||0;ct>=0;ct--)We[ct]={x:$[ct].x,y:$[ct].y,tileUnitDistanceFromAnchor:je},ct>0&&(je+=$[ct-1].dist($[ct]));for(let ct=0;ct<$.length;ct++){let St=We[ct];this.lineVertexArray.emplaceBack(St.x,St.y,St.tileUnitDistanceFromAnchor)}}return{lineStartIndex:he,lineLength:this.lineVertexArray.length-he}}addSymbols(D,$,he,Ee,je,We,ct,St,Nt,sr,Er,Fr){let Xr=D.indexArray,ni=D.layoutVertexArray,gi=D.segments.prepareSegment(4*$.length,ni,Xr,this.canOverlap?We.sortKey:void 0),Zi=this.glyphOffsetArray.length,aa=gi.vertexLength,nn=this.allowVerticalPlacement&&ct===e.ah.vertical?Math.PI/2:0,Aa=We.text&&We.text.sections;for(let Ja=0;Ja<$.length;Ja++){let{tl:dn,tr:no,bl:Zo,br:Ds,tex:Fo,pixelOffsetTL:Jn,pixelOffsetBR:_s,minFontScaleX:ls,minFontScaleY:is,glyphOffset:Nn,isSDF:Ts,sectionIndex:as}=$[Ja],Ws=gi.vertexLength,ic=Nn[1];ym(ni,St.x,St.y,dn.x,ic+dn.y,Fo.x,Fo.y,he,Ts,Jn.x,Jn.y,ls,is),ym(ni,St.x,St.y,no.x,ic+no.y,Fo.x+Fo.w,Fo.y,he,Ts,_s.x,Jn.y,ls,is),ym(ni,St.x,St.y,Zo.x,ic+Zo.y,Fo.x,Fo.y+Fo.h,he,Ts,Jn.x,_s.y,ls,is),ym(ni,St.x,St.y,Ds.x,ic+Ds.y,Fo.x+Fo.w,Fo.y+Fo.h,he,Ts,_s.x,_s.y,ls,is),Cg(D.dynamicLayoutVertexArray,St,nn),Xr.emplaceBack(Ws,Ws+1,Ws+2),Xr.emplaceBack(Ws+1,Ws+2,Ws+3),gi.vertexLength+=4,gi.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(Nn[0]),Ja!==$.length-1&&as===$[Ja+1].sectionIndex||D.programConfigurations.populatePaintArrays(ni.length,We,We.index,{},Fr,Aa&&Aa[as])}D.placedSymbolArray.emplaceBack(St.x,St.y,Zi,this.glyphOffsetArray.length-Zi,aa,Nt,sr,St.segment,he?he[0]:0,he?he[1]:0,Ee[0],Ee[1],ct,0,!1,0,Er)}_addCollisionDebugVertex(D,$,he,Ee,je,We){return $.emplaceBack(0,0),D.emplaceBack(he.x,he.y,Ee,je,Math.round(We.x),Math.round(We.y))}addCollisionDebugVertices(D,$,he,Ee,je,We,ct){let St=je.segments.prepareSegment(4,je.layoutVertexArray,je.indexArray),Nt=St.vertexLength,sr=je.layoutVertexArray,Er=je.collisionVertexArray,Fr=ct.anchorX,Xr=ct.anchorY;this._addCollisionDebugVertex(sr,Er,We,Fr,Xr,new n(D,$)),this._addCollisionDebugVertex(sr,Er,We,Fr,Xr,new n(he,$)),this._addCollisionDebugVertex(sr,Er,We,Fr,Xr,new n(he,Ee)),this._addCollisionDebugVertex(sr,Er,We,Fr,Xr,new n(D,Ee)),St.vertexLength+=4;let ni=je.indexArray;ni.emplaceBack(Nt,Nt+1),ni.emplaceBack(Nt+1,Nt+2),ni.emplaceBack(Nt+2,Nt+3),ni.emplaceBack(Nt+3,Nt),St.primitiveLength+=4}addDebugCollisionBoxes(D,$,he,Ee){for(let je=D;je<$;je++){let We=this.collisionBoxArray.get(je);this.addCollisionDebugVertices(We.x1,We.y1,We.x2,We.y2,Ee?this.textCollisionBox:this.iconCollisionBox,We.anchorPoint,he)}}generateCollisionDebugBuffers(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new Ev(eu,qv.members,Je),this.iconCollisionBox=new Ev(eu,qv.members,Je);for(let D=0;D0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(D,$){let he=D.placedSymbolArray.get($),Ee=he.vertexStartIndex+4*he.numGlyphs;for(let je=he.vertexStartIndex;jeEe[ct]-Ee[St]||je[St]-je[ct]),We}addToSortKeyRanges(D,$){let he=this.sortKeyRanges[this.sortKeyRanges.length-1];he&&he.sortKey===$?he.symbolInstanceEnd=D+1:this.sortKeyRanges.push({sortKey:$,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 $ of this.symbolInstanceIndexes){let he=this.symbolInstances.get($);this.featureSortOrder.push(he.featureIndex),[he.rightJustifiedTextSymbolIndex,he.centerJustifiedTextSymbolIndex,he.leftJustifiedTextSymbolIndex].forEach((Ee,je,We)=>{Ee>=0&&We.indexOf(Ee)===je&&this.addIndicesForPlacedSymbol(this.text,Ee)}),he.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,he.verticalPlacedTextSymbolIndex),he.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,he.placedIconSymbolIndex),he.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,he.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let vf,_0;Ta("SymbolBucket",Sp,{omit:["layers","collisionBoxArray","features","compareText"]}),Sp.MAX_GLYPHS=65535,Sp.addDynamicAttributes=Cg;var _m={get paint(){return _0=_0||new Ue({"icon-opacity":new es(re.paint_symbol["icon-opacity"]),"icon-color":new es(re.paint_symbol["icon-color"]),"icon-halo-color":new es(re.paint_symbol["icon-halo-color"]),"icon-halo-width":new es(re.paint_symbol["icon-halo-width"]),"icon-halo-blur":new es(re.paint_symbol["icon-halo-blur"]),"icon-translate":new Po(re.paint_symbol["icon-translate"]),"icon-translate-anchor":new Po(re.paint_symbol["icon-translate-anchor"]),"text-opacity":new es(re.paint_symbol["text-opacity"]),"text-color":new es(re.paint_symbol["text-color"],{runtimeType:Vt,getOverride:W=>W.textColor,hasOverride:W=>!!W.textColor}),"text-halo-color":new es(re.paint_symbol["text-halo-color"]),"text-halo-width":new es(re.paint_symbol["text-halo-width"]),"text-halo-blur":new es(re.paint_symbol["text-halo-blur"]),"text-translate":new Po(re.paint_symbol["text-translate"]),"text-translate-anchor":new Po(re.paint_symbol["text-translate-anchor"])})},get layout(){return vf=vf||new Ue({"symbol-placement":new Po(re.layout_symbol["symbol-placement"]),"symbol-spacing":new Po(re.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Po(re.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new es(re.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Po(re.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Po(re.layout_symbol["icon-allow-overlap"]),"icon-overlap":new Po(re.layout_symbol["icon-overlap"]),"icon-ignore-placement":new Po(re.layout_symbol["icon-ignore-placement"]),"icon-optional":new Po(re.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Po(re.layout_symbol["icon-rotation-alignment"]),"icon-size":new es(re.layout_symbol["icon-size"]),"icon-text-fit":new Po(re.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Po(re.layout_symbol["icon-text-fit-padding"]),"icon-image":new es(re.layout_symbol["icon-image"]),"icon-rotate":new es(re.layout_symbol["icon-rotate"]),"icon-padding":new es(re.layout_symbol["icon-padding"]),"icon-keep-upright":new Po(re.layout_symbol["icon-keep-upright"]),"icon-offset":new es(re.layout_symbol["icon-offset"]),"icon-anchor":new es(re.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Po(re.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Po(re.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Po(re.layout_symbol["text-rotation-alignment"]),"text-field":new es(re.layout_symbol["text-field"]),"text-font":new es(re.layout_symbol["text-font"]),"text-size":new es(re.layout_symbol["text-size"]),"text-max-width":new es(re.layout_symbol["text-max-width"]),"text-line-height":new Po(re.layout_symbol["text-line-height"]),"text-letter-spacing":new es(re.layout_symbol["text-letter-spacing"]),"text-justify":new es(re.layout_symbol["text-justify"]),"text-radial-offset":new es(re.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Po(re.layout_symbol["text-variable-anchor"]),"text-variable-anchor-offset":new es(re.layout_symbol["text-variable-anchor-offset"]),"text-anchor":new es(re.layout_symbol["text-anchor"]),"text-max-angle":new Po(re.layout_symbol["text-max-angle"]),"text-writing-mode":new Po(re.layout_symbol["text-writing-mode"]),"text-rotate":new es(re.layout_symbol["text-rotate"]),"text-padding":new Po(re.layout_symbol["text-padding"]),"text-keep-upright":new Po(re.layout_symbol["text-keep-upright"]),"text-transform":new es(re.layout_symbol["text-transform"]),"text-offset":new es(re.layout_symbol["text-offset"]),"text-allow-overlap":new Po(re.layout_symbol["text-allow-overlap"]),"text-overlap":new Po(re.layout_symbol["text-overlap"]),"text-ignore-placement":new Po(re.layout_symbol["text-ignore-placement"]),"text-optional":new Po(re.layout_symbol["text-optional"])})}};class x0{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:at,this.defaultValue=D}evaluate(D){if(D.formattedSection){let $=this.defaultValue.property.overrides;if($&&$.hasOverride(D.formattedSection))return $.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}}Ta("FormatSectionOverride",x0,{omit:["defaultValue"]});class Wv extends ae{constructor(D){super(D,_m)}recalculate(D,$){if(super.recalculate(D,$),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 he=this.layout.get("text-writing-mode");if(he){let Ee=[];for(let je of he)Ee.indexOf(je)<0&&Ee.push(je);this.layout._values["text-writing-mode"]=Ee}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(D,$,he,Ee){let je=this.layout.get(D).evaluate($,{},he,Ee),We=this._unevaluatedLayout._values[D];return We.isDataDriven()||Ic(We.value)||!je?je:function(ct,St){return St.replace(/{([^{}]+)}/g,(Nt,sr)=>ct&&sr in ct?String(ct[sr]):"")}($.properties,je)}createBucket(D){return new Sp(D)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(let D of _m.paint.overridableProperties){if(!Wv.hasPaintOverride(this.layout,D))continue;let $=this.paint.get(D),he=new x0($),Ee=new Bu(he,$.property.specification),je=null;je=$.value.kind==="constant"||$.value.kind==="source"?new _c("source",Ee):new Eu("composite",Ee,$.value.zoomStops),this.paint._values[D]=new Pu($.property,je,$.parameters)}}_handleOverridablePaintPropertyUpdate(D,$,he){return!(!this.layout||$.isDataDriven()||he.isDataDriven())&&Wv.hasPaintOverride(this.layout,D)}static hasPaintOverride(D,$){let he=D.get("text-field"),Ee=_m.paint.properties[$],je=!1,We=ct=>{for(let St of ct)if(Ee.overrides&&Ee.overrides.hasOverride(St))return void(je=!0)};if(he.value.kind==="constant"&&he.value.value instanceof ii)We(he.value.value.sections);else if(he.value.kind==="source"){let ct=Nt=>{je||(Nt instanceof _n&&ji(Nt.value)===qr?We(Nt.value.sections):Nt instanceof Ms?We(Nt.sections):Nt.eachChild(ct))},St=he.value;St._styleExpression&&ct(St._styleExpression.expression)}return je}}let b1;var b0={get paint(){return b1=b1||new Ue({"background-color":new Po(re.paint_background["background-color"]),"background-pattern":new hc(re.paint_background["background-pattern"]),"background-opacity":new Po(re.paint_background["background-opacity"])})}};class tw extends ae{constructor(D){super(D,b0)}}let Pg;var w1={get paint(){return Pg=Pg||new Ue({"raster-opacity":new Po(re.paint_raster["raster-opacity"]),"raster-hue-rotate":new Po(re.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new Po(re.paint_raster["raster-brightness-min"]),"raster-brightness-max":new Po(re.paint_raster["raster-brightness-max"]),"raster-saturation":new Po(re.paint_raster["raster-saturation"]),"raster-contrast":new Po(re.paint_raster["raster-contrast"]),"raster-resampling":new Po(re.paint_raster["raster-resampling"]),"raster-fade-duration":new Po(re.paint_raster["raster-fade-duration"])})}};class w0 extends ae{constructor(D){super(D,w1)}}class Rg extends ae{constructor(D){super(D,{}),this.onAdd=$=>{this.implementation.onAdd&&this.implementation.onAdd($,$.painter.context.gl)},this.onRemove=$=>{this.implementation.onRemove&&this.implementation.onRemove($,$.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 Dg{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 zg=63710088e-1;class iv{constructor(D,$){if(isNaN(D)||isNaN($))throw new Error(`Invalid LngLat object: (${D}, ${$})`);if(this.lng=+D,this.lat=+$,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new iv(A(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(D){let $=Math.PI/180,he=this.lat*$,Ee=D.lat*$,je=Math.sin(he)*Math.sin(Ee)+Math.cos(he)*Math.cos(Ee)*Math.cos((D.lng-this.lng)*$);return zg*Math.acos(Math.min(je,1))}static convert(D){if(D instanceof iv)return D;if(Array.isArray(D)&&(D.length===2||D.length===3))return new iv(Number(D[0]),Number(D[1]));if(!Array.isArray(D)&&typeof D=="object"&&D!==null)return new iv(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 Mp=2*Math.PI*zg;function T1(W){return Mp*Math.cos(W*Math.PI/180)}function xm(W){return(180+W)/360}function A1(W){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+W*Math.PI/360)))/360}function bm(W,D){return W/T1(D)}function T0(W){return 360/Math.PI*Math.atan(Math.exp((180-360*W)*Math.PI/180))-90}class A0{constructor(D,$,he=0){this.x=+D,this.y=+$,this.z=+he}static fromLngLat(D,$=0){let he=iv.convert(D);return new A0(xm(he.lng),A1(he.lat),bm($,he.lat))}toLngLat(){return new iv(360*this.x-180,T0(this.y))}toAltitude(){return this.z*T1(T0(this.y))}meterInMercatorCoordinateUnits(){return 1/Mp*(D=T0(this.y),1/Math.cos(D*Math.PI/180));var D}}function kd(W,D,$){var he=2*Math.PI*6378137/256/Math.pow(2,$);return[W*he-2*Math.PI*6378137/2,D*he-2*Math.PI*6378137/2]}class Fg{constructor(D,$,he){if(!function(Ee,je,We){return!(Ee<0||Ee>25||We<0||We>=Math.pow(2,Ee)||je<0||je>=Math.pow(2,Ee))}(D,$,he))throw new Error(`x=${$}, y=${he}, 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=$,this.y=he,this.key=S0(0,D,D,$,he)}equals(D){return this.z===D.z&&this.x===D.x&&this.y===D.y}url(D,$,he){let Ee=(We=this.y,ct=this.z,St=kd(256*(je=this.x),256*(We=Math.pow(2,ct)-We-1),ct),Nt=kd(256*(je+1),256*(We+1),ct),St[0]+","+St[1]+","+Nt[0]+","+Nt[1]);var je,We,ct,St,Nt;let sr=function(Er,Fr,Xr){let ni,gi="";for(let Zi=Er;Zi>0;Zi--)ni=1<1?"@2x":"").replace(/{quadkey}/g,sr).replace(/{bbox-epsg-3857}/g,Ee)}isChildOf(D){let $=this.z-D.z;return $>0&&D.x===this.x>>$&&D.y===this.y>>$}getTilePoint(D){let $=Math.pow(2,this.z);return new n((D.x*$-this.x)*zo,(D.y*$-this.y)*zo)}toString(){return`${this.z}/${this.x}/${this.y}`}}class S1{constructor(D,$){this.wrap=D,this.canonical=$,this.key=S0(D,$.z,$.z,$.x,$.y)}}class vd{constructor(D,$,he,Ee,je){if(D= z; overscaledZ = ${D}; z = ${he}`);this.overscaledZ=D,this.wrap=$,this.canonical=new Fg(he,+Ee,+je),this.key=S0($,D,he,Ee,je)}clone(){return new vd(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 $=this.canonical.z-D;return D>this.canonical.z?new vd(D,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new vd(D,this.wrap,D,this.canonical.x>>$,this.canonical.y>>$)}calculateScaledKey(D,$){if(D>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${D}; overscaledZ = ${this.overscaledZ}`);let he=this.canonical.z-D;return D>this.canonical.z?S0(this.wrap*+$,D,this.canonical.z,this.canonical.x,this.canonical.y):S0(this.wrap*+$,D,D,this.canonical.x>>he,this.canonical.y>>he)}isChildOf(D){if(D.wrap!==this.wrap)return!1;let $=this.canonical.z-D.canonical.z;return D.overscaledZ===0||D.overscaledZ>$&&D.canonical.y===this.canonical.y>>$}children(D){if(this.overscaledZ>=D)return[new vd(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let $=this.canonical.z+1,he=2*this.canonical.x,Ee=2*this.canonical.y;return[new vd($,this.wrap,$,he,Ee),new vd($,this.wrap,$,he+1,Ee),new vd($,this.wrap,$,he,Ee+1),new vd($,this.wrap,$,he+1,Ee+1)]}isLessThan(D){return this.wrapD.wrap)&&(this.overscaledZD.overscaledZ)&&(this.canonical.xD.canonical.x)&&this.canonical.ythis.max&&(this.max=Er),Er=this.dim+1||$<-1||$>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return($+1)*this.stride+(D+1)}unpack(D,$,he){return D*this.redFactor+$*this.greenFactor+he*this.blueFactor-this.baseShift}getPixels(){return new ja({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(D,$,he){if(this.dim!==D.dim)throw new Error("dem dimension mismatch");let Ee=$*this.dim,je=$*this.dim+this.dim,We=he*this.dim,ct=he*this.dim+this.dim;switch($){case-1:Ee=je-1;break;case 1:je=Ee+1}switch(he){case-1:We=ct-1;break;case 1:ct=We+1}let St=-$*this.dim,Nt=-he*this.dim;for(let sr=We;sr=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 Bg{constructor(D,$,he,Ee,je){this.type="Feature",this._vectorTileFeature=D,D._z=$,D._x=he,D._y=Ee,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 $ in this)$!=="_geometry"&&$!=="_vectorTileFeature"&&(D[$]=this[$]);return D}}class Xv{constructor(D,$){this.tileID=D,this.x=D.canonical.x,this.y=D.canonical.y,this.z=D.canonical.z,this.grid=new qa(zo,16,0),this.grid3D=new qa(zo,16,0),this.featureIndexArray=new dl,this.promoteId=$}insert(D,$,he,Ee,je,We){let ct=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(he,Ee,je);let St=We?this.grid3D:this.grid;for(let Nt=0;Nt<$.length;Nt++){let sr=$[Nt],Er=[1/0,1/0,-1/0,-1/0];for(let Fr=0;Fr=0&&Er[3]>=0&&St.insert(ct,Er[0],Er[1],Er[2],Er[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new $r.VectorTile(new Sg(this.rawTileData)).layers,this.sourceLayerCoder=new E1(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers}query(D,$,he,Ee){this.loadVTLayers();let je=D.params||{},We=zo/D.tileSize/D.scale,ct=Pc(je.filter),St=D.queryGeometry,Nt=D.queryPadding*We,sr=C1(St),Er=this.grid.query(sr.minX-Nt,sr.minY-Nt,sr.maxX+Nt,sr.maxY+Nt),Fr=C1(D.cameraQueryGeometry),Xr=this.grid3D.query(Fr.minX-Nt,Fr.minY-Nt,Fr.maxX+Nt,Fr.maxY+Nt,(Zi,aa,nn,Aa)=>function(Ja,dn,no,Zo,Ds){for(let Jn of Ja)if(dn<=Jn.x&&no<=Jn.y&&Zo>=Jn.x&&Ds>=Jn.y)return!0;let Fo=[new n(dn,no),new n(dn,Ds),new n(Zo,Ds),new n(Zo,no)];if(Ja.length>2){for(let Jn of Fo)if(ka(Ja,Jn))return!0}for(let Jn=0;Jn(Aa||(Aa=Bl(Ja)),dn.queryIntersectsFeature(St,Ja,no,Aa,this.z,D.transform,We,D.pixelPosMatrix)))}return ni}loadMatchingFeature(D,$,he,Ee,je,We,ct,St,Nt,sr,Er){let Fr=this.bucketLayerIDs[$];if(We&&!function(Zi,aa){for(let nn=0;nn=0)return!0;return!1}(We,Fr))return;let Xr=this.sourceLayerCoder.decode(he),ni=this.vtLayers[Xr].feature(Ee);if(je.needGeometry){let Zi=tu(ni,!0);if(!je.filter(new Zs(this.tileID.overscaledZ),Zi,this.tileID.canonical))return}else if(!je.filter(new Zs(this.tileID.overscaledZ),ni))return;let gi=this.getId(ni,Xr);for(let Zi=0;Zi{let ct=D instanceof wc?D.get(We):null;return ct&&ct.evaluate?ct.evaluate($,he,Ee):ct})}function C1(W){let D=1/0,$=1/0,he=-1/0,Ee=-1/0;for(let je of W)D=Math.min(D,je.x),$=Math.min($,je.y),he=Math.max(he,je.x),Ee=Math.max(Ee,je.y);return{minX:D,minY:$,maxX:he,maxY:Ee}}function rw(W,D){return D-W}function L1(W,D,$,he,Ee){let je=[];for(let We=0;We=he&&Er.x>=he||(sr.x>=he?sr=new n(he,sr.y+(he-sr.x)/(Er.x-sr.x)*(Er.y-sr.y))._round():Er.x>=he&&(Er=new n(he,sr.y+(he-sr.x)/(Er.x-sr.x)*(Er.y-sr.y))._round()),sr.y>=Ee&&Er.y>=Ee||(sr.y>=Ee?sr=new n(sr.x+(Ee-sr.y)/(Er.y-sr.y)*(Er.x-sr.x),Ee)._round():Er.y>=Ee&&(Er=new n(sr.x+(Ee-sr.y)/(Er.y-sr.y)*(Er.x-sr.x),Ee)._round()),St&&sr.equals(St[St.length-1])||(St=[sr],je.push(St)),St.push(Er)))))}}return je}Ta("FeatureIndex",Xv,{omit:["rawTileData","sourceLayerCoder"]});class av extends n{constructor(D,$,he,Ee){super(D,$),this.angle=he,Ee!==void 0&&(this.segment=Ee)}clone(){return new av(this.x,this.y,this.angle,this.segment)}}function Og(W,D,$,he,Ee){if(D.segment===void 0||$===0)return!0;let je=D,We=D.segment+1,ct=0;for(;ct>-$/2;){if(We--,We<0)return!1;ct-=W[We].dist(je),je=W[We]}ct+=W[We].dist(W[We+1]),We++;let St=[],Nt=0;for(;ct<$/2;){let sr=W[We],Er=W[We+1];if(!Er)return!1;let Fr=W[We-1].angleTo(sr)-sr.angleTo(Er);for(Fr=Math.abs((Fr+3*Math.PI)%(2*Math.PI)-Math.PI),St.push({distance:ct,angleDelta:Fr}),Nt+=Fr;ct-St[0].distance>he;)Nt-=St.shift().angleDelta;if(Nt>Ee)return!1;We++,ct+=sr.dist(Er)}return!0}function I1(W){let D=0;for(let $=0;$Nt){let ni=(Nt-St)/Xr,gi=eo.number(Er.x,Fr.x,ni),Zi=eo.number(Er.y,Fr.y,ni),aa=new av(gi,Zi,Fr.angleTo(Er),sr);return aa._round(),!We||Og(W,aa,ct,We,D)?aa:void 0}St+=Xr}}function aw(W,D,$,he,Ee,je,We,ct,St){let Nt=P1(he,je,We),sr=R1(he,Ee),Er=sr*We,Fr=W[0].x===0||W[0].x===St||W[0].y===0||W[0].y===St;return D-Er=0&&Ja=0&&dn=0&&Fr+Nt<=sr){let no=new av(Ja,dn,nn,ni);no._round(),he&&!Og(W,no,je,he,Ee)||Xr.push(no)}}Er+=aa}return ct||Xr.length||We||(Xr=D1(W,Er/2,$,he,Ee,je,We,!0,St)),Xr}Ta("Anchor",av);let Ep=Ah;function z1(W,D,$,he){let Ee=[],je=W.image,We=je.pixelRatio,ct=je.paddedRect.w-2*Ep,St=je.paddedRect.h-2*Ep,Nt={x1:W.left,y1:W.top,x2:W.right,y2:W.bottom},sr=je.stretchX||[[0,ct]],Er=je.stretchY||[[0,St]],Fr=(Nn,Ts)=>Nn+Ts[1]-Ts[0],Xr=sr.reduce(Fr,0),ni=Er.reduce(Fr,0),gi=ct-Xr,Zi=St-ni,aa=0,nn=Xr,Aa=0,Ja=ni,dn=0,no=gi,Zo=0,Ds=Zi;if(je.content&&he){let Nn=je.content,Ts=Nn[2]-Nn[0],as=Nn[3]-Nn[1];(je.textFitWidth||je.textFitHeight)&&(Nt=y1(W)),aa=nv(sr,0,Nn[0]),Aa=nv(Er,0,Nn[1]),nn=nv(sr,Nn[0],Nn[2]),Ja=nv(Er,Nn[1],Nn[3]),dn=Nn[0]-aa,Zo=Nn[1]-Aa,no=Ts-nn,Ds=as-Ja}let Fo=Nt.x1,Jn=Nt.y1,_s=Nt.x2-Fo,ls=Nt.y2-Jn,is=(Nn,Ts,as,Ws)=>{let ic=wm(Nn.stretch-aa,nn,_s,Fo),Yu=kp(Nn.fixed-dn,no,Nn.stretch,Xr),Kf=wm(Ts.stretch-Aa,Ja,ls,Jn),pd=kp(Ts.fixed-Zo,Ds,Ts.stretch,ni),gh=wm(as.stretch-aa,nn,_s,Fo),$f=kp(as.fixed-dn,no,as.stretch,Xr),Fh=wm(Ws.stretch-Aa,Ja,ls,Jn),Bh=kp(Ws.fixed-Zo,Ds,Ws.stretch,ni),Oh=new n(ic,Kf),pf=new n(gh,Kf),Jf=new n(gh,Fh),Sh=new n(ic,Fh),yh=new n(Yu/We,pd/We),sh=new n($f/We,Bh/We),bf=D*Math.PI/180;if(bf){let xu=Math.sin(bf),pc=Math.cos(bf),ac=[pc,-xu,xu,pc];Oh._matMult(ac),pf._matMult(ac),Sh._matMult(ac),Jf._matMult(ac)}let ld=Nn.stretch+Nn.fixed,Hh=Ts.stretch+Ts.fixed;return{tl:Oh,tr:pf,bl:Sh,br:Jf,tex:{x:je.paddedRect.x+Ep+ld,y:je.paddedRect.y+Ep+Hh,w:as.stretch+as.fixed-ld,h:Ws.stretch+Ws.fixed-Hh},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:yh,pixelOffsetBR:sh,minFontScaleX:no/We/_s,minFontScaleY:Ds/We/ls,isSDF:$}};if(he&&(je.stretchX||je.stretchY)){let Nn=F1(sr,gi,Xr),Ts=F1(Er,Zi,ni);for(let as=0;as0&&(gi=Math.max(10,gi),this.circleDiameter=gi)}else{let Fr=!((Er=We.image)===null||Er===void 0)&&Er.content&&(We.image.textFitWidth||We.image.textFitHeight)?y1(We):{x1:We.left,y1:We.top,x2:We.right,y2:We.bottom};Fr.y1=Fr.y1*ct-St[0],Fr.y2=Fr.y2*ct+St[2],Fr.x1=Fr.x1*ct-St[3],Fr.x2=Fr.x2*ct+St[1];let Xr=We.collisionPadding;if(Xr&&(Fr.x1-=Xr[0]*ct,Fr.y1-=Xr[1]*ct,Fr.x2+=Xr[2]*ct,Fr.y2+=Xr[3]*ct),sr){let ni=new n(Fr.x1,Fr.y1),gi=new n(Fr.x2,Fr.y1),Zi=new n(Fr.x1,Fr.y2),aa=new n(Fr.x2,Fr.y2),nn=sr*Math.PI/180;ni._rotate(nn),gi._rotate(nn),Zi._rotate(nn),aa._rotate(nn),Fr.x1=Math.min(ni.x,gi.x,Zi.x,aa.x),Fr.x2=Math.max(ni.x,gi.x,Zi.x,aa.x),Fr.y1=Math.min(ni.y,gi.y,Zi.y,aa.y),Fr.y2=Math.max(ni.y,gi.y,Zi.y,aa.y)}D.emplaceBack($.x,$.y,Fr.x1,Fr.y1,Fr.x2,Fr.y2,he,Ee,je)}this.boxEndIndex=D.length}}class Pd{constructor(D=[],$=(he,Ee)=>heEe?1:0){if(this.data=D,this.length=this.data.length,this.compare=$,this.length>0)for(let he=(this.length>>1)-1;he>=0;he--)this._down(he)}push(D){this.data.push(D),this._up(this.length++)}pop(){if(this.length===0)return;let D=this.data[0],$=this.data.pop();return--this.length>0&&(this.data[0]=$,this._down(0)),D}peek(){return this.data[0]}_up(D){let{data:$,compare:he}=this,Ee=$[D];for(;D>0;){let je=D-1>>1,We=$[je];if(he(Ee,We)>=0)break;$[D]=We,D=je}$[D]=Ee}_down(D){let{data:$,compare:he}=this,Ee=this.length>>1,je=$[D];for(;D=0)break;$[D]=$[We],D=We}$[D]=je}}function nw(W,D=1,$=!1){let he=1/0,Ee=1/0,je=-1/0,We=-1/0,ct=W[0];for(let Xr=0;Xrje)&&(je=ni.x),(!Xr||ni.y>We)&&(We=ni.y)}let St=Math.min(je-he,We-Ee),Nt=St/2,sr=new Pd([],ow);if(St===0)return new n(he,Ee);for(let Xr=he;XrEr.d||!Er.d)&&(Er=Xr,$&&console.log("found best %d after %d probes",Math.round(1e4*Xr.d)/1e4,Fr)),Xr.max-Er.d<=D||(Nt=Xr.h/2,sr.push(new Cp(Xr.p.x-Nt,Xr.p.y-Nt,Nt,W)),sr.push(new Cp(Xr.p.x+Nt,Xr.p.y-Nt,Nt,W)),sr.push(new Cp(Xr.p.x-Nt,Xr.p.y+Nt,Nt,W)),sr.push(new Cp(Xr.p.x+Nt,Xr.p.y+Nt,Nt,W)),Fr+=4)}return $&&(console.log(`num probes: ${Fr}`),console.log(`best distance: ${Er.d}`)),Er.p}function ow(W,D){return D.max-W.max}function Cp(W,D,$,he){this.p=new n(W,D),this.h=$,this.d=function(Ee,je){let We=!1,ct=1/0;for(let St=0;StEe.y!=ni.y>Ee.y&&Ee.x<(ni.x-Xr.x)*(Ee.y-Xr.y)/(ni.y-Xr.y)+Xr.x&&(We=!We),ct=Math.min(ct,Mi(Ee,Xr,ni))}}return(We?1:-1)*Math.sqrt(ct)}(this.p,he),this.max=this.d+this.h*Math.SQRT2}var mh;e.aq=void 0,(mh=e.aq||(e.aq={}))[mh.center=1]="center",mh[mh.left=2]="left",mh[mh.right=3]="right",mh[mh.top=4]="top",mh[mh.bottom=5]="bottom",mh[mh["top-left"]=6]="top-left",mh[mh["top-right"]=7]="top-right",mh[mh["bottom-left"]=8]="bottom-left",mh[mh["bottom-right"]=9]="bottom-right";let Cv=7,Yv=Number.POSITIVE_INFINITY;function Ng(W,D){return D[1]!==Yv?function($,he,Ee){let je=0,We=0;switch(he=Math.abs(he),Ee=Math.abs(Ee),$){case"top-right":case"top-left":case"top":We=Ee-Cv;break;case"bottom-right":case"bottom-left":case"bottom":We=-Ee+Cv}switch($){case"top-right":case"bottom-right":case"right":je=-he;break;case"top-left":case"bottom-left":case"left":je=he}return[je,We]}(W,D[0],D[1]):function($,he){let Ee=0,je=0;he<0&&(he=0);let We=he/Math.SQRT2;switch($){case"top-right":case"top-left":je=We-Cv;break;case"bottom-right":case"bottom-left":je=-We+Cv;break;case"bottom":je=-he+Cv;break;case"top":je=he-Cv}switch($){case"top-right":case"bottom-right":Ee=-We;break;case"top-left":case"bottom-left":Ee=We;break;case"left":Ee=he;break;case"right":Ee=-he}return[Ee,je]}(W,D[0])}function B1(W,D,$){var he;let Ee=W.layout,je=(he=Ee.get("text-variable-anchor-offset"))===null||he===void 0?void 0:he.evaluate(D,{},$);if(je){let ct=je.values,St=[];for(let Nt=0;NtFr*_u);sr.startsWith("top")?Er[1]-=Cv:sr.startsWith("bottom")&&(Er[1]+=Cv),St[Nt+1]=Er}return new oa(St)}let We=Ee.get("text-variable-anchor");if(We){let ct;ct=W._unevaluatedLayout.getValue("text-radial-offset")!==void 0?[Ee.get("text-radial-offset").evaluate(D,{},$)*_u,Yv]:Ee.get("text-offset").evaluate(D,{},$).map(Nt=>Nt*_u);let St=[];for(let Nt of We)St.push(Nt,Ng(Nt,ct));return new oa(St)}return null}function Ug(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 sw(W,D,$,he,Ee,je,We,ct,St,Nt,sr){let Er=je.textMaxSize.evaluate(D,{});Er===void 0&&(Er=We);let Fr=W.layers[0].layout,Xr=Fr.get("icon-offset").evaluate(D,{},sr),ni=N1($.horizontal),gi=We/24,Zi=W.tilePixelRatio*gi,aa=W.tilePixelRatio*Er/24,nn=W.tilePixelRatio*ct,Aa=W.tilePixelRatio*Fr.get("symbol-spacing"),Ja=Fr.get("text-padding")*W.tilePixelRatio,dn=function(Nn,Ts,as,Ws=1){let ic=Nn.get("icon-padding").evaluate(Ts,{},as),Yu=ic&&ic.values;return[Yu[0]*Ws,Yu[1]*Ws,Yu[2]*Ws,Yu[3]*Ws]}(Fr,D,sr,W.tilePixelRatio),no=Fr.get("text-max-angle")/180*Math.PI,Zo=Fr.get("text-rotation-alignment")!=="viewport"&&Fr.get("symbol-placement")!=="point",Ds=Fr.get("icon-rotation-alignment")==="map"&&Fr.get("symbol-placement")!=="point",Fo=Fr.get("symbol-placement"),Jn=Aa/2,_s=Fr.get("icon-text-fit"),ls;he&&_s!=="none"&&(W.allowVerticalPlacement&&$.vertical&&(ls=_1(he,$.vertical,_s,Fr.get("icon-text-fit-padding"),Xr,gi)),ni&&(he=_1(he,ni,_s,Fr.get("icon-text-fit-padding"),Xr,gi)));let is=(Nn,Ts)=>{Ts.x<0||Ts.x>=zo||Ts.y<0||Ts.y>=zo||function(as,Ws,ic,Yu,Kf,pd,gh,$f,Fh,Bh,Oh,pf,Jf,Sh,yh,sh,bf,ld,Hh,xu,pc,ac,ud,rf,Lp){let jd=as.addToLineVertexArray(Ws,ic),Rd,md,Uc,If,gd=0,ov=0,Gh=0,Ip=0,Gg=-1,Mm=-1,Vd={},Zv=ua("");if(as.allowVerticalPlacement&&Yu.vertical){let Mh=$f.layout.get("text-rotate").evaluate(pc,{},rf)+90;Uc=new kv(Fh,Ws,Bh,Oh,pf,Yu.vertical,Jf,Sh,yh,Mh),gh&&(If=new kv(Fh,Ws,Bh,Oh,pf,gh,bf,ld,yh,Mh))}if(Kf){let Mh=$f.layout.get("icon-rotate").evaluate(pc,{}),yd=$f.layout.get("icon-text-fit")!=="none",Lv=z1(Kf,Mh,ud,yd),Nh=gh?z1(gh,Mh,ud,yd):void 0;md=new kv(Fh,Ws,Bh,Oh,pf,Kf,bf,ld,!1,Mh),gd=4*Lv.length;let Eh=as.iconSizeData,Ld=null;Eh.kind==="source"?(Ld=[Ud*$f.layout.get("icon-size").evaluate(pc,{})],Ld[0]>Mv&&f(`${as.layerIds[0]}: Value for "icon-size" is >= ${y0}. Reduce your "icon-size".`)):Eh.kind==="composite"&&(Ld=[Ud*ac.compositeIconSizes[0].evaluate(pc,{},rf),Ud*ac.compositeIconSizes[1].evaluate(pc,{},rf)],(Ld[0]>Mv||Ld[1]>Mv)&&f(`${as.layerIds[0]}: Value for "icon-size" is >= ${y0}. Reduce your "icon-size".`)),as.addSymbols(as.icon,Lv,Ld,xu,Hh,pc,e.ah.none,Ws,jd.lineStartIndex,jd.lineLength,-1,rf),Gg=as.icon.placedSymbolArray.length-1,Nh&&(ov=4*Nh.length,as.addSymbols(as.icon,Nh,Ld,xu,Hh,pc,e.ah.vertical,Ws,jd.lineStartIndex,jd.lineLength,-1,rf),Mm=as.icon.placedSymbolArray.length-1)}let lh=Object.keys(Yu.horizontal);for(let Mh of lh){let yd=Yu.horizontal[Mh];if(!Rd){Zv=ua(yd.text);let Nh=$f.layout.get("text-rotate").evaluate(pc,{},rf);Rd=new kv(Fh,Ws,Bh,Oh,pf,yd,Jf,Sh,yh,Nh)}let Lv=yd.positionedLines.length===1;if(Gh+=O1(as,Ws,yd,pd,$f,yh,pc,sh,jd,Yu.vertical?e.ah.horizontal:e.ah.horizontalOnly,Lv?lh:[Mh],Vd,Gg,ac,rf),Lv)break}Yu.vertical&&(Ip+=O1(as,Ws,Yu.vertical,pd,$f,yh,pc,sh,jd,e.ah.vertical,["vertical"],Vd,Mm,ac,rf));let cw=Rd?Rd.boxStartIndex:as.collisionBoxArray.length,Em=Rd?Rd.boxEndIndex:as.collisionBoxArray.length,qd=Uc?Uc.boxStartIndex:as.collisionBoxArray.length,Wh=Uc?Uc.boxEndIndex:as.collisionBoxArray.length,q1=md?md.boxStartIndex:as.collisionBoxArray.length,fw=md?md.boxEndIndex:as.collisionBoxArray.length,H1=If?If.boxStartIndex:as.collisionBoxArray.length,hw=If?If.boxEndIndex:as.collisionBoxArray.length,Cd=-1,k0=(Mh,yd)=>Mh&&Mh.circleDiameter?Math.max(Mh.circleDiameter,yd):yd;Cd=k0(Rd,Cd),Cd=k0(Uc,Cd),Cd=k0(md,Cd),Cd=k0(If,Cd);let km=Cd>-1?1:0;km&&(Cd*=Lp/_u),as.glyphOffsetArray.length>=Sp.MAX_GLYPHS&&f("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),pc.sortKey!==void 0&&as.addToSortKeyRanges(as.symbolInstances.length,pc.sortKey);let Wg=B1($f,pc,rf),[dw,vw]=function(Mh,yd){let Lv=Mh.length,Nh=yd?.values;if(Nh?.length>0)for(let Eh=0;Eh=0?Vd.right:-1,Vd.center>=0?Vd.center:-1,Vd.left>=0?Vd.left:-1,Vd.vertical||-1,Gg,Mm,Zv,cw,Em,qd,Wh,q1,fw,H1,hw,Bh,Gh,Ip,gd,ov,km,0,Jf,Cd,dw,vw)}(W,Ts,Nn,$,he,Ee,ls,W.layers[0],W.collisionBoxArray,D.index,D.sourceLayerIndex,W.index,Zi,[Ja,Ja,Ja,Ja],Zo,St,nn,dn,Ds,Xr,D,je,Nt,sr,We)};if(Fo==="line")for(let Nn of L1(D.geometry,0,0,zo,zo)){let Ts=aw(Nn,Aa,no,$.vertical||ni,he,24,aa,W.overscaling,zo);for(let as of Ts)ni&&lw(W,ni.text,Jn,as)||is(Nn,as)}else if(Fo==="line-center"){for(let Nn of D.geometry)if(Nn.length>1){let Ts=iw(Nn,no,$.vertical||ni,he,24,aa);Ts&&is(Nn,Ts)}}else if(D.type==="Polygon")for(let Nn of kc(D.geometry,0)){let Ts=nw(Nn,16);is(Nn[0],new av(Ts.x,Ts.y,0))}else if(D.type==="LineString")for(let Nn of D.geometry)is(Nn,new av(Nn[0].x,Nn[0].y,0));else if(D.type==="Point")for(let Nn of D.geometry)for(let Ts of Nn)is([Ts],new av(Ts.x,Ts.y,0))}function O1(W,D,$,he,Ee,je,We,ct,St,Nt,sr,Er,Fr,Xr,ni){let gi=function(nn,Aa,Ja,dn,no,Zo,Ds,Fo){let Jn=dn.layout.get("text-rotate").evaluate(Zo,{})*Math.PI/180,_s=[];for(let ls of Aa.positionedLines)for(let is of ls.positionedGlyphs){if(!is.rect)continue;let Nn=is.rect||{},Ts=v1+1,as=!0,Ws=1,ic=0,Yu=(no||Fo)&&is.vertical,Kf=is.metrics.advance*is.scale/2;if(Fo&&Aa.verticalizable&&(ic=ls.lineOffset/2-(is.imageName?-(_u-is.metrics.width*is.scale)/2:(is.scale-1)*_u)),is.imageName){let xu=Ds[is.imageName];as=xu.sdf,Ws=xu.pixelRatio,Ts=Ah/Ws}let pd=no?[is.x+Kf,is.y]:[0,0],gh=no?[0,0]:[is.x+Kf+Ja[0],is.y+Ja[1]-ic],$f=[0,0];Yu&&($f=gh,gh=[0,0]);let Fh=is.metrics.isDoubleResolution?2:1,Bh=(is.metrics.left-Ts)*is.scale-Kf+gh[0],Oh=(-is.metrics.top-Ts)*is.scale+gh[1],pf=Bh+Nn.w/Fh*is.scale/Ws,Jf=Oh+Nn.h/Fh*is.scale/Ws,Sh=new n(Bh,Oh),yh=new n(pf,Oh),sh=new n(Bh,Jf),bf=new n(pf,Jf);if(Yu){let xu=new n(-Kf,Kf-Zf),pc=-Math.PI/2,ac=_u/2-Kf,ud=new n(5-Zf-ac,-(is.imageName?ac:0)),rf=new n(...$f);Sh._rotateAround(pc,xu)._add(ud)._add(rf),yh._rotateAround(pc,xu)._add(ud)._add(rf),sh._rotateAround(pc,xu)._add(ud)._add(rf),bf._rotateAround(pc,xu)._add(ud)._add(rf)}if(Jn){let xu=Math.sin(Jn),pc=Math.cos(Jn),ac=[pc,-xu,xu,pc];Sh._matMult(ac),yh._matMult(ac),sh._matMult(ac),bf._matMult(ac)}let ld=new n(0,0),Hh=new n(0,0);_s.push({tl:Sh,tr:yh,bl:sh,br:bf,tex:Nn,writingMode:Aa.writingMode,glyphOffset:pd,sectionIndex:is.sectionIndex,isSDF:as,pixelOffsetTL:ld,pixelOffsetBR:Hh,minFontScaleX:0,minFontScaleY:0})}return _s}(0,$,ct,Ee,je,We,he,W.allowVerticalPlacement),Zi=W.textSizeData,aa=null;Zi.kind==="source"?(aa=[Ud*Ee.layout.get("text-size").evaluate(We,{})],aa[0]>Mv&&f(`${W.layerIds[0]}: Value for "text-size" is >= ${y0}. Reduce your "text-size".`)):Zi.kind==="composite"&&(aa=[Ud*Xr.compositeTextSizes[0].evaluate(We,{},ni),Ud*Xr.compositeTextSizes[1].evaluate(We,{},ni)],(aa[0]>Mv||aa[1]>Mv)&&f(`${W.layerIds[0]}: Value for "text-size" is >= ${y0}. Reduce your "text-size".`)),W.addSymbols(W.text,gi,aa,ct,je,We,Nt,D,St.lineStartIndex,St.lineLength,Fr,ni);for(let nn of sr)Er[nn]=W.text.placedSymbolArray.length-1;return 4*gi.length}function N1(W){for(let D in W)return W[D];return null}function lw(W,D,$,he){let Ee=W.compareText;if(D in Ee){let je=Ee[D];for(let We=je.length-1;We>=0;We--)if(he.dist(je[We])<$)return!0}else Ee[D]=[];return Ee[D].push(he),!1}let U1=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class jg{static from(D){if(!(D instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");let[$,he]=new Uint8Array(D,0,2);if($!==219)throw new Error("Data does not appear to be in a KDBush format.");let Ee=he>>4;if(Ee!==1)throw new Error(`Got v${Ee} data when expected v1.`);let je=U1[15&he];if(!je)throw new Error("Unrecognized array type.");let[We]=new Uint16Array(D,2,1),[ct]=new Uint32Array(D,4,1);return new jg(ct,We,je,D)}constructor(D,$=64,he=Float64Array,Ee){if(isNaN(D)||D<0)throw new Error(`Unpexpected numItems value: ${D}.`);this.numItems=+D,this.nodeSize=Math.min(Math.max(+$,2),65535),this.ArrayType=he,this.IndexArrayType=D<65536?Uint16Array:Uint32Array;let je=U1.indexOf(this.ArrayType),We=2*D*this.ArrayType.BYTES_PER_ELEMENT,ct=D*this.IndexArrayType.BYTES_PER_ELEMENT,St=(8-ct%8)%8;if(je<0)throw new Error(`Unexpected typed array class: ${he}.`);Ee&&Ee instanceof ArrayBuffer?(this.data=Ee,this.ids=new this.IndexArrayType(this.data,8,D),this.coords=new this.ArrayType(this.data,8+ct+St,2*D),this._pos=2*D,this._finished=!0):(this.data=new ArrayBuffer(8+We+ct+St),this.ids=new this.IndexArrayType(this.data,8,D),this.coords=new this.ArrayType(this.data,8+ct+St,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]=$,new Uint32Array(this.data,4,1)[0]=D)}add(D,$){let he=this._pos>>1;return this.ids[he]=he,this.coords[this._pos++]=D,this.coords[this._pos++]=$,he}finish(){let D=this._pos>>1;if(D!==this.numItems)throw new Error(`Added ${D} items when expected ${this.numItems}.`);return Tm(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(D,$,he,Ee){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:je,coords:We,nodeSize:ct}=this,St=[0,je.length-1,0],Nt=[];for(;St.length;){let sr=St.pop()||0,Er=St.pop()||0,Fr=St.pop()||0;if(Er-Fr<=ct){for(let Zi=Fr;Zi<=Er;Zi++){let aa=We[2*Zi],nn=We[2*Zi+1];aa>=D&&aa<=he&&nn>=$&&nn<=Ee&&Nt.push(je[Zi])}continue}let Xr=Fr+Er>>1,ni=We[2*Xr],gi=We[2*Xr+1];ni>=D&&ni<=he&&gi>=$&&gi<=Ee&&Nt.push(je[Xr]),(sr===0?D<=ni:$<=gi)&&(St.push(Fr),St.push(Xr-1),St.push(1-sr)),(sr===0?he>=ni:Ee>=gi)&&(St.push(Xr+1),St.push(Er),St.push(1-sr))}return Nt}within(D,$,he){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:Ee,coords:je,nodeSize:We}=this,ct=[0,Ee.length-1,0],St=[],Nt=he*he;for(;ct.length;){let sr=ct.pop()||0,Er=ct.pop()||0,Fr=ct.pop()||0;if(Er-Fr<=We){for(let Zi=Fr;Zi<=Er;Zi++)V1(je[2*Zi],je[2*Zi+1],D,$)<=Nt&&St.push(Ee[Zi]);continue}let Xr=Fr+Er>>1,ni=je[2*Xr],gi=je[2*Xr+1];V1(ni,gi,D,$)<=Nt&&St.push(Ee[Xr]),(sr===0?D-he<=ni:$-he<=gi)&&(ct.push(Fr),ct.push(Xr-1),ct.push(1-sr)),(sr===0?D+he>=ni:$+he>=gi)&&(ct.push(Xr+1),ct.push(Er),ct.push(1-sr))}return St}}function Tm(W,D,$,he,Ee,je){if(Ee-he<=$)return;let We=he+Ee>>1;j1(W,D,We,he,Ee,je),Tm(W,D,$,he,We-1,1-je),Tm(W,D,$,We+1,Ee,1-je)}function j1(W,D,$,he,Ee,je){for(;Ee>he;){if(Ee-he>600){let Nt=Ee-he+1,sr=$-he+1,Er=Math.log(Nt),Fr=.5*Math.exp(2*Er/3),Xr=.5*Math.sqrt(Er*Fr*(Nt-Fr)/Nt)*(sr-Nt/2<0?-1:1);j1(W,D,$,Math.max(he,Math.floor($-sr*Fr/Nt+Xr)),Math.min(Ee,Math.floor($+(Nt-sr)*Fr/Nt+Xr)),je)}let We=D[2*$+je],ct=he,St=Ee;for(M0(W,D,he,$),D[2*Ee+je]>We&&M0(W,D,he,Ee);ctWe;)St--}D[2*he+je]===We?M0(W,D,he,St):(St++,M0(W,D,St,Ee)),St<=$&&(he=St+1),$<=St&&(Ee=St-1)}}function M0(W,D,$,he){Vg(W,$,he),Vg(D,2*$,2*he),Vg(D,2*$+1,2*he+1)}function Vg(W,D,$){let he=W[D];W[D]=W[$],W[$]=he}function V1(W,D,$,he){let Ee=W-$,je=D-he;return Ee*Ee+je*je}var Am;e.bg=void 0,(Am=e.bg||(e.bg={})).create="create",Am.load="load",Am.fullLoad="fullLoad";let E0=null,jf=[],qg=1e3/60,Hg="loadTime",Sm="fullLoadTime",uw={mark(W){performance.mark(W)},frame(W){let D=W;E0!=null&&jf.push(D-E0),E0=D},clearMetrics(){E0=null,jf=[],performance.clearMeasures(Hg),performance.clearMeasures(Sm);for(let W in e.bg)performance.clearMarks(e.bg[W])},getPerformanceMetrics(){performance.measure(Hg,e.bg.create,e.bg.load),performance.measure(Sm,e.bg.create,e.bg.fullLoad);let W=performance.getEntriesByName(Hg)[0].duration,D=performance.getEntriesByName(Sm)[0].duration,$=jf.length,he=1/(jf.reduce((je,We)=>je+We,0)/$/1e3),Ee=jf.filter(je=>je>qg).reduce((je,We)=>je+(We-qg)/qg,0);return{loadTime:W,fullLoadTime:D,fps:he,percentDroppedFrames:Ee/($+Ee)*100,totalFrames:$}}};e.$=class extends Ar{},e.A=la,e.B=an,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=Po,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 Dg(()=>this.process()),this.subscription=function($,he,Ee,je){return $.addEventListener(he,Ee,!1),{unsubscribe:()=>{$.removeEventListener(he,Ee,!1)}}}(this.target,"message",$=>this.receive($)),this.globalScope=L(self)?W:window}registerMessageHandler(W,D){this.messageHandlers[W]=D}sendAsync(W,D){return new Promise(($,he)=>{let Ee=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[Ee]={resolve:$,reject:he},D&&D.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 je=[],We=Object.assign(Object.assign({},W),{id:Ee,sourceMapId:this.mapId,origin:location.origin,data:yo(W.data,je)});this.target.postMessage(We,{transfer:je})})}receive(W){let D=W.data,$=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[$];let he=this.abortControllers[$];return delete this.abortControllers[$],void(he&&he.abort())}if(L(self)||D.mustQueue)return this.tasks[$]=D,this.taskQueue.push($),void this.invoker.trigger();this.processTask($,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 Ee=this.resolveRejects[W];return delete this.resolveRejects[W],Ee?void(D.error?Ee.reject(Io(D.error)):Ee.resolve(Io(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 $=Io(D.data),he=new AbortController;this.abortControllers[W]=he;try{let Ee=yield this.messageHandlers[D.type](D.sourceMapId,$,he);this.completeTask(W,null,Ee)}catch(Ee){this.completeTask(W,Ee)}})}completeTask(W,D,$){let he=[];delete this.abortControllers[W];let Ee={id:W,type:"",sourceMapId:this.mapId,origin:location.origin,error:D?yo(D):null,data:yo($,he)};this.target.postMessage(Ee,{transfer:he})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},e.G=le,e.H=function(){var W=new la(16);return la!=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=dm,e.J=function(W,D,$){var he,Ee,je,We,ct,St,Nt,sr,Er,Fr,Xr,ni,gi=$[0],Zi=$[1],aa=$[2];return D===W?(W[12]=D[0]*gi+D[4]*Zi+D[8]*aa+D[12],W[13]=D[1]*gi+D[5]*Zi+D[9]*aa+D[13],W[14]=D[2]*gi+D[6]*Zi+D[10]*aa+D[14],W[15]=D[3]*gi+D[7]*Zi+D[11]*aa+D[15]):(Ee=D[1],je=D[2],We=D[3],ct=D[4],St=D[5],Nt=D[6],sr=D[7],Er=D[8],Fr=D[9],Xr=D[10],ni=D[11],W[0]=he=D[0],W[1]=Ee,W[2]=je,W[3]=We,W[4]=ct,W[5]=St,W[6]=Nt,W[7]=sr,W[8]=Er,W[9]=Fr,W[10]=Xr,W[11]=ni,W[12]=he*gi+ct*Zi+Er*aa+D[12],W[13]=Ee*gi+St*Zi+Fr*aa+D[13],W[14]=je*gi+Nt*Zi+Xr*aa+D[14],W[15]=We*gi+sr*Zi+ni*aa+D[15]),W},e.K=function(W,D,$){var he=$[0],Ee=$[1],je=$[2];return W[0]=D[0]*he,W[1]=D[1]*he,W[2]=D[2]*he,W[3]=D[3]*he,W[4]=D[4]*Ee,W[5]=D[5]*Ee,W[6]=D[6]*Ee,W[7]=D[7]*Ee,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=$i,e.M=function(W,D){let $={};for(let he=0;he{let D=window.document.createElement("video");return D.muted=!0,new Promise($=>{D.onloadstart=()=>{$(D)};for(let he of W){let Ee=window.document.createElement("source");ee(he)||(D.crossOrigin="Anonymous"),Ee.src=he,D.appendChild(Ee)}})},e.a4=function(){return g++},e.a5=yn,e.a6=Sp,e.a7=Pc,e.a8=tu,e.a9=Bg,e.aA=function(W){if(W.type==="custom")return new Rg(W);switch(W.type){case"background":return new tw(W);case"circle":return new Qi(W);case"fill":return new Gt(W);case"fill-extrusion":return new id(W);case"heatmap":return new $n(W);case"hillshade":return new Rl(W);case"line":return new Vv(W);case"raster":return new w0(W);case"symbol":return new Wv(W)}},e.aB=u,e.aC=function(W,D){if(!W)return[{command:"setStyle",args:[D]}];let $=[];try{if(!we(W.version,D.version))return[{command:"setStyle",args:[D]}];we(W.center,D.center)||$.push({command:"setCenter",args:[D.center]}),we(W.zoom,D.zoom)||$.push({command:"setZoom",args:[D.zoom]}),we(W.bearing,D.bearing)||$.push({command:"setBearing",args:[D.bearing]}),we(W.pitch,D.pitch)||$.push({command:"setPitch",args:[D.pitch]}),we(W.sprite,D.sprite)||$.push({command:"setSprite",args:[D.sprite]}),we(W.glyphs,D.glyphs)||$.push({command:"setGlyphs",args:[D.glyphs]}),we(W.transition,D.transition)||$.push({command:"setTransition",args:[D.transition]}),we(W.light,D.light)||$.push({command:"setLight",args:[D.light]}),we(W.terrain,D.terrain)||$.push({command:"setTerrain",args:[D.terrain]}),we(W.sky,D.sky)||$.push({command:"setSky",args:[D.sky]}),we(W.projection,D.projection)||$.push({command:"setProjection",args:[D.projection]});let he={},Ee=[];(function(We,ct,St,Nt){let sr;for(sr in ct=ct||{},We=We||{})Object.prototype.hasOwnProperty.call(We,sr)&&(Object.prototype.hasOwnProperty.call(ct,sr)||Xe(sr,St,Nt));for(sr in ct)Object.prototype.hasOwnProperty.call(ct,sr)&&(Object.prototype.hasOwnProperty.call(We,sr)?we(We[sr],ct[sr])||(We[sr].type==="geojson"&&ct[sr].type==="geojson"&&it(We,ct,sr)?Re(St,{command:"setGeoJSONSourceData",args:[sr,ct[sr].data]}):tt(sr,ct,St,Nt)):ze(sr,ct,St))})(W.sources,D.sources,Ee,he);let je=[];W.layers&&W.layers.forEach(We=>{"source"in We&&he[We.source]?$.push({command:"removeLayer",args:[We.id]}):je.push(We)}),$=$.concat(Ee),function(We,ct,St){ct=ct||[];let Nt=(We=We||[]).map(nt),sr=ct.map(nt),Er=We.reduce(Ae,{}),Fr=ct.reduce(Ae,{}),Xr=Nt.slice(),ni=Object.create(null),gi,Zi,aa,nn,Aa;for(let Ja=0,dn=0;Ja@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,($,he,Ee,je)=>{let We=Ee||je;return D[he]=!We||We.toLowerCase(),""}),D["max-age"]){let $=parseInt(D["max-age"],10);isNaN($)?delete D["max-age"]:D["max-age"]=$}return D},e.ab=function(W,D){let $=[];for(let he in W)he in D||$.push(he);return $},e.ac=w,e.ad=function(W,D,$){var he=Math.sin($),Ee=Math.cos($),je=D[0],We=D[1],ct=D[2],St=D[3],Nt=D[4],sr=D[5],Er=D[6],Fr=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*Ee+Nt*he,W[1]=We*Ee+sr*he,W[2]=ct*Ee+Er*he,W[3]=St*Ee+Fr*he,W[4]=Nt*Ee-je*he,W[5]=sr*Ee-We*he,W[6]=Er*Ee-ct*he,W[7]=Fr*Ee-St*he,W},e.ae=function(W){var D=new la(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=kn,e.ag=function(W,D){let $=0,he=0;if(W.kind==="constant")he=W.layoutSize;else if(W.kind!=="source"){let{interpolationType:Ee,minZoom:je,maxZoom:We}=W,ct=Ee?w(Ao.interpolationFactor(Ee,D,je,We),0,1):0;W.kind==="camera"?he=eo.number(W.minSize,W.maxSize,ct):$=ct}return{uSizeT:$,uSize:he}},e.ai=function(W,{uSize:D,uSizeT:$},{lowerSize:he,upperSize:Ee}){return W.kind==="source"?he/Ud:W.kind==="composite"?eo.number(he/Ud,Ee/Ud,$):D},e.aj=Cg,e.ak=function(W,D,$,he){let Ee=D.y-W.y,je=D.x-W.x,We=he.y-$.y,ct=he.x-$.x,St=We*je-ct*Ee;if(St===0)return null;let Nt=(ct*(W.y-$.y)-We*(W.x-$.x))/St;return new n(W.x+Nt*je,W.y+Nt*Ee)},e.al=L1,e.am=Tc,e.an=ba,e.ao=function(W){let D=1/0,$=1/0,he=-1/0,Ee=-1/0;for(let je of W)D=Math.min(D,je.x),$=Math.min($,je.y),he=Math.max(he,je.x),Ee=Math.max(Ee,je.y);return[D,$,he,Ee]},e.ap=_u,e.ar=kg,e.as=function(W,D){var $=D[0],he=D[1],Ee=D[2],je=D[3],We=D[4],ct=D[5],St=D[6],Nt=D[7],sr=D[8],Er=D[9],Fr=D[10],Xr=D[11],ni=D[12],gi=D[13],Zi=D[14],aa=D[15],nn=$*ct-he*We,Aa=$*St-Ee*We,Ja=$*Nt-je*We,dn=he*St-Ee*ct,no=he*Nt-je*ct,Zo=Ee*Nt-je*St,Ds=sr*gi-Er*ni,Fo=sr*Zi-Fr*ni,Jn=sr*aa-Xr*ni,_s=Er*Zi-Fr*gi,ls=Er*aa-Xr*gi,is=Fr*aa-Xr*Zi,Nn=nn*is-Aa*ls+Ja*_s+dn*Jn-no*Fo+Zo*Ds;return Nn?(W[0]=(ct*is-St*ls+Nt*_s)*(Nn=1/Nn),W[1]=(Ee*ls-he*is-je*_s)*Nn,W[2]=(gi*Zo-Zi*no+aa*dn)*Nn,W[3]=(Fr*no-Er*Zo-Xr*dn)*Nn,W[4]=(St*Jn-We*is-Nt*Fo)*Nn,W[5]=($*is-Ee*Jn+je*Fo)*Nn,W[6]=(Zi*Ja-ni*Zo-aa*Aa)*Nn,W[7]=(sr*Zo-Fr*Ja+Xr*Aa)*Nn,W[8]=(We*ls-ct*Jn+Nt*Ds)*Nn,W[9]=(he*Jn-$*ls-je*Ds)*Nn,W[10]=(ni*no-gi*Ja+aa*nn)*Nn,W[11]=(Er*Ja-sr*no-Xr*nn)*Nn,W[12]=(ct*Fo-We*_s-St*Ds)*Nn,W[13]=($*_s-he*Fo+Ee*Ds)*Nn,W[14]=(gi*Aa-ni*dn-Zi*nn)*Nn,W[15]=(sr*dn-Er*Aa+Fr*nn)*Nn,W):null},e.at=Ug,e.au=gm,e.av=jg,e.aw=function(){let W={},D=re.$version;for(let $ in re.$root){let he=re.$root[$];if(he.required){let Ee=null;Ee=$==="version"?D:he.type==="array"?[]:{},Ee!=null&&(W[$]=Ee)}}return W},e.ax=Vn,e.ay=q,e.az=function(W){W=W.slice();let D=Object.create(null);for(let $=0;$25||he<0||he>=1||$<0||$>=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 Qt{},e.be=zg,e.bf=uw,e.bh=ce,e.bi=function(W,D){J.REGISTERED_PROTOCOLS[W]=D},e.bj=function(W){delete J.REGISTERED_PROTOCOLS[W]},e.bk=function(W,D){let $={};for(let Ee=0;Eeis*_u)}let Fo=We?"center":$.get("text-justify").evaluate(Nt,{},W.canonical),Jn=$.get("symbol-placement")==="point"?$.get("text-max-width").evaluate(Nt,{},W.canonical)*_u:1/0,_s=()=>{W.bucket.allowVerticalPlacement&&Oo(Ja)&&(ni.vertical=m0(gi,W.glyphMap,W.glyphPositions,W.imagePositions,sr,Jn,je,Zo,"left",no,aa,e.ah.vertical,!0,Fr,Er))};if(!We&&Ds){let ls=new Set;if(Fo==="auto")for(let Nn=0;Nnt(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($){throw new Error(`Could not load image because of ${$.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,$)=>{let he=new Image;he.onload=()=>{D(he),URL.revokeObjectURL(he.src),he.onload=null,window.requestAnimationFrame(()=>{he.src=N})},he.onerror=()=>$(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"});he.src=W.byteLength?URL.createObjectURL(Ee):N}),e.g=se,e.h=(W,D)=>Z(M(W,{type:"json"}),D),e.i=L,e.j=j,e.k=ie,e.l=(W,D)=>Z(M(W,{type:"arrayBuffer"}),D),e.m=Z,e.n=function(W){return new Sg(W).readFields($A,[])},e.o=Zn,e.p=Eg,e.q=Ue,e.r=Ba,e.s=ee,e.t=Na,e.u=pa,e.v=re,e.w=f,e.x=function([W,D,$]){return D+=90,D*=Math.PI/180,$*=Math.PI/180,{x:W*Math.cos(D)*Math.sin($),y:W*Math.sin(D)*Math.sin($),z:W*Math.cos($)}},e.y=eo,e.z=Zs}),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,Ye){for(let Ie of Ne){this._layerConfigs[Ie.id]=Ie;let qe=this._layers[Ie.id]=e.aA(Ie);qe._featureFilter=e.a7(qe.filter),this.keyCache[Ie.id]&&delete this.keyCache[Ie.id]}for(let Ie of Ye)delete this.keyCache[Ie],delete this._layerConfigs[Ie],delete this._layers[Ie];this.familiesBySource={};let be=e.bk(Object.values(this._layerConfigs),this.keyCache);for(let Ie of be){let qe=Ie.map(gt=>this._layers[gt.id]),ke=qe[0];if(ke.visibility==="none")continue;let Me=ke.source||"",Le=this.familiesBySource[Me];Le||(Le=this.familiesBySource[Me]={});let ut=ke.sourceLayer||"_geojsonTileLayer",lt=Le[ut];lt||(lt=Le[ut]=[]),lt.push(qe)}}}class r{constructor(Ne){let Ye={},be=[];for(let Me in Ne){let Le=Ne[Me],ut=Ye[Me]={};for(let lt in Le){let gt=Le[+lt];if(!gt||gt.bitmap.width===0||gt.bitmap.height===0)continue;let kt={x:0,y:0,w:gt.bitmap.width+2,h:gt.bitmap.height+2};be.push(kt),ut[lt]={rect:kt,metrics:gt.metrics}}}let{w:Ie,h:qe}=e.p(be),ke=new e.o({width:Ie||1,height:qe||1});for(let Me in Ne){let Le=Ne[Me];for(let ut in Le){let lt=Le[+ut];if(!lt||lt.bitmap.width===0||lt.bitmap.height===0)continue;let gt=Ye[Me][ut].rect;e.o.copy(lt.bitmap,ke,{x:0,y:0},{x:gt.x+1,y:gt.y+1},lt.bitmap)}}this.image=ke,this.positions=Ye}}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,Ye,be,Ie){return e._(this,void 0,void 0,function*(){this.status="parsing",this.data=Ne,this.collisionBoxArray=new e.a5;let qe=new e.bm(Object.keys(Ne.layers).sort()),ke=new e.bn(this.tileID,this.promoteId);ke.bucketLayerIDs=[];let Me={},Le={featureIndex:ke,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:be},ut=Ye.familiesBySource[this.source];for(let ea in ut){let Bi=Ne.layers[ea];if(!Bi)continue;Bi.version===1&&e.w(`Vector tile source "${this.source}" layer "${ea}" does not use vector tile spec v2 and therefore may have some rendering errors.`);let _a=qe.encode(ea),Ca=[];for(let Kt=0;Kt=zt.maxzoom||zt.visibility!=="none"&&(i(Kt,this.zoom,be),(Me[zt.id]=zt.createBucket({index:ke.bucketLayerIDs.length,layers:Kt,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:_a,sourceID:this.source})).populate(Ca,Le,this.tileID.canonical),ke.bucketLayerIDs.push(Kt.map(Zt=>Zt.id)))}}let lt=e.aF(Le.glyphDependencies,ea=>Object.keys(ea).map(Number));this.inFlightDependencies.forEach(ea=>ea?.abort()),this.inFlightDependencies=[];let gt=Promise.resolve({});if(Object.keys(lt).length){let ea=new AbortController;this.inFlightDependencies.push(ea),gt=Ie.sendAsync({type:"GG",data:{stacks:lt,source:this.source,tileID:this.tileID,type:"glyphs"}},ea)}let kt=Object.keys(Le.iconDependencies),nr=Promise.resolve({});if(kt.length){let ea=new AbortController;this.inFlightDependencies.push(ea),nr=Ie.sendAsync({type:"GI",data:{icons:kt,source:this.source,tileID:this.tileID,type:"icons"}},ea)}let ir=Object.keys(Le.patternDependencies),tr=Promise.resolve({});if(ir.length){let ea=new AbortController;this.inFlightDependencies.push(ea),tr=Ie.sendAsync({type:"GI",data:{icons:ir,source:this.source,tileID:this.tileID,type:"patterns"}},ea)}let[Ir,vi,Vi]=yield Promise.all([gt,nr,tr]),Ui=new r(Ir),Ki=new e.bo(vi,Vi);for(let ea in Me){let Bi=Me[ea];Bi instanceof e.a6?(i(Bi.layers,this.zoom,be),e.bp({bucket:Bi,glyphMap:Ir,glyphPositions:Ui.positions,imageMap:vi,imagePositions:Ki.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):Bi.hasPattern&&(Bi instanceof e.bq||Bi instanceof e.br||Bi instanceof e.bs)&&(i(Bi.layers,this.zoom,be),Bi.addFeatures(Le,this.tileID.canonical,Ki.patternPositions))}return this.status="done",{buckets:Object.values(Me).filter(ea=>!ea.isEmpty()),featureIndex:ke,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:Ui.image,imageAtlas:Ki,glyphMap:this.returnDependencies?Ir:null,iconMap:this.returnDependencies?vi:null,glyphPositions:this.returnDependencies?Ui.positions:null}})}}function i(xt,Ne,Ye){let be=new e.z(Ne);for(let Ie of xt)Ie.recalculate(be,Ye)}class n{constructor(Ne,Ye,be){this.actor=Ne,this.layerIndex=Ye,this.availableImages=be,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(Ne,Ye){return e._(this,void 0,void 0,function*(){let be=yield e.l(Ne.request,Ye);try{return{vectorTile:new e.bt.VectorTile(new e.bu(be.data)),rawData:be.data,cacheControl:be.cacheControl,expires:be.expires}}catch(Ie){let qe=new Uint8Array(be.data),ke=`Unable to parse the tile at ${Ne.request.url}, `;throw ke+=qe[0]===31&&qe[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(ke)}})}loadTile(Ne){return e._(this,void 0,void 0,function*(){let Ye=Ne.uid,be=!!(Ne&&Ne.request&&Ne.request.collectResourceTiming)&&new e.bv(Ne.request),Ie=new o(Ne);this.loading[Ye]=Ie;let qe=new AbortController;Ie.abort=qe;try{let ke=yield this.loadVectorTile(Ne,qe);if(delete this.loading[Ye],!ke)return null;let Me=ke.rawData,Le={};ke.expires&&(Le.expires=ke.expires),ke.cacheControl&&(Le.cacheControl=ke.cacheControl);let ut={};if(be){let gt=be.finish();gt&&(ut.resourceTiming=JSON.parse(JSON.stringify(gt)))}Ie.vectorTile=ke.vectorTile;let lt=Ie.parse(ke.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[Ye]=Ie,this.fetching[Ye]={rawTileData:Me,cacheControl:Le,resourceTiming:ut};try{let gt=yield lt;return e.e({rawTileData:Me.slice(0)},gt,Le,ut)}finally{delete this.fetching[Ye]}}catch(ke){throw delete this.loading[Ye],Ie.status="done",this.loaded[Ye]=Ie,ke}})}reloadTile(Ne){return e._(this,void 0,void 0,function*(){let Ye=Ne.uid;if(!this.loaded||!this.loaded[Ye])throw new Error("Should not be trying to reload a tile that was never loaded or has been removed");let be=this.loaded[Ye];if(be.showCollisionBoxes=Ne.showCollisionBoxes,be.status==="parsing"){let Ie=yield be.parse(be.vectorTile,this.layerIndex,this.availableImages,this.actor),qe;if(this.fetching[Ye]){let{rawTileData:ke,cacheControl:Me,resourceTiming:Le}=this.fetching[Ye];delete this.fetching[Ye],qe=e.e({rawTileData:ke.slice(0)},Ie,Me,Le)}else qe=Ie;return qe}if(be.status==="done"&&be.vectorTile)return be.parse(be.vectorTile,this.layerIndex,this.availableImages,this.actor)})}abortTile(Ne){return e._(this,void 0,void 0,function*(){let Ye=this.loading,be=Ne.uid;Ye&&Ye[be]&&Ye[be].abort&&(Ye[be].abort.abort(),delete Ye[be])})}removeTile(Ne){return e._(this,void 0,void 0,function*(){this.loaded&&this.loaded[Ne.uid]&&delete this.loaded[Ne.uid]})}}class a{constructor(){this.loaded={}}loadTile(Ne){return e._(this,void 0,void 0,function*(){let{uid:Ye,encoding:be,rawImageData:Ie,redFactor:qe,greenFactor:ke,blueFactor:Me,baseShift:Le}=Ne,ut=Ie.width+2,lt=Ie.height+2,gt=e.b(Ie)?new e.R({width:ut,height:lt},yield e.bw(Ie,-1,-1,ut,lt)):Ie,kt=new e.bx(Ye,gt,be,qe,ke,Me,Le);return this.loaded=this.loaded||{},this.loaded[Ye]=kt,kt})}removeTile(Ne){let Ye=this.loaded,be=Ne.uid;Ye&&Ye[be]&&delete Ye[be]}}function s(xt,Ne){if(xt.length!==0){h(xt[0],Ne);for(var Ye=1;Ye=Math.abs(Me)?Ye-Le+Me:Me-Le+Ye,Ye=Le}Ye+be>=0!=!!Ne&&xt.reverse()}var c=e.by(function xt(Ne,Ye){var be,Ie=Ne&&Ne.type;if(Ie==="FeatureCollection")for(be=0;be>31}function L(xt,Ne){for(var Ye=xt.loadGeometry(),be=xt.type,Ie=0,qe=0,ke=Ye.length,Me=0;Mext},B=Math.fround||(I=new Float32Array(1),xt=>(I[0]=+xt,I[0]));var I;let U=3,O=5,X=6;class J{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:Ye,minZoom:be,maxZoom:Ie}=this.options;Ye&&console.time("total time");let qe=`prepare ${Ne.length} points`;Ye&&console.time(qe),this.points=Ne;let ke=[];for(let Le=0;Le=be;Le--){let ut=+Date.now();Me=this.trees[Le]=this._createTree(this._cluster(Me,Le)),Ye&&console.log("z%d: %d clusters in %dms",Le,Me.numItems,+Date.now()-ut)}return Ye&&console.timeEnd("total time"),this}getClusters(Ne,Ye){let be=((Ne[0]+180)%360+360)%360-180,Ie=Math.max(-90,Math.min(90,Ne[1])),qe=Ne[2]===180?180:((Ne[2]+180)%360+360)%360-180,ke=Math.max(-90,Math.min(90,Ne[3]));if(Ne[2]-Ne[0]>=360)be=-180,qe=180;else if(be>qe){let gt=this.getClusters([be,Ie,180,ke],Ye),kt=this.getClusters([-180,Ie,qe,ke],Ye);return gt.concat(kt)}let Me=this.trees[this._limitZoom(Ye)],Le=Me.range(ce(be),q(ke),ce(qe),q(Ie)),ut=Me.data,lt=[];for(let gt of Le){let kt=this.stride*gt;lt.push(ut[kt+O]>1?se(ut,kt,this.clusterProps):this.points[ut[kt+U]])}return lt}getChildren(Ne){let Ye=this._getOriginId(Ne),be=this._getOriginZoom(Ne),Ie="No cluster with the specified id.",qe=this.trees[be];if(!qe)throw new Error(Ie);let ke=qe.data;if(Ye*this.stride>=ke.length)throw new Error(Ie);let Me=this.options.radius/(this.options.extent*Math.pow(2,be-1)),Le=qe.within(ke[Ye*this.stride],ke[Ye*this.stride+1],Me),ut=[];for(let lt of Le){let gt=lt*this.stride;ke[gt+4]===Ne&&ut.push(ke[gt+O]>1?se(ke,gt,this.clusterProps):this.points[ke[gt+U]])}if(ut.length===0)throw new Error(Ie);return ut}getLeaves(Ne,Ye,be){let Ie=[];return this._appendLeaves(Ie,Ne,Ye=Ye||10,be=be||0,0),Ie}getTile(Ne,Ye,be){let Ie=this.trees[this._limitZoom(Ne)],qe=Math.pow(2,Ne),{extent:ke,radius:Me}=this.options,Le=Me/ke,ut=(be-Le)/qe,lt=(be+1+Le)/qe,gt={features:[]};return this._addTileFeatures(Ie.range((Ye-Le)/qe,ut,(Ye+1+Le)/qe,lt),Ie.data,Ye,be,qe,gt),Ye===0&&this._addTileFeatures(Ie.range(1-Le/qe,ut,1,lt),Ie.data,qe,be,qe,gt),Ye===qe-1&&this._addTileFeatures(Ie.range(0,ut,Le/qe,lt),Ie.data,-1,be,qe,gt),gt.features.length?gt:null}getClusterExpansionZoom(Ne){let Ye=this._getOriginZoom(Ne)-1;for(;Ye<=this.options.maxZoom;){let be=this.getChildren(Ne);if(Ye++,be.length!==1)break;Ne=be[0].properties.cluster_id}return Ye}_appendLeaves(Ne,Ye,be,Ie,qe){let ke=this.getChildren(Ye);for(let Me of ke){let Le=Me.properties;if(Le&&Le.cluster?qe+Le.point_count<=Ie?qe+=Le.point_count:qe=this._appendLeaves(Ne,Le.cluster_id,be,Ie,qe):qe1,lt,gt,kt;if(ut)lt=le(Ye,Le,this.clusterProps),gt=Ye[Le],kt=Ye[Le+1];else{let tr=this.points[Ye[Le+U]];lt=tr.properties;let[Ir,vi]=tr.geometry.coordinates;gt=ce(Ir),kt=q(vi)}let nr={type:1,geometry:[[Math.round(this.options.extent*(gt*qe-be)),Math.round(this.options.extent*(kt*qe-Ie))]],tags:lt},ir;ir=ut||this.options.generateId?Ye[Le+U]:this.points[Ye[Le+U]].id,ir!==void 0&&(nr.id=ir),ke.features.push(nr)}}_limitZoom(Ne){return Math.max(this.options.minZoom,Math.min(Math.floor(+Ne),this.options.maxZoom+1))}_cluster(Ne,Ye){let{radius:be,extent:Ie,reduce:qe,minPoints:ke}=this.options,Me=be/(Ie*Math.pow(2,Ye)),Le=Ne.data,ut=[],lt=this.stride;for(let gt=0;gtYe&&(Ir+=Le[Vi+O])}if(Ir>tr&&Ir>=ke){let vi,Vi=kt*tr,Ui=nr*tr,Ki=-1,ea=((gt/lt|0)<<5)+(Ye+1)+this.points.length;for(let Bi of ir){let _a=Bi*lt;if(Le[_a+2]<=Ye)continue;Le[_a+2]=Ye;let Ca=Le[_a+O];Vi+=Le[_a]*Ca,Ui+=Le[_a+1]*Ca,Le[_a+4]=ea,qe&&(vi||(vi=this._map(Le,gt,!0),Ki=this.clusterProps.length,this.clusterProps.push(vi)),qe(vi,this._map(Le,_a)))}Le[gt+4]=ea,ut.push(Vi/Ir,Ui/Ir,1/0,ea,-1,Ir),qe&&ut.push(Ki)}else{for(let vi=0;vi1)for(let vi of ir){let Vi=vi*lt;if(!(Le[Vi+2]<=Ye)){Le[Vi+2]=Ye;for(let Ui=0;Ui>5}_getOriginZoom(Ne){return(Ne-this.points.length)%32}_map(Ne,Ye,be){if(Ne[Ye+O]>1){let ke=this.clusterProps[Ne[Ye+X]];return be?Object.assign({},ke):ke}let Ie=this.points[Ne[Ye+U]].properties,qe=this.options.map(Ie);return be&&qe===Ie?Object.assign({},qe):qe}}function se(xt,Ne,Ye){return{type:"Feature",id:xt[Ne+U],properties:le(xt,Ne,Ye),geometry:{type:"Point",coordinates:[(be=xt[Ne],360*(be-.5)),Z(xt[Ne+1])]}};var be}function le(xt,Ne,Ye){let be=xt[Ne+O],Ie=be>=1e4?`${Math.round(be/1e3)}k`:be>=1e3?Math.round(be/100)/10+"k":be,qe=xt[Ne+X],ke=qe===-1?{}:Object.assign({},Ye[qe]);return Object.assign(ke,{cluster:!0,cluster_id:xt[Ne+U],point_count:be,point_count_abbreviated:Ie})}function ce(xt){return xt/360+.5}function q(xt){let Ne=Math.sin(xt*Math.PI/180),Ye=.5-.25*Math.log((1+Ne)/(1-Ne))/Math.PI;return Ye<0?0:Ye>1?1:Ye}function Z(xt){let Ne=(180-360*xt)*Math.PI/180;return 360*Math.atan(Math.exp(Ne))/Math.PI-90}function ee(xt,Ne,Ye,be){let Ie=be,qe=Ne+(Ye-Ne>>1),ke,Me=Ye-Ne,Le=xt[Ne],ut=xt[Ne+1],lt=xt[Ye],gt=xt[Ye+1];for(let kt=Ne+3;ktIe)ke=kt,Ie=nr;else if(nr===Ie){let ir=Math.abs(kt-qe);irbe&&(ke-Ne>3&&ee(xt,Ne,ke,be),xt[ke+2]=Ie,Ye-ke>3&&ee(xt,ke,Ye,be))}function V(xt,Ne,Ye,be,Ie,qe){let ke=Ie-Ye,Me=qe-be;if(ke!==0||Me!==0){let Le=((xt-Ye)*ke+(Ne-be)*Me)/(ke*ke+Me*Me);Le>1?(Ye=Ie,be=qe):Le>0&&(Ye+=ke*Le,be+=Me*Le)}return ke=xt-Ye,Me=Ne-be,ke*ke+Me*Me}function oe(xt,Ne,Ye,be){let Ie={id:xt??null,type:Ne,geometry:Ye,tags:be,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(Ne==="Point"||Ne==="MultiPoint"||Ne==="LineString")ie(Ie,Ye);else if(Ne==="Polygon")ie(Ie,Ye[0]);else if(Ne==="MultiLineString")for(let qe of Ye)ie(Ie,qe);else if(Ne==="MultiPolygon")for(let qe of Ye)ie(Ie,qe[0]);return Ie}function ie(xt,Ne){for(let Ye=0;Ye0&&(ke+=be?(Ie*lt-ut*qe)/2:Math.sqrt(Math.pow(ut-Ie,2)+Math.pow(lt-qe,2))),Ie=ut,qe=lt}let Me=Ne.length-3;Ne[2]=1,ee(Ne,0,Me,Ye),Ne[Me+2]=1,Ne.size=Math.abs(ke),Ne.start=0,Ne.end=Ne.size}function ue(xt,Ne,Ye,be){for(let Ie=0;Ie1?1:Ye}function Re(xt,Ne,Ye,be,Ie,qe,ke,Me){if(be/=Ne,qe>=(Ye/=Ne)&&ke=be)return null;let Le=[];for(let ut of xt){let lt=ut.geometry,gt=ut.type,kt=Ie===0?ut.minX:ut.minY,nr=Ie===0?ut.maxX:ut.maxY;if(kt>=Ye&&nr=be)continue;let ir=[];if(gt==="Point"||gt==="MultiPoint")ze(lt,ir,Ye,be,Ie);else if(gt==="LineString")Xe(lt,ir,Ye,be,Ie,!1,Me.lineMetrics);else if(gt==="MultiLineString")it(lt,ir,Ye,be,Ie,!1);else if(gt==="Polygon")it(lt,ir,Ye,be,Ie,!0);else if(gt==="MultiPolygon")for(let tr of lt){let Ir=[];it(tr,Ir,Ye,be,Ie,!0),Ir.length&&ir.push(Ir)}if(ir.length){if(Me.lineMetrics&>==="LineString"){for(let tr of ir)Le.push(oe(ut.id,gt,tr,ut.tags));continue}gt!=="LineString"&>!=="MultiLineString"||(ir.length===1?(gt="LineString",ir=ir[0]):gt="MultiLineString"),gt!=="Point"&>!=="MultiPoint"||(gt=ir.length===3?"Point":"MultiPoint"),Le.push(oe(ut.id,gt,ir,ut.tags))}}return Le.length?Le:null}function ze(xt,Ne,Ye,be,Ie){for(let qe=0;qe=Ye&&ke<=be&&et(Ne,xt[qe],xt[qe+1],xt[qe+2])}}function Xe(xt,Ne,Ye,be,Ie,qe,ke){let Me=tt(xt),Le=Ie===0?nt:Ae,ut,lt,gt=xt.start;for(let Ir=0;IrYe&&(lt=Le(Me,vi,Vi,Ki,ea,Ye),ke&&(Me.start=gt+ut*lt)):Bi>be?_a=Ye&&(lt=Le(Me,vi,Vi,Ki,ea,Ye),Ca=!0),_a>be&&Bi<=be&&(lt=Le(Me,vi,Vi,Ki,ea,be),Ca=!0),!qe&&Ca&&(ke&&(Me.end=gt+ut*lt),Ne.push(Me),Me=tt(xt)),ke&&(gt+=ut)}let kt=xt.length-3,nr=xt[kt],ir=xt[kt+1],tr=Ie===0?nr:ir;tr>=Ye&&tr<=be&&et(Me,nr,ir,xt[kt+2]),kt=Me.length-3,qe&&kt>=3&&(Me[kt]!==Me[0]||Me[kt+1]!==Me[1])&&et(Me,Me[0],Me[1],Me[2]),Me.length&&Ne.push(Me)}function tt(xt){let Ne=[];return Ne.size=xt.size,Ne.start=xt.start,Ne.end=xt.end,Ne}function it(xt,Ne,Ye,be,Ie,qe){for(let ke of xt)Xe(ke,Ne,Ye,be,Ie,qe,!1)}function et(xt,Ne,Ye,be){xt.push(Ne,Ye,be)}function nt(xt,Ne,Ye,be,Ie,qe){let ke=(qe-Ne)/(be-Ne);return et(xt,qe,Ye+(Ie-Ye)*ke,1),ke}function Ae(xt,Ne,Ye,be,Ie,qe){let ke=(qe-Ye)/(Ie-Ye);return et(xt,Ne+(be-Ne)*ke,qe,1),ke}function me(xt,Ne){let Ye=[];for(let be=0;be0&&Ne.size<(Ie?ke:be))return void(Ye.numPoints+=Ne.length/3);let Me=[];for(let Le=0;Leke)&&(Ye.numSimplified++,Me.push(Ne[Le],Ne[Le+1])),Ye.numPoints++;Ie&&function(Le,ut){let lt=0;for(let gt=0,kt=Le.length,nr=kt-2;gt0===ut)for(let gt=0,kt=Le.length;gt24)throw new Error("maxZoom should be in the 0-24 range");if(Ye.promoteId&&Ye.generateId)throw new Error("promoteId and generateId cannot be used together.");let Ie=function(qe,ke){let Me=[];if(qe.type==="FeatureCollection")for(let Le=0;Le1&&console.time("creation"),nr=this.tiles[kt]=at(Ne,Ye,be,Ie,ut),this.tileCoords.push({z:Ye,x:be,y:Ie}),lt)){lt>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",Ye,be,Ie,nr.numFeatures,nr.numPoints,nr.numSimplified),console.timeEnd("creation"));let Ca=`z${Ye}`;this.stats[Ca]=(this.stats[Ca]||0)+1,this.total++}if(nr.source=Ne,qe==null){if(Ye===ut.indexMaxZoom||nr.numPoints<=ut.indexMaxPoints)continue}else{if(Ye===ut.maxZoom||Ye===qe)continue;if(qe!=null){let Ca=qe-Ye;if(be!==ke>>Ca||Ie!==Me>>Ca)continue}}if(nr.source=null,Ne.length===0)continue;lt>1&&console.time("clipping");let ir=.5*ut.buffer/ut.extent,tr=.5-ir,Ir=.5+ir,vi=1+ir,Vi=null,Ui=null,Ki=null,ea=null,Bi=Re(Ne,gt,be-ir,be+Ir,0,nr.minX,nr.maxX,ut),_a=Re(Ne,gt,be+tr,be+vi,0,nr.minX,nr.maxX,ut);Ne=null,Bi&&(Vi=Re(Bi,gt,Ie-ir,Ie+Ir,1,nr.minY,nr.maxY,ut),Ui=Re(Bi,gt,Ie+tr,Ie+vi,1,nr.minY,nr.maxY,ut),Bi=null),_a&&(Ki=Re(_a,gt,Ie-ir,Ie+Ir,1,nr.minY,nr.maxY,ut),ea=Re(_a,gt,Ie+tr,Ie+vi,1,nr.minY,nr.maxY,ut),_a=null),lt>1&&console.timeEnd("clipping"),Le.push(Vi||[],Ye+1,2*be,2*Ie),Le.push(Ui||[],Ye+1,2*be,2*Ie+1),Le.push(Ki||[],Ye+1,2*be+1,2*Ie),Le.push(ea||[],Ye+1,2*be+1,2*Ie+1)}}getTile(Ne,Ye,be){Ne=+Ne,Ye=+Ye,be=+be;let Ie=this.options,{extent:qe,debug:ke}=Ie;if(Ne<0||Ne>24)return null;let Me=1<1&&console.log("drilling down to z%d-%d-%d",Ne,Ye,be);let ut,lt=Ne,gt=Ye,kt=be;for(;!ut&<>0;)lt--,gt>>=1,kt>>=1,ut=this.tiles[Wt(lt,gt,kt)];return ut&&ut.source?(ke>1&&(console.log("found parent tile z%d-%d-%d",lt,gt,kt),console.time("drilling down")),this.splitTile(ut.source,lt,gt,kt,Ne,Ye,be),ke>1&&console.timeEnd("drilling down"),this.tiles[Le]?Be(this.tiles[Le],qe):null):null}}function Wt(xt,Ne,Ye){return 32*((1<{gt.properties=nr;let ir={};for(let tr of kt)ir[tr]=Le[tr].evaluate(lt,gt);return ir},ke.reduce=(nr,ir)=>{gt.properties=ir;for(let tr of kt)lt.accumulated=nr[tr],nr[tr]=ut[tr].evaluate(lt,gt)},ke}(Ne)).load((yield this._pendingData).features):(Ie=yield this._pendingData,new Vt(Ie,Ne.geojsonVtOptions)),this.loaded={};let qe={};if(be){let ke=be.finish();ke&&(qe.resourceTiming={},qe.resourceTiming[Ne.source]=JSON.parse(JSON.stringify(ke)))}return qe}catch(qe){if(delete this._pendingRequest,e.bB(qe))return{abandoned:!0};throw qe}var Ie})}getData(){return e._(this,void 0,void 0,function*(){return this._pendingData})}reloadTile(Ne){let Ye=this.loaded;return Ye&&Ye[Ne.uid]?super.reloadTile(Ne):this.loadTile(Ne)}loadAndProcessGeoJSON(Ne,Ye){return e._(this,void 0,void 0,function*(){let be=yield this.loadGeoJSON(Ne,Ye);if(delete this._pendingRequest,typeof be!="object")throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`);if(c(be,!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(ke=>`${ke.key}: ${ke.message}`).join(", "));be={type:"FeatureCollection",features:be.features.filter(ke=>Ie.value.evaluate({zoom:0},ke))}}return be})}loadGeoJSON(Ne,Ye){return e._(this,void 0,void 0,function*(){let{promoteId:be}=Ne;if(Ne.request){let Ie=yield e.h(Ne.request,Ye);return this._dataUpdateable=yr(Ie.data,be)?qr(Ie.data,be):void 0,Ie.data}if(typeof Ne.data=="string")try{let Ie=JSON.parse(Ne.data);return this._dataUpdateable=yr(Ie,be)?qr(Ie,be):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,qe,ke){var Me,Le,ut,lt;if(qe.removeAll&&Ie.clear(),qe.remove)for(let gt of qe.remove)Ie.delete(gt);if(qe.add)for(let gt of qe.add){let kt=Cr(gt,ke);kt!=null&&Ie.set(kt,gt)}if(qe.update)for(let gt of qe.update){let kt=Ie.get(gt.id);if(kt==null)continue;let nr=!gt.removeAllProperties&&(((Me=gt.removeProperties)===null||Me===void 0?void 0:Me.length)>0||((Le=gt.addOrUpdateProperties)===null||Le===void 0?void 0:Le.length)>0);if((gt.newGeometry||gt.removeAllProperties||nr)&&(kt=Object.assign({},kt),Ie.set(gt.id,kt),nr&&(kt.properties=Object.assign({},kt.properties))),gt.newGeometry&&(kt.geometry=gt.newGeometry),gt.removeAllProperties)kt.properties={};else if(((ut=gt.removeProperties)===null||ut===void 0?void 0:ut.length)>0)for(let ir of gt.removeProperties)Object.prototype.hasOwnProperty.call(kt.properties,ir)&&delete kt.properties[ir];if(((lt=gt.addOrUpdateProperties)===null||lt===void 0?void 0:lt.length)>0)for(let{key:ir,value:tr}of gt.addOrUpdateProperties)kt.properties[ir]=tr}}(this._dataUpdateable,Ne.dataDiff,be),{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 Dr{constructor(Ne){this.self=Ne,this.actor=new e.F(Ne),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(Ye,be)=>{if(this.externalWorkerSourceTypes[Ye])throw new Error(`Worker source with name "${Ye}" already registered.`);this.externalWorkerSourceTypes[Ye]=be},this.self.addProtocol=e.bi,this.self.removeProtocol=e.bj,this.self.registerRTLTextPlugin=Ye=>{if(e.bD.isParsed())throw new Error("RTL text plugin already registered.");e.bD.setMethods(Ye)},this.actor.registerMessageHandler("LDT",(Ye,be)=>this._getDEMWorkerSource(Ye,be.source).loadTile(be)),this.actor.registerMessageHandler("RDT",(Ye,be)=>e._(this,void 0,void 0,function*(){this._getDEMWorkerSource(Ye,be.source).removeTile(be)})),this.actor.registerMessageHandler("GCEZ",(Ye,be)=>e._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,be.type,be.source).getClusterExpansionZoom(be)})),this.actor.registerMessageHandler("GCC",(Ye,be)=>e._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,be.type,be.source).getClusterChildren(be)})),this.actor.registerMessageHandler("GCL",(Ye,be)=>e._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,be.type,be.source).getClusterLeaves(be)})),this.actor.registerMessageHandler("LD",(Ye,be)=>this._getWorkerSource(Ye,be.type,be.source).loadData(be)),this.actor.registerMessageHandler("GD",(Ye,be)=>this._getWorkerSource(Ye,be.type,be.source).getData()),this.actor.registerMessageHandler("LT",(Ye,be)=>this._getWorkerSource(Ye,be.type,be.source).loadTile(be)),this.actor.registerMessageHandler("RT",(Ye,be)=>this._getWorkerSource(Ye,be.type,be.source).reloadTile(be)),this.actor.registerMessageHandler("AT",(Ye,be)=>this._getWorkerSource(Ye,be.type,be.source).abortTile(be)),this.actor.registerMessageHandler("RMT",(Ye,be)=>this._getWorkerSource(Ye,be.type,be.source).removeTile(be)),this.actor.registerMessageHandler("RS",(Ye,be)=>e._(this,void 0,void 0,function*(){if(!this.workerSources[Ye]||!this.workerSources[Ye][be.type]||!this.workerSources[Ye][be.type][be.source])return;let Ie=this.workerSources[Ye][be.type][be.source];delete this.workerSources[Ye][be.type][be.source],Ie.removeSource!==void 0&&Ie.removeSource(be)})),this.actor.registerMessageHandler("RM",Ye=>e._(this,void 0,void 0,function*(){delete this.layerIndexes[Ye],delete this.availableImages[Ye],delete this.workerSources[Ye],delete this.demWorkerSources[Ye]})),this.actor.registerMessageHandler("SR",(Ye,be)=>e._(this,void 0,void 0,function*(){this.referrer=be})),this.actor.registerMessageHandler("SRPS",(Ye,be)=>this._syncRTLPluginState(Ye,be)),this.actor.registerMessageHandler("IS",(Ye,be)=>e._(this,void 0,void 0,function*(){this.self.importScripts(be)})),this.actor.registerMessageHandler("SI",(Ye,be)=>this._setImages(Ye,be)),this.actor.registerMessageHandler("UL",(Ye,be)=>e._(this,void 0,void 0,function*(){this._getLayerIndex(Ye).update(be.layers,be.removedIds)})),this.actor.registerMessageHandler("SL",(Ye,be)=>e._(this,void 0,void 0,function*(){this._getLayerIndex(Ye).replace(be)}))}_setImages(Ne,Ye){return e._(this,void 0,void 0,function*(){this.availableImages[Ne]=Ye;for(let be in this.workerSources[Ne]){let Ie=this.workerSources[Ne][be];for(let qe in Ie)Ie[qe].availableImages=Ye}})}_syncRTLPluginState(Ne,Ye){return e._(this,void 0,void 0,function*(){if(e.bD.isParsed())return e.bD.getState();if(Ye.pluginStatus!=="loading")return e.bD.setState(Ye),Ye;let be=Ye.pluginURL;if(this.self.importScripts(be),e.bD.isParsed()){let Ie={pluginStatus:"loaded",pluginURL:be};return e.bD.setState(Ie),Ie}throw e.bD.setState({pluginStatus:"error",pluginURL:""}),new Error(`RTL Text Plugin failed to import scripts from ${be}`)})}_getAvailableImages(Ne){let Ye=this.availableImages[Ne];return Ye||(Ye=[]),Ye}_getLayerIndex(Ne){let Ye=this.layerIndexes[Ne];return Ye||(Ye=this.layerIndexes[Ne]=new t),Ye}_getWorkerSource(Ne,Ye,be){if(this.workerSources[Ne]||(this.workerSources[Ne]={}),this.workerSources[Ne][Ye]||(this.workerSources[Ne][Ye]={}),!this.workerSources[Ne][Ye][be]){let Ie={sendAsync:(qe,ke)=>(qe.targetMapId=Ne,this.actor.sendAsync(qe,ke))};switch(Ye){case"vector":this.workerSources[Ne][Ye][be]=new n(Ie,this._getLayerIndex(Ne),this._getAvailableImages(Ne));break;case"geojson":this.workerSources[Ne][Ye][be]=new Mr(Ie,this._getLayerIndex(Ne),this._getAvailableImages(Ne));break;default:this.workerSources[Ne][Ye][be]=new this.externalWorkerSourceTypes[Ye](Ie,this._getLayerIndex(Ne),this._getAvailableImages(Ne))}}return this.workerSources[Ne][Ye][be]}_getDEMWorkerSource(Ne,Ye){return this.demWorkerSources[Ne]||(this.demWorkerSources[Ne]={}),this.demWorkerSources[Ne][Ye]||(this.demWorkerSources[Ne][Ye]=new a),this.demWorkerSources[Ne][Ye]}}return e.i(self)&&(self.worker=new Dr(self)),Dr}),S("index",["exports","./shared"],function(e,t){"use strict";var r="4.7.1";let o,i,n={now:typeof performance<"u"&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:Ue=>new Promise((P,ae)=>{let xe=requestAnimationFrame(P);Ue.signal.addEventListener("abort",()=>{cancelAnimationFrame(xe),ae(t.c())})}),getImageData(Ue,P=0){return this.getImageCanvasContext(Ue).getImageData(-P,-P,Ue.width+2*P,Ue.height+2*P)},getImageCanvasContext(Ue){let P=window.document.createElement("canvas"),ae=P.getContext("2d",{willReadFrequently:!0});if(!ae)throw new Error("failed to create canvas 2d context");return P.width=Ue.width,P.height=Ue.height,ae.drawImage(Ue,0,0,Ue.width,Ue.height),ae},resolveURL:Ue=>(o||(o=document.createElement("a")),o.href=Ue,o.href),hardwareConcurrency:typeof navigator<"u"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(i==null&&(i=matchMedia("(prefers-reduced-motion: reduce)")),i.matches)}};class a{static testProp(P){if(!a.docStyle)return P[0];for(let ae=0;ae{window.removeEventListener("click",a.suppressClickInternal,!0)},0)}static getScale(P){let ae=P.getBoundingClientRect();return{x:ae.width/P.offsetWidth||1,y:ae.height/P.offsetHeight||1,boundingClientRect:ae}}static getPoint(P,ae,xe){let Te=ae.boundingClientRect;return new t.P((xe.clientX-Te.left)/ae.x-P.clientLeft,(xe.clientY-Te.top)/ae.y-P.clientTop)}static mousePos(P,ae){let xe=a.getScale(P);return a.getPoint(P,xe,ae)}static touchPos(P,ae){let xe=[],Te=a.getScale(P);for(let Oe=0;Oe{h&&T(h),h=null,d=!0},c.onerror=()=>{m=!0,h=null},c.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="),function(Ue){let P,ae,xe,Te;Ue.resetRequestQueue=()=>{P=[],ae=0,xe=0,Te={}},Ue.addThrottleControl=Ot=>{let Qt=xe++;return Te[Qt]=Ot,Qt},Ue.removeThrottleControl=Ot=>{delete Te[Ot],ht()},Ue.getImage=(Ot,Qt,Ar=!0)=>new Promise((Sr,Kr)=>{s.supported&&(Ot.headers||(Ot.headers={}),Ot.headers.accept="image/webp,*/*"),t.e(Ot,{type:"image"}),P.push({abortController:Qt,requestParameters:Ot,supportImageRefresh:Ar,state:"queued",onError:oi=>{Kr(oi)},onSuccess:oi=>{Sr(oi)}}),ht()});let Oe=Ot=>t._(this,void 0,void 0,function*(){Ot.state="running";let{requestParameters:Qt,supportImageRefresh:Ar,onError:Sr,onSuccess:Kr,abortController:oi}=Ot,Ge=Ar===!1&&!t.i(self)&&!t.g(Qt.url)&&(!Qt.headers||Object.keys(Qt.headers).reduce((dt,Ct)=>dt&&Ct==="accept",!0));ae++;let Ze=Ge?Tt(Qt,oi):t.m(Qt,oi);try{let dt=yield Ze;delete Ot.abortController,Ot.state="completed",dt.data instanceof HTMLImageElement||t.b(dt.data)?Kr(dt):dt.data&&Kr({data:yield(ot=dt.data,typeof createImageBitmap=="function"?t.d(ot):t.f(ot)),cacheControl:dt.cacheControl,expires:dt.expires})}catch(dt){delete Ot.abortController,Sr(dt)}finally{ae--,ht()}var ot}),ht=()=>{let Ot=(()=>{for(let Qt of Object.keys(Te))if(Te[Qt]())return!0;return!1})()?t.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:t.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let Qt=ae;Qt0;Qt++){let Ar=P.shift();Ar.abortController.signal.aborted?Qt--:Oe(Ar)}},Tt=(Ot,Qt)=>new Promise((Ar,Sr)=>{let Kr=new Image,oi=Ot.url,Ge=Ot.credentials;Ge&&Ge==="include"?Kr.crossOrigin="use-credentials":(Ge&&Ge==="same-origin"||!t.s(oi))&&(Kr.crossOrigin="anonymous"),Qt.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,Qt.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=oi})}(l||(l={})),l.resetRequestQueue();class _{constructor(P){this._transformRequestFn=P}transformRequest(P,ae){return this._transformRequestFn&&this._transformRequestFn(P,ae)||{url:P}}setTransformRequest(P){this._transformRequestFn=P}}function w(Ue){var P=new t.A(3);return P[0]=Ue[0],P[1]=Ue[1],P[2]=Ue[2],P}var A,M=function(Ue,P,ae){return Ue[0]=P[0]-ae[0],Ue[1]=P[1]-ae[1],Ue[2]=P[2]-ae[2],Ue};A=new t.A(3),t.A!=Float32Array&&(A[0]=0,A[1]=0,A[2]=0);var g=function(Ue){var P=Ue[0],ae=Ue[1];return P*P+ae*ae};function b(Ue){let P=[];if(typeof Ue=="string")P.push({id:"default",url:Ue});else if(Ue&&Ue.length>0){let ae=[];for(let{id:xe,url:Te}of Ue){let Oe=`${xe}${Te}`;ae.indexOf(Oe)===-1&&(ae.push(Oe),P.push({id:xe,url:Te}))}}return P}function v(Ue,P,ae){let xe=Ue.split("?");return xe[0]+=`${P}${ae}`,xe.join("?")}(function(){var Ue=new t.A(2);t.A!=Float32Array&&(Ue[0]=0,Ue[1]=0)})();class u{constructor(P,ae,xe,Te){this.context=P,this.format=xe,this.texture=P.gl.createTexture(),this.update(ae,Te)}update(P,ae,xe){let{width:Te,height:Oe}=P,ht=!(this.size&&this.size[0]===Te&&this.size[1]===Oe||xe),{context:Tt}=this,{gl:Ot}=Tt;if(this.useMipmap=!!(ae&&ae.useMipmap),Ot.bindTexture(Ot.TEXTURE_2D,this.texture),Tt.pixelStoreUnpackFlipY.set(!1),Tt.pixelStoreUnpack.set(1),Tt.pixelStoreUnpackPremultiplyAlpha.set(this.format===Ot.RGBA&&(!ae||ae.premultiply!==!1)),ht)this.size=[Te,Oe],P instanceof HTMLImageElement||P instanceof HTMLCanvasElement||P instanceof HTMLVideoElement||P instanceof ImageData||t.b(P)?Ot.texImage2D(Ot.TEXTURE_2D,0,this.format,this.format,Ot.UNSIGNED_BYTE,P):Ot.texImage2D(Ot.TEXTURE_2D,0,this.format,Te,Oe,0,this.format,Ot.UNSIGNED_BYTE,P.data);else{let{x:Qt,y:Ar}=xe||{x:0,y:0};P instanceof HTMLImageElement||P instanceof HTMLCanvasElement||P instanceof HTMLVideoElement||P instanceof ImageData||t.b(P)?Ot.texSubImage2D(Ot.TEXTURE_2D,0,Qt,Ar,Ot.RGBA,Ot.UNSIGNED_BYTE,P):Ot.texSubImage2D(Ot.TEXTURE_2D,0,Qt,Ar,Te,Oe,Ot.RGBA,Ot.UNSIGNED_BYTE,P.data)}this.useMipmap&&this.isSizePowerOfTwo()&&Ot.generateMipmap(Ot.TEXTURE_2D)}bind(P,ae,xe){let{context:Te}=this,{gl:Oe}=Te;Oe.bindTexture(Oe.TEXTURE_2D,this.texture),xe!==Oe.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(xe=Oe.LINEAR),P!==this.filter&&(Oe.texParameteri(Oe.TEXTURE_2D,Oe.TEXTURE_MAG_FILTER,P),Oe.texParameteri(Oe.TEXTURE_2D,Oe.TEXTURE_MIN_FILTER,xe||P),this.filter=P),ae!==this.wrap&&(Oe.texParameteri(Oe.TEXTURE_2D,Oe.TEXTURE_WRAP_S,ae),Oe.texParameteri(Oe.TEXTURE_2D,Oe.TEXTURE_WRAP_T,ae),this.wrap=ae)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:P}=this.context;P.deleteTexture(this.texture),this.texture=null}}function y(Ue){let{userImage:P}=Ue;return!!(P&&P.render&&P.render())&&(Ue.data.replace(new Uint8Array(P.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(P){if(this.loaded!==P&&(this.loaded=P,P)){for(let{ids:ae,promiseResolve:xe}of this.requestors)xe(this._getImagesForIds(ae));this.requestors=[]}}getImage(P){let ae=this.images[P];if(ae&&!ae.data&&ae.spriteData){let xe=ae.spriteData;ae.data=new t.R({width:xe.width,height:xe.height},xe.context.getImageData(xe.x,xe.y,xe.width,xe.height).data),ae.spriteData=null}return ae}addImage(P,ae){if(this.images[P])throw new Error(`Image id ${P} already exist, use updateImage instead`);this._validate(P,ae)&&(this.images[P]=ae)}_validate(P,ae){let xe=!0,Te=ae.data||ae.spriteData;return this._validateStretch(ae.stretchX,Te&&Te.width)||(this.fire(new t.j(new Error(`Image "${P}" has invalid "stretchX" value`))),xe=!1),this._validateStretch(ae.stretchY,Te&&Te.height)||(this.fire(new t.j(new Error(`Image "${P}" has invalid "stretchY" value`))),xe=!1),this._validateContent(ae.content,ae)||(this.fire(new t.j(new Error(`Image "${P}" has invalid "content" value`))),xe=!1),xe}_validateStretch(P,ae){if(!P)return!0;let xe=0;for(let Te of P){if(Te[0]{let Te=!0;if(!this.isLoaded())for(let Oe of P)this.images[Oe]||(Te=!1);this.isLoaded()||Te?ae(this._getImagesForIds(P)):this.requestors.push({ids:P,promiseResolve:ae})})}_getImagesForIds(P){let ae={};for(let xe of P){let Te=this.getImage(xe);Te||(this.fire(new t.k("styleimagemissing",{id:xe})),Te=this.getImage(xe)),Te?ae[xe]={data:Te.data.clone(),pixelRatio:Te.pixelRatio,sdf:Te.sdf,version:Te.version,stretchX:Te.stretchX,stretchY:Te.stretchY,content:Te.content,textFitWidth:Te.textFitWidth,textFitHeight:Te.textFitHeight,hasRenderCallback:!!(Te.userImage&&Te.userImage.render)}:t.w(`Image "${xe}" 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 ae}getPixelSize(){let{width:P,height:ae}=this.atlasImage;return{width:P,height:ae}}getPattern(P){let ae=this.patterns[P],xe=this.getImage(P);if(!xe)return null;if(ae&&ae.position.version===xe.version)return ae.position;if(ae)ae.position.version=xe.version;else{let Te={w:xe.data.width+2,h:xe.data.height+2,x:0,y:0},Oe=new t.I(Te,xe);this.patterns[P]={bin:Te,position:Oe}}return this._updatePatternAtlas(),this.patterns[P].position}bind(P){let ae=P.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new u(P,this.atlasImage,ae.RGBA),this.atlasTexture.bind(ae.LINEAR,ae.CLAMP_TO_EDGE)}_updatePatternAtlas(){let P=[];for(let Oe in this.patterns)P.push(this.patterns[Oe].bin);let{w:ae,h:xe}=t.p(P),Te=this.atlasImage;Te.resize({width:ae||1,height:xe||1});for(let Oe in this.patterns){let{bin:ht}=this.patterns[Oe],Tt=ht.x+1,Ot=ht.y+1,Qt=this.getImage(Oe).data,Ar=Qt.width,Sr=Qt.height;t.R.copy(Qt,Te,{x:0,y:0},{x:Tt,y:Ot},{width:Ar,height:Sr}),t.R.copy(Qt,Te,{x:0,y:Sr-1},{x:Tt,y:Ot-1},{width:Ar,height:1}),t.R.copy(Qt,Te,{x:0,y:0},{x:Tt,y:Ot+Sr},{width:Ar,height:1}),t.R.copy(Qt,Te,{x:Ar-1,y:0},{x:Tt-1,y:Ot},{width:1,height:Sr}),t.R.copy(Qt,Te,{x:0,y:0},{x:Tt+Ar,y:Ot},{width:1,height:Sr})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(P){for(let ae of P){if(this.callbackDispatchedThisFrame[ae])continue;this.callbackDispatchedThisFrame[ae]=!0;let xe=this.getImage(ae);xe||t.w(`Image with ID: "${ae}" was not found`),y(xe)&&this.updateImage(ae,xe)}}}let R=1e20;function L(Ue,P,ae,xe,Te,Oe,ht,Tt,Ot){for(let Qt=P;Qt-1);Ot++,Oe[Ot]=Tt,ht[Ot]=Qt,ht[Ot+1]=R}for(let Tt=0,Ot=0;Tt65535)throw new Error("glyphs > 65535 not supported");if(xe.ranges[Oe])return{stack:P,id:ae,glyph:Te};if(!this.url)throw new Error("glyphsUrl is not set");if(!xe.requests[Oe]){let Tt=F.loadGlyphRange(P,Oe,this.url,this.requestManager);xe.requests[Oe]=Tt}let ht=yield xe.requests[Oe];for(let Tt in ht)this._doesCharSupportLocalGlyph(+Tt)||(xe.glyphs[+Tt]=ht[+Tt]);return xe.ranges[Oe]=!0,{stack:P,id:ae,glyph:ht[ae]||null}})}_doesCharSupportLocalGlyph(P){return!!this.localIdeographFontFamily&&new RegExp("\\p{Ideo}|\\p{sc=Hang}|\\p{sc=Hira}|\\p{sc=Kana}","u").test(String.fromCodePoint(P))}_tinySDF(P,ae,xe){let Te=this.localIdeographFontFamily;if(!Te||!this._doesCharSupportLocalGlyph(xe))return;let Oe=P.tinySDF;if(!Oe){let Tt="400";/bold/i.test(ae)?Tt="900":/medium/i.test(ae)?Tt="500":/light/i.test(ae)&&(Tt="200"),Oe=P.tinySDF=new F.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:Te,fontWeight:Tt})}let ht=Oe.draw(String.fromCharCode(xe));return{id:xe,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(Ue,P,ae,xe){return t._(this,void 0,void 0,function*(){let Te=256*P,Oe=Te+255,ht=xe.transformRequest(ae.replace("{fontstack}",Ue).replace("{range}",`${Te}-${Oe}`),"Glyphs"),Tt=yield t.l(ht,new AbortController);if(!Tt||!Tt.data)throw new Error(`Could not load glyph range. range: ${P}, ${Te}-${Oe}`);let Ot={};for(let Qt of t.n(Tt.data))Ot[Qt.id]=Qt;return Ot})},F.TinySDF=class{constructor({fontSize:Ue=24,buffer:P=3,radius:ae=8,cutoff:xe=.25,fontFamily:Te="sans-serif",fontWeight:Oe="normal",fontStyle:ht="normal"}={}){this.buffer=P,this.cutoff=xe,this.radius=ae;let Tt=this.size=Ue+4*P,Ot=this._createCanvas(Tt),Qt=this.ctx=Ot.getContext("2d",{willReadFrequently:!0});Qt.font=`${ht} ${Oe} ${Ue}px ${Te}`,Qt.textBaseline="alphabetic",Qt.textAlign="left",Qt.fillStyle="black",this.gridOuter=new Float64Array(Tt*Tt),this.gridInner=new Float64Array(Tt*Tt),this.f=new Float64Array(Tt),this.z=new Float64Array(Tt+1),this.v=new Uint16Array(Tt)}_createCanvas(Ue){let P=document.createElement("canvas");return P.width=P.height=Ue,P}draw(Ue){let{width:P,actualBoundingBoxAscent:ae,actualBoundingBoxDescent:xe,actualBoundingBoxLeft:Te,actualBoundingBoxRight:Oe}=this.ctx.measureText(Ue),ht=Math.ceil(ae),Tt=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(Oe-Te))),Ot=Math.min(this.size-this.buffer,ht+Math.ceil(xe)),Qt=Tt+2*this.buffer,Ar=Ot+2*this.buffer,Sr=Math.max(Qt*Ar,0),Kr=new Uint8ClampedArray(Sr),oi={data:Kr,width:Qt,height:Ar,glyphWidth:Tt,glyphHeight:Ot,glyphTop:ht,glyphLeft:0,glyphAdvance:P};if(Tt===0||Ot===0)return oi;let{ctx:Ge,buffer:Ze,gridInner:ot,gridOuter:dt}=this;Ge.clearRect(Ze,Ze,Tt,Ot),Ge.fillText(Ue,Ze,Ze+ht);let Ct=Ge.getImageData(Ze,Ze,Tt,Ot);dt.fill(R,0,Sr),ot.fill(0,0,Sr);for(let wt=0;wt0?kr*kr:0,ot[_r]=kr<0?kr*kr:0}}L(dt,0,0,Qt,Ar,Qt,this.f,this.v,this.z),L(ot,Ze,Ze,Tt,Ot,Qt,this.f,this.v,this.z);for(let wt=0;wt1&&(Ot=P[++Tt]);let Ar=Math.abs(Qt-Ot.left),Sr=Math.abs(Qt-Ot.right),Kr=Math.min(Ar,Sr),oi,Ge=Oe/xe*(Te+1);if(Ot.isDash){let Ze=Te-Math.abs(Ge);oi=Math.sqrt(Kr*Kr+Ze*Ze)}else oi=Te-Math.sqrt(Kr*Kr+Ge*Ge);this.data[ht+Qt]=Math.max(0,Math.min(255,oi+128))}}}addRegularDash(P){for(let Tt=P.length-1;Tt>=0;--Tt){let Ot=P[Tt],Qt=P[Tt+1];Ot.zeroLength?P.splice(Tt,1):Qt&&Qt.isDash===Ot.isDash&&(Qt.left=Ot.left,P.splice(Tt,1))}let ae=P[0],xe=P[P.length-1];ae.isDash===xe.isDash&&(ae.left=xe.left-this.width,xe.right=ae.right+this.width);let Te=this.width*this.nextRow,Oe=0,ht=P[Oe];for(let Tt=0;Tt1&&(ht=P[++Oe]);let Ot=Math.abs(Tt-ht.left),Qt=Math.abs(Tt-ht.right),Ar=Math.min(Ot,Qt);this.data[Te+Tt]=Math.max(0,Math.min(255,(ht.isDash?Ar:-Ar)+128))}}addDash(P,ae){let xe=ae?7:0,Te=2*xe+1;if(this.nextRow+Te>this.height)return t.w("LineAtlas out of space"),null;let Oe=0;for(let Tt=0;Tt{ae.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[J]}numActive(){return Object.keys(this.active).length}}let le=Math.floor(n.hardwareConcurrency/2),ce,q;function Z(){return ce||(ce=new se),ce}se.workerCount=t.C(globalThis)?Math.max(Math.min(le,3),1):1;class ee{constructor(P,ae){this.workerPool=P,this.actors=[],this.currentActor=0,this.id=ae;let xe=this.workerPool.acquire(ae);for(let Te=0;Te{ae.remove()}),this.actors=[],P&&this.workerPool.release(this.id)}registerMessageHandler(P,ae){for(let xe of this.actors)xe.registerMessageHandler(P,ae)}}function V(){return q||(q=new ee(Z(),t.G),q.registerMessageHandler("GR",(Ue,P,ae)=>t.m(P,ae))),q}function oe(Ue,P){let ae=t.H();return t.J(ae,ae,[1,1,0]),t.K(ae,ae,[.5*Ue.width,.5*Ue.height,1]),t.L(ae,ae,Ue.calculatePosMatrix(P.toUnwrapped()))}function ie(Ue,P,ae,xe,Te,Oe){let ht=function(Sr,Kr,oi){if(Sr)for(let Ge of Sr){let Ze=Kr[Ge];if(Ze&&Ze.source===oi&&Ze.type==="fill-extrusion")return!0}else for(let Ge in Kr){let Ze=Kr[Ge];if(Ze.source===oi&&Ze.type==="fill-extrusion")return!0}return!1}(Te&&Te.layers,P,Ue.id),Tt=Oe.maxPitchScaleFactor(),Ot=Ue.tilesIn(xe,Tt,ht);Ot.sort(j);let Qt=[];for(let Sr of Ot)Qt.push({wrappedTileID:Sr.tileID.wrapped().key,queryResults:Sr.tile.queryRenderedFeatures(P,ae,Ue._state,Sr.queryGeometry,Sr.cameraQueryGeometry,Sr.scale,Te,Oe,Tt,oe(Ue.transform,Sr.tileID))});let Ar=function(Sr){let Kr={},oi={};for(let Ge of Sr){let Ze=Ge.queryResults,ot=Ge.wrappedTileID,dt=oi[ot]=oi[ot]||{};for(let Ct in Ze){let wt=Ze[Ct],Dt=dt[Ct]=dt[Ct]||{},fr=Kr[Ct]=Kr[Ct]||[];for(let _r of wt)Dt[_r.featureIndex]||(Dt[_r.featureIndex]=!0,fr.push(_r))}}return Kr}(Qt);for(let Sr in Ar)Ar[Sr].forEach(Kr=>{let oi=Kr.feature,Ge=Ue.getFeatureState(oi.layer["source-layer"],oi.id);oi.source=oi.layer.source,oi.layer["source-layer"]&&(oi.sourceLayer=oi.layer["source-layer"]),oi.state=Ge});return Ar}function j(Ue,P){let ae=Ue.tileID,xe=P.tileID;return ae.overscaledZ-xe.overscaledZ||ae.canonical.y-xe.canonical.y||ae.wrap-xe.wrap||ae.canonical.x-xe.canonical.x}function Q(Ue,P,ae){return t._(this,void 0,void 0,function*(){let xe=Ue;if(Ue.url?xe=(yield t.h(P.transformRequest(Ue.url,"Source"),ae)).data:yield n.frameAsync(ae),!xe)return null;let Te=t.M(t.e(xe,Ue),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);return"vector_layers"in xe&&xe.vector_layers&&(Te.vectorLayerIds=xe.vector_layers.map(Oe=>Oe.id)),Te})}class re{constructor(P,ae){P&&(ae?this.setSouthWest(P).setNorthEast(ae):Array.isArray(P)&&(P.length===4?this.setSouthWest([P[0],P[1]]).setNorthEast([P[2],P[3]]):this.setSouthWest(P[0]).setNorthEast(P[1])))}setNorthEast(P){return this._ne=P instanceof t.N?new t.N(P.lng,P.lat):t.N.convert(P),this}setSouthWest(P){return this._sw=P instanceof t.N?new t.N(P.lng,P.lat):t.N.convert(P),this}extend(P){let ae=this._sw,xe=this._ne,Te,Oe;if(P instanceof t.N)Te=P,Oe=P;else{if(!(P instanceof re))return Array.isArray(P)?P.length===4||P.every(Array.isArray)?this.extend(re.convert(P)):this.extend(t.N.convert(P)):P&&("lng"in P||"lon"in P)&&"lat"in P?this.extend(t.N.convert(P)):this;if(Te=P._sw,Oe=P._ne,!Te||!Oe)return this}return ae||xe?(ae.lng=Math.min(Te.lng,ae.lng),ae.lat=Math.min(Te.lat,ae.lat),xe.lng=Math.max(Oe.lng,xe.lng),xe.lat=Math.max(Oe.lat,xe.lat)):(this._sw=new t.N(Te.lng,Te.lat),this._ne=new t.N(Oe.lng,Oe.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(P){let{lng:ae,lat:xe}=t.N.convert(P),Te=this._sw.lng<=ae&&ae<=this._ne.lng;return this._sw.lng>this._ne.lng&&(Te=this._sw.lng>=ae&&ae>=this._ne.lng),this._sw.lat<=xe&&xe<=this._ne.lat&&Te}static convert(P){return P instanceof re?P:P&&new re(P)}static fromLngLat(P,ae=0){let xe=360*ae/40075017,Te=xe/Math.cos(Math.PI/180*P.lat);return new re(new t.N(P.lng-Te,P.lat-xe),new t.N(P.lng+Te,P.lat+xe))}adjustAntiMeridian(){let P=new t.N(this._sw.lng,this._sw.lat),ae=new t.N(this._ne.lng,this._ne.lat);return new re(P,P.lng>ae.lng?new t.N(ae.lng+360,ae.lat):ae)}}class ue{constructor(P,ae,xe){this.bounds=re.convert(this.validateBounds(P)),this.minzoom=ae||0,this.maxzoom=xe||24}validateBounds(P){return Array.isArray(P)&&P.length===4?[Math.max(-180,P[0]),Math.max(-90,P[1]),Math.min(180,P[2]),Math.min(90,P[3])]:[-180,-90,180,90]}contains(P){let ae=Math.pow(2,P.z),xe=Math.floor(t.O(this.bounds.getWest())*ae),Te=Math.floor(t.Q(this.bounds.getNorth())*ae),Oe=Math.ceil(t.O(this.bounds.getEast())*ae),ht=Math.ceil(t.Q(this.bounds.getSouth())*ae);return P.x>=xe&&P.x=Te&&P.y{this._options.tiles=P}),this}setUrl(P){return this.setSourceProperty(()=>{this.url=P,this._options.url=P}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return t.e({},this._options)}loadTile(P){return t._(this,void 0,void 0,function*(){let ae=P.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),xe={request:this.map._requestManager.transformRequest(ae,"Tile"),uid:P.uid,tileID:P.tileID,zoom:P.tileID.overscaledZ,tileSize:this.tileSize*P.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};xe.request.collectResourceTiming=this._collectResourceTiming;let Te="RT";if(P.actor&&P.state!=="expired"){if(P.state==="loading")return new Promise((Oe,ht)=>{P.reloadPromise={resolve:Oe,reject:ht}})}else P.actor=this.dispatcher.getActor(),Te="LT";P.abortController=new AbortController;try{let Oe=yield P.actor.sendAsync({type:Te,data:xe},P.abortController);if(delete P.abortController,P.aborted)return;this._afterTileLoadWorkerResponse(P,Oe)}catch(Oe){if(delete P.abortController,P.aborted)return;if(Oe&&Oe.status!==404)throw Oe;this._afterTileLoadWorkerResponse(P,null)}})}_afterTileLoadWorkerResponse(P,ae){if(ae&&ae.resourceTiming&&(P.resourceTiming=ae.resourceTiming),ae&&this.map._refreshExpiredTiles&&P.setExpiryData(ae),P.loadVectorData(ae,this.map.painter),P.reloadPromise){let xe=P.reloadPromise;P.reloadPromise=null,this.loadTile(P).then(xe.resolve).catch(xe.reject)}}abortTile(P){return t._(this,void 0,void 0,function*(){P.abortController&&(P.abortController.abort(),delete P.abortController),P.actor&&(yield P.actor.sendAsync({type:"AT",data:{uid:P.uid,type:this.type,source:this.id}}))})}unloadTile(P){return t._(this,void 0,void 0,function*(){P.unloadVectorData(),P.actor&&(yield P.actor.sendAsync({type:"RMT",data:{uid:P.uid,type:this.type,source:this.id}}))})}hasTransition(){return!1}}class we extends t.E{constructor(P,ae,xe,Te){super(),this.id=P,this.dispatcher=xe,this.setEventedParent(Te),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"},ae),t.e(this,t.M(ae,["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 P=yield Q(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,P&&(t.e(this,P),P.bounds&&(this.tileBounds=new ue(P.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(P){this._tileJSONRequest=null,this.fire(new t.j(P))}})}loaded(){return this._loaded}onAdd(P){this.map=P,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(P){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),P(),this.load()}setTiles(P){return this.setSourceProperty(()=>{this._options.tiles=P}),this}setUrl(P){return this.setSourceProperty(()=>{this.url=P,this._options.url=P}),this}serialize(){return t.e({},this._options)}hasTile(P){return!this.tileBounds||this.tileBounds.contains(P.canonical)}loadTile(P){return t._(this,void 0,void 0,function*(){let ae=P.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);P.abortController=new AbortController;try{let xe=yield l.getImage(this.map._requestManager.transformRequest(ae,"Tile"),P.abortController,this.map._refreshExpiredTiles);if(delete P.abortController,P.aborted)return void(P.state="unloaded");if(xe&&xe.data){this.map._refreshExpiredTiles&&xe.cacheControl&&xe.expires&&P.setExpiryData({cacheControl:xe.cacheControl,expires:xe.expires});let Te=this.map.painter.context,Oe=Te.gl,ht=xe.data;P.texture=this.map.painter.getTileTexture(ht.width),P.texture?P.texture.update(ht,{useMipmap:!0}):(P.texture=new u(Te,ht,Oe.RGBA,{useMipmap:!0}),P.texture.bind(Oe.LINEAR,Oe.CLAMP_TO_EDGE,Oe.LINEAR_MIPMAP_NEAREST)),P.state="loaded"}}catch(xe){if(delete P.abortController,P.aborted)P.state="unloaded";else if(xe)throw P.state="errored",xe}})}abortTile(P){return t._(this,void 0,void 0,function*(){P.abortController&&(P.abortController.abort(),delete P.abortController)})}unloadTile(P){return t._(this,void 0,void 0,function*(){P.texture&&this.map.painter.saveTileTexture(P.texture)})}hasTransition(){return!1}}class Re extends we{constructor(P,ae,xe,Te){super(P,ae,xe,Te),this.type="raster-dem",this.maxzoom=22,this._options=t.e({type:"raster-dem"},ae),this.encoding=ae.encoding||"mapbox",this.redFactor=ae.redFactor,this.greenFactor=ae.greenFactor,this.blueFactor=ae.blueFactor,this.baseShift=ae.baseShift}loadTile(P){return t._(this,void 0,void 0,function*(){let ae=P.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),xe=this.map._requestManager.transformRequest(ae,"Tile");P.neighboringTiles=this._getNeighboringTiles(P.tileID),P.abortController=new AbortController;try{let Te=yield l.getImage(xe,P.abortController,this.map._refreshExpiredTiles);if(delete P.abortController,P.aborted)return void(P.state="unloaded");if(Te&&Te.data){let Oe=Te.data;this.map._refreshExpiredTiles&&Te.cacheControl&&Te.expires&&P.setExpiryData({cacheControl:Te.cacheControl,expires:Te.expires});let ht=t.b(Oe)&&t.U()?Oe:yield this.readImageNow(Oe),Tt={type:this.type,uid:P.uid,source:this.id,rawImageData:ht,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!P.actor||P.state==="expired"){P.actor=this.dispatcher.getActor();let Ot=yield P.actor.sendAsync({type:"LDT",data:Tt});P.dem=Ot,P.needsHillshadePrepare=!0,P.needsTerrainPrepare=!0,P.state="loaded"}}}catch(Te){if(delete P.abortController,P.aborted)P.state="unloaded";else if(Te)throw P.state="errored",Te}})}readImageNow(P){return t._(this,void 0,void 0,function*(){if(typeof VideoFrame<"u"&&t.V()){let ae=P.width+2,xe=P.height+2;try{return new t.R({width:ae,height:xe},yield t.W(P,-1,-1,ae,xe))}catch{}}return n.getImageData(P,1)})}_getNeighboringTiles(P){let ae=P.canonical,xe=Math.pow(2,ae.z),Te=(ae.x-1+xe)%xe,Oe=ae.x===0?P.wrap-1:P.wrap,ht=(ae.x+1+xe)%xe,Tt=ae.x+1===xe?P.wrap+1:P.wrap,Ot={};return Ot[new t.S(P.overscaledZ,Oe,ae.z,Te,ae.y).key]={backfilled:!1},Ot[new t.S(P.overscaledZ,Tt,ae.z,ht,ae.y).key]={backfilled:!1},ae.y>0&&(Ot[new t.S(P.overscaledZ,Oe,ae.z,Te,ae.y-1).key]={backfilled:!1},Ot[new t.S(P.overscaledZ,P.wrap,ae.z,ae.x,ae.y-1).key]={backfilled:!1},Ot[new t.S(P.overscaledZ,Tt,ae.z,ht,ae.y-1).key]={backfilled:!1}),ae.y+10&&t.e(Oe,{resourceTiming:Te}),this.fire(new t.k("data",Object.assign(Object.assign({},Oe),{sourceDataType:"metadata"}))),this.fire(new t.k("data",Object.assign(Object.assign({},Oe),{sourceDataType:"content"})))}catch(xe){if(this._pendingLoads--,this._removed)return void this.fire(new t.k("dataabort",{dataType:"source"}));this.fire(new t.j(xe))}})}loaded(){return this._pendingLoads===0}loadTile(P){return t._(this,void 0,void 0,function*(){let ae=P.actor?"RT":"LT";P.actor=this.actor;let xe={type:this.type,uid:P.uid,tileID:P.tileID,zoom:P.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};P.abortController=new AbortController;let Te=yield this.actor.sendAsync({type:ae,data:xe},P.abortController);delete P.abortController,P.unloadVectorData(),P.aborted||P.loadVectorData(Te,this.map.painter,ae==="RT")})}abortTile(P){return t._(this,void 0,void 0,function*(){P.abortController&&(P.abortController.abort(),delete P.abortController),P.aborted=!0})}unloadTile(P){return t._(this,void 0,void 0,function*(){P.unloadVectorData(),yield this.actor.sendAsync({type:"RMT",data:{uid:P.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 Xe=t.Y([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class tt extends t.E{constructor(P,ae,xe,Te){super(),this.id=P,this.dispatcher=xe,this.coordinates=ae.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(Te),this.options=ae}load(P){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 ae=yield l.getImage(this.map._requestManager.transformRequest(this.url,"Image"),this._request);this._request=null,this._loaded=!0,ae&&ae.data&&(this.image=ae.data,P&&(this.coordinates=P),this._finishLoading())}catch(ae){this._request=null,this._loaded=!0,this.fire(new t.j(ae))}})}loaded(){return this._loaded}updateImage(P){return P.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=P.url,this.load(P.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(P){this.map=P,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(P){this.coordinates=P;let ae=P.map(t.Z.fromLngLat);this.tileID=function(Te){let Oe=1/0,ht=1/0,Tt=-1/0,Ot=-1/0;for(let Kr of Te)Oe=Math.min(Oe,Kr.x),ht=Math.min(ht,Kr.y),Tt=Math.max(Tt,Kr.x),Ot=Math.max(Ot,Kr.y);let Qt=Math.max(Tt-Oe,Ot-ht),Ar=Math.max(0,Math.floor(-Math.log(Qt)/Math.LN2)),Sr=Math.pow(2,Ar);return new t.a1(Ar,Math.floor((Oe+Tt)/2*Sr),Math.floor((ht+Ot)/2*Sr))}(ae),this.minzoom=this.maxzoom=this.tileID.z;let xe=ae.map(Te=>this.tileID.getTilePoint(Te)._round());return this._boundsArray=new t.$,this._boundsArray.emplaceBack(xe[0].x,xe[0].y,0,0),this._boundsArray.emplaceBack(xe[1].x,xe[1].y,t.X,0),this._boundsArray.emplaceBack(xe[3].x,xe[3].y,0,t.X),this._boundsArray.emplaceBack(xe[2].x,xe[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 P=this.map.painter.context,ae=P.gl;this.boundsBuffer||(this.boundsBuffer=P.createVertexBuffer(this._boundsArray,Xe.members)),this.boundsSegments||(this.boundsSegments=t.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new u(P,this.image,ae.RGBA),this.texture.bind(ae.LINEAR,ae.CLAMP_TO_EDGE));let xe=!1;for(let Te in this.tiles){let Oe=this.tiles[Te];Oe.state!=="loaded"&&(Oe.state="loaded",Oe.texture=this.texture,xe=!0)}xe&&this.fire(new t.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}loadTile(P){return t._(this,void 0,void 0,function*(){this.tileID&&this.tileID.equals(P.tileID.canonical)?(this.tiles[String(P.tileID.wrap)]=P,P.buckets={}):P.state="errored"})}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class it extends tt{constructor(P,ae,xe,Te){super(P,ae,xe,Te),this.roundZoom=!0,this.type="video",this.options=ae}load(){return t._(this,void 0,void 0,function*(){this._loaded=!1;let P=this.options;this.urls=[];for(let ae of P.urls)this.urls.push(this.map._requestManager.transformRequest(ae,"Source").url);try{let ae=yield t.a3(this.urls);if(this._loaded=!0,!ae)return;this.video=ae,this.video.loop=!0,this.video.addEventListener("playing",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading()}catch(ae){this.fire(new t.j(ae))}})}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(P){if(this.video){let ae=this.video.seekable;Pae.end(0)?this.fire(new t.j(new t.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${ae.start(0)} and ${ae.end(0)}-second mark.`))):this.video.currentTime=P}}getVideo(){return this.video}onAdd(P){this.map||(this.map=P,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 P=this.map.painter.context,ae=P.gl;this.boundsBuffer||(this.boundsBuffer=P.createVertexBuffer(this._boundsArray,Xe.members)),this.boundsSegments||(this.boundsSegments=t.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(ae.LINEAR,ae.CLAMP_TO_EDGE),ae.texSubImage2D(ae.TEXTURE_2D,0,0,0,ae.RGBA,ae.UNSIGNED_BYTE,this.video)):(this.texture=new u(P,this.video,ae.RGBA),this.texture.bind(ae.LINEAR,ae.CLAMP_TO_EDGE));let xe=!1;for(let Te in this.tiles){let Oe=this.tiles[Te];Oe.state!=="loaded"&&(Oe.state="loaded",Oe.texture=this.texture,xe=!0)}xe&&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 et extends tt{constructor(P,ae,xe,Te){super(P,ae,xe,Te),ae.coordinates?Array.isArray(ae.coordinates)&&ae.coordinates.length===4&&!ae.coordinates.some(Oe=>!Array.isArray(Oe)||Oe.length!==2||Oe.some(ht=>typeof ht!="number"))||this.fire(new t.j(new t.a2(`sources.${P}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.j(new t.a2(`sources.${P}`,null,'missing required property "coordinates"'))),ae.animate&&typeof ae.animate!="boolean"&&this.fire(new t.j(new t.a2(`sources.${P}`,null,'optional "animate" property must be a boolean value'))),ae.canvas?typeof ae.canvas=="string"||ae.canvas instanceof HTMLCanvasElement||this.fire(new t.j(new t.a2(`sources.${P}`,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.${P}`,null,'missing required property "canvas"'))),this.options=ae,this.animate=ae.animate===void 0||ae.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(P){this.map=P,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let P=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,P=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,P=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let ae=this.map.painter.context,xe=ae.gl;this.boundsBuffer||(this.boundsBuffer=ae.createVertexBuffer(this._boundsArray,Xe.members)),this.boundsSegments||(this.boundsSegments=t.a0.simpleSegment(0,0,4,2)),this.texture?(P||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new u(ae,this.canvas,xe.RGBA,{premultiply:!0});let Te=!1;for(let Oe in this.tiles){let ht=this.tiles[Oe];ht.state!=="loaded"&&(ht.state="loaded",ht.texture=this.texture,Te=!0)}Te&&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 P of[this.canvas.width,this.canvas.height])if(isNaN(P)||P<=0)return!0;return!1}}let nt={},Ae=Ue=>{switch(Ue){case"geojson":return ze;case"image":return tt;case"raster":return we;case"raster-dem":return Re;case"vector":return _e;case"video":return it;case"canvas":return et}return nt[Ue]},me="RTLPluginLoaded";class fe extends t.E{constructor(){super(...arguments),this.status="unavailable",this.url=null,this.dispatcher=V()}_syncState(P){return this.status=P,this.dispatcher.broadcast("SRPS",{pluginStatus:P,pluginURL:this.url}).catch(ae=>{throw this.status="error",ae})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status="unavailable",this.url=null}setRTLTextPlugin(P){return t._(this,arguments,void 0,function*(ae,xe=!1){if(this.url)throw new Error("setRTLTextPlugin cannot be called multiple times.");if(this.url=n.resolveURL(ae),!this.url)throw new Error(`requested url ${ae} is invalid`);if(this.status==="unavailable"){if(!xe)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(me))})}lazyLoad(){this.status==="unavailable"?this.status="requested":this.status==="deferred"&&this._requestImport()}}let Be=null;function Qe(){return Be||(Be=new fe),Be}class at{constructor(P,ae){this.timeAdded=0,this.fadeEndTime=0,this.tileID=P,this.uid=t.a4(),this.uses=0,this.tileSize=ae,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(P){let ae=P+this.timeAdded;aeOe.getLayer(Qt)).filter(Boolean);if(Ot.length!==0){Tt.layers=Ot,Tt.stateDependentLayerIds&&(Tt.stateDependentLayers=Tt.stateDependentLayerIds.map(Qt=>Ot.filter(Ar=>Ar.id===Qt)[0]));for(let Qt of Ot)ht[Qt.id]=Tt}}return ht}(P.buckets,ae.style),this.hasSymbolBuckets=!1;for(let Te in this.buckets){let Oe=this.buckets[Te];if(Oe instanceof t.a6){if(this.hasSymbolBuckets=!0,!xe)break;Oe.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let Te in this.buckets){let Oe=this.buckets[Te];if(Oe instanceof t.a6&&Oe.hasRTLText){this.hasRTLText=!0,Qe().lazyLoad();break}}this.queryPadding=0;for(let Te in this.buckets){let Oe=this.buckets[Te];this.queryPadding=Math.max(this.queryPadding,ae.style.getLayer(Te).queryRadius(Oe))}P.imageAtlas&&(this.imageAtlas=P.imageAtlas),P.glyphAtlasImage&&(this.glyphAtlasImage=P.glyphAtlasImage)}else this.collisionBoxArray=new t.a5}unloadVectorData(){for(let P in this.buckets)this.buckets[P].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(P){return this.buckets[P.id]}upload(P){for(let xe in this.buckets){let Te=this.buckets[xe];Te.uploadPending()&&Te.upload(P)}let ae=P.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new u(P,this.imageAtlas.image,ae.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new u(P,this.glyphAtlasImage,ae.ALPHA),this.glyphAtlasImage=null)}prepare(P){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(P,this.imageAtlasTexture)}queryRenderedFeatures(P,ae,xe,Te,Oe,ht,Tt,Ot,Qt,Ar){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:Te,cameraQueryGeometry:Oe,scale:ht,tileSize:this.tileSize,pixelPosMatrix:Ar,transform:Ot,params:Tt,queryPadding:this.queryPadding*Qt},P,ae,xe):{}}querySourceFeatures(P,ae){let xe=this.latestFeatureIndex;if(!xe||!xe.rawTileData)return;let Te=xe.loadVTLayers(),Oe=ae&&ae.sourceLayer?ae.sourceLayer:"",ht=Te._geojsonTileLayer||Te[Oe];if(!ht)return;let Tt=t.a7(ae&&ae.filter),{z:Ot,x:Qt,y:Ar}=this.tileID.canonical,Sr={z:Ot,x:Qt,y:Ar};for(let Kr=0;Krxe)Te=!1;else if(ae)if(this.expirationTime{this.remove(P,Oe)},xe)),this.data[Te].push(Oe),this.order.push(Te),this.order.length>this.max){let ht=this._getAndRemoveByKey(this.order[0]);ht&&this.onRemove(ht)}return this}has(P){return P.wrapped().key in this.data}getAndRemove(P){return this.has(P)?this._getAndRemoveByKey(P.wrapped().key):null}_getAndRemoveByKey(P){let ae=this.data[P].shift();return ae.timeout&&clearTimeout(ae.timeout),this.data[P].length===0&&delete this.data[P],this.order.splice(this.order.indexOf(P),1),ae.value}getByKey(P){let ae=this.data[P];return ae?ae[0].value:null}get(P){return this.has(P)?this.data[P.wrapped().key][0].value:null}remove(P,ae){if(!this.has(P))return this;let xe=P.wrapped().key,Te=ae===void 0?0:this.data[xe].indexOf(ae),Oe=this.data[xe][Te];return this.data[xe].splice(Te,1),Oe.timeout&&clearTimeout(Oe.timeout),this.data[xe].length===0&&delete this.data[xe],this.onRemove(Oe.value),this.order.splice(this.order.indexOf(xe),1),this}setMaxSize(P){for(this.max=P;this.order.length>this.max;){let ae=this._getAndRemoveByKey(this.order[0]);ae&&this.onRemove(ae)}return this}filter(P){let ae=[];for(let xe in this.data)for(let Te of this.data[xe])P(Te.value)||ae.push(Te);for(let xe of ae)this.remove(xe.value.tileID,xe)}}class It{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(P,ae,xe){let Te=String(ae);if(this.stateChanges[P]=this.stateChanges[P]||{},this.stateChanges[P][Te]=this.stateChanges[P][Te]||{},t.e(this.stateChanges[P][Te],xe),this.deletedStates[P]===null){this.deletedStates[P]={};for(let Oe in this.state[P])Oe!==Te&&(this.deletedStates[P][Oe]=null)}else if(this.deletedStates[P]&&this.deletedStates[P][Te]===null){this.deletedStates[P][Te]={};for(let Oe in this.state[P][Te])xe[Oe]||(this.deletedStates[P][Te][Oe]=null)}else for(let Oe in xe)this.deletedStates[P]&&this.deletedStates[P][Te]&&this.deletedStates[P][Te][Oe]===null&&delete this.deletedStates[P][Te][Oe]}removeFeatureState(P,ae,xe){if(this.deletedStates[P]===null)return;let Te=String(ae);if(this.deletedStates[P]=this.deletedStates[P]||{},xe&&ae!==void 0)this.deletedStates[P][Te]!==null&&(this.deletedStates[P][Te]=this.deletedStates[P][Te]||{},this.deletedStates[P][Te][xe]=null);else if(ae!==void 0)if(this.stateChanges[P]&&this.stateChanges[P][Te])for(xe in this.deletedStates[P][Te]={},this.stateChanges[P][Te])this.deletedStates[P][Te][xe]=null;else this.deletedStates[P][Te]=null;else this.deletedStates[P]=null}getState(P,ae){let xe=String(ae),Te=t.e({},(this.state[P]||{})[xe],(this.stateChanges[P]||{})[xe]);if(this.deletedStates[P]===null)return{};if(this.deletedStates[P]){let Oe=this.deletedStates[P][ae];if(Oe===null)return{};for(let ht in Oe)delete Te[ht]}return Te}initializeTileState(P,ae){P.setFeatureState(this.state,ae)}coalesceChanges(P,ae){let xe={};for(let Te in this.stateChanges){this.state[Te]=this.state[Te]||{};let Oe={};for(let ht in this.stateChanges[Te])this.state[Te][ht]||(this.state[Te][ht]={}),t.e(this.state[Te][ht],this.stateChanges[Te][ht]),Oe[ht]=this.state[Te][ht];xe[Te]=Oe}for(let Te in this.deletedStates){this.state[Te]=this.state[Te]||{};let Oe={};if(this.deletedStates[Te]===null)for(let ht in this.state[Te])Oe[ht]={},this.state[Te][ht]={};else for(let ht in this.deletedStates[Te]){if(this.deletedStates[Te][ht]===null)this.state[Te][ht]={};else for(let Tt of Object.keys(this.deletedStates[Te][ht]))delete this.state[Te][ht][Tt];Oe[ht]=this.state[Te][ht]}xe[Te]=xe[Te]||{},t.e(xe[Te],Oe)}if(this.stateChanges={},this.deletedStates={},Object.keys(xe).length!==0)for(let Te in P)P[Te].setFeatureState(xe,ae)}}class Pt extends t.E{constructor(P,ae,xe){super(),this.id=P,this.dispatcher=xe,this.on("data",Te=>this._dataHandler(Te)),this.on("dataloading",()=>{this._sourceErrored=!1}),this.on("error",()=>{this._sourceErrored=this._source.loaded()}),this._source=((Te,Oe,ht,Tt)=>{let Ot=new(Ae(Oe.type))(Te,Oe,ht,Tt);if(Ot.id!==Te)throw new Error(`Expected Source id to be ${Te} instead of ${Ot.id}`);return Ot})(P,ae,xe,this),this._tiles={},this._cache=new $e(0,Te=>this._unloadTile(Te)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new It,this._didEmitContent=!1,this._updated=!1}onAdd(P){this.map=P,this._maxTileCacheSize=P?P._maxTileCacheSize:null,this._maxTileCacheZoomLevels=P?P._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(P)}onRemove(P){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(P)}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 P in this._tiles){let ae=this._tiles[P];if(ae.state!=="loaded"&&ae.state!=="errored")return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let P=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,P&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(P,ae,xe){return t._(this,void 0,void 0,function*(){try{yield this._source.loadTile(P),this._tileLoaded(P,ae,xe)}catch(Te){P.state="errored",Te.status!==404?this._source.fire(new t.j(Te,{tile:P})):this.update(this.transform,this.terrain)}})}_unloadTile(P){this._source.unloadTile&&this._source.unloadTile(P)}_abortTile(P){this._source.abortTile&&this._source.abortTile(P),this._source.fire(new t.k("dataabort",{tile:P,coord:P.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(P){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(let ae in this._tiles){let xe=this._tiles[ae];xe.upload(P),xe.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map(P=>P.tileID).sort(Vt).map(P=>P.key)}getRenderableIds(P){let ae=[];for(let xe in this._tiles)this._isIdRenderable(xe,P)&&ae.push(this._tiles[xe]);return P?ae.sort((xe,Te)=>{let Oe=xe.tileID,ht=Te.tileID,Tt=new t.P(Oe.canonical.x,Oe.canonical.y)._rotate(this.transform.angle),Ot=new t.P(ht.canonical.x,ht.canonical.y)._rotate(this.transform.angle);return Oe.overscaledZ-ht.overscaledZ||Ot.y-Tt.y||Ot.x-Tt.x}).map(xe=>xe.tileID.key):ae.map(xe=>xe.tileID).sort(Vt).map(xe=>xe.key)}hasRenderableParent(P){let ae=this.findLoadedParent(P,0);return!!ae&&this._isIdRenderable(ae.tileID.key)}_isIdRenderable(P,ae){return this._tiles[P]&&this._tiles[P].hasData()&&!this._coveredTiles[P]&&(ae||!this._tiles[P].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(let P in this._tiles)this._tiles[P].state!=="errored"&&this._reloadTile(P,"reloading")}}_reloadTile(P,ae){return t._(this,void 0,void 0,function*(){let xe=this._tiles[P];xe&&(xe.state!=="loading"&&(xe.state=ae),yield this._loadTile(xe,P,ae))})}_tileLoaded(P,ae,xe){P.timeAdded=n.now(),xe==="expired"&&(P.refreshedUponExpiration=!0),this._setTileReloadTimer(ae,P),this.getSource().type==="raster-dem"&&P.dem&&this._backfillDEM(P),this._state.initializeTileState(P,this.map?this.map.painter:null),P.aborted||this._source.fire(new t.k("data",{dataType:"source",tile:P,coord:P.tileID}))}_backfillDEM(P){let ae=this.getRenderableIds();for(let Te=0;Te1||(Math.abs(ht)>1&&(Math.abs(ht+Ot)===1?ht+=Ot:Math.abs(ht-Ot)===1&&(ht-=Ot)),Oe.dem&&Te.dem&&(Te.dem.backfillBorder(Oe.dem,ht,Tt),Te.neighboringTiles&&Te.neighboringTiles[Qt]&&(Te.neighboringTiles[Qt].backfilled=!0)))}}getTile(P){return this.getTileByID(P.key)}getTileByID(P){return this._tiles[P]}_retainLoadedChildren(P,ae,xe,Te){for(let Oe in this._tiles){let ht=this._tiles[Oe];if(Te[Oe]||!ht.hasData()||ht.tileID.overscaledZ<=ae||ht.tileID.overscaledZ>xe)continue;let Tt=ht.tileID;for(;ht&&ht.tileID.overscaledZ>ae+1;){let Qt=ht.tileID.scaledTo(ht.tileID.overscaledZ-1);ht=this._tiles[Qt.key],ht&&ht.hasData()&&(Tt=Qt)}let Ot=Tt;for(;Ot.overscaledZ>ae;)if(Ot=Ot.scaledTo(Ot.overscaledZ-1),P[Ot.key]){Te[Tt.key]=Tt;break}}}findLoadedParent(P,ae){if(P.key in this._loadedParentTiles){let xe=this._loadedParentTiles[P.key];return xe&&xe.tileID.overscaledZ>=ae?xe:null}for(let xe=P.overscaledZ-1;xe>=ae;xe--){let Te=P.scaledTo(xe),Oe=this._getLoadedTile(Te);if(Oe)return Oe}}findLoadedSibling(P){return this._getLoadedTile(P)}_getLoadedTile(P){let ae=this._tiles[P.key];return ae&&ae.hasData()?ae:this._cache.getByKey(P.wrapped().key)}updateCacheSize(P){let ae=Math.ceil(P.width/this._source.tileSize)+1,xe=Math.ceil(P.height/this._source.tileSize)+1,Te=Math.floor(ae*xe*(this._maxTileCacheZoomLevels===null?t.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),Oe=typeof this._maxTileCacheSize=="number"?Math.min(this._maxTileCacheSize,Te):Te;this._cache.setMaxSize(Oe)}handleWrapJump(P){let ae=Math.round((P-(this._prevLng===void 0?P:this._prevLng))/360);if(this._prevLng=P,ae){let xe={};for(let Te in this._tiles){let Oe=this._tiles[Te];Oe.tileID=Oe.tileID.unwrapTo(Oe.tileID.wrap+ae),xe[Oe.tileID.key]=Oe}this._tiles=xe;for(let Te in this._timers)clearTimeout(this._timers[Te]),delete this._timers[Te];for(let Te in this._tiles)this._setTileReloadTimer(Te,this._tiles[Te])}}_updateCoveredAndRetainedTiles(P,ae,xe,Te,Oe,ht){let Tt={},Ot={},Qt=Object.keys(P),Ar=n.now();for(let Sr of Qt){let Kr=P[Sr],oi=this._tiles[Sr];if(!oi||oi.fadeEndTime!==0&&oi.fadeEndTime<=Ar)continue;let Ge=this.findLoadedParent(Kr,ae),Ze=this.findLoadedSibling(Kr),ot=Ge||Ze||null;ot&&(this._addTile(ot.tileID),Tt[ot.tileID.key]=ot.tileID),Ot[Sr]=Kr}this._retainLoadedChildren(Ot,Te,xe,P);for(let Sr in Tt)P[Sr]||(this._coveredTiles[Sr]=!0,P[Sr]=Tt[Sr]);if(ht){let Sr={},Kr={};for(let oi of Oe)this._tiles[oi.key].hasData()?Sr[oi.key]=oi:Kr[oi.key]=oi;for(let oi in Kr){let Ge=Kr[oi].children(this._source.maxzoom);this._tiles[Ge[0].key]&&this._tiles[Ge[1].key]&&this._tiles[Ge[2].key]&&this._tiles[Ge[3].key]&&(Sr[Ge[0].key]=P[Ge[0].key]=Ge[0],Sr[Ge[1].key]=P[Ge[1].key]=Ge[1],Sr[Ge[2].key]=P[Ge[2].key]=Ge[2],Sr[Ge[3].key]=P[Ge[3].key]=Ge[3],delete Kr[oi])}for(let oi in Kr){let Ge=Kr[oi],Ze=this.findLoadedParent(Ge,this._source.minzoom),ot=this.findLoadedSibling(Ge),dt=Ze||ot||null;if(dt){Sr[dt.tileID.key]=P[dt.tileID.key]=dt.tileID;for(let Ct in Sr)Sr[Ct].isChildOf(dt.tileID)&&delete Sr[Ct]}}for(let oi in this._tiles)Sr[oi]||(this._coveredTiles[oi]=!0)}}update(P,ae){if(!this._sourceLoaded||this._paused)return;let xe;this.transform=P,this.terrain=ae,this.updateCacheSize(P),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?xe=P.getVisibleUnwrappedCoordinates(this._source.tileID).map(Ar=>new t.S(Ar.canonical.z,Ar.wrap,Ar.canonical.z,Ar.canonical.x,Ar.canonical.y)):(xe=P.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:ae}),this._source.hasTile&&(xe=xe.filter(Ar=>this._source.hasTile(Ar)))):xe=[];let Te=P.coveringZoomLevel(this._source),Oe=Math.max(Te-Pt.maxOverzooming,this._source.minzoom),ht=Math.max(Te+Pt.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let Ar={};for(let Sr of xe)if(Sr.canonical.z>this._source.minzoom){let Kr=Sr.scaledTo(Sr.canonical.z-1);Ar[Kr.key]=Kr;let oi=Sr.scaledTo(Math.max(this._source.minzoom,Math.min(Sr.canonical.z,5)));Ar[oi.key]=oi}xe=xe.concat(Object.values(Ar))}let Tt=xe.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,Tt&&this.fire(new t.k("data",{sourceDataType:"idle",dataType:"source",sourceId:this.id}));let Ot=this._updateRetainedTiles(xe,Te);Wt(this._source.type)&&this._updateCoveredAndRetainedTiles(Ot,Oe,ht,Te,xe,ae);for(let Ar in Ot)this._tiles[Ar].clearFadeHold();let Qt=t.ab(this._tiles,Ot);for(let Ar of Qt){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 P in this._tiles)this._tiles[P].holdingForFade()&&this._removeTile(P)}_updateRetainedTiles(P,ae){var xe;let Te={},Oe={},ht=Math.max(ae-Pt.maxOverzooming,this._source.minzoom),Tt=Math.max(ae+Pt.maxUnderzooming,this._source.minzoom),Ot={};for(let Qt of P){let Ar=this._addTile(Qt);Te[Qt.key]=Qt,Ar.hasData()||aethis._source.maxzoom){let Kr=Qt.children(this._source.maxzoom)[0],oi=this.getTile(Kr);if(oi&&oi.hasData()){Te[Kr.key]=Kr;continue}}else{let Kr=Qt.children(this._source.maxzoom);if(Te[Kr[0].key]&&Te[Kr[1].key]&&Te[Kr[2].key]&&Te[Kr[3].key])continue}let Sr=Ar.wasRequested();for(let Kr=Qt.overscaledZ-1;Kr>=ht;--Kr){let oi=Qt.scaledTo(Kr);if(Oe[oi.key])break;if(Oe[oi.key]=!0,Ar=this.getTile(oi),!Ar&&Sr&&(Ar=this._addTile(oi)),Ar){let Ge=Ar.hasData();if((Ge||!(!((xe=this.map)===null||xe===void 0)&&xe.cancelPendingTileRequestsWhileZooming)||Sr)&&(Te[oi.key]=oi),Sr=Ar.wasRequested(),Ge)break}}}return Te}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(let P in this._tiles){let ae=[],xe,Te=this._tiles[P].tileID;for(;Te.overscaledZ>0;){if(Te.key in this._loadedParentTiles){xe=this._loadedParentTiles[Te.key];break}ae.push(Te.key);let Oe=Te.scaledTo(Te.overscaledZ-1);if(xe=this._getLoadedTile(Oe),xe)break;Te=Oe}for(let Oe of ae)this._loadedParentTiles[Oe]=xe}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(let P in this._tiles){let ae=this._tiles[P].tileID,xe=this._getLoadedTile(ae);this._loadedSiblingTiles[ae.key]=xe}}_addTile(P){let ae=this._tiles[P.key];if(ae)return ae;ae=this._cache.getAndRemove(P),ae&&(this._setTileReloadTimer(P.key,ae),ae.tileID=P,this._state.initializeTileState(ae,this.map?this.map.painter:null),this._cacheTimers[P.key]&&(clearTimeout(this._cacheTimers[P.key]),delete this._cacheTimers[P.key],this._setTileReloadTimer(P.key,ae)));let xe=ae;return ae||(ae=new at(P,this._source.tileSize*P.overscaleFactor()),this._loadTile(ae,P.key,ae.state)),ae.uses++,this._tiles[P.key]=ae,xe||this._source.fire(new t.k("dataloading",{tile:ae,coord:ae.tileID,dataType:"source"})),ae}_setTileReloadTimer(P,ae){P in this._timers&&(clearTimeout(this._timers[P]),delete this._timers[P]);let xe=ae.getExpiryTimeout();xe&&(this._timers[P]=setTimeout(()=>{this._reloadTile(P,"expired"),delete this._timers[P]},xe))}_removeTile(P){let ae=this._tiles[P];ae&&(ae.uses--,delete this._tiles[P],this._timers[P]&&(clearTimeout(this._timers[P]),delete this._timers[P]),ae.uses>0||(ae.hasData()&&ae.state!=="reloading"?this._cache.add(ae.tileID,ae,ae.getExpiryTimeout()):(ae.aborted=!0,this._abortTile(ae),this._unloadTile(ae))))}_dataHandler(P){let ae=P.sourceDataType;P.dataType==="source"&&ae==="metadata"&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&P.dataType==="source"&&ae==="content"&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let P in this._tiles)this._removeTile(P);this._cache.reset()}tilesIn(P,ae,xe){let Te=[],Oe=this.transform;if(!Oe)return Te;let ht=xe?Oe.getCameraQueryGeometry(P):P,Tt=P.map(Ge=>Oe.pointCoordinate(Ge,this.terrain)),Ot=ht.map(Ge=>Oe.pointCoordinate(Ge,this.terrain)),Qt=this.getIds(),Ar=1/0,Sr=1/0,Kr=-1/0,oi=-1/0;for(let Ge of Ot)Ar=Math.min(Ar,Ge.x),Sr=Math.min(Sr,Ge.y),Kr=Math.max(Kr,Ge.x),oi=Math.max(oi,Ge.y);for(let Ge=0;Ge=0&&wt[1].y+Ct>=0){let Dt=Tt.map(_r=>ot.getTilePoint(_r)),fr=Ot.map(_r=>ot.getTilePoint(_r));Te.push({tile:Ze,tileID:ot,queryGeometry:Dt,cameraQueryGeometry:fr,scale:dt})}}return Te}getVisibleCoordinates(P){let ae=this.getRenderableIds(P).map(xe=>this._tiles[xe].tileID);for(let xe of ae)xe.posMatrix=this.transform.calculatePosMatrix(xe.toUnwrapped());return ae}hasTransition(){if(this._source.hasTransition())return!0;if(Wt(this._source.type)){let P=n.now();for(let ae in this._tiles)if(this._tiles[ae].fadeEndTime>=P)return!0}return!1}setFeatureState(P,ae,xe){this._state.updateState(P=P||"_geojsonTileLayer",ae,xe)}removeFeatureState(P,ae,xe){this._state.removeFeatureState(P=P||"_geojsonTileLayer",ae,xe)}getFeatureState(P,ae){return this._state.getState(P=P||"_geojsonTileLayer",ae)}setDependencies(P,ae,xe){let Te=this._tiles[P];Te&&Te.setDependencies(ae,xe)}reloadTilesForDependencies(P,ae){for(let xe in this._tiles)this._tiles[xe].hasDependency(P,ae)&&this._reloadTile(xe,"reloading");this._cache.filter(xe=>!xe.hasDependency(P,ae))}}function Vt(Ue,P){let ae=Math.abs(2*Ue.wrap)-+(Ue.wrap<0),xe=Math.abs(2*P.wrap)-+(P.wrap<0);return Ue.overscaledZ-P.overscaledZ||xe-ae||P.canonical.y-Ue.canonical.y||P.canonical.x-Ue.canonical.x}function Wt(Ue){return Ue==="raster"||Ue==="image"||Ue==="video"}Pt.maxOverzooming=10,Pt.maxUnderzooming=3;class Cr{constructor(P,ae){this.reset(P,ae)}reset(P,ae){this.points=P||[],this._distances=[0];for(let xe=1;xe0?(Te-ht)/Tt:0;return this.points[Oe].mult(1-Ot).add(this.points[ae].mult(Ot))}}function yr(Ue,P){let ae=!0;return Ue==="always"||Ue!=="never"&&P!=="never"||(ae=!1),ae}class qr{constructor(P,ae,xe){let Te=this.boxCells=[],Oe=this.circleCells=[];this.xCellCount=Math.ceil(P/xe),this.yCellCount=Math.ceil(ae/xe);for(let ht=0;htthis.width||Te<0||ae>this.height)return[];let Ot=[];if(P<=0&&ae<=0&&this.width<=xe&&this.height<=Te){if(Oe)return[{key:null,x1:P,y1:ae,x2:xe,y2:Te}];for(let Qt=0;Qt0}hitTestCircle(P,ae,xe,Te,Oe){let ht=P-xe,Tt=P+xe,Ot=ae-xe,Qt=ae+xe;if(Tt<0||ht>this.width||Qt<0||Ot>this.height)return!1;let Ar=[];return this._forEachCell(ht,Ot,Tt,Qt,this._queryCellCircle,Ar,{hitTest:!0,overlapMode:Te,circle:{x:P,y:ae,radius:xe},seenUids:{box:{},circle:{}}},Oe),Ar.length>0}_queryCell(P,ae,xe,Te,Oe,ht,Tt,Ot){let{seenUids:Qt,hitTest:Ar,overlapMode:Sr}=Tt,Kr=this.boxCells[Oe];if(Kr!==null){let Ge=this.bboxes;for(let Ze of Kr)if(!Qt.box[Ze]){Qt.box[Ze]=!0;let ot=4*Ze,dt=this.boxKeys[Ze];if(P<=Ge[ot+2]&&ae<=Ge[ot+3]&&xe>=Ge[ot+0]&&Te>=Ge[ot+1]&&(!Ot||Ot(dt))&&(!Ar||!yr(Sr,dt.overlapMode))&&(ht.push({key:dt,x1:Ge[ot],y1:Ge[ot+1],x2:Ge[ot+2],y2:Ge[ot+3]}),Ar))return!0}}let oi=this.circleCells[Oe];if(oi!==null){let Ge=this.circles;for(let Ze of oi)if(!Qt.circle[Ze]){Qt.circle[Ze]=!0;let ot=3*Ze,dt=this.circleKeys[Ze];if(this._circleAndRectCollide(Ge[ot],Ge[ot+1],Ge[ot+2],P,ae,xe,Te)&&(!Ot||Ot(dt))&&(!Ar||!yr(Sr,dt.overlapMode))){let Ct=Ge[ot],wt=Ge[ot+1],Dt=Ge[ot+2];if(ht.push({key:dt,x1:Ct-Dt,y1:wt-Dt,x2:Ct+Dt,y2:wt+Dt}),Ar)return!0}}}return!1}_queryCellCircle(P,ae,xe,Te,Oe,ht,Tt,Ot){let{circle:Qt,seenUids:Ar,overlapMode:Sr}=Tt,Kr=this.boxCells[Oe];if(Kr!==null){let Ge=this.bboxes;for(let Ze of Kr)if(!Ar.box[Ze]){Ar.box[Ze]=!0;let ot=4*Ze,dt=this.boxKeys[Ze];if(this._circleAndRectCollide(Qt.x,Qt.y,Qt.radius,Ge[ot+0],Ge[ot+1],Ge[ot+2],Ge[ot+3])&&(!Ot||Ot(dt))&&!yr(Sr,dt.overlapMode))return ht.push(!0),!0}}let oi=this.circleCells[Oe];if(oi!==null){let Ge=this.circles;for(let Ze of oi)if(!Ar.circle[Ze]){Ar.circle[Ze]=!0;let ot=3*Ze,dt=this.circleKeys[Ze];if(this._circlesCollide(Ge[ot],Ge[ot+1],Ge[ot+2],Qt.x,Qt.y,Qt.radius)&&(!Ot||Ot(dt))&&!yr(Sr,dt.overlapMode))return ht.push(!0),!0}}}_forEachCell(P,ae,xe,Te,Oe,ht,Tt,Ot){let Qt=this._convertToXCellCoord(P),Ar=this._convertToYCellCoord(ae),Sr=this._convertToXCellCoord(xe),Kr=this._convertToYCellCoord(Te);for(let oi=Qt;oi<=Sr;oi++)for(let Ge=Ar;Ge<=Kr;Ge++)if(Oe.call(this,P,ae,xe,Te,this.xCellCount*Ge+oi,ht,Tt,Ot))return}_convertToXCellCoord(P){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(P*this.xScale)))}_convertToYCellCoord(P){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(P*this.yScale)))}_circlesCollide(P,ae,xe,Te,Oe,ht){let Tt=Te-P,Ot=Oe-ae,Qt=xe+ht;return Qt*Qt>Tt*Tt+Ot*Ot}_circleAndRectCollide(P,ae,xe,Te,Oe,ht,Tt){let Ot=(ht-Te)/2,Qt=Math.abs(P-(Te+Ot));if(Qt>Ot+xe)return!1;let Ar=(Tt-Oe)/2,Sr=Math.abs(ae-(Oe+Ar));if(Sr>Ar+xe)return!1;if(Qt<=Ot||Sr<=Ar)return!0;let Kr=Qt-Ot,oi=Sr-Ar;return Kr*Kr+oi*oi<=xe*xe}}function Mr(Ue,P,ae,xe,Te){let Oe=t.H();return P?(t.K(Oe,Oe,[1/Te,1/Te,1]),ae||t.ad(Oe,Oe,xe.angle)):t.L(Oe,xe.labelPlaneMatrix,Ue),Oe}function Dr(Ue,P,ae,xe,Te){if(P){let Oe=t.ae(Ue);return t.K(Oe,Oe,[Te,Te,1]),ae||t.ad(Oe,Oe,-xe.angle),Oe}return xe.glCoordMatrix}function xt(Ue,P,ae,xe){let Te;xe?(Te=[Ue,P,xe(Ue,P),1],t.af(Te,Te,ae)):(Te=[Ue,P,0,1],tr(Te,Te,ae));let Oe=Te[3];return{point:new t.P(Te[0]/Oe,Te[1]/Oe),signedDistanceFromCamera:Oe,isOccluded:!1}}function Ne(Ue,P){return .5+Ue/P*.5}function Ye(Ue,P){return Ue.x>=-P[0]&&Ue.x<=P[0]&&Ue.y>=-P[1]&&Ue.y<=P[1]}function be(Ue,P,ae,xe,Te,Oe,ht,Tt,Ot,Qt,Ar,Sr,Kr,oi,Ge){let Ze=xe?Ue.textSizeData:Ue.iconSizeData,ot=t.ag(Ze,ae.transform.zoom),dt=[256/ae.width*2+1,256/ae.height*2+1],Ct=xe?Ue.text.dynamicLayoutVertexArray:Ue.icon.dynamicLayoutVertexArray;Ct.clear();let wt=Ue.lineVertexArray,Dt=xe?Ue.text.placedSymbolArray:Ue.icon.placedSymbolArray,fr=ae.transform.width/ae.transform.height,_r=!1;for(let kr=0;krMath.abs(ae.x-P.x)*xe?{useVertical:!0}:(Ue===t.ah.vertical?P.yae.x)?{needsFlipping:!0}:null}function ke(Ue,P,ae,xe,Te,Oe,ht,Tt,Ot,Qt,Ar){let Sr=ae/24,Kr=P.lineOffsetX*Sr,oi=P.lineOffsetY*Sr,Ge;if(P.numGlyphs>1){let Ze=P.glyphStartIndex+P.numGlyphs,ot=P.lineStartIndex,dt=P.lineStartIndex+P.lineLength,Ct=Ie(Sr,Tt,Kr,oi,xe,P,Ar,Ue);if(!Ct)return{notEnoughRoom:!0};let wt=xt(Ct.first.point.x,Ct.first.point.y,ht,Ue.getElevation).point,Dt=xt(Ct.last.point.x,Ct.last.point.y,ht,Ue.getElevation).point;if(Te&&!xe){let fr=qe(P.writingMode,wt,Dt,Qt);if(fr)return fr}Ge=[Ct.first];for(let fr=P.glyphStartIndex+1;fr0?wt.point:function(_r,kr,Vr,Qr,_i,Pi){return Me(_r,kr,Vr,1,_i,Pi)}(Ue.tileAnchorPoint,Ct,ot,0,Oe,Ue),fr=qe(P.writingMode,ot,Dt,Qt);if(fr)return fr}let Ze=kt(Sr*Tt.getoffsetX(P.glyphStartIndex),Kr,oi,xe,P.segment,P.lineStartIndex,P.lineStartIndex+P.lineLength,Ue,Ar);if(!Ze||Ue.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};Ge=[Ze]}for(let Ze of Ge)t.aj(Ot,Ze.point,Ze.angle);return{}}function Me(Ue,P,ae,xe,Te,Oe){let ht=Ue.add(Ue.sub(P)._unit()),Tt=Te!==void 0?xt(ht.x,ht.y,Te,Oe.getElevation).point:ut(ht.x,ht.y,Oe).point,Ot=ae.sub(Tt);return ae.add(Ot._mult(xe/Ot.mag()))}function Le(Ue,P,ae){let xe=P.projectionCache;if(xe.projections[Ue])return xe.projections[Ue];let Te=new t.P(P.lineVertexArray.getx(Ue),P.lineVertexArray.gety(Ue)),Oe=ut(Te.x,Te.y,P);if(Oe.signedDistanceFromCamera>0)return xe.projections[Ue]=Oe.point,xe.anyProjectionOccluded=xe.anyProjectionOccluded||Oe.isOccluded,Oe.point;let ht=Ue-ae.direction;return function(Tt,Ot,Qt,Ar,Sr){return Me(Tt,Ot,Qt,Ar,void 0,Sr)}(ae.distanceFromAnchor===0?P.tileAnchorPoint:new t.P(P.lineVertexArray.getx(ht),P.lineVertexArray.gety(ht)),Te,ae.previousVertex,ae.absOffsetX-ae.distanceFromAnchor+1,P)}function ut(Ue,P,ae){let xe=Ue+ae.translation[0],Te=P+ae.translation[1],Oe;return!ae.pitchWithMap&&ae.projection.useSpecialProjectionForSymbols?(Oe=ae.projection.projectTileCoordinates(xe,Te,ae.unwrappedTileID,ae.getElevation),Oe.point.x=(.5*Oe.point.x+.5)*ae.width,Oe.point.y=(.5*-Oe.point.y+.5)*ae.height):(Oe=xt(xe,Te,ae.labelPlaneMatrix,ae.getElevation),Oe.isOccluded=!1),Oe}function lt(Ue,P,ae){return Ue._unit()._perp()._mult(P*ae)}function gt(Ue,P,ae,xe,Te,Oe,ht,Tt,Ot){if(Tt.projectionCache.offsets[Ue])return Tt.projectionCache.offsets[Ue];let Qt=ae.add(P);if(Ue+Ot.direction=Te)return Tt.projectionCache.offsets[Ue]=Qt,Qt;let Ar=Le(Ue+Ot.direction,Tt,Ot),Sr=lt(Ar.sub(ae),ht,Ot.direction),Kr=ae.add(Sr),oi=Ar.add(Sr);return Tt.projectionCache.offsets[Ue]=t.ak(Oe,Qt,Kr,oi)||Qt,Tt.projectionCache.offsets[Ue]}function kt(Ue,P,ae,xe,Te,Oe,ht,Tt,Ot){let Qt=xe?Ue-P:Ue+P,Ar=Qt>0?1:-1,Sr=0;xe&&(Ar*=-1,Sr=Math.PI),Ar<0&&(Sr+=Math.PI);let Kr,oi=Ar>0?Oe+Te:Oe+Te+1;Tt.projectionCache.cachedAnchorPoint?Kr=Tt.projectionCache.cachedAnchorPoint:(Kr=ut(Tt.tileAnchorPoint.x,Tt.tileAnchorPoint.y,Tt).point,Tt.projectionCache.cachedAnchorPoint=Kr);let Ge,Ze,ot=Kr,dt=Kr,Ct=0,wt=0,Dt=Math.abs(Qt),fr=[],_r;for(;Ct+wt<=Dt;){if(oi+=Ar,oi=ht)return null;Ct+=wt,dt=ot,Ze=Ge;let Qr={absOffsetX:Dt,direction:Ar,distanceFromAnchor:Ct,previousVertex:dt};if(ot=Le(oi,Tt,Qr),ae===0)fr.push(dt),_r=ot.sub(dt);else{let _i,Pi=ot.sub(dt);_i=Pi.mag()===0?lt(Le(oi+Ar,Tt,Qr).sub(ot),ae,Ar):lt(Pi,ae,Ar),Ze||(Ze=dt.add(_i)),Ge=gt(oi,_i,ot,Oe,ht,Ze,ae,Tt,Qr),fr.push(Ze),_r=Ge.sub(Ze)}wt=_r.mag()}let kr=_r._mult((Dt-Ct)/wt)._add(Ze||dt),Vr=Sr+Math.atan2(ot.y-dt.y,ot.x-dt.x);return fr.push(kr),{point:kr,angle:Ot?Vr:0,path:fr}}let nr=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ir(Ue,P){for(let ae=0;ae=1;to--)yn.push(Qa.path[to]);for(let to=1;to<$a.path.length;to++)yn.push($a.path[to]);let qn=2.5*_i;if(Qt){let to=this.projectPathToScreenSpace(yn,fr,Qt);yn=to.some(Vo=>Vo.signedDistanceFromCamera<=0)?[]:to.map(Vo=>Vo.point)}let po=[];if(yn.length>0){let to=yn[0].clone(),Vo=yn[0].clone();for(let bs=1;bs=Pi.x&&Vo.x<=qi.x&&to.y>=Pi.y&&Vo.y<=qi.y?[yn]:Vo.xqi.x||Vo.yqi.y?[]:t.al([yn],Pi.x,Pi.y,qi.x,qi.y)}for(let to of po){ga.reset(to,.25*_i);let Vo=0;Vo=ga.length<=.5*_i?1:Math.ceil(ga.paddedLength/qn)+1;for(let bs=0;bsxt(Te.x,Te.y,xe,ae.getElevation))}queryRenderedSymbols(P){if(P.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};let ae=[],xe=1/0,Te=1/0,Oe=-1/0,ht=-1/0;for(let Ar of P){let Sr=new t.P(Ar.x+Ir,Ar.y+Ir);xe=Math.min(xe,Sr.x),Te=Math.min(Te,Sr.y),Oe=Math.max(Oe,Sr.x),ht=Math.max(ht,Sr.y),ae.push(Sr)}let Tt=this.grid.query(xe,Te,Oe,ht).concat(this.ignoredGrid.query(xe,Te,Oe,ht)),Ot={},Qt={};for(let Ar of Tt){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(ae,Kr)&&(Ot[Sr.bucketInstanceId][Sr.featureIndex]=!0,Qt[Sr.bucketInstanceId]===void 0&&(Qt[Sr.bucketInstanceId]=[]),Qt[Sr.bucketInstanceId].push(Sr.featureIndex))}return Qt}insertCollisionBox(P,ae,xe,Te,Oe,ht){(xe?this.ignoredGrid:this.grid).insert({bucketInstanceId:Te,featureIndex:Oe,collisionGroupID:ht,overlapMode:ae},P[0],P[1],P[2],P[3])}insertCollisionCircles(P,ae,xe,Te,Oe,ht){let Tt=xe?this.ignoredGrid:this.grid,Ot={bucketInstanceId:Te,featureIndex:Oe,collisionGroupID:ht,overlapMode:ae};for(let Qt=0;Qt=this.screenRightBoundary||Tethis.screenBottomBoundary}isInsideGrid(P,ae,xe,Te){return xe>=0&&P=0&&aethis.projectAndGetPerspectiveRatio(xe,_i.x,_i.y,Te,Qt));Vr=Qr.some(_i=>!_i.isOccluded),kr=Qr.map(_i=>_i.point)}else Vr=!0;return{box:t.ao(kr),allPointsOccluded:!Vr}}}function Vi(Ue,P,ae){return P*(t.X/(Ue.tileSize*Math.pow(2,ae-Ue.tileID.overscaledZ)))}class Ui{constructor(P,ae,xe,Te){this.opacity=P?Math.max(0,Math.min(1,P.opacity+(P.placed?ae:-ae))):Te&&xe?1:0,this.placed=xe}isHidden(){return this.opacity===0&&!this.placed}}class Ki{constructor(P,ae,xe,Te,Oe){this.text=new Ui(P?P.text:null,ae,xe,Oe),this.icon=new Ui(P?P.icon:null,ae,Te,Oe)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class ea{constructor(P,ae,xe){this.text=P,this.icon=ae,this.skipFade=xe}}class Bi{constructor(){this.invProjMatrix=t.H(),this.viewportMatrix=t.H(),this.circles=[]}}class _a{constructor(P,ae,xe,Te,Oe){this.bucketInstanceId=P,this.featureIndex=ae,this.sourceLayerIndex=xe,this.bucketIndex=Te,this.tileID=Oe}}class Ca{constructor(P){this.crossSourceCollisions=P,this.maxGroupID=0,this.collisionGroups={}}get(P){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[P]){let ae=++this.maxGroupID;this.collisionGroups[P]={ID:ae,predicate:xe=>xe.collisionGroupID===ae}}return this.collisionGroups[P]}}function Kt(Ue,P,ae,xe,Te){let{horizontalAlign:Oe,verticalAlign:ht}=t.au(Ue);return new t.P(-(Oe-.5)*P+xe[0]*Te,-(ht-.5)*ae+xe[1]*Te)}class zt{constructor(P,ae,xe,Te,Oe,ht){this.transform=P.clone(),this.terrain=xe,this.collisionIndex=new vi(this.transform,ae),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=Te,this.retainedQueryData={},this.collisionGroups=new Ca(Oe),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=ht,ht&&(ht.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(P){let ae=this.terrain;return ae?(xe,Te)=>ae.getElevation(P,xe,Te):null}getBucketParts(P,ae,xe,Te){let Oe=xe.getBucket(ae),ht=xe.latestFeatureIndex;if(!Oe||!ht||ae.id!==Oe.layerIds[0])return;let Tt=xe.collisionBoxArray,Ot=Oe.layers[0].layout,Qt=Oe.layers[0].paint,Ar=Math.pow(2,this.transform.zoom-xe.tileID.overscaledZ),Sr=xe.tileSize/t.X,Kr=xe.tileID.toUnwrapped(),oi=this.transform.calculatePosMatrix(Kr),Ge=Ot.get("text-pitch-alignment")==="map",Ze=Ot.get("text-rotation-alignment")==="map",ot=Vi(xe,1,this.transform.zoom),dt=this.collisionIndex.mapProjection.translatePosition(this.transform,xe,Qt.get("text-translate"),Qt.get("text-translate-anchor")),Ct=this.collisionIndex.mapProjection.translatePosition(this.transform,xe,Qt.get("icon-translate"),Qt.get("icon-translate-anchor")),wt=Mr(oi,Ge,Ze,this.transform,ot),Dt=null;if(Ge){let _r=Dr(oi,Ge,Ze,this.transform,ot);Dt=t.L([],this.transform.labelPlaneMatrix,_r)}this.retainedQueryData[Oe.bucketInstanceId]=new _a(Oe.bucketInstanceId,ht,Oe.sourceLayerIndex,Oe.index,xe.tileID);let fr={bucket:Oe,layout:Ot,translationText:dt,translationIcon:Ct,posMatrix:oi,unwrappedTileID:Kr,textLabelPlaneMatrix:wt,labelToScreenMatrix:Dt,scale:Ar,textPixelRatio:Sr,holdingForFade:xe.holdingForFade(),collisionBoxArray:Tt,partiallyEvaluatedTextSize:t.ag(Oe.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(Oe.sourceID)};if(Te)for(let _r of Oe.sortKeyRanges){let{sortKey:kr,symbolInstanceStart:Vr,symbolInstanceEnd:Qr}=_r;P.push({sortKey:kr,symbolInstanceStart:Vr,symbolInstanceEnd:Qr,parameters:fr})}else P.push({symbolInstanceStart:0,symbolInstanceEnd:Oe.symbolInstances.length,parameters:fr})}attemptAnchorPlacement(P,ae,xe,Te,Oe,ht,Tt,Ot,Qt,Ar,Sr,Kr,oi,Ge,Ze,ot,dt,Ct,wt){let Dt=t.aq[P.textAnchor],fr=[P.textOffset0,P.textOffset1],_r=Kt(Dt,xe,Te,fr,Oe),kr=this.collisionIndex.placeCollisionBox(ae,Kr,Ot,Qt,Ar,Tt,ht,ot,Sr.predicate,wt,_r);if((!Ct||this.collisionIndex.placeCollisionBox(Ct,Kr,Ot,Qt,Ar,Tt,ht,dt,Sr.predicate,wt,_r).placeable)&&kr.placeable){let Vr;if(this.prevPlacement&&this.prevPlacement.variableOffsets[oi.crossTileID]&&this.prevPlacement.placements[oi.crossTileID]&&this.prevPlacement.placements[oi.crossTileID].text&&(Vr=this.prevPlacement.variableOffsets[oi.crossTileID].anchor),oi.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[oi.crossTileID]={textOffset:fr,width:xe,height:Te,anchor:Dt,textBoxScale:Oe,prevAnchor:Vr},this.markUsedJustification(Ge,Dt,oi,Ze),Ge.allowVerticalPlacement&&(this.markUsedOrientation(Ge,Ze,oi),this.placedOrientations[oi.crossTileID]=Ze),{shift:_r,placedGlyphBoxes:kr}}}placeLayerBucketPart(P,ae,xe){let{bucket:Te,layout:Oe,translationText:ht,translationIcon:Tt,posMatrix:Ot,unwrappedTileID:Qt,textLabelPlaneMatrix:Ar,labelToScreenMatrix:Sr,textPixelRatio:Kr,holdingForFade:oi,collisionBoxArray:Ge,partiallyEvaluatedTextSize:Ze,collisionGroup:ot}=P.parameters,dt=Oe.get("text-optional"),Ct=Oe.get("icon-optional"),wt=t.ar(Oe,"text-overlap","text-allow-overlap"),Dt=wt==="always",fr=t.ar(Oe,"icon-overlap","icon-allow-overlap"),_r=fr==="always",kr=Oe.get("text-rotation-alignment")==="map",Vr=Oe.get("text-pitch-alignment")==="map",Qr=Oe.get("icon-text-fit")!=="none",_i=Oe.get("symbol-z-order")==="viewport-y",Pi=Dt&&(_r||!Te.hasIconData()||Ct),qi=_r&&(Dt||!Te.hasTextData()||dt);!Te.collisionArrays&&Ge&&Te.deserializeCollisionBoxes(Ge);let ga=this._getTerrainElevationFunc(this.retainedQueryData[Te.bucketInstanceId].tileID),Qa=($a,yn,qn)=>{var po,to;if(ae[$a.crossTileID])return;if(oi)return void(this.placements[$a.crossTileID]=new ea(!1,!1,!1));let Vo=!1,bs=!1,Ho=!0,ds=null,Is={box:null,placeable:!1,offscreen:null},Tl={box:null,placeable:!1,offscreen:null},dl=null,ms=null,gs=null,ql=0,uu=0,Uu=0;yn.textFeatureIndex?ql=yn.textFeatureIndex:$a.useRuntimeCollisionCircles&&(ql=$a.featureIndex),yn.verticalTextFeatureIndex&&(uu=yn.verticalTextFeatureIndex);let Su=yn.textBox;if(Su){let Ql=Je=>{let vt=t.ah.horizontal;if(Te.allowVerticalPlacement&&!Je&&this.prevPlacement){let _t=this.prevPlacement.placedOrientations[$a.crossTileID];_t&&(this.placedOrientations[$a.crossTileID]=_t,vt=_t,this.markUsedOrientation(Te,vt,$a))}return vt},eu=(Je,vt)=>{if(Te.allowVerticalPlacement&&$a.numVerticalGlyphVertices>0&&yn.verticalTextBox){for(let _t of Te.writingModes)if(_t===t.ah.vertical?(Is=vt(),Tl=Is):Is=Je(),Is&&Is.placeable)break}else Is=Je()},de=$a.textAnchorOffsetStartIndex,Fe=$a.textAnchorOffsetEndIndex;if(Fe===de){let Je=(vt,_t)=>{let At=this.collisionIndex.placeCollisionBox(vt,wt,Kr,Ot,Qt,Vr,kr,ht,ot.predicate,ga);return At&&At.placeable&&(this.markUsedOrientation(Te,_t,$a),this.placedOrientations[$a.crossTileID]=_t),At};eu(()=>Je(Su,t.ah.horizontal),()=>{let vt=yn.verticalTextBox;return Te.allowVerticalPlacement&&$a.numVerticalGlyphVertices>0&&vt?Je(vt,t.ah.vertical):{box:null,offscreen:null}}),Ql(Is&&Is.placeable)}else{let Je=t.aq[(to=(po=this.prevPlacement)===null||po===void 0?void 0:po.variableOffsets[$a.crossTileID])===null||to===void 0?void 0:to.anchor],vt=(At,ar,Ft)=>{let xr=At.x2-At.x1,Gr=At.y2-At.y1,Yr=$a.textBoxScale,Ei=Qr&&fr==="never"?ar:null,xi=null,na=wt==="never"?1:2,ua="never";Je&&na++;for(let Di=0;Divt(Su,yn.iconBox,t.ah.horizontal),()=>{let At=yn.verticalTextBox;return Te.allowVerticalPlacement&&(!Is||!Is.placeable)&&$a.numVerticalGlyphVertices>0&&At?vt(At,yn.verticalIconBox,t.ah.vertical):{box:null,occluded:!0,offscreen:null}}),Is&&(Vo=Is.placeable,Ho=Is.offscreen);let _t=Ql(Is&&Is.placeable);if(!Vo&&this.prevPlacement){let At=this.prevPlacement.variableOffsets[$a.crossTileID];At&&(this.variableOffsets[$a.crossTileID]=At,this.markUsedJustification(Te,At.anchor,$a,_t))}}}if(dl=Is,Vo=dl&&dl.placeable,Ho=dl&&dl.offscreen,$a.useRuntimeCollisionCircles){let Ql=Te.text.placedSymbolArray.get($a.centerJustifiedTextSymbolIndex),eu=t.ai(Te.textSizeData,Ze,Ql),de=Oe.get("text-padding");ms=this.collisionIndex.placeCollisionCircles(wt,Ql,Te.lineVertexArray,Te.glyphOffsetArray,eu,Ot,Qt,Ar,Sr,xe,Vr,ot.predicate,$a.collisionCircleDiameter,de,ht,ga),ms.circles.length&&ms.collisionDetected&&!xe&&t.w("Collisions detected, but collision boxes are not shown"),Vo=Dt||ms.circles.length>0&&!ms.collisionDetected,Ho=Ho&&ms.offscreen}if(yn.iconFeatureIndex&&(Uu=yn.iconFeatureIndex),yn.iconBox){let Ql=eu=>this.collisionIndex.placeCollisionBox(eu,fr,Kr,Ot,Qt,Vr,kr,Tt,ot.predicate,ga,Qr&&ds?ds:void 0);Tl&&Tl.placeable&&yn.verticalIconBox?(gs=Ql(yn.verticalIconBox),bs=gs.placeable):(gs=Ql(yn.iconBox),bs=gs.placeable),Ho=Ho&&gs.offscreen}let Fl=dt||$a.numHorizontalGlyphVertices===0&&$a.numVerticalGlyphVertices===0,yu=Ct||$a.numIconVertices===0;Fl||yu?yu?Fl||(bs=bs&&Vo):Vo=bs&&Vo:bs=Vo=bs&&Vo;let dc=bs&&gs.placeable;if(Vo&&dl.placeable&&this.collisionIndex.insertCollisionBox(dl.box,wt,Oe.get("text-ignore-placement"),Te.bucketInstanceId,Tl&&Tl.placeable&&uu?uu:ql,ot.ID),dc&&this.collisionIndex.insertCollisionBox(gs.box,fr,Oe.get("icon-ignore-placement"),Te.bucketInstanceId,Uu,ot.ID),ms&&Vo&&this.collisionIndex.insertCollisionCircles(ms.circles,wt,Oe.get("text-ignore-placement"),Te.bucketInstanceId,ql,ot.ID),xe&&this.storeCollisionData(Te.bucketInstanceId,qn,yn,dl,gs,ms),$a.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");if(Te.bucketInstanceId===0)throw new Error("bucket.bucketInstanceId can't be 0");this.placements[$a.crossTileID]=new ea(Vo||Pi,bs||qi,Ho||Te.justReloaded),ae[$a.crossTileID]=!0};if(_i){if(P.symbolInstanceStart!==0)throw new Error("bucket.bucketInstanceId should be 0");let $a=Te.getSortedSymbolIndexes(this.transform.angle);for(let yn=$a.length-1;yn>=0;--yn){let qn=$a[yn];Qa(Te.symbolInstances.get(qn),Te.collisionArrays[qn],qn)}}else for(let $a=P.symbolInstanceStart;$a=0&&(P.text.placedSymbolArray.get(Tt).crossTileID=Oe>=0&&Tt!==Oe?0:xe.crossTileID)}markUsedOrientation(P,ae,xe){let Te=ae===t.ah.horizontal||ae===t.ah.horizontalOnly?ae:0,Oe=ae===t.ah.vertical?ae:0,ht=[xe.leftJustifiedTextSymbolIndex,xe.centerJustifiedTextSymbolIndex,xe.rightJustifiedTextSymbolIndex];for(let Tt of ht)P.text.placedSymbolArray.get(Tt).placedOrientation=Te;xe.verticalPlacedTextSymbolIndex&&(P.text.placedSymbolArray.get(xe.verticalPlacedTextSymbolIndex).placedOrientation=Oe)}commit(P){this.commitTime=P,this.zoomAtLastRecencyCheck=this.transform.zoom;let ae=this.prevPlacement,xe=!1;this.prevZoomAdjustment=ae?ae.zoomAdjustment(this.transform.zoom):0;let Te=ae?ae.symbolFadeChange(P):1,Oe=ae?ae.opacities:{},ht=ae?ae.variableOffsets:{},Tt=ae?ae.placedOrientations:{};for(let Ot in this.placements){let Qt=this.placements[Ot],Ar=Oe[Ot];Ar?(this.opacities[Ot]=new Ki(Ar,Te,Qt.text,Qt.icon),xe=xe||Qt.text!==Ar.text.placed||Qt.icon!==Ar.icon.placed):(this.opacities[Ot]=new Ki(null,Te,Qt.text,Qt.icon,Qt.skipFade),xe=xe||Qt.text||Qt.icon)}for(let Ot in Oe){let Qt=Oe[Ot];if(!this.opacities[Ot]){let Ar=new Ki(Qt,Te,!1,!1);Ar.isHidden()||(this.opacities[Ot]=Ar,xe=xe||Qt.text.placed||Qt.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 Tt)this.placedOrientations[Ot]||!this.opacities[Ot]||this.opacities[Ot].isHidden()||(this.placedOrientations[Ot]=Tt[Ot]);if(ae&&ae.lastPlacementChangeTime===void 0)throw new Error("Last placement time for previous placement is not defined");xe?this.lastPlacementChangeTime=P:typeof this.lastPlacementChangeTime!="number"&&(this.lastPlacementChangeTime=ae?ae.lastPlacementChangeTime:P)}updateLayerOpacities(P,ae){let xe={};for(let Te of ae){let Oe=Te.getBucket(P);Oe&&Te.latestFeatureIndex&&P.id===Oe.layerIds[0]&&this.updateBucketOpacities(Oe,Te.tileID,xe,Te.collisionBoxArray)}}updateBucketOpacities(P,ae,xe,Te){P.hasTextData()&&(P.text.opacityVertexArray.clear(),P.text.hasVisibleVertices=!1),P.hasIconData()&&(P.icon.opacityVertexArray.clear(),P.icon.hasVisibleVertices=!1),P.hasIconCollisionBoxData()&&P.iconCollisionBox.collisionVertexArray.clear(),P.hasTextCollisionBoxData()&&P.textCollisionBox.collisionVertexArray.clear();let Oe=P.layers[0],ht=Oe.layout,Tt=new Ki(null,0,!1,!1,!0),Ot=ht.get("text-allow-overlap"),Qt=ht.get("icon-allow-overlap"),Ar=Oe._unevaluatedLayout.hasValue("text-variable-anchor")||Oe._unevaluatedLayout.hasValue("text-variable-anchor-offset"),Sr=ht.get("text-rotation-alignment")==="map",Kr=ht.get("text-pitch-alignment")==="map",oi=ht.get("icon-text-fit")!=="none",Ge=new Ki(null,0,Ot&&(Qt||!P.hasIconData()||ht.get("icon-optional")),Qt&&(Ot||!P.hasTextData()||ht.get("text-optional")),!0);!P.collisionArrays&&Te&&(P.hasIconCollisionBoxData()||P.hasTextCollisionBoxData())&&P.deserializeCollisionBoxes(Te);let Ze=(dt,Ct,wt)=>{for(let Dt=0;Dt0,Vr=this.placedOrientations[Ct.crossTileID],Qr=Vr===t.ah.vertical,_i=Vr===t.ah.horizontal||Vr===t.ah.horizontalOnly;if(wt>0||Dt>0){let qi=ra(_r.text);Ze(P.text,wt,Qr?ca:qi),Ze(P.text,Dt,_i?ca:qi);let ga=_r.text.isHidden();[Ct.rightJustifiedTextSymbolIndex,Ct.centerJustifiedTextSymbolIndex,Ct.leftJustifiedTextSymbolIndex].forEach(yn=>{yn>=0&&(P.text.placedSymbolArray.get(yn).hidden=ga||Qr?1:0)}),Ct.verticalPlacedTextSymbolIndex>=0&&(P.text.placedSymbolArray.get(Ct.verticalPlacedTextSymbolIndex).hidden=ga||_i?1:0);let Qa=this.variableOffsets[Ct.crossTileID];Qa&&this.markUsedJustification(P,Qa.anchor,Ct,Vr);let $a=this.placedOrientations[Ct.crossTileID];$a&&(this.markUsedJustification(P,"left",Ct,$a),this.markUsedOrientation(P,$a,Ct))}if(kr){let qi=ra(_r.icon),ga=!(oi&&Ct.verticalPlacedIconSymbolIndex&&Qr);Ct.placedIconSymbolIndex>=0&&(Ze(P.icon,Ct.numIconVertices,ga?qi:ca),P.icon.placedSymbolArray.get(Ct.placedIconSymbolIndex).hidden=_r.icon.isHidden()),Ct.verticalPlacedIconSymbolIndex>=0&&(Ze(P.icon,Ct.numVerticalIconVertices,ga?ca:qi),P.icon.placedSymbolArray.get(Ct.verticalPlacedIconSymbolIndex).hidden=_r.icon.isHidden())}let Pi=ot&&ot.has(dt)?ot.get(dt):{text:null,icon:null};if(P.hasIconCollisionBoxData()||P.hasTextCollisionBoxData()){let qi=P.collisionArrays[dt];if(qi){let ga=new t.P(0,0);if(qi.textBox||qi.verticalTextBox){let Qa=!0;if(Ar){let $a=this.variableOffsets[fr];$a?(ga=Kt($a.anchor,$a.width,$a.height,$a.textOffset,$a.textBoxScale),Sr&&ga._rotate(Kr?this.transform.angle:-this.transform.angle)):Qa=!1}if(qi.textBox||qi.verticalTextBox){let $a;qi.textBox&&($a=Qr),qi.verticalTextBox&&($a=_i),Zt(P.textCollisionBox.collisionVertexArray,_r.text.placed,!Qa||$a,Pi.text,ga.x,ga.y)}}if(qi.iconBox||qi.verticalIconBox){let Qa=!!(!_i&&qi.verticalIconBox),$a;qi.iconBox&&($a=Qa),qi.verticalIconBox&&($a=!Qa),Zt(P.iconCollisionBox.collisionVertexArray,_r.icon.placed,$a,Pi.icon,oi?ga.x:0,oi?ga.y:0)}}}}if(P.sortFeatures(this.transform.angle),this.retainedQueryData[P.bucketInstanceId]&&(this.retainedQueryData[P.bucketInstanceId].featureSortOrder=P.featureSortOrder),P.hasTextData()&&P.text.opacityVertexBuffer&&P.text.opacityVertexBuffer.updateData(P.text.opacityVertexArray),P.hasIconData()&&P.icon.opacityVertexBuffer&&P.icon.opacityVertexBuffer.updateData(P.icon.opacityVertexArray),P.hasIconCollisionBoxData()&&P.iconCollisionBox.collisionVertexBuffer&&P.iconCollisionBox.collisionVertexBuffer.updateData(P.iconCollisionBox.collisionVertexArray),P.hasTextCollisionBoxData()&&P.textCollisionBox.collisionVertexBuffer&&P.textCollisionBox.collisionVertexBuffer.updateData(P.textCollisionBox.collisionVertexArray),P.text.opacityVertexArray.length!==P.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${P.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${P.text.layoutVertexArray.length}) / 4`);if(P.icon.opacityVertexArray.length!==P.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${P.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${P.icon.layoutVertexArray.length}) / 4`);if(P.bucketInstanceId in this.collisionCircleArrays){let dt=this.collisionCircleArrays[P.bucketInstanceId];P.placementInvProjMatrix=dt.invProjMatrix,P.placementViewportMatrix=dt.viewportMatrix,P.collisionCircleArray=dt.circles,delete this.collisionCircleArrays[P.bucketInstanceId]}}symbolFadeChange(P){return this.fadeDuration===0?1:(P-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(P){return Math.max(0,(this.transform.zoom-P)/1.5)}hasTransitions(P){return this.stale||P-this.lastPlacementChangeTimeP}setStale(){this.stale=!0}}function Zt(Ue,P,ae,xe,Te,Oe){xe&&xe.length!==0||(xe=[0,0,0,0]);let ht=xe[0]-Ir,Tt=xe[1]-Ir,Ot=xe[2]-Ir,Qt=xe[3]-Ir;Ue.emplaceBack(P?1:0,ae?1:0,Te||0,Oe||0,ht,Tt),Ue.emplaceBack(P?1:0,ae?1:0,Te||0,Oe||0,Ot,Tt),Ue.emplaceBack(P?1:0,ae?1:0,Te||0,Oe||0,Ot,Qt),Ue.emplaceBack(P?1:0,ae?1:0,Te||0,Oe||0,ht,Qt)}let Jt=Math.pow(2,25),Br=Math.pow(2,24),ri=Math.pow(2,17),ii=Math.pow(2,16),di=Math.pow(2,9),Wi=Math.pow(2,8),oa=Math.pow(2,1);function ra(Ue){if(Ue.opacity===0&&!Ue.placed)return 0;if(Ue.opacity===1&&Ue.placed)return 4294967295;let P=Ue.placed?1:0,ae=Math.floor(127*Ue.opacity);return ae*Jt+P*Br+ae*ri+P*ii+ae*di+P*Wi+ae*oa+P}let ca=0;function xa(){return{isOccluded:(Ue,P,ae)=>!1,getPitchedTextCorrection:(Ue,P,ae)=>1,get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(Ue,P,ae,xe){throw new Error("Not implemented.")},translatePosition:(Ue,P,ae,xe)=>function(Te,Oe,ht,Tt,Ot=!1){if(!ht[0]&&!ht[1])return[0,0];let Qt=Ot?Tt==="map"?Te.angle:0:Tt==="viewport"?-Te.angle:0;if(Qt){let Ar=Math.sin(Qt),Sr=Math.cos(Qt);ht=[ht[0]*Sr-ht[1]*Ar,ht[0]*Ar+ht[1]*Sr]}return[Ot?ht[0]:Vi(Oe,ht[0],Te.zoom),Ot?ht[1]:Vi(Oe,ht[1],Te.zoom)]}(Ue,P,ae,xe),getCircleRadiusCorrection:Ue=>1}}class ji{constructor(P){this._sortAcrossTiles=P.layout.get("symbol-z-order")!=="viewport-y"&&!P.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(P,ae,xe,Te,Oe){let ht=this._bucketParts;for(;this._currentTileIndexTt.sortKey-Ot.sortKey));this._currentPartIndex!this._forceFullPlacement&&n.now()-Te>2;for(;this._currentPlacementIndex>=0;){let ht=ae[P[this._currentPlacementIndex]],Tt=this.placement.collisionIndex.transform.zoom;if(ht.type==="symbol"&&(!ht.minzoom||ht.minzoom<=Tt)&&(!ht.maxzoom||ht.maxzoom>Tt)){if(this._inProgressLayer||(this._inProgressLayer=new ji(ht)),this._inProgressLayer.continuePlacement(xe[ht.source],this.placement,this._showCollisionBoxes,ht,Oe))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(P){return this.placement.commit(P),this.placement}}let _n=512/t.X/2;class En{constructor(P,ae,xe){this.tileID=P,this.bucketInstanceId=xe,this._symbolsByKey={};let Te=new Map;for(let Oe=0;Oe({x:Math.floor(Ot.anchorX*_n),y:Math.floor(Ot.anchorY*_n)})),crossTileIDs:ht.map(Ot=>Ot.crossTileID)};if(Tt.positions.length>128){let Ot=new t.av(Tt.positions.length,16,Uint16Array);for(let{x:Qt,y:Ar}of Tt.positions)Ot.add(Qt,Ar);Ot.finish(),delete Tt.positions,Tt.index=Ot}this._symbolsByKey[Oe]=Tt}}getScaledCoordinates(P,ae){let{x:xe,y:Te,z:Oe}=this.tileID.canonical,{x:ht,y:Tt,z:Ot}=ae.canonical,Qt=_n/Math.pow(2,Ot-Oe),Ar=(Tt*t.X+P.anchorY)*Qt,Sr=Te*t.X*_n;return{x:Math.floor((ht*t.X+P.anchorX)*Qt-xe*t.X*_n),y:Math.floor(Ar-Sr)}}findMatches(P,ae,xe){let Te=this.tileID.canonical.zP)}}class bt{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class st{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(P){let ae=Math.round((P-this.lng)/360);if(ae!==0)for(let xe in this.indexes){let Te=this.indexes[xe],Oe={};for(let ht in Te){let Tt=Te[ht];Tt.tileID=Tt.tileID.unwrapTo(Tt.tileID.wrap+ae),Oe[Tt.tileID.key]=Tt}this.indexes[xe]=Oe}this.lng=P}addBucket(P,ae,xe){if(this.indexes[P.overscaledZ]&&this.indexes[P.overscaledZ][P.key]){if(this.indexes[P.overscaledZ][P.key].bucketInstanceId===ae.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(P.overscaledZ,this.indexes[P.overscaledZ][P.key])}for(let Oe=0;OeP.overscaledZ)for(let Tt in ht){let Ot=ht[Tt];Ot.tileID.isChildOf(P)&&Ot.findMatches(ae.symbolInstances,P,Te)}else{let Tt=ht[P.scaledTo(Number(Oe)).key];Tt&&Tt.findMatches(ae.symbolInstances,P,Te)}}for(let Oe=0;Oe{ae[xe]=!0});for(let xe in this.layerIndexes)ae[xe]||delete this.layerIndexes[xe]}}let Lr=(Ue,P)=>t.t(Ue,P&&P.filter(ae=>ae.identifier!=="source.canvas")),br=t.aw();class Rr extends t.E{constructor(P,ae={}){super(),this._rtlPluginLoaded=()=>{for(let xe in this.sourceCaches){let Te=this.sourceCaches[xe].getSource().type;Te!=="vector"&&Te!=="geojson"||this.sourceCaches[xe].reload()}},this.map=P,this.dispatcher=new ee(Z(),P._getMapId()),this.dispatcher.registerMessageHandler("GG",(xe,Te)=>this.getGlyphs(xe,Te)),this.dispatcher.registerMessageHandler("GI",(xe,Te)=>this.getImages(xe,Te)),this.imageManager=new f,this.imageManager.setEventedParent(this),this.glyphManager=new F(P._requestManager,ae.localIdeographFontFamily),this.lineAtlas=new X(256,512),this.crossTileSymbolIndex=new Nr,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()),Qe().on(me,this._rtlPluginLoaded),this.on("data",xe=>{if(xe.dataType!=="source"||xe.sourceDataType!=="metadata")return;let Te=this.sourceCaches[xe.sourceId];if(!Te)return;let Oe=Te.getSource();if(Oe&&Oe.vectorLayerIds)for(let ht in this._layers){let Tt=this._layers[ht];Tt.source===Oe.id&&this._validateLayer(Tt)}})}loadURL(P,ae={},xe){this.fire(new t.k("dataloading",{dataType:"style"})),ae.validate=typeof ae.validate!="boolean"||ae.validate;let Te=this.map._requestManager.transformRequest(P,"Style");this._loadStyleRequest=new AbortController;let Oe=this._loadStyleRequest;t.h(Te,this._loadStyleRequest).then(ht=>{this._loadStyleRequest=null,this._load(ht.data,ae,xe)}).catch(ht=>{this._loadStyleRequest=null,ht&&!Oe.signal.aborted&&this.fire(new t.j(ht))})}loadJSON(P,ae={},xe){this.fire(new t.k("dataloading",{dataType:"style"})),this._frameRequest=new AbortController,n.frameAsync(this._frameRequest).then(()=>{this._frameRequest=null,ae.validate=ae.validate!==!1,this._load(P,ae,xe)}).catch(()=>{})}loadEmpty(){this.fire(new t.k("dataloading",{dataType:"style"})),this._load(br,{validate:!1})}_load(P,ae,xe){var Te;let Oe=ae.transformStyle?ae.transformStyle(xe,P):P;if(!ae.validate||!Lr(this,t.u(Oe))){this._loaded=!0,this.stylesheet=Oe;for(let ht in Oe.sources)this.addSource(ht,Oe.sources[ht],{validate:!1});Oe.sprite?this._loadSprite(Oe.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(Oe.glyphs),this._createLayers(),this.light=new I(this.stylesheet.light),this.sky=new O(this.stylesheet.sky),this.map.setTerrain((Te=this.stylesheet.terrain)!==null&&Te!==void 0?Te:null),this.fire(new t.k("data",{dataType:"style"})),this.fire(new t.k("style.load"))}}_createLayers(){let P=t.az(this.stylesheet.layers);this.dispatcher.broadcast("SL",P),this._order=P.map(ae=>ae.id),this._layers={},this._serializedLayers=null;for(let ae of P){let xe=t.aA(ae);xe.setEventedParent(this,{layer:{id:ae.id}}),this._layers[ae.id]=xe}}_loadSprite(P,ae=!1,xe=void 0){let Te;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(Oe,ht,Tt,Ot){return t._(this,void 0,void 0,function*(){let Qt=b(Oe),Ar=Tt>1?"@2x":"",Sr={},Kr={};for(let{id:oi,url:Ge}of Qt){let Ze=ht.transformRequest(v(Ge,Ar,".json"),"SpriteJSON");Sr[oi]=t.h(Ze,Ot);let ot=ht.transformRequest(v(Ge,Ar,".png"),"SpriteImage");Kr[oi]=l.getImage(ot,Ot)}return yield Promise.all([...Object.values(Sr),...Object.values(Kr)]),function(oi,Ge){return t._(this,void 0,void 0,function*(){let Ze={};for(let ot in oi){Ze[ot]={};let dt=n.getImageCanvasContext((yield Ge[ot]).data),Ct=(yield oi[ot]).data;for(let wt in Ct){let{width:Dt,height:fr,x:_r,y:kr,sdf:Vr,pixelRatio:Qr,stretchX:_i,stretchY:Pi,content:qi,textFitWidth:ga,textFitHeight:Qa}=Ct[wt];Ze[ot][wt]={data:null,pixelRatio:Qr,sdf:Vr,stretchX:_i,stretchY:Pi,content:qi,textFitWidth:ga,textFitHeight:Qa,spriteData:{width:Dt,height:fr,x:_r,y:kr,context:dt}}}}return Ze})}(Sr,Kr)})}(P,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then(Oe=>{if(this._spriteRequest=null,Oe)for(let ht in Oe){this._spritesImagesIds[ht]=[];let Tt=this._spritesImagesIds[ht]?this._spritesImagesIds[ht].filter(Ot=>!(Ot in Oe)):[];for(let Ot of Tt)this.imageManager.removeImage(Ot),this._changedImages[Ot]=!0;for(let Ot in Oe[ht]){let Qt=ht==="default"?Ot:`${ht}:${Ot}`;this._spritesImagesIds[ht].push(Qt),Qt in this.imageManager.images?this.imageManager.updateImage(Qt,Oe[ht][Ot],!1):this.imageManager.addImage(Qt,Oe[ht][Ot]),ae&&(this._changedImages[Qt]=!0)}}}).catch(Oe=>{this._spriteRequest=null,Te=Oe,this.fire(new t.j(Te))}).finally(()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),ae&&(this._changed=!0),this.dispatcher.broadcast("SI",this._availableImages),this.fire(new t.k("data",{dataType:"style"})),xe&&xe(Te)})}_unloadSprite(){for(let P of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(P),this._changedImages[P]=!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(P){let ae=this.sourceCaches[P.source];if(!ae)return;let xe=P.sourceLayer;if(!xe)return;let Te=ae.getSource();(Te.type==="geojson"||Te.vectorLayerIds&&Te.vectorLayerIds.indexOf(xe)===-1)&&this.fire(new t.j(new Error(`Source layer "${xe}" does not exist on source "${Te.id}" as specified by style layer "${P.id}".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let P in this.sourceCaches)if(!this.sourceCaches[P].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(P,ae=!1){let xe=this._serializedAllLayers();if(!P||P.length===0)return Object.values(ae?t.aB(xe):xe);let Te=[];for(let Oe of P)if(xe[Oe]){let ht=ae?t.aB(xe[Oe]):xe[Oe];Te.push(ht)}return Te}_serializedAllLayers(){let P=this._serializedLayers;if(P)return P;P=this._serializedLayers={};let ae=Object.keys(this._layers);for(let xe of ae){let Te=this._layers[xe];Te.type!=="custom"&&(P[xe]=Te.serialize())}return P}hasTransitions(){if(this.light&&this.light.hasTransition()||this.sky&&this.sky.hasTransition())return!0;for(let P in this.sourceCaches)if(this.sourceCaches[P].hasTransition())return!0;for(let P in this._layers)if(this._layers[P].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading.")}update(P){if(!this._loaded)return;let ae=this._changed;if(ae){let Te=Object.keys(this._updatedLayers),Oe=Object.keys(this._removedLayers);(Te.length||Oe.length)&&this._updateWorkerLayers(Te,Oe);for(let ht in this._updatedSources){let Tt=this._updatedSources[ht];if(Tt==="reload")this._reloadSource(ht);else{if(Tt!=="clear")throw new Error(`Invalid action ${Tt}`);this._clearSource(ht)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let ht in this._updatedPaintProps)this._layers[ht].updateTransitions(P);this.light.updateTransitions(P),this.sky.updateTransitions(P),this._resetUpdates()}let xe={};for(let Te in this.sourceCaches){let Oe=this.sourceCaches[Te];xe[Te]=Oe.used,Oe.used=!1}for(let Te of this._order){let Oe=this._layers[Te];Oe.recalculate(P,this._availableImages),!Oe.isHidden(P.zoom)&&Oe.source&&(this.sourceCaches[Oe.source].used=!0)}for(let Te in xe){let Oe=this.sourceCaches[Te];!!xe[Te]!=!!Oe.used&&Oe.fire(new t.k("data",{sourceDataType:"visibility",dataType:"source",sourceId:Te}))}this.light.recalculate(P),this.sky.recalculate(P),this.z=P.zoom,ae&&this.fire(new t.k("data",{dataType:"style"}))}_updateTilesForChangedImages(){let P=Object.keys(this._changedImages);if(P.length){for(let ae in this.sourceCaches)this.sourceCaches[ae].reloadTilesForDependencies(["icons","patterns"],P);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let P in this.sourceCaches)this.sourceCaches[P].reloadTilesForDependencies(["glyphs"],[""]);this._glyphsDidChange=!1}}_updateWorkerLayers(P,ae){this.dispatcher.broadcast("UL",{layers:this._serializeByIds(P,!1),removedIds:ae})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(P,ae={}){var xe;this._checkLoaded();let Te=this.serialize();if(P=ae.transformStyle?ae.transformStyle(Te,P):P,((xe=ae.validate)===null||xe===void 0||xe)&&Lr(this,t.u(P)))return!1;(P=t.aB(P)).layers=t.az(P.layers);let Oe=t.aC(Te,P),ht=this._getOperationsToPerform(Oe);if(ht.unimplemented.length>0)throw new Error(`Unimplemented: ${ht.unimplemented.join(", ")}.`);if(ht.operations.length===0)return!1;for(let Tt of ht.operations)Tt();return this.stylesheet=P,this._serializedLayers=null,!0}_getOperationsToPerform(P){let ae=[],xe=[];for(let Te of P)switch(Te.command){case"setCenter":case"setZoom":case"setBearing":case"setPitch":continue;case"addLayer":ae.push(()=>this.addLayer.apply(this,Te.args));break;case"removeLayer":ae.push(()=>this.removeLayer.apply(this,Te.args));break;case"setPaintProperty":ae.push(()=>this.setPaintProperty.apply(this,Te.args));break;case"setLayoutProperty":ae.push(()=>this.setLayoutProperty.apply(this,Te.args));break;case"setFilter":ae.push(()=>this.setFilter.apply(this,Te.args));break;case"addSource":ae.push(()=>this.addSource.apply(this,Te.args));break;case"removeSource":ae.push(()=>this.removeSource.apply(this,Te.args));break;case"setLayerZoomRange":ae.push(()=>this.setLayerZoomRange.apply(this,Te.args));break;case"setLight":ae.push(()=>this.setLight.apply(this,Te.args));break;case"setGeoJSONSourceData":ae.push(()=>this.setGeoJSONSourceData.apply(this,Te.args));break;case"setGlyphs":ae.push(()=>this.setGlyphs.apply(this,Te.args));break;case"setSprite":ae.push(()=>this.setSprite.apply(this,Te.args));break;case"setSky":ae.push(()=>this.setSky.apply(this,Te.args));break;case"setTerrain":ae.push(()=>this.map.setTerrain.apply(this,Te.args));break;case"setTransition":ae.push(()=>{});break;default:xe.push(Te.command)}return{operations:ae,unimplemented:xe}}addImage(P,ae){if(this.getImage(P))return this.fire(new t.j(new Error(`An image named "${P}" already exists.`)));this.imageManager.addImage(P,ae),this._afterImageUpdated(P)}updateImage(P,ae){this.imageManager.updateImage(P,ae)}getImage(P){return this.imageManager.getImage(P)}removeImage(P){if(!this.getImage(P))return this.fire(new t.j(new Error(`An image named "${P}" does not exist.`)));this.imageManager.removeImage(P),this._afterImageUpdated(P)}_afterImageUpdated(P){this._availableImages=this.imageManager.listImages(),this._changedImages[P]=!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(P,ae,xe={}){if(this._checkLoaded(),this.sourceCaches[P]!==void 0)throw new Error(`Source "${P}" already exists.`);if(!ae.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(ae).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(ae.type)>=0&&this._validate(t.u.source,`sources.${P}`,ae,null,xe))return;this.map&&this.map._collectResourceTiming&&(ae.collectResourceTiming=!0);let Te=this.sourceCaches[P]=new Pt(P,ae,this.dispatcher);Te.style=this,Te.setEventedParent(this,()=>({isSourceLoaded:Te.loaded(),source:Te.serialize(),sourceId:P})),Te.onAdd(this.map),this._changed=!0}removeSource(P){if(this._checkLoaded(),this.sourceCaches[P]===void 0)throw new Error("There is no source with this ID");for(let xe in this._layers)if(this._layers[xe].source===P)return this.fire(new t.j(new Error(`Source "${P}" cannot be removed while layer "${xe}" is using it.`)));let ae=this.sourceCaches[P];delete this.sourceCaches[P],delete this._updatedSources[P],ae.fire(new t.k("data",{sourceDataType:"metadata",dataType:"source",sourceId:P})),ae.setEventedParent(null),ae.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(P,ae){if(this._checkLoaded(),this.sourceCaches[P]===void 0)throw new Error(`There is no source with this ID=${P}`);let xe=this.sourceCaches[P].getSource();if(xe.type!=="geojson")throw new Error(`geojsonSource.type is ${xe.type}, which is !== 'geojson`);xe.setData(ae),this._changed=!0}getSource(P){return this.sourceCaches[P]&&this.sourceCaches[P].getSource()}addLayer(P,ae,xe={}){this._checkLoaded();let Te=P.id;if(this.getLayer(Te))return void this.fire(new t.j(new Error(`Layer "${Te}" already exists on this map.`)));let Oe;if(P.type==="custom"){if(Lr(this,t.aD(P)))return;Oe=t.aA(P)}else{if("source"in P&&typeof P.source=="object"&&(this.addSource(Te,P.source),P=t.aB(P),P=t.e(P,{source:Te})),this._validate(t.u.layer,`layers.${Te}`,P,{arrayIndex:-1},xe))return;Oe=t.aA(P),this._validateLayer(Oe),Oe.setEventedParent(this,{layer:{id:Te}})}let ht=ae?this._order.indexOf(ae):this._order.length;if(ae&&ht===-1)this.fire(new t.j(new Error(`Cannot add layer "${Te}" before non-existing layer "${ae}".`)));else{if(this._order.splice(ht,0,Te),this._layerOrderChanged=!0,this._layers[Te]=Oe,this._removedLayers[Te]&&Oe.source&&Oe.type!=="custom"){let Tt=this._removedLayers[Te];delete this._removedLayers[Te],Tt.type!==Oe.type?this._updatedSources[Oe.source]="clear":(this._updatedSources[Oe.source]="reload",this.sourceCaches[Oe.source].pause())}this._updateLayer(Oe),Oe.onAdd&&Oe.onAdd(this.map)}}moveLayer(P,ae){if(this._checkLoaded(),this._changed=!0,!this._layers[P])return void this.fire(new t.j(new Error(`The layer '${P}' does not exist in the map's style and cannot be moved.`)));if(P===ae)return;let xe=this._order.indexOf(P);this._order.splice(xe,1);let Te=ae?this._order.indexOf(ae):this._order.length;ae&&Te===-1?this.fire(new t.j(new Error(`Cannot move layer "${P}" before non-existing layer "${ae}".`))):(this._order.splice(Te,0,P),this._layerOrderChanged=!0)}removeLayer(P){this._checkLoaded();let ae=this._layers[P];if(!ae)return void this.fire(new t.j(new Error(`Cannot remove non-existing layer "${P}".`)));ae.setEventedParent(null);let xe=this._order.indexOf(P);this._order.splice(xe,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[P]=ae,delete this._layers[P],this._serializedLayers&&delete this._serializedLayers[P],delete this._updatedLayers[P],delete this._updatedPaintProps[P],ae.onRemove&&ae.onRemove(this.map)}getLayer(P){return this._layers[P]}getLayersOrder(){return[...this._order]}hasLayer(P){return P in this._layers}setLayerZoomRange(P,ae,xe){this._checkLoaded();let Te=this.getLayer(P);Te?Te.minzoom===ae&&Te.maxzoom===xe||(ae!=null&&(Te.minzoom=ae),xe!=null&&(Te.maxzoom=xe),this._updateLayer(Te)):this.fire(new t.j(new Error(`Cannot set the zoom range of non-existing layer "${P}".`)))}setFilter(P,ae,xe={}){this._checkLoaded();let Te=this.getLayer(P);if(Te){if(!t.aE(Te.filter,ae))return ae==null?(Te.filter=void 0,void this._updateLayer(Te)):void(this._validate(t.u.filter,`layers.${Te.id}.filter`,ae,null,xe)||(Te.filter=t.aB(ae),this._updateLayer(Te)))}else this.fire(new t.j(new Error(`Cannot filter non-existing layer "${P}".`)))}getFilter(P){return t.aB(this.getLayer(P).filter)}setLayoutProperty(P,ae,xe,Te={}){this._checkLoaded();let Oe=this.getLayer(P);Oe?t.aE(Oe.getLayoutProperty(ae),xe)||(Oe.setLayoutProperty(ae,xe,Te),this._updateLayer(Oe)):this.fire(new t.j(new Error(`Cannot style non-existing layer "${P}".`)))}getLayoutProperty(P,ae){let xe=this.getLayer(P);if(xe)return xe.getLayoutProperty(ae);this.fire(new t.j(new Error(`Cannot get style of non-existing layer "${P}".`)))}setPaintProperty(P,ae,xe,Te={}){this._checkLoaded();let Oe=this.getLayer(P);Oe?t.aE(Oe.getPaintProperty(ae),xe)||(Oe.setPaintProperty(ae,xe,Te)&&this._updateLayer(Oe),this._changed=!0,this._updatedPaintProps[P]=!0,this._serializedLayers=null):this.fire(new t.j(new Error(`Cannot style non-existing layer "${P}".`)))}getPaintProperty(P,ae){return this.getLayer(P).getPaintProperty(ae)}setFeatureState(P,ae){this._checkLoaded();let xe=P.source,Te=P.sourceLayer,Oe=this.sourceCaches[xe];if(Oe===void 0)return void this.fire(new t.j(new Error(`The source '${xe}' does not exist in the map's style.`)));let ht=Oe.getSource().type;ht==="geojson"&&Te?this.fire(new t.j(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):ht!=="vector"||Te?(P.id===void 0&&this.fire(new t.j(new Error("The feature id parameter must be provided."))),Oe.setFeatureState(Te,P.id,ae)):this.fire(new t.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(P,ae){this._checkLoaded();let xe=P.source,Te=this.sourceCaches[xe];if(Te===void 0)return void this.fire(new t.j(new Error(`The source '${xe}' does not exist in the map's style.`)));let Oe=Te.getSource().type,ht=Oe==="vector"?P.sourceLayer:void 0;Oe!=="vector"||ht?ae&&typeof P.id!="string"&&typeof P.id!="number"?this.fire(new t.j(new Error("A feature id is required to remove its specific state property."))):Te.removeFeatureState(ht,P.id,ae):this.fire(new t.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(P){this._checkLoaded();let ae=P.source,xe=P.sourceLayer,Te=this.sourceCaches[ae];if(Te!==void 0)return Te.getSource().type!=="vector"||xe?(P.id===void 0&&this.fire(new t.j(new Error("The feature id parameter must be provided."))),Te.getFeatureState(xe,P.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 '${ae}' 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 P=t.aF(this.sourceCaches,Oe=>Oe.serialize()),ae=this._serializeByIds(this._order,!0),xe=this.map.getTerrain()||void 0,Te=this.stylesheet;return t.aG({version:Te.version,name:Te.name,metadata:Te.metadata,light:Te.light,sky:Te.sky,center:Te.center,zoom:Te.zoom,bearing:Te.bearing,pitch:Te.pitch,sprite:Te.sprite,glyphs:Te.glyphs,transition:Te.transition,sources:P,layers:ae,terrain:xe},Oe=>Oe!==void 0)}_updateLayer(P){this._updatedLayers[P.id]=!0,P.source&&!this._updatedSources[P.source]&&this.sourceCaches[P.source].getSource().type!=="raster"&&(this._updatedSources[P.source]="reload",this.sourceCaches[P.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(P){let ae=ht=>this._layers[ht].type==="fill-extrusion",xe={},Te=[];for(let ht=this._order.length-1;ht>=0;ht--){let Tt=this._order[ht];if(ae(Tt)){xe[Tt]=ht;for(let Ot of P){let Qt=Ot[Tt];if(Qt)for(let Ar of Qt)Te.push(Ar)}}}Te.sort((ht,Tt)=>Tt.intersectionZ-ht.intersectionZ);let Oe=[];for(let ht=this._order.length-1;ht>=0;ht--){let Tt=this._order[ht];if(ae(Tt))for(let Ot=Te.length-1;Ot>=0;Ot--){let Qt=Te[Ot].feature;if(xe[Qt.layer.id]{let Vr=dt.featureSortOrder;if(Vr){let Qr=Vr.indexOf(_r.featureIndex);return Vr.indexOf(kr.featureIndex)-Qr}return kr.featureIndex-_r.featureIndex});for(let _r of fr)Dt.push(_r)}}for(let dt in Ge)Ge[dt].forEach(Ct=>{let wt=Ct.feature,Dt=Qt[Tt[dt].source].getFeatureState(wt.layer["source-layer"],wt.id);wt.source=wt.layer.source,wt.layer["source-layer"]&&(wt.sourceLayer=wt.layer["source-layer"]),wt.state=Dt});return Ge}(this._layers,ht,this.sourceCaches,P,ae,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(Oe)}querySourceFeatures(P,ae){ae&&ae.filter&&this._validate(t.u.filter,"querySourceFeatures.filter",ae.filter,null,ae);let xe=this.sourceCaches[P];return xe?function(Te,Oe){let ht=Te.getRenderableIds().map(Qt=>Te.getTileByID(Qt)),Tt=[],Ot={};for(let Qt=0;QtKr.getTileByID(oi)).sort((oi,Ge)=>Ge.tileID.overscaledZ-oi.tileID.overscaledZ||(oi.tileID.isLessThan(Ge.tileID)?-1:1))}let Sr=this.crossTileSymbolIndex.addLayer(Ar,Ot[Ar.source],P.center.lng);ht=ht||Sr}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((Oe=Oe||this._layerOrderChanged||xe===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(n.now(),P.zoom))&&(this.pauseablePlacement=new pn(P,this.map.terrain,this._order,Oe,ae,xe,Te,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()),Tt=!0),ht&&this.pauseablePlacement.placement.setStale()),Tt||ht)for(let Qt of this._order){let Ar=this._layers[Qt];Ar.type==="symbol"&&this.placement.updateLayerOpacities(Ar,Ot[Ar.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(n.now())}_releaseSymbolFadeTiles(){for(let P in this.sourceCaches)this.sourceCaches[P].releaseSymbolFadeTiles()}getImages(P,ae){return t._(this,void 0,void 0,function*(){let xe=yield this.imageManager.getImages(ae.icons);this._updateTilesForChangedImages();let Te=this.sourceCaches[ae.source];return Te&&Te.setDependencies(ae.tileID.key,ae.type,ae.icons),xe})}getGlyphs(P,ae){return t._(this,void 0,void 0,function*(){let xe=yield this.glyphManager.getGlyphs(ae.stacks),Te=this.sourceCaches[ae.source];return Te&&Te.setDependencies(ae.tileID.key,ae.type,[""]),xe})}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(P,ae={}){this._checkLoaded(),P&&this._validate(t.u.glyphs,"glyphs",P,null,ae)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=P,this.glyphManager.entries={},this.glyphManager.setURL(P))}addSprite(P,ae,xe={},Te){this._checkLoaded();let Oe=[{id:P,url:ae}],ht=[...b(this.stylesheet.sprite),...Oe];this._validate(t.u.sprite,"sprite",ht,null,xe)||(this.stylesheet.sprite=ht,this._loadSprite(Oe,!0,Te))}removeSprite(P){this._checkLoaded();let ae=b(this.stylesheet.sprite);if(ae.find(xe=>xe.id===P)){if(this._spritesImagesIds[P])for(let xe of this._spritesImagesIds[P])this.imageManager.removeImage(xe),this._changedImages[xe]=!0;ae.splice(ae.findIndex(xe=>xe.id===P),1),this.stylesheet.sprite=ae.length>0?ae:void 0,delete this._spritesImagesIds[P],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 "${P}" doesn't exists on this map.`)))}getSprite(){return b(this.stylesheet.sprite)}setSprite(P,ae={},xe){this._checkLoaded(),P&&this._validate(t.u.sprite,"sprite",P,null,ae)||(this.stylesheet.sprite=P,P?this._loadSprite(P,!0,xe):(this._unloadSprite(),xe&&xe(null)))}}var jr=t.Y([{name:"a_pos",type:"Int16",components:2}]);let Wr={prelude:yt(`#ifdef GL_ES +{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"}}}),wL=xe({"src/plots/map/styles/arcgis-sat.js"(U,O){"use strict";O.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"}}]}}}),Qd=xe({"src/plots/map/constants.js"(U,O){"use strict";var u=(vv(),Ta(Id)).default,v=xL(),w=wL(),S='\xA9 OpenStreetMap contributors',l="https://basemaps.cartocdn.com/gl/positron-gl-style/style.json",e="https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",t="https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",a="https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json",r="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:t,streets:t,outdoors:t,light:l,dark:e,satellite:w,"satellite-streets":v,"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:S,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":l,"carto-darkmatter":e,"carto-voyager":t,"carto-positron-nolabels":a,"carto-darkmatter-nolabels":r,"carto-voyager-nolabels":n},s=u(i);O.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(` +`),mapOnErrorMsg:"Map error.",fitBoundsPadding:20}}}),lm=xe({"src/plots/map/layout_attributes.js"(U,O){"use strict";var u=Sr(),v=wi().defaultLine,w=Gl().attributes,S=vl(),l=wu().textposition,e=Hl().overrideAll,t=Cs().templatedArray,a=Qd(),r=S({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});r.family.dflt="Open Sans Regular, Arial Unicode MS Regular";var n=O.exports=e({_arrayAttrRegexps:[u.counterRegex("map",".layers",!0)],domain:w({name:"map"}),style:{valType:"any",values:a.styleValuesMap,dflt:a.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},fitbounds:{valType:"enumerated",values:[!1,"locations"],dflt:"locations"},bounds:{west:{valType:"number"},east:{valType:"number"},south:{valType:"number"},north:{valType:"number"}},layers:t("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:v},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:v}},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:r,textposition:u.extendFlat({},l,{arrayOk:!1})}})},"plot","from-root");n.uirevision={valType:"any",editType:"none"}}}),Q1=xe({"src/traces/scattermap/attributes.js"(U,O){"use strict";var{hovertemplateAttrs:u,texttemplateAttrs:v,templatefallbackAttrs:w}=js(),S=qh(),l=Ip(),e=wu(),t=lm(),a=Rs(),r=pl(),n=oo().extendFlat,i=Hl().overrideAll,s=lm(),c=l.line,p=l.marker;O.exports=i({lon:l.lon,lat:l.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({},p.opacity,{dflt:1})},mode:n({},e.mode,{dflt:"markers"}),text:n({},e.text,{}),texttemplate:v({editType:"plot"},{keys:["lat","lon","text"]}),texttemplatefallback:w({editType:"plot"}),hovertext:n({},e.hovertext,{}),line:{color:c.color,width:c.width},connectgaps:e.connectgaps,marker:n({symbol:{valType:"string",dflt:"circle",arrayOk:!0},angle:{valType:"number",dflt:"auto",arrayOk:!0},allowoverlap:{valType:"boolean",dflt:!1},opacity:p.opacity,size:p.size,sizeref:p.sizeref,sizemin:p.sizemin,sizemode:p.sizemode},r("marker")),fill:l.fill,fillcolor:S(),textfont:t.layers.symbol.textfont,textposition:t.layers.symbol.textposition,below:{valType:"string"},selected:{marker:e.selected.marker},unselected:{marker:e.unselected.marker},hoverinfo:n({},a.hoverinfo,{flags:["lon","lat","text","name"]}),hovertemplate:u(),hovertemplatefallback:w()},"calc","nested")}}),Y3=xe({"src/traces/scattermap/constants.js"(U,O){"use strict";var u=["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"];O.exports={isSupportedFont:function(v){return u.indexOf(v)!==-1}}}}),TL=xe({"src/traces/scattermap/defaults.js"(U,O){"use strict";var u=Sr(),v=Cl(),w=hh(),S=Eh(),l=kh(),e=Vh(),t=Q1(),a=Y3().isSupportedFont;O.exports=function(i,s,c,p){function f(x,_){return u.coerce(i,s,t,x,_)}function d(x,_){return u.coerce2(i,s,t,x,_)}var y=r(i,s,f);if(!y){s.visible=!1;return}if(f("text"),f("texttemplate"),f("texttemplatefallback"),f("hovertext"),f("hovertemplate"),f("hovertemplatefallback"),f("mode"),f("below"),v.hasMarkers(s)){w(i,s,c,p,f,{noLine:!0,noAngle:!0}),f("marker.allowoverlap"),f("marker.angle");var o=s.marker;o.symbol!=="circle"&&(u.isArrayOrTypedArray(o.size)&&(o.size=o.size[0]),u.isArrayOrTypedArray(o.color)&&(o.color=o.color[0]))}v.hasLines(s)&&(S(i,s,c,p,f,{noDash:!0}),f("connectgaps"));var b=d("cluster.maxzoom"),M=d("cluster.step"),A=d("cluster.color",s.marker&&s.marker.color||c),E=d("cluster.size"),g=d("cluster.opacity"),T=b!==!1||M!==!1||A!==!1||E!==!1||g!==!1,m=f("cluster.enabled",T);if(m||v.hasText(s)){var h=p.font.family;l(i,s,p,f,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:a(h)?h:"Open Sans Regular",weight:p.font.weight,style:p.font.style,size:p.font.size,color:p.font.color}})}f("fill"),s.fill!=="none"&&e(i,s,c,f),u.coerceSelectionMarkerOpacity(s,f)};function r(n,i,s){var c=s("lon")||[],p=s("lat")||[],f=Math.min(c.length,p.length);return i._length=f,f}}}),X3=xe({"src/traces/scattermap/format_labels.js"(U,O){"use strict";var u=uo();O.exports=function(w,S,l){var e={},t=l[S.subplot]._subplot,a=t.mockAxis,r=w.lonlat;return e.lonLabel=u.tickText(a,a.c2l(r[0]),!0).text,e.latLabel=u.tickText(a,a.c2l(r[1]),!0).text,e}}}),$3=xe({"src/plots/map/convert_text_opts.js"(U,O){"use strict";var u=Sr();O.exports=function(w,S){var l=w.split(" "),e=l[0],t=l[1],a=u.isArrayOrTypedArray(S)?u.mean(S):S,r=.5+a/100,n=1.5+a/100,i=["",""],s=[0,0];switch(e){case"top":i[0]="top",s[1]=-n;break;case"bottom":i[0]="bottom",s[1]=n;break}switch(t){case"left":i[1]="right",s[0]=-r;break;case"right":i[1]="left",s[0]=r;break}var c;return i[0]&&i[1]?c=i.join("-"):i[0]?c=i[0]:i[1]?c=i[1]:c="center",{anchor:c,offset:s}}}}),AL=xe({"src/traces/scattermap/convert.js"(U,O){"use strict";var u=yn(),v=Sr(),w=Gn().BADNUM,S=J0(),l=Bl(),e=go(),t=n0(),a=Cl(),r=Y3().isSupportedFont,n=$3(),i=Kf().appendArrayPointValue,s=el().NEWLINES,c=el().BR_TAG_ALL;O.exports=function(g,T){var m=T[0].trace,h=m.visible===!0&&m._length!==0,x=m.fill!=="none",_=a.hasLines(m),D=a.hasMarkers(m),C=a.hasText(m),F=D&&m.marker.symbol==="circle",I=D&&m.marker.symbol!=="circle",z=m.cluster&&m.cluster.enabled,R=p("fill"),k=p("line"),B=p("circle"),N=p("symbol"),q={fill:R,line:k,circle:B,symbol:N};if(!h)return q;var Y;if((x||_)&&(Y=S.calcTraceToLineCoords(T)),x&&(R.geojson=S.makePolygon(Y),R.layout.visibility="visible",v.extendFlat(R.paint,{"fill-color":m.fillcolor})),_&&(k.geojson=S.makeLine(Y),k.layout.visibility="visible",v.extendFlat(k.paint,{"line-width":m.line.width,"line-color":m.line.color,"line-opacity":m.opacity})),F){var ee=f(T);B.geojson=ee.geojson,B.layout.visibility="visible",z&&(B.filter=["!",["has","point_count"]],q.cluster={type:"circle",filter:["has","point_count"],layout:{visibility:"visible"},paint:{"circle-color":M(m.cluster.color,m.cluster.step),"circle-radius":M(m.cluster.size,m.cluster.step),"circle-opacity":M(m.cluster.opacity,m.cluster.step)}},q.clusterCount={type:"symbol",filter:["has","point_count"],paint:{},layout:{"text-field":"{point_count_abbreviated}","text-font":A(m),"text-size":12}}),v.extendFlat(B.paint,{"circle-color":ee.mcc,"circle-radius":ee.mrc,"circle-opacity":ee.mo})}if(F&&z&&(B.filter=["!",["has","point_count"]]),(I||C)&&(N.geojson=d(T,g),v.extendFlat(N.layout,{visibility:"visible","icon-image":"{symbol}","text-field":"{text}"}),I&&(v.extendFlat(N.layout,{"icon-size":m.marker.size/10}),"angle"in m.marker&&m.marker.angle!=="auto"&&v.extendFlat(N.layout,{"icon-rotate":{type:"identity",property:"angle"},"icon-rotation-alignment":"map"}),N.layout["icon-allow-overlap"]=m.marker.allowoverlap,v.extendFlat(N.paint,{"icon-opacity":m.opacity*m.marker.opacity,"icon-color":m.marker.color,"icon-halo-color":m.marker.color,"icon-halo-width":2,"icon-halo-blur":1.5})),C)){var te=(m.marker||{}).size,ae=n(m.textposition,te);v.extendFlat(N.layout,{"text-size":m.textfont.size,"text-anchor":ae.anchor,"text-offset":ae.offset,"text-font":A(m)}),v.extendFlat(N.paint,{"text-color":m.textfont.color,"text-opacity":m.opacity})}return q};function p(E){return{type:E,geojson:S.makeBlank(),layout:{visibility:"none"},filter:null,paint:{}}}function f(E){var g=E[0].trace,T=g.marker,m=g.selectedpoints,h=v.isArrayOrTypedArray(T.color),x=v.isArrayOrTypedArray(T.size),_=v.isArrayOrTypedArray(T.opacity),D;function C(te){return g.opacity*te}function F(te){return te/2}var I;h&&(l.hasColorscale(g,"marker")?I=l.makeColorScaleFuncFromTrace(T):I=v.identity);var z;x&&(z=t(g));var R;_&&(R=function(te){var ae=u(te)?+v.constrain(te,0,1):0;return C(ae)});var k=[];for(D=0;D850?D+=" Black":h>750?D+=" Extra Bold":h>650?D+=" Bold":h>550?D+=" Semi Bold":h>450?D+=" Medium":h>350?D+=" Regular":h>250?D+=" Light":h>150?D+=" Extra Light":D+=" Thin"):x.slice(0,2).join(" ")==="Open Sans"?(D="Open Sans",h>750?D+=" Extrabold":h>650?D+=" Bold":h>550?D+=" Semibold":h>350?D+=" Regular":D+=" Light"):x.slice(0,3).join(" ")==="Klokantech Noto Sans"&&(D="Klokantech Noto Sans",x[3]==="CJK"&&(D+=" CJK"),D+=h>500?" Bold":" Regular")),_&&(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"),r(D)||(D=T);var C=D.split(", ");return C}}}),ML=xe({"src/traces/scattermap/plot.js"(U,O){"use strict";var u=Sr(),v=AL(),w=Qd().traceLayerPrefix,S={cluster:["cluster","clusterCount","circle"],nonCluster:["fill","line","circle","symbol"]};function l(t,a,r,n){this.type="scattermap",this.subplot=t,this.uid=a,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:"source-"+a+"-fill",line:"source-"+a+"-line",circle:"source-"+a+"-circle",symbol:"source-"+a+"-symbol",cluster:"source-"+a+"-circle",clusterCount:"source-"+a+"-circle"},this.layerIds={fill:w+a+"-fill",line:w+a+"-line",circle:w+a+"-circle",symbol:w+a+"-symbol",cluster:w+a+"-cluster",clusterCount:w+a+"-cluster-count"},this.below=null}var e=l.prototype;e.addSource=function(t,a,r){var n={type:"geojson",data:a.geojson};r&&r.enabled&&u.extendFlat(n,{cluster:!0,clusterMaxZoom:r.maxzoom});var i=this.subplot.map.getSource(this.sourceIds[t]);i?i.setData(a.geojson):this.subplot.map.addSource(this.sourceIds[t],n)},e.setSourceData=function(t,a){this.subplot.map.getSource(this.sourceIds[t]).setData(a.geojson)},e.addLayer=function(t,a,r){var n={type:a.type,id:this.layerIds[t],source:this.sourceIds[t],layout:a.layout,paint:a.paint};a.filter&&(n.filter=a.filter);for(var i=this.layerIds[t],s,c=this.subplot.getMapLayers(),p=0;p=0;_--){var D=x[_];i.removeLayer(d.layerIds[D])}h||i.removeSource(d.sourceIds.circle)}function b(h){for(var x=S.nonCluster,_=0;_=0;_--){var D=x[_];i.removeLayer(d.layerIds[D]),h||i.removeSource(d.sourceIds[D])}}function A(h){f?o(h):M(h)}function E(h){p?y(h):b(h)}function g(){for(var h=p?S.cluster:S.nonCluster,x=0;x=0;n--){var i=r[n];a.removeLayer(this.layerIds[i]),a.removeSource(this.sourceIds[i])}},O.exports=function(a,r){var n=r[0].trace,i=n.cluster&&n.cluster.enabled,s=n.visible!==!0,c=new l(a,n.uid,i,s),p=v(a.gd,r),f=c.below=a.belowLookup["trace-"+n.uid],d,y,o;if(i)for(c.addSource("circle",p.circle,n.cluster),d=0;d=0?Math.floor((n+180)/360):Math.ceil((n-180)/360),E=A*360,g=n-E;function T(z){var R=z.lonlat;if(R[0]===l||b&&y.indexOf(z.i+1)===-1)return 1/0;var k=v.modHalf(R[0],360),B=R[1],N=d.project([k,B]),q=N.x-p.c2p([g,B]),Y=N.y-f.c2p([k,i]),ee=Math.max(3,z.mrc||0);return Math.max(Math.sqrt(q*q+Y*Y)-ee,1-3/ee)}if(u.getClosest(s,T,r),r.index!==!1){var m=s[r.index],h=m.lonlat,x=[v.modHalf(h[0],360)+E,h[1]],_=p.c2p(x),D=f.c2p(x),C=m.mrc||1;r.x0=_-C,r.x1=_+C,r.y0=D-C,r.y1=D+C;var F={};F[c.subplot]={_subplot:d};var I=c._module.formatLabels(m,c,F);return r.lonLabel=I.lonLabel,r.latLabel=I.latLabel,r.color=w(c,m),r.extraText=a(c,m,s[0].t.labels),r.hovertemplate=c.hovertemplate,[r]}}function a(r,n,i){if(r.hovertemplate)return;var s=n.hi||r.hoverinfo,c=s.split("+"),p=c.indexOf("all")!==-1,f=c.indexOf("lon")!==-1,d=c.indexOf("lat")!==-1,y=n.lonlat,o=[];function b(M){return M+"\xB0"}return p||f&&d?o.push("("+b(y[1])+", "+b(y[0])+")"):f?o.push(i.lon+b(y[0])):d&&o.push(i.lat+b(y[1])),(p||c.indexOf("text")!==-1)&&S(n,r,o),o.join("
")}O.exports={hoverPoints:t,getExtraText:a}}}),SL=xe({"src/traces/scattermap/event_data.js"(U,O){"use strict";O.exports=function(v,w){return v.lon=w.lon,v.lat=w.lat,v}}}),EL=xe({"src/traces/scattermap/select.js"(U,O){"use strict";var u=Sr(),v=Cl(),w=Gn().BADNUM;O.exports=function(l,e){var t=l.cd,a=l.xaxis,r=l.yaxis,n=[],i=t[0].trace,s;if(!v.hasMarkers(i))return[];if(e===!1)for(s=0;s1)return 1;for(var W=V,oe=0;oe<8;oe++){var me=this.sampleCurveX(W)-V;if(Math.abs(me)me?Pe=W:Ge=W,W=.5*(Ge-Pe)+Pe;return W},solve:function(V,P){return this.sampleCurveY(this.solveCurveX(V,P))}};var c=t(i);let p,f;function d(){return p==null&&(p=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")&&typeof createImageBitmap=="function"),p}function y(){if(f==null&&(f=!1,d())){let P=new OffscreenCanvas(5,5).getContext("2d",{willReadFrequently:!0});if(P){for(let oe=0;oe<5*5;oe++){let me=4*oe;P.fillStyle=`rgb(${me},${me+1},${me+2})`,P.fillRect(oe%5,Math.floor(oe/5),1,1)}let W=P.getImageData(0,0,5,5).data;for(let oe=0;oe<5*5*4;oe++)if(oe%4!=3&&W[oe]!==oe){f=!0;break}}}return f||!1}function o(V,P,W,oe){let me=new c(V,P,W,oe);return ke=>me.solve(ke)}let b=o(.25,.1,.25,1);function M(V,P,W){return Math.min(W,Math.max(P,V))}function A(V,P,W){let oe=W-P,me=((V-P)%oe+oe)%oe+P;return me===P?W:me}function E(V,...P){for(let W of P)for(let oe in W)V[oe]=W[oe];return V}let g=1;function T(V,P,W){let oe={};for(let me in V)oe[me]=P.call(this,V[me],me,V);return oe}function m(V,P,W){let oe={};for(let me in V)P.call(this,V[me],me,V)&&(oe[me]=V[me]);return oe}function h(V){return Array.isArray(V)?V.map(h):typeof V=="object"&&V?T(V,h):V}let x={};function _(V){x[V]||(typeof console<"u"&&console.warn(V),x[V]=!0)}function D(V,P,W){return(W.y-V.y)*(P.x-V.x)>(P.y-V.y)*(W.x-V.x)}function C(V){return typeof WorkerGlobalScope<"u"&&V!==void 0&&V instanceof WorkerGlobalScope}let F=null;function I(V){return typeof ImageBitmap<"u"&&V instanceof ImageBitmap}let z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";function R(V,P,W,oe,me){return e(this,void 0,void 0,function*(){if(typeof VideoFrame>"u")throw new Error("VideoFrame not supported");let ke=new VideoFrame(V,{timestamp:0});try{let Pe=ke?.format;if(!Pe||!Pe.startsWith("BGR")&&!Pe.startsWith("RGB"))throw new Error(`Unrecognized format ${Pe}`);let Ge=Pe.startsWith("BGR"),tt=new Uint8ClampedArray(oe*me*4);if(yield ke.copyTo(tt,function(vt,kt,Gt,tr,lr){let xr=4*Math.max(-kt,0),Dr=(Math.max(0,Gt)-Gt)*tr*4+xr,sa=4*tr,ga=Math.max(0,kt),cn=Math.max(0,Gt);return{rect:{x:ga,y:cn,width:Math.min(vt.width,kt+tr)-ga,height:Math.min(vt.height,Gt+lr)-cn},layout:[{offset:Dr,stride:sa}]}}(V,P,W,oe,me)),Ge)for(let vt=0;vtC(self)?self.worker&&self.worker.referrer:(window.location.protocol==="blob:"?window.parent:window).location.href,G=function(V,P){if(/:\/\//.test(V.url)&&!/^https?:|^file:/.test(V.url)){let oe=ee(V.url);if(oe)return oe(V,P);if(C(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:V,targetMapId:te},P)}if(!(/^file:/.test(W=V.url)||/^file:/.test(j())&&!/^\w+:/.test(W))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return function(oe,me){return e(this,void 0,void 0,function*(){let ke=new Request(oe.url,{method:oe.method||"GET",body:oe.body,credentials:oe.credentials,headers:oe.headers,cache:oe.cache,referrer:j(),signal:me.signal});oe.type!=="json"||ke.headers.has("Accept")||ke.headers.set("Accept","application/json");let Pe=yield fetch(ke);if(!Pe.ok){let vt=yield Pe.blob();throw new ae(Pe.status,Pe.statusText,oe.url,vt)}let Ge;Ge=oe.type==="arrayBuffer"||oe.type==="image"?Pe.arrayBuffer():oe.type==="json"?Pe.json():Pe.text();let tt=yield Ge;if(me.signal.aborted)throw q();return{data:tt,cacheControl:Pe.headers.get("Cache-Control"),expires:Pe.headers.get("Expires")}})}(V,P);if(C(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:V,mustQueue:!0,targetMapId:te},P)}var W;return function(oe,me){return new Promise((ke,Pe)=>{var Ge;let tt=new XMLHttpRequest;tt.open(oe.method||"GET",oe.url,!0),oe.type!=="arrayBuffer"&&oe.type!=="image"||(tt.responseType="arraybuffer");for(let vt in oe.headers)tt.setRequestHeader(vt,oe.headers[vt]);oe.type==="json"&&(tt.responseType="text",!((Ge=oe.headers)===null||Ge===void 0)&&Ge.Accept||tt.setRequestHeader("Accept","application/json")),tt.withCredentials=oe.credentials==="include",tt.onerror=()=>{Pe(new Error(tt.statusText))},tt.onload=()=>{if(!me.signal.aborted)if((tt.status>=200&&tt.status<300||tt.status===0)&&tt.response!==null){let vt=tt.response;if(oe.type==="json")try{vt=JSON.parse(tt.response)}catch(kt){return void Pe(kt)}ke({data:vt,cacheControl:tt.getResponseHeader("Cache-Control"),expires:tt.getResponseHeader("Expires")})}else{let vt=new Blob([tt.response],{type:tt.getResponseHeader("Content-Type")});Pe(new ae(tt.status,tt.statusText,oe.url,vt))}},me.signal.addEventListener("abort",()=>{tt.abort(),Pe(q())}),tt.send(oe.body)})}(V,P)};function K(V){if(!V||V.indexOf("://")<=0||V.indexOf("data:image/")===0||V.indexOf("blob:")===0)return!0;let P=new URL(V),W=window.location;return P.protocol===W.protocol&&P.host===W.host}function H(V,P,W){W[V]&&W[V].indexOf(P)!==-1||(W[V]=W[V]||[],W[V].push(P))}function Z(V,P,W){if(W&&W[V]){let oe=W[V].indexOf(P);oe!==-1&&W[V].splice(oe,1)}}class X{constructor(P,W={}){E(this,W),this.type=P}}class $ extends X{constructor(P,W={}){super("error",E({error:P},W))}}class Q{on(P,W){return this._listeners=this._listeners||{},H(P,W,this._listeners),this}off(P,W){return Z(P,W,this._listeners),Z(P,W,this._oneTimeListeners),this}once(P,W){return W?(this._oneTimeListeners=this._oneTimeListeners||{},H(P,W,this._oneTimeListeners),this):new Promise(oe=>this.once(P,oe))}fire(P,W){typeof P=="string"&&(P=new X(P,W||{}));let oe=P.type;if(this.listens(oe)){P.target=this;let me=this._listeners&&this._listeners[oe]?this._listeners[oe].slice():[];for(let Ge of me)Ge.call(this,P);let ke=this._oneTimeListeners&&this._oneTimeListeners[oe]?this._oneTimeListeners[oe].slice():[];for(let Ge of ke)Z(oe,Ge,this._oneTimeListeners),Ge.call(this,P);let Pe=this._eventedParent;Pe&&(E(P,typeof this._eventedParentData=="function"?this._eventedParentData():this._eventedParentData),Pe.fire(P))}else P instanceof $&&console.error(P.error);return this}listens(P){return this._listeners&&this._listeners[P]&&this._listeners[P].length>0||this._oneTimeListeners&&this._oneTimeListeners[P]&&this._oneTimeListeners[P].length>0||this._eventedParent&&this._eventedParent.listens(P)}setEventedParent(P,W){return this._eventedParent=P,this._eventedParentData=W,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 ue=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function pe(V,P){let W={};for(let oe in V)oe!=="ref"&&(W[oe]=V[oe]);return ue.forEach(oe=>{oe in P&&(W[oe]=P[oe])}),W}function ge(V,P){if(Array.isArray(V)){if(!Array.isArray(P)||V.length!==P.length)return!1;for(let W=0;W`:V.itemType.kind==="value"?"array":`array<${P}>`}return V.kind}let he=[qe,Ne,ut,ot,yt,vr,At,Ee(It),Ut,Jt,at];function ye(V,P){if(P.kind==="error")return null;if(V.kind==="array"){if(P.kind==="array"&&(P.N===0&&P.itemType.kind==="value"||!ye(V.itemType,P.itemType))&&(typeof V.N!="number"||V.N===P.N))return null}else{if(V.kind===P.kind)return null;if(V.kind==="value"){for(let W of he)if(!ye(W,P))return null}}return`Expected ${Re(V)} but found ${Re(P)} instead.`}function Ie(V,P){return P.some(W=>W.kind===V.kind)}function Fe(V,P){return P.some(W=>W==="null"?V===null:W==="array"?Array.isArray(V):W==="object"?V&&!Array.isArray(V)&&typeof V=="object":W===typeof V)}function He(V,P){return V.kind==="array"&&P.kind==="array"?V.itemType.kind===P.itemType.kind&&typeof V.N=="number":V.kind===P.kind}let We=.96422,pt=.82521,ct=4/29,ft=6/29,mt=3*ft*ft,_t=ft*ft*ft,Bt=Math.PI/180,Et=180/Math.PI;function hr(V){return(V%=360)<0&&(V+=360),V}function $r([V,P,W,oe]){let me,ke,Pe=na((.2225045*(V=ca(V))+.7168786*(P=ca(P))+.0606169*(W=ca(W)))/1);V===P&&P===W?me=ke=Pe:(me=na((.4360747*V+.3850649*P+.1430804*W)/We),ke=na((.0139322*V+.0971045*P+.7141733*W)/pt));let Ge=116*Pe-16;return[Ge<0?0:Ge,500*(me-Pe),200*(Pe-ke),oe]}function ca(V){return V<=.04045?V/12.92:Math.pow((V+.055)/1.055,2.4)}function na(V){return V>_t?Math.pow(V,1/3):V/mt+ct}function wa([V,P,W,oe]){let me=(V+16)/116,ke=isNaN(P)?me:me+P/500,Pe=isNaN(W)?me:me-W/200;return me=1*fa(me),ke=We*fa(ke),Pe=pt*fa(Pe),[pa(3.1338561*ke-1.6168667*me-.4906146*Pe),pa(-.9787684*ke+1.9161415*me+.033454*Pe),pa(.0719453*ke-.2289914*me+1.4052427*Pe),oe]}function pa(V){return(V=V<=.00304?12.92*V:1.055*Math.pow(V,1/2.4)-.055)<0?0:V>1?1:V}function fa(V){return V>ft?V*V*V:mt*(V-ct)}function za(V){return parseInt(V.padEnd(2,V),16)/255}function Ia(V,P){return Va(P?V/100:V,0,1)}function Va(V,P,W){return Math.min(Math.max(P,V),W)}function Oa(V){return!V.some(Number.isNaN)}let tn={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 ka{constructor(P,W,oe,me=1,ke=!0){this.r=P,this.g=W,this.b=oe,this.a=me,ke||(this.r*=me,this.g*=me,this.b*=me,me||this.overwriteGetter("rgb",[P,W,oe,me]))}static parse(P){if(P instanceof ka)return P;if(typeof P!="string")return;let W=function(oe){if((oe=oe.toLowerCase().trim())==="transparent")return[0,0,0,0];let me=tn[oe];if(me){let[Pe,Ge,tt]=me;return[Pe/255,Ge/255,tt/255,1]}if(oe.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(oe)){let Pe=oe.length<6?1:2,Ge=1;return[za(oe.slice(Ge,Ge+=Pe)),za(oe.slice(Ge,Ge+=Pe)),za(oe.slice(Ge,Ge+=Pe)),za(oe.slice(Ge,Ge+Pe)||"ff")]}if(oe.startsWith("rgb")){let Pe=oe.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(Pe){let[Ge,tt,vt,kt,Gt,tr,lr,xr,Dr,sa,ga,cn]=Pe,Da=[kt||" ",lr||" ",sa].join("");if(Da===" "||Da===" /"||Da===",,"||Da===",,,"){let en=[vt,tr,Dr].join(""),zn=en==="%%%"?100:en===""?255:0;if(zn){let mi=[Va(+tt/zn,0,1),Va(+Gt/zn,0,1),Va(+xr/zn,0,1),ga?Ia(+ga,cn):1];if(Oa(mi))return mi}}return}}let ke=oe.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(ke){let[Pe,Ge,tt,vt,kt,Gt,tr,lr,xr]=ke,Dr=[tt||" ",kt||" ",tr].join("");if(Dr===" "||Dr===" /"||Dr===",,"||Dr===",,,"){let sa=[+Ge,Va(+vt,0,100),Va(+Gt,0,100),lr?Ia(+lr,xr):1];if(Oa(sa))return function([ga,cn,Da,en]){function zn(mi){let Ji=(mi+ga/30)%12,Uo=cn*Math.min(Da,1-Da);return Da-Uo*Math.max(-1,Math.min(Ji-3,9-Ji,1))}return ga=hr(ga),cn/=100,Da/=100,[zn(0),zn(8),zn(4),en]}(sa)}}}(P);return W?new ka(...W,!1):void 0}get rgb(){let{r:P,g:W,b:oe,a:me}=this,ke=me||1/0;return this.overwriteGetter("rgb",[P/ke,W/ke,oe/ke,me])}get hcl(){return this.overwriteGetter("hcl",function(P){let[W,oe,me,ke]=$r(P),Pe=Math.sqrt(oe*oe+me*me);return[Math.round(1e4*Pe)?hr(Math.atan2(me,oe)*Et):NaN,Pe,W,ke]}(this.rgb))}get lab(){return this.overwriteGetter("lab",$r(this.rgb))}overwriteGetter(P,W){return Object.defineProperty(this,P,{value:W}),W}toString(){let[P,W,oe,me]=this.rgb;return`rgba(${[P,W,oe].map(ke=>Math.round(255*ke)).join(",")},${me})`}}ka.black=new ka(0,0,0,1),ka.white=new ka(1,1,1,1),ka.transparent=new ka(0,0,0,0),ka.red=new ka(1,0,0,1);class oi{constructor(P,W,oe){this.sensitivity=P?W?"variant":"case":W?"accent":"base",this.locale=oe,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(P,W){return this.collator.compare(P,W)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class $n{constructor(P,W,oe,me,ke){this.text=P,this.image=W,this.scale=oe,this.fontStack=me,this.textColor=ke}}class bn{constructor(P){this.sections=P}static fromString(P){return new bn([new $n(P,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(P=>P.text.length!==0||P.image&&P.image.name.length!==0)}static factory(P){return P instanceof bn?P:bn.fromString(P)}toString(){return this.sections.length===0?"":this.sections.map(P=>P.text).join("")}}class ci{constructor(P){this.values=P.slice()}static parse(P){if(P instanceof ci)return P;if(typeof P=="number")return new ci([P,P,P,P]);if(Array.isArray(P)&&!(P.length<1||P.length>4)){for(let W of P)if(typeof W!="number")return;switch(P.length){case 1:P=[P[0],P[0],P[0],P[0]];break;case 2:P=[P[0],P[1],P[0],P[1]];break;case 3:P=[P[0],P[1],P[2],P[1]]}return new ci(P)}}toString(){return JSON.stringify(this.values)}}let hi=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);class Pi{constructor(P){this.values=P.slice()}static parse(P){if(P instanceof Pi)return P;if(Array.isArray(P)&&!(P.length<1)&&P.length%2==0){for(let W=0;W=0&&V<=255&&typeof P=="number"&&P>=0&&P<=255&&typeof W=="number"&&W>=0&&W<=255?oe===void 0||typeof oe=="number"&&oe>=0&&oe<=1?null:`Invalid rgba value [${[V,P,W,oe].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof oe=="number"?[V,P,W,oe]:[V,P,W]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function _n(V){if(V===null||typeof V=="string"||typeof V=="boolean"||typeof V=="number"||V instanceof ka||V instanceof oi||V instanceof bn||V instanceof ci||V instanceof Pi||V instanceof Jn)return!0;if(Array.isArray(V)){for(let P of V)if(!_n(P))return!1;return!0}if(typeof V=="object"){for(let P in V)if(!_n(V[P]))return!1;return!0}return!1}function Ln(V){if(V===null)return qe;if(typeof V=="string")return ut;if(typeof V=="boolean")return ot;if(typeof V=="number")return Ne;if(V instanceof ka)return yt;if(V instanceof oi)return Zt;if(V instanceof bn)return vr;if(V instanceof ci)return Ut;if(V instanceof Pi)return at;if(V instanceof Jn)return Jt;if(Array.isArray(V)){let P=V.length,W;for(let oe of V){let me=Ln(oe);if(W){if(W===me)continue;W=It;break}W=me}return Ee(W||It,P)}return At}function ji(V){let P=typeof V;return V===null?"":P==="string"||P==="number"||P==="boolean"?String(V):V instanceof ka||V instanceof bn||V instanceof ci||V instanceof Pi||V instanceof Jn?V.toString():JSON.stringify(V)}class Zi{constructor(P,W){this.type=P,this.value=W}static parse(P,W){if(P.length!==2)return W.error(`'literal' expression requires exactly one argument, but found ${P.length-1} instead.`);if(!_n(P[1]))return W.error("invalid value");let oe=P[1],me=Ln(oe),ke=W.expectedType;return me.kind!=="array"||me.N!==0||!ke||ke.kind!=="array"||typeof ke.N=="number"&&ke.N!==0||(me=ke),new Zi(me,oe)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class un{constructor(P){this.name="ExpressionEvaluationError",this.message=P}toJSON(){return this.message}}let rn={string:ut,number:Ne,boolean:ot,object:At};class nt{constructor(P,W){this.type=P,this.args=W}static parse(P,W){if(P.length<2)return W.error("Expected at least one argument.");let oe,me=1,ke=P[0];if(ke==="array"){let Ge,tt;if(P.length>2){let vt=P[1];if(typeof vt!="string"||!(vt in rn)||vt==="object")return W.error('The item type argument of "array" must be one of string, number, boolean',1);Ge=rn[vt],me++}else Ge=It;if(P.length>3){if(P[2]!==null&&(typeof P[2]!="number"||P[2]<0||P[2]!==Math.floor(P[2])))return W.error('The length argument to "array" must be a positive integer literal',2);tt=P[2],me++}oe=Ee(Ge,tt)}else{if(!rn[ke])throw new Error(`Types doesn't contain name = ${ke}`);oe=rn[ke]}let Pe=[];for(;meP.outputDefined())}}let Ke={"to-boolean":ot,"to-color":yt,"to-number":Ne,"to-string":ut};class Qt{constructor(P,W){this.type=P,this.args=W}static parse(P,W){if(P.length<2)return W.error("Expected at least one argument.");let oe=P[0];if(!Ke[oe])throw new Error(`Can't parse ${oe} as it is not part of the known types`);if((oe==="to-boolean"||oe==="to-string")&&P.length!==2)return W.error("Expected one argument.");let me=Ke[oe],ke=[];for(let Pe=1;Pe4?`Invalid rbga value ${JSON.stringify(W)}: expected an array containing either three or four numeric values.`:Ti(W[0],W[1],W[2],W[3]),!oe))return new ka(W[0]/255,W[1]/255,W[2]/255,W[3])}throw new un(oe||`Could not parse color from value '${typeof W=="string"?W:JSON.stringify(W)}'`)}case"padding":{let W;for(let oe of this.args){W=oe.evaluate(P);let me=ci.parse(W);if(me)return me}throw new un(`Could not parse padding from value '${typeof W=="string"?W:JSON.stringify(W)}'`)}case"variableAnchorOffsetCollection":{let W;for(let oe of this.args){W=oe.evaluate(P);let me=Pi.parse(W);if(me)return me}throw new un(`Could not parse variableAnchorOffsetCollection from value '${typeof W=="string"?W:JSON.stringify(W)}'`)}case"number":{let W=null;for(let oe of this.args){if(W=oe.evaluate(P),W===null)return 0;let me=Number(W);if(!isNaN(me))return me}throw new un(`Could not convert ${JSON.stringify(W)} to number.`)}case"formatted":return bn.fromString(ji(this.args[0].evaluate(P)));case"resolvedImage":return Jn.fromString(ji(this.args[0].evaluate(P)));default:return ji(this.args[0].evaluate(P))}}eachChild(P){this.args.forEach(P)}outputDefined(){return this.args.every(P=>P.outputDefined())}}let Xt=["Unknown","Point","LineString","Polygon"];class nr{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"?Xt[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(P){let W=this._parseColorCache[P];return W||(W=this._parseColorCache[P]=ka.parse(P)),W}}class cr{constructor(P,W,oe=[],me,ke=new De,Pe=[]){this.registry=P,this.path=oe,this.key=oe.map(Ge=>`[${Ge}]`).join(""),this.scope=ke,this.errors=Pe,this.expectedType=me,this._isConstant=W}parse(P,W,oe,me,ke={}){return W?this.concat(W,oe,me)._parse(P,ke):this._parse(P,ke)}_parse(P,W){function oe(me,ke,Pe){return Pe==="assert"?new nt(ke,[me]):Pe==="coerce"?new Qt(ke,[me]):me}if(P!==null&&typeof P!="string"&&typeof P!="boolean"&&typeof P!="number"||(P=["literal",P]),Array.isArray(P)){if(P.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');let me=P[0];if(typeof me!="string")return this.error(`Expression name must be a string, but found ${typeof me} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;let ke=this.registry[me];if(ke){let Pe=ke.parse(P,this);if(!Pe)return null;if(this.expectedType){let Ge=this.expectedType,tt=Pe.type;if(Ge.kind!=="string"&&Ge.kind!=="number"&&Ge.kind!=="boolean"&&Ge.kind!=="object"&&Ge.kind!=="array"||tt.kind!=="value")if(Ge.kind!=="color"&&Ge.kind!=="formatted"&&Ge.kind!=="resolvedImage"||tt.kind!=="value"&&tt.kind!=="string")if(Ge.kind!=="padding"||tt.kind!=="value"&&tt.kind!=="number"&&tt.kind!=="array")if(Ge.kind!=="variableAnchorOffsetCollection"||tt.kind!=="value"&&tt.kind!=="array"){if(this.checkSubtype(Ge,tt))return null}else Pe=oe(Pe,Ge,W.typeAnnotation||"coerce");else Pe=oe(Pe,Ge,W.typeAnnotation||"coerce");else Pe=oe(Pe,Ge,W.typeAnnotation||"coerce");else Pe=oe(Pe,Ge,W.typeAnnotation||"assert")}if(!(Pe instanceof Zi)&&Pe.type.kind!=="resolvedImage"&&this._isConstant(Pe)){let Ge=new nr;try{Pe=new Zi(Pe.type,Pe.evaluate(Ge))}catch(tt){return this.error(tt.message),null}}return Pe}return this.error(`Unknown expression "${me}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(P===void 0?"'undefined' value invalid. Use null instead.":typeof P=="object"?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof P} instead.`)}concat(P,W,oe){let me=typeof P=="number"?this.path.concat(P):this.path,ke=oe?this.scope.concat(oe):this.scope;return new cr(this.registry,this._isConstant,me,W||null,ke,this.errors)}error(P,...W){let oe=`${this.key}${W.map(me=>`[${me}]`).join("")}`;this.errors.push(new be(oe,P))}checkSubtype(P,W){let oe=ye(P,W);return oe&&this.error(oe),oe}}class rr{constructor(P,W){this.type=W.type,this.bindings=[].concat(P),this.result=W}evaluate(P){return this.result.evaluate(P)}eachChild(P){for(let W of this.bindings)P(W[1]);P(this.result)}static parse(P,W){if(P.length<4)return W.error(`Expected at least 3 arguments, but found ${P.length-1} instead.`);let oe=[];for(let ke=1;ke=oe.length)throw new un(`Array index out of bounds: ${W} > ${oe.length-1}.`);if(W!==Math.floor(W))throw new un(`Array index must be an integer, but found ${W} instead.`);return oe[W]}eachChild(P){P(this.index),P(this.input)}outputDefined(){return!1}}class Vt{constructor(P,W){this.type=ot,this.needle=P,this.haystack=W}static parse(P,W){if(P.length!==3)return W.error(`Expected 2 arguments, but found ${P.length-1} instead.`);let oe=W.parse(P[1],1,It),me=W.parse(P[2],2,It);return oe&&me?Ie(oe.type,[ot,ut,Ne,qe,It])?new Vt(oe,me):W.error(`Expected first argument to be of type boolean, string, number or null, but found ${Re(oe.type)} instead`):null}evaluate(P){let W=this.needle.evaluate(P),oe=this.haystack.evaluate(P);if(!oe)return!1;if(!Fe(W,["boolean","string","number","null"]))throw new un(`Expected first argument to be of type boolean, string, number or null, but found ${Re(Ln(W))} instead.`);if(!Fe(oe,["string","array"]))throw new un(`Expected second argument to be of type array or string, but found ${Re(Ln(oe))} instead.`);return oe.indexOf(W)>=0}eachChild(P){P(this.needle),P(this.haystack)}outputDefined(){return!0}}class er{constructor(P,W,oe){this.type=Ne,this.needle=P,this.haystack=W,this.fromIndex=oe}static parse(P,W){if(P.length<=2||P.length>=5)return W.error(`Expected 3 or 4 arguments, but found ${P.length-1} instead.`);let oe=W.parse(P[1],1,It),me=W.parse(P[2],2,It);if(!oe||!me)return null;if(!Ie(oe.type,[ot,ut,Ne,qe,It]))return W.error(`Expected first argument to be of type boolean, string, number or null, but found ${Re(oe.type)} instead`);if(P.length===4){let ke=W.parse(P[3],3,Ne);return ke?new er(oe,me,ke):null}return new er(oe,me)}evaluate(P){let W=this.needle.evaluate(P),oe=this.haystack.evaluate(P);if(!Fe(W,["boolean","string","number","null"]))throw new un(`Expected first argument to be of type boolean, string, number or null, but found ${Re(Ln(W))} instead.`);let me;if(this.fromIndex&&(me=this.fromIndex.evaluate(P)),Fe(oe,["string"])){let ke=oe.indexOf(W,me);return ke===-1?-1:[...oe.slice(0,ke)].length}if(Fe(oe,["array"]))return oe.indexOf(W,me);throw new un(`Expected second argument to be of type array or string, but found ${Re(Ln(oe))} instead.`)}eachChild(P){P(this.needle),P(this.haystack),this.fromIndex&&P(this.fromIndex)}outputDefined(){return!1}}class Tr{constructor(P,W,oe,me,ke,Pe){this.inputType=P,this.type=W,this.input=oe,this.cases=me,this.outputs=ke,this.otherwise=Pe}static parse(P,W){if(P.length<5)return W.error(`Expected at least 4 arguments, but found only ${P.length-1}.`);if(P.length%2!=1)return W.error("Expected an even number of arguments.");let oe,me;W.expectedType&&W.expectedType.kind!=="value"&&(me=W.expectedType);let ke={},Pe=[];for(let vt=2;vtNumber.MAX_SAFE_INTEGER)return tr.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof xr=="number"&&Math.floor(xr)!==xr)return tr.error("Numeric branch labels must be integer values.");if(oe){if(tr.checkSubtype(oe,Ln(xr)))return null}else oe=Ln(xr);if(ke[String(xr)]!==void 0)return tr.error("Branch labels must be unique.");ke[String(xr)]=Pe.length}let lr=W.parse(Gt,vt,me);if(!lr)return null;me=me||lr.type,Pe.push(lr)}let Ge=W.parse(P[1],1,It);if(!Ge)return null;let tt=W.parse(P[P.length-1],P.length-1,me);return tt?Ge.type.kind!=="value"&&W.concat(1).checkSubtype(oe,Ge.type)?null:new Tr(oe,me,Ge,ke,Pe,tt):null}evaluate(P){let W=this.input.evaluate(P);return(Ln(W)===this.inputType&&this.outputs[this.cases[W]]||this.otherwise).evaluate(P)}eachChild(P){P(this.input),this.outputs.forEach(P),P(this.otherwise)}outputDefined(){return this.outputs.every(P=>P.outputDefined())&&this.otherwise.outputDefined()}}class jr{constructor(P,W,oe){this.type=P,this.branches=W,this.otherwise=oe}static parse(P,W){if(P.length<4)return W.error(`Expected at least 3 arguments, but found only ${P.length-1}.`);if(P.length%2!=0)return W.error("Expected an odd number of arguments.");let oe;W.expectedType&&W.expectedType.kind!=="value"&&(oe=W.expectedType);let me=[];for(let Pe=1;PeW.outputDefined())&&this.otherwise.outputDefined()}}class Fr{constructor(P,W,oe,me){this.type=P,this.input=W,this.beginIndex=oe,this.endIndex=me}static parse(P,W){if(P.length<=2||P.length>=5)return W.error(`Expected 3 or 4 arguments, but found ${P.length-1} instead.`);let oe=W.parse(P[1],1,It),me=W.parse(P[2],2,Ne);if(!oe||!me)return null;if(!Ie(oe.type,[Ee(It),ut,It]))return W.error(`Expected first argument to be of type array or string, but found ${Re(oe.type)} instead`);if(P.length===4){let ke=W.parse(P[3],3,Ne);return ke?new Fr(oe.type,oe,me,ke):null}return new Fr(oe.type,oe,me)}evaluate(P){let W=this.input.evaluate(P),oe=this.beginIndex.evaluate(P),me;if(this.endIndex&&(me=this.endIndex.evaluate(P)),Fe(W,["string"]))return[...W].slice(oe,me).join("");if(Fe(W,["array"]))return W.slice(oe,me);throw new un(`Expected first argument to be of type array or string, but found ${Re(Ln(W))} instead.`)}eachChild(P){P(this.input),P(this.beginIndex),this.endIndex&&P(this.endIndex)}outputDefined(){return!1}}function kr(V,P){let W=V.length-1,oe,me,ke=0,Pe=W,Ge=0;for(;ke<=Pe;)if(Ge=Math.floor((ke+Pe)/2),oe=V[Ge],me=V[Ge+1],oe<=P){if(Ge===W||PP))throw new un("Input is not a number.");Pe=Ge-1}return 0}class ra{constructor(P,W,oe){this.type=P,this.input=W,this.labels=[],this.outputs=[];for(let[me,ke]of oe)this.labels.push(me),this.outputs.push(ke)}static parse(P,W){if(P.length-1<4)return W.error(`Expected at least 4 arguments, but found only ${P.length-1}.`);if((P.length-1)%2!=0)return W.error("Expected an even number of arguments.");let oe=W.parse(P[1],1,Ne);if(!oe)return null;let me=[],ke=null;W.expectedType&&W.expectedType.kind!=="value"&&(ke=W.expectedType);for(let Pe=1;Pe=Ge)return W.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',vt);let Gt=W.parse(tt,kt,ke);if(!Gt)return null;ke=ke||Gt.type,me.push([Ge,Gt])}return new ra(ke,oe,me)}evaluate(P){let W=this.labels,oe=this.outputs;if(W.length===1)return oe[0].evaluate(P);let me=this.input.evaluate(P);if(me<=W[0])return oe[0].evaluate(P);let ke=W.length;return me>=W[ke-1]?oe[ke-1].evaluate(P):oe[kr(W,me)].evaluate(P)}eachChild(P){P(this.input);for(let W of this.outputs)P(W)}outputDefined(){return this.outputs.every(P=>P.outputDefined())}}function ja(V){return V&&V.__esModule&&Object.prototype.hasOwnProperty.call(V,"default")?V.default:V}var La=Dn;function Dn(V,P,W,oe){this.cx=3*V,this.bx=3*(W-V)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*P,this.by=3*(oe-P)-this.cy,this.ay=1-this.cy-this.by,this.p1x=V,this.p1y=P,this.p2x=W,this.p2y=oe}Dn.prototype={sampleCurveX:function(V){return((this.ax*V+this.bx)*V+this.cx)*V},sampleCurveY:function(V){return((this.ay*V+this.by)*V+this.cy)*V},sampleCurveDerivativeX:function(V){return(3*this.ax*V+2*this.bx)*V+this.cx},solveCurveX:function(V,P){if(P===void 0&&(P=1e-6),V<0)return 0;if(V>1)return 1;for(var W=V,oe=0;oe<8;oe++){var me=this.sampleCurveX(W)-V;if(Math.abs(me)me?Pe=W:Ge=W,W=.5*(Ge-Pe)+Pe;return W},solve:function(V,P){return this.sampleCurveY(this.solveCurveX(V,P))}};var Mn=ja(La);function _i(V,P,W){return V+W*(P-V)}function ti(V,P,W){return V.map((oe,me)=>_i(oe,P[me],W))}let Si={number:_i,color:function(V,P,W,oe="rgb"){switch(oe){case"rgb":{let[me,ke,Pe,Ge]=ti(V.rgb,P.rgb,W);return new ka(me,ke,Pe,Ge,!1)}case"hcl":{let[me,ke,Pe,Ge]=V.hcl,[tt,vt,kt,Gt]=P.hcl,tr,lr;if(isNaN(me)||isNaN(tt))isNaN(me)?isNaN(tt)?tr=NaN:(tr=tt,Pe!==1&&Pe!==0||(lr=vt)):(tr=me,kt!==1&&kt!==0||(lr=ke));else{let cn=tt-me;tt>me&&cn>180?cn-=360:tt180&&(cn+=360),tr=me+W*cn}let[xr,Dr,sa,ga]=function([cn,Da,en,zn]){return cn=isNaN(cn)?0:cn*Bt,wa([en,Math.cos(cn)*Da,Math.sin(cn)*Da,zn])}([tr,lr??_i(ke,vt,W),_i(Pe,kt,W),_i(Ge,Gt,W)]);return new ka(xr,Dr,sa,ga,!1)}case"lab":{let[me,ke,Pe,Ge]=wa(ti(V.lab,P.lab,W));return new ka(me,ke,Pe,Ge,!1)}}},array:ti,padding:function(V,P,W){return new ci(ti(V.values,P.values,W))},variableAnchorOffsetCollection:function(V,P,W){let oe=V.values,me=P.values;if(oe.length!==me.length)throw new un(`Cannot interpolate values of different length. from: ${V.toString()}, to: ${P.toString()}`);let ke=[];for(let Pe=0;Petypeof kt!="number"||kt<0||kt>1))return W.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);me={name:"cubic-bezier",controlPoints:vt}}}if(P.length-1<4)return W.error(`Expected at least 4 arguments, but found only ${P.length-1}.`);if((P.length-1)%2!=0)return W.error("Expected an even number of arguments.");if(ke=W.parse(ke,2,Ne),!ke)return null;let Ge=[],tt=null;oe==="interpolate-hcl"||oe==="interpolate-lab"?tt=yt:W.expectedType&&W.expectedType.kind!=="value"&&(tt=W.expectedType);for(let vt=0;vt=kt)return W.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',tr);let xr=W.parse(Gt,lr,tt);if(!xr)return null;tt=tt||xr.type,Ge.push([kt,xr])}return He(tt,Ne)||He(tt,yt)||He(tt,Ut)||He(tt,at)||He(tt,Ee(Ne))?new ai(tt,oe,me,ke,Ge):W.error(`Type ${Re(tt)} is not interpolatable.`)}evaluate(P){let W=this.labels,oe=this.outputs;if(W.length===1)return oe[0].evaluate(P);let me=this.input.evaluate(P);if(me<=W[0])return oe[0].evaluate(P);let ke=W.length;if(me>=W[ke-1])return oe[ke-1].evaluate(P);let Pe=kr(W,me),Ge=ai.interpolationFactor(this.interpolation,me,W[Pe],W[Pe+1]),tt=oe[Pe].evaluate(P),vt=oe[Pe+1].evaluate(P);switch(this.operator){case"interpolate":return Si[this.type.kind](tt,vt,Ge);case"interpolate-hcl":return Si.color(tt,vt,Ge,"hcl");case"interpolate-lab":return Si.color(tt,vt,Ge,"lab")}}eachChild(P){P(this.input);for(let W of this.outputs)P(W)}outputDefined(){return this.outputs.every(P=>P.outputDefined())}}function Ao(V,P,W,oe){let me=oe-W,ke=V-W;return me===0?0:P===1?ke/me:(Math.pow(P,ke)-1)/(Math.pow(P,me)-1)}class yo{constructor(P,W){this.type=P,this.args=W}static parse(P,W){if(P.length<2)return W.error("Expectected at least one argument.");let oe=null,me=W.expectedType;me&&me.kind!=="value"&&(oe=me);let ke=[];for(let Ge of P.slice(1)){let tt=W.parse(Ge,1+ke.length,oe,void 0,{typeAnnotation:"omit"});if(!tt)return null;oe=oe||tt.type,ke.push(tt)}if(!oe)throw new Error("No output type");let Pe=me&&ke.some(Ge=>ye(me,Ge.type));return new yo(Pe?It:oe,ke)}evaluate(P){let W,oe=null,me=0;for(let ke of this.args)if(me++,oe=ke.evaluate(P),oe&&oe instanceof Jn&&!oe.available&&(W||(W=oe.name),oe=null,me===this.args.length&&(oe=W)),oe!==null)break;return oe}eachChild(P){this.args.forEach(P)}outputDefined(){return this.args.every(P=>P.outputDefined())}}function Vn(V,P){return V==="=="||V==="!="?P.kind==="boolean"||P.kind==="string"||P.kind==="number"||P.kind==="null"||P.kind==="value":P.kind==="string"||P.kind==="number"||P.kind==="value"}function Bo(V,P,W,oe){return oe.compare(P,W)===0}function Mo(V,P,W){let oe=V!=="=="&&V!=="!=";return class K5{constructor(ke,Pe,Ge){this.type=ot,this.lhs=ke,this.rhs=Pe,this.collator=Ge,this.hasUntypedArgument=ke.type.kind==="value"||Pe.type.kind==="value"}static parse(ke,Pe){if(ke.length!==3&&ke.length!==4)return Pe.error("Expected two or three arguments.");let Ge=ke[0],tt=Pe.parse(ke[1],1,It);if(!tt)return null;if(!Vn(Ge,tt.type))return Pe.concat(1).error(`"${Ge}" comparisons are not supported for type '${Re(tt.type)}'.`);let vt=Pe.parse(ke[2],2,It);if(!vt)return null;if(!Vn(Ge,vt.type))return Pe.concat(2).error(`"${Ge}" comparisons are not supported for type '${Re(vt.type)}'.`);if(tt.type.kind!==vt.type.kind&&tt.type.kind!=="value"&&vt.type.kind!=="value")return Pe.error(`Cannot compare types '${Re(tt.type)}' and '${Re(vt.type)}'.`);oe&&(tt.type.kind==="value"&&vt.type.kind!=="value"?tt=new nt(vt.type,[tt]):tt.type.kind!=="value"&&vt.type.kind==="value"&&(vt=new nt(tt.type,[vt])));let kt=null;if(ke.length===4){if(tt.type.kind!=="string"&&vt.type.kind!=="string"&&tt.type.kind!=="value"&&vt.type.kind!=="value")return Pe.error("Cannot use collator to compare non-string types.");if(kt=Pe.parse(ke[3],3,Zt),!kt)return null}return new K5(tt,vt,kt)}evaluate(ke){let Pe=this.lhs.evaluate(ke),Ge=this.rhs.evaluate(ke);if(oe&&this.hasUntypedArgument){let tt=Ln(Pe),vt=Ln(Ge);if(tt.kind!==vt.kind||tt.kind!=="string"&&tt.kind!=="number")throw new un(`Expected arguments for "${V}" to be (string, string) or (number, number), but found (${tt.kind}, ${vt.kind}) instead.`)}if(this.collator&&!oe&&this.hasUntypedArgument){let tt=Ln(Pe),vt=Ln(Ge);if(tt.kind!=="string"||vt.kind!=="string")return P(ke,Pe,Ge)}return this.collator?W(ke,Pe,Ge,this.collator.evaluate(ke)):P(ke,Pe,Ge)}eachChild(ke){ke(this.lhs),ke(this.rhs),this.collator&&ke(this.collator)}outputDefined(){return!0}}}let co=Mo("==",function(V,P,W){return P===W},Bo),Ro=Mo("!=",function(V,P,W){return P!==W},function(V,P,W,oe){return!Bo(0,P,W,oe)}),ao=Mo("<",function(V,P,W){return P",function(V,P,W){return P>W},function(V,P,W,oe){return oe.compare(P,W)>0}),Wo=Mo("<=",function(V,P,W){return P<=W},function(V,P,W,oe){return oe.compare(P,W)<=0}),Po=Mo(">=",function(V,P,W){return P>=W},function(V,P,W,oe){return oe.compare(P,W)>=0});class vi{constructor(P,W,oe){this.type=Zt,this.locale=oe,this.caseSensitive=P,this.diacriticSensitive=W}static parse(P,W){if(P.length!==2)return W.error("Expected one argument.");let oe=P[1];if(typeof oe!="object"||Array.isArray(oe))return W.error("Collator options argument must be an object.");let me=W.parse(oe["case-sensitive"]!==void 0&&oe["case-sensitive"],1,ot);if(!me)return null;let ke=W.parse(oe["diacritic-sensitive"]!==void 0&&oe["diacritic-sensitive"],1,ot);if(!ke)return null;let Pe=null;return oe.locale&&(Pe=W.parse(oe.locale,1,ut),!Pe)?null:new vi(me,ke,Pe)}evaluate(P){return new oi(this.caseSensitive.evaluate(P),this.diacriticSensitive.evaluate(P),this.locale?this.locale.evaluate(P):null)}eachChild(P){P(this.caseSensitive),P(this.diacriticSensitive),this.locale&&P(this.locale)}outputDefined(){return!1}}class zi{constructor(P,W,oe,me,ke){this.type=ut,this.number=P,this.locale=W,this.currency=oe,this.minFractionDigits=me,this.maxFractionDigits=ke}static parse(P,W){if(P.length!==3)return W.error("Expected two arguments.");let oe=W.parse(P[1],1,Ne);if(!oe)return null;let me=P[2];if(typeof me!="object"||Array.isArray(me))return W.error("NumberFormat options argument must be an object.");let ke=null;if(me.locale&&(ke=W.parse(me.locale,1,ut),!ke))return null;let Pe=null;if(me.currency&&(Pe=W.parse(me.currency,1,ut),!Pe))return null;let Ge=null;if(me["min-fraction-digits"]&&(Ge=W.parse(me["min-fraction-digits"],1,Ne),!Ge))return null;let tt=null;return me["max-fraction-digits"]&&(tt=W.parse(me["max-fraction-digits"],1,Ne),!tt)?null:new zi(oe,ke,Pe,Ge,tt)}evaluate(P){return new Intl.NumberFormat(this.locale?this.locale.evaluate(P):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(P):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(P):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(P):void 0}).format(this.number.evaluate(P))}eachChild(P){P(this.number),this.locale&&P(this.locale),this.currency&&P(this.currency),this.minFractionDigits&&P(this.minFractionDigits),this.maxFractionDigits&&P(this.maxFractionDigits)}outputDefined(){return!1}}class ho{constructor(P){this.type=vr,this.sections=P}static parse(P,W){if(P.length<2)return W.error("Expected at least one argument.");let oe=P[1];if(!Array.isArray(oe)&&typeof oe=="object")return W.error("First argument must be an image or text section.");let me=[],ke=!1;for(let Pe=1;Pe<=P.length-1;++Pe){let Ge=P[Pe];if(ke&&typeof Ge=="object"&&!Array.isArray(Ge)){ke=!1;let tt=null;if(Ge["font-scale"]&&(tt=W.parse(Ge["font-scale"],1,Ne),!tt))return null;let vt=null;if(Ge["text-font"]&&(vt=W.parse(Ge["text-font"],1,Ee(ut)),!vt))return null;let kt=null;if(Ge["text-color"]&&(kt=W.parse(Ge["text-color"],1,yt),!kt))return null;let Gt=me[me.length-1];Gt.scale=tt,Gt.font=vt,Gt.textColor=kt}else{let tt=W.parse(P[Pe],1,It);if(!tt)return null;let vt=tt.type.kind;if(vt!=="string"&&vt!=="value"&&vt!=="null"&&vt!=="resolvedImage")return W.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");ke=!0,me.push({content:tt,scale:null,font:null,textColor:null})}}return new ho(me)}evaluate(P){return new bn(this.sections.map(W=>{let oe=W.content.evaluate(P);return Ln(oe)===Jt?new $n("",oe,null,null,null):new $n(ji(oe),null,W.scale?W.scale.evaluate(P):null,W.font?W.font.evaluate(P).join(","):null,W.textColor?W.textColor.evaluate(P):null)}))}eachChild(P){for(let W of this.sections)P(W.content),W.scale&&P(W.scale),W.font&&P(W.font),W.textColor&&P(W.textColor)}outputDefined(){return!1}}class ro{constructor(P){this.type=Jt,this.input=P}static parse(P,W){if(P.length!==2)return W.error("Expected two arguments.");let oe=W.parse(P[1],1,ut);return oe?new ro(oe):W.error("No image name provided.")}evaluate(P){let W=this.input.evaluate(P),oe=Jn.fromString(W);return oe&&P.availableImages&&(oe.available=P.availableImages.indexOf(W)>-1),oe}eachChild(P){P(this.input)}outputDefined(){return!1}}class es{constructor(P){this.type=Ne,this.input=P}static parse(P,W){if(P.length!==2)return W.error(`Expected 1 argument, but found ${P.length-1} instead.`);let oe=W.parse(P[1],1);return oe?oe.type.kind!=="array"&&oe.type.kind!=="string"&&oe.type.kind!=="value"?W.error(`Expected argument of type string or array, but found ${Re(oe.type)} instead.`):new es(oe):null}evaluate(P){let W=this.input.evaluate(P);if(typeof W=="string")return[...W].length;if(Array.isArray(W))return W.length;throw new un(`Expected value to be of type string or array, but found ${Re(Ln(W))} instead.`)}eachChild(P){P(this.input)}outputDefined(){return!1}}let Ho=8192;function is(V,P){let W=(180+V[0])/360,oe=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+V[1]*Math.PI/360)))/360,me=Math.pow(2,P.z);return[Math.round(W*me*Ho),Math.round(oe*me*Ho)]}function as(V,P){let W=Math.pow(2,P.z);return[(me=(V[0]/Ho+P.x)/W,360*me-180),(oe=(V[1]/Ho+P.y)/W,360/Math.PI*Math.atan(Math.exp((180-360*oe)*Math.PI/180))-90)];var oe,me}function vs(V,P){V[0]=Math.min(V[0],P[0]),V[1]=Math.min(V[1],P[1]),V[2]=Math.max(V[2],P[0]),V[3]=Math.max(V[3],P[1])}function Yo(V,P){return!(V[0]<=P[0]||V[2]>=P[2]||V[1]<=P[1]||V[3]>=P[3])}function po(V,P,W){let oe=V[0]-P[0],me=V[1]-P[1],ke=V[0]-W[0],Pe=V[1]-W[1];return oe*Pe-ke*me==0&&oe*ke<=0&&me*Pe<=0}function _s(V,P,W,oe){return(me=[oe[0]-W[0],oe[1]-W[1]])[0]*(ke=[P[0]-V[0],P[1]-V[1]])[1]-me[1]*ke[0]!=0&&!(!Xs(V,P,W,oe)||!Xs(W,oe,V,P));var me,ke}function qo(V,P,W){for(let oe of W)for(let me=0;me(me=V)[1]!=(Pe=Ge[tt+1])[1]>me[1]&&me[0]<(Pe[0]-ke[0])*(me[1]-ke[1])/(Pe[1]-ke[1])+ke[0]&&(oe=!oe)}var me,ke,Pe;return oe}function tl(V,P){for(let W of P)if(Io(V,W))return!0;return!1}function ts(V,P){for(let W of V)if(!Io(W,P))return!1;for(let W=0;W0&&Ge<0||Pe<0&&Ge>0}function ps(V,P,W){let oe=[];for(let me=0;meW[2]){let me=.5*oe,ke=V[0]-W[0]>me?-oe:W[0]-V[0]>me?oe:0;ke===0&&(ke=V[0]-W[2]>me?-oe:W[2]-V[0]>me?oe:0),V[0]+=ke}vs(P,V)}function fs(V,P,W,oe){let me=Math.pow(2,oe.z)*Ho,ke=[oe.x*Ho,oe.y*Ho],Pe=[];for(let Ge of V)for(let tt of Ge){let vt=[tt.x+ke[0],tt.y+ke[1]];xl(vt,P,W,me),Pe.push(vt)}return Pe}function Wl(V,P,W,oe){let me=Math.pow(2,oe.z)*Ho,ke=[oe.x*Ho,oe.y*Ho],Pe=[];for(let tt of V){let vt=[];for(let kt of tt){let Gt=[kt.x+ke[0],kt.y+ke[1]];vs(P,Gt),vt.push(Gt)}Pe.push(vt)}if(P[2]-P[0]<=me/2){(Ge=P)[0]=Ge[1]=1/0,Ge[2]=Ge[3]=-1/0;for(let tt of Pe)for(let vt of tt)xl(vt,P,W,me)}var Ge;return Pe}class Ss{constructor(P,W){this.type=ot,this.geojson=P,this.geometries=W}static parse(P,W){if(P.length!==2)return W.error(`'within' expression requires exactly one argument, but found ${P.length-1} instead.`);if(_n(P[1])){let oe=P[1];if(oe.type==="FeatureCollection"){let me=[];for(let ke of oe.features){let{type:Pe,coordinates:Ge}=ke.geometry;Pe==="Polygon"&&me.push(Ge),Pe==="MultiPolygon"&&me.push(...Ge)}if(me.length)return new Ss(oe,{type:"MultiPolygon",coordinates:me})}else if(oe.type==="Feature"){let me=oe.geometry.type;if(me==="Polygon"||me==="MultiPolygon")return new Ss(oe,oe.geometry)}else if(oe.type==="Polygon"||oe.type==="MultiPolygon")return new Ss(oe,oe)}return W.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(P){if(P.geometry()!=null&&P.canonicalID()!=null){if(P.geometryType()==="Point")return function(W,oe){let me=[1/0,1/0,-1/0,-1/0],ke=[1/0,1/0,-1/0,-1/0],Pe=W.canonicalID();if(oe.type==="Polygon"){let Ge=ps(oe.coordinates,ke,Pe),tt=fs(W.geometry(),me,ke,Pe);if(!Yo(me,ke))return!1;for(let vt of tt)if(!Io(vt,Ge))return!1}if(oe.type==="MultiPolygon"){let Ge=ml(oe.coordinates,ke,Pe),tt=fs(W.geometry(),me,ke,Pe);if(!Yo(me,ke))return!1;for(let vt of tt)if(!tl(vt,Ge))return!1}return!0}(P,this.geometries);if(P.geometryType()==="LineString")return function(W,oe){let me=[1/0,1/0,-1/0,-1/0],ke=[1/0,1/0,-1/0,-1/0],Pe=W.canonicalID();if(oe.type==="Polygon"){let Ge=ps(oe.coordinates,ke,Pe),tt=Wl(W.geometry(),me,ke,Pe);if(!Yo(me,ke))return!1;for(let vt of tt)if(!ts(vt,Ge))return!1}if(oe.type==="MultiPolygon"){let Ge=ml(oe.coordinates,ke,Pe),tt=Wl(W.geometry(),me,ke,Pe);if(!Yo(me,ke))return!1;for(let vt of tt)if(!qs(vt,Ge))return!1}return!0}(P,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let ls=class{constructor(V=[],P=(W,oe)=>Woe?1:0){if(this.data=V,this.length=this.data.length,this.compare=P,this.length>0)for(let W=(this.length>>1)-1;W>=0;W--)this._down(W)}push(V){this.data.push(V),this._up(this.length++)}pop(){if(this.length===0)return;let V=this.data[0],P=this.data.pop();return--this.length>0&&(this.data[0]=P,this._down(0)),V}peek(){return this.data[0]}_up(V){let{data:P,compare:W}=this,oe=P[V];for(;V>0;){let me=V-1>>1,ke=P[me];if(W(oe,ke)>=0)break;P[V]=ke,V=me}P[V]=oe}_down(V){let{data:P,compare:W}=this,oe=this.length>>1,me=P[V];for(;V=0)break;P[V]=P[ke],V=ke}P[V]=me}};function No(V,P,W,oe,me){Do(V,P,W,oe||V.length-1,me||Jl)}function Do(V,P,W,oe,me){for(;oe>W;){if(oe-W>600){var ke=oe-W+1,Pe=P-W+1,Ge=Math.log(ke),tt=.5*Math.exp(2*Ge/3),vt=.5*Math.sqrt(Ge*tt*(ke-tt)/ke)*(Pe-ke/2<0?-1:1);Do(V,P,Math.max(W,Math.floor(P-Pe*tt/ke+vt)),Math.min(oe,Math.floor(P+(ke-Pe)*tt/ke+vt)),me)}var kt=V[P],Gt=W,tr=oe;for(hs(V,W,P),me(V[oe],kt)>0&&hs(V,W,oe);Gt0;)tr--}me(V[W],kt)===0?hs(V,W,tr):hs(V,++tr,oe),tr<=P&&(W=tr+1),P<=tr&&(oe=tr-1)}}function hs(V,P,W){var oe=V[P];V[P]=V[W],V[W]=oe}function Jl(V,P){return VP?1:0}function du(V,P){if(V.length<=1)return[V];let W=[],oe,me;for(let ke of V){let Pe=Ou(ke);Pe!==0&&(ke.area=Math.abs(Pe),me===void 0&&(me=Pe<0),me===Pe<0?(oe&&W.push(oe),oe=[ke]):oe.push(ke))}if(oe&&W.push(oe),P>1)for(let ke=0;ke1?(vt=P[tt+1][0],kt=P[tt+1][1]):lr>0&&(vt+=Gt/this.kx*lr,kt+=tr/this.ky*lr)),Gt=this.wrap(W[0]-vt)*this.kx,tr=(W[1]-kt)*this.ky;let xr=Gt*Gt+tr*tr;xr180;)P-=360;return P}}function _c(V,P){return P[0]-V[0]}function vu(V){return V[1]-V[0]+1}function pu(V,P){return V[1]>=V[0]&&V[1]V[1])return[null,null];let W=vu(V);if(P){if(W===2)return[V,null];let me=Math.floor(W/2);return[[V[0],V[0]+me],[V[0]+me,V[1]]]}if(W===1)return[V,null];let oe=Math.floor(W/2)-1;return[[V[0],V[0]+oe],[V[0]+oe+1,V[1]]]}function eu(V,P){if(!pu(P,V.length))return[1/0,1/0,-1/0,-1/0];let W=[1/0,1/0,-1/0,-1/0];for(let oe=P[0];oe<=P[1];++oe)vs(W,V[oe]);return W}function Vs(V){let P=[1/0,1/0,-1/0,-1/0];for(let W of V)for(let oe of W)vs(P,oe);return P}function os(V){return V[0]!==-1/0&&V[1]!==-1/0&&V[2]!==1/0&&V[3]!==1/0}function sl(V,P,W){if(!os(V)||!os(P))return NaN;let oe=0,me=0;return V[2]P[2]&&(oe=V[0]-P[2]),V[1]>P[3]&&(me=V[1]-P[3]),V[3]=oe)return oe;if(Yo(me,ke)){if(Mf(V,P))return 0}else if(Mf(P,V))return 0;let Pe=1/0;for(let Ge of V)for(let tt=0,vt=Ge.length,kt=vt-1;tt0;){let tt=Pe.pop();if(tt[0]>=ke)continue;let vt=tt[1],kt=P?50:100;if(vu(vt)<=kt){if(!pu(vt,V.length))return NaN;if(P){let Gt=Xo(V,vt,W,oe);if(isNaN(Gt)||Gt===0)return Gt;ke=Math.min(ke,Gt)}else for(let Gt=vt[0];Gt<=vt[1];++Gt){let tr=Af(V[Gt],W,oe);if(ke=Math.min(ke,tr),ke===0)return 0}}else{let Gt=mu(vt,P);so(Pe,ke,oe,V,Ge,Gt[0]),so(Pe,ke,oe,V,Ge,Gt[1])}}return ke}function Ll(V,P,W,oe,me,ke=1/0){let Pe=Math.min(ke,me.distance(V[0],W[0]));if(Pe===0)return Pe;let Ge=new ls([[0,[0,V.length-1],[0,W.length-1]]],_c);for(;Ge.length>0;){let tt=Ge.pop();if(tt[0]>=Pe)continue;let vt=tt[1],kt=tt[2],Gt=P?50:100,tr=oe?50:100;if(vu(vt)<=Gt&&vu(kt)<=tr){if(!pu(vt,V.length)&&pu(kt,W.length))return NaN;let lr;if(P&&oe)lr=bc(V,vt,W,kt,me),Pe=Math.min(Pe,lr);else if(P&&!oe){let xr=V.slice(vt[0],vt[1]+1);for(let Dr=kt[0];Dr<=kt[1];++Dr)if(lr=Tu(W[Dr],xr,me),Pe=Math.min(Pe,lr),Pe===0)return Pe}else if(!P&&oe){let xr=W.slice(kt[0],kt[1]+1);for(let Dr=vt[0];Dr<=vt[1];++Dr)if(lr=Tu(V[Dr],xr,me),Pe=Math.min(Pe,lr),Pe===0)return Pe}else lr=Hs(V,vt,W,kt,me),Pe=Math.min(Pe,lr)}else{let lr=mu(vt,P),xr=mu(kt,oe);qu(Ge,Pe,me,V,W,lr[0],xr[0]),qu(Ge,Pe,me,V,W,lr[0],xr[1]),qu(Ge,Pe,me,V,W,lr[1],xr[0]),qu(Ge,Pe,me,V,W,lr[1],xr[1])}}return Pe}function Qc(V){return V.type==="MultiPolygon"?V.coordinates.map(P=>({type:"Polygon",coordinates:P})):V.type==="MultiLineString"?V.coordinates.map(P=>({type:"LineString",coordinates:P})):V.type==="MultiPoint"?V.coordinates.map(P=>({type:"Point",coordinates:P})):[V]}class Au{constructor(P,W){this.type=Ne,this.geojson=P,this.geometries=W}static parse(P,W){if(P.length!==2)return W.error(`'distance' expression requires exactly one argument, but found ${P.length-1} instead.`);if(_n(P[1])){let oe=P[1];if(oe.type==="FeatureCollection")return new Au(oe,oe.features.map(me=>Qc(me.geometry)).flat());if(oe.type==="Feature")return new Au(oe,Qc(oe.geometry));if("type"in oe&&"coordinates"in oe)return new Au(oe,Qc(oe))}return W.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(P){if(P.geometry()!=null&&P.canonicalID()!=null){if(P.geometryType()==="Point")return function(W,oe){let me=W.geometry(),ke=me.flat().map(tt=>as([tt.x,tt.y],W.canonical));if(me.length===0)return NaN;let Pe=new fc(ke[0][1]),Ge=1/0;for(let tt of oe){switch(tt.type){case"Point":Ge=Math.min(Ge,Ll(ke,!1,[tt.coordinates],!1,Pe,Ge));break;case"LineString":Ge=Math.min(Ge,Ll(ke,!1,tt.coordinates,!0,Pe,Ge));break;case"Polygon":Ge=Math.min(Ge,hc(ke,!1,tt.coordinates,Pe,Ge))}if(Ge===0)return Ge}return Ge}(P,this.geometries);if(P.geometryType()==="LineString")return function(W,oe){let me=W.geometry(),ke=me.flat().map(tt=>as([tt.x,tt.y],W.canonical));if(me.length===0)return NaN;let Pe=new fc(ke[0][1]),Ge=1/0;for(let tt of oe){switch(tt.type){case"Point":Ge=Math.min(Ge,Ll(ke,!0,[tt.coordinates],!1,Pe,Ge));break;case"LineString":Ge=Math.min(Ge,Ll(ke,!0,tt.coordinates,!0,Pe,Ge));break;case"Polygon":Ge=Math.min(Ge,hc(ke,!0,tt.coordinates,Pe,Ge))}if(Ge===0)return Ge}return Ge}(P,this.geometries);if(P.geometryType()==="Polygon")return function(W,oe){let me=W.geometry();if(me.length===0||me[0].length===0)return NaN;let ke=du(me,0).map(tt=>tt.map(vt=>vt.map(kt=>as([kt.x,kt.y],W.canonical)))),Pe=new fc(ke[0][0][0][1]),Ge=1/0;for(let tt of oe)for(let vt of ke){switch(tt.type){case"Point":Ge=Math.min(Ge,hc([tt.coordinates],!1,vt,Pe,Ge));break;case"LineString":Ge=Math.min(Ge,hc(tt.coordinates,!0,vt,Pe,Ge));break;case"Polygon":Ge=Math.min(Ge,ns(vt,tt.coordinates,Pe,Ge))}if(Ge===0)return Ge}return Ge}(P,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}let Zu={"==":co,"!=":Ro,">":Co,"<":ao,">=":Po,"<=":Wo,array:nt,at:xt,boolean:nt,case:jr,coalesce:yo,collator:vi,format:ho,image:ro,in:Vt,"index-of":er,interpolate:ai,"interpolate-hcl":ai,"interpolate-lab":ai,length:es,let:rr,literal:Zi,match:Tr,number:nt,"number-format":zi,object:nt,slice:Fr,step:ra,string:nt,"to-boolean":Qt,"to-color":Qt,"to-number":Qt,"to-string":Qt,var:Ze,within:Ss,distance:Au};class ll{constructor(P,W,oe,me){this.name=P,this.type=W,this._evaluate=oe,this.args=me}evaluate(P){return this._evaluate(P,this.args)}eachChild(P){this.args.forEach(P)}outputDefined(){return!1}static parse(P,W){let oe=P[0],me=ll.definitions[oe];if(!me)return W.error(`Unknown expression "${oe}". If you wanted a literal array, use ["literal", [...]].`,0);let ke=Array.isArray(me)?me[0]:me.type,Pe=Array.isArray(me)?[[me[1],me[2]]]:me.overloads,Ge=Pe.filter(([vt])=>!Array.isArray(vt)||vt.length===P.length-1),tt=null;for(let[vt,kt]of Ge){tt=new cr(W.registry,Bc,W.path,null,W.scope);let Gt=[],tr=!1;for(let lr=1;lr{return tr=Gt,Array.isArray(tr)?`(${tr.map(Re).join(", ")})`:`(${Re(tr.type)}...)`;var tr}).join(" | "),kt=[];for(let Gt=1;Gt{W=P?W&&Bc(oe):W&&oe instanceof Zi}),!!W&&Nc(V)&&xc(V,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function Nc(V){if(V instanceof ll&&(V.name==="get"&&V.args.length===1||V.name==="feature-state"||V.name==="has"&&V.args.length===1||V.name==="properties"||V.name==="geometry-type"||V.name==="id"||/^filter-/.test(V.name))||V instanceof Ss||V instanceof Au)return!1;let P=!0;return V.eachChild(W=>{P&&!Nc(W)&&(P=!1)}),P}function tu(V){if(V instanceof ll&&V.name==="feature-state")return!1;let P=!0;return V.eachChild(W=>{P&&!tu(W)&&(P=!1)}),P}function xc(V,P){if(V instanceof ll&&P.indexOf(V.name)>=0)return!1;let W=!0;return V.eachChild(oe=>{W&&!xc(oe,P)&&(W=!1)}),W}function ru(V){return{result:"success",value:V}}function Qu(V){return{result:"error",value:V}}function $s(V){return V["property-type"]==="data-driven"||V["property-type"]==="cross-faded-data-driven"}function ec(V){return!!V.expression&&V.expression.parameters.indexOf("zoom")>-1}function Iu(V){return!!V.expression&&V.expression.interpolated}function us(V){return V instanceof Number?"number":V instanceof String?"string":V instanceof Boolean?"boolean":Array.isArray(V)?"array":V===null?"null":typeof V}function wc(V){return typeof V=="object"&&V!==null&&!Array.isArray(V)}function Sf(V){return V}function tf(V,P){let W=P.type==="color",oe=V.stops&&typeof V.stops[0][0]=="object",me=oe||!(oe||V.property!==void 0),ke=V.type||(Iu(P)?"exponential":"interval");if(W||P.type==="padding"){let kt=W?ka.parse:ci.parse;(V=ne({},V)).stops&&(V.stops=V.stops.map(Gt=>[Gt[0],kt(Gt[1])])),V.default=kt(V.default?V.default:P.default)}if(V.colorSpace&&(Pe=V.colorSpace)!=="rgb"&&Pe!=="hcl"&&Pe!=="lab")throw new Error(`Unknown color space: "${V.colorSpace}"`);var Pe;let Ge,tt,vt;if(ke==="exponential")Ge=Ef;else if(ke==="interval")Ge=Tc;else if(ke==="categorical"){Ge=rf,tt=Object.create(null);for(let kt of V.stops)tt[kt[0]]=kt[1];vt=typeof V.stops[0][0]}else{if(ke!=="identity")throw new Error(`Unknown function type "${ke}"`);Ge=Zs}if(oe){let kt={},Gt=[];for(let xr=0;xrxr[0]),evaluate:({zoom:xr},Dr)=>Ef({stops:tr,base:V.base},P,xr).evaluate(xr,Dr)}}if(me){let kt=ke==="exponential"?{name:"exponential",base:V.base!==void 0?V.base:1}:null;return{kind:"camera",interpolationType:kt,interpolationFactor:ai.interpolationFactor.bind(void 0,kt),zoomStops:V.stops.map(Gt=>Gt[0]),evaluate:({zoom:Gt})=>Ge(V,P,Gt,tt,vt)}}return{kind:"source",evaluate(kt,Gt){let tr=Gt&&Gt.properties?Gt.properties[V.property]:void 0;return tr===void 0?Vu(V.default,P.default):Ge(V,P,tr,tt,vt)}}}function Vu(V,P,W){return V!==void 0?V:P!==void 0?P:W!==void 0?W:void 0}function rf(V,P,W,oe,me){return Vu(typeof W===me?oe[W]:void 0,V.default,P.default)}function Tc(V,P,W){if(us(W)!=="number")return Vu(V.default,P.default);let oe=V.stops.length;if(oe===1||W<=V.stops[0][0])return V.stops[0][1];if(W>=V.stops[oe-1][0])return V.stops[oe-1][1];let me=kr(V.stops.map(ke=>ke[0]),W);return V.stops[me][1]}function Ef(V,P,W){let oe=V.base!==void 0?V.base:1;if(us(W)!=="number")return Vu(V.default,P.default);let me=V.stops.length;if(me===1||W<=V.stops[0][0])return V.stops[0][1];if(W>=V.stops[me-1][0])return V.stops[me-1][1];let ke=kr(V.stops.map(kt=>kt[0]),W),Pe=function(kt,Gt,tr,lr){let xr=lr-tr,Dr=kt-tr;return xr===0?0:Gt===1?Dr/xr:(Math.pow(Gt,Dr)-1)/(Math.pow(Gt,xr)-1)}(W,oe,V.stops[ke][0],V.stops[ke+1][0]),Ge=V.stops[ke][1],tt=V.stops[ke+1][1],vt=Si[P.type]||Sf;return typeof Ge.evaluate=="function"?{evaluate(...kt){let Gt=Ge.evaluate.apply(void 0,kt),tr=tt.evaluate.apply(void 0,kt);if(Gt!==void 0&&tr!==void 0)return vt(Gt,tr,Pe,V.colorSpace)}}:vt(Ge,tt,Pe,V.colorSpace)}function Zs(V,P,W){switch(P.type){case"color":W=ka.parse(W);break;case"formatted":W=bn.fromString(W.toString());break;case"resolvedImage":W=Jn.fromString(W.toString());break;case"padding":W=ci.parse(W);break;default:us(W)===P.type||P.type==="enum"&&P.values[W]||(W=void 0)}return Vu(W,V.default,P.default)}ll.register(Zu,{error:[{kind:"error"},[ut],(V,[P])=>{throw new un(P.evaluate(V))}],typeof:[ut,[It],(V,[P])=>Re(Ln(P.evaluate(V)))],"to-rgba":[Ee(Ne,4),[yt],(V,[P])=>{let[W,oe,me,ke]=P.evaluate(V).rgb;return[255*W,255*oe,255*me,ke]}],rgb:[yt,[Ne,Ne,Ne],ef],rgba:[yt,[Ne,Ne,Ne,Ne],ef],has:{type:ot,overloads:[[[ut],(V,[P])=>zc(P.evaluate(V),V.properties())],[[ut,At],(V,[P,W])=>zc(P.evaluate(V),W.evaluate(V))]]},get:{type:It,overloads:[[[ut],(V,[P])=>Ku(P.evaluate(V),V.properties())],[[ut,At],(V,[P,W])=>Ku(P.evaluate(V),W.evaluate(V))]]},"feature-state":[It,[ut],(V,[P])=>Ku(P.evaluate(V),V.featureState||{})],properties:[At,[],V=>V.properties()],"geometry-type":[ut,[],V=>V.geometryType()],id:[It,[],V=>V.id()],zoom:[Ne,[],V=>V.globals.zoom],"heatmap-density":[Ne,[],V=>V.globals.heatmapDensity||0],"line-progress":[Ne,[],V=>V.globals.lineProgress||0],accumulated:[It,[],V=>V.globals.accumulated===void 0?null:V.globals.accumulated],"+":[Ne,Ju(Ne),(V,P)=>{let W=0;for(let oe of P)W+=oe.evaluate(V);return W}],"*":[Ne,Ju(Ne),(V,P)=>{let W=1;for(let oe of P)W*=oe.evaluate(V);return W}],"-":{type:Ne,overloads:[[[Ne,Ne],(V,[P,W])=>P.evaluate(V)-W.evaluate(V)],[[Ne],(V,[P])=>-P.evaluate(V)]]},"/":[Ne,[Ne,Ne],(V,[P,W])=>P.evaluate(V)/W.evaluate(V)],"%":[Ne,[Ne,Ne],(V,[P,W])=>P.evaluate(V)%W.evaluate(V)],ln2:[Ne,[],()=>Math.LN2],pi:[Ne,[],()=>Math.PI],e:[Ne,[],()=>Math.E],"^":[Ne,[Ne,Ne],(V,[P,W])=>Math.pow(P.evaluate(V),W.evaluate(V))],sqrt:[Ne,[Ne],(V,[P])=>Math.sqrt(P.evaluate(V))],log10:[Ne,[Ne],(V,[P])=>Math.log(P.evaluate(V))/Math.LN10],ln:[Ne,[Ne],(V,[P])=>Math.log(P.evaluate(V))],log2:[Ne,[Ne],(V,[P])=>Math.log(P.evaluate(V))/Math.LN2],sin:[Ne,[Ne],(V,[P])=>Math.sin(P.evaluate(V))],cos:[Ne,[Ne],(V,[P])=>Math.cos(P.evaluate(V))],tan:[Ne,[Ne],(V,[P])=>Math.tan(P.evaluate(V))],asin:[Ne,[Ne],(V,[P])=>Math.asin(P.evaluate(V))],acos:[Ne,[Ne],(V,[P])=>Math.acos(P.evaluate(V))],atan:[Ne,[Ne],(V,[P])=>Math.atan(P.evaluate(V))],min:[Ne,Ju(Ne),(V,P)=>Math.min(...P.map(W=>W.evaluate(V)))],max:[Ne,Ju(Ne),(V,P)=>Math.max(...P.map(W=>W.evaluate(V)))],abs:[Ne,[Ne],(V,[P])=>Math.abs(P.evaluate(V))],round:[Ne,[Ne],(V,[P])=>{let W=P.evaluate(V);return W<0?-Math.round(-W):Math.round(W)}],floor:[Ne,[Ne],(V,[P])=>Math.floor(P.evaluate(V))],ceil:[Ne,[Ne],(V,[P])=>Math.ceil(P.evaluate(V))],"filter-==":[ot,[ut,It],(V,[P,W])=>V.properties()[P.value]===W.value],"filter-id-==":[ot,[It],(V,[P])=>V.id()===P.value],"filter-type-==":[ot,[ut],(V,[P])=>V.geometryType()===P.value],"filter-<":[ot,[ut,It],(V,[P,W])=>{let oe=V.properties()[P.value],me=W.value;return typeof oe==typeof me&&oe{let W=V.id(),oe=P.value;return typeof W==typeof oe&&W":[ot,[ut,It],(V,[P,W])=>{let oe=V.properties()[P.value],me=W.value;return typeof oe==typeof me&&oe>me}],"filter-id->":[ot,[It],(V,[P])=>{let W=V.id(),oe=P.value;return typeof W==typeof oe&&W>oe}],"filter-<=":[ot,[ut,It],(V,[P,W])=>{let oe=V.properties()[P.value],me=W.value;return typeof oe==typeof me&&oe<=me}],"filter-id-<=":[ot,[It],(V,[P])=>{let W=V.id(),oe=P.value;return typeof W==typeof oe&&W<=oe}],"filter->=":[ot,[ut,It],(V,[P,W])=>{let oe=V.properties()[P.value],me=W.value;return typeof oe==typeof me&&oe>=me}],"filter-id->=":[ot,[It],(V,[P])=>{let W=V.id(),oe=P.value;return typeof W==typeof oe&&W>=oe}],"filter-has":[ot,[It],(V,[P])=>P.value in V.properties()],"filter-has-id":[ot,[],V=>V.id()!==null&&V.id()!==void 0],"filter-type-in":[ot,[Ee(ut)],(V,[P])=>P.value.indexOf(V.geometryType())>=0],"filter-id-in":[ot,[Ee(It)],(V,[P])=>P.value.indexOf(V.id())>=0],"filter-in-small":[ot,[ut,Ee(It)],(V,[P,W])=>W.value.indexOf(V.properties()[P.value])>=0],"filter-in-large":[ot,[ut,Ee(It)],(V,[P,W])=>function(oe,me,ke,Pe){for(;ke<=Pe;){let Ge=ke+Pe>>1;if(me[Ge]===oe)return!0;me[Ge]>oe?Pe=Ge-1:ke=Ge+1}return!1}(V.properties()[P.value],W.value,0,W.value.length-1)],all:{type:ot,overloads:[[[ot,ot],(V,[P,W])=>P.evaluate(V)&&W.evaluate(V)],[Ju(ot),(V,P)=>{for(let W of P)if(!W.evaluate(V))return!1;return!0}]]},any:{type:ot,overloads:[[[ot,ot],(V,[P,W])=>P.evaluate(V)||W.evaluate(V)],[Ju(ot),(V,P)=>{for(let W of P)if(W.evaluate(V))return!0;return!1}]]},"!":[ot,[ot],(V,[P])=>!P.evaluate(V)],"is-supported-script":[ot,[ut],(V,[P])=>{let W=V.globals&&V.globals.isSupportedScript;return!W||W(P.evaluate(V))}],upcase:[ut,[ut],(V,[P])=>P.evaluate(V).toUpperCase()],downcase:[ut,[ut],(V,[P])=>P.evaluate(V).toLowerCase()],concat:[ut,Ju(It),(V,P)=>P.map(W=>ji(W.evaluate(V))).join("")],"resolved-locale":[ut,[Zt],(V,[P])=>P.evaluate(V).resolvedLocale()]});class au{constructor(P,W){var oe;this.expression=P,this._warningHistory={},this._evaluator=new nr,this._defaultValue=W?(oe=W).type==="color"&&wc(oe.default)?new ka(0,0,0,0):oe.type==="color"?ka.parse(oe.default)||null:oe.type==="padding"?ci.parse(oe.default)||null:oe.type==="variableAnchorOffsetCollection"?Pi.parse(oe.default)||null:oe.default===void 0?null:oe.default:null,this._enumValues=W&&W.type==="enum"?W.values:null}evaluateWithoutErrorHandling(P,W,oe,me,ke,Pe){return this._evaluator.globals=P,this._evaluator.feature=W,this._evaluator.featureState=oe,this._evaluator.canonical=me,this._evaluator.availableImages=ke||null,this._evaluator.formattedSection=Pe,this.expression.evaluate(this._evaluator)}evaluate(P,W,oe,me,ke,Pe){this._evaluator.globals=P,this._evaluator.feature=W||null,this._evaluator.featureState=oe||null,this._evaluator.canonical=me,this._evaluator.availableImages=ke||null,this._evaluator.formattedSection=Pe||null;try{let Ge=this.expression.evaluate(this._evaluator);if(Ge==null||typeof Ge=="number"&&Ge!=Ge)return this._defaultValue;if(this._enumValues&&!(Ge in this._enumValues))throw new un(`Expected value to be one of ${Object.keys(this._enumValues).map(tt=>JSON.stringify(tt)).join(", ")}, but found ${JSON.stringify(Ge)} instead.`);return Ge}catch(Ge){return this._warningHistory[Ge.message]||(this._warningHistory[Ge.message]=!0,typeof console<"u"&&console.warn(Ge.message)),this._defaultValue}}}function af(V){return Array.isArray(V)&&V.length>0&&typeof V[0]=="string"&&V[0]in Zu}function Fs(V,P){let W=new cr(Zu,Bc,[],P?function(me){let ke={color:yt,string:ut,number:Ne,enum:ut,boolean:ot,formatted:vr,padding:Ut,resolvedImage:Jt,variableAnchorOffsetCollection:at};return me.type==="array"?Ee(ke[me.value]||It,me.length):ke[me.type]}(P):void 0),oe=W.parse(V,void 0,void 0,void 0,P&&P.type==="string"?{typeAnnotation:"coerce"}:void 0);return oe?ru(new au(oe,P)):Qu(W.errors)}class Du{constructor(P,W){this.kind=P,this._styleExpression=W,this.isStateDependent=P!=="constant"&&!tu(W.expression)}evaluateWithoutErrorHandling(P,W,oe,me,ke,Pe){return this._styleExpression.evaluateWithoutErrorHandling(P,W,oe,me,ke,Pe)}evaluate(P,W,oe,me,ke,Pe){return this._styleExpression.evaluate(P,W,oe,me,ke,Pe)}}class Nl{constructor(P,W,oe,me){this.kind=P,this.zoomStops=oe,this._styleExpression=W,this.isStateDependent=P!=="camera"&&!tu(W.expression),this.interpolationType=me}evaluateWithoutErrorHandling(P,W,oe,me,ke,Pe){return this._styleExpression.evaluateWithoutErrorHandling(P,W,oe,me,ke,Pe)}evaluate(P,W,oe,me,ke,Pe){return this._styleExpression.evaluate(P,W,oe,me,ke,Pe)}interpolationFactor(P,W,oe){return this.interpolationType?ai.interpolationFactor(this.interpolationType,P,W,oe):0}}function Hu(V,P){let W=Fs(V,P);if(W.result==="error")return W;let oe=W.value.expression,me=Nc(oe);if(!me&&!$s(P))return Qu([new be("","data expressions not supported")]);let ke=xc(oe,["zoom"]);if(!ke&&!ec(P))return Qu([new be("","zoom expressions not supported")]);let Pe=Oc(oe);return Pe||ke?Pe instanceof be?Qu([Pe]):Pe instanceof ai&&!Iu(P)?Qu([new be("",'"interpolate" expressions cannot be used with this property')]):ru(Pe?new Nl(me?"camera":"composite",W.value,Pe.labels,Pe instanceof ai?Pe.interpolation:void 0):new Du(me?"constant":"source",W.value)):Qu([new be("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class dc{constructor(P,W){this._parameters=P,this._specification=W,ne(this,tf(this._parameters,this._specification))}static deserialize(P){return new dc(P._parameters,P._specification)}static serialize(P){return{_parameters:P._parameters,_specification:P._specification}}}function Oc(V){let P=null;if(V instanceof rr)P=Oc(V.result);else if(V instanceof yo){for(let W of V.args)if(P=Oc(W),P)break}else(V instanceof ra||V instanceof ai)&&V.input instanceof ll&&V.input.name==="zoom"&&(P=V);return P instanceof be||V.eachChild(W=>{let oe=Oc(W);oe instanceof be?P=oe:!P&&oe?P=new be("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):P&&oe&&P!==oe&&(P=new be("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),P}function nf(V){if(V===!0||V===!1)return!0;if(!Array.isArray(V)||V.length===0)return!1;switch(V[0]){case"has":return V.length>=2&&V[1]!=="$id"&&V[1]!=="$type";case"in":return V.length>=3&&(typeof V[1]!="string"||Array.isArray(V[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return V.length!==3||Array.isArray(V[1])||Array.isArray(V[2]);case"any":case"all":for(let P of V.slice(1))if(!nf(P)&&typeof P!="boolean")return!1;return!0;default:return!0}}let gu={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function Ru(V){if(V==null)return{filter:()=>!0,needGeometry:!1};nf(V)||(V=vc(V));let P=Fs(V,gu);if(P.result==="error")throw new Error(P.value.map(W=>`${W.key}: ${W.message}`).join(", "));return{filter:(W,oe,me)=>P.value.evaluate(W,oe,{},me),needGeometry:Xf(V)}}function Mu(V,P){return VP?1:0}function Xf(V){if(!Array.isArray(V))return!1;if(V[0]==="within"||V[0]==="distance")return!0;for(let P=1;P"||P==="<="||P===">="?kf(V[1],V[2],P):P==="any"?(W=V.slice(1),["any"].concat(W.map(vc))):P==="all"?["all"].concat(V.slice(1).map(vc)):P==="none"?["all"].concat(V.slice(1).map(vc).map(rl)):P==="in"?Yl(V[1],V.slice(2)):P==="!in"?rl(Yl(V[1],V.slice(2))):P==="has"?tc(V[1]):P!=="!has"||rl(tc(V[1]));var W}function kf(V,P,W){switch(V){case"$type":return[`filter-type-${W}`,P];case"$id":return[`filter-id-${W}`,P];default:return[`filter-${W}`,V,P]}}function Yl(V,P){if(P.length===0)return!1;switch(V){case"$type":return["filter-type-in",["literal",P]];case"$id":return["filter-id-in",["literal",P]];default:return P.length>200&&!P.some(W=>typeof W!=typeof P[0])?["filter-in-large",V,["literal",P.sort(Mu)]]:["filter-in-small",V,["literal",P]]}}function tc(V){switch(V){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",V]}}function rl(V){return["!",V]}function Gu(V){let P=typeof V;if(P==="number"||P==="boolean"||P==="string"||V==null)return JSON.stringify(V);if(Array.isArray(V)){let me="[";for(let ke of V)me+=`${Gu(ke)},`;return`${me}]`}let W=Object.keys(V).sort(),oe="{";for(let me=0;meoe.maximum?[new se(P,W,`${W} is greater than the maximum value ${oe.maximum}`)]:[]}function rc(V){let P=V.valueSpec,W=ws(V.value.type),oe,me,ke,Pe={},Ge=W!=="categorical"&&V.value.property===void 0,tt=!Ge,vt=us(V.value.stops)==="array"&&us(V.value.stops[0])==="array"&&us(V.value.stops[0][0])==="object",kt=Ol({key:V.key,value:V.value,valueSpec:V.styleSpec.function,validateSpec:V.validateSpec,style:V.style,styleSpec:V.styleSpec,objectElementValidators:{stops:function(lr){if(W==="identity")return[new se(lr.key,lr.value,'identity function may not have a "stops" property')];let xr=[],Dr=lr.value;return xr=xr.concat(jc({key:lr.key,value:Dr,valueSpec:lr.valueSpec,validateSpec:lr.validateSpec,style:lr.style,styleSpec:lr.styleSpec,arrayElementValidator:Gt})),us(Dr)==="array"&&Dr.length===0&&xr.push(new se(lr.key,Dr,"array must have at least one stop")),xr},default:function(lr){return lr.validateSpec({key:lr.key,value:lr.value,valueSpec:P,validateSpec:lr.validateSpec,style:lr.style,styleSpec:lr.styleSpec})}}});return W==="identity"&&Ge&&kt.push(new se(V.key,V.value,'missing required property "property"')),W==="identity"||V.value.stops||kt.push(new se(V.key,V.value,'missing required property "stops"')),W==="exponential"&&V.valueSpec.expression&&!Iu(V.valueSpec)&&kt.push(new se(V.key,V.value,"exponential functions not supported")),V.styleSpec.$version>=8&&(tt&&!$s(V.valueSpec)?kt.push(new se(V.key,V.value,"property functions not supported")):Ge&&!ec(V.valueSpec)&&kt.push(new se(V.key,V.value,"zoom functions not supported"))),W!=="categorical"&&!vt||V.value.property!==void 0||kt.push(new se(V.key,V.value,'"property" property is required')),kt;function Gt(lr){let xr=[],Dr=lr.value,sa=lr.key;if(us(Dr)!=="array")return[new se(sa,Dr,`array expected, ${us(Dr)} found`)];if(Dr.length!==2)return[new se(sa,Dr,`array length 2 expected, length ${Dr.length} found`)];if(vt){if(us(Dr[0])!=="object")return[new se(sa,Dr,`object expected, ${us(Dr[0])} found`)];if(Dr[0].zoom===void 0)return[new se(sa,Dr,"object stop key must have zoom")];if(Dr[0].value===void 0)return[new se(sa,Dr,"object stop key must have value")];if(ke&&ke>ws(Dr[0].zoom))return[new se(sa,Dr[0].zoom,"stop zoom values must appear in ascending order")];ws(Dr[0].zoom)!==ke&&(ke=ws(Dr[0].zoom),me=void 0,Pe={}),xr=xr.concat(Ol({key:`${sa}[0]`,value:Dr[0],valueSpec:{zoom:{}},validateSpec:lr.validateSpec,style:lr.style,styleSpec:lr.styleSpec,objectElementValidators:{zoom:qc,value:tr}}))}else xr=xr.concat(tr({key:`${sa}[0]`,value:Dr[0],valueSpec:{},validateSpec:lr.validateSpec,style:lr.style,styleSpec:lr.styleSpec},Dr));return af(Pl(Dr[1]))?xr.concat([new se(`${sa}[1]`,Dr[1],"expressions are not allowed in function stops.")]):xr.concat(lr.validateSpec({key:`${sa}[1]`,value:Dr[1],valueSpec:P,validateSpec:lr.validateSpec,style:lr.style,styleSpec:lr.styleSpec}))}function tr(lr,xr){let Dr=us(lr.value),sa=ws(lr.value),ga=lr.value!==null?lr.value:xr;if(oe){if(Dr!==oe)return[new se(lr.key,ga,`${Dr} stop domain type must match previous stop domain type ${oe}`)]}else oe=Dr;if(Dr!=="number"&&Dr!=="string"&&Dr!=="boolean")return[new se(lr.key,ga,"stop domain value must be a number, string, or boolean")];if(Dr!=="number"&&W!=="categorical"){let cn=`number expected, ${Dr} found`;return $s(P)&&W===void 0&&(cn+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new se(lr.key,ga,cn)]}return W!=="categorical"||Dr!=="number"||isFinite(sa)&&Math.floor(sa)===sa?W!=="categorical"&&Dr==="number"&&me!==void 0&&sanew se(`${V.key}${oe.key}`,V.value,oe.message));let W=P.value.expression||P.value._styleExpression.expression;if(V.expressionContext==="property"&&V.propertyKey==="text-font"&&!W.outputDefined())return[new se(V.key,V.value,`Invalid data expression for "${V.propertyKey}". Output values must be contained as literals within the expression.`)];if(V.expressionContext==="property"&&V.propertyType==="layout"&&!tu(W))return[new se(V.key,V.value,'"feature-state" data expressions are not supported with layout properties.')];if(V.expressionContext==="filter"&&!tu(W))return[new se(V.key,V.value,'"feature-state" data expressions are not supported with filters.')];if(V.expressionContext&&V.expressionContext.indexOf("cluster")===0){if(!xc(W,["zoom","feature-state"]))return[new se(V.key,V.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if(V.expressionContext==="cluster-initial"&&!Nc(W))return[new se(V.key,V.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function nu(V){let P=V.key,W=V.value,oe=V.valueSpec,me=[];return Array.isArray(oe.values)?oe.values.indexOf(ws(W))===-1&&me.push(new se(P,W,`expected one of [${oe.values.join(", ")}], ${JSON.stringify(W)} found`)):Object.keys(oe.values).indexOf(ws(W))===-1&&me.push(new se(P,W,`expected one of [${Object.keys(oe.values).join(", ")}], ${JSON.stringify(W)} found`)),me}function Ac(V){return nf(Pl(V.value))?ac(ne({},V,{expressionContext:"filter",valueSpec:{value:"boolean"}})):Wu(V)}function Wu(V){let P=V.value,W=V.key;if(us(P)!=="array")return[new se(W,P,`array expected, ${us(P)} found`)];let oe=V.styleSpec,me,ke=[];if(P.length<1)return[new se(W,P,"filter array must have at least 1 element")];switch(ke=ke.concat(nu({key:`${W}[0]`,value:P[0],valueSpec:oe.filter_operator,style:V.style,styleSpec:V.styleSpec})),ws(P[0])){case"<":case"<=":case">":case">=":P.length>=2&&ws(P[1])==="$type"&&ke.push(new se(W,P,`"$type" cannot be use with operator "${P[0]}"`));case"==":case"!=":P.length!==3&&ke.push(new se(W,P,`filter array for operator "${P[0]}" must have 3 elements`));case"in":case"!in":P.length>=2&&(me=us(P[1]),me!=="string"&&ke.push(new se(`${W}[1]`,P[1],`string expected, ${me} found`)));for(let Pe=2;Pe{vt in W&&P.push(new se(oe,W[vt],`"${vt}" is prohibited for ref layers`))}),me.layers.forEach(vt=>{ws(vt.id)===Ge&&(tt=vt)}),tt?tt.ref?P.push(new se(oe,W.ref,"ref cannot reference another ref layer")):Pe=ws(tt.type):P.push(new se(oe,W.ref,`ref layer "${Ge}" not found`))}else if(Pe!=="background")if(W.source){let tt=me.sources&&me.sources[W.source],vt=tt&&ws(tt.type);tt?vt==="vector"&&Pe==="raster"?P.push(new se(oe,W.source,`layer "${W.id}" requires a raster source`)):vt!=="raster-dem"&&Pe==="hillshade"?P.push(new se(oe,W.source,`layer "${W.id}" requires a raster-dem source`)):vt==="raster"&&Pe!=="raster"?P.push(new se(oe,W.source,`layer "${W.id}" requires a vector source`)):vt!=="vector"||W["source-layer"]?vt==="raster-dem"&&Pe!=="hillshade"?P.push(new se(oe,W.source,"raster-dem source can only be used with layer type 'hillshade'.")):Pe!=="line"||!W.paint||!W.paint["line-gradient"]||vt==="geojson"&&tt.lineMetrics||P.push(new se(oe,W,`layer "${W.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):P.push(new se(oe,W,`layer "${W.id}" must specify a "source-layer"`)):P.push(new se(oe,W.source,`source "${W.source}" not found`))}else P.push(new se(oe,W,'missing required property "source"'));return P=P.concat(Ol({key:oe,value:W,valueSpec:ke.layer,style:V.style,styleSpec:V.styleSpec,validateSpec:V.validateSpec,objectElementValidators:{"*":()=>[],type:()=>V.validateSpec({key:`${oe}.type`,value:W.type,valueSpec:ke.layer.type,style:V.style,styleSpec:V.styleSpec,validateSpec:V.validateSpec,object:W,objectKey:"type"}),filter:Ac,layout:tt=>Ol({layer:W,key:tt.key,value:tt.value,style:tt.style,styleSpec:tt.styleSpec,validateSpec:tt.validateSpec,objectElementValidators:{"*":vt=>of(ne({layerType:Pe},vt))}}),paint:tt=>Ol({layer:W,key:tt.key,value:tt.value,style:tt.style,styleSpec:tt.styleSpec,validateSpec:tt.validateSpec,objectElementValidators:{"*":vt=>Hc(ne({layerType:Pe},vt))}})}})),P}function Mc(V){let P=V.value,W=V.key,oe=us(P);return oe!=="string"?[new se(W,P,`string expected, ${oe} found`)]:[]}let sf={promoteId:function({key:V,value:P}){if(us(P)==="string")return Mc({key:V,value:P});{let W=[];for(let oe in P)W.push(...Mc({key:`${V}.${oe}`,value:P[oe]}));return W}}};function Sc(V){let P=V.value,W=V.key,oe=V.styleSpec,me=V.style,ke=V.validateSpec;if(!P.type)return[new se(W,P,'"type" is required')];let Pe=ws(P.type),Ge;switch(Pe){case"vector":case"raster":return Ge=Ol({key:W,value:P,valueSpec:oe[`source_${Pe.replace("-","_")}`],style:V.style,styleSpec:oe,objectElementValidators:sf,validateSpec:ke}),Ge;case"raster-dem":return Ge=function(tt){var vt;let kt=(vt=tt.sourceName)!==null&&vt!==void 0?vt:"",Gt=tt.value,tr=tt.styleSpec,lr=tr.source_raster_dem,xr=tt.style,Dr=[],sa=us(Gt);if(Gt===void 0)return Dr;if(sa!=="object")return Dr.push(new se("source_raster_dem",Gt,`object expected, ${sa} found`)),Dr;let ga=ws(Gt.encoding)==="custom",cn=["redFactor","greenFactor","blueFactor","baseShift"],Da=tt.value.encoding?`"${tt.value.encoding}"`:"Default";for(let en in Gt)!ga&&cn.includes(en)?Dr.push(new se(en,Gt[en],`In "${kt}": "${en}" is only valid when "encoding" is set to "custom". ${Da} encoding found`)):lr[en]?Dr=Dr.concat(tt.validateSpec({key:en,value:Gt[en],valueSpec:lr[en],validateSpec:tt.validateSpec,style:xr,styleSpec:tr})):Dr.push(new se(en,Gt[en],`unknown property "${en}"`));return Dr}({sourceName:W,value:P,style:V.style,styleSpec:oe,validateSpec:ke}),Ge;case"geojson":if(Ge=Ol({key:W,value:P,valueSpec:oe.source_geojson,style:me,styleSpec:oe,validateSpec:ke,objectElementValidators:sf}),P.cluster)for(let tt in P.clusterProperties){let[vt,kt]=P.clusterProperties[tt],Gt=typeof vt=="string"?[vt,["accumulated"],["get",tt]]:vt;Ge.push(...ac({key:`${W}.${tt}.map`,value:kt,validateSpec:ke,expressionContext:"cluster-map"})),Ge.push(...ac({key:`${W}.${tt}.reduce`,value:Gt,validateSpec:ke,expressionContext:"cluster-reduce"}))}return Ge;case"video":return Ol({key:W,value:P,valueSpec:oe.source_video,style:me,validateSpec:ke,styleSpec:oe});case"image":return Ol({key:W,value:P,valueSpec:oe.source_image,style:me,validateSpec:ke,styleSpec:oe});case"canvas":return[new se(W,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return nu({key:`${W}.type`,value:P.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:me,validateSpec:ke,styleSpec:oe})}}function wl(V){let P=V.value,W=V.styleSpec,oe=W.light,me=V.style,ke=[],Pe=us(P);if(P===void 0)return ke;if(Pe!=="object")return ke=ke.concat([new se("light",P,`object expected, ${Pe} found`)]),ke;for(let Ge in P){let tt=Ge.match(/^(.*)-transition$/);ke=ke.concat(tt&&oe[tt[1]]&&oe[tt[1]].transition?V.validateSpec({key:Ge,value:P[Ge],valueSpec:W.transition,validateSpec:V.validateSpec,style:me,styleSpec:W}):oe[Ge]?V.validateSpec({key:Ge,value:P[Ge],valueSpec:oe[Ge],validateSpec:V.validateSpec,style:me,styleSpec:W}):[new se(Ge,P[Ge],`unknown property "${Ge}"`)])}return ke}function Su(V){let P=V.value,W=V.styleSpec,oe=W.sky,me=V.style,ke=us(P);if(P===void 0)return[];if(ke!=="object")return[new se("sky",P,`object expected, ${ke} found`)];let Pe=[];for(let Ge in P)Pe=Pe.concat(oe[Ge]?V.validateSpec({key:Ge,value:P[Ge],valueSpec:oe[Ge],style:me,styleSpec:W}):[new se(Ge,P[Ge],`unknown property "${Ge}"`)]);return Pe}function lf(V){let P=V.value,W=V.styleSpec,oe=W.terrain,me=V.style,ke=[],Pe=us(P);if(P===void 0)return ke;if(Pe!=="object")return ke=ke.concat([new se("terrain",P,`object expected, ${Pe} found`)]),ke;for(let Ge in P)ke=ke.concat(oe[Ge]?V.validateSpec({key:Ge,value:P[Ge],valueSpec:oe[Ge],validateSpec:V.validateSpec,style:me,styleSpec:W}):[new se(Ge,P[Ge],`unknown property "${Ge}"`)]);return ke}function Lf(V){let P=[],W=V.value,oe=V.key;if(Array.isArray(W)){let me=[],ke=[];for(let Pe in W)W[Pe].id&&me.includes(W[Pe].id)&&P.push(new se(oe,W,`all the sprites' ids must be unique, but ${W[Pe].id} is duplicated`)),me.push(W[Pe].id),W[Pe].url&&ke.includes(W[Pe].url)&&P.push(new se(oe,W,`all the sprites' URLs must be unique, but ${W[Pe].url} is duplicated`)),ke.push(W[Pe].url),P=P.concat(Ol({key:`${oe}[${Pe}]`,value:W[Pe],valueSpec:{id:{type:"string",required:!0},url:{type:"string",required:!0}},validateSpec:V.validateSpec}));return P}return Mc({key:oe,value:W})}let Ec={"*":()=>[],array:jc,boolean:function(V){let P=V.value,W=V.key,oe=us(P);return oe!=="boolean"?[new se(W,P,`boolean expected, ${oe} found`)]:[]},number:qc,color:function(V){let P=V.key,W=V.value,oe=us(W);return oe!=="string"?[new se(P,W,`color expected, ${oe} found`)]:ka.parse(String(W))?[]:[new se(P,W,`color expected, "${W}" found`)]},constants:Uc,enum:nu,filter:Ac,function:rc,layer:Cf,object:Ol,source:Sc,light:wl,sky:Su,terrain:lf,projection:function(V){let P=V.value,W=V.styleSpec,oe=W.projection,me=V.style,ke=us(P);if(P===void 0)return[];if(ke!=="object")return[new se("projection",P,`object expected, ${ke} found`)];let Pe=[];for(let Ge in P)Pe=Pe.concat(oe[Ge]?V.validateSpec({key:Ge,value:P[Ge],valueSpec:oe[Ge],style:me,styleSpec:W}):[new se(Ge,P[Ge],`unknown property "${Ge}"`)]);return Pe},string:Mc,formatted:function(V){return Mc(V).length===0?[]:ac(V)},resolvedImage:function(V){return Mc(V).length===0?[]:ac(V)},padding:function(V){let P=V.key,W=V.value;if(us(W)==="array"){if(W.length<1||W.length>4)return[new se(P,W,`padding requires 1 to 4 values; ${W.length} values found`)];let oe={type:"number"},me=[];for(let ke=0;ke[]}})),V.constants&&(W=W.concat(Uc({key:"constants",value:V.constants,style:V,styleSpec:P,validateSpec:Fu}))),dr(W)}function _r(V){return function(P){return V(Rr(Hr({},P),{validateSpec:Fu}))}}function dr(V){return[].concat(V).sort((P,W)=>P.line-W.line)}function ea(V){return function(...P){return dr(V.apply(this,P))}}jt.source=ea(_r(Sc)),jt.sprite=ea(_r(Lf)),jt.glyphs=ea(_r(Mt)),jt.light=ea(_r(wl)),jt.sky=ea(_r(Su)),jt.terrain=ea(_r(lf)),jt.layer=ea(_r(Cf)),jt.filter=ea(_r(Ac)),jt.paintProperty=ea(_r(Hc)),jt.layoutProperty=ea(_r(of));let Aa=jt,Ga=Aa.light,fn=Aa.sky,gn=Aa.paintProperty,qn=Aa.layoutProperty;function Wa(V,P){let W=!1;if(P&&P.length)for(let oe of P)V.fire(new $(new Error(oe.message))),W=!0;return W}class $a{constructor(P,W,oe){let me=this.cells=[];if(P instanceof ArrayBuffer){this.arrayBuffer=P;let Pe=new Int32Array(this.arrayBuffer);P=Pe[0],this.d=(W=Pe[1])+2*(oe=Pe[2]);for(let tt=0;tt=Gt[xr+0]&&me>=Gt[xr+1])?(Ge[lr]=!0,Pe.push(kt[lr])):Ge[lr]=!1}}}}_forEachCell(P,W,oe,me,ke,Pe,Ge,tt){let vt=this._convertToCellCoord(P),kt=this._convertToCellCoord(W),Gt=this._convertToCellCoord(oe),tr=this._convertToCellCoord(me);for(let lr=vt;lr<=Gt;lr++)for(let xr=kt;xr<=tr;xr++){let Dr=this.d*xr+lr;if((!tt||tt(this._convertFromCellCoord(lr),this._convertFromCellCoord(xr),this._convertFromCellCoord(lr+1),this._convertFromCellCoord(xr+1)))&&ke.call(this,P,W,oe,me,Dr,Pe,Ge,tt))return}}_convertFromCellCoord(P){return(P-this.padding)/this.scale}_convertToCellCoord(P){return Math.max(0,Math.min(this.d-1,Math.floor(P*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let P=this.cells,W=3+this.cells.length+1+1,oe=0;for(let Pe=0;Pe=0)continue;let Pe=V[ke];me[ke]=sn[W].shallow.indexOf(ke)>=0?Pe:ki(Pe,P)}V instanceof Error&&(me.message=V.message)}if(me.$name)throw new Error("$name property is reserved for worker serialization logic.");return W!=="Object"&&(me.$name=W),me}function Vi(V){if(Ii(V))return V;if(Array.isArray(V))return V.map(Vi);if(typeof V!="object")throw new Error("can't deserialize object of type "+typeof V);let P=Ei(V)||"Object";if(!sn[P])throw new Error(`can't deserialize unregistered class ${P}`);let{klass:W}=sn[P];if(!W)throw new Error(`can't deserialize unregistered class ${P}`);if(W.deserialize)return W.deserialize(V);let oe=Object.create(W.prototype);for(let me of Object.keys(V)){if(me==="$name")continue;let ke=V[me];oe[me]=sn[P].shallow.indexOf(me)>=0?ke:Vi(ke)}return oe}class ni{constructor(){this.first=!0}update(P,W){let oe=Math.floor(P);return this.first?(this.first=!1,this.lastIntegerZoom=oe,this.lastIntegerZoomTime=0,this.lastZoom=P,this.lastFloorZoom=oe,!0):(this.lastFloorZoom>oe?(this.lastIntegerZoom=oe+1,this.lastIntegerZoomTime=W):this.lastFloorZoomV>=128&&V<=255,"Hangul Jamo":V=>V>=4352&&V<=4607,Khmer:V=>V>=6016&&V<=6143,"General Punctuation":V=>V>=8192&&V<=8303,"Letterlike Symbols":V=>V>=8448&&V<=8527,"Number Forms":V=>V>=8528&&V<=8591,"Miscellaneous Technical":V=>V>=8960&&V<=9215,"Control Pictures":V=>V>=9216&&V<=9279,"Optical Character Recognition":V=>V>=9280&&V<=9311,"Enclosed Alphanumerics":V=>V>=9312&&V<=9471,"Geometric Shapes":V=>V>=9632&&V<=9727,"Miscellaneous Symbols":V=>V>=9728&&V<=9983,"Miscellaneous Symbols and Arrows":V=>V>=11008&&V<=11263,"Ideographic Description Characters":V=>V>=12272&&V<=12287,"CJK Symbols and Punctuation":V=>V>=12288&&V<=12351,Katakana:V=>V>=12448&&V<=12543,Kanbun:V=>V>=12688&&V<=12703,"CJK Strokes":V=>V>=12736&&V<=12783,"Enclosed CJK Letters and Months":V=>V>=12800&&V<=13055,"CJK Compatibility":V=>V>=13056&&V<=13311,"Yijing Hexagram Symbols":V=>V>=19904&&V<=19967,"Private Use Area":V=>V>=57344&&V<=63743,"Vertical Forms":V=>V>=65040&&V<=65055,"CJK Compatibility Forms":V=>V>=65072&&V<=65103,"Small Form Variants":V=>V>=65104&&V<=65135,"Halfwidth and Fullwidth Forms":V=>V>=65280&&V<=65519};function no(V){for(let P of V)if(Vo(P.charCodeAt(0)))return!0;return!1}function wo(V){for(let P of V)if(!Jo(P.charCodeAt(0)))return!1;return!0}function Go(V){let P=V.map(W=>{try{return new RegExp(`\\p{sc=${W}}`,"u").source}catch{return null}}).filter(W=>W);return new RegExp(P.join("|"),"u")}let bs=Go(["Arab","Dupl","Mong","Ougr","Syrc"]);function Jo(V){return!bs.test(String.fromCodePoint(V))}let Es=Go(["Bopo","Hani","Hira","Kana","Kits","Nshu","Tang","Yiii"]);function Vo(V){return!(V!==746&&V!==747&&(V<4352||!(Rn["CJK Compatibility Forms"](V)&&!(V>=65097&&V<=65103)||Rn["CJK Compatibility"](V)||Rn["CJK Strokes"](V)||!(!Rn["CJK Symbols and Punctuation"](V)||V>=12296&&V<=12305||V>=12308&&V<=12319||V===12336)||Rn["Enclosed CJK Letters and Months"](V)||Rn["Ideographic Description Characters"](V)||Rn.Kanbun(V)||Rn.Katakana(V)&&V!==12540||!(!Rn["Halfwidth and Fullwidth Forms"](V)||V===65288||V===65289||V===65293||V>=65306&&V<=65310||V===65339||V===65341||V===65343||V>=65371&&V<=65503||V===65507||V>=65512&&V<=65519)||!(!Rn["Small Form Variants"](V)||V>=65112&&V<=65118||V>=65123&&V<=65126)||Rn["Vertical Forms"](V)||Rn["Yijing Hexagram Symbols"](V)||new RegExp("\\p{sc=Cans}","u").test(String.fromCodePoint(V))||new RegExp("\\p{sc=Hang}","u").test(String.fromCodePoint(V))||Es.test(String.fromCodePoint(V)))))}function yl(V){return!(Vo(V)||function(P){return!!(Rn["Latin-1 Supplement"](P)&&(P===167||P===169||P===174||P===177||P===188||P===189||P===190||P===215||P===247)||Rn["General Punctuation"](P)&&(P===8214||P===8224||P===8225||P===8240||P===8241||P===8251||P===8252||P===8258||P===8263||P===8264||P===8265||P===8273)||Rn["Letterlike Symbols"](P)||Rn["Number Forms"](P)||Rn["Miscellaneous Technical"](P)&&(P>=8960&&P<=8967||P>=8972&&P<=8991||P>=8996&&P<=9e3||P===9003||P>=9085&&P<=9114||P>=9150&&P<=9165||P===9167||P>=9169&&P<=9179||P>=9186&&P<=9215)||Rn["Control Pictures"](P)&&P!==9251||Rn["Optical Character Recognition"](P)||Rn["Enclosed Alphanumerics"](P)||Rn["Geometric Shapes"](P)||Rn["Miscellaneous Symbols"](P)&&!(P>=9754&&P<=9759)||Rn["Miscellaneous Symbols and Arrows"](P)&&(P>=11026&&P<=11055||P>=11088&&P<=11097||P>=11192&&P<=11243)||Rn["CJK Symbols and Punctuation"](P)||Rn.Katakana(P)||Rn["Private Use Area"](P)||Rn["CJK Compatibility Forms"](P)||Rn["Small Form Variants"](P)||Rn["Halfwidth and Fullwidth Forms"](P)||P===8734||P===8756||P===8757||P>=9984&&P<=10087||P>=10102&&P<=10131||P===65532||P===65533)}(V))}let Ws=Go(["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 xs(V){return Ws.test(String.fromCodePoint(V))}function bi(V,P){return!(!P&&xs(V)||V>=2304&&V<=3583||V>=3840&&V<=4255||Rn.Khmer(V))}function ss(V){for(let P of V)if(xs(P.charCodeAt(0)))return!0;return!1}let ms=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus="unavailable",this.pluginURL=null}setState(V){this.pluginStatus=V.pluginStatus,this.pluginURL=V.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(V){this.applyArabicShaping=V.applyArabicShaping,this.processBidirectionalText=V.processBidirectionalText,this.processStyledBidirectionalText=V.processStyledBidirectionalText}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class $o{constructor(P,W){this.zoom=P,W?(this.now=W.now,this.fadeDuration=W.fadeDuration,this.zoomHistory=W.zoomHistory,this.transition=W.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new ni,this.transition={})}isSupportedScript(P){return function(W,oe){for(let me of W)if(!bi(me.charCodeAt(0),oe))return!1;return!0}(P,ms.getRTLTextPluginStatus()==="loaded")}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let P=this.zoom,W=P-Math.floor(P),oe=this.crossFadingFactor();return P>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:W+(1-W)*oe}:{fromScale:.5,toScale:1,t:1-(1-oe)*W}}}class ul{constructor(P,W){this.property=P,this.value=W,this.expression=function(oe,me){if(wc(oe))return new dc(oe,me);if(af(oe)){let ke=Hu(oe,me);if(ke.result==="error")throw new Error(ke.value.map(Pe=>`${Pe.key}: ${Pe.message}`).join(", "));return ke.value}{let ke=oe;return me.type==="color"&&typeof oe=="string"?ke=ka.parse(oe):me.type!=="padding"||typeof oe!="number"&&!Array.isArray(oe)?me.type==="variableAnchorOffsetCollection"&&Array.isArray(oe)&&(ke=Pi.parse(oe)):ke=ci.parse(oe),{kind:"constant",evaluate:()=>ke}}}(W===void 0?P.specification.default:W,P.specification)}isDataDriven(){return this.expression.kind==="source"||this.expression.kind==="composite"}possiblyEvaluate(P,W,oe){return this.property.possiblyEvaluate(this,P,W,oe)}}class yu{constructor(P){this.property=P,this.value=new ul(P,void 0)}transitioned(P,W){return new zu(this.property,this.value,W,E({},P.transition,this.transition),P.now)}untransitioned(){return new zu(this.property,this.value,null,{},0)}}class iu{constructor(P){this._properties=P,this._values=Object.create(P.defaultTransitionablePropertyValues)}getValue(P){return h(this._values[P].value.value)}setValue(P,W){Object.prototype.hasOwnProperty.call(this._values,P)||(this._values[P]=new yu(this._values[P].property)),this._values[P].value=new ul(this._values[P].property,W===null?void 0:h(W))}getTransition(P){return h(this._values[P].transition)}setTransition(P,W){Object.prototype.hasOwnProperty.call(this._values,P)||(this._values[P]=new yu(this._values[P].property)),this._values[P].transition=h(W)||void 0}serialize(){let P={};for(let W of Object.keys(this._values)){let oe=this.getValue(W);oe!==void 0&&(P[W]=oe);let me=this.getTransition(W);me!==void 0&&(P[`${W}-transition`]=me)}return P}transitioned(P,W){let oe=new Tl(this._properties);for(let me of Object.keys(this._values))oe._values[me]=this._values[me].transitioned(P,W._values[me]);return oe}untransitioned(){let P=new Tl(this._properties);for(let W of Object.keys(this._values))P._values[W]=this._values[W].untransitioned();return P}}class zu{constructor(P,W,oe,me,ke){this.property=P,this.value=W,this.begin=ke+me.delay||0,this.end=this.begin+me.duration||0,P.specification.transition&&(me.delay||me.duration)&&(this.prior=oe)}possiblyEvaluate(P,W,oe){let me=P.now||0,ke=this.value.possiblyEvaluate(P,W,oe),Pe=this.prior;if(Pe){if(me>this.end)return this.prior=null,ke;if(this.value.isDataDriven())return this.prior=null,ke;if(me=1)return 1;let vt=tt*tt,kt=vt*tt;return 4*(tt<.5?kt:3*(tt-vt)+kt-.75)}(Ge))}}return ke}}class Tl{constructor(P){this._properties=P,this._values=Object.create(P.defaultTransitioningPropertyValues)}possiblyEvaluate(P,W,oe){let me=new nc(this._properties);for(let ke of Object.keys(this._values))me._values[ke]=this._values[ke].possiblyEvaluate(P,W,oe);return me}hasTransition(){for(let P of Object.keys(this._values))if(this._values[P].prior)return!0;return!1}}class Eu{constructor(P){this._properties=P,this._values=Object.create(P.defaultPropertyValues)}hasValue(P){return this._values[P].value!==void 0}getValue(P){return h(this._values[P].value)}setValue(P,W){this._values[P]=new ul(this._values[P].property,W===null?void 0:h(W))}serialize(){let P={};for(let W of Object.keys(this._values)){let oe=this.getValue(W);oe!==void 0&&(P[W]=oe)}return P}possiblyEvaluate(P,W,oe){let me=new nc(this._properties);for(let ke of Object.keys(this._values))me._values[ke]=this._values[ke].possiblyEvaluate(P,W,oe);return me}}class Al{constructor(P,W,oe){this.property=P,this.value=W,this.parameters=oe}isConstant(){return this.value.kind==="constant"}constantOr(P){return this.value.kind==="constant"?this.value.value:P}evaluate(P,W,oe,me){return this.property.evaluate(this.value,this.parameters,P,W,oe,me)}}class nc{constructor(P){this._properties=P,this._values=Object.create(P.defaultPossiblyEvaluatedValues)}get(P){return this._values[P]}}class Xi{constructor(P){this.specification=P}possiblyEvaluate(P,W){if(P.isDataDriven())throw new Error("Value should not be data driven");return P.expression.evaluate(W)}interpolate(P,W,oe){let me=Si[this.specification.type];return me?me(P,W,oe):P}}class vo{constructor(P,W){this.specification=P,this.overrides=W}possiblyEvaluate(P,W,oe,me){return new Al(this,P.expression.kind==="constant"||P.expression.kind==="camera"?{kind:"constant",value:P.expression.evaluate(W,null,{},oe,me)}:P.expression,W)}interpolate(P,W,oe){if(P.value.kind!=="constant"||W.value.kind!=="constant")return P;if(P.value.value===void 0||W.value.value===void 0)return new Al(this,{kind:"constant",value:void 0},P.parameters);let me=Si[this.specification.type];if(me){let ke=me(P.value.value,W.value.value,oe);return new Al(this,{kind:"constant",value:ke},P.parameters)}return P}evaluate(P,W,oe,me,ke,Pe){return P.kind==="constant"?P.value:P.evaluate(W,oe,me,ke,Pe)}}class mf extends vo{possiblyEvaluate(P,W,oe,me){if(P.value===void 0)return new Al(this,{kind:"constant",value:void 0},W);if(P.expression.kind==="constant"){let ke=P.expression.evaluate(W,null,{},oe,me),Pe=P.property.specification.type==="resolvedImage"&&typeof ke!="string"?ke.name:ke,Ge=this._calculate(Pe,Pe,Pe,W);return new Al(this,{kind:"constant",value:Ge},W)}if(P.expression.kind==="camera"){let ke=this._calculate(P.expression.evaluate({zoom:W.zoom-1}),P.expression.evaluate({zoom:W.zoom}),P.expression.evaluate({zoom:W.zoom+1}),W);return new Al(this,{kind:"constant",value:ke},W)}return new Al(this,P.expression,W)}evaluate(P,W,oe,me,ke,Pe){if(P.kind==="source"){let Ge=P.evaluate(W,oe,me,ke,Pe);return this._calculate(Ge,Ge,Ge,W)}return P.kind==="composite"?this._calculate(P.evaluate({zoom:Math.floor(W.zoom)-1},oe,me),P.evaluate({zoom:Math.floor(W.zoom)},oe,me),P.evaluate({zoom:Math.floor(W.zoom)+1},oe,me),W):P.value}_calculate(P,W,oe,me){return me.zoom>me.zoomHistory.lastIntegerZoom?{from:P,to:W}:{from:oe,to:W}}interpolate(P){return P}}class kc{constructor(P){this.specification=P}possiblyEvaluate(P,W,oe,me){if(P.value!==void 0){if(P.expression.kind==="constant"){let ke=P.expression.evaluate(W,null,{},oe,me);return this._calculate(ke,ke,ke,W)}return this._calculate(P.expression.evaluate(new $o(Math.floor(W.zoom-1),W)),P.expression.evaluate(new $o(Math.floor(W.zoom),W)),P.expression.evaluate(new $o(Math.floor(W.zoom+1),W)),W)}}_calculate(P,W,oe,me){return me.zoom>me.zoomHistory.lastIntegerZoom?{from:P,to:W}:{from:oe,to:W}}interpolate(P){return P}}class ou{constructor(P){this.specification=P}possiblyEvaluate(P,W,oe,me){return!!P.expression.evaluate(W,null,{},oe,me)}interpolate(){return!1}}class Me{constructor(P){this.properties=P,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let W in P){let oe=P[W];oe.specification.overridable&&this.overridableProperties.push(W);let me=this.defaultPropertyValues[W]=new ul(oe,void 0),ke=this.defaultTransitionablePropertyValues[W]=new yu(oe);this.defaultTransitioningPropertyValues[W]=ke.untransitioned(),this.defaultPossiblyEvaluatedValues[W]=me.possiblyEvaluate({})}}}Pa("DataDrivenProperty",vo),Pa("DataConstantProperty",Xi),Pa("CrossFadedDataDrivenProperty",mf),Pa("CrossFadedProperty",kc),Pa("ColorRampProperty",ou);let L="-transition";class J extends Q{constructor(P,W){if(super(),this.id=P.id,this.type=P.type,this._featureFilter={filter:()=>!0,needGeometry:!1},P.type!=="custom"&&(this.metadata=P.metadata,this.minzoom=P.minzoom,this.maxzoom=P.maxzoom,P.type!=="background"&&(this.source=P.source,this.sourceLayer=P["source-layer"],this.filter=P.filter),W.layout&&(this._unevaluatedLayout=new Eu(W.layout)),W.paint)){this._transitionablePaint=new iu(W.paint);for(let oe in P.paint)this.setPaintProperty(oe,P.paint[oe],{validate:!1});for(let oe in P.layout)this.setLayoutProperty(oe,P.layout[oe],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new nc(W.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(P){return P==="visibility"?this.visibility:this._unevaluatedLayout.getValue(P)}setLayoutProperty(P,W,oe={}){W!=null&&this._validate(qn,`layers.${this.id}.layout.${P}`,P,W,oe)||(P!=="visibility"?this._unevaluatedLayout.setValue(P,W):this.visibility=W)}getPaintProperty(P){return P.endsWith(L)?this._transitionablePaint.getTransition(P.slice(0,-11)):this._transitionablePaint.getValue(P)}setPaintProperty(P,W,oe={}){if(W!=null&&this._validate(gn,`layers.${this.id}.paint.${P}`,P,W,oe))return!1;if(P.endsWith(L))return this._transitionablePaint.setTransition(P.slice(0,-11),W||void 0),!1;{let me=this._transitionablePaint._values[P],ke=me.property.specification["property-type"]==="cross-faded-data-driven",Pe=me.value.isDataDriven(),Ge=me.value;this._transitionablePaint.setValue(P,W),this._handleSpecialPaintPropertyUpdate(P);let tt=this._transitionablePaint._values[P].value;return tt.isDataDriven()||Pe||ke||this._handleOverridablePaintPropertyUpdate(P,Ge,tt)}}_handleSpecialPaintPropertyUpdate(P){}_handleOverridablePaintPropertyUpdate(P,W,oe){return!1}isHidden(P){return!!(this.minzoom&&P=this.maxzoom)||this.visibility==="none"}updateTransitions(P){this._transitioningPaint=this._transitionablePaint.transitioned(P,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(P,W){P.getCrossfadeParameters&&(this._crossfadeParameters=P.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(P,void 0,W)),this.paint=this._transitioningPaint.possiblyEvaluate(P,void 0,W)}serialize(){let P={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&&(P.layout=P.layout||{},P.layout.visibility=this.visibility),m(P,(W,oe)=>!(W===void 0||oe==="layout"&&!Object.keys(W).length||oe==="paint"&&!Object.keys(W).length))}_validate(P,W,oe,me,ke={}){return(!ke||ke.validate!==!1)&&Wa(this,P.call(Aa,{key:W,layerType:this.type,objectKey:oe,value:me,styleSpec:re,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let P in this.paint._values){let W=this.paint.get(P);if(W instanceof Al&&$s(W.property.specification)&&(W.value.kind==="source"||W.value.kind==="composite")&&W.value.isStateDependent)return!0}return!1}}let fe={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class de{constructor(P,W){this._structArray=P,this._pos1=W*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class Ae{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(P,W){return P._trim(),W&&(P.isTransferred=!0,W.push(P.arrayBuffer)),{length:P.length,arrayBuffer:P.arrayBuffer}}static deserialize(P){let W=Object.create(this.prototype);return W.arrayBuffer=P.arrayBuffer,W.length=P.length,W.capacity=P.arrayBuffer.byteLength/W.bytesPerElement,W._refreshViews(),W}_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(P){this.reserve(P),this.length=P}reserve(P){if(P>this.capacity){this.capacity=Math.max(P,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let W=this.uint8;this._refreshViews(),W&&this.uint8.set(W)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}}function Ye(V,P=1){let W=0,oe=0;return{members:V.map(me=>{let ke=fe[me.type].BYTES_PER_ELEMENT,Pe=W=et(W,Math.max(P,ke)),Ge=me.components||1;return oe=Math.max(oe,ke),W+=ke*Ge,{name:me.name,type:me.type,components:Ge,offset:Pe}}),size:et(W,Math.max(oe,P)),alignment:P}}function et(V,P){return Math.ceil(V/P)*P}class dt extends Ae{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(P,W){let oe=this.length;return this.resize(oe+1),this.emplace(oe,P,W)}emplace(P,W,oe){let me=2*P;return this.int16[me+0]=W,this.int16[me+1]=oe,P}}dt.prototype.bytesPerElement=4,Pa("StructArrayLayout2i4",dt);class St extends Ae{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(P,W,oe){let me=this.length;return this.resize(me+1),this.emplace(me,P,W,oe)}emplace(P,W,oe,me){let ke=3*P;return this.int16[ke+0]=W,this.int16[ke+1]=oe,this.int16[ke+2]=me,P}}St.prototype.bytesPerElement=6,Pa("StructArrayLayout3i6",St);class Ht extends Ae{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(P,W,oe,me){let ke=this.length;return this.resize(ke+1),this.emplace(ke,P,W,oe,me)}emplace(P,W,oe,me,ke){let Pe=4*P;return this.int16[Pe+0]=W,this.int16[Pe+1]=oe,this.int16[Pe+2]=me,this.int16[Pe+3]=ke,P}}Ht.prototype.bytesPerElement=8,Pa("StructArrayLayout4i8",Ht);class Wt extends Ae{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(P,W,oe,me,ke,Pe){let Ge=this.length;return this.resize(Ge+1),this.emplace(Ge,P,W,oe,me,ke,Pe)}emplace(P,W,oe,me,ke,Pe,Ge){let tt=6*P;return this.int16[tt+0]=W,this.int16[tt+1]=oe,this.int16[tt+2]=me,this.int16[tt+3]=ke,this.int16[tt+4]=Pe,this.int16[tt+5]=Ge,P}}Wt.prototype.bytesPerElement=12,Pa("StructArrayLayout2i4i12",Wt);class fr extends Ae{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(P,W,oe,me,ke,Pe){let Ge=this.length;return this.resize(Ge+1),this.emplace(Ge,P,W,oe,me,ke,Pe)}emplace(P,W,oe,me,ke,Pe,Ge){let tt=4*P,vt=8*P;return this.int16[tt+0]=W,this.int16[tt+1]=oe,this.uint8[vt+4]=me,this.uint8[vt+5]=ke,this.uint8[vt+6]=Pe,this.uint8[vt+7]=Ge,P}}fr.prototype.bytesPerElement=8,Pa("StructArrayLayout2i4ub8",fr);class Ar extends Ae{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(P,W){let oe=this.length;return this.resize(oe+1),this.emplace(oe,P,W)}emplace(P,W,oe){let me=2*P;return this.float32[me+0]=W,this.float32[me+1]=oe,P}}Ar.prototype.bytesPerElement=8,Pa("StructArrayLayout2f8",Ar);class Le extends Ae{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(P,W,oe,me,ke,Pe,Ge,tt,vt,kt){let Gt=this.length;return this.resize(Gt+1),this.emplace(Gt,P,W,oe,me,ke,Pe,Ge,tt,vt,kt)}emplace(P,W,oe,me,ke,Pe,Ge,tt,vt,kt,Gt){let tr=10*P;return this.uint16[tr+0]=W,this.uint16[tr+1]=oe,this.uint16[tr+2]=me,this.uint16[tr+3]=ke,this.uint16[tr+4]=Pe,this.uint16[tr+5]=Ge,this.uint16[tr+6]=tt,this.uint16[tr+7]=vt,this.uint16[tr+8]=kt,this.uint16[tr+9]=Gt,P}}Le.prototype.bytesPerElement=20,Pa("StructArrayLayout10ui20",Le);class ze extends Ae{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(P,W,oe,me,ke,Pe,Ge,tt,vt,kt,Gt,tr){let lr=this.length;return this.resize(lr+1),this.emplace(lr,P,W,oe,me,ke,Pe,Ge,tt,vt,kt,Gt,tr)}emplace(P,W,oe,me,ke,Pe,Ge,tt,vt,kt,Gt,tr,lr){let xr=12*P;return this.int16[xr+0]=W,this.int16[xr+1]=oe,this.int16[xr+2]=me,this.int16[xr+3]=ke,this.uint16[xr+4]=Pe,this.uint16[xr+5]=Ge,this.uint16[xr+6]=tt,this.uint16[xr+7]=vt,this.int16[xr+8]=kt,this.int16[xr+9]=Gt,this.int16[xr+10]=tr,this.int16[xr+11]=lr,P}}ze.prototype.bytesPerElement=24,Pa("StructArrayLayout4i4ui4i24",ze);class je extends Ae{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(P,W,oe){let me=this.length;return this.resize(me+1),this.emplace(me,P,W,oe)}emplace(P,W,oe,me){let ke=3*P;return this.float32[ke+0]=W,this.float32[ke+1]=oe,this.float32[ke+2]=me,P}}je.prototype.bytesPerElement=12,Pa("StructArrayLayout3f12",je);class Xe extends Ae{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(P){let W=this.length;return this.resize(W+1),this.emplace(W,P)}emplace(P,W){return this.uint32[1*P+0]=W,P}}Xe.prototype.bytesPerElement=4,Pa("StructArrayLayout1ul4",Xe);class st extends Ae{_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(P,W,oe,me,ke,Pe,Ge,tt,vt){let kt=this.length;return this.resize(kt+1),this.emplace(kt,P,W,oe,me,ke,Pe,Ge,tt,vt)}emplace(P,W,oe,me,ke,Pe,Ge,tt,vt,kt){let Gt=10*P,tr=5*P;return this.int16[Gt+0]=W,this.int16[Gt+1]=oe,this.int16[Gt+2]=me,this.int16[Gt+3]=ke,this.int16[Gt+4]=Pe,this.int16[Gt+5]=Ge,this.uint32[tr+3]=tt,this.uint16[Gt+8]=vt,this.uint16[Gt+9]=kt,P}}st.prototype.bytesPerElement=20,Pa("StructArrayLayout6i1ul2ui20",st);class Qe extends Ae{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(P,W,oe,me,ke,Pe){let Ge=this.length;return this.resize(Ge+1),this.emplace(Ge,P,W,oe,me,ke,Pe)}emplace(P,W,oe,me,ke,Pe,Ge){let tt=6*P;return this.int16[tt+0]=W,this.int16[tt+1]=oe,this.int16[tt+2]=me,this.int16[tt+3]=ke,this.int16[tt+4]=Pe,this.int16[tt+5]=Ge,P}}Qe.prototype.bytesPerElement=12,Pa("StructArrayLayout2i2i2i12",Qe);class ht extends Ae{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(P,W,oe,me,ke){let Pe=this.length;return this.resize(Pe+1),this.emplace(Pe,P,W,oe,me,ke)}emplace(P,W,oe,me,ke,Pe){let Ge=4*P,tt=8*P;return this.float32[Ge+0]=W,this.float32[Ge+1]=oe,this.float32[Ge+2]=me,this.int16[tt+6]=ke,this.int16[tt+7]=Pe,P}}ht.prototype.bytesPerElement=16,Pa("StructArrayLayout2f1f2i16",ht);class Dt extends Ae{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(P,W,oe,me,ke,Pe){let Ge=this.length;return this.resize(Ge+1),this.emplace(Ge,P,W,oe,me,ke,Pe)}emplace(P,W,oe,me,ke,Pe,Ge){let tt=16*P,vt=4*P,kt=8*P;return this.uint8[tt+0]=W,this.uint8[tt+1]=oe,this.float32[vt+1]=me,this.float32[vt+2]=ke,this.int16[kt+6]=Pe,this.int16[kt+7]=Ge,P}}Dt.prototype.bytesPerElement=16,Pa("StructArrayLayout2ub2f2i16",Dt);class Ot extends Ae{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(P,W,oe){let me=this.length;return this.resize(me+1),this.emplace(me,P,W,oe)}emplace(P,W,oe,me){let ke=3*P;return this.uint16[ke+0]=W,this.uint16[ke+1]=oe,this.uint16[ke+2]=me,P}}Ot.prototype.bytesPerElement=6,Pa("StructArrayLayout3ui6",Ot);class $t extends Ae{_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(P,W,oe,me,ke,Pe,Ge,tt,vt,kt,Gt,tr,lr,xr,Dr,sa,ga){let cn=this.length;return this.resize(cn+1),this.emplace(cn,P,W,oe,me,ke,Pe,Ge,tt,vt,kt,Gt,tr,lr,xr,Dr,sa,ga)}emplace(P,W,oe,me,ke,Pe,Ge,tt,vt,kt,Gt,tr,lr,xr,Dr,sa,ga,cn){let Da=24*P,en=12*P,zn=48*P;return this.int16[Da+0]=W,this.int16[Da+1]=oe,this.uint16[Da+2]=me,this.uint16[Da+3]=ke,this.uint32[en+2]=Pe,this.uint32[en+3]=Ge,this.uint32[en+4]=tt,this.uint16[Da+10]=vt,this.uint16[Da+11]=kt,this.uint16[Da+12]=Gt,this.float32[en+7]=tr,this.float32[en+8]=lr,this.uint8[zn+36]=xr,this.uint8[zn+37]=Dr,this.uint8[zn+38]=sa,this.uint32[en+10]=ga,this.int16[Da+22]=cn,P}}$t.prototype.bytesPerElement=48,Pa("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",$t);class ir extends Ae{_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(P,W,oe,me,ke,Pe,Ge,tt,vt,kt,Gt,tr,lr,xr,Dr,sa,ga,cn,Da,en,zn,mi,Ji,Uo,$i,qi,To,fo){let io=this.length;return this.resize(io+1),this.emplace(io,P,W,oe,me,ke,Pe,Ge,tt,vt,kt,Gt,tr,lr,xr,Dr,sa,ga,cn,Da,en,zn,mi,Ji,Uo,$i,qi,To,fo)}emplace(P,W,oe,me,ke,Pe,Ge,tt,vt,kt,Gt,tr,lr,xr,Dr,sa,ga,cn,Da,en,zn,mi,Ji,Uo,$i,qi,To,fo,io){let Kn=32*P,Eo=16*P;return this.int16[Kn+0]=W,this.int16[Kn+1]=oe,this.int16[Kn+2]=me,this.int16[Kn+3]=ke,this.int16[Kn+4]=Pe,this.int16[Kn+5]=Ge,this.int16[Kn+6]=tt,this.int16[Kn+7]=vt,this.uint16[Kn+8]=kt,this.uint16[Kn+9]=Gt,this.uint16[Kn+10]=tr,this.uint16[Kn+11]=lr,this.uint16[Kn+12]=xr,this.uint16[Kn+13]=Dr,this.uint16[Kn+14]=sa,this.uint16[Kn+15]=ga,this.uint16[Kn+16]=cn,this.uint16[Kn+17]=Da,this.uint16[Kn+18]=en,this.uint16[Kn+19]=zn,this.uint16[Kn+20]=mi,this.uint16[Kn+21]=Ji,this.uint16[Kn+22]=Uo,this.uint32[Eo+12]=$i,this.float32[Eo+13]=qi,this.float32[Eo+14]=To,this.uint16[Kn+30]=fo,this.uint16[Kn+31]=io,P}}ir.prototype.bytesPerElement=64,Pa("StructArrayLayout8i15ui1ul2f2ui64",ir);class pr extends Ae{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(P){let W=this.length;return this.resize(W+1),this.emplace(W,P)}emplace(P,W){return this.float32[1*P+0]=W,P}}pr.prototype.bytesPerElement=4,Pa("StructArrayLayout1f4",pr);class zr extends Ae{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(P,W,oe){let me=this.length;return this.resize(me+1),this.emplace(me,P,W,oe)}emplace(P,W,oe,me){let ke=3*P;return this.uint16[6*P+0]=W,this.float32[ke+1]=oe,this.float32[ke+2]=me,P}}zr.prototype.bytesPerElement=12,Pa("StructArrayLayout1ui2f12",zr);class Wr extends Ae{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(P,W,oe){let me=this.length;return this.resize(me+1),this.emplace(me,P,W,oe)}emplace(P,W,oe,me){let ke=4*P;return this.uint32[2*P+0]=W,this.uint16[ke+2]=oe,this.uint16[ke+3]=me,P}}Wr.prototype.bytesPerElement=8,Pa("StructArrayLayout1ul2ui8",Wr);class ia extends Ae{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(P,W){let oe=this.length;return this.resize(oe+1),this.emplace(oe,P,W)}emplace(P,W,oe){let me=2*P;return this.uint16[me+0]=W,this.uint16[me+1]=oe,P}}ia.prototype.bytesPerElement=4,Pa("StructArrayLayout2ui4",ia);class Sa extends Ae{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(P){let W=this.length;return this.resize(W+1),this.emplace(W,P)}emplace(P,W){return this.uint16[1*P+0]=W,P}}Sa.prototype.bytesPerElement=2,Pa("StructArrayLayout1ui2",Sa);class ln extends Ae{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(P,W,oe,me){let ke=this.length;return this.resize(ke+1),this.emplace(ke,P,W,oe,me)}emplace(P,W,oe,me,ke){let Pe=4*P;return this.float32[Pe+0]=W,this.float32[Pe+1]=oe,this.float32[Pe+2]=me,this.float32[Pe+3]=ke,P}}ln.prototype.bytesPerElement=16,Pa("StructArrayLayout4f16",ln);class an extends de{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)}}an.prototype.size=20;class wn extends st{get(P){return new an(this,P)}}Pa("CollisionBoxArray",wn);class ei extends de{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(P){this._structArray.uint8[this._pos1+37]=P}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(P){this._structArray.uint8[this._pos1+38]=P}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(P){this._structArray.uint32[this._pos4+10]=P}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}ei.prototype.size=48;class Mi extends $t{get(P){return new ei(this,P)}}Pa("PlacedSymbolArray",Mi);class pi extends de{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(P){this._structArray.uint32[this._pos4+12]=P}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]}}pi.prototype.size=64;class Ki extends ir{get(P){return new pi(this,P)}}Pa("SymbolInstanceArray",Ki);class Lo extends pr{getoffsetX(P){return this.float32[1*P+0]}}Pa("GlyphOffsetArray",Lo);class bo extends St{getx(P){return this.int16[3*P+0]}gety(P){return this.int16[3*P+1]}gettileUnitDistanceFromAnchor(P){return this.int16[3*P+2]}}Pa("SymbolLineVertexArray",bo);class ds extends de{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]}}ds.prototype.size=12;class Zo extends zr{get(P){return new ds(this,P)}}Pa("TextAnchorOffsetArray",Zo);class Is extends de{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]}}Is.prototype.size=8;class Ys extends Wr{get(P){return new Is(this,P)}}Pa("FeatureIndexArray",Ys);class Ks extends dt{}class ks extends dt{}class zs extends dt{}class Il extends Wt{}class _u extends fr{}class Xl extends Ar{}class il extends Le{}class ku extends ze{}class bu extends je{}class _l extends Xe{}class Dl extends Qe{}class le extends Dt{}class we extends Ot{}class Be extends ia{}let $e=Ye([{name:"a_pos",components:2,type:"Int16"}],4),{members:Je}=$e;class it{constructor(P=[]){this.segments=P}prepareSegment(P,W,oe,me){let ke=this.segments[this.segments.length-1];return P>it.MAX_VERTEX_ARRAY_LENGTH&&_(`Max vertices per segment is ${it.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${P}`),(!ke||ke.vertexLength+P>it.MAX_VERTEX_ARRAY_LENGTH||ke.sortKey!==me)&&(ke={vertexOffset:W.length,primitiveOffset:oe.length,vertexLength:0,primitiveLength:0},me!==void 0&&(ke.sortKey=me),this.segments.push(ke)),ke}get(){return this.segments}destroy(){for(let P of this.segments)for(let W in P.vaos)P.vaos[W].destroy()}static simpleSegment(P,W,oe,me){return new it([{vertexOffset:P,primitiveOffset:W,vertexLength:oe,primitiveLength:me,vaos:{},sortKey:0}])}}function Ct(V,P){return 256*(V=M(Math.floor(V),0,255))+M(Math.floor(P),0,255)}it.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Pa("SegmentVector",it);let bt=Ye([{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 qt={exports:{}},sr={exports:{}};sr.exports=function(V,P){var W,oe,me,ke,Pe,Ge,tt,vt;for(oe=V.length-(W=3&V.length),me=P,Pe=3432918353,Ge=461845907,vt=0;vt>>16)*Pe&65535)<<16)&4294967295)<<15|tt>>>17))*Ge+(((tt>>>16)*Ge&65535)<<16)&4294967295)<<13|me>>>19))+((5*(me>>>16)&65535)<<16)&4294967295))+((58964+(ke>>>16)&65535)<<16);switch(tt=0,W){case 3:tt^=(255&V.charCodeAt(vt+2))<<16;case 2:tt^=(255&V.charCodeAt(vt+1))<<8;case 1:me^=tt=(65535&(tt=(tt=(65535&(tt^=255&V.charCodeAt(vt)))*Pe+(((tt>>>16)*Pe&65535)<<16)&4294967295)<<15|tt>>>17))*Ge+(((tt>>>16)*Ge&65535)<<16)&4294967295}return me^=V.length,me=2246822507*(65535&(me^=me>>>16))+((2246822507*(me>>>16)&65535)<<16)&4294967295,me=3266489909*(65535&(me^=me>>>13))+((3266489909*(me>>>16)&65535)<<16)&4294967295,(me^=me>>>16)>>>0};var ur=sr.exports,qr={exports:{}};qr.exports=function(V,P){for(var W,oe=V.length,me=P^oe,ke=0;oe>=4;)W=1540483477*(65535&(W=255&V.charCodeAt(ke)|(255&V.charCodeAt(++ke))<<8|(255&V.charCodeAt(++ke))<<16|(255&V.charCodeAt(++ke))<<24))+((1540483477*(W>>>16)&65535)<<16),me=1540483477*(65535&me)+((1540483477*(me>>>16)&65535)<<16)^(W=1540483477*(65535&(W^=W>>>24))+((1540483477*(W>>>16)&65535)<<16)),oe-=4,++ke;switch(oe){case 3:me^=(255&V.charCodeAt(ke+2))<<16;case 2:me^=(255&V.charCodeAt(ke+1))<<8;case 1:me=1540483477*(65535&(me^=255&V.charCodeAt(ke)))+((1540483477*(me>>>16)&65535)<<16)}return me=1540483477*(65535&(me^=me>>>13))+((1540483477*(me>>>16)&65535)<<16),(me^=me>>>15)>>>0};var Nr=ur,ya=qr.exports;qt.exports=Nr,qt.exports.murmur3=Nr,qt.exports.murmur2=ya;var Ea=t(qt.exports);class Zr{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(P,W,oe,me){this.ids.push(oa(P)),this.positions.push(W,oe,me)}getPositions(P){if(!this.indexed)throw new Error("Trying to get index, but feature positions are not indexed");let W=oa(P),oe=0,me=this.ids.length-1;for(;oe>1;this.ids[Pe]>=W?me=Pe:oe=Pe+1}let ke=[];for(;this.ids[oe]===W;)ke.push({index:this.positions[3*oe],start:this.positions[3*oe+1],end:this.positions[3*oe+2]}),oe++;return ke}static serialize(P,W){let oe=new Float64Array(P.ids),me=new Uint32Array(P.positions);return ma(oe,me,0,oe.length-1),W&&W.push(oe.buffer,me.buffer),{ids:oe,positions:me}}static deserialize(P){let W=new Zr;return W.ids=P.ids,W.positions=P.positions,W.indexed=!0,W}}function oa(V){let P=+V;return!isNaN(P)&&P<=Number.MAX_SAFE_INTEGER?P:Ea(String(V))}function ma(V,P,W,oe){for(;W>1],ke=W-1,Pe=oe+1;for(;;){do ke++;while(V[ke]me);if(ke>=Pe)break;Ma(V,ke,Pe),Ma(P,3*ke,3*Pe),Ma(P,3*ke+1,3*Pe+1),Ma(P,3*ke+2,3*Pe+2)}Pe-W`u_${me}`),this.type=oe}setUniform(P,W,oe){P.set(oe.constantOr(this.value))}getBinding(P,W,oe){return this.type==="color"?new Bn(P,W):new aa(P,W)}}class Bi{constructor(P,W){this.uniformNames=W.map(oe=>`u_${oe}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(P,W){this.pixelRatioFrom=W.pixelRatio,this.pixelRatioTo=P.pixelRatio,this.patternFrom=W.tlbr,this.patternTo=P.tlbr}setUniform(P,W,oe,me){let ke=me==="u_pattern_to"?this.patternTo:me==="u_pattern_from"?this.patternFrom:me==="u_pixel_ratio_to"?this.pixelRatioTo:me==="u_pixel_ratio_from"?this.pixelRatioFrom:null;ke&&P.set(ke)}getBinding(P,W,oe){return oe.substr(0,9)==="u_pattern"?new Sn(P,W):new aa(P,W)}}class So{constructor(P,W,oe,me){this.expression=P,this.type=oe,this.maxValue=0,this.paintVertexAttributes=W.map(ke=>({name:`a_${ke}`,type:"Float32",components:oe==="color"?2:1,offset:0})),this.paintVertexArray=new me}populatePaintArray(P,W,oe,me,ke){let Pe=this.paintVertexArray.length,Ge=this.expression.evaluate(new $o(0),W,{},me,[],ke);this.paintVertexArray.resize(P),this._setPaintValue(Pe,P,Ge)}updatePaintArray(P,W,oe,me){let ke=this.expression.evaluate({zoom:0},oe,me);this._setPaintValue(P,W,ke)}_setPaintValue(P,W,oe){if(this.type==="color"){let me=xi(oe);for(let ke=P;ke`u_${Ge}_t`),this.type=oe,this.useIntegerZoom=me,this.zoom=ke,this.maxValue=0,this.paintVertexAttributes=W.map(Ge=>({name:`a_${Ge}`,type:"Float32",components:oe==="color"?4:2,offset:0})),this.paintVertexArray=new Pe}populatePaintArray(P,W,oe,me,ke){let Pe=this.expression.evaluate(new $o(this.zoom),W,{},me,[],ke),Ge=this.expression.evaluate(new $o(this.zoom+1),W,{},me,[],ke),tt=this.paintVertexArray.length;this.paintVertexArray.resize(P),this._setPaintValue(tt,P,Pe,Ge)}updatePaintArray(P,W,oe,me){let ke=this.expression.evaluate({zoom:this.zoom},oe,me),Pe=this.expression.evaluate({zoom:this.zoom+1},oe,me);this._setPaintValue(P,W,ke,Pe)}_setPaintValue(P,W,oe,me){if(this.type==="color"){let ke=xi(oe),Pe=xi(me);for(let Ge=P;Ge`#define HAS_UNIFORM_${me}`))}return P}getBinderAttributes(){let P=[];for(let W in this.binders){let oe=this.binders[W];if(oe instanceof So||oe instanceof Di)for(let me=0;me!0){this.programConfigurations={};for(let me of P)this.programConfigurations[me.id]=new Ts(me,W,oe);this.needsUpload=!1,this._featureMap=new Zr,this._bufferOffset=0}populatePaintArrays(P,W,oe,me,ke,Pe){for(let Ge in this.programConfigurations)this.programConfigurations[Ge].populatePaintArrays(P,W,me,ke,Pe);W.id!==void 0&&this._featureMap.add(W.id,oe,this._bufferOffset,P),this._bufferOffset=P,this.needsUpload=!0}updatePaintArrays(P,W,oe,me){for(let ke of oe)this.needsUpload=this.programConfigurations[ke.id].updatePaintArrays(P,this._featureMap,W,ke,me)||this.needsUpload}get(P){return this.programConfigurations[P]}upload(P){if(this.needsUpload){for(let W in this.programConfigurations)this.programConfigurations[W].upload(P);this.needsUpload=!1}}destroy(){for(let P in this.programConfigurations)this.programConfigurations[P].destroy()}}function Ds(V,P){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"]}[V]||[V.replace(`${P}-`,"").replace(/-/g,"_")]}function gi(V,P,W){let oe={color:{source:Ar,composite:ln},number:{source:pr,composite:Ar}},me=function(ke){return{"line-pattern":{source:il,composite:il},"fill-pattern":{source:il,composite:il},"fill-extrusion-pattern":{source:il,composite:il}}[ke]}(V);return me&&me[W]||oe[P][W]}Pa("ConstantBinder",Ui),Pa("CrossFadedConstantBinder",Bi),Pa("SourceExpressionBinder",So),Pa("CrossFadedCompositeBinder",mo),Pa("CompositeExpressionBinder",Di),Pa("ProgramConfiguration",Ts,{omit:["_buffers"]}),Pa("ProgramConfigurationSet",al);let Qi=8192,Oo=Math.pow(2,14)-1,gs=-Oo-1;function Bs(V){let P=Qi/V.extent,W=V.loadGeometry();for(let oe=0;oePe.x+1||ttPe.y+1)&&_("Geometry exceeds allowed extent, reduce your vector tile buffer size")}}return W}function cl(V,P){return{type:V.type,id:V.id,properties:V.properties,geometry:P?Bs(V):[]}}function su(V,P,W,oe,me){V.emplaceBack(2*P+(oe+1)/2,2*W+(me+1)/2)}class xu{constructor(P){this.zoom=P.zoom,this.overscaling=P.overscaling,this.layers=P.layers,this.layerIds=this.layers.map(W=>W.id),this.index=P.index,this.hasPattern=!1,this.layoutVertexArray=new ks,this.indexArray=new we,this.segments=new it,this.programConfigurations=new al(P.layers,P.zoom),this.stateDependentLayerIds=this.layers.filter(W=>W.isStateDependent()).map(W=>W.id)}populate(P,W,oe){let me=this.layers[0],ke=[],Pe=null,Ge=!1;me.type==="circle"&&(Pe=me.layout.get("circle-sort-key"),Ge=!Pe.isConstant());for(let{feature:tt,id:vt,index:kt,sourceLayerIndex:Gt}of P){let tr=this.layers[0]._featureFilter.needGeometry,lr=cl(tt,tr);if(!this.layers[0]._featureFilter.filter(new $o(this.zoom),lr,oe))continue;let xr=Ge?Pe.evaluate(lr,{},oe):void 0,Dr={id:vt,properties:tt.properties,type:tt.type,sourceLayerIndex:Gt,index:kt,geometry:tr?lr.geometry:Bs(tt),patterns:{},sortKey:xr};ke.push(Dr)}Ge&&ke.sort((tt,vt)=>tt.sortKey-vt.sortKey);for(let tt of ke){let{geometry:vt,index:kt,sourceLayerIndex:Gt}=tt,tr=P[kt].feature;this.addFeature(tt,vt,kt,oe),W.featureIndex.insert(tr,vt,kt,Gt,this.index)}}update(P,W,oe){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(P,W,this.stateDependentLayers,oe)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(P){this.uploaded||(this.layoutVertexBuffer=P.createVertexBuffer(this.layoutVertexArray,Je),this.indexBuffer=P.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(P),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(P,W,oe,me){for(let ke of W)for(let Pe of ke){let Ge=Pe.x,tt=Pe.y;if(Ge<0||Ge>=Qi||tt<0||tt>=Qi)continue;let vt=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,P.sortKey),kt=vt.vertexLength;su(this.layoutVertexArray,Ge,tt,-1,-1),su(this.layoutVertexArray,Ge,tt,1,-1),su(this.layoutVertexArray,Ge,tt,1,1),su(this.layoutVertexArray,Ge,tt,-1,1),this.indexArray.emplaceBack(kt,kt+1,kt+2),this.indexArray.emplaceBack(kt,kt+3,kt+2),vt.vertexLength+=4,vt.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,P,oe,{},me)}}function ic(V,P){for(let W=0;W1){if(Er(V,P))return!0;for(let oe=0;oe1?W:W.sub(P)._mult(me)._add(P))}function _a(V,P){let W,oe,me,ke=!1;for(let Pe=0;PeP.y!=me.y>P.y&&P.x<(me.x-oe.x)*(P.y-oe.y)/(me.y-oe.y)+oe.x&&(ke=!ke)}return ke}function Ra(V,P){let W=!1;for(let oe=0,me=V.length-1;oeP.y!=Pe.y>P.y&&P.x<(Pe.x-ke.x)*(P.y-ke.y)/(Pe.y-ke.y)+ke.x&&(W=!W)}return W}function Ba(V,P,W){let oe=W[0],me=W[2];if(V.xme.x&&P.x>me.x||V.yme.y&&P.y>me.y)return!1;let ke=D(V,P,W[0]);return ke!==D(V,P,W[1])||ke!==D(V,P,W[2])||ke!==D(V,P,W[3])}function Ua(V,P,W){let oe=P.paint.get(V).value;return oe.kind==="constant"?oe.value:W.programConfigurations.get(P.id).getMaxValue(V)}function Wn(V){return Math.sqrt(V[0]*V[0]+V[1]*V[1])}function Tn(V,P,W,oe,me){if(!P[0]&&!P[1])return V;let ke=n.convert(P)._mult(me);W==="viewport"&&ke._rotate(-oe);let Pe=[];for(let Ge=0;Gela(sa,Dr))}(vt,tt),lr=Gt?kt*Ge:kt;for(let xr of me)for(let Dr of xr){let sa=Gt?Dr:la(Dr,tt),ga=lr,cn=Hn([],[Dr.x,Dr.y,0,1],tt);if(this.paint.get("circle-pitch-scale")==="viewport"&&this.paint.get("circle-pitch-alignment")==="map"?ga*=cn[3]/Pe.cameraToCenterDistance:this.paint.get("circle-pitch-scale")==="map"&&this.paint.get("circle-pitch-alignment")==="viewport"&&(ga*=Pe.cameraToCenterDistance/cn[3]),Ve(tr,sa,ga))return!0}return!1}}function la(V,P){let W=Hn([],[V.x,V.y,0,1],P);return new n(W[0]/W[3],W[1]/W[3])}class vn extends xu{}let Za;Pa("HeatmapBucket",vn,{omit:["layers"]});var qa={get paint(){return Za=Za||new Me({"heatmap-radius":new vo(re.paint_heatmap["heatmap-radius"]),"heatmap-weight":new vo(re.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new Xi(re.paint_heatmap["heatmap-intensity"]),"heatmap-color":new ou(re.paint_heatmap["heatmap-color"]),"heatmap-opacity":new Xi(re.paint_heatmap["heatmap-opacity"])})}};function Ha(V,{width:P,height:W},oe,me){if(me){if(me instanceof Uint8ClampedArray)me=new Uint8Array(me.buffer);else if(me.length!==P*W*oe)throw new RangeError(`mismatched image size. expected: ${me.length} but got: ${P*W*oe}`)}else me=new Uint8Array(P*W*oe);return V.width=P,V.height=W,V.data=me,V}function pn(V,{width:P,height:W},oe){if(P===V.width&&W===V.height)return;let me=Ha({},{width:P,height:W},oe);Yn(V,me,{x:0,y:0},{x:0,y:0},{width:Math.min(V.width,P),height:Math.min(V.height,W)},oe),V.width=P,V.height=W,V.data=me.data}function Yn(V,P,W,oe,me,ke){if(me.width===0||me.height===0)return P;if(me.width>V.width||me.height>V.height||W.x>V.width-me.width||W.y>V.height-me.height)throw new RangeError("out of range source coordinates for image copy");if(me.width>P.width||me.height>P.height||oe.x>P.width-me.width||oe.y>P.height-me.height)throw new RangeError("out of range destination coordinates for image copy");let Pe=V.data,Ge=P.data;if(Pe===Ge)throw new Error("srcData equals dstData, so image is already copied");for(let tt=0;tt{P[V.evaluationKey]=tt;let vt=V.expression.evaluate(P);me.data[Pe+Ge+0]=Math.floor(255*vt.r/vt.a),me.data[Pe+Ge+1]=Math.floor(255*vt.g/vt.a),me.data[Pe+Ge+2]=Math.floor(255*vt.b/vt.a),me.data[Pe+Ge+3]=Math.floor(255*vt.a)};if(V.clips)for(let Pe=0,Ge=0;Pe80*W){Ge=1/0,tt=1/0;let kt=-1/0,Gt=-1/0;for(let tr=W;trkt&&(kt=lr),xr>Gt&&(Gt=xr)}vt=Math.max(kt-Ge,Gt-tt),vt=vt!==0?32767/vt:0}return nl(ke,Pe,W,Ge,tt,vt,0),Pe}function Js(V,P,W,oe,me){let ke;if(me===function(Pe,Ge,tt,vt){let kt=0;for(let Gt=Ge,tr=tt-vt;Gt0)for(let Pe=P;Pe=P;Pe-=oe)ke=kn(Pe/oe|0,V[Pe],V[Pe+1],ke);return ke&&Lt(ke,ke.next)&&(wt(ke),ke=ke.next),ke}function Ns(V,P){if(!V)return V;P||(P=V);let W,oe=V;do if(W=!1,oe.steiner||!Lt(oe,oe.next)&&lo(oe.prev,oe,oe.next)!==0)oe=oe.next;else{if(wt(oe),oe=P=oe.prev,oe===oe.next)break;W=!0}while(W||oe!==P);return P}function nl(V,P,W,oe,me,ke,Pe){if(!V)return;!Pe&&ke&&function(tt,vt,kt,Gt){let tr=tt;do tr.z===0&&(tr.z=hl(tr.x,tr.y,vt,kt,Gt)),tr.prevZ=tr.prev,tr.nextZ=tr.next,tr=tr.next;while(tr!==tt);tr.prevZ.nextZ=null,tr.prevZ=null,function(lr){let xr,Dr=1;do{let sa,ga=lr;lr=null;let cn=null;for(xr=0;ga;){xr++;let Da=ga,en=0;for(let mi=0;mi0||zn>0&&Da;)en!==0&&(zn===0||!Da||ga.z<=Da.z)?(sa=ga,ga=ga.nextZ,en--):(sa=Da,Da=Da.nextZ,zn--),cn?cn.nextZ=sa:lr=sa,sa.prevZ=cn,cn=sa;ga=Da}cn.nextZ=null,Dr*=2}while(xr>1)}(tr)}(V,oe,me,ke);let Ge=V;for(;V.prev!==V.next;){let tt=V.prev,vt=V.next;if(ke?Ms(V,oe,me,ke):As(V))P.push(tt.i,V.i,vt.i),wt(V),V=vt.next,Ge=vt.next;else if((V=vt)===Ge){Pe?Pe===1?nl(V=Ps(Ns(V),P),P,W,oe,me,ke,2):Pe===2&&Ai(V,P,W,oe,me,ke):nl(Ns(V),P,W,oe,me,ke,1);break}}}function As(V){let P=V.prev,W=V,oe=V.next;if(lo(P,W,oe)>=0)return!1;let me=P.x,ke=W.x,Pe=oe.x,Ge=P.y,tt=W.y,vt=oe.y,kt=meke?me>Pe?me:Pe:ke>Pe?ke:Pe,lr=Ge>tt?Ge>vt?Ge:vt:tt>vt?tt:vt,xr=oe.next;for(;xr!==P;){if(xr.x>=kt&&xr.x<=tr&&xr.y>=Gt&&xr.y<=lr&&di(me,Ge,ke,tt,Pe,vt,xr.x,xr.y)&&lo(xr.prev,xr,xr.next)>=0)return!1;xr=xr.next}return!0}function Ms(V,P,W,oe){let me=V.prev,ke=V,Pe=V.next;if(lo(me,ke,Pe)>=0)return!1;let Ge=me.x,tt=ke.x,vt=Pe.x,kt=me.y,Gt=ke.y,tr=Pe.y,lr=Gett?Ge>vt?Ge:vt:tt>vt?tt:vt,sa=kt>Gt?kt>tr?kt:tr:Gt>tr?Gt:tr,ga=hl(lr,xr,P,W,oe),cn=hl(Dr,sa,P,W,oe),Da=V.prevZ,en=V.nextZ;for(;Da&&Da.z>=ga&&en&&en.z<=cn;){if(Da.x>=lr&&Da.x<=Dr&&Da.y>=xr&&Da.y<=sa&&Da!==me&&Da!==Pe&&di(Ge,kt,tt,Gt,vt,tr,Da.x,Da.y)&&lo(Da.prev,Da,Da.next)>=0||(Da=Da.prevZ,en.x>=lr&&en.x<=Dr&&en.y>=xr&&en.y<=sa&&en!==me&&en!==Pe&&di(Ge,kt,tt,Gt,vt,tr,en.x,en.y)&&lo(en.prev,en,en.next)>=0))return!1;en=en.nextZ}for(;Da&&Da.z>=ga;){if(Da.x>=lr&&Da.x<=Dr&&Da.y>=xr&&Da.y<=sa&&Da!==me&&Da!==Pe&&di(Ge,kt,tt,Gt,vt,tr,Da.x,Da.y)&&lo(Da.prev,Da,Da.next)>=0)return!1;Da=Da.prevZ}for(;en&&en.z<=cn;){if(en.x>=lr&&en.x<=Dr&&en.y>=xr&&en.y<=sa&&en!==me&&en!==Pe&&di(Ge,kt,tt,Gt,vt,tr,en.x,en.y)&&lo(en.prev,en,en.next)>=0)return!1;en=en.nextZ}return!0}function Ps(V,P){let W=V;do{let oe=W.prev,me=W.next.next;!Lt(oe,me)&&Vr(oe,W,W.next,me)&&Hi(oe,me)&&Hi(me,oe)&&(P.push(oe.i,W.i,me.i),wt(W),wt(W.next),W=V=me),W=W.next}while(W!==V);return Ns(W)}function Ai(V,P,W,oe,me,ke){let Pe=V;do{let Ge=Pe.next.next;for(;Ge!==Pe.prev;){if(Pe.i!==Ge.i&&eo(Pe,Ge)){let tt=zo(Pe,Ge);return Pe=Ns(Pe,Pe.next),tt=Ns(tt,tt.next),nl(Pe,P,W,oe,me,ke,0),void nl(tt,P,W,oe,me,ke,0)}Ge=Ge.next}Pe=Pe.next}while(Pe!==V)}function Os(V,P){return V.x-P.x}function jo(V,P){let W=function(me,ke){let Pe=ke,Ge=me.x,tt=me.y,vt,kt=-1/0;do{if(tt<=Pe.y&&tt>=Pe.next.y&&Pe.next.y!==Pe.y){let Dr=Pe.x+(tt-Pe.y)*(Pe.next.x-Pe.x)/(Pe.next.y-Pe.y);if(Dr<=Ge&&Dr>kt&&(kt=Dr,vt=Pe.x=Pe.x&&Pe.x>=tr&&Ge!==Pe.x&&di(ttvt.x||Pe.x===vt.x&&fl(vt,Pe)))&&(vt=Pe,xr=Dr)}Pe=Pe.next}while(Pe!==Gt);return vt}(V,P);if(!W)return P;let oe=zo(W,V);return Ns(oe,oe.next),Ns(W,W.next)}function fl(V,P){return lo(V.prev,V,P.prev)<0&&lo(P.next,V,V.next)<0}function hl(V,P,W,oe,me){return(V=1431655765&((V=858993459&((V=252645135&((V=16711935&((V=(V-W)*me|0)|V<<8))|V<<4))|V<<2))|V<<1))|(P=1431655765&((P=858993459&((P=252645135&((P=16711935&((P=(P-oe)*me|0)|P<<8))|P<<4))|P<<2))|P<<1))<<1}function Sl(V){let P=V,W=V;do(P.x=(V-Pe)*(ke-Ge)&&(V-Pe)*(oe-Ge)>=(W-Pe)*(P-Ge)&&(W-Pe)*(ke-Ge)>=(me-Pe)*(oe-Ge)}function eo(V,P){return V.next.i!==P.i&&V.prev.i!==P.i&&!function(W,oe){let me=W;do{if(me.i!==W.i&&me.next.i!==W.i&&me.i!==oe.i&&me.next.i!==oe.i&&Vr(me,me.next,W,oe))return!0;me=me.next}while(me!==W);return!1}(V,P)&&(Hi(V,P)&&Hi(P,V)&&function(W,oe){let me=W,ke=!1,Pe=(W.x+oe.x)/2,Ge=(W.y+oe.y)/2;do me.y>Ge!=me.next.y>Ge&&me.next.y!==me.y&&Pe<(me.next.x-me.x)*(Ge-me.y)/(me.next.y-me.y)+me.x&&(ke=!ke),me=me.next;while(me!==W);return ke}(V,P)&&(lo(V.prev,V,P.prev)||lo(V,P.prev,P))||Lt(V,P)&&lo(V.prev,V,V.next)>0&&lo(P.prev,P,P.next)>0)}function lo(V,P,W){return(P.y-V.y)*(W.x-P.x)-(P.x-V.x)*(W.y-P.y)}function Lt(V,P){return V.x===P.x&&V.y===P.y}function Vr(V,P,W,oe){let me=En(lo(V,P,W)),ke=En(lo(V,P,oe)),Pe=En(lo(W,oe,V)),Ge=En(lo(W,oe,P));return me!==ke&&Pe!==Ge||!(me!==0||!Gr(V,W,P))||!(ke!==0||!Gr(V,oe,P))||!(Pe!==0||!Gr(W,V,oe))||!(Ge!==0||!Gr(W,P,oe))}function Gr(V,P,W){return P.x<=Math.max(V.x,W.x)&&P.x>=Math.min(V.x,W.x)&&P.y<=Math.max(V.y,W.y)&&P.y>=Math.min(V.y,W.y)}function En(V){return V>0?1:V<0?-1:0}function Hi(V,P){return lo(V.prev,V,V.next)<0?lo(V,P,V.next)>=0&&lo(V,V.prev,P)>=0:lo(V,P,V.prev)<0||lo(V,V.next,P)<0}function zo(V,P){let W=Rt(V.i,V.x,V.y),oe=Rt(P.i,P.x,P.y),me=V.next,ke=P.prev;return V.next=P,P.prev=V,W.next=me,me.prev=W,oe.next=W,W.prev=oe,ke.next=oe,oe.prev=ke,oe}function kn(V,P,W,oe){let me=Rt(V,P,W);return oe?(me.next=oe.next,me.prev=oe,oe.next.prev=me,oe.next=me):(me.prev=me,me.next=me),me}function wt(V){V.next.prev=V.prev,V.prev.next=V.next,V.prevZ&&(V.prevZ.nextZ=V.nextZ),V.nextZ&&(V.nextZ.prevZ=V.prevZ)}function Rt(V,P,W){return{i:V,x:P,y:W,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function Kt(V,P,W){let oe=W.patternDependencies,me=!1;for(let ke of P){let Pe=ke.paint.get(`${V}-pattern`);Pe.isConstant()||(me=!0);let Ge=Pe.constantOr(null);Ge&&(me=!0,oe[Ge.to]=!0,oe[Ge.from]=!0)}return me}function Or(V,P,W,oe,me){let ke=me.patternDependencies;for(let Pe of P){let Ge=Pe.paint.get(`${V}-pattern`).value;if(Ge.kind!=="constant"){let tt=Ge.evaluate({zoom:oe-1},W,{},me.availableImages),vt=Ge.evaluate({zoom:oe},W,{},me.availableImages),kt=Ge.evaluate({zoom:oe+1},W,{},me.availableImages);tt=tt&&tt.name?tt.name:tt,vt=vt&&vt.name?vt.name:vt,kt=kt&&kt.name?kt.name:kt,ke[tt]=!0,ke[vt]=!0,ke[kt]=!0,W.patterns[Pe.id]={min:tt,mid:vt,max:kt}}}return W}class Jr{constructor(P){this.zoom=P.zoom,this.overscaling=P.overscaling,this.layers=P.layers,this.layerIds=this.layers.map(W=>W.id),this.index=P.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new zs,this.indexArray=new we,this.indexArray2=new Be,this.programConfigurations=new al(P.layers,P.zoom),this.segments=new it,this.segments2=new it,this.stateDependentLayerIds=this.layers.filter(W=>W.isStateDependent()).map(W=>W.id)}populate(P,W,oe){this.hasPattern=Kt("fill",this.layers,W);let me=this.layers[0].layout.get("fill-sort-key"),ke=!me.isConstant(),Pe=[];for(let{feature:Ge,id:tt,index:vt,sourceLayerIndex:kt}of P){let Gt=this.layers[0]._featureFilter.needGeometry,tr=cl(Ge,Gt);if(!this.layers[0]._featureFilter.filter(new $o(this.zoom),tr,oe))continue;let lr=ke?me.evaluate(tr,{},oe,W.availableImages):void 0,xr={id:tt,properties:Ge.properties,type:Ge.type,sourceLayerIndex:kt,index:vt,geometry:Gt?tr.geometry:Bs(Ge),patterns:{},sortKey:lr};Pe.push(xr)}ke&&Pe.sort((Ge,tt)=>Ge.sortKey-tt.sortKey);for(let Ge of Pe){let{geometry:tt,index:vt,sourceLayerIndex:kt}=Ge;if(this.hasPattern){let Gt=Or("fill",this.layers,Ge,this.zoom,W);this.patternFeatures.push(Gt)}else this.addFeature(Ge,tt,vt,oe,{});W.featureIndex.insert(P[vt].feature,tt,vt,kt,this.index)}}update(P,W,oe){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(P,W,this.stateDependentLayers,oe)}addFeatures(P,W,oe){for(let me of this.patternFeatures)this.addFeature(me,me.geometry,me.index,W,oe)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(P){this.uploaded||(this.layoutVertexBuffer=P.createVertexBuffer(this.layoutVertexArray,Ml),this.indexBuffer=P.createIndexBuffer(this.indexArray),this.indexBuffer2=P.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(P),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(P,W,oe,me,ke){for(let Pe of du(W,500)){let Ge=0;for(let lr of Pe)Ge+=lr.length;let tt=this.segments.prepareSegment(Ge,this.layoutVertexArray,this.indexArray),vt=tt.vertexLength,kt=[],Gt=[];for(let lr of Pe){if(lr.length===0)continue;lr!==Pe[0]&&Gt.push(kt.length/2);let xr=this.segments2.prepareSegment(lr.length,this.layoutVertexArray,this.indexArray2),Dr=xr.vertexLength;this.layoutVertexArray.emplaceBack(lr[0].x,lr[0].y),this.indexArray2.emplaceBack(Dr+lr.length-1,Dr),kt.push(lr[0].x),kt.push(lr[0].y);for(let sa=1;sa>3}if(me--,oe===1||oe===2)ke+=V.readSVarint(),Pe+=V.readSVarint(),oe===1&&(P&&Ge.push(P),P=[]),P.push(new xa(ke,Pe));else{if(oe!==7)throw new Error("unknown command "+oe);P&&P.push(P[0].clone())}}return P&&Ge.push(P),Ge},mn.prototype.bbox=function(){var V=this._pbf;V.pos=this._geometry;for(var P=V.readVarint()+V.pos,W=1,oe=0,me=0,ke=0,Pe=1/0,Ge=-1/0,tt=1/0,vt=-1/0;V.pos>3}if(oe--,W===1||W===2)(me+=V.readSVarint())Ge&&(Ge=me),(ke+=V.readSVarint())vt&&(vt=ke);else if(W!==7)throw new Error("unknown command "+W)}return[Pe,tt,Ge,vt]},mn.prototype.toGeoJSON=function(V,P,W){var oe,me,ke=this.extent*Math.pow(2,W),Pe=this.extent*V,Ge=this.extent*P,tt=this.loadGeometry(),vt=mn.types[this.type];function kt(lr){for(var xr=0;xr>3;me=Pe===1?oe.readString():Pe===2?oe.readFloat():Pe===3?oe.readDouble():Pe===4?oe.readVarint64():Pe===5?oe.readVarint():Pe===6?oe.readSVarint():Pe===7?oe.readBoolean():null}return me}(W))}hn.prototype.feature=function(V){if(V<0||V>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[V];var P=this._pbf.readVarint()+this._pbf.pos;return new On(this._pbf,P,this.extent,this._keys,this._values)};var In=Fn;function fi(V,P,W){if(V===3){var oe=new In(W,W.readVarint()+W.pos);oe.length&&(P[oe.name]=oe)}}ta.VectorTile=function(V,P){this.layers=V.readFields(fi,{},P)},ta.VectorTileFeature=Zn,ta.VectorTileLayer=Fn;let Ko=ta.VectorTileFeature.types,dl=Math.pow(2,13);function Cu(V,P,W,oe,me,ke,Pe,Ge){V.emplaceBack(P,W,2*Math.floor(oe*dl)+Pe,me*dl*2,ke*dl*2,Math.round(Ge))}class pc{constructor(P){this.zoom=P.zoom,this.overscaling=P.overscaling,this.layers=P.layers,this.layerIds=this.layers.map(W=>W.id),this.index=P.index,this.hasPattern=!1,this.layoutVertexArray=new Il,this.centroidVertexArray=new Ks,this.indexArray=new we,this.programConfigurations=new al(P.layers,P.zoom),this.segments=new it,this.stateDependentLayerIds=this.layers.filter(W=>W.isStateDependent()).map(W=>W.id)}populate(P,W,oe){this.features=[],this.hasPattern=Kt("fill-extrusion",this.layers,W);for(let{feature:me,id:ke,index:Pe,sourceLayerIndex:Ge}of P){let tt=this.layers[0]._featureFilter.needGeometry,vt=cl(me,tt);if(!this.layers[0]._featureFilter.filter(new $o(this.zoom),vt,oe))continue;let kt={id:ke,sourceLayerIndex:Ge,index:Pe,geometry:tt?vt.geometry:Bs(me),properties:me.properties,type:me.type,patterns:{}};this.hasPattern?this.features.push(Or("fill-extrusion",this.layers,kt,this.zoom,W)):this.addFeature(kt,kt.geometry,Pe,oe,{}),W.featureIndex.insert(me,kt.geometry,Pe,Ge,this.index,!0)}}addFeatures(P,W,oe){for(let me of this.features){let{geometry:ke}=me;this.addFeature(me,ke,me.index,W,oe)}}update(P,W,oe){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(P,W,this.stateDependentLayers,oe)}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(P){this.uploaded||(this.layoutVertexBuffer=P.createVertexBuffer(this.layoutVertexArray,Cr),this.centroidVertexBuffer=P.createVertexBuffer(this.centroidVertexArray,Nt.members,!0),this.indexBuffer=P.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(P),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(P,W,oe,me,ke){for(let Pe of du(W,500)){let Ge={x:0,y:0,vertexCount:0},tt=0;for(let xr of Pe)tt+=xr.length;let vt=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(let xr of Pe){if(xr.length===0||lu(xr))continue;let Dr=0;for(let sa=0;sa=1){let cn=xr[sa-1];if(!Gc(ga,cn)){vt.vertexLength+4>it.MAX_VERTEX_ARRAY_LENGTH&&(vt=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let Da=ga.sub(cn)._perp()._unit(),en=cn.dist(ga);Dr+en>32768&&(Dr=0),Cu(this.layoutVertexArray,ga.x,ga.y,Da.x,Da.y,0,0,Dr),Cu(this.layoutVertexArray,ga.x,ga.y,Da.x,Da.y,0,1,Dr),Ge.x+=2*ga.x,Ge.y+=2*ga.y,Ge.vertexCount+=2,Dr+=en,Cu(this.layoutVertexArray,cn.x,cn.y,Da.x,Da.y,0,0,Dr),Cu(this.layoutVertexArray,cn.x,cn.y,Da.x,Da.y,0,1,Dr),Ge.x+=2*cn.x,Ge.y+=2*cn.y,Ge.vertexCount+=2;let zn=vt.vertexLength;this.indexArray.emplaceBack(zn,zn+2,zn+1),this.indexArray.emplaceBack(zn+1,zn+2,zn+3),vt.vertexLength+=4,vt.primitiveLength+=2}}}}if(vt.vertexLength+tt>it.MAX_VERTEX_ARRAY_LENGTH&&(vt=this.segments.prepareSegment(tt,this.layoutVertexArray,this.indexArray)),Ko[P.type]!=="Polygon")continue;let kt=[],Gt=[],tr=vt.vertexLength;for(let xr of Pe)if(xr.length!==0){xr!==Pe[0]&&Gt.push(kt.length/2);for(let Dr=0;DrQi)||V.y===P.y&&(V.y<0||V.y>Qi)}function lu(V){return V.every(P=>P.x<0)||V.every(P=>P.x>Qi)||V.every(P=>P.y<0)||V.every(P=>P.y>Qi)}let $f;Pa("FillExtrusionBucket",pc,{omit:["layers","features"]});var pP={get paint(){return $f=$f||new Me({"fill-extrusion-opacity":new Xi(re["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new vo(re["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new Xi(re["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new Xi(re["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new mf(re["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new vo(re["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new vo(re["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new Xi(re["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})}};class mP extends J{constructor(P){super(P,pP)}createBucket(P){return new pc(P)}queryRadius(){return Wn(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature(P,W,oe,me,ke,Pe,Ge,tt){let vt=Tn(P,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),Pe.angle,Ge),kt=this.paint.get("fill-extrusion-height").evaluate(W,oe),Gt=this.paint.get("fill-extrusion-base").evaluate(W,oe),tr=function(xr,Dr,sa,ga){let cn=[];for(let Da of xr){let en=[Da.x,Da.y,0,1];Hn(en,en,Dr),cn.push(new n(en[0]/en[3],en[1]/en[3]))}return cn}(vt,tt),lr=function(xr,Dr,sa,ga){let cn=[],Da=[],en=ga[8]*Dr,zn=ga[9]*Dr,mi=ga[10]*Dr,Ji=ga[11]*Dr,Uo=ga[8]*sa,$i=ga[9]*sa,qi=ga[10]*sa,To=ga[11]*sa;for(let fo of xr){let io=[],Kn=[];for(let Eo of fo){let xo=Eo.x,Qo=Eo.y,Rl=ga[0]*xo+ga[4]*Qo+ga[12],kl=ga[1]*xo+ga[5]*Qo+ga[13],Cc=ga[2]*xo+ga[6]*Qo+ga[14],lh=ga[3]*xo+ga[7]*Qo+ga[15],cf=Cc+mi,Lc=lh+Ji,Pf=Rl+Uo,If=kl+$i,Df=Cc+qi,Bu=lh+To,Pc=new n((Rl+en)/Lc,(kl+zn)/Lc);Pc.z=cf/Lc,io.push(Pc);let gf=new n(Pf/Bu,If/Bu);gf.z=Df/Bu,Kn.push(gf)}cn.push(io),Da.push(Kn)}return[cn,Da]}(me,Gt,kt,tt);return function(xr,Dr,sa){let ga=1/0;Pt(sa,Dr)&&(ga=Rw(sa,Dr[0]));for(let cn=0;cnW.id),this.index=P.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(W=>{this.gradients[W.id]={}}),this.layoutVertexArray=new _u,this.layoutVertexArray2=new Xl,this.indexArray=new we,this.programConfigurations=new al(P.layers,P.zoom),this.segments=new it,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(W=>W.isStateDependent()).map(W=>W.id)}populate(P,W,oe){this.hasPattern=Kt("line",this.layers,W);let me=this.layers[0].layout.get("line-sort-key"),ke=!me.isConstant(),Pe=[];for(let{feature:Ge,id:tt,index:vt,sourceLayerIndex:kt}of P){let Gt=this.layers[0]._featureFilter.needGeometry,tr=cl(Ge,Gt);if(!this.layers[0]._featureFilter.filter(new $o(this.zoom),tr,oe))continue;let lr=ke?me.evaluate(tr,{},oe):void 0,xr={id:tt,properties:Ge.properties,type:Ge.type,sourceLayerIndex:kt,index:vt,geometry:Gt?tr.geometry:Bs(Ge),patterns:{},sortKey:lr};Pe.push(xr)}ke&&Pe.sort((Ge,tt)=>Ge.sortKey-tt.sortKey);for(let Ge of Pe){let{geometry:tt,index:vt,sourceLayerIndex:kt}=Ge;if(this.hasPattern){let Gt=Or("line",this.layers,Ge,this.zoom,W);this.patternFeatures.push(Gt)}else this.addFeature(Ge,tt,vt,oe,{});W.featureIndex.insert(P[vt].feature,tt,vt,kt,this.index)}}update(P,W,oe){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(P,W,this.stateDependentLayers,oe)}addFeatures(P,W,oe){for(let me of this.patternFeatures)this.addFeature(me,me.geometry,me.index,W,oe)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(P){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=P.createVertexBuffer(this.layoutVertexArray2,bP)),this.layoutVertexBuffer=P.createVertexBuffer(this.layoutVertexArray,yP),this.indexBuffer=P.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(P),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(P){if(P.properties&&Object.prototype.hasOwnProperty.call(P.properties,"mapbox_clip_start")&&Object.prototype.hasOwnProperty.call(P.properties,"mapbox_clip_end"))return{start:+P.properties.mapbox_clip_start,end:+P.properties.mapbox_clip_end}}addFeature(P,W,oe,me,ke){let Pe=this.layers[0].layout,Ge=Pe.get("line-join").evaluate(P,{}),tt=Pe.get("line-cap"),vt=Pe.get("line-miter-limit"),kt=Pe.get("line-round-limit");this.lineClips=this.lineFeatureClips(P);for(let Gt of W)this.addLine(Gt,P,Ge,tt,vt,kt);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,P,oe,ke,me)}addLine(P,W,oe,me,ke,Pe){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let ga=0;ga=2&&P[tt-1].equals(P[tt-2]);)tt--;let vt=0;for(;vt0;if(Ji&&ga>vt){let To=tr.dist(lr);if(To>2*kt){let fo=tr.sub(tr.sub(lr)._mult(kt/To)._round());this.updateDistance(lr,fo),this.addCurrentVertex(fo,Dr,0,0,Gt),lr=fo}}let $i=lr&&xr,qi=$i?oe:Ge?"butt":me;if($i&&qi==="round"&&(znke&&(qi="bevel"),qi==="bevel"&&(zn>2&&(qi="flipbevel"),zn100)cn=sa.mult(-1);else{let To=zn*Dr.add(sa).mag()/Dr.sub(sa).mag();cn._perp()._mult(To*(Uo?-1:1))}this.addCurrentVertex(tr,cn,0,0,Gt),this.addCurrentVertex(tr,cn.mult(-1),0,0,Gt)}else if(qi==="bevel"||qi==="fakeround"){let To=-Math.sqrt(zn*zn-1),fo=Uo?To:0,io=Uo?0:To;if(lr&&this.addCurrentVertex(tr,Dr,fo,io,Gt),qi==="fakeround"){let Kn=Math.round(180*mi/Math.PI/20);for(let Eo=1;Eo2*kt){let fo=tr.add(xr.sub(tr)._mult(kt/To)._round());this.updateDistance(tr,fo),this.addCurrentVertex(fo,sa,0,0,Gt),tr=fo}}}}addCurrentVertex(P,W,oe,me,ke,Pe=!1){let Ge=W.y*me-W.x,tt=-W.y-W.x*me;this.addHalfVertex(P,W.x+W.y*oe,W.y-W.x*oe,Pe,!1,oe,ke),this.addHalfVertex(P,Ge,tt,Pe,!0,-me,ke),this.distance>Fw/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(P,W,oe,me,ke,Pe))}addHalfVertex({x:P,y:W},oe,me,ke,Pe,Ge,tt){let vt=.5*(this.lineClips?this.scaledDistance*(Fw-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((P<<1)+(ke?1:0),(W<<1)+(Pe?1:0),Math.round(63*oe)+128,Math.round(63*me)+128,1+(Ge===0?0:Ge<0?-1:1)|(63&vt)<<2,vt>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let kt=tt.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,kt),tt.primitiveLength++),Pe?this.e2=kt:this.e1=kt}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(P,W){this.distance+=P.dist(W),this.updateScaledDistance()}}let zw,Bw;Pa("LineBucket",hy,{omit:["layers","patternFeatures"]});var Nw={get paint(){return Bw=Bw||new Me({"line-opacity":new vo(re.paint_line["line-opacity"]),"line-color":new vo(re.paint_line["line-color"]),"line-translate":new Xi(re.paint_line["line-translate"]),"line-translate-anchor":new Xi(re.paint_line["line-translate-anchor"]),"line-width":new vo(re.paint_line["line-width"]),"line-gap-width":new vo(re.paint_line["line-gap-width"]),"line-offset":new vo(re.paint_line["line-offset"]),"line-blur":new vo(re.paint_line["line-blur"]),"line-dasharray":new kc(re.paint_line["line-dasharray"]),"line-pattern":new mf(re.paint_line["line-pattern"]),"line-gradient":new ou(re.paint_line["line-gradient"])})},get layout(){return zw=zw||new Me({"line-cap":new Xi(re.layout_line["line-cap"]),"line-join":new vo(re.layout_line["line-join"]),"line-miter-limit":new Xi(re.layout_line["line-miter-limit"]),"line-round-limit":new Xi(re.layout_line["line-round-limit"]),"line-sort-key":new vo(re.layout_line["line-sort-key"])})}};class TP extends vo{possiblyEvaluate(P,W){return W=new $o(Math.floor(W.zoom),{now:W.now,fadeDuration:W.fadeDuration,zoomHistory:W.zoomHistory,transition:W.transition}),super.possiblyEvaluate(P,W)}evaluate(P,W,oe,me){return W=E({},W,{zoom:Math.floor(W.zoom)}),super.evaluate(P,W,oe,me)}}let cm;class AP extends J{constructor(P){super(P,Nw),this.gradientVersion=0,cm||(cm=new TP(Nw.paint.properties["line-width"].specification),cm.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(P){if(P==="line-gradient"){let W=this.gradientExpression();this.stepInterpolant=!!function(oe){return oe._styleExpression!==void 0}(W)&&W._styleExpression.expression instanceof ra,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values["line-gradient"].value.expression}recalculate(P,W){super.recalculate(P,W),this.paint._values["line-floorwidth"]=cm.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,P)}createBucket(P){return new hy(P)}queryRadius(P){let W=P,oe=Ow(Ua("line-width",this,W),Ua("line-gap-width",this,W)),me=Ua("line-offset",this,W);return oe/2+Math.abs(me)+Wn(this.paint.get("line-translate"))}queryIntersectsFeature(P,W,oe,me,ke,Pe,Ge){let tt=Tn(P,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),Pe.angle,Ge),vt=Ge/2*Ow(this.paint.get("line-width").evaluate(W,oe),this.paint.get("line-gap-width").evaluate(W,oe)),kt=this.paint.get("line-offset").evaluate(W,oe);return kt&&(me=function(Gt,tr){let lr=[];for(let xr=0;xr=3){for(let sa=0;sa0?P+2*V:V}let MP=Ye([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),SP=Ye([{name:"a_projected_pos",components:3,type:"Float32"}],4);Ye([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);let EP=Ye([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"},{name:"a_box_real",components:2,type:"Int16"}]);Ye([{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 Uw=Ye([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),kP=Ye([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function CP(V,P,W){return V.sections.forEach(oe=>{oe.text=function(me,ke,Pe){let Ge=ke.layout.get("text-transform").evaluate(Pe,{});return Ge==="uppercase"?me=me.toLocaleUpperCase():Ge==="lowercase"&&(me=me.toLocaleLowerCase()),ms.applyArabicShaping&&(me=ms.applyArabicShaping(me)),me}(oe.text,P,W)}),V}Ye([{name:"triangle",components:3,type:"Uint16"}]),Ye([{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"}]),Ye([{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"}]),Ye([{type:"Float32",name:"offsetX"}]),Ye([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]),Ye([{type:"Uint16",name:"textAnchor"},{type:"Float32",components:2,name:"textOffset"}]);let zp={"!":"\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 mc=24,jw=El,qw=function(V,P,W,oe,me){var ke,Pe,Ge=8*me-oe-1,tt=(1<>1,kt=-7,Gt=W?me-1:0,tr=W?-1:1,lr=V[P+Gt];for(Gt+=tr,ke=lr&(1<<-kt)-1,lr>>=-kt,kt+=Ge;kt>0;ke=256*ke+V[P+Gt],Gt+=tr,kt-=8);for(Pe=ke&(1<<-kt)-1,ke>>=-kt,kt+=oe;kt>0;Pe=256*Pe+V[P+Gt],Gt+=tr,kt-=8);if(ke===0)ke=1-vt;else{if(ke===tt)return Pe?NaN:1/0*(lr?-1:1);Pe+=Math.pow(2,oe),ke-=vt}return(lr?-1:1)*Pe*Math.pow(2,ke-oe)},Vw=function(V,P,W,oe,me,ke){var Pe,Ge,tt,vt=8*ke-me-1,kt=(1<>1,tr=me===23?Math.pow(2,-24)-Math.pow(2,-77):0,lr=oe?0:ke-1,xr=oe?1:-1,Dr=P<0||P===0&&1/P<0?1:0;for(P=Math.abs(P),isNaN(P)||P===1/0?(Ge=isNaN(P)?1:0,Pe=kt):(Pe=Math.floor(Math.log(P)/Math.LN2),P*(tt=Math.pow(2,-Pe))<1&&(Pe--,tt*=2),(P+=Pe+Gt>=1?tr/tt:tr*Math.pow(2,1-Gt))*tt>=2&&(Pe++,tt/=2),Pe+Gt>=kt?(Ge=0,Pe=kt):Pe+Gt>=1?(Ge=(P*tt-1)*Math.pow(2,me),Pe+=Gt):(Ge=P*Math.pow(2,Gt-1)*Math.pow(2,me),Pe=0));me>=8;V[W+lr]=255&Ge,lr+=xr,Ge/=256,me-=8);for(Pe=Pe<0;V[W+lr]=255&Pe,lr+=xr,Pe/=256,vt-=8);V[W+lr-xr]|=128*Dr};function El(V){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(V)?V:new Uint8Array(V||0),this.pos=0,this.type=0,this.length=this.buf.length}El.Varint=0,El.Fixed64=1,El.Bytes=2,El.Fixed32=5;var dy=4294967296,Hw=1/dy,Gw=typeof TextDecoder>"u"?null:new TextDecoder("utf-8");function $h(V){return V.type===El.Bytes?V.readVarint()+V.pos:V.pos+1}function qv(V,P,W){return W?4294967296*P+(V>>>0):4294967296*(P>>>0)+(V>>>0)}function Ww(V,P,W){var oe=P<=16383?1:P<=2097151?2:P<=268435455?3:Math.floor(Math.log(P)/(7*Math.LN2));W.realloc(oe);for(var me=W.pos-1;me>=V;me--)W.buf[me+oe]=W.buf[me]}function LP(V,P){for(var W=0;W>>8,V[W+2]=P>>>16,V[W+3]=P>>>24}function Yw(V,P){return(V[P]|V[P+1]<<8|V[P+2]<<16)+(V[P+3]<<24)}El.prototype={destroy:function(){this.buf=null},readFields:function(V,P,W){for(W=W||this.length;this.pos>3,ke=this.pos;this.type=7&oe,V(me,P,this),this.pos===ke&&this.skip(oe)}return P},readMessage:function(V,P){return this.readFields(V,P,this.readVarint()+this.pos)},readFixed32:function(){var V=fm(this.buf,this.pos);return this.pos+=4,V},readSFixed32:function(){var V=Yw(this.buf,this.pos);return this.pos+=4,V},readFixed64:function(){var V=fm(this.buf,this.pos)+fm(this.buf,this.pos+4)*dy;return this.pos+=8,V},readSFixed64:function(){var V=fm(this.buf,this.pos)+Yw(this.buf,this.pos+4)*dy;return this.pos+=8,V},readFloat:function(){var V=qw(this.buf,this.pos,!0,23,4);return this.pos+=4,V},readDouble:function(){var V=qw(this.buf,this.pos,!0,52,8);return this.pos+=8,V},readVarint:function(V){var P,W,oe=this.buf;return P=127&(W=oe[this.pos++]),W<128?P:(P|=(127&(W=oe[this.pos++]))<<7,W<128?P:(P|=(127&(W=oe[this.pos++]))<<14,W<128?P:(P|=(127&(W=oe[this.pos++]))<<21,W<128?P:function(me,ke,Pe){var Ge,tt,vt=Pe.buf;if(Ge=(112&(tt=vt[Pe.pos++]))>>4,tt<128||(Ge|=(127&(tt=vt[Pe.pos++]))<<3,tt<128)||(Ge|=(127&(tt=vt[Pe.pos++]))<<10,tt<128)||(Ge|=(127&(tt=vt[Pe.pos++]))<<17,tt<128)||(Ge|=(127&(tt=vt[Pe.pos++]))<<24,tt<128)||(Ge|=(1&(tt=vt[Pe.pos++]))<<31,tt<128))return qv(me,Ge,ke);throw new Error("Expected varint not more than 10 bytes")}(P|=(15&(W=oe[this.pos]))<<28,V,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var V=this.readVarint();return V%2==1?(V+1)/-2:V/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var V=this.readVarint()+this.pos,P=this.pos;return this.pos=V,V-P>=12&&Gw?function(W,oe,me){return Gw.decode(W.subarray(oe,me))}(this.buf,P,V):function(W,oe,me){for(var ke="",Pe=oe;Pe239?4:kt>223?3:kt>191?2:1;if(Pe+tr>me)break;tr===1?kt<128&&(Gt=kt):tr===2?(192&(Ge=W[Pe+1]))==128&&(Gt=(31&kt)<<6|63&Ge)<=127&&(Gt=null):tr===3?(tt=W[Pe+2],(192&(Ge=W[Pe+1]))==128&&(192&tt)==128&&((Gt=(15&kt)<<12|(63&Ge)<<6|63&tt)<=2047||Gt>=55296&&Gt<=57343)&&(Gt=null)):tr===4&&(tt=W[Pe+2],vt=W[Pe+3],(192&(Ge=W[Pe+1]))==128&&(192&tt)==128&&(192&vt)==128&&((Gt=(15&kt)<<18|(63&Ge)<<12|(63&tt)<<6|63&vt)<=65535||Gt>=1114112)&&(Gt=null)),Gt===null?(Gt=65533,tr=1):Gt>65535&&(Gt-=65536,ke+=String.fromCharCode(Gt>>>10&1023|55296),Gt=56320|1023&Gt),ke+=String.fromCharCode(Gt),Pe+=tr}return ke}(this.buf,P,V)},readBytes:function(){var V=this.readVarint()+this.pos,P=this.buf.subarray(this.pos,V);return this.pos=V,P},readPackedVarint:function(V,P){if(this.type!==El.Bytes)return V.push(this.readVarint(P));var W=$h(this);for(V=V||[];this.pos127;);else if(P===El.Bytes)this.pos=this.readVarint()+this.pos;else if(P===El.Fixed32)this.pos+=4;else{if(P!==El.Fixed64)throw new Error("Unimplemented type: "+P);this.pos+=8}},writeTag:function(V,P){this.writeVarint(V<<3|P)},realloc:function(V){for(var P=this.length||16;P268435455||V<0?function(P,W){var oe,me;if(P>=0?(oe=P%4294967296|0,me=P/4294967296|0):(me=~(-P/4294967296),4294967295^(oe=~(-P%4294967296))?oe=oe+1|0:(oe=0,me=me+1|0)),P>=18446744073709552e3||P<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");W.realloc(10),function(ke,Pe,Ge){Ge.buf[Ge.pos++]=127&ke|128,ke>>>=7,Ge.buf[Ge.pos++]=127&ke|128,ke>>>=7,Ge.buf[Ge.pos++]=127&ke|128,ke>>>=7,Ge.buf[Ge.pos++]=127&ke|128,Ge.buf[Ge.pos]=127&(ke>>>=7)}(oe,0,W),function(ke,Pe){var Ge=(7&ke)<<4;Pe.buf[Pe.pos++]|=Ge|((ke>>>=3)?128:0),ke&&(Pe.buf[Pe.pos++]=127&ke|((ke>>>=7)?128:0),ke&&(Pe.buf[Pe.pos++]=127&ke|((ke>>>=7)?128:0),ke&&(Pe.buf[Pe.pos++]=127&ke|((ke>>>=7)?128:0),ke&&(Pe.buf[Pe.pos++]=127&ke|((ke>>>=7)?128:0),ke&&(Pe.buf[Pe.pos++]=127&ke)))))}(me,W)}(V,this):(this.realloc(4),this.buf[this.pos++]=127&V|(V>127?128:0),V<=127||(this.buf[this.pos++]=127&(V>>>=7)|(V>127?128:0),V<=127||(this.buf[this.pos++]=127&(V>>>=7)|(V>127?128:0),V<=127||(this.buf[this.pos++]=V>>>7&127))))},writeSVarint:function(V){this.writeVarint(V<0?2*-V-1:2*V)},writeBoolean:function(V){this.writeVarint(!!V)},writeString:function(V){V=String(V),this.realloc(4*V.length),this.pos++;var P=this.pos;this.pos=function(oe,me,ke){for(var Pe,Ge,tt=0;tt55295&&Pe<57344){if(!Ge){Pe>56319||tt+1===me.length?(oe[ke++]=239,oe[ke++]=191,oe[ke++]=189):Ge=Pe;continue}if(Pe<56320){oe[ke++]=239,oe[ke++]=191,oe[ke++]=189,Ge=Pe;continue}Pe=Ge-55296<<10|Pe-56320|65536,Ge=null}else Ge&&(oe[ke++]=239,oe[ke++]=191,oe[ke++]=189,Ge=null);Pe<128?oe[ke++]=Pe:(Pe<2048?oe[ke++]=Pe>>6|192:(Pe<65536?oe[ke++]=Pe>>12|224:(oe[ke++]=Pe>>18|240,oe[ke++]=Pe>>12&63|128),oe[ke++]=Pe>>6&63|128),oe[ke++]=63&Pe|128)}return ke}(this.buf,V,this.pos);var W=this.pos-P;W>=128&&Ww(P,W,this),this.pos=P-1,this.writeVarint(W),this.pos+=W},writeFloat:function(V){this.realloc(4),Vw(this.buf,V,this.pos,!0,23,4),this.pos+=4},writeDouble:function(V){this.realloc(8),Vw(this.buf,V,this.pos,!0,52,8),this.pos+=8},writeBytes:function(V){var P=V.length;this.writeVarint(P),this.realloc(P);for(var W=0;W=128&&Ww(W,oe,this),this.pos=W-1,this.writeVarint(oe),this.pos+=oe},writeMessage:function(V,P,W){this.writeTag(V,El.Bytes),this.writeRawMessage(P,W)},writePackedVarint:function(V,P){P.length&&this.writeMessage(V,LP,P)},writePackedSVarint:function(V,P){P.length&&this.writeMessage(V,PP,P)},writePackedBoolean:function(V,P){P.length&&this.writeMessage(V,RP,P)},writePackedFloat:function(V,P){P.length&&this.writeMessage(V,IP,P)},writePackedDouble:function(V,P){P.length&&this.writeMessage(V,DP,P)},writePackedFixed32:function(V,P){P.length&&this.writeMessage(V,FP,P)},writePackedSFixed32:function(V,P){P.length&&this.writeMessage(V,zP,P)},writePackedFixed64:function(V,P){P.length&&this.writeMessage(V,BP,P)},writePackedSFixed64:function(V,P){P.length&&this.writeMessage(V,NP,P)},writeBytesField:function(V,P){this.writeTag(V,El.Bytes),this.writeBytes(P)},writeFixed32Field:function(V,P){this.writeTag(V,El.Fixed32),this.writeFixed32(P)},writeSFixed32Field:function(V,P){this.writeTag(V,El.Fixed32),this.writeSFixed32(P)},writeFixed64Field:function(V,P){this.writeTag(V,El.Fixed64),this.writeFixed64(P)},writeSFixed64Field:function(V,P){this.writeTag(V,El.Fixed64),this.writeSFixed64(P)},writeVarintField:function(V,P){this.writeTag(V,El.Varint),this.writeVarint(P)},writeSVarintField:function(V,P){this.writeTag(V,El.Varint),this.writeSVarint(P)},writeStringField:function(V,P){this.writeTag(V,El.Bytes),this.writeString(P)},writeFloatField:function(V,P){this.writeTag(V,El.Fixed32),this.writeFloat(P)},writeDoubleField:function(V,P){this.writeTag(V,El.Fixed64),this.writeDouble(P)},writeBooleanField:function(V,P){this.writeVarintField(V,!!P)}};var vy=t(jw);let py=3;function OP(V,P,W){V===1&&W.readMessage(UP,P)}function UP(V,P,W){if(V===3){let{id:oe,bitmap:me,width:ke,height:Pe,left:Ge,top:tt,advance:vt}=W.readMessage(jP,{});P.push({id:oe,bitmap:new si({width:ke+2*py,height:Pe+2*py},me),metrics:{width:ke,height:Pe,left:Ge,top:tt,advance:vt}})}}function jP(V,P,W){V===1?P.id=W.readVarint():V===2?P.bitmap=W.readBytes():V===3?P.width=W.readVarint():V===4?P.height=W.readVarint():V===5?P.left=W.readSVarint():V===6?P.top=W.readSVarint():V===7&&(P.advance=W.readVarint())}let Xw=py;function $w(V){let P=0,W=0;for(let Pe of V)P+=Pe.w*Pe.h,W=Math.max(W,Pe.w);V.sort((Pe,Ge)=>Ge.h-Pe.h);let oe=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(P/.95)),W),h:1/0}],me=0,ke=0;for(let Pe of V)for(let Ge=oe.length-1;Ge>=0;Ge--){let tt=oe[Ge];if(!(Pe.w>tt.w||Pe.h>tt.h)){if(Pe.x=tt.x,Pe.y=tt.y,ke=Math.max(ke,Pe.y+Pe.h),me=Math.max(me,Pe.x+Pe.w),Pe.w===tt.w&&Pe.h===tt.h){let vt=oe.pop();Ge=0&&oe>=P&&dm[this.text.charCodeAt(oe)];oe--)W--;this.text=this.text.substring(P,W),this.sectionIndex=this.sectionIndex.slice(P,W)}substring(P,W){let oe=new Hv;return oe.text=this.text.substring(P,W),oe.sectionIndex=this.sectionIndex.slice(P,W),oe.sections=this.sections,oe}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((P,W)=>Math.max(P,this.sections[W].scale),0)}addTextSection(P,W){this.text+=P.text,this.sections.push(Np.forText(P.scale,P.fontStack||W));let oe=this.sections.length-1;for(let me=0;me=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function hm(V,P,W,oe,me,ke,Pe,Ge,tt,vt,kt,Gt,tr,lr,xr){let Dr=Hv.fromFeature(V,me),sa;Gt===l.ah.vertical&&Dr.verticalizePunctuation();let{processBidirectionalText:ga,processStyledBidirectionalText:cn}=ms;if(ga&&Dr.sections.length===1){sa=[];let zn=ga(Dr.toString(),gy(Dr,vt,ke,P,oe,lr));for(let mi of zn){let Ji=new Hv;Ji.text=mi,Ji.sections=Dr.sections;for(let Uo=0;Uo0&&Zh>hf&&(hf=Zh)}else{let eh=Ji[Qs.fontStack],Wc=eh&&eh[$l];if(Wc&&Wc.rect)Xv=Wc.rect,Lu=Wc.metrics;else{let Zh=mi[Qs.fontStack],Hp=Zh&&Zh[$l];if(!Hp)continue;Lu=Hp.metrics}Zf=(Pc-Qs.scale)*mc}uh?(zn.verticalizable=!0,Rf.push({glyph:$l,imageName:Dh,x:Qo,y:Rl+Zf,vertical:uh,scale:Qs.scale,fontStack:Qs.fontStack,sectionIndex:Ul,metrics:Lu,rect:Xv}),Qo+=Rh*Qs.scale+Kn):(Rf.push({glyph:$l,imageName:Dh,x:Qo,y:Rl+Zf,vertical:uh,scale:Qs.scale,fontStack:Qs.fontStack,sectionIndex:Ul,metrics:Lu,rect:Xv}),Qo+=Lu.advance*Qs.scale+Kn)}Rf.length!==0&&(kl=Math.max(Qo-Kn,kl),GP(Rf,0,Rf.length-1,lh,hf)),Qo=0;let Qf=qi*Pc+hf;ff.lineOffset=Math.max(hf,gf),Rl+=Qf,Cc=Math.max(Qf,Cc),++cf}var Lc;let Pf=Rl-Bp,{horizontalAlign:If,verticalAlign:Df}=yy(To);(function(Bu,Pc,gf,ff,Rf,hf,Qf,Uf,Qs){let Ul=(Pc-gf)*Rf,$l=0;$l=hf!==Qf?-Uf*ff-Bp:(-ff*Qs+.5)*Qf;for(let Zf of Bu)for(let Lu of Zf.positionedGlyphs)Lu.x+=Ul,Lu.y+=$l})(zn.positionedLines,lh,If,Df,kl,Cc,qi,Pf,$i.length),zn.top+=-Df*Pf,zn.bottom=zn.top+Pf,zn.left+=-If*kl,zn.right=zn.left+kl}(en,P,W,oe,sa,Pe,Ge,tt,Gt,vt,tr,xr),!function(zn){for(let mi of zn)if(mi.positionedGlyphs.length!==0)return!1;return!0}(Da)&&en}let dm={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},qP={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},VP={40:!0};function Kw(V,P,W,oe,me,ke){if(P.imageName){let Pe=oe[P.imageName];return Pe?Pe.displaySize[0]*P.scale*mc/ke+me:0}{let Pe=W[P.fontStack],Ge=Pe&&Pe[V];return Ge?Ge.metrics.advance*P.scale+me:0}}function Jw(V,P,W,oe){let me=Math.pow(V-P,2);return oe?V=0,vt=0;for(let Gt=0;Gtvt){let kt=Math.ceil(ke/vt);me*=kt/Pe,Pe=kt}return{x1:oe,y1:me,x2:oe+ke,y2:me+Pe}}function r5(V,P,W,oe,me,ke){let Pe=V.image,Ge;if(Pe.content){let sa=Pe.content,ga=Pe.pixelRatio||1;Ge=[sa[0]/ga,sa[1]/ga,Pe.displaySize[0]-sa[2]/ga,Pe.displaySize[1]-sa[3]/ga]}let tt=P.left*ke,vt=P.right*ke,kt,Gt,tr,lr;W==="width"||W==="both"?(lr=me[0]+tt-oe[3],Gt=me[0]+vt+oe[1]):(lr=me[0]+(tt+vt-Pe.displaySize[0])/2,Gt=lr+Pe.displaySize[0]);let xr=P.top*ke,Dr=P.bottom*ke;return W==="height"||W==="both"?(kt=me[1]+xr-oe[0],tr=me[1]+Dr+oe[2]):(kt=me[1]+(xr+Dr-Pe.displaySize[1])/2,tr=kt+Pe.displaySize[1]),{image:Pe,top:kt,right:Gt,bottom:tr,left:lr,collisionPadding:Ge}}let Op=255,Ih=128,Td=Op*Ih;function a5(V,P){let{expression:W}=P;if(W.kind==="constant")return{kind:"constant",layoutSize:W.evaluate(new $o(V+1))};if(W.kind==="source")return{kind:"source"};{let{zoomStops:oe,interpolationType:me}=W,ke=0;for(;kePe.id),this.index=P.index,this.pixelRatio=P.pixelRatio,this.sourceLayerIndex=P.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=Fa([]),this.placementViewportMatrix=Fa([]);let W=this.layers[0]._unevaluatedLayout._values;this.textSizeData=a5(this.zoom,W["text-size"]),this.iconSizeData=a5(this.zoom,W["icon-size"]);let oe=this.layers[0].layout,me=oe.get("symbol-sort-key"),ke=oe.get("symbol-z-order");this.canOverlap=_y(oe,"text-overlap","text-allow-overlap")!=="never"||_y(oe,"icon-overlap","icon-allow-overlap")!=="never"||oe.get("text-ignore-placement")||oe.get("icon-ignore-placement"),this.sortFeaturesByKey=ke!=="viewport-y"&&!me.isConstant(),this.sortFeaturesByY=(ke==="viewport-y"||ke==="auto"&&!this.sortFeaturesByKey)&&this.canOverlap,oe.get("symbol-placement")==="point"&&(this.writingModes=oe.get("text-writing-mode").map(Pe=>l.ah[Pe])),this.stateDependentLayerIds=this.layers.filter(Pe=>Pe.isStateDependent()).map(Pe=>Pe.id),this.sourceID=P.sourceID}createArrays(){this.text=new xy(new al(this.layers,this.zoom,P=>/^text/.test(P))),this.icon=new xy(new al(this.layers,this.zoom,P=>/^icon/.test(P))),this.glyphOffsetArray=new Lo,this.lineVertexArray=new bo,this.symbolInstances=new Ki,this.textAnchorOffsets=new Zo}calculateGlyphDependencies(P,W,oe,me,ke){for(let Pe=0;Pe0)&&(Pe.value.kind!=="constant"||Pe.value.value.length>0),kt=tt.value.kind!=="constant"||!!tt.value.value||Object.keys(tt.parameters).length>0,Gt=ke.get("symbol-sort-key");if(this.features=[],!vt&&!kt)return;let tr=W.iconDependencies,lr=W.glyphDependencies,xr=W.availableImages,Dr=new $o(this.zoom);for(let{feature:sa,id:ga,index:cn,sourceLayerIndex:Da}of P){let en=me._featureFilter.needGeometry,zn=cl(sa,en);if(!me._featureFilter.filter(Dr,zn,oe))continue;let mi,Ji;if(en||(zn.geometry=Bs(sa)),vt){let $i=me.getValueAndResolveTokens("text-field",zn,oe,xr),qi=bn.factory($i),To=this.hasRTLText=this.hasRTLText||$P(qi);(!To||ms.getRTLTextPluginStatus()==="unavailable"||To&&ms.isParsed())&&(mi=CP(qi,me,zn))}if(kt){let $i=me.getValueAndResolveTokens("icon-image",zn,oe,xr);Ji=$i instanceof Jn?$i:Jn.fromString($i)}if(!mi&&!Ji)continue;let Uo=this.sortFeaturesByKey?Gt.evaluate(zn,{},oe):void 0;if(this.features.push({id:ga,text:mi,icon:Ji,index:cn,sourceLayerIndex:Da,geometry:zn.geometry,properties:sa.properties,type:YP[sa.type],sortKey:Uo}),Ji&&(tr[Ji.name]=!0),mi){let $i=Pe.evaluate(zn,{},oe).join(","),qi=ke.get("text-rotation-alignment")!=="viewport"&&ke.get("symbol-placement")!=="point";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(l.ah.vertical)>=0;for(let To of mi.sections)if(To.image)tr[To.image.name]=!0;else{let fo=no(mi.toString()),io=To.fontStack||$i,Kn=lr[io]=lr[io]||{};this.calculateGlyphDependencies(To.text,Kn,qi,this.allowVerticalPlacement,fo)}}}ke.get("symbol-placement")==="line"&&(this.features=function(sa){let ga={},cn={},Da=[],en=0;function zn($i){Da.push(sa[$i]),en++}function mi($i,qi,To){let fo=cn[$i];return delete cn[$i],cn[qi]=fo,Da[fo].geometry[0].pop(),Da[fo].geometry[0]=Da[fo].geometry[0].concat(To[0]),fo}function Ji($i,qi,To){let fo=ga[qi];return delete ga[qi],ga[$i]=fo,Da[fo].geometry[0].shift(),Da[fo].geometry[0]=To[0].concat(Da[fo].geometry[0]),fo}function Uo($i,qi,To){let fo=To?qi[0][qi[0].length-1]:qi[0][0];return`${$i}:${fo.x}:${fo.y}`}for(let $i=0;$i$i.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort((sa,ga)=>sa.sortKey-ga.sortKey)}update(P,W,oe){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(P,W,this.layers,oe),this.icon.programConfigurations.updatePaintArrays(P,W,this.layers,oe))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(P){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(P),this.iconCollisionBox.upload(P)),this.text.upload(P,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(P,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(P,W){let oe=this.lineVertexArray.length;if(P.segment!==void 0){let me=P.dist(W[P.segment+1]),ke=P.dist(W[P.segment]),Pe={};for(let Ge=P.segment+1;Ge=0;Ge--)Pe[Ge]={x:W[Ge].x,y:W[Ge].y,tileUnitDistanceFromAnchor:ke},Ge>0&&(ke+=W[Ge-1].dist(W[Ge]));for(let Ge=0;Ge0}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(P,W){let oe=P.placedSymbolArray.get(W),me=oe.vertexStartIndex+4*oe.numGlyphs;for(let ke=oe.vertexStartIndex;keme[Ge]-me[tt]||ke[tt]-ke[Ge]),Pe}addToSortKeyRanges(P,W){let oe=this.sortKeyRanges[this.sortKeyRanges.length-1];oe&&oe.sortKey===W?oe.symbolInstanceEnd=P+1:this.sortKeyRanges.push({sortKey:W,symbolInstanceStart:P,symbolInstanceEnd:P+1})}sortFeatures(P){if(this.sortFeaturesByY&&this.sortedAngle!==P&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(P),this.sortedAngle=P,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let W of this.symbolInstanceIndexes){let oe=this.symbolInstances.get(W);this.featureSortOrder.push(oe.featureIndex),[oe.rightJustifiedTextSymbolIndex,oe.centerJustifiedTextSymbolIndex,oe.leftJustifiedTextSymbolIndex].forEach((me,ke,Pe)=>{me>=0&&Pe.indexOf(me)===ke&&this.addIndicesForPlacedSymbol(this.text,me)}),oe.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,oe.verticalPlacedTextSymbolIndex),oe.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,oe.placedIconSymbolIndex),oe.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,oe.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let n5,i5;Pa("SymbolBucket",Gv,{omit:["layers","collisionBoxArray","features","compareText"]}),Gv.MAX_GLYPHS=65535,Gv.addDynamicAttributes=by;var Ty={get paint(){return i5=i5||new Me({"icon-opacity":new vo(re.paint_symbol["icon-opacity"]),"icon-color":new vo(re.paint_symbol["icon-color"]),"icon-halo-color":new vo(re.paint_symbol["icon-halo-color"]),"icon-halo-width":new vo(re.paint_symbol["icon-halo-width"]),"icon-halo-blur":new vo(re.paint_symbol["icon-halo-blur"]),"icon-translate":new Xi(re.paint_symbol["icon-translate"]),"icon-translate-anchor":new Xi(re.paint_symbol["icon-translate-anchor"]),"text-opacity":new vo(re.paint_symbol["text-opacity"]),"text-color":new vo(re.paint_symbol["text-color"],{runtimeType:yt,getOverride:V=>V.textColor,hasOverride:V=>!!V.textColor}),"text-halo-color":new vo(re.paint_symbol["text-halo-color"]),"text-halo-width":new vo(re.paint_symbol["text-halo-width"]),"text-halo-blur":new vo(re.paint_symbol["text-halo-blur"]),"text-translate":new Xi(re.paint_symbol["text-translate"]),"text-translate-anchor":new Xi(re.paint_symbol["text-translate-anchor"])})},get layout(){return n5=n5||new Me({"symbol-placement":new Xi(re.layout_symbol["symbol-placement"]),"symbol-spacing":new Xi(re.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Xi(re.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new vo(re.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Xi(re.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Xi(re.layout_symbol["icon-allow-overlap"]),"icon-overlap":new Xi(re.layout_symbol["icon-overlap"]),"icon-ignore-placement":new Xi(re.layout_symbol["icon-ignore-placement"]),"icon-optional":new Xi(re.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Xi(re.layout_symbol["icon-rotation-alignment"]),"icon-size":new vo(re.layout_symbol["icon-size"]),"icon-text-fit":new Xi(re.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Xi(re.layout_symbol["icon-text-fit-padding"]),"icon-image":new vo(re.layout_symbol["icon-image"]),"icon-rotate":new vo(re.layout_symbol["icon-rotate"]),"icon-padding":new vo(re.layout_symbol["icon-padding"]),"icon-keep-upright":new Xi(re.layout_symbol["icon-keep-upright"]),"icon-offset":new vo(re.layout_symbol["icon-offset"]),"icon-anchor":new vo(re.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Xi(re.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Xi(re.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Xi(re.layout_symbol["text-rotation-alignment"]),"text-field":new vo(re.layout_symbol["text-field"]),"text-font":new vo(re.layout_symbol["text-font"]),"text-size":new vo(re.layout_symbol["text-size"]),"text-max-width":new vo(re.layout_symbol["text-max-width"]),"text-line-height":new Xi(re.layout_symbol["text-line-height"]),"text-letter-spacing":new vo(re.layout_symbol["text-letter-spacing"]),"text-justify":new vo(re.layout_symbol["text-justify"]),"text-radial-offset":new vo(re.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Xi(re.layout_symbol["text-variable-anchor"]),"text-variable-anchor-offset":new vo(re.layout_symbol["text-variable-anchor-offset"]),"text-anchor":new vo(re.layout_symbol["text-anchor"]),"text-max-angle":new Xi(re.layout_symbol["text-max-angle"]),"text-writing-mode":new Xi(re.layout_symbol["text-writing-mode"]),"text-rotate":new vo(re.layout_symbol["text-rotate"]),"text-padding":new Xi(re.layout_symbol["text-padding"]),"text-keep-upright":new Xi(re.layout_symbol["text-keep-upright"]),"text-transform":new vo(re.layout_symbol["text-transform"]),"text-offset":new vo(re.layout_symbol["text-offset"]),"text-allow-overlap":new Xi(re.layout_symbol["text-allow-overlap"]),"text-overlap":new Xi(re.layout_symbol["text-overlap"]),"text-ignore-placement":new Xi(re.layout_symbol["text-ignore-placement"]),"text-optional":new Xi(re.layout_symbol["text-optional"])})}};class o5{constructor(P){if(P.property.overrides===void 0)throw new Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=P.property.overrides?P.property.overrides.runtimeType:qe,this.defaultValue=P}evaluate(P){if(P.formattedSection){let W=this.defaultValue.property.overrides;if(W&&W.hasOverride(P.formattedSection))return W.getOverride(P.formattedSection)}return P.feature&&P.featureState?this.defaultValue.evaluate(P.feature,P.featureState):this.defaultValue.property.specification.default}eachChild(P){this.defaultValue.isConstant()||P(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Pa("FormatSectionOverride",o5,{omit:["defaultValue"]});class pm extends J{constructor(P){super(P,Ty)}recalculate(P,W){if(super.recalculate(P,W),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 oe=this.layout.get("text-writing-mode");if(oe){let me=[];for(let ke of oe)me.indexOf(ke)<0&&me.push(ke);this.layout._values["text-writing-mode"]=me}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(P,W,oe,me){let ke=this.layout.get(P).evaluate(W,{},oe,me),Pe=this._unevaluatedLayout._values[P];return Pe.isDataDriven()||af(Pe.value)||!ke?ke:function(Ge,tt){return tt.replace(/{([^{}]+)}/g,(vt,kt)=>Ge&&kt in Ge?String(Ge[kt]):"")}(W.properties,ke)}createBucket(P){return new Gv(P)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(let P of Ty.paint.overridableProperties){if(!pm.hasPaintOverride(this.layout,P))continue;let W=this.paint.get(P),oe=new o5(W),me=new au(oe,W.property.specification),ke=null;ke=W.value.kind==="constant"||W.value.kind==="source"?new Du("source",me):new Nl("composite",me,W.value.zoomStops),this.paint._values[P]=new Al(W.property,ke,W.parameters)}}_handleOverridablePaintPropertyUpdate(P,W,oe){return!(!this.layout||W.isDataDriven()||oe.isDataDriven())&&pm.hasPaintOverride(this.layout,P)}static hasPaintOverride(P,W){let oe=P.get("text-field"),me=Ty.paint.properties[W],ke=!1,Pe=Ge=>{for(let tt of Ge)if(me.overrides&&me.overrides.hasOverride(tt))return void(ke=!0)};if(oe.value.kind==="constant"&&oe.value.value instanceof bn)Pe(oe.value.value.sections);else if(oe.value.kind==="source"){let Ge=vt=>{ke||(vt instanceof Zi&&Ln(vt.value)===vr?Pe(vt.value.sections):vt instanceof ho?Pe(vt.sections):vt.eachChild(Ge))},tt=oe.value;tt._styleExpression&&Ge(tt._styleExpression.expression)}return ke}}let s5;var ZP={get paint(){return s5=s5||new Me({"background-color":new Xi(re.paint_background["background-color"]),"background-pattern":new kc(re.paint_background["background-pattern"]),"background-opacity":new Xi(re.paint_background["background-opacity"])})}};class KP extends J{constructor(P){super(P,ZP)}}let l5;var JP={get paint(){return l5=l5||new Me({"raster-opacity":new Xi(re.paint_raster["raster-opacity"]),"raster-hue-rotate":new Xi(re.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new Xi(re.paint_raster["raster-brightness-min"]),"raster-brightness-max":new Xi(re.paint_raster["raster-brightness-max"]),"raster-saturation":new Xi(re.paint_raster["raster-saturation"]),"raster-contrast":new Xi(re.paint_raster["raster-contrast"]),"raster-resampling":new Xi(re.paint_raster["raster-resampling"]),"raster-fade-duration":new Xi(re.paint_raster["raster-fade-duration"])})}};class QP extends J{constructor(P){super(P,JP)}}class eI extends J{constructor(P){super(P,{}),this.onAdd=W=>{this.implementation.onAdd&&this.implementation.onAdd(W,W.painter.context.gl)},this.onRemove=W=>{this.implementation.onRemove&&this.implementation.onRemove(W,W.painter.context.gl)},this.implementation=P}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 tI{constructor(P){this._methodToThrottle=P,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 Ay=63710088e-1;class Ad{constructor(P,W){if(isNaN(P)||isNaN(W))throw new Error(`Invalid LngLat object: (${P}, ${W})`);if(this.lng=+P,this.lat=+W,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new Ad(A(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(P){let W=Math.PI/180,oe=this.lat*W,me=P.lat*W,ke=Math.sin(oe)*Math.sin(me)+Math.cos(oe)*Math.cos(me)*Math.cos((P.lng-this.lng)*W);return Ay*Math.acos(Math.min(ke,1))}static convert(P){if(P instanceof Ad)return P;if(Array.isArray(P)&&(P.length===2||P.length===3))return new Ad(Number(P[0]),Number(P[1]));if(!Array.isArray(P)&&typeof P=="object"&&P!==null)return new Ad(Number("lng"in P?P.lng:P.lon),Number(P.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 u5=2*Math.PI*Ay;function c5(V){return u5*Math.cos(V*Math.PI/180)}function f5(V){return(180+V)/360}function h5(V){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+V*Math.PI/360)))/360}function d5(V,P){return V/c5(P)}function My(V){return 360/Math.PI*Math.atan(Math.exp((180-360*V)*Math.PI/180))-90}class Up{constructor(P,W,oe=0){this.x=+P,this.y=+W,this.z=+oe}static fromLngLat(P,W=0){let oe=Ad.convert(P);return new Up(f5(oe.lng),h5(oe.lat),d5(W,oe.lat))}toLngLat(){return new Ad(360*this.x-180,My(this.y))}toAltitude(){return this.z*c5(My(this.y))}meterInMercatorCoordinateUnits(){return 1/u5*(P=My(this.y),1/Math.cos(P*Math.PI/180));var P}}function v5(V,P,W){var oe=2*Math.PI*6378137/256/Math.pow(2,W);return[V*oe-2*Math.PI*6378137/2,P*oe-2*Math.PI*6378137/2]}class Sy{constructor(P,W,oe){if(!function(me,ke,Pe){return!(me<0||me>25||Pe<0||Pe>=Math.pow(2,me)||ke<0||ke>=Math.pow(2,me))}(P,W,oe))throw new Error(`x=${W}, y=${oe}, z=${P} outside of bounds. 0<=x<${Math.pow(2,P)}, 0<=y<${Math.pow(2,P)} 0<=z<=25 `);this.z=P,this.x=W,this.y=oe,this.key=jp(0,P,P,W,oe)}equals(P){return this.z===P.z&&this.x===P.x&&this.y===P.y}url(P,W,oe){let me=(Pe=this.y,Ge=this.z,tt=v5(256*(ke=this.x),256*(Pe=Math.pow(2,Ge)-Pe-1),Ge),vt=v5(256*(ke+1),256*(Pe+1),Ge),tt[0]+","+tt[1]+","+vt[0]+","+vt[1]);var ke,Pe,Ge,tt,vt;let kt=function(Gt,tr,lr){let xr,Dr="";for(let sa=Gt;sa>0;sa--)xr=1<1?"@2x":"").replace(/{quadkey}/g,kt).replace(/{bbox-epsg-3857}/g,me)}isChildOf(P){let W=this.z-P.z;return W>0&&P.x===this.x>>W&&P.y===this.y>>W}getTilePoint(P){let W=Math.pow(2,this.z);return new n((P.x*W-this.x)*Qi,(P.y*W-this.y)*Qi)}toString(){return`${this.z}/${this.x}/${this.y}`}}class p5{constructor(P,W){this.wrap=P,this.canonical=W,this.key=jp(P,W.z,W.z,W.x,W.y)}}class Jf{constructor(P,W,oe,me,ke){if(P= z; overscaledZ = ${P}; z = ${oe}`);this.overscaledZ=P,this.wrap=W,this.canonical=new Sy(oe,+me,+ke),this.key=jp(W,P,oe,me,ke)}clone(){return new Jf(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(P){return this.overscaledZ===P.overscaledZ&&this.wrap===P.wrap&&this.canonical.equals(P.canonical)}scaledTo(P){if(P>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${P}; overscaledZ = ${this.overscaledZ}`);let W=this.canonical.z-P;return P>this.canonical.z?new Jf(P,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Jf(P,this.wrap,P,this.canonical.x>>W,this.canonical.y>>W)}calculateScaledKey(P,W){if(P>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${P}; overscaledZ = ${this.overscaledZ}`);let oe=this.canonical.z-P;return P>this.canonical.z?jp(this.wrap*+W,P,this.canonical.z,this.canonical.x,this.canonical.y):jp(this.wrap*+W,P,P,this.canonical.x>>oe,this.canonical.y>>oe)}isChildOf(P){if(P.wrap!==this.wrap)return!1;let W=this.canonical.z-P.canonical.z;return P.overscaledZ===0||P.overscaledZ>W&&P.canonical.y===this.canonical.y>>W}children(P){if(this.overscaledZ>=P)return[new Jf(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let W=this.canonical.z+1,oe=2*this.canonical.x,me=2*this.canonical.y;return[new Jf(W,this.wrap,W,oe,me),new Jf(W,this.wrap,W,oe+1,me),new Jf(W,this.wrap,W,oe,me+1),new Jf(W,this.wrap,W,oe+1,me+1)]}isLessThan(P){return this.wrapP.wrap)&&(this.overscaledZP.overscaledZ)&&(this.canonical.xP.canonical.x)&&this.canonical.ythis.max&&(this.max=Gt),Gt=this.dim+1||W<-1||W>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(W+1)*this.stride+(P+1)}unpack(P,W,oe){return P*this.redFactor+W*this.greenFactor+oe*this.blueFactor-this.baseShift}getPixels(){return new Ya({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(P,W,oe){if(this.dim!==P.dim)throw new Error("dem dimension mismatch");let me=W*this.dim,ke=W*this.dim+this.dim,Pe=oe*this.dim,Ge=oe*this.dim+this.dim;switch(W){case-1:me=ke-1;break;case 1:ke=me+1}switch(oe){case-1:Pe=Ge-1;break;case 1:Ge=Pe+1}let tt=-W*this.dim,vt=-oe*this.dim;for(let kt=Pe;kt=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${P} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[P]}}class y5{constructor(P,W,oe,me,ke){this.type="Feature",this._vectorTileFeature=P,P._z=W,P._x=oe,P._y=me,this.properties=P.properties,this.id=ke}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(P){this._geometry=P}toJSON(){let P={geometry:this.geometry};for(let W in this)W!=="_geometry"&&W!=="_vectorTileFeature"&&(P[W]=this[W]);return P}}class _5{constructor(P,W){this.tileID=P,this.x=P.canonical.x,this.y=P.canonical.y,this.z=P.canonical.z,this.grid=new $a(Qi,16,0),this.grid3D=new $a(Qi,16,0),this.featureIndexArray=new Ys,this.promoteId=W}insert(P,W,oe,me,ke,Pe){let Ge=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(oe,me,ke);let tt=Pe?this.grid3D:this.grid;for(let vt=0;vt=0&&Gt[3]>=0&&tt.insert(Ge,Gt[0],Gt[1],Gt[2],Gt[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new ta.VectorTile(new vy(this.rawTileData)).layers,this.sourceLayerCoder=new g5(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers}query(P,W,oe,me){this.loadVTLayers();let ke=P.params||{},Pe=Qi/P.tileSize/P.scale,Ge=Ru(ke.filter),tt=P.queryGeometry,vt=P.queryPadding*Pe,kt=x5(tt),Gt=this.grid.query(kt.minX-vt,kt.minY-vt,kt.maxX+vt,kt.maxY+vt),tr=x5(P.cameraQueryGeometry),lr=this.grid3D.query(tr.minX-vt,tr.minY-vt,tr.maxX+vt,tr.maxY+vt,(sa,ga,cn,Da)=>function(en,zn,mi,Ji,Uo){for(let qi of en)if(zn<=qi.x&&mi<=qi.y&&Ji>=qi.x&&Uo>=qi.y)return!0;let $i=[new n(zn,mi),new n(zn,Uo),new n(Ji,Uo),new n(Ji,mi)];if(en.length>2){for(let qi of $i)if(Ra(en,qi))return!0}for(let qi=0;qi(Da||(Da=Bs(en)),zn.queryIntersectsFeature(tt,en,mi,Da,this.z,P.transform,Pe,P.pixelPosMatrix)))}return xr}loadMatchingFeature(P,W,oe,me,ke,Pe,Ge,tt,vt,kt,Gt){let tr=this.bucketLayerIDs[W];if(Pe&&!function(sa,ga){for(let cn=0;cn=0)return!0;return!1}(Pe,tr))return;let lr=this.sourceLayerCoder.decode(oe),xr=this.vtLayers[lr].feature(me);if(ke.needGeometry){let sa=cl(xr,!0);if(!ke.filter(new $o(this.tileID.overscaledZ),sa,this.tileID.canonical))return}else if(!ke.filter(new $o(this.tileID.overscaledZ),xr))return;let Dr=this.getId(xr,lr);for(let sa=0;sa{let Ge=P instanceof nc?P.get(Pe):null;return Ge&&Ge.evaluate?Ge.evaluate(W,oe,me):Ge})}function x5(V){let P=1/0,W=1/0,oe=-1/0,me=-1/0;for(let ke of V)P=Math.min(P,ke.x),W=Math.min(W,ke.y),oe=Math.max(oe,ke.x),me=Math.max(me,ke.y);return{minX:P,minY:W,maxX:oe,maxY:me}}function rI(V,P){return P-V}function w5(V,P,W,oe,me){let ke=[];for(let Pe=0;Pe=oe&&Gt.x>=oe||(kt.x>=oe?kt=new n(oe,kt.y+(oe-kt.x)/(Gt.x-kt.x)*(Gt.y-kt.y))._round():Gt.x>=oe&&(Gt=new n(oe,kt.y+(oe-kt.x)/(Gt.x-kt.x)*(Gt.y-kt.y))._round()),kt.y>=me&&Gt.y>=me||(kt.y>=me?kt=new n(kt.x+(me-kt.y)/(Gt.y-kt.y)*(Gt.x-kt.x),me)._round():Gt.y>=me&&(Gt=new n(kt.x+(me-kt.y)/(Gt.y-kt.y)*(Gt.x-kt.x),me)._round()),tt&&kt.equals(tt[tt.length-1])||(tt=[kt],ke.push(tt)),tt.push(Gt)))))}}return ke}Pa("FeatureIndex",_5,{omit:["rawTileData","sourceLayerCoder"]});class Md extends n{constructor(P,W,oe,me){super(P,W),this.angle=oe,me!==void 0&&(this.segment=me)}clone(){return new Md(this.x,this.y,this.angle,this.segment)}}function T5(V,P,W,oe,me){if(P.segment===void 0||W===0)return!0;let ke=P,Pe=P.segment+1,Ge=0;for(;Ge>-W/2;){if(Pe--,Pe<0)return!1;Ge-=V[Pe].dist(ke),ke=V[Pe]}Ge+=V[Pe].dist(V[Pe+1]),Pe++;let tt=[],vt=0;for(;Geoe;)vt-=tt.shift().angleDelta;if(vt>me)return!1;Pe++,Ge+=kt.dist(Gt)}return!0}function A5(V){let P=0;for(let W=0;Wvt){let xr=(vt-tt)/lr,Dr=Si.number(Gt.x,tr.x,xr),sa=Si.number(Gt.y,tr.y,xr),ga=new Md(Dr,sa,tr.angleTo(Gt),kt);return ga._round(),!Pe||T5(V,ga,Ge,Pe,P)?ga:void 0}tt+=lr}}function nI(V,P,W,oe,me,ke,Pe,Ge,tt){let vt=M5(oe,ke,Pe),kt=S5(oe,me),Gt=kt*Pe,tr=V[0].x===0||V[0].x===tt||V[0].y===0||V[0].y===tt;return P-Gt

=0&&en=0&&zn=0&&tr+vt<=kt){let mi=new Md(en,zn,cn,xr);mi._round(),oe&&!T5(V,mi,ke,oe,me)||lr.push(mi)}}Gt+=ga}return Ge||lr.length||Pe||(lr=E5(V,Gt/2,W,oe,me,ke,Pe,!0,tt)),lr}Pa("Anchor",Md);let Wv=Of;function k5(V,P,W,oe){let me=[],ke=V.image,Pe=ke.pixelRatio,Ge=ke.paddedRect.w-2*Wv,tt=ke.paddedRect.h-2*Wv,vt={x1:V.left,y1:V.top,x2:V.right,y2:V.bottom},kt=ke.stretchX||[[0,Ge]],Gt=ke.stretchY||[[0,tt]],tr=(Kn,Eo)=>Kn+Eo[1]-Eo[0],lr=kt.reduce(tr,0),xr=Gt.reduce(tr,0),Dr=Ge-lr,sa=tt-xr,ga=0,cn=lr,Da=0,en=xr,zn=0,mi=Dr,Ji=0,Uo=sa;if(ke.content&&oe){let Kn=ke.content,Eo=Kn[2]-Kn[0],xo=Kn[3]-Kn[1];(ke.textFitWidth||ke.textFitHeight)&&(vt=t5(V)),ga=mm(kt,0,Kn[0]),Da=mm(Gt,0,Kn[1]),cn=mm(kt,Kn[0],Kn[2]),en=mm(Gt,Kn[1],Kn[3]),zn=Kn[0]-ga,Ji=Kn[1]-Da,mi=Eo-cn,Uo=xo-en}let $i=vt.x1,qi=vt.y1,To=vt.x2-$i,fo=vt.y2-qi,io=(Kn,Eo,xo,Qo)=>{let Rl=gm(Kn.stretch-ga,cn,To,$i),kl=ym(Kn.fixed-zn,mi,Kn.stretch,lr),Cc=gm(Eo.stretch-Da,en,fo,qi),lh=ym(Eo.fixed-Ji,Uo,Eo.stretch,xr),cf=gm(xo.stretch-ga,cn,To,$i),Lc=ym(xo.fixed-zn,mi,xo.stretch,lr),Pf=gm(Qo.stretch-Da,en,fo,qi),If=ym(Qo.fixed-Ji,Uo,Qo.stretch,xr),Df=new n(Rl,Cc),Bu=new n(cf,Cc),Pc=new n(cf,Pf),gf=new n(Rl,Pf),ff=new n(kl/Pe,lh/Pe),Rf=new n(Lc/Pe,If/Pe),hf=P*Math.PI/180;if(hf){let Qs=Math.sin(hf),Ul=Math.cos(hf),$l=[Ul,-Qs,Qs,Ul];Df._matMult($l),Bu._matMult($l),gf._matMult($l),Pc._matMult($l)}let Qf=Kn.stretch+Kn.fixed,Uf=Eo.stretch+Eo.fixed;return{tl:Df,tr:Bu,bl:gf,br:Pc,tex:{x:ke.paddedRect.x+Wv+Qf,y:ke.paddedRect.y+Wv+Uf,w:xo.stretch+xo.fixed-Qf,h:Qo.stretch+Qo.fixed-Uf},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:ff,pixelOffsetBR:Rf,minFontScaleX:mi/Pe/To,minFontScaleY:Uo/Pe/fo,isSDF:W}};if(oe&&(ke.stretchX||ke.stretchY)){let Kn=C5(kt,Dr,lr),Eo=C5(Gt,sa,xr);for(let xo=0;xo0&&(Dr=Math.max(10,Dr),this.circleDiameter=Dr)}else{let tr=!((Gt=Pe.image)===null||Gt===void 0)&&Gt.content&&(Pe.image.textFitWidth||Pe.image.textFitHeight)?t5(Pe):{x1:Pe.left,y1:Pe.top,x2:Pe.right,y2:Pe.bottom};tr.y1=tr.y1*Ge-tt[0],tr.y2=tr.y2*Ge+tt[2],tr.x1=tr.x1*Ge-tt[3],tr.x2=tr.x2*Ge+tt[1];let lr=Pe.collisionPadding;if(lr&&(tr.x1-=lr[0]*Ge,tr.y1-=lr[1]*Ge,tr.x2+=lr[2]*Ge,tr.y2+=lr[3]*Ge),kt){let xr=new n(tr.x1,tr.y1),Dr=new n(tr.x2,tr.y1),sa=new n(tr.x1,tr.y2),ga=new n(tr.x2,tr.y2),cn=kt*Math.PI/180;xr._rotate(cn),Dr._rotate(cn),sa._rotate(cn),ga._rotate(cn),tr.x1=Math.min(xr.x,Dr.x,sa.x,ga.x),tr.x2=Math.max(xr.x,Dr.x,sa.x,ga.x),tr.y1=Math.min(xr.y,Dr.y,sa.y,ga.y),tr.y2=Math.max(xr.y,Dr.y,sa.y,ga.y)}P.emplaceBack(W.x,W.y,tr.x1,tr.y1,tr.x2,tr.y2,oe,me,ke)}this.boxEndIndex=P.length}}class iI{constructor(P=[],W=(oe,me)=>oeme?1:0){if(this.data=P,this.length=this.data.length,this.compare=W,this.length>0)for(let oe=(this.length>>1)-1;oe>=0;oe--)this._down(oe)}push(P){this.data.push(P),this._up(this.length++)}pop(){if(this.length===0)return;let P=this.data[0],W=this.data.pop();return--this.length>0&&(this.data[0]=W,this._down(0)),P}peek(){return this.data[0]}_up(P){let{data:W,compare:oe}=this,me=W[P];for(;P>0;){let ke=P-1>>1,Pe=W[ke];if(oe(me,Pe)>=0)break;W[P]=Pe,P=ke}W[P]=me}_down(P){let{data:W,compare:oe}=this,me=this.length>>1,ke=W[P];for(;P=0)break;W[P]=W[Pe],P=Pe}W[P]=ke}}function oI(V,P=1,W=!1){let oe=1/0,me=1/0,ke=-1/0,Pe=-1/0,Ge=V[0];for(let lr=0;lrke)&&(ke=xr.x),(!lr||xr.y>Pe)&&(Pe=xr.y)}let tt=Math.min(ke-oe,Pe-me),vt=tt/2,kt=new iI([],sI);if(tt===0)return new n(oe,me);for(let lr=oe;lrGt.d||!Gt.d)&&(Gt=lr,W&&console.log("found best %d after %d probes",Math.round(1e4*lr.d)/1e4,tr)),lr.max-Gt.d<=P||(vt=lr.h/2,kt.push(new Yv(lr.p.x-vt,lr.p.y-vt,vt,V)),kt.push(new Yv(lr.p.x+vt,lr.p.y-vt,vt,V)),kt.push(new Yv(lr.p.x-vt,lr.p.y+vt,vt,V)),kt.push(new Yv(lr.p.x+vt,lr.p.y+vt,vt,V)),tr+=4)}return W&&(console.log(`num probes: ${tr}`),console.log(`best distance: ${Gt.d}`)),Gt.p}function sI(V,P){return P.max-V.max}function Yv(V,P,W,oe){this.p=new n(V,P),this.h=W,this.d=function(me,ke){let Pe=!1,Ge=1/0;for(let tt=0;ttme.y!=xr.y>me.y&&me.x<(xr.x-lr.x)*(me.y-lr.y)/(xr.y-lr.y)+lr.x&&(Pe=!Pe),Ge=Math.min(Ge,Yr(me,lr,xr))}}return(Pe?1:-1)*Math.sqrt(Ge)}(this.p,oe),this.max=this.d+this.h*Math.SQRT2}var uf;l.aq=void 0,(uf=l.aq||(l.aq={}))[uf.center=1]="center",uf[uf.left=2]="left",uf[uf.right=3]="right",uf[uf.top=4]="top",uf[uf.bottom=5]="bottom",uf[uf["top-left"]=6]="top-left",uf[uf["top-right"]=7]="top-right",uf[uf["bottom-left"]=8]="bottom-left",uf[uf["bottom-right"]=9]="bottom-right";let Sd=7,Ey=Number.POSITIVE_INFINITY;function L5(V,P){return P[1]!==Ey?function(W,oe,me){let ke=0,Pe=0;switch(oe=Math.abs(oe),me=Math.abs(me),W){case"top-right":case"top-left":case"top":Pe=me-Sd;break;case"bottom-right":case"bottom-left":case"bottom":Pe=-me+Sd}switch(W){case"top-right":case"bottom-right":case"right":ke=-oe;break;case"top-left":case"bottom-left":case"left":ke=oe}return[ke,Pe]}(V,P[0],P[1]):function(W,oe){let me=0,ke=0;oe<0&&(oe=0);let Pe=oe/Math.SQRT2;switch(W){case"top-right":case"top-left":ke=Pe-Sd;break;case"bottom-right":case"bottom-left":ke=-Pe+Sd;break;case"bottom":ke=-oe+Sd;break;case"top":ke=oe-Sd}switch(W){case"top-right":case"bottom-right":me=-Pe;break;case"top-left":case"bottom-left":me=Pe;break;case"left":me=oe;break;case"right":me=-oe}return[me,ke]}(V,P[0])}function P5(V,P,W){var oe;let me=V.layout,ke=(oe=me.get("text-variable-anchor-offset"))===null||oe===void 0?void 0:oe.evaluate(P,{},W);if(ke){let Ge=ke.values,tt=[];for(let vt=0;vttr*mc);kt.startsWith("top")?Gt[1]-=Sd:kt.startsWith("bottom")&&(Gt[1]+=Sd),tt[vt+1]=Gt}return new Pi(tt)}let Pe=me.get("text-variable-anchor");if(Pe){let Ge;Ge=V._unevaluatedLayout.getValue("text-radial-offset")!==void 0?[me.get("text-radial-offset").evaluate(P,{},W)*mc,Ey]:me.get("text-offset").evaluate(P,{},W).map(vt=>vt*mc);let tt=[];for(let vt of Pe)tt.push(vt,L5(vt,Ge));return new Pi(tt)}return null}function ky(V){switch(V){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function lI(V,P,W,oe,me,ke,Pe,Ge,tt,vt,kt){let Gt=ke.textMaxSize.evaluate(P,{});Gt===void 0&&(Gt=Pe);let tr=V.layers[0].layout,lr=tr.get("icon-offset").evaluate(P,{},kt),xr=D5(W.horizontal),Dr=Pe/24,sa=V.tilePixelRatio*Dr,ga=V.tilePixelRatio*Gt/24,cn=V.tilePixelRatio*Ge,Da=V.tilePixelRatio*tr.get("symbol-spacing"),en=tr.get("text-padding")*V.tilePixelRatio,zn=function(Kn,Eo,xo,Qo=1){let Rl=Kn.get("icon-padding").evaluate(Eo,{},xo),kl=Rl&&Rl.values;return[kl[0]*Qo,kl[1]*Qo,kl[2]*Qo,kl[3]*Qo]}(tr,P,kt,V.tilePixelRatio),mi=tr.get("text-max-angle")/180*Math.PI,Ji=tr.get("text-rotation-alignment")!=="viewport"&&tr.get("symbol-placement")!=="point",Uo=tr.get("icon-rotation-alignment")==="map"&&tr.get("symbol-placement")!=="point",$i=tr.get("symbol-placement"),qi=Da/2,To=tr.get("icon-text-fit"),fo;oe&&To!=="none"&&(V.allowVerticalPlacement&&W.vertical&&(fo=r5(oe,W.vertical,To,tr.get("icon-text-fit-padding"),lr,Dr)),xr&&(oe=r5(oe,xr,To,tr.get("icon-text-fit-padding"),lr,Dr)));let io=(Kn,Eo)=>{Eo.x<0||Eo.x>=Qi||Eo.y<0||Eo.y>=Qi||function(xo,Qo,Rl,kl,Cc,lh,cf,Lc,Pf,If,Df,Bu,Pc,gf,ff,Rf,hf,Qf,Uf,Qs,Ul,$l,Zf,Lu,Xv){let Dh=xo.addToLineVertexArray(Qo,Rl),Rh,uh,eh,Wc,Zh=0,Hp=0,B5=0,N5=0,zy=-1,By=-1,Kh={},O5=Ea("");if(xo.allowVerticalPlacement&&kl.vertical){let yf=Lc.layout.get("text-rotate").evaluate(Ul,{},Lu)+90;eh=new _m(Pf,Qo,If,Df,Bu,kl.vertical,Pc,gf,ff,yf),cf&&(Wc=new _m(Pf,Qo,If,Df,Bu,cf,hf,Qf,ff,yf))}if(Cc){let yf=Lc.layout.get("icon-rotate").evaluate(Ul,{}),th=Lc.layout.get("icon-text-fit")!=="none",ev=k5(Cc,yf,Zf,th),_h=cf?k5(cf,yf,Zf,th):void 0;uh=new _m(Pf,Qo,If,Df,Bu,Cc,hf,Qf,!1,yf),Zh=4*ev.length;let tv=xo.iconSizeData,Fh=null;tv.kind==="source"?(Fh=[Ih*Lc.layout.get("icon-size").evaluate(Ul,{})],Fh[0]>Td&&_(`${xo.layerIds[0]}: Value for "icon-size" is >= ${Op}. Reduce your "icon-size".`)):tv.kind==="composite"&&(Fh=[Ih*$l.compositeIconSizes[0].evaluate(Ul,{},Lu),Ih*$l.compositeIconSizes[1].evaluate(Ul,{},Lu)],(Fh[0]>Td||Fh[1]>Td)&&_(`${xo.layerIds[0]}: Value for "icon-size" is >= ${Op}. Reduce your "icon-size".`)),xo.addSymbols(xo.icon,ev,Fh,Qs,Uf,Ul,l.ah.none,Qo,Dh.lineStartIndex,Dh.lineLength,-1,Lu),zy=xo.icon.placedSymbolArray.length-1,_h&&(Hp=4*_h.length,xo.addSymbols(xo.icon,_h,Fh,Qs,Uf,Ul,l.ah.vertical,Qo,Dh.lineStartIndex,Dh.lineLength,-1,Lu),By=xo.icon.placedSymbolArray.length-1)}let U5=Object.keys(kl.horizontal);for(let yf of U5){let th=kl.horizontal[yf];if(!Rh){O5=Ea(th.text);let _h=Lc.layout.get("text-rotate").evaluate(Ul,{},Lu);Rh=new _m(Pf,Qo,If,Df,Bu,th,Pc,gf,ff,_h)}let ev=th.positionedLines.length===1;if(B5+=I5(xo,Qo,th,lh,Lc,ff,Ul,Rf,Dh,kl.vertical?l.ah.horizontal:l.ah.horizontalOnly,ev?U5:[yf],Kh,zy,$l,Lu),ev)break}kl.vertical&&(N5+=I5(xo,Qo,kl.vertical,lh,Lc,ff,Ul,Rf,Dh,l.ah.vertical,["vertical"],Kh,By,$l,Lu));let fI=Rh?Rh.boxStartIndex:xo.collisionBoxArray.length,hI=Rh?Rh.boxEndIndex:xo.collisionBoxArray.length,dI=eh?eh.boxStartIndex:xo.collisionBoxArray.length,vI=eh?eh.boxEndIndex:xo.collisionBoxArray.length,pI=uh?uh.boxStartIndex:xo.collisionBoxArray.length,mI=uh?uh.boxEndIndex:xo.collisionBoxArray.length,gI=Wc?Wc.boxStartIndex:xo.collisionBoxArray.length,yI=Wc?Wc.boxEndIndex:xo.collisionBoxArray.length,yh=-1,xm=(yf,th)=>yf&&yf.circleDiameter?Math.max(yf.circleDiameter,th):th;yh=xm(Rh,yh),yh=xm(eh,yh),yh=xm(uh,yh),yh=xm(Wc,yh);let j5=yh>-1?1:0;j5&&(yh*=Xv/mc),xo.glyphOffsetArray.length>=Gv.MAX_GLYPHS&&_("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),Ul.sortKey!==void 0&&xo.addToSortKeyRanges(xo.symbolInstances.length,Ul.sortKey);let _I=P5(Lc,Ul,Lu),[bI,xI]=function(yf,th){let ev=yf.length,_h=th?.values;if(_h?.length>0)for(let tv=0;tv<_h.length;tv+=2){let Fh=_h[tv+1];yf.emplaceBack(l.aq[_h[tv]],Fh[0],Fh[1])}return[ev,yf.length]}(xo.textAnchorOffsets,_I);xo.symbolInstances.emplaceBack(Qo.x,Qo.y,Kh.right>=0?Kh.right:-1,Kh.center>=0?Kh.center:-1,Kh.left>=0?Kh.left:-1,Kh.vertical||-1,zy,By,O5,fI,hI,dI,vI,pI,mI,gI,yI,If,B5,N5,Zh,Hp,j5,0,Pc,yh,bI,xI)}(V,Eo,Kn,W,oe,me,fo,V.layers[0],V.collisionBoxArray,P.index,P.sourceLayerIndex,V.index,sa,[en,en,en,en],Ji,tt,cn,zn,Uo,lr,P,ke,vt,kt,Pe)};if($i==="line")for(let Kn of w5(P.geometry,0,0,Qi,Qi)){let Eo=nI(Kn,Da,mi,W.vertical||xr,oe,24,ga,V.overscaling,Qi);for(let xo of Eo)xr&&uI(V,xr.text,qi,xo)||io(Kn,xo)}else if($i==="line-center"){for(let Kn of P.geometry)if(Kn.length>1){let Eo=aI(Kn,mi,W.vertical||xr,oe,24,ga);Eo&&io(Kn,Eo)}}else if(P.type==="Polygon")for(let Kn of du(P.geometry,0)){let Eo=oI(Kn,16);io(Kn[0],new Md(Eo.x,Eo.y,0))}else if(P.type==="LineString")for(let Kn of P.geometry)io(Kn,new Md(Kn[0].x,Kn[0].y,0));else if(P.type==="Point")for(let Kn of P.geometry)for(let Eo of Kn)io([Eo],new Md(Eo.x,Eo.y,0))}function I5(V,P,W,oe,me,ke,Pe,Ge,tt,vt,kt,Gt,tr,lr,xr){let Dr=function(cn,Da,en,zn,mi,Ji,Uo,$i){let qi=zn.layout.get("text-rotate").evaluate(Ji,{})*Math.PI/180,To=[];for(let fo of Da.positionedLines)for(let io of fo.positionedGlyphs){if(!io.rect)continue;let Kn=io.rect||{},Eo=Xw+1,xo=!0,Qo=1,Rl=0,kl=(mi||$i)&&io.vertical,Cc=io.metrics.advance*io.scale/2;if($i&&Da.verticalizable&&(Rl=fo.lineOffset/2-(io.imageName?-(mc-io.metrics.width*io.scale)/2:(io.scale-1)*mc)),io.imageName){let Qs=Uo[io.imageName];xo=Qs.sdf,Qo=Qs.pixelRatio,Eo=Of/Qo}let lh=mi?[io.x+Cc,io.y]:[0,0],cf=mi?[0,0]:[io.x+Cc+en[0],io.y+en[1]-Rl],Lc=[0,0];kl&&(Lc=cf,cf=[0,0]);let Pf=io.metrics.isDoubleResolution?2:1,If=(io.metrics.left-Eo)*io.scale-Cc+cf[0],Df=(-io.metrics.top-Eo)*io.scale+cf[1],Bu=If+Kn.w/Pf*io.scale/Qo,Pc=Df+Kn.h/Pf*io.scale/Qo,gf=new n(If,Df),ff=new n(Bu,Df),Rf=new n(If,Pc),hf=new n(Bu,Pc);if(kl){let Qs=new n(-Cc,Cc-Bp),Ul=-Math.PI/2,$l=mc/2-Cc,Zf=new n(5-Bp-$l,-(io.imageName?$l:0)),Lu=new n(...Lc);gf._rotateAround(Ul,Qs)._add(Zf)._add(Lu),ff._rotateAround(Ul,Qs)._add(Zf)._add(Lu),Rf._rotateAround(Ul,Qs)._add(Zf)._add(Lu),hf._rotateAround(Ul,Qs)._add(Zf)._add(Lu)}if(qi){let Qs=Math.sin(qi),Ul=Math.cos(qi),$l=[Ul,-Qs,Qs,Ul];gf._matMult($l),ff._matMult($l),Rf._matMult($l),hf._matMult($l)}let Qf=new n(0,0),Uf=new n(0,0);To.push({tl:gf,tr:ff,bl:Rf,br:hf,tex:Kn,writingMode:Da.writingMode,glyphOffset:lh,sectionIndex:io.sectionIndex,isSDF:xo,pixelOffsetTL:Qf,pixelOffsetBR:Uf,minFontScaleX:0,minFontScaleY:0})}return To}(0,W,Ge,me,ke,Pe,oe,V.allowVerticalPlacement),sa=V.textSizeData,ga=null;sa.kind==="source"?(ga=[Ih*me.layout.get("text-size").evaluate(Pe,{})],ga[0]>Td&&_(`${V.layerIds[0]}: Value for "text-size" is >= ${Op}. Reduce your "text-size".`)):sa.kind==="composite"&&(ga=[Ih*lr.compositeTextSizes[0].evaluate(Pe,{},xr),Ih*lr.compositeTextSizes[1].evaluate(Pe,{},xr)],(ga[0]>Td||ga[1]>Td)&&_(`${V.layerIds[0]}: Value for "text-size" is >= ${Op}. Reduce your "text-size".`)),V.addSymbols(V.text,Dr,ga,Ge,ke,Pe,vt,P,tt.lineStartIndex,tt.lineLength,tr,xr);for(let cn of kt)Gt[cn]=V.text.placedSymbolArray.length-1;return 4*Dr.length}function D5(V){for(let P in V)return V[P];return null}function uI(V,P,W,oe){let me=V.compareText;if(P in me){let ke=me[P];for(let Pe=ke.length-1;Pe>=0;Pe--)if(oe.dist(ke[Pe])>4;if(me!==1)throw new Error(`Got v${me} data when expected v1.`);let ke=R5[15&oe];if(!ke)throw new Error("Unrecognized array type.");let[Pe]=new Uint16Array(P,2,1),[Ge]=new Uint32Array(P,4,1);return new Cy(Ge,Pe,ke,P)}constructor(P,W=64,oe=Float64Array,me){if(isNaN(P)||P<0)throw new Error(`Unpexpected numItems value: ${P}.`);this.numItems=+P,this.nodeSize=Math.min(Math.max(+W,2),65535),this.ArrayType=oe,this.IndexArrayType=P<65536?Uint16Array:Uint32Array;let ke=R5.indexOf(this.ArrayType),Pe=2*P*this.ArrayType.BYTES_PER_ELEMENT,Ge=P*this.IndexArrayType.BYTES_PER_ELEMENT,tt=(8-Ge%8)%8;if(ke<0)throw new Error(`Unexpected typed array class: ${oe}.`);me&&me instanceof ArrayBuffer?(this.data=me,this.ids=new this.IndexArrayType(this.data,8,P),this.coords=new this.ArrayType(this.data,8+Ge+tt,2*P),this._pos=2*P,this._finished=!0):(this.data=new ArrayBuffer(8+Pe+Ge+tt),this.ids=new this.IndexArrayType(this.data,8,P),this.coords=new this.ArrayType(this.data,8+Ge+tt,2*P),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+ke]),new Uint16Array(this.data,2,1)[0]=W,new Uint32Array(this.data,4,1)[0]=P)}add(P,W){let oe=this._pos>>1;return this.ids[oe]=oe,this.coords[this._pos++]=P,this.coords[this._pos++]=W,oe}finish(){let P=this._pos>>1;if(P!==this.numItems)throw new Error(`Added ${P} items when expected ${this.numItems}.`);return Ly(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(P,W,oe,me){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:ke,coords:Pe,nodeSize:Ge}=this,tt=[0,ke.length-1,0],vt=[];for(;tt.length;){let kt=tt.pop()||0,Gt=tt.pop()||0,tr=tt.pop()||0;if(Gt-tr<=Ge){for(let sa=tr;sa<=Gt;sa++){let ga=Pe[2*sa],cn=Pe[2*sa+1];ga>=P&&ga<=oe&&cn>=W&&cn<=me&&vt.push(ke[sa])}continue}let lr=tr+Gt>>1,xr=Pe[2*lr],Dr=Pe[2*lr+1];xr>=P&&xr<=oe&&Dr>=W&&Dr<=me&&vt.push(ke[lr]),(kt===0?P<=xr:W<=Dr)&&(tt.push(tr),tt.push(lr-1),tt.push(1-kt)),(kt===0?oe>=xr:me>=Dr)&&(tt.push(lr+1),tt.push(Gt),tt.push(1-kt))}return vt}within(P,W,oe){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:me,coords:ke,nodeSize:Pe}=this,Ge=[0,me.length-1,0],tt=[],vt=oe*oe;for(;Ge.length;){let kt=Ge.pop()||0,Gt=Ge.pop()||0,tr=Ge.pop()||0;if(Gt-tr<=Pe){for(let sa=tr;sa<=Gt;sa++)z5(ke[2*sa],ke[2*sa+1],P,W)<=vt&&tt.push(me[sa]);continue}let lr=tr+Gt>>1,xr=ke[2*lr],Dr=ke[2*lr+1];z5(xr,Dr,P,W)<=vt&&tt.push(me[lr]),(kt===0?P-oe<=xr:W-oe<=Dr)&&(Ge.push(tr),Ge.push(lr-1),Ge.push(1-kt)),(kt===0?P+oe>=xr:W+oe>=Dr)&&(Ge.push(lr+1),Ge.push(Gt),Ge.push(1-kt))}return tt}}function Ly(V,P,W,oe,me,ke){if(me-oe<=W)return;let Pe=oe+me>>1;F5(V,P,Pe,oe,me,ke),Ly(V,P,W,oe,Pe-1,1-ke),Ly(V,P,W,Pe+1,me,1-ke)}function F5(V,P,W,oe,me,ke){for(;me>oe;){if(me-oe>600){let vt=me-oe+1,kt=W-oe+1,Gt=Math.log(vt),tr=.5*Math.exp(2*Gt/3),lr=.5*Math.sqrt(Gt*tr*(vt-tr)/vt)*(kt-vt/2<0?-1:1);F5(V,P,W,Math.max(oe,Math.floor(W-kt*tr/vt+lr)),Math.min(me,Math.floor(W+(vt-kt)*tr/vt+lr)),ke)}let Pe=P[2*W+ke],Ge=oe,tt=me;for(qp(V,P,oe,W),P[2*me+ke]>Pe&&qp(V,P,oe,me);GePe;)tt--}P[2*oe+ke]===Pe?qp(V,P,oe,tt):(tt++,qp(V,P,tt,me)),tt<=W&&(oe=tt+1),W<=tt&&(me=tt-1)}}function qp(V,P,W,oe){Py(V,W,oe),Py(P,2*W,2*oe),Py(P,2*W+1,2*oe+1)}function Py(V,P,W){let oe=V[P];V[P]=V[W],V[W]=oe}function z5(V,P,W,oe){let me=V-W,ke=P-oe;return me*me+ke*ke}var Iy;l.bg=void 0,(Iy=l.bg||(l.bg={})).create="create",Iy.load="load",Iy.fullLoad="fullLoad";let bm=null,Vp=[],Dy=1e3/60,Ry="loadTime",Fy="fullLoadTime",cI={mark(V){performance.mark(V)},frame(V){let P=V;bm!=null&&Vp.push(P-bm),bm=P},clearMetrics(){bm=null,Vp=[],performance.clearMeasures(Ry),performance.clearMeasures(Fy);for(let V in l.bg)performance.clearMarks(l.bg[V])},getPerformanceMetrics(){performance.measure(Ry,l.bg.create,l.bg.load),performance.measure(Fy,l.bg.create,l.bg.fullLoad);let V=performance.getEntriesByName(Ry)[0].duration,P=performance.getEntriesByName(Fy)[0].duration,W=Vp.length,oe=1/(Vp.reduce((ke,Pe)=>ke+Pe,0)/W/1e3),me=Vp.filter(ke=>ke>Dy).reduce((ke,Pe)=>ke+(Pe-Dy)/Dy,0);return{loadTime:V,fullLoadTime:P,fps:oe,percentDroppedFrames:me/(W+me)*100,totalFrames:W}}};l.$=class extends Ht{},l.A=ba,l.B=fn,l.C=function(V){if(F==null){let P=V.navigator?V.navigator.userAgent:null;F=!!V.safari||!(!P||!(/\b(iPad|iPhone|iPod)\b/.test(P)||P.match("Safari")&&!P.match("Chrome")))}return F},l.D=Xi,l.E=Q,l.F=class{constructor(V,P){this.target=V,this.mapId=P,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new tI(()=>this.process()),this.subscription=function(W,oe,me,ke){return W.addEventListener(oe,me,!1),{unsubscribe:()=>{W.removeEventListener(oe,me,!1)}}}(this.target,"message",W=>this.receive(W)),this.globalScope=C(self)?V:window}registerMessageHandler(V,P){this.messageHandlers[V]=P}sendAsync(V,P){return new Promise((W,oe)=>{let me=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[me]={resolve:W,reject:oe},P&&P.signal.addEventListener("abort",()=>{delete this.resolveRejects[me];let Ge={id:me,type:"",origin:location.origin,targetMapId:V.targetMapId,sourceMapId:this.mapId};this.target.postMessage(Ge)},{once:!0});let ke=[],Pe=Object.assign(Object.assign({},V),{id:me,sourceMapId:this.mapId,origin:location.origin,data:ki(V.data,ke)});this.target.postMessage(Pe,{transfer:ke})})}receive(V){let P=V.data,W=P.id;if(!(P.origin!=="file://"&&location.origin!=="file://"&&P.origin!=="resource://android"&&location.origin!=="resource://android"&&P.origin!==location.origin||P.targetMapId&&this.mapId!==P.targetMapId)){if(P.type===""){delete this.tasks[W];let oe=this.abortControllers[W];return delete this.abortControllers[W],void(oe&&oe.abort())}if(C(self)||P.mustQueue)return this.tasks[W]=P,this.taskQueue.push(W),void this.invoker.trigger();this.processTask(W,P)}}process(){if(this.taskQueue.length===0)return;let V=this.taskQueue.shift(),P=this.tasks[V];delete this.tasks[V],this.taskQueue.length>0&&this.invoker.trigger(),P&&this.processTask(V,P)}processTask(V,P){return e(this,void 0,void 0,function*(){if(P.type===""){let me=this.resolveRejects[V];return delete this.resolveRejects[V],me?void(P.error?me.reject(Vi(P.error)):me.resolve(Vi(P.data))):void 0}if(!this.messageHandlers[P.type])return void this.completeTask(V,new Error(`Could not find a registered handler for ${P.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(", ")}`));let W=Vi(P.data),oe=new AbortController;this.abortControllers[V]=oe;try{let me=yield this.messageHandlers[P.type](P.sourceMapId,W,oe);this.completeTask(V,null,me)}catch(me){this.completeTask(V,me)}})}completeTask(V,P,W){let oe=[];delete this.abortControllers[V];let me={id:V,type:"",sourceMapId:this.mapId,origin:location.origin,error:P?ki(P):null,data:ki(W,oe)};this.target.postMessage(me,{transfer:oe})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},l.G=te,l.H=function(){var V=new ba(16);return ba!=Float32Array&&(V[1]=0,V[2]=0,V[3]=0,V[4]=0,V[6]=0,V[7]=0,V[8]=0,V[9]=0,V[11]=0,V[12]=0,V[13]=0,V[14]=0),V[0]=1,V[5]=1,V[10]=1,V[15]=1,V},l.I=my,l.J=function(V,P,W){var oe,me,ke,Pe,Ge,tt,vt,kt,Gt,tr,lr,xr,Dr=W[0],sa=W[1],ga=W[2];return P===V?(V[12]=P[0]*Dr+P[4]*sa+P[8]*ga+P[12],V[13]=P[1]*Dr+P[5]*sa+P[9]*ga+P[13],V[14]=P[2]*Dr+P[6]*sa+P[10]*ga+P[14],V[15]=P[3]*Dr+P[7]*sa+P[11]*ga+P[15]):(me=P[1],ke=P[2],Pe=P[3],Ge=P[4],tt=P[5],vt=P[6],kt=P[7],Gt=P[8],tr=P[9],lr=P[10],xr=P[11],V[0]=oe=P[0],V[1]=me,V[2]=ke,V[3]=Pe,V[4]=Ge,V[5]=tt,V[6]=vt,V[7]=kt,V[8]=Gt,V[9]=tr,V[10]=lr,V[11]=xr,V[12]=oe*Dr+Ge*sa+Gt*ga+P[12],V[13]=me*Dr+tt*sa+tr*ga+P[13],V[14]=ke*Dr+vt*sa+lr*ga+P[14],V[15]=Pe*Dr+kt*sa+xr*ga+P[15]),V},l.K=function(V,P,W){var oe=W[0],me=W[1],ke=W[2];return V[0]=P[0]*oe,V[1]=P[1]*oe,V[2]=P[2]*oe,V[3]=P[3]*oe,V[4]=P[4]*me,V[5]=P[5]*me,V[6]=P[6]*me,V[7]=P[7]*me,V[8]=P[8]*ke,V[9]=P[9]*ke,V[10]=P[10]*ke,V[11]=P[11]*ke,V[12]=P[12],V[13]=P[13],V[14]=P[14],V[15]=P[15],V},l.L=va,l.M=function(V,P){let W={};for(let oe=0;oe{let P=window.document.createElement("video");return P.muted=!0,new Promise(W=>{P.onloadstart=()=>{W(P)};for(let oe of V){let me=window.document.createElement("source");K(oe)||(P.crossOrigin="Anonymous"),me.src=oe,P.appendChild(me)}})},l.a4=function(){return g++},l.a5=wn,l.a6=Gv,l.a7=Ru,l.a8=cl,l.a9=y5,l.aA=function(V){if(V.type==="custom")return new eI(V);switch(V.type){case"background":return new KP(V);case"circle":return new ha(V);case"fill":return new Yt(V);case"fill-extrusion":return new mP(V);case"heatmap":return new ui(V);case"hillshade":return new Ls(V);case"line":return new AP(V);case"raster":return new QP(V);case"symbol":return new pm(V)}},l.aB=h,l.aC=function(V,P){if(!V)return[{command:"setStyle",args:[P]}];let W=[];try{if(!ge(V.version,P.version))return[{command:"setStyle",args:[P]}];ge(V.center,P.center)||W.push({command:"setCenter",args:[P.center]}),ge(V.zoom,P.zoom)||W.push({command:"setZoom",args:[P.zoom]}),ge(V.bearing,P.bearing)||W.push({command:"setBearing",args:[P.bearing]}),ge(V.pitch,P.pitch)||W.push({command:"setPitch",args:[P.pitch]}),ge(V.sprite,P.sprite)||W.push({command:"setSprite",args:[P.sprite]}),ge(V.glyphs,P.glyphs)||W.push({command:"setGlyphs",args:[P.glyphs]}),ge(V.transition,P.transition)||W.push({command:"setTransition",args:[P.transition]}),ge(V.light,P.light)||W.push({command:"setLight",args:[P.light]}),ge(V.terrain,P.terrain)||W.push({command:"setTerrain",args:[P.terrain]}),ge(V.sky,P.sky)||W.push({command:"setSky",args:[P.sky]}),ge(V.projection,P.projection)||W.push({command:"setProjection",args:[P.projection]});let oe={},me=[];(function(Pe,Ge,tt,vt){let kt;for(kt in Ge=Ge||{},Pe=Pe||{})Object.prototype.hasOwnProperty.call(Pe,kt)&&(Object.prototype.hasOwnProperty.call(Ge,kt)||Ce(kt,tt,vt));for(kt in Ge)Object.prototype.hasOwnProperty.call(Ge,kt)&&(Object.prototype.hasOwnProperty.call(Pe,kt)?ge(Pe[kt],Ge[kt])||(Pe[kt].type==="geojson"&&Ge[kt].type==="geojson"&&Oe(Pe,Ge,kt)?Te(tt,{command:"setGeoJSONSourceData",args:[kt,Ge[kt].data]}):Ue(kt,Ge,tt,vt)):Se(kt,Ge,tt))})(V.sources,P.sources,me,oe);let ke=[];V.layers&&V.layers.forEach(Pe=>{"source"in Pe&&oe[Pe.source]?W.push({command:"removeLayer",args:[Pe.id]}):ke.push(Pe)}),W=W.concat(me),function(Pe,Ge,tt){Ge=Ge||[];let vt=(Pe=Pe||[]).map(ce),kt=Ge.map(ce),Gt=Pe.reduce(ie,{}),tr=Ge.reduce(ie,{}),lr=vt.slice(),xr=Object.create(null),Dr,sa,ga,cn,Da;for(let en=0,zn=0;en@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(W,oe,me,ke)=>{let Pe=me||ke;return P[oe]=!Pe||Pe.toLowerCase(),""}),P["max-age"]){let W=parseInt(P["max-age"],10);isNaN(W)?delete P["max-age"]:P["max-age"]=W}return P},l.ab=function(V,P){let W=[];for(let oe in V)oe in P||W.push(oe);return W},l.ac=M,l.ad=function(V,P,W){var oe=Math.sin(W),me=Math.cos(W),ke=P[0],Pe=P[1],Ge=P[2],tt=P[3],vt=P[4],kt=P[5],Gt=P[6],tr=P[7];return P!==V&&(V[8]=P[8],V[9]=P[9],V[10]=P[10],V[11]=P[11],V[12]=P[12],V[13]=P[13],V[14]=P[14],V[15]=P[15]),V[0]=ke*me+vt*oe,V[1]=Pe*me+kt*oe,V[2]=Ge*me+Gt*oe,V[3]=tt*me+tr*oe,V[4]=vt*me-ke*oe,V[5]=kt*me-Pe*oe,V[6]=Gt*me-Ge*oe,V[7]=tr*me-tt*oe,V},l.ae=function(V){var P=new ba(16);return P[0]=V[0],P[1]=V[1],P[2]=V[2],P[3]=V[3],P[4]=V[4],P[5]=V[5],P[6]=V[6],P[7]=V[7],P[8]=V[8],P[9]=V[9],P[10]=V[10],P[11]=V[11],P[12]=V[12],P[13]=V[13],P[14]=V[14],P[15]=V[15],P},l.af=Hn,l.ag=function(V,P){let W=0,oe=0;if(V.kind==="constant")oe=V.layoutSize;else if(V.kind!=="source"){let{interpolationType:me,minZoom:ke,maxZoom:Pe}=V,Ge=me?M(ai.interpolationFactor(me,P,ke,Pe),0,1):0;V.kind==="camera"?oe=Si.number(V.minSize,V.maxSize,Ge):W=Ge}return{uSizeT:W,uSize:oe}},l.ai=function(V,{uSize:P,uSizeT:W},{lowerSize:oe,upperSize:me}){return V.kind==="source"?oe/Ih:V.kind==="composite"?Si.number(oe/Ih,me/Ih,W):P},l.aj=by,l.ak=function(V,P,W,oe){let me=P.y-V.y,ke=P.x-V.x,Pe=oe.y-W.y,Ge=oe.x-W.x,tt=Pe*ke-Ge*me;if(tt===0)return null;let vt=(Ge*(V.y-W.y)-Pe*(V.x-W.x))/tt;return new n(V.x+vt*ke,V.y+vt*me)},l.al=w5,l.am=ic,l.an=Fa,l.ao=function(V){let P=1/0,W=1/0,oe=-1/0,me=-1/0;for(let ke of V)P=Math.min(P,ke.x),W=Math.min(W,ke.y),oe=Math.max(oe,ke.x),me=Math.max(me,ke.y);return[P,W,oe,me]},l.ap=mc,l.ar=_y,l.as=function(V,P){var W=P[0],oe=P[1],me=P[2],ke=P[3],Pe=P[4],Ge=P[5],tt=P[6],vt=P[7],kt=P[8],Gt=P[9],tr=P[10],lr=P[11],xr=P[12],Dr=P[13],sa=P[14],ga=P[15],cn=W*Ge-oe*Pe,Da=W*tt-me*Pe,en=W*vt-ke*Pe,zn=oe*tt-me*Ge,mi=oe*vt-ke*Ge,Ji=me*vt-ke*tt,Uo=kt*Dr-Gt*xr,$i=kt*sa-tr*xr,qi=kt*ga-lr*xr,To=Gt*sa-tr*Dr,fo=Gt*ga-lr*Dr,io=tr*ga-lr*sa,Kn=cn*io-Da*fo+en*To+zn*qi-mi*$i+Ji*Uo;return Kn?(V[0]=(Ge*io-tt*fo+vt*To)*(Kn=1/Kn),V[1]=(me*fo-oe*io-ke*To)*Kn,V[2]=(Dr*Ji-sa*mi+ga*zn)*Kn,V[3]=(tr*mi-Gt*Ji-lr*zn)*Kn,V[4]=(tt*qi-Pe*io-vt*$i)*Kn,V[5]=(W*io-me*qi+ke*$i)*Kn,V[6]=(sa*en-xr*Ji-ga*Da)*Kn,V[7]=(kt*Ji-tr*en+lr*Da)*Kn,V[8]=(Pe*fo-Ge*qi+vt*Uo)*Kn,V[9]=(oe*qi-W*fo-ke*Uo)*Kn,V[10]=(xr*mi-Dr*en+ga*cn)*Kn,V[11]=(Gt*en-kt*mi-lr*cn)*Kn,V[12]=(Ge*$i-Pe*To-tt*Uo)*Kn,V[13]=(W*To-oe*$i+me*Uo)*Kn,V[14]=(Dr*Da-xr*zn-sa*cn)*Kn,V[15]=(kt*zn-Gt*Da+tr*cn)*Kn,V):null},l.at=ky,l.au=yy,l.av=Cy,l.aw=function(){let V={},P=re.$version;for(let W in re.$root){let oe=re.$root[W];if(oe.required){let me=null;me=W==="version"?P:oe.type==="array"?[]:{},me!=null&&(V[W]=me)}}return V},l.ax=ni,l.ay=j,l.az=function(V){V=V.slice();let P=Object.create(null);for(let W=0;W25||oe<0||oe>=1||W<0||W>=1)},l.bc=function(V,P){return V[0]=P[0],V[1]=0,V[2]=0,V[3]=0,V[4]=0,V[5]=P[1],V[6]=0,V[7]=0,V[8]=0,V[9]=0,V[10]=P[2],V[11]=0,V[12]=0,V[13]=0,V[14]=0,V[15]=1,V},l.bd=class extends St{},l.be=Ay,l.bf=cI,l.bh=ae,l.bi=function(V,P){Y.REGISTERED_PROTOCOLS[V]=P},l.bj=function(V){delete Y.REGISTERED_PROTOCOLS[V]},l.bk=function(V,P){let W={};for(let me=0;meio*mc)}let $i=Pe?"center":W.get("text-justify").evaluate(vt,{},V.canonical),qi=W.get("symbol-placement")==="point"?W.get("text-max-width").evaluate(vt,{},V.canonical)*mc:1/0,To=()=>{V.bucket.allowVerticalPlacement&&no(en)&&(xr.vertical=hm(Dr,V.glyphMap,V.glyphPositions,V.imagePositions,kt,qi,ke,Ji,"left",mi,ga,l.ah.vertical,!0,tr,Gt))};if(!Pe&&Uo){let fo=new Set;if($i==="auto")for(let Kn=0;Kne(void 0,void 0,void 0,function*(){if(V.byteLength===0)return createImageBitmap(new ImageData(1,1));let P=new Blob([new Uint8Array(V)],{type:"image/png"});try{return createImageBitmap(P)}catch(W){throw new Error(`Could not load image because of ${W.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}}),l.e=E,l.f=V=>new Promise((P,W)=>{let oe=new Image;oe.onload=()=>{P(oe),URL.revokeObjectURL(oe.src),oe.onload=null,window.requestAnimationFrame(()=>{oe.src=z})},oe.onerror=()=>W(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 me=new Blob([new Uint8Array(V)],{type:"image/png"});oe.src=V.byteLength?URL.createObjectURL(me):z}),l.g=ee,l.h=(V,P)=>G(E(V,{type:"json"}),P),l.i=C,l.j=$,l.k=X,l.l=(V,P)=>G(E(V,{type:"arrayBuffer"}),P),l.m=G,l.n=function(V){return new vy(V).readFields(OP,[])},l.o=si,l.p=$w,l.q=Me,l.r=Ga,l.s=K,l.t=Wa,l.u=Aa,l.v=re,l.w=_,l.x=function([V,P,W]){return P+=90,P*=Math.PI/180,W*=Math.PI/180,{x:V*Math.cos(P)*Math.sin(W),y:V*Math.sin(P)*Math.sin(W),z:V*Math.cos(W)}},l.y=Si,l.z=$o}),w("worker",["./shared"],function(l){"use strict";class e{constructor(Ee){this.keyCache={},Ee&&this.replace(Ee)}replace(Ee){this._layerConfigs={},this._layers={},this.update(Ee,[])}update(Ee,Re){for(let ye of Ee){this._layerConfigs[ye.id]=ye;let Ie=this._layers[ye.id]=l.aA(ye);Ie._featureFilter=l.a7(Ie.filter),this.keyCache[ye.id]&&delete this.keyCache[ye.id]}for(let ye of Re)delete this.keyCache[ye],delete this._layerConfigs[ye],delete this._layers[ye];this.familiesBySource={};let he=l.bk(Object.values(this._layerConfigs),this.keyCache);for(let ye of he){let Ie=ye.map(ft=>this._layers[ft.id]),Fe=Ie[0];if(Fe.visibility==="none")continue;let He=Fe.source||"",We=this.familiesBySource[He];We||(We=this.familiesBySource[He]={});let pt=Fe.sourceLayer||"_geojsonTileLayer",ct=We[pt];ct||(ct=We[pt]=[]),ct.push(Ie)}}}class t{constructor(Ee){let Re={},he=[];for(let He in Ee){let We=Ee[He],pt=Re[He]={};for(let ct in We){let ft=We[+ct];if(!ft||ft.bitmap.width===0||ft.bitmap.height===0)continue;let mt={x:0,y:0,w:ft.bitmap.width+2,h:ft.bitmap.height+2};he.push(mt),pt[ct]={rect:mt,metrics:ft.metrics}}}let{w:ye,h:Ie}=l.p(he),Fe=new l.o({width:ye||1,height:Ie||1});for(let He in Ee){let We=Ee[He];for(let pt in We){let ct=We[+pt];if(!ct||ct.bitmap.width===0||ct.bitmap.height===0)continue;let ft=Re[He][pt].rect;l.o.copy(ct.bitmap,Fe,{x:0,y:0},{x:ft.x+1,y:ft.y+1},ct.bitmap)}}this.image=Fe,this.positions=Re}}l.bl("GlyphAtlas",t);class a{constructor(Ee){this.tileID=new l.S(Ee.tileID.overscaledZ,Ee.tileID.wrap,Ee.tileID.canonical.z,Ee.tileID.canonical.x,Ee.tileID.canonical.y),this.uid=Ee.uid,this.zoom=Ee.zoom,this.pixelRatio=Ee.pixelRatio,this.tileSize=Ee.tileSize,this.source=Ee.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=Ee.showCollisionBoxes,this.collectResourceTiming=!!Ee.collectResourceTiming,this.returnDependencies=!!Ee.returnDependencies,this.promoteId=Ee.promoteId,this.inFlightDependencies=[]}parse(Ee,Re,he,ye){return l._(this,void 0,void 0,function*(){this.status="parsing",this.data=Ee,this.collisionBoxArray=new l.a5;let Ie=new l.bm(Object.keys(Ee.layers).sort()),Fe=new l.bn(this.tileID,this.promoteId);Fe.bucketLayerIDs=[];let He={},We={featureIndex:Fe,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:he},pt=Re.familiesBySource[this.source];for(let pa in pt){let fa=Ee.layers[pa];if(!fa)continue;fa.version===1&&l.w(`Vector tile source "${this.source}" layer "${pa}" does not use vector tile spec v2 and therefore may have some rendering errors.`);let za=Ie.encode(pa),Ia=[];for(let Va=0;Va=Oa.maxzoom||Oa.visibility!=="none"&&(r(Va,this.zoom,he),(He[Oa.id]=Oa.createBucket({index:Fe.bucketLayerIDs.length,layers:Va,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:za,sourceID:this.source})).populate(Ia,We,this.tileID.canonical),Fe.bucketLayerIDs.push(Va.map(tn=>tn.id)))}}let ct=l.aF(We.glyphDependencies,pa=>Object.keys(pa).map(Number));this.inFlightDependencies.forEach(pa=>pa?.abort()),this.inFlightDependencies=[];let ft=Promise.resolve({});if(Object.keys(ct).length){let pa=new AbortController;this.inFlightDependencies.push(pa),ft=ye.sendAsync({type:"GG",data:{stacks:ct,source:this.source,tileID:this.tileID,type:"glyphs"}},pa)}let mt=Object.keys(We.iconDependencies),_t=Promise.resolve({});if(mt.length){let pa=new AbortController;this.inFlightDependencies.push(pa),_t=ye.sendAsync({type:"GI",data:{icons:mt,source:this.source,tileID:this.tileID,type:"icons"}},pa)}let Bt=Object.keys(We.patternDependencies),Et=Promise.resolve({});if(Bt.length){let pa=new AbortController;this.inFlightDependencies.push(pa),Et=ye.sendAsync({type:"GI",data:{icons:Bt,source:this.source,tileID:this.tileID,type:"patterns"}},pa)}let[hr,$r,ca]=yield Promise.all([ft,_t,Et]),na=new t(hr),wa=new l.bo($r,ca);for(let pa in He){let fa=He[pa];fa instanceof l.a6?(r(fa.layers,this.zoom,he),l.bp({bucket:fa,glyphMap:hr,glyphPositions:na.positions,imageMap:$r,imagePositions:wa.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):fa.hasPattern&&(fa instanceof l.bq||fa instanceof l.br||fa instanceof l.bs)&&(r(fa.layers,this.zoom,he),fa.addFeatures(We,this.tileID.canonical,wa.patternPositions))}return this.status="done",{buckets:Object.values(He).filter(pa=>!pa.isEmpty()),featureIndex:Fe,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:na.image,imageAtlas:wa,glyphMap:this.returnDependencies?hr:null,iconMap:this.returnDependencies?$r:null,glyphPositions:this.returnDependencies?na.positions:null}})}}function r(at,Ee,Re){let he=new l.z(Ee);for(let ye of at)ye.recalculate(he,Re)}class n{constructor(Ee,Re,he){this.actor=Ee,this.layerIndex=Re,this.availableImages=he,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(Ee,Re){return l._(this,void 0,void 0,function*(){let he=yield l.l(Ee.request,Re);try{return{vectorTile:new l.bt.VectorTile(new l.bu(he.data)),rawData:he.data,cacheControl:he.cacheControl,expires:he.expires}}catch(ye){let Ie=new Uint8Array(he.data),Fe=`Unable to parse the tile at ${Ee.request.url}, `;throw Fe+=Ie[0]===31&&Ie[1]===139?"please make sure the data is not gzipped and that you have configured the relevant header in the server":`got error: ${ye.message}`,new Error(Fe)}})}loadTile(Ee){return l._(this,void 0,void 0,function*(){let Re=Ee.uid,he=!!(Ee&&Ee.request&&Ee.request.collectResourceTiming)&&new l.bv(Ee.request),ye=new a(Ee);this.loading[Re]=ye;let Ie=new AbortController;ye.abort=Ie;try{let Fe=yield this.loadVectorTile(Ee,Ie);if(delete this.loading[Re],!Fe)return null;let He=Fe.rawData,We={};Fe.expires&&(We.expires=Fe.expires),Fe.cacheControl&&(We.cacheControl=Fe.cacheControl);let pt={};if(he){let ft=he.finish();ft&&(pt.resourceTiming=JSON.parse(JSON.stringify(ft)))}ye.vectorTile=Fe.vectorTile;let ct=ye.parse(Fe.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[Re]=ye,this.fetching[Re]={rawTileData:He,cacheControl:We,resourceTiming:pt};try{let ft=yield ct;return l.e({rawTileData:He.slice(0)},ft,We,pt)}finally{delete this.fetching[Re]}}catch(Fe){throw delete this.loading[Re],ye.status="done",this.loaded[Re]=ye,Fe}})}reloadTile(Ee){return l._(this,void 0,void 0,function*(){let Re=Ee.uid;if(!this.loaded||!this.loaded[Re])throw new Error("Should not be trying to reload a tile that was never loaded or has been removed");let he=this.loaded[Re];if(he.showCollisionBoxes=Ee.showCollisionBoxes,he.status==="parsing"){let ye=yield he.parse(he.vectorTile,this.layerIndex,this.availableImages,this.actor),Ie;if(this.fetching[Re]){let{rawTileData:Fe,cacheControl:He,resourceTiming:We}=this.fetching[Re];delete this.fetching[Re],Ie=l.e({rawTileData:Fe.slice(0)},ye,He,We)}else Ie=ye;return Ie}if(he.status==="done"&&he.vectorTile)return he.parse(he.vectorTile,this.layerIndex,this.availableImages,this.actor)})}abortTile(Ee){return l._(this,void 0,void 0,function*(){let Re=this.loading,he=Ee.uid;Re&&Re[he]&&Re[he].abort&&(Re[he].abort.abort(),delete Re[he])})}removeTile(Ee){return l._(this,void 0,void 0,function*(){this.loaded&&this.loaded[Ee.uid]&&delete this.loaded[Ee.uid]})}}class i{constructor(){this.loaded={}}loadTile(Ee){return l._(this,void 0,void 0,function*(){let{uid:Re,encoding:he,rawImageData:ye,redFactor:Ie,greenFactor:Fe,blueFactor:He,baseShift:We}=Ee,pt=ye.width+2,ct=ye.height+2,ft=l.b(ye)?new l.R({width:pt,height:ct},yield l.bw(ye,-1,-1,pt,ct)):ye,mt=new l.bx(Re,ft,he,Ie,Fe,He,We);return this.loaded=this.loaded||{},this.loaded[Re]=mt,mt})}removeTile(Ee){let Re=this.loaded,he=Ee.uid;Re&&Re[he]&&delete Re[he]}}function s(at,Ee){if(at.length!==0){c(at[0],Ee);for(var Re=1;Re=Math.abs(He)?Re-We+He:He-We+Re,Re=We}Re+he>=0!=!!Ee&&at.reverse()}var p=l.by(function at(Ee,Re){var he,ye=Ee&&Ee.type;if(ye==="FeatureCollection")for(he=0;he>31}function C(at,Ee){for(var Re=at.loadGeometry(),he=at.type,ye=0,Ie=0,Fe=Re.length,He=0;Heat},R=Math.fround||(k=new Float32Array(1),at=>(k[0]=+at,k[0]));var k;let B=3,N=5,q=6;class Y{constructor(Ee){this.options=Object.assign(Object.create(z),Ee),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(Ee){let{log:Re,minZoom:he,maxZoom:ye}=this.options;Re&&console.time("total time");let Ie=`prepare ${Ee.length} points`;Re&&console.time(Ie),this.points=Ee;let Fe=[];for(let We=0;We=he;We--){let pt=+Date.now();He=this.trees[We]=this._createTree(this._cluster(He,We)),Re&&console.log("z%d: %d clusters in %dms",We,He.numItems,+Date.now()-pt)}return Re&&console.timeEnd("total time"),this}getClusters(Ee,Re){let he=((Ee[0]+180)%360+360)%360-180,ye=Math.max(-90,Math.min(90,Ee[1])),Ie=Ee[2]===180?180:((Ee[2]+180)%360+360)%360-180,Fe=Math.max(-90,Math.min(90,Ee[3]));if(Ee[2]-Ee[0]>=360)he=-180,Ie=180;else if(he>Ie){let ft=this.getClusters([he,ye,180,Fe],Re),mt=this.getClusters([-180,ye,Ie,Fe],Re);return ft.concat(mt)}let He=this.trees[this._limitZoom(Re)],We=He.range(ae(he),j(Fe),ae(Ie),j(ye)),pt=He.data,ct=[];for(let ft of We){let mt=this.stride*ft;ct.push(pt[mt+N]>1?ee(pt,mt,this.clusterProps):this.points[pt[mt+B]])}return ct}getChildren(Ee){let Re=this._getOriginId(Ee),he=this._getOriginZoom(Ee),ye="No cluster with the specified id.",Ie=this.trees[he];if(!Ie)throw new Error(ye);let Fe=Ie.data;if(Re*this.stride>=Fe.length)throw new Error(ye);let He=this.options.radius/(this.options.extent*Math.pow(2,he-1)),We=Ie.within(Fe[Re*this.stride],Fe[Re*this.stride+1],He),pt=[];for(let ct of We){let ft=ct*this.stride;Fe[ft+4]===Ee&&pt.push(Fe[ft+N]>1?ee(Fe,ft,this.clusterProps):this.points[Fe[ft+B]])}if(pt.length===0)throw new Error(ye);return pt}getLeaves(Ee,Re,he){let ye=[];return this._appendLeaves(ye,Ee,Re=Re||10,he=he||0,0),ye}getTile(Ee,Re,he){let ye=this.trees[this._limitZoom(Ee)],Ie=Math.pow(2,Ee),{extent:Fe,radius:He}=this.options,We=He/Fe,pt=(he-We)/Ie,ct=(he+1+We)/Ie,ft={features:[]};return this._addTileFeatures(ye.range((Re-We)/Ie,pt,(Re+1+We)/Ie,ct),ye.data,Re,he,Ie,ft),Re===0&&this._addTileFeatures(ye.range(1-We/Ie,pt,1,ct),ye.data,Ie,he,Ie,ft),Re===Ie-1&&this._addTileFeatures(ye.range(0,pt,We/Ie,ct),ye.data,-1,he,Ie,ft),ft.features.length?ft:null}getClusterExpansionZoom(Ee){let Re=this._getOriginZoom(Ee)-1;for(;Re<=this.options.maxZoom;){let he=this.getChildren(Ee);if(Re++,he.length!==1)break;Ee=he[0].properties.cluster_id}return Re}_appendLeaves(Ee,Re,he,ye,Ie){let Fe=this.getChildren(Re);for(let He of Fe){let We=He.properties;if(We&&We.cluster?Ie+We.point_count<=ye?Ie+=We.point_count:Ie=this._appendLeaves(Ee,We.cluster_id,he,ye,Ie):Ie1,ct,ft,mt;if(pt)ct=te(Re,We,this.clusterProps),ft=Re[We],mt=Re[We+1];else{let Et=this.points[Re[We+B]];ct=Et.properties;let[hr,$r]=Et.geometry.coordinates;ft=ae(hr),mt=j($r)}let _t={type:1,geometry:[[Math.round(this.options.extent*(ft*Ie-he)),Math.round(this.options.extent*(mt*Ie-ye))]],tags:ct},Bt;Bt=pt||this.options.generateId?Re[We+B]:this.points[Re[We+B]].id,Bt!==void 0&&(_t.id=Bt),Fe.features.push(_t)}}_limitZoom(Ee){return Math.max(this.options.minZoom,Math.min(Math.floor(+Ee),this.options.maxZoom+1))}_cluster(Ee,Re){let{radius:he,extent:ye,reduce:Ie,minPoints:Fe}=this.options,He=he/(ye*Math.pow(2,Re)),We=Ee.data,pt=[],ct=this.stride;for(let ft=0;ftRe&&(hr+=We[ca+N])}if(hr>Et&&hr>=Fe){let $r,ca=mt*Et,na=_t*Et,wa=-1,pa=((ft/ct|0)<<5)+(Re+1)+this.points.length;for(let fa of Bt){let za=fa*ct;if(We[za+2]<=Re)continue;We[za+2]=Re;let Ia=We[za+N];ca+=We[za]*Ia,na+=We[za+1]*Ia,We[za+4]=pa,Ie&&($r||($r=this._map(We,ft,!0),wa=this.clusterProps.length,this.clusterProps.push($r)),Ie($r,this._map(We,za)))}We[ft+4]=pa,pt.push(ca/hr,na/hr,1/0,pa,-1,hr),Ie&&pt.push(wa)}else{for(let $r=0;$r1)for(let $r of Bt){let ca=$r*ct;if(!(We[ca+2]<=Re)){We[ca+2]=Re;for(let na=0;na>5}_getOriginZoom(Ee){return(Ee-this.points.length)%32}_map(Ee,Re,he){if(Ee[Re+N]>1){let Fe=this.clusterProps[Ee[Re+q]];return he?Object.assign({},Fe):Fe}let ye=this.points[Ee[Re+B]].properties,Ie=this.options.map(ye);return he&&Ie===ye?Object.assign({},Ie):Ie}}function ee(at,Ee,Re){return{type:"Feature",id:at[Ee+B],properties:te(at,Ee,Re),geometry:{type:"Point",coordinates:[(he=at[Ee],360*(he-.5)),G(at[Ee+1])]}};var he}function te(at,Ee,Re){let he=at[Ee+N],ye=he>=1e4?`${Math.round(he/1e3)}k`:he>=1e3?Math.round(he/100)/10+"k":he,Ie=at[Ee+q],Fe=Ie===-1?{}:Object.assign({},Re[Ie]);return Object.assign(Fe,{cluster:!0,cluster_id:at[Ee+B],point_count:he,point_count_abbreviated:ye})}function ae(at){return at/360+.5}function j(at){let Ee=Math.sin(at*Math.PI/180),Re=.5-.25*Math.log((1+Ee)/(1-Ee))/Math.PI;return Re<0?0:Re>1?1:Re}function G(at){let Ee=(180-360*at)*Math.PI/180;return 360*Math.atan(Math.exp(Ee))/Math.PI-90}function K(at,Ee,Re,he){let ye=he,Ie=Ee+(Re-Ee>>1),Fe,He=Re-Ee,We=at[Ee],pt=at[Ee+1],ct=at[Re],ft=at[Re+1];for(let mt=Ee+3;mtye)Fe=mt,ye=_t;else if(_t===ye){let Bt=Math.abs(mt-Ie);Bthe&&(Fe-Ee>3&&K(at,Ee,Fe,he),at[Fe+2]=ye,Re-Fe>3&&K(at,Fe,Re,he))}function H(at,Ee,Re,he,ye,Ie){let Fe=ye-Re,He=Ie-he;if(Fe!==0||He!==0){let We=((at-Re)*Fe+(Ee-he)*He)/(Fe*Fe+He*He);We>1?(Re=ye,he=Ie):We>0&&(Re+=Fe*We,he+=He*We)}return Fe=at-Re,He=Ee-he,Fe*Fe+He*He}function Z(at,Ee,Re,he){let ye={id:at??null,type:Ee,geometry:Re,tags:he,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(Ee==="Point"||Ee==="MultiPoint"||Ee==="LineString")X(ye,Re);else if(Ee==="Polygon")X(ye,Re[0]);else if(Ee==="MultiLineString")for(let Ie of Re)X(ye,Ie);else if(Ee==="MultiPolygon")for(let Ie of Re)X(ye,Ie[0]);return ye}function X(at,Ee){for(let Re=0;Re0&&(Fe+=he?(ye*ct-pt*Ie)/2:Math.sqrt(Math.pow(pt-ye,2)+Math.pow(ct-Ie,2))),ye=pt,Ie=ct}let He=Ee.length-3;Ee[2]=1,K(Ee,0,He,Re),Ee[He+2]=1,Ee.size=Math.abs(Fe),Ee.start=0,Ee.end=Ee.size}function ue(at,Ee,Re,he){for(let ye=0;ye1?1:Re}function Te(at,Ee,Re,he,ye,Ie,Fe,He){if(he/=Ee,Ie>=(Re/=Ee)&&Fe=he)return null;let We=[];for(let pt of at){let ct=pt.geometry,ft=pt.type,mt=ye===0?pt.minX:pt.minY,_t=ye===0?pt.maxX:pt.maxY;if(mt>=Re&&_t=he)continue;let Bt=[];if(ft==="Point"||ft==="MultiPoint")Se(ct,Bt,Re,he,ye);else if(ft==="LineString")Ce(ct,Bt,Re,he,ye,!1,He.lineMetrics);else if(ft==="MultiLineString")Oe(ct,Bt,Re,he,ye,!1);else if(ft==="Polygon")Oe(ct,Bt,Re,he,ye,!0);else if(ft==="MultiPolygon")for(let Et of ct){let hr=[];Oe(Et,hr,Re,he,ye,!0),hr.length&&Bt.push(hr)}if(Bt.length){if(He.lineMetrics&&ft==="LineString"){for(let Et of Bt)We.push(Z(pt.id,ft,Et,pt.tags));continue}ft!=="LineString"&&ft!=="MultiLineString"||(Bt.length===1?(ft="LineString",Bt=Bt[0]):ft="MultiLineString"),ft!=="Point"&&ft!=="MultiPoint"||(ft=Bt.length===3?"Point":"MultiPoint"),We.push(Z(pt.id,ft,Bt,pt.tags))}}return We.length?We:null}function Se(at,Ee,Re,he,ye){for(let Ie=0;Ie=Re&&Fe<=he&&_e(Ee,at[Ie],at[Ie+1],at[Ie+2])}}function Ce(at,Ee,Re,he,ye,Ie,Fe){let He=Ue(at),We=ye===0?ce:ie,pt,ct,ft=at.start;for(let hr=0;hrRe&&(ct=We(He,$r,ca,wa,pa,Re),Fe&&(He.start=ft+pt*ct)):fa>he?za=Re&&(ct=We(He,$r,ca,wa,pa,Re),Ia=!0),za>he&&fa<=he&&(ct=We(He,$r,ca,wa,pa,he),Ia=!0),!Ie&&Ia&&(Fe&&(He.end=ft+pt*ct),Ee.push(He),He=Ue(at)),Fe&&(ft+=pt)}let mt=at.length-3,_t=at[mt],Bt=at[mt+1],Et=ye===0?_t:Bt;Et>=Re&&Et<=he&&_e(He,_t,Bt,at[mt+2]),mt=He.length-3,Ie&&mt>=3&&(He[mt]!==He[0]||He[mt+1]!==He[1])&&_e(He,He[0],He[1],He[2]),He.length&&Ee.push(He)}function Ue(at){let Ee=[];return Ee.size=at.size,Ee.start=at.start,Ee.end=at.end,Ee}function Oe(at,Ee,Re,he,ye,Ie){for(let Fe of at)Ce(Fe,Ee,Re,he,ye,Ie,!1)}function _e(at,Ee,Re,he){at.push(Ee,Re,he)}function ce(at,Ee,Re,he,ye,Ie){let Fe=(Ie-Ee)/(he-Ee);return _e(at,Ie,Re+(ye-Re)*Fe,1),Fe}function ie(at,Ee,Re,he,ye,Ie){let Fe=(Ie-Re)/(ye-Re);return _e(at,Ee+(he-Ee)*Fe,Ie,1),Fe}function se(at,Ee){let Re=[];for(let he=0;he0&&Ee.size<(ye?Fe:he))return void(Re.numPoints+=Ee.length/3);let He=[];for(let We=0;WeFe)&&(Re.numSimplified++,He.push(Ee[We],Ee[We+1])),Re.numPoints++;ye&&function(We,pt){let ct=0;for(let ft=0,mt=We.length,_t=mt-2;ft0===pt)for(let ft=0,mt=We.length;ft24)throw new Error("maxZoom should be in the 0-24 range");if(Re.promoteId&&Re.generateId)throw new Error("promoteId and generateId cannot be used together.");let ye=function(Ie,Fe){let He=[];if(Ie.type==="FeatureCollection")for(let We=0;We1&&console.time("creation"),_t=this.tiles[mt]=qe(Ee,Re,he,ye,pt),this.tileCoords.push({z:Re,x:he,y:ye}),ct)){ct>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",Re,he,ye,_t.numFeatures,_t.numPoints,_t.numSimplified),console.timeEnd("creation"));let Ia=`z${Re}`;this.stats[Ia]=(this.stats[Ia]||0)+1,this.total++}if(_t.source=Ee,Ie==null){if(Re===pt.indexMaxZoom||_t.numPoints<=pt.indexMaxPoints)continue}else{if(Re===pt.maxZoom||Re===Ie)continue;if(Ie!=null){let Ia=Ie-Re;if(he!==Fe>>Ia||ye!==He>>Ia)continue}}if(_t.source=null,Ee.length===0)continue;ct>1&&console.time("clipping");let Bt=.5*pt.buffer/pt.extent,Et=.5-Bt,hr=.5+Bt,$r=1+Bt,ca=null,na=null,wa=null,pa=null,fa=Te(Ee,ft,he-Bt,he+hr,0,_t.minX,_t.maxX,pt),za=Te(Ee,ft,he+Et,he+$r,0,_t.minX,_t.maxX,pt);Ee=null,fa&&(ca=Te(fa,ft,ye-Bt,ye+hr,1,_t.minY,_t.maxY,pt),na=Te(fa,ft,ye+Et,ye+$r,1,_t.minY,_t.maxY,pt),fa=null),za&&(wa=Te(za,ft,ye-Bt,ye+hr,1,_t.minY,_t.maxY,pt),pa=Te(za,ft,ye+Et,ye+$r,1,_t.minY,_t.maxY,pt),za=null),ct>1&&console.timeEnd("clipping"),We.push(ca||[],Re+1,2*he,2*ye),We.push(na||[],Re+1,2*he,2*ye+1),We.push(wa||[],Re+1,2*he+1,2*ye),We.push(pa||[],Re+1,2*he+1,2*ye+1)}}getTile(Ee,Re,he){Ee=+Ee,Re=+Re,he=+he;let ye=this.options,{extent:Ie,debug:Fe}=ye;if(Ee<0||Ee>24)return null;let He=1<1&&console.log("drilling down to z%d-%d-%d",Ee,Re,he);let pt,ct=Ee,ft=Re,mt=he;for(;!pt&&ct>0;)ct--,ft>>=1,mt>>=1,pt=this.tiles[At(ct,ft,mt)];return pt&&pt.source?(Fe>1&&(console.log("found parent tile z%d-%d-%d",ct,ft,mt),console.time("drilling down")),this.splitTile(pt.source,ct,ft,mt,Ee,Re,he),Fe>1&&console.timeEnd("drilling down"),this.tiles[We]?be(this.tiles[We],Ie):null):null}}function At(at,Ee,Re){return 32*((1<{ft.properties=_t;let Bt={};for(let Et of mt)Bt[Et]=We[Et].evaluate(ct,ft);return Bt},Fe.reduce=(_t,Bt)=>{ft.properties=Bt;for(let Et of mt)ct.accumulated=_t[Et],_t[Et]=pt[Et].evaluate(ct,ft)},Fe}(Ee)).load((yield this._pendingData).features):(ye=yield this._pendingData,new yt(ye,Ee.geojsonVtOptions)),this.loaded={};let Ie={};if(he){let Fe=he.finish();Fe&&(Ie.resourceTiming={},Ie.resourceTiming[Ee.source]=JSON.parse(JSON.stringify(Fe)))}return Ie}catch(Ie){if(delete this._pendingRequest,l.bB(Ie))return{abandoned:!0};throw Ie}var ye})}getData(){return l._(this,void 0,void 0,function*(){return this._pendingData})}reloadTile(Ee){let Re=this.loaded;return Re&&Re[Ee.uid]?super.reloadTile(Ee):this.loadTile(Ee)}loadAndProcessGeoJSON(Ee,Re){return l._(this,void 0,void 0,function*(){let he=yield this.loadGeoJSON(Ee,Re);if(delete this._pendingRequest,typeof he!="object")throw new Error(`Input data given to '${Ee.source}' is not a valid GeoJSON object.`);if(p(he,!0),Ee.filter){let ye=l.bC(Ee.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if(ye.result==="error")throw new Error(ye.value.map(Fe=>`${Fe.key}: ${Fe.message}`).join(", "));he={type:"FeatureCollection",features:he.features.filter(Fe=>ye.value.evaluate({zoom:0},Fe))}}return he})}loadGeoJSON(Ee,Re){return l._(this,void 0,void 0,function*(){let{promoteId:he}=Ee;if(Ee.request){let ye=yield l.h(Ee.request,Re);return this._dataUpdateable=Zt(ye.data,he)?vr(ye.data,he):void 0,ye.data}if(typeof Ee.data=="string")try{let ye=JSON.parse(Ee.data);return this._dataUpdateable=Zt(ye,he)?vr(ye,he):void 0,ye}catch{throw new Error(`Input data given to '${Ee.source}' is not a valid GeoJSON object.`)}if(!Ee.dataDiff)throw new Error(`Input data given to '${Ee.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${Ee.source}`);return function(ye,Ie,Fe){var He,We,pt,ct;if(Ie.removeAll&&ye.clear(),Ie.remove)for(let ft of Ie.remove)ye.delete(ft);if(Ie.add)for(let ft of Ie.add){let mt=It(ft,Fe);mt!=null&&ye.set(mt,ft)}if(Ie.update)for(let ft of Ie.update){let mt=ye.get(ft.id);if(mt==null)continue;let _t=!ft.removeAllProperties&&(((He=ft.removeProperties)===null||He===void 0?void 0:He.length)>0||((We=ft.addOrUpdateProperties)===null||We===void 0?void 0:We.length)>0);if((ft.newGeometry||ft.removeAllProperties||_t)&&(mt=Object.assign({},mt),ye.set(ft.id,mt),_t&&(mt.properties=Object.assign({},mt.properties))),ft.newGeometry&&(mt.geometry=ft.newGeometry),ft.removeAllProperties)mt.properties={};else if(((pt=ft.removeProperties)===null||pt===void 0?void 0:pt.length)>0)for(let Bt of ft.removeProperties)Object.prototype.hasOwnProperty.call(mt.properties,Bt)&&delete mt.properties[Bt];if(((ct=ft.addOrUpdateProperties)===null||ct===void 0?void 0:ct.length)>0)for(let{key:Bt,value:Et}of ft.addOrUpdateProperties)mt.properties[Bt]=Et}}(this._dataUpdateable,Ee.dataDiff,he),{type:"FeatureCollection",features:Array.from(this._dataUpdateable.values())}})}removeSource(Ee){return l._(this,void 0,void 0,function*(){this._pendingRequest&&this._pendingRequest.abort()})}getClusterExpansionZoom(Ee){return this._geoJSONIndex.getClusterExpansionZoom(Ee.clusterId)}getClusterChildren(Ee){return this._geoJSONIndex.getChildren(Ee.clusterId)}getClusterLeaves(Ee){return this._geoJSONIndex.getLeaves(Ee.clusterId,Ee.limit,Ee.offset)}}class Jt{constructor(Ee){this.self=Ee,this.actor=new l.F(Ee),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(Re,he)=>{if(this.externalWorkerSourceTypes[Re])throw new Error(`Worker source with name "${Re}" already registered.`);this.externalWorkerSourceTypes[Re]=he},this.self.addProtocol=l.bi,this.self.removeProtocol=l.bj,this.self.registerRTLTextPlugin=Re=>{if(l.bD.isParsed())throw new Error("RTL text plugin already registered.");l.bD.setMethods(Re)},this.actor.registerMessageHandler("LDT",(Re,he)=>this._getDEMWorkerSource(Re,he.source).loadTile(he)),this.actor.registerMessageHandler("RDT",(Re,he)=>l._(this,void 0,void 0,function*(){this._getDEMWorkerSource(Re,he.source).removeTile(he)})),this.actor.registerMessageHandler("GCEZ",(Re,he)=>l._(this,void 0,void 0,function*(){return this._getWorkerSource(Re,he.type,he.source).getClusterExpansionZoom(he)})),this.actor.registerMessageHandler("GCC",(Re,he)=>l._(this,void 0,void 0,function*(){return this._getWorkerSource(Re,he.type,he.source).getClusterChildren(he)})),this.actor.registerMessageHandler("GCL",(Re,he)=>l._(this,void 0,void 0,function*(){return this._getWorkerSource(Re,he.type,he.source).getClusterLeaves(he)})),this.actor.registerMessageHandler("LD",(Re,he)=>this._getWorkerSource(Re,he.type,he.source).loadData(he)),this.actor.registerMessageHandler("GD",(Re,he)=>this._getWorkerSource(Re,he.type,he.source).getData()),this.actor.registerMessageHandler("LT",(Re,he)=>this._getWorkerSource(Re,he.type,he.source).loadTile(he)),this.actor.registerMessageHandler("RT",(Re,he)=>this._getWorkerSource(Re,he.type,he.source).reloadTile(he)),this.actor.registerMessageHandler("AT",(Re,he)=>this._getWorkerSource(Re,he.type,he.source).abortTile(he)),this.actor.registerMessageHandler("RMT",(Re,he)=>this._getWorkerSource(Re,he.type,he.source).removeTile(he)),this.actor.registerMessageHandler("RS",(Re,he)=>l._(this,void 0,void 0,function*(){if(!this.workerSources[Re]||!this.workerSources[Re][he.type]||!this.workerSources[Re][he.type][he.source])return;let ye=this.workerSources[Re][he.type][he.source];delete this.workerSources[Re][he.type][he.source],ye.removeSource!==void 0&&ye.removeSource(he)})),this.actor.registerMessageHandler("RM",Re=>l._(this,void 0,void 0,function*(){delete this.layerIndexes[Re],delete this.availableImages[Re],delete this.workerSources[Re],delete this.demWorkerSources[Re]})),this.actor.registerMessageHandler("SR",(Re,he)=>l._(this,void 0,void 0,function*(){this.referrer=he})),this.actor.registerMessageHandler("SRPS",(Re,he)=>this._syncRTLPluginState(Re,he)),this.actor.registerMessageHandler("IS",(Re,he)=>l._(this,void 0,void 0,function*(){this.self.importScripts(he)})),this.actor.registerMessageHandler("SI",(Re,he)=>this._setImages(Re,he)),this.actor.registerMessageHandler("UL",(Re,he)=>l._(this,void 0,void 0,function*(){this._getLayerIndex(Re).update(he.layers,he.removedIds)})),this.actor.registerMessageHandler("SL",(Re,he)=>l._(this,void 0,void 0,function*(){this._getLayerIndex(Re).replace(he)}))}_setImages(Ee,Re){return l._(this,void 0,void 0,function*(){this.availableImages[Ee]=Re;for(let he in this.workerSources[Ee]){let ye=this.workerSources[Ee][he];for(let Ie in ye)ye[Ie].availableImages=Re}})}_syncRTLPluginState(Ee,Re){return l._(this,void 0,void 0,function*(){if(l.bD.isParsed())return l.bD.getState();if(Re.pluginStatus!=="loading")return l.bD.setState(Re),Re;let he=Re.pluginURL;if(this.self.importScripts(he),l.bD.isParsed()){let ye={pluginStatus:"loaded",pluginURL:he};return l.bD.setState(ye),ye}throw l.bD.setState({pluginStatus:"error",pluginURL:""}),new Error(`RTL Text Plugin failed to import scripts from ${he}`)})}_getAvailableImages(Ee){let Re=this.availableImages[Ee];return Re||(Re=[]),Re}_getLayerIndex(Ee){let Re=this.layerIndexes[Ee];return Re||(Re=this.layerIndexes[Ee]=new e),Re}_getWorkerSource(Ee,Re,he){if(this.workerSources[Ee]||(this.workerSources[Ee]={}),this.workerSources[Ee][Re]||(this.workerSources[Ee][Re]={}),!this.workerSources[Ee][Re][he]){let ye={sendAsync:(Ie,Fe)=>(Ie.targetMapId=Ee,this.actor.sendAsync(Ie,Fe))};switch(Re){case"vector":this.workerSources[Ee][Re][he]=new n(ye,this._getLayerIndex(Ee),this._getAvailableImages(Ee));break;case"geojson":this.workerSources[Ee][Re][he]=new Ut(ye,this._getLayerIndex(Ee),this._getAvailableImages(Ee));break;default:this.workerSources[Ee][Re][he]=new this.externalWorkerSourceTypes[Re](ye,this._getLayerIndex(Ee),this._getAvailableImages(Ee))}}return this.workerSources[Ee][Re][he]}_getDEMWorkerSource(Ee,Re){return this.demWorkerSources[Ee]||(this.demWorkerSources[Ee]={}),this.demWorkerSources[Ee][Re]||(this.demWorkerSources[Ee][Re]=new i),this.demWorkerSources[Ee][Re]}}return l.i(self)&&(self.worker=new Jt(self)),Jt}),w("index",["exports","./shared"],function(l,e){"use strict";var t="4.7.1";let a,r,n={now:typeof performance<"u"&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:Me=>new Promise((L,J)=>{let fe=requestAnimationFrame(L);Me.signal.addEventListener("abort",()=>{cancelAnimationFrame(fe),J(e.c())})}),getImageData(Me,L=0){return this.getImageCanvasContext(Me).getImageData(-L,-L,Me.width+2*L,Me.height+2*L)},getImageCanvasContext(Me){let L=window.document.createElement("canvas"),J=L.getContext("2d",{willReadFrequently:!0});if(!J)throw new Error("failed to create canvas 2d context");return L.width=Me.width,L.height=Me.height,J.drawImage(Me,0,0,Me.width,Me.height),J},resolveURL:Me=>(a||(a=document.createElement("a")),a.href=Me,a.href),hardwareConcurrency:typeof navigator<"u"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(r==null&&(r=matchMedia("(prefers-reduced-motion: reduce)")),r.matches)}};class i{static testProp(L){if(!i.docStyle)return L[0];for(let J=0;J{window.removeEventListener("click",i.suppressClickInternal,!0)},0)}static getScale(L){let J=L.getBoundingClientRect();return{x:J.width/L.offsetWidth||1,y:J.height/L.offsetHeight||1,boundingClientRect:J}}static getPoint(L,J,fe){let de=J.boundingClientRect;return new e.P((fe.clientX-de.left)/J.x-L.clientLeft,(fe.clientY-de.top)/J.y-L.clientTop)}static mousePos(L,J){let fe=i.getScale(L);return i.getPoint(L,fe,J)}static touchPos(L,J){let fe=[],de=i.getScale(L);for(let Ae=0;Ae{c&&y(c),c=null,d=!0},p.onerror=()=>{f=!0,c=null},p.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="),function(Me){let L,J,fe,de;Me.resetRequestQueue=()=>{L=[],J=0,fe=0,de={}},Me.addThrottleControl=dt=>{let St=fe++;return de[St]=dt,St},Me.removeThrottleControl=dt=>{delete de[dt],Ye()},Me.getImage=(dt,St,Ht=!0)=>new Promise((Wt,fr)=>{s.supported&&(dt.headers||(dt.headers={}),dt.headers.accept="image/webp,*/*"),e.e(dt,{type:"image"}),L.push({abortController:St,requestParameters:dt,supportImageRefresh:Ht,state:"queued",onError:Ar=>{fr(Ar)},onSuccess:Ar=>{Wt(Ar)}}),Ye()});let Ae=dt=>e._(this,void 0,void 0,function*(){dt.state="running";let{requestParameters:St,supportImageRefresh:Ht,onError:Wt,onSuccess:fr,abortController:Ar}=dt,Le=Ht===!1&&!e.i(self)&&!e.g(St.url)&&(!St.headers||Object.keys(St.headers).reduce((Xe,st)=>Xe&&st==="accept",!0));J++;let ze=Le?et(St,Ar):e.m(St,Ar);try{let Xe=yield ze;delete dt.abortController,dt.state="completed",Xe.data instanceof HTMLImageElement||e.b(Xe.data)?fr(Xe):Xe.data&&fr({data:yield(je=Xe.data,typeof createImageBitmap=="function"?e.d(je):e.f(je)),cacheControl:Xe.cacheControl,expires:Xe.expires})}catch(Xe){delete dt.abortController,Wt(Xe)}finally{J--,Ye()}var je}),Ye=()=>{let dt=(()=>{for(let St of Object.keys(de))if(de[St]())return!0;return!1})()?e.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:e.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let St=J;St0;St++){let Ht=L.shift();Ht.abortController.signal.aborted?St--:Ae(Ht)}},et=(dt,St)=>new Promise((Ht,Wt)=>{let fr=new Image,Ar=dt.url,Le=dt.credentials;Le&&Le==="include"?fr.crossOrigin="use-credentials":(Le&&Le==="same-origin"||!e.s(Ar))&&(fr.crossOrigin="anonymous"),St.signal.addEventListener("abort",()=>{fr.src="",Wt(e.c())}),fr.fetchPriority="high",fr.onload=()=>{fr.onerror=fr.onload=null,Ht({data:fr})},fr.onerror=()=>{fr.onerror=fr.onload=null,St.signal.aborted||Wt(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."))},fr.src=Ar})}(o||(o={})),o.resetRequestQueue();class b{constructor(L){this._transformRequestFn=L}transformRequest(L,J){return this._transformRequestFn&&this._transformRequestFn(L,J)||{url:L}}setTransformRequest(L){this._transformRequestFn=L}}function M(Me){var L=new e.A(3);return L[0]=Me[0],L[1]=Me[1],L[2]=Me[2],L}var A,E=function(Me,L,J){return Me[0]=L[0]-J[0],Me[1]=L[1]-J[1],Me[2]=L[2]-J[2],Me};A=new e.A(3),e.A!=Float32Array&&(A[0]=0,A[1]=0,A[2]=0);var g=function(Me){var L=Me[0],J=Me[1];return L*L+J*J};function T(Me){let L=[];if(typeof Me=="string")L.push({id:"default",url:Me});else if(Me&&Me.length>0){let J=[];for(let{id:fe,url:de}of Me){let Ae=`${fe}${de}`;J.indexOf(Ae)===-1&&(J.push(Ae),L.push({id:fe,url:de}))}}return L}function m(Me,L,J){let fe=Me.split("?");return fe[0]+=`${L}${J}`,fe.join("?")}(function(){var Me=new e.A(2);e.A!=Float32Array&&(Me[0]=0,Me[1]=0)})();class h{constructor(L,J,fe,de){this.context=L,this.format=fe,this.texture=L.gl.createTexture(),this.update(J,de)}update(L,J,fe){let{width:de,height:Ae}=L,Ye=!(this.size&&this.size[0]===de&&this.size[1]===Ae||fe),{context:et}=this,{gl:dt}=et;if(this.useMipmap=!!(J&&J.useMipmap),dt.bindTexture(dt.TEXTURE_2D,this.texture),et.pixelStoreUnpackFlipY.set(!1),et.pixelStoreUnpack.set(1),et.pixelStoreUnpackPremultiplyAlpha.set(this.format===dt.RGBA&&(!J||J.premultiply!==!1)),Ye)this.size=[de,Ae],L instanceof HTMLImageElement||L instanceof HTMLCanvasElement||L instanceof HTMLVideoElement||L instanceof ImageData||e.b(L)?dt.texImage2D(dt.TEXTURE_2D,0,this.format,this.format,dt.UNSIGNED_BYTE,L):dt.texImage2D(dt.TEXTURE_2D,0,this.format,de,Ae,0,this.format,dt.UNSIGNED_BYTE,L.data);else{let{x:St,y:Ht}=fe||{x:0,y:0};L instanceof HTMLImageElement||L instanceof HTMLCanvasElement||L instanceof HTMLVideoElement||L instanceof ImageData||e.b(L)?dt.texSubImage2D(dt.TEXTURE_2D,0,St,Ht,dt.RGBA,dt.UNSIGNED_BYTE,L):dt.texSubImage2D(dt.TEXTURE_2D,0,St,Ht,de,Ae,dt.RGBA,dt.UNSIGNED_BYTE,L.data)}this.useMipmap&&this.isSizePowerOfTwo()&&dt.generateMipmap(dt.TEXTURE_2D)}bind(L,J,fe){let{context:de}=this,{gl:Ae}=de;Ae.bindTexture(Ae.TEXTURE_2D,this.texture),fe!==Ae.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(fe=Ae.LINEAR),L!==this.filter&&(Ae.texParameteri(Ae.TEXTURE_2D,Ae.TEXTURE_MAG_FILTER,L),Ae.texParameteri(Ae.TEXTURE_2D,Ae.TEXTURE_MIN_FILTER,fe||L),this.filter=L),J!==this.wrap&&(Ae.texParameteri(Ae.TEXTURE_2D,Ae.TEXTURE_WRAP_S,J),Ae.texParameteri(Ae.TEXTURE_2D,Ae.TEXTURE_WRAP_T,J),this.wrap=J)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:L}=this.context;L.deleteTexture(this.texture),this.texture=null}}function x(Me){let{userImage:L}=Me;return!!(L&&L.render&&L.render())&&(Me.data.replace(new Uint8Array(L.data.buffer)),!0)}class _ extends e.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new e.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(L){if(this.loaded!==L&&(this.loaded=L,L)){for(let{ids:J,promiseResolve:fe}of this.requestors)fe(this._getImagesForIds(J));this.requestors=[]}}getImage(L){let J=this.images[L];if(J&&!J.data&&J.spriteData){let fe=J.spriteData;J.data=new e.R({width:fe.width,height:fe.height},fe.context.getImageData(fe.x,fe.y,fe.width,fe.height).data),J.spriteData=null}return J}addImage(L,J){if(this.images[L])throw new Error(`Image id ${L} already exist, use updateImage instead`);this._validate(L,J)&&(this.images[L]=J)}_validate(L,J){let fe=!0,de=J.data||J.spriteData;return this._validateStretch(J.stretchX,de&&de.width)||(this.fire(new e.j(new Error(`Image "${L}" has invalid "stretchX" value`))),fe=!1),this._validateStretch(J.stretchY,de&&de.height)||(this.fire(new e.j(new Error(`Image "${L}" has invalid "stretchY" value`))),fe=!1),this._validateContent(J.content,J)||(this.fire(new e.j(new Error(`Image "${L}" has invalid "content" value`))),fe=!1),fe}_validateStretch(L,J){if(!L)return!0;let fe=0;for(let de of L){if(de[0]{let de=!0;if(!this.isLoaded())for(let Ae of L)this.images[Ae]||(de=!1);this.isLoaded()||de?J(this._getImagesForIds(L)):this.requestors.push({ids:L,promiseResolve:J})})}_getImagesForIds(L){let J={};for(let fe of L){let de=this.getImage(fe);de||(this.fire(new e.k("styleimagemissing",{id:fe})),de=this.getImage(fe)),de?J[fe]={data:de.data.clone(),pixelRatio:de.pixelRatio,sdf:de.sdf,version:de.version,stretchX:de.stretchX,stretchY:de.stretchY,content:de.content,textFitWidth:de.textFitWidth,textFitHeight:de.textFitHeight,hasRenderCallback:!!(de.userImage&&de.userImage.render)}:e.w(`Image "${fe}" 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 J}getPixelSize(){let{width:L,height:J}=this.atlasImage;return{width:L,height:J}}getPattern(L){let J=this.patterns[L],fe=this.getImage(L);if(!fe)return null;if(J&&J.position.version===fe.version)return J.position;if(J)J.position.version=fe.version;else{let de={w:fe.data.width+2,h:fe.data.height+2,x:0,y:0},Ae=new e.I(de,fe);this.patterns[L]={bin:de,position:Ae}}return this._updatePatternAtlas(),this.patterns[L].position}bind(L){let J=L.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new h(L,this.atlasImage,J.RGBA),this.atlasTexture.bind(J.LINEAR,J.CLAMP_TO_EDGE)}_updatePatternAtlas(){let L=[];for(let Ae in this.patterns)L.push(this.patterns[Ae].bin);let{w:J,h:fe}=e.p(L),de=this.atlasImage;de.resize({width:J||1,height:fe||1});for(let Ae in this.patterns){let{bin:Ye}=this.patterns[Ae],et=Ye.x+1,dt=Ye.y+1,St=this.getImage(Ae).data,Ht=St.width,Wt=St.height;e.R.copy(St,de,{x:0,y:0},{x:et,y:dt},{width:Ht,height:Wt}),e.R.copy(St,de,{x:0,y:Wt-1},{x:et,y:dt-1},{width:Ht,height:1}),e.R.copy(St,de,{x:0,y:0},{x:et,y:dt+Wt},{width:Ht,height:1}),e.R.copy(St,de,{x:Ht-1,y:0},{x:et-1,y:dt},{width:1,height:Wt}),e.R.copy(St,de,{x:0,y:0},{x:et+Ht,y:dt},{width:1,height:Wt})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(L){for(let J of L){if(this.callbackDispatchedThisFrame[J])continue;this.callbackDispatchedThisFrame[J]=!0;let fe=this.getImage(J);fe||e.w(`Image with ID: "${J}" was not found`),x(fe)&&this.updateImage(J,fe)}}}let D=1e20;function C(Me,L,J,fe,de,Ae,Ye,et,dt){for(let St=L;St-1);dt++,Ae[dt]=et,Ye[dt]=St,Ye[dt+1]=D}for(let et=0,dt=0;et65535)throw new Error("glyphs > 65535 not supported");if(fe.ranges[Ae])return{stack:L,id:J,glyph:de};if(!this.url)throw new Error("glyphsUrl is not set");if(!fe.requests[Ae]){let et=I.loadGlyphRange(L,Ae,this.url,this.requestManager);fe.requests[Ae]=et}let Ye=yield fe.requests[Ae];for(let et in Ye)this._doesCharSupportLocalGlyph(+et)||(fe.glyphs[+et]=Ye[+et]);return fe.ranges[Ae]=!0,{stack:L,id:J,glyph:Ye[J]||null}})}_doesCharSupportLocalGlyph(L){return!!this.localIdeographFontFamily&&new RegExp("\\p{Ideo}|\\p{sc=Hang}|\\p{sc=Hira}|\\p{sc=Kana}","u").test(String.fromCodePoint(L))}_tinySDF(L,J,fe){let de=this.localIdeographFontFamily;if(!de||!this._doesCharSupportLocalGlyph(fe))return;let Ae=L.tinySDF;if(!Ae){let et="400";/bold/i.test(J)?et="900":/medium/i.test(J)?et="500":/light/i.test(J)&&(et="200"),Ae=L.tinySDF=new I.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:de,fontWeight:et})}let Ye=Ae.draw(String.fromCharCode(fe));return{id:fe,bitmap:new e.o({width:Ye.width||60,height:Ye.height||60},Ye.data),metrics:{width:Ye.glyphWidth/2||24,height:Ye.glyphHeight/2||24,left:Ye.glyphLeft/2+.5||0,top:Ye.glyphTop/2-27.5||-8,advance:Ye.glyphAdvance/2||24,isDoubleResolution:!0}}}}I.loadGlyphRange=function(Me,L,J,fe){return e._(this,void 0,void 0,function*(){let de=256*L,Ae=de+255,Ye=fe.transformRequest(J.replace("{fontstack}",Me).replace("{range}",`${de}-${Ae}`),"Glyphs"),et=yield e.l(Ye,new AbortController);if(!et||!et.data)throw new Error(`Could not load glyph range. range: ${L}, ${de}-${Ae}`);let dt={};for(let St of e.n(et.data))dt[St.id]=St;return dt})},I.TinySDF=class{constructor({fontSize:Me=24,buffer:L=3,radius:J=8,cutoff:fe=.25,fontFamily:de="sans-serif",fontWeight:Ae="normal",fontStyle:Ye="normal"}={}){this.buffer=L,this.cutoff=fe,this.radius=J;let et=this.size=Me+4*L,dt=this._createCanvas(et),St=this.ctx=dt.getContext("2d",{willReadFrequently:!0});St.font=`${Ye} ${Ae} ${Me}px ${de}`,St.textBaseline="alphabetic",St.textAlign="left",St.fillStyle="black",this.gridOuter=new Float64Array(et*et),this.gridInner=new Float64Array(et*et),this.f=new Float64Array(et),this.z=new Float64Array(et+1),this.v=new Uint16Array(et)}_createCanvas(Me){let L=document.createElement("canvas");return L.width=L.height=Me,L}draw(Me){let{width:L,actualBoundingBoxAscent:J,actualBoundingBoxDescent:fe,actualBoundingBoxLeft:de,actualBoundingBoxRight:Ae}=this.ctx.measureText(Me),Ye=Math.ceil(J),et=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(Ae-de))),dt=Math.min(this.size-this.buffer,Ye+Math.ceil(fe)),St=et+2*this.buffer,Ht=dt+2*this.buffer,Wt=Math.max(St*Ht,0),fr=new Uint8ClampedArray(Wt),Ar={data:fr,width:St,height:Ht,glyphWidth:et,glyphHeight:dt,glyphTop:Ye,glyphLeft:0,glyphAdvance:L};if(et===0||dt===0)return Ar;let{ctx:Le,buffer:ze,gridInner:je,gridOuter:Xe}=this;Le.clearRect(ze,ze,et,dt),Le.fillText(Me,ze,ze+Ye);let st=Le.getImageData(ze,ze,et,dt);Xe.fill(D,0,Wt),je.fill(0,0,Wt);for(let Qe=0;Qe0?$t*$t:0,je[Ot]=$t<0?$t*$t:0}}C(Xe,0,0,St,Ht,St,this.f,this.v,this.z),C(je,ze,ze,et,dt,St,this.f,this.v,this.z);for(let Qe=0;Qe1&&(dt=L[++et]);let Ht=Math.abs(St-dt.left),Wt=Math.abs(St-dt.right),fr=Math.min(Ht,Wt),Ar,Le=Ae/fe*(de+1);if(dt.isDash){let ze=de-Math.abs(Le);Ar=Math.sqrt(fr*fr+ze*ze)}else Ar=de-Math.sqrt(fr*fr+Le*Le);this.data[Ye+St]=Math.max(0,Math.min(255,Ar+128))}}}addRegularDash(L){for(let et=L.length-1;et>=0;--et){let dt=L[et],St=L[et+1];dt.zeroLength?L.splice(et,1):St&&St.isDash===dt.isDash&&(St.left=dt.left,L.splice(et,1))}let J=L[0],fe=L[L.length-1];J.isDash===fe.isDash&&(J.left=fe.left-this.width,fe.right=J.right+this.width);let de=this.width*this.nextRow,Ae=0,Ye=L[Ae];for(let et=0;et1&&(Ye=L[++Ae]);let dt=Math.abs(et-Ye.left),St=Math.abs(et-Ye.right),Ht=Math.min(dt,St);this.data[de+et]=Math.max(0,Math.min(255,(Ye.isDash?Ht:-Ht)+128))}}addDash(L,J){let fe=J?7:0,de=2*fe+1;if(this.nextRow+de>this.height)return e.w("LineAtlas out of space"),null;let Ae=0;for(let et=0;et{J.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[Y]}numActive(){return Object.keys(this.active).length}}let te=Math.floor(n.hardwareConcurrency/2),ae,j;function G(){return ae||(ae=new ee),ae}ee.workerCount=e.C(globalThis)?Math.max(Math.min(te,3),1):1;class K{constructor(L,J){this.workerPool=L,this.actors=[],this.currentActor=0,this.id=J;let fe=this.workerPool.acquire(J);for(let de=0;de{J.remove()}),this.actors=[],L&&this.workerPool.release(this.id)}registerMessageHandler(L,J){for(let fe of this.actors)fe.registerMessageHandler(L,J)}}function H(){return j||(j=new K(G(),e.G),j.registerMessageHandler("GR",(Me,L,J)=>e.m(L,J))),j}function Z(Me,L){let J=e.H();return e.J(J,J,[1,1,0]),e.K(J,J,[.5*Me.width,.5*Me.height,1]),e.L(J,J,Me.calculatePosMatrix(L.toUnwrapped()))}function X(Me,L,J,fe,de,Ae){let Ye=function(Wt,fr,Ar){if(Wt)for(let Le of Wt){let ze=fr[Le];if(ze&&ze.source===Ar&&ze.type==="fill-extrusion")return!0}else for(let Le in fr){let ze=fr[Le];if(ze.source===Ar&&ze.type==="fill-extrusion")return!0}return!1}(de&&de.layers,L,Me.id),et=Ae.maxPitchScaleFactor(),dt=Me.tilesIn(fe,et,Ye);dt.sort($);let St=[];for(let Wt of dt)St.push({wrappedTileID:Wt.tileID.wrapped().key,queryResults:Wt.tile.queryRenderedFeatures(L,J,Me._state,Wt.queryGeometry,Wt.cameraQueryGeometry,Wt.scale,de,Ae,et,Z(Me.transform,Wt.tileID))});let Ht=function(Wt){let fr={},Ar={};for(let Le of Wt){let ze=Le.queryResults,je=Le.wrappedTileID,Xe=Ar[je]=Ar[je]||{};for(let st in ze){let Qe=ze[st],ht=Xe[st]=Xe[st]||{},Dt=fr[st]=fr[st]||[];for(let Ot of Qe)ht[Ot.featureIndex]||(ht[Ot.featureIndex]=!0,Dt.push(Ot))}}return fr}(St);for(let Wt in Ht)Ht[Wt].forEach(fr=>{let Ar=fr.feature,Le=Me.getFeatureState(Ar.layer["source-layer"],Ar.id);Ar.source=Ar.layer.source,Ar.layer["source-layer"]&&(Ar.sourceLayer=Ar.layer["source-layer"]),Ar.state=Le});return Ht}function $(Me,L){let J=Me.tileID,fe=L.tileID;return J.overscaledZ-fe.overscaledZ||J.canonical.y-fe.canonical.y||J.wrap-fe.wrap||J.canonical.x-fe.canonical.x}function Q(Me,L,J){return e._(this,void 0,void 0,function*(){let fe=Me;if(Me.url?fe=(yield e.h(L.transformRequest(Me.url,"Source"),J)).data:yield n.frameAsync(J),!fe)return null;let de=e.M(e.e(fe,Me),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);return"vector_layers"in fe&&fe.vector_layers&&(de.vectorLayerIds=fe.vector_layers.map(Ae=>Ae.id)),de})}class re{constructor(L,J){L&&(J?this.setSouthWest(L).setNorthEast(J):Array.isArray(L)&&(L.length===4?this.setSouthWest([L[0],L[1]]).setNorthEast([L[2],L[3]]):this.setSouthWest(L[0]).setNorthEast(L[1])))}setNorthEast(L){return this._ne=L instanceof e.N?new e.N(L.lng,L.lat):e.N.convert(L),this}setSouthWest(L){return this._sw=L instanceof e.N?new e.N(L.lng,L.lat):e.N.convert(L),this}extend(L){let J=this._sw,fe=this._ne,de,Ae;if(L instanceof e.N)de=L,Ae=L;else{if(!(L instanceof re))return Array.isArray(L)?L.length===4||L.every(Array.isArray)?this.extend(re.convert(L)):this.extend(e.N.convert(L)):L&&("lng"in L||"lon"in L)&&"lat"in L?this.extend(e.N.convert(L)):this;if(de=L._sw,Ae=L._ne,!de||!Ae)return this}return J||fe?(J.lng=Math.min(de.lng,J.lng),J.lat=Math.min(de.lat,J.lat),fe.lng=Math.max(Ae.lng,fe.lng),fe.lat=Math.max(Ae.lat,fe.lat)):(this._sw=new e.N(de.lng,de.lat),this._ne=new e.N(Ae.lng,Ae.lat)),this}getCenter(){return new e.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 e.N(this.getWest(),this.getNorth())}getSouthEast(){return new e.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(L){let{lng:J,lat:fe}=e.N.convert(L),de=this._sw.lng<=J&&J<=this._ne.lng;return this._sw.lng>this._ne.lng&&(de=this._sw.lng>=J&&J>=this._ne.lng),this._sw.lat<=fe&&fe<=this._ne.lat&&de}static convert(L){return L instanceof re?L:L&&new re(L)}static fromLngLat(L,J=0){let fe=360*J/40075017,de=fe/Math.cos(Math.PI/180*L.lat);return new re(new e.N(L.lng-de,L.lat-fe),new e.N(L.lng+de,L.lat+fe))}adjustAntiMeridian(){let L=new e.N(this._sw.lng,this._sw.lat),J=new e.N(this._ne.lng,this._ne.lat);return new re(L,L.lng>J.lng?new e.N(J.lng+360,J.lat):J)}}class ue{constructor(L,J,fe){this.bounds=re.convert(this.validateBounds(L)),this.minzoom=J||0,this.maxzoom=fe||24}validateBounds(L){return Array.isArray(L)&&L.length===4?[Math.max(-180,L[0]),Math.max(-90,L[1]),Math.min(180,L[2]),Math.min(90,L[3])]:[-180,-90,180,90]}contains(L){let J=Math.pow(2,L.z),fe=Math.floor(e.O(this.bounds.getWest())*J),de=Math.floor(e.Q(this.bounds.getNorth())*J),Ae=Math.ceil(e.O(this.bounds.getEast())*J),Ye=Math.ceil(e.Q(this.bounds.getSouth())*J);return L.x>=fe&&L.x=de&&L.y{this._options.tiles=L}),this}setUrl(L){return this.setSourceProperty(()=>{this.url=L,this._options.url=L}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return e.e({},this._options)}loadTile(L){return e._(this,void 0,void 0,function*(){let J=L.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),fe={request:this.map._requestManager.transformRequest(J,"Tile"),uid:L.uid,tileID:L.tileID,zoom:L.tileID.overscaledZ,tileSize:this.tileSize*L.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};fe.request.collectResourceTiming=this._collectResourceTiming;let de="RT";if(L.actor&&L.state!=="expired"){if(L.state==="loading")return new Promise((Ae,Ye)=>{L.reloadPromise={resolve:Ae,reject:Ye}})}else L.actor=this.dispatcher.getActor(),de="LT";L.abortController=new AbortController;try{let Ae=yield L.actor.sendAsync({type:de,data:fe},L.abortController);if(delete L.abortController,L.aborted)return;this._afterTileLoadWorkerResponse(L,Ae)}catch(Ae){if(delete L.abortController,L.aborted)return;if(Ae&&Ae.status!==404)throw Ae;this._afterTileLoadWorkerResponse(L,null)}})}_afterTileLoadWorkerResponse(L,J){if(J&&J.resourceTiming&&(L.resourceTiming=J.resourceTiming),J&&this.map._refreshExpiredTiles&&L.setExpiryData(J),L.loadVectorData(J,this.map.painter),L.reloadPromise){let fe=L.reloadPromise;L.reloadPromise=null,this.loadTile(L).then(fe.resolve).catch(fe.reject)}}abortTile(L){return e._(this,void 0,void 0,function*(){L.abortController&&(L.abortController.abort(),delete L.abortController),L.actor&&(yield L.actor.sendAsync({type:"AT",data:{uid:L.uid,type:this.type,source:this.id}}))})}unloadTile(L){return e._(this,void 0,void 0,function*(){L.unloadVectorData(),L.actor&&(yield L.actor.sendAsync({type:"RMT",data:{uid:L.uid,type:this.type,source:this.id}}))})}hasTransition(){return!1}}class ge extends e.E{constructor(L,J,fe,de){super(),this.id=L,this.dispatcher=fe,this.setEventedParent(de),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=e.e({type:"raster"},J),e.e(this,e.M(J,["url","scheme","tileSize"]))}load(){return e._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new e.k("dataloading",{dataType:"source"})),this._tileJSONRequest=new AbortController;try{let L=yield Q(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,L&&(e.e(this,L),L.bounds&&(this.tileBounds=new ue(L.bounds,this.minzoom,this.maxzoom)),this.fire(new e.k("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new e.k("data",{dataType:"source",sourceDataType:"content"})))}catch(L){this._tileJSONRequest=null,this.fire(new e.j(L))}})}loaded(){return this._loaded}onAdd(L){this.map=L,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(L){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),L(),this.load()}setTiles(L){return this.setSourceProperty(()=>{this._options.tiles=L}),this}setUrl(L){return this.setSourceProperty(()=>{this.url=L,this._options.url=L}),this}serialize(){return e.e({},this._options)}hasTile(L){return!this.tileBounds||this.tileBounds.contains(L.canonical)}loadTile(L){return e._(this,void 0,void 0,function*(){let J=L.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);L.abortController=new AbortController;try{let fe=yield o.getImage(this.map._requestManager.transformRequest(J,"Tile"),L.abortController,this.map._refreshExpiredTiles);if(delete L.abortController,L.aborted)return void(L.state="unloaded");if(fe&&fe.data){this.map._refreshExpiredTiles&&fe.cacheControl&&fe.expires&&L.setExpiryData({cacheControl:fe.cacheControl,expires:fe.expires});let de=this.map.painter.context,Ae=de.gl,Ye=fe.data;L.texture=this.map.painter.getTileTexture(Ye.width),L.texture?L.texture.update(Ye,{useMipmap:!0}):(L.texture=new h(de,Ye,Ae.RGBA,{useMipmap:!0}),L.texture.bind(Ae.LINEAR,Ae.CLAMP_TO_EDGE,Ae.LINEAR_MIPMAP_NEAREST)),L.state="loaded"}}catch(fe){if(delete L.abortController,L.aborted)L.state="unloaded";else if(fe)throw L.state="errored",fe}})}abortTile(L){return e._(this,void 0,void 0,function*(){L.abortController&&(L.abortController.abort(),delete L.abortController)})}unloadTile(L){return e._(this,void 0,void 0,function*(){L.texture&&this.map.painter.saveTileTexture(L.texture)})}hasTransition(){return!1}}class Te extends ge{constructor(L,J,fe,de){super(L,J,fe,de),this.type="raster-dem",this.maxzoom=22,this._options=e.e({type:"raster-dem"},J),this.encoding=J.encoding||"mapbox",this.redFactor=J.redFactor,this.greenFactor=J.greenFactor,this.blueFactor=J.blueFactor,this.baseShift=J.baseShift}loadTile(L){return e._(this,void 0,void 0,function*(){let J=L.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),fe=this.map._requestManager.transformRequest(J,"Tile");L.neighboringTiles=this._getNeighboringTiles(L.tileID),L.abortController=new AbortController;try{let de=yield o.getImage(fe,L.abortController,this.map._refreshExpiredTiles);if(delete L.abortController,L.aborted)return void(L.state="unloaded");if(de&&de.data){let Ae=de.data;this.map._refreshExpiredTiles&&de.cacheControl&&de.expires&&L.setExpiryData({cacheControl:de.cacheControl,expires:de.expires});let Ye=e.b(Ae)&&e.U()?Ae:yield this.readImageNow(Ae),et={type:this.type,uid:L.uid,source:this.id,rawImageData:Ye,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!L.actor||L.state==="expired"){L.actor=this.dispatcher.getActor();let dt=yield L.actor.sendAsync({type:"LDT",data:et});L.dem=dt,L.needsHillshadePrepare=!0,L.needsTerrainPrepare=!0,L.state="loaded"}}}catch(de){if(delete L.abortController,L.aborted)L.state="unloaded";else if(de)throw L.state="errored",de}})}readImageNow(L){return e._(this,void 0,void 0,function*(){if(typeof VideoFrame<"u"&&e.V()){let J=L.width+2,fe=L.height+2;try{return new e.R({width:J,height:fe},yield e.W(L,-1,-1,J,fe))}catch{}}return n.getImageData(L,1)})}_getNeighboringTiles(L){let J=L.canonical,fe=Math.pow(2,J.z),de=(J.x-1+fe)%fe,Ae=J.x===0?L.wrap-1:L.wrap,Ye=(J.x+1+fe)%fe,et=J.x+1===fe?L.wrap+1:L.wrap,dt={};return dt[new e.S(L.overscaledZ,Ae,J.z,de,J.y).key]={backfilled:!1},dt[new e.S(L.overscaledZ,et,J.z,Ye,J.y).key]={backfilled:!1},J.y>0&&(dt[new e.S(L.overscaledZ,Ae,J.z,de,J.y-1).key]={backfilled:!1},dt[new e.S(L.overscaledZ,L.wrap,J.z,J.x,J.y-1).key]={backfilled:!1},dt[new e.S(L.overscaledZ,et,J.z,Ye,J.y-1).key]={backfilled:!1}),J.y+10&&e.e(Ae,{resourceTiming:de}),this.fire(new e.k("data",Object.assign(Object.assign({},Ae),{sourceDataType:"metadata"}))),this.fire(new e.k("data",Object.assign(Object.assign({},Ae),{sourceDataType:"content"})))}catch(fe){if(this._pendingLoads--,this._removed)return void this.fire(new e.k("dataabort",{dataType:"source"}));this.fire(new e.j(fe))}})}loaded(){return this._pendingLoads===0}loadTile(L){return e._(this,void 0,void 0,function*(){let J=L.actor?"RT":"LT";L.actor=this.actor;let fe={type:this.type,uid:L.uid,tileID:L.tileID,zoom:L.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};L.abortController=new AbortController;let de=yield this.actor.sendAsync({type:J,data:fe},L.abortController);delete L.abortController,L.unloadVectorData(),L.aborted||L.loadVectorData(de,this.map.painter,J==="RT")})}abortTile(L){return e._(this,void 0,void 0,function*(){L.abortController&&(L.abortController.abort(),delete L.abortController),L.aborted=!0})}unloadTile(L){return e._(this,void 0,void 0,function*(){L.unloadVectorData(),yield this.actor.sendAsync({type:"RMT",data:{uid:L.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 e.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var Ce=e.Y([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class Ue extends e.E{constructor(L,J,fe,de){super(),this.id=L,this.dispatcher=fe,this.coordinates=J.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(de),this.options=J}load(L){return e._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new e.k("dataloading",{dataType:"source"})),this.url=this.options.url,this._request=new AbortController;try{let J=yield o.getImage(this.map._requestManager.transformRequest(this.url,"Image"),this._request);this._request=null,this._loaded=!0,J&&J.data&&(this.image=J.data,L&&(this.coordinates=L),this._finishLoading())}catch(J){this._request=null,this._loaded=!0,this.fire(new e.j(J))}})}loaded(){return this._loaded}updateImage(L){return L.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=L.url,this.load(L.coordinates).finally(()=>{this.texture=null}),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new e.k("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(L){this.map=L,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(L){this.coordinates=L;let J=L.map(e.Z.fromLngLat);this.tileID=function(de){let Ae=1/0,Ye=1/0,et=-1/0,dt=-1/0;for(let fr of de)Ae=Math.min(Ae,fr.x),Ye=Math.min(Ye,fr.y),et=Math.max(et,fr.x),dt=Math.max(dt,fr.y);let St=Math.max(et-Ae,dt-Ye),Ht=Math.max(0,Math.floor(-Math.log(St)/Math.LN2)),Wt=Math.pow(2,Ht);return new e.a1(Ht,Math.floor((Ae+et)/2*Wt),Math.floor((Ye+dt)/2*Wt))}(J),this.minzoom=this.maxzoom=this.tileID.z;let fe=J.map(de=>this.tileID.getTilePoint(de)._round());return this._boundsArray=new e.$,this._boundsArray.emplaceBack(fe[0].x,fe[0].y,0,0),this._boundsArray.emplaceBack(fe[1].x,fe[1].y,e.X,0),this._boundsArray.emplaceBack(fe[3].x,fe[3].y,0,e.X),this._boundsArray.emplaceBack(fe[2].x,fe[2].y,e.X,e.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new e.k("data",{dataType:"source",sourceDataType:"content"})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;let L=this.map.painter.context,J=L.gl;this.boundsBuffer||(this.boundsBuffer=L.createVertexBuffer(this._boundsArray,Ce.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new h(L,this.image,J.RGBA),this.texture.bind(J.LINEAR,J.CLAMP_TO_EDGE));let fe=!1;for(let de in this.tiles){let Ae=this.tiles[de];Ae.state!=="loaded"&&(Ae.state="loaded",Ae.texture=this.texture,fe=!0)}fe&&this.fire(new e.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}loadTile(L){return e._(this,void 0,void 0,function*(){this.tileID&&this.tileID.equals(L.tileID.canonical)?(this.tiles[String(L.tileID.wrap)]=L,L.buckets={}):L.state="errored"})}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class Oe extends Ue{constructor(L,J,fe,de){super(L,J,fe,de),this.roundZoom=!0,this.type="video",this.options=J}load(){return e._(this,void 0,void 0,function*(){this._loaded=!1;let L=this.options;this.urls=[];for(let J of L.urls)this.urls.push(this.map._requestManager.transformRequest(J,"Source").url);try{let J=yield e.a3(this.urls);if(this._loaded=!0,!J)return;this.video=J,this.video.loop=!0,this.video.addEventListener("playing",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading()}catch(J){this.fire(new e.j(J))}})}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(L){if(this.video){let J=this.video.seekable;LJ.end(0)?this.fire(new e.j(new e.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${J.start(0)} and ${J.end(0)}-second mark.`))):this.video.currentTime=L}}getVideo(){return this.video}onAdd(L){this.map||(this.map=L,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;let L=this.map.painter.context,J=L.gl;this.boundsBuffer||(this.boundsBuffer=L.createVertexBuffer(this._boundsArray,Ce.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(J.LINEAR,J.CLAMP_TO_EDGE),J.texSubImage2D(J.TEXTURE_2D,0,0,0,J.RGBA,J.UNSIGNED_BYTE,this.video)):(this.texture=new h(L,this.video,J.RGBA),this.texture.bind(J.LINEAR,J.CLAMP_TO_EDGE));let fe=!1;for(let de in this.tiles){let Ae=this.tiles[de];Ae.state!=="loaded"&&(Ae.state="loaded",Ae.texture=this.texture,fe=!0)}fe&&this.fire(new e.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 _e extends Ue{constructor(L,J,fe,de){super(L,J,fe,de),J.coordinates?Array.isArray(J.coordinates)&&J.coordinates.length===4&&!J.coordinates.some(Ae=>!Array.isArray(Ae)||Ae.length!==2||Ae.some(Ye=>typeof Ye!="number"))||this.fire(new e.j(new e.a2(`sources.${L}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new e.j(new e.a2(`sources.${L}`,null,'missing required property "coordinates"'))),J.animate&&typeof J.animate!="boolean"&&this.fire(new e.j(new e.a2(`sources.${L}`,null,'optional "animate" property must be a boolean value'))),J.canvas?typeof J.canvas=="string"||J.canvas instanceof HTMLCanvasElement||this.fire(new e.j(new e.a2(`sources.${L}`,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new e.j(new e.a2(`sources.${L}`,null,'missing required property "canvas"'))),this.options=J,this.animate=J.animate===void 0||J.animate}load(){return e._(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 e.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(L){this.map=L,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let L=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,L=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,L=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let J=this.map.painter.context,fe=J.gl;this.boundsBuffer||(this.boundsBuffer=J.createVertexBuffer(this._boundsArray,Ce.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),this.texture?(L||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new h(J,this.canvas,fe.RGBA,{premultiply:!0});let de=!1;for(let Ae in this.tiles){let Ye=this.tiles[Ae];Ye.state!=="loaded"&&(Ye.state="loaded",Ye.texture=this.texture,de=!0)}de&&this.fire(new e.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"canvas",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let L of[this.canvas.width,this.canvas.height])if(isNaN(L)||L<=0)return!0;return!1}}let ce={},ie=Me=>{switch(Me){case"geojson":return Se;case"image":return Ue;case"raster":return ge;case"raster-dem":return Te;case"vector":return pe;case"video":return Oe;case"canvas":return _e}return ce[Me]},se="RTLPluginLoaded";class ne extends e.E{constructor(){super(...arguments),this.status="unavailable",this.url=null,this.dispatcher=H()}_syncState(L){return this.status=L,this.dispatcher.broadcast("SRPS",{pluginStatus:L,pluginURL:this.url}).catch(J=>{throw this.status="error",J})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status="unavailable",this.url=null}setRTLTextPlugin(L){return e._(this,arguments,void 0,function*(J,fe=!1){if(this.url)throw new Error("setRTLTextPlugin cannot be called multiple times.");if(this.url=n.resolveURL(J),!this.url)throw new Error(`requested url ${J} is invalid`);if(this.status==="unavailable"){if(!fe)return this._requestImport();this.status="deferred",this._syncState(this.status)}else if(this.status==="requested")return this._requestImport()})}_requestImport(){return e._(this,void 0,void 0,function*(){yield this._syncState("loading"),this.status="loaded",this.fire(new e.k(se))})}lazyLoad(){this.status==="unavailable"?this.status="requested":this.status==="deferred"&&this._requestImport()}}let be=null;function De(){return be||(be=new ne),be}class qe{constructor(L,J){this.timeAdded=0,this.fadeEndTime=0,this.tileID=L,this.uid=e.a4(),this.uses=0,this.tileSize=J,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state="loading"}registerFadeDuration(L){let J=L+this.timeAdded;JAe.getLayer(St)).filter(Boolean);if(dt.length!==0){et.layers=dt,et.stateDependentLayerIds&&(et.stateDependentLayers=et.stateDependentLayerIds.map(St=>dt.filter(Ht=>Ht.id===St)[0]));for(let St of dt)Ye[St.id]=et}}return Ye}(L.buckets,J.style),this.hasSymbolBuckets=!1;for(let de in this.buckets){let Ae=this.buckets[de];if(Ae instanceof e.a6){if(this.hasSymbolBuckets=!0,!fe)break;Ae.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let de in this.buckets){let Ae=this.buckets[de];if(Ae instanceof e.a6&&Ae.hasRTLText){this.hasRTLText=!0,De().lazyLoad();break}}this.queryPadding=0;for(let de in this.buckets){let Ae=this.buckets[de];this.queryPadding=Math.max(this.queryPadding,J.style.getLayer(de).queryRadius(Ae))}L.imageAtlas&&(this.imageAtlas=L.imageAtlas),L.glyphAtlasImage&&(this.glyphAtlasImage=L.glyphAtlasImage)}else this.collisionBoxArray=new e.a5}unloadVectorData(){for(let L in this.buckets)this.buckets[L].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state="unloaded"}getBucket(L){return this.buckets[L.id]}upload(L){for(let fe in this.buckets){let de=this.buckets[fe];de.uploadPending()&&de.upload(L)}let J=L.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new h(L,this.imageAtlas.image,J.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new h(L,this.glyphAtlasImage,J.ALPHA),this.glyphAtlasImage=null)}prepare(L){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(L,this.imageAtlasTexture)}queryRenderedFeatures(L,J,fe,de,Ae,Ye,et,dt,St,Ht){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:de,cameraQueryGeometry:Ae,scale:Ye,tileSize:this.tileSize,pixelPosMatrix:Ht,transform:dt,params:et,queryPadding:this.queryPadding*St},L,J,fe):{}}querySourceFeatures(L,J){let fe=this.latestFeatureIndex;if(!fe||!fe.rawTileData)return;let de=fe.loadVTLayers(),Ae=J&&J.sourceLayer?J.sourceLayer:"",Ye=de._geojsonTileLayer||de[Ae];if(!Ye)return;let et=e.a7(J&&J.filter),{z:dt,x:St,y:Ht}=this.tileID.canonical,Wt={z:dt,x:St,y:Ht};for(let fr=0;frfe)de=!1;else if(J)if(this.expirationTime{this.remove(L,Ae)},fe)),this.data[de].push(Ae),this.order.push(de),this.order.length>this.max){let Ye=this._getAndRemoveByKey(this.order[0]);Ye&&this.onRemove(Ye)}return this}has(L){return L.wrapped().key in this.data}getAndRemove(L){return this.has(L)?this._getAndRemoveByKey(L.wrapped().key):null}_getAndRemoveByKey(L){let J=this.data[L].shift();return J.timeout&&clearTimeout(J.timeout),this.data[L].length===0&&delete this.data[L],this.order.splice(this.order.indexOf(L),1),J.value}getByKey(L){let J=this.data[L];return J?J[0].value:null}get(L){return this.has(L)?this.data[L.wrapped().key][0].value:null}remove(L,J){if(!this.has(L))return this;let fe=L.wrapped().key,de=J===void 0?0:this.data[fe].indexOf(J),Ae=this.data[fe][de];return this.data[fe].splice(de,1),Ae.timeout&&clearTimeout(Ae.timeout),this.data[fe].length===0&&delete this.data[fe],this.onRemove(Ae.value),this.order.splice(this.order.indexOf(fe),1),this}setMaxSize(L){for(this.max=L;this.order.length>this.max;){let J=this._getAndRemoveByKey(this.order[0]);J&&this.onRemove(J)}return this}filter(L){let J=[];for(let fe in this.data)for(let de of this.data[fe])L(de.value)||J.push(de);for(let fe of J)this.remove(fe.value.tileID,fe)}}class ut{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(L,J,fe){let de=String(J);if(this.stateChanges[L]=this.stateChanges[L]||{},this.stateChanges[L][de]=this.stateChanges[L][de]||{},e.e(this.stateChanges[L][de],fe),this.deletedStates[L]===null){this.deletedStates[L]={};for(let Ae in this.state[L])Ae!==de&&(this.deletedStates[L][Ae]=null)}else if(this.deletedStates[L]&&this.deletedStates[L][de]===null){this.deletedStates[L][de]={};for(let Ae in this.state[L][de])fe[Ae]||(this.deletedStates[L][de][Ae]=null)}else for(let Ae in fe)this.deletedStates[L]&&this.deletedStates[L][de]&&this.deletedStates[L][de][Ae]===null&&delete this.deletedStates[L][de][Ae]}removeFeatureState(L,J,fe){if(this.deletedStates[L]===null)return;let de=String(J);if(this.deletedStates[L]=this.deletedStates[L]||{},fe&&J!==void 0)this.deletedStates[L][de]!==null&&(this.deletedStates[L][de]=this.deletedStates[L][de]||{},this.deletedStates[L][de][fe]=null);else if(J!==void 0)if(this.stateChanges[L]&&this.stateChanges[L][de])for(fe in this.deletedStates[L][de]={},this.stateChanges[L][de])this.deletedStates[L][de][fe]=null;else this.deletedStates[L][de]=null;else this.deletedStates[L]=null}getState(L,J){let fe=String(J),de=e.e({},(this.state[L]||{})[fe],(this.stateChanges[L]||{})[fe]);if(this.deletedStates[L]===null)return{};if(this.deletedStates[L]){let Ae=this.deletedStates[L][J];if(Ae===null)return{};for(let Ye in Ae)delete de[Ye]}return de}initializeTileState(L,J){L.setFeatureState(this.state,J)}coalesceChanges(L,J){let fe={};for(let de in this.stateChanges){this.state[de]=this.state[de]||{};let Ae={};for(let Ye in this.stateChanges[de])this.state[de][Ye]||(this.state[de][Ye]={}),e.e(this.state[de][Ye],this.stateChanges[de][Ye]),Ae[Ye]=this.state[de][Ye];fe[de]=Ae}for(let de in this.deletedStates){this.state[de]=this.state[de]||{};let Ae={};if(this.deletedStates[de]===null)for(let Ye in this.state[de])Ae[Ye]={},this.state[de][Ye]={};else for(let Ye in this.deletedStates[de]){if(this.deletedStates[de][Ye]===null)this.state[de][Ye]={};else for(let et of Object.keys(this.deletedStates[de][Ye]))delete this.state[de][Ye][et];Ae[Ye]=this.state[de][Ye]}fe[de]=fe[de]||{},e.e(fe[de],Ae)}if(this.stateChanges={},this.deletedStates={},Object.keys(fe).length!==0)for(let de in L)L[de].setFeatureState(fe,J)}}class ot extends e.E{constructor(L,J,fe){super(),this.id=L,this.dispatcher=fe,this.on("data",de=>this._dataHandler(de)),this.on("dataloading",()=>{this._sourceErrored=!1}),this.on("error",()=>{this._sourceErrored=this._source.loaded()}),this._source=((de,Ae,Ye,et)=>{let dt=new(ie(Ae.type))(de,Ae,Ye,et);if(dt.id!==de)throw new Error(`Expected Source id to be ${de} instead of ${dt.id}`);return dt})(L,J,fe,this),this._tiles={},this._cache=new Ne(0,de=>this._unloadTile(de)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new ut,this._didEmitContent=!1,this._updated=!1}onAdd(L){this.map=L,this._maxTileCacheSize=L?L._maxTileCacheSize:null,this._maxTileCacheZoomLevels=L?L._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(L)}onRemove(L){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(L)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(let L in this._tiles){let J=this._tiles[L];if(J.state!=="loaded"&&J.state!=="errored")return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let L=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,L&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(L,J,fe){return e._(this,void 0,void 0,function*(){try{yield this._source.loadTile(L),this._tileLoaded(L,J,fe)}catch(de){L.state="errored",de.status!==404?this._source.fire(new e.j(de,{tile:L})):this.update(this.transform,this.terrain)}})}_unloadTile(L){this._source.unloadTile&&this._source.unloadTile(L)}_abortTile(L){this._source.abortTile&&this._source.abortTile(L),this._source.fire(new e.k("dataabort",{tile:L,coord:L.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(L){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(let J in this._tiles){let fe=this._tiles[J];fe.upload(L),fe.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map(L=>L.tileID).sort(yt).map(L=>L.key)}getRenderableIds(L){let J=[];for(let fe in this._tiles)this._isIdRenderable(fe,L)&&J.push(this._tiles[fe]);return L?J.sort((fe,de)=>{let Ae=fe.tileID,Ye=de.tileID,et=new e.P(Ae.canonical.x,Ae.canonical.y)._rotate(this.transform.angle),dt=new e.P(Ye.canonical.x,Ye.canonical.y)._rotate(this.transform.angle);return Ae.overscaledZ-Ye.overscaledZ||dt.y-et.y||dt.x-et.x}).map(fe=>fe.tileID.key):J.map(fe=>fe.tileID).sort(yt).map(fe=>fe.key)}hasRenderableParent(L){let J=this.findLoadedParent(L,0);return!!J&&this._isIdRenderable(J.tileID.key)}_isIdRenderable(L,J){return this._tiles[L]&&this._tiles[L].hasData()&&!this._coveredTiles[L]&&(J||!this._tiles[L].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(let L in this._tiles)this._tiles[L].state!=="errored"&&this._reloadTile(L,"reloading")}}_reloadTile(L,J){return e._(this,void 0,void 0,function*(){let fe=this._tiles[L];fe&&(fe.state!=="loading"&&(fe.state=J),yield this._loadTile(fe,L,J))})}_tileLoaded(L,J,fe){L.timeAdded=n.now(),fe==="expired"&&(L.refreshedUponExpiration=!0),this._setTileReloadTimer(J,L),this.getSource().type==="raster-dem"&&L.dem&&this._backfillDEM(L),this._state.initializeTileState(L,this.map?this.map.painter:null),L.aborted||this._source.fire(new e.k("data",{dataType:"source",tile:L,coord:L.tileID}))}_backfillDEM(L){let J=this.getRenderableIds();for(let de=0;de1||(Math.abs(Ye)>1&&(Math.abs(Ye+dt)===1?Ye+=dt:Math.abs(Ye-dt)===1&&(Ye-=dt)),Ae.dem&&de.dem&&(de.dem.backfillBorder(Ae.dem,Ye,et),de.neighboringTiles&&de.neighboringTiles[St]&&(de.neighboringTiles[St].backfilled=!0)))}}getTile(L){return this.getTileByID(L.key)}getTileByID(L){return this._tiles[L]}_retainLoadedChildren(L,J,fe,de){for(let Ae in this._tiles){let Ye=this._tiles[Ae];if(de[Ae]||!Ye.hasData()||Ye.tileID.overscaledZ<=J||Ye.tileID.overscaledZ>fe)continue;let et=Ye.tileID;for(;Ye&&Ye.tileID.overscaledZ>J+1;){let St=Ye.tileID.scaledTo(Ye.tileID.overscaledZ-1);Ye=this._tiles[St.key],Ye&&Ye.hasData()&&(et=St)}let dt=et;for(;dt.overscaledZ>J;)if(dt=dt.scaledTo(dt.overscaledZ-1),L[dt.key]){de[et.key]=et;break}}}findLoadedParent(L,J){if(L.key in this._loadedParentTiles){let fe=this._loadedParentTiles[L.key];return fe&&fe.tileID.overscaledZ>=J?fe:null}for(let fe=L.overscaledZ-1;fe>=J;fe--){let de=L.scaledTo(fe),Ae=this._getLoadedTile(de);if(Ae)return Ae}}findLoadedSibling(L){return this._getLoadedTile(L)}_getLoadedTile(L){let J=this._tiles[L.key];return J&&J.hasData()?J:this._cache.getByKey(L.wrapped().key)}updateCacheSize(L){let J=Math.ceil(L.width/this._source.tileSize)+1,fe=Math.ceil(L.height/this._source.tileSize)+1,de=Math.floor(J*fe*(this._maxTileCacheZoomLevels===null?e.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),Ae=typeof this._maxTileCacheSize=="number"?Math.min(this._maxTileCacheSize,de):de;this._cache.setMaxSize(Ae)}handleWrapJump(L){let J=Math.round((L-(this._prevLng===void 0?L:this._prevLng))/360);if(this._prevLng=L,J){let fe={};for(let de in this._tiles){let Ae=this._tiles[de];Ae.tileID=Ae.tileID.unwrapTo(Ae.tileID.wrap+J),fe[Ae.tileID.key]=Ae}this._tiles=fe;for(let de in this._timers)clearTimeout(this._timers[de]),delete this._timers[de];for(let de in this._tiles)this._setTileReloadTimer(de,this._tiles[de])}}_updateCoveredAndRetainedTiles(L,J,fe,de,Ae,Ye){let et={},dt={},St=Object.keys(L),Ht=n.now();for(let Wt of St){let fr=L[Wt],Ar=this._tiles[Wt];if(!Ar||Ar.fadeEndTime!==0&&Ar.fadeEndTime<=Ht)continue;let Le=this.findLoadedParent(fr,J),ze=this.findLoadedSibling(fr),je=Le||ze||null;je&&(this._addTile(je.tileID),et[je.tileID.key]=je.tileID),dt[Wt]=fr}this._retainLoadedChildren(dt,de,fe,L);for(let Wt in et)L[Wt]||(this._coveredTiles[Wt]=!0,L[Wt]=et[Wt]);if(Ye){let Wt={},fr={};for(let Ar of Ae)this._tiles[Ar.key].hasData()?Wt[Ar.key]=Ar:fr[Ar.key]=Ar;for(let Ar in fr){let Le=fr[Ar].children(this._source.maxzoom);this._tiles[Le[0].key]&&this._tiles[Le[1].key]&&this._tiles[Le[2].key]&&this._tiles[Le[3].key]&&(Wt[Le[0].key]=L[Le[0].key]=Le[0],Wt[Le[1].key]=L[Le[1].key]=Le[1],Wt[Le[2].key]=L[Le[2].key]=Le[2],Wt[Le[3].key]=L[Le[3].key]=Le[3],delete fr[Ar])}for(let Ar in fr){let Le=fr[Ar],ze=this.findLoadedParent(Le,this._source.minzoom),je=this.findLoadedSibling(Le),Xe=ze||je||null;if(Xe){Wt[Xe.tileID.key]=L[Xe.tileID.key]=Xe.tileID;for(let st in Wt)Wt[st].isChildOf(Xe.tileID)&&delete Wt[st]}}for(let Ar in this._tiles)Wt[Ar]||(this._coveredTiles[Ar]=!0)}}update(L,J){if(!this._sourceLoaded||this._paused)return;let fe;this.transform=L,this.terrain=J,this.updateCacheSize(L),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?fe=L.getVisibleUnwrappedCoordinates(this._source.tileID).map(Ht=>new e.S(Ht.canonical.z,Ht.wrap,Ht.canonical.z,Ht.canonical.x,Ht.canonical.y)):(fe=L.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:J}),this._source.hasTile&&(fe=fe.filter(Ht=>this._source.hasTile(Ht)))):fe=[];let de=L.coveringZoomLevel(this._source),Ae=Math.max(de-ot.maxOverzooming,this._source.minzoom),Ye=Math.max(de+ot.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let Ht={};for(let Wt of fe)if(Wt.canonical.z>this._source.minzoom){let fr=Wt.scaledTo(Wt.canonical.z-1);Ht[fr.key]=fr;let Ar=Wt.scaledTo(Math.max(this._source.minzoom,Math.min(Wt.canonical.z,5)));Ht[Ar.key]=Ar}fe=fe.concat(Object.values(Ht))}let et=fe.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,et&&this.fire(new e.k("data",{sourceDataType:"idle",dataType:"source",sourceId:this.id}));let dt=this._updateRetainedTiles(fe,de);At(this._source.type)&&this._updateCoveredAndRetainedTiles(dt,Ae,Ye,de,fe,J);for(let Ht in dt)this._tiles[Ht].clearFadeHold();let St=e.ab(this._tiles,dt);for(let Ht of St){let Wt=this._tiles[Ht];Wt.hasSymbolBuckets&&!Wt.holdingForFade()?Wt.setHoldDuration(this.map._fadeDuration):Wt.hasSymbolBuckets&&!Wt.symbolFadeFinished()||this._removeTile(Ht)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(let L in this._tiles)this._tiles[L].holdingForFade()&&this._removeTile(L)}_updateRetainedTiles(L,J){var fe;let de={},Ae={},Ye=Math.max(J-ot.maxOverzooming,this._source.minzoom),et=Math.max(J+ot.maxUnderzooming,this._source.minzoom),dt={};for(let St of L){let Ht=this._addTile(St);de[St.key]=St,Ht.hasData()||Jthis._source.maxzoom){let fr=St.children(this._source.maxzoom)[0],Ar=this.getTile(fr);if(Ar&&Ar.hasData()){de[fr.key]=fr;continue}}else{let fr=St.children(this._source.maxzoom);if(de[fr[0].key]&&de[fr[1].key]&&de[fr[2].key]&&de[fr[3].key])continue}let Wt=Ht.wasRequested();for(let fr=St.overscaledZ-1;fr>=Ye;--fr){let Ar=St.scaledTo(fr);if(Ae[Ar.key])break;if(Ae[Ar.key]=!0,Ht=this.getTile(Ar),!Ht&&Wt&&(Ht=this._addTile(Ar)),Ht){let Le=Ht.hasData();if((Le||!(!((fe=this.map)===null||fe===void 0)&&fe.cancelPendingTileRequestsWhileZooming)||Wt)&&(de[Ar.key]=Ar),Wt=Ht.wasRequested(),Le)break}}}return de}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(let L in this._tiles){let J=[],fe,de=this._tiles[L].tileID;for(;de.overscaledZ>0;){if(de.key in this._loadedParentTiles){fe=this._loadedParentTiles[de.key];break}J.push(de.key);let Ae=de.scaledTo(de.overscaledZ-1);if(fe=this._getLoadedTile(Ae),fe)break;de=Ae}for(let Ae of J)this._loadedParentTiles[Ae]=fe}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(let L in this._tiles){let J=this._tiles[L].tileID,fe=this._getLoadedTile(J);this._loadedSiblingTiles[J.key]=fe}}_addTile(L){let J=this._tiles[L.key];if(J)return J;J=this._cache.getAndRemove(L),J&&(this._setTileReloadTimer(L.key,J),J.tileID=L,this._state.initializeTileState(J,this.map?this.map.painter:null),this._cacheTimers[L.key]&&(clearTimeout(this._cacheTimers[L.key]),delete this._cacheTimers[L.key],this._setTileReloadTimer(L.key,J)));let fe=J;return J||(J=new qe(L,this._source.tileSize*L.overscaleFactor()),this._loadTile(J,L.key,J.state)),J.uses++,this._tiles[L.key]=J,fe||this._source.fire(new e.k("dataloading",{tile:J,coord:J.tileID,dataType:"source"})),J}_setTileReloadTimer(L,J){L in this._timers&&(clearTimeout(this._timers[L]),delete this._timers[L]);let fe=J.getExpiryTimeout();fe&&(this._timers[L]=setTimeout(()=>{this._reloadTile(L,"expired"),delete this._timers[L]},fe))}_removeTile(L){let J=this._tiles[L];J&&(J.uses--,delete this._tiles[L],this._timers[L]&&(clearTimeout(this._timers[L]),delete this._timers[L]),J.uses>0||(J.hasData()&&J.state!=="reloading"?this._cache.add(J.tileID,J,J.getExpiryTimeout()):(J.aborted=!0,this._abortTile(J),this._unloadTile(J))))}_dataHandler(L){let J=L.sourceDataType;L.dataType==="source"&&J==="metadata"&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&L.dataType==="source"&&J==="content"&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let L in this._tiles)this._removeTile(L);this._cache.reset()}tilesIn(L,J,fe){let de=[],Ae=this.transform;if(!Ae)return de;let Ye=fe?Ae.getCameraQueryGeometry(L):L,et=L.map(Le=>Ae.pointCoordinate(Le,this.terrain)),dt=Ye.map(Le=>Ae.pointCoordinate(Le,this.terrain)),St=this.getIds(),Ht=1/0,Wt=1/0,fr=-1/0,Ar=-1/0;for(let Le of dt)Ht=Math.min(Ht,Le.x),Wt=Math.min(Wt,Le.y),fr=Math.max(fr,Le.x),Ar=Math.max(Ar,Le.y);for(let Le=0;Le=0&&Qe[1].y+st>=0){let ht=et.map(Ot=>je.getTilePoint(Ot)),Dt=dt.map(Ot=>je.getTilePoint(Ot));de.push({tile:ze,tileID:je,queryGeometry:ht,cameraQueryGeometry:Dt,scale:Xe})}}return de}getVisibleCoordinates(L){let J=this.getRenderableIds(L).map(fe=>this._tiles[fe].tileID);for(let fe of J)fe.posMatrix=this.transform.calculatePosMatrix(fe.toUnwrapped());return J}hasTransition(){if(this._source.hasTransition())return!0;if(At(this._source.type)){let L=n.now();for(let J in this._tiles)if(this._tiles[J].fadeEndTime>=L)return!0}return!1}setFeatureState(L,J,fe){this._state.updateState(L=L||"_geojsonTileLayer",J,fe)}removeFeatureState(L,J,fe){this._state.removeFeatureState(L=L||"_geojsonTileLayer",J,fe)}getFeatureState(L,J){return this._state.getState(L=L||"_geojsonTileLayer",J)}setDependencies(L,J,fe){let de=this._tiles[L];de&&de.setDependencies(J,fe)}reloadTilesForDependencies(L,J){for(let fe in this._tiles)this._tiles[fe].hasDependency(L,J)&&this._reloadTile(fe,"reloading");this._cache.filter(fe=>!fe.hasDependency(L,J))}}function yt(Me,L){let J=Math.abs(2*Me.wrap)-+(Me.wrap<0),fe=Math.abs(2*L.wrap)-+(L.wrap<0);return Me.overscaledZ-L.overscaledZ||fe-J||L.canonical.y-Me.canonical.y||L.canonical.x-Me.canonical.x}function At(Me){return Me==="raster"||Me==="image"||Me==="video"}ot.maxOverzooming=10,ot.maxUnderzooming=3;class It{constructor(L,J){this.reset(L,J)}reset(L,J){this.points=L||[],this._distances=[0];for(let fe=1;fe0?(de-Ye)/et:0;return this.points[Ae].mult(1-dt).add(this.points[J].mult(dt))}}function Zt(Me,L){let J=!0;return Me==="always"||Me!=="never"&&L!=="never"||(J=!1),J}class vr{constructor(L,J,fe){let de=this.boxCells=[],Ae=this.circleCells=[];this.xCellCount=Math.ceil(L/fe),this.yCellCount=Math.ceil(J/fe);for(let Ye=0;Yethis.width||de<0||J>this.height)return[];let dt=[];if(L<=0&&J<=0&&this.width<=fe&&this.height<=de){if(Ae)return[{key:null,x1:L,y1:J,x2:fe,y2:de}];for(let St=0;St0}hitTestCircle(L,J,fe,de,Ae){let Ye=L-fe,et=L+fe,dt=J-fe,St=J+fe;if(et<0||Ye>this.width||St<0||dt>this.height)return!1;let Ht=[];return this._forEachCell(Ye,dt,et,St,this._queryCellCircle,Ht,{hitTest:!0,overlapMode:de,circle:{x:L,y:J,radius:fe},seenUids:{box:{},circle:{}}},Ae),Ht.length>0}_queryCell(L,J,fe,de,Ae,Ye,et,dt){let{seenUids:St,hitTest:Ht,overlapMode:Wt}=et,fr=this.boxCells[Ae];if(fr!==null){let Le=this.bboxes;for(let ze of fr)if(!St.box[ze]){St.box[ze]=!0;let je=4*ze,Xe=this.boxKeys[ze];if(L<=Le[je+2]&&J<=Le[je+3]&&fe>=Le[je+0]&&de>=Le[je+1]&&(!dt||dt(Xe))&&(!Ht||!Zt(Wt,Xe.overlapMode))&&(Ye.push({key:Xe,x1:Le[je],y1:Le[je+1],x2:Le[je+2],y2:Le[je+3]}),Ht))return!0}}let Ar=this.circleCells[Ae];if(Ar!==null){let Le=this.circles;for(let ze of Ar)if(!St.circle[ze]){St.circle[ze]=!0;let je=3*ze,Xe=this.circleKeys[ze];if(this._circleAndRectCollide(Le[je],Le[je+1],Le[je+2],L,J,fe,de)&&(!dt||dt(Xe))&&(!Ht||!Zt(Wt,Xe.overlapMode))){let st=Le[je],Qe=Le[je+1],ht=Le[je+2];if(Ye.push({key:Xe,x1:st-ht,y1:Qe-ht,x2:st+ht,y2:Qe+ht}),Ht)return!0}}}return!1}_queryCellCircle(L,J,fe,de,Ae,Ye,et,dt){let{circle:St,seenUids:Ht,overlapMode:Wt}=et,fr=this.boxCells[Ae];if(fr!==null){let Le=this.bboxes;for(let ze of fr)if(!Ht.box[ze]){Ht.box[ze]=!0;let je=4*ze,Xe=this.boxKeys[ze];if(this._circleAndRectCollide(St.x,St.y,St.radius,Le[je+0],Le[je+1],Le[je+2],Le[je+3])&&(!dt||dt(Xe))&&!Zt(Wt,Xe.overlapMode))return Ye.push(!0),!0}}let Ar=this.circleCells[Ae];if(Ar!==null){let Le=this.circles;for(let ze of Ar)if(!Ht.circle[ze]){Ht.circle[ze]=!0;let je=3*ze,Xe=this.circleKeys[ze];if(this._circlesCollide(Le[je],Le[je+1],Le[je+2],St.x,St.y,St.radius)&&(!dt||dt(Xe))&&!Zt(Wt,Xe.overlapMode))return Ye.push(!0),!0}}}_forEachCell(L,J,fe,de,Ae,Ye,et,dt){let St=this._convertToXCellCoord(L),Ht=this._convertToYCellCoord(J),Wt=this._convertToXCellCoord(fe),fr=this._convertToYCellCoord(de);for(let Ar=St;Ar<=Wt;Ar++)for(let Le=Ht;Le<=fr;Le++)if(Ae.call(this,L,J,fe,de,this.xCellCount*Le+Ar,Ye,et,dt))return}_convertToXCellCoord(L){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(L*this.xScale)))}_convertToYCellCoord(L){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(L*this.yScale)))}_circlesCollide(L,J,fe,de,Ae,Ye){let et=de-L,dt=Ae-J,St=fe+Ye;return St*St>et*et+dt*dt}_circleAndRectCollide(L,J,fe,de,Ae,Ye,et){let dt=(Ye-de)/2,St=Math.abs(L-(de+dt));if(St>dt+fe)return!1;let Ht=(et-Ae)/2,Wt=Math.abs(J-(Ae+Ht));if(Wt>Ht+fe)return!1;if(St<=dt||Wt<=Ht)return!0;let fr=St-dt,Ar=Wt-Ht;return fr*fr+Ar*Ar<=fe*fe}}function Ut(Me,L,J,fe,de){let Ae=e.H();return L?(e.K(Ae,Ae,[1/de,1/de,1]),J||e.ad(Ae,Ae,fe.angle)):e.L(Ae,fe.labelPlaneMatrix,Me),Ae}function Jt(Me,L,J,fe,de){if(L){let Ae=e.ae(Me);return e.K(Ae,Ae,[de,de,1]),J||e.ad(Ae,Ae,-fe.angle),Ae}return fe.glCoordMatrix}function at(Me,L,J,fe){let de;fe?(de=[Me,L,fe(Me,L),1],e.af(de,de,J)):(de=[Me,L,0,1],Et(de,de,J));let Ae=de[3];return{point:new e.P(de[0]/Ae,de[1]/Ae),signedDistanceFromCamera:Ae,isOccluded:!1}}function Ee(Me,L){return .5+Me/L*.5}function Re(Me,L){return Me.x>=-L[0]&&Me.x<=L[0]&&Me.y>=-L[1]&&Me.y<=L[1]}function he(Me,L,J,fe,de,Ae,Ye,et,dt,St,Ht,Wt,fr,Ar,Le){let ze=fe?Me.textSizeData:Me.iconSizeData,je=e.ag(ze,J.transform.zoom),Xe=[256/J.width*2+1,256/J.height*2+1],st=fe?Me.text.dynamicLayoutVertexArray:Me.icon.dynamicLayoutVertexArray;st.clear();let Qe=Me.lineVertexArray,ht=fe?Me.text.placedSymbolArray:Me.icon.placedSymbolArray,Dt=J.transform.width/J.transform.height,Ot=!1;for(let $t=0;$tMath.abs(J.x-L.x)*fe?{useVertical:!0}:(Me===e.ah.vertical?L.yJ.x)?{needsFlipping:!0}:null}function Fe(Me,L,J,fe,de,Ae,Ye,et,dt,St,Ht){let Wt=J/24,fr=L.lineOffsetX*Wt,Ar=L.lineOffsetY*Wt,Le;if(L.numGlyphs>1){let ze=L.glyphStartIndex+L.numGlyphs,je=L.lineStartIndex,Xe=L.lineStartIndex+L.lineLength,st=ye(Wt,et,fr,Ar,fe,L,Ht,Me);if(!st)return{notEnoughRoom:!0};let Qe=at(st.first.point.x,st.first.point.y,Ye,Me.getElevation).point,ht=at(st.last.point.x,st.last.point.y,Ye,Me.getElevation).point;if(de&&!fe){let Dt=Ie(L.writingMode,Qe,ht,St);if(Dt)return Dt}Le=[st.first];for(let Dt=L.glyphStartIndex+1;Dt0?Qe.point:function(Ot,$t,ir,pr,zr,Wr){return He(Ot,$t,ir,1,zr,Wr)}(Me.tileAnchorPoint,st,je,0,Ae,Me),Dt=Ie(L.writingMode,je,ht,St);if(Dt)return Dt}let ze=mt(Wt*et.getoffsetX(L.glyphStartIndex),fr,Ar,fe,L.segment,L.lineStartIndex,L.lineStartIndex+L.lineLength,Me,Ht);if(!ze||Me.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};Le=[ze]}for(let ze of Le)e.aj(dt,ze.point,ze.angle);return{}}function He(Me,L,J,fe,de,Ae){let Ye=Me.add(Me.sub(L)._unit()),et=de!==void 0?at(Ye.x,Ye.y,de,Ae.getElevation).point:pt(Ye.x,Ye.y,Ae).point,dt=J.sub(et);return J.add(dt._mult(fe/dt.mag()))}function We(Me,L,J){let fe=L.projectionCache;if(fe.projections[Me])return fe.projections[Me];let de=new e.P(L.lineVertexArray.getx(Me),L.lineVertexArray.gety(Me)),Ae=pt(de.x,de.y,L);if(Ae.signedDistanceFromCamera>0)return fe.projections[Me]=Ae.point,fe.anyProjectionOccluded=fe.anyProjectionOccluded||Ae.isOccluded,Ae.point;let Ye=Me-J.direction;return function(et,dt,St,Ht,Wt){return He(et,dt,St,Ht,void 0,Wt)}(J.distanceFromAnchor===0?L.tileAnchorPoint:new e.P(L.lineVertexArray.getx(Ye),L.lineVertexArray.gety(Ye)),de,J.previousVertex,J.absOffsetX-J.distanceFromAnchor+1,L)}function pt(Me,L,J){let fe=Me+J.translation[0],de=L+J.translation[1],Ae;return!J.pitchWithMap&&J.projection.useSpecialProjectionForSymbols?(Ae=J.projection.projectTileCoordinates(fe,de,J.unwrappedTileID,J.getElevation),Ae.point.x=(.5*Ae.point.x+.5)*J.width,Ae.point.y=(.5*-Ae.point.y+.5)*J.height):(Ae=at(fe,de,J.labelPlaneMatrix,J.getElevation),Ae.isOccluded=!1),Ae}function ct(Me,L,J){return Me._unit()._perp()._mult(L*J)}function ft(Me,L,J,fe,de,Ae,Ye,et,dt){if(et.projectionCache.offsets[Me])return et.projectionCache.offsets[Me];let St=J.add(L);if(Me+dt.direction=de)return et.projectionCache.offsets[Me]=St,St;let Ht=We(Me+dt.direction,et,dt),Wt=ct(Ht.sub(J),Ye,dt.direction),fr=J.add(Wt),Ar=Ht.add(Wt);return et.projectionCache.offsets[Me]=e.ak(Ae,St,fr,Ar)||St,et.projectionCache.offsets[Me]}function mt(Me,L,J,fe,de,Ae,Ye,et,dt){let St=fe?Me-L:Me+L,Ht=St>0?1:-1,Wt=0;fe&&(Ht*=-1,Wt=Math.PI),Ht<0&&(Wt+=Math.PI);let fr,Ar=Ht>0?Ae+de:Ae+de+1;et.projectionCache.cachedAnchorPoint?fr=et.projectionCache.cachedAnchorPoint:(fr=pt(et.tileAnchorPoint.x,et.tileAnchorPoint.y,et).point,et.projectionCache.cachedAnchorPoint=fr);let Le,ze,je=fr,Xe=fr,st=0,Qe=0,ht=Math.abs(St),Dt=[],Ot;for(;st+Qe<=ht;){if(Ar+=Ht,Ar=Ye)return null;st+=Qe,Xe=je,ze=Le;let pr={absOffsetX:ht,direction:Ht,distanceFromAnchor:st,previousVertex:Xe};if(je=We(Ar,et,pr),J===0)Dt.push(Xe),Ot=je.sub(Xe);else{let zr,Wr=je.sub(Xe);zr=Wr.mag()===0?ct(We(Ar+Ht,et,pr).sub(je),J,Ht):ct(Wr,J,Ht),ze||(ze=Xe.add(zr)),Le=ft(Ar,zr,je,Ae,Ye,ze,J,et,pr),Dt.push(ze),Ot=Le.sub(ze)}Qe=Ot.mag()}let $t=Ot._mult((ht-st)/Qe)._add(ze||Xe),ir=Wt+Math.atan2(je.y-Xe.y,je.x-Xe.x);return Dt.push($t),{point:$t,angle:dt?ir:0,path:Dt}}let _t=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Bt(Me,L){for(let J=0;J=1;pi--)wn.push(ln.path[pi]);for(let pi=1;piKi.signedDistanceFromCamera<=0)?[]:pi.map(Ki=>Ki.point)}let Mi=[];if(wn.length>0){let pi=wn[0].clone(),Ki=wn[0].clone();for(let Lo=1;Lo=Wr.x&&Ki.x<=ia.x&&pi.y>=Wr.y&&Ki.y<=ia.y?[wn]:Ki.xia.x||Ki.yia.y?[]:e.al([wn],Wr.x,Wr.y,ia.x,ia.y)}for(let pi of Mi){Sa.reset(pi,.25*zr);let Ki=0;Ki=Sa.length<=.5*zr?1:Math.ceil(Sa.paddedLength/ei)+1;for(let Lo=0;Loat(de.x,de.y,fe,J.getElevation))}queryRenderedSymbols(L){if(L.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};let J=[],fe=1/0,de=1/0,Ae=-1/0,Ye=-1/0;for(let Ht of L){let Wt=new e.P(Ht.x+hr,Ht.y+hr);fe=Math.min(fe,Wt.x),de=Math.min(de,Wt.y),Ae=Math.max(Ae,Wt.x),Ye=Math.max(Ye,Wt.y),J.push(Wt)}let et=this.grid.query(fe,de,Ae,Ye).concat(this.ignoredGrid.query(fe,de,Ae,Ye)),dt={},St={};for(let Ht of et){let Wt=Ht.key;if(dt[Wt.bucketInstanceId]===void 0&&(dt[Wt.bucketInstanceId]={}),dt[Wt.bucketInstanceId][Wt.featureIndex])continue;let fr=[new e.P(Ht.x1,Ht.y1),new e.P(Ht.x2,Ht.y1),new e.P(Ht.x2,Ht.y2),new e.P(Ht.x1,Ht.y2)];e.am(J,fr)&&(dt[Wt.bucketInstanceId][Wt.featureIndex]=!0,St[Wt.bucketInstanceId]===void 0&&(St[Wt.bucketInstanceId]=[]),St[Wt.bucketInstanceId].push(Wt.featureIndex))}return St}insertCollisionBox(L,J,fe,de,Ae,Ye){(fe?this.ignoredGrid:this.grid).insert({bucketInstanceId:de,featureIndex:Ae,collisionGroupID:Ye,overlapMode:J},L[0],L[1],L[2],L[3])}insertCollisionCircles(L,J,fe,de,Ae,Ye){let et=fe?this.ignoredGrid:this.grid,dt={bucketInstanceId:de,featureIndex:Ae,collisionGroupID:Ye,overlapMode:J};for(let St=0;St=this.screenRightBoundary||dethis.screenBottomBoundary}isInsideGrid(L,J,fe,de){return fe>=0&&L=0&&Jthis.projectAndGetPerspectiveRatio(fe,zr.x,zr.y,de,St));ir=pr.some(zr=>!zr.isOccluded),$t=pr.map(zr=>zr.point)}else ir=!0;return{box:e.ao($t),allPointsOccluded:!ir}}}function ca(Me,L,J){return L*(e.X/(Me.tileSize*Math.pow(2,J-Me.tileID.overscaledZ)))}class na{constructor(L,J,fe,de){this.opacity=L?Math.max(0,Math.min(1,L.opacity+(L.placed?J:-J))):de&&fe?1:0,this.placed=fe}isHidden(){return this.opacity===0&&!this.placed}}class wa{constructor(L,J,fe,de,Ae){this.text=new na(L?L.text:null,J,fe,Ae),this.icon=new na(L?L.icon:null,J,de,Ae)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class pa{constructor(L,J,fe){this.text=L,this.icon=J,this.skipFade=fe}}class fa{constructor(){this.invProjMatrix=e.H(),this.viewportMatrix=e.H(),this.circles=[]}}class za{constructor(L,J,fe,de,Ae){this.bucketInstanceId=L,this.featureIndex=J,this.sourceLayerIndex=fe,this.bucketIndex=de,this.tileID=Ae}}class Ia{constructor(L){this.crossSourceCollisions=L,this.maxGroupID=0,this.collisionGroups={}}get(L){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[L]){let J=++this.maxGroupID;this.collisionGroups[L]={ID:J,predicate:fe=>fe.collisionGroupID===J}}return this.collisionGroups[L]}}function Va(Me,L,J,fe,de){let{horizontalAlign:Ae,verticalAlign:Ye}=e.au(Me);return new e.P(-(Ae-.5)*L+fe[0]*de,-(Ye-.5)*J+fe[1]*de)}class Oa{constructor(L,J,fe,de,Ae,Ye){this.transform=L.clone(),this.terrain=fe,this.collisionIndex=new $r(this.transform,J),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=de,this.retainedQueryData={},this.collisionGroups=new Ia(Ae),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=Ye,Ye&&(Ye.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(L){let J=this.terrain;return J?(fe,de)=>J.getElevation(L,fe,de):null}getBucketParts(L,J,fe,de){let Ae=fe.getBucket(J),Ye=fe.latestFeatureIndex;if(!Ae||!Ye||J.id!==Ae.layerIds[0])return;let et=fe.collisionBoxArray,dt=Ae.layers[0].layout,St=Ae.layers[0].paint,Ht=Math.pow(2,this.transform.zoom-fe.tileID.overscaledZ),Wt=fe.tileSize/e.X,fr=fe.tileID.toUnwrapped(),Ar=this.transform.calculatePosMatrix(fr),Le=dt.get("text-pitch-alignment")==="map",ze=dt.get("text-rotation-alignment")==="map",je=ca(fe,1,this.transform.zoom),Xe=this.collisionIndex.mapProjection.translatePosition(this.transform,fe,St.get("text-translate"),St.get("text-translate-anchor")),st=this.collisionIndex.mapProjection.translatePosition(this.transform,fe,St.get("icon-translate"),St.get("icon-translate-anchor")),Qe=Ut(Ar,Le,ze,this.transform,je),ht=null;if(Le){let Ot=Jt(Ar,Le,ze,this.transform,je);ht=e.L([],this.transform.labelPlaneMatrix,Ot)}this.retainedQueryData[Ae.bucketInstanceId]=new za(Ae.bucketInstanceId,Ye,Ae.sourceLayerIndex,Ae.index,fe.tileID);let Dt={bucket:Ae,layout:dt,translationText:Xe,translationIcon:st,posMatrix:Ar,unwrappedTileID:fr,textLabelPlaneMatrix:Qe,labelToScreenMatrix:ht,scale:Ht,textPixelRatio:Wt,holdingForFade:fe.holdingForFade(),collisionBoxArray:et,partiallyEvaluatedTextSize:e.ag(Ae.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(Ae.sourceID)};if(de)for(let Ot of Ae.sortKeyRanges){let{sortKey:$t,symbolInstanceStart:ir,symbolInstanceEnd:pr}=Ot;L.push({sortKey:$t,symbolInstanceStart:ir,symbolInstanceEnd:pr,parameters:Dt})}else L.push({symbolInstanceStart:0,symbolInstanceEnd:Ae.symbolInstances.length,parameters:Dt})}attemptAnchorPlacement(L,J,fe,de,Ae,Ye,et,dt,St,Ht,Wt,fr,Ar,Le,ze,je,Xe,st,Qe){let ht=e.aq[L.textAnchor],Dt=[L.textOffset0,L.textOffset1],Ot=Va(ht,fe,de,Dt,Ae),$t=this.collisionIndex.placeCollisionBox(J,fr,dt,St,Ht,et,Ye,je,Wt.predicate,Qe,Ot);if((!st||this.collisionIndex.placeCollisionBox(st,fr,dt,St,Ht,et,Ye,Xe,Wt.predicate,Qe,Ot).placeable)&&$t.placeable){let ir;if(this.prevPlacement&&this.prevPlacement.variableOffsets[Ar.crossTileID]&&this.prevPlacement.placements[Ar.crossTileID]&&this.prevPlacement.placements[Ar.crossTileID].text&&(ir=this.prevPlacement.variableOffsets[Ar.crossTileID].anchor),Ar.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[Ar.crossTileID]={textOffset:Dt,width:fe,height:de,anchor:ht,textBoxScale:Ae,prevAnchor:ir},this.markUsedJustification(Le,ht,Ar,ze),Le.allowVerticalPlacement&&(this.markUsedOrientation(Le,ze,Ar),this.placedOrientations[Ar.crossTileID]=ze),{shift:Ot,placedGlyphBoxes:$t}}}placeLayerBucketPart(L,J,fe){let{bucket:de,layout:Ae,translationText:Ye,translationIcon:et,posMatrix:dt,unwrappedTileID:St,textLabelPlaneMatrix:Ht,labelToScreenMatrix:Wt,textPixelRatio:fr,holdingForFade:Ar,collisionBoxArray:Le,partiallyEvaluatedTextSize:ze,collisionGroup:je}=L.parameters,Xe=Ae.get("text-optional"),st=Ae.get("icon-optional"),Qe=e.ar(Ae,"text-overlap","text-allow-overlap"),ht=Qe==="always",Dt=e.ar(Ae,"icon-overlap","icon-allow-overlap"),Ot=Dt==="always",$t=Ae.get("text-rotation-alignment")==="map",ir=Ae.get("text-pitch-alignment")==="map",pr=Ae.get("icon-text-fit")!=="none",zr=Ae.get("symbol-z-order")==="viewport-y",Wr=ht&&(Ot||!de.hasIconData()||st),ia=Ot&&(ht||!de.hasTextData()||Xe);!de.collisionArrays&&Le&&de.deserializeCollisionBoxes(Le);let Sa=this._getTerrainElevationFunc(this.retainedQueryData[de.bucketInstanceId].tileID),ln=(an,wn,ei)=>{var Mi,pi;if(J[an.crossTileID])return;if(Ar)return void(this.placements[an.crossTileID]=new pa(!1,!1,!1));let Ki=!1,Lo=!1,bo=!0,ds=null,Zo={box:null,placeable:!1,offscreen:null},Is={box:null,placeable:!1,offscreen:null},Ys=null,Ks=null,ks=null,zs=0,Il=0,_u=0;wn.textFeatureIndex?zs=wn.textFeatureIndex:an.useRuntimeCollisionCircles&&(zs=an.featureIndex),wn.verticalTextFeatureIndex&&(Il=wn.verticalTextFeatureIndex);let Xl=wn.textBox;if(Xl){let _l=Be=>{let $e=e.ah.horizontal;if(de.allowVerticalPlacement&&!Be&&this.prevPlacement){let Je=this.prevPlacement.placedOrientations[an.crossTileID];Je&&(this.placedOrientations[an.crossTileID]=Je,$e=Je,this.markUsedOrientation(de,$e,an))}return $e},Dl=(Be,$e)=>{if(de.allowVerticalPlacement&&an.numVerticalGlyphVertices>0&&wn.verticalTextBox){for(let Je of de.writingModes)if(Je===e.ah.vertical?(Zo=$e(),Is=Zo):Zo=Be(),Zo&&Zo.placeable)break}else Zo=Be()},le=an.textAnchorOffsetStartIndex,we=an.textAnchorOffsetEndIndex;if(we===le){let Be=($e,Je)=>{let it=this.collisionIndex.placeCollisionBox($e,Qe,fr,dt,St,ir,$t,Ye,je.predicate,Sa);return it&&it.placeable&&(this.markUsedOrientation(de,Je,an),this.placedOrientations[an.crossTileID]=Je),it};Dl(()=>Be(Xl,e.ah.horizontal),()=>{let $e=wn.verticalTextBox;return de.allowVerticalPlacement&&an.numVerticalGlyphVertices>0&&$e?Be($e,e.ah.vertical):{box:null,offscreen:null}}),_l(Zo&&Zo.placeable)}else{let Be=e.aq[(pi=(Mi=this.prevPlacement)===null||Mi===void 0?void 0:Mi.variableOffsets[an.crossTileID])===null||pi===void 0?void 0:pi.anchor],$e=(it,Ct,bt)=>{let qt=it.x2-it.x1,sr=it.y2-it.y1,ur=an.textBoxScale,qr=pr&&Dt==="never"?Ct:null,Nr=null,ya=Qe==="never"?1:2,Ea="never";Be&&ya++;for(let Zr=0;Zr$e(Xl,wn.iconBox,e.ah.horizontal),()=>{let it=wn.verticalTextBox;return de.allowVerticalPlacement&&(!Zo||!Zo.placeable)&&an.numVerticalGlyphVertices>0&&it?$e(it,wn.verticalIconBox,e.ah.vertical):{box:null,occluded:!0,offscreen:null}}),Zo&&(Ki=Zo.placeable,bo=Zo.offscreen);let Je=_l(Zo&&Zo.placeable);if(!Ki&&this.prevPlacement){let it=this.prevPlacement.variableOffsets[an.crossTileID];it&&(this.variableOffsets[an.crossTileID]=it,this.markUsedJustification(de,it.anchor,an,Je))}}}if(Ys=Zo,Ki=Ys&&Ys.placeable,bo=Ys&&Ys.offscreen,an.useRuntimeCollisionCircles){let _l=de.text.placedSymbolArray.get(an.centerJustifiedTextSymbolIndex),Dl=e.ai(de.textSizeData,ze,_l),le=Ae.get("text-padding");Ks=this.collisionIndex.placeCollisionCircles(Qe,_l,de.lineVertexArray,de.glyphOffsetArray,Dl,dt,St,Ht,Wt,fe,ir,je.predicate,an.collisionCircleDiameter,le,Ye,Sa),Ks.circles.length&&Ks.collisionDetected&&!fe&&e.w("Collisions detected, but collision boxes are not shown"),Ki=ht||Ks.circles.length>0&&!Ks.collisionDetected,bo=bo&&Ks.offscreen}if(wn.iconFeatureIndex&&(_u=wn.iconFeatureIndex),wn.iconBox){let _l=Dl=>this.collisionIndex.placeCollisionBox(Dl,Dt,fr,dt,St,ir,$t,et,je.predicate,Sa,pr&&ds?ds:void 0);Is&&Is.placeable&&wn.verticalIconBox?(ks=_l(wn.verticalIconBox),Lo=ks.placeable):(ks=_l(wn.iconBox),Lo=ks.placeable),bo=bo&&ks.offscreen}let il=Xe||an.numHorizontalGlyphVertices===0&&an.numVerticalGlyphVertices===0,ku=st||an.numIconVertices===0;il||ku?ku?il||(Lo=Lo&&Ki):Ki=Lo&&Ki:Lo=Ki=Lo&&Ki;let bu=Lo&&ks.placeable;if(Ki&&Ys.placeable&&this.collisionIndex.insertCollisionBox(Ys.box,Qe,Ae.get("text-ignore-placement"),de.bucketInstanceId,Is&&Is.placeable&&Il?Il:zs,je.ID),bu&&this.collisionIndex.insertCollisionBox(ks.box,Dt,Ae.get("icon-ignore-placement"),de.bucketInstanceId,_u,je.ID),Ks&&Ki&&this.collisionIndex.insertCollisionCircles(Ks.circles,Qe,Ae.get("text-ignore-placement"),de.bucketInstanceId,zs,je.ID),fe&&this.storeCollisionData(de.bucketInstanceId,ei,wn,Ys,ks,Ks),an.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");if(de.bucketInstanceId===0)throw new Error("bucket.bucketInstanceId can't be 0");this.placements[an.crossTileID]=new pa(Ki||Wr,Lo||ia,bo||de.justReloaded),J[an.crossTileID]=!0};if(zr){if(L.symbolInstanceStart!==0)throw new Error("bucket.bucketInstanceId should be 0");let an=de.getSortedSymbolIndexes(this.transform.angle);for(let wn=an.length-1;wn>=0;--wn){let ei=an[wn];ln(de.symbolInstances.get(ei),de.collisionArrays[ei],ei)}}else for(let an=L.symbolInstanceStart;an=0&&(L.text.placedSymbolArray.get(et).crossTileID=Ae>=0&&et!==Ae?0:fe.crossTileID)}markUsedOrientation(L,J,fe){let de=J===e.ah.horizontal||J===e.ah.horizontalOnly?J:0,Ae=J===e.ah.vertical?J:0,Ye=[fe.leftJustifiedTextSymbolIndex,fe.centerJustifiedTextSymbolIndex,fe.rightJustifiedTextSymbolIndex];for(let et of Ye)L.text.placedSymbolArray.get(et).placedOrientation=de;fe.verticalPlacedTextSymbolIndex&&(L.text.placedSymbolArray.get(fe.verticalPlacedTextSymbolIndex).placedOrientation=Ae)}commit(L){this.commitTime=L,this.zoomAtLastRecencyCheck=this.transform.zoom;let J=this.prevPlacement,fe=!1;this.prevZoomAdjustment=J?J.zoomAdjustment(this.transform.zoom):0;let de=J?J.symbolFadeChange(L):1,Ae=J?J.opacities:{},Ye=J?J.variableOffsets:{},et=J?J.placedOrientations:{};for(let dt in this.placements){let St=this.placements[dt],Ht=Ae[dt];Ht?(this.opacities[dt]=new wa(Ht,de,St.text,St.icon),fe=fe||St.text!==Ht.text.placed||St.icon!==Ht.icon.placed):(this.opacities[dt]=new wa(null,de,St.text,St.icon,St.skipFade),fe=fe||St.text||St.icon)}for(let dt in Ae){let St=Ae[dt];if(!this.opacities[dt]){let Ht=new wa(St,de,!1,!1);Ht.isHidden()||(this.opacities[dt]=Ht,fe=fe||St.text.placed||St.icon.placed)}}for(let dt in Ye)this.variableOffsets[dt]||!this.opacities[dt]||this.opacities[dt].isHidden()||(this.variableOffsets[dt]=Ye[dt]);for(let dt in et)this.placedOrientations[dt]||!this.opacities[dt]||this.opacities[dt].isHidden()||(this.placedOrientations[dt]=et[dt]);if(J&&J.lastPlacementChangeTime===void 0)throw new Error("Last placement time for previous placement is not defined");fe?this.lastPlacementChangeTime=L:typeof this.lastPlacementChangeTime!="number"&&(this.lastPlacementChangeTime=J?J.lastPlacementChangeTime:L)}updateLayerOpacities(L,J){let fe={};for(let de of J){let Ae=de.getBucket(L);Ae&&de.latestFeatureIndex&&L.id===Ae.layerIds[0]&&this.updateBucketOpacities(Ae,de.tileID,fe,de.collisionBoxArray)}}updateBucketOpacities(L,J,fe,de){L.hasTextData()&&(L.text.opacityVertexArray.clear(),L.text.hasVisibleVertices=!1),L.hasIconData()&&(L.icon.opacityVertexArray.clear(),L.icon.hasVisibleVertices=!1),L.hasIconCollisionBoxData()&&L.iconCollisionBox.collisionVertexArray.clear(),L.hasTextCollisionBoxData()&&L.textCollisionBox.collisionVertexArray.clear();let Ae=L.layers[0],Ye=Ae.layout,et=new wa(null,0,!1,!1,!0),dt=Ye.get("text-allow-overlap"),St=Ye.get("icon-allow-overlap"),Ht=Ae._unevaluatedLayout.hasValue("text-variable-anchor")||Ae._unevaluatedLayout.hasValue("text-variable-anchor-offset"),Wt=Ye.get("text-rotation-alignment")==="map",fr=Ye.get("text-pitch-alignment")==="map",Ar=Ye.get("icon-text-fit")!=="none",Le=new wa(null,0,dt&&(St||!L.hasIconData()||Ye.get("icon-optional")),St&&(dt||!L.hasTextData()||Ye.get("text-optional")),!0);!L.collisionArrays&&de&&(L.hasIconCollisionBoxData()||L.hasTextCollisionBoxData())&&L.deserializeCollisionBoxes(de);let ze=(Xe,st,Qe)=>{for(let ht=0;ht0,ir=this.placedOrientations[st.crossTileID],pr=ir===e.ah.vertical,zr=ir===e.ah.horizontal||ir===e.ah.horizontalOnly;if(Qe>0||ht>0){let ia=Jn(Ot.text);ze(L.text,Qe,pr?Ti:ia),ze(L.text,ht,zr?Ti:ia);let Sa=Ot.text.isHidden();[st.rightJustifiedTextSymbolIndex,st.centerJustifiedTextSymbolIndex,st.leftJustifiedTextSymbolIndex].forEach(wn=>{wn>=0&&(L.text.placedSymbolArray.get(wn).hidden=Sa||pr?1:0)}),st.verticalPlacedTextSymbolIndex>=0&&(L.text.placedSymbolArray.get(st.verticalPlacedTextSymbolIndex).hidden=Sa||zr?1:0);let ln=this.variableOffsets[st.crossTileID];ln&&this.markUsedJustification(L,ln.anchor,st,ir);let an=this.placedOrientations[st.crossTileID];an&&(this.markUsedJustification(L,"left",st,an),this.markUsedOrientation(L,an,st))}if($t){let ia=Jn(Ot.icon),Sa=!(Ar&&st.verticalPlacedIconSymbolIndex&&pr);st.placedIconSymbolIndex>=0&&(ze(L.icon,st.numIconVertices,Sa?ia:Ti),L.icon.placedSymbolArray.get(st.placedIconSymbolIndex).hidden=Ot.icon.isHidden()),st.verticalPlacedIconSymbolIndex>=0&&(ze(L.icon,st.numVerticalIconVertices,Sa?Ti:ia),L.icon.placedSymbolArray.get(st.verticalPlacedIconSymbolIndex).hidden=Ot.icon.isHidden())}let Wr=je&&je.has(Xe)?je.get(Xe):{text:null,icon:null};if(L.hasIconCollisionBoxData()||L.hasTextCollisionBoxData()){let ia=L.collisionArrays[Xe];if(ia){let Sa=new e.P(0,0);if(ia.textBox||ia.verticalTextBox){let ln=!0;if(Ht){let an=this.variableOffsets[Dt];an?(Sa=Va(an.anchor,an.width,an.height,an.textOffset,an.textBoxScale),Wt&&Sa._rotate(fr?this.transform.angle:-this.transform.angle)):ln=!1}if(ia.textBox||ia.verticalTextBox){let an;ia.textBox&&(an=pr),ia.verticalTextBox&&(an=zr),tn(L.textCollisionBox.collisionVertexArray,Ot.text.placed,!ln||an,Wr.text,Sa.x,Sa.y)}}if(ia.iconBox||ia.verticalIconBox){let ln=!!(!zr&&ia.verticalIconBox),an;ia.iconBox&&(an=ln),ia.verticalIconBox&&(an=!ln),tn(L.iconCollisionBox.collisionVertexArray,Ot.icon.placed,an,Wr.icon,Ar?Sa.x:0,Ar?Sa.y:0)}}}}if(L.sortFeatures(this.transform.angle),this.retainedQueryData[L.bucketInstanceId]&&(this.retainedQueryData[L.bucketInstanceId].featureSortOrder=L.featureSortOrder),L.hasTextData()&&L.text.opacityVertexBuffer&&L.text.opacityVertexBuffer.updateData(L.text.opacityVertexArray),L.hasIconData()&&L.icon.opacityVertexBuffer&&L.icon.opacityVertexBuffer.updateData(L.icon.opacityVertexArray),L.hasIconCollisionBoxData()&&L.iconCollisionBox.collisionVertexBuffer&&L.iconCollisionBox.collisionVertexBuffer.updateData(L.iconCollisionBox.collisionVertexArray),L.hasTextCollisionBoxData()&&L.textCollisionBox.collisionVertexBuffer&&L.textCollisionBox.collisionVertexBuffer.updateData(L.textCollisionBox.collisionVertexArray),L.text.opacityVertexArray.length!==L.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${L.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${L.text.layoutVertexArray.length}) / 4`);if(L.icon.opacityVertexArray.length!==L.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${L.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${L.icon.layoutVertexArray.length}) / 4`);if(L.bucketInstanceId in this.collisionCircleArrays){let Xe=this.collisionCircleArrays[L.bucketInstanceId];L.placementInvProjMatrix=Xe.invProjMatrix,L.placementViewportMatrix=Xe.viewportMatrix,L.collisionCircleArray=Xe.circles,delete this.collisionCircleArrays[L.bucketInstanceId]}}symbolFadeChange(L){return this.fadeDuration===0?1:(L-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(L){return Math.max(0,(this.transform.zoom-L)/1.5)}hasTransitions(L){return this.stale||L-this.lastPlacementChangeTimeL}setStale(){this.stale=!0}}function tn(Me,L,J,fe,de,Ae){fe&&fe.length!==0||(fe=[0,0,0,0]);let Ye=fe[0]-hr,et=fe[1]-hr,dt=fe[2]-hr,St=fe[3]-hr;Me.emplaceBack(L?1:0,J?1:0,de||0,Ae||0,Ye,et),Me.emplaceBack(L?1:0,J?1:0,de||0,Ae||0,dt,et),Me.emplaceBack(L?1:0,J?1:0,de||0,Ae||0,dt,St),Me.emplaceBack(L?1:0,J?1:0,de||0,Ae||0,Ye,St)}let ka=Math.pow(2,25),oi=Math.pow(2,24),$n=Math.pow(2,17),bn=Math.pow(2,16),ci=Math.pow(2,9),hi=Math.pow(2,8),Pi=Math.pow(2,1);function Jn(Me){if(Me.opacity===0&&!Me.placed)return 0;if(Me.opacity===1&&Me.placed)return 4294967295;let L=Me.placed?1:0,J=Math.floor(127*Me.opacity);return J*ka+L*oi+J*$n+L*bn+J*ci+L*hi+J*Pi+L}let Ti=0;function _n(){return{isOccluded:(Me,L,J)=>!1,getPitchedTextCorrection:(Me,L,J)=>1,get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(Me,L,J,fe){throw new Error("Not implemented.")},translatePosition:(Me,L,J,fe)=>function(de,Ae,Ye,et,dt=!1){if(!Ye[0]&&!Ye[1])return[0,0];let St=dt?et==="map"?de.angle:0:et==="viewport"?-de.angle:0;if(St){let Ht=Math.sin(St),Wt=Math.cos(St);Ye=[Ye[0]*Wt-Ye[1]*Ht,Ye[0]*Ht+Ye[1]*Wt]}return[dt?Ye[0]:ca(Ae,Ye[0],de.zoom),dt?Ye[1]:ca(Ae,Ye[1],de.zoom)]}(Me,L,J,fe),getCircleRadiusCorrection:Me=>1}}class Ln{constructor(L){this._sortAcrossTiles=L.layout.get("symbol-z-order")!=="viewport-y"&&!L.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(L,J,fe,de,Ae){let Ye=this._bucketParts;for(;this._currentTileIndexet.sortKey-dt.sortKey));this._currentPartIndex!this._forceFullPlacement&&n.now()-de>2;for(;this._currentPlacementIndex>=0;){let Ye=J[L[this._currentPlacementIndex]],et=this.placement.collisionIndex.transform.zoom;if(Ye.type==="symbol"&&(!Ye.minzoom||Ye.minzoom<=et)&&(!Ye.maxzoom||Ye.maxzoom>et)){if(this._inProgressLayer||(this._inProgressLayer=new Ln(Ye)),this._inProgressLayer.continuePlacement(fe[Ye.source],this.placement,this._showCollisionBoxes,Ye,Ae))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(L){return this.placement.commit(L),this.placement}}let Zi=512/e.X/2;class un{constructor(L,J,fe){this.tileID=L,this.bucketInstanceId=fe,this._symbolsByKey={};let de=new Map;for(let Ae=0;Ae({x:Math.floor(dt.anchorX*Zi),y:Math.floor(dt.anchorY*Zi)})),crossTileIDs:Ye.map(dt=>dt.crossTileID)};if(et.positions.length>128){let dt=new e.av(et.positions.length,16,Uint16Array);for(let{x:St,y:Ht}of et.positions)dt.add(St,Ht);dt.finish(),delete et.positions,et.index=dt}this._symbolsByKey[Ae]=et}}getScaledCoordinates(L,J){let{x:fe,y:de,z:Ae}=this.tileID.canonical,{x:Ye,y:et,z:dt}=J.canonical,St=Zi/Math.pow(2,dt-Ae),Ht=(et*e.X+L.anchorY)*St,Wt=de*e.X*Zi;return{x:Math.floor((Ye*e.X+L.anchorX)*St-fe*e.X*Zi),y:Math.floor(Ht-Wt)}}findMatches(L,J,fe){let de=this.tileID.canonical.zL)}}class rn{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class nt{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(L){let J=Math.round((L-this.lng)/360);if(J!==0)for(let fe in this.indexes){let de=this.indexes[fe],Ae={};for(let Ye in de){let et=de[Ye];et.tileID=et.tileID.unwrapTo(et.tileID.wrap+J),Ae[et.tileID.key]=et}this.indexes[fe]=Ae}this.lng=L}addBucket(L,J,fe){if(this.indexes[L.overscaledZ]&&this.indexes[L.overscaledZ][L.key]){if(this.indexes[L.overscaledZ][L.key].bucketInstanceId===J.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(L.overscaledZ,this.indexes[L.overscaledZ][L.key])}for(let Ae=0;AeL.overscaledZ)for(let et in Ye){let dt=Ye[et];dt.tileID.isChildOf(L)&&dt.findMatches(J.symbolInstances,L,de)}else{let et=Ye[L.scaledTo(Number(Ae)).key];et&&et.findMatches(J.symbolInstances,L,de)}}for(let Ae=0;Ae{J[fe]=!0});for(let fe in this.layerIndexes)J[fe]||delete this.layerIndexes[fe]}}let Qt=(Me,L)=>e.t(Me,L&&L.filter(J=>J.identifier!=="source.canvas")),Xt=e.aw();class nr extends e.E{constructor(L,J={}){super(),this._rtlPluginLoaded=()=>{for(let fe in this.sourceCaches){let de=this.sourceCaches[fe].getSource().type;de!=="vector"&&de!=="geojson"||this.sourceCaches[fe].reload()}},this.map=L,this.dispatcher=new K(G(),L._getMapId()),this.dispatcher.registerMessageHandler("GG",(fe,de)=>this.getGlyphs(fe,de)),this.dispatcher.registerMessageHandler("GI",(fe,de)=>this.getImages(fe,de)),this.imageManager=new _,this.imageManager.setEventedParent(this),this.glyphManager=new I(L._requestManager,J.localIdeographFontFamily),this.lineAtlas=new q(256,512),this.crossTileSymbolIndex=new Ke,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new e.ax,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast("SR",e.ay()),De().on(se,this._rtlPluginLoaded),this.on("data",fe=>{if(fe.dataType!=="source"||fe.sourceDataType!=="metadata")return;let de=this.sourceCaches[fe.sourceId];if(!de)return;let Ae=de.getSource();if(Ae&&Ae.vectorLayerIds)for(let Ye in this._layers){let et=this._layers[Ye];et.source===Ae.id&&this._validateLayer(et)}})}loadURL(L,J={},fe){this.fire(new e.k("dataloading",{dataType:"style"})),J.validate=typeof J.validate!="boolean"||J.validate;let de=this.map._requestManager.transformRequest(L,"Style");this._loadStyleRequest=new AbortController;let Ae=this._loadStyleRequest;e.h(de,this._loadStyleRequest).then(Ye=>{this._loadStyleRequest=null,this._load(Ye.data,J,fe)}).catch(Ye=>{this._loadStyleRequest=null,Ye&&!Ae.signal.aborted&&this.fire(new e.j(Ye))})}loadJSON(L,J={},fe){this.fire(new e.k("dataloading",{dataType:"style"})),this._frameRequest=new AbortController,n.frameAsync(this._frameRequest).then(()=>{this._frameRequest=null,J.validate=J.validate!==!1,this._load(L,J,fe)}).catch(()=>{})}loadEmpty(){this.fire(new e.k("dataloading",{dataType:"style"})),this._load(Xt,{validate:!1})}_load(L,J,fe){var de;let Ae=J.transformStyle?J.transformStyle(fe,L):L;if(!J.validate||!Qt(this,e.u(Ae))){this._loaded=!0,this.stylesheet=Ae;for(let Ye in Ae.sources)this.addSource(Ye,Ae.sources[Ye],{validate:!1});Ae.sprite?this._loadSprite(Ae.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(Ae.glyphs),this._createLayers(),this.light=new k(this.stylesheet.light),this.sky=new N(this.stylesheet.sky),this.map.setTerrain((de=this.stylesheet.terrain)!==null&&de!==void 0?de:null),this.fire(new e.k("data",{dataType:"style"})),this.fire(new e.k("style.load"))}}_createLayers(){let L=e.az(this.stylesheet.layers);this.dispatcher.broadcast("SL",L),this._order=L.map(J=>J.id),this._layers={},this._serializedLayers=null;for(let J of L){let fe=e.aA(J);fe.setEventedParent(this,{layer:{id:J.id}}),this._layers[J.id]=fe}}_loadSprite(L,J=!1,fe=void 0){let de;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(Ae,Ye,et,dt){return e._(this,void 0,void 0,function*(){let St=T(Ae),Ht=et>1?"@2x":"",Wt={},fr={};for(let{id:Ar,url:Le}of St){let ze=Ye.transformRequest(m(Le,Ht,".json"),"SpriteJSON");Wt[Ar]=e.h(ze,dt);let je=Ye.transformRequest(m(Le,Ht,".png"),"SpriteImage");fr[Ar]=o.getImage(je,dt)}return yield Promise.all([...Object.values(Wt),...Object.values(fr)]),function(Ar,Le){return e._(this,void 0,void 0,function*(){let ze={};for(let je in Ar){ze[je]={};let Xe=n.getImageCanvasContext((yield Le[je]).data),st=(yield Ar[je]).data;for(let Qe in st){let{width:ht,height:Dt,x:Ot,y:$t,sdf:ir,pixelRatio:pr,stretchX:zr,stretchY:Wr,content:ia,textFitWidth:Sa,textFitHeight:ln}=st[Qe];ze[je][Qe]={data:null,pixelRatio:pr,sdf:ir,stretchX:zr,stretchY:Wr,content:ia,textFitWidth:Sa,textFitHeight:ln,spriteData:{width:ht,height:Dt,x:Ot,y:$t,context:Xe}}}}return ze})}(Wt,fr)})}(L,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then(Ae=>{if(this._spriteRequest=null,Ae)for(let Ye in Ae){this._spritesImagesIds[Ye]=[];let et=this._spritesImagesIds[Ye]?this._spritesImagesIds[Ye].filter(dt=>!(dt in Ae)):[];for(let dt of et)this.imageManager.removeImage(dt),this._changedImages[dt]=!0;for(let dt in Ae[Ye]){let St=Ye==="default"?dt:`${Ye}:${dt}`;this._spritesImagesIds[Ye].push(St),St in this.imageManager.images?this.imageManager.updateImage(St,Ae[Ye][dt],!1):this.imageManager.addImage(St,Ae[Ye][dt]),J&&(this._changedImages[St]=!0)}}}).catch(Ae=>{this._spriteRequest=null,de=Ae,this.fire(new e.j(de))}).finally(()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),J&&(this._changed=!0),this.dispatcher.broadcast("SI",this._availableImages),this.fire(new e.k("data",{dataType:"style"})),fe&&fe(de)})}_unloadSprite(){for(let L of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(L),this._changedImages[L]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new e.k("data",{dataType:"style"}))}_validateLayer(L){let J=this.sourceCaches[L.source];if(!J)return;let fe=L.sourceLayer;if(!fe)return;let de=J.getSource();(de.type==="geojson"||de.vectorLayerIds&&de.vectorLayerIds.indexOf(fe)===-1)&&this.fire(new e.j(new Error(`Source layer "${fe}" does not exist on source "${de.id}" as specified by style layer "${L.id}".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let L in this.sourceCaches)if(!this.sourceCaches[L].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(L,J=!1){let fe=this._serializedAllLayers();if(!L||L.length===0)return Object.values(J?e.aB(fe):fe);let de=[];for(let Ae of L)if(fe[Ae]){let Ye=J?e.aB(fe[Ae]):fe[Ae];de.push(Ye)}return de}_serializedAllLayers(){let L=this._serializedLayers;if(L)return L;L=this._serializedLayers={};let J=Object.keys(this._layers);for(let fe of J){let de=this._layers[fe];de.type!=="custom"&&(L[fe]=de.serialize())}return L}hasTransitions(){if(this.light&&this.light.hasTransition()||this.sky&&this.sky.hasTransition())return!0;for(let L in this.sourceCaches)if(this.sourceCaches[L].hasTransition())return!0;for(let L in this._layers)if(this._layers[L].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading.")}update(L){if(!this._loaded)return;let J=this._changed;if(J){let de=Object.keys(this._updatedLayers),Ae=Object.keys(this._removedLayers);(de.length||Ae.length)&&this._updateWorkerLayers(de,Ae);for(let Ye in this._updatedSources){let et=this._updatedSources[Ye];if(et==="reload")this._reloadSource(Ye);else{if(et!=="clear")throw new Error(`Invalid action ${et}`);this._clearSource(Ye)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let Ye in this._updatedPaintProps)this._layers[Ye].updateTransitions(L);this.light.updateTransitions(L),this.sky.updateTransitions(L),this._resetUpdates()}let fe={};for(let de in this.sourceCaches){let Ae=this.sourceCaches[de];fe[de]=Ae.used,Ae.used=!1}for(let de of this._order){let Ae=this._layers[de];Ae.recalculate(L,this._availableImages),!Ae.isHidden(L.zoom)&&Ae.source&&(this.sourceCaches[Ae.source].used=!0)}for(let de in fe){let Ae=this.sourceCaches[de];!!fe[de]!=!!Ae.used&&Ae.fire(new e.k("data",{sourceDataType:"visibility",dataType:"source",sourceId:de}))}this.light.recalculate(L),this.sky.recalculate(L),this.z=L.zoom,J&&this.fire(new e.k("data",{dataType:"style"}))}_updateTilesForChangedImages(){let L=Object.keys(this._changedImages);if(L.length){for(let J in this.sourceCaches)this.sourceCaches[J].reloadTilesForDependencies(["icons","patterns"],L);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let L in this.sourceCaches)this.sourceCaches[L].reloadTilesForDependencies(["glyphs"],[""]);this._glyphsDidChange=!1}}_updateWorkerLayers(L,J){this.dispatcher.broadcast("UL",{layers:this._serializeByIds(L,!1),removedIds:J})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(L,J={}){var fe;this._checkLoaded();let de=this.serialize();if(L=J.transformStyle?J.transformStyle(de,L):L,((fe=J.validate)===null||fe===void 0||fe)&&Qt(this,e.u(L)))return!1;(L=e.aB(L)).layers=e.az(L.layers);let Ae=e.aC(de,L),Ye=this._getOperationsToPerform(Ae);if(Ye.unimplemented.length>0)throw new Error(`Unimplemented: ${Ye.unimplemented.join(", ")}.`);if(Ye.operations.length===0)return!1;for(let et of Ye.operations)et();return this.stylesheet=L,this._serializedLayers=null,!0}_getOperationsToPerform(L){let J=[],fe=[];for(let de of L)switch(de.command){case"setCenter":case"setZoom":case"setBearing":case"setPitch":continue;case"addLayer":J.push(()=>this.addLayer.apply(this,de.args));break;case"removeLayer":J.push(()=>this.removeLayer.apply(this,de.args));break;case"setPaintProperty":J.push(()=>this.setPaintProperty.apply(this,de.args));break;case"setLayoutProperty":J.push(()=>this.setLayoutProperty.apply(this,de.args));break;case"setFilter":J.push(()=>this.setFilter.apply(this,de.args));break;case"addSource":J.push(()=>this.addSource.apply(this,de.args));break;case"removeSource":J.push(()=>this.removeSource.apply(this,de.args));break;case"setLayerZoomRange":J.push(()=>this.setLayerZoomRange.apply(this,de.args));break;case"setLight":J.push(()=>this.setLight.apply(this,de.args));break;case"setGeoJSONSourceData":J.push(()=>this.setGeoJSONSourceData.apply(this,de.args));break;case"setGlyphs":J.push(()=>this.setGlyphs.apply(this,de.args));break;case"setSprite":J.push(()=>this.setSprite.apply(this,de.args));break;case"setSky":J.push(()=>this.setSky.apply(this,de.args));break;case"setTerrain":J.push(()=>this.map.setTerrain.apply(this,de.args));break;case"setTransition":J.push(()=>{});break;default:fe.push(de.command)}return{operations:J,unimplemented:fe}}addImage(L,J){if(this.getImage(L))return this.fire(new e.j(new Error(`An image named "${L}" already exists.`)));this.imageManager.addImage(L,J),this._afterImageUpdated(L)}updateImage(L,J){this.imageManager.updateImage(L,J)}getImage(L){return this.imageManager.getImage(L)}removeImage(L){if(!this.getImage(L))return this.fire(new e.j(new Error(`An image named "${L}" does not exist.`)));this.imageManager.removeImage(L),this._afterImageUpdated(L)}_afterImageUpdated(L){this._availableImages=this.imageManager.listImages(),this._changedImages[L]=!0,this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new e.k("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(L,J,fe={}){if(this._checkLoaded(),this.sourceCaches[L]!==void 0)throw new Error(`Source "${L}" already exists.`);if(!J.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(J).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(J.type)>=0&&this._validate(e.u.source,`sources.${L}`,J,null,fe))return;this.map&&this.map._collectResourceTiming&&(J.collectResourceTiming=!0);let de=this.sourceCaches[L]=new ot(L,J,this.dispatcher);de.style=this,de.setEventedParent(this,()=>({isSourceLoaded:de.loaded(),source:de.serialize(),sourceId:L})),de.onAdd(this.map),this._changed=!0}removeSource(L){if(this._checkLoaded(),this.sourceCaches[L]===void 0)throw new Error("There is no source with this ID");for(let fe in this._layers)if(this._layers[fe].source===L)return this.fire(new e.j(new Error(`Source "${L}" cannot be removed while layer "${fe}" is using it.`)));let J=this.sourceCaches[L];delete this.sourceCaches[L],delete this._updatedSources[L],J.fire(new e.k("data",{sourceDataType:"metadata",dataType:"source",sourceId:L})),J.setEventedParent(null),J.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(L,J){if(this._checkLoaded(),this.sourceCaches[L]===void 0)throw new Error(`There is no source with this ID=${L}`);let fe=this.sourceCaches[L].getSource();if(fe.type!=="geojson")throw new Error(`geojsonSource.type is ${fe.type}, which is !== 'geojson`);fe.setData(J),this._changed=!0}getSource(L){return this.sourceCaches[L]&&this.sourceCaches[L].getSource()}addLayer(L,J,fe={}){this._checkLoaded();let de=L.id;if(this.getLayer(de))return void this.fire(new e.j(new Error(`Layer "${de}" already exists on this map.`)));let Ae;if(L.type==="custom"){if(Qt(this,e.aD(L)))return;Ae=e.aA(L)}else{if("source"in L&&typeof L.source=="object"&&(this.addSource(de,L.source),L=e.aB(L),L=e.e(L,{source:de})),this._validate(e.u.layer,`layers.${de}`,L,{arrayIndex:-1},fe))return;Ae=e.aA(L),this._validateLayer(Ae),Ae.setEventedParent(this,{layer:{id:de}})}let Ye=J?this._order.indexOf(J):this._order.length;if(J&&Ye===-1)this.fire(new e.j(new Error(`Cannot add layer "${de}" before non-existing layer "${J}".`)));else{if(this._order.splice(Ye,0,de),this._layerOrderChanged=!0,this._layers[de]=Ae,this._removedLayers[de]&&Ae.source&&Ae.type!=="custom"){let et=this._removedLayers[de];delete this._removedLayers[de],et.type!==Ae.type?this._updatedSources[Ae.source]="clear":(this._updatedSources[Ae.source]="reload",this.sourceCaches[Ae.source].pause())}this._updateLayer(Ae),Ae.onAdd&&Ae.onAdd(this.map)}}moveLayer(L,J){if(this._checkLoaded(),this._changed=!0,!this._layers[L])return void this.fire(new e.j(new Error(`The layer '${L}' does not exist in the map's style and cannot be moved.`)));if(L===J)return;let fe=this._order.indexOf(L);this._order.splice(fe,1);let de=J?this._order.indexOf(J):this._order.length;J&&de===-1?this.fire(new e.j(new Error(`Cannot move layer "${L}" before non-existing layer "${J}".`))):(this._order.splice(de,0,L),this._layerOrderChanged=!0)}removeLayer(L){this._checkLoaded();let J=this._layers[L];if(!J)return void this.fire(new e.j(new Error(`Cannot remove non-existing layer "${L}".`)));J.setEventedParent(null);let fe=this._order.indexOf(L);this._order.splice(fe,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[L]=J,delete this._layers[L],this._serializedLayers&&delete this._serializedLayers[L],delete this._updatedLayers[L],delete this._updatedPaintProps[L],J.onRemove&&J.onRemove(this.map)}getLayer(L){return this._layers[L]}getLayersOrder(){return[...this._order]}hasLayer(L){return L in this._layers}setLayerZoomRange(L,J,fe){this._checkLoaded();let de=this.getLayer(L);de?de.minzoom===J&&de.maxzoom===fe||(J!=null&&(de.minzoom=J),fe!=null&&(de.maxzoom=fe),this._updateLayer(de)):this.fire(new e.j(new Error(`Cannot set the zoom range of non-existing layer "${L}".`)))}setFilter(L,J,fe={}){this._checkLoaded();let de=this.getLayer(L);if(de){if(!e.aE(de.filter,J))return J==null?(de.filter=void 0,void this._updateLayer(de)):void(this._validate(e.u.filter,`layers.${de.id}.filter`,J,null,fe)||(de.filter=e.aB(J),this._updateLayer(de)))}else this.fire(new e.j(new Error(`Cannot filter non-existing layer "${L}".`)))}getFilter(L){return e.aB(this.getLayer(L).filter)}setLayoutProperty(L,J,fe,de={}){this._checkLoaded();let Ae=this.getLayer(L);Ae?e.aE(Ae.getLayoutProperty(J),fe)||(Ae.setLayoutProperty(J,fe,de),this._updateLayer(Ae)):this.fire(new e.j(new Error(`Cannot style non-existing layer "${L}".`)))}getLayoutProperty(L,J){let fe=this.getLayer(L);if(fe)return fe.getLayoutProperty(J);this.fire(new e.j(new Error(`Cannot get style of non-existing layer "${L}".`)))}setPaintProperty(L,J,fe,de={}){this._checkLoaded();let Ae=this.getLayer(L);Ae?e.aE(Ae.getPaintProperty(J),fe)||(Ae.setPaintProperty(J,fe,de)&&this._updateLayer(Ae),this._changed=!0,this._updatedPaintProps[L]=!0,this._serializedLayers=null):this.fire(new e.j(new Error(`Cannot style non-existing layer "${L}".`)))}getPaintProperty(L,J){return this.getLayer(L).getPaintProperty(J)}setFeatureState(L,J){this._checkLoaded();let fe=L.source,de=L.sourceLayer,Ae=this.sourceCaches[fe];if(Ae===void 0)return void this.fire(new e.j(new Error(`The source '${fe}' does not exist in the map's style.`)));let Ye=Ae.getSource().type;Ye==="geojson"&&de?this.fire(new e.j(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):Ye!=="vector"||de?(L.id===void 0&&this.fire(new e.j(new Error("The feature id parameter must be provided."))),Ae.setFeatureState(de,L.id,J)):this.fire(new e.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(L,J){this._checkLoaded();let fe=L.source,de=this.sourceCaches[fe];if(de===void 0)return void this.fire(new e.j(new Error(`The source '${fe}' does not exist in the map's style.`)));let Ae=de.getSource().type,Ye=Ae==="vector"?L.sourceLayer:void 0;Ae!=="vector"||Ye?J&&typeof L.id!="string"&&typeof L.id!="number"?this.fire(new e.j(new Error("A feature id is required to remove its specific state property."))):de.removeFeatureState(Ye,L.id,J):this.fire(new e.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(L){this._checkLoaded();let J=L.source,fe=L.sourceLayer,de=this.sourceCaches[J];if(de!==void 0)return de.getSource().type!=="vector"||fe?(L.id===void 0&&this.fire(new e.j(new Error("The feature id parameter must be provided."))),de.getFeatureState(fe,L.id)):void this.fire(new e.j(new Error("The sourceLayer parameter must be provided for vector source types.")));this.fire(new e.j(new Error(`The source '${J}' does not exist in the map's style.`)))}getTransition(){return e.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;let L=e.aF(this.sourceCaches,Ae=>Ae.serialize()),J=this._serializeByIds(this._order,!0),fe=this.map.getTerrain()||void 0,de=this.stylesheet;return e.aG({version:de.version,name:de.name,metadata:de.metadata,light:de.light,sky:de.sky,center:de.center,zoom:de.zoom,bearing:de.bearing,pitch:de.pitch,sprite:de.sprite,glyphs:de.glyphs,transition:de.transition,sources:L,layers:J,terrain:fe},Ae=>Ae!==void 0)}_updateLayer(L){this._updatedLayers[L.id]=!0,L.source&&!this._updatedSources[L.source]&&this.sourceCaches[L.source].getSource().type!=="raster"&&(this._updatedSources[L.source]="reload",this.sourceCaches[L.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(L){let J=Ye=>this._layers[Ye].type==="fill-extrusion",fe={},de=[];for(let Ye=this._order.length-1;Ye>=0;Ye--){let et=this._order[Ye];if(J(et)){fe[et]=Ye;for(let dt of L){let St=dt[et];if(St)for(let Ht of St)de.push(Ht)}}}de.sort((Ye,et)=>et.intersectionZ-Ye.intersectionZ);let Ae=[];for(let Ye=this._order.length-1;Ye>=0;Ye--){let et=this._order[Ye];if(J(et))for(let dt=de.length-1;dt>=0;dt--){let St=de[dt].feature;if(fe[St.layer.id]{let ir=Xe.featureSortOrder;if(ir){let pr=ir.indexOf(Ot.featureIndex);return ir.indexOf($t.featureIndex)-pr}return $t.featureIndex-Ot.featureIndex});for(let Ot of Dt)ht.push(Ot)}}for(let Xe in Le)Le[Xe].forEach(st=>{let Qe=st.feature,ht=St[et[Xe].source].getFeatureState(Qe.layer["source-layer"],Qe.id);Qe.source=Qe.layer.source,Qe.layer["source-layer"]&&(Qe.sourceLayer=Qe.layer["source-layer"]),Qe.state=ht});return Le}(this._layers,Ye,this.sourceCaches,L,J,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(Ae)}querySourceFeatures(L,J){J&&J.filter&&this._validate(e.u.filter,"querySourceFeatures.filter",J.filter,null,J);let fe=this.sourceCaches[L];return fe?function(de,Ae){let Ye=de.getRenderableIds().map(St=>de.getTileByID(St)),et=[],dt={};for(let St=0;Stfr.getTileByID(Ar)).sort((Ar,Le)=>Le.tileID.overscaledZ-Ar.tileID.overscaledZ||(Ar.tileID.isLessThan(Le.tileID)?-1:1))}let Wt=this.crossTileSymbolIndex.addLayer(Ht,dt[Ht.source],L.center.lng);Ye=Ye||Wt}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((Ae=Ae||this._layerOrderChanged||fe===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(n.now(),L.zoom))&&(this.pauseablePlacement=new ji(L,this.map.terrain,this._order,Ae,J,fe,de,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,dt),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(n.now()),et=!0),Ye&&this.pauseablePlacement.placement.setStale()),et||Ye)for(let St of this._order){let Ht=this._layers[St];Ht.type==="symbol"&&this.placement.updateLayerOpacities(Ht,dt[Ht.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(n.now())}_releaseSymbolFadeTiles(){for(let L in this.sourceCaches)this.sourceCaches[L].releaseSymbolFadeTiles()}getImages(L,J){return e._(this,void 0,void 0,function*(){let fe=yield this.imageManager.getImages(J.icons);this._updateTilesForChangedImages();let de=this.sourceCaches[J.source];return de&&de.setDependencies(J.tileID.key,J.type,J.icons),fe})}getGlyphs(L,J){return e._(this,void 0,void 0,function*(){let fe=yield this.glyphManager.getGlyphs(J.stacks),de=this.sourceCaches[J.source];return de&&de.setDependencies(J.tileID.key,J.type,[""]),fe})}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(L,J={}){this._checkLoaded(),L&&this._validate(e.u.glyphs,"glyphs",L,null,J)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=L,this.glyphManager.entries={},this.glyphManager.setURL(L))}addSprite(L,J,fe={},de){this._checkLoaded();let Ae=[{id:L,url:J}],Ye=[...T(this.stylesheet.sprite),...Ae];this._validate(e.u.sprite,"sprite",Ye,null,fe)||(this.stylesheet.sprite=Ye,this._loadSprite(Ae,!0,de))}removeSprite(L){this._checkLoaded();let J=T(this.stylesheet.sprite);if(J.find(fe=>fe.id===L)){if(this._spritesImagesIds[L])for(let fe of this._spritesImagesIds[L])this.imageManager.removeImage(fe),this._changedImages[fe]=!0;J.splice(J.findIndex(fe=>fe.id===L),1),this.stylesheet.sprite=J.length>0?J:void 0,delete this._spritesImagesIds[L],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new e.k("data",{dataType:"style"}))}else this.fire(new e.j(new Error(`Sprite "${L}" doesn't exists on this map.`)))}getSprite(){return T(this.stylesheet.sprite)}setSprite(L,J={},fe){this._checkLoaded(),L&&this._validate(e.u.sprite,"sprite",L,null,J)||(this.stylesheet.sprite=L,L?this._loadSprite(L,!0,fe):(this._unloadSprite(),fe&&fe(null)))}}var cr=e.Y([{name:"a_pos",type:"Int16",components:2}]);let rr={prelude:Ze(`#ifdef GL_ES precision mediump float; #else #if !defined(lowp) @@ -3266,15 +2765,15 @@ vec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=frac #else return 0.0; #endif -}`),background:yt(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity; +}`),background:Ze(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity; #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(1.0); #endif -}`,"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),backgroundPattern:yt(`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; +}`,"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),backgroundPattern:Ze(`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; #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(1.0); #endif -}`,"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:yt(`varying vec3 v_data;varying float v_visibility; +}`,"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:Ze(`varying vec3 v_data;varying float v_visibility; #pragma mapbox: define highp vec4 color #pragma mapbox: define mediump float radius #pragma mapbox: define lowp float blur @@ -3310,7 +2809,7 @@ void main(void) { #pragma mapbox: initialize highp vec4 stroke_color #pragma mapbox: initialize mediump float stroke_width #pragma mapbox: initialize lowp float stroke_opacity -vec2 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:yt("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:yt(`uniform highp float u_intensity;varying vec2 v_extrude; +vec2 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:Ze("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:Ze(`uniform highp float u_intensity;varying vec2 v_extrude; #pragma mapbox: define highp float weight #define GAUSS_COEF 0.3989422804014327 void main() { @@ -3327,11 +2826,11 @@ const highp float ZERO=1.0/255.0/16.0; void main(void) { #pragma mapbox: initialize highp float weight #pragma mapbox: initialize mediump float radius -vec2 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:yt(`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; +vec2 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:Ze(`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; #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(0.0); #endif -}`,"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:yt("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:yt("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:yt("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:yt(`#pragma mapbox: define highp vec4 color +}`,"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:Ze("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:Ze("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:Ze("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:Ze(`#pragma mapbox: define highp vec4 color #pragma mapbox: define lowp float opacity void main() { #pragma mapbox: initialize highp vec4 color @@ -3346,7 +2845,7 @@ gl_FragColor=vec4(1.0); void main() { #pragma mapbox: initialize highp vec4 color #pragma mapbox: initialize lowp float opacity -gl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:yt(`varying vec2 v_pos; +gl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:Ze(`varying vec2 v_pos; #pragma mapbox: define highp vec4 outline_color #pragma mapbox: define lowp float opacity void main() { @@ -3362,7 +2861,7 @@ gl_FragColor=vec4(1.0); void main() { #pragma mapbox: initialize highp vec4 outline_color #pragma mapbox: initialize lowp float opacity -gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillOutlinePattern:yt(`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; +gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillOutlinePattern:Ze(`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; #pragma mapbox: define lowp float opacity #pragma mapbox: define lowp vec4 pattern_from #pragma mapbox: define lowp vec4 pattern_to @@ -3386,7 +2885,7 @@ void main() { #pragma mapbox: initialize mediump vec4 pattern_to #pragma mapbox: initialize lowp float pixel_ratio_from #pragma mapbox: initialize lowp float pixel_ratio_to -vec2 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:yt(`#ifdef GL_ES +vec2 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:Ze(`#ifdef GL_ES precision highp float; #endif uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b; @@ -3413,7 +2912,7 @@ void main() { #pragma mapbox: initialize mediump vec4 pattern_to #pragma mapbox: initialize lowp float pixel_ratio_from #pragma mapbox: initialize lowp float pixel_ratio_to -vec2 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:yt(`varying vec4 v_color;void main() {gl_FragColor=v_color; +vec2 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:Ze(`varying vec4 v_color;void main() {gl_FragColor=v_color; #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(1.0); #endif @@ -3435,7 +2934,7 @@ float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_off #else float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0; #endif -base=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:yt(`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; +base=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:Ze(`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; #pragma mapbox: define lowp float base #pragma mapbox: define lowp float height #pragma mapbox: define lowp vec4 pattern_from @@ -3479,20 +2978,20 @@ float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0; #endif base=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 ? a_pos -: 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:yt(`#ifdef GL_ES +: 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:Ze(`#ifdef GL_ES precision highp float; #endif uniform 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); #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(1.0); #endif -}`,"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:yt(`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; +}`,"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:Ze(`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; #define PI 3.141592653589793 void 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; #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(1.0); #endif -}`,"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:yt(`uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale; +}`,"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:Ze(`uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale; #pragma mapbox: define highp vec4 color #pragma mapbox: define lowp float blur #pragma mapbox: define lowp float opacity @@ -3526,7 +3025,7 @@ v_gamma_scale=1.0; #else 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; #endif -v_width2=vec2(outset,inset);}`),lineGradient:yt(`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; +v_width2=vec2(outset,inset);}`),lineGradient:Ze(`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; #pragma mapbox: define lowp float blur #pragma mapbox: define lowp float opacity void main() { @@ -3556,7 +3055,7 @@ v_gamma_scale=1.0; #else 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; #endif -v_width2=vec2(outset,inset);}`),linePattern:yt(`#ifdef GL_ES +v_width2=vec2(outset,inset);}`),linePattern:Ze(`#ifdef GL_ES precision highp float; #endif 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; @@ -3608,7 +3107,7 @@ v_gamma_scale=1.0; #else 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; #endif -v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:yt(`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; +v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:Ze(`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; #pragma mapbox: define highp vec4 color #pragma mapbox: define lowp float blur #pragma mapbox: define lowp float opacity @@ -3649,11 +3148,11 @@ v_gamma_scale=1.0; #else 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; #endif -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);}`),raster:yt(`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); +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);}`),raster:Ze(`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); #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(1.0); #endif -}`,"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:yt(`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity; +}`,"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:Ze(`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity; #pragma mapbox: define lowp float opacity void main() { #pragma mapbox: initialize lowp float opacity @@ -3667,7 +3166,7 @@ void main() { #pragma mapbox: initialize lowp float opacity vec2 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 ? camera_to_anchor_distance/u_camera_to_center_distance : -u_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:yt(`#define SDF_PX 8.0 +u_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:Ze(`#define SDF_PX 8.0 uniform 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; #pragma mapbox: define highp vec4 fill_color #pragma mapbox: define highp vec4 halo_color @@ -3698,7 +3197,7 @@ void main() { #pragma mapbox: initialize lowp float halo_blur vec2 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 ? camera_to_anchor_distance/u_camera_to_center_distance : -u_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:yt(`#define SDF_PX 8.0 +u_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:Ze(`#define SDF_PX 8.0 #define SDF 1.0 #define ICON 0.0 uniform 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; @@ -3735,86 +3234,86 @@ void main() { #pragma mapbox: initialize lowp float halo_blur vec2 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 ? camera_to_anchor_distance/u_camera_to_center_distance : -u_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:yt("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:yt("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:yt("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:yt("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 yt(Ue,P){let ae=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,xe=P.match(/attribute ([\w]+) ([\w]+)/g),Te=Ue.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),Oe=P.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),ht=Oe?Oe.concat(Te):Te,Tt={};return{fragmentSource:Ue=Ue.replace(ae,(Ot,Qt,Ar,Sr,Kr)=>(Tt[Kr]=!0,Qt==="define"?` -#ifndef HAS_UNIFORM_u_${Kr} -varying ${Ar} ${Sr} ${Kr}; +u_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:Ze("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:Ze("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:Ze("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:Ze("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 Ze(Me,L){let J=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,fe=L.match(/attribute ([\w]+) ([\w]+)/g),de=Me.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),Ae=L.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),Ye=Ae?Ae.concat(de):de,et={};return{fragmentSource:Me=Me.replace(J,(dt,St,Ht,Wt,fr)=>(et[fr]=!0,St==="define"?` +#ifndef HAS_UNIFORM_u_${fr} +varying ${Ht} ${Wt} ${fr}; #else -uniform ${Ar} ${Sr} u_${Kr}; +uniform ${Ht} ${Wt} u_${fr}; #endif `:` -#ifdef HAS_UNIFORM_u_${Kr} - ${Ar} ${Sr} ${Kr} = u_${Kr}; -#endif -`)),vertexSource:P=P.replace(ae,(Ot,Qt,Ar,Sr,Kr)=>{let oi=Sr==="float"?"vec2":"vec4",Ge=Kr.match(/color/)?"color":oi;return Tt[Kr]?Qt==="define"?` -#ifndef HAS_UNIFORM_u_${Kr} -uniform lowp float u_${Kr}_t; -attribute ${Ar} ${oi} a_${Kr}; -varying ${Ar} ${Sr} ${Kr}; +#ifdef HAS_UNIFORM_u_${fr} + ${Ht} ${Wt} ${fr} = u_${fr}; +#endif +`)),vertexSource:L=L.replace(J,(dt,St,Ht,Wt,fr)=>{let Ar=Wt==="float"?"vec2":"vec4",Le=fr.match(/color/)?"color":Ar;return et[fr]?St==="define"?` +#ifndef HAS_UNIFORM_u_${fr} +uniform lowp float u_${fr}_t; +attribute ${Ht} ${Ar} a_${fr}; +varying ${Ht} ${Wt} ${fr}; #else -uniform ${Ar} ${Sr} u_${Kr}; +uniform ${Ht} ${Wt} u_${fr}; #endif -`:Ge==="vec4"?` -#ifndef HAS_UNIFORM_u_${Kr} - ${Kr} = a_${Kr}; +`:Le==="vec4"?` +#ifndef HAS_UNIFORM_u_${fr} + ${fr} = a_${fr}; #else - ${Ar} ${Sr} ${Kr} = u_${Kr}; + ${Ht} ${Wt} ${fr} = u_${fr}; #endif `:` -#ifndef HAS_UNIFORM_u_${Kr} - ${Kr} = unpack_mix_${Ge}(a_${Kr}, u_${Kr}_t); +#ifndef HAS_UNIFORM_u_${fr} + ${fr} = unpack_mix_${Le}(a_${fr}, u_${fr}_t); #else - ${Ar} ${Sr} ${Kr} = u_${Kr}; + ${Ht} ${Wt} ${fr} = u_${fr}; #endif -`:Qt==="define"?` -#ifndef HAS_UNIFORM_u_${Kr} -uniform lowp float u_${Kr}_t; -attribute ${Ar} ${oi} a_${Kr}; +`:St==="define"?` +#ifndef HAS_UNIFORM_u_${fr} +uniform lowp float u_${fr}_t; +attribute ${Ht} ${Ar} a_${fr}; #else -uniform ${Ar} ${Sr} u_${Kr}; +uniform ${Ht} ${Wt} u_${fr}; #endif -`:Ge==="vec4"?` -#ifndef HAS_UNIFORM_u_${Kr} - ${Ar} ${Sr} ${Kr} = a_${Kr}; +`:Le==="vec4"?` +#ifndef HAS_UNIFORM_u_${fr} + ${Ht} ${Wt} ${fr} = a_${fr}; #else - ${Ar} ${Sr} ${Kr} = u_${Kr}; + ${Ht} ${Wt} ${fr} = u_${fr}; #endif `:` -#ifndef HAS_UNIFORM_u_${Kr} - ${Ar} ${Sr} ${Kr} = unpack_mix_${Ge}(a_${Kr}, u_${Kr}_t); +#ifndef HAS_UNIFORM_u_${fr} + ${Ht} ${Wt} ${fr} = unpack_mix_${Le}(a_${fr}, u_${fr}_t); #else - ${Ar} ${Sr} ${Kr} = u_${Kr}; + ${Ht} ${Wt} ${fr} = u_${fr}; #endif -`}),staticAttributes:xe,staticUniforms:ht}}class Xt{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(P,ae,xe,Te,Oe,ht,Tt,Ot,Qt){this.context=P;let Ar=this.boundPaintVertexBuffers.length!==Te.length;for(let Sr=0;!Ar&&Sr({u_matrix:Ue,u_texture:0,u_ele_delta:P,u_fog_matrix:ae,u_fog_color:xe?xe.properties.get("fog-color"):t.aM.white,u_fog_ground_blend:xe?xe.properties.get("fog-ground-blend"):1,u_fog_ground_blend_opacity:xe?xe.calculateFogBlendOpacity(Te):0,u_horizon_color:xe?xe.properties.get("horizon-color"):t.aM.white,u_horizon_fog_blend:xe?xe.properties.get("horizon-fog-blend"):1});function Or(Ue){let P=[];for(let ae=0;ae({u_depth:new t.aH(_r,kr.u_depth),u_terrain:new t.aH(_r,kr.u_terrain),u_terrain_dim:new t.aI(_r,kr.u_terrain_dim),u_terrain_matrix:new t.aJ(_r,kr.u_terrain_matrix),u_terrain_unpack:new t.aK(_r,kr.u_terrain_unpack),u_terrain_exaggeration:new t.aI(_r,kr.u_terrain_exaggeration)}))(P,fr),this.binderUniforms=xe?xe.getUniforms(P,fr):[]}draw(P,ae,xe,Te,Oe,ht,Tt,Ot,Qt,Ar,Sr,Kr,oi,Ge,Ze,ot,dt,Ct){let wt=P.gl;if(this.failedToCreate)return;if(P.program.set(this.program),P.setDepthMode(xe),P.setStencilMode(Te),P.setColorMode(Oe),P.setCullFace(ht),Ot){P.activeTexture.set(wt.TEXTURE2),wt.bindTexture(wt.TEXTURE_2D,Ot.depthTexture),P.activeTexture.set(wt.TEXTURE3),wt.bindTexture(wt.TEXTURE_2D,Ot.texture);for(let fr in this.terrainUniforms)this.terrainUniforms[fr].set(Ot[fr])}for(let fr in this.fixedUniforms)this.fixedUniforms[fr].set(Tt[fr]);Ze&&Ze.setUniforms(P,this.binderUniforms,oi,{zoom:Ge});let Dt=0;switch(ae){case wt.LINES:Dt=2;break;case wt.TRIANGLES:Dt=3;break;case wt.LINE_STRIP:Dt=1}for(let fr of Kr.get()){let _r=fr.vaos||(fr.vaos={});(_r[Qt]||(_r[Qt]=new Xt)).bind(P,this,Ar,Ze?Ze.getPaintVertexBuffers():[],Sr,fr.vertexOffset,ot,dt,Ct),wt.drawElements(ae,fr.primitiveLength*Dt,wt.UNSIGNED_SHORT,fr.primitiveOffset*Dt*2)}}}function Ni(Ue,P,ae){let xe=1/Vi(ae,1,P.transform.tileZoom),Te=Math.pow(2,ae.tileID.overscaledZ),Oe=ae.tileSize*Math.pow(2,P.transform.tileZoom)/Te,ht=Oe*(ae.tileID.canonical.x+ae.tileID.wrap*Te),Tt=Oe*ae.tileID.canonical.y;return{u_image:0,u_texsize:ae.imageAtlasTexture.size,u_scale:[xe,Ue.fromScale,Ue.toScale],u_fade:Ue.t,u_pixel_coord_upper:[ht>>16,Tt>>16],u_pixel_coord_lower:[65535&ht,65535&Tt]}}let Si=(Ue,P,ae,xe)=>{let Te=P.style.light,Oe=Te.properties.get("position"),ht=[Oe.x,Oe.y,Oe.z],Tt=function(){var Qt=new t.A(9);return t.A!=Float32Array&&(Qt[1]=0,Qt[2]=0,Qt[3]=0,Qt[5]=0,Qt[6]=0,Qt[7]=0),Qt[0]=1,Qt[4]=1,Qt[8]=1,Qt}();Te.properties.get("anchor")==="viewport"&&function(Qt,Ar){var Sr=Math.sin(Ar),Kr=Math.cos(Ar);Qt[0]=Kr,Qt[1]=Sr,Qt[2]=0,Qt[3]=-Sr,Qt[4]=Kr,Qt[5]=0,Qt[6]=0,Qt[7]=0,Qt[8]=1}(Tt,-P.transform.angle),function(Qt,Ar,Sr){var Kr=Ar[0],oi=Ar[1],Ge=Ar[2];Qt[0]=Kr*Sr[0]+oi*Sr[3]+Ge*Sr[6],Qt[1]=Kr*Sr[1]+oi*Sr[4]+Ge*Sr[7],Qt[2]=Kr*Sr[2]+oi*Sr[5]+Ge*Sr[8]}(ht,ht,Tt);let Ot=Te.properties.get("color");return{u_matrix:Ue,u_lightpos:ht,u_lightintensity:Te.properties.get("intensity"),u_lightcolor:[Ot.r,Ot.g,Ot.b],u_vertical_gradient:+ae,u_opacity:xe}},fi=(Ue,P,ae,xe,Te,Oe,ht)=>t.e(Si(Ue,P,ae,xe),Ni(Oe,P,ht),{u_height_factor:-Math.pow(2,Te.overscaledZ)/ht.tileSize/8}),Li=Ue=>({u_matrix:Ue}),Ia=(Ue,P,ae,xe)=>t.e(Li(Ue),Ni(ae,P,xe)),Fa=(Ue,P)=>({u_matrix:Ue,u_world:P}),un=(Ue,P,ae,xe,Te)=>t.e(Ia(Ue,P,ae,xe),{u_world:Te}),Bn=(Ue,P,ae,xe)=>{let Te=Ue.transform,Oe,ht;if(xe.paint.get("circle-pitch-alignment")==="map"){let Tt=Vi(ae,1,Te.zoom);Oe=!0,ht=[Tt,Tt]}else Oe=!1,ht=Te.pixelsToGLUnits;return{u_camera_to_center_distance:Te.cameraToCenterDistance,u_scale_with_map:+(xe.paint.get("circle-pitch-scale")==="map"),u_matrix:Ue.translatePosMatrix(P.posMatrix,ae,xe.paint.get("circle-translate"),xe.paint.get("circle-translate-anchor")),u_pitch_with_map:+Oe,u_device_pixel_ratio:Ue.pixelRatio,u_extrude_scale:ht}},Kn=(Ue,P,ae)=>({u_matrix:Ue,u_inv_matrix:P,u_camera_to_center_distance:ae.cameraToCenterDistance,u_viewport_size:[ae.width,ae.height]}),Gn=(Ue,P,ae=1)=>({u_matrix:Ue,u_color:P,u_overlay:0,u_overlay_scale:ae}),eo=Ue=>({u_matrix:Ue}),Ao=(Ue,P,ae,xe)=>({u_matrix:Ue,u_extrude_scale:Vi(P,1,ae),u_intensity:xe}),An=(Ue,P,ae,xe)=>{let Te=t.H();t.aP(Te,0,Ue.width,Ue.height,0,0,1);let Oe=Ue.context.gl;return{u_matrix:Te,u_world:[Oe.drawingBufferWidth,Oe.drawingBufferHeight],u_image:ae,u_color_ramp:xe,u_opacity:P.paint.get("heatmap-opacity")}};function Eo(Ue,P){let ae=Math.pow(2,P.canonical.z),xe=P.canonical.y;return[new t.Z(0,xe/ae).toLngLat().lat,new t.Z(0,(xe+1)/ae).toLngLat().lat]}let fs=(Ue,P,ae,xe)=>{let Te=Ue.transform;return{u_matrix:xs(Ue,P,ae,xe),u_ratio:1/Vi(P,1,Te.zoom),u_device_pixel_ratio:Ue.pixelRatio,u_units_to_pixels:[1/Te.pixelsToGLUnits[0],1/Te.pixelsToGLUnits[1]]}},Ls=(Ue,P,ae,xe,Te)=>t.e(fs(Ue,P,ae,Te),{u_image:0,u_image_height:xe}),ns=(Ue,P,ae,xe,Te)=>{let Oe=Ue.transform,ht=ss(P,Oe);return{u_matrix:xs(Ue,P,ae,Te),u_texsize:P.imageAtlasTexture.size,u_ratio:1/Vi(P,1,Oe.zoom),u_device_pixel_ratio:Ue.pixelRatio,u_image:0,u_scale:[ht,xe.fromScale,xe.toScale],u_fade:xe.t,u_units_to_pixels:[1/Oe.pixelsToGLUnits[0],1/Oe.pixelsToGLUnits[1]]}},uo=(Ue,P,ae,xe,Te,Oe)=>{let ht=Ue.lineAtlas,Tt=ss(P,Ue.transform),Ot=ae.layout.get("line-cap")==="round",Qt=ht.getDash(xe.from,Ot),Ar=ht.getDash(xe.to,Ot),Sr=Qt.width*Te.fromScale,Kr=Ar.width*Te.toScale;return t.e(fs(Ue,P,ae,Oe),{u_patternscale_a:[Tt/Sr,-Qt.height/2],u_patternscale_b:[Tt/Kr,-Ar.height/2],u_sdfgamma:ht.width/(256*Math.min(Sr,Kr)*Ue.pixelRatio)/2,u_image:0,u_tex_y_a:Qt.y,u_tex_y_b:Ar.y,u_mix:Te.t})};function ss(Ue,P){return 1/Vi(Ue,1,P.tileZoom)}function xs(Ue,P,ae,xe){return Ue.translatePosMatrix(xe?xe.posMatrix:P.tileID.posMatrix,P,ae.paint.get("line-translate"),ae.paint.get("line-translate-anchor"))}let el=(Ue,P,ae,xe,Te)=>{return{u_matrix:Ue,u_tl_parent:P,u_scale_parent:ae,u_buffer_scale:1,u_fade_t:xe.mix,u_opacity:xe.opacity*Te.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:Te.paint.get("raster-brightness-min"),u_brightness_high:Te.paint.get("raster-brightness-max"),u_saturation_factor:(ht=Te.paint.get("raster-saturation"),ht>0?1-1/(1.001-ht):-ht),u_contrast_factor:(Oe=Te.paint.get("raster-contrast"),Oe>0?1/(1-Oe):1+Oe),u_spin_weights:Ss(Te.paint.get("raster-hue-rotate"))};var Oe,ht};function Ss(Ue){Ue*=Math.PI/180;let P=Math.sin(Ue),ae=Math.cos(Ue);return[(2*ae+1)/3,(-Math.sqrt(3)*P-ae+1)/3,(Math.sqrt(3)*P-ae+1)/3]}let Co=(Ue,P,ae,xe,Te,Oe,ht,Tt,Ot,Qt,Ar,Sr,Kr,oi)=>{let Ge=ht.transform;return{u_is_size_zoom_constant:+(Ue==="constant"||Ue==="source"),u_is_size_feature_constant:+(Ue==="constant"||Ue==="camera"),u_size_t:P?P.uSizeT:0,u_size:P?P.uSize:0,u_camera_to_center_distance:Ge.cameraToCenterDistance,u_pitch:Ge.pitch/360*2*Math.PI,u_rotate_symbol:+ae,u_aspect_ratio:Ge.width/Ge.height,u_fade_change:ht.options.fadeDuration?ht.symbolFadeChange:1,u_matrix:Tt,u_label_plane_matrix:Ot,u_coord_matrix:Qt,u_is_text:+Sr,u_pitch_with_map:+xe,u_is_along_line:Te,u_is_variable_anchor:Oe,u_texsize:Kr,u_texture:0,u_translation:Ar,u_pitched_scale:oi}},ao=(Ue,P,ae,xe,Te,Oe,ht,Tt,Ot,Qt,Ar,Sr,Kr,oi,Ge)=>{let Ze=ht.transform;return t.e(Co(Ue,P,ae,xe,Te,Oe,ht,Tt,Ot,Qt,Ar,Sr,Kr,Ge),{u_gamma_scale:xe?Math.cos(Ze._pitch)*Ze.cameraToCenterDistance:1,u_device_pixel_ratio:ht.pixelRatio,u_is_halo:+oi})},co=(Ue,P,ae,xe,Te,Oe,ht,Tt,Ot,Qt,Ar,Sr,Kr,oi)=>t.e(ao(Ue,P,ae,xe,Te,Oe,ht,Tt,Ot,Qt,Ar,!0,Sr,!0,oi),{u_texsize_icon:Kr,u_texture_icon:1}),Ms=(Ue,P,ae)=>({u_matrix:Ue,u_opacity:P,u_color:ae}),Gs=(Ue,P,ae,xe,Te,Oe)=>t.e(function(ht,Tt,Ot,Qt){let Ar=Ot.imageManager.getPattern(ht.from.toString()),Sr=Ot.imageManager.getPattern(ht.to.toString()),{width:Kr,height:oi}=Ot.imageManager.getPixelSize(),Ge=Math.pow(2,Qt.tileID.overscaledZ),Ze=Qt.tileSize*Math.pow(2,Ot.transform.tileZoom)/Ge,ot=Ze*(Qt.tileID.canonical.x+Qt.tileID.wrap*Ge),dt=Ze*Qt.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,oi],u_mix:Tt.t,u_pattern_size_a:Ar.displaySize,u_pattern_size_b:Sr.displaySize,u_scale_a:Tt.fromScale,u_scale_b:Tt.toScale,u_tile_units_to_pixels:1/Vi(Qt,1,Ot.transform.tileZoom),u_pixel_coord_upper:[ot>>16,dt>>16],u_pixel_coord_lower:[65535&ot,65535&dt]}}(xe,Oe,ae,Te),{u_matrix:Ue,u_opacity:P}),ul={fillExtrusion:(Ue,P)=>({u_matrix:new t.aJ(Ue,P.u_matrix),u_lightpos:new t.aN(Ue,P.u_lightpos),u_lightintensity:new t.aI(Ue,P.u_lightintensity),u_lightcolor:new t.aN(Ue,P.u_lightcolor),u_vertical_gradient:new t.aI(Ue,P.u_vertical_gradient),u_opacity:new t.aI(Ue,P.u_opacity)}),fillExtrusionPattern:(Ue,P)=>({u_matrix:new t.aJ(Ue,P.u_matrix),u_lightpos:new t.aN(Ue,P.u_lightpos),u_lightintensity:new t.aI(Ue,P.u_lightintensity),u_lightcolor:new t.aN(Ue,P.u_lightcolor),u_vertical_gradient:new t.aI(Ue,P.u_vertical_gradient),u_height_factor:new t.aI(Ue,P.u_height_factor),u_image:new t.aH(Ue,P.u_image),u_texsize:new t.aO(Ue,P.u_texsize),u_pixel_coord_upper:new t.aO(Ue,P.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(Ue,P.u_pixel_coord_lower),u_scale:new t.aN(Ue,P.u_scale),u_fade:new t.aI(Ue,P.u_fade),u_opacity:new t.aI(Ue,P.u_opacity)}),fill:(Ue,P)=>({u_matrix:new t.aJ(Ue,P.u_matrix)}),fillPattern:(Ue,P)=>({u_matrix:new t.aJ(Ue,P.u_matrix),u_image:new t.aH(Ue,P.u_image),u_texsize:new t.aO(Ue,P.u_texsize),u_pixel_coord_upper:new t.aO(Ue,P.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(Ue,P.u_pixel_coord_lower),u_scale:new t.aN(Ue,P.u_scale),u_fade:new t.aI(Ue,P.u_fade)}),fillOutline:(Ue,P)=>({u_matrix:new t.aJ(Ue,P.u_matrix),u_world:new t.aO(Ue,P.u_world)}),fillOutlinePattern:(Ue,P)=>({u_matrix:new t.aJ(Ue,P.u_matrix),u_world:new t.aO(Ue,P.u_world),u_image:new t.aH(Ue,P.u_image),u_texsize:new t.aO(Ue,P.u_texsize),u_pixel_coord_upper:new t.aO(Ue,P.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(Ue,P.u_pixel_coord_lower),u_scale:new t.aN(Ue,P.u_scale),u_fade:new t.aI(Ue,P.u_fade)}),circle:(Ue,P)=>({u_camera_to_center_distance:new t.aI(Ue,P.u_camera_to_center_distance),u_scale_with_map:new t.aH(Ue,P.u_scale_with_map),u_pitch_with_map:new t.aH(Ue,P.u_pitch_with_map),u_extrude_scale:new t.aO(Ue,P.u_extrude_scale),u_device_pixel_ratio:new t.aI(Ue,P.u_device_pixel_ratio),u_matrix:new t.aJ(Ue,P.u_matrix)}),collisionBox:(Ue,P)=>({u_matrix:new t.aJ(Ue,P.u_matrix),u_pixel_extrude_scale:new t.aO(Ue,P.u_pixel_extrude_scale)}),collisionCircle:(Ue,P)=>({u_matrix:new t.aJ(Ue,P.u_matrix),u_inv_matrix:new t.aJ(Ue,P.u_inv_matrix),u_camera_to_center_distance:new t.aI(Ue,P.u_camera_to_center_distance),u_viewport_size:new t.aO(Ue,P.u_viewport_size)}),debug:(Ue,P)=>({u_color:new t.aL(Ue,P.u_color),u_matrix:new t.aJ(Ue,P.u_matrix),u_overlay:new t.aH(Ue,P.u_overlay),u_overlay_scale:new t.aI(Ue,P.u_overlay_scale)}),clippingMask:(Ue,P)=>({u_matrix:new t.aJ(Ue,P.u_matrix)}),heatmap:(Ue,P)=>({u_extrude_scale:new t.aI(Ue,P.u_extrude_scale),u_intensity:new t.aI(Ue,P.u_intensity),u_matrix:new t.aJ(Ue,P.u_matrix)}),heatmapTexture:(Ue,P)=>({u_matrix:new t.aJ(Ue,P.u_matrix),u_world:new t.aO(Ue,P.u_world),u_image:new t.aH(Ue,P.u_image),u_color_ramp:new t.aH(Ue,P.u_color_ramp),u_opacity:new t.aI(Ue,P.u_opacity)}),hillshade:(Ue,P)=>({u_matrix:new t.aJ(Ue,P.u_matrix),u_image:new t.aH(Ue,P.u_image),u_latrange:new t.aO(Ue,P.u_latrange),u_light:new t.aO(Ue,P.u_light),u_shadow:new t.aL(Ue,P.u_shadow),u_highlight:new t.aL(Ue,P.u_highlight),u_accent:new t.aL(Ue,P.u_accent)}),hillshadePrepare:(Ue,P)=>({u_matrix:new t.aJ(Ue,P.u_matrix),u_image:new t.aH(Ue,P.u_image),u_dimension:new t.aO(Ue,P.u_dimension),u_zoom:new t.aI(Ue,P.u_zoom),u_unpack:new t.aK(Ue,P.u_unpack)}),line:(Ue,P)=>({u_matrix:new t.aJ(Ue,P.u_matrix),u_ratio:new t.aI(Ue,P.u_ratio),u_device_pixel_ratio:new t.aI(Ue,P.u_device_pixel_ratio),u_units_to_pixels:new t.aO(Ue,P.u_units_to_pixels)}),lineGradient:(Ue,P)=>({u_matrix:new t.aJ(Ue,P.u_matrix),u_ratio:new t.aI(Ue,P.u_ratio),u_device_pixel_ratio:new t.aI(Ue,P.u_device_pixel_ratio),u_units_to_pixels:new t.aO(Ue,P.u_units_to_pixels),u_image:new t.aH(Ue,P.u_image),u_image_height:new t.aI(Ue,P.u_image_height)}),linePattern:(Ue,P)=>({u_matrix:new t.aJ(Ue,P.u_matrix),u_texsize:new t.aO(Ue,P.u_texsize),u_ratio:new t.aI(Ue,P.u_ratio),u_device_pixel_ratio:new t.aI(Ue,P.u_device_pixel_ratio),u_image:new t.aH(Ue,P.u_image),u_units_to_pixels:new t.aO(Ue,P.u_units_to_pixels),u_scale:new t.aN(Ue,P.u_scale),u_fade:new t.aI(Ue,P.u_fade)}),lineSDF:(Ue,P)=>({u_matrix:new t.aJ(Ue,P.u_matrix),u_ratio:new t.aI(Ue,P.u_ratio),u_device_pixel_ratio:new t.aI(Ue,P.u_device_pixel_ratio),u_units_to_pixels:new t.aO(Ue,P.u_units_to_pixels),u_patternscale_a:new t.aO(Ue,P.u_patternscale_a),u_patternscale_b:new t.aO(Ue,P.u_patternscale_b),u_sdfgamma:new t.aI(Ue,P.u_sdfgamma),u_image:new t.aH(Ue,P.u_image),u_tex_y_a:new t.aI(Ue,P.u_tex_y_a),u_tex_y_b:new t.aI(Ue,P.u_tex_y_b),u_mix:new t.aI(Ue,P.u_mix)}),raster:(Ue,P)=>({u_matrix:new t.aJ(Ue,P.u_matrix),u_tl_parent:new t.aO(Ue,P.u_tl_parent),u_scale_parent:new t.aI(Ue,P.u_scale_parent),u_buffer_scale:new t.aI(Ue,P.u_buffer_scale),u_fade_t:new t.aI(Ue,P.u_fade_t),u_opacity:new t.aI(Ue,P.u_opacity),u_image0:new t.aH(Ue,P.u_image0),u_image1:new t.aH(Ue,P.u_image1),u_brightness_low:new t.aI(Ue,P.u_brightness_low),u_brightness_high:new t.aI(Ue,P.u_brightness_high),u_saturation_factor:new t.aI(Ue,P.u_saturation_factor),u_contrast_factor:new t.aI(Ue,P.u_contrast_factor),u_spin_weights:new t.aN(Ue,P.u_spin_weights)}),symbolIcon:(Ue,P)=>({u_is_size_zoom_constant:new t.aH(Ue,P.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aH(Ue,P.u_is_size_feature_constant),u_size_t:new t.aI(Ue,P.u_size_t),u_size:new t.aI(Ue,P.u_size),u_camera_to_center_distance:new t.aI(Ue,P.u_camera_to_center_distance),u_pitch:new t.aI(Ue,P.u_pitch),u_rotate_symbol:new t.aH(Ue,P.u_rotate_symbol),u_aspect_ratio:new t.aI(Ue,P.u_aspect_ratio),u_fade_change:new t.aI(Ue,P.u_fade_change),u_matrix:new t.aJ(Ue,P.u_matrix),u_label_plane_matrix:new t.aJ(Ue,P.u_label_plane_matrix),u_coord_matrix:new t.aJ(Ue,P.u_coord_matrix),u_is_text:new t.aH(Ue,P.u_is_text),u_pitch_with_map:new t.aH(Ue,P.u_pitch_with_map),u_is_along_line:new t.aH(Ue,P.u_is_along_line),u_is_variable_anchor:new t.aH(Ue,P.u_is_variable_anchor),u_texsize:new t.aO(Ue,P.u_texsize),u_texture:new t.aH(Ue,P.u_texture),u_translation:new t.aO(Ue,P.u_translation),u_pitched_scale:new t.aI(Ue,P.u_pitched_scale)}),symbolSDF:(Ue,P)=>({u_is_size_zoom_constant:new t.aH(Ue,P.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aH(Ue,P.u_is_size_feature_constant),u_size_t:new t.aI(Ue,P.u_size_t),u_size:new t.aI(Ue,P.u_size),u_camera_to_center_distance:new t.aI(Ue,P.u_camera_to_center_distance),u_pitch:new t.aI(Ue,P.u_pitch),u_rotate_symbol:new t.aH(Ue,P.u_rotate_symbol),u_aspect_ratio:new t.aI(Ue,P.u_aspect_ratio),u_fade_change:new t.aI(Ue,P.u_fade_change),u_matrix:new t.aJ(Ue,P.u_matrix),u_label_plane_matrix:new t.aJ(Ue,P.u_label_plane_matrix),u_coord_matrix:new t.aJ(Ue,P.u_coord_matrix),u_is_text:new t.aH(Ue,P.u_is_text),u_pitch_with_map:new t.aH(Ue,P.u_pitch_with_map),u_is_along_line:new t.aH(Ue,P.u_is_along_line),u_is_variable_anchor:new t.aH(Ue,P.u_is_variable_anchor),u_texsize:new t.aO(Ue,P.u_texsize),u_texture:new t.aH(Ue,P.u_texture),u_gamma_scale:new t.aI(Ue,P.u_gamma_scale),u_device_pixel_ratio:new t.aI(Ue,P.u_device_pixel_ratio),u_is_halo:new t.aH(Ue,P.u_is_halo),u_translation:new t.aO(Ue,P.u_translation),u_pitched_scale:new t.aI(Ue,P.u_pitched_scale)}),symbolTextAndIcon:(Ue,P)=>({u_is_size_zoom_constant:new t.aH(Ue,P.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aH(Ue,P.u_is_size_feature_constant),u_size_t:new t.aI(Ue,P.u_size_t),u_size:new t.aI(Ue,P.u_size),u_camera_to_center_distance:new t.aI(Ue,P.u_camera_to_center_distance),u_pitch:new t.aI(Ue,P.u_pitch),u_rotate_symbol:new t.aH(Ue,P.u_rotate_symbol),u_aspect_ratio:new t.aI(Ue,P.u_aspect_ratio),u_fade_change:new t.aI(Ue,P.u_fade_change),u_matrix:new t.aJ(Ue,P.u_matrix),u_label_plane_matrix:new t.aJ(Ue,P.u_label_plane_matrix),u_coord_matrix:new t.aJ(Ue,P.u_coord_matrix),u_is_text:new t.aH(Ue,P.u_is_text),u_pitch_with_map:new t.aH(Ue,P.u_pitch_with_map),u_is_along_line:new t.aH(Ue,P.u_is_along_line),u_is_variable_anchor:new t.aH(Ue,P.u_is_variable_anchor),u_texsize:new t.aO(Ue,P.u_texsize),u_texsize_icon:new t.aO(Ue,P.u_texsize_icon),u_texture:new t.aH(Ue,P.u_texture),u_texture_icon:new t.aH(Ue,P.u_texture_icon),u_gamma_scale:new t.aI(Ue,P.u_gamma_scale),u_device_pixel_ratio:new t.aI(Ue,P.u_device_pixel_ratio),u_is_halo:new t.aH(Ue,P.u_is_halo),u_translation:new t.aO(Ue,P.u_translation),u_pitched_scale:new t.aI(Ue,P.u_pitched_scale)}),background:(Ue,P)=>({u_matrix:new t.aJ(Ue,P.u_matrix),u_opacity:new t.aI(Ue,P.u_opacity),u_color:new t.aL(Ue,P.u_color)}),backgroundPattern:(Ue,P)=>({u_matrix:new t.aJ(Ue,P.u_matrix),u_opacity:new t.aI(Ue,P.u_opacity),u_image:new t.aH(Ue,P.u_image),u_pattern_tl_a:new t.aO(Ue,P.u_pattern_tl_a),u_pattern_br_a:new t.aO(Ue,P.u_pattern_br_a),u_pattern_tl_b:new t.aO(Ue,P.u_pattern_tl_b),u_pattern_br_b:new t.aO(Ue,P.u_pattern_br_b),u_texsize:new t.aO(Ue,P.u_texsize),u_mix:new t.aI(Ue,P.u_mix),u_pattern_size_a:new t.aO(Ue,P.u_pattern_size_a),u_pattern_size_b:new t.aO(Ue,P.u_pattern_size_b),u_scale_a:new t.aI(Ue,P.u_scale_a),u_scale_b:new t.aI(Ue,P.u_scale_b),u_pixel_coord_upper:new t.aO(Ue,P.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(Ue,P.u_pixel_coord_lower),u_tile_units_to_pixels:new t.aI(Ue,P.u_tile_units_to_pixels)}),terrain:(Ue,P)=>({u_matrix:new t.aJ(Ue,P.u_matrix),u_texture:new t.aH(Ue,P.u_texture),u_ele_delta:new t.aI(Ue,P.u_ele_delta),u_fog_matrix:new t.aJ(Ue,P.u_fog_matrix),u_fog_color:new t.aL(Ue,P.u_fog_color),u_fog_ground_blend:new t.aI(Ue,P.u_fog_ground_blend),u_fog_ground_blend_opacity:new t.aI(Ue,P.u_fog_ground_blend_opacity),u_horizon_color:new t.aL(Ue,P.u_horizon_color),u_horizon_fog_blend:new t.aI(Ue,P.u_horizon_fog_blend)}),terrainDepth:(Ue,P)=>({u_matrix:new t.aJ(Ue,P.u_matrix),u_ele_delta:new t.aI(Ue,P.u_ele_delta)}),terrainCoords:(Ue,P)=>({u_matrix:new t.aJ(Ue,P.u_matrix),u_texture:new t.aH(Ue,P.u_texture),u_terrain_coords_id:new t.aI(Ue,P.u_terrain_coords_id),u_ele_delta:new t.aI(Ue,P.u_ele_delta)}),sky:(Ue,P)=>({u_sky_color:new t.aL(Ue,P.u_sky_color),u_horizon_color:new t.aL(Ue,P.u_horizon_color),u_horizon:new t.aI(Ue,P.u_horizon),u_sky_horizon_blend:new t.aI(Ue,P.u_sky_horizon_blend)})};class hs{constructor(P,ae,xe){this.context=P;let Te=P.gl;this.buffer=Te.createBuffer(),this.dynamicDraw=!!xe,this.context.unbindVAO(),P.bindElementBuffer.set(this.buffer),Te.bufferData(Te.ELEMENT_ARRAY_BUFFER,ae.arrayBuffer,this.dynamicDraw?Te.DYNAMIC_DRAW:Te.STATIC_DRAW),this.dynamicDraw||delete ae.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(P){let ae=this.context.gl;if(!this.dynamicDraw)throw new Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),ae.bufferSubData(ae.ELEMENT_ARRAY_BUFFER,0,P.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let rn={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class Xn{constructor(P,ae,xe,Te){this.length=ae.length,this.attributes=xe,this.itemSize=ae.bytesPerElement,this.dynamicDraw=Te,this.context=P;let Oe=P.gl;this.buffer=Oe.createBuffer(),P.bindVertexBuffer.set(this.buffer),Oe.bufferData(Oe.ARRAY_BUFFER,ae.arrayBuffer,this.dynamicDraw?Oe.DYNAMIC_DRAW:Oe.STATIC_DRAW),this.dynamicDraw||delete ae.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(P){if(P.length!==this.length)throw new Error(`Length of new data is ${P.length}, which doesn't match current length of ${this.length}`);let ae=this.context.gl;this.bind(),ae.bufferSubData(ae.ARRAY_BUFFER,0,P.arrayBuffer)}enableAttributes(P,ae){for(let xe=0;xe0){let _r=t.H();t.aQ(_r,wt.placementInvProjMatrix,Ue.transform.glCoordMatrix),t.aQ(_r,_r,wt.placementViewportMatrix),Ot.push({circleArray:fr,circleOffset:Ar,transform:Ct.posMatrix,invTransform:_r,coord:Ct}),Qt+=fr.length/4,Ar=Qt}Dt&&Tt.draw(Oe,ht.LINES,ws.disabled,qs.disabled,Ue.colorModeForRenderPass(),xo.disabled,{u_matrix:Ct.posMatrix,u_pixel_extrude_scale:[1/(Sr=Ue.transform).width,1/Sr.height]},Ue.style.map.terrain&&Ue.style.map.terrain.getTerrainData(Ct),ae.id,Dt.layoutVertexBuffer,Dt.indexBuffer,Dt.segments,null,Ue.transform.zoom,null,null,Dt.collisionVertexBuffer)}var Sr;if(!Te||!Ot.length)return;let Kr=Ue.useProgram("collisionCircle"),oi=new t.aR;oi.resize(4*Qt),oi._trim();let Ge=0;for(let dt of Ot)for(let Ct=0;Ct=0&&(dt[wt.associatedIconIndex]={shiftedAnchor:qn,angle:po})}else ir(wt.numGlyphs,Ze)}if(Qt){ot.clear();let Ct=Ue.icon.placedSymbolArray;for(let wt=0;wtUe.style.map.terrain.getElevation(Pi,Ft,xr):null,ar=ae.layout.get("text-rotation-alignment")==="map";be(ga,Pi.posMatrix,Ue,Te,uu,Su,dt,Qt,ar,Ze,Pi.toUnwrapped(),Ge.width,Ge.height,Fl,At)}let Ql=Pi.posMatrix,eu=Te&&Vr||dc,de=Ct||eu?$l:uu,Fe=Uu,Je=yn&&ae.paint.get(Te?"text-halo-width":"icon-halo-width").constantOr(1)!==0,vt;vt=yn?ga.iconsInText?co(qn.kind,Vo,wt,dt,Ct,eu,Ue,Ql,de,Fe,Fl,Ho,dl,_i):ao(qn.kind,Vo,wt,dt,Ct,eu,Ue,Ql,de,Fe,Fl,Te,Ho,!0,_i):Co(qn.kind,Vo,wt,dt,Ct,eu,Ue,Ql,de,Fe,Fl,Te,Ho,_i);let _t={program:to,buffers:Qa,uniformValues:vt,atlasTexture:ds,atlasTextureIcon:ms,atlasInterpolation:Is,atlasInterpolationIcon:Tl,isSDF:yn,hasHalo:Je};if(fr&&ga.canOverlap){_r=!0;let At=Qa.segments.get();for(let ar of At)Qr.push({segments:new t.a0([ar]),sortKey:ar.sortKey,state:_t,terrainData:bs})}else Qr.push({segments:Qa.segments,sortKey:0,state:_t,terrainData:bs})}_r&&Qr.sort((Pi,qi)=>Pi.sortKey-qi.sortKey);for(let Pi of Qr){let qi=Pi.state;if(Kr.activeTexture.set(oi.TEXTURE0),qi.atlasTexture.bind(qi.atlasInterpolation,oi.CLAMP_TO_EDGE),qi.atlasTextureIcon&&(Kr.activeTexture.set(oi.TEXTURE1),qi.atlasTextureIcon&&qi.atlasTextureIcon.bind(qi.atlasInterpolationIcon,oi.CLAMP_TO_EDGE)),qi.isSDF){let ga=qi.uniformValues;qi.hasHalo&&(ga.u_is_halo=1,Rf(qi.buffers,Pi.segments,ae,Ue,qi.program,kr,Ar,Sr,ga,Pi.terrainData)),ga.u_is_halo=0}Rf(qi.buffers,Pi.segments,ae,Ue,qi.program,kr,Ar,Sr,qi.uniformValues,Pi.terrainData)}}function Rf(Ue,P,ae,xe,Te,Oe,ht,Tt,Ot,Qt){let Ar=xe.context;Te.draw(Ar,Ar.gl.TRIANGLES,Oe,ht,Tt,xo.disabled,Ot,Qt,ae.id,Ue.layoutVertexBuffer,Ue.indexBuffer,P,ae.paint,xe.transform.zoom,Ue.programConfigurations.get(ae.id),Ue.dynamicLayoutVertexBuffer,Ue.opacityVertexBuffer)}function cf(Ue,P,ae,xe){let Te=Ue.context,Oe=Te.gl,ht=qs.disabled,Tt=new Sl([Oe.ONE,Oe.ONE],t.aM.transparent,[!0,!0,!0,!0]),Ot=P.getBucket(ae);if(!Ot)return;let Qt=xe.key,Ar=ae.heatmapFbos.get(Qt);Ar||(Ar=Df(Te,P.tileSize,P.tileSize),ae.heatmapFbos.set(Qt,Ar)),Te.bindFramebuffer.set(Ar.framebuffer),Te.viewport.set([0,0,P.tileSize,P.tileSize]),Te.clear({color:t.aM.transparent});let Sr=Ot.programConfigurations.get(ae.id),Kr=Ue.useProgram("heatmap",Sr),oi=Ue.style.map.terrain.getTerrainData(xe);Kr.draw(Te,Oe.TRIANGLES,ws.disabled,ht,Tt,xo.disabled,Ao(xe.posMatrix,P,Ue.transform.zoom,ae.paint.get("heatmap-intensity")),oi,ae.id,Ot.layoutVertexBuffer,Ot.indexBuffer,Ot.segments,ae.paint,Ue.transform.zoom,Sr)}function Wc(Ue,P,ae){let xe=Ue.context,Te=xe.gl;xe.setColorMode(Ue.colorModeForRenderPass());let Oe=zf(xe,P),ht=ae.key,Tt=P.heatmapFbos.get(ht);Tt&&(xe.activeTexture.set(Te.TEXTURE0),Te.bindTexture(Te.TEXTURE_2D,Tt.colorAttachment.get()),xe.activeTexture.set(Te.TEXTURE1),Oe.bind(Te.LINEAR,Te.CLAMP_TO_EDGE),Ue.useProgram("heatmapTexture").draw(xe,Te.TRIANGLES,ws.disabled,qs.disabled,Ue.colorModeForRenderPass(),xo.disabled,An(Ue,P,0,1),null,P.id,Ue.rasterBoundsBuffer,Ue.quadTriangleIndexBuffer,Ue.rasterBoundsSegments,P.paint,Ue.transform.zoom),Tt.destroy(),P.heatmapFbos.delete(ht))}function Df(Ue,P,ae){var xe,Te;let Oe=Ue.gl,ht=Oe.createTexture();Oe.bindTexture(Oe.TEXTURE_2D,ht),Oe.texParameteri(Oe.TEXTURE_2D,Oe.TEXTURE_WRAP_S,Oe.CLAMP_TO_EDGE),Oe.texParameteri(Oe.TEXTURE_2D,Oe.TEXTURE_WRAP_T,Oe.CLAMP_TO_EDGE),Oe.texParameteri(Oe.TEXTURE_2D,Oe.TEXTURE_MIN_FILTER,Oe.LINEAR),Oe.texParameteri(Oe.TEXTURE_2D,Oe.TEXTURE_MAG_FILTER,Oe.LINEAR);let Tt=(xe=Ue.HALF_FLOAT)!==null&&xe!==void 0?xe:Oe.UNSIGNED_BYTE,Ot=(Te=Ue.RGBA16F)!==null&&Te!==void 0?Te:Oe.RGBA;Oe.texImage2D(Oe.TEXTURE_2D,0,Ot,P,ae,0,Oe.RGBA,Tt,null);let Qt=Ue.createFramebuffer(P,ae,!1,!1);return Qt.colorAttachment.set(ht),Qt}function zf(Ue,P){return P.colorRampTexture||(P.colorRampTexture=new u(Ue,P.colorRamp,Ue.gl.RGBA)),P.colorRampTexture}function $u(Ue,P,ae,xe,Te){if(!ae||!xe||!xe.imageAtlas)return;let Oe=xe.imageAtlas.patternPositions,ht=Oe[ae.to.toString()],Tt=Oe[ae.from.toString()];if(!ht&&Tt&&(ht=Tt),!Tt&&ht&&(Tt=ht),!ht||!Tt){let Ot=Te.getPaintProperty(P);ht=Oe[Ot],Tt=Oe[Ot]}ht&&Tt&&Ue.setConstantPatternPositions(ht,Tt)}function Ef(Ue,P,ae,xe,Te,Oe,ht){let Tt=Ue.context.gl,Ot="fill-pattern",Qt=ae.paint.get(Ot),Ar=Qt&&Qt.constantOr(1),Sr=ae.getCrossfadeParameters(),Kr,oi,Ge,Ze,ot;ht?(oi=Ar&&!ae.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",Kr=Tt.LINES):(oi=Ar?"fillPattern":"fill",Kr=Tt.TRIANGLES);let dt=Qt.constantOr(null);for(let Ct of xe){let wt=P.getTile(Ct);if(Ar&&!wt.patternsLoaded())continue;let Dt=wt.getBucket(ae);if(!Dt)continue;let fr=Dt.programConfigurations.get(ae.id),_r=Ue.useProgram(oi,fr),kr=Ue.style.map.terrain&&Ue.style.map.terrain.getTerrainData(Ct);Ar&&(Ue.context.activeTexture.set(Tt.TEXTURE0),wt.imageAtlasTexture.bind(Tt.LINEAR,Tt.CLAMP_TO_EDGE),fr.updatePaintBuffers(Sr)),$u(fr,Ot,dt,wt,ae);let Vr=kr?Ct:null,Qr=Ue.translatePosMatrix(Vr?Vr.posMatrix:Ct.posMatrix,wt,ae.paint.get("fill-translate"),ae.paint.get("fill-translate-anchor"));if(ht){Ze=Dt.indexBuffer2,ot=Dt.segments2;let _i=[Tt.drawingBufferWidth,Tt.drawingBufferHeight];Ge=oi==="fillOutlinePattern"&&Ar?un(Qr,Ue,Sr,wt,_i):Fa(Qr,_i)}else Ze=Dt.indexBuffer,ot=Dt.segments,Ge=Ar?Ia(Qr,Ue,Sr,wt):Li(Qr);_r.draw(Ue.context,Kr,Te,Ue.stencilModeForClipping(Ct),Oe,xo.disabled,Ge,kr,ae.id,Dt.layoutVertexBuffer,Ze,ot,ae.paint,Ue.transform.zoom,fr)}}function cc(Ue,P,ae,xe,Te,Oe,ht){let Tt=Ue.context,Ot=Tt.gl,Qt="fill-extrusion-pattern",Ar=ae.paint.get(Qt),Sr=Ar.constantOr(1),Kr=ae.getCrossfadeParameters(),oi=ae.paint.get("fill-extrusion-opacity"),Ge=Ar.constantOr(null);for(let Ze of xe){let ot=P.getTile(Ze),dt=ot.getBucket(ae);if(!dt)continue;let Ct=Ue.style.map.terrain&&Ue.style.map.terrain.getTerrainData(Ze),wt=dt.programConfigurations.get(ae.id),Dt=Ue.useProgram(Sr?"fillExtrusionPattern":"fillExtrusion",wt);Sr&&(Ue.context.activeTexture.set(Ot.TEXTURE0),ot.imageAtlasTexture.bind(Ot.LINEAR,Ot.CLAMP_TO_EDGE),wt.updatePaintBuffers(Kr)),$u(wt,Qt,Ge,ot,ae);let fr=Ue.translatePosMatrix(Ze.posMatrix,ot,ae.paint.get("fill-extrusion-translate"),ae.paint.get("fill-extrusion-translate-anchor")),_r=ae.paint.get("fill-extrusion-vertical-gradient"),kr=Sr?fi(fr,Ue,_r,oi,Ze,Kr,ot):Si(fr,Ue,_r,oi);Dt.draw(Tt,Tt.gl.TRIANGLES,Te,Oe,ht,xo.backCCW,kr,Ct,ae.id,dt.layoutVertexBuffer,dt.indexBuffer,dt.segments,ae.paint,Ue.transform.zoom,wt,Ue.style.map.terrain&&dt.centroidVertexBuffer)}}function $c(Ue,P,ae,xe,Te,Oe,ht){let Tt=Ue.context,Ot=Tt.gl,Qt=ae.fbo;if(!Qt)return;let Ar=Ue.useProgram("hillshade"),Sr=Ue.style.map.terrain&&Ue.style.map.terrain.getTerrainData(P);Tt.activeTexture.set(Ot.TEXTURE0),Ot.bindTexture(Ot.TEXTURE_2D,Qt.colorAttachment.get()),Ar.draw(Tt,Ot.TRIANGLES,Te,Oe,ht,xo.disabled,((Kr,oi,Ge,Ze)=>{let ot=Ge.paint.get("hillshade-shadow-color"),dt=Ge.paint.get("hillshade-highlight-color"),Ct=Ge.paint.get("hillshade-accent-color"),wt=Ge.paint.get("hillshade-illumination-direction")*(Math.PI/180);Ge.paint.get("hillshade-illumination-anchor")==="viewport"&&(wt-=Kr.transform.angle);let Dt=!Kr.options.moving;return{u_matrix:Ze?Ze.posMatrix:Kr.transform.calculatePosMatrix(oi.tileID.toUnwrapped(),Dt),u_image:0,u_latrange:Eo(0,oi.tileID),u_light:[Ge.paint.get("hillshade-exaggeration"),wt],u_shadow:ot,u_highlight:dt,u_accent:Ct}})(Ue,ae,xe,Sr?P:null),Sr,xe.id,Ue.rasterBoundsBuffer,Ue.quadTriangleIndexBuffer,Ue.rasterBoundsSegments)}function lu(Ue,P,ae,xe,Te,Oe){let ht=Ue.context,Tt=ht.gl,Ot=P.dem;if(Ot&&Ot.data){let Qt=Ot.dim,Ar=Ot.stride,Sr=Ot.getPixels();if(ht.activeTexture.set(Tt.TEXTURE1),ht.pixelStoreUnpackPremultiplyAlpha.set(!1),P.demTexture=P.demTexture||Ue.getTileTexture(Ar),P.demTexture){let oi=P.demTexture;oi.update(Sr,{premultiply:!1}),oi.bind(Tt.NEAREST,Tt.CLAMP_TO_EDGE)}else P.demTexture=new u(ht,Sr,Tt.RGBA,{premultiply:!1}),P.demTexture.bind(Tt.NEAREST,Tt.CLAMP_TO_EDGE);ht.activeTexture.set(Tt.TEXTURE0);let Kr=P.fbo;if(!Kr){let oi=new u(ht,{width:Qt,height:Qt,data:null},Tt.RGBA);oi.bind(Tt.LINEAR,Tt.CLAMP_TO_EDGE),Kr=P.fbo=ht.createFramebuffer(Qt,Qt,!0,!1),Kr.colorAttachment.set(oi.texture)}ht.bindFramebuffer.set(Kr.framebuffer),ht.viewport.set([0,0,Qt,Qt]),Ue.useProgram("hillshadePrepare").draw(ht,Tt.TRIANGLES,xe,Te,Oe,xo.disabled,((oi,Ge)=>{let Ze=Ge.stride,ot=t.H();return t.aP(ot,0,t.X,-t.X,0,0,1),t.J(ot,ot,[0,-t.X,0]),{u_matrix:ot,u_image:1,u_dimension:[Ze,Ze],u_zoom:oi.overscaledZ,u_unpack:Ge.getUnpackVector()}})(P.tileID,Ot),null,ae.id,Ue.rasterBoundsBuffer,Ue.quadTriangleIndexBuffer,Ue.rasterBoundsSegments),P.needsHillshadePrepare=!1}}function Xc(Ue,P,ae,xe,Te,Oe){let ht=xe.paint.get("raster-fade-duration");if(!Oe&&ht>0){let Tt=n.now(),Ot=(Tt-Ue.timeAdded)/ht,Qt=P?(Tt-P.timeAdded)/ht:-1,Ar=ae.getSource(),Sr=Te.coveringZoomLevel({tileSize:Ar.tileSize,roundZoom:Ar.roundZoom}),Kr=!P||Math.abs(P.tileID.overscaledZ-Sr)>Math.abs(Ue.tileID.overscaledZ-Sr),oi=Kr&&Ue.refreshedUponExpiration?1:t.ac(Kr?Ot:1-Qt,0,1);return Ue.refreshedUponExpiration&&Ot>=1&&(Ue.refreshedUponExpiration=!1),P?{opacity:1,mix:1-oi}:{opacity:oi,mix:0}}return{opacity:1,mix:0}}let Lc=new t.aM(1,0,0,1),sl=new t.aM(0,1,0,1),kf=new t.aM(0,0,1,1),ah=new t.aM(1,0,1,1),Ff=new t.aM(0,1,1,1);function Jc(Ue,P,ae,xe){Fu(Ue,0,P+ae/2,Ue.transform.width,ae,xe)}function Xf(Ue,P,ae,xe){Fu(Ue,P-ae/2,0,ae,Ue.transform.height,xe)}function Fu(Ue,P,ae,xe,Te,Oe){let ht=Ue.context,Tt=ht.gl;Tt.enable(Tt.SCISSOR_TEST),Tt.scissor(P*Ue.pixelRatio,ae*Ue.pixelRatio,xe*Ue.pixelRatio,Te*Ue.pixelRatio),ht.clear({color:Oe}),Tt.disable(Tt.SCISSOR_TEST)}function Bf(Ue,P,ae){let xe=Ue.context,Te=xe.gl,Oe=ae.posMatrix,ht=Ue.useProgram("debug"),Tt=ws.disabled,Ot=qs.disabled,Qt=Ue.colorModeForRenderPass(),Ar="$debug",Sr=Ue.style.map.terrain&&Ue.style.map.terrain.getTerrainData(ae);xe.activeTexture.set(Te.TEXTURE0);let Kr=P.getTileByID(ae.key).latestRawTileData,oi=Math.floor((Kr&&Kr.byteLength||0)/1024),Ge=P.getTile(ae).tileSize,Ze=512/Math.min(Ge,512)*(ae.overscaledZ/Ue.transform.zoom)*.5,ot=ae.canonical.toString();ae.overscaledZ!==ae.canonical.z&&(ot+=` => ${ae.overscaledZ}`),function(dt,Ct){dt.initDebugOverlayCanvas();let wt=dt.debugOverlayCanvas,Dt=dt.context.gl,fr=dt.debugOverlayCanvas.getContext("2d");fr.clearRect(0,0,wt.width,wt.height),fr.shadowColor="white",fr.shadowBlur=2,fr.lineWidth=1.5,fr.strokeStyle="white",fr.textBaseline="top",fr.font="bold 36px Open Sans, sans-serif",fr.fillText(Ct,5,5),fr.strokeText(Ct,5,5),dt.debugOverlayTexture.update(wt),dt.debugOverlayTexture.bind(Dt.LINEAR,Dt.CLAMP_TO_EDGE)}(Ue,`${ot} ${oi}kB`),ht.draw(xe,Te.TRIANGLES,Tt,Ot,Sl.alphaBlended,xo.disabled,Gn(Oe,t.aM.transparent,Ze),null,Ar,Ue.debugBuffer,Ue.quadTriangleIndexBuffer,Ue.debugSegments),ht.draw(xe,Te.LINE_STRIP,Tt,Ot,Qt,xo.disabled,Gn(Oe,t.aM.red),Sr,Ar,Ue.debugBuffer,Ue.tileBorderIndexBuffer,Ue.debugSegments)}function Ll(Ue,P,ae){let xe=Ue.context,Te=xe.gl,Oe=Ue.colorModeForRenderPass(),ht=new ws(Te.LEQUAL,ws.ReadWrite,Ue.depthRangeFor3D),Tt=Ue.useProgram("terrain"),Ot=P.getTerrainMesh();xe.bindFramebuffer.set(null),xe.viewport.set([0,0,Ue.width,Ue.height]);for(let Qt of ae){let Ar=Ue.renderToTexture.getTexture(Qt),Sr=P.getTerrainData(Qt.tileID);xe.activeTexture.set(Te.TEXTURE0),Te.bindTexture(Te.TEXTURE_2D,Ar.texture);let Kr=Ue.transform.calculatePosMatrix(Qt.tileID.toUnwrapped()),oi=P.getMeshFrameDelta(Ue.transform.zoom),Ge=Ue.transform.calculateFogMatrix(Qt.tileID.toUnwrapped()),Ze=mr(Kr,oi,Ge,Ue.style.sky,Ue.transform.pitch);Tt.draw(xe,Te.TRIANGLES,ht,qs.disabled,Oe,xo.backCCW,Ze,Sr,"terrain",Ot.vertexBuffer,Ot.indexBuffer,Ot.segments)}}class Bu{constructor(P,ae,xe){this.vertexBuffer=P,this.indexBuffer=ae,this.segments=xe}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class Ic{constructor(P,ae){this.context=new vh(P),this.transform=ae,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:t.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=Pt.maxUnderzooming+Pt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Nr}resize(P,ae,xe){if(this.width=Math.floor(P*xe),this.height=Math.floor(ae*xe),this.pixelRatio=xe,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let Te of this.style._order)this.style._layers[Te].resize()}setup(){let P=this.context,ae=new t.aX;ae.emplaceBack(0,0),ae.emplaceBack(t.X,0),ae.emplaceBack(0,t.X),ae.emplaceBack(t.X,t.X),this.tileExtentBuffer=P.createVertexBuffer(ae,jr.members),this.tileExtentSegments=t.a0.simpleSegment(0,0,4,2);let xe=new t.aX;xe.emplaceBack(0,0),xe.emplaceBack(t.X,0),xe.emplaceBack(0,t.X),xe.emplaceBack(t.X,t.X),this.debugBuffer=P.createVertexBuffer(xe,jr.members),this.debugSegments=t.a0.simpleSegment(0,0,4,5);let Te=new t.$;Te.emplaceBack(0,0,0,0),Te.emplaceBack(t.X,0,t.X,0),Te.emplaceBack(0,t.X,0,t.X),Te.emplaceBack(t.X,t.X,t.X,t.X),this.rasterBoundsBuffer=P.createVertexBuffer(Te,Xe.members),this.rasterBoundsSegments=t.a0.simpleSegment(0,0,4,2);let Oe=new t.aX;Oe.emplaceBack(0,0),Oe.emplaceBack(1,0),Oe.emplaceBack(0,1),Oe.emplaceBack(1,1),this.viewportBuffer=P.createVertexBuffer(Oe,jr.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=P.createIndexBuffer(ht);let Tt=new t.aY;Tt.emplaceBack(0,1,2),Tt.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=P.createIndexBuffer(Tt);let Ot=this.context.gl;this.stencilClearMode=new qs({func:Ot.ALWAYS,mask:0},0,255,Ot.ZERO,Ot.ZERO,Ot.ZERO)}clearStencil(){let P=this.context,ae=P.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let xe=t.H();t.aP(xe,0,this.width,this.height,0,0,1),t.K(xe,xe,[ae.drawingBufferWidth,ae.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(P,ae.TRIANGLES,ws.disabled,this.stencilClearMode,Sl.disabled,xo.disabled,eo(xe),null,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(P,ae){if(this.currentStencilSource===P.source||!P.isTileClipped()||!ae||!ae.length)return;this.currentStencilSource=P.source;let xe=this.context,Te=xe.gl;this.nextStencilID+ae.length>256&&this.clearStencil(),xe.setColorMode(Sl.disabled),xe.setDepthMode(ws.disabled);let Oe=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(let ht of ae){let Tt=this._tileClippingMaskIDs[ht.key]=this.nextStencilID++,Ot=this.style.map.terrain&&this.style.map.terrain.getTerrainData(ht);Oe.draw(xe,Te.TRIANGLES,ws.disabled,new qs({func:Te.ALWAYS,mask:0},Tt,255,Te.KEEP,Te.KEEP,Te.REPLACE),Sl.disabled,xo.disabled,eo(ht.posMatrix),Ot,"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let P=this.nextStencilID++,ae=this.context.gl;return new qs({func:ae.NOTEQUAL,mask:255},P,255,ae.KEEP,ae.KEEP,ae.REPLACE)}stencilModeForClipping(P){let ae=this.context.gl;return new qs({func:ae.EQUAL,mask:255},this._tileClippingMaskIDs[P.key],0,ae.KEEP,ae.KEEP,ae.REPLACE)}stencilConfigForOverlap(P){let ae=this.context.gl,xe=P.sort((ht,Tt)=>Tt.overscaledZ-ht.overscaledZ),Te=xe[xe.length-1].overscaledZ,Oe=xe[0].overscaledZ-Te+1;if(Oe>1){this.currentStencilSource=void 0,this.nextStencilID+Oe>256&&this.clearStencil();let ht={};for(let Tt=0;Tt({u_sky_color:dt.properties.get("sky-color"),u_horizon_color:dt.properties.get("horizon-color"),u_horizon:(Ct.height/2+Ct.getHorizon())*wt,u_sky_horizon_blend:dt.properties.get("sky-horizon-blend")*Ct.height/2*wt}))(Qt,Ot.style.map.transform,Ot.pixelRatio),oi=new ws(Sr.LEQUAL,ws.ReadWrite,[0,1]),Ge=qs.disabled,Ze=Ot.colorModeForRenderPass(),ot=Ot.useProgram("sky");if(!Qt.mesh){let dt=new t.aX;dt.emplaceBack(-1,-1),dt.emplaceBack(1,-1),dt.emplaceBack(1,1),dt.emplaceBack(-1,1);let Ct=new t.aY;Ct.emplaceBack(0,1,2),Ct.emplaceBack(0,2,3),Qt.mesh=new Bu(Ar.createVertexBuffer(dt,jr.members),Ar.createIndexBuffer(Ct),t.a0.simpleSegment(0,0,dt.length,Ct.length))}ot.draw(Ar,Sr.TRIANGLES,oi,Ge,Ze,xo.disabled,Kr,void 0,"sky",Qt.mesh.vertexBuffer,Qt.mesh.indexBuffer,Qt.mesh.segments)}(this,this.style.sky),this._showOverdrawInspector=ae.showOverdrawInspector,this.depthRangeFor3D=[0,1-(P._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass="opaque",this.currentLayer=xe.length-1;this.currentLayer>=0;this.currentLayer--){let Ot=this.style._layers[xe[this.currentLayer]],Qt=Te[Ot.source],Ar=Oe[Ot.source];this._renderTileClippingMasks(Ot,Ar),this.renderLayer(this,Qt,Ot,Ar)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayerot.source&&!ot.isHidden(Ar)?[Qt.sourceCaches[ot.source]]:[]),oi=Kr.filter(ot=>ot.getSource().type==="vector"),Ge=Kr.filter(ot=>ot.getSource().type!=="vector"),Ze=ot=>{(!Sr||Sr.getSource().maxzoomZe(ot)),Sr||Ge.forEach(ot=>Ze(ot)),Sr}(this.style,this.transform.zoom);Ot&&function(Qt,Ar,Sr){for(let Kr=0;Kr0),Te&&(t.b0(ae,xe),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(Oe,ht){let Tt=Oe.context,Ot=Tt.gl,Qt=Sl.unblended,Ar=new ws(Ot.LEQUAL,ws.ReadWrite,[0,1]),Sr=ht.getTerrainMesh(),Kr=ht.sourceCache.getRenderableTiles(),oi=Oe.useProgram("terrainDepth");Tt.bindFramebuffer.set(ht.getFramebuffer("depth").framebuffer),Tt.viewport.set([0,0,Oe.width/devicePixelRatio,Oe.height/devicePixelRatio]),Tt.clear({color:t.aM.transparent,depth:1});for(let Ge of Kr){let Ze=ht.getTerrainData(Ge.tileID),ot={u_matrix:Oe.transform.calculatePosMatrix(Ge.tileID.toUnwrapped()),u_ele_delta:ht.getMeshFrameDelta(Oe.transform.zoom)};oi.draw(Tt,Ot.TRIANGLES,Ar,qs.disabled,Qt,xo.backCCW,ot,Ze,"terrain",Sr.vertexBuffer,Sr.indexBuffer,Sr.segments)}Tt.bindFramebuffer.set(null),Tt.viewport.set([0,0,Oe.width,Oe.height])}(this,this.style.map.terrain),function(Oe,ht){let Tt=Oe.context,Ot=Tt.gl,Qt=Sl.unblended,Ar=new ws(Ot.LEQUAL,ws.ReadWrite,[0,1]),Sr=ht.getTerrainMesh(),Kr=ht.getCoordsTexture(),oi=ht.sourceCache.getRenderableTiles(),Ge=Oe.useProgram("terrainCoords");Tt.bindFramebuffer.set(ht.getFramebuffer("coords").framebuffer),Tt.viewport.set([0,0,Oe.width/devicePixelRatio,Oe.height/devicePixelRatio]),Tt.clear({color:t.aM.transparent,depth:1}),ht.coordsIndex=[];for(let Ze of oi){let ot=ht.getTerrainData(Ze.tileID);Tt.activeTexture.set(Ot.TEXTURE0),Ot.bindTexture(Ot.TEXTURE_2D,Kr.texture);let dt={u_matrix:Oe.transform.calculatePosMatrix(Ze.tileID.toUnwrapped()),u_terrain_coords_id:(255-ht.coordsIndex.length)/255,u_texture:0,u_ele_delta:ht.getMeshFrameDelta(Oe.transform.zoom)};Ge.draw(Tt,Ot.TRIANGLES,Ar,qs.disabled,Qt,xo.backCCW,dt,ot,"terrain",Sr.vertexBuffer,Sr.indexBuffer,Sr.segments),ht.coordsIndex.push(Ze.tileID.key)}Tt.bindFramebuffer.set(null),Tt.viewport.set([0,0,Oe.width,Oe.height])}(this,this.style.map.terrain))}renderLayer(P,ae,xe,Te){if(!xe.isHidden(this.transform.zoom)&&(xe.type==="background"||xe.type==="custom"||(Te||[]).length))switch(this.id=xe.id,xe.type){case"symbol":(function(Oe,ht,Tt,Ot,Qt){if(Oe.renderPass!=="translucent")return;let Ar=qs.disabled,Sr=Oe.colorModeForRenderPass();(Tt._unevaluatedLayout.hasValue("text-variable-anchor")||Tt._unevaluatedLayout.hasValue("text-variable-anchor-offset"))&&function(Kr,oi,Ge,Ze,ot,dt,Ct,wt,Dt){let fr=oi.transform,_r=xa(),kr=ot==="map",Vr=dt==="map";for(let Qr of Kr){let _i=Ze.getTile(Qr),Pi=_i.getBucket(Ge);if(!Pi||!Pi.text||!Pi.text.segments.get().length)continue;let qi=t.ag(Pi.textSizeData,fr.zoom),ga=Vi(_i,1,oi.transform.zoom),Qa=Mr(Qr.posMatrix,Vr,kr,oi.transform,ga),$a=Ge.layout.get("icon-text-fit")!=="none"&&Pi.hasIconData();if(qi){let yn=Math.pow(2,fr.zoom-_i.tileID.overscaledZ),qn=oi.style.map.terrain?(to,Vo)=>oi.style.map.terrain.getElevation(Qr,to,Vo):null,po=_r.translatePosition(fr,_i,Ct,wt);uf(Pi,kr,Vr,Dt,fr,Qa,Qr.posMatrix,yn,qi,$a,_r,po,Qr.toUnwrapped(),qn)}}}(Ot,Oe,Tt,ht,Tt.layout.get("text-rotation-alignment"),Tt.layout.get("text-pitch-alignment"),Tt.paint.get("text-translate"),Tt.paint.get("text-translate-anchor"),Qt),Tt.paint.get("icon-opacity").constantOr(1)!==0&&Wf(Oe,ht,Tt,Ot,!1,Tt.paint.get("icon-translate"),Tt.paint.get("icon-translate-anchor"),Tt.layout.get("icon-rotation-alignment"),Tt.layout.get("icon-pitch-alignment"),Tt.layout.get("icon-keep-upright"),Ar,Sr),Tt.paint.get("text-opacity").constantOr(1)!==0&&Wf(Oe,ht,Tt,Ot,!0,Tt.paint.get("text-translate"),Tt.paint.get("text-translate-anchor"),Tt.layout.get("text-rotation-alignment"),Tt.layout.get("text-pitch-alignment"),Tt.layout.get("text-keep-upright"),Ar,Sr),ht.map.showCollisionBoxes&&(Ku(Oe,ht,Tt,Ot,!0),Ku(Oe,ht,Tt,Ot,!1))})(P,ae,xe,Te,this.style.placement.variableOffsets);break;case"circle":(function(Oe,ht,Tt,Ot){if(Oe.renderPass!=="translucent")return;let Qt=Tt.paint.get("circle-opacity"),Ar=Tt.paint.get("circle-stroke-width"),Sr=Tt.paint.get("circle-stroke-opacity"),Kr=!Tt.layout.get("circle-sort-key").isConstant();if(Qt.constantOr(1)===0&&(Ar.constantOr(1)===0||Sr.constantOr(1)===0))return;let oi=Oe.context,Ge=oi.gl,Ze=Oe.depthModeForSublayer(0,ws.ReadOnly),ot=qs.disabled,dt=Oe.colorModeForRenderPass(),Ct=[];for(let wt=0;wtwt.sortKey-Dt.sortKey);for(let wt of Ct){let{programConfiguration:Dt,program:fr,layoutVertexBuffer:_r,indexBuffer:kr,uniformValues:Vr,terrainData:Qr}=wt.state;fr.draw(oi,Ge.TRIANGLES,Ze,ot,dt,xo.disabled,Vr,Qr,Tt.id,_r,kr,wt.segments,Tt.paint,Oe.transform.zoom,Dt)}})(P,ae,xe,Te);break;case"heatmap":(function(Oe,ht,Tt,Ot){if(Tt.paint.get("heatmap-opacity")===0)return;let Qt=Oe.context;if(Oe.style.map.terrain){for(let Ar of Ot){let Sr=ht.getTile(Ar);ht.hasRenderableParent(Ar)||(Oe.renderPass==="offscreen"?cf(Oe,Sr,Tt,Ar):Oe.renderPass==="translucent"&&Wc(Oe,Tt,Ar))}Qt.viewport.set([0,0,Oe.width,Oe.height])}else Oe.renderPass==="offscreen"?function(Ar,Sr,Kr,oi){let Ge=Ar.context,Ze=Ge.gl,ot=qs.disabled,dt=new Sl([Ze.ONE,Ze.ONE],t.aM.transparent,[!0,!0,!0,!0]);(function(Ct,wt,Dt){let fr=Ct.gl;Ct.activeTexture.set(fr.TEXTURE1),Ct.viewport.set([0,0,wt.width/4,wt.height/4]);let _r=Dt.heatmapFbos.get(t.aU);_r?(fr.bindTexture(fr.TEXTURE_2D,_r.colorAttachment.get()),Ct.bindFramebuffer.set(_r.framebuffer)):(_r=Df(Ct,wt.width/4,wt.height/4),Dt.heatmapFbos.set(t.aU,_r))})(Ge,Ar,Kr),Ge.clear({color:t.aM.transparent});for(let Ct=0;Ct20&&Ar.texParameterf(Ar.TEXTURE_2D,Qt.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,Qt.extTextureFilterAnisotropicMax);let Pi=Oe.style.map.terrain&&Oe.style.map.terrain.getTerrainData(Ct),qi=Pi?Ct:null,ga=qi?qi.posMatrix:Oe.transform.calculatePosMatrix(Ct.toUnwrapped(),dt),Qa=el(ga,Qr||[0,0],Vr||1,kr,Tt);Sr instanceof tt?Kr.draw(Qt,Ar.TRIANGLES,wt,qs.disabled,oi,xo.disabled,Qa,Pi,Tt.id,Sr.boundsBuffer,Oe.quadTriangleIndexBuffer,Sr.boundsSegments):Kr.draw(Qt,Ar.TRIANGLES,wt,Ge[Ct.overscaledZ],oi,xo.disabled,Qa,Pi,Tt.id,Oe.rasterBoundsBuffer,Oe.quadTriangleIndexBuffer,Oe.rasterBoundsSegments)}})(P,ae,xe,Te);break;case"background":(function(Oe,ht,Tt,Ot){let Qt=Tt.paint.get("background-color"),Ar=Tt.paint.get("background-opacity");if(Ar===0)return;let Sr=Oe.context,Kr=Sr.gl,oi=Oe.transform,Ge=oi.tileSize,Ze=Tt.paint.get("background-pattern");if(Oe.isPatternMissing(Ze))return;let ot=!Ze&&Qt.a===1&&Ar===1&&Oe.opaquePassEnabledForLayer()?"opaque":"translucent";if(Oe.renderPass!==ot)return;let dt=qs.disabled,Ct=Oe.depthModeForSublayer(0,ot==="opaque"?ws.ReadWrite:ws.ReadOnly),wt=Oe.colorModeForRenderPass(),Dt=Oe.useProgram(Ze?"backgroundPattern":"background"),fr=Ot||oi.coveringTiles({tileSize:Ge,terrain:Oe.style.map.terrain});Ze&&(Sr.activeTexture.set(Kr.TEXTURE0),Oe.imageManager.bind(Oe.context));let _r=Tt.getCrossfadeParameters();for(let kr of fr){let Vr=Ot?kr.posMatrix:Oe.transform.calculatePosMatrix(kr.toUnwrapped()),Qr=Ze?Gs(Vr,Ar,Oe,Ze,{tileID:kr,tileSize:Ge},_r):Ms(Vr,Ar,Qt),_i=Oe.style.map.terrain&&Oe.style.map.terrain.getTerrainData(kr);Dt.draw(Sr,Kr.TRIANGLES,Ct,dt,wt,xo.disabled,Qr,_i,Tt.id,Oe.tileExtentBuffer,Oe.quadTriangleIndexBuffer,Oe.tileExtentSegments)}})(P,0,xe,Te);break;case"custom":(function(Oe,ht,Tt){let Ot=Oe.context,Qt=Tt.implementation;if(Oe.renderPass==="offscreen"){let Ar=Qt.prerender;Ar&&(Oe.setCustomLayerDefaults(),Ot.setColorMode(Oe.colorModeForRenderPass()),Ar.call(Qt,Ot.gl,Oe.transform.customLayerMatrix()),Ot.setDirty(),Oe.setBaseState())}else if(Oe.renderPass==="translucent"){Oe.setCustomLayerDefaults(),Ot.setColorMode(Oe.colorModeForRenderPass()),Ot.setStencilMode(qs.disabled);let Ar=Qt.renderingMode==="3d"?new ws(Oe.context.gl.LEQUAL,ws.ReadWrite,Oe.depthRangeFor3D):Oe.depthModeForSublayer(0,ws.ReadOnly);Ot.setDepthMode(Ar),Qt.render(Ot.gl,Oe.transform.customLayerMatrix(),{farZ:Oe.transform.farZ,nearZ:Oe.transform.nearZ,fov:Oe.transform._fov,modelViewProjectionMatrix:Oe.transform.modelViewProjectionMatrix,projectionMatrix:Oe.transform.projectionMatrix}),Ot.setDirty(),Oe.setBaseState(),Ot.bindFramebuffer.set(null)}})(P,0,xe)}}translatePosMatrix(P,ae,xe,Te,Oe){if(!xe[0]&&!xe[1])return P;let ht=Oe?Te==="map"?this.transform.angle:0:Te==="viewport"?-this.transform.angle:0;if(ht){let Qt=Math.sin(ht),Ar=Math.cos(ht);xe=[xe[0]*Ar-xe[1]*Qt,xe[0]*Qt+xe[1]*Ar]}let Tt=[Oe?xe[0]:Vi(ae,xe[0],this.transform.zoom),Oe?xe[1]:Vi(ae,xe[1],this.transform.zoom),0],Ot=new Float32Array(16);return t.J(Ot,P,Tt),Ot}saveTileTexture(P){let ae=this._tileTextures[P.size[0]];ae?ae.push(P):this._tileTextures[P.size[0]]=[P]}getTileTexture(P){let ae=this._tileTextures[P];return ae&&ae.length>0?ae.pop():null}isPatternMissing(P){if(!P)return!1;if(!P.from||!P.to)return!0;let ae=this.imageManager.getPattern(P.from.toString()),xe=this.imageManager.getPattern(P.to.toString());return!ae||!xe}useProgram(P,ae){this.cache=this.cache||{};let xe=P+(ae?ae.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"")+(this.style.map.terrain?"/terrain":"");return this.cache[xe]||(this.cache[xe]=new ki(this.context,Wr[P],ae,ul[P],this._showOverdrawInspector,this.style.map.terrain)),this.cache[xe]}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 P=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(P.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:P,drawingBufferHeight:ae}=this.context.gl;return this.width!==P||this.height!==ae}}class xl{constructor(P,ae){this.points=P,this.planes=ae}static fromInvProjectionMatrix(P,ae,xe){let Te=Math.pow(2,xe),Oe=[[-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(Tt=>{let Ot=1/(Tt=t.af([],Tt,P))[3]/ae*Te;return t.b1(Tt,Tt,[Ot,Ot,1/Tt[3],Ot])}),ht=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(Tt=>{let Ot=function(Kr,oi){var Ge=oi[0],Ze=oi[1],ot=oi[2],dt=Ge*Ge+Ze*Ze+ot*ot;return dt>0&&(dt=1/Math.sqrt(dt)),Kr[0]=oi[0]*dt,Kr[1]=oi[1]*dt,Kr[2]=oi[2]*dt,Kr}([],function(Kr,oi,Ge){var Ze=oi[0],ot=oi[1],dt=oi[2],Ct=Ge[0],wt=Ge[1],Dt=Ge[2];return Kr[0]=ot*Dt-dt*wt,Kr[1]=dt*Ct-Ze*Dt,Kr[2]=Ze*wt-ot*Ct,Kr}([],M([],Oe[Tt[0]],Oe[Tt[1]]),M([],Oe[Tt[2]],Oe[Tt[1]]))),Qt=-((Ar=Ot)[0]*(Sr=Oe[Tt[1]])[0]+Ar[1]*Sr[1]+Ar[2]*Sr[2]);var Ar,Sr;return Ot.concat(Qt)});return new xl(Oe,ht)}}class _c{constructor(P,ae){this.min=P,this.max=ae,this.center=function(xe,Te,Oe){return xe[0]=.5*Te[0],xe[1]=.5*Te[1],xe[2]=.5*Te[2],xe}([],function(xe,Te,Oe){return xe[0]=Te[0]+Oe[0],xe[1]=Te[1]+Oe[1],xe[2]=Te[2]+Oe[2],xe}([],this.min,this.max))}quadrant(P){let ae=[P%2==0,P<2],xe=w(this.min),Te=w(this.max);for(let Oe=0;Oe=0&&ht++;if(ht===0)return 0;ht!==ae.length&&(xe=!1)}if(xe)return 2;for(let Te=0;Te<3;Te++){let Oe=Number.MAX_VALUE,ht=-Number.MAX_VALUE;for(let Tt=0;Ttthis.max[Te]-this.min[Te])return 0}return 1}}class Eu{constructor(P=0,ae=0,xe=0,Te=0){if(isNaN(P)||P<0||isNaN(ae)||ae<0||isNaN(xe)||xe<0||isNaN(Te)||Te<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=P,this.bottom=ae,this.left=xe,this.right=Te}interpolate(P,ae,xe){return ae.top!=null&&P.top!=null&&(this.top=t.y.number(P.top,ae.top,xe)),ae.bottom!=null&&P.bottom!=null&&(this.bottom=t.y.number(P.bottom,ae.bottom,xe)),ae.left!=null&&P.left!=null&&(this.left=t.y.number(P.left,ae.left,xe)),ae.right!=null&&P.right!=null&&(this.right=t.y.number(P.right,ae.right,xe)),this}getCenter(P,ae){let xe=t.ac((this.left+P-this.right)/2,0,P),Te=t.ac((this.top+ae-this.bottom)/2,0,ae);return new t.P(xe,Te)}equals(P){return this.top===P.top&&this.bottom===P.bottom&&this.left===P.left&&this.right===P.right}clone(){return new Eu(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}let Iu=85.051129;class Nl{constructor(P,ae,xe,Te,Oe){this.tileSize=512,this._renderWorldCopies=Oe===void 0||!!Oe,this._minZoom=P||0,this._maxZoom=ae||22,this._minPitch=xe??0,this._maxPitch=Te??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 Eu,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){let P=new Nl(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return P.apply(this),P}apply(P){this.tileSize=P.tileSize,this.latRange=P.latRange,this.lngRange=P.lngRange,this.width=P.width,this.height=P.height,this._center=P._center,this._elevation=P._elevation,this.minElevationForCurrentTile=P.minElevationForCurrentTile,this.zoom=P.zoom,this.angle=P.angle,this._fov=P._fov,this._pitch=P._pitch,this._unmodified=P._unmodified,this._edgeInsets=P._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(P){this._minZoom!==P&&(this._minZoom=P,this.zoom=Math.max(this.zoom,P))}get maxZoom(){return this._maxZoom}set maxZoom(P){this._maxZoom!==P&&(this._maxZoom=P,this.zoom=Math.min(this.zoom,P))}get minPitch(){return this._minPitch}set minPitch(P){this._minPitch!==P&&(this._minPitch=P,this.pitch=Math.max(this.pitch,P))}get maxPitch(){return this._maxPitch}set maxPitch(P){this._maxPitch!==P&&(this._maxPitch=P,this.pitch=Math.min(this.pitch,P))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(P){P===void 0?P=!0:P===null&&(P=!1),this._renderWorldCopies=P}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(P){let ae=-t.b3(P,-180,180)*Math.PI/180;this.angle!==ae&&(this._unmodified=!1,this.angle=ae,this._calcMatrices(),this.rotationMatrix=function(){var xe=new t.A(4);return t.A!=Float32Array&&(xe[1]=0,xe[2]=0),xe[0]=1,xe[3]=1,xe}(),function(xe,Te,Oe){var ht=Te[0],Tt=Te[1],Ot=Te[2],Qt=Te[3],Ar=Math.sin(Oe),Sr=Math.cos(Oe);xe[0]=ht*Sr+Ot*Ar,xe[1]=Tt*Sr+Qt*Ar,xe[2]=ht*-Ar+Ot*Sr,xe[3]=Tt*-Ar+Qt*Sr}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(P){let ae=t.ac(P,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==ae&&(this._unmodified=!1,this._pitch=ae,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(P){P=Math.max(.01,Math.min(60,P)),this._fov!==P&&(this._unmodified=!1,this._fov=P/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(P){let ae=Math.min(Math.max(P,this.minZoom),this.maxZoom);this._zoom!==ae&&(this._unmodified=!1,this._zoom=ae,this.tileZoom=Math.max(0,Math.floor(ae)),this.scale=this.zoomScale(ae),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(P){P.lat===this._center.lat&&P.lng===this._center.lng||(this._unmodified=!1,this._center=P,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(P){P!==this._elevation&&(this._elevation=P,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(P){this._edgeInsets.equals(P)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,P,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(P){return this._edgeInsets.equals(P)}interpolatePadding(P,ae,xe){this._unmodified=!1,this._edgeInsets.interpolate(P,ae,xe),this._constrain(),this._calcMatrices()}coveringZoomLevel(P){let ae=(P.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/P.tileSize));return Math.max(0,ae)}getVisibleUnwrappedCoordinates(P){let ae=[new t.b4(0,P)];if(this._renderWorldCopies){let xe=this.pointCoordinate(new t.P(0,0)),Te=this.pointCoordinate(new t.P(this.width,0)),Oe=this.pointCoordinate(new t.P(this.width,this.height)),ht=this.pointCoordinate(new t.P(0,this.height)),Tt=Math.floor(Math.min(xe.x,Te.x,Oe.x,ht.x)),Ot=Math.floor(Math.max(xe.x,Te.x,Oe.x,ht.x)),Qt=1;for(let Ar=Tt-Qt;Ar<=Ot+Qt;Ar++)Ar!==0&&ae.push(new t.b4(Ar,P))}return ae}coveringTiles(P){var ae,xe;let Te=this.coveringZoomLevel(P),Oe=Te;if(P.minzoom!==void 0&&TeP.maxzoom&&(Te=P.maxzoom);let ht=this.pointCoordinate(this.getCameraPoint()),Tt=t.Z.fromLngLat(this.center),Ot=Math.pow(2,Te),Qt=[Ot*ht.x,Ot*ht.y,0],Ar=[Ot*Tt.x,Ot*Tt.y,0],Sr=xl.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,Te),Kr=P.minzoom||0;!P.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(Kr=Te);let oi=P.terrain?2/Math.min(this.tileSize,P.tileSize)*this.tileSize:3,Ge=wt=>({aabb:new _c([wt*Ot,0,0],[(wt+1)*Ot,Ot,0]),zoom:0,x:0,y:0,wrap:wt,fullyVisible:!1}),Ze=[],ot=[],dt=Te,Ct=P.reparseOverscaled?Oe:Te;if(this._renderWorldCopies)for(let wt=1;wt<=3;wt++)Ze.push(Ge(-wt)),Ze.push(Ge(wt));for(Ze.push(Ge(0));Ze.length>0;){let wt=Ze.pop(),Dt=wt.x,fr=wt.y,_r=wt.fullyVisible;if(!_r){let Pi=wt.aabb.intersects(Sr);if(Pi===0)continue;_r=Pi===2}let kr=P.terrain?Qt:Ar,Vr=wt.aabb.distanceX(kr),Qr=wt.aabb.distanceY(kr),_i=Math.max(Math.abs(Vr),Math.abs(Qr));if(wt.zoom===dt||_i>oi+(1<=Kr){let Pi=dt-wt.zoom,qi=Qt[0]-.5-(Dt<>1),Qa=wt.zoom+1,$a=wt.aabb.quadrant(Pi);if(P.terrain){let yn=new t.S(Qa,wt.wrap,Qa,qi,ga),qn=P.terrain.getMinMaxElevation(yn),po=(ae=qn.minElevation)!==null&&ae!==void 0?ae:this.elevation,to=(xe=qn.maxElevation)!==null&&xe!==void 0?xe:this.elevation;$a=new _c([$a.min[0],$a.min[1],po],[$a.max[0],$a.max[1],to])}Ze.push({aabb:$a,zoom:Qa,x:qi,y:ga,wrap:wt.wrap,fullyVisible:_r})}}return ot.sort((wt,Dt)=>wt.distanceSq-Dt.distanceSq).map(wt=>wt.tileID)}resize(P,ae){this.width=P,this.height=ae,this.pixelsToGLUnits=[2/P,-2/ae],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(P){return Math.pow(2,P)}scaleZoom(P){return Math.log(P)/Math.LN2}project(P){let ae=t.ac(P.lat,-85.051129,Iu);return new t.P(t.O(P.lng)*this.worldSize,t.Q(ae)*this.worldSize)}unproject(P){return new t.Z(P.x/this.worldSize,P.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(P){let ae=this.elevation,xe=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,Te=this.pointLocation(this.centerPoint,P),Oe=P.getElevationForLngLatZoom(Te,this.tileZoom);if(!(this.elevation-Oe))return;let ht=xe+ae-Oe,Tt=Math.cos(this._pitch)*this.cameraToCenterDistance/ht/t.b5(1,Te.lat),Ot=this.scaleZoom(Tt/this.tileSize);this._elevation=Oe,this._center=Te,this.zoom=Ot}setLocationAtPoint(P,ae){let xe=this.pointCoordinate(ae),Te=this.pointCoordinate(this.centerPoint),Oe=this.locationCoordinate(P),ht=new t.Z(Oe.x-(xe.x-Te.x),Oe.y-(xe.y-Te.y));this.center=this.coordinateLocation(ht),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(P,ae){return ae?this.coordinatePoint(this.locationCoordinate(P),ae.getElevationForLngLatZoom(P,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(P))}pointLocation(P,ae){return this.coordinateLocation(this.pointCoordinate(P,ae))}locationCoordinate(P){return t.Z.fromLngLat(P)}coordinateLocation(P){return P&&P.toLngLat()}pointCoordinate(P,ae){if(ae){let Kr=ae.pointCoordinate(P);if(Kr!=null)return Kr}let xe=[P.x,P.y,0,1],Te=[P.x,P.y,1,1];t.af(xe,xe,this.pixelMatrixInverse),t.af(Te,Te,this.pixelMatrixInverse);let Oe=xe[3],ht=Te[3],Tt=xe[1]/Oe,Ot=Te[1]/ht,Qt=xe[2]/Oe,Ar=Te[2]/ht,Sr=Qt===Ar?0:(0-Qt)/(Ar-Qt);return new t.Z(t.y.number(xe[0]/Oe,Te[0]/ht,Sr)/this.worldSize,t.y.number(Tt,Ot,Sr)/this.worldSize)}coordinatePoint(P,ae=0,xe=this.pixelMatrix){let Te=[P.x*this.worldSize,P.y*this.worldSize,ae,1];return t.af(Te,Te,xe),new t.P(Te[0]/Te[3],Te[1]/Te[3])}getBounds(){let P=Math.max(0,this.height/2-this.getHorizon());return new re().extend(this.pointLocation(new t.P(0,P))).extend(this.pointLocation(new t.P(this.width,P))).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(P){P?(this.lngRange=[P.getWest(),P.getEast()],this.latRange=[P.getSouth(),P.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,Iu])}calculateTileMatrix(P){let ae=P.canonical,xe=this.worldSize/this.zoomScale(ae.z),Te=ae.x+Math.pow(2,ae.z)*P.wrap,Oe=t.an(new Float64Array(16));return t.J(Oe,Oe,[Te*xe,ae.y*xe,0]),t.K(Oe,Oe,[xe/t.X,xe/t.X,1]),Oe}calculatePosMatrix(P,ae=!1){let xe=P.key,Te=ae?this._alignedPosMatrixCache:this._posMatrixCache;if(Te[xe])return Te[xe];let Oe=this.calculateTileMatrix(P);return t.L(Oe,ae?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,Oe),Te[xe]=new Float32Array(Oe),Te[xe]}calculateFogMatrix(P){let ae=P.key,xe=this._fogMatrixCache;if(xe[ae])return xe[ae];let Te=this.calculateTileMatrix(P);return t.L(Te,this.fogMatrix,Te),xe[ae]=new Float32Array(Te),xe[ae]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(P,ae){ae=t.ac(+ae,this.minZoom,this.maxZoom);let xe={center:new t.N(P.lng,P.lat),zoom:ae},Te=this.lngRange;if(!this._renderWorldCopies&&Te===null){let wt=179.9999999999;Te=[-wt,wt]}let Oe=this.tileSize*this.zoomScale(xe.zoom),ht=0,Tt=Oe,Ot=0,Qt=Oe,Ar=0,Sr=0,{x:Kr,y:oi}=this.size;if(this.latRange){let wt=this.latRange;ht=t.Q(wt[1])*Oe,Tt=t.Q(wt[0])*Oe,Tt-htTt&&(dt=Tt-wt)}if(Te){let wt=(Ot+Qt)/2,Dt=Ge;this._renderWorldCopies&&(Dt=t.b3(Ge,wt-Oe/2,wt+Oe/2));let fr=Kr/2;Dt-frQt&&(ot=Qt-fr)}if(ot!==void 0||dt!==void 0){let wt=new t.P(ot??Ge,dt??Ze);xe.center=this.unproject.call({worldSize:Oe},wt).wrap()}return xe}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let P=this._unmodified,{center:ae,zoom:xe}=this.getConstrained(this.center,this.zoom);this.center=ae,this.zoom=xe,this._unmodified=P,this._constraining=!1}_calcMatrices(){if(!this.height)return;let P=this.centerOffset,ae=this.point.x,xe=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=t.b5(1,this.center.lat)*this.worldSize;let Te=t.an(new Float64Array(16));t.K(Te,Te,[this.width/2,-this.height/2,1]),t.J(Te,Te,[1,-1,0]),this.labelPlaneMatrix=Te,Te=t.an(new Float64Array(16)),t.K(Te,Te,[1,-1,1]),t.J(Te,Te,[-1,-1,0]),t.K(Te,Te,[2/this.width,2/this.height,1]),this.glCoordMatrix=Te;let Oe=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),ht=Math.min(this.elevation,this.minElevationForCurrentTile),Tt=Oe-ht*this._pixelPerMeter/Math.cos(this._pitch),Ot=ht<0?Tt:Oe,Qt=Math.PI/2+this._pitch,Ar=this._fov*(.5+P.y/this.height),Sr=Math.sin(Ar)*Ot/Math.sin(t.ac(Math.PI-Qt-Ar,.01,Math.PI-.01)),Kr=this.getHorizon(),oi=2*Math.atan(Kr/this.cameraToCenterDistance)*(.5+P.y/(2*Kr)),Ge=Math.sin(oi)*Ot/Math.sin(t.ac(Math.PI-Qt-oi,.01,Math.PI-.01)),Ze=Math.min(Sr,Ge);this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*Ze+Ot),this.nearZ=this.height/50,Te=new Float64Array(16),t.b6(Te,this._fov,this.width/this.height,this.nearZ,this.farZ),Te[8]=2*-P.x/this.width,Te[9]=2*P.y/this.height,this.projectionMatrix=t.ae(Te),t.K(Te,Te,[1,-1,1]),t.J(Te,Te,[0,0,-this.cameraToCenterDistance]),t.b7(Te,Te,this._pitch),t.ad(Te,Te,this.angle),t.J(Te,Te,[-ae,-xe,0]),this.mercatorMatrix=t.K([],Te,[this.worldSize,this.worldSize,this.worldSize]),t.K(Te,Te,[1,1,this._pixelPerMeter]),this.pixelMatrix=t.L(new Float64Array(16),this.labelPlaneMatrix,Te),t.J(Te,Te,[0,0,-this.elevation]),this.modelViewProjectionMatrix=Te,this.invModelViewProjectionMatrix=t.as([],Te),this.fogMatrix=new Float64Array(16),t.b6(this.fogMatrix,this._fov,this.width/this.height,Oe,this.farZ),this.fogMatrix[8]=2*-P.x/this.width,this.fogMatrix[9]=2*P.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,[-ae,-xe,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,Te);let ot=this.width%2/2,dt=this.height%2/2,Ct=Math.cos(this.angle),wt=Math.sin(this.angle),Dt=ae-Math.round(ae)+Ct*ot+wt*dt,fr=xe-Math.round(xe)+Ct*dt+wt*ot,_r=new Float64Array(Te);if(t.J(_r,_r,[Dt>.5?Dt-1:Dt,fr>.5?fr-1:fr,0]),this.alignedModelViewProjectionMatrix=_r,Te=t.as(new Float64Array(16),this.pixelMatrix),!Te)throw new Error("failed to invert matrix");this.pixelMatrixInverse=Te,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let P=this.pointCoordinate(new t.P(0,0)),ae=[P.x*this.worldSize,P.y*this.worldSize,0,1];return t.af(ae,ae,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let P=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.P(0,P))}getCameraQueryGeometry(P){let ae=this.getCameraPoint();if(P.length===1)return[P[0],ae];{let xe=ae.x,Te=ae.y,Oe=ae.x,ht=ae.y;for(let Tt of P)xe=Math.min(xe,Tt.x),Te=Math.min(Te,Tt.y),Oe=Math.max(Oe,Tt.x),ht=Math.max(ht,Tt.y);return[new t.P(xe,Te),new t.P(Oe,Te),new t.P(Oe,ht),new t.P(xe,ht),new t.P(xe,Te)]}}lngLatToCameraDepth(P,ae){let xe=this.locationCoordinate(P),Te=[xe.x*this.worldSize,xe.y*this.worldSize,ae,1];return t.af(Te,Te,this.modelViewProjectionMatrix),Te[2]/Te[3]}}function Of(Ue,P){let ae,xe=!1,Te=null,Oe=null,ht=()=>{Te=null,xe&&(Ue.apply(Oe,ae),Te=setTimeout(ht,P),xe=!1)};return(...Tt)=>(xe=!0,Oe=this,ae=Tt,Te||ht(),Te)}class Yf{constructor(P){this._getCurrentHash=()=>{let ae=window.location.hash.replace("#","");if(this._hashName){let xe;return ae.split("&").map(Te=>Te.split("=")).forEach(Te=>{Te[0]===this._hashName&&(xe=Te)}),(xe&&xe[1]||"").split("/")}return ae.split("/")},this._onHashChange=()=>{let ae=this._getCurrentHash();if(ae.length>=3&&!ae.some(xe=>isNaN(xe))){let xe=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(ae[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+ae[2],+ae[1]],zoom:+ae[0],bearing:xe,pitch:+(ae[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let ae=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,ae)},this._removeHash=()=>{let ae=this._getCurrentHash();if(ae.length===0)return;let xe=ae.join("/"),Te=xe;Te.split("&").length>0&&(Te=Te.split("&")[0]),this._hashName&&(Te=`${this._hashName}=${xe}`);let Oe=window.location.hash.replace(Te,"");Oe.startsWith("#&")?Oe=Oe.slice(0,1)+Oe.slice(2):Oe==="#"&&(Oe="");let ht=window.location.href.replace(/(#.+)?$/,Oe);ht=ht.replace("&&","&"),window.history.replaceState(window.history.state,null,ht)},this._updateHash=Of(this._updateHashUnthrottled,300),this._hashName=P&&encodeURIComponent(P)}addTo(P){return this._map=P,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(P){let ae=this._map.getCenter(),xe=Math.round(100*this._map.getZoom())/100,Te=Math.ceil((xe*Math.LN2+Math.log(512/360/.5))/Math.LN10),Oe=Math.pow(10,Te),ht=Math.round(ae.lng*Oe)/Oe,Tt=Math.round(ae.lat*Oe)/Oe,Ot=this._map.getBearing(),Qt=this._map.getPitch(),Ar="";if(Ar+=P?`/${ht}/${Tt}/${xe}`:`${xe}/${Tt}/${ht}`,(Ot||Qt)&&(Ar+="/"+Math.round(10*Ot)/10),Qt&&(Ar+=`/${Math.round(Qt)}`),this._hashName){let Sr=this._hashName,Kr=!1,oi=window.location.hash.slice(1).split("&").map(Ge=>{let Ze=Ge.split("=")[0];return Ze===Sr?(Kr=!0,`${Ze}=${Ar}`):Ge}).filter(Ge=>Ge);return Kr||oi.push(`${Sr}=${Ar}`),`#${oi.join("&")}`}return`#${Ar}`}}let Wu={linearity:.3,easing:t.b8(0,0,.3,1)},Pc=t.e({deceleration:2500,maxSpeed:1400},Wu),xc=t.e({deceleration:20,maxSpeed:1400},Wu),_h=t.e({deceleration:1e3,maxSpeed:360},Wu),ff=t.e({deceleration:1e3,maxSpeed:90},Wu);class yf{constructor(P){this._map=P,this.clear()}clear(){this._inertiaBuffer=[]}record(P){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:n.now(),settings:P})}_drainInertiaBuffer(){let P=this._inertiaBuffer,ae=n.now();for(;P.length>0&&ae-P[0].time>160;)P.shift()}_onMoveEnd(P){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let ae={zoom:0,bearing:0,pitch:0,pan:new t.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:Oe}of this._inertiaBuffer)ae.zoom+=Oe.zoomDelta||0,ae.bearing+=Oe.bearingDelta||0,ae.pitch+=Oe.pitchDelta||0,Oe.panDelta&&ae.pan._add(Oe.panDelta),Oe.around&&(ae.around=Oe.around),Oe.pinchAround&&(ae.pinchAround=Oe.pinchAround);let xe=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,Te={};if(ae.pan.mag()){let Oe=hf(ae.pan.mag(),xe,t.e({},Pc,P||{}));Te.offset=ae.pan.mult(Oe.amount/ae.pan.mag()),Te.center=this._map.transform.center,Xu(Te,Oe)}if(ae.zoom){let Oe=hf(ae.zoom,xe,xc);Te.zoom=this._map.transform.zoom+Oe.amount,Xu(Te,Oe)}if(ae.bearing){let Oe=hf(ae.bearing,xe,_h);Te.bearing=this._map.transform.bearing+t.ac(Oe.amount,-179,179),Xu(Te,Oe)}if(ae.pitch){let Oe=hf(ae.pitch,xe,ff);Te.pitch=this._map.transform.pitch+Oe.amount,Xu(Te,Oe)}if(Te.zoom||Te.bearing){let Oe=ae.pinchAround===void 0?ae.around:ae.pinchAround;Te.around=Oe?this._map.unproject(Oe):this._map.getCenter()}return this.clear(),t.e(Te,{noMoveStart:!0})}}function Xu(Ue,P){(!Ue.duration||Ue.durationae.unproject(Ot)),Tt=Oe.reduce((Ot,Qt,Ar,Sr)=>Ot.add(Qt.div(Sr.length)),new t.P(0,0));super(P,{points:Oe,point:Tt,lngLats:ht,lngLat:ae.unproject(Tt),originalEvent:xe}),this._defaultPrevented=!1}}class nh extends t.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(P,ae,xe){super(P,{originalEvent:xe}),this._defaultPrevented=!1}}class _f{constructor(P,ae){this._map=P,this._clickTolerance=ae.clickTolerance}reset(){delete this._mousedownPos}wheel(P){return this._firePreventable(new nh(P.type,this._map,P))}mousedown(P,ae){return this._mousedownPos=ae,this._firePreventable(new hu(P.type,this._map,P))}mouseup(P){this._map.fire(new hu(P.type,this._map,P))}click(P,ae){this._mousedownPos&&this._mousedownPos.dist(ae)>=this._clickTolerance||this._map.fire(new hu(P.type,this._map,P))}dblclick(P){return this._firePreventable(new hu(P.type,this._map,P))}mouseover(P){this._map.fire(new hu(P.type,this._map,P))}mouseout(P){this._map.fire(new hu(P.type,this._map,P))}touchstart(P){return this._firePreventable(new Qc(P.type,this._map,P))}touchmove(P){this._map.fire(new Qc(P.type,this._map,P))}touchend(P){this._map.fire(new Qc(P.type,this._map,P))}touchcancel(P){this._map.fire(new Qc(P.type,this._map,P))}_firePreventable(P){if(this._map.fire(P),P.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class bl{constructor(P){this._map=P}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(P){this._map.fire(new hu(P.type,this._map,P))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new hu("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(P){this._delayContextMenu?this._contextMenuEvent=P:this._ignoreContextMenu||this._map.fire(new hu(P.type,this._map,P)),this._map.listens("contextmenu")&&P.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class ku{constructor(P){this._map=P}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(P){return this.transform.pointLocation(t.P.convert(P),this._map.terrain)}}class Ou{constructor(P,ae){this._map=P,this._tr=new ku(P),this._el=P.getCanvasContainer(),this._container=P.getContainer(),this._clickTolerance=ae.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(P,ae){this.isEnabled()&&P.shiftKey&&P.button===0&&(a.disableDrag(),this._startPos=this._lastPos=ae,this._active=!0)}mousemoveWindow(P,ae){if(!this._active)return;let xe=ae;if(this._lastPos.equals(xe)||!this._box&&xe.dist(this._startPos)Oe.fitScreenCoordinates(xe,Te,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",P)}keydown(P){this._active&&P.keyCode===27&&(this.reset(),this._fireEvent("boxzoomcancel",P))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(a.remove(this._box),this._box=null),a.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(P,ae){return this._map.fire(new t.k(P,{originalEvent:ae}))}}function Cf(Ue,P){if(Ue.length!==P.length)throw new Error(`The number of touches and points are not equal - touches ${Ue.length}, points ${P.length}`);let ae={};for(let xe=0;xethis.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=P.timeStamp),xe.length===this.numTouches&&(this.centroid=function(Te){let Oe=new t.P(0,0);for(let ht of Te)Oe._add(ht);return Oe.div(Te.length)}(ae),this.touches=Cf(xe,ae)))}touchmove(P,ae,xe){if(this.aborted||!this.centroid)return;let Te=Cf(xe,ae);for(let Oe in this.touches){let ht=Te[Oe];(!ht||ht.dist(this.touches[Oe])>30)&&(this.aborted=!0)}}touchend(P,ae,xe){if((!this.centroid||P.timeStamp-this.startTime>500)&&(this.aborted=!0),xe.length===0){let Te=!this.aborted&&this.centroid;if(this.reset(),Te)return Te}}}class df{constructor(P){this.singleTap=new Ml(P),this.numTaps=P.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(P,ae,xe){this.singleTap.touchstart(P,ae,xe)}touchmove(P,ae,xe){this.singleTap.touchmove(P,ae,xe)}touchend(P,ae,xe){let Te=this.singleTap.touchend(P,ae,xe);if(Te){let Oe=P.timeStamp-this.lastTime<500,ht=!this.lastTap||this.lastTap.dist(Te)<30;if(Oe&&ht||this.reset(),this.count++,this.lastTime=P.timeStamp,this.lastTap=Te,this.count===this.numTaps)return this.reset(),Te}}}class Rc{constructor(P){this._tr=new ku(P),this._zoomIn=new df({numTouches:1,numTaps:2}),this._zoomOut=new df({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(P,ae,xe){this._zoomIn.touchstart(P,ae,xe),this._zoomOut.touchstart(P,ae,xe)}touchmove(P,ae,xe){this._zoomIn.touchmove(P,ae,xe),this._zoomOut.touchmove(P,ae,xe)}touchend(P,ae,xe){let Te=this._zoomIn.touchend(P,ae,xe),Oe=this._zoomOut.touchend(P,ae,xe),ht=this._tr;return Te?(this._active=!0,P.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:Tt=>Tt.easeTo({duration:300,zoom:ht.zoom+1,around:ht.unproject(Te)},{originalEvent:P})}):Oe?(this._active=!0,P.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:Tt=>Tt.easeTo({duration:300,zoom:ht.zoom-1,around:ht.unproject(Oe)},{originalEvent:P})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Ju{constructor(P){this._enabled=!!P.enable,this._moveStateManager=P.moveStateManager,this._clickTolerance=P.clickTolerance||1,this._moveFunction=P.move,this._activateOnStart=!!P.activateOnStart,P.assignEvents(this),this.reset()}reset(P){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(P)}_move(...P){let ae=this._moveFunction(...P);if(ae.bearingDelta||ae.pitchDelta||ae.around||ae.panDelta)return this._active=!0,ae}dragStart(P,ae){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(P)&&(this._moveStateManager.startMove(P),this._lastPoint=ae.length?ae[0]:ae,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(P,ae){if(!this.isEnabled())return;let xe=this._lastPoint;if(!xe)return;if(P.preventDefault(),!this._moveStateManager.isValidMoveEvent(P))return void this.reset(P);let Te=ae.length?ae[0]:ae;return!this._moved&&Te.dist(xe){Ue.mousedown=Ue.dragStart,Ue.mousemoveWindow=Ue.dragMove,Ue.mouseup=Ue.dragEnd,Ue.contextmenu=P=>{P.preventDefault()}},du=({enable:Ue,clickTolerance:P,bearingDegreesPerPixelMoved:ae=.8})=>{let xe=new Qu({checkCorrectEvent:Te=>a.mouseButton(Te)===0&&Te.ctrlKey||a.mouseButton(Te)===2});return new Ju({clickTolerance:P,move:(Te,Oe)=>({bearingDelta:(Oe.x-Te.x)*ae}),moveStateManager:xe,enable:Ue,assignEvents:Lf})},Nf=({enable:Ue,clickTolerance:P,pitchDegreesPerPixelMoved:ae=-.5})=>{let xe=new Qu({checkCorrectEvent:Te=>a.mouseButton(Te)===0&&Te.ctrlKey||a.mouseButton(Te)===2});return new Ju({clickTolerance:P,move:(Te,Oe)=>({pitchDelta:(Oe.y-Te.y)*ae}),moveStateManager:xe,enable:Ue,assignEvents:Lf})};class ec{constructor(P,ae){this._clickTolerance=P.clickTolerance||1,this._map=ae,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new t.P(0,0)}_shouldBePrevented(P){return P<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(P,ae,xe){return this._calculateTransform(P,ae,xe)}touchmove(P,ae,xe){if(this._active){if(!this._shouldBePrevented(xe.length))return P.preventDefault(),this._calculateTransform(P,ae,xe);this._map.cooperativeGestures.notifyGestureBlocked("touch_pan",P)}}touchend(P,ae,xe){this._calculateTransform(P,ae,xe),this._active&&this._shouldBePrevented(xe.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(P,ae,xe){xe.length>0&&(this._active=!0);let Te=Cf(xe,ae),Oe=new t.P(0,0),ht=new t.P(0,0),Tt=0;for(let Qt in Te){let Ar=Te[Qt],Sr=this._touches[Qt];Sr&&(Oe._add(Ar),ht._add(Ar.sub(Sr)),Tt++,Te[Qt]=Ar)}if(this._touches=Te,this._shouldBePrevented(Tt)||!ht.mag())return;let Ot=ht.div(Tt);return this._sum._add(Ot),this._sum.mag()Math.abs(Ue.x)}class Fc extends Dc{constructor(P){super(),this._currentTouchCount=0,this._map=P}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(P,ae,xe){super.touchstart(P,ae,xe),this._currentTouchCount=xe.length}_start(P){this._lastPoints=P,fc(P[0].sub(P[1]))&&(this._valid=!1)}_move(P,ae,xe){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let Te=P[0].sub(this._lastPoints[0]),Oe=P[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(Te,Oe,xe.timeStamp),this._valid?(this._lastPoints=P,this._active=!0,{pitchDelta:(Te.y+Oe.y)/2*-.5}):void 0}gestureBeginsVertically(P,ae,xe){if(this._valid!==void 0)return this._valid;let Te=P.mag()>=2,Oe=ae.mag()>=2;if(!Te&&!Oe)return;if(!Te||!Oe)return this._firstMove===void 0&&(this._firstMove=xe),xe-this._firstMove<100&&void 0;let ht=P.y>0==ae.y>0;return fc(P)&&fc(ae)&&ht}}let er={panStep:100,bearingStep:15,pitchStep:10};class wr{constructor(P){this._tr=new ku(P);let ae=er;this._panStep=ae.panStep,this._bearingStep=ae.bearingStep,this._pitchStep=ae.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(P){if(P.altKey||P.ctrlKey||P.metaKey)return;let ae=0,xe=0,Te=0,Oe=0,ht=0;switch(P.keyCode){case 61:case 107:case 171:case 187:ae=1;break;case 189:case 109:case 173:ae=-1;break;case 37:P.shiftKey?xe=-1:(P.preventDefault(),Oe=-1);break;case 39:P.shiftKey?xe=1:(P.preventDefault(),Oe=1);break;case 38:P.shiftKey?Te=1:(P.preventDefault(),ht=-1);break;case 40:P.shiftKey?Te=-1:(P.preventDefault(),ht=1);break;default:return}return this._rotationDisabled&&(xe=0,Te=0),{cameraAnimation:Tt=>{let Ot=this._tr;Tt.easeTo({duration:300,easeId:"keyboardHandler",easing:ai,zoom:ae?Math.round(Ot.zoom)+ae*(P.shiftKey?2:1):Ot.zoom,bearing:Ot.bearing+xe*this._bearingStep,pitch:Ot.pitch+Te*this._pitchStep,offset:[-Oe*this._panStep,-ht*this._panStep],center:Ot.center},{originalEvent:P})}}}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 ai(Ue){return Ue*(2-Ue)}let Jr=4.000244140625;class Fi{constructor(P,ae){this._onTimeout=xe=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(xe)},this._map=P,this._tr=new ku(P),this._triggerRenderFrame=ae,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(P){this._defaultZoomRate=P}setWheelZoomRate(P){this._wheelZoomRate=P}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(P){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!P&&P.around==="center")}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(P){return!!this._map.cooperativeGestures.isEnabled()&&!(P.ctrlKey||this._map.cooperativeGestures.isBypassed(P))}wheel(P){if(!this.isEnabled())return;if(this._shouldBePrevented(P))return void this._map.cooperativeGestures.notifyGestureBlocked("wheel_zoom",P);let ae=P.deltaMode===WheelEvent.DOM_DELTA_LINE?40*P.deltaY:P.deltaY,xe=n.now(),Te=xe-(this._lastWheelEventTime||0);this._lastWheelEventTime=xe,ae!==0&&ae%Jr==0?this._type="wheel":ae!==0&&Math.abs(ae)<4?this._type="trackpad":Te>400?(this._type=null,this._lastValue=ae,this._timeout=setTimeout(this._onTimeout,40,P)):this._type||(this._type=Math.abs(Te*ae)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,ae+=this._lastValue)),P.shiftKey&&ae&&(ae/=4),this._type&&(this._lastWheelEvent=P,this._delta-=ae,this._active||this._start(P)),P.preventDefault()}_start(P){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 ae=a.mousePos(this._map.getCanvas(),P),xe=this._tr;this._around=ae.y>xe.transform.height/2-xe.transform.getHorizon()?t.N.convert(this._aroundCenter?xe.center:xe.unproject(ae)):t.N.convert(xe.center),this._aroundPoint=xe.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let P=this._tr.transform;if(this._delta!==0){let Ot=this._type==="wheel"&&Math.abs(this._delta)>Jr?this._wheelZoomRate:this._defaultZoomRate,Qt=2/(1+Math.exp(-Math.abs(this._delta*Ot)));this._delta<0&&Qt!==0&&(Qt=1/Qt);let Ar=typeof this._targetZoom=="number"?P.zoomScale(this._targetZoom):P.scale;this._targetZoom=Math.min(P.maxZoom,Math.max(P.minZoom,P.scaleZoom(Ar*Qt))),this._type==="wheel"&&(this._startZoom=P.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let ae=typeof this._targetZoom=="number"?this._targetZoom:P.zoom,xe=this._startZoom,Te=this._easing,Oe,ht=!1,Tt=n.now()-this._lastWheelEventTime;if(this._type==="wheel"&&xe&&Te&&Tt){let Ot=Math.min(Tt/200,1),Qt=Te(Ot);Oe=t.y.number(xe,ae,Qt),Ot<1?this._frameId||(this._frameId=!0):ht=!0}else Oe=ae,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:Oe-P.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(P){let ae=t.b9;if(this._prevEase){let xe=this._prevEase,Te=(n.now()-xe.start)/xe.duration,Oe=xe.easing(Te+.01)-xe.easing(Te),ht=.27/Math.sqrt(Oe*Oe+1e-4)*.01,Tt=Math.sqrt(.0729-ht*ht);ae=t.b8(ht,Tt,.25,1)}return this._prevEase={start:n.now(),duration:P,easing:ae},ae}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class pa{constructor(P,ae){this._clickZoom=P,this._tapZoom=ae}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 Ba{constructor(P){this._tr=new ku(P),this.reset()}reset(){this._active=!1}dblclick(P,ae){return P.preventDefault(),{cameraAnimation:xe=>{xe.easeTo({duration:300,zoom:this._tr.zoom+(P.shiftKey?-1:1),around:this._tr.unproject(ae)},{originalEvent:P})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class an{constructor(){this._tap=new df({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(P,ae,xe){if(!this._swipePoint)if(this._tapTime){let Te=ae[0],Oe=P.timeStamp-this._tapTime<500,ht=this._tapPoint.dist(Te)<30;Oe&&ht?xe.length>0&&(this._swipePoint=Te,this._swipeTouch=xe[0].identifier):this.reset()}else this._tap.touchstart(P,ae,xe)}touchmove(P,ae,xe){if(this._tapTime){if(this._swipePoint){if(xe[0].identifier!==this._swipeTouch)return;let Te=ae[0],Oe=Te.y-this._swipePoint.y;return this._swipePoint=Te,P.preventDefault(),this._active=!0,{zoomDelta:Oe/128}}}else this._tap.touchmove(P,ae,xe)}touchend(P,ae,xe){if(this._tapTime)this._swipePoint&&xe.length===0&&this.reset();else{let Te=this._tap.touchend(P,ae,xe);Te&&(this._tapTime=P.timeStamp,this._tapPoint=Te)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class hn{constructor(P,ae,xe){this._el=P,this._mousePan=ae,this._touchPan=xe}enable(P){this._inertiaOptions=P||{},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 Ln{constructor(P,ae,xe){this._pitchWithRotate=P.pitchWithRotate,this._mouseRotate=ae,this._mousePitch=xe}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 Na{constructor(P,ae,xe,Te){this._el=P,this._touchZoom=ae,this._touchRotate=xe,this._tapDragZoom=Te,this._rotationDisabled=!1,this._enabled=!0}enable(P){this._touchZoom.enable(P),this._rotationDisabled||this._touchRotate.enable(P),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 qa{constructor(P,ae){this._bypassKey=navigator.userAgent.indexOf("Mac")!==-1?"metaKey":"ctrlKey",this._map=P,this._options=ae,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let P=this._map.getCanvasContainer();P.classList.add("maplibregl-cooperative-gestures"),this._container=a.create("div","maplibregl-cooperative-gesture-screen",P);let ae=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");this._bypassKey==="metaKey"&&(ae=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));let xe=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),Te=document.createElement("div");Te.className="maplibregl-desktop-message",Te.textContent=ae,this._container.appendChild(Te);let Oe=document.createElement("div");Oe.className="maplibregl-mobile-message",Oe.textContent=xe,this._container.appendChild(Oe),this._container.setAttribute("aria-hidden","true")}_destroyUI(){this._container&&(a.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(P){return P[this._bypassKey]}notifyGestureBlocked(P,ae){this._enabled&&(this._map.fire(new t.k("cooperativegestureprevented",{gestureType:P,originalEvent:ae})),this._container.classList.add("maplibregl-show"),setTimeout(()=>{this._container.classList.remove("maplibregl-show")},100))}}let Za=Ue=>Ue.zoom||Ue.drag||Ue.pitch||Ue.rotate;class Ta extends t.k{}function Hn(Ue){return Ue.panDelta&&Ue.panDelta.mag()||Ue.zoomDelta||Ue.bearingDelta||Ue.pitchDelta}class go{constructor(P,ae){this.handleWindowEvent=Te=>{this.handleEvent(Te,`${Te.type}Window`)},this.handleEvent=(Te,Oe)=>{if(Te.type==="blur")return void this.stop(!0);this._updatingCamera=!0;let ht=Te.type==="renderFrame"?void 0:Te,Tt={needsRenderFrame:!1},Ot={},Qt={},Ar=Te.touches,Sr=Ar?this._getMapTouches(Ar):void 0,Kr=Sr?a.touchPos(this._map.getCanvas(),Sr):a.mousePos(this._map.getCanvas(),Te);for(let{handlerName:Ze,handler:ot,allowed:dt}of this._handlers){if(!ot.isEnabled())continue;let Ct;this._blockedByActive(Qt,dt,Ze)?ot.reset():ot[Oe||Te.type]&&(Ct=ot[Oe||Te.type](Te,Kr,Sr),this.mergeHandlerResult(Tt,Ot,Ct,Ze,ht),Ct&&Ct.needsRenderFrame&&this._triggerRenderFrame()),(Ct||ot.isActive())&&(Qt[Ze]=ot)}let oi={};for(let Ze in this._previousActiveHandlers)Qt[Ze]||(oi[Ze]=ht);this._previousActiveHandlers=Qt,(Object.keys(oi).length||Hn(Tt))&&(this._changes.push([Tt,Ot,oi]),this._triggerRenderFrame()),(Object.keys(Qt).length||Hn(Tt))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:Ge}=Tt;Ge&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],Ge(this._map))},this._map=P,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new yf(P),this._bearingSnap=ae.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(ae);let xe=this._el;this._listeners=[[xe,"touchstart",{passive:!0}],[xe,"touchmove",{passive:!1}],[xe,"touchend",void 0],[xe,"touchcancel",void 0],[xe,"mousedown",void 0],[xe,"mousemove",void 0],[xe,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[xe,"mouseover",void 0],[xe,"mouseout",void 0],[xe,"dblclick",void 0],[xe,"click",void 0],[xe,"keydown",{capture:!1}],[xe,"keyup",void 0],[xe,"wheel",{passive:!1}],[xe,"contextmenu",void 0],[window,"blur",void 0]];for(let[Te,Oe,ht]of this._listeners)a.addEventListener(Te,Oe,Te===document?this.handleWindowEvent:this.handleEvent,ht)}destroy(){for(let[P,ae,xe]of this._listeners)a.removeEventListener(P,ae,P===document?this.handleWindowEvent:this.handleEvent,xe)}_addDefaultHandlers(P){let ae=this._map,xe=ae.getCanvasContainer();this._add("mapEvent",new _f(ae,P));let Te=ae.boxZoom=new Ou(ae,P);this._add("boxZoom",Te),P.interactive&&P.boxZoom&&Te.enable();let Oe=ae.cooperativeGestures=new qa(ae,P.cooperativeGestures);this._add("cooperativeGestures",Oe),P.cooperativeGestures&&Oe.enable();let ht=new Rc(ae),Tt=new Ba(ae);ae.doubleClickZoom=new pa(Tt,ht),this._add("tapZoom",ht),this._add("clickZoom",Tt),P.interactive&&P.doubleClickZoom&&ae.doubleClickZoom.enable();let Ot=new an;this._add("tapDragZoom",Ot);let Qt=ae.touchPitch=new Fc(ae);this._add("touchPitch",Qt),P.interactive&&P.touchPitch&&ae.touchPitch.enable(P.touchPitch);let Ar=du(P),Sr=Nf(P);ae.dragRotate=new Ln(P,Ar,Sr),this._add("mouseRotate",Ar,["mousePitch"]),this._add("mousePitch",Sr,["mouseRotate"]),P.interactive&&P.dragRotate&&ae.dragRotate.enable();let Kr=(({enable:Ct,clickTolerance:wt})=>{let Dt=new Qu({checkCorrectEvent:fr=>a.mouseButton(fr)===0&&!fr.ctrlKey});return new Ju({clickTolerance:wt,move:(fr,_r)=>({around:_r,panDelta:_r.sub(fr)}),activateOnStart:!0,moveStateManager:Dt,enable:Ct,assignEvents:Lf})})(P),oi=new ec(P,ae);ae.dragPan=new hn(xe,Kr,oi),this._add("mousePan",Kr),this._add("touchPan",oi,["touchZoom","touchRotate"]),P.interactive&&P.dragPan&&ae.dragPan.enable(P.dragPan);let Ge=new tf,Ze=new Cu;ae.touchZoomRotate=new Na(xe,Ze,Ge,Ot),this._add("touchRotate",Ge,["touchPan","touchZoom"]),this._add("touchZoom",Ze,["touchPan","touchRotate"]),P.interactive&&P.touchZoomRotate&&ae.touchZoomRotate.enable(P.touchZoomRotate);let ot=ae.scrollZoom=new Fi(ae,()=>this._triggerRenderFrame());this._add("scrollZoom",ot,["mousePan"]),P.interactive&&P.scrollZoom&&ae.scrollZoom.enable(P.scrollZoom);let dt=ae.keyboard=new wr(ae);this._add("keyboard",dt),P.interactive&&P.keyboard&&ae.keyboard.enable(),this._add("blockableMapEvent",new bl(ae))}_add(P,ae,xe){this._handlers.push({handlerName:P,handler:ae,allowed:xe}),this._handlersById[P]=ae}stop(P){if(!this._updatingCamera){for(let{handler:ae}of this._handlers)ae.reset();this._inertia.clear(),this._fireEvents({},{},P),this._changes=[]}}isActive(){for(let{handler:P}of this._handlers)if(P.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Za(this._eventsInProgress)||this.isZooming()}_blockedByActive(P,ae,xe){for(let Te in P)if(Te!==xe&&(!ae||ae.indexOf(Te)<0))return!0;return!1}_getMapTouches(P){let ae=[];for(let xe of P)this._el.contains(xe.target)&&ae.push(xe);return ae}mergeHandlerResult(P,ae,xe,Te,Oe){if(!xe)return;t.e(P,xe);let ht={handlerName:Te,originalEvent:xe.originalEvent||Oe};xe.zoomDelta!==void 0&&(ae.zoom=ht),xe.panDelta!==void 0&&(ae.drag=ht),xe.pitchDelta!==void 0&&(ae.pitch=ht),xe.bearingDelta!==void 0&&(ae.rotate=ht)}_applyChanges(){let P={},ae={},xe={};for(let[Te,Oe,ht]of this._changes)Te.panDelta&&(P.panDelta=(P.panDelta||new t.P(0,0))._add(Te.panDelta)),Te.zoomDelta&&(P.zoomDelta=(P.zoomDelta||0)+Te.zoomDelta),Te.bearingDelta&&(P.bearingDelta=(P.bearingDelta||0)+Te.bearingDelta),Te.pitchDelta&&(P.pitchDelta=(P.pitchDelta||0)+Te.pitchDelta),Te.around!==void 0&&(P.around=Te.around),Te.pinchAround!==void 0&&(P.pinchAround=Te.pinchAround),Te.noInertia&&(P.noInertia=Te.noInertia),t.e(ae,Oe),t.e(xe,ht);this._updateMapTransform(P,ae,xe),this._changes=[]}_updateMapTransform(P,ae,xe){let Te=this._map,Oe=Te._getTransformForUpdate(),ht=Te.terrain;if(!(Hn(P)||ht&&this._terrainMovement))return this._fireEvents(ae,xe,!0);let{panDelta:Tt,zoomDelta:Ot,bearingDelta:Qt,pitchDelta:Ar,around:Sr,pinchAround:Kr}=P;Kr!==void 0&&(Sr=Kr),Te._stop(!0),Sr=Sr||Te.transform.centerPoint;let oi=Oe.pointLocation(Tt?Sr.sub(Tt):Sr);Qt&&(Oe.bearing+=Qt),Ar&&(Oe.pitch+=Ar),Ot&&(Oe.zoom+=Ot),ht?this._terrainMovement||!ae.drag&&!ae.zoom?ae.drag&&this._terrainMovement?Oe.center=Oe.pointLocation(Oe.centerPoint.sub(Tt)):Oe.setLocationAtPoint(oi,Sr):(this._terrainMovement=!0,this._map._elevationFreeze=!0,Oe.setLocationAtPoint(oi,Sr)):Oe.setLocationAtPoint(oi,Sr),Te._applyUpdatedTransform(Oe),this._map._update(),P.noInertia||this._inertia.record(P),this._fireEvents(ae,xe,!0)}_fireEvents(P,ae,xe){let Te=Za(this._eventsInProgress),Oe=Za(P),ht={};for(let Sr in P){let{originalEvent:Kr}=P[Sr];this._eventsInProgress[Sr]||(ht[`${Sr}start`]=Kr),this._eventsInProgress[Sr]=P[Sr]}!Te&&Oe&&this._fireEvent("movestart",Oe.originalEvent);for(let Sr in ht)this._fireEvent(Sr,ht[Sr]);Oe&&this._fireEvent("move",Oe.originalEvent);for(let Sr in P){let{originalEvent:Kr}=P[Sr];this._fireEvent(Sr,Kr)}let Tt={},Ot;for(let Sr in this._eventsInProgress){let{handlerName:Kr,originalEvent:oi}=this._eventsInProgress[Sr];this._handlersById[Kr].isActive()||(delete this._eventsInProgress[Sr],Ot=ae[Kr]||oi,Tt[`${Sr}end`]=Ot)}for(let Sr in Tt)this._fireEvent(Sr,Tt[Sr]);let Qt=Za(this._eventsInProgress),Ar=(Te||Oe)&&!Qt;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(xe&&Ar){this._updatingCamera=!0;let Sr=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),Kr=oi=>oi!==0&&-this._bearingSnap{delete this._frameId,this.handleEvent(new Ta("renderFrame",{timeStamp:P})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class wo extends t.E{constructor(P,ae){super(),this._renderFrameCallback=()=>{let xe=Math.min((n.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(xe)),xe<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=P,this._bearingSnap=ae.bearingSnap,this.on("moveend",()=>{delete this._requestedCameraState})}getCenter(){return new t.N(this.transform.center.lng,this.transform.center.lat)}setCenter(P,ae){return this.jumpTo({center:P},ae)}panBy(P,ae,xe){return P=t.P.convert(P).mult(-1),this.panTo(this.transform.center,t.e({offset:P},ae),xe)}panTo(P,ae,xe){return this.easeTo(t.e({center:P},ae),xe)}getZoom(){return this.transform.zoom}setZoom(P,ae){return this.jumpTo({zoom:P},ae),this}zoomTo(P,ae,xe){return this.easeTo(t.e({zoom:P},ae),xe)}zoomIn(P,ae){return this.zoomTo(this.getZoom()+1,P,ae),this}zoomOut(P,ae){return this.zoomTo(this.getZoom()-1,P,ae),this}getBearing(){return this.transform.bearing}setBearing(P,ae){return this.jumpTo({bearing:P},ae),this}getPadding(){return this.transform.padding}setPadding(P,ae){return this.jumpTo({padding:P},ae),this}rotateTo(P,ae,xe){return this.easeTo(t.e({bearing:P},ae),xe)}resetNorth(P,ae){return this.rotateTo(0,t.e({duration:1e3},P),ae),this}resetNorthPitch(P,ae){return this.easeTo(t.e({bearing:0,pitch:0,duration:1e3},P),ae),this}snapToNorth(P,ae){return Math.abs(this.getBearing()){if(this._zooming&&(Te.zoom=t.y.number(Oe,ot,kr)),this._rotating&&(Te.bearing=t.y.number(ht,Qt,kr)),this._pitching&&(Te.pitch=t.y.number(Tt,Ar,kr)),this._padding&&(Te.interpolatePadding(Ot,Sr,kr),oi=Te.centerPoint.add(Kr)),this.terrain&&!P.freezeElevation&&this._updateElevation(kr),Dt)Te.setLocationAtPoint(Dt,fr);else{let Vr=Te.zoomScale(Te.zoom-Oe),Qr=ot>Oe?Math.min(2,wt):Math.max(.5,wt),_i=Math.pow(Qr,1-kr),Pi=Te.unproject(dt.add(Ct.mult(kr*_i)).mult(Vr));Te.setLocationAtPoint(Te.renderWorldCopies?Pi.wrap():Pi,oi)}this._applyUpdatedTransform(Te),this._fireMoveEvents(ae)},kr=>{this.terrain&&P.freezeElevation&&this._finalizeElevation(),this._afterEase(ae,kr)},P),this}_prepareEase(P,ae,xe={}){this._moving=!0,ae||xe.moving||this.fire(new t.k("movestart",P)),this._zooming&&!xe.zooming&&this.fire(new t.k("zoomstart",P)),this._rotating&&!xe.rotating&&this.fire(new t.k("rotatestart",P)),this._pitching&&!xe.pitching&&this.fire(new t.k("pitchstart",P))}_prepareElevation(P){this._elevationCenter=P,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(P,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(P){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let ae=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(P<1&&ae!==this._elevationTarget){let xe=this._elevationTarget-this._elevationStart;this._elevationStart+=P*(xe-(ae-(xe*P+this._elevationStart))/(1-P)),this._elevationTarget=ae}this.transform.elevation=t.y.number(this._elevationStart,this._elevationTarget,P)}_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(P){let ae=P.getCameraPosition(),xe=this.terrain.getElevationForLngLatZoom(ae.lngLat,P.zoom);if(ae.altitudethis._elevateCameraIfInsideTerrain(Te)),this.transformCameraUpdate&&ae.push(Te=>this.transformCameraUpdate(Te)),!ae.length)return;let xe=P.clone();for(let Te of ae){let Oe=xe.clone(),{center:ht,zoom:Tt,pitch:Ot,bearing:Qt,elevation:Ar}=Te(Oe);ht&&(Oe.center=ht),Tt!==void 0&&(Oe.zoom=Tt),Ot!==void 0&&(Oe.pitch=Ot),Qt!==void 0&&(Oe.bearing=Qt),Ar!==void 0&&(Oe.elevation=Ar),xe.apply(Oe)}this.transform.apply(xe)}_fireMoveEvents(P){this.fire(new t.k("move",P)),this._zooming&&this.fire(new t.k("zoom",P)),this._rotating&&this.fire(new t.k("rotate",P)),this._pitching&&this.fire(new t.k("pitch",P))}_afterEase(P,ae){if(this._easeId&&ae&&this._easeId===ae)return;delete this._easeId;let xe=this._zooming,Te=this._rotating,Oe=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,xe&&this.fire(new t.k("zoomend",P)),Te&&this.fire(new t.k("rotateend",P)),Oe&&this.fire(new t.k("pitchend",P)),this.fire(new t.k("moveend",P))}flyTo(P,ae){var xe;if(!P.essential&&n.prefersReducedMotion){let yn=t.M(P,["center","zoom","bearing","pitch","around"]);return this.jumpTo(yn,ae)}this.stop(),P=t.e({offset:[0,0],speed:1.2,curve:1.42,easing:t.b9},P);let Te=this._getTransformForUpdate(),Oe=Te.zoom,ht=Te.bearing,Tt=Te.pitch,Ot=Te.padding,Qt="bearing"in P?this._normalizeBearing(P.bearing,ht):ht,Ar="pitch"in P?+P.pitch:Tt,Sr="padding"in P?P.padding:Te.padding,Kr=t.P.convert(P.offset),oi=Te.centerPoint.add(Kr),Ge=Te.pointLocation(oi),{center:Ze,zoom:ot}=Te.getConstrained(t.N.convert(P.center||Ge),(xe=P.zoom)!==null&&xe!==void 0?xe:Oe);this._normalizeCenter(Ze,Te);let dt=Te.zoomScale(ot-Oe),Ct=Te.project(Ge),wt=Te.project(Ze).sub(Ct),Dt=P.curve,fr=Math.max(Te.width,Te.height),_r=fr/dt,kr=wt.mag();if("minZoom"in P){let yn=t.ac(Math.min(P.minZoom,Oe,ot),Te.minZoom,Te.maxZoom),qn=fr/Te.zoomScale(yn-Oe);Dt=Math.sqrt(qn/kr*2)}let Vr=Dt*Dt;function Qr(yn){let qn=(_r*_r-fr*fr+(yn?-1:1)*Vr*Vr*kr*kr)/(2*(yn?_r:fr)*Vr*kr);return Math.log(Math.sqrt(qn*qn+1)-qn)}function _i(yn){return(Math.exp(yn)-Math.exp(-yn))/2}function Pi(yn){return(Math.exp(yn)+Math.exp(-yn))/2}let qi=Qr(!1),ga=function(yn){return Pi(qi)/Pi(qi+Dt*yn)},Qa=function(yn){return fr*((Pi(qi)*(_i(qn=qi+Dt*yn)/Pi(qn))-_i(qi))/Vr)/kr;var qn},$a=(Qr(!0)-qi)/Dt;if(Math.abs(kr)<1e-6||!isFinite($a)){if(Math.abs(fr-_r)<1e-6)return this.easeTo(P,ae);let yn=_r0,ga=qn=>Math.exp(yn*Dt*qn)}return P.duration="duration"in P?+P.duration:1e3*$a/("screenSpeed"in P?+P.screenSpeed/Dt:+P.speed),P.maxDuration&&P.duration>P.maxDuration&&(P.duration=0),this._zooming=!0,this._rotating=ht!==Qt,this._pitching=Ar!==Tt,this._padding=!Te.isPaddingEqual(Sr),this._prepareEase(ae,!1),this.terrain&&this._prepareElevation(Ze),this._ease(yn=>{let qn=yn*$a,po=1/ga(qn);Te.zoom=yn===1?ot:Oe+Te.scaleZoom(po),this._rotating&&(Te.bearing=t.y.number(ht,Qt,yn)),this._pitching&&(Te.pitch=t.y.number(Tt,Ar,yn)),this._padding&&(Te.interpolatePadding(Ot,Sr,yn),oi=Te.centerPoint.add(Kr)),this.terrain&&!P.freezeElevation&&this._updateElevation(yn);let to=yn===1?Ze:Te.unproject(Ct.add(wt.mult(Qa(qn))).mult(po));Te.setLocationAtPoint(Te.renderWorldCopies?to.wrap():to,oi),this._applyUpdatedTransform(Te),this._fireMoveEvents(ae)},()=>{this.terrain&&P.freezeElevation&&this._finalizeElevation(),this._afterEase(ae)},P),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(P,ae){var xe;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let Te=this._onEaseEnd;delete this._onEaseEnd,Te.call(this,ae)}return P||(xe=this.handlers)===null||xe===void 0||xe.stop(!1),this}_ease(P,ae,xe){xe.animate===!1||xe.duration===0?(P(1),ae()):(this._easeStart=n.now(),this._easeOptions=xe,this._onEaseFrame=P,this._onEaseEnd=ae,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(P,ae){P=t.b3(P,-180,180);let xe=Math.abs(P-ae);return Math.abs(P-360-ae)180?-360:xe<-180?360:0}queryTerrainElevation(P){return this.terrain?this.terrain.getElevationForLngLatZoom(t.N.convert(P),this.transform.tileZoom)-this.transform.elevation:null}}let yo={compact:!0,customAttribution:'MapLibre'};class Io{constructor(P=yo){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=ae=>{!ae||ae.sourceDataType!=="metadata"&&ae.sourceDataType!=="visibility"&&ae.dataType!=="style"&&ae.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=P}getDefaultPosition(){return"bottom-right"}onAdd(P){return this._map=P,this._compact=this.options.compact,this._container=a.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=a.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=a.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(){a.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(P,ae){let xe=this._map._getUIString(`AttributionControl.${ae}`);P.title=xe,P.setAttribute("aria-label",xe)}_updateAttributions(){if(!this._map.style)return;let P=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?P=P.concat(this.options.customAttribution.map(Te=>typeof Te!="string"?"":Te)):typeof this.options.customAttribution=="string"&&P.push(this.options.customAttribution)),this._map.style.stylesheet){let Te=this._map.style.stylesheet;this.styleOwner=Te.owner,this.styleId=Te.id}let ae=this._map.style.sourceCaches;for(let Te in ae){let Oe=ae[Te];if(Oe.used||Oe.usedForTerrain){let ht=Oe.getSource();ht.attribution&&P.indexOf(ht.attribution)<0&&P.push(ht.attribution)}}P=P.filter(Te=>String(Te).trim()),P.sort((Te,Oe)=>Te.length-Oe.length),P=P.filter((Te,Oe)=>{for(let ht=Oe+1;ht=0)return!1;return!0});let xe=P.join(" | ");xe!==this._attribHTML&&(this._attribHTML=xe,P.length?(this._innerContainer.innerHTML=xe,this._container.classList.remove("maplibregl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty"),this._updateCompact(),this._editLink=null)}}class Vn{constructor(P={}){this._updateCompact=()=>{let ae=this._container.children;if(ae.length){let xe=ae[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&xe.classList.add("maplibregl-compact"):xe.classList.remove("maplibregl-compact")}},this.options=P}getDefaultPosition(){return"bottom-left"}onAdd(P){this._map=P,this._compact=this.options&&this.options.compact,this._container=a.create("div","maplibregl-ctrl");let ae=a.create("a","maplibregl-ctrl-logo");return ae.target="_blank",ae.rel="noopener nofollow",ae.href="https://maplibre.org/",ae.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),ae.setAttribute("rel","noopener nofollow"),this._container.appendChild(ae),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){a.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}}class wn{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(P){let ae=++this._id;return this._queue.push({callback:P,id:ae,cancelled:!1}),ae}remove(P){let ae=this._currentlyRunning,xe=ae?this._queue.concat(ae):this._queue;for(let Te of xe)if(Te.id===P)return void(Te.cancelled=!0)}run(P=0){if(this._currentlyRunning)throw new Error("Attempting to run(), but is already running.");let ae=this._currentlyRunning=this._queue;this._queue=[];for(let xe of ae)if(!xe.cancelled&&(xe.callback(P),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var Oo=t.Y([{name:"a_pos3d",type:"Int16",components:3}]);class ps extends t.E{constructor(P){super(),this.sourceCache=P,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,P.usedForTerrain=!0,P.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(P,ae){this.sourceCache.update(P,ae),this._renderableTilesKeys=[];let xe={};for(let Te of P.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:ae}))xe[Te.key]=!0,this._renderableTilesKeys.push(Te.key),this._tiles[Te.key]||(Te.posMatrix=new Float64Array(16),t.aP(Te.posMatrix,0,t.X,0,t.X,0,1),this._tiles[Te.key]=new at(Te,this.tileSize));for(let Te in this._tiles)xe[Te]||delete this._tiles[Te]}freeRtt(P){for(let ae in this._tiles){let xe=this._tiles[ae];(!P||xe.tileID.equals(P)||xe.tileID.isChildOf(P)||P.isChildOf(xe.tileID))&&(xe.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(P=>this.getTileByID(P))}getTileByID(P){return this._tiles[P]}getTerrainCoords(P){let ae={};for(let xe of this._renderableTilesKeys){let Te=this._tiles[xe].tileID;if(Te.canonical.equals(P.canonical)){let Oe=P.clone();Oe.posMatrix=new Float64Array(16),t.aP(Oe.posMatrix,0,t.X,0,t.X,0,1),ae[xe]=Oe}else if(Te.canonical.isChildOf(P.canonical)){let Oe=P.clone();Oe.posMatrix=new Float64Array(16);let ht=Te.canonical.z-P.canonical.z,Tt=Te.canonical.x-(Te.canonical.x>>ht<>ht<>ht;t.aP(Oe.posMatrix,0,Qt,0,Qt,0,1),t.J(Oe.posMatrix,Oe.posMatrix,[-Tt*Qt,-Ot*Qt,0]),ae[xe]=Oe}else if(P.canonical.isChildOf(Te.canonical)){let Oe=P.clone();Oe.posMatrix=new Float64Array(16);let ht=P.canonical.z-Te.canonical.z,Tt=P.canonical.x-(P.canonical.x>>ht<>ht<>ht;t.aP(Oe.posMatrix,0,t.X,0,t.X,0,1),t.J(Oe.posMatrix,Oe.posMatrix,[Tt*Qt,Ot*Qt,0]),t.K(Oe.posMatrix,Oe.posMatrix,[1/2**ht,1/2**ht,0]),ae[xe]=Oe}}return ae}getSourceTile(P,ae){let xe=this.sourceCache._source,Te=P.overscaledZ-this.deltaZoom;if(Te>xe.maxzoom&&(Te=xe.maxzoom),Te=xe.minzoom&&(!Oe||!Oe.dem);)Oe=this.sourceCache.getTileByID(P.scaledTo(Te--).key);return Oe}tilesAfterTime(P=Date.now()){return Object.values(this._tiles).filter(ae=>ae.timeAdded>=P)}}class js{constructor(P,ae,xe){this.painter=P,this.sourceCache=new ps(ae),this.options=xe,this.exaggeration=typeof xe.exaggeration=="number"?xe.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(P,ae,xe,Te=t.X){var Oe;if(!(ae>=0&&ae=0&&xeP.canonical.z&&(P.canonical.z>=Te?Oe=P.canonical.z-Te:t.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));let ht=P.canonical.x-(P.canonical.x>>Oe<>Oe<>8<<4|Oe>>8,ae[ht+3]=0;let xe=new t.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(ae.buffer)),Te=new u(P,xe,P.gl.RGBA,{premultiply:!1});return Te.bind(P.gl.NEAREST,P.gl.CLAMP_TO_EDGE),this._coordsTexture=Te,Te}pointCoordinate(P){this.painter.maybeDrawDepthAndCoords(!0);let ae=new Uint8Array(4),xe=this.painter.context,Te=xe.gl,Oe=Math.round(P.x*this.painter.pixelRatio/devicePixelRatio),ht=Math.round(P.y*this.painter.pixelRatio/devicePixelRatio),Tt=Math.round(this.painter.height/devicePixelRatio);xe.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),Te.readPixels(Oe,Tt-ht-1,1,1,Te.RGBA,Te.UNSIGNED_BYTE,ae),xe.bindFramebuffer.set(null);let Ot=ae[0]+(ae[2]>>4<<8),Qt=ae[1]+((15&ae[2])<<8),Ar=this.coordsIndex[255-ae[3]],Sr=Ar&&this.sourceCache.getTileByID(Ar);if(!Sr)return null;let Kr=this._coordsTextureSize,oi=(1<P.id!==ae),this._recentlyUsed.push(P.id)}stampObject(P){P.stamp=++this._stamp}getOrCreateFreeObject(){for(let ae of this._recentlyUsed)if(!this._objects[ae].inUse)return this._objects[ae];if(this._objects.length>=this._size)throw new Error("No free RenderPool available, call freeAllObjects() required!");let P=this._createObject(this._objects.length);return this._objects.push(P),P}freeObject(P){P.inUse=!1}freeAllObjects(){for(let P of this._objects)this.freeObject(P)}isFull(){return!(this._objects.length!P.inUse)===!1}}let Qs={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class hl{constructor(P,ae){this.painter=P,this.terrain=ae,this.pool=new pl(P.context,30,ae.sourceCache.tileSize*ae.qualityFactor)}destruct(){this.pool.destruct()}getTexture(P){return this.pool.getObjectForId(P.rtt[this._stacks.length-1].id).texture}prepareForRender(P,ae){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=P._order.filter(xe=>!P._layers[xe].isHidden(ae)),this._coordsDescendingInv={};for(let xe in P.sourceCaches){this._coordsDescendingInv[xe]={};let Te=P.sourceCaches[xe].getVisibleCoordinates();for(let Oe of Te){let ht=this.terrain.sourceCache.getTerrainCoords(Oe);for(let Tt in ht)this._coordsDescendingInv[xe][Tt]||(this._coordsDescendingInv[xe][Tt]=[]),this._coordsDescendingInv[xe][Tt].push(ht[Tt])}}this._coordsDescendingInvStr={};for(let xe of P._order){let Te=P._layers[xe],Oe=Te.source;if(Qs[Te.type]&&!this._coordsDescendingInvStr[Oe]){this._coordsDescendingInvStr[Oe]={};for(let ht in this._coordsDescendingInv[Oe])this._coordsDescendingInvStr[Oe][ht]=this._coordsDescendingInv[Oe][ht].map(Tt=>Tt.key).sort().join()}}for(let xe of this._renderableTiles)for(let Te in this._coordsDescendingInvStr){let Oe=this._coordsDescendingInvStr[Te][xe.tileID.key];Oe&&Oe!==xe.rttCoords[Te]&&(xe.rtt=[])}}renderLayer(P){if(P.isHidden(this.painter.transform.zoom))return!1;let ae=P.type,xe=this.painter,Te=this._renderableLayerIds[this._renderableLayerIds.length-1]===P.id;if(Qs[ae]&&(this._prevType&&Qs[this._prevType]||this._stacks.push([]),this._prevType=ae,this._stacks[this._stacks.length-1].push(P.id),!Te))return!0;if(Qs[this._prevType]||Qs[ae]&&Te){this._prevType=ae;let Oe=this._stacks.length-1,ht=this._stacks[Oe]||[];for(let Tt of this._renderableTiles){if(this.pool.isFull()&&(Ll(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(Tt),Tt.rtt[Oe]){let Qt=this.pool.getObjectForId(Tt.rtt[Oe].id);if(Qt.stamp===Tt.rtt[Oe].stamp){this.pool.useObject(Qt);continue}}let Ot=this.pool.getOrCreateFreeObject();this.pool.useObject(Ot),this.pool.stampObject(Ot),Tt.rtt[Oe]={id:Ot.id,stamp:Ot.stamp},xe.context.bindFramebuffer.set(Ot.fbo.framebuffer),xe.context.clear({color:t.aM.transparent,stencil:0}),xe.currentStencilSource=void 0;for(let Qt=0;Qt{Ue.touchstart=Ue.dragStart,Ue.touchmoveWindow=Ue.dragMove,Ue.touchend=Ue.dragEnd},io={showCompass:!0,showZoom:!0,visualizePitch:!1};class Jo{constructor(P,ae,xe=!1){this.mousedown=ht=>{this.startMouse(t.e({},ht,{ctrlKey:!0,preventDefault:()=>ht.preventDefault()}),a.mousePos(this.element,ht)),a.addEventListener(window,"mousemove",this.mousemove),a.addEventListener(window,"mouseup",this.mouseup)},this.mousemove=ht=>{this.moveMouse(ht,a.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=a.touchPos(this.element,ht.targetTouches)[0],this.startTouch(ht,this._startPos),a.addEventListener(window,"touchmove",this.touchmove,{passive:!1}),a.addEventListener(window,"touchend",this.touchend))},this.touchmove=ht=>{ht.targetTouches.length!==1?this.reset():(this._lastPos=a.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 Te=P.dragRotate._mouseRotate.getClickTolerance(),Oe=P.dragRotate._mousePitch.getClickTolerance();this.element=ae,this.mouseRotate=du({clickTolerance:Te,enable:!0}),this.touchRotate=(({enable:ht,clickTolerance:Tt,bearingDegreesPerPixelMoved:Ot=.8})=>{let Qt=new ef;return new Ju({clickTolerance:Tt,move:(Ar,Sr)=>({bearingDelta:(Sr.x-Ar.x)*Ot}),moveStateManager:Qt,enable:ht,assignEvents:wl})})({clickTolerance:Te,enable:!0}),this.map=P,xe&&(this.mousePitch=Nf({clickTolerance:Oe,enable:!0}),this.touchPitch=(({enable:ht,clickTolerance:Tt,pitchDegreesPerPixelMoved:Ot=-.5})=>{let Qt=new ef;return new Ju({clickTolerance:Tt,move:(Ar,Sr)=>({pitchDelta:(Sr.y-Ar.y)*Ot}),moveStateManager:Qt,enable:ht,assignEvents:wl})})({clickTolerance:Oe,enable:!0})),a.addEventListener(ae,"mousedown",this.mousedown),a.addEventListener(ae,"touchstart",this.touchstart,{passive:!1}),a.addEventListener(ae,"touchcancel",this.reset)}startMouse(P,ae){this.mouseRotate.dragStart(P,ae),this.mousePitch&&this.mousePitch.dragStart(P,ae),a.disableDrag()}startTouch(P,ae){this.touchRotate.dragStart(P,ae),this.touchPitch&&this.touchPitch.dragStart(P,ae),a.disableDrag()}moveMouse(P,ae){let xe=this.map,{bearingDelta:Te}=this.mouseRotate.dragMove(P,ae)||{};if(Te&&xe.setBearing(xe.getBearing()+Te),this.mousePitch){let{pitchDelta:Oe}=this.mousePitch.dragMove(P,ae)||{};Oe&&xe.setPitch(xe.getPitch()+Oe)}}moveTouch(P,ae){let xe=this.map,{bearingDelta:Te}=this.touchRotate.dragMove(P,ae)||{};if(Te&&xe.setBearing(xe.getBearing()+Te),this.touchPitch){let{pitchDelta:Oe}=this.touchPitch.dragMove(P,ae)||{};Oe&&xe.setPitch(xe.getPitch()+Oe)}}off(){let P=this.element;a.removeEventListener(P,"mousedown",this.mousedown),a.removeEventListener(P,"touchstart",this.touchstart,{passive:!1}),a.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),a.removeEventListener(window,"touchend",this.touchend),a.removeEventListener(P,"touchcancel",this.reset),this.offTemp()}offTemp(){a.enableDrag(),a.removeEventListener(window,"mousemove",this.mousemove),a.removeEventListener(window,"mouseup",this.mouseup),a.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),a.removeEventListener(window,"touchend",this.touchend)}}let cl;function Zs(Ue,P,ae){let xe=new t.N(Ue.lng,Ue.lat);if(Ue=new t.N(Ue.lng,Ue.lat),P){let Te=new t.N(Ue.lng-360,Ue.lat),Oe=new t.N(Ue.lng+360,Ue.lat),ht=ae.locationPoint(Ue).distSqr(P);ae.locationPoint(Te).distSqr(P)180;){let Te=ae.locationPoint(Ue);if(Te.x>=0&&Te.y>=0&&Te.x<=ae.width&&Te.y<=ae.height)break;Ue.lng>ae.center.lng?Ue.lng-=360:Ue.lng+=360}return Ue.lng!==xe.lng&&ae.locationPoint(Ue).y>ae.height/2-ae.getHorizon()?Ue:xe}let gu={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 Nu(Ue,P,ae){let xe=Ue.classList;for(let Te in gu)xe.remove(`maplibregl-${ae}-anchor-${Te}`);xe.add(`maplibregl-${ae}-anchor-${P}`)}class tc extends t.E{constructor(P){if(super(),this._onKeyPress=ae=>{let xe=ae.code,Te=ae.charCode||ae.keyCode;xe!=="Space"&&xe!=="Enter"&&Te!==32&&Te!==13||this.togglePopup()},this._onMapClick=ae=>{let xe=ae.originalEvent.target,Te=this._element;this._popup&&(xe===Te||Te.contains(xe))&&this.togglePopup()},this._update=ae=>{var xe;if(!this._map)return;let Te=this._map.loaded()&&!this._map.isMoving();(ae?.type==="terrain"||ae?.type==="render"&&!Te)&&this._map.once("render",this._update),this._lngLat=this._map.transform.renderWorldCopies?Zs(this._lngLat,this._flatPos,this._map.transform):(xe=this._lngLat)===null||xe===void 0?void 0:xe.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 Oe="";this._rotationAlignment==="viewport"||this._rotationAlignment==="auto"?Oe=`rotateZ(${this._rotation}deg)`:this._rotationAlignment==="map"&&(Oe=`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||ae&&ae.type!=="moveend"||(this._pos=this._pos.round()),a.setTransform(this._element,`${gu[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${ht} ${Oe}`),n.frameAsync(new AbortController).then(()=>{this._updateOpacity(ae&&ae.type==="moveend")}).catch(()=>{})},this._onMove=ae=>{if(!this._isDragging){let xe=this._clickTolerance||this._map._clickTolerance;this._isDragging=ae.point.dist(this._pointerdownPos)>=xe}this._isDragging&&(this._pos=ae.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=ae=>{this._element.contains(ae.originalEvent.target)&&(ae.preventDefault(),this._positionDelta=ae.point.sub(this._pos).add(this._offset),this._pointerdownPos=ae.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=P&&P.anchor||"center",this._color=P&&P.color||"#3FB1CE",this._scale=P&&P.scale||1,this._draggable=P&&P.draggable||!1,this._clickTolerance=P&&P.clickTolerance||0,this._subpixelPositioning=P&&P.subpixelPositioning||!1,this._isDragging=!1,this._state="inactive",this._rotation=P&&P.rotation||0,this._rotationAlignment=P&&P.rotationAlignment||"auto",this._pitchAlignment=P&&P.pitchAlignment&&P.pitchAlignment!=="auto"?P.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(P?.opacity,P?.opacityWhenCovered),P&&P.element)this._element=P.element,this._offset=t.P.convert(P&&P.offset||[0,0]);else{this._defaultMarker=!0,this._element=a.create("div");let ae=a.createNS("http://www.w3.org/2000/svg","svg"),xe=41,Te=27;ae.setAttributeNS(null,"display","block"),ae.setAttributeNS(null,"height",`${xe}px`),ae.setAttributeNS(null,"width",`${Te}px`),ae.setAttributeNS(null,"viewBox",`0 0 ${Te} ${xe}`);let Oe=a.createNS("http://www.w3.org/2000/svg","g");Oe.setAttributeNS(null,"stroke","none"),Oe.setAttributeNS(null,"stroke-width","1"),Oe.setAttributeNS(null,"fill","none"),Oe.setAttributeNS(null,"fill-rule","evenodd");let ht=a.createNS("http://www.w3.org/2000/svg","g");ht.setAttributeNS(null,"fill-rule","nonzero");let Tt=a.createNS("http://www.w3.org/2000/svg","g");Tt.setAttributeNS(null,"transform","translate(3.0, 29.0)"),Tt.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 dt of Ot){let Ct=a.createNS("http://www.w3.org/2000/svg","ellipse");Ct.setAttributeNS(null,"opacity","0.04"),Ct.setAttributeNS(null,"cx","10.5"),Ct.setAttributeNS(null,"cy","5.80029008"),Ct.setAttributeNS(null,"rx",dt.rx),Ct.setAttributeNS(null,"ry",dt.ry),Tt.appendChild(Ct)}let Qt=a.createNS("http://www.w3.org/2000/svg","g");Qt.setAttributeNS(null,"fill",this._color);let Ar=a.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"),Qt.appendChild(Ar);let Sr=a.createNS("http://www.w3.org/2000/svg","g");Sr.setAttributeNS(null,"opacity","0.25"),Sr.setAttributeNS(null,"fill","#000000");let Kr=a.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 oi=a.createNS("http://www.w3.org/2000/svg","g");oi.setAttributeNS(null,"transform","translate(6.0, 7.0)"),oi.setAttributeNS(null,"fill","#FFFFFF");let Ge=a.createNS("http://www.w3.org/2000/svg","g");Ge.setAttributeNS(null,"transform","translate(8.0, 8.0)");let Ze=a.createNS("http://www.w3.org/2000/svg","circle");Ze.setAttributeNS(null,"fill","#000000"),Ze.setAttributeNS(null,"opacity","0.25"),Ze.setAttributeNS(null,"cx","5.5"),Ze.setAttributeNS(null,"cy","5.5"),Ze.setAttributeNS(null,"r","5.4999962");let ot=a.createNS("http://www.w3.org/2000/svg","circle");ot.setAttributeNS(null,"fill","#FFFFFF"),ot.setAttributeNS(null,"cx","5.5"),ot.setAttributeNS(null,"cy","5.5"),ot.setAttributeNS(null,"r","5.4999962"),Ge.appendChild(Ze),Ge.appendChild(ot),ht.appendChild(Tt),ht.appendChild(Qt),ht.appendChild(Sr),ht.appendChild(oi),ht.appendChild(Ge),ae.appendChild(ht),ae.setAttributeNS(null,"height",xe*this._scale+"px"),ae.setAttributeNS(null,"width",Te*this._scale+"px"),this._element.appendChild(ae),this._offset=t.P.convert(P&&P.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",ae=>{ae.preventDefault()}),this._element.addEventListener("mousedown",ae=>{ae.preventDefault()}),Nu(this._element,this._anchor,"marker"),P&&P.className)for(let ae of P.className.split(" "))this._element.classList.add(ae);this._popup=null}addTo(P){return this.remove(),this._map=P,this._element.setAttribute("aria-label",P._getUIString("Marker.Title")),P.getCanvasContainer().appendChild(this._element),P.on("move",this._update),P.on("moveend",this._update),P.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),a.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(P){return this._lngLat=t.N.convert(P),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(P){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),P){if(!("offset"in P.options)){let Te=Math.abs(13.5)/Math.SQRT2;P.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[Te,-1*(38.1-13.5+Te)],"bottom-right":[-Te,-1*(38.1-13.5+Te)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=P,this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}setSubpixelPositioning(P){return this._subpixelPositioning=P,this}getPopup(){return this._popup}togglePopup(){let P=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:P?(P.isOpen()?P.remove():(P.setLngLat(this._lngLat),P.addTo(this._map)),this):this}_updateOpacity(P=!1){var ae,xe;if(!(!((ae=this._map)===null||ae===void 0)&&ae.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(P)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}let Te=this._map,Oe=Te.terrain.depthAtPoint(this._pos),ht=Te.terrain.getElevationForLngLatZoom(this._lngLat,Te.transform.tileZoom);if(Te.transform.lngLatToCameraDepth(this._lngLat,ht)-Oe<.006)return void(this._element.style.opacity=this._opacity);let Tt=-this._offset.y/Te.transform._pixelPerMeter,Ot=Math.sin(Te.getPitch()*Math.PI/180)*Tt,Qt=Te.terrain.depthAtPoint(new t.P(this._pos.x,this._pos.y-this._offset.y)),Ar=Te.transform.lngLatToCameraDepth(this._lngLat,ht+Ot)-Qt>.006;!((xe=this._popup)===null||xe===void 0)&&xe.isOpen()&&Ar&&this._popup.remove(),this._element.style.opacity=Ar?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(P){return this._offset=t.P.convert(P),this._update(),this}addClassName(P){this._element.classList.add(P)}removeClassName(P){this._element.classList.remove(P)}toggleClassName(P){return this._element.classList.toggle(P)}setDraggable(P){return this._draggable=!!P,this._map&&(P?(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(P){return this._rotation=P||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(P){return this._rotationAlignment=P||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(P){return this._pitchAlignment=P&&P!=="auto"?P:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(P,ae){return P===void 0&&ae===void 0&&(this._opacity="1",this._opacityWhenCovered="0.2"),P!==void 0&&(this._opacity=P),ae!==void 0&&(this._opacityWhenCovered=ae),this._map&&this._updateOpacity(!0),this}}let Bc={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},Lu=0,Oc=!1,Pu={maxWidth:100,unit:"metric"};function wc(Ue,P,ae){let xe=ae&&ae.maxWidth||100,Te=Ue._container.clientHeight/2,Oe=Ue.unproject([0,Te]),ht=Ue.unproject([xe,Te]),Tt=Oe.distanceTo(ht);if(ae&&ae.unit==="imperial"){let Ot=3.2808*Tt;Ot>5280?Po(P,xe,Ot/5280,Ue._getUIString("ScaleControl.Miles")):Po(P,xe,Ot,Ue._getUIString("ScaleControl.Feet"))}else ae&&ae.unit==="nautical"?Po(P,xe,Tt/1852,Ue._getUIString("ScaleControl.NauticalMiles")):Tt>=1e3?Po(P,xe,Tt/1e3,Ue._getUIString("ScaleControl.Kilometers")):Po(P,xe,Tt,Ue._getUIString("ScaleControl.Meters"))}function Po(Ue,P,ae,xe){let Te=function(Oe){let ht=Math.pow(10,`${Math.floor(Oe)}`.length-1),Tt=Oe/ht;return Tt=Tt>=10?10:Tt>=5?5:Tt>=3?3:Tt>=2?2:Tt>=1?1:function(Ot){let Qt=Math.pow(10,Math.ceil(-Math.log(Ot)/Math.LN10));return Math.round(Ot*Qt)/Qt}(Tt),ht*Tt}(ae);Ue.style.width=P*(Te/ae)+"px",Ue.innerHTML=`${Te} ${xe}`}let es={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",subpixelPositioning:!1},Nc=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function hc(Ue){if(Ue){if(typeof Ue=="number"){let P=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(P,P),"top-right":new t.P(-P,P),bottom:new t.P(0,-Ue),"bottom-left":new t.P(P,-P),"bottom-right":new t.P(-P,-P),left:new t.P(Ue,0),right:new t.P(-Ue,0)}}if(Ue instanceof t.P||Array.isArray(Ue)){let P=t.P.convert(Ue);return{center:P,top:P,"top-left":P,"top-right":P,bottom:P,"bottom-left":P,"bottom-right":P,left:P,right:P}}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 hc(new t.P(0,0))}let rc=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=Io,e.BoxZoomHandler=Ou,e.CanvasSource=et,e.CooperativeGesturesHandler=qa,e.DoubleClickZoomHandler=pa,e.DragPanHandler=hn,e.DragRotateHandler=Ln,e.EdgeInsets=Eu,e.FullscreenControl=class extends t.E{constructor(Ue={}){super(),this._onFullscreenChange=()=>{var P;let ae=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;!((P=ae?.shadowRoot)===null||P===void 0)&&P.fullscreenElement;)ae=ae.shadowRoot.fullscreenElement;ae===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=a.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),this._controlContainer}onRemove(){a.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let Ue=this._fullscreenButton=a.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);a.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=P=>{if(this._map){if(this._isOutOfMapMaxBounds(P))return this._setErrorState(),this.fire(new t.k("outofmaxbounds",P)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=P,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(P),this.options.trackUserLocation&&this._watchState!=="ACTIVE_LOCK"||this._updateCamera(P),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new t.k("geolocate",P)),this._finish()}},this._updateCamera=P=>{let ae=new t.N(P.coords.longitude,P.coords.latitude),xe=P.coords.accuracy,Te=this._map.getBearing(),Oe=t.e({bearing:Te},this.options.fitBoundsOptions),ht=re.fromLngLat(ae,xe);this._map.fitBounds(ht,Oe,{geolocateSource:!0})},this._updateMarker=P=>{if(P){let ae=new t.N(P.coords.longitude,P.coords.latitude);this._accuracyCircleMarker.setLngLat(ae).addTo(this._map),this._userLocationDotMarker.setLngLat(ae).addTo(this._map),this._accuracy=P.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=P=>{if(this._map){if(this.options.trackUserLocation)if(P.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 ae=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=ae,this._geolocateButton.setAttribute("aria-label",ae),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(P.code===3&&Oc)return;this._setErrorState()}this._watchState!=="OFF"&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new t.k("error",P)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener("contextmenu",P=>P.preventDefault()),this._geolocateButton=a.create("button","maplibregl-ctrl-geolocate",this._container),a.create("span","maplibregl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",this._geolocateButton.disabled=!0)},this._finishSetupUI=P=>{if(this._map){if(P===!1){t.w("Geolocation support is not available so the GeolocateControl will be disabled.");let ae=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=ae,this._geolocateButton.setAttribute("aria-label",ae)}else{let ae=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.disabled=!1,this._geolocateButton.title=ae,this._geolocateButton.setAttribute("aria-label",ae)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=a.create("div","maplibregl-user-location-dot"),this._userLocationDotMarker=new tc({element:this._dotElement}),this._circleElement=a.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new tc({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",ae=>{ae.geolocateSource||this._watchState!=="ACTIVE_LOCK"||ae.originalEvent&&ae.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({},Bc,Ue)}onAdd(Ue){return this._map=Ue,this._container=a.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),function(){return t._(this,arguments,void 0,function*(P=!1){if(cl!==void 0&&!P)return cl;if(window.navigator.permissions===void 0)return cl=!!window.navigator.geolocation,cl;try{cl=(yield window.navigator.permissions.query({name:"geolocation"})).state!=="denied"}catch{cl=!!window.navigator.geolocation}return cl})}().then(P=>this._finishSetupUI(P)),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(),a.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,Lu=0,Oc=!1}_isOutOfMapMaxBounds(Ue){let P=this._map.getMaxBounds(),ae=Ue.coords;return P&&(ae.longitudeP.getEast()||ae.latitudeP.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(),P=Ue.getSouthEast(),ae=Ue.getNorthEast(),xe=P.distanceTo(ae),Te=Math.ceil(this._accuracy/(xe/this._map._container.clientHeight)*2);this._circleElement.style.width=`${Te}px`,this._circleElement.style.height=`${Te}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":Lu--,Oc=!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"),Lu++,Lu>1?(Ue={maximumAge:6e5,timeout:0},Oc=!0):(Ue=this.options.positionOptions,Oc=!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=Yf,e.ImageSource=tt,e.KeyboardHandler=wr,e.LngLatBounds=re,e.LogoControl=Vn,e.Map=class extends wo{constructor(Ue){t.bf.mark(t.bg.create);let P=Object.assign(Object.assign({},Il),Ue);if(P.minZoom!=null&&P.maxZoom!=null&&P.minZoom>P.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(P.minPitch!=null&&P.maxPitch!=null&&P.minPitch>P.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(P.minPitch!=null&&P.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(P.maxPitch!=null&&P.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(super(new Nl(P.minZoom,P.maxZoom,P.minPitch,P.maxPitch,P.renderWorldCopies),{bearingSnap:P.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new wn,this._controls=[],this._mapId=t.a4(),this._contextLost=ae=>{ae.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new t.k("webglcontextlost",{originalEvent:ae}))},this._contextRestored=ae=>{this._setupPainter(),this.resize(),this._update(),this.fire(new t.k("webglcontextrestored",{originalEvent:ae}))},this._onMapScroll=ae=>{if(ae.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=P.interactive,this._maxTileCacheSize=P.maxTileCacheSize,this._maxTileCacheZoomLevels=P.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=P.failIfMajorPerformanceCaveat===!0,this._preserveDrawingBuffer=P.preserveDrawingBuffer===!0,this._antialias=P.antialias===!0,this._trackResize=P.trackResize===!0,this._bearingSnap=P.bearingSnap,this._refreshExpiredTiles=P.refreshExpiredTiles===!0,this._fadeDuration=P.fadeDuration,this._crossSourceCollisions=P.crossSourceCollisions===!0,this._collectResourceTiming=P.collectResourceTiming===!0,this._locale=Object.assign(Object.assign({},Bs),P.locale),this._clickTolerance=P.clickTolerance,this._overridePixelRatio=P.pixelRatio,this._maxCanvasSize=P.maxCanvasSize,this.transformCameraUpdate=P.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=P.cancelPendingTileRequestsWhileZooming===!0,this._imageQueueHandle=l.addThrottleControl(()=>this.isMoving()),this._requestManager=new _(P.transformRequest),typeof P.container=="string"){if(this._container=document.getElementById(P.container),!this._container)throw new Error(`Container '${P.container}' not found.`)}else{if(!(P.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=P.container}if(P.maxBounds&&this.setMaxBounds(P.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 ae=!1,xe=Of(Te=>{this._trackResize&&!this._removed&&(this.resize(Te),this.redraw())},50);this._resizeObserver=new ResizeObserver(Te=>{ae?xe(Te):ae=!0}),this._resizeObserver.observe(this._container)}this.handlers=new go(this,P),this._hash=P.hash&&new Yf(typeof P.hash=="string"&&P.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:P.center,zoom:P.zoom,bearing:P.bearing,pitch:P.pitch}),P.bounds&&(this.resize(),this.fitBounds(P.bounds,t.e({},P.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=P.localIdeographFontFamily,this._validateStyle=P.validateStyle,P.style&&this.setStyle(P.style,{localIdeographFontFamily:P.localIdeographFontFamily}),P.attributionControl&&this.addControl(new Io(typeof P.attributionControl=="boolean"?void 0:P.attributionControl)),P.maplibreLogo&&this.addControl(new Vn,P.logoPosition),this.on("style.load",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on("data",ae=>{this._update(ae.dataType==="style"),this.fire(new t.k(`${ae.dataType}data`,ae))}),this.on("dataloading",ae=>{this.fire(new t.k(`${ae.dataType}dataloading`,ae))}),this.on("dataabort",ae=>{this.fire(new t.k("sourcedataabort",ae))})}_getMapId(){return this._mapId}addControl(Ue,P){if(P===void 0&&(P=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 ae=Ue.onAdd(this);this._controls.push(Ue);let xe=this._controlPositions[P];return P.indexOf("bottom")!==-1?xe.insertBefore(ae,xe.firstChild):xe.appendChild(ae),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 P=this._controls.indexOf(Ue);return P>-1&&this._controls.splice(P,1),Ue.onRemove(this),this}hasControl(Ue){return this._controls.indexOf(Ue)>-1}calculateCameraOptionsFromTo(Ue,P,ae,xe){return xe==null&&this.terrain&&(xe=this.terrain.getElevationForLngLatZoom(ae,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(Ue,P,ae,xe)}resize(Ue){var P;let ae=this._containerDimensions(),xe=ae[0],Te=ae[1],Oe=this._getClampedPixelRatio(xe,Te);if(this._resizeCanvas(xe,Te,Oe),this.painter.resize(xe,Te,Oe),this.painter.overLimit()){let Tt=this.painter.context.gl;this._maxCanvasSize=[Tt.drawingBufferWidth,Tt.drawingBufferHeight];let Ot=this._getClampedPixelRatio(xe,Te);this._resizeCanvas(xe,Te,Ot),this.painter.resize(xe,Te,Ot)}this.transform.resize(xe,Te),(P=this._requestedCameraState)===null||P===void 0||P.resize(xe,Te);let ht=!this._moving;return ht&&(this.stop(),this.fire(new t.k("movestart",Ue)).fire(new t.k("move",Ue))),this.fire(new t.k("resize",Ue)),ht&&this.fire(new t.k("moveend",Ue)),this}_getClampedPixelRatio(Ue,P){let{0:ae,1:xe}=this._maxCanvasSize,Te=this.getPixelRatio(),Oe=Ue*Te,ht=P*Te;return Math.min(Oe>ae?ae/Oe:1,ht>xe?xe/ht:1)*Te}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,P,ae){if(Ue==="mouseenter"||Ue==="mouseover"){let xe=!1;return{layers:P,listener:ae,delegates:{mousemove:Oe=>{let ht=P.filter(Ot=>this.getLayer(Ot)),Tt=ht.length!==0?this.queryRenderedFeatures(Oe.point,{layers:ht}):[];Tt.length?xe||(xe=!0,ae.call(this,new hu(Ue,this,Oe.originalEvent,{features:Tt}))):xe=!1},mouseout:()=>{xe=!1}}}}if(Ue==="mouseleave"||Ue==="mouseout"){let xe=!1;return{layers:P,listener:ae,delegates:{mousemove:ht=>{let Tt=P.filter(Ot=>this.getLayer(Ot));(Tt.length!==0?this.queryRenderedFeatures(ht.point,{layers:Tt}):[]).length?xe=!0:xe&&(xe=!1,ae.call(this,new hu(Ue,this,ht.originalEvent)))},mouseout:ht=>{xe&&(xe=!1,ae.call(this,new hu(Ue,this,ht.originalEvent)))}}}}{let xe=Te=>{let Oe=P.filter(Tt=>this.getLayer(Tt)),ht=Oe.length!==0?this.queryRenderedFeatures(Te.point,{layers:Oe}):[];ht.length&&(Te.features=ht,ae.call(this,Te),delete Te.features)};return{layers:P,listener:ae,delegates:{[Ue]:xe}}}}_saveDelegatedListener(Ue,P){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[Ue]=this._delegatedListeners[Ue]||[],this._delegatedListeners[Ue].push(P)}_removeDelegatedListener(Ue,P,ae){if(!this._delegatedListeners||!this._delegatedListeners[Ue])return;let xe=this._delegatedListeners[Ue];for(let Te=0;TeP.includes(ht))){for(let ht in Oe.delegates)this.off(ht,Oe.delegates[ht]);return void xe.splice(Te,1)}}}on(Ue,P,ae){if(ae===void 0)return super.on(Ue,P);let xe=this._createDelegatedListener(Ue,typeof P=="string"?[P]:P,ae);this._saveDelegatedListener(Ue,xe);for(let Te in xe.delegates)this.on(Te,xe.delegates[Te]);return this}once(Ue,P,ae){if(ae===void 0)return super.once(Ue,P);let xe=typeof P=="string"?[P]:P,Te=this._createDelegatedListener(Ue,xe,ae);for(let Oe in Te.delegates){let ht=Te.delegates[Oe];Te.delegates[Oe]=(...Tt)=>{this._removeDelegatedListener(Ue,xe,ae),ht(...Tt)}}this._saveDelegatedListener(Ue,Te);for(let Oe in Te.delegates)this.once(Oe,Te.delegates[Oe]);return this}off(Ue,P,ae){return ae===void 0?super.off(Ue,P):(this._removeDelegatedListener(Ue,typeof P=="string"?[P]:P,ae),this)}queryRenderedFeatures(Ue,P){if(!this.style)return[];let ae,xe=Ue instanceof t.P||Array.isArray(Ue),Te=xe?Ue:[[0,0],[this.transform.width,this.transform.height]];if(P=P||(xe?{}:Ue)||{},Te instanceof t.P||typeof Te[0]=="number")ae=[t.P.convert(Te)];else{let Oe=t.P.convert(Te[0]),ht=t.P.convert(Te[1]);ae=[Oe,new t.P(ht.x,Oe.y),ht,new t.P(Oe.x,ht.y),Oe]}return this.style.queryRenderedFeatures(ae,P,this.transform)}querySourceFeatures(Ue,P){return this.style.querySourceFeatures(Ue,P)}setStyle(Ue,P){return(P=t.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},P)).diff!==!1&&P.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&Ue?(this._diffStyle(Ue,P),this):(this._localIdeographFontFamily=P.localIdeographFontFamily,this._updateStyle(Ue,P))}setTransformRequest(Ue){return this._requestManager.setTransformRequest(Ue),this}_getUIString(Ue){let P=this._locale[Ue];if(P==null)throw new Error(`Missing UI string '${Ue}'`);return P}_updateStyle(Ue,P){if(P.transformStyle&&this.style&&!this.style._loaded)return void this.style.once("style.load",()=>this._updateStyle(Ue,P));let ae=this.style&&P.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!Ue)),Ue?(this.style=new Rr(this,P||{}),this.style.setEventedParent(this,{style:this.style}),typeof Ue=="string"?this.style.loadURL(Ue,P,ae):this.style.loadJSON(Ue,P,ae),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new Rr(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(Ue,P){if(typeof Ue=="string"){let ae=this._requestManager.transformRequest(Ue,"Style");t.h(ae,new AbortController).then(xe=>{this._updateDiff(xe.data,P)}).catch(xe=>{xe&&this.fire(new t.j(xe))})}else typeof Ue=="object"&&this._updateDiff(Ue,P)}_updateDiff(Ue,P){try{this.style.setState(Ue,P)&&this._update(!0)}catch(ae){t.w(`Unable to perform style diff: ${ae.message||ae.error||ae}. Rebuilding the style from scratch.`),this._updateStyle(Ue,P)}}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,P){return this._lazyInitEmptyStyle(),this.style.addSource(Ue,P),this._update(!0)}isSourceLoaded(Ue){let P=this.style&&this.style.sourceCaches[Ue];if(P!==void 0)return P.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 P=this.style.sourceCaches[Ue.source];if(!P)throw new Error(`cannot load terrain, because there exists no source with ID: ${Ue.source}`);this.terrain===null&&P.reload();for(let ae in this.style._layers){let xe=this.style._layers[ae];xe.type==="hillshade"&&xe.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 js(this.painter,P,Ue),this.painter.renderToTexture=new hl(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=ae=>{ae.dataType==="style"?this.terrain.sourceCache.freeRtt():ae.dataType==="source"&&ae.tile&&(ae.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(ae.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,P;return(P=(Ue=this.terrain)===null||Ue===void 0?void 0:Ue.options)!==null&&P!==void 0?P:null}areTilesLoaded(){let Ue=this.style&&this.style.sourceCaches;for(let P in Ue){let ae=Ue[P]._tiles;for(let xe in ae){let Te=ae[xe];if(Te.state!=="loaded"&&Te.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,P,ae={}){let{pixelRatio:xe=1,sdf:Te=!1,stretchX:Oe,stretchY:ht,content:Tt,textFitWidth:Ot,textFitHeight:Qt}=ae;if(this._lazyInitEmptyStyle(),!(P instanceof HTMLImageElement||t.b(P))){if(P.width===void 0||P.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}=P,oi=P;return this.style.addImage(Ue,{data:new t.R({width:Ar,height:Sr},new Uint8Array(Kr)),pixelRatio:xe,stretchX:Oe,stretchY:ht,content:Tt,textFitWidth:Ot,textFitHeight:Qt,sdf:Te,version:0,userImage:oi}),oi.onAdd&&oi.onAdd(this,Ue),this}}{let{width:Ar,height:Sr,data:Kr}=n.getImageData(P);this.style.addImage(Ue,{data:new t.R({width:Ar,height:Sr},Kr),pixelRatio:xe,stretchX:Oe,stretchY:ht,content:Tt,textFitWidth:Ot,textFitHeight:Qt,sdf:Te,version:0})}}updateImage(Ue,P){let ae=this.style.getImage(Ue);if(!ae)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 xe=P instanceof HTMLImageElement||t.b(P)?n.getImageData(P):P,{width:Te,height:Oe,data:ht}=xe;if(Te===void 0||Oe===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(Te!==ae.data.width||Oe!==ae.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 Tt=!(P instanceof HTMLImageElement||t.b(P));return ae.data.replace(ht,Tt),this.style.updateImage(Ue,ae),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,P){return this._lazyInitEmptyStyle(),this.style.addLayer(Ue,P),this._update(!0)}moveLayer(Ue,P){return this.style.moveLayer(Ue,P),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,P,ae){return this.style.setLayerZoomRange(Ue,P,ae),this._update(!0)}setFilter(Ue,P,ae={}){return this.style.setFilter(Ue,P,ae),this._update(!0)}getFilter(Ue){return this.style.getFilter(Ue)}setPaintProperty(Ue,P,ae,xe={}){return this.style.setPaintProperty(Ue,P,ae,xe),this._update(!0)}getPaintProperty(Ue,P){return this.style.getPaintProperty(Ue,P)}setLayoutProperty(Ue,P,ae,xe={}){return this.style.setLayoutProperty(Ue,P,ae,xe),this._update(!0)}getLayoutProperty(Ue,P){return this.style.getLayoutProperty(Ue,P)}setGlyphs(Ue,P={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(Ue,P),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(Ue,P,ae={}){return this._lazyInitEmptyStyle(),this.style.addSprite(Ue,P,ae,xe=>{xe||this._update(!0)}),this}removeSprite(Ue){return this._lazyInitEmptyStyle(),this.style.removeSprite(Ue),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(Ue,P={}){return this._lazyInitEmptyStyle(),this.style.setSprite(Ue,P,ae=>{ae||this._update(!0)}),this}setLight(Ue,P={}){return this._lazyInitEmptyStyle(),this.style.setLight(Ue,P),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,P){return this.style.setFeatureState(Ue,P),this._update()}removeFeatureState(Ue,P){return this.style.removeFeatureState(Ue,P),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,P=0;return this._container&&(Ue=this._container.clientWidth||400,P=this._container.clientHeight||300),[Ue,P]}_setupContainer(){let Ue=this._container;Ue.classList.add("maplibregl-map");let P=this._canvasContainer=a.create("div","maplibregl-canvas-container",Ue);this._interactive&&P.classList.add("maplibregl-interactive"),this._canvas=a.create("canvas","maplibregl-canvas",P),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 ae=this._containerDimensions(),xe=this._getClampedPixelRatio(ae[0],ae[1]);this._resizeCanvas(ae[0],ae[1],xe);let Te=this._controlContainer=a.create("div","maplibregl-control-container",Ue),Oe=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(ht=>{Oe[ht]=a.create("div",`maplibregl-ctrl-${ht} `,Te)}),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(Ue,P,ae){this._canvas.width=Math.floor(ae*Ue),this._canvas.height=Math.floor(ae*P),this._canvas.style.width=`${Ue}px`,this._canvas.style.height=`${P}px`}_setupPainter(){let Ue={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},P=null;this._canvas.addEventListener("webglcontextcreationerror",xe=>{P={requestedAttributes:Ue},xe&&(P.statusMessage=xe.statusMessage,P.type=xe.type)},{once:!0});let ae=this._canvas.getContext("webgl2",Ue)||this._canvas.getContext("webgl",Ue);if(!ae){let xe="Failed to initialize WebGL";throw P?(P.message=xe,new Error(JSON.stringify(P))):new Error(xe)}this.painter=new Ic(ae,this.transform),s.testSupport(ae)}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 P=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(Ue),this._removed)return;let ae=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let Te=this.transform.zoom,Oe=n.now();this.style.zoomHistory.update(Te,Oe);let ht=new t.z(Te,{now:Oe,fadeDuration:P,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),Tt=ht.crossFadingFactor();Tt===1&&Tt===this._crossFadingFactor||(ae=!0,this._crossFadingFactor=Tt),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,P,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:P,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()||ae)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let xe=this._sourcesDirty||this._styleDirty||this._placementDirty;return xe||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new t.k("idle")),!this._loaded||this._fullyLoaded||xe||(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 ae of this._controls)ae.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 P=this.painter.context.gl.getExtension("WEBGL_lose_context");P?.loseContext&&P.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),a.remove(this._canvasContainer),a.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 Wl}getCameraTargetElevation(){return this.transform.elevation}},e.MapMouseEvent=hu,e.MapTouchEvent=Qc,e.MapWheelEvent=nh,e.Marker=tc,e.NavigationControl=class{constructor(Ue){this._updateZoomButtons=()=>{let P=this._map.getZoom(),ae=P===this._map.getMaxZoom(),xe=P===this._map.getMinZoom();this._zoomInButton.disabled=ae,this._zoomOutButton.disabled=xe,this._zoomInButton.setAttribute("aria-disabled",ae.toString()),this._zoomOutButton.setAttribute("aria-disabled",xe.toString())},this._rotateCompassArrow=()=>{let P=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=P},this._setButtonTitle=(P,ae)=>{let xe=this._map._getUIString(`NavigationControl.${ae}`);P.title=xe,P.setAttribute("aria-label",xe)},this.options=t.e({},io,Ue),this._container=a.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",P=>P.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",P=>this._map.zoomIn({},{originalEvent:P})),a.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",P=>this._map.zoomOut({},{originalEvent:P})),a.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",P=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:P}):this._map.resetNorth({},{originalEvent:P})}),this._compassIcon=a.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 Jo(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){a.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,P){let ae=a.create("button",Ue,this._container);return ae.type="button",ae.addEventListener("click",P),ae}},e.Popup=class extends t.E{constructor(Ue){super(),this.remove=()=>(this._content&&a.remove(this._content),this._container&&(a.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=P=>{this._update(P.point)},this._onMouseMove=P=>{this._update(P.point)},this._onDrag=P=>{this._update(P.point)},this._update=P=>{var ae;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=a.create("div","maplibregl-popup",this._map.getContainer()),this._tip=a.create("div","maplibregl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className)for(let Tt of this.options.className.split(" "))this._container.classList.add(Tt);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?Zs(this._lngLat,this._flatPos,this._map.transform):(ae=this._lngLat)===null||ae===void 0?void 0:ae.wrap(),this._trackPointer&&!P)return;let xe=this._flatPos=this._pos=this._trackPointer&&P?P:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&P?P:this._map.transform.locationPoint(this._lngLat));let Te=this.options.anchor,Oe=hc(this.options.offset);if(!Te){let Tt=this._container.offsetWidth,Ot=this._container.offsetHeight,Qt;Qt=xe.y+Oe.bottom.ythis._map.transform.height-Ot?["bottom"]:[],xe.xthis._map.transform.width-Tt/2&&Qt.push("right"),Te=Qt.length===0?"bottom":Qt.join("-")}let ht=xe.add(Oe[Te]);this.options.subpixelPositioning||(ht=ht.round()),a.setTransform(this._container,`${gu[Te]} translate(${ht.x}px,${ht.y}px)`),Nu(this._container,Te,"popup")},this._onClose=()=>{this.remove()},this.options=t.e(Object.create(es),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 P=document.createDocumentFragment(),ae=document.createElement("body"),xe;for(ae.innerHTML=Ue;xe=ae.firstChild,xe;)P.appendChild(xe);return this.setDOMContent(P)}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=a.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=a.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(Nc);Ue&&Ue.focus()}},e.RasterDEMTileSource=Re,e.RasterTileSource=we,e.ScaleControl=class{constructor(Ue){this._onMove=()=>{wc(this._map,this._container,this.options)},this.setUnit=P=>{this.options.unit=P,wc(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},Pu),Ue)}getDefaultPosition(){return"bottom-left"}onAdd(Ue){return this._map=Ue,this._container=a.create("div","maplibregl-ctrl maplibregl-ctrl-scale",Ue.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){a.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}},e.ScrollZoomHandler=Fi,e.Style=Rr,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=a.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._terrainButton=a.create("button","maplibregl-ctrl-terrain",this._container),a.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(){a.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}},e.TwoFingersTouchPitchHandler=Fc,e.TwoFingersTouchRotateHandler=tf,e.TwoFingersTouchZoomHandler=Cu,e.TwoFingersTouchZoomRotateHandler=Na,e.VectorTileSource=_e,e.VideoSource=it,e.addSourceType=(Ue,P)=>t._(void 0,void 0,void 0,function*(){if(Ae(Ue))throw new Error(`A source type called "${Ue}" already exists.`);((ae,xe)=>{nt[ae]=xe})(Ue,P)}),e.clearPrewarmedResources=function(){let Ue=ce;Ue&&(Ue.isPreloaded()&&Ue.numActive()===1?(Ue.release(J),ce=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 Qe().getRTLTextPluginStatus()},e.getVersion=function(){return rc},e.getWorkerCount=function(){return se.workerCount},e.getWorkerUrl=function(){return t.a.WORKER_URL},e.importScriptInWorkers=function(Ue){return V().broadcast("IS",Ue)},e.prewarm=function(){Z().acquire(J)},e.setMaxParallelImageRequests=function(Ue){t.a.MAX_PARALLEL_IMAGE_REQUESTS=Ue},e.setRTLTextPlugin=function(Ue,P){return Qe().setRTLTextPlugin(Ue,P)},e.setWorkerCount=function(Ue){se.workerCount=Ue},e.setWorkerUrl=function(Ue){t.a.WORKER_URL=Ue}});var E=p;return E})}}),dD=De({"src/plots/map/layers.js"(Y,H){"use strict";var p=ui(),x=vu().sanitizeHTML,S=pA(),E=f0();function e(n,a){this.subplot=n,this.uid=n.uid+"-"+a,this.index=a,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(a){this.visible?this.needsNewImage(a)?this.updateImage(a):this.needsNewSource(a)?(this.removeLayer(),this.updateSource(a),this.updateLayer(a)):this.needsNewLayer(a)?this.updateLayer(a):this.updateStyle(a):(this.updateSource(a),this.updateLayer(a)),this.visible=r(a)},t.needsNewImage=function(n){var a=this.subplot.map;return a.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 a=this.subplot.map;a.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 a=this.subplot.map;if(a.getSource(this.idSource)&&a.removeSource(this.idSource),this.sourceType=n.sourcetype,this.source=n.source,!!r(n)){var s=i(n);a.addSource(this.idSource,s)}},t.findFollowingMapLayerId=function(n){if(n==="traces")for(var a=this.subplot.getMapLayers(),s=0;s0){for(var s=0;s0}function o(n){var a={},s={};switch(n.type){case"circle":p.extendFlat(s,{"circle-radius":n.circle.radius,"circle-color":n.color,"circle-opacity":n.opacity});break;case"line":p.extendFlat(s,{"line-width":n.line.width,"line-color":n.color,"line-opacity":n.opacity,"line-dasharray":n.line.dash});break;case"fill":p.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);p.extendFlat(a,{"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}),p.extendFlat(s,{"icon-color":n.color,"text-color":h.textfont.color,"text-opacity":n.opacity});break;case"raster":p.extendFlat(s,{"raster-fade-duration":0,"raster-opacity":n.opacity});break}return{layout:a,paint:s}}function i(n){var a=n.sourcetype,s=n.source,h={type:a},c;return a==="geojson"?c="data":a==="vector"?c=typeof s=="string"?"url":"tiles":a==="raster"?(c="tiles",h.tileSize=256):a==="image"&&(c="url",h.coordinates=n.coordinates),h[c]=s,n.sourceattribution&&(h.attribution=x(n.sourceattribution)),h}H.exports=function(a,s,h){var c=new e(a,s);return c.update(h),c}}}),vD=De({"src/plots/map/map.js"(Y,H){"use strict";var p=hD(),x=ui(),S=s0(),E=Mo(),e=us(),t=Qh(),r=sf(),o=dv(),i=o.drawMode,n=o.selectMode,a=Af().prepSelect,s=Af().clearOutline,h=Af().clearSelectionsCache,c=Af().selectOnClick,m=f0(),d=dD();function T(g,b){this.id=b,this.gd=g;var v=g._fullLayout,u=g._context;this.container=v._glcontainer.node(),this.isStatic=u.staticPlot,this.uid=v._uid+"-"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(v),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,v){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)}),v.push(y)},l.createMap=function(g,b,v,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 p.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 p.AttributionControl({compact:!0})),N={};F.on("styleimagemissing",function(I){var U=I.id;if(!N[U]&&U.includes("-15")){N[U]=!0;var O=new Image(15,15);O.onload=function(){F.addImage(U,O)},O.crossOrigin="Anonymous",O.src="https://unpkg.com/maki@2.1.0/icons/"+U+".svg"}}),F.setTransformRequest(function(I){return I=I.replace("https://fonts.openmaptiles.org/Open Sans Extrabold","https://fonts.openmaptiles.org/Open Sans Extra Bold"),I=I.replace("https://tiles.basemaps.cartocdn.com/fonts/Open Sans Extrabold","https://fonts.openmaptiles.org/Open Sans Extra Bold"),I=I.replace("https://fonts.openmaptiles.org/Open Sans Regular,Arial Unicode MS Regular","https://fonts.openmaptiles.org/Klokantech Noto Sans Regular"),{url:I}}),F._canvas.style.left="0px",F._canvas.style.top="0px",y.rejectOnError(u),y.isStatic||y.initFx(g,b);var B=[];B.push(new Promise(function(I){F.once("load",I)})),B=B.concat(S.fetchTraceGeoData(g)),Promise.all(B).then(function(){y.fillBelowLookup(g,b),y.updateData(g),y.updateLayout(b),y.resolveOnRender(v)}).catch(u)},l.updateMap=function(g,b,v,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(v)}).catch(u)},l.fillBelowLookup=function(g,b){var v=b[this.id],u=v.layers,y,f,R=this.belowLookup={},L=!1;for(y=0;y1)for(y=0;y-1&&c(z.originalEvent,u,[v.xaxis],[v.yaxis],v.id,L),F.indexOf("event")>-1&&r.click(u,z.originalEvent)}}},l.updateFx=function(g){var b=this,v=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 B=z.lassoPoints={};B[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}),v.off("click",b.onClickInPanHandler),n(f)||i(f)?(v.dragPan.disable(),v.on("zoomstart",b.clearOutline),b.dragOptions.prepFn=function(z,F,N){a(z,F,N,b.dragOptions,f)},t.init(b.dragOptions)):(v.dragPan.enable(),v.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),v.on("click",b.onClickInPanHandler))},l.updateFramework=function(g){var b=g[this.id].domain,v=g._size,u=this.div.style;u.width=v.w*(b.x[1]-b.x[0])+"px",u.height=v.h*(b.y[1]-b.y[0])+"px",u.left=v.l+b.x[0]*v.w+"px",u.top=v.t+(1-b.y[1])*v.h+"px",this.xaxis._offset=v.l+b.x[0]*v.w,this.xaxis._length=v.w*(b.x[1]-b.x[0]),this.yaxis._offset=v.t+(1-b.y[1])*v.h,this.yaxis._length=v.h*(b.y[1]-b.y[0])},l.updateLayers=function(g){var b=g[this.id],v=b.layers,u=this.layerList,y;if(v.length!==u.length){for(y=0;yv/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",p(-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>v&&(y=v/(b.width+6));var f=[h.l+h.w*d.x[1],h.t+h.h*(1-d.y[0])];M.attr("transform",p(f[0],f[1])+x(y))}},Y.updateFx=function(n){for(var a=n._fullLayout,s=a._subplots[i],h=0;h=0;o--)t.removeLayer(r[o][1])},e.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},H.exports=function(r,o){var i=o[0].trace,n=new E(r,i.uid),a=n.sourceId,s=p(o),h=n.below=r.belowLookup["trace-"+i.uid];return r.map.addSource(a,{type:"geojson",data:s.geojson}),n._addLayers(s,h),o[0].trace._glTrace=n,n}}}),xD=De({"src/traces/choroplethmap/index.js"(Y,H){"use strict";H.exports={attributes:mA(),supplyDefaults:yD(),colorbar:Zp(),calc:cb(),plot:_D(),hoverPoints:hb(),eventData:db(),selectPoints:vb(),styleOnSelect:function(p,x){if(x){var S=x[0].trace;S._glTrace.updateOnSelect(x)}},getBelow:function(p,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?+d[c]:0),h.push({type:"Feature",geometry:{type:"Point",coordinates:w},properties:A})}}var g=E.extractOpts(i),b=g.reversescale?E.flipScale(g.colorscale):g.colorscale,v=b[0][1],u=S.opacity(v)<1?v:S.addOpacity(v,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)},H.exports=function(t,r){var o=r[0].trace,i=new S(t,o.uid),n=i.sourceId,a=p(r),s=i.below=t.belowLookup["trace-"+o.uid];return t.map.addSource(n,{type:"geojson",data:a.geojson}),i._addLayers(a,s),i}}}),MD=De({"src/traces/densitymap/hover.js"(Y,H){"use strict";var p=us(),x=Lb().hoverPoints,S=Lb().getExtraText;H.exports=function(e,t,r){var o=x(e,t,r);if(o){var i=o[0],n=i.cd,a=n[0].trace,s=n[i.index];if(delete i.color,"z"in s){var h=i.subplot.mockAxis;i.z=s.z,i.zLabel=p.tickText(h,h.c2l(s.z),"hover").text}return i.extraText=S(a,s,n[0].t.labels),[i]}}}}),ED=De({"src/traces/densitymap/event_data.js"(Y,H){"use strict";H.exports=function(x,S){return x.lon=S.lon,x.lat=S.lat,x.z=S.z,x}}}),kD=De({"src/traces/densitymap/index.js"(Y,H){"use strict";H.exports={attributes:yA(),supplyDefaults:wD(),colorbar:Zp(),formatLabels:vA(),calc:TD(),plot:SD(),hoverPoints:MD(),eventData:ED(),getBelow:function(p,x){for(var S=x.getMapLayers(),E=0;E0;){l=w[w.length-1];var A=x[l];if(r[l]=0&&i[l].push(o[g])}r[l]=M}else{if(e[l]===E[l]){for(var b=[],v=[],u=0,M=_.length-1;M>=0;--M){var y=_[M];if(t[y]=!1,b.push(y),v.push(i[y]),u+=i[y].length,o[y]=s.length,y===l){_.length=M;break}}s.push(b);for(var f=new Array(u),M=0;Mg&&(g=a.source[_]),a.target[_]>g&&(g=a.target[_]);var b=g+1;i.node._count=b;var v,u=i.node.groups,y={};for(_=0;_0&&e(N,b)&&e(B,b)&&!(y.hasOwnProperty(N)&&y.hasOwnProperty(B)&&y[N]===y[B])){y.hasOwnProperty(B)&&(B=y[B]),y.hasOwnProperty(N)&&(N=y[N]),N=+N,B=+B,d[N]=d[B]=!0;var I="";a.label&&a.label[_]&&(I=a.label[_]);var U=null;I&&T.hasOwnProperty(I)&&(U=T[I]),s.push({pointNumber:_,label:I,color:h?a.color[_]:a.color,hovercolor:c?a.hovercolor[_]:a.hovercolor,customdata:m?a.customdata[_]:a.customdata,concentrationscale:U,source:N,target:B,value:+F}),z.source.push(N),z.target.push(B)}}var O=b+u.length,X=E(n.color),J=E(n.customdata),se=[];for(_=0;_b-1,childrenNodes:[],pointNumber:_,label:le,color:X?n.color[_]:n.color,customdata:J?n.customdata[_]:n.customdata})}var ce=!1;return o(O,z.source,z.target)&&(ce=!0),{circular:ce,links:s,nodes:se,groups:u,groupLookup:y}}function o(i,n,a){for(var s=x.init2dArray(i,0),h=0;h1})}H.exports=function(n,a){var s=r(a);return S({circular:s.circular,_nodes:s.nodes,_links:s.links,_groups:s.groups,_groupLookup:s.groupLookup})}}}),PD=De({"node_modules/d3-quadtree/dist/d3-quadtree.js"(Y,H){(function(p,x){typeof Y=="object"&&typeof H<"u"?x(Y):(p=p||self,x(p.d3=p.d3||{}))})(Y,function(p){"use strict";function x(b){var v=+this._x.call(null,b),u=+this._y.call(null,b);return S(this.cover(v,u),v,u,b)}function S(b,v,u,y){if(isNaN(v)||isNaN(u))return b;var f,R=b._root,L={data:y},z=b._x0,F=b._y0,N=b._x1,B=b._y1,I,U,O,X,J,se,le,ce;if(!R)return b._root=L,b;for(;R.length;)if((J=v>=(I=(z+N)/2))?z=I:N=I,(se=u>=(U=(F+B)/2))?F=U:B=U,f=R,!(R=R[le=se<<1|J]))return f[le]=L,b;if(O=+b._x.call(null,R.data),X=+b._y.call(null,R.data),v===O&&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),(J=v>=(I=(z+N)/2))?z=I:N=I,(se=u>=(U=(F+B)/2))?F=U:B=U;while((le=se<<1|J)===(ce=(X>=U)<<1|O>=I));return f[ce]=R,f[le]=L,b}function E(b){var v,u,y=b.length,f,R,L=new Array(y),z=new Array(y),F=1/0,N=1/0,B=-1/0,I=-1/0;for(u=0;uB&&(B=f),RI&&(I=R));if(F>B||N>I)return this;for(this.cover(F,N).cover(B,I),u=0;ub||b>=f||y>v||v>=R;)switch(N=(vB||(z=X.y0)>I||(F=X.x1)=le)<<1|b>=se)&&(X=U[U.length-1],U[U.length-1]=U[U.length-1-J],U[U.length-1-J]=X)}else{var ce=b-+this._x.call(null,O.data),q=v-+this._y.call(null,O.data),Z=ce*ce+q*q;if(Z=(U=(L+F)/2))?L=U:F=U,(J=I>=(O=(z+N)/2))?z=O:N=O,v=u,!(u=u[se=J<<1|X]))return this;if(!u.length)break;(v[se+1&3]||v[se+2&3]||v[se+3&3])&&(y=v,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):v?(R?v[se]=R:delete v[se],(u=v[0]||v[1]||v[2]||v[3])&&u===(v[3]||v[2]||v[1]||v[0])&&!u.length&&(y?y[le]=u:this._root=u),this):(this._root=R,this)}function a(b){for(var v=0,u=b.length;v=d.length)return l!=null&&g.sort(l),_!=null?_(g):g;for(var y=-1,f=g.length,R=d[b++],L,z,F=E(),N,B=v();++yd.length)return g;var v,u=T[b-1];return _!=null&&b>=d.length?v=g.entries():(v=[],g.each(function(y,f){v.push({key:f,values:M(y,b)})})),u!=null?v.sort(function(y,f){return u(y.key,f.key)}):v}return w={object:function(g){return A(g,0,t,r)},map:function(g){return A(g,0,o,i)},entries:function(g){return M(A(g,0,o,i),0)},key:function(g){return d.push(g),w},sortKeys:function(g){return T[d.length-1]=g,w},sortValues:function(g){return l=g,w},rollup:function(g){return _=g,w}}}function t(){return{}}function r(d,T,l){d[T]=l}function o(){return E()}function i(d,T,l){d.set(T,l)}function n(){}var a=E.prototype;n.prototype=s.prototype={constructor:n,has:a.has,add:function(d){return d+="",this[x+d]=d,this},remove:a.remove,clear:a.clear,values:a.keys,size:a.size,empty:a.empty,each:a.each};function s(d,T){var l=new n;if(d instanceof n)d.each(function(A){l.add(A)});else if(d){var _=-1,w=d.length;if(T==null)for(;++_=0&&(a=n.slice(s+1),n=n.slice(0,s)),n&&!i.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:a}})}E.prototype=S.prototype={constructor:E,on:function(o,i){var n=this._,a=e(o+"",n),s,h=-1,c=a.length;if(arguments.length<2){for(;++h0)for(var n=new Array(s),a=0,s,h;a=0&&b._call.call(null,v),b=b._next;--x}function l(){i=(o=a.now())+n,x=S=0;try{T()}finally{x=0,w(),i=0}}function _(){var b=a.now(),v=b-o;v>e&&(n-=v,o=b)}function w(){for(var b,v=t,u,y=1/0;v;)v._call?(y>v._time&&(y=v._time),b=v,v=v._next):(u=v._next,v._next=null,v=b?b._next=u:t=u);r=b,A(y)}function A(b){if(!x){S&&(S=clearTimeout(S));var v=b-i;v>24?(b<1/0&&(S=setTimeout(l,b-a.now()-n)),E&&(E=clearInterval(E))):(E||(o=a.now(),E=setInterval(_,e)),x=1,s(l))}}function M(b,v,u){var y=new m;return v=v==null?0:+v,y.restart(function(f){y.stop(),b(f+v)},v,u),y}function g(b,v,u){var y=new m,f=v;return v==null?(y.restart(b,v,u),y):(v=+v,u=u==null?h():+u,y.restart(function R(L){L+=f,y.restart(R,f+=v,u),b(L)},v,u),y)}p.interval=g,p.now=h,p.timeout=M,p.timer=d,p.timerFlush=T,Object.defineProperty(p,"__esModule",{value:!0})})}}),zD=De({"node_modules/d3-force/dist/d3-force.js"(Y,H){(function(p,x){typeof Y=="object"&&typeof H<"u"?x(Y,PD(),Pb(),RD(),DD()):x(p.d3=p.d3||{},p.d3,p.d3,p.d3,p.d3)})(Y,function(p,x,S,E,e){"use strict";function t(b,v){var u;b==null&&(b=0),v==null&&(v=0);function y(){var f,R=u.length,L,z=0,F=0;for(f=0;fI.index){var Q=U-oe.x-oe.vx,re=O-oe.y-oe.vy,ue=Q*Q+re*re;ueU+j||eeO+j||VF.r&&(F.r=F[N].r)}function z(){if(v){var F,N=v.length,B;for(u=new Array(N),F=0;F1?(J==null?z.remove(X):z.set(X,O(J)),v):z.get(X)},find:function(X,J,se){var le=0,ce=b.length,q,Z,ee,V,oe;for(se==null?se=1/0:se*=se,le=0;le1?(N.on(X,J),v):N.on(X)}}}function w(){var b,v,u,y=r(-30),f,R=1,L=1/0,z=.81;function F(U){var O,X=b.length,J=x.quadtree(b,m,d).visitAfter(B);for(u=U,O=0;O=L)return;(U.data!==v||U.next)&&(se===0&&(se=o(),q+=se*se),le===0&&(le=o(),q+=le*le),qE)if(!(Math.abs(l*m-d*T)>E)||!s)this._+="L"+(this._x1=o)+","+(this._y1=i);else{var w=n-h,A=a-c,M=m*m+d*d,g=w*w+A*A,b=Math.sqrt(M),v=Math.sqrt(_),u=s*Math.tan((x-Math.acos((M+_-g)/(2*b*v)))/2),y=u/v,f=u/b;Math.abs(y-1)>E&&(this._+="L"+(o+y*T)+","+(i+y*l)),this._+="A"+s+","+s+",0,0,"+ +(l*w>T*A)+","+(this._x1=o+f*m)+","+(this._y1=i+f*d)}},arc:function(o,i,n,a,s,h){o=+o,i=+i,n=+n,h=!!h;var c=n*Math.cos(a),m=n*Math.sin(a),d=o+c,T=i+m,l=1^h,_=h?a-s:s-a;if(n<0)throw new Error("negative radius: "+n);this._x1===null?this._+="M"+d+","+T:(Math.abs(this._x1-d)>E||Math.abs(this._y1-T)>E)&&(this._+="L"+d+","+T),n&&(_<0&&(_=_%S+S),_>e?this._+="A"+n+","+n+",0,1,"+l+","+(o-c)+","+(i-m)+"A"+n+","+n+",0,1,"+l+","+(this._x1=d)+","+(this._y1=T):_>E&&(this._+="A"+n+","+n+",0,"+ +(_>=x)+","+l+","+(this._x1=o+n*Math.cos(s))+","+(this._y1=i+n*Math.sin(s))))},rect:function(o,i,n,a){this._+="M"+(this._x0=this._x1=+o)+","+(this._y0=this._y1=+i)+"h"+ +n+"v"+ +a+"h"+-n+"Z"},toString:function(){return this._}},p.path=r,Object.defineProperty(p,"__esModule",{value:!0})})}}),bA=De({"node_modules/d3-shape/dist/d3-shape.js"(Y,H){(function(p,x){typeof Y=="object"&&typeof H<"u"?x(Y,FD()):(p=p||self,x(p.d3=p.d3||{},p.d3))})(Y,function(p,x){"use strict";function S(yt){return function(){return yt}}var E=Math.abs,e=Math.atan2,t=Math.cos,r=Math.max,o=Math.min,i=Math.sin,n=Math.sqrt,a=1e-12,s=Math.PI,h=s/2,c=2*s;function m(yt){return yt>1?0:yt<-1?s:Math.acos(yt)}function d(yt){return yt>=1?h:yt<=-1?-h:Math.asin(yt)}function T(yt){return yt.innerRadius}function l(yt){return yt.outerRadius}function _(yt){return yt.startAngle}function w(yt){return yt.endAngle}function A(yt){return yt&&yt.padAngle}function M(yt,Xt,mr,Or,ki,Ni,Si,fi){var Li=mr-yt,Ia=Or-Xt,Fa=Si-ki,un=fi-Ni,Bn=un*Li-Fa*Ia;if(!(Bn*BnMs*Ms+Gs*Gs&&(xs=Ss,el=Co),{cx:xs,cy:el,x01:-Fa,y01:-un,x11:xs*(ki/ns-1),y11:el*(ki/ns-1)}}function b(){var yt=T,Xt=l,mr=S(0),Or=null,ki=_,Ni=w,Si=A,fi=null;function Li(){var Ia,Fa,un=+yt.apply(this,arguments),Bn=+Xt.apply(this,arguments),Kn=ki.apply(this,arguments)-h,Gn=Ni.apply(this,arguments)-h,eo=E(Gn-Kn),Ao=Gn>Kn;if(fi||(fi=Ia=x.path()),Bna))fi.moveTo(0,0);else if(eo>c-a)fi.moveTo(Bn*t(Kn),Bn*i(Kn)),fi.arc(0,0,Bn,Kn,Gn,!Ao),un>a&&(fi.moveTo(un*t(Gn),un*i(Gn)),fi.arc(0,0,un,Gn,Kn,Ao));else{var An=Kn,Eo=Gn,fs=Kn,Ls=Gn,ns=eo,uo=eo,ss=Si.apply(this,arguments)/2,xs=ss>a&&(Or?+Or.apply(this,arguments):n(un*un+Bn*Bn)),el=o(E(Bn-un)/2,+mr.apply(this,arguments)),Ss=el,Co=el,ao,co;if(xs>a){var Ms=d(xs/un*i(ss)),Gs=d(xs/Bn*i(ss));(ns-=Ms*2)>a?(Ms*=Ao?1:-1,fs+=Ms,Ls-=Ms):(ns=0,fs=Ls=(Kn+Gn)/2),(uo-=Gs*2)>a?(Gs*=Ao?1:-1,An+=Gs,Eo-=Gs):(uo=0,An=Eo=(Kn+Gn)/2)}var ul=Bn*t(An),hs=Bn*i(An),rn=un*t(Ls),Xn=un*i(Ls);if(el>a){var tl=Bn*t(Eo),zs=Bn*i(Eo),so=un*t(fs),$s=un*i(fs),Ps;if(eoa?Co>a?(ao=g(so,$s,ul,hs,Bn,Co,Ao),co=g(tl,zs,rn,Xn,Bn,Co,Ao),fi.moveTo(ao.cx+ao.x01,ao.cy+ao.y01),Coa)||!(ns>a)?fi.lineTo(rn,Xn):Ss>a?(ao=g(rn,Xn,tl,zs,un,-Ss,Ao),co=g(ul,hs,so,$s,un,-Ss,Ao),fi.lineTo(ao.cx+ao.x01,ao.cy+ao.y01),Ss=Bn;--Kn)fi.point(Eo[Kn],fs[Kn]);fi.lineEnd(),fi.areaEnd()}Ao&&(Eo[un]=+yt(eo,un,Fa),fs[un]=+mr(eo,un,Fa),fi.point(Xt?+Xt(eo,un,Fa):Eo[un],Or?+Or(eo,un,Fa):fs[un]))}if(An)return fi=null,An+""||null}function Ia(){return R().defined(ki).curve(Si).context(Ni)}return Li.x=function(Fa){return arguments.length?(yt=typeof Fa=="function"?Fa:S(+Fa),Xt=null,Li):yt},Li.x0=function(Fa){return arguments.length?(yt=typeof Fa=="function"?Fa:S(+Fa),Li):yt},Li.x1=function(Fa){return arguments.length?(Xt=Fa==null?null:typeof Fa=="function"?Fa:S(+Fa),Li):Xt},Li.y=function(Fa){return arguments.length?(mr=typeof Fa=="function"?Fa:S(+Fa),Or=null,Li):mr},Li.y0=function(Fa){return arguments.length?(mr=typeof Fa=="function"?Fa:S(+Fa),Li):mr},Li.y1=function(Fa){return arguments.length?(Or=Fa==null?null:typeof Fa=="function"?Fa:S(+Fa),Li):Or},Li.lineX0=Li.lineY0=function(){return Ia().x(yt).y(mr)},Li.lineY1=function(){return Ia().x(yt).y(Or)},Li.lineX1=function(){return Ia().x(Xt).y(mr)},Li.defined=function(Fa){return arguments.length?(ki=typeof Fa=="function"?Fa:S(!!Fa),Li):ki},Li.curve=function(Fa){return arguments.length?(Si=Fa,Ni!=null&&(fi=Si(Ni)),Li):Si},Li.context=function(Fa){return arguments.length?(Fa==null?Ni=fi=null:fi=Si(Ni=Fa),Li):Ni},Li}function z(yt,Xt){return Xtyt?1:Xt>=yt?0:NaN}function F(yt){return yt}function N(){var yt=F,Xt=z,mr=null,Or=S(0),ki=S(c),Ni=S(0);function Si(fi){var Li,Ia=fi.length,Fa,un,Bn=0,Kn=new Array(Ia),Gn=new Array(Ia),eo=+Or.apply(this,arguments),Ao=Math.min(c,Math.max(-c,ki.apply(this,arguments)-eo)),An,Eo=Math.min(Math.abs(Ao)/Ia,Ni.apply(this,arguments)),fs=Eo*(Ao<0?-1:1),Ls;for(Li=0;Li0&&(Bn+=Ls);for(Xt!=null?Kn.sort(function(ns,uo){return Xt(Gn[ns],Gn[uo])}):mr!=null&&Kn.sort(function(ns,uo){return mr(fi[ns],fi[uo])}),Li=0,un=Bn?(Ao-Ia*fs)/Bn:0;Li0?Ls*un:0)+fs,Gn[Fa]={data:fi[Fa],index:Li,value:Ls,startAngle:eo,endAngle:An,padAngle:Eo};return Gn}return Si.value=function(fi){return arguments.length?(yt=typeof fi=="function"?fi:S(+fi),Si):yt},Si.sortValues=function(fi){return arguments.length?(Xt=fi,mr=null,Si):Xt},Si.sort=function(fi){return arguments.length?(mr=fi,Xt=null,Si):mr},Si.startAngle=function(fi){return arguments.length?(Or=typeof fi=="function"?fi:S(+fi),Si):Or},Si.endAngle=function(fi){return arguments.length?(ki=typeof fi=="function"?fi:S(+fi),Si):ki},Si.padAngle=function(fi){return arguments.length?(Ni=typeof fi=="function"?fi:S(+fi),Si):Ni},Si}var B=U(u);function I(yt){this._curve=yt}I.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(yt,Xt){this._curve.point(Xt*Math.sin(yt),Xt*-Math.cos(yt))}};function U(yt){function Xt(mr){return new I(yt(mr))}return Xt._curve=yt,Xt}function O(yt){var Xt=yt.curve;return yt.angle=yt.x,delete yt.x,yt.radius=yt.y,delete yt.y,yt.curve=function(mr){return arguments.length?Xt(U(mr)):Xt()._curve},yt}function X(){return O(R().curve(B))}function J(){var yt=L().curve(B),Xt=yt.curve,mr=yt.lineX0,Or=yt.lineX1,ki=yt.lineY0,Ni=yt.lineY1;return yt.angle=yt.x,delete yt.x,yt.startAngle=yt.x0,delete yt.x0,yt.endAngle=yt.x1,delete yt.x1,yt.radius=yt.y,delete yt.y,yt.innerRadius=yt.y0,delete yt.y0,yt.outerRadius=yt.y1,delete yt.y1,yt.lineStartAngle=function(){return O(mr())},delete yt.lineX0,yt.lineEndAngle=function(){return O(Or())},delete yt.lineX1,yt.lineInnerRadius=function(){return O(ki())},delete yt.lineY0,yt.lineOuterRadius=function(){return O(Ni())},delete yt.lineY1,yt.curve=function(Si){return arguments.length?Xt(U(Si)):Xt()._curve},yt}function se(yt,Xt){return[(Xt=+Xt)*Math.cos(yt-=Math.PI/2),Xt*Math.sin(yt)]}var le=Array.prototype.slice;function ce(yt){return yt.source}function q(yt){return yt.target}function Z(yt){var Xt=ce,mr=q,Or=y,ki=f,Ni=null;function Si(){var fi,Li=le.call(arguments),Ia=Xt.apply(this,Li),Fa=mr.apply(this,Li);if(Ni||(Ni=fi=x.path()),yt(Ni,+Or.apply(this,(Li[0]=Ia,Li)),+ki.apply(this,Li),+Or.apply(this,(Li[0]=Fa,Li)),+ki.apply(this,Li)),fi)return Ni=null,fi+""||null}return Si.source=function(fi){return arguments.length?(Xt=fi,Si):Xt},Si.target=function(fi){return arguments.length?(mr=fi,Si):mr},Si.x=function(fi){return arguments.length?(Or=typeof fi=="function"?fi:S(+fi),Si):Or},Si.y=function(fi){return arguments.length?(ki=typeof fi=="function"?fi:S(+fi),Si):ki},Si.context=function(fi){return arguments.length?(Ni=fi??null,Si):Ni},Si}function ee(yt,Xt,mr,Or,ki){yt.moveTo(Xt,mr),yt.bezierCurveTo(Xt=(Xt+Or)/2,mr,Xt,ki,Or,ki)}function V(yt,Xt,mr,Or,ki){yt.moveTo(Xt,mr),yt.bezierCurveTo(Xt,mr=(mr+ki)/2,Or,mr,Or,ki)}function oe(yt,Xt,mr,Or,ki){var Ni=se(Xt,mr),Si=se(Xt,mr=(mr+ki)/2),fi=se(Or,mr),Li=se(Or,ki);yt.moveTo(Ni[0],Ni[1]),yt.bezierCurveTo(Si[0],Si[1],fi[0],fi[1],Li[0],Li[1])}function ie(){return Z(ee)}function j(){return Z(V)}function Q(){var yt=Z(oe);return yt.angle=yt.x,delete yt.x,yt.radius=yt.y,delete yt.y,yt}var re={draw:function(yt,Xt){var mr=Math.sqrt(Xt/s);yt.moveTo(mr,0),yt.arc(0,0,mr,0,c)}},ue={draw:function(yt,Xt){var mr=Math.sqrt(Xt/5)/2;yt.moveTo(-3*mr,-mr),yt.lineTo(-mr,-mr),yt.lineTo(-mr,-3*mr),yt.lineTo(mr,-3*mr),yt.lineTo(mr,-mr),yt.lineTo(3*mr,-mr),yt.lineTo(3*mr,mr),yt.lineTo(mr,mr),yt.lineTo(mr,3*mr),yt.lineTo(-mr,3*mr),yt.lineTo(-mr,mr),yt.lineTo(-3*mr,mr),yt.closePath()}},_e=Math.sqrt(1/3),we=_e*2,Re={draw:function(yt,Xt){var mr=Math.sqrt(Xt/we),Or=mr*_e;yt.moveTo(0,-mr),yt.lineTo(Or,0),yt.lineTo(0,mr),yt.lineTo(-Or,0),yt.closePath()}},ze=.8908130915292852,Xe=Math.sin(s/10)/Math.sin(7*s/10),tt=Math.sin(c/10)*Xe,it=-Math.cos(c/10)*Xe,et={draw:function(yt,Xt){var mr=Math.sqrt(Xt*ze),Or=tt*mr,ki=it*mr;yt.moveTo(0,-mr),yt.lineTo(Or,ki);for(var Ni=1;Ni<5;++Ni){var Si=c*Ni/5,fi=Math.cos(Si),Li=Math.sin(Si);yt.lineTo(Li*mr,-fi*mr),yt.lineTo(fi*Or-Li*ki,Li*Or+fi*ki)}yt.closePath()}},nt={draw:function(yt,Xt){var mr=Math.sqrt(Xt),Or=-mr/2;yt.rect(Or,Or,mr,mr)}},Ae=Math.sqrt(3),me={draw:function(yt,Xt){var mr=-Math.sqrt(Xt/(Ae*3));yt.moveTo(0,mr*2),yt.lineTo(-Ae*mr,-mr),yt.lineTo(Ae*mr,-mr),yt.closePath()}},fe=-.5,Be=Math.sqrt(3)/2,Qe=1/Math.sqrt(12),at=(Qe/2+1)*3,$e={draw:function(yt,Xt){var mr=Math.sqrt(Xt/at),Or=mr/2,ki=mr*Qe,Ni=Or,Si=mr*Qe+mr,fi=-Ni,Li=Si;yt.moveTo(Or,ki),yt.lineTo(Ni,Si),yt.lineTo(fi,Li),yt.lineTo(fe*Or-Be*ki,Be*Or+fe*ki),yt.lineTo(fe*Ni-Be*Si,Be*Ni+fe*Si),yt.lineTo(fe*fi-Be*Li,Be*fi+fe*Li),yt.lineTo(fe*Or+Be*ki,fe*ki-Be*Or),yt.lineTo(fe*Ni+Be*Si,fe*Si-Be*Ni),yt.lineTo(fe*fi+Be*Li,fe*Li-Be*fi),yt.closePath()}},It=[re,ue,Re,nt,et,me,$e];function Pt(){var yt=S(re),Xt=S(64),mr=null;function Or(){var ki;if(mr||(mr=ki=x.path()),yt.apply(this,arguments).draw(mr,+Xt.apply(this,arguments)),ki)return mr=null,ki+""||null}return Or.type=function(ki){return arguments.length?(yt=typeof ki=="function"?ki:S(ki),Or):yt},Or.size=function(ki){return arguments.length?(Xt=typeof ki=="function"?ki:S(+ki),Or):Xt},Or.context=function(ki){return arguments.length?(mr=ki??null,Or):mr},Or}function Vt(){}function Wt(yt,Xt,mr){yt._context.bezierCurveTo((2*yt._x0+yt._x1)/3,(2*yt._y0+yt._y1)/3,(yt._x0+2*yt._x1)/3,(yt._y0+2*yt._y1)/3,(yt._x0+4*yt._x1+Xt)/6,(yt._y0+4*yt._y1+mr)/6)}function Cr(yt){this._context=yt}Cr.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(yt,Xt){switch(yt=+yt,Xt=+Xt,this._point){case 0:this._point=1,this._line?this._context.lineTo(yt,Xt):this._context.moveTo(yt,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,yt,Xt);break}this._x0=this._x1,this._x1=yt,this._y0=this._y1,this._y1=Xt}};function yr(yt){return new Cr(yt)}function qr(yt){this._context=yt}qr.prototype={areaStart:Vt,areaEnd:Vt,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(yt,Xt){switch(yt=+yt,Xt=+Xt,this._point){case 0:this._point=1,this._x2=yt,this._y2=Xt;break;case 1:this._point=2,this._x3=yt,this._y3=Xt;break;case 2:this._point=3,this._x4=yt,this._y4=Xt,this._context.moveTo((this._x0+4*this._x1+yt)/6,(this._y0+4*this._y1+Xt)/6);break;default:Wt(this,yt,Xt);break}this._x0=this._x1,this._x1=yt,this._y0=this._y1,this._y1=Xt}};function Mr(yt){return new qr(yt)}function Dr(yt){this._context=yt}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(yt,Xt){switch(yt=+yt,Xt=+Xt,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var mr=(this._x0+4*this._x1+yt)/6,Or=(this._y0+4*this._y1+Xt)/6;this._line?this._context.lineTo(mr,Or):this._context.moveTo(mr,Or);break;case 3:this._point=4;default:Wt(this,yt,Xt);break}this._x0=this._x1,this._x1=yt,this._y0=this._y1,this._y1=Xt}};function xt(yt){return new Dr(yt)}function Ne(yt,Xt){this._basis=new Cr(yt),this._beta=Xt}Ne.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var yt=this._x,Xt=this._y,mr=yt.length-1;if(mr>0)for(var Or=yt[0],ki=Xt[0],Ni=yt[mr]-Or,Si=Xt[mr]-ki,fi=-1,Li;++fi<=mr;)Li=fi/mr,this._basis.point(this._beta*yt[fi]+(1-this._beta)*(Or+Li*Ni),this._beta*Xt[fi]+(1-this._beta)*(ki+Li*Si));this._x=this._y=null,this._basis.lineEnd()},point:function(yt,Xt){this._x.push(+yt),this._y.push(+Xt)}};var Ye=function yt(Xt){function mr(Or){return Xt===1?new Cr(Or):new Ne(Or,Xt)}return mr.beta=function(Or){return yt(+Or)},mr}(.85);function be(yt,Xt,mr){yt._context.bezierCurveTo(yt._x1+yt._k*(yt._x2-yt._x0),yt._y1+yt._k*(yt._y2-yt._y0),yt._x2+yt._k*(yt._x1-Xt),yt._y2+yt._k*(yt._y1-mr),yt._x2,yt._y2)}function Ie(yt,Xt){this._context=yt,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:be(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(yt,Xt){switch(yt=+yt,Xt=+Xt,this._point){case 0:this._point=1,this._line?this._context.lineTo(yt,Xt):this._context.moveTo(yt,Xt);break;case 1:this._point=2,this._x1=yt,this._y1=Xt;break;case 2:this._point=3;default:be(this,yt,Xt);break}this._x0=this._x1,this._x1=this._x2,this._x2=yt,this._y0=this._y1,this._y1=this._y2,this._y2=Xt}};var qe=function yt(Xt){function mr(Or){return new Ie(Or,Xt)}return mr.tension=function(Or){return yt(+Or)},mr}(0);function ke(yt,Xt){this._context=yt,this._k=(1-Xt)/6}ke.prototype={areaStart:Vt,areaEnd:Vt,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(yt,Xt){switch(yt=+yt,Xt=+Xt,this._point){case 0:this._point=1,this._x3=yt,this._y3=Xt;break;case 1:this._point=2,this._context.moveTo(this._x4=yt,this._y4=Xt);break;case 2:this._point=3,this._x5=yt,this._y5=Xt;break;default:be(this,yt,Xt);break}this._x0=this._x1,this._x1=this._x2,this._x2=yt,this._y0=this._y1,this._y1=this._y2,this._y2=Xt}};var Me=function yt(Xt){function mr(Or){return new ke(Or,Xt)}return mr.tension=function(Or){return yt(+Or)},mr}(0);function Le(yt,Xt){this._context=yt,this._k=(1-Xt)/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(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(yt,Xt){switch(yt=+yt,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:be(this,yt,Xt);break}this._x0=this._x1,this._x1=this._x2,this._x2=yt,this._y0=this._y1,this._y1=this._y2,this._y2=Xt}};var ut=function yt(Xt){function mr(Or){return new Le(Or,Xt)}return mr.tension=function(Or){return yt(+Or)},mr}(0);function lt(yt,Xt,mr){var Or=yt._x1,ki=yt._y1,Ni=yt._x2,Si=yt._y2;if(yt._l01_a>a){var fi=2*yt._l01_2a+3*yt._l01_a*yt._l12_a+yt._l12_2a,Li=3*yt._l01_a*(yt._l01_a+yt._l12_a);Or=(Or*fi-yt._x0*yt._l12_2a+yt._x2*yt._l01_2a)/Li,ki=(ki*fi-yt._y0*yt._l12_2a+yt._y2*yt._l01_2a)/Li}if(yt._l23_a>a){var Ia=2*yt._l23_2a+3*yt._l23_a*yt._l12_a+yt._l12_2a,Fa=3*yt._l23_a*(yt._l23_a+yt._l12_a);Ni=(Ni*Ia+yt._x1*yt._l23_2a-Xt*yt._l12_2a)/Fa,Si=(Si*Ia+yt._y1*yt._l23_2a-mr*yt._l12_2a)/Fa}yt._context.bezierCurveTo(Or,ki,Ni,Si,yt._x2,yt._y2)}function gt(yt,Xt){this._context=yt,this._alpha=Xt}gt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._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(yt,Xt){if(yt=+yt,Xt=+Xt,this._point){var mr=this._x2-yt,Or=this._y2-Xt;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(mr*mr+Or*Or,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(yt,Xt):this._context.moveTo(yt,Xt);break;case 1:this._point=2;break;case 2:this._point=3;default:lt(this,yt,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=yt,this._y0=this._y1,this._y1=this._y2,this._y2=Xt}};var kt=function yt(Xt){function mr(Or){return Xt?new gt(Or,Xt):new Ie(Or,0)}return mr.alpha=function(Or){return yt(+Or)},mr}(.5);function nr(yt,Xt){this._context=yt,this._alpha=Xt}nr.prototype={areaStart:Vt,areaEnd:Vt,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(yt,Xt){if(yt=+yt,Xt=+Xt,this._point){var mr=this._x2-yt,Or=this._y2-Xt;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(mr*mr+Or*Or,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=yt,this._y3=Xt;break;case 1:this._point=2,this._context.moveTo(this._x4=yt,this._y4=Xt);break;case 2:this._point=3,this._x5=yt,this._y5=Xt;break;default:lt(this,yt,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=yt,this._y0=this._y1,this._y1=this._y2,this._y2=Xt}};var ir=function yt(Xt){function mr(Or){return Xt?new nr(Or,Xt):new ke(Or,0)}return mr.alpha=function(Or){return yt(+Or)},mr}(.5);function tr(yt,Xt){this._context=yt,this._alpha=Xt}tr.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(yt,Xt){if(yt=+yt,Xt=+Xt,this._point){var mr=this._x2-yt,Or=this._y2-Xt;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(mr*mr+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:lt(this,yt,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=yt,this._y0=this._y1,this._y1=this._y2,this._y2=Xt}};var Ir=function yt(Xt){function mr(Or){return Xt?new tr(Or,Xt):new Le(Or,0)}return mr.alpha=function(Or){return yt(+Or)},mr}(.5);function vi(yt){this._context=yt}vi.prototype={areaStart:Vt,areaEnd:Vt,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(yt,Xt){yt=+yt,Xt=+Xt,this._point?this._context.lineTo(yt,Xt):(this._point=1,this._context.moveTo(yt,Xt))}};function Vi(yt){return new vi(yt)}function Ui(yt){return yt<0?-1:1}function Ki(yt,Xt,mr){var Or=yt._x1-yt._x0,ki=Xt-yt._x1,Ni=(yt._y1-yt._y0)/(Or||ki<0&&-0),Si=(mr-yt._y1)/(ki||Or<0&&-0),fi=(Ni*ki+Si*Or)/(Or+ki);return(Ui(Ni)+Ui(Si))*Math.min(Math.abs(Ni),Math.abs(Si),.5*Math.abs(fi))||0}function ea(yt,Xt){var mr=yt._x1-yt._x0;return mr?(3*(yt._y1-yt._y0)/mr-Xt)/2:Xt}function Bi(yt,Xt,mr){var Or=yt._x0,ki=yt._y0,Ni=yt._x1,Si=yt._y1,fi=(Ni-Or)/3;yt._context.bezierCurveTo(Or+fi,ki+fi*Xt,Ni-fi,Si-fi*mr,Ni,Si)}function _a(yt){this._context=yt}_a.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:Bi(this,this._t0,ea(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(yt,Xt){var mr=NaN;if(yt=+yt,Xt=+Xt,!(yt===this._x1&&Xt===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(yt,Xt):this._context.moveTo(yt,Xt);break;case 1:this._point=2;break;case 2:this._point=3,Bi(this,ea(this,mr=Ki(this,yt,Xt)),mr);break;default:Bi(this,this._t0,mr=Ki(this,yt,Xt));break}this._x0=this._x1,this._x1=yt,this._y0=this._y1,this._y1=Xt,this._t0=mr}}};function Ca(yt){this._context=new Kt(yt)}(Ca.prototype=Object.create(_a.prototype)).point=function(yt,Xt){_a.prototype.point.call(this,Xt,yt)};function Kt(yt){this._context=yt}Kt.prototype={moveTo:function(yt,Xt){this._context.moveTo(Xt,yt)},closePath:function(){this._context.closePath()},lineTo:function(yt,Xt){this._context.lineTo(Xt,yt)},bezierCurveTo:function(yt,Xt,mr,Or,ki,Ni){this._context.bezierCurveTo(Xt,yt,Or,mr,Ni,ki)}};function zt(yt){return new _a(yt)}function Zt(yt){return new Ca(yt)}function Jt(yt){this._context=yt}Jt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var yt=this._x,Xt=this._y,mr=yt.length;if(mr)if(this._line?this._context.lineTo(yt[0],Xt[0]):this._context.moveTo(yt[0],Xt[0]),mr===2)this._context.lineTo(yt[1],Xt[1]);else for(var Or=Br(yt),ki=Br(Xt),Ni=0,Si=1;Si=0;--Xt)ki[Xt]=(Si[Xt]-ki[Xt+1])/Ni[Xt];for(Ni[mr-1]=(yt[mr]+ki[mr-1])/2,Xt=0;Xt=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(yt,Xt){switch(yt=+yt,Xt=+Xt,this._point){case 0:this._point=1,this._line?this._context.lineTo(yt,Xt):this._context.moveTo(yt,Xt);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,Xt),this._context.lineTo(yt,Xt);else{var mr=this._x*(1-this._t)+yt*this._t;this._context.lineTo(mr,this._y),this._context.lineTo(mr,Xt)}break}}this._x=yt,this._y=Xt}};function di(yt){return new ii(yt,.5)}function Wi(yt){return new ii(yt,0)}function oa(yt){return new ii(yt,1)}function ra(yt,Xt){if((Si=yt.length)>1)for(var mr=1,Or,ki,Ni=yt[Xt[0]],Si,fi=Ni.length;mr=0;)mr[Xt]=Xt;return mr}function xa(yt,Xt){return yt[Xt]}function ji(){var yt=S([]),Xt=ca,mr=ra,Or=xa;function ki(Ni){var Si=yt.apply(this,arguments),fi,Li=Ni.length,Ia=Si.length,Fa=new Array(Ia),un;for(fi=0;fi0){for(var mr,Or,ki=0,Ni=yt[0].length,Si;ki0)for(var mr,Or=0,ki,Ni,Si,fi,Li,Ia=yt[Xt[0]].length;Or0?(ki[0]=Si,ki[1]=Si+=Ni):Ni<0?(ki[1]=fi,ki[0]=fi+=Ni):(ki[0]=0,ki[1]=Ni)}function En(yt,Xt){if((ki=yt.length)>0){for(var mr=0,Or=yt[Xt[0]],ki,Ni=Or.length;mr0)||!((Ni=(ki=yt[Xt[0]]).length)>0))){for(var mr=0,Or=1,ki,Ni,Si;OrNi&&(Ni=ki,mr=Xt);return mr}function Lr(yt){var Xt=yt.map(br);return ca(yt).sort(function(mr,Or){return Xt[mr]-Xt[Or]})}function br(yt){for(var Xt=0,mr=-1,Or=yt.length,ki;++mr0;--oe)Q(V*=.99),re(),j(V),re();function ie(){var ue=x.max(ee,function(Re){return Re.length}),_e=O*(R-y)/(ue-1);z>_e&&(z=_e);var we=x.min(ee,function(Re){return(R-y-(Re.length-1)*z)/x.sum(Re,c)});ee.forEach(function(Re){Re.forEach(function(ze,Xe){ze.y1=(ze.y0=Xe)+ze.value*we})}),Z.links.forEach(function(Re){Re.width=Re.value*we})}function j(ue){ee.forEach(function(_e){_e.forEach(function(we){if(we.targetLinks.length){var Re=(x.sum(we.targetLinks,d)/x.sum(we.targetLinks,c)-m(we))*ue;we.y0+=Re,we.y1+=Re}})})}function Q(ue){ee.slice().reverse().forEach(function(_e){_e.forEach(function(we){if(we.sourceLinks.length){var Re=(x.sum(we.sourceLinks,T)/x.sum(we.sourceLinks,c)-m(we))*ue;we.y0+=Re,we.y1+=Re}})})}function re(){ee.forEach(function(ue){var _e,we,Re=y,ze=ue.length,Xe;for(ue.sort(h),Xe=0;Xe0&&(_e.y0+=we,_e.y1+=we),Re=_e.y1+z;if(we=Re-z-R,we>0)for(Re=_e.y0-=we,_e.y1-=we,Xe=ze-2;Xe>=0;--Xe)_e=ue[Xe],we=_e.y1+z-Re,we>0&&(_e.y0-=we,_e.y1-=we),Re=_e.y0})}}function q(Z){Z.nodes.forEach(function(ee){ee.sourceLinks.sort(s),ee.targetLinks.sort(a)}),Z.nodes.forEach(function(ee){var V=ee.y0,oe=V;ee.sourceLinks.forEach(function(ie){ie.y0=V+ie.width/2,V+=ie.width}),ee.targetLinks.forEach(function(ie){ie.y1=oe+ie.width/2,oe+=ie.width})})}return X};function g(u){return[u.source.x1,u.y0]}function b(u){return[u.target.x0,u.y1]}var v=function(){return E.linkHorizontal().source(g).target(b)};p.sankey=M,p.sankeyCenter=i,p.sankeyLeft=t,p.sankeyRight=r,p.sankeyJustify=o,p.sankeyLinkHorizontal=v,Object.defineProperty(p,"__esModule",{value:!0})})}}),OD=De({"node_modules/elementary-circuits-directed-graph/johnson.js"(Y,H){var p=xA();H.exports=function(S,E){var e=[],t=[],r=[],o={},i=[],n;function a(A){r[A]=!1,o.hasOwnProperty(A)&&Object.keys(o[A]).forEach(function(M){delete o[A][M],r[M]&&a(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=p(M),b=g.components.filter(function(z){return z.length>1}),v=1/0,u,y=0;y"u"?"undefined":s(Ie))!=="object"&&(Ie=Ye.source=g(Ne,Ie)),(typeof qe>"u"?"undefined":s(qe))!=="object"&&(qe=Ye.target=g(Ne,qe)),Ie.sourceLinks.push(Ye),qe.targetLinks.push(Ye)}),xt}function Wt(xt){xt.nodes.forEach(function(Ne){Ne.partOfCycle=!1,Ne.value=Math.max(x.sum(Ne.sourceLinks,d),x.sum(Ne.targetLinks,d)),Ne.sourceLinks.forEach(function(Ye){Ye.circular&&(Ne.partOfCycle=!0,Ne.circularLinkType=Ye.circularLinkType)}),Ne.targetLinks.forEach(function(Ye){Ye.circular&&(Ne.partOfCycle=!0,Ne.circularLinkType=Ye.circularLinkType)})})}function Cr(xt){var Ne=0,Ye=0,be=0,Ie=0,qe=x.max(xt.nodes,function(ke){return ke.column});return xt.links.forEach(function(ke){ke.circular&&(ke.circularLinkType=="top"?Ne=Ne+ke.width:Ye=Ye+ke.width,ke.target.column==0&&(Ie=Ie+ke.width),ke.source.column==qe&&(be=be+ke.width))}),Ne=Ne>0?Ne+v+u:Ne,Ye=Ye>0?Ye+v+u:Ye,be=be>0?be+v+u:be,Ie=Ie>0?Ie+v+u:Ie,{top:Ne,bottom:Ye,left:Ie,right:be}}function yr(xt,Ne){var Ye=x.max(xt.nodes,function(ut){return ut.column}),be=tt-ze,Ie=it-Xe,qe=be+Ne.right+Ne.left,ke=Ie+Ne.top+Ne.bottom,Me=be/qe,Le=Ie/ke;return ze=ze*Me+Ne.left,tt=Ne.right==0?tt:tt*Me,Xe=Xe*Le+Ne.top,it=it*Le,xt.nodes.forEach(function(ut){ut.x0=ze+ut.column*((tt-ze-et)/Ye),ut.x1=ut.x0+et}),Le}function qr(xt){var Ne,Ye,be;for(Ne=xt.nodes,Ye=[],be=0;Ne.length;++be,Ne=Ye,Ye=[])Ne.forEach(function(Ie){Ie.depth=be,Ie.sourceLinks.forEach(function(qe){Ye.indexOf(qe.target)<0&&!qe.circular&&Ye.push(qe.target)})});for(Ne=xt.nodes,Ye=[],be=0;Ne.length;++be,Ne=Ye,Ye=[])Ne.forEach(function(Ie){Ie.height=be,Ie.targetLinks.forEach(function(qe){Ye.indexOf(qe.source)<0&&!qe.circular&&Ye.push(qe.source)})});xt.nodes.forEach(function(Ie){Ie.column=Math.floor(me.call(null,Ie,be))})}function Mr(xt,Ne,Ye){var be=S.nest().key(function(ut){return ut.column}).sortKeys(x.ascending).entries(xt.nodes).map(function(ut){return ut.values});ke(Ye),Le();for(var Ie=1,qe=Ne;qe>0;--qe)Me(Ie*=.99,Ye),Le();function ke(ut){if($e){var lt=1/0;be.forEach(function(ir){var tr=it*$e/(ir.length+1);lt=tr0))if(ir==0&&nr==1)Ir=tr.y1-tr.y0,tr.y0=it/2-Ir/2,tr.y1=it/2+Ir/2;else if(ir==gt-1&&nr==1)Ir=tr.y1-tr.y0,tr.y0=it/2-Ir/2,tr.y1=it/2+Ir/2;else{var vi=0,Vi=x.mean(tr.sourceLinks,_),Ui=x.mean(tr.targetLinks,l);Vi&&Ui?vi=(Vi+Ui)/2:vi=Vi||Ui;var Ki=(vi-T(tr))*ut;tr.y0+=Ki,tr.y1+=Ki}})})}function Le(){be.forEach(function(ut){var lt,gt,kt=Xe,nr=ut.length,ir;for(ut.sort(m),ir=0;ir0&&(lt.y0+=gt,lt.y1+=gt),kt=lt.y1+nt;if(gt=kt-nt-it,gt>0)for(kt=lt.y0-=gt,lt.y1-=gt,ir=nr-2;ir>=0;--ir)lt=ut[ir],gt=lt.y1+nt-kt,gt>0&&(lt.y0-=gt,lt.y1-=gt),kt=lt.y0})}}function Dr(xt){xt.nodes.forEach(function(Ne){Ne.sourceLinks.sort(c),Ne.targetLinks.sort(h)}),xt.nodes.forEach(function(Ne){var Ye=Ne.y0,be=Ye,Ie=Ne.y1,qe=Ie;Ne.sourceLinks.forEach(function(ke){ke.circular?(ke.y0=Ie-ke.width/2,Ie=Ie-ke.width):(ke.y0=Ye+ke.width/2,Ye+=ke.width)}),Ne.targetLinks.forEach(function(ke){ke.circular?(ke.y1=qe-ke.width/2,qe=qe-ke.width):(ke.y1=be+ke.width/2,be+=ke.width)})})}return Pt}function R(ze,Xe,tt){var it=0;if(tt===null){for(var et=[],nt=0;ntXe.source.column)}function N(ze,Xe){var tt=0;ze.sourceLinks.forEach(function(et){tt=et.circular&&!we(et,Xe)?tt+1:tt});var it=0;return ze.targetLinks.forEach(function(et){it=et.circular&&!we(et,Xe)?it+1:it}),tt+it}function B(ze){var Xe=ze.source.sourceLinks,tt=0;Xe.forEach(function(nt){tt=nt.circular?tt+1:tt});var it=ze.target.targetLinks,et=0;return it.forEach(function(nt){et=nt.circular?et+1:et}),!(tt>1||et>1)}function I(ze,Xe,tt){return ze.sort(X),ze.forEach(function(it,et){var nt=0;if(we(it,tt)&&B(it))it.circularPathData.verticalBuffer=nt+it.width/2;else{var Ae=0;for(Ae;Aent?me:nt}it.circularPathData.verticalBuffer=nt+it.width/2}}),ze}function U(ze,Xe,tt,it){var et=5,nt=x.min(ze.links,function(fe){return fe.source.y0});ze.links.forEach(function(fe){fe.circular&&(fe.circularPathData={})});var Ae=ze.links.filter(function(fe){return fe.circularLinkType=="top"});I(Ae,Xe,it);var me=ze.links.filter(function(fe){return fe.circularLinkType=="bottom"});I(me,Xe,it),ze.links.forEach(function(fe){if(fe.circular){if(fe.circularPathData.arcRadius=fe.width+u,fe.circularPathData.leftNodeBuffer=et,fe.circularPathData.rightNodeBuffer=et,fe.circularPathData.sourceWidth=fe.source.x1-fe.source.x0,fe.circularPathData.sourceX=fe.source.x0+fe.circularPathData.sourceWidth,fe.circularPathData.targetX=fe.target.x0,fe.circularPathData.sourceY=fe.y0,fe.circularPathData.targetY=fe.y1,we(fe,it)&&B(fe))fe.circularPathData.leftSmallArcRadius=u+fe.width/2,fe.circularPathData.leftLargeArcRadius=u+fe.width/2,fe.circularPathData.rightSmallArcRadius=u+fe.width/2,fe.circularPathData.rightLargeArcRadius=u+fe.width/2,fe.circularLinkType=="bottom"?(fe.circularPathData.verticalFullExtent=fe.source.y1+v+fe.circularPathData.verticalBuffer,fe.circularPathData.verticalLeftInnerExtent=fe.circularPathData.verticalFullExtent-fe.circularPathData.leftLargeArcRadius,fe.circularPathData.verticalRightInnerExtent=fe.circularPathData.verticalFullExtent-fe.circularPathData.rightLargeArcRadius):(fe.circularPathData.verticalFullExtent=fe.source.y0-v-fe.circularPathData.verticalBuffer,fe.circularPathData.verticalLeftInnerExtent=fe.circularPathData.verticalFullExtent+fe.circularPathData.leftLargeArcRadius,fe.circularPathData.verticalRightInnerExtent=fe.circularPathData.verticalFullExtent+fe.circularPathData.rightLargeArcRadius);else{var Be=fe.source.column,Qe=fe.circularLinkType,at=ze.links.filter(function(Pt){return Pt.source.column==Be&&Pt.circularLinkType==Qe});fe.circularLinkType=="bottom"?at.sort(se):at.sort(J);var $e=0;at.forEach(function(Pt,Vt){Pt.circularLinkID==fe.circularLinkID&&(fe.circularPathData.leftSmallArcRadius=u+fe.width/2+$e,fe.circularPathData.leftLargeArcRadius=u+fe.width/2+Vt*Xe+$e),$e=$e+Pt.width}),Be=fe.target.column,at=ze.links.filter(function(Pt){return Pt.target.column==Be&&Pt.circularLinkType==Qe}),fe.circularLinkType=="bottom"?at.sort(ce):at.sort(le),$e=0,at.forEach(function(Pt,Vt){Pt.circularLinkID==fe.circularLinkID&&(fe.circularPathData.rightSmallArcRadius=u+fe.width/2+$e,fe.circularPathData.rightLargeArcRadius=u+fe.width/2+Vt*Xe+$e),$e=$e+Pt.width}),fe.circularLinkType=="bottom"?(fe.circularPathData.verticalFullExtent=Math.max(tt,fe.source.y1,fe.target.y1)+v+fe.circularPathData.verticalBuffer,fe.circularPathData.verticalLeftInnerExtent=fe.circularPathData.verticalFullExtent-fe.circularPathData.leftLargeArcRadius,fe.circularPathData.verticalRightInnerExtent=fe.circularPathData.verticalFullExtent-fe.circularPathData.rightLargeArcRadius):(fe.circularPathData.verticalFullExtent=nt-v-fe.circularPathData.verticalBuffer,fe.circularPathData.verticalLeftInnerExtent=fe.circularPathData.verticalFullExtent+fe.circularPathData.leftLargeArcRadius,fe.circularPathData.verticalRightInnerExtent=fe.circularPathData.verticalFullExtent+fe.circularPathData.rightLargeArcRadius)}fe.circularPathData.leftInnerExtent=fe.circularPathData.sourceX+fe.circularPathData.leftNodeBuffer,fe.circularPathData.rightInnerExtent=fe.circularPathData.targetX-fe.circularPathData.rightNodeBuffer,fe.circularPathData.leftFullExtent=fe.circularPathData.sourceX+fe.circularPathData.leftLargeArcRadius+fe.circularPathData.leftNodeBuffer,fe.circularPathData.rightFullExtent=fe.circularPathData.targetX-fe.circularPathData.rightLargeArcRadius-fe.circularPathData.rightNodeBuffer}if(fe.circular)fe.path=O(fe);else{var It=E.linkHorizontal().source(function(Pt){var Vt=Pt.source.x0+(Pt.source.x1-Pt.source.x0),Wt=Pt.y0;return[Vt,Wt]}).target(function(Pt){var Vt=Pt.target.x0,Wt=Pt.y1;return[Vt,Wt]});fe.path=It(fe)}})}function O(ze){var Xe="";return ze.circularLinkType=="top"?Xe="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:Xe="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,Xe}function X(ze,Xe){return q(ze)==q(Xe)?ze.circularLinkType=="bottom"?se(ze,Xe):J(ze,Xe):q(Xe)-q(ze)}function J(ze,Xe){return ze.y0-Xe.y0}function se(ze,Xe){return Xe.y0-ze.y0}function le(ze,Xe){return ze.y1-Xe.y1}function ce(ze,Xe){return Xe.y1-ze.y1}function q(ze){return ze.target.column-ze.source.column}function Z(ze){return ze.target.x0-ze.source.x1}function ee(ze,Xe){var tt=z(ze),it=Z(Xe)/Math.tan(tt),et=_e(ze)=="up"?ze.y1+it:ze.y1-it;return et}function V(ze,Xe){var tt=z(ze),it=Z(Xe)/Math.tan(tt),et=_e(ze)=="up"?ze.y1-it:ze.y1+it;return et}function oe(ze,Xe,tt,it){ze.links.forEach(function(et){if(!et.circular&&et.target.column-et.source.column>1){var nt=et.source.column+1,Ae=et.target.column-1,me=1,fe=Ae-nt+1;for(me=1;nt<=Ae;nt++,me++)ze.nodes.forEach(function(Be){if(Be.column==nt){var Qe=me/(fe+1),at=Math.pow(1-Qe,3),$e=3*Qe*Math.pow(1-Qe,2),It=3*Math.pow(Qe,2)*(1-Qe),Pt=Math.pow(Qe,3),Vt=at*et.y0+$e*et.y0+It*et.y1+Pt*et.y1,Wt=Vt-et.width/2,Cr=Vt+et.width/2,yr;Wt>Be.y0&&WtBe.y0&&CrBe.y1&&j(qr,yr,Xe,tt)})):WtBe.y1&&(yr=Cr-Be.y0+10,Be=j(Be,yr,Xe,tt),ze.nodes.forEach(function(qr){b(qr,it)==b(Be,it)||qr.column!=Be.column||qr.y0Be.y1&&j(qr,yr,Xe,tt)}))}})}})}function ie(ze,Xe){return ze.y0>Xe.y0&&ze.y0Xe.y0&&ze.y1Xe.y1}function j(ze,Xe,tt,it){return ze.y0+Xe>=tt&&ze.y1+Xe<=it&&(ze.y0=ze.y0+Xe,ze.y1=ze.y1+Xe,ze.targetLinks.forEach(function(et){et.y1=et.y1+Xe}),ze.sourceLinks.forEach(function(et){et.y0=et.y0+Xe})),ze}function Q(ze,Xe,tt,it){ze.nodes.forEach(function(et){it&&et.y+(et.y1-et.y0)>Xe&&(et.y=et.y-(et.y+(et.y1-et.y0)-Xe));var nt=ze.links.filter(function(fe){return b(fe.source,tt)==b(et,tt)}),Ae=nt.length;Ae>1&&nt.sort(function(fe,Be){if(!fe.circular&&!Be.circular){if(fe.target.column==Be.target.column)return fe.y1-Be.y1;if(ue(fe,Be)){if(fe.target.column>Be.target.column){var Qe=V(Be,fe);return fe.y1-Qe}if(Be.target.column>fe.target.column){var at=V(fe,Be);return at-Be.y1}}else return fe.y1-Be.y1}if(fe.circular&&!Be.circular)return fe.circularLinkType=="top"?-1:1;if(Be.circular&&!fe.circular)return Be.circularLinkType=="top"?1:-1;if(fe.circular&&Be.circular)return fe.circularLinkType===Be.circularLinkType&&fe.circularLinkType=="top"?fe.target.column===Be.target.column?fe.target.y1-Be.target.y1:Be.target.column-fe.target.column:fe.circularLinkType===Be.circularLinkType&&fe.circularLinkType=="bottom"?fe.target.column===Be.target.column?Be.target.y1-fe.target.y1:fe.target.column-Be.target.column:fe.circularLinkType=="top"?-1:1});var me=et.y0;nt.forEach(function(fe){fe.y0=me+fe.width/2,me=me+fe.width}),nt.forEach(function(fe,Be){if(fe.circularLinkType=="bottom"){var Qe=Be+1,at=0;for(Qe;Qe1&&et.sort(function(me,fe){if(!me.circular&&!fe.circular){if(me.source.column==fe.source.column)return me.y0-fe.y0;if(ue(me,fe)){if(fe.source.column0?"up":"down"}function we(ze,Xe){return b(ze.source,Xe)==b(ze.target,Xe)}function Re(ze,Xe,tt){var it=ze.nodes,et=ze.links,nt=!1,Ae=!1;if(et.forEach(function($e){$e.circularLinkType=="top"?nt=!0:$e.circularLinkType=="bottom"&&(Ae=!0)}),nt==!1||Ae==!1){var me=x.min(it,function($e){return $e.y0}),fe=x.max(it,function($e){return $e.y1}),Be=fe-me,Qe=tt-Xe,at=Qe/Be;it.forEach(function($e){var It=($e.y1-$e.y0)*at;$e.y0=($e.y0-me)*at,$e.y1=$e.y0+It}),et.forEach(function($e){$e.y0=($e.y0-me)*at,$e.y1=($e.y1-me)*at,$e.width=$e.width*at})}}p.sankeyCircular=f,p.sankeyCenter=n,p.sankeyLeft=r,p.sankeyRight=o,p.sankeyJustify=i,Object.defineProperty(p,"__esModule",{value:!0})})}}),wA=De({"src/traces/sankey/constants.js"(Y,H){"use strict";H.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"}}}}),UD=De({"src/traces/sankey/render.js"(Y,H){"use strict";var p=zD(),x=(am(),Ua(i0)).interpolateNumber,S=za(),E=BD(),e=ND(),t=wA(),r=wu(),o=vo(),i=ys(),n=ui(),a=n.strTranslate,s=n.strRotate,h=Uv(),c=h.keyFun,m=h.repeat,d=h.unwrap,T=vu(),l=Mo(),_=rh(),w=_.CAP_SHIFT,A=_.LINE_SPACING,M=3;function g(ee,V,oe){var ie=d(V),j=ie.trace,Q=j.domain,re=j.orientation==="h",ue=j.node.pad,_e=j.node.thickness,we={justify:E.sankeyJustify,left:E.sankeyLeft,right:E.sankeyRight,center:E.sankeyCenter}[j.node.align],Re=ee.width*(Q.x[1]-Q.x[0]),ze=ee.height*(Q.y[1]-Q.y[0]),Xe=ie._nodes,tt=ie._links,it=ie.circular,et;it?et=e.sankeyCircular().circularLinkGap(0):et=E.sankey(),et.iterations(t.sankeyIterations).size(re?[Re,ze]:[ze,Re]).nodeWidth(_e).nodePadding(ue).nodeId(function(qr){return qr.pointNumber}).nodeAlign(we).nodes(Xe).links(tt);var nt=et();et.nodePadding()=Ne||(xt=Ne-Dr.y0,xt>1e-6&&(Dr.y0+=xt,Dr.y1+=xt)),Ne=Dr.y1+ue})}function Vt(qr){var Mr=qr.map(function(qe,ke){return{x0:qe.x0,index:ke}}).sort(function(qe,ke){return qe.x0-ke.x0}),Dr=[],xt=-1,Ne,Ye=-1/0,be;for(Ae=0;AeYe+_e&&(xt+=1,Ne=Ie.x0),Ye=Ie.x0,Dr[xt]||(Dr[xt]=[]),Dr[xt].push(Ie),be=Ne-Ie.x0,Ie.x0+=be,Ie.x1+=be}return Dr}if(j.node.x.length&&j.node.y.length){for(Ae=0;Ae0?" L "+j.targetX+" "+j.targetY:"")+"Z"):(oe="M "+(j.targetX-V)+" "+(j.targetY-ie)+" L "+(j.rightInnerExtent-V)+" "+(j.targetY-ie)+" A "+(j.rightLargeArcRadius+ie)+" "+(j.rightSmallArcRadius+ie)+" 0 0 0 "+(j.rightFullExtent-ie-V)+" "+(j.targetY+j.rightSmallArcRadius)+" L "+(j.rightFullExtent-ie-V)+" "+j.verticalRightInnerExtent,Q&&re?oe+=" A "+(j.rightLargeArcRadius+ie)+" "+(j.rightLargeArcRadius+ie)+" 0 0 0 "+(j.rightInnerExtent-ie-V)+" "+(j.verticalFullExtent+ie)+" L "+(j.rightFullExtent+ie-V-(j.rightLargeArcRadius-ie))+" "+(j.verticalFullExtent+ie)+" A "+(j.rightLargeArcRadius+ie)+" "+(j.rightLargeArcRadius+ie)+" 0 0 0 "+(j.leftFullExtent+ie)+" "+j.verticalLeftInnerExtent:Q?oe+=" A "+(j.rightLargeArcRadius-ie)+" "+(j.rightSmallArcRadius-ie)+" 0 0 1 "+(j.rightFullExtent-V-ie-(j.rightLargeArcRadius-ie))+" "+(j.verticalFullExtent-ie)+" L "+(j.leftFullExtent+ie+(j.rightLargeArcRadius-ie))+" "+(j.verticalFullExtent-ie)+" A "+(j.rightLargeArcRadius-ie)+" "+(j.rightSmallArcRadius-ie)+" 0 0 1 "+(j.leftFullExtent+ie)+" "+j.verticalLeftInnerExtent:oe+=" A "+(j.rightLargeArcRadius+ie)+" "+(j.rightLargeArcRadius+ie)+" 0 0 0 "+(j.rightInnerExtent-V)+" "+(j.verticalFullExtent+ie)+" L "+j.leftInnerExtent+" "+(j.verticalFullExtent+ie)+" A "+(j.leftLargeArcRadius+ie)+" "+(j.leftLargeArcRadius+ie)+" 0 0 0 "+(j.leftFullExtent+ie)+" "+j.verticalLeftInnerExtent,oe+=" L "+(j.leftFullExtent+ie)+" "+(j.sourceY+j.leftSmallArcRadius)+" A "+(j.leftLargeArcRadius+ie)+" "+(j.leftSmallArcRadius+ie)+" 0 0 0 "+j.leftInnerExtent+" "+(j.sourceY-ie)+" L "+j.sourceX+" "+(j.sourceY-ie)+" L "+j.sourceX+" "+(j.sourceY+ie)+" L "+j.leftInnerExtent+" "+(j.sourceY+ie)+" A "+(j.leftLargeArcRadius-ie)+" "+(j.leftSmallArcRadius-ie)+" 0 0 1 "+(j.leftFullExtent-ie)+" "+(j.sourceY+j.leftSmallArcRadius)+" L "+(j.leftFullExtent-ie)+" "+j.verticalLeftInnerExtent,Q&&re?oe+=" A "+(j.rightLargeArcRadius-ie)+" "+(j.rightSmallArcRadius-ie)+" 0 0 1 "+(j.leftFullExtent-ie-(j.rightLargeArcRadius-ie))+" "+(j.verticalFullExtent-ie)+" L "+(j.rightFullExtent+ie-V+(j.rightLargeArcRadius-ie))+" "+(j.verticalFullExtent-ie)+" A "+(j.rightLargeArcRadius-ie)+" "+(j.rightSmallArcRadius-ie)+" 0 0 1 "+(j.rightFullExtent+ie-V)+" "+j.verticalRightInnerExtent:Q?oe+=" A "+(j.rightLargeArcRadius+ie)+" "+(j.rightLargeArcRadius+ie)+" 0 0 0 "+(j.leftFullExtent+ie)+" "+(j.verticalFullExtent+ie)+" L "+(j.rightFullExtent-V-ie)+" "+(j.verticalFullExtent+ie)+" A "+(j.rightLargeArcRadius+ie)+" "+(j.rightLargeArcRadius+ie)+" 0 0 0 "+(j.rightFullExtent+ie-V)+" "+j.verticalRightInnerExtent:oe+=" A "+(j.leftLargeArcRadius-ie)+" "+(j.leftLargeArcRadius-ie)+" 0 0 1 "+j.leftInnerExtent+" "+(j.verticalFullExtent-ie)+" L "+(j.rightInnerExtent-V)+" "+(j.verticalFullExtent-ie)+" A "+(j.rightLargeArcRadius-ie)+" "+(j.rightLargeArcRadius-ie)+" 0 0 1 "+(j.rightFullExtent+ie-V)+" "+j.verticalRightInnerExtent,oe+=" L "+(j.rightFullExtent+ie-V)+" "+(j.targetY+j.rightSmallArcRadius)+" A "+(j.rightLargeArcRadius-ie)+" "+(j.rightSmallArcRadius-ie)+" 0 0 1 "+(j.rightInnerExtent-V)+" "+(j.targetY+ie)+" L "+(j.targetX-V)+" "+(j.targetY+ie)+(V>0?" L "+j.targetX+" "+j.targetY:"")+"Z"),oe}function u(){var ee=.5;function V(oe){var ie=oe.linkArrowLength;if(oe.link.circular)return v(oe.link,ie);var j=Math.abs((oe.link.target.x0-oe.link.source.x1)/2);ie>j&&(ie=j);var Q=oe.link.source.x1,re=oe.link.target.x0-ie,ue=x(Q,re),_e=ue(ee),we=ue(1-ee),Re=oe.link.y0-oe.link.width/2,ze=oe.link.y0+oe.link.width/2,Xe=oe.link.y1-oe.link.width/2,tt=oe.link.y1+oe.link.width/2,it="M"+Q+","+Re,et="C"+_e+","+Re+" "+we+","+Xe+" "+re+","+Xe,nt="C"+we+","+tt+" "+_e+","+ze+" "+Q+","+ze,Ae=ie>0?"L"+(re+ie)+","+(Xe+oe.link.width/2):"";return Ae+="L"+re+","+tt,it+et+Ae+nt+"Z"}return V}function y(ee,V){var oe=r(V.color),ie=t.nodePadAcross,j=ee.nodePad/2;V.dx=V.x1-V.x0,V.dy=V.y1-V.y0;var Q=V.dx,re=Math.max(.5,V.dy),ue="node_"+V.pointNumber;return V.group&&(ue=n.randstr()),V.trace=ee.trace,V.curveNumber=ee.trace.index,{index:V.pointNumber,key:ue,partOfGroup:V.partOfGroup||!1,group:V.group,traceId:ee.key,trace:ee.trace,node:V,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:-ie,zoneY:-j,zoneWidth:Q+2*ie,zoneHeight:re+2*j,labelY:ee.horizontal?V.dy/2+1:V.dx/2+1,left:V.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,ue].join("_"),interactionState:ee.interactionState,figure:ee}}function f(ee){ee.attr("transform",function(V){return a(V.node.x0.toFixed(3),V.node.y0.toFixed(3))})}function R(ee){ee.call(f)}function L(ee,V){ee.call(R),V.attr("d",u())}function z(ee){ee.attr("width",function(V){return V.node.x1-V.node.x0}).attr("height",function(V){return V.visibleHeight})}function F(ee){return ee.link.width>1||ee.linkLineWidth>0}function N(ee){var V=a(ee.translateX,ee.translateY);return V+(ee.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function B(ee,V,oe){ee.on(".basic",null).on("mouseover.basic",function(ie){!ie.interactionState.dragInProgress&&!ie.partOfGroup&&(oe.hover(this,ie,V),ie.interactionState.hovered=[this,ie])}).on("mousemove.basic",function(ie){!ie.interactionState.dragInProgress&&!ie.partOfGroup&&(oe.follow(this,ie),ie.interactionState.hovered=[this,ie])}).on("mouseout.basic",function(ie){!ie.interactionState.dragInProgress&&!ie.partOfGroup&&(oe.unhover(this,ie,V),ie.interactionState.hovered=!1)}).on("click.basic",function(ie){ie.interactionState.hovered&&(oe.unhover(this,ie,V),ie.interactionState.hovered=!1),!ie.interactionState.dragInProgress&&!ie.partOfGroup&&oe.select(this,ie,V)})}function I(ee,V,oe,ie){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(ie._fullLayout._infolayer,"g","dragcover",function(ue){ie._fullLayout._dragCover=ue}),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,ie),O(ee,V,Q,re,ie)}}).on("drag",function(Q){if(Q.arrangement!=="fixed"){var re=S.event.x,ue=S.event.y;Q.arrangement==="snap"?(Q.node.x0=re-Q.visibleWidth/2,Q.node.x1=re+Q.visibleWidth/2,Q.node.y0=ue-Q.visibleHeight/2,Q.node.y1=ue+Q.visibleHeight/2):(Q.arrangement==="freeform"&&(Q.node.x0=re-Q.visibleWidth/2,Q.node.x1=re+Q.visibleWidth/2),ue=Math.max(0,Math.min(Q.size-Q.visibleHeight/2,ue)),Q.node.y0=ue-Q.visibleHeight/2,Q.node.y1=ue+Q.visibleHeight/2),le(Q.node),Q.arrangement!=="snap"&&(Q.sankey.update(Q.graph),L(ee.filter(ce(Q)),V))}}).on("dragend",function(Q){if(Q.arrangement!=="fixed"){Q.interactionState.dragInProgress=!1;for(var re=0;re0)window.requestAnimationFrame(Q);else{var _e=oe.node.originalX;oe.node.x0=_e-oe.visibleWidth/2,oe.node.x1=_e+oe.visibleWidth/2,J(oe,j)}})}function X(ee,V,oe,ie){return function(){for(var Q=0,re=0;re0&&ie.forceLayouts[V].alpha(0)}}function J(ee,V){for(var oe=[],ie=[],j=0;j"),color:_(q,"bgcolor")||t.addOpacity(ie.color,1),borderColor:_(q,"bordercolor"),fontFamily:_(q,"font.family"),fontSize:_(q,"font.size"),fontColor:_(q,"font.color"),fontWeight:_(q,"font.weight"),fontStyle:_(q,"font.style"),fontVariant:_(q,"font.variant"),fontTextcase:_(q,"font.textcase"),fontLineposition:_(q,"font.lineposition"),fontShadow:_(q,"font.shadow"),nameLength:_(q,"namelength"),textAlign:_(q,"align"),idealAlign:p.event.x"),color:_(q,"bgcolor")||ce.tinyColorHue,borderColor:_(q,"bordercolor"),fontFamily:_(q,"font.family"),fontSize:_(q,"font.size"),fontColor:_(q,"font.color"),fontWeight:_(q,"font.weight"),fontStyle:_(q,"font.style"),fontVariant:_(q,"font.variant"),fontTextcase:_(q,"font.textcase"),fontLineposition:_(q,"font.lineposition"),fontShadow:_(q,"font.shadow"),nameLength:_(q,"namelength"),textAlign:_(q,"align"),idealAlign:"left",hovertemplate:q.hovertemplate,hovertemplateLabels:Q,eventData:[ce.node]},{container:g._hoverlayer.node(),outerContainer:g._paper.node(),gd:A});a(_e,.85),s(_e)}}},se=function(le,ce,q){A._fullLayout.hovermode!==!1&&(p.select(le).call(d,ce,q),ce.node.trace.node.hoverinfo!=="skip"&&(ce.node.fullData=ce.node.trace,A.emit("plotly_unhover",{event:p.event,points:[ce.node]})),e.loneUnhover(g._hoverlayer.node()))};E(A,b,M,{width:v.w,height:v.h,margin:{t:v.t,r:v.r,b:v.b,l:v.l}},{linkEvents:{hover:R,follow:I,unhover:U,select:f},nodeEvents:{hover:X,follow:J,unhover:se,select:O}})}}}),jD=De({"src/traces/sankey/base_plot.js"(Y){"use strict";var H=gc().overrideAll,p=Lh().getModuleCalcData,x=TA(),S=Rv(),E=hv(),e=Qh(),t=Af().prepSelect,r=ui(),o=Mo(),i="sankey";Y.name=i,Y.baseLayoutAttrOverrides=H({hoverlabel:S.hoverlabel},"plot","nested"),Y.plot=function(a){var s=p(a.calcdata,i)[0];x(a,s),Y.updateFx(a)},Y.clean=function(a,s,h,c){var m=c._has&&c._has(i),d=s._has&&s._has(i);m&&!d&&(c._paperdiv.selectAll(".sankey").remove(),c._paperdiv.selectAll(".bgsankey").remove())},Y.updateFx=function(a){for(var s=0;s0}H.exports=function(F,N,B,I){var U=F._fullLayout,O;w(B)&&I&&(O=I()),E.makeTraceGroups(U._indicatorlayer,N,"trace").each(function(X){var J=X[0],se=J.trace,le=p.select(this),ce=se._hasGauge,q=se._isAngular,Z=se._isBullet,ee=se.domain,V={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=V.l+V.w/2,ie=V.t+V.h/2,j=Math.min(V.w/2,V.h),Q=n.innerRadius*j,re,ue,_e,we=se.align||"center";if(ue=ie,!ce)re=V.l+l[we]*V.w,_e=function(fe){return y(fe,V.w,V.h)};else if(q&&(re=oe,ue=ie+j/2,_e=function(fe){return f(fe,.9*Q)}),Z){var Re=n.bulletPadding,ze=1-n.bulletNumberDomainSize+Re;re=V.l+(ze+(1-ze)*l[we])*V.w,_e=function(fe){return y(fe,(n.bulletNumberDomainSize-Re)*V.w,V.h)}}g(F,le,X,{numbersX:re,numbersY:ue,numbersScaler:_e,transitionOpts:B,onComplete:O});var Xe,tt;ce&&(Xe={range:se.gauge.axis.range,color:se.gauge.bgcolor,line:{color:se.gauge.bordercolor,width:0},thickness:1},tt={range:se.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:se.gauge.bordercolor,width:se.gauge.borderwidth},thickness:1});var it=le.selectAll("g.angular").data(q?X:[]);it.exit().remove();var et=le.selectAll("g.angularaxis").data(q?X:[]);et.exit().remove(),q&&M(F,le,X,{radius:j,innerRadius:Q,gauge:it,layer:et,size:V,gaugeBg:Xe,gaugeOutline:tt,transitionOpts:B,onComplete:O});var nt=le.selectAll("g.bullet").data(Z?X:[]);nt.exit().remove();var Ae=le.selectAll("g.bulletaxis").data(Z?X:[]);Ae.exit().remove(),Z&&A(F,le,X,{gauge:nt,layer:Ae,size:V,gaugeBg:Xe,gaugeOutline:tt,transitionOpts:B,onComplete:O});var me=le.selectAll("text.title").data(X);me.exit().remove(),me.enter().append("text").classed("title",!0),me.attr("text-anchor",function(){return Z?T.right:T[se.title.align]}).text(se.title.text).call(i.font,se.title.font).call(a.convertToTspans,F),me.attr("transform",function(){var fe=V.l+V.w*l[se.title.align],Be,Qe=n.titlePadding,at=i.bBox(me.node());if(ce){if(q)if(se.gauge.axis.visible){var $e=i.bBox(et.node());Be=$e.top-Qe-at.bottom}else Be=V.t+V.h/2-j/2-at.bottom-Qe;Z&&(Be=ue-(at.top+at.bottom)/2,fe=V.l-n.bulletPadding*V.w)}else Be=se._numbersTop-Qe-at.bottom;return t(fe,Be)})})};function A(z,F,N,B){var I=N[0].trace,U=B.gauge,O=B.layer,X=B.gaugeBg,J=B.gaugeOutline,se=B.size,le=I.domain,ce=B.transitionOpts,q=B.onComplete,Z,ee,V,oe,ie;U.enter().append("g").classed("bullet",!0),U.attr("transform",t(se.l,se.t)),O.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),O.selectAll("g.xbulletaxistick,path,text").remove();var j=se.h,Q=I.gauge.bar.thickness*j,re=le.x[0],ue=le.x[0]+(le.x[1]-le.x[0])*(I._hasNumber||I._hasDelta?1-n.bulletNumberDomainSize:1);Z=u(z,I.gauge.axis),Z._id="xbulletaxis",Z.domain=[re,ue],Z.setScale(),ee=s.calcTicks(Z),V=s.makeTransTickFn(Z),oe=s.getTickSigns(Z)[2],ie=se.t+se.h,Z.visible&&(s.drawTicks(z,Z,{vals:Z.ticks==="inside"?s.clipEnds(Z,ee):ee,layer:O,path:s.makeTickPath(Z,ie,oe),transFn:V}),s.drawLabels(z,Z,{vals:ee,layer:O,transFn:V,labelFns:s.makeLabelFns(Z,ie)}));function _e(et){et.attr("width",function(nt){return Math.max(0,Z.c2p(nt.range[1])-Z.c2p(nt.range[0]))}).attr("x",function(nt){return Z.c2p(nt.range[0])}).attr("y",function(nt){return .5*(1-nt.thickness)*j}).attr("height",function(nt){return nt.thickness*j})}var we=[X].concat(I.gauge.steps),Re=U.selectAll("g.bg-bullet").data(we);Re.enter().append("g").classed("bg-bullet",!0).append("rect"),Re.select("rect").call(_e).call(b),Re.exit().remove();var ze=U.selectAll("g.value-bullet").data([I.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(ce)?ze.select("rect").transition().duration(ce.duration).ease(ce.easing).each("end",function(){q&&q()}).each("interrupt",function(){q&&q()}).attr("width",Math.max(0,Z.c2p(Math.min(I.gauge.axis.range[1],N[0].y)))):ze.select("rect").attr("width",typeof N[0].y=="number"?Math.max(0,Z.c2p(Math.min(I.gauge.axis.range[1],N[0].y))):0),ze.exit().remove();var Xe=N.filter(function(){return I.gauge.threshold.value||I.gauge.threshold.value===0}),tt=U.selectAll("g.threshold-bullet").data(Xe);tt.enter().append("g").classed("threshold-bullet",!0).append("line"),tt.select("line").attr("x1",Z.c2p(I.gauge.threshold.value)).attr("x2",Z.c2p(I.gauge.threshold.value)).attr("y1",(1-I.gauge.threshold.thickness)/2*j).attr("y2",(1-(1-I.gauge.threshold.thickness)/2)*j).call(d.stroke,I.gauge.threshold.line.color).style("stroke-width",I.gauge.threshold.line.width),tt.exit().remove();var it=U.selectAll("g.gauge-outline").data([J]);it.enter().append("g").classed("gauge-outline",!0).append("rect"),it.select("rect").call(_e).call(b),it.exit().remove()}function M(z,F,N,B){var I=N[0].trace,U=B.size,O=B.radius,X=B.innerRadius,J=B.gaugeBg,se=B.gaugeOutline,le=[U.l+U.w/2,U.t+U.h/2+O/2],ce=B.gauge,q=B.layer,Z=B.transitionOpts,ee=B.onComplete,V=Math.PI/2;function oe(It){var Pt=I.gauge.axis.range[0],Vt=I.gauge.axis.range[1],Wt=(It-Pt)/(Vt-Pt)*Math.PI-V;return Wt<-V?-V:Wt>V?V:Wt}function ie(It){return p.svg.arc().innerRadius((X+O)/2-It/2*(O-X)).outerRadius((X+O)/2+It/2*(O-X)).startAngle(-V)}function j(It){It.attr("d",function(Pt){return ie(Pt.thickness).startAngle(oe(Pt.range[0])).endAngle(oe(Pt.range[1]))()})}var Q,re,ue,_e;ce.enter().append("g").classed("angular",!0),ce.attr("transform",t(le[0],le[1])),q.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),q.selectAll("g.xangularaxistick,path,text").remove(),Q=u(z,I.gauge.axis),Q.type="linear",Q.range=I.gauge.axis.range,Q._id="xangularaxis",Q.ticklabeloverflow="allow",Q.setScale();var we=function(It){return(Q.range[0]-It.x)/(Q.range[1]-Q.range[0])*Math.PI+Math.PI},Re={},ze=s.makeLabelFns(Q,0),Xe=ze.labelStandoff;Re.xFn=function(It){var Pt=we(It);return Math.cos(Pt)*Xe},Re.yFn=function(It){var Pt=we(It),Vt=Math.sin(Pt)>0?.2:1;return-Math.sin(Pt)*(Xe+It.fontSize*Vt)+Math.abs(Math.cos(Pt))*(It.fontSize*o)},Re.anchorFn=function(It){var Pt=we(It),Vt=Math.cos(Pt);return Math.abs(Vt)<.1?"middle":Vt>0?"start":"end"},Re.heightFn=function(It,Pt,Vt){var Wt=we(It);return-.5*(1+Math.sin(Wt))*Vt};var tt=function(It){return t(le[0]+O*Math.cos(It),le[1]-O*Math.sin(It))};ue=function(It){return tt(we(It))};var it=function(It){var Pt=we(It);return tt(Pt)+"rotate("+-r(Pt)+")"};if(re=s.calcTicks(Q),_e=s.getTickSigns(Q)[2],Q.visible){_e=Q.ticks==="inside"?-1:1;var et=(Q.linewidth||1)/2;s.drawTicks(z,Q,{vals:re,layer:q,path:"M"+_e*et+",0h"+_e*Q.ticklen,transFn:it}),s.drawLabels(z,Q,{vals:re,layer:q,transFn:ue,labelFns:Re})}var nt=[J].concat(I.gauge.steps),Ae=ce.selectAll("g.bg-arc").data(nt);Ae.enter().append("g").classed("bg-arc",!0).append("path"),Ae.select("path").call(j).call(b),Ae.exit().remove();var me=ie(I.gauge.bar.thickness),fe=ce.selectAll("g.value-arc").data([I.gauge.bar]);fe.enter().append("g").classed("value-arc",!0).append("path");var Be=fe.select("path");w(Z)?(Be.transition().duration(Z.duration).ease(Z.easing).each("end",function(){ee&&ee()}).each("interrupt",function(){ee&&ee()}).attrTween("d",v(me,oe(N[0].lastY),oe(N[0].y))),I._lastValue=N[0].y):Be.attr("d",typeof N[0].y=="number"?me.endAngle(oe(N[0].y)):"M0,0Z"),Be.call(b),fe.exit().remove(),nt=[];var Qe=I.gauge.threshold.value;(Qe||Qe===0)&&nt.push({range:[Qe,Qe],color:I.gauge.threshold.color,line:{color:I.gauge.threshold.line.color,width:I.gauge.threshold.line.width},thickness:I.gauge.threshold.thickness});var at=ce.selectAll("g.threshold-arc").data(nt);at.enter().append("g").classed("threshold-arc",!0).append("path"),at.select("path").call(j).call(b),at.exit().remove();var $e=ce.selectAll("g.gauge-outline").data([se]);$e.enter().append("g").classed("gauge-outline",!0).append("path"),$e.select("path").call(j).call(b),$e.exit().remove()}function g(z,F,N,B){var I=N[0].trace,U=B.numbersX,O=B.numbersY,X=I.align||"center",J=T[X],se=B.transitionOpts,le=B.onComplete,ce=E.ensureSingle(F,"g","numbers"),q,Z,ee,V=[];I._hasNumber&&V.push("number"),I._hasDelta&&(V.push("delta"),I.delta.position==="left"&&V.reverse());var oe=ce.selectAll("text").data(V);oe.enter().append("text"),oe.attr("text-anchor",function(){return J}).attr("class",function(tt){return tt}).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),oe.exit().remove();function ie(tt,it,et,nt){if(tt.match("s")&&et>=0!=nt>=0&&!it(et).slice(-1).match(_)&&!it(nt).slice(-1).match(_)){var Ae=tt.slice().replace("s","f").replace(/\d+/,function(fe){return parseInt(fe)-1}),me=u(z,{tickformat:Ae});return function(fe){return Math.abs(fe)<1?s.tickText(me,fe).text:it(fe)}}else return it}function j(){var tt=u(z,{tickformat:I.number.valueformat},I._range);tt.setScale(),s.prepTicks(tt);var it=function(fe){return s.tickText(tt,fe).text},et=I.number.suffix,nt=I.number.prefix,Ae=ce.select("text.number");function me(){var fe=typeof N[0].y=="number"?nt+it(N[0].y)+et:"-";Ae.text(fe).call(i.font,I.number.font).call(a.convertToTspans,z)}return w(se)?Ae.transition().duration(se.duration).ease(se.easing).each("end",function(){me(),le&&le()}).each("interrupt",function(){me(),le&&le()}).attrTween("text",function(){var fe=p.select(this),Be=S(N[0].lastY,N[0].y);I._lastValue=N[0].y;var Qe=ie(I.number.valueformat,it,N[0].lastY,N[0].y);return function(at){fe.text(nt+Qe(Be(at))+et)}}):me(),q=R(nt+it(N[0].y)+et,I.number.font,J,z),Ae}function Q(){var tt=u(z,{tickformat:I.delta.valueformat},I._range);tt.setScale(),s.prepTicks(tt);var it=function(at){return s.tickText(tt,at).text},et=I.delta.suffix,nt=I.delta.prefix,Ae=function(at){var $e=I.delta.relative?at.relativeDelta:at.delta;return $e},me=function(at,$e){return at===0||typeof at!="number"||isNaN(at)?"-":(at>0?I.delta.increasing.symbol:I.delta.decreasing.symbol)+nt+$e(at)+et},fe=function(at){return at.delta>=0?I.delta.increasing.color:I.delta.decreasing.color};I._deltaLastValue===void 0&&(I._deltaLastValue=Ae(N[0]));var Be=ce.select("text.delta");Be.call(i.font,I.delta.font).call(d.fill,fe({delta:I._deltaLastValue}));function Qe(){Be.text(me(Ae(N[0]),it)).call(d.fill,fe(N[0])).call(a.convertToTspans,z)}return w(se)?Be.transition().duration(se.duration).ease(se.easing).tween("text",function(){var at=p.select(this),$e=Ae(N[0]),It=I._deltaLastValue,Pt=ie(I.delta.valueformat,it,It,$e),Vt=S(It,$e);return I._deltaLastValue=$e,function(Wt){at.text(me(Vt(Wt),Pt)),at.call(d.fill,fe({delta:Vt(Wt)}))}}).each("end",function(){Qe(),le&&le()}).each("interrupt",function(){Qe(),le&&le()}):Qe(),Z=R(me(Ae(N[0]),it),I.delta.font,J,z),Be}var re=I.mode+I.align,ue;if(I._hasDelta&&(ue=Q(),re+=I.delta.position+I.delta.font.size+I.delta.font.family+I.delta.valueformat,re+=I.delta.increasing.symbol+I.delta.decreasing.symbol,ee=Z),I._hasNumber&&(j(),re+=I.number.font.size+I.number.font.family+I.number.valueformat+I.number.suffix+I.number.prefix,ee=q),I._hasDelta&&I._hasNumber){var _e=[(q.left+q.right)/2,(q.top+q.bottom)/2],we=[(Z.left+Z.right)/2,(Z.top+Z.bottom)/2],Re,ze,Xe=.75*I.delta.font.size;I.delta.position==="left"&&(Re=L(I,"deltaPos",0,-1*(q.width*l[I.align]+Z.width*(1-l[I.align])+Xe),re,Math.min),ze=_e[1]-we[1],ee={width:q.width+Z.width+Xe,height:Math.max(q.height,Z.height),left:Z.left+Re,right:q.right,top:Math.min(q.top,Z.top+ze),bottom:Math.max(q.bottom,Z.bottom+ze)}),I.delta.position==="right"&&(Re=L(I,"deltaPos",0,q.width*(1-l[I.align])+Z.width*l[I.align]+Xe,re,Math.max),ze=_e[1]-we[1],ee={width:q.width+Z.width+Xe,height:Math.max(q.height,Z.height),left:q.left,right:Z.right+Re,top:Math.min(q.top,Z.top+ze),bottom:Math.max(q.bottom,Z.bottom+ze)}),I.delta.position==="bottom"&&(Re=null,ze=Z.height,ee={width:Math.max(q.width,Z.width),height:q.height+Z.height,left:Math.min(q.left,Z.left),right:Math.max(q.right,Z.right),top:q.bottom-q.height,bottom:q.bottom+Z.height}),I.delta.position==="top"&&(Re=null,ze=q.top,ee={width:Math.max(q.width,Z.width),height:q.height+Z.height,left:Math.min(q.left,Z.left),right:Math.max(q.right,Z.right),top:q.bottom-q.height-Z.height,bottom:q.bottom}),ue.attr({dx:Re,dy:ze})}(I._hasNumber||I._hasDelta)&&ce.attr("transform",function(){var tt=B.numbersScaler(ee);re+=tt[2];var it=L(I,"numbersScale",1,tt[0],re,Math.min),et;I._scaleNumbers||(it=1),I._isAngular?et=O-it*ee.bottom:et=O-it*(ee.top+ee.bottom)/2,I._numbersTop=it*ee.top+et;var nt=ee[X];X==="center"&&(nt=(ee.left+ee.right)/2);var Ae=U-it*nt;return Ae=L(I,"numbersTranslate",0,Ae,re,Math.max),t(Ae,et)+e(it)})}function b(z){z.each(function(F){d.stroke(p.select(this),F.line.color)}).each(function(F){d.fill(p.select(this),F.color)}).style("stroke-width",function(F){return F.line.width})}function v(z,F,N){return function(){var B=x(F,N);return function(I){return z.endAngle(B(I))()}}}function u(z,F,N){var B=z._fullLayout,I=E.extendFlat({type:"linear",ticks:"outside",range:N,showline:!0},F),U={type:"linear",_id:"x"+F._id},O={letter:"x",font:B.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function X(J,se){return E.coerce(I,U,m,J,se)}return h(I,U,X,O,B),c(I,U,X,O),U}function y(z,F,N){var B=Math.min(F/z.width,N/z.height);return[B,z,F+"x"+N]}function f(z,F){var N=Math.sqrt(z.width/2*(z.width/2)+z.height*z.height),B=F/N;return[B,z,F]}function R(z,F,N,B){var I=document.createElementNS("http://www.w3.org/2000/svg","text"),U=p.select(I);return U.text(z).attr("x",0).attr("y",0).attr("text-anchor",N).attr("data-unformatted",z).call(a.convertToTspans,B).call(i.font,F),i.bBox(U.node())}function L(z,F,N,B,I,U){var O="_cache"+F;z[O]&&z[O].key===I||(z[O]={key:I,value:N});var X=E.aggNums(U,null,[z[O].value,B],2);return z[O].value=X,X}}}),ZD=De({"src/traces/indicator/index.js"(Y,H){"use strict";H.exports={moduleType:"trace",name:"indicator",basePlotModule:GD(),categories:["svg","noOpacity","noHover"],animatable:!0,attributes:AA(),supplyDefaults:WD().supplyDefaults,calc:XD().calc,plot:YD(),meta:{}}}}),KD=De({"lib/indicator.js"(Y,H){"use strict";H.exports=ZD()}}),MA=De({"src/traces/table/attributes.js"(Y,H){"use strict";var p=q0(),x=Xo().extendFlat,S=gc().overrideAll,E=qu(),e=Ec().attributes,t=of().descriptionOnlyNumbers,r=H.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({},p.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({},p.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")}}),$D=De({"src/traces/table/defaults.js"(Y,H){"use strict";var p=ui(),x=MA(),S=Ec().defaults;function E(e,t){for(var r=e.columnorder||[],o=e.header.values.length,i=r.slice(0,o),n=i.slice().sort(function(h,c){return h-c}),a=i.map(function(h){return n.indexOf(h)}),s=a.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"}}}}),QD=De({"src/traces/table/data_preparation_helper.js"(Y,H){"use strict";var p=EA(),x=Xo().extendFlat,S=vn(),E=vl().isTypedArray,e=vl().isArrayOrTypedArray;H.exports=function(m,d){var T=o(d.cells.values),l=function(J){return J.slice(d.header.values.length,J.length)},_=o(d.header.values);_.length&&!_[0].length&&(_[0]=[""],_=o(_));var w=_.concat(l(T).map(function(){return i((_[0]||[""]).length)})),A=d.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=d.header.values.length?w[0].map(function(){return d.header.height}):[p.emptyHeaderHeight],v=T.length?T[0].map(function(){return d.cells.height}):[],u=b.reduce(r,0),y=g-u,f=y+p.uplift,R=s(v,f),L=s(b,u),z=a(L,[]),F=a(R,z),N={},B=d._fullInput.columnorder;e(B)&&(B=Array.from(B)),B=B.concat(l(T.map(function(J,se){return se})));var I=w.map(function(J,se){var le=e(d.columnwidth)?d.columnwidth[Math.min(se,d.columnwidth.length-1)]:d.columnwidth;return S(le)?Number(le):1}),U=I.reduce(r,0);I=I.map(function(J){return J/U*M});var O=Math.max(t(d.header.line.width),t(d.cells.line.width)),X={key:d.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:O,height:g,columnOrder:B,groupHeight:g,rowBlocks:F,headerRowBlocks:z,scrollY:0,cells:x({},d.cells,{values:T}),headerCells:x({},d.header,{values:w}),gdColumns:w.map(function(J){return J[0]}),gdColumnsOriginalOrder:w.map(function(J){return J[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:w.map(function(J,se){var le=N[J];N[J]=(le||0)+1;var ce=J+"__"+N[J];return{key:ce,label:J,specIndex:se,xIndex:B[se],xScale:n,x:void 0,calcdata:void 0,columnWidth:I[se]}})};return X.columns.forEach(function(J){J.calcdata=X,J.x=n(J)}),X};function t(c){if(e(c)){for(var m=0,d=0;d=m||g===c.length-1)&&(d[l]=w,w.key=M++,w.firstRowIndex=A,w.lastRowIndex=g,w=h(),l+=_,A=g+1,_=0);return d}function h(){return{firstRowIndex:null,lastRowIndex:null,rows:[]}}}}),e4=De({"src/traces/table/data_split_helpers.js"(Y){"use strict";var H=Xo().extendFlat;Y.splitToPanels=function(x){var S=[0,0],E=H({},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:H({},x.calcdata,{cells:x.calcdata.headerCells})}),e=H({},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=H({},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]},Y.splitToCells=function(x){var S=p(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 p(x){var S=x.rowBlocks[x.page],E=S?S.rows[0].rowIndex:0,e=S?E+S.rows.length:0;return[E,e]}}}),kA=De({"src/traces/table/plot.js"(Y,H){"use strict";var p=EA(),x=za(),S=ui(),E=S.numberFormat,e=Uv(),t=ys(),r=vu(),o=ui().raiseToTop,i=ui().strTranslate,n=ui().cancelTransition,a=QD(),s=e4(),h=vo();H.exports=function(re,ue){var _e=!re._context.staticPlot,we=re._fullLayout._paper.selectAll("."+p.cn.table).data(ue.map(function($e){var It=e.unwrap($e),Pt=It.trace;return a(re,Pt)}),e.keyFun);we.exit().remove(),we.enter().append("g").classed(p.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"),we.attr("width",function($e){return $e.width+$e.size.l+$e.size.r}).attr("height",function($e){return $e.height+$e.size.t+$e.size.b}).attr("transform",function($e){return i($e.translateX,$e.translateY)});var Re=we.selectAll("."+p.cn.tableControlView).data(e.repeat,e.keyFun),ze=Re.enter().append("g").classed(p.cn.tableControlView,!0).style("box-sizing","content-box");if(_e){var Xe="onwheel"in document?"wheel":"mousewheel";ze.on("mousemove",function($e){Re.filter(function(It){return $e===It}).call(l,re)}).on(Xe,function($e){if(!$e.scrollbarState.wheeling){$e.scrollbarState.wheeling=!0;var It=$e.scrollY+x.event.deltaY,Pt=J(re,Re,null,It)($e);Pt||(x.event.stopPropagation(),x.event.preventDefault()),$e.scrollbarState.wheeling=!1}}).call(l,re,!0)}Re.attr("transform",function($e){return i($e.size.l,$e.size.t)});var tt=Re.selectAll("."+p.cn.scrollBackground).data(e.repeat,e.keyFun);tt.enter().append("rect").classed(p.cn.scrollBackground,!0).attr("fill","none"),tt.attr("width",function($e){return $e.width}).attr("height",function($e){return $e.height}),Re.each(function($e){t.setClipUrl(x.select(this),m(re,$e),re)});var it=Re.selectAll("."+p.cn.yColumn).data(function($e){return $e.columns},e.keyFun);it.enter().append("g").classed(p.cn.yColumn,!0),it.exit().remove(),it.attr("transform",function($e){return i($e.x,0)}),_e&&it.call(x.behavior.drag().origin(function($e){var It=x.select(this);return N(It,$e,-p.uplift),o(this),$e.calcdata.columnDragInProgress=!0,l(Re.filter(function(Pt){return $e.calcdata.key===Pt.key}),re),$e}).on("drag",function($e){var It=x.select(this),Pt=function(Cr){return($e===Cr?x.event.x:Cr.x)+Cr.columnWidth/2};$e.x=Math.max(-p.overdrag,Math.min($e.calcdata.width+p.overdrag-$e.columnWidth,x.event.x));var Vt=T(it).filter(function(Cr){return Cr.calcdata.key===$e.calcdata.key}),Wt=Vt.sort(function(Cr,yr){return Pt(Cr)-Pt(yr)});Wt.forEach(function(Cr,yr){Cr.xIndex=yr,Cr.x=$e===Cr?Cr.x:Cr.xScale(Cr)}),it.filter(function(Cr){return $e!==Cr}).transition().ease(p.transitionEase).duration(p.transitionDuration).attr("transform",function(Cr){return i(Cr.x,0)}),It.call(n).attr("transform",i($e.x,-p.uplift))}).on("dragend",function($e){var It=x.select(this),Pt=$e.calcdata;$e.x=$e.xScale($e),$e.calcdata.columnDragInProgress=!1,N(It,$e,0),z(re,Pt,Pt.columns.map(function(Vt){return Vt.xIndex}))})),it.each(function($e){t.setClipUrl(x.select(this),d(re,$e),re)});var et=it.selectAll("."+p.cn.columnBlock).data(s.splitToPanels,e.keyFun);et.enter().append("g").classed(p.cn.columnBlock,!0).attr("id",function($e){return $e.key}),et.style("cursor",function($e){return $e.dragHandle?"ew-resize":$e.calcdata.scrollbarState.barWiggleRoom?"ns-resize":"default"});var nt=et.filter(I),Ae=et.filter(B);_e&&Ae.call(x.behavior.drag().origin(function($e){return x.event.stopPropagation(),$e}).on("drag",J(re,Re,-1)).on("dragend",function(){})),_(re,Re,nt,et),_(re,Re,Ae,et);var me=Re.selectAll("."+p.cn.scrollAreaClip).data(e.repeat,e.keyFun);me.enter().append("clipPath").classed(p.cn.scrollAreaClip,!0).attr("id",function($e){return m(re,$e)});var fe=me.selectAll("."+p.cn.scrollAreaClipRect).data(e.repeat,e.keyFun);fe.enter().append("rect").classed(p.cn.scrollAreaClipRect,!0).attr("x",-p.overdrag).attr("y",-p.uplift).attr("fill","none"),fe.attr("width",function($e){return $e.width+2*p.overdrag}).attr("height",function($e){return $e.height+p.uplift});var Be=it.selectAll("."+p.cn.columnBoundary).data(e.repeat,e.keyFun);Be.enter().append("g").classed(p.cn.columnBoundary,!0);var Qe=it.selectAll("."+p.cn.columnBoundaryClippath).data(e.repeat,e.keyFun);Qe.enter().append("clipPath").classed(p.cn.columnBoundaryClippath,!0),Qe.attr("id",function($e){return d(re,$e)});var at=Qe.selectAll("."+p.cn.columnBoundaryRect).data(e.repeat,e.keyFun);at.enter().append("rect").classed(p.cn.columnBoundaryRect,!0).attr("fill","none"),at.attr("width",function($e){return $e.columnWidth+2*c($e)}).attr("height",function($e){return $e.calcdata.height+2*c($e)+p.uplift}).attr("x",function($e){return-c($e)}).attr("y",function($e){return-c($e)}),X(null,Ae,Re)};function c(Q){return Math.ceil(Q.calcdata.maxLineWidth/2)}function m(Q,re){return"clip"+Q._fullLayout._uid+"_scrollAreaBottomClip_"+re.key}function d(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,ue){function _e(it){var et=it.rowBlocks;return ee(et,et.length-1)+(et.length?V(et[et.length-1],1/0):1)}var we=Q.selectAll("."+p.cn.scrollbarKit).data(e.repeat,e.keyFun);we.enter().append("g").classed(p.cn.scrollbarKit,!0).style("shape-rendering","geometricPrecision"),we.each(function(it){var et=it.scrollbarState;et.totalHeight=_e(it),et.scrollableAreaHeight=it.groupHeight-U(it),et.currentlyVisibleHeight=Math.min(et.totalHeight,et.scrollableAreaHeight),et.ratio=et.currentlyVisibleHeight/et.totalHeight,et.barLength=Math.max(et.ratio*et.currentlyVisibleHeight,p.goldenRatio*p.scrollbarWidth),et.barWiggleRoom=et.currentlyVisibleHeight-et.barLength,et.wiggleRoom=Math.max(0,et.totalHeight-et.scrollableAreaHeight),et.topY=et.barWiggleRoom===0?0:it.scrollY/et.wiggleRoom*et.barWiggleRoom,et.bottomY=et.topY+et.barLength,et.dragMultiplier=et.wiggleRoom/et.barWiggleRoom}).attr("transform",function(it){var et=it.width+p.scrollbarWidth/2+p.scrollbarOffset;return i(et,U(it))});var Re=we.selectAll("."+p.cn.scrollbar).data(e.repeat,e.keyFun);Re.enter().append("g").classed(p.cn.scrollbar,!0);var ze=Re.selectAll("."+p.cn.scrollbarSlider).data(e.repeat,e.keyFun);ze.enter().append("g").classed(p.cn.scrollbarSlider,!0),ze.attr("transform",function(it){return i(0,it.scrollbarState.topY||0)});var Xe=ze.selectAll("."+p.cn.scrollbarGlyph).data(e.repeat,e.keyFun);Xe.enter().append("line").classed(p.cn.scrollbarGlyph,!0).attr("stroke","black").attr("stroke-width",p.scrollbarWidth).attr("stroke-linecap","round").attr("y1",p.scrollbarWidth/2),Xe.attr("y2",function(it){return it.scrollbarState.barLength-p.scrollbarWidth/2}).attr("stroke-opacity",function(it){return it.columnDragInProgress||!it.scrollbarState.barWiggleRoom||ue?0:.4}),Xe.transition().delay(0).duration(0),Xe.transition().delay(p.scrollbarHideDelay).duration(p.scrollbarHideDuration).attr("stroke-opacity",0);var tt=Re.selectAll("."+p.cn.scrollbarCaptureZone).data(e.repeat,e.keyFun);tt.enter().append("line").classed(p.cn.scrollbarCaptureZone,!0).attr("stroke","white").attr("stroke-opacity",.01).attr("stroke-width",p.scrollbarCaptureWidth).attr("stroke-linecap","butt").attr("y1",0).on("mousedown",function(it){var et=x.event.y,nt=this.getBoundingClientRect(),Ae=it.scrollbarState,me=et-nt.top,fe=x.scale.linear().domain([0,Ae.scrollableAreaHeight]).range([0,Ae.totalHeight]).clamp(!0);Ae.topY<=me&&me<=Ae.bottomY||J(re,Q,null,fe(me-Ae.barLength/2))(it)}).call(x.behavior.drag().origin(function(it){return x.event.stopPropagation(),it.scrollbarState.scrollbarScrollInProgress=!0,it}).on("drag",J(re,Q)).on("dragend",function(){})),tt.attr("y2",function(it){return it.scrollbarState.scrollableAreaHeight}),re._context.staticPlot&&(Xe.remove(),tt.remove())}function _(Q,re,ue,_e){var we=w(ue),Re=A(we);v(Re);var ze=M(Re);y(ze);var Xe=b(Re),tt=g(Xe);u(tt),f(tt,re,_e,Q),Z(Re)}function w(Q){var re=Q.selectAll("."+p.cn.columnCells).data(e.repeat,e.keyFun);return re.enter().append("g").classed(p.cn.columnCells,!0),re.exit().remove(),re}function A(Q){var re=Q.selectAll("."+p.cn.columnCell).data(s.splitToCells,function(ue){return ue.keyWithinBlock});return re.enter().append("g").classed(p.cn.columnCell,!0),re.exit().remove(),re}function M(Q){var re=Q.selectAll("."+p.cn.cellRect).data(e.repeat,function(ue){return ue.keyWithinBlock});return re.enter().append("rect").classed(p.cn.cellRect,!0),re}function g(Q){var re=Q.selectAll("."+p.cn.cellText).data(e.repeat,function(ue){return ue.keyWithinBlock});return re.enter().append("text").classed(p.cn.cellText,!0).style("cursor",function(){return"auto"}).on("mousedown",function(){x.event.stopPropagation()}),re}function b(Q){var re=Q.selectAll("."+p.cn.cellTextHolder).data(e.repeat,function(ue){return ue.keyWithinBlock});return re.enter().append("g").classed(p.cn.cellTextHolder,!0).style("shape-rendering","geometricPrecision"),re}function v(Q){Q.each(function(re,ue){var _e=re.calcdata.cells.font,we=re.column.specIndex,Re={size:F(_e.size,we,ue),color:F(_e.color,we,ue),family:F(_e.family,we,ue),weight:F(_e.weight,we,ue),style:F(_e.style,we,ue),variant:F(_e.variant,we,ue),textcase:F(_e.textcase,we,ue),lineposition:F(_e.lineposition,we,ue),shadow:F(_e.shadow,we,ue)};re.rowNumber=re.key,re.align=F(re.calcdata.cells.align,we,ue),re.cellBorderWidth=F(re.calcdata.cells.line.width,we,ue),re.font=Re})}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 ue=x.select(this);h.stroke(ue,F(re.calcdata.cells.line.color,re.column.specIndex,re.rowNumber)),h.fill(ue,F(re.calcdata.cells.fill.color,re.column.specIndex,re.rowNumber))})}function f(Q,re,ue,_e){Q.text(function(we){var Re=we.column.specIndex,ze=we.rowNumber,Xe=we.value,tt=typeof Xe=="string",it=tt&&Xe.match(/
/i),et=!tt||it;we.mayHaveMarkup=tt&&Xe.match(/[<&>]/);var nt=R(Xe);we.latex=nt;var Ae=nt?"":F(we.calcdata.cells.prefix,Re,ze)||"",me=nt?"":F(we.calcdata.cells.suffix,Re,ze)||"",fe=nt?null:F(we.calcdata.cells.format,Re,ze)||null,Be=Ae+(fe?E(fe)(we.value):we.value)+me,Qe;we.wrappingNeeded=!we.wrapped&&!et&&!nt&&(Qe=L(Be)),we.cellHeightMayIncrease=it||nt||we.mayHaveMarkup||(Qe===void 0?L(Be):Qe),we.needsConvertToTspans=we.mayHaveMarkup||we.wrappingNeeded||we.latex;var at;if(we.wrappingNeeded){var $e=p.wrapSplitCharacter===" "?Be.replace(/we&&_e.push(Re),we+=tt}return _e}function X(Q,re,ue){var _e=T(re)[0];if(_e!==void 0){var we=_e.rowBlocks,Re=_e.calcdata,ze=ee(we,we.length),Xe=_e.calcdata.groupHeight-U(_e),tt=Re.scrollY=Math.max(0,Math.min(ze-Xe,Re.scrollY)),it=O(we,tt,Xe);it.length===1&&(it[0]===we.length-1?it.unshift(it[0]-1):it.push(it[0]+1)),it[0]%2&&it.reverse(),re.each(function(et,nt){et.page=it[nt],et.scrollY=tt}),re.attr("transform",function(et){var nt=ee(et.rowBlocks,et.page)-et.scrollY;return i(0,nt)}),Q&&(se(Q,ue,re,it,_e.prevPages,_e,0),se(Q,ue,re,it,_e.prevPages,_e,1),l(ue,Q))}}function J(Q,re,ue,_e){return function(Re){var ze=Re.calcdata?Re.calcdata:Re,Xe=re.filter(function(nt){return ze.key===nt.key}),tt=ue||ze.scrollbarState.dragMultiplier,it=ze.scrollY;ze.scrollY=_e===void 0?ze.scrollY+tt*x.event.dy:_e;var et=Xe.selectAll("."+p.cn.yColumn).selectAll("."+p.cn.columnBlock).filter(B);return X(Q,et,Xe),ze.scrollY===it}}function se(Q,re,ue,_e,we,Re,ze){var Xe=_e[ze]!==we[ze];Xe&&(clearTimeout(Re.currentRepaint[ze]),Re.currentRepaint[ze]=setTimeout(function(){var tt=ue.filter(function(it,et){return et===ze&&_e[et]!==we[et]});_(Q,re,tt,ue),we[ze]=_e[ze]}))}function le(Q,re,ue,_e){return function(){var Re=x.select(re.parentNode);Re.each(function(ze){var Xe=ze.fragments;Re.selectAll("tspan.line").each(function(Be,Qe){Xe[Qe].width=this.getComputedTextLength()});var tt=Xe[Xe.length-1].width,it=Xe.slice(0,-1),et=[],nt,Ae,me=0,fe=ze.column.columnWidth-2*p.cellPad;for(ze.value="";it.length;)nt=it.shift(),Ae=nt.width+tt,me+Ae>fe&&(ze.value+=et.join(p.wrapSpacer)+p.lineBreaker,et=[],me=0),et.push(nt.text),me+=Ae;me&&(ze.value+=et.join(p.wrapSpacer)),ze.wrapped=!0}),Re.selectAll("tspan.line").remove(),f(Re.select("."+p.cn.cellText),ue,Q,_e),x.select(re.parentNode.parentNode).call(Z)}}function ce(Q,re,ue,_e,we){return function(){if(!we.settledY){var ze=x.select(re.parentNode),Xe=ie(we),tt=we.key-Xe.firstRowIndex,it=Xe.rows[tt].rowHeight,et=we.cellHeightMayIncrease?re.parentNode.getBoundingClientRect().height+2*p.cellPad:it,nt=Math.max(et,it),Ae=nt-Xe.rows[tt].rowHeight;Ae&&(Xe.rows[tt].rowHeight=nt,Q.selectAll("."+p.cn.columnCell).call(Z),X(null,Q.filter(B),0),l(ue,_e,!0)),ze.attr("transform",function(){var me=this,fe=me.parentNode,Be=fe.getBoundingClientRect(),Qe=x.select(me.parentNode).select("."+p.cn.cellRect).node().getBoundingClientRect(),at=me.transform.baseVal.consolidate(),$e=Qe.top-Be.top+(at?at.matrix.f:p.cellPad);return i(q(we,x.select(me.parentNode).select("."+p.cn.cellTextHolder).node().getBoundingClientRect().width),$e)}),we.settledY=!0}}}function q(Q,re){switch(Q.align){case"left":return p.cellPad;case"right":return Q.column.columnWidth-(re||0)-p.cellPad;case"center":return(Q.column.columnWidth-(re||0))/2;default:return p.cellPad}}function Z(Q){Q.attr("transform",function(re){var ue=re.rowBlocks[0].auxiliaryBlocks.reduce(function(ze,Xe){return ze+V(Xe,1/0)},0),_e=ie(re),we=V(_e,re.key),Re=we+ue;return i(0,Re)}).selectAll("."+p.cn.cellRect).attr("height",function(re){return j(ie(re),re.key).rowHeight})}function ee(Q,re){for(var ue=0,_e=re-1;_e>=0;_e--)ue+=oe(Q[_e]);return ue}function V(Q,re){for(var ue=0,_e=0;_eE.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:a}}}}),c4=De({"src/traces/carpet/plot.js"(Y,H){"use strict";var p=za(),x=ys(),S=CA(),E=LA(),e=u4(),t=vu(),r=ui(),o=r.strRotate,i=r.strTranslate,n=rh();H.exports=function(_,w,A,M){var g=_._context.staticPlot,b=w.xaxis,v=w.yaxis,u=_._fullLayout,y=u._clips;r.makeTraceGroups(M,A,"trace").each(function(f){var R=p.select(this),L=f[0],z=L.trace,F=z.aaxis,N=z.baxis,B=r.ensureSingle(R,"g","minorlayer"),I=r.ensureSingle(R,"g","majorlayer"),U=r.ensureSingle(R,"g","boundarylayer"),O=r.ensureSingle(R,"g","labellayer");R.style("opacity",z.opacity),s(b,v,I,F,"a",F._gridlines,!0,g),s(b,v,I,N,"b",N._gridlines,!0,g),s(b,v,B,F,"a",F._minorgridlines,!0,g),s(b,v,B,N,"b",N._minorgridlines,!0,g),s(b,v,U,F,"a-boundary",F._boundarylines,g),s(b,v,U,N,"b-boundary",N._boundarylines,g);var X=h(_,b,v,z,L,O,F._labels,"a-label"),J=h(_,b,v,z,L,O,N._labels,"b-label");c(_,O,z,L,b,v,X,J),a(z,L,y,b,v)})};function a(l,_,w,A,M){var g,b,v,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),I=x.bBox(this);B.attr("transform",i(z.p[0],z.p[1])+o(z.angle)+i(R.axis.labelpadding*N,I.height*.3)),y=Math.max(y,I.width+R.axis.labelpadding)}),u.exit().remove(),f.maxExtent=y,f}function c(l,_,w,A,M,g,b,v){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),v.angle===void 0&&r.extendFlat(v,e(w,M,g,f,w.dxyda_rough(u,y))),T(l,_,w,A,f,R,w.baxis,M,g,v,"b-title")}var m=n.LINE_SPACING,d=(1-n.MID_SHIFT)/m+1;function T(l,_,w,A,M,g,b,v,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,v,u,M,g);["start","both"].indexOf(b.showticklabels)===-1&&(z=0);var N=b.title.font.size;z+=N+b.title.offset;var B=y.angle+(y.flip<0?180:0),I=(B-F.angle+450)%360,U=I>90&&I<270,O=p.select(this);O.text(b.title.text).call(t.convertToTspans,l),U&&(z=(-t.lineCount(O)+d)*m*N-z),O.attr("transform",i(F.p[0],F.p[1])+o(F.angle)+i(0,z)).attr("text-anchor","middle").call(x.font,b.title.font)}),L.exit().remove()}}}),f4=De({"src/traces/carpet/cheater_basis.js"(Y,H){"use strict";var p=ui().isArrayOrTypedArray;H.exports=function(x,S,E){var e,t,r,o,i,n,a=[],s=p(x)?x.length:x,h=p(S)?S.length:S,c=p(x)?x:null,m=p(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 d,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&&(V=E.dxydi([],X-1,se,0,le),Q.push(ce[0]+V[0]/3),re.push(ce[1]+V[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]),ce=ee;else for(X=E.a2i(O),q=Math.floor(Math.max(0,Math.min(F-2,X))),Z=X-q,ue.length=F,ue.crossLength=N,ue.xy=function(_e){return E.evalxy([],X,_e)},ue.dxy=function(_e,we){return E.dxydj([],q,_e,Z,we)},J=0;J0&&(ie=E.dxydj([],q,J-1,Z,0),Q.push(ce[0]+ie[0]/3),re.push(ce[1]+ie[1]/3),j=E.dxydj([],q,J-1,Z,1),Q.push(ee[0]-j[0]/3),re.push(ee[1]-j[1]/3)),Q.push(ee[0]),re.push(ee[1]),ce=ee;return ue.axisLetter=e,ue.axis=M,ue.crossAxis=y,ue.value=O,ue.constvar=t,ue.index=c,ue.x=Q,ue.y=re,ue.smoothing=y.smoothing,ue}function U(O){var X,J,se,le,ce,q=[],Z=[],ee={};if(ee.length=A.length,ee.crossLength=u.length,e==="b")for(se=Math.max(0,Math.min(N-2,O)),ce=Math.min(1,Math.max(0,O-se)),ee.xy=function(V){return E.evalxy([],V,O)},ee.dxy=function(V,oe){return E.dxydi([],V,se,oe,ce)},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[i],_=A[T],r=0;rA[A.length-1])&&b.push(x(I(d),{color:M.minorgridcolor,width:M.minorgridwidth,dash:M.minorgriddash})));M.startline&&v.push(x(U(0),{color:M.startlinecolor,width:M.startlinewidth})),M.endline&&v.push(x(U(A.length-1),{color:M.endlinecolor,width:M.endlinewidth}))}else{for(n=5e-15,a=[Math.floor((A[A.length-1]-M.tick0)/M.dtick*(1+n)),Math.ceil((A[0]-M.tick0)/M.dtick/(1+n))].sort(function(O,X){return O-X}),s=a[0],h=a[1],c=s;c<=h;c++)m=M.tick0+M.dtick*c,g.push(x(I(m),{color:M.gridcolor,width:M.gridwidth,dash:M.griddash}));for(c=s-1;cA[A.length-1])&&b.push(x(I(d),{color:M.minorgridcolor,width:M.minorgridwidth,dash:M.minorgriddash}));M.startline&&v.push(x(I(A[0]),{color:M.startlinecolor,width:M.startlinewidth})),M.endline&&v.push(x(I(A[A.length-1]),{color:M.endlinecolor,width:M.endlinewidth}))}}}}),v4=De({"src/traces/carpet/calc_labels.js"(Y,H){"use strict";var p=us(),x=Xo().extendFlat;H.exports=function(E,e){var t,r,o,i,n,a=e._labels=[],s=e._gridlines;for(t=0;t=0;t--)r[s-t]=x[h][t],o[s-t]=S[h][t];for(i.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 i.push({x:r,y:o,bicubic:a}),i}}}),m4=De({"src/traces/carpet/smooth_fill_2d_array.js"(Y,H){"use strict";var p=ui();H.exports=function(S,E,e){var t,r,o,i=[],n=[],a=S[0].length,s=S.length;function h(J,se){var le=0,ce,q=0;return J>0&&(ce=S[se][J-1])!==void 0&&(q++,le+=ce),J0&&(ce=S[se-1][J])!==void 0&&(q++,le+=ce),se0&&r0&&tu);return p.log("Smoother converged to",y,"after",R,"iterations"),S}}}),g4=De({"src/traces/carpet/constants.js"(Y,H){"use strict";H.exports={RELATIVE_CULL_TOLERANCE:1e-6}}}),y4=De({"src/traces/carpet/catmull_rom.js"(Y,H){"use strict";var p=.5;H.exports=function(S,E,e,t){var r=S[0]-E[0],o=S[1]-E[1],i=e[0]-E[0],n=e[1]-E[1],a=Math.pow(r*r+o*o,p/2),s=Math.pow(i*i+n*n,p/2),h=(s*s*r-a*a*i)*t,c=(s*s*o-a*a*n)*t,m=s*(a+s)*3,d=a*(a+s)*3;return[[E[0]+(m&&h/m),E[1]+(m&&c/m)],[E[0]-(d&&h/d),E[1]-(d&&c/d)]]}}}),_4=De({"src/traces/carpet/compute_control_points.js"(Y,H){"use strict";var p=y4(),x=ui().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]}H.exports=function(e,t,r,o,i,n){var a,s,h,c,m,d,T,l,_,w,A=r[0].length,M=r.length,g=i?3*A-2:A,b=n?3*M-2:M;for(e=x(e,b),t=x(t,b),h=0;hm&&gT&&bd||bl},o.setScale=function(){var g=o._x,b=o._y,v=S(o._xctrl,o._yctrl,g,b,h.smoothing,c.smoothing);o._xctrl=v[0],o._yctrl=v[1],o.evalxy=E([o._xctrl,o._yctrl],a,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]),a-2),v=g[0]-b;return(1-v)*i[b]+v*i[b+1]},o.j2b=function(g){var b=Math.max(0,Math.floor(g[1]),a-2),v=g[1]-b;return(1-v)*n[b]+v*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,i),a-2)),v=i[b],u=i[b+1];return Math.max(0,Math.min(a-1,b+(g-v)/(u-v)))},o.b2j=function(g){var b=Math.max(0,Math.min(x(g,n),s-2)),v=n[b],u=n[b+1];return Math.max(0,Math.min(s-1,b+(g-v)/(u-v)))},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,v){if(!v&&(gi[a-1]|bn[s-1]))return[!1,!1];var u=o.a2i(g),y=o.b2j(b),f=o.evalxy([],u,y);if(v){var R=0,L=0,z=[],F,N,B,I;gi[a-1]?(F=a-2,N=1,R=(g-i[a-1])/(i[a-1]-i[a-2])):(F=Math.max(0,Math.min(a-2,Math.floor(u))),N=u-F),bn[s-1]?(B=s-2,I=1,L=(b-n[s-1])/(n[s-1]-n[s-2])):(B=Math.max(0,Math.min(s-2,Math.floor(y))),I=y-B),R&&(o.dxydi(z,F,B,N,I),f[0]+=z[0]*R,f[1]+=z[1]*R),L&&(o.dxydj(z,F,B,N,I),f[0]+=z[0]*L,f[1]+=z[1]*L)}return f},o.c2p=function(g,b,v){return[b.c2p(g[0]),v.c2p(g[1])]},o.p2x=function(g,b,v){return[b.p2c(g[0]),v.p2c(g[1])]},o.dadi=function(g){var b=Math.max(0,Math.min(i.length-2,g));return i[b+1]-i[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,v,u){var y=o.dxydi(null,g,b,v,u),f=o.dadi(g,v);return[y[0]/f,y[1]/f]},o.dxydb=function(g,b,v,u){var y=o.dxydj(null,g,b,v,u),f=o.dbdj(b,u);return[y[0]/f,y[1]/f]},o.dxyda_rough=function(g,b,v){var u=_*(v||.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,v){var u=w*(v||.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}}}}),A4=De({"src/traces/carpet/calc.js"(Y,H){"use strict";var p=us(),x=ui().isArray1D,S=f4(),E=h4(),e=d4(),t=v4(),r=p4(),o=$_(),i=m4(),n=K_(),a=T4();H.exports=function(h,c){var m=p.getFromId(h,c.xaxis),d=p.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 v=T.cheatertype==="index"?M.length:M,u=l.cheatertype==="index"?g.length:g;_=S(v,u,c.cheaterslope)}c._x=_=o(_),c._y=w=o(w),i(_,M,g),i(w,M,g),a(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]=p.findExtremes(m,y,{padded:!0}),c._extremes[d._id]=p.findExtremes(d,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]}}}),S4=De({"src/traces/carpet/index.js"(Y,H){"use strict";H.exports={attributes:Rb(),supplyDefaults:l4(),plot:c4(),calc:A4(),animatable:!0,isContainer:!0,moduleType:"trace",name:"carpet",basePlotModule:Gf(),categories:["cartesian","svg","carpet","carpetAxis","notLegendIsolatable","noMultiCategory","noHover","noSortingByValue"],meta:{}}}}),M4=De({"lib/carpet.js"(Y,H){"use strict";H.exports=S4()}}),IA=De({"src/traces/scattercarpet/attributes.js"(Y,H){"use strict";var p=vv(),x=lf(),S=Yl(),{hovertemplateAttrs:E,texttemplateAttrs:e,templatefallbackAttrs:t}=ou(),r=zu(),o=Xo().extendFlat,i=x.marker,n=x.line,a=i.line;H.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:p(),marker:o({symbol:i.symbol,opacity:i.opacity,maxdisplayed:i.maxdisplayed,angle:i.angle,angleref:i.angleref,standoff:i.standoff,size:i.size,sizeref:i.sizeref,sizemin:i.sizemin,sizemode:i.sizemode,line:o({width:a.width,dash:a.dash,editType:"calc"},r("marker.line")),gradient:i.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}}}),E4=De({"src/traces/scattercarpet/defaults.js"(Y,H){"use strict";var p=ui(),x=zv(),S=Hu(),E=Od(),e=Wd(),t=eg(),r=Xd(),o=mv(),i=IA();H.exports=function(a,s,h,c){function m(M,g){return p.coerce(a,s,i,M,g)}m("carpet"),s.xaxis="x",s.yaxis="y";var d=m("a"),T=m("b"),l=Math.min(d.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&&_(d.aaxis,c.a),A.indexOf("b")!==-1&&_(d.baxis,c.b),l.push("y: "+i.yLabel),A.indexOf("text")!==-1&&x(c,m,l),i.extraText=l.join("
")}return o}}}),P4=De({"src/traces/scattercarpet/event_data.js"(Y,H){"use strict";H.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}}}),R4=De({"src/traces/scattercarpet/index.js"(Y,H){"use strict";H.exports={attributes:IA(),supplyDefaults:E4(),colorbar:qh(),formatLabels:k4(),calc:C4(),plot:L4(),style:Sd().style,styleOnSelect:Sd().styleOnSelect,hoverPoints:I4(),selectPoints:ag(),eventData:P4(),moduleType:"trace",name:"scattercarpet",basePlotModule:Gf(),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}}}),D4=De({"lib/scattercarpet.js"(Y,H){"use strict";H.exports=R4()}}),PA=De({"src/traces/contourcarpet/attributes.js"(Y,H){"use strict";var p=sg(),x=Sy(),S=zu(),E=Xo().extendFlat,e=x.contours;H.exports=E({carpet:{valType:"string",editType:"calc"},z:p.z,a:p.x,a0:p.x0,da:p.dx,b:p.y,b0:p.y0,db:p.dy,text:p.text,hovertext:p.hovertext,transpose:p.transpose,atype:p.xtype,btype:p.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}))}}),RA=De({"src/traces/contourcarpet/defaults.js"(Y,H){"use strict";var p=ui(),x=Z_(),S=PA(),E=a3(),e=ux(),t=cx();H.exports=function(o,i,n,a){function s(d,T){return p.coerce(o,i,S,d,T)}function h(d){return p.coerce2(o,i,S,d)}if(s("carpet"),o.a&&o.b){var c=x(o,i,s,a,"a","b");if(!c){i.visible=!1;return}s("text");var m=s("contours.type")==="constraint";m?E(o,i,s,a,n,{hasHover:!1}):(e(o,i,s,h),t(o,i,s,a,{hasHover:!1}))}else i._defaultColor=n,i._length=null;s("zorder")}}}),z4=De({"src/traces/contourcarpet/calc.js"(Y,H){"use strict";var p=Jh(),x=ui(),S=K_(),E=$_(),e=J_(),t=Q_(),r=V2(),o=RA(),i=Db(),n=Z2();H.exports=function(h,c){var m=c._carpetTrace=i(h,c);if(!(!m||!m.visible||m.visible==="legendonly")){if(!c.a||!c.b){var d=h.data[m.index],T=h.data[c.index];T.a||(T.a=d.a),T.b||(T.b=d.b),o(T,c,c._defaultColor,h._fullLayout)}var l=a(h,c);return n(c,c._z),l}};function a(s,h){var c=h._carpetTrace,m=c.aaxis,d=c.baxis,T,l,_,w,A,M,g;m._minDtick=0,d._minDtick=0,x.isArray1D(h.z)&&S(h,m,d,"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?d.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),v=h.xtype==="scaled"?"":T,u=r(h,v,l,_,b,m),y=h.ytype==="scaled"?"":w,f=r(h,y,A,M,g.length,d),R={a:u,b:f,z:g};return h.contours.type==="levels"&&h.contours.coloring!=="none"&&p(s,h,{vals:g,containerStr:"",cLetter:"z"}),[R]}}}),F4=De({"src/traces/carpet/axis_aligned_line.js"(Y,H){"use strict";var p=ui().isArrayOrTypedArray;H.exports=function(x,S,E,e){var t,r,o,i,n,a,s,h,c,m,d,T,l,_=p(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,v=_==="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)),i=y-o,r=_==="a"?function(se,le){return x.dxydi([],se,o,le,i)}:function(se,le){return x.dxydj([],o,se,i,le)});var R=M(g[0]),L=M(g[1]),z=R0?Math.floor:Math.ceil,B=z>0?Math.ceil:Math.floor,I=z>0?Math.min:Math.max,U=z>0?Math.max:Math.min,O=N(R+F),X=B(L-F);s=f(R);var J=[[s]];for(t=O;t*z=0;ue--)j=U.clipsegments[ue],Q=x([],j.x,R.c2p),re=x([],j.y,L.c2p),Q.reverse(),re.reverse(),_e.push(S(Q,re,j.bicubic));var we="M"+_e.join("L")+"Z";A(F,U.clipsegments,R,L,le,q),M(B,F,R,L,ie,ee,Z,I,U,q,we),d(F,se,v,N,J,u,I),E.setClipUrl(F,I._clipPathId,v)})};function m(b,v){var u,y,f,R,L,z,F,N,B;for(u=0;use&&(y.max=se),y.len=y.max-y.min}function l(b,v,u){var y=b.getPointAtLength(v),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 v=Math.sqrt(b[0]*b[0]+b[1]*b[1]);return[b[0]/v,b[1]/v]}function w(b,v){var u=Math.abs(b[0]*v[0]+b[1]*v[1]),y=Math.sqrt(1-u*u);return y/u}function A(b,v,u,y,f,R){var L,z,F,N,B=e.ensureSingle(b,"g","contourbg"),I=B.selectAll("path").data(R==="fill"&&!f?[0]:[]);I.enter().append("path"),I.exit().remove();var U=[];for(N=0;N=0&&(O=Q,J=se):Math.abs(U[1]-O[1])=0&&(O=Q,J=se):e.log("endpt to newendpt is not vert. or horz.",U,O,Q)}if(J>=0)break;N+=ie(U,O),U=O}if(J===v.edgepaths.length){e.log("unclosed perimeter path");break}F=J,I=B.indexOf(F)===-1,I&&(F=B[0],N+=ie(U,O)+"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=a.text[u]),A&&(F.htx=a.hovertext[u]),v.push(F)}else v.push({pos:y,empty:!0})}return a._extremes[c._id]=S.findExtremes(c,p.concat(l,T),{padded:!0}),v.length&&(v[0].t={labels:{open:x(n,"open:")+" ",high:x(n,"high:")+" ",low:x(n,"low:")+" ",close:x(n,"close:")+" "}}),v}function i(n,a,s){var h=s._minDiff;if(!h){var c=n._fullData,m=[];h=1/0;var d;for(d=0;d"+_.labels[y]+p.hoverLabelText(T,f,l.yhoverformat)):(L=x.extendFlat({},A),L.y0=L.y1=R,L.yLabelVal=f,L.yLabel=_.labels[y]+p.hoverLabelText(T,f,l.yhoverformat),L.name="",w.push(L),v[f]=L)}return w}function a(s,h,c,m){var d=s.cd,T=s.ya,l=d[0].trace,_=d[0].t,w=i(s,h,c,m);if(!w)return[];var A=w.index,M=d[A],g=w.index=M.i,b=M.dir;function v(F){return _.labels[F]+p.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?[v("open"),v("high"),v("low"),v("close")+" "+r[b]]:[];return L&&e(M,l,z),w.extraText=z.join("
"),w.y0=w.y1=T.c2p(M.yc,!0),[w]}H.exports={hoverPoints:o,hoverSplit:n,hoverOnPoints:a}}}),BA=De({"src/traces/ohlc/select.js"(Y,H){"use strict";H.exports=function(x,S){var E=x.cd,e=x.xaxis,t=x.yaxis,r=[],o,i=E[0].t.bPos||0;if(S===!1)for(o=0;oh?function(l){return l<=0}:function(l){return l>=0};i.c2g=function(l){var _=i.c2l(l)-s;return(T(_)?_:0)+d},i.g2c=function(l){return i.l2c(l+s-d)},i.g2p=function(l){return l*m},i.c2p=function(l){return i.g2p(i.c2g(l))}}}function t(i,n){return n==="degrees"?S(i):i}function r(i,n){return n==="degrees"?E(i):i}function o(i,n){var a=i.type;if(a==="linear"){var s=i.d2c,h=i.c2d;i.d2c=function(c,m){return t(s(c),m)},i.c2d=function(c,m){return h(r(c,m))}}i.makeCalcdata=function(c,m){var d=c[m],T=c._length,l,_,w=function(v){return i.d2c(v,c.thetaunit)};if(d)for(l=new Array(T),_=0;_0?v:1/0},M=S(w,A),g=p.mod(M+1,w.length);return[w[M],w[g]]}function m(_){return Math.abs(_)>1e-10?_:0}function d(_,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],i=r[1];if(!isFinite(o)||!isFinite(i))return[1,0];var n=(o+1)*(o+1)+i*i;return[(o*o+i*i-1)/n,2*i/n]}function S(r,o){var i=o[0],n=o[1];return[i*r.radius+r.cx,-n*r.radius+r.cy]}function E(r,o){return o*r.radius}function e(r,o,i,n){var a=S(r,x([i,o])),s=a[0],h=a[1],c=S(r,x([n,o])),m=c[0],d=c[1];if(o===0)return["M"+s+","+h,"L"+m+","+d].join(" ");var T=E(r,1/Math.abs(o));return["M"+s+","+h,"A"+T+","+T+" 0 0,"+(o<0?1:0)+" "+m+","+d].join(" ")}function t(r,o,i,n){var a=E(r,1/(o+1)),s=S(r,x([o,i])),h=s[0],c=s[1],m=S(r,x([o,n])),d=m[0],T=m[1];if(p(i)!==p(n)){var l=S(r,x([o,0])),_=l[0],w=l[1];return["M"+h+","+c,"A"+a+","+a+" 0 0,"+(0tt?(it=re,et=re*tt,me=(ue-et)/V.h/2,nt=[j[0],j[1]],Ae=[Q[0]+me,Q[1]-me]):(it=ue/tt,et=ue,me=(re-it)/V.w/2,nt=[j[0]+me,j[1]-me],Ae=[Q[0],Q[1]]),Z.xLength2=it,Z.yLength2=et,Z.xDomain2=nt,Z.yDomain2=Ae;var fe=Z.xOffset2=V.l+V.w*nt[0],Be=Z.yOffset2=V.t+V.h*(1-Ae[1]),Qe=Z.radius=it/Re,at=Z.innerRadius=Z.getHole(q)*Qe,$e=Z.cx=fe-Qe*we[0],It=Z.cy=Be+Qe*we[3],Pt=Z.cxx=$e-fe,Vt=Z.cyy=It-Be,Wt=oe.side,Cr;Wt==="counterclockwise"?(Cr=Wt,Wt="top"):Wt==="clockwise"&&(Cr=Wt,Wt="bottom"),Z.radialAxis=Z.mockAxis(ce,q,oe,{_id:"x",side:Wt,_trueSide:Cr,domain:[at/V.w,Qe/V.w]}),Z.angularAxis=Z.mockAxis(ce,q,ie,{side:"right",domain:[0,Math.PI],autorange:!1}),Z.doAutoRange(ce,q),Z.updateAngularAxis(ce,q),Z.updateRadialAxis(ce,q),Z.updateRadialAxisTitle(ce,q),Z.xaxis=Z.mockCartesianAxis(ce,q,{_id:"x",domain:nt}),Z.yaxis=Z.mockCartesianAxis(ce,q,{_id:"y",domain:Ae});var yr=Z.pathSubplot();Z.clipPaths.forTraces.select("path").attr("d",yr).attr("transform",t(Pt,Vt)),ee.frontplot.attr("transform",t(fe,Be)).call(o.setClipUrl,Z._hasClipOnAxisFalse?null:Z.clipIds.forTraces,Z.gd),ee.bg.attr("d",yr).attr("transform",t($e,It)).call(r.fill,q.bgcolor)},O.mockAxis=function(ce,q,Z,ee){var V=E.extendFlat({},Z,ee);return s(V,q,ce),V},O.mockCartesianAxis=function(ce,q,Z){var ee=this,V=ee.isSmith,oe=Z._id,ie=E.extendFlat({type:"linear"},Z);a(ie,ce);var j={x:[0,2],y:[1,3]};return ie.setRange=function(){var Q=ee.sectorBBox,re=j[oe],ue=ee.radialAxis._rl,_e=(ue[1]-ue[0])/(1-ee.getHole(q));ie.range=[Q[re[0]]*_e,Q[re[1]]*_e]},ie.isPtWithinRange=oe==="x"&&!V?function(Q){return ee.isPtInside(Q)}:function(){return!0},ie.setRange(),ie.setScale(),ie},O.doAutoRange=function(ce,q){var Z=this,ee=Z.gd,V=Z.radialAxis,oe=Z.getRadial(q);h(ee,V);var ie=V.range;if(oe.range=ie.slice(),oe._input.range=ie.slice(),V._rl=[V.r2l(ie[0],null,"gregorian"),V.r2l(ie[1],null,"gregorian")],V.minallowed!==void 0){var j=V.r2l(V.minallowed);V._rl[0]>V._rl[1]?V._rl[1]=Math.max(V._rl[1],j):V._rl[0]=Math.max(V._rl[0],j)}if(V.maxallowed!==void 0){var Q=V.r2l(V.maxallowed);V._rl[0]90&&ue<=270&&(_e.tickangle=180);var ze=Re?function(Qe){var at=z(Z,f([Qe.x,0]));return t(at[0]-j,at[1]-Q)}:function(Qe){return t(_e.l2p(Qe.x)+ie,0)},Xe=Re?function(Qe){return L(Z,Qe.x,-1/0,1/0)}:function(Qe){return Z.pathArc(_e.r2p(Qe.x)+ie)},tt=X(re);if(Z.radialTickLayout!==tt&&(V["radial-axis"].selectAll(".xtick").remove(),Z.radialTickLayout=tt),we){_e.setScale();var it=0,et=Re?(_e.tickvals||[]).filter(function(Qe){return Qe>=0}).map(function(Qe){return n.tickText(_e,Qe,!0,!1)}):n.calcTicks(_e),nt=Re?et:n.clipEnds(_e,et),Ae=n.getTickSigns(_e)[2];Re&&((_e.ticks==="top"&&_e.side==="bottom"||_e.ticks==="bottom"&&_e.side==="top")&&(Ae=-Ae),_e.ticks==="top"&&_e.side==="top"&&(it=-_e.ticklen),_e.ticks==="bottom"&&_e.side==="bottom"&&(it=_e.ticklen)),n.drawTicks(ee,_e,{vals:et,layer:V["radial-axis"],path:n.makeTickPath(_e,0,Ae),transFn:ze,crisp:!1}),n.drawGrid(ee,_e,{vals:nt,layer:V["radial-grid"],path:Xe,transFn:E.noop,crisp:!1}),n.drawLabels(ee,_e,{vals:et,layer:V["radial-axis"],transFn:ze,labelFns:n.makeLabelFns(_e,it)})}var me=Z.radialAxisAngle=Z.vangles?I(se(B(re.angle),Z.vangles)):re.angle,fe=t(j,Q),Be=fe+e(-me);le(V["radial-axis"],we&&(re.showticklabels||re.ticks),{transform:Be}),le(V["radial-grid"],we&&re.showgrid,{transform:Re?"":fe}),le(V["radial-line"].select("line"),we&&re.showline,{x1:Re?-oe:ie,y1:0,x2:oe,y2:0,transform:Be}).attr("stroke-width",re.linewidth).call(r.stroke,re.linecolor)},O.updateRadialAxisTitle=function(ce,q,Z){if(!this.isSmith){var ee=this,V=ee.gd,oe=ee.radius,ie=ee.cx,j=ee.cy,Q=ee.getRadial(q),re=ee.id+"title",ue=0;if(Q.title){var _e=o.bBox(ee.layers["radial-axis"].node()).height,we=Q.title.font.size,Re=Q.side;ue=Re==="top"?we:Re==="counterclockwise"?-(_e+we*.4):_e+we*.8}var ze=Z!==void 0?Z:ee.radialAxisAngle,Xe=B(ze),tt=Math.cos(Xe),it=Math.sin(Xe),et=ie+oe/2*tt+ue*it,nt=j-oe/2*it+ue*tt;ee.layers["radial-axis-title"]=T.draw(V,re,{propContainer:Q,propName:ee.id+".radialaxis.title.text",placeholder:F(V,"Click to enter radial axis title"),attributes:{x:et,y:nt,"text-anchor":"middle"},transform:{rotate:-ze}})}},O.updateAngularAxis=function(ce,q){var Z=this,ee=Z.gd,V=Z.layers,oe=Z.radius,ie=Z.innerRadius,j=Z.cx,Q=Z.cy,re=Z.getAngular(q),ue=Z.angularAxis,_e=Z.isSmith;_e||(Z.fillViewInitialKey("angularaxis.rotation",re.rotation),ue.setGeometry(),ue.setScale());var we=_e?function(at){var $e=z(Z,f([0,at.x]));return Math.atan2($e[0]-j,$e[1]-Q)-Math.PI/2}:function(at){return ue.t2g(at.x)};ue.type==="linear"&&ue.thetaunit==="radians"&&(ue.tick0=I(ue.tick0),ue.dtick=I(ue.dtick));var Re=function(at){return t(j+oe*Math.cos(at),Q-oe*Math.sin(at))},ze=_e?function(at){var $e=z(Z,f([0,at.x]));return t($e[0],$e[1])}:function(at){return Re(we(at))},Xe=_e?function(at){var $e=z(Z,f([0,at.x])),It=Math.atan2($e[0]-j,$e[1]-Q)-Math.PI/2;return t($e[0],$e[1])+e(-I(It))}:function(at){var $e=we(at);return Re($e)+e(-I($e))},tt=_e?function(at){return R(Z,at.x,0,1/0)}:function(at){var $e=we(at),It=Math.cos($e),Pt=Math.sin($e);return"M"+[j+ie*It,Q-ie*Pt]+"L"+[j+oe*It,Q-oe*Pt]},it=n.makeLabelFns(ue,0),et=it.labelStandoff,nt={};nt.xFn=function(at){var $e=we(at);return Math.cos($e)*et},nt.yFn=function(at){var $e=we(at),It=Math.sin($e)>0?.2:1;return-Math.sin($e)*(et+at.fontSize*It)+Math.abs(Math.cos($e))*(at.fontSize*b)},nt.anchorFn=function(at){var $e=we(at),It=Math.cos($e);return Math.abs(It)<.1?"middle":It>0?"start":"end"},nt.heightFn=function(at,$e,It){var Pt=we(at);return-.5*(1+Math.sin(Pt))*It};var Ae=X(re);Z.angularTickLayout!==Ae&&(V["angular-axis"].selectAll("."+ue._id+"tick").remove(),Z.angularTickLayout=Ae);var me=_e?[1/0].concat(ue.tickvals||[]).map(function(at){return n.tickText(ue,at,!0,!1)}):n.calcTicks(ue);_e&&(me[0].text="\u221E",me[0].fontSize*=1.75);var fe;if(q.gridshape==="linear"?(fe=me.map(we),E.angleDelta(fe[0],fe[1])<0&&(fe=fe.slice().reverse())):fe=null,Z.vangles=fe,ue.type==="category"&&(me=me.filter(function(at){return E.isAngleInsideSector(we(at),Z.sectorInRad)})),ue.visible){var Be=ue.ticks==="inside"?-1:1,Qe=(ue.linewidth||1)/2;n.drawTicks(ee,ue,{vals:me,layer:V["angular-axis"],path:"M"+Be*Qe+",0h"+Be*ue.ticklen,transFn:Xe,crisp:!1}),n.drawGrid(ee,ue,{vals:me,layer:V["angular-grid"],path:tt,transFn:E.noop,crisp:!1}),n.drawLabels(ee,ue,{vals:me,layer:V["angular-axis"],repositionOnUpdate:!0,transFn:ze,labelFns:nt})}le(V["angular-line"].select("path"),re.showline,{d:Z.pathSubplot(),transform:t(j,Q)}).attr("stroke-width",re.linewidth).call(r.stroke,re.linecolor)},O.updateFx=function(ce,q){if(!this.gd._context.staticPlot){var Z=!this.isSmith;Z&&(this.updateAngularDrag(ce),this.updateRadialDrag(ce,q,0),this.updateRadialDrag(ce,q,1)),this.updateHoverAndMainDrag(ce)}},O.updateHoverAndMainDrag=function(ce){var q=this,Z=q.isSmith,ee=q.gd,V=q.layers,oe=ce._zoomlayer,ie=v.MINZOOM,j=v.OFFEDGE,Q=q.radius,re=q.innerRadius,ue=q.cx,_e=q.cy,we=q.cxx,Re=q.cyy,ze=q.sectorInRad,Xe=q.vangles,tt=q.radialAxis,it=u.clampTiny,et=u.findXYatLength,nt=u.findEnclosingVertexAngles,Ae=v.cornerHalfWidth,me=v.cornerLen/2,fe,Be,Qe=c.makeDragger(V,"path","maindrag",ce.dragmode===!1?"none":"crosshair");p.select(Qe).attr("d",q.pathSubplot()).attr("transform",t(ue,_e)),Qe.onmousemove=function(ir){d.hover(ee,ir,q.id),ee._fullLayout._lasthover=Qe,ee._fullLayout._hoversubplot=q.id},Qe.onmouseout=function(ir){ee._dragging||m.unhover(ee,ir)};var at={element:Qe,gd:ee,subplot:q.id,plotinfo:{id:q.id,xaxis:q.xaxis,yaxis:q.yaxis},xaxes:[q.xaxis],yaxes:[q.yaxis]},$e,It,Pt,Vt,Wt,Cr,yr,qr,Mr;function Dr(ir,tr){return Math.sqrt(ir*ir+tr*tr)}function xt(ir,tr){return Dr(ir-we,tr-Re)}function Ne(ir,tr){return Math.atan2(Re-tr,ir-we)}function Ye(ir,tr){return[ir*Math.cos(tr),ir*Math.sin(-tr)]}function be(ir,tr){if(ir===0)return q.pathSector(2*Ae);var Ir=me/ir,vi=tr-Ir,Vi=tr+Ir,Ui=Math.max(0,Math.min(ir,Q)),Ki=Ui-Ae,ea=Ui+Ae;return"M"+Ye(Ki,vi)+"A"+[Ki,Ki]+" 0,0,0 "+Ye(Ki,Vi)+"L"+Ye(ea,Vi)+"A"+[ea,ea]+" 0,0,1 "+Ye(ea,vi)+"Z"}function Ie(ir,tr,Ir){if(ir===0)return q.pathSector(2*Ae);var vi=Ye(ir,tr),Vi=Ye(ir,Ir),Ui=it((vi[0]+Vi[0])/2),Ki=it((vi[1]+Vi[1])/2),ea,Bi;if(Ui&&Ki){var _a=Ki/Ui,Ca=-1/_a,Kt=et(Ae,_a,Ui,Ki);ea=et(me,Ca,Kt[0][0],Kt[0][1]),Bi=et(me,Ca,Kt[1][0],Kt[1][1])}else{var zt,Zt;Ki?(zt=me,Zt=Ae):(zt=Ae,Zt=me),ea=[[Ui-zt,Ki-Zt],[Ui+zt,Ki-Zt]],Bi=[[Ui-zt,Ki+Zt],[Ui+zt,Ki+Zt]]}return"M"+ea.join("L")+"L"+Bi.reverse().join("L")+"Z"}function qe(){Pt=null,Vt=null,Wt=q.pathSubplot(),Cr=!1;var ir=ee._fullLayout[q.id];yr=x(ir.bgcolor).getLuminance(),qr=c.makeZoombox(oe,yr,ue,_e,Wt),qr.attr("fill-rule","evenodd"),Mr=c.makeCorners(oe,ue,_e),w(ee)}function ke(ir,tr){return tr=Math.max(Math.min(tr,Q),re),irie?(ir-1&&ir===1&&_(tr,ee,[q.xaxis],[q.yaxis],q.id,at),Ir.indexOf("event")>-1&&d.click(ee,tr,q.id)}at.prepFn=function(ir,tr,Ir){var vi=ee._fullLayout.dragmode,Vi=Qe.getBoundingClientRect();ee._fullLayout._calcInverseTransform(ee);var Ui=ee._fullLayout._invTransform;fe=ee._fullLayout._invScaleX,Be=ee._fullLayout._invScaleY;var Ki=E.apply3DTransform(Ui)(tr-Vi.left,Ir-Vi.top);if($e=Ki[0],It=Ki[1],Xe){var ea=u.findPolygonOffset(Q,ze[0],ze[1],Xe);$e+=we+ea[0],It+=Re+ea[1]}switch(vi){case"zoom":at.clickFn=nr,Z||(Xe?at.moveFn=lt:at.moveFn=Le,at.doneFn=gt,qe(ir,tr,Ir));break;case"select":case"lasso":l(ir,tr,Ir,at,vi);break}},m.init(at)},O.updateRadialDrag=function(ce,q,Z){var ee=this,V=ee.gd,oe=ee.layers,ie=ee.radius,j=ee.innerRadius,Q=ee.cx,re=ee.cy,ue=ee.radialAxis,_e=v.radialDragBoxSize,we=_e/2;if(!ue.visible)return;var Re=B(ee.radialAxisAngle),ze=ue._rl,Xe=ze[0],tt=ze[1],it=ze[Z],et=.75*(ze[1]-ze[0])/(1-ee.getHole(q))/ie,nt,Ae,me;Z?(nt=Q+(ie+we)*Math.cos(Re),Ae=re-(ie+we)*Math.sin(Re),me="radialdrag"):(nt=Q+(j-we)*Math.cos(Re),Ae=re-(j-we)*Math.sin(Re),me="radialdrag-inner");var fe=c.makeRectDragger(oe,me,"crosshair",-we,-we,_e,_e),Be={element:fe,gd:V};ce.dragmode===!1&&(Be.dragmode=!1),le(p.select(fe),ue.visible&&j0!=(Z?$e>Xe:$e=90||V>90&&oe>=450?Re=1:j<=0&&re<=0?Re=0:Re=Math.max(j,re),V<=180&&oe>=180||V>180&&oe>=540?ue=-1:ie>=0&&Q>=0?ue=0:ue=Math.min(ie,Q),V<=270&&oe>=270||V>270&&oe>=630?_e=-1:j>=0&&re>=0?_e=0:_e=Math.min(j,re),oe>=360?we=1:ie<=0&&Q<=0?we=0:we=Math.max(ie,Q),[ue,_e,we,Re]}function se(ce,q){var Z=function(V){return E.angleDist(ce,V)},ee=E.findIndexOfMin(q,Z);return q[ee]}function le(ce,q,Z){return q?(ce.attr("display",null),ce.attr(Z)):ce&&ce.attr("display","none"),ce}}}),VA=De({"src/plots/polar/layout_attributes.js"(Y,H){"use strict";var p=Pf(),x=Ih(),S=Ec().attributes,E=ui().extendFlat,e=gc().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 i={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(i,t,r),H.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:p.background},radialaxis:o,angularaxis:i,gridshape:{valType:"enumerated",values:["circular","linear"],dflt:"circular",editType:"plot"},uirevision:{valType:"any",editType:"none"},editType:"calc"}}}),Z4=De({"src/plots/polar/layout_defaults.js"(Y,H){"use strict";var p=ui(),x=vo(),S=Gl(),E=Kp(),e=Lh().getSubplotData,t=U0(),r=Zm(),o=qp(),i=Hp(),n=D_(),a=gy(),s=Ww(),h=$m(),c=VA(),m=NA(),d=Fb(),T=d.axisNames;function l(w,A,M,g){var b=M("bgcolor");g.bgColor=x.combine(b,g.paper_bgcolor);var v=M("sector");M("hole");var u=e(g.fullData,d.name,g.id),y=g.layoutOut,f;function R(_e,we){return M(f+"."+_e,we)}for(var L=0;L")}}H.exports={hoverPoints:x,makeHoverPointText:S}}}),J4=De({"src/traces/scatterpolar/index.js"(Y,H){"use strict";H.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:Ob(),categories:["polar","symbols","showLegend","scatter-like"],attributes:f1(),supplyDefaults:Nb().supplyDefaults,colorbar:qh(),formatLabels:Ub(),calc:K4(),plot:$4(),style:Sd().style,styleOnSelect:Sd().styleOnSelect,hoverPoints:jb().hoverPoints,selectPoints:ag(),meta:{}}}}),Q4=De({"lib/scatterpolar.js"(Y,H){"use strict";H.exports=J4()}}),qA=De({"src/traces/scatterpolargl/attributes.js"(Y,H){"use strict";var p=f1(),{cliponaxis:x,hoveron:S}=p,E=bi(p,["cliponaxis","hoveron"]),{connectgaps:e,line:{color:t,dash:r,width:o},fill:i,fillcolor:n,marker:a,textfont:s,textposition:h}=r1();H.exports=yi(Ri({},E),{connectgaps:e,fill:i,fillcolor:n,line:{color:t,dash:r,editType:"calc",width:o},marker:a,textfont:s,textposition:h})}}),ez=De({"src/traces/scatterpolargl/defaults.js"(Y,H){"use strict";var p=ui(),x=Hu(),S=Nb().handleRThetaDefaults,E=Od(),e=Wd(),t=Xd(),r=mv(),o=zv().PTS_LINESONLY,i=qA();H.exports=function(a,s,h,c){function m(T,l){return p.coerce(a,s,i,T,l)}var d=S(a,s,c,m);if(!d){s.visible=!1;return}m("thetaunit"),m("mode",d=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,a,s)}},H.exports.reglPrecompiled=o}}),oz=De({"src/traces/scatterpolargl/index.js"(Y,H){"use strict";var p=az();p.plot=nz(),H.exports=p}}),sz=De({"lib/scatterpolargl.js"(Y,H){"use strict";H.exports=oz()}}),HA=De({"src/traces/barpolar/attributes.js"(Y,H){"use strict";var{hovertemplateAttrs:p,templatefallbackAttrs:x}=ou(),S=Xo().extendFlat,E=f1(),e=Bv();H.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:p(),hovertemplatefallback:x(),selected:e.selected,unselected:e.unselected};function t(){var r=S({},e.marker);return delete r.cornerradius,r}}}),GA=De({"src/traces/barpolar/layout_attributes.js"(Y,H){"use strict";H.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}}}),lz=De({"src/traces/barpolar/defaults.js"(Y,H){"use strict";var p=ui(),x=Nb().handleRThetaDefaults,S=q_(),E=HA();H.exports=function(t,r,o,i){function n(s,h){return p.coerce(t,r,E,s,h)}var a=x(t,r,i,n);if(!a){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,i),p.coerceSelectionMarkerOpacity(r,n)}}}),uz=De({"src/traces/barpolar/layout_defaults.js"(Y,H){"use strict";var p=ui(),x=GA();H.exports=function(S,E,e){var t={},r;function o(a,s){return p.coerce(S[r]||{},E[r],x,a,s)}for(var i=0;i0?(c=s,m=h):(c=h,m=s);var d=e.findEnclosingVertexAngles(c,r.vangles)[0],T=e.findEnclosingVertexAngles(m,r.vangles)[1],l=[d,(c+m)/2,T];return e.pathPolygonAnnulus(n,a,c,m,l,o,i)}:function(n,a,s,h){return S.pathAnnulus(n,a,s,h,o,i)}}}}),fz=De({"src/traces/barpolar/hover.js"(Y,H){"use strict";var p=sf(),x=ui(),S=ng().getTraceColor,E=x.fillText,e=jb().makeHoverPointText,t=Bb().isPtInsidePolygon;H.exports=function(o,i,n){var a=o.cd,s=a[0].trace,h=o.subplot,c=h.radialAxis,m=h.angularAxis,d=h.vangles,T=d?t:x.isPtInsideSector,l=o.maxHoverDistance,_=m._period||2*Math.PI,w=Math.abs(c.g2p(Math.sqrt(i*i+n*n))),A=Math.atan2(n,i);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],d)?l+Math.min(1,Math.abs(u.thetag1-u.thetag0)/_)-1+(u.rp1-w)/(u.rp1-u.rp0)-1:1/0};if(p.getClosest(a,M,o),o.index!==!1){var g=o.index,b=a[g];o.x0=o.x1=b.ct[0],o.y0=o.y1=b.ct[1];var v=x.extendFlat({},b,{r:b.s,theta:b.p});return E(b,s,o),e(v,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]}}}}),hz=De({"src/traces/barpolar/index.js"(Y,H){"use strict";H.exports={moduleType:"trace",name:"barpolar",basePlotModule:Ob(),categories:["polar","bar","showLegend"],attributes:HA(),layoutAttributes:GA(),supplyDefaults:lz(),supplyLayoutDefaults:uz(),calc:WA().calc,crossTraceCalc:WA().crossTraceCalc,plot:cz(),colorbar:qh(),formatLabels:Ub(),style:$d().style,styleOnSelect:$d().styleOnSelect,hoverPoints:fz(),selectPoints:og(),meta:{}}}}),dz=De({"lib/barpolar.js"(Y,H){"use strict";H.exports=hz()}}),XA=De({"src/plots/smith/constants.js"(Y,H){"use strict";H.exports={attr:"subplot",name:"smith",axisNames:["realaxis","imaginaryaxis"],axisName2dataArray:{imaginaryaxis:"imag",realaxis:"real"}}}}),YA=De({"src/plots/smith/layout_attributes.js"(Y,H){"use strict";var p=Pf(),x=Ih(),S=Ec().attributes,E=ui().extendFlat,e=gc().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),i=E({visible:E({},x.visible,{dflt:!0}),tickvals:{valType:"data_array",editType:"plot"},ticks:x.ticks,editType:"calc"},t,r);H.exports={domain:S({name:"smith",editType:"plot"}),bgcolor:{valType:"color",editType:"plot",dflt:p.background},realaxis:o,imaginaryaxis:i,editType:"calc"}}}),vz=De({"src/plots/smith/layout_defaults.js"(Y,H){"use strict";var p=ui(),x=vo(),S=Gl(),E=Kp(),e=Lh().getSubplotData,t=Hp(),r=qp(),o=gy(),i=Dv(),n=YA(),a=XA(),s=a.axisNames,h=m(function(d){return p.isTypedArray(d)&&(d=Array.from(d)),d.slice().reverse().map(function(T){return-T}).concat([0]).concat(d)},String);function c(d,T,l,_){var w=l("bgcolor");_.bgColor=x.combine(w,_.paper_bgcolor);var A=e(_.fullData,a.name,_.id),M=_.layoutOut,g;function b(O,X){return l(g+"."+O,X)}for(var v=0;v")}}H.exports={hoverPoints:x,makeHoverPointText:S}}}),bz=De({"src/traces/scattersmith/index.js"(Y,H){"use strict";H.exports={moduleType:"trace",name:"scattersmith",basePlotModule:pz(),categories:["smith","symbols","showLegend","scatter-like"],attributes:ZA(),supplyDefaults:mz(),colorbar:qh(),formatLabels:gz(),calc:yz(),plot:_z(),style:Sd().style,styleOnSelect:Sd().styleOnSelect,hoverPoints:xz().hoverPoints,selectPoints:ag(),meta:{}}}}),wz=De({"lib/scattersmith.js"(Y,H){"use strict";H.exports=bz()}}),td=De({"node_modules/world-calendars/dist/main.js"(Y,H){var p=ih();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={}}p(x.prototype,{instance:function(o,i){o=(o||"gregorian").toLowerCase(),i=i||"";var n=this._localCals[o+"-"+i];if(!n&&this.calendars[o]&&(n=new this.calendars[o](i),this._localCals[o+"-"+i]=n),!n)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,o);return n},newDate:function(o,i,n,a,s){return a=(o!=null&&o.year?o.calendar():typeof a=="string"?this.instance(a,s):a)||this.instance(),a.newDate(o,i,n)},substituteDigits:function(o){return function(i){return(i+"").replace(/[0-9]/g,function(n){return o[n]})}},substituteChineseDigits:function(o,i){return function(n){for(var a="",s=0;n>0;){var h=n%10;a=(h===0?"":o[h]+i[s])+a,s++,n=Math.floor(n/10)}return a.indexOf(o[1]+i[1])===0&&(a=a.substr(1)),a||o[0]}}});function S(o,i,n,a){if(this._calendar=o,this._year=i,this._month=n,this._day=a,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,i){return o=""+o,"000000".substring(0,i-o.length)+o}p(S.prototype,{newDate:function(o,i,n){return this._calendar.newDate(o??this,i,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,i,n){if(!this._calendar.isValid(o,i,n))throw(r.local.invalidDate||r.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=o,this._month=i,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,i){return this._calendar.add(this,o,i)},set:function(o,i){return this._calendar.set(this,o,i)},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 i=this._year!==o._year?this._year-o._year:this._month!==o._month?this.monthOfYear()-o.monthOfYear():this._day-o._day;return i===0?0:i<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"}p(e.prototype,{_validateLevel:0,newDate:function(o,i,n){return o==null?this.today():(o.year&&(this._validate(o,i,n,r.local.invalidDate||r.regionalOptions[""].invalidDate),n=o.day(),i=o.month(),o=o.year()),new S(this,o,i,n))},today:function(){return this.fromJSDate(new Date)},epoch:function(o){var i=this._validate(o,this.minMonth,this.minDay,r.local.invalidYear||r.regionalOptions[""].invalidYear);return i.year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(o){var i=this._validate(o,this.minMonth,this.minDay,r.local.invalidYear||r.regionalOptions[""].invalidYear);return(i.year()<0?"-":"")+E(Math.abs(i.year()),4)},monthsInYear:function(o){return this._validate(o,this.minMonth,this.minDay,r.local.invalidYear||r.regionalOptions[""].invalidYear),12},monthOfYear:function(o,i){var n=this._validate(o,i,this.minDay,r.local.invalidMonth||r.regionalOptions[""].invalidMonth);return(n.month()+this.monthsInYear(n)-this.firstMonth)%this.monthsInYear(n)+this.minMonth},fromMonthOfYear:function(o,i){var n=(i+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 i=this._validate(o,this.minMonth,this.minDay,r.local.invalidYear||r.regionalOptions[""].invalidYear);return this.leapYear(i)?366:365},dayOfYear:function(o,i,n){var a=this._validate(o,i,n,r.local.invalidDate||r.regionalOptions[""].invalidDate);return a.toJD()-this.newDate(a.year(),this.fromMonthOfYear(a.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(o,i,n){var a=this._validate(o,i,n,r.local.invalidDate||r.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(a))+2)%this.daysInWeek()},extraInfo:function(o,i,n){return this._validate(o,i,n,r.local.invalidDate||r.regionalOptions[""].invalidDate),{}},add:function(o,i,n){return this._validate(o,this.minMonth,this.minDay,r.local.invalidDate||r.regionalOptions[""].invalidDate),this._correctAdd(o,this._add(o,i,n),i,n)},_add:function(o,i,n){if(this._validateLevel++,n==="d"||n==="w"){var a=o.toJD()+i*(n==="w"?this.daysInWeek():1),s=o.calendar().fromJD(a);return this._validateLevel--,[s.year(),s.month(),s.day()]}try{var h=o.year()+(n==="y"?i:0),c=o.monthOfYear()+(n==="m"?i: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 d=[h,this.fromMonthOfYear(h,c),s];return this._validateLevel--,d}catch(T){throw this._validateLevel--,T}},_correctAdd:function(o,i,n,a){if(!this.hasYearZero&&(a==="y"||a==="m")&&(i[0]===0||o.year()>0!=i[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"]}[a],h=n<0?-1:1;i=this._add(o,n*s[0]+h*s[1],s[2])}return o.date(i[0],i[1],i[2])},set:function(o,i,n){this._validate(o,this.minMonth,this.minDay,r.local.invalidDate||r.regionalOptions[""].invalidDate);var a=n==="y"?i:o.year(),s=n==="m"?i:o.month(),h=n==="d"?i:o.day();return(n==="y"||n==="m")&&(h=Math.min(h,this.daysInMonth(a,s))),o.date(a,s,h)},isValid:function(o,i,n){this._validateLevel++;var a=this.hasYearZero||o!==0;if(a){var s=this.newDate(o,i,this.minDay);a=i>=this.minMonth&&i-this.minMonth=this.minDay&&n-this.minDay13.5?13:1),T=s-(d>2.5?4716:4715);return T<=0&&T--,this.newDate(T,d,m)},toJSDate:function(o,i,n){var a=this._validate(o,i,n,r.local.invalidDate||r.regionalOptions[""].invalidDate),s=new Date(a.year(),a.month()-1,a.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=H.exports=new x;r.cdate=S,r.baseCalendar=e,r.calendars.gregorian=t}}),Tz=De({"node_modules/world-calendars/dist/plus.js"(){var Y=ih(),H=td();Y(H.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"}),H.local=H.regionalOptions[""],Y(H.cdate.prototype,{formatDate:function(p,x){return typeof p!="string"&&(x=p,p=""),this._calendar.formatDate(p||"",this,x)}}),Y(H.baseCalendar.prototype,{UNIX_EPOCH:H.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:24*60*60,TICKS_EPOCH:H.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(p,x,S){if(typeof p!="string"&&(S=x,x=p,p=""),!x)return"";if(x.calendar()!==this)throw H.local.invalidFormat||H.regionalOptions[""].invalidFormat;p=p||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,i=S.calculateWeek||this.local.calculateWeek,n=function(A,M){for(var g=1;w+g1},a=function(A,M,g,b){var v=""+M;if(n(A,b))for(;v.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+"}"),B=x.substring(v).match(N);if(!B)throw(H.local.missingNumberAt||H.regionalOptions[""].missingNumberAt).replace(/\{0\}/,v);return v+=B[0].length,parseInt(B[0],10)},w=this,A=function(){if(typeof o=="function"){l("m");var R=o.call(w,x.substring(v));return v+=R.length,R}return _("m")},M=function(R,L,z,F){for(var N=l(R,F)?z:L,B=0;B-1){h=1,c=m;for(var f=this.daysInMonth(s,h);c>f;f=this.daysInMonth(s,h))h++,c-=f}return a>-1?this.fromJD(a):this.newDate(s,h,c)},determineDate:function(p,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 i=(o.match(/^c/)&&S?S.newDate():null)||t.today(),n=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,a=n.exec(o);a;)i.add(parseInt(a[1],10),a[2]||"d"),a=n.exec(o);return i};return x=x?x.newDate():null,p=p==null?x:typeof p=="string"?r(p):typeof p=="number"?isNaN(p)||p===1/0||p===-1/0?x:t.today().add(p,"d"):t.newDate(p),p}})}}),Az=De({"node_modules/world-calendars/dist/calendars/chinese.js"(){var Y=td(),H=ih(),p=Y.instance();function x(a){this.local=this.regionalOptions[a||""]||this.regionalOptions[""]}x.prototype=new Y.baseCalendar,H(x.prototype,{name:"Chinese",jdEpoch:17214255e-1,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(a,s){if(typeof a=="string"){var h=a.match(E);return h?h[0]:""}var c=this._validateYear(a),m=a.month(),d=""+this.toChineseMonth(c,m);return s&&d.length<2&&(d="0"+d),this.isIntercalaryMonth(c,m)&&(d+="i"),d},monthNames:function(a){if(typeof a=="string"){var s=a.match(e);return s?s[0]:""}var h=this._validateYear(a),c=a.month(),m=this.toChineseMonth(h,c),d=["\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)&&(d="\u95F0"+d),d},monthNamesShort:function(a){if(typeof a=="string"){var s=a.match(t);return s?s[0]:""}var h=this._validateYear(a),c=a.month(),m=this.toChineseMonth(h,c),d=["\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D","\u4E03","\u516B","\u4E5D","\u5341","\u5341\u4E00","\u5341\u4E8C"][m-1];return this.isIntercalaryMonth(h,c)&&(d="\u95F0"+d),d},parseMonth:function(a,s){a=this._validateYear(a);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 d=this.toMonthIndex(a,h,c);return d},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(a,s){if(a.year&&(a=a.year()),typeof a!="number"||a<1888||a>2111)throw s.replace(/\{0\}/,this.local.name);return a},toMonthIndex:function(a,s,h){var c=this.intercalaryMonth(a),m=h&&s!==c;if(m||s<1||s>12)throw Y.local.invalidMonth.replace(/\{0\}/,this.local.name);var d;return c?!h&&s<=c?d=s-1:d=s:d=s-1,d},toChineseMonth:function(a,s){a.year&&(a=a.year(),s=a.month());var h=this.intercalaryMonth(a),c=h?12:11;if(s<0||s>c)throw Y.local.invalidMonth.replace(/\{0\}/,this.local.name);var m;return h?s>13;return h},isIntercalaryMonth:function(a,s){a.year&&(a=a.year(),s=a.month());var h=this.intercalaryMonth(a);return!!h&&h===s},leapYear:function(a){return this.intercalaryMonth(a)!==0},weekOfYear:function(a,s,h){var c=this._validateYear(a,Y.local.invalidyear),m=o[c-o[0]],d=m>>9&4095,T=m>>5&15,l=m&31,_;_=p.newDate(d,T,l),_.add(4-(_.dayOfWeek()||7),"d");var w=this.toJD(a,s,h)-_.toJD();return 1+Math.floor(w/7)},monthsInYear:function(a){return this.leapYear(a)?13:12},daysInMonth:function(a,s){a.year&&(s=a.month(),a=a.year()),a=this._validateYear(a);var h=r[a-r[0]],c=h>>13,m=c?12:11;if(s>m)throw Y.local.invalidMonth.replace(/\{0\}/,this.local.name);var d=h&1<<12-s?30:29;return d},weekDay:function(a,s,h){return(this.dayOfWeek(a,s,h)||7)<6},toJD:function(a,s,h){var c=this._validate(a,d,h,Y.local.invalidDate);a=this._validateYear(c.year()),s=c.month(),h=c.day();var m=this.isIntercalaryMonth(a,s),d=this.toChineseMonth(a,s),T=n(a,d,h,m);return p.toJD(T.year,T.month,T.day)},fromJD:function(a){var s=p.fromJD(a),h=i(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(a){var s=a.match(S),h=this._validateYear(+s[1]),c=+s[2],m=!!s[3],d=this.toMonthIndex(h,c,m),T=+s[4];return this.newDate(h,d,T)},add:function(a,s,h){var c=a.year(),m=a.month(),d=this.isIntercalaryMonth(c,m),T=this.toChineseMonth(c,m),l=Object.getPrototypeOf(x.prototype).add.call(this,a,s,h);if(h==="y"){var _=l.year(),w=l.month(),A=this.isIntercalaryMonth(_,T),M=d&&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;Y.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 i(a,s,h,c){var m,d;if(typeof a=="object")m=a,d=s||{};else{var T=typeof a=="number"&&a>=1888&&a<=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:a,month:s,day:h},d=c||{}}var w=o[m.year-o[0]],A=m.year<<9|m.month<<5|m.day;d.year=A>=w?m.year:m.year-1,w=o[d.year-o[0]];var M=w>>9&4095,g=w>>5&15,b=w&31,v,u=new Date(M,g-1,b),y=new Date(m.year,m.month-1,m.day);v=Math.round((y-u)/(24*3600*1e3));var f=r[d.year-r[0]],R;for(R=0;R<13;R++){var L=f&1<<12-R?30:29;if(v>13;return!z||R=1888&&a<=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,d=c):(A=!!c,d=m||{}),T={year:a,month:s,day:h,isIntercalary:A}}var M;M=T.day-1;var g=r[T.year-r[0]],b=g>>13,v;b&&(T.month>b||T.isIntercalary)?v=T.month:v=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 d.year=F.getFullYear(),d.month=1+F.getMonth(),d.day=F.getDate(),d}}}),Sz=De({"node_modules/world-calendars/dist/calendars/coptic.js"(){var Y=td(),H=ih();function p(x){this.local=this.regionalOptions[x||""]||this.regionalOptions[""]}p.prototype=new Y.baseCalendar,H(p.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,Y.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,Y.local.invalidYear||Y.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,Y.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,Y.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)}}),Y.calendars.coptic=p}}),Mz=De({"node_modules/world-calendars/dist/calendars/discworld.js"(){var Y=td(),H=ih();function p(S){this.local=this.regionalOptions[S||""]||this.regionalOptions[""]}p.prototype=new Y.baseCalendar,H(p.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,Y.local.invalidYear),!1},monthsInYear:function(S){return this._validate(S,this.minMonth,this.minDay,Y.local.invalidYear),13},daysInYear:function(S){return this._validate(S,this.minMonth,this.minDay,Y.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,Y.local.invalidMonth);return this.daysPerMonth[e.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(S,E,e){var t=this._validate(S,E,e,Y.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,Y.local.invalidDate);return{century:x[Math.floor((t.year()-1)/100)+1]||""}},toJD:function(S,E,e){var t=this._validate(S,E,e,Y.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"};Y.calendars.discworld=p}}),Ez=De({"node_modules/world-calendars/dist/calendars/ethiopian.js"(){var Y=td(),H=ih();function p(x){this.local=this.regionalOptions[x||""]||this.regionalOptions[""]}p.prototype=new Y.baseCalendar,H(p.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,Y.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,Y.local.invalidYear||Y.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,Y.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,Y.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)}}),Y.calendars.ethiopian=p}}),kz=De({"node_modules/world-calendars/dist/calendars/hebrew.js"(){var Y=td(),H=ih();function p(S){this.local=this.regionalOptions[S||""]||this.regionalOptions[""]}p.prototype=new Y.baseCalendar,H(p.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,Y.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,Y.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,Y.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,Y.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,Y.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,Y.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 i=7;i<=this.monthsInYear(S);i++)o+=this.daysInMonth(S,i);for(var i=1;i=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)}Y.calendars.hebrew=p}}),Cz=De({"node_modules/world-calendars/dist/calendars/islamic.js"(){var Y=td(),H=ih();function p(x){this.local=this.regionalOptions[x||""]||this.regionalOptions[""]}p.prototype=new Y.baseCalendar,H(p.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,Y.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,Y.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,Y.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)}}),Y.calendars.islamic=p}}),Lz=De({"node_modules/world-calendars/dist/calendars/julian.js"(){var Y=td(),H=ih();function p(x){this.local=this.regionalOptions[x||""]||this.regionalOptions[""]}p.prototype=new Y.baseCalendar,H(p.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,Y.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,Y.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,Y.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),i=e-Math.floor(o>2?4716:4715),n=E-t-Math.floor(30.6001*r);return i<=0&&i--,this.newDate(i,o,n)}}),Y.calendars.julian=p}}),Iz=De({"node_modules/world-calendars/dist/calendars/mayan.js"(){var Y=td(),H=ih();function p(E){this.local=this.regionalOptions[E||""]||this.regionalOptions[""]}p.prototype=new Y.baseCalendar,H(p.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,Y.local.invalidYear),!1},formatYear:function(E){var e=this._validate(E,this.minMonth,this.minDay,Y.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,Y.local.invalidYear),18},weekOfYear:function(E,e,t){return this._validate(E,e,t,Y.local.invalidDate),0},daysInYear:function(E){return this._validate(E,this.minMonth,this.minDay,Y.local.invalidYear),360},daysInMonth:function(E,e){return this._validate(E,e,this.minDay,Y.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(E,e,t){var r=this._validate(E,e,t,Y.local.invalidDate);return r.day()},weekDay:function(E,e,t){return this._validate(E,e,t,Y.local.invalidDate),!0},extraInfo:function(E,e,t){var r=this._validate(E,e,t,Y.local.invalidDate),o=r.toJD(),i=this._toHaab(o),n=this._toTzolkin(o);return{haabMonthName:this.local.haabMonths[i[0]-1],haabMonth:i[0],haabDay:i[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,Y.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}Y.calendars.mayan=p}}),Pz=De({"node_modules/world-calendars/dist/calendars/nanakshahi.js"(){var Y=td(),H=ih();function p(S){this.local=this.regionalOptions[S||""]||this.regionalOptions[""]}p.prototype=new Y.baseCalendar;var x=Y.instance("gregorian");H(p.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,Y.local.invalidYear||Y.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,Y.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,Y.local.invalidMonth),r=t.year();r<0&&r++;for(var o=t.day(),i=1;i=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)}}),Y.calendars.nanakshahi=p}}),Rz=De({"node_modules/world-calendars/dist/calendars/nepali.js"(){var Y=td(),H=ih();function p(x){this.local=this.regionalOptions[x||""]||this.regionalOptions[""]}p.prototype=new Y.baseCalendar,H(p.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,Y.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,Y.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,Y.local.invalidDate);x=e.year(),S=e.month(),E=e.day();var t=Y.instance(),r=0,o=S,i=x;this._createMissingCalendarData(x);var n=x-(o>9||o===9&&E>=this.NEPALI_CALENDAR_DATA[i][0]?56:57);for(S!==9&&(r=E,o--);o!==9;)o<=0&&(o=12,i--),r+=this.NEPALI_CALENDAR_DATA[i][o],o--;return S===9?(r+=E-this.NEPALI_CALENDAR_DATA[i][0],r<0&&(r+=t.daysInYear(n))):r+=this.NEPALI_CALENDAR_DATA[i][9]-this.NEPALI_CALENDAR_DATA[i][0],t.newDate(n,1,1).add(r,"d").toJD()},fromJD:function(x){var S=Y.instance(),E=S.fromJD(x),e=E.year(),t=E.dayOfYear(),r=e+56;this._createMissingCalendarData(r);for(var o=9,i=this.NEPALI_CALENDAR_DATA[r][0],n=this.NEPALI_CALENDAR_DATA[r][o]-i+1;t>n;)o++,o>12&&(o=1,r++),n+=this.NEPALI_CALENDAR_DATA[r][o];var a=this.NEPALI_CALENDAR_DATA[r][o]-(n-t);return this.newDate(r,o,a)},_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]}}),Y.calendars.nepali=p}}),Dz=De({"node_modules/world-calendars/dist/calendars/persian.js"(){var Y=td(),H=ih();function p(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),i=r-Math.floor(r);return o>i}p.prototype=new Y.baseCalendar,H(p.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,Y.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,Y.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,Y.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)}}),Y.calendars.persian=p,Y.calendars.jalali=p}}),zz=De({"node_modules/world-calendars/dist/calendars/taiwan.js"(){var Y=td(),H=ih(),p=Y.instance();function x(S){this.local=this.regionalOptions[S||""]||this.regionalOptions[""]}x.prototype=new Y.baseCalendar,H(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,Y.local.invalidYear),e=this._t2gYear(E.year());return p.leapYear(e)},weekOfYear:function(r,E,e){var t=this._validate(r,this.minMonth,this.minDay,Y.local.invalidYear),r=this._t2gYear(t.year());return p.weekOfYear(r,t.month(),t.day())},daysInMonth:function(S,E){var e=this._validate(S,E,this.minDay,Y.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,Y.local.invalidDate),r=this._t2gYear(t.year());return p.toJD(r,t.month(),t.day())},fromJD:function(S){var E=p.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)}}),Y.calendars.taiwan=x}}),Fz=De({"node_modules/world-calendars/dist/calendars/thai.js"(){var Y=td(),H=ih(),p=Y.instance();function x(S){this.local=this.regionalOptions[S||""]||this.regionalOptions[""]}x.prototype=new Y.baseCalendar,H(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,Y.local.invalidYear),e=this._t2gYear(E.year());return p.leapYear(e)},weekOfYear:function(r,E,e){var t=this._validate(r,this.minMonth,this.minDay,Y.local.invalidYear),r=this._t2gYear(t.year());return p.weekOfYear(r,t.month(),t.day())},daysInMonth:function(S,E){var e=this._validate(S,E,this.minDay,Y.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,Y.local.invalidDate),r=this._t2gYear(t.year());return p.toJD(r,t.month(),t.day())},fromJD:function(S){var E=p.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)}}),Y.calendars.thai=x}}),Bz=De({"node_modules/world-calendars/dist/calendars/ummalqura.js"(){var Y=td(),H=ih();function p(S){this.local=this.regionalOptions[S||""]||this.regionalOptions[""]}p.prototype=new Y.baseCalendar,H(p.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,Y.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,Y.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,Y.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),i=o+1,n=r-12*o,a=E-x[e-1]+1;return this.newDate(i,n,a)},isValid:function(S,E,e){var t=Y.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=Y.baseCalendar.prototype._validate.apply(this,arguments);if(r.year<1276||r.year>1500)throw t.replace(/\{0\}/,this.local.name);return r}}),Y.calendars.ummalqura=p;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]}}),Oz=De({"src/components/calendars/calendars.js"(Y,H){"use strict";H.exports=td(),Tz(),Az(),Sz(),Mz(),Ez(),kz(),Cz(),Lz(),Iz(),Pz(),Rz(),Dz(),zz(),Fz(),Bz()}}),Nz=De({"src/components/calendars/index.js"(Y,H){"use strict";var p=Oz(),x=ui(),S=zn(),E=S.EPOCHJD,e=S.ONEDAY,t={valType:"enumerated",values:x.sortObjectKeys(p.calendars),editType:"calc",dflt:"gregorian"},r=function(g,b,v,u){var y={};return y[v]=t,x.coerce(g,b,y,v,u)},o=function(g,b,v,u){for(var y=0;y{gr.preventDefault(),gr.stopPropagation(),gr.clipboardData.setData("text",Mt),Lt.removeEventListener("copy",$t,!0)};Lt.addEventListener("copy",$t,!0),document.execCommand("copy")}jt.copyText=Se})(LS||(LS={}));var Yc;(function(jt){function Se(gr){let pi=window.getComputedStyle(gr),ti=parseFloat(pi.borderTopWidth)||0,ci=parseFloat(pi.borderLeftWidth)||0,Ii=parseFloat(pi.borderRightWidth)||0,si=parseFloat(pi.borderBottomWidth)||0,mi=parseFloat(pi.paddingTop)||0,Ri=parseFloat(pi.paddingLeft)||0,yi=parseFloat(pi.paddingRight)||0,bi=parseFloat(pi.paddingBottom)||0,wi=ci+Ri+yi+Ii,De=ti+mi+bi+si;return{borderTop:ti,borderLeft:ci,borderRight:Ii,borderBottom:si,paddingTop:mi,paddingLeft:Ri,paddingRight:yi,paddingBottom:bi,horizontalSum:wi,verticalSum:De}}jt.boxSizing=Se;function Mt(gr){let pi=window.getComputedStyle(gr),ti=parseFloat(pi.minWidth)||0,ci=parseFloat(pi.minHeight)||0,Ii=parseFloat(pi.maxWidth)||1/0,si=parseFloat(pi.maxHeight)||1/0;return Ii=Math.max(ti,Ii),si=Math.max(ci,si),{minWidth:ti,minHeight:ci,maxWidth:Ii,maxHeight:si}}jt.sizeLimits=Mt;function Lt(gr,pi,ti){let ci=gr.getBoundingClientRect();return pi>=ci.left&&pi=ci.top&&ti=ti.bottom)){if(ci.topti.bottom&&ci.height>=ti.height){gr.scrollTop-=ti.top-ci.top;return}if(ci.topti.height){gr.scrollTop-=ti.bottom-ci.bottom;return}if(ci.bottom>ti.bottom&&ci.height{let si=Element.prototype;return si.matches||si.matchesSelector||si.mozMatchesSelector||si.msMatchesSelector||si.oMatchesSelector||si.webkitMatchesSelector||function(mi){let Ri=this,yi=Ri.ownerDocument?Ri.ownerDocument.querySelectorAll(mi):[];return Array.prototype.indexOf.call(yi,Ri)!==-1}})();function Se(si){si=si.split(",",1)[0];let mi=0,Ri=0,yi=0;function bi(wi){let De=si.match(wi);return De===null?!1:(si=si.slice(De[0].length),!0)}for(si=si.replace(Ii," $1 ");si.length>0;){if(bi(Mt)){mi++;continue}if(bi(Lt)){Ri++;continue}if(bi($t)){Ri++;continue}if(bi(pi)){yi++;continue}if(bi(ti)){Ri++;continue}if(bi(gr)){yi++;continue}if(!bi(ci))return 0}return mi=Math.min(mi,255),Ri=Math.min(Ri,255),yi=Math.min(yi,255),mi<<16|Ri<<8|yi}jt.calculateSingle=Se;let Mt=/^#[^\s\+>~#\.\[:]+/,Lt=/^\.[^\s\+>~#\.\[:]+/,$t=/^\[[^\]]+\]/,gr=/^[^\s\+>~#\.\[:]+/,pi=/^(::[^\s\+>~#\.\[:]+|:first-line|:first-letter|:before|:after)/,ti=/^:[^\s\+>~#\.\[:]+/,ci=/^[\s\+>~\*]+/,Ii=/:not\(([^\)]+)\)/g})(sv||(sv={}));var tp=Qv(P0());var Nm=class{constructor(){this._first=null,this._last=null,this._size=0}get isEmpty(){return this._size===0}get size(){return this._size}get length(){return this._size}get first(){return this._first?this._first.value:void 0}get last(){return this._last?this._last.value:void 0}get firstNode(){return this._first}get lastNode(){return this._last}*[Symbol.iterator](){let Se=this._first;for(;Se;)yield Se.value,Se=Se.next}*retro(){let Se=this._last;for(;Se;)yield Se.value,Se=Se.prev}*nodes(){let Se=this._first;for(;Se;)yield Se,Se=Se.next}*retroNodes(){let Se=this._last;for(;Se;)yield Se,Se=Se.prev}assign(Se){this.clear();for(let Mt of Se)this.addLast(Mt)}push(Se){this.addLast(Se)}pop(){return this.removeLast()}shift(Se){this.addFirst(Se)}unshift(){return this.removeFirst()}addFirst(Se){let Mt=new ep.LinkedListNode(this,Se);return this._first?(Mt.next=this._first,this._first.prev=Mt,this._first=Mt):(this._first=Mt,this._last=Mt),this._size++,Mt}addLast(Se){let Mt=new ep.LinkedListNode(this,Se);return this._last?(Mt.prev=this._last,this._last.next=Mt,this._last=Mt):(this._first=Mt,this._last=Mt),this._size++,Mt}insertBefore(Se,Mt){if(!Mt||Mt===this._first)return this.addFirst(Se);if(!(Mt instanceof ep.LinkedListNode)||Mt.list!==this)throw new Error("Reference node is not owned by the list.");let Lt=new ep.LinkedListNode(this,Se),$t=Mt,gr=$t.prev;return Lt.next=$t,Lt.prev=gr,$t.prev=Lt,gr.next=Lt,this._size++,Lt}insertAfter(Se,Mt){if(!Mt||Mt===this._last)return this.addLast(Se);if(!(Mt instanceof ep.LinkedListNode)||Mt.list!==this)throw new Error("Reference node is not owned by the list.");let Lt=new ep.LinkedListNode(this,Se),$t=Mt,gr=$t.next;return Lt.next=gr,Lt.prev=$t,$t.next=Lt,gr.prev=Lt,this._size++,Lt}removeFirst(){let Se=this._first;if(Se)return Se===this._last?(this._first=null,this._last=null):(this._first=Se.next,this._first.prev=null),Se.list=null,Se.next=null,Se.prev=null,this._size--,Se.value}removeLast(){let Se=this._last;if(Se)return Se===this._first?(this._first=null,this._last=null):(this._last=Se.prev,this._last.next=null),Se.list=null,Se.next=null,Se.prev=null,this._size--,Se.value}removeNode(Se){if(!(Se instanceof ep.LinkedListNode)||Se.list!==this)throw new Error("Node is not owned by the list.");let Mt=Se;Mt===this._first&&Mt===this._last?(this._first=null,this._last=null):Mt===this._first?(this._first=Mt.next,this._first.prev=null):Mt===this._last?(this._last=Mt.prev,this._last.next=null):(Mt.next.prev=Mt.prev,Mt.prev.next=Mt.next),Mt.list=null,Mt.next=null,Mt.prev=null,this._size--}clear(){let Se=this._first;for(;Se;){let Mt=Se.next;Se.list=null,Se.prev=null,Se.next=null,Se=Mt}this._first=null,this._last=null,this._size=0}};(function(jt){function Se(Mt){let Lt=new jt;return Lt.assign(Mt),Lt}jt.from=Se})(Nm||(Nm={}));var ep;(function(jt){class Se{constructor(Lt,$t){this.list=null,this.next=null,this.prev=null,this.list=Lt,this.value=$t}}jt.LinkedListNode=Se})(ep||(ep={}));var _d=class{constructor(Se){this.type=Se}get isConflatable(){return!1}conflate(Se){return!1}},Bp=class extends _d{get isConflatable(){return!0}conflate(Se){return!0}},qo;(function(jt){let Se=null,Mt=(Qn=>Do=>{let Tn=!1;return Qn.then(()=>!Tn&&Do()),()=>{Tn=!0}})(Promise.resolve());function Lt(Qn,Do){let Tn=Ri.get(Qn);if(!Tn||Tn.length===0){tn(Qn,Do);return}(0,tp.every)((0,tp.retro)(Tn),vn=>vn?De(vn,Qn,Do):!0)&&tn(Qn,Do)}jt.sendMessage=Lt;function $t(Qn,Do){if(!Do.isConflatable){Ya(Qn,Do);return}(0,tp.some)(mi,lo=>lo.handler!==Qn||!lo.msg||lo.msg.type!==Do.type||!lo.msg.isConflatable?!1:lo.msg.conflate(Do))||Ya(Qn,Do)}jt.postMessage=$t;function gr(Qn,Do){let Tn=Ri.get(Qn);Tn&&Tn.indexOf(Do)!==-1||(Tn?Tn.push(Do):Ri.set(Qn,[Do]))}jt.installMessageHook=gr;function pi(Qn,Do){let Tn=Ri.get(Qn);if(!Tn)return;let lo=Tn.indexOf(Do);lo!==-1&&(Tn[lo]=null,Ua(Tn))}jt.removeMessageHook=pi;function ti(Qn){let Do=Ri.get(Qn);Do&&Do.length>0&&(tp.ArrayExt.fill(Do,null),Ua(Do));for(let Tn of mi)Tn.handler===Qn&&(Tn.handler=null,Tn.msg=null)}jt.clearData=ti;function ci(){wi||Se===null||(Se(),Se=null,wi=!0,sa(),wi=!1)}jt.flush=ci;function Ii(){return bi}jt.getExceptionHandler=Ii;function si(Qn){let Do=bi;return bi=Qn,Do}jt.setExceptionHandler=si;let mi=new Nm,Ri=new WeakMap,yi=new Set,bi=Qn=>{console.error(Qn)},wi=!1;function De(Qn,Do,Tn){let lo=!0;try{typeof Qn=="function"?lo=Qn(Do,Tn):lo=Qn.messageHook(Do,Tn)}catch(vn){bi(vn)}return lo}function tn(Qn,Do){try{Qn.processMessage(Do)}catch(Tn){bi(Tn)}}function Ya(Qn,Do){mi.addLast({handler:Qn,msg:Do}),Se===null&&(Se=Mt(sa))}function sa(){if(Se=null,mi.isEmpty)return;let Qn={handler:null,msg:null};for(mi.addLast(Qn);;){let Do=mi.removeFirst();if(Do===Qn)return;Do.handler&&Do.msg&&Lt(Do.handler,Do.msg)}}function Ua(Qn){yi.size===0&&Mt(en),yi.add(Qn)}function en(){yi.forEach(Mn),yi.clear()}function Mn(Qn){tp.ArrayExt.removeAllWhere(Qn,za)}function za(Qn){return Qn===null}})(qo||(qo={}));var xd=class{constructor(Se){this._pid=R0.nextPID(),this.name=Se.name,this._create=Se.create,this._coerce=Se.coerce||null,this._compare=Se.compare||null,this._changed=Se.changed||null}get(Se){let Mt,Lt=R0.ensureMap(Se);return this._pid in Lt?Mt=Lt[this._pid]:Mt=Lt[this._pid]=this._createValue(Se),Mt}set(Se,Mt){let Lt,$t=R0.ensureMap(Se);this._pid in $t?Lt=$t[this._pid]:Lt=$t[this._pid]=this._createValue(Se);let gr=this._coerceValue(Se,Mt);this._maybeNotify(Se,Lt,$t[this._pid]=gr)}coerce(Se){let Mt,Lt=R0.ensureMap(Se);this._pid in Lt?Mt=Lt[this._pid]:Mt=Lt[this._pid]=this._createValue(Se);let $t=this._coerceValue(Se,Mt);this._maybeNotify(Se,Mt,Lt[this._pid]=$t)}_createValue(Se){let Mt=this._create;return Mt(Se)}_coerceValue(Se,Mt){let Lt=this._coerce;return Lt?Lt(Se,Mt):Mt}_compareValue(Se,Mt){let Lt=this._compare;return Lt?Lt(Se,Mt):Se===Mt}_maybeNotify(Se,Mt,Lt){let $t=this._changed;$t&&!this._compareValue(Mt,Lt)&&$t(Se,Mt,Lt)}};(function(jt){function Se(Mt){R0.ownerData.delete(Mt)}jt.clearData=Se})(xd||(xd={}));var R0;(function(jt){jt.ownerData=new WeakMap,jt.nextPID=(()=>{let Mt=0;return()=>`pid-${`${Math.random()}`.slice(2)}-${Mt++}`})();function Se(Mt){let Lt=jt.ownerData.get(Mt);return Lt||(Lt=Object.create(null),jt.ownerData.set(Mt,Lt),Lt)}jt.ensureMap=Se})(R0||(R0={}));var n_=Qv(P0()),R7=Qv(a_()),Vc=class{constructor(Se){this.sender=Se}connect(Se,Mt){return zd.connect(this,Se,Mt)}disconnect(Se,Mt){return zd.disconnect(this,Se,Mt)}emit(Se){zd.emit(this,Se)}};(function(jt){function Se(ci,Ii){zd.disconnectBetween(ci,Ii)}jt.disconnectBetween=Se;function Mt(ci){zd.disconnectSender(ci)}jt.disconnectSender=Mt;function Lt(ci){zd.disconnectReceiver(ci)}jt.disconnectReceiver=Lt;function $t(ci){zd.disconnectAll(ci)}jt.disconnectAll=$t;function gr(ci){zd.disconnectAll(ci)}jt.clearData=gr;function pi(){return zd.exceptionHandler}jt.getExceptionHandler=pi;function ti(ci){let Ii=zd.exceptionHandler;return zd.exceptionHandler=ci,Ii}jt.setExceptionHandler=ti})(Vc||(Vc={}));var zd;(function(jt){jt.exceptionHandler=Ya=>{console.error(Ya)};function Se(Ya,sa,Ua){Ua=Ua||void 0;let en=ci.get(Ya.sender);if(en||(en=[],ci.set(Ya.sender,en)),Ri(en,Ya,sa,Ua))return!1;let Mn=Ua||sa,za=Ii.get(Mn);za||(za=[],Ii.set(Mn,za));let Qn={signal:Ya,slot:sa,thisArg:Ua};return en.push(Qn),za.push(Qn),!0}jt.connect=Se;function Mt(Ya,sa,Ua){Ua=Ua||void 0;let en=ci.get(Ya.sender);if(!en||en.length===0)return!1;let Mn=Ri(en,Ya,sa,Ua);if(!Mn)return!1;let za=Ua||sa,Qn=Ii.get(za);return Mn.signal=null,bi(en),bi(Qn),!0}jt.disconnect=Mt;function Lt(Ya,sa){let Ua=ci.get(Ya);if(!Ua||Ua.length===0)return;let en=Ii.get(sa);if(!(!en||en.length===0)){for(let Mn of en)Mn.signal&&Mn.signal.sender===Ya&&(Mn.signal=null);bi(Ua),bi(en)}}jt.disconnectBetween=Lt;function $t(Ya){let sa=ci.get(Ya);if(!(!sa||sa.length===0)){for(let Ua of sa){if(!Ua.signal)continue;let en=Ua.thisArg||Ua.slot;Ua.signal=null,bi(Ii.get(en))}bi(sa)}}jt.disconnectSender=$t;function gr(Ya){let sa=Ii.get(Ya);if(!(!sa||sa.length===0)){for(let Ua of sa){if(!Ua.signal)continue;let en=Ua.signal.sender;Ua.signal=null,bi(ci.get(en))}bi(sa)}}jt.disconnectReceiver=gr;function pi(Ya){$t(Ya),gr(Ya)}jt.disconnectAll=pi;function ti(Ya,sa){let Ua=ci.get(Ya.sender);if(!(!Ua||Ua.length===0))for(let en=0,Mn=Ua.length;enMn.signal===sa&&Mn.slot===Ua&&Mn.thisArg===en)}function yi(Ya,sa){let{signal:Ua,slot:en,thisArg:Mn}=Ya;try{en.call(Mn,Ua.sender,sa)}catch(za){jt.exceptionHandler(za)}}function bi(Ya){si.size===0&&mi(wi),si.add(Ya)}function wi(){si.forEach(De),si.clear()}function De(Ya){n_.ArrayExt.removeAllWhere(Ya,tn)}function tn(Ya){return Ya.signal===null}})(zd||(zd={}));var Op=class{constructor(Se){this._fn=Se}get isDisposed(){return!this._fn}dispose(){if(!this._fn)return;let Se=this._fn;this._fn=null,Se()}};var $g=class{constructor(){this._isDisposed=!1,this._items=new Set}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed||(this._isDisposed=!0,this._items.forEach(Se=>{Se.dispose()}),this._items.clear())}contains(Se){return this._items.has(Se)}add(Se){this._items.add(Se)}remove(Se){this._items.delete(Se)}clear(){this._items.clear()}};(function(jt){function Se(Mt){let Lt=new jt;for(let $t of Mt)Lt.add($t);return Lt}jt.from=Se})($g||($g={}));var o_=class extends $g{constructor(){super(...arguments),this._disposed=new Vc(this)}get disposed(){return this._disposed}dispose(){this.isDisposed||(super.dispose(),this._disposed.emit(void 0),Vc.clearData(this))}};(function(jt){function Se(Mt){let Lt=new jt;for(let $t of Mt)Lt.add($t);return Lt}jt.from=Se})(o_||(o_={}));var bd=class jt{constructor(Se){this._onScrollFrame=()=>{if(!this._scrollTarget)return;let{element:Mt,edge:Lt,distance:$t}=this._scrollTarget,gr=fd.SCROLL_EDGE_SIZE-$t,pi=Math.pow(gr/fd.SCROLL_EDGE_SIZE,2),ti=Math.max(1,Math.round(pi*fd.SCROLL_EDGE_SIZE));switch(Lt){case"top":Mt.scrollTop-=ti;break;case"left":Mt.scrollLeft-=ti;break;case"right":Mt.scrollLeft+=ti;break;case"bottom":Mt.scrollTop+=ti;break}requestAnimationFrame(this._onScrollFrame)},this._disposed=!1,this._dropAction="none",this._override=null,this._currentTarget=null,this._currentElement=null,this._promise=null,this._scrollTarget=null,this._resolve=null,this.document=Se.document||document,this.mimeData=Se.mimeData,this.dragImage=Se.dragImage||null,this.proposedAction=Se.proposedAction||"copy",this.supportedActions=Se.supportedActions||"all",this.source=Se.source||null}dispose(){if(!this._disposed){if(this._disposed=!0,this._currentTarget){let Se=new PointerEvent("pointerup",{bubbles:!0,cancelable:!0,clientX:-1,clientY:-1});fd.dispatchDragLeave(this,this._currentTarget,null,Se)}this._finalize("none")}}get isDisposed(){return this._disposed}start(Se,Mt){if(this._disposed)return Promise.resolve("none");if(this._promise)return this._promise;this._addListeners(),this._attachDragImage(Se,Mt),this._promise=new Promise($t=>{this._resolve=$t});let Lt=new PointerEvent("pointermove",{bubbles:!0,cancelable:!0,clientX:Se,clientY:Mt});return document.dispatchEvent(Lt),this._promise}handleEvent(Se){switch(Se.type){case"pointermove":this._evtPointerMove(Se);break;case"pointerup":this._evtPointerUp(Se);break;case"keydown":this._evtKeyDown(Se);break;default:Se.preventDefault(),Se.stopPropagation();break}}moveDragImage(Se,Mt){if(!this.dragImage)return;let Lt=this.dragImage.style;Lt.transform=`translate(${Se}px, ${Mt}px)`}_evtPointerMove(Se){Se.preventDefault(),Se.stopPropagation(),this._updateCurrentTarget(Se),this._updateDragScroll(Se),this.moveDragImage(Se.clientX,Se.clientY)}_evtPointerUp(Se){if(Se.preventDefault(),Se.stopPropagation(),Se.button!==0)return;if(this._updateCurrentTarget(Se),!this._currentTarget){this._finalize("none");return}if(this._dropAction==="none"){fd.dispatchDragLeave(this,this._currentTarget,null,Se),this._finalize("none");return}let Mt=fd.dispatchDrop(this,this._currentTarget,Se);this._finalize(Mt)}_evtKeyDown(Se){Se.preventDefault(),Se.stopPropagation(),Se.keyCode===27&&this.dispose()}_addListeners(){document.addEventListener("pointerdown",this,!0),document.addEventListener("pointermove",this,!0),document.addEventListener("pointerup",this,!0),document.addEventListener("pointerenter",this,!0),document.addEventListener("pointerleave",this,!0),document.addEventListener("pointerover",this,!0),document.addEventListener("pointerout",this,!0),document.addEventListener("keydown",this,!0),document.addEventListener("keyup",this,!0),document.addEventListener("keypress",this,!0),document.addEventListener("contextmenu",this,!0)}_removeListeners(){document.removeEventListener("pointerdown",this,!0),document.removeEventListener("pointermove",this,!0),document.removeEventListener("pointerup",this,!0),document.removeEventListener("pointerenter",this,!0),document.removeEventListener("pointerleave",this,!0),document.removeEventListener("pointerover",this,!0),document.removeEventListener("pointerout",this,!0),document.removeEventListener("keydown",this,!0),document.removeEventListener("keyup",this,!0),document.removeEventListener("keypress",this,!0),document.removeEventListener("contextmenu",this,!0)}_updateDragScroll(Se){let Mt=fd.findScrollTarget(Se);!this._scrollTarget&&!Mt||(this._scrollTarget||setTimeout(this._onScrollFrame,500),this._scrollTarget=Mt)}_updateCurrentTarget(Se){let Mt=this._currentTarget,Lt=this._currentTarget,$t=this._currentElement,gr=fd.findElementBehindBackdrop(Se,this.document);this._currentElement=gr,gr!==$t&&gr!==Lt&&fd.dispatchDragExit(this,Lt,gr,Se),gr!==$t&&gr!==Lt&&(Lt=fd.dispatchDragEnter(this,gr,Lt,Se)),Lt!==Mt&&(this._currentTarget=Lt,fd.dispatchDragLeave(this,Mt,Lt,Se));let pi=fd.dispatchDragOver(this,Lt,Se);this._setDropAction(pi)}_attachDragImage(Se,Mt){if(!this.dragImage)return;this.dragImage.classList.add("lm-mod-drag-image");let Lt=this.dragImage.style;Lt.pointerEvents="none",Lt.position="fixed",Lt.transform=`translate(${Se}px, ${Mt}px)`,(this.document instanceof Document?this.document.body:this.document.firstElementChild).appendChild(this.dragImage)}_detachDragImage(){if(!this.dragImage)return;let Se=this.dragImage.parentNode;Se&&Se.removeChild(this.dragImage)}_setDropAction(Se){if(Se=fd.validateAction(Se,this.supportedActions),!(this._override&&this._dropAction===Se))switch(Se){case"none":this._dropAction=Se,this._override=jt.overrideCursor("no-drop",this.document);break;case"copy":this._dropAction=Se,this._override=jt.overrideCursor("copy",this.document);break;case"link":this._dropAction=Se,this._override=jt.overrideCursor("alias",this.document);break;case"move":this._dropAction=Se,this._override=jt.overrideCursor("move",this.document);break}}_finalize(Se){let Mt=this._resolve;this._removeListeners(),this._detachDragImage(),this._override&&(this._override.dispose(),this._override=null),this.mimeData.clear(),this._disposed=!0,this._dropAction="none",this._currentTarget=null,this._currentElement=null,this._scrollTarget=null,this._promise=null,this._resolve=null,Mt&&Mt(Se)}};(function(jt){class Se extends DragEvent{constructor($t,gr){super(gr.type,{bubbles:!0,cancelable:!0,altKey:$t.altKey,button:$t.button,clientX:$t.clientX,clientY:$t.clientY,ctrlKey:$t.ctrlKey,detail:0,metaKey:$t.metaKey,relatedTarget:gr.related,screenX:$t.screenX,screenY:$t.screenY,shiftKey:$t.shiftKey,view:window});let{drag:pi}=gr;this.dropAction="none",this.mimeData=pi.mimeData,this.proposedAction=pi.proposedAction,this.supportedActions=pi.supportedActions,this.source=pi.source}}jt.Event=Se;function Mt(Lt,$t=document){return fd.overrideCursor(Lt,$t)}jt.overrideCursor=Mt})(bd||(bd={}));var fd;(function(jt){jt.SCROLL_EDGE_SIZE=20;function Se(Ua,en){return mi[Ua]&Ri[en]?Ua:"none"}jt.validateAction=Se;function Mt(Ua,en=document){if(Ua){if(Lt&&Ua==Lt.event)return Lt.element;jt.cursorBackdrop.style.zIndex="-1000";let Mn=en.elementFromPoint(Ua.clientX,Ua.clientY);return jt.cursorBackdrop.style.zIndex="",Lt={event:Ua,element:Mn},Mn}else{let Mn=jt.cursorBackdrop.style.transform;if($t&&Mn===$t.transform)return $t.element;let za=jt.cursorBackdrop.getBoundingClientRect();jt.cursorBackdrop.style.zIndex="-1000";let Qn=en.elementFromPoint(za.left+za.width/2,za.top+za.height/2);return jt.cursorBackdrop.style.zIndex="",$t={transform:Mn,element:Qn},Qn}}jt.findElementBehindBackdrop=Mt;let Lt=null,$t=null;function gr(Ua){let en=Ua.clientX,Mn=Ua.clientY,za=Mt(Ua);for(;za;za=za.parentElement){if(!za.hasAttribute("data-lm-dragscroll"))continue;let Qn=0,Do=0;za===document.body&&(Qn=window.pageXOffset,Do=window.pageYOffset);let Tn=za.getBoundingClientRect(),lo=Tn.top+Do,vn=Tn.left+Qn,zn=vn+Tn.width,zl=lo+Tn.height;if(en=zn||Mn=zl)continue;let fu=en-vn+1,vl=Mn-lo+1,bu=zn-en,Tf=zl-Mn,Hc=Math.min(fu,vl,bu,Tf);if(Hc>jt.SCROLL_EDGE_SIZE)continue;let Ac;switch(Hc){case Tf:Ac="bottom";break;case vl:Ac="top";break;case bu:Ac="right";break;case fu:Ac="left";break;default:throw"unreachable"}let af=za.scrollWidth-za.clientWidth,gf=za.scrollHeight-za.clientHeight,wu;switch(Ac){case"top":wu=gf>0&&za.scrollTop>0;break;case"left":wu=af>0&&za.scrollLeft>0;break;case"right":wu=af>0&&za.scrollLeft0&&za.scrollTop{Mn===sa&&jt.cursorBackdrop.isConnected&&(document.removeEventListener("pointermove",bi,!0),jt.cursorBackdrop.removeEventListener("scroll",wi,!0),za.removeChild(jt.cursorBackdrop))})}jt.overrideCursor=yi;function bi(Ua){jt.cursorBackdrop&&(jt.cursorBackdrop.style.transform=`translate(${Ua.clientX}px, ${Ua.clientY}px)`)}function wi(Ua){if(!jt.cursorBackdrop)return;let en=Mt();if(!en)return;let Mn=en.closest("[data-lm-dragscroll]");Mn&&(Mn.scrollTop+=jt.cursorBackdrop.scrollTop-tn,Mn.scrollLeft+=jt.cursorBackdrop.scrollLeft-tn,De())}function De(){jt.cursorBackdrop.scrollTop=tn,jt.cursorBackdrop.scrollLeft=tn}let tn=500;function Ya(){let Ua=document.createElement("div");return Ua.classList.add("lm-cursor-backdrop"),Ua}let sa=0;jt.cursorBackdrop=Ya()})(fd||(fd={}));var IS=Qv(P0()),Kh=Qv(a_());function Um(){return Sw.keyboardLayout}var Jg=class jt{constructor(Se,Mt,Lt=[]){this.name=Se,this._codes=Mt,this._keys=jt.extractKeys(Mt),this._modifierKeys=jt.convertToKeySet(Lt)}keys(){return Object.keys(this._keys)}isValidKey(Se){return Se in this._keys}isModifierKey(Se){return Se in this._modifierKeys}keyForKeydownEvent(Se){return this._codes[Se.keyCode]||""}};(function(jt){function Se(Lt){let $t=Object.create(null);for(let gr in Lt)$t[Lt[gr]]=!0;return $t}jt.extractKeys=Se;function Mt(Lt){let $t=Object(null);for(let gr=0,pi=Lt.length;gr{this._commands.delete(Se),this._commandChanged.emit({id:Se,type:"removed"})})}notifyCommandChanged(Se){if(Se!==void 0&&!this._commands.has(Se))throw new Error(`Command '${Se}' is not registered.`);this._commandChanged.emit({id:Se,type:Se?"changed":"many-changed"})}describedBy(Se,Mt=Kh.JSONExt.emptyObject){var Lt;let $t=this._commands.get(Se);return Promise.resolve((Lt=$t?.describedBy.call(void 0,Mt))!==null&&Lt!==void 0?Lt:{args:null})}label(Se,Mt=Kh.JSONExt.emptyObject){var Lt;let $t=this._commands.get(Se);return(Lt=$t?.label.call(void 0,Mt))!==null&&Lt!==void 0?Lt:""}mnemonic(Se,Mt=Kh.JSONExt.emptyObject){let Lt=this._commands.get(Se);return Lt?Lt.mnemonic.call(void 0,Mt):-1}icon(Se,Mt=Kh.JSONExt.emptyObject){var Lt;return(Lt=this._commands.get(Se))===null||Lt===void 0?void 0:Lt.icon.call(void 0,Mt)}iconClass(Se,Mt=Kh.JSONExt.emptyObject){let Lt=this._commands.get(Se);return Lt?Lt.iconClass.call(void 0,Mt):""}iconLabel(Se,Mt=Kh.JSONExt.emptyObject){let Lt=this._commands.get(Se);return Lt?Lt.iconLabel.call(void 0,Mt):""}caption(Se,Mt=Kh.JSONExt.emptyObject){let Lt=this._commands.get(Se);return Lt?Lt.caption.call(void 0,Mt):""}usage(Se,Mt=Kh.JSONExt.emptyObject){let Lt=this._commands.get(Se);return Lt?Lt.usage.call(void 0,Mt):""}className(Se,Mt=Kh.JSONExt.emptyObject){let Lt=this._commands.get(Se);return Lt?Lt.className.call(void 0,Mt):""}dataset(Se,Mt=Kh.JSONExt.emptyObject){let Lt=this._commands.get(Se);return Lt?Lt.dataset.call(void 0,Mt):{}}isEnabled(Se,Mt=Kh.JSONExt.emptyObject){let Lt=this._commands.get(Se);return Lt?Lt.isEnabled.call(void 0,Mt):!1}isToggled(Se,Mt=Kh.JSONExt.emptyObject){let Lt=this._commands.get(Se);return Lt?Lt.isToggled.call(void 0,Mt):!1}isToggleable(Se,Mt=Kh.JSONExt.emptyObject){let Lt=this._commands.get(Se);return Lt?Lt.isToggleable:!1}isVisible(Se,Mt=Kh.JSONExt.emptyObject){let Lt=this._commands.get(Se);return Lt?Lt.isVisible.call(void 0,Mt):!1}execute(Se,Mt=Kh.JSONExt.emptyObject){let Lt=this._commands.get(Se);if(!Lt)return Promise.reject(new Error(`Command '${Se}' not registered.`));let $t;try{$t=Lt.execute.call(void 0,Mt)}catch(pi){$t=Promise.reject(pi)}let gr=Promise.resolve($t);return this._commandExecuted.emit({id:Se,args:Mt,result:gr}),gr}addKeyBinding(Se){let Mt=uv.createKeyBinding(Se);return this._keyBindings.push(Mt),this._keyBindingChanged.emit({binding:Mt,type:"added"}),new Op(()=>{IS.ArrayExt.removeFirstOf(this._keyBindings,Mt),this._keyBindingChanged.emit({binding:Mt,type:"removed"})})}processKeydownEvent(Se){if(Se.defaultPrevented||this._replaying)return;let Mt=jt.keystrokeForKeydownEvent(Se);if(!Mt){this._replayKeydownEvents(),this._clearPendingState();return}if(jt.isModifierKeyPressed(Se)){let{exact:pi}=uv.matchKeyBinding(this._keyBindings,[Mt],Se);pi?(Se.preventDefault(),Se.stopPropagation(),this._startModifierTimer(pi)):this._clearModifierTimer();return}this._keystrokes.push(Mt);let{exact:Lt,partial:$t}=uv.matchKeyBinding(this._keyBindings,this._keystrokes,Se),gr=$t.length!==0;if(!Lt&&!gr){this._replayKeydownEvents(),this._clearPendingState();return}if((Lt?.preventDefault||$t.some(pi=>pi.preventDefault))&&(Se.preventDefault(),Se.stopPropagation()),this._keydownEvents.push(Se),Lt&&!gr){this._executeKeyBinding(Lt),this._clearPendingState();return}Lt&&(this._exactKeyMatch=Lt),this._startTimer()}holdKeyBindingExecution(Se,Mt){this._holdKeyBindingPromises.set(Se,Mt)}processKeyupEvent(Se){this._clearModifierTimer()}_startModifierTimer(Se){this._clearModifierTimer(),this._timerModifierID=window.setTimeout(()=>{this._executeKeyBinding(Se)},uv.modifierkeyTimeOut)}_clearModifierTimer(){this._timerModifierID!==0&&(clearTimeout(this._timerModifierID),this._timerModifierID=0)}_startTimer(){this._clearTimer(),this._timerID=window.setTimeout(()=>{this._onPendingTimeout()},uv.CHORD_TIMEOUT)}_clearTimer(){this._timerID!==0&&(clearTimeout(this._timerID),this._timerID=0)}_replayKeydownEvents(){this._keydownEvents.length!==0&&(this._replaying=!0,this._keydownEvents.forEach(uv.replayKeyEvent),this._replaying=!1)}async _executeKeyBinding(Se){if(this._holdKeyBindingPromises.size!==0){let gr=[...this._keydownEvents],pi=(await Promise.race([Promise.all(gr.map(async ti=>{var ci;return(ci=this._holdKeyBindingPromises.get(ti))!==null&&ci!==void 0?ci:Promise.resolve(!0)})),new Promise(ti=>{setTimeout(()=>ti([!1]),uv.KEYBINDING_HOLD_TIMEOUT)})])).every(Boolean);if(this._holdKeyBindingPromises.clear(),!pi)return}let{command:Mt,args:Lt}=Se,$t={_luminoEvent:{type:"keybinding",keys:Se.keys},...Lt};if(!this.hasCommand(Mt)||!this.isEnabled(Mt,$t)){let gr=this.hasCommand(Mt)?"enabled":"registered",ti=`Cannot execute key binding '${Se.keys.join(", ")}':`,ci=`command '${Mt}' is not ${gr}.`;console.warn(`${ti} ${ci}`);return}await this.execute(Mt,$t)}_clearPendingState(){this._clearTimer(),this._clearModifierTimer(),this._exactKeyMatch=null,this._keystrokes.length=0,this._keydownEvents.length=0}_onPendingTimeout(){this._timerID=0,this._exactKeyMatch?this._executeKeyBinding(this._exactKeyMatch):this._replayKeydownEvents(),this._clearPendingState()}};(function(jt){function Se(ti){let ci="",Ii=!1,si=!1,mi=!1,Ri=!1;for(let yi of ti.split(/\s+/))yi==="Accel"?cd.IS_MAC?si=!0:mi=!0:yi==="Alt"?Ii=!0:yi==="Cmd"?si=!0:yi==="Ctrl"?mi=!0:yi==="Shift"?Ri=!0:yi.length>0&&(ci=yi);return{cmd:si,ctrl:mi,alt:Ii,shift:Ri,key:ci}}jt.parseKeystroke=Se;function Mt(ti){let ci="",Ii=Se(ti);return Ii.ctrl&&(ci+="Ctrl "),Ii.alt&&(ci+="Alt "),Ii.shift&&(ci+="Shift "),Ii.cmd&&cd.IS_MAC&&(ci+="Cmd "),Ii.key?ci+Ii.key:ci.trim()}jt.normalizeKeystroke=Mt;function Lt(ti){let ci;return cd.IS_WIN?ci=ti.winKeys||ti.keys:cd.IS_MAC?ci=ti.macKeys||ti.keys:ci=ti.linuxKeys||ti.keys,ci.map(Mt)}jt.normalizeKeys=Lt;function $t(ti){return typeof ti=="string"?ci(ti):ti.map(ci).join(", ");function ci(Ii){let si=[],mi=cd.IS_MAC?" ":"+",Ri=Se(Ii);return Ri.ctrl&&si.push("Ctrl"),Ri.alt&&si.push("Alt"),Ri.shift&&si.push("Shift"),cd.IS_MAC&&Ri.cmd&&si.push("Cmd"),si.push(Ri.key),si.map(uv.formatKey).join(mi)}}jt.formatKeystroke=$t;function gr(ti){let ci=Um(),Ii=ci.keyForKeydownEvent(ti);return ci.isModifierKey(Ii)}jt.isModifierKeyPressed=gr;function pi(ti){let ci=Um(),Ii=ci.keyForKeydownEvent(ti),si=[];return ti.ctrlKey&&si.push("Ctrl"),ti.altKey&&si.push("Alt"),ti.shiftKey&&si.push("Shift"),ti.metaKey&&cd.IS_MAC&&si.push("Cmd"),ci.isModifierKey(Ii)||si.push(Ii),si.join(" ")}jt.keystrokeForKeydownEvent=pi})(rp||(rp={}));var uv;(function(jt){jt.CHORD_TIMEOUT=1e3,jt.KEYBINDING_HOLD_TIMEOUT=1e3,jt.modifierkeyTimeOut=500;function Se(sa){return{execute:sa.execute,describedBy:bi(typeof sa.describedBy=="function"?sa.describedBy:{args:null,...sa.describedBy},()=>({args:null})),label:bi(sa.label,ci),mnemonic:bi(sa.mnemonic,Ii),icon:bi(sa.icon,yi),iconClass:bi(sa.iconClass,ci),iconLabel:bi(sa.iconLabel,ci),caption:bi(sa.caption,ci),usage:bi(sa.usage,ci),className:bi(sa.className,ci),dataset:bi(sa.dataset,Ri),isEnabled:sa.isEnabled||si,isToggled:sa.isToggled||mi,isToggleable:sa.isToggleable||!!sa.isToggled,isVisible:sa.isVisible||si}}jt.createCommand=Se;function Mt(sa){var Ua;return{keys:rp.normalizeKeys(sa),selector:wi(sa),command:sa.command,args:sa.args||Kh.JSONExt.emptyObject,preventDefault:(Ua=sa.preventDefault)!==null&&Ua!==void 0?Ua:!0}}jt.createKeyBinding=Mt;function Lt(sa,Ua,en){let Mn=null,za=[],Qn=1/0,Do=0;for(let Tn=0,lo=sa.length;TnQn)continue;let fu=lv.calculateSpecificity(vn.selector);(!Mn||zl=Do)&&(Mn=vn,Qn=zl,Do=fu)}return{exact:Mn,partial:za}}jt.matchKeyBinding=Lt;function $t(sa){sa.target.dispatchEvent(Ya(sa))}jt.replayKeyEvent=$t;function gr(sa){return cd.IS_MAC?pi.hasOwnProperty(sa)?pi[sa]:sa:ti.hasOwnProperty(sa)?ti[sa]:sa}jt.formatKey=gr;let pi={Backspace:"\u232B",Tab:"\u21E5",Enter:"\u23CE",Shift:"\u21E7",Ctrl:"\u2303",Alt:"\u2325",Escape:"\u238B",PageUp:"\u21DE",PageDown:"\u21DF",End:"\u2198",Home:"\u2196",ArrowLeft:"\u2190",ArrowUp:"\u2191",ArrowRight:"\u2192",ArrowDown:"\u2193",Delete:"\u2326",Cmd:"\u2318"},ti={Escape:"Esc",PageUp:"Page Up",PageDown:"Page Down",ArrowLeft:"Left",ArrowUp:"Up",ArrowRight:"Right",ArrowDown:"Down",Delete:"Del"},ci=()=>"",Ii=()=>-1,si=()=>!0,mi=()=>!1,Ri=()=>({}),yi=()=>{};function bi(sa,Ua){return sa===void 0?Ua:typeof sa=="function"?sa:()=>sa}function wi(sa){if(sa.selector.indexOf(",")!==-1)throw new Error(`Selector cannot contain commas: ${sa.selector}`);if(!lv.isValid(sa.selector))throw new Error(`Invalid selector: ${sa.selector}`);return sa.selector}function De(sa,Ua){if(sa.lengthUa.length?2:1}function tn(sa,Ua){let en=Ua.target,Mn=Ua.currentTarget;for(let za=0;en!==null;en=en.parentElement,++za){if(en.hasAttribute("data-lm-suppress-shortcuts"))return-1;if(lv.matches(en,sa))return za;if(en===Mn)return-1}return-1}function Ya(sa){let Ua=document.createEvent("Event"),en=sa.bubbles||!0,Mn=sa.cancelable||!0;return Ua.initEvent(sa.type||"keydown",en,Mn),Ua.key=sa.key||"",Ua.keyCode=sa.keyCode||0,Ua.which=sa.keyCode||0,Ua.ctrlKey=sa.ctrlKey||!1,Ua.altKey=sa.altKey||!1,Ua.shiftKey=sa.shiftKey||!1,Ua.metaKey=sa.metaKey||!1,Ua.view=sa.view||window,Ua}})(uv||(uv={}));var jm=Qv(P0()),Vm=class{constructor(Se){this.type="text",this.content=Se}},Qg=class{constructor(Se,Mt,Lt,$t){this.type="element",this.tag=Se,this.attrs=Mt,this.children=Lt,this.renderer=$t}};function qc(jt){let Se={},Mt,Lt=[];for(let gr=1,pi=arguments.length;gr=tn.length){Mt(wi[Ua],yi);continue}let en=tn[Ua],Mn=wi[Ua];if(en===Mn){Ya=Ya.nextSibling;continue}if(en.type==="text"&&Mn.type==="text"){Ya.textContent!==Mn.content&&(Ya.textContent=Mn.content),Ya=Ya.nextSibling;continue}if(en.type==="text"||Mn.type==="text"){jm.ArrayExt.insert(tn,Ua,Mn),Mt(Mn,yi,Ya);continue}if(!en.renderer!=!Mn.renderer){jm.ArrayExt.insert(tn,Ua,Mn),Mt(Mn,yi,Ya);continue}let za=Mn.attrs.key;if(za&&za in De){let Do=De[za];Do.vNode!==en&&(jm.ArrayExt.move(tn,tn.indexOf(Do.vNode,Ua+1),Ua),yi.insertBefore(Do.element,Ya),en=Do.vNode,Ya=Do.element)}if(en===Mn){Ya=Ya.nextSibling;continue}let Qn=en.attrs.key;if(Qn&&Qn!==za){jm.ArrayExt.insert(tn,Ua,Mn),Mt(Mn,yi,Ya);continue}if(en.tag!==Mn.tag){jm.ArrayExt.insert(tn,Ua,Mn),Mt(Mn,yi,Ya);continue}ti(Ya,en.attrs,Mn.attrs),Mn.renderer?Mn.renderer.render(Ya,{attrs:Mn.attrs,children:Mn.children}):Lt(Ya,en.children,Mn.children),Ya=Ya.nextSibling}$t(yi,tn,sa,!0)}jt.updateContent=Lt;function $t(yi,bi,wi,De){for(let tn=bi.length-1;tn>=wi;--tn){let Ya=bi[tn],sa=De?yi.lastChild:yi.childNodes[tn];Ya.type==="text"||(Ya.renderer&&Ya.renderer.unrender?Ya.renderer.unrender(sa,{attrs:Ya.attrs,children:Ya.children}):$t(sa,Ya.children,0,!1)),De&&yi.removeChild(sa)}}let gr={key:!0,className:!0,htmlFor:!0,dataset:!0,style:!0};function pi(yi,bi){for(let wi in bi)wi in gr||(wi.substr(0,2)==="on"?yi[wi]=bi[wi]:yi.setAttribute(wi,bi[wi]));bi.className!==void 0&&yi.setAttribute("class",bi.className),bi.htmlFor!==void 0&&yi.setAttribute("for",bi.htmlFor),bi.dataset&&ci(yi,bi.dataset),bi.style&&si(yi,bi.style)}function ti(yi,bi,wi){if(bi===wi)return;let De;for(De in bi)De in gr||De in wi||(De.substr(0,2)==="on"?yi[De]=null:yi.removeAttribute(De));for(De in wi)De in gr||bi[De]===wi[De]||(De.substr(0,2)==="on"?yi[De]=wi[De]:yi.setAttribute(De,wi[De]));bi.className!==wi.className&&(wi.className!==void 0?yi.setAttribute("class",wi.className):yi.removeAttribute("class")),bi.htmlFor!==wi.htmlFor&&(wi.htmlFor!==void 0?yi.setAttribute("for",wi.htmlFor):yi.removeAttribute("for")),bi.dataset!==wi.dataset&&Ii(yi,bi.dataset||{},wi.dataset||{}),bi.style!==wi.style&&mi(yi,bi.style||{},wi.style||{})}function ci(yi,bi){for(let wi in bi)yi.setAttribute(`data-${wi}`,bi[wi])}function Ii(yi,bi,wi){for(let De in bi)De in wi||yi.removeAttribute(`data-${De}`);for(let De in wi)bi[De]!==wi[De]&&yi.setAttribute(`data-${De}`,wi[De])}function si(yi,bi){let wi=yi.style,De;for(De in bi)wi[De]=bi[De]}function mi(yi,bi,wi){let De=yi.style,tn;for(tn in bi)tn in wi||(De[tn]="");for(tn in wi)bi[tn]!==wi[tn]&&(De[tn]=wi[tn])}function Ri(yi,bi){let wi=yi.firstChild,De=Object.create(null);for(let tn of bi)tn.type==="element"&&tn.attrs.key&&(De[tn.attrs.key]={vNode:tn,element:wi}),wi=wi.nextSibling;return De}})(D0||(D0={}));var Pv=class{constructor(){this.sizeHint=0,this.minSize=0,this.maxSize=1/0,this.stretch=1,this.size=0,this.done=!1}},Fd;(function(jt){function Se(gr,pi){let ti=gr.length;if(ti===0)return pi;let ci=0,Ii=0,si=0,mi=0,Ri=0;for(let wi=0;wi0&&(mi+=De.stretch,Ri++)}if(pi===si)return 0;if(pi<=ci){for(let wi=0;wi=Ii){for(let wi=0;wi0&&wi>yi;){let De=wi,tn=mi;for(let Ya=0;Ya0&&wi>yi;){let De=wi/bi;for(let tn=0;tn0&&wi>yi;){let De=wi,tn=mi;for(let Ya=0;Ya=sa.maxSize?(wi-=sa.maxSize-sa.size,mi-=sa.stretch,sa.size=sa.maxSize,sa.done=!0,bi--,Ri--):(wi-=Ua,sa.size+=Ua)}}for(;bi>0&&wi>yi;){let De=wi/bi;for(let tn=0;tn=Ya.maxSize?(wi-=Ya.maxSize-Ya.size,Ya.size=Ya.maxSize,Ya.done=!0,bi--):(wi-=De,Ya.size+=De))}}}return 0}jt.calc=Se;function Mt(gr,pi,ti){gr.length===0||ti===0||(ti>0?Lt(gr,pi,ti):$t(gr,pi,-ti))}jt.adjust=Mt;function Lt(gr,pi,ti){let ci=0;for(let Ri=0;Ri<=pi;++Ri){let yi=gr[Ri];ci+=yi.maxSize-yi.size}let Ii=0;for(let Ri=pi+1,yi=gr.length;Ri=0&&si>0;--Ri){let yi=gr[Ri],bi=yi.maxSize-yi.size;bi>=si?(yi.sizeHint=yi.size+si,si=0):(yi.sizeHint=yi.size+bi,si-=bi)}let mi=ti;for(let Ri=pi+1,yi=gr.length;Ri0;++Ri){let bi=gr[Ri],wi=bi.size-bi.minSize;wi>=mi?(bi.sizeHint=bi.size-mi,mi=0):(bi.sizeHint=bi.size-wi,mi-=wi)}}function $t(gr,pi,ti){let ci=0;for(let Ri=pi+1,yi=gr.length;Ri0;++Ri){let bi=gr[Ri],wi=bi.maxSize-bi.size;wi>=si?(bi.sizeHint=bi.size+si,si=0):(bi.sizeHint=bi.size+wi,si-=wi)}let mi=ti;for(let Ri=pi;Ri>=0&&mi>0;--Ri){let yi=gr[Ri],bi=yi.size-yi.minSize;bi>=mi?(yi.sizeHint=yi.size-mi,mi=0):(yi.sizeHint=yi.size-bi,mi-=bi)}}})(Fd||(Fd={}));var ey=class{constructor(Se){this._label="",this._caption="",this._mnemonic=-1,this._icon=void 0,this._iconClass="",this._iconLabel="",this._className="",this._closable=!1,this._changed=new Vc(this),this._isDisposed=!1,this.owner=Se.owner,Se.label!==void 0&&(this._label=Se.label),Se.mnemonic!==void 0&&(this._mnemonic=Se.mnemonic),Se.icon!==void 0&&(this._icon=Se.icon),Se.iconClass!==void 0&&(this._iconClass=Se.iconClass),Se.iconLabel!==void 0&&(this._iconLabel=Se.iconLabel),Se.caption!==void 0&&(this._caption=Se.caption),Se.className!==void 0&&(this._className=Se.className),Se.closable!==void 0&&(this._closable=Se.closable),this._dataset=Se.dataset||{}}get changed(){return this._changed}get label(){return this._label}set label(Se){this._label!==Se&&(this._label=Se,this._changed.emit(void 0))}get mnemonic(){return this._mnemonic}set mnemonic(Se){this._mnemonic!==Se&&(this._mnemonic=Se,this._changed.emit(void 0))}get icon(){return this._icon}set icon(Se){this._icon!==Se&&(this._icon=Se,this._changed.emit(void 0))}get iconClass(){return this._iconClass}set iconClass(Se){this._iconClass!==Se&&(this._iconClass=Se,this._changed.emit(void 0))}get iconLabel(){return this._iconLabel}set iconLabel(Se){this._iconLabel!==Se&&(this._iconLabel=Se,this._changed.emit(void 0))}get caption(){return this._caption}set caption(Se){this._caption!==Se&&(this._caption=Se,this._changed.emit(void 0))}get className(){return this._className}set className(Se){this._className!==Se&&(this._className=Se,this._changed.emit(void 0))}get closable(){return this._closable}set closable(Se){this._closable!==Se&&(this._closable=Se,this._changed.emit(void 0))}get dataset(){return this._dataset}set dataset(Se){this._dataset!==Se&&(this._dataset=Se,this._changed.emit(void 0))}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,Vc.clearData(this))}},rs=class jt{constructor(Se={}){this._flags=0,this._layout=null,this._parent=null,this._disposed=new Vc(this),this._hiddenMode=jt.HiddenMode.Display,this.node=s_.createNode(Se),this.addClass("lm-Widget")}dispose(){this.isDisposed||(this.setFlag(jt.Flag.IsDisposed),this._disposed.emit(void 0),this.parent?this.parent=null:this.isAttached&&jt.detach(this),this._layout&&(this._layout.dispose(),this._layout=null),this.title.dispose(),Vc.clearData(this),qo.clearData(this),xd.clearData(this))}get disposed(){return this._disposed}get isDisposed(){return this.testFlag(jt.Flag.IsDisposed)}get isAttached(){return this.testFlag(jt.Flag.IsAttached)}get isHidden(){return this.testFlag(jt.Flag.IsHidden)}get isVisible(){return this.testFlag(jt.Flag.IsVisible)}get title(){return s_.titleProperty.get(this)}get id(){return this.node.id}set id(Se){this.node.id=Se}get dataset(){return this.node.dataset}get hiddenMode(){return this._hiddenMode}set hiddenMode(Se){this._hiddenMode!==Se&&(this.isHidden&&this._toggleHidden(!1),Se==jt.HiddenMode.Scale?this.node.style.willChange="transform":this.node.style.willChange="auto",this._hiddenMode=Se,this.isHidden&&this._toggleHidden(!0))}get parent(){return this._parent}set parent(Se){if(this._parent!==Se){if(Se&&this.contains(Se))throw new Error("Invalid parent widget.");if(this._parent&&!this._parent.isDisposed){let Mt=new jt.ChildMessage("child-removed",this);qo.sendMessage(this._parent,Mt)}if(this._parent=Se,this._parent&&!this._parent.isDisposed){let Mt=new jt.ChildMessage("child-added",this);qo.sendMessage(this._parent,Mt)}this.isDisposed||qo.sendMessage(this,jt.Msg.ParentChanged)}}get layout(){return this._layout}set layout(Se){if(this._layout!==Se){if(this.testFlag(jt.Flag.DisallowLayout))throw new Error("Cannot set widget layout.");if(this._layout)throw new Error("Cannot change widget layout.");if(Se.parent)throw new Error("Cannot change layout parent.");this._layout=Se,Se.parent=this}}*children(){this._layout&&(yield*this._layout)}contains(Se){for(let Mt=Se;Mt;Mt=Mt._parent)if(Mt===this)return!0;return!1}hasClass(Se){return this.node.classList.contains(Se)}addClass(Se){this.node.classList.add(Se)}removeClass(Se){this.node.classList.remove(Se)}toggleClass(Se,Mt){return Mt===!0?(this.node.classList.add(Se),!0):Mt===!1?(this.node.classList.remove(Se),!1):this.node.classList.toggle(Se)}update(){qo.postMessage(this,jt.Msg.UpdateRequest)}fit(){qo.postMessage(this,jt.Msg.FitRequest)}activate(){qo.postMessage(this,jt.Msg.ActivateRequest)}close(){qo.sendMessage(this,jt.Msg.CloseRequest)}show(){if(this.testFlag(jt.Flag.IsHidden)&&(this.isAttached&&(!this.parent||this.parent.isVisible)&&qo.sendMessage(this,jt.Msg.BeforeShow),this.clearFlag(jt.Flag.IsHidden),this._toggleHidden(!1),this.isAttached&&(!this.parent||this.parent.isVisible)&&qo.sendMessage(this,jt.Msg.AfterShow),this.parent)){let Se=new jt.ChildMessage("child-shown",this);qo.sendMessage(this.parent,Se)}}hide(){if(!this.testFlag(jt.Flag.IsHidden)&&(this.isAttached&&(!this.parent||this.parent.isVisible)&&qo.sendMessage(this,jt.Msg.BeforeHide),this.setFlag(jt.Flag.IsHidden),this._toggleHidden(!0),this.isAttached&&(!this.parent||this.parent.isVisible)&&qo.sendMessage(this,jt.Msg.AfterHide),this.parent)){let Se=new jt.ChildMessage("child-hidden",this);qo.sendMessage(this.parent,Se)}}setHidden(Se){Se?this.hide():this.show()}testFlag(Se){return(this._flags&Se)!==0}setFlag(Se){this._flags|=Se}clearFlag(Se){this._flags&=~Se}processMessage(Se){switch(Se.type){case"resize":this.notifyLayout(Se),this.onResize(Se);break;case"update-request":this.notifyLayout(Se),this.onUpdateRequest(Se);break;case"fit-request":this.notifyLayout(Se),this.onFitRequest(Se);break;case"before-show":this.notifyLayout(Se),this.onBeforeShow(Se);break;case"after-show":this.setFlag(jt.Flag.IsVisible),this.notifyLayout(Se),this.onAfterShow(Se);break;case"before-hide":this.notifyLayout(Se),this.onBeforeHide(Se);break;case"after-hide":this.clearFlag(jt.Flag.IsVisible),this.notifyLayout(Se),this.onAfterHide(Se);break;case"before-attach":this.notifyLayout(Se),this.onBeforeAttach(Se);break;case"after-attach":!this.isHidden&&(!this.parent||this.parent.isVisible)&&this.setFlag(jt.Flag.IsVisible),this.setFlag(jt.Flag.IsAttached),this.notifyLayout(Se),this.onAfterAttach(Se);break;case"before-detach":this.notifyLayout(Se),this.onBeforeDetach(Se);break;case"after-detach":this.clearFlag(jt.Flag.IsVisible),this.clearFlag(jt.Flag.IsAttached),this.notifyLayout(Se),this.onAfterDetach(Se);break;case"activate-request":this.notifyLayout(Se),this.onActivateRequest(Se);break;case"close-request":this.notifyLayout(Se),this.onCloseRequest(Se);break;case"child-added":this.notifyLayout(Se),this.onChildAdded(Se);break;case"child-removed":this.notifyLayout(Se),this.onChildRemoved(Se);break;default:this.notifyLayout(Se);break}}notifyLayout(Se){this._layout&&this._layout.processParentMessage(Se)}onCloseRequest(Se){this.parent?this.parent=null:this.isAttached&&jt.detach(this)}onResize(Se){}onUpdateRequest(Se){}onFitRequest(Se){}onActivateRequest(Se){}onBeforeShow(Se){}onAfterShow(Se){}onBeforeHide(Se){}onAfterHide(Se){}onBeforeAttach(Se){}onAfterAttach(Se){}onBeforeDetach(Se){}onAfterDetach(Se){}onChildAdded(Se){}onChildRemoved(Se){}_toggleHidden(Se){if(Se)switch(this._hiddenMode){case jt.HiddenMode.Display:this.addClass("lm-mod-hidden");break;case jt.HiddenMode.Scale:this.node.style.transform="scale(0)",this.node.setAttribute("aria-hidden","true");break;case jt.HiddenMode.ContentVisibility:this.node.style.contentVisibility="hidden",this.node.style.zIndex="-1";break}else switch(this._hiddenMode){case jt.HiddenMode.Display:this.removeClass("lm-mod-hidden");break;case jt.HiddenMode.Scale:this.node.style.transform="",this.node.removeAttribute("aria-hidden");break;case jt.HiddenMode.ContentVisibility:this.node.style.contentVisibility="",this.node.style.zIndex="";break}}};(function(jt){(function(gr){gr[gr.Display=0]="Display",gr[gr.Scale=1]="Scale",gr[gr.ContentVisibility=2]="ContentVisibility"})(jt.HiddenMode||(jt.HiddenMode={})),function(gr){gr[gr.IsDisposed=1]="IsDisposed",gr[gr.IsAttached=2]="IsAttached",gr[gr.IsHidden=4]="IsHidden",gr[gr.IsVisible=8]="IsVisible",gr[gr.DisallowLayout=16]="DisallowLayout"}(jt.Flag||(jt.Flag={})),function(gr){gr.BeforeShow=new _d("before-show"),gr.AfterShow=new _d("after-show"),gr.BeforeHide=new _d("before-hide"),gr.AfterHide=new _d("after-hide"),gr.BeforeAttach=new _d("before-attach"),gr.AfterAttach=new _d("after-attach"),gr.BeforeDetach=new _d("before-detach"),gr.AfterDetach=new _d("after-detach"),gr.ParentChanged=new _d("parent-changed"),gr.UpdateRequest=new Bp("update-request"),gr.FitRequest=new Bp("fit-request"),gr.ActivateRequest=new Bp("activate-request"),gr.CloseRequest=new Bp("close-request")}(jt.Msg||(jt.Msg={}));class Se extends _d{constructor(pi,ti){super(pi),this.child=ti}}jt.ChildMessage=Se;class Mt extends _d{constructor(pi,ti){super("resize"),this.width=pi,this.height=ti}}jt.ResizeMessage=Mt,function(gr){gr.UnknownSize=new gr(-1,-1)}(Mt=jt.ResizeMessage||(jt.ResizeMessage={}));function Lt(gr,pi,ti=null){if(gr.parent)throw new Error("Cannot attach a child widget.");if(gr.isAttached||gr.node.isConnected)throw new Error("Widget is already attached.");if(!pi.isConnected)throw new Error("Host is not attached.");qo.sendMessage(gr,jt.Msg.BeforeAttach),pi.insertBefore(gr.node,ti),qo.sendMessage(gr,jt.Msg.AfterAttach)}jt.attach=Lt;function $t(gr){if(gr.parent)throw new Error("Cannot detach a child widget.");if(!gr.isAttached||!gr.node.isConnected)throw new Error("Widget is not attached.");qo.sendMessage(gr,jt.Msg.BeforeDetach),gr.node.parentNode.removeChild(gr.node),qo.sendMessage(gr,jt.Msg.AfterDetach)}jt.detach=$t})(rs||(rs={}));var s_;(function(jt){jt.titleProperty=new xd({name:"title",create:Mt=>new ey({owner:Mt})});function Se(Mt){return Mt.node||document.createElement(Mt.tag||"div")}jt.createNode=Se})(s_||(s_={}));var sp=class{constructor(Se={}){this._disposed=!1,this._parent=null,this._fitPolicy=Se.fitPolicy||"set-min-size"}dispose(){this._parent=null,this._disposed=!0,Vc.clearData(this),xd.clearData(this)}get isDisposed(){return this._disposed}get parent(){return this._parent}set parent(Se){if(this._parent!==Se){if(this._parent)throw new Error("Cannot change parent widget.");if(Se.layout!==this)throw new Error("Invalid parent widget.");this._parent=Se,this.init()}}get fitPolicy(){return this._fitPolicy}set fitPolicy(Se){if(this._fitPolicy!==Se&&(this._fitPolicy=Se,this._parent)){let Mt=this._parent.node.style;Mt.minWidth="",Mt.minHeight="",Mt.maxWidth="",Mt.maxHeight="",this._parent.fit()}}processParentMessage(Se){switch(Se.type){case"resize":this.onResize(Se);break;case"update-request":this.onUpdateRequest(Se);break;case"fit-request":this.onFitRequest(Se);break;case"before-show":this.onBeforeShow(Se);break;case"after-show":this.onAfterShow(Se);break;case"before-hide":this.onBeforeHide(Se);break;case"after-hide":this.onAfterHide(Se);break;case"before-attach":this.onBeforeAttach(Se);break;case"after-attach":this.onAfterAttach(Se);break;case"before-detach":this.onBeforeDetach(Se);break;case"after-detach":this.onAfterDetach(Se);break;case"child-removed":this.onChildRemoved(Se);break;case"child-shown":this.onChildShown(Se);break;case"child-hidden":this.onChildHidden(Se);break}}init(){for(let Se of this)Se.parent=this.parent}onResize(Se){for(let Mt of this)qo.sendMessage(Mt,rs.ResizeMessage.UnknownSize)}onUpdateRequest(Se){for(let Mt of this)qo.sendMessage(Mt,rs.ResizeMessage.UnknownSize)}onBeforeAttach(Se){for(let Mt of this)qo.sendMessage(Mt,Se)}onAfterAttach(Se){for(let Mt of this)qo.sendMessage(Mt,Se)}onBeforeDetach(Se){for(let Mt of this)qo.sendMessage(Mt,Se)}onAfterDetach(Se){for(let Mt of this)qo.sendMessage(Mt,Se)}onBeforeShow(Se){for(let Mt of this)Mt.isHidden||qo.sendMessage(Mt,Se)}onAfterShow(Se){for(let Mt of this)Mt.isHidden||qo.sendMessage(Mt,Se)}onBeforeHide(Se){for(let Mt of this)Mt.isHidden||qo.sendMessage(Mt,Se)}onAfterHide(Se){for(let Mt of this)Mt.isHidden||qo.sendMessage(Mt,Se)}onChildRemoved(Se){this.removeWidget(Se.child)}onFitRequest(Se){}onChildShown(Se){}onChildHidden(Se){}};(function(jt){function Se(gr){return qm.horizontalAlignmentProperty.get(gr)}jt.getHorizontalAlignment=Se;function Mt(gr,pi){qm.horizontalAlignmentProperty.set(gr,pi)}jt.setHorizontalAlignment=Mt;function Lt(gr){return qm.verticalAlignmentProperty.get(gr)}jt.getVerticalAlignment=Lt;function $t(gr,pi){qm.verticalAlignmentProperty.set(gr,pi)}jt.setVerticalAlignment=$t})(sp||(sp={}));var B0=class{constructor(Se){this._top=NaN,this._left=NaN,this._width=NaN,this._height=NaN,this._minWidth=0,this._minHeight=0,this._maxWidth=1/0,this._maxHeight=1/0,this._disposed=!1,this.widget=Se,this.widget.node.style.position="absolute",this.widget.node.style.contain="strict"}dispose(){if(this._disposed)return;this._disposed=!0;let Se=this.widget.node.style;Se.position="",Se.top="",Se.left="",Se.width="",Se.height="",Se.contain=""}get minWidth(){return this._minWidth}get minHeight(){return this._minHeight}get maxWidth(){return this._maxWidth}get maxHeight(){return this._maxHeight}get isDisposed(){return this._disposed}get isHidden(){return this.widget.isHidden}get isVisible(){return this.widget.isVisible}get isAttached(){return this.widget.isAttached}fit(){let Se=Yc.sizeLimits(this.widget.node);this._minWidth=Se.minWidth,this._minHeight=Se.minHeight,this._maxWidth=Se.maxWidth,this._maxHeight=Se.maxHeight}update(Se,Mt,Lt,$t){let gr=Math.max(this._minWidth,Math.min(Lt,this._maxWidth)),pi=Math.max(this._minHeight,Math.min($t,this._maxHeight));if(gr"center",changed:Se}),jt.verticalAlignmentProperty=new xd({name:"verticalAlignment",create:()=>"top",changed:Se});function Se(Mt){Mt.parent&&Mt.parent.layout&&Mt.parent.update()}})(qm||(qm={}));var Hm=class extends sp{constructor(){super(...arguments),this._widgets=[]}dispose(){for(;this._widgets.length>0;)this._widgets.pop().dispose();super.dispose()}get widgets(){return this._widgets}*[Symbol.iterator](){yield*this._widgets}addWidget(Se){this.insertWidget(this._widgets.length,Se)}insertWidget(Se,Mt){Mt.parent=this.parent;let Lt=this._widgets.indexOf(Mt),$t=Math.max(0,Math.min(Se,this._widgets.length));if(Lt===-1){ko.ArrayExt.insert(this._widgets,$t,Mt),this.parent&&this.attachWidget($t,Mt);return}$t===this._widgets.length&&$t--,Lt!==$t&&(ko.ArrayExt.move(this._widgets,Lt,$t),this.parent&&this.moveWidget(Lt,$t,Mt))}removeWidget(Se){this.removeWidgetAt(this._widgets.indexOf(Se))}removeWidgetAt(Se){let Mt=ko.ArrayExt.removeAt(this._widgets,Se);Mt&&this.parent&&this.detachWidget(Se,Mt)}init(){super.init();let Se=0;for(let Mt of this)this.attachWidget(Se++,Mt)}attachWidget(Se,Mt){let Lt=this.parent.node.children[Se];this.parent.isAttached&&qo.sendMessage(Mt,rs.Msg.BeforeAttach),this.parent.node.insertBefore(Mt.node,Lt),this.parent.isAttached&&qo.sendMessage(Mt,rs.Msg.AfterAttach)}moveWidget(Se,Mt,Lt){this.parent.isAttached&&qo.sendMessage(Lt,rs.Msg.BeforeDetach),this.parent.node.removeChild(Lt.node),this.parent.isAttached&&qo.sendMessage(Lt,rs.Msg.AfterDetach);let $t=this.parent.node.children[Mt];this.parent.isAttached&&qo.sendMessage(Lt,rs.Msg.BeforeAttach),this.parent.node.insertBefore(Lt.node,$t),this.parent.isAttached&&qo.sendMessage(Lt,rs.Msg.AfterAttach)}detachWidget(Se,Mt){this.parent.isAttached&&qo.sendMessage(Mt,rs.Msg.BeforeDetach),this.parent.node.removeChild(Mt.node),this.parent.isAttached&&qo.sendMessage(Mt,rs.Msg.AfterDetach)}},ty;(function(jt){function Se(Mt){return Math.max(0,Math.floor(Mt))}jt.clampDimension=Se})(ty||(ty={}));var ry=ty,lp=class jt extends Hm{constructor(Se){super(),this.widgetOffset=0,this._fixed=0,this._spacing=4,this._dirty=!1,this._hasNormedSizes=!1,this._sizers=[],this._items=[],this._handles=[],this._box=null,this._alignment="start",this._orientation="horizontal",this.renderer=Se.renderer,Se.orientation!==void 0&&(this._orientation=Se.orientation),Se.alignment!==void 0&&(this._alignment=Se.alignment),Se.spacing!==void 0&&(this._spacing=ty.clampDimension(Se.spacing))}dispose(){for(let Se of this._items)Se.dispose();this._box=null,this._items.length=0,this._sizers.length=0,this._handles.length=0,super.dispose()}get orientation(){return this._orientation}set orientation(Se){this._orientation!==Se&&(this._orientation=Se,this.parent&&(this.parent.dataset.orientation=Se,this.parent.fit()))}get alignment(){return this._alignment}set alignment(Se){this._alignment!==Se&&(this._alignment=Se,this.parent&&(this.parent.dataset.alignment=Se,this.parent.update()))}get spacing(){return this._spacing}set spacing(Se){Se=ty.clampDimension(Se),this._spacing!==Se&&(this._spacing=Se,this.parent&&this.parent.fit())}get handles(){return this._handles}absoluteSizes(){return this._sizers.map(Se=>Se.size)}relativeSizes(){return np.normalize(this._sizers.map(Se=>Se.size))}setRelativeSizes(Se,Mt=!0){let Lt=this._sizers.length,$t=Se.slice(0,Lt);for(;$t.length0&&(gr.sizeHint=gr.size);Fd.adjust(this._sizers,Se,$t),this.parent&&this.parent.update()}}init(){this.parent.dataset.orientation=this.orientation,this.parent.dataset.alignment=this.alignment,super.init()}attachWidget(Se,Mt){let Lt=new B0(Mt),$t=np.createHandle(this.renderer),gr=np.averageSize(this._sizers),pi=np.createSizer(gr);ko.ArrayExt.insert(this._items,Se,Lt),ko.ArrayExt.insert(this._sizers,Se,pi),ko.ArrayExt.insert(this._handles,Se,$t),this.parent.isAttached&&qo.sendMessage(Mt,rs.Msg.BeforeAttach),this.parent.node.appendChild(Mt.node),this.parent.node.appendChild($t),this.parent.isAttached&&qo.sendMessage(Mt,rs.Msg.AfterAttach),this.parent.fit()}moveWidget(Se,Mt,Lt){ko.ArrayExt.move(this._items,Se,Mt),ko.ArrayExt.move(this._sizers,Se,Mt),ko.ArrayExt.move(this._handles,Se,Mt),this.parent.fit()}detachWidget(Se,Mt){let Lt=ko.ArrayExt.removeAt(this._items,Se),$t=ko.ArrayExt.removeAt(this._handles,Se);ko.ArrayExt.removeAt(this._sizers,Se),this.parent.isAttached&&qo.sendMessage(Mt,rs.Msg.BeforeDetach),this.parent.node.removeChild(Mt.node),this.parent.node.removeChild($t),this.parent.isAttached&&qo.sendMessage(Mt,rs.Msg.AfterDetach),Lt.dispose(),this.parent.fit()}onBeforeShow(Se){super.onBeforeShow(Se),this.parent.update()}onBeforeAttach(Se){super.onBeforeAttach(Se),this.parent.fit()}onChildShown(Se){this.parent.fit()}onChildHidden(Se){this.parent.fit()}onResize(Se){this.parent.isVisible&&this._update(Se.width,Se.height)}onUpdateRequest(Se){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(Se){this.parent.isAttached&&this._fit()}updateItemPosition(Se,Mt,Lt,$t,gr,pi,ti){let ci=this._items[Se];if(ci.isHidden)return;let Ii=this._handles[Se].style;Mt?(Lt+=this.widgetOffset,ci.update(Lt,$t,ti,gr),Lt+=ti,Ii.top=`${$t}px`,Ii.left=`${Lt}px`,Ii.width=`${this._spacing}px`,Ii.height=`${gr}px`):($t+=this.widgetOffset,ci.update(Lt,$t,pi,ti),$t+=ti,Ii.top=`${$t}px`,Ii.left=`${Lt}px`,Ii.width=`${pi}px`,Ii.height=`${this._spacing}px`)}_fit(){let Se=0,Mt=-1;for(let ci=0,Ii=this._items.length;ci0&&(mi.sizeHint=mi.size),si.isHidden){mi.minSize=0,mi.maxSize=0;continue}si.fit(),mi.stretch=jt.getStretch(si.widget),Lt?(mi.minSize=si.minWidth,mi.maxSize=si.maxWidth,$t+=si.minWidth,gr=Math.max(gr,si.minHeight)):(mi.minSize=si.minHeight,mi.maxSize=si.maxHeight,gr+=si.minHeight,$t=Math.max($t,si.minWidth))}let pi=this._box=Yc.boxSizing(this.parent.node);$t+=pi.horizontalSum,gr+=pi.verticalSum;let ti=this.parent.node.style;ti.minWidth=`${$t}px`,ti.minHeight=`${gr}px`,this._dirty=!0,this.parent.parent&&qo.sendMessage(this.parent.parent,rs.Msg.FitRequest),this._dirty&&qo.sendMessage(this.parent,rs.Msg.UpdateRequest)}_update(Se,Mt){this._dirty=!1;let Lt=0;for(let mi=0,Ri=this._items.length;mi0){let mi;if(si?mi=Math.max(0,pi-this._fixed):mi=Math.max(0,ti-this._fixed),this._hasNormedSizes){for(let yi of this._sizers)yi.sizeHint*=mi;this._hasNormedSizes=!1}let Ri=Fd.calc(this._sizers,mi);if(Ri>0)switch(this._alignment){case"start":break;case"center":ci=0,Ii=Ri/2;break;case"end":ci=0,Ii=Ri;break;case"justify":ci=Ri/Lt,Ii=0;break;default:throw"unreachable"}}for(let mi=0,Ri=this._items.length;mi0,coerce:(pi,ti)=>Math.max(0,Math.floor(ti)),changed:gr});function Se(pi){let ti=new Pv;return ti.sizeHint=Math.floor(pi),ti}jt.createSizer=Se;function Mt(pi){let ti=pi.createHandle();return ti.style.position="absolute",ti.style.contain="style",ti}jt.createHandle=Mt;function Lt(pi){return pi.reduce((ti,ci)=>ti+ci.size,0)/pi.length||0}jt.averageSize=Lt;function $t(pi){let ti=pi.length;if(ti===0)return[];let ci=pi.reduce((Ii,si)=>Ii+Math.abs(si),0);return ci===0?pi.map(Ii=>1/ti):pi.map(Ii=>Ii/ci)}jt.normalize=$t;function gr(pi){pi.parent&&pi.parent.layout instanceof lp&&pi.parent.fit()}})(np||(np={}));var Mw=class extends lp{constructor(Se){super({...Se,orientation:Se.orientation||"vertical"}),this._titles=[],this.titleSpace=Se.titleSpace||22}get titleSpace(){return this.widgetOffset}set titleSpace(Se){Se=ry.clampDimension(Se),this.widgetOffset!==Se&&(this.widgetOffset=Se,this.parent&&this.parent.fit())}get titles(){return this._titles}dispose(){this.isDisposed||(this._titles.length=0,super.dispose())}updateTitle(Se,Mt){let Lt=this._titles[Se],$t=Lt.classList.contains("lm-mod-expanded"),gr=l_.createTitle(this.renderer,Mt.title,$t);this._titles[Se]=gr,this.parent.node.replaceChild(gr,Lt)}insertWidget(Se,Mt){Mt.id||(Mt.id=`id-${op.UUID.uuid4()}`),super.insertWidget(Se,Mt)}attachWidget(Se,Mt){let Lt=l_.createTitle(this.renderer,Mt.title);ko.ArrayExt.insert(this._titles,Se,Lt),this.parent.node.appendChild(Lt),Mt.node.setAttribute("role","region"),Mt.node.setAttribute("aria-labelledby",Lt.id),super.attachWidget(Se,Mt)}moveWidget(Se,Mt,Lt){ko.ArrayExt.move(this._titles,Se,Mt),super.moveWidget(Se,Mt,Lt)}detachWidget(Se,Mt){let Lt=ko.ArrayExt.removeAt(this._titles,Se);this.parent.node.removeChild(Lt),super.detachWidget(Se,Mt)}updateItemPosition(Se,Mt,Lt,$t,gr,pi,ti){let ci=this._titles[Se].style;ci.top=`${$t}px`,ci.left=`${Lt}px`,ci.height=`${this.widgetOffset}px`,Mt?ci.width=`${gr}px`:ci.width=`${pi}px`,super.updateItemPosition(Se,Mt,Lt,$t,gr,pi,ti)}},l_;(function(jt){function Se(Mt,Lt,$t=!0){let gr=Mt.createSectionTitle(Lt);return gr.style.position="absolute",gr.style.contain="strict",gr.setAttribute("aria-label",`${Lt.label} Section`),gr.setAttribute("aria-expanded",$t?"true":"false"),gr.setAttribute("aria-controls",Lt.owner.id),$t&&gr.classList.add("lm-mod-expanded"),gr}jt.createTitle=Se})(l_||(l_={}));var u_=class extends rs{constructor(Se={}){super(),this.addClass("lm-Panel"),this.layout=Ew.createLayout(Se)}get widgets(){return this.layout.widgets}addWidget(Se){this.layout.addWidget(Se)}insertWidget(Se,Mt){this.layout.insertWidget(Se,Mt)}},Ew;(function(jt){function Se(Mt){return Mt.layout||new Hm}jt.createLayout=Se})(Ew||(Ew={}));var O0=class extends u_{constructor(Se={}){super({layout:kw.createLayout(Se)}),this._handleMoved=new Vc(this),this._pressData=null,this.addClass("lm-SplitPanel")}dispose(){this._releaseMouse(),super.dispose()}get orientation(){return this.layout.orientation}set orientation(Se){this.layout.orientation=Se}get alignment(){return this.layout.alignment}set alignment(Se){this.layout.alignment=Se}get spacing(){return this.layout.spacing}set spacing(Se){this.layout.spacing=Se}get renderer(){return this.layout.renderer}get handleMoved(){return this._handleMoved}get handles(){return this.layout.handles}relativeSizes(){return this.layout.relativeSizes()}setRelativeSizes(Se,Mt=!0){this.layout.setRelativeSizes(Se,Mt)}handleEvent(Se){switch(Se.type){case"pointerdown":this._evtPointerDown(Se);break;case"pointermove":this._evtPointerMove(Se);break;case"pointerup":this._evtPointerUp(Se);break;case"keydown":this._evtKeyDown(Se);break;case"contextmenu":Se.preventDefault(),Se.stopPropagation();break}}onBeforeAttach(Se){this.node.addEventListener("pointerdown",this)}onAfterDetach(Se){this.node.removeEventListener("pointerdown",this),this._releaseMouse()}onChildAdded(Se){Se.child.addClass("lm-SplitPanel-child"),this._releaseMouse()}onChildRemoved(Se){Se.child.removeClass("lm-SplitPanel-child"),this._releaseMouse()}_evtKeyDown(Se){this._pressData&&(Se.preventDefault(),Se.stopPropagation()),Se.keyCode===27&&this._releaseMouse()}_evtPointerDown(Se){if(Se.button!==0)return;let Mt=this.layout,Lt=ko.ArrayExt.findFirstIndex(Mt.handles,Ii=>Ii.contains(Se.target));if(Lt===-1)return;Se.preventDefault(),Se.stopPropagation(),document.addEventListener("pointerup",this,!0),document.addEventListener("pointermove",this,!0),document.addEventListener("keydown",this,!0),document.addEventListener("contextmenu",this,!0);let $t,gr=Mt.handles[Lt],pi=gr.getBoundingClientRect();Mt.orientation==="horizontal"?$t=Se.clientX-pi.left:$t=Se.clientY-pi.top;let ti=window.getComputedStyle(gr),ci=bd.overrideCursor(ti.cursor);this._pressData={index:Lt,delta:$t,override:ci}}_evtPointerMove(Se){Se.preventDefault(),Se.stopPropagation();let Mt,Lt=this.layout,$t=this.node.getBoundingClientRect();Lt.orientation==="horizontal"?Mt=Se.clientX-$t.left-this._pressData.delta:Mt=Se.clientY-$t.top-this._pressData.delta,Lt.moveHandle(this._pressData.index,Mt)}_evtPointerUp(Se){Se.button===0&&(Se.preventDefault(),Se.stopPropagation(),this._releaseMouse())}_releaseMouse(){this._pressData&&(this._pressData.override.dispose(),this._pressData=null,this._handleMoved.emit(),document.removeEventListener("keydown",this,!0),document.removeEventListener("pointerup",this,!0),document.removeEventListener("pointermove",this,!0),document.removeEventListener("contextmenu",this,!0))}};(function(jt){class Se{createHandle(){let gr=document.createElement("div");return gr.className="lm-SplitPanel-handle",gr}}jt.Renderer=Se,jt.defaultRenderer=new Se;function Mt($t){return lp.getStretch($t)}jt.getStretch=Mt;function Lt($t,gr){lp.setStretch($t,gr)}jt.setStretch=Lt})(O0||(O0={}));var kw;(function(jt){function Se(Mt){return Mt.layout||new lp({renderer:Mt.renderer||O0.defaultRenderer,orientation:Mt.orientation,alignment:Mt.alignment,spacing:Mt.spacing})}jt.createLayout=Se})(kw||(kw={}));var iy=class extends O0{constructor(Se={}){super({...Se,layout:Cw.createLayout(Se)}),this._widgetSizesCache=new WeakMap,this._expansionToggled=new Vc(this),this.addClass("lm-AccordionPanel")}get renderer(){return this.layout.renderer}get titleSpace(){return this.layout.titleSpace}set titleSpace(Se){this.layout.titleSpace=Se}get titles(){return this.layout.titles}get expansionToggled(){return this._expansionToggled}addWidget(Se){super.addWidget(Se),Se.title.changed.connect(this._onTitleChanged,this)}collapse(Se){let Mt=this.layout.widgets[Se];Mt&&!Mt.isHidden&&this._toggleExpansion(Se)}expand(Se){let Mt=this.layout.widgets[Se];Mt&&Mt.isHidden&&this._toggleExpansion(Se)}insertWidget(Se,Mt){super.insertWidget(Se,Mt),Mt.title.changed.connect(this._onTitleChanged,this)}handleEvent(Se){switch(super.handleEvent(Se),Se.type){case"click":this._evtClick(Se);break;case"keydown":this._eventKeyDown(Se);break}}onBeforeAttach(Se){this.node.addEventListener("click",this),this.node.addEventListener("keydown",this),super.onBeforeAttach(Se)}onAfterDetach(Se){super.onAfterDetach(Se),this.node.removeEventListener("click",this),this.node.removeEventListener("keydown",this)}_onTitleChanged(Se){let Mt=ko.ArrayExt.findFirstIndex(this.widgets,Lt=>Lt.contains(Se.owner));Mt>=0&&(this.layout.updateTitle(Mt,Se.owner),this.update())}_computeWidgetSize(Se){let Mt=this.layout,Lt=Mt.widgets[Se];if(!Lt)return;let $t=Lt.isHidden,gr=Mt.absoluteSizes(),pi=($t?-1:1)*this.spacing,ti=gr.reduce((Ii,si)=>Ii+si),ci=[...gr];if($t){let Ii=this._widgetSizesCache.get(Lt);if(!Ii)return;ci[Se]+=Ii;let si=ci.map(mi=>mi-Ii>0).lastIndexOf(!0);si===-1?ci.forEach((mi,Ri)=>{Ri!==Se&&(ci[Ri]-=gr[Ri]/ti*(Ii-pi))}):ci[si]-=Ii-pi}else{let Ii=gr[Se];this._widgetSizesCache.set(Lt,Ii),ci[Se]=0;let si=ci.map(mi=>mi>0).lastIndexOf(!0);if(si===-1)return;ci[si]=gr[si]+Ii+pi}return ci.map(Ii=>Ii/(ti+pi))}_evtClick(Se){let Mt=Se.target;if(Mt){let Lt=ko.ArrayExt.findFirstIndex(this.titles,$t=>$t.contains(Mt));Lt>=0&&(Se.preventDefault(),Se.stopPropagation(),this._toggleExpansion(Lt))}}_eventKeyDown(Se){if(Se.defaultPrevented)return;let Mt=Se.target,Lt=!1;if(Mt){let $t=ko.ArrayExt.findFirstIndex(this.titles,gr=>gr.contains(Mt));if($t>=0){let gr=Se.keyCode.toString();if(Se.key.match(/Space|Enter/)||gr.match(/13|32/))Mt.click(),Lt=!0;else if(this.orientation==="horizontal"?Se.key.match(/ArrowLeft|ArrowRight/)||gr.match(/37|39/):Se.key.match(/ArrowUp|ArrowDown/)||gr.match(/38|40/)){let pi=Se.key.match(/ArrowLeft|ArrowUp/)||gr.match(/37|38/)?-1:1,ti=this.titles.length,ci=($t+ti+pi)%ti;this.titles[ci].focus(),Lt=!0}else Se.key==="End"||gr==="35"?(this.titles[this.titles.length-1].focus(),Lt=!0):(Se.key==="Home"||gr==="36")&&(this.titles[0].focus(),Lt=!0)}Lt&&Se.preventDefault()}}_toggleExpansion(Se){let Mt=this.titles[Se],Lt=this.layout.widgets[Se],$t=this._computeWidgetSize(Se);$t&&this.setRelativeSizes($t,!1),Lt.isHidden?(Mt.classList.add("lm-mod-expanded"),Mt.setAttribute("aria-expanded","true"),Lt.show()):(Mt.classList.remove("lm-mod-expanded"),Mt.setAttribute("aria-expanded","false"),Lt.hide()),this._expansionToggled.emit(Se)}};(function(jt){class Se extends O0.Renderer{constructor(){super(),this.titleClassName="lm-AccordionPanel-title",this._titleID=0,this._titleKeys=new WeakMap,this._uuid=++Se._nInstance}createCollapseIcon(Lt){return document.createElement("span")}createSectionTitle(Lt){let $t=document.createElement("h3");$t.setAttribute("tabindex","0"),$t.id=this.createTitleKey(Lt),$t.className=this.titleClassName;for(let ti in Lt.dataset)$t.dataset[ti]=Lt.dataset[ti];let gr=$t.appendChild(this.createCollapseIcon(Lt));gr.className="lm-AccordionPanel-titleCollapser";let pi=$t.appendChild(document.createElement("span"));return pi.className="lm-AccordionPanel-titleLabel",pi.textContent=Lt.label,pi.title=Lt.caption||Lt.label,$t}createTitleKey(Lt){let $t=this._titleKeys.get(Lt);return $t===void 0&&($t=`title-key-${this._uuid}-${this._titleID++}`,this._titleKeys.set(Lt,$t)),$t}}Se._nInstance=0,jt.Renderer=Se,jt.defaultRenderer=new Se})(iy||(iy={}));var Cw;(function(jt){function Se(Mt){return Mt.layout||new Mw({renderer:Mt.renderer||iy.defaultRenderer,orientation:Mt.orientation,alignment:Mt.alignment,spacing:Mt.spacing,titleSpace:Mt.titleSpace})}jt.createLayout=Se})(Cw||(Cw={}));var Iv=class jt extends Hm{constructor(Se={}){super(),this._fixed=0,this._spacing=4,this._dirty=!1,this._sizers=[],this._items=[],this._box=null,this._alignment="start",this._direction="top-to-bottom",Se.direction!==void 0&&(this._direction=Se.direction),Se.alignment!==void 0&&(this._alignment=Se.alignment),Se.spacing!==void 0&&(this._spacing=ry.clampDimension(Se.spacing))}dispose(){for(let Se of this._items)Se.dispose();this._box=null,this._items.length=0,this._sizers.length=0,super.dispose()}get direction(){return this._direction}set direction(Se){this._direction!==Se&&(this._direction=Se,this.parent&&(this.parent.dataset.direction=Se,this.parent.fit()))}get alignment(){return this._alignment}set alignment(Se){this._alignment!==Se&&(this._alignment=Se,this.parent&&(this.parent.dataset.alignment=Se,this.parent.update()))}get spacing(){return this._spacing}set spacing(Se){Se=ry.clampDimension(Se),this._spacing!==Se&&(this._spacing=Se,this.parent&&this.parent.fit())}init(){this.parent.dataset.direction=this.direction,this.parent.dataset.alignment=this.alignment,super.init()}attachWidget(Se,Mt){ko.ArrayExt.insert(this._items,Se,new B0(Mt)),ko.ArrayExt.insert(this._sizers,Se,new Pv),this.parent.isAttached&&qo.sendMessage(Mt,rs.Msg.BeforeAttach),this.parent.node.appendChild(Mt.node),this.parent.isAttached&&qo.sendMessage(Mt,rs.Msg.AfterAttach),this.parent.fit()}moveWidget(Se,Mt,Lt){ko.ArrayExt.move(this._items,Se,Mt),ko.ArrayExt.move(this._sizers,Se,Mt),this.parent.update()}detachWidget(Se,Mt){let Lt=ko.ArrayExt.removeAt(this._items,Se);ko.ArrayExt.removeAt(this._sizers,Se),this.parent.isAttached&&qo.sendMessage(Mt,rs.Msg.BeforeDetach),this.parent.node.removeChild(Mt.node),this.parent.isAttached&&qo.sendMessage(Mt,rs.Msg.AfterDetach),Lt.dispose(),this.parent.fit()}onBeforeShow(Se){super.onBeforeShow(Se),this.parent.update()}onBeforeAttach(Se){super.onBeforeAttach(Se),this.parent.fit()}onChildShown(Se){this.parent.fit()}onChildHidden(Se){this.parent.fit()}onResize(Se){this.parent.isVisible&&this._update(Se.width,Se.height)}onUpdateRequest(Se){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(Se){this.parent.isAttached&&this._fit()}_fit(){let Se=0;for(let ti=0,ci=this._items.length;ti0)switch(this._alignment){case"start":break;case"center":Ii=0,si=ci/2;break;case"end":Ii=0,si=ci;break;case"justify":Ii=ci/Lt,si=0;break;default:throw"unreachable"}for(let mi=0,Ri=this._items.length;mi0,coerce:($t,gr)=>Math.max(0,Math.floor(gr)),changed:Lt}),jt.sizeBasisProperty=new xd({name:"sizeBasis",create:()=>0,coerce:($t,gr)=>Math.max(0,Math.floor(gr)),changed:Lt});function Se($t){return $t==="left-to-right"||$t==="right-to-left"}jt.isHorizontal=Se;function Mt($t){return Math.max(0,Math.floor($t))}jt.clampSpacing=Mt;function Lt($t){$t.parent&&$t.parent.layout instanceof Iv&&$t.parent.fit()}})(z0||(z0={}));var c_=class extends u_{constructor(Se={}){super({layout:Lw.createLayout(Se)}),this.addClass("lm-BoxPanel")}get direction(){return this.layout.direction}set direction(Se){this.layout.direction=Se}get alignment(){return this.layout.alignment}set alignment(Se){this.layout.alignment=Se}get spacing(){return this.layout.spacing}set spacing(Se){this.layout.spacing=Se}onChildAdded(Se){Se.child.addClass("lm-BoxPanel-child")}onChildRemoved(Se){Se.child.removeClass("lm-BoxPanel-child")}};(function(jt){function Se(gr){return Iv.getStretch(gr)}jt.getStretch=Se;function Mt(gr,pi){Iv.setStretch(gr,pi)}jt.setStretch=Mt;function Lt(gr){return Iv.getSizeBasis(gr)}jt.getSizeBasis=Lt;function $t(gr,pi){Iv.setSizeBasis(gr,pi)}jt.setSizeBasis=$t})(c_||(c_={}));var Lw;(function(jt){function Se(Mt){return Mt.layout||new Iv(Mt)}jt.createLayout=Se})(Lw||(Lw={}));var f_=class jt extends rs{constructor(Se){super({node:ap.createNode()}),this._activeIndex=-1,this._items=[],this._results=null,this.addClass("lm-CommandPalette"),this.setFlag(rs.Flag.DisallowLayout),this.commands=Se.commands,this.renderer=Se.renderer||jt.defaultRenderer,this.commands.commandChanged.connect(this._onGenericChange,this),this.commands.keyBindingChanged.connect(this._onGenericChange,this)}dispose(){this._items.length=0,this._results=null,super.dispose()}get searchNode(){return this.node.getElementsByClassName("lm-CommandPalette-search")[0]}get inputNode(){return this.node.getElementsByClassName("lm-CommandPalette-input")[0]}get contentNode(){return this.node.getElementsByClassName("lm-CommandPalette-content")[0]}get items(){return this._items}addItem(Se){let Mt=ap.createItem(this.commands,Se);return this._items.push(Mt),this.refresh(),Mt}addItems(Se){let Mt=Se.map(Lt=>ap.createItem(this.commands,Lt));return Mt.forEach(Lt=>this._items.push(Lt)),this.refresh(),Mt}removeItem(Se){this.removeItemAt(this._items.indexOf(Se))}removeItemAt(Se){ko.ArrayExt.removeAt(this._items,Se)&&this.refresh()}clearItems(){this._items.length!==0&&(this._items.length=0,this.refresh())}refresh(){if(this._results=null,this.inputNode.value!==""){let Se=this.node.getElementsByClassName("lm-close-icon")[0];Se.style.display="inherit"}else{let Se=this.node.getElementsByClassName("lm-close-icon")[0];Se.style.display="none"}this.update()}handleEvent(Se){switch(Se.type){case"click":this._evtClick(Se);break;case"keydown":this._evtKeyDown(Se);break;case"input":this.refresh();break;case"focus":case"blur":this._toggleFocused();break}}onBeforeAttach(Se){this.node.addEventListener("click",this),this.node.addEventListener("keydown",this),this.node.addEventListener("input",this),this.node.addEventListener("focus",this,!0),this.node.addEventListener("blur",this,!0)}onAfterDetach(Se){this.node.removeEventListener("click",this),this.node.removeEventListener("keydown",this),this.node.removeEventListener("input",this),this.node.removeEventListener("focus",this,!0),this.node.removeEventListener("blur",this,!0)}onAfterShow(Se){this.update(),super.onAfterShow(Se)}onActivateRequest(Se){if(this.isAttached){let Mt=this.inputNode;Mt.focus(),Mt.select()}}onUpdateRequest(Se){if(this.isHidden)return;let Mt=this.inputNode.value,Lt=this.contentNode,$t=this._results;if($t||($t=this._results=ap.search(this._items,Mt),this._activeIndex=Mt?ko.ArrayExt.findFirstIndex($t,ap.canActivate):-1),!Mt&&$t.length===0){ip.render(null,Lt);return}if(Mt&&$t.length===0){let ci=this.renderer.renderEmptyMessage({query:Mt});ip.render(ci,Lt);return}let gr=this.renderer,pi=this._activeIndex,ti=new Array($t.length);for(let ci=0,Ii=$t.length;ci=$t.length)Lt.scrollTop=0;else{let ci=Lt.children[pi];Yc.scrollIntoViewIfNeeded(Lt,ci)}}_evtClick(Se){if(Se.button!==0)return;if(Se.target.classList.contains("lm-close-icon")){this.inputNode.value="",this.refresh();return}let Mt=ko.ArrayExt.findFirstIndex(this.contentNode.children,Lt=>Lt.contains(Se.target));Mt!==-1&&(Se.preventDefault(),Se.stopPropagation(),this._execute(Mt))}_evtKeyDown(Se){if(!(Se.altKey||Se.ctrlKey||Se.metaKey||Se.shiftKey))switch(Se.keyCode){case 13:Se.preventDefault(),Se.stopPropagation(),this._execute(this._activeIndex);break;case 38:Se.preventDefault(),Se.stopPropagation(),this._activatePreviousItem();break;case 40:Se.preventDefault(),Se.stopPropagation(),this._activateNextItem();break}}_activateNextItem(){if(!this._results||this._results.length===0)return;let Se=this._activeIndex,Mt=this._results.length,Lt=SeQn-Do),Mn=Ya.slice(0,en),za=Ya.slice(en);for(let Qn=0,Do=za.length;Qnwi.command===yi&&op.JSONExt.deepEqual(wi.args,bi))||null}}})(ap||(ap={}));var F0=class jt extends rs{constructor(Se){super({node:wd.createNode()}),this._childIndex=-1,this._activeIndex=-1,this._openTimerID=0,this._closeTimerID=0,this._items=[],this._childMenu=null,this._parentMenu=null,this._aboutToClose=new Vc(this),this._menuRequested=new Vc(this),this.addClass("lm-Menu"),this.setFlag(rs.Flag.DisallowLayout),this.commands=Se.commands,this.renderer=Se.renderer||jt.defaultRenderer}dispose(){this.close(),this._items.length=0,super.dispose()}get aboutToClose(){return this._aboutToClose}get menuRequested(){return this._menuRequested}get parentMenu(){return this._parentMenu}get childMenu(){return this._childMenu}get rootMenu(){let Se=this;for(;Se._parentMenu;)Se=Se._parentMenu;return Se}get leafMenu(){let Se=this;for(;Se._childMenu;)Se=Se._childMenu;return Se}get contentNode(){return this.node.getElementsByClassName("lm-Menu-content")[0]}get activeItem(){return this._items[this._activeIndex]||null}set activeItem(Se){this.activeIndex=Se?this._items.indexOf(Se):-1}get activeIndex(){return this._activeIndex}set activeIndex(Se){(Se<0||Se>=this._items.length)&&(Se=-1),Se!==-1&&!wd.canActivate(this._items[Se])&&(Se=-1),this._activeIndex!==Se&&(this._activeIndex=Se,this._activeIndex>=0&&this.contentNode.childNodes[this._activeIndex]&&this.contentNode.childNodes[this._activeIndex].focus(),this.update())}get items(){return this._items}activateNextItem(){let Se=this._items.length,Mt=this._activeIndex,Lt=Mt{this.activeIndex=ti}})}ip.render(pi,this.contentNode)}onCloseRequest(Se){this._cancelOpenTimer(),this._cancelCloseTimer(),this.activeIndex=-1;let Mt=this._childMenu;Mt&&(this._childIndex=-1,this._childMenu=null,Mt._parentMenu=null,Mt.close());let Lt=this._parentMenu;Lt&&(this._parentMenu=null,Lt._childIndex=-1,Lt._childMenu=null,Lt.activate()),this.isAttached&&this._aboutToClose.emit(void 0),super.onCloseRequest(Se)}_evtKeyDown(Se){Se.preventDefault(),Se.stopPropagation();let Mt=Se.keyCode;if(Mt===13){this.triggerActiveItem();return}if(Mt===27){this.close();return}if(Mt===37){this._parentMenu?this.close():this._menuRequested.emit("previous");return}if(Mt===38){this.activatePreviousItem();return}if(Mt===39){let pi=this.activeItem;pi&&pi.type==="submenu"?this.triggerActiveItem():this.rootMenu._menuRequested.emit("next");return}if(Mt===40){this.activateNextItem();return}let Lt=Um().keyForKeydownEvent(Se);if(!Lt)return;let $t=this._activeIndex+1,gr=wd.findMnemonic(this._items,Lt,$t);gr.index!==-1&&!gr.multiple?(this.activeIndex=gr.index,this.triggerActiveItem()):gr.index!==-1?this.activeIndex=gr.index:gr.auto!==-1&&(this.activeIndex=gr.auto)}_evtMouseUp(Se){Se.button===0&&(Se.preventDefault(),Se.stopPropagation(),this.triggerActiveItem())}_evtMouseMove(Se){let Mt=ko.ArrayExt.findFirstIndex(this.contentNode.children,$t=>Yc.hitTest($t,Se.clientX,Se.clientY));if(Mt===this._activeIndex)return;if(this.activeIndex=Mt,Mt=this.activeIndex,Mt===this._childIndex){this._cancelOpenTimer(),this._cancelCloseTimer();return}this._childIndex!==-1&&this._startCloseTimer(),this._cancelOpenTimer();let Lt=this.activeItem;!Lt||Lt.type!=="submenu"||!Lt.submenu||this._startOpenTimer()}_evtMouseEnter(Se){for(let Mt=this._parentMenu;Mt;Mt=Mt._parentMenu)Mt._cancelOpenTimer(),Mt._cancelCloseTimer(),Mt.activeIndex=Mt._childIndex}_evtMouseLeave(Se){if(this._cancelOpenTimer(),!this._childMenu){this.activeIndex=-1;return}let{clientX:Mt,clientY:Lt}=Se;if(Yc.hitTest(this._childMenu.node,Mt,Lt)){this._cancelCloseTimer();return}this.activeIndex=-1,this._startCloseTimer()}_evtMouseDown(Se){this._parentMenu||(wd.hitTestMenus(this,Se.clientX,Se.clientY)?(Se.preventDefault(),Se.stopPropagation()):this.close())}_openChildMenu(Se=!1){let Mt=this.activeItem;if(!Mt||Mt.type!=="submenu"||!Mt.submenu){this._closeChildMenu();return}let Lt=Mt.submenu;if(Lt===this._childMenu)return;jt.saveWindowData(),this._closeChildMenu(),this._childMenu=Lt,this._childIndex=this._activeIndex,Lt._parentMenu=this,qo.sendMessage(this,rs.Msg.UpdateRequest);let $t=this.contentNode.children[this._activeIndex];wd.openSubmenu(Lt,$t),Se&&(Lt.activeIndex=-1,Lt.activateNextItem()),Lt.activate()}_closeChildMenu(){this._childMenu&&this._childMenu.close()}_startOpenTimer(){this._openTimerID===0&&(this._openTimerID=window.setTimeout(()=>{this._openTimerID=0,this._openChildMenu()},wd.TIMER_DELAY))}_startCloseTimer(){this._closeTimerID===0&&(this._closeTimerID=window.setTimeout(()=>{this._closeTimerID=0,this._closeChildMenu()},wd.TIMER_DELAY))}_cancelOpenTimer(){this._openTimerID!==0&&(clearTimeout(this._openTimerID),this._openTimerID=0)}_cancelCloseTimer(){this._closeTimerID!==0&&(clearTimeout(this._closeTimerID),this._closeTimerID=0)}static saveWindowData(){wd.saveWindowData()}};(function(jt){class Se{renderItem(Lt){let $t=this.createItemClass(Lt),gr=this.createItemDataset(Lt),pi=this.createItemARIA(Lt);return qc.li({className:$t,dataset:gr,tabindex:"0",onfocus:Lt.onfocus,...pi},this.renderIcon(Lt),this.renderLabel(Lt),this.renderShortcut(Lt),this.renderSubmenu(Lt))}renderIcon(Lt){let $t=this.createIconClass(Lt);return qc.div({className:$t},Lt.item.icon,Lt.item.iconLabel)}renderLabel(Lt){let $t=this.formatLabel(Lt);return qc.div({className:"lm-Menu-itemLabel"},$t)}renderShortcut(Lt){let $t=this.formatShortcut(Lt);return qc.div({className:"lm-Menu-itemShortcut"},$t)}renderSubmenu(Lt){return qc.div({className:"lm-Menu-itemSubmenuIcon"})}createItemClass(Lt){let $t="lm-Menu-item";Lt.item.isEnabled||($t+=" lm-mod-disabled"),Lt.item.isToggled&&($t+=" lm-mod-toggled"),Lt.item.isVisible||($t+=" lm-mod-hidden"),Lt.active&&($t+=" lm-mod-active"),Lt.collapsed&&($t+=" lm-mod-collapsed");let gr=Lt.item.className;return gr&&($t+=` ${gr}`),$t}createItemDataset(Lt){let $t,{type:gr,command:pi,dataset:ti}=Lt.item;return gr==="command"?$t={...ti,type:gr,command:pi}:$t={...ti,type:gr},$t}createIconClass(Lt){let $t="lm-Menu-itemIcon",gr=Lt.item.iconClass;return gr?`${$t} ${gr}`:$t}createItemARIA(Lt){let $t={};switch(Lt.item.type){case"separator":$t.role="presentation";break;case"submenu":$t["aria-haspopup"]="true",Lt.item.isEnabled||($t["aria-disabled"]="true");break;default:Lt.item.isEnabled||($t["aria-disabled"]="true"),$t.role="menuitem"}return $t}formatLabel(Lt){let{label:$t,mnemonic:gr}=Lt.item;if(gr<0||gr>=$t.length)return $t;let pi=$t.slice(0,gr),ti=$t.slice(gr+1),ci=$t[gr],Ii=qc.span({className:"lm-Menu-itemMnemonic"},ci);return[pi,Ii,ti]}formatShortcut(Lt){let $t=Lt.item.keyBinding;return $t?rp.formatKeystroke($t.keys):null}}jt.Renderer=Se,jt.defaultRenderer=new Se})(F0||(F0={}));var wd;(function(jt){jt.TIMER_DELAY=300,jt.SUBMENU_OVERLAP=3;let Se=null,Mt=0;function Lt(){return Mt>0?(Mt--,Se):si()}function $t(){Se=si(),Mt++}jt.saveWindowData=$t;function gr(){let wi=document.createElement("div"),De=document.createElement("ul");return De.className="lm-Menu-content",wi.appendChild(De),De.setAttribute("role","menu"),wi.tabIndex=0,wi}jt.createNode=gr;function pi(wi){return wi.type!=="separator"&&wi.isEnabled&&wi.isVisible}jt.canActivate=pi;function ti(wi,De){return new bi(wi.commands,De)}jt.createItem=ti;function ci(wi,De,tn){for(let Ya=wi;Ya;Ya=Ya.childMenu)if(Yc.hitTest(Ya.node,De,tn))return!0;return!1}jt.hitTestMenus=ci;function Ii(wi){let De=new Array(wi.length);ko.ArrayExt.fill(De,!1);let tn=0,Ya=wi.length;for(;tn=0;--sa){let en=wi[sa];if(en.isVisible){if(en.type!=="separator")break;De[sa]=!0}}let Ua=!1;for(;++tnza+Do&&(De=za+Do-zl),!sa&&tn+fu>Qn+Tn&&(tn>Qn+Tn?tn=Qn+Tn-fu:tn=tn-fu),zn.transform=`translate(${Math.max(0,De)}px, ${Math.max(0,tn)}px`,zn.opacity="1"}jt.openRootMenu=mi;function Ri(wi,De){let tn=Lt(),Ya=tn.pageXOffset,sa=tn.pageYOffset,Ua=tn.clientWidth,en=tn.clientHeight;qo.sendMessage(wi,rs.Msg.UpdateRequest);let Mn=en,za=wi.node,Qn=za.style;Qn.opacity="0",Qn.maxHeight=`${Mn}px`,rs.attach(wi,document.body);let{width:Do,height:Tn}=za.getBoundingClientRect(),lo=Yc.boxSizing(wi.node),vn=De.getBoundingClientRect(),zn=vn.right-jt.SUBMENU_OVERLAP;zn+Do>Ya+Ua&&(zn=vn.left+jt.SUBMENU_OVERLAP-Do);let zl=vn.top-lo.borderTop-lo.paddingTop;zl+Tn>sa+en&&(zl=vn.bottom+lo.borderBottom+lo.paddingBottom-Tn),Qn.transform=`translate(${Math.max(0,zn)}px, ${Math.max(0,zl)}px`,Qn.opacity="1"}jt.openSubmenu=Ri;function yi(wi,De,tn){let Ya=-1,sa=-1,Ua=!1,en=De.toUpperCase();for(let Mn=0,za=wi.length;Mn=0&&loYa.command===De&&op.JSONExt.deepEqual(Ya.args,tn))||null}return null}}})(wd||(wd={}));var PS;(function(jt){function Se(pi,ti){let ci=Lt(pi.selector),Ii=pi.rank!==void 0?pi.rank:1/0;return{...pi,selector:ci,rank:Ii,id:ti}}jt.createItem=Se;function Mt(pi,ti,ci,Ii){let si=ti.target;if(!si)return null;let mi=ti.currentTarget;if(!mi||!mi.contains(si)&&(si=document.elementFromPoint(ti.clientX,ti.clientY),!si||!mi.contains(si)))return null;let Ri=[],yi=pi.slice();for(;si!==null;){let bi=[];for(let wi=0,De=yi.length;wi=this._titles.length)&&(Se=-1),this._currentIndex===Se)return;let Mt=this._currentIndex,Lt=this._titles[Mt]||null,$t=Se,gr=this._titles[$t]||null;this._currentIndex=$t,this._previousTitle=Lt,this.update(),this._currentChanged.emit({previousIndex:Mt,previousTitle:Lt,currentIndex:$t,currentTitle:gr})}get name(){return this._name}set name(Se){this._name=Se,Se?this.contentNode.setAttribute("aria-label",Se):this.contentNode.removeAttribute("aria-label")}get orientation(){return this._orientation}set orientation(Se){this._orientation!==Se&&(this._releaseMouse(),this._orientation=Se,this.dataset.orientation=Se,this.contentNode.setAttribute("aria-orientation",Se))}get addButtonEnabled(){return this._addButtonEnabled}set addButtonEnabled(Se){this._addButtonEnabled!==Se&&(this._addButtonEnabled=Se,Se?this.addButtonNode.classList.remove("lm-mod-hidden"):this.addButtonNode.classList.add("lm-mod-hidden"))}get titles(){return this._titles}get contentNode(){return this.node.getElementsByClassName("lm-TabBar-content")[0]}get addButtonNode(){return this.node.getElementsByClassName("lm-TabBar-addButton")[0]}addTab(Se){return this.insertTab(this._titles.length,Se)}insertTab(Se,Mt){this._releaseMouse();let Lt=Gd.asTitle(Mt),$t=this._titles.indexOf(Lt),gr=Math.max(0,Math.min(Se,this._titles.length));return $t===-1?(ko.ArrayExt.insert(this._titles,gr,Lt),Lt.changed.connect(this._onTitleChanged,this),this.update(),this._adjustCurrentForInsert(gr,Lt),Lt):(gr===this._titles.length&&gr--,$t===gr||(ko.ArrayExt.move(this._titles,$t,gr),this.update(),this._adjustCurrentForMove($t,gr)),Lt)}removeTab(Se){this.removeTabAt(this._titles.indexOf(Se))}removeTabAt(Se){this._releaseMouse();let Mt=ko.ArrayExt.removeAt(this._titles,Se);Mt&&(Mt.changed.disconnect(this._onTitleChanged,this),Mt===this._previousTitle&&(this._previousTitle=null),this.update(),this._adjustCurrentForRemove(Se,Mt))}clearTabs(){if(this._titles.length===0)return;this._releaseMouse();for(let Lt of this._titles)Lt.changed.disconnect(this._onTitleChanged,this);let Se=this.currentIndex,Mt=this.currentTitle;this._currentIndex=-1,this._previousTitle=null,this._titles.length=0,this.update(),Se!==-1&&this._currentChanged.emit({previousIndex:Se,previousTitle:Mt,currentIndex:-1,currentTitle:null})}releaseMouse(){this._releaseMouse()}handleEvent(Se){switch(Se.type){case"pointerdown":this._evtPointerDown(Se);break;case"pointermove":this._evtPointerMove(Se);break;case"pointerup":this._evtPointerUp(Se);break;case"dblclick":this._evtDblClick(Se);break;case"keydown":Se.eventPhase===Event.CAPTURING_PHASE?this._evtKeyDownCapturing(Se):this._evtKeyDown(Se);break;case"contextmenu":Se.preventDefault(),Se.stopPropagation();break}}onBeforeAttach(Se){this.node.addEventListener("pointerdown",this),this.node.addEventListener("dblclick",this),this.node.addEventListener("keydown",this)}onAfterDetach(Se){this.node.removeEventListener("pointerdown",this),this.node.removeEventListener("dblclick",this),this.node.removeEventListener("keydown",this),this._releaseMouse()}onUpdateRequest(Se){var Mt;let Lt=this._titles,$t=this.renderer,gr=this.currentTitle,pi=new Array(Lt.length),ti=(Mt=this._getCurrentTabindex())!==null&&Mt!==void 0?Mt:this._currentIndex>-1?this._currentIndex:0;for(let ci=0,Ii=Lt.length;ciYc.hitTest(pi,Se.clientX,Se.clientY));if(Lt===-1)return;let $t=this.titles[Lt],gr=Mt[Lt].querySelector(".lm-TabBar-tabLabel");if(gr&&gr.contains(Se.target)){let pi=$t.label||"",ti=gr.innerHTML;gr.innerHTML="";let ci=document.createElement("input");ci.classList.add("lm-TabBar-tabInput"),ci.value=pi,gr.appendChild(ci);let Ii=()=>{ci.removeEventListener("blur",Ii),gr.innerHTML=ti,this.node.addEventListener("keydown",this)};ci.addEventListener("dblclick",si=>si.stopPropagation()),ci.addEventListener("blur",Ii),ci.addEventListener("keydown",si=>{si.key==="Enter"?(ci.value!==""&&($t.label=$t.caption=ci.value),Ii()):si.key==="Escape"&&Ii()}),this.node.removeEventListener("keydown",this),ci.select(),ci.focus(),gr.children.length>0&&gr.children[0].focus()}}_evtKeyDownCapturing(Se){Se.eventPhase===Event.CAPTURING_PHASE&&(Se.preventDefault(),Se.stopPropagation(),Se.key==="Escape"&&this._releaseMouse())}_evtKeyDown(Se){var Mt,Lt,$t;if(!(Se.key==="Tab"||Se.eventPhase===Event.CAPTURING_PHASE)){if(Se.key==="Enter"||Se.key==="Spacebar"||Se.key===" "){let gr=document.activeElement;if(this.addButtonEnabled&&this.addButtonNode.contains(gr))Se.preventDefault(),Se.stopPropagation(),this._addRequested.emit();else{let pi=ko.ArrayExt.findFirstIndex(this.contentNode.children,ti=>ti.contains(gr));pi>=0&&(Se.preventDefault(),Se.stopPropagation(),this.currentIndex=pi)}}else if(z7.includes(Se.key)){let gr=[...this.contentNode.children];if(this.addButtonEnabled&&gr.push(this.addButtonNode),gr.length<=1)return;Se.preventDefault(),Se.stopPropagation();let pi=gr.indexOf(document.activeElement);pi===-1&&(pi=this._currentIndex);let ti;Se.key==="ArrowRight"&&this._orientation==="horizontal"||Se.key==="ArrowDown"&&this._orientation==="vertical"?ti=(Mt=gr[pi+1])!==null&&Mt!==void 0?Mt:gr[0]:Se.key==="ArrowLeft"&&this._orientation==="horizontal"||Se.key==="ArrowUp"&&this._orientation==="vertical"?ti=(Lt=gr[pi-1])!==null&&Lt!==void 0?Lt:gr[gr.length-1]:Se.key==="Home"?ti=gr[0]:Se.key==="End"&&(ti=gr[gr.length-1]),ti&&(($t=gr[pi])===null||$t===void 0||$t.setAttribute("tabindex","-1"),ti?.setAttribute("tabindex","0"),ti.focus())}}}_evtPointerDown(Se){if(Se.button!==0&&Se.button!==1||this._dragData||Se.target.classList.contains("lm-TabBar-tabInput"))return;let Mt=this.addButtonEnabled&&this.addButtonNode.contains(Se.target),Lt=this.contentNode.children,$t=ko.ArrayExt.findFirstIndex(Lt,pi=>Yc.hitTest(pi,Se.clientX,Se.clientY));if($t===-1&&!Mt||(Se.preventDefault(),Se.stopPropagation(),this._dragData={tab:Lt[$t],index:$t,pressX:Se.clientX,pressY:Se.clientY,tabPos:-1,tabSize:-1,tabPressPos:-1,targetIndex:-1,tabLayout:null,contentRect:null,override:null,dragActive:!1,dragAborted:!1,detachRequested:!1},this.document.addEventListener("pointerup",this,!0),Se.button===1||Mt))return;let gr=Lt[$t].querySelector(this.renderer.closeIconSelector);gr&&gr.contains(Se.target)||(this.tabsMovable&&(this.document.addEventListener("pointermove",this,!0),this.document.addEventListener("keydown",this,!0),this.document.addEventListener("contextmenu",this,!0)),this.allowDeselect&&this.currentIndex===$t?this.currentIndex=-1:this.currentIndex=$t,this.currentIndex!==-1&&this._tabActivateRequested.emit({index:this.currentIndex,title:this.currentTitle}))}_evtPointerMove(Se){let Mt=this._dragData;if(!Mt)return;Se.preventDefault(),Se.stopPropagation();let Lt=this.contentNode.children;if(!(!Mt.dragActive&&!Gd.dragExceeded(Mt,Se))){if(!Mt.dragActive){let $t=Mt.tab.getBoundingClientRect();this._orientation==="horizontal"?(Mt.tabPos=Mt.tab.offsetLeft,Mt.tabSize=$t.width,Mt.tabPressPos=Mt.pressX-$t.left):(Mt.tabPos=Mt.tab.offsetTop,Mt.tabSize=$t.height,Mt.tabPressPos=Mt.pressY-$t.top),Mt.tabPressOffset={x:Mt.pressX-$t.left,y:Mt.pressY-$t.top},Mt.tabLayout=Gd.snapTabLayout(Lt,this._orientation),Mt.contentRect=this.contentNode.getBoundingClientRect(),Mt.override=bd.overrideCursor("default"),Mt.tab.classList.add("lm-mod-dragging"),this.addClass("lm-mod-dragging"),Mt.dragActive=!0}if(!Mt.detachRequested&&Gd.detachExceeded(Mt,Se)){Mt.detachRequested=!0;let $t=Mt.index,gr=Se.clientX,pi=Se.clientY,ti=Lt[$t],ci=this._titles[$t];if(this._tabDetachRequested.emit({index:$t,title:ci,tab:ti,clientX:gr,clientY:pi,offset:Mt.tabPressOffset}),Mt.dragAborted)return}Gd.layoutTabs(Lt,Mt,Se,this._orientation)}}_evtPointerUp(Se){if(Se.button!==0&&Se.button!==1)return;let Mt=this._dragData;if(!Mt)return;if(Se.preventDefault(),Se.stopPropagation(),this.document.removeEventListener("pointermove",this,!0),this.document.removeEventListener("pointerup",this,!0),this.document.removeEventListener("keydown",this,!0),this.document.removeEventListener("contextmenu",this,!0),!Mt.dragActive){if(this._dragData=null,this.addButtonEnabled&&this.addButtonNode.contains(Se.target)){this._addRequested.emit(void 0);return}let gr=this.contentNode.children,pi=ko.ArrayExt.findFirstIndex(gr,Ii=>Yc.hitTest(Ii,Se.clientX,Se.clientY));if(pi!==Mt.index)return;let ti=this._titles[pi];if(!ti.closable)return;if(Se.button===1){this._tabCloseRequested.emit({index:pi,title:ti});return}let ci=gr[pi].querySelector(this.renderer.closeIconSelector);if(ci&&ci.contains(Se.target)){this._tabCloseRequested.emit({index:pi,title:ti});return}return}if(Se.button!==0)return;Gd.finalizeTabPosition(Mt,this._orientation),Mt.tab.classList.remove("lm-mod-dragging");let Lt=Gd.parseTransitionDuration(Mt.tab);setTimeout(()=>{if(Mt.dragAborted)return;this._dragData=null,Gd.resetTabPositions(this.contentNode.children,this._orientation),Mt.override.dispose(),this.removeClass("lm-mod-dragging");let $t=Mt.index,gr=Mt.targetIndex;gr===-1||$t===gr||(ko.ArrayExt.move(this._titles,$t,gr),this._adjustCurrentForMove($t,gr),this._tabMoved.emit({fromIndex:$t,toIndex:gr,title:this._titles[gr]}),qo.sendMessage(this,rs.Msg.UpdateRequest))},Lt)}_releaseMouse(){let Se=this._dragData;Se&&(this._dragData=null,this.document.removeEventListener("pointermove",this,!0),this.document.removeEventListener("pointerup",this,!0),this.document.removeEventListener("keydown",this,!0),this.document.removeEventListener("contextmenu",this,!0),Se.dragAborted=!0,Se.dragActive&&(Gd.resetTabPositions(this.contentNode.children,this._orientation),Se.override.dispose(),Se.tab.classList.remove("lm-mod-dragging"),this.removeClass("lm-mod-dragging")))}_adjustCurrentForInsert(Se,Mt){let Lt=this.currentTitle,$t=this._currentIndex,gr=this.insertBehavior;if(gr==="select-tab"||gr==="select-tab-if-needed"&&$t===-1){this._currentIndex=Se,this._previousTitle=Lt,this._currentChanged.emit({previousIndex:$t,previousTitle:Lt,currentIndex:Se,currentTitle:Mt});return}$t>=Se&&this._currentIndex++}_adjustCurrentForMove(Se,Mt){this._currentIndex===Se?this._currentIndex=Mt:this._currentIndex=Mt?this._currentIndex++:this._currentIndex>Se&&this._currentIndex<=Mt&&this._currentIndex--}_adjustCurrentForRemove(Se,Mt){let Lt=this._currentIndex,$t=this.removeBehavior;if(Lt!==Se){Lt>Se&&this._currentIndex--;return}if(this._titles.length===0){this._currentIndex=-1,this._currentChanged.emit({previousIndex:Se,previousTitle:Mt,currentIndex:-1,currentTitle:null});return}if($t==="select-tab-after"){this._currentIndex=Math.min(Se,this._titles.length-1),this._currentChanged.emit({previousIndex:Se,previousTitle:Mt,currentIndex:this._currentIndex,currentTitle:this.currentTitle});return}if($t==="select-tab-before"){this._currentIndex=Math.max(0,Se-1),this._currentChanged.emit({previousIndex:Se,previousTitle:Mt,currentIndex:this._currentIndex,currentTitle:this.currentTitle});return}if($t==="select-previous-tab"){this._previousTitle?(this._currentIndex=this._titles.indexOf(this._previousTitle),this._previousTitle=null):this._currentIndex=Math.min(Se,this._titles.length-1),this._currentChanged.emit({previousIndex:Se,previousTitle:Mt,currentIndex:this._currentIndex,currentTitle:this.currentTitle});return}this._currentIndex=-1,this._currentChanged.emit({previousIndex:Se,previousTitle:Mt,currentIndex:-1,currentTitle:null})}_onTitleChanged(Se){this.update()}};(function(jt){class Se{constructor(){this.closeIconSelector=".lm-TabBar-tabCloseIcon",this._tabID=0,this._tabKeys=new WeakMap,this._uuid=++Se._nInstance}renderTab(Lt){let $t=Lt.title.caption,gr=this.createTabKey(Lt),pi=gr,ti=this.createTabStyle(Lt),ci=this.createTabClass(Lt),Ii=this.createTabDataset(Lt),si=this.createTabARIA(Lt);return Lt.title.closable?qc.li({id:pi,key:gr,className:ci,title:$t,style:ti,dataset:Ii,...si},this.renderIcon(Lt),this.renderLabel(Lt),this.renderCloseIcon(Lt)):qc.li({id:pi,key:gr,className:ci,title:$t,style:ti,dataset:Ii,...si},this.renderIcon(Lt),this.renderLabel(Lt))}renderIcon(Lt){let{title:$t}=Lt,gr=this.createIconClass(Lt);return qc.div({className:gr},$t.icon,$t.iconLabel)}renderLabel(Lt){return qc.div({className:"lm-TabBar-tabLabel"},Lt.title.label)}renderCloseIcon(Lt){return qc.div({className:"lm-TabBar-tabCloseIcon"})}createTabKey(Lt){let $t=this._tabKeys.get(Lt.title);return $t===void 0&&($t=`tab-key-${this._uuid}-${this._tabID++}`,this._tabKeys.set(Lt.title,$t)),$t}createTabStyle(Lt){return{zIndex:`${Lt.zIndex}`}}createTabClass(Lt){let $t="lm-TabBar-tab";return Lt.title.className&&($t+=` ${Lt.title.className}`),Lt.title.closable&&($t+=" lm-mod-closable"),Lt.current&&($t+=" lm-mod-current"),$t}createTabDataset(Lt){return Lt.title.dataset}createTabARIA(Lt){var $t;return{role:"tab","aria-selected":Lt.current.toString(),tabindex:`${($t=Lt.tabIndex)!==null&&$t!==void 0?$t:"-1"}`}}createIconClass(Lt){let $t="lm-TabBar-tabIcon",gr=Lt.title.iconClass;return gr?`${$t} ${gr}`:$t}}Se._nInstance=0,jt.Renderer=Se,jt.defaultRenderer=new Se,jt.addButtonSelector=".lm-TabBar-addButton"})(Gm||(Gm={}));var Gd;(function(jt){jt.DRAG_THRESHOLD=5,jt.DETACH_THRESHOLD=20;function Se(){let si=document.createElement("div"),mi=document.createElement("ul");mi.setAttribute("role","tablist"),mi.className="lm-TabBar-content",si.appendChild(mi);let Ri=document.createElement("div");return Ri.className="lm-TabBar-addButton lm-mod-hidden",Ri.setAttribute("tabindex","-1"),Ri.setAttribute("role","button"),si.appendChild(Ri),si}jt.createNode=Se;function Mt(si){return si instanceof ey?si:new ey(si)}jt.asTitle=Mt;function Lt(si){let mi=window.getComputedStyle(si);return 1e3*(parseFloat(mi.transitionDuration)||0)}jt.parseTransitionDuration=Lt;function $t(si,mi){let Ri=new Array(si.length);for(let yi=0,bi=si.length;yi=jt.DRAG_THRESHOLD||yi>=jt.DRAG_THRESHOLD}jt.dragExceeded=gr;function pi(si,mi){let Ri=si.contentRect;return mi.clientX=Ri.right+jt.DETACH_THRESHOLD||mi.clientY=Ri.bottom+jt.DETACH_THRESHOLD}jt.detachExceeded=pi;function ti(si,mi,Ri,yi){let bi,wi,De,tn;yi==="horizontal"?(bi=mi.pressX,wi=Ri.clientX-mi.contentRect.left,De=Ri.clientX,tn=mi.contentRect.width):(bi=mi.pressY,wi=Ri.clientY-mi.contentRect.top,De=Ri.clientY,tn=mi.contentRect.height);let Ya=mi.index,sa=wi-mi.tabPressPos,Ua=sa+mi.tabSize;for(let en=0,Mn=si.length;en>1);if(enmi.index&&Ua>Do)za=`${-mi.tabSize-Qn.margin}px`,Ya=Math.max(Ya,en);else if(en===mi.index){let Tn=De-bi,lo=tn-(mi.tabPos+mi.tabSize);za=`${Math.max(-mi.tabPos,Math.min(Tn,lo))}px`}else za="";yi==="horizontal"?si[en].style.left=za:si[en].style.top=za}mi.targetIndex=Ya}jt.layoutTabs=ti;function ci(si,mi){let Ri;mi==="horizontal"?Ri=si.contentRect.width:Ri=si.contentRect.height;let yi;if(si.targetIndex===si.index)yi=0;else if(si.targetIndex>si.index){let De=si.tabLayout[si.targetIndex];yi=De.pos+De.size-si.tabSize-si.tabPos}else yi=si.tabLayout[si.targetIndex].pos-si.tabPos;let bi=Ri-(si.tabPos+si.tabSize),wi=Math.max(-si.tabPos,Math.min(yi,bi));mi==="horizontal"?si.tab.style.left=`${wi}px`:si.tab.style.top=`${wi}px`}jt.finalizeTabPosition=ci;function Ii(si,mi){for(let Ri of si)mi==="horizontal"?Ri.style.left="":Ri.style.top=""}jt.resetTabPositions=Ii})(Gd||(Gd={}));var Iw=class extends sp{constructor(Se){super(),this._spacing=4,this._dirty=!1,this._root=null,this._box=null,this._items=new Map,this.renderer=Se.renderer,Se.spacing!==void 0&&(this._spacing=ry.clampDimension(Se.spacing)),this._document=Se.document||document,this._hiddenMode=Se.hiddenMode!==void 0?Se.hiddenMode:rs.HiddenMode.Display}dispose(){let Se=this[Symbol.iterator]();this._items.forEach(Mt=>{Mt.dispose()}),this._box=null,this._root=null,this._items.clear();for(let Mt of Se)Mt.dispose();super.dispose()}get hiddenMode(){return this._hiddenMode}set hiddenMode(Se){if(this._hiddenMode!==Se){this._hiddenMode=Se;for(let Mt of this.tabBars())if(Mt.titles.length>1)for(let Lt of Mt.titles)Lt.owner.hiddenMode=this._hiddenMode}}get spacing(){return this._spacing}set spacing(Se){Se=ry.clampDimension(Se),this._spacing!==Se&&(this._spacing=Se,this.parent&&this.parent.fit())}get isEmpty(){return this._root===null}[Symbol.iterator](){return this._root?this._root.iterAllWidgets():(0,ko.empty)()}widgets(){return this._root?this._root.iterUserWidgets():(0,ko.empty)()}selectedWidgets(){return this._root?this._root.iterSelectedWidgets():(0,ko.empty)()}tabBars(){return this._root?this._root.iterTabBars():(0,ko.empty)()}handles(){return this._root?this._root.iterHandles():(0,ko.empty)()}moveHandle(Se,Mt,Lt){let $t=Se.classList.contains("lm-mod-hidden");if(!this._root||$t)return;let gr=this._root.findSplitNode(Se);if(!gr)return;let pi;gr.node.orientation==="horizontal"?pi=Mt-Se.offsetLeft:pi=Lt-Se.offsetTop,pi!==0&&(gr.node.holdSizes(),Fd.adjust(gr.node.sizers,gr.index,pi),this.parent&&this.parent.update())}saveLayout(){return this._root?(this._root.holdAllSizes(),{main:this._root.createConfig()}):{main:null}}restoreLayout(Se){let Mt=new Set,Lt;Se.main?Lt=hh.normalizeAreaConfig(Se.main,Mt):Lt=null;let $t=this.widgets(),gr=this.tabBars(),pi=this.handles();this._root=null;for(let ti of $t)Mt.has(ti)||(ti.parent=null);for(let ti of gr)ti.dispose();for(let ti of pi)ti.parentNode&&ti.parentNode.removeChild(ti);for(let ti of Mt)ti.parent=this.parent;Lt?this._root=hh.realizeAreaConfig(Lt,{createTabBar:ti=>this._createTabBar(),createHandle:()=>this._createHandle()},this._document):this._root=null,this.parent&&(Mt.forEach(ti=>{this.attachWidget(ti)}),this.parent.fit())}addWidget(Se,Mt={}){let Lt=Mt.ref||null,$t=Mt.mode||"tab-after",gr=null;if(this._root&&Lt&&(gr=this._root.findTabNode(Lt)),Lt&&!gr)throw new Error("Reference widget is not in the layout.");switch(Se.parent=this.parent,$t){case"tab-after":this._insertTab(Se,Lt,gr,!0);break;case"tab-before":this._insertTab(Se,Lt,gr,!1);break;case"split-top":this._insertSplit(Se,Lt,gr,"vertical",!1);break;case"split-left":this._insertSplit(Se,Lt,gr,"horizontal",!1);break;case"split-right":this._insertSplit(Se,Lt,gr,"horizontal",!0);break;case"split-bottom":this._insertSplit(Se,Lt,gr,"vertical",!0);break;case"merge-top":this._insertSplit(Se,Lt,gr,"vertical",!1,!0);break;case"merge-left":this._insertSplit(Se,Lt,gr,"horizontal",!1,!0);break;case"merge-right":this._insertSplit(Se,Lt,gr,"horizontal",!0,!0);break;case"merge-bottom":this._insertSplit(Se,Lt,gr,"vertical",!0,!0);break}this.parent&&(this.attachWidget(Se),this.parent.fit())}removeWidget(Se){this._removeWidget(Se),this.parent&&(this.detachWidget(Se),this.parent.fit())}hitTestTabAreas(Se,Mt){if(!this._root||!this.parent||!this.parent.isVisible)return null;this._box||(this._box=Yc.boxSizing(this.parent.node));let Lt=this.parent.node.getBoundingClientRect(),$t=Se-Lt.left-this._box.borderLeft,gr=Mt-Lt.top-this._box.borderTop,pi=this._root.hitTestTabNodes($t,gr);if(!pi)return null;let{tabBar:ti,top:ci,left:Ii,width:si,height:mi}=pi,Ri=this._box.borderLeft+this._box.borderRight,yi=this._box.borderTop+this._box.borderBottom,bi=Lt.width-Ri-(Ii+si),wi=Lt.height-yi-(ci+mi);return{tabBar:ti,x:$t,y:gr,top:ci,left:Ii,right:bi,bottom:wi,width:si,height:mi}}init(){super.init();for(let Se of this)this.attachWidget(Se);for(let Se of this.handles())this.parent.node.appendChild(Se);this.parent.fit()}attachWidget(Se){this.parent.node!==Se.node.parentNode&&(this._items.set(Se,new B0(Se)),this.parent.isAttached&&qo.sendMessage(Se,rs.Msg.BeforeAttach),this.parent.node.appendChild(Se.node),this.parent.isAttached&&qo.sendMessage(Se,rs.Msg.AfterAttach))}detachWidget(Se){if(this.parent.node!==Se.node.parentNode)return;this.parent.isAttached&&qo.sendMessage(Se,rs.Msg.BeforeDetach),this.parent.node.removeChild(Se.node),this.parent.isAttached&&qo.sendMessage(Se,rs.Msg.AfterDetach);let Mt=this._items.get(Se);Mt&&(this._items.delete(Se),Mt.dispose())}onBeforeShow(Se){super.onBeforeShow(Se),this.parent.update()}onBeforeAttach(Se){super.onBeforeAttach(Se),this.parent.fit()}onChildShown(Se){this.parent.fit()}onChildHidden(Se){this.parent.fit()}onResize(Se){this.parent.isVisible&&this._update(Se.width,Se.height)}onUpdateRequest(Se){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(Se){this.parent.isAttached&&this._fit()}_removeWidget(Se){if(!this._root)return;let Mt=this._root.findTabNode(Se);if(!Mt)return;if(hh.removeAria(Se),Mt.tabBar.titles.length>1){if(Mt.tabBar.removeTab(Se.title),this._hiddenMode===rs.HiddenMode.Scale&&Mt.tabBar.titles.length==1){let Ri=Mt.tabBar.titles[0].owner;Ri.hiddenMode=rs.HiddenMode.Display}return}if(Mt.tabBar.dispose(),this._root===Mt){this._root=null;return}this._root.holdAllSizes();let Lt=Mt.parent;Mt.parent=null;let $t=ko.ArrayExt.removeFirstOf(Lt.children,Mt),gr=ko.ArrayExt.removeAt(Lt.handles,$t);if(ko.ArrayExt.removeAt(Lt.sizers,$t),gr.parentNode&&gr.parentNode.removeChild(gr),Lt.children.length>1){Lt.syncHandles();return}let pi=Lt.parent;Lt.parent=null;let ti=Lt.children[0],ci=Lt.handles[0];if(Lt.children.length=0,Lt.handles.length=0,Lt.sizers.length=0,ci.parentNode&&ci.parentNode.removeChild(ci),this._root===Lt){ti.parent=null,this._root=ti;return}let Ii=pi,si=Ii.children.indexOf(Lt);if(ti instanceof hh.TabLayoutNode){ti.parent=Ii,Ii.children[si]=ti;return}let mi=ko.ArrayExt.removeAt(Ii.handles,si);ko.ArrayExt.removeAt(Ii.children,si),ko.ArrayExt.removeAt(Ii.sizers,si),mi.parentNode&&mi.parentNode.removeChild(mi);for(let Ri=0,yi=ti.children.length;Ri=this._left+this._width||bi=this._top+this._height?null:this}createConfig(){let yi=this.tabBar.titles.map(wi=>wi.owner),bi=this.tabBar.currentIndex;return{type:"tab-area",widgets:yi,currentIndex:bi}}holdAllSizes(){}fit(yi,bi){let wi=0,De=0,tn=1/0,Ya=1/0,sa=bi.get(this.tabBar),Ua=this.tabBar.currentTitle,en=Ua?bi.get(Ua.owner):void 0,[Mn,za]=this.sizers;return sa&&sa.fit(),en&&en.fit(),sa&&!sa.isHidden?(wi=Math.max(wi,sa.minWidth),De+=sa.minHeight,Mn.minSize=sa.minHeight,Mn.maxSize=sa.maxHeight):(Mn.minSize=0,Mn.maxSize=0),en&&!en.isHidden?(wi=Math.max(wi,en.minWidth),De+=en.minHeight,za.minSize=en.minHeight,za.maxSize=1/0):(za.minSize=0,za.maxSize=1/0),{minWidth:wi,minHeight:De,maxWidth:tn,maxHeight:Ya}}update(yi,bi,wi,De,tn,Ya){this._top=bi,this._left=yi,this._width=wi,this._height=De;let sa=Ya.get(this.tabBar),Ua=this.tabBar.currentTitle,en=Ua?Ya.get(Ua.owner):void 0;if(Fd.calc(this.sizers,De),sa&&!sa.isHidden){let Mn=this.sizers[0].size;sa.update(yi,bi,wi,Mn),bi+=Mn}if(en&&!en.isHidden){let Mn=this.sizers[1].size;en.update(yi,bi,wi,Mn)}}}jt.TabLayoutNode=$t;class gr{constructor(yi){this.parent=null,this.normalized=!1,this.children=[],this.sizers=[],this.handles=[],this.orientation=yi}*iterAllWidgets(){for(let yi of this.children)yield*yi.iterAllWidgets()}*iterUserWidgets(){for(let yi of this.children)yield*yi.iterUserWidgets()}*iterSelectedWidgets(){for(let yi of this.children)yield*yi.iterSelectedWidgets()}*iterTabBars(){for(let yi of this.children)yield*yi.iterTabBars()}*iterHandles(){yield*this.handles;for(let yi of this.children)yield*yi.iterHandles()}findTabNode(yi){for(let bi=0,wi=this.children.length;biDe.createConfig());return{type:"split-area",orientation:yi,children:wi,sizes:bi}}syncHandles(){this.handles.forEach((yi,bi)=>{yi.setAttribute("data-orientation",this.orientation),bi===this.handles.length-1?yi.classList.add("lm-mod-hidden"):yi.classList.remove("lm-mod-hidden")})}holdSizes(){for(let yi of this.sizers)yi.sizeHint=yi.size}holdAllSizes(){for(let yi of this.children)yi.holdAllSizes();this.holdSizes()}normalizeSizes(){let yi=this.sizers.length;if(yi===0)return;this.holdSizes();let bi=this.sizers.reduce((wi,De)=>wi+De.sizeHint,0);if(bi===0)for(let wi of this.sizers)wi.size=wi.sizeHint=1/yi;else for(let wi of this.sizers)wi.size=wi.sizeHint/=bi;this.normalized=!0}createNormalizedSizes(){let yi=this.sizers.length;if(yi===0)return[];let bi=this.sizers.map(De=>De.size),wi=bi.reduce((De,tn)=>De+tn,0);if(wi===0)for(let De=bi.length-1;De>-1;De--)bi[De]=1/yi;else for(let De=bi.length-1;De>-1;De--)bi[De]/=wi;return bi}fit(yi,bi){let wi=this.orientation==="horizontal",De=Math.max(0,this.children.length-1)*yi,tn=wi?De:0,Ya=wi?0:De,sa=1/0,Ua=1/0;for(let en=0,Mn=this.children.length;en=bi.length)&&(wi=0),{type:"tab-area",widgets:bi,currentIndex:wi}}function Ii(Ri,yi){let bi=Ri.orientation,wi=[],De=[];for(let tn=0,Ya=Ri.children.length;tn{let Ya=Lt(De,yi,bi),sa=Se(Ri.sizes[tn]),Ua=yi.createHandle();wi.children.push(Ya),wi.handles.push(Ua),wi.sizers.push(sa),Ya.parent=wi}),wi.syncHandles(),wi.normalizeSizes(),wi}})(hh||(hh={}));var h_=class jt extends rs{constructor(Se={}){super(),this._drag=null,this._tabsMovable=!0,this._tabsConstrained=!1,this._addButtonEnabled=!1,this._pressData=null,this._layoutModified=new Vc(this),this._addRequested=new Vc(this),this.addClass("lm-DockPanel"),this._document=Se.document||document,this._mode=Se.mode||"multiple-document",this._renderer=Se.renderer||jt.defaultRenderer,this._edges=Se.edges||eh.DEFAULT_EDGES,Se.tabsMovable!==void 0&&(this._tabsMovable=Se.tabsMovable),Se.tabsConstrained!==void 0&&(this._tabsConstrained=Se.tabsConstrained),Se.addButtonEnabled!==void 0&&(this._addButtonEnabled=Se.addButtonEnabled),this.dataset.mode=this._mode;let Mt={createTabBar:()=>this._createTabBar(),createHandle:()=>this._createHandle()};this.layout=new Iw({document:this._document,renderer:Mt,spacing:Se.spacing,hiddenMode:Se.hiddenMode}),this.overlay=Se.overlay||new jt.Overlay,this.node.appendChild(this.overlay.node)}dispose(){this._releaseMouse(),this.overlay.hide(0),this._drag&&this._drag.dispose(),super.dispose()}get hiddenMode(){return this.layout.hiddenMode}set hiddenMode(Se){this.layout.hiddenMode=Se}get layoutModified(){return this._layoutModified}get addRequested(){return this._addRequested}get renderer(){return this.layout.renderer}get spacing(){return this.layout.spacing}set spacing(Se){this.layout.spacing=Se}get mode(){return this._mode}set mode(Se){if(this._mode===Se)return;this._mode=Se,this.dataset.mode=Se;let Mt=this.layout;switch(Se){case"multiple-document":for(let Lt of Mt.tabBars())Lt.show();break;case"single-document":Mt.restoreLayout(eh.createSingleDocumentConfig(this));break;default:throw"unreachable"}qo.postMessage(this,eh.LayoutModified)}get tabsMovable(){return this._tabsMovable}set tabsMovable(Se){this._tabsMovable=Se;for(let Mt of this.tabBars())Mt.tabsMovable=Se}get tabsConstrained(){return this._tabsConstrained}set tabsConstrained(Se){this._tabsConstrained=Se}get addButtonEnabled(){return this._addButtonEnabled}set addButtonEnabled(Se){this._addButtonEnabled=Se;for(let Mt of this.tabBars())Mt.addButtonEnabled=Se}get isEmpty(){return this.layout.isEmpty}*widgets(){yield*this.layout.widgets()}*selectedWidgets(){yield*this.layout.selectedWidgets()}*tabBars(){yield*this.layout.tabBars()}*handles(){yield*this.layout.handles()}selectWidget(Se){let Mt=(0,ko.find)(this.tabBars(),Lt=>Lt.titles.indexOf(Se.title)!==-1);if(!Mt)throw new Error("Widget is not contained in the dock panel.");Mt.currentTitle=Se.title}activateWidget(Se){this.selectWidget(Se),Se.activate()}saveLayout(){return this.layout.saveLayout()}restoreLayout(Se){this._mode="multiple-document",this.layout.restoreLayout(Se),(cd.IS_EDGE||cd.IS_IE)&&qo.flush(),qo.postMessage(this,eh.LayoutModified)}addWidget(Se,Mt={}){this._mode==="single-document"?this.layout.addWidget(Se):this.layout.addWidget(Se,Mt),qo.postMessage(this,eh.LayoutModified)}processMessage(Se){Se.type==="layout-modified"?this._layoutModified.emit(void 0):super.processMessage(Se)}handleEvent(Se){switch(Se.type){case"lm-dragenter":this._evtDragEnter(Se);break;case"lm-dragleave":this._evtDragLeave(Se);break;case"lm-dragover":this._evtDragOver(Se);break;case"lm-drop":this._evtDrop(Se);break;case"pointerdown":this._evtPointerDown(Se);break;case"pointermove":this._evtPointerMove(Se);break;case"pointerup":this._evtPointerUp(Se);break;case"keydown":this._evtKeyDown(Se);break;case"contextmenu":Se.preventDefault(),Se.stopPropagation();break}}onBeforeAttach(Se){this.node.addEventListener("lm-dragenter",this),this.node.addEventListener("lm-dragleave",this),this.node.addEventListener("lm-dragover",this),this.node.addEventListener("lm-drop",this),this.node.addEventListener("pointerdown",this)}onAfterDetach(Se){this.node.removeEventListener("lm-dragenter",this),this.node.removeEventListener("lm-dragleave",this),this.node.removeEventListener("lm-dragover",this),this.node.removeEventListener("lm-drop",this),this.node.removeEventListener("pointerdown",this),this._releaseMouse()}onChildAdded(Se){eh.isGeneratedTabBarProperty.get(Se.child)||Se.child.addClass("lm-DockPanel-widget")}onChildRemoved(Se){eh.isGeneratedTabBarProperty.get(Se.child)||(Se.child.removeClass("lm-DockPanel-widget"),qo.postMessage(this,eh.LayoutModified))}_evtDragEnter(Se){Se.mimeData.hasData("application/vnd.lumino.widget-factory")&&(Se.preventDefault(),Se.stopPropagation())}_evtDragLeave(Se){Se.preventDefault(),!(this._tabsConstrained&&Se.source!==this)&&(Se.stopPropagation(),this.overlay.hide(1))}_evtDragOver(Se){Se.preventDefault(),this._tabsConstrained&&Se.source!==this||this._showOverlay(Se.clientX,Se.clientY)==="invalid"?Se.dropAction="none":(Se.stopPropagation(),Se.dropAction=Se.proposedAction)}_evtDrop(Se){if(Se.preventDefault(),this.overlay.hide(0),Se.proposedAction==="none"){Se.dropAction="none";return}let{clientX:Mt,clientY:Lt}=Se,{zone:$t,target:gr}=eh.findDropTarget(this,Mt,Lt,this._edges);if(this._tabsConstrained&&Se.source!==this||$t==="invalid"){Se.dropAction="none";return}let ti=Se.mimeData.getData("application/vnd.lumino.widget-factory");if(typeof ti!="function"){Se.dropAction="none";return}let ci=ti();if(!(ci instanceof rs)){Se.dropAction="none";return}if(ci.contains(this)){Se.dropAction="none";return}let Ii=gr?eh.getDropRef(gr.tabBar):null;switch($t){case"root-all":this.addWidget(ci);break;case"root-top":this.addWidget(ci,{mode:"split-top"});break;case"root-left":this.addWidget(ci,{mode:"split-left"});break;case"root-right":this.addWidget(ci,{mode:"split-right"});break;case"root-bottom":this.addWidget(ci,{mode:"split-bottom"});break;case"widget-all":this.addWidget(ci,{mode:"tab-after",ref:Ii});break;case"widget-top":this.addWidget(ci,{mode:"split-top",ref:Ii});break;case"widget-left":this.addWidget(ci,{mode:"split-left",ref:Ii});break;case"widget-right":this.addWidget(ci,{mode:"split-right",ref:Ii});break;case"widget-bottom":this.addWidget(ci,{mode:"split-bottom",ref:Ii});break;case"widget-tab":this.addWidget(ci,{mode:"tab-after",ref:Ii});break;default:throw"unreachable"}Se.dropAction=Se.proposedAction,Se.stopPropagation(),this.activateWidget(ci)}_evtKeyDown(Se){Se.preventDefault(),Se.stopPropagation(),Se.keyCode===27&&(this._releaseMouse(),qo.postMessage(this,eh.LayoutModified))}_evtPointerDown(Se){if(Se.button!==0)return;let Mt=this.layout,Lt=Se.target,$t=(0,ko.find)(Mt.handles(),si=>si.contains(Lt));if(!$t)return;Se.preventDefault(),Se.stopPropagation(),this._document.addEventListener("keydown",this,!0),this._document.addEventListener("pointerup",this,!0),this._document.addEventListener("pointermove",this,!0),this._document.addEventListener("contextmenu",this,!0);let gr=$t.getBoundingClientRect(),pi=Se.clientX-gr.left,ti=Se.clientY-gr.top,ci=window.getComputedStyle($t),Ii=bd.overrideCursor(ci.cursor,this._document);this._pressData={handle:$t,deltaX:pi,deltaY:ti,override:Ii}}_evtPointerMove(Se){if(!this._pressData)return;Se.preventDefault(),Se.stopPropagation();let Mt=this.node.getBoundingClientRect(),Lt=Se.clientX-Mt.left-this._pressData.deltaX,$t=Se.clientY-Mt.top-this._pressData.deltaY;this.layout.moveHandle(this._pressData.handle,Lt,$t)}_evtPointerUp(Se){Se.button===0&&(Se.preventDefault(),Se.stopPropagation(),this._releaseMouse(),qo.postMessage(this,eh.LayoutModified))}_releaseMouse(){this._pressData&&(this._pressData.override.dispose(),this._pressData=null,this._document.removeEventListener("keydown",this,!0),this._document.removeEventListener("pointerup",this,!0),this._document.removeEventListener("pointermove",this,!0),this._document.removeEventListener("contextmenu",this,!0))}_showOverlay(Se,Mt){let{zone:Lt,target:$t}=eh.findDropTarget(this,Se,Mt,this._edges);if(Lt==="invalid")return this.overlay.hide(100),Lt;let gr,pi,ti,ci,Ii=Yc.boxSizing(this.node),si=this.node.getBoundingClientRect();switch(Lt){case"root-all":gr=Ii.paddingTop,pi=Ii.paddingLeft,ti=Ii.paddingRight,ci=Ii.paddingBottom;break;case"root-top":gr=Ii.paddingTop,pi=Ii.paddingLeft,ti=Ii.paddingRight,ci=si.height*eh.GOLDEN_RATIO;break;case"root-left":gr=Ii.paddingTop,pi=Ii.paddingLeft,ti=si.width*eh.GOLDEN_RATIO,ci=Ii.paddingBottom;break;case"root-right":gr=Ii.paddingTop,pi=si.width*eh.GOLDEN_RATIO,ti=Ii.paddingRight,ci=Ii.paddingBottom;break;case"root-bottom":gr=si.height*eh.GOLDEN_RATIO,pi=Ii.paddingLeft,ti=Ii.paddingRight,ci=Ii.paddingBottom;break;case"widget-all":gr=$t.top,pi=$t.left,ti=$t.right,ci=$t.bottom;break;case"widget-top":gr=$t.top,pi=$t.left,ti=$t.right,ci=$t.bottom+$t.height/2;break;case"widget-left":gr=$t.top,pi=$t.left,ti=$t.right+$t.width/2,ci=$t.bottom;break;case"widget-right":gr=$t.top,pi=$t.left+$t.width/2,ti=$t.right,ci=$t.bottom;break;case"widget-bottom":gr=$t.top+$t.height/2,pi=$t.left,ti=$t.right,ci=$t.bottom;break;case"widget-tab":{let mi=$t.tabBar.node.getBoundingClientRect().height;gr=$t.top,pi=$t.left,ti=$t.right,ci=$t.bottom+$t.height-mi;break}default:throw"unreachable"}return this.overlay.show({top:gr,left:pi,right:ti,bottom:ci}),Lt}_createTabBar(){let Se=this._renderer.createTabBar(this._document);return eh.isGeneratedTabBarProperty.set(Se,!0),this._mode==="single-document"&&Se.hide(),Se.tabsMovable=this._tabsMovable,Se.allowDeselect=!1,Se.addButtonEnabled=this._addButtonEnabled,Se.removeBehavior="select-previous-tab",Se.insertBehavior="select-tab-if-needed",Se.tabMoved.connect(this._onTabMoved,this),Se.currentChanged.connect(this._onCurrentChanged,this),Se.tabCloseRequested.connect(this._onTabCloseRequested,this),Se.tabDetachRequested.connect(this._onTabDetachRequested,this),Se.tabActivateRequested.connect(this._onTabActivateRequested,this),Se.addRequested.connect(this._onTabAddRequested,this),Se}_createHandle(){return this._renderer.createHandle()}_onTabMoved(){qo.postMessage(this,eh.LayoutModified)}_onCurrentChanged(Se,Mt){let{previousTitle:Lt,currentTitle:$t}=Mt;Lt&&Lt.owner.hide(),$t&&$t.owner.show(),(cd.IS_EDGE||cd.IS_IE)&&qo.flush(),qo.postMessage(this,eh.LayoutModified)}_onTabAddRequested(Se){this._addRequested.emit(Se)}_onTabActivateRequested(Se,Mt){Mt.title.owner.activate()}_onTabCloseRequested(Se,Mt){Mt.title.owner.close()}_onTabDetachRequested(Se,Mt){if(this._drag)return;Se.releaseMouse();let{title:Lt,tab:$t,clientX:gr,clientY:pi,offset:ti}=Mt,ci=new op.MimeData,Ii=()=>Lt.owner;ci.setData("application/vnd.lumino.widget-factory",Ii);let si=$t.cloneNode(!0);ti&&(si.style.top=`-${ti.y}px`,si.style.left=`-${ti.x}px`),this._drag=new bd({document:this._document,mimeData:ci,dragImage:si,proposedAction:"move",supportedActions:"move",source:this}),$t.classList.add("lm-mod-hidden");let mi=()=>{this._drag=null,$t.classList.remove("lm-mod-hidden")};this._drag.start(gr,pi).then(mi)}};(function(jt){class Se{constructor(){this._timer=-1,this._hidden=!0,this.node=document.createElement("div"),this.node.classList.add("lm-DockPanel-overlay"),this.node.classList.add("lm-mod-hidden"),this.node.style.position="absolute",this.node.style.contain="strict"}show($t){let gr=this.node.style;gr.top=`${$t.top}px`,gr.left=`${$t.left}px`,gr.right=`${$t.right}px`,gr.bottom=`${$t.bottom}px`,clearTimeout(this._timer),this._timer=-1,this._hidden&&(this._hidden=!1,this.node.classList.remove("lm-mod-hidden"))}hide($t){if(!this._hidden){if($t<=0){clearTimeout(this._timer),this._timer=-1,this._hidden=!0,this.node.classList.add("lm-mod-hidden");return}this._timer===-1&&(this._timer=window.setTimeout(()=>{this._timer=-1,this._hidden=!0,this.node.classList.add("lm-mod-hidden")},$t))}}}jt.Overlay=Se;class Mt{createTabBar($t){let gr=new Gm({document:$t});return gr.addClass("lm-DockPanel-tabBar"),gr}createHandle(){let $t=document.createElement("div");return $t.className="lm-DockPanel-handle",$t}}jt.Renderer=Mt,jt.defaultRenderer=new Mt})(h_||(h_={}));var eh;(function(jt){jt.GOLDEN_RATIO=.618,jt.DEFAULT_EDGES={top:12,right:40,bottom:40,left:40},jt.LayoutModified=new Bp("layout-modified"),jt.isGeneratedTabBarProperty=new xd({name:"isGeneratedTabBar",create:()=>!1});function Se($t){if($t.isEmpty)return{main:null};let gr=Array.from($t.widgets()),pi=$t.selectedWidgets().next().value,ti=pi?gr.indexOf(pi):-1;return{main:{type:"tab-area",widgets:gr,currentIndex:ti}}}jt.createSingleDocumentConfig=Se;function Mt($t,gr,pi,ti){if(!Yc.hitTest($t.node,gr,pi))return{zone:"invalid",target:null};let ci=$t.layout;if(ci.isEmpty)return{zone:"root-all",target:null};if($t.mode==="multiple-document"){let sa=$t.node.getBoundingClientRect(),Ua=gr-sa.left+1,en=pi-sa.top+1,Mn=sa.right-gr,za=sa.bottom-pi;switch(Math.min(en,Mn,za,Ua)){case en:if(enwi&&Ri>wi&&mi>De&&yi>De)return{zone:"widget-all",target:Ii};si/=wi,mi/=De,Ri/=wi,yi/=De;let tn=Math.min(si,mi,Ri,yi),Ya;switch(tn){case si:Ya="widget-left";break;case mi:Ya="widget-top";break;case Ri:Ya="widget-right";break;case yi:Ya="widget-bottom";break;default:throw"unreachable"}return{zone:Ya,target:Ii}}jt.findDropTarget=Mt;function Lt($t){return $t.titles.length===0?null:$t.currentTitle?$t.currentTitle.owner:$t.titles[$t.titles.length-1].owner}jt.getDropRef=Lt})(eh||(eh={}));var ay=class jt extends sp{constructor(Se={}){super(Se),this._dirty=!1,this._rowSpacing=4,this._columnSpacing=4,this._items=[],this._rowStarts=[],this._columnStarts=[],this._rowSizers=[new Pv],this._columnSizers=[new Pv],this._box=null,Se.rowCount!==void 0&&kh.reallocSizers(this._rowSizers,Se.rowCount),Se.columnCount!==void 0&&kh.reallocSizers(this._columnSizers,Se.columnCount),Se.rowSpacing!==void 0&&(this._rowSpacing=kh.clampValue(Se.rowSpacing)),Se.columnSpacing!==void 0&&(this._columnSpacing=kh.clampValue(Se.columnSpacing))}dispose(){for(let Se of this._items){let Mt=Se.widget;Se.dispose(),Mt.dispose()}this._box=null,this._items.length=0,this._rowStarts.length=0,this._rowSizers.length=0,this._columnStarts.length=0,this._columnSizers.length=0,super.dispose()}get rowCount(){return this._rowSizers.length}set rowCount(Se){Se!==this.rowCount&&(kh.reallocSizers(this._rowSizers,Se),this.parent&&this.parent.fit())}get columnCount(){return this._columnSizers.length}set columnCount(Se){Se!==this.columnCount&&(kh.reallocSizers(this._columnSizers,Se),this.parent&&this.parent.fit())}get rowSpacing(){return this._rowSpacing}set rowSpacing(Se){Se=kh.clampValue(Se),this._rowSpacing!==Se&&(this._rowSpacing=Se,this.parent&&this.parent.fit())}get columnSpacing(){return this._columnSpacing}set columnSpacing(Se){Se=kh.clampValue(Se),this._columnSpacing!==Se&&(this._columnSpacing=Se,this.parent&&this.parent.fit())}rowStretch(Se){let Mt=this._rowSizers[Se];return Mt?Mt.stretch:-1}setRowStretch(Se,Mt){let Lt=this._rowSizers[Se];Lt&&(Mt=kh.clampValue(Mt),Lt.stretch!==Mt&&(Lt.stretch=Mt,this.parent&&this.parent.update()))}columnStretch(Se){let Mt=this._columnSizers[Se];return Mt?Mt.stretch:-1}setColumnStretch(Se,Mt){let Lt=this._columnSizers[Se];Lt&&(Mt=kh.clampValue(Mt),Lt.stretch!==Mt&&(Lt.stretch=Mt,this.parent&&this.parent.update()))}*[Symbol.iterator](){for(let Se of this._items)yield Se.widget}addWidget(Se){ko.ArrayExt.findFirstIndex(this._items,Lt=>Lt.widget===Se)===-1&&(this._items.push(new B0(Se)),this.parent&&this.attachWidget(Se))}removeWidget(Se){let Mt=ko.ArrayExt.findFirstIndex(this._items,$t=>$t.widget===Se);if(Mt===-1)return;let Lt=ko.ArrayExt.removeAt(this._items,Mt);this.parent&&this.detachWidget(Se),Lt.dispose()}init(){super.init();for(let Se of this)this.attachWidget(Se)}attachWidget(Se){this.parent.isAttached&&qo.sendMessage(Se,rs.Msg.BeforeAttach),this.parent.node.appendChild(Se.node),this.parent.isAttached&&qo.sendMessage(Se,rs.Msg.AfterAttach),this.parent.fit()}detachWidget(Se){this.parent.isAttached&&qo.sendMessage(Se,rs.Msg.BeforeDetach),this.parent.node.removeChild(Se.node),this.parent.isAttached&&qo.sendMessage(Se,rs.Msg.AfterDetach),this.parent.fit()}onBeforeShow(Se){super.onBeforeShow(Se),this.parent.update()}onBeforeAttach(Se){super.onBeforeAttach(Se),this.parent.fit()}onChildShown(Se){this.parent.fit()}onChildHidden(Se){this.parent.fit()}onResize(Se){this.parent.isVisible&&this._update(Se.width,Se.height)}onUpdateRequest(Se){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(Se){this.parent.isAttached&&this._fit()}_fit(){for(let ci=0,Ii=this.rowCount;ci!ci.isHidden);for(let ci=0,Ii=Se.length;ci({row:0,column:0,rowSpan:1,columnSpan:1}),changed:ti});function Se(ci){let Ii=Math.max(0,Math.floor(ci.row||0)),si=Math.max(0,Math.floor(ci.column||0)),mi=Math.max(1,Math.floor(ci.rowSpan||0)),Ri=Math.max(1,Math.floor(ci.columnSpan||0));return{row:Ii,column:si,rowSpan:mi,columnSpan:Ri}}jt.normalizeConfig=Se;function Mt(ci){return Math.max(0,Math.floor(ci))}jt.clampValue=Mt;function Lt(ci,Ii){let si=jt.cellConfigProperty.get(ci.widget),mi=jt.cellConfigProperty.get(Ii.widget);return si.rowSpan-mi.rowSpan}jt.rowSpanCmp=Lt;function $t(ci,Ii){let si=jt.cellConfigProperty.get(ci.widget),mi=jt.cellConfigProperty.get(Ii.widget);return si.columnSpan-mi.columnSpan}jt.columnSpanCmp=$t;function gr(ci,Ii){for(Ii=Math.max(1,Math.floor(Ii));ci.lengthIi&&(ci.length=Ii)}jt.reallocSizers=gr;function pi(ci,Ii,si,mi){if(si=mi)return;let yi=(mi-Ri)/(si-Ii+1);for(let bi=Ii;bi<=si;++bi)ci[bi].minSize+=yi}jt.distributeMin=pi;function ti(ci){ci.parent&&ci.parent.layout instanceof ay&&ci.parent.fit()}})(kh||(kh={}));var d_=class jt extends rs{constructor(Se={}){super({node:v_.createNode()}),this._activeIndex=-1,this._tabFocusIndex=0,this._menus=[],this._childMenu=null,this._overflowMenu=null,this._menuItemSizes=[],this._overflowIndex=-1,this.addClass("lm-MenuBar"),this.setFlag(rs.Flag.DisallowLayout),this.renderer=Se.renderer||jt.defaultRenderer,this._forceItemsPosition=Se.forceItemsPosition||{forceX:!0,forceY:!0},this._overflowMenuOptions=Se.overflowMenuOptions||{isVisible:!0}}dispose(){this._closeChildMenu(),this._menus.length=0,super.dispose()}get childMenu(){return this._childMenu}get overflowIndex(){return this._overflowIndex}get overflowMenu(){return this._overflowMenu}get contentNode(){return this.node.getElementsByClassName("lm-MenuBar-content")[0]}get activeMenu(){return this._menus[this._activeIndex]||null}set activeMenu(Se){this.activeIndex=Se?this._menus.indexOf(Se):-1}get activeIndex(){return this._activeIndex}set activeIndex(Se){(Se<0||Se>=this._menus.length)&&(Se=-1),Se>-1&&this._menus[Se].items.length===0&&(Se=-1),this._activeIndex!==Se&&(this._activeIndex=Se,this.update())}get menus(){return this._menus}openActiveMenu(){this._activeIndex!==-1&&(this._openChildMenu(),this._childMenu&&(this._childMenu.activeIndex=-1,this._childMenu.activateNextItem()))}addMenu(Se,Mt=!0){this.insertMenu(this._menus.length,Se,Mt)}insertMenu(Se,Mt,Lt=!0){this._closeChildMenu();let $t=this._menus.indexOf(Mt),gr=Math.max(0,Math.min(Se,this._menus.length));if($t===-1){ko.ArrayExt.insert(this._menus,gr,Mt),Mt.addClass("lm-MenuBar-menu"),Mt.aboutToClose.connect(this._onMenuAboutToClose,this),Mt.menuRequested.connect(this._onMenuMenuRequested,this),Mt.title.changed.connect(this._onTitleChanged,this),Lt&&this.update();return}gr===this._menus.length&&gr--,$t!==gr&&(ko.ArrayExt.move(this._menus,$t,gr),Lt&&this.update())}removeMenu(Se,Mt=!0){this.removeMenuAt(this._menus.indexOf(Se),Mt)}removeMenuAt(Se,Mt=!0){this._closeChildMenu();let Lt=ko.ArrayExt.removeAt(this._menus,Se);Lt&&(Lt.aboutToClose.disconnect(this._onMenuAboutToClose,this),Lt.menuRequested.disconnect(this._onMenuMenuRequested,this),Lt.title.changed.disconnect(this._onTitleChanged,this),Lt.removeClass("lm-MenuBar-menu"),Mt&&this.update())}clearMenus(){if(this._menus.length!==0){this._closeChildMenu();for(let Se of this._menus)Se.aboutToClose.disconnect(this._onMenuAboutToClose,this),Se.menuRequested.disconnect(this._onMenuMenuRequested,this),Se.title.changed.disconnect(this._onTitleChanged,this),Se.removeClass("lm-MenuBar-menu");this._menus.length=0,this.update()}}handleEvent(Se){switch(Se.type){case"keydown":this._evtKeyDown(Se);break;case"mousedown":this._evtMouseDown(Se);break;case"mousemove":this._evtMouseMove(Se);break;case"focusout":this._evtFocusOut(Se);break;case"contextmenu":Se.preventDefault(),Se.stopPropagation();break}}onBeforeAttach(Se){this.node.addEventListener("keydown",this),this.node.addEventListener("mousedown",this),this.node.addEventListener("mousemove",this),this.node.addEventListener("focusout",this),this.node.addEventListener("contextmenu",this)}onAfterDetach(Se){this.node.removeEventListener("keydown",this),this.node.removeEventListener("mousedown",this),this.node.removeEventListener("mousemove",this),this.node.removeEventListener("focusout",this),this.node.removeEventListener("contextmenu",this),this._closeChildMenu()}onActivateRequest(Se){this.isAttached&&this._focusItemAt(0)}onResize(Se){this.update(),super.onResize(Se)}onUpdateRequest(Se){var Mt;let Lt=this._menus,$t=this.renderer,gr=this._activeIndex,pi=this._tabFocusIndex>=0&&this._tabFocusIndex-1?this._overflowIndex:Lt.length,ci=0,Ii=!1;ti=this._overflowMenu!==null?ti-1:ti;let si=new Array(ti);for(let mi=0;mi{this._tabFocusIndex=mi,this.activeIndex=mi}}),ci+=this._menuItemSizes[mi],Lt[mi].title.label===this._overflowMenuOptions.title&&(Ii=!0,ti--);if(this._overflowMenuOptions.isVisible){if(this._overflowIndex>-1&&!Ii){if(this._overflowMenu===null){let mi=(Mt=this._overflowMenuOptions.title)!==null&&Mt!==void 0?Mt:"...";this._overflowMenu=new F0({commands:new rp}),this._overflowMenu.title.label=mi,this._overflowMenu.title.mnemonic=0,this.addMenu(this._overflowMenu,!1)}for(let mi=Lt.length-2;mi>=ti;mi--){let Ri=this.menus[mi];Ri.title.mnemonic=0,this._overflowMenu.insertItem(0,{type:"submenu",submenu:Ri}),this.removeMenu(Ri,!1)}si[ti]=$t.renderItem({title:this._overflowMenu.title,active:ti===gr&&Lt[ti].items.length!==0,tabbable:ti===pi,disabled:Lt[ti].items.length===0,onfocus:()=>{this._tabFocusIndex=ti,this.activeIndex=ti}}),ti++}else if(this._overflowMenu!==null){let mi=this._overflowMenu.items,Ri=this.node.offsetWidth,yi=this._overflowMenu.items.length;for(let bi=0;bithis._menuItemSizes[wi]){let De=mi[0].submenu;this._overflowMenu.removeItemAt(0),this.insertMenu(ti,De,!1),si[ti]=$t.renderItem({title:De.title,active:!1,tabbable:ti===pi,disabled:Lt[ti].items.length===0,onfocus:()=>{this._tabFocusIndex=ti,this.activeIndex=ti}}),ti++}}this._overflowMenu.items.length===0&&(this.removeMenu(this._overflowMenu,!1),si.pop(),this._overflowMenu=null,this._overflowIndex=-1)}}ip.render(si,this.contentNode),this._updateOverflowIndex()}_updateOverflowIndex(){if(!this._overflowMenuOptions.isVisible)return;let Se=this.contentNode.childNodes,Mt=this.node.offsetWidth,Lt=0,$t=-1,gr=Se.length;if(this._menuItemSizes.length==0)for(let pi=0;piMt&&$t===-1&&($t=pi)}else for(let pi=0;piMt){$t=pi;break}this._overflowIndex=$t}_evtKeyDown(Se){let Mt=Se.keyCode;if(Mt===9){this.activeIndex=-1;return}if(Se.preventDefault(),Se.stopPropagation(),Mt===13||Mt===32||Mt===38||Mt===40){if(this.activeIndex=this._tabFocusIndex,this.activeIndex!==this._tabFocusIndex)return;this.openActiveMenu();return}if(Mt===27){this._closeChildMenu(),this._focusItemAt(this.activeIndex);return}if(Mt===37||Mt===39){let pi=Mt===37?-1:1,ti=this._tabFocusIndex+pi,ci=this._menus.length;for(let Ii=0;IiYc.hitTest(Lt,Se.clientX,Se.clientY));if(Mt===-1){this._closeChildMenu();return}if(Se.button===0)if(this._childMenu)this._closeChildMenu(),this.activeIndex=Mt;else{Se.preventDefault();let Lt=this._positionForMenu(Mt);F0.saveWindowData(),this.activeIndex=Mt,this._openChildMenu(Lt)}}_evtMouseMove(Se){let Mt=ko.ArrayExt.findFirstIndex(this.contentNode.children,$t=>Yc.hitTest($t,Se.clientX,Se.clientY));if(Mt===this._activeIndex||Mt===-1&&this._childMenu)return;let Lt=Mt>=0&&this._childMenu?this._positionForMenu(Mt):null;F0.saveWindowData(),this.activeIndex=Mt,Lt&&this._openChildMenu(Lt)}_positionForMenu(Se){let Mt=this.contentNode.children[Se],{left:Lt,bottom:$t}=Mt.getBoundingClientRect();return{top:$t,left:Lt}}_evtFocusOut(Se){!this._childMenu&&!this.node.contains(Se.relatedTarget)&&(this.activeIndex=-1)}_focusItemAt(Se){let Mt=this.contentNode.childNodes[Se];Mt&&Mt.focus()}_openChildMenu(Se={}){let Mt=this.activeMenu;if(!Mt){this._closeChildMenu();return}let Lt=this._childMenu;if(Lt===Mt)return;this._childMenu=Mt,Lt?Lt.close():document.addEventListener("mousedown",this,!0),this._tabFocusIndex=this.activeIndex,qo.sendMessage(this,rs.Msg.UpdateRequest);let{left:$t,top:gr}=Se;(typeof $t>"u"||typeof gr>"u")&&({left:$t,top:gr}=this._positionForMenu(this._activeIndex)),Lt||this.addClass("lm-mod-active"),Mt.items.length>0&&Mt.open($t,gr,this._forceItemsPosition)}_closeChildMenu(){if(!this._childMenu)return;this.removeClass("lm-mod-active"),document.removeEventListener("mousedown",this,!0);let Se=this._childMenu;this._childMenu=null,Se.close(),this.activeIndex=-1}_onMenuAboutToClose(Se){Se===this._childMenu&&(this.removeClass("lm-mod-active"),document.removeEventListener("mousedown",this,!0),this._childMenu=null,this.activeIndex=-1)}_onMenuMenuRequested(Se,Mt){if(Se!==this._childMenu)return;let Lt=this._activeIndex,$t=this._menus.length;switch(Mt){case"next":this.activeIndex=Lt===$t-1?0:Lt+1;break;case"previous":this.activeIndex=Lt===0?$t-1:Lt-1;break}this.openActiveMenu()}_onTitleChanged(){this.update()}};(function(jt){class Se{renderItem(Lt){let $t=this.createItemClass(Lt),gr=this.createItemDataset(Lt),pi=this.createItemARIA(Lt);return qc.li({className:$t,dataset:gr,...Lt.disabled?{}:{tabindex:Lt.tabbable?"0":"-1"},onfocus:Lt.onfocus,...pi},this.renderIcon(Lt),this.renderLabel(Lt))}renderIcon(Lt){let $t=this.createIconClass(Lt);return qc.div({className:$t},Lt.title.icon,Lt.title.iconLabel)}renderLabel(Lt){let $t=this.formatLabel(Lt);return qc.div({className:"lm-MenuBar-itemLabel"},$t)}createItemClass(Lt){let $t="lm-MenuBar-item";return Lt.title.className&&($t+=` ${Lt.title.className}`),Lt.active&&!Lt.disabled&&($t+=" lm-mod-active"),$t}createItemDataset(Lt){return Lt.title.dataset}createItemARIA(Lt){return{role:"menuitem","aria-haspopup":"true","aria-disabled":Lt.disabled?"true":"false"}}createIconClass(Lt){let $t="lm-MenuBar-itemIcon",gr=Lt.title.iconClass;return gr?`${$t} ${gr}`:$t}formatLabel(Lt){let{label:$t,mnemonic:gr}=Lt.title;if(gr<0||gr>=$t.length)return $t;let pi=$t.slice(0,gr),ti=$t.slice(gr+1),ci=$t[gr],Ii=qc.span({className:"lm-MenuBar-itemMnemonic"},ci);return[pi,Ii,ti]}}jt.Renderer=Se,jt.defaultRenderer=new Se})(d_||(d_={}));var v_;(function(jt){function Se(){let Lt=document.createElement("div"),$t=document.createElement("ul");return $t.className="lm-MenuBar-content",Lt.appendChild($t),$t.setAttribute("role","menubar"),Lt}jt.createNode=Se;function Mt(Lt,$t,gr){let pi=-1,ti=-1,ci=!1,Ii=$t.toUpperCase();for(let si=0,mi=Lt.length;si=0&&bi1&&this.widgets.forEach(Mt=>{Mt.hiddenMode=this._hiddenMode}))}dispose(){for(let Se of this._items)Se.dispose();this._box=null,this._items.length=0,super.dispose()}attachWidget(Se,Mt){this._hiddenMode===rs.HiddenMode.Scale&&this._items.length>0?(this._items.length===1&&(this.widgets[0].hiddenMode=rs.HiddenMode.Scale),Mt.hiddenMode=rs.HiddenMode.Scale):Mt.hiddenMode=rs.HiddenMode.Display,ko.ArrayExt.insert(this._items,Se,new B0(Mt)),this.parent.isAttached&&qo.sendMessage(Mt,rs.Msg.BeforeAttach),this.parent.node.appendChild(Mt.node),this.parent.isAttached&&qo.sendMessage(Mt,rs.Msg.AfterAttach),this.parent.fit()}moveWidget(Se,Mt,Lt){ko.ArrayExt.move(this._items,Se,Mt),this.parent.update()}detachWidget(Se,Mt){let Lt=ko.ArrayExt.removeAt(this._items,Se);this.parent.isAttached&&qo.sendMessage(Mt,rs.Msg.BeforeDetach),this.parent.node.removeChild(Mt.node),this.parent.isAttached&&qo.sendMessage(Mt,rs.Msg.AfterDetach),Lt.widget.node.style.zIndex="",this._hiddenMode===rs.HiddenMode.Scale&&(Mt.hiddenMode=rs.HiddenMode.Display,this._items.length===1&&(this._items[0].widget.hiddenMode=rs.HiddenMode.Display)),Lt.dispose(),this.parent.fit()}onBeforeShow(Se){super.onBeforeShow(Se),this.parent.update()}onBeforeAttach(Se){super.onBeforeAttach(Se),this.parent.fit()}onChildShown(Se){this.parent.fit()}onChildHidden(Se){this.parent.fit()}onResize(Se){this.parent.isVisible&&this._update(Se.width,Se.height)}onUpdateRequest(Se){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(Se){this.parent.isAttached&&this._fit()}_fit(){let Se=0,Mt=0;for(let gr=0,pi=this._items.length;gr{this.createGraph(this._model)})}renderModel(Se){if(this.hasGraphElement())return Promise.resolve();this._model=Se;let Mt=Se.data["image/png"];return Mt!=null?(this.updateImage(Mt),Promise.resolve()):this.createGraph(Se)}hasGraphElement(){return this.node.querySelector(".plot-container")!==null}updateImage(Se){this.hideGraph(),this._img_el.src="data:image/png;base64,"+Se,this.showImage()}hideGraph(){let Se=this.node.querySelector(".plot-container");Se!=null&&(Se.style.display="none")}showGraph(){let Se=this.node.querySelector(".plot-container");Se!=null&&(Se.style.display="block")}hideImage(){let Se=this.node.querySelector(".plot-img");Se!=null&&(Se.style.display="none")}showImage(){let Se=this.node.querySelector(".plot-img");Se!=null&&(Se.style.display="block")}createGraph(Se){let{data:Mt,layout:Lt,frames:$t,config:gr}=Se.data[this._mimeType];return Lt.height||(Lt.height=360),(async()=>(jt.Plotly===null&&(jt.Plotly=await Promise.resolve().then(()=>Qv(OS())),jt._resolveLoadingPlotly()),jt.loadingPlotly))().then(()=>jt.Plotly.react(this.node,Mt,Lt,gr)).then(ti=>{this.showGraph(),this.hideImage(),this.update(),$t&&jt.Plotly.addFrames(this.node,$t),this.node.offsetWidth>0&&this.node.offsetHeight>0&&jt.Plotly.toImage(ti,{format:"png",width:this.node.offsetWidth,height:this.node.offsetHeight}).then(ci=>{let Ii=ci.split(",")[1];Se.data["image/png"]!==Ii&&Se.setData({data:{...Se.data,"image/png":Ii}})}),this.node.on("plotly_webglcontextlost",()=>{let ci=Se.data["image/png"];if(ci!=null)return this.updateImage(ci),Promise.resolve()})})}onAfterShow(Se){this.update()}onResize(Se){this.update()}onUpdateRequest(Se){jt.Plotly&&this.isVisible&&this.hasGraphElement()&&jt.Plotly.redraw(this.node).then(()=>{jt.Plotly.Plots.resize(this.node)})}static{this.Plotly=null}static{this.loadingPlotly=new Promise(Se=>{jt._resolveLoadingPlotly=Se})}},O7={safe:!0,mimeTypes:[NS],createRenderer:jt=>new Rw(jt)},N7=[{id:"@jupyterlab/plotly-extension:factory",rendererFactory:O7,rank:2,dataType:"json",fileTypes:[{name:"plotly",mimeTypes:[NS],extensions:[".plotly",".plotly.json"],iconClass:B7}],documentWidgetFactoryOptions:{name:"Plotly",primaryFileType:"plotly",fileTypes:["plotly","json"],defaultFor:["plotly"]}}],N9=N7;export{NS as MIME_TYPE,Rw as RenderedPlotly,N9 as default,O7 as rendererFactory}; +`}),staticAttributes:fe,staticUniforms:Ye}}class xt{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(L,J,fe,de,Ae,Ye,et,dt,St){this.context=L;let Ht=this.boundPaintVertexBuffers.length!==de.length;for(let Wt=0;!Ht&&Wt({u_matrix:Me,u_texture:0,u_ele_delta:L,u_fog_matrix:J,u_fog_color:fe?fe.properties.get("fog-color"):e.aM.white,u_fog_ground_blend:fe?fe.properties.get("fog-ground-blend"):1,u_fog_ground_blend_opacity:fe?fe.calculateFogBlendOpacity(de):0,u_horizon_color:fe?fe.properties.get("horizon-color"):e.aM.white,u_horizon_fog_blend:fe?fe.properties.get("horizon-fog-blend"):1});function er(Me){let L=[];for(let J=0;J({u_depth:new e.aH(Ot,$t.u_depth),u_terrain:new e.aH(Ot,$t.u_terrain),u_terrain_dim:new e.aI(Ot,$t.u_terrain_dim),u_terrain_matrix:new e.aJ(Ot,$t.u_terrain_matrix),u_terrain_unpack:new e.aK(Ot,$t.u_terrain_unpack),u_terrain_exaggeration:new e.aI(Ot,$t.u_terrain_exaggeration)}))(L,Dt),this.binderUniforms=fe?fe.getUniforms(L,Dt):[]}draw(L,J,fe,de,Ae,Ye,et,dt,St,Ht,Wt,fr,Ar,Le,ze,je,Xe,st){let Qe=L.gl;if(this.failedToCreate)return;if(L.program.set(this.program),L.setDepthMode(fe),L.setStencilMode(de),L.setColorMode(Ae),L.setCullFace(Ye),dt){L.activeTexture.set(Qe.TEXTURE2),Qe.bindTexture(Qe.TEXTURE_2D,dt.depthTexture),L.activeTexture.set(Qe.TEXTURE3),Qe.bindTexture(Qe.TEXTURE_2D,dt.texture);for(let Dt in this.terrainUniforms)this.terrainUniforms[Dt].set(dt[Dt])}for(let Dt in this.fixedUniforms)this.fixedUniforms[Dt].set(et[Dt]);ze&&ze.setUniforms(L,this.binderUniforms,Ar,{zoom:Le});let ht=0;switch(J){case Qe.LINES:ht=2;break;case Qe.TRIANGLES:ht=3;break;case Qe.LINE_STRIP:ht=1}for(let Dt of fr.get()){let Ot=Dt.vaos||(Dt.vaos={});(Ot[St]||(Ot[St]=new xt)).bind(L,this,Ht,ze?ze.getPaintVertexBuffers():[],Wt,Dt.vertexOffset,je,Xe,st),Qe.drawElements(J,Dt.primitiveLength*ht,Qe.UNSIGNED_SHORT,Dt.primitiveOffset*ht*2)}}}function jr(Me,L,J){let fe=1/ca(J,1,L.transform.tileZoom),de=Math.pow(2,J.tileID.overscaledZ),Ae=J.tileSize*Math.pow(2,L.transform.tileZoom)/de,Ye=Ae*(J.tileID.canonical.x+J.tileID.wrap*de),et=Ae*J.tileID.canonical.y;return{u_image:0,u_texsize:J.imageAtlasTexture.size,u_scale:[fe,Me.fromScale,Me.toScale],u_fade:Me.t,u_pixel_coord_upper:[Ye>>16,et>>16],u_pixel_coord_lower:[65535&Ye,65535&et]}}let Fr=(Me,L,J,fe)=>{let de=L.style.light,Ae=de.properties.get("position"),Ye=[Ae.x,Ae.y,Ae.z],et=function(){var St=new e.A(9);return e.A!=Float32Array&&(St[1]=0,St[2]=0,St[3]=0,St[5]=0,St[6]=0,St[7]=0),St[0]=1,St[4]=1,St[8]=1,St}();de.properties.get("anchor")==="viewport"&&function(St,Ht){var Wt=Math.sin(Ht),fr=Math.cos(Ht);St[0]=fr,St[1]=Wt,St[2]=0,St[3]=-Wt,St[4]=fr,St[5]=0,St[6]=0,St[7]=0,St[8]=1}(et,-L.transform.angle),function(St,Ht,Wt){var fr=Ht[0],Ar=Ht[1],Le=Ht[2];St[0]=fr*Wt[0]+Ar*Wt[3]+Le*Wt[6],St[1]=fr*Wt[1]+Ar*Wt[4]+Le*Wt[7],St[2]=fr*Wt[2]+Ar*Wt[5]+Le*Wt[8]}(Ye,Ye,et);let dt=de.properties.get("color");return{u_matrix:Me,u_lightpos:Ye,u_lightintensity:de.properties.get("intensity"),u_lightcolor:[dt.r,dt.g,dt.b],u_vertical_gradient:+J,u_opacity:fe}},kr=(Me,L,J,fe,de,Ae,Ye)=>e.e(Fr(Me,L,J,fe),jr(Ae,L,Ye),{u_height_factor:-Math.pow(2,de.overscaledZ)/Ye.tileSize/8}),ra=Me=>({u_matrix:Me}),ja=(Me,L,J,fe)=>e.e(ra(Me),jr(J,L,fe)),La=(Me,L)=>({u_matrix:Me,u_world:L}),Dn=(Me,L,J,fe,de)=>e.e(ja(Me,L,J,fe),{u_world:de}),Mn=(Me,L,J,fe)=>{let de=Me.transform,Ae,Ye;if(fe.paint.get("circle-pitch-alignment")==="map"){let et=ca(J,1,de.zoom);Ae=!0,Ye=[et,et]}else Ae=!1,Ye=de.pixelsToGLUnits;return{u_camera_to_center_distance:de.cameraToCenterDistance,u_scale_with_map:+(fe.paint.get("circle-pitch-scale")==="map"),u_matrix:Me.translatePosMatrix(L.posMatrix,J,fe.paint.get("circle-translate"),fe.paint.get("circle-translate-anchor")),u_pitch_with_map:+Ae,u_device_pixel_ratio:Me.pixelRatio,u_extrude_scale:Ye}},_i=(Me,L,J)=>({u_matrix:Me,u_inv_matrix:L,u_camera_to_center_distance:J.cameraToCenterDistance,u_viewport_size:[J.width,J.height]}),ti=(Me,L,J=1)=>({u_matrix:Me,u_color:L,u_overlay:0,u_overlay_scale:J}),Si=Me=>({u_matrix:Me}),ai=(Me,L,J,fe)=>({u_matrix:Me,u_extrude_scale:ca(L,1,J),u_intensity:fe}),Ao=(Me,L,J,fe)=>{let de=e.H();e.aP(de,0,Me.width,Me.height,0,0,1);let Ae=Me.context.gl;return{u_matrix:de,u_world:[Ae.drawingBufferWidth,Ae.drawingBufferHeight],u_image:J,u_color_ramp:fe,u_opacity:L.paint.get("heatmap-opacity")}};function yo(Me,L){let J=Math.pow(2,L.canonical.z),fe=L.canonical.y;return[new e.Z(0,fe/J).toLngLat().lat,new e.Z(0,(fe+1)/J).toLngLat().lat]}let Vn=(Me,L,J,fe)=>{let de=Me.transform;return{u_matrix:ao(Me,L,J,fe),u_ratio:1/ca(L,1,de.zoom),u_device_pixel_ratio:Me.pixelRatio,u_units_to_pixels:[1/de.pixelsToGLUnits[0],1/de.pixelsToGLUnits[1]]}},Bo=(Me,L,J,fe,de)=>e.e(Vn(Me,L,J,de),{u_image:0,u_image_height:fe}),Mo=(Me,L,J,fe,de)=>{let Ae=Me.transform,Ye=Ro(L,Ae);return{u_matrix:ao(Me,L,J,de),u_texsize:L.imageAtlasTexture.size,u_ratio:1/ca(L,1,Ae.zoom),u_device_pixel_ratio:Me.pixelRatio,u_image:0,u_scale:[Ye,fe.fromScale,fe.toScale],u_fade:fe.t,u_units_to_pixels:[1/Ae.pixelsToGLUnits[0],1/Ae.pixelsToGLUnits[1]]}},co=(Me,L,J,fe,de,Ae)=>{let Ye=Me.lineAtlas,et=Ro(L,Me.transform),dt=J.layout.get("line-cap")==="round",St=Ye.getDash(fe.from,dt),Ht=Ye.getDash(fe.to,dt),Wt=St.width*de.fromScale,fr=Ht.width*de.toScale;return e.e(Vn(Me,L,J,Ae),{u_patternscale_a:[et/Wt,-St.height/2],u_patternscale_b:[et/fr,-Ht.height/2],u_sdfgamma:Ye.width/(256*Math.min(Wt,fr)*Me.pixelRatio)/2,u_image:0,u_tex_y_a:St.y,u_tex_y_b:Ht.y,u_mix:de.t})};function Ro(Me,L){return 1/ca(Me,1,L.tileZoom)}function ao(Me,L,J,fe){return Me.translatePosMatrix(fe?fe.posMatrix:L.tileID.posMatrix,L,J.paint.get("line-translate"),J.paint.get("line-translate-anchor"))}let Co=(Me,L,J,fe,de)=>{return{u_matrix:Me,u_tl_parent:L,u_scale_parent:J,u_buffer_scale:1,u_fade_t:fe.mix,u_opacity:fe.opacity*de.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:de.paint.get("raster-brightness-min"),u_brightness_high:de.paint.get("raster-brightness-max"),u_saturation_factor:(Ye=de.paint.get("raster-saturation"),Ye>0?1-1/(1.001-Ye):-Ye),u_contrast_factor:(Ae=de.paint.get("raster-contrast"),Ae>0?1/(1-Ae):1+Ae),u_spin_weights:Wo(de.paint.get("raster-hue-rotate"))};var Ae,Ye};function Wo(Me){Me*=Math.PI/180;let L=Math.sin(Me),J=Math.cos(Me);return[(2*J+1)/3,(-Math.sqrt(3)*L-J+1)/3,(Math.sqrt(3)*L-J+1)/3]}let Po=(Me,L,J,fe,de,Ae,Ye,et,dt,St,Ht,Wt,fr,Ar)=>{let Le=Ye.transform;return{u_is_size_zoom_constant:+(Me==="constant"||Me==="source"),u_is_size_feature_constant:+(Me==="constant"||Me==="camera"),u_size_t:L?L.uSizeT:0,u_size:L?L.uSize:0,u_camera_to_center_distance:Le.cameraToCenterDistance,u_pitch:Le.pitch/360*2*Math.PI,u_rotate_symbol:+J,u_aspect_ratio:Le.width/Le.height,u_fade_change:Ye.options.fadeDuration?Ye.symbolFadeChange:1,u_matrix:et,u_label_plane_matrix:dt,u_coord_matrix:St,u_is_text:+Wt,u_pitch_with_map:+fe,u_is_along_line:de,u_is_variable_anchor:Ae,u_texsize:fr,u_texture:0,u_translation:Ht,u_pitched_scale:Ar}},vi=(Me,L,J,fe,de,Ae,Ye,et,dt,St,Ht,Wt,fr,Ar,Le)=>{let ze=Ye.transform;return e.e(Po(Me,L,J,fe,de,Ae,Ye,et,dt,St,Ht,Wt,fr,Le),{u_gamma_scale:fe?Math.cos(ze._pitch)*ze.cameraToCenterDistance:1,u_device_pixel_ratio:Ye.pixelRatio,u_is_halo:+Ar})},zi=(Me,L,J,fe,de,Ae,Ye,et,dt,St,Ht,Wt,fr,Ar)=>e.e(vi(Me,L,J,fe,de,Ae,Ye,et,dt,St,Ht,!0,Wt,!0,Ar),{u_texsize_icon:fr,u_texture_icon:1}),ho=(Me,L,J)=>({u_matrix:Me,u_opacity:L,u_color:J}),ro=(Me,L,J,fe,de,Ae)=>e.e(function(Ye,et,dt,St){let Ht=dt.imageManager.getPattern(Ye.from.toString()),Wt=dt.imageManager.getPattern(Ye.to.toString()),{width:fr,height:Ar}=dt.imageManager.getPixelSize(),Le=Math.pow(2,St.tileID.overscaledZ),ze=St.tileSize*Math.pow(2,dt.transform.tileZoom)/Le,je=ze*(St.tileID.canonical.x+St.tileID.wrap*Le),Xe=ze*St.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:Ht.tl,u_pattern_br_a:Ht.br,u_pattern_tl_b:Wt.tl,u_pattern_br_b:Wt.br,u_texsize:[fr,Ar],u_mix:et.t,u_pattern_size_a:Ht.displaySize,u_pattern_size_b:Wt.displaySize,u_scale_a:et.fromScale,u_scale_b:et.toScale,u_tile_units_to_pixels:1/ca(St,1,dt.transform.tileZoom),u_pixel_coord_upper:[je>>16,Xe>>16],u_pixel_coord_lower:[65535&je,65535&Xe]}}(fe,Ae,J,de),{u_matrix:Me,u_opacity:L}),es={fillExtrusion:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_lightpos:new e.aN(Me,L.u_lightpos),u_lightintensity:new e.aI(Me,L.u_lightintensity),u_lightcolor:new e.aN(Me,L.u_lightcolor),u_vertical_gradient:new e.aI(Me,L.u_vertical_gradient),u_opacity:new e.aI(Me,L.u_opacity)}),fillExtrusionPattern:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_lightpos:new e.aN(Me,L.u_lightpos),u_lightintensity:new e.aI(Me,L.u_lightintensity),u_lightcolor:new e.aN(Me,L.u_lightcolor),u_vertical_gradient:new e.aI(Me,L.u_vertical_gradient),u_height_factor:new e.aI(Me,L.u_height_factor),u_image:new e.aH(Me,L.u_image),u_texsize:new e.aO(Me,L.u_texsize),u_pixel_coord_upper:new e.aO(Me,L.u_pixel_coord_upper),u_pixel_coord_lower:new e.aO(Me,L.u_pixel_coord_lower),u_scale:new e.aN(Me,L.u_scale),u_fade:new e.aI(Me,L.u_fade),u_opacity:new e.aI(Me,L.u_opacity)}),fill:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix)}),fillPattern:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_image:new e.aH(Me,L.u_image),u_texsize:new e.aO(Me,L.u_texsize),u_pixel_coord_upper:new e.aO(Me,L.u_pixel_coord_upper),u_pixel_coord_lower:new e.aO(Me,L.u_pixel_coord_lower),u_scale:new e.aN(Me,L.u_scale),u_fade:new e.aI(Me,L.u_fade)}),fillOutline:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_world:new e.aO(Me,L.u_world)}),fillOutlinePattern:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_world:new e.aO(Me,L.u_world),u_image:new e.aH(Me,L.u_image),u_texsize:new e.aO(Me,L.u_texsize),u_pixel_coord_upper:new e.aO(Me,L.u_pixel_coord_upper),u_pixel_coord_lower:new e.aO(Me,L.u_pixel_coord_lower),u_scale:new e.aN(Me,L.u_scale),u_fade:new e.aI(Me,L.u_fade)}),circle:(Me,L)=>({u_camera_to_center_distance:new e.aI(Me,L.u_camera_to_center_distance),u_scale_with_map:new e.aH(Me,L.u_scale_with_map),u_pitch_with_map:new e.aH(Me,L.u_pitch_with_map),u_extrude_scale:new e.aO(Me,L.u_extrude_scale),u_device_pixel_ratio:new e.aI(Me,L.u_device_pixel_ratio),u_matrix:new e.aJ(Me,L.u_matrix)}),collisionBox:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_pixel_extrude_scale:new e.aO(Me,L.u_pixel_extrude_scale)}),collisionCircle:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_inv_matrix:new e.aJ(Me,L.u_inv_matrix),u_camera_to_center_distance:new e.aI(Me,L.u_camera_to_center_distance),u_viewport_size:new e.aO(Me,L.u_viewport_size)}),debug:(Me,L)=>({u_color:new e.aL(Me,L.u_color),u_matrix:new e.aJ(Me,L.u_matrix),u_overlay:new e.aH(Me,L.u_overlay),u_overlay_scale:new e.aI(Me,L.u_overlay_scale)}),clippingMask:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix)}),heatmap:(Me,L)=>({u_extrude_scale:new e.aI(Me,L.u_extrude_scale),u_intensity:new e.aI(Me,L.u_intensity),u_matrix:new e.aJ(Me,L.u_matrix)}),heatmapTexture:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_world:new e.aO(Me,L.u_world),u_image:new e.aH(Me,L.u_image),u_color_ramp:new e.aH(Me,L.u_color_ramp),u_opacity:new e.aI(Me,L.u_opacity)}),hillshade:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_image:new e.aH(Me,L.u_image),u_latrange:new e.aO(Me,L.u_latrange),u_light:new e.aO(Me,L.u_light),u_shadow:new e.aL(Me,L.u_shadow),u_highlight:new e.aL(Me,L.u_highlight),u_accent:new e.aL(Me,L.u_accent)}),hillshadePrepare:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_image:new e.aH(Me,L.u_image),u_dimension:new e.aO(Me,L.u_dimension),u_zoom:new e.aI(Me,L.u_zoom),u_unpack:new e.aK(Me,L.u_unpack)}),line:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_ratio:new e.aI(Me,L.u_ratio),u_device_pixel_ratio:new e.aI(Me,L.u_device_pixel_ratio),u_units_to_pixels:new e.aO(Me,L.u_units_to_pixels)}),lineGradient:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_ratio:new e.aI(Me,L.u_ratio),u_device_pixel_ratio:new e.aI(Me,L.u_device_pixel_ratio),u_units_to_pixels:new e.aO(Me,L.u_units_to_pixels),u_image:new e.aH(Me,L.u_image),u_image_height:new e.aI(Me,L.u_image_height)}),linePattern:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_texsize:new e.aO(Me,L.u_texsize),u_ratio:new e.aI(Me,L.u_ratio),u_device_pixel_ratio:new e.aI(Me,L.u_device_pixel_ratio),u_image:new e.aH(Me,L.u_image),u_units_to_pixels:new e.aO(Me,L.u_units_to_pixels),u_scale:new e.aN(Me,L.u_scale),u_fade:new e.aI(Me,L.u_fade)}),lineSDF:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_ratio:new e.aI(Me,L.u_ratio),u_device_pixel_ratio:new e.aI(Me,L.u_device_pixel_ratio),u_units_to_pixels:new e.aO(Me,L.u_units_to_pixels),u_patternscale_a:new e.aO(Me,L.u_patternscale_a),u_patternscale_b:new e.aO(Me,L.u_patternscale_b),u_sdfgamma:new e.aI(Me,L.u_sdfgamma),u_image:new e.aH(Me,L.u_image),u_tex_y_a:new e.aI(Me,L.u_tex_y_a),u_tex_y_b:new e.aI(Me,L.u_tex_y_b),u_mix:new e.aI(Me,L.u_mix)}),raster:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_tl_parent:new e.aO(Me,L.u_tl_parent),u_scale_parent:new e.aI(Me,L.u_scale_parent),u_buffer_scale:new e.aI(Me,L.u_buffer_scale),u_fade_t:new e.aI(Me,L.u_fade_t),u_opacity:new e.aI(Me,L.u_opacity),u_image0:new e.aH(Me,L.u_image0),u_image1:new e.aH(Me,L.u_image1),u_brightness_low:new e.aI(Me,L.u_brightness_low),u_brightness_high:new e.aI(Me,L.u_brightness_high),u_saturation_factor:new e.aI(Me,L.u_saturation_factor),u_contrast_factor:new e.aI(Me,L.u_contrast_factor),u_spin_weights:new e.aN(Me,L.u_spin_weights)}),symbolIcon:(Me,L)=>({u_is_size_zoom_constant:new e.aH(Me,L.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aH(Me,L.u_is_size_feature_constant),u_size_t:new e.aI(Me,L.u_size_t),u_size:new e.aI(Me,L.u_size),u_camera_to_center_distance:new e.aI(Me,L.u_camera_to_center_distance),u_pitch:new e.aI(Me,L.u_pitch),u_rotate_symbol:new e.aH(Me,L.u_rotate_symbol),u_aspect_ratio:new e.aI(Me,L.u_aspect_ratio),u_fade_change:new e.aI(Me,L.u_fade_change),u_matrix:new e.aJ(Me,L.u_matrix),u_label_plane_matrix:new e.aJ(Me,L.u_label_plane_matrix),u_coord_matrix:new e.aJ(Me,L.u_coord_matrix),u_is_text:new e.aH(Me,L.u_is_text),u_pitch_with_map:new e.aH(Me,L.u_pitch_with_map),u_is_along_line:new e.aH(Me,L.u_is_along_line),u_is_variable_anchor:new e.aH(Me,L.u_is_variable_anchor),u_texsize:new e.aO(Me,L.u_texsize),u_texture:new e.aH(Me,L.u_texture),u_translation:new e.aO(Me,L.u_translation),u_pitched_scale:new e.aI(Me,L.u_pitched_scale)}),symbolSDF:(Me,L)=>({u_is_size_zoom_constant:new e.aH(Me,L.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aH(Me,L.u_is_size_feature_constant),u_size_t:new e.aI(Me,L.u_size_t),u_size:new e.aI(Me,L.u_size),u_camera_to_center_distance:new e.aI(Me,L.u_camera_to_center_distance),u_pitch:new e.aI(Me,L.u_pitch),u_rotate_symbol:new e.aH(Me,L.u_rotate_symbol),u_aspect_ratio:new e.aI(Me,L.u_aspect_ratio),u_fade_change:new e.aI(Me,L.u_fade_change),u_matrix:new e.aJ(Me,L.u_matrix),u_label_plane_matrix:new e.aJ(Me,L.u_label_plane_matrix),u_coord_matrix:new e.aJ(Me,L.u_coord_matrix),u_is_text:new e.aH(Me,L.u_is_text),u_pitch_with_map:new e.aH(Me,L.u_pitch_with_map),u_is_along_line:new e.aH(Me,L.u_is_along_line),u_is_variable_anchor:new e.aH(Me,L.u_is_variable_anchor),u_texsize:new e.aO(Me,L.u_texsize),u_texture:new e.aH(Me,L.u_texture),u_gamma_scale:new e.aI(Me,L.u_gamma_scale),u_device_pixel_ratio:new e.aI(Me,L.u_device_pixel_ratio),u_is_halo:new e.aH(Me,L.u_is_halo),u_translation:new e.aO(Me,L.u_translation),u_pitched_scale:new e.aI(Me,L.u_pitched_scale)}),symbolTextAndIcon:(Me,L)=>({u_is_size_zoom_constant:new e.aH(Me,L.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aH(Me,L.u_is_size_feature_constant),u_size_t:new e.aI(Me,L.u_size_t),u_size:new e.aI(Me,L.u_size),u_camera_to_center_distance:new e.aI(Me,L.u_camera_to_center_distance),u_pitch:new e.aI(Me,L.u_pitch),u_rotate_symbol:new e.aH(Me,L.u_rotate_symbol),u_aspect_ratio:new e.aI(Me,L.u_aspect_ratio),u_fade_change:new e.aI(Me,L.u_fade_change),u_matrix:new e.aJ(Me,L.u_matrix),u_label_plane_matrix:new e.aJ(Me,L.u_label_plane_matrix),u_coord_matrix:new e.aJ(Me,L.u_coord_matrix),u_is_text:new e.aH(Me,L.u_is_text),u_pitch_with_map:new e.aH(Me,L.u_pitch_with_map),u_is_along_line:new e.aH(Me,L.u_is_along_line),u_is_variable_anchor:new e.aH(Me,L.u_is_variable_anchor),u_texsize:new e.aO(Me,L.u_texsize),u_texsize_icon:new e.aO(Me,L.u_texsize_icon),u_texture:new e.aH(Me,L.u_texture),u_texture_icon:new e.aH(Me,L.u_texture_icon),u_gamma_scale:new e.aI(Me,L.u_gamma_scale),u_device_pixel_ratio:new e.aI(Me,L.u_device_pixel_ratio),u_is_halo:new e.aH(Me,L.u_is_halo),u_translation:new e.aO(Me,L.u_translation),u_pitched_scale:new e.aI(Me,L.u_pitched_scale)}),background:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_opacity:new e.aI(Me,L.u_opacity),u_color:new e.aL(Me,L.u_color)}),backgroundPattern:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_opacity:new e.aI(Me,L.u_opacity),u_image:new e.aH(Me,L.u_image),u_pattern_tl_a:new e.aO(Me,L.u_pattern_tl_a),u_pattern_br_a:new e.aO(Me,L.u_pattern_br_a),u_pattern_tl_b:new e.aO(Me,L.u_pattern_tl_b),u_pattern_br_b:new e.aO(Me,L.u_pattern_br_b),u_texsize:new e.aO(Me,L.u_texsize),u_mix:new e.aI(Me,L.u_mix),u_pattern_size_a:new e.aO(Me,L.u_pattern_size_a),u_pattern_size_b:new e.aO(Me,L.u_pattern_size_b),u_scale_a:new e.aI(Me,L.u_scale_a),u_scale_b:new e.aI(Me,L.u_scale_b),u_pixel_coord_upper:new e.aO(Me,L.u_pixel_coord_upper),u_pixel_coord_lower:new e.aO(Me,L.u_pixel_coord_lower),u_tile_units_to_pixels:new e.aI(Me,L.u_tile_units_to_pixels)}),terrain:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_texture:new e.aH(Me,L.u_texture),u_ele_delta:new e.aI(Me,L.u_ele_delta),u_fog_matrix:new e.aJ(Me,L.u_fog_matrix),u_fog_color:new e.aL(Me,L.u_fog_color),u_fog_ground_blend:new e.aI(Me,L.u_fog_ground_blend),u_fog_ground_blend_opacity:new e.aI(Me,L.u_fog_ground_blend_opacity),u_horizon_color:new e.aL(Me,L.u_horizon_color),u_horizon_fog_blend:new e.aI(Me,L.u_horizon_fog_blend)}),terrainDepth:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_ele_delta:new e.aI(Me,L.u_ele_delta)}),terrainCoords:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_texture:new e.aH(Me,L.u_texture),u_terrain_coords_id:new e.aI(Me,L.u_terrain_coords_id),u_ele_delta:new e.aI(Me,L.u_ele_delta)}),sky:(Me,L)=>({u_sky_color:new e.aL(Me,L.u_sky_color),u_horizon_color:new e.aL(Me,L.u_horizon_color),u_horizon:new e.aI(Me,L.u_horizon),u_sky_horizon_blend:new e.aI(Me,L.u_sky_horizon_blend)})};class Ho{constructor(L,J,fe){this.context=L;let de=L.gl;this.buffer=de.createBuffer(),this.dynamicDraw=!!fe,this.context.unbindVAO(),L.bindElementBuffer.set(this.buffer),de.bufferData(de.ELEMENT_ARRAY_BUFFER,J.arrayBuffer,this.dynamicDraw?de.DYNAMIC_DRAW:de.STATIC_DRAW),this.dynamicDraw||delete J.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(L){let J=this.context.gl;if(!this.dynamicDraw)throw new Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),J.bufferSubData(J.ELEMENT_ARRAY_BUFFER,0,L.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let is={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class as{constructor(L,J,fe,de){this.length=J.length,this.attributes=fe,this.itemSize=J.bytesPerElement,this.dynamicDraw=de,this.context=L;let Ae=L.gl;this.buffer=Ae.createBuffer(),L.bindVertexBuffer.set(this.buffer),Ae.bufferData(Ae.ARRAY_BUFFER,J.arrayBuffer,this.dynamicDraw?Ae.DYNAMIC_DRAW:Ae.STATIC_DRAW),this.dynamicDraw||delete J.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(L){if(L.length!==this.length)throw new Error(`Length of new data is ${L.length}, which doesn't match current length of ${this.length}`);let J=this.context.gl;this.bind(),J.bufferSubData(J.ARRAY_BUFFER,0,L.arrayBuffer)}enableAttributes(L,J){for(let fe=0;fe0){let Ot=e.H();e.aQ(Ot,Qe.placementInvProjMatrix,Me.transform.glCoordMatrix),e.aQ(Ot,Ot,Qe.placementViewportMatrix),dt.push({circleArray:Dt,circleOffset:Ht,transform:st.posMatrix,invTransform:Ot,coord:st}),St+=Dt.length/4,Ht=St}ht&&et.draw(Ae,Ye.LINES,Xo.disabled,ns.disabled,Me.colorModeForRenderPass(),so.disabled,{u_matrix:st.posMatrix,u_pixel_extrude_scale:[1/(Wt=Me.transform).width,1/Wt.height]},Me.style.map.terrain&&Me.style.map.terrain.getTerrainData(st),J.id,ht.layoutVertexBuffer,ht.indexBuffer,ht.segments,null,Me.transform.zoom,null,null,ht.collisionVertexBuffer)}var Wt;if(!de||!dt.length)return;let fr=Me.useProgram("collisionCircle"),Ar=new e.aR;Ar.resize(4*St),Ar._trim();let Le=0;for(let Xe of dt)for(let st=0;st=0&&(Xe[Qe.associatedIconIndex]={shiftedAnchor:ei,angle:Mi})}else Bt(Qe.numGlyphs,ze)}if(St){je.clear();let st=Me.icon.placedSymbolArray;for(let Qe=0;QeMe.style.map.terrain.getElevation(Wr,bt,qt):null,Ct=J.layout.get("text-rotation-alignment")==="map";he(Sa,Wr.posMatrix,Me,de,Il,Xl,Xe,St,Ct,ze,Wr.toUnwrapped(),Le.width,Le.height,il,it)}let _l=Wr.posMatrix,Dl=de&&ir||bu,le=st||Dl?Ll:Il,we=_u,Be=wn&&J.paint.get(de?"text-halo-width":"icon-halo-width").constantOr(1)!==0,$e;$e=wn?Sa.iconsInText?zi(ei.kind,Ki,Qe,Xe,st,Dl,Me,_l,le,we,il,bo,Ys,zr):vi(ei.kind,Ki,Qe,Xe,st,Dl,Me,_l,le,we,il,de,bo,!0,zr):Po(ei.kind,Ki,Qe,Xe,st,Dl,Me,_l,le,we,il,de,bo,zr);let Je={program:pi,buffers:ln,uniformValues:$e,atlasTexture:ds,atlasTextureIcon:Ks,atlasInterpolation:Zo,atlasInterpolationIcon:Is,isSDF:wn,hasHalo:Be};if(Dt&&Sa.canOverlap){Ot=!0;let it=ln.segments.get();for(let Ct of it)pr.push({segments:new e.a0([Ct]),sortKey:Ct.sortKey,state:Je,terrainData:Lo})}else pr.push({segments:ln.segments,sortKey:0,state:Je,terrainData:Lo})}Ot&&pr.sort((Wr,ia)=>Wr.sortKey-ia.sortKey);for(let Wr of pr){let ia=Wr.state;if(fr.activeTexture.set(Ar.TEXTURE0),ia.atlasTexture.bind(ia.atlasInterpolation,Ar.CLAMP_TO_EDGE),ia.atlasTextureIcon&&(fr.activeTexture.set(Ar.TEXTURE1),ia.atlasTextureIcon&&ia.atlasTextureIcon.bind(ia.atlasInterpolationIcon,Ar.CLAMP_TO_EDGE)),ia.isSDF){let Sa=ia.uniformValues;ia.hasHalo&&(Sa.u_is_halo=1,zc(ia.buffers,Wr.segments,J,Me,ia.program,$t,Ht,Wt,Sa,Wr.terrainData)),Sa.u_is_halo=0}zc(ia.buffers,Wr.segments,J,Me,ia.program,$t,Ht,Wt,ia.uniformValues,Wr.terrainData)}}function zc(Me,L,J,fe,de,Ae,Ye,et,dt,St){let Ht=fe.context;de.draw(Ht,Ht.gl.TRIANGLES,Ae,Ye,et,so.disabled,dt,St,J.id,Me.layoutVertexBuffer,Me.indexBuffer,L,J.paint,fe.transform.zoom,Me.programConfigurations.get(J.id),Me.dynamicLayoutVertexBuffer,Me.opacityVertexBuffer)}function Ku(Me,L,J,fe){let de=Me.context,Ae=de.gl,Ye=ns.disabled,et=new Hs([Ae.ONE,Ae.ONE],e.aM.transparent,[!0,!0,!0,!0]),dt=L.getBucket(J);if(!dt)return;let St=fe.key,Ht=J.heatmapFbos.get(St);Ht||(Ht=Bc(de,L.tileSize,L.tileSize),J.heatmapFbos.set(St,Ht)),de.bindFramebuffer.set(Ht.framebuffer),de.viewport.set([0,0,L.tileSize,L.tileSize]),de.clear({color:e.aM.transparent});let Wt=dt.programConfigurations.get(J.id),fr=Me.useProgram("heatmap",Wt),Ar=Me.style.map.terrain.getTerrainData(fe);fr.draw(de,Ae.TRIANGLES,Xo.disabled,Ye,et,so.disabled,ai(fe.posMatrix,L,Me.transform.zoom,J.paint.get("heatmap-intensity")),Ar,J.id,dt.layoutVertexBuffer,dt.indexBuffer,dt.segments,J.paint,Me.transform.zoom,Wt)}function Ju(Me,L,J){let fe=Me.context,de=fe.gl;fe.setColorMode(Me.colorModeForRenderPass());let Ae=Nc(fe,L),Ye=J.key,et=L.heatmapFbos.get(Ye);et&&(fe.activeTexture.set(de.TEXTURE0),de.bindTexture(de.TEXTURE_2D,et.colorAttachment.get()),fe.activeTexture.set(de.TEXTURE1),Ae.bind(de.LINEAR,de.CLAMP_TO_EDGE),Me.useProgram("heatmapTexture").draw(fe,de.TRIANGLES,Xo.disabled,ns.disabled,Me.colorModeForRenderPass(),so.disabled,Ao(Me,L,0,1),null,L.id,Me.rasterBoundsBuffer,Me.quadTriangleIndexBuffer,Me.rasterBoundsSegments,L.paint,Me.transform.zoom),et.destroy(),L.heatmapFbos.delete(Ye))}function Bc(Me,L,J){var fe,de;let Ae=Me.gl,Ye=Ae.createTexture();Ae.bindTexture(Ae.TEXTURE_2D,Ye),Ae.texParameteri(Ae.TEXTURE_2D,Ae.TEXTURE_WRAP_S,Ae.CLAMP_TO_EDGE),Ae.texParameteri(Ae.TEXTURE_2D,Ae.TEXTURE_WRAP_T,Ae.CLAMP_TO_EDGE),Ae.texParameteri(Ae.TEXTURE_2D,Ae.TEXTURE_MIN_FILTER,Ae.LINEAR),Ae.texParameteri(Ae.TEXTURE_2D,Ae.TEXTURE_MAG_FILTER,Ae.LINEAR);let et=(fe=Me.HALF_FLOAT)!==null&&fe!==void 0?fe:Ae.UNSIGNED_BYTE,dt=(de=Me.RGBA16F)!==null&&de!==void 0?de:Ae.RGBA;Ae.texImage2D(Ae.TEXTURE_2D,0,dt,L,J,0,Ae.RGBA,et,null);let St=Me.createFramebuffer(L,J,!1,!1);return St.colorAttachment.set(Ye),St}function Nc(Me,L){return L.colorRampTexture||(L.colorRampTexture=new h(Me,L.colorRamp,Me.gl.RGBA)),L.colorRampTexture}function tu(Me,L,J,fe,de){if(!J||!fe||!fe.imageAtlas)return;let Ae=fe.imageAtlas.patternPositions,Ye=Ae[J.to.toString()],et=Ae[J.from.toString()];if(!Ye&&et&&(Ye=et),!et&&Ye&&(et=Ye),!Ye||!et){let dt=de.getPaintProperty(L);Ye=Ae[dt],et=Ae[dt]}Ye&&et&&Me.setConstantPatternPositions(Ye,et)}function xc(Me,L,J,fe,de,Ae,Ye){let et=Me.context.gl,dt="fill-pattern",St=J.paint.get(dt),Ht=St&&St.constantOr(1),Wt=J.getCrossfadeParameters(),fr,Ar,Le,ze,je;Ye?(Ar=Ht&&!J.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",fr=et.LINES):(Ar=Ht?"fillPattern":"fill",fr=et.TRIANGLES);let Xe=St.constantOr(null);for(let st of fe){let Qe=L.getTile(st);if(Ht&&!Qe.patternsLoaded())continue;let ht=Qe.getBucket(J);if(!ht)continue;let Dt=ht.programConfigurations.get(J.id),Ot=Me.useProgram(Ar,Dt),$t=Me.style.map.terrain&&Me.style.map.terrain.getTerrainData(st);Ht&&(Me.context.activeTexture.set(et.TEXTURE0),Qe.imageAtlasTexture.bind(et.LINEAR,et.CLAMP_TO_EDGE),Dt.updatePaintBuffers(Wt)),tu(Dt,dt,Xe,Qe,J);let ir=$t?st:null,pr=Me.translatePosMatrix(ir?ir.posMatrix:st.posMatrix,Qe,J.paint.get("fill-translate"),J.paint.get("fill-translate-anchor"));if(Ye){ze=ht.indexBuffer2,je=ht.segments2;let zr=[et.drawingBufferWidth,et.drawingBufferHeight];Le=Ar==="fillOutlinePattern"&&Ht?Dn(pr,Me,Wt,Qe,zr):La(pr,zr)}else ze=ht.indexBuffer,je=ht.segments,Le=Ht?ja(pr,Me,Wt,Qe):ra(pr);Ot.draw(Me.context,fr,de,Me.stencilModeForClipping(st),Ae,so.disabled,Le,$t,J.id,ht.layoutVertexBuffer,ze,je,J.paint,Me.transform.zoom,Dt)}}function ru(Me,L,J,fe,de,Ae,Ye){let et=Me.context,dt=et.gl,St="fill-extrusion-pattern",Ht=J.paint.get(St),Wt=Ht.constantOr(1),fr=J.getCrossfadeParameters(),Ar=J.paint.get("fill-extrusion-opacity"),Le=Ht.constantOr(null);for(let ze of fe){let je=L.getTile(ze),Xe=je.getBucket(J);if(!Xe)continue;let st=Me.style.map.terrain&&Me.style.map.terrain.getTerrainData(ze),Qe=Xe.programConfigurations.get(J.id),ht=Me.useProgram(Wt?"fillExtrusionPattern":"fillExtrusion",Qe);Wt&&(Me.context.activeTexture.set(dt.TEXTURE0),je.imageAtlasTexture.bind(dt.LINEAR,dt.CLAMP_TO_EDGE),Qe.updatePaintBuffers(fr)),tu(Qe,St,Le,je,J);let Dt=Me.translatePosMatrix(ze.posMatrix,je,J.paint.get("fill-extrusion-translate"),J.paint.get("fill-extrusion-translate-anchor")),Ot=J.paint.get("fill-extrusion-vertical-gradient"),$t=Wt?kr(Dt,Me,Ot,Ar,ze,fr,je):Fr(Dt,Me,Ot,Ar);ht.draw(et,et.gl.TRIANGLES,de,Ae,Ye,so.backCCW,$t,st,J.id,Xe.layoutVertexBuffer,Xe.indexBuffer,Xe.segments,J.paint,Me.transform.zoom,Qe,Me.style.map.terrain&&Xe.centroidVertexBuffer)}}function Qu(Me,L,J,fe,de,Ae,Ye){let et=Me.context,dt=et.gl,St=J.fbo;if(!St)return;let Ht=Me.useProgram("hillshade"),Wt=Me.style.map.terrain&&Me.style.map.terrain.getTerrainData(L);et.activeTexture.set(dt.TEXTURE0),dt.bindTexture(dt.TEXTURE_2D,St.colorAttachment.get()),Ht.draw(et,dt.TRIANGLES,de,Ae,Ye,so.disabled,((fr,Ar,Le,ze)=>{let je=Le.paint.get("hillshade-shadow-color"),Xe=Le.paint.get("hillshade-highlight-color"),st=Le.paint.get("hillshade-accent-color"),Qe=Le.paint.get("hillshade-illumination-direction")*(Math.PI/180);Le.paint.get("hillshade-illumination-anchor")==="viewport"&&(Qe-=fr.transform.angle);let ht=!fr.options.moving;return{u_matrix:ze?ze.posMatrix:fr.transform.calculatePosMatrix(Ar.tileID.toUnwrapped(),ht),u_image:0,u_latrange:yo(0,Ar.tileID),u_light:[Le.paint.get("hillshade-exaggeration"),Qe],u_shadow:je,u_highlight:Xe,u_accent:st}})(Me,J,fe,Wt?L:null),Wt,fe.id,Me.rasterBoundsBuffer,Me.quadTriangleIndexBuffer,Me.rasterBoundsSegments)}function $s(Me,L,J,fe,de,Ae){let Ye=Me.context,et=Ye.gl,dt=L.dem;if(dt&&dt.data){let St=dt.dim,Ht=dt.stride,Wt=dt.getPixels();if(Ye.activeTexture.set(et.TEXTURE1),Ye.pixelStoreUnpackPremultiplyAlpha.set(!1),L.demTexture=L.demTexture||Me.getTileTexture(Ht),L.demTexture){let Ar=L.demTexture;Ar.update(Wt,{premultiply:!1}),Ar.bind(et.NEAREST,et.CLAMP_TO_EDGE)}else L.demTexture=new h(Ye,Wt,et.RGBA,{premultiply:!1}),L.demTexture.bind(et.NEAREST,et.CLAMP_TO_EDGE);Ye.activeTexture.set(et.TEXTURE0);let fr=L.fbo;if(!fr){let Ar=new h(Ye,{width:St,height:St,data:null},et.RGBA);Ar.bind(et.LINEAR,et.CLAMP_TO_EDGE),fr=L.fbo=Ye.createFramebuffer(St,St,!0,!1),fr.colorAttachment.set(Ar.texture)}Ye.bindFramebuffer.set(fr.framebuffer),Ye.viewport.set([0,0,St,St]),Me.useProgram("hillshadePrepare").draw(Ye,et.TRIANGLES,fe,de,Ae,so.disabled,((Ar,Le)=>{let ze=Le.stride,je=e.H();return e.aP(je,0,e.X,-e.X,0,0,1),e.J(je,je,[0,-e.X,0]),{u_matrix:je,u_image:1,u_dimension:[ze,ze],u_zoom:Ar.overscaledZ,u_unpack:Le.getUnpackVector()}})(L.tileID,dt),null,J.id,Me.rasterBoundsBuffer,Me.quadTriangleIndexBuffer,Me.rasterBoundsSegments),L.needsHillshadePrepare=!1}}function ec(Me,L,J,fe,de,Ae){let Ye=fe.paint.get("raster-fade-duration");if(!Ae&&Ye>0){let et=n.now(),dt=(et-Me.timeAdded)/Ye,St=L?(et-L.timeAdded)/Ye:-1,Ht=J.getSource(),Wt=de.coveringZoomLevel({tileSize:Ht.tileSize,roundZoom:Ht.roundZoom}),fr=!L||Math.abs(L.tileID.overscaledZ-Wt)>Math.abs(Me.tileID.overscaledZ-Wt),Ar=fr&&Me.refreshedUponExpiration?1:e.ac(fr?dt:1-St,0,1);return Me.refreshedUponExpiration&&dt>=1&&(Me.refreshedUponExpiration=!1),L?{opacity:1,mix:1-Ar}:{opacity:Ar,mix:0}}return{opacity:1,mix:0}}let Iu=new e.aM(1,0,0,1),us=new e.aM(0,1,0,1),wc=new e.aM(0,0,1,1),Sf=new e.aM(1,0,1,1),tf=new e.aM(0,1,1,1);function Vu(Me,L,J,fe){Tc(Me,0,L+J/2,Me.transform.width,J,fe)}function rf(Me,L,J,fe){Tc(Me,L-J/2,0,J,Me.transform.height,fe)}function Tc(Me,L,J,fe,de,Ae){let Ye=Me.context,et=Ye.gl;et.enable(et.SCISSOR_TEST),et.scissor(L*Me.pixelRatio,J*Me.pixelRatio,fe*Me.pixelRatio,de*Me.pixelRatio),Ye.clear({color:Ae}),et.disable(et.SCISSOR_TEST)}function Ef(Me,L,J){let fe=Me.context,de=fe.gl,Ae=J.posMatrix,Ye=Me.useProgram("debug"),et=Xo.disabled,dt=ns.disabled,St=Me.colorModeForRenderPass(),Ht="$debug",Wt=Me.style.map.terrain&&Me.style.map.terrain.getTerrainData(J);fe.activeTexture.set(de.TEXTURE0);let fr=L.getTileByID(J.key).latestRawTileData,Ar=Math.floor((fr&&fr.byteLength||0)/1024),Le=L.getTile(J).tileSize,ze=512/Math.min(Le,512)*(J.overscaledZ/Me.transform.zoom)*.5,je=J.canonical.toString();J.overscaledZ!==J.canonical.z&&(je+=` => ${J.overscaledZ}`),function(Xe,st){Xe.initDebugOverlayCanvas();let Qe=Xe.debugOverlayCanvas,ht=Xe.context.gl,Dt=Xe.debugOverlayCanvas.getContext("2d");Dt.clearRect(0,0,Qe.width,Qe.height),Dt.shadowColor="white",Dt.shadowBlur=2,Dt.lineWidth=1.5,Dt.strokeStyle="white",Dt.textBaseline="top",Dt.font="bold 36px Open Sans, sans-serif",Dt.fillText(st,5,5),Dt.strokeText(st,5,5),Xe.debugOverlayTexture.update(Qe),Xe.debugOverlayTexture.bind(ht.LINEAR,ht.CLAMP_TO_EDGE)}(Me,`${je} ${Ar}kB`),Ye.draw(fe,de.TRIANGLES,et,dt,Hs.alphaBlended,so.disabled,ti(Ae,e.aM.transparent,ze),null,Ht,Me.debugBuffer,Me.quadTriangleIndexBuffer,Me.debugSegments),Ye.draw(fe,de.LINE_STRIP,et,dt,St,so.disabled,ti(Ae,e.aM.red),Wt,Ht,Me.debugBuffer,Me.tileBorderIndexBuffer,Me.debugSegments)}function Zs(Me,L,J){let fe=Me.context,de=fe.gl,Ae=Me.colorModeForRenderPass(),Ye=new Xo(de.LEQUAL,Xo.ReadWrite,Me.depthRangeFor3D),et=Me.useProgram("terrain"),dt=L.getTerrainMesh();fe.bindFramebuffer.set(null),fe.viewport.set([0,0,Me.width,Me.height]);for(let St of J){let Ht=Me.renderToTexture.getTexture(St),Wt=L.getTerrainData(St.tileID);fe.activeTexture.set(de.TEXTURE0),de.bindTexture(de.TEXTURE_2D,Ht.texture);let fr=Me.transform.calculatePosMatrix(St.tileID.toUnwrapped()),Ar=L.getMeshFrameDelta(Me.transform.zoom),Le=Me.transform.calculateFogMatrix(St.tileID.toUnwrapped()),ze=Vt(fr,Ar,Le,Me.style.sky,Me.transform.pitch);et.draw(fe,de.TRIANGLES,Ye,ns.disabled,Ae,so.backCCW,ze,Wt,"terrain",dt.vertexBuffer,dt.indexBuffer,dt.segments)}}class au{constructor(L,J,fe){this.vertexBuffer=L,this.indexBuffer=J,this.segments=fe}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class af{constructor(L,J){this.context=new Af(L),this.transform=J,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:e.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=ot.maxUnderzooming+ot.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Ke}resize(L,J,fe){if(this.width=Math.floor(L*fe),this.height=Math.floor(J*fe),this.pixelRatio=fe,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let de of this.style._order)this.style._layers[de].resize()}setup(){let L=this.context,J=new e.aX;J.emplaceBack(0,0),J.emplaceBack(e.X,0),J.emplaceBack(0,e.X),J.emplaceBack(e.X,e.X),this.tileExtentBuffer=L.createVertexBuffer(J,cr.members),this.tileExtentSegments=e.a0.simpleSegment(0,0,4,2);let fe=new e.aX;fe.emplaceBack(0,0),fe.emplaceBack(e.X,0),fe.emplaceBack(0,e.X),fe.emplaceBack(e.X,e.X),this.debugBuffer=L.createVertexBuffer(fe,cr.members),this.debugSegments=e.a0.simpleSegment(0,0,4,5);let de=new e.$;de.emplaceBack(0,0,0,0),de.emplaceBack(e.X,0,e.X,0),de.emplaceBack(0,e.X,0,e.X),de.emplaceBack(e.X,e.X,e.X,e.X),this.rasterBoundsBuffer=L.createVertexBuffer(de,Ce.members),this.rasterBoundsSegments=e.a0.simpleSegment(0,0,4,2);let Ae=new e.aX;Ae.emplaceBack(0,0),Ae.emplaceBack(1,0),Ae.emplaceBack(0,1),Ae.emplaceBack(1,1),this.viewportBuffer=L.createVertexBuffer(Ae,cr.members),this.viewportSegments=e.a0.simpleSegment(0,0,4,2);let Ye=new e.aZ;Ye.emplaceBack(0),Ye.emplaceBack(1),Ye.emplaceBack(3),Ye.emplaceBack(2),Ye.emplaceBack(0),this.tileBorderIndexBuffer=L.createIndexBuffer(Ye);let et=new e.aY;et.emplaceBack(0,1,2),et.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=L.createIndexBuffer(et);let dt=this.context.gl;this.stencilClearMode=new ns({func:dt.ALWAYS,mask:0},0,255,dt.ZERO,dt.ZERO,dt.ZERO)}clearStencil(){let L=this.context,J=L.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let fe=e.H();e.aP(fe,0,this.width,this.height,0,0,1),e.K(fe,fe,[J.drawingBufferWidth,J.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(L,J.TRIANGLES,Xo.disabled,this.stencilClearMode,Hs.disabled,so.disabled,Si(fe),null,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(L,J){if(this.currentStencilSource===L.source||!L.isTileClipped()||!J||!J.length)return;this.currentStencilSource=L.source;let fe=this.context,de=fe.gl;this.nextStencilID+J.length>256&&this.clearStencil(),fe.setColorMode(Hs.disabled),fe.setDepthMode(Xo.disabled);let Ae=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(let Ye of J){let et=this._tileClippingMaskIDs[Ye.key]=this.nextStencilID++,dt=this.style.map.terrain&&this.style.map.terrain.getTerrainData(Ye);Ae.draw(fe,de.TRIANGLES,Xo.disabled,new ns({func:de.ALWAYS,mask:0},et,255,de.KEEP,de.KEEP,de.REPLACE),Hs.disabled,so.disabled,Si(Ye.posMatrix),dt,"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let L=this.nextStencilID++,J=this.context.gl;return new ns({func:J.NOTEQUAL,mask:255},L,255,J.KEEP,J.KEEP,J.REPLACE)}stencilModeForClipping(L){let J=this.context.gl;return new ns({func:J.EQUAL,mask:255},this._tileClippingMaskIDs[L.key],0,J.KEEP,J.KEEP,J.REPLACE)}stencilConfigForOverlap(L){let J=this.context.gl,fe=L.sort((Ye,et)=>et.overscaledZ-Ye.overscaledZ),de=fe[fe.length-1].overscaledZ,Ae=fe[0].overscaledZ-de+1;if(Ae>1){this.currentStencilSource=void 0,this.nextStencilID+Ae>256&&this.clearStencil();let Ye={};for(let et=0;et({u_sky_color:Xe.properties.get("sky-color"),u_horizon_color:Xe.properties.get("horizon-color"),u_horizon:(st.height/2+st.getHorizon())*Qe,u_sky_horizon_blend:Xe.properties.get("sky-horizon-blend")*st.height/2*Qe}))(St,dt.style.map.transform,dt.pixelRatio),Ar=new Xo(Wt.LEQUAL,Xo.ReadWrite,[0,1]),Le=ns.disabled,ze=dt.colorModeForRenderPass(),je=dt.useProgram("sky");if(!St.mesh){let Xe=new e.aX;Xe.emplaceBack(-1,-1),Xe.emplaceBack(1,-1),Xe.emplaceBack(1,1),Xe.emplaceBack(-1,1);let st=new e.aY;st.emplaceBack(0,1,2),st.emplaceBack(0,2,3),St.mesh=new au(Ht.createVertexBuffer(Xe,cr.members),Ht.createIndexBuffer(st),e.a0.simpleSegment(0,0,Xe.length,st.length))}je.draw(Ht,Wt.TRIANGLES,Ar,Le,ze,so.disabled,fr,void 0,"sky",St.mesh.vertexBuffer,St.mesh.indexBuffer,St.mesh.segments)}(this,this.style.sky),this._showOverdrawInspector=J.showOverdrawInspector,this.depthRangeFor3D=[0,1-(L._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass="opaque",this.currentLayer=fe.length-1;this.currentLayer>=0;this.currentLayer--){let dt=this.style._layers[fe[this.currentLayer]],St=de[dt.source],Ht=Ae[dt.source];this._renderTileClippingMasks(dt,Ht),this.renderLayer(this,St,dt,Ht)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayerje.source&&!je.isHidden(Ht)?[St.sourceCaches[je.source]]:[]),Ar=fr.filter(je=>je.getSource().type==="vector"),Le=fr.filter(je=>je.getSource().type!=="vector"),ze=je=>{(!Wt||Wt.getSource().maxzoomze(je)),Wt||Le.forEach(je=>ze(je)),Wt}(this.style,this.transform.zoom);dt&&function(St,Ht,Wt){for(let fr=0;fr0),de&&(e.b0(J,fe),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(Ae,Ye){let et=Ae.context,dt=et.gl,St=Hs.unblended,Ht=new Xo(dt.LEQUAL,Xo.ReadWrite,[0,1]),Wt=Ye.getTerrainMesh(),fr=Ye.sourceCache.getRenderableTiles(),Ar=Ae.useProgram("terrainDepth");et.bindFramebuffer.set(Ye.getFramebuffer("depth").framebuffer),et.viewport.set([0,0,Ae.width/devicePixelRatio,Ae.height/devicePixelRatio]),et.clear({color:e.aM.transparent,depth:1});for(let Le of fr){let ze=Ye.getTerrainData(Le.tileID),je={u_matrix:Ae.transform.calculatePosMatrix(Le.tileID.toUnwrapped()),u_ele_delta:Ye.getMeshFrameDelta(Ae.transform.zoom)};Ar.draw(et,dt.TRIANGLES,Ht,ns.disabled,St,so.backCCW,je,ze,"terrain",Wt.vertexBuffer,Wt.indexBuffer,Wt.segments)}et.bindFramebuffer.set(null),et.viewport.set([0,0,Ae.width,Ae.height])}(this,this.style.map.terrain),function(Ae,Ye){let et=Ae.context,dt=et.gl,St=Hs.unblended,Ht=new Xo(dt.LEQUAL,Xo.ReadWrite,[0,1]),Wt=Ye.getTerrainMesh(),fr=Ye.getCoordsTexture(),Ar=Ye.sourceCache.getRenderableTiles(),Le=Ae.useProgram("terrainCoords");et.bindFramebuffer.set(Ye.getFramebuffer("coords").framebuffer),et.viewport.set([0,0,Ae.width/devicePixelRatio,Ae.height/devicePixelRatio]),et.clear({color:e.aM.transparent,depth:1}),Ye.coordsIndex=[];for(let ze of Ar){let je=Ye.getTerrainData(ze.tileID);et.activeTexture.set(dt.TEXTURE0),dt.bindTexture(dt.TEXTURE_2D,fr.texture);let Xe={u_matrix:Ae.transform.calculatePosMatrix(ze.tileID.toUnwrapped()),u_terrain_coords_id:(255-Ye.coordsIndex.length)/255,u_texture:0,u_ele_delta:Ye.getMeshFrameDelta(Ae.transform.zoom)};Le.draw(et,dt.TRIANGLES,Ht,ns.disabled,St,so.backCCW,Xe,je,"terrain",Wt.vertexBuffer,Wt.indexBuffer,Wt.segments),Ye.coordsIndex.push(ze.tileID.key)}et.bindFramebuffer.set(null),et.viewport.set([0,0,Ae.width,Ae.height])}(this,this.style.map.terrain))}renderLayer(L,J,fe,de){if(!fe.isHidden(this.transform.zoom)&&(fe.type==="background"||fe.type==="custom"||(de||[]).length))switch(this.id=fe.id,fe.type){case"symbol":(function(Ae,Ye,et,dt,St){if(Ae.renderPass!=="translucent")return;let Ht=ns.disabled,Wt=Ae.colorModeForRenderPass();(et._unevaluatedLayout.hasValue("text-variable-anchor")||et._unevaluatedLayout.hasValue("text-variable-anchor-offset"))&&function(fr,Ar,Le,ze,je,Xe,st,Qe,ht){let Dt=Ar.transform,Ot=_n(),$t=je==="map",ir=Xe==="map";for(let pr of fr){let zr=ze.getTile(pr),Wr=zr.getBucket(Le);if(!Wr||!Wr.text||!Wr.text.segments.get().length)continue;let ia=e.ag(Wr.textSizeData,Dt.zoom),Sa=ca(zr,1,Ar.transform.zoom),ln=Ut(pr.posMatrix,ir,$t,Ar.transform,Sa),an=Le.layout.get("icon-text-fit")!=="none"&&Wr.hasIconData();if(ia){let wn=Math.pow(2,Dt.zoom-zr.tileID.overscaledZ),ei=Ar.style.map.terrain?(pi,Ki)=>Ar.style.map.terrain.getElevation(pr,pi,Ki):null,Mi=Ot.translatePosition(Dt,zr,st,Qe);Zu(Wr,$t,ir,ht,Dt,ln,pr.posMatrix,wn,ia,an,Ot,Mi,pr.toUnwrapped(),ei)}}}(dt,Ae,et,Ye,et.layout.get("text-rotation-alignment"),et.layout.get("text-pitch-alignment"),et.paint.get("text-translate"),et.paint.get("text-translate-anchor"),St),et.paint.get("icon-opacity").constantOr(1)!==0&&ef(Ae,Ye,et,dt,!1,et.paint.get("icon-translate"),et.paint.get("icon-translate-anchor"),et.layout.get("icon-rotation-alignment"),et.layout.get("icon-pitch-alignment"),et.layout.get("icon-keep-upright"),Ht,Wt),et.paint.get("text-opacity").constantOr(1)!==0&&ef(Ae,Ye,et,dt,!0,et.paint.get("text-translate"),et.paint.get("text-translate-anchor"),et.layout.get("text-rotation-alignment"),et.layout.get("text-pitch-alignment"),et.layout.get("text-keep-upright"),Ht,Wt),Ye.map.showCollisionBoxes&&(hc(Ae,Ye,et,dt,!0),hc(Ae,Ye,et,dt,!1))})(L,J,fe,de,this.style.placement.variableOffsets);break;case"circle":(function(Ae,Ye,et,dt){if(Ae.renderPass!=="translucent")return;let St=et.paint.get("circle-opacity"),Ht=et.paint.get("circle-stroke-width"),Wt=et.paint.get("circle-stroke-opacity"),fr=!et.layout.get("circle-sort-key").isConstant();if(St.constantOr(1)===0&&(Ht.constantOr(1)===0||Wt.constantOr(1)===0))return;let Ar=Ae.context,Le=Ar.gl,ze=Ae.depthModeForSublayer(0,Xo.ReadOnly),je=ns.disabled,Xe=Ae.colorModeForRenderPass(),st=[];for(let Qe=0;QeQe.sortKey-ht.sortKey);for(let Qe of st){let{programConfiguration:ht,program:Dt,layoutVertexBuffer:Ot,indexBuffer:$t,uniformValues:ir,terrainData:pr}=Qe.state;Dt.draw(Ar,Le.TRIANGLES,ze,je,Xe,so.disabled,ir,pr,et.id,Ot,$t,Qe.segments,et.paint,Ae.transform.zoom,ht)}})(L,J,fe,de);break;case"heatmap":(function(Ae,Ye,et,dt){if(et.paint.get("heatmap-opacity")===0)return;let St=Ae.context;if(Ae.style.map.terrain){for(let Ht of dt){let Wt=Ye.getTile(Ht);Ye.hasRenderableParent(Ht)||(Ae.renderPass==="offscreen"?Ku(Ae,Wt,et,Ht):Ae.renderPass==="translucent"&&Ju(Ae,et,Ht))}St.viewport.set([0,0,Ae.width,Ae.height])}else Ae.renderPass==="offscreen"?function(Ht,Wt,fr,Ar){let Le=Ht.context,ze=Le.gl,je=ns.disabled,Xe=new Hs([ze.ONE,ze.ONE],e.aM.transparent,[!0,!0,!0,!0]);(function(st,Qe,ht){let Dt=st.gl;st.activeTexture.set(Dt.TEXTURE1),st.viewport.set([0,0,Qe.width/4,Qe.height/4]);let Ot=ht.heatmapFbos.get(e.aU);Ot?(Dt.bindTexture(Dt.TEXTURE_2D,Ot.colorAttachment.get()),st.bindFramebuffer.set(Ot.framebuffer)):(Ot=Bc(st,Qe.width/4,Qe.height/4),ht.heatmapFbos.set(e.aU,Ot))})(Le,Ht,fr),Le.clear({color:e.aM.transparent});for(let st=0;st20&&Ht.texParameterf(Ht.TEXTURE_2D,St.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,St.extTextureFilterAnisotropicMax);let Wr=Ae.style.map.terrain&&Ae.style.map.terrain.getTerrainData(st),ia=Wr?st:null,Sa=ia?ia.posMatrix:Ae.transform.calculatePosMatrix(st.toUnwrapped(),Xe),ln=Co(Sa,pr||[0,0],ir||1,$t,et);Wt instanceof Ue?fr.draw(St,Ht.TRIANGLES,Qe,ns.disabled,Ar,so.disabled,ln,Wr,et.id,Wt.boundsBuffer,Ae.quadTriangleIndexBuffer,Wt.boundsSegments):fr.draw(St,Ht.TRIANGLES,Qe,Le[st.overscaledZ],Ar,so.disabled,ln,Wr,et.id,Ae.rasterBoundsBuffer,Ae.quadTriangleIndexBuffer,Ae.rasterBoundsSegments)}})(L,J,fe,de);break;case"background":(function(Ae,Ye,et,dt){let St=et.paint.get("background-color"),Ht=et.paint.get("background-opacity");if(Ht===0)return;let Wt=Ae.context,fr=Wt.gl,Ar=Ae.transform,Le=Ar.tileSize,ze=et.paint.get("background-pattern");if(Ae.isPatternMissing(ze))return;let je=!ze&&St.a===1&&Ht===1&&Ae.opaquePassEnabledForLayer()?"opaque":"translucent";if(Ae.renderPass!==je)return;let Xe=ns.disabled,st=Ae.depthModeForSublayer(0,je==="opaque"?Xo.ReadWrite:Xo.ReadOnly),Qe=Ae.colorModeForRenderPass(),ht=Ae.useProgram(ze?"backgroundPattern":"background"),Dt=dt||Ar.coveringTiles({tileSize:Le,terrain:Ae.style.map.terrain});ze&&(Wt.activeTexture.set(fr.TEXTURE0),Ae.imageManager.bind(Ae.context));let Ot=et.getCrossfadeParameters();for(let $t of Dt){let ir=dt?$t.posMatrix:Ae.transform.calculatePosMatrix($t.toUnwrapped()),pr=ze?ro(ir,Ht,Ae,ze,{tileID:$t,tileSize:Le},Ot):ho(ir,Ht,St),zr=Ae.style.map.terrain&&Ae.style.map.terrain.getTerrainData($t);ht.draw(Wt,fr.TRIANGLES,st,Xe,Qe,so.disabled,pr,zr,et.id,Ae.tileExtentBuffer,Ae.quadTriangleIndexBuffer,Ae.tileExtentSegments)}})(L,0,fe,de);break;case"custom":(function(Ae,Ye,et){let dt=Ae.context,St=et.implementation;if(Ae.renderPass==="offscreen"){let Ht=St.prerender;Ht&&(Ae.setCustomLayerDefaults(),dt.setColorMode(Ae.colorModeForRenderPass()),Ht.call(St,dt.gl,Ae.transform.customLayerMatrix()),dt.setDirty(),Ae.setBaseState())}else if(Ae.renderPass==="translucent"){Ae.setCustomLayerDefaults(),dt.setColorMode(Ae.colorModeForRenderPass()),dt.setStencilMode(ns.disabled);let Ht=St.renderingMode==="3d"?new Xo(Ae.context.gl.LEQUAL,Xo.ReadWrite,Ae.depthRangeFor3D):Ae.depthModeForSublayer(0,Xo.ReadOnly);dt.setDepthMode(Ht),St.render(dt.gl,Ae.transform.customLayerMatrix(),{farZ:Ae.transform.farZ,nearZ:Ae.transform.nearZ,fov:Ae.transform._fov,modelViewProjectionMatrix:Ae.transform.modelViewProjectionMatrix,projectionMatrix:Ae.transform.projectionMatrix}),dt.setDirty(),Ae.setBaseState(),dt.bindFramebuffer.set(null)}})(L,0,fe)}}translatePosMatrix(L,J,fe,de,Ae){if(!fe[0]&&!fe[1])return L;let Ye=Ae?de==="map"?this.transform.angle:0:de==="viewport"?-this.transform.angle:0;if(Ye){let St=Math.sin(Ye),Ht=Math.cos(Ye);fe=[fe[0]*Ht-fe[1]*St,fe[0]*St+fe[1]*Ht]}let et=[Ae?fe[0]:ca(J,fe[0],this.transform.zoom),Ae?fe[1]:ca(J,fe[1],this.transform.zoom),0],dt=new Float32Array(16);return e.J(dt,L,et),dt}saveTileTexture(L){let J=this._tileTextures[L.size[0]];J?J.push(L):this._tileTextures[L.size[0]]=[L]}getTileTexture(L){let J=this._tileTextures[L];return J&&J.length>0?J.pop():null}isPatternMissing(L){if(!L)return!1;if(!L.from||!L.to)return!0;let J=this.imageManager.getPattern(L.from.toString()),fe=this.imageManager.getPattern(L.to.toString());return!J||!fe}useProgram(L,J){this.cache=this.cache||{};let fe=L+(J?J.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"")+(this.style.map.terrain?"/terrain":"");return this.cache[fe]||(this.cache[fe]=new Tr(this.context,rr[L],J,es[L],this._showOverdrawInspector,this.style.map.terrain)),this.cache[fe]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){let L=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(L.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new h(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:L,drawingBufferHeight:J}=this.context.gl;return this.width!==L||this.height!==J}}class Fs{constructor(L,J){this.points=L,this.planes=J}static fromInvProjectionMatrix(L,J,fe){let de=Math.pow(2,fe),Ae=[[-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(et=>{let dt=1/(et=e.af([],et,L))[3]/J*de;return e.b1(et,et,[dt,dt,1/et[3],dt])}),Ye=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(et=>{let dt=function(fr,Ar){var Le=Ar[0],ze=Ar[1],je=Ar[2],Xe=Le*Le+ze*ze+je*je;return Xe>0&&(Xe=1/Math.sqrt(Xe)),fr[0]=Ar[0]*Xe,fr[1]=Ar[1]*Xe,fr[2]=Ar[2]*Xe,fr}([],function(fr,Ar,Le){var ze=Ar[0],je=Ar[1],Xe=Ar[2],st=Le[0],Qe=Le[1],ht=Le[2];return fr[0]=je*ht-Xe*Qe,fr[1]=Xe*st-ze*ht,fr[2]=ze*Qe-je*st,fr}([],E([],Ae[et[0]],Ae[et[1]]),E([],Ae[et[2]],Ae[et[1]]))),St=-((Ht=dt)[0]*(Wt=Ae[et[1]])[0]+Ht[1]*Wt[1]+Ht[2]*Wt[2]);var Ht,Wt;return dt.concat(St)});return new Fs(Ae,Ye)}}class Du{constructor(L,J){this.min=L,this.max=J,this.center=function(fe,de,Ae){return fe[0]=.5*de[0],fe[1]=.5*de[1],fe[2]=.5*de[2],fe}([],function(fe,de,Ae){return fe[0]=de[0]+Ae[0],fe[1]=de[1]+Ae[1],fe[2]=de[2]+Ae[2],fe}([],this.min,this.max))}quadrant(L){let J=[L%2==0,L<2],fe=M(this.min),de=M(this.max);for(let Ae=0;Ae=0&&Ye++;if(Ye===0)return 0;Ye!==J.length&&(fe=!1)}if(fe)return 2;for(let de=0;de<3;de++){let Ae=Number.MAX_VALUE,Ye=-Number.MAX_VALUE;for(let et=0;etthis.max[de]-this.min[de])return 0}return 1}}class Nl{constructor(L=0,J=0,fe=0,de=0){if(isNaN(L)||L<0||isNaN(J)||J<0||isNaN(fe)||fe<0||isNaN(de)||de<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=L,this.bottom=J,this.left=fe,this.right=de}interpolate(L,J,fe){return J.top!=null&&L.top!=null&&(this.top=e.y.number(L.top,J.top,fe)),J.bottom!=null&&L.bottom!=null&&(this.bottom=e.y.number(L.bottom,J.bottom,fe)),J.left!=null&&L.left!=null&&(this.left=e.y.number(L.left,J.left,fe)),J.right!=null&&L.right!=null&&(this.right=e.y.number(L.right,J.right,fe)),this}getCenter(L,J){let fe=e.ac((this.left+L-this.right)/2,0,L),de=e.ac((this.top+J-this.bottom)/2,0,J);return new e.P(fe,de)}equals(L){return this.top===L.top&&this.bottom===L.bottom&&this.left===L.left&&this.right===L.right}clone(){return new Nl(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}let Hu=85.051129;class dc{constructor(L,J,fe,de,Ae){this.tileSize=512,this._renderWorldCopies=Ae===void 0||!!Ae,this._minZoom=L||0,this._maxZoom=J||22,this._minPitch=fe??0,this._maxPitch=de??60,this.setMaxBounds(),this.width=0,this.height=0,this._center=new e.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Nl,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){let L=new dc(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return L.apply(this),L}apply(L){this.tileSize=L.tileSize,this.latRange=L.latRange,this.lngRange=L.lngRange,this.width=L.width,this.height=L.height,this._center=L._center,this._elevation=L._elevation,this.minElevationForCurrentTile=L.minElevationForCurrentTile,this.zoom=L.zoom,this.angle=L.angle,this._fov=L._fov,this._pitch=L._pitch,this._unmodified=L._unmodified,this._edgeInsets=L._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(L){this._minZoom!==L&&(this._minZoom=L,this.zoom=Math.max(this.zoom,L))}get maxZoom(){return this._maxZoom}set maxZoom(L){this._maxZoom!==L&&(this._maxZoom=L,this.zoom=Math.min(this.zoom,L))}get minPitch(){return this._minPitch}set minPitch(L){this._minPitch!==L&&(this._minPitch=L,this.pitch=Math.max(this.pitch,L))}get maxPitch(){return this._maxPitch}set maxPitch(L){this._maxPitch!==L&&(this._maxPitch=L,this.pitch=Math.min(this.pitch,L))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(L){L===void 0?L=!0:L===null&&(L=!1),this._renderWorldCopies=L}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new e.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(L){let J=-e.b3(L,-180,180)*Math.PI/180;this.angle!==J&&(this._unmodified=!1,this.angle=J,this._calcMatrices(),this.rotationMatrix=function(){var fe=new e.A(4);return e.A!=Float32Array&&(fe[1]=0,fe[2]=0),fe[0]=1,fe[3]=1,fe}(),function(fe,de,Ae){var Ye=de[0],et=de[1],dt=de[2],St=de[3],Ht=Math.sin(Ae),Wt=Math.cos(Ae);fe[0]=Ye*Wt+dt*Ht,fe[1]=et*Wt+St*Ht,fe[2]=Ye*-Ht+dt*Wt,fe[3]=et*-Ht+St*Wt}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(L){let J=e.ac(L,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==J&&(this._unmodified=!1,this._pitch=J,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(L){L=Math.max(.01,Math.min(60,L)),this._fov!==L&&(this._unmodified=!1,this._fov=L/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(L){let J=Math.min(Math.max(L,this.minZoom),this.maxZoom);this._zoom!==J&&(this._unmodified=!1,this._zoom=J,this.tileZoom=Math.max(0,Math.floor(J)),this.scale=this.zoomScale(J),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(L){L.lat===this._center.lat&&L.lng===this._center.lng||(this._unmodified=!1,this._center=L,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(L){L!==this._elevation&&(this._elevation=L,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(L){this._edgeInsets.equals(L)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,L,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(L){return this._edgeInsets.equals(L)}interpolatePadding(L,J,fe){this._unmodified=!1,this._edgeInsets.interpolate(L,J,fe),this._constrain(),this._calcMatrices()}coveringZoomLevel(L){let J=(L.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/L.tileSize));return Math.max(0,J)}getVisibleUnwrappedCoordinates(L){let J=[new e.b4(0,L)];if(this._renderWorldCopies){let fe=this.pointCoordinate(new e.P(0,0)),de=this.pointCoordinate(new e.P(this.width,0)),Ae=this.pointCoordinate(new e.P(this.width,this.height)),Ye=this.pointCoordinate(new e.P(0,this.height)),et=Math.floor(Math.min(fe.x,de.x,Ae.x,Ye.x)),dt=Math.floor(Math.max(fe.x,de.x,Ae.x,Ye.x)),St=1;for(let Ht=et-St;Ht<=dt+St;Ht++)Ht!==0&&J.push(new e.b4(Ht,L))}return J}coveringTiles(L){var J,fe;let de=this.coveringZoomLevel(L),Ae=de;if(L.minzoom!==void 0&&deL.maxzoom&&(de=L.maxzoom);let Ye=this.pointCoordinate(this.getCameraPoint()),et=e.Z.fromLngLat(this.center),dt=Math.pow(2,de),St=[dt*Ye.x,dt*Ye.y,0],Ht=[dt*et.x,dt*et.y,0],Wt=Fs.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,de),fr=L.minzoom||0;!L.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(fr=de);let Ar=L.terrain?2/Math.min(this.tileSize,L.tileSize)*this.tileSize:3,Le=Qe=>({aabb:new Du([Qe*dt,0,0],[(Qe+1)*dt,dt,0]),zoom:0,x:0,y:0,wrap:Qe,fullyVisible:!1}),ze=[],je=[],Xe=de,st=L.reparseOverscaled?Ae:de;if(this._renderWorldCopies)for(let Qe=1;Qe<=3;Qe++)ze.push(Le(-Qe)),ze.push(Le(Qe));for(ze.push(Le(0));ze.length>0;){let Qe=ze.pop(),ht=Qe.x,Dt=Qe.y,Ot=Qe.fullyVisible;if(!Ot){let Wr=Qe.aabb.intersects(Wt);if(Wr===0)continue;Ot=Wr===2}let $t=L.terrain?St:Ht,ir=Qe.aabb.distanceX($t),pr=Qe.aabb.distanceY($t),zr=Math.max(Math.abs(ir),Math.abs(pr));if(Qe.zoom===Xe||zr>Ar+(1<=fr){let Wr=Xe-Qe.zoom,ia=St[0]-.5-(ht<>1),ln=Qe.zoom+1,an=Qe.aabb.quadrant(Wr);if(L.terrain){let wn=new e.S(ln,Qe.wrap,ln,ia,Sa),ei=L.terrain.getMinMaxElevation(wn),Mi=(J=ei.minElevation)!==null&&J!==void 0?J:this.elevation,pi=(fe=ei.maxElevation)!==null&&fe!==void 0?fe:this.elevation;an=new Du([an.min[0],an.min[1],Mi],[an.max[0],an.max[1],pi])}ze.push({aabb:an,zoom:ln,x:ia,y:Sa,wrap:Qe.wrap,fullyVisible:Ot})}}return je.sort((Qe,ht)=>Qe.distanceSq-ht.distanceSq).map(Qe=>Qe.tileID)}resize(L,J){this.width=L,this.height=J,this.pixelsToGLUnits=[2/L,-2/J],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(L){return Math.pow(2,L)}scaleZoom(L){return Math.log(L)/Math.LN2}project(L){let J=e.ac(L.lat,-85.051129,Hu);return new e.P(e.O(L.lng)*this.worldSize,e.Q(J)*this.worldSize)}unproject(L){return new e.Z(L.x/this.worldSize,L.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(L){let J=this.elevation,fe=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,de=this.pointLocation(this.centerPoint,L),Ae=L.getElevationForLngLatZoom(de,this.tileZoom);if(!(this.elevation-Ae))return;let Ye=fe+J-Ae,et=Math.cos(this._pitch)*this.cameraToCenterDistance/Ye/e.b5(1,de.lat),dt=this.scaleZoom(et/this.tileSize);this._elevation=Ae,this._center=de,this.zoom=dt}setLocationAtPoint(L,J){let fe=this.pointCoordinate(J),de=this.pointCoordinate(this.centerPoint),Ae=this.locationCoordinate(L),Ye=new e.Z(Ae.x-(fe.x-de.x),Ae.y-(fe.y-de.y));this.center=this.coordinateLocation(Ye),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(L,J){return J?this.coordinatePoint(this.locationCoordinate(L),J.getElevationForLngLatZoom(L,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(L))}pointLocation(L,J){return this.coordinateLocation(this.pointCoordinate(L,J))}locationCoordinate(L){return e.Z.fromLngLat(L)}coordinateLocation(L){return L&&L.toLngLat()}pointCoordinate(L,J){if(J){let fr=J.pointCoordinate(L);if(fr!=null)return fr}let fe=[L.x,L.y,0,1],de=[L.x,L.y,1,1];e.af(fe,fe,this.pixelMatrixInverse),e.af(de,de,this.pixelMatrixInverse);let Ae=fe[3],Ye=de[3],et=fe[1]/Ae,dt=de[1]/Ye,St=fe[2]/Ae,Ht=de[2]/Ye,Wt=St===Ht?0:(0-St)/(Ht-St);return new e.Z(e.y.number(fe[0]/Ae,de[0]/Ye,Wt)/this.worldSize,e.y.number(et,dt,Wt)/this.worldSize)}coordinatePoint(L,J=0,fe=this.pixelMatrix){let de=[L.x*this.worldSize,L.y*this.worldSize,J,1];return e.af(de,de,fe),new e.P(de[0]/de[3],de[1]/de[3])}getBounds(){let L=Math.max(0,this.height/2-this.getHorizon());return new re().extend(this.pointLocation(new e.P(0,L))).extend(this.pointLocation(new e.P(this.width,L))).extend(this.pointLocation(new e.P(this.width,this.height))).extend(this.pointLocation(new e.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(L){L?(this.lngRange=[L.getWest(),L.getEast()],this.latRange=[L.getSouth(),L.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,Hu])}calculateTileMatrix(L){let J=L.canonical,fe=this.worldSize/this.zoomScale(J.z),de=J.x+Math.pow(2,J.z)*L.wrap,Ae=e.an(new Float64Array(16));return e.J(Ae,Ae,[de*fe,J.y*fe,0]),e.K(Ae,Ae,[fe/e.X,fe/e.X,1]),Ae}calculatePosMatrix(L,J=!1){let fe=L.key,de=J?this._alignedPosMatrixCache:this._posMatrixCache;if(de[fe])return de[fe];let Ae=this.calculateTileMatrix(L);return e.L(Ae,J?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,Ae),de[fe]=new Float32Array(Ae),de[fe]}calculateFogMatrix(L){let J=L.key,fe=this._fogMatrixCache;if(fe[J])return fe[J];let de=this.calculateTileMatrix(L);return e.L(de,this.fogMatrix,de),fe[J]=new Float32Array(de),fe[J]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(L,J){J=e.ac(+J,this.minZoom,this.maxZoom);let fe={center:new e.N(L.lng,L.lat),zoom:J},de=this.lngRange;if(!this._renderWorldCopies&&de===null){let Qe=179.9999999999;de=[-Qe,Qe]}let Ae=this.tileSize*this.zoomScale(fe.zoom),Ye=0,et=Ae,dt=0,St=Ae,Ht=0,Wt=0,{x:fr,y:Ar}=this.size;if(this.latRange){let Qe=this.latRange;Ye=e.Q(Qe[1])*Ae,et=e.Q(Qe[0])*Ae,et-Yeet&&(Xe=et-Qe)}if(de){let Qe=(dt+St)/2,ht=Le;this._renderWorldCopies&&(ht=e.b3(Le,Qe-Ae/2,Qe+Ae/2));let Dt=fr/2;ht-DtSt&&(je=St-Dt)}if(je!==void 0||Xe!==void 0){let Qe=new e.P(je??Le,Xe??ze);fe.center=this.unproject.call({worldSize:Ae},Qe).wrap()}return fe}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let L=this._unmodified,{center:J,zoom:fe}=this.getConstrained(this.center,this.zoom);this.center=J,this.zoom=fe,this._unmodified=L,this._constraining=!1}_calcMatrices(){if(!this.height)return;let L=this.centerOffset,J=this.point.x,fe=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=e.b5(1,this.center.lat)*this.worldSize;let de=e.an(new Float64Array(16));e.K(de,de,[this.width/2,-this.height/2,1]),e.J(de,de,[1,-1,0]),this.labelPlaneMatrix=de,de=e.an(new Float64Array(16)),e.K(de,de,[1,-1,1]),e.J(de,de,[-1,-1,0]),e.K(de,de,[2/this.width,2/this.height,1]),this.glCoordMatrix=de;let Ae=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),Ye=Math.min(this.elevation,this.minElevationForCurrentTile),et=Ae-Ye*this._pixelPerMeter/Math.cos(this._pitch),dt=Ye<0?et:Ae,St=Math.PI/2+this._pitch,Ht=this._fov*(.5+L.y/this.height),Wt=Math.sin(Ht)*dt/Math.sin(e.ac(Math.PI-St-Ht,.01,Math.PI-.01)),fr=this.getHorizon(),Ar=2*Math.atan(fr/this.cameraToCenterDistance)*(.5+L.y/(2*fr)),Le=Math.sin(Ar)*dt/Math.sin(e.ac(Math.PI-St-Ar,.01,Math.PI-.01)),ze=Math.min(Wt,Le);this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*ze+dt),this.nearZ=this.height/50,de=new Float64Array(16),e.b6(de,this._fov,this.width/this.height,this.nearZ,this.farZ),de[8]=2*-L.x/this.width,de[9]=2*L.y/this.height,this.projectionMatrix=e.ae(de),e.K(de,de,[1,-1,1]),e.J(de,de,[0,0,-this.cameraToCenterDistance]),e.b7(de,de,this._pitch),e.ad(de,de,this.angle),e.J(de,de,[-J,-fe,0]),this.mercatorMatrix=e.K([],de,[this.worldSize,this.worldSize,this.worldSize]),e.K(de,de,[1,1,this._pixelPerMeter]),this.pixelMatrix=e.L(new Float64Array(16),this.labelPlaneMatrix,de),e.J(de,de,[0,0,-this.elevation]),this.modelViewProjectionMatrix=de,this.invModelViewProjectionMatrix=e.as([],de),this.fogMatrix=new Float64Array(16),e.b6(this.fogMatrix,this._fov,this.width/this.height,Ae,this.farZ),this.fogMatrix[8]=2*-L.x/this.width,this.fogMatrix[9]=2*L.y/this.height,e.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),e.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),e.b7(this.fogMatrix,this.fogMatrix,this._pitch),e.ad(this.fogMatrix,this.fogMatrix,this.angle),e.J(this.fogMatrix,this.fogMatrix,[-J,-fe,0]),e.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),e.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=e.L(new Float64Array(16),this.labelPlaneMatrix,de);let je=this.width%2/2,Xe=this.height%2/2,st=Math.cos(this.angle),Qe=Math.sin(this.angle),ht=J-Math.round(J)+st*je+Qe*Xe,Dt=fe-Math.round(fe)+st*Xe+Qe*je,Ot=new Float64Array(de);if(e.J(Ot,Ot,[ht>.5?ht-1:ht,Dt>.5?Dt-1:Dt,0]),this.alignedModelViewProjectionMatrix=Ot,de=e.as(new Float64Array(16),this.pixelMatrix),!de)throw new Error("failed to invert matrix");this.pixelMatrixInverse=de,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let L=this.pointCoordinate(new e.P(0,0)),J=[L.x*this.worldSize,L.y*this.worldSize,0,1];return e.af(J,J,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let L=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new e.P(0,L))}getCameraQueryGeometry(L){let J=this.getCameraPoint();if(L.length===1)return[L[0],J];{let fe=J.x,de=J.y,Ae=J.x,Ye=J.y;for(let et of L)fe=Math.min(fe,et.x),de=Math.min(de,et.y),Ae=Math.max(Ae,et.x),Ye=Math.max(Ye,et.y);return[new e.P(fe,de),new e.P(Ae,de),new e.P(Ae,Ye),new e.P(fe,Ye),new e.P(fe,de)]}}lngLatToCameraDepth(L,J){let fe=this.locationCoordinate(L),de=[fe.x*this.worldSize,fe.y*this.worldSize,J,1];return e.af(de,de,this.modelViewProjectionMatrix),de[2]/de[3]}}function Oc(Me,L){let J,fe=!1,de=null,Ae=null,Ye=()=>{de=null,fe&&(Me.apply(Ae,J),de=setTimeout(Ye,L),fe=!1)};return(...et)=>(fe=!0,Ae=this,J=et,de||Ye(),de)}class nf{constructor(L){this._getCurrentHash=()=>{let J=window.location.hash.replace("#","");if(this._hashName){let fe;return J.split("&").map(de=>de.split("=")).forEach(de=>{de[0]===this._hashName&&(fe=de)}),(fe&&fe[1]||"").split("/")}return J.split("/")},this._onHashChange=()=>{let J=this._getCurrentHash();if(J.length>=3&&!J.some(fe=>isNaN(fe))){let fe=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(J[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+J[2],+J[1]],zoom:+J[0],bearing:fe,pitch:+(J[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let J=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,J)},this._removeHash=()=>{let J=this._getCurrentHash();if(J.length===0)return;let fe=J.join("/"),de=fe;de.split("&").length>0&&(de=de.split("&")[0]),this._hashName&&(de=`${this._hashName}=${fe}`);let Ae=window.location.hash.replace(de,"");Ae.startsWith("#&")?Ae=Ae.slice(0,1)+Ae.slice(2):Ae==="#"&&(Ae="");let Ye=window.location.href.replace(/(#.+)?$/,Ae);Ye=Ye.replace("&&","&"),window.history.replaceState(window.history.state,null,Ye)},this._updateHash=Oc(this._updateHashUnthrottled,300),this._hashName=L&&encodeURIComponent(L)}addTo(L){return this._map=L,addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this}remove(){return removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),this._removeHash(),delete this._map,this}getHashString(L){let J=this._map.getCenter(),fe=Math.round(100*this._map.getZoom())/100,de=Math.ceil((fe*Math.LN2+Math.log(512/360/.5))/Math.LN10),Ae=Math.pow(10,de),Ye=Math.round(J.lng*Ae)/Ae,et=Math.round(J.lat*Ae)/Ae,dt=this._map.getBearing(),St=this._map.getPitch(),Ht="";if(Ht+=L?`/${Ye}/${et}/${fe}`:`${fe}/${et}/${Ye}`,(dt||St)&&(Ht+="/"+Math.round(10*dt)/10),St&&(Ht+=`/${Math.round(St)}`),this._hashName){let Wt=this._hashName,fr=!1,Ar=window.location.hash.slice(1).split("&").map(Le=>{let ze=Le.split("=")[0];return ze===Wt?(fr=!0,`${ze}=${Ht}`):Le}).filter(Le=>Le);return fr||Ar.push(`${Wt}=${Ht}`),`#${Ar.join("&")}`}return`#${Ht}`}}let gu={linearity:.3,easing:e.b8(0,0,.3,1)},Ru=e.e({deceleration:2500,maxSpeed:1400},gu),Mu=e.e({deceleration:20,maxSpeed:1400},gu),Xf=e.e({deceleration:1e3,maxSpeed:360},gu),vc=e.e({deceleration:1e3,maxSpeed:90},gu);class kf{constructor(L){this._map=L,this.clear()}clear(){this._inertiaBuffer=[]}record(L){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:n.now(),settings:L})}_drainInertiaBuffer(){let L=this._inertiaBuffer,J=n.now();for(;L.length>0&&J-L[0].time>160;)L.shift()}_onMoveEnd(L){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let J={zoom:0,bearing:0,pitch:0,pan:new e.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:Ae}of this._inertiaBuffer)J.zoom+=Ae.zoomDelta||0,J.bearing+=Ae.bearingDelta||0,J.pitch+=Ae.pitchDelta||0,Ae.panDelta&&J.pan._add(Ae.panDelta),Ae.around&&(J.around=Ae.around),Ae.pinchAround&&(J.pinchAround=Ae.pinchAround);let fe=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,de={};if(J.pan.mag()){let Ae=tc(J.pan.mag(),fe,e.e({},Ru,L||{}));de.offset=J.pan.mult(Ae.amount/J.pan.mag()),de.center=this._map.transform.center,Yl(de,Ae)}if(J.zoom){let Ae=tc(J.zoom,fe,Mu);de.zoom=this._map.transform.zoom+Ae.amount,Yl(de,Ae)}if(J.bearing){let Ae=tc(J.bearing,fe,Xf);de.bearing=this._map.transform.bearing+e.ac(Ae.amount,-179,179),Yl(de,Ae)}if(J.pitch){let Ae=tc(J.pitch,fe,vc);de.pitch=this._map.transform.pitch+Ae.amount,Yl(de,Ae)}if(de.zoom||de.bearing){let Ae=J.pinchAround===void 0?J.around:J.pinchAround;de.around=Ae?this._map.unproject(Ae):this._map.getCenter()}return this.clear(),e.e(de,{noMoveStart:!0})}}function Yl(Me,L){(!Me.duration||Me.durationJ.unproject(dt)),et=Ae.reduce((dt,St,Ht,Wt)=>dt.add(St.div(Wt.length)),new e.P(0,0));super(L,{points:Ae,point:et,lngLats:Ye,lngLat:J.unproject(et),originalEvent:fe}),this._defaultPrevented=!1}}class Nf extends e.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(L,J,fe){super(L,{originalEvent:fe}),this._defaultPrevented=!1}}class Uc{constructor(L,J){this._map=L,this._clickTolerance=J.clickTolerance}reset(){delete this._mousedownPos}wheel(L){return this._firePreventable(new Nf(L.type,this._map,L))}mousedown(L,J){return this._mousedownPos=J,this._firePreventable(new rl(L.type,this._map,L))}mouseup(L){this._map.fire(new rl(L.type,this._map,L))}click(L,J){this._mousedownPos&&this._mousedownPos.dist(J)>=this._clickTolerance||this._map.fire(new rl(L.type,this._map,L))}dblclick(L){return this._firePreventable(new rl(L.type,this._map,L))}mouseover(L){this._map.fire(new rl(L.type,this._map,L))}mouseout(L){this._map.fire(new rl(L.type,this._map,L))}touchstart(L){return this._firePreventable(new Gu(L.type,this._map,L))}touchmove(L){this._map.fire(new Gu(L.type,this._map,L))}touchend(L){this._map.fire(new Gu(L.type,this._map,L))}touchcancel(L){this._map.fire(new Gu(L.type,this._map,L))}_firePreventable(L){if(this._map.fire(L),L.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class ws{constructor(L){this._map=L}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(L){this._map.fire(new rl(L.type,this._map,L))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new rl("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(L){this._delayContextMenu?this._contextMenuEvent=L:this._ignoreContextMenu||this._map.fire(new rl(L.type,this._map,L)),this._map.listens("contextmenu")&&L.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Pl{constructor(L){this._map=L}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(L){return this.transform.pointLocation(e.P.convert(L),this._map.terrain)}}class Ol{constructor(L,J){this._map=L,this._tr=new Pl(L),this._el=L.getCanvasContainer(),this._container=L.getContainer(),this._clickTolerance=J.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(L,J){this.isEnabled()&&L.shiftKey&&L.button===0&&(i.disableDrag(),this._startPos=this._lastPos=J,this._active=!0)}mousemoveWindow(L,J){if(!this._active)return;let fe=J;if(this._lastPos.equals(fe)||!this._box&&fe.dist(this._startPos)Ae.fitScreenCoordinates(fe,de,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",L)}keydown(L){this._active&&L.keyCode===27&&(this.reset(),this._fireEvent("boxzoomcancel",L))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(i.remove(this._box),this._box=null),i.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(L,J){return this._map.fire(new e.k(L,{originalEvent:J}))}}function jc(Me,L){if(Me.length!==L.length)throw new Error(`The number of touches and points are not equal - touches ${Me.length}, points ${L.length}`);let J={};for(let fe=0;fethis.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=L.timeStamp),fe.length===this.numTouches&&(this.centroid=function(de){let Ae=new e.P(0,0);for(let Ye of de)Ae._add(Ye);return Ae.div(de.length)}(J),this.touches=jc(fe,J)))}touchmove(L,J,fe){if(this.aborted||!this.centroid)return;let de=jc(fe,J);for(let Ae in this.touches){let Ye=de[Ae];(!Ye||Ye.dist(this.touches[Ae])>30)&&(this.aborted=!0)}}touchend(L,J,fe){if((!this.centroid||L.timeStamp-this.startTime>500)&&(this.aborted=!0),fe.length===0){let de=!this.aborted&&this.centroid;if(this.reset(),de)return de}}}class rc{constructor(L){this.singleTap=new qc(L),this.numTaps=L.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(L,J,fe){this.singleTap.touchstart(L,J,fe)}touchmove(L,J,fe){this.singleTap.touchmove(L,J,fe)}touchend(L,J,fe){let de=this.singleTap.touchend(L,J,fe);if(de){let Ae=L.timeStamp-this.lastTime<500,Ye=!this.lastTap||this.lastTap.dist(de)<30;if(Ae&&Ye||this.reset(),this.count++,this.lastTime=L.timeStamp,this.lastTap=de,this.count===this.numTaps)return this.reset(),de}}}class ac{constructor(L){this._tr=new Pl(L),this._zoomIn=new rc({numTouches:1,numTaps:2}),this._zoomOut=new rc({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(L,J,fe){this._zoomIn.touchstart(L,J,fe),this._zoomOut.touchstart(L,J,fe)}touchmove(L,J,fe){this._zoomIn.touchmove(L,J,fe),this._zoomOut.touchmove(L,J,fe)}touchend(L,J,fe){let de=this._zoomIn.touchend(L,J,fe),Ae=this._zoomOut.touchend(L,J,fe),Ye=this._tr;return de?(this._active=!0,L.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:et=>et.easeTo({duration:300,zoom:Ye.zoom+1,around:Ye.unproject(de)},{originalEvent:L})}):Ae?(this._active=!0,L.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:et=>et.easeTo({duration:300,zoom:Ye.zoom-1,around:Ye.unproject(Ae)},{originalEvent:L})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class nu{constructor(L){this._enabled=!!L.enable,this._moveStateManager=L.moveStateManager,this._clickTolerance=L.clickTolerance||1,this._moveFunction=L.move,this._activateOnStart=!!L.activateOnStart,L.assignEvents(this),this.reset()}reset(L){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(L)}_move(...L){let J=this._moveFunction(...L);if(J.bearingDelta||J.pitchDelta||J.around||J.panDelta)return this._active=!0,J}dragStart(L,J){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(L)&&(this._moveStateManager.startMove(L),this._lastPoint=J.length?J[0]:J,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(L,J){if(!this.isEnabled())return;let fe=this._lastPoint;if(!fe)return;if(L.preventDefault(),!this._moveStateManager.isValidMoveEvent(L))return void this.reset(L);let de=J.length?J[0]:J;return!this._moved&&de.dist(fe){Me.mousedown=Me.dragStart,Me.mousemoveWindow=Me.dragMove,Me.mouseup=Me.dragEnd,Me.contextmenu=L=>{L.preventDefault()}},of=({enable:Me,clickTolerance:L,bearingDegreesPerPixelMoved:J=.8})=>{let fe=new Wu({checkCorrectEvent:de=>i.mouseButton(de)===0&&de.ctrlKey||i.mouseButton(de)===2});return new nu({clickTolerance:L,move:(de,Ae)=>({bearingDelta:(Ae.x-de.x)*J}),moveStateManager:fe,enable:Me,assignEvents:Hc})},Cf=({enable:Me,clickTolerance:L,pitchDegreesPerPixelMoved:J=-.5})=>{let fe=new Wu({checkCorrectEvent:de=>i.mouseButton(de)===0&&de.ctrlKey||i.mouseButton(de)===2});return new nu({clickTolerance:L,move:(de,Ae)=>({pitchDelta:(Ae.y-de.y)*J}),moveStateManager:fe,enable:Me,assignEvents:Hc})};class Mc{constructor(L,J){this._clickTolerance=L.clickTolerance||1,this._map=J,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new e.P(0,0)}_shouldBePrevented(L){return L<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(L,J,fe){return this._calculateTransform(L,J,fe)}touchmove(L,J,fe){if(this._active){if(!this._shouldBePrevented(fe.length))return L.preventDefault(),this._calculateTransform(L,J,fe);this._map.cooperativeGestures.notifyGestureBlocked("touch_pan",L)}}touchend(L,J,fe){this._calculateTransform(L,J,fe),this._active&&this._shouldBePrevented(fe.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(L,J,fe){fe.length>0&&(this._active=!0);let de=jc(fe,J),Ae=new e.P(0,0),Ye=new e.P(0,0),et=0;for(let St in de){let Ht=de[St],Wt=this._touches[St];Wt&&(Ae._add(Ht),Ye._add(Ht.sub(Wt)),et++,de[St]=Ht)}if(this._touches=de,this._shouldBePrevented(et)||!Ye.mag())return;let dt=Ye.div(et);return this._sum._add(dt),this._sum.mag()Math.abs(Me.x)}class Fu extends sf{constructor(L){super(),this._currentTouchCount=0,this._map=L}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(L,J,fe){super.touchstart(L,J,fe),this._currentTouchCount=fe.length}_start(L){this._lastPoints=L,Ec(L[0].sub(L[1]))&&(this._valid=!1)}_move(L,J,fe){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let de=L[0].sub(this._lastPoints[0]),Ae=L[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(de,Ae,fe.timeStamp),this._valid?(this._lastPoints=L,this._active=!0,{pitchDelta:(de.y+Ae.y)/2*-.5}):void 0}gestureBeginsVertically(L,J,fe){if(this._valid!==void 0)return this._valid;let de=L.mag()>=2,Ae=J.mag()>=2;if(!de&&!Ae)return;if(!de||!Ae)return this._firstMove===void 0&&(this._firstMove=fe),fe-this._firstMove<100&&void 0;let Ye=L.y>0==J.y>0;return Ec(L)&&Ec(J)&&Ye}}let Mt={panStep:100,bearingStep:15,pitchStep:10};class jt{constructor(L){this._tr=new Pl(L);let J=Mt;this._panStep=J.panStep,this._bearingStep=J.bearingStep,this._pitchStep=J.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(L){if(L.altKey||L.ctrlKey||L.metaKey)return;let J=0,fe=0,de=0,Ae=0,Ye=0;switch(L.keyCode){case 61:case 107:case 171:case 187:J=1;break;case 189:case 109:case 173:J=-1;break;case 37:L.shiftKey?fe=-1:(L.preventDefault(),Ae=-1);break;case 39:L.shiftKey?fe=1:(L.preventDefault(),Ae=1);break;case 38:L.shiftKey?de=1:(L.preventDefault(),Ye=-1);break;case 40:L.shiftKey?de=-1:(L.preventDefault(),Ye=1);break;default:return}return this._rotationDisabled&&(fe=0,de=0),{cameraAnimation:et=>{let dt=this._tr;et.easeTo({duration:300,easeId:"keyboardHandler",easing:_r,zoom:J?Math.round(dt.zoom)+J*(L.shiftKey?2:1):dt.zoom,bearing:dt.bearing+fe*this._bearingStep,pitch:dt.pitch+de*this._pitchStep,offset:[-Ae*this._panStep,-Ye*this._panStep],center:dt.center},{originalEvent:L})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function _r(Me){return Me*(2-Me)}let dr=4.000244140625;class ea{constructor(L,J){this._onTimeout=fe=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(fe)},this._map=L,this._tr=new Pl(L),this._triggerRenderFrame=J,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(L){this._defaultZoomRate=L}setWheelZoomRate(L){this._wheelZoomRate=L}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(L){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!L&&L.around==="center")}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(L){return!!this._map.cooperativeGestures.isEnabled()&&!(L.ctrlKey||this._map.cooperativeGestures.isBypassed(L))}wheel(L){if(!this.isEnabled())return;if(this._shouldBePrevented(L))return void this._map.cooperativeGestures.notifyGestureBlocked("wheel_zoom",L);let J=L.deltaMode===WheelEvent.DOM_DELTA_LINE?40*L.deltaY:L.deltaY,fe=n.now(),de=fe-(this._lastWheelEventTime||0);this._lastWheelEventTime=fe,J!==0&&J%dr==0?this._type="wheel":J!==0&&Math.abs(J)<4?this._type="trackpad":de>400?(this._type=null,this._lastValue=J,this._timeout=setTimeout(this._onTimeout,40,L)):this._type||(this._type=Math.abs(de*J)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,J+=this._lastValue)),L.shiftKey&&J&&(J/=4),this._type&&(this._lastWheelEvent=L,this._delta-=J,this._active||this._start(L)),L.preventDefault()}_start(L){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);let J=i.mousePos(this._map.getCanvas(),L),fe=this._tr;this._around=J.y>fe.transform.height/2-fe.transform.getHorizon()?e.N.convert(this._aroundCenter?fe.center:fe.unproject(J)):e.N.convert(fe.center),this._aroundPoint=fe.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let L=this._tr.transform;if(this._delta!==0){let dt=this._type==="wheel"&&Math.abs(this._delta)>dr?this._wheelZoomRate:this._defaultZoomRate,St=2/(1+Math.exp(-Math.abs(this._delta*dt)));this._delta<0&&St!==0&&(St=1/St);let Ht=typeof this._targetZoom=="number"?L.zoomScale(this._targetZoom):L.scale;this._targetZoom=Math.min(L.maxZoom,Math.max(L.minZoom,L.scaleZoom(Ht*St))),this._type==="wheel"&&(this._startZoom=L.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let J=typeof this._targetZoom=="number"?this._targetZoom:L.zoom,fe=this._startZoom,de=this._easing,Ae,Ye=!1,et=n.now()-this._lastWheelEventTime;if(this._type==="wheel"&&fe&&de&&et){let dt=Math.min(et/200,1),St=de(dt);Ae=e.y.number(fe,J,St),dt<1?this._frameId||(this._frameId=!0):Ye=!0}else Ae=J,Ye=!0;return this._active=!0,Ye&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!Ye,zoomDelta:Ae-L.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(L){let J=e.b9;if(this._prevEase){let fe=this._prevEase,de=(n.now()-fe.start)/fe.duration,Ae=fe.easing(de+.01)-fe.easing(de),Ye=.27/Math.sqrt(Ae*Ae+1e-4)*.01,et=Math.sqrt(.0729-Ye*Ye);J=e.b8(Ye,et,.25,1)}return this._prevEase={start:n.now(),duration:L,easing:J},J}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class Aa{constructor(L,J){this._clickZoom=L,this._tapZoom=J}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 Ga{constructor(L){this._tr=new Pl(L),this.reset()}reset(){this._active=!1}dblclick(L,J){return L.preventDefault(),{cameraAnimation:fe=>{fe.easeTo({duration:300,zoom:this._tr.zoom+(L.shiftKey?-1:1),around:this._tr.unproject(J)},{originalEvent:L})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class fn{constructor(){this._tap=new rc({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(L,J,fe){if(!this._swipePoint)if(this._tapTime){let de=J[0],Ae=L.timeStamp-this._tapTime<500,Ye=this._tapPoint.dist(de)<30;Ae&&Ye?fe.length>0&&(this._swipePoint=de,this._swipeTouch=fe[0].identifier):this.reset()}else this._tap.touchstart(L,J,fe)}touchmove(L,J,fe){if(this._tapTime){if(this._swipePoint){if(fe[0].identifier!==this._swipeTouch)return;let de=J[0],Ae=de.y-this._swipePoint.y;return this._swipePoint=de,L.preventDefault(),this._active=!0,{zoomDelta:Ae/128}}}else this._tap.touchmove(L,J,fe)}touchend(L,J,fe){if(this._tapTime)this._swipePoint&&fe.length===0&&this.reset();else{let de=this._tap.touchend(L,J,fe);de&&(this._tapTime=L.timeStamp,this._tapPoint=de)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class gn{constructor(L,J,fe){this._el=L,this._mousePan=J,this._touchPan=fe}enable(L){this._inertiaOptions=L||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("maplibregl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("maplibregl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class qn{constructor(L,J,fe){this._pitchWithRotate=L.pitchWithRotate,this._mouseRotate=J,this._mousePitch=fe}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 Wa{constructor(L,J,fe,de){this._el=L,this._touchZoom=J,this._touchRotate=fe,this._tapDragZoom=de,this._rotationDisabled=!1,this._enabled=!0}enable(L){this._touchZoom.enable(L),this._rotationDisabled||this._touchRotate.enable(L),this._tapDragZoom.enable(),this._el.classList.add("maplibregl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("maplibregl-touch-zoom-rotate")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}class $a{constructor(L,J){this._bypassKey=navigator.userAgent.indexOf("Mac")!==-1?"metaKey":"ctrlKey",this._map=L,this._options=J,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let L=this._map.getCanvasContainer();L.classList.add("maplibregl-cooperative-gestures"),this._container=i.create("div","maplibregl-cooperative-gesture-screen",L);let J=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");this._bypassKey==="metaKey"&&(J=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));let fe=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),de=document.createElement("div");de.className="maplibregl-desktop-message",de.textContent=J,this._container.appendChild(de);let Ae=document.createElement("div");Ae.className="maplibregl-mobile-message",Ae.textContent=fe,this._container.appendChild(Ae),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(L){return L[this._bypassKey]}notifyGestureBlocked(L,J){this._enabled&&(this._map.fire(new e.k("cooperativegestureprevented",{gestureType:L,originalEvent:J})),this._container.classList.add("maplibregl-show"),setTimeout(()=>{this._container.classList.remove("maplibregl-show")},100))}}let sn=Me=>Me.zoom||Me.drag||Me.pitch||Me.rotate;class Pa extends e.k{}function Qn(Me){return Me.panDelta&&Me.panDelta.mag()||Me.zoomDelta||Me.bearingDelta||Me.pitchDelta}class Ei{constructor(L,J){this.handleWindowEvent=de=>{this.handleEvent(de,`${de.type}Window`)},this.handleEvent=(de,Ae)=>{if(de.type==="blur")return void this.stop(!0);this._updatingCamera=!0;let Ye=de.type==="renderFrame"?void 0:de,et={needsRenderFrame:!1},dt={},St={},Ht=de.touches,Wt=Ht?this._getMapTouches(Ht):void 0,fr=Wt?i.touchPos(this._map.getCanvas(),Wt):i.mousePos(this._map.getCanvas(),de);for(let{handlerName:ze,handler:je,allowed:Xe}of this._handlers){if(!je.isEnabled())continue;let st;this._blockedByActive(St,Xe,ze)?je.reset():je[Ae||de.type]&&(st=je[Ae||de.type](de,fr,Wt),this.mergeHandlerResult(et,dt,st,ze,Ye),st&&st.needsRenderFrame&&this._triggerRenderFrame()),(st||je.isActive())&&(St[ze]=je)}let Ar={};for(let ze in this._previousActiveHandlers)St[ze]||(Ar[ze]=Ye);this._previousActiveHandlers=St,(Object.keys(Ar).length||Qn(et))&&(this._changes.push([et,dt,Ar]),this._triggerRenderFrame()),(Object.keys(St).length||Qn(et))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:Le}=et;Le&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],Le(this._map))},this._map=L,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new kf(L),this._bearingSnap=J.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(J);let fe=this._el;this._listeners=[[fe,"touchstart",{passive:!0}],[fe,"touchmove",{passive:!1}],[fe,"touchend",void 0],[fe,"touchcancel",void 0],[fe,"mousedown",void 0],[fe,"mousemove",void 0],[fe,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[fe,"mouseover",void 0],[fe,"mouseout",void 0],[fe,"dblclick",void 0],[fe,"click",void 0],[fe,"keydown",{capture:!1}],[fe,"keyup",void 0],[fe,"wheel",{passive:!1}],[fe,"contextmenu",void 0],[window,"blur",void 0]];for(let[de,Ae,Ye]of this._listeners)i.addEventListener(de,Ae,de===document?this.handleWindowEvent:this.handleEvent,Ye)}destroy(){for(let[L,J,fe]of this._listeners)i.removeEventListener(L,J,L===document?this.handleWindowEvent:this.handleEvent,fe)}_addDefaultHandlers(L){let J=this._map,fe=J.getCanvasContainer();this._add("mapEvent",new Uc(J,L));let de=J.boxZoom=new Ol(J,L);this._add("boxZoom",de),L.interactive&&L.boxZoom&&de.enable();let Ae=J.cooperativeGestures=new $a(J,L.cooperativeGestures);this._add("cooperativeGestures",Ae),L.cooperativeGestures&&Ae.enable();let Ye=new ac(J),et=new Ga(J);J.doubleClickZoom=new Aa(et,Ye),this._add("tapZoom",Ye),this._add("clickZoom",et),L.interactive&&L.doubleClickZoom&&J.doubleClickZoom.enable();let dt=new fn;this._add("tapDragZoom",dt);let St=J.touchPitch=new Fu(J);this._add("touchPitch",St),L.interactive&&L.touchPitch&&J.touchPitch.enable(L.touchPitch);let Ht=of(L),Wt=Cf(L);J.dragRotate=new qn(L,Ht,Wt),this._add("mouseRotate",Ht,["mousePitch"]),this._add("mousePitch",Wt,["mouseRotate"]),L.interactive&&L.dragRotate&&J.dragRotate.enable();let fr=(({enable:st,clickTolerance:Qe})=>{let ht=new Wu({checkCorrectEvent:Dt=>i.mouseButton(Dt)===0&&!Dt.ctrlKey});return new nu({clickTolerance:Qe,move:(Dt,Ot)=>({around:Ot,panDelta:Ot.sub(Dt)}),activateOnStart:!0,moveStateManager:ht,enable:st,assignEvents:Hc})})(L),Ar=new Mc(L,J);J.dragPan=new gn(fe,fr,Ar),this._add("mousePan",fr),this._add("touchPan",Ar,["touchZoom","touchRotate"]),L.interactive&&L.dragPan&&J.dragPan.enable(L.dragPan);let Le=new Lf,ze=new Su;J.touchZoomRotate=new Wa(fe,ze,Le,dt),this._add("touchRotate",Le,["touchPan","touchZoom"]),this._add("touchZoom",ze,["touchPan","touchRotate"]),L.interactive&&L.touchZoomRotate&&J.touchZoomRotate.enable(L.touchZoomRotate);let je=J.scrollZoom=new ea(J,()=>this._triggerRenderFrame());this._add("scrollZoom",je,["mousePan"]),L.interactive&&L.scrollZoom&&J.scrollZoom.enable(L.scrollZoom);let Xe=J.keyboard=new jt(J);this._add("keyboard",Xe),L.interactive&&L.keyboard&&J.keyboard.enable(),this._add("blockableMapEvent",new ws(J))}_add(L,J,fe){this._handlers.push({handlerName:L,handler:J,allowed:fe}),this._handlersById[L]=J}stop(L){if(!this._updatingCamera){for(let{handler:J}of this._handlers)J.reset();this._inertia.clear(),this._fireEvents({},{},L),this._changes=[]}}isActive(){for(let{handler:L}of this._handlers)if(L.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!sn(this._eventsInProgress)||this.isZooming()}_blockedByActive(L,J,fe){for(let de in L)if(de!==fe&&(!J||J.indexOf(de)<0))return!0;return!1}_getMapTouches(L){let J=[];for(let fe of L)this._el.contains(fe.target)&&J.push(fe);return J}mergeHandlerResult(L,J,fe,de,Ae){if(!fe)return;e.e(L,fe);let Ye={handlerName:de,originalEvent:fe.originalEvent||Ae};fe.zoomDelta!==void 0&&(J.zoom=Ye),fe.panDelta!==void 0&&(J.drag=Ye),fe.pitchDelta!==void 0&&(J.pitch=Ye),fe.bearingDelta!==void 0&&(J.rotate=Ye)}_applyChanges(){let L={},J={},fe={};for(let[de,Ae,Ye]of this._changes)de.panDelta&&(L.panDelta=(L.panDelta||new e.P(0,0))._add(de.panDelta)),de.zoomDelta&&(L.zoomDelta=(L.zoomDelta||0)+de.zoomDelta),de.bearingDelta&&(L.bearingDelta=(L.bearingDelta||0)+de.bearingDelta),de.pitchDelta&&(L.pitchDelta=(L.pitchDelta||0)+de.pitchDelta),de.around!==void 0&&(L.around=de.around),de.pinchAround!==void 0&&(L.pinchAround=de.pinchAround),de.noInertia&&(L.noInertia=de.noInertia),e.e(J,Ae),e.e(fe,Ye);this._updateMapTransform(L,J,fe),this._changes=[]}_updateMapTransform(L,J,fe){let de=this._map,Ae=de._getTransformForUpdate(),Ye=de.terrain;if(!(Qn(L)||Ye&&this._terrainMovement))return this._fireEvents(J,fe,!0);let{panDelta:et,zoomDelta:dt,bearingDelta:St,pitchDelta:Ht,around:Wt,pinchAround:fr}=L;fr!==void 0&&(Wt=fr),de._stop(!0),Wt=Wt||de.transform.centerPoint;let Ar=Ae.pointLocation(et?Wt.sub(et):Wt);St&&(Ae.bearing+=St),Ht&&(Ae.pitch+=Ht),dt&&(Ae.zoom+=dt),Ye?this._terrainMovement||!J.drag&&!J.zoom?J.drag&&this._terrainMovement?Ae.center=Ae.pointLocation(Ae.centerPoint.sub(et)):Ae.setLocationAtPoint(Ar,Wt):(this._terrainMovement=!0,this._map._elevationFreeze=!0,Ae.setLocationAtPoint(Ar,Wt)):Ae.setLocationAtPoint(Ar,Wt),de._applyUpdatedTransform(Ae),this._map._update(),L.noInertia||this._inertia.record(L),this._fireEvents(J,fe,!0)}_fireEvents(L,J,fe){let de=sn(this._eventsInProgress),Ae=sn(L),Ye={};for(let Wt in L){let{originalEvent:fr}=L[Wt];this._eventsInProgress[Wt]||(Ye[`${Wt}start`]=fr),this._eventsInProgress[Wt]=L[Wt]}!de&&Ae&&this._fireEvent("movestart",Ae.originalEvent);for(let Wt in Ye)this._fireEvent(Wt,Ye[Wt]);Ae&&this._fireEvent("move",Ae.originalEvent);for(let Wt in L){let{originalEvent:fr}=L[Wt];this._fireEvent(Wt,fr)}let et={},dt;for(let Wt in this._eventsInProgress){let{handlerName:fr,originalEvent:Ar}=this._eventsInProgress[Wt];this._handlersById[fr].isActive()||(delete this._eventsInProgress[Wt],dt=J[fr]||Ar,et[`${Wt}end`]=dt)}for(let Wt in et)this._fireEvent(Wt,et[Wt]);let St=sn(this._eventsInProgress),Ht=(de||Ae)&&!St;if(Ht&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;let Wt=this._map._getTransformForUpdate();Wt.recalculateZoom(this._map.terrain),this._map._applyUpdatedTransform(Wt)}if(fe&&Ht){this._updatingCamera=!0;let Wt=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),fr=Ar=>Ar!==0&&-this._bearingSnap{delete this._frameId,this.handleEvent(new Pa("renderFrame",{timeStamp:L})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class Ii extends e.E{constructor(L,J){super(),this._renderFrameCallback=()=>{let fe=Math.min((n.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(fe)),fe<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=L,this._bearingSnap=J.bearingSnap,this.on("moveend",()=>{delete this._requestedCameraState})}getCenter(){return new e.N(this.transform.center.lng,this.transform.center.lat)}setCenter(L,J){return this.jumpTo({center:L},J)}panBy(L,J,fe){return L=e.P.convert(L).mult(-1),this.panTo(this.transform.center,e.e({offset:L},J),fe)}panTo(L,J,fe){return this.easeTo(e.e({center:L},J),fe)}getZoom(){return this.transform.zoom}setZoom(L,J){return this.jumpTo({zoom:L},J),this}zoomTo(L,J,fe){return this.easeTo(e.e({zoom:L},J),fe)}zoomIn(L,J){return this.zoomTo(this.getZoom()+1,L,J),this}zoomOut(L,J){return this.zoomTo(this.getZoom()-1,L,J),this}getBearing(){return this.transform.bearing}setBearing(L,J){return this.jumpTo({bearing:L},J),this}getPadding(){return this.transform.padding}setPadding(L,J){return this.jumpTo({padding:L},J),this}rotateTo(L,J,fe){return this.easeTo(e.e({bearing:L},J),fe)}resetNorth(L,J){return this.rotateTo(0,e.e({duration:1e3},L),J),this}resetNorthPitch(L,J){return this.easeTo(e.e({bearing:0,pitch:0,duration:1e3},L),J),this}snapToNorth(L,J){return Math.abs(this.getBearing()){if(this._zooming&&(de.zoom=e.y.number(Ae,je,$t)),this._rotating&&(de.bearing=e.y.number(Ye,St,$t)),this._pitching&&(de.pitch=e.y.number(et,Ht,$t)),this._padding&&(de.interpolatePadding(dt,Wt,$t),Ar=de.centerPoint.add(fr)),this.terrain&&!L.freezeElevation&&this._updateElevation($t),ht)de.setLocationAtPoint(ht,Dt);else{let ir=de.zoomScale(de.zoom-Ae),pr=je>Ae?Math.min(2,Qe):Math.max(.5,Qe),zr=Math.pow(pr,1-$t),Wr=de.unproject(Xe.add(st.mult($t*zr)).mult(ir));de.setLocationAtPoint(de.renderWorldCopies?Wr.wrap():Wr,Ar)}this._applyUpdatedTransform(de),this._fireMoveEvents(J)},$t=>{this.terrain&&L.freezeElevation&&this._finalizeElevation(),this._afterEase(J,$t)},L),this}_prepareEase(L,J,fe={}){this._moving=!0,J||fe.moving||this.fire(new e.k("movestart",L)),this._zooming&&!fe.zooming&&this.fire(new e.k("zoomstart",L)),this._rotating&&!fe.rotating&&this.fire(new e.k("rotatestart",L)),this._pitching&&!fe.pitching&&this.fire(new e.k("pitchstart",L))}_prepareElevation(L){this._elevationCenter=L,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(L,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(L){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let J=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(L<1&&J!==this._elevationTarget){let fe=this._elevationTarget-this._elevationStart;this._elevationStart+=L*(fe-(J-(fe*L+this._elevationStart))/(1-L)),this._elevationTarget=J}this.transform.elevation=e.y.number(this._elevationStart,this._elevationTarget,L)}_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(L){let J=L.getCameraPosition(),fe=this.terrain.getElevationForLngLatZoom(J.lngLat,L.zoom);if(J.altitudethis._elevateCameraIfInsideTerrain(de)),this.transformCameraUpdate&&J.push(de=>this.transformCameraUpdate(de)),!J.length)return;let fe=L.clone();for(let de of J){let Ae=fe.clone(),{center:Ye,zoom:et,pitch:dt,bearing:St,elevation:Ht}=de(Ae);Ye&&(Ae.center=Ye),et!==void 0&&(Ae.zoom=et),dt!==void 0&&(Ae.pitch=dt),St!==void 0&&(Ae.bearing=St),Ht!==void 0&&(Ae.elevation=Ht),fe.apply(Ae)}this.transform.apply(fe)}_fireMoveEvents(L){this.fire(new e.k("move",L)),this._zooming&&this.fire(new e.k("zoom",L)),this._rotating&&this.fire(new e.k("rotate",L)),this._pitching&&this.fire(new e.k("pitch",L))}_afterEase(L,J){if(this._easeId&&J&&this._easeId===J)return;delete this._easeId;let fe=this._zooming,de=this._rotating,Ae=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,fe&&this.fire(new e.k("zoomend",L)),de&&this.fire(new e.k("rotateend",L)),Ae&&this.fire(new e.k("pitchend",L)),this.fire(new e.k("moveend",L))}flyTo(L,J){var fe;if(!L.essential&&n.prefersReducedMotion){let wn=e.M(L,["center","zoom","bearing","pitch","around"]);return this.jumpTo(wn,J)}this.stop(),L=e.e({offset:[0,0],speed:1.2,curve:1.42,easing:e.b9},L);let de=this._getTransformForUpdate(),Ae=de.zoom,Ye=de.bearing,et=de.pitch,dt=de.padding,St="bearing"in L?this._normalizeBearing(L.bearing,Ye):Ye,Ht="pitch"in L?+L.pitch:et,Wt="padding"in L?L.padding:de.padding,fr=e.P.convert(L.offset),Ar=de.centerPoint.add(fr),Le=de.pointLocation(Ar),{center:ze,zoom:je}=de.getConstrained(e.N.convert(L.center||Le),(fe=L.zoom)!==null&&fe!==void 0?fe:Ae);this._normalizeCenter(ze,de);let Xe=de.zoomScale(je-Ae),st=de.project(Le),Qe=de.project(ze).sub(st),ht=L.curve,Dt=Math.max(de.width,de.height),Ot=Dt/Xe,$t=Qe.mag();if("minZoom"in L){let wn=e.ac(Math.min(L.minZoom,Ae,je),de.minZoom,de.maxZoom),ei=Dt/de.zoomScale(wn-Ae);ht=Math.sqrt(ei/$t*2)}let ir=ht*ht;function pr(wn){let ei=(Ot*Ot-Dt*Dt+(wn?-1:1)*ir*ir*$t*$t)/(2*(wn?Ot:Dt)*ir*$t);return Math.log(Math.sqrt(ei*ei+1)-ei)}function zr(wn){return(Math.exp(wn)-Math.exp(-wn))/2}function Wr(wn){return(Math.exp(wn)+Math.exp(-wn))/2}let ia=pr(!1),Sa=function(wn){return Wr(ia)/Wr(ia+ht*wn)},ln=function(wn){return Dt*((Wr(ia)*(zr(ei=ia+ht*wn)/Wr(ei))-zr(ia))/ir)/$t;var ei},an=(pr(!0)-ia)/ht;if(Math.abs($t)<1e-6||!isFinite(an)){if(Math.abs(Dt-Ot)<1e-6)return this.easeTo(L,J);let wn=Ot0,Sa=ei=>Math.exp(wn*ht*ei)}return L.duration="duration"in L?+L.duration:1e3*an/("screenSpeed"in L?+L.screenSpeed/ht:+L.speed),L.maxDuration&&L.duration>L.maxDuration&&(L.duration=0),this._zooming=!0,this._rotating=Ye!==St,this._pitching=Ht!==et,this._padding=!de.isPaddingEqual(Wt),this._prepareEase(J,!1),this.terrain&&this._prepareElevation(ze),this._ease(wn=>{let ei=wn*an,Mi=1/Sa(ei);de.zoom=wn===1?je:Ae+de.scaleZoom(Mi),this._rotating&&(de.bearing=e.y.number(Ye,St,wn)),this._pitching&&(de.pitch=e.y.number(et,Ht,wn)),this._padding&&(de.interpolatePadding(dt,Wt,wn),Ar=de.centerPoint.add(fr)),this.terrain&&!L.freezeElevation&&this._updateElevation(wn);let pi=wn===1?ze:de.unproject(st.add(Qe.mult(ln(ei))).mult(Mi));de.setLocationAtPoint(de.renderWorldCopies?pi.wrap():pi,Ar),this._applyUpdatedTransform(de),this._fireMoveEvents(J)},()=>{this.terrain&&L.freezeElevation&&this._finalizeElevation(),this._afterEase(J)},L),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(L,J){var fe;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let de=this._onEaseEnd;delete this._onEaseEnd,de.call(this,J)}return L||(fe=this.handlers)===null||fe===void 0||fe.stop(!1),this}_ease(L,J,fe){fe.animate===!1||fe.duration===0?(L(1),J()):(this._easeStart=n.now(),this._easeOptions=fe,this._onEaseFrame=L,this._onEaseEnd=J,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(L,J){L=e.b3(L,-180,180);let fe=Math.abs(L-J);return Math.abs(L-360-J)180?-360:fe<-180?360:0}queryTerrainElevation(L){return this.terrain?this.terrain.getElevationForLngLatZoom(e.N.convert(L),this.transform.tileZoom)-this.transform.elevation:null}}let ki={compact:!0,customAttribution:'
MapLibre'};class Vi{constructor(L=ki){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=J=>{!J||J.sourceDataType!=="metadata"&&J.sourceDataType!=="visibility"&&J.dataType!=="style"&&J.type!=="terrain"||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?this._container.setAttribute("open",""):this._container.classList.contains("maplibregl-compact")||this._container.classList.contains("maplibregl-attrib-empty")||(this._container.setAttribute("open",""),this._container.classList.add("maplibregl-compact","maplibregl-compact-show")):(this._container.setAttribute("open",""),this._container.classList.contains("maplibregl-compact")&&this._container.classList.remove("maplibregl-compact","maplibregl-compact-show"))},this._updateCompactMinimize=()=>{this._container.classList.contains("maplibregl-compact")&&this._container.classList.contains("maplibregl-compact-show")&&this._container.classList.remove("maplibregl-compact-show")},this.options=L}getDefaultPosition(){return"bottom-right"}onAdd(L){return this._map=L,this._compact=this.options.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(L,J){let fe=this._map._getUIString(`AttributionControl.${J}`);L.title=fe,L.setAttribute("aria-label",fe)}_updateAttributions(){if(!this._map.style)return;let L=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?L=L.concat(this.options.customAttribution.map(de=>typeof de!="string"?"":de)):typeof this.options.customAttribution=="string"&&L.push(this.options.customAttribution)),this._map.style.stylesheet){let de=this._map.style.stylesheet;this.styleOwner=de.owner,this.styleId=de.id}let J=this._map.style.sourceCaches;for(let de in J){let Ae=J[de];if(Ae.used||Ae.usedForTerrain){let Ye=Ae.getSource();Ye.attribution&&L.indexOf(Ye.attribution)<0&&L.push(Ye.attribution)}}L=L.filter(de=>String(de).trim()),L.sort((de,Ae)=>de.length-Ae.length),L=L.filter((de,Ae)=>{for(let Ye=Ae+1;Ye=0)return!1;return!0});let fe=L.join(" | ");fe!==this._attribHTML&&(this._attribHTML=fe,L.length?(this._innerContainer.innerHTML=fe,this._container.classList.remove("maplibregl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty"),this._updateCompact(),this._editLink=null)}}class ni{constructor(L={}){this._updateCompact=()=>{let J=this._container.children;if(J.length){let fe=J[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&fe.classList.add("maplibregl-compact"):fe.classList.remove("maplibregl-compact")}},this.options=L}getDefaultPosition(){return"bottom-left"}onAdd(L){this._map=L,this._compact=this.options&&this.options.compact,this._container=i.create("div","maplibregl-ctrl");let J=i.create("a","maplibregl-ctrl-logo");return J.target="_blank",J.rel="noopener nofollow",J.href="https://maplibre.org/",J.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),J.setAttribute("rel","noopener nofollow"),this._container.appendChild(J),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 Rn{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(L){let J=++this._id;return this._queue.push({callback:L,id:J,cancelled:!1}),J}remove(L){let J=this._currentlyRunning,fe=J?this._queue.concat(J):this._queue;for(let de of fe)if(de.id===L)return void(de.cancelled=!0)}run(L=0){if(this._currentlyRunning)throw new Error("Attempting to run(), but is already running.");let J=this._currentlyRunning=this._queue;this._queue=[];for(let fe of J)if(!fe.cancelled&&(fe.callback(L),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var no=e.Y([{name:"a_pos3d",type:"Int16",components:3}]);class wo extends e.E{constructor(L){super(),this.sourceCache=L,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,L.usedForTerrain=!0,L.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(L,J){this.sourceCache.update(L,J),this._renderableTilesKeys=[];let fe={};for(let de of L.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:J}))fe[de.key]=!0,this._renderableTilesKeys.push(de.key),this._tiles[de.key]||(de.posMatrix=new Float64Array(16),e.aP(de.posMatrix,0,e.X,0,e.X,0,1),this._tiles[de.key]=new qe(de,this.tileSize));for(let de in this._tiles)fe[de]||delete this._tiles[de]}freeRtt(L){for(let J in this._tiles){let fe=this._tiles[J];(!L||fe.tileID.equals(L)||fe.tileID.isChildOf(L)||L.isChildOf(fe.tileID))&&(fe.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(L=>this.getTileByID(L))}getTileByID(L){return this._tiles[L]}getTerrainCoords(L){let J={};for(let fe of this._renderableTilesKeys){let de=this._tiles[fe].tileID;if(de.canonical.equals(L.canonical)){let Ae=L.clone();Ae.posMatrix=new Float64Array(16),e.aP(Ae.posMatrix,0,e.X,0,e.X,0,1),J[fe]=Ae}else if(de.canonical.isChildOf(L.canonical)){let Ae=L.clone();Ae.posMatrix=new Float64Array(16);let Ye=de.canonical.z-L.canonical.z,et=de.canonical.x-(de.canonical.x>>Ye<>Ye<>Ye;e.aP(Ae.posMatrix,0,St,0,St,0,1),e.J(Ae.posMatrix,Ae.posMatrix,[-et*St,-dt*St,0]),J[fe]=Ae}else if(L.canonical.isChildOf(de.canonical)){let Ae=L.clone();Ae.posMatrix=new Float64Array(16);let Ye=L.canonical.z-de.canonical.z,et=L.canonical.x-(L.canonical.x>>Ye<>Ye<>Ye;e.aP(Ae.posMatrix,0,e.X,0,e.X,0,1),e.J(Ae.posMatrix,Ae.posMatrix,[et*St,dt*St,0]),e.K(Ae.posMatrix,Ae.posMatrix,[1/2**Ye,1/2**Ye,0]),J[fe]=Ae}}return J}getSourceTile(L,J){let fe=this.sourceCache._source,de=L.overscaledZ-this.deltaZoom;if(de>fe.maxzoom&&(de=fe.maxzoom),de=fe.minzoom&&(!Ae||!Ae.dem);)Ae=this.sourceCache.getTileByID(L.scaledTo(de--).key);return Ae}tilesAfterTime(L=Date.now()){return Object.values(this._tiles).filter(J=>J.timeAdded>=L)}}class Go{constructor(L,J,fe){this.painter=L,this.sourceCache=new wo(J),this.options=fe,this.exaggeration=typeof fe.exaggeration=="number"?fe.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(L,J,fe,de=e.X){var Ae;if(!(J>=0&&J=0&&feL.canonical.z&&(L.canonical.z>=de?Ae=L.canonical.z-de:e.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));let Ye=L.canonical.x-(L.canonical.x>>Ae<>Ae<>8<<4|Ae>>8,J[Ye+3]=0;let fe=new e.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(J.buffer)),de=new h(L,fe,L.gl.RGBA,{premultiply:!1});return de.bind(L.gl.NEAREST,L.gl.CLAMP_TO_EDGE),this._coordsTexture=de,de}pointCoordinate(L){this.painter.maybeDrawDepthAndCoords(!0);let J=new Uint8Array(4),fe=this.painter.context,de=fe.gl,Ae=Math.round(L.x*this.painter.pixelRatio/devicePixelRatio),Ye=Math.round(L.y*this.painter.pixelRatio/devicePixelRatio),et=Math.round(this.painter.height/devicePixelRatio);fe.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),de.readPixels(Ae,et-Ye-1,1,1,de.RGBA,de.UNSIGNED_BYTE,J),fe.bindFramebuffer.set(null);let dt=J[0]+(J[2]>>4<<8),St=J[1]+((15&J[2])<<8),Ht=this.coordsIndex[255-J[3]],Wt=Ht&&this.sourceCache.getTileByID(Ht);if(!Wt)return null;let fr=this._coordsTextureSize,Ar=(1<L.id!==J),this._recentlyUsed.push(L.id)}stampObject(L){L.stamp=++this._stamp}getOrCreateFreeObject(){for(let J of this._recentlyUsed)if(!this._objects[J].inUse)return this._objects[J];if(this._objects.length>=this._size)throw new Error("No free RenderPool available, call freeAllObjects() required!");let L=this._createObject(this._objects.length);return this._objects.push(L),L}freeObject(L){L.inUse=!1}freeAllObjects(){for(let L of this._objects)this.freeObject(L)}isFull(){return!(this._objects.length!L.inUse)===!1}}let Jo={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class Es{constructor(L,J){this.painter=L,this.terrain=J,this.pool=new bs(L.context,30,J.sourceCache.tileSize*J.qualityFactor)}destruct(){this.pool.destruct()}getTexture(L){return this.pool.getObjectForId(L.rtt[this._stacks.length-1].id).texture}prepareForRender(L,J){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=L._order.filter(fe=>!L._layers[fe].isHidden(J)),this._coordsDescendingInv={};for(let fe in L.sourceCaches){this._coordsDescendingInv[fe]={};let de=L.sourceCaches[fe].getVisibleCoordinates();for(let Ae of de){let Ye=this.terrain.sourceCache.getTerrainCoords(Ae);for(let et in Ye)this._coordsDescendingInv[fe][et]||(this._coordsDescendingInv[fe][et]=[]),this._coordsDescendingInv[fe][et].push(Ye[et])}}this._coordsDescendingInvStr={};for(let fe of L._order){let de=L._layers[fe],Ae=de.source;if(Jo[de.type]&&!this._coordsDescendingInvStr[Ae]){this._coordsDescendingInvStr[Ae]={};for(let Ye in this._coordsDescendingInv[Ae])this._coordsDescendingInvStr[Ae][Ye]=this._coordsDescendingInv[Ae][Ye].map(et=>et.key).sort().join()}}for(let fe of this._renderableTiles)for(let de in this._coordsDescendingInvStr){let Ae=this._coordsDescendingInvStr[de][fe.tileID.key];Ae&&Ae!==fe.rttCoords[de]&&(fe.rtt=[])}}renderLayer(L){if(L.isHidden(this.painter.transform.zoom))return!1;let J=L.type,fe=this.painter,de=this._renderableLayerIds[this._renderableLayerIds.length-1]===L.id;if(Jo[J]&&(this._prevType&&Jo[this._prevType]||this._stacks.push([]),this._prevType=J,this._stacks[this._stacks.length-1].push(L.id),!de))return!0;if(Jo[this._prevType]||Jo[J]&&de){this._prevType=J;let Ae=this._stacks.length-1,Ye=this._stacks[Ae]||[];for(let et of this._renderableTiles){if(this.pool.isFull()&&(Zs(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(et),et.rtt[Ae]){let St=this.pool.getObjectForId(et.rtt[Ae].id);if(St.stamp===et.rtt[Ae].stamp){this.pool.useObject(St);continue}}let dt=this.pool.getOrCreateFreeObject();this.pool.useObject(dt),this.pool.stampObject(dt),et.rtt[Ae]={id:dt.id,stamp:dt.stamp},fe.context.bindFramebuffer.set(dt.fbo.framebuffer),fe.context.clear({color:e.aM.transparent,stencil:0}),fe.currentStencilSource=void 0;for(let St=0;St{Me.touchstart=Me.dragStart,Me.touchmoveWindow=Me.dragMove,Me.touchend=Me.dragEnd},bi={showCompass:!0,showZoom:!0,visualizePitch:!1};class ss{constructor(L,J,fe=!1){this.mousedown=Ye=>{this.startMouse(e.e({},Ye,{ctrlKey:!0,preventDefault:()=>Ye.preventDefault()}),i.mousePos(this.element,Ye)),i.addEventListener(window,"mousemove",this.mousemove),i.addEventListener(window,"mouseup",this.mouseup)},this.mousemove=Ye=>{this.moveMouse(Ye,i.mousePos(this.element,Ye))},this.mouseup=Ye=>{this.mouseRotate.dragEnd(Ye),this.mousePitch&&this.mousePitch.dragEnd(Ye),this.offTemp()},this.touchstart=Ye=>{Ye.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=i.touchPos(this.element,Ye.targetTouches)[0],this.startTouch(Ye,this._startPos),i.addEventListener(window,"touchmove",this.touchmove,{passive:!1}),i.addEventListener(window,"touchend",this.touchend))},this.touchmove=Ye=>{Ye.targetTouches.length!==1?this.reset():(this._lastPos=i.touchPos(this.element,Ye.targetTouches)[0],this.moveTouch(Ye,this._lastPos))},this.touchend=Ye=>{Ye.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 de=L.dragRotate._mouseRotate.getClickTolerance(),Ae=L.dragRotate._mousePitch.getClickTolerance();this.element=J,this.mouseRotate=of({clickTolerance:de,enable:!0}),this.touchRotate=(({enable:Ye,clickTolerance:et,bearingDegreesPerPixelMoved:dt=.8})=>{let St=new Vc;return new nu({clickTolerance:et,move:(Ht,Wt)=>({bearingDelta:(Wt.x-Ht.x)*dt}),moveStateManager:St,enable:Ye,assignEvents:xs})})({clickTolerance:de,enable:!0}),this.map=L,fe&&(this.mousePitch=Cf({clickTolerance:Ae,enable:!0}),this.touchPitch=(({enable:Ye,clickTolerance:et,pitchDegreesPerPixelMoved:dt=-.5})=>{let St=new Vc;return new nu({clickTolerance:et,move:(Ht,Wt)=>({pitchDelta:(Wt.y-Ht.y)*dt}),moveStateManager:St,enable:Ye,assignEvents:xs})})({clickTolerance:Ae,enable:!0})),i.addEventListener(J,"mousedown",this.mousedown),i.addEventListener(J,"touchstart",this.touchstart,{passive:!1}),i.addEventListener(J,"touchcancel",this.reset)}startMouse(L,J){this.mouseRotate.dragStart(L,J),this.mousePitch&&this.mousePitch.dragStart(L,J),i.disableDrag()}startTouch(L,J){this.touchRotate.dragStart(L,J),this.touchPitch&&this.touchPitch.dragStart(L,J),i.disableDrag()}moveMouse(L,J){let fe=this.map,{bearingDelta:de}=this.mouseRotate.dragMove(L,J)||{};if(de&&fe.setBearing(fe.getBearing()+de),this.mousePitch){let{pitchDelta:Ae}=this.mousePitch.dragMove(L,J)||{};Ae&&fe.setPitch(fe.getPitch()+Ae)}}moveTouch(L,J){let fe=this.map,{bearingDelta:de}=this.touchRotate.dragMove(L,J)||{};if(de&&fe.setBearing(fe.getBearing()+de),this.touchPitch){let{pitchDelta:Ae}=this.touchPitch.dragMove(L,J)||{};Ae&&fe.setPitch(fe.getPitch()+Ae)}}off(){let L=this.element;i.removeEventListener(L,"mousedown",this.mousedown),i.removeEventListener(L,"touchstart",this.touchstart,{passive:!1}),i.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),i.removeEventListener(window,"touchend",this.touchend),i.removeEventListener(L,"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 ms;function $o(Me,L,J){let fe=new e.N(Me.lng,Me.lat);if(Me=new e.N(Me.lng,Me.lat),L){let de=new e.N(Me.lng-360,Me.lat),Ae=new e.N(Me.lng+360,Me.lat),Ye=J.locationPoint(Me).distSqr(L);J.locationPoint(de).distSqr(L)180;){let de=J.locationPoint(Me);if(de.x>=0&&de.y>=0&&de.x<=J.width&&de.y<=J.height)break;Me.lng>J.center.lng?Me.lng-=360:Me.lng+=360}return Me.lng!==fe.lng&&J.locationPoint(Me).y>J.height/2-J.getHorizon()?Me:fe}let ul={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 yu(Me,L,J){let fe=Me.classList;for(let de in ul)fe.remove(`maplibregl-${J}-anchor-${de}`);fe.add(`maplibregl-${J}-anchor-${L}`)}class iu extends e.E{constructor(L){if(super(),this._onKeyPress=J=>{let fe=J.code,de=J.charCode||J.keyCode;fe!=="Space"&&fe!=="Enter"&&de!==32&&de!==13||this.togglePopup()},this._onMapClick=J=>{let fe=J.originalEvent.target,de=this._element;this._popup&&(fe===de||de.contains(fe))&&this.togglePopup()},this._update=J=>{var fe;if(!this._map)return;let de=this._map.loaded()&&!this._map.isMoving();(J?.type==="terrain"||J?.type==="render"&&!de)&&this._map.once("render",this._update),this._lngLat=this._map.transform.renderWorldCopies?$o(this._lngLat,this._flatPos,this._map.transform):(fe=this._lngLat)===null||fe===void 0?void 0:fe.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 Ae="";this._rotationAlignment==="viewport"||this._rotationAlignment==="auto"?Ae=`rotateZ(${this._rotation}deg)`:this._rotationAlignment==="map"&&(Ae=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let Ye="";this._pitchAlignment==="viewport"||this._pitchAlignment==="auto"?Ye="rotateX(0deg)":this._pitchAlignment==="map"&&(Ye=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||J&&J.type!=="moveend"||(this._pos=this._pos.round()),i.setTransform(this._element,`${ul[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${Ye} ${Ae}`),n.frameAsync(new AbortController).then(()=>{this._updateOpacity(J&&J.type==="moveend")}).catch(()=>{})},this._onMove=J=>{if(!this._isDragging){let fe=this._clickTolerance||this._map._clickTolerance;this._isDragging=J.point.dist(this._pointerdownPos)>=fe}this._isDragging&&(this._pos=J.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.k("dragstart"))),this.fire(new e.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 e.k("dragend")),this._state="inactive"},this._addDragHandler=J=>{this._element.contains(J.originalEvent.target)&&(J.preventDefault(),this._positionDelta=J.point.sub(this._pos).add(this._offset),this._pointerdownPos=J.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},this._anchor=L&&L.anchor||"center",this._color=L&&L.color||"#3FB1CE",this._scale=L&&L.scale||1,this._draggable=L&&L.draggable||!1,this._clickTolerance=L&&L.clickTolerance||0,this._subpixelPositioning=L&&L.subpixelPositioning||!1,this._isDragging=!1,this._state="inactive",this._rotation=L&&L.rotation||0,this._rotationAlignment=L&&L.rotationAlignment||"auto",this._pitchAlignment=L&&L.pitchAlignment&&L.pitchAlignment!=="auto"?L.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(L?.opacity,L?.opacityWhenCovered),L&&L.element)this._element=L.element,this._offset=e.P.convert(L&&L.offset||[0,0]);else{this._defaultMarker=!0,this._element=i.create("div");let J=i.createNS("http://www.w3.org/2000/svg","svg"),fe=41,de=27;J.setAttributeNS(null,"display","block"),J.setAttributeNS(null,"height",`${fe}px`),J.setAttributeNS(null,"width",`${de}px`),J.setAttributeNS(null,"viewBox",`0 0 ${de} ${fe}`);let Ae=i.createNS("http://www.w3.org/2000/svg","g");Ae.setAttributeNS(null,"stroke","none"),Ae.setAttributeNS(null,"stroke-width","1"),Ae.setAttributeNS(null,"fill","none"),Ae.setAttributeNS(null,"fill-rule","evenodd");let Ye=i.createNS("http://www.w3.org/2000/svg","g");Ye.setAttributeNS(null,"fill-rule","nonzero");let et=i.createNS("http://www.w3.org/2000/svg","g");et.setAttributeNS(null,"transform","translate(3.0, 29.0)"),et.setAttributeNS(null,"fill","#000000");let dt=[{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 Xe of dt){let st=i.createNS("http://www.w3.org/2000/svg","ellipse");st.setAttributeNS(null,"opacity","0.04"),st.setAttributeNS(null,"cx","10.5"),st.setAttributeNS(null,"cy","5.80029008"),st.setAttributeNS(null,"rx",Xe.rx),st.setAttributeNS(null,"ry",Xe.ry),et.appendChild(st)}let St=i.createNS("http://www.w3.org/2000/svg","g");St.setAttributeNS(null,"fill",this._color);let Ht=i.createNS("http://www.w3.org/2000/svg","path");Ht.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"),St.appendChild(Ht);let Wt=i.createNS("http://www.w3.org/2000/svg","g");Wt.setAttributeNS(null,"opacity","0.25"),Wt.setAttributeNS(null,"fill","#000000");let fr=i.createNS("http://www.w3.org/2000/svg","path");fr.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"),Wt.appendChild(fr);let Ar=i.createNS("http://www.w3.org/2000/svg","g");Ar.setAttributeNS(null,"transform","translate(6.0, 7.0)"),Ar.setAttributeNS(null,"fill","#FFFFFF");let Le=i.createNS("http://www.w3.org/2000/svg","g");Le.setAttributeNS(null,"transform","translate(8.0, 8.0)");let ze=i.createNS("http://www.w3.org/2000/svg","circle");ze.setAttributeNS(null,"fill","#000000"),ze.setAttributeNS(null,"opacity","0.25"),ze.setAttributeNS(null,"cx","5.5"),ze.setAttributeNS(null,"cy","5.5"),ze.setAttributeNS(null,"r","5.4999962");let je=i.createNS("http://www.w3.org/2000/svg","circle");je.setAttributeNS(null,"fill","#FFFFFF"),je.setAttributeNS(null,"cx","5.5"),je.setAttributeNS(null,"cy","5.5"),je.setAttributeNS(null,"r","5.4999962"),Le.appendChild(ze),Le.appendChild(je),Ye.appendChild(et),Ye.appendChild(St),Ye.appendChild(Wt),Ye.appendChild(Ar),Ye.appendChild(Le),J.appendChild(Ye),J.setAttributeNS(null,"height",fe*this._scale+"px"),J.setAttributeNS(null,"width",de*this._scale+"px"),this._element.appendChild(J),this._offset=e.P.convert(L&&L.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",J=>{J.preventDefault()}),this._element.addEventListener("mousedown",J=>{J.preventDefault()}),yu(this._element,this._anchor,"marker"),L&&L.className)for(let J of L.className.split(" "))this._element.classList.add(J);this._popup=null}addTo(L){return this.remove(),this._map=L,this._element.setAttribute("aria-label",L._getUIString("Marker.Title")),L.getCanvasContainer().appendChild(this._element),L.on("move",this._update),L.on("moveend",this._update),L.on("terrain",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map.off("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(L){return this._lngLat=e.N.convert(L),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(L){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),L){if(!("offset"in L.options)){let de=Math.abs(13.5)/Math.SQRT2;L.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[de,-1*(38.1-13.5+de)],"bottom-right":[-de,-1*(38.1-13.5+de)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=L,this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}setSubpixelPositioning(L){return this._subpixelPositioning=L,this}getPopup(){return this._popup}togglePopup(){let L=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:L?(L.isOpen()?L.remove():(L.setLngLat(this._lngLat),L.addTo(this._map)),this):this}_updateOpacity(L=!1){var J,fe;if(!(!((J=this._map)===null||J===void 0)&&J.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(L)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}let de=this._map,Ae=de.terrain.depthAtPoint(this._pos),Ye=de.terrain.getElevationForLngLatZoom(this._lngLat,de.transform.tileZoom);if(de.transform.lngLatToCameraDepth(this._lngLat,Ye)-Ae<.006)return void(this._element.style.opacity=this._opacity);let et=-this._offset.y/de.transform._pixelPerMeter,dt=Math.sin(de.getPitch()*Math.PI/180)*et,St=de.terrain.depthAtPoint(new e.P(this._pos.x,this._pos.y-this._offset.y)),Ht=de.transform.lngLatToCameraDepth(this._lngLat,Ye+dt)-St>.006;!((fe=this._popup)===null||fe===void 0)&&fe.isOpen()&&Ht&&this._popup.remove(),this._element.style.opacity=Ht?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(L){return this._offset=e.P.convert(L),this._update(),this}addClassName(L){this._element.classList.add(L)}removeClassName(L){this._element.classList.remove(L)}toggleClassName(L){return this._element.classList.toggle(L)}setDraggable(L){return this._draggable=!!L,this._map&&(L?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(L){return this._rotation=L||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(L){return this._rotationAlignment=L||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(L){return this._pitchAlignment=L&&L!=="auto"?L:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(L,J){return L===void 0&&J===void 0&&(this._opacity="1",this._opacityWhenCovered="0.2"),L!==void 0&&(this._opacity=L),J!==void 0&&(this._opacityWhenCovered=J),this._map&&this._updateOpacity(!0),this}}let zu={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},Tl=0,Eu=!1,Al={maxWidth:100,unit:"metric"};function nc(Me,L,J){let fe=J&&J.maxWidth||100,de=Me._container.clientHeight/2,Ae=Me.unproject([0,de]),Ye=Me.unproject([fe,de]),et=Ae.distanceTo(Ye);if(J&&J.unit==="imperial"){let dt=3.2808*et;dt>5280?Xi(L,fe,dt/5280,Me._getUIString("ScaleControl.Miles")):Xi(L,fe,dt,Me._getUIString("ScaleControl.Feet"))}else J&&J.unit==="nautical"?Xi(L,fe,et/1852,Me._getUIString("ScaleControl.NauticalMiles")):et>=1e3?Xi(L,fe,et/1e3,Me._getUIString("ScaleControl.Kilometers")):Xi(L,fe,et,Me._getUIString("ScaleControl.Meters"))}function Xi(Me,L,J,fe){let de=function(Ae){let Ye=Math.pow(10,`${Math.floor(Ae)}`.length-1),et=Ae/Ye;return et=et>=10?10:et>=5?5:et>=3?3:et>=2?2:et>=1?1:function(dt){let St=Math.pow(10,Math.ceil(-Math.log(dt)/Math.LN10));return Math.round(dt*St)/St}(et),Ye*et}(J);Me.style.width=L*(de/J)+"px",Me.innerHTML=`${de} ${fe}`}let vo={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",subpixelPositioning:!1},mf=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function kc(Me){if(Me){if(typeof Me=="number"){let L=Math.round(Math.abs(Me)/Math.SQRT2);return{center:new e.P(0,0),top:new e.P(0,Me),"top-left":new e.P(L,L),"top-right":new e.P(-L,L),bottom:new e.P(0,-Me),"bottom-left":new e.P(L,-L),"bottom-right":new e.P(-L,-L),left:new e.P(Me,0),right:new e.P(-Me,0)}}if(Me instanceof e.P||Array.isArray(Me)){let L=e.P.convert(Me);return{center:L,top:L,"top-left":L,"top-right":L,bottom:L,"bottom-left":L,"bottom-right":L,left:L,right:L}}return{center:e.P.convert(Me.center||[0,0]),top:e.P.convert(Me.top||[0,0]),"top-left":e.P.convert(Me["top-left"]||[0,0]),"top-right":e.P.convert(Me["top-right"]||[0,0]),bottom:e.P.convert(Me.bottom||[0,0]),"bottom-left":e.P.convert(Me["bottom-left"]||[0,0]),"bottom-right":e.P.convert(Me["bottom-right"]||[0,0]),left:e.P.convert(Me.left||[0,0]),right:e.P.convert(Me.right||[0,0])}}return kc(new e.P(0,0))}let ou=t;l.AJAXError=e.bh,l.Evented=e.E,l.LngLat=e.N,l.MercatorCoordinate=e.Z,l.Point=e.P,l.addProtocol=e.bi,l.config=e.a,l.removeProtocol=e.bj,l.AttributionControl=Vi,l.BoxZoomHandler=Ol,l.CanvasSource=_e,l.CooperativeGesturesHandler=$a,l.DoubleClickZoomHandler=Aa,l.DragPanHandler=gn,l.DragRotateHandler=qn,l.EdgeInsets=Nl,l.FullscreenControl=class extends e.E{constructor(Me={}){super(),this._onFullscreenChange=()=>{var L;let J=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;!((L=J?.shadowRoot)===null||L===void 0)&&L.fullscreenElement;)J=J.shadowRoot.fullscreenElement;J===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,Me&&Me.container&&(Me.container instanceof HTMLElement?this._container=Me.container:e.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(Me){return this._map=Me,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 Me=this._fullscreenButton=i.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);i.create("span","maplibregl-ctrl-icon",Me).setAttribute("aria-hidden","true"),Me.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let Me=this._getTitle();this._fullscreenButton.setAttribute("aria-label",Me),this._fullscreenButton.title=Me}_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 e.k("fullscreenstart")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new e.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()}},l.GeoJSONSource=Se,l.GeolocateControl=class extends e.E{constructor(Me){super(),this._onSuccess=L=>{if(this._map){if(this._isOutOfMapMaxBounds(L))return this._setErrorState(),this.fire(new e.k("outofmaxbounds",L)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=L,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&this._watchState!=="OFF"&&this._updateMarker(L),this.options.trackUserLocation&&this._watchState!=="ACTIVE_LOCK"||this._updateCamera(L),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new e.k("geolocate",L)),this._finish()}},this._updateCamera=L=>{let J=new e.N(L.coords.longitude,L.coords.latitude),fe=L.coords.accuracy,de=this._map.getBearing(),Ae=e.e({bearing:de},this.options.fitBoundsOptions),Ye=re.fromLngLat(J,fe);this._map.fitBounds(Ye,Ae,{geolocateSource:!0})},this._updateMarker=L=>{if(L){let J=new e.N(L.coords.longitude,L.coords.latitude);this._accuracyCircleMarker.setLngLat(J).addTo(this._map),this._userLocationDotMarker.setLngLat(J).addTo(this._map),this._accuracy=L.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=L=>{if(this._map){if(this.options.trackUserLocation)if(L.code===1){this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;let J=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=J,this._geolocateButton.setAttribute("aria-label",J),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(L.code===3&&Eu)return;this._setErrorState()}this._watchState!=="OFF"&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new e.k("error",L)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener("contextmenu",L=>L.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=L=>{if(this._map){if(L===!1){e.w("Geolocation support is not available so the GeolocateControl will be disabled.");let J=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=J,this._geolocateButton.setAttribute("aria-label",J)}else{let J=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.disabled=!1,this._geolocateButton.title=J,this._geolocateButton.setAttribute("aria-label",J)}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 iu({element:this._dotElement}),this._circleElement=i.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new iu({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",J=>{J.geolocateSource||this._watchState!=="ACTIVE_LOCK"||J.originalEvent&&J.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 e.k("trackuserlocationend")),this.fire(new e.k("userlocationlostfocus")))})}},this.options=e.e({},zu,Me)}onAdd(Me){return this._map=Me,this._container=i.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),function(){return e._(this,arguments,void 0,function*(L=!1){if(ms!==void 0&&!L)return ms;if(window.navigator.permissions===void 0)return ms=!!window.navigator.geolocation,ms;try{ms=(yield window.navigator.permissions.query({name:"geolocation"})).state!=="denied"}catch{ms=!!window.navigator.geolocation}return ms})}().then(L=>this._finishSetupUI(L)),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,Tl=0,Eu=!1}_isOutOfMapMaxBounds(Me){let L=this._map.getMaxBounds(),J=Me.coords;return L&&(J.longitudeL.getEast()||J.latitudeL.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"ACTIVE_ERROR":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){let Me=this._map.getBounds(),L=Me.getSouthEast(),J=Me.getNorthEast(),fe=L.distanceTo(J),de=Math.ceil(this._accuracy/(fe/this._map._container.clientHeight)*2);this._circleElement.style.width=`${de}px`,this._circleElement.style.height=`${de}px`}trigger(){if(!this._setup)return e.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 e.k("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":Tl--,Eu=!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 e.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 e.k("trackuserlocationstart")),this.fire(new e.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 Me;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),Tl++,Tl>1?(Me={maximumAge:6e5,timeout:0},Eu=!0):(Me=this.options.positionOptions,Eu=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,Me)}}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)}},l.Hash=nf,l.ImageSource=Ue,l.KeyboardHandler=jt,l.LngLatBounds=re,l.LogoControl=ni,l.Map=class extends Ii{constructor(Me){e.bf.mark(e.bg.create);let L=Object.assign(Object.assign({},Ws),Me);if(L.minZoom!=null&&L.maxZoom!=null&&L.minZoom>L.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(L.minPitch!=null&&L.maxPitch!=null&&L.minPitch>L.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(L.minPitch!=null&&L.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(L.maxPitch!=null&&L.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(super(new dc(L.minZoom,L.maxZoom,L.minPitch,L.maxPitch,L.renderWorldCopies),{bearingSnap:L.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new Rn,this._controls=[],this._mapId=e.a4(),this._contextLost=J=>{J.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new e.k("webglcontextlost",{originalEvent:J}))},this._contextRestored=J=>{this._setupPainter(),this.resize(),this._update(),this.fire(new e.k("webglcontextrestored",{originalEvent:J}))},this._onMapScroll=J=>{if(J.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=L.interactive,this._maxTileCacheSize=L.maxTileCacheSize,this._maxTileCacheZoomLevels=L.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=L.failIfMajorPerformanceCaveat===!0,this._preserveDrawingBuffer=L.preserveDrawingBuffer===!0,this._antialias=L.antialias===!0,this._trackResize=L.trackResize===!0,this._bearingSnap=L.bearingSnap,this._refreshExpiredTiles=L.refreshExpiredTiles===!0,this._fadeDuration=L.fadeDuration,this._crossSourceCollisions=L.crossSourceCollisions===!0,this._collectResourceTiming=L.collectResourceTiming===!0,this._locale=Object.assign(Object.assign({},Vo),L.locale),this._clickTolerance=L.clickTolerance,this._overridePixelRatio=L.pixelRatio,this._maxCanvasSize=L.maxCanvasSize,this.transformCameraUpdate=L.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=L.cancelPendingTileRequestsWhileZooming===!0,this._imageQueueHandle=o.addThrottleControl(()=>this.isMoving()),this._requestManager=new b(L.transformRequest),typeof L.container=="string"){if(this._container=document.getElementById(L.container),!this._container)throw new Error(`Container '${L.container}' not found.`)}else{if(!(L.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=L.container}if(L.maxBounds&&this.setMaxBounds(L.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 J=!1,fe=Oc(de=>{this._trackResize&&!this._removed&&(this.resize(de),this.redraw())},50);this._resizeObserver=new ResizeObserver(de=>{J?fe(de):J=!0}),this._resizeObserver.observe(this._container)}this.handlers=new Ei(this,L),this._hash=L.hash&&new nf(typeof L.hash=="string"&&L.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:L.center,zoom:L.zoom,bearing:L.bearing,pitch:L.pitch}),L.bounds&&(this.resize(),this.fitBounds(L.bounds,e.e({},L.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=L.localIdeographFontFamily,this._validateStyle=L.validateStyle,L.style&&this.setStyle(L.style,{localIdeographFontFamily:L.localIdeographFontFamily}),L.attributionControl&&this.addControl(new Vi(typeof L.attributionControl=="boolean"?void 0:L.attributionControl)),L.maplibreLogo&&this.addControl(new ni,L.logoPosition),this.on("style.load",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on("data",J=>{this._update(J.dataType==="style"),this.fire(new e.k(`${J.dataType}data`,J))}),this.on("dataloading",J=>{this.fire(new e.k(`${J.dataType}dataloading`,J))}),this.on("dataabort",J=>{this.fire(new e.k("sourcedataabort",J))})}_getMapId(){return this._mapId}addControl(Me,L){if(L===void 0&&(L=Me.getDefaultPosition?Me.getDefaultPosition():"top-right"),!Me||!Me.onAdd)return this.fire(new e.j(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));let J=Me.onAdd(this);this._controls.push(Me);let fe=this._controlPositions[L];return L.indexOf("bottom")!==-1?fe.insertBefore(J,fe.firstChild):fe.appendChild(J),this}removeControl(Me){if(!Me||!Me.onRemove)return this.fire(new e.j(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));let L=this._controls.indexOf(Me);return L>-1&&this._controls.splice(L,1),Me.onRemove(this),this}hasControl(Me){return this._controls.indexOf(Me)>-1}calculateCameraOptionsFromTo(Me,L,J,fe){return fe==null&&this.terrain&&(fe=this.terrain.getElevationForLngLatZoom(J,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(Me,L,J,fe)}resize(Me){var L;let J=this._containerDimensions(),fe=J[0],de=J[1],Ae=this._getClampedPixelRatio(fe,de);if(this._resizeCanvas(fe,de,Ae),this.painter.resize(fe,de,Ae),this.painter.overLimit()){let et=this.painter.context.gl;this._maxCanvasSize=[et.drawingBufferWidth,et.drawingBufferHeight];let dt=this._getClampedPixelRatio(fe,de);this._resizeCanvas(fe,de,dt),this.painter.resize(fe,de,dt)}this.transform.resize(fe,de),(L=this._requestedCameraState)===null||L===void 0||L.resize(fe,de);let Ye=!this._moving;return Ye&&(this.stop(),this.fire(new e.k("movestart",Me)).fire(new e.k("move",Me))),this.fire(new e.k("resize",Me)),Ye&&this.fire(new e.k("moveend",Me)),this}_getClampedPixelRatio(Me,L){let{0:J,1:fe}=this._maxCanvasSize,de=this.getPixelRatio(),Ae=Me*de,Ye=L*de;return Math.min(Ae>J?J/Ae:1,Ye>fe?fe/Ye:1)*de}getPixelRatio(){var Me;return(Me=this._overridePixelRatio)!==null&&Me!==void 0?Me:devicePixelRatio}setPixelRatio(Me){this._overridePixelRatio=Me,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(Me){return this.transform.setMaxBounds(re.convert(Me)),this._update()}setMinZoom(Me){if((Me=Me??-2)>=-2&&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")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(Me){if((Me=Me??0)<0)throw new Error("minPitch must be greater than or equal to 0");if(Me>=0&&Me<=this.transform.maxPitch)return this.transform.minPitch=Me,this._update(),this.getPitch()85)throw new Error("maxPitch must be less than or equal to 85");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")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(Me){return this.transform.renderWorldCopies=Me,this._update()}project(Me){return this.transform.locationPoint(e.N.convert(Me),this.style&&this.terrain)}unproject(Me){return this.transform.pointLocation(e.P.convert(Me),this.terrain)}isMoving(){var Me;return this._moving||((Me=this.handlers)===null||Me===void 0?void 0:Me.isMoving())}isZooming(){var Me;return this._zooming||((Me=this.handlers)===null||Me===void 0?void 0:Me.isZooming())}isRotating(){var Me;return this._rotating||((Me=this.handlers)===null||Me===void 0?void 0:Me.isRotating())}_createDelegatedListener(Me,L,J){if(Me==="mouseenter"||Me==="mouseover"){let fe=!1;return{layers:L,listener:J,delegates:{mousemove:Ae=>{let Ye=L.filter(dt=>this.getLayer(dt)),et=Ye.length!==0?this.queryRenderedFeatures(Ae.point,{layers:Ye}):[];et.length?fe||(fe=!0,J.call(this,new rl(Me,this,Ae.originalEvent,{features:et}))):fe=!1},mouseout:()=>{fe=!1}}}}if(Me==="mouseleave"||Me==="mouseout"){let fe=!1;return{layers:L,listener:J,delegates:{mousemove:Ye=>{let et=L.filter(dt=>this.getLayer(dt));(et.length!==0?this.queryRenderedFeatures(Ye.point,{layers:et}):[]).length?fe=!0:fe&&(fe=!1,J.call(this,new rl(Me,this,Ye.originalEvent)))},mouseout:Ye=>{fe&&(fe=!1,J.call(this,new rl(Me,this,Ye.originalEvent)))}}}}{let fe=de=>{let Ae=L.filter(et=>this.getLayer(et)),Ye=Ae.length!==0?this.queryRenderedFeatures(de.point,{layers:Ae}):[];Ye.length&&(de.features=Ye,J.call(this,de),delete de.features)};return{layers:L,listener:J,delegates:{[Me]:fe}}}}_saveDelegatedListener(Me,L){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[Me]=this._delegatedListeners[Me]||[],this._delegatedListeners[Me].push(L)}_removeDelegatedListener(Me,L,J){if(!this._delegatedListeners||!this._delegatedListeners[Me])return;let fe=this._delegatedListeners[Me];for(let de=0;deL.includes(Ye))){for(let Ye in Ae.delegates)this.off(Ye,Ae.delegates[Ye]);return void fe.splice(de,1)}}}on(Me,L,J){if(J===void 0)return super.on(Me,L);let fe=this._createDelegatedListener(Me,typeof L=="string"?[L]:L,J);this._saveDelegatedListener(Me,fe);for(let de in fe.delegates)this.on(de,fe.delegates[de]);return this}once(Me,L,J){if(J===void 0)return super.once(Me,L);let fe=typeof L=="string"?[L]:L,de=this._createDelegatedListener(Me,fe,J);for(let Ae in de.delegates){let Ye=de.delegates[Ae];de.delegates[Ae]=(...et)=>{this._removeDelegatedListener(Me,fe,J),Ye(...et)}}this._saveDelegatedListener(Me,de);for(let Ae in de.delegates)this.once(Ae,de.delegates[Ae]);return this}off(Me,L,J){return J===void 0?super.off(Me,L):(this._removeDelegatedListener(Me,typeof L=="string"?[L]:L,J),this)}queryRenderedFeatures(Me,L){if(!this.style)return[];let J,fe=Me instanceof e.P||Array.isArray(Me),de=fe?Me:[[0,0],[this.transform.width,this.transform.height]];if(L=L||(fe?{}:Me)||{},de instanceof e.P||typeof de[0]=="number")J=[e.P.convert(de)];else{let Ae=e.P.convert(de[0]),Ye=e.P.convert(de[1]);J=[Ae,new e.P(Ye.x,Ae.y),Ye,new e.P(Ae.x,Ye.y),Ae]}return this.style.queryRenderedFeatures(J,L,this.transform)}querySourceFeatures(Me,L){return this.style.querySourceFeatures(Me,L)}setStyle(Me,L){return(L=e.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},L)).diff!==!1&&L.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&Me?(this._diffStyle(Me,L),this):(this._localIdeographFontFamily=L.localIdeographFontFamily,this._updateStyle(Me,L))}setTransformRequest(Me){return this._requestManager.setTransformRequest(Me),this}_getUIString(Me){let L=this._locale[Me];if(L==null)throw new Error(`Missing UI string '${Me}'`);return L}_updateStyle(Me,L){if(L.transformStyle&&this.style&&!this.style._loaded)return void this.style.once("style.load",()=>this._updateStyle(Me,L));let J=this.style&&L.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!Me)),Me?(this.style=new nr(this,L||{}),this.style.setEventedParent(this,{style:this.style}),typeof Me=="string"?this.style.loadURL(Me,L,J):this.style.loadJSON(Me,L,J),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new nr(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(Me,L){if(typeof Me=="string"){let J=this._requestManager.transformRequest(Me,"Style");e.h(J,new AbortController).then(fe=>{this._updateDiff(fe.data,L)}).catch(fe=>{fe&&this.fire(new e.j(fe))})}else typeof Me=="object"&&this._updateDiff(Me,L)}_updateDiff(Me,L){try{this.style.setState(Me,L)&&this._update(!0)}catch(J){e.w(`Unable to perform style diff: ${J.message||J.error||J}. Rebuilding the style from scratch.`),this._updateStyle(Me,L)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():e.w("There is no style added to the map.")}addSource(Me,L){return this._lazyInitEmptyStyle(),this.style.addSource(Me,L),this._update(!0)}isSourceLoaded(Me){let L=this.style&&this.style.sourceCaches[Me];if(L!==void 0)return L.loaded();this.fire(new e.j(new Error(`There is no source with ID '${Me}'`)))}setTerrain(Me){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),Me){let L=this.style.sourceCaches[Me.source];if(!L)throw new Error(`cannot load terrain, because there exists no source with ID: ${Me.source}`);this.terrain===null&&L.reload();for(let J in this.style._layers){let fe=this.style._layers[J];fe.type==="hillshade"&&fe.source===Me.source&&e.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 Go(this.painter,L,Me),this.painter.renderToTexture=new Es(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=J=>{J.dataType==="style"?this.terrain.sourceCache.freeRtt():J.dataType==="source"&&J.tile&&(J.sourceId!==Me.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(J.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 e.k("terrain",{terrain:Me})),this}getTerrain(){var Me,L;return(L=(Me=this.terrain)===null||Me===void 0?void 0:Me.options)!==null&&L!==void 0?L:null}areTilesLoaded(){let Me=this.style&&this.style.sourceCaches;for(let L in Me){let J=Me[L]._tiles;for(let fe in J){let de=J[fe];if(de.state!=="loaded"&&de.state!=="errored")return!1}}return!0}removeSource(Me){return this.style.removeSource(Me),this._update(!0)}getSource(Me){return this.style.getSource(Me)}addImage(Me,L,J={}){let{pixelRatio:fe=1,sdf:de=!1,stretchX:Ae,stretchY:Ye,content:et,textFitWidth:dt,textFitHeight:St}=J;if(this._lazyInitEmptyStyle(),!(L instanceof HTMLImageElement||e.b(L))){if(L.width===void 0||L.height===void 0)return this.fire(new e.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:Ht,height:Wt,data:fr}=L,Ar=L;return this.style.addImage(Me,{data:new e.R({width:Ht,height:Wt},new Uint8Array(fr)),pixelRatio:fe,stretchX:Ae,stretchY:Ye,content:et,textFitWidth:dt,textFitHeight:St,sdf:de,version:0,userImage:Ar}),Ar.onAdd&&Ar.onAdd(this,Me),this}}{let{width:Ht,height:Wt,data:fr}=n.getImageData(L);this.style.addImage(Me,{data:new e.R({width:Ht,height:Wt},fr),pixelRatio:fe,stretchX:Ae,stretchY:Ye,content:et,textFitWidth:dt,textFitHeight:St,sdf:de,version:0})}}updateImage(Me,L){let J=this.style.getImage(Me);if(!J)return this.fire(new e.j(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));let fe=L instanceof HTMLImageElement||e.b(L)?n.getImageData(L):L,{width:de,height:Ae,data:Ye}=fe;if(de===void 0||Ae===void 0)return this.fire(new e.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(de!==J.data.width||Ae!==J.data.height)return this.fire(new e.j(new Error("The width and height of the updated image must be that same as the previous version of the image")));let et=!(L instanceof HTMLImageElement||e.b(L));return J.data.replace(Ye,et),this.style.updateImage(Me,J),this}getImage(Me){return this.style.getImage(Me)}hasImage(Me){return Me?!!this.style.getImage(Me):(this.fire(new e.j(new Error("Missing required image id"))),!1)}removeImage(Me){this.style.removeImage(Me)}loadImage(Me){return o.getImage(this._requestManager.transformRequest(Me,"Image"),new AbortController)}listImages(){return this.style.listImages()}addLayer(Me,L){return this._lazyInitEmptyStyle(),this.style.addLayer(Me,L),this._update(!0)}moveLayer(Me,L){return this.style.moveLayer(Me,L),this._update(!0)}removeLayer(Me){return this.style.removeLayer(Me),this._update(!0)}getLayer(Me){return this.style.getLayer(Me)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(Me,L,J){return this.style.setLayerZoomRange(Me,L,J),this._update(!0)}setFilter(Me,L,J={}){return this.style.setFilter(Me,L,J),this._update(!0)}getFilter(Me){return this.style.getFilter(Me)}setPaintProperty(Me,L,J,fe={}){return this.style.setPaintProperty(Me,L,J,fe),this._update(!0)}getPaintProperty(Me,L){return this.style.getPaintProperty(Me,L)}setLayoutProperty(Me,L,J,fe={}){return this.style.setLayoutProperty(Me,L,J,fe),this._update(!0)}getLayoutProperty(Me,L){return this.style.getLayoutProperty(Me,L)}setGlyphs(Me,L={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(Me,L),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(Me,L,J={}){return this._lazyInitEmptyStyle(),this.style.addSprite(Me,L,J,fe=>{fe||this._update(!0)}),this}removeSprite(Me){return this._lazyInitEmptyStyle(),this.style.removeSprite(Me),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(Me,L={}){return this._lazyInitEmptyStyle(),this.style.setSprite(Me,L,J=>{J||this._update(!0)}),this}setLight(Me,L={}){return this._lazyInitEmptyStyle(),this.style.setLight(Me,L),this._update(!0)}getLight(){return this.style.getLight()}setSky(Me){return this._lazyInitEmptyStyle(),this.style.setSky(Me),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(Me,L){return this.style.setFeatureState(Me,L),this._update()}removeFeatureState(Me,L){return this.style.removeFeatureState(Me,L),this._update()}getFeatureState(Me){return this.style.getFeatureState(Me)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let Me=0,L=0;return this._container&&(Me=this._container.clientWidth||400,L=this._container.clientHeight||300),[Me,L]}_setupContainer(){let Me=this._container;Me.classList.add("maplibregl-map");let L=this._canvasContainer=i.create("div","maplibregl-canvas-container",Me);this._interactive&&L.classList.add("maplibregl-interactive"),this._canvas=i.create("canvas","maplibregl-canvas",L),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 J=this._containerDimensions(),fe=this._getClampedPixelRatio(J[0],J[1]);this._resizeCanvas(J[0],J[1],fe);let de=this._controlContainer=i.create("div","maplibregl-control-container",Me),Ae=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(Ye=>{Ae[Ye]=i.create("div",`maplibregl-ctrl-${Ye} `,de)}),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(Me,L,J){this._canvas.width=Math.floor(J*Me),this._canvas.height=Math.floor(J*L),this._canvas.style.width=`${Me}px`,this._canvas.style.height=`${L}px`}_setupPainter(){let Me={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},L=null;this._canvas.addEventListener("webglcontextcreationerror",fe=>{L={requestedAttributes:Me},fe&&(L.statusMessage=fe.statusMessage,L.type=fe.type)},{once:!0});let J=this._canvas.getContext("webgl2",Me)||this._canvas.getContext("webgl",Me);if(!J){let fe="Failed to initialize WebGL";throw L?(L.message=fe,new Error(JSON.stringify(L))):new Error(fe)}this.painter=new af(J,this.transform),s.testSupport(J)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(Me){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||Me,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(Me){return this._update(),this._renderTaskQueue.add(Me)}_cancelRenderFrame(Me){this._renderTaskQueue.remove(Me)}_render(Me){let L=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(Me),this._removed)return;let J=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let de=this.transform.zoom,Ae=n.now();this.style.zoomHistory.update(de,Ae);let Ye=new e.z(de,{now:Ae,fadeDuration:L,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),et=Ye.crossFadingFactor();et===1&&et===this._crossFadingFactor||(J=!0,this._crossFadingFactor=et),this.style.update(Ye)}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,L,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:L,showPadding:this.showPadding}),this.fire(new e.k("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,e.bf.mark(e.bg.load),this.fire(new e.k("load"))),this.style&&(this.style.hasTransitions()||J)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let fe=this._sourcesDirty||this._styleDirty||this._placementDirty;return fe||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new e.k("idle")),!this._loaded||this._fullyLoaded||fe||(this._fullyLoaded=!0,e.bf.mark(e.bg.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var Me;this._hash&&this._hash.remove();for(let J of this._controls)J.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),o.removeThrottleControl(this._imageQueueHandle),(Me=this._resizeObserver)===null||Me===void 0||Me.disconnect();let L=this.painter.context.gl.getExtension("WEBGL_lose_context");L?.loseContext&&L.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"),e.bf.clearMetrics(),this._removed=!0,this.fire(new e.k("remove"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,n.frameAsync(this._frameRequest).then(Me=>{e.bf.frame(Me),this._frameRequest=null,this._render(Me)}).catch(()=>{}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(Me){this._showTileBoundaries!==Me&&(this._showTileBoundaries=Me,this._update())}get showPadding(){return!!this._showPadding}set showPadding(Me){this._showPadding!==Me&&(this._showPadding=Me,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(Me){this._showCollisionBoxes!==Me&&(this._showCollisionBoxes=Me,Me?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(Me){this._showOverdrawInspector!==Me&&(this._showOverdrawInspector=Me,this._update())}get repaint(){return!!this._repaint}set repaint(Me){this._repaint!==Me&&(this._repaint=Me,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(Me){this._vertices=Me,this._update()}get version(){return yl}getCameraTargetElevation(){return this.transform.elevation}},l.MapMouseEvent=rl,l.MapTouchEvent=Gu,l.MapWheelEvent=Nf,l.Marker=iu,l.NavigationControl=class{constructor(Me){this._updateZoomButtons=()=>{let L=this._map.getZoom(),J=L===this._map.getMaxZoom(),fe=L===this._map.getMinZoom();this._zoomInButton.disabled=J,this._zoomOutButton.disabled=fe,this._zoomInButton.setAttribute("aria-disabled",J.toString()),this._zoomOutButton.setAttribute("aria-disabled",fe.toString())},this._rotateCompassArrow=()=>{let L=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=L},this._setButtonTitle=(L,J)=>{let fe=this._map._getUIString(`NavigationControl.${J}`);L.title=fe,L.setAttribute("aria-label",fe)},this.options=e.e({},bi,Me),this._container=i.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",L=>L.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",L=>this._map.zoomIn({},{originalEvent:L})),i.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",L=>this._map.zoomOut({},{originalEvent:L})),i.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",L=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:L}):this._map.resetNorth({},{originalEvent:L})}),this._compassIcon=i.create("span","maplibregl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}onAdd(Me){return this._map=Me,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 ss(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(Me,L){let J=i.create("button",Me,this._container);return J.type="button",J.addEventListener("click",L),J}},l.Popup=class extends e.E{constructor(Me){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 e.k("close"))),this),this._onMouseUp=L=>{this._update(L.point)},this._onMouseMove=L=>{this._update(L.point)},this._onDrag=L=>{this._update(L.point)},this._update=L=>{var J;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 et of this.options.className.split(" "))this._container.classList.add(et);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?$o(this._lngLat,this._flatPos,this._map.transform):(J=this._lngLat)===null||J===void 0?void 0:J.wrap(),this._trackPointer&&!L)return;let fe=this._flatPos=this._pos=this._trackPointer&&L?L:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&L?L:this._map.transform.locationPoint(this._lngLat));let de=this.options.anchor,Ae=kc(this.options.offset);if(!de){let et=this._container.offsetWidth,dt=this._container.offsetHeight,St;St=fe.y+Ae.bottom.ythis._map.transform.height-dt?["bottom"]:[],fe.xthis._map.transform.width-et/2&&St.push("right"),de=St.length===0?"bottom":St.join("-")}let Ye=fe.add(Ae[de]);this.options.subpixelPositioning||(Ye=Ye.round()),i.setTransform(this._container,`${ul[de]} translate(${Ye.x}px,${Ye.y}px)`),yu(this._container,de,"popup")},this._onClose=()=>{this.remove()},this.options=e.e(Object.create(vo),Me)}addTo(Me){return this._map&&this.remove(),this._map=Me,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 e.k("open")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(Me){return this._lngLat=e.N.convert(Me),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(Me){return this.setDOMContent(document.createTextNode(Me))}setHTML(Me){let L=document.createDocumentFragment(),J=document.createElement("body"),fe;for(J.innerHTML=Me;fe=J.firstChild,fe;)L.appendChild(fe);return this.setDOMContent(L)}getMaxWidth(){var Me;return(Me=this._container)===null||Me===void 0?void 0:Me.style.maxWidth}setMaxWidth(Me){return this.options.maxWidth=Me,this._update(),this}setDOMContent(Me){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(Me),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(Me){return this._container&&this._container.classList.add(Me),this}removeClassName(Me){return this._container&&this._container.classList.remove(Me),this}setOffset(Me){return this.options.offset=Me,this._update(),this}toggleClassName(Me){if(this._container)return this._container.classList.toggle(Me)}setSubpixelPositioning(Me){this.options.subpixelPositioning=Me}_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 Me=this._container.querySelector(mf);Me&&Me.focus()}},l.RasterDEMTileSource=Te,l.RasterTileSource=ge,l.ScaleControl=class{constructor(Me){this._onMove=()=>{nc(this._map,this._container,this.options)},this.setUnit=L=>{this.options.unit=L,nc(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},Al),Me)}getDefaultPosition(){return"bottom-left"}onAdd(Me){return this._map=Me,this._container=i.create("div","maplibregl-ctrl maplibregl-ctrl-scale",Me.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}},l.ScrollZoomHandler=ea,l.Style=nr,l.TerrainControl=class{constructor(Me){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=Me}onAdd(Me){return this._map=Me,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}},l.TwoFingersTouchPitchHandler=Fu,l.TwoFingersTouchRotateHandler=Lf,l.TwoFingersTouchZoomHandler=Su,l.TwoFingersTouchZoomRotateHandler=Wa,l.VectorTileSource=pe,l.VideoSource=Oe,l.addSourceType=(Me,L)=>e._(void 0,void 0,void 0,function*(){if(ie(Me))throw new Error(`A source type called "${Me}" already exists.`);((J,fe)=>{ce[J]=fe})(Me,L)}),l.clearPrewarmedResources=function(){let Me=ae;Me&&(Me.isPreloaded()&&Me.numActive()===1?(Me.release(Y),ae=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()"))},l.getMaxParallelImageRequests=function(){return e.a.MAX_PARALLEL_IMAGE_REQUESTS},l.getRTLTextPluginStatus=function(){return De().getRTLTextPluginStatus()},l.getVersion=function(){return ou},l.getWorkerCount=function(){return ee.workerCount},l.getWorkerUrl=function(){return e.a.WORKER_URL},l.importScriptInWorkers=function(Me){return H().broadcast("IS",Me)},l.prewarm=function(){G().acquire(Y)},l.setMaxParallelImageRequests=function(Me){e.a.MAX_PARALLEL_IMAGE_REQUESTS=Me},l.setRTLTextPlugin=function(Me,L){return De().setRTLTextPlugin(Me,L)},l.setWorkerCount=function(Me){ee.workerCount=Me},l.setWorkerUrl=function(Me){e.a.WORKER_URL=Me}});var S=u;return S})}}),CL=xe({"src/plots/map/layers.js"(U,O){"use strict";var u=Sr(),v=el().sanitizeHTML,w=$3(),S=Qd();function l(n,i){this.subplot=n,this.uid=n.uid+"-"+i,this.index=i,this.idSource="source-"+this.uid,this.idLayer=S.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var e=l.prototype;e.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=t(i)},e.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))},e.needsNewSource=function(n){return this.sourceType!==n.sourcetype||JSON.stringify(this.source)!==JSON.stringify(n.source)||this.layerType!==n.type},e.needsNewLayer=function(n){return this.layerType!==n.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},e.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]},e.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)},e.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,!!t(n)){var s=r(n);i.addSource(this.idSource,s)}},e.findFollowingMapLayerId=function(n){if(n==="traces")for(var i=this.subplot.getMapLayers(),s=0;s0){for(var s=0;s0}function a(n){var i={},s={};switch(n.type){case"circle":u.extendFlat(s,{"circle-radius":n.circle.radius,"circle-color":n.color,"circle-opacity":n.opacity});break;case"line":u.extendFlat(s,{"line-width":n.line.width,"line-color":n.color,"line-opacity":n.opacity,"line-dasharray":n.line.dash});break;case"fill":u.extendFlat(s,{"fill-color":n.color,"fill-outline-color":n.fill.outlinecolor,"fill-opacity":n.opacity});break;case"symbol":var c=n.symbol,p=w(c.textposition,c.iconsize);u.extendFlat(i,{"icon-image":c.icon,"icon-size":c.iconsize/10,"text-field":c.text,"text-size":c.textfont.size,"text-anchor":p.anchor,"text-offset":p.offset,"symbol-placement":c.placement}),u.extendFlat(s,{"icon-color":n.color,"text-color":c.textfont.color,"text-opacity":n.opacity});break;case"raster":u.extendFlat(s,{"raster-fade-duration":0,"raster-opacity":n.opacity});break}return{layout:i,paint:s}}function r(n){var i=n.sourcetype,s=n.source,c={type:i},p;return i==="geojson"?p="data":i==="vector"?p=typeof s=="string"?"url":"tiles":i==="raster"?(p="tiles",c.tileSize=256):i==="image"&&(p="url",c.coordinates=n.coordinates),c[p]=s,n.sourceattribution&&(c.attribution=v(n.sourceattribution)),c}O.exports=function(i,s,c){var p=new l(i,s);return p.update(c),p}}}),LL=xe({"src/plots/map/map.js"(U,O){"use strict";var u=kL(),v=Sr(),w=_d(),S=Ci(),l=uo(),e=Bf(),t=hu(),a=Uh(),r=a.drawMode,n=a.selectMode,i=yc().prepSelect,s=yc().clearOutline,c=yc().clearSelectionsCache,p=yc().selectOnClick,f=Qd(),d=CL();function y(T,m){this.id=m,this.gd=T;var h=T._fullLayout,x=T._context;this.container=h._glcontainer.node(),this.isStatic=x.staticPlot,this.uid=h._uid+"-"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(h),this.map=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var o=y.prototype;o.plot=function(T,m,h){var x=this,_;x.map?_=new Promise(function(D,C){x.updateMap(T,m,D,C)}):_=new Promise(function(D,C){x.createMap(T,m,D,C)}),h.push(_)},o.createMap=function(T,m,h,x){var _=this,D=m[_.id],C=_.styleObj=E(D.style),F=D.bounds,I=F?[[F.west,F.south],[F.east,F.north]]:null;let z={container:_.div,style:C.style,center:g(D.center),zoom:D.zoom,bearing:D.bearing,pitch:D.pitch,maxBounds:I,interactive:!_.isStatic,preserveDrawingBuffer:_.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1},R=D._fitBounds;R&&(z.bounds=[[R.west,R.south],[R.east,R.north]],z.fitBoundsOptions={padding:f.fitBoundsPadding});let k=_.map=new u.Map(z).addControl(new u.AttributionControl({compact:!0}));var B={};k.on("styleimagemissing",function(q){var Y=q.id;if(!B[Y]&&/^[a-zA-Z0-9-]+$/.test(Y)){B[Y]=!0;var ee=new Image(15,15);ee.onload=function(){k.addImage(Y,ee,{sdf:!0})},ee.crossOrigin="Anonymous",ee.src="https://cdn.jsdelivr.net/npm/@mapbox/maki@8.2.0/icons/"+Y+".svg"}}),k.setTransformRequest(function(q){return q=q.replace("https://fonts.openmaptiles.org/Open Sans Extrabold","https://fonts.openmaptiles.org/Open Sans Extra Bold"),q=q.replace("https://tiles.basemaps.cartocdn.com/fonts/Open Sans Extrabold","https://fonts.openmaptiles.org/Open Sans Extra Bold"),q=q.replace("https://fonts.openmaptiles.org/Open Sans Regular,Arial Unicode MS Regular","https://fonts.openmaptiles.org/Klokantech Noto Sans Regular"),{url:q}}),k._canvas.style.left="0px",k._canvas.style.top="0px",_.rejectOnError(x),_.isStatic||_.initFx(T,m);var N=[];N.push(new Promise(function(q){k.once("load",q)})),N=N.concat(w.fetchTraceGeoData(T)),Promise.all(N).then(function(){R&&b(_,D),M(_,D),_.fillBelowLookup(T,m),_.updateData(T),_.updateLayout(m),_.resolveOnRender(h)}).catch(x)},o.updateMap=function(T,m,h,x){var _=this,D=_.map,C=m[this.id];_.rejectOnError(x);var F=[],I=E(C.style);JSON.stringify(_.styleObj)!==JSON.stringify(I)&&(_.styleObj=I,D.setStyle(I.style),_.traceHash={},F.push(new Promise(function(z){D.once("styledata",z)}))),F=F.concat(w.fetchTraceGeoData(T)),Promise.all(F).then(function(){_.fillBelowLookup(T,m),_.updateData(T);let z=C._fitBounds;z&&(D.fitBounds([[z.west,z.south],[z.east,z.north]],{padding:f.fitBoundsPadding,animate:!1}),b(_,C),M(_,C)),_.updateLayout(m),_.resolveOnRender(h)}).catch(x)};function b(T,m){let{center:h,zoom:x}=T.getView();m._input.center=m.center=h,m._input.zoom=m.zoom=x,m._input._fitView={center:Hr({},h),zoom:x}}function M(T,m){let h=T.getView();T.viewInitial={center:v.extendFlat({},h.center),bearing:m.bearing,pitch:m.pitch,zoom:h.zoom}}o.fillBelowLookup=function(T,m){var h=m[this.id],x=h.layers,_,D,C=this.belowLookup={},F=!1;for(_=0;_1)for(_=0;_-1&&p(I.originalEvent,x,[h.xaxis],[h.yaxis],h.id,F),z.indexOf("event")>-1&&t.click(x,I.originalEvent)}}},o.updateFx=function(T){var m=this,h=m.map,x=m.gd;if(m.isStatic)return;function _(I){var z=m.map.unproject(I);return[z.lng,z.lat]}var D=T.dragmode,C;C=function(I,z){if(z.isRect){var R=I.range={};R[m.id]=[_([z.xmin,z.ymin]),_([z.xmax,z.ymax])]}else{var k=I.lassoPoints={};k[m.id]=z.map(_)}};var F=m.dragOptions;m.dragOptions=v.extendDeep(F||{},{dragmode:T.dragmode,element:m.div,gd:x,plotinfo:{id:m.id,domain:T[m.id].domain,xaxis:m.xaxis,yaxis:m.yaxis,fillRangeItems:C},xaxes:[m.xaxis],yaxes:[m.yaxis],subplot:m.id}),h.off("click",m.onClickInPanHandler),n(D)||r(D)?(h.dragPan.disable(),h.on("zoomstart",m.clearOutline),m.dragOptions.prepFn=function(I,z,R){i(I,z,R,m.dragOptions,D)},e.init(m.dragOptions)):(h.dragPan.enable(),h.off("zoomstart",m.clearOutline),m.div.onmousedown=null,m.div.ontouchstart=null,m.div.removeEventListener("touchstart",m.div._ontouchstart),m.onClickInPanHandler=m.onClickInPanFn(m.dragOptions),h.on("click",m.onClickInPanHandler))},o.updateFramework=function(T){var m=T[this.id].domain,h=T._size,x=this.div.style;x.width=h.w*(m.x[1]-m.x[0])+"px",x.height=h.h*(m.y[1]-m.y[0])+"px",x.left=h.l+m.x[0]*h.w+"px",x.top=h.t+(1-m.y[1])*h.h+"px",this.xaxis._offset=h.l+m.x[0]*h.w,this.xaxis._length=h.w*(m.x[1]-m.x[0]),this.yaxis._offset=h.t+(1-m.y[1])*h.h,this.yaxis._length=h.h*(m.y[1]-m.y[0])},o.updateLayers=function(T){var m=T[this.id],h=m.layers,x=this.layerList,_;if(h.length!==x.length){for(_=0;_PL});function PL(U,O){let u=[];for(let t of U){if(t.subplot!==O||t.visible!==!0)continue;if(t.type==="choroplethmap")return null;let{lat:a,lon:r}=t;if(!r||!a)continue;let n=Math.min(r.length,a.length);for(let i=0;im/2){var h=A.split("|").join("
");g.text(h).attr("data-unformatted",h).call(t.convertToTspans,n),T=e.bBox(g.node())}g.attr("transform",u(-3,-T.height+8)),E.insert("rect",".static-attribution").attr({x:-T.width-6,y:-T.height-3,width:T.width+6,height:T.height+3,fill:"rgba(255, 255, 255, 0.75)"});var x=1;T.width+6>m&&(x=m/(T.width+6));var _=[c.l+c.w*d.x[1],c.t+c.h*(1-d.y[0])];E.attr("transform",u(_[0],_[1])+v(x))}},U.updateFx=function(n){for(var i=n._fullLayout,s=i._subplots[r],c=0;c=0;a--)e.removeLayer(t[a][1])},l.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)},O.exports=function(t,a){var r=a[0].trace,n=new S(t,r.uid),i=n.sourceId,s=u(a),c=n.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(i,{type:"geojson",data:s.geojson}),n._addLayers(s,c),a[0].trace._glTrace=n,n}}}),NL=xe({"src/traces/choroplethmap/index.js"(U,O){"use strict";O.exports={attributes:J3(),supplyDefaults:zL(),colorbar:gp(),calc:r3(),plot:BL(),hoverPoints:n3(),eventData:i3(),selectPoints:o3(),styleOnSelect:function(u,v){if(v){var w=v[0].trace;w._glTrace.updateOnSelect(v)}},getBelow:function(u,v){for(var w=v.getMapLayers(),S=w.length-2;S>=0;S--){var l=w[S].id;if(typeof l=="string"&&l.indexOf("water")===0){for(var e=S+1;e0?+d[p]:0),c.push({type:"Feature",geometry:{type:"Point",coordinates:M},properties:A})}}var g=S.extractOpts(r),T=g.reversescale?S.flipScale(g.colorscale):g.colorscale,m=T[0][1],h=w.opacity(m)<1?m:w.addOpacity(m,0),x=["interpolate",["linear"],["heatmap-density"],0,h];for(p=1;p=0;t--)l.removeLayer(e[t][1])},S.dispose=function(){var l=this.subplot.map;this._removeLayers(),l.removeSource(this.sourceId)},O.exports=function(e,t){var a=t[0].trace,r=new w(e,a.uid),n=r.sourceId,i=u(t),s=r.below=e.belowLookup["trace-"+a.uid];return e.map.addSource(n,{type:"geojson",data:i.geojson}),r._addLayers(i,s),r}}}),HL=xe({"src/traces/densitymap/hover.js"(U,O){"use strict";var u=uo(),v=ey().hoverPoints,w=ey().getExtraText;O.exports=function(l,e,t){var a=v(l,e,t);if(a){var r=a[0],n=r.cd,i=n[0].trace,s=n[r.index];if(delete r.color,"z"in s){var c=r.subplot.mockAxis;r.z=s.z,r.zLabel=u.tickText(c,c.c2l(s.z),"hover").text}return r.extraText=w(i,s,n[0].t.labels),[r]}}}}),GL=xe({"src/traces/densitymap/event_data.js"(U,O){"use strict";O.exports=function(v,w){return v.lon=w.lon,v.lat=w.lat,v.z=w.z,v}}}),WL=xe({"src/traces/densitymap/index.js"(U,O){"use strict";O.exports={attributes:ew(),supplyDefaults:UL(),colorbar:gp(),formatLabels:X3(),calc:jL(),plot:VL(),hoverPoints:HL(),eventData:GL(),getBelow:function(u,v){for(var w=v.getMapLayers(),S=0;Sb[D%b.length];o("color",y.label.map((D,C)=>w.addOpacity(M(C),.8))),o("customdata");var A=n.link||{},E=e.newContainer(i,"link");function g(D,C){return u.coerce(A,E,v.link,D,C)}g("label"),g("arrowlen"),g("source"),g("target"),g("value"),g("line.color"),g("line.width"),g("hoverinfo",n.hoverinfo),l(A,E,g,f),g("hovertemplate"),g("sort");var T=w.color(c.paper_bgcolor).luminosity()<.333,m=T?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)",h=g("color",m);function x(D){if(!w.isValid(D))return D;let C=w.color(D),F=C.alpha();return F<=.8?C.alpha(F+.2).rgb().string():T?w.brighten(C,10):w.adjustLightness(C,-10).rgb().string()}g("hovercolor",Array.isArray(h)?h.map(x):x(h)),g("customdata"),t(A,E,{name:"colorscales",handleItemDefaults:a}),S(i,c,p),p("orientation"),p("valueformat"),p("valuesuffix");let _=y.x.length&&y.y.length?"freeform":void 0;p("arrangement",_),u.coerceFont(p,"textfont",c.font,{autoShadowDflt:!0}),i._length=null};function a(r,n){function i(s,c){return u.coerce(r,n,v.link.colorscales,s,c)}i("label"),i("cmin"),i("cmax"),i("colorscale")}}}),rw=xe({"node_modules/strongly-connected-components/scc.js"(U,O){"use strict";O.exports=u;function u(v){for(var w=v.length,S=new Array(w),l=new Array(w),e=new Array(w),t=new Array(w),a=new Array(w),r=new Array(w),n=0;n0;){o=M[M.length-1];var A=v[o];if(t[o]=0&&r[o].push(a[g])}t[o]=E}else{if(l[o]===S[o]){for(var T=[],m=[],h=0,E=b.length-1;E>=0;--E){var x=b[E];if(e[x]=!1,T.push(x),m.push(r[x]),h+=r[x].length,a[x]=s.length,x===o){b.length=E;break}}s.push(T);for(var _=new Array(h),E=0;Eg&&(g=i.source[b]),i.target[b]>g&&(g=i.target[b]);var T=g+1;r.node._count=T;var m,h=r.node.groups,x={};for(b=0;b0&&l(z,T)&&l(R,T)&&!(x.hasOwnProperty(z)&&x.hasOwnProperty(R)&&x[z]===x[R])){x.hasOwnProperty(R)&&(R=x[R]),x.hasOwnProperty(z)&&(z=x[z]),z=+z,R=+R,d[z]=d[R]=!0;var k="";i.label&&i.label[b]&&(k=i.label[b]);var B=null;k&&y.hasOwnProperty(k)&&(B=y[k]),s.push({pointNumber:b,label:k,color:c?i.color[b]:i.color,hovercolor:p?i.hovercolor[b]:i.hovercolor,customdata:f?i.customdata[b]:i.customdata,concentrationscale:B,source:z,target:R,value:+I}),F.source.push(z),F.target.push(R)}}var N=T+h.length,q=S(n.color),Y=S(n.customdata),ee=[];for(b=0;bT-1,childrenNodes:[],pointNumber:b,label:te,color:q?n.color[b]:n.color,customdata:Y?n.customdata[b]:n.customdata})}var ae=!1;return a(N,F.source,F.target)&&(ae=!0),{circular:ae,links:s,nodes:ee,groups:h,groupLookup:x}}function a(r,n,i){for(var s=v.init2dArray(r,0),c=0;c1})}O.exports=function(n,i){var s=t(i);return w({circular:s.circular,_nodes:s.nodes,_links:s.links,_groups:s.groups,_groupLookup:s.groupLookup})}}}),ZL=xe({"node_modules/d3-quadtree/dist/d3-quadtree.js"(U,O){(function(u,v){typeof U=="object"&&typeof O<"u"?v(U):(u=u||self,v(u.d3=u.d3||{}))})(U,function(u){"use strict";function v(T){var m=+this._x.call(null,T),h=+this._y.call(null,T);return w(this.cover(m,h),m,h,T)}function w(T,m,h,x){if(isNaN(m)||isNaN(h))return T;var _,D=T._root,C={data:x},F=T._x0,I=T._y0,z=T._x1,R=T._y1,k,B,N,q,Y,ee,te,ae;if(!D)return T._root=C,T;for(;D.length;)if((Y=m>=(k=(F+z)/2))?F=k:z=k,(ee=h>=(B=(I+R)/2))?I=B:R=B,_=D,!(D=D[te=ee<<1|Y]))return _[te]=C,T;if(N=+T._x.call(null,D.data),q=+T._y.call(null,D.data),m===N&&h===q)return C.next=D,_?_[te]=C:T._root=C,T;do _=_?_[te]=new Array(4):T._root=new Array(4),(Y=m>=(k=(F+z)/2))?F=k:z=k,(ee=h>=(B=(I+R)/2))?I=B:R=B;while((te=ee<<1|Y)===(ae=(q>=B)<<1|N>=k));return _[ae]=D,_[te]=C,T}function S(T){var m,h,x=T.length,_,D,C=new Array(x),F=new Array(x),I=1/0,z=1/0,R=-1/0,k=-1/0;for(h=0;hR&&(R=_),Dk&&(k=D));if(I>R||z>k)return this;for(this.cover(I,z).cover(R,k),h=0;hT||T>=_||x>m||m>=D;)switch(z=(mR||(F=q.y0)>k||(I=q.x1)<_||(z=q.y1)=te)<<1|T>=ee)&&(q=B[B.length-1],B[B.length-1]=B[B.length-1-Y],B[B.length-1-Y]=q)}else{var ae=T-+this._x.call(null,N.data),j=m-+this._y.call(null,N.data),G=ae*ae+j*j;if(G=(B=(C+I)/2))?C=B:I=B,(Y=k>=(N=(F+z)/2))?F=N:z=N,m=h,!(h=h[ee=Y<<1|q]))return this;if(!h.length)break;(m[ee+1&3]||m[ee+2&3]||m[ee+3&3])&&(x=m,te=ee)}for(;h.data!==T;)if(_=h,!(h=h.next))return this;return(D=h.next)&&delete h.next,_?(D?_.next=D:delete _.next,this):m?(D?m[ee]=D:delete m[ee],(h=m[0]||m[1]||m[2]||m[3])&&h===(m[3]||m[2]||m[1]||m[0])&&!h.length&&(x?x[te]=h:this._root=h),this):(this._root=D,this)}function i(T){for(var m=0,h=T.length;m=d.length)return o!=null&&g.sort(o),b!=null?b(g):g;for(var x=-1,_=g.length,D=d[T++],C,F,I=S(),z,R=m();++x<_;)(z=I.get(C=D(F=g[x])+""))?z.push(F):I.set(C,[F]);return I.each(function(k,B){h(R,B,A(k,T,m,h))}),R}function E(g,T){if(++T>d.length)return g;var m,h=y[T-1];return b!=null&&T>=d.length?m=g.entries():(m=[],g.each(function(x,_){m.push({key:_,values:E(x,T)})})),h!=null?m.sort(function(x,_){return h(x.key,_.key)}):m}return M={object:function(g){return A(g,0,e,t)},map:function(g){return A(g,0,a,r)},entries:function(g){return E(A(g,0,a,r),0)},key:function(g){return d.push(g),M},sortKeys:function(g){return y[d.length-1]=g,M},sortValues:function(g){return o=g,M},rollup:function(g){return b=g,M}}}function e(){return{}}function t(d,y,o){d[y]=o}function a(){return S()}function r(d,y,o){d.set(y,o)}function n(){}var i=S.prototype;n.prototype=s.prototype={constructor:n,has:i.has,add:function(d){return d+="",this[v+d]=d,this},remove:i.remove,clear:i.clear,values:i.keys,size:i.size,empty:i.empty,each:i.each};function s(d,y){var o=new n;if(d instanceof n)d.each(function(A){o.add(A)});else if(d){var b=-1,M=d.length;if(y==null)for(;++b=0&&(i=n.slice(s+1),n=n.slice(0,s)),n&&!r.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:i}})}S.prototype=w.prototype={constructor:S,on:function(a,r){var n=this._,i=l(a+"",n),s,c=-1,p=i.length;if(arguments.length<2){for(;++c0)for(var n=new Array(s),i=0,s,c;i=0&&T._call.call(null,m),T=T._next;--v}function o(){r=(a=i.now())+n,v=w=0;try{y()}finally{v=0,M(),r=0}}function b(){var T=i.now(),m=T-a;m>l&&(n-=m,a=T)}function M(){for(var T,m=e,h,x=1/0;m;)m._call?(x>m._time&&(x=m._time),T=m,m=m._next):(h=m._next,m._next=null,m=T?T._next=h:e=h);t=T,A(x)}function A(T){if(!v){w&&(w=clearTimeout(w));var m=T-r;m>24?(T<1/0&&(w=setTimeout(o,T-i.now()-n)),S&&(S=clearInterval(S))):(S||(a=i.now(),S=setInterval(b,l)),v=1,s(o))}}function E(T,m,h){var x=new f;return m=m==null?0:+m,x.restart(function(_){x.stop(),T(_+m)},m,h),x}function g(T,m,h){var x=new f,_=m;return m==null?(x.restart(T,m,h),x):(m=+m,h=h==null?c():+h,x.restart(function D(C){C+=_,x.restart(D,_+=m,h),T(C)},m,h),x)}u.interval=g,u.now=c,u.timeout=E,u.timer=d,u.timerFlush=y,Object.defineProperty(u,"__esModule",{value:!0})})}}),QL=xe({"node_modules/d3-force/dist/d3-force.js"(U,O){(function(u,v){typeof U=="object"&&typeof O<"u"?v(U,ZL(),aw(),KL(),JL()):v(u.d3=u.d3||{},u.d3,u.d3,u.d3,u.d3)})(U,function(u,v,w,S,l){"use strict";function e(T,m){var h;T==null&&(T=0),m==null&&(m=0);function x(){var _,D=h.length,C,F=0,I=0;for(_=0;_k.index){var Q=B-Z.x-Z.vx,re=N-Z.y-Z.vy,ue=Q*Q+re*re;ue<$*$&&(Q===0&&(Q=a(),ue+=Q*Q),re===0&&(re=a(),ue+=re*re),ue=($-(ue=Math.sqrt(ue)))/ue*x,k.vx+=(Q*=ue)*($=(X*=X)/(Y+X)),k.vy+=(re*=ue)*$,Z.vx-=Q*($=1-$),Z.vy-=re*$)}return}return j>B+$||KN+$||HI.r&&(I.r=I[z].r)}function F(){if(m){var I,z=m.length,R;for(h=new Array(z),I=0;I1?(Y==null?F.remove(q):F.set(q,N(Y)),m):F.get(q)},find:function(q,Y,ee){var te=0,ae=T.length,j,G,K,H,Z;for(ee==null?ee=1/0:ee*=ee,te=0;te1?(z.on(q,Y),m):z.on(q)}}}function M(){var T,m,h,x=t(-30),_,D=1,C=1/0,F=.81;function I(B){var N,q=T.length,Y=v.quadtree(T,f,d).visitAfter(R);for(h=B,N=0;N=C)return;(B.data!==m||B.next)&&(ee===0&&(ee=a(),j+=ee*ee),te===0&&(te=a(),j+=te*te),jS)if(!(Math.abs(o*f-d*y)>S)||!s)this._+="L"+(this._x1=a)+","+(this._y1=r);else{var M=n-c,A=i-p,E=f*f+d*d,g=M*M+A*A,T=Math.sqrt(E),m=Math.sqrt(b),h=s*Math.tan((v-Math.acos((E+b-g)/(2*T*m)))/2),x=h/m,_=h/T;Math.abs(x-1)>S&&(this._+="L"+(a+x*y)+","+(r+x*o)),this._+="A"+s+","+s+",0,0,"+ +(o*M>y*A)+","+(this._x1=a+_*f)+","+(this._y1=r+_*d)}},arc:function(a,r,n,i,s,c){a=+a,r=+r,n=+n,c=!!c;var p=n*Math.cos(i),f=n*Math.sin(i),d=a+p,y=r+f,o=1^c,b=c?i-s:s-i;if(n<0)throw new Error("negative radius: "+n);this._x1===null?this._+="M"+d+","+y:(Math.abs(this._x1-d)>S||Math.abs(this._y1-y)>S)&&(this._+="L"+d+","+y),n&&(b<0&&(b=b%w+w),b>l?this._+="A"+n+","+n+",0,1,"+o+","+(a-p)+","+(r-f)+"A"+n+","+n+",0,1,"+o+","+(this._x1=d)+","+(this._y1=y):b>S&&(this._+="A"+n+","+n+",0,"+ +(b>=v)+","+o+","+(this._x1=a+n*Math.cos(s))+","+(this._y1=r+n*Math.sin(s))))},rect:function(a,r,n,i){this._+="M"+(this._x0=this._x1=+a)+","+(this._y0=this._y1=+r)+"h"+ +n+"v"+ +i+"h"+-n+"Z"},toString:function(){return this._}},u.path=t,Object.defineProperty(u,"__esModule",{value:!0})})}}),nw=xe({"node_modules/d3-shape/dist/d3-shape.js"(U,O){(function(u,v){typeof U=="object"&&typeof O<"u"?v(U,e7()):(u=u||self,v(u.d3=u.d3||{},u.d3))})(U,function(u,v){"use strict";function w(Ze){return function(){return Ze}}var S=Math.abs,l=Math.atan2,e=Math.cos,t=Math.max,a=Math.min,r=Math.sin,n=Math.sqrt,i=1e-12,s=Math.PI,c=s/2,p=2*s;function f(Ze){return Ze>1?0:Ze<-1?s:Math.acos(Ze)}function d(Ze){return Ze>=1?c:Ze<=-1?-c:Math.asin(Ze)}function y(Ze){return Ze.innerRadius}function o(Ze){return Ze.outerRadius}function b(Ze){return Ze.startAngle}function M(Ze){return Ze.endAngle}function A(Ze){return Ze&&Ze.padAngle}function E(Ze,xt,Vt,er,Tr,jr,Fr,kr){var ra=Vt-Ze,ja=er-xt,La=Fr-Tr,Dn=kr-jr,Mn=Dn*ra-La*ja;if(!(Mn*Mnho*ho+ro*ro&&(ao=Wo,Co=Po),{cx:ao,cy:Co,x01:-La,y01:-Dn,x11:ao*(Tr/Mo-1),y11:Co*(Tr/Mo-1)}}function T(){var Ze=y,xt=o,Vt=w(0),er=null,Tr=b,jr=M,Fr=A,kr=null;function ra(){var ja,La,Dn=+Ze.apply(this,arguments),Mn=+xt.apply(this,arguments),_i=Tr.apply(this,arguments)-c,ti=jr.apply(this,arguments)-c,Si=S(ti-_i),ai=ti>_i;if(kr||(kr=ja=v.path()),Mni))kr.moveTo(0,0);else if(Si>p-i)kr.moveTo(Mn*e(_i),Mn*r(_i)),kr.arc(0,0,Mn,_i,ti,!ai),Dn>i&&(kr.moveTo(Dn*e(ti),Dn*r(ti)),kr.arc(0,0,Dn,ti,_i,ai));else{var Ao=_i,yo=ti,Vn=_i,Bo=ti,Mo=Si,co=Si,Ro=Fr.apply(this,arguments)/2,ao=Ro>i&&(er?+er.apply(this,arguments):n(Dn*Dn+Mn*Mn)),Co=a(S(Mn-Dn)/2,+Vt.apply(this,arguments)),Wo=Co,Po=Co,vi,zi;if(ao>i){var ho=d(ao/Dn*r(Ro)),ro=d(ao/Mn*r(Ro));(Mo-=ho*2)>i?(ho*=ai?1:-1,Vn+=ho,Bo-=ho):(Mo=0,Vn=Bo=(_i+ti)/2),(co-=ro*2)>i?(ro*=ai?1:-1,Ao+=ro,yo-=ro):(co=0,Ao=yo=(_i+ti)/2)}var es=Mn*e(Ao),Ho=Mn*r(Ao),is=Dn*e(Bo),as=Dn*r(Bo);if(Co>i){var vs=Mn*e(yo),Yo=Mn*r(yo),po=Dn*e(Vn),_s=Dn*r(Vn),qo;if(Sii?Po>i?(vi=g(po,_s,es,Ho,Mn,Po,ai),zi=g(vs,Yo,is,as,Mn,Po,ai),kr.moveTo(vi.cx+vi.x01,vi.cy+vi.y01),Poi)||!(Mo>i)?kr.lineTo(is,as):Wo>i?(vi=g(is,as,vs,Yo,Dn,-Wo,ai),zi=g(es,Ho,po,_s,Dn,-Wo,ai),kr.lineTo(vi.cx+vi.x01,vi.cy+vi.y01),Wo=Mn;--_i)kr.point(yo[_i],Vn[_i]);kr.lineEnd(),kr.areaEnd()}ai&&(yo[Dn]=+Ze(Si,Dn,La),Vn[Dn]=+Vt(Si,Dn,La),kr.point(xt?+xt(Si,Dn,La):yo[Dn],er?+er(Si,Dn,La):Vn[Dn]))}if(Ao)return kr=null,Ao+""||null}function ja(){return D().defined(Tr).curve(Fr).context(jr)}return ra.x=function(La){return arguments.length?(Ze=typeof La=="function"?La:w(+La),xt=null,ra):Ze},ra.x0=function(La){return arguments.length?(Ze=typeof La=="function"?La:w(+La),ra):Ze},ra.x1=function(La){return arguments.length?(xt=La==null?null:typeof La=="function"?La:w(+La),ra):xt},ra.y=function(La){return arguments.length?(Vt=typeof La=="function"?La:w(+La),er=null,ra):Vt},ra.y0=function(La){return arguments.length?(Vt=typeof La=="function"?La:w(+La),ra):Vt},ra.y1=function(La){return arguments.length?(er=La==null?null:typeof La=="function"?La:w(+La),ra):er},ra.lineX0=ra.lineY0=function(){return ja().x(Ze).y(Vt)},ra.lineY1=function(){return ja().x(Ze).y(er)},ra.lineX1=function(){return ja().x(xt).y(Vt)},ra.defined=function(La){return arguments.length?(Tr=typeof La=="function"?La:w(!!La),ra):Tr},ra.curve=function(La){return arguments.length?(Fr=La,jr!=null&&(kr=Fr(jr)),ra):Fr},ra.context=function(La){return arguments.length?(La==null?jr=kr=null:kr=Fr(jr=La),ra):jr},ra}function F(Ze,xt){return xtZe?1:xt>=Ze?0:NaN}function I(Ze){return Ze}function z(){var Ze=I,xt=F,Vt=null,er=w(0),Tr=w(p),jr=w(0);function Fr(kr){var ra,ja=kr.length,La,Dn,Mn=0,_i=new Array(ja),ti=new Array(ja),Si=+er.apply(this,arguments),ai=Math.min(p,Math.max(-p,Tr.apply(this,arguments)-Si)),Ao,yo=Math.min(Math.abs(ai)/ja,jr.apply(this,arguments)),Vn=yo*(ai<0?-1:1),Bo;for(ra=0;ra0&&(Mn+=Bo);for(xt!=null?_i.sort(function(Mo,co){return xt(ti[Mo],ti[co])}):Vt!=null&&_i.sort(function(Mo,co){return Vt(kr[Mo],kr[co])}),ra=0,Dn=Mn?(ai-ja*Vn)/Mn:0;ra0?Bo*Dn:0)+Vn,ti[La]={data:kr[La],index:ra,value:Bo,startAngle:Si,endAngle:Ao,padAngle:yo};return ti}return Fr.value=function(kr){return arguments.length?(Ze=typeof kr=="function"?kr:w(+kr),Fr):Ze},Fr.sortValues=function(kr){return arguments.length?(xt=kr,Vt=null,Fr):xt},Fr.sort=function(kr){return arguments.length?(Vt=kr,xt=null,Fr):Vt},Fr.startAngle=function(kr){return arguments.length?(er=typeof kr=="function"?kr:w(+kr),Fr):er},Fr.endAngle=function(kr){return arguments.length?(Tr=typeof kr=="function"?kr:w(+kr),Fr):Tr},Fr.padAngle=function(kr){return arguments.length?(jr=typeof kr=="function"?kr:w(+kr),Fr):jr},Fr}var R=B(h);function k(Ze){this._curve=Ze}k.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(Ze,xt){this._curve.point(xt*Math.sin(Ze),xt*-Math.cos(Ze))}};function B(Ze){function xt(Vt){return new k(Ze(Vt))}return xt._curve=Ze,xt}function N(Ze){var xt=Ze.curve;return Ze.angle=Ze.x,delete Ze.x,Ze.radius=Ze.y,delete Ze.y,Ze.curve=function(Vt){return arguments.length?xt(B(Vt)):xt()._curve},Ze}function q(){return N(D().curve(R))}function Y(){var Ze=C().curve(R),xt=Ze.curve,Vt=Ze.lineX0,er=Ze.lineX1,Tr=Ze.lineY0,jr=Ze.lineY1;return Ze.angle=Ze.x,delete Ze.x,Ze.startAngle=Ze.x0,delete Ze.x0,Ze.endAngle=Ze.x1,delete Ze.x1,Ze.radius=Ze.y,delete Ze.y,Ze.innerRadius=Ze.y0,delete Ze.y0,Ze.outerRadius=Ze.y1,delete Ze.y1,Ze.lineStartAngle=function(){return N(Vt())},delete Ze.lineX0,Ze.lineEndAngle=function(){return N(er())},delete Ze.lineX1,Ze.lineInnerRadius=function(){return N(Tr())},delete Ze.lineY0,Ze.lineOuterRadius=function(){return N(jr())},delete Ze.lineY1,Ze.curve=function(Fr){return arguments.length?xt(B(Fr)):xt()._curve},Ze}function ee(Ze,xt){return[(xt=+xt)*Math.cos(Ze-=Math.PI/2),xt*Math.sin(Ze)]}var te=Array.prototype.slice;function ae(Ze){return Ze.source}function j(Ze){return Ze.target}function G(Ze){var xt=ae,Vt=j,er=x,Tr=_,jr=null;function Fr(){var kr,ra=te.call(arguments),ja=xt.apply(this,ra),La=Vt.apply(this,ra);if(jr||(jr=kr=v.path()),Ze(jr,+er.apply(this,(ra[0]=ja,ra)),+Tr.apply(this,ra),+er.apply(this,(ra[0]=La,ra)),+Tr.apply(this,ra)),kr)return jr=null,kr+""||null}return Fr.source=function(kr){return arguments.length?(xt=kr,Fr):xt},Fr.target=function(kr){return arguments.length?(Vt=kr,Fr):Vt},Fr.x=function(kr){return arguments.length?(er=typeof kr=="function"?kr:w(+kr),Fr):er},Fr.y=function(kr){return arguments.length?(Tr=typeof kr=="function"?kr:w(+kr),Fr):Tr},Fr.context=function(kr){return arguments.length?(jr=kr??null,Fr):jr},Fr}function K(Ze,xt,Vt,er,Tr){Ze.moveTo(xt,Vt),Ze.bezierCurveTo(xt=(xt+er)/2,Vt,xt,Tr,er,Tr)}function H(Ze,xt,Vt,er,Tr){Ze.moveTo(xt,Vt),Ze.bezierCurveTo(xt,Vt=(Vt+Tr)/2,er,Vt,er,Tr)}function Z(Ze,xt,Vt,er,Tr){var jr=ee(xt,Vt),Fr=ee(xt,Vt=(Vt+Tr)/2),kr=ee(er,Vt),ra=ee(er,Tr);Ze.moveTo(jr[0],jr[1]),Ze.bezierCurveTo(Fr[0],Fr[1],kr[0],kr[1],ra[0],ra[1])}function X(){return G(K)}function $(){return G(H)}function Q(){var Ze=G(Z);return Ze.angle=Ze.x,delete Ze.x,Ze.radius=Ze.y,delete Ze.y,Ze}var re={draw:function(Ze,xt){var Vt=Math.sqrt(xt/s);Ze.moveTo(Vt,0),Ze.arc(0,0,Vt,0,p)}},ue={draw:function(Ze,xt){var Vt=Math.sqrt(xt/5)/2;Ze.moveTo(-3*Vt,-Vt),Ze.lineTo(-Vt,-Vt),Ze.lineTo(-Vt,-3*Vt),Ze.lineTo(Vt,-3*Vt),Ze.lineTo(Vt,-Vt),Ze.lineTo(3*Vt,-Vt),Ze.lineTo(3*Vt,Vt),Ze.lineTo(Vt,Vt),Ze.lineTo(Vt,3*Vt),Ze.lineTo(-Vt,3*Vt),Ze.lineTo(-Vt,Vt),Ze.lineTo(-3*Vt,Vt),Ze.closePath()}},pe=Math.sqrt(1/3),ge=pe*2,Te={draw:function(Ze,xt){var Vt=Math.sqrt(xt/ge),er=Vt*pe;Ze.moveTo(0,-Vt),Ze.lineTo(er,0),Ze.lineTo(0,Vt),Ze.lineTo(-er,0),Ze.closePath()}},Se=.8908130915292852,Ce=Math.sin(s/10)/Math.sin(7*s/10),Ue=Math.sin(p/10)*Ce,Oe=-Math.cos(p/10)*Ce,_e={draw:function(Ze,xt){var Vt=Math.sqrt(xt*Se),er=Ue*Vt,Tr=Oe*Vt;Ze.moveTo(0,-Vt),Ze.lineTo(er,Tr);for(var jr=1;jr<5;++jr){var Fr=p*jr/5,kr=Math.cos(Fr),ra=Math.sin(Fr);Ze.lineTo(ra*Vt,-kr*Vt),Ze.lineTo(kr*er-ra*Tr,ra*er+kr*Tr)}Ze.closePath()}},ce={draw:function(Ze,xt){var Vt=Math.sqrt(xt),er=-Vt/2;Ze.rect(er,er,Vt,Vt)}},ie=Math.sqrt(3),se={draw:function(Ze,xt){var Vt=-Math.sqrt(xt/(ie*3));Ze.moveTo(0,Vt*2),Ze.lineTo(-ie*Vt,-Vt),Ze.lineTo(ie*Vt,-Vt),Ze.closePath()}},ne=-.5,be=Math.sqrt(3)/2,De=1/Math.sqrt(12),qe=(De/2+1)*3,Ne={draw:function(Ze,xt){var Vt=Math.sqrt(xt/qe),er=Vt/2,Tr=Vt*De,jr=er,Fr=Vt*De+Vt,kr=-jr,ra=Fr;Ze.moveTo(er,Tr),Ze.lineTo(jr,Fr),Ze.lineTo(kr,ra),Ze.lineTo(ne*er-be*Tr,be*er+ne*Tr),Ze.lineTo(ne*jr-be*Fr,be*jr+ne*Fr),Ze.lineTo(ne*kr-be*ra,be*kr+ne*ra),Ze.lineTo(ne*er+be*Tr,ne*Tr-be*er),Ze.lineTo(ne*jr+be*Fr,ne*Fr-be*jr),Ze.lineTo(ne*kr+be*ra,ne*ra-be*kr),Ze.closePath()}},ut=[re,ue,Te,ce,_e,se,Ne];function ot(){var Ze=w(re),xt=w(64),Vt=null;function er(){var Tr;if(Vt||(Vt=Tr=v.path()),Ze.apply(this,arguments).draw(Vt,+xt.apply(this,arguments)),Tr)return Vt=null,Tr+""||null}return er.type=function(Tr){return arguments.length?(Ze=typeof Tr=="function"?Tr:w(Tr),er):Ze},er.size=function(Tr){return arguments.length?(xt=typeof Tr=="function"?Tr:w(+Tr),er):xt},er.context=function(Tr){return arguments.length?(Vt=Tr??null,er):Vt},er}function yt(){}function At(Ze,xt,Vt){Ze._context.bezierCurveTo((2*Ze._x0+Ze._x1)/3,(2*Ze._y0+Ze._y1)/3,(Ze._x0+2*Ze._x1)/3,(Ze._y0+2*Ze._y1)/3,(Ze._x0+4*Ze._x1+xt)/6,(Ze._y0+4*Ze._y1+Vt)/6)}function It(Ze){this._context=Ze}It.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:At(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(Ze,xt){switch(Ze=+Ze,xt=+xt,this._point){case 0:this._point=1,this._line?this._context.lineTo(Ze,xt):this._context.moveTo(Ze,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:At(this,Ze,xt);break}this._x0=this._x1,this._x1=Ze,this._y0=this._y1,this._y1=xt}};function Zt(Ze){return new It(Ze)}function vr(Ze){this._context=Ze}vr.prototype={areaStart:yt,areaEnd:yt,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(Ze,xt){switch(Ze=+Ze,xt=+xt,this._point){case 0:this._point=1,this._x2=Ze,this._y2=xt;break;case 1:this._point=2,this._x3=Ze,this._y3=xt;break;case 2:this._point=3,this._x4=Ze,this._y4=xt,this._context.moveTo((this._x0+4*this._x1+Ze)/6,(this._y0+4*this._y1+xt)/6);break;default:At(this,Ze,xt);break}this._x0=this._x1,this._x1=Ze,this._y0=this._y1,this._y1=xt}};function Ut(Ze){return new vr(Ze)}function Jt(Ze){this._context=Ze}Jt.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(Ze,xt){switch(Ze=+Ze,xt=+xt,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var Vt=(this._x0+4*this._x1+Ze)/6,er=(this._y0+4*this._y1+xt)/6;this._line?this._context.lineTo(Vt,er):this._context.moveTo(Vt,er);break;case 3:this._point=4;default:At(this,Ze,xt);break}this._x0=this._x1,this._x1=Ze,this._y0=this._y1,this._y1=xt}};function at(Ze){return new Jt(Ze)}function Ee(Ze,xt){this._basis=new It(Ze),this._beta=xt}Ee.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var Ze=this._x,xt=this._y,Vt=Ze.length-1;if(Vt>0)for(var er=Ze[0],Tr=xt[0],jr=Ze[Vt]-er,Fr=xt[Vt]-Tr,kr=-1,ra;++kr<=Vt;)ra=kr/Vt,this._basis.point(this._beta*Ze[kr]+(1-this._beta)*(er+ra*jr),this._beta*xt[kr]+(1-this._beta)*(Tr+ra*Fr));this._x=this._y=null,this._basis.lineEnd()},point:function(Ze,xt){this._x.push(+Ze),this._y.push(+xt)}};var Re=function Ze(xt){function Vt(er){return xt===1?new It(er):new Ee(er,xt)}return Vt.beta=function(er){return Ze(+er)},Vt}(.85);function he(Ze,xt,Vt){Ze._context.bezierCurveTo(Ze._x1+Ze._k*(Ze._x2-Ze._x0),Ze._y1+Ze._k*(Ze._y2-Ze._y0),Ze._x2+Ze._k*(Ze._x1-xt),Ze._y2+Ze._k*(Ze._y1-Vt),Ze._x2,Ze._y2)}function ye(Ze,xt){this._context=Ze,this._k=(1-xt)/6}ye.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:he(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(Ze,xt){switch(Ze=+Ze,xt=+xt,this._point){case 0:this._point=1,this._line?this._context.lineTo(Ze,xt):this._context.moveTo(Ze,xt);break;case 1:this._point=2,this._x1=Ze,this._y1=xt;break;case 2:this._point=3;default:he(this,Ze,xt);break}this._x0=this._x1,this._x1=this._x2,this._x2=Ze,this._y0=this._y1,this._y1=this._y2,this._y2=xt}};var Ie=function Ze(xt){function Vt(er){return new ye(er,xt)}return Vt.tension=function(er){return Ze(+er)},Vt}(0);function Fe(Ze,xt){this._context=Ze,this._k=(1-xt)/6}Fe.prototype={areaStart:yt,areaEnd:yt,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(Ze,xt){switch(Ze=+Ze,xt=+xt,this._point){case 0:this._point=1,this._x3=Ze,this._y3=xt;break;case 1:this._point=2,this._context.moveTo(this._x4=Ze,this._y4=xt);break;case 2:this._point=3,this._x5=Ze,this._y5=xt;break;default:he(this,Ze,xt);break}this._x0=this._x1,this._x1=this._x2,this._x2=Ze,this._y0=this._y1,this._y1=this._y2,this._y2=xt}};var He=function Ze(xt){function Vt(er){return new Fe(er,xt)}return Vt.tension=function(er){return Ze(+er)},Vt}(0);function We(Ze,xt){this._context=Ze,this._k=(1-xt)/6}We.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(Ze,xt){switch(Ze=+Ze,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:he(this,Ze,xt);break}this._x0=this._x1,this._x1=this._x2,this._x2=Ze,this._y0=this._y1,this._y1=this._y2,this._y2=xt}};var pt=function Ze(xt){function Vt(er){return new We(er,xt)}return Vt.tension=function(er){return Ze(+er)},Vt}(0);function ct(Ze,xt,Vt){var er=Ze._x1,Tr=Ze._y1,jr=Ze._x2,Fr=Ze._y2;if(Ze._l01_a>i){var kr=2*Ze._l01_2a+3*Ze._l01_a*Ze._l12_a+Ze._l12_2a,ra=3*Ze._l01_a*(Ze._l01_a+Ze._l12_a);er=(er*kr-Ze._x0*Ze._l12_2a+Ze._x2*Ze._l01_2a)/ra,Tr=(Tr*kr-Ze._y0*Ze._l12_2a+Ze._y2*Ze._l01_2a)/ra}if(Ze._l23_a>i){var ja=2*Ze._l23_2a+3*Ze._l23_a*Ze._l12_a+Ze._l12_2a,La=3*Ze._l23_a*(Ze._l23_a+Ze._l12_a);jr=(jr*ja+Ze._x1*Ze._l23_2a-xt*Ze._l12_2a)/La,Fr=(Fr*ja+Ze._y1*Ze._l23_2a-Vt*Ze._l12_2a)/La}Ze._context.bezierCurveTo(er,Tr,jr,Fr,Ze._x2,Ze._y2)}function ft(Ze,xt){this._context=Ze,this._alpha=xt}ft.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(Ze,xt){if(Ze=+Ze,xt=+xt,this._point){var Vt=this._x2-Ze,er=this._y2-xt;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Vt*Vt+er*er,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(Ze,xt):this._context.moveTo(Ze,xt);break;case 1:this._point=2;break;case 2:this._point=3;default:ct(this,Ze,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=Ze,this._y0=this._y1,this._y1=this._y2,this._y2=xt}};var mt=function Ze(xt){function Vt(er){return xt?new ft(er,xt):new ye(er,0)}return Vt.alpha=function(er){return Ze(+er)},Vt}(.5);function _t(Ze,xt){this._context=Ze,this._alpha=xt}_t.prototype={areaStart:yt,areaEnd:yt,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(Ze,xt){if(Ze=+Ze,xt=+xt,this._point){var Vt=this._x2-Ze,er=this._y2-xt;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Vt*Vt+er*er,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=Ze,this._y3=xt;break;case 1:this._point=2,this._context.moveTo(this._x4=Ze,this._y4=xt);break;case 2:this._point=3,this._x5=Ze,this._y5=xt;break;default:ct(this,Ze,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=Ze,this._y0=this._y1,this._y1=this._y2,this._y2=xt}};var Bt=function Ze(xt){function Vt(er){return xt?new _t(er,xt):new Fe(er,0)}return Vt.alpha=function(er){return Ze(+er)},Vt}(.5);function Et(Ze,xt){this._context=Ze,this._alpha=xt}Et.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(Ze,xt){if(Ze=+Ze,xt=+xt,this._point){var Vt=this._x2-Ze,er=this._y2-xt;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Vt*Vt+er*er,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,Ze,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=Ze,this._y0=this._y1,this._y1=this._y2,this._y2=xt}};var hr=function Ze(xt){function Vt(er){return xt?new Et(er,xt):new We(er,0)}return Vt.alpha=function(er){return Ze(+er)},Vt}(.5);function $r(Ze){this._context=Ze}$r.prototype={areaStart:yt,areaEnd:yt,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(Ze,xt){Ze=+Ze,xt=+xt,this._point?this._context.lineTo(Ze,xt):(this._point=1,this._context.moveTo(Ze,xt))}};function ca(Ze){return new $r(Ze)}function na(Ze){return Ze<0?-1:1}function wa(Ze,xt,Vt){var er=Ze._x1-Ze._x0,Tr=xt-Ze._x1,jr=(Ze._y1-Ze._y0)/(er||Tr<0&&-0),Fr=(Vt-Ze._y1)/(Tr||er<0&&-0),kr=(jr*Tr+Fr*er)/(er+Tr);return(na(jr)+na(Fr))*Math.min(Math.abs(jr),Math.abs(Fr),.5*Math.abs(kr))||0}function pa(Ze,xt){var Vt=Ze._x1-Ze._x0;return Vt?(3*(Ze._y1-Ze._y0)/Vt-xt)/2:xt}function fa(Ze,xt,Vt){var er=Ze._x0,Tr=Ze._y0,jr=Ze._x1,Fr=Ze._y1,kr=(jr-er)/3;Ze._context.bezierCurveTo(er+kr,Tr+kr*xt,jr-kr,Fr-kr*Vt,jr,Fr)}function za(Ze){this._context=Ze}za.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:fa(this,this._t0,pa(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(Ze,xt){var Vt=NaN;if(Ze=+Ze,xt=+xt,!(Ze===this._x1&&xt===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(Ze,xt):this._context.moveTo(Ze,xt);break;case 1:this._point=2;break;case 2:this._point=3,fa(this,pa(this,Vt=wa(this,Ze,xt)),Vt);break;default:fa(this,this._t0,Vt=wa(this,Ze,xt));break}this._x0=this._x1,this._x1=Ze,this._y0=this._y1,this._y1=xt,this._t0=Vt}}};function Ia(Ze){this._context=new Va(Ze)}(Ia.prototype=Object.create(za.prototype)).point=function(Ze,xt){za.prototype.point.call(this,xt,Ze)};function Va(Ze){this._context=Ze}Va.prototype={moveTo:function(Ze,xt){this._context.moveTo(xt,Ze)},closePath:function(){this._context.closePath()},lineTo:function(Ze,xt){this._context.lineTo(xt,Ze)},bezierCurveTo:function(Ze,xt,Vt,er,Tr,jr){this._context.bezierCurveTo(xt,Ze,er,Vt,jr,Tr)}};function Oa(Ze){return new za(Ze)}function tn(Ze){return new Ia(Ze)}function ka(Ze){this._context=Ze}ka.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var Ze=this._x,xt=this._y,Vt=Ze.length;if(Vt)if(this._line?this._context.lineTo(Ze[0],xt[0]):this._context.moveTo(Ze[0],xt[0]),Vt===2)this._context.lineTo(Ze[1],xt[1]);else for(var er=oi(Ze),Tr=oi(xt),jr=0,Fr=1;Fr=0;--xt)Tr[xt]=(Fr[xt]-Tr[xt+1])/jr[xt];for(jr[Vt-1]=(Ze[Vt]+Tr[Vt-1])/2,xt=0;xt=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(Ze,xt){switch(Ze=+Ze,xt=+xt,this._point){case 0:this._point=1,this._line?this._context.lineTo(Ze,xt):this._context.moveTo(Ze,xt);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,xt),this._context.lineTo(Ze,xt);else{var Vt=this._x*(1-this._t)+Ze*this._t;this._context.lineTo(Vt,this._y),this._context.lineTo(Vt,xt)}break}}this._x=Ze,this._y=xt}};function ci(Ze){return new bn(Ze,.5)}function hi(Ze){return new bn(Ze,0)}function Pi(Ze){return new bn(Ze,1)}function Jn(Ze,xt){if((Fr=Ze.length)>1)for(var Vt=1,er,Tr,jr=Ze[xt[0]],Fr,kr=jr.length;Vt=0;)Vt[xt]=xt;return Vt}function _n(Ze,xt){return Ze[xt]}function Ln(){var Ze=w([]),xt=Ti,Vt=Jn,er=_n;function Tr(jr){var Fr=Ze.apply(this,arguments),kr,ra=jr.length,ja=Fr.length,La=new Array(ja),Dn;for(kr=0;kr0){for(var Vt,er,Tr=0,jr=Ze[0].length,Fr;Tr0)for(var Vt,er=0,Tr,jr,Fr,kr,ra,ja=Ze[xt[0]].length;er0?(Tr[0]=Fr,Tr[1]=Fr+=jr):jr<0?(Tr[1]=kr,Tr[0]=kr+=jr):(Tr[0]=0,Tr[1]=jr)}function un(Ze,xt){if((Tr=Ze.length)>0){for(var Vt=0,er=Ze[xt[0]],Tr,jr=er.length;Vt0)||!((jr=(Tr=Ze[xt[0]]).length)>0))){for(var Vt=0,er=1,Tr,jr,Fr;erjr&&(jr=Tr,Vt=xt);return Vt}function Qt(Ze){var xt=Ze.map(Xt);return Ti(Ze).sort(function(Vt,er){return xt[Vt]-xt[er]})}function Xt(Ze){for(var xt=0,Vt=-1,er=Ze.length,Tr;++Vt[C(Ue,Oe,Te),Ue]));for(let[Ue,Oe]of Se.entries()){Oe.index=Ue;let{source:_e,target:ce}=Oe;typeof _e!="object"&&(_e=Oe.source=y(Ce,_e)),typeof ce!="object"&&(ce=Oe.target=y(Ce,ce)),_e.sourceLinks.push(Oe),ce.targetLinks.push(Oe)}if(z!=null)for(let{sourceLinks:Ue,targetLinks:Oe}of Te)Ue.sort(z),Oe.sort(z)}function ee({nodes:Te}){for(let Se of Te)Se.value=Se.fixedValue===void 0?Math.max(v.sum(Se.sourceLinks,c),v.sum(Se.targetLinks,c)):Se.fixedValue}function te({nodes:Te}){let Se=Te.length,Ce=new Set(Te),Ue=new Set,Oe=0;for(;Ce.size;){for(let _e of Ce){_e.depth=Oe;for(let{target:ce}of _e.sourceLinks)Ue.add(ce)}if(++Oe>Se)throw new Error("circular link");Ce=Ue,Ue=new Set}}function ae({nodes:Te}){let Se=Te.length,Ce=new Set(Te),Ue=new Set,Oe=0;for(;Ce.size;){for(let _e of Ce){_e.height=Oe;for(let{source:ce}of _e.targetLinks)Ue.add(ce)}if(++Oe>Se)throw new Error("circular link");Ce=Ue,Ue=new Set}}function j({nodes:Te}){let Se=v.max(Te,Oe=>Oe.depth)+1,Ce=(m-g-x)/(Se-1),Ue=new Array(Se);for(let Oe of Te){let _e=Math.max(0,Math.min(Se-1,Math.floor(F.call(null,Oe,Se))));Oe.layer=_e,Oe.x0=g+_e*Ce,Oe.x1=Oe.x0+x,Ue[_e]?Ue[_e].push(Oe):Ue[_e]=[Oe]}if(I)for(let Oe of Ue)Oe.sort(I);return Ue}function G(Te){let Se=v.min(Te,Ce=>(h-T-(Ce.length-1)*D)/v.sum(Ce,c));for(let Ce of Te){let Ue=T;for(let Oe of Ce){Oe.y0=Ue,Oe.y1=Ue+Oe.value*Se,Ue=Oe.y1+D;for(let _e of Oe.sourceLinks)_e.width=_e.value*Se}Ue=(h-Ue+D)/(Ce.length+1);for(let Oe=0;OeCe.length)-1)),G(Se);for(let Ce=0;Ce0))continue;let ne=(ie/se-ce.y0)*Se;ce.y0+=ne,ce.y1+=ne,re(ce)}I===void 0&&_e.sort(s),X(_e,Ce)}}function Z(Te,Se,Ce){for(let Ue=Te.length,Oe=Ue-2;Oe>=0;--Oe){let _e=Te[Oe];for(let ce of _e){let ie=0,se=0;for(let{target:be,value:De}of ce.sourceLinks){let qe=De*(be.layer-ce.layer);ie+=ge(ce,be)*qe,se+=qe}if(!(se>0))continue;let ne=(ie/se-ce.y0)*Se;ce.y0+=ne,ce.y1+=ne,re(ce)}I===void 0&&_e.sort(s),X(_e,Ce)}}function X(Te,Se){let Ce=Te.length>>1,Ue=Te[Ce];Q(Te,Ue.y0-D,Ce-1,Se),$(Te,Ue.y1+D,Ce+1,Se),Q(Te,h,Te.length-1,Se),$(Te,T,0,Se)}function $(Te,Se,Ce,Ue){for(;Ce1e-6&&(Oe.y0+=_e,Oe.y1+=_e),Se=Oe.y1+D}}function Q(Te,Se,Ce,Ue){for(;Ce>=0;--Ce){let Oe=Te[Ce],_e=(Oe.y1-Se)*Ue;_e>1e-6&&(Oe.y0-=_e,Oe.y1-=_e),Se=Oe.y0-D}}function re({sourceLinks:Te,targetLinks:Se}){if(z===void 0){for(let{source:{sourceLinks:Ce}}of Se)Ce.sort(i);for(let{target:{targetLinks:Ce}}of Te)Ce.sort(n)}}function ue(Te){if(z===void 0)for(let{sourceLinks:Se,targetLinks:Ce}of Te)Se.sort(i),Ce.sort(n)}function pe(Te,Se){let Ce=Te.y0-(Te.sourceLinks.length-1)*D/2;for(let{target:Ue,width:Oe}of Te.sourceLinks){if(Ue===Se)break;Ce+=Oe+D}for(let{source:Ue,width:Oe}of Se.targetLinks){if(Ue===Te)break;Ce-=Oe}return Ce}function ge(Te,Se){let Ce=Se.y0-(Se.targetLinks.length-1)*D/2;for(let{source:Ue,width:Oe}of Se.targetLinks){if(Ue===Te)break;Ce+=Oe+D}for(let{target:Ue,width:Oe}of Te.sourceLinks){if(Ue===Se)break;Ce-=Oe}return Ce}return q}function M(g){return[g.source.x1,g.y0]}function A(g){return[g.target.x0,g.y1]}function E(){return w.linkHorizontal().source(M).target(A)}u.sankey=b,u.sankeyCenter=a,u.sankeyJustify=t,u.sankeyLeft=l,u.sankeyLinkHorizontal=E,u.sankeyRight=e,Object.defineProperty(u,"__esModule",{value:!0})})}}),r7=xe({"node_modules/elementary-circuits-directed-graph/johnson.js"(U,O){var u=rw();O.exports=function(w,S){var l=[],e=[],t=[],a={},r=[],n;function i(A){t[A]=!1,a.hasOwnProperty(A)&&Object.keys(a[A]).forEach(function(E){delete a[A][E],t[E]&&i(E)})}function s(A){var E=!1;e.push(A),t[A]=!0;var g,T;for(g=0;g=A})}function f(A){p(A);for(var E=w,g=u(E),T=g.components.filter(function(F){return F.length>1}),m=1/0,h,x=0;x"u"?"undefined":s(ye))!=="object"&&(ye=Re.source=g(Ee,ye)),(typeof Ie>"u"?"undefined":s(Ie))!=="object"&&(Ie=Re.target=g(Ee,Ie)),ye.sourceLinks.push(Re),Ie.targetLinks.push(Re)}),at}function At(at){at.nodes.forEach(function(Ee){Ee.partOfCycle=!1,Ee.value=Math.max(v.sum(Ee.sourceLinks,d),v.sum(Ee.targetLinks,d)),Ee.sourceLinks.forEach(function(Re){Re.circular&&(Ee.partOfCycle=!0,Ee.circularLinkType=Re.circularLinkType)}),Ee.targetLinks.forEach(function(Re){Re.circular&&(Ee.partOfCycle=!0,Ee.circularLinkType=Re.circularLinkType)})})}function It(at){var Ee=0,Re=0,he=0,ye=0,Ie=v.max(at.nodes,function(Fe){return Fe.column});return at.links.forEach(function(Fe){Fe.circular&&(Fe.circularLinkType=="top"?Ee=Ee+Fe.width:Re=Re+Fe.width,Fe.target.column==0&&(ye=ye+Fe.width),Fe.source.column==Ie&&(he=he+Fe.width))}),Ee=Ee>0?Ee+m+h:Ee,Re=Re>0?Re+m+h:Re,he=he>0?he+m+h:he,ye=ye>0?ye+m+h:ye,{top:Ee,bottom:Re,left:ye,right:he}}function Zt(at,Ee){var Re=v.max(at.nodes,function(pt){return pt.column}),he=Ue-Se,ye=Oe-Ce,Ie=he+Ee.right+Ee.left,Fe=ye+Ee.top+Ee.bottom,He=he/Ie,We=ye/Fe;return Se=Se*He+Ee.left,Ue=Ee.right==0?Ue:Ue*He,Ce=Ce*We+Ee.top,Oe=Oe*We,at.nodes.forEach(function(pt){pt.x0=Se+pt.column*((Ue-Se-_e)/Re),pt.x1=pt.x0+_e}),We}function vr(at){var Ee,Re,he;for(Ee=at.nodes,Re=[],he=0;Ee.length;++he,Ee=Re,Re=[])Ee.forEach(function(ye){ye.depth=he,ye.sourceLinks.forEach(function(Ie){Re.indexOf(Ie.target)<0&&!Ie.circular&&Re.push(Ie.target)})});for(Ee=at.nodes,Re=[],he=0;Ee.length;++he,Ee=Re,Re=[])Ee.forEach(function(ye){ye.height=he,ye.targetLinks.forEach(function(Ie){Re.indexOf(Ie.source)<0&&!Ie.circular&&Re.push(Ie.source)})});at.nodes.forEach(function(ye){ye.column=Math.floor(se.call(null,ye,he))})}function Ut(at,Ee,Re){var he=w.nest().key(function(pt){return pt.column}).sortKeys(v.ascending).entries(at.nodes).map(function(pt){return pt.values});Fe(Re),We();for(var ye=1,Ie=Ee;Ie>0;--Ie)He(ye*=.99,Re),We();function Fe(pt){if(Ne){var ct=1/0;he.forEach(function(Bt){var Et=Oe*Ne/(Bt.length+1);ct=Et0))if(Bt==0&&_t==1)hr=Et.y1-Et.y0,Et.y0=Oe/2-hr/2,Et.y1=Oe/2+hr/2;else if(Bt==ft-1&&_t==1)hr=Et.y1-Et.y0,Et.y0=Oe/2-hr/2,Et.y1=Oe/2+hr/2;else{var $r=0,ca=v.mean(Et.sourceLinks,b),na=v.mean(Et.targetLinks,o);ca&&na?$r=(ca+na)/2:$r=ca||na;var wa=($r-y(Et))*pt;Et.y0+=wa,Et.y1+=wa}})})}function We(){he.forEach(function(pt){var ct,ft,mt=Ce,_t=pt.length,Bt;for(pt.sort(f),Bt=0;Bt<_t;++Bt)ct=pt[Bt],ft=mt-ct.y0,ft>0&&(ct.y0+=ft,ct.y1+=ft),mt=ct.y1+ce;if(ft=mt-ce-Oe,ft>0)for(mt=ct.y0-=ft,ct.y1-=ft,Bt=_t-2;Bt>=0;--Bt)ct=pt[Bt],ft=ct.y1+ce-mt,ft>0&&(ct.y0-=ft,ct.y1-=ft),mt=ct.y0})}}function Jt(at){at.nodes.forEach(function(Ee){Ee.sourceLinks.sort(p),Ee.targetLinks.sort(c)}),at.nodes.forEach(function(Ee){var Re=Ee.y0,he=Re,ye=Ee.y1,Ie=ye;Ee.sourceLinks.forEach(function(Fe){Fe.circular?(Fe.y0=ye-Fe.width/2,ye=ye-Fe.width):(Fe.y0=Re+Fe.width/2,Re+=Fe.width)}),Ee.targetLinks.forEach(function(Fe){Fe.circular?(Fe.y1=Ie-Fe.width/2,Ie=Ie-Fe.width):(Fe.y1=he+Fe.width/2,he+=Fe.width)})})}return ot}function D(Se,Ce,Ue){var Oe=0;if(Ue===null){for(var _e=[],ce=0;ceCe.source.column)}function z(Se,Ce){var Ue=0;Se.sourceLinks.forEach(function(_e){Ue=_e.circular&&!ge(_e,Ce)?Ue+1:Ue});var Oe=0;return Se.targetLinks.forEach(function(_e){Oe=_e.circular&&!ge(_e,Ce)?Oe+1:Oe}),Ue+Oe}function R(Se){var Ce=Se.source.sourceLinks,Ue=0;Ce.forEach(function(ce){Ue=ce.circular?Ue+1:Ue});var Oe=Se.target.targetLinks,_e=0;return Oe.forEach(function(ce){_e=ce.circular?_e+1:_e}),!(Ue>1||_e>1)}function k(Se,Ce,Ue){return Se.sort(q),Se.forEach(function(Oe,_e){var ce=0;if(ge(Oe,Ue)&&R(Oe))Oe.circularPathData.verticalBuffer=ce+Oe.width/2;else{var ie=0;for(ie;ie<_e;ie++)if(I(Se[_e],Se[ie])){var se=Se[ie].circularPathData.verticalBuffer+Se[ie].width/2+Ce;ce=se>ce?se:ce}Oe.circularPathData.verticalBuffer=ce+Oe.width/2}}),Se}function B(Se,Ce,Ue,Oe){var _e=5,ce=v.min(Se.links,function(ne){return ne.source.y0});Se.links.forEach(function(ne){ne.circular&&(ne.circularPathData={})});var ie=Se.links.filter(function(ne){return ne.circularLinkType=="top"});k(ie,Ce,Oe);var se=Se.links.filter(function(ne){return ne.circularLinkType=="bottom"});k(se,Ce,Oe),Se.links.forEach(function(ne){if(ne.circular){if(ne.circularPathData.arcRadius=ne.width+h,ne.circularPathData.leftNodeBuffer=_e,ne.circularPathData.rightNodeBuffer=_e,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,ge(ne,Oe)&&R(ne))ne.circularPathData.leftSmallArcRadius=h+ne.width/2,ne.circularPathData.leftLargeArcRadius=h+ne.width/2,ne.circularPathData.rightSmallArcRadius=h+ne.width/2,ne.circularPathData.rightLargeArcRadius=h+ne.width/2,ne.circularLinkType=="bottom"?(ne.circularPathData.verticalFullExtent=ne.source.y1+m+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-m-ne.circularPathData.verticalBuffer,ne.circularPathData.verticalLeftInnerExtent=ne.circularPathData.verticalFullExtent+ne.circularPathData.leftLargeArcRadius,ne.circularPathData.verticalRightInnerExtent=ne.circularPathData.verticalFullExtent+ne.circularPathData.rightLargeArcRadius);else{var be=ne.source.column,De=ne.circularLinkType,qe=Se.links.filter(function(ot){return ot.source.column==be&&ot.circularLinkType==De});ne.circularLinkType=="bottom"?qe.sort(ee):qe.sort(Y);var Ne=0;qe.forEach(function(ot,yt){ot.circularLinkID==ne.circularLinkID&&(ne.circularPathData.leftSmallArcRadius=h+ne.width/2+Ne,ne.circularPathData.leftLargeArcRadius=h+ne.width/2+yt*Ce+Ne),Ne=Ne+ot.width}),be=ne.target.column,qe=Se.links.filter(function(ot){return ot.target.column==be&&ot.circularLinkType==De}),ne.circularLinkType=="bottom"?qe.sort(ae):qe.sort(te),Ne=0,qe.forEach(function(ot,yt){ot.circularLinkID==ne.circularLinkID&&(ne.circularPathData.rightSmallArcRadius=h+ne.width/2+Ne,ne.circularPathData.rightLargeArcRadius=h+ne.width/2+yt*Ce+Ne),Ne=Ne+ot.width}),ne.circularLinkType=="bottom"?(ne.circularPathData.verticalFullExtent=Math.max(Ue,ne.source.y1,ne.target.y1)+m+ne.circularPathData.verticalBuffer,ne.circularPathData.verticalLeftInnerExtent=ne.circularPathData.verticalFullExtent-ne.circularPathData.leftLargeArcRadius,ne.circularPathData.verticalRightInnerExtent=ne.circularPathData.verticalFullExtent-ne.circularPathData.rightLargeArcRadius):(ne.circularPathData.verticalFullExtent=ce-m-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 ut=S.linkHorizontal().source(function(ot){var yt=ot.source.x0+(ot.source.x1-ot.source.x0),At=ot.y0;return[yt,At]}).target(function(ot){var yt=ot.target.x0,At=ot.y1;return[yt,At]});ne.path=ut(ne)}})}function N(Se){var Ce="";return Se.circularLinkType=="top"?Ce="M"+Se.circularPathData.sourceX+" "+Se.circularPathData.sourceY+" L"+Se.circularPathData.leftInnerExtent+" "+Se.circularPathData.sourceY+" A"+Se.circularPathData.leftLargeArcRadius+" "+Se.circularPathData.leftSmallArcRadius+" 0 0 0 "+Se.circularPathData.leftFullExtent+" "+(Se.circularPathData.sourceY-Se.circularPathData.leftSmallArcRadius)+" L"+Se.circularPathData.leftFullExtent+" "+Se.circularPathData.verticalLeftInnerExtent+" A"+Se.circularPathData.leftLargeArcRadius+" "+Se.circularPathData.leftLargeArcRadius+" 0 0 0 "+Se.circularPathData.leftInnerExtent+" "+Se.circularPathData.verticalFullExtent+" L"+Se.circularPathData.rightInnerExtent+" "+Se.circularPathData.verticalFullExtent+" A"+Se.circularPathData.rightLargeArcRadius+" "+Se.circularPathData.rightLargeArcRadius+" 0 0 0 "+Se.circularPathData.rightFullExtent+" "+Se.circularPathData.verticalRightInnerExtent+" L"+Se.circularPathData.rightFullExtent+" "+(Se.circularPathData.targetY-Se.circularPathData.rightSmallArcRadius)+" A"+Se.circularPathData.rightLargeArcRadius+" "+Se.circularPathData.rightSmallArcRadius+" 0 0 0 "+Se.circularPathData.rightInnerExtent+" "+Se.circularPathData.targetY+" L"+Se.circularPathData.targetX+" "+Se.circularPathData.targetY:Ce="M"+Se.circularPathData.sourceX+" "+Se.circularPathData.sourceY+" L"+Se.circularPathData.leftInnerExtent+" "+Se.circularPathData.sourceY+" A"+Se.circularPathData.leftLargeArcRadius+" "+Se.circularPathData.leftSmallArcRadius+" 0 0 1 "+Se.circularPathData.leftFullExtent+" "+(Se.circularPathData.sourceY+Se.circularPathData.leftSmallArcRadius)+" L"+Se.circularPathData.leftFullExtent+" "+Se.circularPathData.verticalLeftInnerExtent+" A"+Se.circularPathData.leftLargeArcRadius+" "+Se.circularPathData.leftLargeArcRadius+" 0 0 1 "+Se.circularPathData.leftInnerExtent+" "+Se.circularPathData.verticalFullExtent+" L"+Se.circularPathData.rightInnerExtent+" "+Se.circularPathData.verticalFullExtent+" A"+Se.circularPathData.rightLargeArcRadius+" "+Se.circularPathData.rightLargeArcRadius+" 0 0 1 "+Se.circularPathData.rightFullExtent+" "+Se.circularPathData.verticalRightInnerExtent+" L"+Se.circularPathData.rightFullExtent+" "+(Se.circularPathData.targetY+Se.circularPathData.rightSmallArcRadius)+" A"+Se.circularPathData.rightLargeArcRadius+" "+Se.circularPathData.rightSmallArcRadius+" 0 0 1 "+Se.circularPathData.rightInnerExtent+" "+Se.circularPathData.targetY+" L"+Se.circularPathData.targetX+" "+Se.circularPathData.targetY,Ce}function q(Se,Ce){return j(Se)==j(Ce)?Se.circularLinkType=="bottom"?ee(Se,Ce):Y(Se,Ce):j(Ce)-j(Se)}function Y(Se,Ce){return Se.y0-Ce.y0}function ee(Se,Ce){return Ce.y0-Se.y0}function te(Se,Ce){return Se.y1-Ce.y1}function ae(Se,Ce){return Ce.y1-Se.y1}function j(Se){return Se.target.column-Se.source.column}function G(Se){return Se.target.x0-Se.source.x1}function K(Se,Ce){var Ue=F(Se),Oe=G(Ce)/Math.tan(Ue),_e=pe(Se)=="up"?Se.y1+Oe:Se.y1-Oe;return _e}function H(Se,Ce){var Ue=F(Se),Oe=G(Ce)/Math.tan(Ue),_e=pe(Se)=="up"?Se.y1-Oe:Se.y1+Oe;return _e}function Z(Se,Ce,Ue,Oe){Se.links.forEach(function(_e){if(!_e.circular&&_e.target.column-_e.source.column>1){var ce=_e.source.column+1,ie=_e.target.column-1,se=1,ne=ie-ce+1;for(se=1;ce<=ie;ce++,se++)Se.nodes.forEach(function(be){if(be.column==ce){var De=se/(ne+1),qe=Math.pow(1-De,3),Ne=3*De*Math.pow(1-De,2),ut=3*Math.pow(De,2)*(1-De),ot=Math.pow(De,3),yt=qe*_e.y0+Ne*_e.y0+ut*_e.y1+ot*_e.y1,At=yt-_e.width/2,It=yt+_e.width/2,Zt;At>be.y0&&Atbe.y0&&Itbe.y1&&$(vr,Zt,Ce,Ue)})):Atbe.y1&&(Zt=It-be.y0+10,be=$(be,Zt,Ce,Ue),Se.nodes.forEach(function(vr){T(vr,Oe)==T(be,Oe)||vr.column!=be.column||vr.y0be.y1&&$(vr,Zt,Ce,Ue)}))}})}})}function X(Se,Ce){return Se.y0>Ce.y0&&Se.y0Ce.y0&&Se.y1Ce.y1}function $(Se,Ce,Ue,Oe){return Se.y0+Ce>=Ue&&Se.y1+Ce<=Oe&&(Se.y0=Se.y0+Ce,Se.y1=Se.y1+Ce,Se.targetLinks.forEach(function(_e){_e.y1=_e.y1+Ce}),Se.sourceLinks.forEach(function(_e){_e.y0=_e.y0+Ce})),Se}function Q(Se,Ce,Ue,Oe){Se.nodes.forEach(function(_e){Oe&&_e.y+(_e.y1-_e.y0)>Ce&&(_e.y=_e.y-(_e.y+(_e.y1-_e.y0)-Ce));var ce=Se.links.filter(function(ne){return T(ne.source,Ue)==T(_e,Ue)}),ie=ce.length;ie>1&&ce.sort(function(ne,be){if(!ne.circular&&!be.circular){if(ne.target.column==be.target.column)return ne.y1-be.y1;if(ue(ne,be)){if(ne.target.column>be.target.column){var De=H(be,ne);return ne.y1-De}if(be.target.column>ne.target.column){var qe=H(ne,be);return qe-be.y1}}else return ne.y1-be.y1}if(ne.circular&&!be.circular)return ne.circularLinkType=="top"?-1:1;if(be.circular&&!ne.circular)return be.circularLinkType=="top"?1:-1;if(ne.circular&&be.circular)return ne.circularLinkType===be.circularLinkType&&ne.circularLinkType=="top"?ne.target.column===be.target.column?ne.target.y1-be.target.y1:be.target.column-ne.target.column:ne.circularLinkType===be.circularLinkType&&ne.circularLinkType=="bottom"?ne.target.column===be.target.column?be.target.y1-ne.target.y1:ne.target.column-be.target.column:ne.circularLinkType=="top"?-1:1});var se=_e.y0;ce.forEach(function(ne){ne.y0=se+ne.width/2,se=se+ne.width}),ce.forEach(function(ne,be){if(ne.circularLinkType=="bottom"){var De=be+1,qe=0;for(De;De1&&_e.sort(function(se,ne){if(!se.circular&&!ne.circular){if(se.source.column==ne.source.column)return se.y0-ne.y0;if(ue(se,ne)){if(ne.source.column0?"up":"down"}function ge(Se,Ce){return T(Se.source,Ce)==T(Se.target,Ce)}function Te(Se,Ce,Ue){var Oe=Se.nodes,_e=Se.links,ce=!1,ie=!1;if(_e.forEach(function(Ne){Ne.circularLinkType=="top"?ce=!0:Ne.circularLinkType=="bottom"&&(ie=!0)}),ce==!1||ie==!1){var se=v.min(Oe,function(Ne){return Ne.y0}),ne=v.max(Oe,function(Ne){return Ne.y1}),be=ne-se,De=Ue-Ce,qe=De/be;Oe.forEach(function(Ne){var ut=(Ne.y1-Ne.y0)*qe;Ne.y0=(Ne.y0-se)*qe,Ne.y1=Ne.y0+ut}),_e.forEach(function(Ne){Ne.y0=(Ne.y0-se)*qe,Ne.y1=(Ne.y1-se)*qe,Ne.width=Ne.width*qe})}}u.sankeyCircular=_,u.sankeyCenter=n,u.sankeyLeft=t,u.sankeyRight=a,u.sankeyJustify=r,Object.defineProperty(u,"__esModule",{value:!0})})}}),iw=xe({"src/traces/sankey/constants.js"(U,O){"use strict";O.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"}}}}),n7=xe({"src/traces/sankey/render.js"(U,O){"use strict";var u=QL(),v=(zv(),Ta(Yd)).interpolateNumber,w=Na(),S=t7(),l=a7(),e=iw(),t=wi(),a=go(),r=Sr(),n=r.strTranslate,i=r.strRotate,s=Xh(),c=s.keyFun,p=s.repeat,f=s.unwrap,d=el(),y=Ci(),o=uc(),b=o.CAP_SHIFT,M=o.LINE_SPACING,A=3;function E(G,K,H){var Z=f(K),X=Z.trace,$=X.domain,Q=X.orientation==="h",re=X.node.pad,ue=X.node.thickness,pe={justify:S.sankeyJustify,left:S.sankeyLeft,right:S.sankeyRight,center:S.sankeyCenter}[X.node.align],ge=G.width*($.x[1]-$.x[0]),Te=G.height*($.y[1]-$.y[0]),Se=Z._nodes,Ce=Z._links,Ue=Z.circular,Oe;Ue?Oe=l.sankeyCircular().circularLinkGap(0):Oe=S.sankey(),Oe.iterations(e.sankeyIterations).size(Q?[ge,Te]:[Te,ge]).nodeWidth(ue).nodePadding(re).nodeId(function(vr){return vr.pointNumber}).nodeAlign(pe).nodes(Se).links(Ce);function _e(vr){X[vr].sort==="input"&&(Ue?r.warn(`Circular Sankey diagrams do not support the "input" ${vr}.sort mode; falling back to the default sort.`):Oe[`${vr}Sort`](null))}_e("link"),_e("node");var ce=Oe();Oe.nodePadding()=Ee||(at=Ee-Jt.y0,at>1e-6&&(Jt.y0+=at,Jt.y1+=at)),Ee=Jt.y1+re})}function yt(vr){var Ut=vr.map(function(Ie,Fe){return{x0:Ie.x0,index:Fe}}).sort(function(Ie,Fe){return Ie.x0-Fe.x0}),Jt=[],at=-1,Ee,Re=-1/0,he;for(ie=0;ieRe+ue&&(at+=1,Ee=ye.x0),Re=ye.x0,Jt[at]||(Jt[at]=[]),Jt[at].push(ye),he=Ee-ye.x0,ye.x0+=he,ye.x1+=he}return Jt}if(X.node.x.length&&X.node.y.length){for(ie=0;ie0?" L "+X.targetX+" "+X.targetY:"")+"Z"):(H="M "+(X.targetX-K)+" "+(X.targetY-Z)+" L "+(X.rightInnerExtent-K)+" "+(X.targetY-Z)+" A "+(X.rightLargeArcRadius+Z)+" "+(X.rightSmallArcRadius+Z)+" 0 0 0 "+(X.rightFullExtent-Z-K)+" "+(X.targetY+X.rightSmallArcRadius)+" L "+(X.rightFullExtent-Z-K)+" "+X.verticalRightInnerExtent,$&&Q?H+=" A "+(X.rightLargeArcRadius+Z)+" "+(X.rightLargeArcRadius+Z)+" 0 0 0 "+(X.rightInnerExtent-Z-K)+" "+(X.verticalFullExtent+Z)+" L "+(X.rightFullExtent+Z-K-(X.rightLargeArcRadius-Z))+" "+(X.verticalFullExtent+Z)+" A "+(X.rightLargeArcRadius+Z)+" "+(X.rightLargeArcRadius+Z)+" 0 0 0 "+(X.leftFullExtent+Z)+" "+X.verticalLeftInnerExtent:$?H+=" A "+(X.rightLargeArcRadius-Z)+" "+(X.rightSmallArcRadius-Z)+" 0 0 1 "+(X.rightFullExtent-K-Z-(X.rightLargeArcRadius-Z))+" "+(X.verticalFullExtent-Z)+" L "+(X.leftFullExtent+Z+(X.rightLargeArcRadius-Z))+" "+(X.verticalFullExtent-Z)+" A "+(X.rightLargeArcRadius-Z)+" "+(X.rightSmallArcRadius-Z)+" 0 0 1 "+(X.leftFullExtent+Z)+" "+X.verticalLeftInnerExtent:H+=" A "+(X.rightLargeArcRadius+Z)+" "+(X.rightLargeArcRadius+Z)+" 0 0 0 "+(X.rightInnerExtent-K)+" "+(X.verticalFullExtent+Z)+" L "+X.leftInnerExtent+" "+(X.verticalFullExtent+Z)+" A "+(X.leftLargeArcRadius+Z)+" "+(X.leftLargeArcRadius+Z)+" 0 0 0 "+(X.leftFullExtent+Z)+" "+X.verticalLeftInnerExtent,H+=" L "+(X.leftFullExtent+Z)+" "+(X.sourceY+X.leftSmallArcRadius)+" A "+(X.leftLargeArcRadius+Z)+" "+(X.leftSmallArcRadius+Z)+" 0 0 0 "+X.leftInnerExtent+" "+(X.sourceY-Z)+" L "+X.sourceX+" "+(X.sourceY-Z)+" L "+X.sourceX+" "+(X.sourceY+Z)+" L "+X.leftInnerExtent+" "+(X.sourceY+Z)+" A "+(X.leftLargeArcRadius-Z)+" "+(X.leftSmallArcRadius-Z)+" 0 0 1 "+(X.leftFullExtent-Z)+" "+(X.sourceY+X.leftSmallArcRadius)+" L "+(X.leftFullExtent-Z)+" "+X.verticalLeftInnerExtent,$&&Q?H+=" A "+(X.rightLargeArcRadius-Z)+" "+(X.rightSmallArcRadius-Z)+" 0 0 1 "+(X.leftFullExtent-Z-(X.rightLargeArcRadius-Z))+" "+(X.verticalFullExtent-Z)+" L "+(X.rightFullExtent+Z-K+(X.rightLargeArcRadius-Z))+" "+(X.verticalFullExtent-Z)+" A "+(X.rightLargeArcRadius-Z)+" "+(X.rightSmallArcRadius-Z)+" 0 0 1 "+(X.rightFullExtent+Z-K)+" "+X.verticalRightInnerExtent:$?H+=" A "+(X.rightLargeArcRadius+Z)+" "+(X.rightLargeArcRadius+Z)+" 0 0 0 "+(X.leftFullExtent+Z)+" "+(X.verticalFullExtent+Z)+" L "+(X.rightFullExtent-K-Z)+" "+(X.verticalFullExtent+Z)+" A "+(X.rightLargeArcRadius+Z)+" "+(X.rightLargeArcRadius+Z)+" 0 0 0 "+(X.rightFullExtent+Z-K)+" "+X.verticalRightInnerExtent:H+=" A "+(X.leftLargeArcRadius-Z)+" "+(X.leftLargeArcRadius-Z)+" 0 0 1 "+X.leftInnerExtent+" "+(X.verticalFullExtent-Z)+" L "+(X.rightInnerExtent-K)+" "+(X.verticalFullExtent-Z)+" A "+(X.rightLargeArcRadius-Z)+" "+(X.rightLargeArcRadius-Z)+" 0 0 1 "+(X.rightFullExtent+Z-K)+" "+X.verticalRightInnerExtent,H+=" L "+(X.rightFullExtent+Z-K)+" "+(X.targetY+X.rightSmallArcRadius)+" A "+(X.rightLargeArcRadius-Z)+" "+(X.rightSmallArcRadius-Z)+" 0 0 1 "+(X.rightInnerExtent-K)+" "+(X.targetY+Z)+" L "+(X.targetX-K)+" "+(X.targetY+Z)+(K>0?" L "+X.targetX+" "+X.targetY:"")+"Z"),H}function m(){var G=.5;function K(H){var Z=H.linkArrowLength;if(H.link.circular)return T(H.link,Z);var X=Math.abs((H.link.target.x0-H.link.source.x1)/2);Z>X&&(Z=X);var $=H.link.source.x1,Q=H.link.target.x0-Z,re=v($,Q),ue=re(G),pe=re(1-G),ge=H.link.y0-H.link.width/2,Te=H.link.y0+H.link.width/2,Se=H.link.y1-H.link.width/2,Ce=H.link.y1+H.link.width/2,Ue="M"+$+","+ge,Oe="C"+ue+","+ge+" "+pe+","+Se+" "+Q+","+Se,_e="C"+pe+","+Ce+" "+ue+","+Te+" "+$+","+Te,ce=Z>0?"L"+(Q+Z)+","+(Se+H.link.width/2):"";return ce+="L"+Q+","+Ce,Ue+Oe+ce+_e+"Z"}return K}function h(G,K){var H=e.nodePadAcross,Z=G.nodePad/2;K.dx=K.x1-K.x0,K.dy=K.y1-K.y0;var X=K.dx,$=Math.max(.5,K.dy),Q="node_"+K.pointNumber;return K.group&&(Q=r.randstr()),K.trace=G.trace,K.curveNumber=G.trace.index,{index:K.pointNumber,key:Q,partOfGroup:K.partOfGroup||!1,group:K.group,traceId:G.key,trace:G.trace,node:K,nodePad:G.nodePad,nodeLineColor:G.nodeLineColor,nodeLineWidth:G.nodeLineWidth,textFont:G.textFont,size:G.horizontal?G.height:G.width,visibleWidth:Math.ceil(X),visibleHeight:$,zoneX:-H,zoneY:-Z,zoneWidth:X+2*H,zoneHeight:$+2*Z,labelY:G.horizontal?K.dy/2+1:K.dx/2+1,left:K.originalLayer===1,sizeAcross:G.width,forceLayouts:G.forceLayouts,horizontal:G.horizontal,darkBackground:t.color(K.color).isDark(),rgb:t.rgb(K.color),alpha:t.color(K.color).alpha(),valueFormat:G.valueFormat,valueSuffix:G.valueSuffix,sankey:G.sankey,graph:G.graph,arrangement:G.arrangement,uniqueNodeLabelPathId:[G.guid,G.key,Q].join("_"),interactionState:G.interactionState,figure:G}}function x(G){G.attr("transform",function(K){return n(K.node.x0.toFixed(3),K.node.y0.toFixed(3))})}function _(G){G.call(x)}function D(G,K){G.call(_),K.attr("d",m())}function C(G){G.attr("width",function(K){return K.node.x1-K.node.x0}).attr("height",function(K){return K.visibleHeight})}function F(G){return G.link.width>1||G.linkLineWidth>0}function I(G){var K=n(G.translateX,G.translateY);return K+(G.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function z(G,K,H){G.on(".basic",null).on("mouseover.basic",function(Z){!Z.interactionState.dragInProgress&&!Z.partOfGroup&&(H.hover(this,Z,K),Z.interactionState.hovered=[this,Z])}).on("mousemove.basic",function(Z){!Z.interactionState.dragInProgress&&!Z.partOfGroup&&(H.follow(this,Z),Z.interactionState.hovered=[this,Z])}).on("mouseout.basic",function(Z){!Z.interactionState.dragInProgress&&!Z.partOfGroup&&(H.unhover(this,Z,K),Z.interactionState.hovered=!1)}).on("click.basic",function(Z){Z.interactionState.hovered&&(H.unhover(this,Z,K),Z.interactionState.hovered=!1),!Z.interactionState.dragInProgress&&!Z.partOfGroup&&H.select(this,Z,K)})}function R(G,K,H,Z){var X=w.behavior.drag().origin(function($){return{x:$.node.x0+$.visibleWidth/2,y:$.node.y0+$.visibleHeight/2}}).on("dragstart",function($){if($.arrangement!=="fixed"&&(r.ensureSingle(Z._fullLayout._infolayer,"g","dragcover",function(re){Z._fullLayout._dragCover=re}),r.raiseToTop(this),$.interactionState.dragInProgress=$.node,ee($.node),$.interactionState.hovered&&(H.nodeEvents.unhover.apply(0,$.interactionState.hovered),$.interactionState.hovered=!1),$.arrangement==="snap")){var Q=$.traceId+"|"+$.key;$.forceLayouts[Q]?$.forceLayouts[Q].alpha(1):k(G,Q,$,Z),B(G,K,$,Q,Z)}}).on("drag",function($){if($.arrangement!=="fixed"){var Q=w.event.x,re=w.event.y;$.arrangement==="snap"?($.node.x0=Q-$.visibleWidth/2,$.node.x1=Q+$.visibleWidth/2,$.node.y0=re-$.visibleHeight/2,$.node.y1=re+$.visibleHeight/2):($.arrangement==="freeform"&&($.node.x0=Q-$.visibleWidth/2,$.node.x1=Q+$.visibleWidth/2),re=Math.max(0,Math.min($.size-$.visibleHeight/2,re)),$.node.y0=re-$.visibleHeight/2,$.node.y1=re+$.visibleHeight/2),ee($.node),$.arrangement!=="snap"&&($.sankey.update($.graph),D(G.filter(te($)),K))}}).on("dragend",function($){if($.arrangement!=="fixed"){$.interactionState.dragInProgress=!1;for(var Q=0;Q<$.node.childrenNodes.length;Q++)$.node.childrenNodes[Q].x=$.node.x,$.node.childrenNodes[Q].y=$.node.y;$.arrangement!=="snap"&&q($,Z)}});G.on(".drag",null).call(X)}function k(G,K,H,Z){ae(H.graph.nodes);var X=H.graph.nodes.filter(function($){return $.originalX===H.node.originalX}).filter(function($){return!$.partOfGroup});H.forceLayouts[K]=u.forceSimulation(X).alphaDecay(0).force("collide",u.forceCollide().radius(function($){return $.dy/2+H.nodePad/2}).strength(1).iterations(e.forceIterations)).force("constrain",N(G,K,X,H,Z)).stop()}function B(G,K,H,Z,X){window.requestAnimationFrame(function $(){var Q;for(Q=0;Q0)window.requestAnimationFrame($);else{var ue=H.node.originalX;H.node.x0=ue-H.visibleWidth/2,H.node.x1=ue+H.visibleWidth/2,q(H,X)}})}function N(G,K,H,Z){return function(){for(var $=0,Q=0;Q0&&Z.forceLayouts[K].alpha(0)}}function q(G,K){for(var H=[],Z=[],X=0;XF(_e)?t.rgb(_e.linkLineColor):_e.rgb).style("stroke-opacity",_e=>F(_e)?t.opacity(_e.linkLineColor):_e.alpha).style("fill",_e=>_e.rgb).style("fill-opacity",_e=>_e.alpha).style("stroke-width",_e=>F(_e)?_e.linkLineWidth:1).attr("d",m()),Te.style("opacity",function(){return G._context.staticPlot||Q||re?1:0}).transition().ease(e.ease).duration(e.duration).style("opacity",1),Te.exit().transition().ease(e.ease).duration(e.duration).style("opacity",0).remove();var Se=pe.selectAll("."+e.cn.sankeyNodeSet).data(p,c);Se.enter().append("g").classed(e.cn.sankeyNodeSet,!0),Se.style("cursor",function(_e){switch(_e.arrangement){case"fixed":return"default";case"perpendicular":return"ns-resize";default:return"move"}});var Ce=Se.selectAll("."+e.cn.sankeyNode).data(function(_e){var ce=_e.graph.nodes;return Y(ce),ce.map(h.bind(null,_e))},c);Ce.enter().append("g").classed(e.cn.sankeyNode,!0).call(x).style("opacity",function(_e){return(G._context.staticPlot||Q)&&!_e.partOfGroup?1:0}),Ce.call(z,pe,X.nodeEvents).call(R,Te,X,G),Ce.transition().ease(e.ease).duration(e.duration).call(x).style("opacity",function(_e){return _e.partOfGroup?0:1}),Ce.exit().transition().ease(e.ease).duration(e.duration).style("opacity",0).remove();var Ue=Ce.selectAll("."+e.cn.nodeRect).data(p);Ue.enter().append("rect").classed(e.cn.nodeRect,!0).call(C),Ue.style("stroke-width",function(_e){return _e.nodeLineWidth}).style("stroke",function(_e){return t.rgb(_e.nodeLineColor)}).style("stroke-opacity",function(_e){return t.opacity(_e.nodeLineColor)}).style("fill",_e=>_e.rgb).style("fill-opacity",_e=>_e.alpha),Ue.transition().ease(e.ease).duration(e.duration).call(C);var Oe=Ce.selectAll("."+e.cn.nodeLabel).data(p);Oe.enter().append("text").classed(e.cn.nodeLabel,!0).style("cursor","default"),Oe.attr("data-notex",1).text(function(_e){return _e.node.label}).each(function(_e){var ce=w.select(this);a.font(ce,_e.textFont),d.convertToTspans(ce,G)}).attr("text-anchor",function(_e){return _e.horizontal&&_e.left?"end":"start"}).attr("transform",function(_e){var ce=w.select(this),ie=d.lineCount(ce),se=_e.textFont.size*((ie-1)*M-b),ne=_e.nodeLineWidth/2+A,be=((_e.horizontal?_e.visibleHeight:_e.visibleWidth)-se)/2;_e.horizontal&&(_e.left?ne=-ne:ne+=_e.visibleWidth);var De=_e.horizontal?"":"scale(-1,1)"+i(90);return n(_e.horizontal?ne:be,_e.horizontal?be:ne)+De}),Oe.transition().ease(e.ease).duration(e.duration)}}}),ow=xe({"src/traces/sankey/plot.js"(U,O){"use strict";var u=Na(),v=Sr(),w=v.numberFormat,S=n7(),l=hu(),e=wi(),t=iw().cn,a=v._;function r(M){return M!==""}function n(M,A){return M.filter(function(E){return E.key===A.traceId})}function i(M,A){u.select(M).select("path").style("fill-opacity",A),u.select(M).select("rect").style("fill-opacity",A)}function s(M){u.select(M).select("text.name").style("fill","black")}function c(M){return function(A){return M.node.sourceLinks.indexOf(A.link)!==-1||M.node.targetLinks.indexOf(A.link)!==-1}}function p(M){return function(A){return A.node.sourceLinks.indexOf(M.link)!==-1||A.node.targetLinks.indexOf(M.link)!==-1}}function f(M,A,E){A&&E&&n(E,A).selectAll("."+t.sankeyLink).filter(c(A)).call(y.bind(0,A,E,!1))}function d(M,A,E){A&&E&&n(E,A).selectAll("."+t.sankeyLink).filter(c(A)).call(o.bind(0,A,E,!1))}function y(M,A,E,g){g.style("fill",function(T){if(!T.link.concentrationscale)return T.hoverRgb}).style("fill-opacity",function(T){if(!T.link.concentrationscale)return T.hoverAlpha}),g.each(function(T){var m=T.link.label;m!==""&&n(A,M).selectAll("."+t.sankeyLink).filter(function(h){return h.link.label===m}).style("fill",function(h){if(!h.link.concentrationscale)return h.hoverRgb}).style("fill-opacity",function(h){if(!h.link.concentrationscale)return h.hoverAlpha})}),E&&n(A,M).selectAll("."+t.sankeyNode).filter(p(M)).call(f)}function o(M,A,E,g){g.style("fill",function(T){return T.rgb}).style("fill-opacity",function(T){return T.alpha}),g.each(function(T){var m=T.link.label;m!==""&&n(A,M).selectAll("."+t.sankeyLink).filter(function(h){return h.link.label===m}).style("fill",h=>h.rgb).style("fill-opacity",h=>h.alpha)}),E&&n(A,M).selectAll(t.sankeyNode).filter(p(M)).call(d)}function b(M,A){var E=M.hoverlabel||{},g=v.nestedProperty(E,A).get();return Array.isArray(g)?!1:g}O.exports=function(A,E){for(var g=A._fullLayout,T=g._paper,m=g._size,h=0;h"),color:b(j,"bgcolor")||e.addOpacity(X.color,1),borderColor:b(j,"bordercolor"),fontFamily:b(j,"font.family"),fontSize:b(j,"font.size"),fontColor:b(j,"font.color"),fontWeight:b(j,"font.weight"),fontStyle:b(j,"font.style"),fontVariant:b(j,"font.variant"),fontTextcase:b(j,"font.textcase"),fontLineposition:b(j,"font.lineposition"),fontShadow:b(j,"font.shadow"),nameLength:b(j,"namelength"),textAlign:b(j,"align"),idealAlign:u.event.x<$[0]?"right":"left",hovertemplate:j.hovertemplate,hovertemplateLabels:Q,eventData:[X]})}}var re=l.loneHover(G,{container:g._hoverlayer.node(),outerContainer:g._paper.node(),gd:A,anchorIndex:H});re.each(function(){var ue=this;ae.link.concentrationscale||i(ue,.65),s(ue)})},B=function(te,ae,j){A._fullLayout.hovermode!==!1&&(u.select(te).call(o.bind(0,ae,j,!0)),ae.link.trace.link.hoverinfo!=="skip"&&(ae.link.fullData=ae.link.trace,A.emit("plotly_unhover",{event:u.event,points:[ae.link]})),l.loneUnhover(g._hoverlayer.node()))},N=function(te,ae,j){var G=ae.node;G.originalEvent=u.event,A._hoverdata=[G],u.select(te).call(d,ae,j),l.click(A,{target:!0})},q=function(te,ae,j){A._fullLayout.hovermode!==!1&&(u.select(te).call(f,ae,j),ae.node.trace.node.hoverinfo!=="skip"&&(ae.node.fullData=ae.node.trace,A.emit("plotly_hover",{event:u.event,points:[ae.node]})))},Y=function(te,ae){if(A._fullLayout.hovermode!==!1){var j=ae.node.trace.node;if(!(j.hoverinfo==="none"||j.hoverinfo==="skip")){var G=u.select(te).select("."+t.nodeRect),K=A._fullLayout._paperdiv.node().getBoundingClientRect(),H=G.node().getBoundingClientRect(),Z=H.left-2-K.left,X=H.right+2-K.left,$=H.top+H.height/4-K.top,Q={valueLabel:w(ae.valueFormat)(ae.node.value)+ae.valueSuffix};ae.node.fullData=ae.node.trace,A._fullLayout._calcInverseTransform(A);var re=A._fullLayout._invScaleX,ue=A._fullLayout._invScaleY,pe=l.loneHover({x0:re*Z,x1:re*X,y:ue*$,name:w(ae.valueFormat)(ae.node.value)+ae.valueSuffix,text:[ae.node.label,z+ae.node.targetLinks.length,R+ae.node.sourceLinks.length].filter(r).join("
"),color:b(j,"bgcolor")||ae.rgb,borderColor:b(j,"bordercolor"),fontFamily:b(j,"font.family"),fontSize:b(j,"font.size"),fontColor:b(j,"font.color"),fontWeight:b(j,"font.weight"),fontStyle:b(j,"font.style"),fontVariant:b(j,"font.variant"),fontTextcase:b(j,"font.textcase"),fontLineposition:b(j,"font.lineposition"),fontShadow:b(j,"font.shadow"),nameLength:b(j,"namelength"),textAlign:b(j,"align"),idealAlign:"left",hovertemplate:j.hovertemplate,hovertemplateLabels:Q,eventData:[ae.node]},{container:g._hoverlayer.node(),outerContainer:g._paper.node(),gd:A});i(pe,.85),s(pe)}}},ee=function(te,ae,j){A._fullLayout.hovermode!==!1&&(u.select(te).call(d,ae,j),ae.node.trace.node.hoverinfo!=="skip"&&(ae.node.fullData=ae.node.trace,A.emit("plotly_unhover",{event:u.event,points:[ae.node]})),l.loneUnhover(g._hoverlayer.node()))};S(A,T,E,{width:m.w,height:m.h,margin:{t:m.t,r:m.r,b:m.b,l:m.l}},{linkEvents:{hover:D,follow:k,unhover:B,select:_},nodeEvents:{hover:q,follow:Y,unhover:ee,select:N}})}}}),i7=xe({"src/traces/sankey/base_plot.js"(U){"use strict";var O=Hl().overrideAll,u=df().getModuleCalcData,v=ow(),w=Nh(),S=Mh(),l=Bf(),e=yc().prepSelect,t=Sr(),a=Ci(),r="sankey";U.name=r,U.baseLayoutAttrOverrides=O({hoverlabel:w.hoverlabel},"plot","nested"),U.plot=function(i){var s=u(i.calcdata,r)[0];v(i,s),U.updateFx(i)},U.clean=function(i,s,c,p){var f=p._has&&p._has(r),d=s._has&&s._has(r);f&&!d&&(p._paperdiv.selectAll(".sankey").remove(),p._paperdiv.selectAll(".bgsankey").remove())},U.updateFx=function(i){for(var s=0;s0}O.exports=function(I,z,R,k){var B=I._fullLayout,N;M(R)&&k&&(N=k()),S.makeTraceGroups(B._indicatorlayer,z,"trace").each(function(q){var Y=q[0],ee=Y.trace,te=u.select(this),ae=ee._hasGauge,j=ee._isAngular,G=ee._isBullet,K=ee.domain,H={w:B._size.w*(K.x[1]-K.x[0]),h:B._size.h*(K.y[1]-K.y[0]),l:B._size.l+B._size.w*K.x[0],r:B._size.r+B._size.w*(1-K.x[1]),t:B._size.t+B._size.h*(1-K.y[1]),b:B._size.b+B._size.h*K.y[0]},Z=H.l+H.w/2,X=H.t+H.h/2,$=Math.min(H.w/2,H.h),Q=n.innerRadius*$,re,ue,pe,ge=ee.align||"center";if(ue=X,!ae)re=H.l+o[ge]*H.w,pe=function(ne){return x(ne,H.w,H.h)};else if(j&&(re=Z,ue=X+$/2,pe=function(ne){return _(ne,.9*Q)}),G){var Te=n.bulletPadding,Se=1-n.bulletNumberDomainSize+Te;re=H.l+(Se+(1-Se)*o[ge])*H.w,pe=function(ne){return x(ne,(n.bulletNumberDomainSize-Te)*H.w,H.h)}}g(I,te,q,{numbersX:re,numbersY:ue,numbersScaler:pe,transitionOpts:R,onComplete:N});var Ce,Ue;ae&&(Ce={range:ee.gauge.axis.range,color:ee.gauge.bgcolor,line:{color:ee.gauge.bordercolor,width:0},thickness:1},Ue={range:ee.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:ee.gauge.bordercolor,width:ee.gauge.borderwidth},thickness:1});var Oe=te.selectAll("g.angular").data(j?q:[]);Oe.exit().remove();var _e=te.selectAll("g.angularaxis").data(j?q:[]);_e.exit().remove(),j&&E(I,te,q,{radius:$,innerRadius:Q,gauge:Oe,layer:_e,size:H,gaugeBg:Ce,gaugeOutline:Ue,transitionOpts:R,onComplete:N});var ce=te.selectAll("g.bullet").data(G?q:[]);ce.exit().remove();var ie=te.selectAll("g.bulletaxis").data(G?q:[]);ie.exit().remove(),G&&A(I,te,q,{gauge:ce,layer:ie,size:H,gaugeBg:Ce,gaugeOutline:Ue,transitionOpts:R,onComplete:N});var se=te.selectAll("text.title").data(q);se.exit().remove(),se.enter().append("text").classed("title",!0),se.attr("text-anchor",function(){return G?y.right:y[ee.title.align]}).text(ee.title.text).call(r.font,ee.title.font).call(i.convertToTspans,I),se.attr("transform",function(){var ne=H.l+H.w*o[ee.title.align],be,De=n.titlePadding,qe=r.bBox(se.node());if(ae){if(j)if(ee.gauge.axis.visible){var Ne=r.bBox(_e.node());be=Ne.top-De-qe.bottom}else be=H.t+H.h/2-$/2-qe.bottom-De;G&&(be=ue-(qe.top+qe.bottom)/2,ne=H.l-n.bulletPadding*H.w)}else be=ee._numbersTop-De-qe.bottom;return e(ne,be)})})};function A(F,I,z,R){var k=z[0].trace,B=R.gauge,N=R.layer,q=R.gaugeBg,Y=R.gaugeOutline,ee=R.size,te=k.domain,ae=R.transitionOpts,j=R.onComplete,G,K,H,Z,X;B.enter().append("g").classed("bullet",!0),B.attr("transform",e(ee.l,ee.t)),N.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),N.selectAll("g.xbulletaxistick,path,text").remove();var $=ee.h,Q=k.gauge.bar.thickness*$,re=te.x[0],ue=te.x[0]+(te.x[1]-te.x[0])*(k._hasNumber||k._hasDelta?1-n.bulletNumberDomainSize:1);G=h(F,k.gauge.axis),G._id="xbulletaxis",G.domain=[re,ue],G.setScale(),K=s.calcTicks(G),H=s.makeTransTickFn(G),Z=s.getTickSigns(G)[2],X=ee.t+ee.h,G.visible&&(s.drawTicks(F,G,{vals:G.ticks==="inside"?s.clipEnds(G,K):K,layer:N,path:s.makeTickPath(G,X,Z),transFn:H}),s.drawLabels(F,G,{vals:K,layer:N,transFn:H,labelFns:s.makeLabelFns(G,X)}));function pe(_e){_e.attr("width",function(ce){return Math.max(0,G.c2p(ce.range[1])-G.c2p(ce.range[0]))}).attr("x",function(ce){return G.c2p(ce.range[0])}).attr("y",function(ce){return .5*(1-ce.thickness)*$}).attr("height",function(ce){return ce.thickness*$})}var ge=[q].concat(k.gauge.steps),Te=B.selectAll("g.bg-bullet").data(ge);Te.enter().append("g").classed("bg-bullet",!0).append("rect"),Te.select("rect").call(pe).call(T),Te.exit().remove();var Se=B.selectAll("g.value-bullet").data([k.gauge.bar]);Se.enter().append("g").classed("value-bullet",!0).append("rect"),Se.select("rect").attr("height",Q).attr("y",($-Q)/2).call(T),M(ae)?Se.select("rect").transition().duration(ae.duration).ease(ae.easing).each("end",function(){j&&j()}).each("interrupt",function(){j&&j()}).attr("width",Math.max(0,G.c2p(Math.min(k.gauge.axis.range[1],z[0].y)))):Se.select("rect").attr("width",typeof z[0].y=="number"?Math.max(0,G.c2p(Math.min(k.gauge.axis.range[1],z[0].y))):0),Se.exit().remove();var Ce=z.filter(function(){return k.gauge.threshold.value||k.gauge.threshold.value===0}),Ue=B.selectAll("g.threshold-bullet").data(Ce);Ue.enter().append("g").classed("threshold-bullet",!0).append("line"),Ue.select("line").attr("x1",G.c2p(k.gauge.threshold.value)).attr("x2",G.c2p(k.gauge.threshold.value)).attr("y1",(1-k.gauge.threshold.thickness)/2*$).attr("y2",(1-(1-k.gauge.threshold.thickness)/2)*$).call(d.stroke,k.gauge.threshold.line.color).style("stroke-width",k.gauge.threshold.line.width),Ue.exit().remove();var Oe=B.selectAll("g.gauge-outline").data([Y]);Oe.enter().append("g").classed("gauge-outline",!0).append("rect"),Oe.select("rect").call(pe).call(T),Oe.exit().remove()}function E(F,I,z,R){var k=z[0].trace,B=R.size,N=R.radius,q=R.innerRadius,Y=R.gaugeBg,ee=R.gaugeOutline,te=[B.l+B.w/2,B.t+B.h/2+N/2],ae=R.gauge,j=R.layer,G=R.transitionOpts,K=R.onComplete,H=Math.PI/2;function Z(ut){var ot=k.gauge.axis.range[0],yt=k.gauge.axis.range[1],At=(ut-ot)/(yt-ot)*Math.PI-H;return At<-H?-H:At>H?H:At}function X(ut){return u.svg.arc().innerRadius((q+N)/2-ut/2*(N-q)).outerRadius((q+N)/2+ut/2*(N-q)).startAngle(-H)}function $(ut){ut.attr("d",function(ot){return X(ot.thickness).startAngle(Z(ot.range[0])).endAngle(Z(ot.range[1]))()})}var Q,re,ue,pe;ae.enter().append("g").classed("angular",!0),ae.attr("transform",e(te[0],te[1])),j.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),j.selectAll("g.xangularaxistick,path,text").remove(),Q=h(F,k.gauge.axis),Q.type="linear",Q.range=k.gauge.axis.range,Q._id="xangularaxis",Q.ticklabeloverflow="allow",Q.setScale();var ge=function(ut){return(Q.range[0]-ut.x)/(Q.range[1]-Q.range[0])*Math.PI+Math.PI},Te={},Se=s.makeLabelFns(Q,0),Ce=Se.labelStandoff;Te.xFn=function(ut){var ot=ge(ut);return Math.cos(ot)*Ce},Te.yFn=function(ut){var ot=ge(ut),yt=Math.sin(ot)>0?.2:1;return-Math.sin(ot)*(Ce+ut.fontSize*yt)+Math.abs(Math.cos(ot))*(ut.fontSize*a)},Te.anchorFn=function(ut){var ot=ge(ut),yt=Math.cos(ot);return Math.abs(yt)<.1?"middle":yt>0?"start":"end"},Te.heightFn=function(ut,ot,yt){var At=ge(ut);return-.5*(1+Math.sin(At))*yt};var Ue=function(ut){return e(te[0]+N*Math.cos(ut),te[1]-N*Math.sin(ut))};ue=function(ut){return Ue(ge(ut))};var Oe=function(ut){var ot=ge(ut);return Ue(ot)+"rotate("+-t(ot)+")"};if(re=s.calcTicks(Q),pe=s.getTickSigns(Q)[2],Q.visible){pe=Q.ticks==="inside"?-1:1;var _e=(Q.linewidth||1)/2;s.drawTicks(F,Q,{vals:re,layer:j,path:"M"+pe*_e+",0h"+pe*Q.ticklen,transFn:Oe}),s.drawLabels(F,Q,{vals:re,layer:j,transFn:ue,labelFns:Te})}var ce=[Y].concat(k.gauge.steps),ie=ae.selectAll("g.bg-arc").data(ce);ie.enter().append("g").classed("bg-arc",!0).append("path"),ie.select("path").call($).call(T),ie.exit().remove();var se=X(k.gauge.bar.thickness),ne=ae.selectAll("g.value-arc").data([k.gauge.bar]);ne.enter().append("g").classed("value-arc",!0).append("path");var be=ne.select("path");M(G)?(be.transition().duration(G.duration).ease(G.easing).each("end",function(){K&&K()}).each("interrupt",function(){K&&K()}).attrTween("d",m(se,Z(z[0].lastY),Z(z[0].y))),k._lastValue=z[0].y):be.attr("d",typeof z[0].y=="number"?se.endAngle(Z(z[0].y)):"M0,0Z"),be.call(T),ne.exit().remove(),ce=[];var De=k.gauge.threshold.value;(De||De===0)&&ce.push({range:[De,De],color:k.gauge.threshold.color,line:{color:k.gauge.threshold.line.color,width:k.gauge.threshold.line.width},thickness:k.gauge.threshold.thickness});var qe=ae.selectAll("g.threshold-arc").data(ce);qe.enter().append("g").classed("threshold-arc",!0).append("path"),qe.select("path").call($).call(T),qe.exit().remove();var Ne=ae.selectAll("g.gauge-outline").data([ee]);Ne.enter().append("g").classed("gauge-outline",!0).append("path"),Ne.select("path").call($).call(T),Ne.exit().remove()}function g(F,I,z,R){var k=z[0].trace,B=R.numbersX,N=R.numbersY,q=k.align||"center",Y=y[q],ee=R.transitionOpts,te=R.onComplete,ae=S.ensureSingle(I,"g","numbers"),j,G,K,H=[];k._hasNumber&&H.push("number"),k._hasDelta&&(H.push("delta"),k.delta.position==="left"&&H.reverse());var Z=ae.selectAll("text").data(H);Z.enter().append("text"),Z.attr("text-anchor",function(){return Y}).attr("class",function(Ue){return Ue}).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),Z.exit().remove();function X(Ue,Oe,_e,ce){if(Ue.match("s")&&_e>=0!=ce>=0&&!Oe(_e).slice(-1).match(b)&&!Oe(ce).slice(-1).match(b)){var ie=Ue.slice().replace("s","f").replace(/\d+/,function(ne){return parseInt(ne)-1}),se=h(F,{tickformat:ie});return function(ne){return Math.abs(ne)<1?s.tickText(se,ne).text:Oe(ne)}}else return Oe}function $(){var Ue=h(F,{tickformat:k.number.valueformat},k._range);Ue.setScale(),s.prepTicks(Ue);var Oe=function(ne){return s.tickText(Ue,ne).text},_e=k.number.suffix,ce=k.number.prefix,ie=ae.select("text.number");function se(){var ne=typeof z[0].y=="number"?ce+Oe(z[0].y)+_e:"-";ie.text(ne).call(r.font,k.number.font).call(i.convertToTspans,F)}return M(ee)?ie.transition().duration(ee.duration).ease(ee.easing).each("end",function(){se(),te&&te()}).each("interrupt",function(){se(),te&&te()}).attrTween("text",function(){var ne=u.select(this),be=w(z[0].lastY,z[0].y);k._lastValue=z[0].y;var De=X(k.number.valueformat,Oe,z[0].lastY,z[0].y);return function(qe){ne.text(ce+De(be(qe))+_e)}}):se(),j=D(ce+Oe(z[0].y)+_e,k.number.font,Y,F),ie}function Q(){var Ue=h(F,{tickformat:k.delta.valueformat},k._range);Ue.setScale(),s.prepTicks(Ue);var Oe=function(qe){return s.tickText(Ue,qe).text},_e=k.delta.suffix,ce=k.delta.prefix,ie=function(qe){var Ne=k.delta.relative?qe.relativeDelta:qe.delta;return Ne},se=function(qe,Ne){return qe===0||typeof qe!="number"||isNaN(qe)?"-":(qe>0?k.delta.increasing.symbol:k.delta.decreasing.symbol)+ce+Ne(qe)+_e},ne=function(qe){return qe.delta>=0?k.delta.increasing.color:k.delta.decreasing.color};k._deltaLastValue===void 0&&(k._deltaLastValue=ie(z[0]));var be=ae.select("text.delta");be.call(r.font,k.delta.font).call(d.fill,ne({delta:k._deltaLastValue}));function De(){be.text(se(ie(z[0]),Oe)).call(d.fill,ne(z[0])).call(i.convertToTspans,F)}return M(ee)?be.transition().duration(ee.duration).ease(ee.easing).tween("text",function(){var qe=u.select(this),Ne=ie(z[0]),ut=k._deltaLastValue,ot=X(k.delta.valueformat,Oe,ut,Ne),yt=w(ut,Ne);return k._deltaLastValue=Ne,function(At){qe.text(se(yt(At),ot)),qe.call(d.fill,ne({delta:yt(At)}))}}).each("end",function(){De(),te&&te()}).each("interrupt",function(){De(),te&&te()}):De(),G=D(se(ie(z[0]),Oe),k.delta.font,Y,F),be}var re=k.mode+k.align,ue;if(k._hasDelta&&(ue=Q(),re+=k.delta.position+k.delta.font.size+k.delta.font.family+k.delta.valueformat,re+=k.delta.increasing.symbol+k.delta.decreasing.symbol,K=G),k._hasNumber&&($(),re+=k.number.font.size+k.number.font.family+k.number.valueformat+k.number.suffix+k.number.prefix,K=j),k._hasDelta&&k._hasNumber){var pe=[(j.left+j.right)/2,(j.top+j.bottom)/2],ge=[(G.left+G.right)/2,(G.top+G.bottom)/2],Te,Se,Ce=.75*k.delta.font.size;k.delta.position==="left"&&(Te=C(k,"deltaPos",0,-1*(j.width*o[k.align]+G.width*(1-o[k.align])+Ce),re,Math.min),Se=pe[1]-ge[1],K={width:j.width+G.width+Ce,height:Math.max(j.height,G.height),left:G.left+Te,right:j.right,top:Math.min(j.top,G.top+Se),bottom:Math.max(j.bottom,G.bottom+Se)}),k.delta.position==="right"&&(Te=C(k,"deltaPos",0,j.width*(1-o[k.align])+G.width*o[k.align]+Ce,re,Math.max),Se=pe[1]-ge[1],K={width:j.width+G.width+Ce,height:Math.max(j.height,G.height),left:j.left,right:G.right+Te,top:Math.min(j.top,G.top+Se),bottom:Math.max(j.bottom,G.bottom+Se)}),k.delta.position==="bottom"&&(Te=null,Se=G.height,K={width:Math.max(j.width,G.width),height:j.height+G.height,left:Math.min(j.left,G.left),right:Math.max(j.right,G.right),top:j.bottom-j.height,bottom:j.bottom+G.height}),k.delta.position==="top"&&(Te=null,Se=j.top,K={width:Math.max(j.width,G.width),height:j.height+G.height,left:Math.min(j.left,G.left),right:Math.max(j.right,G.right),top:j.bottom-j.height-G.height,bottom:j.bottom}),ue.attr({dx:Te,dy:Se})}(k._hasNumber||k._hasDelta)&&ae.attr("transform",function(){var Ue=R.numbersScaler(K);re+=Ue[2];var Oe=C(k,"numbersScale",1,Ue[0],re,Math.min),_e;k._scaleNumbers||(Oe=1),k._isAngular?_e=N-Oe*K.bottom:_e=N-Oe*(K.top+K.bottom)/2,k._numbersTop=Oe*K.top+_e;var ce=K[q];q==="center"&&(ce=(K.left+K.right)/2);var ie=B-Oe*ce;return ie=C(k,"numbersTranslate",0,ie,re,Math.max),e(ie,_e)+l(Oe)})}function T(F){F.each(function(I){d.stroke(u.select(this),I.line.color)}).each(function(I){d.fill(u.select(this),I.color)}).style("stroke-width",function(I){return I.line.width})}function m(F,I,z){return function(){var R=v(I,z);return function(k){return F.endAngle(R(k))()}}}function h(F,I,z){var R=F._fullLayout,k=S.extendFlat({type:"linear",ticks:"outside",range:z,showline:!0},I),B={type:"linear",_id:"x"+I._id},N={letter:"x",font:R.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function q(Y,ee){return S.coerce(k,B,f,Y,ee)}return c(k,B,q,N,R),p(k,B,q,N),B}function x(F,I,z){var R=Math.min(I/F.width,z/F.height);return[R,F,I+"x"+z]}function _(F,I){var z=Math.sqrt(F.width/2*(F.width/2)+F.height*F.height),R=I/z;return[R,F,I]}function D(F,I,z,R){var k=document.createElementNS("http://www.w3.org/2000/svg","text"),B=u.select(k);return B.text(F).attr("x",0).attr("y",0).attr("text-anchor",z).attr("data-unformatted",F).call(i.convertToTspans,R).call(r.font,I),r.bBox(B.node())}function C(F,I,z,R,k,B){var N="_cache"+I;F[N]&&F[N].key===k||(F[N]={key:k,value:z});var q=S.aggNums(B,null,[F[N].value,R],2);return F[N].value=q,q}}}),d7=xe({"src/traces/indicator/index.js"(U,O){"use strict";O.exports={moduleType:"trace",name:"indicator",basePlotModule:u7(),categories:["svg","noOpacity","noHover"],animatable:!0,attributes:sw(),supplyDefaults:c7().supplyDefaults,calc:f7().calc,plot:h7(),meta:{}}}}),v7=xe({"lib/indicator.js"(U,O){"use strict";O.exports=d7()}}),uw=xe({"src/traces/table/attributes.js"(U,O){"use strict";var u=Od(),v=oo().extendFlat,w=Hl().overrideAll,S=vl(),l=Gl().attributes,e=Kl().descriptionOnlyNumbers,t=O.exports=w({domain:l({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:e("cell value")},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:28},align:v({},u.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:v({},S({arrayOk:!0}))},cells:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[],description:e("cell value")},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:20},align:v({},u.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:v({},S({arrayOk:!0}))}},"calc","from-root")}}),p7=xe({"src/traces/table/defaults.js"(U,O){"use strict";var u=Sr(),v=uw(),w=Gl().defaults;function S(l,e){for(var t=l.columnorder||[],a=l.header.values.length,r=t.slice(0,a),n=r.slice().sort(function(c,p){return c-p}),i=r.map(function(c){return n.indexOf(c)}),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"}}}}),g7=xe({"src/traces/table/data_preparation_helper.js"(U,O){"use strict";var u=cw(),v=oo().extendFlat,w=yn(),S=rs().isTypedArray,l=rs().isArrayOrTypedArray;O.exports=function(f,d){var y=a(d.cells.values),o=function(Y){return Y.slice(d.header.values.length,Y.length)},b=a(d.header.values);b.length&&!b[0].length&&(b[0]=[""],b=a(b));var M=b.concat(o(y).map(function(){return r((b[0]||[""]).length)})),A=d.domain,E=Math.floor(f._fullLayout._size.w*(A.x[1]-A.x[0])),g=Math.floor(f._fullLayout._size.h*(A.y[1]-A.y[0])),T=d.header.values.length?M[0].map(function(){return d.header.height}):[u.emptyHeaderHeight],m=y.length?y[0].map(function(){return d.cells.height}):[],h=T.reduce(t,0),x=g-h,_=x+u.uplift,D=s(m,_),C=s(T,h),F=i(C,[]),I=i(D,F),z={},R=d.columnorder;l(R)&&(R=Array.from(R)),R=R.concat(o(y.map(function(Y,ee){return ee})));var k=M.map(function(Y,ee){var te=l(d.columnwidth)?d.columnwidth[Math.min(ee,d.columnwidth.length-1)]:d.columnwidth;return w(te)?Number(te):1}),B=k.reduce(t,0);k=k.map(function(Y){return Y/B*E});var N=Math.max(e(d.header.line.width),e(d.cells.line.width)),q={key:d.uid+f._context.staticPlot,translateX:A.x[0]*f._fullLayout._size.w,translateY:f._fullLayout._size.h*(1-A.y[1]),size:f._fullLayout._size,width:E,maxLineWidth:N,height:g,columnOrder:R,groupHeight:g,rowBlocks:I,headerRowBlocks:F,scrollY:0,cells:v({},d.cells,{values:y}),headerCells:v({},d.header,{values:M}),gdColumns:M.map(function(Y){return Y[0]}),gdColumnsOriginalOrder:M.map(function(Y){return Y[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:M.map(function(Y,ee){var te=z[Y];z[Y]=(te||0)+1;var ae=Y+"__"+z[Y];return{key:ae,label:Y,specIndex:ee,xIndex:R[ee],xScale:n,x:void 0,calcdata:void 0,columnWidth:k[ee]}})};return q.columns.forEach(function(Y){Y.calcdata=q,Y.x=n(Y)}),q};function e(p){if(l(p)){for(var f=0,d=0;d=f||g===p.length-1)&&(d[o]=M,M.key=E++,M.firstRowIndex=A,M.lastRowIndex=g,M=c(),o+=b,A=g+1,b=0);return d}function c(){return{firstRowIndex:null,lastRowIndex:null,rows:[]}}}}),y7=xe({"src/traces/table/data_split_helpers.js"(U){"use strict";var O=oo().extendFlat;U.splitToPanels=function(v){var w=[0,0],S=O({},v,{key:"header",type:"header",page:0,prevPages:w,currentRepaint:[null,null],dragHandle:!0,values:v.calcdata.headerCells.values[v.specIndex],rowBlocks:v.calcdata.headerRowBlocks,calcdata:O({},v.calcdata,{cells:v.calcdata.headerCells})}),l=O({},v,{key:"cells1",type:"cells",page:0,prevPages:w,currentRepaint:[null,null],dragHandle:!1,values:v.calcdata.cells.values[v.specIndex],rowBlocks:v.calcdata.rowBlocks}),e=O({},v,{key:"cells2",type:"cells",page:1,prevPages:w,currentRepaint:[null,null],dragHandle:!1,values:v.calcdata.cells.values[v.specIndex],rowBlocks:v.calcdata.rowBlocks});return[l,e,S]},U.splitToCells=function(v){var w=u(v);return(v.values||[]).slice(w[0],w[1]).map(function(S,l){var e=typeof S=="string"&&S.match(/[<$&> ]/)?"_keybuster_"+Math.random():"";return{keyWithinBlock:l+e,key:w[0]+l,column:v,calcdata:v.calcdata,page:v.page,rowBlocks:v.rowBlocks,value:S}})};function u(v){var w=v.rowBlocks[v.page],S=w?w.rows[0].rowIndex:0,l=w?S+w.rows.length:0;return[S,l]}}}),fw=xe({"src/traces/table/plot.js"(U,O){"use strict";var u=cw(),v=Na(),w=Sr(),S=w.numberFormat,l=Xh(),e=go(),t=el(),a=Sr().raiseToTop,r=Sr().strTranslate,n=Sr().cancelTransition,i=g7(),s=y7(),c=wi();O.exports=function(re,ue){var pe=!re._context.staticPlot,ge=re._fullLayout._paper.selectAll("."+u.cn.table).data(ue.map(function(Ne){var ut=l.unwrap(Ne),ot=ut.trace;return i(re,ot)}),l.keyFun);ge.exit().remove(),ge.enter().append("g").classed(u.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"),ge.attr("width",function(Ne){return Ne.width+Ne.size.l+Ne.size.r}).attr("height",function(Ne){return Ne.height+Ne.size.t+Ne.size.b}).attr("transform",function(Ne){return r(Ne.translateX,Ne.translateY)});var Te=ge.selectAll("."+u.cn.tableControlView).data(l.repeat,l.keyFun),Se=Te.enter().append("g").classed(u.cn.tableControlView,!0).style("box-sizing","content-box");if(pe){var Ce="onwheel"in document?"wheel":"mousewheel";Se.on("mousemove",function(Ne){Te.filter(function(ut){return Ne===ut}).call(o,re)}).on(Ce,function(Ne){if(!Ne.scrollbarState.wheeling){Ne.scrollbarState.wheeling=!0;var ut=Ne.scrollY+v.event.deltaY,ot=Y(re,Te,null,ut)(Ne);ot||(v.event.stopPropagation(),v.event.preventDefault()),Ne.scrollbarState.wheeling=!1}}).call(o,re,!0)}Te.attr("transform",function(Ne){return r(Ne.size.l,Ne.size.t)});var Ue=Te.selectAll("."+u.cn.scrollBackground).data(l.repeat,l.keyFun);Ue.enter().append("rect").classed(u.cn.scrollBackground,!0).attr("fill","none"),Ue.attr("width",function(Ne){return Ne.width}).attr("height",function(Ne){return Ne.height}),Te.each(function(Ne){e.setClipUrl(v.select(this),f(re,Ne),re)});var Oe=Te.selectAll("."+u.cn.yColumn).data(function(Ne){return Ne.columns},l.keyFun);Oe.enter().append("g").classed(u.cn.yColumn,!0),Oe.exit().remove(),Oe.attr("transform",function(Ne){return r(Ne.x,0)}),pe&&Oe.call(v.behavior.drag().origin(function(Ne){var ut=v.select(this);return z(ut,Ne,-u.uplift),a(this),Ne.calcdata.columnDragInProgress=!0,o(Te.filter(function(ot){return Ne.calcdata.key===ot.key}),re),Ne}).on("drag",function(Ne){var ut=v.select(this),ot=function(It){return(Ne===It?v.event.x:It.x)+It.columnWidth/2};Ne.x=Math.max(-u.overdrag,Math.min(Ne.calcdata.width+u.overdrag-Ne.columnWidth,v.event.x));var yt=y(Oe).filter(function(It){return It.calcdata.key===Ne.calcdata.key}),At=yt.sort(function(It,Zt){return ot(It)-ot(Zt)});At.forEach(function(It,Zt){It.xIndex=Zt,It.x=Ne===It?It.x:It.xScale(It)}),Oe.filter(function(It){return Ne!==It}).transition().ease(u.transitionEase).duration(u.transitionDuration).attr("transform",function(It){return r(It.x,0)}),ut.call(n).attr("transform",r(Ne.x,-u.uplift))}).on("dragend",function(Ne){var ut=v.select(this),ot=Ne.calcdata;Ne.x=Ne.xScale(Ne),Ne.calcdata.columnDragInProgress=!1,z(ut,Ne,0),F(re,ot,ot.columns.map(function(yt){return yt.xIndex}))})),Oe.each(function(Ne){e.setClipUrl(v.select(this),d(re,Ne),re)});var _e=Oe.selectAll("."+u.cn.columnBlock).data(s.splitToPanels,l.keyFun);_e.enter().append("g").classed(u.cn.columnBlock,!0).attr("id",function(Ne){return Ne.key}),_e.style("cursor",function(Ne){return Ne.dragHandle?"ew-resize":Ne.calcdata.scrollbarState.barWiggleRoom?"ns-resize":"default"});var ce=_e.filter(k),ie=_e.filter(R);pe&&ie.call(v.behavior.drag().origin(function(Ne){return v.event.stopPropagation(),Ne}).on("drag",Y(re,Te,-1)).on("dragend",function(){})),b(re,Te,ce,_e),b(re,Te,ie,_e);var se=Te.selectAll("."+u.cn.scrollAreaClip).data(l.repeat,l.keyFun);se.enter().append("clipPath").classed(u.cn.scrollAreaClip,!0).attr("id",function(Ne){return f(re,Ne)});var ne=se.selectAll("."+u.cn.scrollAreaClipRect).data(l.repeat,l.keyFun);ne.enter().append("rect").classed(u.cn.scrollAreaClipRect,!0).attr("x",-u.overdrag).attr("y",-u.uplift).attr("fill","none"),ne.attr("width",function(Ne){return Ne.width+2*u.overdrag}).attr("height",function(Ne){return Ne.height+u.uplift});var be=Oe.selectAll("."+u.cn.columnBoundary).data(l.repeat,l.keyFun);be.enter().append("g").classed(u.cn.columnBoundary,!0);var De=Oe.selectAll("."+u.cn.columnBoundaryClippath).data(l.repeat,l.keyFun);De.enter().append("clipPath").classed(u.cn.columnBoundaryClippath,!0),De.attr("id",function(Ne){return d(re,Ne)});var qe=De.selectAll("."+u.cn.columnBoundaryRect).data(l.repeat,l.keyFun);qe.enter().append("rect").classed(u.cn.columnBoundaryRect,!0).attr("fill","none"),qe.attr("width",function(Ne){return Ne.columnWidth+2*p(Ne)}).attr("height",function(Ne){return Ne.calcdata.height+2*p(Ne)+u.uplift}).attr("x",function(Ne){return-p(Ne)}).attr("y",function(Ne){return-p(Ne)}),q(null,ie,Te)};function p(Q){return Math.ceil(Q.calcdata.maxLineWidth/2)}function f(Q,re){return"clip"+Q._fullLayout._uid+"_scrollAreaBottomClip_"+re.key}function d(Q,re){return"clip"+Q._fullLayout._uid+"_columnBoundaryClippath_"+re.calcdata.key+"_"+re.specIndex}function y(Q){return[].concat.apply([],Q.map(function(re){return re})).map(function(re){return re.__data__})}function o(Q,re,ue){function pe(Oe){var _e=Oe.rowBlocks;return K(_e,_e.length-1)+(_e.length?H(_e[_e.length-1],1/0):1)}var ge=Q.selectAll("."+u.cn.scrollbarKit).data(l.repeat,l.keyFun);ge.enter().append("g").classed(u.cn.scrollbarKit,!0).style("shape-rendering","geometricPrecision"),ge.each(function(Oe){var _e=Oe.scrollbarState;_e.totalHeight=pe(Oe),_e.scrollableAreaHeight=Oe.groupHeight-B(Oe),_e.currentlyVisibleHeight=Math.min(_e.totalHeight,_e.scrollableAreaHeight),_e.ratio=_e.currentlyVisibleHeight/_e.totalHeight,_e.barLength=Math.max(_e.ratio*_e.currentlyVisibleHeight,u.goldenRatio*u.scrollbarWidth),_e.barWiggleRoom=_e.currentlyVisibleHeight-_e.barLength,_e.wiggleRoom=Math.max(0,_e.totalHeight-_e.scrollableAreaHeight),_e.topY=_e.barWiggleRoom===0?0:Oe.scrollY/_e.wiggleRoom*_e.barWiggleRoom,_e.bottomY=_e.topY+_e.barLength,_e.dragMultiplier=_e.wiggleRoom/_e.barWiggleRoom}).attr("transform",function(Oe){var _e=Oe.width+u.scrollbarWidth/2+u.scrollbarOffset;return r(_e,B(Oe))});var Te=ge.selectAll("."+u.cn.scrollbar).data(l.repeat,l.keyFun);Te.enter().append("g").classed(u.cn.scrollbar,!0);var Se=Te.selectAll("."+u.cn.scrollbarSlider).data(l.repeat,l.keyFun);Se.enter().append("g").classed(u.cn.scrollbarSlider,!0),Se.attr("transform",function(Oe){return r(0,Oe.scrollbarState.topY||0)});var Ce=Se.selectAll("."+u.cn.scrollbarGlyph).data(l.repeat,l.keyFun);Ce.enter().append("line").classed(u.cn.scrollbarGlyph,!0).attr("stroke","black").attr("stroke-width",u.scrollbarWidth).attr("stroke-linecap","round").attr("y1",u.scrollbarWidth/2),Ce.attr("y2",function(Oe){return Oe.scrollbarState.barLength-u.scrollbarWidth/2}).attr("stroke-opacity",function(Oe){return Oe.columnDragInProgress||!Oe.scrollbarState.barWiggleRoom||ue?0:.4}),Ce.transition().delay(0).duration(0),Ce.transition().delay(u.scrollbarHideDelay).duration(u.scrollbarHideDuration).attr("stroke-opacity",0);var Ue=Te.selectAll("."+u.cn.scrollbarCaptureZone).data(l.repeat,l.keyFun);Ue.enter().append("line").classed(u.cn.scrollbarCaptureZone,!0).attr("stroke","white").attr("stroke-opacity",.01).attr("stroke-width",u.scrollbarCaptureWidth).attr("stroke-linecap","butt").attr("y1",0).on("mousedown",function(Oe){var _e=v.event.y,ce=this.getBoundingClientRect(),ie=Oe.scrollbarState,se=_e-ce.top,ne=v.scale.linear().domain([0,ie.scrollableAreaHeight]).range([0,ie.totalHeight]).clamp(!0);ie.topY<=se&&se<=ie.bottomY||Y(re,Q,null,ne(se-ie.barLength/2))(Oe)}).call(v.behavior.drag().origin(function(Oe){return v.event.stopPropagation(),Oe.scrollbarState.scrollbarScrollInProgress=!0,Oe}).on("drag",Y(re,Q)).on("dragend",function(){})),Ue.attr("y2",function(Oe){return Oe.scrollbarState.scrollableAreaHeight}),re._context.staticPlot&&(Ce.remove(),Ue.remove())}function b(Q,re,ue,pe){var ge=M(ue),Te=A(ge);m(Te);var Se=E(Te);x(Se);var Ce=T(Te),Ue=g(Ce);h(Ue),_(Ue,re,pe,Q),G(Te)}function M(Q){var re=Q.selectAll("."+u.cn.columnCells).data(l.repeat,l.keyFun);return re.enter().append("g").classed(u.cn.columnCells,!0),re.exit().remove(),re}function A(Q){var re=Q.selectAll("."+u.cn.columnCell).data(s.splitToCells,function(ue){return ue.keyWithinBlock});return re.enter().append("g").classed(u.cn.columnCell,!0),re.exit().remove(),re}function E(Q){var re=Q.selectAll("."+u.cn.cellRect).data(l.repeat,function(ue){return ue.keyWithinBlock});return re.enter().append("rect").classed(u.cn.cellRect,!0),re}function g(Q){var re=Q.selectAll("."+u.cn.cellText).data(l.repeat,function(ue){return ue.keyWithinBlock});return re.enter().append("text").classed(u.cn.cellText,!0).style("cursor",function(){return"auto"}).on("mousedown",function(){v.event.stopPropagation()}),re}function T(Q){var re=Q.selectAll("."+u.cn.cellTextHolder).data(l.repeat,function(ue){return ue.keyWithinBlock});return re.enter().append("g").classed(u.cn.cellTextHolder,!0).style("shape-rendering","geometricPrecision"),re}function m(Q){Q.each(function(re,ue){var pe=re.calcdata.cells.font,ge=re.column.specIndex,Te={size:I(pe.size,ge,ue),color:I(pe.color,ge,ue),family:I(pe.family,ge,ue),weight:I(pe.weight,ge,ue),style:I(pe.style,ge,ue),variant:I(pe.variant,ge,ue),textcase:I(pe.textcase,ge,ue),lineposition:I(pe.lineposition,ge,ue),shadow:I(pe.shadow,ge,ue)};re.rowNumber=re.key,re.align=I(re.calcdata.cells.align,ge,ue),re.cellBorderWidth=I(re.calcdata.cells.line.width,ge,ue),re.font=Te})}function h(Q){Q.each(function(re){e.font(v.select(this),re.font)})}function x(Q){Q.attr("width",function(re){return re.column.columnWidth}).attr("stroke-width",function(re){return re.cellBorderWidth}).each(function(re){var ue=v.select(this);c.stroke(ue,I(re.calcdata.cells.line.color,re.column.specIndex,re.rowNumber)),c.fill(ue,I(re.calcdata.cells.fill.color,re.column.specIndex,re.rowNumber))})}function _(Q,re,ue,pe){Q.text(function(ge){var Te=ge.column.specIndex,Se=ge.rowNumber,Ce=ge.value,Ue=typeof Ce=="string",Oe=Ue&&Ce.match(/
/i),_e=!Ue||Oe;ge.mayHaveMarkup=Ue&&Ce.match(/[<&>]/);var ce=D(Ce);ge.latex=ce;var ie=ce?"":I(ge.calcdata.cells.prefix,Te,Se)||"",se=ce?"":I(ge.calcdata.cells.suffix,Te,Se)||"",ne=ce?null:I(ge.calcdata.cells.format,Te,Se)||null,be=ie+(ne?S(ne)(ge.value):ge.value)+se,De;ge.wrappingNeeded=!ge.wrapped&&!_e&&!ce&&(De=C(be)),ge.cellHeightMayIncrease=Oe||ce||ge.mayHaveMarkup||(De===void 0?C(be):De),ge.needsConvertToTspans=ge.mayHaveMarkup||ge.wrappingNeeded||ge.latex;var qe;if(ge.wrappingNeeded){var Ne=u.wrapSplitCharacter===" "?be.replace(/ge&&pe.push(Te),ge+=Ue}return pe}function q(Q,re,ue){var pe=y(re)[0];if(pe!==void 0){var ge=pe.rowBlocks,Te=pe.calcdata,Se=K(ge,ge.length),Ce=pe.calcdata.groupHeight-B(pe),Ue=Te.scrollY=Math.max(0,Math.min(Se-Ce,Te.scrollY)),Oe=N(ge,Ue,Ce);Oe.length===1&&(Oe[0]===ge.length-1?Oe.unshift(Oe[0]-1):Oe.push(Oe[0]+1)),Oe[0]%2&&Oe.reverse(),re.each(function(_e,ce){_e.page=Oe[ce],_e.scrollY=Ue}),re.attr("transform",function(_e){var ce=K(_e.rowBlocks,_e.page)-_e.scrollY;return r(0,ce)}),Q&&(ee(Q,ue,re,Oe,pe.prevPages,pe,0),ee(Q,ue,re,Oe,pe.prevPages,pe,1),o(ue,Q))}}function Y(Q,re,ue,pe){return function(Te){var Se=Te.calcdata?Te.calcdata:Te,Ce=re.filter(function(ce){return Se.key===ce.key}),Ue=ue||Se.scrollbarState.dragMultiplier,Oe=Se.scrollY;Se.scrollY=pe===void 0?Se.scrollY+Ue*v.event.dy:pe;var _e=Ce.selectAll("."+u.cn.yColumn).selectAll("."+u.cn.columnBlock).filter(R);return q(Q,_e,Ce),Se.scrollY===Oe}}function ee(Q,re,ue,pe,ge,Te,Se){var Ce=pe[Se]!==ge[Se];Ce&&(clearTimeout(Te.currentRepaint[Se]),Te.currentRepaint[Se]=setTimeout(function(){var Ue=ue.filter(function(Oe,_e){return _e===Se&&pe[_e]!==ge[_e]});b(Q,re,Ue,ue),ge[Se]=pe[Se]}))}function te(Q,re,ue,pe){return function(){var Te=v.select(re.parentNode);Te.each(function(Se){var Ce=Se.fragments;Te.selectAll("tspan.line").each(function(be,De){Ce[De].width=this.getComputedTextLength()});var Ue=Ce[Ce.length-1].width,Oe=Ce.slice(0,-1),_e=[],ce,ie,se=0,ne=Se.column.columnWidth-2*u.cellPad;for(Se.value="";Oe.length;)ce=Oe.shift(),ie=ce.width+Ue,se+ie>ne&&(Se.value+=_e.join(u.wrapSpacer)+u.lineBreaker,_e=[],se=0),_e.push(ce.text),se+=ie;se&&(Se.value+=_e.join(u.wrapSpacer)),Se.wrapped=!0}),Te.selectAll("tspan.line").remove(),_(Te.select("."+u.cn.cellText),ue,Q,pe),v.select(re.parentNode.parentNode).call(G)}}function ae(Q,re,ue,pe,ge){return function(){if(!ge.settledY){var Se=v.select(re.parentNode),Ce=X(ge),Ue=ge.key-Ce.firstRowIndex,Oe=Ce.rows[Ue].rowHeight,_e=ge.cellHeightMayIncrease?re.parentNode.getBoundingClientRect().height+2*u.cellPad:Oe,ce=Math.max(_e,Oe),ie=ce-Ce.rows[Ue].rowHeight;ie&&(Ce.rows[Ue].rowHeight=ce,Q.selectAll("."+u.cn.columnCell).call(G),q(null,Q.filter(R),0),o(ue,pe,!0)),Se.attr("transform",function(){var se=this,ne=se.parentNode,be=ne.getBoundingClientRect(),De=v.select(se.parentNode).select("."+u.cn.cellRect).node().getBoundingClientRect(),qe=se.transform.baseVal.consolidate(),Ne=De.top-be.top+(qe?qe.matrix.f:u.cellPad);return r(j(ge,v.select(se.parentNode).select("."+u.cn.cellTextHolder).node().getBoundingClientRect().width),Ne)}),ge.settledY=!0}}}function j(Q,re){switch(Q.align){case"left":return u.cellPad;case"right":return Q.column.columnWidth-(re||0)-u.cellPad;case"center":return(Q.column.columnWidth-(re||0))/2;default:return u.cellPad}}function G(Q){Q.attr("transform",function(re){var ue=re.rowBlocks[0].auxiliaryBlocks.reduce(function(Se,Ce){return Se+H(Ce,1/0)},0),pe=X(re),ge=H(pe,re.key),Te=ge+ue;return r(0,Te)}).selectAll("."+u.cn.cellRect).attr("height",function(re){return $(X(re),re.key).rowHeight})}function K(Q,re){for(var ue=0,pe=re-1;pe>=0;pe--)ue+=Z(Q[pe]);return ue}function H(Q,re){for(var ue=0,pe=0;peS.length&&(w=w.slice(0,S.length)):w=[],e=0;e90&&(f-=180,n=-n),{angle:f,flip:n,p:v.c2p(l,w,S),offsetMultplier:i}}}}),k7=xe({"src/traces/carpet/plot.js"(U,O){"use strict";var u=Na(),v=go(),w=hw(),S=dw(),l=E7(),e=el(),t=Sr(),a=t.strRotate,r=t.strTranslate,n=uc();O.exports=function(b,M,A,E){var g=b._context.staticPlot,T=M.xaxis,m=M.yaxis,h=b._fullLayout,x=h._clips;t.makeTraceGroups(E,A,"trace").each(function(_){var D=u.select(this),C=_[0],F=C.trace,I=F.aaxis,z=F.baxis,R=t.ensureSingle(D,"g","minorlayer"),k=t.ensureSingle(D,"g","majorlayer"),B=t.ensureSingle(D,"g","boundarylayer"),N=t.ensureSingle(D,"g","labellayer");D.style("opacity",F.opacity),s(T,m,k,I,"a",I._gridlines,!0,g),s(T,m,k,z,"b",z._gridlines,!0,g),s(T,m,R,I,"a",I._minorgridlines,!0,g),s(T,m,R,z,"b",z._minorgridlines,!0,g),s(T,m,B,I,"a-boundary",I._boundarylines,g),s(T,m,B,z,"b-boundary",z._boundarylines,g);var q=c(b,T,m,F,C,N,I._labels,"a-label"),Y=c(b,T,m,F,C,N,z._labels,"b-label");p(b,N,F,C,T,m,q,Y),i(F,C,x,T,m)})};function i(o,b,M,A,E){var g,T,m,h,x=M.select("#"+o._clipPathId);x.size()||(x=M.append("clipPath").classed("carpetclip",!0));var _=t.ensureSingle(x,"path","carpetboundary"),D=b.clipsegments,C=[];for(h=0;h0?"start":"end","data-notex":1}).call(v.font,D.font).text(D.text).call(e.convertToTspans,o),k=v.bBox(this);R.attr("transform",r(F.p[0],F.p[1])+a(F.angle)+r(D.axis.labelpadding*z,k.height*.3)),x=Math.max(x,k.width+D.axis.labelpadding)}),h.exit().remove(),_.maxExtent=x,_}function p(o,b,M,A,E,g,T,m){var h,x,_,D,C=t.aggNums(Math.min,null,M.a),F=t.aggNums(Math.max,null,M.a),I=t.aggNums(Math.min,null,M.b),z=t.aggNums(Math.max,null,M.b);h=.5*(C+F),x=I,_=M.ab2xy(h,x,!0),D=M.dxyda_rough(h,x),T.angle===void 0&&t.extendFlat(T,l(M,E,g,_,M.dxydb_rough(h,x))),y(o,b,M,A,_,D,M.aaxis,E,g,T,"a-title"),h=C,x=.5*(I+z),_=M.ab2xy(h,x,!0),D=M.dxydb_rough(h,x),m.angle===void 0&&t.extendFlat(m,l(M,E,g,_,M.dxyda_rough(h,x))),y(o,b,M,A,_,D,M.baxis,E,g,m,"b-title")}var f=n.LINE_SPACING,d=(1-n.MID_SHIFT)/f+1;function y(o,b,M,A,E,g,T,m,h,x,_){var D=[];T.title.text&&D.push(T.title.text);var C=b.selectAll("text."+_).data(D),F=x.maxExtent;C.enter().append("text").classed(_,!0),C.each(function(){var I=l(M,m,h,E,g);["start","both"].indexOf(T.showticklabels)===-1&&(F=0);var z=T.title.font.size;F+=z+T.title.offset;var R=x.angle+(x.flip<0?180:0),k=(R-I.angle+450)%360,B=k>90&&k<270,N=u.select(this);N.text(T.title.text).call(e.convertToTspans,o),B&&(F=(-e.lineCount(N)+d)*f*z-F),N.attr("transform",r(I.p[0],I.p[1])+a(I.angle)+r(0,F)).attr("text-anchor","middle").call(v.font,T.title.font)}),C.exit().remove()}}}),C7=xe({"src/traces/carpet/cheater_basis.js"(U,O){"use strict";var u=Sr().isArrayOrTypedArray;O.exports=function(v,w,S){var l,e,t,a,r,n,i=[],s=u(v)?v.length:v,c=u(w)?w.length:w,p=u(v)?v:null,f=u(w)?w:null;p&&(t=(p.length-1)/(p[p.length-1]-p[0])/(s-1)),f&&(a=(f.length-1)/(f[f.length-1]-f[0])/(c-1));var d,y=1/0,o=-1/0;for(e=0;e=10)return null;for(var l=1/0,e=-1/0,t=w.length,a=0;a0&&(H=S.dxydi([],q-1,ee,0,te),Q.push(ae[0]+H[0]/3),re.push(ae[1]+H[1]/3),Z=S.dxydi([],q-1,ee,1,te),Q.push(K[0]-Z[0]/3),re.push(K[1]-Z[1]/3)),Q.push(K[0]),re.push(K[1]),ae=K;else for(q=S.a2i(N),j=Math.floor(Math.max(0,Math.min(I-2,q))),G=q-j,ue.length=I,ue.crossLength=z,ue.xy=function(pe){return S.evalxy([],q,pe)},ue.dxy=function(pe,ge){return S.dxydj([],j,pe,G,ge)},Y=0;Y0&&(X=S.dxydj([],j,Y-1,G,0),Q.push(ae[0]+X[0]/3),re.push(ae[1]+X[1]/3),$=S.dxydj([],j,Y-1,G,1),Q.push(K[0]-$[0]/3),re.push(K[1]-$[1]/3)),Q.push(K[0]),re.push(K[1]),ae=K;return ue.axisLetter=l,ue.axis=E,ue.crossAxis=x,ue.value=N,ue.constvar=e,ue.index=p,ue.x=Q,ue.y=re,ue.smoothing=x.smoothing,ue}function B(N){var q,Y,ee,te,ae,j=[],G=[],K={};if(K.length=A.length,K.crossLength=h.length,l==="b")for(ee=Math.max(0,Math.min(z-2,N)),ae=Math.min(1,Math.max(0,N-ee)),K.xy=function(H){return S.evalxy([],H,N)},K.dxy=function(H,Z){return S.dxydi([],H,ee,Z,ae)},q=0;qA.length-1)&&g.push(v(B(a),{color:E.gridcolor,width:E.gridwidth,dash:E.griddash}));for(p=s;pA.length-1)&&!(y<0||y>A.length-1))for(o=A[r],b=A[y],t=0;tA[A.length-1])&&T.push(v(k(d),{color:E.minorgridcolor,width:E.minorgridwidth,dash:E.minorgriddash})));E.startline&&m.push(v(B(0),{color:E.startlinecolor,width:E.startlinewidth})),E.endline&&m.push(v(B(A.length-1),{color:E.endlinecolor,width:E.endlinewidth}))}else{for(n=5e-15,i=[Math.floor((A[A.length-1]-E.tick0)/E.dtick*(1+n)),Math.ceil((A[0]-E.tick0)/E.dtick/(1+n))].sort(function(N,q){return N-q}),s=i[0],c=i[1],p=s;p<=c;p++)f=E.tick0+E.dtick*p,g.push(v(k(f),{color:E.gridcolor,width:E.gridwidth,dash:E.griddash}));for(p=s-1;pA[A.length-1])&&T.push(v(k(d),{color:E.minorgridcolor,width:E.minorgridwidth,dash:E.minorgriddash}));E.startline&&m.push(v(k(A[0]),{color:E.startlinecolor,width:E.startlinewidth})),E.endline&&m.push(v(k(A[A.length-1]),{color:E.endlinecolor,width:E.endlinewidth}))}}}}),I7=xe({"src/traces/carpet/calc_labels.js"(U,O){"use strict";var u=uo(),v=oo().extendFlat;O.exports=function(S,l){var e,t,a,r,n,i=l._labels=[],s=l._gridlines;for(e=0;e=0;e--)t[s-e]=v[c][e],a[s-e]=w[c][e];for(r.push({x:t,y:a,bicubic:n}),e=c,t=[],a=[];e>=0;e--)t[c-e]=v[e][0],a[c-e]=w[e][0];return r.push({x:t,y:a,bicubic:i}),r}}}),R7=xe({"src/traces/carpet/smooth_fill_2d_array.js"(U,O){"use strict";var u=Sr();O.exports=function(w,S,l){var e,t,a,r=[],n=[],i=w[0].length,s=w.length;function c(Y,ee){var te=0,ae,j=0;return Y>0&&(ae=w[ee][Y-1])!==void 0&&(j++,te+=ae),Y0&&(ae=w[ee-1][Y])!==void 0&&(j++,te+=ae),ee0&&t0&&eh);return u.log("Smoother converged to",x,"after",D,"iterations"),w}}}),F7=xe({"src/traces/carpet/constants.js"(U,O){"use strict";O.exports={RELATIVE_CULL_TOLERANCE:1e-6}}}),z7=xe({"src/traces/carpet/catmull_rom.js"(U,O){"use strict";var u=.5;O.exports=function(w,S,l,e){var t=w[0]-S[0],a=w[1]-S[1],r=l[0]-S[0],n=l[1]-S[1],i=Math.pow(t*t+a*a,u/2),s=Math.pow(r*r+n*n,u/2),c=(s*s*t-i*i*r)*e,p=(s*s*a-i*i*n)*e,f=s*(i+s)*3,d=i*(i+s)*3;return[[S[0]+(f&&c/f),S[1]+(f&&p/f)],[S[0]-(d&&c/d),S[1]-(d&&p/d)]]}}}),B7=xe({"src/traces/carpet/compute_control_points.js"(U,O){"use strict";var u=z7(),v=Sr().ensureArray;function w(S,l,e){var t=-.5*e[0]+1.5*l[0],a=-.5*e[1]+1.5*l[1];return[(2*t+S[0])/3,(2*a+S[1])/3]}O.exports=function(l,e,t,a,r,n){var i,s,c,p,f,d,y,o,b,M,A=t[0].length,E=t.length,g=r?3*A-2:A,T=n?3*E-2:E;for(l=v(l,T),e=v(e,T),c=0;cf&&gy&&Td||To},a.setScale=function(){var g=a._x,T=a._y,m=w(a._xctrl,a._yctrl,g,T,c.smoothing,p.smoothing);a._xctrl=m[0],a._yctrl=m[1],a.evalxy=S([a._xctrl,a._yctrl],i,s,c.smoothing,p.smoothing),a.dxydi=l([a._xctrl,a._yctrl],c.smoothing,p.smoothing),a.dxydj=e([a._xctrl,a._yctrl],c.smoothing,p.smoothing)},a.i2a=function(g){var T=Math.max(0,Math.floor(g[0]),i-2),m=g[0]-T;return(1-m)*r[T]+m*r[T+1]},a.j2b=function(g){var T=Math.max(0,Math.floor(g[1]),i-2),m=g[1]-T;return(1-m)*n[T]+m*n[T+1]},a.ij2ab=function(g){return[a.i2a(g[0]),a.j2b(g[1])]},a.a2i=function(g){var T=Math.max(0,Math.min(v(g,r),i-2)),m=r[T],h=r[T+1];return Math.max(0,Math.min(i-1,T+(g-m)/(h-m)))},a.b2j=function(g){var T=Math.max(0,Math.min(v(g,n),s-2)),m=n[T],h=n[T+1];return Math.max(0,Math.min(s-1,T+(g-m)/(h-m)))},a.ab2ij=function(g){return[a.a2i(g[0]),a.b2j(g[1])]},a.i2c=function(g,T){return a.evalxy([],g,T)},a.ab2xy=function(g,T,m){if(!m&&(gr[i-1]|Tn[s-1]))return[!1,!1];var h=a.a2i(g),x=a.b2j(T),_=a.evalxy([],h,x);if(m){var D=0,C=0,F=[],I,z,R,k;gr[i-1]?(I=i-2,z=1,D=(g-r[i-1])/(r[i-1]-r[i-2])):(I=Math.max(0,Math.min(i-2,Math.floor(h))),z=h-I),Tn[s-1]?(R=s-2,k=1,C=(T-n[s-1])/(n[s-1]-n[s-2])):(R=Math.max(0,Math.min(s-2,Math.floor(x))),k=x-R),D&&(a.dxydi(F,I,R,z,k),_[0]+=F[0]*D,_[1]+=F[1]*D),C&&(a.dxydj(F,I,R,z,k),_[0]+=F[0]*C,_[1]+=F[1]*C)}return _},a.c2p=function(g,T,m){return[T.c2p(g[0]),m.c2p(g[1])]},a.p2x=function(g,T,m){return[T.p2c(g[0]),m.p2c(g[1])]},a.dadi=function(g){var T=Math.max(0,Math.min(r.length-2,g));return r[T+1]-r[T]},a.dbdj=function(g){var T=Math.max(0,Math.min(n.length-2,g));return n[T+1]-n[T]},a.dxyda=function(g,T,m,h){var x=a.dxydi(null,g,T,m,h),_=a.dadi(g,m);return[x[0]/_,x[1]/_]},a.dxydb=function(g,T,m,h){var x=a.dxydj(null,g,T,m,h),_=a.dbdj(T,h);return[x[0]/_,x[1]/_]},a.dxyda_rough=function(g,T,m){var h=b*(m||.1),x=a.ab2xy(g+h,T,!0),_=a.ab2xy(g-h,T,!0);return[(x[0]-_[0])*.5/h,(x[1]-_[1])*.5/h]},a.dxydb_rough=function(g,T,m){var h=M*(m||.1),x=a.ab2xy(g,T+h,!0),_=a.ab2xy(g,T-h,!0);return[(x[0]-_[0])*.5/h,(x[1]-_[1])*.5/h]},a.dpdx=function(g){return g._m},a.dpdy=function(g){return g._m}}}}),q7=xe({"src/traces/carpet/calc.js"(U,O){"use strict";var u=uo(),v=Sr().isArray1D,w=C7(),S=L7(),l=P7(),e=I7(),t=D7(),a=Tg(),r=R7(),n=wg(),i=j7();O.exports=function(c,p){var f=u.getFromId(c,p.xaxis),d=u.getFromId(c,p.yaxis),y=p.aaxis,o=p.baxis,b=p.x,M=p.y,A=[];b&&v(b)&&A.push("x"),M&&v(M)&&A.push("y"),A.length&&n(p,y,o,"a","b",A);var E=p._a=p._a||p.a,g=p._b=p._b||p.b;b=p._x||p.x,M=p._y||p.y;var T={};if(p._cheater){var m=y.cheatertype==="index"?E.length:E,h=o.cheatertype==="index"?g.length:g;b=w(m,h,p.cheaterslope)}p._x=b=a(b),p._y=M=a(M),r(b,E,g),r(M,E,g),i(p),p.setScale();var x=S(b),_=S(M),D=.5*(x[1]-x[0]),C=.5*(x[1]+x[0]),F=.5*(_[1]-_[0]),I=.5*(_[1]+_[0]),z=1.3;return x=[C-D*z,C+D*z],_=[I-F*z,I+F*z],p._extremes[f._id]=u.findExtremes(f,x,{padded:!0}),p._extremes[d._id]=u.findExtremes(d,_,{padded:!0}),l(p,"a","b"),l(p,"b","a"),e(p,y),e(p,o),T.clipsegments=t(p._xctrl,p._yctrl,y,o),T.x=b,T.y=M,T.a=E,T.b=g,[T]}}}),V7=xe({"src/traces/carpet/index.js"(U,O){"use strict";O.exports={attributes:ry(),supplyDefaults:S7(),plot:k7(),calc:q7(),animatable:!0,isContainer:!0,moduleType:"trace",name:"carpet",basePlotModule:Nu(),categories:["cartesian","svg","carpet","carpetAxis","notLegendIsolatable","noMultiCategory","noHover","noSortingByValue"],meta:{}}}}),H7=xe({"lib/carpet.js"(U,O){"use strict";O.exports=V7()}}),vw=xe({"src/traces/scattercarpet/attributes.js"(U,O){"use strict";var u=qh(),v=wu(),w=Rs(),{hovertemplateAttrs:S,texttemplateAttrs:l,templatefallbackAttrs:e}=js(),t=pl(),a=oo().extendFlat,r=v.marker,n=v.line,i=r.line;O.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:a({},v.mode,{dflt:"markers"}),text:a({},v.text,{}),texttemplate:l({editType:"plot"},{keys:["a","b","text"]}),texttemplatefallback:e({editType:"plot"}),hovertext:a({},v.hovertext,{}),line:{color:n.color,width:n.width,dash:n.dash,backoff:n.backoff,shape:a({},n.shape,{values:["linear","spline"]}),smoothing:n.smoothing,editType:"calc"},connectgaps:v.connectgaps,fill:a({},v.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:u(),marker:a({symbol:r.symbol,opacity:r.opacity,maxdisplayed:r.maxdisplayed,angle:r.angle,angleref:r.angleref,standoff:r.standoff,size:r.size,sizeref:r.sizeref,sizemin:r.sizemin,sizemode:r.sizemode,line:a({width:i.width,dash:i.dash,editType:"calc"},t("marker.line")),gradient:r.gradient,editType:"calc"},t("marker")),textfont:v.textfont,textposition:v.textposition,selected:v.selected,unselected:v.unselected,hoverinfo:a({},w.hoverinfo,{flags:["a","b","text","name"]}),hoveron:v.hoveron,hovertemplate:S(),hovertemplatefallback:e(),zorder:v.zorder}}}),G7=xe({"src/traces/scattercarpet/defaults.js"(U,O){"use strict";var u=Sr(),v=jh(),w=Cl(),S=hh(),l=Eh(),e=cp(),t=kh(),a=Vh(),r=vw();O.exports=function(i,s,c,p){function f(E,g){return u.coerce(i,s,r,E,g)}f("carpet"),s.xaxis="x",s.yaxis="y";var d=f("a"),y=f("b"),o=Math.min(d.length,y.length);if(!o){s.visible=!1;return}s._length=o,f("text"),f("texttemplate"),f("texttemplatefallback"),f("hovertext");var b=o0?T=E.labelprefix.replace(/ = $/,""):T=E._hovertitle,o.push(T+": "+g.toFixed(3)+E.labelsuffix)}if(!f.hovertemplate){var M=p.hi||f.hoverinfo,A=M.split("+");A.indexOf("all")!==-1&&(A=["a","b","text"]),A.indexOf("a")!==-1&&b(d.aaxis,p.a),A.indexOf("b")!==-1&&b(d.baxis,p.b),o.push("y: "+r.yLabel),A.indexOf("text")!==-1&&v(p,f,o),r.extraText=o.join("
")}return a}}}),Z7=xe({"src/traces/scattercarpet/event_data.js"(U,O){"use strict";O.exports=function(v,w,S,l,e){var t=l[e];return v.a=t.a,v.b=t.b,v.y=t.y,v}}}),K7=xe({"src/traces/scattercarpet/index.js"(U,O){"use strict";O.exports={attributes:vw(),supplyDefaults:G7(),colorbar:pf(),formatLabels:W7(),calc:Y7(),plot:X7(),style:Yf().style,styleOnSelect:Yf().styleOnSelect,hoverPoints:$7(),selectPoints:wv(),eventData:Z7(),moduleType:"trace",name:"scattercarpet",basePlotModule:Nu(),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}}}),J7=xe({"lib/scattercarpet.js"(U,O){"use strict";O.exports=K7()}}),pw=xe({"src/traces/contourcarpet/attributes.js"(U,O){"use strict";var u=mp(),v=w0(),w=pl(),S=oo().extendFlat,l=v.contours;O.exports=S({carpet:{valType:"string",editType:"calc"},z:u.z,a:u.x,a0:u.x0,da:u.dx,b:u.y,b0:u.y0,db:u.dy,text:u.text,hovertext:u.hovertext,transpose:u.transpose,atype:u.xtype,btype:u.ytype,fillcolor:v.fillcolor,autocontour:v.autocontour,ncontours:v.ncontours,contours:{type:l.type,start:l.start,end:l.end,size:l.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:l.showlines,showlabels:l.showlabels,labelfont:l.labelfont,labelformat:l.labelformat,operation:l.operation,value:l.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:v.line.color,width:v.line.width,dash:v.line.dash,smoothing:v.line.smoothing,editType:"plot"},zorder:v.zorder},w("",{cLetter:"z",autoColorDflt:!1}))}}),mw=xe({"src/traces/contourcarpet/defaults.js"(U,O){"use strict";var u=Sr(),v=xg(),w=pw(),S=Db(),l=Fg(),e=zg();O.exports=function(a,r,n,i){function s(d,y){return u.coerce(a,r,w,d,y)}function c(d){return u.coerce2(a,r,w,d)}if(s("carpet"),a.a&&a.b){var p=v(a,r,s,i,"a","b");if(!p){r.visible=!1;return}s("text");var f=s("contours.type")==="constraint";f?S(a,r,s,i,n,{hasHover:!1}):(l(a,r,s,c),e(a,r,s,i,{hasHover:!1}))}else r._defaultColor=n,r._length=null;s("zorder")}}}),Q7=xe({"src/traces/contourcarpet/calc.js"(U,O){"use strict";var u=xf(),v=Sr(),w=wg(),S=Tg(),l=Ag(),e=Mg(),t=gb(),a=mw(),r=ay(),n=Ab();O.exports=function(c,p){var f=p._carpetTrace=r(c,p);if(!(!f||!f.visible||f.visible==="legendonly")){if(!p.a||!p.b){var d=c.data[f.index],y=c.data[p.index];y.a||(y.a=d.a),y.b||(y.b=d.b),a(y,p,p._defaultColor,c._fullLayout)}var o=i(c,p);return n(p,p._z),o}};function i(s,c){var p=c._carpetTrace,f=p.aaxis,d=p.baxis,y,o,b,M,A,E,g;f._minDtick=0,d._minDtick=0,v.isArray1D(c.z)&&w(c,f,d,"a","b",["z"]),y=c._a=c._a||c.a,M=c._b=c._b||c.b,y=y?f.makeCalcdata(c,"_a"):[],M=M?d.makeCalcdata(c,"_b"):[],o=c.a0||0,b=c.da||1,A=c.b0||0,E=c.db||1,g=c._z=S(c._z||c.z,c.transpose),c._emptypoints=e(g),l(g,c._emptypoints);var T=v.maxRowLength(g),m=c.xtype==="scaled"?"":y,h=t(c,m,o,b,T,f),x=c.ytype==="scaled"?"":M,_=t(c,x,A,E,g.length,d),D={a:h,b:_,z:g};return c.contours.type==="levels"&&c.contours.coloring!=="none"&&u(s,c,{vals:g,containerStr:"",cLetter:"z"}),[D]}}}),e9=xe({"src/traces/carpet/axis_aligned_line.js"(U,O){"use strict";var u=Sr().isArrayOrTypedArray;O.exports=function(v,w,S,l){var e,t,a,r,n,i,s,c,p,f,d,y,o,b=u(S)?"a":"b",M=b==="a"?v.aaxis:v.baxis,A=M.smoothing,E=b==="a"?v.a2i:v.b2j,g=b==="a"?S:l,T=b==="a"?l:S,m=b==="a"?w.a.length:w.b.length,h=b==="a"?w.b.length:w.a.length,x=Math.floor(b==="a"?v.b2j(T):v.a2i(T)),_=b==="a"?function(ee){return v.evalxy([],ee,x)}:function(ee){return v.evalxy([],x,ee)};A&&(a=Math.max(0,Math.min(h-2,x)),r=x-a,t=b==="a"?function(ee,te){return v.dxydi([],ee,a,te,r)}:function(ee,te){return v.dxydj([],a,ee,r,te)});var D=E(g[0]),C=E(g[1]),F=D0?Math.floor:Math.ceil,R=F>0?Math.ceil:Math.floor,k=F>0?Math.min:Math.max,B=F>0?Math.max:Math.min,N=z(D+I),q=R(C-I);s=_(D);var Y=[[s]];for(e=N;e*F=0;ue--)$=B.clipsegments[ue],Q=v([],$.x,D.c2p),re=v([],$.y,C.c2p),Q.reverse(),re.reverse(),pe.push(w(Q,re,$.bicubic));var ge="M"+pe.join("L")+"Z";A(I,B.clipsegments,D,C,te,j),E(R,I,D,C,X,K,G,k,B,j,ge),d(I,ee,m,z,Y,h,k),S.setClipUrl(I,k._clipPathId,m)})};function f(T,m){var h,x,_,D,C,F,I,z,R;for(h=0;hee&&(x.max=ee),x.len=x.max-x.min}function o(T,m,h){var x=T.getPointAtLength(m),_=T.getPointAtLength(h),D=_.x-x.x,C=_.y-x.y,F=Math.sqrt(D*D+C*C);return[D/F,C/F]}function b(T){var m=Math.sqrt(T[0]*T[0]+T[1]*T[1]);return[T[0]/m,T[1]/m]}function M(T,m){var h=Math.abs(T[0]*m[0]+T[1]*m[1]),x=Math.sqrt(1-h*h);return x/h}function A(T,m,h,x,_,D){var C,F,I,z,R=l.ensureSingle(T,"g","contourbg"),k=R.selectAll("path").data(D==="fill"&&!_?[0]:[]);k.enter().append("path"),k.exit().remove();var B=[];for(z=0;z=0&&(N=Q,Y=ee):Math.abs(B[1]-N[1])=0&&(N=Q,Y=ee):l.log("endpt to newendpt is not vert. or horz.",B,N,Q)}if(Y>=0)break;z+=X(B,N),B=N}if(Y===m.edgepaths.length){l.log("unclosed perimeter path");break}I=Y,k=R.indexOf(I)===-1,k&&(I=R[0],z+=X(B,N)+"Z",B=null)}for(I=0;Ig):E=F>_,g=F;var I=f(_,D,C,F);I.pos=x,I.yc=(_+F)/2,I.i=h,I.dir=E?"increasing":"decreasing",I.x=I.pos,I.y=[C,D],T&&(I.orig_p=s[h]),M&&(I.tx=i.text[h]),A&&(I.htx=i.hovertext[h]),m.push(I)}else m.push({pos:x,empty:!0})}return i._extremes[p._id]=w.findExtremes(p,u.concat(o,y),{padded:!0}),m.length&&(m[0].t={labels:{open:v(n,"open:")+" ",high:v(n,"high:")+" ",low:v(n,"low:")+" ",close:v(n,"close:")+" "}}),m}function r(n,i,s){var c=s._minDiff;if(!c){var p=n._fullData,f=[];c=1/0;var d;for(d=0;d"+b.labels[x]+u.hoverLabelText(y,_,o.yhoverformat)):(C=v.extendFlat({},A),C.y0=C.y1=D,C.yLabelVal=_,C.yLabel=b.labels[x]+u.hoverLabelText(y,_,o.yhoverformat),C.name="",M.push(C),m[_]=C)}return M}function i(s,c,p,f){var d=s.cd,y=s.ya,o=d[0].trace,b=d[0].t,M=r(s,c,p,f);if(!M)return[];var A=M.index,E=d[A],g=M.index=E.i,T=E.dir;function m(I){return b.labels[I]+u.hoverLabelText(y,o[I][g],o.yhoverformat)}var h=E.hi||o.hoverinfo||"",x=h.split("+"),_=h==="all",D=_||x.indexOf("y")!==-1,C=_||x.indexOf("text")!==-1,F=D?[m("open"),m("high"),m("low"),m("close")+" "+t[T]]:[];return C&&l(E,o,F),M.extraText=F.join("
"),M.y0=M.y1=y.c2p(E.yc,!0),[M]}O.exports={hoverPoints:a,hoverSplit:n,hoverOnPoints:i}}}),bw=xe({"src/traces/ohlc/select.js"(U,O){"use strict";O.exports=function(v,w){var S=v.cd,l=v.xaxis,e=v.yaxis,t=[],a,r=S[0].t.bPos||0;if(w===!1)for(a=0;ac?function(o){return o<=0}:function(o){return o>=0};r.c2g=function(o){var b=r.c2l(o)-s;return(y(b)?b:0)+d},r.g2c=function(o){return r.l2c(o+s-d)},r.g2p=function(o){return o*f},r.c2p=function(o){return r.g2p(r.c2g(o))}}}function e(r,n){return n==="degrees"?w(r):r}function t(r,n){return n==="degrees"?S(r):r}function a(r,n){var i=r.type;if(i==="linear"){var s=r.d2c,c=r.c2d;r.d2c=function(p,f){return e(s(p),f)},r.c2d=function(p,f){return c(t(p,f))}}r.makeCalcdata=function(p,f){var d=p[f],y=p._length,o,b,M=function(m){return r.d2c(m,p.thetaunit)};if(d)for(o=new Array(y),b=0;b0?m:1/0},E=w(M,A),g=u.mod(E+1,M.length);return[M[E],M[g]]}function f(b){return Math.abs(b)>1e-10?b:0}function d(b,M,A){M=M||0,A=A||0;for(var E=b.length,g=new Array(E),T=0;T0?1:0}function v(t){var a=t[0],r=t[1];if(!isFinite(a)||!isFinite(r))return[1,0];var n=(a+1)*(a+1)+r*r;return[(a*a+r*r-1)/n,2*r/n]}function w(t,a){var r=a[0],n=a[1];return[r*t.radius+t.cx,-n*t.radius+t.cy]}function S(t,a){return a*t.radius}function l(t,a,r,n){var i=w(t,v([r,a])),s=i[0],c=i[1],p=w(t,v([n,a])),f=p[0],d=p[1];if(a===0)return["M"+s+","+c,"L"+f+","+d].join(" ");var y=S(t,1/Math.abs(a));return["M"+s+","+c,"A"+y+","+y+" 0 0,"+(a<0?1:0)+" "+f+","+d].join(" ")}function e(t,a,r,n){var i=S(t,1/(a+1)),s=w(t,v([a,r])),c=s[0],p=s[1],f=w(t,v([a,n])),d=f[0],y=f[1];if(u(r)!==u(n)){var o=w(t,v([a,0])),b=o[0],M=o[1];return["M"+c+","+p,"A"+i+","+i+" 0 0,"+(0Ce?(Ue=Q,Oe=Q*Ce,ie=(re-Oe)/K.h/2,_e=[X[0],X[1]],ce=[$[0]+ie,$[1]-ie]):(Ue=re/Ce,Oe=re,ie=(Q-Ue)/K.w/2,_e=[X[0]+ie,X[1]-ie],ce=[$[0],$[1]]),j.xLength2=Ue,j.yLength2=Oe,j.xDomain2=_e,j.yDomain2=ce;var se=j.xOffset2=K.l+K.w*_e[0],ne=j.yOffset2=K.t+K.h*(1-ce[1]),be=j.radius=Ue/ge,De=j.innerRadius=j.getHole(ae)*be,qe=j.cx=se-be*pe[0],Ne=j.cy=ne+be*pe[3],ut=j.cxx=qe-se,ot=j.cyy=Ne-ne,yt=H.side,At;yt==="counterclockwise"?(At=yt,yt="top"):yt==="clockwise"&&(At=yt,yt="bottom"),j.radialAxis=j.mockAxis(te,ae,H,{_id:"x",side:yt,_trueSide:At,domain:[De/K.w,be/K.w]}),j.angularAxis=j.mockAxis(te,ae,Z,{side:"right",domain:[0,Math.PI],autorange:!1}),j.doAutoRange(te,ae),j.updateAngularAxis(te,ae),j.updateRadialAxis(te,ae),j.updateRadialAxisTitle(te,ae),j.xaxis=j.mockCartesianAxis(te,ae,{_id:"x",domain:_e}),j.yaxis=j.mockCartesianAxis(te,ae,{_id:"y",domain:ce});var It=j.pathSubplot();j.clipPaths.forTraces.select("path").attr("d",It).attr("transform",l(ut,ot)),G.frontplot.attr("transform",l(se,ne)).call(t.setClipUrl,j._hasClipOnAxisFalse?null:j.clipIds.forTraces,j.gd),G.bg.attr("d",It).attr("transform",l(qe,Ne)).call(e.fill,ae.bgcolor)},B.mockAxis=function(te,ae,j,G){var K=w.extendFlat({},j,G);return i(K,ae,te),K},B.mockCartesianAxis=function(te,ae,j){var G=this,K=G.isSmith,H=j._id,Z=w.extendFlat({type:"linear"},j);n(Z,te);var X={x:[0,2],y:[1,3]};return Z.setRange=function(){var $=G.sectorBBox,Q=X[H],re=G.radialAxis._rl,ue=(re[1]-re[0])/(1-G.getHole(ae));Z.range=[$[Q[0]]*ue,$[Q[1]]*ue]},Z.isPtWithinRange=H==="x"&&!K?function($){return G.isPtInside($)}:function(){return!0},Z.setRange(),Z.setScale(),Z},B.doAutoRange=function(te,ae){var j=this,G=j.gd,K=j.radialAxis,H=j.getRadial(ae);s(G,K);var Z=K.range;if(H.range=Z.slice(),H._input.range=Z.slice(),K._rl=[K.r2l(Z[0],null,"gregorian"),K.r2l(Z[1],null,"gregorian")],K.minallowed!==void 0){var X=K.r2l(K.minallowed);K._rl[0]>K._rl[1]?K._rl[1]=Math.max(K._rl[1],X):K._rl[0]=Math.max(K._rl[0],X)}if(K.maxallowed!==void 0){var $=K.r2l(K.maxallowed);K._rl[0]90&&re<=270&&(ue.tickangle=180);var Te=ge?function(be){var De=C(j,x([be.x,0]));return l(De[0]-X,De[1]-$)}:function(be){return l(ue.l2p(be.x)+Z,0)},Se=ge?function(be){return D(j,be.x,-1/0,1/0)}:function(be){return j.pathArc(ue.r2p(be.x)+Z)},Ce=N(Q);if(j.radialTickLayout!==Ce&&(K["radial-axis"].selectAll(".xtick").remove(),j.radialTickLayout=Ce),pe){ue.setScale();var Ue=0,Oe=ge?(ue.tickvals||[]).filter(function(be){return be>=0}).map(function(be){return r.tickText(ue,be,!0,!1)}):r.calcTicks(ue),_e=ge?Oe:r.clipEnds(ue,Oe),ce=r.getTickSigns(ue)[2];ge&&((ue.ticks==="top"&&ue.side==="bottom"||ue.ticks==="bottom"&&ue.side==="top")&&(ce=-ce),ue.ticks==="top"&&ue.side==="top"&&(Ue=-ue.ticklen),ue.ticks==="bottom"&&ue.side==="bottom"&&(Ue=ue.ticklen)),r.drawTicks(G,ue,{vals:Oe,layer:K["radial-axis"],path:r.makeTickPath(ue,0,ce),transFn:Te,crisp:!1}),r.drawGrid(G,ue,{vals:_e,layer:K["radial-grid"],path:Se,transFn:w.noop,crisp:!1}),r.drawLabels(G,ue,{vals:Oe,layer:K["radial-axis"],transFn:Te,labelFns:r.makeLabelFns(ue,Ue)})}var ie=j.radialAxisAngle=j.vangles?R(Y(z(Q.angle),j.vangles)):Q.angle,se=l(X,$),ne=se+S(-ie);ee(K["radial-axis"],pe&&(Q.showticklabels||Q.ticks),{transform:ne}),ee(K["radial-grid"],pe&&Q.showgrid,{transform:ge?"":se}),ee(K["radial-line"].select("line"),pe&&Q.showline,{x1:ge?-H:Z,y1:0,x2:H,y2:0,transform:ne}).attr("stroke-width",Q.linewidth).call(e.stroke,Q.linecolor)},B.updateRadialAxisTitle=function(te,ae,j){if(!this.isSmith){var G=this,K=G.gd,H=G.radius,Z=G.cx,X=G.cy,$=G.getRadial(ae),Q=G.id+"title",re=0;if($.title){var ue=t.bBox(G.layers["radial-axis"].node()).height,pe=$.title.font.size,ge=$.side;re=ge==="top"?pe:ge==="counterclockwise"?-(ue+pe*.4):ue+pe*.8}var Te=j!==void 0?j:G.radialAxisAngle,Se=z(Te),Ce=Math.cos(Se),Ue=Math.sin(Se),Oe=Z+H/2*Ce+re*Ue,_e=X-H/2*Ue+re*Ce;G.layers["radial-axis-title"]=d.draw(K,Q,{propContainer:$,propName:G.id+".radialaxis.title.text",placeholder:F(K,"Click to enter radial axis title"),attributes:{x:Oe,y:_e,"text-anchor":"middle"},transform:{rotate:-Te}})}},B.updateAngularAxis=function(te,ae){var j=this,G=j.gd,K=j.layers,H=j.radius,Z=j.innerRadius,X=j.cx,$=j.cy,Q=j.getAngular(ae),re=j.angularAxis,ue=j.isSmith;ue||(j.fillViewInitialKey("angularaxis.rotation",Q.rotation),re.setGeometry(),re.setScale());var pe=ue?function(De){var qe=C(j,x([0,De.x]));return Math.atan2(qe[0]-X,qe[1]-$)-Math.PI/2}:function(De){return re.t2g(De.x)};re.type==="linear"&&re.thetaunit==="radians"&&(re.tick0=R(re.tick0),re.dtick=R(re.dtick));var ge=function(De){return l(X+H*Math.cos(De),$-H*Math.sin(De))},Te=ue?function(De){var qe=C(j,x([0,De.x]));return l(qe[0],qe[1])}:function(De){return ge(pe(De))},Se=ue?function(De){var qe=C(j,x([0,De.x])),Ne=Math.atan2(qe[0]-X,qe[1]-$)-Math.PI/2;return l(qe[0],qe[1])+S(-R(Ne))}:function(De){var qe=pe(De);return ge(qe)+S(-R(qe))},Ce=ue?function(De){return _(j,De.x,0,1/0)}:function(De){var qe=pe(De),Ne=Math.cos(qe),ut=Math.sin(qe);return"M"+[X+Z*Ne,$-Z*ut]+"L"+[X+H*Ne,$-H*ut]},Ue=r.makeLabelFns(re,0),Oe=Ue.labelStandoff,_e={};_e.xFn=function(De){var qe=pe(De);return Math.cos(qe)*Oe},_e.yFn=function(De){var qe=pe(De),Ne=Math.sin(qe)>0?.2:1;return-Math.sin(qe)*(Oe+De.fontSize*Ne)+Math.abs(Math.cos(qe))*(De.fontSize*g)},_e.anchorFn=function(De){var qe=pe(De),Ne=Math.cos(qe);return Math.abs(Ne)<.1?"middle":Ne>0?"start":"end"},_e.heightFn=function(De,qe,Ne){var ut=pe(De);return-.5*(1+Math.sin(ut))*Ne};var ce=N(Q);j.angularTickLayout!==ce&&(K["angular-axis"].selectAll("."+re._id+"tick").remove(),j.angularTickLayout=ce);var ie=ue?[1/0].concat(re.tickvals||[]).map(function(De){return r.tickText(re,De,!0,!1)}):r.calcTicks(re);ue&&(ie[0].text="\u221E",ie[0].fontSize*=1.75);var se;if(ae.gridshape==="linear"?(se=ie.map(pe),w.angleDelta(se[0],se[1])<0&&(se=se.slice().reverse())):se=null,j.vangles=se,re.type==="category"&&(ie=ie.filter(function(De){return w.isAngleInsideSector(pe(De),j.sectorInRad)})),re.visible){var ne=re.ticks==="inside"?-1:1,be=(re.linewidth||1)/2;r.drawTicks(G,re,{vals:ie,layer:K["angular-axis"],path:"M"+ne*be+",0h"+ne*re.ticklen,transFn:Se,crisp:!1}),r.drawGrid(G,re,{vals:ie,layer:K["angular-grid"],path:Ce,transFn:w.noop,crisp:!1}),r.drawLabels(G,re,{vals:ie,layer:K["angular-axis"],repositionOnUpdate:!0,transFn:Te,labelFns:_e})}ee(K["angular-line"].select("path"),Q.showline,{d:j.pathSubplot(),transform:l(X,$)}).attr("stroke-width",Q.linewidth).call(e.stroke,Q.linecolor)},B.updateFx=function(te,ae){if(!this.gd._context.staticPlot){var j=!this.isSmith;j&&(this.updateAngularDrag(te),this.updateRadialDrag(te,ae,0),this.updateRadialDrag(te,ae,1)),this.updateHoverAndMainDrag(te)}},B.updateHoverAndMainDrag=function(te){var ae=this,j=ae.isSmith,G=ae.gd,K=ae.layers,H=te._zoomlayer,Z=T.MINZOOM,X=T.OFFEDGE,$=ae.radius,Q=ae.innerRadius,re=ae.cx,ue=ae.cy,pe=ae.cxx,ge=ae.cyy,Te=ae.sectorInRad,Se=ae.vangles,Ce=ae.radialAxis,Ue=m.clampTiny,Oe=m.findXYatLength,_e=m.findEnclosingVertexAngles,ce=T.cornerHalfWidth,ie=T.cornerLen/2,se,ne,be=c.makeDragger(K,"path","maindrag",te.dragmode===!1?"none":"crosshair");u.select(be).attr("d",ae.pathSubplot()).attr("transform",l(re,ue)),be.onmousemove=function(_t){f.hover(G,_t,ae.id),G._fullLayout._lasthover=be,G._fullLayout._hoversubplot=ae.id},be.onmouseout=function(_t){G._dragging||p.unhover(G,_t)};var De={element:be,gd:G,subplot:ae.id,plotinfo:{id:ae.id,xaxis:ae.xaxis,yaxis:ae.yaxis},xaxes:[ae.xaxis],yaxes:[ae.yaxis]},qe,Ne,ut,ot,yt,At,It,Zt,vr;function Ut(_t,Bt){return Math.sqrt(_t*_t+Bt*Bt)}function Jt(_t,Bt){return Ut(_t-pe,Bt-ge)}function at(_t,Bt){return Math.atan2(ge-Bt,_t-pe)}function Ee(_t,Bt){return[_t*Math.cos(Bt),_t*Math.sin(-Bt)]}function Re(_t,Bt){if(_t===0)return ae.pathSector(2*ce);var Et=ie/_t,hr=Bt-Et,$r=Bt+Et,ca=Math.max(0,Math.min(_t,$)),na=ca-ce,wa=ca+ce;return"M"+Ee(na,hr)+"A"+[na,na]+" 0,0,0 "+Ee(na,$r)+"L"+Ee(wa,$r)+"A"+[wa,wa]+" 0,0,1 "+Ee(wa,hr)+"Z"}function he(_t,Bt,Et){if(_t===0)return ae.pathSector(2*ce);var hr=Ee(_t,Bt),$r=Ee(_t,Et),ca=Ue((hr[0]+$r[0])/2),na=Ue((hr[1]+$r[1])/2),wa,pa;if(ca&&na){var fa=na/ca,za=-1/fa,Ia=Oe(ce,fa,ca,na);wa=Oe(ie,za,Ia[0][0],Ia[0][1]),pa=Oe(ie,za,Ia[1][0],Ia[1][1])}else{var Va,Oa;na?(Va=ie,Oa=ce):(Va=ce,Oa=ie),wa=[[ca-Va,na-Oa],[ca+Va,na-Oa]],pa=[[ca-Va,na+Oa],[ca+Va,na+Oa]]}return"M"+wa.join("L")+"L"+pa.reverse().join("L")+"Z"}function ye(){ut=null,ot=null,yt=ae.pathSubplot(),At=!1;var _t=G._fullLayout[ae.id];It=e.color(_t.bgcolor).luminosity(),Zt=c.makeZoombox(H,It,re,ue,yt),Zt.attr("fill-rule","evenodd"),vr=c.makeCorners(H,re,ue),b(G)}function Ie(_t,Bt){return Bt=Math.max(Math.min(Bt,$),Q),_tZ?(_t-1&&_t===1&&o(Bt,G,[ae.xaxis],[ae.yaxis],ae.id,De),Et.indexOf("event")>-1&&f.click(G,Bt,ae.id)}De.prepFn=function(_t,Bt,Et){var hr=G._fullLayout.dragmode,$r=be.getBoundingClientRect();G._fullLayout._calcInverseTransform(G);var ca=G._fullLayout._invTransform;se=G._fullLayout._invScaleX,ne=G._fullLayout._invScaleY;var na=w.apply3DTransform(ca)(Bt-$r.left,Et-$r.top);if(qe=na[0],Ne=na[1],Se){var wa=m.findPolygonOffset($,Te[0],Te[1],Se);qe+=pe+wa[0],Ne+=ge+wa[1]}switch(hr){case"zoom":De.clickFn=mt,j||(Se?De.moveFn=pt:De.moveFn=He,De.doneFn=ct,ye(_t,Bt,Et));break;case"select":case"lasso":y(_t,Bt,Et,De,hr);break}},p.init(De)},B.updateRadialDrag=function(te,ae,j){var G=this,K=G.gd,H=G.layers,Z=G.radius,X=G.innerRadius,$=G.cx,Q=G.cy,re=G.radialAxis,ue=T.radialDragBoxSize,pe=ue/2;if(!re.visible)return;var ge=z(G.radialAxisAngle),Te=re._rl,Se=Te[0],Ce=Te[1],Ue=Te[j],Oe=.75*(Te[1]-Te[0])/(1-G.getHole(ae))/Z,_e,ce,ie;j?(_e=$+(Z+pe)*Math.cos(ge),ce=Q-(Z+pe)*Math.sin(ge),ie="radialdrag"):(_e=$+(X-pe)*Math.cos(ge),ce=Q-(X-pe)*Math.sin(ge),ie="radialdrag-inner");var se=c.makeRectDragger(H,ie,"crosshair",-pe,-pe,ue,ue),ne={element:se,gd:K};te.dragmode===!1&&(ne.dragmode=!1),ee(u.select(se),re.visible&&X0!=(j?qe>Se:qe=90||K>90&&H>=450?ge=1:X<=0&&Q<=0?ge=0:ge=Math.max(X,Q),K<=180&&H>=180||K>180&&H>=540?re=-1:Z>=0&&$>=0?re=0:re=Math.min(Z,$),K<=270&&H>=270||K>270&&H>=630?ue=-1:X>=0&&Q>=0?ue=0:ue=Math.min(X,Q),H>=360?pe=1:Z<=0&&$<=0?pe=0:pe=Math.max(Z,$),[re,ue,pe,ge]}function Y(te,ae){var j=function(K){return w.angleDist(te,K)},G=w.findIndexOfMin(ae,j);return ae[G]}function ee(te,ae,j){return ae?(te.attr("display",null),te.attr(j)):te&&te.attr("display","none"),te}}}),Mw=xe({"src/plots/polar/layout_attributes.js"(U,O){"use strict";var u=sc(),v=$c(),w=Gl().attributes,S=Sr().extendFlat,l=Hl().overrideAll,e=l({color:v.color,showline:S({},v.showline,{dflt:!0}),linecolor:v.linecolor,linewidth:v.linewidth,showgrid:S({},v.showgrid,{dflt:!0}),gridcolor:v.gridcolor,gridwidth:v.gridwidth,griddash:v.griddash},"plot","from-root"),t=l({tickmode:v.minor.tickmode,nticks:v.nticks,tick0:v.tick0,dtick:v.dtick,tickvals:v.tickvals,ticktext:v.ticktext,ticks:v.ticks,ticklen:v.ticklen,tickwidth:v.tickwidth,tickcolor:v.tickcolor,ticklabelstep:v.ticklabelstep,showticklabels:v.showticklabels,labelalias:v.labelalias,minorloglabels:v.minorloglabels,showtickprefix:v.showtickprefix,tickprefix:v.tickprefix,showticksuffix:v.showticksuffix,ticksuffix:v.ticksuffix,showexponent:v.showexponent,exponentformat:v.exponentformat,minexponent:v.minexponent,separatethousands:v.separatethousands,tickfont:v.tickfont,tickangle:v.tickangle,tickformat:v.tickformat,tickformatstops:v.tickformatstops,layer:v.layer},"plot","from-root"),a={visible:S({},v.visible,{dflt:!0}),type:S({},v.type,{values:["-","linear","log","date","category"]}),autotypenumbers:v.autotypenumbers,autorangeoptions:{minallowed:v.autorangeoptions.minallowed,maxallowed:v.autorangeoptions.maxallowed,clipmin:v.autorangeoptions.clipmin,clipmax:v.autorangeoptions.clipmax,include:v.autorangeoptions.include,editType:"plot"},autorange:S({},v.autorange,{editType:"plot"}),rangemode:{valType:"enumerated",values:["tozero","nonnegative","normal"],dflt:"tozero",editType:"calc"},minallowed:S({},v.minallowed,{editType:"plot"}),maxallowed:S({},v.maxallowed,{editType:"plot"}),range:S({},v.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],editType:"plot"}),categoryorder:v.categoryorder,categoryarray:v.categoryarray,angle:{valType:"angle",editType:"plot"},autotickangles:v.autotickangles,side:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"clockwise",editType:"plot"},title:{text:S({},v.title.text,{editType:"plot",dflt:""}),font:S({},v.title.font,{editType:"plot"}),editType:"plot"},hoverformat:v.hoverformat,uirevision:{valType:"any",editType:"none"},editType:"calc"};S(a,e,t);var r={visible:S({},v.visible,{dflt:!0}),type:{valType:"enumerated",values:["-","linear","category"],dflt:"-",editType:"calc",_noTemplating:!0},autotypenumbers:v.autotypenumbers,categoryorder:v.categoryorder,categoryarray:v.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:v.hoverformat,uirevision:{valType:"any",editType:"none"},editType:"calc"};S(r,e,t),O.exports={domain:w({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:u.background},radialaxis:a,angularaxis:r,gridshape:{valType:"enumerated",values:["circular","linear"],dflt:"circular",editType:"plot"},uirevision:{valType:"any",editType:"none"},editType:"calc"}}}),d9=xe({"src/plots/polar/layout_defaults.js"(U,O){"use strict";var u=Sr(),v=wi(),w=Cs(),S=Av(),l=df().getSubplotData,e=mv(),t=sp(),a=Rd(),r=Fd(),n=og(),i=v0(),s=__(),c=lp(),p=Mw(),f=ww(),d=iy(),y=d.axisNames;function o(M,A,E,g){var T=E("bgcolor");g.bgColor=v.combine(T,g.paper_bgcolor);var m=E("sector");E("hole");var h=l(g.fullData,d.name,g.id),x=g.layoutOut,_;function D(pe,ge){return E(_+"."+pe,ge)}for(var C=0;C")}}O.exports={hoverPoints:v,makeHoverPointText:w}}}),m9=xe({"src/traces/scatterpolar/index.js"(U,O){"use strict";O.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:sy(),categories:["polar","symbols","showLegend","scatter-like"],attributes:um(),supplyDefaults:ly().supplyDefaults,colorbar:pf(),formatLabels:uy(),calc:v9(),plot:p9(),style:Yf().style,styleOnSelect:Yf().styleOnSelect,hoverPoints:cy().hoverPoints,selectPoints:wv(),meta:{}}}}),g9=xe({"lib/scatterpolar.js"(U,O){"use strict";O.exports=m9()}}),Sw=xe({"src/traces/scatterpolargl/attributes.js"(U,O){"use strict";var u=um(),{cliponaxis:v,hoveron:w}=u,S=Br(u,["cliponaxis","hoveron"]),{connectgaps:l,line:{color:e,dash:t,width:a},fill:r,fillcolor:n,marker:i,textfont:s,textposition:c}=tm();O.exports=Rr(Hr({},S),{connectgaps:l,fill:r,fillcolor:n,line:{color:e,dash:t,editType:"calc",width:a},marker:i,textfont:s,textposition:c})}}),y9=xe({"src/traces/scatterpolargl/defaults.js"(U,O){"use strict";var u=Sr(),v=Cl(),w=ly().handleRThetaDefaults,S=hh(),l=Eh(),e=kh(),t=Vh(),a=jh().PTS_LINESONLY,r=Sw();O.exports=function(i,s,c,p){function f(y,o){return u.coerce(i,s,r,y,o)}var d=w(i,s,p,f);if(!d){s.visible=!1;return}f("thetaunit"),f("mode",d=t&&(g.marker.cluster=b.tree),g.marker&&(g.markerSel.positions=g.markerUnsel.positions=g.marker.positions=x),g.line&&x.length>1&&e.extendFlat(g.line,l.linePositions(n,o,x)),g.text&&(e.extendFlat(g.text,{positions:x},l.textPosition(n,o,g.text,g.marker)),e.extendFlat(g.textSel,{positions:x},l.textPosition(n,o,g.text,g.markerSel)),e.extendFlat(g.textUnsel,{positions:x},l.textPosition(n,o,g.text,g.markerUnsel))),g.fill&&!f.fill2d&&(f.fill2d=!0),g.marker&&!f.scatter2d&&(f.scatter2d=!0),g.line&&!f.line2d&&(f.line2d=!0),g.text&&!f.glText&&(f.glText=!0),f.lineOptions.push(g.line),f.fillOptions.push(g.fill),f.markerOptions.push(g.marker),f.markerSelectedOptions.push(g.markerSel),f.markerUnselectedOptions.push(g.markerUnsel),f.textOptions.push(g.text),f.textSelectedOptions.push(g.textSel),f.textUnselectedOptions.push(g.textUnsel),f.selectBatch.push([]),f.unselectBatch.push([]),b.x=_,b.y=D,b.rawx=_,b.rawy=D,b.r=A,b.theta=E,b.positions=x,b._scene=f,b.index=f.count,f.count++}}),w(n,i,s)}},O.exports.reglPrecompiled=a}}),A9=xe({"src/traces/scatterpolargl/index.js"(U,O){"use strict";var u=w9();u.plot=T9(),O.exports=u}}),M9=xe({"lib/scatterpolargl.js"(U,O){"use strict";O.exports=A9()}}),Ew=xe({"src/traces/barpolar/attributes.js"(U,O){"use strict";var{hovertemplateAttrs:u,templatefallbackAttrs:v}=js(),w=oo().extendFlat,S=um(),l=Gh();O.exports={r:S.r,theta:S.theta,r0:S.r0,dr:S.dr,theta0:S.theta0,dtheta:S.dtheta,thetaunit:S.thetaunit,base:w({},l.base,{}),offset:w({},l.offset,{}),width:w({},l.width,{}),text:w({},l.text,{}),hovertext:w({},l.hovertext,{}),marker:e(),hoverinfo:S.hoverinfo,hovertemplate:u(),hovertemplatefallback:v(),selected:l.selected,unselected:l.unselected};function e(){var t=w({},l.marker);return delete t.cornerradius,t}}}),kw=xe({"src/traces/barpolar/layout_attributes.js"(U,O){"use strict";O.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}}}),S9=xe({"src/traces/barpolar/defaults.js"(U,O){"use strict";var u=Sr(),v=ly().handleRThetaDefaults,w=pg(),S=Ew();O.exports=function(e,t,a,r){function n(s,c){return u.coerce(e,t,S,s,c)}var i=v(e,t,r,n);if(!i){t.visible=!1;return}n("thetaunit"),n("base"),n("offset"),n("width"),n("text"),n("hovertext"),n("hovertemplate"),n("hovertemplatefallback"),w(e,t,n,a,r),u.coerceSelectionMarkerOpacity(t,n)}}}),E9=xe({"src/traces/barpolar/layout_defaults.js"(U,O){"use strict";var u=Sr(),v=kw();O.exports=function(w,S,l){var e={},t;function a(i,s){return u.coerce(w[t]||{},S[t],v,i,s)}for(var r=0;r0?(p=s,f=c):(p=c,f=s);var d=l.findEnclosingVertexAngles(p,t.vangles)[0],y=l.findEnclosingVertexAngles(f,t.vangles)[1],o=[d,(p+f)/2,y];return l.pathPolygonAnnulus(n,i,p,f,o,a,r)}:function(n,i,s,c){return w.pathAnnulus(n,i,s,c,a,r)}}}}),C9=xe({"src/traces/barpolar/hover.js"(U,O){"use strict";var u=hu(),v=Sr(),w=vp().getTraceColor,S=v.fillText,l=cy().makeHoverPointText,e=oy().isPtInsidePolygon;O.exports=function(a,r,n){var i=a.cd,s=i[0].trace,c=a.subplot,p=c.radialAxis,f=c.angularAxis,d=c.vangles,y=d?e:v.isPtInsideSector,o=a.maxHoverDistance,b=f._period||2*Math.PI,M=Math.abs(p.g2p(Math.sqrt(r*r+n*n))),A=Math.atan2(n,r);p.range[0]>p.range[1]&&(A+=Math.PI);var E=function(h){return y(M,A,[h.rp0,h.rp1],[h.thetag0,h.thetag1],d)?o+Math.min(1,Math.abs(h.thetag1-h.thetag0)/b)-1+(h.rp1-M)/(h.rp1-h.rp0)-1:1/0};if(u.getClosest(i,E,a),a.index!==!1){var g=a.index,T=i[g];a.x0=a.x1=T.ct[0],a.y0=a.y1=T.ct[1];var m=v.extendFlat({},T,{r:T.s,theta:T.p});return S(T,s,a),l(m,s,c,a),a.hovertemplate=s.hovertemplate,a.color=w(s,T),a.xLabelVal=a.yLabelVal=void 0,T.s<0&&(a.idealAlign="left"),[a]}}}}),L9=xe({"src/traces/barpolar/index.js"(U,O){"use strict";O.exports={moduleType:"trace",name:"barpolar",basePlotModule:sy(),categories:["polar","bar","showLegend"],attributes:Ew(),layoutAttributes:kw(),supplyDefaults:S9(),supplyLayoutDefaults:E9(),calc:Cw().calc,crossTraceCalc:Cw().crossTraceCalc,plot:k9(),colorbar:pf(),formatLabels:uy(),style:ph().style,styleOnSelect:ph().styleOnSelect,hoverPoints:C9(),selectPoints:pp(),meta:{}}}}),P9=xe({"lib/barpolar.js"(U,O){"use strict";O.exports=L9()}}),Lw=xe({"src/plots/smith/constants.js"(U,O){"use strict";O.exports={attr:"subplot",name:"smith",axisNames:["realaxis","imaginaryaxis"],axisName2dataArray:{imaginaryaxis:"imag",realaxis:"real"}}}}),Pw=xe({"src/plots/smith/layout_attributes.js"(U,O){"use strict";var u=sc(),v=$c(),w=Gl().attributes,S=Sr().extendFlat,l=Hl().overrideAll,e=l({color:v.color,showline:S({},v.showline,{dflt:!0}),linecolor:v.linecolor,linewidth:v.linewidth,showgrid:S({},v.showgrid,{dflt:!0}),gridcolor:v.gridcolor,gridwidth:v.gridwidth,griddash:v.griddash},"plot","from-root"),t=l({ticklen:v.ticklen,tickwidth:S({},v.tickwidth,{dflt:2}),tickcolor:v.tickcolor,showticklabels:v.showticklabels,labelalias:v.labelalias,showtickprefix:v.showtickprefix,tickprefix:v.tickprefix,showticksuffix:v.showticksuffix,ticksuffix:v.ticksuffix,tickfont:v.tickfont,tickformat:v.tickformat,hoverformat:v.hoverformat,layer:v.layer},"plot","from-root"),a=S({visible:S({},v.visible,{dflt:!0}),tickvals:{dflt:[.2,.5,1,2,5],valType:"data_array",editType:"plot"},tickangle:S({},v.tickangle,{dflt:90}),ticks:{valType:"enumerated",values:["top","bottom",""],editType:"ticks"},side:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},editType:"calc"},e,t),r=S({visible:S({},v.visible,{dflt:!0}),tickvals:{valType:"data_array",editType:"plot"},ticks:v.ticks,editType:"calc"},e,t);O.exports={domain:w({name:"smith",editType:"plot"}),bgcolor:{valType:"color",editType:"plot",dflt:u.background},realaxis:a,imaginaryaxis:r,editType:"calc"}}}),I9=xe({"src/plots/smith/layout_defaults.js"(U,O){"use strict";var u=Sr(),v=wi(),w=Cs(),S=Av(),l=df().getSubplotData,e=Fd(),t=Rd(),a=v0(),r=Oh(),n=Pw(),i=Lw(),s=i.axisNames,c=f(function(d){return u.isTypedArray(d)&&(d=Array.from(d)),d.slice().reverse().map(function(y){return-y}).concat([0]).concat(d)},String);function p(d,y,o,b){var M=o("bgcolor");b.bgColor=v.combine(M,b.paper_bgcolor);var A=l(b.fullData,i.name,b.id),E=b.layoutOut,g;function T(N,q){return o(g+"."+N,q)}for(var m=0;m")}}O.exports={hoverPoints:v,makeHoverPointText:w}}}),O9=xe({"src/traces/scattersmith/index.js"(U,O){"use strict";O.exports={moduleType:"trace",name:"scattersmith",basePlotModule:D9(),categories:["smith","symbols","showLegend","scatter-like"],attributes:Iw(),supplyDefaults:R9(),colorbar:pf(),formatLabels:F9(),calc:z9(),plot:B9(),style:Yf().style,styleOnSelect:Yf().styleOnSelect,hoverPoints:N9().hoverPoints,selectPoints:wv(),meta:{}}}}),U9=xe({"lib/scattersmith.js"(U,O){"use strict";O.exports=O9()}}),Dw=xe({"src/traces/quiver/attributes.js"(U,O){"use strict";var u=Rs(),v=js().hovertemplateAttrs,w=Kl().axisHoverFormat,S=oo().extendFlat,l=pl(),e=Rc().dash,t=Od(),a=wu(),r={x:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},x0:a.x0,dx:a.dx,y:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},y0:a.y0,dy:a.dy,u:{valType:"data_array",editType:"calc",anim:!0},v:{valType:"data_array",editType:"calc",anim:!0},anglemode:{valType:"enumerated",values:["paper","data"],dflt:"axis",editType:"calc"},sizemode:{valType:"enumerated",values:["scaled","raw"],editType:"calc",dflt:"scaled"},sizeref:{valType:"number",min:0,editType:"calc",dflt:1},anchor:{valType:"enumerated",values:["tip","tail","center"],dflt:"tail",editType:"calc"},xhoverformat:w("x"),yhoverformat:w("y"),uhoverformat:w("u","noDate"),vhoverformat:w("v","noDate"),hoverinfo:S({},u.hoverinfo,{flags:["x","y","u","v","text","name"],dflt:"all"}),hovertemplate:v({},{keys:["x","y","u","v","text","name"]}),text:a.text,textposition:a.textposition,textfont:a.textfont,marker:S({arrowsize:S({},t.arrowsize,{editType:"calc"}),line:{width:{valType:"number",min:0,dflt:2,editType:"style"},dash:e,editType:"style"},editType:"calc"},l("marker",{showScaleDflt:!0,editTypeOverride:"calc"})),selected:{marker:{color:{valType:"color",editType:"style"},line:{width:{valType:"number",min:0,editType:"style"},editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},unselected:{marker:{color:{valType:"color",editType:"style"},line:{width:{valType:"number",min:0,editType:"style"},editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"}};O.exports=r}}),j9=xe({"src/traces/quiver/defaults.js"(U,O){"use strict";var u=Sr(),v=Dw(),w=_v(),S=vf().hasColorscale,l=Fc();O.exports=function(t,a,r,n){function i(M,A){return u.coerce(t,a,v,M,A)}var s=w(t,a,n,i);if(!s){a.visible=!1;return}var c=i("u"),p=i("v");if(!u.isArrayOrTypedArray(c)||c.length===0){a.u=new Array(s);for(var f=0;fC&&(C=s[q]),c[q]I&&(I=c[q]),aeR&&(R=ae),jB&&(B=j);var G=Math.sqrt(ae*ae+j*j);if(G>y&&(y=G),Gb&&(b=K))}}else Y.x=S,Y.y=S}if(r._maxNorm=y,m==="scaled"||T==="paper"){let ge=(C-D)*(I-F)/p;ge===0?r._scaleFactor=1/r._maxNorm:r._scaleFactor=Math.sqrt(ge)/r._maxNorm}else r._scaleFactor=1;r._scaleFactor*=r.sizeref;let H=new Array(p),Z=new Array(p),X=new Array(p),$=new Array(p);for(var Q,re,q=0;qp.i&&isFinite(f[p.i]))d=f[p.i];else{var y=i.u&&i.u[p.i]||0,o=i.v&&i.v[p.i]||0;d=Math.sqrt(y*y+o*o)}return c(d)})}function t(n){var i=u.select(n).selectAll("g.trace.quiver");i.each(function(s){r(n,s,u.select(this))})}function a(n,i,s){r(n,i,s)}function r(n,i,s){var c=i[0].trace,p=c.marker||{},f=p.line||{},d=v.isArrayOrTypedArray(p.color)?void 0:p.color,y=c._hasColorscale;if(s)if(c.selectedpoints){var o=(c.selected||{}).marker||{},b=(c.unselected||{}).marker||{},M=o.line||{},A=b.line||{};s.selectAll("path.js-line").each(function(g){var T=u.select(this),m=!g.selected,h=m?b.color:o.color,x=m?A.width!==void 0?A.width:f.width:M.width!==void 0?M.width:f.width;h?(w.lineGroupStyle(T,x,h,f.dash),T.style("stroke-opacity",1)):(w.lineGroupStyle(T,x,d,f.dash),y&&e(T,c),T.style("stroke-opacity",m?l:1))}),w.selectedTextStyle(s.selectAll("text"),c)}else{var E=s.selectAll("path.js-line");E.call(w.lineGroupStyle,f.width,d,f.dash),y&&e(E,c),E.style("stroke-opacity",1),w.textPointStyle(s.selectAll("text"),c,n)}}O.exports={style:t,styleOnSelect:a,colorscaleStroke:e}}}),H9=xe({"src/traces/quiver/plot.js"(U,O){"use strict";var u=Na(),v=Sr(),w=go(),S=fy().colorscaleStroke,l=Math.PI/12,e=5.8,t=1.5,a=.7;O.exports=function(i,s,c,p,f,d){var y,o,b=!f,M=!!f&&f.duration>0;if(y=p.selectAll("g.trace").data(c,function(E){return E[0].trace.uid}),y.enter().append("g").attr("class",function(E){return"trace quiver trace"+E[0].trace.uid}).style("stroke-miterlimit",2),y.order(),M){d&&(o=d());var A=u.transition().duration(f.duration).ease(f.easing).each("end",function(){o&&o()}).each("interrupt",function(){o&&o()});A.each(function(){p.selectAll("g.trace").each(function(E,g){r(i,g,s,E,c,this,f)})})}else y.each(function(E,g){r(i,g,s,E,c,this,f)});b&&y.exit().remove()};function r(n,i,s,c,p,f,d){var y=c[0].trace,o=s.xaxis,b=s.yaxis;c[0][s.isRangePlot?"nodeRangePlot3":"node3"]=u.select(f);var M=u.select(f).selectAll("g.lines").data([c]);M.enter().append("g").classed("lines",!0),w.setClipUrl(M,s.layerClipId,n);var A=M.selectAll("path.js-line").data(c);A.enter().append("path").classed("js-line",!0).style("vector-effect","non-scaling-stroke"),A.exit().remove();let E=y._maxNorm||0,g=y.anglemode,T=y.sizemode,m=y.sizeref,h=y.anchor,x=g==="paper"?y._scaleFactor*Math.sqrt(Math.abs(o._m*b._m)):y._scaleFactor,_=y.marker.arrowsize;A.each(function(k){let B=u.select(this);if(k.x===void 0||k.y===void 0){B.attr("d",null);return}let N=(g==="paper"?k._u*Math.sign(o._m):u.round(o._m*k._u))*x,q=(g==="paper"?k._v*Math.sign(b._m):u.round(b._m*k._v))*x,Y=(y._input.marker||{}).arrowsize!==void 0;var ee,te,ae,j;h==="tip"?(ee=o.c2p(k.x)-N,ae=b.c2p(k.y)-q,te=o.c2p(k.x),j=b.c2p(k.y)):h==="center"?(ee=o.c2p(k.x)-N/2,ae=b.c2p(k.y)-q/2,te=o.c2p(k.x)+N/2,j=b.c2p(k.y)+q/2):(ee=o.c2p(k.x),ae=b.c2p(k.y),te=o.c2p(k.x)+N,j=b.c2p(k.y)+q),k._px0=ee,k._py0=ae,k._px1=te,k._py1=j;var G=y.marker.line.width;Y||(G=Math.max(G,t));let K=Math.sqrt((te-ee)*(te-ee)+(j-ae)*(j-ae)),H=a*K,Z=Math.min(e*_*G,H),X=Math.atan2(j-ae,te-ee),$=te-Z*Math.cos(X-l),Q=j-Z*Math.sin(X-l),re=te-Z*Math.cos(X+l),ue=j-Z*Math.sin(X+l),pe="M"+ee+","+ae+"L"+te+","+j+"L"+$+","+Q+"L"+te+","+j+"L"+re+","+ue;B.attr("d",pe)});var D=y.marker||{},C=D.line||{},F=v.isArrayOrTypedArray(D.color)?void 0:D.color;w.lineGroupStyle(A,C.width,F,C.dash),y._hasColorscale&&S(A,y);var I=u.select(f).selectAll("g.text").data([c]);I.enter().append("g").classed("text",!0),w.setClipUrl(I,s.layerClipId,n);var z=I.selectAll("g.textpoint").data(c);if(z.enter().append("g").classed("textpoint",!0).append("text"),z.exit().remove(),z.each(function(k){var B=u.select(this),N=w.translatePoint(k,B.select("text"),o,b);N||B.remove()}),z.selectAll("text").call(w.textPointStyle,y,n).each(function(k){var B=o.c2p(k.x),N=b.c2p(k.y);u.select(this).selectAll("tspan.line").each(function(){u.select(this).attr({x:B,y:N})})}),d&&d.duration>0){var R=u.transition().duration(d.duration).ease(d.easing);A.transition(R).style("opacity",1)}}}}),G9=xe({"src/traces/quiver/hover.js"(U,O){"use strict";var u=Sr(),v=hu(),w=hp();function S(l,e,t,a,r,n){let i=r-t,s=n-a,c=i*i+s*s;if(!c)return Math.sqrt((l-t)*(l-t)+(e-a)*(e-a));var p=((l-t)*i+(e-a)*s)/c;p=Math.max(0,Math.min(1,p));let f=t+p*i,d=a+p*s;return Math.sqrt((l-f)*(l-f)+(e-d)*(e-d))}O.exports=function(e,t,a,r){var n=e.cd,i=n[0].trace,s=e.xa,c=e.ya,p=s.c2p(t),f=c.c2p(a),d=function(T){return T._px0===void 0?1/0:S(p,f,T._px0,T._py0,T._px1,T._py1)};if(v.getClosest(n,d,e),e.index!==!1){var y=n[e.index],o=s.c2p(y.x,!0),b=c.c2p(y.y,!0),M=Math.sqrt((p-o)*(p-o)+(f-b)*(f-b));e.index=y.i;var A=i.u?i.u[y.i]:0,E=i.v?i.v[y.i]:0,g="u: "+A+", v: "+E;return u.extendFlat(e,{color:w(i,y),x0:o-3,x1:o+3,xLabelVal:y.x,y0:b-3,y1:b+3,yLabelVal:y.y,uLabelVal:A,vLabelVal:E,extraText:g,spikeDistance:M,hovertemplate:i.hovertemplate}),u.fillText(y,i,e),[e]}}}}),W9=xe({"src/traces/quiver/format_labels.js"(U,O){"use strict";var u=uo(),v=Sr();O.exports=function(S,l,e){var t={},a={_fullLayout:e},r=u.getFromTrace(a,l,"x"),n=u.getFromTrace(a,l,"y"),i=S.x,s=S.y;t.xLabel=u.tickText(r,r.c2l(i),!0).text,t.yLabel=u.tickText(n,n.c2l(s),!0).text;var c=l.u?l.u[S.i]:0,p=l.v?l.v[S.i]:0,f=l.uhoverformat,d=l.vhoverformat;return t.uLabel=f?v.numberFormat(f)(c):String(c),t.vLabel=d?v.numberFormat(d)(p):String(p),t}}}),Y9=xe({"src/traces/quiver/event_data.js"(U,O){"use strict";O.exports=function(v,w,S,l,e){return v.x=w.x,v.y=w.y,v.u=S.u?S.u[e]:void 0,v.v=S.v?S.v[e]:void 0,v}}}),X9=xe({"src/traces/quiver/index.js"(U,O){"use strict";O.exports={moduleType:"trace",name:"quiver",basePlotModule:Nu(),categories:["cartesian","svg","showLegend","scatter-like","zoomScale"],attributes:Dw(),supplyDefaults:j9(),calc:q9(),crossTraceCalc:V9(),plot:H9(),style:fy().style,styleOnSelect:fy().styleOnSelect,hoverPoints:G9(),formatLabels:W9(),eventData:Y9(),selectPoints:wv(),colorbar:pf(),animatable:!0,meta:{}}}}),$9=xe({"lib/quiver.js"(U,O){"use strict";O.exports=X9()}}),Tf=xe({"node_modules/world-calendars/dist/main.js"(U,O){var u=cc();function v(){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={}}u(v.prototype,{instance:function(a,r){a=(a||"gregorian").toLowerCase(),r=r||"";var n=this._localCals[a+"-"+r];if(!n&&this.calendars[a]&&(n=new this.calendars[a](r),this._localCals[a+"-"+r]=n),!n)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,a);return n},newDate:function(a,r,n,i,s){return i=(a!=null&&a.year?a.calendar():typeof i=="string"?this.instance(i,s):i)||this.instance(),i.newDate(a,r,n)},substituteDigits:function(a){return function(r){return(r+"").replace(/[0-9]/g,function(n){return a[n]})}},substituteChineseDigits:function(a,r){return function(n){for(var i="",s=0;n>0;){var c=n%10;i=(c===0?"":a[c]+r[s])+i,s++,n=Math.floor(n/10)}return i.indexOf(a[1]+r[1])===0&&(i=i.substr(1)),i||a[0]}}});function w(a,r,n,i){if(this._calendar=a,this._year=r,this._month=n,this._day=i,this._calendar._validateLevel===0&&!this._calendar.isValid(this._year,this._month,this._day))throw(t.local.invalidDate||t.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function S(a,r){return a=""+a,"000000".substring(0,r-a.length)+a}u(w.prototype,{newDate:function(a,r,n){return this._calendar.newDate(a??this,r,n)},year:function(a){return arguments.length===0?this._year:this.set(a,"y")},month:function(a){return arguments.length===0?this._month:this.set(a,"m")},day:function(a){return arguments.length===0?this._day:this.set(a,"d")},date:function(a,r,n){if(!this._calendar.isValid(a,r,n))throw(t.local.invalidDate||t.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=a,this._month=r,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(a,r){return this._calendar.add(this,a,r)},set:function(a,r){return this._calendar.set(this,a,r)},compareTo:function(a){if(this._calendar.name!==a._calendar.name)throw(t.local.differentCalendars||t.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,a._calendar.local.name);var r=this._year!==a._year?this._year-a._year:this._month!==a._month?this.monthOfYear()-a.monthOfYear():this._day-a._day;return r===0?0:r<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(a){return this._calendar.fromJD(a)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(a){return this._calendar.fromJSDate(a)},toString:function(){return(this.year()<0?"-":"")+S(Math.abs(this.year()),4)+"-"+S(this.month(),2)+"-"+S(this.day(),2)}});function l(){this.shortYearCutoff="+10"}u(l.prototype,{_validateLevel:0,newDate:function(a,r,n){return a==null?this.today():(a.year&&(this._validate(a,r,n,t.local.invalidDate||t.regionalOptions[""].invalidDate),n=a.day(),r=a.month(),a=a.year()),new w(this,a,r,n))},today:function(){return this.fromJSDate(new Date)},epoch:function(a){var r=this._validate(a,this.minMonth,this.minDay,t.local.invalidYear||t.regionalOptions[""].invalidYear);return r.year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(a){var r=this._validate(a,this.minMonth,this.minDay,t.local.invalidYear||t.regionalOptions[""].invalidYear);return(r.year()<0?"-":"")+S(Math.abs(r.year()),4)},monthsInYear:function(a){return this._validate(a,this.minMonth,this.minDay,t.local.invalidYear||t.regionalOptions[""].invalidYear),12},monthOfYear:function(a,r){var n=this._validate(a,r,this.minDay,t.local.invalidMonth||t.regionalOptions[""].invalidMonth);return(n.month()+this.monthsInYear(n)-this.firstMonth)%this.monthsInYear(n)+this.minMonth},fromMonthOfYear:function(a,r){var n=(r+this.firstMonth-2*this.minMonth)%this.monthsInYear(a)+this.minMonth;return this._validate(a,n,this.minDay,t.local.invalidMonth||t.regionalOptions[""].invalidMonth),n},daysInYear:function(a){var r=this._validate(a,this.minMonth,this.minDay,t.local.invalidYear||t.regionalOptions[""].invalidYear);return this.leapYear(r)?366:365},dayOfYear:function(a,r,n){var i=this._validate(a,r,n,t.local.invalidDate||t.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(a,r,n){var i=this._validate(a,r,n,t.local.invalidDate||t.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(i))+2)%this.daysInWeek()},extraInfo:function(a,r,n){return this._validate(a,r,n,t.local.invalidDate||t.regionalOptions[""].invalidDate),{}},add:function(a,r,n){return this._validate(a,this.minMonth,this.minDay,t.local.invalidDate||t.regionalOptions[""].invalidDate),this._correctAdd(a,this._add(a,r,n),r,n)},_add:function(a,r,n){if(this._validateLevel++,n==="d"||n==="w"){var i=a.toJD()+r*(n==="w"?this.daysInWeek():1),s=a.calendar().fromJD(i);return this._validateLevel--,[s.year(),s.month(),s.day()]}try{var c=a.year()+(n==="y"?r:0),p=a.monthOfYear()+(n==="m"?r:0),s=a.day(),f=function(o){for(;pb-1+o.minMonth;)c++,p-=b,b=o.monthsInYear(c)};n==="y"?(a.month()!==this.fromMonthOfYear(c,p)&&(p=this.newDate(c,a.month(),this.minDay).monthOfYear()),p=Math.min(p,this.monthsInYear(c)),s=Math.min(s,this.daysInMonth(c,this.fromMonthOfYear(c,p)))):n==="m"&&(f(this),s=Math.min(s,this.daysInMonth(c,this.fromMonthOfYear(c,p))));var d=[c,this.fromMonthOfYear(c,p),s];return this._validateLevel--,d}catch(y){throw this._validateLevel--,y}},_correctAdd:function(a,r,n,i){if(!this.hasYearZero&&(i==="y"||i==="m")&&(r[0]===0||a.year()>0!=r[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],c=n<0?-1:1;r=this._add(a,n*s[0]+c*s[1],s[2])}return a.date(r[0],r[1],r[2])},set:function(a,r,n){this._validate(a,this.minMonth,this.minDay,t.local.invalidDate||t.regionalOptions[""].invalidDate);var i=n==="y"?r:a.year(),s=n==="m"?r:a.month(),c=n==="d"?r:a.day();return(n==="y"||n==="m")&&(c=Math.min(c,this.daysInMonth(i,s))),a.date(i,s,c)},isValid:function(a,r,n){this._validateLevel++;var i=this.hasYearZero||a!==0;if(i){var s=this.newDate(a,r,this.minDay);i=r>=this.minMonth&&r-this.minMonth=this.minDay&&n-this.minDay13.5?13:1),y=s-(d>2.5?4716:4715);return y<=0&&y--,this.newDate(y,d,f)},toJSDate:function(a,r,n){var i=this._validate(a,r,n,t.local.invalidDate||t.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(a){return this.newDate(a.getFullYear(),a.getMonth()+1,a.getDate())}});var t=O.exports=new v;t.cdate=w,t.baseCalendar=l,t.calendars.gregorian=e}}),Z9=xe({"node_modules/world-calendars/dist/plus.js"(){var U=cc(),O=Tf();U(O.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"}),O.local=O.regionalOptions[""],U(O.cdate.prototype,{formatDate:function(u,v){return typeof u!="string"&&(v=u,u=""),this._calendar.formatDate(u||"",this,v)}}),U(O.baseCalendar.prototype,{UNIX_EPOCH:O.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:24*60*60,TICKS_EPOCH:O.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(u,v,w){if(typeof u!="string"&&(w=v,v=u,u=""),!v)return"";if(v.calendar()!==this)throw O.local.invalidFormat||O.regionalOptions[""].invalidFormat;u=u||this.local.dateFormat,w=w||{};for(var S=w.dayNamesShort||this.local.dayNamesShort,l=w.dayNames||this.local.dayNames,e=w.monthNumbers||this.local.monthNumbers,t=w.monthNamesShort||this.local.monthNamesShort,a=w.monthNames||this.local.monthNames,r=w.calculateWeek||this.local.calculateWeek,n=function(A,E){for(var g=1;M+g1},i=function(A,E,g,T){var m=""+E;if(n(A,T))for(;m.length1},b=function(D,C){var F=o(D,C),I=[2,3,F?4:2,F?4:2,10,11,20]["oyYJ@!".indexOf(D)+1],z=new RegExp("^-?\\d{1,"+I+"}"),R=v.substring(m).match(z);if(!R)throw(O.local.missingNumberAt||O.regionalOptions[""].missingNumberAt).replace(/\{0\}/,m);return m+=R[0].length,parseInt(R[0],10)},M=this,A=function(){if(typeof a=="function"){o("m");var D=a.call(M,v.substring(m));return m+=D.length,D}return b("m")},E=function(D,C,F,I){for(var z=o(D,I)?F:C,R=0;R-1){c=1,p=f;for(var _=this.daysInMonth(s,c);p>_;_=this.daysInMonth(s,c))c++,p-=_}return i>-1?this.fromJD(i):this.newDate(s,c,p)},determineDate:function(u,v,w,S,l){w&&typeof w!="object"&&(l=S,S=w,w=null),typeof S!="string"&&(l=S,S="");var e=this,t=function(a){try{return e.parseDate(S,a,l)}catch{}a=a.toLowerCase();for(var r=(a.match(/^c/)&&w?w.newDate():null)||e.today(),n=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,i=n.exec(a);i;)r.add(parseInt(i[1],10),i[2]||"d"),i=n.exec(a);return r};return v=v?v.newDate():null,u=u==null?v:typeof u=="string"?t(u):typeof u=="number"?isNaN(u)||u===1/0||u===-1/0?v:e.today().add(u,"d"):e.newDate(u),u}})}}),K9=xe({"node_modules/world-calendars/dist/calendars/chinese.js"(){var U=Tf(),O=cc(),u=U.instance();function v(i){this.local=this.regionalOptions[i||""]||this.regionalOptions[""]}v.prototype=new U.baseCalendar,O(v.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 c=i.match(S);return c?c[0]:""}var p=this._validateYear(i),f=i.month(),d=""+this.toChineseMonth(p,f);return s&&d.length<2&&(d="0"+d),this.isIntercalaryMonth(p,f)&&(d+="i"),d},monthNames:function(i){if(typeof i=="string"){var s=i.match(l);return s?s[0]:""}var c=this._validateYear(i),p=i.month(),f=this.toChineseMonth(c,p),d=["\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"][f-1];return this.isIntercalaryMonth(c,p)&&(d="\u95F0"+d),d},monthNamesShort:function(i){if(typeof i=="string"){var s=i.match(e);return s?s[0]:""}var c=this._validateYear(i),p=i.month(),f=this.toChineseMonth(c,p),d=["\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D","\u4E03","\u516B","\u4E5D","\u5341","\u5341\u4E00","\u5341\u4E8C"][f-1];return this.isIntercalaryMonth(c,p)&&(d="\u95F0"+d),d},parseMonth:function(i,s){i=this._validateYear(i);var c=parseInt(s),p;if(isNaN(c))s[0]==="\u95F0"&&(p=!0,s=s.substring(1)),s[s.length-1]==="\u6708"&&(s=s.substring(0,s.length-1)),c=1+["\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D","\u4E03","\u516B","\u4E5D","\u5341","\u5341\u4E00","\u5341\u4E8C"].indexOf(s);else{var f=s[s.length-1];p=f==="i"||f==="I"}var d=this.toMonthIndex(i,c,p);return d},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,c){var p=this.intercalaryMonth(i),f=c&&s!==p;if(f||s<1||s>12)throw U.local.invalidMonth.replace(/\{0\}/,this.local.name);var d;return p?!c&&s<=p?d=s-1:d=s:d=s-1,d},toChineseMonth:function(i,s){i.year&&(i=i.year(),s=i.month());var c=this.intercalaryMonth(i),p=c?12:11;if(s<0||s>p)throw U.local.invalidMonth.replace(/\{0\}/,this.local.name);var f;return c?s>13;return c},isIntercalaryMonth:function(i,s){i.year&&(i=i.year(),s=i.month());var c=this.intercalaryMonth(i);return!!c&&c===s},leapYear:function(i){return this.intercalaryMonth(i)!==0},weekOfYear:function(i,s,c){var p=this._validateYear(i,U.local.invalidyear),f=a[p-a[0]],d=f>>9&4095,y=f>>5&15,o=f&31,b;b=u.newDate(d,y,o),b.add(4-(b.dayOfWeek()||7),"d");var M=this.toJD(i,s,c)-b.toJD();return 1+Math.floor(M/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 c=t[i-t[0]],p=c>>13,f=p?12:11;if(s>f)throw U.local.invalidMonth.replace(/\{0\}/,this.local.name);var d=c&1<<12-s?30:29;return d},weekDay:function(i,s,c){return(this.dayOfWeek(i,s,c)||7)<6},toJD:function(i,s,c){var p=this._validate(i,d,c,U.local.invalidDate);i=this._validateYear(p.year()),s=p.month(),c=p.day();var f=this.isIntercalaryMonth(i,s),d=this.toChineseMonth(i,s),y=n(i,d,c,f);return u.toJD(y.year,y.month,y.day)},fromJD:function(i){var s=u.fromJD(i),c=r(s.year(),s.month(),s.day()),p=this.toMonthIndex(c.year,c.month,c.isIntercalary);return this.newDate(c.year,p,c.day)},fromString:function(i){var s=i.match(w),c=this._validateYear(+s[1]),p=+s[2],f=!!s[3],d=this.toMonthIndex(c,p,f),y=+s[4];return this.newDate(c,d,y)},add:function(i,s,c){var p=i.year(),f=i.month(),d=this.isIntercalaryMonth(p,f),y=this.toChineseMonth(p,f),o=Object.getPrototypeOf(v.prototype).add.call(this,i,s,c);if(c==="y"){var b=o.year(),M=o.month(),A=this.isIntercalaryMonth(b,y),E=d&&A?this.toMonthIndex(b,y,!0):this.toMonthIndex(b,y,!1);E!==M&&o.month(E)}return o}});var w=/^\s*(-?\d\d\d\d|\d\d)[-/](\d?\d)([iI]?)[-/](\d?\d)/m,S=/^\d?\d[iI]?/m,l=/^闰?十?[一二三四五六七八九]?月/m,e=/^闰?十?[一二三四五六七八九]?/m;U.calendars.chinese=v;var t=[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],a=[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 r(i,s,c,p){var f,d;if(typeof i=="object")f=i,d=s||{};else{var y=typeof i=="number"&&i>=1888&&i<=2111;if(!y)throw new Error("Solar year outside range 1888-2111");var o=typeof s=="number"&&s>=1&&s<=12;if(!o)throw new Error("Solar month outside range 1 - 12");var b=typeof c=="number"&&c>=1&&c<=31;if(!b)throw new Error("Solar day outside range 1 - 31");f={year:i,month:s,day:c},d=p||{}}var M=a[f.year-a[0]],A=f.year<<9|f.month<<5|f.day;d.year=A>=M?f.year:f.year-1,M=a[d.year-a[0]];var E=M>>9&4095,g=M>>5&15,T=M&31,m,h=new Date(E,g-1,T),x=new Date(f.year,f.month-1,f.day);m=Math.round((x-h)/(24*3600*1e3));var _=t[d.year-t[0]],D;for(D=0;D<13;D++){var C=_&1<<12-D?30:29;if(m>13;return!F||D=1888&&i<=2111;if(!o)throw new Error("Lunar year outside range 1888-2111");var b=typeof s=="number"&&s>=1&&s<=12;if(!b)throw new Error("Lunar month outside range 1 - 12");var M=typeof c=="number"&&c>=1&&c<=30;if(!M)throw new Error("Lunar day outside range 1 - 30");var A;typeof p=="object"?(A=!1,d=p):(A=!!p,d=f||{}),y={year:i,month:s,day:c,isIntercalary:A}}var E;E=y.day-1;var g=t[y.year-t[0]],T=g>>13,m;T&&(y.month>T||y.isIntercalary)?m=y.month:m=y.month-1;for(var h=0;h>9&4095,C=_>>5&15,F=_&31,I=new Date(D,C-1,F+E);return d.year=I.getFullYear(),d.month=1+I.getMonth(),d.day=I.getDate(),d}}}),J9=xe({"node_modules/world-calendars/dist/calendars/coptic.js"(){var U=Tf(),O=cc();function u(v){this.local=this.regionalOptions[v||""]||this.regionalOptions[""]}u.prototype=new U.baseCalendar,O(u.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(S){var w=this._validate(S,this.minMonth,this.minDay,U.local.invalidYear),S=w.year()+(w.year()<0?1:0);return S%4===3||S%4===-1},monthsInYear:function(v){return this._validate(v,this.minMonth,this.minDay,U.local.invalidYear||U.regionalOptions[""].invalidYear),13},weekOfYear:function(v,w,S){var l=this.newDate(v,w,S);return l.add(-l.dayOfWeek(),"d"),Math.floor((l.dayOfYear()-1)/7)+1},daysInMonth:function(v,w){var S=this._validate(v,w,this.minDay,U.local.invalidMonth);return this.daysPerMonth[S.month()-1]+(S.month()===13&&this.leapYear(S.year())?1:0)},weekDay:function(v,w,S){return(this.dayOfWeek(v,w,S)||7)<6},toJD:function(v,w,S){var l=this._validate(v,w,S,U.local.invalidDate);return v=l.year(),v<0&&v++,l.day()+(l.month()-1)*30+(v-1)*365+Math.floor(v/4)+this.jdEpoch-1},fromJD:function(v){var w=Math.floor(v)+.5-this.jdEpoch,S=Math.floor((w-Math.floor((w+366)/1461))/365)+1;S<=0&&S--,w=Math.floor(v)+.5-this.newDate(S,1,1).toJD();var l=Math.floor(w/30)+1,e=w-(l-1)*30+1;return this.newDate(S,l,e)}}),U.calendars.coptic=u}}),Q9=xe({"node_modules/world-calendars/dist/calendars/discworld.js"(){var U=Tf(),O=cc();function u(w){this.local=this.regionalOptions[w||""]||this.regionalOptions[""]}u.prototype=new U.baseCalendar,O(u.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(w){return this._validate(w,this.minMonth,this.minDay,U.local.invalidYear),!1},monthsInYear:function(w){return this._validate(w,this.minMonth,this.minDay,U.local.invalidYear),13},daysInYear:function(w){return this._validate(w,this.minMonth,this.minDay,U.local.invalidYear),400},weekOfYear:function(w,S,l){var e=this.newDate(w,S,l);return e.add(-e.dayOfWeek(),"d"),Math.floor((e.dayOfYear()-1)/8)+1},daysInMonth:function(w,S){var l=this._validate(w,S,this.minDay,U.local.invalidMonth);return this.daysPerMonth[l.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(w,S,l){var e=this._validate(w,S,l,U.local.invalidDate);return(e.day()+1)%8},weekDay:function(w,S,l){var e=this.dayOfWeek(w,S,l);return e>=2&&e<=6},extraInfo:function(w,S,l){var e=this._validate(w,S,l,U.local.invalidDate);return{century:v[Math.floor((e.year()-1)/100)+1]||""}},toJD:function(w,S,l){var e=this._validate(w,S,l,U.local.invalidDate);return w=e.year()+(e.year()<0?1:0),S=e.month(),l=e.day(),l+(S>1?16:0)+(S>2?(S-2)*32:0)+(w-1)*400+this.jdEpoch-1},fromJD:function(w){w=Math.floor(w+.5)-Math.floor(this.jdEpoch)-1;var S=Math.floor(w/400)+1;w-=(S-1)*400,w+=w>15?16:0;var l=Math.floor(w/32)+1,e=w-(l-1)*32+1;return this.newDate(S<=0?S-1:S,l,e)}});var v={20:"Fruitbat",21:"Anchovy"};U.calendars.discworld=u}}),eP=xe({"node_modules/world-calendars/dist/calendars/ethiopian.js"(){var U=Tf(),O=cc();function u(v){this.local=this.regionalOptions[v||""]||this.regionalOptions[""]}u.prototype=new U.baseCalendar,O(u.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(S){var w=this._validate(S,this.minMonth,this.minDay,U.local.invalidYear),S=w.year()+(w.year()<0?1:0);return S%4===3||S%4===-1},monthsInYear:function(v){return this._validate(v,this.minMonth,this.minDay,U.local.invalidYear||U.regionalOptions[""].invalidYear),13},weekOfYear:function(v,w,S){var l=this.newDate(v,w,S);return l.add(-l.dayOfWeek(),"d"),Math.floor((l.dayOfYear()-1)/7)+1},daysInMonth:function(v,w){var S=this._validate(v,w,this.minDay,U.local.invalidMonth);return this.daysPerMonth[S.month()-1]+(S.month()===13&&this.leapYear(S.year())?1:0)},weekDay:function(v,w,S){return(this.dayOfWeek(v,w,S)||7)<6},toJD:function(v,w,S){var l=this._validate(v,w,S,U.local.invalidDate);return v=l.year(),v<0&&v++,l.day()+(l.month()-1)*30+(v-1)*365+Math.floor(v/4)+this.jdEpoch-1},fromJD:function(v){var w=Math.floor(v)+.5-this.jdEpoch,S=Math.floor((w-Math.floor((w+366)/1461))/365)+1;S<=0&&S--,w=Math.floor(v)+.5-this.newDate(S,1,1).toJD();var l=Math.floor(w/30)+1,e=w-(l-1)*30+1;return this.newDate(S,l,e)}}),U.calendars.ethiopian=u}}),tP=xe({"node_modules/world-calendars/dist/calendars/hebrew.js"(){var U=Tf(),O=cc();function u(w){this.local=this.regionalOptions[w||""]||this.regionalOptions[""]}u.prototype=new U.baseCalendar,O(u.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(w){var S=this._validate(w,this.minMonth,this.minDay,U.local.invalidYear);return this._leapYear(S.year())},_leapYear:function(w){return w=w<0?w+1:w,v(w*7+1,19)<7},monthsInYear:function(w){return this._validate(w,this.minMonth,this.minDay,U.local.invalidYear),this._leapYear(w.year?w.year():w)?13:12},weekOfYear:function(w,S,l){var e=this.newDate(w,S,l);return e.add(-e.dayOfWeek(),"d"),Math.floor((e.dayOfYear()-1)/7)+1},daysInYear:function(w){var S=this._validate(w,this.minMonth,this.minDay,U.local.invalidYear);return w=S.year(),this.toJD(w===-1?1:w+1,7,1)-this.toJD(w,7,1)},daysInMonth:function(w,S){return w.year&&(S=w.month(),w=w.year()),this._validate(w,S,this.minDay,U.local.invalidMonth),S===12&&this.leapYear(w)||S===8&&v(this.daysInYear(w),10)===5?30:S===9&&v(this.daysInYear(w),10)===3?29:this.daysPerMonth[S-1]},weekDay:function(w,S,l){return this.dayOfWeek(w,S,l)!==6},extraInfo:function(w,S,l){var e=this._validate(w,S,l,U.local.invalidDate);return{yearType:(this.leapYear(e)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(e)%10-3]}},toJD:function(w,S,l){var e=this._validate(w,S,l,U.local.invalidDate);w=e.year(),S=e.month(),l=e.day();var t=w<=0?w+1:w,a=this.jdEpoch+this._delay1(t)+this._delay2(t)+l+1;if(S<7){for(var r=7;r<=this.monthsInYear(w);r++)a+=this.daysInMonth(w,r);for(var r=1;r=this.toJD(S===-1?1:S+1,7,1);)S++;for(var l=wthis.toJD(S,l,this.daysInMonth(S,l));)l++;var e=w-this.toJD(S,l,1)+1;return this.newDate(S,l,e)}});function v(w,S){return w-S*Math.floor(w/S)}U.calendars.hebrew=u}}),rP=xe({"node_modules/world-calendars/dist/calendars/islamic.js"(){var U=Tf(),O=cc();function u(v){this.local=this.regionalOptions[v||""]||this.regionalOptions[""]}u.prototype=new U.baseCalendar,O(u.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(v){var w=this._validate(v,this.minMonth,this.minDay,U.local.invalidYear);return(w.year()*11+14)%30<11},weekOfYear:function(v,w,S){var l=this.newDate(v,w,S);return l.add(-l.dayOfWeek(),"d"),Math.floor((l.dayOfYear()-1)/7)+1},daysInYear:function(v){return this.leapYear(v)?355:354},daysInMonth:function(v,w){var S=this._validate(v,w,this.minDay,U.local.invalidMonth);return this.daysPerMonth[S.month()-1]+(S.month()===12&&this.leapYear(S.year())?1:0)},weekDay:function(v,w,S){return this.dayOfWeek(v,w,S)!==5},toJD:function(v,w,S){var l=this._validate(v,w,S,U.local.invalidDate);return v=l.year(),w=l.month(),S=l.day(),v=v<=0?v+1:v,S+Math.ceil(29.5*(w-1))+(v-1)*354+Math.floor((3+11*v)/30)+this.jdEpoch-1},fromJD:function(v){v=Math.floor(v)+.5;var w=Math.floor((30*(v-this.jdEpoch)+10646)/10631);w=w<=0?w-1:w;var S=Math.min(12,Math.ceil((v-29-this.toJD(w,1,1))/29.5)+1),l=v-this.toJD(w,S,1)+1;return this.newDate(w,S,l)}}),U.calendars.islamic=u}}),aP=xe({"node_modules/world-calendars/dist/calendars/julian.js"(){var U=Tf(),O=cc();function u(v){this.local=this.regionalOptions[v||""]||this.regionalOptions[""]}u.prototype=new U.baseCalendar,O(u.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(S){var w=this._validate(S,this.minMonth,this.minDay,U.local.invalidYear),S=w.year()<0?w.year()+1:w.year();return S%4===0},weekOfYear:function(v,w,S){var l=this.newDate(v,w,S);return l.add(4-(l.dayOfWeek()||7),"d"),Math.floor((l.dayOfYear()-1)/7)+1},daysInMonth:function(v,w){var S=this._validate(v,w,this.minDay,U.local.invalidMonth);return this.daysPerMonth[S.month()-1]+(S.month()===2&&this.leapYear(S.year())?1:0)},weekDay:function(v,w,S){return(this.dayOfWeek(v,w,S)||7)<6},toJD:function(v,w,S){var l=this._validate(v,w,S,U.local.invalidDate);return v=l.year(),w=l.month(),S=l.day(),v<0&&v++,w<=2&&(v--,w+=12),Math.floor(365.25*(v+4716))+Math.floor(30.6001*(w+1))+S-1524.5},fromJD:function(v){var w=Math.floor(v+.5),S=w+1524,l=Math.floor((S-122.1)/365.25),e=Math.floor(365.25*l),t=Math.floor((S-e)/30.6001),a=t-Math.floor(t<14?1:13),r=l-Math.floor(a>2?4716:4715),n=S-e-Math.floor(30.6001*t);return r<=0&&r--,this.newDate(r,a,n)}}),U.calendars.julian=u}}),nP=xe({"node_modules/world-calendars/dist/calendars/mayan.js"(){var U=Tf(),O=cc();function u(S){this.local=this.regionalOptions[S||""]||this.regionalOptions[""]}u.prototype=new U.baseCalendar,O(u.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(S){return this._validate(S,this.minMonth,this.minDay,U.local.invalidYear),!1},formatYear:function(S){var l=this._validate(S,this.minMonth,this.minDay,U.local.invalidYear);S=l.year();var e=Math.floor(S/400);S=S%400,S+=S<0?400:0;var t=Math.floor(S/20);return e+"."+t+"."+S%20},forYear:function(S){if(S=S.split("."),S.length<3)throw"Invalid Mayan year";for(var l=0,e=0;e19||e>0&&t<0)throw"Invalid Mayan year";l=l*20+t}return l},monthsInYear:function(S){return this._validate(S,this.minMonth,this.minDay,U.local.invalidYear),18},weekOfYear:function(S,l,e){return this._validate(S,l,e,U.local.invalidDate),0},daysInYear:function(S){return this._validate(S,this.minMonth,this.minDay,U.local.invalidYear),360},daysInMonth:function(S,l){return this._validate(S,l,this.minDay,U.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(S,l,e){var t=this._validate(S,l,e,U.local.invalidDate);return t.day()},weekDay:function(S,l,e){return this._validate(S,l,e,U.local.invalidDate),!0},extraInfo:function(S,l,e){var t=this._validate(S,l,e,U.local.invalidDate),a=t.toJD(),r=this._toHaab(a),n=this._toTzolkin(a);return{haabMonthName:this.local.haabMonths[r[0]-1],haabMonth:r[0],haabDay:r[1],tzolkinDayName:this.local.tzolkinMonths[n[0]-1],tzolkinDay:n[0],tzolkinTrecena:n[1]}},_toHaab:function(S){S-=this.jdEpoch;var l=v(S+8+17*20,365);return[Math.floor(l/20)+1,v(l,20)]},_toTzolkin:function(S){return S-=this.jdEpoch,[w(S+20,20),w(S+4,13)]},toJD:function(S,l,e){var t=this._validate(S,l,e,U.local.invalidDate);return t.day()+t.month()*20+t.year()*360+this.jdEpoch},fromJD:function(S){S=Math.floor(S)+.5-this.jdEpoch;var l=Math.floor(S/360);S=S%360,S+=S<0?360:0;var e=Math.floor(S/20),t=S%20;return this.newDate(l,e,t)}});function v(S,l){return S-l*Math.floor(S/l)}function w(S,l){return v(S-1,l)+1}U.calendars.mayan=u}}),iP=xe({"node_modules/world-calendars/dist/calendars/nanakshahi.js"(){var U=Tf(),O=cc();function u(w){this.local=this.regionalOptions[w||""]||this.regionalOptions[""]}u.prototype=new U.baseCalendar;var v=U.instance("gregorian");O(u.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(w){var S=this._validate(w,this.minMonth,this.minDay,U.local.invalidYear||U.regionalOptions[""].invalidYear);return v.leapYear(S.year()+(S.year()<1?1:0)+1469)},weekOfYear:function(w,S,l){var e=this.newDate(w,S,l);return e.add(1-(e.dayOfWeek()||7),"d"),Math.floor((e.dayOfYear()-1)/7)+1},daysInMonth:function(w,S){var l=this._validate(w,S,this.minDay,U.local.invalidMonth);return this.daysPerMonth[l.month()-1]+(l.month()===12&&this.leapYear(l.year())?1:0)},weekDay:function(w,S,l){return(this.dayOfWeek(w,S,l)||7)<6},toJD:function(t,S,l){var e=this._validate(t,S,l,U.local.invalidMonth),t=e.year();t<0&&t++;for(var a=e.day(),r=1;r=this.toJD(S+1,1,1);)S++;for(var l=w-Math.floor(this.toJD(S,1,1)+.5)+1,e=1;l>this.daysInMonth(S,e);)l-=this.daysInMonth(S,e),e++;return this.newDate(S,e,l)}}),U.calendars.nanakshahi=u}}),oP=xe({"node_modules/world-calendars/dist/calendars/nepali.js"(){var U=Tf(),O=cc();function u(v){this.local=this.regionalOptions[v||""]||this.regionalOptions[""]}u.prototype=new U.baseCalendar,O(u.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(v){return this.daysInYear(v)!==this.daysPerYear},weekOfYear:function(v,w,S){var l=this.newDate(v,w,S);return l.add(-l.dayOfWeek(),"d"),Math.floor((l.dayOfYear()-1)/7)+1},daysInYear:function(v){var w=this._validate(v,this.minMonth,this.minDay,U.local.invalidYear);if(v=w.year(),typeof this.NEPALI_CALENDAR_DATA[v]>"u")return this.daysPerYear;for(var S=0,l=this.minMonth;l<=12;l++)S+=this.NEPALI_CALENDAR_DATA[v][l];return S},daysInMonth:function(v,w){return v.year&&(w=v.month(),v=v.year()),this._validate(v,w,this.minDay,U.local.invalidMonth),typeof this.NEPALI_CALENDAR_DATA[v]>"u"?this.daysPerMonth[w-1]:this.NEPALI_CALENDAR_DATA[v][w]},weekDay:function(v,w,S){return this.dayOfWeek(v,w,S)!==6},toJD:function(v,w,S){var l=this._validate(v,w,S,U.local.invalidDate);v=l.year(),w=l.month(),S=l.day();var e=U.instance(),t=0,a=w,r=v;this._createMissingCalendarData(v);var n=v-(a>9||a===9&&S>=this.NEPALI_CALENDAR_DATA[r][0]?56:57);for(w!==9&&(t=S,a--);a!==9;)a<=0&&(a=12,r--),t+=this.NEPALI_CALENDAR_DATA[r][a],a--;return w===9?(t+=S-this.NEPALI_CALENDAR_DATA[r][0],t<0&&(t+=e.daysInYear(n))):t+=this.NEPALI_CALENDAR_DATA[r][9]-this.NEPALI_CALENDAR_DATA[r][0],e.newDate(n,1,1).add(t,"d").toJD()},fromJD:function(v){var w=U.instance(),S=w.fromJD(v),l=S.year(),e=S.dayOfYear(),t=l+56;this._createMissingCalendarData(t);for(var a=9,r=this.NEPALI_CALENDAR_DATA[t][0],n=this.NEPALI_CALENDAR_DATA[t][a]-r+1;e>n;)a++,a>12&&(a=1,t++),n+=this.NEPALI_CALENDAR_DATA[t][a];var i=this.NEPALI_CALENDAR_DATA[t][a]-(n-e);return this.newDate(t,a,i)},_createMissingCalendarData:function(v){var w=this.daysPerMonth.slice(0);w.unshift(17);for(var S=v-1;S"u"&&(this.NEPALI_CALENDAR_DATA[S]=w)},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]}}),U.calendars.nepali=u}}),sP=xe({"node_modules/world-calendars/dist/calendars/persian.js"(){var U=Tf(),O=cc();function u(w){this.local=this.regionalOptions[w||""]||this.regionalOptions[""]}function v(w){var S=w-475;w<0&&S++;var l=.242197,e=l*S,t=l*(S+1),a=e-Math.floor(e),r=t-Math.floor(t);return a>r}u.prototype=new U.baseCalendar,O(u.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(w){var S=this._validate(w,this.minMonth,this.minDay,U.local.invalidYear);return v(S.year())},weekOfYear:function(w,S,l){var e=this.newDate(w,S,l);return e.add(-((e.dayOfWeek()+1)%7),"d"),Math.floor((e.dayOfYear()-1)/7)+1},daysInMonth:function(w,S){var l=this._validate(w,S,this.minDay,U.local.invalidMonth);return this.daysPerMonth[l.month()-1]+(l.month()===12&&this.leapYear(l.year())?1:0)},weekDay:function(w,S,l){return this.dayOfWeek(w,S,l)!==5},toJD:function(w,S,l){var e=this._validate(w,S,l,U.local.invalidDate);w=e.year(),S=e.month(),l=e.day();var t=0;if(w>0)for(var a=1;a0?w-1:w)*365+t+this.jdEpoch-1},fromJD:function(w){w=Math.floor(w)+.5;var S=475+(w-this.toJD(475,1,1))/365.242197,l=Math.floor(S);l<=0&&l--,w>this.toJD(l,12,v(l)?30:29)&&(l++,l===0&&l++);var e=w-this.toJD(l,1,1)+1,t=e<=186?Math.ceil(e/31):Math.ceil((e-6)/30),a=w-this.toJD(l,t,1)+1;return this.newDate(l,t,a)}}),U.calendars.persian=u,U.calendars.jalali=u}}),lP=xe({"node_modules/world-calendars/dist/calendars/taiwan.js"(){var U=Tf(),O=cc(),u=U.instance();function v(w){this.local=this.regionalOptions[w||""]||this.regionalOptions[""]}v.prototype=new U.baseCalendar,O(v.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(l){var S=this._validate(l,this.minMonth,this.minDay,U.local.invalidYear),l=this._t2gYear(S.year());return u.leapYear(l)},weekOfYear:function(t,S,l){var e=this._validate(t,this.minMonth,this.minDay,U.local.invalidYear),t=this._t2gYear(e.year());return u.weekOfYear(t,e.month(),e.day())},daysInMonth:function(w,S){var l=this._validate(w,S,this.minDay,U.local.invalidMonth);return this.daysPerMonth[l.month()-1]+(l.month()===2&&this.leapYear(l.year())?1:0)},weekDay:function(w,S,l){return(this.dayOfWeek(w,S,l)||7)<6},toJD:function(t,S,l){var e=this._validate(t,S,l,U.local.invalidDate),t=this._t2gYear(e.year());return u.toJD(t,e.month(),e.day())},fromJD:function(w){var S=u.fromJD(w),l=this._g2tYear(S.year());return this.newDate(l,S.month(),S.day())},_t2gYear:function(w){return w+this.yearsOffset+(w>=-this.yearsOffset&&w<=-1?1:0)},_g2tYear:function(w){return w-this.yearsOffset-(w>=1&&w<=this.yearsOffset?1:0)}}),U.calendars.taiwan=v}}),uP=xe({"node_modules/world-calendars/dist/calendars/thai.js"(){var U=Tf(),O=cc(),u=U.instance();function v(w){this.local=this.regionalOptions[w||""]||this.regionalOptions[""]}v.prototype=new U.baseCalendar,O(v.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(l){var S=this._validate(l,this.minMonth,this.minDay,U.local.invalidYear),l=this._t2gYear(S.year());return u.leapYear(l)},weekOfYear:function(t,S,l){var e=this._validate(t,this.minMonth,this.minDay,U.local.invalidYear),t=this._t2gYear(e.year());return u.weekOfYear(t,e.month(),e.day())},daysInMonth:function(w,S){var l=this._validate(w,S,this.minDay,U.local.invalidMonth);return this.daysPerMonth[l.month()-1]+(l.month()===2&&this.leapYear(l.year())?1:0)},weekDay:function(w,S,l){return(this.dayOfWeek(w,S,l)||7)<6},toJD:function(t,S,l){var e=this._validate(t,S,l,U.local.invalidDate),t=this._t2gYear(e.year());return u.toJD(t,e.month(),e.day())},fromJD:function(w){var S=u.fromJD(w),l=this._g2tYear(S.year());return this.newDate(l,S.month(),S.day())},_t2gYear:function(w){return w-this.yearsOffset-(w>=1&&w<=this.yearsOffset?1:0)},_g2tYear:function(w){return w+this.yearsOffset+(w>=-this.yearsOffset&&w<=-1?1:0)}}),U.calendars.thai=v}}),cP=xe({"node_modules/world-calendars/dist/calendars/ummalqura.js"(){var U=Tf(),O=cc();function u(w){this.local=this.regionalOptions[w||""]||this.regionalOptions[""]}u.prototype=new U.baseCalendar,O(u.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(w){var S=this._validate(w,this.minMonth,this.minDay,U.local.invalidYear);return this.daysInYear(S.year())===355},weekOfYear:function(w,S,l){var e=this.newDate(w,S,l);return e.add(-e.dayOfWeek(),"d"),Math.floor((e.dayOfYear()-1)/7)+1},daysInYear:function(w){for(var S=0,l=1;l<=12;l++)S+=this.daysInMonth(w,l);return S},daysInMonth:function(w,S){for(var l=this._validate(w,S,this.minDay,U.local.invalidMonth),e=l.toJD()-24e5+.5,t=0,a=0;ae)return v[t]-v[t-1];t++}return 30},weekDay:function(w,S,l){return this.dayOfWeek(w,S,l)!==5},toJD:function(w,S,l){var e=this._validate(w,S,l,U.local.invalidDate),t=12*(e.year()-1)+e.month()-15292,a=e.day()+v[t-1]-1;return a+24e5-.5},fromJD:function(w){for(var S=w-24e5+.5,l=0,e=0;eS);e++)l++;var t=l+15292,a=Math.floor((t-1)/12),r=a+1,n=t-12*a,i=S-v[l-1]+1;return this.newDate(r,n,i)},isValid:function(w,S,l){var e=U.baseCalendar.prototype.isValid.apply(this,arguments);return e&&(w=w.year!=null?w.year:w,e=w>=1276&&w<=1500),e},_validate:function(w,S,l,e){var t=U.baseCalendar.prototype._validate.apply(this,arguments);if(t.year<1276||t.year>1500)throw e.replace(/\{0\}/,this.local.name);return t}}),U.calendars.ummalqura=u;var v=[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]}}),fP=xe({"src/components/calendars/calendars.js"(U,O){"use strict";O.exports=Tf(),Z9(),K9(),J9(),Q9(),eP(),tP(),rP(),aP(),nP(),iP(),oP(),sP(),lP(),uP(),cP()}}),hP=xe({"src/components/calendars/index.js"(U,O){"use strict";var u=fP(),v=Sr(),w=Gn(),S=w.EPOCHJD,l=w.ONEDAY,e={valType:"enumerated",values:v.sortObjectKeys(u.calendars),editType:"calc",dflt:"gregorian"},t=function(g,T,m,h){var x={};return x[m]=e,v.coerce(g,T,x,m,h)},a=function(g,T,m,h){for(var x=0;x{zt.preventDefault(),zt.stopPropagation(),zt.clipboardData.setData("text",rt),lt.removeEventListener("copy",Tt,!0)};lt.addEventListener("copy",Tt,!0),document.execCommand("copy")}gt.copyText=ve})(G5||(G5={}));var Zl;(function(gt){function ve(zt){let Lr=window.getComputedStyle(zt),gr=parseFloat(Lr.borderTopWidth)||0,Mr=parseFloat(Lr.borderLeftWidth)||0,Ur=parseFloat(Lr.borderRightWidth)||0,wr=parseFloat(Lr.borderBottomWidth)||0,Ir=parseFloat(Lr.paddingTop)||0,Hr=parseFloat(Lr.paddingLeft)||0,Rr=parseFloat(Lr.paddingRight)||0,Br=parseFloat(Lr.paddingBottom)||0,Pr=Mr+Hr+Rr+Ur,xe=gr+Ir+Br+wr;return{borderTop:gr,borderLeft:Mr,borderRight:Ur,borderBottom:wr,paddingTop:Ir,paddingLeft:Hr,paddingRight:Rr,paddingBottom:Br,horizontalSum:Pr,verticalSum:xe}}gt.boxSizing=ve;function rt(zt){let Lr=window.getComputedStyle(zt),gr=parseFloat(Lr.minWidth)||0,Mr=parseFloat(Lr.minHeight)||0,Ur=parseFloat(Lr.maxWidth)||1/0,wr=parseFloat(Lr.maxHeight)||1/0;return Ur=Math.max(gr,Ur),wr=Math.max(Mr,wr),{minWidth:gr,minHeight:Mr,maxWidth:Ur,maxHeight:wr}}gt.sizeLimits=rt;function lt(zt,Lr,gr){let Mr=zt.getBoundingClientRect();return Lr>=Mr.left&&Lr=Mr.top&&gr=gr.bottom)){if(Mr.topgr.bottom&&Mr.height>=gr.height){zt.scrollTop-=gr.top-Mr.top;return}if(Mr.topgr.height){zt.scrollTop-=gr.bottom-Mr.bottom;return}if(Mr.bottom>gr.bottom&&Mr.height{let wr=Element.prototype;return wr.matches||wr.matchesSelector||wr.mozMatchesSelector||wr.msMatchesSelector||wr.oMatchesSelector||wr.webkitMatchesSelector||function(Ir){let Hr=this,Rr=Hr.ownerDocument?Hr.ownerDocument.querySelectorAll(Ir):[];return Array.prototype.indexOf.call(Rr,Hr)!==-1}})();function ve(wr){wr=wr.split(",",1)[0];let Ir=0,Hr=0,Rr=0;function Br(Pr){let xe=wr.match(Pr);return xe===null?!1:(wr=wr.slice(xe[0].length),!0)}for(wr=wr.replace(Ur," $1 ");wr.length>0;){if(Br(rt)){Ir++;continue}if(Br(lt)){Hr++;continue}if(Br(Tt)){Hr++;continue}if(Br(Lr)){Rr++;continue}if(Br(gr)){Hr++;continue}if(Br(zt)){Rr++;continue}if(!Br(Mr))return 0}return Ir=Math.min(Ir,255),Hr=Math.min(Hr,255),Rr=Math.min(Rr,255),Ir<<16|Hr<<8|Rr}gt.calculateSingle=ve;let rt=/^#[^\s\+>~#\.\[:]+/,lt=/^\.[^\s\+>~#\.\[:]+/,Tt=/^\[[^\]]+\]/,zt=/^[^\s\+>~#\.\[:]+/,Lr=/^(::[^\s\+>~#\.\[:]+|:first-line|:first-letter|:before|:after)/,gr=/^:[^\s\+>~#\.\[:]+/,Mr=/^[\s\+>~\*]+/,Ur=/:not\(([^\)]+)\)/g})(bh||(bh={}));var ed=Jh(rv());var $v=class{constructor(){this._first=null,this._last=null,this._size=0}get isEmpty(){return this._size===0}get size(){return this._size}get length(){return this._size}get first(){return this._first?this._first.value:void 0}get last(){return this._last?this._last.value:void 0}get firstNode(){return this._first}get lastNode(){return this._last}*[Symbol.iterator](){let ve=this._first;for(;ve;)yield ve.value,ve=ve.next}*retro(){let ve=this._last;for(;ve;)yield ve.value,ve=ve.prev}*nodes(){let ve=this._first;for(;ve;)yield ve,ve=ve.next}*retroNodes(){let ve=this._last;for(;ve;)yield ve,ve=ve.prev}assign(ve){this.clear();for(let rt of ve)this.addLast(rt)}push(ve){this.addLast(ve)}pop(){return this.removeLast()}shift(ve){this.addFirst(ve)}unshift(){return this.removeFirst()}addFirst(ve){let rt=new Qh.LinkedListNode(this,ve);return this._first?(rt.next=this._first,this._first.prev=rt,this._first=rt):(this._first=rt,this._last=rt),this._size++,rt}addLast(ve){let rt=new Qh.LinkedListNode(this,ve);return this._last?(rt.prev=this._last,this._last.next=rt,this._last=rt):(this._first=rt,this._last=rt),this._size++,rt}insertBefore(ve,rt){if(!rt||rt===this._first)return this.addFirst(ve);if(!(rt instanceof Qh.LinkedListNode)||rt.list!==this)throw new Error("Reference node is not owned by the list.");let lt=new Qh.LinkedListNode(this,ve),Tt=rt,zt=Tt.prev;return lt.next=Tt,lt.prev=zt,Tt.prev=lt,zt.next=lt,this._size++,lt}insertAfter(ve,rt){if(!rt||rt===this._last)return this.addLast(ve);if(!(rt instanceof Qh.LinkedListNode)||rt.list!==this)throw new Error("Reference node is not owned by the list.");let lt=new Qh.LinkedListNode(this,ve),Tt=rt,zt=Tt.next;return lt.next=zt,lt.prev=Tt,Tt.next=lt,zt.prev=lt,this._size++,lt}removeFirst(){let ve=this._first;if(ve)return ve===this._last?(this._first=null,this._last=null):(this._first=ve.next,this._first.prev=null),ve.list=null,ve.next=null,ve.prev=null,this._size--,ve.value}removeLast(){let ve=this._last;if(ve)return ve===this._first?(this._first=null,this._last=null):(this._last=ve.prev,this._last.next=null),ve.list=null,ve.next=null,ve.prev=null,this._size--,ve.value}removeNode(ve){if(!(ve instanceof Qh.LinkedListNode)||ve.list!==this)throw new Error("Node is not owned by the list.");let rt=ve;rt===this._first&&rt===this._last?(this._first=null,this._last=null):rt===this._first?(this._first=rt.next,this._first.prev=null):rt===this._last?(this._last=rt.prev,this._last.next=null):(rt.next.prev=rt.prev,rt.prev.next=rt.next),rt.list=null,rt.next=null,rt.prev=null,this._size--}clear(){let ve=this._first;for(;ve;){let rt=ve.next;ve.list=null,ve.prev=null,ve.next=null,ve=rt}this._first=null,this._last=null,this._size=0}};(function(gt){function ve(rt){let lt=new gt;return lt.assign(rt),lt}gt.from=ve})($v||($v={}));var Qh;(function(gt){class ve{constructor(lt,Tt){this.list=null,this.next=null,this.prev=null,this.list=lt,this.value=Tt}}gt.LinkedListNode=ve})(Qh||(Qh={}));var jf=class{constructor(ve){this.type=ve}get isConflatable(){return!1}conflate(ve){return!1}},Ed=class extends jf{get isConflatable(){return!0}conflate(ve){return!0}},Gi;(function(gt){let ve=null,rt=(ii=>Ni=>{let An=!1;return ii.then(()=>!An&&Ni()),()=>{An=!0}})(Promise.resolve());function lt(ii,Ni){let An=Hr.get(ii);if(!An||An.length===0){Xa(ii,Ni);return}(0,ed.every)((0,ed.retro)(An),yn=>yn?xe(yn,ii,Ni):!0)&&Xa(ii,Ni)}gt.sendMessage=lt;function Tt(ii,Ni){if(!Ni.isConflatable){Ka(ii,Ni);return}(0,ed.some)(Ir,yi=>yi.handler!==ii||!yi.msg||yi.msg.type!==Ni.type||!yi.msg.isConflatable?!1:yi.msg.conflate(Ni))||Ka(ii,Ni)}gt.postMessage=Tt;function zt(ii,Ni){let An=Hr.get(ii);An&&An.indexOf(Ni)!==-1||(An?An.push(Ni):Hr.set(ii,[Ni]))}gt.installMessageHook=zt;function Lr(ii,Ni){let An=Hr.get(ii);if(!An)return;let yi=An.indexOf(Ni);yi!==-1&&(An[yi]=null,Ta(An))}gt.removeMessageHook=Lr;function gr(ii){let Ni=Hr.get(ii);Ni&&Ni.length>0&&(ed.ArrayExt.fill(Ni,null),Ta(Ni));for(let An of Ir)An.handler===ii&&(An.handler=null,An.msg=null)}gt.clearData=gr;function Mr(){Pr||ve===null||(ve(),ve=null,Pr=!0,da(),Pr=!1)}gt.flush=Mr;function Ur(){return Br}gt.getExceptionHandler=Ur;function wr(ii){let Ni=Br;return Br=ii,Ni}gt.setExceptionHandler=wr;let Ir=new $v,Hr=new WeakMap,Rr=new Set,Br=ii=>{console.error(ii)},Pr=!1;function xe(ii,Ni,An){let yi=!0;try{typeof ii=="function"?yi=ii(Ni,An):yi=ii.messageHook(Ni,An)}catch(yn){Br(yn)}return yi}function Xa(ii,Ni){try{ii.processMessage(Ni)}catch(An){Br(An)}}function Ka(ii,Ni){Ir.addLast({handler:ii,msg:Ni}),ve===null&&(ve=rt(da))}function da(){if(ve=null,Ir.isEmpty)return;let ii={handler:null,msg:null};for(Ir.addLast(ii);;){let Ni=Ir.removeFirst();if(Ni===ii)return;Ni.handler&&Ni.msg&<(Ni.handler,Ni.msg)}}function Ta(ii){Rr.size===0&&rt(Ja),Rr.add(ii)}function Ja(){Rr.forEach(Pn),Rr.clear()}function Pn(ii){ed.ArrayExt.removeAllWhere(ii,Na)}function Na(ii){return ii===null}})(Gi||(Gi={}));var qf=class{constructor(ve){this._pid=av.nextPID(),this.name=ve.name,this._create=ve.create,this._coerce=ve.coerce||null,this._compare=ve.compare||null,this._changed=ve.changed||null}get(ve){let rt,lt=av.ensureMap(ve);return this._pid in lt?rt=lt[this._pid]:rt=lt[this._pid]=this._createValue(ve),rt}set(ve,rt){let lt,Tt=av.ensureMap(ve);this._pid in Tt?lt=Tt[this._pid]:lt=Tt[this._pid]=this._createValue(ve);let zt=this._coerceValue(ve,rt);this._maybeNotify(ve,lt,Tt[this._pid]=zt)}coerce(ve){let rt,lt=av.ensureMap(ve);this._pid in lt?rt=lt[this._pid]:rt=lt[this._pid]=this._createValue(ve);let Tt=this._coerceValue(ve,rt);this._maybeNotify(ve,rt,lt[this._pid]=Tt)}_createValue(ve){let rt=this._create;return rt(ve)}_coerceValue(ve,rt){let lt=this._coerce;return lt?lt(ve,rt):rt}_compareValue(ve,rt){let lt=this._compare;return lt?lt(ve,rt):ve===rt}_maybeNotify(ve,rt,lt){let Tt=this._changed;Tt&&!this._compareValue(rt,lt)&&Tt(ve,rt,lt)}};(function(gt){function ve(rt){av.ownerData.delete(rt)}gt.clearData=ve})(qf||(qf={}));var av;(function(gt){gt.ownerData=new WeakMap,gt.nextPID=(()=>{let rt=0;return()=>`pid-${`${Math.random()}`.slice(2)}-${rt++}`})();function ve(rt){let lt=gt.ownerData.get(rt);return lt||(lt=Object.create(null),gt.ownerData.set(rt,lt),lt)}gt.ensureMap=ve})(av||(av={}));var Mm=Jh(rv()),kI=Jh(Am()),jl=class{constructor(ve){this.sender=ve}connect(ve,rt){return rh.connect(this,ve,rt)}disconnect(ve,rt){return rh.disconnect(this,ve,rt)}emit(ve){rh.emit(this,ve)}};(function(gt){function ve(Mr,Ur){rh.disconnectBetween(Mr,Ur)}gt.disconnectBetween=ve;function rt(Mr){rh.disconnectSender(Mr)}gt.disconnectSender=rt;function lt(Mr){rh.disconnectReceiver(Mr)}gt.disconnectReceiver=lt;function Tt(Mr){rh.disconnectAll(Mr)}gt.disconnectAll=Tt;function zt(Mr){rh.disconnectAll(Mr)}gt.clearData=zt;function Lr(){return rh.exceptionHandler}gt.getExceptionHandler=Lr;function gr(Mr){let Ur=rh.exceptionHandler;return rh.exceptionHandler=Mr,Ur}gt.setExceptionHandler=gr})(jl||(jl={}));var rh;(function(gt){gt.exceptionHandler=Ka=>{console.error(Ka)};function ve(Ka,da,Ta){Ta=Ta||void 0;let Ja=Mr.get(Ka.sender);if(Ja||(Ja=[],Mr.set(Ka.sender,Ja)),Hr(Ja,Ka,da,Ta))return!1;let Pn=Ta||da,Na=Ur.get(Pn);Na||(Na=[],Ur.set(Pn,Na));let ii={signal:Ka,slot:da,thisArg:Ta};return Ja.push(ii),Na.push(ii),!0}gt.connect=ve;function rt(Ka,da,Ta){Ta=Ta||void 0;let Ja=Mr.get(Ka.sender);if(!Ja||Ja.length===0)return!1;let Pn=Hr(Ja,Ka,da,Ta);if(!Pn)return!1;let Na=Ta||da,ii=Ur.get(Na);return Pn.signal=null,Br(Ja),Br(ii),!0}gt.disconnect=rt;function lt(Ka,da){let Ta=Mr.get(Ka);if(!Ta||Ta.length===0)return;let Ja=Ur.get(da);if(!(!Ja||Ja.length===0)){for(let Pn of Ja)Pn.signal&&Pn.signal.sender===Ka&&(Pn.signal=null);Br(Ta),Br(Ja)}}gt.disconnectBetween=lt;function Tt(Ka){let da=Mr.get(Ka);if(!(!da||da.length===0)){for(let Ta of da){if(!Ta.signal)continue;let Ja=Ta.thisArg||Ta.slot;Ta.signal=null,Br(Ur.get(Ja))}Br(da)}}gt.disconnectSender=Tt;function zt(Ka){let da=Ur.get(Ka);if(!(!da||da.length===0)){for(let Ta of da){if(!Ta.signal)continue;let Ja=Ta.signal.sender;Ta.signal=null,Br(Mr.get(Ja))}Br(da)}}gt.disconnectReceiver=zt;function Lr(Ka){Tt(Ka),zt(Ka)}gt.disconnectAll=Lr;function gr(Ka,da){let Ta=Mr.get(Ka.sender);if(!(!Ta||Ta.length===0))for(let Ja=0,Pn=Ta.length;JaPn.signal===da&&Pn.slot===Ta&&Pn.thisArg===Ja)}function Rr(Ka,da){let{signal:Ta,slot:Ja,thisArg:Pn}=Ka;try{Ja.call(Pn,Ta.sender,da)}catch(Na){gt.exceptionHandler(Na)}}function Br(Ka){wr.size===0&&Ir(Pr),wr.add(Ka)}function Pr(){wr.forEach(xe),wr.clear()}function xe(Ka){Mm.ArrayExt.removeAllWhere(Ka,Xa)}function Xa(Ka){return Ka.signal===null}})(rh||(rh={}));var kd=class{constructor(ve){this._fn=ve}get isDisposed(){return!this._fn}dispose(){if(!this._fn)return;let ve=this._fn;this._fn=null,ve()}};var Gp=class{constructor(){this._isDisposed=!1,this._items=new Set}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed||(this._isDisposed=!0,this._items.forEach(ve=>{ve.dispose()}),this._items.clear())}contains(ve){return this._items.has(ve)}add(ve){this._items.add(ve)}remove(ve){this._items.delete(ve)}clear(){this._items.clear()}};(function(gt){function ve(rt){let lt=new gt;for(let Tt of rt)lt.add(Tt);return lt}gt.from=ve})(Gp||(Gp={}));var Sm=class extends Gp{constructor(){super(...arguments),this._disposed=new jl(this)}get disposed(){return this._disposed}dispose(){this.isDisposed||(super.dispose(),this._disposed.emit(void 0),jl.clearData(this))}};(function(gt){function ve(rt){let lt=new gt;for(let Tt of rt)lt.add(Tt);return lt}gt.from=ve})(Sm||(Sm={}));var Vf=class gt{constructor(ve){this._onScrollFrame=()=>{if(!this._scrollTarget)return;let{element:rt,edge:lt,distance:Tt}=this._scrollTarget,zt=zf.SCROLL_EDGE_SIZE-Tt,Lr=Math.pow(zt/zf.SCROLL_EDGE_SIZE,2),gr=Math.max(1,Math.round(Lr*zf.SCROLL_EDGE_SIZE));switch(lt){case"top":rt.scrollTop-=gr;break;case"left":rt.scrollLeft-=gr;break;case"right":rt.scrollLeft+=gr;break;case"bottom":rt.scrollTop+=gr;break}requestAnimationFrame(this._onScrollFrame)},this._disposed=!1,this._dropAction="none",this._override=null,this._currentTarget=null,this._currentElement=null,this._promise=null,this._scrollTarget=null,this._resolve=null,this.document=ve.document||document,this.mimeData=ve.mimeData,this.dragImage=ve.dragImage||null,this.proposedAction=ve.proposedAction||"copy",this.supportedActions=ve.supportedActions||"all",this.source=ve.source||null}dispose(){if(!this._disposed){if(this._disposed=!0,this._currentTarget){let ve=new PointerEvent("pointerup",{bubbles:!0,cancelable:!0,clientX:-1,clientY:-1});zf.dispatchDragLeave(this,this._currentTarget,null,ve)}this._finalize("none")}}get isDisposed(){return this._disposed}start(ve,rt){if(this._disposed)return Promise.resolve("none");if(this._promise)return this._promise;this._addListeners(),this._attachDragImage(ve,rt),this._promise=new Promise(Tt=>{this._resolve=Tt});let lt=new PointerEvent("pointermove",{bubbles:!0,cancelable:!0,clientX:ve,clientY:rt});return document.dispatchEvent(lt),this._promise}handleEvent(ve){switch(ve.type){case"pointermove":this._evtPointerMove(ve);break;case"pointerup":this._evtPointerUp(ve);break;case"keydown":this._evtKeyDown(ve);break;default:ve.preventDefault(),ve.stopPropagation();break}}moveDragImage(ve,rt){if(!this.dragImage)return;let lt=this.dragImage.style;lt.transform=`translate(${ve}px, ${rt}px)`}_evtPointerMove(ve){ve.preventDefault(),ve.stopPropagation(),this._updateCurrentTarget(ve),this._updateDragScroll(ve),this.moveDragImage(ve.clientX,ve.clientY)}_evtPointerUp(ve){if(ve.preventDefault(),ve.stopPropagation(),ve.button!==0)return;if(this._updateCurrentTarget(ve),!this._currentTarget){this._finalize("none");return}if(this._dropAction==="none"){zf.dispatchDragLeave(this,this._currentTarget,null,ve),this._finalize("none");return}let rt=zf.dispatchDrop(this,this._currentTarget,ve);this._finalize(rt)}_evtKeyDown(ve){ve.preventDefault(),ve.stopPropagation(),ve.keyCode===27&&this.dispose()}_addListeners(){document.addEventListener("pointerdown",this,!0),document.addEventListener("pointermove",this,!0),document.addEventListener("pointerup",this,!0),document.addEventListener("pointerenter",this,!0),document.addEventListener("pointerleave",this,!0),document.addEventListener("pointerover",this,!0),document.addEventListener("pointerout",this,!0),document.addEventListener("keydown",this,!0),document.addEventListener("keyup",this,!0),document.addEventListener("keypress",this,!0),document.addEventListener("contextmenu",this,!0)}_removeListeners(){document.removeEventListener("pointerdown",this,!0),document.removeEventListener("pointermove",this,!0),document.removeEventListener("pointerup",this,!0),document.removeEventListener("pointerenter",this,!0),document.removeEventListener("pointerleave",this,!0),document.removeEventListener("pointerover",this,!0),document.removeEventListener("pointerout",this,!0),document.removeEventListener("keydown",this,!0),document.removeEventListener("keyup",this,!0),document.removeEventListener("keypress",this,!0),document.removeEventListener("contextmenu",this,!0)}_updateDragScroll(ve){let rt=zf.findScrollTarget(ve);!this._scrollTarget&&!rt||(this._scrollTarget||setTimeout(this._onScrollFrame,500),this._scrollTarget=rt)}_updateCurrentTarget(ve){let rt=this._currentTarget,lt=this._currentTarget,Tt=this._currentElement,zt=zf.findElementBehindBackdrop(ve,this.document);this._currentElement=zt,zt!==Tt&&zt!==lt&&zf.dispatchDragExit(this,lt,zt,ve),zt!==Tt&&zt!==lt&&(lt=zf.dispatchDragEnter(this,zt,lt,ve)),lt!==rt&&(this._currentTarget=lt,zf.dispatchDragLeave(this,rt,lt,ve));let Lr=zf.dispatchDragOver(this,lt,ve);this._setDropAction(Lr)}_attachDragImage(ve,rt){if(!this.dragImage)return;this.dragImage.classList.add("lm-mod-drag-image");let lt=this.dragImage.style;lt.pointerEvents="none",lt.position="fixed",lt.transform=`translate(${ve}px, ${rt}px)`,(this.document instanceof Document?this.document.body:this.document.firstElementChild).appendChild(this.dragImage)}_detachDragImage(){if(!this.dragImage)return;let ve=this.dragImage.parentNode;ve&&ve.removeChild(this.dragImage)}_setDropAction(ve){if(ve=zf.validateAction(ve,this.supportedActions),!(this._override&&this._dropAction===ve))switch(ve){case"none":this._dropAction=ve,this._override=gt.overrideCursor("no-drop",this.document);break;case"copy":this._dropAction=ve,this._override=gt.overrideCursor("copy",this.document);break;case"link":this._dropAction=ve,this._override=gt.overrideCursor("alias",this.document);break;case"move":this._dropAction=ve,this._override=gt.overrideCursor("move",this.document);break}}_finalize(ve){let rt=this._resolve;this._removeListeners(),this._detachDragImage(),this._override&&(this._override.dispose(),this._override=null),this.mimeData.clear(),this._disposed=!0,this._dropAction="none",this._currentTarget=null,this._currentElement=null,this._scrollTarget=null,this._promise=null,this._resolve=null,rt&&rt(ve)}};(function(gt){class ve extends DragEvent{constructor(Tt,zt){super(zt.type,{bubbles:!0,cancelable:!0,altKey:Tt.altKey,button:Tt.button,clientX:Tt.clientX,clientY:Tt.clientY,ctrlKey:Tt.ctrlKey,detail:0,metaKey:Tt.metaKey,relatedTarget:zt.related,screenX:Tt.screenX,screenY:Tt.screenY,shiftKey:Tt.shiftKey,view:window});let{drag:Lr}=zt;this.dropAction="none",this.mimeData=Lr.mimeData,this.proposedAction=Lr.proposedAction,this.supportedActions=Lr.supportedActions,this.source=Lr.source}}gt.Event=ve;function rt(lt,Tt=document){return zf.overrideCursor(lt,Tt)}gt.overrideCursor=rt})(Vf||(Vf={}));var zf;(function(gt){gt.SCROLL_EDGE_SIZE=20;function ve(Ta,Ja){return Ir[Ta]&Hr[Ja]?Ta:"none"}gt.validateAction=ve;function rt(Ta,Ja=document){if(Ta){if(lt&&Ta==lt.event)return lt.element;gt.cursorBackdrop.style.zIndex="-1000";let Pn=Ja.elementFromPoint(Ta.clientX,Ta.clientY);return gt.cursorBackdrop.style.zIndex="",lt={event:Ta,element:Pn},Pn}else{let Pn=gt.cursorBackdrop.style.transform;if(Tt&&Pn===Tt.transform)return Tt.element;let Na=gt.cursorBackdrop.getBoundingClientRect();gt.cursorBackdrop.style.zIndex="-1000";let ii=Ja.elementFromPoint(Na.left+Na.width/2,Na.top+Na.height/2);return gt.cursorBackdrop.style.zIndex="",Tt={transform:Pn,element:ii},ii}}gt.findElementBehindBackdrop=rt;let lt=null,Tt=null;function zt(Ta){let Ja=Ta.clientX,Pn=Ta.clientY,Na=rt(Ta);for(;Na;Na=Na.parentElement){if(!Na.hasAttribute("data-lm-dragscroll"))continue;let ii=0,Ni=0;Na===document.body&&(ii=window.pageXOffset,Ni=window.pageYOffset);let An=Na.getBoundingClientRect(),yi=An.top+Ni,yn=An.left+ii,Gn=yn+An.width,ys=yi+An.height;if(Ja=Gn||Pn=ys)continue;let Us=Ja-yn+1,rs=Pn-yi+1,Gs=Gn-Ja,Pu=ys-Pn,Vl=Math.min(Us,rs,Gs,Pu);if(Vl>gt.SCROLL_EDGE_SIZE)continue;let Fl;switch(Vl){case Pu:Fl="bottom";break;case rs:Fl="top";break;case Gs:Fl="right";break;case Us:Fl="left";break;default:throw"unreachable"}let uu=Na.scrollWidth-Na.clientWidth,cu=Na.scrollHeight-Na.clientHeight,Ic;switch(Fl){case"top":Ic=cu>0&&Na.scrollTop>0;break;case"left":Ic=uu>0&&Na.scrollLeft>0;break;case"right":Ic=uu>0&&Na.scrollLeft0&&Na.scrollTop{Pn===da&>.cursorBackdrop.isConnected&&(document.removeEventListener("pointermove",Br,!0),gt.cursorBackdrop.removeEventListener("scroll",Pr,!0),Na.removeChild(gt.cursorBackdrop))})}gt.overrideCursor=Rr;function Br(Ta){gt.cursorBackdrop&&(gt.cursorBackdrop.style.transform=`translate(${Ta.clientX}px, ${Ta.clientY}px)`)}function Pr(Ta){if(!gt.cursorBackdrop)return;let Ja=rt();if(!Ja)return;let Pn=Ja.closest("[data-lm-dragscroll]");Pn&&(Pn.scrollTop+=gt.cursorBackdrop.scrollTop-Xa,Pn.scrollLeft+=gt.cursorBackdrop.scrollLeft-Xa,xe())}function xe(){gt.cursorBackdrop.scrollTop=Xa,gt.cursorBackdrop.scrollLeft=Xa}let Xa=500;function Ka(){let Ta=document.createElement("div");return Ta.classList.add("lm-cursor-backdrop"),Ta}let da=0;gt.cursorBackdrop=Ka()})(zf||(zf={}));var W5=Jh(rv()),_f=Jh(Am());function Zv(){return Oy.keyboardLayout}var Wp=class gt{constructor(ve,rt,lt=[]){this.name=ve,this._codes=rt,this._keys=gt.extractKeys(rt),this._modifierKeys=gt.convertToKeySet(lt)}keys(){return Object.keys(this._keys)}isValidKey(ve){return ve in this._keys}isModifierKey(ve){return ve in this._modifierKeys}keyForKeydownEvent(ve){return this._codes[ve.keyCode]||""}};(function(gt){function ve(lt){let Tt=Object.create(null);for(let zt in lt)Tt[lt[zt]]=!0;return Tt}gt.extractKeys=ve;function rt(lt){let Tt=Object(null);for(let zt=0,Lr=lt.length;zt{this._commands.delete(ve),this._commandChanged.emit({id:ve,type:"removed"})})}notifyCommandChanged(ve){if(ve!==void 0&&!this._commands.has(ve))throw new Error(`Command '${ve}' is not registered.`);this._commandChanged.emit({id:ve,type:ve?"changed":"many-changed"})}describedBy(ve,rt=_f.JSONExt.emptyObject){var lt;let Tt=this._commands.get(ve);return Promise.resolve((lt=Tt?.describedBy.call(void 0,rt))!==null&<!==void 0?lt:{args:null})}label(ve,rt=_f.JSONExt.emptyObject){var lt;let Tt=this._commands.get(ve);return(lt=Tt?.label.call(void 0,rt))!==null&<!==void 0?lt:""}mnemonic(ve,rt=_f.JSONExt.emptyObject){let lt=this._commands.get(ve);return lt?lt.mnemonic.call(void 0,rt):-1}icon(ve,rt=_f.JSONExt.emptyObject){var lt;return(lt=this._commands.get(ve))===null||lt===void 0?void 0:lt.icon.call(void 0,rt)}iconClass(ve,rt=_f.JSONExt.emptyObject){let lt=this._commands.get(ve);return lt?lt.iconClass.call(void 0,rt):""}iconLabel(ve,rt=_f.JSONExt.emptyObject){let lt=this._commands.get(ve);return lt?lt.iconLabel.call(void 0,rt):""}caption(ve,rt=_f.JSONExt.emptyObject){let lt=this._commands.get(ve);return lt?lt.caption.call(void 0,rt):""}usage(ve,rt=_f.JSONExt.emptyObject){let lt=this._commands.get(ve);return lt?lt.usage.call(void 0,rt):""}className(ve,rt=_f.JSONExt.emptyObject){let lt=this._commands.get(ve);return lt?lt.className.call(void 0,rt):""}dataset(ve,rt=_f.JSONExt.emptyObject){let lt=this._commands.get(ve);return lt?lt.dataset.call(void 0,rt):{}}isEnabled(ve,rt=_f.JSONExt.emptyObject){let lt=this._commands.get(ve);return lt?lt.isEnabled.call(void 0,rt):!1}isToggled(ve,rt=_f.JSONExt.emptyObject){let lt=this._commands.get(ve);return lt?lt.isToggled.call(void 0,rt):!1}isToggleable(ve,rt=_f.JSONExt.emptyObject){let lt=this._commands.get(ve);return lt?lt.isToggleable:!1}isVisible(ve,rt=_f.JSONExt.emptyObject){let lt=this._commands.get(ve);return lt?lt.isVisible.call(void 0,rt):!1}execute(ve,rt=_f.JSONExt.emptyObject){let lt=this._commands.get(ve);if(!lt)return Promise.reject(new Error(`Command '${ve}' not registered.`));let Tt;try{Tt=lt.execute.call(void 0,rt)}catch(Lr){Tt=Promise.reject(Lr)}let zt=Promise.resolve(Tt);return this._commandExecuted.emit({id:ve,args:rt,result:zt}),zt}addKeyBinding(ve){let rt=wh.createKeyBinding(ve);return this._keyBindings.push(rt),this._keyBindingChanged.emit({binding:rt,type:"added"}),new kd(()=>{W5.ArrayExt.removeFirstOf(this._keyBindings,rt),this._keyBindingChanged.emit({binding:rt,type:"removed"})})}processKeydownEvent(ve){if(ve.defaultPrevented||this._replaying)return;let rt=gt.keystrokeForKeydownEvent(ve);if(!rt){this._replayKeydownEvents(),this._clearPendingState();return}if(gt.isModifierKeyPressed(ve)){let{exact:Lr}=wh.matchKeyBinding(this._keyBindings,[rt],ve);Lr?(ve.preventDefault(),ve.stopPropagation(),this._startModifierTimer(Lr)):this._clearModifierTimer();return}this._keystrokes.push(rt);let{exact:lt,partial:Tt}=wh.matchKeyBinding(this._keyBindings,this._keystrokes,ve),zt=Tt.length!==0;if(!lt&&!zt){this._replayKeydownEvents(),this._clearPendingState();return}if((lt?.preventDefault||Tt.some(Lr=>Lr.preventDefault))&&(ve.preventDefault(),ve.stopPropagation()),this._keydownEvents.push(ve),lt&&!zt){this._executeKeyBinding(lt),this._clearPendingState();return}lt&&(this._exactKeyMatch=lt),this._startTimer()}holdKeyBindingExecution(ve,rt){this._holdKeyBindingPromises.set(ve,rt)}processKeyupEvent(ve){this._clearModifierTimer()}_startModifierTimer(ve){this._clearModifierTimer(),this._timerModifierID=window.setTimeout(()=>{this._executeKeyBinding(ve)},wh.modifierkeyTimeOut)}_clearModifierTimer(){this._timerModifierID!==0&&(clearTimeout(this._timerModifierID),this._timerModifierID=0)}_startTimer(){this._clearTimer(),this._timerID=window.setTimeout(()=>{this._onPendingTimeout()},wh.CHORD_TIMEOUT)}_clearTimer(){this._timerID!==0&&(clearTimeout(this._timerID),this._timerID=0)}_replayKeydownEvents(){this._keydownEvents.length!==0&&(this._replaying=!0,this._keydownEvents.forEach(wh.replayKeyEvent),this._replaying=!1)}async _executeKeyBinding(ve){if(this._holdKeyBindingPromises.size!==0){let zt=[...this._keydownEvents],Lr=(await Promise.race([Promise.all(zt.map(async gr=>{var Mr;return(Mr=this._holdKeyBindingPromises.get(gr))!==null&&Mr!==void 0?Mr:Promise.resolve(!0)})),new Promise(gr=>{setTimeout(()=>gr([!1]),wh.KEYBINDING_HOLD_TIMEOUT)})])).every(Boolean);if(this._holdKeyBindingPromises.clear(),!Lr)return}let{command:rt,args:lt}=ve,Tt={_luminoEvent:{type:"keybinding",keys:ve.keys},...lt};if(!this.hasCommand(rt)||!this.isEnabled(rt,Tt)){let zt=this.hasCommand(rt)?"enabled":"registered",gr=`Cannot execute key binding '${ve.keys.join(", ")}':`,Mr=`command '${rt}' is not ${zt}.`;console.warn(`${gr} ${Mr}`);return}await this.execute(rt,Tt)}_clearPendingState(){this._clearTimer(),this._clearModifierTimer(),this._exactKeyMatch=null,this._keystrokes.length=0,this._keydownEvents.length=0}_onPendingTimeout(){this._timerID=0,this._exactKeyMatch?this._executeKeyBinding(this._exactKeyMatch):this._replayKeydownEvents(),this._clearPendingState()}};(function(gt){function ve(gr){let Mr="",Ur=!1,wr=!1,Ir=!1,Hr=!1;for(let Rr of gr.split(/\s+/))Rr==="Accel"?Ff.IS_MAC?wr=!0:Ir=!0:Rr==="Alt"?Ur=!0:Rr==="Cmd"?wr=!0:Rr==="Ctrl"?Ir=!0:Rr==="Shift"?Hr=!0:Rr.length>0&&(Mr=Rr);return{cmd:wr,ctrl:Ir,alt:Ur,shift:Hr,key:Mr}}gt.parseKeystroke=ve;function rt(gr){let Mr="",Ur=ve(gr);return Ur.ctrl&&(Mr+="Ctrl "),Ur.alt&&(Mr+="Alt "),Ur.shift&&(Mr+="Shift "),Ur.cmd&&Ff.IS_MAC&&(Mr+="Cmd "),Ur.key?Mr+Ur.key:Mr.trim()}gt.normalizeKeystroke=rt;function lt(gr){let Mr;return Ff.IS_WIN?Mr=gr.winKeys||gr.keys:Ff.IS_MAC?Mr=gr.macKeys||gr.keys:Mr=gr.linuxKeys||gr.keys,Mr.map(rt)}gt.normalizeKeys=lt;function Tt(gr){return typeof gr=="string"?Mr(gr):gr.map(Mr).join(", ");function Mr(Ur){let wr=[],Ir=Ff.IS_MAC?" ":"+",Hr=ve(Ur);return Hr.ctrl&&wr.push("Ctrl"),Hr.alt&&wr.push("Alt"),Hr.shift&&wr.push("Shift"),Ff.IS_MAC&&Hr.cmd&&wr.push("Cmd"),wr.push(Hr.key),wr.map(wh.formatKey).join(Ir)}}gt.formatKeystroke=Tt;function zt(gr){let Mr=Zv(),Ur=Mr.keyForKeydownEvent(gr);return Mr.isModifierKey(Ur)}gt.isModifierKeyPressed=zt;function Lr(gr){let Mr=Zv(),Ur=Mr.keyForKeydownEvent(gr),wr=[];return gr.ctrlKey&&wr.push("Ctrl"),gr.altKey&&wr.push("Alt"),gr.shiftKey&&wr.push("Shift"),gr.metaKey&&Ff.IS_MAC&&wr.push("Cmd"),Mr.isModifierKey(Ur)||wr.push(Ur),wr.join(" ")}gt.keystrokeForKeydownEvent=Lr})(td||(td={}));var wh;(function(gt){gt.CHORD_TIMEOUT=1e3,gt.KEYBINDING_HOLD_TIMEOUT=1e3,gt.modifierkeyTimeOut=500;function ve(da){return{execute:da.execute,describedBy:Br(typeof da.describedBy=="function"?da.describedBy:{args:null,...da.describedBy},()=>({args:null})),label:Br(da.label,Mr),mnemonic:Br(da.mnemonic,Ur),icon:Br(da.icon,Rr),iconClass:Br(da.iconClass,Mr),iconLabel:Br(da.iconLabel,Mr),caption:Br(da.caption,Mr),usage:Br(da.usage,Mr),className:Br(da.className,Mr),dataset:Br(da.dataset,Hr),isEnabled:da.isEnabled||wr,isToggled:da.isToggled||Ir,isToggleable:da.isToggleable||!!da.isToggled,isVisible:da.isVisible||wr}}gt.createCommand=ve;function rt(da){var Ta;return{keys:td.normalizeKeys(da),selector:Pr(da),command:da.command,args:da.args||_f.JSONExt.emptyObject,preventDefault:(Ta=da.preventDefault)!==null&&Ta!==void 0?Ta:!0}}gt.createKeyBinding=rt;function lt(da,Ta,Ja){let Pn=null,Na=[],ii=1/0,Ni=0;for(let An=0,yi=da.length;Anii)continue;let Us=xh.calculateSpecificity(yn.selector);(!Pn||ys=Ni)&&(Pn=yn,ii=ys,Ni=Us)}return{exact:Pn,partial:Na}}gt.matchKeyBinding=lt;function Tt(da){da.target.dispatchEvent(Ka(da))}gt.replayKeyEvent=Tt;function zt(da){return Ff.IS_MAC?Lr.hasOwnProperty(da)?Lr[da]:da:gr.hasOwnProperty(da)?gr[da]:da}gt.formatKey=zt;let Lr={Backspace:"\u232B",Tab:"\u21E5",Enter:"\u23CE",Shift:"\u21E7",Ctrl:"\u2303",Alt:"\u2325",Escape:"\u238B",PageUp:"\u21DE",PageDown:"\u21DF",End:"\u2198",Home:"\u2196",ArrowLeft:"\u2190",ArrowUp:"\u2191",ArrowRight:"\u2192",ArrowDown:"\u2193",Delete:"\u2326",Cmd:"\u2318"},gr={Escape:"Esc",PageUp:"Page Up",PageDown:"Page Down",ArrowLeft:"Left",ArrowUp:"Up",ArrowRight:"Right",ArrowDown:"Down",Delete:"Del"},Mr=()=>"",Ur=()=>-1,wr=()=>!0,Ir=()=>!1,Hr=()=>({}),Rr=()=>{};function Br(da,Ta){return da===void 0?Ta:typeof da=="function"?da:()=>da}function Pr(da){if(da.selector.indexOf(",")!==-1)throw new Error(`Selector cannot contain commas: ${da.selector}`);if(!xh.isValid(da.selector))throw new Error(`Invalid selector: ${da.selector}`);return da.selector}function xe(da,Ta){if(da.lengthTa.length?2:1}function Xa(da,Ta){let Ja=Ta.target,Pn=Ta.currentTarget;for(let Na=0;Ja!==null;Ja=Ja.parentElement,++Na){if(Ja.hasAttribute("data-lm-suppress-shortcuts"))return-1;if(xh.matches(Ja,da))return Na;if(Ja===Pn)return-1}return-1}function Ka(da){let Ta=document.createEvent("Event"),Ja=da.bubbles||!0,Pn=da.cancelable||!0;return Ta.initEvent(da.type||"keydown",Ja,Pn),Ta.key=da.key||"",Ta.keyCode=da.keyCode||0,Ta.which=da.keyCode||0,Ta.ctrlKey=da.ctrlKey||!1,Ta.altKey=da.altKey||!1,Ta.shiftKey=da.shiftKey||!1,Ta.metaKey=da.metaKey||!1,Ta.view=da.view||window,Ta}})(wh||(wh={}));var Kv=Jh(rv()),Jv=class{constructor(ve){this.type="text",this.content=ve}},Yp=class{constructor(ve,rt,lt,Tt){this.type="element",this.tag=ve,this.attrs=rt,this.children=lt,this.renderer=Tt}};function ql(gt){let ve={},rt,lt=[];for(let zt=1,Lr=arguments.length;zt=Xa.length){rt(Pr[Ta],Rr);continue}let Ja=Xa[Ta],Pn=Pr[Ta];if(Ja===Pn){Ka=Ka.nextSibling;continue}if(Ja.type==="text"&&Pn.type==="text"){Ka.textContent!==Pn.content&&(Ka.textContent=Pn.content),Ka=Ka.nextSibling;continue}if(Ja.type==="text"||Pn.type==="text"){Kv.ArrayExt.insert(Xa,Ta,Pn),rt(Pn,Rr,Ka);continue}if(!Ja.renderer!=!Pn.renderer){Kv.ArrayExt.insert(Xa,Ta,Pn),rt(Pn,Rr,Ka);continue}let Na=Pn.attrs.key;if(Na&&Na in xe){let Ni=xe[Na];Ni.vNode!==Ja&&(Kv.ArrayExt.move(Xa,Xa.indexOf(Ni.vNode,Ta+1),Ta),Rr.insertBefore(Ni.element,Ka),Ja=Ni.vNode,Ka=Ni.element)}if(Ja===Pn){Ka=Ka.nextSibling;continue}let ii=Ja.attrs.key;if(ii&&ii!==Na){Kv.ArrayExt.insert(Xa,Ta,Pn),rt(Pn,Rr,Ka);continue}if(Ja.tag!==Pn.tag){Kv.ArrayExt.insert(Xa,Ta,Pn),rt(Pn,Rr,Ka);continue}gr(Ka,Ja.attrs,Pn.attrs),Pn.renderer?Pn.renderer.render(Ka,{attrs:Pn.attrs,children:Pn.children}):lt(Ka,Ja.children,Pn.children),Ka=Ka.nextSibling}Tt(Rr,Xa,da,!0)}gt.updateContent=lt;function Tt(Rr,Br,Pr,xe){for(let Xa=Br.length-1;Xa>=Pr;--Xa){let Ka=Br[Xa],da=xe?Rr.lastChild:Rr.childNodes[Xa];Ka.type==="text"||(Ka.renderer&&Ka.renderer.unrender?Ka.renderer.unrender(da,{attrs:Ka.attrs,children:Ka.children}):Tt(da,Ka.children,0,!1)),xe&&Rr.removeChild(da)}}let zt={key:!0,className:!0,htmlFor:!0,dataset:!0,style:!0};function Lr(Rr,Br){for(let Pr in Br)Pr in zt||(Pr.substr(0,2)==="on"?Rr[Pr]=Br[Pr]:Rr.setAttribute(Pr,Br[Pr]));Br.className!==void 0&&Rr.setAttribute("class",Br.className),Br.htmlFor!==void 0&&Rr.setAttribute("for",Br.htmlFor),Br.dataset&&Mr(Rr,Br.dataset),Br.style&&wr(Rr,Br.style)}function gr(Rr,Br,Pr){if(Br===Pr)return;let xe;for(xe in Br)xe in zt||xe in Pr||(xe.substr(0,2)==="on"?Rr[xe]=null:Rr.removeAttribute(xe));for(xe in Pr)xe in zt||Br[xe]===Pr[xe]||(xe.substr(0,2)==="on"?Rr[xe]=Pr[xe]:Rr.setAttribute(xe,Pr[xe]));Br.className!==Pr.className&&(Pr.className!==void 0?Rr.setAttribute("class",Pr.className):Rr.removeAttribute("class")),Br.htmlFor!==Pr.htmlFor&&(Pr.htmlFor!==void 0?Rr.setAttribute("for",Pr.htmlFor):Rr.removeAttribute("for")),Br.dataset!==Pr.dataset&&Ur(Rr,Br.dataset||{},Pr.dataset||{}),Br.style!==Pr.style&&Ir(Rr,Br.style||{},Pr.style||{})}function Mr(Rr,Br){for(let Pr in Br)Rr.setAttribute(`data-${Pr}`,Br[Pr])}function Ur(Rr,Br,Pr){for(let xe in Br)xe in Pr||Rr.removeAttribute(`data-${xe}`);for(let xe in Pr)Br[xe]!==Pr[xe]&&Rr.setAttribute(`data-${xe}`,Pr[xe])}function wr(Rr,Br){let Pr=Rr.style,xe;for(xe in Br)Pr[xe]=Br[xe]}function Ir(Rr,Br,Pr){let xe=Rr.style,Xa;for(Xa in Br)Xa in Pr||(xe[Xa]="");for(Xa in Pr)Br[Xa]!==Pr[Xa]&&(xe[Xa]=Pr[Xa])}function Hr(Rr,Br){let Pr=Rr.firstChild,xe=Object.create(null);for(let Xa of Br)Xa.type==="element"&&Xa.attrs.key&&(xe[Xa.attrs.key]={vNode:Xa,element:Pr}),Pr=Pr.nextSibling;return xe}})(nv||(nv={}));var Bh=class{constructor(){this.sizeHint=0,this.minSize=0,this.maxSize=1/0,this.stretch=1,this.size=0,this.done=!1}},ah;(function(gt){function ve(zt,Lr){let gr=zt.length;if(gr===0)return Lr;let Mr=0,Ur=0,wr=0,Ir=0,Hr=0;for(let Pr=0;Pr0&&(Ir+=xe.stretch,Hr++)}if(Lr===wr)return 0;if(Lr<=Mr){for(let Pr=0;Pr=Ur){for(let Pr=0;Pr0&&Pr>Rr;){let xe=Pr,Xa=Ir;for(let Ka=0;Ka0&&Pr>Rr;){let xe=Pr/Br;for(let Xa=0;Xa0&&Pr>Rr;){let xe=Pr,Xa=Ir;for(let Ka=0;Ka=da.maxSize?(Pr-=da.maxSize-da.size,Ir-=da.stretch,da.size=da.maxSize,da.done=!0,Br--,Hr--):(Pr-=Ta,da.size+=Ta)}}for(;Br>0&&Pr>Rr;){let xe=Pr/Br;for(let Xa=0;Xa=Ka.maxSize?(Pr-=Ka.maxSize-Ka.size,Ka.size=Ka.maxSize,Ka.done=!0,Br--):(Pr-=xe,Ka.size+=xe))}}}return 0}gt.calc=ve;function rt(zt,Lr,gr){zt.length===0||gr===0||(gr>0?lt(zt,Lr,gr):Tt(zt,Lr,-gr))}gt.adjust=rt;function lt(zt,Lr,gr){let Mr=0;for(let Hr=0;Hr<=Lr;++Hr){let Rr=zt[Hr];Mr+=Rr.maxSize-Rr.size}let Ur=0;for(let Hr=Lr+1,Rr=zt.length;Hr=0&&wr>0;--Hr){let Rr=zt[Hr],Br=Rr.maxSize-Rr.size;Br>=wr?(Rr.sizeHint=Rr.size+wr,wr=0):(Rr.sizeHint=Rr.size+Br,wr-=Br)}let Ir=gr;for(let Hr=Lr+1,Rr=zt.length;Hr0;++Hr){let Br=zt[Hr],Pr=Br.size-Br.minSize;Pr>=Ir?(Br.sizeHint=Br.size-Ir,Ir=0):(Br.sizeHint=Br.size-Pr,Ir-=Pr)}}function Tt(zt,Lr,gr){let Mr=0;for(let Hr=Lr+1,Rr=zt.length;Hr0;++Hr){let Br=zt[Hr],Pr=Br.maxSize-Br.size;Pr>=wr?(Br.sizeHint=Br.size+wr,wr=0):(Br.sizeHint=Br.size+Pr,wr-=Pr)}let Ir=gr;for(let Hr=Lr;Hr>=0&&Ir>0;--Hr){let Rr=zt[Hr],Br=Rr.size-Rr.minSize;Br>=Ir?(Rr.sizeHint=Rr.size-Ir,Ir=0):(Rr.sizeHint=Rr.size-Br,Ir-=Br)}}})(ah||(ah={}));var Xp=class{constructor(ve){this._label="",this._caption="",this._mnemonic=-1,this._icon=void 0,this._iconClass="",this._iconLabel="",this._className="",this._closable=!1,this._changed=new jl(this),this._isDisposed=!1,this.owner=ve.owner,ve.label!==void 0&&(this._label=ve.label),ve.mnemonic!==void 0&&(this._mnemonic=ve.mnemonic),ve.icon!==void 0&&(this._icon=ve.icon),ve.iconClass!==void 0&&(this._iconClass=ve.iconClass),ve.iconLabel!==void 0&&(this._iconLabel=ve.iconLabel),ve.caption!==void 0&&(this._caption=ve.caption),ve.className!==void 0&&(this._className=ve.className),ve.closable!==void 0&&(this._closable=ve.closable),this._dataset=ve.dataset||{}}get changed(){return this._changed}get label(){return this._label}set label(ve){this._label!==ve&&(this._label=ve,this._changed.emit(void 0))}get mnemonic(){return this._mnemonic}set mnemonic(ve){this._mnemonic!==ve&&(this._mnemonic=ve,this._changed.emit(void 0))}get icon(){return this._icon}set icon(ve){this._icon!==ve&&(this._icon=ve,this._changed.emit(void 0))}get iconClass(){return this._iconClass}set iconClass(ve){this._iconClass!==ve&&(this._iconClass=ve,this._changed.emit(void 0))}get iconLabel(){return this._iconLabel}set iconLabel(ve){this._iconLabel!==ve&&(this._iconLabel=ve,this._changed.emit(void 0))}get caption(){return this._caption}set caption(ve){this._caption!==ve&&(this._caption=ve,this._changed.emit(void 0))}get className(){return this._className}set className(ve){this._className!==ve&&(this._className=ve,this._changed.emit(void 0))}get closable(){return this._closable}set closable(ve){this._closable!==ve&&(this._closable=ve,this._changed.emit(void 0))}get dataset(){return this._dataset}set dataset(ve){this._dataset!==ve&&(this._dataset=ve,this._changed.emit(void 0))}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,jl.clearData(this))}},to=class gt{constructor(ve={}){this._flags=0,this._layout=null,this._parent=null,this._disposed=new jl(this),this._hiddenMode=gt.HiddenMode.Display,this.node=Em.createNode(ve),this.addClass("lm-Widget")}dispose(){this.isDisposed||(this.setFlag(gt.Flag.IsDisposed),this._disposed.emit(void 0),this.parent?this.parent=null:this.isAttached&>.detach(this),this._layout&&(this._layout.dispose(),this._layout=null),this.title.dispose(),jl.clearData(this),Gi.clearData(this),qf.clearData(this))}get disposed(){return this._disposed}get isDisposed(){return this.testFlag(gt.Flag.IsDisposed)}get isAttached(){return this.testFlag(gt.Flag.IsAttached)}get isHidden(){return this.testFlag(gt.Flag.IsHidden)}get isVisible(){return this.testFlag(gt.Flag.IsVisible)}get title(){return Em.titleProperty.get(this)}get id(){return this.node.id}set id(ve){this.node.id=ve}get dataset(){return this.node.dataset}get hiddenMode(){return this._hiddenMode}set hiddenMode(ve){this._hiddenMode!==ve&&(this.isHidden&&this._toggleHidden(!1),ve==gt.HiddenMode.Scale?this.node.style.willChange="transform":this.node.style.willChange="auto",this._hiddenMode=ve,this.isHidden&&this._toggleHidden(!0))}get parent(){return this._parent}set parent(ve){if(this._parent!==ve){if(ve&&this.contains(ve))throw new Error("Invalid parent widget.");if(this._parent&&!this._parent.isDisposed){let rt=new gt.ChildMessage("child-removed",this);Gi.sendMessage(this._parent,rt)}if(this._parent=ve,this._parent&&!this._parent.isDisposed){let rt=new gt.ChildMessage("child-added",this);Gi.sendMessage(this._parent,rt)}this.isDisposed||Gi.sendMessage(this,gt.Msg.ParentChanged)}}get layout(){return this._layout}set layout(ve){if(this._layout!==ve){if(this.testFlag(gt.Flag.DisallowLayout))throw new Error("Cannot set widget layout.");if(this._layout)throw new Error("Cannot change widget layout.");if(ve.parent)throw new Error("Cannot change layout parent.");this._layout=ve,ve.parent=this}}*children(){this._layout&&(yield*this._layout)}contains(ve){for(let rt=ve;rt;rt=rt._parent)if(rt===this)return!0;return!1}hasClass(ve){return this.node.classList.contains(ve)}addClass(ve){this.node.classList.add(ve)}removeClass(ve){this.node.classList.remove(ve)}toggleClass(ve,rt){return rt===!0?(this.node.classList.add(ve),!0):rt===!1?(this.node.classList.remove(ve),!1):this.node.classList.toggle(ve)}update(){Gi.postMessage(this,gt.Msg.UpdateRequest)}fit(){Gi.postMessage(this,gt.Msg.FitRequest)}activate(){Gi.postMessage(this,gt.Msg.ActivateRequest)}close(){Gi.sendMessage(this,gt.Msg.CloseRequest)}show(){if(this.testFlag(gt.Flag.IsHidden)&&(this.isAttached&&(!this.parent||this.parent.isVisible)&&Gi.sendMessage(this,gt.Msg.BeforeShow),this.clearFlag(gt.Flag.IsHidden),this._toggleHidden(!1),this.isAttached&&(!this.parent||this.parent.isVisible)&&Gi.sendMessage(this,gt.Msg.AfterShow),this.parent)){let ve=new gt.ChildMessage("child-shown",this);Gi.sendMessage(this.parent,ve)}}hide(){if(!this.testFlag(gt.Flag.IsHidden)&&(this.isAttached&&(!this.parent||this.parent.isVisible)&&Gi.sendMessage(this,gt.Msg.BeforeHide),this.setFlag(gt.Flag.IsHidden),this._toggleHidden(!0),this.isAttached&&(!this.parent||this.parent.isVisible)&&Gi.sendMessage(this,gt.Msg.AfterHide),this.parent)){let ve=new gt.ChildMessage("child-hidden",this);Gi.sendMessage(this.parent,ve)}}setHidden(ve){ve?this.hide():this.show()}testFlag(ve){return(this._flags&ve)!==0}setFlag(ve){this._flags|=ve}clearFlag(ve){this._flags&=~ve}processMessage(ve){switch(ve.type){case"resize":this.notifyLayout(ve),this.onResize(ve);break;case"update-request":this.notifyLayout(ve),this.onUpdateRequest(ve);break;case"fit-request":this.notifyLayout(ve),this.onFitRequest(ve);break;case"before-show":this.notifyLayout(ve),this.onBeforeShow(ve);break;case"after-show":this.setFlag(gt.Flag.IsVisible),this.notifyLayout(ve),this.onAfterShow(ve);break;case"before-hide":this.notifyLayout(ve),this.onBeforeHide(ve);break;case"after-hide":this.clearFlag(gt.Flag.IsVisible),this.notifyLayout(ve),this.onAfterHide(ve);break;case"before-attach":this.notifyLayout(ve),this.onBeforeAttach(ve);break;case"after-attach":!this.isHidden&&(!this.parent||this.parent.isVisible)&&this.setFlag(gt.Flag.IsVisible),this.setFlag(gt.Flag.IsAttached),this.notifyLayout(ve),this.onAfterAttach(ve);break;case"before-detach":this.notifyLayout(ve),this.onBeforeDetach(ve);break;case"after-detach":this.clearFlag(gt.Flag.IsVisible),this.clearFlag(gt.Flag.IsAttached),this.notifyLayout(ve),this.onAfterDetach(ve);break;case"activate-request":this.notifyLayout(ve),this.onActivateRequest(ve);break;case"close-request":this.notifyLayout(ve),this.onCloseRequest(ve);break;case"child-added":this.notifyLayout(ve),this.onChildAdded(ve);break;case"child-removed":this.notifyLayout(ve),this.onChildRemoved(ve);break;default:this.notifyLayout(ve);break}}notifyLayout(ve){this._layout&&this._layout.processParentMessage(ve)}onCloseRequest(ve){this.parent?this.parent=null:this.isAttached&>.detach(this)}onResize(ve){}onUpdateRequest(ve){}onFitRequest(ve){}onActivateRequest(ve){}onBeforeShow(ve){}onAfterShow(ve){}onBeforeHide(ve){}onAfterHide(ve){}onBeforeAttach(ve){}onAfterAttach(ve){}onBeforeDetach(ve){}onAfterDetach(ve){}onChildAdded(ve){}onChildRemoved(ve){}_toggleHidden(ve){if(ve)switch(this._hiddenMode){case gt.HiddenMode.Display:this.addClass("lm-mod-hidden");break;case gt.HiddenMode.Scale:this.node.style.transform="scale(0)",this.node.setAttribute("aria-hidden","true");break;case gt.HiddenMode.ContentVisibility:this.node.style.contentVisibility="hidden",this.node.style.zIndex="-1";break}else switch(this._hiddenMode){case gt.HiddenMode.Display:this.removeClass("lm-mod-hidden");break;case gt.HiddenMode.Scale:this.node.style.transform="",this.node.removeAttribute("aria-hidden");break;case gt.HiddenMode.ContentVisibility:this.node.style.contentVisibility="",this.node.style.zIndex="";break}}};(function(gt){(function(zt){zt[zt.Display=0]="Display",zt[zt.Scale=1]="Scale",zt[zt.ContentVisibility=2]="ContentVisibility"})(gt.HiddenMode||(gt.HiddenMode={})),function(zt){zt[zt.IsDisposed=1]="IsDisposed",zt[zt.IsAttached=2]="IsAttached",zt[zt.IsHidden=4]="IsHidden",zt[zt.IsVisible=8]="IsVisible",zt[zt.DisallowLayout=16]="DisallowLayout"}(gt.Flag||(gt.Flag={})),function(zt){zt.BeforeShow=new jf("before-show"),zt.AfterShow=new jf("after-show"),zt.BeforeHide=new jf("before-hide"),zt.AfterHide=new jf("after-hide"),zt.BeforeAttach=new jf("before-attach"),zt.AfterAttach=new jf("after-attach"),zt.BeforeDetach=new jf("before-detach"),zt.AfterDetach=new jf("after-detach"),zt.ParentChanged=new jf("parent-changed"),zt.UpdateRequest=new Ed("update-request"),zt.FitRequest=new Ed("fit-request"),zt.ActivateRequest=new Ed("activate-request"),zt.CloseRequest=new Ed("close-request")}(gt.Msg||(gt.Msg={}));class ve extends jf{constructor(Lr,gr){super(Lr),this.child=gr}}gt.ChildMessage=ve;class rt extends jf{constructor(Lr,gr){super("resize"),this.width=Lr,this.height=gr}}gt.ResizeMessage=rt,function(zt){zt.UnknownSize=new zt(-1,-1)}(rt=gt.ResizeMessage||(gt.ResizeMessage={}));function lt(zt,Lr,gr=null){if(zt.parent)throw new Error("Cannot attach a child widget.");if(zt.isAttached||zt.node.isConnected)throw new Error("Widget is already attached.");if(!Lr.isConnected)throw new Error("Host is not attached.");Gi.sendMessage(zt,gt.Msg.BeforeAttach),Lr.insertBefore(zt.node,gr),Gi.sendMessage(zt,gt.Msg.AfterAttach)}gt.attach=lt;function Tt(zt){if(zt.parent)throw new Error("Cannot detach a child widget.");if(!zt.isAttached||!zt.node.isConnected)throw new Error("Widget is not attached.");Gi.sendMessage(zt,gt.Msg.BeforeDetach),zt.node.parentNode.removeChild(zt.node),Gi.sendMessage(zt,gt.Msg.AfterDetach)}gt.detach=Tt})(to||(to={}));var Em;(function(gt){gt.titleProperty=new qf({name:"title",create:rt=>new Xp({owner:rt})});function ve(rt){return rt.node||document.createElement(rt.tag||"div")}gt.createNode=ve})(Em||(Em={}));var od=class{constructor(ve={}){this._disposed=!1,this._parent=null,this._fitPolicy=ve.fitPolicy||"set-min-size"}dispose(){this._parent=null,this._disposed=!0,jl.clearData(this),qf.clearData(this)}get isDisposed(){return this._disposed}get parent(){return this._parent}set parent(ve){if(this._parent!==ve){if(this._parent)throw new Error("Cannot change parent widget.");if(ve.layout!==this)throw new Error("Invalid parent widget.");this._parent=ve,this.init()}}get fitPolicy(){return this._fitPolicy}set fitPolicy(ve){if(this._fitPolicy!==ve&&(this._fitPolicy=ve,this._parent)){let rt=this._parent.node.style;rt.minWidth="",rt.minHeight="",rt.maxWidth="",rt.maxHeight="",this._parent.fit()}}processParentMessage(ve){switch(ve.type){case"resize":this.onResize(ve);break;case"update-request":this.onUpdateRequest(ve);break;case"fit-request":this.onFitRequest(ve);break;case"before-show":this.onBeforeShow(ve);break;case"after-show":this.onAfterShow(ve);break;case"before-hide":this.onBeforeHide(ve);break;case"after-hide":this.onAfterHide(ve);break;case"before-attach":this.onBeforeAttach(ve);break;case"after-attach":this.onAfterAttach(ve);break;case"before-detach":this.onBeforeDetach(ve);break;case"after-detach":this.onAfterDetach(ve);break;case"child-removed":this.onChildRemoved(ve);break;case"child-shown":this.onChildShown(ve);break;case"child-hidden":this.onChildHidden(ve);break}}init(){for(let ve of this)ve.parent=this.parent}onResize(ve){for(let rt of this)Gi.sendMessage(rt,to.ResizeMessage.UnknownSize)}onUpdateRequest(ve){for(let rt of this)Gi.sendMessage(rt,to.ResizeMessage.UnknownSize)}onBeforeAttach(ve){for(let rt of this)Gi.sendMessage(rt,ve)}onAfterAttach(ve){for(let rt of this)Gi.sendMessage(rt,ve)}onBeforeDetach(ve){for(let rt of this)Gi.sendMessage(rt,ve)}onAfterDetach(ve){for(let rt of this)Gi.sendMessage(rt,ve)}onBeforeShow(ve){for(let rt of this)rt.isHidden||Gi.sendMessage(rt,ve)}onAfterShow(ve){for(let rt of this)rt.isHidden||Gi.sendMessage(rt,ve)}onBeforeHide(ve){for(let rt of this)rt.isHidden||Gi.sendMessage(rt,ve)}onAfterHide(ve){for(let rt of this)rt.isHidden||Gi.sendMessage(rt,ve)}onChildRemoved(ve){this.removeWidget(ve.child)}onFitRequest(ve){}onChildShown(ve){}onChildHidden(ve){}};(function(gt){function ve(zt){return Qv.horizontalAlignmentProperty.get(zt)}gt.getHorizontalAlignment=ve;function rt(zt,Lr){Qv.horizontalAlignmentProperty.set(zt,Lr)}gt.setHorizontalAlignment=rt;function lt(zt){return Qv.verticalAlignmentProperty.get(zt)}gt.getVerticalAlignment=lt;function Tt(zt,Lr){Qv.verticalAlignmentProperty.set(zt,Lr)}gt.setVerticalAlignment=Tt})(od||(od={}));var sv=class{constructor(ve){this._top=NaN,this._left=NaN,this._width=NaN,this._height=NaN,this._minWidth=0,this._minHeight=0,this._maxWidth=1/0,this._maxHeight=1/0,this._disposed=!1,this.widget=ve,this.widget.node.style.position="absolute",this.widget.node.style.contain="strict"}dispose(){if(this._disposed)return;this._disposed=!0;let ve=this.widget.node.style;ve.position="",ve.top="",ve.left="",ve.width="",ve.height="",ve.contain=""}get minWidth(){return this._minWidth}get minHeight(){return this._minHeight}get maxWidth(){return this._maxWidth}get maxHeight(){return this._maxHeight}get isDisposed(){return this._disposed}get isHidden(){return this.widget.isHidden}get isVisible(){return this.widget.isVisible}get isAttached(){return this.widget.isAttached}fit(){let ve=Zl.sizeLimits(this.widget.node);this._minWidth=ve.minWidth,this._minHeight=ve.minHeight,this._maxWidth=ve.maxWidth,this._maxHeight=ve.maxHeight}update(ve,rt,lt,Tt){let zt=Math.max(this._minWidth,Math.min(lt,this._maxWidth)),Lr=Math.max(this._minHeight,Math.min(Tt,this._maxHeight));if(zt"center",changed:ve}),gt.verticalAlignmentProperty=new qf({name:"verticalAlignment",create:()=>"top",changed:ve});function ve(rt){rt.parent&&rt.parent.layout&&rt.parent.update()}})(Qv||(Qv={}));var ep=class extends od{constructor(){super(...arguments),this._widgets=[]}dispose(){for(;this._widgets.length>0;)this._widgets.pop().dispose();super.dispose()}get widgets(){return this._widgets}*[Symbol.iterator](){yield*this._widgets}addWidget(ve){this.insertWidget(this._widgets.length,ve)}insertWidget(ve,rt){rt.parent=this.parent;let lt=this._widgets.indexOf(rt),Tt=Math.max(0,Math.min(ve,this._widgets.length));if(lt===-1){Li.ArrayExt.insert(this._widgets,Tt,rt),this.parent&&this.attachWidget(Tt,rt);return}Tt===this._widgets.length&&Tt--,lt!==Tt&&(Li.ArrayExt.move(this._widgets,lt,Tt),this.parent&&this.moveWidget(lt,Tt,rt))}removeWidget(ve){this.removeWidgetAt(this._widgets.indexOf(ve))}removeWidgetAt(ve){let rt=Li.ArrayExt.removeAt(this._widgets,ve);rt&&this.parent&&this.detachWidget(ve,rt)}init(){super.init();let ve=0;for(let rt of this)this.attachWidget(ve++,rt)}attachWidget(ve,rt){let lt=this.parent.node.children[ve];this.parent.isAttached&&Gi.sendMessage(rt,to.Msg.BeforeAttach),this.parent.node.insertBefore(rt.node,lt),this.parent.isAttached&&Gi.sendMessage(rt,to.Msg.AfterAttach)}moveWidget(ve,rt,lt){this.parent.isAttached&&Gi.sendMessage(lt,to.Msg.BeforeDetach),this.parent.node.removeChild(lt.node),this.parent.isAttached&&Gi.sendMessage(lt,to.Msg.AfterDetach);let Tt=this.parent.node.children[rt];this.parent.isAttached&&Gi.sendMessage(lt,to.Msg.BeforeAttach),this.parent.node.insertBefore(lt.node,Tt),this.parent.isAttached&&Gi.sendMessage(lt,to.Msg.AfterAttach)}detachWidget(ve,rt){this.parent.isAttached&&Gi.sendMessage(rt,to.Msg.BeforeDetach),this.parent.node.removeChild(rt.node),this.parent.isAttached&&Gi.sendMessage(rt,to.Msg.AfterDetach)}},$p;(function(gt){function ve(rt){return Math.max(0,Math.floor(rt))}gt.clampDimension=ve})($p||($p={}));var Zp=$p,sd=class gt extends ep{constructor(ve){super(),this.widgetOffset=0,this._fixed=0,this._spacing=4,this._dirty=!1,this._hasNormedSizes=!1,this._sizers=[],this._items=[],this._handles=[],this._box=null,this._alignment="start",this._orientation="horizontal",this.renderer=ve.renderer,ve.orientation!==void 0&&(this._orientation=ve.orientation),ve.alignment!==void 0&&(this._alignment=ve.alignment),ve.spacing!==void 0&&(this._spacing=$p.clampDimension(ve.spacing))}dispose(){for(let ve of this._items)ve.dispose();this._box=null,this._items.length=0,this._sizers.length=0,this._handles.length=0,super.dispose()}get orientation(){return this._orientation}set orientation(ve){this._orientation!==ve&&(this._orientation=ve,this.parent&&(this.parent.dataset.orientation=ve,this.parent.fit()))}get alignment(){return this._alignment}set alignment(ve){this._alignment!==ve&&(this._alignment=ve,this.parent&&(this.parent.dataset.alignment=ve,this.parent.update()))}get spacing(){return this._spacing}set spacing(ve){ve=$p.clampDimension(ve),this._spacing!==ve&&(this._spacing=ve,this.parent&&this.parent.fit())}get handles(){return this._handles}absoluteSizes(){return this._sizers.map(ve=>ve.size)}relativeSizes(){return nd.normalize(this._sizers.map(ve=>ve.size))}setRelativeSizes(ve,rt=!0){let lt=this._sizers.length,Tt=ve.slice(0,lt);for(;Tt.length0&&(zt.sizeHint=zt.size);ah.adjust(this._sizers,ve,Tt),this.parent&&this.parent.update()}}init(){this.parent.dataset.orientation=this.orientation,this.parent.dataset.alignment=this.alignment,super.init()}attachWidget(ve,rt){let lt=new sv(rt),Tt=nd.createHandle(this.renderer),zt=nd.averageSize(this._sizers),Lr=nd.createSizer(zt);Li.ArrayExt.insert(this._items,ve,lt),Li.ArrayExt.insert(this._sizers,ve,Lr),Li.ArrayExt.insert(this._handles,ve,Tt),this.parent.isAttached&&Gi.sendMessage(rt,to.Msg.BeforeAttach),this.parent.node.appendChild(rt.node),this.parent.node.appendChild(Tt),this.parent.isAttached&&Gi.sendMessage(rt,to.Msg.AfterAttach),this.parent.fit()}moveWidget(ve,rt,lt){Li.ArrayExt.move(this._items,ve,rt),Li.ArrayExt.move(this._sizers,ve,rt),Li.ArrayExt.move(this._handles,ve,rt),this.parent.fit()}detachWidget(ve,rt){let lt=Li.ArrayExt.removeAt(this._items,ve),Tt=Li.ArrayExt.removeAt(this._handles,ve);Li.ArrayExt.removeAt(this._sizers,ve),this.parent.isAttached&&Gi.sendMessage(rt,to.Msg.BeforeDetach),this.parent.node.removeChild(rt.node),this.parent.node.removeChild(Tt),this.parent.isAttached&&Gi.sendMessage(rt,to.Msg.AfterDetach),lt.dispose(),this.parent.fit()}onBeforeShow(ve){super.onBeforeShow(ve),this.parent.update()}onBeforeAttach(ve){super.onBeforeAttach(ve),this.parent.fit()}onChildShown(ve){this.parent.fit()}onChildHidden(ve){this.parent.fit()}onResize(ve){this.parent.isVisible&&this._update(ve.width,ve.height)}onUpdateRequest(ve){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(ve){this.parent.isAttached&&this._fit()}updateItemPosition(ve,rt,lt,Tt,zt,Lr,gr){let Mr=this._items[ve];if(Mr.isHidden)return;let Ur=this._handles[ve].style;rt?(lt+=this.widgetOffset,Mr.update(lt,Tt,gr,zt),lt+=gr,Ur.top=`${Tt}px`,Ur.left=`${lt}px`,Ur.width=`${this._spacing}px`,Ur.height=`${zt}px`):(Tt+=this.widgetOffset,Mr.update(lt,Tt,Lr,gr),Tt+=gr,Ur.top=`${Tt}px`,Ur.left=`${lt}px`,Ur.width=`${Lr}px`,Ur.height=`${this._spacing}px`)}_fit(){let ve=0,rt=-1;for(let Mr=0,Ur=this._items.length;Mr0&&(Ir.sizeHint=Ir.size),wr.isHidden){Ir.minSize=0,Ir.maxSize=0;continue}wr.fit(),Ir.stretch=gt.getStretch(wr.widget),lt?(Ir.minSize=wr.minWidth,Ir.maxSize=wr.maxWidth,Tt+=wr.minWidth,zt=Math.max(zt,wr.minHeight)):(Ir.minSize=wr.minHeight,Ir.maxSize=wr.maxHeight,zt+=wr.minHeight,Tt=Math.max(Tt,wr.minWidth))}let Lr=this._box=Zl.boxSizing(this.parent.node);Tt+=Lr.horizontalSum,zt+=Lr.verticalSum;let gr=this.parent.node.style;gr.minWidth=`${Tt}px`,gr.minHeight=`${zt}px`,this._dirty=!0,this.parent.parent&&Gi.sendMessage(this.parent.parent,to.Msg.FitRequest),this._dirty&&Gi.sendMessage(this.parent,to.Msg.UpdateRequest)}_update(ve,rt){this._dirty=!1;let lt=0;for(let Ir=0,Hr=this._items.length;Ir0){let Ir;if(wr?Ir=Math.max(0,Lr-this._fixed):Ir=Math.max(0,gr-this._fixed),this._hasNormedSizes){for(let Rr of this._sizers)Rr.sizeHint*=Ir;this._hasNormedSizes=!1}let Hr=ah.calc(this._sizers,Ir);if(Hr>0)switch(this._alignment){case"start":break;case"center":Mr=0,Ur=Hr/2;break;case"end":Mr=0,Ur=Hr;break;case"justify":Mr=Hr/lt,Ur=0;break;default:throw"unreachable"}}for(let Ir=0,Hr=this._items.length;Ir0,coerce:(Lr,gr)=>Math.max(0,Math.floor(gr)),changed:zt});function ve(Lr){let gr=new Bh;return gr.sizeHint=Math.floor(Lr),gr}gt.createSizer=ve;function rt(Lr){let gr=Lr.createHandle();return gr.style.position="absolute",gr.style.contain="style",gr}gt.createHandle=rt;function lt(Lr){return Lr.reduce((gr,Mr)=>gr+Mr.size,0)/Lr.length||0}gt.averageSize=lt;function Tt(Lr){let gr=Lr.length;if(gr===0)return[];let Mr=Lr.reduce((Ur,wr)=>Ur+Math.abs(wr),0);return Mr===0?Lr.map(Ur=>1/gr):Lr.map(Ur=>Ur/Mr)}gt.normalize=Tt;function zt(Lr){Lr.parent&&Lr.parent.layout instanceof sd&&Lr.parent.fit()}})(nd||(nd={}));var Uy=class extends sd{constructor(ve){super({...ve,orientation:ve.orientation||"vertical"}),this._titles=[],this.titleSpace=ve.titleSpace||22}get titleSpace(){return this.widgetOffset}set titleSpace(ve){ve=Zp.clampDimension(ve),this.widgetOffset!==ve&&(this.widgetOffset=ve,this.parent&&this.parent.fit())}get titles(){return this._titles}dispose(){this.isDisposed||(this._titles.length=0,super.dispose())}updateTitle(ve,rt){let lt=this._titles[ve],Tt=lt.classList.contains("lm-mod-expanded"),zt=km.createTitle(this.renderer,rt.title,Tt);this._titles[ve]=zt,this.parent.node.replaceChild(zt,lt)}insertWidget(ve,rt){rt.id||(rt.id=`id-${id.UUID.uuid4()}`),super.insertWidget(ve,rt)}attachWidget(ve,rt){let lt=km.createTitle(this.renderer,rt.title);Li.ArrayExt.insert(this._titles,ve,lt),this.parent.node.appendChild(lt),rt.node.setAttribute("role","region"),rt.node.setAttribute("aria-labelledby",lt.id),super.attachWidget(ve,rt)}moveWidget(ve,rt,lt){Li.ArrayExt.move(this._titles,ve,rt),super.moveWidget(ve,rt,lt)}detachWidget(ve,rt){let lt=Li.ArrayExt.removeAt(this._titles,ve);this.parent.node.removeChild(lt),super.detachWidget(ve,rt)}updateItemPosition(ve,rt,lt,Tt,zt,Lr,gr){let Mr=this._titles[ve].style;Mr.top=`${Tt}px`,Mr.left=`${lt}px`,Mr.height=`${this.widgetOffset}px`,rt?Mr.width=`${zt}px`:Mr.width=`${Lr}px`,super.updateItemPosition(ve,rt,lt,Tt,zt,Lr,gr)}},km;(function(gt){function ve(rt,lt,Tt=!0){let zt=rt.createSectionTitle(lt);return zt.style.position="absolute",zt.style.contain="strict",zt.setAttribute("aria-label",`${lt.label} Section`),zt.setAttribute("aria-expanded",Tt?"true":"false"),zt.setAttribute("aria-controls",lt.owner.id),Tt&&zt.classList.add("lm-mod-expanded"),zt}gt.createTitle=ve})(km||(km={}));var Cm=class extends to{constructor(ve={}){super(),this.addClass("lm-Panel"),this.layout=jy.createLayout(ve)}get widgets(){return this.layout.widgets}addWidget(ve){this.layout.addWidget(ve)}insertWidget(ve,rt){this.layout.insertWidget(ve,rt)}},jy;(function(gt){function ve(rt){return rt.layout||new ep}gt.createLayout=ve})(jy||(jy={}));var lv=class extends Cm{constructor(ve={}){super({layout:qy.createLayout(ve)}),this._handleMoved=new jl(this),this._pressData=null,this.addClass("lm-SplitPanel")}dispose(){this._releaseMouse(),super.dispose()}get orientation(){return this.layout.orientation}set orientation(ve){this.layout.orientation=ve}get alignment(){return this.layout.alignment}set alignment(ve){this.layout.alignment=ve}get spacing(){return this.layout.spacing}set spacing(ve){this.layout.spacing=ve}get renderer(){return this.layout.renderer}get handleMoved(){return this._handleMoved}get handles(){return this.layout.handles}relativeSizes(){return this.layout.relativeSizes()}setRelativeSizes(ve,rt=!0){this.layout.setRelativeSizes(ve,rt)}handleEvent(ve){switch(ve.type){case"pointerdown":this._evtPointerDown(ve);break;case"pointermove":this._evtPointerMove(ve);break;case"pointerup":this._evtPointerUp(ve);break;case"keydown":this._evtKeyDown(ve);break;case"contextmenu":ve.preventDefault(),ve.stopPropagation();break}}onBeforeAttach(ve){this.node.addEventListener("pointerdown",this)}onAfterDetach(ve){this.node.removeEventListener("pointerdown",this),this._releaseMouse()}onChildAdded(ve){ve.child.addClass("lm-SplitPanel-child"),this._releaseMouse()}onChildRemoved(ve){ve.child.removeClass("lm-SplitPanel-child"),this._releaseMouse()}_evtKeyDown(ve){this._pressData&&(ve.preventDefault(),ve.stopPropagation()),ve.keyCode===27&&this._releaseMouse()}_evtPointerDown(ve){if(ve.button!==0)return;let rt=this.layout,lt=Li.ArrayExt.findFirstIndex(rt.handles,Ur=>Ur.contains(ve.target));if(lt===-1)return;ve.preventDefault(),ve.stopPropagation(),document.addEventListener("pointerup",this,!0),document.addEventListener("pointermove",this,!0),document.addEventListener("keydown",this,!0),document.addEventListener("contextmenu",this,!0);let Tt,zt=rt.handles[lt],Lr=zt.getBoundingClientRect();rt.orientation==="horizontal"?Tt=ve.clientX-Lr.left:Tt=ve.clientY-Lr.top;let gr=window.getComputedStyle(zt),Mr=Vf.overrideCursor(gr.cursor);this._pressData={index:lt,delta:Tt,override:Mr}}_evtPointerMove(ve){ve.preventDefault(),ve.stopPropagation();let rt,lt=this.layout,Tt=this.node.getBoundingClientRect();lt.orientation==="horizontal"?rt=ve.clientX-Tt.left-this._pressData.delta:rt=ve.clientY-Tt.top-this._pressData.delta,lt.moveHandle(this._pressData.index,rt)}_evtPointerUp(ve){ve.button===0&&(ve.preventDefault(),ve.stopPropagation(),this._releaseMouse())}_releaseMouse(){this._pressData&&(this._pressData.override.dispose(),this._pressData=null,this._handleMoved.emit(),document.removeEventListener("keydown",this,!0),document.removeEventListener("pointerup",this,!0),document.removeEventListener("pointermove",this,!0),document.removeEventListener("contextmenu",this,!0))}};(function(gt){class ve{createHandle(){let zt=document.createElement("div");return zt.className="lm-SplitPanel-handle",zt}}gt.Renderer=ve,gt.defaultRenderer=new ve;function rt(Tt){return sd.getStretch(Tt)}gt.getStretch=rt;function lt(Tt,zt){sd.setStretch(Tt,zt)}gt.setStretch=lt})(lv||(lv={}));var qy;(function(gt){function ve(rt){return rt.layout||new sd({renderer:rt.renderer||lv.defaultRenderer,orientation:rt.orientation,alignment:rt.alignment,spacing:rt.spacing})}gt.createLayout=ve})(qy||(qy={}));var Kp=class extends lv{constructor(ve={}){super({...ve,layout:Vy.createLayout(ve)}),this._widgetSizesCache=new WeakMap,this._expansionToggled=new jl(this),this.addClass("lm-AccordionPanel")}get renderer(){return this.layout.renderer}get titleSpace(){return this.layout.titleSpace}set titleSpace(ve){this.layout.titleSpace=ve}get titles(){return this.layout.titles}get expansionToggled(){return this._expansionToggled}addWidget(ve){super.addWidget(ve),ve.title.changed.connect(this._onTitleChanged,this)}collapse(ve){let rt=this.layout.widgets[ve];rt&&!rt.isHidden&&this._toggleExpansion(ve)}expand(ve){let rt=this.layout.widgets[ve];rt&&rt.isHidden&&this._toggleExpansion(ve)}insertWidget(ve,rt){super.insertWidget(ve,rt),rt.title.changed.connect(this._onTitleChanged,this)}handleEvent(ve){switch(super.handleEvent(ve),ve.type){case"click":this._evtClick(ve);break;case"keydown":this._eventKeyDown(ve);break}}onBeforeAttach(ve){this.node.addEventListener("click",this),this.node.addEventListener("keydown",this),super.onBeforeAttach(ve)}onAfterDetach(ve){super.onAfterDetach(ve),this.node.removeEventListener("click",this),this.node.removeEventListener("keydown",this)}_onTitleChanged(ve){let rt=Li.ArrayExt.findFirstIndex(this.widgets,lt=>lt.contains(ve.owner));rt>=0&&(this.layout.updateTitle(rt,ve.owner),this.update())}_computeWidgetSize(ve){let rt=this.layout,lt=rt.widgets[ve];if(!lt)return;let Tt=lt.isHidden,zt=rt.absoluteSizes(),Lr=(Tt?-1:1)*this.spacing,gr=zt.reduce((Ur,wr)=>Ur+wr),Mr=[...zt];if(Tt){let Ur=this._widgetSizesCache.get(lt);if(!Ur)return;Mr[ve]+=Ur;let wr=Mr.map(Ir=>Ir-Ur>0).lastIndexOf(!0);wr===-1?Mr.forEach((Ir,Hr)=>{Hr!==ve&&(Mr[Hr]-=zt[Hr]/gr*(Ur-Lr))}):Mr[wr]-=Ur-Lr}else{let Ur=zt[ve];this._widgetSizesCache.set(lt,Ur),Mr[ve]=0;let wr=Mr.map(Ir=>Ir>0).lastIndexOf(!0);if(wr===-1)return;Mr[wr]=zt[wr]+Ur+Lr}return Mr.map(Ur=>Ur/(gr+Lr))}_evtClick(ve){let rt=ve.target;if(rt){let lt=Li.ArrayExt.findFirstIndex(this.titles,Tt=>Tt.contains(rt));lt>=0&&(ve.preventDefault(),ve.stopPropagation(),this._toggleExpansion(lt))}}_eventKeyDown(ve){if(ve.defaultPrevented)return;let rt=ve.target,lt=!1;if(rt){let Tt=Li.ArrayExt.findFirstIndex(this.titles,zt=>zt.contains(rt));if(Tt>=0){let zt=ve.keyCode.toString();if(ve.key.match(/Space|Enter/)||zt.match(/13|32/))rt.click(),lt=!0;else if(this.orientation==="horizontal"?ve.key.match(/ArrowLeft|ArrowRight/)||zt.match(/37|39/):ve.key.match(/ArrowUp|ArrowDown/)||zt.match(/38|40/)){let Lr=ve.key.match(/ArrowLeft|ArrowUp/)||zt.match(/37|38/)?-1:1,gr=this.titles.length,Mr=(Tt+gr+Lr)%gr;this.titles[Mr].focus(),lt=!0}else ve.key==="End"||zt==="35"?(this.titles[this.titles.length-1].focus(),lt=!0):(ve.key==="Home"||zt==="36")&&(this.titles[0].focus(),lt=!0)}lt&&ve.preventDefault()}}_toggleExpansion(ve){let rt=this.titles[ve],lt=this.layout.widgets[ve],Tt=this._computeWidgetSize(ve);Tt&&this.setRelativeSizes(Tt,!1),lt.isHidden?(rt.classList.add("lm-mod-expanded"),rt.setAttribute("aria-expanded","true"),lt.show()):(rt.classList.remove("lm-mod-expanded"),rt.setAttribute("aria-expanded","false"),lt.hide()),this._expansionToggled.emit(ve)}};(function(gt){class ve extends lv.Renderer{constructor(){super(),this.titleClassName="lm-AccordionPanel-title",this._titleID=0,this._titleKeys=new WeakMap,this._uuid=++ve._nInstance}createCollapseIcon(lt){return document.createElement("span")}createSectionTitle(lt){let Tt=document.createElement("h3");Tt.setAttribute("tabindex","0"),Tt.id=this.createTitleKey(lt),Tt.className=this.titleClassName;for(let gr in lt.dataset)Tt.dataset[gr]=lt.dataset[gr];let zt=Tt.appendChild(this.createCollapseIcon(lt));zt.className="lm-AccordionPanel-titleCollapser";let Lr=Tt.appendChild(document.createElement("span"));return Lr.className="lm-AccordionPanel-titleLabel",Lr.textContent=lt.label,Lr.title=lt.caption||lt.label,Tt}createTitleKey(lt){let Tt=this._titleKeys.get(lt);return Tt===void 0&&(Tt=`title-key-${this._uuid}-${this._titleID++}`,this._titleKeys.set(lt,Tt)),Tt}}ve._nInstance=0,gt.Renderer=ve,gt.defaultRenderer=new ve})(Kp||(Kp={}));var Vy;(function(gt){function ve(rt){return rt.layout||new Uy({renderer:rt.renderer||Kp.defaultRenderer,orientation:rt.orientation,alignment:rt.alignment,spacing:rt.spacing,titleSpace:rt.titleSpace})}gt.createLayout=ve})(Vy||(Vy={}));var zh=class gt extends ep{constructor(ve={}){super(),this._fixed=0,this._spacing=4,this._dirty=!1,this._sizers=[],this._items=[],this._box=null,this._alignment="start",this._direction="top-to-bottom",ve.direction!==void 0&&(this._direction=ve.direction),ve.alignment!==void 0&&(this._alignment=ve.alignment),ve.spacing!==void 0&&(this._spacing=Zp.clampDimension(ve.spacing))}dispose(){for(let ve of this._items)ve.dispose();this._box=null,this._items.length=0,this._sizers.length=0,super.dispose()}get direction(){return this._direction}set direction(ve){this._direction!==ve&&(this._direction=ve,this.parent&&(this.parent.dataset.direction=ve,this.parent.fit()))}get alignment(){return this._alignment}set alignment(ve){this._alignment!==ve&&(this._alignment=ve,this.parent&&(this.parent.dataset.alignment=ve,this.parent.update()))}get spacing(){return this._spacing}set spacing(ve){ve=Zp.clampDimension(ve),this._spacing!==ve&&(this._spacing=ve,this.parent&&this.parent.fit())}init(){this.parent.dataset.direction=this.direction,this.parent.dataset.alignment=this.alignment,super.init()}attachWidget(ve,rt){Li.ArrayExt.insert(this._items,ve,new sv(rt)),Li.ArrayExt.insert(this._sizers,ve,new Bh),this.parent.isAttached&&Gi.sendMessage(rt,to.Msg.BeforeAttach),this.parent.node.appendChild(rt.node),this.parent.isAttached&&Gi.sendMessage(rt,to.Msg.AfterAttach),this.parent.fit()}moveWidget(ve,rt,lt){Li.ArrayExt.move(this._items,ve,rt),Li.ArrayExt.move(this._sizers,ve,rt),this.parent.update()}detachWidget(ve,rt){let lt=Li.ArrayExt.removeAt(this._items,ve);Li.ArrayExt.removeAt(this._sizers,ve),this.parent.isAttached&&Gi.sendMessage(rt,to.Msg.BeforeDetach),this.parent.node.removeChild(rt.node),this.parent.isAttached&&Gi.sendMessage(rt,to.Msg.AfterDetach),lt.dispose(),this.parent.fit()}onBeforeShow(ve){super.onBeforeShow(ve),this.parent.update()}onBeforeAttach(ve){super.onBeforeAttach(ve),this.parent.fit()}onChildShown(ve){this.parent.fit()}onChildHidden(ve){this.parent.fit()}onResize(ve){this.parent.isVisible&&this._update(ve.width,ve.height)}onUpdateRequest(ve){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(ve){this.parent.isAttached&&this._fit()}_fit(){let ve=0;for(let gr=0,Mr=this._items.length;gr0)switch(this._alignment){case"start":break;case"center":Ur=0,wr=Mr/2;break;case"end":Ur=0,wr=Mr;break;case"justify":Ur=Mr/lt,wr=0;break;default:throw"unreachable"}for(let Ir=0,Hr=this._items.length;Ir0,coerce:(Tt,zt)=>Math.max(0,Math.floor(zt)),changed:lt}),gt.sizeBasisProperty=new qf({name:"sizeBasis",create:()=>0,coerce:(Tt,zt)=>Math.max(0,Math.floor(zt)),changed:lt});function ve(Tt){return Tt==="left-to-right"||Tt==="right-to-left"}gt.isHorizontal=ve;function rt(Tt){return Math.max(0,Math.floor(Tt))}gt.clampSpacing=rt;function lt(Tt){Tt.parent&&Tt.parent.layout instanceof zh&&Tt.parent.fit()}})(iv||(iv={}));var Lm=class extends Cm{constructor(ve={}){super({layout:Hy.createLayout(ve)}),this.addClass("lm-BoxPanel")}get direction(){return this.layout.direction}set direction(ve){this.layout.direction=ve}get alignment(){return this.layout.alignment}set alignment(ve){this.layout.alignment=ve}get spacing(){return this.layout.spacing}set spacing(ve){this.layout.spacing=ve}onChildAdded(ve){ve.child.addClass("lm-BoxPanel-child")}onChildRemoved(ve){ve.child.removeClass("lm-BoxPanel-child")}};(function(gt){function ve(zt){return zh.getStretch(zt)}gt.getStretch=ve;function rt(zt,Lr){zh.setStretch(zt,Lr)}gt.setStretch=rt;function lt(zt){return zh.getSizeBasis(zt)}gt.getSizeBasis=lt;function Tt(zt,Lr){zh.setSizeBasis(zt,Lr)}gt.setSizeBasis=Tt})(Lm||(Lm={}));var Hy;(function(gt){function ve(rt){return rt.layout||new zh(rt)}gt.createLayout=ve})(Hy||(Hy={}));var Pm=class gt extends to{constructor(ve){super({node:ad.createNode()}),this._activeIndex=-1,this._items=[],this._results=null,this.addClass("lm-CommandPalette"),this.setFlag(to.Flag.DisallowLayout),this.commands=ve.commands,this.renderer=ve.renderer||gt.defaultRenderer,this.commands.commandChanged.connect(this._onGenericChange,this),this.commands.keyBindingChanged.connect(this._onGenericChange,this)}dispose(){this._items.length=0,this._results=null,super.dispose()}get searchNode(){return this.node.getElementsByClassName("lm-CommandPalette-search")[0]}get inputNode(){return this.node.getElementsByClassName("lm-CommandPalette-input")[0]}get contentNode(){return this.node.getElementsByClassName("lm-CommandPalette-content")[0]}get items(){return this._items}addItem(ve){let rt=ad.createItem(this.commands,ve);return this._items.push(rt),this.refresh(),rt}addItems(ve){let rt=ve.map(lt=>ad.createItem(this.commands,lt));return rt.forEach(lt=>this._items.push(lt)),this.refresh(),rt}removeItem(ve){this.removeItemAt(this._items.indexOf(ve))}removeItemAt(ve){Li.ArrayExt.removeAt(this._items,ve)&&this.refresh()}clearItems(){this._items.length!==0&&(this._items.length=0,this.refresh())}refresh(){if(this._results=null,this.inputNode.value!==""){let ve=this.node.getElementsByClassName("lm-close-icon")[0];ve.style.display="inherit"}else{let ve=this.node.getElementsByClassName("lm-close-icon")[0];ve.style.display="none"}this.update()}handleEvent(ve){switch(ve.type){case"click":this._evtClick(ve);break;case"keydown":this._evtKeyDown(ve);break;case"input":this.refresh();break;case"focus":case"blur":this._toggleFocused();break}}onBeforeAttach(ve){this.node.addEventListener("click",this),this.node.addEventListener("keydown",this),this.node.addEventListener("input",this),this.node.addEventListener("focus",this,!0),this.node.addEventListener("blur",this,!0)}onAfterDetach(ve){this.node.removeEventListener("click",this),this.node.removeEventListener("keydown",this),this.node.removeEventListener("input",this),this.node.removeEventListener("focus",this,!0),this.node.removeEventListener("blur",this,!0)}onAfterShow(ve){this.update(),super.onAfterShow(ve)}onActivateRequest(ve){if(this.isAttached){let rt=this.inputNode;rt.focus(),rt.select()}}onUpdateRequest(ve){if(this.isHidden)return;let rt=this.inputNode.value,lt=this.contentNode,Tt=this._results;if(Tt||(Tt=this._results=ad.search(this._items,rt),this._activeIndex=rt?Li.ArrayExt.findFirstIndex(Tt,ad.canActivate):-1),!rt&&Tt.length===0){rd.render(null,lt);return}if(rt&&Tt.length===0){let Mr=this.renderer.renderEmptyMessage({query:rt});rd.render(Mr,lt);return}let zt=this.renderer,Lr=this._activeIndex,gr=new Array(Tt.length);for(let Mr=0,Ur=Tt.length;Mr=Tt.length)lt.scrollTop=0;else{let Mr=lt.children[Lr];Zl.scrollIntoViewIfNeeded(lt,Mr)}}_evtClick(ve){if(ve.button!==0)return;if(ve.target.classList.contains("lm-close-icon")){this.inputNode.value="",this.refresh();return}let rt=Li.ArrayExt.findFirstIndex(this.contentNode.children,lt=>lt.contains(ve.target));rt!==-1&&(ve.preventDefault(),ve.stopPropagation(),this._execute(rt))}_evtKeyDown(ve){if(!(ve.altKey||ve.ctrlKey||ve.metaKey||ve.shiftKey))switch(ve.keyCode){case 13:ve.preventDefault(),ve.stopPropagation(),this._execute(this._activeIndex);break;case 38:ve.preventDefault(),ve.stopPropagation(),this._activatePreviousItem();break;case 40:ve.preventDefault(),ve.stopPropagation(),this._activateNextItem();break}}_activateNextItem(){if(!this._results||this._results.length===0)return;let ve=this._activeIndex,rt=this._results.length,lt=veii-Ni),Pn=Ka.slice(0,Ja),Na=Ka.slice(Ja);for(let ii=0,Ni=Na.length;iiPr.command===Rr&&id.JSONExt.deepEqual(Pr.args,Br))||null}}})(ad||(ad={}));var ov=class gt extends to{constructor(ve){super({node:Hf.createNode()}),this._childIndex=-1,this._activeIndex=-1,this._openTimerID=0,this._closeTimerID=0,this._items=[],this._childMenu=null,this._parentMenu=null,this._aboutToClose=new jl(this),this._menuRequested=new jl(this),this.addClass("lm-Menu"),this.setFlag(to.Flag.DisallowLayout),this.commands=ve.commands,this.renderer=ve.renderer||gt.defaultRenderer}dispose(){this.close(),this._items.length=0,super.dispose()}get aboutToClose(){return this._aboutToClose}get menuRequested(){return this._menuRequested}get parentMenu(){return this._parentMenu}get childMenu(){return this._childMenu}get rootMenu(){let ve=this;for(;ve._parentMenu;)ve=ve._parentMenu;return ve}get leafMenu(){let ve=this;for(;ve._childMenu;)ve=ve._childMenu;return ve}get contentNode(){return this.node.getElementsByClassName("lm-Menu-content")[0]}get activeItem(){return this._items[this._activeIndex]||null}set activeItem(ve){this.activeIndex=ve?this._items.indexOf(ve):-1}get activeIndex(){return this._activeIndex}set activeIndex(ve){(ve<0||ve>=this._items.length)&&(ve=-1),ve!==-1&&!Hf.canActivate(this._items[ve])&&(ve=-1),this._activeIndex!==ve&&(this._activeIndex=ve,this._activeIndex>=0&&this.contentNode.childNodes[this._activeIndex]&&this.contentNode.childNodes[this._activeIndex].focus(),this.update())}get items(){return this._items}activateNextItem(){let ve=this._items.length,rt=this._activeIndex,lt=rt{this.activeIndex=gr}})}rd.render(Lr,this.contentNode)}onCloseRequest(ve){this._cancelOpenTimer(),this._cancelCloseTimer(),this.activeIndex=-1;let rt=this._childMenu;rt&&(this._childIndex=-1,this._childMenu=null,rt._parentMenu=null,rt.close());let lt=this._parentMenu;lt&&(this._parentMenu=null,lt._childIndex=-1,lt._childMenu=null,lt.activate()),this.isAttached&&this._aboutToClose.emit(void 0),super.onCloseRequest(ve)}_evtKeyDown(ve){ve.preventDefault(),ve.stopPropagation();let rt=ve.keyCode;if(rt===13){this.triggerActiveItem();return}if(rt===27){this.close();return}if(rt===37){this._parentMenu?this.close():this._menuRequested.emit("previous");return}if(rt===38){this.activatePreviousItem();return}if(rt===39){let Lr=this.activeItem;Lr&&Lr.type==="submenu"?this.triggerActiveItem():this.rootMenu._menuRequested.emit("next");return}if(rt===40){this.activateNextItem();return}let lt=Zv().keyForKeydownEvent(ve);if(!lt)return;let Tt=this._activeIndex+1,zt=Hf.findMnemonic(this._items,lt,Tt);zt.index!==-1&&!zt.multiple?(this.activeIndex=zt.index,this.triggerActiveItem()):zt.index!==-1?this.activeIndex=zt.index:zt.auto!==-1&&(this.activeIndex=zt.auto)}_evtMouseUp(ve){ve.button===0&&(ve.preventDefault(),ve.stopPropagation(),this.triggerActiveItem())}_evtMouseMove(ve){let rt=Li.ArrayExt.findFirstIndex(this.contentNode.children,Tt=>Zl.hitTest(Tt,ve.clientX,ve.clientY));if(rt===this._activeIndex)return;if(this.activeIndex=rt,rt=this.activeIndex,rt===this._childIndex){this._cancelOpenTimer(),this._cancelCloseTimer();return}this._childIndex!==-1&&this._startCloseTimer(),this._cancelOpenTimer();let lt=this.activeItem;!lt||lt.type!=="submenu"||!lt.submenu||this._startOpenTimer()}_evtMouseEnter(ve){for(let rt=this._parentMenu;rt;rt=rt._parentMenu)rt._cancelOpenTimer(),rt._cancelCloseTimer(),rt.activeIndex=rt._childIndex}_evtMouseLeave(ve){if(this._cancelOpenTimer(),!this._childMenu){this.activeIndex=-1;return}let{clientX:rt,clientY:lt}=ve;if(Zl.hitTest(this._childMenu.node,rt,lt)){this._cancelCloseTimer();return}this.activeIndex=-1,this._startCloseTimer()}_evtMouseDown(ve){this._parentMenu||(Hf.hitTestMenus(this,ve.clientX,ve.clientY)?(ve.preventDefault(),ve.stopPropagation()):this.close())}_openChildMenu(ve=!1){let rt=this.activeItem;if(!rt||rt.type!=="submenu"||!rt.submenu){this._closeChildMenu();return}let lt=rt.submenu;if(lt===this._childMenu)return;gt.saveWindowData(),this._closeChildMenu(),this._childMenu=lt,this._childIndex=this._activeIndex,lt._parentMenu=this,Gi.sendMessage(this,to.Msg.UpdateRequest);let Tt=this.contentNode.children[this._activeIndex];Hf.openSubmenu(lt,Tt),ve&&(lt.activeIndex=-1,lt.activateNextItem()),lt.activate()}_closeChildMenu(){this._childMenu&&this._childMenu.close()}_startOpenTimer(){this._openTimerID===0&&(this._openTimerID=window.setTimeout(()=>{this._openTimerID=0,this._openChildMenu()},Hf.TIMER_DELAY))}_startCloseTimer(){this._closeTimerID===0&&(this._closeTimerID=window.setTimeout(()=>{this._closeTimerID=0,this._closeChildMenu()},Hf.TIMER_DELAY))}_cancelOpenTimer(){this._openTimerID!==0&&(clearTimeout(this._openTimerID),this._openTimerID=0)}_cancelCloseTimer(){this._closeTimerID!==0&&(clearTimeout(this._closeTimerID),this._closeTimerID=0)}static saveWindowData(){Hf.saveWindowData()}};(function(gt){class ve{renderItem(lt){let Tt=this.createItemClass(lt),zt=this.createItemDataset(lt),Lr=this.createItemARIA(lt);return ql.li({className:Tt,dataset:zt,tabindex:"0",onfocus:lt.onfocus,...Lr},this.renderIcon(lt),this.renderLabel(lt),this.renderShortcut(lt),this.renderSubmenu(lt))}renderIcon(lt){let Tt=this.createIconClass(lt);return ql.div({className:Tt},lt.item.icon,lt.item.iconLabel)}renderLabel(lt){let Tt=this.formatLabel(lt);return ql.div({className:"lm-Menu-itemLabel"},Tt)}renderShortcut(lt){let Tt=this.formatShortcut(lt);return ql.div({className:"lm-Menu-itemShortcut"},Tt)}renderSubmenu(lt){return ql.div({className:"lm-Menu-itemSubmenuIcon"})}createItemClass(lt){let Tt="lm-Menu-item";lt.item.isEnabled||(Tt+=" lm-mod-disabled"),lt.item.isToggled&&(Tt+=" lm-mod-toggled"),lt.item.isVisible||(Tt+=" lm-mod-hidden"),lt.active&&(Tt+=" lm-mod-active"),lt.collapsed&&(Tt+=" lm-mod-collapsed");let zt=lt.item.className;return zt&&(Tt+=` ${zt}`),Tt}createItemDataset(lt){let Tt,{type:zt,command:Lr,dataset:gr}=lt.item;return zt==="command"?Tt={...gr,type:zt,command:Lr}:Tt={...gr,type:zt},Tt}createIconClass(lt){let Tt="lm-Menu-itemIcon",zt=lt.item.iconClass;return zt?`${Tt} ${zt}`:Tt}createItemARIA(lt){let Tt={};switch(lt.item.type){case"separator":Tt.role="presentation";break;case"submenu":Tt["aria-haspopup"]="true",lt.item.isEnabled||(Tt["aria-disabled"]="true");break;default:lt.item.isEnabled||(Tt["aria-disabled"]="true"),Tt.role="menuitem"}return Tt}formatLabel(lt){let{label:Tt,mnemonic:zt}=lt.item;if(zt<0||zt>=Tt.length)return Tt;let Lr=Tt.slice(0,zt),gr=Tt.slice(zt+1),Mr=Tt[zt],Ur=ql.span({className:"lm-Menu-itemMnemonic"},Mr);return[Lr,Ur,gr]}formatShortcut(lt){let Tt=lt.item.keyBinding;return Tt?td.formatKeystroke(Tt.keys):null}}gt.Renderer=ve,gt.defaultRenderer=new ve})(ov||(ov={}));var Hf;(function(gt){gt.TIMER_DELAY=300,gt.SUBMENU_OVERLAP=3;let ve=null,rt=0;function lt(){return rt>0?(rt--,ve):wr()}function Tt(){ve=wr(),rt++}gt.saveWindowData=Tt;function zt(){let Pr=document.createElement("div"),xe=document.createElement("ul");return xe.className="lm-Menu-content",Pr.appendChild(xe),xe.setAttribute("role","menu"),Pr.tabIndex=0,Pr}gt.createNode=zt;function Lr(Pr){return Pr.type!=="separator"&&Pr.isEnabled&&Pr.isVisible}gt.canActivate=Lr;function gr(Pr,xe){return new Br(Pr.commands,xe)}gt.createItem=gr;function Mr(Pr,xe,Xa){for(let Ka=Pr;Ka;Ka=Ka.childMenu)if(Zl.hitTest(Ka.node,xe,Xa))return!0;return!1}gt.hitTestMenus=Mr;function Ur(Pr){let xe=new Array(Pr.length);Li.ArrayExt.fill(xe,!1);let Xa=0,Ka=Pr.length;for(;Xa=0;--da){let Ja=Pr[da];if(Ja.isVisible){if(Ja.type!=="separator")break;xe[da]=!0}}let Ta=!1;for(;++XaNa+Ni&&(xe=Na+Ni-ys),!da&&Xa+Us>ii+An&&(Xa>ii+An?Xa=ii+An-Us:Xa=Xa-Us),Gn.transform=`translate(${Math.max(0,xe)}px, ${Math.max(0,Xa)}px`,Gn.opacity="1"}gt.openRootMenu=Ir;function Hr(Pr,xe){let Xa=lt(),Ka=Xa.pageXOffset,da=Xa.pageYOffset,Ta=Xa.clientWidth,Ja=Xa.clientHeight;Gi.sendMessage(Pr,to.Msg.UpdateRequest);let Pn=Ja,Na=Pr.node,ii=Na.style;ii.opacity="0",ii.maxHeight=`${Pn}px`,to.attach(Pr,document.body);let{width:Ni,height:An}=Na.getBoundingClientRect(),yi=Zl.boxSizing(Pr.node),yn=xe.getBoundingClientRect(),Gn=yn.right-gt.SUBMENU_OVERLAP;Gn+Ni>Ka+Ta&&(Gn=yn.left+gt.SUBMENU_OVERLAP-Ni);let ys=yn.top-yi.borderTop-yi.paddingTop;ys+An>da+Ja&&(ys=yn.bottom+yi.borderBottom+yi.paddingBottom-An),ii.transform=`translate(${Math.max(0,Gn)}px, ${Math.max(0,ys)}px`,ii.opacity="1"}gt.openSubmenu=Hr;function Rr(Pr,xe,Xa){let Ka=-1,da=-1,Ta=!1,Ja=xe.toUpperCase();for(let Pn=0,Na=Pr.length;Pn=0&&yiKa.command===xe&&id.JSONExt.deepEqual(Ka.args,Xa))||null}return null}}})(Hf||(Hf={}));var Y5;(function(gt){function ve(Lr,gr){let Mr=lt(Lr.selector),Ur=Lr.rank!==void 0?Lr.rank:1/0;return{...Lr,selector:Mr,rank:Ur,id:gr}}gt.createItem=ve;function rt(Lr,gr,Mr,Ur){let wr=gr.target;if(!wr)return null;let Ir=gr.currentTarget;if(!Ir||!Ir.contains(wr)&&(wr=document.elementFromPoint(gr.clientX,gr.clientY),!wr||!Ir.contains(wr)))return null;let Hr=[],Rr=Lr.slice();for(;wr!==null;){let Br=[];for(let Pr=0,xe=Rr.length;Pr=this._titles.length)&&(ve=-1),this._currentIndex===ve)return;let rt=this._currentIndex,lt=this._titles[rt]||null,Tt=ve,zt=this._titles[Tt]||null;this._currentIndex=Tt,this._previousTitle=lt,this.update(),this._currentChanged.emit({previousIndex:rt,previousTitle:lt,currentIndex:Tt,currentTitle:zt})}get name(){return this._name}set name(ve){this._name=ve,ve?this.contentNode.setAttribute("aria-label",ve):this.contentNode.removeAttribute("aria-label")}get orientation(){return this._orientation}set orientation(ve){this._orientation!==ve&&(this._releaseMouse(),this._orientation=ve,this.dataset.orientation=ve,this.contentNode.setAttribute("aria-orientation",ve))}get addButtonEnabled(){return this._addButtonEnabled}set addButtonEnabled(ve){this._addButtonEnabled!==ve&&(this._addButtonEnabled=ve,ve?this.addButtonNode.classList.remove("lm-mod-hidden"):this.addButtonNode.classList.add("lm-mod-hidden"))}get titles(){return this._titles}get contentNode(){return this.node.getElementsByClassName("lm-TabBar-content")[0]}get addButtonNode(){return this.node.getElementsByClassName("lm-TabBar-addButton")[0]}addTab(ve){return this.insertTab(this._titles.length,ve)}insertTab(ve,rt){this._releaseMouse();let lt=ch.asTitle(rt),Tt=this._titles.indexOf(lt),zt=Math.max(0,Math.min(ve,this._titles.length));return Tt===-1?(Li.ArrayExt.insert(this._titles,zt,lt),lt.changed.connect(this._onTitleChanged,this),this.update(),this._adjustCurrentForInsert(zt,lt),lt):(zt===this._titles.length&&zt--,Tt===zt||(Li.ArrayExt.move(this._titles,Tt,zt),this.update(),this._adjustCurrentForMove(Tt,zt)),lt)}removeTab(ve){this.removeTabAt(this._titles.indexOf(ve))}removeTabAt(ve){this._releaseMouse();let rt=Li.ArrayExt.removeAt(this._titles,ve);rt&&(rt.changed.disconnect(this._onTitleChanged,this),rt===this._previousTitle&&(this._previousTitle=null),this.update(),this._adjustCurrentForRemove(ve,rt))}clearTabs(){if(this._titles.length===0)return;this._releaseMouse();for(let lt of this._titles)lt.changed.disconnect(this._onTitleChanged,this);let ve=this.currentIndex,rt=this.currentTitle;this._currentIndex=-1,this._previousTitle=null,this._titles.length=0,this.update(),ve!==-1&&this._currentChanged.emit({previousIndex:ve,previousTitle:rt,currentIndex:-1,currentTitle:null})}releaseMouse(){this._releaseMouse()}handleEvent(ve){switch(ve.type){case"pointerdown":this._evtPointerDown(ve);break;case"pointermove":this._evtPointerMove(ve);break;case"pointerup":this._evtPointerUp(ve);break;case"dblclick":this._evtDblClick(ve);break;case"keydown":ve.eventPhase===Event.CAPTURING_PHASE?this._evtKeyDownCapturing(ve):this._evtKeyDown(ve);break;case"contextmenu":ve.preventDefault(),ve.stopPropagation();break}}onBeforeAttach(ve){this.node.addEventListener("pointerdown",this),this.node.addEventListener("dblclick",this),this.node.addEventListener("keydown",this)}onAfterDetach(ve){this.node.removeEventListener("pointerdown",this),this.node.removeEventListener("dblclick",this),this.node.removeEventListener("keydown",this),this._releaseMouse()}onUpdateRequest(ve){var rt;let lt=this._titles,Tt=this.renderer,zt=this.currentTitle,Lr=new Array(lt.length),gr=(rt=this._getCurrentTabindex())!==null&&rt!==void 0?rt:this._currentIndex>-1?this._currentIndex:0;for(let Mr=0,Ur=lt.length;MrZl.hitTest(Lr,ve.clientX,ve.clientY));if(lt===-1)return;let Tt=this.titles[lt],zt=rt[lt].querySelector(".lm-TabBar-tabLabel");if(zt&&zt.contains(ve.target)){let Lr=Tt.label||"",gr=zt.innerHTML;zt.innerHTML="";let Mr=document.createElement("input");Mr.classList.add("lm-TabBar-tabInput"),Mr.value=Lr,zt.appendChild(Mr);let Ur=()=>{Mr.removeEventListener("blur",Ur),zt.innerHTML=gr,this.node.addEventListener("keydown",this)};Mr.addEventListener("dblclick",wr=>wr.stopPropagation()),Mr.addEventListener("blur",Ur),Mr.addEventListener("keydown",wr=>{wr.key==="Enter"?(Mr.value!==""&&(Tt.label=Tt.caption=Mr.value),Ur()):wr.key==="Escape"&&Ur()}),this.node.removeEventListener("keydown",this),Mr.select(),Mr.focus(),zt.children.length>0&&zt.children[0].focus()}}_evtKeyDownCapturing(ve){ve.eventPhase===Event.CAPTURING_PHASE&&(ve.preventDefault(),ve.stopPropagation(),ve.key==="Escape"&&this._releaseMouse())}_evtKeyDown(ve){var rt,lt,Tt;if(!(ve.key==="Tab"||ve.eventPhase===Event.CAPTURING_PHASE)){if(ve.key==="Enter"||ve.key==="Spacebar"||ve.key===" "){let zt=document.activeElement;if(this.addButtonEnabled&&this.addButtonNode.contains(zt))ve.preventDefault(),ve.stopPropagation(),this._addRequested.emit();else{let Lr=Li.ArrayExt.findFirstIndex(this.contentNode.children,gr=>gr.contains(zt));Lr>=0&&(ve.preventDefault(),ve.stopPropagation(),this.currentIndex=Lr)}}else if(LI.includes(ve.key)){let zt=[...this.contentNode.children];if(this.addButtonEnabled&&zt.push(this.addButtonNode),zt.length<=1)return;ve.preventDefault(),ve.stopPropagation();let Lr=zt.indexOf(document.activeElement);Lr===-1&&(Lr=this._currentIndex);let gr;ve.key==="ArrowRight"&&this._orientation==="horizontal"||ve.key==="ArrowDown"&&this._orientation==="vertical"?gr=(rt=zt[Lr+1])!==null&&rt!==void 0?rt:zt[0]:ve.key==="ArrowLeft"&&this._orientation==="horizontal"||ve.key==="ArrowUp"&&this._orientation==="vertical"?gr=(lt=zt[Lr-1])!==null&<!==void 0?lt:zt[zt.length-1]:ve.key==="Home"?gr=zt[0]:ve.key==="End"&&(gr=zt[zt.length-1]),gr&&((Tt=zt[Lr])===null||Tt===void 0||Tt.setAttribute("tabindex","-1"),gr?.setAttribute("tabindex","0"),gr.focus())}}}_evtPointerDown(ve){if(ve.button!==0&&ve.button!==1||this._dragData||ve.target.classList.contains("lm-TabBar-tabInput"))return;let rt=this.addButtonEnabled&&this.addButtonNode.contains(ve.target),lt=this.contentNode.children,Tt=Li.ArrayExt.findFirstIndex(lt,Lr=>Zl.hitTest(Lr,ve.clientX,ve.clientY));if(Tt===-1&&!rt||(ve.preventDefault(),ve.stopPropagation(),this._dragData={tab:lt[Tt],index:Tt,pressX:ve.clientX,pressY:ve.clientY,tabPos:-1,tabSize:-1,tabPressPos:-1,targetIndex:-1,tabLayout:null,contentRect:null,override:null,dragActive:!1,dragAborted:!1,detachRequested:!1},this.document.addEventListener("pointerup",this,!0),ve.button===1||rt))return;let zt=lt[Tt].querySelector(this.renderer.closeIconSelector);zt&&zt.contains(ve.target)||(this.tabsMovable&&(this.document.addEventListener("pointermove",this,!0),this.document.addEventListener("keydown",this,!0),this.document.addEventListener("contextmenu",this,!0)),this.allowDeselect&&this.currentIndex===Tt?this.currentIndex=-1:this.currentIndex=Tt,this.currentIndex!==-1&&this._tabActivateRequested.emit({index:this.currentIndex,title:this.currentTitle}))}_evtPointerMove(ve){let rt=this._dragData;if(!rt)return;ve.preventDefault(),ve.stopPropagation();let lt=this.contentNode.children;if(!(!rt.dragActive&&!ch.dragExceeded(rt,ve))){if(!rt.dragActive){let Tt=rt.tab.getBoundingClientRect();this._orientation==="horizontal"?(rt.tabPos=rt.tab.offsetLeft,rt.tabSize=Tt.width,rt.tabPressPos=rt.pressX-Tt.left):(rt.tabPos=rt.tab.offsetTop,rt.tabSize=Tt.height,rt.tabPressPos=rt.pressY-Tt.top),rt.tabPressOffset={x:rt.pressX-Tt.left,y:rt.pressY-Tt.top},rt.tabLayout=ch.snapTabLayout(lt,this._orientation),rt.contentRect=this.contentNode.getBoundingClientRect(),rt.override=Vf.overrideCursor("default"),rt.tab.classList.add("lm-mod-dragging"),this.addClass("lm-mod-dragging"),rt.dragActive=!0}if(!rt.detachRequested&&ch.detachExceeded(rt,ve)){rt.detachRequested=!0;let Tt=rt.index,zt=ve.clientX,Lr=ve.clientY,gr=lt[Tt],Mr=this._titles[Tt];if(this._tabDetachRequested.emit({index:Tt,title:Mr,tab:gr,clientX:zt,clientY:Lr,offset:rt.tabPressOffset}),rt.dragAborted)return}ch.layoutTabs(lt,rt,ve,this._orientation)}}_evtPointerUp(ve){if(ve.button!==0&&ve.button!==1)return;let rt=this._dragData;if(!rt)return;if(ve.preventDefault(),ve.stopPropagation(),this.document.removeEventListener("pointermove",this,!0),this.document.removeEventListener("pointerup",this,!0),this.document.removeEventListener("keydown",this,!0),this.document.removeEventListener("contextmenu",this,!0),!rt.dragActive){if(this._dragData=null,this.addButtonEnabled&&this.addButtonNode.contains(ve.target)){this._addRequested.emit(void 0);return}let zt=this.contentNode.children,Lr=Li.ArrayExt.findFirstIndex(zt,Ur=>Zl.hitTest(Ur,ve.clientX,ve.clientY));if(Lr!==rt.index)return;let gr=this._titles[Lr];if(!gr.closable)return;if(ve.button===1){this._tabCloseRequested.emit({index:Lr,title:gr});return}let Mr=zt[Lr].querySelector(this.renderer.closeIconSelector);if(Mr&&Mr.contains(ve.target)){this._tabCloseRequested.emit({index:Lr,title:gr});return}return}if(ve.button!==0)return;ch.finalizeTabPosition(rt,this._orientation),rt.tab.classList.remove("lm-mod-dragging");let lt=ch.parseTransitionDuration(rt.tab);setTimeout(()=>{if(rt.dragAborted)return;this._dragData=null,ch.resetTabPositions(this.contentNode.children,this._orientation),rt.override.dispose(),this.removeClass("lm-mod-dragging");let Tt=rt.index,zt=rt.targetIndex;zt===-1||Tt===zt||(Li.ArrayExt.move(this._titles,Tt,zt),this._adjustCurrentForMove(Tt,zt),this._tabMoved.emit({fromIndex:Tt,toIndex:zt,title:this._titles[zt]}),Gi.sendMessage(this,to.Msg.UpdateRequest))},lt)}_releaseMouse(){let ve=this._dragData;ve&&(this._dragData=null,this.document.removeEventListener("pointermove",this,!0),this.document.removeEventListener("pointerup",this,!0),this.document.removeEventListener("keydown",this,!0),this.document.removeEventListener("contextmenu",this,!0),ve.dragAborted=!0,ve.dragActive&&(ch.resetTabPositions(this.contentNode.children,this._orientation),ve.override.dispose(),ve.tab.classList.remove("lm-mod-dragging"),this.removeClass("lm-mod-dragging")))}_adjustCurrentForInsert(ve,rt){let lt=this.currentTitle,Tt=this._currentIndex,zt=this.insertBehavior;if(zt==="select-tab"||zt==="select-tab-if-needed"&&Tt===-1){this._currentIndex=ve,this._previousTitle=lt,this._currentChanged.emit({previousIndex:Tt,previousTitle:lt,currentIndex:ve,currentTitle:rt});return}Tt>=ve&&this._currentIndex++}_adjustCurrentForMove(ve,rt){this._currentIndex===ve?this._currentIndex=rt:this._currentIndex=rt?this._currentIndex++:this._currentIndex>ve&&this._currentIndex<=rt&&this._currentIndex--}_adjustCurrentForRemove(ve,rt){let lt=this._currentIndex,Tt=this.removeBehavior;if(lt!==ve){lt>ve&&this._currentIndex--;return}if(this._titles.length===0){this._currentIndex=-1,this._currentChanged.emit({previousIndex:ve,previousTitle:rt,currentIndex:-1,currentTitle:null});return}if(Tt==="select-tab-after"){this._currentIndex=Math.min(ve,this._titles.length-1),this._currentChanged.emit({previousIndex:ve,previousTitle:rt,currentIndex:this._currentIndex,currentTitle:this.currentTitle});return}if(Tt==="select-tab-before"){this._currentIndex=Math.max(0,ve-1),this._currentChanged.emit({previousIndex:ve,previousTitle:rt,currentIndex:this._currentIndex,currentTitle:this.currentTitle});return}if(Tt==="select-previous-tab"){this._previousTitle?(this._currentIndex=this._titles.indexOf(this._previousTitle),this._previousTitle=null):this._currentIndex=Math.min(ve,this._titles.length-1),this._currentChanged.emit({previousIndex:ve,previousTitle:rt,currentIndex:this._currentIndex,currentTitle:this.currentTitle});return}this._currentIndex=-1,this._currentChanged.emit({previousIndex:ve,previousTitle:rt,currentIndex:-1,currentTitle:null})}_onTitleChanged(ve){this.update()}};(function(gt){class ve{constructor(){this.closeIconSelector=".lm-TabBar-tabCloseIcon",this._tabID=0,this._tabKeys=new WeakMap,this._uuid=++ve._nInstance}renderTab(lt){let Tt=lt.title.caption,zt=this.createTabKey(lt),Lr=zt,gr=this.createTabStyle(lt),Mr=this.createTabClass(lt),Ur=this.createTabDataset(lt),wr=this.createTabARIA(lt);return lt.title.closable?ql.li({id:Lr,key:zt,className:Mr,title:Tt,style:gr,dataset:Ur,...wr},this.renderIcon(lt),this.renderLabel(lt),this.renderCloseIcon(lt)):ql.li({id:Lr,key:zt,className:Mr,title:Tt,style:gr,dataset:Ur,...wr},this.renderIcon(lt),this.renderLabel(lt))}renderIcon(lt){let{title:Tt}=lt,zt=this.createIconClass(lt);return ql.div({className:zt},Tt.icon,Tt.iconLabel)}renderLabel(lt){return ql.div({className:"lm-TabBar-tabLabel"},lt.title.label)}renderCloseIcon(lt){return ql.div({className:"lm-TabBar-tabCloseIcon"})}createTabKey(lt){let Tt=this._tabKeys.get(lt.title);return Tt===void 0&&(Tt=`tab-key-${this._uuid}-${this._tabID++}`,this._tabKeys.set(lt.title,Tt)),Tt}createTabStyle(lt){return{zIndex:`${lt.zIndex}`}}createTabClass(lt){let Tt="lm-TabBar-tab";return lt.title.className&&(Tt+=` ${lt.title.className}`),lt.title.closable&&(Tt+=" lm-mod-closable"),lt.current&&(Tt+=" lm-mod-current"),Tt}createTabDataset(lt){return lt.title.dataset}createTabARIA(lt){var Tt;return{role:"tab","aria-selected":lt.current.toString(),tabindex:`${(Tt=lt.tabIndex)!==null&&Tt!==void 0?Tt:"-1"}`}}createIconClass(lt){let Tt="lm-TabBar-tabIcon",zt=lt.title.iconClass;return zt?`${Tt} ${zt}`:Tt}}ve._nInstance=0,gt.Renderer=ve,gt.defaultRenderer=new ve,gt.addButtonSelector=".lm-TabBar-addButton"})(tp||(tp={}));var ch;(function(gt){gt.DRAG_THRESHOLD=5,gt.DETACH_THRESHOLD=20;function ve(){let wr=document.createElement("div"),Ir=document.createElement("ul");Ir.setAttribute("role","tablist"),Ir.className="lm-TabBar-content",wr.appendChild(Ir);let Hr=document.createElement("div");return Hr.className="lm-TabBar-addButton lm-mod-hidden",Hr.setAttribute("tabindex","-1"),Hr.setAttribute("role","button"),wr.appendChild(Hr),wr}gt.createNode=ve;function rt(wr){return wr instanceof Xp?wr:new Xp(wr)}gt.asTitle=rt;function lt(wr){let Ir=window.getComputedStyle(wr);return 1e3*(parseFloat(Ir.transitionDuration)||0)}gt.parseTransitionDuration=lt;function Tt(wr,Ir){let Hr=new Array(wr.length);for(let Rr=0,Br=wr.length;Rr=gt.DRAG_THRESHOLD||Rr>=gt.DRAG_THRESHOLD}gt.dragExceeded=zt;function Lr(wr,Ir){let Hr=wr.contentRect;return Ir.clientX=Hr.right+gt.DETACH_THRESHOLD||Ir.clientY=Hr.bottom+gt.DETACH_THRESHOLD}gt.detachExceeded=Lr;function gr(wr,Ir,Hr,Rr){let Br,Pr,xe,Xa;Rr==="horizontal"?(Br=Ir.pressX,Pr=Hr.clientX-Ir.contentRect.left,xe=Hr.clientX,Xa=Ir.contentRect.width):(Br=Ir.pressY,Pr=Hr.clientY-Ir.contentRect.top,xe=Hr.clientY,Xa=Ir.contentRect.height);let Ka=Ir.index,da=Pr-Ir.tabPressPos,Ta=da+Ir.tabSize;for(let Ja=0,Pn=wr.length;Ja>1);if(JaIr.index&&Ta>Ni)Na=`${-Ir.tabSize-ii.margin}px`,Ka=Math.max(Ka,Ja);else if(Ja===Ir.index){let An=xe-Br,yi=Xa-(Ir.tabPos+Ir.tabSize);Na=`${Math.max(-Ir.tabPos,Math.min(An,yi))}px`}else Na="";Rr==="horizontal"?wr[Ja].style.left=Na:wr[Ja].style.top=Na}Ir.targetIndex=Ka}gt.layoutTabs=gr;function Mr(wr,Ir){let Hr;Ir==="horizontal"?Hr=wr.contentRect.width:Hr=wr.contentRect.height;let Rr;if(wr.targetIndex===wr.index)Rr=0;else if(wr.targetIndex>wr.index){let xe=wr.tabLayout[wr.targetIndex];Rr=xe.pos+xe.size-wr.tabSize-wr.tabPos}else Rr=wr.tabLayout[wr.targetIndex].pos-wr.tabPos;let Br=Hr-(wr.tabPos+wr.tabSize),Pr=Math.max(-wr.tabPos,Math.min(Rr,Br));Ir==="horizontal"?wr.tab.style.left=`${Pr}px`:wr.tab.style.top=`${Pr}px`}gt.finalizeTabPosition=Mr;function Ur(wr,Ir){for(let Hr of wr)Ir==="horizontal"?Hr.style.left="":Hr.style.top=""}gt.resetTabPositions=Ur})(ch||(ch={}));var Gy=class extends od{constructor(ve){super(),this._spacing=4,this._dirty=!1,this._root=null,this._box=null,this._items=new Map,this.renderer=ve.renderer,ve.spacing!==void 0&&(this._spacing=Zp.clampDimension(ve.spacing)),this._document=ve.document||document,this._hiddenMode=ve.hiddenMode!==void 0?ve.hiddenMode:to.HiddenMode.Display}dispose(){let ve=this[Symbol.iterator]();this._items.forEach(rt=>{rt.dispose()}),this._box=null,this._root=null,this._items.clear();for(let rt of ve)rt.dispose();super.dispose()}get hiddenMode(){return this._hiddenMode}set hiddenMode(ve){if(this._hiddenMode!==ve){this._hiddenMode=ve;for(let rt of this.tabBars())if(rt.titles.length>1)for(let lt of rt.titles)lt.owner.hiddenMode=this._hiddenMode}}get spacing(){return this._spacing}set spacing(ve){ve=Zp.clampDimension(ve),this._spacing!==ve&&(this._spacing=ve,this.parent&&this.parent.fit())}get isEmpty(){return this._root===null}[Symbol.iterator](){return this._root?this._root.iterAllWidgets():(0,Li.empty)()}widgets(){return this._root?this._root.iterUserWidgets():(0,Li.empty)()}selectedWidgets(){return this._root?this._root.iterSelectedWidgets():(0,Li.empty)()}tabBars(){return this._root?this._root.iterTabBars():(0,Li.empty)()}handles(){return this._root?this._root.iterHandles():(0,Li.empty)()}moveHandle(ve,rt,lt){let Tt=ve.classList.contains("lm-mod-hidden");if(!this._root||Tt)return;let zt=this._root.findSplitNode(ve);if(!zt)return;let Lr;zt.node.orientation==="horizontal"?Lr=rt-ve.offsetLeft:Lr=lt-ve.offsetTop,Lr!==0&&(zt.node.holdSizes(),ah.adjust(zt.node.sizers,zt.index,Lr),this.parent&&this.parent.update())}saveLayout(){return this._root?(this._root.holdAllSizes(),{main:this._root.createConfig()}):{main:null}}restoreLayout(ve){let rt=new Set,lt;ve.main?lt=gc.normalizeAreaConfig(ve.main,rt):lt=null;let Tt=this.widgets(),zt=this.tabBars(),Lr=this.handles();this._root=null;for(let gr of Tt)rt.has(gr)||(gr.parent=null);for(let gr of zt)gr.dispose();for(let gr of Lr)gr.parentNode&&gr.parentNode.removeChild(gr);for(let gr of rt)gr.parent=this.parent;lt?this._root=gc.realizeAreaConfig(lt,{createTabBar:gr=>this._createTabBar(),createHandle:()=>this._createHandle()},this._document):this._root=null,this.parent&&(rt.forEach(gr=>{this.attachWidget(gr)}),this.parent.fit())}addWidget(ve,rt={}){let lt=rt.ref||null,Tt=rt.mode||"tab-after",zt=null;if(this._root&<&&(zt=this._root.findTabNode(lt)),lt&&!zt)throw new Error("Reference widget is not in the layout.");switch(ve.parent=this.parent,Tt){case"tab-after":this._insertTab(ve,lt,zt,!0);break;case"tab-before":this._insertTab(ve,lt,zt,!1);break;case"split-top":this._insertSplit(ve,lt,zt,"vertical",!1);break;case"split-left":this._insertSplit(ve,lt,zt,"horizontal",!1);break;case"split-right":this._insertSplit(ve,lt,zt,"horizontal",!0);break;case"split-bottom":this._insertSplit(ve,lt,zt,"vertical",!0);break;case"merge-top":this._insertSplit(ve,lt,zt,"vertical",!1,!0);break;case"merge-left":this._insertSplit(ve,lt,zt,"horizontal",!1,!0);break;case"merge-right":this._insertSplit(ve,lt,zt,"horizontal",!0,!0);break;case"merge-bottom":this._insertSplit(ve,lt,zt,"vertical",!0,!0);break}this.parent&&(this.attachWidget(ve),this.parent.fit())}removeWidget(ve){this._removeWidget(ve),this.parent&&(this.detachWidget(ve),this.parent.fit())}hitTestTabAreas(ve,rt){if(!this._root||!this.parent||!this.parent.isVisible)return null;this._box||(this._box=Zl.boxSizing(this.parent.node));let lt=this.parent.node.getBoundingClientRect(),Tt=ve-lt.left-this._box.borderLeft,zt=rt-lt.top-this._box.borderTop,Lr=this._root.hitTestTabNodes(Tt,zt);if(!Lr)return null;let{tabBar:gr,top:Mr,left:Ur,width:wr,height:Ir}=Lr,Hr=this._box.borderLeft+this._box.borderRight,Rr=this._box.borderTop+this._box.borderBottom,Br=lt.width-Hr-(Ur+wr),Pr=lt.height-Rr-(Mr+Ir);return{tabBar:gr,x:Tt,y:zt,top:Mr,left:Ur,right:Br,bottom:Pr,width:wr,height:Ir}}init(){super.init();for(let ve of this)this.attachWidget(ve);for(let ve of this.handles())this.parent.node.appendChild(ve);this.parent.fit()}attachWidget(ve){this.parent.node!==ve.node.parentNode&&(this._items.set(ve,new sv(ve)),this.parent.isAttached&&Gi.sendMessage(ve,to.Msg.BeforeAttach),this.parent.node.appendChild(ve.node),this.parent.isAttached&&Gi.sendMessage(ve,to.Msg.AfterAttach))}detachWidget(ve){if(this.parent.node!==ve.node.parentNode)return;this.parent.isAttached&&Gi.sendMessage(ve,to.Msg.BeforeDetach),this.parent.node.removeChild(ve.node),this.parent.isAttached&&Gi.sendMessage(ve,to.Msg.AfterDetach);let rt=this._items.get(ve);rt&&(this._items.delete(ve),rt.dispose())}onBeforeShow(ve){super.onBeforeShow(ve),this.parent.update()}onBeforeAttach(ve){super.onBeforeAttach(ve),this.parent.fit()}onChildShown(ve){this.parent.fit()}onChildHidden(ve){this.parent.fit()}onResize(ve){this.parent.isVisible&&this._update(ve.width,ve.height)}onUpdateRequest(ve){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(ve){this.parent.isAttached&&this._fit()}_removeWidget(ve){if(!this._root)return;let rt=this._root.findTabNode(ve);if(!rt)return;if(gc.removeAria(ve),rt.tabBar.titles.length>1){if(rt.tabBar.removeTab(ve.title),this._hiddenMode===to.HiddenMode.Scale&&rt.tabBar.titles.length==1){let Hr=rt.tabBar.titles[0].owner;Hr.hiddenMode=to.HiddenMode.Display}return}if(rt.tabBar.dispose(),this._root===rt){this._root=null;return}this._root.holdAllSizes();let lt=rt.parent;rt.parent=null;let Tt=Li.ArrayExt.removeFirstOf(lt.children,rt),zt=Li.ArrayExt.removeAt(lt.handles,Tt);if(Li.ArrayExt.removeAt(lt.sizers,Tt),zt.parentNode&&zt.parentNode.removeChild(zt),lt.children.length>1){lt.syncHandles();return}let Lr=lt.parent;lt.parent=null;let gr=lt.children[0],Mr=lt.handles[0];if(lt.children.length=0,lt.handles.length=0,lt.sizers.length=0,Mr.parentNode&&Mr.parentNode.removeChild(Mr),this._root===lt){gr.parent=null,this._root=gr;return}let Ur=Lr,wr=Ur.children.indexOf(lt);if(gr instanceof gc.TabLayoutNode){gr.parent=Ur,Ur.children[wr]=gr;return}let Ir=Li.ArrayExt.removeAt(Ur.handles,wr);Li.ArrayExt.removeAt(Ur.children,wr),Li.ArrayExt.removeAt(Ur.sizers,wr),Ir.parentNode&&Ir.parentNode.removeChild(Ir);for(let Hr=0,Rr=gr.children.length;Hr=this._left+this._width||Br=this._top+this._height?null:this}createConfig(){let Rr=this.tabBar.titles.map(Pr=>Pr.owner),Br=this.tabBar.currentIndex;return{type:"tab-area",widgets:Rr,currentIndex:Br}}holdAllSizes(){}fit(Rr,Br){let Pr=0,xe=0,Xa=1/0,Ka=1/0,da=Br.get(this.tabBar),Ta=this.tabBar.currentTitle,Ja=Ta?Br.get(Ta.owner):void 0,[Pn,Na]=this.sizers;return da&&da.fit(),Ja&&Ja.fit(),da&&!da.isHidden?(Pr=Math.max(Pr,da.minWidth),xe+=da.minHeight,Pn.minSize=da.minHeight,Pn.maxSize=da.maxHeight):(Pn.minSize=0,Pn.maxSize=0),Ja&&!Ja.isHidden?(Pr=Math.max(Pr,Ja.minWidth),xe+=Ja.minHeight,Na.minSize=Ja.minHeight,Na.maxSize=1/0):(Na.minSize=0,Na.maxSize=1/0),{minWidth:Pr,minHeight:xe,maxWidth:Xa,maxHeight:Ka}}update(Rr,Br,Pr,xe,Xa,Ka){this._top=Br,this._left=Rr,this._width=Pr,this._height=xe;let da=Ka.get(this.tabBar),Ta=this.tabBar.currentTitle,Ja=Ta?Ka.get(Ta.owner):void 0;if(ah.calc(this.sizers,xe),da&&!da.isHidden){let Pn=this.sizers[0].size;da.update(Rr,Br,Pr,Pn),Br+=Pn}if(Ja&&!Ja.isHidden){let Pn=this.sizers[1].size;Ja.update(Rr,Br,Pr,Pn)}}}gt.TabLayoutNode=Tt;class zt{constructor(Rr){this.parent=null,this.normalized=!1,this.children=[],this.sizers=[],this.handles=[],this.orientation=Rr}*iterAllWidgets(){for(let Rr of this.children)yield*Rr.iterAllWidgets()}*iterUserWidgets(){for(let Rr of this.children)yield*Rr.iterUserWidgets()}*iterSelectedWidgets(){for(let Rr of this.children)yield*Rr.iterSelectedWidgets()}*iterTabBars(){for(let Rr of this.children)yield*Rr.iterTabBars()}*iterHandles(){yield*this.handles;for(let Rr of this.children)yield*Rr.iterHandles()}findTabNode(Rr){for(let Br=0,Pr=this.children.length;Brxe.createConfig());return{type:"split-area",orientation:Rr,children:Pr,sizes:Br}}syncHandles(){this.handles.forEach((Rr,Br)=>{Rr.setAttribute("data-orientation",this.orientation),Br===this.handles.length-1?Rr.classList.add("lm-mod-hidden"):Rr.classList.remove("lm-mod-hidden")})}holdSizes(){for(let Rr of this.sizers)Rr.sizeHint=Rr.size}holdAllSizes(){for(let Rr of this.children)Rr.holdAllSizes();this.holdSizes()}normalizeSizes(){let Rr=this.sizers.length;if(Rr===0)return;this.holdSizes();let Br=this.sizers.reduce((Pr,xe)=>Pr+xe.sizeHint,0);if(Br===0)for(let Pr of this.sizers)Pr.size=Pr.sizeHint=1/Rr;else for(let Pr of this.sizers)Pr.size=Pr.sizeHint/=Br;this.normalized=!0}createNormalizedSizes(){let Rr=this.sizers.length;if(Rr===0)return[];let Br=this.sizers.map(xe=>xe.size),Pr=Br.reduce((xe,Xa)=>xe+Xa,0);if(Pr===0)for(let xe=Br.length-1;xe>-1;xe--)Br[xe]=1/Rr;else for(let xe=Br.length-1;xe>-1;xe--)Br[xe]/=Pr;return Br}fit(Rr,Br){let Pr=this.orientation==="horizontal",xe=Math.max(0,this.children.length-1)*Rr,Xa=Pr?xe:0,Ka=Pr?0:xe,da=1/0,Ta=1/0;for(let Ja=0,Pn=this.children.length;Ja=Br.length)&&(Pr=0),{type:"tab-area",widgets:Br,currentIndex:Pr}}function Ur(Hr,Rr){let Br=Hr.orientation,Pr=[],xe=[];for(let Xa=0,Ka=Hr.children.length;Xa{let Ka=lt(xe,Rr,Br),da=ve(Hr.sizes[Xa]),Ta=Rr.createHandle();Pr.children.push(Ka),Pr.handles.push(Ta),Pr.sizers.push(da),Ka.parent=Pr}),Pr.syncHandles(),Pr.normalizeSizes(),Pr}})(gc||(gc={}));var Im=class gt extends to{constructor(ve={}){super(),this._drag=null,this._tabsMovable=!0,this._tabsConstrained=!1,this._addButtonEnabled=!1,this._pressData=null,this._layoutModified=new jl(this),this._addRequested=new jl(this),this.addClass("lm-DockPanel"),this._document=ve.document||document,this._mode=ve.mode||"multiple-document",this._renderer=ve.renderer||gt.defaultRenderer,this._edges=ve.edges||oc.DEFAULT_EDGES,ve.tabsMovable!==void 0&&(this._tabsMovable=ve.tabsMovable),ve.tabsConstrained!==void 0&&(this._tabsConstrained=ve.tabsConstrained),ve.addButtonEnabled!==void 0&&(this._addButtonEnabled=ve.addButtonEnabled),this.dataset.mode=this._mode;let rt={createTabBar:()=>this._createTabBar(),createHandle:()=>this._createHandle()};this.layout=new Gy({document:this._document,renderer:rt,spacing:ve.spacing,hiddenMode:ve.hiddenMode}),this.overlay=ve.overlay||new gt.Overlay,this.node.appendChild(this.overlay.node)}dispose(){this._releaseMouse(),this.overlay.hide(0),this._drag&&this._drag.dispose(),super.dispose()}get hiddenMode(){return this.layout.hiddenMode}set hiddenMode(ve){this.layout.hiddenMode=ve}get layoutModified(){return this._layoutModified}get addRequested(){return this._addRequested}get renderer(){return this.layout.renderer}get spacing(){return this.layout.spacing}set spacing(ve){this.layout.spacing=ve}get mode(){return this._mode}set mode(ve){if(this._mode===ve)return;this._mode=ve,this.dataset.mode=ve;let rt=this.layout;switch(ve){case"multiple-document":for(let lt of rt.tabBars())lt.show();break;case"single-document":rt.restoreLayout(oc.createSingleDocumentConfig(this));break;default:throw"unreachable"}Gi.postMessage(this,oc.LayoutModified)}get tabsMovable(){return this._tabsMovable}set tabsMovable(ve){this._tabsMovable=ve;for(let rt of this.tabBars())rt.tabsMovable=ve}get tabsConstrained(){return this._tabsConstrained}set tabsConstrained(ve){this._tabsConstrained=ve}get addButtonEnabled(){return this._addButtonEnabled}set addButtonEnabled(ve){this._addButtonEnabled=ve;for(let rt of this.tabBars())rt.addButtonEnabled=ve}get isEmpty(){return this.layout.isEmpty}*widgets(){yield*this.layout.widgets()}*selectedWidgets(){yield*this.layout.selectedWidgets()}*tabBars(){yield*this.layout.tabBars()}*handles(){yield*this.layout.handles()}selectWidget(ve){let rt=(0,Li.find)(this.tabBars(),lt=>lt.titles.indexOf(ve.title)!==-1);if(!rt)throw new Error("Widget is not contained in the dock panel.");rt.currentTitle=ve.title}activateWidget(ve){this.selectWidget(ve),ve.activate()}saveLayout(){return this.layout.saveLayout()}restoreLayout(ve){this._mode="multiple-document",this.layout.restoreLayout(ve),(Ff.IS_EDGE||Ff.IS_IE)&&Gi.flush(),Gi.postMessage(this,oc.LayoutModified)}addWidget(ve,rt={}){this._mode==="single-document"?this.layout.addWidget(ve):this.layout.addWidget(ve,rt),Gi.postMessage(this,oc.LayoutModified)}processMessage(ve){ve.type==="layout-modified"?this._layoutModified.emit(void 0):super.processMessage(ve)}handleEvent(ve){switch(ve.type){case"lm-dragenter":this._evtDragEnter(ve);break;case"lm-dragleave":this._evtDragLeave(ve);break;case"lm-dragover":this._evtDragOver(ve);break;case"lm-drop":this._evtDrop(ve);break;case"pointerdown":this._evtPointerDown(ve);break;case"pointermove":this._evtPointerMove(ve);break;case"pointerup":this._evtPointerUp(ve);break;case"keydown":this._evtKeyDown(ve);break;case"contextmenu":ve.preventDefault(),ve.stopPropagation();break}}onBeforeAttach(ve){this.node.addEventListener("lm-dragenter",this),this.node.addEventListener("lm-dragleave",this),this.node.addEventListener("lm-dragover",this),this.node.addEventListener("lm-drop",this),this.node.addEventListener("pointerdown",this)}onAfterDetach(ve){this.node.removeEventListener("lm-dragenter",this),this.node.removeEventListener("lm-dragleave",this),this.node.removeEventListener("lm-dragover",this),this.node.removeEventListener("lm-drop",this),this.node.removeEventListener("pointerdown",this),this._releaseMouse()}onChildAdded(ve){oc.isGeneratedTabBarProperty.get(ve.child)||ve.child.addClass("lm-DockPanel-widget")}onChildRemoved(ve){oc.isGeneratedTabBarProperty.get(ve.child)||(ve.child.removeClass("lm-DockPanel-widget"),Gi.postMessage(this,oc.LayoutModified))}_evtDragEnter(ve){ve.mimeData.hasData("application/vnd.lumino.widget-factory")&&(ve.preventDefault(),ve.stopPropagation())}_evtDragLeave(ve){ve.preventDefault(),!(this._tabsConstrained&&ve.source!==this)&&(ve.stopPropagation(),this.overlay.hide(1))}_evtDragOver(ve){ve.preventDefault(),this._tabsConstrained&&ve.source!==this||this._showOverlay(ve.clientX,ve.clientY)==="invalid"?ve.dropAction="none":(ve.stopPropagation(),ve.dropAction=ve.proposedAction)}_evtDrop(ve){if(ve.preventDefault(),this.overlay.hide(0),ve.proposedAction==="none"){ve.dropAction="none";return}let{clientX:rt,clientY:lt}=ve,{zone:Tt,target:zt}=oc.findDropTarget(this,rt,lt,this._edges);if(this._tabsConstrained&&ve.source!==this||Tt==="invalid"){ve.dropAction="none";return}let gr=ve.mimeData.getData("application/vnd.lumino.widget-factory");if(typeof gr!="function"){ve.dropAction="none";return}let Mr=gr();if(!(Mr instanceof to)){ve.dropAction="none";return}if(Mr.contains(this)){ve.dropAction="none";return}let Ur=zt?oc.getDropRef(zt.tabBar):null;switch(Tt){case"root-all":this.addWidget(Mr);break;case"root-top":this.addWidget(Mr,{mode:"split-top"});break;case"root-left":this.addWidget(Mr,{mode:"split-left"});break;case"root-right":this.addWidget(Mr,{mode:"split-right"});break;case"root-bottom":this.addWidget(Mr,{mode:"split-bottom"});break;case"widget-all":this.addWidget(Mr,{mode:"tab-after",ref:Ur});break;case"widget-top":this.addWidget(Mr,{mode:"split-top",ref:Ur});break;case"widget-left":this.addWidget(Mr,{mode:"split-left",ref:Ur});break;case"widget-right":this.addWidget(Mr,{mode:"split-right",ref:Ur});break;case"widget-bottom":this.addWidget(Mr,{mode:"split-bottom",ref:Ur});break;case"widget-tab":this.addWidget(Mr,{mode:"tab-after",ref:Ur});break;default:throw"unreachable"}ve.dropAction=ve.proposedAction,ve.stopPropagation(),this.activateWidget(Mr)}_evtKeyDown(ve){ve.preventDefault(),ve.stopPropagation(),ve.keyCode===27&&(this._releaseMouse(),Gi.postMessage(this,oc.LayoutModified))}_evtPointerDown(ve){if(ve.button!==0)return;let rt=this.layout,lt=ve.target,Tt=(0,Li.find)(rt.handles(),wr=>wr.contains(lt));if(!Tt)return;ve.preventDefault(),ve.stopPropagation(),this._document.addEventListener("keydown",this,!0),this._document.addEventListener("pointerup",this,!0),this._document.addEventListener("pointermove",this,!0),this._document.addEventListener("contextmenu",this,!0);let zt=Tt.getBoundingClientRect(),Lr=ve.clientX-zt.left,gr=ve.clientY-zt.top,Mr=window.getComputedStyle(Tt),Ur=Vf.overrideCursor(Mr.cursor,this._document);this._pressData={handle:Tt,deltaX:Lr,deltaY:gr,override:Ur}}_evtPointerMove(ve){if(!this._pressData)return;ve.preventDefault(),ve.stopPropagation();let rt=this.node.getBoundingClientRect(),lt=ve.clientX-rt.left-this._pressData.deltaX,Tt=ve.clientY-rt.top-this._pressData.deltaY;this.layout.moveHandle(this._pressData.handle,lt,Tt)}_evtPointerUp(ve){ve.button===0&&(ve.preventDefault(),ve.stopPropagation(),this._releaseMouse(),Gi.postMessage(this,oc.LayoutModified))}_releaseMouse(){this._pressData&&(this._pressData.override.dispose(),this._pressData=null,this._document.removeEventListener("keydown",this,!0),this._document.removeEventListener("pointerup",this,!0),this._document.removeEventListener("pointermove",this,!0),this._document.removeEventListener("contextmenu",this,!0))}_showOverlay(ve,rt){let{zone:lt,target:Tt}=oc.findDropTarget(this,ve,rt,this._edges);if(lt==="invalid")return this.overlay.hide(100),lt;let zt,Lr,gr,Mr,Ur=Zl.boxSizing(this.node),wr=this.node.getBoundingClientRect();switch(lt){case"root-all":zt=Ur.paddingTop,Lr=Ur.paddingLeft,gr=Ur.paddingRight,Mr=Ur.paddingBottom;break;case"root-top":zt=Ur.paddingTop,Lr=Ur.paddingLeft,gr=Ur.paddingRight,Mr=wr.height*oc.GOLDEN_RATIO;break;case"root-left":zt=Ur.paddingTop,Lr=Ur.paddingLeft,gr=wr.width*oc.GOLDEN_RATIO,Mr=Ur.paddingBottom;break;case"root-right":zt=Ur.paddingTop,Lr=wr.width*oc.GOLDEN_RATIO,gr=Ur.paddingRight,Mr=Ur.paddingBottom;break;case"root-bottom":zt=wr.height*oc.GOLDEN_RATIO,Lr=Ur.paddingLeft,gr=Ur.paddingRight,Mr=Ur.paddingBottom;break;case"widget-all":zt=Tt.top,Lr=Tt.left,gr=Tt.right,Mr=Tt.bottom;break;case"widget-top":zt=Tt.top,Lr=Tt.left,gr=Tt.right,Mr=Tt.bottom+Tt.height/2;break;case"widget-left":zt=Tt.top,Lr=Tt.left,gr=Tt.right+Tt.width/2,Mr=Tt.bottom;break;case"widget-right":zt=Tt.top,Lr=Tt.left+Tt.width/2,gr=Tt.right,Mr=Tt.bottom;break;case"widget-bottom":zt=Tt.top+Tt.height/2,Lr=Tt.left,gr=Tt.right,Mr=Tt.bottom;break;case"widget-tab":{let Ir=Tt.tabBar.node.getBoundingClientRect().height;zt=Tt.top,Lr=Tt.left,gr=Tt.right,Mr=Tt.bottom+Tt.height-Ir;break}default:throw"unreachable"}return this.overlay.show({top:zt,left:Lr,right:gr,bottom:Mr}),lt}_createTabBar(){let ve=this._renderer.createTabBar(this._document);return oc.isGeneratedTabBarProperty.set(ve,!0),this._mode==="single-document"&&ve.hide(),ve.tabsMovable=this._tabsMovable,ve.allowDeselect=!1,ve.addButtonEnabled=this._addButtonEnabled,ve.removeBehavior="select-previous-tab",ve.insertBehavior="select-tab-if-needed",ve.tabMoved.connect(this._onTabMoved,this),ve.currentChanged.connect(this._onCurrentChanged,this),ve.tabCloseRequested.connect(this._onTabCloseRequested,this),ve.tabDetachRequested.connect(this._onTabDetachRequested,this),ve.tabActivateRequested.connect(this._onTabActivateRequested,this),ve.addRequested.connect(this._onTabAddRequested,this),ve}_createHandle(){return this._renderer.createHandle()}_onTabMoved(){Gi.postMessage(this,oc.LayoutModified)}_onCurrentChanged(ve,rt){let{previousTitle:lt,currentTitle:Tt}=rt;lt&<.owner.hide(),Tt&&Tt.owner.show(),(Ff.IS_EDGE||Ff.IS_IE)&&Gi.flush(),Gi.postMessage(this,oc.LayoutModified)}_onTabAddRequested(ve){this._addRequested.emit(ve)}_onTabActivateRequested(ve,rt){rt.title.owner.activate()}_onTabCloseRequested(ve,rt){rt.title.owner.close()}_onTabDetachRequested(ve,rt){if(this._drag)return;ve.releaseMouse();let{title:lt,tab:Tt,clientX:zt,clientY:Lr,offset:gr}=rt,Mr=new id.MimeData,Ur=()=>lt.owner;Mr.setData("application/vnd.lumino.widget-factory",Ur);let wr=Tt.cloneNode(!0);gr&&(wr.style.top=`-${gr.y}px`,wr.style.left=`-${gr.x}px`),this._drag=new Vf({document:this._document,mimeData:Mr,dragImage:wr,proposedAction:"move",supportedActions:"move",source:this}),Tt.classList.add("lm-mod-hidden");let Ir=()=>{this._drag=null,Tt.classList.remove("lm-mod-hidden")};this._drag.start(zt,Lr).then(Ir)}};(function(gt){class ve{constructor(){this._timer=-1,this._hidden=!0,this.node=document.createElement("div"),this.node.classList.add("lm-DockPanel-overlay"),this.node.classList.add("lm-mod-hidden"),this.node.style.position="absolute",this.node.style.contain="strict"}show(Tt){let zt=this.node.style;zt.top=`${Tt.top}px`,zt.left=`${Tt.left}px`,zt.right=`${Tt.right}px`,zt.bottom=`${Tt.bottom}px`,clearTimeout(this._timer),this._timer=-1,this._hidden&&(this._hidden=!1,this.node.classList.remove("lm-mod-hidden"))}hide(Tt){if(!this._hidden){if(Tt<=0){clearTimeout(this._timer),this._timer=-1,this._hidden=!0,this.node.classList.add("lm-mod-hidden");return}this._timer===-1&&(this._timer=window.setTimeout(()=>{this._timer=-1,this._hidden=!0,this.node.classList.add("lm-mod-hidden")},Tt))}}}gt.Overlay=ve;class rt{createTabBar(Tt){let zt=new tp({document:Tt});return zt.addClass("lm-DockPanel-tabBar"),zt}createHandle(){let Tt=document.createElement("div");return Tt.className="lm-DockPanel-handle",Tt}}gt.Renderer=rt,gt.defaultRenderer=new rt})(Im||(Im={}));var oc;(function(gt){gt.GOLDEN_RATIO=.618,gt.DEFAULT_EDGES={top:12,right:40,bottom:40,left:40},gt.LayoutModified=new Ed("layout-modified"),gt.isGeneratedTabBarProperty=new qf({name:"isGeneratedTabBar",create:()=>!1});function ve(Tt){if(Tt.isEmpty)return{main:null};let zt=Array.from(Tt.widgets()),Lr=Tt.selectedWidgets().next().value,gr=Lr?zt.indexOf(Lr):-1;return{main:{type:"tab-area",widgets:zt,currentIndex:gr}}}gt.createSingleDocumentConfig=ve;function rt(Tt,zt,Lr,gr){if(!Zl.hitTest(Tt.node,zt,Lr))return{zone:"invalid",target:null};let Mr=Tt.layout;if(Mr.isEmpty)return{zone:"root-all",target:null};if(Tt.mode==="multiple-document"){let da=Tt.node.getBoundingClientRect(),Ta=zt-da.left+1,Ja=Lr-da.top+1,Pn=da.right-zt,Na=da.bottom-Lr;switch(Math.min(Ja,Pn,Na,Ta)){case Ja:if(JaPr&&Hr>Pr&&Ir>xe&&Rr>xe)return{zone:"widget-all",target:Ur};wr/=Pr,Ir/=xe,Hr/=Pr,Rr/=xe;let Xa=Math.min(wr,Ir,Hr,Rr),Ka;switch(Xa){case wr:Ka="widget-left";break;case Ir:Ka="widget-top";break;case Hr:Ka="widget-right";break;case Rr:Ka="widget-bottom";break;default:throw"unreachable"}return{zone:Ka,target:Ur}}gt.findDropTarget=rt;function lt(Tt){return Tt.titles.length===0?null:Tt.currentTitle?Tt.currentTitle.owner:Tt.titles[Tt.titles.length-1].owner}gt.getDropRef=lt})(oc||(oc={}));var Jp=class gt extends od{constructor(ve={}){super(ve),this._dirty=!1,this._rowSpacing=4,this._columnSpacing=4,this._items=[],this._rowStarts=[],this._columnStarts=[],this._rowSizers=[new Bh],this._columnSizers=[new Bh],this._box=null,ve.rowCount!==void 0&&Yc.reallocSizers(this._rowSizers,ve.rowCount),ve.columnCount!==void 0&&Yc.reallocSizers(this._columnSizers,ve.columnCount),ve.rowSpacing!==void 0&&(this._rowSpacing=Yc.clampValue(ve.rowSpacing)),ve.columnSpacing!==void 0&&(this._columnSpacing=Yc.clampValue(ve.columnSpacing))}dispose(){for(let ve of this._items){let rt=ve.widget;ve.dispose(),rt.dispose()}this._box=null,this._items.length=0,this._rowStarts.length=0,this._rowSizers.length=0,this._columnStarts.length=0,this._columnSizers.length=0,super.dispose()}get rowCount(){return this._rowSizers.length}set rowCount(ve){ve!==this.rowCount&&(Yc.reallocSizers(this._rowSizers,ve),this.parent&&this.parent.fit())}get columnCount(){return this._columnSizers.length}set columnCount(ve){ve!==this.columnCount&&(Yc.reallocSizers(this._columnSizers,ve),this.parent&&this.parent.fit())}get rowSpacing(){return this._rowSpacing}set rowSpacing(ve){ve=Yc.clampValue(ve),this._rowSpacing!==ve&&(this._rowSpacing=ve,this.parent&&this.parent.fit())}get columnSpacing(){return this._columnSpacing}set columnSpacing(ve){ve=Yc.clampValue(ve),this._columnSpacing!==ve&&(this._columnSpacing=ve,this.parent&&this.parent.fit())}rowStretch(ve){let rt=this._rowSizers[ve];return rt?rt.stretch:-1}setRowStretch(ve,rt){let lt=this._rowSizers[ve];lt&&(rt=Yc.clampValue(rt),lt.stretch!==rt&&(lt.stretch=rt,this.parent&&this.parent.update()))}columnStretch(ve){let rt=this._columnSizers[ve];return rt?rt.stretch:-1}setColumnStretch(ve,rt){let lt=this._columnSizers[ve];lt&&(rt=Yc.clampValue(rt),lt.stretch!==rt&&(lt.stretch=rt,this.parent&&this.parent.update()))}*[Symbol.iterator](){for(let ve of this._items)yield ve.widget}addWidget(ve){Li.ArrayExt.findFirstIndex(this._items,lt=>lt.widget===ve)===-1&&(this._items.push(new sv(ve)),this.parent&&this.attachWidget(ve))}removeWidget(ve){let rt=Li.ArrayExt.findFirstIndex(this._items,Tt=>Tt.widget===ve);if(rt===-1)return;let lt=Li.ArrayExt.removeAt(this._items,rt);this.parent&&this.detachWidget(ve),lt.dispose()}init(){super.init();for(let ve of this)this.attachWidget(ve)}attachWidget(ve){this.parent.isAttached&&Gi.sendMessage(ve,to.Msg.BeforeAttach),this.parent.node.appendChild(ve.node),this.parent.isAttached&&Gi.sendMessage(ve,to.Msg.AfterAttach),this.parent.fit()}detachWidget(ve){this.parent.isAttached&&Gi.sendMessage(ve,to.Msg.BeforeDetach),this.parent.node.removeChild(ve.node),this.parent.isAttached&&Gi.sendMessage(ve,to.Msg.AfterDetach),this.parent.fit()}onBeforeShow(ve){super.onBeforeShow(ve),this.parent.update()}onBeforeAttach(ve){super.onBeforeAttach(ve),this.parent.fit()}onChildShown(ve){this.parent.fit()}onChildHidden(ve){this.parent.fit()}onResize(ve){this.parent.isVisible&&this._update(ve.width,ve.height)}onUpdateRequest(ve){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(ve){this.parent.isAttached&&this._fit()}_fit(){for(let Mr=0,Ur=this.rowCount;Mr!Mr.isHidden);for(let Mr=0,Ur=ve.length;Mr({row:0,column:0,rowSpan:1,columnSpan:1}),changed:gr});function ve(Mr){let Ur=Math.max(0,Math.floor(Mr.row||0)),wr=Math.max(0,Math.floor(Mr.column||0)),Ir=Math.max(1,Math.floor(Mr.rowSpan||0)),Hr=Math.max(1,Math.floor(Mr.columnSpan||0));return{row:Ur,column:wr,rowSpan:Ir,columnSpan:Hr}}gt.normalizeConfig=ve;function rt(Mr){return Math.max(0,Math.floor(Mr))}gt.clampValue=rt;function lt(Mr,Ur){let wr=gt.cellConfigProperty.get(Mr.widget),Ir=gt.cellConfigProperty.get(Ur.widget);return wr.rowSpan-Ir.rowSpan}gt.rowSpanCmp=lt;function Tt(Mr,Ur){let wr=gt.cellConfigProperty.get(Mr.widget),Ir=gt.cellConfigProperty.get(Ur.widget);return wr.columnSpan-Ir.columnSpan}gt.columnSpanCmp=Tt;function zt(Mr,Ur){for(Ur=Math.max(1,Math.floor(Ur));Mr.lengthUr&&(Mr.length=Ur)}gt.reallocSizers=zt;function Lr(Mr,Ur,wr,Ir){if(wr=Ir)return;let Rr=(Ir-Hr)/(wr-Ur+1);for(let Br=Ur;Br<=wr;++Br)Mr[Br].minSize+=Rr}gt.distributeMin=Lr;function gr(Mr){Mr.parent&&Mr.parent.layout instanceof Jp&&Mr.parent.fit()}})(Yc||(Yc={}));var Dm=class gt extends to{constructor(ve={}){super({node:Rm.createNode()}),this._activeIndex=-1,this._tabFocusIndex=0,this._menus=[],this._childMenu=null,this._overflowMenu=null,this._menuItemSizes=[],this._overflowIndex=-1,this.addClass("lm-MenuBar"),this.setFlag(to.Flag.DisallowLayout),this.renderer=ve.renderer||gt.defaultRenderer,this._forceItemsPosition=ve.forceItemsPosition||{forceX:!0,forceY:!0},this._overflowMenuOptions=ve.overflowMenuOptions||{isVisible:!0}}dispose(){this._closeChildMenu(),this._menus.length=0,super.dispose()}get childMenu(){return this._childMenu}get overflowIndex(){return this._overflowIndex}get overflowMenu(){return this._overflowMenu}get contentNode(){return this.node.getElementsByClassName("lm-MenuBar-content")[0]}get activeMenu(){return this._menus[this._activeIndex]||null}set activeMenu(ve){this.activeIndex=ve?this._menus.indexOf(ve):-1}get activeIndex(){return this._activeIndex}set activeIndex(ve){(ve<0||ve>=this._menus.length)&&(ve=-1),ve>-1&&this._menus[ve].items.length===0&&(ve=-1),this._activeIndex!==ve&&(this._activeIndex=ve,this.update())}get menus(){return this._menus}openActiveMenu(){this._activeIndex!==-1&&(this._openChildMenu(),this._childMenu&&(this._childMenu.activeIndex=-1,this._childMenu.activateNextItem()))}addMenu(ve,rt=!0){this.insertMenu(this._menus.length,ve,rt)}insertMenu(ve,rt,lt=!0){this._closeChildMenu();let Tt=this._menus.indexOf(rt),zt=Math.max(0,Math.min(ve,this._menus.length));if(Tt===-1){Li.ArrayExt.insert(this._menus,zt,rt),rt.addClass("lm-MenuBar-menu"),rt.aboutToClose.connect(this._onMenuAboutToClose,this),rt.menuRequested.connect(this._onMenuMenuRequested,this),rt.title.changed.connect(this._onTitleChanged,this),lt&&this.update();return}zt===this._menus.length&&zt--,Tt!==zt&&(Li.ArrayExt.move(this._menus,Tt,zt),lt&&this.update())}removeMenu(ve,rt=!0){this.removeMenuAt(this._menus.indexOf(ve),rt)}removeMenuAt(ve,rt=!0){this._closeChildMenu();let lt=Li.ArrayExt.removeAt(this._menus,ve);lt&&(lt.aboutToClose.disconnect(this._onMenuAboutToClose,this),lt.menuRequested.disconnect(this._onMenuMenuRequested,this),lt.title.changed.disconnect(this._onTitleChanged,this),lt.removeClass("lm-MenuBar-menu"),rt&&this.update())}clearMenus(){if(this._menus.length!==0){this._closeChildMenu();for(let ve of this._menus)ve.aboutToClose.disconnect(this._onMenuAboutToClose,this),ve.menuRequested.disconnect(this._onMenuMenuRequested,this),ve.title.changed.disconnect(this._onTitleChanged,this),ve.removeClass("lm-MenuBar-menu");this._menus.length=0,this.update()}}handleEvent(ve){switch(ve.type){case"keydown":this._evtKeyDown(ve);break;case"mousedown":this._evtMouseDown(ve);break;case"mousemove":this._evtMouseMove(ve);break;case"focusout":this._evtFocusOut(ve);break;case"contextmenu":ve.preventDefault(),ve.stopPropagation();break}}onBeforeAttach(ve){this.node.addEventListener("keydown",this),this.node.addEventListener("mousedown",this),this.node.addEventListener("mousemove",this),this.node.addEventListener("focusout",this),this.node.addEventListener("contextmenu",this)}onAfterDetach(ve){this.node.removeEventListener("keydown",this),this.node.removeEventListener("mousedown",this),this.node.removeEventListener("mousemove",this),this.node.removeEventListener("focusout",this),this.node.removeEventListener("contextmenu",this),this._closeChildMenu()}onActivateRequest(ve){this.isAttached&&this._focusItemAt(0)}onResize(ve){this.update(),super.onResize(ve)}onUpdateRequest(ve){var rt;let lt=this._menus,Tt=this.renderer,zt=this._activeIndex,Lr=this._tabFocusIndex>=0&&this._tabFocusIndex-1?this._overflowIndex:lt.length,Mr=0,Ur=!1;gr=this._overflowMenu!==null?gr-1:gr;let wr=new Array(gr);for(let Ir=0;Ir{this._tabFocusIndex=Ir,this.activeIndex=Ir}}),Mr+=this._menuItemSizes[Ir],lt[Ir].title.label===this._overflowMenuOptions.title&&(Ur=!0,gr--);if(this._overflowMenuOptions.isVisible){if(this._overflowIndex>-1&&!Ur){if(this._overflowMenu===null){let Ir=(rt=this._overflowMenuOptions.title)!==null&&rt!==void 0?rt:"...";this._overflowMenu=new ov({commands:new td}),this._overflowMenu.title.label=Ir,this._overflowMenu.title.mnemonic=0,this.addMenu(this._overflowMenu,!1)}for(let Ir=lt.length-2;Ir>=gr;Ir--){let Hr=this.menus[Ir];Hr.title.mnemonic=0,this._overflowMenu.insertItem(0,{type:"submenu",submenu:Hr}),this.removeMenu(Hr,!1)}wr[gr]=Tt.renderItem({title:this._overflowMenu.title,active:gr===zt&<[gr].items.length!==0,tabbable:gr===Lr,disabled:lt[gr].items.length===0,onfocus:()=>{this._tabFocusIndex=gr,this.activeIndex=gr}}),gr++}else if(this._overflowMenu!==null){let Ir=this._overflowMenu.items,Hr=this.node.offsetWidth,Rr=this._overflowMenu.items.length;for(let Br=0;Brthis._menuItemSizes[Pr]){let xe=Ir[0].submenu;this._overflowMenu.removeItemAt(0),this.insertMenu(gr,xe,!1),wr[gr]=Tt.renderItem({title:xe.title,active:!1,tabbable:gr===Lr,disabled:lt[gr].items.length===0,onfocus:()=>{this._tabFocusIndex=gr,this.activeIndex=gr}}),gr++}}this._overflowMenu.items.length===0&&(this.removeMenu(this._overflowMenu,!1),wr.pop(),this._overflowMenu=null,this._overflowIndex=-1)}}rd.render(wr,this.contentNode),this._updateOverflowIndex()}_updateOverflowIndex(){if(!this._overflowMenuOptions.isVisible)return;let ve=this.contentNode.childNodes,rt=this.node.offsetWidth,lt=0,Tt=-1,zt=ve.length;if(this._menuItemSizes.length==0)for(let Lr=0;Lrrt&&Tt===-1&&(Tt=Lr)}else for(let Lr=0;Lrrt){Tt=Lr;break}this._overflowIndex=Tt}_evtKeyDown(ve){let rt=ve.keyCode;if(rt===9){this.activeIndex=-1;return}if(ve.preventDefault(),ve.stopPropagation(),rt===13||rt===32||rt===38||rt===40){if(this.activeIndex=this._tabFocusIndex,this.activeIndex!==this._tabFocusIndex)return;this.openActiveMenu();return}if(rt===27){this._closeChildMenu(),this._focusItemAt(this.activeIndex);return}if(rt===37||rt===39){let Lr=rt===37?-1:1,gr=this._tabFocusIndex+Lr,Mr=this._menus.length;for(let Ur=0;UrZl.hitTest(lt,ve.clientX,ve.clientY));if(rt===-1){this._closeChildMenu();return}if(ve.button===0)if(this._childMenu)this._closeChildMenu(),this.activeIndex=rt;else{ve.preventDefault();let lt=this._positionForMenu(rt);ov.saveWindowData(),this.activeIndex=rt,this._openChildMenu(lt)}}_evtMouseMove(ve){let rt=Li.ArrayExt.findFirstIndex(this.contentNode.children,Tt=>Zl.hitTest(Tt,ve.clientX,ve.clientY));if(rt===this._activeIndex||rt===-1&&this._childMenu)return;let lt=rt>=0&&this._childMenu?this._positionForMenu(rt):null;ov.saveWindowData(),this.activeIndex=rt,lt&&this._openChildMenu(lt)}_positionForMenu(ve){let rt=this.contentNode.children[ve],{left:lt,bottom:Tt}=rt.getBoundingClientRect();return{top:Tt,left:lt}}_evtFocusOut(ve){!this._childMenu&&!this.node.contains(ve.relatedTarget)&&(this.activeIndex=-1)}_focusItemAt(ve){let rt=this.contentNode.childNodes[ve];rt&&rt.focus()}_openChildMenu(ve={}){let rt=this.activeMenu;if(!rt){this._closeChildMenu();return}let lt=this._childMenu;if(lt===rt)return;this._childMenu=rt,lt?lt.close():document.addEventListener("mousedown",this,!0),this._tabFocusIndex=this.activeIndex,Gi.sendMessage(this,to.Msg.UpdateRequest);let{left:Tt,top:zt}=ve;(typeof Tt>"u"||typeof zt>"u")&&({left:Tt,top:zt}=this._positionForMenu(this._activeIndex)),lt||this.addClass("lm-mod-active"),rt.items.length>0&&rt.open(Tt,zt,this._forceItemsPosition)}_closeChildMenu(){if(!this._childMenu)return;this.removeClass("lm-mod-active"),document.removeEventListener("mousedown",this,!0);let ve=this._childMenu;this._childMenu=null,ve.close(),this.activeIndex=-1}_onMenuAboutToClose(ve){ve===this._childMenu&&(this.removeClass("lm-mod-active"),document.removeEventListener("mousedown",this,!0),this._childMenu=null,this.activeIndex=-1)}_onMenuMenuRequested(ve,rt){if(ve!==this._childMenu)return;let lt=this._activeIndex,Tt=this._menus.length;switch(rt){case"next":this.activeIndex=lt===Tt-1?0:lt+1;break;case"previous":this.activeIndex=lt===0?Tt-1:lt-1;break}this.openActiveMenu()}_onTitleChanged(){this.update()}};(function(gt){class ve{renderItem(lt){let Tt=this.createItemClass(lt),zt=this.createItemDataset(lt),Lr=this.createItemARIA(lt);return ql.li({className:Tt,dataset:zt,...lt.disabled?{}:{tabindex:lt.tabbable?"0":"-1"},onfocus:lt.onfocus,...Lr},this.renderIcon(lt),this.renderLabel(lt))}renderIcon(lt){let Tt=this.createIconClass(lt);return ql.div({className:Tt},lt.title.icon,lt.title.iconLabel)}renderLabel(lt){let Tt=this.formatLabel(lt);return ql.div({className:"lm-MenuBar-itemLabel"},Tt)}createItemClass(lt){let Tt="lm-MenuBar-item";return lt.title.className&&(Tt+=` ${lt.title.className}`),lt.active&&!lt.disabled&&(Tt+=" lm-mod-active"),Tt}createItemDataset(lt){return lt.title.dataset}createItemARIA(lt){return{role:"menuitem","aria-haspopup":"true","aria-disabled":lt.disabled?"true":"false"}}createIconClass(lt){let Tt="lm-MenuBar-itemIcon",zt=lt.title.iconClass;return zt?`${Tt} ${zt}`:Tt}formatLabel(lt){let{label:Tt,mnemonic:zt}=lt.title;if(zt<0||zt>=Tt.length)return Tt;let Lr=Tt.slice(0,zt),gr=Tt.slice(zt+1),Mr=Tt[zt],Ur=ql.span({className:"lm-MenuBar-itemMnemonic"},Mr);return[Lr,Ur,gr]}}gt.Renderer=ve,gt.defaultRenderer=new ve})(Dm||(Dm={}));var Rm;(function(gt){function ve(){let lt=document.createElement("div"),Tt=document.createElement("ul");return Tt.className="lm-MenuBar-content",lt.appendChild(Tt),Tt.setAttribute("role","menubar"),lt}gt.createNode=ve;function rt(lt,Tt,zt){let Lr=-1,gr=-1,Mr=!1,Ur=Tt.toUpperCase();for(let wr=0,Ir=lt.length;wr=0&&Br1&&this.widgets.forEach(rt=>{rt.hiddenMode=this._hiddenMode}))}dispose(){for(let ve of this._items)ve.dispose();this._box=null,this._items.length=0,super.dispose()}attachWidget(ve,rt){this._hiddenMode===to.HiddenMode.Scale&&this._items.length>0?(this._items.length===1&&(this.widgets[0].hiddenMode=to.HiddenMode.Scale),rt.hiddenMode=to.HiddenMode.Scale):rt.hiddenMode=to.HiddenMode.Display,Li.ArrayExt.insert(this._items,ve,new sv(rt)),this.parent.isAttached&&Gi.sendMessage(rt,to.Msg.BeforeAttach),this.parent.node.appendChild(rt.node),this.parent.isAttached&&Gi.sendMessage(rt,to.Msg.AfterAttach),this.parent.fit()}moveWidget(ve,rt,lt){Li.ArrayExt.move(this._items,ve,rt),this.parent.update()}detachWidget(ve,rt){let lt=Li.ArrayExt.removeAt(this._items,ve);this.parent.isAttached&&Gi.sendMessage(rt,to.Msg.BeforeDetach),this.parent.node.removeChild(rt.node),this.parent.isAttached&&Gi.sendMessage(rt,to.Msg.AfterDetach),lt.widget.node.style.zIndex="",this._hiddenMode===to.HiddenMode.Scale&&(rt.hiddenMode=to.HiddenMode.Display,this._items.length===1&&(this._items[0].widget.hiddenMode=to.HiddenMode.Display)),lt.dispose(),this.parent.fit()}onBeforeShow(ve){super.onBeforeShow(ve),this.parent.update()}onBeforeAttach(ve){super.onBeforeAttach(ve),this.parent.fit()}onChildShown(ve){this.parent.fit()}onChildHidden(ve){this.parent.fit()}onResize(ve){this.parent.isVisible&&this._update(ve.width,ve.height)}onUpdateRequest(ve){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(ve){this.parent.isAttached&&this._fit()}_fit(){let ve=0,rt=0;for(let zt=0,Lr=this._items.length;zt{this.createGraph(this._model)})}renderModel(ve){if(this.hasGraphElement())return Promise.resolve();this._model=ve;let rt=ve.data["image/png"];return rt!=null?(this.updateImage(rt),Promise.resolve()):this.createGraph(ve)}hasGraphElement(){return this.node.querySelector(".plot-container")!==null}updateImage(ve){this.hideGraph(),this._img_el.src="data:image/png;base64,"+ve,this.showImage()}hideGraph(){let ve=this.node.querySelector(".plot-container");ve!=null&&(ve.style.display="none")}showGraph(){let ve=this.node.querySelector(".plot-container");ve!=null&&(ve.style.display="block")}hideImage(){let ve=this.node.querySelector(".plot-img");ve!=null&&(ve.style.display="none")}showImage(){let ve=this.node.querySelector(".plot-img");ve!=null&&(ve.style.display="block")}createGraph(ve){let{data:rt,layout:lt,frames:Tt,config:zt}=ve.data[this._mimeType];return lt.height||(lt.height=360),(async()=>(gt.Plotly===null&&(gt.Plotly=await Promise.resolve().then(()=>Jh(Q5())),gt._resolveLoadingPlotly()),gt.loadingPlotly))().then(()=>gt.Plotly.react(this.node,rt,lt,zt)).then(gr=>{this.showGraph(),this.hideImage(),this.update(),Tt&>.Plotly.addFrames(this.node,Tt),this.node.offsetWidth>0&&this.node.offsetHeight>0&>.Plotly.toImage(gr,{format:"png",width:this.node.offsetWidth,height:this.node.offsetHeight}).then(Mr=>{let Ur=Mr.split(",")[1];ve.data["image/png"]!==Ur&&ve.setData({data:{...ve.data,"image/png":Ur}})}),this.node.on("plotly_webglcontextlost",()=>{let Mr=ve.data["image/png"];if(Mr!=null)return this.updateImage(Mr),Promise.resolve()})})}onAfterShow(ve){this.update()}onResize(ve){this.update()}onUpdateRequest(ve){gt.Plotly&&this.isVisible&&this.hasGraphElement()&>.Plotly.redraw(this.node).then(()=>{gt.Plotly.Plots.resize(this.node)})}static{this.Plotly=null}static{this.loadingPlotly=new Promise(ve=>{gt._resolveLoadingPlotly=ve})}},DI={safe:!0,mimeTypes:[eT],createRenderer:gt=>new Yy(gt)},RI=[{id:"@jupyterlab/plotly-extension:factory",rendererFactory:DI,rank:2,dataType:"json",fileTypes:[{name:"plotly",mimeTypes:[eT],extensions:[".plotly",".plotly.json"],iconClass:II}],documentWidgetFactoryOptions:{name:"Plotly",primaryFileType:"plotly",fileTypes:["plotly","json"],defaultFor:["plotly"]}}],RD=RI;export{eT as MIME_TYPE,Yy as RenderedPlotly,RD as default,DI as rendererFactory}; /*! Bundled license information: plotly.js/dist/plotly.js: - (*! - * pad-left - * - * Copyright (c) 2014-2015, Jon Schlinkert. - * Licensed under the MIT license. - *) - (*! - * repeat-string - * - * Copyright (c) 2014-2015, Jon Schlinkert. - * Licensed under the MIT License. - *) - (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) (*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh * @license MIT *) + (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) (*! * Determine if an object is a Buffer * * @author Feross Aboukhadijeh * @license MIT *) + (*! + * pad-left + * + * Copyright (c) 2014-2015, Jon Schlinkert. + * Licensed under the MIT license. + *) + (*! + * repeat-string + * + * Copyright (c) 2014-2015, Jon Schlinkert. + * Licensed under the MIT License. + *) (*! Bundled license information: native-promise-only/lib/npo.src.js: diff --git a/plotly/labextension/package.json b/plotly/labextension/package.json index ca6cc145c36..a69ca5e1e4e 100644 --- a/plotly/labextension/package.json +++ b/plotly/labextension/package.json @@ -19,7 +19,7 @@ }, "dependencies": { "lodash-es": "^4.17.21", - "plotly.js": "3.6.0", + "plotly.js": "4.0.0-rc.0", "@lumino/widgets": "~2.4.0" }, "devDependencies": { @@ -33,7 +33,7 @@ "outputDir": "../plotly/labextension", "webpackConfig": "./webpack.config.js", "_build": { - "load": "static/remoteEntry.2a6392a40c19ad8383a0.js", + "load": "static/remoteEntry.c5efd356a40443797e61.js", "mimeExtension": "./mimeExtension" } } diff --git a/plotly/labextension/static/1.5b2e52e843a62faccb1d.js b/plotly/labextension/static/1.5b2e52e843a62faccb1d.js new file mode 100644 index 00000000000..1266db17534 --- /dev/null +++ b/plotly/labextension/static/1.5b2e52e843a62faccb1d.js @@ -0,0 +1,2 @@ +/*! For license information please see 1.5b2e52e843a62faccb1d.js.LICENSE.txt */ +(self.webpackChunkjupyterlab_plotly=self.webpackChunkjupyterlab_plotly||[]).push([[1],[,,(e,t,r)=>{"use strict";r.r(t),r.d(t,{MIME_TYPE:()=>He,RenderedPlotly:()=>Ge,default:()=>Ye,rendererFactory:()=>We});var n,i,a,o,s,l,c=r(3),u=Object.create,h=Object.defineProperty,d=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,p=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty,g=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),y=(e,t,r)=>(r=null!=e?u(p(e)):{},((e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of f(t))!m.call(e,r)&&undefined!==r&&h(e,r,{get:()=>t[r],enumerable:!(n=d(t,r))||n.enumerable});return e})(!t&&e&&e.__esModule?r:h(r,"default",{value:e,enumerable:!0}),e)),v=g(((e,t)=>{var n,i;n=e,i=function(e){function t(e,t){let r=0;for(let n of e)if(!1===t(n,r++))return!1;return!0}var r;e.ArrayExt=void 0,function(e){function t(e,t,r=0,n=-1){let i,a=e.length;if(0===a)return-1;r=r<0?Math.max(0,r+a):Math.min(r,a-1),i=(n=n<0?Math.max(0,n+a):Math.min(n,a-1))=r)return;let n=e[t];for(let n=t+1;n0;){let n=s>>1,i=o+n;r(e[i],t)<0?(o=i+1,s-=n+1):s=n}return o},e.upperBound=function(e,t,r,n=0,i=-1){let a=e.length;if(0===a)return 0;let o=n=n<0?Math.max(0,n+a):Math.min(n,a-1),s=(i=i<0?Math.max(0,i+a):Math.min(i,a-1))-n+1;for(;s>0;){let n=s>>1,i=o+n;r(e[i],t)>0?s=n:(o=i+1,s-=n+1)}return o},e.shallowEqual=function(e,t,r){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0,i=e.length;n=o&&(r=i<0?o-1:o),void 0===n?n=i<0?-1:o:n<0?n=Math.max(n+o,i<0?-1:0):n>=o&&(n=i<0?o-1:o),a=i<0&&n>=r||i>0&&r>=n?0:i<0?Math.floor((n-r+1)/i+1):Math.floor((n-r-1)/i+1);let s=[];for(let t=0;t=(n=n<0?Math.max(0,n+i):Math.min(n,i-1)))return;let o=n-r+1;if(t>0?t%=o:t<0&&(t=(t%o+o)%o),0===t)return;let s=r+t;a(e,r,s-1),a(e,s,n),a(e,r,n)},e.fill=function(e,t,r=0,n=-1){let i,a=e.length;if(0!==a){r=r<0?Math.max(0,r+a):Math.min(r,a-1),i=(n=n<0?Math.max(0,n+a):Math.min(n,a-1))t;--r)e[r]=e[r-1];e[t]=r},e.removeAt=o,e.removeFirstOf=function(e,r,n=0,i=-1){let a=t(e,r,n,i);return-1!==a&&o(e,a),a},e.removeLastOf=function(e,t,n=-1,i=0){let a=r(e,t,n,i);return-1!==a&&o(e,a),a},e.removeAllOf=function(e,t,r=0,n=-1){let i=e.length;if(0===i)return 0;r=r<0?Math.max(0,r+i):Math.min(r,i-1),n=n<0?Math.max(0,n+i):Math.min(n,i-1);let a=0;for(let o=0;o=r&&o<=n&&e[o]===t||n=r)&&e[o]===t?a++:a>0&&(e[o-a]=e[o]);return a>0&&(e.length=i-a),a},e.removeFirstWhere=function(e,t,r=0,i=-1){let a,s=n(e,t,r,i);return-1!==s&&(a=o(e,s)),{index:s,value:a}},e.removeLastWhere=function(e,t,r=-1,n=0){let a,s=i(e,t,r,n);return-1!==s&&(a=o(e,s)),{index:s,value:a}},e.removeAllWhere=function(e,t,r=0,n=-1){let i=e.length;if(0===i)return 0;r=r<0?Math.max(0,r+i):Math.min(r,i-1),n=n<0?Math.max(0,n+i):Math.min(n,i-1);let a=0;for(let o=0;o=r&&o<=n&&t(e[o],o)||n=r)&&t(e[o],o)?a++:a>0&&(e[o-a]=e[o]);return a>0&&(e.length=i-a),a}}(e.ArrayExt||(e.ArrayExt={})),(r||(r={})).rangeLength=function(e,t,r){return 0===r?1/0:e>t&&r>0||et?1:0}}(e.StringExt||(e.StringExt={})),e.chain=function*(...e){for(let t of e)yield*t},e.each=function(e,t){let r=0;for(let n of e)if(!1===t(n,r++))return},e.empty=function*(){},e.enumerate=function*(e,t=0){for(let r of e)yield[t++,r]},e.every=t,e.filter=function*(e,t){let r=0;for(let n of e)t(n,r++)&&(yield n)},e.find=function(e,t){let r=0;for(let n of e)if(t(n,r++))return n},e.findIndex=function(e,t){let r=0;for(let n of e)if(t(n,r++))return r-1;return-1},e.map=function*(e,t){let r=0;for(let n of e)yield t(n,r++)},e.max=function(e,t){let r;for(let n of e)void 0!==r?t(n,r)>0&&(r=n):r=n;return r},e.min=function(e,t){let r;for(let n of e)void 0!==r?t(n,r)<0&&(r=n):r=n;return r},e.minmax=function(e,t){let r,n,i=!0;for(let a of e)i?(r=a,n=a,i=!1):t(a,r)<0?r=a:t(a,n)>0&&(n=a);return i?void 0:[r,n]},e.once=function*(e){yield e},e.range=function*(e,t,n){void 0===t?(t=e,e=0,n=1):void 0===n&&(n=1);let i=r.rangeLength(e,t,n);for(let t=0;t-1;t--)yield e[t]},e.some=function(e,t){let r=0;for(let n of e)if(t(n,r++))return!0;return!1},e.stride=function*(e,t){let r=0;for(let n of e)r++%t==0&&(yield n)},e.take=function*(e,t){if(t<1)return;let r,n=e[Symbol.iterator]();for(;0e[Symbol.iterator]())),n=r.map((e=>e.next()));for(;t(n,(e=>!e.done));n=r.map((e=>e.next())))yield n.map((e=>e.value))}},"object"==typeof e&&typeof t<"u"?i(e):"function"==typeof define&&r.amdO?define(["exports"],i):i((n=typeof globalThis<"u"?globalThis:n||self).lumino_algorithm={})})),x=g(((e,t)=>{var n,i;n=e,i=function(e,t){var r;function n(e){let t=0;for(let r=0,n=e.length;r>>0),e[r]=255&t,t>>>=8}e.JSONExt=void 0,function(e){function t(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e}function r(e){return Array.isArray(e)}e.emptyObject=Object.freeze({}),e.emptyArray=Object.freeze([]),e.isPrimitive=t,e.isArray=r,e.isObject=function(e){return!t(e)&&!r(e)},e.deepEqual=function e(n,i){if(n===i)return!0;if(t(n)||t(i))return!1;let a=r(n),o=r(i);return a===o&&(a&&o?function(t,r){if(t===r)return!0;if(t.length!==r.length)return!1;for(let n=0,i=t.length;n{if(n===e.provides)return!0;let o=r.get(n);if(!o)return!1;let s=t.get(o),l=[...s.requires,...s.optional];return 0!==l.length&&(a.push(o),!!l.some(i)||(a.pop(),!1))};if(!e.provides||0===n.length)return;let a=[e.id];if(n.some(i))throw new ReferenceError(`Cycle detected: ${a.join(" -> ")}.`)},e.findDependents=function(e,r,n){let i=new Array,a=e=>{let t=r.get(e),a=[...t.requires,...t.optional];i.push(...a.reduce(((t,r)=>{let i=n.get(r);return i&&t.push([e,i]),t}),[]))};for(let e of r.keys())a(e);let o=i.filter((t=>t[1]===e)),s=0;for(;o.length>s;){let e=o.length,t=new Set(o.map((e=>e[0])));for(let e of t)i.filter((t=>t[1]===e)).forEach((e=>{o.includes(e)||o.push(e)}));s=e}let l=t.topologicSort(o),c=l.findIndex((t=>t===e));return-1===c?[e]:l.slice(0,c+1)},e.collectStartupPlugins=function(e,t){let r=new Set;for(let t of e.keys())!0===e.get(t).autoStart&&r.add(t);if(t.startPlugins)for(let e of t.startPlugins)r.add(e);if(t.ignorePlugins)for(let e of t.ignorePlugins)r.delete(e);return Array.from(r)}}(r||(r={})),e.Random=void 0,(e.Random||(e.Random={})).getRandomValues=(()=>{let e=typeof window<"u"&&(window.crypto||window.msCrypto)||null;return e&&"function"==typeof e.getRandomValues?function(t){return e.getRandomValues(t)}:n})(),e.UUID=void 0,(e.UUID||(e.UUID={})).uuid4=function(e){let t=new Uint8Array(16),r=new Array(256);for(let e=0;e<16;++e)r[e]="0"+e.toString(16);for(let e=16;e<256;++e)r[e]=e.toString(16);return function(){return e(t),t[6]=64|15&t[6],t[8]=128|63&t[8],r[t[0]]+r[t[1]]+r[t[2]]+r[t[3]]+"-"+r[t[4]]+r[t[5]]+"-"+r[t[6]]+r[t[7]]+"-"+r[t[8]]+r[t[9]]+"-"+r[t[10]]+r[t[11]]+r[t[12]]+r[t[13]]+r[t[14]]+r[t[15]]}}(e.Random.getRandomValues),e.MimeData=class{constructor(){this._types=[],this._values=[]}types(){return this._types.slice()}hasData(e){return-1!==this._types.indexOf(e)}getData(e){let t=this._types.indexOf(e);return-1!==t?this._values[t]:void 0}setData(e,t){this.clearData(e),this._types.push(e),this._values.push(t)}clearData(e){let t=this._types.indexOf(e);-1!==t&&(this._types.splice(t,1),this._values.splice(t,1))}clear(){this._types.length=0,this._values.length=0}},e.PluginRegistry=class{constructor(e={}){this._application=null,this._validatePlugin=()=>!0,this._plugins=new Map,this._services=new Map,e.validatePlugin&&(console.info("Plugins may be rejected by the custom validation plugin method."),this._validatePlugin=e.validatePlugin)}get application(){return this._application}set application(e){if(null!==this._application)throw Error("PluginRegistry.application is already set. It cannot be overridden.");this._application=e}get deferredPlugins(){return Array.from(this._plugins).filter((([e,t])=>"defer"===t.autoStart)).map((([e,t])=>e))}getPluginDescription(e){var t,r;return null!==(r=null===(t=this._plugins.get(e))||void 0===t?void 0:t.description)&&void 0!==r?r:""}hasPlugin(e){return this._plugins.has(e)}isPluginActivated(e){var t,r;return null!==(r=null===(t=this._plugins.get(e))||void 0===t?void 0:t.activated)&&void 0!==r&&r}listPlugins(){return Array.from(this._plugins.keys())}registerPlugin(e){if(this._plugins.has(e.id))throw new TypeError(`Plugin '${e.id}' is already registered.`);if(!this._validatePlugin(e))throw new Error(`Plugin '${e.id}' is not valid.`);let t=r.createPluginData(e);r.ensureNoCycle(t,this._plugins,this._services),t.provides&&this._services.set(t.provides,t.id),this._plugins.set(t.id,t)}registerPlugins(e){for(let t of e)this.registerPlugin(t)}deregisterPlugin(e,t){let r=this._plugins.get(e);if(r){if(r.activated&&!t)throw new Error(`Plugin '${e}' is still active.`);this._plugins.delete(e)}}async activatePlugin(e){let t=this._plugins.get(e);if(!t)throw new ReferenceError(`Plugin '${e}' is not registered.`);if(t.activated)return;if(t.promise)return t.promise;let r=t.requires.map((e=>this.resolveRequiredService(e))),n=t.optional.map((e=>this.resolveOptionalService(e)));return t.promise=Promise.all([...r,...n]).then((e=>t.activate.apply(void 0,[this.application,...e]))).then((e=>{t.service=e,t.activated=!0,t.promise=null})).catch((e=>{throw t.promise=null,e})),t.promise}async activatePlugins(e,t={}){switch(e){case"defer":{let e=this.deferredPlugins.filter((e=>this._plugins.get(e).autoStart)).map((e=>this.activatePlugin(e)));await Promise.all(e);break}case"startUp":{let e=r.collectStartupPlugins(this._plugins,t).map((async e=>{try{return await this.activatePlugin(e)}catch(t){console.error(`Plugin '${e}' failed to activate.`,t)}}));await Promise.all(e);break}}}async deactivatePlugin(e){let t=this._plugins.get(e);if(!t)throw new ReferenceError(`Plugin '${e}' is not registered.`);if(!t.activated)return[];if(!t.deactivate)throw new TypeError(`Plugin '${e}'#deactivate() method missing`);let n=r.findDependents(e,this._plugins,this._services),i=n.map((e=>this._plugins.get(e)));for(let t of i)if(!t.deactivate)throw new TypeError(`Plugin ${t.id}#deactivate() method missing (depends on ${e})`);for(let e of i){let t=[...e.requires,...e.optional].map((e=>{let t=this._services.get(e);return t?this._plugins.get(t).service:null}));await e.deactivate(this.application,...t),e.service=null,e.activated=!1}return n.pop(),n}async resolveRequiredService(e){let t=this._services.get(e);if(!t)throw new TypeError(`No provider for: ${e.name}.`);let r=this._plugins.get(t);return r.activated||await this.activatePlugin(t),r.service}async resolveOptionalService(e){let t=this._services.get(e);if(!t)return null;let r=this._plugins.get(t);if(!r.activated)try{await this.activatePlugin(t)}catch(e){return console.error(e),null}return r.service}},e.PromiseDelegate=class{constructor(){this.promise=new Promise(((e,t)=>{this._resolve=e,this._reject=t}))}resolve(e){(0,this._resolve)(e)}reject(e){(0,this._reject)(e)}},e.Token=class{constructor(e,t){this.name=e,this.description=t??"",this._tokenStructuralPropertyT=null}}},"object"==typeof e&&typeof t<"u"?i(e,v()):"function"==typeof define&&r.amdO?define(["exports","@lumino/algorithm"],i):i((n=typeof globalThis<"u"?globalThis:n||self).lumino_coreutils={},n.lumino_algorithm)})),b=g(((e,t)=>{var r,n;r=typeof self<"u"?self:e,n=()=>{var e=(()=>{var e=Object.create,t=Object.defineProperty,r=Object.defineProperties,n=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyDescriptors,a=Object.getOwnPropertyNames,o=Object.getOwnPropertySymbols,s=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable,h=(e,r,n)=>r in e?t(e,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[r]=n,d=(e,t)=>{for(var r in t||(t={}))l.call(t,r)&&h(e,r,t[r]);if(o)for(var r of o(t))u.call(t,r)&&h(e,r,t[r]);return e},f=(e,t)=>r(e,i(t)),p=(e,t,r)=>function(){if(r)throw r[0];try{return e&&(t=(0,e[a(e)[0]])(e=0)),t}catch(e){throw r=[e],e}},m=(e,t)=>function(){try{return t||(0,e[a(e)[0]])((t={exports:{}}).exports,t),t.exports}catch(e){throw t=0,e}},g=(e,r)=>{for(var n in r)t(e,n,{get:r[n],enumerable:!0})},y=(e,r,i,o)=>{if(r&&"object"==typeof r||"function"==typeof r)for(let s of a(r))!l.call(e,s)&&s!==i&&t(e,s,{get:()=>r[s],enumerable:!(o=n(r,s))||o.enumerable});return e},v=(r,n,i)=>(i=null!=r?e(s(r)):{},y(!n&&r&&r.__esModule?i:t(i,"default",{value:r,enumerable:!0}),r)),x=e=>y(t({},"__esModule",{value:!0}),e),b=m({"src/version.js"(e){e.version="4.0.0-rc.0"}}),_=m({"node_modules/native-promise-only/lib/npo.src.js"(e,t){var r,n;r="Promise",(n=typeof window<"u"?window:e)[r]=n[r]||function(){var e,t,r,n=Object.prototype.toString,i=typeof setImmediate<"u"?function(e){return setImmediate(e)}:setTimeout;try{Object.defineProperty({},"x",{}),e=function(e,t,r,n){return Object.defineProperty(e,t,{value:r,writable:!0,configurable:!1!==n})}}catch{e=function(e,t,r){return e[t]=r,e}}function a(e,n){r.add(e,n),t||(t=i(r.drain))}function o(e){var t,r=typeof e;return null!=e&&("object"==r||"function"==r)&&(t=e.then),"function"==typeof t&&t}function s(){for(var e=0;e0&&a(s,r))}catch(e){u.call(new d(r),e)}}}function u(e){var t=this;t.triggered||(t.triggered=!0,t.def&&(t=t.def),t.msg=e,t.state=2,t.chain.length>0&&a(s,t))}function h(e,t,r,n){for(var i=0;it?1:e>=t?0:NaN}function f(e){return null===e?NaN:+e}function p(e){return!isNaN(e)}function m(e){return{left:function(t,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=t.length);n>>1;e(t[a],r)<0?n=a+1:i=a}return n},right:function(t,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=t.length);n>>1;e(t[a],r)>0?i=a:n=a+1}return n}}}e.ascending=d,e.descending=function(e,t){return te?1:t>=e?0:NaN},e.min=function(e,t){var r,n,i=-1,a=e.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++in&&(r=n)}else{for(;++i=n){r=n;break}for(;++in&&(r=n)}return r},e.max=function(e,t){var r,n,i=-1,a=e.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++ir&&(r=n)}else{for(;++i=n){r=n;break}for(;++ir&&(r=n)}return r},e.extent=function(e,t){var r,n,i,a=-1,o=e.length;if(1===arguments.length){for(;++a=n){r=i=n;break}for(;++an&&(r=n),i=n){r=i=n;break}for(;++an&&(r=n),i1)return o/(l-1)},e.deviation=function(){var t=e.variance.apply(this,arguments);return t&&Math.sqrt(t)};var g=m(d);function y(e){return e.length}e.bisectLeft=g.left,e.bisect=e.bisectRight=g.right,e.bisector=function(e){return m(1===e.length?function(t,r){return d(e(t),r)}:e)},e.shuffle=function(e,t,r){(a=arguments.length)<3&&(r=e.length,a<2&&(t=0));for(var n,i,a=r-t;a;)i=Math.random()*a--|0,n=e[a+t],e[a+t]=e[i+t],e[i+t]=n;return e},e.permute=function(e,t){for(var r=t.length,n=new Array(r);r--;)n[r]=e[t[r]];return n},e.pairs=function(e){for(var t=0,r=e.length-1,n=e[0],i=new Array(r<0?0:r);t=0;)for(t=(n=e[i]).length;--t>=0;)r[--o]=n[t];return r};var v=Math.abs;function x(e,t){for(var r in t)Object.defineProperty(e.prototype,r,{value:t[r],enumerable:!1})}function b(){this._=Object.create(null)}function _(e){return"__proto__"==(e+="")||"\0"===e[0]?"\0"+e:e}function w(e){return"\0"===(e+="")[0]?e.slice(1):e}function k(e){return _(e)in this._}function T(e){return(e=_(e))in this._&&delete this._[e]}function A(){var e=[];for(var t in this._)e.push(w(t));return e}function M(){var e=0;for(var t in this._)++e;return e}function S(){for(var e in this._)return!1;return!0}function E(){this._=Object.create(null)}function C(e){return e}function L(e,t,r){return function(){var n=r.apply(t,arguments);return n===t?e:n}}function I(e,t){if(t in e)return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var r=0,n=P.length;rt;)i.push(n/a);else for(;(n=e+r*++o)=i.length)return r?r.call(n,a):t?a.sort(t):a;for(var l,c,u,h,d=-1,f=a.length,p=i[s++],m=new b;++d=i.length)return e;var r=[],n=a[t++];return e.forEach((function(e,n){r.push({key:e,values:s(n,t)})})),n?r.sort((function(e,t){return n(e.key,t.key)})):r}return n.map=function(e,t){return o(t,e,0)},n.entries=function(t){return s(o(e.map,t,0),0)},n.key=function(e){return i.push(e),n},n.sortKeys=function(e){return a[i.length-1]=e,n},n.sortValues=function(e){return t=e,n},n.rollup=function(e){return r=e,n},n},e.set=function(e){var t=new E;if(e)for(var r=0,n=e.length;r=0&&(n=e.slice(r+1),e=e.slice(0,r)),e)return arguments.length<2?this[e].on(n):this[e].on(n,t);if(2===arguments.length){if(null==t)for(e in this)this.hasOwnProperty(e)&&this[e].on(n,null);return this}},e.event=null,e.requote=function(e){return e.replace(B,"\\$&")};var B=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,N={}.__proto__?function(e,t){e.__proto__=t}:function(e,t){for(var r in t)e[r]=t[r]};function U(e){return N(e,G),e}var V=function(e,t){return t.querySelector(e)},q=function(e,t){return t.querySelectorAll(e)},H=function(e,t){var r=e.matches||e[I(e,"matchesSelector")];return(H=function(e,t){return r.call(e,t)})(e,t)};"function"==typeof Sizzle&&(V=function(e,t){return Sizzle(e,t)[0]||null},q=Sizzle,H=Sizzle.matchesSelector),e.selection=function(){return e.select(i.documentElement)};var G=e.selection.prototype=[];function W(e){return"function"==typeof e?e:function(){return V(e,this)}}function Y(e){return"function"==typeof e?e:function(){return q(e,this)}}G.select=function(e){var t,r,n,i,a=[];e=W(e);for(var o=-1,s=this.length;++o=0&&"xmlns"!==(r=e.slice(0,t))&&(e=e.slice(t+1)),Z.hasOwnProperty(r)?{space:Z[r],local:e}:e}},G.attr=function(t,r){if(arguments.length<2){if("string"==typeof t){var n=this.node();return(t=e.ns.qualify(t)).local?n.getAttributeNS(t.space,t.local):n.getAttribute(t)}for(r in t)this.each($(r,t[r]));return this}return this.each($(t,r))},G.classed=function(e,t){if(arguments.length<2){if("string"==typeof e){var r=this.node(),n=(e=Q(e)).length,i=-1;if(t=r.classList){for(;++i=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},G.sort=function(e){e=le.apply(this,arguments);for(var t=-1,r=this.length;++t0&&(t=t.slice(0,o));var l=fe.get(t);function c(){var e=this[a];e&&(this.removeEventListener(t,e,e.$),delete this[a])}return l&&(t=l,s=me),o?r?function(){var e=s(r,n(arguments));c.call(this),this.addEventListener(t,this[a]=e,e.$=i),e._=r}:c:r?z:function(){var r,n=new RegExp("^__on([^.]+)"+e.requote(t)+"$");for(var i in this)if(r=i.match(n)){var a=this[i];this.removeEventListener(r[1],a,a.$),delete this[i]}}}e.selection.enter=ue,e.selection.enter.prototype=he,he.append=G.append,he.empty=G.empty,he.node=G.node,he.call=G.call,he.size=G.size,he.select=function(e){for(var t,r,n,i,a,o=[],s=-1,l=this.length;++s=t&&(t=i+1);!(o=s[t])&&++t1?Me:e<-1?-Me:Math.asin(e)}function Ie(e){return((e=Math.exp(e))+1/e)/2}var Pe=Math.SQRT2;e.interpolateZoom=function(e,t){var r,n,i=e[0],a=e[1],o=e[2],s=t[0],l=t[1],c=t[2],u=s-i,h=l-a,d=u*u+h*h;if(d<1e-12)n=Math.log(c/o)/Pe,r=function(e){return[i+e*u,a+e*h,o*Math.exp(Pe*e*n)]};else{var f=Math.sqrt(d),p=(c*c-o*o+4*d)/(2*o*2*f),m=(c*c-o*o-4*d)/(2*c*2*f),g=Math.log(Math.sqrt(p*p+1)-p),y=Math.log(Math.sqrt(m*m+1)-m);n=(y-g)/Pe,r=function(e){var t=e*n,r=Ie(g),s=o/(2*f)*(r*function(e){return((e=Math.exp(2*e))-1)/(e+1)}(Pe*t+g)-function(e){return((e=Math.exp(e))-1/e)/2}(g));return[i+s*u,a+s*h,o*r/Ie(Pe*t+g)]}}return r.duration=1e3*n,r},e.behavior.zoom=function(){var t,r,n,a,s,l,c,u,h,d={x:0,y:0,k:1},f=[960,500],p=De,m=250,g=0,y="mousedown.zoom",v="mousemove.zoom",x="mouseup.zoom",b="touchstart.zoom",_=F(w,"zoomstart","zoom","zoomend");function w(e){e.on(y,I).on(Oe+".zoom",z).on("dblclick.zoom",O).on(b,P)}function k(e){return[(e[0]-d.x)/d.k,(e[1]-d.y)/d.k]}function T(e){d.k=Math.max(p[0],Math.min(p[1],e))}function A(e,t){t=function(e){return[e[0]*d.k+d.x,e[1]*d.k+d.y]}(t),d.x+=e[0]-t[0],d.y+=e[1]-t[1]}function M(t,n,i,a){t.__chart__={x:d.x,y:d.y,k:d.k},T(Math.pow(2,a)),A(r=n,i),t=e.select(t),m>0&&(t=t.transition().duration(m)),t.call(w.event)}function S(){c&&c.domain(l.range().map((function(e){return(e-d.x)/d.k})).map(l.invert)),h&&h.domain(u.range().map((function(e){return(e-d.y)/d.k})).map(u.invert))}function E(e){g++||e({type:"zoomstart"})}function C(e){S(),e({type:"zoom",scale:d.k,translate:[d.x,d.y]})}function L(e){--g||(e({type:"zoomend"}),r=null)}function I(){var t=this,r=_.of(t,arguments),n=0,i=e.select(o(t)).on(v,(function(){n=1,A(e.mouse(t),a),C(r)})).on(x,(function(){i.on(v,null).on(x,null),s(n),L(r)})),a=k(e.mouse(t)),s=ve(t);Wi.call(t),E(r)}function P(){var t,r=this,n=_.of(r,arguments),i={},a=0,o=".zoom-"+e.event.changedTouches[0].identifier,l="touchmove"+o,c="touchend"+o,u=[],h=e.select(r),f=ve(r);function p(){var n=e.touches(r);return t=d.k,n.forEach((function(e){e.identifier in i&&(i[e.identifier]=k(e))})),n}function m(){var t=e.event.target;e.select(t).on(l,g).on(c,v),u.push(t);for(var n=e.event.changedTouches,o=0,h=n.length;o1){y=f[0];var x=f[1],b=y[0]-x[0],_=y[1]-x[1];a=b*b+_*_}}function g(){var o,l,c,u,h=e.touches(r);Wi.call(r);for(var d=0,f=h.length;d360?e-=360:e<0&&(e+=360),e<60?n+(i-n)*e/60:e<180?i:e<240?n+(i-n)*(240-e)/60:n}(e))}return e=isNaN(e)?0:(e%=360)<0?e+360:e,t=isNaN(t)||t<0?0:t>1?1:t,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+t):r+t-r*t),new Qe(a(e+120),a(e),a(e-120))}function Ne(t,r,n){return this instanceof Ne?(this.h=+t,this.c=+r,void(this.l=+n)):arguments.length<2?t instanceof Ne?new Ne(t.h,t.c,t.l):function(e,t,r){return e>0?new Ne(Math.atan2(r,t)*Ee,Math.sqrt(t*t+r*r),e):new Ne(NaN,NaN,e)}(t instanceof qe?t.l:(t=ot((t=e.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new Ne(t,r,n)}Fe.brighter=function(e){return e=Math.pow(.7,arguments.length?e:1),new je(this.h,this.s,this.l/e)},Fe.darker=function(e){return e=Math.pow(.7,arguments.length?e:1),new je(this.h,this.s,e*this.l)},Fe.rgb=function(){return Be(this.h,this.s,this.l)},e.hcl=Ne;var Ue=Ne.prototype=new Re;function Ve(e,t,r){return isNaN(e)&&(e=0),isNaN(t)&&(t=0),new qe(r,Math.cos(e*=Se)*t,Math.sin(e)*t)}function qe(e,t,r){return this instanceof qe?(this.l=+e,this.a=+t,void(this.b=+r)):arguments.length<2?e instanceof qe?new qe(e.l,e.a,e.b):e instanceof Ne?Ve(e.h,e.c,e.l):ot((e=Qe(e)).r,e.g,e.b):new qe(e,t,r)}Ue.brighter=function(e){return new Ne(this.h,this.c,Math.min(100,this.l+He*(arguments.length?e:1)))},Ue.darker=function(e){return new Ne(this.h,this.c,Math.max(0,this.l-He*(arguments.length?e:1)))},Ue.rgb=function(){return Ve(this.h,this.c,this.l).rgb()},e.lab=qe;var He=18,Ge=.95047,We=1,Ye=1.08883,Xe=qe.prototype=new Re;function Ze(e,t,r){var n=(e+16)/116,i=n+t/500,a=n-r/200;return new Qe(Je(3.2404542*(i=$e(i)*Ge)-1.5371385*(n=$e(n)*We)-.4985314*(a=$e(a)*Ye)),Je(-.969266*i+1.8760108*n+.041556*a),Je(.0556434*i-.2040259*n+1.0572252*a))}function $e(e){return e>.206893034?e*e*e:(e-4/29)/7.787037}function Ke(e){return e>.008856?Math.pow(e,1/3):7.787037*e+4/29}function Je(e){return Math.round(255*(e<=.00304?12.92*e:1.055*Math.pow(e,1/2.4)-.055))}function Qe(e,t,r){return this instanceof Qe?(this.r=~~e,this.g=~~t,void(this.b=~~r)):arguments.length<2?e instanceof Qe?new Qe(e.r,e.g,e.b):it(""+e,Qe,Be):new Qe(e,t,r)}function et(e){return new Qe(e>>16,e>>8&255,255&e)}function tt(e){return et(e)+""}Xe.brighter=function(e){return new qe(Math.min(100,this.l+He*(arguments.length?e:1)),this.a,this.b)},Xe.darker=function(e){return new qe(Math.max(0,this.l-He*(arguments.length?e:1)),this.a,this.b)},Xe.rgb=function(){return Ze(this.l,this.a,this.b)},e.rgb=Qe;var rt=Qe.prototype=new Re;function nt(e){return e<16?"0"+Math.max(0,e).toString(16):Math.min(255,e).toString(16)}function it(e,t,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\((.*)\)/.exec(e=e.toLowerCase()))switch(i=n[2].split(","),n[1]){case"hsl":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return t(lt(i[0]),lt(i[1]),lt(i[2]))}return(a=ct.get(e))?t(a.r,a.g,a.b):(null!=e&&"#"===e.charAt(0)&&!isNaN(a=parseInt(e.slice(1),16))&&(4===e.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===e.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),t(o,s,l))}function at(e,t,r){var n,i,a=Math.min(e/=255,t/=255,r/=255),o=Math.max(e,t,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=e==o?(t-r)/s+(t0&&l<1?0:n),new je(n,i,l)}function ot(e,t,r){var n=Ke((.4124564*(e=st(e))+.3575761*(t=st(t))+.1804375*(r=st(r)))/Ge),i=Ke((.2126729*e+.7151522*t+.072175*r)/We);return qe(116*i-16,500*(n-i),200*(i-Ke((.0193339*e+.119192*t+.9503041*r)/Ye)))}function st(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function lt(e){var t=parseFloat(e);return"%"===e.charAt(e.length-1)?Math.round(2.55*t):t}rt.brighter=function(e){e=Math.pow(.7,arguments.length?e:1);var t=this.r,r=this.g,n=this.b,i=30;return t||r||n?(t&&t=200&&t<300||304===t){try{e=i.call(o,c)}catch(e){return void s.error.call(o,e)}s.load.call(o,e)}else s.error.call(o,c)}return self.XDomainRequest&&!("withCredentials"in c)&&/^(http(s)?:)?\/\//.test(t)&&(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=h:c.onreadystatechange=function(){c.readyState>3&&h()},c.onprogress=function(t){var r=e.event;e.event=t;try{s.progress.call(o,c)}finally{e.event=r}},o.header=function(e,t){return e=(e+"").toLowerCase(),arguments.length<2?l[e]:(null==t?delete l[e]:l[e]=t+"",o)},o.mimeType=function(e){return arguments.length?(r=null==e?null:e+"",o):r},o.responseType=function(e){return arguments.length?(u=e,o):u},o.response=function(e){return i=e,o},["get","post"].forEach((function(e){o[e]=function(){return o.send.apply(o,[e].concat(n(arguments)))}})),o.send=function(e,n,i){if(2===arguments.length&&"function"==typeof n&&(i=n,n=null),c.open(e,t,!0),null!=r&&!("accept"in l)&&(l.accept=r+",*/*"),c.setRequestHeader)for(var a in l)c.setRequestHeader(a,l[a]);return null!=r&&c.overrideMimeType&&c.overrideMimeType(r),null!=u&&(c.responseType=u),null!=i&&o.on("error",i).on("load",(function(e){i(null,e)})),s.beforesend.call(o,c),c.send(n??null),o},o.abort=function(){return c.abort(),o},e.rebind(o,s,"on"),null==a?o:o.get(function(e){return 1===e.length?function(t,r){e(null==t?r:null)}:e}(a))}ct.forEach((function(e,t){ct.set(e,et(t))})),e.functor=ut,e.xhr=ht(C),e.dsv=function(e,t){var r=new RegExp('["'+e+"\n]"),n=e.charCodeAt(0);function i(e,r,n){arguments.length<3&&(n=r,r=null);var i=dt(e,t,null==r?a:o(r),n);return i.row=function(e){return arguments.length?i.response(null==(r=e)?a:o(e)):r},i}function a(e){return i.parse(e.responseText)}function o(e){return function(t){return i.parse(t.responseText,e)}}function s(t){return t.map(l).join(e)}function l(e){return r.test(e)?'"'+e.replace(/\"/g,'""')+'"':e}return i.parse=function(e,t){var r;return i.parseRows(e,(function(e,n){if(r)return r(e,n-1);var i=function(t){for(var r={},n=e.length,i=0;i=l)return o;if(i)return i=!1,a;var t=c;if(34===e.charCodeAt(t)){for(var r=t;r++24?(isFinite(t)&&(clearTimeout(gt),gt=setTimeout(xt,t)),mt=0):(mt=1,yt(xt))}function bt(){for(var e=Date.now(),t=ft;t;)e>=t.t&&t.c(e-t.t)&&(t.c=null),t=t.n;return e}function _t(){for(var e,t=ft,r=1/0;t;)t.c?(t.t1&&Ce(e[r[n-2]],e[r[n-1]],e[i])<=0;)--n;r[n++]=i}return r.slice(0,n)}function At(e,t){return e[0]-t[0]||e[1]-t[1]}e.timer=function(){vt.apply(this,arguments)},e.timer.flush=function(){bt(),_t()},e.round=function(e,t){return t?Math.round(e*(t=Math.pow(10,t)))/t:Math.round(e)},e.geom={},e.geom.hull=function(e){var t=wt,r=kt;if(arguments.length)return n(e);function n(e){if(e.length<3)return[];var n,i=ut(t),a=ut(r),o=e.length,s=[],l=[];for(n=0;n=0;--n)f.push(e[s[c[n]][2]]);for(n=+h;nwe)s=s.L;else{if(!((i=a-qt(s,o))>we)){n>-we?(t=s.P,r=s):i>-we?(t=s,r=s.N):t=r=s;break}if(!s.R){t=s;break}s=s.R}var l=Ft(e);if(Pt.insert(t,l),t||r){if(t===r)return Xt(t),r=Ft(t.site),Pt.insert(l,r),l.edge=r.edge=Kt(t.site,l.site),Yt(t),void Yt(r);if(!r)return void(l.edge=Kt(t.site,l.site));Xt(t),Xt(r);var c=t.site,u=c.x,h=c.y,d=e.x-u,f=e.y-h,p=r.site,m=p.x-u,g=p.y-h,y=2*(d*g-f*m),v=d*d+f*f,x=m*m+g*g,b={x:(g*v-f*x)/y+u,y:(d*x-m*v)/y+h};Qt(r.edge,c,p,b),l.edge=Kt(c,e,null,b),r.edge=Kt(e,p,null,b),Yt(t),Yt(r)}}function Vt(e,t){var r=e.site,n=r.x,i=r.y,a=i-t;if(!a)return n;var o=e.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,c=l-t;if(!c)return s;var u=s-n,h=1/a-1/c,d=u/c;return h?(-d+Math.sqrt(d*d-2*h*(u*u/(-2*c)-l+c/2+i-a/2)))/h+n:(n+s)/2}function qt(e,t){var r=e.N;if(r)return Vt(r,t);var n=e.site;return n.y===t?n.x:1/0}function Ht(e){this.site=e,this.edges=[]}function Gt(e,t){return t.angle-e.angle}function Wt(){rr(this),this.x=this.y=this.arc=this.site=this.cy=null}function Yt(e){var t=e.P,r=e.N;if(t&&r){var n=t.site,i=e.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,c=n.y-s,u=a.x-o,h=2*(l*(g=a.y-s)-c*u);if(!(h>=-1e-12)){var d=l*l+c*c,f=u*u+g*g,p=(g*d-c*f)/h,m=(l*f-u*d)/h,g=m+s,y=Rt.pop()||new Wt;y.arc=e,y.site=i,y.x=p+o,y.y=g+Math.sqrt(p*p+m*m),y.cy=g,e.circle=y;for(var v=null,x=Ot._;x;)if(y.y=s)return;if(d>p){if(a){if(a.y>=c)return}else a={x:g,y:l};r={x:g,y:c}}else{if(a){if(a.y1)if(d>p){if(a){if(a.y>=c)return}else a={x:(l-i)/n,y:l};r={x:(c-i)/n,y:c}}else{if(a){if(a.y=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x0)){if(a/=d,d<0){if(a0){if(a>h)return;a>u&&(u=a)}if(a=r-l,d||!(a<0)){if(a/=d,d<0){if(a>h)return;a>u&&(u=a)}else if(d>0){if(a0)){if(a/=f,f<0){if(a0){if(a>h)return;a>u&&(u=a)}if(a=n-c,f||!(a<0)){if(a/=f,f<0){if(a>h)return;a>u&&(u=a)}else if(f>0){if(a0&&(i.a={x:l+u*d,y:c+u*f}),h<1&&(i.b={x:l+h*d,y:c+h*f}),i}}}}}}(e[0][0],e[0][1],e[1][0],e[1][1]),i=r.length;i--;)(!Zt(t=r[i],e)||!n(t)||v(t.a.x-t.b.x)we||v(i-r)>we)&&(s.splice(o,0,new er(Jt(a.site,u,v(n-h)we?{x:h,y:v(t-h)we?{x:v(r-p)we?{x:d,y:v(t-d)we?{x:v(r-f)=r&&c.x<=i&&c.y>=n&&c.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=e[s]})),t}function s(e){return e.map((function(e,t){return{x:Math.round(n(e,t)/we)*we,y:Math.round(i(e,t)/we)*we,i:t}}))}return o.links=function(e){return or(s(e)).edges.filter((function(e){return e.l&&e.r})).map((function(t){return{source:e[t.l.i],target:e[t.r.i]}}))},o.triangles=function(e){var t=[];return or(s(e)).cells.forEach((function(r,n){for(var i,a=r.site,o=r.edges.sort(Gt),s=-1,l=o.length,c=o[l-1].edge,u=c.l===a?c.r:c.l;++sa&&(i=t.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:mr(r,n)})),a=vr.lastIndex;return am&&(m=l.x),l.y>g&&(g=l.y),c.push(l.x),u.push(l.y);else for(h=0;hm&&(m=b),_>g&&(g=_),c.push(b),u.push(_)}var w=m-f,k=g-p;function T(e,t,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(e.leaf){var l=e.x,c=e.y;if(null!=l)if(v(l-r)+v(c-n)<.01)A(e,t,r,n,i,a,o,s);else{var u=e.point;e.x=e.y=e.point=null,A(e,u,l,c,i,a,o,s),A(e,t,r,n,i,a,o,s)}else e.x=r,e.y=n,e.point=t}else A(e,t,r,n,i,a,o,s)}function A(e,t,r,n,i,a,o,s){var l=.5*(i+o),c=.5*(a+s),u=r>=l,h=n>=c,d=h<<1|u;e.leaf=!1,u?i=l:o=l,h?a=c:s=c,T(e=e.nodes[d]||(e.nodes[d]={leaf:!0,nodes:[],point:null,x:null,y:null}),t,r,n,i,a,o,s)}w>k?g=p+w:m=f+k;var M={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(e){T(M,e,+y(e,++h),+x(e,h),f,p,m,g)},visit:function(e){dr(e,M,f,p,m,g)},find:function(e){return function(e,t,r,n,i,a,o){var s,l=1/0;return function e(c,u,h,d,f){if(!(u>a||h>o||d=_)<<1|t>=b,k=w+4;w=0&&!(n=e.interpolators[i](t,r)););return n}function br(e,t){var r,n=[],i=[],a=e.length,o=t.length,s=Math.min(e.length,t.length);for(r=0;r=1)return 1;var t=e*e,r=t*e;return 4*(e<.5?r:3*(e-t)+r-.75)}function Cr(e){return 1-Math.cos(e*Me)}function Lr(e){return Math.pow(2,10*(e-1))}function Ir(e){return 1-Math.sqrt(1-e*e)}function Pr(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375}function zr(e,t){return t-=e,function(r){return Math.round(e+t*r)}}function Or(e){var t=[e.a,e.b],r=[e.c,e.d],n=Rr(t),i=Dr(t,r),a=Rr(function(e,t,r){return e[0]+=r*t[0],e[1]+=r*t[1],e}(r,t,-i))||0;t[0]*r[1]=0?e.slice(0,t):e,i=t>=0?e.slice(t+1):"in";return n=wr.get(n)||_r,function(e){return function(t){return t<=0?0:t>=1?1:e(t)}}((i=kr.get(i)||C)(n.apply(null,r.call(arguments,1))))},e.interpolateHcl=function(t,r){t=e.hcl(t),r=e.hcl(r);var n=t.h,i=t.c,a=t.l,o=r.h-n,s=r.c-i,l=r.l-a;return isNaN(s)&&(s=0,i=isNaN(i)?r.c:i),isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360),function(e){return Ve(n+o*e,i+s*e,a+l*e)+""}},e.interpolateHsl=function(t,r){t=e.hsl(t),r=e.hsl(r);var n=t.h,i=t.s,a=t.l,o=r.h-n,s=r.s-i,l=r.l-a;return isNaN(s)&&(s=0,i=isNaN(i)?r.s:i),isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360),function(e){return Be(n+o*e,i+s*e,a+l*e)+""}},e.interpolateLab=function(t,r){t=e.lab(t),r=e.lab(r);var n=t.l,i=t.a,a=t.b,o=r.l-n,s=r.a-i,l=r.b-a;return function(e){return Ze(n+o*e,i+s*e,a+l*e)+""}},e.interpolateRound=zr,e.transform=function(t){var r=i.createElementNS(e.ns.prefix.svg,"g");return(e.transform=function(e){if(null!=e){r.setAttribute("transform",e);var t=r.transform.baseVal.consolidate()}return new Or(t?t.matrix:jr)})(t)},Or.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var jr={a:1,b:0,c:0,d:1,e:0,f:0};function Fr(e){return e.length?e.pop()+",":""}function Br(t,r){var n=[],i=[];return t=e.transform(t),r=e.transform(r),function(e,t,r,n){if(e[0]!==t[0]||e[1]!==t[1]){var i=r.push("translate(",null,",",null,")");n.push({i:i-4,x:mr(e[0],t[0])},{i:i-2,x:mr(e[1],t[1])})}else(t[0]||t[1])&&r.push("translate("+t+")")}(t.translate,r.translate,n,i),function(e,t,r,n){e!==t?(e-t>180?t+=360:t-e>180&&(e+=360),n.push({i:r.push(Fr(r)+"rotate(",null,")")-2,x:mr(e,t)})):t&&r.push(Fr(r)+"rotate("+t+")")}(t.rotate,r.rotate,n,i),function(e,t,r,n){e!==t?n.push({i:r.push(Fr(r)+"skewX(",null,")")-2,x:mr(e,t)}):t&&r.push(Fr(r)+"skewX("+t+")")}(t.skew,r.skew,n,i),function(e,t,r,n){if(e[0]!==t[0]||e[1]!==t[1]){var i=r.push(Fr(r)+"scale(",null,",",null,")");n.push({i:i-4,x:mr(e[0],t[0])},{i:i-2,x:mr(e[1],t[1])})}else(1!==t[0]||1!==t[1])&&r.push(Fr(r)+"scale("+t+")")}(t.scale,r.scale,n,i),t=r=null,function(e){for(var t,r=-1,a=i.length;++r0?n=e:(t.c=null,t.t=NaN,t=null,l.end({type:"end",alpha:n=0})):e>0&&(l.start({type:"start",alpha:n=e}),t=vt(s.tick)),s):n},s.start=function(){var e,t,r,n=y.length,l=v.length,u=c[0],p=c[1];for(e=0;e=0;)r.push(i[n])}function en(e,t){for(var r=[e],n=[];null!=(e=r.pop());)if(n.push(e),(a=e.children)&&(i=a.length))for(var i,a,o=-1;++o=0;)o.push(u=c[l]),u.parent=a,u.depth=a.depth+1;r&&(a.value=0),a.children=c}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return en(i,(function(t){var n,i;e&&(n=t.children)&&n.sort(e),r&&(i=t.parent)&&(i.value+=t.value)})),s}return n.sort=function(t){return arguments.length?(e=t,n):e},n.children=function(e){return arguments.length?(t=e,n):t},n.value=function(e){return arguments.length?(r=e,n):r},n.revalue=function(e){return r&&(Qr(e,(function(e){e.children&&(e.value=0)})),en(e,(function(e){var t;e.children||(e.value=+r.call(n,e,e.depth)||0),(t=e.parent)&&(t.value+=e.value)}))),e},n},e.layout.partition=function(){var t=e.layout.hierarchy(),r=[1,1];function n(e,t,r,i){var a=e.children;if(e.x=t,e.y=e.depth*i,e.dx=r,e.dy=i,a&&(o=a.length)){var o,s,l,c=-1;for(r=e.value?r/e.value:0;++cs&&(s=n),o.push(n)}for(r=0;ri&&(n=r,i=t);return n}function mn(e){return e.reduce(gn,0)}function gn(e,t){return e+t[1]}function yn(e,t){return vn(e,Math.ceil(Math.log(t.length)/Math.LN2+1))}function vn(e,t){for(var r=-1,n=+e[0],i=(e[1]-n)/t,a=[];++r<=t;)a[r]=i*r+n;return a}function xn(t){return[e.min(t),e.max(t)]}function bn(e,t){return e.value-t.value}function _n(e,t){var r=e._pack_next;e._pack_next=t,t._pack_prev=e,t._pack_next=r,r._pack_prev=t}function wn(e,t){e._pack_next=t,t._pack_prev=e}function kn(e,t){var r=t.x-e.x,n=t.y-e.y,i=e.r+t.r;return.999*i*i>r*r+n*n}function Tn(e){if((t=e.children)&&(l=t.length)){var t,r,n,i,a,o,s,l,c=1/0,u=-1/0,h=1/0,d=-1/0;if(t.forEach(An),(r=t[0]).x=-r.r,r.y=0,x(r),l>1&&((n=t[1]).x=n.r,n.y=0,x(n),l>2))for(En(r,n,i=t[2]),x(i),_n(r,i),r._pack_prev=i,_n(i,n),n=r._pack_next,a=3;a0)for(o=-1;++o=h[0]&&l<=h[1]&&((s=c[e.bisect(d,l,1,p)-1]).y+=m,s.push(a[o]));return c}return a.value=function(e){return arguments.length?(r=e,a):r},a.range=function(e){return arguments.length?(n=ut(e),a):n},a.bins=function(e){return arguments.length?(i="number"==typeof e?function(t){return vn(t,e)}:ut(e),a):i},a.frequency=function(e){return arguments.length?(t=!!e,a):t},a},e.layout.pack=function(){var t,r=e.layout.hierarchy().sort(bn),n=0,i=[1,1];function a(e,a){var o=r.call(this,e,a),s=o[0],l=i[0],c=i[1],u=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(s.x=s.y=0,en(s,(function(e){e.r=+u(e.value)})),en(s,Tn),n){var h=n*(t?1:Math.max(2*s.r/l,2*s.r/c))/2;en(s,(function(e){e.r+=h})),en(s,Tn),en(s,(function(e){e.r-=h}))}return Sn(s,l/2,c/2,t?1:1/Math.max(2*s.r/l,2*s.r/c)),o}return a.size=function(e){return arguments.length?(i=e,a):i},a.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,a):t},a.padding=function(e){return arguments.length?(n=+e,a):n},Jr(a,r)},e.layout.tree=function(){var t=e.layout.hierarchy().sort(null).value(null),r=Cn,n=[1,1],i=null;function a(e,a){var c=t.call(this,e,a),u=c[0],h=function(e){for(var t,r={A:null,children:[e]},n=[r];null!=(t=n.pop());)for(var i,a=t.children,o=0,s=a.length;of.x&&(f=e),e.depth>p.depth&&(p=e)}));var m=r(d,f)/2-d.x,g=n[0]/(f.x+r(f,d)/2+m),y=n[1]/(p.depth||1);Qr(u,(function(e){e.x=(e.x+m)*g,e.y=e.depth*y}))}return c}function o(e){var t=e.children,n=e.parent.children,i=e.i?n[e.i-1]:null;if(t.length){!function(e){for(var t,r=0,n=0,i=e.children,a=i.length;--a>=0;)(t=i[a]).z+=r,t.m+=r,r+=t.s+(n+=t.c)}(e);var a=(t[0].z+t[t.length-1].z)/2;i?(e.z=i.z+r(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+r(e._,i._));e.parent.A=function(e,t,n){if(t){for(var i,a=e,o=e,s=t,l=a.parent.children[0],c=a.m,u=o.m,h=s.m,d=l.m;s=In(s),a=Ln(a),s&&a;)l=Ln(l),(o=In(o)).a=e,(i=s.z+h-a.z-c+r(s._,a._))>0&&(Pn(zn(s,e,n),e,i),c+=i,u+=i),h+=s.m,c+=a.m,d+=l.m,u+=o.m;s&&!In(o)&&(o.t=s,o.m+=h-u),a&&!Ln(l)&&(l.t=a,l.m+=c-d,n=e)}return n}(e,i,e.parent.A||n[0])}function s(e){e._.x=e.z+e.parent.m,e.m+=e.parent.m}function l(e){e.x*=n[0],e.y=e.depth*n[1]}return a.separation=function(e){return arguments.length?(r=e,a):r},a.size=function(e){return arguments.length?(i=null==(n=e)?l:null,a):i?null:n},a.nodeSize=function(e){return arguments.length?(i=null==(n=e)?null:l,a):i?n:null},Jr(a,t)},e.layout.cluster=function(){var t=e.layout.hierarchy().sort(null).value(null),r=Cn,n=[1,1],i=!1;function a(a,o){var s,l=t.call(this,a,o),c=l[0],u=0;en(c,(function(t){var n=t.children;n&&n.length?(t.x=function(e){return e.reduce((function(e,t){return e+t.x}),0)/e.length}(n),t.y=function(t){return 1+e.max(t,(function(e){return e.y}))}(n)):(t.x=s?u+=r(t,s):0,t.y=0,s=t)}));var h=On(c),d=Dn(c),f=h.x-r(h,d)/2,p=d.x+r(d,h)/2;return en(c,i?function(e){e.x=(e.x-c.x)*n[0],e.y=(c.y-e.y)*n[1]}:function(e){e.x=(e.x-f)/(p-f)*n[0],e.y=(1-(c.y?e.y/c.y:1))*n[1]}),l}return a.separation=function(e){return arguments.length?(r=e,a):r},a.size=function(e){return arguments.length?(i=null==(n=e),a):i?null:n},a.nodeSize=function(e){return arguments.length?(i=null!=(n=e),a):i?n:null},Jr(a,t)},e.layout.treemap=function(){var t,r=e.layout.hierarchy(),n=Math.round,i=[1,1],a=null,o=Rn,s=!1,l="squarify",c=.5*(1+Math.sqrt(5));function u(e,t){for(var r,n,i=-1,a=e.length;++i0;)s.push(r=c[i-1]),s.area+=r.area,"squarify"!==l||(n=f(s,m))<=d?(c.pop(),d=n):(s.area-=s.pop().area,p(s,m,a,!1),m=Math.min(a.dx,a.dy),s.length=s.area=0,d=1/0);s.length&&(p(s,m,a,!0),s.length=s.area=0),t.forEach(h)}}function d(e){var t=e.children;if(t&&t.length){var r,n=o(e),i=t.slice(),a=[];for(u(i,n.dx*n.dy/e.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(p(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);t.forEach(d)}}function f(e,t){for(var r,n=e.area,i=0,a=1/0,o=-1,s=e.length;++oi&&(i=r));return t*=t,(n*=n)?Math.max(t*i*c/n,n/(t*a*c)):1/0}function p(e,t,r,i){var a,o=-1,s=e.length,l=r.x,c=r.y,u=t?n(e.area/t):0;if(t==r.dx){for((i||u>r.dy)&&(u=r.dy);++or.dx)&&(u=r.dx);++o1);return e+t*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=e.random.normal.apply(e,arguments);return function(){return Math.exp(t())}},bates:function(t){var r=e.random.irwinHall(t);return function(){return r()/t}},irwinHall:function(e){return function(){for(var t=0,r=0;r2?Hn:Nn,l=n?Ur:Nr;return i=o(e,t,l,r),a=o(t,e,l,xr),s}function s(e){return i(e)}return s.invert=function(e){return a(e)},s.domain=function(t){return arguments.length?(e=t.map(Number),o()):e},s.range=function(e){return arguments.length?(t=e,o()):t},s.rangeRound=function(e){return s.range(e).interpolate(zr)},s.clamp=function(e){return arguments.length?(n=e,o()):n},s.interpolate=function(e){return arguments.length?(r=e,o()):r},s.ticks=function(t){return Zn(e,t)},s.tickFormat=function(t,r){return d3_scale_linearTickFormat(e,t,r)},s.nice=function(t){return Yn(e,t),o()},s.copy=function(){return Gn(e,t,r,n)},o()}function Wn(t,r){return e.rebind(t,r,"range","rangeRound","interpolate","clamp")}function Yn(e,t){return Un(e,Vn(Xn(e,t)[2])),Un(e,Vn(Xn(e,t)[2])),e}function Xn(e,t){null==t&&(t=10);var r=Fn(e),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/t)/Math.LN10)),a=t/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function Zn(t,r){return e.range.apply(e,Xn(t,r))}function $n(e,t,r,n){function i(e){return(r?Math.log(e<0?0:e):-Math.log(e>0?0:-e))/Math.log(t)}function a(e){return r?Math.pow(t,e):-Math.pow(t,-e)}function o(t){return e(i(t))}return o.invert=function(t){return a(e.invert(t))},o.domain=function(t){return arguments.length?(r=t[0]>=0,e.domain((n=t.map(Number)).map(i)),o):n},o.base=function(r){return arguments.length?(t=+r,e.domain(n.map(i)),o):t},o.nice=function(){var t=Un(n.map(i),r?Math:Kn);return e.domain(t),n=t.map(a),o},o.ticks=function(){var e=Fn(n),o=[],s=e[0],l=e[1],c=Math.floor(i(s)),u=Math.ceil(i(l)),h=t%1?2:t;if(isFinite(u-c)){if(r){for(;c0;d--)o.push(a(c)*d);for(c=0;o[c]l;u--);o=o.slice(c,u)}return o},o.copy=function(){return $n(e.copy(),t,r,n)},Wn(o,e)}e.scale.linear=function(){return Gn([0,1],[0,1],xr,!1)},e.scale.log=function(){return $n(e.scale.linear().domain([0,1]),10,!0,[1,10])};var Kn={floor:function(e){return-Math.ceil(-e)},ceil:function(e){return-Math.floor(-e)}};function Jn(e,t,r){var n=Qn(t),i=Qn(1/t);function a(t){return e(n(t))}return a.invert=function(t){return i(e.invert(t))},a.domain=function(t){return arguments.length?(e.domain((r=t.map(Number)).map(n)),a):r},a.ticks=function(e){return Zn(r,e)},a.tickFormat=function(e,t){return d3_scale_linearTickFormat(r,e,t)},a.nice=function(e){return a.domain(Yn(r,e))},a.exponent=function(o){return arguments.length?(n=Qn(t=o),i=Qn(1/t),e.domain(r.map(n)),a):t},a.copy=function(){return Jn(e.copy(),t,r)},Wn(a,e)}function Qn(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function ei(t,r){var n,i,a;function o(e){return i[((n.get(e)||("range"===r.t?n.set(e,t.push(e)):NaN))-1)%i.length]}function s(r,n){return e.range(t.length).map((function(e){return r+n*e}))}return o.domain=function(e){if(!arguments.length)return t;t=[],n=new b;for(var i,a=-1,s=e.length;++a0?n[e-1]:t[0],eh?0:1;if(c=Ae)return l(c,f)+(s?l(s,1-f):"")+"Z";var p,m,g,y,v,x,b,_,w,k,T,A,M=0,S=0,E=[];if((y=(+o.apply(this,arguments)||0)/2)&&(g=n===ui?Math.sqrt(s*s+c*c):+n.apply(this,arguments),f||(S*=-1),c&&(S=Le(g/c*Math.sin(y))),s&&(M=Le(g/s*Math.sin(y)))),c){v=c*Math.cos(u+S),x=c*Math.sin(u+S),b=c*Math.cos(h-S),_=c*Math.sin(h-S);var C=Math.abs(h-u-2*S)<=ke?0:1;if(S&&gi(v,x,b,_)===f^C){var L=(u+h)/2;v=c*Math.cos(L),x=c*Math.sin(L),b=_=null}}else v=x=0;if(s){w=s*Math.cos(h-M),k=s*Math.sin(h-M),T=s*Math.cos(u+M),A=s*Math.sin(u+M);var I=Math.abs(u-h+2*M)<=ke?0:1;if(M&&gi(w,k,T,A)===1-f^I){var P=(u+h)/2;w=s*Math.cos(P),k=s*Math.sin(P),T=A=null}}else w=k=0;if(d>we&&(p=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){m=s0?0:1}function yi(e,t,r,n,i){var a=e[0]-t[0],o=e[1]-t[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,c=-s*a,u=e[0]+l,h=e[1]+c,d=t[0]+l,f=t[1]+c,p=(u+d)/2,m=(h+f)/2,g=d-u,y=f-h,v=g*g+y*y,x=r-n,b=u*f-d*h,_=(y<0?-1:1)*Math.sqrt(Math.max(0,x*x*v-b*b)),w=(b*y-g*_)/v,k=(-b*g-y*_)/v,T=(b*y+g*_)/v,A=(-b*g+y*_)/v,M=w-p,S=k-m,E=T-p,C=A-m;return M*M+S*S>E*E+C*C&&(w=T,k=A),[[w-l,k-c],[w*r/x,k*r/x]]}function vi(){return!0}function xi(e){var t=wt,r=kt,n=vi,i=_i,a=i.key,o=.7;function s(a){var s,l=[],c=[],u=-1,h=a.length,d=ut(t),f=ut(r);function p(){l.push("M",i(e(c),o))}for(;++u1&&i.push("H",n[0]),i.join("")},"step-before":ki,"step-after":Ti,basis:Si,"basis-open":function(e){if(e.length<4)return _i(e);for(var t,r=[],n=-1,i=e.length,a=[0],o=[0];++n<3;)t=e[n],a.push(t[0]),o.push(t[1]);for(r.push(Ei(Ii,a)+","+Ei(Ii,o)),--n;++n9&&(i=3*t/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n);for(s=-1;++s<=l;)i=(e[Math.min(l,s+1)][0]-e[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(e))}});function _i(e){return e.length>1?e.join("L"):e+"Z"}function wi(e){return e.join("L")+"Z"}function ki(e){for(var t=0,r=e.length,n=e[0],i=[n[0],",",n[1]];++t1){s=t[1],a=e[l],l++,n+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(a[0]-s[0])+","+(a[1]-s[1])+","+a[0]+","+a[1];for(var c=2;cke)+",1 "+t}function l(e,t,r,n){return"Q 0,0 "+n}return a.radius=function(e){return arguments.length?(r=ut(e),a):r},a.source=function(t){return arguments.length?(e=ut(t),a):e},a.target=function(e){return arguments.length?(t=ut(e),a):t},a.startAngle=function(e){return arguments.length?(n=ut(e),a):n},a.endAngle=function(e){return arguments.length?(i=ut(e),a):i},a},e.svg.diagonal=function(){var e=Ri,t=ji,r=Bi;function n(n,i){var a=e.call(this,n,i),o=t.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return"M"+(l=l.map(r))[0]+"C"+l[1]+" "+l[2]+" "+l[3]}return n.source=function(t){return arguments.length?(e=ut(t),n):e},n.target=function(e){return arguments.length?(t=ut(e),n):t},n.projection=function(e){return arguments.length?(r=e,n):r},n},e.svg.diagonal.radial=function(){var t=e.svg.diagonal(),r=Bi,n=t.projection;return t.projection=function(e){return arguments.length?n(function(e){return function(){var t=e.apply(this,arguments),r=t[0],n=t[1]-Me;return[r*Math.cos(n),r*Math.sin(n)]}}(r=e)):r},t},e.svg.symbol=function(){var e=Ui,t=Ni;function r(r,n){return(qi.get(e.call(this,r,n))||Vi)(t.call(this,r,n))}return r.type=function(t){return arguments.length?(e=ut(t),r):e},r.size=function(e){return arguments.length?(t=ut(e),r):t},r};var qi=e.map({circle:Vi,cross:function(e){var t=Math.sqrt(e/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(e){var t=Math.sqrt(e/(2*Gi)),r=t*Gi;return"M0,"+-t+"L"+r+",0 0,"+t+" "+-r+",0Z"},square:function(e){var t=Math.sqrt(e)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(e){var t=Math.sqrt(e/Hi),r=t*Hi/2;return"M0,"+r+"L"+t+","+-r+" "+-t+","+-r+"Z"},"triangle-up":function(e){var t=Math.sqrt(e/Hi),r=t*Hi/2;return"M0,"+-r+"L"+t+","+r+" "+-t+","+r+"Z"}});e.svg.symbolTypes=qi.keys();var Hi=Math.sqrt(3),Gi=Math.tan(30*Se);G.transition=function(e){for(var t,r,n=Zi||++Ji,i=ta(e),a=[],o=$i||{time:Date.now(),ease:Er,delay:0,duration:250},s=-1,l=this.length;++s0;)c[--d].call(e,o);if(a>=1)return h.event&&h.event.end.call(e,e.__data__,t),--u.count?delete u[n]:delete e[r],1}h||(a=i.time,o=vt((function(e){var t=h.delay;if(o.t=t+a,t<=e)return d(e-t);o.c=d}),0,a),h=u[n]={tween:new b,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:t},i=null,++u.count)}Ki.call=G.call,Ki.empty=G.empty,Ki.node=G.node,Ki.size=G.size,e.transition=function(t,r){return t&&t.transition?Zi?t.transition(r):t:e.selection().transition(t)},e.transition.prototype=Ki,Ki.select=function(e){var t,r,n,i=this.id,a=this.namespace,o=[];e=W(e);for(var s=-1,l=this.length;++srect,.s>rect").attr("width",s[1]-s[0])}function m(e){e.select(".extent").attr("y",l[0]),e.selectAll(".extent,.e>rect,.w>rect").attr("height",l[1]-l[0])}function g(){var h,g,y=this,v=e.select(e.event.target),x=n.of(y,arguments),b=e.select(y),_=v.datum(),w=!/^(n|s)$/.test(_)&&i,k=!/^(e|w)$/.test(_)&&a,T=v.classed("extent"),A=ve(y),M=e.mouse(y),S=e.select(o(y)).on("keydown.brush",(function(){32==e.event.keyCode&&(T||(h=null,M[0]-=s[1],M[1]-=l[1],T=2),R())})).on("keyup.brush",(function(){32==e.event.keyCode&&2==T&&(M[0]+=s[1],M[1]+=l[1],T=0,R())}));if(e.event.changedTouches?S.on("touchmove.brush",L).on("touchend.brush",P):S.on("mousemove.brush",L).on("mouseup.brush",P),b.interrupt().selectAll("*").interrupt(),T)M[0]=s[0]-M[0],M[1]=l[0]-M[1];else if(_){var E=+/w$/.test(_),C=+/^n/.test(_);g=[s[1-E]-M[0],l[1-C]-M[1]],M[0]=s[E],M[1]=l[C]}else e.event.altKey&&(h=M.slice());function L(){var t=e.mouse(y),r=!1;g&&(t[0]+=g[0],t[1]+=g[1]),T||(e.event.altKey?(h||(h=[(s[0]+s[1])/2,(l[0]+l[1])/2]),M[0]=s[+(t[0]0))return o;do{o.push(a=new Date(+t)),i(t,n),e(t)}while(a=r)for(;e(r),!t(r);)r.setTime(r-1)}),(function(e,r){if(e>=e)if(r<0)for(;++r<=0;)for(;i(e,-1),!t(e););else for(;--r>=0;)for(;i(e,1),!t(e););}))},a&&(s.count=function(n,i){return t.setTime(+n),r.setTime(+i),e(t),e(r),Math.floor(a(t,r))},s.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?s.filter(o?function(t){return o(t)%e==0}:function(t){return s.count(0,t)%e==0}):s:null}),s}var i=n((function(){}),(function(e,t){e.setTime(+e+t)}),(function(e,t){return t-e}));i.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?n((function(t){t.setTime(Math.floor(t/e)*e)}),(function(t,r){t.setTime(+t+r*e)}),(function(t,r){return(r-t)/e})):i:null};var a=i.range,o=1e3,s=6e4,l=36e5,c=864e5,u=6048e5,h=n((function(e){e.setTime(e-e.getMilliseconds())}),(function(e,t){e.setTime(+e+t*o)}),(function(e,t){return(t-e)/o}),(function(e){return e.getUTCSeconds()})),d=h.range,f=n((function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*o)}),(function(e,t){e.setTime(+e+t*s)}),(function(e,t){return(t-e)/s}),(function(e){return e.getMinutes()})),p=f.range,m=n((function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*o-e.getMinutes()*s)}),(function(e,t){e.setTime(+e+t*l)}),(function(e,t){return(t-e)/l}),(function(e){return e.getHours()})),g=m.range,y=n((function(e){e.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+t)}),(function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*s)/c}),(function(e){return e.getDate()-1})),v=y.range;function x(e){return n((function(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+7*t)}),(function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*s)/u}))}var b=x(0),_=x(1),w=x(2),k=x(3),T=x(4),A=x(5),M=x(6),S=b.range,E=_.range,C=w.range,L=k.range,I=T.range,P=A.range,z=M.range,O=n((function(e){e.setDate(1),e.setHours(0,0,0,0)}),(function(e,t){e.setMonth(e.getMonth()+t)}),(function(e,t){return t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear())}),(function(e){return e.getMonth()})),D=O.range,R=n((function(e){e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,t){e.setFullYear(e.getFullYear()+t)}),(function(e,t){return t.getFullYear()-e.getFullYear()}),(function(e){return e.getFullYear()}));R.every=function(e){return isFinite(e=Math.floor(e))&&e>0?n((function(t){t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,r){t.setFullYear(t.getFullYear()+r*e)})):null};var j=R.range,F=n((function(e){e.setUTCSeconds(0,0)}),(function(e,t){e.setTime(+e+t*s)}),(function(e,t){return(t-e)/s}),(function(e){return e.getUTCMinutes()})),B=F.range,N=n((function(e){e.setUTCMinutes(0,0,0)}),(function(e,t){e.setTime(+e+t*l)}),(function(e,t){return(t-e)/l}),(function(e){return e.getUTCHours()})),U=N.range,V=n((function(e){e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+t)}),(function(e,t){return(t-e)/c}),(function(e){return e.getUTCDate()-1})),q=V.range;function H(e){return n((function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+7*t)}),(function(e,t){return(t-e)/u}))}var G=H(0),W=H(1),Y=H(2),X=H(3),Z=H(4),$=H(5),K=H(6),J=G.range,Q=W.range,ee=Y.range,te=X.range,re=Z.range,ne=$.range,ie=K.range,ae=n((function(e){e.setUTCDate(1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCMonth(e.getUTCMonth()+t)}),(function(e,t){return t.getUTCMonth()-e.getUTCMonth()+12*(t.getUTCFullYear()-e.getUTCFullYear())}),(function(e){return e.getUTCMonth()})),oe=ae.range,se=n((function(e){e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCFullYear(e.getUTCFullYear()+t)}),(function(e,t){return t.getUTCFullYear()-e.getUTCFullYear()}),(function(e){return e.getUTCFullYear()}));se.every=function(e){return isFinite(e=Math.floor(e))&&e>0?n((function(t){t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,r){t.setUTCFullYear(t.getUTCFullYear()+r*e)})):null};var le=se.range;e.timeDay=y,e.timeDays=v,e.timeFriday=A,e.timeFridays=P,e.timeHour=m,e.timeHours=g,e.timeInterval=n,e.timeMillisecond=i,e.timeMilliseconds=a,e.timeMinute=f,e.timeMinutes=p,e.timeMonday=_,e.timeMondays=E,e.timeMonth=O,e.timeMonths=D,e.timeSaturday=M,e.timeSaturdays=z,e.timeSecond=h,e.timeSeconds=d,e.timeSunday=b,e.timeSundays=S,e.timeThursday=T,e.timeThursdays=I,e.timeTuesday=w,e.timeTuesdays=C,e.timeWednesday=k,e.timeWednesdays=L,e.timeWeek=b,e.timeWeeks=S,e.timeYear=R,e.timeYears=j,e.utcDay=V,e.utcDays=q,e.utcFriday=$,e.utcFridays=ne,e.utcHour=N,e.utcHours=U,e.utcMillisecond=i,e.utcMilliseconds=a,e.utcMinute=F,e.utcMinutes=B,e.utcMonday=W,e.utcMondays=Q,e.utcMonth=ae,e.utcMonths=oe,e.utcSaturday=K,e.utcSaturdays=ie,e.utcSecond=h,e.utcSeconds=d,e.utcSunday=G,e.utcSundays=J,e.utcThursday=Z,e.utcThursdays=re,e.utcTuesday=Y,e.utcTuesdays=ee,e.utcWednesday=X,e.utcWednesdays=te,e.utcWeek=G,e.utcWeeks=J,e.utcYear=se,e.utcYears=le,Object.defineProperty(e,"__esModule",{value:!0})},n("object"==typeof e&&typeof t<"u"?e:(r=r||self).d3=r.d3||{})}}),T=m({"node_modules/d3-time-format/dist/d3-time-format.js"(e,t){var r,n;r=e,n=function(e,t){function r(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function n(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function i(e,t,r){return{y:e,m:t,d:r,H:0,M:0,S:0,L:0}}function a(e){var a=e.dateTime,o=e.date,l=e.time,c=e.periods,u=e.days,h=e.shortDays,d=e.months,ve=e.shortMonths,xe=f(c),be=p(c),_e=f(u),we=p(u),ke=f(h),Te=p(h),Ae=f(d),Me=p(d),Se=f(ve),Ee=p(ve),Ce={a:function(e){return h[e.getDay()]},A:function(e){return u[e.getDay()]},b:function(e){return ve[e.getMonth()]},B:function(e){return d[e.getMonth()]},c:null,d:D,e:D,f:N,H:R,I:j,j:F,L:B,m:U,M:V,p:function(e){return c[+(e.getHours()>=12)]},q:function(e){return 1+~~(e.getMonth()/3)},Q:ge,s:ye,S:q,u:H,U:G,V:W,w:Y,W:X,x:null,X:null,y:Z,Y:$,Z:K,"%":me},Le={a:function(e){return h[e.getUTCDay()]},A:function(e){return u[e.getUTCDay()]},b:function(e){return ve[e.getUTCMonth()]},B:function(e){return d[e.getUTCMonth()]},c:null,d:J,e:J,f:ne,H:Q,I:ee,j:te,L:re,m:ie,M:ae,p:function(e){return c[+(e.getUTCHours()>=12)]},q:function(e){return 1+~~(e.getUTCMonth()/3)},Q:ge,s:ye,S:oe,u:se,U:le,V:ce,w:ue,W:he,x:null,X:null,y:de,Y:fe,Z:pe,"%":me},Ie={a:function(e,t,r){var n=ke.exec(t.slice(r));return n?(e.w=Te[n[0].toLowerCase()],r+n[0].length):-1},A:function(e,t,r){var n=_e.exec(t.slice(r));return n?(e.w=we[n[0].toLowerCase()],r+n[0].length):-1},b:function(e,t,r){var n=Se.exec(t.slice(r));return n?(e.m=Ee[n[0].toLowerCase()],r+n[0].length):-1},B:function(e,t,r){var n=Ae.exec(t.slice(r));return n?(e.m=Me[n[0].toLowerCase()],r+n[0].length):-1},c:function(e,t,r){return Oe(e,a,t,r)},d:A,e:A,f:I,H:S,I:S,j:M,L,m:T,M:E,p:function(e,t,r){var n=xe.exec(t.slice(r));return n?(e.p=be[n[0].toLowerCase()],r+n[0].length):-1},q:k,Q:z,s:O,S:C,u:g,U:y,V:v,w:m,W:x,x:function(e,t,r){return Oe(e,o,t,r)},X:function(e,t,r){return Oe(e,l,t,r)},y:_,Y:b,Z:w,"%":P};function Pe(e,t){return function(r){var n,i,a,o=[],l=-1,c=0,u=e.length;for(r instanceof Date||(r=new Date(+r));++l53)return null;"w"in c||(c.w=1),"Z"in c?(l=(s=n(i(c.y,0,1))).getUTCDay(),s=l>4||0===l?t.utcMonday.ceil(s):t.utcMonday(s),s=t.utcDay.offset(s,7*(c.V-1)),c.y=s.getUTCFullYear(),c.m=s.getUTCMonth(),c.d=s.getUTCDate()+(c.w+6)%7):(l=(s=r(i(c.y,0,1))).getDay(),s=l>4||0===l?t.timeMonday.ceil(s):t.timeMonday(s),s=t.timeDay.offset(s,7*(c.V-1)),c.y=s.getFullYear(),c.m=s.getMonth(),c.d=s.getDate()+(c.w+6)%7)}else("W"in c||"U"in c)&&("w"in c||(c.w="u"in c?c.u%7:"W"in c?1:0),l="Z"in c?n(i(c.y,0,1)).getUTCDay():r(i(c.y,0,1)).getDay(),c.m=0,c.d="W"in c?(c.w+6)%7+7*c.W-(l+5)%7:c.w+7*c.U-(l+6)%7);return"Z"in c?(c.H+=c.Z/100|0,c.M+=c.Z%100,n(c)):r(c)}}function Oe(e,t,r,n){for(var i,a,o=0,l=t.length,c=r.length;o=c)return-1;if(37===(i=t.charCodeAt(o++))){if(i=t.charAt(o++),!(a=Ie[i in s?t.charAt(o++):i])||(n=a(e,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}return Ce.x=Pe(o,Ce),Ce.X=Pe(l,Ce),Ce.c=Pe(a,Ce),Le.x=Pe(o,Le),Le.X=Pe(l,Le),Le.c=Pe(a,Le),{format:function(e){var t=Pe(e+="",Ce);return t.toString=function(){return e},t},parse:function(e){var t=ze(e+="",!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=Pe(e+="",Le);return t.toString=function(){return e},t},utcParse:function(e){var t=ze(e+="",!0);return t.toString=function(){return e},t}}}var o,s={"-":"",_:" ",0:"0"},l=/^\s*\d+/,c=/^%/,u=/[\\^$*+?|[\]().{}]/g;function h(e,t,r){var n=e<0?"-":"",i=(n?-e:e)+"",a=i.length;return n+(a68?1900:2e3),r+n[0].length):-1}function w(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function k(e,t,r){var n=l.exec(t.slice(r,r+1));return n?(e.q=3*n[0]-3,r+n[0].length):-1}function T(e,t,r){var n=l.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function A(e,t,r){var n=l.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function M(e,t,r){var n=l.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function S(e,t,r){var n=l.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function E(e,t,r){var n=l.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function C(e,t,r){var n=l.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function L(e,t,r){var n=l.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function I(e,t,r){var n=l.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function P(e,t,r){var n=c.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function z(e,t,r){var n=l.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function O(e,t,r){var n=l.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function D(e,t){return h(e.getDate(),t,2)}function R(e,t){return h(e.getHours(),t,2)}function j(e,t){return h(e.getHours()%12||12,t,2)}function F(e,r){return h(1+t.timeDay.count(t.timeYear(e),e),r,3)}function B(e,t){return h(e.getMilliseconds(),t,3)}function N(e,t){return B(e,t)+"000"}function U(e,t){return h(e.getMonth()+1,t,2)}function V(e,t){return h(e.getMinutes(),t,2)}function q(e,t){return h(e.getSeconds(),t,2)}function H(e){var t=e.getDay();return 0===t?7:t}function G(e,r){return h(t.timeSunday.count(t.timeYear(e)-1,e),r,2)}function W(e,r){var n=e.getDay();return e=n>=4||0===n?t.timeThursday(e):t.timeThursday.ceil(e),h(t.timeThursday.count(t.timeYear(e),e)+(4===t.timeYear(e).getDay()),r,2)}function Y(e){return e.getDay()}function X(e,r){return h(t.timeMonday.count(t.timeYear(e)-1,e),r,2)}function Z(e,t){return h(e.getFullYear()%100,t,2)}function $(e,t){return h(e.getFullYear()%1e4,t,4)}function K(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+h(t/60|0,"0",2)+h(t%60,"0",2)}function J(e,t){return h(e.getUTCDate(),t,2)}function Q(e,t){return h(e.getUTCHours(),t,2)}function ee(e,t){return h(e.getUTCHours()%12||12,t,2)}function te(e,r){return h(1+t.utcDay.count(t.utcYear(e),e),r,3)}function re(e,t){return h(e.getUTCMilliseconds(),t,3)}function ne(e,t){return re(e,t)+"000"}function ie(e,t){return h(e.getUTCMonth()+1,t,2)}function ae(e,t){return h(e.getUTCMinutes(),t,2)}function oe(e,t){return h(e.getUTCSeconds(),t,2)}function se(e){var t=e.getUTCDay();return 0===t?7:t}function le(e,r){return h(t.utcSunday.count(t.utcYear(e)-1,e),r,2)}function ce(e,r){var n=e.getUTCDay();return e=n>=4||0===n?t.utcThursday(e):t.utcThursday.ceil(e),h(t.utcThursday.count(t.utcYear(e),e)+(4===t.utcYear(e).getUTCDay()),r,2)}function ue(e){return e.getUTCDay()}function he(e,r){return h(t.utcMonday.count(t.utcYear(e)-1,e),r,2)}function de(e,t){return h(e.getUTCFullYear()%100,t,2)}function fe(e,t){return h(e.getUTCFullYear()%1e4,t,4)}function pe(){return"+0000"}function me(){return"%"}function ge(e){return+e}function ye(e){return Math.floor(+e/1e3)}function ve(t){return o=a(t),e.timeFormat=o.format,e.timeParse=o.parse,e.utcFormat=o.utcFormat,e.utcParse=o.utcParse,o}ve({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"]});var xe="%Y-%m-%dT%H:%M:%S.%LZ",be=Date.prototype.toISOString?function(e){return e.toISOString()}:e.utcFormat(xe),_e=+new Date("2000-01-01T00:00:00.000Z")?function(e){var t=new Date(e);return isNaN(t)?null:t}:e.utcParse(xe);e.isoFormat=be,e.isoParse=_e,e.timeFormatDefaultLocale=ve,e.timeFormatLocale=a,Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof e&&typeof t<"u"?n(e,k()):n((r=r||self).d3=r.d3||{},r.d3)}}),A=m({"node_modules/d3-format/dist/d3-format.js"(e,t){var r,n;r=e,n=function(e){function t(e,t){if((r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var r,n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function r(e){return(e=t(Math.abs(e)))?e[1]:NaN}var n,i=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function a(e){if(!(t=i.exec(e)))throw new Error("invalid format: "+e);var t;return new o({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function o(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}function s(e,r){var n=t(e,r);if(!n)return e+"";var i=n[0],a=n[1];return a<0?"0."+new Array(-a).join("0")+i:i.length>a+1?i.slice(0,a+1)+"."+i.slice(a+1):i+new Array(a-i.length+2).join("0")}a.prototype=o.prototype,o.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var l={"%":function(e,t){return(100*e).toFixed(t)},b:function(e){return Math.round(e).toString(2)},c:function(e){return e+""},d:function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)},e:function(e,t){return e.toExponential(t)},f:function(e,t){return e.toFixed(t)},g:function(e,t){return e.toPrecision(t)},o:function(e){return Math.round(e).toString(8)},p:function(e,t){return s(100*e,t)},r:s,s:function(e,r){var i=t(e,r);if(!i)return e+"";var a=i[0],o=i[1],s=o-(n=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,l=a.length;return s===l?a:s>l?a+new Array(s-l+1).join("0"):s>0?a.slice(0,s)+"."+a.slice(s):"0."+new Array(1-s).join("0")+t(e,Math.max(0,r+s-1))[0]},X:function(e){return Math.round(e).toString(16).toUpperCase()},x:function(e){return Math.round(e).toString(16)}};function c(e){return e}var u,h=Array.prototype.map,d=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function f(e){var t=void 0===e.grouping||void 0===e.thousands?c:function(e,t){return function(r,n){for(var i=r.length,a=[],o=0,s=e[0],l=0;i>0&&s>0&&(l+s+1>n&&(s=Math.max(1,n-l)),a.push(r.substring(i-=s,i+s)),!((l+=s+1)>n));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}(h.call(e.grouping,Number),e.thousands+""),i=void 0===e.currency?"":e.currency[0]+"",o=void 0===e.currency?"":e.currency[1]+"",s=void 0===e.decimal?".":e.decimal+"",u=void 0===e.numerals?c:function(e){return function(t){return t.replace(/[0-9]/g,(function(t){return e[+t]}))}}(h.call(e.numerals,String)),f=void 0===e.percent?"%":e.percent+"",p=void 0===e.minus?"-":e.minus+"",m=void 0===e.nan?"NaN":e.nan+"";function g(e){var r=(e=a(e)).fill,c=e.align,h=e.sign,g=e.symbol,y=e.zero,v=e.width,x=e.comma,b=e.precision,_=e.trim,w=e.type;"n"===w?(x=!0,w="g"):l[w]||(void 0===b&&(b=12),_=!0,w="g"),(y||"0"===r&&"="===c)&&(y=!0,r="0",c="=");var k="$"===g?i:"#"===g&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",T="$"===g?o:/[%p]/.test(w)?f:"",A=l[w],M=/[defgprs%]/.test(w);function S(e){var i,a,o,l=k,f=T;if("c"===w)f=A(e)+f,e="";else{var g=(e=+e)<0||1/e<0;if(e=isNaN(e)?m:A(Math.abs(e),b),_&&(e=function(e){e:for(var t,r=e.length,n=1,i=-1;n0&&(i=0)}return i>0?e.slice(0,i)+e.slice(t+1):e}(e)),g&&0==+e&&"+"!==h&&(g=!1),l=(g?"("===h?h:p:"-"===h||"("===h?"":h)+l,f=("s"===w?d[8+n/3]:"")+f+(g&&"("===h?")":""),M)for(i=-1,a=e.length;++i(o=e.charCodeAt(i))||o>57){f=(46===o?s+e.slice(i+1):e.slice(i))+f,e=e.slice(0,i);break}}x&&!y&&(e=t(e,1/0));var S=l.length+e.length+f.length,E=S>1)+l+e+f+E.slice(S);break;default:e=E+l+e+f}return u(e)}return b=void 0===b?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b)),S.toString=function(){return e+""},S}return{format:g,formatPrefix:function(e,t){var n=g(((e=a(e)).type="f",e)),i=3*Math.max(-8,Math.min(8,Math.floor(r(t)/3))),o=Math.pow(10,-i),s=d[8+i/3];return function(e){return n(o*e)+s}}}}function p(t){return u=f(t),e.format=u.format,e.formatPrefix=u.formatPrefix,u}p({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),e.FormatSpecifier=o,e.formatDefaultLocale=p,e.formatLocale=f,e.formatSpecifier=a,e.precisionFixed=function(e){return Math.max(0,-r(Math.abs(e)))},e.precisionPrefix=function(e,t){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(r(t)/3)))-r(Math.abs(e)))},e.precisionRound=function(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,r(t)-r(e))+1},Object.defineProperty(e,"__esModule",{value:!0})},n("object"==typeof e&&typeof t<"u"?e:(r=typeof globalThis<"u"?globalThis:r||self).d3=r.d3||{})}}),M=m({"node_modules/is-string-blank/index.js"(e,t){t.exports=function(e){for(var t,r=e.length,n=0;n13)&&32!==t&&133!==t&&160!==t&&5760!==t&&6158!==t&&(t<8192||t>8205)&&8232!==t&&8233!==t&&8239!==t&&8287!==t&&8288!==t&&12288!==t&&65279!==t)return!1;return!0}}}),S=m({"node_modules/fast-isnumeric/index.js"(e,t){var r=M();t.exports=function(e){var t=typeof e;if("string"===t){var n=e;if(0==(e=+e)&&r(n))return!1}else if("number"!==t)return!1;return e-e<1}}}),E=m({"src/constants/numerical.js"(e,t){t.exports={BADNUM:void 0,FP_SAFE:1e-4*Number.MAX_VALUE,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:2440587.5,ALMOST_EQUAL:.999999,LOG_CLIP:10,MINUS_SIGN:"−"}}}),C=m({"node_modules/base64-arraybuffer/dist/base64-arraybuffer.umd.js"(e,t){var r,n;r=e,n=function(e){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r=typeof Uint8Array>"u"?[]:new Uint8Array(256),n=0;n<64;n++)r[t.charCodeAt(n)]=n;e.decode=function(e){var t,n,i,a,o,s=.75*e.length,l=e.length,c=0;"="===e[e.length-1]&&(s--,"="===e[e.length-2]&&s--);var u=new ArrayBuffer(s),h=new Uint8Array(u);for(t=0;t>4,h[c++]=(15&i)<<4|a>>2,h[c++]=(3&a)<<6|63&o;return u},e.encode=function(e){var r,n=new Uint8Array(e),i=n.length,a="";for(r=0;r>2],a+=t[(3&n[r])<<4|n[r+1]>>4],a+=t[(15&n[r+1])<<2|n[r+2]>>6],a+=t[63&n[r+2]];return i%3==2?a=a.substring(0,a.length-1)+"=":i%3==1&&(a=a.substring(0,a.length-2)+"=="),a},Object.defineProperty(e,"__esModule",{value:!0})},n("object"==typeof e&&typeof t<"u"?e:(r=typeof globalThis<"u"?globalThis:r||self)["base64-arraybuffer"]={})}}),L=m({"src/lib/is_plain_object.js"(e,t){t.exports=function(e){return window&&window.process&&window.process.versions?"[object Object]"===Object.prototype.toString.call(e):"[object Object]"===Object.prototype.toString.call(e)&&Object.getPrototypeOf(e).hasOwnProperty("hasOwnProperty")}}}),I=m({"src/lib/array.js"(e){var t=C().decode,r=L(),n=Array.isArray,i=ArrayBuffer,a=DataView;function o(e){return i.isView(e)&&!(e instanceof a)}function s(e){return n(e)||o(e)}e.isTypedArray=o,e.isArrayOrTypedArray=s,e.isArray1D=function(e){return!s(e[0])},e.ensureArray=function(e,t){return n(e)||(e=[]),e.length=t,e};var l={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};function c(e){return e.constructor===ArrayBuffer}function u(e,t,r){if(s(e)){if(s(e[0])){for(var n=r,i=0;i2)return c[t]=2|c[t],d.set(e,null);if(h){for(o=t;o0)return Math.log(e)/Math.LN10;var n=Math.log(Math.min(t[0],t[1]))/Math.LN10;return r(n)||(n=Math.log(Math.max(t[0],t[1]))/Math.LN10-6),n}}}),R=m({"src/lib/relink_private.js"(e,t){var r=I().isArrayOrTypedArray,n=L();t.exports=function e(t,i){for(var a in i){var o=i[a],s=t[a];if(s!==o)if("_"===a.charAt(0)||"function"==typeof o){if(a in t)continue;t[a]=o}else if(r(o)&&r(s)&&n(o[0])){if("customdata"===a||"ids"===a)continue;for(var l=Math.min(o.length,s.length),c=0;ct/2?e-Math.round(e/t)*t:e}g(j,{mod:()=>F,modHalf:()=>B});var N,U=p({"src/lib/mod.ts"(){}}),V=m({"src/lib/extend.js"(e){var t=L(),r=Array.isArray;function n(e,i,a,o){var s,l,c,u,h,d,f,p=e[0],m=e.length;if(2===m&&r(p)&&r(e[1])&&0===p.length){if(f=function(e,t){var r,n;for(r=0;r=4&&1!==e[3]&&(t=", "+e[3]),"hwb("+e[0]+", "+e[1]+"%, "+e[2]+"%"+t+")"},J.to.keyword=function(...e){return K[e.slice(0,3)]},Q=J}}),re=p({"node_modules/color/node_modules/color-name/index.js"(){ee={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]}}});function ne(e){let t=e>.0031308?1.055*e**.4166666666666667-.055:12.92*e;return Math.min(Math.max(0,t),1)}function ie(e){return e>.04045?((e+.055)/1.055)**2.4:e/12.92}function ae(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2+(e[2]-t[2])**2}var oe,se,le,ce,ue=p({"node_modules/color/node_modules/color-convert/conversions.js"(){re(),oe={};for(let e of Object.keys(ee))oe[ee[e]]=e;le=se={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},oklab:{channels:3,labels:["okl","oka","okb"]},lch:{channels:3,labels:"lch"},oklch:{channels:3,labels:["okl","okc","okh"]},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}},ce=(6/29)**3;for(let e of Object.keys(se)){if(!("channels"in se[e]))throw new Error("missing channels property: "+e);if(!("labels"in se[e]))throw new Error("missing channel labels property: "+e);if(se[e].labels.length!==se[e].channels)throw new Error("channel and label counts mismatch: "+e);let{channels:t,labels:r}=se[e];delete se[e].channels,delete se[e].labels,Object.defineProperty(se[e],"channels",{value:t}),Object.defineProperty(se[e],"labels",{value:r})}se.rgb.hsl=function(e){let t,r,n=e[0]/255,i=e[1]/255,a=e[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;switch(s){case o:t=0;break;case n:t=(i-a)/l;break;case i:t=2+(a-n)/l;break;case a:t=4+(n-i)/l}t=Math.min(60*t,360),t<0&&(t+=360);let c=(o+s)/2;return r=s===o?0:c<=.5?l/(s+o):l/(2-s-o),[t,100*r,100*c]},se.rgb.hsv=function(e){let t,r,n,i,a,o=e[0]/255,s=e[1]/255,l=e[2]/255,c=Math.max(o,s,l),u=c-Math.min(o,s,l),h=function(e){return(c-e)/6/u+.5};if(0===u)i=0,a=0;else{switch(a=u/c,t=h(o),r=h(s),n=h(l),c){case o:i=n-r;break;case s:i=1/3+t-n;break;case l:i=2/3+r-t}i<0?i+=1:i>1&&(i-=1)}return[360*i,100*a,100*c]},se.rgb.hwb=function(e){let t=e[0],r=e[1],n=e[2],i=se.rgb.hsl(e)[0],a=1/255*Math.min(t,Math.min(r,n));return n=1-1/255*Math.max(t,Math.max(r,n)),[i,100*a,100*n]},se.rgb.oklab=function(e){let t=ie(e[0]/255),r=ie(e[1]/255),n=ie(e[2]/255),i=Math.cbrt(.4122214708*t+.5363325363*r+.0514459929*n),a=Math.cbrt(.2119034982*t+.6806995451*r+.1073969566*n),o=Math.cbrt(.0883024619*t+.2817188376*r+.6299787005*n);return[100*(.2104542553*i+.793617785*a-.0040720468*o),100*(1.9779984951*i-2.428592205*a+.4505937099*o),100*(.0259040371*i+.7827717662*a-.808675766*o)]},se.rgb.cmyk=function(e){let t=e[0]/255,r=e[1]/255,n=e[2]/255,i=Math.min(1-t,1-r,1-n);return[100*((1-t-i)/(1-i)||0),100*((1-r-i)/(1-i)||0),100*((1-n-i)/(1-i)||0),100*i]},se.rgb.keyword=function(e){let t=oe[e];if(t)return t;let r,n=Number.POSITIVE_INFINITY;for(let t of Object.keys(ee)){let i=ae(e,ee[t]);ice?r**(1/3):7.787*r+16/116,n=n>ce?n**(1/3):7.787*n+16/116,i=i>ce?i**(1/3):7.787*i+16/116,[116*n-16,500*(r-n),200*(n-i)]},se.hsl.rgb=function(e){let t,r,n=e[0]/360,i=e[1]/100,a=e[2]/100;if(0===i)return r=255*a,[r,r,r];let o=a<.5?a*(1+i):a+i-a*i,s=2*a-o,l=[0,0,0];for(let e=0;e<3;e++)t=n+1/3*-(e-1),t<0&&t++,t>1&&t--,r=6*t<1?s+6*(o-s)*t:2*t<1?o:3*t<2?s+(o-s)*(2/3-t)*6:s,l[e]=255*r;return l},se.hsl.hsv=function(e){let t=e[0],r=e[1]/100,n=e[2]/100,i=r,a=Math.max(n,.01);return n*=2,r*=n<=1?n:2-n,i*=a<=1?a:2-a,[t,100*(0===n?2*i/(a+i):2*r/(n+r)),(n+r)/2*100]},se.hsv.rgb=function(e){let t=e[0]/60,r=e[1]/100,n=e[2]/100,i=Math.floor(t)%6,a=t-Math.floor(t),o=255*n*(1-r),s=255*n*(1-r*a),l=255*n*(1-r*(1-a));switch(n*=255,i){case 0:return[n,l,o];case 1:return[s,n,o];case 2:return[o,n,l];case 3:return[o,s,n];case 4:return[l,o,n];case 5:return[n,o,s]}},se.hsv.hsl=function(e){let t,r,n=e[0],i=e[1]/100,a=e[2]/100,o=Math.max(a,.01);r=(2-i)*a;let s=(2-i)*o;return t=i*o,t/=s<=1?s:2-s,t=t||0,r/=2,[n,100*t,100*r]},se.hwb.rgb=function(e){let t,r=e[0]/360,n=e[1]/100,i=e[2]/100,a=n+i;a>1&&(n/=a,i/=a);let o=Math.floor(6*r),s=1-i;t=6*r-o,1&o&&(t=1-t);let l,c,u,h=n+t*(s-n);switch(o){default:case 6:case 0:l=s,c=h,u=n;break;case 1:l=h,c=s,u=n;break;case 2:l=n,c=s,u=h;break;case 3:l=n,c=h,u=s;break;case 4:l=h,c=n,u=s;break;case 5:l=s,c=n,u=h}return[255*l,255*c,255*u]},se.cmyk.rgb=function(e){let t=e[0]/100,r=e[1]/100,n=e[2]/100,i=e[3]/100;return[255*(1-Math.min(1,t*(1-i)+i)),255*(1-Math.min(1,r*(1-i)+i)),255*(1-Math.min(1,n*(1-i)+i))]},se.xyz.rgb=function(e){let t,r,n,i=e[0]/100,a=e[1]/100,o=e[2]/100;return t=3.2404542*i+-1.5371385*a+-.4985314*o,r=-.969266*i+1.8760108*a+.041556*o,n=.0556434*i+-.2040259*a+1.0572252*o,t=ne(t),r=ne(r),n=ne(n),[255*t,255*r,255*n]},se.xyz.lab=function(e){let t=e[0],r=e[1],n=e[2];return t/=95.047,r/=100,n/=108.883,t=t>ce?t**(1/3):7.787*t+16/116,r=r>ce?r**(1/3):7.787*r+16/116,n=n>ce?n**(1/3):7.787*n+16/116,[116*r-16,500*(t-r),200*(r-n)]},se.xyz.oklab=function(e){let t=e[0]/100,r=e[1]/100,n=e[2]/100,i=Math.cbrt(.8189330101*t+.3618667424*r-.1288597137*n),a=Math.cbrt(.0329845436*t+.9293118715*r+.0361456387*n),o=Math.cbrt(.0482003018*t+.2643662691*r+.633851707*n);return[100*(.2104542553*i+.793617785*a-.0040720468*o),100*(1.9779984951*i-2.428592205*a+.4505937099*o),100*(.0259040371*i+.7827717662*a-.808675766*o)]},se.oklab.oklch=function(e){return se.lab.lch(e)},se.oklab.xyz=function(e){let t=e[0]/100,r=e[1]/100,n=e[2]/100,i=(.999999998*t+.396337792*r+.215803758*n)**3,a=(1.000000008*t-.105561342*r-.063854175*n)**3,o=(1.000000055*t-.089484182*r-1.291485538*n)**3;return[100*(1.227013851*i-.55779998*a+.281256149*o),100*(-.040580178*i+1.11225687*a-.071676679*o),100*(-.076381285*i-.421481978*a+1.58616322*o)]},se.oklab.rgb=function(e){let t=e[0]/100,r=e[1]/100,n=e[2]/100,i=(t+.3963377774*r+.2158037573*n)**3,a=(t-.1055613458*r-.0638541728*n)**3,o=(t-.0894841775*r-1.291485548*n)**3;return[255*ne(4.0767416621*i-3.3077115913*a+.2309699292*o),255*ne(-1.2684380046*i+2.6097574011*a-.3413193965*o),255*ne(-.0041960863*i-.7034186147*a+1.707614701*o)]},se.oklch.oklab=function(e){return se.lch.lab(e)},se.lab.xyz=function(e){let t,r,n;r=(e[0]+16)/116,t=e[1]/500+r,n=r-e[2]/200;let i=r**3,a=t**3,o=n**3;return r=i>ce?i:(r-16/116)/7.787,t=a>ce?a:(t-16/116)/7.787,n=o>ce?o:(n-16/116)/7.787,t*=95.047,r*=100,n*=108.883,[t,r,n]},se.lab.lch=function(e){let t,r=e[0],n=e[1],i=e[2];return t=360*Math.atan2(i,n)/2/Math.PI,t<0&&(t+=360),[r,Math.sqrt(n*n+i*i),t]},se.lch.lab=function(e){let t=e[0],r=e[1],n=e[2]/360*2*Math.PI;return[t,r*Math.cos(n),r*Math.sin(n)]},se.rgb.ansi16=function(e,t=null){let[r,n,i]=e,a=null===t?se.rgb.hsv(e)[2]:t;if(a=Math.round(a/50),0===a)return 30;let o=30+(Math.round(i/255)<<2|Math.round(n/255)<<1|Math.round(r/255));return 2===a&&(o+=60),o},se.hsv.ansi16=function(e){return se.rgb.ansi16(se.hsv.rgb(e),e[2])},se.rgb.ansi256=function(e){let t=e[0],r=e[1],n=e[2];return t>>4==r>>4&&r>>4==n>>4?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5)},se.ansi16.rgb=function(e){let t=(e=e[0])%10;if(0===t||7===t)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];let r=.5*(Math.trunc(e>50)+1);return[(1&t)*r*255,(t>>1&1)*r*255,(t>>2&1)*r*255]},se.ansi256.rgb=function(e){if((e=e[0])>=232){let t=10*(e-232)+8;return[t,t,t]}let t;return e-=16,[Math.floor(e/36)/5*255,Math.floor((t=e%36)/6)/5*255,t%6/5*255]},se.rgb.hex=function(e){let t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".slice(t.length)+t},se.hex.rgb=function(e){let t=e.toString(16).match(/[a-f\d]{6}|[a-f\d]{3}/i);if(!t)return[0,0,0];let r=t[0];3===t[0].length&&(r=[...r].map((e=>e+e)).join(""));let n=Number.parseInt(r,16);return[n>>16&255,n>>8&255,255&n]},se.rgb.hcg=function(e){let t,r=e[0]/255,n=e[1]/255,i=e[2]/255,a=Math.max(Math.max(r,n),i),o=Math.min(Math.min(r,n),i),s=a-o;return t=s<=0?0:a===r?(n-i)/s%6:a===n?2+(i-r)/s:4+(r-n)/s,t/=6,t%=1,[360*t,100*s,100*(s<1?o/(1-s):0)]},se.hsl.hcg=function(e){let t=e[1]/100,r=e[2]/100,n=r<.5?2*t*r:2*t*(1-r),i=0;return n<1&&(i=(r-.5*n)/(1-n)),[e[0],100*n,100*i]},se.hsv.hcg=function(e){let t=e[1]/100,r=e[2]/100,n=t*r,i=0;return n<1&&(i=(r-n)/(1-n)),[e[0],100*n,100*i]},se.hcg.rgb=function(e){let t=e[0]/360,r=e[1]/100,n=e[2]/100;if(0===r)return[255*n,255*n,255*n];let i=[0,0,0],a=t%1*6,o=a%1,s=1-o,l=0;switch(Math.floor(a)){case 0:i[0]=1,i[1]=o,i[2]=0;break;case 1:i[0]=s,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=o;break;case 3:i[0]=0,i[1]=s,i[2]=1;break;case 4:i[0]=o,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=s}return l=(1-r)*n,[255*(r*i[0]+l),255*(r*i[1]+l),255*(r*i[2]+l)]},se.hcg.hsv=function(e){let t=e[1]/100,r=t+e[2]/100*(1-t),n=0;return r>0&&(n=t/r),[e[0],100*n,100*r]},se.hcg.hsl=function(e){let t=e[1]/100,r=e[2]/100*(1-t)+.5*t,n=0;return r>0&&r<.5?n=t/(2*r):r>=.5&&r<1&&(n=t/(2*(1-r))),[e[0],100*n,100*r]},se.hcg.hwb=function(e){let t=e[1]/100,r=t+e[2]/100*(1-t);return[e[0],100*(r-t),100*(1-r)]},se.hwb.hcg=function(e){let t=e[1]/100,r=1-e[2]/100,n=r-t,i=0;return n<1&&(i=(r-n)/(1-n)),[e[0],100*n,100*i]},se.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},se.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},se.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},se.gray.hsl=function(e){return[0,0,e[0]]},se.gray.hsv=se.gray.hsl,se.gray.hwb=function(e){return[0,100,e[0]]},se.gray.cmyk=function(e){return[0,0,0,e[0]]},se.gray.lab=function(e){return[e[0],0,0]},se.gray.hex=function(e){let t=255&Math.round(e[0]/100*255),r=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".slice(r.length)+r},se.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}}});function he(e,t){return function(r){return t(e(r))}}function de(e,t){let r=[t[e].parent,e],n=le[t[e].parent][e],i=t[e].parent;for(;t[i].parent;)r.unshift(t[i].parent),n=he(le[t[i].parent][i],n),i=t[i].parent;return n.conversion=r,n}function fe(e){let t=function(e){let t=function(){let e={},t=Object.keys(le);for(let{length:r}=t,n=0;n0;){let e=r.pop(),n=Object.keys(le[e]);for(let{length:i}=n,a=0;a1&&(t=r),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}function ye(e){let t=function(...t){let r=t[0];if(null==r)return r;r.length>1&&(t=r);let n=e(t);if("object"==typeof n)for(let{length:e}=n,t=0;t0){this.model=t||"rgb",n=be[this.model].channels;let r=Array.prototype.slice.call(e,0,n);this.color=Ee(r,n),this.valpha="number"==typeof e[n]?e[n]:1}else if("number"==typeof e)this.model="rgb",this.color=[e>>16&255,e>>8&255,255&e],this.valpha=1;else{this.valpha=1;let t=Object.keys(e);"alpha"in e&&(t.splice(t.indexOf("alpha"),1),this.valpha="number"==typeof e.alpha?e.alpha:0);let n=t.sort().join("");if(!(n in Le))throw new Error("Unable to parse color from object: "+JSON.stringify(e));this.model=Le[n];let{labels:i}=be[this.model],a=[];for(r=0;rPe});var Ce,Le,Ie,Pe,ze=p({"node_modules/color/index.js"(){te(),_e(),Ce=["keyword","gray","hex"],Le={};for(let e of Object.keys(be))Le[[...be[e].labels].sort().join("")]=e;Ie={},ke.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(e){let t=this.model in Q.to?this:this.rgb();t=t.round("number"==typeof e?e:1);let r=1===t.valpha?t.color:[...t.color,this.valpha];return Q.to[t.model](...r)},percentString(e){let t=this.rgb().round("number"==typeof e?e:1),r=1===t.valpha?t.color:[...t.color,this.valpha];return Q.to.rgb.percent(...r)},array(){return 1===this.valpha?[...this.color]:[...this.color,this.valpha]},object(){let e={},{channels:t}=be[this.model],{labels:r}=be[this.model];for(let n=0;n(e%360+360)%360)),saturationl:Ae("hsl",1,Me(100)),lightness:Ae("hsl",2,Me(100)),saturationv:Ae("hsv",1,Me(100)),value:Ae("hsv",2,Me(100)),chroma:Ae("hcg",1,Me(100)),gray:Ae("hcg",2,Me(100)),white:Ae("hwb",1,Me(100)),wblack:Ae("hwb",2,Me(100)),cyan:Ae("cmyk",0,Me(100)),magenta:Ae("cmyk",1,Me(100)),yellow:Ae("cmyk",2,Me(100)),black:Ae("cmyk",3,Me(100)),x:Ae("xyz",0,Me(95.047)),y:Ae("xyz",1,Me(100)),z:Ae("xyz",2,Me(108.833)),l:Ae("lab",0,Me(100)),a:Ae("lab",1),b:Ae("lab",2),keyword(e){return void 0!==e?new ke(e):be[this.model].keyword(this.color)},hex(e){return void 0!==e?new ke(e):Q.to.hex(...this.rgb().round().color)},hexa(e){if(void 0!==e)return new ke(e);let t=this.rgb().round().color,r=Math.round(255*this.valpha).toString(16).toUpperCase();return 1===r.length&&(r="0"+r),Q.to.hex(...t)+r},rgbNumber(){let e=this.rgb().color;return(255&e[0])<<16|(255&e[1])<<8|255&e[2]},luminosity(){let e=this.rgb().color,t=[];for(let[r,n]of e.entries()){let e=n/255;t[r]=e<=.04045?e/12.92:((e+.055)/1.055)**2.4}return.2126*t[0]+.7152*t[1]+.0722*t[2]},contrast(e){let t=this.luminosity(),r=e.luminosity();return t>r?(t+.05)/(r+.05):(r+.05)/(t+.05)},level(e){let t=this.contrast(e);return t>=7?"AAA":t>=4.5?"AA":""},isDark(){let e=this.rgb().color;return(2126*e[0]+7152*e[1]+722*e[2])/1e4<128},isLight(){return!this.isDark()},negate(){let e=this.rgb();for(let t=0;t<3;t++)e.color[t]=255-e.color[t];return e},lighten(e){let t=this.hsl();return t.color[2]+=t.color[2]*e,t},darken(e){let t=this.hsl();return t.color[2]-=t.color[2]*e,t},saturate(e){let t=this.hsl();return t.color[1]+=t.color[1]*e,t},desaturate(e){let t=this.hsl();return t.color[1]-=t.color[1]*e,t},whiten(e){let t=this.hwb();return t.color[1]+=t.color[1]*e,t},blacken(e){let t=this.hwb();return t.color[2]+=t.color[2]*e,t},grayscale(){let e=this.rgb().color,t=.3*e[0]+.59*e[1]+.11*e[2];return ke.rgb(t,t,t)},fade(e){return this.alpha(this.valpha-this.valpha*e)},opaquer(e){return this.alpha(this.valpha+this.valpha*e)},rotate(e){let t=this.hsl(),r=t.color[0];return r=(r+e)%360,r=r<0?360+r:r,t.color[0]=r,t},mix(e,t){if(!e||!e.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof e);let r=e.rgb(),n=this.rgb(),i=void 0===t?.5:t,a=2*i-1,o=r.alpha()-n.alpha(),s=((a*o==-1?a:(a+o)/(1+a*o))+1)/2,l=1-s;return ke.rgb(s*r.red()+l*n.red(),s*r.green()+l*n.green(),s*r.blue()+l*n.blue(),r.alpha()*i+n.alpha()*(1-i))}};for(let e of Object.keys(be)){if(Ce.includes(e))continue;let{channels:t}=be[e];ke.prototype[e]=function(...t){return this.model===e?new ke(this):t.length>0?new ke(t,e):new ke([...Se(be[this.model][e].raw(this.color)),this.valpha],e)},ke[e]=function(...r){let n=r[0];return"number"==typeof n&&(n=Ee(r,t)),new ke(n,e)}}Pe=ke}}),Oe=m({"src/plot_api/plot_config.js"(e,t){var r={staticPlot:{valType:"boolean",dflt:!1},typesetMath:{valType:"boolean",dflt:!0},plotlyServerURL:{valType:"string",dflt:"https://cloud.plotly.com/newchart"},editable:{valType:"boolean",dflt:!1},edits:{annotationPosition:{valType:"boolean",dflt:!1},annotationTail:{valType:"boolean",dflt:!1},annotationText:{valType:"boolean",dflt:!1},axisTitleText:{valType:"boolean",dflt:!1},colorbarPosition:{valType:"boolean",dflt:!1},colorbarTitleText:{valType:"boolean",dflt:!1},legendPosition:{valType:"boolean",dflt:!1},legendText:{valType:"boolean",dflt:!1},shapePosition:{valType:"boolean",dflt:!1},titleText:{valType:"boolean",dflt:!1}},editSelection:{valType:"boolean",dflt:!0},autosizable:{valType:"boolean",dflt:!1},responsive:{valType:"boolean",dflt:!1},fillFrame:{valType:"boolean",dflt:!1},frameMargins:{valType:"number",dflt:0,min:0,max:.5},scrollZoom:{valType:"flaglist",flags:["cartesian","gl3d","geo","map"],extras:[!0,!1],dflt:"gl3d+geo+map"},doubleClick:{valType:"enumerated",values:[!1,"reset","autosize","reset+autosize"],dflt:"reset+autosize"},doubleClickDelay:{valType:"number",dflt:300,min:0},showAxisDragHandles:{valType:"boolean",dflt:!0},showAxisRangeEntryBoxes:{valType:"boolean",dflt:!0},showTips:{valType:"boolean",dflt:!0},displayNotifier:{valType:"boolean",dflt:!0},displayModeBar:{valType:"enumerated",values:["hover",!0,!1],dflt:"hover"},showSendToCloud:{valType:"boolean",dflt:!0},modeBarButtonsToRemove:{valType:"any",dflt:[]},modeBarButtonsToAdd:{valType:"any",dflt:[]},modeBarButtons:{valType:"any",dflt:!1},toImageButtonOptions:{valType:"any",dflt:{}},displaylogo:{valType:"boolean",dflt:!0},watermark:{valType:"boolean",dflt:!1},plotGlPixelRatio:{valType:"number",dflt:2,min:1,max:4},setBackground:{valType:"any",dflt:"transparent"},topojsonURL:{valType:"string",noBlank:!0,dflt:"https://cdn.plot.ly/un/"},logging:{valType:"integer",min:0,max:2,dflt:1},notifyOnLogging:{valType:"integer",min:0,max:2,dflt:0},queueLength:{valType:"integer",min:0,dflt:0},locale:{valType:"string",dflt:"en-US"},locales:{valType:"any",dflt:{}}},n={};(function e(t,r){for(var n in t){var i=t[n];i.valType?r[n]=i.dflt:(r[n]||(r[n]={}),e(i,r[n]))}})(r,n),t.exports={configAttributes:r,dfltConfig:n}}}),De=m({"src/lib/notifier.js"(e,t){var r=w(),n=S(),i=[];t.exports=function(e,t,a){var o;if(!1!==(null==(o=a?._context)?void 0:o.displayNotifier)&&-1===i.indexOf(e)){i.push(e);var s=1e3;n(t)?s=t:"long"===t&&(s=3e3);var l=r.select("body").selectAll(".plotly-notifier").data([0]);l.enter().append("div").classed("plotly-notifier",!0),l.selectAll(".notifier-note").data(i).enter().append("div").classed("notifier-note",!0).style("opacity",0).each((function(e){var n=r.select(this);n.append("button").classed("notifier-close",!0).html("×").on("click",(function(){n.transition().call(c)}));for(var i=n.append("p"),a=e.split(//g),o=0;o1){var t=["LOG:"];for(e=0;e1){var i=[];for(e=0;e"),"long")}},i.warn=function(){var e;if(r.logging>0){var t=["WARN:"];for(e=0;e0){var i=[];for(e=0;e"),"stick")}},i.error=function(){var e;if(r.logging>0){var t=["ERROR:"];for(e=0;e0){var i=[];for(e=0;e"),"stick")}}}}),je=m({"src/components/color/attributes.js"(e){e.defaults=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],e.defaultLine="#444",e.lightLine="#eee",e.background="#fff",e.borderLine="#BEC8D9",e.lightFraction=1e3/11}}),Fe=m({"src/components/color/index.js"(e,t){var r=(ze(),x(we)).default,{warn:n}=Re(),{background:i,defaultLine:a,defaults:o,lightLine:s}=je(),l=e=>{"string"==typeof e&&(e=e.trim());try{return r(e)}catch{return n(`Invalid color specifier: "${e}". Defaulting to "#000"`),r("#000")}},c=e=>{let{r:t,g:r,b:n}=l(e).rgb().object();return`rgb(${Math.round(t)}, ${Math.round(r)}, ${Math.round(n)})`},u=(e,t)=>{t||(t=i);let r=l(e).rgb().object();if(null!=r.alpha||(r.alpha=1),1===r.alpha)return l(e).rgb().string();let n=l(t).rgb().object();null!=n.alpha||(n.alpha=1);let a=1===n.alpha?n:{r:255*(1-n.alpha)+n.r*n.alpha,g:255*(1-n.alpha)+n.g*n.alpha,b:255*(1-n.alpha)+n.b*n.alpha},o={r:a.r*(1-r.alpha)+r.r*r.alpha,g:a.g*(1-r.alpha)+r.g*r.alpha,b:a.b*(1-r.alpha)+r.b*r.alpha};return l(o).rgb().string()},h=(e,t)=>{let r=l(e);return r.lightness(r.lightness()+t)};t.exports={addOpacity:(e,t)=>{let r=l(e).rgb().object();return`rgba(${Math.round(r.r)}, ${Math.round(r.g)}, ${Math.round(r.b)}, ${t})`},adjustLightness:h,background:i,brighten:(e,t)=>{var r;t=0===t?0:t||10;let n=l(e).rgb().object(),i=Math.round(t/100*255);return l({r:Math.max(0,Math.min(255,n.r+i)),g:Math.max(0,Math.min(255,n.g+i)),b:Math.max(0,Math.min(255,n.b+i))}).alpha(null!=(r=n.alpha)?r:1).rgb().string()},color:l,combine:u,contrast:(e,t,r)=>{let n=l(e);return 1!==n.alpha()&&(n=l(u(e,i))),(n.isDark()?t?h(n,t):l(i):r?h(n,-r):l(a)).rgb().string()},defaultLine:a,defaults:o,equals:(e,t)=>!(!e||!t||l(e).rgb().string()!==l(t).rgb().string()),fill:(e,t)=>{let r=l(t);e.style({fill:c(t),"fill-opacity":r.alpha()})},interpolate:(e,t,r)=>{let n=l(e).rgb().object(),i=l(t).rgb().object(),a={r:r*n.r+(1-r)*i.r,g:r*n.g+(1-r)*i.g,b:r*n.b+(1-r)*i.b};return l(a).rgb().string()},isValid:e=>{if("string"!=typeof e)return!1;try{return!!r(e.trim())}catch{return!1}},lightLine:s,mix:(e,t,r)=>l(e).mix(l(t),r/100).rgb().string(),mostReadable:(e,t=["#000","#fff"])=>{let r,n=-1/0;for(let i of t){let t=l(e).contrast(l(i));t>n&&(n=t,r=l(i).rgb().string())}return r},opacity:e=>e?l(e).alpha():0,rgb:c,stroke:(e,t)=>{let r=l(t);e.style({stroke:c(t),"stroke-opacity":r.alpha()})}}}}),Be=m({"src/components/colorscale/scales.js"(e,t){var r=Fe(),n={Greys:[[0,"rgb(0,0,0)"],[1,"rgb(255,255,255)"]],YlGnBu:[[0,"rgb(8,29,88)"],[.125,"rgb(37,52,148)"],[.25,"rgb(34,94,168)"],[.375,"rgb(29,145,192)"],[.5,"rgb(65,182,196)"],[.625,"rgb(127,205,187)"],[.75,"rgb(199,233,180)"],[.875,"rgb(237,248,217)"],[1,"rgb(255,255,217)"]],Greens:[[0,"rgb(0,68,27)"],[.125,"rgb(0,109,44)"],[.25,"rgb(35,139,69)"],[.375,"rgb(65,171,93)"],[.5,"rgb(116,196,118)"],[.625,"rgb(161,217,155)"],[.75,"rgb(199,233,192)"],[.875,"rgb(229,245,224)"],[1,"rgb(247,252,245)"]],YlOrRd:[[0,"rgb(128,0,38)"],[.125,"rgb(189,0,38)"],[.25,"rgb(227,26,28)"],[.375,"rgb(252,78,42)"],[.5,"rgb(253,141,60)"],[.625,"rgb(254,178,76)"],[.75,"rgb(254,217,118)"],[.875,"rgb(255,237,160)"],[1,"rgb(255,255,204)"]],Bluered:[[0,"rgb(0,0,255)"],[1,"rgb(255,0,0)"]],RdBu:[[0,"rgb(5,10,172)"],[.35,"rgb(106,137,247)"],[.5,"rgb(190,190,190)"],[.6,"rgb(220,170,132)"],[.7,"rgb(230,145,90)"],[1,"rgb(178,10,28)"]],Reds:[[0,"rgb(220,220,220)"],[.2,"rgb(245,195,157)"],[.4,"rgb(245,160,105)"],[1,"rgb(178,10,28)"]],Blues:[[0,"rgb(5,10,172)"],[.35,"rgb(40,60,190)"],[.5,"rgb(70,100,245)"],[.6,"rgb(90,120,245)"],[.7,"rgb(106,137,247)"],[1,"rgb(220,220,220)"]],Picnic:[[0,"rgb(0,0,255)"],[.1,"rgb(51,153,255)"],[.2,"rgb(102,204,255)"],[.3,"rgb(153,204,255)"],[.4,"rgb(204,204,255)"],[.5,"rgb(255,255,255)"],[.6,"rgb(255,204,255)"],[.7,"rgb(255,153,255)"],[.8,"rgb(255,102,204)"],[.9,"rgb(255,102,102)"],[1,"rgb(255,0,0)"]],Rainbow:[[0,"rgb(150,0,90)"],[.125,"rgb(0,0,200)"],[.25,"rgb(0,25,255)"],[.375,"rgb(0,152,255)"],[.5,"rgb(44,255,150)"],[.625,"rgb(151,255,0)"],[.75,"rgb(255,234,0)"],[.875,"rgb(255,111,0)"],[1,"rgb(255,0,0)"]],Portland:[[0,"rgb(12,51,131)"],[.25,"rgb(10,136,186)"],[.5,"rgb(242,211,56)"],[.75,"rgb(242,143,56)"],[1,"rgb(217,30,30)"]],Jet:[[0,"rgb(0,0,131)"],[.125,"rgb(0,60,170)"],[.375,"rgb(5,255,255)"],[.625,"rgb(255,255,0)"],[.875,"rgb(250,0,0)"],[1,"rgb(128,0,0)"]],Hot:[[0,"rgb(0,0,0)"],[.3,"rgb(230,0,0)"],[.6,"rgb(255,210,0)"],[1,"rgb(255,255,255)"]],Blackbody:[[0,"rgb(0,0,0)"],[.2,"rgb(230,0,0)"],[.4,"rgb(230,210,0)"],[.7,"rgb(255,255,255)"],[1,"rgb(160,200,255)"]],Earth:[[0,"rgb(0,0,130)"],[.1,"rgb(0,180,180)"],[.2,"rgb(40,210,40)"],[.4,"rgb(230,230,50)"],[.6,"rgb(120,70,20)"],[1,"rgb(255,255,255)"]],Electric:[[0,"rgb(0,0,0)"],[.15,"rgb(30,0,100)"],[.4,"rgb(120,0,100)"],[.6,"rgb(160,90,0)"],[.8,"rgb(230,200,0)"],[1,"rgb(255,250,220)"]],Viridis:[[0,"#440154"],[.06274509803921569,"#48186a"],[.12549019607843137,"#472d7b"],[.18823529411764706,"#424086"],[.25098039215686274,"#3b528b"],[.3137254901960784,"#33638d"],[.3764705882352941,"#2c728e"],[.4392156862745098,"#26828e"],[.5019607843137255,"#21918c"],[.5647058823529412,"#1fa088"],[.6274509803921569,"#28ae80"],[.6901960784313725,"#3fbc73"],[.7529411764705882,"#5ec962"],[.8156862745098039,"#84d44b"],[.8784313725490196,"#addc30"],[.9411764705882353,"#d8e219"],[1,"#fde725"]],Cividis:[[0,"rgb(0,32,76)"],[.058824,"rgb(0,42,102)"],[.117647,"rgb(0,52,110)"],[.176471,"rgb(39,63,108)"],[.235294,"rgb(60,74,107)"],[.294118,"rgb(76,85,107)"],[.352941,"rgb(91,95,109)"],[.411765,"rgb(104,106,112)"],[.470588,"rgb(117,117,117)"],[.529412,"rgb(131,129,120)"],[.588235,"rgb(146,140,120)"],[.647059,"rgb(161,152,118)"],[.705882,"rgb(176,165,114)"],[.764706,"rgb(192,177,109)"],[.823529,"rgb(209,191,102)"],[.882353,"rgb(225,204,92)"],[.941176,"rgb(243,219,79)"],[1,"rgb(255,233,69)"]]},i=n.RdBu;function a(e){var t=0;if(!Array.isArray(e)||e.length<2||!e[0]||!e[e.length-1]||0!=+e[0][0]||1!=+e[e.length-1][0])return!1;for(var n=0;nVe});var qe,He=p({"src/lib/regex.ts"(){qe="([2-9]|[1-9][0-9]+)?"}}),Ge=m({"src/lib/coerce.js"(e){var t=S(),r=V().extendFlat,n=Y(),i=Be(),a=Fe(),o=Ne().DESELECTDIM,s=P(),l=(He(),x(Ue)).counter,c=(U(),x(j)).modHalf,u=I().isArrayOrTypedArray,h=I().isTypedArraySpec,d=I().decodeTypedArraySpec;function f(t,r){var n=e.valObjectMeta[r.valType];if(r.arrayOk&&u(t))return!0;if(n.validateFunction)return n.validateFunction(t,r);var i={},a=i,o={set:function(e){a=e}};return n.coerceFunction(t,o,i,r),a!==i}e.valObjectMeta={data_array:{coerceFunction:function(e,t,r){t.set(u(e)?e:h(e)?d(e):r)}},enumerated:{coerceFunction:function(e,t,r,n){n.coerceNumber&&(e=+e),-1===n.values.indexOf(e)?t.set(r):t.set(e)},validateFunction:function(e,t){t.coerceNumber&&(e=+e);for(var r=t.values,n=0;n!0===e||!1===e;i(e)||n.arrayOk&&Array.isArray(e)&&e.length>0&&e.every(i)?t.set(e):t.set(r)}},number:{coerceFunction:function(e,r,n,i){h(e)&&(e=d(e)),!t(e)||void 0!==i.min&&ei.max?r.set(n):r.set(+e)}},integer:{coerceFunction:function(e,r,n,i){-1===(i.extras||[]).indexOf(e)?(h(e)&&(e=d(e)),e%1||!t(e)||void 0!==i.min&&ei.max?r.set(n):r.set(+e)):r.set(e)}},string:{coerceFunction:function(e,t,r,n){if("string"!=typeof e){var i="number"==typeof e;!0!==n.strict&&i?t.set(String(e)):t.set(r)}else n.noBlank&&!e?t.set(r):t.set(e)}},color:{coerceFunction:function(e,t,r){h(e)&&(e=d(e)),a.isValid(e)?t.set(e):t.set(r)}},colorlist:{coerceFunction:function(e,t,r){Array.isArray(e)&&e.length&&e.every((e=>a.isValid(e)))?t.set(e):t.set(r)}},colorscale:{coerceFunction:function(e,t,r){t.set(i.get(e,r))}},angle:{coerceFunction:function(e,r,n){h(e)&&(e=d(e)),"auto"===e?r.set("auto"):t(e)?r.set(c(+e,360)):r.set(n)}},subplotid:{coerceFunction:function(e,t,r,n){var i=n.regex||l(r);let a=e=>"string"==typeof e&&i.test(e);a(e)||n.arrayOk&&u(e)&&e.length>0&&e.every(a)?t.set(e):t.set(r)},validateFunction:function(e,t){var r=t.dflt;return e===r||"string"==typeof e&&!!l(r).test(e)}},flaglist:{coerceFunction:function(e,t,r,n){if(-1===(n.extras||[]).indexOf(e))if("string"==typeof e){for(var i=e.split("+"),a=0;ad({valType:"string",dflt:"",editType:e},!1!==t?{arrayOk:!0}:{}),e.texttemplateAttrs=({editType:e="calc",arrayOk:t}={},r={})=>d({valType:"string",dflt:"",editType:e},!1!==t?{arrayOk:!0}:{}),e.shapeTexttemplateAttrs=({editType:e="arraydraw",newshape:t}={},r={})=>({valType:"string",dflt:"",editType:e}),e.templatefallbackAttrs=({editType:e="none"}={})=>({valType:"any",dflt:"-",editType:e})}}),It=m({"src/components/shapes/label_texttemplate.js"(e,t){function r(e,t){return t?t.d2l(e):e}function n(e,t){return t?t.l2d(e):e}function i(e){return e.x0shift||0}function a(e){return e.x1shift||0}function o(e){return e.y0shift||0}function s(e){return e.y1shift||0}function l(e,t){return r(e.x1,t)+a(e)-r(e.x0,t)-i(e)}function c(e,t,n){return r(e.y1,n)+s(e)-r(e.y0,n)-o(e)}t.exports={x0:function(e){return e.x0},x1:function(e){return e.x1},y0:function(e){return e.y0},y1:function(e){return e.y1},slope:function(e,t,r){return"line"!==e.type?void 0:c(e,0,r)/l(e,t)},dx:l,dy:c,width:function(e,t){return Math.abs(l(e,t))},height:function(e,t,r){return Math.abs(c(e,0,r))},length:function(e,t,r){return"line"!==e.type?void 0:Math.sqrt(Math.pow(l(e,t),2)+Math.pow(c(e,0,r),2))},xcenter:function(e,t){return n((r(e.x1,t)+a(e)+r(e.x0,t)+i(e))/2,t)},ycenter:function(e,t,i){return n((r(e.y1,i)+s(e)+r(e.y0,i)+o(e))/2,i)},simpleXVariables:["x0","x1","y0","y1","dy","height","ycenter"],simpleYVariables:["x0","x1","y0","y1","dx","width","xcenter"]}}}),Pt=m({"src/components/shapes/draw_newshape/attributes.js"(e,t){var r=St().overrideAll,n=Y(),i=q(),a=Et().dash,o=V().extendFlat,{shapeTexttemplateAttrs:s,templatefallbackAttrs:l}=Lt(),c=It();t.exports=r({newshape:{visible:o({},n.visible,{}),showlegend:{valType:"boolean",dflt:!1},legend:o({},n.legend,{}),legendgroup:o({},n.legendgroup,{}),legendgrouptitle:{text:o({},n.legendgrouptitle.text,{}),font:i({})},legendrank:o({},n.legendrank,{}),legendwidth:o({},n.legendwidth,{}),line:{color:{valType:"color"},width:{valType:"number",min:0,dflt:4},dash:o({},a,{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:o({},n.name,{}),label:{text:{valType:"string",dflt:""},texttemplate:s({newshape:!0},{keys:Object.keys(c)}),texttemplatefallback:l({editType:"arraydraw"}),font:i({}),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")}}),zt=m({"src/components/selections/draw_newselection/attributes.js"(e,t){var r=Et().dash,n=V().extendFlat;t.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:n({},r,{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"}}}}),Ot=m({"src/plots/pad_attributes.js"(e,t){t.exports=function(e){var t=e.editType;return{t:{valType:"number",dflt:0,editType:t},r:{valType:"number",dflt:0,editType:t},b:{valType:"number",dflt:0,editType:t},l:{valType:"number",dflt:0,editType:t},editType:t}}}}),Dt=m({"src/plots/layout_attributes.js"(e,t){var r=q(),n=Mt(),i=je(),a=Pt(),o=zt(),s=Ot(),l=V().extendFlat,c=r({editType:"calc"});c.family.dflt='"Open Sans", verdana, arial, sans-serif',c.size.dflt=12,c.color.dflt=i.defaultLine,t.exports={font:c,title:{text:{valType:"string",editType:"layoutstyle"},font:r({editType:"layoutstyle"}),subtitle:{text:{valType:"string",editType:"layoutstyle"},font:r({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:l(s({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:i.background,editType:"plot"},plot_bgcolor:{valType:"color",dflt:i.background,editType:"layoutstyle"},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc"},separators:{valType:"string",editType:"plot"},showlegend:{valType:"boolean",editType:"legend"},colorway:{valType:"colorlist",dflt:i.defaults,editType:"calc"},datarevision:{valType:"any",editType:"calc"},uirevision:{valType:"any",editType:"none"},editrevision:{valType:"any",editType:"none"},selectionrevision:{valType:"any",editType:"none"},template:{valType:"any",editType:"calc"},newshape:a.newshape,activeshape:a.activeshape,newselection:o.newselection,activeselection:o.activeselection,meta:{valType:"any",arrayOk:!0,editType:"plot"},transition:l({},n.transition,{editType:"none"})}}}),Rt=m({"node_modules/maplibre-gl/dist/maplibre-gl.css"(){!function(){if(!document.getElementById("ce8d464691048653ffe3a57c6c18ab566e8366f186677868cf724621a857b4fe")){var e=document.createElement("style");e.id="ce8d464691048653ffe3a57c6c18ab566e8366f186677868cf724621a857b4fe",e.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(e)}}()}}),jt=m({"src/registry.js"(e){var t=Re(),r=We(),n=Ye(),i=(At().addStyleRule,V()),a=Y(),o=Dt(),s=i.extendFlat,l=i.extendDeepAll;function c(r){var n=r.name,i=r.categories,a=r.meta;if(e.modules[n])t.log("Type "+n+" already registered");else{e.subplotsRegistry[r.basePlotModule.name]||function(r){var n=r.name;if(e.subplotsRegistry[n])t.log("Plot type "+n+" already registered.");else for(var i in d(r),e.subplotsRegistry[n]=r,e.componentsRegistry)p(i,r.name)}(r.basePlotModule);for(var o={},l=0;l=t&&n<=r?n:l}if("string"!=typeof n&&"number"!=typeof n)return l;n=String(n);var x=b(i),_=n.charAt(0);x&&("G"===_||"g"===_)&&(n=n.slice(1),i="");var w=x&&"chinese"===i.slice(0,7),k=n.match(w?y:g);if(!k)return l;var T=k[1],A=k[3]||"1",M=Number(k[5]||1),S=Number(k[7]||0),E=Number(k[9]||0),C=Number(k[11]||0);if(x){if(2===T.length)return l;var L;T=Number(T);try{var I=p.getComponentMethod("calendars","getCal")(i);if(w){var P="i"===A.charAt(A.length-1);A=parseInt(A,10),L=I.newDate(T,I.toMonthIndex(T,A,P),M)}else L=I.newDate(T,Number(A),M)}catch{return l}return L?(L.toJD()-f)*c+S*u+E*h+C*d:l}T=2===T.length?(Number(T)+2e3-v)%100+v:Number(T),A-=1;var z=new Date(Date.UTC(2e3,A,M,S,E));return z.setUTCFullYear(T),z.getUTCMonth()!==A||z.getUTCDate()!==M?l:z.getTime()+C*d},t=e.MIN_MS=e.dateTime2ms("-9999"),r=e.MAX_MS=e.dateTime2ms("9999-12-31 23:59:59.9999"),e.isDateTime=function(t,r){return e.dateTime2ms(t,r)!==l};var w=90*c,k=3*u,A=5*h;function M(e,t,r,n,i){if((t||r||n||i)&&(e+=" "+_(t,2)+":"+_(r,2),(n||i)&&(e+=":"+_(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;e+="."+_(i,a)}return e}e.ms2DateTime=function(e,n,i){if("number"!=typeof e||!(e>=t&&e<=r))return l;n||(n=0);var a,s,g,y,v,x,_=Math.floor(10*o(e+.05,1)),T=Math.round(e-_/10);if(b(i)){var S=Math.floor(T/c)+f,E=Math.floor(o(e,c));try{a=p.getComponentMethod("calendars","getCal")(i).fromJD(S).formatDate("yyyy-mm-dd")}catch{a=m("G%Y-%m-%d")(new Date(T))}if("-"===a.charAt(0))for(;a.length<11;)a="-0"+a.slice(1);else for(;a.length<10;)a="0"+a;s=n=t+c&&e<=r-c))return l;var i=Math.floor(10*o(e+.05,1)),a=new Date(Math.round(e-i/10));return M(n("%Y-%m-%d")(a),a.getHours(),a.getMinutes(),a.getSeconds(),10*a.getUTCMilliseconds()+i)},e.cleanDate=function(t,r,n){if(t===l)return r;if(e.isJSDate(t)||"number"==typeof t&&isFinite(t)){if(b(n))return a.error("JS Dates and milliseconds are incompatible with world calendars",t),r;if(!(t=e.ms2DateTimeLocal(+t))&&void 0!==r)return r}else if(!e.isDateTime(t,n))return a.error("unrecognized date",t),r;return t};var C=/%\d?f/g,L=/%h/g,I={1:"1",2:"1",3:"2",4:"2"};function P(e,t,r,n){e=e.replace(C,(function(e){var r=Math.min(+e.charAt(1)||6,6);return(t/1e3%1+2).toFixed(r).slice(2).replace(/0+$/,"")||"0"}));var i=new Date(Math.floor(t+.05));if(e=e.replace(L,(function(){return I[r("%q")(i)]})),b(n))try{e=p.getComponentMethod("calendars","worldCalFmt")(e,t,n)}catch{return"Invalid"}return r(e)(i)}var z=[59,59.9,59.99,59.999,59.9999];e.formatDate=function(e,t,r,n,a,s){if(a=b(a)&&a,!t)if("y"===r)t=s.year;else if("m"===r)t=s.month;else{if("d"!==r)return function(e,t){var r=o(e+.05,c),n=_(Math.floor(r/u),2)+":"+_(o(Math.floor(r/h),60),2);if("M"!==t){i(t)||(t=0);var a=(100+Math.min(o(e/d,60),z[t])).toFixed(t).slice(1);t>0&&(a=a.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+a}return n}(e,r)+"\n"+P(s.dayMonthYear,e,n,a);t=s.dayMonth+"\n"+s.year}return P(t,e,n,a)};var O=3*c;e.incrementMonth=function(e,t,r){r=b(r)&&r;var n=o(e,c);if(e=Math.round(e-n),r)try{var i=Math.round(e/c)+f,s=p.getComponentMethod("calendars","getCal")(r),l=s.fromJD(i);return t%12?s.add(l,t,"m"):s.add(l,t/12,"y"),(l.toJD()-f)*c+n}catch{a.error("invalid ms "+e+" in calendar "+r)}var u=new Date(e+O);return u.setUTCMonth(u.getUTCMonth()+t)+n-O},e.findExactDates=function(e,t){for(var r,n,a=0,o=0,s=0,l=0,u=b(t)&&p.getComponentMethod("calendars","getCal")(t),h=0;ht}function c(e,t){return e>=t}e.findBin=function(e,n,i){if(t(n.start))return i?Math.ceil((e-n.start)/n.size-a)-1:Math.floor((e-n.start)/n.size+a);var u,h,d=0,f=n.length,p=0,m=f>1?(n[f-1]-n[0])/(f-1):1;for(h=m>=0?i?o:s:i?c:l,e+=m*a*(i?-1:1)*(m>=0?1:-1);d90&&r.log("Long binary search..."),d-1},e.sorterAsc=function(e,t){return e-t},e.sorterDes=function(e,t){return t-e},e.distinctVals=function(t){var r,n=t.slice();for(n.sort(e.sorterAsc),r=n.length-1;r>-1&&n[r]===i;r--);for(var a,o=n[r]-n[0]||1,s=o/(r||1)/1e4,l=[],c=0;c<=r;c++){var u=n[c],h=u-a;void 0===a?(l.push(u),a=u):h>s&&(o=Math.min(o,h),l.push(u),a=u)}return{vals:l,minDiff:o}},e.roundUp=function(e,t,r){for(var n,i=0,a=t.length-1,o=0,s=r?0:1,l=r?1:0,c=r?Math.ceil:Math.floor;i0&&(n=1),r&&n)return e.sort(t)}return n?e:e.reverse()},e.findIndexOfMin=function(e,t){t=t||n;for(var r,i=1/0,a=0;aqt});var qt,Ht=p({"src/lib/sort_object_keys.ts"(){qt=Vt}}),Gt=m({"src/lib/stats.js"(e){var t=S(),r=I().isArrayOrTypedArray;e.aggNums=function(n,i,a,o){var s,l;if((!o||o>a.length)&&(o=a.length),t(i)||(i=!1),r(a[0])){for(l=new Array(o),s=0;se.length-1)return e[e.length-1];var n=r%1;return n*e[Math.ceil(r)]+(1-n)*e[Math.floor(r)]}}}),Wt=m({"src/lib/angles.js"(e,t){var r=(U(),x(j)),n=r.mod,i=r.modHalf,a=Math.PI,o=2*a;function s(e){return Math.abs(e[1]-e[0])>o-1e-14}function l(e,t){return i(t-e,o)}function c(e,t){if(s(t))return!0;var r,i;t[0](i=n(i,o))&&(i+=o);var a=n(e,o),l=a+o;return a>=r&&a<=i||l>=r&&l<=i}function u(e,t,r,n,i,l,c){i=i||0,l=l||0;var u,h,d,f,p,m=s([r,n]);function g(e,t){return[e*Math.cos(t)+i,l-e*Math.sin(t)]}m?(u=0,h=a,d=o):r=i&&e<=a);var i,a},pathArc:function(e,t,r,n,i){return u(null,e,t,r,n,i,0)},pathSector:function(e,t,r,n,i){return u(null,e,t,r,n,i,1)},pathAnnulus:function(e,t,r,n,i,a){return u(e,t,r,n,i,a,1)}}}}),Yt=m({"src/lib/anchor_utils.js"(e){e.isLeftAnchor=function(e){return"left"===e.xanchor||"auto"===e.xanchor&&e.x<=1/3},e.isCenterAnchor=function(e){return"center"===e.xanchor||"auto"===e.xanchor&&e.x>1/3&&e.x<2/3},e.isRightAnchor=function(e){return"right"===e.xanchor||"auto"===e.xanchor&&e.x>=2/3},e.isTopAnchor=function(e){return"top"===e.yanchor||"auto"===e.yanchor&&e.y>=2/3},e.isMiddleAnchor=function(e){return"middle"===e.yanchor||"auto"===e.yanchor&&e.y>1/3&&e.y<2/3},e.isBottomAnchor=function(e){return"bottom"===e.yanchor||"auto"===e.yanchor&&e.y<=1/3}}}),Xt=m({"src/lib/geometry2d.js"(e){var t,r,n,i=(U(),x(j)).mod;function a(e,t,r,n,i,a,o,s){var l=r-e,c=i-e,u=o-i,h=n-t,d=a-t,f=s-a,p=l*f-u*h;if(0===p)return null;var m=(c*f-u*d)/p,g=(c*h-l*d)/p;return g<0||g>1||m<0||m>1?null:{x:e+l*m,y:t+h*m}}function o(e,t,r,n,i){var a=n*e+i*t;if(a<0)return n*n+i*i;if(a>r){var o=n-e,s=i-t;return o*o+s*s}var l=n*t-i*e;return l*l/r}e.segmentsIntersect=a,e.segmentDistance=function(e,t,r,n,i,s,l,c){if(a(e,t,r,n,i,s,l,c))return 0;var u=r-e,h=n-t,d=l-i,f=c-s,p=u*u+h*h,m=d*d+f*f,g=Math.min(o(u,h,p,i-e,s-t),o(u,h,p,l-e,c-t),o(d,f,m,e-i,t-s),o(d,f,m,r-i,n-s));return Math.sqrt(g)},e.getTextLocation=function(e,a,o,s){if((e!==r||s!==n)&&(t={},r=e,n=s),t[o])return t[o];var l=e.getPointAtLength(i(o-s/2,a)),c=e.getPointAtLength(i(o+s/2,a)),u=Math.atan((c.y-l.y)/(c.x-l.x)),h=e.getPointAtLength(i(o,a)),d={x:(4*h.x+l.x+c.x)/6,y:(4*h.y+l.y+c.y)/6,theta:u};return t[o]=d,d},e.clearLocationCache=function(){r=null},e.getVisibleSegment=function(e,t,r){var n,i,a=t.left,o=t.right,s=t.top,l=t.bottom,c=0,u=e.getTotalLength(),h=u;function d(t){var r=e.getPointAtLength(t);0===t?n=r:t===u&&(i=r);var c=r.xo?r.x-o:0,h=r.yl?r.y-l:0;return Math.sqrt(c*c+h*h)}for(var f=d(c);f;){if((c+=f+r)>h)return;f=d(c)}for(f=d(h);f;){if(c>(h-=f+r))return;f=d(h)}return{min:c,max:h,len:h-c,total:u,isClosed:0===c&&h===u&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},e.findPointOnPath=function(e,t,r,n){for(var i,a,o,s=(n=n||{}).pathLength||e.getTotalLength(),l=n.tolerance||.001,c=n.iterationLimit||30,u=e.getPointAtLength(0)[r]>e.getPointAtLength(s)[r]?-1:1,h=0,d=0,f=s;h0?f=i:d=i,h++}return a}}}),Zt=m({"src/lib/throttle.js"(e){var t={};function r(e){e&&null!==e.timer&&(clearTimeout(e.timer),e.timer=null)}e.throttle=function(e,n,i){var a=t[e],o=Date.now();if(!a){for(var s in t)t[s].tsa.ts+n?l():a.timer=setTimeout((function(){l(),a.timer=null}),n)},e.done=function(e){var r=t[e];return r&&r.timer?new Promise((function(e){var t=r.onDone;r.onDone=function(){t&&t(),e(),r.onDone=null}})):Promise.resolve()},e.clear=function(n){if(n)r(t[n]),delete t[n];else for(var i in t)e.clear(i)}}}),$t=m({"src/lib/clear_responsive.js"(e,t){t.exports=function(e){e._responsiveChartHandler&&(window.removeEventListener("resize",e._responsiveChartHandler),delete e._responsiveChartHandler)}}}),Kt=m({"node_modules/is-mobile/index.js"(e,t){t.exports=a,t.exports.isMobile=a,t.exports.default=a;var r=/(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,n=/CrOS/,i=/android|ipad|playbook|silk/i;function a(e){e||(e={});let t=e.ua;if(!t&&typeof navigator<"u"&&(t=navigator.userAgent),t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]),"string"!=typeof t)return!1;let a=r.test(t)&&!n.test(t)||!!e.tablet&&i.test(t);return!a&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==t.indexOf("Macintosh")&&-1!==t.indexOf("Safari")&&(a=!0),a}}}),Jt=m({"src/lib/preserve_drawing_buffer.js"(e,t){var r=S(),n=Kt();t.exports=function(e){var t,i;if(e&&e.hasOwnProperty("userAgent")?t=e.userAgent:(typeof navigator<"u"&&(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),t=i),"string"!=typeof t)return!0;var a=n({ua:{headers:{"user-agent":t}},tablet:!0,featureDetect:!1});if(!a)for(var o=t.split(" "),s=1;s-1;l--){var c=o[l];if("Version/"===c.slice(0,8)){var u=c.slice(8).split(".")[0];if(r(u)&&(u=+u),u>=13)return!0}}return a}}}),Qt=m({"src/lib/make_trace_groups.js"(e,t){var r=w();t.exports=function(e,t,n){var i=e.selectAll("g."+n.replace(/\s/g,".")).data(t,(function(e){return e[0].trace.uid}));i.exit().remove(),i.enter().append("g").attr("class",n),i.order();var a=e.classed("rangeplot")?"nodeRangePlot3":"node3";return i.each((function(e){e[0][a]=r.select(this)})),i}}}),er=m({"src/lib/localize.js"(e,t){var r=jt();t.exports=function(e,t){for(var n=e._context.locale,i=0;i<2;i++){for(var a=e._context.locales,o=0;o<2;o++){var s=(a[n]||{}).dictionary;if(s){var l=s[t];if(l)return l}a=r.localeRegistry}var c=n.split("-")[0];if(c===n)break;n=c}return t}}}),tr=m({"src/lib/filter_unique.js"(e,t){t.exports=function(e){for(var t={},r=[],n=0,i=0;i1?(r*e+r*t)/r:e+t,i=String(n).length;if(i>16){var a=String(t).length;if(i>=String(e).length+a){var o=parseFloat(n).toPrecision(12);-1===o.indexOf("e+")&&(n=+o)}}return n}}}),ir={};function ar(e){return"string"==typeof e&&(e=e.replace(lr,"")),(0,or.default)(e)?Number(e):sr.BADNUM}g(ir,{default:()=>cr});var or,sr,lr,cr,ur=p({"src/lib/clean_number.ts"(){or=v(S()),sr=v(E()),lr=/^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g,cr=ar}}),hr=m({"src/lib/slugify.js"(e,t){var r=/<[^>]*>/g,n=/[\p{S}\p{P}]/gu,i=/[\p{Cc}\p{Cf}\uFE00-\uFE0F\u20E3]/gu,a=/�/g,o=/\s+/g,s="-",l=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),c=new RegExp(l+"{3,}","g"),u=new RegExp(l+"$","g");t.exports=function(e,t=60){var l,h=(l=e??"","function"==typeof l.toWellFormed?l.toWellFormed():(new TextDecoder).decode((new TextEncoder).encode(l))).replace(a,"").replace(r," ").replace(n,(e=>e===s?e:"")).toLowerCase().trim().replace(o,s).replace(i,"").replace(c,s);return h.length<=t?h:Array.from(h).slice(0,t).join("").replace(u,"")}}}),dr=m({"src/lib/index.js"(e,t){var r=w(),n=T().utcFormat,i=A().format,a=S(),o=E(),s=o.FP_SAFE,l=-s,c=o.BADNUM,u=t.exports={};u.adjustFormat=function(e){return!e||/^\d[.]\df/.test(e)||/[.]\d%/.test(e)?e:"0.f"===e?"~f":/^\d%/.test(e)?"~%":/^\ds/.test(e)?"~s":!/^[~,.0$]/.test(e)&&/[&fps]/.test(e)?"~"+e:e};var h={};u.warnBadFormat=function(e){var t=String(e);h[t]||(h[t]=1,u.warn('encountered bad format: "'+t+'"'))},u.noFormat=function(e){return String(e)},u.numberFormat=function(e){var t;try{t=i(u.adjustFormat(e))}catch{return u.warnBadFormat(e),u.noFormat}return t},u.nestedProperty=P(),u.keyedContainer=z(),u.relativeAttr=O(),u.isPlainObject=L(),u.toLogRange=D(),u.relinkPrivateKeys=R();var p=I();u.isArrayBuffer=p.isArrayBuffer,u.isTypedArray=p.isTypedArray,u.isArrayOrTypedArray=p.isArrayOrTypedArray,u.isArray1D=p.isArray1D,u.ensureArray=p.ensureArray,u.concat=p.concat,u.maxRowLength=p.maxRowLength,u.minRowLength=p.minRowLength;var m=(U(),x(j));u.mod=m.mod,u.modHalf=m.modHalf;var g=Ge();u.valObjectMeta=g.valObjectMeta,u.coerce=g.coerce,u.coerce2=g.coerce2,u.coerceFont=g.coerceFont,u.coercePattern=g.coercePattern,u.coerceHoverinfo=g.coerceHoverinfo,u.coerceSelectionMarkerOpacity=g.coerceSelectionMarkerOpacity,u.validate=g.validate;var y=Ft();u.dateTime2ms=y.dateTime2ms,u.isDateTime=y.isDateTime,u.ms2DateTime=y.ms2DateTime,u.ms2DateTimeLocal=y.ms2DateTimeLocal,u.cleanDate=y.cleanDate,u.isJSDate=y.isJSDate,u.formatDate=y.formatDate,u.incrementMonth=y.incrementMonth,u.dateTick0=y.dateTick0,u.dfltRange=y.dfltRange,u.findExactDates=y.findExactDates,u.MIN_MS=y.MIN_MS,u.MAX_MS=y.MAX_MS;var v=Nt();u.findBin=v.findBin,u.sorterAsc=v.sorterAsc,u.sorterDes=v.sorterDes,u.distinctVals=v.distinctVals,u.roundUp=v.roundUp,u.sort=v.sort,u.findIndexOfMin=v.findIndexOfMin,u.sortObjectKeys=(Ht(),x(Ut)).default;var b=Gt();u.aggNums=b.aggNums,u.len=b.len,u.mean=b.mean,u.geometricMean=b.geometricMean,u.median=b.median,u.midRange=b.midRange,u.variance=b.variance,u.stdev=b.stdev,u.interp=b.interp;var _=Tt();u.init2dArray=_.init2dArray,u.transposeRagged=_.transposeRagged,u.dot=_.dot,u.translationMatrix=_.translationMatrix,u.rotationMatrix=_.rotationMatrix,u.rotationXYMatrix=_.rotationXYMatrix,u.apply3DTransform=_.apply3DTransform,u.apply2DTransform=_.apply2DTransform,u.apply2DTransform2=_.apply2DTransform2,u.convertCssMatrix=_.convertCssMatrix,u.inverseTransformMatrix=_.inverseTransformMatrix;var k=Wt();u.deg2rad=k.deg2rad,u.rad2deg=k.rad2deg,u.angleDelta=k.angleDelta,u.angleDist=k.angleDist,u.isFullCircle=k.isFullCircle,u.isAngleInsideSector=k.isAngleInsideSector,u.isPtInsideSector=k.isPtInsideSector,u.pathArc=k.pathArc,u.pathSector=k.pathSector,u.pathAnnulus=k.pathAnnulus;var M=Yt();u.isLeftAnchor=M.isLeftAnchor,u.isCenterAnchor=M.isCenterAnchor,u.isRightAnchor=M.isRightAnchor,u.isTopAnchor=M.isTopAnchor,u.isMiddleAnchor=M.isMiddleAnchor,u.isBottomAnchor=M.isBottomAnchor;var C=Xt();u.segmentsIntersect=C.segmentsIntersect,u.segmentDistance=C.segmentDistance,u.getTextLocation=C.getTextLocation,u.clearLocationCache=C.clearLocationCache,u.getVisibleSegment=C.getVisibleSegment,u.findPointOnPath=C.findPointOnPath;var F=V();u.extendFlat=F.extendFlat,u.extendDeep=F.extendDeep,u.extendDeepAll=F.extendDeepAll,u.extendDeepNoArrays=F.extendDeepNoArrays;var B=Re();u.log=B.log,u.warn=B.warn,u.error=B.error;var N=(He(),x(Ue));u.counterRegex=N.counter;var q=Zt();u.throttle=q.throttle,u.throttleDone=q.done,u.clearThrottle=q.clear;var H=At();u.getGraphDiv=H.getGraphDiv,u.isPlotDiv=H.isPlotDiv,u.removeElement=H.removeElement,u.addStyleRule=H.addStyleRule,u.addRelatedStyleRule=H.addRelatedStyleRule,u.deleteRelatedStyleRule=H.deleteRelatedStyleRule,u.setStyleOnHover=H.setStyleOnHover,u.getFullTransformMatrix=H.getFullTransformMatrix,u.getElementTransformMatrix=H.getElementTransformMatrix,u.getElementAndAncestors=H.getElementAndAncestors,u.equalDomRects=H.equalDomRects,u.clearResponsive=$t(),u.preserveDrawingBuffer=Jt(),u.makeTraceGroups=Qt(),u._=er(),u.notifier=De(),u.filterUnique=tr(),u.filterVisible=rr(),u.pushUnique=Ye(),u.increment=nr(),u.cleanNumber=(ur(),x(ir)).default,u.slugify=hr(),u.ensureNumber=function(e){return a(e)?(e=Number(e))>s||e=t)&&a(e)&&e>=0&&e%1==0},u.noop=We(),u.identity=Bt(),u.repeat=function(e,t){for(var r=new Array(t),n=0;nr?Math.max(r,Math.min(t,e)):Math.max(t,Math.min(r,e))},u.bBoxIntersect=function(e,t,r){return r=r||0,e.left<=t.right+r&&t.left<=e.right+r&&e.top<=t.bottom+r&&t.top<=e.bottom+r},u.simpleMap=function(e,t,r,n,i){for(var a=e.length,o=new Array(a),s=0;s=Math.pow(2,r)?i>10?(u.warn("randstr failed uniqueness"),l):e(t,r,n,(i||0)+1):l},u.OptionControl=function(e,t){e||(e={}),t||(t="opt");var r={optionList:[],_newoption:function(n){n[t]=e,r[n.name]=n,r.optionList.push(n)}};return r["_"+t]=e,r},u.smooth=function(e,t){if((t=Math.round(t)||0)<2)return e;var r,n,i,a,o=e.length,s=2*o,l=2*t-1,c=new Array(l),u=new Array(o);for(r=0;r=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=e[i]*c[n];u[r]=a}return u},u.syncOrAsync=function(e,t,r){var n;function i(){return u.syncOrAsync(e,t,r)}for(;e.length;)if((n=(0,e.splice(0,1)[0])(t))&&n.then)return n.then(i);return r&&r(t)},u.stripTrailingSlash=function(e){return"/"===e.slice(-1)?e.slice(0,-1):e},u.noneOrAll=function(e,t,r){if(e){var n,i=!1,a=!0;for(n=0;n0?t:0}))},u.fillArray=function(e,t,r,n){if(n=n||u.identity,u.isArrayOrTypedArray(e))for(var i=0;iY.test(window.navigator.userAgent);var X=/Firefox\/(\d+)\.\d+/;u.getFirefoxVersion=function(){var e=X.exec(window.navigator.userAgent);if(e&&2===e.length){var t=parseInt(e[1]);if(!isNaN(t))return t}return null},u.isD3Selection=function(e){return e instanceof r.selection},u.ensureSingle=function(e,t,r,n){var i=e.select(t+(r?"."+r:""));if(i.size())return i;var a=e.append(t);return r&&a.classed(r,!0),n&&a.call(n),a},u.ensureSingleById=function(e,t,r,n){var i=e.select(t+"#"+r);if(i.size())return i;var a=e.append(t).attr("id",r);return n&&a.call(n),a},u.objectFromPath=function(e,t){for(var r,n=e.split("."),i=r={},a=0;a1?i+o[1]:"";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+a+"$2");return s+l},u.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var J=/^\w*$/;u.templateString=function(e,t){var r={};return e.replace(u.TEMPLATE_STRING_REGEX,(function(e,n){var i;return J.test(n)?i=t[n]:(r[n]=r[n]||u.nestedProperty(t,n).get,i=r[n](!0)),void 0!==i?i:""}))};var Q={max:10,count:0,name:"hovertemplate"};u.hovertemplateString=e=>ie(f(d({},e),{opts:Q}));var ee={max:10,count:0,name:"texttemplate"};u.texttemplateString=e=>ie(f(d({},e),{opts:ee}));var te=/^(\S+)([\*\/])(-?\d+(\.\d+)?)$/,re={max:10,count:0,name:"texttemplate",parseMultDiv:!0};u.texttemplateStringForShapes=e=>ie(f(d({},e),{opts:re}));var ne=/^[:|\|]/;function ie({data:e=[],locale:t,fallback:r,labels:i={},opts:a,template:o}){return o.replace(u.TEMPLATE_STRING_REGEX,((o,s,l)=>{let c=["xother","yother"].includes(s),h=["_xother","_yother"].includes(s),d=["_xother_","_yother_"].includes(s),f=["xother_","yother_"].includes(s),p=c||h||f||d;(h||d)&&(s=s.substring(1)),(f||d)&&(s=s.substring(0,s.length-1));let m,g=null,y=null;if(a.parseMultDiv){var v=function(e){var t=e.match(te);return t?{key:t[1],op:t[2],number:Number(t[3])}:{key:e,op:null,number:null}}(s);s=v.key,g=v.op,y=v.number}if(p){if(void 0===i[s])return"";m=i[s]}else for(let t of e)if(t){if(t.hasOwnProperty(s)){m=t[s];break}if(J.test(s)||(m=u.nestedProperty(t,s).get(!0)),void 0!==m)break}if(void 0===m){let{count:e,max:t,name:n}=a,i=!1===r?o:r;return e=48&&o<=57,c=s>=48&&s<=57;if(l&&(n=10*n+o-48),c&&(i=10*i+s-48),!l||!c){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var ae=2e9;u.seedPseudoRandom=function(){ae=2e9},u.pseudoRandom=function(){var e=ae;return ae=(69069*ae+1)%4294967296,Math.abs(ae-e)<429496729?u.pseudoRandom():ae/4294967296},u.fillText=function(e,t,r){var n=Array.isArray(r)?function(e){r.push(e)}:function(e){r.text=e},i=u.extractOption(e,t,"htx","hovertext");if(u.isValidTextValue(i))return n(i);var a=u.extractOption(e,t,"tx","text");return u.isValidTextValue(a)?n(a):void 0},u.isValidTextValue=function(e){return e||0===e},u.formatPercent=function(e,t){t=t||0;for(var r=(Math.round(100*e*Math.pow(10,t))*Math.pow(.1,t)).toFixed(t)+"%",n=0;n1&&(c=1):c=0,u.strTranslate(i-c*(r+o),a-c*(n+s))+u.strScale(c)+(l?"rotate("+l+(t?"":" "+r+" "+n)+")":"")},u.setTransormAndDisplay=function(e,t){e.attr("transform",u.getTextTransform(t)),e.style("display",t.scale?null:"none")},u.ensureUniformFontSize=function(e,t){var r=u.extendFlat({},t);return r.size=Math.max(t.size,e._fullLayout.uniformtext.minsize||0),r},u.join2=function(e,t,r){var n=e.length;return n>1?e.slice(0,-1).join(t)+r+e[n-1]:e.join(t)},u.bigFont=function(e){return Math.round(1.2*e)};var oe=u.getFirefoxVersion(),se=null!==oe&&oe<86;u.getPositionFromD3Event=function(){return se?[r.event.layerX,r.event.layerY]:[r.event.offsetX,r.event.offsetY]}}}),fr=m({"build/plotcss.js"(){var e,t,r=dr(),n={"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;","X .plotly-cloud-dialog":'font-family:"Open Sans",verdana,arial,sans-serif;position:absolute;top:0;left:0;width:100%;height:100%;z-index:1001;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,.4);',"X .plotly-cloud-dialog .plotly-cloud-dialog-box":"box-sizing:border-box;min-width:300px;max-width:420px;padding:20px 24px;background-color:#fff;border:1px solid #e0e2e5;border-radius:4px;box-shadow:0 4px 16px rgba(0,0,0,.25);font-size:13px;color:#2a3f5f;","X .plotly-cloud-dialog .plotly-cloud-dialog-title":"font-size:16px;font-weight:bold;margin-bottom:12px;","X .plotly-cloud-dialog .plotly-cloud-dialog-message":"line-height:1.5;overflow-wrap:break-word;word-wrap:break-word;","X .plotly-cloud-dialog .plotly-cloud-dialog-message--hostname":"font-weight:bold;","X .plotly-cloud-dialog .plotly-cloud-dialog-buttons":"display:flex;justify-content:flex-end;margin-top:20px;","X .plotly-cloud-dialog .plotly-cloud-dialog-btn":"font-family:inherit;font-size:13px;padding:7px 16px;margin-left:8px;border-radius:3px;border:1px solid rgba(0,0,0,0);cursor:pointer;","X .plotly-cloud-dialog .plotly-cloud-dialog-btn:focus-visible":"outline:2px solid #447adb;outline-offset:1px;","X .plotly-cloud-dialog .plotly-cloud-dialog-btn--cancel":"background-color:#f3f3f3;margin-left:auto;color:#777;","X .plotly-cloud-dialog .plotly-cloud-dialog-btn--cancel:hover":"background-color:#e0e2e5;","X .plotly-cloud-dialog .plotly-cloud-dialog-btn--confirm":"background-color:#447adb;color:#fff;","X .plotly-cloud-dialog .plotly-cloud-dialog-btn--confirm:hover":"background-color:#1d3b84;",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(t in n)e=t.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier"),r.addStyleRule(e,n[t])}}),pr=m({"node_modules/is-browser/client.js"(e,t){t.exports=!0}}),mr=m({"node_modules/has-hover/index.js"(e,t){var r,n=pr();r="function"==typeof window.matchMedia?!window.matchMedia("(hover: none)").matches:n,t.exports=r}}),gr=m({"node_modules/events/events.js"(e,t){var r,n="object"==typeof Reflect?Reflect:null,i=n&&"function"==typeof n.apply?n.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};r=n&&"function"==typeof n.ownKeys?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var a=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}t.exports=o,t.exports.once=function(e,t){return new Promise((function(r,n){function i(r){e.removeListener(t,a),n(r)}function a(){"function"==typeof e.removeListener&&e.removeListener("error",i),r([].slice.call(arguments))}g(e,t,a,{once:!0}),"error"!==t&&function(e,t){"function"==typeof e.on&&g(e,"error",t,{once:!0})}(e,i)}))},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var s=10;function l(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function c(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function u(e,t,r,n){var i,a,o;if(l(r),void 0===(a=e._events)?(a=e._events=Object.create(null),e._eventsCount=0):(void 0!==a.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),a=e._events),o=a[t]),void 0===o)o=a[t]=r,++e._eventsCount;else if("function"==typeof o?o=a[t]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),(i=c(e))>0&&o.length>i&&!o.warned){o.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=o.length,function(e){console&&console.warn&&console.warn(e)}(s)}return e}function h(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=h.bind(n);return i.listener=r,n.wrapFn=i,i}function f(e,t,r){var n=e._events;if(void 0===n)return[];var i=n[t];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(e){for(var t=new Array(e.length),r=0;r0&&(o=t[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=a[e];if(void 0===l)return!1;if("function"==typeof l)i(l,this,t);else{var c=l.length,u=m(l,c);for(r=0;r=0;a--)if(r[a]===t||r[a].listener===t){o=r[a].listener,i=a;break}if(i<0)return this;0===i?r.shift():function(e,t){for(;t+1=0;n--)this.removeListener(e,t[n]);return this},o.prototype.listeners=function(e){return f(this,e,!0)},o.prototype.rawListeners=function(e){return f(this,e,!1)},o.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},o.prototype.listenerCount=p,o.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]}}}),yr=m({"src/lib/events.js"(e,t){var r=gr().EventEmitter,n={init:function(e){if(e._ev instanceof r)return e;var t=new r,n=new r;return e._ev=t,e._internalEv=n,e.on=t.on.bind(t),e.once=t.once.bind(t),e.removeListener=t.removeListener.bind(t),e.removeAllListeners=t.removeAllListeners.bind(t),e._internalOn=n.on.bind(n),e._internalOnce=n.once.bind(n),e._removeInternalListener=n.removeListener.bind(n),e._removeAllInternalListeners=n.removeAllListeners.bind(n),e.emit=function(e,r){t.emit(e,r),n.emit(e,r)},"function"==typeof e.addEventListener&&e.addEventListener("wheel",(()=>{}),{passive:!0}),e},triggerHandler:function(e,t,r){var n=e._ev;if(n){var i=n._events[t];if(i){var a;for(i=Array.isArray(i)?i:[i],a=0;an.queueLength&&(e.undoQueue.queue.shift(),e.undoQueue.index--))},startSequence:function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!0,e.undoQueue.beginSequence=!0},stopSequence:function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!1,e.undoQueue.beginSequence=!1},undo:function(e){var t,r;if(!(void 0===e.undoQueue||isNaN(e.undoQueue.index)||e.undoQueue.index<=0)){for(e.undoQueue.index--,t=e.undoQueue.queue[e.undoQueue.index],e.undoQueue.inSequence=!0,r=0;r=e.undoQueue.queue.length)){for(t=e.undoQueue.queue[e.undoQueue.index],e.undoQueue.inSequence=!0,r=0;r=a.length)return!1;if(2===e.dimensions){if(r++,t.length===r)return e;var o=t[r];if(!x(o))return!1;e=a[i][o]}else e=a[i]}else e=a}}return e}function x(e){return e===Math.round(e)&&e>=0}function b(){var e,r,n={};for(e in c(n,i),t.subplotsRegistry)if((r=t.subplotsRegistry[e]).layoutAttributes)if(Array.isArray(r.attr))for(var a=0;a=a&&(i._input||{})._templateitemname;s&&(o=a);var l,c=r+"["+o+"]";function u(){l={},s&&(l[c]={},l[c][n]=s)}function h(e,r){s?t.nestedProperty(l[c],e).set(r):l[c+"."+e]=r}function d(){var e=l;return u(),e}return u(),{modifyBase:function(e,t){l[e]=t},modifyItem:h,getUpdateObj:d,applyUpdate:function(r,n){r&&h(r,n);var i=d();for(var a in i)t.nestedProperty(e,a).set(i[a])}}}}}),wr=m({"src/plots/cartesian/constants.js"(e,t){var r=(He(),x(Ue)).counter;t.exports={idRegex:{x:r("x","( domain)?"),y:r("y","( domain)?")},attrRegex:r("[xy]axis"),xAxisMatch:r("xaxis"),yAxisMatch:r("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"}}}),kr=m({"src/plots/cartesian/axis_ids.js"(e){var t=jt(),r=wr();function n(e,t){if(t&&t.length)for(var r=0;rn?1:-1:+(e.slice(1)||1)-+(t.slice(1)||1)},e.ref2id=function(e){return!!/^[xyz]/.test(e)&&e.split(" ")[0]},e.isLinked=function(e,t){return n(t,e._axisMatchGroups)||n(t,e._axisConstraintGroups)}}}),Tr=m({"src/components/shapes/handle_outline.js"(e,t){t.exports={clearOutlineControllers:function(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(".outline-controllers").remove()},clearOutline:function(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(".select-outline").remove(),e._fullLayout._outlining=!1}}}}),Ar=m({"src/traces/scatter/layout_attributes.js"(e,t){t.exports={scattermode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},scattergap:{valType:"number",min:0,max:1,editType:"calc"}}}}),Mr=m({"src/plots/get_data.js"(e){var t=jt();wr().SUBPLOT_PATTERN,e.getSubplotCalcData=function(e,r,n){var i=t.subplotsRegistry[r];if(!i)return[];for(var a=i.attr,o=[],s=0;s0?".":"")+a;r.isPlainObject(s)?o(s,t,l,i+1):t(l,a,s)}}))}e.manageCommandObserver=function(t,i,a,o){var s={},l=!0;i&&i._commandObserver&&(s=i._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var c=e.hasSimpleAPICommandBindings(t,a,s.lookupTable);if(i&&i._commandObserver){if(c)return s;if(i._commandObserver.remove)return i._commandObserver.remove(),i._commandObserver=null,s}if(c){n(t,c,s.cache),s.check=function(){if(l){var e=n(t,c,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var u=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],h=0;h1&&z.length>1){for(s.getComponentMethod("grid","sizeDefaults")(c,l),o=0;o15&&z.length>15&&0===l.shapes.length&&0===l.images.length,k.linkSubplots(d,l,h,a),k.cleanPlot(d,l,h,a);var B=!(!a._has||!a._has("cartesian")),N=!(!l._has||!l._has("cartesian"));B&&!N?a._bgLayer.remove():N&&!B&&(l._shouldCreateBgLayer=!0),a._zoomlayer&&!e._dragging&&p({_fullLayout:a}),function(e,t){var r,n=[];t.meta&&(r=t._meta={meta:t.meta,layout:{meta:t.meta}});for(var i=0;i0){var h=1-2*s;n=Math.round(h*n),a=Math.round(h*a)}}var d=k.layoutAttributes.width.min,f=k.layoutAttributes.height.min;n1,m=!t.height&&Math.abs(r.height-a)>1;(m||p)&&(p&&(r.width=n),m&&(r.height=a)),e._initialAutoSize||(e._initialAutoSize={width:n,height:a}),k.sanitizeMargins(r)},k.supplyLayoutModuleDefaults=function(e,t,r,n){var i,a,o,l=s.componentsRegistry,c=t._basePlotModules,h=s.subplotsRegistry.cartesian;for(i in l)(o=l[i]).includeBasePlot&&o.includeBasePlot(e,t);for(var d in c.length||c.push(h),t._has("cartesian")&&(s.getComponentMethod("grid","contentDefaults")(e,t),h.finalizeSubplots(e,t)),t._subplots)t._subplots[d].sort(u.subplotSort);for(a=0;a1&&(r.l/=y,r.r/=y)}if(f){var v=(r.t+r.b)/f;v>1&&(r.t/=v,r.b/=v)}var x=void 0!==r.xl?r.xl:r.x,b=void 0!==r.xr?r.xr:r.x,_=void 0!==r.yt?r.yt:r.y,w=void 0!==r.yb?r.yb:r.y;p[t]={l:{val:x,size:r.l+g},r:{val:b,size:r.r+g},b:{val:w,size:r.b+g},t:{val:_,size:r.t+g}},m[t]=1}else delete p[t],delete m[t];if(!n._replotting)return k.doAutoMargin(e)}},k.doAutoMargin=function(e){var t=e._fullLayout,r=t.width,n=t.height;t._size||(t._size={}),D(t);var a=t._size,o=t.margin,l={t:0,b:0,l:0,r:0},c=u.extendFlat({},a),h=o.l,d=o.r,p=o.t,m=o.b,g=t._pushmargin,y=t._pushmarginIds,v=t.minreducedwidth,x=t.minreducedheight;if(!1!==o.autoexpand){for(var b in g)y[b]||delete g[b];var _=e._fullLayout._reservedMargin;for(var w in _)for(var T in _[w]){var A=_[w][T];l[T]=Math.max(l[T],A)}for(var M in g.base={l:{val:0,size:h},r:{val:1,size:d},t:{val:1,size:p},b:{val:0,size:m}},l){var S=0;for(var E in g)"base"!==E&&i(g[E][M].size)&&(S=g[E][M].size>S?g[E][M].size:S);var C=Math.max(0,o[M]-S);l[M]=Math.max(0,l[M]-C)}for(var L in g){var I=g[L].l||{},P=g[L].b||{},z=I.val,O=I.size,R=P.val,j=P.size,F=r-l.r-l.l,B=n-l.t-l.b;for(var N in g){if(i(O)&&g[N].r){var U=g[N].r.val,V=g[N].r.size;if(U>z){var q=(O*U+(V-F)*z)/(U-z),H=(V*(1-z)+(O-F)*(1-U))/(U-z);q+H>h+d&&(h=q,d=H)}}if(i(j)&&g[N].t){var G=g[N].t.val,W=g[N].t.size;if(G>R){var Y=(j*G+(W-B)*R)/(G-R),X=(W*(1-R)+(j-B)*(1-G))/(G-R);Y+X>m+p&&(m=Y,p=X)}}}}}var Z=u.constrain(r-o.l-o.r,2,v),$=u.constrain(n-o.t-o.b,2,x),K=Math.max(0,r-Z),J=Math.max(0,n-$);if(K){var Q=(h+d)/K;Q>1&&(h/=Q,d/=Q)}if(J){var ee=(m+p)/J;ee>1&&(m/=ee,p/=ee)}if(a.l=Math.round(h)+l.l,a.r=Math.round(d)+l.r,a.t=Math.round(p)+l.t,a.b=Math.round(m)+l.b,a.p=Math.round(o.pad),a.w=Math.round(r)-a.l-a.r,a.h=Math.round(n)-a.t-a.b,!t._replotting&&(k.didMarginChange(c,a)||function(e){if("_redrawFromAutoMarginCount"in e._fullLayout)return!1;var t=f.list(e,"",!0);for(var r in t)if(t[r].autoshift||t[r].shift)return!0;return!1}(e))){"_redrawFromAutoMarginCount"in t?t._redrawFromAutoMarginCount++:t._redrawFromAutoMarginCount=1;var te=3*(1+Object.keys(y).length);if(t._redrawFromAutoMarginCount0&&(e._transitioningWithDuration=!0),e._transitionData._interruptCallbacks.push((function(){n=!0})),r.redraw&&e._transitionData._interruptCallbacks.push((function(){return s.call("redraw",e)})),e._transitionData._interruptCallbacks.push((function(){e.emit("plotly_transitioninterrupted",[])}));var a=0,o=0;function l(){return a++,function(){o++,!n&&o===a&&function(t){e._transitionData&&(function(e){if(e)for(;e.length;)e.shift()}(e._transitionData._interruptCallbacks),Promise.resolve().then((function(){if(r.redraw)return s.call("redraw",e)})).then((function(){e._transitioning=!1,e._transitioningWithDuration=!1,e.emit("plotly_transitioned",[])})).then(t))}(i)}}r.runFn(l),setTimeout(l())}))}],a=u.syncOrAsync(i,e);return(!a||!a.then)&&(a=Promise.resolve()),a.then((function(){return e}))}k.didMarginChange=function(e,t){for(var r=0;r1)return!0}return!1},k.graphJson=function(e,t=!1,r="json",n=!1,i=!1){(n&&t&&!e._fullData||n&&!t&&!e._fullLayout)&&k.supplyDefaults(e);var o=n?e._fullData:e.data,s=n?e._fullLayout:e.layout,l=(e._transitionData||{})._frames;function c(e,t){if("function"==typeof e)return t?"_function_":null;if(u.isPlainObject(e)){var r={};return Object.keys(e).sort().forEach((function(n){if(-1===["_","["].indexOf(n.charAt(0))){if("function"==typeof e[n])return void(t&&(r[n]="_function"));r[n]=c(e[n],t)}})),r}var n=Array.isArray(e),i=u.isTypedArray(e);if((n||i)&&e.dtype&&e.shape){var o=e.bdata;return c({dtype:e.dtype,shape:e.shape,bdata:u.isArrayBuffer(o)?a.encode(o):o},t)}return n?e.map((function(e){return c(e,t)})):i?u.simpleMap(e,u.identity):u.isJSDate(e)?u.ms2DateTimeLocal(+e):e}var h={data:(o||[]).map((function(e){var r=c(e);return t&&delete r.fit,r}))};if(!t&&(h.layout=c(s),n)){var d=s._size;h.layout.computed={margin:{b:d.b,l:d.l,r:d.r,t:d.t}}}return l&&(h.frames=c(l)),i&&(h.config=c(e._context,!0)),"object"===r?h:JSON.stringify(h)},k.modifyFrames=function(e,t){var r,n,i,a=e._transitionData._frames,o=e._transitionData._frameHash;for(r=0;re?e.match(o):null;e.matchTex=s,e.convertToTspans=function(o,m,w){var S=o.text(),E=!o.attr("data-notex")&&m&&m._context.typesetMath&&typeof MathJax<"u"&&s(S),I=t.select(o.node().parentNode);if(!I.empty()){var P=o.attr("class")?o.attr("class").split(" ")[0]:"text";return P+="-math",I.selectAll("svg."+P).remove(),I.selectAll("g."+P+"-group").remove(),o.style("display",null).attr({"data-unformatted":S,"data-math":"N"}),E?(m&&m._promises||[]).push(new Promise((function(e){o.style("display","none");var i=parseInt(o.node().style.fontSize,10),a={fontSize:i},s=o.attr("text-anchor");!function(e,n,i){let a=parseInt((MathJax.version||"").split(".")[0]);if(3!==a&&4!==a)return void r.warn("Unsupported MathJax version:",MathJax.version);var o;Promise.resolve().then((function(){if(!u){let e=MathJax._.output.svg_ts.SVG,t=r.extendFlat({},MathJax.config.svg,{fontCache:"local"});4===a&&(t.linebreaks=r.extendFlat({},t.linebreaks,{inline:!1})),u=MathJax._.mathjax.mathjax.document(document,r.extendFlat({},MathJax.config.options,{InputJax:MathJax.startup.input,OutputJax:new e(t)}))}let i="math-output-"+r.randstr({},64);o=t.select("body").append("div").attr({id:i}).style({visibility:"hidden",position:"absolute","font-size":n.fontSize+"px"});let s=function(e){return e.replace(l,"\\lt ").replace(c,"\\gt ")}(e).replace(/^\$+|\$+$/g,"");return MathJax._.mathjax.mathjax.handleRetriesFor((function(){return u.convert(s,{display:!1})})).then((function(e){o.node().appendChild(e)}))})).then((function(){let t=o.select(".MathJax"),n=!t.empty()&&o.select("svg").node();if(n){let e=n.getBoundingClientRect(),r=t.select("defs");i(t,r,e)}else r.log("There was an error in the tex syntax.",e),i();o.remove()})).catch((t=>{r.log("MathJax typesetting failed.",e,t),o&&o.remove(),i()}))}(E[2],a,(function(t,r,l){I.selectAll("svg."+P).remove(),I.selectAll("g."+P+"-group").remove();var c=t&&t.select("svg");if(!c||!c.node())return z(),void e();o.style("display","none");var u=I.append("g").classed(P+"-group",!0).attr({"pointer-events":"none","data-unformatted":S,"data-math":"Y"});u.node().appendChild(c.node()),r&&r.node()&&c.node().insertBefore(r.node().cloneNode(!0),c.node().firstChild);var h=l.width,d=l.height;c.attr({class:P,height:d,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none","font-size":a.fontSize+"px"});var f=o.node().style.fill||"black",p=c.select("g");p.attr({fill:f,stroke:f});var m=p.node().getBoundingClientRect(),g=m.width,y=m.height;(g>h||y>d)&&(c.style("overflow","hidden"),g=(m=c.node().getBoundingClientRect()).width,y=m.height);var v=+o.attr("x"),x=+o.attr("y"),b=-(i||o.node().getBoundingClientRect().height)/4;"y"===P[0]?u.attr({transform:"rotate("+[-90,v,x]+")"+n(-g/2,b-y/2)}):"l"===P[0]?x=b-y/2:"a"===P[0]&&0!==P.indexOf("atitle")?(v=0,x=b):(v-=g*("middle"===s?.5:"end"===s?1:0),x=x+b-y/2),c.attr({x:v,y:x}),w&&w.call(o,u),e(u)}))}))):z(),o}function z(){I.empty()||(P=o.attr("class")+"-math",I.select("svg."+P).remove()),o.text("").style("white-space","pre");var n=function(e,n){n=n.replace(g," ");var o,s=!1,l=[],c=-1;function u(){c++;var r=document.createElementNS(i.svg,"tspan");t.select(r).attr({class:"line",dy:c*a+"em"}),e.appendChild(r),o=r;var n=l;if(l=[{node:r}],n.length>1)for(var s=1;s doesnt match end tag <"+e+">. Pretending it did match.",n),o=l[l.length-1].node}else r.log("Ignoring unexpected end tag .",n)}x.test(n)?u():(o=e,l=[{node:e}]);for(var E=n.split(y),I=0;I|>|>)/g,u=null,h={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"},d={sub:"0.3em",sup:"-0.6em"},f={sub:"-0.21em",sup:"0.42em"},p="​",m=["http:","https:","mailto:","",void 0,":"],g=e.NEWLINES=/(\r\n?|\n)/g,y=/(<[^<>]*>)/,v=/<(\/?)([^ >]*)(\s+(.*))?>/i,x=//i;e.BR_TAG_ALL=//gi;var b=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,_=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,k=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,T=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function A(e,t){if(!e)return null;var r=e.match(t),n=r&&(r[3]||r[4]);return n&&C(n)}var M=/(^|;)\s*color:/;e.plainText=function(e,t){for(var r=void 0!==(t=t||{}).len&&-1!==t.len?t.len:1/0,n=void 0!==t.allowedTags?t.allowedTags:["br"],i=e.split(y),a=[],o="",s=0,l=0;l3?a.push(c.slice(0,Math.max(0,f-3))+"..."):a.push(c.slice(0,f));break}o=""}}return a.join("")};var S={mu:"μ",amp:"&",lt:"<",gt:">",nbsp:" ",times:"×",plusmn:"±",deg:"°"},E=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function C(e){return e.replace(E,(function(e,t){var r;return r="#"===t.charAt(0)?function(e){if(!(e>1114111)){var t=String.fromCodePoint;if(t)return t(e);var r=String.fromCharCode;return e<=65535?r(e):r(55232+(e>>10),e%1024+56320)}}("x"===t.charAt(1)?parseInt(t.slice(2),16):parseInt(t.slice(1),10)):S[t],r||e}))}function L(e){var t=encodeURI(decodeURI(e)),r=document.createElement("a"),n=document.createElement("a");r.href=e,n.href=t;var i=r.protocol,a=n.protocol;return-1!==m.indexOf(i)&&-1!==m.indexOf(a)?t:""}function I(e,t,n){var i,a,o,s=n.horizontalAlign,l=n.verticalAlign||"top",c=e.node().getBoundingClientRect(),u=t.node().getBoundingClientRect();return a="bottom"===l?function(){return c.bottom-i.height}:"middle"===l?function(){return c.top+(c.height-i.height)/2}:function(){return c.top},o="right"===s?function(){return c.right-i.width}:"center"===s?function(){return c.left+(c.width-i.width)/2}:function(){return c.left},function(){i=this.node().getBoundingClientRect();var e=o()-u.left,t=a()-u.top,s=n.gd||{};if(n.gd){s._fullLayout._calcInverseTransform(s);var l=r.apply3DTransform(s._fullLayout._invTransform)(e,t);e=l[0],t=l[1]}return this.style({top:t+"px",left:e+"px","z-index":1e3}),this}}e.convertEntities=C,e.sanitizeHTML=function(e){e=e.replace(g," ");for(var r=document.createElement("p"),n=r,i=[],a=e.split(y),o=0;o=0;n--,i++){var a=e[n];r[i]=[1-a[0],a[1]]}return r}function d(e,t){t=t||{};for(var i=e.domain,o=e.range,s=o.length,l=new Array(s),c=0;cm-f?f=m-(p-m):p-m=0?s.colorscale.sequential:s.colorscale.sequentialminus,h._sync("colorscale",o))}}}),Kr=m({"src/components/colorscale/index.js"(e,t){var r=Be(),n=Pr();t.exports={moduleType:"component",name:"colorscale",attributes:Rr(),layoutAttributes:jr(),supplyLayoutDefaults:Xr(),handleDefaults:Yr(),crossTraceDefaults:Zr(),calc:$r(),scales:r.scales,defaultScale:r.defaultScale,getScale:r.get,isValidScale:r.isValid,hasColorscale:n.hasColorscale,extractOpts:n.extractOpts,extractScale:n.extractScale,flipScale:n.flipScale,makeColorScaleFunc:n.makeColorScaleFunc,makeColorScaleFuncFromTrace:n.makeColorScaleFuncFromTrace}}}),Jr=m({"src/traces/scatter/subtypes.js"(e,t){var r=dr(),n=I().isTypedArraySpec;t.exports={hasLines:function(e){return e.visible&&e.mode&&-1!==e.mode.indexOf("lines")},hasMarkers:function(e){return e.visible&&(e.mode&&-1!==e.mode.indexOf("markers")||"splom"===e.type)},hasText:function(e){return e.visible&&e.mode&&-1!==e.mode.indexOf("text")},isBubble:function(e){var t=e.marker;return r.isPlainObject(t)&&(r.isArrayOrTypedArray(t.size)||n(t.size))}}}}),Qr=m({"src/traces/scatter/make_bubble_size_func.js"(e,t){var r=S();t.exports=function(e,t){t||(t=2);var n=e.marker,i=n.sizeref||1,a=n.sizemin||0,o="area"===n.sizemode?function(e){return Math.sqrt(e/i)}:function(e){return e/i};return function(e){var n=o(e/t);return r(n)&&n>0?Math.max(n,a):0}}}}),en=m({"src/components/fx/helpers.js"(e){var t=dr();e.getSubplot=function(e){return e.subplot||e.xaxis+e.yaxis||e.geo},e.isTraceInSubplots=function(t,r){if("splom"===t.type){for(var n=t.xaxes||[],i=t.yaxes||[],a=0;a=0&&r.index2&&(t.push([n].concat(a.splice(0,2))),o="l",n="m"==n?"l":"L");;){if(a.length==r[o])return a.unshift(n),t.push(a);if(a.length=200?"M0,0.5L0.5,0L0,-0.5L-0.5,0Z":"")}y.symbolNumber=function(e){if(a(e))e=+e;else if("string"==typeof e){var t=0;e.indexOf("-open")>0&&(t=100,e=e.replace("-open","")),e.indexOf("-dot")>0&&(t+=200,e=e.replace("-dot","")),(e=y.symbolNames.indexOf(e))>=0&&(e+=t)}return e%100>=k||e>=400?0:Math.floor(Math.max(e,0))};var A=i("~f"),M={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}};function E(e,t,i,a,o,l,c,u,h,d){var f,p=o.length;"linear"===a?f={node:"linearGradient",attrs:{x1:c.x,y1:c.y,x2:u.x,y2:u.y,gradientUnits:h?"userSpaceOnUse":"objectBoundingBox"},reversed:d}:"radial"===a&&(f={node:"radialGradient",reversed:d});for(var m=new Array(p),g=0;g=0&&void 0===e.i&&(e.i=o.i),t.style("opacity",i.selectedOpacityFn?i.selectedOpacityFn(e):void 0===e.mo?l.opacity:e.mo),i.ms2mrc){var u;u="various"===e.ms||"various"===l.size?3:i.ms2mrc(e.ms),e.mrc=u,i.selectedSizeFn&&(u=e.mrc=i.selectedSizeFn(e));var h=y.symbolNumber(e.mx||l.symbol)||0;e.om=h%200>=100;var d=ne(e,r),f=W(e,r);t.attr("d",T(h,u,d,f))}var p,m,g,v=!1;if(e.so)g=c.outlierwidth,m=c.outliercolor,p=l.outliercolor;else{var x=(c||{}).width;g=(e.mlw+1||x+1||(e.trace?(e.trace.marker.line||{}).width:0)+1)-1||0,m="mlc"in e?e.mlcc=i.lineScale(e.mlc):n.isArrayOrTypedArray(c.color)?s.defaultLine:c.color,n.isArrayOrTypedArray(l.color)&&(p=s.defaultLine,v=!0),p="mc"in e?e.mcc=i.markerScale(e.mc):l.color||l.colors||"rgba(0,0,0,0)",i.selectedColorFn&&(p=i.selectedColorFn(e))}let b=e.mld||(c||{}).dash;if(b&&y.dashLine(t,b,g),e.om)t.call(s.stroke,p).style({"stroke-width":(g||1)+"px",fill:"none"});else{t.style("stroke-width",(e.isBlank?0:g)+"px");var _=l.gradient,w=e.mgt;w?v=!0:w=_&&_.type,n.isArrayOrTypedArray(w)&&(w=w[0],M[w]||(w=0));var k=l.pattern,A=y.getPatternAttr,S=k&&(A(k.shape,e.i,"")||A(k.path,e.i,""));if(w&&"none"!==w){var E=e.mgc;E?v=!0:E=_.color;var C=r.uid;v&&(C+="-"+e.i),y.gradient(t,a,C,w,[[0,E],[1,p]],"fill")}else if(S){var L=!1,I=k.fgcolor;!I&&o&&o.color&&(I=o.color,L=!0);var P=A(I,e.i,o&&o.color||null),z=A(k.bgcolor,e.i,null),O=k.fgopacity,D=A(k.size,e.i,8),R=A(k.solidity,e.i,.3);L=L||e.mcc||n.isArrayOrTypedArray(k.shape)||n.isArrayOrTypedArray(k.path)||n.isArrayOrTypedArray(k.bgcolor)||n.isArrayOrTypedArray(k.fgcolor)||n.isArrayOrTypedArray(k.size)||n.isArrayOrTypedArray(k.solidity);var j=r.uid;L&&(j+="-"+e.i),y.pattern(t,"point",a,j,S,D,R,e.mcc,k.fillmode,z,P,O)}else n.isArrayOrTypedArray(p)?s.fill(t,p[e.i]):s.fill(t,p);g&&s.stroke(t,m)}},y.makePointStyleFns=function(e){var t={},r=e.marker;return t.markerScale=y.tryColorscale(r,""),t.lineScale=y.tryColorscale(r,"line"),o.traceIs(e,"symbols")&&(t.ms2mrc=p.isBubble(e)?m(e):function(){return(r.size||6)/2}),e.selectedpoints&&n.extendFlat(t,y.makeSelectedPointStyleFns(e)),t},y.makeSelectedPointStyleFns=function(e){var t={},r=e.selected||{},i=e.unselected||{},a=e.marker||{},s=r.marker||{},l=i.marker||{},c=a.opacity,u=s.opacity,h=l.opacity,d=void 0!==u,p=void 0!==h;(n.isArrayOrTypedArray(c)||d||p)&&(t.selectedOpacityFn=function(e){var t=void 0===e.mo?a.opacity:e.mo;return e.selected?d?u:t:p?h:f*t});var m=a.color,g=s.color,y=l.color;(g||y)&&(t.selectedColorFn=function(e){var t=e.mcc||m;return e.selected?g||t:y||t});var v=a.size,x=s.size,b=l.size,_=void 0!==x,w=void 0!==b;return o.traceIs(e,"symbols")&&(_||w)&&(t.selectedSizeFn=function(e){var t=e.mrc||v/2;return e.selected?_?x/2:t:w?b/2:t}),t},y.makeSelectedTextStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},i=e.textfont||{},a=r.textfont||{},o=n.textfont||{},l=i.color,c=a.color,u=o.color;return t.selectedTextColorFn=function(e){var t=e.tc||l;return e.selected?c||t:u||(c?t:s.addOpacity(t,f))},t},y.selectedPointStyle=function(e,t){if(e.size()&&t.selectedpoints){var n=y.makeSelectedPointStyleFns(t),i=t.marker||{},a=[];n.selectedOpacityFn&&a.push((function(e,t){e.style("opacity",n.selectedOpacityFn(t))})),n.selectedColorFn&&a.push((function(e,t){s.fill(e,n.selectedColorFn(t))})),n.selectedSizeFn&&a.push((function(e,r){var a=r.mx||i.symbol||0,o=n.selectedSizeFn(r);e.attr("d",T(y.symbolNumber(a),o,ne(r,t),W(r,t))),r.mrc2=o})),a.length&&e.each((function(e){for(var t=r.select(this),n=0;n0?r:0}function O(e,t,r){return r&&(e=N(e)),t?R(e[1]):D(e[0])}function D(e){var t=r.round(e,2);return C=t,t}function R(e){var t=r.round(e,2);return L=t,t}function j(e,t,r,n){var i=e[0]-t[0],a=e[1]-t[1],o=r[0]-t[0],s=r[1]-t[1],l=Math.pow(i*i+a*a,.25),c=Math.pow(o*o+s*s,.25),u=(c*c*i-l*l*o)*n,h=(c*c*a-l*l*s)*n,d=3*c*(l+c),f=3*l*(l+c);return[[D(t[0]+(d&&u/d)),R(t[1]+(d&&h/d))],[D(t[0]-(f&&u/f)),R(t[1]-(f&&h/f))]]}y.textPointStyle=function(e,t,i){if(e.size()){var a;if(t.selectedpoints){var o=y.makeSelectedTextStyleFns(t);a=o.selectedTextColorFn}var s=t.texttemplate,l=i._fullLayout;e.each((function(e){var o=r.select(this),c=s?n.extractOption(e,t,"txt","texttemplate"):n.extractOption(e,t,"tx","text");if(c||0===c){if(s){var h=t._module.formatLabels,d=h?h(e,t,l):{},f={};g(f,t,e.i),c=n.texttemplateString({data:[f,e,t._meta],fallback:t.texttemplatefallback,labels:d,locale:l._d3locale,template:c})}var p=e.tp||t.textposition,m=z(e,t),v=a?a(e):e.tc||t.textfont.color;o.call(y.font,{family:e.tf||t.textfont.family,weight:e.tw||t.textfont.weight,style:e.ty||t.textfont.style,variant:e.tv||t.textfont.variant,textcase:e.tC||t.textfont.textcase,lineposition:e.tE||t.textfont.lineposition,shadow:e.tS||t.textfont.shadow,size:m,color:v}).text(c).call(u.convertToTspans,i).call(P,p,m,e.mrc)}else o.remove()}))}},y.selectedTextStyle=function(e,t){if(e.size()&&t.selectedpoints){var n=y.makeSelectedTextStyleFns(t);e.each((function(e){var i=r.select(this),a=n.selectedTextColorFn(e),l=e.tp||t.textposition,c=z(e,t);s.fill(i,a);var u=o.traceIs(t,"bar-like");P(i,l,c,e.mrc2||e.mrc,u)}))}},y.smoothopen=function(e,t){if(e.length<3)return"M"+e.join("L");var r,n="M"+e[0],i=[];for(r=1;r=c||w>=h&&w<=c)&&(k<=d&&k>=u||k>=d&&k<=u)&&(e=[w,k])}return e}y.steps=function(e){var t=F[e]||B;return function(e){for(var r="M"+D(e[0][0])+","+R(e[0][1]),n=e.length,i=1;i=1e4&&(y.savedBBoxes={},U=0),i&&(y.savedBBoxes[i]=g),U++,n.extendFlat({},g)},y.setClipUrl=function(e,t,r){e.attr("clip-path",q(t,r))},y.getTranslate=function(e){var t=(e[e.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,(function(e,t,r){return[t,r].join(" ")})).split(" ");return{x:+t[0]||0,y:+t[1]||0}},y.setTranslate=function(e,t,r){var n=e.attr?"attr":"getAttribute",i=e.attr?"attr":"setAttribute",a=e[n]("transform")||"";return t=t||0,r=r||0,a=a.replace(/(\btranslate\(.*?\);?)/,"").trim(),a=(a+=c(t,r)).trim(),e[i]("transform",a),a},y.getScale=function(e){var t=(e[e.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,(function(e,t,r){return[t,r].join(" ")})).split(" ");return{x:+t[0]||1,y:+t[1]||1}},y.setScale=function(e,t,r){var n=e.attr?"attr":"getAttribute",i=e.attr?"attr":"setAttribute",a=e[n]("transform")||"";return t=t||1,r=r||1,a=a.replace(/(\bscale\(.*?\);?)/,"").trim(),a=(a+="scale("+t+","+r+")").trim(),e[i]("transform",a),a};var H=/\s*sc.*/;y.setPointGroupScale=function(e,t,r){if(t=t||1,r=r||1,e){var n=1===t&&1===r?"":"scale("+t+","+r+")";e.each((function(){var e=(this.getAttribute("transform")||"").replace(H,"");e=(e+=n).trim(),this.setAttribute("transform",e)}))}};var G=/translate\([^)]*\)\s*$/;function W(e,t){var r;return e&&(r=e.mf),void 0===r&&(r=t.marker&&t.marker.standoff||0),t._geo||t._xA?r:-r}y.setTextPointsScale=function(e,t,n){e&&e.each((function(){var e,i=r.select(this),a=i.select("text");if(a.node()){var o=parseFloat(a.attr("x")||0),s=parseFloat(a.attr("y")||0),l=(i.attr("transform")||"").match(G);e=1===t&&1===n?[]:[c(o,s),"scale("+t+","+n+")",c(-o,-s)],l&&e.push(l),i.attr("transform",e.join(""))}}))},y.getMarkerStandoff=W;var Y,X,Z,$,K,J,Q=Math.atan2,ee=Math.cos,te=Math.sin;function re(e,t){var r=t[0],n=t[1];return[r*ee(e)-n*te(e),r*te(e)+n*ee(e)]}function ne(e,t){var r=e.ma;void 0===r&&(r=t.marker.angle,(!a(r)||n.isArrayOrTypedArray(r))&&(r=0));var i,o,s=t.marker.angleref;if("previous"===s||"north"===s){if(t._geo){var l=t._geo.project(e.lonlat);i=l[0],o=l[1]}else{var c=t._xA,u=t._yA;if(!c||!u)return 90;i=c.c2p(e.x),o=u.c2p(e.y)}if(t._geo){var h,d=e.lonlat[0],f=e.lonlat[1],p=t._geo.project([d,f+1e-5]),m=t._geo.project([d+1e-5,f]),g=Q(m[1]-o,m[0]-i),y=Q(p[1]-o,p[0]-i);if("north"===s)h=r/180*Math.PI;else if("previous"===s){var v=d/180*Math.PI,x=f/180*Math.PI,b=Y/180*Math.PI,_=X/180*Math.PI,w=b-v,k=ee(_)*te(w),T=te(_)*ee(x)-ee(_)*te(x)*ee(w);h=-Q(k,T)-Math.PI,Y=d,X=f}var A=re(g,[ee(h),0]),M=re(y,[te(h),0]);r=Q(A[1]+M[1],A[0]+M[0])/Math.PI*180,"previous"===s&&(J!==t.uid||e.i!==K+1)&&(r=null)}if("previous"===s&&!t._geo)if(J===t.uid&&e.i===K+1&&a(i)&&a(o)){var S=i-Z,E=o-$,C=t.line&&t.line.shape||"",L=C.slice(C.length-1);"h"===L&&(E=0),"v"===L&&(S=0),r+=Q(E,S)/Math.PI*180+90}else r=null}return Z=i,$=o,K=e.i,J=t.uid,r}y.getMarkerAngle=ne}}),an=m({"src/components/titles/index.js"(e,t){var r=w(),n=S(),i=Er(),a=jt(),o=dr(),s=o.strTranslate,l=nn(),c=Fe(),u=Ir(),h=Ne(),d=Lr().OPPOSITE_SIDE,f=/ [XY][0-9]* /;t.exports={draw:function(e,t,p){var m,g=e._fullLayout,y=p.propContainer,v=p.propName,x=p.placeholder,b=p.traceIndex,_=p.avoid||{},w=p.attributes,k=p.transform,T=p.containerGroup,A=1,M=y.title,S=(M&&M.text?M.text:"").trim(),E=!1,C=M&&M.font?M.font:{},L=C.family,I=C.size,P=C.color,z=C.weight,O=C.style,D=C.variant,R=C.textcase,j=C.lineposition,F=C.shadow,B=!!p.subtitlePropName,N=p.subtitlePlaceholder,U=(y.title||{}).subtitle||{text:"",font:{}},V=(U.text||"").trim(),q=!1,H=1,G=U.font,W=G.family,Y=G.size,X=G.color,Z=G.weight,$=G.style,K=G.variant,J=G.textcase,Q=G.lineposition,ee=G.shadow;"title.text"===v?m="titleText":-1!==v.indexOf("axis")?m="axisTitleText":-1!==v.indexOf("colorbar")&&(m="colorbarTitleText");var te=e._context.edits[m];function re(e,t){return void 0!==e&&void 0!==t&&e.replace(f," % ")===t.replace(f," % ")}""===S?A=0:re(S,x)&&(te||(S=""),A=.2,E=!0),B&&(""===V?H=0:re(V,N)&&(te||(V=""),H=.2,q=!0)),p._meta?S=o.templateString(S,p._meta):g._meta&&(S=o.templateString(S,g._meta));var ne,ie=S||V||te;T||(T=o.ensureSingle(g._infolayer,"g","g-"+t),ne=g._hColorbarMoveTitle);var ae=T.selectAll("text."+t).data(ie?[0]:[]);ae.enter().append("text"),ae.text(S).attr("class",t),ae.exit().remove();var oe=null,se=t+"-subtitle",le=V||te;if(B&&((oe=T.selectAll("text."+se).data(le?[0]:[])).enter().append("text"),oe.text(V).attr("class",se),oe.exit().remove()),!ie)return T;function ce(e,t){o.syncOrAsync([ue,he],{title:e,subtitle:t})}function ue(n){var a,h=n.title,d=n.subtitle;if(!k&&ne&&(k={}),k?(a="",k.rotate&&(a+="rotate("+[k.rotate,w.x,w.y]+")"),(k.offset||ne)&&(a+=s(0,(k.offset||0)-(ne||0)))):a=null,h.attr("transform",a),h.style("opacity",A*c.opacity(P)).call(l.font,{color:c.rgb(P),size:r.round(I,2),family:L,weight:z,style:O,variant:D,textcase:R,shadow:F,lineposition:j}).attr(w).call(u.convertToTspans,e,(function(e){if(e){var t=r.select(e.node().parentNode).select("."+se);if(!t.empty()){var n=e.node().getBBox();if(n.height){var i=n.y+n.height+1.6*Y;t.attr("y",i)}}}})),d&&!d.empty()){var f=T.select("."+t+"-math-group"),p=h.node().getBBox(),m=f.node()?f.node().getBBox():void 0,g=m?m.y+m.height+1.6*Y:p.y+p.height+1.6*Y,y=o.extendFlat({},w,{y:g});d.attr("transform",a),d.style("opacity",H*c.opacity(X)).call(l.font,{color:c.rgb(X),size:r.round(Y,2),family:W,weight:Z,style:$,variant:K,textcase:J,shadow:ee,lineposition:Q}).attr(y).call(u.convertToTspans,e)}return i.previousPromises(e)}function he(t){var i=t.title,a=r.select(i.node().parentNode);if(_&&_.selection&&_.side&&S){a.attr("transform",null);var c=d[_.side],u="left"===_.side||"top"===_.side?-1:1,h=n(_.pad)?_.pad:2,f=l.bBox(a.node()),p={t:0,b:0,l:0,r:0},m=e._fullLayout._reservedMargin;for(var v in m)for(var x in m[v]){var b=m[v][x];p[x]=Math.max(p[x],b)}var w={left:p.l,top:p.t,right:g.width-p.r,bottom:g.height-p.b},k=_.maxShift||u*(w[_.side]-f[_.side]),T=0;if(k<0)T=k;else{var A=_.offsetLeft||0,M=_.offsetTop||0;f.left-=A,f.right-=A,f.top-=M,f.bottom-=M,_.selection.each((function(){var e=l.bBox(this);o.bBoxIntersect(f,e,h)&&(T=Math.max(T,u*(e[_.side]-f[c])+h))})),T=Math.min(k,T),y._titleScoot=Math.abs(T)}if(T>0||k<0){var E={left:[-T,0],right:[T,0],top:[0,-T],bottom:[0,T]}[_.side];a.attr("transform",s(E[0],E[1]))}}}function de(e,t){e.text(t).on("mouseover.opacity",(function(){r.select(this).transition().duration(h.SHOW_PLACEHOLDER).style("opacity",1)})).on("mouseout.opacity",(function(){r.select(this).transition().duration(h.HIDE_PLACEHOLDER).style("opacity",0)}))}if(ae.call(ce,oe),te&&(S?ae.on(".opacity",null):(de(ae,x),E=!0),ae.call(u.makeEditable,{gd:e}).on("edit",(function(t){void 0!==b?a.call("_guiRestyle",e,v,t,b):a.call("_guiRelayout",e,v,t)})).on("cancel",(function(){this.text(this.attr("data-unformatted")).call(ce)})).on("input",(function(e){this.text(e||" ").call(u.positionText,w.x,w.y)})),B)){if(B&&!S){var fe=ae.node().getBBox(),pe=fe.y+fe.height+1.6*Y;oe.attr("y",pe)}V?oe.on(".opacity",null):(de(oe,N),q=!0),oe.call(u.makeEditable,{gd:e}).on("edit",(function(t){a.call("_guiRelayout",e,"title.subtitle.text",t)})).on("cancel",(function(){this.text(this.attr("data-unformatted")).call(ce)})).on("input",(function(e){this.text(e||" ").call(u.positionText,oe.attr("x"),oe.attr("y"))}))}return ae.classed("js-placeholder",E),oe&&!oe.empty()&&oe.classed("js-placeholder",q),T},SUBTITLE_PADDING_EM:1.6,SUBTITLE_PADDING_MATHJAX_EM:1.6}}}),on=m({"src/plots/cartesian/set_convert.js"(e,t){var r=w(),n=T().utcFormat,i=dr(),a=i.numberFormat,o=S(),s=i.cleanNumber,l=i.ms2DateTime,c=i.dateTime2ms,u=i.ensureNumber,h=i.isArrayOrTypedArray,d=E(),f=d.FP_SAFE,p=d.BADNUM,m=d.LOG_CLIP,g=d.ONEWEEK,y=d.ONEDAY,v=d.ONEHOUR,x=d.ONEMIN,b=d.ONESEC,_=kr(),k=wr(),A=k.HOUR_PATTERN,M=k.WEEKDAY_PATTERN;function C(e){return Math.pow(10,e)}function L(e){return null!=e}t.exports=function(e,t){t=t||{};var d=e._id||"x",w=d.charAt(0);function T(t,r){if(t>0)return Math.log(t)/Math.LN10;if(t<=0&&r&&e.range&&2===e.range.length){var n=e.range[0],i=e.range[1];return.5*(n+i-2*m*Math.abs(n-i))}return p}function S(t,r,n,a){if((a||{}).msUTC&&o(t))return+t;var s=c(t,n||e.calendar);if(s===p){if(!o(t))return p;t=+t;var l=Math.floor(10*i.mod(t+.05,1)),u=Math.round(t-l/10);s=c(new Date(u))+l/10}return s}function E(t,r,n){return l(t,r,n||e.calendar)}function I(t){return e._categories[Math.round(t)]}function P(t){if(L(t)){if(void 0===e._categoriesMap&&(e._categoriesMap={}),void 0!==e._categoriesMap[t])return e._categoriesMap[t];e._categories.push("number"==typeof t?String(t):t);var r=e._categories.length-1;return e._categoriesMap[t]=r,r}return p}function z(t){if(e._categoriesMap)return e._categoriesMap[t]}function O(e){var t=z(e);return void 0!==t?t:o(e)?+e:void 0}function D(e){return o(e)?+e:z(e)}function R(e,t,n){return r.round(n+t*e,2)}function j(e,t,r){return(e-r)/t}var F=function(t){return o(t)?R(t,e._m,e._b):p},B=function(t){return j(t,e._m,e._b)};if(e.rangebreaks){var N="y"===w;F=function(t){if(!o(t))return p;var r=e._rangebreaks.length;if(!r)return R(t,e._m,e._b);var n=N;e.range[0]>e.range[1]&&(n=!n);for(var i=n?-1:1,a=i*t,s=0,l=0;lu)){s=a<(c+u)/2?l:l+1;break}s=l+1}var h=e._B[s]||0;return isFinite(h)?R(t,e._m2,h):0},B=function(t){var r=e._rangebreaks.length;if(!r)return j(t,e._m,e._b);for(var n=0,i=0;ie._rangebreaks[i].pmax&&(n=i+1);return j(t,e._m2,e._B[n])}}e.c2l="log"===e.type?T:u,e.l2c="log"===e.type?C:u,e.l2p=F,e.p2l=B,e.c2p="log"===e.type?function(e,t){return F(T(e,t))}:F,e.p2c="log"===e.type?function(e){return C(B(e))}:B,-1!==["linear","-"].indexOf(e.type)?(e.d2r=e.r2d=e.d2c=e.r2c=e.d2l=e.r2l=s,e.c2d=e.c2r=e.l2d=e.l2r=u,e.d2p=e.r2p=function(t){return e.l2p(s(t))},e.p2d=e.p2r=B,e.cleanPos=u):"log"===e.type?(e.d2r=e.d2l=function(e,t){return T(s(e),t)},e.r2d=e.r2c=function(e){return C(s(e))},e.d2c=e.r2l=s,e.c2d=e.l2r=u,e.c2r=T,e.l2d=C,e.d2p=function(t,r){return e.l2p(e.d2r(t,r))},e.p2d=function(e){return C(B(e))},e.r2p=function(t){return e.l2p(s(t))},e.p2r=B,e.cleanPos=u):"date"===e.type?(e.d2r=e.r2d=i.identity,e.d2c=e.r2c=e.d2l=e.r2l=S,e.c2d=e.c2r=e.l2d=e.l2r=E,e.d2p=e.r2p=function(t,r,n){return e.l2p(S(t,0,n))},e.p2d=e.p2r=function(e,t,r){return E(B(e),t,r)},e.cleanPos=function(t){return i.cleanDate(t,p,e.calendar)}):"category"===e.type?(e.d2c=e.d2l=P,e.r2d=e.c2d=e.l2d=I,e.d2r=e.d2l_noadd=O,e.r2c=function(t){var r=D(t);return void 0!==r?r:e.fraction2r(.5)},e.l2r=e.c2r=u,e.r2l=D,e.d2p=function(t){return e.l2p(e.r2c(t))},e.p2d=function(e){return I(B(e))},e.r2p=e.d2p,e.p2r=B,e.cleanPos=function(e){return"string"==typeof e&&""!==e?e:u(e)}):"multicategory"===e.type&&(e.r2d=e.c2d=e.l2d=I,e.d2r=e.d2l_noadd=O,e.r2c=function(t){var r=O(t);return void 0!==r?r:e.fraction2r(.5)},e.r2c_just_indices=z,e.l2r=e.c2r=u,e.r2l=O,e.d2p=function(t){return e.l2p(e.r2c(t))},e.p2d=function(e){return I(B(e))},e.r2p=e.d2p,e.p2r=B,e.cleanPos=function(e){return Array.isArray(e)||"string"==typeof e&&""!==e?e:u(e)},e.setupMultiCategory=function(r){var n,a,o=e._traceIndices,s=e._matchGroup;if(s&&0===e._categories.length)for(var l in s)if(l!==d){var c=t[_.id2name(l)];o=o.concat(c._traceIndices)}var u=[[0,{}],[0,{}]],f=[];for(n=0;nl[1]&&(a[s?0:1]=n,o[1]=l[1]),o[0]>=o[1])if(void 0!==r){var c=l[0]+1;void 0!==n&&(c=Math.min(c,l[1])),a[s?0:1]=e.l2r(c)}else void 0!==n&&(a[s?1:0]=e.l2r(l[1]-1))}},e.cleanRange=function(t,r){e._cleanRange(t,r),e.limitRange(t)},e._cleanRange=function(t,r){r||(r={}),t||(t="range");var n,a,s=i.nestedProperty(e,t).get();if(a=(a="date"===e.type?i.dfltRange(e.calendar):"y"===w?k.DFLTRANGEY:"realaxis"===e._name?[0,1]:r.dfltRange||k.DFLTRANGEX).slice(),("tozero"===e.rangemode||"nonnegative"===e.rangemode)&&(a[0]=0),s&&2===s.length){var l=null===s[0],c=null===s[1];for("date"===e.type&&!e.autorange&&(s[0]=i.cleanDate(s[0],p,e.calendar),s[1]=i.cleanDate(s[1],p,e.calendar)),n=0;n<2;n++)if("date"===e.type){if(!i.isDateTime(s[n],e.calendar)){e[t]=a;break}if(e.r2l(s[0])===e.r2l(s[1])){var u=i.constrain(e.r2l(s[0]),i.MIN_MS+1e3,i.MAX_MS-1e3);s[0]=e.l2r(u-1e3),s[1]=e.l2r(u+1e3);break}}else{if(!o(s[n])){if(l||c||!o(s[1-n])){e[t]=a;break}s[n]=s[1-n]*(n?10:.1)}if(s[n]<-f?s[n]=-f:s[n]>f&&(s[n]=f),s[0]===s[1]){var h=Math.max(1,Math.abs(1e-6*s[0]));s[0]-=h,s[1]+=h}}}else i.nestedProperty(e,t).set(a)},e.setScale=function(r){var n=t._size;if(e.overlaying){var i=_.getFromId({_fullLayout:t},e.overlaying);e.domain=i.domain}var a=r&&e._r?"_r":"range",o=e.calendar;e.cleanRange(a);var s,l,c=e.r2l(e[a][0],o),u=e.r2l(e[a][1],o),h="y"===w;if(h?(e._offset=n.t+(1-e.domain[1])*n.h,e._length=n.h*(e.domain[1]-e.domain[0]),e._m=e._length/(c-u),e._b=-e._m*u):(e._offset=n.l+e.domain[0]*n.w,e._length=n.w*(e.domain[1]-e.domain[0]),e._m=e._length/(u-c),e._b=-e._m*c),e._rangebreaks=[],e._lBreaks=0,e._m2=0,e._B=[],e.rangebreaks&&(e._rangebreaks=e.locateBreaks(Math.min(c,u),Math.max(c,u)),e._rangebreaks.length)){for(s=0;su&&(d=!d),d&&e._rangebreaks.reverse();var f=d?-1:1;for(e._m2=f*e._length/(Math.abs(u-c)-e._lBreaks),e._B.push(-e._m2*(h?u:c)),s=0;sa&&(a+=7,oa&&(a+=24,o=n&&o=n&&t=s.min&&(es.max&&(s.max=n),a=!1)}a&&c.push({min:e,max:n})}};for(n=0;n2*s}(d,t))return"date";var y="strict"!==n.autotypenumbers;return function(e,t){for(var r=e.length,n=u(r),a=0,o=0,c={},h=0;h2*a}(d,y)?"category":function(e,t){for(var r=e.length,n=0;n0&&((A=L-s(b)-l(_))>I?M/A>P&&(w=b,T=_,P=M/A):M/L>P&&(w={val:b.val,nopad:1},T={val:_.val,nopad:1},P=M/L));if(m===g){var z=m-1,O=m+1;if(E)if(0===m)a=[0,1];else{var D=(m>0?h:u).reduce((function(e,t){return Math.max(e,l(t))}),0),R=m/(1-Math.min(.5,D/L));a=m>0?[0,R]:[R,0]}else a=C?[Math.max(0,z),Math.max(1,O)]:[z,O]}else E?(w.val>=0&&(w={val:0,nopad:1}),T.val<=0&&(T={val:0,nopad:1})):C&&(w.val-P*s(w)<0&&(w={val:0,nopad:1}),T.val<=0&&(T={val:1,nopad:1})),P=(T.val-w.val-d(t,b.val,_.val))/(L-s(w)-l(T)),a=[w.val-P*s(w),T.val+P*l(T)];return a=k(a,t),t.limitRange&&t.limitRange(),v&&a.reverse(),i.simpleMap(a,t.l2r||Number)}function d(e,t,r){var n=0;if(e.rangebreaks)for(var i=e.locateBreaks(t,r),a=0;a=r&&(c.extrapad||!o)){s=!1;break}i(t,c.val)&&c.pad<=r&&(o||!c.extrapad)&&(e.splice(l,1),l--)}if(s){var u=a&&0===t;e.push({val:t,pad:u?0:r,extrapad:!u&&o})}}function v(e){return n(e)&&Math.abs(e)=t}function _(e,t,r){return void 0===t||void 0===r||(t=e.d2l(t))=c&&(o=c,r=c),s<=c&&(s=c,n=c)}}return r=function(e,t){var r=t.autorangeoptions;return r&&void 0!==r.minallowed&&_(t,r.minallowed,r.maxallowed)?r.minallowed:r&&void 0!==r.clipmin&&_(t,r.clipmin,r.clipmax)?Math.max(e,t.d2l(r.clipmin)):e}(r,t),n=function(e,t){var r=t.autorangeoptions;return r&&void 0!==r.maxallowed&&_(t,r.minallowed,r.maxallowed)?r.maxallowed:r&&void 0!==r.clipmax&&_(t,r.clipmin,r.clipmax)?Math.min(e,t.d2l(r.clipmax)):e}(n,t),[r,n]}t.exports={applyAutorangeOptions:k,getAutoRange:h,makePadFn:f,doAutoRange:function(e,t,r){if(t.setScale(),t.autorange){t.range=r?r.slice():h(e,t),t._r=t.range.slice(),t._rl=i.simpleMap(t._r,t.r2l);var n=t._input,a={};a[t._attr+".range"]=t.range,a[t._attr+".autorange"]=t.autorange,o.call("_storeDirectGUIEdit",e.layout,e._fullLayout._preGUI,a),n.range=t.range.slice(),n.autorange=t.autorange}var s=t._anchorAxis;if(s&&s.rangeslider){var l=s.rangeslider[t._name];l&&"auto"===l.rangemode&&(l.range=h(e,t)),s._input.rangeslider[t._name]=i.extendFlat({},l)}},findExtremes:function(e,t,r){r||(r={}),e._m||e.setScale();var i,o,s,l,c,u,h,d,f,p=[],y=[],x=t.length,b=r.padded||!1,_=r.tozero&&("linear"===e.type||"-"===e.type),w="log"===e.type,k=!1,T=r.vpadLinearized||!1;function A(e){if(Array.isArray(e))return k=!0,function(t){return Math.max(Number(e[t]||0),0)};var t=Math.max(Number(e||0),0);return function(){return t}}var M=A((e._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((e._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=A(r.vpadplus||r.vpad),C=A(r.vpadminus||r.vpad);if(!k){if(d=1/0,f=-1/0,w)for(i=0;i0&&(d=o),o>f&&o-a&&(d=o),o>f&&o=P;i--)I(i);return{min:p,max:y,opts:r}},concatExtremes:p}}}),cn=m({"src/plots/cartesian/axes.js"(e,t){var r=w(),n=S(),i=Er(),a=jt(),o=dr(),s=o.strTranslate,l=Ir(),c=an(),u=Fe(),h=nn(),d=Or(),f=Br(),p=(wr(),E()),m=p.ONEMAXYEAR,g=p.ONEAVGYEAR,y=p.ONEMINYEAR,v=p.ONEMAXQUARTER,x=p.ONEAVGQUARTER,b=p.ONEMINQUARTER,_=p.ONEMAXMONTH,k=p.ONEAVGMONTH,T=p.ONEMINMONTH,A=p.ONEWEEK,M=p.ONEDAY,C=M/2,L=p.ONEHOUR,I=p.ONEMIN,P=p.ONESEC,z=p.ONEMILLI,O=p.ONEMICROSEC,D=p.MINUS_SIGN,R=p.BADNUM,j={K:"zeroline"},F={K:"gridline",L:"path"},B={K:"minor-gridline",L:"path"},N={K:"tick",L:"path"},U={K:"tick",L:"text"},V={width:["x","r","l","xl","xr"],height:["y","t","b","yt","yb"],right:["r","xr"],left:["l","xl"],top:["t","yt"],bottom:["b","yb"]},q=Lr(),H=q.MID_SHIFT,G=q.CAP_SHIFT,W=q.LINE_SPACING,Y=q.OPPOSITE_SIDE,X=t.exports={};X.setConvert=on();var Z=sn(),$=kr(),K=$.idSort,J=$.isLinked;X.id2name=$.id2name,X.name2id=$.name2id,X.cleanId=$.cleanId,X.list=$.list,X.listIds=$.listIds,X.getFromId=$.getFromId,X.getFromTrace=$.getFromTrace;var Q=ln();function ee(e){var t=1e-4*(e[1]-e[0]);return[e[0]-t,e[1]+t]}function te(e,t,r){if(![r,e,t].every(n)||0===r)return e;let i=t+Math.round((e-t)/r)*r;return e!==i&&Math.abs(e-i)<1e-6*Math.abs(r)?i:e}X.getAutoRange=Q.getAutoRange,X.findExtremes=Q.findExtremes,X.coerceRef=function(e,t,r,n,i,a){var s=n.charAt(n.length-1),l=r._fullLayout._subplots[s+"axis"],c=n+"ref",u={};return i||(i=l[0]||("string"==typeof a?a:a[0])),a||(a=i),l=l.concat(l.map((function(e){return e+" domain"}))),u[c]={valType:"enumerated",values:l.concat(a?"string"==typeof a?[a]:a:[]),dflt:i},o.coerce(e,t,u,c)},X.coerceRefArray=function(e,t,r,n,i,a,s){let l=n.charAt(n.length-1);var c=r._fullLayout._subplots[l+"axis"];let u=n+"ref";var h=e[u];i||(i=c[0]||("string"==typeof a?a:a[0])),c=(c=c.concat(c.map((e=>e+" domain")))).concat(a||[]),h.length>s?(o.warn("Array attribute "+u+" has more entries than expected, truncating to "+s),h=h.slice(0,s)):h.lengthn&&pn&&g2e-6||((r-e._forceTick0)/e._minDtick%1+1.000001)%1>2e-6)&&(e._minDtick=0)):e._minDtick=0},X.saveRangeInitial=function(e,t){for(var r=X.list(e,"",!0),n=!1,i=0;i.3*d||u(i)||u(a))){var f=r.dtick/2;e+=e+f.8){var s=Number(r.slice(1));a.exactYears>.8&&s%12==0?e=X.tickIncrement(e,"M6","reverse")+1.5*M:a.exactMonths>.8?e=X.tickIncrement(e,"M1","reverse")+15.5*M:e-=C;var l=X.tickIncrement(e,r);if(l<=n)return l}return e}(v,e,y,c,a)),g=v;g<=u;)g=X.tickIncrement(g,y,!1,a);return{start:t.c2r(v,0,a),end:t.c2r(g,0,a),size:y,_dataSpan:u-c}},X.prepMinorTicks=function(e,t,r){var i,a;if(null==(i=t.minor)||!i.dtick){delete e.dtick;var s,l=t.dtick&&n(t._tmin);if(l){var c=X.tickIncrement(t._tmin,t.dtick,!0);s=[t._tmin,.99*c+.01*t._tmin]}else{var u=o.simpleMap(t.range,t.r2l);s=[u[0],.8*u[0]+.2*u[1]]}if(e.range=o.simpleMap(s,t.l2r),e._isMinor=!0,X.prepTicks(e,r),l){var h=n(t.dtick),d=n(e.dtick),f=h?t.dtick:+t.dtick.substring(1),p=d?e.dtick:+e.dtick.substring(1);h&&d?ae(f,p)?f===2*A&&p===2*M&&(e.dtick=A):f===2*A&&p===3*M?e.dtick=A:f!==A||(t._input.minor||{}).nticks?oe(f/p,2.5)?e.dtick=f/2:e.dtick=f:e.dtick=M:"M"===String(t.dtick).charAt(0)?d?e.dtick="M1":ae(f,p)?f>=12&&2===p&&(e.dtick="M3"):e.dtick=t.dtick:"L"===String(e.dtick).charAt(0)?"L"===String(t.dtick).charAt(0)?ae(f,p)||(e.dtick=oe(f/p,2.5)?t.dtick/2:t.dtick):e.dtick="D1":"D2"===e.dtick&&+t.dtick>1&&(e.dtick=1)}e.range=t.range}void 0===(null==(a=t.minor)?void 0:a._tick0Init)&&(e.tick0=t.tick0)},X.prepTicks=function(e,t){var r=o.simpleMap(e.range,e.r2l,void 0,void 0,t);if("auto"===e.tickmode||!e.dtick){var i,a=e.nticks;a||("category"===e.type||"multicategory"===e.type?(i=e.tickfont?o.bigFont(e.tickfont.size||12):15,a=e._length/i):(i="y"===e._id.charAt(0)?40:80,a=o.constrain(e._length/i,4,9)+1),"radialaxis"===e._name&&(a*=2)),e.minor&&"array"!==e.minor.tickmode||"array"===e.tickmode&&(a*=100),e._roughDTick=Math.abs(r[1]-r[0])/a,X.autoTicks(e,e._roughDTick),e._minDtick>0&&e.dtick<2*e._minDtick&&(e.dtick=e._minDtick,e.tick0=e.l2r(e._forceTick0))}"period"===e.ticklabelmode&&function(e){var t;function r(){return!(n(e.dtick)||"M"!==e.dtick.charAt(0))}var i=r(),a=X.getTickFormat(e);if(a){var o=e._dtickInit!==e.dtick;/%[fLQsSMX]/.test(a)||(/%[HI]/.test(a)?(t=L,o&&!i&&e.dticke.range[1],c=!e.ticklabelindex||o.isArrayOrTypedArray(e.ticklabelindex)?e.ticklabelindex:[e.ticklabelindex],u=o.simpleMap(e.range,e.r2l,void 0,void 0,t),h=u[1]=(B?0:1);N--){var U=!N;N?(e._dtickInit=e.dtick,e._tick0Init=e.tick0):B&&(e.minor._dtickInit=e.minor.dtick,e.minor._tick0Init=e.minor.tick0);var V=N?e:o.extendFlat({},e,B?e.minor:{minor:{}});if(U?X.prepMinorTicks(V,e,t):X.prepTicks(V,t),"array"!==V.tickmode)if("sync"!==V.tickmode){var q=ee(u),H=q[0],G=q[1],W=n(V.dtick),Y="log"===r&&!(W||"L"===V.dtick.charAt(0)),Z=X.tickFirst(V,t);if(N){if(e._tmin=Z,Z=G:Q<=G;Q=X.tickIncrement(Q,re,h,i)){if(N&&$++,V.rangebreaks&&!h){if(Q=f)break}if(E.length>p||Q===J)break;J=Q;var ie={value:te(Q,ne,re)};N?(Q===Z&&(ie.first=!0),Y&&Q!==(0|Q)&&(ie.simpleLabel=!0),a>1&&$%a&&(ie.skipLabel=!0),E.push(ie)):(ie.minor=!0,D.push(ie))}}else E=[],w=ce(e);else N?(E=[],w=ue(e,!U)):(D=[],S=ue(e,!U))}var ae;if(!D||D.length<3?c=!1:function(e,t){return/%f/.test(t)?e>=O:/%L/.test(t)?e>=z:/%[SX]/.test(t)?e>=P:/%M/.test(t)?e>=I:/%[HI]/.test(t)?e>=L:/%p/.test(t)?e>=C:/%[Aadejuwx]/.test(t)?e>=M:/%[UVW]/.test(t)?e>=A:/%[Bbm]/.test(t)?e>=T:/%[q]/.test(t)?e>=b:!/%[Yy]/.test(t)||e>=y}((D[2].value-D[1].value)*(l?-1:1),e.tickformat)||(c=!1,D=D.slice(1)),c){var oe=E.concat(D);s&&E.length&&(oe=oe.slice(1)),(oe=oe.sort((function(e,t){return e.value-t.value})).filter((function(e,t,r){return 0===t||e.value!==r[t-1].value}))).map((function(e,t){return void 0!==e.minor||e.skipLabel?null:t})).filter((function(e){return null!==e})).forEach((function(e){c.map((function(t){var r=e+t;r>=0&&r0?(a=n-1,o=n):(a=n,o=n);var s,l=e[a].value,c=e[o].value,u=Math.abs(c-l),h=r||u,d=0;h>=y?d=u>=y&&u<=m?u:g:r===x&&h>=b?d=u>=b&&u<=v?u:x:h>=T?d=u>=T&&u<=_?u:k:r===A&&h>=A?d=A:h>=M?d=M:r===C&&h>=C?d=C:r===L&&h>=L&&(d=L),d>=u&&(d=u,s=!0);var f=i+d;if(t.rangebreaks&&d>0){for(var p=0,w=0;w<84;w++){var S=(w+.5)/84;t.maskBreaks(i*(1-S)+S*f)!==R&&p++}(d*=p/84)||(e[n].drop=!0),s&&u>A&&(d=u)}(d>0||0===n)&&(e[n].periodX=i+d/2)}}(j,e,e._definedDelta),e.rangebreaks){var ge="y"===e._id.charAt(0),ye=1;"auto"===e.tickmode&&(ye=e.tickfont?e.tickfont.size:12);var ve=NaN;for(ae=E.length-1;ae>-1;ae--)if(E[ae].drop)E.splice(ae,1);else{E[ae].value=Ve(E[ae].value,e);var xe=e.c2p(E[ae].value);(ge?ve>xe-ye:vef||nf&&(r.periodX=f),n10||"01-01"!==i.slice(5)?e._tickround="d":e._tickround=+t.slice(1)%12==0?"y":"m";else if(t>=M&&a<=10||t>=15*M)e._tickround="d";else if(t>=I&&a<=16||t>=L)e._tickround="M";else if(t>=P&&a<=19||t>=I)e._tickround="S";else{var o=e.l2r(r+t).replace(/^-/,"").length;e._tickround=Math.max(a,o)-20,e._tickround<0&&(e._tickround=4)}}else if(n(t)||"L"===t.charAt(0)){var s=e.range.map(e.r2d||Number);n(t)||(t=Number(t.slice(1))),e._tickround=2-Math.floor(Math.log(t)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),c=Math.floor(Math.log(l)/Math.LN10+.01),u=void 0===e.minexponent?3:e.minexponent;Math.abs(c)>u&&(ke(e.exponentformat)&&"SI extended"!==e.exponentformat&&!Te(c)||ke(e.exponentformat)&&"SI extended"===e.exponentformat&&!Ae(c)?e._tickexponent=3*Math.round((c-1)/3):e._tickexponent=c)}else e._tickround=null}function be(e,t,r){var n=e.tickfont||{};return{x:t,dx:0,dy:0,text:r||"",fontSize:n.size,font:n.family,fontWeight:n.weight,fontStyle:n.style,fontVariant:n.variant,fontTextcase:n.textcase,fontLineposition:n.lineposition,fontShadow:n.shadow,fontColor:n.color}}X.autoTicks=function(e,t,r){var i;function a(e){return Math.pow(e,Math.floor(Math.log(t)/Math.LN10))}if("date"===e.type){e.tick0=o.dateTick0(e.calendar,0);var s=2*t;if(s>g)t/=g,i=a(10),e.dtick="M"+12*ve(t,i,he);else if(s>k)t/=k,e.dtick="M"+ve(t,1,de);else if(s>M){if(e.dtick=ve(t,M,e._hasDayOfWeekBreaks?[1,2,7,14]:pe),!r){var l=X.getTickFormat(e),c="period"===e.ticklabelmode;c&&(e._rawTick0=e.tick0),/%[uVW]/.test(l)?e.tick0=o.dateTick0(e.calendar,2):e.tick0=o.dateTick0(e.calendar,1),c&&(e._dowTick0=e.tick0)}}else s>L?e.dtick=ve(t,L,de):s>I?e.dtick=ve(t,I,fe):s>P?e.dtick=ve(t,P,fe):(i=a(10),e.dtick=ve(t,i,he))}else if("log"===e.type){e.tick0=0;var u=o.simpleMap(e.range,e.r2l);if(e._isMinor&&(t*=1.5),t>.7)e.dtick=Math.ceil(t);else if(Math.abs(u[1]-u[0])<1){var h=1.5*Math.abs((u[1]-u[0])/t);t=Math.abs(Math.pow(10,u[1])-Math.pow(10,u[0]))/h,i=a(10),e.dtick="L"+ve(t,i,he)}else e.dtick=t>.3?"D2":"D1"}else"category"===e.type||"multicategory"===e.type?(e.tick0=0,e.dtick=Math.ceil(Math.max(t,1))):Ue(e)?(e.tick0=0,i=1,e.dtick=ve(t,i,ye)):(e.tick0=0,i=a(10),e.dtick=ve(t,i,he));if(0===e.dtick&&(e.dtick=1),!n(e.dtick)&&"string"!=typeof e.dtick){var d=e.dtick;throw e.dtick=1,"ax.dtick error: "+String(d)}},X.tickIncrement=function(e,t,i,a){var s=i?-1:1;if(n(t))return o.increment(e,s*t);var l=t.charAt(0),c=s*Number(t.slice(1));if("M"===l)return o.incrementMonth(e,c,a);if("L"===l)return Math.log(Math.pow(10,e)+c)/Math.LN10;if("D"===l){var u="D2"===t?ge:me,h=e+.01*s,d=o.roundUp(o.mod(h,1),u,i);return Math.floor(h)+Math.log(r.round(Math.pow(10,d),1))/Math.LN10}throw"unrecognized dtick "+String(t)},X.tickFirst=function(e,t){var i=e.r2l||Number,a=o.simpleMap(e.range,i,void 0,void 0,t),s=a[1]=0&&r<=e._length?t:null};if(h&&o.isArrayOrTypedArray(e.ticktext)){var g=o.simpleMap(e.range,e.r2l),y=(Math.abs(g[1]-g[0])-(e._lBreaks||0))/1e4;for(s=0;s ")}else e._prevDateHead=l,c+="
"+l;t.text=c}(e,u,r,d):"log"===f?function(e,t,r,i,a){var s=e.dtick,l=t.x,c=e.tickformat,u="string"==typeof s&&s.charAt(0);if("never"===a&&(a=""),i&&"L"!==u&&(s="L3",u="L"),c||"L"===u)t.text=Me(Math.pow(10,l),e,a,i);else if(n(s)||"D"===u&&("complete"===e.minorloglabels||o.mod(l+.01,1)<.1)){"complete"===e.minorloglabels&&!(o.mod(l+.01,1)<.1)&&(t.fontSize*=.75);var h=Math.pow(10,l).toExponential(0).split("e"),d=+h[1],f=Math.abs(d),p=e.exponentformat;"power"===p||ke(p)&&"SI extended"!==p&&Te(d)||ke(p)&&"SI extended"===p&&Ae(d)?(t.text=h[0],f>0&&(t.text+="x10"),"1x10"===t.text&&(t.text="10"),0!==d&&1!==d&&(t.text+=""+(d>0?"":D)+f+""),t.fontSize*=1.25):("e"===p||"E"===p)&&f>2?t.text=h[0]+p+(d>0?"+":D)+f:(t.text=Me(Math.pow(10,l),e,"","fakehover"),"D1"===s&&"y"===e._id.charAt(0)&&(t.dy-=t.fontSize/6))}else{if("D"!==u)throw"unrecognized dtick "+String(s);t.text="none"===e.minorloglabels?"":String(Math.round(Math.pow(10,o.mod(l,1)))),t.fontSize*=.75}if("D1"===e.dtick){var m=String(t.text).charAt(0);("0"===m||"1"===m)&&("y"===e._id.charAt(0)?t.dx-=t.fontSize/4:(t.dy+=t.fontSize/2,t.dx+=(e.range[1]>e.range[0]?1:-1)*t.fontSize*(l<0?.5:.25)))}}(e,u,0,d,x):"category"===f?function(e,t){var r=e._categories[Math.round(t.x)];void 0===r&&(r=""),t.text=String(r)}(e,u):"multicategory"===f?function(e,t,r){var n=Math.round(t.x),i=e._categories[n]||[],a=void 0===i[1]?"":String(i[1]),o=void 0===i[0]?"":String(i[0]);r?t.text=o+" - "+a:(t.text=a,t.text2=o)}(e,u,r):Ue(e)?function(e,t,r,n,i){if("radians"!==e.thetaunit||r)t.text=Me(t.x,e,i,n);else{var a=t.x/180;if(0===a)t.text="0";else{var s=function(e){function t(e,t){return Math.abs(e-t)<=1e-6}var r=function(e){for(var r=1;!t(Math.round(e*r)/r,e);)r*=10;return r}(e),n=e*r,i=Math.abs(function e(r,n){return t(n,0)?r:e(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(s[1]>=100)t.text=Me(o.deg2rad(t.x),e,i,n);else{var l=t.x<0;1===s[1]?1===s[0]?t.text="π":t.text=s[0]+"π":t.text=["",s[0],"","⁄","",s[1],"","π"].join(""),l&&(t.text=D+t.text)}}}}(e,u,r,d,x):function(e,t,r,n,i){"never"===i?i="":"all"===e.showexponent&&Math.abs(t.x/e.dtick)<1e-6&&(i="hide"),t.text=Me(t.x,e,i,n)}(e,u,0,d,x),i||(e.tickprefix&&!v(e.showtickprefix)&&(u.text=e.tickprefix+u.text),e.ticksuffix&&!v(e.showticksuffix)&&(u.text+=e.ticksuffix)),e.labelalias&&e.labelalias.hasOwnProperty(u.text)){var b=e.labelalias[u.text];"string"==typeof b&&(u.text=b)}return("boundaries"===e.tickson||e.showdividers)&&(u.xbnd=[m(u.x-.5),m(u.x+e.dtick-.5)]),u},X.hoverLabelText=function(e,t,r){r&&(e=o.extendFlat({},e,{hoverformat:r}));var n=o.isArrayOrTypedArray(t)?t[0]:t,i=o.isArrayOrTypedArray(t)?t[1]:void 0;if(void 0!==i&&i!==n)return X.hoverLabelText(e,n,r)+" - "+X.hoverLabelText(e,i,r);var a="log"===e.type&&n<=0,s=X.tickText(e,e.c2l(a?-n:n),"hover").text;return a?0===n?"0":D+s:s};var _e=["f","p","n","μ","m","","k","M","G","T"],we=["q","r","y","z","a",..._e,"P","E","Z","Y","R","Q"],ke=e=>["SI","SI extended","B"].includes(e);function Te(e){return e>14||e<-15}function Ae(e){return e>32||e<-30}function Me(e,t,r,i){var a,s=e<0,l=t._tickround,c=r||t.exponentformat||"B",u=t._tickexponent,h=X.getTickFormat(t),d=t.separatethousands;if(i){var f={exponentformat:c,minexponent:t.minexponent,dtick:"none"===t.showexponent?t.dtick:n(e)&&Math.abs(e)||1,range:"none"===t.showexponent?t.range.map(t.r2d):[0,e||1]};xe(f),l=(Number(f._tickround)||0)+4,u=f._tickexponent,t.hoverformat&&(h=t.hoverformat)}if(h)return t._numFormat(h)(e).replace(/-/g,D);if("none"===c&&(u=0),(e=Math.abs(e))"+a+"":"B"===c&&9===u?e+="B":ke(c)&&(e+="SI extended"===c?we[u/3+10]:_e[u/3+5])),s?D+e:e}function Se(e,t){if(e){var r=Object.keys(V).reduce((function(e,r){return-1!==t.indexOf(r)&&V[r].forEach((function(t){e[t]=1})),e}),{});Object.keys(e).forEach((function(t){r[t]||(1===t.length?e[t]=0:delete e[t])}))}}function Ee(e,t){for(var r=[],n={},i=0;i1&&r=i.min&&e=0,a=u(e,t[1])<=0;return(r||i)&&(n||a)}if(e.tickformatstops&&e.tickformatstops.length>0)switch(e.type){case"date":case"linear":for(t=0;t=o(i)))){r=n;break}break;case"log":for(t=0;t=0&&i.unshift(i.splice(n,1).shift())}}));var s={false:{left:0,right:0}};return o.syncOrAsync(i.map((function(t){return function(){if(t){var n=X.getFromId(e,t);r||(r={}),r.axShifts=s,r.overlayingShiftedAx=a;var i=X.drawOne(e,n,r);return n._shiftPusher&&Ge(n,n._fullDepth||0,s,!0),n._r=n.range.slice(),n._rl=o.simpleMap(n._r,n.r2l),i}}})))},X.drawOne=function(e,t,r){var n,s,d,f=(r=r||{}).axShifts||{},p=r.overlayingShiftedAx||[];t.setScale();var m=e._fullLayout,g=t._id,y=g.charAt(0),v=X.counterLetter(g),x=m._plots[t._mainSubplot],b="above traces"===t.zerolinelayer;if(x){if(t._shiftPusher=t.autoshift||-1!==p.indexOf(t._id)||-1!==p.indexOf(t.overlaying),t._shiftPusher&"free"===t.anchor){var _=t.linewidth/2||0;"inside"===t.ticks&&(_+=t.ticklen),Ge(t,_,f,!0),Ge(t,t.shift||0,f,!1)}(!0!==r.skipTitle||void 0===t._shift)&&(t._shift=function(e,t){return e.autoshift?t[e.overlaying][e.side]:e.shift||0}(t,f));var w=x[y+"axislayer"],k=t._mainLinePosition,T=k+=t._shift,A=t._mainMirrorPosition,M=t._vals=X.calcTicks(t),S=[t.mirror,T,A].join("_");for(n=0;n0?r.bottom-u:0,h))));var d=0,f=0;if(t._shiftPusher&&(d=Math.max(h,r.height>0?"l"===l?u-r.left:r.right-u:0),t.title.text!==m._dfltTitle[y]&&(f=(t._titleStandoff||0)+(t._titleScoot||0),"l"===l&&(f+=Ie(t))),t._fullDepth=Math.max(d,f)),t.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var p=[0,1],g="number"==typeof t._shift?t._shift:0;if("x"===y){if("b"===l?n[l]=t._depth:(n[l]=t._depth=Math.max(r.width>0?u-r.top:0,h),p.reverse()),r.width>0){var x=r.right-(t._offset+t._length);x>0&&(n.xr=1,n.r=x);var b=t._offset-r.left;b>0&&(n.xl=0,n.l=b)}}else if("l"===l?(t._depth=Math.max(r.height>0?u-r.left:0,h),n[l]=t._depth-g):(t._depth=Math.max(r.height>0?r.right-u:0,h),n[l]=t._depth+g,p.reverse()),r.height>0){var _=r.bottom-(t._offset+t._length);_>0&&(n.yb=0,n.b=_);var w=t._offset-r.top;w>0&&(n.yt=1,n.t=w)}n[v]="free"===t.anchor?t.position:t._anchorAxis.domain[p[0]],t.title.text!==m._dfltTitle[y]&&(n[l]+=Ie(t)+(t.title.standoff||0)),t.mirror&&"free"!==t.anchor&&((o={x:0,y:0,r:0,l:0,t:0,b:0})[c]=t.linewidth,t.mirror&&!0!==t.mirror&&(o[c]+=h),!0===t.mirror||"ticks"===t.mirror?o[v]=t._anchorAxis.domain[p[1]]:("all"===t.mirror||"allticks"===t.mirror)&&(o[v]=[t._counterDomainMin,t._counterDomainMax][p[1]]))}de&&(s=a.getComponentMethod("rangeslider","autoMarginOpts")(e,t)),"string"==typeof t.automargin&&(Se(n,t.automargin),Se(o,t.automargin)),i.autoMargin(e,Oe(t),n),i.autoMargin(e,De(t),o),i.autoMargin(e,Re(t),s)})),o.syncOrAsync(ue)}}function fe(e){var r=g+(e||"tick");return E[r]||(E[r]=function(e,t,r){var n,i,a,o;if(e._selections[t].size())n=1/0,i=-1/0,a=1/0,o=-1/0,e._selections[t].each((function(){var e=ze(this);if("none"!==e.node().style.display){var t=h.bBox(e.node().parentNode);n=Math.min(n,t.top),i=Math.max(i,t.bottom),a=Math.min(a,t.left),o=Math.max(o,t.right)}}));else{var s=X.makeLabelFns(e,r);n=i=s.yFn({dx:0,dy:0,fontSize:0}),a=o=s.xFn({dx:0,dy:0,fontSize:0})}return{top:n,bottom:i,left:a,right:o,height:i-n,width:o-a}}(t,r,T)),E[r]}},X.getTickSigns=function(e,t){var r=e._id.charAt(0),n={x:"top",y:"right"}[r],i=e.side===n?1:-1,a=[-1,1,i,-i];return"inside"!==(t?(e.minor||{}).ticks:e.ticks)==("x"===r)&&(a=a.map((function(e){return-e}))),e.side&&a.push({l:-1,t:-1,r:1,b:1}[e.side.charAt(0)]),a},X.makeTransTickFn=function(e){return"x"===e._id.charAt(0)?function(t){return s(e._offset+e.l2p(t.x),0)}:function(t){return s(0,e._offset+e.l2p(t.x))}},X.makeTransTickLabelFn=function(e){var t=function(e){var t=e.ticklabelposition||"",r=e.tickson||"",n=function(e){return-1!==t.indexOf(e)},i=n("top"),a=n("left"),o=n("right"),s=n("bottom"),l=n("inside"),c="boundaries"!==r&&(s||a||i||o);if(!c&&!l)return[0,0];var u=e.side,h=c?(e.tickwidth||0)/2:0,d=3,f=e.tickfont?e.tickfont.size:12;return(s||i)&&(h+=f*G,d+=(e.linewidth||0)/2),(a||o)&&(h+=(e.linewidth||0)/2,d+=3),l&&"top"===u&&(d-=f*(1-G)),(a||i)&&(h=-h),("bottom"===u||"right"===u)&&(d=-d),[c?h:0,l?d:0]}(e),r=e.ticklabelshift||0,n=e.ticklabelstandoff||0,i=t[0],a=t[1],o=e.range[0]>e.range[1],l=e.ticklabelposition&&-1!==e.ticklabelposition.indexOf("inside"),c=!l;if(r&&(r*=o?-1:1),n){var u=e.side;n*=l&&("top"===u||"left"===u)||c&&("bottom"===u||"right"===u)?1:-1}return"x"===e._id.charAt(0)?function(t){return s(i+e._offset+e.l2p(Ce(t))+r,a+n)}:function(t){return s(a+n,i+e._offset+e.l2p(Ce(t))+r)}},X.makeTickPath=function(e,t,r,n){n||(n={});var i=n.minor;if(i&&!e.minor)return"";var a=void 0!==n.len?n.len:i?e.minor.ticklen:e.ticklen,o=e._id.charAt(0),s=(e.linewidth||1)/2;return"x"===o?"M0,"+(t+s*r)+"v"+a*r:"M"+(t+s*r)+",0h"+a*r},X.makeLabelFns=function(e,t,r){var i=e.ticklabelposition||"",a=e.tickson||"",s=function(e){return-1!==i.indexOf(e)},l=s("top"),c=s("left"),u=s("right"),h=s("bottom"),d="boundaries"!==a&&(h||c||l||u),f=s("inside"),p="inside"===i&&"inside"===e.ticks||!f&&"outside"===e.ticks&&"boundaries"!==a,m=0,g=0,y=p?e.ticklen:0;if(f?y*=-1:d&&(y=0),p&&(m+=y,r)){var v=o.deg2rad(r);m=y*Math.cos(v)+1,g=y*Math.sin(v)}e.showticklabels&&(p||e.showline)&&(m+=.2*e.tickfont.size);var x,b,_,w,k,T={labelStandoff:m+=(e.linewidth||1)/2*(f?-1:1),labelShift:g},A=0,M=e.side,S=e._id.charAt(0),E=e.tickangle;if("x"===S)w=(k=!f&&"bottom"===M||f&&"top"===M)?1:-1,f&&(w*=-1),x=g*w,b=t+m*w,_=k?1:-.2,90===Math.abs(E)&&(f?_+=H:_=-90===E&&"bottom"===M?G:90===E&&"top"===M?H:.5,A=H/2*(E/90)),T.xFn=function(e){return e.dx+x+A*e.fontSize},T.yFn=function(e){return e.dy+b+e.fontSize*_},T.anchorFn=function(e,t){if(d){if(c)return"end";if(u)return"start"}return n(t)&&0!==t&&180!==t?t*w<0!==f?"end":"start":"middle"},T.heightFn=function(t,r,n){return r<-60||r>60?-.5*n:"top"===e.side!==f?-n:0};else if("y"===S){if(w=(k=!f&&"left"===M||f&&"right"===M)?1:-1,f&&(w*=-1),x=m,b=g*w,_=0,!f&&90===Math.abs(E)&&(_=-90===E&&"left"===M||90===E&&"right"===M?G:.5),f){var C=n(E)?+E:0;if(0!==C){var L=o.deg2rad(C);A=Math.abs(Math.sin(L))*G*w,_=0}}T.xFn=function(e){return e.dx+t-(x+e.fontSize*_)*w+A*e.fontSize},T.yFn=function(e){return e.dy+b+e.fontSize*H},T.anchorFn=function(e,t){return n(t)&&90===Math.abs(t)?"middle":k?"end":"start"},T.heightFn=function(t,r,n){return"right"===e.side&&(r*=-1),r<-30?-n:r<30?-.5*n:0}}return T},X.drawTicks=function(e,t,n){n=n||{};var i=t._id+"tick",a=[].concat(t.minor&&t.minor.ticks?n.vals.filter((function(e){return e.minor&&!e.noTick})):[]).concat(t.ticks?n.vals.filter((function(e){return!e.minor&&!e.noTick})):[]),o=n.layer.selectAll("path."+i).data(a,Le);o.exit().remove(),o.enter().append("path").classed(i,1).classed("ticks",1).classed("crisp",!1!==n.crisp).each((function(e){return u.stroke(r.select(this),e.minor?t.minor.tickcolor:t.tickcolor)})).style("stroke-width",(function(r){return h.crispRound(e,r.minor?t.minor.tickwidth:t.tickwidth,1)+"px"})).attr("d",n.path).style("display",null),He(t,[N]),o.attr("transform",n.transFn)},X.drawGrid=function(e,t,n){if(n=n||{},"sync"!==t.tickmode){var i=t._id+"grid",a=t.minor&&t.minor.showgrid,o=a?n.vals.filter((function(e){return e.minor})):[],s=t.showgrid?n.vals.filter((function(e){return!e.minor})):[],l=n.counterAxis;if(l&&X.shouldShowZeroLine(e,t,l))for(var c="array"===t.tickmode,d=0;d=0;y--){var v=y?m:g;if(v){var x=v.selectAll("path."+i).data(y?s:o,Le);x.exit().remove(),x.enter().append("path").classed(i,1).classed("crisp",!1!==n.crisp),x.attr("transform",n.transFn).attr("d",n.path).each((function(e){return u.stroke(r.select(this),e.minor?t.minor.gridcolor:t.gridcolor||"#ddd")})).style("stroke-dasharray",(function(e){return h.dashStyle(e.minor?t.minor.griddash:t.griddash,e.minor?t.minor.gridwidth:t.gridwidth)})).style("stroke-width",(function(e){return(e.minor?p:t._gw)+"px"})).style("display",null),"function"==typeof n.path&&x.attr("d",n.path)}}He(t,[F,B])}},X.drawZeroLine=function(e,t,r){r=r||r;var n=t._id+"zl",i=X.shouldShowZeroLine(e,t,r.counterAxis),a=r.layer.selectAll("path."+n).data(i?[{x:0,id:t._id}]:[]);a.exit().remove(),a.enter().append("path").classed(n,1).classed("zl",1).classed("crisp",!1!==r.crisp).each((function(){r.layer.selectAll("path").sort((function(e,t){return K(e.id,t.id)}))})),a.attr("transform",r.transFn).attr("d",r.path).call(u.stroke,t.zerolinecolor||u.defaultLine).style("stroke-width",h.crispRound(e,t.zerolinewidth,t._gw||1)+"px").style("display",null),He(t,[j])},X.drawLabels=function(e,t,i){i=i||{};var a=e._fullLayout,c=t._id,u="above traces"===t.zerolinelayer,d=i.cls||c+"tick",f=i.vals.filter((function(e){return e.text})),p=i.labelFns,m=i.secondary?0:t.tickangle,g=(t._prevTickAngles||{})[d],y=i.layer.selectAll("g."+d).data(t.showticklabels?f:[],Le),v=[];function x(e,a){e.each((function(e){var o=r.select(this),c=o.select(".text-math-group"),u=p.anchorFn(e,a),d=i.transFn.call(o.node(),e)+(n(a)&&0!=+a?" rotate("+a+","+p.xFn(e)+","+(p.yFn(e)-e.fontSize/2)+")":""),f=l.lineCount(o),m=W*e.fontSize,g=p.heightFn(e,n(a)?+a:0,(f-1)*m);if(g&&(d+=s(0,g)),c.empty()){var y=o.select("text");y.attr({transform:d,"text-anchor":u}),y.style("display",null),t._adjustTickLabelsOverflow&&t._adjustTickLabelsOverflow()}else{var v=h.bBox(c.node()).width*{end:-.5,start:.5}[u];c.attr("transform",d+s(v,0))}}))}y.enter().append("g").classed(d,1).append("text").attr("text-anchor","middle").each((function(t){var n=r.select(this),i=e._promises.length;n.call(l.positionText,p.xFn(t),p.yFn(t)).call(h.font,{family:t.font,size:t.fontSize,color:t.fontColor,weight:t.fontWeight,style:t.fontStyle,variant:t.fontVariant,textcase:t.fontTextcase,lineposition:t.fontLineposition,shadow:t.fontShadow}).text(t.text).call(l.convertToTspans,e),e._promises[i]?v.push(e._promises.pop().then((function(){x(n,m)}))):x(n,m)})),He(t,[U]),y.exit().remove(),i.repositionOnUpdate&&y.each((function(e){r.select(this).select("text").call(l.positionText,p.xFn(e),p.yFn(e))})),t._adjustTickLabelsOverflow=function(){var n=t.ticklabeloverflow;if(n&&"allow"!==n){var i=-1!==n.indexOf("hide"),s="x"===t._id.charAt(0),l=0,c=s?e._fullLayout.width:e._fullLayout.height;if(-1!==n.indexOf("domain")){var u=o.simpleMap(t.range,t.r2l);l=t.l2p(u[0])+t._offset,c=t.l2p(u[1])+t._offset}var d=Math.min(l,c),f=Math.max(l,c),p=t.side,m=1/0,g=-1/0;for(var v in y.each((function(e){var n=r.select(this);if(n.select(".text-math-group").empty()){var a=h.bBox(n.node()),o=0;s?(a.right>f||a.leftf||a.top+(t.tickangle?0:e.fontSize/4)t["_visibleLabelMin_"+n._id]?l.style("display","none"):"tick"===e.K&&!i&&"none"!==l.node().style.display&&l.style("display",null)}))}))}))}))},x(y,g+1?g:m);var b=null;t._selections&&(t._selections[d]=y);var _=[function(){return v.length&&Promise.all(v)}];t.automargin&&a._redrawFromAutoMarginCount&&90===g?(b=g,_.push((function(){x(y,g)}))):_.push((function(){if(x(y,m),f.length&&t.autotickangles&&("log"!==t.type||"D"!==String(t.dtick).charAt(0))){b=t.autotickangles[0];var e,r=0,n=[],a=1;y.each((function(e){r=Math.max(r,e.fontSize);var i=t.l2p(e.x),o=ze(this),s=h.bBox(o.node());a=Math.max(a,l.lineCount(o)),n.push({top:0,bottom:10,height:10,left:i-s.width/2,right:i+s.width/2+2,width:s.width+2})}));var s=("boundaries"===t.tickson||t.showdividers)&&!i.secondary,c=f.length,u=Math.abs((f[c-1].x-f[0].x)*t._m)/(c-1),d=s?u/2:u,p=s?t.ticklen:1.25*r*a,g=d/Math.sqrt(Math.pow(d,2)+Math.pow(p,2)),v=t.autotickangles.map((function(e){return e*Math.PI/180})),_=v.find((function(e){return Math.abs(Math.cos(e))<=g}));void 0===_&&(_=v.reduce((function(e,t){return Math.abs(Math.cos(e))R*D&&(P=D,C[E]=L[E]=z[E])}var V=Math.abs(P-I);V-A>0?A*=1+A/(V-=A):A=0,"y"!==t._id.charAt(0)&&(A=-A),C[S]=k.p2r(k.r2p(L[S])+M*A),"min"===k.autorange||"max reversed"===k.autorange?(C[0]=null,k._rangeInitial0=void 0,k._rangeInitial1=void 0):("max"===k.autorange||"min reversed"===k.autorange)&&(C[1]=null,k._rangeInitial0=void 0,k._rangeInitial1=void 0),a._insideTickLabelsUpdaterange[k._name+".range"]=C}var q=o.syncOrAsync(_);return q&&q.then&&e._promises.push(q),q},X.getPxPosition=function(e,t){var r,n=e._fullLayout._size,i=t._id.charAt(0),a=t.side;return"free"!==t.anchor?r=t._anchorAxis:"x"===i?r={_offset:n.t+(1-(t.position||0))*n.h,_length:0}:"y"===i&&(r={_offset:n.l+(t.position||0)*n.w+t._shift,_length:0}),"top"===a||"left"===a?r._offset:"bottom"===a||"right"===a?r._offset+r._length:void 0},X.shouldShowZeroLine=function(e,t,r){var n=o.simpleMap(t.range,t.r2l);return n[0]*n[1]<=0&&t.zeroline&&("linear"===t.type||"-"===t.type)&&!(t.rangebreaks&&t.maskBreaks(0)===R)&&(Pe(t,0)||!function(e,t,r,n){var i=r._mainAxis;if(i){var a=e._fullLayout,o=t._id.charAt(0),s=X.counterLetter(t._id),l=t._offset+(Math.abs(n[0])1)for(n=1;n4/3-s?o:s}}}),mn=m({"src/components/dragelement/cursor.js"(e,t){var r=dr(),n=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];t.exports=function(e,t,i,a){return e="left"===i?0:"center"===i?1:"right"===i?2:r.constrain(Math.floor(3*e),0,2),t="bottom"===a?0:"middle"===a?1:"top"===a?2:r.constrain(Math.floor(3*t),0,2),n[t][e]}}}),gn=m({"src/components/dragelement/unhover.js"(e,t){var r=yr(),n=Zt(),i=At().getGraphDiv,a=H(),o=t.exports={};o.wrapped=function(e,t,r){(e=i(e))._fullLayout&&n.clear(e._fullLayout._uid+a.HOVERID),o.raw(e,t,r)},o.raw=function(e,t){var n=e._fullLayout,i=e._hoverdata;t||(t={}),(!t.target||e._dragged||!1!==r.triggerHandler(e,"plotly_beforehover",t))&&(n._hoverlayer.selectAll("g").remove(),n._hoverlayer.selectAll("line").remove(),n._hoverlayer.selectAll("circle").remove(),e._hoverdata=void 0,t.target&&i&&e.emit("plotly_unhover",{event:t,points:i}))}}}),yn=m({"src/components/dragelement/index.js"(e,t){var r=dn(),n=mr(),i=fn(),a=dr().removeElement,o=wr(),s=t.exports={};s.align=pn(),s.getCursor=mn();var l=gn();function c(){var e=document.createElement("div");e.className="dragcover";var t=e.style;return t.position="fixed",t.left=0,t.right=0,t.top=0,t.bottom=0,t.zIndex=999999999,t.background="none",document.body.appendChild(e),e}function u(e){return r(e.changedTouches?e.changedTouches[0]:e,document.body)}s.unhover=l.wrapped,s.unhoverRaw=l.raw,s.init=function(e){var t,r,l,h,d,f,p,m,g=e.gd,y=1,v=g._context.doubleClickDelay,x=e.element;g._mouseDownTime||(g._mouseDownTime=0),x.style.pointerEvents="all",x.onmousedown=_,i?(x._ontouchstart&&x.removeEventListener("touchstart",x._ontouchstart),x._ontouchstart=_,x.addEventListener("touchstart",_,{passive:!1})):x.ontouchstart=_;var b=e.clampFn||function(e,t,r){return Math.abs(e)"u"&&typeof i.clientY>"u"&&(i.clientX=t,i.clientY=r),(l=(new Date).getTime())-g._mouseDownTimev&&(y=Math.max(y-1,1)),g._dragged?e.doneFn&&e.doneFn():(f.target===p?r=f:(r={target:p,srcElement:p,toElement:p},Object.keys(f).concat(Object.keys(f.__proto__)).forEach((e=>{var t=f[e];!r[e]&&"function"!=typeof t&&(r[e]=t)}))),e.clickFn&&e.clickFn(y,r),m||p.dispatchEvent(new MouseEvent("click",t))),g._dragging=!1,g._dragged=!1):g._dragged=!1}},s.coverSlip=c}}),vn=m({"src/lib/setcursor.js"(e,t){t.exports=function(e,t){(e.attr("class")||"").split(" ").forEach((function(t){0===t.indexOf("cursor-")&&e.classed(t,!1)})),t&&e.classed("cursor-"+t,!0)}}}),xn=m({"src/lib/override_cursor.js"(e,t){var r=vn(),n="data-savedcursor";t.exports=function(e,t){var i=e.attr(n);if(t){if(!i){for(var a=(e.attr("class")||"").split(" "),o=0;ot.legend.length)for(var n=t.legend.length;n("legend"===e?1:0));if(!1===S&&(c[e]=void 0),(!1!==S||d.uirevision)&&(p("uirevision",c.uirevision),!1!==S)){p("borderwidth");var E,C,L,I="h"===p("orientation"),P="paper"===p("yref"),z="paper"===p("xref"),O="left";if(I?(E=0,r.getComponentMethod("rangeslider","isVisible")(t.xaxis)?P?(C=1.1,L="bottom"):(C=1,L="top"):P?(C=-.1,L="top"):(C=0,L="bottom")):(C=1,L="auto",z?E=1.02:(E=1,O="right")),n.coerce(d,f,{x:{valType:"number",editType:"legend",min:z?-2:0,max:z?3:1,dflt:E}},"x"),n.coerce(d,f,{y:{valType:"number",editType:"legend",min:P?-2:0,max:P?3:1,dflt:C}},"y"),p("traceorder",w),l.isGrouped(c[e])&&p("tracegroupgap"),p("entrywidth"),p("entrywidthmode"),p("indentation"),p("itemsizing"),p("itemwidth"),p("itemclick"),p("itemdoubleclick"),p("groupclick"),p("xanchor",O),p("yanchor",L),p("maxheight"),p("valign"),n.noneOrAll(d,f,["x","y"]),p("title.text")){p("title.side",I?"left":"top");var D=n.extendFlat({},m,{size:n.bigFont(m.size)});n.coerceFont(p,"title.font",D);let e=h>1;p("titleclick",!!e&&"toggle"),p("titledoubleclick",!!e&&"toggleothers")}}}function R(e){return r.traceIs(e,"pie-like")&&null!=e._length&&(Array.isArray(e.legend)||Array.isArray(e.showlegend))}}t.exports=function(e,t,r){var i,a=r.slice(),o=t.shapes;if(o)for(i=0;ie.showlegend||e.legendgroup));var m=f.concat(p),g=c.trace;g._isShape&&(g=l.shapes[g.index]);var y,v,x,b,_,w=g.legendgroup,k={},T=[],A=[],M=[],S=(l.shapes||[]).map((function(e){return e._input})),E=!1;function C(e,t){if(!c.groupTitle||h){var r=e._isShape,n=e.index;void 0===n&&(n=e._index);var i=!1!==e.visible&&t;r?function(e,t){S[e].visible=t,E=!0}(n,i):function(e,t){var r=T.indexOf(e),n=k.visible;n||(n=k.visible=[]),-1===T.indexOf(e)&&(T.push(e),r=T.length-1),n[r]=t}(n,i)}}var L=g.legend;if(!g._isShape&&t.traceIs(g,"pie-like")){var I=c.label,P=d.indexOf(I);if("toggle"===s)-1===P?d.push(I):d.splice(P,1);else if("toggleothers"===s){var z=-1!==P,O=[];for(y=0;ye.showlegend||e.legendgroup)),c=o.concat(l);function u(e){return(e.legend||"legend")===s}var h,d;"toggle"===n?(h=!c.some((function(e){return u(e)&&!0===e.visible})),d=!1):(h=!0,d=!c.some((function(e){return!u(e)&&!0===e.visible&&!1!==e.showlegend})));let f={visible:[]},p=[],m=(a.shapes||[]).map((function(e){return e._input}));for(var g=!1,y=0;yI&&(C=I)}S[o][0]._groupMinRank=C,S[o][0]._preGroupSort=o}var P=function(e,t){return(r(e.trace.legendrank)?e.trace.legendrank[e.i]:e.trace.legendrank)-(r(t.trace.legendrank)?t.trace.legendrank[t.i]:t.trace.legendrank)||e._preSort-t._preSort};for(S.forEach((function(e,t){e[0]._preGroupSort=t})),S.sort((function(e,t){return e[0]._groupMinRank-t[0]._groupMinRank||e[0]._preGroupSort-t[0]._preGroupSort})),o=0;or?r:e}t.exports=function(e,t,g){var y=t._fullLayout;g||(g=y.legend);var v="constant"===g.itemsizing,x=g.itemwidth,b=(x+2*d.itemGap)/2,_=a(b,0),w=function(e,t,r,n){var i;if(e+1)i=e;else{if(!(t&&t.width>0))return 0;i=t.width}return v?n:Math.min(i,r)};function k(e,i,a){var c=e[0].trace,u=c.marker||{},h=u.line||{},d=u.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",f=a?c.visible&&c.type===a:n.traceIs(c,"bar"),p=r.select(i).select("g.legendpoints").selectAll("path.legend"+a).data(f?[e]:[]);p.enter().append("path").classed("legend"+a,!0).attr("d",d).attr("transform",_),p.exit().remove(),p.each((function(e){var n=r.select(this),i=e[0],a=w(i.mlw,u.line,5,2);n.style("stroke-width",a+"px");var d=i.mcc;if(!g._inHover&&"mc"in i){var f=l(u),p=f.mid;void 0===p&&(p=(f.max+f.min)/2),d=o.tryColorscale(u,"")(p)}var y=d||i.mc||u.color,v=u.pattern,x=o.getPatternAttr,b=v&&(x(v.shape,0,"")||x(v.path,0,""));if(b){var _=x(v.bgcolor,0,null),k=x(v.fgcolor,0,null),T=v.fgopacity,A=m(v.size,8,10),M=m(v.solidity,.5,1),S="legend-"+c.uid;n.call(o.pattern,"legend",t,S,b,A,M,d,v.fillmode,_,k,T)}else n.call(s.fill,y);a&&s.stroke(n,i.mlc||h.color)}))}function T(e,a,o){var s=e[0],l=s.trace,c=o?l.visible&&l.type===o:n.traceIs(l,o),d=r.select(a).select("g.legendpoints").selectAll("path.legend"+o).data(c?[e]:[]);if(d.enter().append("path").classed("legend"+o,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),d.exit().remove(),d.size()){var f=l.marker||{},p=w(h(f.line.width,s.pts),f.line,5,2),m="pieLike",g=i.minExtend(l,{marker:{line:{width:p}}},m),y=i.minExtend(s,{trace:g},m);u(d,y,g,t)}}e.each((function(e){var t=r.select(this),n=i.ensureSingle(t,"g","layers");n.style("opacity",e[0].trace.opacity);var o=g.indentation,s=g.valign,l=e[0].lineHeight,c=e[0].height;if("middle"===s&&0===o||!l||!c)n.attr("transform",null);else{var u={top:1,bottom:-1}[s]*(.5*(l-c+3))||0,h=g.indentation;n.attr("transform",a(h,u))}n.selectAll("g.legendfill").data([e]).enter().append("g").classed("legendfill",!0),n.selectAll("g.legendlines").data([e]).enter().append("g").classed("legendlines",!0);var d=n.selectAll("g.legendsymbols").data([e]);d.enter().append("g").classed("legendsymbols",!0),d.selectAll("g.legendpoints").data([e]).enter().append("g").classed("legendpoints",!0)})).each((function(e){var n,a=e[0].trace,c=[];if(a.visible)switch(a.type){case"histogram2d":case"heatmap":c=[["M-15,-2V4H15V-2Z"]],n=!0;break;case"choropleth":case"choroplethmap":c=[["M-6,-6V6H6V-6Z"]],n=!0;break;case"densitymap":c=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],n="radial";break;case"cone":c=[["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"]],n=!1;break;case"streamtube":c=[["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"]],n=!1;break;case"surface":c=[["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"]],n=!0;break;case"mesh3d":c=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],n=!1;break;case"volume":c=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],n=!0;break;case"isosurface":c=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],n=!1}var u=r.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(c);u.enter().append("path").classed("legend3dandfriends",!0).attr("transform",_).style("stroke-miterlimit",1),u.exit().remove(),u.each((function(e,c){var u,h=r.select(this),d=l(a),p=d.colorscale,m=d.reversescale;if(p){if(!n){var g=p.length;u=0===c?p[m?g-1:0][1]:1===c?p[m?0:g-1][1]:p[Math.floor((g-1)/2)][1]}}else{var y=a.vertexcolor||a.facecolor||a.color;u=i.isArrayOrTypedArray(y)?y[c]||y[0]:y}h.attr("d",e[0]),u?h.call(s.fill,u):h.call((function(e){if(e.size()){var r="legendfill-"+a.uid;o.gradient(e,t,r,f(m,"radial"===n),p,"fill")}}))}))})).each((function(e){var t=e[0].trace,n="waterfall"===t.type;if(e[0]._distinct&&n){var i=e[0].trace[e[0].dir].marker;return e[0].mc=i.color,e[0].mlw=i.line.width,e[0].mlc=i.line.color,k(e,this,"waterfall")}var a=[];t.visible&&n&&(a=e[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 o=r.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(a);o.enter().append("path").classed("legendwaterfall",!0).attr("transform",_).style("stroke-miterlimit",1),o.exit().remove(),o.each((function(e){var n=r.select(this),i=t[e[0]].marker,a=w(void 0,i.line,5,2);n.attr("d",e[1]).style("stroke-width",a+"px").call(s.fill,i.color),a&&n.call(s.stroke,i.line.color)}))})).each((function(e){k(e,this,"funnel")})).each((function(e){k(e,this)})).each((function(e){var a=e[0].trace,l=r.select(this).select("g.legendpoints").selectAll("path.legendbox").data(a.visible&&n.traceIs(a,"box-violin")?[e]:[]);l.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),l.exit().remove(),l.each((function(){var e=r.select(this);if("all"!==a.boxpoints&&"all"!==a.points||0!==s.opacity(a.fillcolor)||0!==s.opacity((a.line||{}).color)){var n=w(void 0,a.line,5,2);e.style("stroke-width",n+"px").call(s.fill,a.fillcolor),n&&s.stroke(e,a.line.color)}else{var c=i.minExtend(a,{marker:{size:v?12:i.constrain(a.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});l.call(o.pointStyle,c,t)}}))})).each((function(e){T(e,this,"funnelarea")})).each((function(e){T(e,this,"pie")})).each((function(e){var n,a,s=p(e),u=s.showFill,h=s.showLine,d=s.showGradientLine,m=s.showGradientFill,g=s.anyFill,y=s.anyLine,v=e[0],b=v.trace,_=l(b),k=_.colorscale,T=_.reversescale,A=c.hasMarkers(b)||!g?"M5,0":y?"M5,-2":"M5,-3",M=r.select(this),S=M.select(".legendfill").selectAll("path").data(u||m?[e]:[]);if(S.enter().append("path").classed("js-fill",!0),S.exit().remove(),S.attr("d",A+"h"+x+"v6h-"+x+"z").call((function(e){if(e.size())if(u)o.fillGroupStyle(e,t,!0);else{var r="legendfill-"+b.uid;o.gradient(e,t,r,f(T),k,"fill")}})),h||d){var E=w(void 0,b.line,10,5);a=i.minExtend(b,{line:{width:E}}),n=[i.minExtend(v,{trace:a})]}var C=M.select(".legendlines").selectAll("path").data(h||d?[n]:[]);C.enter().append("path").classed("js-line",!0),C.exit().remove(),C.attr("d",A+(d?"l"+x+",0.0001":"h"+x)).call(h?o.lineGroupStyle:function(e){if(e.size()){var r="legendline-"+b.uid;o.lineGroupStyle(e),o.gradient(e,t,r,f(T),k,"stroke")}})})).each((function(e){var n,a,s=p(e),l=s.anyFill,u=s.anyLine,h=s.showLine,d=s.showMarker,f=e[0],m=f.trace,g=!d&&!u&&!l&&c.hasText(m);function y(e,t,r,n){var a=i.nestedProperty(m,e).get(),o=i.isArrayOrTypedArray(a)&&t?t(a):a;if(v&&o&&void 0!==n&&(o=n),r){if(or[1])return r[1]}return o}function x(e){return f._distinct&&f.index&&e[f.index]?e[f.index]:e[0]}if(d||g||h){var b={},w={};if(d){b.mc=y("marker.color",x);var k="scattermap"===m.type;b.mx=k?"circle":y("marker.symbol",x),b.mo=y("marker.opacity",i.mean,[.2,1]),b.mlc=y("marker.line.color",x),b.mlw=y("marker.line.width",i.mean,[0,5],2),b.mld=y("marker.line.dash",x),w.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var T=y("marker.size",i.mean,[2,16],12);b.ms=T,w.marker.size=T}h&&(w.line={width:y("line.width",x,[0,10],5)}),g&&(b.tx="Aa",b.tp=y("textposition",x),b.ts=10,b.tc=y("textfont.color",x),b.tf=y("textfont.family",x),b.tw=y("textfont.weight",x),b.ty=y("textfont.style",x),b.tv=y("textfont.variant",x),b.tC=y("textfont.textcase",x),b.tE=y("textfont.lineposition",x),b.tS=y("textfont.shadow",x)),n=[i.minExtend(f,b)],(a=i.minExtend(m,w)).selectedpoints=null,a.texttemplate=null}var A=r.select(this).select("g.legendpoints"),M=A.selectAll("path.scatterpts").data(d?n:[]);M.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",_),M.exit().remove(),M.call(o.pointStyle,a,t),d&&(n[0].mrc=3);var S=A.selectAll("g.pointtext").data(g?n:[]);S.enter().append("g").classed("pointtext",!0).append("text").attr("transform",_),S.exit().remove(),S.selectAll("text").call(o.textPointStyle,a,t)})).each((function(e){var t=e[0].trace,n=r.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(t.visible&&"candlestick"===t.type?[e,e]:[]);n.enter().append("path").classed("legendcandle",!0).attr("d",(function(e,t){return t?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"})).attr("transform",_).style("stroke-miterlimit",1),n.exit().remove(),n.each((function(e,n){var i=r.select(this),a=t[n?"increasing":"decreasing"],o=w(void 0,a.line,5,2);i.style("stroke-width",o+"px").call(s.fill,a.fillcolor),o&&s.stroke(i,a.line.color)}))})).each((function(e){var t=e[0].trace,n=r.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(t.visible&&"ohlc"===t.type?[e,e]:[]);n.enter().append("path").classed("legendohlc",!0).attr("d",(function(e,t){return t?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"})).attr("transform",_).style("stroke-miterlimit",1),n.exit().remove(),n.each((function(e,n){var i=r.select(this),a=t[n?"increasing":"decreasing"],l=w(void 0,a.line,5,2);i.style("fill","none").call(o.dashLine,a.line.dash,l),l&&s.stroke(i,a.line.color)}))}))}}}),Ln=m({"src/components/legend/draw.js"(e,t){var r=w(),n=dr(),i=Er(),a=jt(),o=yr(),s=yn(),l=nn(),c=Fe(),u=Ir(),h=kn().handleItemClick,d=kn().handleTitleClick,f=Tn(),p=Lr(),m=p.LINE_SPACING,g=p.FROM_TL,y=p.FROM_BR,v=An(),x=Cn(),b=_n(),_=/^legend[0-9]*$/;function k(e,t){var h,p,_=t||{},w=e._fullLayout,k=b.getId(_),S=_._inHover;if(S?(p=_.layer,h="hover"):(p=w._infolayer,h=k),p){var P;if(h+=w._uid,e._legendMouseDownTime||(e._legendMouseDownTime=0),S){if(!_.entries)return;P=v(_.entries,_)}else{for(var z=(e.calcdata||[]).slice(),O=w.shapes,D=0;D1)}var F=w.hiddenlabels||[];if(!(S||w.showlegend&&P.length))return p.selectAll("."+k).remove(),w._topdefs.select("#"+h).remove(),i.autoMargin(e,k);var B=n.ensureSingle(p,"g",k,(function(e){S||e.attr("pointer-events","all")})),N=n.ensureSingleById(w._topdefs,"clipPath",h,(function(e){e.append("rect")})),U=n.ensureSingle(B,"rect","bg",(function(e){e.attr("shape-rendering","crispEdges")}));U.call(c.stroke,_.bordercolor).call(c.fill,_.bgcolor).style("stroke-width",_.borderwidth+"px");var V,q=n.ensureSingle(B,"g","scrollbox"),H=_.title;_._titleWidth=0,_._titleHeight=0,H.text?((V=n.ensureSingle(q,"text",k+"titletext")).attr("text-anchor","start").call(l.font,H.font).text(H.text),C(V,q,e,_,1),!S&&(_.titleclick||_.titledoubleclick)&&function(e,t,i,s){if(t._fullData.some((function(e){let t=e.legend||"legend";return(Array.isArray(t)?t.includes(s):t===s)&&a.traceIs(e,"pie-like")})))return;let l=t._context.doubleClickDelay;var u,h=1;let f=n.ensureSingle(e,"rect",s+"titletoggle",(function(e){t._context.staticPlot||e.style("cursor","pointer").attr("pointer-events","all"),e.call(c.fill,"rgba(0,0,0,0)")}));t._context.staticPlot||(f.on("mousedown",(function(){(u=(new Date).getTime())-t._legendMouseDownTimel&&(h=Math.max(h-1,1));let e={event:r.event,legendId:s,data:t.data,layout:t.layout,fullData:t._fullData,fullLayout:t._fullLayout};if(1===h&&i.titleclick){if(!1===o.triggerHandler(t,"plotly_legendtitleclick",e))return;i._titleClickTimeout=setTimeout((function(){t._fullLayout&&d(t,i,i.titleclick)}),l)}else 2===h&&(i._titleClickTimeout&&clearTimeout(i._titleClickTimeout),t._legendMouseDownTime=0,!1!==o.triggerHandler(t,"plotly_legendtitledoubleclick",e)&&i.titledoubleclick&&d(t,i,i.titledoubleclick))})))}(q,e,_,k)):(q.selectAll("."+k+"titletext").remove(),q.selectAll("."+k+"titletoggle").remove());var G=n.ensureSingle(B,"rect","scrollbar",(function(e){e.attr(f.scrollBarEnterAttrs).call(c.fill,f.scrollBarColor)})),W=q.selectAll("g.groups").data(P);W.enter().append("g").attr("class","groups"),W.exit().remove();var Y=W.selectAll("g.traces").data(n.identity);Y.enter().append("g").attr("class","traces"),Y.exit().remove(),Y.style("opacity",(function(t){let r=t[0],n=r.trace;if(r.groupTitle){let t=n.legendgroup,r=(w.shapes||[]).filter((function(e){return e.showlegend}));return e._fullData.concat(r).some((function(e){return e.legendgroup===t&&(e.legend||"legend")===k&&!0===e.visible}))?1:.5}return a.traceIs(n,"pie-like")?-1!==F.indexOf(t[0].label)?.5:1:"legendonly"===n.visible?.5:1})).each((function(){r.select(this).call(M,e,_)})).call(x,e,_).each((function(t){S||t[0].groupTitle&&"toggleitem"===_.groupclick||r.select(this).call(E,e,k)})),n.syncOrAsync([i.previousPromises,function(){return function(e,t,n,i,a){var o=e._fullLayout,s=b.getId(i);i||(i=o[s]);var c=o._size,h=b.isVertical(i),d=b.isGrouped(i),p="fraction"===i.entrywidthmode,g=i.borderwidth,y=2*g,v=f.itemGap,x=i.indentation+i.itemwidth+2*v,_=2*(g+v),w=I(i),k=i.y<0||0===i.y&&"top"===w,A=i.y>1||1===i.y&&"bottom"===w,M=i.tracegroupgap,S={};let{orientation:E,yref:C}=i,{maxheight:P}=i,z=k||A||"v"!==E||"paper"!==C;P||(P=z?.5:1);let O=z?o.height:c.h;i._maxHeight=Math.max(P>1?P:P*O,30);var D=0;i._width=0,i._height=0;var R=function(e){var t=0,r=0,n=e.title.side;return n&&(-1!==n.indexOf("left")&&(t=e._titleWidth),-1!==n.indexOf("top")&&(r=e._titleHeight)),[t,r]}(i);if(h)n.each((function(e){var t=e[0].height;l.setTranslate(this,g+R[0],g+R[1]+i._height+t/2+v),i._height+=t,i._width=Math.max(i._width,e[0].width)})),D=x+i._width,i._width+=v+x+y,i._height+=_,d&&(t.each((function(e,t){l.setTranslate(this,0,t*i.tracegroupgap)})),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var j=L(i),F=i.x<0||0===i.x&&"right"===j,B=i.x>1||1===i.x&&"left"===j,N=A||k,U=o.width/2;i._maxWidth=Math.max(F?N&&"left"===j?c.l+c.w:U:B?N&&"right"===j?c.r+c.w:U:c.w,2*x);var V=0,q=0;n.each((function(e){var t=T(e,i,x);V=Math.max(V,t),q+=t})),D=null;var H=0;if(d){var G=0,W=0,Y=0;t.each((function(){var e=0,t=0;r.select(this).selectAll("g.traces").each((function(r){var n=T(r,i,x),a=r[0].height;l.setTranslate(this,R[0],R[1]+g+v+a/2+t),t+=a,e=Math.max(e,n),S[r[0].trace.legendgroup]=e}));var n=e+v;W>0&&n+g+W>i._maxWidth?(H=Math.max(H,W),W=0,Y+=G+M,G=t):G=Math.max(G,t),l.setTranslate(this,W,Y),W+=n})),i._width=Math.max(H,W)+g,i._height=Y+G+_}else{var X=n.size(),Z=q+y+(X-1)*v=i._maxWidth&&(H=Math.max(H,Q),K=0,J+=$,i._height+=$,$=0),l.setTranslate(this,R[0]+g+K,R[1]+g+J+t/2+v),Q=K+r+v,K+=n,$=Math.max($,t)})),Z?(i._width=K+y,i._height=$+_):(i._width=Math.max(H,Q)+y,i._height+=$+_)}}i._width=Math.ceil(Math.max(i._width+R[0],i._titleWidth+2*(g+f.titlePad))),i._height=Math.ceil(Math.max(i._height+R[1],i._titleHeight+2*(g+f.itemGap))),i._effHeight=Math.min(i._height,i._maxHeight);var ee=e._context.edits,te=ee.legendText||ee.legendPosition;n.each((function(e){var t=r.select(this).select("."+s+"toggle"),n=e[0].height,a=e[0].trace.legendgroup,o=T(e,i,x);d&&""!==a&&(o=S[a]);var c=te?x:D||o;!h&&!p&&(c+=v/2),l.setRect(t,0,-n/2,c,n)}));var re=a.select("."+s+"titletext");re.node()&&function(e,t,r){if("top center"===t.title.side||"top right"===t.title.side){var n=t.title.font.size*m,i=0,a=e.node(),o=l.bBox(a).width;"top center"===t.title.side?i=.5*(t._width-2*r-2*f.titlePad-o):"top right"===t.title.side&&(i=t._width-2*r-2*f.titlePad-o),u.positionText(e,r+f.titlePad+i,r+n)}}(re,i,g);var ne=a.select("."+s+"titletoggle");if(ne.size()&&re.node()){var ie=re.attr("x")||0,ae=f.titlePad;l.setRect(ne,ie-ae,g,i._titleWidth+2*ae,i._titleHeight+2*ae)}}(e,W,Y,_,q)},function(){var t,o,c,u,d=w._size,m=_.borderwidth,v="paper"===_.xref,x="paper"===_.yref;if(H.text){let t=(w.shapes||[]).filter((function(e){return e.showlegend})),r=e._fullData.concat(t).some((function(e){let t=e.legend||"legend";return(Array.isArray(t)?t.includes(k):t===k)&&!0===e.visible}));V.style("opacity",r?1:.5)}if(!S){var b,T;b=v?d.l+d.w*_.x-g[L(_)]*_._width:w.width*_.x-g[L(_)]*_._width,T=x?d.t+d.h*(1-_.y)-g[I(_)]*_._effHeight:w.height*(1-_.y)-g[I(_)]*_._effHeight;var M=function(e,t,r,n){var a=e._fullLayout,o=a[t],s=L(o),l=I(o),c="paper"===o.xref,u="paper"===o.yref;e._fullLayout._reservedMargin[t]={};var h=o.y<.5?"b":"t",d=o.x<.5?"l":"r",f={r:a.width-r,l:r+o._width,b:a.height-n,t:n+o._effHeight};if(c&&u)return i.autoMargin(e,t,{x:o.x,y:o.y,l:o._width*g[s],r:o._width*y[s],b:o._effHeight*y[l],t:o._effHeight*g[l]});c?e._fullLayout._reservedMargin[t][h]=f[h]:u||"v"===o.orientation?e._fullLayout._reservedMargin[t][d]=f[d]:e._fullLayout._reservedMargin[t][h]=f[h]}(e,k,b,T);if(M)return;if(w.margin.autoexpand){var E=b,C=T;b=v?n.constrain(b,0,w.width-_._width):E,T=x?n.constrain(T,0,w.height-_._effHeight):C,b!==E&&n.log("Constrain "+k+".x to make legend fit inside graph"),T!==C&&n.log("Constrain "+k+".y to make legend fit inside graph")}l.setTranslate(B,b,T)}if(G.on(".drag",null),B.on("wheel",null),S||_._height<=_._maxHeight||e._context.staticPlot){var P=_._effHeight;S&&(P=_._height),U.attr({width:_._width-m,height:P-m,x:m/2,y:m/2}),l.setTranslate(q,0,0),N.select("rect").attr({width:_._width-2*m,height:P-2*m,x:m,y:m}),l.setClipUrl(q,h,e),l.setRect(G,0,0,0,0),delete _._scrollY}else{var z=Math.max(f.scrollBarMinHeight,_._effHeight*_._effHeight/_._height),O=_._effHeight-z-2*f.scrollBarMargin,D=_._height-_._effHeight,R=O/D,j=Math.min(_._scrollY||0,D);U.attr({width:_._width-2*m+f.scrollBarWidth+f.scrollBarMargin,height:_._effHeight-m,x:m/2,y:m/2}),N.select("rect").attr({width:_._width-2*m+f.scrollBarWidth+f.scrollBarMargin,height:_._effHeight-2*m,x:m,y:m+j}),l.setClipUrl(q,h,e),$(j,z,R),B.on("wheel",(function(){$(j=n.constrain(_._scrollY+r.event.deltaY/D*O,0,D),z,R),0!==j&&j!==D&&r.event.preventDefault()}));var F,W,Y,X=r.behavior.drag().on("dragstart",(function(){var e=r.event.sourceEvent;F="touchstart"===e.type?e.changedTouches[0].clientY:e.clientY,Y=j})).on("drag",(function(){var e=r.event.sourceEvent;2===e.buttons||e.ctrlKey||(W="touchmove"===e.type?e.changedTouches[0].clientY:e.clientY,j=function(e,t,r){var i=(r-t)/R+e;return n.constrain(i,0,D)}(Y,F,W),$(j,z,R))}));G.call(X);var Z=r.behavior.drag().on("dragstart",(function(){var e=r.event.sourceEvent;"touchstart"===e.type&&(F=e.changedTouches[0].clientY,Y=j)})).on("drag",(function(){var e=r.event.sourceEvent;"touchmove"===e.type&&(W=e.changedTouches[0].clientY,j=function(e,t,r){var i=(t-r)/R+e;return n.constrain(i,0,D)}(Y,F,W),$(j,z,R))}));q.call(Z)}function $(t,r,n){_._scrollY=e._fullLayout[k]._scrollY=t,l.setTranslate(q,0,-t),l.setRect(G,_._width,f.scrollBarMargin+t*n,f.scrollBarWidth,r),N.select("rect").attr("y",m+t)}e._context.edits.legendPosition&&(B.classed("cursor-move",!0),s.init({element:B.node(),gd:e,prepFn:function(e){if(e.target!==G.node()){var t=l.getTranslate(B);c=t.x,u=t.y}},moveFn:function(e,r){if(void 0!==c&&void 0!==u){var n=c+e,i=u+r;l.setTranslate(B,n,i),t=s.align(n,_._width,d.l,d.l+d.w,_.xanchor),o=s.align(i+_._height,-_._height,d.t+d.h,d.t,_.yanchor)}},doneFn:function(){if(void 0!==t&&void 0!==o){var r={};r[k+".x"]=t,r[k+".y"]=o,a.call("_guiRelayout",e,r)}},clickFn:function(t,r){var n=p.selectAll("g.traces").filter((function(){var e=this.getBoundingClientRect();return r.clientX>=e.left&&r.clientX<=e.right&&r.clientY>=e.top&&r.clientY<=e.bottom}));n.size()>0&&A(e,_,n,t,r)}}))}],e)}}function T(e,t,r){var n=e[0],i=n.width,a=t.entrywidthmode,o=n.trace.legendwidth||t.entrywidth;return"fraction"===a?t._maxWidth*o:r+(o||i)}function A(e,t,r,n,i){var s=e._fullLayout,l=r.data()[0][0].trace,c=t.itemclick,u=t.itemdoubleclick,d={event:i,node:r.node(),curveNumber:l.index,expandedIndex:l.index,data:e.data,layout:e.layout,frames:e._transitionData._frames,config:e._context,fullData:e._fullData,fullLayout:s};l._group&&(d.group=l._group),a.traceIs(l,"pie-like")&&(d.label=r.datum()[0].label);var f=o.triggerHandler(e,"plotly_legendclick",d);if(1===n){if(!1===f)return;t._clickTimeout=setTimeout((function(){e._fullLayout&&c&&h(r,e,t,c)}),e._context.doubleClickDelay)}else 2===n&&(t._clickTimeout&&clearTimeout(t._clickTimeout),e._legendMouseDownTime=0,!1!==o.triggerHandler(e,"plotly_legenddoubleclick",d)&&!1!==f&&u&&h(r,e,t,u))}function M(e,t,r){var i,o,s=b.getId(r),c=e.data()[0][0],h=c.trace,d=a.traceIs(h,"pie-like"),p=!r._inHover&&t._context.edits.legendText&&!d,m=r._maxNameLength;c.groupTitle?(i=c.groupTitle.text,o=c.groupTitle.font):(o=r.font,r.entries?i=c.text:(i=d?c.label:h.name,h._meta&&(i=n.templateString(i,h._meta))));var g=n.ensureSingle(e,"text",s+"text");g.attr("text-anchor","start").call(l.font,o).text(p?S(i,m):i);var y=r.indentation+r.itemwidth+2*f.itemGap;u.positionText(g,y,0),p?g.call(u.makeEditable,{gd:t,text:i}).call(C,e,t,r).on("edit",(function(n){this.text(S(n,m)).call(C,e,t,r);var i={};return i.name=n,c.trace._isShape?a.call("_guiRelayout",t,"shapes["+h.index+"].name",i.name):a.call("_guiRestyle",t,i,h.index)})):C(g,e,t,r)}function S(e,t){var r=Math.max(4,t);if(e&&e.trim().length>=r/2)return e;for(var n=r-(e=e||"").length;n>0;n--)e+=" ";return e}function E(e,t,i){var a,o=t._context.doubleClickDelay,s=1,l=n.ensureSingle(e,"rect",i+"toggle",(function(e){t._context.staticPlot||e.style("cursor","pointer").attr("pointer-events","all"),e.call(c.fill,"rgba(0,0,0,0)")}));t._context.staticPlot||(l.on("mousedown",(function(){(a=(new Date).getTime())-t._legendMouseDownTimeo&&(s=Math.max(s-1,1)),A(t,n,e,s,r.event)}})))}function C(e,t,r,n,i){n._inHover&&e.attr("data-notex",!0),u.convertToTspans(e,r,(function(){!function(e,t,r,n){var i=e.data()[0][0],a=i&&i.trace.showlegend;if(Array.isArray(a)&&(a=!1!==a[i.i]),r._inHover||!i||a){var o=e.select("g[class*=math-group]"),s=o.node(),c=b.getId(r);r||(r=t._fullLayout[c]);var h,d,p=r.borderwidth,g=(1===n?r.title.font:i.groupTitle?i.groupTitle.font:r.font).size*m;if(s){var y=l.bBox(s);h=y.height,d=y.width,1===n?l.setTranslate(o,p,p+.75*h):l.setTranslate(o,0,.25*h)}else{var v="."+c+(1===n?"title":"")+"text",x=e.select(v),_=u.lineCount(x),w=x.node();if(h=g*_,d=w?l.bBox(w).width:0,1===n)"left"===r.title.side&&(d+=2*f.itemGap),u.positionText(x,p+f.titlePad,p+g);else{var k=2*f.itemGap+r.indentation+r.itemwidth;i.groupTitle&&(k=f.itemGap,d-=r.indentation+r.itemwidth),u.positionText(x,k,-g*((_-1)/2-.3))}}1===n?(r._titleWidth=d,r._titleHeight=h):(i.lineHeight=g,i.height=Math.max(h,16)+3,i.width=d)}else e.remove()}(t,r,n,i)}))}function L(e){return n.isRightAnchor(e)?"right":n.isCenterAnchor(e)?"center":"left"}function I(e){return n.isBottomAnchor(e)?"bottom":n.isMiddleAnchor(e)?"middle":"top"}t.exports=function(e,t){if(t)k(e,t);else{var n=e._fullLayout,i=n._legends;n._infolayer.selectAll('[class^="legend"]').each((function(){var e=r.select(this),t=e.attr("class").split(" ")[0];t.match(_)&&-1===i.indexOf(t)&&e.remove()}));for(var a=0;a$[0]._length||_e<0||_e>K[0]._length)return d.unhoverRaw(e,a)}else be="xpx"in a?a.xpx:$[0]._length/2,_e="ypx"in a?a.ypx:K[0]._length/2;if(a.pointerX=be+$[0]._offset,a.pointerY=_e+K[0]._offset,ne="xval"in a?g.flat(b,a.xval):g.p2c($,be),ie="yval"in a?g.flat(b,a.yval):g.p2c(K,_e),!r(ne[0])||!r(ie[0]))return n.warn("Fx.hover failed",a,e),d.unhoverRaw(e,a)}_.clickanywhere&&(e._hoverXVals=ne,e._hoverYVals=ie,e._hoverXAxes=$,e._hoverYAxes=K);var Ae=1/0;function Me(t,i){for(oe=0;oeme&&(ge.splice(0,me),Ae=ge[0].distance),S&&0!==re&&0===ge.length){pe.distance=re,pe.index=!1;var u=le._module.hoverPoints(pe,de,fe,"closest",{hoverLayer:_._hoverlayer});if(u&&(u=u.filter((function(e){return e.spikeDistance<=re}))),u&&u.length){var d,f=u.filter((function(e){return e.xa.showspikes&&"hovered data"!==e.xa.spikesnap}));if(f.length){var p=f[0];r(p.x0)&&r(p.y0)&&(d=Ee(p),(!ve.vLinePoint||ve.vLinePoint.spikeDistance>d.spikeDistance)&&(ve.vLinePoint=d))}var m=u.filter((function(e){return e.ya.showspikes&&"hovered data"!==e.ya.spikesnap}));if(m.length){var y=m[0];r(y.x0)&&r(y.y0)&&(d=Ee(y),(!ve.hLinePoint||ve.hLinePoint.spikeDistance>d.spikeDistance)&&(ve.hLinePoint=d))}}}}}function Se(e,t,r){for(var n,i=null,a=1/0,o=0;oe.trace.index===Be.trace.index)):[Be]).length;Me(V("x",Be,_),V("y",Be,_));var Ue,Ve=[],qe={},He=0,Ge=function(e){var t=C[e.trace.type]?P(e):e.trace.index;if(qe[t]){var r=qe[t]-1,n=Ve[r];r>0&&Math.abs(e.distance)Ne-1;Ue--)Ge(ge[Ue]);ge=Ve,Pe()}var We=e._hoverdata,Ye=[],Xe=q(e),Ze=G(e);for(let e of ge){var $e=g.makeEventData(e,e.trace,e.cd);if(!1!==e.hovertemplate){var Ke=!1;e.cd[e.index]&&e.cd[e.index].ht&&(Ke=e.cd[e.index].ht),e.hovertemplate=Ke||e.trace.hovertemplate||!1}if(e.xa&&e.ya){var Je=e.x0+e.xa._offset,Qe=e.x1+e.xa._offset,et=e.y0+e.ya._offset,tt=e.y1+e.ya._offset,rt=Math.min(Je,Qe),nt=Math.max(Je,Qe),it=Math.min(et,tt),at=Math.max(et,tt);$e.bbox={x0:rt+Ze,x1:nt+Ze,y0:it+Xe,y1:at+Xe},$e.xPixel=(Je+Qe)/2,$e.yPixel=(et+tt)/2}e.eventData=[$e],Ye.push($e)}e._hoverdata=Ye;var ot="y"===E&&(ye.length>1||ge.length>1)||"closest"===E&&xe&&ge.length>1,st=h.combine(_.plot_bgcolor||h.background,_.paper_bgcolor),lt=O(ge,{gd:e,hovermode:E,rotateLabels:ot,bgColor:st,container:_._hoverlayer,outerContainer:_._paper.node(),commonLabelOpts:_.hoverlabel,hoverdistance:_.hoverdistance}),ct=lt.hoverLabels;if(g.isUnifiedHover(E)||(function(e,t,r,n){var i,a,o,s,l,c,u,h=t?"xa":"ya",d=t?"ya":"xa",f=0,p=1,m=e.size(),g=new Array(m),y=0,v=n.minX,x=n.maxX,b=n.minY,_=n.maxY,w=function(e){return e*r._invScaleX},T=function(e){return e*r._invScaleY};function A(e){var t=e[0],r=e[e.length-1];if(a=t.pmin-t.pos-t.dp+t.size,o=r.pos+r.dp+r.size-t.pmax,a>.01){for(l=e.length-1;l>=0;l--)e[l].dp+=a;i=!1}if(!(o<.01)){if(a<-.01){for(l=e.length-1;l>=0;l--)e[l].dp-=o;i=!1}if(i){var n=0;for(s=0;st.pmax&&n++;for(s=e.length-1;s>=0&&!(n<=0);s--)(c=e[s]).pos>t.pmax-1&&(c.del=!0,n--);for(s=0;s=0;l--)e[l].dp-=o;for(s=e.length-1;s>=0&&!(n<=0);s--)(c=e[s]).pos+c.dp+c.size>t.pmax&&(c.del=!0,n--)}}}for(e.each((function(e){var n=e[h],i=e[d],a="x"===n._id.charAt(0),o=n.range;0===y&&o&&o[0]>o[1]!==a&&(p=-1);var s=0,l=a?r.width:r.height;if("x"===r.hovermode||"y"===r.hovermode){var c,u,f=R(e,t),m=e.anchor,A="end"===m?-1:1;if("middle"===m)u=(c=e.crossPos+(a?T(f.y-e.by/2):w(e.bx/2+e.tx2width/2)))+(a?T(e.by):w(e.bx));else if(a)u=(c=e.crossPos+T(M+f.y)-T(e.by/2-M))+T(e.by);else{var S=w(A*M+f.x),E=S+w(A*e.bx);c=e.crossPos+Math.min(S,E),u=e.crossPos+Math.max(S,E)}a?void 0!==b&&void 0!==_&&Math.min(u,_)-Math.max(c,b)>1&&("left"===i.side?(s=i._mainLinePosition,l=r.width):l=i._mainLinePosition):void 0!==v&&void 0!==x&&Math.min(u,x)-Math.max(c,v)>1&&("top"===i.side?(s=i._mainLinePosition,l=r.height):l=i._mainLinePosition)}g[y++]=[{datum:e,traceIndex:e.trace.index,dp:0,pos:e.pos,posref:e.posref,size:e.by*(a?k:1)/2,pmin:s,pmax:l}]})),g.sort((function(e,t){return e[0].posref-t[0].posref||p*(t[0].traceIndex-e[0].traceIndex)}));!i&&f<=m;){for(f++,i=!0,s=0;s.01){for(l=E.length-1;l>=0;l--)E[l].dp+=a;for(S.push.apply(S,E),g.splice(s+1,1),u=0,l=S.length-1;l>=0;l--)u+=S[l].dp;for(o=u/S.length,l=S.length-1;l>=0;l--)S[l].dp-=o;i=!1}else s++}g.forEach(A)}for(s=g.length-1;s>=0;s--){var I=g[s];for(l=I.length-1;l>=0;l--){var P=I[l],z=P.datum;z.offset=P.dp,z.del=P.del}}}(ct,ot,_,lt.commonLabelBoundingBox),j(ct,ot,_._invScaleX,_._invScaleY)),u&&u.tagName){var ut=m.getComponentMethod("annotations","hasClickToShow")(e,Ye);c(t.select(u),ut?"pointer":"")}var ht=function(e,t,r){if(!r||r.length!==e._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=e._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers)||i.binNumber!==a.binNumber)return!0}return!1}(e,0,We);function dt(t){e.emit("plotly_hover",{event:a,points:t,xaxes:$,yaxes:K,xvals:ne,yvals:ie})}u&&!l&&(ht||_.hoveranywhere)&&(We&&ht&&e.emit("plotly_unhover",{event:a,points:We}),dt(e._hoverdata))}(e,a,o,l,u)}))},e.loneHover=function(e,r){var n=!0;Array.isArray(e)||(n=!1,e=[e]);var i=r.gd,a=q(i),o=G(i),s=!1,l=O(e.map((function(e){var t=e._x0||e.x0||e.x||0,n=e._x1||e.x1||e.x||0,s=e._y0||e.y0||e.y||0,l=e._y1||e.y1||e.y||0,c=e.eventData;if(c){var u=Math.min(t,n),d=Math.max(t,n),f=Math.min(s,l),p=Math.max(s,l),g=e.trace;if(m.traceIs(g,"gl3d")){var y=i._fullLayout[g.scene]._scene.container,v=y.offsetLeft,x=y.offsetTop;u+=v,d+=v,f+=x,p+=x}c.bbox={x0:u+o,x1:d+o,y0:f+a,y1:p+a},c.xPixel=(t+n)/2,c.yPixel=(s+l)/2,r.inOut_bbox&&r.inOut_bbox.push(c.bbox)}else c=!1;return{color:e.color||h.defaultLine,x0:e.x0||e.x||0,x1:e.x1||e.x||0,y0:e.y0||e.y||0,y1:e.y1||e.y||0,xLabel:e.xLabel,yLabel:e.yLabel,zLabel:e.zLabel,text:e.text,name:e.name,idealAlign:e.idealAlign,borderColor:e.borderColor,fontFamily:e.fontFamily,fontSize:e.fontSize,fontColor:e.fontColor,fontWeight:e.fontWeight,fontStyle:e.fontStyle,fontVariant:e.fontVariant,nameLength:e.nameLength,textAlign:e.textAlign,trace:e.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:e.hovertemplate||!1,hovertemplateLabels:e.hovertemplateLabels||!1,eventData:c}})),{gd:i,hovermode:"closest",rotateLabels:s,bgColor:r.bgColor||h.background,container:t.select(r.container),outerContainer:r.outerContainer||r.container}).hoverLabels,c=0,u=0;return l.sort((function(e,t){return e.y0-t.y0})).each((function(e,t){var n=e.y0-e.by/2;e.offset=n-5([\s\S]*)<\/extra>/;function O(e,r){var i=r.gd,s=i._fullLayout,c=r.hovermode,d=r.rotateLabels,f=r.bgColor,p=r.container,_=r.outerContainer,w=r.commonLabelOpts||{};if(0===e.length)return[[]];var k=r.fontFamily||y.HOVERFONT,T=r.fontSize||y.HOVERFONTSIZE,A=r.fontWeight||s.font.weight,S=r.fontStyle||s.font.style,C=r.fontVariant||s.font.variant,L=r.fontTextcase||s.font.textcase,I=r.fontLineposition||s.font.lineposition,z=r.fontShadow||s.font.shadow,O=e[0],R=O.xa,j=O.ya,F=c.charAt(0),B=F+"Label",N=O[B];if(void 0===N&&"multicategory"===R.type)for(var U=0;Us.width-_&&(P=s.width-_),r.attr("d","M"+(y-P)+",0L"+(y-P+M)+","+b+M+"H"+_+"v"+b+(2*E+x.height)+"H"+-_+"V"+b+M+"H"+(y-P-M)+"Z"),y=P,Q.minX=y-_,Q.maxX=y+_,"top"===R.side?(Q.minY=v-(2*E+x.height),Q.maxY=v-E):(Q.minY=v+E,Q.maxY=v+(2*E+x.height))}else{var D,F,B;"right"===j.side?(D="start",F=1,B="",y=R._offset+R._length):(D="end",F=-1,B="-",y=R._offset),v=j._offset+(O.y0+O.y1)/2,o.attr("text-anchor",D),r.attr("d","M0,0L"+B+M+","+M+"V"+(E+x.height/2)+"h"+B+(2*E+x.width)+"V-"+(E+x.height/2)+"H"+B+M+"V-"+M+"Z"),Q.minY=v-(E+x.height/2),Q.maxY=v+(E+x.height/2),"right"===j.side?(Q.minX=y+M,Q.maxX=y+M+(2*E+x.width)):(Q.minX=y-M-(2*E+x.width),Q.maxX=y-M);var U,V=x.height/2,H=q-x.top-V,G="clip"+s._uid+"commonlabel"+j._id;if(y"none"!==e.hoverinfo));if(0===t.length)return[];var ee=s.hoverlabel,te=ee.font,re=t[0],ne=(("x unified"===c?re.xa:re.ya).unifiedhovertitle||{}).text,ie={showlegend:!0,legend:{title:{text:ne?n.hovertemplateString({data:"x unified"===c?[{xa:re.xa,x:re.xVal}]:[{ya:re.ya,y:re.yVal}],fallback:re.trace.hovertemplatefallback,locale:s._d3locale,template:ne}):N,font:te},font:te,bgcolor:ee.bgcolor,bordercolor:ee.bordercolor,borderwidth:1,tracegroupgap:7,traceorder:s.legend?s.legend.traceorder:void 0,orientation:"v"}},ae={font:te};v(ie,ae,i._fullData);var oe=ae.legend;oe.entries=[];for(var se=0;se=0?me:ge+xe=0?ge:Se+xe=0?fe:pe+be=0?pe:Ee+be=0,"top"!==e.idealAlign&&K||!J?K?(B+=V/2,e.anchor="start"):e.anchor="middle":(B-=V/2,e.anchor="end"),e.crossPos=B;else{if(e.pos=B,K=F+U/2+Q<=H,J=F-U/2-Q>=0,"left"!==e.idealAlign&&K||!J)if(K)F+=U/2,e.anchor="start";else{e.anchor="middle";var ee=Q/2,te=F+ee-H,re=F-ee;te>0&&(F-=te),re<0&&(F+=-re)}else F-=U/2,e.anchor="end";e.crossPos=F}w.attr("text-anchor",e.anchor),O&&P.attr("text-anchor",e.anchor),r.attr("transform",a(F,B)+(d?o(b):""))})),{hoverLabels:Ce,commonLabelBoundingBox:Q}}function D(e,t,r,i,a,o){var s,l,c="",u="";void 0!==e.nameOverride&&(e.name=e.nameOverride),e.name&&(e.trace._meta&&(e.name=n.templateString(e.name,e.trace._meta)),c=U(e.name,e.nameLength));var h=r.charAt(0),d="x"===h?"y":"x";void 0!==e.zLabel?(void 0!==e.xLabel&&(u+="x: "+e.xLabel+"
"),void 0!==e.yLabel&&(u+="y: "+e.yLabel+"
"),"choropleth"!==e.trace.type&&"choroplethmap"!==e.trace.type&&(u+=(u?"z: ":"")+e.zLabel)):t&&e[h+"Label"]===a?u=e[d+"Label"]||"":void 0===e.xLabel?void 0!==e.yLabel&&"scattercarpet"!==e.trace.type&&(u=e.yLabel):u=void 0===e.yLabel?e.xLabel:"("+e.xLabel+", "+e.yLabel+")",(e.text||0===e.text)&&!Array.isArray(e.text)&&(u+=(u?"
":"")+e.text),void 0!==e.extraText&&(u+=(u?"
":"")+e.extraText),o&&""===u&&!e.hovertemplate&&(""===c&&o.remove(),u=c),null!=(l=null==(s=e.trace)?void 0:s.hoverlabel)&&l.split&&(e.hovertemplate="");let{hovertemplate:f=!1}=e;if(f){let t=e.hovertemplateLabels||e;e[h+"Label"]!==a&&(t[h+"other"]=t[h+"Val"],t[h+"otherLabel"]=t[h+"Label"]),u=(u=n.hovertemplateString({data:[e.eventData[0]||{},e.trace._meta],fallback:e.trace.hovertemplatefallback,labels:t,locale:i._d3locale,template:f})).replace(z,((t,r)=>(c=U(r,e.nameLength),"")))}return[u,c]}function R(e,t){var r=0,n=e.offset;return t&&(n*=-A,r=e.offset*T),{x:r,y:n}}function j(e,r,n,i){var a=function(e){return e*n},o=function(e){return e*i};e.each((function(e){var n=t.select(this);if(e.del)return n.remove();var i,s=n.select("text.nums"),c=e.anchor,h="end"===c?-1:1,d=function(e){var t={start:1,end:-1,middle:0}[e.anchor],r=t*(M+E),n=r+t*(e.txwidth+E);return"middle"===e.anchor&&(r-=e.tx2width/2,n+=e.txwidth/2+E),{alignShift:t,textShiftX:r,text2ShiftX:n}}(e),f=R(e,r),p=f.x,m=f.y,g="middle"===c,y=!("hoverlabel"in e.trace)||e.trace.hoverlabel.showarrow;i=g?"M-"+a(e.bx/2+e.tx2width/2)+","+o(m-e.by/2)+"h"+a(e.bx)+"v"+o(e.by)+"h-"+a(e.bx)+"Z":y?"M0,0L"+a(h*M+p)+","+o(M+m)+"v"+o(e.by/2-M)+"h"+a(h*e.bx)+"v-"+o(e.by)+"H"+a(h*M+p)+"V"+o(m-M)+"Z":"M"+a(h*M+p)+","+o(m-e.by/2)+"h"+a(h*e.bx)+"v"+o(e.by)+"h"+a(-h*e.bx)+"Z",n.select("path").attr("d",i);var v=p+d.textShiftX,x=m+e.ty0-e.by/2+E,b=e.textAlign||"auto";"auto"!==b&&("left"===b&&"start"!==c?(s.attr("text-anchor","start"),v=g?-e.bx/2-e.tx2width/2+E:-e.bx-E):"right"===b&&"end"!==c&&(s.attr("text-anchor","end"),v=g?e.bx/2-e.tx2width/2-E:e.bx+E)),s.call(l.positionText,a(v),o(x)),e.tx2width&&(n.select("text.name").call(l.positionText,a(d.text2ShiftX+d.alignShift*E+p),o(m+e.ty0-e.by/2+E)),n.select("rect").call(u.setRect,a(d.text2ShiftX+(d.alignShift-1)*e.tx2width/2+p),o(m-e.by/2-1),a(e.tx2width),o(e.by+2)))}))}function F(e,t){var i=e.index,a=e.trace||{},o=e.cd[0],s=e.cd[i]||{};function l(e){return e||r(e)&&0===e}var c=Array.isArray(i)?function(e,t){var r=n.castOption(o,i,e);return l(r)?r:n.extractOption({},a,"",t)}:function(e,t){return n.extractOption(s,a,e,t)};function u(t,r,n){var i=c(r,n);l(i)&&(e[t]=i)}if(u("hoverinfo","hi","hoverinfo"),u("bgcolor","hbg","hoverlabel.bgcolor"),u("borderColor","hbc","hoverlabel.bordercolor"),u("fontFamily","htf","hoverlabel.font.family"),u("fontSize","hts","hoverlabel.font.size"),u("fontColor","htc","hoverlabel.font.color"),u("fontWeight","htw","hoverlabel.font.weight"),u("fontStyle","hty","hoverlabel.font.style"),u("fontVariant","htv","hoverlabel.font.variant"),u("nameLength","hnl","hoverlabel.namelength"),u("textAlign","hta","hoverlabel.align"),e.posref="y"===t||"closest"===t&&"h"===a.orientation?e.xa._offset+(e.x0+e.x1)/2:e.ya._offset+(e.y0+e.y1)/2,e.x0=n.constrain(e.x0,0,e.xa._length),e.x1=n.constrain(e.x1,0,e.xa._length),e.y0=n.constrain(e.y0,0,e.ya._length),e.y1=n.constrain(e.y1,0,e.ya._length),void 0!==e.xLabelVal&&(e.xLabel="xLabel"in e?e.xLabel:f.hoverLabelText(e.xa,e.xLabelVal,a.xhoverformat),e.xVal=e.xa.c2d(e.xLabelVal)),void 0!==e.yLabelVal&&(e.yLabel="yLabel"in e?e.yLabel:f.hoverLabelText(e.ya,e.yLabelVal,a.yhoverformat),e.yVal=e.ya.c2d(e.yLabelVal)),void 0!==e.zLabelVal&&void 0===e.zLabel&&(e.zLabel=String(e.zLabelVal)),!(isNaN(e.xerr)||"log"===e.xa.type&&e.xerr<=0)){var h=f.tickText(e.xa,e.xa.c2l(e.xerr),"hover").text;void 0!==e.xerrneg?e.xLabel+=" +"+h+" / -"+f.tickText(e.xa,e.xa.c2l(e.xerrneg),"hover").text:e.xLabel+=" ± "+h,"x"===t&&(e.distance+=1)}if(!(isNaN(e.yerr)||"log"===e.ya.type&&e.yerr<=0)){var d=f.tickText(e.ya,e.ya.c2l(e.yerr),"hover").text;void 0!==e.yerrneg?e.yLabel+=" +"+d+" / -"+f.tickText(e.ya,e.ya.c2l(e.yerrneg),"hover").text:e.yLabel+=" ± "+d,"y"===t&&(e.distance+=1)}var p=e.hoverinfo||e.trace.hoverinfo;return p&&"all"!==p&&(-1===(p=Array.isArray(p)?p:p.split("+")).indexOf("x")&&(e.xLabel=void 0),-1===p.indexOf("y")&&(e.yLabel=void 0),-1===p.indexOf("z")&&(e.zLabel=void 0),-1===p.indexOf("text")&&(e.text=void 0),-1===p.indexOf("name")&&(e.name=void 0)),e}function B(e,t,r){var n,i,a=r.container,o=r.fullLayout,s=o._size,l=r.event,c=!!t.hLinePoint,d=!!t.vLinePoint;if(a.selectAll(".spikeline").remove(),d||c){var p=h.combine(o.plot_bgcolor,o.paper_bgcolor);if(c){var m,g,y=t.hLinePoint;n=y&&y.xa,"cursor"===(i=y&&y.ya).spikesnap?(m=l.pointerX,g=l.pointerY):(m=n._offset+y.x,g=i._offset+y.y);var v,x,b=h.color(y.color).contrast(h.color(p))<1.5?h.contrast(p):y.color,_=i.spikemode,w=i.spikethickness,k=i.spikecolor||b,T=f.getPxPosition(e,i);if(-1!==_.indexOf("toaxis")||-1!==_.indexOf("across")){if(-1!==_.indexOf("toaxis")&&(v=T,x=m),-1!==_.indexOf("across")){var A=i._counterDomainMin,M=i._counterDomainMax;"free"===i.anchor&&(A=Math.min(A,i.position),M=Math.max(M,i.position)),v=s.l+A*s.w,x=s.l+M*s.w}a.insert("line",":first-child").attr({x1:v,x2:x,y1:g,y2:g,"stroke-width":w,stroke:k,"stroke-dasharray":u.dashStyle(i.spikedash,w)}).classed("spikeline",!0).classed("crisp",!0),a.insert("line",":first-child").attr({x1:v,x2:x,y1:g,y2:g,"stroke-width":w+2,stroke:p}).classed("spikeline",!0).classed("crisp",!0)}-1!==_.indexOf("marker")&&a.insert("circle",":first-child").attr({cx:T+("right"!==i.side?w:-w),cy:g,r:w,fill:k}).classed("spikeline",!0)}if(d){var S,E,C=t.vLinePoint;n=C&&C.xa,i=C&&C.ya,"cursor"===n.spikesnap?(S=l.pointerX,E=l.pointerY):(S=n._offset+C.x,E=i._offset+C.y);var L,I,P=h.color(C.color).contrast(h.color(p))<1.5?h.contrast(p):C.color,z=n.spikemode,O=n.spikethickness,D=n.spikecolor||P,R=f.getPxPosition(e,n);if(-1!==z.indexOf("toaxis")||-1!==z.indexOf("across")){if(-1!==z.indexOf("toaxis")&&(L=R,I=E),-1!==z.indexOf("across")){var j=n._counterDomainMin,F=n._counterDomainMax;"free"===n.anchor&&(j=Math.min(j,n.position),F=Math.max(F,n.position)),L=s.t+(1-F)*s.h,I=s.t+(1-j)*s.h}a.insert("line",":first-child").attr({x1:S,x2:S,y1:L,y2:I,"stroke-width":O,stroke:D,"stroke-dasharray":u.dashStyle(n.spikedash,O)}).classed("spikeline",!0).classed("crisp",!0),a.insert("line",":first-child").attr({x1:S,x2:S,y1:L,y2:I,"stroke-width":O+2,stroke:p}).classed("spikeline",!0).classed("crisp",!0)}-1!==z.indexOf("marker")&&a.insert("circle",":first-child").attr({cx:S,cy:R-("top"!==n.side?O:-O),r:O,fill:D}).classed("spikeline",!0)}}}function N(e,t){return!t||t.vLinePoint!==e._spikepoints.vLinePoint||t.hLinePoint!==e._spikepoints.hLinePoint}function U(e,t){return l.plainText(e||"",{len:t,allowedTags:["br","sub","sup","b","i","em","s","u"]})}function V(e,t,r){var n=t[e+"a"],i=t[e+"Val"],a=t.cd[0];if("category"===n.type||"multicategory"===n.type)i=n._categoriesMap[i];else if("date"===n.type){var o=t.trace[e+"periodalignment"];if(o){var s=t.cd[t.index],l=s[e+"Start"];void 0===l&&(l=s[e]);var c=s[e+"End"];void 0===c&&(c=s[e]);var u=c-l;"end"===o?i+=u:"middle"===o&&(i+=u/2)}i=n.d2c(i)}return a&&a.t&&a.t.posLetter===n._id&&("group"===r.boxmode||"group"===r.violinmode)&&(i+=a.t.dPos),i}var q=e=>e.offsetTop+e.clientTop,G=e=>e.offsetLeft+e.clientLeft;function W(e,t){var r=e._fullLayout,i=t.getBoundingClientRect(),a=i.left,o=i.top,s=a+i.width,l=o+i.height,c=n.apply3DTransform(r._invTransform)(a,o),u=n.apply3DTransform(r._invTransform)(s,l),h=c[0],d=c[1],f=u[0],p=u[1];return{x:h,y:d,width:f-h,height:p-d,top:Math.min(d,p),left:Math.min(h,f),right:Math.max(h,f),bottom:Math.max(d,p)}}}}),Pn=m({"src/components/fx/hoverlabel_defaults.js"(e,t){var r=dr(),n=Fe(),i=en().isUnifiedHover;t.exports=function(e,t,a,o){o=o||{};var s=t.legend;function l(e){o.font[e]||(o.font[e]=s?t.legend.font[e]:t.font[e])}t&&i(t.hovermode)&&(o.font||(o.font={}),l("size"),l("family"),l("color"),l("weight"),l("style"),l("variant"),s?(o.bgcolor||(o.bgcolor=n.combine(t.legend.bgcolor,t.paper_bgcolor)),o.bordercolor||(o.bordercolor=t.legend.bordercolor)):o.bgcolor||(o.bgcolor=t.paper_bgcolor)),a("hoverlabel.bgcolor",o.bgcolor),a("hoverlabel.bordercolor",o.bordercolor),a("hoverlabel.namelength",o.namelength),a("hoverlabel.showarrow",o.showarrow),r.coerceFont(a,"hoverlabel.font",o.font),a("hoverlabel.align",o.align)}}}),zn=m({"src/components/fx/layout_global_defaults.js"(e,t){var r=dr(),n=Pn(),i=G();t.exports=function(e,t){n(e,t,(function(n,a){return r.coerce(e,t,i,n,a)}))}}}),On=m({"src/components/fx/defaults.js"(e,t){var r=dr(),n=W(),i=Pn();t.exports=function(e,t,a,o){var s=r.extendFlat({},o.hoverlabel);t.hovertemplate&&(s.namelength=-1),i(e,t,(function(i,a){return r.coerce(e,t,n,i,a)}),s)}}}),Dn=m({"src/components/fx/hovermode_defaults.js"(e,t){var r=dr(),n=G();t.exports=function(e,t){function i(i,a){return void 0!==t[i]?t[i]:r.coerce(e,t,n,i,a)}return i("clickmode"),i("hoversubplots"),i("hoveranywhere"),i("clickanywhere"),i("hovermode")}}}),Rn=m({"src/components/fx/layout_defaults.js"(e,t){var r=dr(),n=G(),i=Dn(),a=Pn();t.exports=function(e,t){function o(i,a){return r.coerce(e,t,n,i,a)}var s=i(e,t);s&&(o("hoverdistance"),o("spikedistance"),-1!==s.indexOf("unified")&&o("hoversort")),"select"===o("dragmode")&&o("selectdirection");var l=t._has("map"),c=t._has("geo"),u=t._basePlotModules.length;"zoom"===t.dragmode&&((l||c)&&1===u||l&&c&&2===u)&&(t.dragmode="pan"),a(e,t,o),r.coerceFont(o,"hoverlabel.grouptitlefont",t.hoverlabel.font)}}}),jn=m({"src/components/fx/calc.js"(e,t){var r=dr(),n=jt();function i(e,t,n,i){i=i||r.identity,Array.isArray(e)&&(t[0][n]=i(e))}t.exports=function(e){var t=e.calcdata,a=e._fullLayout;function o(e){return function(t){return r.coerceHoverinfo({hoverinfo:t},{_module:e._module},a)}}for(var s=0;s"," plotly-logomark"," "," "," "," "," "," "," "," "," "," "," "," "," ",""].join("")}}}}),qn=m({"src/components/shapes/draw_newshape/constants.js"(e,t){t.exports={CIRCLE_SIDES:32,i000:0,i090:8,i180:16,i270:24,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}}}),Hn=m({"src/components/selections/helpers.js"(e,t){var r=dr().strTranslate;function n(e,t){switch(e.type){case"log":return e.p2d(t);case"date":return e.p2r(t,0,e.calendar);default:return e.p2r(t)}}t.exports={p2r:n,r2p:function(e,t){switch(e.type){case"log":return e.d2p(t);case"date":return e.r2p(t,0,e.calendar);default:return e.r2p(t)}},axValue:function(e){var t="y"===e._id.charAt(0)?1:0;return function(r){return n(e,r[t])}},getTransform:function(e){return r(e.xaxis._offset,e.yaxis._offset)}}}}),Gn=m({"src/components/shapes/draw_newshape/helpers.js"(e){var t=tn(),r=qn(),n=r.CIRCLE_SIDES,i=r.SQRT2,a=Hn(),o=a.p2r,s=a.r2p,l=[0,3,4,5,6,1,2],c=[0,3,4,1,2];function u(e,t){return Math.abs(e-t)<=1e-6}function h(e,t){var r=t[1]-e[1],n=t[2]-e[2];return Math.sqrt(r*r+n*n)}e.writePaths=function(e){var t=e.length;if(!t)return"M0,0Z";for(var r="",n=0;n0&&u{let r=t.charAt(0);return e+(void 0!==a[r].drawn?1:0)}),0)},e.getDataToPixel=function(t,r,n,a,o){var s,l=t._fullLayout._size;if(r)if("domain"===o)s=function(e){return r._length*(a?1-e:e)+r._offset};else{var c=e.shapePositionToRange(r);s=function(e){var t=i(r,n);return r._offset+r.r2p(c(e,!0))+t},"date"===r.type&&(s=e.decodeDate(s))}else s=a?function(e){return l.t+l.h*(1-e)}:function(e){return l.l+l.w*e};return s},e.getPixelToData=function(t,r,n,i){var a,o=t._fullLayout._size;if(r)if("domain"===i)a=function(e){var t=(e-r._offset)/r._length;return n?1-t:t};else{var s=e.rangeToShapePosition(r);a=function(e){return s(r.p2r(e-r._offset))}}else a=n?function(e){return 1-(e-o.t)/o.h}:function(e){return(e-o.l)/o.w};return a},e.roundPositionForSharpStrokeRendering=function(e,t){var r=1===Math.round(t%2),n=Math.round(e);return r?n+.5:n},e.makeShapesOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.shapes[t]||{},n=e._fullLayout._plots[r.xref+r.yref];return n?n._hadPlotinfo=!0:(n={},r.xref&&"paper"!==r.xref&&(n.xaxis=e._fullLayout[r.xref+"axis"]),r.yref&&"paper"!==r.yref&&(n.yaxis=e._fullLayout[r.yref+"axis"])),n.xsizemode=r.xsizemode,n.ysizemode=r.ysizemode,n.xanchor=r.xanchor,n.yanchor=r.yanchor,{options:r,plotinfo:n}},e.makeSelectionsOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.selections[t]||{},n=e._fullLayout._plots[r.xref+r.yref];return n?n._hadPlotinfo=!0:(n={},r.xref&&(n.xaxis=e._fullLayout[r.xref+"axis"]),r.yref&&(n.yaxis=e._fullLayout[r.yref+"axis"])),{options:r,plotinfo:n}},e.getPathString=function(a,o){let s=o.type,l=n.getRefType(o.xref),c=n.getRefType(o.yref),u=a._fullLayout._size;var h,d,f,p,m,g,y,v,x,b,_,w;function k(t,r,n,i){var a;if(t)if("domain"===r)a=i?function(e){return t._offset+t._length*(1-e)}:function(e){return t._offset+t._length*e};else{let r=e.shapePositionToRange(t);a=function(e){return t._offset+t.r2p(r(e,!0))},"path"===n&&"date"===t.type&&(a=e.decodeDate(a))}else a=i?function(e){return u.t+u.h*(1-e)}:function(e){return u.l+u.w*e};return a}if("array"===l?(y=[],h=o.xref.map((function(e){return n.getFromId(a,e)})),y=o.xref.map((function(e,t){return k(h[t],n.getRefType(e),s,!1)}))):y=k(h=n.getFromId(a,o.xref),l,s,!1),"array"===c?(v=[],d=o.yref.map((function(e){return n.getFromId(a,e)})),v=o.yref.map((function(e,t){return k(d[t],n.getRefType(e),s,!0)}))):v=k(d=n.getFromId(a,o.yref),c,s,!0),"path"===s)return function(e,n,i){let a=e.path,o=e.xsizemode,s=e.ysizemode,l=e.xanchor,c=e.yanchor,u=Array.isArray(e.xref),h=Array.isArray(e.yref);var d=0,f=0;return a.replace(t.segmentRE,(function(e){var a=0,p=e.charAt(0),m=t.paramIsX[p],g=t.paramIsY[p],y=t.numParams[p];let v=void 0!==m.drawn,x=void 0!==g.drawn,b=u?n[d]:n,_=h?i[f]:i;var w=e.slice(1).replace(t.paramRE,(function(e){return m[a]?e="pixel"===o?b(l)+Number(e):b(e):g[a]&&(e="pixel"===s?_(c)-Number(e):_(e)),++a>y&&(e="X"),e}));return a>y&&(w=w.replace(/[\s,]*X.*/,""),r.log("Ignoring extra params in segment "+e)),v&&d++,x&&f++,p+w}))}(o,y,v);if("array"===l)f=i(h[0],o.x0shift),p=i(h[1],o.x1shift),x=y[0](o.x0)+f,b=y[1](o.x1)+p;else if(f=i(h,o.x0shift),p=i(h,o.x1shift),"pixel"===o.xsizemode){let e=y(o.xanchor);x=e+o.x0+f,b=e+o.x1+p}else x=y(o.x0)+f,b=y(o.x1)+p;if("array"===c)m=i(d[0],o.y0shift),g=i(d[1],o.y1shift),_=v[0](o.y0)+m,w=v[1](o.y1)+g;else if(m=i(d,o.y0shift),g=i(d,o.y1shift),"pixel"===o.ysizemode){let e=v(o.yanchor);_=e-o.y0+m,w=e-o.y1+g}else _=v(o.y0)+m,w=v(o.y1)+g;if("line"===s)return"M"+x+","+_+"L"+b+","+w;if("rect"===s)return"M"+x+","+_+"H"+b+"V"+w+"H"+x+"Z";var T=(x+b)/2,A=(_+w)/2,M=Math.abs(T-x),S=Math.abs(A-_),E="A"+M+","+S,C=T+M+","+A;return"M"+C+E+" 0 1,1 "+T+","+(A-S)+E+" 0 0,1 "+C+"Z"},e.getPixelShift=i}}),$n=m({"src/components/shapes/display_labels.js"(e,t){var r=dr(),n=cn(),i=Ir(),a=nn(),o=Gn().readPaths,s=Zn(),l=s.getPathString,c=It(),u=Lr().FROM_TL;t.exports=function(e,t,h,d){if(d.selectAll(".shape-label").remove(),h.label.text||h.label.texttemplate){var f;if(h.label.texttemplate){var p={};if("path"!==h.type){var m=n.getFromId(e,h.xref),g=n.getFromId(e,h.yref);let t=Array.isArray(h.xref),r=Array.isArray(h.yref);for(var y in c){var v="function"==typeof c[y],x=!t||c.simpleXVariables.includes(y),b=!r||c.simpleYVariables.includes(y);if(v&&x&&b){var _=c[y](h,m,g);void 0!==_&&(p[y]=_)}}}f=r.texttemplateStringForShapes({data:[p],fallback:h.label.texttemplatefallback,locale:e._fullLayout._d3locale,template:h.label.texttemplate})}else f=h.label.text;var w,k,T,A,M={"data-index":t},S=h.label.font,E=d.append("g").attr(M).classed("shape-label",!0).append("text").attr({"data-notex":1}).classed("shape-label-text",!0).text(f);if(h.path){var C=l(e,h),L=o(C,e);w=1/0,T=1/0,k=-1/0,A=-1/0;for(var I=0;Is.getDataToPixel(e,n,r,!1,i)(t),m=(t,r,n,i)=>s.getDataToPixel(e,n,r,!0,i)(t);if("pixel"===h.xsizemode){let e=p(h.xanchor,void 0,i,c),t=s.getPixelShift(i,h.x0shift),r=s.getPixelShift(i,h.x1shift);w=e+h.x0+t,k=e+h.x1+r}else w=p(h.x0,h.x0shift,i,c),k=p(h.x1,h.x1shift,a,u);if("pixel"===h.ysizemode){let e=m(h.yanchor,void 0,o,d),t=s.getPixelShift(o,h.y0shift),r=s.getPixelShift(o,h.y1shift);T=e-h.y0+t,A=e-h.y1+r}else T=m(h.y0,h.y0shift,o,d),A=m(h.y1,h.y1shift,l,f)}var j=h.label.textangle;"auto"===j&&(j="line"===h.type?function(e,t,r,n){var i,a;return a=Math.abs(r-e),i=r>=e?t-n:n-t,-180/Math.PI*Math.atan2(i,a)}(w,T,k,A):0),E.call((function(t){return t.call(a.font,S).attr({}),i.convertToTspans(t,e),t}));var F=function(e,t,r,n,i,a,o){var s,l,c,h,d=i.label.textposition,f=i.label.textangle,p=i.label.padding,m=i.type,g=Math.PI/180*a,y=Math.sin(g),v=Math.cos(g),x=i.label.xanchor,b=i.label.yanchor;if("line"===m){"start"===d?(s=e,l=t):"end"===d?(s=r,l=n):(s=(e+r)/2,l=(t+n)/2),"auto"===x&&(x="start"===d?"auto"===f?r>e?"left":re?"right":re?"right":re?"left":r1&&(2!==e.length||"Z"!==e[1][0])&&(0===L&&(e[0][0]="M"),t[C]=e,A(),M())}}()}}function V(e,r){(function(e,r){if(t.length)for(var n=0;n_?(M=p,L="y0",S=_,I="y1"):(M=_,L="y1",S=p,I="y0"),re(r),ae(c,o),function(e,t,r){var n=t.xref,i=t.yref,o=a.getFromId(r,n),s=a.getFromId(r,i),l="";"paper"!==n&&!o.autorange&&(l+=n),"paper"!==i&&!s.autorange&&(l+=i),h.setClipUrl(e,l?"clip"+r._fullLayout._uid+l:null,r)}(t,o,e),te.moveFn="move"===D?ne:ie,te.altKey=r.altKey)},doneFn:function(){b(e)||(m(t),oe(c),T(t,e,o),n.call("_guiRelayout",e,u.getUpdateObj()))},clickFn:function(){b(e)||oe(c)}};function re(r){if(b(e))D=null;else if(F)D="path"===r.target.tagName?"move":"start-point"===r.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var n=te.element.getBoundingClientRect(),i=n.right-n.left,a=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!B&&i>10&&a>10&&!r.shiftKey?f.getCursor(o/i,1-s/a):"move";m(t,l),D=l.split("-")[0]}}function ne(r,n){if("path"===o.type){var i=function(e){return e},a=i,u=i;R?N("xanchor",o.xanchor=J(w+r)):(a=function(e){return J($(e)+r)},V&&"date"===V.type&&(a=y.encodeDate(a))),j?N("yanchor",o.yanchor=Q(k+n)):(u=function(e){return Q(K(e)+n)},H&&"date"===H.type&&(u=y.encodeDate(u))),N("path",o.path=A(O,a,u))}else R?N("xanchor",o.xanchor=J(w+r)):(N("x0",o.x0=J(d+r)),N("x1",o.x1=J(x+r))),j?N("yanchor",o.yanchor=Q(k+n)):(N("y0",o.y0=Q(p+n)),N("y1",o.y1=Q(_+n)));t.attr("d",v(e,o)),ae(c,o),l(e,s,o,U)}function ie(r,n){if(B){var i=function(e){return e},a=i,u=i;R?N("xanchor",o.xanchor=J(w+r)):(a=function(e){return J($(e)+r)},V&&"date"===V.type&&(a=y.encodeDate(a))),j?N("yanchor",o.yanchor=Q(k+n)):(u=function(e){return Q(K(e)+n)},H&&"date"===H.type&&(u=y.encodeDate(u))),N("path",o.path=A(O,a,u))}else if(F){if("resize-over-start-point"===D){var h=d+r,f=j?p-n:p+n;N("x0",o.x0=R?h:J(h)),N("y0",o.y0=j?f:Q(f))}else if("resize-over-end-point"===D){var m=x+r,g=j?_-n:_+n;N("x1",o.x1=R?m:J(m)),N("y1",o.y1=j?g:Q(g))}}else{var b=function(e){return-1!==D.indexOf(e)},T=b("n"),q=b("s"),G=b("w"),W=b("e"),Y=T?M+n:M,X=q?S+n:S,Z=G?E+r:E,ee=W?C+r:C;j&&(T&&(Y=M-n),q&&(X=S-n)),(!j&&X-Y>10||j&&Y-X>10)&&(N(L,o[L]=j?Y:Q(Y)),N(I,o[I]=j?X:Q(X))),ee-Z>10&&(N(P,o[P]=R?Z:J(Z)),N(z,o[z]=R?ee:J(ee)))}t.attr("d",v(e,o)),ae(c,o),l(e,s,o,U)}function ae(e,t){(R||j)&&function(){var r="path"!==t.type,n=e.selectAll(".visual-cue").data([0]);n.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":1}).classed("visual-cue",!0);var a=$(R?t.xanchor:i.midRange(r?[t.x0,t.x1]:y.extractPathCoords(t.path,g.paramIsX))),o=K(j?t.yanchor:i.midRange(r?[t.y0,t.y1]:y.extractPathCoords(t.path,g.paramIsY)));if(a=y.roundPositionForSharpStrokeRendering(a,1),o=y.roundPositionForSharpStrokeRendering(o,1),R&&j){var s="M"+(a-1-1)+","+(o-1-1)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";n.attr("d",s)}else if(R){var l="M"+(a-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";n.attr("d",l)}else{var c="M"+(a-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";n.attr("d",c)}}()}function oe(e){e.selectAll(".visual-cue").remove()}f.init(te),ee.node().onmousemove=re}(e,F,w,t,c,R):!0===w.editable&&F.style("pointer-events",O||u.opacity(L)*C<=.5?"stroke":"all");F.node().addEventListener("click",(function(){return function(e,t){if(_(e)){var r=+t.node().getAttribute("data-index");if(r>=0){if(r===e._fullLayout._activeShapeIndex)return void M(e);e._fullLayout._activeShapeIndex=r,e._fullLayout._deactivateShape=M,x(e)}}}(e,F)})),function(e,t,r){if(!r?.id)return;let n=t.node();function i(e){var t;let n=r.mainplotinfo||r,i=null==(t=n?.draglayer)?void 0:t.select(".nsewdrag").node();return i?{clientX:e.clientX,clientY:e.clientY,target:i}:null}n.addEventListener("mousemove",(t=>{if(!e._dragging&&e._fullLayout.hoveranywhere){let n=i(t);n&&p.hover(e,n,r.id)}})),n.addEventListener("click",(t=>{if(!e._dragged&&e._fullLayout.clickanywhere){let n=i(t);n&&p.click(e,n,r.id)}}))}(e,F,k)}"above"===w.layer?E(e._fullLayout._shapeUpperLayer):w.xref.includes("paper")||w.yref.includes("paper")?E(e._fullLayout._shapeLowerLayer):"between"!==w.layer||S?k._hadPlotinfo?E((k.mainplotinfo||k).shapelayer):E(e._fullLayout._shapeLowerLayer):E(k.shapelayerBetween)}function T(e,t,r){let n=r.xref,o=r.yref;if(Array.isArray(n)||Array.isArray(o)){let s="clip"+t._fullLayout._uid+"shape"+r._index,l=function(e,t,r){let n=e._fullLayout._size;function i(t,r){let i=(Array.isArray(t)?t:[t]).map((t=>a.getFromId(e,t))).filter(Boolean);if(!i.length)return r?[n.t,n.t+n.h]:[n.l,n.l+n.w];let o=i.map((function(e){return e._offset})),s=i.map((function(e){return e._offset+e._length}));return[Math.min(...o),Math.max(...s)]}let o=i(t,!1),s=i(r,!0);return{x:o[0],y:s[0],width:o[1]-o[0],height:s[1]-s[0]}}(t,n,o);i.ensureSingleById(t._fullLayout._clips,"clipPath",s,(function(e){e.append("rect")})).select("rect").attr(l),h.setClipUrl(e,s,t)}else{let r=(n+o).replace(/paper/g,"").replace(/[xyz][0-9]* *domain/g,"");h.setClipUrl(e,r?"clip"+t._fullLayout._uid+r:null,t)}}function A(e,t,r){return e.replace(g.segmentRE,(function(e){var n=0,i=e.charAt(0),a=g.paramIsX[i],o=g.paramIsY[i],s=g.numParams[i];return i+e.slice(1).replace(g.paramRE,(function(e){return n>=s||(a[n]?e=t(e):o[n]&&(e=r(e)),n++),e}))}))}function M(e){_(e)&&e._fullLayout._activeShapeIndex>=0&&(c(e),delete e._fullLayout._activeShapeIndex,x(e))}t.exports={draw:x,drawOne:k,eraseActiveShape:function(e){if(_(e)){c(e);var t=e._fullLayout._activeShapeIndex,r=(e.layout||{}).shapes||[];if(t-e)),[h,d]=a.invert(l.midPt),{minscale:f}=i.projection,p=null!=(n=i.projection.maxscale)?n:1/0,m=Math.min(f,p),g=Math.max(f,p),y="in"===o?2*s:.5*s;y>g?y=g:yai});var ni,ii,ai,oi=p({"src/components/modebar/attributes.ts"(){ni=v(ti()),ii={editType:"modebar",orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar",description:"Sets the orientation of the modebar."},bgcolor:{valType:"color",editType:"modebar",description:"Sets the background color of the modebar."},color:{valType:"color",editType:"modebar",description:"Sets the color of the icons in the modebar."},activecolor:{valType:"color",editType:"modebar",description:"Sets the color of the active or hovered on icons in the modebar."},uirevision:{valType:"any",editType:"none",description:["Controls persistence of user-driven changes related to the modebar,","including `hovermode`, `dragmode`, and `showspikes` at both the","root level and inside subplots. Defaults to `layout.uirevision`."].join(" ")},add:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar",description:["Determines which predefined modebar buttons to add.","Please note that these buttons will only be shown if they are","compatible with all trace types used in a graph.","Similar to `config.modeBarButtonsToAdd` option.",`This may include *${ni.default.backButtons.join("*, *")}*.`].join(" ")},remove:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar",description:["Determines which predefined modebar buttons to remove.","Similar to `config.modeBarButtonsToRemove` option.",`This may include *${ni.default.foreButtons.join("*, *")}*.`].join(" ")}},ai=ii}}),si=m({"src/components/modebar/defaults.js"(e,t){var r=dr(),n=Fe(),i=_r(),a=(oi(),x(ri)).default;t.exports=function(e,t){var o=e.modebar||{},s=i.newContainer(t,"modebar");function l(e,t){return r.coerce(o,s,a,e,t)}l("orientation"),l("bgcolor",n.addOpacity(t.paper_bgcolor,.5));var c=n.contrast(n.rgb(t.modebar.bgcolor));l("color",n.addOpacity(c,.3)),l("activecolor",n.addOpacity(c,.7)),l("uirevision",t.uirevision),l("add"),l("remove")}}}),li=m({"src/components/modebar/modebar.js"(e,t){var r=w(),n=S(),i=dr(),a=Vn(),o=b().version,s=new DOMParser;function l(e){this.container=e.container,this.element=document.createElement("div"),this.update(e.graphInfo,e.buttons),this.container.appendChild(this.element)}var c=l.prototype;c.update=function(e,t){this.graphInfo=e;var r=this.graphInfo._context,n=this.graphInfo._fullLayout,a="modebar-"+n._uid;this.element.setAttribute("id",a),this.element.setAttribute("role","toolbar"),this._uid=a,this.element.className="modebar modebar--custom","hover"===r.displayModeBar&&(this.element.className+=" modebar--hover ease-bg"),"v"===n.modebar.orientation&&(this.element.className+=" vertical",t=t.reverse());var o=n.modebar,s="#"+a+" .modebar-group";document.querySelectorAll(s).forEach((function(e){e.style.backgroundColor=o.bgcolor}));var l=!this.hasButtons(t),c=this.hasLogo!==r.displaylogo,u=this.locale!==r.locale;if(this.locale=r.locale,(l||c||u)&&(this.removeAllButtons(),this.updateButtons(t),r.watermark||r.displaylogo)){var h=this.getLogo();r.watermark&&(h.className=h.className+" watermark"),"v"===n.modebar.orientation?this.element.insertBefore(h,this.element.childNodes[0]):this.element.appendChild(h),this.hasLogo=!0}this.updateActiveButton(),i.setStyleOnHover("#"+a+" .modebar-btn",".active",".icon path","fill: "+o.activecolor,"fill: "+o.color,this.element)},c.updateButtons=function(e){var t=this;this.buttons=e,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach((function(e){var r=t.createGroup();e.forEach((function(e){var n=e.name;if(!n)throw new Error("must provide button 'name' in button config");if(-1!==t.buttonsNames.indexOf(n))throw new Error("button name '"+n+"' is taken");t.buttonsNames.push(n);var i=t.createButton(e);t.buttonElements.push(i),r.appendChild(i)})),t.element.appendChild(r)}))},c.createGroup=function(){var e=document.createElement("div");e.className="modebar-group";var t=this.graphInfo._fullLayout.modebar;return e.style.backgroundColor=t.bgcolor,e},c.createButton=function(e){var t=this,n=document.createElement("button");n.setAttribute("type","button"),n.setAttribute("rel","tooltip"),n.className="modebar-btn";var i=e.title;void 0===i?i=e.name:"function"==typeof i&&(i=i(this.graphInfo)),(i||0===i)&&(n.setAttribute("data-title",i),n.setAttribute("aria-label",i)),void 0!==e.attr&&n.setAttribute("data-attr",e.attr);var o=e.val;if(void 0!==o&&("function"==typeof o&&(o=o(this.graphInfo)),n.setAttribute("data-val",o)),"function"!=typeof e.click)throw new Error("must provide button 'click' function in button config");n.addEventListener("click",(function(r){e.click(t.graphInfo,r),t.updateActiveButton(r.currentTarget)})),n.setAttribute("data-toggle",e.toggle||!1),e.toggle&&r.select(n).classed("active",!0);var s=e.icon;return"function"==typeof s?n.appendChild(s()):n.appendChild(this.createIcon(s||a.question)),n.setAttribute("data-gravity",e.gravity||"n"),n},c.createIcon=function(e){var t,r=n(e.height)?Number(e.height):e.ascent-e.descent,i="http://www.w3.org/2000/svg";if(e.path){(t=document.createElementNS(i,"svg")).setAttribute("viewBox",[0,0,e.width,r].join(" ")),t.setAttribute("class","icon");var a=document.createElementNS(i,"path");a.setAttribute("d",e.path),e.transform?a.setAttribute("transform",e.transform):void 0!==e.ascent&&a.setAttribute("transform","matrix(1 0 0 -1 0 "+e.ascent+")"),t.appendChild(a)}return e.svg&&(t=s.parseFromString(e.svg,"application/xml").childNodes[0]),t.setAttribute("height","1em"),t.setAttribute("width","1em"),t},c.updateActiveButton=function(e){var t=this.graphInfo._fullLayout,n=void 0!==e?e.getAttribute("data-attr"):null;this.buttonElements.forEach((function(e){var a=e.getAttribute("data-val")||!0,o=e.getAttribute("data-attr"),s="true"===e.getAttribute("data-toggle"),l=r.select(e),c=function(e,r){var n=t.modebar,i=e.querySelector(".icon path");i&&(r||e.matches(":hover")?i.style.fill=n.activecolor:i.style.fill=n.color)};if(s){if(o===n){var u=!l.classed("active");l.classed("active",u),c(e,u)}}else{var h=null===o?o:i.nestedProperty(t,o).get();l.classed("active",h===a),c(e,h===a)}}))},c.hasButtons=function(e){var t=this.buttons;if(!t||e.length!==t.length)return!1;for(var r=0;r1?(I=["toggleHover"],P=["resetViews"]):y?(L=["zoomInGeo","zoomOutGeo"],I=["hoverClosestGeo"],P=["resetGeo"]):g?(I=["hoverClosest3d"],P=["resetCameraDefault3d","resetCameraLastSave3d"]):_?(L=["zoomInMap","zoomOutMap"],I=["toggleHover"],P=["resetViewMap"]):v?I=["hoverClosestPie"]:T?(I=["hoverClosestCartesian","hoverCompareCartesian"],P=["resetViewSankey"]):I=["toggleHover"],m&&I.push("toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"),(function(e){for(var t=0;tn?i.slice(n):a.slice(r))+o:i+a+e*t:o}function p(e,t){for(var r=t._size,n=r.h/r.w,i={},a=Object.keys(e),o=0;os*x)||k)for(i=0;iz&&jI&&(I=j);d/=(I-L)/(2*P),L=c.l2r(L),I=c.l2r(I),c.range=c._input.range=S=e[1]||i[1]<=e[0])&&a[0]t[0])return!0}return!1}function b(r){var a,o,c,f,p,m,g=r._fullLayout,y=g._size,b=y.p,w=h.list(r,"",!0);if(g._paperdiv.style({width:r._context.responsive&&g.autosize&&!r._context._hasZeroWidth&&!r.layout.width?"100%":g.width+"px",height:r._context.responsive&&g.autosize&&!r._context._hasZeroHeight&&!r.layout.height?"100%":g.height+"px"}).selectAll(".main-svg").call(l.setSize,g.width,g.height),r._context.setBackground(r,g.paper_bgcolor),e.drawMainTitle(r),u.manage(r),!g._has("cartesian"))return n.previousPromises(r);function k(e,t,r){var n=e._lw/2;return"x"===e._id.charAt(0)?t?"top"===r?t._offset-b-n:t._offset+t._length+b+n:y.t+y.h*(1-(e.position||0))+n%1:t?"right"===r?t._offset+t._length+b+n:t._offset-b-n:y.l+y.w*(e.position||0)+n%1}for(a=0;a.5?"t":"b",o=e._fullLayout.margin[a],s=0;return"paper"===t.yref?s=r+t.pad.t+t.pad.b:"container"===t.yref&&(s=function(e,t,r,n,i){var a=0;return"middle"===r&&(a+=i/2),"t"===e?("top"===r&&(a+=i),a+=n-t*n):("bottom"===r&&(a+=i),a+=t*n),a}(a,n,i,e._fullLayout.height,r)+t.pad.t+t.pad.b),s>o?s:0}(e,r,m);if(g>0){(function(e,t,r,a){var o="title.automargin",s=e._fullLayout.title,l=s.y>.5?"t":"b",c={x:s.x,y:s.y,t:0,b:0},u={};"paper"===s.yref&&function(e,t,r,n,a){var o="paper"===t.yref?e._fullLayout._size.h:e._fullLayout.height,s=i.isTopAnchor(t)?n:n-a,l="b"===r?o-s:s;return!(i.isTopAnchor(t)&&"t"===r||i.isBottomAnchor(t)&&"b"===r)&&l=0;T--){var A=i.append("path").attr(g).style("opacity",T?.1:y).call(a.stroke,x).call(a.fill,v).call(o.dashLine,T?"solid":_,T?4+b:b);if(f(A,e,d),w){var M=s(e.layout,"selections",d);A.style({cursor:"move"});var S={element:A.node(),plotinfo:m,gd:e,editHelpers:M,isActiveSelection:!0},E=r(l,e);n(E,A,S)}else A.style("pointer-events",T?"all":"none");k[T]=A}var C=k[0];k[1].node().addEventListener("click",(function(){return function(e,t){if(h(e)){var r=+t.node().getAttribute("data-index");if(r>=0){if(r===e._fullLayout._activeSelectionIndex)return void p(e);e._fullLayout._activeSelectionIndex=r,e._fullLayout._deactivateSelection=p,u(e)}}}(e,C)}))}(e._fullLayout._selectionLayer)}function f(e,t,r){var n=r.xref+r.yref;o.setClipUrl(e,"clip"+t._fullLayout._uid+n,t)}function p(e){h(e)&&e._fullLayout._activeSelectionIndex>=0&&(i(e),delete e._fullLayout._activeSelectionIndex,u(e))}t.exports={draw:u,drawOne:d,activateLastSelection:function(e){if(h(e)){var t=e._fullLayout.selections.length-1;e._fullLayout._activeSelectionIndex=t,e._fullLayout._deactivateSelection=p,u(e)}}}}}),mi=m({"node_modules/polybooljs/lib/build-log.js"(e,t){t.exports=function(){var e,t=0,r=!1;function n(t,r){return e.list.push({type:t,data:r?JSON.parse(JSON.stringify(r)):void 0}),e}return e={list:[],segmentId:function(){return t++},checkIntersection:function(e,t){return n("check",{seg1:e,seg2:t})},segmentChop:function(e,t){return n("div_seg",{seg:e,pt:t}),n("chop",{seg:e,pt:t})},statusRemove:function(e){return n("pop_seg",{seg:e})},segmentUpdate:function(e){return n("seg_update",{seg:e})},segmentNew:function(e,t){return n("new_seg",{seg:e,primary:t})},segmentRemove:function(e){return n("rem_seg",{seg:e})},tempStatus:function(e,t,r){return n("temp_status",{seg:e,above:t,below:r})},rewind:function(e){return n("rewind",{seg:e})},status:function(e,t,r){return n("status",{seg:e,above:t,below:r})},vert:function(t){return t===r?e:(r=t,n("vert",{x:t}))},log:function(e){return"string"!=typeof e&&(e=JSON.stringify(e,!1," ")),n("log",{txt:e})},reset:function(){return n("reset")},selected:function(e){return n("selected",{segs:e})},chainStart:function(e){return n("chain_start",{seg:e})},chainRemoveHead:function(e,t){return n("chain_rem_head",{index:e,pt:t})},chainRemoveTail:function(e,t){return n("chain_rem_tail",{index:e,pt:t})},chainNew:function(e,t){return n("chain_new",{pt1:e,pt2:t})},chainMatch:function(e){return n("chain_match",{index:e})},chainClose:function(e){return n("chain_close",{index:e})},chainAddHead:function(e,t){return n("chain_add_head",{index:e,pt:t})},chainAddTail:function(e,t){return n("chain_add_tail",{index:e,pt:t})},chainConnect:function(e,t){return n("chain_con",{index1:e,index2:t})},chainReverse:function(e){return n("chain_rev",{index:e})},chainJoin:function(e,t){return n("chain_join",{index1:e,index2:t})},done:function(){return n("done")}}}}}),gi=m({"node_modules/polybooljs/lib/epsilon.js"(e,t){t.exports=function(e){"number"!=typeof e&&(e=1e-10);var t={epsilon:function(t){return"number"==typeof t&&(e=t),e},pointAboveOrOnLine:function(t,r,n){var i=r[0],a=r[1],o=n[0],s=n[1],l=t[0];return(o-i)*(t[1]-a)-(s-a)*(l-i)>=-e},pointBetween:function(t,r,n){var i=t[1]-r[1],a=n[0]-r[0],o=t[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l-e)},pointsSameX:function(t,r){return Math.abs(t[0]-r[0])e!=o-i>e&&(a-c)*(i-u)/(o-u)+c-n>e&&(s=!s),a=c,o=u}return s}};return t}}}),yi=m({"node_modules/polybooljs/lib/linked-list.js"(e,t){t.exports={create:function(){var e={root:{root:!0,next:null},exists:function(t){return!(null===t||t===e.root)},isEmpty:function(){return null===e.root.next},getHead:function(){return e.root.next},insertBefore:function(t,r){for(var n=e.root,i=e.root.next;null!==i;){if(r(i))return t.prev=i.prev,t.next=i,i.prev.next=t,void(i.prev=t);n=i,i=i.next}n.next=t,t.prev=n,t.next=null},findTransition:function(t){for(var r=e.root,n=e.root.next;null!==n&&!t(n);)r=n,n=n.next;return{before:r===e.root?null:r,after:n,insert:function(e){return e.prev=r,e.next=n,r.next=e,null!==n&&(n.prev=e),e}}}};return e},node:function(e){return e.prev=null,e.next=null,e.remove=function(){e.prev.next=e.next,e.next&&(e.next.prev=e.prev),e.prev=null,e.next=null},e}}}}),vi=m({"node_modules/polybooljs/lib/intersecter.js"(e,t){var r=yi();t.exports=function(e,t,n){function i(e,t){return{id:n?n.segmentId():-1,start:e,end:t,myFill:{above:null,below:null},otherFill:null}}function a(e,t,r){return{id:n?n.segmentId():-1,start:e,end:t,myFill:{above:r.myFill.above,below:r.myFill.below},otherFill:null}}var o=r.create();function s(e,r){o.insertBefore(e,(function(n){var i=function(e,r,n,i,a,o){var s=t.pointsCompare(r,a);return 0!==s?s:t.pointsSame(n,o)?0:e!==i?e?1:-1:t.pointAboveOrOnLine(n,i?a:o,i?o:a)?1:-1}(e.isStart,e.pt,r,n.isStart,n.pt,n.other.pt);return i<0}))}function l(e,t){var n=function(e,t){var n=r.node({isStart:!0,pt:e.start,seg:e,primary:t,other:null,status:null});return s(n,e.end),n}(e,t);return function(e,t,n){var i=r.node({isStart:!1,pt:t.end,seg:t,primary:n,other:e,status:null});e.other=i,s(i,e.pt)}(n,e,t),n}function c(e,t){var r=a(t,e.seg.end,e.seg);return function(e,t){n&&n.segmentChop(e.seg,t),e.other.remove(),e.seg.end=t,e.other.pt=t,s(e.other,e.pt)}(e,t),l(r,e.primary)}function u(i,a){var s=r.create();function l(e){return s.findTransition((function(r){var n=function(e,r){var n=e.seg.start,i=e.seg.end,a=r.seg.start,o=r.seg.end;return t.pointsCollinear(n,a,o)?t.pointsCollinear(i,a,o)||t.pointAboveOrOnLine(i,a,o)?1:-1:t.pointAboveOrOnLine(n,a,o)?1:-1}(e,r.ev);return n>0}))}function u(e,r){var i=e.seg,a=r.seg,o=i.start,s=i.end,l=a.start,u=a.end;n&&n.checkIntersection(i,a);var h=t.linesIntersect(o,s,l,u);if(!1===h){if(!t.pointsCollinear(o,s,l)||t.pointsSame(o,u)||t.pointsSame(s,l))return!1;var d=t.pointsSame(o,l),f=t.pointsSame(s,u);if(d&&f)return r;var p=!d&&t.pointBetween(o,l,u),m=!f&&t.pointBetween(s,l,u);if(d)return m?c(r,s):c(e,u),r;p&&(f||(m?c(r,s):c(e,u)),c(r,o))}else 0===h.alongA&&(-1===h.alongB?c(e,l):0===h.alongB?c(e,h.pt):1===h.alongB&&c(e,u)),0===h.alongB&&(-1===h.alongA?c(r,o):0===h.alongA?c(r,h.pt):1===h.alongA&&c(r,s));return!1}for(var h=[];!o.isEmpty();){var d=o.getHead();if(n&&n.vert(d.pt[0]),d.isStart){let t=function(){if(p){var e=u(d,p);if(e)return e}return!!m&&u(d,m)};n&&n.segmentNew(d.seg,d.primary);var f=l(d),p=f.before?f.before.ev:null,m=f.after?f.after.ev:null;n&&n.tempStatus(d.seg,!!p&&p.seg,!!m&&m.seg);var g,y=t();if(y&&(e?(g=null===d.seg.myFill.below||d.seg.myFill.above!==d.seg.myFill.below)&&(y.seg.myFill.above=!y.seg.myFill.above):y.seg.otherFill=d.seg.myFill,n&&n.segmentUpdate(y.seg),d.other.remove(),d.remove()),o.getHead()!==d){n&&n.rewind(d.seg);continue}if(e)g=null===d.seg.myFill.below||d.seg.myFill.above!==d.seg.myFill.below,d.seg.myFill.below=m?m.seg.myFill.above:i,d.seg.myFill.above=g?!d.seg.myFill.below:d.seg.myFill.below;else if(null===d.seg.otherFill){var v;v=m?d.primary===m.primary?m.seg.otherFill.above:m.seg.myFill.above:d.primary?a:i,d.seg.otherFill={above:v,below:v}}n&&n.status(d.seg,!!p&&p.seg,!!m&&m.seg),d.other.status=f.insert(r.node({ev:d}))}else{var x=d.status;if(null===x)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(s.exists(x.prev)&&s.exists(x.next)&&u(x.prev.ev,x.next.ev),n&&n.statusRemove(x.ev.seg),x.remove(),!d.primary){var b=d.seg.myFill;d.seg.myFill=d.seg.otherFill,d.seg.otherFill=b}h.push(d.seg)}o.getHead().remove()}return n&&n.done(),h}return e?{addRegion:function(e){for(var r,n=e[e.length-1],a=0;aa!=f>a&&i<(d-u)*(a-h)/(f-h)+u&&(o=!o)}return o}}}),Ti=m({"src/lib/polygon.js"(e,t){var r=Tt().dot,n=E().BADNUM,i=t.exports={};i.tester=function(e){var t,r=e.slice(),i=r[0][0],a=i,o=r[0][1],s=o;for((r[r.length-1][0]!==r[0][0]||r[r.length-1][1]!==r[0][1])&&r.push(r[0]),t=1;ta||c===n||cs||t&&l(e))}:function(e,t){var l=e[0],c=e[1];if(l===n||la||c===n||cs)return!1;var u,h,d,f,p,m=r.length,g=r[0][0],y=r[0][1],v=0;for(u=1;uMath.max(h,g)||c>Math.max(d,y)))if(cu||Math.abs(r(o,d))>i)return!0;return!1},i.filter=function(e,t){var r=[e[0]],n=0,a=0;function o(o){e.push(o);var s=r.length,l=n;r.splice(a+1);for(var c=l+1;c1&&o(e.pop()),{addPt:o,raw:e,filtered:r}}}}),Ai=m({"src/components/selections/constants.js"(e,t){t.exports={BENDPX:1.5,MINSELECT:12,SELECTDELAY:100,SELECTID:"-select"}}}),Mi=m({"src/components/selections/select.js"(e,t){var r=wi(),n=ki(),i=jt(),a=nn().dashStyle,o=Fe(),s=Bn(),l=en().makeEventData,c=Nn(),u=c.freeMode,h=c.rectMode,d=c.drawMode,f=c.openMode,p=c.selectMode,m=Zn(),g=Xn(),y=Kn(),v=Tr().clearOutline,x=Gn(),b=x.handleEllipse,_=x.readPaths,w=Wn().newShapes,k=Yn(),T=pi().activateLastSelection,A=dr(),M=A.sorterAsc,S=Ti(),E=Zt(),C=kr().getFromId,L=Un(),I=fi().redrawReglTraces,P=Ai(),z=P.MINSELECT,O=S.filter,D=S.tester,R=Hn(),j=R.p2r,F=R.axValue,B=R.getTransform;function N(e){return void 0!==e.subplot}function U(e,t,r,n,i,a,o){var s,l,c,u,h,d,p,m,g,v=t._hoverdata,x=t._fullLayout.clickmode.indexOf("event")>-1,b=[];if(function(e){return e&&Array.isArray(e)&&!0!==e[0].hoverOnBox}(v)){G(e,t,a);var _=function(e,t){var r,n,i=e[0],a=-1,o=[];for(n=0;n0?function(e,t){var r,n,i,a=[];for(i=0;i0&&a.push(r);if(1===a.length&&a[0]===t.searchInfo&&(n=t.searchInfo.cd[0].trace).selectedpoints.length===t.pointNumbers.length){for(i=0;i1||(n+=t.selectedpoints.length)>1))return!1;return 1===n}(s)&&(d=$(_))){for(o&&o.remove(),g=0;g=0})(a)&&a._fullLayout._deactivateShape(a),function(e){return e._fullLayout._activeSelectionIndex>=0}(a)&&a._fullLayout._deactivateSelection(a);var o=a._fullLayout._zoomlayer,s=d(r),l=p(r);if(s||l){var c,u,h=o.selectAll(".select-outline-"+n.id);h&&a._fullLayout._outlining&&(s&&(c=w(h,e)),c&&i.call("_guiRelayout",a,{shapes:c}),l&&!N(e)&&(u=k(h,e)),u&&(a._fullLayout._noEmitSelectedAtStart=!0,i.call("_guiRelayout",a,{selections:u}).then((function(){t&&T(a)}))),a._fullLayout._outlining=!1)}n.selection={},n.selection.selectionDefs=e.selectionDefs=[],n.selection.mergedPolygons=e.mergedPolygons=[]}function Y(e){return e._id}function X(e,t,r,n){if(!e.calcdata)return[];var i,a,o,s=[],l=t.map(Y),c=r.map(Y);for(o=0;o0?n[0]:r;return!!t.selectedpoints&&t.selectedpoints.indexOf(i)>-1}function K(e,t,r){var n,a;for(n=0;n-1&&t;if(!a&&t){var re=ae(e,!0);if(re.length){var de=re[0].xref,fe=re[0].yref;if(de&&fe){var pe=le(re);ce([C(e,de,"x"),C(e,fe,"y")])(Q,pe)}}e._fullLayout._noEmitSelectedAtStart?e._fullLayout._noEmitSelectedAtStart=!1:ee&&ue(e,Q),f._reselect=!1}if(!a&&f._deselect){var me=f._deselect;(function(e,t,r){for(var n=0;n=0)T._fullLayout._deactivateShape(T);else if(!x){var r=M.clickmode;E.done(Me).then((function(){if(E.clear(Me),2===e){for(be.remove(),Q=0;Q-1&&U(t,T,n.xaxes,n.yaxes,n.subplot,n,be),"event"===r&&ue(T,void 0);s.click(T,t,I.id)})).catch(A.error)}},n.doneFn=function(){Te.remove(),E.done(Me).then((function(){E.clear(Me),!S&&$&&n.selectionDefs&&($.subtract=xe,n.selectionDefs.push($),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,Z)),(S||x)&&W(n,S),n.doneFnCompleted&&n.doneFnCompleted(Se),_&&ue(T,ae)})).catch(A.error)}},clearOutline:v,clearSelectionsCache:W,selectOnClick:U}}}),Si=m({"src/components/annotations/arrow_paths.js"(e,t){t.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]}}),Ei=m({"src/constants/axis_placeable_objects.js"(e,t){t.exports={axisRefDescription:function(e,t,r){return["If set to a",e,"axis id (e.g. *"+e+"* or","*"+e+"2*), the `"+e+"` position refers to a",e,"coordinate. If set to *paper*, the `"+e+"`","position refers to the distance from the",t,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",t,"("+r+"). If set to a",e,"axis ID followed by","*domain* (separated by a space), the position behaves like for","*paper*, but refers to the distance in fractions of the domain","length from the",t,"of the domain of that axis: e.g.,","*"+e+"2 domain* refers to the domain of the second",e,"axis and a",e,"position of 0.5 refers to the","point between the",t,"and the",r,"of the domain of the","second",e,"axis."].join(" ")}}}}),Ci=m({"src/components/annotations/attributes.js"(e,t){var r=Si(),n=q(),i=wr(),a=_r().templatedArray;Ei(),t.exports=a("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:n({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw"},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:r.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:r.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",i.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",i.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",i.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",i.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw"},xclick:{valType:"any",editType:"arraydraw"},yclick:{valType:"any",editType:"arraydraw"},hovertext:{valType:"string",editType:"arraydraw"},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw"},bordercolor:{valType:"color",editType:"arraydraw"},font:n({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc"})}}),Li=m({"src/traces/scatter/constants.js"(e,t){t.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}}}),Ii=m({"src/traces/scatter/fillcolor_attribute.js"(e,t){t.exports=function(e){return{valType:"color",editType:"style",anim:!0}}}}),Pi=m({"src/traces/scatter/attributes.js"(e,t){var r=zr().axisHoverFormat,{hovertemplateAttrs:n,texttemplateAttrs:i,templatefallbackAttrs:a}=Lt(),o=Rr(),s=q(),l=Et().dash,c=Et().pattern,u=nn(),h=Li(),d=V().extendFlat,f=Ii();t.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0},dx:{valType:"number",dflt:1,editType:"calc",anim:!0},y:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0},dy:{valType:"number",dflt:1,editType:"calc",anim:!0},xperiod:{valType:"any",dflt:0,editType:"calc"},yperiod:{valType:"any",dflt:0,editType:"calc"},xperiod0:{valType:"any",editType:"calc"},yperiod0:{valType:"any",editType:"calc"},xperiodalignment:{valType:"enumerated",values:["start","middle","end"],dflt:"middle",editType:"calc"},yperiodalignment:{valType:"enumerated",values:["start","middle","end"],dflt:"middle",editType:"calc"},xhoverformat:r("x"),yhoverformat:r("y"),offsetgroup:{valType:"string",dflt:"",editType:"calc"},alignmentgroup:{valType:"string",dflt:"",editType:"calc"},stackgroup:{valType:"string",dflt:"",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc"},groupnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},stackgaps:{valType:"enumerated",values:["infer zero","interpolate"],dflt:"infer zero",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},texttemplate:i(),texttemplatefallback:a({editType:"calc"}),hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"],editType:"calc"},hoveron:{valType:"flaglist",flags:["points","fills"],editType:"style"},hovertemplate:n({},{keys:h.eventDataKeys}),hovertemplatefallback:a(),line:{color:{valType:"color",editType:"style",anim:!0},width:{valType:"number",min:0,dflt:2,editType:"style",anim:!0},shape:{valType:"enumerated",values:["linear","spline","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot"},smoothing:{valType:"number",min:0,max:1.3,dflt:1,editType:"plot"},dash:d({},l,{editType:"style"}),backoff:{valType:"number",min:0,dflt:"auto",arrayOk:!0,editType:"plot"},simplify:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},cliponaxis:{valType:"boolean",dflt:!0,editType:"plot"},fill:{valType:"enumerated",values:["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"],editType:"calc"},fillcolor:f(!0),fillgradient:d({type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],dflt:"none",editType:"calc"},start:{valType:"number",editType:"calc"},stop:{valType:"number",editType:"calc"},colorscale:{valType:"colorscale",editType:"style"},editType:"calc"}),fillpattern:c,marker:d({symbol:{valType:"enumerated",values:u.symbolList,dflt:"circle",arrayOk:!0,editType:"style"},opacity:{valType:"number",min:0,max:1,arrayOk:!0,editType:"style",anim:!0},angle:{valType:"angle",dflt:0,arrayOk:!0,editType:"plot",anim:!1},angleref:{valType:"enumerated",values:["previous","up"],dflt:"up",editType:"plot",anim:!1},standoff:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"plot",anim:!0},size:{valType:"number",min:0,dflt:6,arrayOk:!0,editType:"calc",anim:!0},maxdisplayed:{valType:"number",min:0,dflt:0,editType:"plot"},sizeref:{valType:"number",dflt:1,editType:"calc"},sizemin:{valType:"number",min:0,dflt:0,editType:"calc"},sizemode:{valType:"enumerated",values:["diameter","area"],dflt:"diameter",editType:"calc"},line:d({width:{valType:"number",min:0,arrayOk:!0,editType:"style",anim:!0},dash:d({},l,{arrayOk:!0}),editType:"calc"},o("marker.line",{anim:!0})),gradient:{type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],arrayOk:!0,dflt:"none",editType:"calc"},color:{valType:"color",arrayOk:!0,editType:"calc"},editType:"calc"},editType:"calc"},o("marker",{anim:!0})),selected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},unselected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"middle center",arrayOk:!0,editType:"calc"},textfont:s({editType:"calc",colorEditType:"style",arrayOk:!0}),zorder:{valType:"integer",dflt:0,editType:"plot"}}}}),zi=m({"src/components/selections/attributes.js"(e,t){var r=Ci(),n=Pi().line,i=Et().dash,a=V().extendFlat,o=St().overrideAll,s=_r().templatedArray;Ei(),t.exports=o(s("selection",{type:{valType:"enumerated",values:["rect","path"]},xref:a({},r.xref,{}),yref:a({},r.yref,{}),x0:{valType:"any"},x1:{valType:"any"},y0:{valType:"any"},y1:{valType:"any"},path:{valType:"string",editType:"arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:.7,editType:"arraydraw"},line:{color:n.color,width:a({},n.width,{min:1,dflt:1}),dash:a({},i,{dflt:"dot"})}}),"arraydraw","from-root")}}),Oi=m({"src/components/selections/defaults.js"(e,t){var r=dr(),n=cn(),i=qr(),a=zi(),o=Zn();function s(e,t,i){function s(n,i){return r.coerce(e,t,a,n,i)}var l=s("path"),c="path"!==s("type",l?"path":"rect");c&&delete t.path,s("opacity"),s("line.color"),s("line.width"),s("line.dash");for(var u=["x","y"],h=0;h<2;h++){var d,f,p,m=u[h],g={_fullLayout:i},y=n.coerceRef(e,t,g,m);if((d=n.getFromId(g,y))._selectionIndices.push(t._index),p=o.rangeToShapePosition(d),f=o.shapePositionToRange(d),c){var v=m+"0",x=m+"1",b=e[v],_=e[x];e[v]=f(e[v],!0),e[x]=f(e[x],!0),n.coercePosition(t,g,s,y,v),n.coercePosition(t,g,s,y,x);var w=t[v],k=t[x];void 0!==w&&void 0!==k&&(t[v]=p(w),t[x]=p(k),e[v]=b,e[x]=_)}}c&&r.noneOrAll(e,t,["x0","x1","y0","y1"])}t.exports=function(e,t){i(e,t,{name:"selections",handleItemDefaults:s});for(var r=t.selections,n=0;n=0?Math.min(e,.9):1/(1/Math.max(e,-.3)+3.222))}function F(e,t,r,n,i){return e.append("path").attr("class","zoombox").style({fill:t>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",s(r,n)).attr("d",i+"Z")}function B(e,t,r){return e.append("path").attr("class","zoombox-corners").style({fill:c.background,stroke:c.defaultLine,"stroke-width":1,opacity:0}).attr("transform",s(t,r)).attr("d","M0,0Z")}function N(e,t,r,n,i,a){e.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),U(e,t,i,a)}function U(e,t,r,n){r||(e.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),t.transition().style("opacity",1).duration(200))}function V(e){r.select(e).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function q(e){I&&e.data&&e._context.showTips&&(n.notifier(n._(e,"Double-click to zoom back out"),"long",e),I=!1)}function H(e){var t=Math.floor(Math.min(e.b-e.t,e.r-e.l,L)/2);return"M"+(e.l-3.5)+","+(e.t-.5+t)+"h3v"+-t+"h"+t+"v-3h-"+(t+3)+"ZM"+(e.r+3.5)+","+(e.t-.5+t)+"h-3v"+-t+"h"+-t+"v-3h"+(t+3)+"ZM"+(e.r+3.5)+","+(e.b+.5-t)+"h-3v"+t+"h"+-t+"v3h"+(t+3)+"ZM"+(e.l-3.5)+","+(e.b+.5-t)+"h3v"+t+"h"+t+"v3h-"+(t+3)+"Z"}function G(e,t,r,i,a){for(var o,s,l,c,u=!1,h={},d={},f=(a||{}).xaHash,p=(a||{}).yaHash,m=0;m=0)s._fullLayout._deactivateShape(s);else{var c=s._fullLayout.clickmode;if(V(s),2===n&&!ye&&function(){if(!e._transitioningWithDuration){var t=e._context.doubleClick,r=[];ie&&(r=r.concat($)),ae&&(r=r.concat(K)),ne.xaxes&&(r=r.concat(ne.xaxes)),ne.yaxes&&(r=r.concat(ne.yaxes));var n,i,a={};if("reset+autosize"===t)for(t="autosize",i=0;i-1&&M(a,s,$,K,t.id,Ie),c.indexOf("event")>-1&&h.click(s,a,t.id);else if(1===n&&ye){var u=w?U:P,d="s"===w||"w"===I?0:1,f=u._name+".range["+d+"]",p=function(e,t){var r,n=e.range[t],a=Math.abs(n-e.range[1-t]);return"date"===e.type?n:"log"===e.type?(r=Math.ceil(Math.max(0,-Math.log(a)/Math.LN10))+3,i("."+r+"g")(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(a)/Math.LN10)+4,i("."+String(r)+"g")(n))}(u,d),m="left",g="middle";if(u.fixedrange)return;w?(g="n"===w?"top":"bottom","right"===u.side&&(m="right")):"e"===I&&(m="right"),s._context.showAxisRangeEntryBoxes&&r.select(be).call(l.makeEditable,{gd:s,immediate:!0,background:s._fullLayout.paper_bgcolor,text:String(p),fill:u.tickfont?u.tickfont.color:"#444",horizontalAlign:m,verticalAlign:g}).on("edit",(function(e){var t=u.d2r(e);void 0!==t&&o.call("_guiRelayout",s,f,t)}))}}}function Oe(t,r){if(e._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(ee,fe*t+_e)),i=Math.max(0,Math.min(te,pe*r+we)),a=Math.abs(n-_e),o=Math.abs(i-we);function s(){Se="",ke.r=ke.l,ke.t=ke.b,Ce.attr("d","M0,0Z")}if(ke.l=Math.min(_e,n),ke.r=Math.max(_e,n),ke.t=Math.min(we,i),ke.b=Math.max(we,i),re.isSubplotConstrained)a>L||o>L?(Se="xy",a/ee>o/te?(o=a*te/ee,we>i?ke.t=we-o:ke.b=we+o):(a=o*ee/te,_e>n?ke.l=_e-a:ke.r=_e+a),Ce.attr("d",H(ke))):s();else if(ne.isSubplotConstrained)if(a>L||o>L){Se="xy";var l=Math.min(ke.l/ee,(te-ke.b)/te),c=Math.max(ke.r/ee,(te-ke.t)/te);ke.l=l*ee,ke.r=c*ee,ke.b=(1-l)*te,ke.t=(1-c)*te,Ce.attr("d",H(ke))}else s();else!ae||o0){var u;if(ne.isSubplotConstrained||!ie&&1===ae.length){for(u=0;u<$.length;u++)$[u].range=$[u]._r.slice(),S($[u],1-r/te);o=(t=r*ee/te)/2}if(ne.isSubplotConstrained||!ae&&1===ie.length){for(u=0;u1&&(void 0!==a.maxallowed&&se===(a.range[0]1&&(void 0!==s.maxallowed&&le===(s.range[0]1&&n.warn("Full array edits are incompatible with other edits",h);var v=l[""][""];if(s(v))t.set(null);else{if(!Array.isArray(v))return n.warn("Unrecognized full array edit value",h,v),!0;t.set(v)}return!m&&(d(g,y),f(e),!0)}var x,b,_,w,k,T,A,M,S=Object.keys(l).map(Number).sort(i),E=t.get(),C=E||[],L=u(y,h).get(),I=[],P=-1,z=C.length;for(x=0;xC.length-(A?0:1))n.warn("index out of range",h,_);else if(void 0!==T)k.length>1&&n.warn("Insertion & removal are incompatible with edits to the same index.",h,_),s(T)?I.push(_):A?("add"===T&&(T={}),C.splice(_,0,T),L&&L.splice(_,0,{})):n.warn("Unrecognized full object edit value",h,_,T),-1===P&&(P=_);else for(b=0;b=0;x--)C.splice(I[x],1),L&&L.splice(I[x],1);if(C.length?E||t.set(C):t.set(null),m)return!1;if(d(g,y),p!==r){var O;if(-1===P)O=S;else{for(z=Math.max(C.length,z),O=[],x=0;x=P);x++)O.push(_);for(x=P;x0&&n.log("Clearing previous rejected promises from queue."),e._promises=[]},e.cleanLayout=function(t){var r;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var a=(i.subplotsRegistry.cartesian||{}).attrRegex,s=((i.subplotsRegistry.polar||{}).attrRegex,(i.subplotsRegistry.ternary||{}).attrRegex,(i.subplotsRegistry.gl3d||{}).attrRegex,Object.keys(t));for(r=0;r3?(v.x=1.02,v.xanchor="left"):v.x<-2&&(v.x=-.02,v.xanchor="right"),v.y>3?(v.y=1.02,v.yanchor="bottom"):v.y<-2&&(v.y=-.02,v.yanchor="top")),"rotate"===t.dragmode&&(t.dragmode="orbit"),t.template&&t.template.layout&&e.cleanLayout(t.template.layout),t},e.cleanData=function(t){for(var a=0;a0)return e.slice(0,t)}e.hasParent=function(e,t){for(var r=g(t);r;){if(r in e)return!0;r=g(r)}return!1},e.clearAxisTypes=function(e,t,r){for(var i=0;i{let r=(...e)=>e.every((e=>n.isPlainObject(e)))||e.every((e=>Array.isArray(e)));if([e,t].every((e=>Array.isArray(e)))){if(e.length!==t.length)return!1;for(let n=0;nn.isPlainObject(e)))){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e){if(n.startsWith("_"))continue;let i=e[n],a=t[n];if(!(i===a||r(i,a)&&y(i,a)))return!1}return!0}return!1};e.collectionsAreEqual=y}}),qi=m({"src/plot_api/plot_api.js"(e){var t=w(),r=S(),n=mr(),i=dr(),a=i.nestedProperty,o=yr(),s=vr(),l=jt(),c=br(),u=Er(),h=cn(),d=hn(),f=Or(),p=nn(),m=Fe(),g=Bi().initInteractions,y=Cr(),v=ji().clearOutline,x=Oe().dfltConfig,b=Ui(),_=Vi(),k=fi(),T=St(),A=wr().AX_NAME_PATTERN,M=0;function E(e){var t=e._fullLayout;t._redrawFromAutoMarginCount?t._redrawFromAutoMarginCount--:e.emit("plotly_afterplot")}function C(e,t){try{e._fullLayout._paper.style("background",t)}catch(e){i.error(e)}}function L(e,t){C(e,m.combine(t,"white"))}function I(e,r){if(!e._context){e._context=i.extendDeep({},x);var a=t.select("base");e._context._baseUrl=a.size()&&a.attr("href")?window.location.href.split("#")[0]:""}var o,s,l,c=e._context;if(r){for(s=Object.keys(r),o=0;o=e.data.length||i<-e.data.length)throw new Error(r+" must be valid indices for gd.data.");if(t.indexOf(i,n+1)>-1||i>=0&&t.indexOf(-e.data.length+i)>-1||i<0&&t.indexOf(e.data.length+i)>-1)throw new Error("each index in "+r+" must be unique.")}}function O(e,t,r){if(!Array.isArray(e.data))throw new Error("gd.data must be an array.");if(typeof t>"u")throw new Error("currentIndices is a required argument.");if(Array.isArray(t)||(t=[t]),z(e,t,"currentIndices"),typeof r<"u"&&!Array.isArray(r)&&(r=[r]),typeof r<"u"&&z(e,r,"newIndices"),typeof r<"u"&&t.length!==r.length)throw new Error("current and new indices must be of equal length.")}function D(e,t,n,o,s){!function(e,t,r,n){var a=i.isPlainObject(n);if(!Array.isArray(e.data))throw new Error("gd.data must be an array");if(!i.isPlainObject(t))throw new Error("update must be a key:value object");if(typeof r>"u")throw new Error("indices must be an integer or array of integers");for(var o in z(e,r,"indices"),t){if(!Array.isArray(t[o])||t[o].length!==r.length)throw new Error("attribute "+o+" must be an array of length equal to indices array length");if(a&&(!(o in n)||!Array.isArray(n[o])||n[o].length!==t[o].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")}}(e,t,n,o);for(var l=function(e,t,n,o){var s,l,c,u,h,d=i.isPlainObject(o),f=[];for(var p in Array.isArray(n)||(n=[n]),n=P(n,e.data.length-1),t)for(var m=0;m0&&"string"!=typeof z.parts[D];)D--;var R=z.parts[D],j=z.parts[D-1]+"."+R,N=z.parts.slice(0,D).join("."),U=a(e.layout,N).get(),V=a(u,N).get(),q=z.get();if(void 0!==O){M[P]=O,S[P]="reverse"===R?O:F(q);var H=c.getLayoutValObject(u,z.parts);if(H&&H.impliedEdits&&null!==O)for(var X in H.impliedEdits)E(i.relativeAttr(P,X),H.impliedEdits[X]);if(-1!==["width","height"].indexOf(P))if(O){E("autosize",null);var $="height"===P?"width":"height";E($,u[$])}else u[P]=e._initialAutoSize[P];else if("autosize"===P)E("width",O?null:u.width),E("height",O?null:u.height);else if(j.match(G))I(j),a(u,N+"._inputRange").set(null);else if(j.match(W)){I(j),a(u,N+"._inputRange").set(null);var K=a(u,N).get();K._inputDomain&&(K._input.domain=K._inputDomain.slice())}else j.match(Y)&&a(u,N+"._inputDomain").set(null);if("type"===R){C=U;var J="linear"===V.type&&"log"===O,Q="log"===V.type&&"linear"===O;if(J||Q){if(C&&C.range)if(V.autorange)J&&(C.range=C.range[1]>C.range[0]?[1,2]:[2,1]);else{var ee=C.range[0],te=C.range[1];J?(ee<=0&&te<=0&&E(N+".autorange",!0),ee<=0?ee=te/1e6:te<=0&&(te=ee/1e6),E(N+".range[0]",Math.log(ee)/Math.LN10),E(N+".range[1]",Math.log(te)/Math.LN10)):(E(N+".range[0]",Math.pow(10,ee)),E(N+".range[1]",Math.pow(10,te)))}else E(N+".autorange",!0);Array.isArray(u._subplots.polar)&&u._subplots.polar.length&&u[z.parts[0]]&&"radialaxis"===z.parts[1]&&delete u[z.parts[0]]._subplot.viewInitial["radialaxis.range"],l.getComponentMethod("annotations","convertCoords")(e,V,O,E),l.getComponentMethod("images","convertCoords")(e,V,O,E)}else E(N+".autorange",!0),E(N+".range",null);a(u,N+"._inputRange").set(null)}else if(R.match(A)){var re=a(u,P).get(),ne=(O||{}).type;(!ne||"-"===ne)&&(ne="linear"),l.getComponentMethod("annotations","convertCoords")(e,re,ne,E),l.getComponentMethod("images","convertCoords")(e,re,ne,E)}var ie=b.containerArrayMatch(P);if(ie){r=ie.array,n=ie.index;var ae=ie.property,oe=H||{editType:"calc"};""!==n&&""===ae&&(b.isAddVal(O)?S[P]=null:b.isRemoveVal(O)?S[P]=(a(s,r).get()||[])[n]:i.warn("unrecognized full object value",t)),T.update(k,oe),y[r]||(y[r]={});var se=y[r][n];se||(se=y[r][n]={}),se[ae]=O,delete t[P]}else"reverse"===R?(U.range?U.range.reverse():(E(N+".autorange",!0),U.range=[1,0]),V.autorange?k.calc=!0:k.plot=!0):("dragmode"===P&&(!1===O&&!1!==q||!1!==O&&!1===q)||u._has("scatter-like")&&u._has("regl")&&"dragmode"===P&&("lasso"===O||"select"===O)&&"lasso"!==q&&"select"!==q?k.plot=!0:H?T.update(k,H):k.calc=!0,z.set(O))}}for(r in y)b.applyContainerArrayChanges(e,f(s,r),y[r],k,f)||(k.plot=!0);for(var le in L){var ce=(C=h.getFromId(e,le))&&C._constraintGroup;if(ce)for(var ue in k.calc=!0,ce)L[ue]||(h.getFromId(e,ue)._constraintShrinkable=!0)}(Z(e)||t.height||t.width)&&(k.plot=!0);var he=u.shapes;for(n=0;n1;)if(n.pop(),void 0!==(r=a(t,n.join(".")+".uirevision").get()))return r;return t.uirevision}function re(e,t){for(var r=0;r=a.length?a[0]:a[e]:a}function l(e){return Array.isArray(o)?e>=o.length?o[0]:o[e]:o}function c(e,t){var r=0;return function(){if(e&&++r===t)return e()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise((function(o,h){var d=0;function f(e){return Array.isArray(a)?d>=a.length?e.transitionOpts=a[d]:e.transitionOpts=a[0]:e.transitionOpts=a,d++,e}var p,m,g=[],y=null==t,v=Array.isArray(t);if(y||v||!i.isPlainObject(t)){if(y||-1!==["string","number"].indexOf(typeof t))for(p=0;p0&&ww)&&k.push(m);g=k}}g.length>0?function(t){if(0!==t.length){for(var i=0;in._timeToNext&&function(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var t=n._currentFrame=n._frameQueue.shift();if(t){var r=t.name?t.name.toString():null;e._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=t.frameOpts.duration,u.transition(e,t.frame.data,t.frame.layout,_.coerceTraceIndices(e,t.frame.traces),t.frameOpts,t.transitionOpts).then((function(){t.onComplete&&t.onComplete()})),e.emit("plotly_animatingframe",{name:r,frame:t.frame,animation:{frame:t.frameOpts,transition:t.transitionOpts}})}else e.emit("plotly_animated"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}()};t()}()}}(g):(e.emit("plotly_animated"),o())}))},e.addFrames=function(e,t,r){if(e=i.getGraphDiv(e),null==t)return Promise.resolve();if(!i.isPlotDiv(e))throw new Error("This element is not a Plotly plot: "+e+". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/");var n,a,o,l,c=e._transitionData._frames,h=e._transitionData._frameHash;if(!Array.isArray(t))throw new Error("addFrames failure: frameList must be an Array of frame definitions"+t);var d=c.length+2*t.length,f=[],p={};for(n=t.length-1;n>=0;n--)if(i.isPlainObject(t[n])){var m=t[n].name,g=(h[m]||p[m]||{}).name,y=t[n].name,v=h[g]||p[g];g&&y&&"number"==typeof y&&v&&M<5&&(M++,i.warn('addFrames: overwriting frame "'+(h[g]||p[g]).name+'" with a frame whose name of type "number" also equates to "'+g+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===M&&i.warn("addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.")),p[m]={name:m},f.push({frame:u.supplyFrameDefaults(t[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:d+n})}f.sort((function(e,t){return e.index>t.index?-1:e.index=0;n--){if("number"==typeof(a=f[n].frame).name&&i.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!a.name)for(;h[a.name="frame "+e._transitionData._counter++];);if(h[a.name]){for(o=0;o=0;r--)n=t[r],o.push({type:"delete",index:n}),l.unshift({type:"insert",index:n,value:a[n]});var c=u.modifyFrames,h=u.modifyFrames,d=[e,l],f=[e,o];return s&&s.add(e,c,d,h,f),u.modifyFrames(e,o)},e.addTraces=function t(r,n,a){r=i.getGraphDiv(r);var o,l,c=[],u=e.deleteTraces,h=t,d=[r,c],f=[r,n];for(function(e,t,r){var n,i;if(!Array.isArray(e.data))throw new Error("gd.data must be an array.");if(typeof t>"u")throw new Error("traces must be defined.");for(Array.isArray(t)||(t=[t]),n=0;n"u")return l=e.redraw(r),s.add(r,u,d,h,f),l;Array.isArray(a)||(a=[a]);try{O(r,c,a)}catch(e){throw r.data.splice(r.data.length-n.length,n.length),e}return s.startSequence(r),s.add(r,u,d,h,f),l=e.moveTraces(r,c,a),s.stopSequence(r),l},e.deleteTraces=function t(r,n){r=i.getGraphDiv(r);var a,o,l=[],c=e.addTraces,u=t,h=[r,l,n],d=[r,n];if(typeof n>"u")throw new Error("indices must be an integer or array of integers.");for(Array.isArray(n)||(n=[n]),z(r,n,"indices"),(n=P(n,r.data.length-1)).sort(i.sorterDes),a=0;a=0&&r"u")for(a=[],o=0;o=0&&r[e,t._ev.listeners(e)]));h=e.newPlot(t,r,n,o).then((()=>{for(let[e,r]of i)r.forEach((r=>t.on(e,r)));return e.react(t,r,n,o)}))}else{t.data=r||[],_.cleanData(t.data),t.layout=n||{},_.cleanLayout(t.layout),function(e,t,r,n){var o,s,l,c,u,h,d,f,p,m,g=n._preGUI,y=[],v={},x={};for(o in g){if(u=ee(o,J)){if(p=u.head,m=u.tail,s=u.attr||p+".uirevision",(c=(l=a(n,s).get())&&te(s,t))&&c===l){if(null===(h=g[o])&&(h=void 0),ie(f=(d=a(t,o)).get(),h)){void 0===f&&"autorange"===m&&y.push(p),d.set(F(a(n,o).get()));continue}if("autorange"===m||"range["===m.slice(0,6)){var b=g[p+".range[0]"],_=g[p+".range[1]"],w=g[p+".autorange"];if(w||null===w&&null===b&&null===_){if(!(p in v)){var k=a(t,p).get();v[p]=k&&(k.autorange||!1!==k.autorange&&(!k.range||2!==k.range.length))}if(v[p]){d.set(F(a(n,o).get()));continue}}}}}else i.warn("unrecognized GUI edit: "+o);delete g[o],u&&"range["===u.tail.slice(0,6)&&(x[u.head]=1)}for(var T=0;T(m||t.emit("plotly_react",{config:o,data:r,layout:n}),t)))},e.redraw=function(t){if(t=i.getGraphDiv(t),!i.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t);return _.cleanData(t.data),_.cleanLayout(t.layout),t.calcdata=void 0,e._doPlot(t).then((function(){return t.emit("plotly_redraw"),t}))},e.relayout=V,e.restyle=j,e.setPlotConfig=function(e){return i.extendFlat(x,e)},e.update=$,e._guiRelayout=K(V),e._guiRestyle=K(j),e._guiUpdate=K($),e._storeDirectGUIEdit=function(e,t,r){for(var n in r)N(n,a(e,n).get(),r[n],t)}}}),Hi=m({"src/snapshot/helpers.js"(e){var t=jt();e.getDelay=function(e){return e._has&&(e._has("gl3d")||e._has("map"))?500:0},e.getRedrawFunc=function(e){return function(){t.getComponentMethod("colorbar","draw")(e)}},e.encodeSVG=function(e){return"data:image/svg+xml,"+encodeURIComponent(e)},e.encodeJSON=function(e){return"data:application/json,"+encodeURIComponent(e)};var r=window.URL||window.webkitURL;e.createObjectURL=function(e){return r.createObjectURL(e)},e.revokeObjectURL=function(e){return r.revokeObjectURL(e)},e.createBlob=function(e,t){if("svg"===t)return new window.Blob([e],{type:"image/svg+xml;charset=utf-8"});if("full-json"===t)return new window.Blob([e],{type:"application/json;charset=utf-8"});var r=function(e){for(var t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;i{let r=e.toLowerCase();return l.includes(r)?e:c.includes(r)?"<":u.includes(r)?">":e.includes("<")||e.includes(">")?"":t.html(e).text()}));return t.remove(),n}(k),(k=k.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")).replace(s,"'")}}}),Wi=m({"src/snapshot/svgtoimg.js"(e,t){var r=dr(),n=gr().EventEmitter,i=Hi();t.exports=function(e){var t=e.emitter||new n,a=new Promise((function(n,a){var o,s,l=window.Image,c=e.svg,u=e.format||"png",h=e.canvas,d=e.scale||1,f=e.width||300,p=e.height||150,m=d*f,g=d*p,y=h.getContext("2d",{willReadFrequently:!0}),v=new l;"svg"===u||r.isSafari()?s=i.encodeSVG(c):(o=i.createBlob(c,"svg"),s=i.createObjectURL(o)),h.width=m,h.height=g,v.onload=function(){var r;switch(o=null,i.revokeObjectURL(s),"svg"!==u&&y.drawImage(v,0,0,m,g),u){case"jpeg":r=h.toDataURL("image/jpeg");break;case"png":r=h.toDataURL("image/png");break;case"webp":r=h.toDataURL("image/webp");break;case"svg":r=s;break;default:var l="Image format is not jpeg, png, svg or webp.";if(a(new Error(l)),!e.promise)return t.emit("error",l)}n(r),e.promise||t.emit("success",r)},v.onerror=function(r){if(o=null,i.revokeObjectURL(s),a(r),!e.promise)return t.emit("error",r)},v.src=s}));return e.promise?a:t}}}),Yi=m({"src/plot_api/to_image.js"(e,t){var r=S(),n=qi(),i=Er(),a=dr(),o=Hi(),s=Gi(),l=Wi(),c=b().version,u={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],dflt:"png"},width:{valType:"number",min:1},height:{valType:"number",min:1},scale:{valType:"number",min:0,dflt:1},setBackground:{valType:"any",dflt:!1},imageDataOnly:{valType:"boolean",dflt:!1}};t.exports=function(e,t){var h,d,f,p;function m(e){return!(e in t)||a.validate(t[e],u[e])}if(t=t||{},a.isPlainObject(e)?(h=e.data||[],d=e.layout||{},f=e.config||{},p={}):(e=a.getGraphDiv(e),h=a.extendDeep([],e.data),d=a.extendDeep({},e.layout),f=e._context,p=e._fullLayout||{}),!m("width")&&null!==t.width||!m("height")&&null!==t.height)throw new Error("Height and width should be pixel values.");if(!m("format"))throw new Error("Export format is not "+a.join2(u.format.values,", "," or ")+".");var g={};function y(e,r){return a.coerce(t,g,u,e,r)}var v=y("format"),x=y("width"),b=y("height"),_=y("scale"),w=y("setBackground"),k=y("imageDataOnly"),T=document.createElement("div");T.style.position="absolute",T.style.left="-5000px",document.body.appendChild(T);var A=a.extendFlat({},d);x?A.width=x:null===t.width&&r(p.width)&&(A.width=p.width),b?A.height=b:null===t.height&&r(p.height)&&(A.height=p.height);var M=a.extendFlat({},f,{_exportedPlot:!0,staticPlot:!0,setBackground:w}),S=o.getRedrawFunc(T);function E(){return new Promise((function(e){setTimeout(e,o.getDelay(T._fullLayout))}))}function C(){return new Promise((function(e,t){var r=s(T,v,_),u=T._fullLayout.width,h=T._fullLayout.height;function d(){n.purge(T),document.body.removeChild(T)}if("full-json"===v){var f=i.graphJson(T,!1,"object",!0,!0);return f.version=c,f=JSON.stringify(f),d(),e(k?f:o.encodeJSON(f))}if(d(),"svg"===v)return e(k?r:o.encodeSVG(r));var p=document.createElement("canvas");p.id=a.randstr(),l({format:v,width:u,height:h,scale:_,canvas:p,svg:r,promise:!0}).then(e).catch(t)}))}return new Promise((function(e,t){n.newPlot(T,h,A,M).then(S).then(E).then(C).then((function(t){e(function(e){return k?e.replace(o.IMAGE_URL_PREFIX,""):e}(t))})).catch((function(e){t(e)}))}))}}}),Xi=m({"src/plot_api/validate.js"(e,t){var r=dr(),n=Er(),i=br(),a=Oe().dfltConfig,o=r.isPlainObject,s=Array.isArray,l=r.isArrayOrTypedArray;function c(e,t,n,i,a,u){u=u||[];for(var h=Object.keys(e),m=0;mx.length&&i.push(d("unused",a,y.concat(x.length)));var A,M,S,E,C,L=x.length,I=Array.isArray(T);if(I&&(L=Math.min(L,T.length)),2===b.dimensions)for(M=0;Mx[M].length&&i.push(d("unused",a,y.concat(M,x[M].length)));var P=x[M].length;for(A=0;A<(I?Math.min(P,T[M].length):P);A++)S=I?T[M][A]:T,E=v[M][A],C=x[M][A],r.validate(E,S)?C!==E&&C!==+E&&i.push(d("dynamic",a,y.concat(M,A),E,C)):i.push(d("value",a,y.concat(M,A),E))}else i.push(d("array",a,y.concat(M),v[M]));else for(M=0;M1&&f.push(d("object","layout"))),n.supplyDefaults(p);for(var m=p._fullData,g=l.length,y=0;yk?h.push({code:"unused",traceType:v,templateCount:w,dataCount:k}):k>w&&h.push({code:"reused",traceType:v,templateCount:w,dataCount:k})}}else h.push({code:"data"});if(function e(t,n){for(var i in t)if("_"!==i.charAt(0)){var a=t[i],o=f(t,i,n);r(a)?(Array.isArray(t)&&!1===a._template&&a.templateitemname&&h.push({code:"missing",path:o,templateitemname:a.templateitemname}),e(a,o)):Array.isArray(a)&&p(a)&&e(a,o)}}({data:g,layout:d},""),h.length)return h.map(m)}}}),Ji=m({"src/plot_api/index.js"(e){var t=qi();e._doPlot=t._doPlot,e.newPlot=t.newPlot,e.restyle=t.restyle,e.relayout=t.relayout,e.redraw=t.redraw,e.update=t.update,e._guiRestyle=t._guiRestyle,e._guiRelayout=t._guiRelayout,e._guiUpdate=t._guiUpdate,e._storeDirectGUIEdit=t._storeDirectGUIEdit,e.react=t.react,e.extendTraces=t.extendTraces,e.prependTraces=t.prependTraces,e.addTraces=t.addTraces,e.deleteTraces=t.deleteTraces,e.moveTraces=t.moveTraces,e.purge=t.purge,e.addFrames=t.addFrames,e.deleteFrames=t.deleteFrames,e.animate=t.animate,e.setPlotConfig=t.setPlotConfig;var r=At().getGraphDiv,n=Jn().eraseActiveShape;e.deleteActiveShape=function(e){return n(r(e))},e.toImage=Yi(),e.validate=Xi(),e.downloadImage=$i();var i=Ki();e.makeTemplate=i.makeTemplate,e.validateTemplate=i.validateTemplate}}),Qi=m({"src/traces/scatter/xy_defaults.js"(e,t){var r=dr(),n=jt();t.exports=function(e,t,i,a){var o,s=a("x"),l=a("y");if(n.getComponentMethod("calendars","handleTraceDefaults")(e,t,["x","y"],i),s){var c=r.minRowLength(s);l?o=Math.min(c,r.minRowLength(l)):(o=c,a("y0"),a("dy"))}else{if(!l)return 0;o=r.minRowLength(l),a("x0"),a("dx")}return t._length=o,o}}}),ea=m({"src/traces/scatter/period_defaults.js"(e,t){var r=dr().dateTick0,n=E().ONEWEEK;function i(e,t){return r(t,e%n==0?1:0)}t.exports=function(e,t,r,n,a){if(a||(a={x:!0,y:!0}),a.x){var o=n("xperiod");o&&(n("xperiod0",i(o,t.xcalendar)),n("xperiodalignment"))}if(a.y){var s=n("yperiod");s&&(n("yperiod0",i(s,t.ycalendar)),n("yperiodalignment"))}}}}),ta=m({"src/traces/scatter/stack_defaults.js"(e,t){var r=["orientation","groupnorm","stackgaps"];t.exports=function(e,t,n,i){var a=n._scatterStackOpts,o=i("stackgroup");if(o){var s=t.xaxis+t.yaxis,l=a[s];l||(l=a[s]={});var c=l[o],u=!1;c?c.traces.push(t):(c=l[o]={traceIndices:[],traces:[t]},u=!0);for(var h={orientation:t.x&&!t.y?"h":"v"},d=0;d=0;d--){var f=e[d];if("scatter"===f.type&&f.xaxis===u.xaxis&&f.yaxis===u.yaxis){f.opacity=void 0;break}}}}}}}),ua=m({"src/traces/scatter/layout_defaults.js"(e,t){var r=dr(),n=Ar();t.exports=function(e,t){var i,a="group"===t.barmode;"group"===t.scattermode&&(i=a?t.bargap:.2,r.coerce(e,t,n,"scattergap",i))}}}),ha=m({"src/plots/cartesian/align_period.js"(e,t){var r=S(),n=dr(),i=n.dateTime2ms,a=n.incrementMonth,o=E().ONEAVGMONTH;t.exports=function(e,t,n,s){if("date"!==t.type)return{vals:s};var l=e[n+"periodalignment"];if(!l)return{vals:s};var c,u=e[n+"period"];if(r(u)){if((u=+u)<=0)return{vals:s}}else if("string"==typeof u&&"M"===u.charAt(0)){var h=+u.substring(1);if(!(h>0&&Math.round(h)===h))return{vals:s};c=h}for(var d=t.calendar,f="start"===l,p="end"===l,m=e[n+"period0"],g=i(m,d)||0,y=[],v=[],x=[],b=s.length,_=0;_A;)T=a(T,-c,d);for(;T<=A;)T=a(T,c,d);k=a(T,-c,d)}else{for(T=g+(w=Math.round((A-g)/u))*u;T>A;)T-=u;for(;T<=A;)T+=u;k=T-u}y[_]=f?k:p?T:(k+T)/2,v[_]=k,x[_]=T}return{vals:y,starts:v,ends:x}}}}),da=m({"src/traces/scatter/colorscale_calc.js"(e,t){var r=Pr().hasColorscale,n=$r(),i=Jr();t.exports=function(e,t){i.hasLines(t)&&r(t,"line")&&n(e,t,{vals:t.line.color,containerStr:"line",cLetter:"c"}),i.hasMarkers(t)&&(r(t,"marker")&&n(e,t,{vals:t.marker.color,containerStr:"marker",cLetter:"c"}),r(t,"marker.line")&&n(e,t,{vals:t.marker.line.color,containerStr:"marker.line",cLetter:"c"}))}}}),fa=m({"src/traces/scatter/arrays_to_calcdata.js"(e,t){var r=dr();t.exports=function(e,t){for(var n=0;np&&L[y].gap;)y--;for(x=L[y].s,g=L.length-1;g>y;g--)L[g].s=x;for(;ph+c||!r(u))}for(var f=0;fi(e)))):i(e.text);let a=e.outsidetextfont.size*u*r+c;return{ppadplus:t.some((e=>e.s<0))?a:0,ppadminus:t.some((e=>e.s>=0))?a:0}}return{ppadplus:void 0,ppadminus:void 0}}function b(e){return e._id.charAt(0)}t.exports={crossTraceCalc:function(e,t){for(var r=t.xaxis,n=t.yaxis,i=e._fullLayout,o=e._fullData,s=e.calcdata,l=[],c=[],u=0;uS[h]&&h0?o:s)/(L._m*z*(L._m>0?o:s)))),a*=1e3}if(l===i){if(P&&(l=L.c2p(n.y,!0)),l===i)return!1;l*=1e3}return[a,l]}function X(e,t,r,n){var i=r-e,a=n-t,o=.5-e,s=.5-t,l=i*i+a*a,c=i*o+a*s;if(c>0&&coe||e[1]le)return[u(e[0],ae,oe),u(e[1],se,le)]}function he(e,t){if(e[0]===t[0]&&(e[0]===ae||e[0]===oe)||e[1]===t[1]&&(e[1]===se||e[1]===le))return!0}function de(e,t,r){return function(n,i){var a=ue(n),o=ue(i),s=[];if(a&&o&&he(a,o))return s;a&&s.push(a),o&&s.push(o);var c=2*l.constrain((n[e]+i[e])/2,t,r)-((a||n)[e]+(o||i)[e]);return c&&((a&&o?c>0==a[e]>o[e]?a:o:a||o)[e]+=c),s}}function fe(e){var t=e[0],r=e[1],n=t===G[W-1][0],i=r===G[W-1][1];if(!n||!i)if(W>1){var a=t===G[W-2][0],o=r===G[W-2][1];n&&(t===ae||t===oe)&&a?o?W--:G[W-1]=e:i&&(r===se||r===le)&&o?a?W--:G[W-1]=e:G[W++]=e}else G[W++]=e}function pe(e){G[W-1][0]!==e[0]&&G[W-1][1]!==e[1]&&fe([Q,ee]),fe(e),te=null,Q=ee=0}"linear"===B||"spline"===B?ne=function(e,t){for(var r=[],n=0,i=0;i<4;i++){var a=ce[i],o=c(e[0],e[1],t[0],t[1],a[0],a[1],a[2],a[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&$(o,e)<$(r[0],e)?r.unshift(o):r.push(o),n++)}return r}:"hv"===B||"vh"===B?ne=function(e,t){var r=[],n=ue(e),i=ue(t);return n&&i&&he(n,i)||(n&&r.push(n),i&&r.push(i)),r}:"hvh"===B?ne=de(0,ae,oe):"vhv"===B&&(ne=de(1,se,le));var me=l.isArrayOrTypedArray(R);function ge(t){if(t&&D&&(t.i=n,t.d=e,t.trace=E,t.marker=me?R[t.i]:R,t.backoff=D),M=t[0]/z,S=t[1]/O,K=t[0]oe?oe:0,J=t[1]le?le:0,K||J){if(W)if(te){var r=ne(te,t);r.length>1&&(pe(r[0]),G[W++]=r[1])}else re=ne(G[W-1],t)[0],G[W++]=re;else G[W++]=[K||t[0],J||t[1]];var i=G[W-1];K&&J&&(i[0]!==K||i[1]!==J)?(te&&(Q!==K&&ee!==J?fe(Q&&ee?function(e,t){var r=t[0]-e[0],n=(t[1]-e[1])/r;return(e[1]*t[0]-t[1]*e[0])/r>0?[n>0?ae:oe,le]:[n>0?oe:ae,se]}(te,t):[Q||K,ee||J]):Q&&ee&&fe([Q,ee])),fe([K,J])):Q-K&&ee-J&&fe([K||Q,J||ee]),te=t,Q=K,ee=J}else te&&pe(ne(te,t)[0]),G[W++]=t}for(n=0;nZ(m,ye))break;d=m,(w=v[0]*y[0]+v[1]*y[1])>b?(b=w,f=m,g=!1):w<_&&(_=w,p=m,g=!0)}if(g?(ge(f),d!==p&&ge(p)):(p!==a&&ge(p),d!==f&&ge(f)),ge(d),n>=e.length||!m)break;ge(m),a=m}}else ge(f)}te&&fe([Q||te[0],ee||te[1]]),V.push(G.slice(0,W))}var ve=B.slice(B.length-1);if(D&&"h"!==ve&&"v"!==ve){for(var xe=!1,be=-1,_e=[],we=0;we=0?l=f:(l=f=d,d++),l=u[0]&&e.x<=u[1]&&e.y>=h[0]&&e.y<=h[1]})),m=Math.ceil(p.length/f),g=0;o.forEach((function(e,r){var n=e[0].trace;l.hasMarkers(n)&&n.marker.maxdisplayed>0&&r0;function x(e){return v?e.transition():e}var b=u.xaxis,_=u.yaxis,w=d[0].trace,k=w.line,T=r.select(p),A=a(T,"g","errorbars"),M=a(T,"g","lines"),S=a(T,"g","points"),E=a(T,"g","text");if(n.getComponentMethod("errorbars","plot")(e,A,u,m),!0===w.visible){x(T).style("opacity",w.opacity);var C,L,I,P,z=w.fill.charAt(w.fill.length-1);"x"!==z&&"y"!==z&&(z=""),"y"===z?(I=1,P=_.c2p(0,!0)):"x"===z&&(I=0,P=b.c2p(0,!0)),d[0][u.isRangePlot?"nodeRangePlot3":"node3"]=T;var O="",D=[],R=w._prevtrace,j=null,F=null;R&&(O=R._prevRevpath||"",L=R._nextFill,D=R._ownPolygons,j=R._fillsegments,F=R._fillElement);var B,N,U,V,q,H,G,W,Y="",X="",Z=[];w._polygons=[];var $=[],K=[],J=i.noop;if(C=w._ownFill,l.hasLines(w)||"none"!==w.fill){L&&L.datum(d),-1!==["hv","vh","hvh","vhv"].indexOf(k.shape)?(U=s.steps(k.shape),V=s.steps(k.shape.split("").reverse().join(""))):U=V="spline"===k.shape?function(e){var t=e[e.length-1];return e.length>1&&e[0][0]===t[0]&&e[0][1]===t[1]?s.smoothclosed(e.slice(1),k.smoothing):s.smoothopen(e,k.smoothing)}:function(e){return"M"+e.join("L")},q=function(e){return V(e.reverse())},K=c(d,{xaxis:b,yaxis:_,trace:w,connectGaps:w.connectgaps,baseTolerance:Math.max(k.width||1,3)/4,shape:k.shape,backoff:k.backoff,simplify:k.simplify,fill:w.fill}),$=new Array(K.length);var Q=0;for(g=0;g0,g=u(e,t,n);(h=i.selectAll("g.trace").data(g,(function(e){return e[0].trace.uid}))).enter().append("g").attr("class",(function(e){return"trace scatter trace"+e[0].trace.uid})).style("stroke-miterlimit",2),h.order(),function(e,t,n){t.each((function(t){var i=a(r.select(this),"g","fills");s.setClipUrl(i,n.layerClipId,e);var l=t[0].trace;l._ownFill=null,l._nextFill=null;var c=[];l._ownfill&&c.push("_ownFill"),l._nexttrace&&c.push("_nextFill");var u=i.selectAll("g").data(c,o);u.enter().append("g"),u.exit().remove(),u.order().each((function(e){l[e]=a(r.select(this),"path","js-fill")}))}))}(e,h,t),m?(c&&(f=c()),r.transition().duration(l.duration).ease(l.easing).each("end",(function(){f&&f()})).each("interrupt",(function(){f&&f()})).each((function(){i.selectAll("g.trace").each((function(r,n){d(e,n,t,r,g,this,l)}))}))):h.each((function(r,n){d(e,n,t,r,g,this,l)})),p&&h.exit().remove(),i.selectAll("path:not([d])").remove()}}}),ka=m({"src/traces/scatter/marker_colorbar.js"(e,t){t.exports={container:"marker",min:"cmin",max:"cmax"}}}),Ta=m({"src/traces/scatter/format_labels.js"(e,t){var r=cn();t.exports=function(e,t,n){var i={},a={_fullLayout:n},o=r.getFromTrace(a,t,"x"),s=r.getFromTrace(a,t,"y"),l=e.orig_x;void 0===l&&(l=e.x);var c=e.orig_y;return void 0===c&&(c=e.y),i.xLabel=r.tickText(o,o.c2l(l),!0).text,i.yLabel=r.tickText(s,s.c2l(c),!0).text,i}}}),Aa=m({"src/traces/scatter/style.js"(e,t){var r=w(),n=nn(),i=jt();function a(e,t,r){n.pointStyle(e.selectAll("path.point"),t,r)}function o(e,t,r){n.textPointStyle(e.selectAll("text"),t,r)}t.exports={style:function(e){var t=r.select(e).selectAll("g.trace.scatter");t.style("opacity",(function(e){return e[0].trace.opacity})),t.selectAll("g.points").each((function(t){a(r.select(this),t.trace||t[0].trace,e)})),t.selectAll("g.text").each((function(t){o(r.select(this),t.trace||t[0].trace,e)})),t.selectAll("g.trace path.js-line").call(n.lineGroupStyle),t.selectAll("g.trace path.js-fill").call(n.fillGroupStyle,e,!1),i.getComponentMethod("errorbars","style")(t)},stylePoints:a,styleText:o,styleOnSelect:function(e,t,r){var i=t[0].trace;i.selectedpoints?(n.selectedPointStyle(r.selectAll("path.point"),i),n.selectedTextStyle(r.selectAll("text"),i)):(a(r,i,e),o(r,i,e))}}}}),Ma=m({"src/traces/scatter/get_trace_color.js"(e,t){var r=Fe(),n=Jr();t.exports=function(e,t){var i,a;if("lines"===e.mode)return(i=e.line.color)&&r.opacity(i)?i:e.fillcolor;if("none"===e.mode)return e.fill?e.fillcolor:"";var o=t.mcc||(e.marker||{}).color,s=t.mlcc||((e.marker||{}).line||{}).color;return(a=o&&r.opacity(o)?o:s&&r.opacity(s)&&(t.mlw||((e.marker||{}).line||{}).width)?s:"")?r.opacity(a)<.3?r.addOpacity(a,.3):a:(i=(e.line||{}).color)&&r.opacity(i)&&n.hasLines(e)&&e.line.width?i:e.fillcolor}}}),Sa=m({"src/traces/scatter/hover.js"(e,t){var r=dr(),n=Bn(),i=jt(),a=Ma(),o=Fe(),s=r.fillText;t.exports=function(e,t,l,c){var u=e.cd,h=u[0].trace,d=e.xa,f=e.ya,p=d.c2p(t),m=f.c2p(l),g=[p,m],y=h.hoveron||"",v=-1!==h.mode.indexOf("markers")?3:.5,x=!!h.xperiodalignment,b=!!h.yperiodalignment;if(-1!==y.indexOf("points")){var _=function(e){var t=Math.max(v,e.mrc||0),r=d.c2p(e.x)-p,n=f.c2p(e.y)-m;return Math.max(Math.sqrt(r*r+n*n)-t,1-v/t)},w=n.getDistanceFunction(c,(function(e){if(x){var t=d.c2p(e.xStart),r=d.c2p(e.xEnd);return p>=Math.min(t,r)&&p<=Math.max(t,r)?0:1/0}var n=Math.max(3,e.mrc||0),i=1-1/n,a=Math.abs(d.c2p(e.x)-p);return a=Math.min(t,r)&&m<=Math.max(t,r)?0:1/0}var n=Math.max(3,e.mrc||0),i=1-1/n,a=Math.abs(f.c2p(e.y)-m);return ar!=(c=i[n][1])>=r&&(o=i[n-1][0],s=i[n][0],c-l&&(a=o+(s-o)*(r-l)/(c-l),h=Math.min(h,a),p=Math.max(p,a)));return{x0:h=Math.max(h,0),x1:p=Math.min(p,d._length),y0:r,y1:r}}(h._polygons);null===P&&(P={x0:g[0],x1:g[0],y0:g[1],y1:g[1]});var z=o.defaultLine;return o.opacity(h.fillcolor)?z=h.fillcolor:o.opacity((h.line||{}).color)&&(z=h.line.color),r.extendFlat(e,{distance:e.maxHoverDistance,x0:P.x0,x1:P.x1,y0:P.y0,y1:P.y1,color:z,hovertemplate:!1}),delete e.index,h.text&&!r.isArrayOrTypedArray(h.text)?e.text=String(h.text):e.text=h.name,[e]}}}}),Ea=m({"src/traces/scatter/select.js"(e,t){var r=Jr();t.exports=function(e,t){var n,i,a,o,s=e.cd,l=e.xaxis,c=e.yaxis,u=[],h=s[0].trace;if(h.mode&&!r.hasMarkers(h)&&!r.hasText(h))return[];if(!1===t)for(n=0;n0&&(i["_"+r+"axes"]||{})[t])return i;if((i[r+"axis"]||r)===t){if(a(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}(t,s,l);if(c){if("histogram"===c.type&&l==={v:"y",h:"x"}[c.orientation||"v"])return void(e.type="linear");var u=l+"calendar",h=c[u],d={noMultiCategory:!r(c,"cartesian")||r(c,"noMultiCategory")};if("box"===c.type&&c._hasPreCompStats&&l==={h:"x",v:"y"}[c.orientation||"v"]&&(d.noMultiCategory=!0),d.autotypenumbers=e.autotypenumbers,a(c,l)){var f=i(c),p=[];for(o=0;o0||r(o);s&&(a="array");var l,c=n("categoryorder",a);"array"===c&&(l=n("categoryarray")),!s&&"array"===c&&(c=t.categoryorder="trace"),"trace"===c?t._initialCategories=[]:"array"===c?t._initialCategories=l.slice():(l=function(e,t){var r,n,i,a=t.dataAttr||e._id.charAt(0),o={};if(t.axData)r=t.axData;else for(r=[],n=0;n=2){var l,c,u="";if(2===o.length)for(l=0;l<2;l++)if(c=b(o[l])){u=g;break}var h=a("pattern",u);if(h===g)for(l=0;l<2;l++)(c=b(o[l]))&&(t.bounds[l]=o[l]=c-1);if(h)for(l=0;l<2;l++)switch(c=o[l],h){case g:if(!r(c))return void(t.enabled=!1);if((c=+c)!==Math.floor(c)||c<0||c>=7)return void(t.enabled=!1);t.bounds[l]=o[l]=c;break;case y:if(!r(c))return void(t.enabled=!1);if((c=+c)<0||c>24)return void(t.enabled=!1);t.bounds[l]=o[l]=c}if(!1===n.autorange){var d=n.range;if(d[0]d[1])return void(t.enabled=!1)}else if(o[0]>d[0]&&o[1]b[1]-1/4096&&(t.domain=s),n.noneOrAll(e.domain,t.domain,s),"sync"===t.tickmode&&(t.tickmode="auto")}return i("layer"),t}}}),Da=m({"src/plots/cartesian/layout_defaults.js"(e,t){var r=dr(),n=Fe(),i=en().isUnifiedHover,a=Dn(),o=_r(),s=Dt(),l=Or(),c=La(),u=za(),h=di(),d=Oa(),f=kr(),p=f.id2name,m=f.name2id,g=wr().AX_ID_PATTERN,y=jt(),v=y.traceIs,x=y.getComponentMethod;function b(e,t,r){Array.isArray(e[t])?e[t].push(r):e[t]=[r]}t.exports=function(e,t,y){var _,w,k=t.autotypenumbers,T={},A={},M={},S={},E={},C={},L={},I={},P={},z={};for(_=0;_s.duration?(function(){for(var r={},i=0;i rect").call(a.setTranslate,0,0).call(a.setScale,1,1),e.plot.call(a.setTranslate,t._offset,r._offset).call(a.setScale,1,1);var n=e.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(a.setPointGroupScale,1,1),n.selectAll(".textpoint").call(a.setTextPointsScale,1,1),n.call(a.hideOutsideRangePoints,e)}function g(t,r){var n=t.plotinfo,s=n.xaxis,l=n.yaxis,c=s._length,u=l._length,h=!!t.xr1,d=!!t.yr1,f=[];if(h){var p=i.simpleMap(t.xr0,s.r2l),m=i.simpleMap(t.xr1,s.r2l),g=p[1]-p[0],y=m[1]-m[0];f[0]=(p[0]*(1-r)+r*m[0]-p[0])/(p[1]-p[0])*c,f[2]=c*(1-r+r*y/g),s.range[0]=s.l2r(p[0]*(1-r)+r*m[0]),s.range[1]=s.l2r(p[1]*(1-r)+r*m[1])}else f[0]=0,f[2]=c;if(d){var v=i.simpleMap(t.yr0,l.r2l),x=i.simpleMap(t.yr1,l.r2l),b=v[1]-v[0],_=x[1]-x[0];f[1]=(v[1]*(1-r)+r*x[1]-v[1])/(v[0]-v[1])*u,f[3]=u*(1-r+r*_/b),l.range[0]=s.l2r(v[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(v[1]*(1-r)+r*x[1])}else f[1]=0,f[3]=u;o.drawOne(e,s,{skipTitle:!0}),o.drawOne(e,l,{skipTitle:!0}),o.redrawComponents(e,[s._id,l._id]);var w=h?c/f[2]:1,k=d?u/f[3]:1,T=h?f[0]:0,A=d?f[1]:0,M=h?f[0]/f[2]*c:0,S=d?f[1]/f[3]*u:0,E=s._offset-M,C=l._offset-S;n.clipRect.call(a.setTranslate,T,A).call(a.setScale,1/w,1/k),n.plot.call(a.setTranslate,E,C).call(a.setScale,w,k),a.setPointGroupScale(n.zoomScalePts,1/w,1/k),a.setTextPointsScale(n.zoomScaleTxt,1/w,1/k)}o.redrawComponents(e)}}}),ja=m({"src/plots/cartesian/index.js"(e){var t=w(),r=jt(),n=dr(),i=Er(),a=nn(),o=Mr().getModuleCalcData,s=kr(),l=wr(),c=Cr(),u=n.ensureSingle;function h(e,t,r){return n.ensureSingle(e,t,r,(function(e){e.datum(r)}))}var d=l.zindexSeparator;function f(e,n,i,s,c){for(var u,h,d,f=l.traceLayerClasses,p=e._fullLayout,m=p._zindices,g=p._modules,y=[],v=[],x=0;x1,m=t.mainplotinfo;if(!t.mainplot||p)if(f)t.xlines=u(n,"path","xlines-above"),t.ylines=u(n,"path","ylines-above"),t.xaxislayer=u(n,"g","xaxislayer-above"),t.yaxislayer=u(n,"g","yaxislayer-above");else{if(!a){var g=u(n,"g","layer-subplot");t.shapelayer=u(g,"g","shapelayer"),t.imagelayer=u(g,"g","imagelayer"),m&&p?(t.minorGridlayer=m.minorGridlayer,t.gridlayer=m.gridlayer,t.zerolinelayer=m.zerolinelayer):(t.minorGridlayer=u(n,"g","minor-gridlayer"),t.gridlayer=u(n,"g","gridlayer"),t.zerolinelayer=u(n,"g","zerolinelayer"));var y=u(n,"g","layer-between");t.shapelayerBetween=u(y,"g","shapelayer"),t.imagelayerBetween=u(y,"g","imagelayer"),u(n,"path","xlines-below"),u(n,"path","ylines-below"),t.overlinesBelow=u(n,"g","overlines-below"),u(n,"g","xaxislayer-below"),u(n,"g","yaxislayer-below"),t.overaxesBelow=u(n,"g","overaxes-below")}t.overplot=u(n,"g","overplot"),t.plot=u(t.overplot,"g",i),t.zerolinelayerAbove=m&&p?m.zerolinelayerAbove:u(n,"g","zerolinelayer-above"),a||(t.xlines=u(n,"path","xlines-above"),t.ylines=u(n,"path","ylines-above"),t.overlinesAbove=u(n,"g","overlines-above"),u(n,"g","xaxislayer-above"),u(n,"g","yaxislayer-above"),t.overaxesAbove=u(n,"g","overaxes-above"),t.xlines=n.select(".xlines-"+o),t.ylines=n.select(".ylines-"+c),t.xaxislayer=n.select(".xaxislayer-"+o),t.yaxislayer=n.select(".yaxislayer-"+c))}else{var v=m.plotgroup,x=i+"-x",b=i+"-y";t.minorGridlayer=m.minorGridlayer,t.gridlayer=m.gridlayer,t.zerolinelayer=m.zerolinelayer,t.zerolinelayerAbove=m.zerolinelayerAbove,u(m.overlinesBelow,"path",x),u(m.overlinesBelow,"path",b),u(m.overaxesBelow,"g",x),u(m.overaxesBelow,"g",b),t.plot=u(m.overplot,"g",i),u(m.overlinesAbove,"path",x),u(m.overlinesAbove,"path",b),u(m.overaxesAbove,"g",x),u(m.overaxesAbove,"g",b),t.xlines=v.select(".overlines-"+o).select("."+x),t.ylines=v.select(".overlines-"+c).select("."+b),t.xaxislayer=v.select(".overaxes-"+o).select("."+x),t.yaxislayer=v.select(".overaxes-"+c).select("."+b)}a||(f||(h(t.minorGridlayer,"g",t.xaxis._id),h(t.minorGridlayer,"g",t.yaxis._id),t.minorGridlayer.selectAll("g").map((function(e){return e[0]})).sort(s.idSort),h(t.gridlayer,"g",t.xaxis._id),h(t.gridlayer,"g",t.yaxis._id),t.gridlayer.selectAll("g").map((function(e){return e[0]})).sort(s.idSort)),t.xlines.style("fill","none").classed("crisp",!0),t.ylines.style("fill","none").classed("crisp",!0))}function m(e,r){if(e){var n={};for(var i in e.each((function(e){var i=e[0];t.select(this).remove(),g(i,r),n[i]=!0})),r._plots)for(var a=r._plots[i].overlays||[],o=0;o0){var g=m.id;if(-1!==g.indexOf(d))continue;g+=d+(u+1),m=n.extendFlat({},m,{id:g,plot:o._cartesianlayer.selectAll(".subplot").select("."+g)})}for(var y,v=[],x=0;x1&&(w+=d+_),b.push(n+w),r=0;r=0,x=t.indexOf("end")>=0,b=p.backoff*g+a.standoff,_=m.backoff*y+a.startstandoff;if("line"===f.nodeName){c={x:+e.attr("x1"),y:+e.attr("y1")},u={x:+e.attr("x2"),y:+e.attr("y2")};var w=c.x-u.x,k=c.y-u.y;if(d=(h=Math.atan2(k,w))+Math.PI,b&&_&&b+_>Math.sqrt(w*w+k*k))return void O();if(b){if(b*b>w*w+k*k)return void O();var T=b*Math.cos(h),A=b*Math.sin(h);u.x+=T,u.y+=A,e.attr({x2:u.x,y2:u.y})}if(_){if(_*_>w*w+k*k)return void O();var M=_*Math.cos(h),S=_*Math.sin(h);c.x-=M,c.y-=S,e.attr({x1:c.x,y1:c.y})}}else if("path"===f.nodeName){var E=f.getTotalLength(),C="";if(E2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[t]}for(var Y=!1,X=["x","y"],Z=0;Z1)&&(ne===re?((fe=ie.r2fraction(t["a"+te]))<0||fe>1)&&(Y=!0):Y=!0),$=ie._offset+ie.r2p(t[te]),Q=.5}else{var pe="domain"===de;"x"===te?(J=t[te],$=pe?ie._offset+ie._length*J:$=k.l+k.w*J):(J=1-t[te],$=pe?ie._offset+ie._length*J:$=k.t+k.h*J),Q=t.showarrow?.5:J}if(t.showarrow){he.head=$;var me=t["a"+te];if(ee=oe*H(.5,t.xanchor)-se*H(.5,t.yanchor),ne===re){var ge=s.getRefType(ne);"domain"===ge?("y"===te&&(me=1-me),he.tail=ie._offset+ie._length*me):"paper"===ge?"y"===te?(me=1-me,he.tail=k.t+k.h*me):he.tail=k.l+k.w*me:he.tail=ie._offset+ie.r2p(me),K=ee}else he.tail=$+me,K=ee+me;he.text=he.tail+ee;var ye=w["x"===te?"width":"height"];if("paper"===re&&(he.head=a.constrain(he.head,1,ye-1)),"pixel"===ne){var ve=-Math.max(he.tail-3,he.text),xe=Math.min(he.tail+3,he.text)-ye;ve>0?(he.tail+=ve,he.text+=ve):xe>0&&(he.tail-=xe,he.text-=xe)}he.tail+=ue,he.head+=ue}else K=ee=le*H(Q,ce),he.text=$+ee;he.text+=ue,ee+=ue,K+=ue,t["_"+te+"padplus"]=le/2+K,t["_"+te+"padminus"]=le/2-K,t["_"+te+"size"]=le,t["_"+te+"shift"]=ee}if(Y)R.remove();else{var be=0,_e=0;if("left"!==t.align&&(be=(A-b)*("center"===t.align?.5:1)),"top"!==t.valign&&(_e=(D-_)*("middle"===t.valign?.5:1)),u)i.select("svg").attr({x:B+be-1,y:B+_e}).call(c.setClipUrl,U?C:null,e);else{var we=B+_e-p.top,ke=B+be-p.left;G.call(h.positionText,ke,we).call(c.setClipUrl,U?C:null,e)}V.select("rect").call(c.setRect,B,B,A,D),N.call(c.setRect,j/2,j/2,F-j,q-j),R.call(c.setTranslate,Math.round(L.x.text-F/2),Math.round(L.y.text-q/2)),z.attr({transform:"rotate("+I+","+L.x.text+","+L.y.text+")"});var Te,Ae=function(r,i){P.selectAll(".annotation-arrow-g").remove();var s=L.x.head,u=L.y.head,h=L.x.tail+r,d=L.y.tail+i,p=L.x.text+r,b=L.y.text+i,_=a.rotationXYMatrix(I,p,b),w=a.apply2DTransform(_),A=a.apply2DTransform2(_),C=+N.attr("width"),O=+N.attr("height"),D=p-.5*C,j=D+C,F=b-.5*O,B=F+O,U=[[D,F,D,B],[D,B,j,B],[j,B,j,F],[j,F,D,F]].map(A);if(!U.reduce((function(e,t){return e^!!a.segmentsIntersect(s,u,s+1e6,u+1e6,t[0],t[1],t[2],t[3])}),!1)){U.forEach((function(e){var t=a.segmentsIntersect(h,d,s,u,e[0],e[1],e[2],e[3]);t&&(h=t.x,d=t.y)}));var V=t.arrowwidth,q=t.arrowcolor,H=t.arrowside,G=P.append("g").style({opacity:l.opacity(q)}).classed("annotation-arrow-g",!0),W=G.append("path").attr("d","M"+h+","+d+"L"+s+","+u).style("stroke-width",V+"px").call(l.stroke,l.rgb(q));if(m(W,H,t),T.annotationPosition&&W.node().parentNode&&!g){var Y=s,X=u;if(t.standoff){var Z=Math.sqrt(Math.pow(s-h,2)+Math.pow(u-d,2));Y+=t.standoff*(h-s)/Z,X+=t.standoff*(d-u)/Z}var $,K,J=G.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(h-Y)+","+(d-X),transform:o(Y,X)}).style("stroke-width",V+6+"px").call(l.stroke,"rgba(0,0,0,0)").call(l.fill,"rgba(0,0,0,0)");f.init({element:J.node(),gd:e,prepFn:function(){var e=c.getTranslate(R);$=e.x,K=e.y,v&&v.autorange&&M(v._name+".autorange",!0),x&&x.autorange&&M(x._name+".autorange",!0)},moveFn:function(e,r){var n=w($,K),i=n[0]+e,a=n[1]+r;R.call(c.setTranslate,i,a),S("x",y(v,e,"x",k,t)),S("y",y(x,r,"y",k,t)),t.axref===t.xref&&S("ax",y(v,e,"ax",k,t)),t.ayref===t.yref&&S("ay",y(x,r,"ay",k,t)),G.attr("transform",o(e,r)),z.attr({transform:"rotate("+I+","+i+","+a+")"})},doneFn:function(){n.call("_guiRelayout",e,E());var t=document.querySelector(".js-notes-box-panel");t&&t.redraw(t.selectedObj)}})}}};t.showarrow&&Ae(0,0),O&&f.init({element:R.node(),gd:e,prepFn:function(){Te=z.attr("transform")},moveFn:function(e,r){var n="pointer";if(t.showarrow)t.axref===t.xref?S("ax",y(v,e,"ax",k,t)):S("ax",t.ax+e),t.ayref===t.yref?S("ay",y(x,r,"ay",k.w,t)):S("ay",t.ay+r),Ae(e,r);else{if(g)return;var i,a;if(v)i=y(v,e,"x",k,t);else{var s=t._xsize/k.w,l=t.x+(t._xshift-t.xshift)/k.w-s/2;i=f.align(l+e/k.w,s,0,1,t.xanchor)}if(x)a=y(x,r,"y",k,t);else{var c=t._ysize/k.h,u=t.y-(t._yshift+t.yshift)/k.h-c/2;a=f.align(u-r/k.h,c,0,1,t.yanchor)}S("x",i),S("y",a),(!v||!x)&&(n=f.getCursor(v?.5:i,x?.5:a,t.xanchor,t.yanchor))}z.attr({transform:o(e,r)+Te}),d(R,n)},clickFn:function(r,n){t.captureevents&&e.emit("plotly_clickannotation",W(n))},doneFn:function(){d(R),n.call("_guiRelayout",e,E());var t=document.querySelector(".js-notes-box-panel");t&&t.redraw(t.selectedObj)}})}}}t.exports={draw:function(e){var t=e._fullLayout;t._infolayer.selectAll(".annotation").remove();for(var r=0;r0||r.explicitOff.length>0},onClick:function(e,t){var o,s,l=a(e,t),c=l.on,u=l.off.concat(l.explicitOff),h={},d=e._fullLayout.annotations;if(c.length||u.length){for(o=0;o1){c=!0;break}}c?e.fullLayout._infolayer.select(".annotation-"+e.id+'[data-index="'+s+'"]').remove():(l._pdata=n(e.glplot.cameraParams,[t.xaxis.r2l(l.x)*a[0],t.yaxis.r2l(l.y)*a[1],t.zaxis.r2l(l.z)*a[2]]),r(e.graphDiv,l,s,e.id,l._xa,l._ya))}}}}),Ja=m({"src/components/annotations3d/index.js"(e,t){var r=jt(),n=dr();t.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:Ya()}}},layoutAttributes:Ya(),handleDefaults:Xa(),includeBasePlot:function(e,t){var i=r.subplotsRegistry.gl3d;if(i)for(var a=i.attrRegex,o=Object.keys(e),s=0;s{var l,g,y,v,x=a+"anchor",b="x"===a?d:f,_={_fullLayout:i};let w=e[a+"ref"];if(Array.isArray(w)&&w.length>0){let r=o.countDefiningCoords(u,c,a);v=n.coerceRefArray(e,t,_,a,void 0,"paper",r),t["_"+a+"refArray"]=!0}else v=n.coerceRef(e,t,_,a,void 0,"paper");if(Array.isArray(v))v.forEach((function(e){"range"===n.getRefType(e)&&(l=n.getFromId(_,e))&&-1===l._shapeIndices.indexOf(t._index)&&l._shapeIndices.push(t._index)})),h&&[0,1].forEach((function(i){let c=v[i];"range"===n.getRefType(c)?(l=n.getFromId(_,c),g=o.shapePositionToRange(l),y=o.rangeToShapePosition(l),("category"===l.type||"multicategory"===l.type)&&s(a+i+"shift")):g=y=r.identity;let u=a+i,h=e[u];if(e[u]=g(e[u],!0),"pixel"===b?s(u,m[i]):n.coercePosition(t,_,s,c,u,p[i]),t[u]=y(t[u]),e[u]=h,0===i&&"pixel"===b){let r=e[x];e[x]=g(e[x],!0),n.coercePosition(t,_,s,c,x,.25),t[x]=y(t[x]),e[x]=r}}));else{if("range"===n.getRefType(v)?((l=n.getFromId(_,v))._shapeIndices.push(t._index),y=o.rangeToShapePosition(l),g=o.shapePositionToRange(l),h&&("category"===l.type||"multicategory"===l.type)&&(s(a+"0shift"),s(a+"1shift"))):g=y=r.identity,h){let r=a+"0",i=a+"1",o=e[r],l=e[i];e[r]=g(e[r],!0),e[i]=g(e[i],!0),"pixel"===b?(s(r,m[0]),s(i,m[1])):(n.coercePosition(t,_,s,v,r,p[0]),n.coercePosition(t,_,s,v,i,p[1])),t[r]=y(t[r]),t[i]=y(t[i]),e[r]=o,e[i]=l}if("pixel"===b){let r=e[x];e[x]=g(e[x],!0),n.coercePosition(t,_,s,v,x,.25),t[x]=y(t[x]),e[x]=r}}})),h&&r.noneOrAll(e,t,["x0","x1","y0","y1"]);var g,y,v="line"===u;if(h&&(g=s("label.texttemplate"),s("label.texttemplatefallback")),g||(y=s("label.text")),y||g){s("label.textangle");var x=s("label.textposition",v?"middle":"middle center");s("label.xanchor"),s("label.yanchor",function(e,t){return e?"bottom":-1!==t.indexOf("top")?"top":-1!==t.indexOf("bottom")?"bottom":"middle"}(v,x)),s("label.padding"),r.coerceFont(s,"label.font",i.font)}}t.exports=function(e,t){i(e,t,{name:"shapes",handleItemDefaults:s})}}}),to=m({"src/components/shapes/draw_newshape/defaults.js"(e,t){var r=Fe(),n=dr();t.exports=function(e,t,i){if(i("newshape.visible"),i("newshape.name"),i("newshape.showlegend"),i("newshape.legend"),i("newshape.legendwidth"),i("newshape.legendgroup"),i("newshape.legendgrouptitle.text"),n.coerceFont(i,"newshape.legendgrouptitle.font"),i("newshape.legendrank"),i("newshape.drawdirection"),i("newshape.layer"),i("newshape.fillcolor"),i("newshape.fillrule"),i("newshape.opacity"),i("newshape.line.width")){var a=(e||{}).plot_bgcolor||"#FFF";i("newshape.line.color",r.contrast(a)),i("newshape.line.dash")}var o="drawline"===e.dragmode,s=i("newshape.label.text"),l=i("newshape.label.texttemplate");if(i("newshape.label.texttemplatefallback"),s||l){i("newshape.label.textangle");var c=i("newshape.label.textposition",o?"middle":"middle center");i("newshape.label.xanchor"),i("newshape.label.yanchor",function(e,t){return e?"bottom":-1!==t.indexOf("top")?"top":-1!==t.indexOf("bottom")?"bottom":"middle"}(o,c)),i("newshape.label.padding"),n.coerceFont(i,"newshape.label.font",t.font)}i("activeshape.fillcolor"),i("activeshape.opacity")}}}),ro=m({"src/components/shapes/calc_autorange.js"(e,t){var r=dr(),n=cn(),i=Xn(),a=Zn();function o(e,t,r){let o=t[r+"ref"],s="x"===r?i.paramIsX:i.paramIsY;function l(e,t){"paper"===e||"domain"===n.getRefType(e)||(c[e]||(c[e]=[]),c[e].push(t))}let c={};if("path"===t.type&&t.path){let e=t.path.match(i.segmentRE)||[];for(var u=0,h=0;hr&&(l(o[u],n[r]),u++)}}else l(o[0],t[r+"0"]),l(o[1],t[r+"1"]);let d={};for(let t in c){let r=n.getFromId(e,t);if(r){var f="category"===r.type||"multicategory"===r.type?r.r2c:r.d2c;"date"===r.type&&(f=a.decodeDate(f)),d[r._id]=c[t].map(f)}}return d}function s(e){return c(e.line.width,e.xsizemode,e.x0,e.x1,e.path,!1)}function l(e){return c(e.line.width,e.ysizemode,e.y0,e.y1,e.path,!0)}function c(e,t,n,o,s,l){var c=e/2,u=l;if("pixel"===t){var h=s?a.extractPathCoords(s,l?i.paramIsY:i.paramIsX):[n,o],d=r.aggNums(Math.max,null,h),f=r.aggNums(Math.min,null,h),p=f<0?Math.abs(f)+c:c,m=d>0?d+c:c;return{ppad:c,ppadplus:u?p:m,ppadminus:u?m:p}}return{ppad:c}}function u(e,t,r){var n,o,s="x"===e._id.charAt(0)?"x":"y",l="category"===e.type||"multicategory"===e.type,c=0,u=0,h=l?e.r2c:e.d2c;if("scaled"===t[s+"sizemode"]?(n=t[s+"0"],o=t[s+"1"],l&&(c=t[s+"0shift"],u=t[s+"1shift"])):(n=t[s+"anchor"],o=t[s+"anchor"]),void 0!==n)return[h(n)+c,h(o)+u];if(t.path){var d,f,p,m,g=1/0,y=-1/0,v=t.path.match(i.segmentRE);for("date"===e.type&&(h=a.decodeDate(h)),d=0;dy&&(y=m));if(y>=g)return[g,y]}}t.exports=function(e){var t=e._fullLayout,a=r.filterVisible(t.shapes);if(a.length&&e._fullData.length)for(var c=0;c{d=n.getFromId(e,t),h._extremes[d._id]=n.findExtremes(d,r,s(h))}))}else"paper"!==h.xref&&"domain"!==p&&(f=u(d=n.getFromId(e,h.xref),h,i.paramIsX))&&(h._extremes[d._id]=n.findExtremes(d,f,s(h)));if("array"===m){let t=o(e,h,"y");Object.entries(t).forEach((([t,r])=>{d=n.getFromId(e,t),h._extremes[d._id]=n.findExtremes(d,r,l(h))}))}else"paper"!==h.yref&&"domain"!==m&&(f=u(d=n.getFromId(e,h.yref),h,i.paramIsY))&&(h._extremes[d._id]=n.findExtremes(d,f,l(h)))}}}}),no=m({"src/components/shapes/index.js"(e,t){var r=Jn();t.exports={moduleType:"component",name:"shapes",layoutAttributes:Qa(),supplyLayoutDefaults:eo(),supplyDrawNewShapeDefaults:to(),includeBasePlot:Ri()("shapes"),calcAutorange:ro(),draw:r.draw,drawOne:r.drawOne}}}),io=m({"src/components/images/attributes.js"(e,t){var r=wr(),n=_r().templatedArray;Ei(),t.exports=n("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",r.idRegex.x.toString()],dflt:"paper",editType:"arraydraw"},yref:{valType:"enumerated",values:["paper",r.idRegex.y.toString()],dflt:"paper",editType:"arraydraw"},editType:"arraydraw"})}}),ao=m({"src/components/images/defaults.js"(e,t){var r=dr(),n=cn(),i=qr(),a=io();function o(e,t,i){function o(n,i){return r.coerce(e,t,a,n,i)}var s=o("source");if(!o("visible",!!s))return t;o("layer"),o("xanchor"),o("yanchor"),o("sizex"),o("sizey"),o("sizing"),o("opacity");for(var l={_fullLayout:i},c=["x","y"],u=0;u<2;u++){var h=c[u],d=n.coerceRef(e,t,l,h,"paper",void 0);"paper"!==d&&n.getFromId(l,d)._imgIndices.push(t._index),n.coercePosition(t,l,o,d,h,0)}return t}t.exports=function(e,t){i(e,t,{name:"images",handleItemDefaults:o})}}}),oo=m({"src/components/images/draw.js"(e,t){var r=w(),n=nn(),i=cn(),a=kr(),o=Cr();t.exports=function(e){var t,s,l=e._fullLayout,c=[],u={},h=[];for(s=0;s0)&&(o("active"),o("direction"),o("type"),o("showactive"),o("x"),o("y"),r.noneOrAll(e,t,["x","y"]),o("xanchor"),o("yanchor"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),r.coerceFont(o,"font",a.font),o("bgcolor",a.paper_bgcolor),o("bordercolor"),o("borderwidth"))}function l(e,t){function n(n,i){return r.coerce(e,t,o,n,i)}n("visible","skip"===e.method||Array.isArray(e.args))&&(n("method"),n("args"),n("args2"),n("label"),n("execute"))}t.exports=function(e,t){n(e,t,{name:a,handleItemDefaults:s})}}}),fo=m({"src/components/updatemenus/scrollbox.js"(e,t){t.exports=o;var r=w(),n=Fe(),i=nn(),a=dr();function o(e,t,r){this.gd=e,this.container=t,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll("rect.scrollbox-bg").data([0]),this.bg.exit().on(".drag",null).on("wheel",null).remove(),this.bg.enter().append("rect").classed("scrollbox-bg",!0).style("pointer-events","all").attr({opacity:0,x:0,y:0,width:0,height:0})}o.barWidth=2,o.barLength=20,o.barRadius=2,o.barPad=1,o.barColor="#808BA4",o.prototype.enable=function(e,t,a){var s=this.gd._fullLayout,l=s.width,c=s.height;this.position=e;var u,h,d,f,p=this.position.l,m=this.position.w,g=this.position.t,y=this.position.h,v=this.position.direction,x="down"===v,b="left"===v,_="up"===v,w=m,k=y;!x&&!b&&!("right"===v)&&!_&&(this.position.direction="down",x=!0),x||_?(h=(u=p)+w,x?(d=g,k=(f=Math.min(d+k,c))-d):k=(f=g+k)-(d=Math.max(f-k,0))):(f=(d=g)+k,b?w=(h=p+w)-(u=Math.max(h-w,0)):(u=p,w=(h=Math.min(u+w,l))-u)),this._box={l:u,t:d,w,h:k};var T=m>w,A=o.barLength+2*o.barPad,M=o.barWidth+2*o.barPad,S=p,E=g+y;E+M>c&&(E=c-M);var C=this.container.selectAll("rect.scrollbar-horizontal").data(T?[0]:[]);C.exit().on(".drag",null).remove(),C.enter().append("rect").classed("scrollbar-horizontal",!0).call(n.fill,o.barColor),T?(this.hbar=C.attr({rx:o.barRadius,ry:o.barRadius,x:S,y:E,width:A,height:M}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var L=y>k,I=o.barWidth+2*o.barPad,P=o.barLength+2*o.barPad,z=p+m,O=g;z+I>l&&(z=l-I);var D=this.container.selectAll("rect.scrollbar-vertical").data(L?[0]:[]);D.exit().on(".drag",null).remove(),D.enter().append("rect").classed("scrollbar-vertical",!0).call(n.fill,o.barColor),L?(this.vbar=D.attr({rx:o.barRadius,ry:o.barRadius,x:z,y:O,width:I,height:P}),this._vbarYMin=O+P/2,this._vbarTranslateMax=k-P):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,j=u-.5,F=L?h+I+.5:h+.5,B=d-.5,N=T?f+M+.5:f+.5,U=s._topdefs.selectAll("#"+R).data(T||L?[0]:[]);if(U.exit().remove(),U.enter().append("clipPath").attr("id",R).append("rect"),T||L?(this._clipRect=U.select("rect").attr({x:Math.floor(j),y:Math.floor(B),width:Math.ceil(F)-Math.floor(j),height:Math.ceil(N)-Math.floor(B)}),this.container.call(i.setClipUrl,R,this.gd),this.bg.attr({x:p,y:g,width:m,height:y})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(i.setClipUrl,null),delete this._clipRect),T||L){var V=r.behavior.drag().on("dragstart",(function(){r.event.sourceEvent.preventDefault()})).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(V);var q=r.behavior.drag().on("dragstart",(function(){r.event.sourceEvent.preventDefault(),r.event.sourceEvent.stopPropagation()})).on("drag",this._onBarDrag.bind(this));T&&this.hbar.on(".drag",null).call(q),L&&this.vbar.on(".drag",null).call(q)}this.setTranslate(t,a)},o.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(i.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},o.prototype._onBoxDrag=function(){var e=this.translateX,t=this.translateY;this.hbar&&(e-=r.event.dx),this.vbar&&(t-=r.event.dy),this.setTranslate(e,t)},o.prototype._onBoxWheel=function(){var e=this.translateX,t=this.translateY;this.hbar&&(e+=r.event.deltaY),this.vbar&&(t+=r.event.deltaY),this.setTranslate(e,t)},o.prototype._onBarDrag=function(){var e=this.translateX,t=this.translateY;if(this.hbar){var n=e+this._hbarXMin,i=n+this._hbarTranslateMax;e=(a.constrain(r.event.x,n,i)-n)/(i-n)*(this.position.w-this._box.w)}if(this.vbar){var o=t+this._vbarYMin,s=o+this._vbarTranslateMax;t=(a.constrain(r.event.y,o,s)-o)/(s-o)*(this.position.h-this._box.h)}this.setTranslate(e,t)},o.prototype.setTranslate=function(e,t){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(e=a.constrain(e||0,0,r),t=a.constrain(t||0,0,n),this.translateX=e,this.translateY=t,this.container.call(i.setTranslate,this._box.l-this.position.l-e,this._box.t-this.position.t-t),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+e-.5),y:Math.floor(this.position.t+t-.5)}),this.hbar){var o=e/r;this.hbar.call(i.setTranslate,e+o*this._hbarTranslateMax,t)}if(this.vbar){var s=t/n;this.vbar.call(i.setTranslate,e,t+s*this._vbarTranslateMax)}}}}),po=m({"src/components/updatemenus/draw.js"(e,t){var r=w(),n=Er(),i=Fe(),a=nn(),o=dr(),s=Ir(),l=_r().arrayEditor,c=Lr().LINE_SPACING,u=co(),h=fo();function d(e){return e._index}function f(e,t){return+e.attr(u.menuIndexAttrName)===t._index}function p(e,t,r,n,i,a,o,s){t.active=o,l(e.layout,u.name,t).applyUpdate("active",o),"buttons"===t.type?g(e,n,null,null,t):"dropdown"===t.type&&(i.attr(u.menuIndexAttrName,"-1"),m(e,n,i,a,t),s||g(e,n,i,a,t))}function m(e,t,r,n,i){var s=o.ensureSingle(t,"g",u.headerClassName,(function(e){e.style("pointer-events","all")})),l=i._dims,c=i.active,h=i.buttons[c]||u.blankHeaderOpts,d={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};s.call(y,i,h,e).call(M,i,d,p),o.ensureSingle(t,"text",u.headerArrowClassName,(function(e){e.attr("text-anchor","end").call(a.font,i.font).text(u.arrowSymbol[i.direction])})).attr({x:l.headerWidth-u.arrowOffsetX+i.pad.l,y:l.headerHeight/2+u.textOffsetY+i.pad.t}),s.on("click",(function(){r.call(S,String(f(r,i)?-1:i._index)),g(e,t,r,n,i)})),s.on("mouseover",(function(){s.call(_)})),s.on("mouseout",(function(){s.call(k,i)})),a.setTranslate(t,l.lx,l.ly)}function g(e,t,i,a,s){i||(i=t).attr("pointer-events","all");var l=function(e){return-1==+e.attr(u.menuIndexAttrName)}(i)&&"buttons"!==s.type?[]:s.buttons,c="dropdown"===s.type?u.dropdownButtonClassName:u.buttonClassName,h=i.selectAll("g."+c).data(o.filterVisible(l)),d=h.enter().append("g").classed(c,!0),f=h.exit();"dropdown"===s.type?(d.attr("opacity","0").transition().attr("opacity","1"),f.transition().attr("opacity","0").remove()):f.remove();var m=0,g=0,v=s._dims,x=-1!==["up","down"].indexOf(s.direction);"dropdown"===s.type&&(x?g=v.headerHeight+u.gapButtonHeader:m=v.headerWidth+u.gapButtonHeader),"dropdown"===s.type&&"up"===s.direction&&(g=-u.gapButtonHeader+u.gapButton-v.openHeight),"dropdown"===s.type&&"left"===s.direction&&(m=-u.gapButtonHeader+u.gapButton-v.openWidth);var w={x:v.lx+m+s.pad.l,y:v.ly+g+s.pad.t,yPad:u.gapButton,xPad:u.gapButton,index:0},T={l:w.x+s.borderwidth,t:w.y+s.borderwidth};h.each((function(o,l){var c=r.select(this);c.call(y,s,o,e).call(M,s,w),c.on("click",(function(){r.event.defaultPrevented||(o.execute&&(o.args2&&s.active===l?(p(e,s,0,t,i,a,-1),n.executeAPICommand(e,o.method,o.args2)):(p(e,s,0,t,i,a,l),n.executeAPICommand(e,o.method,o.args))),e.emit("plotly_buttonclicked",{menu:s,button:o,active:s.active}))})),c.on("mouseover",(function(){c.call(_)})),c.on("mouseout",(function(){c.call(k,s),h.call(b,s)}))})),h.call(b,s),x?(T.w=Math.max(v.openWidth,v.headerWidth),T.h=w.y-T.t):(T.w=w.x-T.l,T.h=Math.max(v.openHeight,v.headerHeight)),T.direction=s.direction,a&&(h.size()?function(e,t,r,n,i,a){var o,s,l,c=i.direction,h="up"===c||"down"===c,d=i._dims,f=i.active;if(h)for(s=0,l=0;l0?[0]:[]);if(s.enter().append("g").classed(u.containerClassName,!0).style("cursor","pointer"),s.exit().each((function(){r.select(this).selectAll("g."+u.headerGroupClassName).each(a)})).remove(),0!==i.length){var l=s.selectAll("g."+u.headerGroupClassName).data(i,d);l.enter().append("g").classed(u.headerGroupClassName,!0);for(var c=o.ensureSingle(s,"g",u.dropdownButtonGroupClassName,(function(e){e.style("pointer-events","all")})),y=0;y0&&(l=l.transition().duration(t.transition.duration).ease(t.transition.easing)),l.attr("transform",s(o-.5*u.gripWidth,t._dims.currentValueTotalHeight))}}function E(e,t){var r=e._dims;return r.inputAreaStart+u.stepInset+(r.inputAreaLength-2*u.stepInset)*Math.min(1,Math.max(0,t))}function C(e,t){var r=e._dims;return Math.min(1,Math.max(0,(t-u.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*u.stepInset-2*r.inputAreaStart)))}function L(e,t,r){var n=r._dims,s=o.ensureSingle(e,"rect",u.railTouchRectClass,(function(n){n.call(A,t,e,r).style("pointer-events","all")}));s.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,u.tickOffset+r.ticklen+n.labelHeight)}).call(i.fill,r.bgcolor).attr("opacity",0),a.setTranslate(s,0,n.currentValueTotalHeight)}function I(e,t){var r=t._dims,n=r.inputAreaLength-2*u.railInset,s=o.ensureSingle(e,"rect",u.railRectClass);s.attr({width:n,height:u.railWidth,rx:u.railRadius,ry:u.railRadius,"shape-rendering":"crispEdges"}).call(i.stroke,t.bordercolor).call(i.fill,t.bgcolor).style("stroke-width",t.borderwidth+"px"),a.setTranslate(s,u.railInset,.5*(r.inputAreaWidth-u.railWidth)+r.currentValueTotalHeight)}t.exports=function(e){var t=e._context.staticPlot,i=e._fullLayout,o=function(e,t){for(var r=e[u.name],n=[],i=0;i0?[0]:[]);function l(t){t._commandObserver&&(t._commandObserver.remove(),delete t._commandObserver),n.autoMargin(e,m(t))}if(s.enter().append("g").classed(u.containerClassName,!0).style("cursor",t?null:"ew-resize"),s.exit().each((function(){r.select(this).selectAll("g."+u.groupClassName).each(l)})).remove(),0!==o.length){var c=s.selectAll("g."+u.groupClassName).data(o,g);c.enter().append("g").classed(u.groupClassName,!0),c.exit().each(l).remove();for(var h=0;h0?e.touches[0].clientX:0}function g(e,t,r,n){var i=a.ensureSingle(e,"rect",p.bgClassName,(function(e){e.attr({x:0,y:0,"shape-rendering":"crispEdges"})})),c=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,u=-n._offsetShift,h=s.crispRound(t,n.borderwidth);i.attr({width:n._width+c,height:n._height+c,transform:o(u,u),"stroke-width":h}).call(l.stroke,n.bordercolor).call(l.fill,n.bgcolor)}function y(e,t,r,n){var i=t._fullLayout;a.ensureSingleById(i._topdefs,"clipPath",n._clipId,(function(e){e.append("rect").attr({x:0,y:0})})).select("rect").attr({width:n._width,height:n._height})}function v(e,t,n,o){var l,c=t.calcdata,d=e.selectAll("g."+p.rangePlotClassName).data(n._subplotsWith,a.identity);d.enter().append("g").attr("class",(function(e){return p.rangePlotClassName+" "+e})).call(s.setClipUrl,o._clipId,t),d.order(),d.exit().remove(),d.each((function(e,a){var s=r.select(this),d=0===a,f=h.getFromId(t,e,"y"),p=f._name,m=o[p],g={data:[],layout:{xaxis:{type:n.type,domain:[0,1],range:o.range.slice(),calendar:n.calendar},width:o._width,height:o._height,margin:{t:0,b:0,l:0,r:0}},_context:t._context};n.rangebreaks&&(g.layout.xaxis.rangebreaks=n.rangebreaks),g.layout[p]={type:f.type,domain:[0,1],range:"match"!==m.rangemode?m.range.slice():f.range.slice(),calendar:f.calendar},f.rangebreaks&&(g.layout[p].rangebreaks=f.rangebreaks),i.supplyDefaults(g);var y=g._fullLayout.xaxis,v=g._fullLayout[p];y.clearCalc(),y.setScale(),v.clearCalc(),v.setScale();var x={id:e,plotgroup:s,xaxis:y,yaxis:v,isRangePlot:!0};d?l=x:(x.mainplot="xy",x.mainplotinfo=l),u.rangePlot(t,x,function(e,t){for(var r=[],n=0;n=n.max)t=F[r+1];else if(e=n.pmax)t=F[r+1];else if(ei._length||v+_<0)return;u=y+_,d=v+_;break;case l:if(b="col-resize",y+_>i._length)return;u=y+_,d=v;break;case c:if(b="col-resize",v+_<0)return;u=y,d=v+_;break;default:b="ew-resize",u=g,d=g+_}if(d0)){var m=function(e,t,r){for(var n=r.filter((function(r){return t[r].anchor===e._id})),i=0,a=0;a1){d||f||p||"independent"===T("pattern")&&(d=!0),g._hasSubplotGrid=d;var x,b,_="top to bottom"===T("roworder"),w=d?.2:.1,k=d?.3:.1;m&&t._splomGridDflt&&(x=t._splomGridDflt.xside,b=t._splomGridDflt.yside),g._domains={x:c("x",T,w,x,v),y:c("y",T,k,b,y,_)}}else delete t.grid}function T(e,t){return r.coerce(n,g,s,e,t)}},contentDefaults:function(e,t){var r=t.grid;if(r&&r._domains){var n,i,a,o,s,c,h,d=e.grid||{},f=t._subplots,p=r._hasSubplotGrid,m=r.rows,g=r.columns,y="independent"===r.pattern,v=r._axisMap={};if(p){var x=d.subplots||[];c=r.subplots=new Array(m);var b=1;for(n=0;n0,h=e._context.staticPlot;t.each((function(t){var d,f=t[0].trace,p=f.error_x||{},m=f.error_y||{};f.ids&&(d=function(e){return e.id});var g=a.hasMarkers(f)&&f.marker.maxdisplayed>0;!m.visible&&!p.visible&&(t=[]);var y=r.select(this).selectAll("g.errorbar").data(t,d);if(y.exit().remove(),t.length){p.visible||y.selectAll("path.xerror").remove(),m.visible||y.selectAll("path.yerror").remove(),y.style("opacity",1);var v=y.enter().append("g").classed("errorbar",!0);u&&v.style("opacity",0).transition().duration(s.duration).style("opacity",1),i.setClipUrl(y,o.layerClipId,e),y.each((function(e){var t=r.select(this),i=function(e,t,r){var i={x:t.c2p(e.x),y:r.c2p(e.y)};return void 0!==e.yh&&(i.yh=r.c2p(e.yh),i.ys=r.c2p(e.ys),n(i.ys)||(i.noYS=!0,i.ys=r.c2p(e.ys,!0))),void 0!==e.xh&&(i.xh=t.c2p(e.xh),i.xs=t.c2p(e.xs),n(i.xs)||(i.noXS=!0,i.xs=t.c2p(e.xs,!0))),i}(e,l,c);if(!g||e.vis){var a,o=t.select("path.yerror");if(m.visible&&n(i.x)&&n(i.yh)&&n(i.ys)){var d=m.width;a="M"+(i.x-d)+","+i.yh+"h"+2*d+"m-"+d+",0V"+i.ys,i.noYS||(a+="m-"+d+",0h"+2*d),o.size()?u&&(o=o.transition().duration(s.duration).ease(s.easing)):o=t.append("path").style("vector-effect",h?"none":"non-scaling-stroke").classed("yerror",!0),o.attr("d",a)}else o.remove();var f=t.select("path.xerror");if(p.visible&&n(i.y)&&n(i.xh)&&n(i.xs)){var y=(p.copy_ystyle?m:p).width;a="M"+i.xh+","+(i.y-y)+"v"+2*y+"m0,-"+y+"H"+i.xs,i.noXS||(a+="m0,-"+y+"v"+2*y),f.size()?u&&(f=f.transition().duration(s.duration).ease(s.easing)):f=t.append("path").style("vector-effect",h?"none":"non-scaling-stroke").classed("xerror",!0),f.attr("d",a)}else f.remove()}}))}}))}}}),Vo=m({"src/components/errorbars/style.js"(e,t){var r=w(),n=Fe();t.exports=function(e){e.each((function(e){var t=e[0].trace,i=t.error_y||{},a=t.error_x||{},o=r.select(this);o.selectAll("path.yerror").style("stroke-width",i.thickness+"px").call(n.stroke,i.color),a.copy_ystyle&&(a=i),o.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(n.stroke,a.color)}))}}}),qo=m({"src/components/errorbars/index.js"(e,t){var r=dr(),n=St().overrideAll,i=jo(),a={error_x:r.extendFlat({},i),error_y:r.extendFlat({},i)};delete a.error_x.copy_zstyle,delete a.error_y.copy_zstyle,delete a.error_y.copy_ystyle;var o={error_x:r.extendFlat({},i),error_y:r.extendFlat({},i),error_z:r.extendFlat({},i)};delete o.error_x.copy_ystyle,delete o.error_y.copy_ystyle,delete o.error_z.copy_ystyle,delete o.error_z.copy_zstyle,t.exports={moduleType:"component",name:"errorbars",schema:{traces:{scatter:a,bar:a,histogram:a,scatter3d:n(o,"calc","nested"),scattergl:n(a,"calc","nested")}},supplyDefaults:Fo(),calc:No(),makeComputeError:Bo(),plot:Uo(),style:Vo(),hoverInfo:function(e,t,r){(t.error_y||{}).visible&&(r.yerr=e.yh-e.y,t.error_y.symmetric||(r.yerrneg=e.y-e.ys)),(t.error_x||{}).visible&&(r.xerr=e.xh-e.x,t.error_x.symmetric||(r.xerrneg=e.x-e.xs))}}}}),Ho=m({"src/components/colorbar/constants.js"(e,t){t.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"}}}}),Go=m({"src/components/colorbar/draw.js"(e,t){var r=w(),n=Er(),i=jt(),a=cn(),o=yn(),s=dr(),l=s.strTranslate,c=V().extendFlat,u=vn(),h=nn(),d=Fe(),f=an(),p=Ir(),m=Pr().flipScale,g=za(),y=Oa(),v=Or(),x=Lr(),b=x.LINE_SPACING,_=x.FROM_TL,k=x.FROM_BR,T=Ho().cn;t.exports={draw:function(e){var t=e._fullLayout._infolayer.selectAll("g."+T.colorbar).data(function(e){var t,r,n,i,a=e._fullLayout,o=e.calcdata,s=[];function l(e){return c(e,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function u(){"function"==typeof i.calc?i.calc(e,n,t):(t._fillgradient=r.reversescale?m(r.colorscale):r.colorscale,t._zrange=[r[i.min],r[i.max]])}for(var h=0;h0?n>=l:n<=l));i++)n>u&&n0?n>=l:n<=l));i++)n>r[0]&&n1){var de=Math.pow(10,Math.floor(Math.log(he)/Math.LN10));ce*=de*s.roundUp(he/de,[2,5,10]),(Math.abs(G.start)/G.size+1e-6)%1<2e-6&&(se.tick0=0)}se.dtick=ce}se.domain=o?[ae+I/j.h,ae+J-I/j.h]:[ae+L/j.w,ae+J-L/j.w],se.setScale(),e.attr("transform",l(Math.round(j.l),Math.round(j.t)));var fe,pe=e.select("."+T.cbtitleunshift).attr("transform",l(-Math.round(j.l),-Math.round(j.t))),me=se.ticklabelposition,ge=se.title.font.size,ye=e.select("."+T.cbaxis),ve=0,xe=0;function be(r,n){var a={propContainer:se,propName:t._propPrefix+"title.text",traceIndex:t._traceIndex,_meta:t._meta,placeholder:R._dfltTitle.colorbar,containerGroup:e.select("."+T.cbtitle)},o="h"===r.charAt(0)?r.slice(1):"h"+r;e.selectAll("."+o+",."+o+"-math-group").remove(),f.draw(i,r,c(a,n||{}))}return s.syncOrAsync([n.previousPromises,function(){var e,t;(o&&le||!o&&!le)&&("top"===U&&(e=L+j.l+Q*P,t=I+j.t+ee*(1-ae-J)+3+.75*ge),"bottom"===U&&(e=L+j.l+Q*P,t=I+j.t+ee*(1-ae)-3-.25*ge),"right"===U&&(t=I+j.t+ee*z+3+.75*ge,e=L+j.l+Q*ae),be(se._id+"title",{attributes:{x:e,y:t,"text-anchor":o?"start":"middle"}}))},function(){if(!o&&!le||o&&le){var n,c=e.select("."+T.cbtitle),u=c.select("text"),f=[-A/2,A/2],m=c.select(".h"+se._id+"title-math-group").node(),g=15.6;if(u.node()&&(g=parseInt(u.node().style.fontSize,10)*b),m?(n=h.bBox(m),xe=n.width,(ve=n.height)>g&&(f[1]-=(ve-g)/2)):u.node()&&!u.classed(T.jsPlaceholder)&&(n=h.bBox(u.node()),xe=n.width,ve=n.height),o){if(ve){if(ve+=5,"top"===U)se.domain[1]-=ve/j.h,f[1]*=-1;else{se.domain[0]+=ve/j.h;var y=p.lineCount(u);f[1]+=(1-y)*g}c.attr("transform",l(f[0],f[1])),se.setScale()}}else xe&&("right"===U&&(se.domain[0]+=(xe+ge/2)/j.w),c.attr("transform",l(f[0],f[1])),se.setScale())}e.selectAll("."+T.cbfills+",."+T.cblines).attr("transform",o?l(0,Math.round(j.h*(1-se.domain[1]))):l(Math.round(j.w*se.domain[0]),0)),ye.attr("transform",o?l(0,Math.round(-j.t)):l(Math.round(-j.l),0));var v=e.select("."+T.cbfills).selectAll("rect."+T.cbfill).attr("style","").data(Y);v.enter().append("rect").classed(T.cbfill,!0).attr("style",""),v.exit().remove();var x=V.map(se.c2p).map(Math.round).sort((function(e,t){return e-t}));v.each((function(e,n){var a=[0===n?V[0]:(Y[n]+Y[n-1])/2,n===Y.length-1?V[1]:(Y[n]+Y[n+1])/2].map(se.c2p).map(Math.round);o&&(a[1]=s.constrain(a[1]+(a[1]>a[0])?1:-1,x[0],x[1]));var l=r.select(this).attr(o?"x":"y",te).attr(o?"y":"x",r.min(a)).attr(o?"width":"height",Math.max(Z,2)).attr(o?"height":"width",Math.max(r.max(a)-r.min(a),2));if(t._fillgradient)h.gradient(l,i,t._id,o?"vertical":"horizontalreversed",t._fillgradient,"fill");else{var c=H(e).replace("e-","");l.attr("fill",d.color(c).hex())}}));var _=e.select("."+T.cblines).selectAll("path."+T.cbline).data(B.color&&B.width?X:[]);_.enter().append("path").classed(T.cbline,!0),_.exit().remove(),_.each((function(e){var t=te,n=Math.round(se.c2p(e))+B.width/2%1;r.select(this).attr("d","M"+(o?t+","+n:n+","+t)+(o?"h":"v")+Z).call(h.lineGroupStyle,B.width,q(e),B.dash)})),ye.selectAll("g."+se._id+"tick,path").remove();var w=te+Z+(A||0)/2-("outside"===t.ticks?1:0),k=a.calcTicks(se),M=a.getTickSigns(se)[2];return a.drawTicks(i,se,{vals:"inside"===se.ticks?a.clipEnds(se,k):k,layer:ye,path:a.makeTickPath(se,w,M),transFn:a.makeTransTickFn(se)}),a.drawLabels(i,se,{vals:k,layer:ye,transFn:a.makeTransTickLabelFn(se),labelFns:a.makeLabelFns(se,w)})},function(){if(o&&!le||!o&&le){var e,n,a=se.position||0,s=se._offset+se._length/2;if("right"===U)n=s,e=j.l+Q*a+10+ge*(se.showticklabels?1:.5);else if(e=s,"bottom"===U&&(n=j.t+ee*a+10+(-1===me.indexOf("inside")?se.tickfont.size:0)+("inside"!==se.ticks&&t.ticklen||0)),"top"===U){var l=N.text.split("
").length;n=j.t+ee*a+10-Z-b*ge*l}be((o?"h":"v")+se._id+"title",{avoid:{selection:r.select(i).selectAll("g."+se._id+"tick"),side:U,offsetTop:o?0:j.t,offsetLeft:o?j.l:0,maxShift:o?R.width:R.height},attributes:{x:e,y:n,"text-anchor":"middle"},transform:{rotate:o?-90:0,offset:0}})}},n.previousPromises,function(){var r,a=Z+A/2;-1===me.indexOf("inside")&&(r=h.bBox(ye.node()),a+=o?r.width:r.height),fe=pe.select("text");var s=0,c=o&&"top"===U,f=!o&&"right"===U,p=0;if(fe.node()&&!fe.classed(T.jsPlaceholder)){var g,y=pe.select(".h"+se._id+"title-math-group").node();y&&(o&&le||!o&&!le)?(s=(r=h.bBox(y)).width,g=r.height):(s=(r=h.bBox(pe.node())).right-j.l-(o?te:oe),g=r.bottom-j.t-(o?oe:te),!o&&"top"===U&&(a+=r.height,p=r.height)),f&&(fe.attr("transform",l(s/2+ge/2,0)),s*=2),a=Math.max(a,o?s:g)}var v=2*(o?L:I)+a+M+A/2,b=0;!o&&N.text&&"bottom"===C&&z<=0&&(v+=b=v/2,p+=b),R._hColorbarMoveTitle=b,R._hColorbarMoveCBTitle=p;var F=M+A,B=(o?te:oe)-F/2-(o?L:0),V=(o?oe:te)-(o?K:I+p-b);e.select("."+T.cbbg).attr("x",B).attr("y",V).attr(o?"width":"height",Math.max(v-b,2)).attr(o?"height":"width",Math.max(K+F,2)).call(d.fill,S).call(d.stroke,t.bordercolor).style("stroke-width",M);var q=f?Math.max(s-10,0):0;e.selectAll("."+T.cboutline).attr("x",(o?te:oe+L)+q).attr("y",(o?oe+I-K:te)+(c?ve:0)).attr(o?"width":"height",Math.max(Z,2)).attr(o?"height":"width",Math.max(K-(o?2*I+ve:2*L+q),2)).call(d.stroke,t.outlinecolor).style({fill:"none","stroke-width":A});var H=o?re*v:0,G=o?0:(1-ne)*v-p;if(H=D?j.l-H:-H,G=O?j.t-G:-G,e.attr("transform",l(H,G)),!o&&(M||d.opacity(S)&&!d.equals(R.paper_bgcolor,S))){var W=ye.selectAll("text"),Y=W[0].length,X=e.select("."+T.cbbg).node(),$=h.bBox(X),J=h.getTranslate(e);W.each((function(e,t){var r=Y-1;if(0===t||t===r){var n,i=h.bBox(this),a=h.getTranslate(this);if(t===r){var o=i.right+a.x;(n=$.right+J.x+oe-M-2+P-o)>0&&(n=0)}else if(0===t){var s=i.left+a.x;(n=$.left+J.x+oe+M+2-s)<0&&(n=0)}n&&(Y<3?this.setAttribute("transform","translate("+n+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}}))}var Q={},ee=_[E],ie=k[E],ae=_[C],ce=k[C],ue=v-Z;o?("pixels"===m?(Q.y=z,Q.t=K*ae,Q.b=K*ce):(Q.t=Q.b=0,Q.yt=z+u*ae,Q.yb=z-u*ce),"pixels"===w?(Q.x=P,Q.l=v*ee,Q.r=v*ie):(Q.l=ue*ee,Q.r=ue*ie,Q.xl=P-x*ee,Q.xr=P+x*ie)):("pixels"===m?(Q.x=P,Q.l=K*ee,Q.r=K*ie):(Q.l=Q.r=0,Q.xl=P+u*ee,Q.xr=P-u*ie),"pixels"===w?(Q.y=1-z,Q.t=v*ae,Q.b=v*ce):(Q.t=ue*ae,Q.b=ue*ce,Q.yt=z-x*ae,Q.yb=z+x*ce));var he=t.y<.5?"b":"t",de=t.x<.5?"l":"r";i._fullLayout._reservedMargin[t._id]={};var xe={r:R.width-B-H,l:B+Q.r,b:R.height-V-G,t:V+Q.b};D&&O?n.autoMargin(i,t._id,Q):D?i._fullLayout._reservedMargin[t._id][he]=xe[he]:O||o?i._fullLayout._reservedMargin[t._id][de]=xe[de]:i._fullLayout._reservedMargin[t._id][he]=xe[he]}],i)}(m,t,e);x&&x.then&&(e._promises||[]).push(x),e._context.edits.colorbarPosition&&function(e,t,r){var n,a,s,c="v"===t.orientation,h=r._fullLayout._size;o.init({element:e.node(),gd:r,prepFn:function(){n=e.attr("transform"),u(e)},moveFn:function(r,i){e.attr("transform",n+l(r,i)),a=o.align((c?t._uFrac:t._vFrac)+r/h.w,c?t._thickFrac:t._lenFrac,0,1,t.xanchor),s=o.align((c?t._vFrac:1-t._uFrac)-i/h.h,c?t._lenFrac:t._thickFrac,0,1,t.yanchor);var d=o.getCursor(a,s,t.xanchor,t.yanchor);u(e,d)},doneFn:function(){if(u(e),void 0!==a&&void 0!==s){var n={};n[t._propPrefix+"x"]=a,n[t._propPrefix+"y"]=s,void 0!==t._traceIndex?i.call("_guiRestyle",r,n,t._traceIndex):i.call("_guiRelayout",r,n)}}})}(m,t,e)})),t.exit().each((function(t){n.autoMargin(e,t._id)})).remove(),t.order()}}}}),Wo=m({"src/components/colorbar/index.js"(e,t){t.exports={moduleType:"component",name:"colorbar",attributes:Dr(),supplyDefaults:Wr(),draw:Go().draw,hasColorbar:Fr()}}}),Yo=m({"src/components/legend/index.js"(e,t){t.exports={moduleType:"component",name:"legend",layoutAttributes:bn(),supplyLayoutDefaults:wn(),draw:Ln(),style:Cn()}}}),Xo=m({"src/locale-en.js"(e,t){t.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}}}),Zo=m({"src/locale-en-us.js"(e,t){t.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}}}),$o=m({"src/snapshot/cloneplot.js"(e,t){var r=jt(),n=dr(),i=n.extendFlat,a=n.extendDeep;function o(e){var t;switch(e){case"themes__thumb":t={autosize:!0,width:150,height:150,title:{text:""},showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case"thumbnail":t={title:{text:""},showlegend:!1,borderwidth:0,bordercolor:"",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:t={}}return t}t.exports=function(e,t){var n,s,l=e.data,c=e.layout,u=a([],l),h=a({},c,o(t.tileClass));if(e._context,t.width&&(h.width=t.width),t.height&&(h.height=t.height),"thumbnail"===t.tileClass||"themes__thumb"===t.tileClass){h.annotations=[];var d=Object.keys(h);for(n=0;n-1&&(h[d[n]].title={text:""});for(n=0;n=0)return e}else if("string"==typeof e&&"%"===(e=e.trim()).slice(-1)&&r(e.slice(0,-1))&&(e=+e.slice(0,-1))>=0)return e+"%"}function f(e,t,r,i,a,o){var s=!1!==(o=o||{}).moduleHasSelected,l=!1!==o.moduleHasUnselected,c=!1!==o.moduleHasConstrain,u=!1!==o.moduleHasCliponaxis,d=!1!==o.moduleHasTextangle,f=!1!==o.moduleHasInsideanchor,p=!!o.hasPathbar,m=Array.isArray(a)||"auto"===a,g=m||"inside"===a,y=m||"outside"===a;if(g||y){var v=h(i,"textfont",r.font),x=n.extendFlat({},v),b=!(e.textfont&&e.textfont.color);if(b&&delete x.color,h(i,"insidetextfont",x),p){var _=n.extendFlat({},v);b&&delete _.color,h(i,"pathbar.textfont",_)}y&&h(i,"outsidetextfont",v),s&&i("selected.textfont.color"),l&&i("unselected.textfont.color"),c&&i("constraintext"),u&&i("cliponaxis"),d&&i("textangle"),i("texttemplate"),i("texttemplatefallback")}g&&f&&i("insidetextanchor")}t.exports={supplyDefaults:function(e,t,r,c){function h(r,i){return n.coerce(e,t,u,r,i)}if(o(e,t,c,h)){s(e,t,c,h),h("xhoverformat"),h("yhoverformat"),h("zorder"),h("orientation",t.x&&!t.y?"h":"v"),h("base"),h("offset"),h("width"),h("text"),h("hovertext"),h("hovertemplate"),h("hovertemplatefallback");var d=h("textposition");f(e,0,c,h,d,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),l(e,t,h,r,c);var p=(t.marker.line||{}).color,m=a.getComponentMethod("errorbars","supplyDefaults");m(e,t,p||i.defaultLine,{axis:"y"}),m(e,t,p||i.defaultLine,{axis:"x",inherit:"y"}),n.coerceSelectionMarkerOpacity(t,h)}else t.visible=!1},crossTraceDefaults:function(e,t){var r,i;function a(e,t){return n.coerce(i._input,i,u,e,t)}for(var o=0;o0&&!d[y]&&(h=!0),d[y]=!0),g.visible&&"histogram"===g.type&&"category"!==n.getFromId({_fullLayout:t},g["v"===g.orientation?"xaxis":"yaxis"]).type&&(u=!0)}}if(c){"overlay"!==f&&l("barnorm"),l("bargap",u&&!h?0:.2),l("bargroupgap");var v=l("barcornerradius");t.barcornerradius=o(v)}else delete t.barmode}}}),os=m({"src/traces/bar/arrays_to_calcdata.js"(e,t){var r=dr();t.exports=function(e,t){for(var n=0;na))return t}return void 0!==n?n:e.dflt},e.coerceColor=function(e,r,n){return t.isValid(r)?r:void 0!==n?n:e.dflt},e.coerceEnumerated=function(e,t,r){return e.coerceNumber&&(t=+t),-1!==e.values.indexOf(t)?t:void 0!==r?r:e.dflt},e.getValue=function(e,t){var r;return n(e)?t1||0===i.bargap&&0===i.bargroupgap&&!e[0].trace.marker.line.width)&&r.select(this).attr("shape-rendering","crispEdges")})),t.selectAll("g.points").each((function(t){f(r.select(this),t[0].trace,e)})),o.getComponentMethod("errorbars","style")(t)},styleTextPoints:p,styleOnSelect:function(e,t,n){var s=t[0].trace;s.selectedpoints?function(e,t,n){i.selectedPointStyle(e.selectAll("path"),t),function(e,t,n){e.each((function(e){var o,s=r.select(this);if(e.selected){o=a.ensureUniformFontSize(n,m(s,e,t,n));var l=t.selected.textfont&&t.selected.textfont.color;l&&(o.color=l),i.font(s,o)}else i.selectedTextStyle(s,t)}))}(e.selectAll("text"),t,n)}(n,s,e):(f(n,s,e),o.getComponentMethod("errorbars","style")(n))},getInsideTextFont:y,getOutsideTextFont:v,getBarColor:b,resizeText:s}}}),hs=m({"src/traces/bar/plot.js"(e,t){var r=w(),n=S(),i=dr(),a=Ir(),o=Fe(),s=nn(),l=jt(),c=cn().tickText,u=ls(),h=u.recordMinTextSize,d=u.clearMinTextSize,f=us(),p=cs(),m=ya(),g=ts(),y=g.text,v=g.textposition,x=en().appendArrayPointValue,b=m.TEXTPAD;function _(e){return e.id}function k(e){return(e>0)-(e<0)}function T(e,t){return e0}function E(e,t,r,n,i){return!(e<0||t<0)&&(r<=e&&n<=t||r<=t&&n<=e||(i?e>=r*(t/n):t>=n*(e/r)))}function C(e){return"auto"===e?0:e}function L(e,t){var r=Math.PI/180*t,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:e.width*i+e.height*n,y:e.width*n+e.height*i}}function I(e,t,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,c=a.anchor,u="end"===c,h="start"===c,d=((a.leftToRight||0)+1)/2,f=1-d,p=a.hasB,m=a.r,g=a.overhead,y=i.width,v=i.height,x=Math.abs(t-e),_=Math.abs(n-r),w=x>2*b&&_>2*b?b:0;x-=2*w,_-=2*w;var k=C(l);"auto"===l&&!(y<=x&&v<=_)&&(y>x||v>_)&&(!(y>_||v>x)||yb){var E=function(e,t,r,n,i,a,o,s,l){var c,u,h,d,f=Math.max(0,Math.abs(t-e)-2*b),p=Math.max(0,Math.abs(n-r)-2*b),m=a-b,g=o?m-Math.sqrt(m*m-(m-o)*(m-o)):m,y=l?2*m:s?m-o:2*g,v=l?2*m:s?2*g:m-o;return i.y/i.x>=p/(f-y)?d=p/i.y:i.y/i.x<=(p-v)/f?d=f/i.x:!l&&s?(c=i.x*i.x+i.y*i.y/4,h=(f-m)*(f-m)+(p/2-m)*(p/2-m)-m*m,d=(-(u=-2*i.x*(f-m)-i.y*(p/2-m))+Math.sqrt(u*u-4*c*h))/(2*c)):l?(c=(i.x*i.x+i.y*i.y)/4,h=(f/2-m)*(f/2-m)+(p/2-m)*(p/2-m)-m*m,d=(-(u=-i.x*(f/2-m)-i.y*(p/2-m))+Math.sqrt(u*u-4*c*h))/(2*c)):(c=i.x*i.x/4+i.y*i.y,h=(f/2-m)*(f/2-m)+(p-m)*(p-m)-m*m,d=(-(u=-i.x*(f/2-m)-2*i.y*(p-m))+Math.sqrt(u*u-4*c*h))/(2*c)),{scale:d=Math.min(1,d),pad:s?Math.max(0,m-Math.sqrt(Math.max(0,m*m-(m-(p-i.y*d)/2)*(m-(p-i.y*d)/2)))-o):Math.max(0,m-Math.sqrt(Math.max(0,m*m-(m-(f-i.x*d)/2)*(m-(f-i.x*d)/2)))-o)}}(e,t,r,n,S,m,g,o,p);A=E.scale,M=E.pad}else A=1,s&&(A=Math.min(1,x/S.x,_/S.y)),M=0;var I=i.left*f+i.right*d,P=(i.top+i.bottom)/2,z=(e+b)*f+(t-b)*d,O=(r+n)/2,D=0,R=0;if(h||u){var j=(o?S.x:S.y)/2;m&&(u||p)&&(w+=M);var F=o?T(e,t):T(r,n);o?h?(z=e+F*w,D=-F*j):(z=t-F*w,D=F*j):h?(O=r+F*w,R=-F*j):(O=n-F*w,R=F*j)}return{textX:I,textY:P,targetX:z,targetY:O,anchorX:D,anchorY:R,scale:A,rotate:k}}t.exports={plot:function(e,t,u,m,g,w){var S=t.xaxis,P=t.yaxis,z=e._fullLayout,O=e._context.staticPlot;g||(g={mode:z.barmode,norm:z.barmode,gap:z.bargap,groupgap:z.bargroupgap},d("bar",z));var D=i.makeTraceGroups(m,u,"trace bars").each((function(l){var u=r.select(this),d=l[0].trace,m=l[0].t,D="waterfall"===d.type,R="funnel"===d.type,j="histogram"===d.type,F="bar"===d.type,B=F||R,N=0;D&&d.connector.visible&&"between"===d.connector.mode&&(N=d.connector.line.width/2);var U="h"===d.orientation,V=M(g),q=i.ensureSingle(u,"g","points"),H=function(e){if(e.ids)return _}(d),G=q.selectAll("g.point").data(i.identity,H);G.enter().append("g").classed("point",!0),G.exit().remove(),G.each((function(u,_){var M,D,R=r.select(this),q=function(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),n?[i,a]:[a,i]}(u,S,P,U),H=q[0][0],G=q[0][1],W=q[1][0],Y=q[1][1],X=0==(U?G-H:Y-W);if(X&&B&&p.getLineWidth(d,u)&&(X=!1),X||(X=!(n(H)&&n(G)&&n(W)&&n(Y))),u.isBlank=X,X&&(U?G=H:Y=W),N&&!X&&(U?(H-=T(H,G)*N,G+=T(H,G)*N):(W-=T(W,Y)*N,Y+=T(W,Y)*N)),"waterfall"===d.type){if(!X){var Z=d[u.dir].marker;M=Z.line.width,D=Z.color}}else M=p.getLineWidth(d,u),D=u.mc||d.marker.color;function $(e){var t=r.round(M/2%1,2);return 0===g.gap&&0===g.groupgap?r.round(Math.round(e)-t,2):e}var K=o.opacity(D)<1||M>.01?$:function(e,t,r){return r&&e===t?e:Math.abs(e-t)>=2?$(e):e>t?Math.ceil(e):Math.floor(e)};e._context.staticPlot||(H=K(H,G,U),G=K(G,H,U),W=K(W,Y,!U),Y=K(Y,W,!U));var J,Q=U?S.c2p:P.c2p;J=u.s0>0?u._sMax:u.s0<0?u._sMin:u.s1>0?u._sMax:u._sMin;var ee,te,re=F||j?function(e,t){if(!e)return 0;var r,n=Math.abs(U?Y-W:G-H),i=Math.abs(U?G-H:Y-W),a=K(Math.abs(Q(J,!0)-Q(0,!0))),o=u.hasB?Math.min(n/2,i/2):Math.min(n/2,a);return r="%"===t?n*(Math.min(50,e)/100):e,K(Math.max(Math.min(r,o),0))}(m.cornerradiusvalue,m.cornerradiusform):0,ne="M"+H+","+W+"V"+Y+"H"+G+"V"+W+"Z",ie=0;if(re&&u.s){var ae=0===k(u.s0)||k(u.s)===k(u.s0)?u.s1:u.s0;if((ie=K(u.hasB?0:Math.abs(Q(J,!0)-Q(ae,!0))))0?Math.sqrt(ie*(2*re-ie)):0,he=oe>0?Math.max:Math.min;ee="M"+H+","+W+"V"+(Y-ce*se)+"H"+he(G-(re-ie)*oe,H)+"A "+re+","+re+" 0 0 "+le+" "+G+","+(Y-re*se-ue)+"V"+(W+re*se+ue)+"A "+re+","+re+" 0 0 "+le+" "+he(G-(re-ie)*oe,H)+","+(W+ce*se)+"Z"}else if(u.hasB)ee="M"+(H+re*oe)+","+W+"A "+re+","+re+" 0 0 "+le+" "+H+","+(W+re*se)+"V"+(Y-re*se)+"A "+re+","+re+" 0 0 "+le+" "+(H+re*oe)+","+Y+"H"+(G-re*oe)+"A "+re+","+re+" 0 0 "+le+" "+G+","+(Y-re*se)+"V"+(W+re*se)+"A "+re+","+re+" 0 0 "+le+" "+(G-re*oe)+","+W+"Z";else{var de=(te=Math.abs(Y-W)+ie)0?Math.sqrt(ie*(2*re-ie)):0,pe=se>0?Math.max:Math.min;ee="M"+(H+de*oe)+","+W+"V"+pe(Y-(re-ie)*se,W)+"A "+re+","+re+" 0 0 "+le+" "+(H+re*oe-fe)+","+Y+"H"+(G-re*oe+fe)+"A "+re+","+re+" 0 0 "+le+" "+(G-de*oe)+","+pe(Y-(re-ie)*se,W)+"V"+W+"Z"}}else ee=ne}else ee=ne;var me=A(i.ensureSingle(R,"path"),z,g,w);if(me.style("vector-effect",O?"none":"non-scaling-stroke").attr("d",isNaN((G-H)*(Y-W))||X&&e._context.staticPlot?"M0,0Z":ee).call(s.setClipUrl,t.layerClipId,e),!z.uniformtext.mode&&V){var ge=s.makePointStyleFns(d);s.singlePointStyle(u,me,d,ge,e)}(function(e,t,r,n,o,l,u,d,m,g,_,w,k){var M,S=t.xaxis,P=t.yaxis,z=e._fullLayout;function O(t,r,n){return i.ensureSingle(t,"text").text(r).attr({class:"bartext bartext-"+M,"text-anchor":"middle","data-notex":1}).call(s.font,n).call(a.convertToTspans,e)}var D=n[0].trace,R="h"===D.orientation,j=function(e,t,r,n,a){var o,s=t[0].trace;return o=s.texttemplate?function(e,t,r,n,a){var o=t[0].trace,s=i.castOption(o,r,"texttemplate");if(!s)return"";var l,u,h,d,f="histogram"===o.type,p="waterfall"===o.type,m="funnel"===o.type,g="h"===o.orientation;function y(e){return c(d,d.c2l(e),!0).text}g?(l="y",u=a,h="x",d=n):(l="x",u=n,h="y",d=a);var v=t[r],b={};b.label=v.p,b.labelLabel=b[l+"Label"]=function(e){return c(u,u.c2l(e),!0).text}(v.p);var _=i.castOption(o,v.i,"text");(0===_||_)&&(b.text=_),b.value=v.s,b.valueLabel=b[h+"Label"]=y(v.s);var w={};x(w,o,v.i),(f||void 0===w.x)&&(w.x=g?b.value:b.label),(f||void 0===w.y)&&(w.y=g?b.label:b.value),(f||void 0===w.xLabel)&&(w.xLabel=g?b.valueLabel:b.labelLabel),(f||void 0===w.yLabel)&&(w.yLabel=g?b.labelLabel:b.valueLabel),p&&(b.delta=+v.rawS||v.s,b.deltaLabel=y(b.delta),b.final=v.v,b.finalLabel=y(b.final),b.initial=b.final-b.delta,b.initialLabel=y(b.initial)),m&&(b.value=v.s,b.valueLabel=y(b.value),b.percentInitial=v.begR,b.percentInitialLabel=i.formatPercent(v.begR),b.percentPrevious=v.difR,b.percentPreviousLabel=i.formatPercent(v.difR),b.percentTotal=v.sumR,b.percenTotalLabel=i.formatPercent(v.sumR));var k=i.castOption(o,v.i,"customdata");return k&&(b.customdata=k),i.texttemplateString({data:[w,b,o._meta],fallback:o.texttemplatefallback,labels:b,locale:e._d3locale,template:s})}(e,t,r,n,a):s.textinfo?function(e,t,r,n){var a=e[0].trace,o="h"===a.orientation,s="waterfall"===a.type,l="funnel"===a.type;function u(e){return c(o?r:n,+e,!0).text}var h,d=a.textinfo,f=e[t],p=d.split("+"),m=[],g=function(e){return-1!==p.indexOf(e)};if(g("label")&&m.push(function(e){return c(o?n:r,e,!0).text}(e[t].p)),g("text")&&(0===(h=i.castOption(a,f.i,"text"))||h)&&m.push(h),s){var y=+f.rawS||f.s,v=f.v,x=v-y;g("initial")&&m.push(u(x)),g("delta")&&m.push(u(y)),g("final")&&m.push(u(v))}if(l){g("value")&&m.push(u(f.s));var b=0;g("percent initial")&&b++,g("percent previous")&&b++,g("percent total")&&b++;var _=b>1;g("percent initial")&&(h=i.formatPercent(f.begR),_&&(h+=" of initial"),m.push(h)),g("percent previous")&&(h=i.formatPercent(f.difR),_&&(h+=" of previous"),m.push(h)),g("percent total")&&(h=i.formatPercent(f.sumR),_&&(h+=" of total"),m.push(h))}return m.join("
")}(t,r,n,a):p.getValue(s.text,r),p.coerceString(y,o)}(z,n,o,S,P);M=function(e,t){var r=p.getValue(e.textposition,t);return p.coerceEnumerated(v,r)}(D,o);var F="stack"===w.mode||"relative"===w.mode,B=n[o],N=!F||B._outmost,U=B.hasB,V=g&&g-_>b;if(j&&"none"!==M&&(!B.isBlank&&l!==u&&d!==m||"auto"!==M&&"inside"!==M)){var q=z.font,H=f.getBarColor(n[o],D),G=f.getInsideTextFont(D,o,q,H),W=f.getOutsideTextFont(D,o,q),Y=D.insidetextanchor||"end",X=r.datum();R?"log"===S.type&&X.s0<=0&&(l=S.range[0]0&&J>0;ie=V?U?E(re-2*g,ne,K,J,R)||E(re,ne-2*g,K,J,R):R?E(re-(g-_),ne,K,J,R)||E(re,ne-2*(g-_),K,J,R):E(re,ne-(g-_),K,J,R)||E(re-2*(g-_),ne,K,J,R):E(re,ne,K,J,R),ae&&ie?M="inside":(M="outside",Z.remove(),Z=null)}else M="inside";if(!Z){var oe=(Z=O(r,j,Q=i.ensureUniformFontSize(e,"outside"===M?W:G))).attr("transform");if(Z.attr("transform",""),K=($=s.bBox(Z.node())).width,J=$.height,Z.attr("transform",oe),K<=0||J<=0)return void Z.remove()}var se,le=D.textangle;"outside"===M?se=function(e,t,r,n,i,a){var o,s=!!a.isHorizontal,l=!!a.constrained,c=a.angle||0,u=i.width,h=i.height,d=Math.abs(t-e),f=Math.abs(n-r);o=s?f>2*b?b:0:d>2*b?b:0;var p=1;l&&(p=s?Math.min(1,f/h):Math.min(1,d/u));var m=C(c),g=L(i,m),y=(s?g.x:g.y)/2,v=(i.left+i.right)/2,x=(i.top+i.bottom)/2,_=(e+t)/2,w=(r+n)/2,k=0,A=0,M=s?T(t,e):T(r,n);return s?(_=t-M*o,k=M*y):(w=n+M*o,A=-M*y),{textX:v,textY:x,targetX:_,targetY:w,anchorX:k,anchorY:A,scale:p,rotate:m}}(l,u,d,m,$,{isHorizontal:R,constrained:"both"===D.constraintext||"outside"===D.constraintext,angle:le}):se=I(l,u,d,m,$,{isHorizontal:R,constrained:"both"===D.constraintext||"inside"===D.constraintext,angle:le,anchor:Y,hasB:U,r:g,overhead:_}),se.fontSize=Q.size,h("histogram"===D.type?"bar":D.type,se,z),B.transform=se;var ce=A(Z,z,w,k);i.setTransormAndDisplay(ce,se)}else r.select("text").remove()})(e,t,R,l,_,H,G,W,Y,re,ie,g,w),t.layerClipId&&s.hideOutsideRangePoint(u,R.select("text"),S,P,d.xcalendar,d.ycalendar)}));var W=!1===d.cliponaxis;s.setClipUrl(u,W?null:t.layerClipId,e)}));l.getComponentMethod("errorbars","plot")(e,D,t,g)},toMoveInsideBar:I}}}),ds=m({"src/traces/bar/hover.js"(e,t){var r=Bn(),n=jt(),i=Fe(),a=dr().fillText,o=cs().getLineWidth,s=cn().hoverLabelText,l=E().BADNUM;function c(e,t,n,i,o){var c,u,h,d,f,p,m,g=e.cd,y=g[0].trace,v=g[0].t,x="closest"===i,b="waterfall"===y.type,_=e.maxHoverDistance,w=e.maxSpikeDistance;"h"===y.orientation?(c=n,u=t,h="y",d="x",f=O,p=P):(c=t,u=n,h="x",d="y",p=O,f=P);var k=y[h+"period"],T=x||k;function A(e){return S(e,-1)}function M(e){return S(e,1)}function S(e,t){var r=e.w;return e[h]+t*r/2}function E(e){return e[h+"End"]-e[h+"Start"]}var C=x?A:k?function(e){return e.p-E(e)/2}:function(e){return Math.min(A(e),e.p-v.bardelta/2)},L=x?M:k?function(e){return e.p+E(e)/2}:function(e){return Math.max(M(e),e.p+v.bardelta/2)};function I(e,t,n){return o.finiteRange&&(n=0),r.inbox(e-c,t-c,n+Math.min(1,Math.abs(t-e)/m)-1)}function P(e){return I(C(e),L(e),_)}function z(e){var t=e[d];if(b){var r=Math.abs(e.rawS)||0;u>0?t+=r:u<0&&(t-=r)}return t}function O(e){var t=u,n=e.b,i=z(e);return r.inbox(n-t,i-t,_+(i-t)/(i-n)-1)}var D=e[h+"a"],R=e[d+"a"];m=Math.abs(D.r2c(D.range[1])-D.r2c(D.range[0]));var j,F,B,N,U=r.getDistanceFunction(i,f,p,(function(e){return(f(e)+p(e))/2}));if(r.getClosest(g,U,e),!1!==e.index&&g[e.index].p!==l){T||(C=function(e){return Math.min(A(e),e.p-v.bargroupwidth/2)},L=function(e){return Math.max(M(e),e.p+v.bargroupwidth/2)});var V=g[e.index],q=y.base?V.b+V.s:V.s;e[d+"0"]=e[d+"1"]=R.c2p(V[d],!0),e[d+"LabelVal"]=q;var H=v.extents[v.extents.round(V.p)];e[h+"0"]=D.c2p(x?C(V):H[0],!0),e[h+"1"]=D.c2p(x?L(V):H[1],!0);var G=void 0!==V.orig_p;return e[h+"LabelVal"]=G?V.orig_p:V.p,e.labelLabel=s(D,e[h+"LabelVal"],y[h+"hoverformat"]),e.valueLabel=s(R,e[d+"LabelVal"],y[d+"hoverformat"]),e.baseLabel=s(R,V.b,y[d+"hoverformat"]),e.spikeDistance=(F=u,B=(j=V).b,N=z(j),(r.inbox(B-F,N-F,w+(N-F)/(N-B)-1)+function(e){return I(A(e),M(e),w)}(V))/2),e[h+"Spike"]=D.c2p(V.p,!0),a(V,y,e),e.hovertemplate=y.hovertemplate,e}}function u(e,t){var r=t.mcc||e.marker.color,n=t.mlcc||e.marker.line.color,a=o(e,t);return i.opacity(r)?r:i.opacity(n)&&a?n:void 0}t.exports={hoverPoints:function(e,t,r,i,a){var o=c(e,t,r,i,a);if(o){var s=o.cd,l=s[0].trace,h=s[o.index];return o.color=u(l,h),n.getComponentMethod("errorbars","hoverInfo")(h,l,o),[o]}},hoverOnBars:c,getTraceColor:u}}}),fs=m({"src/traces/bar/event_data.js"(e,t){t.exports=function(e,t,r){return e.x="xVal"in t?t.xVal:t.x,e.y="yVal"in t?t.yVal:t.y,t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),"h"===r.orientation?(e.label=e.y,e.value=e.x):(e.label=e.x,e.value=e.y),e}}}),ps=m({"src/traces/bar/select.js"(e,t){function r(e,t,r,n,i){var a=t.c2p(n?e.s0:e.p0,!0),o=t.c2p(n?e.s1:e.p1,!0),s=r.c2p(n?e.p0:e.s0,!0),l=r.c2p(n?e.p1:e.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}t.exports=function(e,t){var n,i=e.cd,a=e.xaxis,o=e.yaxis,s=i[0].trace,l="funnel"===s.type,c="h"===s.orientation,u=[];if(!1===t)for(n=0;n0?(g="v",y=x>0?Math.min(_,b):Math.min(b)):x>0?(g="h",y=Math.min(_)):y=0;if(y){t._length=y;var S=i("orientation",g);t._hasPreCompStats?"v"===S&&0===x?(i("x0",0),i("dx",1)):"h"===S&&0===v&&(i("y0",0),i("dy",1)):"v"===S&&0===x?i("x0"):"h"===S&&0===v&&i("y0"),n.getComponentMethod("calendars","handleTraceDefaults")(e,t,["x","y"],a)}else t.visible=!1}function u(e,t,n,i){var a=i.prefix,o=r.coerce2(e,t,l,"marker.outliercolor"),s=n("marker.line.outliercolor"),c="outliers";t._hasPreCompStats?c="all":(o||s)&&(c="suspectedoutliers");var u=n(a+"points",c);u?(n("jitter","all"===u?.3:0),n("pointpos","all"===u?-1.5:0),n("marker.symbol"),n("marker.opacity"),n("marker.size"),n("marker.angle"),n("marker.color",t.line.color),n("marker.line.color"),n("marker.line.width"),"suspectedoutliers"===u&&(n("marker.line.outliercolor",t.marker.color),n("marker.line.outlierwidth")),n("selected.marker.color"),n("unselected.marker.color"),n("selected.marker.size"),n("unselected.marker.size"),n("text"),n("hovertext")):delete t.marker;var h=n("hoveron");("all"===h||-1!==h.indexOf("points"))&&(n("hovertemplate"),n("hovertemplatefallback")),r.coerceSelectionMarkerOpacity(t,n)}t.exports={supplyDefaults:function(e,t,n,o){function s(n,i){return r.coerce(e,t,l,n,i)}if(c(e,t,s,o),!1!==t.visible){a(e,t,o,s),s("xhoverformat"),s("yhoverformat");var h=t._hasPreCompStats;h&&(s("lowerfence"),s("upperfence")),s("line.color",(e.marker||{}).color||n),s("line.width"),s("fillcolor",i.addOpacity(t.line.color,.5));var d=!1;if(h){var f=s("mean"),p=s("sd");f&&f.length&&(d=!0,p&&p.length&&(d="sd"))}s("whiskerwidth");var m,g=s("sizemode");"quartiles"===g&&(m=s("boxmean",d)),s("showwhiskers","quartiles"===g),("sd"===g||"sd"===m)&&s("sdmultiple"),s("width"),s("quartilemethod");var y=!1;if(h){var v=s("notchspan");v&&v.length&&(y=!0)}else r.validate(e.notchwidth,l.notchwidth)&&(y=!0);s("notched",y)&&s("notchwidth"),u(e,t,s,{prefix:"box"}),s("zorder")}},crossTraceDefaults:function(e,t){var n,i;function a(e){return r.coerce(i._input,i,l,e)}for(var s=0;sE.uf};if(t._hasPreCompStats){var U=t[x],V=function(e){return v.d2c((t[e]||[])[l])},q=1/0,H=-1/0;for(l=0;l=E.q1&&E.q3>=E.med){var W=V("lowerfence");E.lf=W!==o&&W<=E.q1?W:d(E,L,I);var Y=V("upperfence");E.uf=Y!==o&&Y>=E.q3?Y:f(E,L,I);var X=V("mean");E.mean=X!==o?X:I?a.mean(L,I):(E.q1+E.q3)/2;var Z=V("sd");E.sd=X!==o&&Z>=0?Z:I?a.stdev(L,I,E.mean):E.q3-E.q1,E.lo=p(E),E.uo=m(E);var $=V("notchspan");$=$!==o&&$>0?$:g(E,I),E.ln=E.med-$,E.un=E.med+$;var K=E.lf,J=E.uf;t.boxpoints&&L.length&&(K=Math.min(K,L[0]),J=Math.max(J,L[I-1])),t.notched&&(K=Math.min(K,E.ln),J=Math.max(J,E.un)),E.min=K,E.max=J}else{var Q;a.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+E.q1,"median = "+E.med,"q3 = "+E.q3].join("\n")),Q=E.med!==o?E.med:E.q1!==o?E.q3!==o?(E.q1+E.q3)/2:E.q1:E.q3!==o?E.q3:0,E.med=Q,E.q1=E.q3=Q,E.lf=E.uf=Q,E.mean=E.sd=Q,E.ln=E.un=Q,E.min=E.max=Q}q=Math.min(q,E.min),H=Math.max(H,E.max),E.pts2=C.filter(N),M.push(E)}}t._extremes[v._id]=n.findExtremes(v,[q,H],{padded:!0})}else{var ee=v.makeCalcdata(t,x),te=function(e,t){for(var r=e.length,n=new Array(r+1),i=0;i=0&&ie0){var ue,he;(E={}).pos=E[_]=F[l],C=E.pts=ne[l].sort(u),I=(L=E[x]=C.map(h)).length,E.min=L[0],E.max=L[I-1],E.mean=a.mean(L,I),E.sd=a.stdev(L,I,E.mean)*t.sdmultiple,E.med=a.interp(L,.5),I%2&&(le||ce)?(le?(ue=L.slice(0,I/2),he=L.slice(I/2+1)):ce&&(ue=L.slice(0,I/2+1),he=L.slice(I/2)),E.q1=a.interp(ue,.5),E.q3=a.interp(he,.5)):(E.q1=a.interp(L,.25),E.q3=a.interp(L,.75)),E.lf=d(E,L,I),E.uf=f(E,L,I),E.lo=p(E),E.uo=m(E);var de=g(E,I);E.ln=E.med-de,E.un=E.med+de,ae=Math.min(ae,E.ln),oe=Math.max(oe,E.un),E.pts2=C.filter(N),M.push(E)}t.notched&&a.isTypedArray(ee)&&(ee=Array.from(ee)),t._extremes[v._id]=n.findExtremes(v,t.notched?ee.concat([ae,oe]):ee,{padded:!0})}return function(e,t){if(a.isArrayOrTypedArray(t.selectedpoints))for(var r=0;r0?(M[0].t={num:k[S],dPos:B,posLetter:_,valLetter:x,labels:{med:s(e,"median:"),min:s(e,"min:"),q1:s(e,"q1:"),q3:s(e,"q3:"),max:s(e,"max:"),mean:"sd"===t.boxmean||"sd"===t.sizemode?s(e,"mean ± σ:").replace("σ",1===t.sdmultiple?"σ":t.sdmultiple+"σ"):s(e,"mean:"),lf:s(e,"lower fence:"),uf:s(e,"upper fence:")}},k[S]++,M):[{t:{empty:!0}}]};var l={text:"tx",hovertext:"htx"};function c(e,t,r){for(var n in l)a.isArrayOrTypedArray(t[n])&&(Array.isArray(r)?a.isArrayOrTypedArray(t[n][r[0]])&&(e[l[n]]=t[n][r[0]][r[1]]):e[l[n]]=t[n][r])}function u(e,t){return e.v-t.v}function h(e){return e.v}function d(e,t,r){return 0===r?e.q1:Math.min(e.q1,t[Math.min(a.findBin(2.5*e.q1-1.5*e.q3,t,!0)+1,r-1)])}function f(e,t,r){return 0===r?e.q3:Math.max(e.q3,t[Math.max(a.findBin(2.5*e.q3-1.5*e.q1,t),0)])}function p(e){return 4*e.q1-3*e.q3}function m(e){return 4*e.q3-3*e.q1}function g(e,t){return 0===t?0:1.57*(e.q3-e.q1)/Math.sqrt(t)}}}),ws=m({"src/traces/box/cross_trace_calc.js"(e,t){var r=cn(),n=dr(),i=di().getAxisGroup,a=["v","h"];function o(e,t,a,o){var s,l,c,u=t.calcdata,h=t._fullLayout,d=o._id,f=d.charAt(0),p=[],m=0;for(s=0;s1,b=1-h[e+"gap"],_=1-h[e+"groupgap"];for(s=0;s0){var H=M.pointpos,G=M.jitter,W=M.marker.size/2,Y=0;H+G>=0&&((Y=V*(H+G))>O?(q=!0,N=W,F=Y):Y>R&&(N=W,F=O)),Y<=O&&(F=O);var X=0;H-G<=0&&((X=-V*(H-G))>D?(q=!0,U=W,B=X):X>j&&(U=W,B=D)),X<=D&&(B=D)}else F=O,B=D;var Z=new Array(c.length);for(l=0;le.lo&&(x.so=!0)}return a}));d.enter().append("path").classed("point",!0),d.exit().remove(),d.call(i.translatePoints,o,s)}function s(e,t,i,a){var o,s,l=t.val,c=t.pos,u=!!c.rangebreaks,h=a.bPos,d=a.bPosPxOffset||0,f=i.boxmean||(i.meanline||{}).visible;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var p=e.selectAll("path.mean").data("box"===i.type&&i.boxmean||"violin"===i.type&&i.box.visible&&i.meanline.visible?n.identity:[]);p.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),p.exit().remove(),p.each((function(e){var t=c.c2l(e.pos+h,!0),n=c.l2p(t-o)+d,a=c.l2p(t+s)+d,p=u?(n+a)/2:c.l2p(t)+d,m=l.c2p(e.mean,!0),g=l.c2p(e.mean-e.sd,!0),y=l.c2p(e.mean+e.sd,!0);"h"===i.orientation?r.select(this).attr("d","M"+m+","+n+"V"+a+("sd"===f?"m0,0L"+g+","+p+"L"+m+","+n+"L"+y+","+p+"Z":"")):r.select(this).attr("d","M"+n+","+m+"H"+a+("sd"===f?"m0,0L"+p+","+g+"L"+n+","+m+"L"+p+","+y+"Z":""))}))}t.exports={plot:function(e,t,i,l){var c=e._context.staticPlot,u=t.xaxis,h=t.yaxis;n.makeTraceGroups(l,i,"trace boxes").each((function(e){var t,n,i=r.select(this),l=e[0],d=l.t,f=l.trace;d.wdPos=d.bdPos*f.whiskerwidth,!0!==f.visible||d.empty?i.remove():("h"===f.orientation?(t=h,n=u):(t=u,n=h),a(i,{pos:t,val:n},f,d,c),o(i,{x:u,y:h},f,d),s(i,{pos:t,val:n},f,d))}))},plotBoxAndWhiskers:a,plotPoints:o,plotBoxMean:s}}}),Ts=m({"src/traces/box/style.js"(e,t){var r=w(),n=Fe(),i=nn();t.exports={style:function(e,t,a){var o=a||r.select(e).selectAll("g.trace.boxes");o.style("opacity",(function(e){return e[0].trace.opacity})),o.each((function(t){var a=r.select(this),o=t[0].trace,s=o.line.width;function l(e,t,r,i){e.style("stroke-width",t+"px").call(n.stroke,r).call(n.fill,i)}var c=a.selectAll("path.box");if("candlestick"===o.type)c.each((function(e){if(!e.empty){var t=r.select(this),n=o[e.dir];l(t,n.line.width,n.line.color,n.fillcolor),t.style("opacity",o.selectedpoints&&!e.selected?.3:1)}}));else{l(c,s,o.line.color,o.fillcolor),a.selectAll("path.mean").style({"stroke-width":s,"stroke-dasharray":2*s+"px,"+s+"px"}).call(n.stroke,o.line.color);var u=a.selectAll("path.point");i.pointStyle(u,o,e)}}))},styleOnSelect:function(e,t,r){var n=t[0].trace,a=r.selectAll("path.point");n.selectedpoints?i.selectedPointStyle(a,n):i.pointStyle(a,n,e)}}}}),As=m({"src/traces/box/hover.js"(e,t){var r=cn(),n=dr(),i=Bn(),a=Fe(),o=n.fillText;function s(e,t,o,s){var l,c,u,h,d,f,p,m,g,y,v,x,b,_,w=e.cd,k=e.xa,T=e.ya,A=w[0].trace,M=w[0].t,S="violin"===A.type,E=M.bdPos,C=M.wHover,L=function(e){return u.c2l(e.pos)+M.bPos-u.c2l(f)};S&&"both"!==A.side?("positive"===A.side&&(g=function(e){var t=L(e);return i.inbox(t,t+C,y)},x=E,b=0),"negative"===A.side&&(g=function(e){var t=L(e);return i.inbox(t-C,t,y)},x=0,b=E)):(g=function(e){var t=L(e);return i.inbox(t-C,t+C,y)},x=b=E),_=S?function(e){return i.inbox(e.span[0]-d,e.span[1]-d,y)}:function(e){return i.inbox(e.min-d,e.max-d,y)},"h"===A.orientation?(d=t,f=o,p=_,m=g,l="y",u=T,c="x",h=k):(d=o,f=t,p=g,m=_,l="x",u=k,c="y",h=T);var I=Math.min(1,E/Math.abs(u.r2c(u.range[1])-u.r2c(u.range[0])));function P(e){return(p(e)+m(e))/2}y=e.maxHoverDistance-I,v=e.maxSpikeDistance-I;var z=i.getDistanceFunction(s,p,m,P);if(i.getClosest(w,z,e),!1===e.index)return[];var O=w[e.index],D=A.line.color,R=(A.marker||{}).color;a.opacity(D)&&A.line.width?e.color=D:a.opacity(R)&&A.boxpoints?e.color=R:e.color=A.fillcolor,e[l+"0"]=u.c2p(O.pos+M.bPos-b,!0),e[l+"1"]=u.c2p(O.pos+M.bPos+x,!0),e[l+"LabelVal"]=void 0!==O.orig_p?O.orig_p:O.pos;var j=l+"Spike";e.spikeDistance=P(O)*v/y,e[j]=u.c2p(O.pos,!0);var F=A.boxmean||"sd"===A.sizemode||(A.meanline||{}).visible,B=A.boxpoints||A.points,N=B&&F?["max","uf","q3","med","mean","q1","lf","min"]:B&&!F?["max","uf","q3","med","q1","lf","min"]:!B&&F?["max","q3","med","mean","q1","min"]:["max","q3","med","q1","min"],U=h.range[1]0&&(a=!0);for(var l=0;la){var o=a-n[e];return n[e]=a,o}}return 0},max:function(e,t,n,i){var a=i[t];if(r(a)){if(a=Number(a),!r(n[e]))return n[e]=a,a;if(n[e]l?e>a?e>1.1*n?n:e>1.1*i?i:a:e>o?o:e>s?s:l:Math.pow(10,Math.floor(Math.log(e)/Math.LN10))}function d(e,t,r,i,o,s){if(i&&e>a){var l=f(t,o,s),c=f(r,o,s),u=e===n?0:1;return l[u]!==c[u]}return Math.floor(r/e)-Math.floor(t/e)>.1}function f(e,t,r){var i=t.c2d(e,n,r).split("-");return""===i[0]&&(i.unshift(),i[0]="-"+i[0]),i}t.exports=function(e,t,r,i,o){var s,l,h=-1.1*t,d=-.1*t,f=e-d,p=r[0],m=r[1],g=Math.min(u(p+d,p+f,i,o),u(m+d,m+f,i,o)),y=Math.min(u(p+h,p+d,i,o),u(m+h,m+d,i,o));if(g>y&&ya){var v=s===n?1:6,x=s===n?"M12":"M1";return function(t,r){var a=i.c2d(t,n,o),s=a.indexOf("-",v);s>0&&(a=a.slice(0,s));var u=i.d2c(a,0,o);if(uo.r2l(B)&&(U=a.tickIncrement(U,_.size,!0,p)),D.start=o.l2r(U),F||n.nestedProperty(t,v+".start").set(D.start)}var V=_.end,q=o.r2l(O.end),H=void 0!==q;if((_.endFound||H)&&q!==o.r2l(V)){var G=H?q:n.aggNums(Math.max,null,m);D.end=o.l2r(G),H||n.nestedProperty(t,v+".start").set(D.end)}var W="autobin"+s;return!1===t._input[W]&&(t._input[v]=n.extendFlat({},t[v]||{}),delete t._input[W],delete t[W]),[D,m]}t.exports={calc:function(e,t){var i,p,m,g,y=[],v=[],x="h"===t.orientation,b=a.getFromId(e,x?t.yaxis:t.xaxis),_=x?"y":"x",w={x:"y",y:"x"}[_],k=t[_+"calendar"],T=t.cumulative,A=f(e,t,b,_),M=A[0],S=A[1],E="string"==typeof M.size,C=[],L=E?C:M,I=[],P=[],z=[],O=0,D=t.histnorm,R=t.histfunc,j=-1!==D.indexOf("density");T.enabled&&j&&(D=D.replace(/ ?density$/,""),j=!1);var F,B="max"===R||"min"===R?null:0,N=c.count,U=u[D],V=!1,q=function(e){return b.r2c(e,0,k)};for(n.isArrayOrTypedArray(t[w])&&"count"!==R&&(F=t[w],V="avg"===R,N=c[R]),i=q(M.start),m=q(M.end)+(i-a.tickIncrement(i,M.size,!1,k))/1e6;i=0&&g=0;n--)s(n);else if("increasing"===t){for(n=1;n=0;n--)e[n]+=e[n+1];"exclude"===r&&(e.push(0),e.shift())}}(v,T.direction,T.currentbin);var Q=Math.min(y.length,v.length),ee=[],te=0,re=Q-1;for(i=0;i=te;i--)if(v[i]){re=i;break}for(i=te;i<=re;i++)if(r(y[i])&&r(v[i])){var ne={p:y[i],s:v[i],b:0};T.enabled||(ne.pts=z[i],X?ne.ph0=ne.ph1=z[i].length?S[z[i][0]]:y[i]:(t._computePh=!0,ne.ph0=W(C[i]),ne.ph1=W(C[i+1],!0))),ee.push(ne)}return 1===ee.length&&(ee[0].width1=a.tickIncrement(ee[0].p,M.size,!1,k)-ee[0].p),o(t,"marker")&&s(e,t,{vals:t.marker.color,containerStr:"marker",cLetter:"c"}),o(t,"marker.line")&&s(e,t,{vals:t.marker.line.color,containerStr:"marker.line",cLetter:"c"}),l(ee,t),n.isArrayOrTypedArray(t.selectedpoints)&&n.tagSelected(ee,t,K),ee},calcAllAutoBins:f}}}),Ns=m({"src/traces/histogram2d/calc.js"(e,t){var r=dr(),n=cn(),i=Ds(),a=Rs(),o=js(),s=Fs(),l=Bs().calcAllAutoBins;function c(e,t,r,n){var i,a=new Array(e);if(n)for(i=0;iS&&k.splice(S,k.length-S),M.length>S&&M.splice(S,M.length-S);var E=[],C=[],L=[],I="string"==typeof w.size,P="string"==typeof A.size,z=[],O=[],D=I?z:w,R=P?O:A,j=0,F=[],B=[],N=t.histnorm,U=t.histfunc,V=-1!==N.indexOf("density"),q="max"===U||"min"===U?null:0,H=i.count,G=a[N],W=!1,Y=[],X=[],Z="z"in t?t.z:"marker"in t&&Array.isArray(t.marker.color)?t.marker.color:"";Z&&"count"!==U&&(W="avg"===U,H=i[U]);var $=w.size,K=x(w.start),J=x(w.end)+(K-n.tickIncrement(K,$,!1,y))/1e6;for(s=K;s=0&&f=0&&pm&&(y=Math.max(y,Math.abs(e[a][o]-p)/(g-m))))}return y}t.exports=function(e,t){var n,a,o=1;for(i(e,t),n=0;n.01;n++)o=i(e,t,(a=o,.5-.25*Math.min(1,.5*a)));return o>.01&&r.log("interp2d didn't converge quickly",o),e}}}),Hs=m({"src/traces/heatmap/find_empties.js"(e,t){var r=dr().maxRowLength;t.exports=function(e){var t,n,i,a,o,s,l,c,u=[],h={},d=[],f=e[0],p=[],m=[0,0,0],g=r(e);for(n=0;n=0;o--)(s=((h[[(n=(a=d[o])[0])-1,i=a[1]]]||m)[2]+(h[[n+1,i]]||m)[2]+(h[[n,i-1]]||m)[2]+(h[[n,i+1]]||m)[2])/20)&&(l[a]=[n,i,s],d.splice(o,1),c=!0);if(!c)throw"findEmpties iterated with no new neighbors";for(a in l)h[a]=l[a],u.push(l[a])}return u.sort((function(e,t){return t[2]-e[2]}))}}}),Gs=m({"src/traces/heatmap/make_bound_array.js"(e,t){var r=jt(),n=dr().isArrayOrTypedArray;t.exports=function(e,t,i,a,o,s){var l,c,u,h=[],d=r.traceIs(e,"contour"),f=r.traceIs(e,"histogram");if(n(t)&&t.length>1&&!f&&"category"!==s.type){var p=t.length;if(!(p<=o))return d?t.slice(0,o):t.slice(0,o+1);if(d)h=Array.from(t).slice(0,o);else if(1===o)h="log"===s.type?[.5*t[0],2*t[0]]:[t[0]-.5,t[0]+.5];else if("log"===s.type){for(h=[Math.pow(t[0],1.5)/Math.pow(t[1],.5)],u=1;u1){var t=(e[e.length-1]-e[0])/(e.length-1),r=Math.abs(t/100);for(T=0;Tr)return!1}return!0}(M.rangebreaks||S.rangebreaks)&&(k=function(e,t,r){for(var n=[],i=-1,a=0;a0;)k=T.c2p(F[C]),C--;for(k0;)E=A.c2p(B[C]),C--;E=T._length||k<=0||S>=A._length||E<=0)return P.selectAll("image").data([]).exit().remove(),void v(P);"fast"===X?($=G,K=H):($=J,K=Q);var ee=document.createElement("canvas");ee.width=$,ee.height=K;var te,re,ne=ee.getContext("2d",{willReadFrequently:!0}),ie=h(O,{noNumericCheck:!0,returnArray:!0});"fast"===X?(te=W?function(e){return G-1-e}:o.identity,re=Y?function(e){return H-1-e}:o.identity):(te=function(e){return o.constrain(Math.round(T.c2p(F[e])-w),0,J)},re=function(e){return o.constrain(Math.round(A.c2p(B[e])-S),0,Q)});var ae,oe,se,le,ce=re(0),ue=[ce,ce],he=W?0:1,de=Y?0:1,fe=0,pe=0,me=0,ge=0;function ye(e,t=0){if(void 0===e)return[0,0,0,0];var r=ie(e);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),fe+=t,pe+=r[0]*t,me+=r[1]*t,ge+=r[2]*t,r}function ve(e,t,r,n){var i=e[r.bin0];if(void 0===i)return ye(void 0,1);var a,o=e[r.bin1],s=t[r.bin0],l=t[r.bin1],c=o-i||0,u=s-i||0;return a=void 0===o?void 0===l?0:void 0===s?2*(l-i):2*(2*l-s-i)/3:void 0===l?void 0===s?0:2*(2*i-o-s)/3:void 0===s?2*(2*l-o-i)/3:l+i-o-s,ye(i+r.frac*c+n.frac*(u+r.frac*a))}if("default"!==X){var xe,be=0;try{xe=new Uint8Array($*K*4)}catch{xe=new Array($*K*4)}if("smooth"===X){var _e,we,ke,Te=N||F,Ae=U||B,Me=new Array(Te.length),Se=new Array(Ae.length),Ee=new Array(J),Ce=N?b:x,Le=U?b:x;for(C=0;CYe||Ye>A._length))for(L=qe;LZe||Ze>T._length)){var $e=l({x:Xe,y:We},O,e._fullLayout);$e.x=Xe,$e.y=We;var Ke=z.z[C][L];void 0===Ke?($e.z="",$e.zLabel=""):($e.z=Ke,$e.zLabel=a.tickText(Be,Ke,"hover").text);var Je=z.text&&z.text[C]&&z.text[C][L];(void 0===Je||!1===Je)&&(Je=""),$e.text=Je;var Qe=o.texttemplateString({data:[$e,O._meta],fallback:O.texttemplatefallback,labels:$e,locale:e._fullLayout._d3locale,template:je});if(Qe){var et=Qe.split("
"),tt=et.length,rt=0;for(I=0;I=_[0].length||f<0||f>_.length)return}else{if(r.inbox(t-x[0],t-x[x.length-1],0)>0||r.inbox(s-b[0],s-b[b.length-1],0)>0)return;if(p){var E;for(M=[2*x[0]-x[1]],E=1;E=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}}}),vl=m({"src/traces/contour/attributes.js"(e,t){var r=Ls(),n=Pi(),i=zr(),a=i.axisHoverFormat,o=i.descriptionOnlyNumbers,s=Rr(),l=Et().dash,c=q(),u=V().extendFlat,h=yl(),d=h.COMPARISON_OPS2,f=h.INTERVAL_OPS,p=n.line;t.exports=u({z:r.z,x:r.x,x0:r.x0,dx:r.dx,y:r.y,y0:r.y0,dy:r.dy,xperiod:r.xperiod,yperiod:r.yperiod,xperiod0:n.xperiod0,yperiod0:n.yperiod0,xperiodalignment:r.xperiodalignment,yperiodalignment:r.yperiodalignment,text:r.text,hovertext:r.hovertext,transpose:r.transpose,xtype:r.xtype,ytype:r.ytype,xhoverformat:a("x"),yhoverformat:a("y"),zhoverformat:a("z",1),hovertemplate:r.hovertemplate,hovertemplatefallback:r.hovertemplatefallback,texttemplate:u({},r.texttemplate,{}),texttemplatefallback:r.texttemplatefallback,textfont:u({},r.textfont,{}),hoverongaps:r.hoverongaps,connectgaps:u({},r.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:c({editType:"plot",colorEditType:"style"}),labelformat:{valType:"string",dflt:"",editType:"plot",description:o("contour label")},operation:{valType:"enumerated",values:[].concat(d).concat(f),dflt:"=",editType:"calc"},value:{valType:"any",dflt:0,editType:"calc"},editType:"calc",impliedEdits:{autocontour:!1}},line:{color:u({},p.color,{editType:"style+colorbars"}),width:{valType:"number",min:0,editType:"style+colorbars"},dash:l,smoothing:u({},p.smoothing,{}),editType:"plot"},zorder:n.zorder},s("",{cLetter:"z",autoColorDflt:!1,editTypeOverride:"calc"}))}}),xl=m({"src/traces/histogram2dcontour/attributes.js"(e,t){var r=ul(),n=vl(),i=Rr(),a=zr().axisHoverFormat,o=V().extendFlat;t.exports=o({x:r.x,y:r.y,z:r.z,marker:r.marker,histnorm:r.histnorm,histfunc:r.histfunc,nbinsx:r.nbinsx,xbins:r.xbins,nbinsy:r.nbinsy,ybins:r.ybins,autobinx:r.autobinx,autobiny:r.autobiny,bingroup:r.bingroup,xbingroup:r.xbingroup,ybingroup:r.ybingroup,autocontour:n.autocontour,ncontours:n.ncontours,contours:n.contours,line:{color:n.line.color,width:o({},n.line.width,{dflt:.5}),dash:n.line.dash,smoothing:n.line.smoothing,editType:"plot"},xhoverformat:a("x"),yhoverformat:a("y"),zhoverformat:a("z",1),hovertemplate:r.hovertemplate,hovertemplatefallback:r.hovertemplatefallback,texttemplate:n.texttemplate,texttemplatefallback:n.texttemplatefallback,textfont:n.textfont},i("",{cLetter:"z",editTypeOverride:"calc"}))}}),bl=m({"src/traces/contour/contours_defaults.js"(e,t){t.exports=function(e,t,r,n){var i=n("contours.start"),a=n("contours.end"),o=!1===i||!1===a,s=r("contours.size");((o?t.autocontour=!0:r("autocontour",!1))||!s)&&r("ncontours")}}}),_l=m({"src/traces/contour/label_defaults.js"(e,t){var r=dr();t.exports=function(e,t,n,i){if(i||(i={}),e("contours.showlabels")){var a=t.font;r.coerceFont(e,"contours.labelfont",a,{overrideDflt:{color:n}}),e("contours.labelformat")}!1!==i.hasHover&&e("zhoverformat")}}}),wl=m({"src/traces/contour/style_defaults.js"(e,t){var r=Yr(),n=_l();t.exports=function(e,t,i,a,o){var s,l=i("contours.coloring"),c="";"fill"===l&&(s=i("contours.showlines")),!1!==s&&("lines"!==l&&(c=i("line.color","#000")),i("line.width",.5),i("line.dash")),"none"!==l&&(!0!==e.showlegend&&(t.showlegend=!1),t._dfltShowLegend=!1,r(e,t,a,i,{prefix:"",cLetter:"z"})),i("line.smoothing"),n(i,a,c,o)}}}),kl=m({"src/traces/histogram2dcontour/defaults.js"(e,t){var r=dr(),n=hl(),i=bl(),a=wl(),o=Ps(),s=xl();t.exports=function(e,t,l,c){function u(n,i){return r.coerce(e,t,s,n,i)}n(e,t,u,c),!1!==t.visible&&(i(e,t,u,(function(n){return r.coerce2(e,t,s,n)})),a(e,t,u,c),u("xhoverformat"),u("yhoverformat"),u("hovertemplate"),u("hovertemplatefallback"),t.contours&&"heatmap"===t.contours.coloring&&o(u,c))}}}),Tl=m({"src/traces/contour/set_contours.js"(e,t){var r=cn(),n=dr();function i(e,t,n){var i={type:"linear",range:[e,t]};return r.autoTicks(i,(t-e)/(n||15)),i}t.exports=function(e,t){var a=e.contours;if(e.autocontour){var o=e.zmin,s=e.zmax;(e.zauto||void 0===o)&&(o=n.aggNums(Math.min,null,t)),(e.zauto||void 0===s)&&(s=n.aggNums(Math.max,null,t));var l=i(o,s,e.ncontours);a.size=l.dtick,a.start=r.tickFirst(l),l.range.reverse(),a.end=r.tickFirst(l),a.start===o&&(a.start+=a.size),a.end===s&&(a.end-=a.size),a.start>a.end&&(a.start=a.end=(a.start+a.end)/2),e._input.contours||(e._input.contours={}),n.extendFlat(e._input.contours,{start:a.start,end:a.end,size:a.size}),e._input.autocontour=!0}else if("constraint"!==a.type){var c,u=a.start,h=a.end,d=e._input.contours;u>h&&(a.start=d.start=h,h=a.end=d.end=u,u=a.start),a.size>0||(c=u===h?1:i(u,h,e.ncontours).dtick,d.size=a.size=c)}}}}),Al=m({"src/traces/contour/end_plus.js"(e,t){t.exports=function(e){return e.end+e.size/1e6}}}),Ml=m({"src/traces/contour/calc.js"(e,t){var r=Kr(),n=Ws(),i=Tl(),a=Al();t.exports=function(e,t){var o=n(e,t),s=o[0].z;i(t,s);var l,c=t.contours,u=r.extractOpts(t);if("heatmap"===c.coloring&&u.auto&&!1===t.autocontour){var h=c.start,d=a(c),f=c.size||1,p=Math.floor((d-h)/f)+1;isFinite(f)||(f=1,p=1);var m=h-f/2;l=[m,m+p*f]}else l=s;return r.calc(e,t,{vals:l,cLetter:"z"}),o}}}),Sl=m({"src/traces/contour/constants.js"(e,t){t.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}}}}),El=m({"src/traces/contour/make_crossings.js"(e,t){var r=Sl();function n(e,t){var r=(t[0][0]>e?0:1)+(t[0][1]>e?0:2)+(t[1][1]>e?0:4)+(t[1][0]>e?0:8);return 5===r||10===r?e>(t[0][0]+t[0][1]+t[1][0]+t[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}t.exports=function(e){var t,i,a,o,s,l,c,u,h,d=e[0].z,f=d.length,p=d[0].length,m=2===f||2===p;for(i=0;i20&&t?208===e||1114===e?i=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==n.BOTTOMSTART.indexOf(e)?a=1:-1!==n.LEFTSTART.indexOf(e)?i=1:-1!==n.TOPSTART.indexOf(e)?a=-1:i=-1,[i,a]}(d,o,t),p=[s(e,t,[-f[0],-f[1]])],m=e.z.length,g=e.z[0].length,y=t.slice(),v=f.slice();for(u=0;u<1e4;u++){if(d>20?(d=n.CHOOSESADDLE[d][(f[0]||f[1])<0?0:1],e.crossings[h]=n.SADDLEREMAINDER[d]):delete e.crossings[h],!(f=n.NEWDELTA[d])){r.log("Found bad marching index:",d,t,e.level);break}p.push(s(e,t,f)),t[0]+=f[0],t[1]+=f[1],h=t.join(","),i(p[p.length-1],p[p.length-2],l,c)&&p.pop();var x=f[0]&&(t[0]<0||t[0]>g-2)||f[1]&&(t[1]<0||t[1]>m-2);if(t[0]===y[0]&&t[1]===y[1]&&f[0]===v[0]&&f[1]===v[1]||o&&x)break;d=e.crossings[h]}1e4===u&&r.log("Infinite loop in contour?");var b,_,w,k,T,A,M,S,E,C,L,I=i(p[0],p[p.length-1],l,c),P=0,z=.2*e.smoothing,O=[],D=0;for(u=1;u=D;u--)if((b=O[u])=D&&b+O[_]S&&E--,e.edgepaths[E]=L.concat(p,C));break}B||(e.edgepaths[S]=p.concat(C))}for(S=0;S":o(">"),"<":o("<"),"=":o("=")}}}),Il=m({"src/traces/contour/empty_pathinfo.js"(e,t){var r=dr(),n=Ll(),i=Al();t.exports=function(e,t,a){for(var o="constraint"===e.type?n[e._operation](e.value):e,s=o.size,l=[],c=i(o),u=a.trace._carpetTrace,h=u?{xaxis:u.aaxis,yaxis:u.baxis,x:a.a,y:a.b}:{xaxis:t.xaxis,yaxis:t.yaxis,x:a.x,y:a.y},d=o.start;d1e3){r.warn("Too many contours, clipping at 1000",e);break}return l}}}),Pl=m({"src/traces/contour/convert_to_constraints.js"(e,t){var r=dr();function n(e){return r.extendFlat({},e,{edgepaths:r.extendDeep([],e.edgepaths),paths:r.extendDeep([],e.paths),starts:r.extendDeep([],e.starts)})}t.exports=function(e,t){var i,a,o,s=function(e){return e.reverse()},l=function(e){return e};switch(t){case"=":case"<":return e;case">":for(1!==e.length&&r.warn("Contour data invalid for the specified inequality operation."),a=e[0],i=0;io.level||o.starts.length&&a===o.level)}break;case"constraint":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,c=-1/0,u=1/0;for(r=0;r":f>c&&(n.prefixBoundary=!0);break;case"<":(fc||n.starts.length&&d===u)&&(n.prefixBoundary=!0);break;case"][":h=Math.min(f[0],f[1]),d=Math.max(f[0],f[1]),hc&&(n.prefixBoundary=!0)}}}}}),Ol=m({"src/traces/contour/plot.js"(e){var t=w(),r=dr(),n=nn(),i=Kr(),a=Ir(),o=cn(),s=on(),l=Zs(),c=El(),u=Cl(),h=Il(),d=Pl(),f=zl(),p=Sl(),m=p.LABELOPTIMIZER;function g(e,t){var i,a,o,s,l,c,u,h="",d=0,f=e.edgepaths.map((function(e,t){return t})),p=!0;function m(e){return Math.abs(e[1]-t[2][1])<.01}function g(e){return Math.abs(e[0]-t[0][0])<.01}function y(e){return Math.abs(e[0]-t[2][0])<.01}for(;f.length;){for(c=n.smoothopen(e.edgepaths[d],e.smoothing),h+=p?c:c.replace(/^M/,"L"),f.splice(f.indexOf(d),1),i=e.edgepaths[d][e.edgepaths[d].length-1],s=-1,o=0;o<4;o++){if(!i){r.log("Missing end?",d,e);break}for(u=i,Math.abs(u[1]-t[0][1])<.01&&!y(i)?a=t[1]:g(i)?a=t[0]:m(i)?a=t[3]:y(i)&&(a=t[2]),l=0;l=0&&(a=v,s=l):Math.abs(i[1]-a[1])<.01?Math.abs(i[1]-v[1])<.01&&(v[0]-i[0])*(a[0]-v[0])>=0&&(a=v,s=l):r.log("endpt to newendpt is not vert. or horz.",i,a,v)}if(i=a,s>=0)break;h+="L"+a}if(s===e.edgepaths.length){r.log("unclosed perimeter path");break}d=s,(p=-1===f.indexOf(d))&&(d=f[0],h+="Z")}for(d=0;di.center?i.right-s:s-i.left)/(u+Math.abs(Math.sin(c)*o)),f=(l>i.middle?i.bottom-l:l-i.top)/(Math.abs(h)+Math.cos(c)*o);if(d<1||f<1)return 1/0;var p=m.EDGECOST*(1/(d-1)+1/(f-1));p+=m.ANGLECOST*c*c;for(var g=s-u,y=l-h,v=s+u,x=l+h,b=0;b2*m.MAXCOST)break;f&&(s/=2),l=(o=c-s/2)+1.5*s}if(d<=m.MAXCOST)return u},e.addLabelData=function(e,t,r,n){var i=t.fontSize,a=t.width+i/3,o=Math.max(0,t.height-i/3),s=e.x,l=e.y,c=e.theta,u=Math.sin(c),h=Math.cos(c),d=function(e,t){return[s+e*h-t*u,l+e*u+t*h]},f=[d(-a/2,-o/2),d(-a/2,o/2),d(a/2,o/2),d(a/2,-o/2)];r.push({text:t.text,x:s,y:l,dy:t.dy,theta:c,level:t.level,width:a,height:o}),n.push(f)},e.drawLabels=function(e,n,i,o,s){var l=e.selectAll("text").data(n,(function(e){return e.text+","+e.x+","+e.y+","+e.theta}));if(l.exit().remove(),l.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each((function(e){var r=e.x+Math.sin(e.theta)*e.dy,n=e.y-Math.cos(e.theta)*e.dy;t.select(this).text(e.text).attr({x:r,y:n,transform:"rotate("+180*e.theta/Math.PI+" "+r+" "+n+")"}).call(a.convertToTspans,i)})),s){for(var c="",u=0;u=v)&&(a<=y&&(a=y),o>=v&&(o=v),l=Math.floor((o-a)/s)+1,c=0),d=0;dy&&(m.unshift(y),g.unshift(g[0])),m[m.length-1]2?t.value=t.value.slice(2):0===t.length?t.value=[0,1]:t.length<2?(n=parseFloat(t.value[0]),t.value=[n,n+1]):t.value=[parseFloat(t.value[0]),parseFloat(t.value[1])]:r(t.value)&&(n=parseFloat(t.value),t.value=[n,n+1])):(e("contours.value",0),r(t.value)||(l(t.value)?t.value=parseFloat(t.value[0]):t.value=0))}(i,g),"="===y?f=g.showlines=!0:(f=i("contours.showlines"),m=i("fillcolor",a((e.line||{}).color||h,.5))),f&&(p=i("line.color",m&&o(m)?a(t.fillcolor,1):h),i("line.width",2),i("line.dash")),i("line.smoothing"),n(i,s,p,d)}}}),Vl=m({"src/traces/contour/defaults.js"(e,t){var r=dr(),n=Is(),i=ea(),a=Ul(),o=bl(),s=wl(),l=Ps(),c=vl();t.exports=function(e,t,u,h){function d(n,i){return r.coerce(e,t,c,n,i)}if(n(e,t,d,h)){i(e,t,h,d),d("xhoverformat"),d("yhoverformat"),d("text"),d("hovertext"),d("hoverongaps"),d("hovertemplate"),d("hovertemplatefallback");var f="constraint"===d("contours.type");d("connectgaps",r.isArray1D(t.z)),f?a(e,t,d,h,u):(o(e,t,d,(function(n){return r.coerce2(e,t,c,n)})),s(e,t,d,h)),t.contours&&"heatmap"===t.contours.coloring&&l(d,h),d("zorder")}else t.visible=!1}}}),ql=m({"src/traces/contour/index.js"(e,t){t.exports={attributes:vl(),supplyDefaults:Vl(),calc:Ml(),plot:Ol().plot,style:Rl(),colorbar:jl(),hoverPoints:Fl(),moduleType:"trace",name:"contour",basePlotModule:ja(),categories:["cartesian","svg","2dMap","contour","showLegend"],meta:{}}}}),Hl=m({"lib/contour.js"(e,t){t.exports=ql()}}),Gl=m({"src/traces/scatterternary/attributes.js"(e,t){var{hovertemplateAttrs:r,texttemplateAttrs:n,templatefallbackAttrs:i}=Lt(),a=Ii(),o=Pi(),s=Y(),l=Rr(),c=Et().dash,u=V().extendFlat,h=o.marker,d=o.line,f=h.line;t.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:u({},o.mode,{dflt:"markers"}),text:u({},o.text,{}),texttemplate:n({editType:"plot"},{keys:["a","b","c","text"]}),texttemplatefallback:i({editType:"plot"}),hovertext:u({},o.hovertext,{}),line:{color:d.color,width:d.width,dash:c,backoff:d.backoff,shape:u({},d.shape,{values:["linear","spline"]}),smoothing:d.smoothing,editType:"calc"},connectgaps:o.connectgaps,cliponaxis:o.cliponaxis,fill:u({},o.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:a(),marker:u({symbol:h.symbol,opacity:h.opacity,angle:h.angle,angleref:h.angleref,standoff:h.standoff,maxdisplayed:h.maxdisplayed,size:h.size,sizeref:h.sizeref,sizemin:h.sizemin,sizemode:h.sizemode,line:u({width:f.width,dash:f.dash,editType:"calc"},l("marker.line")),gradient:h.gradient,editType:"calc"},l("marker")),textfont:o.textfont,textposition:o.textposition,selected:o.selected,unselected:o.unselected,hoverinfo:u({},s.hoverinfo,{flags:["a","b","c","text","name"]}),hoveron:o.hoveron,hovertemplate:r(),hovertemplatefallback:i()}}}),Wl=m({"src/traces/scatterternary/defaults.js"(e,t){var r=dr(),n=Li(),i=Jr(),a=ra(),o=na(),s=ia(),l=aa(),c=oa(),u=Gl();t.exports=function(e,t,h,d){function f(n,i){return r.coerce(e,t,u,n,i)}var p,m=f("a"),g=f("b"),y=f("c");if(m?(p=m.length,g?(p=Math.min(p,g.length),y&&(p=Math.min(p,y.length))):p=y?Math.min(p,y.length):0):g&&y&&(p=Math.min(g.length,y.length)),p){t._length=p,f("sum"),f("text"),f("hovertext"),"fills"!==t.hoveron&&(f("hovertemplate"),f("hovertemplatefallback")),f("mode",p"),o.hovertemplate=d.hovertemplate,a}function x(e,t){y.push(e._hovertitle+": "+t)}}}}),Kl=m({"src/traces/scatterternary/event_data.js"(e,t){t.exports=function(e,t,r,n,i){if(t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),n[i]){var a=n[i];e.a=a.a,e.b=a.b,e.c=a.c}else e.a=t.a,e.b=t.b,e.c=t.c;return e}}}),Jl=m({"src/plots/ternary/ternary.js"(e,t){var r=w(),n=jt(),i=dr(),a=i.strTranslate,o=i._,s=Fe(),l=nn(),c=on(),u=V().extendFlat,h=Er(),d=cn(),f=yn(),p=Bn(),m=Nn(),g=m.freeMode,y=m.rectMode,v=an(),x=ji().prepSelect,b=ji().selectOnClick,_=ji().clearOutline,k=ji().clearSelectionsCache,T=wr();function A(e,t){this.id=e.id,this.graphDiv=e.graphDiv,this.init(t),this.makeFramework(t),this.updateFx(t),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}t.exports=A;var M=A.prototype;M.init=function(e){this.container=e._ternarylayer,this.defs=e._defs,this.layoutId=e._uid,this.traceHash={},this.layers={}},M.plot=function(e,t){var r=this,n=t[r.id],i=t._size;r._hasClipOnAxisFalse=!1;for(var a=0;aS*b?i=(o=b)*S:o=(i=x)/S,h=y*i/x,d=v*o/b,r=t.l+t.w*m-i/2,n=t.t+t.h*(1-g)-o/2,f.x0=r,f.y0=n,f.w=i,f.h=o,f.sum=_,f.xaxis={type:"linear",range:[w+2*T-_,_-w-2*k],domain:[m-h/2,m+h/2],_id:"x"},c(f.xaxis,f.graphDiv._fullLayout),f.xaxis.setScale(),f.xaxis.isPtWithinRange=function(e){return e.a>=f.aaxis.range[0]&&e.a<=f.aaxis.range[1]&&e.b>=f.baxis.range[1]&&e.b<=f.baxis.range[0]&&e.c>=f.caxis.range[1]&&e.c<=f.caxis.range[0]},f.yaxis={type:"linear",range:[w,_-k-T],domain:[g-d/2,g+d/2],_id:"y"},c(f.yaxis,f.graphDiv._fullLayout),f.yaxis.setScale(),f.yaxis.isPtWithinRange=function(){return!0};var A=f.yaxis.domain[0],M=f.aaxis=u({},e.aaxis,{range:[w,_-k-T],side:"left",tickangle:(+e.aaxis.tickangle||0)-30,domain:[A,A+d*S],anchor:"free",position:0,_id:"y",_length:i});c(M,f.graphDiv._fullLayout),M.setScale();var E=f.baxis=u({},e.baxis,{range:[_-w-T,k],side:"bottom",domain:f.xaxis.domain,anchor:"free",position:0,_id:"x",_length:i});c(E,f.graphDiv._fullLayout),E.setScale();var C=f.caxis=u({},e.caxis,{range:[_-w-k,T],side:"right",tickangle:(+e.caxis.tickangle||0)+30,domain:[A,A+d*S],anchor:"free",position:0,_id:"y",_length:i});c(C,f.graphDiv._fullLayout),C.setScale();var L="M"+r+","+(n+o)+"h"+i+"l-"+i/2+",-"+o+"Z";f.clipDef.select("path").attr("d",L),f.layers.plotbg.select("path").attr("d",L);var I="M0,"+o+"h"+i+"l-"+i/2+",-"+o+"Z";f.clipDefRelative.select("path").attr("d",I);var P=a(r,n);f.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",P),f.clipDefRelative.select("path").attr("transform",null);var z=a(r-E._offset,n+o);f.layers.baxis.attr("transform",z),f.layers.bgrid.attr("transform",z);var O=a(r+i/2,n)+"rotate(30)"+a(0,-M._offset);f.layers.aaxis.attr("transform",O),f.layers.agrid.attr("transform",O);var D=a(r+i/2,n)+"rotate(-30)"+a(0,-C._offset);f.layers.caxis.attr("transform",D),f.layers.cgrid.attr("transform",D),f.drawAxes(!0),f.layers.aline.select("path").attr("d",M.showline?"M"+r+","+(n+o)+"l"+i/2+",-"+o:"M0,0").call(s.stroke,M.linecolor||"#000").style("stroke-width",(M.linewidth||0)+"px"),f.layers.bline.select("path").attr("d",E.showline?"M"+r+","+(n+o)+"h"+i:"M0,0").call(s.stroke,E.linecolor||"#000").style("stroke-width",(E.linewidth||0)+"px"),f.layers.cline.select("path").attr("d",C.showline?"M"+(r+i/2)+","+n+"l"+i/2+","+o:"M0,0").call(s.stroke,C.linecolor||"#000").style("stroke-width",(C.linewidth||0)+"px"),f.graphDiv._context.staticPlot||f.initInteractions(),l.setClipUrl(f.layers.frontplot,f._hasClipOnAxisFalse?null:f.clipId,f.graphDiv)},M.drawAxes=function(e){var t=this,r=t.graphDiv,n=t.id.slice(7)+"title",i=t.layers,a=t.aaxis,s=t.baxis,l=t.caxis;if(t.drawAx(a),t.drawAx(s),t.drawAx(l),e){var c=Math.max(a.showticklabels?a.tickfont.size/2:0,(l.showticklabels?.75*l.tickfont.size:0)+("outside"===l.ticks?.87*l.ticklen:0)),u=(s.showticklabels?s.tickfont.size:0)+("outside"===s.ticks?s.ticklen:0)+3;i["a-title"]=v.draw(r,"a"+n,{propContainer:a,propName:t.id+".aaxis.title.text",placeholder:o(r,"Click to enter Component A title"),attributes:{x:t.x0+t.w/2,y:t.y0-a.title.font.size/3-c,"text-anchor":"middle"}}),i["b-title"]=v.draw(r,"b"+n,{propContainer:s,propName:t.id+".baxis.title.text",placeholder:o(r,"Click to enter Component B title"),attributes:{x:t.x0-u,y:t.y0+t.h+.83*s.title.font.size+u,"text-anchor":"middle"}}),i["c-title"]=v.draw(r,"c"+n,{propContainer:l,propName:t.id+".caxis.title.text",placeholder:o(r,"Click to enter Component C title"),attributes:{x:t.x0+t.w+u,y:t.y0+t.h+.83*l.title.font.size+u,"text-anchor":"middle"}})}},M.drawAx=function(e){var t=this,r=t.graphDiv,n=e._name,a=n.charAt(0),o=e._id,s=t.layers[n],l=a+"tickLayout",c=function(e){return e.ticks+String(e.ticklen)+String(e.showticklabels)}(e);t[l]!==c&&(s.selectAll("."+o+"tick").remove(),t[l]=c),e.setScale();var u=d.calcTicks(e),h=d.clipEnds(e,u),f=d.makeTransTickFn(e),p=d.getTickSigns(e)[2],m=i.deg2rad(30),g=p*(e.linewidth||1)/2,y=p*e.ticklen,v=t.w,x=t.h,b="b"===a?"M0,"+g+"l"+Math.sin(m)*y+","+Math.cos(m)*y:"M"+g+",0l"+Math.cos(m)*y+","+-Math.sin(m)*y,_={a:"M0,0l"+x+",-"+v/2,b:"M0,0l-"+v/2+",-"+x,c:"M0,0l-"+x+","+v/2}[a];d.drawTicks(r,e,{vals:"inside"===e.ticks?h:u,layer:s,path:b,transFn:f,crisp:!1}),d.drawGrid(r,e,{vals:h,layer:t.layers[a+"grid"],path:_,transFn:f,crisp:!1}),d.drawLabels(r,e,{vals:u,layer:s,transFn:f,labelFns:d.makeLabelFns(e,0,30)})};var E=T.MINZOOM/2+.87,C="m-0.87,.5h"+E+"v3h-"+(E+5.2)+"l"+(E/2+2.6)+",-"+(.87*E+4.5)+"l2.6,1.5l-"+E/2+","+.87*E+"Z",L="m0.87,.5h-"+E+"v3h"+(E+5.2)+"l-"+(E/2+2.6)+",-"+(.87*E+4.5)+"l-2.6,1.5l"+E/2+","+.87*E+"Z",I="m0,1l"+E/2+","+.87*E+"l2.6,-1.5l-"+(E/2+2.6)+",-"+(.87*E+4.5)+"l-"+(E/2+2.6)+","+(.87*E+4.5)+"l2.6,1.5l"+E/2+",-"+.87*E+"Z",P=!0;function z(e){r.select(e).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}M.clearOutline=function(){k(this.dragOptions),_(this.dragOptions.gd)},M.initInteractions=function(){var e,t,r,c,u,h,d,m,v,_,w,k,A=this,M=A.layers.plotbg.select("path").node(),E=A.graphDiv,O=E._fullLayout._zoomlayer;function D(e){var t={};return t[A.id+".aaxis.min"]=e.a,t[A.id+".baxis.min"]=e.b,t[A.id+".caxis.min"]=e.c,t}function R(e,t){var r=E._fullLayout.clickmode;z(E),2===e&&(E.emit("plotly_doubleclick",null),n.call("_guiRelayout",E,D({a:0,b:0,c:0}))),r.indexOf("select")>-1&&1===e&&b(t,E,[A.xaxis],[A.yaxis],A.id,A.dragOptions),r.indexOf("event")>-1&&p.click(E,t,A.id)}function j(e,t){return 1-t/A.h}function F(e,t){return 1-(e+(A.h-t)/Math.sqrt(3))/A.w}function B(e,t){return(e-(A.h-t)/Math.sqrt(3))/A.w}function N(n,i){var a=r+n*e,o=c+i*t,s=Math.max(0,Math.min(1,j(0,c),j(0,o))),l=Math.max(0,Math.min(1,F(r,c),F(a,o))),f=Math.max(0,Math.min(1,B(r,c),B(a,o))),p=(s/2+f)*A.w,g=(1-s/2-l)*A.w,y=(p+g)/2,x=g-p,b=(1-s)*A.h,M=b-x/S;x.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),k.transition().style("opacity",1).duration(200),_=!0),E.emit("plotly_relayouting",D(d))}function U(){z(E),d!==u&&(n.call("_guiRelayout",E,D(d)),P&&E.data&&E._context.showTips&&(i.notifier(o(E,"Double-click to zoom back out"),"long",E),P=!1))}function V(e,t){var r=e/A.xaxis._m,n=t/A.yaxis._m,o=[(d={a:u.a-n,b:u.b+(r+n)/2,c:u.c-(r-n)/2}).a,d.b,d.c].sort(i.sorterAsc),s=o.indexOf(d.a),c=o.indexOf(d.b),h=o.indexOf(d.c);o[0]<0&&(o[1]+o[0]/2<0?(o[2]+=o[0]+o[1],o[0]=o[1]=0):(o[2]+=o[0]/2,o[1]+=o[0]/2,o[0]=0),d={a:o[s],b:o[c],c:o[h]},t=(u.a-d.a)*A.yaxis._m,e=(u.c-d.c-u.b+d.b)*A.xaxis._m);var f=a(A.x0+e,A.y0+t);A.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",f);var p=a(-e,-t);A.clipDefRelative.select("path").attr("transform",p),A.aaxis.range=[d.a,A.sum-d.b-d.c],A.baxis.range=[A.sum-d.a-d.c,d.b],A.caxis.range=[A.sum-d.a-d.b,d.c],A.drawAxes(!1),A._hasClipOnAxisFalse&&A.plotContainer.select(".scatterlayer").selectAll(".trace").call(l.hideOutsideRangePoints,A),E.emit("plotly_relayouting",D(d))}function q(){n.call("_guiRelayout",E,D(d))}this.dragOptions={element:M,gd:E,plotinfo:{id:A.id,domain:E._fullLayout[A.id].domain,xaxis:A.xaxis,yaxis:A.yaxis},subplot:A.id,prepFn:function(n,o,l){A.dragOptions.xaxes=[A.xaxis],A.dragOptions.yaxes=[A.yaxis],e=E._fullLayout._invScaleX,t=E._fullLayout._invScaleY;var f=A.dragOptions.dragmode=E._fullLayout.dragmode;g(f)?A.dragOptions.minDrag=1:A.dragOptions.minDrag=void 0,"zoom"===f?(A.dragOptions.moveFn=N,A.dragOptions.clickFn=R,A.dragOptions.doneFn=U,function(e,t,n){var o=M.getBoundingClientRect();r=t-o.left,c=n-o.top,E._fullLayout._calcInverseTransform(E);var l=E._fullLayout._invTransform,f=i.apply3DTransform(l)(r,c);r=f[0],c=f[1],u={a:A.aaxis.range[0],b:A.baxis.range[1],c:A.caxis.range[1]},d=u,h=A.aaxis.range[1]-u.a,m=s.color(A.graphDiv._fullLayout[A.id].bgcolor).luminosity(),v="M0,"+A.h+"L"+A.w/2+", 0L"+A.w+","+A.h+"Z",_=!1,w=O.append("path").attr("class","zoombox").attr("transform",a(A.x0,A.y0)).style({fill:m>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",v),k=O.append("path").attr("class","zoombox-corners").attr("transform",a(A.x0,A.y0)).style({fill:s.background,stroke:s.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),A.clearOutline(E)}(0,o,l)):"pan"===f?(A.dragOptions.moveFn=V,A.dragOptions.clickFn=R,A.dragOptions.doneFn=q,u={a:A.aaxis.range[0],b:A.baxis.range[1],c:A.caxis.range[1]},d=u,A.clearOutline(E)):(y(f)||g(f))&&x(n,o,l,A.dragOptions,f)}},M.onmousemove=function(e){p.hover(E,e,A.id),E._fullLayout._lasthover=M,E._fullLayout._hoversubplot=A.id},M.onmouseout=function(e){E._dragging||f.unhover(E,e)},f.init(this.dragOptions)}}}),Ql=m({"src/plots/ternary/layout_attributes.js"(e,t){var r=je(),n=Do().attributes,i=Or(),a=St().overrideAll,o=V().extendFlat,s={title:{text:i.title.text,font:i.title.font},color:i.color,tickmode:i.minor.tickmode,nticks:o({},i.nticks,{dflt:6,min:1}),tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,ticklabelstep:i.ticklabelstep,showticklabels:i.showticklabels,labelalias:i.labelalias,showtickprefix:i.showtickprefix,tickprefix:i.tickprefix,showticksuffix:i.showticksuffix,ticksuffix:i.ticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,minexponent:i.minexponent,separatethousands:i.separatethousands,tickfont:i.tickfont,tickangle:i.tickangle,tickformat:i.tickformat,tickformatstops:i.tickformatstops,hoverformat:i.hoverformat,showline:o({},i.showline,{dflt:!0}),linecolor:i.linecolor,linewidth:i.linewidth,showgrid:o({},i.showgrid,{dflt:!0}),gridcolor:i.gridcolor,gridwidth:i.gridwidth,griddash:i.griddash,layer:i.layer,min:{valType:"number",dflt:0,min:0}},l=t.exports=a({domain:n({name:"ternary"}),bgcolor:{valType:"color",dflt:r.background},sum:{valType:"number",dflt:1,min:0},aaxis:s,baxis:s,caxis:s},"plot","from-root");l.uirevision={valType:"any",editType:"none"},l.aaxis.uirevision=l.baxis.uirevision=l.caxis.uirevision={valType:"any",editType:"none"}}}),ec=m({"src/plots/subplot_defaults.js"(e,t){var r=dr(),n=_r(),i=Do().defaults;t.exports=function(e,t,a,o){var s,l,c=o.type,u=o.attributes,h=o.handleDefaults,d=o.partition||"x",f=t._subplots[c],p=f.length,m=p&&f[0].replace(/\d+$/,"");function g(e,t){return r.coerce(s,l,u,e,t)}for(var y=0;y=s&&(f.min=0,m.min=0,g.min=0,e.aaxis&&delete e.aaxis.min,e.baxis&&delete e.baxis.min,e.caxis&&delete e.caxis.min)}function p(e,t,r,n){var a=h[t._name];function d(r,n){return i.coerce(e,t,a,r,n)}d("uirevision",n.uirevision),t.type="linear";var f=d("color"),p=f!==a.color.dflt?f:r.font.color,m=t._name.charAt(0).toUpperCase(),g="Component "+m,y=d("title.text",g);t._hovertitle=y===g?y:m,i.coerceFont(d,"title.font",r.font,{overrideDflt:{size:i.bigFont(r.font.size),color:p}}),d("min"),c(e,t,d,"linear"),s(e,t,d,"linear"),o(e,t,d,"linear",{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0}),l(e,t,d,{outerTicks:!0}),d("showticklabels")&&(i.coerceFont(d,"tickfont",r.font,{overrideDflt:{color:p}}),d("tickangle"),d("tickformat")),u(e,t,d,{dfltColor:f,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:a}),d("hoverformat"),d("layer")}t.exports=function(e,t,r){a(e,t,r,{type:"ternary",attributes:h,handleDefaults:f,font:t.font,paper_bgcolor:t.paper_bgcolor})}}}),rc=m({"src/plots/ternary/index.js"(e){var t=Jl(),r=Mr().getSubplotCalcData,n=dr().counterRegex,i="ternary";e.name=i;var a=e.attr="subplot";e.idRoot=i,e.idRegex=e.attrRegex=n(i),(e.attributes={})[a]={valType:"subplotid",dflt:"ternary",editType:"calc"},e.layoutAttributes=Ql(),e.supplyLayoutDefaults=tc(),e.plot=function(e){for(var n=e._fullLayout,a=e.calcdata,o=n._subplots[i],s=0;s0){var b,_,w,k,T,A=e.xa,M=e.ya;"h"===p.orientation?(T=t,b="y",w=M,_="x",k=A):(T=s,b="x",w=A,_="y",k=M);var S=f[e.index];if(T>=S.span[0]&&T<=S.span[1]){var E=n.extendFlat({},e),C=k.c2p(T,!0),L=o.getKdeValue(S,p,T),I=o.getPositionOnKdePath(S,p,C),P=w._offset,z=w._length;E[b+"0"]=I[0],E[b+"1"]=I[1],E[_+"0"]=E[_+"1"]=C,E[_+"Label"]=_+": "+i.hoverLabelText(k,T,p[_+"hoverformat"])+", "+f[0].t.labels.kde+" "+L.toFixed(3);for(var O=0,D=0;D path").each((function(e){if(!e.isBlank){var t=s.marker;r.select(this).call(i.fill,e.mc||t.color).call(i.stroke,e.mlc||t.line.color).call(n.dashLine,t.line.dash,e.mlw||t.line.width).style("opacity",s.selectedpoints&&!e.selected?a:1)}})),l(o,s,e),o.selectAll(".regions").each((function(){r.select(this).selectAll("path").style("stroke-width",0).call(i.fill,s.connector.fillcolor)})),o.selectAll(".lines").each((function(){var e=s.connector.line;n.lineGroupStyle(r.select(this).selectAll("path"),e.width,e.color,e.dash)}))}))}}}}),Sc=m({"src/traces/funnel/hover.js"(e,t){var r=Fe().opacity,n=ds().hoverOnBars,i=dr().formatPercent;t.exports=function(e,t,a,o,s){var l=n(e,t,a,o,s);if(l){var c=l.cd,u=c[0].trace,h="h"===u.orientation,d=c[l.index];l[(h?"x":"y")+"LabelVal"]=d.s,l.percentInitial=d.begR,l.percentInitialLabel=i(d.begR,1),l.percentPrevious=d.difR,l.percentPreviousLabel=i(d.difR,1),l.percentTotal=d.sumR,l.percentTotalLabel=i(d.sumR,1);var f=d.hi||u.hoverinfo,p=[];if(f&&"none"!==f&&"skip"!==f){var m="all"===f,g=f.split("+"),y=function(e){return m||-1!==g.indexOf(e)};y("percent initial")&&p.push(l.percentInitialLabel+" of initial"),y("percent previous")&&p.push(l.percentPreviousLabel+" of previous"),y("percent total")&&p.push(l.percentTotalLabel+" of total")}return l.extraText=p.join("
"),l.color=function(e,t){var n=e.marker,i=t.mc||n.color,a=t.mlc||n.line.color,o=t.mlw||n.line.width;return r(i)?i:r(a)&&o?a:void 0}(u,d),[l]}}}}),Ec=m({"src/traces/funnel/event_data.js"(e,t){t.exports=function(e,t){return e.x="xVal"in t?t.xVal:t.x,e.y="yVal"in t?t.yVal:t.y,"percentInitial"in t&&(e.percentInitial=t.percentInitial),"percentPrevious"in t&&(e.percentPrevious=t.percentPrevious),"percentTotal"in t&&(e.percentTotal=t.percentTotal),t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),e}}}),Cc=m({"src/traces/funnel/index.js"(e,t){t.exports={attributes:vc(),layoutAttributes:xc(),supplyDefaults:bc().supplyDefaults,crossTraceDefaults:bc().crossTraceDefaults,supplyLayoutDefaults:_c(),calc:kc(),crossTraceCalc:Tc(),plot:Ac(),style:Mc().style,hoverPoints:Sc(),eventData:Ec(),selectPoints:ps(),moduleType:"trace",name:"funnel",basePlotModule:ja(),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}}}),Lc=m({"lib/funnel.js"(e,t){t.exports=Cc()}}),Ic=m({"src/traces/waterfall/constants.js"(e,t){t.exports={eventDataKeys:["initial","delta","final"]}}}),Pc=m({"src/traces/waterfall/attributes.js"(e,t){var r=ts(),n=Pi().line,i=Y(),a=zr().axisHoverFormat,{hovertemplateAttrs:o,texttemplateAttrs:s,templatefallbackAttrs:l}=Lt(),c=Ic(),u=V().extendFlat,h=Fe();function d(e){return{marker:{color:u({},r.marker.color,{arrayOk:!1,editType:"style"}),line:{color:u({},r.marker.line.color,{arrayOk:!1,editType:"style"}),width:u({},r.marker.line.width,{arrayOk:!1,editType:"style"}),editType:"style"},editType:"style"},editType:"style"}}t.exports={measure:{valType:"data_array",dflt:[],editType:"calc"},base:{valType:"number",dflt:null,arrayOk:!1,editType:"calc"},x:r.x,x0:r.x0,dx:r.dx,y:r.y,y0:r.y0,dy:r.dy,xperiod:r.xperiod,yperiod:r.yperiod,xperiod0:r.xperiod0,yperiod0:r.yperiod0,xperiodalignment:r.xperiodalignment,yperiodalignment:r.yperiodalignment,xhoverformat:a("x"),yhoverformat:a("y"),hovertext:r.hovertext,hovertemplate:o({},{keys:c.eventDataKeys}),hovertemplatefallback:l(),hoverinfo:u({},i.hoverinfo,{flags:["name","x","y","text","initial","delta","final"]}),textinfo:{valType:"flaglist",flags:["label","text","initial","delta","final"],extras:["none"],editType:"plot",arrayOk:!1},texttemplate:s({editType:"plot"},{keys:c.eventDataKeys.concat(["label"])}),texttemplatefallback:l({editType:"plot"}),text:r.text,textposition:r.textposition,insidetextanchor:r.insidetextanchor,textangle:r.textangle,textfont:r.textfont,insidetextfont:r.insidetextfont,outsidetextfont:r.outsidetextfont,constraintext:r.constraintext,cliponaxis:r.cliponaxis,orientation:r.orientation,offset:r.offset,width:r.width,increasing:d(),decreasing:d(),totals:d(),connector:{line:{color:u({},n.color,{dflt:h.defaultLine}),width:u({},n.width,{editType:"plot"}),dash:n.dash,editType:"plot"},mode:{valType:"enumerated",values:["spanning","between"],dflt:"between",editType:"plot"},visible:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},offsetgroup:r.offsetgroup,alignmentgroup:r.alignmentgroup,zorder:r.zorder}}}),zc=m({"src/traces/waterfall/layout_attributes.js"(e,t){t.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"}}}}),Oc=m({"src/constants/delta.js"(e,t){t.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"▲"},DECREASING:{COLOR:"#FF4136",SYMBOL:"▼"}}}}),Dc=m({"src/traces/waterfall/defaults.js"(e,t){var r=dr(),n=la(),i=is().handleText,a=Qi(),o=ea(),s=Pc(),l=Fe(),c=Oc(),u=c.INCREASING.COLOR,h=c.DECREASING.COLOR;function d(e,t,r){e(t+".marker.color",r),e(t+".marker.line.color",l.defaultLine),e(t+".marker.line.width")}t.exports={supplyDefaults:function(e,t,n,l){function c(n,i){return r.coerce(e,t,s,n,i)}if(a(e,t,l,c)){o(e,t,l,c),c("xhoverformat"),c("yhoverformat"),c("measure"),c("orientation",t.x&&!t.y?"h":"v"),c("base"),c("offset"),c("width"),c("text"),c("hovertext"),c("hovertemplate"),c("hovertemplatefallback");var f=c("textposition");i(e,t,l,c,f,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),"none"!==t.textposition&&(c("texttemplate"),c("texttemplatefallback"),t.texttemplate||c("textinfo")),d(c,"increasing",u),d(c,"decreasing",h),d(c,"totals","#4499FF"),c("connector.visible")&&(c("connector.mode"),c("connector.line.width")&&(c("connector.line.color"),c("connector.line.dash"))),c("zorder")}else t.visible=!1},crossTraceDefaults:function(e,t){var i,a;function o(e){return r.coerce(a._input,a,s,e)}if("group"===t.waterfallmode)for(var l=0;l0&&(g+=d?"M"+h[0]+","+p[1]+"V"+p[0]:"M"+h[1]+","+p[0]+"H"+h[0]),"between"!==f&&(o.isSum||s path").each((function(e){if(!e.isBlank){var t=s[e.dir].marker;r.select(this).call(i.fill,t.color).call(i.stroke,t.line.color).call(n.dashLine,t.line.dash,t.line.width).style("opacity",s.selectedpoints&&!e.selected?a:1)}})),l(o,s,e),o.selectAll(".lines").each((function(){var e=s.connector.line;n.lineGroupStyle(r.select(this).selectAll("path"),e.width,e.color,e.dash)}))}))}}}}),Uc=m({"src/traces/waterfall/hover.js"(e,t){var r=cn().hoverLabelText,n=Fe().opacity,i=ds().hoverOnBars,a=Oc(),o=a.INCREASING.SYMBOL,s=a.DECREASING.SYMBOL;t.exports=function(e,t,a,l,c){var u=i(e,t,a,l,c);if(u){var h=u.cd,d=h[0].trace,f="h"===d.orientation,p=f?"x":"y",m=f?e.xa:e.ya,g=h[u.index],y=g.isSum?g.b+g.s:g.rawS;u.initial=g.b+g.s-y,u.delta=y,u.final=u.initial+u.delta;var v=T(Math.abs(u.delta));u.deltaLabel=y<0?"("+v+")":v,u.finalLabel=T(u.final),u.initialLabel=T(u.initial);var x=g.hi||d.hoverinfo,b=[];if(x&&"none"!==x&&"skip"!==x){var _="all"===x,w=x.split("+"),k=function(e){return _||-1!==w.indexOf(e)};g.isSum||(k("final")&&(f?!k("x"):!k("y"))&&b.push(u.finalLabel),k("delta")&&(y<0?b.push(u.deltaLabel+" "+s):b.push(u.deltaLabel+" "+o)),k("initial")&&b.push("Initial: "+u.initialLabel))}return b.length&&(u.extraText=b.join("
")),u.color=function(e,t){var r=e[t.dir].marker,i=r.color,a=r.line.color,o=r.line.width;return n(i)?i:n(a)&&o?a:void 0}(d,g),[u]}function T(e){return r(m,e,d[p+"hoverformat"])}}}}),Vc=m({"src/traces/waterfall/event_data.js"(e,t){t.exports=function(e,t){return e.x="xVal"in t?t.xVal:t.x,e.y="yVal"in t?t.yVal:t.y,"initial"in t&&(e.initial=t.initial),"delta"in t&&(e.delta=t.delta),"final"in t&&(e.final=t.final),t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),e}}}),qc=m({"src/traces/waterfall/index.js"(e,t){t.exports={attributes:Pc(),layoutAttributes:zc(),supplyDefaults:Dc().supplyDefaults,crossTraceDefaults:Dc().crossTraceDefaults,supplyLayoutDefaults:Rc(),calc:jc(),crossTraceCalc:Fc(),plot:Bc(),style:Nc().style,hoverPoints:Uc(),eventData:Vc(),selectPoints:ps(),moduleType:"trace",name:"waterfall",basePlotModule:ja(),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}}}),Hc=m({"lib/waterfall.js"(e,t){t.exports=qc()}}),Gc=m({"src/traces/image/constants.js"(e,t){t.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(e){return e.slice(0,3)},suffix:["","",""]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(e){return e.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(e){return e.slice(0,4)},suffix:["","","",""]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(e){var t=e.slice(0,3);return t[1]=t[1]+"%",t[2]=t[2]+"%",t},suffix:["°","%","%"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(e){var t=e.slice(0,4);return t[1]=t[1]+"%",t[2]=t[2]+"%",t},suffix:["°","%","%",""]}}}}}),Wc={};g(Wc,{default:()=>ru});var Yc,Xc,Zc,$c,Kc,Jc,Qc,eu,tu,ru,nu=p({"src/traces/image/attributes.ts"(){Yc=v(V()),Xc=v(Y()),Zc=v(Lt()),$c=v(Pi()),Kc=v(Gc()),Jc=["rgb","rgba","rgba256","hsl","hsla"],Qc=[],eu=[];for(let e of Jc){let t=Kc.colormodel[e];Qc.push(`For the \`${e}\` colormodel, it is [${(t.zminDflt||t.min).join(", ")}].`),eu.push(`For the \`${e}\` colormodel, it is [${(t.zmaxDflt||t.max).join(", ")}].`)}tu={source:{valType:"string",editType:"calc",description:["Specifies the data URI of the image to be visualized.",'The URI consists of "data:image/[][;base64\\\\],"'].join(" ")},z:{valType:"data_array",editType:"calc",description:["A 2-dimensional array in which each element is an array of 3 or 4 numbers representing a color."].join(" ")},colormodel:{valType:"enumerated",values:Jc,editType:"calc",description:["Color model used to map the numerical color components described in `z` into colors.","If `source` is specified, this attribute will be set to `rgba256`","otherwise it defaults to `rgb`."].join(" ")},zsmooth:{valType:"enumerated",values:["fast",!1],dflt:!1,editType:"plot",description:["Picks a smoothing algorithm used to smooth `z` data.","This only applies for image traces that use the `source` attribute."].join(" ")},zmin:{valType:"info_array",items:[{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"}],editType:"calc",description:["Array defining the lower bound for each color component.","Note that the default value will depend on the colormodel.",Qc.join(" ")].join(" ")},zmax:{valType:"info_array",items:[{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"}],editType:"calc",description:["Array defining the higher bound for each color component.","Note that the default value will depend on the colormodel.",eu.join(" ")].join(" ")},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",description:["Set the image's x position. The left edge of the image","(or the right edge if the x axis is reversed or dx is negative)","will be found at xmin=x0-dx/2"].join(" ")},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",description:["Set the image's y position. The top edge of the image","(or the bottom edge if the y axis is NOT reversed or if dy is negative)","will be found at ymin=y0-dy/2. By default when an image trace is","included, the y axis will be reversed so that the image is right-side-up,","but you can disable this by setting yaxis.autorange=true or by providing","an explicit y axis range."].join(" ")},dx:{valType:"number",dflt:1,editType:"calc",description:"Set the pixel's horizontal size."},dy:{valType:"number",dflt:1,editType:"calc",description:"Set the pixel's vertical size"},text:{valType:"data_array",editType:"plot",description:"Sets the text elements associated with each z value."},hovertext:{valType:"data_array",editType:"plot",description:"Same as `text`."},hoverinfo:(0,Yc.extendFlat)({},Xc.default.hoverinfo,{flags:["x","y","z","color","name","text"],dflt:"x+y+z+text+name"}),hovertemplate:(0,Zc.hovertemplateAttrs)({},{keys:["z","color","colormodel"]}),hovertemplatefallback:(0,Zc.templatefallbackAttrs)(),zorder:$c.zorder},ru=tu}}),iu=m({"src/traces/image/defaults.js"(e,t){var r=dr(),n=(nu(),x(Wc)).default,i=Gc(),a=Hi().IMAGE_URL_PREFIX;t.exports=function(e,t){function o(i,a){return r.coerce(e,t,n,i,a)}o("source"),t.source&&!t.source.match(a)&&delete t.source,t._hasSource=!!t.source;var s,l=o("z");t._hasZ=!(void 0===l||!l.length||!l[0]||!l[0].length),t._hasZ||t._hasSource?(o("x0"),o("y0"),o("dx"),o("dy"),t._hasZ?(o("colormodel","rgb"),o("zmin",(s=i.colormodel[t.colormodel]).zminDflt||s.min),o("zmax",s.zmaxDflt||s.max)):t._hasSource&&(t.colormodel="rgba256",s=i.colormodel[t.colormodel],t.zmin=s.zminDflt,t.zmax=s.zmaxDflt),o("zsmooth"),o("text"),o("hovertext"),o("hovertemplate"),o("hovertemplatefallback"),t._length=null,o("zorder")):t.visible=!1}}}),au=m({"node_modules/inherits/inherits_browser.js"(e,t){"function"==typeof Object.create?t.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}}}),ou=m({"node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/stream-browser.js"(e,t){t.exports=gr().EventEmitter}}),su=m({"node_modules/base64-js/index.js"(e){e.byteLength=function(e){var t=o(e),r=t[0],n=t[1];return 3*(r+n)/4-n},e.toByteArray=function(e){var t,r,a=o(e),s=a[0],l=a[1],c=new i(function(e,t,r){return 3*(t+r)/4-r}(0,s,l)),u=0,h=l>0?s-4:s;for(r=0;r>16&255,c[u++]=t>>8&255,c[u++]=255&t;return 2===l&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,c[u++]=255&t),1===l&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t),c},e.fromByteArray=function(e){for(var t,n=e.length,i=n%3,a=[],o=16383,s=0,c=n-i;sc?c:s+o));return 1===i?(t=e[n-1],a.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],a.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"=")),a.join("")};var t,r=[],n=[],i=typeof Uint8Array<"u"?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(t=0;t<64;++t)r[t]=a[t],n[a.charCodeAt(t)]=t;function o(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function s(e){return r[e>>18&63]+r[e>>12&63]+r[e>>6&63]+r[63&e]}function l(e,t,r){for(var n,i=[],a=t;a>1,u=-7,h=r?i-1:0,d=r?-1:1,f=e[t+h];for(h+=d,a=f&(1<<-u)-1,f>>=-u,u+=s;u>0;a=256*a+e[t+h],h+=d,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+e[t+h],h+=d,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(f?-1:1);o+=Math.pow(2,n),a-=c}return(f?-1:1)*o*Math.pow(2,a-n)},e.write=function(e,t,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:a-1,p=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+h>=1?d/l:d*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(t*l-1)*Math.pow(2,i),o+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[r+f]=255&s,f+=p,s/=256,i-=8);for(o=o<0;e[r+f]=255&o,f+=p,o/=256,c-=8);e[r+f-p]|=128*m}}}),cu=m({"node_modules/buffer/index.js"(e){var t=su(),r=lu(),n="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=o,e.SlowBuffer=function(e){return+e!=e&&(e=0),o.alloc(+e)},e.INSPECT_MAX_BYTES=50;var i=2147483647;function a(e){if(e>i)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,o.prototype),t}function o(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return c(e)}return s(e,t,r)}function s(e,t,r){if("string"==typeof e)return function(e,t){if(("string"!=typeof t||""===t)&&(t="utf8"),!o.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=0|f(e,t),n=a(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(Y(e,Uint8Array)){let t=new Uint8Array(e);return h(t.buffer,t.byteOffset,t.byteLength)}return u(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(Y(e,ArrayBuffer)||e&&Y(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Y(e,SharedArrayBuffer)||e&&Y(e.buffer,SharedArrayBuffer)))return h(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return o.from(n,t,r);let i=function(e){if(o.isBuffer(e)){let t=0|d(e.length),r=a(t);return 0===r.length||e.copy(r,0,0,t),r}return void 0!==e.length?"number"!=typeof e.length||X(e.length)?a(0):u(e):"Buffer"===e.type&&Array.isArray(e.data)?u(e.data):void 0}(e);if(i)return i;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return o.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function l(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function c(e){return l(e),a(e<0?0:0|d(e))}function u(e){let t=e.length<0?0:0|d(e.length),r=a(t);for(let n=0;n=i)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i.toString(16)+" bytes");return 0|e}function f(e,t){if(o.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Y(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return H(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return G(e).length;default:if(i)return n?-1:H(e).length;t=(""+t).toLowerCase(),i=!0}}function p(e,t,r){let n=!1;if((void 0===t||t<0)&&(t=0),t>this.length||((void 0===r||r>this.length)&&(r=this.length),r<=0)||(r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return E(this,t,r);case"utf8":case"utf-8":return T(this,t,r);case"ascii":return M(this,t,r);case"latin1":case"binary":return S(this,t,r);case"base64":return k(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function m(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}function g(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),X(r=+r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=o.from(t,n)),o.isBuffer(t))return 0===t.length?-1:y(e,t,r,n,i);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):y(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function y(e,t,r,n,i){let a,o=1,s=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){let n=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){let r=!0;for(let n=0;ni&&(n=i):n=i;let a,o=t.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(t,e.length-r),e,r,n)}function k(e,r,n){return 0===r&&n===e.length?t.fromByteArray(e):t.fromByteArray(e.slice(r,n))}function T(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i239?4:t>223?3:t>191?2:1;if(i+o<=r){let r,n,s,l;switch(o){case 1:t<128&&(a=t);break;case 2:r=e[i+1],128==(192&r)&&(l=(31&t)<<6|63&r,l>127&&(a=l));break;case 3:r=e[i+1],n=e[i+2],128==(192&r)&&128==(192&n)&&(l=(15&t)<<12|(63&r)<<6|63&n,l>2047&&(l<55296||l>57343)&&(a=l));break;case 4:r=e[i+1],n=e[i+2],s=e[i+3],128==(192&r)&&128==(192&n)&&128==(192&s)&&(l=(15&t)<<18|(63&r)<<12|(63&n)<<6|63&s,l>65535&&l<1114112&&(a=l))}}null===a?(a=65533,o=1):a>65535&&(a-=65536,n.push(a>>>10&1023|55296),a=56320|1023&a),n.push(a),i+=o}return function(e){let t=e.length;if(t<=A)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn.length?(o.isBuffer(t)||(t=o.from(t)),t.copy(n,i)):Uint8Array.prototype.set.call(n,t,i);else{if(!o.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(n,i)}i+=t.length}return n},o.byteLength=f,o.prototype._isBuffer=!0,o.prototype.swap16=function(){let e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tr&&(t+=" ... "),""},n&&(o.prototype[n]=o.prototype.inspect),o.prototype.compare=function(e,t,r,n,i){if(Y(e,Uint8Array)&&(e=o.from(e,e.offset,e.byteLength)),!o.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;let a=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(t>>>=0),l=Math.min(a,s),c=this.slice(n,i),u=e.slice(t,r);for(let e=0;e>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}let i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let a=!1;for(;;)switch(n){case"hex":return v(this,e,t,r);case"utf8":case"utf-8":return x(this,e,t,r);case"ascii":case"latin1":case"binary":return b(this,e,t,r);case"base64":return _(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return w(this,e,t,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var A=4096;function M(e,t,r){let n="";r=Math.min(e.length,r);for(let i=t;in)&&(r=n);let i="";for(let n=t;nr)throw new RangeError("Trying to access beyond buffer length")}function I(e,t,r,n,i,a){if(!o.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function P(e,t,r,n,i){N(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=o,o>>=8,e[r++]=o,o>>=8,e[r++]=o,o>>=8,e[r++]=o,r}function z(e,t,r,n,i){N(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r+7]=a,a>>=8,e[r+6]=a,a>>=8,e[r+5]=a,a>>=8,e[r+4]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=o,o>>=8,e[r+2]=o,o>>=8,e[r+1]=o,o>>=8,e[r]=o,r+8}function O(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function D(e,t,n,i,a){return t=+t,n>>>=0,a||O(e,0,n,4),r.write(e,t,n,i,23,4),n+4}function R(e,t,n,i,a){return t=+t,n>>>=0,a||O(e,0,n,8),r.write(e,t,n,i,52,8),n+8}o.prototype.slice=function(e,t){let r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||L(e,t,this.length);let n=this[e],i=1,a=0;for(;++a>>=0,t>>>=0,r||L(e,t,this.length);let n=this[e+--t],i=1;for(;t>0&&(i*=256);)n+=this[e+--t]*i;return n},o.prototype.readUint8=o.prototype.readUInt8=function(e,t){return e>>>=0,t||L(e,1,this.length),this[e]},o.prototype.readUint16LE=o.prototype.readUInt16LE=function(e,t){return e>>>=0,t||L(e,2,this.length),this[e]|this[e+1]<<8},o.prototype.readUint16BE=o.prototype.readUInt16BE=function(e,t){return e>>>=0,t||L(e,2,this.length),this[e]<<8|this[e+1]},o.prototype.readUint32LE=o.prototype.readUInt32LE=function(e,t){return e>>>=0,t||L(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},o.prototype.readUint32BE=o.prototype.readUInt32BE=function(e,t){return e>>>=0,t||L(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},o.prototype.readBigUInt64LE=$((function(e){U(e>>>=0,"offset");let t=this[e],r=this[e+7];(void 0===t||void 0===r)&&V(e,this.length-8);let n=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,i=this[++e]+256*this[++e]+65536*this[++e]+r*2**24;return BigInt(n)+(BigInt(i)<>>=0,"offset");let t=this[e],r=this[e+7];(void 0===t||void 0===r)&&V(e,this.length-8);let n=t*2**24+65536*this[++e]+256*this[++e]+this[++e],i=this[++e]*2**24+65536*this[++e]+256*this[++e]+r;return(BigInt(n)<>>=0,t>>>=0,r||L(e,t,this.length);let n=this[e],i=1,a=0;for(;++a=i&&(n-=Math.pow(2,8*t)),n},o.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||L(e,t,this.length);let n=t,i=1,a=this[e+--n];for(;n>0&&(i*=256);)a+=this[e+--n]*i;return i*=128,a>=i&&(a-=Math.pow(2,8*t)),a},o.prototype.readInt8=function(e,t){return e>>>=0,t||L(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},o.prototype.readInt16LE=function(e,t){e>>>=0,t||L(e,2,this.length);let r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},o.prototype.readInt16BE=function(e,t){e>>>=0,t||L(e,2,this.length);let r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},o.prototype.readInt32LE=function(e,t){return e>>>=0,t||L(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},o.prototype.readInt32BE=function(e,t){return e>>>=0,t||L(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},o.prototype.readBigInt64LE=$((function(e){U(e>>>=0,"offset");let t=this[e],r=this[e+7];(void 0===t||void 0===r)&&V(e,this.length-8);let n=this[e+4]+256*this[e+5]+65536*this[e+6]+(r<<24);return(BigInt(n)<>>=0,"offset");let t=this[e],r=this[e+7];(void 0===t||void 0===r)&&V(e,this.length-8);let n=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(n)<>>=0,t||L(e,4,this.length),r.read(this,e,!0,23,4)},o.prototype.readFloatBE=function(e,t){return e>>>=0,t||L(e,4,this.length),r.read(this,e,!1,23,4)},o.prototype.readDoubleLE=function(e,t){return e>>>=0,t||L(e,8,this.length),r.read(this,e,!0,52,8)},o.prototype.readDoubleBE=function(e,t){return e>>>=0,t||L(e,8,this.length),r.read(this,e,!1,52,8)},o.prototype.writeUintLE=o.prototype.writeUIntLE=function(e,t,r,n){e=+e,t>>>=0,r>>>=0,n||I(this,e,t,r,Math.pow(2,8*r)-1,0);let i=1,a=0;for(this[t]=255&e;++a>>=0,r>>>=0,n||I(this,e,t,r,Math.pow(2,8*r)-1,0);let i=r-1,a=1;for(this[t+i]=255&e;--i>=0&&(a*=256);)this[t+i]=e/a&255;return t+r},o.prototype.writeUint8=o.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||I(this,e,t,1,255,0),this[t]=255&e,t+1},o.prototype.writeUint16LE=o.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||I(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},o.prototype.writeUint16BE=o.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||I(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},o.prototype.writeUint32LE=o.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||I(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},o.prototype.writeUint32BE=o.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||I(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},o.prototype.writeBigUInt64LE=$((function(e,t=0){return P(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),o.prototype.writeBigUInt64BE=$((function(e,t=0){return z(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),o.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){let n=Math.pow(2,8*r-1);I(this,e,t,r,n-1,-n)}let i=0,a=1,o=0;for(this[t]=255&e;++i>>=0,!n){let n=Math.pow(2,8*r-1);I(this,e,t,r,n-1,-n)}let i=r-1,a=1,o=0;for(this[t+i]=255&e;--i>=0&&(a*=256);)e<0&&0===o&&0!==this[t+i+1]&&(o=1),this[t+i]=(e/a|0)-o&255;return t+r},o.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||I(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},o.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||I(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},o.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||I(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},o.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||I(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},o.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||I(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},o.prototype.writeBigInt64LE=$((function(e,t=0){return P(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),o.prototype.writeBigInt64BE=$((function(e,t=0){return z(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),o.prototype.writeFloatLE=function(e,t,r){return D(this,e,t,!0,r)},o.prototype.writeFloatBE=function(e,t,r){return D(this,e,t,!1,r)},o.prototype.writeDoubleLE=function(e,t,r){return R(this,e,t,!0,r)},o.prototype.writeDoubleBE=function(e,t,r){return R(this,e,t,!1,r)},o.prototype.copy=function(e,t,r,n){if(!o.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),!n&&0!==n&&(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function N(e,t,r,n,i,a){if(e>r||e3?0===t||t===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(a+1)}${i}`:`>= -(2${i} ** ${8*(a+1)-1}${i}) and < 2 ** ${8*(a+1)-1}${i}`:`>= ${t}${i} and <= ${r}${i}`,new j.ERR_OUT_OF_RANGE("value",n,e)}!function(e,t,r){U(t,"offset"),(void 0===e[t]||void 0===e[t+r])&&V(t,e.length-(r+1))}(n,i,a)}function U(e,t){if("number"!=typeof e)throw new j.ERR_INVALID_ARG_TYPE(t,"number",e)}function V(e,t,r){throw Math.floor(e)!==e?(U(e,r),new j.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new j.ERR_BUFFER_OUT_OF_BOUNDS:new j.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}F("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),F("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),F("ERR_OUT_OF_RANGE",(function(e,t,r){let n=`The value of "${e}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=B(String(r)):"bigint"==typeof r&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=B(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n}),RangeError);var q=/[^+/0-9A-Za-z-_]/g;function H(e,t){t=t||1/0;let r,n=e.length,i=null,a=[];for(let o=0;o55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function G(e){return t.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(q,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function W(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function Y(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function X(e){return e!=e}var Z=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=16*r;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function $(e){return typeof BigInt>"u"?K:e}function K(){throw new Error("BigInt not supported")}}}),uu=m({"node_modules/has-symbols/shams.js"(e,t){t.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),r=Object(t);if("string"==typeof t||"[object Symbol]"!==Object.prototype.toString.call(t)||"[object Symbol]"!==Object.prototype.toString.call(r))return!1;for(var n in e[t]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length||"function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var i=Object.getOwnPropertySymbols(e);if(1!==i.length||i[0]!==t||!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var a=Object.getOwnPropertyDescriptor(e,t);if(42!==a.value||!0!==a.enumerable)return!1}return!0}}}),hu=m({"node_modules/has-tostringtag/shams.js"(e,t){var r=uu();t.exports=function(){return r()&&!!Symbol.toStringTag}}}),du=m({"node_modules/es-object-atoms/index.js"(e,t){t.exports=Object}}),fu=m({"node_modules/es-errors/index.js"(e,t){t.exports=Error}}),pu=m({"node_modules/es-errors/eval.js"(e,t){t.exports=EvalError}}),mu=m({"node_modules/es-errors/range.js"(e,t){t.exports=RangeError}}),gu=m({"node_modules/es-errors/ref.js"(e,t){t.exports=ReferenceError}}),yu=m({"node_modules/es-errors/syntax.js"(e,t){t.exports=SyntaxError}}),vu=m({"node_modules/es-errors/type.js"(e,t){t.exports=TypeError}}),xu=m({"node_modules/es-errors/uri.js"(e,t){t.exports=URIError}}),bu=m({"node_modules/math-intrinsics/abs.js"(e,t){t.exports=Math.abs}}),_u=m({"node_modules/math-intrinsics/floor.js"(e,t){t.exports=Math.floor}}),wu=m({"node_modules/math-intrinsics/max.js"(e,t){t.exports=Math.max}}),ku=m({"node_modules/math-intrinsics/min.js"(e,t){t.exports=Math.min}}),Tu=m({"node_modules/math-intrinsics/pow.js"(e,t){t.exports=Math.pow}}),Au=m({"node_modules/math-intrinsics/round.js"(e,t){t.exports=Math.round}}),Mu=m({"node_modules/math-intrinsics/isNaN.js"(e,t){t.exports=Number.isNaN||function(e){return e!=e}}}),Su=m({"node_modules/math-intrinsics/sign.js"(e,t){var r=Mu();t.exports=function(e){return r(e)||0===e?e:e<0?-1:1}}}),Eu=m({"node_modules/gopd/gOPD.js"(e,t){t.exports=Object.getOwnPropertyDescriptor}}),Cu=m({"node_modules/gopd/index.js"(e,t){var r=Eu();if(r)try{r([],"length")}catch{r=null}t.exports=r}}),Lu=m({"node_modules/es-define-property/index.js"(e,t){var r=Object.defineProperty||!1;if(r)try{r({},"a",{value:1})}catch{r=!1}t.exports=r}}),Iu=m({"node_modules/has-symbols/index.js"(e,t){var r=typeof Symbol<"u"&&Symbol,n=uu();t.exports=function(){return"function"==typeof r&&"function"==typeof Symbol&&"symbol"==typeof r("foo")&&"symbol"==typeof Symbol("bar")&&n()}}}),Pu=m({"node_modules/get-proto/Reflect.getPrototypeOf.js"(e,t){t.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null}}),zu=m({"node_modules/get-proto/Object.getPrototypeOf.js"(e,t){var r=du();t.exports=r.getPrototypeOf||null}}),Ou=m({"node_modules/function-bind/implementation.js"(e,t){var r=Object.prototype.toString,n=Math.max,i=function(e,t){for(var r=[],n=0;n"u"||!A?r:A(Uint8Array),P={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?r:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?r:ArrayBuffer,"%ArrayIteratorPrototype%":T&&A?A([][Symbol.iterator]()):r,"%AsyncFromSyncIteratorPrototype%":r,"%AsyncFunction%":L,"%AsyncGenerator%":L,"%AsyncGeneratorFunction%":L,"%AsyncIteratorPrototype%":L,"%Atomics%":typeof Atomics>"u"?r:Atomics,"%BigInt%":typeof BigInt>"u"?r:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?r:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?r:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?r:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":i,"%eval%":eval,"%EvalError%":a,"%Float16Array%":typeof Float16Array>"u"?r:Float16Array,"%Float32Array%":typeof Float32Array>"u"?r:Float32Array,"%Float64Array%":typeof Float64Array>"u"?r:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?r:FinalizationRegistry,"%Function%":v,"%GeneratorFunction%":L,"%Int8Array%":typeof Int8Array>"u"?r:Int8Array,"%Int16Array%":typeof Int16Array>"u"?r:Int16Array,"%Int32Array%":typeof Int32Array>"u"?r:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":T&&A?A(A([][Symbol.iterator]())):r,"%JSON%":"object"==typeof JSON?JSON:r,"%Map%":typeof Map>"u"?r:Map,"%MapIteratorPrototype%":typeof Map>"u"||!T||!A?r:A((new Map)[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":n,"%Object.getOwnPropertyDescriptor%":b,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?r:Promise,"%Proxy%":typeof Proxy>"u"?r:Proxy,"%RangeError%":o,"%ReferenceError%":s,"%Reflect%":typeof Reflect>"u"?r:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?r:Set,"%SetIteratorPrototype%":typeof Set>"u"||!T||!A?r:A((new Set)[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?r:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":T&&A?A(""[Symbol.iterator]()):r,"%Symbol%":T?Symbol:r,"%SyntaxError%":l,"%ThrowTypeError%":k,"%TypedArray%":I,"%TypeError%":c,"%Uint8Array%":typeof Uint8Array>"u"?r:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?r:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?r:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?r:Uint32Array,"%URIError%":u,"%WeakMap%":typeof WeakMap>"u"?r:WeakMap,"%WeakRef%":typeof WeakRef>"u"?r:WeakRef,"%WeakSet%":typeof WeakSet>"u"?r:WeakSet,"%Function.prototype.call%":C,"%Function.prototype.apply%":E,"%Object.defineProperty%":_,"%Object.getPrototypeOf%":M,"%Math.abs%":h,"%Math.floor%":d,"%Math.max%":f,"%Math.min%":p,"%Math.pow%":m,"%Math.round%":g,"%Math.sign%":y,"%Reflect.getPrototypeOf%":S};if(A)try{null.error}catch(e){z=A(A(e)),P["%Error.prototype%"]=z}var z,O=function e(t){var r;if("%AsyncFunction%"===t)r=x("async function () {}");else if("%GeneratorFunction%"===t)r=x("function* () {}");else if("%AsyncGeneratorFunction%"===t)r=x("async function* () {}");else if("%AsyncGenerator%"===t){var n=e("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if("%AsyncIteratorPrototype%"===t){var i=e("%AsyncGenerator%");i&&A&&(r=A(i.prototype))}return P[t]=r,r},D={__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"]},R=Du(),j=qu(),F=R.call(C,Array.prototype.concat),B=R.call(E,Array.prototype.splice),N=R.call(C,String.prototype.replace),U=R.call(C,String.prototype.slice),V=R.call(C,RegExp.prototype.exec),q=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,H=/\\(\\)?/g,G=function(e,t){var r,n=e;if(j(D,n)&&(n="%"+(r=D[n])[0]+"%"),j(P,n)){var i=P[n];if(i===L&&(i=O(n)),typeof i>"u"&&!t)throw new c("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:r,name:n,value:i}}throw new l("intrinsic "+e+" does not exist!")};t.exports=function(e,t){if("string"!=typeof e||0===e.length)throw new c("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof t)throw new c('"allowMissing" argument must be a boolean');if(null===V(/^%?[^%]*%?$/,e))throw new l("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=function(e){var t=U(e,0,1),r=U(e,-1);if("%"===t&&"%"!==r)throw new l("invalid intrinsic syntax, expected closing `%`");if("%"===r&&"%"!==t)throw new l("invalid intrinsic syntax, expected opening `%`");var n=[];return N(e,q,(function(e,t,r,i){n[n.length]=r?N(i,H,"$1"):t||e})),n}(e),n=r.length>0?r[0]:"",i=G("%"+n+"%",t),a=i.name,o=i.value,s=!1,u=i.alias;u&&(n=u[0],B(r,F([0,1],u)));for(var h=1,d=!0;h=r.length){var g=b(o,f);o=(d=!!g)&&"get"in g&&!("originalValue"in g.get)?g.get:o[f]}else d=j(o,f),o=o[f];d&&!s&&(P[a]=o)}}return o}}}),Gu=m({"node_modules/define-data-property/index.js"(e,t){var r=Lu(),n=yu(),i=vu(),a=Cu();t.exports=function(e,t,o){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new i("`obj` must be an object or a function`");if("string"!=typeof t&&"symbol"!=typeof t)throw new i("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new i("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new i("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new i("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new i("`loose`, if provided, must be a boolean");var s=arguments.length>3?arguments[3]:null,l=arguments.length>4?arguments[4]:null,c=arguments.length>5?arguments[5]:null,u=arguments.length>6&&arguments[6],h=!!a&&a(e,t);if(r)r(e,t,{configurable:null===c&&h?h.configurable:!c,enumerable:null===s&&h?h.enumerable:!s,value:o,writable:null===l&&h?h.writable:!l});else{if(!u&&(s||l||c))throw new n("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");e[t]=o}}}}),Wu=m({"node_modules/has-property-descriptors/index.js"(e,t){var r=Lu(),n=function(){return!!r};n.hasArrayLengthDefineBug=function(){if(!r)return null;try{return 1!==r([],"length",{value:1}).length}catch{return!0}},t.exports=n}}),Yu=m({"node_modules/set-function-length/index.js"(e,t){var r=Hu(),n=Gu(),i=Wu()(),a=Cu(),o=vu(),s=r("%Math.floor%");t.exports=function(e,t){if("function"!=typeof e)throw new o("`fn` is not a function");if("number"!=typeof t||t<0||t>4294967295||s(t)!==t)throw new o("`length` must be a positive 32-bit integer");var r=arguments.length>2&&!!arguments[2],l=!0,c=!0;if("length"in e&&a){var u=a(e,"length");u&&!u.configurable&&(l=!1),u&&!u.writable&&(c=!1)}return(l||c||!r)&&(i?n(e,"length",t,!0,!0):n(e,"length",t)),e}}}),Xu=m({"node_modules/call-bind/index.js"(e,t){var r=Du(),n=Hu(),i=Yu(),a=vu(),o=n("%Function.prototype.apply%"),s=n("%Function.prototype.call%"),l=n("%Reflect.apply%",!0)||r.call(s,o),c=Lu(),u=n("%Math.max%");t.exports=function(e){if("function"!=typeof e)throw new a("a function is required");var t=l(r,s,arguments);return i(t,1+u(0,e.length-(arguments.length-1)),!0)};var h=function(){return l(r,o,arguments)};c?c(t.exports,"apply",{value:h}):t.exports.apply=h}}),Zu=m({"node_modules/call-bind/callBound.js"(e,t){var r=Hu(),n=Xu(),i=n(r("String.prototype.indexOf"));t.exports=function(e,t){var a=r(e,!!t);return"function"==typeof a&&i(e,".prototype.")>-1?n(a):a}}}),$u=m({"node_modules/is-arguments/index.js"(e,t){var r=hu()(),n=Zu()("Object.prototype.toString"),i=function(e){return!(r&&e&&"object"==typeof e&&Symbol.toStringTag in e)&&"[object Arguments]"===n(e)},a=function(e){return!!i(e)||null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Array]"!==n(e)&&"[object Function]"===n(e.callee)},o=function(){return i(arguments)}();i.isLegacyArguments=a,t.exports=o?i:a}}),Ku=m({"node_modules/is-generator-function/index.js"(e,t){var r,n=Object.prototype.toString,i=Function.prototype.toString,a=/^\s*(?:function)?\*/,o=hu()(),s=Object.getPrototypeOf;t.exports=function(e){if("function"!=typeof e)return!1;if(a.test(i.call(e)))return!0;if(!o)return"[object GeneratorFunction]"===n.call(e);if(!s)return!1;if(typeof r>"u"){var t=function(){if(!o)return!1;try{return Function("return function*() {}")()}catch{}}();r=!!t&&s(t)}return s(e)===r}}}),Ju=m({"node_modules/is-callable/index.js"(e,t){var r,n,i=Function.prototype.toString,a="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof a&&"function"==typeof Object.defineProperty)try{r=Object.defineProperty({},"length",{get:function(){throw n}}),n={},a((function(){throw 42}),null,r)}catch(e){e!==n&&(a=null)}else a=null;var o,s=/^\s*class\b/,l=function(e){try{var t=i.call(e);return s.test(t)}catch{return!1}},c=function(e){try{return!l(e)&&(i.call(e),!0)}catch{return!1}},u=Object.prototype.toString,h="function"==typeof Symbol&&!!Symbol.toStringTag,d=!(0 in[,]),f=function(){return!1};"object"==typeof document&&(o=document.all,u.call(o)===u.call(document.all)&&(f=function(e){if((d||!e)&&(typeof e>"u"||"object"==typeof e))try{var t=u.call(e);return("[object HTMLAllCollection]"===t||"[object HTML document.all class]"===t||"[object HTMLCollection]"===t||"[object Object]"===t)&&null==e("")}catch{}return!1})),t.exports=a?function(e){if(f(e))return!0;if(!e||"function"!=typeof e&&"object"!=typeof e)return!1;try{a(e,null,r)}catch(e){if(e!==n)return!1}return!l(e)&&c(e)}:function(e){if(f(e))return!0;if(!e||"function"!=typeof e&&"object"!=typeof e)return!1;if(h)return c(e);if(l(e))return!1;var t=u.call(e);return!("[object Function]"!==t&&"[object GeneratorFunction]"!==t&&!/^\[object HTML/.test(t))&&c(e)}}}),Qu=m({"node_modules/for-each/index.js"(e,t){var r=Ju(),n=Object.prototype.toString,i=Object.prototype.hasOwnProperty;t.exports=function(e,t,a){if(!r(t))throw new TypeError("iterator must be a function");var o;arguments.length>=3&&(o=a),"[object Array]"===n.call(e)?function(e,t,r){for(var n=0,a=e.length;n"u"?window:globalThis;t.exports=function(){for(var e=[],t=0;t"u"?window:globalThis,u=n(),h=a("String.prototype.slice"),d=Object.getPrototypeOf,f=a("Array.prototype.indexOf",!0)||function(e,t){for(var r=0;r-1?t:"Object"===t&&function(e){var t=!1;return r(p,(function(r,n){if(!t)try{r(e),t=h(n,1)}catch{}})),t}(e)}return o?function(e){var t=!1;return r(p,(function(r,n){if(!t)try{"$"+r(e)===n&&(t=h(n,1))}catch{}})),t}(e):null}}}),rh=m({"node_modules/is-typed-array/index.js"(e,t){var r=Qu(),n=eh(),i=Zu(),a=i("Object.prototype.toString"),o=hu()(),s=Cu(),l=typeof globalThis>"u"?window:globalThis,c=n(),u=i("Array.prototype.indexOf",!0)||function(e,t){for(var r=0;r-1}return!!s&&function(e){var t=!1;return r(d,(function(r,n){if(!t)try{t=r.call(e)===n}catch{}})),t}(e)}}}),nh=m({"node_modules/util/support/types.js"(e){var t=$u(),r=Ku(),n=th(),i=rh();function a(e){return e.call.bind(e)}var o,s,l=typeof BigInt<"u",c=typeof Symbol<"u",u=a(Object.prototype.toString),h=a(Number.prototype.valueOf),d=a(String.prototype.valueOf),f=a(Boolean.prototype.valueOf);function p(e,t){if("object"!=typeof e)return!1;try{return t(e),!0}catch{return!1}}function m(e){return"[object Map]"===u(e)}function g(e){return"[object Set]"===u(e)}function y(e){return"[object WeakMap]"===u(e)}function v(e){return"[object WeakSet]"===u(e)}function x(e){return"[object ArrayBuffer]"===u(e)}function b(e){return!(typeof ArrayBuffer>"u")&&(x.working?x(e):e instanceof ArrayBuffer)}function _(e){return"[object DataView]"===u(e)}function w(e){return!(typeof DataView>"u")&&(_.working?_(e):e instanceof DataView)}l&&(o=a(BigInt.prototype.valueOf)),c&&(s=a(Symbol.prototype.valueOf)),e.isArgumentsObject=t,e.isGeneratorFunction=r,e.isTypedArray=i,e.isPromise=function(e){return typeof Promise<"u"&&e instanceof Promise||null!==e&&"object"==typeof e&&"function"==typeof e.then&&"function"==typeof e.catch},e.isArrayBufferView=function(e){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(e):i(e)||w(e)},e.isUint8Array=function(e){return"Uint8Array"===n(e)},e.isUint8ClampedArray=function(e){return"Uint8ClampedArray"===n(e)},e.isUint16Array=function(e){return"Uint16Array"===n(e)},e.isUint32Array=function(e){return"Uint32Array"===n(e)},e.isInt8Array=function(e){return"Int8Array"===n(e)},e.isInt16Array=function(e){return"Int16Array"===n(e)},e.isInt32Array=function(e){return"Int32Array"===n(e)},e.isFloat32Array=function(e){return"Float32Array"===n(e)},e.isFloat64Array=function(e){return"Float64Array"===n(e)},e.isBigInt64Array=function(e){return"BigInt64Array"===n(e)},e.isBigUint64Array=function(e){return"BigUint64Array"===n(e)},m.working=typeof Map<"u"&&m(new Map),e.isMap=function(e){return!(typeof Map>"u")&&(m.working?m(e):e instanceof Map)},g.working=typeof Set<"u"&&g(new Set),e.isSet=function(e){return!(typeof Set>"u")&&(g.working?g(e):e instanceof Set)},y.working=typeof WeakMap<"u"&&y(new WeakMap),e.isWeakMap=function(e){return!(typeof WeakMap>"u")&&(y.working?y(e):e instanceof WeakMap)},v.working=typeof WeakSet<"u"&&v(new WeakSet),e.isWeakSet=function(e){return v(e)},x.working=typeof ArrayBuffer<"u"&&x(new ArrayBuffer),e.isArrayBuffer=b,_.working=typeof ArrayBuffer<"u"&&typeof DataView<"u"&&_(new DataView(new ArrayBuffer(1),0,1)),e.isDataView=w;var k=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:void 0;function T(e){return"[object SharedArrayBuffer]"===u(e)}function A(e){return!(typeof k>"u")&&(typeof T.working>"u"&&(T.working=T(new k)),T.working?T(e):e instanceof k)}function M(e){return p(e,h)}function S(e){return p(e,d)}function E(e){return p(e,f)}function C(e){return l&&p(e,o)}function L(e){return c&&p(e,s)}e.isSharedArrayBuffer=A,e.isAsyncFunction=function(e){return"[object AsyncFunction]"===u(e)},e.isMapIterator=function(e){return"[object Map Iterator]"===u(e)},e.isSetIterator=function(e){return"[object Set Iterator]"===u(e)},e.isGeneratorObject=function(e){return"[object Generator]"===u(e)},e.isWebAssemblyCompiledModule=function(e){return"[object WebAssembly.Module]"===u(e)},e.isNumberObject=M,e.isStringObject=S,e.isBooleanObject=E,e.isBigIntObject=C,e.isSymbolObject=L,e.isBoxedPrimitive=function(e){return M(e)||S(e)||E(e)||C(e)||L(e)},e.isAnyArrayBuffer=function(e){return typeof Uint8Array<"u"&&(b(e)||A(e))},["isProxy","isExternal","isModuleNamespaceObject"].forEach((function(t){Object.defineProperty(e,t,{enumerable:!1,value:function(){throw new Error(t+" is not supported in userland")}})}))}}),ih=m({"node_modules/util/support/isBufferBrowser.js"(e,t){t.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}}}),ah=m({"(disabled):node_modules/util/util.js"(e){var t=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},n=0;n=a)return e;switch(e){case"%s":return String(i[n++]);case"%d":return Number(i[n++]);case"%j":try{return JSON.stringify(i[n++])}catch{return"[Circular]"}default:return e}})),l=i[n];n"u")return function(){return e.deprecate(t,r).apply(this,arguments)};var n=!1;return function(){if(!n){if(c.throwDeprecation)throw new Error(r);c.traceDeprecation?console.trace(r):console.error(r),n=!0}return t.apply(this,arguments)}};var n,i={},a=/^$/;function o(t,r){var n={seen:[],stylize:l};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),p(r)?n.showHidden=r:r&&e._extend(n,r),v(n.showHidden)&&(n.showHidden=!1),v(n.depth)&&(n.depth=2),v(n.colors)&&(n.colors=!1),v(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=s),u(n,t,n.depth)}function s(e,t){var r=o.styles[t];return r?"["+o.colors[r][0]+"m"+e+"["+o.colors[r][1]+"m":e}function l(e,t){return e}function u(t,r,n){if(t.customInspect&&r&&k(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,t);return y(i)||(i=u(t,i,n)),i}var a=function(e,t){if(v(t))return e.stylize("undefined","undefined");if(y(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}return g(t)?e.stylize(""+t,"number"):p(t)?e.stylize(""+t,"boolean"):m(t)?e.stylize("null","null"):void 0}(t,r);if(a)return a;var o=Object.keys(r),s=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),w(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return h(r);if(0===o.length){if(k(r)){var l=r.name?": "+r.name:"";return t.stylize("[Function"+l+"]","special")}if(x(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(_(r))return t.stylize(Date.prototype.toString.call(r),"date");if(w(r))return h(r)}var c,b="",T=!1,A=["{","}"];return f(r)&&(T=!0,A=["[","]"]),k(r)&&(b=" [Function"+(r.name?": "+r.name:"")+"]"),x(r)&&(b=" "+RegExp.prototype.toString.call(r)),_(r)&&(b=" "+Date.prototype.toUTCString.call(r)),w(r)&&(b=" "+h(r)),0!==o.length||T&&0!=r.length?n<0?x(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),c=T?function(e,t,r,n,i){for(var a=[],o=0,s=t.length;o60?r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}(c,b,A)):A[0]+b+A[1]}function h(e){return"["+Error.prototype.toString.call(e)+"]"}function d(e,t,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(s=e.stylize("[Setter]","special")),S(n,i)||(o="["+i+"]"),s||(e.seen.indexOf(l.value)<0?(s=m(r)?u(e,l.value,null):u(e,l.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map((function(e){return" "+e})).join("\n").slice(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),v(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+s}function f(e){return Array.isArray(e)}function p(e){return"boolean"==typeof e}function m(e){return null===e}function g(e){return"number"==typeof e}function y(e){return"string"==typeof e}function v(e){return void 0===e}function x(e){return b(e)&&"[object RegExp]"===T(e)}function b(e){return"object"==typeof e&&null!==e}function _(e){return b(e)&&"[object Date]"===T(e)}function w(e){return b(e)&&("[object Error]"===T(e)||e instanceof Error)}function k(e){return"function"==typeof e}function T(e){return Object.prototype.toString.call(e)}function A(e){return e<10?"0"+e.toString(10):e.toString(10)}n=(n="false").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),a=new RegExp("^"+n+"$","i"),e.debuglog=function(t){if(t=t.toUpperCase(),!i[t])if(a.test(t)){var r=c.pid;i[t]=function(){var n=e.format.apply(e,arguments);console.error("%s %d: %s",t,r,n)}}else i[t]=function(){};return i[t]},e.inspect=o,o.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]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.types=nh(),e.isArray=f,e.isBoolean=p,e.isNull=m,e.isNullOrUndefined=function(e){return null==e},e.isNumber=g,e.isString=y,e.isSymbol=function(e){return"symbol"==typeof e},e.isUndefined=v,e.isRegExp=x,e.types.isRegExp=x,e.isObject=b,e.isDate=_,e.types.isDate=_,e.isError=w,e.types.isNativeError=w,e.isFunction=k,e.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||typeof e>"u"},e.isBuffer=ih();var M=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.log=function(){var t,r;console.log("%s - %s",(r=[A((t=new Date).getHours()),A(t.getMinutes()),A(t.getSeconds())].join(":"),[t.getDate(),M[t.getMonth()],r].join(" ")),e.format.apply(e,arguments))},e.inherits=au(),e._extend=function(e,t){if(!t||!b(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var E=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;function C(e,t){if(!e){var r=new Error("Promise was rejected with a falsy value");r.reason=e,e=r}return t(e)}e.promisify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(E&&e[E]){var r;if("function"!=typeof(r=e[E]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(r,E,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var t,r,n=new Promise((function(e,n){t=e,r=n})),i=[],a=0;a0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r}},{key:"concat",value:function(e){if(0===this.length)return a.alloc(0);for(var t=a.allocUnsafe(e>>>0),r=this.head,n=0;r;)l(r.data,t,n),n+=r.data.length,r=r.next;return t}},{key:"consume",value:function(e,t){var r;return ei.length?i.length:e;if(a===i.length?n+=i:n+=i.slice(0,e),0==(e-=a)){a===i.length?(++r,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(a));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(e){var t=a.allocUnsafe(e),r=this.head,n=1;for(r.data.copy(t),e-=r.data.length;r=r.next;){var i=r.data,o=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,o),0==(e-=o)){o===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(o));break}++n}return this.length-=n,t}},{key:s,value:function(e,t){return o(this,function(e){for(var t=1;t2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:2===r?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}n("ERR_INVALID_OPT_VALUE",(function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'}),TypeError),n("ERR_INVALID_ARG_TYPE",(function(e,t,r){var n,a;if("string"==typeof t&&function(e,t){return e.substr(0,4)===t}(t,"not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be",function(e,t,r){return(void 0===r||r>e.length)&&(r=e.length),e.substring(r-9,r)===t}(e," argument"))a="The ".concat(e," ").concat(n," ").concat(i(t,"type"));else{var o=function(e,t,r){return"number"!=typeof r&&(r=0),!(r+1>e.length)&&-1!==e.indexOf(".",r)}(e)?"property":"argument";a='The "'.concat(e,'" ').concat(o," ").concat(n," ").concat(i(t,"type"))}return a+". Received type ".concat(typeof r)}),TypeError),n("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),n("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),n("ERR_STREAM_PREMATURE_CLOSE","Premature close"),n("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" after a stream was destroyed"})),n("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),n("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),n("ERR_STREAM_WRITE_AFTER_END","write after end"),n("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),n("ERR_UNKNOWN_ENCODING",(function(e){return"Unknown encoding: "+e}),TypeError),n("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.codes=r}}),ch=m({"node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/state.js"(e,t){var r=lh().codes.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(e,t,n,i){var a=function(e,t,r){return null!=e.highWaterMark?e.highWaterMark:t?e[r]:null}(t,i,n);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0)throw new r(i?n:"highWaterMark",a);return Math.floor(a)}return e.objectMode?16:16384}}}}),uh=m({"node_modules/util-deprecate/browser.js"(e,t){function r(e){try{if(!window.localStorage)return!1}catch{return!1}var t=window.localStorage[e];return null!=t&&"true"===String(t).toLowerCase()}t.exports=function(e,t){if(r("noDeprecation"))return e;var n=!1;return function(){if(!n){if(r("throwDeprecation"))throw new Error(t);r("traceDeprecation")?console.trace(t):console.warn(t),n=!0}return e.apply(this,arguments)}}}}),hh=m({"node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_writable.js"(e,t){function r(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t){var r=e.entry;for(e.entry=null;r;){var n=r.callback;t.pendingcb--,n(undefined),r=r.next}t.corkedRequestsFree.next=e}(t,e)}}var n;t.exports=T,T.WritableState=k;var i,a={deprecate:uh()},o=ou(),s=cu().Buffer,l=window.Uint8Array||function(){},u=sh(),h=ch().getHighWaterMark,d=lh().codes,f=d.ERR_INVALID_ARG_TYPE,p=d.ERR_METHOD_NOT_IMPLEMENTED,m=d.ERR_MULTIPLE_CALLBACK,g=d.ERR_STREAM_CANNOT_PIPE,y=d.ERR_STREAM_DESTROYED,v=d.ERR_STREAM_NULL_VALUES,x=d.ERR_STREAM_WRITE_AFTER_END,b=d.ERR_UNKNOWN_ENCODING,_=u.errorOrDestroy;function w(){}function k(e,t,i){n=n||dh(),e=e||{},"boolean"!=typeof i&&(i=t instanceof n),this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=h(this,e,"writableHighWaterMark",i),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var a=!1===e.decodeStrings;this.decodeStrings=!a,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var r=e._writableState,n=r.sync,i=r.writecb;if("function"!=typeof i)throw new m;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(r),t)!function(e,t,r,n,i){--t.pendingcb,r?(c.nextTick(i,n),c.nextTick(L,e,t),e._writableState.errorEmitted=!0,_(e,n)):(i(n),e._writableState.errorEmitted=!0,_(e,n),L(e,t))}(e,r,n,t,i);else{var a=E(r)||e.destroyed;!a&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&S(e,r),n?c.nextTick(M,e,r,a,i):M(e,r,a,i)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new r(this)}function T(e){var t=this instanceof(n=n||dh());if(!t&&!i.call(T,this))return new T(e);this._writableState=new k(e,this,t),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),o.call(this)}function A(e,t,r,n,i,a,o){t.writelen=n,t.writecb=o,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new y("write")):r?e._writev(i,t.onwrite):e._write(i,a,t.onwrite),t.sync=!1}function M(e,t,r,n){r||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,n(),L(e,t)}function S(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var i=t.bufferedRequestCount,a=new Array(i),o=t.corkedRequestsFree;o.entry=n;for(var s=0,l=!0;n;)a[s]=n,n.isBuf||(l=!1),n=n.next,s+=1;a.allBuffers=l,A(e,t,!0,t.length,a,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new r(t),t.bufferedRequestCount=0}else{for(;n;){var c=n.chunk,u=n.encoding,h=n.callback;if(A(e,t,!1,t.objectMode?1:c.length,c,u,h),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function E(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function C(e,t){e._final((function(r){t.pendingcb--,r&&_(e,r),t.prefinished=!0,e.emit("prefinish"),L(e,t)}))}function L(e,t){var r=E(t);if(r&&(function(e,t){!t.prefinished&&!t.finalCalled&&("function"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.pendingcb++,t.finalCalled=!0,c.nextTick(C,e,t)))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"),t.autoDestroy))){var n=e._readableState;(!n||n.autoDestroy&&n.endEmitted)&&e.destroy()}return r}au()(T,o),k.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(k.prototype,"buffer",{get:a.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(i=Function.prototype[Symbol.hasInstance],Object.defineProperty(T,Symbol.hasInstance,{value:function(e){return!!i.call(this,e)||this===T&&e&&e._writableState instanceof k}})):i=function(e){return e instanceof this},T.prototype.pipe=function(){_(this,new g)},T.prototype.write=function(e,t,r){var n=this._writableState,i=!1,a=!n.objectMode&&function(e){return s.isBuffer(e)||e instanceof l}(e);return a&&!s.isBuffer(e)&&(e=function(e){return s.from(e)}(e)),"function"==typeof t&&(r=t,t=null),a?t="buffer":t||(t=n.defaultEncoding),"function"!=typeof r&&(r=w),n.ending?function(e,t){var r=new x;_(e,r),c.nextTick(t,r)}(this,r):(a||function(e,t,r,n){var i;return null===r?i=new v:"string"!=typeof r&&!t.objectMode&&(i=new f("chunk",["string","Buffer"],r)),!i||(_(e,i),c.nextTick(n,i),!1)}(this,n,e,r))&&(n.pendingcb++,i=function(e,t,r,n,i,a){if(!r){var o=function(e,t,r){return!e.objectMode&&!1!==e.decodeStrings&&"string"==typeof t&&(t=s.from(t,r)),t}(t,n,i);n!==o&&(r=!0,i="buffer",n=o)}var l=t.objectMode?1:n.length;t.length+=l;var c=t.length-1))throw new b(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(T.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(T.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),T.prototype._write=function(e,t,r){r(new p("_write()"))},T.prototype._writev=null,T.prototype.end=function(e,t,r){var n=this._writableState;return"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||function(e,t,r){t.ending=!0,L(e,t),r&&(t.finished?c.nextTick(r):e.once("finish",r)),t.ended=!0,e.writable=!1}(this,n,r),this},Object.defineProperty(T.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(T.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),T.prototype.destroy=u.destroy,T.prototype._undestroy=u.undestroy,T.prototype._destroy=function(e,t){t(e)}}}),dh=m({"node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_duplex.js"(e,t){var r=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};t.exports=l;var n,i,a,o=vh(),s=hh();for(au()(l,o),n=r(s.prototype),a=0;a>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function a(e){var t=this.lastTotal-this.lastNeed,r=function(e,t){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function o(e,t){if((e.length-t)%2==0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function s(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function l(e,t){var r=(e.length-t)%3;return 0===r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function c(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function u(e){return e.toString(this.encoding)}function h(e){return e&&e.length?this.write(e):""}e.StringDecoder=n,n.prototype.write=function(e){if(0===e.length)return"";var t,r;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0?(a>0&&(e.lastNeed=a-1),a):--n=0?(a>0&&(e.lastNeed=a-2),a):--n=0?(a>0&&(2===a?a=0:e.lastNeed=a-3),a):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)},n.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}}}),mh=m({"node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(e,t){var r=lh().codes.ERR_STREAM_PREMATURE_CLOSE;function n(){}t.exports=function e(t,i,a){if("function"==typeof i)return e(t,null,i);i||(i={}),a=function(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i0)if("string"!=typeof t&&!c.objectMode&&Object.getPrototypeOf(t)!==o.prototype&&(t=function(e){return o.from(e)}(t)),i)c.endEmitted?_(e,new b):M(e,c,t,!0);else if(c.ended)_(e,new v);else{if(c.destroyed)return!1;c.reading=!1,c.decoder&&!r?(t=c.decoder.write(t),c.objectMode||0!==t.length?M(e,c,t,!1):I(e,c)):M(e,c,t,!1)}else i||(c.reading=!1,I(e,c));return!c.ended&&(c.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=S?e=S:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function C(e){var t=e._readableState;n("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(n("emitReadable",t.flowing),t.emittedReadable=!0,c.nextTick(L,e))}function L(e){var t=e._readableState;n("emitReadable_",t.destroyed,t.length,t.ended),!t.destroyed&&(t.length||t.ended)&&(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,R(e)}function I(e,t){t.readingMore||(t.readingMore=!0,c.nextTick(P,e,t))}function P(e,t){for(;!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function O(e){n("readable nexttick read 0"),e.read(0)}function D(e,t){n("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),R(e),t.flowing&&!t.reading&&e.read(0)}function R(e){var t=e._readableState;for(n("flow",t.flowing);t.flowing&&null!==e.read(););}function j(e,t){return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r);var r}function F(e){var t=e._readableState;n("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,c.nextTick(B,t,e))}function B(e,t){if(n("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}function N(e,t){for(var r=0,n=e.length;r=t.highWaterMark:t.length>0)||t.ended))return n("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?F(this):C(this),null;if(0===(e=E(e,t))&&t.ended)return 0===t.length&&F(this),null;var i,a=t.needReadable;return n("need readable",a),(0===t.length||t.length-e0?j(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&F(this)),null!==i&&this.emit("data",i),i},T.prototype._read=function(e){_(this,new x("_read()"))},T.prototype.pipe=function(e,t){var r=this,a=this._readableState;switch(a.pipesCount){case 0:a.pipes=e;break;case 1:a.pipes=[a.pipes,e];break;default:a.pipes.push(e)}a.pipesCount+=1,n("pipe count=%d opts=%j",a.pipesCount,t);var o=t&&!1===t.end||e===c.stdout||e===c.stderr?m:s;function s(){n("onend"),e.end()}a.endEmitted?c.nextTick(o):r.once("end",o),e.on("unpipe",(function t(i,o){n("onunpipe"),i===r&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,n("cleanup"),e.removeListener("close",f),e.removeListener("finish",p),e.removeListener("drain",l),e.removeListener("error",d),e.removeListener("unpipe",t),r.removeListener("end",s),r.removeListener("end",m),r.removeListener("data",h),u=!0,a.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&l())}));var l=function(e){return function(){var t=e._readableState;n("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&i(e,"data")&&(t.flowing=!0,R(e))}}(r);e.on("drain",l);var u=!1;function h(t){n("ondata");var i=e.write(t);n("dest.write",i),!1===i&&((1===a.pipesCount&&a.pipes===e||a.pipesCount>1&&-1!==N(a.pipes,e))&&!u&&(n("false write response, pause",a.awaitDrain),a.awaitDrain++),r.pause())}function d(t){n("onerror",t),m(),e.removeListener("error",d),0===i(e,"error")&&_(e,t)}function f(){e.removeListener("finish",p),m()}function p(){n("onfinish"),e.removeListener("close",f),m()}function m(){n("unpipe"),r.unpipe(e)}return r.on("data",h),function(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,"error",d),e.once("close",f),e.once("finish",p),e.emit("pipe",r),a.flowing||(n("pipe resume"),r.resume()),e},T.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r)),this;if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a0,!1!==i.flowing&&this.resume()):"readable"===e&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,n("on readable",i.length,i.reading),i.length?C(this):i.reading||c.nextTick(O,this)),r},T.prototype.addListener=T.prototype.on,T.prototype.removeListener=function(e,t){var r=a.prototype.removeListener.call(this,e,t);return"readable"===e&&c.nextTick(z,this),r},T.prototype.removeAllListeners=function(e){var t=a.prototype.removeAllListeners.apply(this,arguments);return("readable"===e||void 0===e)&&c.nextTick(z,this),t},T.prototype.resume=function(){var e=this._readableState;return e.flowing||(n("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,c.nextTick(D,e,t))}(this,e)),e.paused=!1,this},T.prototype.pause=function(){return n("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(n("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},T.prototype.wrap=function(e){var t=this,r=this._readableState,i=!1;for(var a in e.on("end",(function(){if(n("wrapped end"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(a){n("wrapped data"),r.decoder&&(a=r.decoder.write(a)),r.objectMode&&null==a||!(r.objectMode||a&&a.length)||t.push(a)||(i=!0,e.pause())})),e)void 0===this[a]&&"function"==typeof e[a]&&(this[a]=function(t){return function(){return e[t].apply(e,arguments)}}(a));for(var o=0;o0,(function(e){u||(u=e),e&&h.forEach(s),!i&&(h.forEach(s),c(u))}))}));return t.reduce(l)}}}),wh=m({"node_modules/stream-browserify/index.js"(e,t){t.exports=n;var r=gr().EventEmitter;function n(){r.call(this)}au()(n,r),n.Readable=vh(),n.Writable=hh(),n.Duplex=dh(),n.Transform=xh(),n.PassThrough=bh(),n.finished=mh(),n.pipeline=_h(),n.Stream=n,n.prototype.pipe=function(e,t){var n=this;function i(t){e.writable&&!1===e.write(t)&&n.pause&&n.pause()}function a(){n.readable&&n.resume&&n.resume()}n.on("data",i),e.on("drain",a),!e._isStdio&&(!t||!1!==t.end)&&(n.on("end",s),n.on("close",l));var o=!1;function s(){o||(o=!0,e.end())}function l(){o||(o=!0,"function"==typeof e.destroy&&e.destroy())}function c(e){if(u(),0===r.listenerCount(this,"error"))throw e}function u(){n.removeListener("data",i),e.removeListener("drain",a),n.removeListener("end",s),n.removeListener("close",l),n.removeListener("error",c),e.removeListener("error",c),n.removeListener("end",u),n.removeListener("close",u),e.removeListener("close",u)}return n.on("error",c),e.on("error",c),n.on("end",u),n.on("close",u),e.on("close",u),e.emit("pipe",n),e}}}),kh=m({"node_modules/util/util.js"(e){var t=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},n=0;n=a)return e;switch(e){case"%s":return String(i[n++]);case"%d":return Number(i[n++]);case"%j":try{return JSON.stringify(i[n++])}catch{return"[Circular]"}default:return e}})),l=i[n];n"u")return function(){return e.deprecate(t,r).apply(this,arguments)};var n=!1;return function(){if(!n){if(c.throwDeprecation)throw new Error(r);c.traceDeprecation?console.trace(r):console.error(r),n=!0}return t.apply(this,arguments)}};var n,i={},a=/^$/;function o(t,r){var n={seen:[],stylize:l};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),p(r)?n.showHidden=r:r&&e._extend(n,r),v(n.showHidden)&&(n.showHidden=!1),v(n.depth)&&(n.depth=2),v(n.colors)&&(n.colors=!1),v(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=s),u(n,t,n.depth)}function s(e,t){var r=o.styles[t];return r?"["+o.colors[r][0]+"m"+e+"["+o.colors[r][1]+"m":e}function l(e,t){return e}function u(t,r,n){if(t.customInspect&&r&&k(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,t);return y(i)||(i=u(t,i,n)),i}var a=function(e,t){if(v(t))return e.stylize("undefined","undefined");if(y(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}return g(t)?e.stylize(""+t,"number"):p(t)?e.stylize(""+t,"boolean"):m(t)?e.stylize("null","null"):void 0}(t,r);if(a)return a;var o=Object.keys(r),s=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),w(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return h(r);if(0===o.length){if(k(r)){var l=r.name?": "+r.name:"";return t.stylize("[Function"+l+"]","special")}if(x(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(_(r))return t.stylize(Date.prototype.toString.call(r),"date");if(w(r))return h(r)}var c,b="",T=!1,A=["{","}"];return f(r)&&(T=!0,A=["[","]"]),k(r)&&(b=" [Function"+(r.name?": "+r.name:"")+"]"),x(r)&&(b=" "+RegExp.prototype.toString.call(r)),_(r)&&(b=" "+Date.prototype.toUTCString.call(r)),w(r)&&(b=" "+h(r)),0!==o.length||T&&0!=r.length?n<0?x(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),c=T?function(e,t,r,n,i){for(var a=[],o=0,s=t.length;o60?r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}(c,b,A)):A[0]+b+A[1]}function h(e){return"["+Error.prototype.toString.call(e)+"]"}function d(e,t,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(s=e.stylize("[Setter]","special")),S(n,i)||(o="["+i+"]"),s||(e.seen.indexOf(l.value)<0?(s=m(r)?u(e,l.value,null):u(e,l.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map((function(e){return" "+e})).join("\n").slice(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),v(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+s}function f(e){return Array.isArray(e)}function p(e){return"boolean"==typeof e}function m(e){return null===e}function g(e){return"number"==typeof e}function y(e){return"string"==typeof e}function v(e){return void 0===e}function x(e){return b(e)&&"[object RegExp]"===T(e)}function b(e){return"object"==typeof e&&null!==e}function _(e){return b(e)&&"[object Date]"===T(e)}function w(e){return b(e)&&("[object Error]"===T(e)||e instanceof Error)}function k(e){return"function"==typeof e}function T(e){return Object.prototype.toString.call(e)}function A(e){return e<10?"0"+e.toString(10):e.toString(10)}n=(n="false").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),a=new RegExp("^"+n+"$","i"),e.debuglog=function(t){if(t=t.toUpperCase(),!i[t])if(a.test(t)){var r=c.pid;i[t]=function(){var n=e.format.apply(e,arguments);console.error("%s %d: %s",t,r,n)}}else i[t]=function(){};return i[t]},e.inspect=o,o.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]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.types=nh(),e.isArray=f,e.isBoolean=p,e.isNull=m,e.isNullOrUndefined=function(e){return null==e},e.isNumber=g,e.isString=y,e.isSymbol=function(e){return"symbol"==typeof e},e.isUndefined=v,e.isRegExp=x,e.types.isRegExp=x,e.isObject=b,e.isDate=_,e.types.isDate=_,e.isError=w,e.types.isNativeError=w,e.isFunction=k,e.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||typeof e>"u"},e.isBuffer=ih();var M=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.log=function(){var t,r;console.log("%s - %s",(r=[A((t=new Date).getHours()),A(t.getMinutes()),A(t.getSeconds())].join(":"),[t.getDate(),M[t.getMonth()],r].join(" ")),e.format.apply(e,arguments))},e.inherits=au(),e._extend=function(e,t){if(!t||!b(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var E=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;function C(e,t){if(!e){var r=new Error("Promise was rejected with a falsy value");r.reason=e,e=r}return t(e)}e.promisify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(E&&e[E]){var r;if("function"!=typeof(r=e[E]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(r,E,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var t,r,n=new Promise((function(e,n){t=e,r=n})),i=[],a=0;a"u"||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch{return!1}}();return function(){var n,a=i(e);if(t){var o=i(this).constructor;n=Reflect.construct(a,arguments,o)}else n=a.apply(this,arguments);return function(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,n)}}(s);function s(r,n,i){var a;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s),a=o.call(this,function(e,r,n){return"string"==typeof t?t:t(e,r,n)}(r,n,i)),a.code=e,a}return function(e){return Object.defineProperty(e,"prototype",{writable:!1}),e}(s)}(a);s[e]=o}function c(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map((function(e){return String(e)})),r>2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:2===r?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}l("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),l("ERR_INVALID_ARG_TYPE",(function(e,t,n){var i,o;if(void 0===a&&(a=Uh()),a("string"==typeof e,"'name' must be a string"),"string"==typeof t&&function(e,t){return e.substr(0,4)===t}(t,"not ")?(i="must not be",t=t.replace(/^not /,"")):i="must be",function(e,t,r){return(void 0===r||r>e.length)&&(r=e.length),e.substring(r-9,r)===t}(e," argument"))o="The ".concat(e," ").concat(i," ").concat(c(t,"type"));else{var s=function(e,t,r){return"number"!=typeof r&&(r=0),!(r+1>e.length)&&-1!==e.indexOf(".",r)}(e)?"property":"argument";o='The "'.concat(e,'" ').concat(s," ").concat(i," ").concat(c(t,"type"))}return o+". Received type ".concat(r(n))}),TypeError),l("ERR_INVALID_ARG_VALUE",(function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===o&&(o=kh());var n=o.inspect(t);return n.length>128&&(n="".concat(n.slice(0,128),"...")),"The argument '".concat(e,"' ").concat(r,". Received ").concat(n)}),TypeError,RangeError),l("ERR_INVALID_RETURN_VALUE",(function(e,t,n){var i;return i=n&&n.constructor&&n.constructor.name?"instance of ".concat(n.constructor.name):"type ".concat(r(n)),"Expected ".concat(e,' to be returned from the "').concat(t,'"')+" function but got ".concat(i,".")}),TypeError),l("ERR_MISSING_ARGS",(function(){for(var e=arguments.length,t=new Array(e),r=0;r0,"At least one arg needs to be specified");var n="The ",i=t.length;switch(t=t.map((function(e){return'"'.concat(e,'"')})),i){case 1:n+="".concat(t[0]," argument");break;case 2:n+="".concat(t[0]," and ").concat(t[1]," arguments");break;default:n+=t.slice(0,i-1).join(", "),n+=", and ".concat(t[i-1]," arguments")}return"".concat(n," must be specified")}),TypeError),t.exports.codes=s}}),Ah=m({"node_modules/assert/build/internal/assert/assertion_error.js"(e,t){function r(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function n(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch{return!1}}function f(e,t){return(f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function m(e){return(m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var g=kh().inspect,y=Th().codes.ERR_INVALID_ARG_TYPE;function v(e,t,r){return(void 0===r||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}var x="",b="",_="",w="",k={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:"};function T(e){var t=Object.keys(e),r=Object.create(Object.getPrototypeOf(e));return t.forEach((function(t){r[t]=e[t]})),Object.defineProperty(r,"message",{value:e.message}),r}function A(e){return g(e,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}var M=function(e,t){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&f(e,t)}(i,e);var r=function(e){var t=d();return function(){var r,n=p(e);if(t){var i=p(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return s(this,r)}}(i);function i(e){var t;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),"object"!==m(e)||null===e)throw new y("options","Object",e);var n=e.message,a=e.operator,o=e.stackStartFn,u=e.actual,h=e.expected,d=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=n)t=r.call(this,String(n));else if(c.stderr&&c.stderr.isTTY&&(c.stderr&&c.stderr.getColorDepth&&1!==c.stderr.getColorDepth()?(x="",b="",w="",_=""):(x="",b="",w="",_="")),"object"===m(u)&&null!==u&&"object"===m(h)&&null!==h&&"stack"in u&&u instanceof Error&&"stack"in h&&h instanceof Error&&(u=T(u),h=T(h)),"deepStrictEqual"===a||"strictEqual"===a)t=r.call(this,function(e,t,r){var n="",i="",a=0,o="",s=!1,l=A(e),u=l.split("\n"),h=A(t).split("\n"),d=0,f="";if("strictEqual"===r&&"object"===m(e)&&"object"===m(t)&&null!==e&&null!==t&&(r="strictEqualObject"),1===u.length&&1===h.length&&u[0]!==h[0]){var p=u[0].length+h[0].length;if(p<=10){if(!("object"===m(e)&&null!==e||"object"===m(t)&&null!==t||0===e&&0===t))return"".concat(k[r],"\n\n")+"".concat(u[0]," !== ").concat(h[0],"\n")}else if("strictEqualObject"!==r&&p<(c.stderr&&c.stderr.isTTY?c.stderr.columns:80)){for(;u[0][d]===h[0][d];)d++;d>2&&(f="\n ".concat(function(e,t){if(t=Math.floor(t),0==e.length||0==t)return"";var r=e.length*t;for(t=Math.floor(Math.log(t)/Math.log(2));t;)e+=e,t--;return e+e.substring(0,r-e.length)}(" ",d),"^"),d=0)}}for(var g=u[u.length-1],y=h[h.length-1];g===y&&(d++<2?o="\n ".concat(g).concat(o):n=g,u.pop(),h.pop(),0!==u.length&&0!==h.length);)g=u[u.length-1],y=h[h.length-1];var T=Math.max(u.length,h.length);if(0===T){var M=l.split("\n");if(M.length>30)for(M[26]="".concat(x,"...").concat(w);M.length>27;)M.pop();return"".concat(k.notIdentical,"\n\n").concat(M.join("\n"),"\n")}d>3&&(o="\n".concat(x,"...").concat(w).concat(o),s=!0),""!==n&&(o="\n ".concat(n).concat(o),n="");var S=0,E=k[r]+"\n".concat(b,"+ actual").concat(w," ").concat(_,"- expected").concat(w),C=" ".concat(x,"...").concat(w," Lines skipped");for(d=0;d1&&d>2&&(L>4?(i+="\n".concat(x,"...").concat(w),s=!0):L>3&&(i+="\n ".concat(h[d-2]),S++),i+="\n ".concat(h[d-1]),S++),a=d,n+="\n".concat(_,"-").concat(w," ").concat(h[d]),S++;else if(h.length1&&d>2&&(L>4?(i+="\n".concat(x,"...").concat(w),s=!0):L>3&&(i+="\n ".concat(u[d-2]),S++),i+="\n ".concat(u[d-1]),S++),a=d,i+="\n".concat(b,"+").concat(w," ").concat(u[d]),S++;else{var I=h[d],P=u[d],z=P!==I&&(!v(P,",")||P.slice(0,-1)!==I);z&&v(I,",")&&I.slice(0,-1)===P&&(z=!1,P+=","),z?(L>1&&d>2&&(L>4?(i+="\n".concat(x,"...").concat(w),s=!0):L>3&&(i+="\n ".concat(u[d-2]),S++),i+="\n ".concat(u[d-1]),S++),a=d,i+="\n".concat(b,"+").concat(w," ").concat(P),n+="\n".concat(_,"-").concat(w," ").concat(I),S+=2):(i+=n,n="",(1===L||0===d)&&(i+="\n ".concat(P),S++))}if(S>20&&d30)for(p[26]="".concat(x,"...").concat(w);p.length>27;)p.pop();t=1===p.length?r.call(this,"".concat(f," ").concat(p[0])):r.call(this,"".concat(f,"\n\n").concat(p.join("\n"),"\n"))}else{var g=A(u),M="",S=k[a];"notDeepEqual"===a||"notEqual"===a?(g="".concat(k[a],"\n\n").concat(g)).length>1024&&(g="".concat(g.slice(0,1021),"...")):(M="".concat(A(h)),g.length>512&&(g="".concat(g.slice(0,509),"...")),M.length>512&&(M="".concat(M.slice(0,509),"...")),"deepEqual"===a||"equal"===a?g="".concat(S,"\n\n").concat(g,"\n\nshould equal\n\n"):M=" ".concat(a," ").concat(M)),t=r.call(this,"".concat(g).concat(M))}return Error.stackTraceLimit=d,t.generatedMessage=!n,Object.defineProperty(l(t),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),t.code="ERR_ASSERTION",t.actual=u,t.expected=h,t.operator=a,Error.captureStackTrace&&Error.captureStackTrace(l(t),o),t.stack,t.name="AssertionError",s(t)}return function(e,t){t&&a(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1})}(i,[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:t,value:function(e,t){return g(this,n(n({},t),{},{customInspect:!1,depth:0}))}}]),i}(u(Error),g.custom);t.exports=M}}),Mh=m({"node_modules/object-keys/isArguments.js"(e,t){var r=Object.prototype.toString;t.exports=function(e){var t=r.call(e),n="[object Arguments]"===t;return n||(n="[object Array]"!==t&&null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Function]"===r.call(e.callee)),n}}}),Sh=m({"node_modules/object-keys/implementation.js"(e,t){var r,n,i,a,o,s,l,c,u,h,d,f;Object.keys||(n=Object.prototype.hasOwnProperty,i=Object.prototype.toString,a=Mh(),o=Object.prototype.propertyIsEnumerable,s=!o.call({toString:null},"toString"),l=o.call((function(){}),"prototype"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],u=function(e){var t=e.constructor;return t&&t.prototype===e},h={$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},d=function(){if(typeof window>"u")return!1;for(var e in window)try{if(!h["$"+e]&&n.call(window,e)&&null!==window[e]&&"object"==typeof window[e])try{u(window[e])}catch{return!0}}catch{return!0}return!1}(),f=function(e){if(typeof window>"u"||!d)return u(e);try{return u(e)}catch{return!1}},r=function(e){var t=null!==e&&"object"==typeof e,r="[object Function]"===i.call(e),o=a(e),u=t&&"[object String]"===i.call(e),h=[];if(!t&&!r&&!o)throw new TypeError("Object.keys called on a non-object");var d=l&&r;if(u&&e.length>0&&!n.call(e,0))for(var p=0;p0)for(var m=0;m2?arguments[2]:{},o=r(t);n&&(o=a.call(o,Object.getOwnPropertySymbols(t)));for(var s=0;se.length)&&(t=e.length);for(var r=0,n=new Array(t);r10)return!0;for(var t=0;t57)return!0}return 10===e.length&&e>=Math.pow(2,32)}function P(e){return Object.keys(e).filter(I).concat(c(e).filter(Object.prototype.propertyIsEnumerable.bind(e)))}function z(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i0)return function(e){if(!((e=String(e)).length>100)){var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(t){var o=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*o;case"days":case"day":case"d":return o*a;case"hours":case"hour":case"hrs":case"hr":case"h":return o*i;case"minutes":case"minute":case"mins":case"min":case"m":return o*n;case"seconds":case"second":case"secs":case"sec":case"s":return o*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}}}(e);if("number"===s&&!1===isNaN(e))return t.long?function(e){return o(e,a,"day")||o(e,i,"hour")||o(e,n,"minute")||o(e,r,"second")||e+" ms"}(e):function(e){return e>=a?Math.round(e/a)+"d":e>=i?Math.round(e/i)+"h":e>=n?Math.round(e/n)+"m":e>=r?Math.round(e/r)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}}}),qh=m({"node_modules/stream-parser/node_modules/debug/src/debug.js"(e,t){var r;function n(t){function n(){if(n.enabled){var t=n,i=+new Date,a=i-(r||i);t.diff=a,t.prev=r,t.curr=i,r=i;for(var o=new Array(arguments.length),s=0;s=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},e.storage=typeof chrome<"u"&&typeof chrome.storage<"u"?chrome.storage.local:function(){try{return window.localStorage}catch{}}(),e.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],e.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},e.enable(r())}}),Gh=m({"node_modules/stream-parser/index.js"(e,t){var r=Uh(),n=Hh()("stream-parser");function i(e){n("initializing parser stream"),e._parserBytesLeft=0,e._parserBuffers=[],e._parserBuffered=0,e._parserState=-1,e._parserCallback=null,"function"==typeof e.push&&(e._parserOutput=e.push.bind(e)),e._parserInit=!0}function a(e,t){r(!this._parserCallback,'there is already a "callback" set!'),r(isFinite(e)&&e>0,'can only buffer a finite number of bytes > 0, got "'+e+'"'),this._parserInit||i(this),n("buffering %o bytes",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=0}function o(e,t){r(!this._parserCallback,'there is already a "callback" set!'),r(e>0,'can only skip > 0 bytes, got "'+e+'"'),this._parserInit||i(this),n("skipping %o bytes",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=1}function s(e,t){r(!this._parserCallback,'There is already a "callback" set!'),r(e>0,'can only pass through > 0 bytes, got "'+e+'"'),this._parserInit||i(this),n("passing through %o bytes",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=2}function l(e,t,r){this._parserInit||i(this),n("write(%o bytes)",e.length),"function"==typeof t&&(r=t),h(this,e,null,r)}function c(e,t,r){this._parserInit||i(this),n("transform(%o bytes)",e.length),"function"!=typeof t&&(t=this._parserOutput),h(this,e,t,r)}function u(e,t,r,i){if(e._parserBytesLeft-=t.length,n("%o bytes left for stream piece",e._parserBytesLeft),0===e._parserState?(e._parserBuffers.push(t),e._parserBuffered+=t.length):2===e._parserState&&r(t),0!==e._parserBytesLeft)return i;var a=e._parserCallback;if(a&&0===e._parserState&&e._parserBuffers.length>1&&(t=Buffer.concat(e._parserBuffers,e._parserBuffered)),0!==e._parserState&&(t=null),e._parserCallback=null,e._parserBuffered=0,e._parserState=-1,e._parserBuffers.splice(0),a){var o=[];t&&o.push(t),r&&o.push(r);var s=a.length>o.length;s&&o.push(d(i));var l=a.apply(e,o);if(!s||i===l)return i}}t.exports=function(e){var t=e&&"function"==typeof e._transform,r=e&&"function"==typeof e._write;if(!t&&!r)throw new Error("must pass a Writable or Transform stream in");n("extending Parser into stream"),e._bytes=a,e._skipBytes=o,t&&(e._passthrough=s),t?e._transform=c:e._write=l};var h=d((function e(t,r,n,i){return t._parserBytesLeft<=0?i(new Error("got data but not currently parsing anything")):r.length<=t._parserBytesLeft?function(){return u(t,r,n,i)}:function(){var a=r.slice(0,t._parserBytesLeft);return u(t,a,n,(function(o){return o?i(o):r.length>a.length?function(){return e(t,r.slice(a.length),n,i)}:void 0}))}}));function d(e){return function(){for(var t=e.apply(this,arguments);"function"==typeof t;)t=t();return t}}}}),Wh=m({"node_modules/probe-image-size/lib/common.js"(e){var t=wh().Transform,r=Gh();function n(){t.call(this,{readableObjectMode:!0})}function i(e,t,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||"",this.name=this.constructor.name,this.message=e,t&&(this.code=t),r&&(this.statusCode=r)}n.prototype=Object.create(t.prototype),n.prototype.constructor=n,r(n.prototype),e.ParserStream=n,e.sliceEq=function(e,t,r){for(var n=t,i=0;i>4&15,i=15&e[4],a=e[5]>>4&15,s=r(e,6),l=8,c=0;ct.width||e.width===t.width&&e.height>t.height?e:t})),r=e.reduce((function(e,t){return e.height>t.height||e.height===t.height&&e.width>t.width?e:t}));return t.width>r.height||t.width===r.height&&t.height>r.width?t:r}(t.sizes),n=1;t.transforms.forEach((function(e){var t={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},r={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if("imir"===e.type&&(n=0===e.value?r[n]:t[n=t[n=r[n]]]),"irot"===e.type)for(var i=0;i0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,e)}},i.prototype.read_uint16=function(e){var t=this.input;if(e+2>t.length)throw r("unexpected EOF","EBADDATA");return this.big_endian?256*t[e]+t[e+1]:t[e]+256*t[e+1]},i.prototype.read_uint32=function(e){var t=this.input;if(e+4>t.length)throw r("unexpected EOF","EBADDATA");return this.big_endian?16777216*t[e]+65536*t[e+1]+256*t[e+2]+t[e+3]:t[e]+256*t[e+1]+65536*t[e+2]+16777216*t[e+3]},i.prototype.is_subifd_link=function(e,t){return 0===e&&34665===t||0===e&&34853===t||34665===e&&40965===t},i.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}},i.prototype.exif_format_read=function(e,t){var r;switch(e){case 1:case 2:return this.input[t];case 6:return(r=this.input[t])|33554430*(128&r);case 3:return this.read_uint16(t);case 8:return(r=this.read_uint16(t))|131070*(32768&r);case 4:return this.read_uint32(t);case 9:return 0|this.read_uint32(t);default:return null}},i.prototype.scan_ifd=function(e,t,i){var a=this.read_uint16(t);t+=2;for(var o=0;othis.input.length)throw r("unexpected EOF","EBADDATA");for(var p=[],m=d,g=0;g0&&(this.ifds_to_read.push({id:s,offset:p[0]}),f=!0),!1===i({is_big_endian:this.big_endian,ifd:e,tag:s,format:l,count:c,entry_offset:t+this.start,data_length:h,data_offset:d+this.start,value:p,is_subifd_link:f}))return void(this.aborted=!0);t+=12}0===e&&this.ifds_to_read.push({id:1,offset:this.read_uint32(t)})},t.exports.ExifParser=i,t.exports.get_orientation=function(e){var t=0;try{return new i(e,0,e.length).each((function(e){if(0===e.ifd&&274===e.tag&&Array.isArray(e.value))return t=e.value[0],!1})),t}catch{return-1}}}}),Zh=m({"node_modules/probe-image-size/lib/parse_sync/avif.js"(e,t){var r=Wh().str2arr,n=Wh().sliceEq,i=Wh().readUInt32BE,a=Yh(),o=Xh(),s=r("ftyp");t.exports=function(e){if(n(e,4,s)){var t=a.unbox(e,0);if(t){var r=a.getMimeType(t.data);if(r){for(var l,c=t.end;;){var u=a.unbox(e,c);if(!u)break;if(c=u.end,"mdat"===u.boxtype)return;if("meta"===u.boxtype){l=u.data;break}}if(l){var h=a.readSizeFromMeta(l);if(h){var d={width:h.width,height:h.height,type:r.type,mime:r.mime,wUnits:"px",hUnits:"px"};if(h.variants.length>1&&(d.variants=h.variants),h.orientation&&(d.orientation=h.orientation),h.exif_location&&h.exif_location.offset+h.exif_location.length<=e.length){var f=i(e,h.exif_location.offset),p=e.slice(h.exif_location.offset+f+4,h.exif_location.offset+h.exif_location.length),m=o.get_orientation(p);m>0&&(d.orientation=m)}return d}}}}}}}}),$h=m({"node_modules/probe-image-size/lib/parse_sync/bmp.js"(e,t){var r=Wh().str2arr,n=Wh().sliceEq,i=Wh().readUInt16LE,a=r("BM");t.exports=function(e){if(!(e.length<26)&&n(e,0,a))return{width:i(e,18),height:i(e,22),type:"bmp",mime:"image/bmp",wUnits:"px",hUnits:"px"}}}}),Kh=m({"node_modules/probe-image-size/lib/parse_sync/gif.js"(e,t){var r=Wh().str2arr,n=Wh().sliceEq,i=Wh().readUInt16LE,a=r("GIF87a"),o=r("GIF89a");t.exports=function(e){if(!(e.length<10)&&(n(e,0,a)||n(e,0,o)))return{width:i(e,6),height:i(e,8),type:"gif",mime:"image/gif",wUnits:"px",hUnits:"px"}}}}),Jh=m({"node_modules/probe-image-size/lib/parse_sync/ico.js"(e,t){var r=Wh().readUInt16LE;t.exports=function(e){var t=r(e,0),n=r(e,2),i=r(e,4);if(0===t&&1===n&&i){for(var a=[],o={width:0,height:0},s=0;so.width||c>o.height)&&(o=u)}return{width:o.width,height:o.height,variants:a,type:"ico",mime:"image/x-icon",wUnits:"px",hUnits:"px"}}}}}),Qh=m({"node_modules/probe-image-size/lib/parse_sync/jpeg.js"(e,t){var r=Wh().readUInt16BE,n=Wh().str2arr,i=Wh().sliceEq,a=Xh(),o=n("Exif\0\0");t.exports=function(e){if(!(e.length<2)&&255===e[0]&&216===e[1]&&255===e[2])for(var t=2;;){for(;;){if(e.length-t<2)return;if(255===e[t++])break}for(var n,s=e[t++];255===s;)s=e[t++];if(208<=s&&s<=217||1===s)n=0;else{if(!(192<=s&&s<=254))return;if(e.length-t<2)return;n=r(e,t)-2,t+=2}if(217===s||218===s)return;var l;if(225===s&&n>=10&&i(e,t,o)&&(l=a.get_orientation(e.slice(t+6,t+n))),n>=5&&192<=s&&s<=207&&196!==s&&200!==s&&204!==s){if(e.length-t0&&(c.orientation=l),c}t+=n}}}}),ed=m({"node_modules/probe-image-size/lib/parse_sync/png.js"(e,t){var r=Wh().str2arr,n=Wh().sliceEq,i=Wh().readUInt32BE,a=r("‰PNG\r\n\n"),o=r("IHDR");t.exports=function(e){if(!(e.length<24)&&n(e,0,a)&&n(e,12,o))return{width:i(e,16),height:i(e,20),type:"png",mime:"image/png",wUnits:"px",hUnits:"px"}}}}),td=m({"node_modules/probe-image-size/lib/parse_sync/psd.js"(e,t){var r=Wh().str2arr,n=Wh().sliceEq,i=Wh().readUInt32BE,a=r("8BPS\0");t.exports=function(e){if(!(e.length<22)&&n(e,0,a))return{width:i(e,18),height:i(e,14),type:"psd",mime:"image/vnd.adobe.photoshop",wUnits:"px",hUnits:"px"}}}}),rd=m({"node_modules/probe-image-size/lib/parse_sync/svg.js"(e,t){function r(e){return 32===e||9===e||13===e||10===e}function n(e){return"number"==typeof e&&isFinite(e)&&e>0}var i=/<[-_.:a-zA-Z0-9][^>]*>/,a=/^<([-_.:a-zA-Z0-9]+:)?svg\s/,o=/[^-]\bwidth="([^%]+?)"|[^-]\bwidth='([^%]+?)'/,s=/\bheight="([^%]+?)"|\bheight='([^%]+?)'/,l=/\bview[bB]ox="(.+?)"|\bview[bB]ox='(.+?)'/,c=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function u(e){return c.test(e)?e.match(c)[0]:"px"}t.exports=function(e){if(function(e){var t=0,n=e.length;for(239===e[0]&&187===e[1]&&191===e[2]&&(t=3);t>14&16383),type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}}function h(e,t){return{width:1+(e[t+6]<<16|e[t+5]<<8|e[t+4]),height:1+(e[t+9]<e.length)){for(;t+8=10?r=r||c(e,t+8):"VP8L"===f&&p>=9?r=r||u(e,t+8):"VP8X"===f&&p>=10?r=r||h(e,t+8):"EXIF"===f&&(i=o.get_orientation(e.slice(t+8,t+8+p)),t=1/0),t+=8+p}else t++;if(r)return i>0&&(r.orientation=i),r}}}}}),ad=m({"node_modules/probe-image-size/lib/parsers_sync.js"(e,t){t.exports={avif:Zh(),bmp:$h(),gif:Kh(),ico:Jh(),jpeg:Qh(),png:ed(),psd:td(),svg:rd(),tiff:nd(),webp:id()}}}),od=m({"node_modules/probe-image-size/sync.js"(e,t){var r=ad();t.exports=function(e){return function(e){for(var t=Object.keys(r),n=0;n0;)g=h.c2p(w+b*M),b--;for(b=0;void 0===v&&b0;)x=d.c2p(k+b*S),b--;if(gz[0];if(O||D){var R=m+E/2,j=v+C/2;I+="transform:"+i(R+"px",j+"px")+"scale("+(O?-1:1)+","+(D?-1:1)+")"+i(-R+"px",-j+"px")+";"}}L.attr("style",I);var F=new Promise((function(e){if(u._hasZ)e();else if(u._hasSource)if(u._canvas&&u._canvas.el.width===T&&u._canvas.el.height===A&&u._canvas.source===u.source)e();else{var t=document.createElement("canvas");t.width=T,t.height=A;var r=t.getContext("2d",{willReadFrequently:!0});u._image=u._image||new Image;var n=u._image;n.onload=function(){r.drawImage(n,0,0),u._canvas={el:t,source:u.source},e()},n.setAttribute("src",u.source)}})).then((function(){var e;if(u._hasZ)e=B((function(e,t){var r=_[t][e];return n.isTypedArray(r)&&(r=Array.from(r)),r})).toDataURL("image/png");else if(u._hasSource)if(p)e=u.source;else{var t=u._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(0,0,T,A).data;e=B((function(e,r){var n=4*(r*T+e);return[t[n],t[n+1],t[n+2],t[n+3]]})).toDataURL("image/png")}L.attr({"xlink:href":e,height:C,width:E,x:m,y:v})}));e._promises.push(F)}function B(e){var t=document.createElement("canvas");t.width=E,t.height=C;var r,i=t.getContext("2d",{willReadFrequently:!0}),a=function(e){return n.constrain(Math.round(h.c2p(w+e*M)-m),0,E)},s=function(e){return n.constrain(Math.round(d.c2p(k+e*S)-v),0,C)},l=o.colormodel[u.colormodel],f=l.colormodel||u.colormodel,p=l.fmt;for(b=0;b0||r.inbox(o-s.y0,o-(s.y0+s.h*l.dy),0)>0)){var h,d=Math.floor((t-s.x0)/l.dx),f=Math.floor(Math.abs(o-s.y0)/l.dy);if(l._hasZ?h=s.z[f][d]:l._hasSource&&(h=l._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(d,f,1,1).data),h){var p,m=s.hi||l.hoverinfo;if(m){var g=m.split("+");-1!==g.indexOf("all")&&(g=["color"]),-1!==g.indexOf("color")&&(p=!0)}var y,v=a.colormodel[l.colormodel],x=v.colormodel||l.colormodel,b=x.length,_=l._scaler(h),w=v.suffix,k=[];(l.hovertemplate||p)&&(k.push("["+[_[0]+w[0],_[1]+w[1],_[2]+w[2]].join(", ")),4===b&&k.push(", "+_[3]+w[3]),k.push("]"),k=k.join(""),e.extraText=x.toUpperCase()+": "+k),i(l.hovertext)&&i(l.hovertext[f])?y=l.hovertext[f][d]:i(l.text)&&i(l.text[f])&&(y=l.text[f][d]);var T=u.c2p(s.y0+(f+.5)*l.dy),A=s.x0+(d+.5)*l.dx,M=s.y0+(f+.5)*l.dy,S="["+h.slice(0,l.colormodel.length).join(", ")+"]";return[n.extendFlat(e,{index:[f,d],x0:c.c2p(s.x0+d*l.dx),x1:c.c2p(s.x0+(d+1)*l.dx),y0:T,y1:T,color:_,xVal:A,xLabelVal:A,yVal:M,yLabelVal:M,zLabelVal:S,text:y,hovertemplateLabels:{zLabel:S,colorLabel:k,"color[0]Label":_[0]+w[0],"color[1]Label":_[1]+w[1],"color[2]Label":_[2]+w[2],"color[3]Label":_[3]+w[3]}})]}}}}}),dd=m({"src/traces/image/event_data.js"(e,t){t.exports=function(e,t){return"xVal"in t&&(e.x=t.xVal),"yVal"in t&&(e.y=t.yVal),t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),e.color=t.color,e.colormodel=t.trace.colormodel,e.z||(e.z=t.color),e}}}),fd=m({"src/traces/image/index.js"(e,t){t.exports={attributes:(nu(),x(Wc)).default,supplyDefaults:iu(),calc:ld(),plot:cd(),style:ud(),hoverPoints:hd(),eventData:dd(),moduleType:"trace",name:"image",basePlotModule:ja(),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}}}),pd=m({"lib/image.js"(e,t){t.exports=fd()}}),md=m({"src/traces/pie/attributes.js"(e,t){var r=Y(),n=Do().attributes,i=q(),a=je(),{hovertemplateAttrs:o,texttemplateAttrs:s,templatefallbackAttrs:l}=Lt(),c=V().extendFlat,u=Et().pattern,h=i({editType:"plot",arrayOk:!0,colorEditType:"plot"});t.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:a.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},pattern:u,editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},scalegroup:{valType:"string",dflt:"",editType:"calc"},textinfo:{valType:"flaglist",flags:["label","text","value","percent"],extras:["none"],editType:"calc"},hoverinfo:c({},r.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:o({},{keys:["label","color","value","percent","text"]}),hovertemplatefallback:l(),texttemplate:s({editType:"plot"},{keys:["label","color","value","percent","text"]}),texttemplatefallback:l({editType:"plot"}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:c({},h,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:c({},h,{}),outsidetextfont:c({},h,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},showlegend:c({},r.showlegend,{arrayOk:!0}),legend:c({},r.legend,{arrayOk:!0}),legendrank:c({},r.legendrank,{arrayOk:!0}),title:{text:{valType:"string",dflt:"",editType:"plot"},font:c({},h,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:n({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"}}}}),gd=m({"src/traces/pie/defaults.js"(e,t){var r=S(),n=dr(),i=md(),a=Do().defaults,o=is().handleText,s=dr().coercePattern;function l(e,t){var i=n.isArrayOrTypedArray(e),a=n.isArrayOrTypedArray(t),o=Math.min(i?e.length:1/0,a?t.length:1/0);if(isFinite(o)||(o=0),o&&a){for(var s,l=0;l0){s=!0;break}}s||(o=0)}return{hasLabels:i,hasValues:a,len:o}}function c(e,t,r,n,i){n("marker.line.width")&&n("marker.line.color",i?void 0:r.paper_bgcolor);var a=n("marker.colors");s(n,"marker.pattern",a),e.marker&&!t.marker.pattern.fgcolor&&(t.marker.pattern.fgcolor=e.marker.colors),t.marker.pattern.bgcolor||(t.marker.pattern.bgcolor=r.paper_bgcolor)}t.exports={handleLabelsAndValues:l,handleMarkerDefaults:c,supplyDefaults:function(e,t,r,s){function u(r,a){return n.coerce(e,t,i,r,a)}var h=l(u("labels"),u("values")),d=h.len;if(t._hasLabels=h.hasLabels,t._hasValues=h.hasValues,!t._hasLabels&&t._hasValues&&(u("label0"),u("dlabel")),d){t._length=d,c(e,t,s,u,!0),u("scalegroup");var f,p=u("text"),m=u("texttemplate");if(u("texttemplatefallback"),m||(f=u("textinfo",n.isArrayOrTypedArray(p)?"text+percent":"percent")),u("hovertext"),u("hovertemplate"),u("hovertemplatefallback"),m||f&&"none"!==f){var g=u("textposition");o(e,t,s,u,g,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(g)||"auto"===g||"outside"===g)&&u("automargin"),("inside"===g||"auto"===g||Array.isArray(g))&&u("insidetextorientation")}else"none"===f&&u("textposition","none");a(t,s,u);var y=u("hole");if(u("title.text")){var v=u("title.position",y?"middle center":"top center");!y&&"middle center"===v&&(t.title.position="top center"),n.coerceFont(u,"title.font",s.font)}u("sort"),u("direction"),u("rotation"),u("pull")}else t.visible=!1}}}}),yd=m({"src/traces/pie/layout_attributes.js"(e,t){t.exports={hiddenlabels:{valType:"data_array",editType:"calc"},piecolorway:{valType:"colorlist",editType:"calc"},extendpiecolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),vd=m({"src/traces/pie/layout_defaults.js"(e,t){var r=dr(),n=yd();t.exports=function(e,t){function i(i,a){return r.coerce(e,t,n,i,a)}i("hiddenlabels"),i("piecolorway",t.colorway),i("extendpiecolors")}}}),xd=m({"src/traces/pie/calc.js"(e,t){var r=S(),n=Fe(),i={};function a(e){return function(t,r){if(!t||!n.isValid(t))return!1;let i=n.color(t).rgb().string();return e[r]||(e[r]=i),i}}function o(e,t){var r,i=JSON.stringify(e),a=t[i];if(!a){for(a=e.slice(),r=0;r=0})),("funnelarea"===t.type?y:t.sort)&&o.sort((function(e,t){return t.v-e.v})),o[0]&&(o[0].vTotal=g),o},crossTraceCalc:function(e,t){var r=(t||{}).type;r||(r="pie");var n=e._fullLayout,a=e.calcdata,s=n[r+"colorway"],l=n["_"+r+"colormap"];n["extend"+r+"colors"]&&(s=o(s,i));for(var c=0,u=0;u"),name:h.hovertemplate||-1!==d.indexOf("name")?h.name:void 0,idealAlign:e.pxmid[0]<0?"left":"right",color:m.castOption(_.bgcolor,e.pts)||e.color,borderColor:m.castOption(_.bordercolor,e.pts),fontFamily:m.castOption(w.family,e.pts),fontSize:m.castOption(w.size,e.pts),fontColor:m.castOption(w.color,e.pts),nameLength:m.castOption(_.namelength,e.pts),textAlign:m.castOption(_.align,e.pts),hovertemplate:m.castOption(h.hovertemplate,e.pts),hovertemplateLabels:e,eventData:[g(e,h)]},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t,inOut_bbox:k}),e.bbox=k[0],c._hasHoverLabel=!0}c._hasHoverEvent=!0,t.emit("plotly_hover",{points:[g(e,h)],event:r.event})}})),e.on("mouseout",(function(e){var n=t._fullLayout,a=t._fullData[c.index],o=r.select(this).datum();c._hasHoverEvent&&(e.originalEvent=r.event,t.emit("plotly_unhover",{points:[g(o,a)],event:r.event}),c._hasHoverEvent=!1),c._hasHoverLabel&&(i.loneUnhover(n._hoverlayer.node()),c._hasHoverLabel=!1)})),e.on("click",(function(e){var n=t._fullLayout,a=t._fullData[c.index];t._dragging||!1===n.hovermode||(t._hoverdata=[g(e,a)],i.click(t,r.event))}))}function x(e,t,r){var n=m.castOption(e.insidetextfont.color,t.pts);!n&&e._input.textfont&&(n=m.castOption(e._input.textfont.color,t.pts));var i=m.castOption(e.insidetextfont.family,t.pts)||m.castOption(e.textfont.family,t.pts)||r.family,o=m.castOption(e.insidetextfont.size,t.pts)||m.castOption(e.textfont.size,t.pts)||r.size,s=m.castOption(e.insidetextfont.weight,t.pts)||m.castOption(e.textfont.weight,t.pts)||r.weight,l=m.castOption(e.insidetextfont.style,t.pts)||m.castOption(e.textfont.style,t.pts)||r.style,c=m.castOption(e.insidetextfont.variant,t.pts)||m.castOption(e.textfont.variant,t.pts)||r.variant,u=m.castOption(e.insidetextfont.textcase,t.pts)||m.castOption(e.textfont.textcase,t.pts)||r.textcase,h=m.castOption(e.insidetextfont.lineposition,t.pts)||m.castOption(e.textfont.lineposition,t.pts)||r.lineposition,d=m.castOption(e.insidetextfont.shadow,t.pts)||m.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n||a.contrast(t.color),family:i,size:o,weight:s,style:l,variant:c,textcase:u,lineposition:h,shadow:d}}function b(e,t){for(var r,n,i=0;it&&t>n||r=-4;g-=2)y(Math.PI*g,"tan");for(g=4;g>=-4;g-=2)y(Math.PI*(g+1),"tan")}if(h||f){for(g=4;g>=-4;g-=2)y(Math.PI*(g+1.5),"rad");for(g=4;g>=-4;g-=2)y(Math.PI*(g+.5),"rad")}}if(s||p||h){var v=Math.sqrt(e.width*e.width+e.height*e.height);if((a={scale:i*n*2/v,rCenter:1-i,rotate:0}).textPosAngle=(t.startangle+t.stopangle)/2,a.scale>=1)return a;m.push(a)}(p||f)&&((a=k(e,n,o,l,c)).textPosAngle=(t.startangle+t.stopangle)/2,m.push(a)),(p||d)&&((a=T(e,n,o,l,c)).textPosAngle=(t.startangle+t.stopangle)/2,m.push(a));for(var x=0,b=0,_=0;_=1)break}return m[x]}function k(e,t,r,n,i){t=Math.max(0,t-2*p);var a=e.width/e.height,o=S(a,n,t,r);return{scale:2*o/e.height,rCenter:A(a,o/t),rotate:M(i)}}function T(e,t,r,n,i){t=Math.max(0,t-2*p);var a=e.height/e.width,o=S(a,n,t,r);return{scale:2*o/e.width,rCenter:A(a,o/t),rotate:M(i+Math.PI/2)}}function A(e,t){return Math.cos(t)-e*t}function M(e){return(180/Math.PI*e+720)%180-90}function S(e,t,r,n){var i=e+1/(2*Math.tan(t));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(e*e+n/2)+e))}function E(e,t){return e.v!==t.vTotal||t.trace.hole?Math.min(1/(1+1/Math.sin(e.halfangle)),e.ring/2):1}function C(e,t){var r=t.pxmid[0],n=t.pxmid[1],i=e.width/2,a=e.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function L(e,t){var r,n,i,a=e.trace,o={x:e.cx,y:e.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=P(a),-1!==a.title.position.indexOf("top")?(o.y-=(1+i)*e.r,s.ty-=e.titleBox.height):-1!==a.title.position.indexOf("bottom")&&(o.y+=(1+i)*e.r);var l=function(e,t){return e/(void 0===t?1:t)}(e.r,e.trace.aspectratio),c=t.w*(a.domain.x[1]-a.domain.x[0])/2;return-1!==a.title.position.indexOf("left")?(c+=l,o.x-=(1+i)*l,s.tx+=e.titleBox.width/2):-1!==a.title.position.indexOf("center")?c*=2:-1!==a.title.position.indexOf("right")&&(c+=l,o.x+=(1+i)*l,s.tx-=e.titleBox.width/2),r=c/e.titleBox.width,n=I(e,t)/e.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function I(e,t){var r=e.trace,n=t.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(e.titleBox.height,n/2)}function P(e){var t,r=e.pull;if(!r)return 0;if(s.isArrayOrTypedArray(r))for(r=0,t=0;tr&&(r=e.pull[t]);return r}function z(e,t){for(var r=[],n=0;n1?u=(c=r.r)/i.aspectratio:c=(u=r.r)*i.aspectratio,l=(c*=(1+i.baseratio)/2)*u}o=Math.min(o,l/r.vTotal)}for(n=0;n")}if(o){var b=s.castOption(a,t.i,"texttemplate");if(b){var _={label:(n=t).label,value:n.v,valueLabel:m.formatPieValue(n.v,i.separators),percent:n.v/r.vTotal,percentLabel:m.formatPiePercent(n.v/r.vTotal,i.separators),color:n.color,text:n.text,customdata:s.castOption(a,n.i,"customdata")},w=m.getFirstFilled(a.text,t.pts);(y(w)||""===w)&&(_.text=w),t.text=s.texttemplateString({data:[_,a._meta],fallback:a.texttemplatefallback,labels:_,locale:e._fullLayout._d3locale,template:b})}else t.text=""}}function R(e,t){var r=e.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(t.left+t.right)/2,o=(t.top+t.bottom)/2;e.textX=a*n-o*i,e.textY=a*i+o*n,e.noCenter=!0}t.exports={plot:function(e,t){var i=e._context.staticPlot,h=e._fullLayout,p=h._size;f("pie",h),b(t,e),z(t,p);var g=s.makeTraceGroups(h._pielayer,t,"trace").each((function(t){var f=r.select(this),g=t[0],y=g.trace;(function(e){var t,r,n,i=e[0],a=i.r,o=i.trace,s=m.getRotationAngle(o.rotation),l=2*Math.PI/i.vTotal,c="px0",u="px1";if("counterclockwise"===o.direction){for(t=0;ti.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/i.vTotal,.5),r.ring=1-o.hole,r.rInscribed=E(r,i))})(t),f.attr("stroke-linejoin","round"),f.each((function(){var b=r.select(this).selectAll("g.slice").data(t);b.enter().append("g").classed("slice",!0),b.exit().remove();var w=[[[],[]],[[],[]]],k=!1;b.each((function(n,a){if(n.hidden)r.select(this).selectAll("path,g").remove();else{n.pointNumber=n.i,n.curveNumber=y.index,w[n.pxmid[1]<0?0:1][n.pxmid[0]<0?0:1].push(n);var l=g.cx,c=g.cy,f=r.select(this),p=f.selectAll("path.surface").data([n]);if(p.enter().append("path").classed("surface",!0).style({"pointer-events":i?"none":"all"}),f.call(v,e,t),y.pull){var b=+m.castOption(y.pull,n.pts)||0;b>0&&(l+=b*n.pxmid[0],c+=b*n.pxmid[1])}n.cxFinal=l,n.cyFinal=c;var T=y.hole;if(n.v===g.vTotal){var A="M"+(l+n.px0[0])+","+(c+n.px0[1])+I(n.px0,n.pxmid,!0,1)+I(n.pxmid,n.px0,!0,1)+"Z";T?p.attr("d","M"+(l+T*n.px0[0])+","+(c+T*n.px0[1])+I(n.px0,n.pxmid,!1,T)+I(n.pxmid,n.px0,!1,T)+"Z"+A):p.attr("d",A)}else{var M=I(n.px0,n.px1,!0,1);if(T){var S=1-T;p.attr("d","M"+(l+T*n.px1[0])+","+(c+T*n.px1[1])+I(n.px1,n.px0,!1,T)+"l"+S*n.px0[0]+","+S*n.px0[1]+M+"Z")}else p.attr("d","M"+l+","+c+"l"+n.px0[0]+","+n.px0[1]+M+"Z")}D(e,n,g);var E=m.castOption(y.textposition,n.pts),L=f.selectAll("g.slicetext").data(n.text&&"none"!==E?[0]:[]);L.enter().append("g").classed("slicetext",!0),L.exit().remove(),L.each((function(){var i=s.ensureSingle(r.select(this),"text","",(function(e){e.attr("data-notex",1)})),f=s.ensureUniformFontSize(e,"outside"===E?function(e,t,r){return{color:m.castOption(e.outsidetextfont.color,t.pts)||m.castOption(e.textfont.color,t.pts)||r.color,family:m.castOption(e.outsidetextfont.family,t.pts)||m.castOption(e.textfont.family,t.pts)||r.family,size:m.castOption(e.outsidetextfont.size,t.pts)||m.castOption(e.textfont.size,t.pts)||r.size,weight:m.castOption(e.outsidetextfont.weight,t.pts)||m.castOption(e.textfont.weight,t.pts)||r.weight,style:m.castOption(e.outsidetextfont.style,t.pts)||m.castOption(e.textfont.style,t.pts)||r.style,variant:m.castOption(e.outsidetextfont.variant,t.pts)||m.castOption(e.textfont.variant,t.pts)||r.variant,textcase:m.castOption(e.outsidetextfont.textcase,t.pts)||m.castOption(e.textfont.textcase,t.pts)||r.textcase,lineposition:m.castOption(e.outsidetextfont.lineposition,t.pts)||m.castOption(e.textfont.lineposition,t.pts)||r.lineposition,shadow:m.castOption(e.outsidetextfont.shadow,t.pts)||m.castOption(e.textfont.shadow,t.pts)||r.shadow}}(y,n,h.font):x(y,n,h.font));i.text(n.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(o.font,f).call(u.convertToTspans,e);var p,v=o.bBox(i.node());if("outside"===E)p=C(v,n);else if(p=_(v,n,g),"auto"===E&&p.scale<1){var b=s.ensureUniformFontSize(e,y.outsidetextfont);i.call(o.font,b),p=C(v=o.bBox(i.node()),n)}var w=p.textPosAngle,T=void 0===w?n.pxmid:O(g.r,w);if(p.targetX=l+T[0]*p.rCenter+(p.x||0),p.targetY=c+T[1]*p.rCenter+(p.y||0),R(p,v),p.outside){var A=p.targetY;n.yLabelMin=A-v.height/2,n.yLabelMid=A,n.yLabelMax=A+v.height/2,n.labelExtraX=0,n.labelExtraY=0,k=!0}p.fontSize=f.size,d(y.type,p,h),t[a].transform=p,s.setTransormAndDisplay(i,p)}))}function I(e,t,r,i){var a=i*(t[0]-e[0]),o=i*(t[1]-e[1]);return"a"+i*g.r+","+i*g.r+" 0 "+n.largeArc+(r?" 1 ":" 0 ")+a+","+o}}));var T=r.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);if(T.enter().append("g").classed("titletext",!0),T.exit().remove(),T.each((function(){var t,n=s.ensureSingle(r.select(this),"text","",(function(e){e.attr("data-notex",1)})),i=y.title.text;y._meta&&(i=s.templateString(i,y._meta)),n.text(i).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(o.font,y.title.font).call(u.convertToTspans,e),t="middle center"===y.title.position?function(e){var t=Math.sqrt(e.titleBox.width*e.titleBox.width+e.titleBox.height*e.titleBox.height);return{x:e.cx,y:e.cy,scale:e.trace.hole*e.r*2/t,tx:0,ty:-e.titleBox.height/2+e.trace.title.font.size}}(g):L(g,p),n.attr("transform",c(t.x,t.y)+l(Math.min(1,t.scale))+c(t.tx,t.ty))})),k&&function(e,t){var r,n,i,a,o,l,c,u,h,d,f,p,g;function y(e,t){return e.pxmid[1]-t.pxmid[1]}function v(e,t){return t.pxmid[1]-e.pxmid[1]}function x(e,r){r||(r={});var i,u,h,f,p=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),g=n?e.yLabelMin:e.yLabelMax,y=n?e.yLabelMax:e.yLabelMin,v=e.cyFinal+o(e.px0[1],e.px1[1]),x=p-g;if(x*c>0&&(e.labelExtraY=x),s.isArrayOrTypedArray(t.pull))for(u=0;u=(m.castOption(t.pull,h.pts)||0))&&((e.pxmid[1]-h.pxmid[1])*c>0?(x=h.cyFinal+o(h.px0[1],h.px1[1])-g-e.labelExtraY)*c>0&&(e.labelExtraY+=x):(y+e.labelExtraY-v)*c>0&&(i=3*l*Math.abs(u-d.indexOf(e)),(f=h.cxFinal+a(h.px0[0],h.px1[0])+i-(e.cxFinal+e.pxmid[0])-e.labelExtraX)*l>0&&(e.labelExtraX+=f)))}for(n=0;n<2;n++)for(i=n?y:v,o=n?Math.max:Math.min,c=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,l=r?1:-1,(u=e[n][r]).sort(i),h=e[1-n][r],d=h.concat(u),p=[],f=0;fMath.abs(h)?l+="l"+h*e.pxmid[0]/e.pxmid[1]+","+h+"H"+(o+e.labelExtraX+c):l+="l"+e.labelExtraX+","+u+"v"+(h-u)+"h"+c}else l+="V"+(e.yLabelMid+e.labelExtraY)+"h"+c;s.ensureSingle(n,"path","textline").call(a.stroke,t.outsidetextfont.color).attr({"stroke-width":Math.min(2,t.outsidetextfont.size/8),d:l,fill:"none"})}else n.select("path.textline").remove()}))}(b,y),k&&y.automargin){var A=o.bBox(f.node()),M=y.domain,S=p.w*(M.x[1]-M.x[0]),E=p.h*(M.y[1]-M.y[0]),I=(.5*S-g.r)/p.w,P=(.5*E-g.r)/p.h;n.autoMargin(e,"pie."+y.uid+".automargin",{xl:M.x[0]-I,xr:M.x[1]+I,yb:M.y[0]-P,yt:M.y[1]+P,l:Math.max(g.cx-g.r-A.left,0),r:Math.max(A.right-(g.cx+g.r),0),b:Math.max(A.bottom-(g.cy+g.r),0),t:Math.max(g.cy-g.r-A.top,0),pad:5})}}))}));setTimeout((function(){g.selectAll("tspan").each((function(){var e=r.select(this);e.attr("dy")&&e.attr("dy",e.attr("dy"))}))}),0)},formatSliceLabel:D,transformInsideText:_,determineInsideTextFont:x,positionTitleOutside:L,prerenderTitles:b,layoutAreas:z,attachFxHandlers:v,computeTransform:R}}}),wd=m({"src/traces/pie/style.js"(e,t){var r=w(),n=En(),i=ls().resizeText;t.exports=function(e){var t=e._fullLayout._pielayer.selectAll(".trace");i(e,t,"pie"),t.each((function(t){var i=t[0].trace,a=r.select(this);a.style({opacity:i.opacity}),a.selectAll("path.surface").each((function(t){r.select(this).call(n,t,i,e)}))}))}}}),kd=m({"src/traces/pie/base_plot.js"(e){var t=Er();e.name="pie",e.plot=function(r,n,i,a){t.plotBasePlot(e.name,r,n,i,a)},e.clean=function(r,n,i,a){t.cleanBasePlot(e.name,r,n,i,a)}}}),Td=m({"src/traces/pie/index.js"(e,t){t.exports={attributes:md(),supplyDefaults:gd().supplyDefaults,supplyLayoutDefaults:vd(),layoutAttributes:yd(),calc:xd().calc,crossTraceCalc:xd().crossTraceCalc,plot:_d().plot,style:wd(),styleOne:En(),moduleType:"trace",name:"pie",basePlotModule:kd(),categories:["pie-like","pie","showLegend"],meta:{}}}}),Ad=m({"lib/pie.js"(e,t){t.exports=Td()}}),Md=m({"src/traces/sunburst/base_plot.js"(e){var t=Er();e.name="sunburst",e.plot=function(r,n,i,a){t.plotBasePlot(e.name,r,n,i,a)},e.clean=function(r,n,i,a){t.cleanBasePlot(e.name,r,n,i,a)}}}),Sd=m({"src/traces/sunburst/constants.js"(e,t){t.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"linear",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"]}}}),Ed=m({"src/traces/sunburst/attributes.js"(e,t){var r=Y(),{hovertemplateAttrs:n,texttemplateAttrs:i,templatefallbackAttrs:a}=Lt(),o=Rr(),s=Do().attributes,l=md(),c=Sd(),u=V().extendFlat,h=Et().pattern;t.exports={labels:{valType:"data_array",editType:"calc"},parents:{valType:"data_array",editType:"calc"},values:{valType:"data_array",editType:"calc"},branchvalues:{valType:"enumerated",values:["remainder","total"],dflt:"remainder",editType:"calc"},count:{valType:"flaglist",flags:["branches","leaves"],dflt:"leaves",editType:"calc"},level:{valType:"any",editType:"plot",anim:!0},maxdepth:{valType:"integer",editType:"plot",dflt:-1},marker:u({colors:{valType:"data_array",editType:"calc"},line:{color:u({},l.marker.line.color,{dflt:null}),width:u({},l.marker.line.width,{dflt:1}),editType:"calc"},pattern:h,editType:"calc"},o("marker",{colorAttr:"colors",anim:!1})),leaf:{opacity:{valType:"number",editType:"style",min:0,max:1},editType:"plot"},text:l.text,textinfo:{valType:"flaglist",flags:["label","text","value","current path","percent root","percent entry","percent parent"],extras:["none"],editType:"plot"},texttemplate:i({editType:"plot"},{keys:c.eventDataKeys.concat(["label","value"])}),texttemplatefallback:a({editType:"plot"}),hovertext:l.hovertext,hoverinfo:u({},r.hoverinfo,{flags:["label","text","value","name","current path","percent root","percent entry","percent parent"],dflt:"label+text+value+name"}),hovertemplate:n({},{keys:c.eventDataKeys}),hovertemplatefallback:a(),textfont:l.textfont,insidetextorientation:l.insidetextorientation,insidetextfont:l.insidetextfont,outsidetextfont:u({},l.outsidetextfont,{}),rotation:{valType:"angle",dflt:0,editType:"plot"},sort:l.sort,root:{color:{valType:"color",editType:"calc",dflt:"rgba(0,0,0,0)"},editType:"calc"},domain:s({name:"sunburst",trace:!0,editType:"calc"})}}}),Cd=m({"src/traces/sunburst/layout_attributes.js"(e,t){t.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),Ld=m({"src/traces/sunburst/defaults.js"(e,t){var r=dr(),n=Ed(),i=Do().defaults,a=is().handleText,o=gd().handleMarkerDefaults,s=Kr(),l=s.hasColorscale,c=s.handleDefaults;t.exports=function(e,t,s,u){function h(i,a){return r.coerce(e,t,n,i,a)}var d=h("labels"),f=h("parents");if(d&&d.length&&f&&f.length){var p=h("values");p&&p.length?h("branchvalues"):h("count"),h("level"),h("maxdepth"),o(e,t,u,h);var m=t._hasColorscale=l(e,"marker","colors")||(e.marker||{}).coloraxis;m&&c(e,t,u,h,{prefix:"marker.",cLetter:"c"}),h("leaf.opacity",m?1:.7);var g=h("text");h("texttemplate"),h("texttemplatefallback"),t.texttemplate||h("textinfo",r.isArrayOrTypedArray(g)?"text+label":"label"),h("hovertext"),h("hovertemplate"),h("hovertemplatefallback"),a(e,t,u,h,"auto",{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),h("insidetextorientation"),h("sort"),h("rotation"),h("root.color"),i(t,u,h),t._length=null}else t.visible=!1}}}),Id=m({"src/traces/sunburst/layout_defaults.js"(e,t){var r=dr(),n=Cd();t.exports=function(e,t){function i(i,a){return r.coerce(e,t,n,i,a)}i("sunburstcolorway",t.colorway),i("extendsunburstcolors")}}}),Pd=m({"node_modules/d3-hierarchy/dist/d3-hierarchy.js"(e,t){var r,n;r=e,n=function(e){function t(e,t){return e.parent===t.parent?1:2}function r(e,t){return e+t.x}function n(e,t){return Math.max(e,t.y)}function i(e){var t=0,r=e.children,n=r&&r.length;if(n)for(;--n>=0;)t+=r[n].value;else t=1;e.value=t}function a(e,t){var r,n,i,a,s,u=new c(e),h=+e.value&&(u.value=e.value),d=[u];for(null==t&&(t=o);r=d.pop();)if(h&&(r.value=+r.data.value),(i=t(r.data))&&(s=i.length))for(r.children=new Array(s),a=s-1;a>=0;--a)d.push(n=r.children[a]=new c(i[a])),n.parent=r,n.depth=r.depth+1;return u.eachBefore(l)}function o(e){return e.children}function s(e){e.data=e.data.data}function l(e){var t=0;do{e.height=t}while((e=e.parent)&&e.height<++t)}function c(e){this.data=e,this.depth=this.height=0,this.parent=null}c.prototype=a.prototype={constructor:c,count:function(){return this.eachAfter(i)},each:function(e){var t,r,n,i,a=this,o=[a];do{for(t=o.reverse(),o=[];a=t.pop();)if(e(a),r=a.children)for(n=0,i=r.length;n=0;--r)i.push(t[r]);return this},sum:function(e){return this.eachAfter((function(t){for(var r=+e(t.data)||0,n=t.children,i=n&&n.length;--i>=0;)r+=n[i].value;t.value=r}))},sort:function(e){return this.eachBefore((function(t){t.children&&t.children.sort(e)}))},path:function(e){for(var t=this,r=function(e,t){if(e===t)return e;var r=e.ancestors(),n=t.ancestors(),i=null;for(e=r.pop(),t=n.pop();e===t;)i=e,e=r.pop(),t=n.pop();return i}(t,e),n=[t];t!==r;)t=t.parent,n.push(t);for(var i=n.length;e!==r;)n.splice(i,0,e),e=e.parent;return n},ancestors:function(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t},descendants:function(){var e=[];return this.each((function(t){e.push(t)})),e},leaves:function(){var e=[];return this.eachBefore((function(t){t.children||e.push(t)})),e},links:function(){var e=this,t=[];return e.each((function(r){r!==e&&t.push({source:r.parent,target:r})})),t},copy:function(){return a(this).eachBefore(s)}};var u=Array.prototype.slice;function h(e){for(var t,r,n=0,i=(e=function(e){for(var t,r,n=e.length;n;)r=Math.random()*n--|0,t=e[n],e[n]=e[r],e[r]=t;return e}(u.call(e))).length,a=[];n0&&r*r>n*n+i*i}function m(e,t){for(var r=0;r(o*=o)?(n=(c+o-i)/(2*c),a=Math.sqrt(Math.max(0,o/c-n*n)),r.x=e.x-n*s-a*l,r.y=e.y-n*l+a*s):(n=(c+i-o)/(2*c),a=Math.sqrt(Math.max(0,i/c-n*n)),r.x=t.x+n*s-a*l,r.y=t.y+n*l+a*s)):(r.x=t.x+r.r,r.y=t.y)}function b(e,t){var r=e.r+t.r-1e-6,n=t.x-e.x,i=t.y-e.y;return r>0&&r*r>n*n+i*i}function _(e){var t=e._,r=e.next._,n=t.r+r.r,i=(t.x*r.r+r.x*t.r)/n,a=(t.y*r.r+r.y*t.r)/n;return i*i+a*a}function w(e){this._=e,this.next=null,this.previous=null}function k(e){if(!(i=e.length))return 0;var t,r,n,i,a,o,s,l,c,u,d;if((t=e[0]).x=0,t.y=0,!(i>1))return t.r;if(r=e[1],t.x=-r.r,r.x=t.r,r.y=0,!(i>2))return t.r+r.r;x(r,t,n=e[2]),t=new w(t),r=new w(r),n=new w(n),t.next=n.previous=r,r.next=t.previous=n,n.next=r.previous=t;e:for(s=3;sd&&(d=s),g=u*u*m,(f=Math.max(d/g,g/h))>p){u-=s;break}p=f}y.push(o={value:u,dice:l1?t:1)},r}(H),Y=function e(t){function r(e,r,n,i,a){if((o=e._squarify)&&o.ratio===t)for(var o,s,l,c,u,h=-1,d=o.length,f=e.value;++h1?t:1)},r}(H);e.cluster=function(){var e=t,i=1,a=1,o=!1;function s(t){var s,l=0;t.eachAfter((function(t){var i=t.children;i?(t.x=function(e){return e.reduce(r,0)/e.length}(i),t.y=function(e){return 1+e.reduce(n,0)}(i)):(t.x=s?l+=e(t,s):0,t.y=0,s=t)}));var c=function(e){for(var t;t=e.children;)e=t[0];return e}(t),u=function(e){for(var t;t=e.children;)e=t[t.length-1];return e}(t),h=c.x-e(c,u)/2,d=u.x+e(u,c)/2;return t.eachAfter(o?function(e){e.x=(e.x-t.x)*i,e.y=(t.y-e.y)*a}:function(e){e.x=(e.x-h)/(d-h)*i,e.y=(1-(t.y?e.y/t.y:1))*a})}return s.separation=function(t){return arguments.length?(e=t,s):e},s.size=function(e){return arguments.length?(o=!1,i=+e[0],a=+e[1],s):o?null:[i,a]},s.nodeSize=function(e){return arguments.length?(o=!0,i=+e[0],a=+e[1],s):o?[i,a]:null},s},e.hierarchy=a,e.pack=function(){var e=null,t=1,r=1,n=A;function i(i){return i.x=t/2,i.y=r/2,e?i.eachBefore(E(e)).eachAfter(C(n,.5)).eachBefore(L(1)):i.eachBefore(E(S)).eachAfter(C(A,1)).eachAfter(C(n,i.r/Math.min(t,r))).eachBefore(L(Math.min(t,r)/(2*i.r))),i}return i.radius=function(t){return arguments.length?(e=function(e){return null==e?null:T(e)}(t),i):e},i.size=function(e){return arguments.length?(t=+e[0],r=+e[1],i):[t,r]},i.padding=function(e){return arguments.length?(n="function"==typeof e?e:M(+e),i):n},i},e.packEnclose=h,e.packSiblings=function(e){return k(e),e},e.partition=function(){var e=1,t=1,r=0,n=!1;function i(i){var a=i.height+1;return i.x0=i.y0=r,i.x1=e,i.y1=t/a,i.eachBefore(function(e,t){return function(n){n.children&&P(n,n.x0,e*(n.depth+1)/t,n.x1,e*(n.depth+2)/t);var i=n.x0,a=n.y0,o=n.x1-r,s=n.y1-r;o0)throw new Error("cycle");return a}return r.id=function(t){return arguments.length?(e=T(t),r):e},r.parentId=function(e){return arguments.length?(t=T(e),r):t},r},e.tree=function(){var e=j,t=1,r=1,n=null;function i(i){var l=function(e){for(var t,r,n,i,a,o=new V(e,0),s=[o];t=s.pop();)if(n=t._.children)for(t.children=new Array(a=n.length),i=a-1;i>=0;--i)s.push(r=t.children[i]=new V(n[i],i)),r.parent=t;return(o.parent=new V(null,0)).children=[o],o}(i);if(l.eachAfter(a),l.parent.m=-l.z,l.eachBefore(o),n)i.eachBefore(s);else{var c=i,u=i,h=i;i.eachBefore((function(e){e.xu.x&&(u=e),e.depth>h.depth&&(h=e)}));var d=c===u?1:e(c,u)/2,f=d-c.x,p=t/(u.x+d+f),m=r/(h.depth||1);i.eachBefore((function(e){e.x=(e.x+f)*p,e.y=e.depth*m}))}return i}function a(t){var r=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(r){!function(e){for(var t,r=0,n=0,i=e.children,a=i.length;--a>=0;)(t=i[a]).z+=r,t.m+=r,r+=t.s+(n+=t.c)}(t);var a=(r[0].z+r[r.length-1].z)/2;i?(t.z=i.z+e(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+e(t._,i._));t.parent.A=function(t,r,n){if(r){for(var i,a=t,o=t,s=r,l=a.parent.children[0],c=a.m,u=o.m,h=s.m,d=l.m;s=B(s),a=F(a),s&&a;)l=F(l),(o=B(o)).a=t,(i=s.z+h-a.z-c+e(s._,a._))>0&&(N(U(s,t,n),t,i),c+=i,u+=i),h+=s.m,c+=a.m,d+=l.m,u+=o.m;s&&!B(o)&&(o.t=s,o.m+=h-u),a&&!F(l)&&(l.t=a,l.m+=c-d,n=t)}return n}(t,i,t.parent.A||n[0])}function o(e){e._.x=e.z+e.parent.m,e.m+=e.parent.m}function s(e){e.x*=t,e.y=e.depth*r}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(e){return arguments.length?(n=!1,t=+e[0],r=+e[1],i):n?null:[t,r]},i.nodeSize=function(e){return arguments.length?(n=!0,t=+e[0],r=+e[1],i):n?[t,r]:null},i},e.treemap=function(){var e=W,t=!1,r=1,n=1,i=[0],a=A,o=A,s=A,l=A,c=A;function u(e){return e.x0=e.y0=0,e.x1=r,e.y1=n,e.eachBefore(h),i=[0],t&&e.eachBefore(I),e}function h(t){var r=i[t.depth],n=t.x0+r,u=t.y0+r,h=t.x1-r,d=t.y1-r;h=r-1){var u=s[t];return u.x0=i,u.y0=a,u.x1=o,void(u.y1=l)}for(var h=c[t],d=n/2+h,f=t+1,p=r-1;f>>1;c[m]l-a){var v=(i*y+o*g)/n;e(t,f,g,i,a,v,l),e(f,r,y,v,a,o,l)}else{var x=(a*y+l*g)/n;e(t,f,g,i,a,o,x),e(f,r,y,i,x,o,l)}}(0,l,e.value,t,r,n,i)},e.treemapDice=P,e.treemapResquarify=Y,e.treemapSlice=q,e.treemapSliceDice=function(e,t,r,n,i){(1&e.depth?q:P)(e,t,r,n,i)},e.treemapSquarify=W,Object.defineProperty(e,"__esModule",{value:!0})},n("object"==typeof e&&typeof t<"u"?e:(r=r||self).d3=r.d3||{})}}),zd=m({"src/traces/sunburst/calc.js"(e){var t=Pd(),r=S(),n=dr(),i=Kr().makeColorScaleFuncFromTrace,a=xd().makePullColorFn,o=xd().generateExtendedColors,s=Kr().calc,l=E().ALMOST_EQUAL,c={},u={},h={};function d(e,t,r){var n=0,i=e.children;if(i){for(var a=i.length,o=0;o=0};v?(c=Math.min(y.length,b.length),u=function(e){return M(y[e])&&S(e)},h=function(e){return String(y[e])}):(c=Math.min(x.length,b.length),u=function(e){return M(x[e])&&S(e)},h=function(e){return String(x[e])}),w&&(c=Math.min(c,_.length));for(var E=0;E1){for(var P=n.randstr(),z=0;z>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===r?Hd(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===r?Hd(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=pf.exec(e))?new Yd(t[1],t[2],t[3],1):(t=mf.exec(e))?new Yd(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=gf.exec(e))?Hd(t[1],t[2],t[3],t[4]):(t=yf.exec(e))?Hd(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=vf.exec(e))?ef(t[1],t[2]/100,t[3]/100,1):(t=xf.exec(e))?ef(t[1],t[2]/100,t[3]/100,t[4]):bf.hasOwnProperty(e)?qd(bf[e]):"transparent"===e?new Yd(NaN,NaN,NaN,0):null}function qd(e){return new Yd(e>>16&255,e>>8&255,255&e,1)}function Hd(e,t,r,n){return n<=0&&(e=t=r=NaN),new Yd(e,t,r,n)}function Gd(e){return e instanceof jd||(e=Vd(e)),e?new Yd((e=e.rgb()).r,e.g,e.b,e.opacity):new Yd}function Wd(e,t,r,n){return 1===arguments.length?Gd(e):new Yd(e,t,r,n??1)}function Yd(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}function Xd(){return`#${Qd(this.r)}${Qd(this.g)}${Qd(this.b)}`}function Zd(){return`#${Qd(this.r)}${Qd(this.g)}${Qd(this.b)}${Qd(255*(isNaN(this.opacity)?1:this.opacity))}`}function $d(){let e=Kd(this.opacity);return`${1===e?"rgb(":"rgba("}${Jd(this.r)}, ${Jd(this.g)}, ${Jd(this.b)}${1===e?")":`, ${e})`}`}function Kd(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Jd(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Qd(e){return((e=Jd(e))<16?"0":"")+e.toString(16)}function ef(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new nf(e,t,r,n)}function tf(e){if(e instanceof nf)return new nf(e.h,e.s,e.l,e.opacity);if(e instanceof jd||(e=Vd(e)),!e)return new nf;if(e instanceof nf)return e;var t=(e=e.rgb()).r/255,r=e.g/255,n=e.b/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=NaN,s=a-i,l=(a+i)/2;return s?(o=t===a?(r-n)/s+6*(r0&&l<1?0:o,new nf(o,s,l,e.opacity)}function rf(e,t,r,n){return 1===arguments.length?tf(e):new nf(e,t,r,n??1)}function nf(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}function af(e){return(e=(e||0)%360)<0?e+360:e}function of(e){return Math.max(0,Math.min(1,e||0))}function sf(e,t,r){return 255*(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)}var lf,cf,uf,hf,df,ff,pf,mf,gf,yf,vf,xf,bf,_f,wf,kf=p({"node_modules/d3-color/src/color.js"(){Rd(),cf=1/(lf=.7),uf="\\s*([+-]?\\d+)\\s*",hf="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",df="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",ff=/^#([0-9a-f]{3,8})$/,pf=new RegExp(`^rgb\\(${uf},${uf},${uf}\\)$`),mf=new RegExp(`^rgb\\(${df},${df},${df}\\)$`),gf=new RegExp(`^rgba\\(${uf},${uf},${uf},${hf}\\)$`),yf=new RegExp(`^rgba\\(${df},${df},${df},${hf}\\)$`),vf=new RegExp(`^hsl\\(${hf},${df},${df}\\)$`),xf=new RegExp(`^hsla\\(${hf},${df},${df},${hf}\\)$`),bf={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},Od(jd,Vd,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Fd,formatHex:Fd,formatHex8:Bd,formatHsl:Nd,formatRgb:Ud,toString:Ud}),Od(Yd,Wd,Dd(jd,{brighter(e){return e=null==e?cf:Math.pow(cf,e),new Yd(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?lf:Math.pow(lf,e),new Yd(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Yd(Jd(this.r),Jd(this.g),Jd(this.b),Kd(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:Xd,formatHex:Xd,formatHex8:Zd,formatRgb:$d,toString:$d})),Od(nf,rf,Dd(jd,{brighter(e){return e=null==e?cf:Math.pow(cf,e),new nf(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?lf:Math.pow(lf,e),new nf(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,i=2*r-n;return new Yd(sf(e>=240?e-240:e+120,i,n),sf(e,i,n),sf(e<120?e+240:e-120,i,n),this.opacity)},clamp(){return new nf(af(this.h),of(this.s),of(this.l),Kd(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 e=Kd(this.opacity);return`${1===e?"hsl(":"hsla("}${af(this.h)}, ${100*of(this.s)}%, ${100*of(this.l)}%${1===e?")":`, ${e})`}`}}))}}),Tf=p({"node_modules/d3-color/src/math.js"(){_f=Math.PI/180,wf=180/Math.PI}});function Af(e){if(e instanceof Sf)return new Sf(e.l,e.a,e.b,e.opacity);if(e instanceof zf)return Of(e);e instanceof Yd||(e=Gd(e));var t,r,n=If(e.r),i=If(e.g),a=If(e.b),o=Ef((.2225045*n+.7168786*i+.0606169*a)/Rf);return n===i&&i===a?t=r=o:(t=Ef((.4360747*n+.3850649*i+.1430804*a)/Df),r=Ef((.0139322*n+.0971045*i+.7141733*a)/jf)),new Sf(116*o-16,500*(t-o),200*(o-r),e.opacity)}function Mf(e,t,r,n){return 1===arguments.length?Af(e):new Sf(e,t,r,n??1)}function Sf(e,t,r,n){this.l=+e,this.a=+t,this.b=+r,this.opacity=+n}function Ef(e){return e>Uf?Math.pow(e,.3333333333333333):e/Nf+Ff}function Cf(e){return e>Bf?e*e*e:Nf*(e-Ff)}function Lf(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,.4166666666666667)-.055)}function If(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function Pf(e,t,r,n){return 1===arguments.length?function(e){if(e instanceof zf)return new zf(e.h,e.c,e.l,e.opacity);if(e instanceof Sf||(e=Af(e)),0===e.a&&0===e.b)return new zf(NaN,0=1?(r=1,t-1):Math.floor(r*t),i=e[n],a=e[n+1],o=n>0?e[n-1]:2*i-a,s=n()=>e}});function sp(e,t){return function(r){return e+r*t}}function lp(e,t){var r=t-e;return r?sp(e,r>180||r<-180?r-360*Math.round(r/360):r):ip(isNaN(e)?t:e)}function cp(e,t){var r=t-e;return r?sp(e,r):ip(isNaN(e)?t:e)}var up=p({"node_modules/d3-interpolate/src/color.js"(){op()}});function hp(e){return function(t){var r,n,i=t.length,a=new Array(i),o=new Array(i),s=new Array(i);for(r=0;ra&&(i=t.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:Tp(r,n)})),a=Lp.lastIndex;return a180?t+=360:t-e>180&&(e+=360),a.push({i:r.push(i(r)+"rotate(",null,n)-2,x:Tp(e,t)})):t&&r.push(i(r)+"rotate("+t+n)}(a.rotate,o.rotate,s,l),function(e,t,r,a){e!==t?a.push({i:r.push(i(r)+"skewX(",null,n)-2,x:Tp(e,t)}):t&&r.push(i(r)+"skewX("+t+n)}(a.skewX,o.skewX,s,l),function(e,t,r,n,a,o){if(e!==r||t!==n){var s=a.push(i(a)+"scale(",null,",",null,")");o.push({i:s-4,x:Tp(e,r)},{i:s-2,x:Tp(t,n)})}else(1!==r||1!==n)&&a.push(i(a)+"scale("+r+","+n+")")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,l),a=o=null,function(e){for(var t,r=-1,n=l.length;++rPp,interpolateArray:()=>xp,interpolateBasis:()=>tp,interpolateBasisClosed:()=>np,interpolateCubehelix:()=>dm,interpolateCubehelixLong:()=>fm,interpolateDate:()=>wp,interpolateDiscrete:()=>Op,interpolateHcl:()=>lm,interpolateHclLong:()=>cm,interpolateHsl:()=>rm,interpolateHslLong:()=>nm,interpolateHue:()=>Rp,interpolateLab:()=>am,interpolateNumber:()=>Tp,interpolateNumberArray:()=>gp,interpolateObject:()=>Mp,interpolateRgb:()=>dp,interpolateRgbBasis:()=>fp,interpolateRgbBasisClosed:()=>pp,interpolateRound:()=>Fp,interpolateString:()=>Ep,interpolateTransformCss:()=>Zp,interpolateTransformSvg:()=>$p,interpolateZoom:()=>Qp,piecewise:()=>mm,quantize:()=>ym});var bm=p({"node_modules/d3-interpolate/src/index.js"(){zp(),_p(),rp(),ap(),kp(),Dp(),jp(),Ap(),vp(),Sp(),Bp(),Ip(),Kp(),em(),mp(),im(),om(),um(),pm(),gm(),vm()}}),_m=m({"src/traces/sunburst/fill_one.js"(e,t){var r=nn(),n=Fe();t.exports=function(e,t,i,a,o){var s=t.data.data,l=s.i,c=o||s.color;if(l>=0){t.i=s.i;var u=i.marker;u.pattern?(!u.colors||!u.pattern.shape)&&(u.color=c,t.color=c):(u.color=c,t.color=c),r.pointStyle(e,i,a,t)}else n.fill(e,c)}}}),wm=m({"src/traces/sunburst/style.js"(e,t){var r=w(),n=Fe(),i=dr(),a=ls().resizeText,o=_m();function s(e,t,r,a){var s=t.data.data,l=!t.children,c=s.i,u=i.castOption(r,c,"marker.line.color")||n.defaultLine,h=i.castOption(r,c,"marker.line.width")||0;e.call(o,t,r,a).style("stroke-width",h).call(n.stroke,u).style("opacity",l?r.leaf.opacity:null)}t.exports={style:function(e){var t=e._fullLayout._sunburstlayer.selectAll(".trace");a(e,t,"sunburst"),t.each((function(t){var n=r.select(this),i=t[0].trace;n.style("opacity",i.opacity),n.selectAll("path.surface").each((function(t){r.select(this).call(s,t,i,e)}))}))},styleOne:s}}}),km=m({"src/traces/sunburst/helpers.js"(e){var t=dr(),r=Fe(),n=vn(),i=Mn();function a(e){return e.data.data.pid}e.findEntryWithLevel=function(t,r){var n;return r&&t.eachAfter((function(t){if(e.getPtId(t)===r)return n=t.copy()})),n||t},e.findEntryWithChild=function(t,r){var n;return t.eachAfter((function(t){for(var i=t.children||[],a=0;a0)},e.getMaxDepth=function(e){return e.maxdepth>=0?e.maxdepth:1/0},e.isHeader=function(t,r){return!(e.isLeaf(t)||t.depth===r._maxDepth-1)},e.getParent=function(t,r){return e.findEntryWithLevel(t,a(r))},e.listPath=function(t,r){var n=t.parent;if(!n)return[];var i=r?[n.data[r]]:[n];return e.listPath(n,r).concat(i)},e.getPath=function(t){return e.listPath(t,"label").join("/")+"/"},e.formatValue=i.formatPieValue,e.formatPercent=function(e,r){var n=t.formatPercent(e,0);return"0%"===n&&(n=i.formatPiePercent(e,r)),n}}}),Tm=m({"src/traces/sunburst/fx.js"(e,t){var r=w(),n=jt(),i=en().appendArrayPointValue,a=Bn(),o=dr(),s=yr(),l=km(),c=Mn().formatPieValue;function u(e,t,r){for(var n=e.data.data,a={curveNumber:t.index,pointNumber:n.i,data:t._input,fullData:t},o=0;o"),name:A||z("name")?v.name:void 0,color:T("hoverlabel.bgcolor")||x.color,borderColor:T("hoverlabel.bordercolor"),fontFamily:T("hoverlabel.font.family"),fontSize:T("hoverlabel.font.size"),fontColor:T("hoverlabel.font.color"),fontWeight:T("hoverlabel.font.weight"),fontStyle:T("hoverlabel.font.style"),fontVariant:T("hoverlabel.font.variant"),nameLength:T("hoverlabel.namelength"),textAlign:T("hoverlabel.align"),hovertemplate:A,hovertemplateLabels:L,eventData:h};g&&(j.x0=E-n.rInscribed*n.rpx1,j.x1=E+n.rInscribed*n.rpx1,j.idealAlign=n.pxmid[0]<0?"left":"right"),y&&(j.x=E,j.idealAlign=E<0?"left":"right");var F=[];a.loneHover(j,{container:s._hoverlayer.node(),outerContainer:s._paper.node(),gd:i,inOut_bbox:F}),h[0].bbox=F[0],p._hasHoverLabel=!0}if(y){var B=e.select("path.surface");d.styleOne(B,n,v,i,{hovered:!0})}p._hasHoverEvent=!0,i.emit("plotly_hover",{points:h||[u(n,v,d.eventDataKeys)],event:r.event})}})),e.on("mouseout",(function(t){var n=i._fullLayout,o=i._fullData[p.index],s=r.select(this).datum();if(p._hasHoverEvent&&(t.originalEvent=r.event,i.emit("plotly_unhover",{points:[u(s,o,d.eventDataKeys)],event:r.event}),p._hasHoverEvent=!1),p._hasHoverLabel&&(a.loneUnhover(n._hoverlayer.node()),p._hasHoverLabel=!1),y){var l=e.select("path.surface");d.styleOne(l,s,o,i,{hovered:!1})}})),e.on("click",(function(e){var t=i._fullLayout,o=i._fullData[p.index],c=g&&(l.isHierarchyRoot(e)||l.isLeaf(e)),h=l.getPtId(e),f=l.isEntry(e)?l.findEntryWithChild(m,h):l.findEntryWithLevel(m,h),y=l.getPtId(f),v={points:[u(e,o,d.eventDataKeys)],event:r.event};c||(v.nextLevel=y);var x=s.triggerHandler(i,"plotly_"+p.type+"click",v);if(!1!==x&&t.hovermode&&(i._hoverdata=[u(e,o,d.eventDataKeys)],a.click(i,r.event)),!c&&!1!==x&&!i._dragging&&!i._transitioning){n.call("_storeDirectGUIEdit",o,t._tracePreGUI[o.uid],{level:o.level});var b={data:[{level:y}],traces:[p.index]},_={frame:{redraw:!1,duration:d.transitionTime},transition:{duration:d.transitionTime,easing:d.transitionEasing},mode:"immediate",fromcurrent:!0};a.loneUnhover(t._hoverlayer.node()),n.call("animate",i,b,_)}}))}}}),Am=m({"src/traces/sunburst/plot.js"(e){var t=w(),r=Pd(),n=(bm(),x(xm)).interpolate,i=nn(),a=dr(),o=Ir(),s=ls(),l=s.recordMinTextSize,c=s.clearMinTextSize,u=_d(),h=Mn().getRotationAngle,d=u.computeTransform,f=u.transformInsideText,p=wm().styleOne,m=us().resizeText,g=Tm(),y=Sd(),v=km();function b(s,c,u,m){var x=s._context.staticPlot,b=s._fullLayout,w=!b.uniformtext.mode&&v.hasTransition(m),k=t.select(u).selectAll("g.slice"),T=c[0],A=T.trace,M=T.hierarchy,S=v.findEntryWithLevel(M,A.level),E=v.getMaxDepth(A),C=b._size,L=A.domain,I=C.w*(L.x[1]-L.x[0]),P=C.h*(L.y[1]-L.y[0]),z=.5*Math.min(I,P),O=T.cx=C.l+C.w*(L.x[1]+L.x[0])/2,D=T.cy=C.t+C.h*(1-L.y[0])-P/2;if(!S)return k.remove();var R=null,j={};w&&k.each((function(e){j[v.getPtId(e)]={rpx0:e.rpx0,rpx1:e.rpx1,x0:e.x0,x1:e.x1,transform:e.transform},!R&&v.isEntry(e)&&(R=e)}));var F=function(e){return r.partition().size([2*Math.PI,e.height+1])(e)}(S).descendants(),B=S.height+1,N=0,U=E;T.hasMultipleRoots&&v.isHierarchyRoot(S)&&(F=F.slice(1),B-=1,N=1,U+=1),F=F.filter((function(e){return e.y1<=U}));var V=h(A.rotation);V&&F.forEach((function(e){e.x0+=V,e.x1+=V}));var q=Math.min(B,E),H=function(e){return(e-N)/q*z},G=function(e,t){return[e*Math.cos(t),-e*Math.sin(t)]},W=function(e){return a.pathAnnulus(e.rpx0,e.rpx1,e.x0,e.x1,O,D)},Y=function(e){return O+_(e)[0]*(e.transform.rCenter||0)+(e.transform.x||0)},X=function(e){return D+_(e)[1]*(e.transform.rCenter||0)+(e.transform.y||0)};(k=k.data(F,v.getPtId)).enter().append("g").classed("slice",!0),w?k.exit().transition().each((function(){var e=t.select(this);e.select("path.surface").transition().attrTween("d",(function(e){var t=function(e){var t,r=v.getPtId(e),i=j[r],a=j[v.getPtId(S)];if(a){var o=(e.x1>a.x1?2*Math.PI:0)+V;t=e.rpx1Z?2*Math.PI:0)+V;t={x0:o,x1:o}}else t={rpx0:z,rpx1:z},a.extendFlat(t,J(e));else t={rpx0:0,rpx1:0};else t={x0:V,x1:V};return n(t,i)}(e);return function(e){return W(t(e))}})):h.attr("d",W),u.call(g,S,s,c,{eventDataKeys:y.eventDataKeys,transitionTime:y.CLICK_TRANSITION_TIME,transitionEasing:y.CLICK_TRANSITION_EASING}).call(v.setSliceCursor,s,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:s._transitioning}),h.call(p,r,A,s);var m=a.ensureSingle(u,"g","slicetext"),_=a.ensureSingle(m,"text","",(function(e){e.attr("data-notex",1)})),k=a.ensureUniformFontSize(s,v.determineTextFont(A,r,b.font));_.text(e.formatSliceLabel(r,S,A,c,b)).classed("slicetext",!0).attr("text-anchor","middle").call(i.font,k).call(o.convertToTspans,s);var M=i.bBox(_.node());r.transform=f(M,r,T),r.transform.targetX=Y(r),r.transform.targetY=X(r);var E=function(e,t){var r=e.transform;return d(r,t),r.fontSize=k.size,l(A.type,r,b),a.getTextTransform(r)};w?_.transition().attrTween("transform",(function(e){var t=function(e){var t,r=j[v.getPtId(e)],i=e.transform;if(r)t=r;else if(t={rpx1:e.rpx1,transform:{textPosAngle:i.textPosAngle,scale:0,rotate:i.rotate,rCenter:i.rCenter,x:i.x,y:i.y}},R)if(e.parent)if(Z){var o=e.x1>Z?2*Math.PI:0;t.x0=t.x1=o}else a.extendFlat(t,J(e));else t.x0=t.x1=V;else t.x0=t.x1=V;var s=n(t.transform.textPosAngle,e.transform.textPosAngle),c=n(t.rpx1,e.rpx1),u=n(t.x0,e.x0),h=n(t.x1,e.x1),d=n(t.transform.scale,i.scale),f=n(t.transform.rotate,i.rotate),p=0===i.rCenter?3:0===t.transform.rCenter?1/3:1,m=n(t.transform.rCenter,i.rCenter);return function(e){var t=c(e),r=u(e),n=h(e),a=function(e){return m(Math.pow(e,p))}(e),o={pxmid:G(t,(r+n)/2),rpx1:t,transform:{textPosAngle:s(e),rCenter:a,x:i.x,y:i.y}};return l(A.type,i,b),{transform:{targetX:Y(o),targetY:X(o),scale:d(e),rotate:f(e),rCenter:a}}}}(e);return function(e){return E(t(e),M)}})):_.attr("transform",E(r,M))}))}function _(e){return function(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}(e.rpx1,e.transform.textPosAngle)}e.plot=function(e,r,n,i){var a,o,s=e._fullLayout,l=s._sunburstlayer,u=!n,h=!s.uniformtext.mode&&v.hasTransition(n);c("sunburst",s),(a=l.selectAll("g.trace.sunburst").data(r,(function(e){return e[0].trace.uid}))).enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),a.order(),h?(i&&(o=i()),t.transition().duration(n.duration).ease(n.easing).each("end",(function(){o&&o()})).each("interrupt",(function(){o&&o()})).each((function(){l.selectAll("g.trace").each((function(t){b(e,t,this,n)}))}))):(a.each((function(t){b(e,t,this,n)})),s.uniformtext.mode&&m(e,s._sunburstlayer.selectAll(".trace"),"sunburst")),u&&a.exit().remove()},e.formatSliceLabel=function(e,t,r,n,i){var o=r.texttemplate,s=r.textinfo;if(!(o||s&&"none"!==s))return"";var l=i.separators,c=n[0],u=e.data.data,h=c.hierarchy,d=v.isHierarchyRoot(e),f=v.getParent(h,e),p=v.getValue(e);if(!o){var m,g=s.split("+"),y=function(e){return-1!==g.indexOf(e)},x=[];if(y("label")&&u.label&&x.push(u.label),u.hasOwnProperty("v")&&y("value")&&x.push(v.formatValue(u.v,l)),!d){y("current path")&&x.push(v.getPath(e.data));var b=0;y("percent parent")&&b++,y("percent entry")&&b++,y("percent root")&&b++;var _=b>1;if(b){var w,k=function(e){m=v.formatPercent(w,l),_&&(m+=" of "+e),x.push(m)};y("percent parent")&&!d&&(w=p/v.getValue(f),k("parent")),y("percent entry")&&(w=p/v.getValue(t),k("entry")),y("percent root")&&(w=p/v.getValue(h),k("root"))}}return y("text")&&(m=a.castOption(r,u.i,"text"),a.isValidTextValue(m)&&x.push(m)),x.join("
")}var T=a.castOption(r,u.i,"texttemplate");if(!T)return"";var A={};u.label&&(A.label=u.label),u.hasOwnProperty("v")&&(A.value=u.v,A.valueLabel=v.formatValue(u.v,l)),A.currentPath=v.getPath(e.data),d||(A.percentParent=p/v.getValue(f),A.percentParentLabel=v.formatPercent(A.percentParent,l),A.parent=v.getPtLabel(f)),A.percentEntry=p/v.getValue(t),A.percentEntryLabel=v.formatPercent(A.percentEntry,l),A.entry=v.getPtLabel(t),A.percentRoot=p/v.getValue(h),A.percentRootLabel=v.formatPercent(A.percentRoot,l),A.root=v.getPtLabel(h),u.hasOwnProperty("color")&&(A.color=u.color);var M=a.castOption(r,u.i,"text");return(a.isValidTextValue(M)||""===M)&&(A.text=M),A.customdata=a.castOption(r,u.i,"customdata"),a.texttemplateString({data:[A,r._meta],fallback:r.texttemplatefallback,labels:A,locale:i._d3locale,template:T})}}}),Mm=m({"src/traces/sunburst/index.js"(e,t){t.exports={moduleType:"trace",name:"sunburst",basePlotModule:Md(),categories:[],animatable:!0,attributes:Ed(),layoutAttributes:Cd(),supplyDefaults:Ld(),supplyLayoutDefaults:Id(),calc:zd().calc,crossTraceCalc:zd().crossTraceCalc,plot:Am().plot,style:wm().style,colorbar:ka(),meta:{}}}}),Sm=m({"lib/sunburst.js"(e,t){t.exports=Mm()}}),Em=m({"src/traces/treemap/base_plot.js"(e){var t=Er();e.name="treemap",e.plot=function(r,n,i,a){t.plotBasePlot(e.name,r,n,i,a)},e.clean=function(r,n,i,a){t.cleanBasePlot(e.name,r,n,i,a)}}}),Cm=m({"src/traces/treemap/constants.js"(e,t){t.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}}}),Lm=m({"src/traces/treemap/attributes.js"(e,t){var{hovertemplateAttrs:r,texttemplateAttrs:n,templatefallbackAttrs:i}=Lt(),a=Rr(),o=Do().attributes,s=md(),l=Ed(),c=Cm(),u=V().extendFlat,h=Et().pattern;t.exports={labels:l.labels,parents:l.parents,values:l.values,branchvalues:l.branchvalues,count:l.count,level:l.level,maxdepth:l.maxdepth,tiling:{packing:{valType:"enumerated",values:["squarify","binary","dice","slice","slice-dice","dice-slice"],dflt:"squarify",editType:"plot"},squarifyratio:{valType:"number",min:1,dflt:1,editType:"plot"},flip:{valType:"flaglist",flags:["x","y"],dflt:"",editType:"plot"},pad:{valType:"number",min:0,dflt:3,editType:"plot"},editType:"calc"},marker:u({pad:{t:{valType:"number",min:0,editType:"plot"},l:{valType:"number",min:0,editType:"plot"},r:{valType:"number",min:0,editType:"plot"},b:{valType:"number",min:0,editType:"plot"},editType:"calc"},colors:l.marker.colors,pattern:h,depthfade:{valType:"enumerated",values:[!0,!1,"reversed"],editType:"style"},line:l.marker.line,cornerradius:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},a("marker",{colorAttr:"colors",anim:!1})),pathbar:{visible:{valType:"boolean",dflt:!0,editType:"plot"},side:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},edgeshape:{valType:"enumerated",values:[">","<","|","/","\\"],dflt:">",editType:"plot"},thickness:{valType:"number",min:12,editType:"plot"},textfont:u({},s.textfont,{}),editType:"calc"},text:s.text,textinfo:l.textinfo,texttemplate:n({editType:"plot"},{keys:c.eventDataKeys.concat(["label","value"])}),texttemplatefallback:i({editType:"plot"}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:r({},{keys:c.eventDataKeys}),hovertemplatefallback:i(),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:u({},s.outsidetextfont,{}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"top left",editType:"plot"},sort:s.sort,root:l.root,domain:o({name:"treemap",trace:!0,editType:"calc"})}}}),Im=m({"src/traces/treemap/layout_attributes.js"(e,t){t.exports={treemapcolorway:{valType:"colorlist",editType:"calc"},extendtreemapcolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),Pm=m({"src/traces/treemap/defaults.js"(e,t){var r=dr(),n=Lm(),i=Fe(),a=Do().defaults,o=is().handleText,s=ya().TEXTPAD,l=gd().handleMarkerDefaults,c=Kr(),u=c.hasColorscale,h=c.handleDefaults;t.exports=function(e,t,c,d){function f(i,a){return r.coerce(e,t,n,i,a)}var p=f("labels"),m=f("parents");if(p&&p.length&&m&&m.length){var g=f("values");g&&g.length?f("branchvalues"):f("count"),f("level"),f("maxdepth"),"squarify"===f("tiling.packing")&&f("tiling.squarifyratio"),f("tiling.flip"),f("tiling.pad");var y=f("text");f("texttemplate"),f("texttemplatefallback"),t.texttemplate||f("textinfo",r.isArrayOrTypedArray(y)?"text+label":"label"),f("hovertext"),f("hovertemplate"),f("hovertemplatefallback");var v=f("pathbar.visible");o(e,t,d,f,"auto",{hasPathbar:v,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),f("textposition");var x=-1!==t.textposition.indexOf("bottom");l(e,t,d,f),(t._hasColorscale=u(e,"marker","colors")||(e.marker||{}).coloraxis)?h(e,t,d,f,{prefix:"marker.",cLetter:"c"}):f("marker.depthfade",!(t.marker.colors||[]).length);var b=2*t.textfont.size;f("marker.pad.t",x?b/4:b),f("marker.pad.l",b/4),f("marker.pad.r",b/4),f("marker.pad.b",x?b:b/4),f("marker.cornerradius"),t._hovered={marker:{line:{width:2,color:i.contrast(d.paper_bgcolor)}}},v&&(f("pathbar.thickness",t.pathbar.textfont.size+2*s),f("pathbar.side"),f("pathbar.edgeshape")),f("sort"),f("root.color"),a(t,d,f),t._length=null}else t.visible=!1}}}),zm=m({"src/traces/treemap/layout_defaults.js"(e,t){var r=dr(),n=Im();t.exports=function(e,t){function i(i,a){return r.coerce(e,t,n,i,a)}i("treemapcolorway",t.colorway),i("extendtreemapcolors")}}}),Om=m({"src/traces/treemap/calc.js"(e){var t=zd();e.calc=function(e,r){return t.calc(e,r)},e.crossTraceCalc=function(e){return t._runCrossTraceCalc("treemap",e)}}}),Dm=m({"src/traces/treemap/flip_tree.js"(e,t){t.exports=function e(t,r,n){var i;n.swapXY&&(i=t.x0,t.x0=t.y0,t.y0=i,i=t.x1,t.x1=t.y1,t.y1=i),n.flipX&&(i=t.x0,t.x0=r[0]-t.x1,t.x1=r[0]-i),n.flipY&&(i=t.y0,t.y0=r[1]-t.y1,t.y1=r[1]-i);var a=t.children;if(a)for(var o=0;o0)for(var _=0;_").join(" ")||"";var m=n.ensureSingle(f,"g","slicetext"),T=n.ensureSingle(m,"text","",(function(e){e.attr("data-notex",1)})),L=n.ensureUniformFontSize(e,c.determineTextFont(I,o,C.font,{onPathbar:!0}));T.text(o._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(i.font,L).call(a.convertToTspans,e),o.textBB=i.bBox(T.node()),o.transform=_(o,{fontSize:L.size,onPathbar:!0}),o.transform.fontSize=L.size,k?T.transition().attrTween("transform",(function(e){var t=M(e,h,S,[g,y]);return function(e){return w(t(e))}})):T.attr("transform",w(o))}))}}}),Bm=m({"src/traces/treemap/plot_one.js"(e,t){var r=w(),n=(bm(),x(xm)).interpolate,i=km(),a=dr(),o=ya().TEXTPAD,s=hs().toMoveInsideBar,l=ls().recordMinTextSize,c=Cm(),u=Fm();function h(e){return i.isHierarchyRoot(e)?"":i.getPtId(e)}t.exports=function(e,t,d,f,p){var m=e._fullLayout,g=t[0],y=g.trace,v="icicle"===y.type,x=g.hierarchy,b=i.findEntryWithLevel(x,y.level),_=r.select(d),w=_.selectAll("g.pathbar"),k=_.selectAll("g.slice");if(!b)return w.remove(),void k.remove();var T=i.isHierarchyRoot(b),A=!m.uniformtext.mode&&i.hasTransition(f),M=i.getMaxDepth(y),S=m._size,E=y.domain,C=S.w*(E.x[1]-E.x[0]),L=S.h*(E.y[1]-E.y[0]),I=C,P=y.pathbar.thickness,z=y.marker.line.width+c.gapWithPathbar,O=y.pathbar.visible?y.pathbar.side.indexOf("bottom")>-1?L+z:-(P+z):0,D={x0:I,x1:I,y0:O,y1:O+P},R=function(e,t,r){var n=y.tiling.pad,i=function(e){return e-n<=t.x0},a=function(e){return e+n>=t.x1},o=function(e){return e-n<=t.y0},s=function(e){return e+n>=t.y1};return e.x0===t.x0&&e.x1===t.x1&&e.y0===t.y0&&e.y1===t.y1?{x0:e.x0,x1:e.x1,y0:e.y0,y1:e.y1}:{x0:i(e.x0-n)?0:a(e.x0-n)?r[0]:e.x0,x1:i(e.x1+n)?0:a(e.x1+n)?r[0]:e.x1,y0:o(e.y0-n)?0:s(e.y0-n)?r[1]:e.y0,y1:o(e.y1+n)?0:s(e.y1+n)?r[1]:e.y1}},j=null,F={},B={},N=null,U=function(e,t){return t?F[h(e)]:B[h(e)]};g.hasMultipleRoots&&T&&M++,y._maxDepth=M,y._backgroundColor=m.paper_bgcolor,y._entryDepth=b.data.depth,y._atRootLevel=T;var V=-C/2+S.l+S.w*(E.x[1]+E.x[0])/2,q=-L/2+S.t+S.h*(1-(E.y[1]+E.y[0])/2),H=function(e){return V+e},G=function(e){return q+e},W=G(0),Y=H(0),X=function(e){return Y+e},Z=function(e){return W+e};function $(e,t){return e+","+t}var K=X(0),J=function(e){e.x=Math.max(K,e.x)},Q=y.pathbar.edgeshape,ee=y[v?"tiling":"marker"].pad,te=function(e){return-1!==y.textposition.indexOf(e)},re=te("top"),ne=te("left"),ie=te("right"),ae=te("bottom"),oe=function(e,t){var r=e.x0,n=e.x1,i=e.y0,a=e.y1,c=e.textBB,u=re||t.isHeader&&!ae?"start":ae?"end":"middle",h=te("right"),d=te("left")||t.onPathbar?-1:h?1:0;if(t.isHeader){if((r+=(v?ee:ee.l)-o)>=(n-=(v?ee:ee.r)-o)){var f=(r+n)/2;r=f,n=f}var p;ae?i<(p=a-(v?ee:ee.b))&&p"===Q?(l.x-=a,c.x-=a,u.x-=a,h.x-=a):"/"===Q?(u.x-=a,h.x-=a,o.x-=a/2,s.x-=a/2):"\\"===Q?(l.x-=a,c.x-=a,o.x-=a/2,s.x-=a/2):"<"===Q&&(o.x-=a,s.x-=a),J(l),J(h),J(o),J(c),J(u),J(s),"M"+$(l.x,l.y)+"L"+$(c.x,c.y)+"L"+$(s.x,s.y)+"L"+$(u.x,u.y)+"L"+$(h.x,h.y)+"L"+$(o.x,o.y)+"Z"},toMoveInsideSlice:oe,makeUpdateSliceInterpolator:le,makeUpdateTextInterpolator:ce,handleSlicesExit:ue,hasTransition:A,strTransform:he}):w.remove()}}}),Nm=m({"src/traces/treemap/draw.js"(e,t){var r=w(),n=km(),i=ls().clearMinTextSize,a=us().resizeText,o=Bm();t.exports=function(e,t,s,l,c){var u,h,d=c.type,f=c.drawDescendants,p=e._fullLayout,m=p["_"+d+"layer"],g=!s;i(d,p),(u=m.selectAll("g.trace."+d).data(t,(function(e){return e[0].trace.uid}))).enter().append("g").classed("trace",!0).classed(d,!0),u.order(),!p.uniformtext.mode&&n.hasTransition(s)?(l&&(h=l()),r.transition().duration(s.duration).ease(s.easing).each("end",(function(){h&&h()})).each("interrupt",(function(){h&&h()})).each((function(){m.selectAll("g.trace").each((function(t){o(e,t,this,s,f)}))}))):(u.each((function(t){o(e,t,this,s,f)})),p.uniformtext.mode&&a(e,m.selectAll(".trace"),d)),g&&u.exit().remove()}}}),Um=m({"src/traces/treemap/draw_descendants.js"(e,t){var r=w(),n=dr(),i=nn(),a=Ir(),o=Rm(),s=jm().styleOne,l=Cm(),c=km(),u=Tm(),h=Am().formatSliceLabel,d=!1;t.exports=function(e,t,f,p,m){var g=m.width,y=m.height,v=m.viewX,x=m.viewY,b=m.pathSlice,_=m.toMoveInsideSlice,w=m.strTransform,k=m.hasTransition,T=m.handleSlicesExit,A=m.makeUpdateSliceInterpolator,M=m.makeUpdateTextInterpolator,S=m.prevEntry,E=e._context.staticPlot,C=e._fullLayout,L=t[0].trace,I=-1!==L.textposition.indexOf("left"),P=-1!==L.textposition.indexOf("right"),z=-1!==L.textposition.indexOf("bottom"),O=!z&&!L.marker.pad.t||z&&!L.marker.pad.b,D=o(f,[g,y],{packing:L.tiling.packing,squarifyratio:L.tiling.squarifyratio,flipX:L.tiling.flip.indexOf("x")>-1,flipY:L.tiling.flip.indexOf("y")>-1,pad:{inner:L.tiling.pad,top:L.marker.pad.t,left:L.marker.pad.l,right:L.marker.pad.r,bottom:L.marker.pad.b}}).descendants(),R=1/0,j=-1/0;D.forEach((function(e){var t=e.depth;t>=L._maxDepth?(e.x0=e.x1=(e.x0+e.x1)/2,e.y0=e.y1=(e.y0+e.y1)/2):(R=Math.min(R,t),j=Math.max(j,t))})),p=p.data(D,c.getPtId),L._maxVisibleLayers=isFinite(j)?j-R+1:0,p.enter().append("g").classed("slice",!0),T(p,d,{},[g,y],b),p.order();var F=null;if(k&&S){var B=c.getPtId(S);p.each((function(e){null===F&&c.getPtId(e)===B&&(F={x0:e.x0,x1:e.x1,y0:e.y0,y1:e.y1})}))}var N=function(){return F||{x0:0,x1:g,y0:0,y1:y}},U=p;return k&&(U=U.transition().each("end",(function(){var t=r.select(this);c.setSliceCursor(t,e,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),U.each((function(o){var p=c.isHeader(o,L);o._x0=v(o.x0),o._x1=v(o.x1),o._y0=x(o.y0),o._y1=x(o.y1),o._hoverX=v(o.x1-L.marker.pad.r),o._hoverY=x(z?o.y1-L.marker.pad.b/2:o.y0+L.marker.pad.t/2);var m=r.select(this),T=n.ensureSingle(m,"path","surface",(function(e){e.style("pointer-events",E?"none":"all")}));k?T.transition().attrTween("d",(function(e){var t=A(e,d,N(),[g,y]);return function(e){return b(t(e))}})):T.attr("d",b),m.call(u,f,e,t,{styleOne:s,eventDataKeys:l.eventDataKeys,transitionTime:l.CLICK_TRANSITION_TIME,transitionEasing:l.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,e,{isTransitioning:e._transitioning}),T.call(s,o,L,e,{hovered:!1}),o.x0===o.x1||o.y0===o.y1?o._text="":o._text=p?O?"":c.getPtLabel(o)||"":h(o,f,L,t,C)||"";var S=n.ensureSingle(m,"g","slicetext"),D=n.ensureSingle(S,"text","",(function(e){e.attr("data-notex",1)})),R=n.ensureUniformFontSize(e,c.determineTextFont(L,o,C.font)),j=o._text||" ",F=p&&-1===j.indexOf("
");D.text(j).classed("slicetext",!0).attr("text-anchor",P?"end":I||F?"start":"middle").call(i.font,R).call(a.convertToTspans,e),o.textBB=i.bBox(D.node()),o.transform=_(o,{fontSize:R.size,isHeader:p}),o.transform.fontSize=R.size,k?D.transition().attrTween("transform",(function(e){var t=M(e,d,N(),[g,y]);return function(e){return w(t(e))}})):D.attr("transform",w(o))})),F}}}),Vm=m({"src/traces/treemap/plot.js"(e,t){var r=Nm(),n=Um();t.exports=function(e,t,i,a){return r(e,t,i,a,{type:"treemap",drawDescendants:n})}}}),qm=m({"src/traces/treemap/index.js"(e,t){t.exports={moduleType:"trace",name:"treemap",basePlotModule:Em(),categories:[],animatable:!0,attributes:Lm(),layoutAttributes:Im(),supplyDefaults:Pm(),supplyLayoutDefaults:zm(),calc:Om().calc,crossTraceCalc:Om().crossTraceCalc,plot:Vm(),style:jm().style,colorbar:ka(),meta:{}}}}),Hm=m({"lib/treemap.js"(e,t){t.exports=qm()}}),Gm=m({"src/traces/icicle/base_plot.js"(e){var t=Er();e.name="icicle",e.plot=function(r,n,i,a){t.plotBasePlot(e.name,r,n,i,a)},e.clean=function(r,n,i,a){t.cleanBasePlot(e.name,r,n,i,a)}}}),Wm=m({"src/traces/icicle/attributes.js"(e,t){var{hovertemplateAttrs:r,texttemplateAttrs:n,templatefallbackAttrs:i}=Lt(),a=Rr(),o=Do().attributes,s=md(),l=Ed(),c=Lm(),u=Cm(),h=V().extendFlat,d=Et().pattern;t.exports={labels:l.labels,parents:l.parents,values:l.values,branchvalues:l.branchvalues,count:l.count,level:l.level,maxdepth:l.maxdepth,tiling:{orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"plot"},flip:c.tiling.flip,pad:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},marker:h({colors:l.marker.colors,line:l.marker.line,pattern:d,editType:"calc"},a("marker",{colorAttr:"colors",anim:!1})),leaf:l.leaf,pathbar:c.pathbar,text:s.text,textinfo:l.textinfo,texttemplate:n({editType:"plot"},{keys:u.eventDataKeys.concat(["label","value"])}),texttemplatefallback:i({editType:"plot"}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:r({},{keys:u.eventDataKeys}),hovertemplatefallback:i(),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:c.outsidetextfont,textposition:c.textposition,sort:s.sort,root:l.root,domain:o({name:"icicle",trace:!0,editType:"calc"})}}}),Ym=m({"src/traces/icicle/layout_attributes.js"(e,t){t.exports={iciclecolorway:{valType:"colorlist",editType:"calc"},extendiciclecolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),Xm=m({"src/traces/icicle/defaults.js"(e,t){var r=dr(),n=Wm(),i=Fe(),a=Do().defaults,o=is().handleText,s=ya().TEXTPAD,l=gd().handleMarkerDefaults,c=Kr(),u=c.hasColorscale,h=c.handleDefaults;t.exports=function(e,t,c,d){function f(i,a){return r.coerce(e,t,n,i,a)}var p=f("labels"),m=f("parents");if(p&&p.length&&m&&m.length){var g=f("values");g&&g.length?f("branchvalues"):f("count"),f("level"),f("maxdepth"),f("tiling.orientation"),f("tiling.flip"),f("tiling.pad");var y=f("text");f("texttemplate"),f("texttemplatefallback"),t.texttemplate||f("textinfo",r.isArrayOrTypedArray(y)?"text+label":"label"),f("hovertext"),f("hovertemplate"),f("hovertemplatefallback");var v=f("pathbar.visible");o(e,t,d,f,"auto",{hasPathbar:v,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),f("textposition"),l(e,t,d,f);var x=t._hasColorscale=u(e,"marker","colors")||(e.marker||{}).coloraxis;x&&h(e,t,d,f,{prefix:"marker.",cLetter:"c"}),f("leaf.opacity",x?1:.7),t._hovered={marker:{line:{width:2,color:i.contrast(d.paper_bgcolor)}}},v&&(f("pathbar.thickness",t.pathbar.textfont.size+2*s),f("pathbar.side"),f("pathbar.edgeshape")),f("sort"),f("root.color"),a(t,d,f),t._length=null}else t.visible=!1}}}),Zm=m({"src/traces/icicle/layout_defaults.js"(e,t){var r=dr(),n=Ym();t.exports=function(e,t){function i(i,a){return r.coerce(e,t,n,i,a)}i("iciclecolorway",t.colorway),i("extendiciclecolors")}}}),$m=m({"src/traces/icicle/calc.js"(e){var t=zd();e.calc=function(e,r){return t.calc(e,r)},e.crossTraceCalc=function(e){return t._runCrossTraceCalc("icicle",e)}}}),Km=m({"src/traces/icicle/partition.js"(e,t){var r=Pd(),n=Dm();t.exports=function(e,t,i){var a=i.flipX,o=i.flipY,s="h"===i.orientation,l=i.maxDepth,c=t[0],u=t[1];l&&(c=(e.height+1)*t[0]/Math.min(e.height+1,l),u=(e.height+1)*t[1]/Math.min(e.height+1,l));var h=r.partition().padding(i.pad.inner).size(s?[t[1],c]:[t[0],u])(e);return(s||a||o)&&n(h,t,{swapXY:s,flipX:a,flipY:o}),h}}}),Jm=m({"src/traces/icicle/style.js"(e,t){var r=w(),n=Fe(),i=dr(),a=ls().resizeText,o=_m();function s(e,t,r,a){var s=t.data.data,l=!t.children,c=s.i,u=i.castOption(r,c,"marker.line.color")||n.defaultLine,h=i.castOption(r,c,"marker.line.width")||0;e.call(o,t,r,a).style("stroke-width",h).call(n.stroke,u).style("opacity",l?r.leaf.opacity:null)}t.exports={style:function(e){var t=e._fullLayout._iciclelayer.selectAll(".trace");a(e,t,"icicle"),t.each((function(t){var n=r.select(this),i=t[0].trace;n.style("opacity",i.opacity),n.selectAll("path.surface").each((function(t){r.select(this).call(s,t,i,e)}))}))},styleOne:s}}}),Qm=m({"src/traces/icicle/draw_descendants.js"(e,t){var r=w(),n=dr(),i=nn(),a=Ir(),o=Km(),s=Jm().styleOne,l=Cm(),c=km(),u=Tm(),h=Am().formatSliceLabel,d=!1;t.exports=function(e,t,f,p,m){var g=m.width,y=m.height,v=m.viewX,x=m.viewY,b=m.pathSlice,_=m.toMoveInsideSlice,w=m.strTransform,k=m.hasTransition,T=m.handleSlicesExit,A=m.makeUpdateSliceInterpolator,M=m.makeUpdateTextInterpolator,S=m.prevEntry,E=e._context.staticPlot,C=e._fullLayout,L=t[0].trace,I=-1!==L.textposition.indexOf("left"),P=-1!==L.textposition.indexOf("right"),z=-1!==L.textposition.indexOf("bottom"),O=o(f,[g,y],{flipX:L.tiling.flip.indexOf("x")>-1,flipY:L.tiling.flip.indexOf("y")>-1,orientation:L.tiling.orientation,pad:{inner:L.tiling.pad},maxDepth:L._maxDepth}).descendants(),D=1/0,R=-1/0;O.forEach((function(e){var t=e.depth;t>=L._maxDepth?(e.x0=e.x1=(e.x0+e.x1)/2,e.y0=e.y1=(e.y0+e.y1)/2):(D=Math.min(D,t),R=Math.max(R,t))})),p=p.data(O,c.getPtId),L._maxVisibleLayers=isFinite(R)?R-D+1:0,p.enter().append("g").classed("slice",!0),T(p,d,{},[g,y],b),p.order();var j=null;if(k&&S){var F=c.getPtId(S);p.each((function(e){null===j&&c.getPtId(e)===F&&(j={x0:e.x0,x1:e.x1,y0:e.y0,y1:e.y1})}))}var B=function(){return j||{x0:0,x1:g,y0:0,y1:y}},N=p;return k&&(N=N.transition().each("end",(function(){var t=r.select(this);c.setSliceCursor(t,e,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),N.each((function(o){o._x0=v(o.x0),o._x1=v(o.x1),o._y0=x(o.y0),o._y1=x(o.y1),o._hoverX=v(o.x1-L.tiling.pad),o._hoverY=x(z?o.y1-L.tiling.pad/2:o.y0+L.tiling.pad/2);var p=r.select(this),m=n.ensureSingle(p,"path","surface",(function(e){e.style("pointer-events",E?"none":"all")}));k?m.transition().attrTween("d",(function(e){var t=A(e,d,B(),[g,y],{orientation:L.tiling.orientation,flipX:L.tiling.flip.indexOf("x")>-1,flipY:L.tiling.flip.indexOf("y")>-1});return function(e){return b(t(e))}})):m.attr("d",b),p.call(u,f,e,t,{styleOne:s,eventDataKeys:l.eventDataKeys,transitionTime:l.CLICK_TRANSITION_TIME,transitionEasing:l.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,e,{isTransitioning:e._transitioning}),m.call(s,o,L,e,{hovered:!1}),o.x0===o.x1||o.y0===o.y1?o._text="":o._text=h(o,f,L,t,C)||"";var T=n.ensureSingle(p,"g","slicetext"),S=n.ensureSingle(T,"text","",(function(e){e.attr("data-notex",1)})),O=n.ensureUniformFontSize(e,c.determineTextFont(L,o,C.font));S.text(o._text||" ").classed("slicetext",!0).attr("text-anchor",P?"end":I?"start":"middle").call(i.font,O).call(a.convertToTspans,e),o.textBB=i.bBox(S.node()),o.transform=_(o,{fontSize:O.size}),o.transform.fontSize=O.size,k?S.transition().attrTween("transform",(function(e){var t=M(e,d,B(),[g,y]);return function(e){return w(t(e))}})):S.attr("transform",w(o))})),j}}}),eg=m({"src/traces/icicle/plot.js"(e,t){var r=Nm(),n=Qm();t.exports=function(e,t,i,a){return r(e,t,i,a,{type:"icicle",drawDescendants:n})}}}),tg=m({"src/traces/icicle/index.js"(e,t){t.exports={moduleType:"trace",name:"icicle",basePlotModule:Gm(),categories:[],animatable:!0,attributes:Wm(),layoutAttributes:Ym(),supplyDefaults:Xm(),supplyLayoutDefaults:Zm(),calc:$m().calc,crossTraceCalc:$m().crossTraceCalc,plot:eg(),style:Jm().style,colorbar:ka(),meta:{}}}}),rg=m({"lib/icicle.js"(e,t){t.exports=tg()}}),ng=m({"src/traces/funnelarea/base_plot.js"(e){var t=Er();e.name="funnelarea",e.plot=function(r,n,i,a){t.plotBasePlot(e.name,r,n,i,a)},e.clean=function(r,n,i,a){t.cleanBasePlot(e.name,r,n,i,a)}}}),ig=m({"src/traces/funnelarea/attributes.js"(e,t){var r=md(),n=Y(),i=Do().attributes,{hovertemplateAttrs:a,texttemplateAttrs:o,templatefallbackAttrs:s}=Lt(),l=V().extendFlat;t.exports={labels:r.labels,label0:r.label0,dlabel:r.dlabel,values:r.values,marker:{colors:r.marker.colors,line:{color:l({},r.marker.line.color,{dflt:null}),width:l({},r.marker.line.width,{dflt:1}),editType:"calc"},pattern:r.marker.pattern,editType:"calc"},text:r.text,hovertext:r.hovertext,scalegroup:l({},r.scalegroup,{}),textinfo:l({},r.textinfo,{flags:["label","text","value","percent"]}),texttemplate:o({editType:"plot"},{keys:["label","color","value","text","percent"]}),texttemplatefallback:s({editType:"plot"}),hoverinfo:l({},n.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:a({},{keys:["label","color","value","text","percent"]}),hovertemplatefallback:s(),textposition:l({},r.textposition,{values:["inside","none"],dflt:"inside"}),textfont:r.textfont,insidetextfont:r.insidetextfont,title:{text:r.title.text,font:r.title.font,position:l({},r.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:i({name:"funnelarea",trace:!0,editType:"calc"}),aspectratio:{valType:"number",min:0,dflt:1,editType:"plot"},baseratio:{valType:"number",min:0,max:1,dflt:.333,editType:"plot"}}}}),ag=m({"src/traces/funnelarea/layout_attributes.js"(e,t){var r=yd().hiddenlabels;t.exports={hiddenlabels:r,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),og=m({"src/traces/funnelarea/defaults.js"(e,t){var r=dr(),n=ig(),i=Do().defaults,a=is().handleText,o=gd().handleLabelsAndValues,s=gd().handleMarkerDefaults;t.exports=function(e,t,l,c){function u(i,a){return r.coerce(e,t,n,i,a)}var h=u("labels"),d=u("values"),f=o(h,d),p=f.len;if(t._hasLabels=f.hasLabels,t._hasValues=f.hasValues,!t._hasLabels&&t._hasValues&&(u("label0"),u("dlabel")),p){t._length=p,s(e,t,c,u),u("scalegroup");var m,g=u("text"),y=u("texttemplate");if(u("texttemplatefallback"),y||(m=u("textinfo",Array.isArray(g)?"text+percent":"percent")),u("hovertext"),u("hovertemplate"),u("hovertemplatefallback"),y||m&&"none"!==m){var v=u("textposition");a(e,t,c,u,v,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else"none"===m&&u("textposition","none");i(t,c,u),u("title.text")&&(u("title.position"),r.coerceFont(u,"title.font",c.font)),u("aspectratio"),u("baseratio")}else t.visible=!1}}}),sg=m({"src/traces/funnelarea/layout_defaults.js"(e,t){var r=dr(),n=ag();t.exports=function(e,t){function i(i,a){return r.coerce(e,t,n,i,a)}i("hiddenlabels"),i("funnelareacolorway",t.colorway),i("extendfunnelareacolors")}}}),lg=m({"src/traces/funnelarea/calc.js"(e,t){var r=xd();t.exports={calc:function(e,t){return r.calc(e,t)},crossTraceCalc:function(e){r.crossTraceCalc(e,{type:"funnelarea"})}}}}),cg=m({"src/traces/funnelarea/plot.js"(e,t){var r=w(),n=nn(),i=dr(),a=i.strScale,o=i.strTranslate,s=Ir(),l=hs().toMoveInsideBar,c=ls(),u=c.recordMinTextSize,h=c.clearMinTextSize,d=Mn(),f=_d(),p=f.attachFxHandlers,m=f.determineInsideTextFont,g=f.layoutAreas,y=f.prerenderTitles,v=f.positionTitleOutside,x=f.formatSliceLabel;function b(e,t){return"l"+(t[0]-e[0])+","+(t[1]-e[1])}function _(e,t){return[.5*(e[0]+t[0]),.5*(e[1]+t[1])]}t.exports=function(e,t){var c=e._context.staticPlot,f=e._fullLayout;h("funnelarea",f),y(t,e),g(t,f._size),i.makeTraceGroups(f._funnelarealayer,t,"trace").each((function(t){var h=r.select(this),g=t[0],y=g.trace;(function(e){if(e.length){var t=e[0],r=t.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a,o,s,l=Math.pow(i,2),c=t.vTotal,u=c,h=c*l/(1-l)/c,d=[];for(d.push(S()),o=e.length-1;o>-1;o--)if(!(s=e[o]).hidden){var f=s.v/u;h+=f,d.push(S())}var p=1/0,m=-1/0;for(o=0;o-1;o--)if(!(s=e[o]).hidden){var A=d[T+=1][0],M=d[T][1];s.TL=[-A,M],s.TR=[A,M],s.BL=w,s.BR=k,s.pxmid=_(s.TR,s.BR),w=s.TL,k=s.TR}}function S(){var e=function(){var e=Math.sqrt(h);return{x:e,y:-e}}();return[e.x,e.y]}})(t),h.each((function(){var h=r.select(this).selectAll("g.slice").data(t);h.enter().append("g").classed("slice",!0),h.exit().remove(),h.each((function(a,o){if(a.hidden)r.select(this).selectAll("path,g").remove();else{a.pointNumber=a.i,a.curveNumber=y.index;var h=g.cx,v=g.cy,_=r.select(this),w=_.selectAll("path.surface").data([a]);w.enter().append("path").classed("surface",!0).style({"pointer-events":c?"none":"all"}),_.call(p,e,t);var k="M"+(h+a.TR[0])+","+(v+a.TR[1])+b(a.TR,a.BR)+b(a.BR,a.BL)+b(a.BL,a.TL)+"Z";w.attr("d",k),x(e,a,g);var T=d.castOption(y.textposition,a.pts),A=_.selectAll("g.slicetext").data(a.text&&"none"!==T?[0]:[]);A.enter().append("g").classed("slicetext",!0),A.exit().remove(),A.each((function(){var c=i.ensureSingle(r.select(this),"text","",(function(e){e.attr("data-notex",1)})),d=i.ensureUniformFontSize(e,m(y,a,f.font));c.text(a.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(n.font,d).call(s.convertToTspans,e);var p,g,x,b=n.bBox(c.node()),_=Math.min(a.BL[1],a.BR[1])+v,w=Math.max(a.TL[1],a.TR[1])+v;g=Math.max(a.TL[0],a.BL[0])+h,x=Math.min(a.TR[0],a.BR[0])+h,(p=l(g,x,_,w,b,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"})).fontSize=d.size,u(y.type,p,f),t[o].transform=p,i.setTransormAndDisplay(c,p)}))}}));var _=r.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);_.enter().append("g").classed("titletext",!0),_.exit().remove(),_.each((function(){var t=i.ensureSingle(r.select(this),"text","",(function(e){e.attr("data-notex",1)})),l=y.title.text;y._meta&&(l=i.templateString(l,y._meta)),t.text(l).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(n.font,y.title.font).call(s.convertToTspans,e);var c=v(g,f._size);t.attr("transform",o(c.x,c.y)+a(Math.min(1,c.scale))+o(c.tx,c.ty))}))}))}))}}}),ug=m({"src/traces/funnelarea/style.js"(e,t){var r=w(),n=En(),i=ls().resizeText;t.exports=function(e){var t=e._fullLayout._funnelarealayer.selectAll(".trace");i(e,t,"funnelarea"),t.each((function(t){var i=t[0].trace,a=r.select(this);a.style({opacity:i.opacity}),a.selectAll("path.surface").each((function(t){r.select(this).call(n,t,i,e)}))}))}}}),hg=m({"src/traces/funnelarea/index.js"(e,t){t.exports={moduleType:"trace",name:"funnelarea",basePlotModule:ng(),categories:["pie-like","funnelarea","showLegend"],attributes:ig(),layoutAttributes:ag(),supplyDefaults:og(),supplyLayoutDefaults:sg(),calc:lg().calc,crossTraceCalc:lg().crossTraceCalc,plot:cg(),style:ug(),styleOne:En(),meta:{}}}}),dg=m({"lib/funnelarea.js"(e,t){t.exports=hg()}}),fg=m({"stackgl_modules/index.js"(e,t){!function(){var e={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){var n=r(7507),i=r(3778),a="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.hp=l,t.IS=50;var o=2147483647;function s(e){if(e>o)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return h(e)}return c(e,t,r)}function c(e,t,r){if("string"==typeof e)return function(e,t){if(("string"!=typeof t||""===t)&&(t="utf8"),!l.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var r=0|m(e,t),n=s(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(U(e,Uint8Array)){var t=new Uint8Array(e);return f(t.buffer,t.byteOffset,t.byteLength)}return d(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(U(e,ArrayBuffer)||e&&U(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(U(e,SharedArrayBuffer)||e&&U(e.buffer,SharedArrayBuffer)))return f(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return l.from(n,t,r);var i=function(e){if(l.isBuffer(e)){var t=0|p(e.length),r=s(t);return 0===r.length||e.copy(r,0,0,t),r}return void 0!==e.length?"number"!=typeof e.length||V(e.length)?s(0):d(e):"Buffer"===e.type&&Array.isArray(e.data)?d(e.data):void 0}(e);if(i)return i;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return l.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function h(e){return u(e),s(e<0?0:0|p(e))}function d(e){for(var t=e.length<0?0:0|p(e.length),r=s(t),n=0;n=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|e}function m(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||U(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return F(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return B(e).length;default:if(i)return n?-1:F(e).length;t=(""+t).toLowerCase(),i=!0}}function g(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length||((void 0===r||r>this.length)&&(r=this.length),r<=0)||(r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return L(this,t,r);case"utf8":case"utf-8":return M(this,t,r);case"ascii":return E(this,t,r);case"latin1":case"binary":return C(this,t,r);case"base64":return A(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function y(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function v(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),V(r=+r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=l.from(t,n)),l.isBuffer(t))return 0===t.length?-1:x(e,t,r,n,i);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):x(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function x(e,t,r,n,i){var a,o=1,s=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var u=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var h=!0,d=0;di&&(n=i):n=i;var a=t.length;n>a/2&&(n=a/2);for(var o=0;o>8,i=r%256,a.push(i),a.push(n);return a}(t,e.length-r),e,r,n)}function A(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function M(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:c>223?3:c>191?2:1;if(i+h<=r)switch(h){case 1:c<128&&(u=c);break;case 2:128==(192&(a=e[i+1]))&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:a=e[i+1],o=e[i+2],128==(192&a)&&128==(192&o)&&(l=(15&c)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:a=e[i+1],o=e[i+2],s=e[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=h}return function(e){var t=e.length;if(t<=S)return String.fromCharCode.apply(String,e);for(var r="",n=0;nn.length?l.from(a).copy(n,i):Uint8Array.prototype.set.call(n,a,i);else{if(!l.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},l.byteLength=m,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;tr&&(e+=" ... "),""},a&&(l.prototype[a]=l.prototype.inspect),l.prototype.compare=function(e,t,r,n,i){if(U(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(t>>>=0),s=Math.min(a,o),c=this.slice(n,i),u=e.slice(t,r),h=0;h>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return b(this,e,t,r);case"utf8":case"utf-8":return _(this,e,t,r);case"ascii":case"latin1":case"binary":return w(this,e,t,r);case"base64":return k(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,e,t,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var S=4096;function E(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;in)&&(r=n);for(var i="",a=t;ar)throw new RangeError("Trying to access beyond buffer length")}function z(e,t,r,n,i,a){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function O(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function D(e,t,r,n,a){return t=+t,r>>>=0,a||O(e,0,r,4),i.write(e,t,r,n,23,4),r+4}function R(e,t,r,n,a){return t=+t,r>>>=0,a||O(e,0,r,8),i.write(e,t,r,n,52,8),r+8}l.prototype.slice=function(e,t){var r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||P(e,t,this.length);for(var n=this[e],i=1,a=0;++a>>=0,t>>>=0,r||P(e,t,this.length);for(var n=this[e+--t],i=1;t>0&&(i*=256);)n+=this[e+--t]*i;return n},l.prototype.readUint8=l.prototype.readUInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),this[e]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||P(e,t,this.length);for(var n=this[e],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*t)),n},l.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||P(e,t,this.length);for(var n=t,i=1,a=this[e+--n];n>0&&(i*=256);)a+=this[e+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},l.prototype.readInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||P(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt16BE=function(e,t){e>>>=0,t||P(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return e>>>=0,t||P(e,4,this.length),i.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||P(e,4,this.length),i.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||P(e,8,this.length),i.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||P(e,8,this.length),i.read(this,e,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(e,t,r,n){e=+e,t>>>=0,r>>>=0,n||z(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[t]=255&e;++a>>=0,r>>>=0,n||z(this,e,t,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[t+i]=255&e;--i>=0&&(a*=256);)this[t+i]=e/a&255;return t+r},l.prototype.writeUint8=l.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||z(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||z(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||z(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||z(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||z(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var i=Math.pow(2,8*r-1);z(this,e,t,r,i-1,-i)}var a=0,o=1,s=0;for(this[t]=255&e;++a>>=0,!n){var i=Math.pow(2,8*r-1);z(this,e,t,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/o|0)-s&255;return t+r},l.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||z(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||z(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||z(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||z(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||z(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeFloatLE=function(e,t,r){return D(this,e,t,!0,r)},l.prototype.writeFloatBE=function(e,t,r){return D(this,e,t,!1,r)},l.prototype.writeDoubleLE=function(e,t,r){return R(this,e,t,!0,r)},l.prototype.writeDoubleBE=function(e,t,r){return R(this,e,t,!1,r)},l.prototype.copy=function(e,t,r,n){if(!l.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),!n&&0!==n&&(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(a=t;a55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function B(e){return n.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(j,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function N(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function U(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function V(e){return e!=e}var q=function(){for(var e="0123456789abcdef",t=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)t[n+i]=e[r]+e[i];return t}()},9216:function(e){e.exports=i,e.exports.isMobile=i,e.exports.default=i;let 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/,n=/android|ipad|playbook|silk/i;function i(e){e||(e={});let i=e.ua;if(!i&&typeof navigator<"u"&&(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),"string"!=typeof i)return!1;let a=t.test(i)&&!r.test(i)||!!e.tablet&&n.test(i);return!a&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf("Macintosh")&&-1!==i.indexOf("Safari")&&(a=!0),a}},6296:function(e,t,r){e.exports=function(e){var t=(e=e||{}).eye||[0,0,1],r=e.center||[0,0,0],s=e.up||[0,1,0],l=e.distanceLimits||[0,1/0],c=e.mode||"turntable",u=n(),h=i(),d=a();return u.setDistanceLimits(l[0],l[1]),u.lookAt(0,t,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,t,r,s),d.setDistanceLimits(l[0],l[1]),d.lookAt(0,t,r,s),new o({turntable:u,orbit:h,matrix:d},c)};var n=r(7261),i=r(9977),a=r(1811);function o(e,t){this._controllerNames=Object.keys(e),this._controllerList=this._controllerNames.map((function(t){return e[t]})),this._mode=t,this._active=e[t],this._active||(this._mode="turntable",this._active=e.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;s.flush=function(e){for(var t=this._controllerList,r=0;r"u"?r(1538):WeakMap,i=r(2762),a=r(8116),o=new n;e.exports=function(e){var t=o.get(e),r=t&&(t._triangleBuffer.handle||t._triangleBuffer.buffer);if(!r||!e.isBuffer(r)){var n=i(e,new Float32Array([-1,-1,-1,4,4,-1]));(t=a(e,[{buffer:n,type:e.FLOAT,size:2}]))._triangleBuffer=n,o.set(e,t)}t.bind(),e.drawArrays(e.TRIANGLES,0,3),t.unbind()}},1085:function(e,t,r){var n=r(1371);e.exports=function(e,t,r){t="number"==typeof t?t:1,r=r||": ";var i=e.split(/\r?\n/),a=String(i.length+t-1).length;return i.map((function(e,i){var o=i+t,s=String(o).length;return n(o,a-s)+r+e})).join("\n")}},3952:function(e,t,r){e.exports=function(e){var t=e.length;if(0===t)return[];if(1===t)return[0];for(var r=e[0].length,n=[e[0]],a=[0],o=1;o0?o-4:o;for(r=0;r>16&255,c[u++]=t>>8&255,c[u++]=255&t;return 2===l&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,c[u++]=255&t),1===l&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t),c},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,a=[],o=16383,s=0,l=n-i;sl?l:s+o));return 1===i?(t=e[n-1],a.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],a.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"=")),a.join("")};for(var r=[],n=[],i=typeof Uint8Array<"u"?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=a[o],n[a.charCodeAt(o)]=o;function s(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function l(e){return r[e>>18&63]+r[e>>12&63]+r[e>>6&63]+r[63&e]}function c(e,t,r){for(var n,i=[],a=t;a0?c=c.ushln(h):h<0&&(u=u.ushln(-h)),s(c,u)}},6330:function(e,t,r){var n=r(1533);e.exports=function(e){return Array.isArray(e)&&2===e.length&&n(e[0])&&n(e[1])}},5716:function(e,t,r){var n=r(6859);e.exports=function(e){return e.cmp(new n(0))}},1369:function(e,t,r){var n=r(5716);e.exports=function(e){var t=e.length,r=e.words,i=0;if(1===t)i=r[0];else if(2===t)i=r[0]+67108864*r[1];else for(var a=0;a20?52:r+32}},1533:function(e,t,r){r(6859),e.exports=function(e){return e&&"object"==typeof e&&!!e.words}},2651:function(e,t,r){var n=r(6859),i=r(2361);e.exports=function(e){var t=i.exponent(e);return t<52?new n(e):new n(e*Math.pow(2,52-t)).ushln(t-52)}},869:function(e,t,r){var n=r(2651),i=r(5716);e.exports=function(e,t){var r=i(e),a=i(t);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(e=e.neg(),t=t.neg());var o=e.gcd(t);return o.cmpn(1)?[e.div(o),t.div(o)]:[e,t]}},6768:function(e,t,r){var n=r(6859);e.exports=function(e){return new n(e)}},6504:function(e,t,r){var n=r(869);e.exports=function(e,t){return n(e[0].mul(t[0]),e[1].mul(t[1]))}},7721:function(e,t,r){var n=r(5716);e.exports=function(e){return n(e[0])*n(e[1])}},5572:function(e,t,r){var n=r(869);e.exports=function(e,t){return n(e[0].mul(t[1]).sub(e[1].mul(t[0])),e[1].mul(t[1]))}},946:function(e,t,r){var n=r(1369),i=r(4025);e.exports=function(e){var t=e[0],r=e[1];if(0===t.cmpn(0))return 0;var a=t.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,c=t.negative!==r.negative?-1:1;if(0===l.cmpn(0))return c*s;if(s){var u=i(s)+4;return c*(s+(d=n(l.ushln(u).divRound(r)))*Math.pow(2,-u))}var h=r.bitLength()-l.bitLength()+53,d=n(l.ushln(h).divRound(r));return h<1023?c*d*Math.pow(2,-h):c*(d*=Math.pow(2,-1023))*Math.pow(2,1023-h)}},2478:function(e){function t(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)>=0?(a=o,i=o-1):n=o+1}return a}function r(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)>0?(a=o,i=o-1):n=o+1}return a}function n(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)<0?(a=o,n=o+1):i=o-1}return a}function i(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)<=0?(a=o,n=o+1):i=o-1}return a}function a(e,t,r,n,i){for(;n<=i;){var a=n+i>>>1,o=e[a],s=void 0!==r?r(o,t):o-t;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(e,t,r,n,i,a){return"function"==typeof r?a(e,t,r,void 0===n?0:0|n,void 0===i?e.length-1:0|i):a(e,t,void 0,void 0===r?0:0|r,void 0===n?e.length-1:0|n)}e.exports={ge:function(e,r,n,i,a){return o(e,r,n,i,a,t)},gt:function(e,t,n,i,a){return o(e,t,n,i,a,r)},lt:function(e,t,r,i,a){return o(e,t,r,i,a,n)},le:function(e,t,r,n,a){return o(e,t,r,n,a,i)},eq:function(e,t,r,n,i){return o(e,t,r,n,i,a)}}},8828:function(e,t){function r(e){var t=32;return(e&=-e)&&t--,65535&e&&(t-=16),16711935&e&&(t-=8),252645135&e&&(t-=4),858993459&e&&(t-=2),1431655765&e&&(t-=1),t}t.INT_BITS=32,t.INT_MAX=2147483647,t.INT_MIN=-1<<31,t.sign=function(e){return(e>0)-(e<0)},t.abs=function(e){var t=e>>31;return(e^t)-t},t.min=function(e,t){return t^(e^t)&-(e65535)<<4,t|=r=((e>>>=t)>255)<<3,t|=r=((e>>>=r)>15)<<2,(t|=r=((e>>>=r)>3)<<1)|(e>>>=r)>>1},t.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0},t.popCount=function(e){return 16843009*((e=(858993459&(e-=e>>>1&1431655765))+(e>>>2&858993459))+(e>>>4)&252645135)>>>24},t.countTrailingZeros=r,t.nextPow2=function(e){return e+=0===e,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,1+((e|=e>>>8)|e>>>16)},t.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,(e|=e>>>16)-(e>>>1)},t.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,27030>>>(e&=15)&1};var n=new Array(256);(function(e){for(var t=0;t<256;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;e[t]=n<>>8&255]<<16|n[e>>>16&255]<<8|n[e>>>24&255]},t.interleave2=function(e,t){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))<<1},t.deinterleave2=function(e,t){return(e=65535&((e=16711935&((e=252645135&((e=858993459&((e=e>>>t&1431655765)|e>>>1))|e>>>2))|e>>>4))|e>>>16))<<16>>16},t.interleave3=function(e,t,r){return e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2),(e|=(t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},t.deinterleave3=function(e,t){return(e=1023&((e=4278190335&((e=251719695&((e=3272356035&((e=e>>>t&1227133513)|e>>>2))|e>>>4))|e>>>8))|e>>>16))<<22>>22},t.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>r(e)+1}},6859:function(e,t,r){!function(e,t){function n(e,t){if(!e)throw new Error(t||"Assertion failed")}function i(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function a(e,t,r){if(a.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&(("le"===t||"be"===t)&&(r=t,t=10),this._init(e||0,t||10,r||"be"))}var o;"object"==typeof e?e.exports=a:t.BN=a,a.BN=a,a.wordSize=26;try{o=typeof window<"u"&&typeof window.Buffer<"u"?window.Buffer:r(7790).Buffer}catch{}function s(e,t){var r=e.charCodeAt(t);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function l(e,t,r){var n=s(e,r);return r-1>=t&&(n|=s(e,r-1)<<4),n}function c(e,t,r,n){for(var i=0,a=Math.min(e.length,r),o=t;o=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(e){return e instanceof a||null!==e&&"object"==typeof e&&e.constructor.wordSize===a.wordSize&&Array.isArray(e.words)},a.max=function(e,t){return e.cmp(t)>0?e:t},a.min=function(e,t){return e.cmp(t)<0?e:t},a.prototype._init=function(e,t,r){if("number"==typeof e)return this._initNumber(e,t,r);if("object"==typeof e)return this._initArray(e,t,r);"hex"===t&&(t=16),n(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i=0;i-=3)o=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[a]|=o<>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if("le"===r)for(i=0,a=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(e,t,r){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var n=0;n=t;n-=2)i=l(e,t,n)<=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;else for(n=(e.length-t)%2==0?t+1:t;n=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;this.strip()},a.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var a=e.length-r,o=a%n,s=Math.min(a,a-o)+r,l=0,u=r;u1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?""};var u=["","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"],h=[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],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var i=0|e.words[0],a=0|t.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var c=1;c>>26,h=67108863&l,d=Math.min(c,t.length-1),f=Math.max(0,c-e.length+1);f<=d;f++){var p=c-f|0;u+=(o=(i=0|e.words[p])*(a=0|t.words[f])+h)/67108864|0,h=67108863&o}r.words[c]=0|h,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}a.prototype.toString=function(e,t){var r;if(t=0|t||1,16===(e=e||10)||"hex"===e){r="";for(var i=0,a=0,o=0;o>>24-i&16777215,(i+=2)>=26&&(i-=26,o--),r=0!==a||o!==this.length-1?u[6-l.length]+l+r:l+r}for(0!==a&&(r=a.toString(16)+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(e===(0|e)&&e>=2&&e<=36){var c=h[e],f=d[e];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(f).toString(e);r=(p=p.idivn(f)).isZero()?m+r:u[c-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(e,t){return n(typeof o<"u"),this.toArrayLike(o,e,t)},a.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},a.prototype.toArrayLike=function(e,t,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,"byte array longer than desired length"),n(a>0,"Requested array length <= 0"),this.strip();var o,s,l="le"===t,c=new e(a),u=this.clone();if(l){for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[s]=o;for(;s=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},a.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 8191&t||(r+=13,t>>>=13),127&t||(r+=7,t>>>=7),15&t||(r+=4,t>>>=4),3&t||(r+=2,t>>>=2),1&t||r++,r},a.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},a.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},a.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;re.length?this.clone().iand(e):e.clone().iand(this)},a.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},a.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var n=0;ne.length?this.clone().ixor(e):e.clone().ixor(this)},a.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},a.prototype.inotn=function(e){n("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(e){return this.clone().inotn(e)},a.prototype.setn=function(e,t){n("number"==typeof e&&e>=0);var r=e/26|0,i=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<e.length?(r=this,n=e):(r=e,n=this);for(var i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ae.length?this.clone().iadd(e):e.clone().iadd(this)},a.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=e):(r=e,n=this);for(var a=0,o=0;o>26,this.words[o]=67108863&t;for(;0!==a&&o>26,this.words[o]=67108863&t;if(0===a&&o>>13,f=0|o[1],p=8191&f,m=f>>>13,g=0|o[2],y=8191&g,v=g>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],k=8191&w,T=w>>>13,A=0|o[5],M=8191&A,S=A>>>13,E=0|o[6],C=8191&E,L=E>>>13,I=0|o[7],P=8191&I,z=I>>>13,O=0|o[8],D=8191&O,R=O>>>13,j=0|o[9],F=8191&j,B=j>>>13,N=0|s[0],U=8191&N,V=N>>>13,q=0|s[1],H=8191&q,G=q>>>13,W=0|s[2],Y=8191&W,X=W>>>13,Z=0|s[3],$=8191&Z,K=Z>>>13,J=0|s[4],Q=8191&J,ee=J>>>13,te=0|s[5],re=8191&te,ne=te>>>13,ie=0|s[6],ae=8191&ie,oe=ie>>>13,se=0|s[7],le=8191&se,ce=se>>>13,ue=0|s[8],he=8191&ue,de=ue>>>13,fe=0|s[9],pe=8191&fe,me=fe>>>13;r.negative=e.negative^t.negative,r.length=19;var ge=(c+(n=Math.imul(h,U))|0)+((8191&(i=(i=Math.imul(h,V))+Math.imul(d,U)|0))<<13)|0;c=((a=Math.imul(d,V))+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(p,U),i=(i=Math.imul(p,V))+Math.imul(m,U)|0,a=Math.imul(m,V);var ye=(c+(n=n+Math.imul(h,H)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(d,H)|0))<<13)|0;c=((a=a+Math.imul(d,G)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(y,U),i=(i=Math.imul(y,V))+Math.imul(v,U)|0,a=Math.imul(v,V),n=n+Math.imul(p,H)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,H)|0,a=a+Math.imul(m,G)|0;var ve=(c+(n=n+Math.imul(h,Y)|0)|0)+((8191&(i=(i=i+Math.imul(h,X)|0)+Math.imul(d,Y)|0))<<13)|0;c=((a=a+Math.imul(d,X)|0)+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(b,U),i=(i=Math.imul(b,V))+Math.imul(_,U)|0,a=Math.imul(_,V),n=n+Math.imul(y,H)|0,i=(i=i+Math.imul(y,G)|0)+Math.imul(v,H)|0,a=a+Math.imul(v,G)|0,n=n+Math.imul(p,Y)|0,i=(i=i+Math.imul(p,X)|0)+Math.imul(m,Y)|0,a=a+Math.imul(m,X)|0;var xe=(c+(n=n+Math.imul(h,$)|0)|0)+((8191&(i=(i=i+Math.imul(h,K)|0)+Math.imul(d,$)|0))<<13)|0;c=((a=a+Math.imul(d,K)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(k,U),i=(i=Math.imul(k,V))+Math.imul(T,U)|0,a=Math.imul(T,V),n=n+Math.imul(b,H)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,H)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(y,Y)|0,i=(i=i+Math.imul(y,X)|0)+Math.imul(v,Y)|0,a=a+Math.imul(v,X)|0,n=n+Math.imul(p,$)|0,i=(i=i+Math.imul(p,K)|0)+Math.imul(m,$)|0,a=a+Math.imul(m,K)|0;var be=(c+(n=n+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,ee)|0)+Math.imul(d,Q)|0))<<13)|0;c=((a=a+Math.imul(d,ee)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,n=Math.imul(M,U),i=(i=Math.imul(M,V))+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(k,H)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(T,H)|0,a=a+Math.imul(T,G)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,X)|0,n=n+Math.imul(y,$)|0,i=(i=i+Math.imul(y,K)|0)+Math.imul(v,$)|0,a=a+Math.imul(v,K)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(m,Q)|0,a=a+Math.imul(m,ee)|0;var _e=(c+(n=n+Math.imul(h,re)|0)|0)+((8191&(i=(i=i+Math.imul(h,ne)|0)+Math.imul(d,re)|0))<<13)|0;c=((a=a+Math.imul(d,ne)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(C,U),i=(i=Math.imul(C,V))+Math.imul(L,U)|0,a=Math.imul(L,V),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(k,Y)|0,i=(i=i+Math.imul(k,X)|0)+Math.imul(T,Y)|0,a=a+Math.imul(T,X)|0,n=n+Math.imul(b,$)|0,i=(i=i+Math.imul(b,K)|0)+Math.imul(_,$)|0,a=a+Math.imul(_,K)|0,n=n+Math.imul(y,Q)|0,i=(i=i+Math.imul(y,ee)|0)+Math.imul(v,Q)|0,a=a+Math.imul(v,ee)|0,n=n+Math.imul(p,re)|0,i=(i=i+Math.imul(p,ne)|0)+Math.imul(m,re)|0,a=a+Math.imul(m,ne)|0;var we=(c+(n=n+Math.imul(h,ae)|0)|0)+((8191&(i=(i=i+Math.imul(h,oe)|0)+Math.imul(d,ae)|0))<<13)|0;c=((a=a+Math.imul(d,oe)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(P,U),i=(i=Math.imul(P,V))+Math.imul(z,U)|0,a=Math.imul(z,V),n=n+Math.imul(C,H)|0,i=(i=i+Math.imul(C,G)|0)+Math.imul(L,H)|0,a=a+Math.imul(L,G)|0,n=n+Math.imul(M,Y)|0,i=(i=i+Math.imul(M,X)|0)+Math.imul(S,Y)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(k,$)|0,i=(i=i+Math.imul(k,K)|0)+Math.imul(T,$)|0,a=a+Math.imul(T,K)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,ee)|0)+Math.imul(_,Q)|0,a=a+Math.imul(_,ee)|0,n=n+Math.imul(y,re)|0,i=(i=i+Math.imul(y,ne)|0)+Math.imul(v,re)|0,a=a+Math.imul(v,ne)|0,n=n+Math.imul(p,ae)|0,i=(i=i+Math.imul(p,oe)|0)+Math.imul(m,ae)|0,a=a+Math.imul(m,oe)|0;var ke=(c+(n=n+Math.imul(h,le)|0)|0)+((8191&(i=(i=i+Math.imul(h,ce)|0)+Math.imul(d,le)|0))<<13)|0;c=((a=a+Math.imul(d,ce)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(D,U),i=(i=Math.imul(D,V))+Math.imul(R,U)|0,a=Math.imul(R,V),n=n+Math.imul(P,H)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(z,H)|0,a=a+Math.imul(z,G)|0,n=n+Math.imul(C,Y)|0,i=(i=i+Math.imul(C,X)|0)+Math.imul(L,Y)|0,a=a+Math.imul(L,X)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,K)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,K)|0,n=n+Math.imul(k,Q)|0,i=(i=i+Math.imul(k,ee)|0)+Math.imul(T,Q)|0,a=a+Math.imul(T,ee)|0,n=n+Math.imul(b,re)|0,i=(i=i+Math.imul(b,ne)|0)+Math.imul(_,re)|0,a=a+Math.imul(_,ne)|0,n=n+Math.imul(y,ae)|0,i=(i=i+Math.imul(y,oe)|0)+Math.imul(v,ae)|0,a=a+Math.imul(v,oe)|0,n=n+Math.imul(p,le)|0,i=(i=i+Math.imul(p,ce)|0)+Math.imul(m,le)|0,a=a+Math.imul(m,ce)|0;var Te=(c+(n=n+Math.imul(h,he)|0)|0)+((8191&(i=(i=i+Math.imul(h,de)|0)+Math.imul(d,he)|0))<<13)|0;c=((a=a+Math.imul(d,de)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(F,U),i=(i=Math.imul(F,V))+Math.imul(B,U)|0,a=Math.imul(B,V),n=n+Math.imul(D,H)|0,i=(i=i+Math.imul(D,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(P,Y)|0,i=(i=i+Math.imul(P,X)|0)+Math.imul(z,Y)|0,a=a+Math.imul(z,X)|0,n=n+Math.imul(C,$)|0,i=(i=i+Math.imul(C,K)|0)+Math.imul(L,$)|0,a=a+Math.imul(L,K)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,ee)|0)+Math.imul(S,Q)|0,a=a+Math.imul(S,ee)|0,n=n+Math.imul(k,re)|0,i=(i=i+Math.imul(k,ne)|0)+Math.imul(T,re)|0,a=a+Math.imul(T,ne)|0,n=n+Math.imul(b,ae)|0,i=(i=i+Math.imul(b,oe)|0)+Math.imul(_,ae)|0,a=a+Math.imul(_,oe)|0,n=n+Math.imul(y,le)|0,i=(i=i+Math.imul(y,ce)|0)+Math.imul(v,le)|0,a=a+Math.imul(v,ce)|0,n=n+Math.imul(p,he)|0,i=(i=i+Math.imul(p,de)|0)+Math.imul(m,he)|0,a=a+Math.imul(m,de)|0;var Ae=(c+(n=n+Math.imul(h,pe)|0)|0)+((8191&(i=(i=i+Math.imul(h,me)|0)+Math.imul(d,pe)|0))<<13)|0;c=((a=a+Math.imul(d,me)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(F,H),i=(i=Math.imul(F,G))+Math.imul(B,H)|0,a=Math.imul(B,G),n=n+Math.imul(D,Y)|0,i=(i=i+Math.imul(D,X)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,X)|0,n=n+Math.imul(P,$)|0,i=(i=i+Math.imul(P,K)|0)+Math.imul(z,$)|0,a=a+Math.imul(z,K)|0,n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,ee)|0)+Math.imul(L,Q)|0,a=a+Math.imul(L,ee)|0,n=n+Math.imul(M,re)|0,i=(i=i+Math.imul(M,ne)|0)+Math.imul(S,re)|0,a=a+Math.imul(S,ne)|0,n=n+Math.imul(k,ae)|0,i=(i=i+Math.imul(k,oe)|0)+Math.imul(T,ae)|0,a=a+Math.imul(T,oe)|0,n=n+Math.imul(b,le)|0,i=(i=i+Math.imul(b,ce)|0)+Math.imul(_,le)|0,a=a+Math.imul(_,ce)|0,n=n+Math.imul(y,he)|0,i=(i=i+Math.imul(y,de)|0)+Math.imul(v,he)|0,a=a+Math.imul(v,de)|0;var Me=(c+(n=n+Math.imul(p,pe)|0)|0)+((8191&(i=(i=i+Math.imul(p,me)|0)+Math.imul(m,pe)|0))<<13)|0;c=((a=a+Math.imul(m,me)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(F,Y),i=(i=Math.imul(F,X))+Math.imul(B,Y)|0,a=Math.imul(B,X),n=n+Math.imul(D,$)|0,i=(i=i+Math.imul(D,K)|0)+Math.imul(R,$)|0,a=a+Math.imul(R,K)|0,n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,ee)|0)+Math.imul(z,Q)|0,a=a+Math.imul(z,ee)|0,n=n+Math.imul(C,re)|0,i=(i=i+Math.imul(C,ne)|0)+Math.imul(L,re)|0,a=a+Math.imul(L,ne)|0,n=n+Math.imul(M,ae)|0,i=(i=i+Math.imul(M,oe)|0)+Math.imul(S,ae)|0,a=a+Math.imul(S,oe)|0,n=n+Math.imul(k,le)|0,i=(i=i+Math.imul(k,ce)|0)+Math.imul(T,le)|0,a=a+Math.imul(T,ce)|0,n=n+Math.imul(b,he)|0,i=(i=i+Math.imul(b,de)|0)+Math.imul(_,he)|0,a=a+Math.imul(_,de)|0;var Se=(c+(n=n+Math.imul(y,pe)|0)|0)+((8191&(i=(i=i+Math.imul(y,me)|0)+Math.imul(v,pe)|0))<<13)|0;c=((a=a+Math.imul(v,me)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(F,$),i=(i=Math.imul(F,K))+Math.imul(B,$)|0,a=Math.imul(B,K),n=n+Math.imul(D,Q)|0,i=(i=i+Math.imul(D,ee)|0)+Math.imul(R,Q)|0,a=a+Math.imul(R,ee)|0,n=n+Math.imul(P,re)|0,i=(i=i+Math.imul(P,ne)|0)+Math.imul(z,re)|0,a=a+Math.imul(z,ne)|0,n=n+Math.imul(C,ae)|0,i=(i=i+Math.imul(C,oe)|0)+Math.imul(L,ae)|0,a=a+Math.imul(L,oe)|0,n=n+Math.imul(M,le)|0,i=(i=i+Math.imul(M,ce)|0)+Math.imul(S,le)|0,a=a+Math.imul(S,ce)|0,n=n+Math.imul(k,he)|0,i=(i=i+Math.imul(k,de)|0)+Math.imul(T,he)|0,a=a+Math.imul(T,de)|0;var Ee=(c+(n=n+Math.imul(b,pe)|0)|0)+((8191&(i=(i=i+Math.imul(b,me)|0)+Math.imul(_,pe)|0))<<13)|0;c=((a=a+Math.imul(_,me)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(F,Q),i=(i=Math.imul(F,ee))+Math.imul(B,Q)|0,a=Math.imul(B,ee),n=n+Math.imul(D,re)|0,i=(i=i+Math.imul(D,ne)|0)+Math.imul(R,re)|0,a=a+Math.imul(R,ne)|0,n=n+Math.imul(P,ae)|0,i=(i=i+Math.imul(P,oe)|0)+Math.imul(z,ae)|0,a=a+Math.imul(z,oe)|0,n=n+Math.imul(C,le)|0,i=(i=i+Math.imul(C,ce)|0)+Math.imul(L,le)|0,a=a+Math.imul(L,ce)|0,n=n+Math.imul(M,he)|0,i=(i=i+Math.imul(M,de)|0)+Math.imul(S,he)|0,a=a+Math.imul(S,de)|0;var Ce=(c+(n=n+Math.imul(k,pe)|0)|0)+((8191&(i=(i=i+Math.imul(k,me)|0)+Math.imul(T,pe)|0))<<13)|0;c=((a=a+Math.imul(T,me)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(F,re),i=(i=Math.imul(F,ne))+Math.imul(B,re)|0,a=Math.imul(B,ne),n=n+Math.imul(D,ae)|0,i=(i=i+Math.imul(D,oe)|0)+Math.imul(R,ae)|0,a=a+Math.imul(R,oe)|0,n=n+Math.imul(P,le)|0,i=(i=i+Math.imul(P,ce)|0)+Math.imul(z,le)|0,a=a+Math.imul(z,ce)|0,n=n+Math.imul(C,he)|0,i=(i=i+Math.imul(C,de)|0)+Math.imul(L,he)|0,a=a+Math.imul(L,de)|0;var Le=(c+(n=n+Math.imul(M,pe)|0)|0)+((8191&(i=(i=i+Math.imul(M,me)|0)+Math.imul(S,pe)|0))<<13)|0;c=((a=a+Math.imul(S,me)|0)+(i>>>13)|0)+(Le>>>26)|0,Le&=67108863,n=Math.imul(F,ae),i=(i=Math.imul(F,oe))+Math.imul(B,ae)|0,a=Math.imul(B,oe),n=n+Math.imul(D,le)|0,i=(i=i+Math.imul(D,ce)|0)+Math.imul(R,le)|0,a=a+Math.imul(R,ce)|0,n=n+Math.imul(P,he)|0,i=(i=i+Math.imul(P,de)|0)+Math.imul(z,he)|0,a=a+Math.imul(z,de)|0;var Ie=(c+(n=n+Math.imul(C,pe)|0)|0)+((8191&(i=(i=i+Math.imul(C,me)|0)+Math.imul(L,pe)|0))<<13)|0;c=((a=a+Math.imul(L,me)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,n=Math.imul(F,le),i=(i=Math.imul(F,ce))+Math.imul(B,le)|0,a=Math.imul(B,ce),n=n+Math.imul(D,he)|0,i=(i=i+Math.imul(D,de)|0)+Math.imul(R,he)|0,a=a+Math.imul(R,de)|0;var Pe=(c+(n=n+Math.imul(P,pe)|0)|0)+((8191&(i=(i=i+Math.imul(P,me)|0)+Math.imul(z,pe)|0))<<13)|0;c=((a=a+Math.imul(z,me)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(F,he),i=(i=Math.imul(F,de))+Math.imul(B,he)|0,a=Math.imul(B,de);var ze=(c+(n=n+Math.imul(D,pe)|0)|0)+((8191&(i=(i=i+Math.imul(D,me)|0)+Math.imul(R,pe)|0))<<13)|0;c=((a=a+Math.imul(R,me)|0)+(i>>>13)|0)+(ze>>>26)|0,ze&=67108863;var Oe=(c+(n=Math.imul(F,pe))|0)+((8191&(i=(i=Math.imul(F,me))+Math.imul(B,pe)|0))<<13)|0;return c=((a=Math.imul(B,me))+(i>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,l[0]=ge,l[1]=ye,l[2]=ve,l[3]=xe,l[4]=be,l[5]=_e,l[6]=we,l[7]=ke,l[8]=Te,l[9]=Ae,l[10]=Me,l[11]=Se,l[12]=Ee,l[13]=Ce,l[14]=Le,l[15]=Ie,l[16]=Pe,l[17]=ze,l[18]=Oe,0!==c&&(l[19]=c,r.length++),r};function m(e,t,r){return(new g).mulp(e,t,r)}function g(e,t){this.x=e,this.y=t}Math.imul||(p=f),a.prototype.mulTo=function(e,t){var r,n=this.length+e.length;return r=10===this.length&&10===e.length?p(this,e,t):n<63?f(this,e,t):n<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,a=0;a>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,e,t):m(this,e,t),r},g.prototype.makeRBT=function(e){for(var t=new Array(e),r=a.prototype._countBits(e)-1,n=0;n>=1;return n},g.prototype.permute=function(e,t,r,n,i,a){for(var o=0;o>>=1)i++;return 1<>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*t;o>=26,t+=i/67108864|0,t+=a>>>26,this.words[r]=67108863&a}return 0!==t&&(this.words[r]=t,this.length++),this.length=0===e?1:this.length,this},a.prototype.muln=function(e){return this.clone().imuln(e)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r>>i}return t}(e);if(0===t.length)return new a(1);for(var r=this,n=0;n=0);var t,r=e%26,i=(e-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(t=0;t>>26-r}o&&(this.words[t]=o,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t=0),i=t?(t-t%26)/26:0;var a=e%26,o=Math.min((e-a)/26,this.length),s=67108863^67108863>>>a<o)for(this.length-=o,c=0;c=0&&(0!==u||c>=i);c--){var h=0|this.words[c];this.words[c]=u<<26-a|h>>>a,u=h&s}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(e,t,r){return n(0===this.negative),this.iushrn(e,t,r)},a.prototype.shln=function(e){return this.clone().ishln(e)},a.prototype.ushln=function(e){return this.clone().iushln(e)},a.prototype.shrn=function(e){return this.clone().ishrn(e)},a.prototype.ushrn=function(e){return this.clone().iushrn(e)},a.prototype.testn=function(e){n("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26,i=1<=0);var t=e%26,r=(e-t)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==t&&r++,this.length=Math.min(r,this.length),0!==t){var i=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},a.prototype.isubn=function(e){if(n("number"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(l/67108864|0),this.words[i+r]=67108863&o}for(;i>26,this.words[i+r]=67108863&o;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},a.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),i=e,o=0|i.words[i.length-1];0!=(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if("mod"!==t){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c=0;h--){var d=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(d=Math.min(d/o|0,67108863),n._ishlnsubmul(i,d,h);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=d)}return s&&s.strip(),n.strip(),"div"!==t&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(e,t,r){return n(!e.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(i=s.div.neg()),"div"!==t&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(e)),{div:i,mod:o}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(i=s.div.neg()),{div:i,mod:s.mod}):this.negative&e.negative?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(e)),{div:s.div,mod:o}):e.length>this.length||this.cmp(e)<0?{div:new a(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new a(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new a(this.modn(e.words[0]))}:this._wordDiv(e,t);var i,o,s},a.prototype.div=function(e){return this.divmod(e,"div",!1).div},a.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},a.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},a.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},a.prototype.modn=function(e){n(e<=67108863);for(var t=(1<<26)%e,r=0,i=this.length-1;i>=0;i--)r=(t*r+(0|this.words[i]))%e;return r},a.prototype.idivn=function(e){n(e<=67108863);for(var t=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*t;this.words[r]=i/e|0,t=i%e}return this.strip()},a.prototype.divn=function(e){return this.clone().idivn(e)},a.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new a(1),o=new a(0),s=new a(0),l=new a(1),c=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),h=t.clone();!t.isZero();){for(var d=0,f=1;!(t.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(t.iushrn(d);d-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(u),o.isub(h)),i.iushrn(1),o.iushrn(1);for(var p=0,m=1;!(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(u),l.isub(h)),s.iushrn(1),l.iushrn(1);t.cmp(r)>=0?(t.isub(r),i.isub(s),o.isub(l)):(r.isub(t),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(c)}},a.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var t,r=this,i=e.clone();r=0!==r.negative?r.umod(e):r.clone();for(var o=new a(1),s=new a(0),l=i.clone();r.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,u=1;!(r.words[0]&u)&&c<26;++c,u<<=1);if(c>0)for(r.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var h=0,d=1;!(i.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(i.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);r.cmp(i)>=0?(r.isub(i),o.isub(s)):(i.isub(r),s.isub(o))}return(t=0===r.cmpn(1)?o:s).cmpn(0)<0&&t.iadd(e),t},a.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var a=t;t=r,r=a}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},a.prototype.invm=function(e){return this.egcd(e).a.umod(e)},a.prototype.isEven=function(){return!(1&this.words[0])},a.prototype.isOdd=function(){return!(1&~this.words[0])},a.prototype.andln=function(e){return this.words[0]&e},a.prototype.bincn=function(e){n("number"==typeof e);var t=e%26,r=(e-t)/26,i=1<>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)t=1;else{r&&(e=-e),n(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:ie.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|e.words[r];if(n!==i){ni&&(t=1);break}}return t},a.prototype.gtn=function(e){return 1===this.cmpn(e)},a.prototype.gt=function(e){return 1===this.cmp(e)},a.prototype.gten=function(e){return this.cmpn(e)>=0},a.prototype.gte=function(e){return this.cmp(e)>=0},a.prototype.ltn=function(e){return-1===this.cmpn(e)},a.prototype.lt=function(e){return-1===this.cmp(e)},a.prototype.lten=function(e){return this.cmpn(e)<=0},a.prototype.lte=function(e){return this.cmp(e)<=0},a.prototype.eqn=function(e){return 0===this.cmpn(e)},a.prototype.eq=function(e){return 0===this.cmp(e)},a.red=function(e){return new k(e)},a.prototype.toRed=function(e){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},a.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(e){return this.red=e,this},a.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},a.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},a.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},a.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},a.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},a.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},a.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},a.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},a.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var y={k256:null,p224:null,p192:null,p25519:null};function v(e,t){this.name=e,this.p=new a(t,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function x(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function k(e){if("string"==typeof e){var t=a._prime(e);this.m=t.p,this.prime=t}else n(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function T(e){k.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(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)}v.prototype._tmp=function(){var e=new a(null);return e.words=new Array(Math.ceil(this.n/13)),e},v.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var n=t0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(e,t){e.iushrn(this.n,0,t)},v.prototype.imulK=function(e){return e.imul(this.k)},i(x,v),x.prototype.split=function(e,t){for(var r=4194303,n=Math.min(e.length,9),i=0;i>>22,a=o}a>>>=22,e.words[i-10]=a,0===a&&e.length>10?e.length-=10:e.length-=9},x.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},a._prime=function(e){if(y[e])return y[e];var t;if("k256"===e)t=new x;else if("p224"===e)t=new b;else if("p192"===e)t=new _;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new w}return y[e]=t,t},k.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},k.prototype._verify2=function(e,t){n(!(e.negative|t.negative),"red works only with positives"),n(e.red&&e.red===t.red,"red works only with red numbers")},k.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},k.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},k.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},k.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},k.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},k.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},k.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},k.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},k.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},k.prototype.isqr=function(e){return this.imul(e,e.clone())},k.prototype.sqr=function(e){return this.mul(e,e)},k.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(n(t%2==1),3===t){var r=this.m.add(new a(1)).iushrn(2);return this.pow(e,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new a(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var h=this.pow(u,i),d=this.pow(e,i.addn(1).iushrn(1)),f=this.pow(e,i),p=o;0!==f.cmp(s);){for(var m=f,g=0;0!==m.cmp(s);g++)m=m.redSqr();n(g=0;n--){for(var c=t.words[n],u=l-1;u>=0;u--){var h=c>>u&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==o?(o<<=1,o|=h,(4==++s||0===n&&0===u)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},k.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},k.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},a.mont=function(e){return new T(e)},i(T,k),T.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},T.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},T.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},T.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new a(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},T.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e=r.nmd(e),this)},6204:function(e){e.exports=function(e){var t,r,n,i=e.length,a=0;for(t=0;t>>1;if(!(u<=0)){var h,d=i.mallocDouble(2*u*s),f=i.mallocInt32(s);if((s=l(e,u,d,f))>0){if(1===u&&n)a.init(s),h=a.sweepComplete(u,r,0,s,d,f,0,s,d,f);else{var p=i.mallocDouble(2*u*c),m=i.mallocInt32(c);(c=l(t,u,p,m))>0&&(a.init(s+c),h=1===u?a.sweepBipartite(u,r,0,s,d,f,0,c,p,m):o(u,r,n,s,d,f,c,p,m),i.free(p),i.free(m))}i.free(d),i.free(f)}return h}}}function u(e,t){n.push([e,t])}},2455:function(e,t){function r(e){return e?function(e,t,r,n,i,a,o,s,l,c,u){return i-n>l-s?function(e,t,r,n,i,a,o,s,l,c,u){for(var h=2*e,d=n,f=h*n;dc-l?n?function(e,t,r,n,i,a,o,s,l,c,u){for(var h=2*e,d=n,f=h*n;d0;){var O=(P-=1)*b,D=w[O],R=w[O+1],j=w[O+2],F=w[O+3],B=w[O+4],N=w[O+5],U=P*_,V=k[U],q=k[U+1],H=1&N,G=!!(16&N),W=u,Y=S,X=C,Z=L;if(H&&(W=C,Y=L,X=u,Z=S),!(2&N&&(j=g(e,D,R,j,W,Y,q),R>=j)||4&N&&(R=y(e,D,R,j,W,Y,V),R>=j))){var $=j-R,K=B-F;if(G){if(e*$*($+K)=p0)&&!(p1>=hi)"),m=u("lo===p0"),g=u("lo>>1,d=2*e,f=h,p=s[d*h+t];c=x?(f=v,p=x):y>=_?(f=g,p=y):(f=b,p=_):x>=_?(f=v,p=x):_>=y?(f=g,p=y):(f=b,p=_);for(var w=d*(u-1),k=d*f,T=0;Tr&&i[h+t]>c;--u,h-=o){for(var d=h,f=h+o,p=0;pd;++d,l+=s)if(i[l+h]===o)if(u===d)u+=1,c+=s;else{for(var f=0;s>f;++f){var p=i[l+f];i[l+f]=i[c],i[c++]=p}var m=a[d];a[d]=a[u],a[u++]=m}return u},"lod;++d,l+=s)if(i[l+h]f;++f){var p=i[l+f];i[l+f]=i[c],i[c++]=p}var m=a[d];a[d]=a[u],a[u++]=m}return u},"lo<=p0":function(e,t,r,n,i,a,o){for(var s=2*e,l=s*r,c=l,u=r,h=e+t,d=r;n>d;++d,l+=s)if(i[l+h]<=o)if(u===d)u+=1,c+=s;else{for(var f=0;s>f;++f){var p=i[l+f];i[l+f]=i[c],i[c++]=p}var m=a[d];a[d]=a[u],a[u++]=m}return u},"hi<=p0":function(e,t,r,n,i,a,o){for(var s=2*e,l=s*r,c=l,u=r,h=e+t,d=r;n>d;++d,l+=s)if(i[l+h]<=o)if(u===d)u+=1,c+=s;else{for(var f=0;s>f;++f){var p=i[l+f];i[l+f]=i[c],i[c++]=p}var m=a[d];a[d]=a[u],a[u++]=m}return u},"lof;++f,l+=s){var p=i[l+h],m=i[l+d];if(pg;++g){var y=i[l+g];i[l+g]=i[c],i[c++]=y}var v=a[f];a[f]=a[u],a[u++]=v}}return u},"lo<=p0&&p0<=hi":function(e,t,r,n,i,a,o){for(var s=2*e,l=s*r,c=l,u=r,h=t,d=e+t,f=r;n>f;++f,l+=s){var p=i[l+h],m=i[l+d];if(p<=o&&o<=m)if(u===f)u+=1,c+=s;else{for(var g=0;s>g;++g){var y=i[l+g];i[l+g]=i[c],i[c++]=y}var v=a[f];a[f]=a[u],a[u++]=v}}return u},"!(lo>=p0)&&!(p1>=hi)":function(e,t,r,n,i,a,o,s){for(var l=2*e,c=l*r,u=c,h=r,d=t,f=e+t,p=r;n>p;++p,c+=l){var m=i[c+d],g=i[c+f];if(!(m>=o||s>=g))if(h===p)h+=1,u+=l;else{for(var y=0;l>y;++y){var v=i[c+y];i[c+y]=i[u],i[u++]=v}var x=a[p];a[p]=a[h],a[h++]=x}}return h}}},4192:function(e){e.exports=function(e,n){n<=4*t?r(0,n-1,e):c(0,n-1,e)};var t=32;function r(e,t,r){for(var n=2*(e+1),i=e+1;i<=t;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >e;){var c=r[l-2],u=r[l-1];if(cr[t+1])}function l(e,t,r,n){var i=n[e*=2];return i>1,g=m-d,y=m+d,v=f,x=g,b=m,_=y,w=p,k=e+1,T=u-1,A=0;s(v,x,h)&&(A=v,v=x,x=A),s(_,w,h)&&(A=_,_=w,w=A),s(v,b,h)&&(A=v,v=b,b=A),s(x,b,h)&&(A=x,x=b,b=A),s(v,_,h)&&(A=v,v=_,_=A),s(b,_,h)&&(A=b,b=_,_=A),s(x,w,h)&&(A=x,x=w,w=A),s(x,b,h)&&(A=x,x=b,b=A),s(_,w,h)&&(A=_,_=w,w=A);for(var M=h[2*x],S=h[2*x+1],E=h[2*_],C=h[2*_+1],L=2*v,I=2*b,P=2*w,z=2*f,O=2*m,D=2*p,R=0;R<2;++R){var j=h[L+R],F=h[I+R],B=h[P+R];h[z+R]=j,h[O+R]=F,h[D+R]=B}i(g,e,h),i(y,u,h);for(var N=k;N<=T;++N)if(l(N,M,S,h))N!==k&&n(N,k,h),++k;else if(!l(N,E,C,h))for(;;){if(l(T,E,C,h)){l(T,M,S,h)?(a(N,k,T,h),++k,--T):(n(N,T,h),--T);break}if(--T>>1;a(p,S);var E=0,C=0;for(k=0;k=o)m(u,h,C--,L=L-o|0);else if(L>=0)m(l,c,E--,L);else if(L<=-o){L=-L-o|0;for(var I=0;I>>1;a(p,E);var C=0,L=0,I=0;for(T=0;T>1==p[2*T+3]>>1&&(z=2,T+=1),P<0){for(var O=-(P>>1)-1,D=0;D>1)-1,0===z?m(l,c,C--,O):1===z?m(u,h,L--,O):2===z&&m(d,f,I--,O)}},scanBipartite:function(e,t,r,n,i,s,u,h,d,f,y,v){var x=0,b=2*e,_=t,w=t+e,k=1,T=1;n?T=o:k=o;for(var A=i;A>>1;a(p,C);var L=0;for(A=0;A=o?(P=!n,M-=o):(P=!!n,M-=1),P)g(l,c,L++,M);else{var z=v[M],O=b*M,D=y[O+t+1],R=y[O+t+1+e];e:for(var j=0;j>>1;a(p,k);var T=0;for(x=0;x=o)l[T++]=b-o;else{var M=f[b-=1],S=g*b,E=d[S+t+1],C=d[S+t+1+e];e:for(var L=0;L=0;--L)if(l[L]===b){for(O=L+1;O0;){for(var f=r.pop(),p=(u=-1,h=-1,l=o[s=r.pop()],1);p=0||(t.flip(s,f),i(e,t,r,u,s,h),i(e,t,r,s,h,u),i(e,t,r,h,f,u),i(e,t,r,f,u,h))}}},5023:function(e,t,r){var n,i=r(2478);function a(e,t,r,n,i,a,o){this.cells=e,this.neighbor=t,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function o(e,t){return e[0]-t[0]||e[1]-t[1]||e[2]-t[2]}e.exports=function(e,t,r){var n=function(e,t){for(var r=e.cells(),n=r.length,i=0;i0||l.length>0;){for(;s.length>0;){var f=s.pop();if(c[f]!==-i){c[f]=i,u[f];for(var p=0;p<3;++p){var m=d[3*f+p];m>=0&&0===c[m]&&(h[3*f+p]?l.push(m):(s.push(m),c[m]=i))}}}var g=l;l=s,s=g,l.length=0,i=-i}var y=function(e,t,r){for(var n=0,i=0;i1&&i(r[d[f-2]],r[d[f-1]],a)>0;)e.push([d[f-1],d[f-2],o]),f-=1;d.length=f,d.push(o);var p=h.upperIds;for(f=p.length;f>1&&i(r[p[f-2]],r[p[f-1]],a)<0;)e.push([p[f-2],p[f-1],o]),f-=1;p.length=f,p.push(o)}}function u(e,t){return(e.a[0]p[0]&&i.push(new o(p,f,2,l),new o(f,p,1,l))}i.sort(s);for(var m=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),g=[new a([m,1],[m,0],-1,[],[],[],[])],y=[],v=(l=0,i.length);l=0}}(),a.removeTriangle=function(e,t,r){var n=this.stars;o(n[e],t,r),o(n[t],r,e),o(n[r],e,t)},a.addTriangle=function(e,t,r){var n=this.stars;n[e].push(t,r),n[t].push(r,e),n[r].push(e,t)},a.opposite=function(e,t){for(var r=this.stars[t],n=1,i=r.length;nt[2]?1:0)}function y(e,t,r){if(0!==e.length){if(t)for(var n=0;n=0;--a){var x=t[u=(S=n[a])[0]],b=x[0],_=x[1],w=e[b],k=e[_];if((w[0]-k[0]||w[1]-k[1])<0){var T=b;b=_,_=T}x[0]=b;var A,M=x[1]=S[1];for(i&&(A=x[2]);a>0&&n[a-1][0]===u;){var S,E=(S=n[--a])[1];i?t.push([M,E,A]):t.push([M,E]),M=E}i?t.push([M,_,A]):t.push([M,_])}return d}(e,t,d,m,r),v=p(e,g);return y(t,v,r),!!v||d.length>0||m.length>0}},3637:function(e,t,r){e.exports=function(e,t,r,n){var a=s(t,e),h=s(n,r),d=u(a,h);if(0===o(d))return null;var f=u(h,s(e,r)),p=i(f,d),m=c(a,p);return l(e,m)};var n=r(6504),i=r(8697),a=r(5572),o=r(7721),s=r(544),l=r(2653),c=r(8987);function u(e,t){return a(n(e[0],t[1]),n(e[1],t[0]))}},3642:function(e){e.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],"rainbow-soft":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],"freesurface-blue":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],"freesurface-red":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],"velocity-blue":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],"velocity-green":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},6729:function(e,t,r){var n=r(3642),i=r(395);function a(e){return[e[0]/255,e[1]/255,e[2]/255,e[3]]}function o(e){for(var t,r="#",n=0;n<3;++n)r+=("00"+(t=(t=e[n]).toString(16))).substr(t.length);return r}function s(e){return"rgba("+e.join(",")+")"}e.exports=function(e){var t,r,l,c,u,h,d,f,p,m;if(e||(e={}),f=(e.nshades||72)-1,d=e.format||"hex",(h=e.colormap)||(h="jet"),"string"==typeof h){if(h=h.toLowerCase(),!n[h])throw Error(h+" not a supported colorscale");u=n[h]}else{if(!Array.isArray(h))throw Error("unsupported colormap option",h);u=h.slice()}if(u.length>f+1)throw new Error(h+" map requires nshades to be at least size "+u.length);p=Array.isArray(e.alpha)?2!==e.alpha.length?[1,1]:e.alpha.slice():"number"==typeof e.alpha?[e.alpha,e.alpha]:[1,1],t=u.map((function(e){return Math.round(e.index*f)})),p[0]=Math.min(Math.max(p[0],0),1),p[1]=Math.min(Math.max(p[1],0),1);var g=u.map((function(e,t){var r=u[t].index,n=u[t].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1||(n[3]=p[0]+(p[1]-p[0])*r),n})),y=[];for(m=0;m0||l(e,t,a)?-1:1:0===s?c>0||l(e,t,r)?1:-1:i(c-s)}var h=n(e,t,r);return h>0?o>0&&n(e,t,a)>0?1:-1:h<0?o>0||n(e,t,a)>0?1:-1:n(e,t,a)>0||l(e,t,r)?1:-1};var n=r(3250),i=r(8572),a=r(9362),o=r(5382),s=r(8210);function l(e,t,r){var n=a(e[0],-t[0]),i=a(e[1],-t[1]),l=a(r[0],-t[0]),c=a(r[1],-t[1]),u=s(o(n,l),o(i,c));return u[u.length-1]>=0}},8572:function(e){e.exports=function(e){return e<0?-1:e>0?1:0}},8507:function(e){e.exports=function(e,n){var i=e.length,a=e.length-n.length;if(a)return a;switch(i){case 0:return 0;case 1:return e[0]-n[0];case 2:return e[0]+e[1]-n[0]-n[1]||t(e[0],e[1])-t(n[0],n[1]);case 3:var o=e[0]+e[1],s=n[0]+n[1];if(a=o+e[2]-(s+n[2]))return a;var l=t(e[0],e[1]),c=t(n[0],n[1]);return t(l,e[2])-t(c,n[2])||t(l+e[2],o)-t(c+n[2],s);case 4:var u=e[0],h=e[1],d=e[2],f=e[3],p=n[0],m=n[1],g=n[2],y=n[3];return u+h+d+f-(p+m+g+y)||t(u,h,d,f)-t(p,m,g,y,p)||t(u+h,u+d,u+f,h+d,h+f,d+f)-t(p+m,p+g,p+y,m+g,m+y,g+y)||t(u+h+d,u+h+f,u+d+f,h+d+f)-t(p+m+g,p+m+y,p+g+y,m+g+y);default:for(var v=e.slice().sort(r),x=n.slice().sort(r),b=0;be[r][0]&&(r=n);return tr?[[r],[t]]:[[t]]}},4750:function(e,t,r){e.exports=function(e){var t=n(e),r=t.length;if(r<=2)return[];for(var i=new Array(r),a=t[r-1],o=0;o=t[l]&&(s+=1);a[o]=s}}return e}(n(a,!0),r)}};var n=r(8954),i=r(3952)},4769:function(e){e.exports=function(e,t,r,n,i,a){var o=i-1,s=i*i,l=o*o,c=(1+2*i)*l,u=i*l,h=s*(3-2*i),d=s*o;if(e.length){a||(a=new Array(e.length));for(var f=e.length-1;f>=0;--f)a[f]=c*e[f]+u*t[f]+h*r[f]+d*n[f];return a}return c*e+u*t+h*r+d*n},e.exports.derivative=function(e,t,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,c=3*i*i-2*i;if(e.length){a||(a=new Array(e.length));for(var u=e.length-1;u>=0;--u)a[u]=o*e[u]+s*t[u]+l*r[u]+c*n[u];return a}return o*e+s*t+l*r[u]+c*n}},7642:function(e,t,r){var n=r(8954),i=r(1682);function a(e,t){this.point=e,this.index=t}function o(e,t){for(var r=e.point,n=t.point,i=r.length,a=0;a=2)return!1;e[r]=n}return!0})):_.filter((function(e){for(var t=0;t<=s;++t){var r=y[e[t]];if(r<0)return!1;e[t]=r}return!0})),1&s)for(u=0;u<_.length;++u)d=(b=_[u])[0],b[0]=b[1],b[1]=d;return _}},2361:function(e){var t=!1;if(typeof Float64Array<"u"){var r=new Float64Array(1),n=new Uint32Array(r.buffer);if(r[0]=1,t=!0,1072693248===n[1]){let t=function(e,t){return n[0]=e,n[1]=t,r[0]},i=function(e){return r[0]=e,n[0]},a=function(e){return r[0]=e,n[1]};e.exports=function(e){return r[0]=e,[n[0],n[1]]},e.exports.pack=t,e.exports.lo=i,e.exports.hi=a}else if(1072693248===n[0]){let t=function(e,t){return n[1]=e,n[0]=t,r[0]},i=function(e){return r[0]=e,n[1]},a=function(e){return r[0]=e,n[0]};e.exports=function(e){return r[0]=e,[n[1],n[0]]},e.exports.pack=t,e.exports.lo=i,e.exports.hi=a}else t=!1}if(!t){let t=function(e,t){return i.writeUInt32LE(e,0,!0),i.writeUInt32LE(t,4,!0),i.readDoubleLE(0,!0)},r=function(e){return i.writeDoubleLE(e,0,!0),i.readUInt32LE(0,!0)},n=function(e){return i.writeDoubleLE(e,0,!0),i.readUInt32LE(4,!0)};var i=new Buffer(8);e.exports=function(e){return i.writeDoubleLE(e,0,!0),[i.readUInt32LE(0,!0),i.readUInt32LE(4,!0)]},e.exports.pack=t,e.exports.lo=r,e.exports.hi=n}e.exports.sign=function(t){return e.exports.hi(t)>>>31},e.exports.exponent=function(t){return(e.exports.hi(t)<<1>>>21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),i=1048575&n;return 2146435072&n&&(i+=1048576),[r,i]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}},1338:function(e){function t(e,r,n){var i=0|e[n];if(i<=0)return[];var a,o=new Array(i);if(n===e.length-1)for(a=0;a"u"&&(r=0),typeof e){case"number":if(e>0)return function(e,t){var r,n;for(r=new Array(e),n=0;n=r-1){d=l.length-1;var p=e-t[r-1];for(f=0;f=r-1)for(var u=s.length-1,h=(t[r-1],0);h=0;--r)if(e[--t])return!1;return!0},s.jump=function(e){var t=this.lastT(),r=this.dimension;if(!(e0;--h)n.push(a(l[h-1],c[h-1],arguments[h])),i.push(0)}},s.push=function(e){var t=this.lastT(),r=this.dimension;if(!(e1e-6?1/s:0;this._time.push(e);for(var d=r;d>0;--d){var f=a(c[d-1],u[d-1],arguments[d]);n.push(f),i.push((f-n[o++])*h)}}},s.set=function(e){var t=this.dimension;if(!(e0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(e){var t=this.lastT(),r=this.dimension;if(!(e<=t||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=e-t,h=u>1e-6?1/u:0;this._time.push(e);for(var d=r;d>0;--d){var f=arguments[d];n.push(a(l[d-1],c[d-1],n[o++]+f)),i.push(f*h)}}},s.idle=function(e){var t=this.lastT();if(!(e=0;--h)n.push(a(l[h],c[h],n[o]+u*i[o])),i.push(0),o+=1}}},3840:function(e){function t(e,t,r,n,i,a){this._color=e,this.key=t,this.value=r,this.left=n,this.right=i,this._count=a}function r(e){return new t(e._color,e.key,e.value,e.left,e.right,e._count)}function n(e,r){return new t(e,r.key,r.value,r.left,r.right,r._count)}function i(e){e._count=1+(e.left?e.left._count:0)+(e.right?e.right._count:0)}function a(e,t){this._compare=e,this.root=t}e.exports=function(e){return new a(e||f,null)};var o=a.prototype;function s(e,t){var r;return t.left&&(r=s(e,t.left))?r:(r=e(t.key,t.value))||(t.right?s(e,t.right):void 0)}function l(e,t,r,n){if(t(e,n.key)<=0){var i;if(n.left&&(i=l(e,t,r,n.left)))return i;if(i=r(n.key,n.value))return i}if(n.right)return l(e,t,r,n.right)}function c(e,t,r,n,i){var a,o=r(e,i.key),s=r(t,i.key);return o<=0&&(i.left&&(a=c(e,t,r,n,i.left))||s>0&&(a=n(i.key,i.value)))?a:s>0&&i.right?c(e,t,r,n,i.right):void 0}function u(e,t){this.tree=e,this._stack=t}Object.defineProperty(o,"keys",{get:function(){var e=[];return this.forEach((function(t,r){e.push(t)})),e}}),Object.defineProperty(o,"values",{get:function(){var e=[];return this.forEach((function(t,r){e.push(r)})),e}}),Object.defineProperty(o,"length",{get:function(){return this.root?this.root._count:0}}),o.insert=function(e,r){for(var o=this._compare,s=this.root,l=[],c=[];s;){var u=o(e,s.key);l.push(s),c.push(u),s=u<=0?s.left:s.right}l.push(new t(0,e,r,null,null,1));for(var h=l.length-2;h>=0;--h)s=l[h],c[h]<=0?l[h]=new t(s._color,s.key,s.value,l[h+1],s.right,s._count+1):l[h]=new t(s._color,s.key,s.value,s.left,l[h+1],s._count+1);for(h=l.length-1;h>1;--h){var d=l[h-1];if(s=l[h],1===d._color||1===s._color)break;var f=l[h-2];if(f.left===d)if(d.left===s){if(!(p=f.right)||0!==p._color){f._color=0,f.left=d.right,d._color=1,d.right=f,l[h-2]=d,l[h-1]=s,i(f),i(d),h>=3&&((m=l[h-3]).left===f?m.left=d:m.right=d);break}d._color=1,f.right=n(1,p),f._color=0,h-=1}else{if(!(p=f.right)||0!==p._color){d.right=s.left,f._color=0,f.left=s.right,s._color=1,s.left=d,s.right=f,l[h-2]=s,l[h-1]=d,i(f),i(d),i(s),h>=3&&((m=l[h-3]).left===f?m.left=s:m.right=s);break}d._color=1,f.right=n(1,p),f._color=0,h-=1}else if(d.right===s){if(!(p=f.left)||0!==p._color){f._color=0,f.right=d.left,d._color=1,d.left=f,l[h-2]=d,l[h-1]=s,i(f),i(d),h>=3&&((m=l[h-3]).right===f?m.right=d:m.left=d);break}d._color=1,f.left=n(1,p),f._color=0,h-=1}else{var p;if(!(p=f.left)||0!==p._color){var m;d.left=s.right,f._color=0,f.right=s.left,s._color=1,s.right=d,s.left=f,l[h-2]=s,l[h-1]=d,i(f),i(d),i(s),h>=3&&((m=l[h-3]).right===f?m.right=s:m.left=s);break}d._color=1,f.left=n(1,p),f._color=0,h-=1}}return l[0]._color=1,new a(o,l[0])},o.forEach=function(e,t,r){if(this.root)switch(arguments.length){case 1:return s(e,this.root);case 2:return l(t,this._compare,e,this.root);case 3:return this._compare(t,r)>=0?void 0:c(t,r,this._compare,e,this.root)}},Object.defineProperty(o,"begin",{get:function(){for(var e=[],t=this.root;t;)e.push(t),t=t.left;return new u(this,e)}}),Object.defineProperty(o,"end",{get:function(){for(var e=[],t=this.root;t;)e.push(t),t=t.right;return new u(this,e)}}),o.at=function(e){if(e<0)return new u(this,[]);for(var t=this.root,r=[];;){if(r.push(t),t.left){if(e=t.right._count)break;t=t.right}return new u(this,[])},o.ge=function(e){for(var t=this._compare,r=this.root,n=[],i=0;r;){var a=t(e,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new u(this,n)},o.gt=function(e){for(var t=this._compare,r=this.root,n=[],i=0;r;){var a=t(e,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new u(this,n)},o.lt=function(e){for(var t=this._compare,r=this.root,n=[],i=0;r;){var a=t(e,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new u(this,n)},o.le=function(e){for(var t=this._compare,r=this.root,n=[],i=0;r;){var a=t(e,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new u(this,n)},o.find=function(e){for(var t=this._compare,r=this.root,n=[];r;){var i=t(e,r.key);if(n.push(r),0===i)return new u(this,n);r=i<=0?r.left:r.right}return new u(this,[])},o.remove=function(e){var t=this.find(e);return t?t.remove():this},o.get=function(e){for(var t=this._compare,r=this.root;r;){var n=t(e,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var h=u.prototype;function d(e,t){e.key=t.key,e.value=t.value,e.left=t.left,e.right=t.right,e._color=t._color,e._count=t._count}function f(e,t){return et?1:0}Object.defineProperty(h,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(h,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),h.clone=function(){return new u(this.tree,this._stack.slice())},h.remove=function(){var e=this._stack;if(0===e.length)return this.tree;var o=new Array(e.length),s=e[e.length-1];o[o.length-1]=new t(s._color,s.key,s.value,s.left,s.right,s._count);for(var l=e.length-2;l>=0;--l)(s=e[l]).left===e[l+1]?o[l]=new t(s._color,s.key,s.value,o[l+1],s.right,s._count):o[l]=new t(s._color,s.key,s.value,s.left,o[l+1],s._count);if((s=o[o.length-1]).left&&s.right){var c=o.length;for(s=s.left;s.right;)o.push(s),s=s.right;var u=o[c-1];for(o.push(new t(s._color,u.key,u.value,s.left,s.right,s._count)),o[c-1].key=s.key,o[c-1].value=s.value,l=o.length-2;l>=c;--l)s=o[l],o[l]=new t(s._color,s.key,s.value,s.left,o[l+1],s._count);o[c-1].left=o[c]}if(0===(s=o[o.length-1])._color){var h=o[o.length-2];for(h.left===s?h.left=null:h.right===s&&(h.right=null),o.pop(),l=0;l=0;--l){if(t=e[l],0===l)return void(t._color=1);if((a=e[l-1]).left===t){if((o=a.right).right&&0===o.right._color)return s=(o=a.right=r(o)).right=r(o.right),a.right=o.left,o.left=a,o.right=s,o._color=a._color,t._color=1,a._color=1,s._color=1,i(a),i(o),l>1&&((c=e[l-2]).left===a?c.left=o:c.right=o),void(e[l-1]=o);if(o.left&&0===o.left._color)return s=(o=a.right=r(o)).left=r(o.left),a.right=s.left,o.left=s.right,s.left=a,s.right=o,s._color=a._color,a._color=1,o._color=1,t._color=1,i(a),i(o),i(s),l>1&&((c=e[l-2]).left===a?c.left=s:c.right=s),void(e[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.right=n(0,o));a.right=n(0,o);continue}o=r(o),a.right=o.left,o.left=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((c=e[l-2]).left===a?c.left=o:c.right=o),e[l-1]=o,e[l]=a,l+11&&((c=e[l-2]).right===a?c.right=o:c.left=o),void(e[l-1]=o);if(o.right&&0===o.right._color)return s=(o=a.left=r(o)).right=r(o.right),a.left=s.right,o.right=s.left,s.right=a,s.left=o,s._color=a._color,a._color=1,o._color=1,t._color=1,i(a),i(o),i(s),l>1&&((c=e[l-2]).right===a?c.right=s:c.left=s),void(e[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.left=n(0,o));a.left=n(0,o);continue}var c;o=r(o),a.left=o.right,o.right=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((c=e[l-2]).right===a?c.right=o:c.left=o),e[l-1]=o,e[l]=a,l+10)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(h,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(h,"index",{get:function(){var e=0,t=this._stack;if(0===t.length){var r=this.tree.root;return r?r._count:0}t[t.length-1].left&&(e=t[t.length-1].left._count);for(var n=t.length-2;n>=0;--n)t[n+1]===t[n].right&&(++e,t[n].left&&(e+=t[n].left._count));return e},enumerable:!0}),h.next=function(){var e=this._stack;if(0!==e.length){var t=e[e.length-1];if(t.right)for(t=t.right;t;)e.push(t),t=t.left;else for(e.pop();e.length>0&&e[e.length-1].right===t;)t=e[e.length-1],e.pop()}},Object.defineProperty(h,"hasNext",{get:function(){var e=this._stack;if(0===e.length)return!1;if(e[e.length-1].right)return!0;for(var t=e.length-1;t>0;--t)if(e[t-1].left===e[t])return!0;return!1}}),h.update=function(e){var r=this._stack;if(0===r.length)throw new Error("Can't update empty node!");var n=new Array(r.length),i=r[r.length-1];n[n.length-1]=new t(i._color,i.key,e,i.left,i.right,i._count);for(var o=r.length-2;o>=0;--o)(i=r[o]).left===r[o+1]?n[o]=new t(i._color,i.key,i.value,n[o+1],i.right,i._count):n[o]=new t(i._color,i.key,i.value,i.left,n[o+1],i._count);return new a(this.tree._compare,n[0])},h.prev=function(){var e=this._stack;if(0!==e.length){var t=e[e.length-1];if(t.left)for(t=t.left;t;)e.push(t),t=t.right;else for(e.pop();e.length>0&&e[e.length-1].left===t;)t=e[e.length-1],e.pop()}},Object.defineProperty(h,"hasPrev",{get:function(){var e=this._stack;if(0===e.length)return!1;if(e[e.length-1].left)return!0;for(var t=e.length-1;t>0;--t)if(e[t-1].right===e[t])return!0;return!1}})},3837:function(e,t,r){e.exports=function(e,t){var r=new f(e);return r.update(t),r};var n=r(4935),i=r(501),a=r(5304),o=r(6429),s=r(6444),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),c=ArrayBuffer,u=DataView;function h(e){return Array.isArray(e)||function(e){return c.isView(e)&&!(e instanceof u)}(e)}function d(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function f(e){this.gl=e,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=a(e)}var p=f.prototype;function m(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}p.update=function(e){function t(t,r,n){if(n in e){var i,a=e[n],o=this[n];(t?h(a)&&h(a[0]):h(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}e=e||{};var r,a=t.bind(this,!1,Number),o=t.bind(this,!1,Boolean),l=t.bind(this,!1,String),c=t.bind(this,!0,(function(e){if(h(e)){if(3===e.length)return[+e[0],+e[1],+e[2],1];if(4===e.length)return[+e[0],+e[1],+e[2],+e[3]]}return[0,0,0,1]})),u=!1,d=!1;if("bounds"in e)for(var f=e.bounds,p=0;p<2;++p)for(var m=0;m<3;++m)f[p][m]!==this.bounds[p][m]&&(d=!0),this.bounds[p][m]=f[p][m];if("ticks"in e)for(r=e.ticks,u=!0,this.autoTicks=!1,p=0;p<3;++p)this.tickSpacing[p]=0;else a("tickSpacing")&&(this.autoTicks=!0,d=!0);if(this._firstInit&&("ticks"in e||"tickSpacing"in e||(this.autoTicks=!0),d=!0,u=!0,this._firstInit=!1),d&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),u=!0),u){for(p=0;p<3;++p)r[p].sort((function(e,t){return e.x-t.x}));s.equal(r,this.ticks)?u=!1:this.ticks=r}o("tickEnable"),l("tickFont")&&(u=!0),l("tickFontStyle")&&(u=!0),l("tickFontWeight")&&(u=!0),l("tickFontVariant")&&(u=!0),a("tickSize"),a("tickAngle"),a("tickPad"),c("tickColor");var g=l("labels");l("labelFont")&&(g=!0),l("labelFontStyle")&&(g=!0),l("labelFontWeight")&&(g=!0),l("labelFontVariant")&&(g=!0),o("labelEnable"),a("labelSize"),a("labelPad"),c("labelColor"),o("lineEnable"),o("lineMirror"),a("lineWidth"),c("lineColor"),o("lineTickEnable"),o("lineTickMirror"),a("lineTickLength"),a("lineTickWidth"),c("lineTickColor"),o("gridEnable"),a("gridWidth"),c("gridColor"),o("zeroEnable"),c("zeroLineColor"),a("zeroLineWidth"),o("backgroundEnable"),c("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]}],v=[{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&&(g||u)&&this._text.update(this.bounds,this.labels,y,this.ticks,v):this._text=n(this.gl,this.bounds,this.labels,y,this.ticks,v),this._lines&&u&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=i(this.gl,this.bounds,this.ticks))};var g=[new m,new m,new m];function y(e,t,r,n,i){for(var a=e.primalOffset,o=e.primalMinor,s=e.mirrorOffset,l=e.mirrorMinor,c=n[t],u=0;u<3;++u)if(t!==u){var h=a,d=s,f=o,p=l;c&1<0?(f[u]=-1,p[u]=0):(f[u]=0,p[u]=1)}}var v=[0,0,0],x={model:l,view:l,projection:l,_ortho:!1};p.isOpaque=function(){return!0},p.isTransparent=function(){return!1},p.drawTransparent=function(e){};var b=[0,0,0],_=[0,0,0],w=[0,0,0];p.draw=function(e){e=e||x;for(var t=this.gl,r=e.model||l,n=e.view||l,i=e.projection||l,a=this.bounds,s=e._ortho||!1,c=o(r,n,i,a,s),u=c.cubeEdges,h=c.axis,f=n[12],p=n[13],m=n[14],k=n[15],T=(s?2:1)*this.pixelRatio*(i[3]*f+i[7]*p+i[11]*m+i[15]*k)/t.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=u[A],this.lastCubeProps.axis[A]=h[A];var M=g;for(A=0;A<3;++A)y(g[A],A,this.bounds,u,h);t=this.gl;var S,E,C,L,I,P,z,O,D,R,j,F,B=v;for(A=0;A<3;++A)this.backgroundEnable[A]?B[A]=h[A]:B[A]=0;for(this._background.draw(r,n,i,a,B,this.backgroundColor),this._lines.bind(r,n,i,this),A=0;A<3;++A){var N=[0,0,0];h[A]>0?N[A]=a[1][A]:N[A]=a[0][A];for(var U=0;U<2;++U){var V=(A+1+U)%3,q=(A+1+(1^U))%3;this.gridEnable[V]&&this._lines.drawGrid(V,q,this.bounds,N,this.gridColor[V],this.gridWidth[V]*this.pixelRatio)}for(U=0;U<2;++U)V=(A+1+U)%3,q=(A+1+(1^U))%3,this.zeroEnable[q]&&Math.min(a[0][q],a[1][q])<=0&&Math.max(a[0][q],a[1][q])>=0&&this._lines.drawZero(V,q,this.bounds,N,this.zeroLineColor[q],this.zeroLineWidth[q]*this.pixelRatio)}for(A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);var H=d(b,M[A].primalMinor),G=d(_,M[A].mirrorMinor),W=this.lineTickLength;for(U=0;U<3;++U){var Y=T/r[5*U];H[U]*=W[U]*Y,G[U]*=W[U]*Y}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,M[A].primalOffset,H,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,M[A].mirrorOffset,G,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}function X(e){(C=[0,0,0])[e]=1}for(this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio),A=0;A<3;++A){var Z=M[A].primalMinor,$=M[A].mirrorMinor,K=d(w,M[A].primalOffset);for(U=0;U<3;++U)this.lineTickEnable[A]&&(K[U]+=T*Z[U]*Math.max(this.lineTickLength[U],0)/r[5*U]);var J=[0,0,0];if(J[A]=1,this.tickEnable[A]){for(-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]="auto"):this.tickAlign[A]=-1,E=1,"auto"===(S=[this.tickAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),C=[0,0,0],P=$,void 0,void 0,void 0,void 0,void 0,void 0,O=((L=A)+2)%3,D=(I=Z)[z=(L+1)%3],R=I[O],j=P[z],F=P[O],D>0&&F>0||D>0&&F<0||D<0&&F>0||D<0&&F<0?X(z):(R>0&&j>0||R>0&&j<0||R<0&&j>0||R<0&&j<0)&&X(O),U=0;U<3;++U)K[U]+=T*Z[U]*this.tickPad[U]/r[5*U];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],K,this.tickColor[A],J,C,S)}if(this.labelEnable[A]){for(E=0,C=[0,0,0],this.labels[A].length>4&&(X(A),E=1),"auto"===(S=[this.labelAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),U=0;U<3;++U)K[U]+=T*Z[U]*this.labelPad[U]/r[5*U];K[A]+=.5*(a[0][A]+a[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],K,this.labelColor[A],[0,0,0],C,S)}}this._text.unbind()},p.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},5304:function(e,t,r){e.exports=function(e){for(var t=[],r=[],s=0,l=0;l<3;++l)for(var c=(l+1)%3,u=(l+2)%3,h=[0,0,0],d=[0,0,0],f=-1;f<=1;f+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),h[l]=f,d[l]=f;for(var p=-1;p<=1;p+=2){h[c]=p;for(var m=-1;m<=1;m+=2)h[u]=m,t.push(h[0],h[1],h[2],d[0],d[1],d[2]),s+=1}var g=c;c=u,u=g}var y=n(e,new Float32Array(t)),v=n(e,new Uint16Array(r),e.ELEMENT_ARRAY_BUFFER),x=i(e,[{buffer:y,type:e.FLOAT,size:3,offset:0,stride:24},{buffer:y,type:e.FLOAT,size:3,offset:12,stride:24}],v),b=a(e);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(e,y,x,b)};var n=r(2762),i=r(8116),a=r(1879).bg;function o(e,t,r,n){this.gl=e,this.buffer=t,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(e,t,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:e,view:t,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},6429:function(e,t,r){e.exports=function(e,t,r,a,f){i(s,t,e),i(s,r,s);for(var v=0,x=0;x<2;++x){u[2]=a[x][2];for(var b=0;b<2;++b){u[1]=a[b][1];for(var _=0;_<2;++_)u[0]=a[_][0],d(l[v],u,s),v+=1}}var w=-1;for(x=0;x<8;++x){for(var k=l[x][3],T=0;T<3;++T)c[x][T]=l[x][T]/k;f&&(c[x][2]*=-1),k<0&&(w<0||c[x][2]E&&(w|=1<E&&(w|=1<c[x][1])&&(R=x);var j=-1;for(x=0;x<3;++x)(B=R^1<c[F][0]&&(F=B))}var N=m;N[0]=N[1]=N[2]=0,N[n.log2(j^R)]=R&j,N[n.log2(R^F)]=R&F;var U=7^F;U===w||U===D?(U=7^j,N[n.log2(F^U)]=U&F):N[n.log2(j^U)]=U&j;var V=g,q=w;for(A=0;A<3;++A)V[A]=q&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"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}"]);t.Q=function(e){return i(e,s,l,null,[{name:"position",type:"vec3"}])};var c=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n\n vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n vec3 realNormal = signAxis * normal;\n\n if(dot(realNormal, enable) > 0.0) {\n vec3 minRange = min(bounds[0], bounds[1]);\n vec3 maxRange = max(bounds[0], bounds[1]);\n vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\n gl_Position = projection * (view * (model * vec4(nPosition, 1.0)));\n } else {\n gl_Position = vec4(0,0,0,0);\n }\n\n colorChannel = abs(realNormal);\n}\n"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n gl_FragColor = colorChannel.x * colors[0] +\n colorChannel.y * colors[1] +\n colorChannel.z * colors[2];\n}"]);t.bg=function(e){return i(e,c,u,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},4935:function(e,t,r){e.exports=function(e,t,r,a,s,l){var c=n(e),h=i(e,[{buffer:c,size:3}]),d=o(e);d.attributes.position.location=0;var f=new u(e,d,c,h);return f.update(t,r,a,s,l),f};var n=r(2762),i=r(8116),a=r(4359),o=r(1879).Q,s=window||c.global||{},l=s.__TEXT_CACHE||{};function u(e,t,r,n){this.gl=e,this.shader=t,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}s.__TEXT_CACHE={};var h=u.prototype,d=[0,0];h.bind=function(e,t,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=e,i.view=t,i.projection=r,i.pixelScale=n,d[0]=this.gl.drawingBufferWidth,d[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=d},h.unbind=function(){this.vao.unbind()},h.update=function(e,t,r,n,i){var o=[];function s(e,t,r,n,i,s){var c=[r.style,r.weight,r.variant,r.family].join("_"),u=l[c];u||(u=l[c]={});var h=u[t];h||(h=u[t]=function(e,t){try{return a(e,t)}catch(t){return console.warn('error vectorizing text:"'+e+'" error:',t),{cells:[],positions:[]}}}(t,{triangles:!0,font:r.family,fontStyle:r.style,fontWeight:r.weight,fontVariant:r.variant,textAlign:"center",textBaseline:"middle",lineSpacing:i,styletags:s}));for(var d=(n||12)/12,f=h.positions,p=h.cells,m=0,g=p.length;m=0;--v){var x=f[y[v]];o.push(d*x[0],-d*x[1],e)}}for(var c=[0,0,0],u=[0,0,0],h=[0,0,0],d=[0,0,0],f={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},p=0;p<3;++p){h[p]=o.length/3|0,s(.5*(e[0][p]+e[1][p]),t[p],r[p],12,1.25,f),d[p]=(o.length/3|0)-h[p],c[p]=o.length/3|0;for(var m=0;m=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(e*t*a),s=o+"";if(s.indexOf("e")>=0)return s;var l=o/a,c=o%a;o<0?(l=0|-Math.ceil(l),c=0|-c):(l=0|Math.floor(l),c|=0);var u=""+l;if(o<0&&(u="-"+u),i){for(var h=""+c;h.length=e[0][i];--o)a.push({x:o*t[i],text:r(t[i],o)});n.push(a)}return n},t.equal=function(e,t){for(var r=0;r<3;++r){if(e[r].length!==t[r].length)return!1;for(var n=0;nr)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return e.bufferSubData(t,a,i),r}function u(e,t){for(var r=n.malloc(e.length,t),i=e.length,a=0;a=0;--n){if(t[n]!==r)return!1;r*=e[n]}return!0}(e.shape,e.stride))0===e.offset&&e.data.length===e.shape[0]?this.length=c(this.gl,this.type,this.length,this.usage,e.data,t):this.length=c(this.gl,this.type,this.length,this.usage,e.data.subarray(e.offset,e.shape[0]),t);else{var s=n.malloc(e.size,r),l=a(s,e.shape);i.assign(l,e),this.length=c(this.gl,this.type,this.length,this.usage,t<0?s:s.subarray(0,e.size),t),n.free(s)}}else if(Array.isArray(e)){var h;h=this.type===this.gl.ELEMENT_ARRAY_BUFFER?u(e,"uint16"):u(e,"float32"),this.length=c(this.gl,this.type,this.length,this.usage,t<0?h:h.subarray(0,e.length),t),n.free(h)}else if("object"==typeof e&&"number"==typeof e.length)this.length=c(this.gl,this.type,this.length,this.usage,e,t);else{if("number"!=typeof e&&void 0!==e)throw new Error("gl-buffer: Invalid data type");if(t>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");(e|=0)<=0&&(e=1),this.gl.bufferData(this.type,0|e,this.usage),this.length=e}},e.exports=function(e,t,r,n){if(r=r||e.ARRAY_BUFFER,n=n||e.DYNAMIC_DRAW,r!==e.ARRAY_BUFFER&&r!==e.ELEMENT_ARRAY_BUFFER)throw new Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER");if(n!==e.DYNAMIC_DRAW&&n!==e.STATIC_DRAW&&n!==e.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 i=e.createBuffer(),a=new s(e,r,i,0,n);return a.update(t),a}},6405:function(e,t,r){var n=r(2931);e.exports=function(e,t){var r=e.positions,i=e.vectors,a={positions:[],vertexIntensity:[],vertexIntensityBounds:e.vertexIntensityBounds,vectors:[],cells:[],coneOffset:e.coneOffset,colormap:e.colormap};if(0===e.positions.length)return t&&(t[0]=[0,0,0],t[1]=[0,0,0]),a;for(var o=0,s=1/0,l=-1/0,c=1/0,u=-1/0,h=1/0,d=-1/0,f=null,p=null,m=[],g=1/0,y=!1,v="raw"===e.coneSizemode,x=0;xo&&(o=n.length(_)),x&&!v){var w=2*n.distance(f,b)/(n.length(p)+n.length(_));w?(g=Math.min(g,w),y=!1):y=!0}y||(f=b,p=_),m.push(_)}var k=[s,c,h],T=[l,u,d];t&&(t[0]=k,t[1]=T),0===o&&(o=1);var A=1/o;isFinite(g)||(g=1),a.vectorScale=g;var M=e.coneSize||(v?1:.5);e.absoluteConeSize&&(M=e.absoluteConeSize*A),a.coneScale=M,x=0;for(var S=0;x=1},f.isTransparent=function(){return this.opacity<1},f.pickSlots=1,f.setPickBase=function(e){this.pickId=e},f.update=function(e){e=e||{};var t=this.gl;this.dirty=!0,"lightPosition"in e&&(this.lightPosition=e.lightPosition),"opacity"in e&&(this.opacity=e.opacity),"ambient"in e&&(this.ambientLight=e.ambient),"diffuse"in e&&(this.diffuseLight=e.diffuse),"specular"in e&&(this.specularLight=e.specular),"roughness"in e&&(this.roughness=e.roughness),"fresnel"in e&&(this.fresnel=e.fresnel),void 0!==e.tubeScale&&(this.tubeScale=e.tubeScale),void 0!==e.vectorScale&&(this.vectorScale=e.vectorScale),void 0!==e.coneScale&&(this.coneScale=e.coneScale),void 0!==e.coneOffset&&(this.coneOffset=e.coneOffset),e.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=t.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=t.LINEAR,this.texture.setPixels(function(e){for(var t=u({colormap:e,nshades:256,format:"rgba"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=t[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return c(r,[256,256,4],[4,0,1])}(e.colormap)),this.texture.generateMipmap());var r=e.cells,n=e.positions,i=e.vectors;if(n&&r&&i){var a=[],o=[],s=[],l=[],h=[];this.cells=r,this.positions=n,this.vectors=i;var d=e.meshColor||[1,1,1,1],f=e.vertexIntensity,p=1/0,m=-1/0;if(f)if(e.vertexIntensityBounds)p=+e.vertexIntensityBounds[0],m=+e.vertexIntensityBounds[1];else for(var g=0;g0){var m=this.triShader;m.bind(),m.uniforms=c,this.triangleVAO.bind(),t.drawArrays(t.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},f.drawPick=function(e){e=e||{};for(var t=this.gl,r=e.model||h,n=e.view||h,i=e.projection||h,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[t.drawingBufferWidth,t.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),t.drawArrays(t.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},f.pick=function(e){if(!e||e.id!==this.pickId)return null;var t=e.value[0]+256*e.value[1]+65536*e.value[2],r=this.cells[t],n=this.positions[r[1]].slice(0,3),i={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return"cone"===this.traceType?i.index=Math.floor(r[1]/48):"streamtube"===this.traceType&&(i.intensity=this.intensity[r[1]],i.velocity=this.vectors[r[1]].slice(0,3),i.divergence=this.vectors[r[1]][3],i.index=t),i},f.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()},e.exports=function(e,t,r){var s=r.shaders;1===arguments.length&&(e=(t=e).gl);var l=function(e,t){var r=n(e,t.meshShader.vertex,t.meshShader.fragment,null,t.meshShader.attributes);return r.attributes.position.location=0,r.attributes.color.location=2,r.attributes.uv.location=3,r.attributes.vector.location=4,r}(e,s),u=function(e,t){var r=n(e,t.pickShader.vertex,t.pickShader.fragment,null,t.pickShader.attributes);return r.attributes.position.location=0,r.attributes.id.location=1,r.attributes.vector.location=4,r}(e,s),h=o(e,c(new Uint8Array([255,255,255,255]),[1,1,4]));h.generateMipmap(),h.minFilter=e.LINEAR_MIPMAP_LINEAR,h.magFilter=e.LINEAR;var f=i(e),p=i(e),m=i(e),g=i(e),y=i(e),v=new d(e,h,l,u,f,p,y,m,g,a(e,[{buffer:f,type:e.FLOAT,size:4},{buffer:y,type:e.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:m,type:e.FLOAT,size:4},{buffer:g,type:e.FLOAT,size:2},{buffer:p,type:e.FLOAT,size:4}]),r.traceType||"cone");return v.update(t),v}},614:function(e,t,r){var n=r(3236),i=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * conePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(conePosition, 1.0);\n vec4 t_position = view * conePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = conePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n gl_Position = projection * (view * conePosition);\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);t.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},t.pickShader={vertex:o,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 n=r(737);e.exports=function(e){return n[e]}},9165:function(e,t,r){e.exports=function(e){var t=e.gl,r=n(t),o=i(t,[{buffer:r,type:t.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:t.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:t.FLOAT,size:3,offset:28,stride:40}]),l=a(t);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var c=new s(t,r,o,l);return c.update(e),c};var n=r(2762),i=r(8116),a=r(3436),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(e,t,r,n){this.gl=e,this.shader=n,this.buffer=t,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var l=s.prototype;function c(e,t){for(var r=0;r<3;++r)e[0][r]=Math.min(e[0][r],t[r]),e[1][r]=Math.max(e[1][r],t[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(e){var t=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=e.view||o,i=r.projection=e.projection||o;r.model=e.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],c=n[15],u=(e._ortho?2:1)*this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*c)/t.drawingBufferHeight;this.vao.bind();for(var h=0;h<3;++h)t.lineWidth(this.lineWidth[h]*this.pixelRatio),r.capSize=this.capSize[h]*u,this.lineCount[h]&&t.drawArrays(t.LINES,this.lineOffset[h],this.lineCount[h]);this.vao.unbind()};var u=function(){for(var e=new Array(3),t=0;t<3;++t){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+t)%3]=i,r.push(a)}e[t]=r}return e}();function h(e,t,r,n){for(var i=u[n],a=0;a0&&((f=u.slice())[s]+=p[1][s],i.push(u[0],u[1],u[2],m[0],m[1],m[2],m[3],0,0,0,f[0],f[1],f[2],m[0],m[1],m[2],m[3],0,0,0),c(this.bounds,f),o+=2+h(i,f,m,s)))}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},3436:function(e,t,r){var n=r(3236),i=r(9405),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n vec4 worldPosition = model * vec4(position, 1.0);\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n gl_Position = projection * (view * worldPosition);\n fragColor = color;\n fragPosition = position;\n}"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n gl_FragColor = opacity * fragColor;\n}"]);e.exports=function(e){return i(e,a,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},2260:function(e,t,r){var n=r(7766);e.exports=function(e,t,r,n){i||(i=e.FRAMEBUFFER_UNSUPPORTED,a=e.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=e.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=e.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var c=e.getExtension("WEBGL_draw_buffers");if(!l&&c&&function(e,t){var r=e.getParameter(t.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;au||r<0||r>u)throw new Error("gl-fbo: Parameters are too large for FBO");var h=1;if("color"in(n=n||{})){if((h=Math.max(0|n.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(h>1){if(!c)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(h>e.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+h+" draw buffers")}}var d=e.UNSIGNED_BYTE,f=e.getExtension("OES_texture_float");if(n.float&&h>0){if(!f)throw new Error("gl-fbo: Context does not support floating point textures");d=e.FLOAT}else n.preferFloat&&h>0&&f&&(d=e.FLOAT);var m=!0;"depth"in n&&(m=!!n.depth);var g=!1;return"stencil"in n&&(g=!!n.stencil),new p(e,t,r,d,h,m,g,c)};var i,a,o,s,l=null;function c(e){return[e.getParameter(e.FRAMEBUFFER_BINDING),e.getParameter(e.RENDERBUFFER_BINDING),e.getParameter(e.TEXTURE_BINDING_2D)]}function u(e,t){e.bindFramebuffer(e.FRAMEBUFFER,t[0]),e.bindRenderbuffer(e.RENDERBUFFER,t[1]),e.bindTexture(e.TEXTURE_2D,t[2])}function h(e){switch(e){case i:throw new Error("gl-fbo: Framebuffer unsupported");case a:throw new Error("gl-fbo: Framebuffer incomplete attachment");case o:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case s:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function d(e,t,r,i,a,o){if(!i)return null;var s=n(e,t,r,a,i);return s.magFilter=e.NEAREST,s.minFilter=e.NEAREST,s.mipSamples=1,s.bind(),e.framebufferTexture2D(e.FRAMEBUFFER,o,e.TEXTURE_2D,s.handle,0),s}function f(e,t,r,n,i){var a=e.createRenderbuffer();return e.bindRenderbuffer(e.RENDERBUFFER,a),e.renderbufferStorage(e.RENDERBUFFER,n,t,r),e.framebufferRenderbuffer(e.FRAMEBUFFER,i,e.RENDERBUFFER,a),a}function p(e,t,r,n,i,a,o,s){this.gl=e,this._shape=[0|t,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var p=0;p1&&s.drawBuffersWEBGL(l[o]);var v=r.getExtension("WEBGL_depth_texture");v?p?e.depth=d(r,i,a,v.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):m&&(e.depth=d(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):m&&p?e._depth_rb=f(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):m?e._depth_rb=f(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):p&&(e._depth_rb=f(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(e._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(e.handle),e.handle=null,e.depth&&(e.depth.dispose(),e.depth=null),e._depth_rb&&(r.deleteRenderbuffer(e._depth_rb),e._depth_rb=null),y=0;yi||r<0||r>i)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");e._shape[0]=t,e._shape[1]=r;for(var a=c(n),o=0;o max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D dashTexture;\nuniform float dashScale;\nuniform float opacity;\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n if(dashWeight < 0.5) {\n discard;\n }\n gl_FragColor = fragColor * opacity;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\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}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];t.createShader=function(e){return i(e,a,o,null,l)},t.createPickShader=function(e){return i(e,a,s,null,l)}},5714:function(e,t,r){e.exports=function(e){var t=e.gl||e.scene&&e.scene.gl,r=h(t);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=d(t);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(t),l=i(t,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),u=c(new Array(1024),[256,1,4]),f=0;f<1024;++f)u.data[f]=255;var p=a(t,u);p.wrap=t.REPEAT;var m=new y(t,r,o,s,l,p);return m.update(e),m};var n=r(2762),i=r(8116),a=r(7766),o=new Uint8Array(4),s=new Float32Array(o.buffer),l=r(2478),c=r(9618),u=r(7319),h=u.createShader,d=u.createPickShader,f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function p(e,t){for(var r=0,n=0;n<3;++n){var i=e[n]-t[n];r+=i*i}return Math.sqrt(r)}function m(e){for(var t=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)t[0][r]=Math.max(e[0][r],t[0][r]),t[1][r]=Math.min(e[1][r],t[1][r]);return t}function g(e,t,r,n){this.arcLength=e,this.position=t,this.index=r,this.dataCoordinate=n}function y(e,t,r,n,i,a){this.gl=e,this.shader=t,this.pickShader=r,this.buffer=n,this.vao=i,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=a,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var v=y.prototype;v.isTransparent=function(){return this.hasAlpha},v.isOpaque=function(){return!this.hasAlpha},v.pickSlots=1,v.setPickBase=function(e){this.pickId=e},v.drawTransparent=v.draw=function(e){if(this.vertexCount){var t=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:e.model||f,view:e.view||f,projection:e.projection||f,clipBounds:m(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[t.drawingBufferWidth,t.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(t.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},v.drawPick=function(e){if(this.vertexCount){var t=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:e.model||f,view:e.view||f,projection:e.projection||f,pickId:this.pickId,clipBounds:m(this.clipBounds),screenShape:[t.drawingBufferWidth,t.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(t.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},v.update=function(e){var t,r;this.dirty=!0;var n=!!e.connectGaps;"dashScale"in e&&(this.dashScale=e.dashScale),this.hasAlpha=!1,"opacity"in e&&(this.opacity=+e.opacity,this.opacity<1&&(this.hasAlpha=!0));var i=[],a=[],o=[],s=0,u=0,h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],d=e.position||e.positions;if(d){var f=e.color||e.colors||[0,0,0,1],m=e.lineWidth||1,g=!1;e:for(t=1;t0){for(var w=0;w<24;++w)i.push(i[i.length-12]);u+=2,g=!0}continue e}h[0][r]=Math.min(h[0][r],b[r],_[r]),h[1][r]=Math.max(h[1][r],b[r],_[r])}Array.isArray(f[0])?(y=f.length>t-1?f[t-1]:f.length>0?f[f.length-1]:[0,0,0,1],v=f.length>t?f[t]:f.length>0?f[f.length-1]:[0,0,0,1]):y=v=f,3===y.length&&(y=[y[0],y[1],y[2],1]),3===v.length&&(v=[v[0],v[1],v[2],1]),!this.hasAlpha&&y[3]<1&&(this.hasAlpha=!0),x=Array.isArray(m)?m.length>t-1?m[t-1]:m.length>0?m[m.length-1]:[0,0,0,1]:m;var k=s;if(s+=p(b,_),g){for(r=0;r<2;++r)i.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,y[0],y[1],y[2],y[3]);u+=2,g=!1}i.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,y[0],y[1],y[2],y[3],b[0],b[1],b[2],_[0],_[1],_[2],k,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],s,-x,v[0],v[1],v[2],v[3],_[0],_[1],_[2],b[0],b[1],b[2],s,x,v[0],v[1],v[2],v[3]),u+=4}}if(this.buffer.update(i),a.push(s),o.push(d[d.length-1].slice()),this.bounds=h,this.vertexCount=u,this.points=o,this.arcLength=a,"dashes"in e){var T=e.dashes.slice();for(T.unshift(0),t=1;t1.0001)return null;y+=g[h]}return Math.abs(y-1)>.001?null:[d,s(e,g),g]}},840:function(e,t,r){var n=r(3236),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n , view\n , projection\n , inverseModel;\nuniform vec3 eyePosition\n , lightPosition;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvec4 project(vec3 p) {\n return projection * (view * (model * vec4(p, 1.0)));\n}\n\nvoid main() {\n gl_Position = project(position);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * vec4(position , 1.0);\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n f_color = color;\n f_data = position;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (f_color.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], f_data)\n ) discard;\n\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * f_color.a;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n f_color = color;\n f_data = position;\n f_uv = uv;\n}"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\nattribute float pointSize;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\n } else {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n }\n gl_PointSize = pointSize;\n f_color = color;\n f_uv = uv;\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\n if(dot(pointR, pointR) > 0.25) {\n discard;\n }\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n f_id = id;\n f_position = position;\n}"]),h=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]),d=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute float pointSize;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\n } else {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n gl_PointSize = pointSize;\n }\n f_id = id;\n f_position = position;\n}"]),f=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n}"]),p=n(["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:i,fragment:a,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},t.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},t.pointShader={vertex:l,fragment:c,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},t.pickShader={vertex:u,fragment:h,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},t.pointPickShader={vertex:d,fragment:h,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},t.contourShader={vertex:f,fragment:p,attributes:[{name:"position",type:"vec3"}]}},7201:function(e,t,r){var n=r(9405),i=r(2762),a=r(8116),o=r(7766),s=r(8406),l=r(6760),c=r(7608),u=r(9618),h=r(6729),d=r(7765),f=r(1888),p=r(840),m=r(7626),g=p.meshShader,y=p.wireShader,v=p.pointShader,x=p.pickShader,b=p.pointPickShader,_=p.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function k(e,t,r,n,i,a,o,s,l,c,u,h,d,f,p,m,g,y,v,x,b,_,k,T,A,M,S){this.gl=e,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=t,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=u,this.triangleNormals=d,this.triangleUVs=h,this.triangleIds=c,this.triangleVAO=f,this.triangleCount=0,this.lineWidth=1,this.edgePositions=p,this.edgeColors=g,this.edgeUVs=y,this.edgeIds=m,this.edgeVAO=v,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=k,this.pointSizes=T,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=M,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.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=w,this._view=w,this._projection=w,this._resolution=[1,1]}var T=k.prototype;function A(e,t){if(!t||!t.length)return 1;for(var r=0;re&&r>0){var n=(t[r][0]-e)/(t[r][0]-t[r-1][0]);return t[r][1]*(1-n)+n*t[r-1][1]}}return 1}T.isOpaque=function(){return!this.hasAlpha},T.isTransparent=function(){return this.hasAlpha},T.pickSlots=1,T.setPickBase=function(e){this.pickId=e},T.highlight=function(e){if(e&&this.contourEnable){for(var t=d(this.cells,this.intensity,e.intensity),r=t.cells,n=t.vertexIds,i=t.vertexWeights,a=r.length,o=f.mallocFloat32(6*a),s=0,l=0;l0&&((u=this.triShader).bind(),u.uniforms=s,this.triangleVAO.bind(),t.drawArrays(t.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&this.lineWidth>0&&((u=this.lineShader).bind(),u.uniforms=s,this.edgeVAO.bind(),t.lineWidth(this.lineWidth*this.pixelRatio),t.drawArrays(t.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((u=this.pointShader).bind(),u.uniforms=s,this.pointVAO.bind(),t.drawArrays(t.POINTS,0,this.pointCount),this.pointVAO.unbind()),this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((u=this.contourShader).bind(),u.uniforms=s,this.contourVAO.bind(),t.drawArrays(t.LINES,0,this.contourCount),this.contourVAO.unbind())},T.drawPick=function(e){e=e||{};for(var t=this.gl,r=e.model||w,n=e.view||w,i=e.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[t.drawingBufferWidth,t.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};(s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),t.drawArrays(t.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),t.lineWidth(this.lineWidth*this.pixelRatio),t.drawArrays(t.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),t.drawArrays(t.POINTS,0,this.pointCount),this.pointVAO.unbind())},T.pick=function(e){if(!e||e.id!==this.pickId)return null;for(var t=e.value[0]+256*e.value[1]+65536*e.value[2],r=this.cells[t],n=this.positions,i=new Array(r.length),a=0;aMath.abs(t))c.rotate(a,0,0,-e*r*Math.PI*p.rotateSpeed/window.innerWidth);else if(!p._ortho){var o=-p.zoomSpeed*i*t/window.innerHeight*(a-c.lastT())/20;c.pan(a,0,0,h*(Math.exp(o)-1))}}}),!0)},p.enableMouseListeners(),p};var n=r(3025),i=r(6296),a=r(351),o=r(8512),s=r(24),l=r(7520)},799:function(e,t,r){var n=r(3236),i=r(9405),a=n(["precision mediump float;\n#define GLSLIFY 1\nattribute vec2 position;\nvarying vec2 uv;\nvoid main() {\n uv = position;\n gl_Position = vec4(position, 0, 1);\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n gl_FragColor = min(vec4(1,1,1,1), accum);\n}"]);e.exports=function(e){return i(e,a,o,null,[{name:"position",type:"vec2"}])}},4100:function(e,t,r){var n=r(4437),i=r(3837),a=r(5445),o=r(4449),s=r(3589),l=r(2260),c=r(7169),u=r(351),h=r(4772),d=r(4040),f=r(799),p=r(9216)({tablet:!0,featureDetect:!0});function m(){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 g(e){var t=Math.round(Math.log(Math.abs(e))/Math.log(10));if(t<0){var r=Math.round(Math.pow(10,-t));return Math.ceil(e*r)/r}return t>0?(r=Math.round(Math.pow(10,t)),Math.ceil(e/r)*r):Math.ceil(e)}function y(e){return"boolean"!=typeof e||e}e.exports={createScene:function(e){(e=e||{}).camera=e.camera||{};var t=e.canvas;t||(t=document.createElement("canvas"),e.container?e.container.appendChild(t):document.body.appendChild(t));var r=e.gl;if(r||(e.glOptions&&(p=!!e.glOptions.preserveDrawingBuffer),r=function(e,t){var r=null;try{(r=e.getContext("webgl",t))||(r=e.getContext("experimental-webgl",t))}catch{return null}return r}(t,e.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:p})),!r)throw new Error("webgl not supported");var v=e.bounds||[[-10,-10,-10],[10,10,10]],x=new m,b=l(r,r.drawingBufferWidth,r.drawingBufferHeight,{preferFloat:!p}),_=f(r),w=e.cameraObject&&!0===e.cameraObject._ortho||e.camera.projection&&"orthographic"===e.camera.projection.type||!1,k={eye:e.camera.eye||[2,0,0],center:e.camera.center||[0,0,0],up:e.camera.up||[0,1,0],zoomMin:e.camera.zoomMax||.1,zoomMax:e.camera.zoomMin||100,mode:e.camera.mode||"turntable",_ortho:w},T=e.axes||{},A=i(r,T);A.enable=!T.disable;var M=e.spikes||{},S=o(r,M),E=[],C=[],L=[],I=[],P=!0,z=!0,O={view:null,projection:new Array(16),model:new Array(16),_ortho:!1},D=(z=!0,[r.drawingBufferWidth,r.drawingBufferHeight]),R=e.cameraObject||n(t,k),j={gl:r,contextLost:!1,pixelRatio:e.pixelRatio||1,canvas:t,selection:x,camera:R,axes:A,axesPixels:null,spikes:S,bounds:v,objects:E,shape:D,aspect:e.aspectRatio||[1,1,1],pickRadius:e.pickRadius||10,zNear:e.zNear||.01,zFar:e.zFar||1e3,fovy:e.fovy||Math.PI/4,clearColor:e.clearColor||[0,0,0,0],autoResize:y(e.autoResize),autoBounds:y(e.autoBounds),autoScale:!!e.autoScale,autoCenter:y(e.autoCenter),clipToBounds:y(e.clipToBounds),snapToData:!!e.snapToData,onselect:e.onselect||null,onrender:e.onrender||null,onclick:e.onclick||null,cameraParams:O,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(e){this.aspect[0]=e.x,this.aspect[1]=e.y,this.aspect[2]=e.z,z=!0},setBounds:function(e,t){this.bounds[0][e]=t.min,this.bounds[1][e]=t.max},setClearColor:function(e){this.clearColor=e},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)}},F=[r.drawingBufferWidth/j.pixelRatio|0,r.drawingBufferHeight/j.pixelRatio|0];function B(){if(!j._stopped&&j.autoResize){var e=t.parentNode,r=1,n=1;e&&e!==document.body?(r=e.clientWidth,n=e.clientHeight):(r=window.innerWidth,n=window.innerHeight);var i=0|Math.ceil(r*j.pixelRatio),a=0|Math.ceil(n*j.pixelRatio);if(i!==t.width||a!==t.height){t.width=i,t.height=a;var o=t.style;o.position=o.position||"absolute",o.left="0px",o.top="0px",o.width=r+"px",o.height=n+"px",P=!0}}}function N(){for(var e=E.length,t=I.length,n=0;n0&&0===L[t-1];)L.pop(),I.pop().dispose()}function U(){if(j.contextLost)return!0;r.isContextLost()&&(j.contextLost=!0,j.mouseListener.enabled=!1,j.selection.object=null,j.oncontextloss&&j.oncontextloss())}j.autoResize&&B(),window.addEventListener("resize",B),j.update=function(e){j._stopped||(e=e||{},P=!0,z=!0)},j.add=function(e){j._stopped||(e.axes=A,E.push(e),C.push(-1),P=!0,z=!0,N())},j.remove=function(e){if(!j._stopped){var t=E.indexOf(e);t<0||(E.splice(t,1),C.pop(),P=!0,z=!0,N())}},j.dispose=function(){if(!j._stopped&&(j._stopped=!0,window.removeEventListener("resize",B),t.removeEventListener("webglcontextlost",U),j.mouseListener.enabled=!1,!j.contextLost)){A.dispose(),S.dispose();for(var e=0;ex.distance)continue;for(var c=0;c1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),e[0]=s*c+l*f,e[1]=s*u+l*p,e[2]=s*h+l*m,e[3]=s*d+l*g,e}},5964:function(e){e.exports=function(e){return e||0===e?e.toString():""}},9366:function(e,t,r){var n=r(4359);e.exports=function(e,t,r){var a=[t.style,t.weight,t.variant,t.family].join("_"),o=i[a];if(o||(o=i[a]={}),e in o)return o[e];var s={textAlign:"center",textBaseline:"middle",lineHeight:1,font:t.family,fontStyle:t.style,fontWeight:t.weight,fontVariant:t.variant,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},l=n(e,s);s.triangles=!1;var c,u,h=n(e,s);if(r&&1!==r){for(c=0;c max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),o=i(["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=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform float highlightScale;\nuniform vec4 highlightId;\nuniform vec3 axes[2];\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float scale, pixelRatio;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float lscale = pixelRatio * scale;\n if(distance(highlightId, id) < 0.0001) {\n lscale *= highlightScale;\n }\n\n vec4 clipCenter = projection * (view * (model * vec4(position, 1)));\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n vec4 clipPosition = projection * (view * (model * vec4(dataPosition, 1)));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = dataPosition;\n }\n}\n"]),l=i(["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=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n gl_FragColor = vec4(pickGroup, pickId.bgr);\n}"]),u=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],h={vertex:a,fragment:l,attributes:u},d={vertex:o,fragment:l,attributes:u},f={vertex:s,fragment:l,attributes:u},p={vertex:a,fragment:c,attributes:u},m={vertex:o,fragment:c,attributes:u},g={vertex:s,fragment:c,attributes:u};function y(e,t){var r=n(e,t),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}t.createPerspective=function(e){return y(e,h)},t.createOrtho=function(e){return y(e,d)},t.createProject=function(e){return y(e,f)},t.createPickPerspective=function(e){return y(e,p)},t.createPickOrtho=function(e){return y(e,m)},t.createPickProject=function(e){return y(e,g)}},8418:function(e,t,r){var n=r(5219),i=r(2762),a=r(8116),o=r(1888),s=r(6760),l=r(1283),c=r(9366),u=r(5964),h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],d=ArrayBuffer,f=DataView;function p(e){return Array.isArray(e)||function(e){return d.isView(e)&&!(e instanceof f)}(e)}function m(e,t){var r=e[0],n=e[1],i=e[2],a=e[3];return e[0]=t[0]*r+t[4]*n+t[8]*i+t[12]*a,e[1]=t[1]*r+t[5]*n+t[9]*i+t[13]*a,e[2]=t[2]*r+t[6]*n+t[10]*i+t[14]*a,e[3]=t[3]*r+t[7]*n+t[11]*i+t[15]*a,e}function g(e,t,r,n){return m(n,n),m(n,n),m(n,n)}function y(e,t){this.index=e,this.dataCoordinate=this.position=t}function v(e){return!0===e||e>1?1:e}function x(e,t,r,n,i,a,o,s,l,c,u,h){this.gl=e,this.pixelRatio=1,this.shader=t,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[.6666666666666666,.6666666666666666,.6666666666666666],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=u,this.pickProjectShader=h,this.points=[],this._selectResult=new y(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}e.exports=function(e){var t=e.gl,r=l.createPerspective(t),n=l.createOrtho(t),o=l.createProject(t),s=l.createPickPerspective(t),c=l.createPickOrtho(t),u=l.createPickProject(t),h=i(t),d=i(t),f=i(t),p=i(t),m=new x(t,r,n,o,h,d,f,p,a(t,[{buffer:h,size:3,type:t.FLOAT},{buffer:d,size:4,type:t.FLOAT},{buffer:f,size:2,type:t.FLOAT},{buffer:p,size:4,type:t.UNSIGNED_BYTE,normalized:!0}]),s,c,u);return m.update(e),m};var b=x.prototype;b.pickSlots=1,b.setPickBase=function(e){this.pickId=e},b.isTransparent=function(){if(this.hasAlpha)return!0;for(var e=0;e<3;++e)if(this.axesProject[e]&&this.projectHasAlpha)return!0;return!1},b.isOpaque=function(){if(!this.hasAlpha)return!0;for(var e=0;e<3;++e)if(this.axesProject[e]&&!this.projectHasAlpha)return!0;return!1};var _=[0,0],w=[0,0,0],k=[0,0,0],T=[0,0,0,1],A=[0,0,0,1],M=h.slice(),S=[0,0,0],E=[[0,0,0],[0,0,0]];function C(e){return e[0]=e[1]=e[2]=0,e}function L(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=1,e}function I(e,t,r,n){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[r]=n,e}var P=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function z(e,t,r,n,i,a,o){var l=r.gl;if((a===r.projectHasAlpha||o)&&function(e,t,r,n){var i,a=t.axesProject,o=t.gl,l=e.uniforms,c=r.model||h,u=r.view||h,d=r.projection||h,f=t.axesBounds,p=function(e){for(var t=E,r=0;r<2;++r)for(var n=0;n<3;++n)t[r][n]=Math.max(Math.min(e[r][n],1e8),-1e8);return t}(t.clipBounds);i=t.axes&&t.axes.lastCubeProps?t.axes.lastCubeProps.axis:[1,1,1],_[0]=2/o.drawingBufferWidth,_[1]=2/o.drawingBufferHeight,e.bind(),l.view=u,l.projection=d,l.screenSize=_,l.highlightId=t.highlightId,l.highlightScale=t.highlightScale,l.clipBounds=p,l.pickGroup=t.pickId/255,l.pixelRatio=n;for(var m=0;m<3;++m)if(a[m]){l.scale=t.projectScale[m],l.opacity=t.projectOpacity[m];for(var y=M,v=0;v<16;++v)y[v]=0;for(v=0;v<4;++v)y[5*v]=1;y[5*m]=0,i[m]<0?y[12+m]=f[0][m]:y[12+m]=f[1][m],s(y,c,y),l.model=y;var x=(m+1)%3,b=(m+2)%3,P=C(w),z=C(k);P[x]=1,z[b]=1;var O=g(0,0,0,L(T,P)),D=g(0,0,0,L(A,z));if(Math.abs(O[1])>Math.abs(D[1])){var R=O;O=D,D=R,R=P,P=z,z=R;var j=x;x=b,b=j}O[0]<0&&(P[x]=-1),D[1]>0&&(z[b]=-1);var F=0,B=0;for(v=0;v<4;++v)F+=Math.pow(c[4*x+v],2),B+=Math.pow(c[4*b+v],2);P[x]/=Math.sqrt(F),z[b]/=Math.sqrt(B),l.axes[0]=P,l.axes[1]=z,l.fragClipBounds[0]=I(S,p[0],m,-1e8),l.fragClipBounds[1]=I(S,p[1],m,1e8),t.vao.bind(),t.vao.draw(o.TRIANGLES,t.vertexCount),t.lineWidth>0&&(o.lineWidth(t.lineWidth*n),t.vao.draw(o.LINES,t.lineVertexCount,t.vertexCount)),t.vao.unbind()}}(t,r,n,i),a===r.hasAlpha||o){e.bind();var c=e.uniforms;c.model=n.model||h,c.view=n.view||h,c.projection=n.projection||h,_[0]=2/l.drawingBufferWidth,_[1]=2/l.drawingBufferHeight,c.screenSize=_,c.highlightId=r.highlightId,c.highlightScale=r.highlightScale,c.fragClipBounds=P,c.clipBounds=r.axes.bounds,c.opacity=r.opacity,c.pickGroup=r.pickId/255,c.pixelRatio=i,r.vao.bind(),r.vao.draw(l.TRIANGLES,r.vertexCount),r.lineWidth>0&&(l.lineWidth(r.lineWidth*i),r.vao.draw(l.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function O(e,t,r,i){var a;a=p(e)?t=this.pointCount||t<0)return null;var r=this.points[t],n=this._selectResult;n.index=t;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},b.highlight=function(e){if(e){var t=e.index,r=255&t,n=t>>8&255,i=t>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},b.update=function(e){if("perspective"in(e=e||{})&&(this.useOrtho=!e.perspective),"orthographic"in e&&(this.useOrtho=!!e.orthographic),"lineWidth"in e&&(this.lineWidth=e.lineWidth),"project"in e)if(p(e.project))this.axesProject=e.project;else{var t=!!e.project;this.axesProject=[t,t,t]}if("projectScale"in e)if(p(e.projectScale))this.projectScale=e.projectScale.slice();else{var r=+e.projectScale;this.projectScale=[r,r,r]}if(this.projectHasAlpha=!1,"projectOpacity"in e){p(e.projectOpacity)?this.projectOpacity=e.projectOpacity.slice():(r=+e.projectOpacity,this.projectOpacity=[r,r,r]);for(var n=0;n<3;++n)this.projectOpacity[n]=v(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in e&&(this.opacity=v(e.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var i,a,s=e.position,l={family:e.font||"normal",style:e.fontStyle||"normal",weight:e.fontWeight||"normal",variant:e.fontVariant||"normal"},c=e.alignment||[0,0];if(2===c.length)i=c[0],a=c[1];else for(i=[],a=[],n=0;n0){var z=0,D=b,R=[0,0,0,1],j=[0,0,0,1],F=p(f)&&p(f[0]),B=p(y)&&p(y[0]);e:for(n=0;n0?1-S[0][0]:Y<0?1+S[1][0]:1,X*=X>0?1-S[0][1]:X<0?1+S[1][1]:1],$=A.cells||[],K=A.positions||[];for(T=0;T<$.length;++T)for(var J=$[T],Q=0;Q<3;++Q){for(var ee=0;ee<3;++ee)C[3*z+ee]=k[ee];for(ee=0;ee<4;++ee)L[4*z+ee]=R[ee];P[z]=x;var te=K[J[Q]];I[2*z]=q*(G*te[0]-W*te[1]+Z[0]),I[2*z+1]=q*(W*te[0]+G*te[1]+Z[1]),z+=1}for($=M.edges,K=M.positions,T=0;T<$.length;++T)for(J=$[T],Q=0;Q<2;++Q){for(ee=0;ee<3;++ee)C[3*D+ee]=k[ee];for(ee=0;ee<4;++ee)L[4*D+ee]=j[ee];P[D]=x,te=K[J[Q]],I[2*D]=q*(G*te[0]-W*te[1]+Z[0]),I[2*D+1]=q*(W*te[0]+G*te[1]+Z[1]),D+=1}}}this.bounds=[u,h],this.points=s,this.pointCount=s.length,this.vertexCount=b,this.lineVertexCount=_,this.pointBuffer.update(C),this.colorBuffer.update(L),this.glyphBuffer.update(I),this.idBuffer.update(P),o.free(C),o.free(L),o.free(I),o.free(P)},b.dispose=function(){this.shader.dispose(),this.orthoShader.dispose(),this.pickPerspectiveShader.dispose(),this.pickOrthoShader.dispose(),this.vao.dispose(),this.pointBuffer.dispose(),this.colorBuffer.dispose(),this.glyphBuffer.dispose(),this.idBuffer.dispose()}},3589:function(e,t,r){e.exports=function(e,t){var r=t[0],a=t[1];return new l(e,n(e,r,a,{}),i.mallocUint8(r*a*4))};var n=r(2260),i=r(1888),a=r(9618),o=r(8828).nextPow2;function s(e,t,r,n,i){this.coord=[e,t],this.id=r,this.value=n,this.distance=i}function l(e,t,r){this.gl=e,this.fbo=t,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(t.bind(),e.readPixels(0,0,t.shape[0],t.shape[1],e.RGBA,e.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}var c=l.prototype;Object.defineProperty(c,"shape",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(e){if(this.gl){this.fbo.shape=e;var t=this.fbo.shape[0],r=this.fbo.shape[1];if(r*t*4>this.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*t*4)),a=0;ar)for(e=r;et)for(e=t;e=0){for(var k=0|w.type.charAt(w.type.length-1),T=new Array(k),A=0;A=0;)M+=1;_[v]=M}var S=new Array(r.length);function E(){d.program=o.program(f,d._vref,d._fref,b,_);for(var e=0;e=0){if((p=d.charCodeAt(d.length-1)-48)<2||p>4)throw new n("","Invalid data type for attribute "+h+": "+d);s(e,t,f[0],i,p,a,h)}else{if(!(d.indexOf("mat")>=0))throw new n("","Unknown data type for attribute "+h+": "+d);var p;if((p=d.charCodeAt(d.length-1)-48)<2||p>4)throw new n("","Invalid data type for attribute "+h+": "+d);l(e,t,f,i,p,a,h)}}}return a};var n=r(8866);function i(e,t,r,n,i,a){this._gl=e,this._wrapper=t,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;a.pointer=function(e,t,r,n){var i=this,a=i._gl,o=i._locations[i._index];a.vertexAttribPointer(o,i._dimension,e||a.FLOAT,!!t,r||0,n||0),a.enableVertexAttribArray(o)},a.set=function(e,t,r,n){return this._constFunc(this._locations[this._index],e,t,r,n)},Object.defineProperty(a,"location",{get:function(){return this._locations[this._index]},set:function(e){return e!==this._locations[this._index]&&(this._locations[this._index]=0|e,this._wrapper.program=null),0|e}});var o=[function(e,t,r){return void 0===r.length?e.vertexAttrib1f(t,r):e.vertexAttrib1fv(t,r)},function(e,t,r,n){return void 0===r.length?e.vertexAttrib2f(t,r,n):e.vertexAttrib2fv(t,r)},function(e,t,r,n,i){return void 0===r.length?e.vertexAttrib3f(t,r,n,i):e.vertexAttrib3fv(t,r)},function(e,t,r,n,i,a){return void 0===r.length?e.vertexAttrib4f(t,r,n,i,a):e.vertexAttrib4fv(t,r)}];function s(e,t,r,n,a,s,l){var c=o[a],u=new i(e,t,r,n,a,c);Object.defineProperty(s,l,{set:function(t){return e.disableVertexAttribArray(n[r]),c(e,n[r],t),t},get:function(){return u},enumerable:!0})}function l(e,t,r,n,i,a,o){for(var l=new Array(i),c=new Array(i),u=0;u4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+v);e["uniformMatrix"+y+"fv"](s[h],!1,d);break}throw new i("","Unknown uniform data type for "+name+": "+v)}if((y=v.charCodeAt(v.length-1)-48)<2||y>4)throw new i("","Invalid data type");switch(v.charAt(0)){case"b":case"i":e["uniform"+y+"iv"](s[h],d);break;case"v":e["uniform"+y+"fv"](s[h],d);break;default:throw new i("","Unrecognized data type for vector "+name+": "+v)}}}}}}function u(e,t){if("object"!=typeof t)return[[e,t]];var r=[];for(var n in t){var i=t[n],a=e;parseInt(n)+""===n?a+="["+n+"]":a+="."+n,"object"==typeof i?r.push.apply(r,u(a,i)):r.push([a,i])}return r}function h(e,t,n){if("object"==typeof n){var u=d(n);Object.defineProperty(e,t,{get:a(u),set:c(n),enumerable:!0,configurable:!1})}else s[n]?Object.defineProperty(e,t,{get:l(n),set:c(n),enumerable:!0,configurable:!1}):e[t]=function(e){switch(e){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":case"float":return 0;default:var t=e.indexOf("vec");if(0<=t&&t<=1&&e.length===4+t){if((r=e.charCodeAt(e.length-1)-48)<2||r>4)throw new i("","Invalid data type");return"b"===e.charAt(0)?o(r,!1):o(r,0)}if(0===e.indexOf("mat")&&4===e.length){var r;if((r=e.charCodeAt(e.length-1)-48)<2||r>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+e);return o(r*r,0)}throw new i("","Unknown uniform data type for "+name+": "+e)}}(r[n].type)}function d(e){var t;if(Array.isArray(e)){t=new Array(e.length);for(var r=0;r1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l1)for(var l=0;l"u"?r(606):WeakMap),o=0;function s(e,t,r,n,i,a,o){this.id=e,this.src=t,this.type=r,this.shader=n,this.count=a,this.programs=[],this.cache=o}function l(e){this.gl=e,this.shaders=[{},{}],this.programs={}}s.prototype.dispose=function(){if(0==--this.count){for(var e=this.cache,t=e.gl,r=this.programs,n=0,i=r.length;n 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"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n gl_Position = projection * (view * tubePosition);\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);t.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},t.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},7815:function(e,t,r){var n=r(2931),i=r(9970),a=["xyz","xzy","yxz","yzx","zxy","zyx"],o=function(e,t){var r,n=e.length;for(r=0;rt)return r-1}return r},s=function(e,t,r){return er?r:e},l=function(e){var t=1/0;e.sort((function(e,t){return e-t}));for(var r=e.length,n=1;nh-1||v>d-1||x>f-1)return n.create();var b,_,w,k,T,A,M=a[0][p],S=a[0][y],E=a[1][m],C=a[1][v],L=a[2][g],I=(l-M)/(S-M),P=(c-E)/(C-E),z=(u-L)/(a[2][x]-L);switch(isFinite(I)||(I=.5),isFinite(P)||(P=.5),isFinite(z)||(z=.5),r.reversedX&&(p=h-1-p,y=h-1-y),r.reversedY&&(m=d-1-m,v=d-1-v),r.reversedZ&&(g=f-1-g,x=f-1-x),r.filled){case 5:T=g,A=x,w=m*f,k=v*f,b=p*f*d,_=y*f*d;break;case 4:T=g,A=x,b=p*f,_=y*f,w=m*f*h,k=v*f*h;break;case 3:w=m,k=v,T=g*d,A=x*d,b=p*d*f,_=y*d*f;break;case 2:w=m,k=v,b=p*d,_=y*d,T=g*d*h,A=x*d*h;break;case 1:b=p,_=y,T=g*h,A=x*h,w=m*h*f,k=v*h*f;break;default:b=p,_=y,w=m*h,k=v*h,T=g*h*d,A=x*h*d}var O=i[b+w+T],D=i[b+w+A],R=i[b+k+T],j=i[b+k+A],F=i[_+w+T],B=i[_+w+A],N=i[_+k+T],U=i[_+k+A],V=n.create(),q=n.create(),H=n.create(),G=n.create();n.lerp(V,O,F,I),n.lerp(q,D,B,I),n.lerp(H,R,N,I),n.lerp(G,j,U,I);var W=n.create(),Y=n.create();n.lerp(W,V,H,P),n.lerp(Y,q,G,P);var X=n.create();return n.lerp(X,W,Y,z),X}(t,e,f)},x=e.getDivergence||function(e,t){var r=n.create(),i=1e-4;n.add(r,e,[i,0,0]);var a=v(r);n.subtract(a,a,t),n.scale(a,a,1/i),n.add(r,e,[0,i,0]);var o=v(r);n.subtract(o,o,t),n.scale(o,o,1/i),n.add(r,e,[0,0,i]);var s=v(r);return n.subtract(s,s,t),n.scale(s,s,1/i),n.add(r,a,o),n.add(r,r,s),r},b=[],_=t[0][0],w=t[0][1],k=t[0][2],T=t[1][0],A=t[1][1],M=t[1][2],S=10*n.distance(t[0],t[1])/c,E=S*S,C=1,L=0,I=r.length;I>1&&(C=function(e){for(var t=[],r=[],n=[],i={},a={},o={},s=e.length,c=0;cL&&(L=N),F.push(N),b.push({points:O,velocities:D,divergences:F});for(var U=0;U<100*c&&O.lengthT||gA||yM));){U++;var V=n.clone(R),q=n.squaredLength(V);if(0===q)break;q>E&&n.scale(V,V,S/Math.sqrt(q)),n.add(V,V,z),R=v(V),n.squaredDistance(j,V)-E>-1e-4*E&&(O.push(V),j=V,D.push(R),B=x(V,R),N=n.length(B),isFinite(N)&&N>L&&(L=N),F.push(N)),z=V}}var H=function(e,t,r,a){for(var o=0,s=0;s0)for(k=0;k<8;k++){var T=(k+1)%8;c.push(d[k],f[k],f[T],f[T],d[T],d[k]),h.push(v,y,y,y,v,v),p.push(m,g,g,g,m,m);var A=c.length;u.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var M=d;d=f,f=M;var S=v;v=y,y=S;var E=m;m=g,g=E}return{positions:c,cells:u,vectors:h,vertexIntensity:p}}(e,r,a,o)})),h=[],d=[],f=[],p=[];for(s=0;s 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 — 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=i(["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"]),l=i(["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(e){var t=n(e,a,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return t.attributes.uv.location=0,t.attributes.f.location=1,t.attributes.normal.location=2,t},t.createPickShader=function(e){var t=n(e,a,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return t.attributes.uv.location=0,t.attributes.f.location=1,t.attributes.normal.location=2,t},t.createContourShader=function(e){var t=n(e,s,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return t.attributes.uv.location=0,t.attributes.f.location=1,t},t.createPickContourShader=function(e){var t=n(e,s,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return t.attributes.uv.location=0,t.attributes.f.location=1,t}},9499:function(e,t,r){e.exports=function(e){var t=e.gl,r=v(t),n=b(t),s=x(t),l=_(t),c=i(t),u=a(t,[{buffer:c,size:4,stride:w,offset:0},{buffer:c,size:3,stride:w,offset:16},{buffer:c,size:3,stride:w,offset:28}]),h=i(t),d=a(t,[{buffer:h,size:4,stride:20,offset:0},{buffer:h,size:1,stride:20,offset:16}]),f=i(t),p=a(t,[{buffer:f,size:2,type:t.FLOAT}]),m=o(t,1,S,t.RGBA,t.UNSIGNED_BYTE);m.minFilter=t.LINEAR,m.magFilter=t.LINEAR;var g=new E(t,[0,0],[[0,0,0],[0,0,0]],r,n,c,u,m,s,l,h,d,f,p,[0,0,0]),y={levels:[[],[],[]]};for(var k in e)y[k]=e[k];return y.colormap=y.colormap||"jet",g.update(y),g};var n=r(8828),i=r(2762),a=r(8116),o=r(7766),s=r(1888),l=r(6729),c=r(5298),u=r(9994),h=r(9618),d=r(3711),f=r(6760),p=r(7608),m=r(2478),g=r(6199),y=r(990),v=y.createShader,x=y.createContourShader,b=y.createPickShader,_=y.createPickContourShader,w=40,k=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],T=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],A=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function M(e,t,r,n,i){this.position=e,this.index=t,this.uv=r,this.level=n,this.dataCoordinate=i}!function(){for(var e=0;e<3;++e){var t=A[e],r=(e+2)%3;t[(e+1)%3+0]=1,t[r+3]=1,t[e+6]=1}}();var S=256;function E(e,t,r,n,i,a,o,l,c,u,d,f,p,m,g){this.gl=e,this.shape=t,this.bounds=r,this.objectOffset=g,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=c,this._contourPickShader=u,this._contourBuffer=d,this._contourVAO=f,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new M([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=p,this._dynamicVAO=m,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[h(s.mallocFloat(1024),[0,0]),h(s.mallocFloat(1024),[0,0]),h(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var C=E.prototype;C.genColormap=function(e,t){var r=!1,n=u([l({colormap:e,nshades:S,format:"rgba"}).map((function(e,n){var i=t?function(e,t){if(!t||!t.length)return 1;for(var r=0;re&&r>0){var n=(t[r][0]-e)/(t[r][0]-t[r-1][0]);return t[r][1]*(1-n)+n*t[r-1][1]}}return 1}(n/255,t):e[3];return i<1&&(r=!0),[e[0],e[1],e[2],255*i]}))]);return c.divseq(n,255),this.hasAlphaScale=r,n},C.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},C.isOpaque=function(){return!this.isTransparent()},C.pickSlots=1,C.setPickBase=function(e){this.pickId=e};var L=[0,0,0],I={showSurface:!1,showContour:!1,projections:[k.slice(),k.slice(),k.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function P(e,t){var r,n,i,a=t.axes&&t.axes.lastCubeProps.axis||L,o=t.showSurface,s=t.showContour;for(r=0;r<3;++r)for(o=o||t.surfaceProject[r],n=0;n<3;++n)s=s||t.contourProject[r][n];for(r=0;r<3;++r){var l=I.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=t.axesBounds[+(a[r]>0)][r],f(l,e.model,l);var c=I.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)c[i][n]=e.clipBounds[i][n];c[0][r]=-1e8,c[1][r]=1e8}return I.showSurface=o,I.showContour=s,I}var z={model:k,view:k,projection:k,inverseModel:k.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},O=k.slice(),D=[1,0,0,0,1,0,0,0,1];function R(e,t){e=e||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=z;n.model=e.model||k,n.view=e.view||k,n.projection=e.projection||k,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=p(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=D,n.vertexColor=this.vertexColor;var s=O;for(f(s,n.view,n.model),f(s,n.projection,s),p(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var c=s[12+i];for(o=0;o<3;++o)c+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=c/l}var u=P(n,this);if(u.showSurface){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)!this.surfaceProject[i]||!this.vertexCount||(this._shader.uniforms.model=u.projections[i],this._shader.uniforms.clipBounds=u.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(u.showContour){var h=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,h.bind(),h.uniforms=n;var d=this._contourVAO;for(d.bind(),i=0;i<3;++i)for(h.uniforms.permutation=A[i],r.lineWidth(this.contourWidth[i]*this.pixelRatio),o=0;o>4)/16)/255,i=Math.floor(n),a=n-i,o=t[1]*(e.value[1]+(15&e.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var c=r.position;c[0]=c[1]=c[2]=0;for(var u=0;u<2;++u)for(var h=u?a:1-a,d=0;d<2;++d)for(var f=i+u,p=s+d,g=h*(d?l:1-l),y=0;y<3;++y)c[y]+=this._field[y].get(f,p)*g;for(var v=this._pickResult.level,x=0;x<3;++x)if(v[x]=m.le(this.contourLevels[x],c[x]),v[x]<0)this.contourLevels[x].length>0&&(v[x]=0);else if(v[x]Math.abs(_-c[x])&&(v[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/t[0],r.uv[1]=o/t[1],y=0;y<3;++y)r.dataCoordinate[y]=this._field[y].get(r.index[0],r.index[1]);return r},C.padField=function(e,t){var r=t.shape.slice(),n=e.shape.slice();c.assign(e.lo(1,1).hi(r[0],r[1]),t),c.assign(e.lo(1).hi(r[0],1),t.hi(r[0],1)),c.assign(e.lo(1,n[1]-1).hi(r[0],1),t.lo(0,r[1]-1).hi(r[0],1)),c.assign(e.lo(0,1).hi(1,r[1]),t.hi(1)),c.assign(e.lo(n[0]-1,1).hi(1,r[1]),t.lo(r[0]-1)),e.set(0,0,t.get(0,0)),e.set(0,n[1]-1,t.get(0,r[1]-1)),e.set(n[0]-1,0,t.get(r[0]-1,0)),e.set(n[0]-1,n[1]-1,t.get(r[0]-1,r[1]-1))},C.update=function(e){e=e||{},this.objectOffset=e.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in e&&(this.contourWidth=F(e.contourWidth,Number)),"showContour"in e&&(this.showContour=F(e.showContour,Boolean)),"showSurface"in e&&(this.showSurface=!!e.showSurface),"contourTint"in e&&(this.contourTint=F(e.contourTint,Boolean)),"contourColor"in e&&(this.contourColor=N(e.contourColor)),"contourProject"in e&&(this.contourProject=F(e.contourProject,(function(e){return F(e,Boolean)}))),"surfaceProject"in e&&(this.surfaceProject=e.surfaceProject),"dynamicColor"in e&&(this.dynamicColor=N(e.dynamicColor)),"dynamicTint"in e&&(this.dynamicTint=F(e.dynamicTint,Number)),"dynamicWidth"in e&&(this.dynamicWidth=F(e.dynamicWidth,Number)),"opacity"in e&&(this.opacity=e.opacity),"opacityscale"in e&&(this.opacityscale=e.opacityscale),"colorBounds"in e&&(this.colorBounds=e.colorBounds),"vertexColor"in e&&(this.vertexColor=e.vertexColor?1:0),"colormap"in e&&this._colorMap.setPixels(this.genColormap(e.colormap,this.opacityscale));var t=e.field||e.coords&&e.coords[2]||null,r=!1;if(t||(t=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),"field"in e||"coords"in e){var i=(t.shape[0]+2)*(t.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=h(this._field[2].data,[t.shape[0]+2,t.shape[1]+2]),this.padField(this._field[2],t),this.shape=t.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=h(this._field[o].data,[a[0]+2,a[1]+2]);if(e.coords){var l=e.coords;if(!Array.isArray(l)||3!==l.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var c=l[o];for(y=0;y<2;++y)if(c.shape[y]!==a[y])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[o],c)}}else if(e.ticks){var u=e.ticks;if(!Array.isArray(u)||2!==u.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var f=u[o];if((Array.isArray(f)||f.length)&&(f=h(f)),f.shape[0]!==a[o])throw new Error("gl-surface: invalid tick length");var p=h(f.data,a);p.stride[o]=f.stride[0],p.stride[1^o]=0,this.padField(this._field[o],p)}}else{for(o=0;o<2;++o){var m=[0,0];m[o]=1,this._field[o]=h(this._field[o].data,[a[0]+2,a[1]+2],m,0)}this._field[0].set(0,0,0);for(var y=0;y0){for(var xe=0;xe<5;++xe)J.pop();U-=1}continue e}J.push(ne[0],ne[1],oe[0],oe[1],ne[2]),U+=1}}re.push(U)}this._contourOffsets[Q]=te,this._contourCounts[Q]=re}var be=s.mallocFloat(J.length);for(o=0;os||o[1]<0||o[1]>s)throw new Error("gl-texture2d: Invalid texture size");var l=p(o,t.stride.slice()),c=0;"float32"===r?c=e.FLOAT:"float64"===r?(c=e.FLOAT,l=!1,r="float32"):"uint8"===r?c=e.UNSIGNED_BYTE:(c=e.UNSIGNED_BYTE,l=!1,r="uint8");var h=0;if(2===o.length)h=e.LUMINANCE,o=[o[0],o[1],1],t=n(t.data,o,[t.stride[0],t.stride[1],1],t.offset);else{if(3!==o.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===o[2])h=e.ALPHA;else if(2===o[2])h=e.LUMINANCE_ALPHA;else if(3===o[2])h=e.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");h=e.RGBA}}c===e.FLOAT&&!e.getExtension("OES_texture_float")&&(c=e.UNSIGNED_BYTE,l=!1);var f,g,y=t.size;if(l)f=0===t.offset&&t.data.length===y?t.data:t.data.subarray(t.offset,t.offset+y);else{var v=[o[2],o[2]*o[0],1];g=a.malloc(y,r);var x=n(g,o,v,0);"float32"!==r&&"float64"!==r||c!==e.UNSIGNED_BYTE?i.assign(x,t):u(x,t),f=g.subarray(0,y)}var b=m(e);return e.texImage2D(e.TEXTURE_2D,0,h,o[0],o[1],0,h,c,f),l||a.free(g),new d(e,b,o[0],o[1],h,c)}(e,t)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")};var o=null,s=null,l=null;function c(e){return typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLVideoElement<"u"&&e instanceof HTMLVideoElement||typeof ImageData<"u"&&e instanceof ImageData}var u=function(e,t){i.muls(e,t,255)};function h(e,t,r){var n=e.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(t<0||t>i||r<0||r>i)throw new Error("gl-texture2d: Invalid texture size");return e._shape=[t,r],e.bind(),n.texImage2D(n.TEXTURE_2D,0,e.format,t,r,0,e.format,e.type,null),e._mipLevels=[0],e}function d(e,t,r,n,i,a){this.gl=e,this.handle=t,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=e.NEAREST,this._minFilter=e.NEAREST,this._wrapS=e.CLAMP_TO_EDGE,this._wrapT=e.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(e){return o.wrapS=e}},{get:function(){return o._wrapT},set:function(e){return o.wrapT=e}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(e){return o.width=e}},{get:function(){return o._shape[1]},set:function(e){return o.height=e}}]),this._shapeVector=l}var f=d.prototype;function p(e,t){return 3===e.length?1===t[2]&&t[1]===e[0]*e[2]&&t[0]===e[2]:1===t[0]&&t[1]===e[0]}function m(e){var t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),t}function g(e,t,r,n,i){var a=e.getParameter(e.MAX_TEXTURE_SIZE);if(t<0||t>a||r<0||r>a)throw new Error("gl-texture2d: Invalid texture shape");if(i===e.FLOAT&&!e.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var o=m(e);return e.texImage2D(e.TEXTURE_2D,0,n,t,r,0,n,i,null),new d(e,o,t,r,n,i)}Object.defineProperties(f,{minFilter:{get:function(){return this._minFilter},set:function(e){this.bind();var t=this.gl;if(this.type===t.FLOAT&&o.indexOf(e)>=0&&(t.getExtension("OES_texture_float_linear")||(e=t.NEAREST)),s.indexOf(e)<0)throw new Error("gl-texture2d: Unknown filter mode "+e);return t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,e),this._minFilter=e}},magFilter:{get:function(){return this._magFilter},set:function(e){this.bind();var t=this.gl;if(this.type===t.FLOAT&&o.indexOf(e)>=0&&(t.getExtension("OES_texture_float_linear")||(e=t.NEAREST)),s.indexOf(e)<0)throw new Error("gl-texture2d: Unknown filter mode "+e);return t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,e),this._magFilter=e}},mipSamples:{get:function(){return this._anisoSamples},set:function(e){var t=this._anisoSamples;if(this._anisoSamples=0|Math.max(e,1),t!==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(e){if(this.bind(),l.indexOf(e)<0)throw new Error("gl-texture2d: Unknown wrap mode "+e);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,e),this._wrapS=e}},wrapT:{get:function(){return this._wrapT},set:function(e){if(this.bind(),l.indexOf(e)<0)throw new Error("gl-texture2d: Unknown wrap mode "+e);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,e),this._wrapT=e}},wrap:{get:function(){return this._wrapVector},set:function(e){if(Array.isArray(e)||(e=[e,e]),2!==e.length)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var t=0;t<2;++t)if(l.indexOf(e[t])<0)throw new Error("gl-texture2d: Unknown wrap mode "+e);this._wrapS=e[0],this._wrapT=e[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),e}},shape:{get:function(){return this._shapeVector},set:function(e){if(Array.isArray(e)){if(2!==e.length)throw new Error("gl-texture2d: Invalid texture shape")}else e=[0|e,0|e];return h(this,0|e[0],0|e[1]),[0|e[0],0|e[1]]}},width:{get:function(){return this._shape[0]},set:function(e){return h(this,e|=0,this._shape[1]),e}},height:{get:function(){return this._shape[1]},set:function(e){return e|=0,h(this,this._shape[0],e),e}}}),f.bind=function(e){var t=this.gl;return void 0!==e&&t.activeTexture(t.TEXTURE0+(0|e)),t.bindTexture(t.TEXTURE_2D,this.handle),void 0!==e?0|e:t.getParameter(t.ACTIVE_TEXTURE)-t.TEXTURE0},f.dispose=function(){this.gl.deleteTexture(this.handle)},f.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var e=Math.min(this._shape[0],this._shape[1]),t=0;e>0;++t,e>>>=1)this._mipLevels.indexOf(t)<0&&this._mipLevels.push(t)},f.setPixels=function(e,t,r,o){var s=this.gl;this.bind(),Array.isArray(t)?(o=r,r=0|t[1],t=0|t[0]):(t=t||0,r=r||0),o=o||0;var l=c(e)?e:e.raw;if(l)this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,t,r,this.format,this.type,l);else{if(!(e.shape&&e.stride&&e.data))throw new Error("gl-texture2d: Unsupported data type");if(e.shape.length<2||t+e.shape[1]>this._shape[1]>>>o||r+e.shape[0]>this._shape[0]>>>o||t<0||r<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");!function(e,t,r,o,s,l,c,h){var d=h.dtype,f=h.shape.slice();if(f.length<2||f.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var m=0,g=0,y=p(f,h.stride.slice());if("float32"===d?m=e.FLOAT:"float64"===d?(m=e.FLOAT,y=!1,d="float32"):"uint8"===d?m=e.UNSIGNED_BYTE:(m=e.UNSIGNED_BYTE,y=!1,d="uint8"),2===f.length)g=e.LUMINANCE,f=[f[0],f[1],1],h=n(h.data,f,[h.stride[0],h.stride[1],1],h.offset);else{if(3!==f.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===f[2])g=e.ALPHA;else if(2===f[2])g=e.LUMINANCE_ALPHA;else if(3===f[2])g=e.RGB;else{if(4!==f[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");g=e.RGBA}f[2]}if((g===e.LUMINANCE||g===e.ALPHA)&&(s===e.LUMINANCE||s===e.ALPHA)&&(g=s),g!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var v=h.size,x=c.indexOf(o)<0;if(x&&c.push(o),m===l&&y)0===h.offset&&h.data.length===v?x?e.texImage2D(e.TEXTURE_2D,o,s,f[0],f[1],0,s,l,h.data):e.texSubImage2D(e.TEXTURE_2D,o,t,r,f[0],f[1],s,l,h.data):x?e.texImage2D(e.TEXTURE_2D,o,s,f[0],f[1],0,s,l,h.data.subarray(h.offset,h.offset+v)):e.texSubImage2D(e.TEXTURE_2D,o,t,r,f[0],f[1],s,l,h.data.subarray(h.offset,h.offset+v));else{var b;b=l===e.FLOAT?a.mallocFloat32(v):a.mallocUint8(v);var _=n(b,f,[f[2],f[2]*f[0],1]);m===e.FLOAT&&l===e.UNSIGNED_BYTE?u(_,h):i.assign(_,h),x?e.texImage2D(e.TEXTURE_2D,o,s,f[0],f[1],0,s,l,b.subarray(0,v)):e.texSubImage2D(e.TEXTURE_2D,o,t,r,f[0],f[1],s,l,b.subarray(0,v)),l===e.FLOAT?a.freeFloat32(b):a.freeUint8(b)}}(s,t,r,o,this.format,this.type,this._mipLevels,e)}}},1433:function(e){e.exports=function(e,t,r){t?t.bind():e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,null);var n=0|e.getParameter(e.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error("gl-vao: Too many vertex attributes");for(var i=0;i1?0:Math.acos(s)};var n=r(2825),i=r(3536),a=r(244)},9226:function(e){e.exports=function(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}},3126:function(e){e.exports=function(e){var t=new Float32Array(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},3990:function(e){e.exports=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},1091:function(e){e.exports=function(){var e=new Float32Array(3);return e[0]=0,e[1]=0,e[2]=0,e}},5911:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],l=r[2];return e[0]=i*l-a*s,e[1]=a*o-n*l,e[2]=n*s-i*o,e}},5455:function(e,t,r){e.exports=r(7056)},7056:function(e){e.exports=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(r*r+n*n+i*i)}},4008:function(e,t,r){e.exports=r(6690)},6690:function(e){e.exports=function(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}},244:function(e){e.exports=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}},2613:function(e){e.exports=1e-6},9922:function(e,t,r){e.exports=function(e,t){var r=e[0],i=e[1],a=e[2],o=t[0],s=t[1],l=t[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n*Math.max(1,Math.abs(a),Math.abs(l))};var n=r(2613)},9265:function(e){e.exports=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}},2681:function(e){e.exports=function(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}},5137:function(e,t,r){e.exports=function(e,t,r,i,a,o){var s,l;for(t||(t=3),r||(r=0),l=i?Math.min(i*t+r,e.length):e.length,s=r;s0&&(a=1/Math.sqrt(a),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a),e}},7636:function(e){e.exports=function(e,t){t=t||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,i=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*i,e[1]=Math.sin(r)*i,e[2]=n*t,e}},6894:function(e){e.exports=function(e,t,r,n){var i=r[1],a=r[2],o=t[1]-i,s=t[2]-a,l=Math.sin(n),c=Math.cos(n);return e[0]=t[0],e[1]=i+o*c-s*l,e[2]=a+o*l+s*c,e}},109:function(e){e.exports=function(e,t,r,n){var i=r[0],a=r[2],o=t[0]-i,s=t[2]-a,l=Math.sin(n),c=Math.cos(n);return e[0]=i+s*l+o*c,e[1]=t[1],e[2]=a+s*c-o*l,e}},8692:function(e){e.exports=function(e,t,r,n){var i=r[0],a=r[1],o=t[0]-i,s=t[1]-a,l=Math.sin(n),c=Math.cos(n);return e[0]=i+o*c-s*l,e[1]=a+o*l+s*c,e[2]=t[2],e}},2447:function(e){e.exports=function(e,t){return e[0]=Math.round(t[0]),e[1]=Math.round(t[1]),e[2]=Math.round(t[2]),e}},6621:function(e){e.exports=function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}},8489:function(e){e.exports=function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e}},1463:function(e){e.exports=function(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}},6141:function(e,t,r){e.exports=r(2953)},5486:function(e,t,r){e.exports=r(3066)},2953:function(e){e.exports=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i}},3066:function(e){e.exports=function(e){var t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}},2229:function(e,t,r){e.exports=r(6843)},6843:function(e){e.exports=function(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}},492:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2];return e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8],e}},5673:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,e[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,e[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,e}},264:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,h=c*i+l*n-o*a,d=c*a+o*i-s*n,f=-o*n-s*i-l*a;return e[0]=u*c+f*-o+h*-l-d*-s,e[1]=h*c+f*-s+d*-o-u*-l,e[2]=d*c+f*-l+u*-s-h*-o,e}},4361:function(e){e.exports=function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e}},2335:function(e){e.exports=function(e){var t=new Float32Array(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},2933:function(e){e.exports=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},7536:function(e){e.exports=function(){var e=new Float32Array(4);return e[0]=0,e[1]=0,e[2]=0,e[3]=0,e}},4691:function(e){e.exports=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2],a=t[3]-e[3];return Math.sqrt(r*r+n*n+i*i+a*a)}},1373:function(e){e.exports=function(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e[3]=t[3]/r[3],e}},3750:function(e){e.exports=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}},3390:function(e){e.exports=function(e,t,r,n){var i=new Float32Array(4);return i[0]=e,i[1]=t,i[2]=r,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=function(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e[3]=1/t[3],e}},6808:function(e){e.exports=function(e){var t=e[0],r=e[1],n=e[2],i=e[3];return Math.sqrt(t*t+r*r+n*n+i*i)}},2573:function(e){e.exports=function(e,t,r,n){var i=t[0],a=t[1],o=t[2],s=t[3];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e[3]=s+n*(r[3]-s),e}},160:function(e){e.exports=function(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e[3]=Math.max(t[3],r[3]),e}},2334:function(e){e.exports=function(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e[3]=Math.min(t[3],r[3]),e}},3576:function(e){e.exports=function(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e[3]=t[3]*r[3],e}},1498:function(e){e.exports=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=-t[3],e}},5177:function(e){e.exports=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o),e[0]=r*o,e[1]=n*o,e[2]=i*o,e[3]=a*o),e}},9131:function(e,t,r){var n=r(5177),i=r(9288);e.exports=function(e,t){return t=t||1,e[0]=Math.random(),e[1]=Math.random(),e[2]=Math.random(),e[3]=Math.random(),n(e,e),i(e,e,t),e}},9288:function(e){e.exports=function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e}},4844:function(e){e.exports=function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e}},4578:function(e){e.exports=function(e,t,r,n,i){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e}},7960:function(e){e.exports=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2],a=t[3]-e[3];return r*r+n*n+i*i+a*a}},483:function(e){e.exports=function(e){var t=e[0],r=e[1],n=e[2],i=e[3];return t*t+r*r+n*n+i*i}},6860:function(e){e.exports=function(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e}},5352:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,e}},4041:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,h=c*i+l*n-o*a,d=c*a+o*i-s*n,f=-o*n-s*i-l*a;return e[0]=u*c+f*-o+h*-l-d*-s,e[1]=h*c+f*-s+d*-o-u*-l,e[2]=d*c+f*-l+u*-s-h*-o,e[3]=t[3],e}},1848:function(e,t,r){var n=r(4905),i=r(6468);e.exports=function(e){for(var t=Array.isArray(e)?e:n(e),r=0;r0)continue;r=e.slice(0,1).join("")}return B(r),I+=r.length,(S=S.slice(r.length)).length}}function q(){if(/[^\d\w_]/.test(t)){var e=S.join("");return M=F[e]?v:j[e]?y:g,B(S.join("")),M=l,T}return S.push(t),r=t,T+1}};var n=r(620),i=r(7827),a=r(6852),o=r(7932),s=r(3508),l=999,c=9999,u=0,h=1,d=2,f=3,p=4,m=5,g=6,y=7,v=8,x=9,b=10,_=11,w=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},3508:function(e,t,r){var n=r(6852);n=n.slice().filter((function(e){return!/^(gl\_|texture)/.test(e)})),e.exports=n.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},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 n=r(620);e.exports=n.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 n=r(5874);e.exports=function(e,t){var r=n(t),i=[];return(i=i.concat(r(e))).concat(r(null))}},3236:function(e){e.exports=function(e){"string"==typeof e&&(e=[e]);for(var t=[].slice.call(arguments,1),r=[],n=0;n>1,u=-7,h=r?i-1:0,d=r?-1:1,f=e[t+h];for(h+=d,a=f&(1<<-u)-1,f>>=-u,u+=s;u>0;a=256*a+e[t+h],h+=d,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+e[t+h],h+=d,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(f?-1:1);o+=Math.pow(2,n),a-=c}return(f?-1:1)*o*Math.pow(2,a-n)},t.write=function(e,t,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:a-1,p=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+h>=1?d/l:d*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(t*l-1)*Math.pow(2,i),o+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[r+f]=255&s,f+=p,s/=256,i-=8);for(o=o<0;e[r+f]=255&o,f+=p,o/=256,c-=8);e[r+f-p]|=128*m}},8954:function(e,t,r){e.exports=function(e,t){var r=e.length;if(0===r)throw new Error("Must have at least d+1 points");var i=e[0].length;if(r<=i)throw new Error("Must input at least d+1 points");var o=e.slice(0,i+1),s=n.apply(void 0,o);if(0===s)throw new Error("Input not in general position");for(var l=new Array(i+1),u=0;u<=i;++u)l[u]=u;s<0&&(l[0]=1,l[1]=0);var h=new a(l,new Array(i+1),!1),d=h.adjacent,f=new Array(i+2);for(u=0;u<=i;++u){for(var p=l.slice(),m=0;m<=i;++m)m===u&&(p[m]=-1);var g=p[0];p[0]=p[1],p[1]=g;var y=new a(p,new Array(i+1),!0);d[u]=y,f[u]=y}for(f[i+1]=h,u=0;u<=i;++u){p=d[u].vertices;var v=d[u].adjacent;for(m=0;m<=i;++m){var x=p[m];if(x<0)v[m]=h;else for(var b=0;b<=i;++b)d[b].vertices.indexOf(x)<0&&(v[m]=d[b])}}var _=new c(i,o,f),w=!!t;for(u=i+1;u0;)for(var s=(e=o.pop()).adjacent,l=0;l<=r;++l){var c=s[l];if(c.boundary&&!(c.lastVisited<=-n)){for(var u=c.vertices,h=0;h<=r;++h){var d=u[h];i[h]=d<0?t:a[d]}var f=this.orient();if(f>0)return c;c.lastVisited=-n,0===f&&o.push(c)}}return null},u.walk=function(e,t){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=t?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];e:for(;!s.boundary;){for(var l=s.vertices,c=s.adjacent,u=0;u<=n;++u)a[u]=i[l[u]];for(s.lastVisited=r,u=0;u<=n;++u){var h=c[u];if(!(h.lastVisited>=r)){var d=a[u];a[u]=e;var f=this.orient();if(a[u]=d,f<0){s=h;continue e}h.boundary?h.lastVisited=-r:h.lastVisited=r}}return}return s},u.addPeaks=function(e,t){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,c=this.interior,u=this.simplices,h=[t];t.lastVisited=r,t.vertices[t.vertices.indexOf(-1)]=r,t.boundary=!1,c.push(t);for(var d=[];h.length>0;){var f=(t=h.pop()).vertices,p=t.adjacent,m=f.indexOf(r);if(!(m<0))for(var g=0;g<=n;++g)if(g!==m){var y=p[g];if(y.boundary&&!(y.lastVisited>=r)){var v=y.vertices;if(y.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)v[b]<0?(x=b,l[b]=e):l[b]=i[v[b]];if(this.orient()>0){v[x]=r,y.boundary=!1,c.push(y),h.push(y),y.lastVisited=r;continue}y.lastVisited=-r}var _=y.adjacent,w=f.slice(),k=p.slice(),T=new a(w,k,!0);u.push(T);var A=_.indexOf(t);if(!(A<0))for(_[A]=T,k[m]=y,w[g]=-1,k[g]=t,p[g]=T,T.flip(),b=0;b<=n;++b){var M=w[b];if(!(M<0||M===r)){for(var S=new Array(n-1),E=0,C=0;C<=n;++C){var L=w[C];L<0||C===b||(S[E++]=L)}d.push(new o(S,T,b))}}}}}for(d.sort(s),g=0;g+1=0?o[l++]=s[u]:c=1&u;if(c===(1&e)){var h=o[0];o[0]=o[1],o[1]=h}t.push(o)}}return t}},3352:function(e,t,r){var n=r(2478);function i(e,t,r,n,i){this.mid=e,this.left=t,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(t?t.count:0)+(r?r.count:0)+n.length}e.exports=function(e){return e&&0!==e.length?new y(g(e)):new y(null)};var a=i.prototype;function o(e,t){e.mid=t.mid,e.left=t.left,e.right=t.right,e.leftPoints=t.leftPoints,e.rightPoints=t.rightPoints,e.count=t.count}function s(e,t){var r=g(t);e.mid=r.mid,e.left=r.left,e.right=r.right,e.leftPoints=r.leftPoints,e.rightPoints=r.rightPoints,e.count=r.count}function l(e,t){var r=e.intervals([]);r.push(t),s(e,r)}function c(e,t){var r=e.intervals([]),n=r.indexOf(t);return n<0?0:(r.splice(n,1),s(e,r),1)}function u(e,t,r){for(var n=0;n=0&&e[n][1]>=t;--n){var i=r(e[n]);if(i)return i}}function d(e,t){for(var r=0;r>1],a=[],o=[],s=[];for(r=0;r3*(t+1)?l(this,e):this.left.insert(e):this.left=g([e]);else if(e[0]>this.mid)this.right?4*(this.right.count+1)>3*(t+1)?l(this,e):this.right.insert(e):this.right=g([e]);else{var r=n.ge(this.leftPoints,e,p),i=n.ge(this.rightPoints,e,m);this.leftPoints.splice(r,0,e),this.rightPoints.splice(i,0,e)}},a.remove=function(e){var t=this.count-this.leftPoints;if(e[1]3*(t-1)?c(this,e):2===(s=this.left.remove(e))?(this.left=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(e[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(t-1)?c(this,e):2===(s=this.right.remove(e))?(this.right=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(1===this.count)return this.leftPoints[0]===e?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===e){if(this.left&&this.right){for(var r=this,i=this.left;i.right;)r=i,i=i.right;if(r===this)i.right=this.right;else{var a=this.left,s=this.right;r.count-=i.count,r.right=i.left,i.left=a,i.right=s}o(this,i),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return 1}for(a=n.ge(this.leftPoints,e,p);athis.mid?this.right&&(r=this.right.queryPoint(e,t))?r:h(this.rightPoints,e,t):d(this.leftPoints,t);var r},a.queryInterval=function(e,t,r){var n;return ethis.mid&&this.right&&(n=this.right.queryInterval(e,t,r))?n:tthis.mid?h(this.rightPoints,e,r):d(this.leftPoints,r)};var v=y.prototype;v.insert=function(e){this.root?this.root.insert(e):this.root=new i(e[0],null,null,[e],[e])},v.remove=function(e){if(this.root){var t=this.root.remove(e);return 2===t&&(this.root=null),0!==t}return!1},v.queryPoint=function(e,t){if(this.root)return this.root.queryPoint(e,t)},v.queryInterval=function(e,t,r){if(e<=t&&this.root)return this.root.queryInterval(e,t,r)},Object.defineProperty(v,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(v,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},9507:function(e){e.exports=!0},7163:function(e){function t(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}e.exports=function(e){return null!=e&&(t(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&t(e.slice(0,0))}(e)||!!e._isBuffer)}},5219:function(e){e.exports=function(e){for(var t,r=e.length,n=0;n13)&&32!==t&&133!==t&&160!==t&&5760!==t&&6158!==t&&(t<8192||t>8205)&&8232!==t&&8233!==t&&8239!==t&&8287!==t&&8288!==t&&12288!==t&&65279!==t)return!1;return!0}},395:function(e){e.exports=function(e,t,r){return e*(1-r)+t*r}},2652:function(e,t,r){var n=r(4335),i=r(6864),a=r(1903),o=r(9921),s=r(7608),l=r(5665),c={length:r(1387),normalize:r(3536),dot:r(244),cross:r(5911)},u=i(),h=i(),d=[0,0,0,0],f=[[0,0,0],[0,0,0],[0,0,0]],p=[0,0,0];function m(e,t,r,n,i){e[0]=t[0]*n+r[0]*i,e[1]=t[1]*n+r[1]*i,e[2]=t[2]*n+r[2]*i}e.exports=function(e,t,r,i,g,y){if(t||(t=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),g||(g=[0,0,0,1]),y||(y=[0,0,0,1]),!n(u,e)||(a(h,u),h[3]=0,h[7]=0,h[11]=0,h[15]=1,Math.abs(o(h)<1e-8)))return!1;var v=u[3],x=u[7],b=u[11],_=u[12],w=u[13],k=u[14],T=u[15];if(0!==v||0!==x||0!==b){if(d[0]=v,d[1]=x,d[2]=b,d[3]=T,!s(h,h))return!1;l(h,h),function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3];e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o}(g,d,h)}else g[0]=g[1]=g[2]=0,g[3]=1;if(t[0]=_,t[1]=w,t[2]=k,function(e,t){e[0][0]=t[0],e[0][1]=t[1],e[0][2]=t[2],e[1][0]=t[4],e[1][1]=t[5],e[1][2]=t[6],e[2][0]=t[8],e[2][1]=t[9],e[2][2]=t[10]}(f,u),r[0]=c.length(f[0]),c.normalize(f[0],f[0]),i[0]=c.dot(f[0],f[1]),m(f[1],f[1],f[0],1,-i[0]),r[1]=c.length(f[1]),c.normalize(f[1],f[1]),i[0]/=r[1],i[1]=c.dot(f[0],f[2]),m(f[2],f[2],f[0],1,-i[1]),i[2]=c.dot(f[1],f[2]),m(f[2],f[2],f[1],1,-i[2]),r[2]=c.length(f[2]),c.normalize(f[2],f[2]),i[1]/=r[2],i[2]/=r[2],c.cross(p,f[1],f[2]),c.dot(f[0],p)<0)for(var A=0;A<3;A++)r[A]*=-1,f[A][0]*=-1,f[A][1]*=-1,f[A][2]*=-1;return y[0]=.5*Math.sqrt(Math.max(1+f[0][0]-f[1][1]-f[2][2],0)),y[1]=.5*Math.sqrt(Math.max(1-f[0][0]+f[1][1]-f[2][2],0)),y[2]=.5*Math.sqrt(Math.max(1-f[0][0]-f[1][1]+f[2][2],0)),y[3]=.5*Math.sqrt(Math.max(1+f[0][0]+f[1][1]+f[2][2],0)),f[2][1]>f[1][2]&&(y[0]=-y[0]),f[0][2]>f[2][0]&&(y[1]=-y[1]),f[1][0]>f[0][1]&&(y[2]=-y[2]),!0}},4335:function(e){e.exports=function(e,t){var r=t[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)e[i]=t[i]*n;return!0}},7442:function(e,t,r){var n=r(6658),i=r(7182),a=r(2652),o=r(9921),s=r(8648),l=h(),c=h(),u=h();function h(){return{translate:d(),scale:d(1),skew:d(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function d(e){return[e||0,e||0,e||0]}e.exports=function(e,t,r,h){if(0===o(t)||0===o(r))return!1;var d=a(t,l.translate,l.scale,l.skew,l.perspective,l.quaternion),f=a(r,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!(!d||!f||(n(u.translate,l.translate,c.translate,h),n(u.skew,l.skew,c.skew,h),n(u.scale,l.scale,c.scale,h),n(u.perspective,l.perspective,c.perspective,h),s(u.quaternion,l.quaternion,c.quaternion,h),i(e,u.translate,u.scale,u.skew,u.perspective,u.quaternion),0))}},7182:function(e,t,r){var n={identity:r(7894),translate:r(7656),multiply:r(6760),create:r(6864),scale:r(2504),fromRotationTranslation:r(6743)},i=(n.create(),n.create());e.exports=function(e,t,r,a,o,s){return n.identity(e),n.fromRotationTranslation(e,s,t),e[3]=o[0],e[7]=o[1],e[11]=o[2],e[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(e,e,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(e,e,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(e,e,i)),n.scale(e,e,r),e}},1811:function(e,t,r){var n=r(2478),i=r(7442),a=r(7608),o=r(5567),s=r(2408),l=r(7089),c=r(6582),u=r(7656),h=(r(2504),r(3536)),d=[0,0,0];function f(e){this._components=e.slice(),this._time=[0],this.prevMatrix=e.slice(),this.nextMatrix=e.slice(),this.computedMatrix=e.slice(),this.computedInverse=e.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}e.exports=function(e){return new f((e=e||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var p=f.prototype;p.recalcMatrix=function(e){var t=this._time,r=n.le(t,e),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===t.length-1)for(var l=16*r,c=0;c<16;++c)o[c]=s[l++];else{var u=t[r+1]-t[r],d=(l=16*r,this.prevMatrix),f=!0;for(c=0;c<16;++c)d[c]=s[l++];var p=this.nextMatrix;for(c=0;c<16;++c)p[c]=s[l++],f=f&&d[c]===p[c];if(u<1e-6||f)for(c=0;c<16;++c)o[c]=d[c];else i(o,d,p,(e-t[r])/u)}var m=this.computedUp;m[0]=o[1],m[1]=o[5],m[2]=o[9],h(m,m);var g=this.computedInverse;a(g,o);var y=this.computedEye,v=g[15];y[0]=g[12]/v,y[1]=g[13]/v,y[2]=g[14]/v;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(c=0;c<3;++c)x[c]=y[c]-o[2+4*c]*b}},p.idle=function(e){if(!(e1&&n(e[o[u-2]],e[o[u-1]],c)<=0;)u-=1,o.pop();for(o.push(l),u=s.length;u>1&&n(e[s[u-2]],e[s[u-1]],c)>=0;)u-=1,s.pop();s.push(l)}r=new Array(s.length+o.length-2);for(var h=0,d=(i=0,o.length);i0;--f)r[h++]=s[f];return r};var n=r(3250)[3]},351:function(e,t,r){e.exports=function(e,t){t||(t=e,e=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(e){var t=!1;return"altKey"in e&&(t=t||e.altKey!==o.alt,o.alt=!!e.altKey),"shiftKey"in e&&(t=t||e.shiftKey!==o.shift,o.shift=!!e.shiftKey),"ctrlKey"in e&&(t=t||e.ctrlKey!==o.control,o.control=!!e.ctrlKey),"metaKey"in e&&(t=t||e.metaKey!==o.meta,o.meta=!!e.metaKey),t}function c(e,s){var c=n.x(s),u=n.y(s);"buttons"in s&&(e=0|s.buttons),(e!==r||c!==i||u!==a||l(s))&&(r=0|e,i=c||0,a=u||0,t&&t(r,i,a,o))}function u(e){c(0,e)}function h(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,t&&t(0,0,0,o))}function d(e){l(e)&&t&&t(r,i,a,o)}function f(e){0===n.buttons(e)?c(0,e):c(r,e)}function p(e){c(r|n.buttons(e),e)}function m(e){c(r&~n.buttons(e),e)}function g(){s||(s=!0,e.addEventListener("mousemove",f),e.addEventListener("mousedown",p),e.addEventListener("mouseup",m),e.addEventListener("mouseleave",u),e.addEventListener("mouseenter",u),e.addEventListener("mouseout",u),e.addEventListener("mouseover",u),e.addEventListener("blur",h),e.addEventListener("keyup",d),e.addEventListener("keydown",d),e.addEventListener("keypress",d),e!==window&&(window.addEventListener("blur",h),window.addEventListener("keyup",d),window.addEventListener("keydown",d),window.addEventListener("keypress",d)))}g();var y={element:e};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(t){t?g():s&&(s=!1,e.removeEventListener("mousemove",f),e.removeEventListener("mousedown",p),e.removeEventListener("mouseup",m),e.removeEventListener("mouseleave",u),e.removeEventListener("mouseenter",u),e.removeEventListener("mouseout",u),e.removeEventListener("mouseover",u),e.removeEventListener("blur",h),e.removeEventListener("keyup",d),e.removeEventListener("keydown",d),e.removeEventListener("keypress",d),e!==window&&(window.removeEventListener("blur",h),window.removeEventListener("keyup",d),window.removeEventListener("keydown",d),window.removeEventListener("keypress",d)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(4687)},24:function(e){var t={left:0,top:0};e.exports=function(e,r,n){r=r||e.currentTarget||e.srcElement,Array.isArray(n)||(n=[0,0]);var i=e.clientX||0,a=e.clientY||0,o=function(e){return e===window||e===document||e===document.body?t:e.getBoundingClientRect()}(r);return n[0]=i-o.left,n[1]=a-o.top,n}},4687:function(e,t){function r(e){return e.target||e.srcElement||window}t.buttons=function(e){if("object"==typeof e){if("buttons"in e)return e.buttons;if("which"in e){if(2===(t=e.which))return 4;if(3===t)return 2;if(t>0)return 1<=0)return 1< 0"),"function"!=typeof e.vertex&&t("Must specify vertex creation function"),"function"!=typeof e.cell&&t("Must specify cell creation function"),"function"!=typeof e.phase&&t("Must specify phase function");for(var o=e.getters||[],s=new Array(a),l=0;l=0?s[l]=!0:s[l]=!1;return function(e,t,r,a,o,s){var l=[s,o].join(",");return(0,i[l])(e,t,r,n.mallocUint32,n.freeUint32)}(e.vertex,e.cell,e.phase,0,r,s)};var i={"false,0,1":function(e,t,r,n,i){return function(a,o,s,l){var c,u=0|a.shape[0],h=0|a.shape[1],d=a.data,f=0|a.offset,p=0|a.stride[0],m=0|a.stride[1],g=f,y=0|-p,v=0,x=0|-m,b=0,_=-p-m|0,w=0,k=0|p,T=m-p*u|0,A=0,M=0,S=0,E=2*u|0,C=n(E),L=n(E),I=0,P=0,z=-1,O=-1,D=0,R=0|-u,j=0|u,F=0,B=-u-1|0,N=u-1|0,U=0,V=0,q=0;for(A=0;A0){if(M=1,C[I++]=r(d[g],o,s,l),g+=k,u>0)for(A=1,c=d[g],P=C[I]=r(c,o,s,l),D=C[I+z],F=C[I+R],U=C[I+B],(P!==D||P!==F||P!==U)&&(v=d[g+y],b=d[g+x],w=d[g+_],e(A,M,c,v,b,w,P,D,F,U,o,s,l),V=L[I]=S++),I+=1,g+=k,A=2;A0)for(A=1,c=d[g],P=C[I]=r(c,o,s,l),D=C[I+z],F=C[I+R],U=C[I+B],(P!==D||P!==F||P!==U)&&(v=d[g+y],b=d[g+x],w=d[g+_],e(A,M,c,v,b,w,P,D,F,U,o,s,l),V=L[I]=S++,U!==F&&t(L[I+R],V,b,w,F,U,o,s,l)),I+=1,g+=k,A=2;A0){if(A=1,C[I++]=r(d[g],o,s,l),g+=k,h>0)for(M=1,c=d[g],P=C[I]=r(c,o,s,l),F=C[I+R],D=C[I+z],U=C[I+B],(P!==F||P!==D||P!==U)&&(v=d[g+y],b=d[g+x],w=d[g+_],e(A,M,c,v,b,w,P,F,D,U,o,s,l),V=L[I]=S++),I+=1,g+=k,M=2;M0)for(M=1,c=d[g],P=C[I]=r(c,o,s,l),F=C[I+R],D=C[I+z],U=C[I+B],(P!==F||P!==D||P!==U)&&(v=d[g+y],b=d[g+x],w=d[g+_],e(A,M,c,v,b,w,P,F,D,U,o,s,l),V=L[I]=S++,U!==F&&t(L[I+R],V,w,v,U,F,o,s,l)),I+=1,g+=k,M=2;M2&&a[1]>2&&n(i.pick(-1,-1).lo(1,1).hi(a[0]-2,a[1]-2),e.pick(-1,-1,0).lo(1,1).hi(a[0]-2,a[1]-2),e.pick(-1,-1,1).lo(1,1).hi(a[0]-2,a[1]-2)),a[1]>2&&(r(i.pick(0,-1).lo(1).hi(a[1]-2),e.pick(0,-1,1).lo(1).hi(a[1]-2)),t(e.pick(0,-1,0).lo(1).hi(a[1]-2))),a[1]>2&&(r(i.pick(a[0]-1,-1).lo(1).hi(a[1]-2),e.pick(a[0]-1,-1,1).lo(1).hi(a[1]-2)),t(e.pick(a[0]-1,-1,0).lo(1).hi(a[1]-2))),a[0]>2&&(r(i.pick(-1,0).lo(1).hi(a[0]-2),e.pick(-1,0,0).lo(1).hi(a[0]-2)),t(e.pick(-1,0,1).lo(1).hi(a[0]-2))),a[0]>2&&(r(i.pick(-1,a[1]-1).lo(1).hi(a[0]-2),e.pick(-1,a[1]-1,0).lo(1).hi(a[0]-2)),t(e.pick(-1,a[1]-1,1).lo(1).hi(a[0]-2))),e.set(0,0,0,0),e.set(0,0,1,0),e.set(a[0]-1,0,0,0),e.set(a[0]-1,0,1,0),e.set(0,a[1]-1,0,0),e.set(0,a[1]-1,1,0),e.set(a[0]-1,a[1]-1,0,0),e.set(a[0]-1,a[1]-1,1,0),e}}e.exports=function(e,t,r){if(Array.isArray(r)||(r=n(t.dimension,"string"==typeof r?r:"clamp")),0===t.size)return e;if(0===t.dimension)return e.set(0),e;var i=function(e){var t=e.join();if(a=u[t])return a;for(var r=e.length,n=[h,d],i=1;i<=r;++i)n.push(f(i));var a=p.apply(void 0,n);return u[t]=a,a}(r);return i(e,t)}},4317:function(e){function t(e,t){var r=Math.floor(t),n=t-r,i=0<=r&&r0;){x<64?(l=x,x=0):(l=64,x-=64);for(var b=0|e[1];b>0;){b<64?(c=b,b=0):(c=64,b-=64),n=y+x*h+b*d,o=v+x*p+b*m;var _=0,w=0,k=0,T=f,A=h-u*f,M=d-l*h,S=g,E=p-u*g,C=m-l*p;for(k=0;k0;){m<64?(l=m,m=0):(l=64,m-=64);for(var g=0|e[0];g>0;){g<64?(s=g,g=0):(s=64,g-=64),n=f+m*u+g*c,o=p+m*d+g*h;var y=0,v=0,x=u,b=c-l*u,_=d,w=h-l*d;for(v=0;v0;){v<64?(c=v,v=0):(c=64,v-=64);for(var x=0|e[0];x>0;){x<64?(s=x,x=0):(s=64,x-=64);for(var b=0|e[1];b>0;){b<64?(l=b,b=0):(l=64,b-=64),n=g+v*d+x*u+b*h,o=y+v*m+x*f+b*p;var _=0,w=0,k=0,T=d,A=u-c*d,M=h-s*u,S=m,E=f-c*m,C=p-s*f;for(k=0;kr;){y=0,v=m-o;t:for(g=0;gb)break t;v+=h,y+=d}for(y=m,v=m-o,g=0;g>1,H=q-N,G=q+N,W=U,Y=H,X=q,Z=G,$=V,K=i+1,J=a-1,Q=!0,ee=0,te=0,re=0,ne=h,ie=t(ne),ae=t(ne);A=l*W,M=l*Y,B=s;e:for(T=0;T0){g=W,W=Y,Y=g;break e}if(re<0)break e;B+=f}A=l*Z,M=l*$,B=s;e:for(T=0;T0){g=Z,Z=$,$=g;break e}if(re<0)break e;B+=f}A=l*W,M=l*X,B=s;e:for(T=0;T0){g=W,W=X,X=g;break e}if(re<0)break e;B+=f}A=l*Y,M=l*X,B=s;e:for(T=0;T0){g=Y,Y=X,X=g;break e}if(re<0)break e;B+=f}A=l*W,M=l*Z,B=s;e:for(T=0;T0){g=W,W=Z,Z=g;break e}if(re<0)break e;B+=f}A=l*X,M=l*Z,B=s;e:for(T=0;T0){g=X,X=Z,Z=g;break e}if(re<0)break e;B+=f}A=l*Y,M=l*$,B=s;e:for(T=0;T0){g=Y,Y=$,$=g;break e}if(re<0)break e;B+=f}A=l*Y,M=l*X,B=s;e:for(T=0;T0){g=Y,Y=X,X=g;break e}if(re<0)break e;B+=f}A=l*Z,M=l*$,B=s;e:for(T=0;T0){g=Z,Z=$,$=g;break e}if(re<0)break e;B+=f}for(A=l*W,M=l*Y,S=l*X,E=l*Z,C=l*$,L=l*U,I=l*q,P=l*V,F=0,B=s,T=0;T0)){if(re<0){for(A=l*b,M=l*K,S=l*J,B=s,T=0;T0)for(;;){for(_=s+J*l,F=0,T=0;T0)){for(_=s+J*l,F=0,T=0;TV){e:for(;;){for(_=s+K*l,F=0,B=s,T=0;T1&&n?s(r,n[0],n[1]):s(r)}(e,t,l);return n(l,c)}},446:function(e,t,r){var n=r(7640),i={};e.exports=function(e){var t=e.order,r=e.dtype,a=[t,r].join(":"),o=i[a];return o||(i[a]=o=n(t,r)),o(e),e}},9618:function(e,t,r){var n=r(7163),i=typeof Float64Array<"u";function a(e,t){return e[0]-t[0]}function o(){var e,t=this.stride,r=new Array(t.length);for(e=0;e=0&&(t+=a*(r=0|e),i-=r),new n(this.data,i,a,t)},i.step=function(e){var t=this.shape[0],r=this.stride[0],i=this.offset,a=0,o=Math.ceil;return"number"==typeof e&&((a=0|e)<0?(i+=r*(t-1),t=o(-t/a)):t=o(t/a),r*=a),new n(this.data,t,r,i)},i.transpose=function(e){e=void 0===e?0:0|e;var t=this.shape,r=this.stride;return new n(this.data,t[e],r[e],this.offset)},i.pick=function(e){var r=[],n=[],i=this.offset;return"number"==typeof e&&e>=0?i=i+this.stride[0]*e|0:(r.push(this.shape[0]),n.push(this.stride[0])),(0,t[r.length+1])(this.data,r,n,i)},function(e,t,r,i){return new n(e,t[0],r[0],i)}},2:function(e,t,r){function n(e,t,r,n,i,a){this.data=e,this.shape=[t,r],this.stride=[n,i],this.offset=0|a}var i=n.prototype;return i.dtype=e,i.dimension=2,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(i,"order",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),i.set=function(t,r,n){return"generic"===e?this.data.set(this.offset+this.stride[0]*t+this.stride[1]*r,n):this.data[this.offset+this.stride[0]*t+this.stride[1]*r]=n},i.get=function(t,r){return"generic"===e?this.data.get(this.offset+this.stride[0]*t+this.stride[1]*r):this.data[this.offset+this.stride[0]*t+this.stride[1]*r]},i.index=function(e,t){return this.offset+this.stride[0]*e+this.stride[1]*t},i.hi=function(e,t){return new n(this.data,"number"!=typeof e||e<0?this.shape[0]:0|e,"number"!=typeof t||t<0?this.shape[1]:0|t,this.stride[0],this.stride[1],this.offset)},i.lo=function(e,t){var r=this.offset,i=0,a=this.shape[0],o=this.shape[1],s=this.stride[0],l=this.stride[1];return"number"==typeof e&&e>=0&&(r+=s*(i=0|e),a-=i),"number"==typeof t&&t>=0&&(r+=l*(i=0|t),o-=i),new n(this.data,a,o,s,l,r)},i.step=function(e,t){var r=this.shape[0],i=this.shape[1],a=this.stride[0],o=this.stride[1],s=this.offset,l=0,c=Math.ceil;return"number"==typeof e&&((l=0|e)<0?(s+=a*(r-1),r=c(-r/l)):r=c(r/l),a*=l),"number"==typeof t&&((l=0|t)<0?(s+=o*(i-1),i=c(-i/l)):i=c(i/l),o*=l),new n(this.data,r,i,a,o,s)},i.transpose=function(e,t){e=void 0===e?0:0|e,t=void 0===t?1:0|t;var r=this.shape,i=this.stride;return new n(this.data,r[e],r[t],i[e],i[t],this.offset)},i.pick=function(e,r){var n=[],i=[],a=this.offset;return"number"==typeof e&&e>=0?a=a+this.stride[0]*e|0:(n.push(this.shape[0]),i.push(this.stride[0])),"number"==typeof r&&r>=0?a=a+this.stride[1]*r|0:(n.push(this.shape[1]),i.push(this.stride[1])),(0,t[n.length+1])(this.data,n,i,a)},function(e,t,r,i){return new n(e,t[0],t[1],r[0],r[1],i)}},3:function(e,t,r){function n(e,t,r,n,i,a,o,s){this.data=e,this.shape=[t,r,n],this.stride=[i,a,o],this.offset=0|s}var i=n.prototype;return i.dtype=e,i.dimension=3,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(i,"order",{get:function(){var e=Math.abs(this.stride[0]),t=Math.abs(this.stride[1]),r=Math.abs(this.stride[2]);return e>t?t>r?[2,1,0]:e>r?[1,2,0]:[1,0,2]:e>r?[2,0,1]:r>t?[0,1,2]:[0,2,1]}}),i.set=function(t,r,n,i){return"generic"===e?this.data.set(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n,i):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n]=i},i.get=function(t,r,n){return"generic"===e?this.data.get(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n]},i.index=function(e,t,r){return this.offset+this.stride[0]*e+this.stride[1]*t+this.stride[2]*r},i.hi=function(e,t,r){return new n(this.data,"number"!=typeof e||e<0?this.shape[0]:0|e,"number"!=typeof t||t<0?this.shape[1]:0|t,"number"!=typeof r||r<0?this.shape[2]:0|r,this.stride[0],this.stride[1],this.stride[2],this.offset)},i.lo=function(e,t,r){var i=this.offset,a=0,o=this.shape[0],s=this.shape[1],l=this.shape[2],c=this.stride[0],u=this.stride[1],h=this.stride[2];return"number"==typeof e&&e>=0&&(i+=c*(a=0|e),o-=a),"number"==typeof t&&t>=0&&(i+=u*(a=0|t),s-=a),"number"==typeof r&&r>=0&&(i+=h*(a=0|r),l-=a),new n(this.data,o,s,l,c,u,h,i)},i.step=function(e,t,r){var i=this.shape[0],a=this.shape[1],o=this.shape[2],s=this.stride[0],l=this.stride[1],c=this.stride[2],u=this.offset,h=0,d=Math.ceil;return"number"==typeof e&&((h=0|e)<0?(u+=s*(i-1),i=d(-i/h)):i=d(i/h),s*=h),"number"==typeof t&&((h=0|t)<0?(u+=l*(a-1),a=d(-a/h)):a=d(a/h),l*=h),"number"==typeof r&&((h=0|r)<0?(u+=c*(o-1),o=d(-o/h)):o=d(o/h),c*=h),new n(this.data,i,a,o,s,l,c,u)},i.transpose=function(e,t,r){e=void 0===e?0:0|e,t=void 0===t?1:0|t,r=void 0===r?2:0|r;var i=this.shape,a=this.stride;return new n(this.data,i[e],i[t],i[r],a[e],a[t],a[r],this.offset)},i.pick=function(e,r,n){var i=[],a=[],o=this.offset;return"number"==typeof e&&e>=0?o=o+this.stride[0]*e|0:(i.push(this.shape[0]),a.push(this.stride[0])),"number"==typeof r&&r>=0?o=o+this.stride[1]*r|0:(i.push(this.shape[1]),a.push(this.stride[1])),"number"==typeof n&&n>=0?o=o+this.stride[2]*n|0:(i.push(this.shape[2]),a.push(this.stride[2])),(0,t[i.length+1])(this.data,i,a,o)},function(e,t,r,i){return new n(e,t[0],t[1],t[2],r[0],r[1],r[2],i)}},4:function(e,t,r){function n(e,t,r,n,i,a,o,s,l,c){this.data=e,this.shape=[t,r,n,i],this.stride=[a,o,s,l],this.offset=0|c}var i=n.prototype;return i.dtype=e,i.dimension=4,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(t,r,n,i,a){return"generic"===e?this.data.set(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i,a):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]=a},i.get=function(t,r,n,i){return"generic"===e?this.data.get(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]},i.index=function(e,t,r,n){return this.offset+this.stride[0]*e+this.stride[1]*t+this.stride[2]*r+this.stride[3]*n},i.hi=function(e,t,r,i){return new n(this.data,"number"!=typeof e||e<0?this.shape[0]:0|e,"number"!=typeof t||t<0?this.shape[1]:0|t,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},i.lo=function(e,t,r,i){var a=this.offset,o=0,s=this.shape[0],l=this.shape[1],c=this.shape[2],u=this.shape[3],h=this.stride[0],d=this.stride[1],f=this.stride[2],p=this.stride[3];return"number"==typeof e&&e>=0&&(a+=h*(o=0|e),s-=o),"number"==typeof t&&t>=0&&(a+=d*(o=0|t),l-=o),"number"==typeof r&&r>=0&&(a+=f*(o=0|r),c-=o),"number"==typeof i&&i>=0&&(a+=p*(o=0|i),u-=o),new n(this.data,s,l,c,u,h,d,f,p,a)},i.step=function(e,t,r,i){var a=this.shape[0],o=this.shape[1],s=this.shape[2],l=this.shape[3],c=this.stride[0],u=this.stride[1],h=this.stride[2],d=this.stride[3],f=this.offset,p=0,m=Math.ceil;return"number"==typeof e&&((p=0|e)<0?(f+=c*(a-1),a=m(-a/p)):a=m(a/p),c*=p),"number"==typeof t&&((p=0|t)<0?(f+=u*(o-1),o=m(-o/p)):o=m(o/p),u*=p),"number"==typeof r&&((p=0|r)<0?(f+=h*(s-1),s=m(-s/p)):s=m(s/p),h*=p),"number"==typeof i&&((p=0|i)<0?(f+=d*(l-1),l=m(-l/p)):l=m(l/p),d*=p),new n(this.data,a,o,s,l,c,u,h,d,f)},i.transpose=function(e,t,r,i){e=void 0===e?0:0|e,t=void 0===t?1:0|t,r=void 0===r?2:0|r,i=void 0===i?3:0|i;var a=this.shape,o=this.stride;return new n(this.data,a[e],a[t],a[r],a[i],o[e],o[t],o[r],o[i],this.offset)},i.pick=function(e,r,n,i){var a=[],o=[],s=this.offset;return"number"==typeof e&&e>=0?s=s+this.stride[0]*e|0:(a.push(this.shape[0]),o.push(this.stride[0])),"number"==typeof r&&r>=0?s=s+this.stride[1]*r|0:(a.push(this.shape[1]),o.push(this.stride[1])),"number"==typeof n&&n>=0?s=s+this.stride[2]*n|0:(a.push(this.shape[2]),o.push(this.stride[2])),"number"==typeof i&&i>=0?s=s+this.stride[3]*i|0:(a.push(this.shape[3]),o.push(this.stride[3])),(0,t[a.length+1])(this.data,a,o,s)},function(e,t,r,i){return new n(e,t[0],t[1],t[2],t[3],r[0],r[1],r[2],r[3],i)}},5:function(e,t,r){function n(e,t,r,n,i,a,o,s,l,c,u,h){this.data=e,this.shape=[t,r,n,i,a],this.stride=[o,s,l,c,u],this.offset=0|h}var i=n.prototype;return i.dtype=e,i.dimension=5,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(t,r,n,i,a,o){return"generic"===e?this.data.set(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a,o):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]=o},i.get=function(t,r,n,i,a){return"generic"===e?this.data.get(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]},i.index=function(e,t,r,n,i){return this.offset+this.stride[0]*e+this.stride[1]*t+this.stride[2]*r+this.stride[3]*n+this.stride[4]*i},i.hi=function(e,t,r,i,a){return new n(this.data,"number"!=typeof e||e<0?this.shape[0]:0|e,"number"!=typeof t||t<0?this.shape[1]:0|t,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,"number"!=typeof a||a<0?this.shape[4]:0|a,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},i.lo=function(e,t,r,i,a){var o=this.offset,s=0,l=this.shape[0],c=this.shape[1],u=this.shape[2],h=this.shape[3],d=this.shape[4],f=this.stride[0],p=this.stride[1],m=this.stride[2],g=this.stride[3],y=this.stride[4];return"number"==typeof e&&e>=0&&(o+=f*(s=0|e),l-=s),"number"==typeof t&&t>=0&&(o+=p*(s=0|t),c-=s),"number"==typeof r&&r>=0&&(o+=m*(s=0|r),u-=s),"number"==typeof i&&i>=0&&(o+=g*(s=0|i),h-=s),"number"==typeof a&&a>=0&&(o+=y*(s=0|a),d-=s),new n(this.data,l,c,u,h,d,f,p,m,g,y,o)},i.step=function(e,t,r,i,a){var o=this.shape[0],s=this.shape[1],l=this.shape[2],c=this.shape[3],u=this.shape[4],h=this.stride[0],d=this.stride[1],f=this.stride[2],p=this.stride[3],m=this.stride[4],g=this.offset,y=0,v=Math.ceil;return"number"==typeof e&&((y=0|e)<0?(g+=h*(o-1),o=v(-o/y)):o=v(o/y),h*=y),"number"==typeof t&&((y=0|t)<0?(g+=d*(s-1),s=v(-s/y)):s=v(s/y),d*=y),"number"==typeof r&&((y=0|r)<0?(g+=f*(l-1),l=v(-l/y)):l=v(l/y),f*=y),"number"==typeof i&&((y=0|i)<0?(g+=p*(c-1),c=v(-c/y)):c=v(c/y),p*=y),"number"==typeof a&&((y=0|a)<0?(g+=m*(u-1),u=v(-u/y)):u=v(u/y),m*=y),new n(this.data,o,s,l,c,u,h,d,f,p,m,g)},i.transpose=function(e,t,r,i,a){e=void 0===e?0:0|e,t=void 0===t?1:0|t,r=void 0===r?2:0|r,i=void 0===i?3:0|i,a=void 0===a?4:0|a;var o=this.shape,s=this.stride;return new n(this.data,o[e],o[t],o[r],o[i],o[a],s[e],s[t],s[r],s[i],s[a],this.offset)},i.pick=function(e,r,n,i,a){var o=[],s=[],l=this.offset;return"number"==typeof e&&e>=0?l=l+this.stride[0]*e|0:(o.push(this.shape[0]),s.push(this.stride[0])),"number"==typeof r&&r>=0?l=l+this.stride[1]*r|0:(o.push(this.shape[1]),s.push(this.stride[1])),"number"==typeof n&&n>=0?l=l+this.stride[2]*n|0:(o.push(this.shape[2]),s.push(this.stride[2])),"number"==typeof i&&i>=0?l=l+this.stride[3]*i|0:(o.push(this.shape[3]),s.push(this.stride[3])),"number"==typeof a&&a>=0?l=l+this.stride[4]*a|0:(o.push(this.shape[4]),s.push(this.stride[4])),(0,t[o.length+1])(this.data,o,s,l)},function(e,t,r,i){return new n(e,t[0],t[1],t[2],t[3],t[4],r[0],r[1],r[2],r[3],r[4],i)}}};function l(e,t){var r=-1===t?"T":String(t),n=s[r];return-1===t?n(e):0===t?n(e,c[e][0]):n(e,c[e],o)}var c={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};e.exports=function(e,t,r,a){if(void 0===e)return(0,c.array[0])([]);"number"==typeof e&&(e=[e]),void 0===t&&(t=[e.length]);var o=t.length;if(void 0===r){r=new Array(o);for(var s=o-1,u=1;s>=0;--s)r[s]=u,u*=t[s]}if(void 0===a)for(a=0,s=0;s>>0;e.exports=function(e,t){if(isNaN(e)||isNaN(t))return NaN;if(e===t)return e;if(0===e)return t<0?-i:i;var r=n.hi(e),o=n.lo(e);return t>e==e>0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1,n.pack(o,r)}},8406:function(e,t){t.vertexNormals=function(e,t,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa){var b=i[c],_=1/Math.sqrt(g*v);for(x=0;x<3;++x){var w=(x+1)%3,k=(x+2)%3;b[x]+=_*(y[w]*m[k]-y[k]*m[w])}}}for(o=0;oa)for(_=1/Math.sqrt(T),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},t.faceNormals=function(e,t,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa?1/Math.sqrt(f):0,c=0;c<3;++c)d[c]*=f;i[o]=d}return i}},4081:function(e){e.exports=function(e,t,r,n,i,a,o,s,l,c){var u=t+a+c;if(h>0){var h=Math.sqrt(u+1);e[0]=.5*(o-l)/h,e[1]=.5*(s-n)/h,e[2]=.5*(r-a)/h,e[3]=.5*h}else{var d=Math.max(t,a,c);h=Math.sqrt(2*d-u+1),t>=d?(e[0]=.5*h,e[1]=.5*(i+r)/h,e[2]=.5*(s+n)/h,e[3]=.5*(o-l)/h):a>=d?(e[0]=.5*(r+i)/h,e[1]=.5*h,e[2]=.5*(l+o)/h,e[3]=.5*(s-n)/h):(e[0]=.5*(n+s)/h,e[1]=.5*(o+l)/h,e[2]=.5*h,e[3]=.5*(r-i)/h)}return e}},9977:function(e,t,r){e.exports=function(e){var t=(e=e||{}).center||[0,0,0],r=e.rotation||[0,0,0,1],n=e.radius||1;t=[].slice.call(t,0,3),u(r=[].slice.call(r,0,4),r);var i=new h(r,t,Math.log(n));return i.setDistanceLimits(e.zoomMin,e.zoomMax),("eye"in e||"up"in e)&&i.lookAt(0,e.eye,e.center,e.up),i};var n=r(9215),i=r(6582),a=r(7399),o=r(7608),s=r(4081);function l(e,t,r){return Math.sqrt(Math.pow(e,2)+Math.pow(t,2)+Math.pow(r,2))}function c(e,t,r,n){return Math.sqrt(Math.pow(e,2)+Math.pow(t,2)+Math.pow(r,2)+Math.pow(n,2))}function u(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=c(r,n,i,a);o>1e-6?(e[0]=r/o,e[1]=n/o,e[2]=i/o,e[3]=a/o):(e[0]=e[1]=e[2]=0,e[3]=1)}function h(e,t,r){this.radius=n([r]),this.center=n(t),this.rotation=n(e),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 d=h.prototype;d.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},d.recalcMatrix=function(e){this.radius.curve(e),this.center.curve(e),this.rotation.curve(e);var t=this.computedRotation;u(t,t);var r=this.computedMatrix;a(r,t);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var c=0,h=0;h<3;++h)c+=r[l+4*h]*i[h];r[12+l]=-c}},d.getMatrix=function(e,t){this.recalcMatrix(e);var r=this.computedMatrix;if(t){for(var n=0;n<16;++n)t[n]=r[n];return t}return r},d.idle=function(e){this.center.idle(e),this.radius.idle(e),this.rotation.idle(e)},d.flush=function(e){this.center.flush(e),this.radius.flush(e),this.rotation.flush(e)},d.pan=function(e,t,r,n){t=t||0,r=r||0,n=n||0,this.recalcMatrix(e);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],c=l(a,o,s);a/=c,o/=c,s/=c;var u=i[0],h=i[4],d=i[8],f=u*a+h*o+d*s,p=l(u-=a*f,h-=o*f,d-=s*f);u/=p,h/=p,d/=p;var m=i[2],g=i[6],y=i[10],v=m*a+g*o+y*s,x=m*u+g*h+y*d,b=l(m-=v*a+x*u,g-=v*o+x*h,y-=v*s+x*d);m/=b,g/=b,y/=b;var _=u*t+a*r,w=h*t+o*r,k=d*t+s*r;this.center.move(e,_,w,k);var T=Math.exp(this.computedRadius[0]);T=Math.max(1e-4,T+n),this.radius.set(e,Math.log(T))},d.rotate=function(e,t,r,n){this.recalcMatrix(e),t=t||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],u=i[1],h=i[5],d=i[9],f=i[2],p=i[6],m=i[10],g=t*a+r*u,y=t*o+r*h,v=t*s+r*d,x=-(p*v-m*y),b=-(m*g-f*v),_=-(f*y-p*g),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),k=c(x,b,_,w);k>1e-6?(x/=k,b/=k,_/=k,w/=k):(x=b=_=0,w=1);var T=this.computedRotation,A=T[0],M=T[1],S=T[2],E=T[3],C=A*w+E*x+M*_-S*b,L=M*w+E*b+S*x-A*_,I=S*w+E*_+A*b-M*x,P=E*w-A*x-M*b-S*_;if(n){x=f,b=p,_=m;var z=Math.sin(n)/l(x,b,_);x*=z,b*=z,_*=z,P=P*(w=Math.cos(t))-(C=C*w+P*x+L*_-I*b)*x-(L=L*w+P*b+I*x-C*_)*b-(I=I*w+P*_+C*b-L*x)*_}var O=c(C,L,I,P);O>1e-6?(C/=O,L/=O,I/=O,P/=O):(C=L=I=0,P=1),this.rotation.set(e,C,L,I,P)},d.lookAt=function(e,t,r,n){this.recalcMatrix(e),r=r||this.computedCenter,t=t||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,t,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),u(o,o),this.rotation.set(e,o[0],o[1],o[2],o[3]);for(var l=0,c=0;c<3;++c)l+=Math.pow(r[c]-t[c],2);this.radius.set(e,.5*Math.log(Math.max(l,1e-6))),this.center.set(e,r[0],r[1],r[2])},d.translate=function(e,t,r,n){this.center.move(e,t||0,r||0,n||0)},d.setMatrix=function(e,t){var r=this.computedRotation;s(r,t[0],t[1],t[2],t[4],t[5],t[6],t[8],t[9],t[10]),u(r,r),this.rotation.set(e,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,t);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,c=n[14]/i;this.recalcMatrix(e);var h=Math.exp(this.computedRadius[0]);this.center.set(e,a-n[2]*h,l-n[6]*h,c-n[10]*h),this.radius.idle(e)}else this.center.idle(e),this.radius.idle(e)},d.setDistance=function(e,t){t>0&&this.radius.set(e,Math.log(t))},d.setDistanceLimits=function(e,t){e=e>0?Math.log(e):-1/0,t=t>0?Math.log(t):1/0,t=Math.max(t,e),this.radius.bounds[0][0]=e,this.radius.bounds[1][0]=t},d.getDistanceLimits=function(e){var t=this.radius.bounds;return e?(e[0]=Math.exp(t[0][0]),e[1]=Math.exp(t[1][0]),e):[Math.exp(t[0][0]),Math.exp(t[1][0])]},d.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]}},d.fromJSON=function(e){var t=this.lastT(),r=e.center;r&&this.center.set(t,r[0],r[1],r[2]);var n=e.rotation;n&&this.rotation.set(t,n[0],n[1],n[2],n[3]);var i=e.distance;i&&i>0&&this.radius.set(t,Math.log(i)),this.setDistanceLimits(e.zoomMin,e.zoomMax)}},1371:function(e,t,r){var n=r(3233);e.exports=function(e,t,r){return n(r=typeof r<"u"?r+"":" ",t)+e}},3202:function(e){e.exports=function(e,t){t||(t=[0,""]),e=String(e);var r=parseFloat(e,10);return t[0]=r,t[1]=e.match(/[\d.\-\+]*\s*(.*)/)[1]||"",t}},3088:function(e,t,r){e.exports=function(e,t){for(var r=0|t.length,i=e.length,a=[new Array(r),new Array(r)],o=0;o0){o=a[c][r][0],l=c;break}s=o[1^l];for(var h=0;h<2;++h)for(var d=a[h][r],f=0;f0&&(o=p,s=m,l=h)}return i||o&&u(o,l),s}function d(e,r){var i=a[r][e][0],o=[e];u(i,r);for(var s=i[1^r];;){for(;s!==e;)o.push(s),s=h(o[o.length-2],s,!1);if(a[0][e].length+a[1][e].length===0)break;var l=o[o.length-1],c=e,d=o[1],f=h(l,c,!0);if(n(t[l],t[c],t[d],t[f])<0)break;o.push(e),s=h(l,c)}return o}for(o=0;o0;){a[0][o].length;var m=d(o,f);(l=m)[1]===l[l.length-1]?p.push.apply(p,m):(p.length>0&&c.push(p),p=m)}p.length>0&&c.push(p)}return c};var n=r(3140)},5609:function(e,t,r){e.exports=function(e,t){for(var r=n(e,t.length),i=new Array(t.length),a=new Array(t.length),o=[],s=0;s0;){i[f=o.pop()]=!1;var c=r[f];for(s=0;s0}))).length,g=new Array(m),y=new Array(m);for(f=0;f0;){var F=R.pop(),B=E[F];l(B,(function(e,t){return e-t}));var N,U=B.length,V=j[F];for(0===V&&(N=[q=p[F]]),f=0;f=0||(j[H]=1^V,R.push(H),0!==V)||D(q=p[H])||(q.reverse(),N.push(q))}0===V&&r.push(N)}return r};var n=r(3134),i=r(3088),a=r(5085),o=r(5250),s=r(8210),l=r(1682),c=r(5609);function u(e,t){for(var r=new Array(e),n=0;n0&&t[i]===r[0]))return 1;a=e[i-1]}for(var s=1;a;){var l=a.key,c=n(r,l[0],l[1]);if(l[0][0]0))return 0;s=-1,a=a.right}else if(c>0)a=a.left;else{if(!(c<0))return 0;s=1,a=a.right}}return s}}(g.slabs,g.coordinates);return 0===a.length?y:function(e,t){return function(r){return e(r[0],r[1])?0:t(r)}}(l(a),y)};var n=r(3250)[3],i=r(4209),a=r(3352),o=r(2478);function s(){return!0}function l(e){for(var t={},r=0;r=c?(T=1,v=c+2*d+p):v=d*(T=-d/c)+p):(T=0,f>=0?(A=0,v=p):-f>=h?(A=1,v=h+2*f+p):v=f*(A=-f/h)+p);else if(A<0)A=0,d>=0?(T=0,v=p):-d>=c?(T=1,v=c+2*d+p):v=d*(T=-d/c)+p;else{var M=1/k;v=(T*=M)*(c*T+u*(A*=M)+2*d)+A*(u*T+h*A+2*f)+p}else T<0?(b=h+f)>(x=u+d)?(_=b-x)>=(w=c-2*u+h)?(T=1,A=0,v=c+2*d+p):v=(T=_/w)*(c*T+u*(A=1-T)+2*d)+A*(u*T+h*A+2*f)+p:(T=0,b<=0?(A=1,v=h+2*f+p):f>=0?(A=0,v=p):v=f*(A=-f/h)+p):A<0?(b=c+d)>(x=u+f)?(_=b-x)>=(w=c-2*u+h)?(A=1,T=0,v=h+2*f+p):v=(T=1-(A=_/w))*(c*T+u*A+2*d)+A*(u*T+h*A+2*f)+p:(A=0,b<=0?(T=1,v=c+2*d+p):d>=0?(T=0,v=p):v=d*(T=-d/c)+p):(_=h+f-u-d)<=0?(T=0,A=1,v=h+2*f+p):_>=(w=c-2*u+h)?(T=1,A=0,v=c+2*d+p):v=(T=_/w)*(c*T+u*(A=1-T)+2*d)+A*(u*T+h*A+2*f)+p;var S=1-T-A;for(l=0;l0){var c=e[r-1];if(0===n(s,c)&&a(c)!==l){r-=1;continue}}e[r++]=s}}return e.length=r,e}},3233:function(e){var t,r="";e.exports=function(e,n){if("string"!=typeof e)throw new TypeError("expected a string");if(1===n)return e;if(2===n)return e+e;var i=e.length*n;if(t!==e||typeof t>"u")t=e,r="";else if(r.length>=i)return r.substr(0,i);for(;i>r.length&&n>1;)1&n&&(r+=e),n>>=1,e+=e;return r=(r+=e).substr(0,i)}},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){e.exports=function(e){for(var t=e.length,r=e[e.length-1],n=t,i=t-2;i>=0;--i){var a=r;(l=(s=e[i])-((r=a+s)-a))&&(e[--n]=r,r=l)}var o=0;for(i=n;i0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=l*n;return o>=s||o<=-s?o:p(e,t,r)},function(e,t,r,n){var i=e[0]-n[0],a=t[0]-n[0],o=r[0]-n[0],s=e[1]-n[1],l=t[1]-n[1],u=r[1]-n[1],h=e[2]-n[2],d=t[2]-n[2],f=r[2]-n[2],p=a*u,g=o*l,y=o*s,v=i*u,x=i*l,b=a*s,_=h*(p-g)+d*(y-v)+f*(x-b),w=(Math.abs(p)+Math.abs(g))*Math.abs(h)+(Math.abs(y)+Math.abs(v))*Math.abs(d)+(Math.abs(x)+Math.abs(b))*Math.abs(f),k=c*w;return _>k||-_>k?_:m(e,t,r,n)}];function y(e){var t=g[e.length];return t||(t=g[e.length]=f(e.length)),t.apply(void 0,e)}function v(e,t,r,n,i,a,o){return function(t,r,s,l,c){switch(arguments.length){case 0:case 1:return 0;case 2:return n(t,r);case 3:return i(t,r,s);case 4:return a(t,r,s,l);case 5:return o(t,r,s,l,c)}for(var u=new Array(arguments.length),h=0;h0&&o>0||a<0&&o<0)return!1;var s=n(r,e,t),l=n(i,e,t);return!(s>0&&l>0||s<0&&l<0)&&(0!==a||0!==o||0!==s||0!==l||function(e,t,r,n){for(var i=0;i<2;++i){var a=e[i],o=t[i],s=Math.min(a,o),l=Math.max(a,o),c=r[i],u=n[i],h=Math.min(c,u);if(Math.max(c,u)=n?(i=h,(l+=1)=n?(i=h,(l+=1)"u"&&(s=function(e){for(var t=e.length,r=0,n=0;n>1,c=t[2*l+1];if(c===a)return l;a>1,c=t[2*l+1];if(c===a)return l;a>1,c=t[2*l+1];if(c===a)return l;a0)-(e<0)},t.abs=function(e){var t=e>>31;return(e^t)-t},t.min=function(e,t){return t^(e^t)&-(e65535)<<4,t|=r=((e>>>=t)>255)<<3,t|=r=((e>>>=r)>15)<<2,(t|=r=((e>>>=r)>3)<<1)|(e>>>=r)>>1},t.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0},t.popCount=function(e){return 16843009*((e=(858993459&(e-=e>>>1&1431655765))+(e>>>2&858993459))+(e>>>4)&252645135)>>>24},t.countTrailingZeros=r,t.nextPow2=function(e){return e+=0===e,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,1+((e|=e>>>8)|e>>>16)},t.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,(e|=e>>>16)-(e>>>1)},t.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,27030>>>(e&=15)&1};var n=new Array(256);(function(e){for(var t=0;t<256;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;e[t]=n<>>8&255]<<16|n[e>>>16&255]<<8|n[e>>>24&255]},t.interleave2=function(e,t){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))<<1},t.deinterleave2=function(e,t){return(e=65535&((e=16711935&((e=252645135&((e=858993459&((e=e>>>t&1431655765)|e>>>1))|e>>>2))|e>>>4))|e>>>16))<<16>>16},t.interleave3=function(e,t,r){return e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2),(e|=(t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},t.deinterleave3=function(e,t){return(e=1023&((e=4278190335&((e=251719695&((e=3272356035&((e=e>>>t&1227133513)|e>>>2))|e>>>4))|e>>>8))|e>>>16))<<22>>22},t.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>r(e)+1}},2014:function(e,t,r){var n=r(3105),i=r(4623);function a(e,t){var r=e.length,n=e.length-t.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return e[0]-t[0];case 2:return(s=e[0]+e[1]-t[0]-t[1])||i(e[0],e[1])-i(t[0],t[1]);case 3:var a=e[0]+e[1],o=t[0]+t[1];if(s=a+e[2]-(o+t[2]))return s;var s,l=i(e[0],e[1]),c=i(t[0],t[1]);return(s=i(l,e[2])-i(c,t[2]))||i(l+e[2],a)-i(c+t[2],o);default:var u=e.slice(0);u.sort();var h=t.slice(0);h.sort();for(var d=0;d>1,s=a(e[o],t);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function u(e,t){for(var r=new Array(e.length),i=0,o=r.length;i=e.length||0!==a(e[g],s)););}return r}function h(e,t){if(t<0)return[];for(var r=[],i=(1<>>u&1&&c.push(i[u]);t.push(c)}return s(t)},t.skeleton=h,t.boundary=function(e){for(var t=[],r=0,n=e.length;r>1:(e>>1)-1}function x(e){for(var t=y(e);;){var r=t,n=2*e+1,i=2*(e+1),a=e;if(n0;){var r=v(e);if(!(r>=0&&t0){var e=T[0];return g(0,M-1),M-=1,x(0),e}return-1}function w(e,t){var r=T[e];return c[r]===t?e:(c[r]=-1/0,b(e),_(),c[r]=t,b((M+=1)-1))}function k(e){if(!u[e]){u[e]=!0;var t=s[e],r=l[e];s[r]>=0&&(s[r]=t),l[t]>=0&&(l[t]=r),A[t]>=0&&w(A[t],m(t)),A[r]>=0&&w(A[r],m(r))}}var T=[],A=new Array(a);for(h=0;h>1;h>=0;--h)x(h);for(;;){var S=_();if(S<0||c[S]>r)break;k(S)}var E=[];for(h=0;h=0&&r>=0&&t!==r){var n=A[t],i=A[r];n!==i&&L.push([n,i])}})),i.unique(i.normalize(L)),{positions:E,edges:L}};var n=r(3250),i=r(2014)},1303:function(e,t,r){e.exports=function(e,t){var r,a,o,s;if(t[0][0]t[1][0]))return i(t,e);r=t[1],a=t[0]}if(e[0][0]e[1][0]))return-i(e,t);o=e[1],s=e[0]}var l=n(r,a,s),c=n(r,a,o);if(l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;if(l=n(s,o,a),c=n(s,o,r),l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;return a[0]-s[0]};var n=r(3250);function i(e,t){var r,i,a,o;if(t[0][0]t[1][0])){var s=Math.min(e[0][1],e[1][1]),l=Math.max(e[0][1],e[1][1]),c=Math.min(t[0][1],t[1][1]),u=Math.max(t[0][1],t[1][1]);return lu?s-u:l-u}r=t[1],i=t[0]}e[0][1]0)if(t[0]!==o[1][0])r=e,e=e.right;else{if(l=c(e.right,t))return l;e=e.left}else{if(t[0]!==o[1][0])return e;var l;if(l=c(e.right,t))return l;e=e.left}}return r}function u(e,t,r,n){this.y=e,this.index=t,this.start=r,this.closed=n}function h(e,t,r,n){this.x=e,this.segment=t,this.create=r,this.index=n}s.prototype.castUp=function(e){var t=n.le(this.coordinates,e[0]);if(t<0)return-1;this.slabs[t];var r=c(this.slabs[t],e),i=-1;if(r&&(i=r.value),this.coordinates[t]===e[0]){var s=null;if(r&&(s=r.key),t>0){var u=c(this.slabs[t-1],e);u&&(s?o(u.key,s)>0&&(s=u.key,i=u.value):(i=u.value,s=u.key))}var h=this.horizontal[t];if(h.length>0){var d=n.ge(h,e[1],l);if(d=h.length)return i;f=h[d]}}if(f.start)if(s){var p=a(s[0],s[1],[e[0],f.y]);s[0][0]>s[1][0]&&(p=-p),p>0&&(i=f.index)}else i=f.index;else f.y!==e[1]&&(i=f.index)}}}return i}},5202:function(e,t,r){var n=r(1944),i=r(8210);function a(e,t){var r=i(n(e,t),[t[t.length-1]]);return r[r.length-1]}function o(e,t,r,n){var i=-t/(n-t);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=e.length,s=new Array(o),l=0;l0||i>0&&u<0){var h=o(s,u,l,i);r.push(h),n.push(h.slice())}u<0?n.push(l.slice()):u>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=u}return{positive:r,negative:n}},e.exports.positive=function(e,t){for(var r=[],n=a(e[e.length-1],t),i=e[e.length-1],s=e[0],l=0;l0||n>0&&c<0)&&r.push(o(i,c,s,n)),c>=0&&r.push(s.slice()),n=c}return r},e.exports.negative=function(e,t){for(var r=[],n=a(e[e.length-1],t),i=e[e.length-1],s=e[0],l=0;l0||n>0&&c<0)&&r.push(o(i,c,s,n)),c<=0&&r.push(s.slice()),n=c}return r}},3387:function(e,t,r){var n;!function(){var i={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 a(e){return function(e,t){var r,n,o,s,l,c,u,h,d,f=1,p=e.length,m="";for(n=0;n=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?m+=r:(!i.number.test(s.type)||h&&!s.sign?d="":(d=h?"+":"-",r=r.toString().replace(i.sign,"")),c=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",u=s.width-(d+r).length,l=s.width&&u>0?c.repeat(u):"",m+=s.align?d+r+l:"0"===c?d+l+r:l+d+r)}return m}(function(e){if(s[e])return s[e];for(var t,r=e,n=[],a=0;r;){if(null!==(t=i.text.exec(r)))n.push(t[0]);else if(null!==(t=i.modulo.exec(r)))n.push("%");else{if(null===(t=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){a|=1;var o=[],l=t[2],c=[];if(null===(c=i.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(o.push(c[1]);""!==(l=l.substring(c[0].length));)if(null!==(c=i.key_access.exec(l)))o.push(c[1]);else{if(null===(c=i.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");o.push(c[1])}t[2]=o}else a|=2;if(3===a)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return s[e]=n}(e),arguments)}function o(e,t){return a.apply(null,[e].concat(t||[]))}var s=Object.create(null);t.sprintf=a,t.vsprintf=o,typeof window<"u"&&(window.sprintf=a,window.vsprintf=o,void 0!==(n=function(){return{sprintf:a,vsprintf:o}}.call(t,r,t,e))&&(e.exports=n))}()},3711:function(e,t,r){e.exports=function(e,t){if(e.dimension<=0)return{positions:[],cells:[]};if(1===e.dimension)return function(e,t){for(var r=i(e,t),n=r.length,a=new Array(n),o=new Array(n),s=0;sn|0},vertex:function(e,t,r,n,i,a,o,s,l,c,u,h,d){var f=(0|o)+(s<<1)+(l<<2)+(c<<3)|0;if(0!==f&&15!==f)switch(f){case 0:case 15:u.push([e-.5,t-.5]);break;case 1:u.push([e-.25-.25*(n+r-2*d)/(r-n),t-.25-.25*(i+r-2*d)/(r-i)]);break;case 2:u.push([e-.75-.25*(-n-r+2*d)/(n-r),t-.25-.25*(a+n-2*d)/(n-a)]);break;case 3:u.push([e-.5,t-.5-.5*(i+r+a+n-4*d)/(r-i+n-a)]);break;case 4:u.push([e-.25-.25*(a+i-2*d)/(i-a),t-.75-.25*(-i-r+2*d)/(i-r)]);break;case 5:u.push([e-.5-.5*(n+r+a+i-4*d)/(r-n+i-a),t-.5]);break;case 6:u.push([e-.5-.25*(-n-r+a+i)/(n-r+i-a),t-.5-.25*(-i-r+a+n)/(i-r+n-a)]);break;case 7:u.push([e-.75-.25*(a+i-2*d)/(i-a),t-.75-.25*(a+n-2*d)/(n-a)]);break;case 8:u.push([e-.75-.25*(-a-i+2*d)/(a-i),t-.75-.25*(-a-n+2*d)/(a-n)]);break;case 9:u.push([e-.5-.25*(n+r+-a-i)/(r-n+a-i),t-.5-.25*(i+r+-a-n)/(r-i+a-n)]);break;case 10:u.push([e-.5-.5*(-n-r-a-i+4*d)/(n-r+a-i),t-.5]);break;case 11:u.push([e-.25-.25*(-a-i+2*d)/(a-i),t-.75-.25*(i+r-2*d)/(r-i)]);break;case 12:u.push([e-.5,t-.5-.5*(-i-r-a-n+4*d)/(i-r+a-n)]);break;case 13:u.push([e-.75-.25*(n+r-2*d)/(r-n),t-.25-.25*(-a-n+2*d)/(a-n)]);break;case 14:u.push([e-.25-.25*(-n-r+2*d)/(n-r),t-.25-.25*(-i-r+2*d)/(i-r)])}},cell:function(e,t,r,n,i,a,o,s,l){i?s.push([e,t]):s.push([t,e])}});return function(e,t){var r=[],i=[];return n(e,r,i,t),{positions:r,cells:i}}}},o={}},665:function(e,t,r){var n=r(3202);e.exports=o;var i=96;function a(e,t){var r=n(getComputedStyle(e).getPropertyValue(t));return r[0]*o(r[1],e)}function o(e,t){switch(t=t||document.body,e=(e||"px").trim().toLowerCase(),(t===window||t===document)&&(t=document.body),e){case"%":return t.clientHeight/100;case"ch":case"ex":return function(e,t){var r=document.createElement("div");r.style["font-size"]="128"+e,t.appendChild(r);var n=a(r,"font-size")/128;return t.removeChild(r),n}(e,t);case"em":return a(t,"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 i;case"cm":return i/2.54;case"mm":return i/25.4;case"pt":return i/72;case"pc":return i/6}return 1}},7261:function(e,t,r){e.exports=function(e){var t=(e=e||{}).center||[0,0,0],r=e.up||[0,1,0],n=e.right||h(r),i=e.radius||1,a=e.theta||0,u=e.phi||0;if(t=[].slice.call(t,0,3),r=[].slice.call(r,0,3),s(r,r),n=[].slice.call(n,0,3),s(n,n),"eye"in e){var f=e.eye,p=[f[0]-t[0],f[1]-t[1],f[2]-t[2]];o(n,p,r),c(n[0],n[1],n[2])<1e-6?n=h(r):s(n,n),i=c(p[0],p[1],p[2]);var m=l(r,p)/i,g=l(n,p)/i;u=Math.acos(m),a=Math.acos(g)}return i=Math.log(i),new d(e.zoomMin,e.zoomMax,t,r,n,i,a,u)};var n=r(9215),i=r(7608),a=r(6079),o=r(5911),s=r(3536),l=r(244);function c(e,t,r){return Math.sqrt(Math.pow(e,2)+Math.pow(t,2)+Math.pow(r,2))}function u(e){return Math.min(1,Math.max(-1,e))}function h(e){var t=Math.abs(e[0]),r=Math.abs(e[1]),n=Math.abs(e[2]),i=[0,0,0];t>Math.max(r,n)?i[2]=1:r>Math.max(t,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=e[l]*e[l],o+=i[l]*e[l];for(l=0;l<3;++l)i[l]-=o/a*e[l];return s(i,i),i}function d(e,t,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(e,t),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var c=0;c<16;++c)this.computedMatrix[c]=.5;this.recalcMatrix(0)}var f=d.prototype;f.setDistanceLimits=function(e,t){e=e>0?Math.log(e):-1/0,t=t>0?Math.log(t):1/0,t=Math.max(t,e),this.radius.bounds[0][0]=e,this.radius.bounds[1][0]=t},f.getDistanceLimits=function(e){var t=this.radius.bounds[0];return e?(e[0]=Math.exp(t[0][0]),e[1]=Math.exp(t[1][0]),e):[Math.exp(t[0][0]),Math.exp(t[1][0])]},f.recalcMatrix=function(e){this.center.curve(e),this.up.curve(e),this.right.curve(e),this.radius.curve(e),this.angle.curve(e);for(var t=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=t[a]*r[a],n+=t[a]*t[a];var l=Math.sqrt(n),u=0;for(a=0;a<3;++a)r[a]-=t[a]*i/n,u+=r[a]*r[a],t[a]/=l;var h=Math.sqrt(u);for(a=0;a<3;++a)r[a]/=h;var d=this.computedToward;o(d,t,r),s(d,d);var f=Math.exp(this.computedRadius[0]),p=this.computedAngle[0],m=this.computedAngle[1],g=Math.cos(p),y=Math.sin(p),v=Math.cos(m),x=Math.sin(m),b=this.computedCenter,_=g*v,w=y*v,k=x,T=-g*x,A=-y*x,M=v,S=this.computedEye,E=this.computedMatrix;for(a=0;a<3;++a){var C=_*r[a]+w*d[a]+k*t[a];E[4*a+1]=T*r[a]+A*d[a]+M*t[a],E[4*a+2]=C,E[4*a+3]=0}var L=E[1],I=E[5],P=E[9],z=E[2],O=E[6],D=E[10],R=I*D-P*O,j=P*z-L*D,F=L*O-I*z,B=c(R,j,F);for(R/=B,j/=B,F/=B,E[0]=R,E[4]=j,E[8]=F,a=0;a<3;++a)S[a]=b[a]+E[2+4*a]*f;for(a=0;a<3;++a){u=0;for(var N=0;N<3;++N)u+=E[a+4*N]*S[N];E[12+a]=-u}E[15]=1},f.getMatrix=function(e,t){this.recalcMatrix(e);var r=this.computedMatrix;if(t){for(var n=0;n<16;++n)t[n]=r[n];return t}return r};var p=[0,0,0];f.rotate=function(e,t,r,n){if(this.angle.move(e,t,r),n){this.recalcMatrix(e);var i=this.computedMatrix;p[0]=i[2],p[1]=i[6],p[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,c=0;c<3;++c)i[4*c]=o[c],i[4*c+1]=s[c],i[4*c+2]=l[c];for(a(i,i,n,p),c=0;c<3;++c)o[c]=i[4*c],s[c]=i[4*c+1];this.up.set(e,o[0],o[1],o[2]),this.right.set(e,s[0],s[1],s[2])}},f.pan=function(e,t,r,n){t=t||0,r=r||0,n=n||0,this.recalcMatrix(e);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=c(a,o,s);a/=l,o/=l,s/=l;var u=i[0],h=i[4],d=i[8],f=u*a+h*o+d*s,p=c(u-=a*f,h-=o*f,d-=s*f),m=(u/=p)*t+a*r,g=(h/=p)*t+o*r,y=(d/=p)*t+s*r;this.center.move(e,m,g,y);var v=Math.exp(this.computedRadius[0]);v=Math.max(1e-4,v+n),this.radius.set(e,Math.log(v))},f.translate=function(e,t,r,n){this.center.move(e,t||0,r||0,n||0)},f.setMatrix=function(e,t,r,n){var a=1;"number"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;t||(this.recalcMatrix(e),t=this.computedMatrix);var s=t[a],l=t[a+4],h=t[a+8];if(n){var d=Math.abs(s),f=Math.abs(l),p=Math.abs(h),m=Math.max(d,f,p);d===m?(s=s<0?-1:1,l=h=0):p===m?(h=h<0?-1:1,s=l=0):(l=l<0?-1:1,s=h=0)}else{var g=c(s,l,h);s/=g,l/=g,h/=g}var y,v,x=t[o],b=t[o+4],_=t[o+8],w=x*s+b*l+_*h,k=c(x-=s*w,b-=l*w,_-=h*w),T=l*(_/=k)-h*(b/=k),A=h*(x/=k)-s*_,M=s*b-l*x,S=c(T,A,M);if(T/=S,A/=S,M/=S,this.center.jump(e,H,G,W),this.radius.idle(e),this.up.jump(e,s,l,h),this.right.jump(e,x,b,_),2===a){var E=t[1],C=t[5],L=t[9],I=E*x+C*b+L*_,P=E*T+C*A+L*M;y=R<0?-Math.PI/2:Math.PI/2,v=Math.atan2(P,I)}else{var z=t[2],O=t[6],D=t[10],R=z*s+O*l+D*h,j=z*x+O*b+D*_,F=z*T+O*A+D*M;y=Math.asin(u(R)),v=Math.atan2(F,j)}this.angle.jump(e,v,y),this.recalcMatrix(e);var B=t[2],N=t[6],U=t[10],V=this.computedMatrix;i(V,t);var q=V[15],H=V[12]/q,G=V[13]/q,W=V[14]/q,Y=Math.exp(this.computedRadius[0]);this.center.jump(e,H-B*Y,G-N*Y,W-U*Y)},f.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},f.idle=function(e){this.center.idle(e),this.up.idle(e),this.right.idle(e),this.radius.idle(e),this.angle.idle(e)},f.flush=function(e){this.center.flush(e),this.up.flush(e),this.right.flush(e),this.radius.flush(e),this.angle.flush(e)},f.setDistance=function(e,t){t>0&&this.radius.set(e,Math.log(t))},f.lookAt=function(e,t,r,n){this.recalcMatrix(e),t=t||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=c(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=t[0]-r[0],h=t[1]-r[1],d=t[2]-r[2],f=c(l,h,d);if(!(f<1e-6)){l/=f,h/=f,d/=f;var p=this.computedRight,m=p[0],g=p[1],y=p[2],v=i*m+a*g+o*y,x=c(m-=v*i,g-=v*a,y-=v*o);if(!(x<.01&&(m=a*d-o*h,g=o*l-i*d,y=i*h-a*l,x=c(m,g,y),x<1e-6))){m/=x,g/=x,y/=x,this.up.set(e,i,a,o),this.right.set(e,m,g,y),this.center.set(e,r[0],r[1],r[2]),this.radius.set(e,Math.log(f));var b=a*y-o*g,_=o*m-i*y,w=i*g-a*m,k=c(b,_,w),T=i*l+a*h+o*d,A=m*l+g*h+y*d,M=(b/=k)*l+(_/=k)*h+(w/=k)*d,S=Math.asin(u(T)),E=Math.atan2(M,A),C=this.angle._state,L=C[C.length-1],I=C[C.length-2];L%=2*Math.PI;var P=Math.abs(L+2*Math.PI-E),z=Math.abs(L-E),O=Math.abs(L-2*Math.PI-E);P0?r.pop():new ArrayBuffer(e)}function p(e){return new Uint8Array(f(e),0,e)}function m(e){return new Uint16Array(f(2*e),0,e)}function g(e){return new Uint32Array(f(4*e),0,e)}function y(e){return new Int8Array(f(e),0,e)}function v(e){return new Int16Array(f(2*e),0,e)}function x(e){return new Int32Array(f(4*e),0,e)}function b(e){return new Float32Array(f(4*e),0,e)}function _(e){return new Float64Array(f(8*e),0,e)}function w(e){return o?new Uint8ClampedArray(f(e),0,e):p(e)}function k(e){return s?new BigUint64Array(f(8*e),0,e):null}function T(e){return l?new BigInt64Array(f(8*e),0,e):null}function A(e){return new DataView(f(e),0,e)}function M(e){e=n.nextPow2(e);var t=n.log2(e),r=h[t];return r.length>0?r.pop():new a(e)}t.free=function(e){if(a.isBuffer(e))h[n.log2(e.length)].push(e);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(e)&&(e=e.buffer),!e)return;var t=e.length||e.byteLength,r=0|n.log2(t);u[r].push(e)}},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=function(e){d(e.buffer)},t.freeArrayBuffer=d,t.freeBuffer=function(e){h[n.log2(e.length)].push(e)},t.malloc=function(e,t){if(void 0===t||"arraybuffer"===t)return f(e);switch(t){case"uint8":return p(e);case"uint16":return m(e);case"uint32":return g(e);case"int8":return y(e);case"int16":return v(e);case"int32":return x(e);case"float":case"float32":return b(e);case"double":case"float64":return _(e);case"uint8_clamped":return w(e);case"bigint64":return T(e);case"biguint64":return k(e);case"buffer":return M(e);case"data":case"dataview":return A(e);default:return null}return null},t.mallocArrayBuffer=f,t.mallocUint8=p,t.mallocUint16=m,t.mallocUint32=g,t.mallocInt8=y,t.mallocInt16=v,t.mallocInt32=x,t.mallocFloat32=t.mallocFloat=b,t.mallocFloat64=t.mallocDouble=_,t.mallocUint8Clamped=w,t.mallocBigUint64=k,t.mallocBigInt64=T,t.mallocDataView=A,t.mallocBuffer=M,t.clearCache=function(){for(var e=0;e<32;++e)c.UINT8[e].length=0,c.UINT16[e].length=0,c.UINT32[e].length=0,c.INT8[e].length=0,c.INT16[e].length=0,c.INT32[e].length=0,c.FLOAT[e].length=0,c.DOUBLE[e].length=0,c.BIGUINT64[e].length=0,c.BIGINT64[e].length=0,c.UINT8C[e].length=0,u[e].length=0,h[e].length=0}},1755:function(e){function t(e){this.roots=new Array(e),this.ranks=new Array(e);for(var t=0;t0&&(a=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts)),r.font=[n.fontStyle,n.fontVariant,n.fontWeight,a+"px",n.font].filter((function(e){return e})).join(" "),r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",_(function(e,t,r,n,a,o){r=r.replace(/\n/g,""),r=!0===o.breaklines?r.replace(/\/g,"\n"):r.replace(/\/g," ");var s="",l=[];for(L=0;L-1?parseInt(e[1+i]):0,l=a>-1?parseInt(r[1+a]):0;s!==l&&(n=n.replace(j(),"?px "),z*=Math.pow(.75,l-s),n=n.replace("?px ",j())),P+=.25*T*(l-s)}if(!0===o.superscripts){var c=e.indexOf(p),h=r.indexOf(p),f=c>-1?parseInt(e[1+c]):0,m=h>-1?parseInt(r[1+h]):0;f!==m&&(n=n.replace(j(),"?px "),z*=Math.pow(.75,m-f),n=n.replace("?px ",j())),P-=.25*T*(m-f)}if(!0===o.bolds){var g=e.indexOf(u)>-1,v=r.indexOf(u)>-1;!g&&v&&(n=x?n.replace("italic ","italic bold "):"bold "+n),g&&!v&&(n=n.replace("bold ",""))}if(!0===o.italics){var x=e.indexOf(d)>-1,b=r.indexOf(d)>-1;!x&&b&&(n="italic "+n),x&&!b&&(n=n.replace("italic ",""))}t.font=n}for(C=0;C",a="",o=i.length,s=a.length,l=t[0]===p||t[0]===y,c=0,u=-s;c>-1&&!(-1===(c=r.indexOf(i,c))||(u=r.indexOf(a,c+o),-1===u)||u<=c);){for(var h=c;h=u)n[h]=null,r=r.substr(0,h)+" "+r.substr(h+1);else if(null!==n[h]){var d=n[h].indexOf(t[0]);-1===d?n[h]+=t:l&&(n[h]=n[h].substr(0,d+1)+(1+parseInt(n[h][d+1]))+n[h].substr(d+2))}var f=c+o,m=r.substr(f,u-f).indexOf(i);c=-1!==m?m:u+s}return n}function b(e,t,r,i){var c=function(e,t){var r=n(e,128);return t?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}(e,i),u=function(e,t,r){for(var n=t.textAlign||"start",i=t.textBaseline||"alphabetic",a=[1<<30,1<<30],o=[0,0],s=e.length,l=0;l=0?t[a]:i}))},has___:{value:x((function(t){var n=v(t);return n?r in n:e.indexOf(t)>=0}))},set___:{value:x((function(n,i){var a,o=v(n);return o?o[r]=i:(a=e.indexOf(n))>=0?t[a]=i:(a=e.length,t[a]=i,e[a]=n),this}))},delete___:{value:x((function(n){var i,a,o=v(n);return o?r in o&&delete o[r]:!((i=e.indexOf(n))<0||(a=e.length-1,e[i]=void 0,t[i]=t[a],e[i]=e[a],e.length=a,t.length=a,0))}))}})};m.prototype=Object.create(Object.prototype,{get:{value:function(e,t){return this.get___(e,t)},writable:!0,configurable:!0},has:{value:function(e){return this.has___(e)},writable:!0,configurable:!0},set:{value:function(e,t){return this.set___(e,t)},writable:!0,configurable:!0},delete:{value:function(e){return this.delete___(e)},writable:!0,configurable:!0}}),"function"==typeof r?function(){function n(){this instanceof m||b();var e,n=new r,i=void 0,a=!1;return e=t?function(e,t){return n.set(e,t),n.has(e)||(i||(i=new m),i.set(e,t)),this}:function(e,t){if(a)try{n.set(e,t)}catch{i||(i=new m),i.set___(e,t)}else n.set(e,t);return this},Object.create(m.prototype,{get___:{value:x((function(e,t){return i?n.has(e)?n.get(e):i.get___(e,t):n.get(e,t)}))},has___:{value:x((function(e){return n.has(e)||!!i&&i.has___(e)}))},set___:{value:x(e)},delete___:{value:x((function(e){var t=!!n.delete(e);return i&&i.delete___(e)||t}))},permitHostObjects___:{value:x((function(e){if(e!==g)throw new Error("bogus call to permitHostObjects___");a=!0}))}})}t&&typeof Proxy<"u"&&(Proxy=void 0),n.prototype=m.prototype,e.exports=n,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(typeof Proxy<"u"&&(Proxy=void 0),e.exports=m)}function g(e){e.permitHostObjects___&&e.permitHostObjects___(g)}function y(e){return!(e.substr(0,8)==l&&"___"===e.substr(e.length-3))}function v(e){if(e!==Object(e))throw new TypeError("Not an object: "+e);var t=e[c];if(t&&t.key===e)return t;if(s(e)){t={key:e};try{return o(e,c,{value:t,writable:!1,enumerable:!1,configurable:!1}),t}catch{return}}}function x(e){return e.prototype=null,Object.freeze(e)}function b(){!f&&typeof console<"u"&&(f=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},236:function(e,t,r){var n=r(8284);e.exports=function(){var e={};return function(t){if(("object"!=typeof t||null===t)&&"function"!=typeof t)throw new Error("Weakmap-shim: Key must be object");var r=t.valueOf(e);return r&&r.identity===e?r:n(t,e)}}},8284:function(e){e.exports=function(e,t){var r={identity:t},n=e.valueOf;return Object.defineProperty(e,"valueOf",{value:function(e){return e!==t?n.apply(this,arguments):r},writable:!0}),r}},606:function(e,t,r){var n=r(236);e.exports=function(){var e=n();return{get:function(t,r){var n=e(t);return n.hasOwnProperty("value")?n.value:r},set:function(t,r){return e(t).value=r,this},has:function(t){return"value"in e(t)},delete:function(t){return delete e(t).value}}}},3349:function(e){var t,r,n=function(){return function(e,t,r,n,i,a){var o=e[0],s=r[0],l=[0],c=s;n|=0;var u=0,h=s;for(u=0;u=0!=f>=0&&i.push(l[0]+.5+.5*(d+f)/(d-f)),n+=h,++l[0]}}};e.exports=(t=n.bind(void 0,{funcName:"zeroCrossings"}),r={},function(e,n,i){var a=e.dtype,o=e.order,s=[a,o.join()].join(),l=r[s];return l||(r[s]=l=t([a,o])),l(e.shape.slice(0),e.data,e.stride,0|e.offset,n,i)})},781:function(e,t,r){e.exports=function(e,t){var r=[];return t=+t||0,n(e.hi(e.shape[0]-1),r,t),r};var n=r(3349)},7790:function(){}},r={};function n(t){var i=r[t];if(void 0!==i)return i.exports;var a=r[t]={id:t,loaded:!1,exports:{}};return e[t].call(a.exports,a,a.exports,n),a.loaded=!0,a.exports}n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch{if("object"==typeof window)return window}}(),n.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e};var i=n(1964);t.exports=i}()}}),pg=m({"node_modules/color-name/index.js"(e,t){t.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]}}}),mg=m({"node_modules/color-normalize/node_modules/color-parse/index.js"(e,t){var r=pg();t.exports=function(e){var t,i,a=[],o=1;if("string"==typeof e)if(e=e.toLowerCase(),r[e])a=r[e].slice(),i="rgb";else if("transparent"===e)o=0,i="rgb",a=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(e)){var s=e.slice(1);o=1,(u=s.length)<=4?(a=[parseInt(s[0]+s[0],16),parseInt(s[1]+s[1],16),parseInt(s[2]+s[2],16)],4===u&&(o=parseInt(s[3]+s[3],16)/255)):(a=[parseInt(s[0]+s[1],16),parseInt(s[2]+s[3],16),parseInt(s[4]+s[5],16)],8===u&&(o=parseInt(s[6]+s[7],16)/255)),a[0]||(a[0]=0),a[1]||(a[1]=0),a[2]||(a[2]=0),i="rgb"}else if(t=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(e)){var l=t[1],c="rgb"===l;i=s=l.replace(/a$/,"");var u="cmyk"===s?4:"gray"===s?1:3;a=t[2].trim().split(/\s*[,\/]\s*|\s+/).map((function(e,t){if(/%$/.test(e))return t===u?parseFloat(e)/100:"rgb"===s?255*parseFloat(e)/100:parseFloat(e);if("h"===s[t]){if(/deg$/.test(e))return parseFloat(e);if(void 0!==n[e])return n[e]}return parseFloat(e)})),l===s&&a.push(1),o=c||void 0===a[u]?1:a[u],a=a.slice(0,u)}else e.length>10&&/[0-9](?:\s|\/)/.test(e)&&(a=e.match(/([0-9]+)/g).map((function(e){return parseFloat(e)})),i=e.match(/([a-z])/gi).join("").toLowerCase());else isNaN(e)?Array.isArray(e)||e.length?(a=[e[0],e[1],e[2]],i="rgb",o=4===e.length?e[3]:1):e instanceof Object&&(null!=e.r||null!=e.red||null!=e.R?(i="rgb",a=[e.r||e.red||e.R||0,e.g||e.green||e.G||0,e.b||e.blue||e.B||0]):(i="hsl",a=[e.h||e.hue||e.H||0,e.s||e.saturation||e.S||0,e.l||e.lightness||e.L||e.b||e.brightness]),o=e.a||e.alpha||e.opacity||1,null!=e.opacity&&(o/=100)):(i="rgb",a=[e>>>16,(65280&e)>>>8,255&e]);return{space:i,values:a,alpha:o}};var n={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}}),gg=m({"node_modules/color-normalize/node_modules/color-rgba/index.js"(e,t){var r=mg();t.exports=function(e){Array.isArray(e)&&e.raw&&(e=String.raw.apply(null,arguments));var t,n=r(e);if(!n.space)return[];var i=[0,0,0],a="h"===n.space[0]?[360,100,100]:[255,255,255];return(t=Array(3))[0]=Math.min(Math.max(n.values[0],i[0]),a[0]),t[1]=Math.min(Math.max(n.values[1],i[1]),a[1]),t[2]=Math.min(Math.max(n.values[2],i[2]),a[2]),"h"===n.space[0]&&(t=function(e){var t,r,n,i,a,o=e[0]/360,s=e[1]/100,l=e[2]/100,c=0;if(0===s)return[a=255*l,a,a];for(t=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];c<3;)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,a=6*n<1?t+6*(r-t)*n:2*n<1?r:3*n<2?t+(r-t)*(2/3-n)*6:t,i[c++]=255*a;return i}(t)),t.push(Math.min(Math.max(n.alpha,0),1)),t}}}),yg=m({"node_modules/clamp/index.js"(e,t){t.exports=function(e,t,r){return tr?r:e:et?t:e}}}),vg=m({"node_modules/dtype/index.js"(e,t){t.exports=function(e){switch(e){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}}}}),xg=m({"node_modules/color-normalize/index.js"(e,t){var r=gg(),n=yg(),i=vg();t.exports=function(e,t){("float"===t||!t)&&(t="array"),"uint"===t&&(t="uint8"),"uint_clamped"===t&&(t="uint8_clamped");var a,o=new(i(t))(4),s="uint8"!==t&&"uint8_clamped"!==t;return(!e.length||"string"==typeof e)&&((e=r(e))[0]/=255,e[1]/=255,e[2]/=255),(a=e)instanceof Uint8Array||a instanceof Uint8ClampedArray||Array.isArray(a)&&(a[0]>1||0===a[0])&&(a[1]>1||0===a[1])&&(a[2]>1||0===a[2])&&(!a[3]||a[3]>1)?(o[0]=e[0],o[1]=e[1],o[2]=e[2],o[3]=null!=e[3]?e[3]:255,s&&(o[0]/=255,o[1]/=255,o[2]/=255,o[3]/=255),o):(s?(o[0]=e[0],o[1]=e[1],o[2]=e[2],o[3]=null!=e[3]?e[3]:1):(o[0]=n(Math.floor(255*e[0]),0,255),o[1]=n(Math.floor(255*e[1]),0,255),o[2]=n(Math.floor(255*e[2]),0,255),o[3]=null==e[3]?255:n(Math.floor(255*e[3]),0,255)),o)}}}),bg=m({"src/lib/str2rgbarray.js"(e,t){var r=xg();t.exports=function(e){return e?r(e):[0,0,0,1]}}}),_g=m({"src/lib/gl_format_color.js"(e,t){var r=S(),n=xg(),i=Kr(),a=Fe(),o=je().defaultLine,s=I().isArrayOrTypedArray,l=n(o);function c(e,t){var r=e;return r[3]*=t,r}function u(e){if(r(e))return l;var t=n(e);return t.length?t:l}function h(e){return r(e)?e:1}t.exports={formatColor:function(e,t,r){var a=e.color;a&&a._inputArray&&(a=a._inputArray);var o,d,f,p,m,g=s(a),y=s(t),v=i.extractOpts(e),x=[];if(o=void 0!==v.colorscale?i.makeColorScaleFuncFromTrace(e):u,d=g?function(e,t){return void 0===e[t]?l:n(o(e[t]))}:u,f=y?function(e,t){return void 0===e[t]?1:h(e[t])}:h,g||y)for(var b=0;b0){var d=i.c2l(u);i._lowerLogErrorBound||(i._lowerLogErrorBound=d),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,d)}}else o[s]=[-l[0]*n,l[1]*n]}return o}t.exports=function(e,t,r){var i=[n(e.x,e.error_x,t[0],r.xaxis),n(e.y,e.error_y,t[1],r.yaxis),n(e.z,e.error_z,t[2],r.zaxis)],a=function(e){for(var t=0;t-1?-1:e.indexOf("right")>-1?1:0}function x(e){return null==e?0:e.indexOf("top")>-1?-1:e.indexOf("bottom")>-1?1:0}function b(e,t){return t(4*e)}function _(e){return d[e]}function w(e,t,r,n,i){var a=null;if(s.isArrayOrTypedArray(e)){a=[];for(var o=0;o=0){var E=function(e,t,r){var n,i=(r+1)%3,a=(r+2)%3,s=[],l=[];for(n=0;n=0&&h("surfacecolor",f||p);for(var m=["x","y","z"],g=0;g<3;++g){var y="projection."+m[g];h(y+".show")&&(h(y+".opacity"),h(y+".scale"))}var v=r.getComponentMethod("errorbars","supplyDefaults");v(e,t,f||p||c,{axis:"z"}),v(e,t,f||p||c,{axis:"y",inherit:"z"}),v(e,t,f||p||c,{axis:"x",inherit:"z"})}else t.visible=!1}}}),Eg=m({"src/traces/scatter3d/calc.js"(e,t){var r=fa(),n=da();t.exports=function(e,t){var i=[{x:!1,y:!1,trace:t,t:{}}];return r(i,t),n(e,t),i}}}),Cg=m({"node_modules/get-canvas-context/index.js"(e,t){t.exports=function(e,t){if("string"!=typeof e)throw new TypeError("must specify type string");if(t=t||{},typeof document>"u"&&!t.canvas)return null;var r=t.canvas||document.createElement("canvas");"number"==typeof t.width&&(r.width=t.width),"number"==typeof t.height&&(r.height=t.height);var n,i=t;try{var a=[e];0===e.indexOf("webgl")&&a.push("experimental-"+e);for(var o=0;o/g," "));l[c]=f,u.tickmode=h}}for(t.ticks=l,c=0;c<3;++c)for(a[c]=.5*(e.glplot.bounds[0][c]+e.glplot.bounds[1][c]),p=0;p<2;++p)t.bounds[p][c]=e.glplot.bounds[p][c];e.contourLevels=function(e){for(var t=new Array(3),r=0;r<3;++r){for(var n=e[r],i=new Array(n.length),a=0;ar.deltaY?1.1:.9090909090909091,a=e.glplot.getAspectratio();e.glplot.setAspectratio({x:n*a.x,y:n*a.y,z:n*a.z})}i(e)}}),!!l&&{passive:!1}),e.glplot.canvas.addEventListener("mousemove",(function(){if(!1!==e.fullSceneLayout.dragmode&&0!==e.camera.mouseListener.buttons){var t=n();e.graphDiv.emit("plotly_relayouting",t)}})),e.staticMode||e.glplot.canvas.addEventListener("webglcontextlost",(function(r){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:r,layer:e.id})}),!1)),e.glplot.oncontextloss=function(){e.recoverContext()},e.glplot.onrender=function(){e.render()},!0},k.render=function(){var e,t=this,r=t.graphDiv,n=t.svgContainer,i=t.container.getBoundingClientRect();r._fullLayout._calcInverseTransform(r);var a=r._fullLayout._invScaleX,o=r._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,"viewBox","0 0 "+s+" "+l),n.setAttributeNS(null,"width",s),n.setAttributeNS(null,"height",l),x(t),t.glplot.axes.update(t.axesOptions);for(var c=Object.keys(t.traces),h=null,p=t.glplot.selection,m=0;m")):"isosurface"===e.type||"volume"===e.type?(k.valueLabel=d.hoverLabelText(t._mockAxis,t._mockAxis.d2l(p.traceCoordinate[3]),e.valuehoverformat),E.push("value: "+k.valueLabel),p.textLabel&&E.push(p.textLabel),S=E.join("
")):S=p.textLabel;var C={x:p.traceCoordinate[0],y:p.traceCoordinate[1],z:p.traceCoordinate[2],data:b._input,fullData:b,curveNumber:b.index,pointNumber:w};f.appendArrayPointValue(C,b,w),e._module.eventData&&(C=b._module.eventData(C,p,b,{},w));var L={points:[C]};if(t.fullSceneLayout.hovermode){var I=[];f.loneHover({trace:b,x:(.5+.5*v[0]/v[3])*s,y:(.5-.5*v[1]/v[3])*l,xLabel:k.xLabel,yLabel:k.yLabel,zLabel:k.zLabel,text:S,name:h.name,color:f.castHoverOption(b,w,"bgcolor")||h.color,borderColor:f.castHoverOption(b,w,"bordercolor"),fontFamily:f.castHoverOption(b,w,"font.family"),fontSize:f.castHoverOption(b,w,"font.size"),fontColor:f.castHoverOption(b,w,"font.color"),nameLength:f.castHoverOption(b,w,"namelength"),textAlign:f.castHoverOption(b,w,"align"),hovertemplate:u.castOption(b,w,"hovertemplate"),hovertemplateLabels:u.extendFlat({},C,k),eventData:[C]},{container:n,gd:r,inOut_bbox:I}),C.bbox=I[0]}p.distance<5&&(p.buttons||_)?r.emit("plotly_click",L):r.emit("plotly_hover",L),this.oldEventData=L}else f.loneUnhover(n),this.oldEventData&&r.emit("plotly_unhover",this.oldEventData),this.oldEventData=void 0;t.drawAnnotations(t)},k.recoverContext=function(){var e=this;e.glplot.dispose();var t=function(){e.glplot.gl.isContextLost()?requestAnimationFrame(t):e.initializeGLPlot()?e.plot.apply(e,e.plotArgs):u.error("Catastrophic and unrecoverable WebGL error. Context lost.")};requestAnimationFrame(t)};var A=["xaxis","yaxis","zaxis"];function M(e,t,r){for(var n=e.fullSceneLayout,i=0;i<3;i++){var a=A[i],o=a.charAt(0),s=n[a],l=t[o],c=t[o+"calendar"],h=t["_"+o+"length"];if(u.isArrayOrTypedArray(l))for(var d,f=0;f<(h||l.length);f++)if(u.isArrayOrTypedArray(l[f]))for(var p=0;pg[1][o])g[0][o]=-1,g[1][o]=1;else{var I=g[1][o]-g[0][o];g[0][o]-=I/32,g[1][o]+=I/32}if(x=[g[0][o],g[1][o]],x=b(x,l),g[0][o]=x[0],g[1][o]=x[1],l.isReversed()){var P=g[0][o];g[0][o]=g[1][o],g[1][o]=P}}else x=l.range,g[0][o]=l.r2l(x[0]),g[1][o]=l.r2l(x[1]);g[0][o]===g[1][o]&&(g[0][o]-=1,g[1][o]+=1),y[o]=g[1][o]-g[0][o],l.range=[g[0][o],g[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*f[o],max:l.range[1]*f[o]})}var z,O=u.aspectmode;if("cube"===O)z=[1,1,1];else if("manual"===O){var D=u.aspectratio;z=[D.x,D.y,D.z]}else{if("auto"!==O&&"data"!==O)throw new Error("scene.js aspectRatio was not one of the enumerated types");var R=[1,1,1];for(o=0;o<3;++o){var j=v[c=(l=u[A[o]]).type];R[o]=Math.pow(j.acc,1/j.count)/f[o]}z="data"===O||Math.max.apply(null,R)/Math.min.apply(null,R)<=4?R:[1,1,1]}u.aspectratio.x=h.aspectratio.x=z[0],u.aspectratio.y=h.aspectratio.y=z[1],u.aspectratio.z=h.aspectratio.z=z[2],n.glplot.setAspectratio(u.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:u.aspectratio.x,y:u.aspectratio.y,z:u.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=u.aspectmode);var F=u.domain||null,B=t._size||null;if(F&&B){var N=n.container.style;N.position="absolute",N.left=B.l+F.x[0]*B.w+"px",N.top=B.t+(1-F.y[1])*B.h+"px",N.width=B.w*(F.x[1]-F.x[0])+"px",N.height=B.h*(F.y[1]-F.y[0])+"px"}n.glplot.redraw()}},k.destroy=function(){var e=this;e.glplot&&(e.camera.mouseListener.enabled=!1,e.container.removeEventListener("wheel",e.camera.wheelListener),e.camera=null,e.glplot.dispose(),e.container.parentNode.removeChild(e.container),e.glplot=null)},k.getCamera=function(){var e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),function(e){return{up:{x:e.up[0],y:e.up[1],z:e.up[2]},center:{x:e.center[0],y:e.center[1],z:e.center[2]},eye:{x:e.eye[0],y:e.eye[1],z:e.eye[2]},projection:{type:!0===e._ortho?"orthographic":"perspective"}}}(e.camera)},k.setViewport=function(e){var t=this,r=e.camera;t.camera.lookAt.apply(this,function(e){return[[e.eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]}(r)),t.glplot.setAspectratio(e.aspectratio),"orthographic"===r.projection.type!==t.camera._ortho&&(t.glplot.redraw(),t.glplot.clearRGBA(),t.glplot.dispose(),t.initializeGLPlot())},k.isCameraChanged=function(e){var t,r,n,i,a,o,s=this.getCamera(),l=u.nestedProperty(e,this.id+".camera").get(),c=!1;if(void 0===l)c=!0;else{for(var h=0;h<3;h++)for(var d=0;d<3;d++)if(t=s,i=d,void 0,void 0,o=["x","y","z"],!(r=l)[(a=["up","center","eye"])[n=h]]||t[a[n]][o[i]]!==r[a[n]][o[i]]){c=!0;break}(!l.projection||s.projection&&s.projection.type!==l.projection.type)&&(c=!0)}return c},k.isAspectChanged=function(e){var t=this.glplot.getAspectratio(),r=u.nestedProperty(e,this.id+".aspectratio").get();return void 0===r||r.x!==t.x||r.y!==t.y||r.z!==t.z},k.saveLayout=function(e){var t,r,n,i,a,o,s=this,l=s.fullLayout,h=s.isCameraChanged(e),d=s.isAspectChanged(e),f=h||d;if(f){var p={};h&&(t=s.getCamera(),n=(r=u.nestedProperty(e,s.id+".camera")).get(),p[s.id+".camera"]=n),d&&(i=s.glplot.getAspectratio(),o=(a=u.nestedProperty(e,s.id+".aspectratio")).get(),p[s.id+".aspectratio"]=o),c.call("_storeDirectGUIEdit",e,l._preGUI,p),h&&(r.set(t),u.nestedProperty(l,s.id+".camera").set(t)),d&&(a.set(i),u.nestedProperty(l,s.id+".aspectratio").set(i),s.glplot.redraw())}return f},k.updateFx=function(e,t){var r=this,n=r.camera;if(n)if("orbit"===e)n.mode="orbit",n.keyBindingMode="rotate";else if("turntable"===e){n.up=[0,0,1],n.mode="turntable",n.keyBindingMode="rotate";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,h=o.up.z;if(h/Math.sqrt(s*s+l*l+h*h)<.999){var d=r.id+".camera.up",f={x:0,y:0,z:1},p={};p[d]=f;var m=i.layout;c.call("_storeDirectGUIEdit",m,a._preGUI,p),o.up=f,u.nestedProperty(m,d).set(f)}}else n.keyBindingMode=e;r.fullSceneLayout.hovermode=t},k.toImage=function(e){var t=this;e||(e="png"),t.staticMode&&t.container.appendChild(r),t.glplot.redraw();var n=t.glplot.gl,i=n.drawingBufferWidth,a=n.drawingBufferHeight;n.bindFramebuffer(n.FRAMEBUFFER,null);var o=new Uint8Array(i*a*4);n.readPixels(0,0,i,a,n.RGBA,n.UNSIGNED_BYTE,o),function(e,t,r){for(var n=0,i=r-1;n0)for(var s=255/o,l=0;l<3;++l)e[a+l]=Math.min(s*e[a+l],255)}}(o,i,a);var s=document.createElement("canvas");s.width=i,s.height=a;var l,c=s.getContext("2d",{willReadFrequently:!0}),u=c.createImageData(i,a);switch(u.data.set(o),c.putImageData(u,0,0),e){case"jpeg":l=s.toDataURL("image/jpeg");break;case"webp":l=s.toDataURL("image/webp");break;default:l=s.toDataURL("image/png")}return t.staticMode&&t.container.removeChild(r),l},k.setConvert=function(){for(var e=0;e<3;e++){var t=this.fullSceneLayout[A[e]];d.setConvert(t,this.fullLayout),t.setScale=u.noop}},k.make4thDimension=function(){var e=this,t=e.graphDiv._fullLayout;e._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},d.setConvert(e._mockAxis,t)},t.exports=w}}),Rg=m({"src/plots/gl3d/layout/attributes.js"(e,t){t.exports={scene:{valType:"subplotid",dflt:"scene",editType:"calc+clearAxisTypes"}}}}),jg=m({"src/plots/gl3d/layout/axis_attributes.js"(e,t){var r=Fe(),n=Or(),i=V().extendFlat,a=St().overrideAll;t.exports=a({visible:n.visible,showspikes:{valType:"boolean",dflt:!0},spikesides:{valType:"boolean",dflt:!0},spikethickness:{valType:"number",min:0,dflt:2},spikecolor:{valType:"color",dflt:r.defaultLine},showbackground:{valType:"boolean",dflt:!1},backgroundcolor:{valType:"color",dflt:"rgba(204, 204, 204, 0.5)"},showaxeslabels:{valType:"boolean",dflt:!0},color:n.color,categoryorder:n.categoryorder,categoryarray:n.categoryarray,title:{text:n.title.text,font:n.title.font},type:i({},n.type,{values:["-","linear","log","date","category"]}),autotypenumbers:n.autotypenumbers,autorange:n.autorange,autorangeoptions:{minallowed:n.autorangeoptions.minallowed,maxallowed:n.autorangeoptions.maxallowed,clipmin:n.autorangeoptions.clipmin,clipmax:n.autorangeoptions.clipmax,include:n.autorangeoptions.include,editType:"plot"},rangemode:n.rangemode,minallowed:n.minallowed,maxallowed:n.maxallowed,range:i({},n.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],anim:!1}),tickmode:n.minor.tickmode,nticks:n.nticks,tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:n.ticks,mirror:n.mirror,ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,labelalias:n.labelalias,tickfont:n.tickfont,tickangle:n.tickangle,tickprefix:n.tickprefix,showtickprefix:n.showtickprefix,ticksuffix:n.ticksuffix,showticksuffix:n.showticksuffix,showexponent:n.showexponent,exponentformat:n.exponentformat,minexponent:n.minexponent,separatethousands:n.separatethousands,tickformat:n.tickformat,tickformatstops:n.tickformatstops,hoverformat:n.hoverformat,showline:n.showline,linecolor:n.linecolor,linewidth:n.linewidth,showgrid:n.showgrid,gridcolor:i({},n.gridcolor,{dflt:"rgb(204, 204, 204)"}),gridwidth:n.gridwidth,zeroline:n.zeroline,zerolinecolor:n.zerolinecolor,zerolinewidth:n.zerolinewidth},"plot","from-root")}}),Fg=m({"src/plots/gl3d/layout/layout_attributes.js"(e,t){var r=jg(),n=Do().attributes,i=V().extendFlat,a=dr().counterRegex;function o(e,t,r){return{x:{valType:"number",dflt:e,editType:"camera"},y:{valType:"number",dflt:t,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}t.exports={_arrayAttrRegexps:[a("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:i(o(0,0,1),{}),center:i(o(0,0,0),{}),eye:i(o(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:n({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:r,yaxis:r,zaxis:r,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"}}}),Bg=m({"src/plots/gl3d/layout/axis_defaults.js"(e,t){var r=Fe(),n=dr(),i=_r(),a=jg(),o=La(),s=za(),l=["xaxis","yaxis","zaxis"],c=13600/187;t.exports=function(e,t,u){var h,d;function f(e,t){return n.coerce(h,d,a,e,t)}for(var p=0;p.999)&&(g="turntable")}else g="turntable";r("dragmode",g),r("hovermode",a.getDfltFromLayout("hovermode"))}t.exports=function(e,t,n){var i=t._basePlotModules.length>1;a(e,t,n,{type:c,attributes:s,handleDefaults:u,fullLayout:t,font:t.font,fullData:n,getDfltFromLayout:function(t){if(!i&&r.validate(e[t],s[t]))return e[t]},autotypenumbersDflt:t.autotypenumbers,paper_bgcolor:t.paper_bgcolor,calendar:t.calendar})}}}),Ug=m({"src/plots/gl3d/index.js"(e){var t=St().overrideAll,r=G(),n=Dg(),i=Mr().getSubplotData,a=dr(),o=Cr(),s="gl3d",l="scene";e.name=s,e.attr=l,e.idRoot=l,e.idRegex=e.attrRegex=a.counterRegex("scene"),e.attributes=Rg(),e.layoutAttributes=Fg(),e.baseLayoutAttrOverrides=t({hoverlabel:r.hoverlabel},"plot","nested"),e.supplyLayoutDefaults=Ng(),e.plot=function(e){for(var t=e._fullLayout,r=e._fullData,a=t._subplots[s],o=0;o0){r=f[n];break}return r}function y(e,t){if(!(e<1||t<1)){for(var r=m(e),n=m(t),i=1,a=0;ab;)r--,r/=g(r),++r1?n:1},d.refineCoords=function(e){for(var t=this.dataScaleX,r=this.dataScaleY,i=e[0].shape[0],a=e[0].shape[1],o=0|Math.floor(e[0].shape[0]*t+1),s=0|Math.floor(e[0].shape[1]*r+1),l=1+i+1,c=1+a+1,u=n(new Float32Array(l*c),[l,c]),h=[1/t,0,0,0,1/r,0,0,0,1],d=0;d0&&null!==this.contourStart[e]&&null!==this.contourEnd[e]&&this.contourEnd[e]>this.contourStart[e]))for(i[e]=!0,t=this.contourStart[e];tv&&(this.minValues[m]=v),this.maxValues[m]l&&(t.isomin=null,t.isomax=null);var c=o("x"),u=o("y"),h=o("z"),d=o("value");c&&c.length&&u&&u.length&&h&&h.length&&d&&d.length?(n.getComponentMethod("calendars","handleTraceDefaults")(e,t,["x","y","z"],i),o("valuehoverformat"),["x","y","z"].forEach((function(e){o(e+"hoverformat");var t="caps."+e;o(t+".show")&&o(t+".fill");var r="slices."+e;o(r+".show")&&(o(r+".fill"),o(r+".locations"))})),o("spaceframe.show")&&o("spaceframe.fill"),o("surface.show")&&(o("surface.count"),o("surface.fill"),o("surface.pattern")),o("contour.show")&&(o("contour.color"),o("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(e){o(e)})),a(e,t,i,o,{prefix:"",cLetter:"c"}),t._length=null):t.visible=!1}t.exports={supplyDefaults:function(e,t,n,a){o(e,t,0,a,(function(n,a){return r.coerce(e,t,i,n,a)}))},supplyIsoDefaults:o}}}),Qg=m({"src/traces/streamtube/calc.js"(e,t){var r=dr(),n=$r();function i(e){var t,n,i,o,s,l,c,u,h,d,f,p,m=e._x,g=e._y,y=e._z,v=e._len,x=-1/0,b=1/0,_=-1/0,w=1/0,k=-1/0,T=1/0,A="";for(v&&(c=m[0],h=g[0],f=y[0]),v>1&&(u=m[v-1],d=g[v-1],p=y[v-1]),t=0;tu?"-":"+")+"x")).replace("y",(h>d?"-":"+")+"y")).replace("z",(f>p?"-":"+")+"z");var C=function(){v=0,M=[],S=[],E=[]};(!v||v0;r--){var n=Math.min(t[r],t[r-1]),i=Math.max(t[r],t[r-1]);if(i>n&&n-1}function j(e,t){return null===e?t:e}function F(e,t,r){L();var n=[t],i=[r];if(s>=1)n=[t],i=[r];else if(s>0){var a=function(e,t){var r=e[0],n=e[1],i=e[2],a=function(e,t,r){for(var n=[],i=0;i-1?r[c]:C(u,h,d);l[c]=p>-1?p:P(u,h,d,j(e,f))}z(l[0],l[1],l[2])}}function B(e,t,r,n){var i=e[3];in&&(i=n);for(var a=(e[3]-i)/(e[3]-t[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-a)*e[s]+a*t[s];return o}function N(e,t,r){return e>=t&&e<=r}function U(e){var t=.001*(E-S);return e>=S-t&&e<=E+t}function V(t){for(var r=[],n=0;n<4;n++){var i=t[n];r.push([e._x[i],e._y[i],e._z[i],e._value[i]])}return r}function q(e,t,r,n,i,a){a||(a=1),r=[-1,-1,-1];var o=!1,s=[N(t[0][3],n,i),N(t[1][3],n,i),N(t[2][3],n,i)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(e,t,r){return U(t[0][3])&&U(t[1][3])&&U(t[2][3])?(F(e,t,r),!0):a<3&&q(e,t,r,S,E,++a)};if(s[0]&&s[1]&&s[2])return l(e,t,r)||o;var c=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach((function(a){if(s[a[0]]&&s[a[1]]&&!s[a[2]]){var u=t[a[0]],h=t[a[1]],d=t[a[2]],f=B(d,u,n,i),p=B(d,h,n,i);o=l(e,[p,f,u],[-1,-1,r[a[0]]])||o,o=l(e,[u,h,p],[r[a[0]],r[a[1]],-1])||o,c=!0}})),c||[[0,1,2],[1,2,0],[2,0,1]].forEach((function(a){if(s[a[0]]&&!s[a[1]]&&!s[a[2]]){var u=t[a[0]],h=t[a[1]],d=t[a[2]],f=B(h,u,n,i),p=B(d,u,n,i);o=l(e,[p,f,u],[-1,-1,r[a[0]]])||o,c=!0}})),o}function H(e,t,r,n){var i=!1,a=V(t),o=[N(a[0][3],r,n),N(a[1][3],r,n),N(a[2][3],r,n),N(a[3][3],r,n)];if(!(o[0]||o[1]||o[2]||o[3]))return i;if(o[0]&&o[1]&&o[2]&&o[3])return m&&(i=function(e,t,r){var n=function(n,i,a){F(e,[t[n],t[i],t[a]],[r[n],r[i],r[a]])};n(0,1,2),n(3,0,1),n(2,3,0),n(1,2,3)}(e,a,t)||i),i;var s=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&o[l[2]]&&!o[l[3]]){var c=a[l[0]],u=a[l[1]],h=a[l[2]],d=a[l[3]];if(m)i=F(e,[c,u,h],[t[l[0]],t[l[1]],t[l[2]]])||i;else{var f=B(d,c,r,n),p=B(d,u,r,n),g=B(d,h,r,n);i=F(null,[f,p,g],[-1,-1,-1])||i}s=!0}})),s||([[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2],[0,2,3,1],[1,3,2,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&!o[l[2]]&&!o[l[3]]){var c=a[l[0]],u=a[l[1]],h=a[l[2]],d=a[l[3]],f=B(h,c,r,n),p=B(h,u,r,n),g=B(d,u,r,n),y=B(d,c,r,n);m?(i=F(e,[c,y,f],[t[l[0]],-1,-1])||i,i=F(e,[u,p,g],[t[l[1]],-1,-1])||i):i=function(e,t,r){var n=function(e,n,i){F(null,[t[e],t[n],t[i]],[r[e],r[n],r[i]])};n(0,1,2),n(2,3,0)}(0,[f,p,g,y],[-1,-1,-1,-1])||i,s=!0}})),s)||[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach((function(l){if(o[l[0]]&&!o[l[1]]&&!o[l[2]]&&!o[l[3]]){var c=a[l[0]],u=a[l[1]],h=a[l[2]],d=a[l[3]],f=B(u,c,r,n),p=B(h,c,r,n),g=B(d,c,r,n);m?(i=F(e,[c,f,p],[t[l[0]],-1,-1])||i,i=F(e,[c,p,g],[t[l[0]],-1,-1])||i,i=F(e,[c,g,f],[t[l[0]],-1,-1])||i):i=F(null,[f,p,g],[-1,-1,-1])||i,s=!0}})),i}function G(e,t,r,n,i,a,o,s,l,c,u){var h=!1;return p&&(R(e,"A")&&(h=H(null,[t,r,n,a],c,u)||h),R(e,"B")&&(h=H(null,[r,n,i,l],c,u)||h),R(e,"C")&&(h=H(null,[r,a,o,l],c,u)||h),R(e,"D")&&(h=H(null,[n,a,s,l],c,u)||h),R(e,"E")&&(h=H(null,[r,n,a,l],c,u)||h)),m&&(h=H(e,[r,n,a,l],c,u)||h),h}function W(e,t,r,n,i,a,o,s){return[!0===s[0]||q(e,V([t,r,n]),[t,r,n],a,o),!0===s[1]||q(e,V([n,i,t]),[n,i,t],a,o)]}function Y(e,t,r,n,i,a,o,s,l){return s?W(e,t,r,i,n,a,o,l):W(e,r,i,n,t,a,o,l)}function X(e,t,r,n,i,a,o){var s,l,c,u,h=!1,d=function(){h=q(e,[s,l,c],[-1,-1,-1],i,a)||h,h=q(e,[c,u,s],[-1,-1,-1],i,a)||h},f=o[0],p=o[1],m=o[2];return f&&(s=O(V([T(t,r-0,n-0)])[0],V([T(t-1,r-0,n-0)])[0],f),l=O(V([T(t,r-0,n-1)])[0],V([T(t-1,r-0,n-1)])[0],f),c=O(V([T(t,r-1,n-1)])[0],V([T(t-1,r-1,n-1)])[0],f),u=O(V([T(t,r-1,n-0)])[0],V([T(t-1,r-1,n-0)])[0],f),d()),p&&(s=O(V([T(t-0,r,n-0)])[0],V([T(t-0,r-1,n-0)])[0],p),l=O(V([T(t-0,r,n-1)])[0],V([T(t-0,r-1,n-1)])[0],p),c=O(V([T(t-1,r,n-1)])[0],V([T(t-1,r-1,n-1)])[0],p),u=O(V([T(t-1,r,n-0)])[0],V([T(t-1,r-1,n-0)])[0],p),d()),m&&(s=O(V([T(t-0,r-0,n)])[0],V([T(t-0,r-0,n-1)])[0],m),l=O(V([T(t-0,r-1,n)])[0],V([T(t-0,r-1,n-1)])[0],m),c=O(V([T(t-1,r-1,n)])[0],V([T(t-1,r-1,n-1)])[0],m),u=O(V([T(t-1,r-0,n)])[0],V([T(t-1,r-0,n-1)])[0],m),d()),h}function Z(e,t,r,n,i,a,o,s,l,c,u,h){var d=e;return h?(p&&"even"===e&&(d=null),G(d,t,r,n,i,a,o,s,l,c,u)):(p&&"odd"===e&&(d=null),G(d,l,s,o,a,i,n,r,t,c,u))}function $(e,t,r,n,i){for(var a=[],o=0,s=0;sMath.abs(k-M)?[A,k]:[k,M];ee(r,C[0],C[1])}}var L=[[Math.min(S,M),Math.max(S,M)],[Math.min(A,E),Math.max(A,E)]];["x","y","z"].forEach((function(r){for(var n=[],i=0;i0&&(h.push(p.id),"x"===r?d.push([p.distRatio,0,0]):"y"===r?d.push([0,p.distRatio,0]):d.push([0,0,p.distRatio]))}else u=ie(1,"x"===r?b-1:"y"===r?_-1:w-1);h.length>0&&(n[a]="x"===r?te(t,h,o,s,d,n[a]):"y"===r?re(t,h,o,s,d,n[a]):ne(t,h,o,s,d,n[a]),a++),u.length>0&&(n[a]="x"===r?$(t,u,o,s,n[a]):"y"===r?K(t,u,o,s,n[a]):J(t,u,o,s,n[a]),a++)}var m=e.caps[r];m.show&&m.fill&&(D(m.fill),n[a]="x"===r?$(t,[0,b-1],o,s,n[a]):"y"===r?K(t,[0,_-1],o,s,n[a]):J(t,[0,w-1],o,s,n[a]),a++)}})),0===g&&I(),e._meshX=n,e._meshY=i,e._meshZ=a,e._meshIntensity=o,e._Xs=y,e._Ys=v,e._Zs=x}(),e}t.exports={findNearestOnAxis:l,generateIsoMeshes:d,createIsosurfaceTrace:function(e,t){var n=e.glplot.gl,i=r({gl:n}),a=new c(e,i,t.uid);return i._trace=a,a.update(t),e.glplot.add(i),a}}}}),ny=m({"src/traces/isosurface/index.js"(e,t){t.exports={attributes:Kg(),supplyDefaults:Jg().supplyDefaults,calc:ey(),colorbar:{min:"cmin",max:"cmax"},plot:ry().createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:Ug(),categories:["gl3d","showLegend"],meta:{}}}}),iy=m({"lib/isosurface.js"(e,t){t.exports=ny()}}),ay=m({"src/traces/volume/attributes.js"(e,t){var r=Rr(),n=Kg(),i=Hg(),a=Y(),o=V().extendFlat,s=St().overrideAll,l=t.exports=s(o({x:n.x,y:n.y,z:n.z,value:n.value,isomin:n.isomin,isomax:n.isomax,surface:n.surface,spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:1}},slices:n.slices,caps:n.caps,text:n.text,hovertext:n.hovertext,xhoverformat:n.xhoverformat,yhoverformat:n.yhoverformat,zhoverformat:n.zhoverformat,valuehoverformat:n.valuehoverformat,hovertemplate:n.hovertemplate,hovertemplatefallback:n.hovertemplatefallback},r("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{colorbar:n.colorbar,opacity:n.opacity,opacityscale:i.opacityscale,lightposition:n.lightposition,lighting:n.lighting,flatshading:n.flatshading,contour:n.contour,hoverinfo:o({},a.hoverinfo),showlegend:o({},a.showlegend,{dflt:!1})}),"calc","nested");l.x.editType=l.y.editType=l.z.editType=l.value.editType="calc+clearAxisTypes"}}),oy=m({"src/traces/volume/defaults.js"(e,t){var r=dr(),n=ay(),i=Jg().supplyIsoDefaults,a=Gg().opacityscaleDefaults;t.exports=function(e,t,o,s){function l(i,a){return r.coerce(e,t,n,i,a)}i(e,t,o,s,l),a(e,t,s,l)}}}),sy=m({"src/traces/volume/convert.js"(e,t){var r=fg().gl_mesh3d,n=_g().parseColorScale,i=dr().isArrayOrTypedArray,a=bg(),o=Kr().extractOpts,s=ty(),l=ry().findNearestOnAxis,c=ry().generateIsoMeshes;function u(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name="",this.data=null,this.showContour=!1}var h=u.prototype;h.handlePick=function(e){if(e.object===this.mesh){var t=e.data.index,r=this.data._meshX[t],n=this.data._meshY[t],a=this.data._meshZ[t],o=this.data._Ys.length,s=this.data._Zs.length,c=l(r,this.data._Xs).id,u=l(n,this.data._Ys).id,h=l(a,this.data._Zs).id,d=e.index=h+s*u+s*o*c;e.traceCoordinate=[this.data._meshX[d],this.data._meshY[d],this.data._meshZ[d],this.data._value[d]];var f=this.data.hovertext||this.data.text;return i(f)&&void 0!==f[d]?e.textLabel=f[d]:f&&(e.textLabel=f),!0}},h.update=function(e){var t=this.scene,r=t.fullSceneLayout;function i(e,t,r,n){return t.map((function(t){return e.d2l(t,0,n)*r}))}this.data=c(e);var l={positions:s(i(r.xaxis,e._meshX,t.dataScale[0],e.xcalendar),i(r.yaxis,e._meshY,t.dataScale[1],e.ycalendar),i(r.zaxis,e._meshZ,t.dataScale[2],e.zcalendar)),cells:s(e._meshI,e._meshJ,e._meshK),lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,opacityscale:e.opacityscale,contourEnable:e.contour.show,contourColor:a(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading},u=o(e);l.vertexIntensity=e._meshIntensity,l.vertexIntensityBounds=[u.min,u.max],l.colormap=n(e),this.mesh.update(l)},h.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},t.exports=function(e,t){var n=e.glplot.gl,i=r({gl:n}),a=new u(e,i,t.uid);return i._trace=a,a.update(t),e.glplot.add(i),a}}}),ly=m({"src/traces/volume/index.js"(e,t){t.exports={attributes:ay(),supplyDefaults:oy(),calc:ey(),colorbar:{min:"cmin",max:"cmax"},plot:sy(),moduleType:"trace",name:"volume",basePlotModule:Ug(),categories:["gl3d","showLegend"],meta:{}}}}),cy=m({"lib/volume.js"(e,t){t.exports=ly()}}),uy=m({"src/traces/mesh3d/defaults.js"(e,t){var r=jt(),n=dr(),i=Yr(),a=$g();t.exports=function(e,t,o,s){function l(r,i){return n.coerce(e,t,a,r,i)}function c(e){var t=e.map((function(e){var t=l(e);return t&&n.isArrayOrTypedArray(t)?t:null}));return t.every((function(e){return e&&e.length===t[0].length}))&&t}c(["x","y","z"])?(c(["i","j","k"]),(!t.i||t.j&&t.k)&&(!t.j||t.k&&t.i)&&(!t.k||t.i&&t.j)?(r.getComponentMethod("calendars","handleTraceDefaults")(e,t,["x","y","z"],s),["lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","alphahull","delaunayaxis","opacity"].forEach((function(e){l(e)})),l("contour.show")&&(l("contour.color"),l("contour.width")),"intensity"in e?(l("intensity"),l("intensitymode"),i(e,t,s,l,{prefix:"",cLetter:"c"})):(t.showscale=!1,"facecolor"in e?l("facecolor"):"vertexcolor"in e?l("vertexcolor"):l("color",o)),l("text"),l("hovertext"),l("hovertemplate"),l("hovertemplatefallback"),l("xhoverformat"),l("yhoverformat"),l("zhoverformat"),t._length=null):t.visible=!1):t.visible=!1}}}),hy=m({"src/traces/mesh3d/calc.js"(e,t){var r=$r();t.exports=function(e,t){t.intensity&&r(e,t,{vals:t.intensity,containerStr:"",cLetter:"c"})}}}),dy=m({"src/traces/mesh3d/convert.js"(e,t){var r=fg().gl_mesh3d,n=fg().delaunay_triangulate,i=fg().alpha_shape,a=fg().convex_hull,o=_g().parseColorScale,s=dr().isArrayOrTypedArray,l=bg(),c=Kr().extractOpts,u=ty();function h(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var d=h.prototype;function f(e){for(var t=[],r=e.length,n=0;n=t-.5)return!1;return!0}d.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index;e.data._cellCenter?e.traceCoordinate=e.data.dataCoordinate:e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]];var r=this.data.hovertext||this.data.text;return s(r)&&void 0!==r[t]?e.textLabel=r[t]:r&&(e.textLabel=r),!0}},d.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=e;var s,h=e.x.length,d=u(p(r.xaxis,e.x,t.dataScale[0],e.xcalendar),p(r.yaxis,e.y,t.dataScale[1],e.ycalendar),p(r.zaxis,e.z,t.dataScale[2],e.zcalendar));if(e.i&&e.j&&e.k){if(e.i.length!==e.j.length||e.j.length!==e.k.length||!g(e.i,h)||!g(e.j,h)||!g(e.k,h))return;s=u(m(e.i),m(e.j),m(e.k))}else s=0===e.alphahull?a(d):e.alphahull>0?i(e.alphahull,d):function(e,t){for(var r=["x","y","z"].indexOf(e),i=[],a=t.length,o=0;o2?e.slice(1,t-1):2===t?[(e[0]+e[1])/2]:e}function d(e){var t=e.length;return 1===t?[.5,.5]:[e[1]-e[0],e[t-1]-e[t-2]]}function f(e,t){var n=e.fullSceneLayout,c=e.dataScale,u=t._len,f={};function p(e,t){var r=n[t],a=c[l[t]];return i.simpleMap(e,(function(e){return r.d2l(e)*a}))}if(f.vectors=s(p(t._u,"xaxis"),p(t._v,"yaxis"),p(t._w,"zaxis"),u),!u)return{positions:[],cells:[]};var m=p(t._Xs,"xaxis"),g=p(t._Ys,"yaxis"),y=p(t._Zs,"zaxis");if(f.meshgrid=[m,g,y],f.gridFill=t._gridFill,t._slen)f.startingPositions=s(p(t._startsX,"xaxis"),p(t._startsY,"yaxis"),p(t._startsZ,"zaxis"));else{for(var v=g[0],x=h(m),b=h(y),_=new Array(x.length*b.length),w=0,k=0;ko&&(o=e[0]),e[1]s&&(s=e[1])}function c(e){switch(e.type){case"GeometryCollection":e.geometries.forEach(c);break;case"Point":l(e.coordinates);break;case"MultiPoint":e.coordinates.forEach(l)}}for(t in e.arcs.forEach((function(e){for(var t,r=-1,l=e.length;++ro&&(o=t[0]),t[1]s&&(s=t[1])})),e.objects)c(e.objects[t]);return[i,a,o,s]}function i(e,t){var r=t.id,n=t.bbox,i=null==t.properties?{}:t.properties,o=a(e,t);return null==r&&null==n?{type:"Feature",properties:i,geometry:o}:null==n?{type:"Feature",id:r,properties:i,geometry:o}:{type:"Feature",id:r,bbox:n,properties:i,geometry:o}}function a(e,t){var n=r(e.transform),i=e.arcs;function a(e,t){t.length&&t.pop();for(var r=i[e<0?~e:e],a=0,o=r.length;a1)n=function(e,t,r){var n,i=[],a=[];function o(e){var t=e<0?~e:e;(a[t]||(a[t]=[])).push({i:e,g:n})}function s(e){e.forEach(o)}function l(e){e.forEach(s)}return function e(t){switch(n=t,t.type){case"GeometryCollection":t.geometries.forEach(e);break;case"LineString":s(t.arcs);break;case"MultiLineString":case"Polygon":l(t.arcs);break;case"MultiPolygon":!function(e){e.forEach(l)}(t.arcs)}}(t),a.forEach(null==r?function(e){i.push(e[0].i)}:function(e){r(e[0].g,e[e.length-1].g)&&i.push(e[0].i)}),i}(0,t,r);else for(i=0,n=new Array(a=e.arcs.length);i1)for(var a,s,c=1,u=l(i[0]);cu&&(s=i[0],i[0]=i[c],i[c]=s,u=a);return i})).filter((function(e){return e.length>0}))}}function c(e,t){for(var r=0,n=e.length;r>>1;e[i]=2))throw new Error("n must be ≥2");var r,i=(l=e.bbox||n(e))[0],a=l[1],o=l[2],s=l[3];t={scale:[o-i?(o-i)/(r-1):1,s-a?(s-a)/(r-1):1],translate:[i,a]}}var l,c,h=u(t),d=e.objects,f={};function p(e){return h(e)}function m(e){var t;switch(e.type){case"GeometryCollection":t={type:"GeometryCollection",geometries:e.geometries.map(m)};break;case"Point":t={type:"Point",coordinates:p(e.coordinates)};break;case"MultiPoint":t={type:"MultiPoint",coordinates:e.coordinates.map(p)};break;default:return e}return null!=e.id&&(t.id=e.id),null!=e.bbox&&(t.bbox=e.bbox),null!=e.properties&&(t.properties=e.properties),t}for(c in d)f[c]=m(d[c]);return{type:"Topology",bbox:l,transform:t,objects:f,arcs:e.arcs.map((function(e){var t,r=0,n=1,i=e.length,a=new Array(i);for(a[0]=h(e[0],0);++r0&&(n.push(i),i=[])}return i.length>0&&n.push(i),n},e.makeLine=function(e){return 1===e.length?{type:"LineString",coordinates:e[0]}:{type:"MultiLineString",coordinates:e}},e.makePolygon=function(e){if(1===e.length)return{type:"Polygon",coordinates:e};for(var t=new Array(e.length),r=0;r{for(var r in t)n(e,r,{get:t[r],enumerable:!0})})(s,{COUNTRIES:()=>l,byAlpha2:()=>m,byAlpha3:()=>p,byM49:()=>g,createLookup:()=>u,lookup:()=>d,lookupAlpha3:()=>f,sanitize:()=>c}),t.exports=(r=s,((e,t,r,s)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of a(t))!o.call(e,r)&&undefined!==r&&n(e,r,{get:()=>t[r],enumerable:!(s=i(t,r))||s.enumerable});return e})(n({},"__esModule",{value:!0}),r));var l=[{iso3:"ABW",iso2:"AW",m49:"533",name:"Aruba",aliases:["🇦🇼","country of aruba","land aruba","pais aruba"]},{iso3:"AFG",iso2:"AF",m49:"004",name:"Afghanistan",aliases:["🇦🇫","affghanistan","affghanisthan","affghaunistan","afghania","afghanisthan","afghaunistan","afghaunistaun","afgoniston","de afghanistan islami jumhuriyat","owganystan","афғонистон","أفغانستان","افغانستان","د افغانستان اسلامی جمهوریت"]},{iso3:"AGO",iso2:"AO",m49:"024",name:"Angola",aliases:["🇦🇴","republic of angola","republica de angola"]},{iso3:"AIA",iso2:"AI",m49:"660",name:"Anguilla",aliases:["🇦🇮","malliouhana"]},{iso3:"ALA",iso2:"AX",m49:"248",name:"Åland Islands",aliases:["🇦🇽","aaland","aaland islands","ahvenanmaa","aland","aland isles","aland region","alands lan","landskapet aland"]},{iso3:"ALB",iso2:"AL",m49:"008",name:"Albania",aliases:["🇦🇱","peoples republic of albania","peoples socialist republic of albania","republic of albania","republika e shqiperise","shqiperi","shqiperia","shqiperise","socialist republic of albania"]},{iso3:"AND",iso2:"AD",m49:"020",name:"Andorra",aliases:["🇦🇩","el pais dels pirineus","les valls dandorra","principality of andorra","principality of the valleys of andorra","principat dandorra","valls dandorra"]},{iso3:"ARE",iso2:"AE",m49:"784",name:"United Arab Emirates",aliases:["🇦🇪","emirates","uae","الإمارات","الإمارات العربية المتحدة","الامارات","الامارات العربية المتحدة","دولة الإمارات العربية المتحدة"]},{iso3:"ARG",iso2:"AR",m49:"032",name:"Argentina",aliases:["🇦🇷","argentine republic","nacion argentina","republic of argentina","republica argentina"]},{iso3:"ARM",iso2:"AM",m49:"051",name:"Armenia",aliases:["🇦🇲","hayastan","hayastani hanrapetutyun","republic of armenia","հայաստան","հայաստանի հանրապետություն","հայք","հհ"]},{iso3:"ASM",iso2:"AS",m49:"016",name:"American Samoa",aliases:["🇦🇸","amerika samoa","east samoa","samoa american","samoa united states","territory of american samoa","us samoa"]},{iso3:"ATA",iso2:"AQ",m49:"010",name:"Antarctica",aliases:["🇦🇶","antarctica treaty area"]},{iso3:"ATF",iso2:"TF",m49:"260",name:"French Southern Territories",aliases:["🇹🇫","taaf","terres australes et antarctiques francaises","terres australes francaises","terres australes francaises les","territoire des terres australes et antarctiques francaises"]},{iso3:"ATG",iso2:"AG",m49:"028",name:"Antigua and Barbuda",aliases:["🇦🇬","antigua","antigua barbuda","barbuda"]},{iso3:"AUS",iso2:"AU",m49:"036",name:"Australia",aliases:["🇦🇺","commonwealth of australia","new holland","new hollandia","nova hollandia"]},{iso3:"AUT",iso2:"AT",m49:"040",name:"Austria",aliases:["🇦🇹","osterreich","republic of austria","republik osterreich","zweite republik"]},{iso3:"AZE",iso2:"AZ",m49:"031",name:"Azerbaijan",aliases:["🇦🇿","azərbaycan","azərbaycan respublikası","republic of azerbaijan"]},{iso3:"BDI",iso2:"BI",m49:"108",name:"Burundi",aliases:["🇧🇮","gouvernement du burundi","la republique du burundi","republic of burundi","republika yu burundi","republika yuburundi","republique du burundi","repuburika yuburundi","uburundi"]},{iso3:"BEL",iso2:"BE",m49:"056",name:"Belgium",aliases:["🇧🇪","belg","belgie","belgien","belgique","kingdom of belgium","konigreich belgien","koninkrijk belgie","royaume de belgique"]},{iso3:"BEN",iso2:"BJ",m49:"204",name:"Benin",aliases:["🇧🇯","dahomey","la republique du benin","republic of benin","republique du benin"]},{iso3:"BES",iso2:"BQ",m49:"535",name:"Bonaire, Sint Eustatius and Saba",aliases:["🇧🇶","bes eilanden","bes islands","bijzondere gemeente","bonaire","bonaire saint eustatius and saba","bonaire sint eustatius en saba","caraibisch nederland","caribbean netherlands","caribisch nederland","hulanda karibense","islanan bes","netherlands antilles","saba","sint eustatius"]},{iso3:"BFA",iso2:"BF",m49:"854",name:"Burkina Faso",aliases:["🇧🇫","republic of burkina faso","republic of upper volta"]},{iso3:"BGD",iso2:"BD",m49:"050",name:"Bangladesh",aliases:["🇧🇩","bangla desh","gonaoprojatontri bangladesh","peoples republic of bangladesh","গণপ্রজাতন্ত্রী বাংলাদেশ","বাংলা দেশ","বাংলাদেশ","বিডি"]},{iso3:"BGR",iso2:"BG",m49:"100",name:"Bulgaria",aliases:["🇧🇬","bulgarian republic","republic of bulgaria","republika bulgaria","republika bulgariya","бг","българия","република българия"]},{iso3:"BHR",iso2:"BH",m49:"048",name:"Bahrain",aliases:["🇧🇭","bahrein islands","kingdom of bahrain","البحرين","دولة البحرين","مملكة البحرين"]},{iso3:"BHS",iso2:"BS",m49:"044",name:"Bahamas",aliases:["🇧🇸","bahama islands","bahamas the","commonwealth of the bahamas"]},{iso3:"BIH",iso2:"BA",m49:"070",name:"Bosnia and Herzegovina",aliases:["🇧🇦","bosna","bosna i hercegovina","bosnia","bosnia and hercegovina","bosnia herzegovina","hercegovina","herzegovina","бих","босна","босна и херцеговина","бх"]},{iso3:"BLM",iso2:"BL",m49:"652",name:"Saint Barthélemy",aliases:["🇧🇱","collectivite doutre mer de saint barthelemy","collectivite territoriale de saint barthelemy","collectivity of saint barthelemy","saint barth","saint barths","saint barts","saint bartz"]},{iso3:"BLR",iso2:"BY",m49:"112",name:"Belarus",aliases:["🇧🇾","republic of belarus","respublika belarus","respublika byelarus","беларуская рэспубліка","беларусь","белая русь","белоруссия","рб","республика беларусь","рэспубліка беларусь"]},{iso3:"BLZ",iso2:"BZ",m49:"084",name:"Belize",aliases:["🇧🇿"]},{iso3:"BMU",iso2:"BM",m49:"060",name:"Bermuda",aliases:["🇧🇲","barmuda","barmuda i","barmuda isl","barmuda islands","barmudas","bermoothes","bermuda islands","bermudas","bermudian islands","colony of bermuda","devils isles","isle of devils","somers islands","somers isles","summers isles","territory of bermuda","virgineola"]},{iso3:"BOL",iso2:"BO",m49:"068",name:"Bolivia (Plurinational State of)",aliases:["🇧🇴","bolivia","bulibiya","estado plurinacional de bolivia","plurinational state of bolivia","puliwya","republic of bolivia","republica de bolivia","volivia","wuliwiya","wuliwya"]},{iso3:"BRA",iso2:"BR",m49:"076",name:"Brazil",aliases:["🇧🇷","brasil","federative republic of brazil","pindorama","republica federativa do brasil"]},{iso3:"BRB",iso2:"BB",m49:"052",name:"Barbados",aliases:["🇧🇧","barbadoes"]},{iso3:"BRN",iso2:"BN",m49:"096",name:"Brunei Darussalam",aliases:["🇧🇳","brunei","nation of brunei the abode of peace","negara brunei darussalam"]},{iso3:"BTN",iso2:"BT",m49:"064",name:"Bhutan",aliases:["🇧🇹","kingdom of bhutan","འབྲུག","འབྲུག་ཡུལ་","འབྲུགཡུལ་་"]},{iso3:"BVT",iso2:"BV",m49:"074",name:"Bouvet Island",aliases:["🇧🇻"]},{iso3:"BWA",iso2:"BW",m49:"072",name:"Botswana",aliases:["🇧🇼","lefatshe la botswana","republic of botswana"]},{iso3:"CAF",iso2:"CF",m49:"140",name:"Central African Republic",aliases:["🇨🇫","centrafricaine republique","centrafrique","central africa","kodorosese ti beafrika","la republique","rep centrafrique","republique centrafricaine"]},{iso3:"CAN",iso2:"CA",m49:"124",name:"Canada",aliases:["🇨🇦","le canada"]},{iso3:"CCK",iso2:"CC",m49:"166",name:"Cocos (Keeling) Islands",aliases:["🇨🇨","cocos islands","keeling islands","territory of the cocos keeling islands"]},{iso3:"CHE",iso2:"CH",m49:"756",name:"Switzerland",aliases:["🇨🇭","confederation helvetique","confederation suisse","confederazione elvetica","confederazione svizzera","confederaziun svizra","confoederatio helvetica","confœderatio helvetica","eidgenossenschaft","elvezia","helvetie","la confederation suisse","schweiz","schweizerische eidgenossenschaft","suisse","svizra","svizzera","swiss","swiss confederation"]},{iso3:"CHL",iso2:"CL",m49:"152",name:"Chile",aliases:["🇨🇱","republic of chile","republica de chile"]},{iso3:"CHN",iso2:"CN",m49:"156",name:"China",aliases:["🇨🇳","china pr","peoples republic of china","pr china","prc","中华人民共和国","中国"]},{iso3:"CIV",iso2:"CI",m49:"384",name:"Côte d'Ivoire",aliases:["🇨🇮","cote ivoire","ivory coast","republic of cote divoire","republic of ivory coast","republic of the ivory coast","republique de cote divoire"]},{iso3:"CMR",iso2:"CM",m49:"120",name:"Cameroon",aliases:["🇨🇲","cameroun","la republique du cameroun","republic of cameroon","republique du cameroun"]},{iso3:"COD",iso2:"CD",m49:"180",name:"Democratic Republic of the Congo",aliases:["🇨🇩","congo belge","congo democratic republic of the","congo kinshasa","dem rep congo","dem republic of congo","dem republic of the congo","democratic republic of congo","dr congo","rd congo","rep demcongo","republic of the congo","republique democratique du congo","republique du zaire","zaire"]},{iso3:"COG",iso2:"CG",m49:"178",name:"Congo",aliases:["🇨🇬","congo brazza","congo brazzaville","congo republic","rep congo","republic of congo","republique du congo"]},{iso3:"COK",iso2:"CK",m49:"184",name:"Cook Islands",aliases:["🇨🇰","cook group","hervey islands"]},{iso3:"COL",iso2:"CO",m49:"170",name:"Colombia",aliases:["🇨🇴","republic of colombia","republica de colombia"]},{iso3:"COM",iso2:"KM",m49:"174",name:"Comoros",aliases:["🇰🇲","comores","comores archipel","etat comorien","lunion des comores","republique des comores","republique federale et islamique des comores","republique federale islamique des comores","territoire des comores","union des comores","union of the comoros","إتحاد القمر","اتحاد جزر القمر","الاتحاد القمري","القمر","جزر القمر","جمهورية القمر المتحدة","جمهورية جزر القمر الاتحادية الإسلامية","جمهورية جزرالقمر المتحدة"]},{iso3:"CPV",iso2:"CV",m49:"132",name:"Cabo Verde",aliases:["🇨🇻","cape verde","cape verde islands","kab verd","kabu verdi","kauberdi","republic of cabo verde","republic of cape verde","republica de cabo verde"]},{iso3:"CRI",iso2:"CR",m49:"188",name:"Costa Rica",aliases:["🇨🇷","republic of costa rica","republica de costa rica"]},{iso3:"CUB",iso2:"CU",m49:"192",name:"Cuba",aliases:["🇨🇺","isla juana","republic of cuba","republica de cuba"]},{iso3:"CUW",iso2:"CW",m49:"531",name:"Curaçao",aliases:["🇨🇼","corsou","corsouw","corsow","country of curacao","curacau","curacoa","curazao","curaςao","curocao","island territory of curacao","korsou","land curacao","pais korsou"]},{iso3:"CXR",iso2:"CX",m49:"162",name:"Christmas Island",aliases:["🇨🇽","christmas island other territories","christmas island other territories australia","territory of christmas island"]},{iso3:"CYM",iso2:"KY",m49:"136",name:"Cayman Islands",aliases:["🇰🇾","caymans"]},{iso3:"CYP",iso2:"CY",m49:"196",name:"Cyprus",aliases:["🇨🇾","greek administration of southern cyprus","greek cypriot state","guney kıbrıs","guney kıbrıs rum cumhuriyeti","guney kıbrıs rum kesimi","guney kıbrıs rum yonetimi","kipriaki dhimokratia","kıbrıs","kıbrıs cumhuriyeti","kıbrıs rum kesimi","kypriaki dimokratia","kypros","republic of cyprus","κυπριακη δημοκρατια","κυπρος"]},{iso3:"CZE",iso2:"CZ",m49:"203",name:"Czechia",aliases:["🇨🇿","ceska republika","ceske kraje","ceske uzemi","ceske zeme","cesko","cr","czech republic"]},{iso3:"DEU",iso2:"DE",m49:"276",name:"Germany",aliases:["🇩🇪","br deutschland","bundesrepublik","bundesrepublik deutschland","deutschland","federal republic of germany"]},{iso3:"DJI",iso2:"DJ",m49:"262",name:"Djibouti",aliases:["🇩🇯","la republique de djibouti","republic of djibouti","republique de djibouti","جمهورية جيبوتي","جيبوتي"]},{iso3:"DMA",iso2:"DM",m49:"212",name:"Dominica",aliases:["🇩🇲","commonwealth of dominica","island of dominica","waitu kubuli"]},{iso3:"DNK",iso2:"DK",m49:"208",name:"Denmark",aliases:["🇩🇰","dania","danmark","denmark proper","kongeriget danmark","metropolitan denmark"]},{iso3:"DOM",iso2:"DO",m49:"214",name:"Dominican Republic",aliases:["🇩🇴","dominicana","domrep","haiti espanol","quisqueya","republica de santo domingo","republica dominicana","santo domingo"]},{iso3:"DZA",iso2:"DZ",m49:"012",name:"Algeria",aliases:["🇩🇿","peoples democratic republic of algeria","الجزائر","الجزاير","الجمهورية الجزائرية الديمقراطية الشعبية","الدزاير","دزاير"]},{iso3:"ECU",iso2:"EC",m49:"218",name:"Ecuador",aliases:["🇪🇨","ecuadorian state","el ecuador","estado ecuatoriano","republic of ecuador","republic of equator","republic of the equator","republica del ecuador"]},{iso3:"EGY",iso2:"EG",m49:"818",name:"Egypt",aliases:["🇪🇬","arab rep egypt","arab republic of egypt","rep egypt","republic of egypt","جمهورية مصر العربية","مصر"]},{iso3:"ERI",iso2:"ER",m49:"232",name:"Eritrea",aliases:["🇪🇷","ertra","hagere ertra","hagere iertra","iertra","iritriya","state of eritrea","إرتريا","إريتريا","ارتريا","ارتيريا","اريتريا","دولة إرتريا","دولة إريتريا","ሃገረ ኤርትራ","ኤርትራ"]},{iso3:"ESH",iso2:"EH",m49:"732",name:"Western Sahara",aliases:["🇪🇭","southern provinces","spanish sahara","west sahara"]},{iso3:"ESP",iso2:"ES",m49:"724",name:"Spain",aliases:["🇪🇸","espana","estado espanol","kingdom of spain","reino de espana"]},{iso3:"EST",iso2:"EE",m49:"233",name:"Estonia",aliases:["🇪🇪","eesti","eesti noukogude sotsialistlik vabariik","eesti vabariik","estland","republic of estonia"]},{iso3:"ETH",iso2:"ET",m49:"231",name:"Ethiopia",aliases:["🇪🇹","federal democratic republic of ethiopia","ityopiya","yeityopiya federalawi demokrasiyawi ripeblik","yeityopiya hizbawi dimokrasiyawi ripublik","ኢትዮጵያ","የኢትዮጵያ ፌዴራላዊ ዴሞክራሲያዊ ሪፐብሊክ"]},{iso3:"FIN",iso2:"FI",m49:"246",name:"Finland",aliases:["🇫🇮","republic of finland","republiken finland","suomen tasavalta","suomi"]},{iso3:"FJI",iso2:"FJ",m49:"242",name:"Fiji",aliases:["🇫🇯","fiji ganarajya","matanitu ko viti","matanitu tugalala o viti","republic of fiji","republic of the fiji islands","viti"]},{iso3:"FLK",iso2:"FK",m49:"238",name:"Falkland Islands (Malvinas)",aliases:["🇫🇰","colony of the falkland islands","falkland islands","falklands","islas malvinas","malvinas","malvinas islands"]},{iso3:"FRA",iso2:"FR",m49:"250",name:"France",aliases:["🇫🇷","fr","french republic","la france","la republique francaise","lhexagone","republique francaise"]},{iso3:"FRO",iso2:"FO",m49:"234",name:"Faroe Islands",aliases:["🇫🇴","faer oer","færø","faeroe is","faeroe islands","faeroe isles","færøerne","faeroes","far oer","faroe island","faroe isles","faroes","faroese islands","føroya","føroyar","føroyum"]},{iso3:"FSM",iso2:"FM",m49:"583",name:"Micronesia (Federated States of)",aliases:["🇫🇲","fed sts micronesia","fed sts of micronesia","federated states of micronesia","federated states of micronesia fsm","micronesia"]},{iso3:"GAB",iso2:"GA",m49:"266",name:"Gabon",aliases:["🇬🇦","gabonese republic","la republique gabonaise","le gabon","republique du gabon","republique gabonaise"]},{iso3:"GBR",iso2:"GB",m49:"826",name:"United Kingdom of Great Britain and Northern Ireland",aliases:["🇬🇧","britain","england","great britain","great britain and northern ireland","northern ireland","scotland","uk","united kingdom","wales"]},{iso3:"GEO",iso2:"GE",m49:"268",name:"Georgia",aliases:["🇬🇪","georgia country","republic of georgia","sakartvelo","қырҭтәыла","საქართველო","საქართველოს რესპუბლიკა"]},{iso3:"GGY",iso2:"GG",m49:"831",name:"Guernsey",aliases:["🇬🇬","bailiwick of guernsey","bailliage de guernesey","bailliage de guernesi","giernesi","great britain guernsey","guernesey","lisia"]},{iso3:"GHA",iso2:"GH",m49:"288",name:"Ghana",aliases:["🇬🇭","republic of ghana"]},{iso3:"GIB",iso2:"GI",m49:"292",name:"Gibraltar",aliases:["🇬🇮","rock of gibraltar"]},{iso3:"GIN",iso2:"GN",m49:"324",name:"Guinea",aliases:["🇬🇳","guinee","guinee conakry","republic of guinea","republique de guinee"]},{iso3:"GLP",iso2:"GP",m49:"312",name:"Guadeloupe",aliases:["🇬🇵"]},{iso3:"GMB",iso2:"GM",m49:"270",name:"Gambia",aliases:["🇬🇲","islamic republic of the gambia","republic of the gambia"]},{iso3:"GNB",iso2:"GW",m49:"624",name:"Guinea-Bissau",aliases:["🇬🇼","guine bissau","republic of guinea bissau","republica da guine bissau"]},{iso3:"GNQ",iso2:"GQ",m49:"226",name:"Equatorial Guinea",aliases:["🇬🇶","guine equatorial","guinea ecuatorial","guinea espanola","guinee equat","guinee equatoriale","la republique de guinee equatoriale","posesiones espanolas del golfo de guinea","provincia de la guinea ecuatorial","republic of equatorial guinea","republica da guine equatorial","republica de guinea ecuatorial","territorios espanoles del golfo de guinea"]},{iso3:"GRC",iso2:"GR",m49:"300",name:"Greece",aliases:["🇬🇷","ellada","ellas","elliniki dhimokratia","elliniki dimokratia","greek republic","hellas","hellas greece","hellenic republic","vasilion tis ellados","δημοκρατια της ελλαδας","δημοκρατια της ελλαδος","ελλαδα","ελλας","ελλας ελλαδα","ελληνικη δημοκρατια"]},{iso3:"GRD",iso2:"GD",m49:"308",name:"Grenada",aliases:["🇬🇩"]},{iso3:"GRL",iso2:"GL",m49:"304",name:"Greenland",aliases:["🇬🇱","kalaallit nunaat"]},{iso3:"GTM",iso2:"GT",m49:"320",name:"Guatemala",aliases:["🇬🇹","republic of guatemala","republica de guatemala"]},{iso3:"GUF",iso2:"GF",m49:"254",name:"French Guiana",aliases:["🇬🇫","fr 973","guiana","guiana france","guyane","guyane francaise","gwiyann","gwiyann franse","lagwiyann"]},{iso3:"GUM",iso2:"GU",m49:"316",name:"Guam",aliases:["🇬🇺","guahan","guam usa","islan guahan","island of guam","territory of guam"]},{iso3:"GUY",iso2:"GY",m49:"328",name:"Guyana",aliases:["🇬🇾","co operative republic of guyana","republic of guyana"]},{iso3:"HKG",iso2:"HK",m49:"344",name:"Hong Kong",aliases:["🇭🇰","hksar","hong kong sar","hong kong special administrative region","hong kong special administrative region of the peoples republic of china","hongkong"]},{iso3:"HMD",iso2:"HM",m49:"334",name:"Heard Island and McDonald Islands",aliases:["🇭🇲","heard","heard & mcdonald islands","heard and macdonald islands","heard island","himi","mcdonald","mcdonald island","territory of heard island and mcdonald islands"]},{iso3:"HND",iso2:"HN",m49:"340",name:"Honduras",aliases:["🇭🇳","guaymuras","higueras","honduran republic","republic of honduras","republica de honduras"]},{iso3:"HRV",iso2:"HR",m49:"191",name:"Croatia",aliases:["🇭🇷","hrvatska","republic of croatia","republika hrvatska"]},{iso3:"HTI",iso2:"HT",m49:"332",name:"Haiti",aliases:["🇭🇹","ayiti","haitian republic","la republique dhaiti","repiblik d ayiti","republic of haiti","republique dhaiti"]},{iso3:"HUN",iso2:"HU",m49:"348",name:"Hungary",aliases:["🇭🇺","a magyar koztarsasag","a magyar nepkoztarsasag","harmadik magyar koztarsasag","magyar koztarsasag","magyar nepkoztarsasag","magyarorszag","mo"]},{iso3:"IDN",iso2:"ID",m49:"360",name:"Indonesia",aliases:["🇮🇩","negara kesatuan republik indonesia","nkri","republic of indonesia","republik indonesia"]},{iso3:"IMN",iso2:"IM",m49:"833",name:"Isle of Man",aliases:["🇮🇲","ellan vannin","i man","i mann","i mannin","isle of mann","mann","mannin","manx"]},{iso3:"IND",iso2:"IN",m49:"356",name:"India",aliases:["🇮🇳","al hind","bharat","bharat ganarajya","bharata","bharatvarsh","hindoostan","hindustan","indostan","republic of india","tenjiku","tianzhu","आर्यवर्त","इंडिया","इण्डिया","भारत","भारत गणराज्य","भारतवर्ष","हिंदुस्तान","हिन्दुस्तान","हिन्दोस्तान"]},{iso3:"IOT",iso2:"IO",m49:"086",name:"British Indian Ocean Territory",aliases:["🇮🇴","biot"]},{iso3:"IRL",iso2:"IE",m49:"372",name:"Ireland",aliases:["🇮🇪","eire","hibernia","irish republic","poblacht na heireann","republic of ireland","southern ireland"]},{iso3:"IRN",iso2:"IR",m49:"364",name:"Iran (Islamic Republic of)",aliases:["🇮🇷","iran","islamic rep iran","islamic republic of iran","persia","ایران","ایرانزمین","پارس","جمهوری اسلامی ايران","جمهوری اسلامی ایران","كشور شاهنشاهی ايران"]},{iso3:"IRQ",iso2:"IQ",m49:"368",name:"Iraq",aliases:["🇮🇶","eraq","iraqe","komar i eraq","republic of iraq","الجمهورية العراقية","العراق","جمهورية العراق","عراق","عێراق"]},{iso3:"ISL",iso2:"IS",m49:"352",name:"Iceland",aliases:["🇮🇸","icelandic republic","island","lyðveldið island","republic of iceland","ysland"]},{iso3:"ISR",iso2:"IL",m49:"376",name:"Israel",aliases:["🇮🇱","erez yisrael","medinat yisrael","state of israel","yisrael","ישראל","מדינת ישראל"]},{iso3:"ITA",iso2:"IT",m49:"380",name:"Italy",aliases:["🇮🇹","il bel paese","italia","italian republic","repubblica italiana","republic of italy"]},{iso3:"JAM",iso2:"JM",m49:"388",name:"Jamaica",aliases:["🇯🇲","commonwealth of jamaica","jamieka","jomieka","jumieka"]},{iso3:"JEY",iso2:"JE",m49:"832",name:"Jersey",aliases:["🇯🇪","bailliage de jerri","bailliage de jersey","balliwick of jersey","i iersey","i jersey","iersey","iersey i","isle of jersey","jerri","jersey i","jersey island"]},{iso3:"JOR",iso2:"JO",m49:"400",name:"Jordan",aliases:["🇯🇴","giordania","hashemite kingdom of jordan","kingdom of jordan","state of jordan","yarden","الأردن","الاردن","المملكة الأردنية الهاشمية","المملكة الاردنية الهاشمية"]},{iso3:"JPN",iso2:"JP",m49:"392",name:"Japan",aliases:["🇯🇵","state of japan","あきつしま","おおやしま","しきしま","ジャパン","しんしゅう","にっぽん","にっぽんこく","にほん","にほんこく","ひいずるくに","ふそう","大八州","扶木之地","扶桑","扶桑国","敷島","日出る国","日本","榑木之地","瑞穂国","神州","秋津島","葦原中国"]},{iso3:"KAZ",iso2:"KZ",m49:"398",name:"Kazakhstan",aliases:["🇰🇿","qazaqstan","qazaqstan respublikasy","republic of kazakhstan","казахстан","қазақстан","қазақстан республикасы","республика казахстан","рк"]},{iso3:"KEN",iso2:"KE",m49:"404",name:"Kenya",aliases:["🇰🇪","jamhuri ya kenya","republic of kenya"]},{iso3:"KGZ",iso2:"KG",m49:"417",name:"Kyrgyzstan",aliases:["🇰🇬","kyrgyz republic","kyrgyz respublikasy","kyrgyzstan respublikasy","кр","кыргыз республикасы","кыргызстан"]},{iso3:"KHM",iso2:"KH",m49:"116",name:"Cambodia",aliases:["🇰🇭","camboya","campuchia","kambodzha","kamboja","kampuchea","kingdom of cambodia","កម្ពុជា","ព្រះរាជាណាចក្រកម្ពុជា"]},{iso3:"KIR",iso2:"KI",m49:"296",name:"Kiribati",aliases:["🇰🇮","republic of kiribati"]},{iso3:"KNA",iso2:"KN",m49:"659",name:"Saint Kitts and Nevis",aliases:["🇰🇳","federation of saint christopher and nevis","federation of saint kitts and nevis","kitts & nevis","nevis","saint christopher","saint christopher and nevis","saint kitts"]},{iso3:"KOR",iso2:"KR",m49:"410",name:"Republic of Korea",aliases:["🇰🇷","korea","korea republic","korea republic of","korea south","rep korea","s korea","south korea","taehan minguk","남조선","남한","대한","대한민국","코리아","한국"]},{iso3:"KWT",iso2:"KW",m49:"414",name:"Kuwait",aliases:["🇰🇼","state of kuwait","الكويت","دولة الكويت"]},{iso3:"LAO",iso2:"LA",m49:"418",name:"Lao People's Democratic Republic",aliases:["🇱🇦","laos","sathalanalat paxathipatai paxaxon lao","ສາທາລະນະລັດ ປະຊາທິປະໄຕ ປະຊາຊົນລາວ","ປະເທດລາວ","ລາວ"]},{iso3:"LBN",iso2:"LB",m49:"422",name:"Lebanon",aliases:["🇱🇧","lebanese republic","republic of lebanon","state of lebanon","الجمهورية اللبنانية","لبنان"]},{iso3:"LBR",iso2:"LR",m49:"430",name:"Liberia",aliases:["🇱🇷","liber","republic of liberia"]},{iso3:"LBY",iso2:"LY",m49:"434",name:"Libya",aliases:["🇱🇾","state of libya","الجماهيرية العربية الليبية الشعبية الإشتراكية","الجمهورية الليبية","الليبي","الليبية","الليبين","دولة ليبيا","ليببيا","ليبي","ليبيا","ليبية"]},{iso3:"LCA",iso2:"LC",m49:"662",name:"Saint Lucia",aliases:["🇱🇨","hewanorra","iyonola"]},{iso3:"LIE",iso2:"LI",m49:"438",name:"Liechtenstein",aliases:["🇱🇮","furstentum lichtenstein","furstentum liechtenstein","principality of liechtenstein"]},{iso3:"LKA",iso2:"LK",m49:"144",name:"Sri Lanka",aliases:["🇱🇰","ceylan","ceylon","democratic socialist republic of sri lanka","ilankaic cananayaka cocalicak kutiyarcu","lankava","prajatantravadi samajavadi janarajaya sri lanka","serendib","srilanka","taprobane","இலங்கை","இலங்கை சனநாயக சோசலிசக் குடியரசு","இலங்கை சனநாயக சோஷலிசக் குடியரசு","ஈழம்","சிலோன்","ලංකාව","ශ්රී ලංකා ප්රජාතන්ත්රවාදී සමාජවාදී ජනරජය","ශ්රී ලංකාව","ශ්‍රී ලංකාව"]},{iso3:"LSO",iso2:"LS",m49:"426",name:"Lesotho",aliases:["🇱🇸","kingdom of lesotho","mmuso wa lesotho","mountain kingdom"]},{iso3:"LTU",iso2:"LT",m49:"440",name:"Lithuania",aliases:["🇱🇹","lietuva","lietuvos respublika","republic of lithuania"]},{iso3:"LUX",iso2:"LU",m49:"442",name:"Luxembourg",aliases:["🇱🇺","grand duche","grand duche de luxembourg","grand duchy of luxembourg","großherzogtum luxemburg","groussherzogtum letzebuerg","le grand duche de luxembourg","letzebuerg","letzebuerger land","lux","luxemburg"]},{iso3:"LVA",iso2:"LV",m49:"428",name:"Latvia",aliases:["🇱🇻","latveja","latvejas republika","latvian republic","latvija","latvijas republika","letmо","letmо vabamо","republic of latvia"]},{iso3:"MAC",iso2:"MO",m49:"446",name:"Macao",aliases:["🇲🇴","aomen","macao sar","macao special administrative region","macao special administrative region of the peoples republic of china","macau","macau rae da china","macau sar","macau special administrative region","macau special administrative region of the peoples republic of china","raem","regiao administrativa especial de macau","regiao administrativa especial de macau da republica popular da china","中國澳門特別行政區","澳門"]},{iso3:"MAF",iso2:"MF",m49:"663",name:"Saint Martin (French Part)",aliases:["🇲🇫","collectivite de saint martin","collectivity of saint martin","saint martin","saint martin antilles francaises","saint martin france"]},{iso3:"MAR",iso2:"MA",m49:"504",name:"Morocco",aliases:["🇲🇦","kingdom of morocco","المغرب","المملكة المغربية","ⴰⵎⵓⵔ ⵏ ⵡⴰⴽⵓⵛ","ⴰⵎⵕⵕⵓⴽ","ⵍⵎⵕⵕⵓⴽ","ⵍⵎⵖⵔⵉⴱ","ⵜⴰⴳⵍⴷⵉⵜ ⵏ ⵍⵎⵖⵔⵉⴱ"]},{iso3:"MCO",iso2:"MC",m49:"492",name:"Monaco",aliases:["🇲🇨","fort hercule","la principaute de monaco","monaco rattachee au district de menton en 1793","munegu","principality and diocese of monaco","principality of monaco","principatu de munegu","principaute de monaco"]},{iso3:"MDA",iso2:"MD",m49:"498",name:"Republic of Moldova",aliases:["🇲🇩","moldavia","moldova","moldova republic of","moldova republica","r moldova","rep moldova","republica moldova","молдова"]},{iso3:"MDG",iso2:"MG",m49:"450",name:"Madagascar",aliases:["🇲🇬","la republique de madagascar","madagasikara","repoblikani madagasikara","republic of madagascar","republique de madagascar"]},{iso3:"MDV",iso2:"MV",m49:"462",name:"Maldives",aliases:["🇲🇻","dhivehi raajjeyge jumhooriyyaa","republic of maldives","ދިވެހި ރާއްޖެ","ދިވެހިރާއްޖެ","ދިވެހިރާއްޖޭގެ ޖުމުހޫރިއްޔާ","ދިވެހިރާއްޖޭގެ ޖުމްހޫރިއްޔާ"]},{iso3:"MEX",iso2:"MX",m49:"484",name:"Mexico",aliases:["🇲🇽","estados unidos mejicanos","estados unidos mexicanos","mejico","mexican republic","mexican united states","mexihco","mexihko","mexika sentik wexteyowalko","mexiko","mexko","mexko axkayotl","mexko tlalli","nueva espana","republica mejicana","republica mexicana","united mexican states","united states of mexico"]},{iso3:"MHL",iso2:"MH",m49:"584",name:"Marshall Islands",aliases:["🇲🇭","aelon kein ad","aolepan aorokin majel","jolet jen anij","majel","majol","republic of the marshall islands"]},{iso3:"MKD",iso2:"MK",m49:"807",name:"North Macedonia",aliases:["🇲🇰","former yugoslav republic of macedonia","fyr macedonia","fyrom","irjm","ish republika jugosllave e maqedonise","macedonia","maqedoni","maqedonia","maqedonia e veriut","republic of macedonia","republic of north macedonia","republika e maqedonise","republika e maqedonise se veriut","македонија","република македонија","република северна македонија","рм","рсм","северна македонија"]},{iso3:"MLI",iso2:"ML",m49:"466",name:"Mali",aliases:["🇲🇱","maali","republic of mali"]},{iso3:"MLT",iso2:"MT",m49:"470",name:"Malta",aliases:["🇲🇹","malta island","repubblika ta malta","republic of malta"]},{iso3:"MMR",iso2:"MM",m49:"104",name:"Myanmar",aliases:["🇲🇲","burma","pyidaungzu myanma naingngandaw","pyidaungzu thammada myanma naingngandaw","republic of the union of myanmar","union of burma","ပြည်ထောင်စု မြန်မာနိုင်ငံ","ပြည်ထောင်စု မြန်မာနိုင်ငံတော်","ပြည်ထောင်စု သမ္မတ မြန်မာနိုင်ငံ","ပြည်ထောင်စု သမ္မတ မြန်မာနိုင်ငံတော်","ပြည်ထောင်စုမြန်မာနိုင်ငံတော်","ပြည်ထောင်စုသမ္မတမြန်မာနိုင်ငံ","ပြ‌ည်ထောင်စုသမ္မတမြန်မာနိုင်ငံ","ပြည်ထောင်စုသမ္မတမြန်မာနိုင်ငံတော်","ဗမာပြည်","မြန်မာ","မြန်မာနိုင်ငံ","မြန်မာနိုင်ငံတော်","မြန်မာပြည်"]},{iso3:"MNE",iso2:"ME",m49:"499",name:"Montenegro",aliases:["🇲🇪","crna cora","црна гора"]},{iso3:"MNG",iso2:"MN",m49:"496",name:"Mongolia",aliases:["🇲🇳","bugd nayramdah mongol ard uls","mongol uls","state of mongolia","монгол","монгол улс","ᠮᠤᠩᠭᠤᠯ ᠤᠯᠤᠰ"]},{iso3:"MNP",iso2:"MP",m49:"580",name:"Northern Mariana Islands",aliases:["🇲🇵","cnmi","commonwealth of the northern maria islands","commonwealth of the northern mariana islands","northern marianas","notte marianas","sankattan siha na islas marianas"]},{iso3:"MOZ",iso2:"MZ",m49:"508",name:"Mozambique",aliases:["🇲🇿","mocambique","republic of mozambique","republica de mocambique"]},{iso3:"MRT",iso2:"MR",m49:"478",name:"Mauritania",aliases:["🇲🇷","islamic republic of mauritania","الجمهورية الإسلامية الموريتانية","موريتانيا"]},{iso3:"MSR",iso2:"MS",m49:"500",name:"Montserrat",aliases:["🇲🇸","island of montserrat"]},{iso3:"MTQ",iso2:"MQ",m49:"474",name:"Martinique",aliases:["🇲🇶","territorial collectivity of martinique"]},{iso3:"MUS",iso2:"MU",m49:"480",name:"Mauritius",aliases:["🇲🇺","ile maurice","la republique de maurice","maurice","moris","republic of mauritius","republique de maurice"]},{iso3:"MWI",iso2:"MW",m49:"454",name:"Malawi",aliases:["🇲🇼","republic of malawi"]},{iso3:"MYS",iso2:"MY",m49:"458",name:"Malaysia",aliases:["🇲🇾","federation of malaysia","malaysia federation","negara seberang tambak","persekutuan malaysia"]},{iso3:"MYT",iso2:"YT",m49:"175",name:"Mayotte",aliases:["🇾🇹","departement de mayotte","departement region de mayotte","department of mayotte"]},{iso3:"NAM",iso2:"NA",m49:"516",name:"Namibia",aliases:["🇳🇦","republic of namibia"]},{iso3:"NCL",iso2:"NC",m49:"540",name:"New Caledonia",aliases:["🇳🇨","caledonie","kanaky","kanaky nouvelle caledonie","nouvelle caledonie","territoire de la nouvelle caledonie et dependances","territoire des nouvelle caledonie et dependances","territory of new caledonia and dependencies"]},{iso3:"NER",iso2:"NE",m49:"562",name:"Niger",aliases:["🇳🇪","jamhuriyar nijar","nijar","republic niger","republic of niger","republic of the niger"]},{iso3:"NFK",iso2:"NF",m49:"574",name:"Norfolk Island",aliases:["🇳🇫","norfolk island australia","norfolk island other territories","norfolk island other territories australia","territory of norfolk island"]},{iso3:"NGA",iso2:"NG",m49:"566",name:"Nigeria",aliases:["🇳🇬","federal republic of nigeria","naija"]},{iso3:"NIC",iso2:"NI",m49:"558",name:"Nicaragua",aliases:["🇳🇮","republic of nicaragua","republica de nicaragua"]},{iso3:"NIU",iso2:"NU",m49:"570",name:"Niue",aliases:["🇳🇺"]},{iso3:"NLD",iso2:"NL",m49:"528",name:"Kingdom of the Netherlands",aliases:["🇳🇱","hollandt","kingdom of netherlands","koninkrijk der nederlanden","nederland","nederlanden","nederlandt","netherlands","netherlands kingdom of the"]},{iso3:"NOR",iso2:"NO",m49:"578",name:"Norway",aliases:["🇳🇴","kingdom of norway","kongeriket noreg","kongeriket norge","noreg","norge"]},{iso3:"NPL",iso2:"NP",m49:"524",name:"Nepal",aliases:["🇳🇵","bal bo","bal poi yul","bal yul","balbo","balpo","balpo yul","nipal","sanghiya loktantrik ganatantra nepal","नेपाल","संघिय लोकतान्त्रिक गणतन्त्र नेपाल","संघिय लोकतान्त्रिक गणतन्त्रात्मक नेपाल","संघीय लोकतान्त्रिक गणतन्त्र नेपाल"]},{iso3:"NRU",iso2:"NR",m49:"520",name:"Nauru",aliases:["🇳🇷","naoero","pleasant island","republic of nauru"]},{iso3:"NZL",iso2:"NZ",m49:"554",name:"New Zealand",aliases:["🇳🇿","aotearoa","aotearoa new zealand","dominion of new zealand"]},{iso3:"OMN",iso2:"OM",m49:"512",name:"Oman",aliases:["🇴🇲","sultanate of oman","uman","سلطنة عمان","عمان"]},{iso3:"PAK",iso2:"PK",m49:"586",name:"Pakistan",aliases:["🇵🇰","hoi quoc","islamic republic of pakistan","republic of pakistan","tay hoi","اسلامی جمہوریہ پاکستان","باکستان","پاکستان"]},{iso3:"PAN",iso2:"PA",m49:"591",name:"Panama",aliases:["🇵🇦","republic of panama","republica de panama"]},{iso3:"PCN",iso2:"PN",m49:"612",name:"Pitcairn",aliases:["🇵🇳","occas island","pisskern aliеn","pitcairn henderson ducie and oeno islands","pitcairn island","pitcairn islands","pitkern ailen"]},{iso3:"PER",iso2:"PE",m49:"604",name:"Peru",aliases:["🇵🇪","piruw","piruw ripuwlika","republic of peru","republica del peru"]},{iso3:"PHL",iso2:"PH",m49:"608",name:"Philippines",aliases:["🇵🇭","philippine islands","republic of the philippines"]},{iso3:"PLW",iso2:"PW",m49:"585",name:"Palau",aliases:["🇵🇼","belau","peeloo","pelew","pelew islands","pellew","republic of belau","republic of palau","パラオ","パラオ共和国"]},{iso3:"PNG",iso2:"PG",m49:"598",name:"Papua New Guinea",aliases:["🇵🇬","independent state of papua new guinea","papua niugini"]},{iso3:"POL",iso2:"PL",m49:"616",name:"Poland",aliases:["🇵🇱","polska","republic of poland","rzeczpospolita polska"]},{iso3:"PRI",iso2:"PR",m49:"630",name:"Puerto Rico",aliases:["🇵🇷","boriken","borinquen","boriquen","commonwealth of puerto rico","estado libre asociado de puerto rico","free associated state of puerto rico","isla del encanto","island of enchantment","isle of enchantment","mancomunidad de puerto rico","porto rico","territorio de puerto rico","territorio estadounidense de puerto rico","territory of porto rico","territory of puerto rico"]},{iso3:"PRK",iso2:"KP",m49:"408",name:"Democratic People's Republic of Korea",aliases:["🇰🇵","choson minjujuui inmin konghwaguk","dpr korea","dprk","korea democratic peoples republic of","n korea","north korea","공화국","북조선","북한","조선","조선민주주의인민공화국"]},{iso3:"PRT",iso2:"PT",m49:"620",name:"Portugal",aliases:["🇵🇹","republica portuguesa"]},{iso3:"PRY",iso2:"PY",m49:"600",name:"Paraguay",aliases:["🇵🇾","paraguai","republic of paraguay","republica del paraguay","teta paraguai"]},{iso3:"PSE",iso2:"PS",m49:"275",name:"State of Palestine",aliases:["🇵🇸","palestine","palestine state of","palestinian authority","palestinian national authority","palestinian territory","west bank and gaza","أراضي فلسطينية","الأراضي الفلسطينية","الدولة الفلسطينية","السلطة الفلسطينية","السلطة الوطنية الفلسطينية","الضفة الغربية وقطاع غزة","دولة فلسطين","فلسطين"]},{iso3:"PYF",iso2:"PF",m49:"258",name:"French Polynesia",aliases:["🇵🇫","f oh","french establishments in oceania","french oceania","french settlements in oceania","polynesie francaise","territoire de la polynesie francaise","territory of french polynesia"]},{iso3:"QAT",iso2:"QA",m49:"634",name:"Qatar",aliases:["🇶🇦","state of qatar","إمارة قطر","دولة قطر","قطر"]},{iso3:"REU",iso2:"RE",m49:"638",name:"Réunion",aliases:["🇷🇪","ile bourbon","ile de la reunion","la reunion","re","region reunion","reunion island"]},{iso3:"ROU",iso2:"RO",m49:"642",name:"Romania",aliases:["🇷🇴"]},{iso3:"RUS",iso2:"RU",m49:"643",name:"Russian Federation",aliases:["🇷🇺","federation of russia","russia","россииская федерация","россия","рф"]},{iso3:"RWA",iso2:"RW",m49:"646",name:"Rwanda",aliases:["🇷🇼","igihugu cyimisozi igihumbi","jamhuri ya rwanda","la republique du rwanda","land of a thousand hills","republic of rwanda","republika yu rwanda","republique du rwanda","republique rwandaise","repubulika yu rwanda","u rwanda"]},{iso3:"SAU",iso2:"SA",m49:"682",name:"Saudi Arabia",aliases:["🇸🇦","kingdom of saudi arabia","الدولة السعودية","الدوله السعوديه","السعودية","السعوديه","العربية السعودية","المملكة","المملكة السعودية","المملكة العربية","المملكة العربية السعودية","المملكه","المملكه العربيه السعوديه","بلاد الحرمين الشريفين","دولة آل سعود","سعودية","سعوديه","منبع الرسالة","مهبط الوحي"]},{iso3:"SDN",iso2:"SD",m49:"729",name:"Sudan",aliases:["🇸🇩","al sudan","as sudan","north sudan","republic of sudan","republic of the sudan","soudan","السودان","جمهورية السودان"]},{iso3:"SEN",iso2:"SN",m49:"686",name:"Senegal",aliases:["🇸🇳","la republique du senegal","republic of senegal","republique du senegal","sen","senegaal"]},{iso3:"SGP",iso2:"SG",m49:"702",name:"Singapore",aliases:["🇸🇬","garden city","lion city","republic of singapore","republik singapura","singapore city","singapura","spore","சிங்கப்பூர்","சிங்கப்பூர் குடியரசு","சிங்கை","ஸிங்கபூர்"]},{iso3:"SGS",iso2:"GS",m49:"239",name:"South Georgia and the South Sandwich Islands",aliases:["🇬🇸","falkland islands dependencies","sgssi","south georgia","south georgia & south sandwich islands","south sandwich islands"]},{iso3:"SHN",iso2:"SH",m49:"654",name:"Saint Helena",aliases:["🇸🇭","ascension","saint helena and dependencies","saint helena ascension and tristan da cunha","tristan da cunha"]},{iso3:"SJM",iso2:"SJ",m49:"744",name:"Svalbard and Jan Mayen Islands",aliases:["🇸🇯","jan mayen","svalbard","svalbard and jan mayen","svalbard og jan mayen"]},{iso3:"SLB",iso2:"SB",m49:"090",name:"Solomon Islands",aliases:["🇸🇧"]},{iso3:"SLE",iso2:"SL",m49:"694",name:"Sierra Leone",aliases:["🇸🇱","republic of sierra leone"]},{iso3:"SLV",iso2:"SV",m49:"222",name:"El Salvador",aliases:["🇸🇻","republic of el salvador","republica de el salvador","salvador"]},{iso3:"SMR",iso2:"SM",m49:"674",name:"San Marino",aliases:["🇸🇲","most serene republic of san marino","repubblica di san marino","serenissima repubblica di san marino"]},{iso3:"SOM",iso2:"SO",m49:"706",name:"Somalia",aliases:["🇸🇴","as sumal","federal republic of somalia","jamhuuriyadda federaalka soomaaliya","jamhuuriyadda soomaaliyeed","soomaaliya","soomaaliyeey toosoo","الصومال","جمهورية الصومال","جمهورية الصومال الديموقراطية","جمهورية الصومال الفيدرالية","صومال"]},{iso3:"SPM",iso2:"PM",m49:"666",name:"Saint Pierre and Miquelon",aliases:["🇵🇲","collectivite territoriale de saint pierre et miquelon","miquelon","saint pierre","saint pierre et miquelon","territorial collectivity of saint pierre and miquelon"]},{iso3:"SRB",iso2:"RS",m49:"688",name:"Serbia",aliases:["🇷🇸","republic of serbia","republika srbija","република србија","србија"]},{iso3:"SSD",iso2:"SS",m49:"728",name:"South Sudan",aliases:["🇸🇸","republic of south sudan","southern sudan"]},{iso3:"STP",iso2:"ST",m49:"678",name:"Sao Tome and Principe",aliases:["🇸🇹","democratic republic of sao tome and principe","principe","republica democratica de sao tome e principe","sao tome","sao tome e principe","sao tome og principe"]},{iso3:"SUR",iso2:"SR",m49:"740",name:"Suriname",aliases:["🇸🇷","dutch guiana","republic of surinam","republic of suriname","republiek suriname","surinam","surrinam"]},{iso3:"SVK",iso2:"SK",m49:"703",name:"Slovakia",aliases:["🇸🇰","slovak republic","slovenska republika","slovensko"]},{iso3:"SVN",iso2:"SI",m49:"705",name:"Slovenia",aliases:["🇸🇮","republic of slovenia","republika slovenija","slovenija"]},{iso3:"SWE",iso2:"SE",m49:"752",name:"Sweden",aliases:["🇸🇪","kingdom of sweden","konungadomet sverige","konungariket sverige","kungadomet sverige","kungariket sverige","sverige","swedish kingdom"]},{iso3:"SWZ",iso2:"SZ",m49:"748",name:"Eswatini",aliases:["🇸🇿","kingdom of eswatini","kingdom of swaziland","swaziland","umbuso weswatini"]},{iso3:"SXM",iso2:"SX",m49:"534",name:"Sint Maarten (Dutch part)",aliases:["🇸🇽","country of sint maarten","eilandgebied sint maarten","land sint maarten","saint maarten","saint martin dutch part","sint maarten","sint martin"]},{iso3:"SYC",iso2:"SC",m49:"690",name:"Seychelles",aliases:["🇸🇨","la republique des seychelles","repiblik sesel","republic of seychelles","republique des seychelles"]},{iso3:"SYR",iso2:"SY",m49:"760",name:"Syrian Arab Republic",aliases:["🇸🇾","surya","syria","الجمهورية العربية السورية","الشام","سوريا","سورية"]},{iso3:"TCA",iso2:"TC",m49:"796",name:"Turks and Caicos Islands",aliases:["🇹🇨","caicos","caicos islands","turks","turks & caicos","turks islands"]},{iso3:"TCD",iso2:"TD",m49:"148",name:"Chad",aliases:["🇹🇩","la republique du tchad","republic of chad","republique du tchad","tchad","تشاد","جمهورية تشاد"]},{iso3:"TGO",iso2:"TG",m49:"768",name:"Togo",aliases:["🇹🇬","la republique togolaise","republique togolaise","togolese republic"]},{iso3:"THA",iso2:"TH",m49:"764",name:"Thailand",aliases:["🇹🇭","kingdom of siam","kingdom of thailand","siam","thai","ไทย","ประเทศไทย","ประเทศสยาม","เมืองไทย","ราชอาณาจักรไทย","ราชอาณาจักรสยาม","สยาม"]},{iso3:"TJK",iso2:"TJ",m49:"762",name:"Tajikistan",aliases:["🇹🇯","jumhurii tojikiston","republic of tajikistan","тоҷикистон","тҷ","тҷк","ҷт","ҷумҳурии тоҷикистон"]},{iso3:"TKL",iso2:"TK",m49:"772",name:"Tokelau",aliases:["🇹🇰","tokelau islands","union islands"]},{iso3:"TKM",iso2:"TM",m49:"795",name:"Turkmenistan",aliases:["🇹🇲"]},{iso3:"TLS",iso2:"TL",m49:"626",name:"Timor-Leste",aliases:["🇹🇱","democratic republic of timor leste","east timor","republica democratica de timor leste","republika demokratika timor lorosae","timor loro sae","timor lorosae"]},{iso3:"TON",iso2:"TO",m49:"776",name:"Tonga",aliases:["🇹🇴","friendly islands","kingdom of tonga","puleanga fakatui o tonga","tonga islands"]},{iso3:"TTO",iso2:"TT",m49:"780",name:"Trinidad and Tobago",aliases:["🇹🇹","republic of trinidad and tobago","tobago","trinidad"]},{iso3:"TUN",iso2:"TN",m49:"788",name:"Tunisia",aliases:["🇹🇳","republic of tunisia","tunisian republic","الجمهورية التونسية","تونس","تونس الخضراء"]},{iso3:"TUR",iso2:"TR",m49:"792",name:"Türkiye",aliases:["🇹🇷","republic of turkey","republic of turkiye","turkey","turkiye cumhuriyeti"]},{iso3:"TUV",iso2:"TV",m49:"798",name:"Tuvalu",aliases:["🇹🇻","ellice islands"]},{iso3:"TWN",iso2:"TW",m49:"158",name:"Taiwan",aliases:["🇹🇼","chinese republic","chinese taipei","chunghwa minkuo","chunghwa minkwo","conghwaminku","cunghwa minkwo","cyukamingkok","formosa","nanasian","nationalist china","republic of china","republic of china taiwan","roc","taivang","taiwan province of china","taiwan roc","taywan","taywang","teywan","中華民國","中華民國(臺灣)","中華臺北","台灣","臺澎金馬","臺灣"]},{iso3:"TZA",iso2:"TZ",m49:"834",name:"United Republic of Tanzania",aliases:["🇹🇿","jamhuri ya muungano wa tanganyika na zanzibar","jamhuri ya muungano wa tanzania","tanzania","tanzania jamhuri ya muungano wa","tanzania united republic of","united republic of tanganyika and zanzibar"]},{iso3:"UGA",iso2:"UG",m49:"800",name:"Uganda",aliases:["🇺🇬","jamhuri ya uganda","lulu ya afrika","ouganda","pearl of africa","republic of uganda","ugandah"]},{iso3:"UKR",iso2:"UA",m49:"804",name:"Ukraine",aliases:["🇺🇦","ukr","ukraina","ukrainia","ukrayina","вкраіна","украіна"]},{iso3:"UMI",iso2:"UM",m49:"581",name:"United States Minor Outlying Islands",aliases:["🇺🇲","us minor outlying islands","us outlying islands","usmoi"]},{iso3:"URY",iso2:"UY",m49:"858",name:"Uruguay",aliases:["🇺🇾","eastern republic of uruguay","oriental republic of uruguay"]},{iso3:"USA",iso2:"US",m49:"840",name:"United States of America",aliases:["🇺🇸","amelika","amelika hui pu ia","amelika huipuia","amelika mokuaina hui pu ia","america","eeuu","eeuu de america","estados unidos","estados unidos de america","los estados","los estados unidos","los estados unidos de america","mokuaina hui pu ia","union americana","united states","us","us of a","us of america","usa"]},{iso3:"UZB",iso2:"UZ",m49:"860",name:"Uzbekistan",aliases:["🇺🇿","ozbek","ozbekiston","ozbekiston respublikasi","republic of uzbekistan","uzbekiston respublikasi"]},{iso3:"VAT",iso2:"VA",m49:"336",name:"Holy See",aliases:["🇻🇦","citta del vaticano","civitas vaticana","colle vaticano","papal state","santa sede citta del vaticano","state of vatican city","stato della citta del vaticano","status civitatis vaticanae","status civitatis vaticanæ","vatican","vatican city","vatican city state","vaticano"]},{iso3:"VCT",iso2:"VC",m49:"670",name:"Saint Vincent and the Grenadines",aliases:["🇻🇨","grenadines","saint vincent","saint vincent and grenadines"]},{iso3:"VEN",iso2:"VE",m49:"862",name:"Venezuela (Bolivarian Republic of)",aliases:["🇻🇪","bolivarian republic of venezuela","br venezuela","estados unidos de venezuela","rb venezuela","republic of venezuela","republica bolivariana de venezuela","republica de venezuela","venezuela"]},{iso3:"VGB",iso2:"VG",m49:"092",name:"British Virgin Islands",aliases:["🇻🇬","bvi","virgin islands british","virgin islands of the united kingdom","virgin islands united kingdom"]},{iso3:"VIR",iso2:"VI",m49:"850",name:"United States Virgin Islands",aliases:["🇻🇮","american virgin islands","us virgin islands","virgin islands of the united states","virgin islands us"]},{iso3:"VNM",iso2:"VN",m49:"704",name:"Viet Nam",aliases:["🇻🇳","chxhcn viet nam","chxhcnvn","cong hoa xa hoi chu nghia viet nam","socialist republic of viet nam","socialist republic of vietnam","vietnam"]},{iso3:"VUT",iso2:"VU",m49:"548",name:"Vanuatu",aliases:["🇻🇺","la republique du vanuatu","republic of vanuatu","republique de vanuatu","ripablik blong vanuatu"]},{iso3:"WLF",iso2:"WF",m49:"876",name:"Wallis and Futuna Islands",aliases:["🇼🇫","collectivite des iles wallis et futuna","emeni simete","futuna","iles wallis et futuna","makape papilio","territoire de wallis et futuna","territoire des iles wallis et futuna","wallis","wallis & futuna","wallis et futuna"]},{iso3:"WSM",iso2:"WS",m49:"882",name:"Samoa",aliases:["🇼🇸","independent state of samoa","malo saoloto tutoatasi o samoa","samoa i sisifo","western samoa"]},{iso3:"YEM",iso2:"YE",m49:"887",name:"Yemen",aliases:["🇾🇪","rep yemen","republic of yemen","الجمهورية اليمنية","اليمن","دولة اليمن"]},{iso3:"ZAF",iso2:"ZA",m49:"710",name:"South Africa",aliases:["🇿🇦","aferika borwa","aforika borwa","afrika boroa","afrika borwa","afrika dzonga","afurika tshipembe","emzantsi afrika","iningizimu afrika","iriphabhulikhi ye ningizimu afrika","iriphabhulikhi yeningizimu afrika","iriphabhuliki yase ningizimu afrika","iriphabliki yasemzantsi afrika","iriphabliki yaseningizimu afrika","iriphabliki yom zantsi afrika","isewula afrika","repabliki ya afrika borwa","rephaboliki ya aforika borwa","rephaboliki ya afrika borwa","republic of south africa","republiek van suid afrika","riphabliki ra afrika dzonga","rsa","suid afrika","umzansi","umzantsi afrika","unie van suid afrika","union of south africa"]},{iso3:"ZMB",iso2:"ZM",m49:"894",name:"Zambia",aliases:["🇿🇲","northern rhodesia","republic of zambia"]},{iso3:"ZWE",iso2:"ZW",m49:"716",name:"Zimbabwe",aliases:["🇿🇼","ezimbabwe","izimbabwe","republic of zimbabwe","rhodesia","southern rhodesia","zimbabwe rhodesia","zimbagwe"]}];function c(e){return e.normalize("NFD").replace(/[̀-ͯ]/g,"").normalize("NFC").toLowerCase().replace(/[ً-ٟ]/g,"").replace(/['‘’ʻʼʽˈ′`]/g,"").replace(/&/g," and ").replace(/([,(])\s*the\b/g,"$1").replace(/[.(),[\]]/g,"").replace(/[-–—]/g," ").replace(/\bst\b/g,"saint").trim().replace(/\s+/g," ").replace(/^the\s+/,"")}function u(e){let t=new Map,r=new Map,n=new Map;for(let i of e)t.set(i.iso3,i),i.iso2&&r.set(i.iso2,i),i.m49&&n.set(i.m49,i);let i=new Map;for(let t of e)for(let e of[t.name,...t.aliases]){let r=c(e),n=i.get(r);if(void 0!==n&&n!==t.iso3)throw new Error(`Duplicate name/alias "${r}": ${n} vs ${t.iso3}`);i.set(r,t.iso3)}function a(e){if(null==e)return;let a=String(e).trim();if(!a)return;if(/^\d+$/.test(a)){let e=n.get(String(parseInt(a,10)).padStart(3,"0"));if(e)return e}if(/^[A-Za-z]{2}$/.test(a)){let e=r.get(a.toUpperCase());if(e)return e}if(/^[A-Za-z]{3}$/.test(a)){let e=t.get(a.toUpperCase());if(e)return e}let o=i.get(c(a));return void 0===o?void 0:t.get(o)}return{lookup:a,lookupAlpha3:function(e){var t;return null==(t=a(e))?void 0:t.iso3},byAlpha3:t,byAlpha2:r,byM49:n}}var h=u(l),d=h.lookup,f=h.lookupAlpha3,p=h.byAlpha3,m=h.byAlpha2,g=h.byM49}}),Dy=m({"node_modules/@turf/helpers/dist/cjs/index.cjs"(e){Object.defineProperty(e,"__esModule",{value:!0});var t=6371008.8,r={centimeters:100*t,centimetres:100*t,degrees:360/(2*Math.PI),feet:3.28084*t,inches:39.37*t,kilometers:t/1e3,kilometres:t/1e3,meters:t,metres:t,miles:t/1609.344,millimeters:1e3*t,millimetres:1e3*t,nauticalmiles:t/1852,radians:1,yards:1.0936*t},n={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,nauticalmiles:2.9155334959812285e-7,millimeters:1e6,millimetres:1e6,yards:1.195990046};function i(e,t,r={}){let n={type:"Feature"};return(0===r.id||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=t||{},n.geometry=e,n}function a(e,t,r={}){if(!e)throw new Error("coordinates is required");if(!Array.isArray(e))throw new Error("coordinates must be an Array");if(e.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!m(e[0])||!m(e[1]))throw new Error("coordinates must contain numbers");return i({type:"Point",coordinates:e},t,r)}function o(e,t,r={}){for(let t of e){if(t.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");if(t[t.length-1].length!==t[0].length)throw new Error("First and last Position are not equivalent.");for(let e=0;e180?e-360:e<-180?e+360:e},e.bearingToAzimuth=function(e){let t=e%360;return t<0&&(t+=360),t},e.convertArea=function(e,t="meters",r="kilometers"){if(!(e>=0))throw new Error("area must be a positive number");let i=n[t];if(!i)throw new Error("invalid original units");let a=n[r];if(!a)throw new Error("invalid final units");return e/i*a},e.convertLength=function(e,t="kilometers",r="kilometers"){if(!(e>=0))throw new Error("length must be a positive number");return d(f(e,t),r)},e.degreesToRadians=function(e){return e%360*Math.PI/180},e.earthRadius=t,e.factors=r,e.feature=i,e.featureCollection=l,e.geometry=function(e,t,r={}){switch(e){case"Point":return a(t).geometry;case"LineString":return s(t).geometry;case"Polygon":return o(t).geometry;case"MultiPoint":return u(t).geometry;case"MultiLineString":return c(t).geometry;case"MultiPolygon":return h(t).geometry;default:throw new Error(e+" is invalid")}},e.geometryCollection=function(e,t,r={}){return i({type:"GeometryCollection",geometries:e},t,r)},e.isNumber=m,e.isObject=function(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)},e.lengthToDegrees=function(e,t){return p(f(e,t))},e.lengthToRadians=f,e.lineString=s,e.lineStrings=function(e,t,r={}){return l(e.map((e=>s(e,t))),r)},e.multiLineString=c,e.multiPoint=u,e.multiPolygon=h,e.point=a,e.points=function(e,t,r={}){return l(e.map((e=>a(e,t))),r)},e.polygon=o,e.polygons=function(e,t,r={}){return l(e.map((e=>o(e,t))),r)},e.radiansToDegrees=p,e.radiansToLength=d,e.round=function(e,t=0){if(t&&!(t>=0))throw new Error("precision must be a positive number");let r=Math.pow(10,t||0);return Math.round(e*r)/r},e.validateBBox=function(e){if(!e)throw new Error("bbox is required");if(!Array.isArray(e))throw new Error("bbox must be an Array");if(4!==e.length&&6!==e.length)throw new Error("bbox must be an Array of 4 or 6 numbers");e.forEach((e=>{if(!m(e))throw new Error("bbox must only contain numbers")}))},e.validateId=function(e){if(!e)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof e))throw new Error("id must be a number or a string")}}}),Ry=m({"node_modules/@turf/meta/dist/cjs/index.cjs"(e){Object.defineProperty(e,"__esModule",{value:!0});var t=Dy();function r(e,t,n){if(null!==e)for(var i,a,o,s,l,c,u,h,d=0,f=0,p=e.type,m="FeatureCollection"===p,g="Feature"===p,y=m?e.features.length:1,v=0;vc||f>u||p>h)return l=r,c=i,u=f,h=p,void(o=0);var m=t.lineString.call(void 0,[l,r],e.properties);if(!1===n(m,i,a,p,o))return!1;o++,l=r})))return!1}}}))}function l(e,r){if(!e)throw new Error("geojson is required");o(e,(function(e,n,i){if(null!==e.geometry){var a=e.geometry.type,o=e.geometry.coordinates;switch(a){case"LineString":if(!1===r(e,n,i,0,0))return!1;break;case"Polygon":for(var s=0;se+function(e){let t,r=0;switch(e.type){case"Polygon":return i(e.coordinates);case"MultiPolygon":for(t=0;t0){t+=Math.abs(s(e[0]));for(let r=1;r=t?(n+2)%t:n+2],l=i[0]*o,c=a[1]*o;r+=(s[0]*o-l)*Math.sin(c),n++}return r*a}var l=n;e.area=n,e.default=l}}),Fy=m({"node_modules/@turf/centroid/dist/cjs/index.cjs"(e){Object.defineProperty(e,"__esModule",{value:!0});var t=Dy(),r=Ry();function n(e,n={}){let i=0,a=0,o=0;return r.coordEach.call(void 0,e,(function(e){i+=e[0],a+=e[1],o++}),!0),t.point.call(void 0,[i/o,a/o],n.properties)}var i=n;e.centroid=n,e.default=i}}),By=m({"node_modules/d3-array/dist/d3-array.js"(e,t){var r;r=e,function(e){function t(e,t){return et?1:e>=t?0:NaN}function r(e){return 1===e.length&&(e=function(e){return function(r,n){return t(e(r),n)}}(e)),{left:function(t,r,n,i){for(null==n&&(n=0),null==i&&(i=t.length);n>>1;e(t[a],r)<0?n=a+1:i=a}return n},right:function(t,r,n,i){for(null==n&&(n=0),null==i&&(i=t.length);n>>1;e(t[a],r)>0?i=a:n=a+1}return n}}}var n=r(t),i=n.right,a=n.left;function o(e,t){return[e,t]}function s(e){return null===e?NaN:+e}function l(e,t){var r,n,i=e.length,a=0,o=-1,l=0,c=0;if(null==t)for(;++o1)return c/(a-1)}function c(e,t){var r=l(e,t);return r&&Math.sqrt(r)}function u(e,t){var r,n,i,a=e.length,o=-1;if(null==t){for(;++o=r)for(n=i=r;++or&&(n=r),i=r)for(n=i=r;++or&&(n=r),i=0?(a>=y?10:a>=v?5:a>=x?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=y?10:a>=v?5:a>=x?2:1)}function _(e,t,r){var n=Math.abs(t-e)/Math.max(0,r),i=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),a=n/i;return a>=y?i*=10:a>=v?i*=5:a>=x&&(i*=2),t=1)return+r(e[n-1],n-1,e);var n,i=(n-1)*t,a=Math.floor(i),o=+r(e[a],a,e);return o+(+r(e[a+1],a+1,e)-o)*(i-a)}}function T(e,t){var r,n,i=e.length,a=-1;if(null==t){for(;++a=r)for(n=r;++ar&&(n=r)}else for(;++a=r)for(n=r;++ar&&(n=r);return n}function A(e){if(!(i=e.length))return[];for(var t=-1,r=T(e,M),n=new Array(r);++te?1:t>=e?0:NaN},e.deviation=c,e.extent=u,e.histogram=function(){var e=m,t=u,r=w;function n(n){var a,o,s=n.length,l=new Array(s);for(a=0;ah;)d.pop(),--f;var p,m=new Array(f+1);for(a=0;a<=f;++a)(p=m[a]=[]).x0=a>0?d[a-1]:u,p.x1=a=r)for(n=r;++an&&(n=r)}else for(;++a=r)for(n=r;++an&&(n=r);return n},e.mean=function(e,t){var r,n=e.length,i=n,a=-1,o=0;if(null==t)for(;++a=0;)for(t=(n=e[i]).length;--t>=0;)r[--o]=n[t];return r},e.min=T,e.pairs=function(e,t){null==t&&(t=o);for(var r=0,n=e.length-1,i=e[0],a=new Array(n<0?0:n);r0)return[e];if((n=t0)for(e=Math.ceil(e/o),t=Math.floor(t/o),a=new Array(i=Math.ceil(t-e+1));++s0?1:e<0?-1:0},T=Math.sqrt,A=Math.tan;function M(e){return e>1?0:e<-1?l:Math.acos(e)}function S(e){return e>1?c:e<-1?-c:Math.asin(e)}function E(e){return(e=w(e/2))*e}function C(){}function L(e,t){e&&P.hasOwnProperty(e.type)&&P[e.type](e,t)}var I={Feature:function(e,t){L(e.geometry,t)},FeatureCollection:function(e,t){for(var r=e.features,n=-1,i=r.length;++n=0?1:-1,i=n*r,a=y(t=(t*=f)/2+u),o=w(t),s=N*o,l=B*a+s*y(i),c=s*n*w(i);U.add(g(c,l)),F=e,B=a,N=o}function X(e){return[g(e[1],e[0]),S(e[2])]}function Z(e){var t=e[0],r=e[1],n=y(r);return[n*y(t),n*w(t),w(r)]}function $(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function K(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function J(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function Q(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function ee(e){var t=T(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}var te,re,ne,ie,ae,oe,se,le,ce,ue,he=r(),de={point:fe,lineStart:me,lineEnd:ge,polygonStart:function(){de.point=ye,de.lineStart=ve,de.lineEnd=xe,he.reset(),q.polygonStart()},polygonEnd:function(){q.polygonEnd(),de.point=fe,de.lineStart=me,de.lineEnd=ge,U<0?(te=-(ne=180),re=-(ie=90)):he>o?ie=90:he<-o&&(re=-90),ue[0]=te,ue[1]=ne},sphere:function(){te=-(ne=180),re=-(ie=90)}};function fe(e,t){ce.push(ue=[te=e,ne=e]),tie&&(ie=t)}function pe(e,t){var r=Z([e*f,t*f]);if(le){var n=K(le,r),i=K([n[1],-n[0],0],n);ee(i),i=X(i);var a,o=e-ae,s=o>0?1:-1,l=i[0]*d*s,c=p(o)>180;c^(s*aeie&&(ie=a):c^(s*ae<(l=(l+360)%360-180)&&lie&&(ie=t)),c?ebe(te,ne)&&(ne=e):be(e,ne)>be(te,ne)&&(te=e):ne>=te?(ene&&(ne=e)):e>ae?be(te,e)>be(te,ne)&&(ne=e):be(e,ne)>be(te,ne)&&(te=e)}else ce.push(ue=[te=e,ne=e]);tie&&(ie=t),le=r,ae=e}function me(){de.point=pe}function ge(){ue[0]=te,ue[1]=ne,de.point=fe,le=null}function ye(e,t){if(le){var r=e-ae;he.add(p(r)>180?r+(r>0?360:-360):r)}else oe=e,se=t;q.point(e,t),pe(e,t)}function ve(){q.lineStart()}function xe(){ye(oe,se),q.lineEnd(),p(he)>o&&(te=-(ne=180)),ue[0]=te,ue[1]=ne,le=null}function be(e,t){return(t-=e)<0?t+360:t}function _e(e,t){return e[0]-t[0]}function we(e,t){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:tl?e+Math.round(-e/h)*h:e,t]}function Qe(e,t,r){return(e%=h)?t||r?Ke(tt(e),rt(t,r)):tt(e):t||r?rt(t,r):Je}function et(e){return function(t,r){return[(t+=e)>l?t-h:t<-l?t+h:t,r]}}function tt(e){var t=et(e);return t.invert=et(-e),t}function rt(e,t){var r=y(e),n=w(e),i=y(t),a=w(t);function o(e,t){var o=y(t),s=y(e)*o,l=w(e)*o,c=w(t),u=c*r+s*n;return[g(l*i-u*a,s*r-c*n),S(u*i+l*a)]}return o.invert=function(e,t){var o=y(t),s=y(e)*o,l=w(e)*o,c=w(t),u=c*i-l*a;return[g(l*i+c*a,s*r+u*n),S(u*r-s*n)]},o}function nt(e){function t(t){return(t=e(t[0]*f,t[1]*f))[0]*=d,t[1]*=d,t}return e=Qe(e[0]*f,e[1]*f,e.length>2?e[2]*f:0),t.invert=function(t){return(t=e.invert(t[0]*f,t[1]*f))[0]*=d,t[1]*=d,t},t}function it(e,t,r,n,i,a){if(r){var o=y(t),s=w(t),l=n*r;null==i?(i=t+n*h,a=t-l/2):(i=at(o,i),a=at(o,a),(n>0?ia)&&(i+=n*h));for(var c,u=i;n>0?u>a:u1&&t.push(t.pop().concat(t.shift()))},result:function(){var r=t;return t=[],e=null,r}}}function st(e,t){return p(e[0]-t[0])=0;--a)i.point((h=u[a])[0],h[1]);else n(f.x,f.p.x,-1,i);f=f.p}u=(f=f.o).z,p=!p}while(!f.v);i.lineEnd()}}}function ut(e){if(t=e.length){for(var t,r,n=0,i=e[0];++n=0?1:-1,O=z*P,D=O>l,R=k*L;if(ht.add(g(R*z*w(O),T*I+R*y(O))),s+=D?P+z*h:P,D^b>=r^E>=r){var j=K(Z(x),Z(M));ee(j);var F=K(a,j);ee(F);var B=(D^P>=0?-1:1)*S(F[2]);(n>B||n===B&&(j[0]||j[1]))&&(d+=D^P>=0?1:-1)}}return(s<-o||s0){for(d||(a.polygonStart(),d=!0),a.lineStart(),e=0;e1&&2&i&&c.push(c.pop().concat(c.shift())),s.push(c.filter(mt))}}return f}}function mt(e){return e.length>1}function gt(e,t){return((e=e.x)[0]<0?e[1]-c-o:c-e[1])-((t=t.x)[0]<0?t[1]-c-o:c-t[1])}var yt=pt((function(){return!0}),(function(e){var t,r=NaN,n=NaN,i=NaN;return{lineStart:function(){e.lineStart(),t=1},point:function(a,s){var u=a>0?l:-l,h=p(a-r);p(h-l)0?c:-c),e.point(i,n),e.lineEnd(),e.lineStart(),e.point(u,n),e.point(a,n),t=0):i!==u&&h>=l&&(p(r-i)o?m((w(t)*(a=y(n))*w(r)-w(n)*(i=y(t))*w(e))/(i*a*s)):(t+n)/2}(r,n,a,s),e.point(i,n),e.lineEnd(),e.lineStart(),e.point(u,n),t=0),e.point(r=a,n=s),i=u},lineEnd:function(){e.lineEnd(),r=n=NaN},clean:function(){return 2-t}}}),(function(e,t,r,n){var i;if(null==e)i=r*c,n.point(-l,i),n.point(0,i),n.point(l,i),n.point(l,0),n.point(l,-i),n.point(0,-i),n.point(-l,-i),n.point(-l,0),n.point(-l,i);else if(p(e[0]-t[0])>o){var a=e[0]0,i=p(t)>o;function a(e,r){return y(e)*y(r)>t}function s(e,r,n){var i=[1,0,0],a=K(Z(e),Z(r)),s=$(a,a),c=a[0],u=s-c*c;if(!u)return!n&&e;var h=t*s/u,d=-t*c/u,f=K(i,a),m=Q(i,h);J(m,Q(a,d));var g=f,y=$(m,g),v=$(g,g),x=y*y-v*($(m,m)-1);if(!(x<0)){var b=T(x),_=Q(g,(-y-b)/v);if(J(_,m),_=X(_),!n)return _;var w,k=e[0],A=r[0],M=e[1],S=r[1];A0^_[1]<(p(_[0]-k)l^(k<=_[0]&&_[0]<=A)){var L=Q(g,(-y+b)/v);return J(L,m),[_,X(L)]}}}function c(t,r){var i=n?e:l-e,a=0;return t<-i?a|=1:t>i&&(a|=2),r<-i?a|=4:r>i&&(a|=8),a}return pt(a,(function(e){var t,r,o,u,h;return{lineStart:function(){u=o=!1,h=1},point:function(d,f){var p,m=[d,f],g=a(d,f),y=n?g?0:c(d,f):g?c(d+(d<0?l:-l),f):0;if(!t&&(u=o=g)&&e.lineStart(),g!==o&&(!(p=s(t,m))||st(t,p)||st(m,p))&&(m[2]=1),g!==o)h=0,g?(e.lineStart(),p=s(m,t),e.point(p[0],p[1])):(p=s(t,m),e.point(p[0],p[1],2),e.lineEnd()),t=p;else if(i&&t&&n^g){var v;!(y&r)&&(v=s(m,t,!0))&&(h=0,n?(e.lineStart(),e.point(v[0][0],v[0][1]),e.point(v[1][0],v[1][1]),e.lineEnd()):(e.point(v[1][0],v[1][1]),e.lineEnd(),e.lineStart(),e.point(v[0][0],v[0][1],3)))}g&&(!t||!st(t,m))&&e.point(m[0],m[1]),t=m,o=g,r=y},lineEnd:function(){o&&e.lineEnd(),t=null},clean:function(){return h|(u&&o)<<1}}}),(function(t,n,i,a){it(a,e,r,i,t,n)}),n?[0,-e]:[-l,e-l])}var xt=1e9,bt=-xt;function _t(e,r,n,i){function a(t,a){return e<=t&&t<=n&&r<=a&&a<=i}function s(t,a,o,s){var c=0,h=0;if(null==t||(c=l(t,o))!==(h=l(a,o))||u(t,a)<0^o>0)do{s.point(0===c||3===c?e:n,c>1?i:r)}while((c=(c+o+4)%4)!==h);else s.point(a[0],a[1])}function l(t,i){return p(t[0]-e)0?0:3:p(t[0]-n)0?2:1:p(t[1]-r)0?1:0:i>0?3:2}function c(e,t){return u(e.x,t.x)}function u(e,t){var r=l(e,1),n=l(t,1);return r!==n?r-n:0===r?t[1]-e[1]:1===r?e[0]-t[0]:2===r?e[1]-t[1]:t[0]-e[0]}return function(o){var l,u,h,d,f,p,m,g,y,v,x,b=o,_=ot(),w={point:k,lineStart:function(){w.point=T,u&&u.push(h=[]),v=!0,y=!1,m=g=NaN},lineEnd:function(){l&&(T(d,f),p&&y&&_.rejoin(),l.push(_.result())),w.point=k,y&&b.lineEnd()},polygonStart:function(){b=_,l=[],u=[],x=!0},polygonEnd:function(){var r=function(){for(var t=0,r=0,n=u.length;ri&&(d-a)*(i-o)>(f-o)*(e-a)&&++t:f<=i&&(d-a)*(i-o)<(f-o)*(e-a)&&--t;return t}(),n=x&&r,a=(l=t.merge(l)).length;(n||a)&&(o.polygonStart(),n&&(o.lineStart(),s(null,null,1,o),o.lineEnd()),a&&ct(l,c,r,s,o),o.polygonEnd()),b=o,l=u=h=null}};function k(e,t){a(e,t)&&b.point(e,t)}function T(t,o){var s=a(t,o);if(u&&h.push([t,o]),v)d=t,f=o,p=s,v=!1,s&&(b.lineStart(),b.point(t,o));else if(s&&y)b.point(t,o);else{var l=[m=Math.max(bt,Math.min(xt,m)),g=Math.max(bt,Math.min(xt,g))],c=[t=Math.max(bt,Math.min(xt,t)),o=Math.max(bt,Math.min(xt,o))];!function(e,t,r,n,i,a){var o,s=e[0],l=e[1],c=0,u=1,h=t[0]-s,d=t[1]-l;if(o=r-s,h||!(o>0)){if(o/=h,h<0){if(o0){if(o>u)return;o>c&&(c=o)}if(o=i-s,h||!(o<0)){if(o/=h,h<0){if(o>u)return;o>c&&(c=o)}else if(h>0){if(o0)){if(o/=d,d<0){if(o0){if(o>u)return;o>c&&(c=o)}if(o=a-l,d||!(o<0)){if(o/=d,d<0){if(o>u)return;o>c&&(c=o)}else if(d>0){if(o0&&(e[0]=s+c*h,e[1]=l+c*d),u<1&&(t[0]=s+u*h,t[1]=l+u*d),!0}}}}}(l,c,e,r,n,i)?s&&(b.lineStart(),b.point(t,o),x=!1):(y||(b.lineStart(),b.point(l[0],l[1])),b.point(c[0],c[1]),s||b.lineEnd(),x=!1)}m=t,g=o,y=s}return w}}var wt,kt,Tt,At=r(),Mt={sphere:C,point:C,lineStart:function(){Mt.point=Et,Mt.lineEnd=St},lineEnd:C,polygonStart:C,polygonEnd:C};function St(){Mt.point=Mt.lineEnd=C}function Et(e,t){wt=e*=f,kt=w(t*=f),Tt=y(t),Mt.point=Ct}function Ct(e,t){e*=f;var r=w(t*=f),n=y(t),i=p(e-wt),a=y(i),o=n*w(i),s=Tt*r-kt*n*a,l=kt*r+Tt*n*a;At.add(g(T(o*o+s*s),l)),wt=e,kt=r,Tt=n}function Lt(e){return At.reset(),D(e,Mt),+At}var It=[null,null],Pt={type:"LineString",coordinates:It};function zt(e,t){return It[0]=e,It[1]=t,Lt(Pt)}var Ot={Feature:function(e,t){return Rt(e.geometry,t)},FeatureCollection:function(e,t){for(var r=e.features,n=-1,i=r.length;++n0&&(i=zt(e[a],e[a-1]))>0&&r<=i&&n<=i&&(r+n-i)*(1-Math.pow((r-n)/i,2))o})).map(u)).concat(t.range(v(s/g)*g,a,g).filter((function(e){return p(e%x)>o})).map(h))}return _.lines=function(){return w().map((function(e){return{type:"LineString",coordinates:e}}))},_.outline=function(){return{type:"Polygon",coordinates:[d(i).concat(f(l).slice(1),d(n).reverse().slice(1),f(c).reverse().slice(1))]}},_.extent=function(e){return arguments.length?_.extentMajor(e).extentMinor(e):_.extentMinor()},_.extentMajor=function(e){return arguments.length?(i=+e[0][0],n=+e[1][0],c=+e[0][1],l=+e[1][1],i>n&&(e=i,i=n,n=e),c>l&&(e=c,c=l,l=e),_.precision(b)):[[i,c],[n,l]]},_.extentMinor=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],s=+t[0][1],a=+t[1][1],r>e&&(t=r,r=e,e=t),s>a&&(t=s,s=a,a=t),_.precision(b)):[[r,s],[e,a]]},_.step=function(e){return arguments.length?_.stepMajor(e).stepMinor(e):_.stepMinor()},_.stepMajor=function(e){return arguments.length?(y=+e[0],x=+e[1],_):[y,x]},_.stepMinor=function(e){return arguments.length?(m=+e[0],g=+e[1],_):[m,g]},_.precision=function(t){return arguments.length?(b=+t,u=Vt(s,a,90),h=qt(r,e,b),d=Vt(c,l,90),f=qt(i,n,b),_):b},_.extentMajor([[-180,-90+o],[180,90-o]]).extentMinor([[-180,-80-o],[180,80+o]])}function Gt(e){return e}var Wt,Yt,Xt,Zt,$t=r(),Kt=r(),Jt={point:C,lineStart:C,lineEnd:C,polygonStart:function(){Jt.lineStart=Qt,Jt.lineEnd=rr},polygonEnd:function(){Jt.lineStart=Jt.lineEnd=Jt.point=C,$t.add(p(Kt)),Kt.reset()},result:function(){var e=$t/2;return $t.reset(),e}};function Qt(){Jt.point=er}function er(e,t){Jt.point=tr,Wt=Xt=e,Yt=Zt=t}function tr(e,t){Kt.add(Zt*e-Xt*t),Xt=e,Zt=t}function rr(){tr(Wt,Yt)}var nr,ir,ar,or,sr=1/0,lr=sr,cr=-sr,ur=cr,hr={point:function(e,t){ecr&&(cr=e),tur&&(ur=t)},lineStart:C,lineEnd:C,polygonStart:C,polygonEnd:C,result:function(){var e=[[sr,lr],[cr,ur]];return cr=ur=-(lr=sr=1/0),e}},dr=0,fr=0,pr=0,mr=0,gr=0,yr=0,vr=0,xr=0,br=0,_r={point:wr,lineStart:kr,lineEnd:Mr,polygonStart:function(){_r.lineStart=Sr,_r.lineEnd=Er},polygonEnd:function(){_r.point=wr,_r.lineStart=kr,_r.lineEnd=Mr},result:function(){var e=br?[vr/br,xr/br]:yr?[mr/yr,gr/yr]:pr?[dr/pr,fr/pr]:[NaN,NaN];return dr=fr=pr=mr=gr=yr=vr=xr=br=0,e}};function wr(e,t){dr+=e,fr+=t,++pr}function kr(){_r.point=Tr}function Tr(e,t){_r.point=Ar,wr(ar=e,or=t)}function Ar(e,t){var r=e-ar,n=t-or,i=T(r*r+n*n);mr+=i*(ar+e)/2,gr+=i*(or+t)/2,yr+=i,wr(ar=e,or=t)}function Mr(){_r.point=wr}function Sr(){_r.point=Cr}function Er(){Lr(nr,ir)}function Cr(e,t){_r.point=Lr,wr(nr=ar=e,ir=or=t)}function Lr(e,t){var r=e-ar,n=t-or,i=T(r*r+n*n);mr+=i*(ar+e)/2,gr+=i*(or+t)/2,yr+=i,vr+=(i=or*e-ar*t)*(ar+e),xr+=i*(or+t),br+=3*i,wr(ar=e,or=t)}function Ir(e){this._context=e}Ir.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._context.moveTo(e,t),this._point=1;break;case 1:this._context.lineTo(e,t);break;default:this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,h)}},result:C};var Pr,zr,Or,Dr,Rr,jr=r(),Fr={point:C,lineStart:function(){Fr.point=Br},lineEnd:function(){Pr&&Nr(zr,Or),Fr.point=C},polygonStart:function(){Pr=!0},polygonEnd:function(){Pr=null},result:function(){var e=+jr;return jr.reset(),e}};function Br(e,t){Fr.point=Nr,zr=Dr=e,Or=Rr=t}function Nr(e,t){Dr-=e,Rr-=t,jr.add(T(Dr*Dr+Rr*Rr)),Dr=e,Rr=t}function Ur(){this._string=[]}function Vr(e){return"m0,"+e+"a"+e+","+e+" 0 1,1 0,"+-2*e+"a"+e+","+e+" 0 1,1 0,"+2*e+"z"}function qr(e){return function(t){var r=new Hr;for(var n in e)r[n]=e[n];return r.stream=t,r}}function Hr(){}function Gr(e,t,r){var n=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),null!=n&&e.clipExtent(null),D(r,e.stream(hr)),t(hr.result()),null!=n&&e.clipExtent(n),e}function Wr(e,t,r){return Gr(e,(function(r){var n=t[1][0]-t[0][0],i=t[1][1]-t[0][1],a=Math.min(n/(r[1][0]-r[0][0]),i/(r[1][1]-r[0][1])),o=+t[0][0]+(n-a*(r[1][0]+r[0][0]))/2,s=+t[0][1]+(i-a*(r[1][1]+r[0][1]))/2;e.scale(150*a).translate([o,s])}),r)}function Yr(e,t,r){return Wr(e,[[0,0],t],r)}function Xr(e,t,r){return Gr(e,(function(r){var n=+t,i=n/(r[1][0]-r[0][0]),a=(n-i*(r[1][0]+r[0][0]))/2,o=-i*r[0][1];e.scale(150*i).translate([a,o])}),r)}function Zr(e,t,r){return Gr(e,(function(r){var n=+t,i=n/(r[1][1]-r[0][1]),a=-i*r[0][0],o=(n-i*(r[1][1]+r[0][1]))/2;e.scale(150*i).translate([a,o])}),r)}Ur.prototype={_radius:4.5,_circle:Vr(4.5),pointRadius:function(e){return(e=+e)!==this._radius&&(this._radius=e,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._string.push("M",e,",",t),this._point=1;break;case 1:this._string.push("L",e,",",t);break;default:null==this._circle&&(this._circle=Vr(this._radius)),this._string.push("M",e,",",t,this._circle)}},result:function(){if(this._string.length){var e=this._string.join("");return this._string=[],e}return null}},Hr.prototype={constructor:Hr,point:function(e,t){this.stream.point(e,t)},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()}};var $r=y(30*f);function Kr(e,t){return+t?function(e,t){function r(n,i,a,s,l,c,u,h,d,f,m,y,v,x){var b=u-n,_=h-i,w=b*b+_*_;if(w>4*t&&v--){var k=s+f,A=l+m,M=c+y,E=T(k*k+A*A+M*M),C=S(M/=E),L=p(p(M)-1)t||p((b*O+_*D)/w-.5)>.3||s*f+l*m+c*y<$r)&&(r(n,i,a,s,l,c,P,z,L,k/=E,A/=E,M,v,x),x.point(P,z),r(P,z,L,k,A,M,u,h,d,f,m,y,v,x))}}return function(t){var n,i,a,o,s,l,c,u,h,d,f,p,m={point:g,lineStart:y,lineEnd:x,polygonStart:function(){t.polygonStart(),m.lineStart=b},polygonEnd:function(){t.polygonEnd(),m.lineStart=y}};function g(r,n){r=e(r,n),t.point(r[0],r[1])}function y(){u=NaN,m.point=v,t.lineStart()}function v(n,i){var a=Z([n,i]),o=e(n,i);r(u,h,c,d,f,p,u=o[0],h=o[1],c=n,d=a[0],f=a[1],p=a[2],16,t),t.point(u,h)}function x(){m.point=g,t.lineEnd()}function b(){y(),m.point=_,m.lineEnd=w}function _(e,t){v(n=e,t),i=u,a=h,o=d,s=f,l=p,m.point=v}function w(){r(u,h,c,d,f,p,i,a,n,o,s,l,16,t),m.lineEnd=x,x()}return m}}(e,t):function(e){return qr({point:function(t,r){t=e(t,r),this.stream.point(t[0],t[1])}})}(e)}var Jr=qr({point:function(e,t){this.stream.point(e*f,t*f)}});function Qr(e,t,r,n,i){function a(a,o){return[t+e*(a*=n),r-e*(o*=i)]}return a.invert=function(a,o){return[(a-t)/e*n,(r-o)/e*i]},a}function en(e,t,r,n,i,a){var o=y(a),s=w(a),l=o*e,c=s*e,u=o/e,h=s/e,d=(s*r-o*t)/e,f=(s*t+o*r)/e;function p(e,a){return[l*(e*=n)-c*(a*=i)+t,r-c*e-l*a]}return p.invert=function(e,t){return[n*(u*e-h*t+d),i*(f-h*e-u*t)]},p}function tn(e){return rn((function(){return e}))()}function rn(e){var t,r,n,i,a,o,s,l,c,u,h=150,p=480,m=250,g=0,y=0,v=0,x=0,b=0,_=0,w=1,k=1,A=null,M=yt,S=null,E=Gt,C=.5;function L(e){return l(e[0]*f,e[1]*f)}function I(e){return(e=l.invert(e[0],e[1]))&&[e[0]*d,e[1]*d]}function P(){var e=en(h,0,0,w,k,_).apply(null,t(g,y)),n=(_?en:Qr)(h,p-e[0],m-e[1],w,k,_);return r=Qe(v,x,b),s=Ke(t,n),l=Ke(r,s),o=Kr(s,C),z()}function z(){return c=u=null,L}return L.stream=function(e){return c&&u===e?c:c=Jr(function(e){return qr({point:function(t,r){var n=e(t,r);return this.stream.point(n[0],n[1])}})}(r)(M(o(E(u=e)))))},L.preclip=function(e){return arguments.length?(M=e,A=void 0,z()):M},L.postclip=function(e){return arguments.length?(E=e,S=n=i=a=null,z()):E},L.clipAngle=function(e){return arguments.length?(M=+e?vt(A=e*f):(A=null,yt),z()):A*d},L.clipExtent=function(e){return arguments.length?(E=null==e?(S=n=i=a=null,Gt):_t(S=+e[0][0],n=+e[0][1],i=+e[1][0],a=+e[1][1]),z()):null==S?null:[[S,n],[i,a]]},L.scale=function(e){return arguments.length?(h=+e,P()):h},L.translate=function(e){return arguments.length?(p=+e[0],m=+e[1],P()):[p,m]},L.center=function(e){return arguments.length?(g=e[0]%360*f,y=e[1]%360*f,P()):[g*d,y*d]},L.rotate=function(e){return arguments.length?(v=e[0]%360*f,x=e[1]%360*f,b=e.length>2?e[2]%360*f:0,P()):[v*d,x*d,b*d]},L.angle=function(e){return arguments.length?(_=e%360*f,P()):_*d},L.reflectX=function(e){return arguments.length?(w=e?-1:1,P()):w<0},L.reflectY=function(e){return arguments.length?(k=e?-1:1,P()):k<0},L.precision=function(e){return arguments.length?(o=Kr(s,C=e*e),z()):T(C)},L.fitExtent=function(e,t){return Wr(L,e,t)},L.fitSize=function(e,t){return Yr(L,e,t)},L.fitWidth=function(e,t){return Xr(L,e,t)},L.fitHeight=function(e,t){return Zr(L,e,t)},function(){return t=e.apply(this,arguments),L.invert=t.invert&&I,P()}}function nn(e){var t=0,r=l/3,n=rn(e),i=n(t,r);return i.parallels=function(e){return arguments.length?n(t=e[0]*f,r=e[1]*f):[t*d,r*d]},i}function an(e,t){var r=w(e),n=(r+w(t))/2;if(p(n)0?t<-c+o&&(t=-c+o):t>c-o&&(t=c-o);var r=i/_(pn(t),n);return[r*w(n*e),i-r*y(n*e)]}return a.invert=function(e,t){var r=i-t,a=k(n)*T(e*e+r*r),o=g(e,p(r))*k(r);return r*n<0&&(o-=l*k(e)*k(r)),[o/n,2*m(_(i/a,1/n))-c]},a}function gn(e,t){return[e,t]}function yn(e,t){var r=y(e),n=e===t?w(e):(r-y(t))/(t-e),i=r/n+e;if(p(n)o&&--i>0);return[e/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},Mn.invert=cn(S),Sn.invert=cn((function(e){return 2*m(e)})),En.invert=function(e,t){return[-t,2*m(x(e))-c]},e.geoAlbers=sn,e.geoAlbersUsa=function(){var e,t,r,n,i,a,s=sn(),l=on().rotate([154,0]).center([-2,58.5]).parallels([55,65]),c=on().rotate([157,0]).center([-3,19.9]).parallels([8,18]),u={point:function(e,t){a=[e,t]}};function h(e){var t=e[0],o=e[1];return a=null,r.point(t,o),a||(n.point(t,o),a)||(i.point(t,o),a)}function d(){return e=t=null,h}return h.invert=function(e){var t=s.scale(),r=s.translate(),n=(e[0]-r[0])/t,i=(e[1]-r[1])/t;return(i>=.12&&i<.234&&n>=-.425&&n<-.214?l:i>=.166&&i<.234&&n>=-.214&&n<-.115?c:s).invert(e)},h.stream=function(r){return e&&t===r?e:e=function(e){var t=e.length;return{point:function(r,n){for(var i=-1;++ibe(n[0],n[1])&&(n[1]=i[1]),be(i[0],n[1])>be(n[0],n[1])&&(n[0]=i[0])):a.push(n=i);for(o=-1/0,t=0,n=a[r=a.length-1];t<=r;n=i,++t)i=a[t],(s=be(n[1],i[0]))>o&&(o=s,te=i[0],ne=n[1])}return ce=ue=null,te===1/0||re===1/0?[[NaN,NaN],[NaN,NaN]]:[[te,re],[ne,ie]]},e.geoCentroid=function(e){ke=Te=Ae=Me=Se=Ee=Ce=Le=Ie=Pe=ze=0,D(e,Be);var t=Ie,r=Pe,n=ze,i=t*t+r*r+n*n;return i2?e[2]+90:90]):[(e=r())[0],e[1],e[2]-90]},r([0,0,90]).scale(159.155)},e.geoTransverseMercatorRaw=En,Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof e&&typeof t<"u"?n(e,By()):n((r=r||self).d3=r.d3||{},r.d3)}}),Uy=m({"src/lib/usa_location_names.js"(e,t){var r={alabama:"AL",alaska:"AK",arizona:"AZ",arkansas:"AR",california:"CA",colorado:"CO",connecticut:"CT",delaware:"DE","district of columbia":"DC",florida:"FL",georgia:"GA",hawaii:"HI",idaho:"ID",illinois:"IL",indiana:"IN",iowa:"IA",kansas:"KS",kentucky:"KY",louisiana:"LA",maine:"ME",maryland:"MD",massachusetts:"MA",michigan:"MI",minnesota:"MN",mississippi:"MS",missouri:"MO",montana:"MT",nebraska:"NE",nevada:"NV","new hampshire":"NH","new jersey":"NJ","new mexico":"NM","new york":"NY","north carolina":"NC","north dakota":"ND",ohio:"OH",oklahoma:"OK",oregon:"OR",pennsylvania:"PA","rhode island":"RI","south carolina":"SC","south dakota":"SD",tennessee:"TN",texas:"TX",utah:"UT",vermont:"VT",virginia:"VA",washington:"WA","washington dc":"DC","washington d.c.":"DC","west virginia":"WV",wisconsin:"WI",wyoming:"WY"},n=new Set(Object.values(r));t.exports={usaLocationAbbreviations:n,usaLocationList:r}}}),Vy={};g(Vy,{COUNTRIES_X:()=>qy});var qy,Hy=p({"src/lib/custom_country_codes.ts"(){qy=[{iso3:"XAC",iso2:"",m49:"",name:"Aksai Chin",aliases:[]},{iso3:"XAP",iso2:"",m49:"",name:"Arunachal Pradesh",aliases:[]},{iso3:"XBT",iso2:"",m49:"",name:"Bir Tawil",aliases:[]},{iso3:"XHT",iso2:"",m49:"",name:"Halaib Triangle",aliases:[]},{iso3:"XJK",iso2:"",m49:"",name:"Jammu and Kashmir",aliases:[]}]}}),Gy=m({"src/lib/geo_location_utils.js"(e,t){var r=w(),{COUNTRIES:n,createLookup:i}=Oy(),{area:a}=jy(),{centroid:o}=Fy(),{coordAll:s}=Ry(),{geoBounds:l}=Ny(),c=Bt(),u=Re(),h=L(),d=P(),f=Ti(),{usaLocationAbbreviations:p,usaLocationList:m}=Uy(),{COUNTRIES_X:g}=(Hy(),x(Vy)),{lookupAlpha3:y}=i([...n,...g]),v={"ISO-3":c,"USA-states":function(e){return e=e.trim(),(p.has(e.toUpperCase())?e.toUpperCase():m[e.toLowerCase()])||(u.log("Unrecognized US location: "+e+"."),!1)},"country names":function(e){return y(e)||(u.log("Unrecognized country name: "+e+"."),!1)}},b=360;function _(e){for(let t=0;t0&&e[t+1][0]<0)return t;return null}function k(e){var t=e.geojson,r=window.PlotlyGeoAssets||{},n="string"==typeof t?r[t]:t;return h(n)?n:(u.error("Oops ... something went wrong when fetching "+t),!1)}function T([e,t]){return[e,e>t?t+b:t]}t.exports={locationToFeature:function(e,t,r){var n;if(!t||"string"!=typeof t)return!1;let i=v[e](t);if(i){let t;if("USA-states"===e){t=[];for(let e of r)"USA"===(null==(n=e?.properties)?void 0:n.gu)&&t.push(e)}else t=r;for(let e of t)if(e.id===i)return e;u.log(`Location with id ${i} does not have a matching topojson feature at this resolution.`)}return!1},feature2polygons:function(e){var t,r,n,i,a=e.geometry,o=a.coordinates,s=e.id,l=[];switch(t="RUS"===s||"FJI"===s?function(e){var t;if(null===_(e))t=e;else for(t=new Array(e.length),i=0;it?r[n++]=[e[i][0]+b,e[i][1]]:i===t?(r[n++]=e[i],r[n++]=[e[i][0],-90]):r[n++]=e[i];var a=f.tester(r);a.pts.pop(),l.push(a)}:function(e){l.push(f.tester(e))},a.type){case"MultiPolygon":for(r=0;r0?c.properties.ct=function(e){var t,r=e.geometry;if("MultiPolygon"===r.type)for(var n=r.coordinates,i=0,s=0;si&&(i=c,t=l)}else t=r;return o(t).geometry.coordinates}(c):c.properties.ct=[NaN,NaN],n.fIn=e,n.fOut=c,s.push(c)}else u.log(["Location",n.loc,"does not have a valid GeoJSON geometry.","Traces with locationmode *geojson-id* only support","*Polygon* and *MultiPolygon* geometries."].join(" "))}delete i[r]}switch(r.type){case"FeatureCollection":var h=r.features;for(n=0;n100?(clearInterval(a),n("Unexpected error while fetching from "+e)):void i++}),50)}))}for(var o=0;oe-t));if(t.length<2)return null;let r=t.length,n=t[r-1]-t[0];if(n>=360)return null;let i=-1/0,a=-1;for(let e=0;ei&&(i=r,a=e)}return i<=360-n?null:[t[a+1],t[a]+b]},unwrapLonRange:T,ANTIMERIDIAN_LON_SHIFT:b}}}),Wy=m({"src/traces/scattergeo/style.js"(e,t){var r=w(),n=nn(),i=Fe(),a=Aa(),o=a.stylePoints,s=a.styleText;t.exports=function(e,t){t&&function(e,t){var a=t[0].trace,l=t[0].node3;l.style("opacity",t[0].trace.opacity),o(l,a,e),s(l,a,e),l.selectAll("path.js-line").style("fill","none").each((function(e){var t=r.select(this),a=e.trace,o=a.line||{};t.call(i.stroke,o.color).call(n.dashLine,o.dash||"",o.width||0),"none"!==a.fill&&t.call(i.fill,a.fillcolor)}))}(e,t)}}}),Yy=m({"src/traces/scattergeo/plot.js"(e,t){var r=w(),n=dr(),i=Py().getTopojsonFeatures,a=zy(),o=Gy(),s=ln().findExtremes,l=E().BADNUM,c=ma().calcMarkerSize,u=Jr(),h=Wy();t.exports={calcGeoJSON:function(e,t){var r,a,u=e[0].trace,h=t[u.geo],d=h._subplot,f=u._length;if(n.isArrayOrTypedArray(u.locations)){var p=u.locationmode,m="geojson-id"===p?o.extractTraceFeature(e):i(u,d.topojson);for(r=0;r")}function f(e){return e+"°"}}(c,m,e,l[0].t.labels),e.hovertemplate=c.hovertemplate,[e]}}}}),Zy=m({"src/traces/scattergeo/event_data.js"(e,t){t.exports=function(e,t,r,n,i){e.lon=t.lon,e.lat=t.lat,e.location=t.loc?t.loc:null;var a=n[i];return a.fIn&&a.fIn.properties&&(e.properties=a.fIn.properties),e}}}),$y=m({"src/traces/scattergeo/select.js"(e,t){var r=Jr(),n=E().BADNUM;t.exports=function(e,t){var i,a,o,s,l,c=e.cd,u=e.xaxis,h=e.yaxis,d=[],f=c[0].trace;if(!r.hasMarkers(f)&&!r.hasText(f))return[];if(!1===t)for(l=0;l0?1:e<0?-1:0},m=Math.sin,g=Math.tan,y=1e-6,v=1e-12,x=Math.PI,b=x/2,_=x/4,w=Math.SQRT1_2,k=L(2),T=L(x),A=2*x,M=180/x,S=x/180;function E(e){return e>1?b:e<-1?-b:Math.asin(e)}function C(e){return e>1?0:e<-1?x:Math.acos(e)}function L(e){return e>0?Math.sqrt(e):0}function I(e){return(s(e)-s(-e))/2}function P(e){return(s(e)+s(-e))/2}function z(e){var t=g(e/2),r=2*c(o(e/2))/(t*t);function i(e,t){var n=o(e),i=o(t),a=m(t),s=i*n,l=-((1-s?c((1+s)/2)/(1-s):-.5)+r/(1+s));return[l*i*m(e),l*a]}return i.invert=function(t,i){var s,l=L(t*t+i*i),u=-e/2,h=50;if(!l)return[0,0];do{var d=u/2,f=o(d),p=m(d),g=p/f,v=-c(n(f));u-=s=(2/g*v-r*g-l)/(-v/(p*p)+1-r/(2*f*f))*(f<0?.7:1)}while(n(s)>y&&--h>0);var x=m(u);return[a(t*x,l*o(u)),E(i*x/l)]},i}function O(e,t){var r=o(t),n=function(e){return e?e/Math.sin(e):1}(C(r*o(e/=2)));return[2*r*m(e)*n,m(t)*n]}function D(e){var t=m(e),r=o(e),i=e>=0?1:-1,s=g(i*e),l=(1+t-r)/2;function c(e,n){var c=o(n),u=o(e/=2);return[(1+c)*m(e),(i*n>-a(u,s)-.001?0:10*-i)+l+m(n)*r-(1+c)*t*u]}return c.invert=function(e,c){var u=0,h=0,d=50;do{var f=o(u),p=m(u),g=o(h),v=m(h),x=1+g,b=x*p-e,_=l+v*r-x*t*f-c,w=x*f/2,k=-p*v,T=t*x*p/2,A=r*g+t*f*v,M=k*T-A*w,S=(_*k-b*A)/M/2,E=(b*T-_*w)/M;n(E)>2&&(E/=2),u-=S,h-=E}while((n(S)>y||n(E)>y)&&--d>0);return i*h>-a(o(u),s)-.001?[2*u,h]:null},c}function R(e,t){var r=g(t/2),n=L(1-r*r),i=1+n*o(e/=2),a=m(e)*n/i,s=r/i,l=a*a,c=s*s;return[4/3*a*(3+l-3*c),4/3*s*(3+3*l-c)]}O.invert=function(e,t){if(!(e*e+4*t*t>x*x+y)){var r=e,i=t,a=25;do{var s,l=m(r),c=m(r/2),u=o(r/2),h=m(i),d=o(i),f=m(2*i),p=h*h,g=d*d,v=c*c,b=1-g*u*u,_=b?C(d*u)*L(s=1/b):s=0,w=2*_*d*c-e,k=_*h-t,T=s*(g*v+_*d*u*p),A=s*(.5*l*f-2*_*h*c),M=.25*s*(f*c-_*h*g*l),S=s*(p*u+_*v*d),E=A*M-S*T;if(!E)break;var I=(k*A-w*S)/E,P=(w*M-k*T)/E;r-=I,i-=P}while((n(I)>y||n(P)>y)&&--a>0);return[r,i]}},R.invert=function(e,t){if(t*=3/8,!(e*=3/8)&&n(t)>1)return null;var r=1+e*e+t*t,i=L((r-L(r*r-4*t*t))/2),s=E(i)/3,l=i?function(e){return c(e+L(e*e-1))}(n(t/i))/3:function(e){return c(e+L(e*e+1))}(n(e))/3,u=o(s),h=P(l),d=h*h-u*u;return[2*p(e)*a(I(l)*u,.25-d),2*p(t)*a(h*m(s),.25+d)]};var j=L(8),F=c(1+k);function B(e,t){var r=n(t);return r<_?[e,c(g(_+t/2))]:[e*o(r)*(2*k-1/m(r)),p(t)*(2*k*(r-_)-c(g(r/2)))]}function N(e){var r=2*x/e;function s(e,i){var s=t.geoAzimuthalEquidistantRaw(e,i);if(n(e)>b){var l=a(s[1],s[0]),c=L(s[0]*s[0]+s[1]*s[1]),u=r*f((l-b)/r)+b,h=a(m(l-=u),2-o(l));l=u+E(x/c*m(h))-h,s[0]=c*o(l),s[1]=c*m(l)}return s}return s.invert=function(e,n){var s=L(e*e+n*n);if(s>b){var l=a(n,e),c=r*f((l-b)/r)+b,u=l>c?-1:1,h=s*o(c-l),d=1/g(u*C((h-x)/L(x*(x-2*h)+s*s)));l=c+2*i((d+u*L(d*d-3))/3),e=s*o(l),n=s*m(l)}return t.geoAzimuthalEquidistantRaw.invert(e,n)},s}function U(e,r){if(arguments.length<2&&(r=e),1===r)return t.geoAzimuthalEqualAreaRaw;if(r===1/0)return V;function n(n,i){var a=t.geoAzimuthalEqualAreaRaw(n/r,i);return a[0]*=e,a}return n.invert=function(n,i){var a=t.geoAzimuthalEqualAreaRaw.invert(n/e,i);return a[0]*=r,a},n}function V(e,t){return[e*o(t)/o(t/=2),2*m(t)]}function q(e,t,r){var i,a,o,s=100;r=void 0===r?0:+r,t=+t;do{(a=e(r))===(o=e(r+y))&&(o=a+y),r-=i=-1*y*(a-t)/(a-o)}while(s-- >0&&n(i)>y);return s<0?NaN:r}function H(e,t,r){return void 0===t&&(t=40),void 0===r&&(r=v),function(i,a,o,s){var l,c,u;o=void 0===o?0:+o,s=void 0===s?0:+s;for(var h=0;hl)o-=c/=2,s-=u/=2;else{l=m;var g=(o>0?-1:1)*r,y=(s>0?-1:1)*r,v=e(o+g,s),x=e(o,s+y),b=(v[0]-d[0])/g,_=(v[1]-d[1])/g,w=(x[0]-d[0])/y,k=(x[1]-d[1])/y,T=k*b-_*w,A=(n(T)<.5?.5:1)/T;if(o+=c=(p*w-f*k)*A,s+=u=(f*_-p*b)*A,n(c)0&&(i[1]*=1+a/1.5*i[0]*i[0]),i}return t.invert=H(t),t}function W(e,t){var r,i=e*m(t),a=30;do{t-=r=(t+m(t)-i)/(1+o(t))}while(n(r)>y&&--a>0);return t/2}function Y(e,t,r){function n(n,i){return[e*n*o(i=W(r,i)),t*m(i)]}return n.invert=function(n,i){return i=E(i/t),[n/(e*o(i)),E((2*i+m(2*i))/r)]},n}B.invert=function(e,t){if((a=n(t))v&&--u>0);return[e/(o(l)*(j-1/m(l))),p(t)*l]},V.invert=function(e,t){var r=2*E(t/2);return[e*o(r/2)/o(r),r]};var X=Y(k/b,k,x),Z=2.00276,$=1.11072;function K(e,t){var r=W(x,t);return[Z*e/(1/o(t)+$/o(r)),(t+k*m(r))/Z]}function J(e){var r=0,n=t.geoProjectionMutator(e),i=n(r);return i.parallel=function(e){return arguments.length?n(r=e*S):r*M},i}function Q(e,t){return[e*o(t),t]}function ee(e){if(!e)return Q;var t=1/g(e);function r(r,n){var i=t+e-n,a=i&&r*o(n)/i;return[i*m(a),t-i*o(a)]}return r.invert=function(r,n){var i=L(r*r+(n=t-n)*n),s=t+e-i;return[i/o(s)*a(r,n),s]},r}function te(e){function t(t,r){var n=b-r,i=n&&t*e*m(n)/n;return[n*m(i)/e,b-n*o(i)]}return t.invert=function(t,r){var n=t*e,i=b-r,o=L(n*n+i*i),s=a(n,i);return[(o?o/m(o):1)*s/e,b-o]},t}K.invert=function(e,t){var r,i,a=Z*t,s=t<0?-_:_,l=25;do{i=a-k*m(s),s-=r=(m(2*s)+2*s-x*m(i))/(2*o(2*s)+2+x*o(i)*k*o(s))}while(n(r)>y&&--l>0);return i=a-k*m(s),[e*(1/o(i)+$/o(s))/Z,i]},Q.invert=function(e,t){return[e/o(t),t]};var re=Y(1,4/x,x);function ne(e,t,r,i,s,l){var c,u=o(l);if(n(e)>1||n(l)>1)c=C(r*s+t*i*u);else{var h=m(e/2),d=m(l/2);c=2*E(L(h*h+t*i*d*d))}return n(c)>y?[c,a(i*m(l),t*s-r*i*u)]:[0,0]}function ie(e,t,r){return C((e*e+t*t-r*r)/(2*e*t))}function ae(e){return e-2*x*l((e+x)/(2*x))}function oe(e,t,r){for(var n,i=[[e[0],e[1],m(e[1]),o(e[1])],[t[0],t[1],m(t[1]),o(t[1])],[r[0],r[1],m(r[1]),o(r[1])]],a=i[2],s=0;s<3;++s,a=n)n=i[s],a.v=ne(n[1]-a[1],a[3],a[2],n[3],n[2],n[0]-a[0]),a.point=[0,0];var l=ie(i[0].v[0],i[2].v[0],i[1].v[0]),c=ie(i[0].v[0],i[1].v[0],i[2].v[0]),u=x-l;i[2].point[1]=0,i[0].point[0]=-(i[1].point[0]=i[0].v[0]/2);var h=[i[2].point[0]=i[0].point[0]+i[2].v[0]*o(l),2*(i[0].point[1]=i[1].point[1]=i[2].v[0]*m(l))];return function(e,t){var r,n=m(t),a=o(t),s=new Array(3);for(r=0;r<3;++r){var l=i[r];if(s[r]=ne(t-l[1],l[3],l[2],a,n,e-l[0]),!s[r][0])return l.point;s[r][1]=ae(s[r][1]-l.v[1])}var d=h.slice();for(r=0;r<3;++r){var f=2==r?0:r+1,p=ie(i[r].v[0],s[r][0],s[f][0]);s[r][1]<0&&(p=-p),r?1==r?(p=c-p,d[0]-=s[r][0]*o(p),d[1]-=s[r][0]*m(p)):(p=u-p,d[0]+=s[r][0]*o(p),d[1]+=s[r][0]*m(p)):(d[0]+=s[r][0]*o(p),d[1]-=s[r][0]*m(p))}return d[0]/=3,d[1]/=3,d}}function se(e){return e[0]*=S,e[1]*=S,e}function le(e,r,n){var i=t.geoCentroid({type:"MultiPoint",coordinates:[e,r,n]}),a=[-i[0],-i[1]],o=t.geoRotation(a),s=oe(se(o(e)),se(o(r)),se(o(n)));s.invert=H(s);var l=t.geoProjection(s).rotate(a),c=l.center;return delete l.rotate,l.center=function(e){return arguments.length?c(o(e)):o.invert(c())},l.clipAngle(90)}function ce(e,t){var r=L(1-m(t));return[2/T*e*r,T*(1-r)]}function ue(e){var t=g(e);function r(e,r){return[e,(e?e/m(e):1)*(m(r)*o(e)-t*o(r))]}return r.invert=t?function(e,r){e&&(r*=m(e)/e);var n=o(e);return[e,2*a(L(n*n+t*t-r*r)-n,t-r)]}:function(e,t){return[e,E(e?t*g(e)/e:t)]},r}ce.invert=function(e,t){var r=(r=t/T-1)*r;return[r>0?e*L(x/r)/2:0,E(1-r)]};var he=L(3);function de(e,t){return[he*e*(2*o(2*t/3)-1)/T,he*T*m(t/3)]}function fe(e){var t=o(e);function r(e,r){return[e*t,m(r)/t]}return r.invert=function(e,r){return[e/t,E(r*t)]},r}function pe(e){var t=o(e);function r(e,r){return[e*t,(1+t)*g(r/2)]}return r.invert=function(e,r){return[e/t,2*i(r/(1+t))]},r}function me(e,t){var r=L(8/(3*x));return[r*e*(1-n(t)/x),r*t]}function ge(e,t){var r=L(4-3*m(n(t)));return[2/L(6*x)*e*r,p(t)*L(2*x/3)*(2-r)]}function ye(e,t){var r=L(x*(4+x));return[2/r*e*(1+L(1-4*t*t/(x*x))),4/r*t]}function ve(e,t){var r=(2+b)*m(t);t/=2;for(var i=0,a=1/0;i<10&&n(a)>y;i++){var s=o(t);t-=a=(t+m(t)*(s+2)-r)/(2*s*(1+s))}return[2/L(x*(4+x))*e*(1+o(t)),2*L(x/(4+x))*m(t)]}function xe(e,t){return[e*(1+o(t))/L(2+x),2*t/L(2+x)]}function be(e,t){for(var r=(1+b)*m(t),i=0,a=1/0;i<10&&n(a)>y;i++)t-=a=(t+m(t)-r)/(1+o(t));return r=L(2+x),[e*(1+o(t))/r,2*t/r]}de.invert=function(e,t){var r=3*E(t/(he*T));return[T*e/(he*(2*o(2*r/3)-1)),r]},me.invert=function(e,t){var r=L(8/(3*x)),i=t/r;return[e/(r*(1-n(i)/x)),i]},ge.invert=function(e,t){var r=2-n(t)/L(2*x/3);return[e*L(6*x)/(2*r),p(t)*E((4-r*r)/3)]},ye.invert=function(e,t){var r=L(x*(4+x))/2;return[e*r/(1+L(1-t*t*(4+x)/(4*x))),t*r/2]},ve.invert=function(e,t){var r=t*L((4+x)/x)/2,n=E(r),i=o(n);return[e/(2/L(x*(4+x))*(1+i)),E((n+r*(i+2))/(2+b))]},xe.invert=function(e,t){var r=L(2+x),n=t*r/2;return[r*e/(1+o(n)),n]},be.invert=function(e,t){var r=1+b,n=L(r/2);return[2*e*n/(1+o(t*=n)),E((t+m(t))/r)]};var _e=3+2*k;function we(e,t){var r=m(e/=2),n=o(e),a=L(o(t)),s=o(t/=2),l=m(t)/(s+k*n*a),u=L(2/(1+l*l)),h=L((k*s+(n+r)*a)/(k*s+(n-r)*a));return[_e*(u*(h-1/h)-2*c(h)),_e*(u*l*(h+1/h)-2*i(l))]}we.invert=function(e,t){if(!(r=R.invert(e/1.2,1.065*t)))return null;var r,a=r[0],s=r[1],l=20;e/=_e,t/=_e;do{var d=a/2,f=s/2,p=m(d),g=o(d),v=m(f),x=o(f),_=o(s),T=L(_),A=v/(x+k*g*T),M=A*A,S=L(2/(1+M)),E=(k*x+(g+p)*T)/(k*x+(g-p)*T),C=L(E),I=C-1/C,P=C+1/C,z=S*I-2*c(C)-e,O=S*A*P-2*i(A)-t,D=v&&w*T*p*M/v,j=(k*g*x+T)/(2*(x+k*g*T)*(x+k*g*T)*T),F=-.5*A*S*S*S,B=F*D,N=F*j,U=(U=2*x+k*T*(g-p))*U*C,V=(k*g*x*T+_)/U,q=-k*p*v/(T*U),H=I*B-2*V/C+S*(V+V/E),G=I*N-2*q/C+S*(q+q/E),W=A*P*B-2*D/(1+M)+S*P*D+S*A*(V-V/E),Y=A*P*N-2*j/(1+M)+S*P*j+S*A*(q-q/E),X=G*W-Y*H;if(!X)break;var Z=(O*G-z*Y)/X,$=(z*W-O*H)/X;a-=Z,s=u(-b,h(b,s-$))}while((n(Z)>y||n($)>y)&&--l>0);return n(n(s)-b)s){var p=L(d),g=a(h,u),v=i*f(g/i),_=g-v,w=e*o(_),k=(e*m(_)-_*m(w))/(b-w),T=Le(_,k),A=(x-e)/Ie(T,w,x);u=p;var M,S=50;do{u-=M=(e+Ie(T,w,u)*A-p)/(T(u)*A)}while(n(M)>y&&--S>0);h=_*m(u),us){var u=L(c),h=a(l,r),d=i*f(h/i),p=h-d;r=u*o(p),l=u*m(p);for(var g=r-b,y=m(r),_=l/y,w=ry||n(f)>y)&&--v>0);return[p,g]},u}Te.invert=function(e,t){var r=t/(1+ke);return[e&&e/(ke*L(1-r*r)),2*i(r)]},Ae.invert=function(e,t){var r=i(t/T),n=o(r),a=2*r;return[e*T/2/(o(a)*n*n),a]};var ze=Pe(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555),Oe=Pe(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742),De=Pe(5/6*x,-.62636,-.0344,0,1.3493,-.05524,0,.045);function Re(e,t){var r=e*e,n=t*t;return[e*(1-.162388*n)*(.87-952426e-9*r*r),t*(1+n/12)]}Re.invert=function(e,t){var r,i=e,a=t,o=50;do{var s=a*a;a-=r=(a*(1+s/12)-t)/(1+s/4)}while(n(r)>y&&--o>0);o=50,e/=1-.162388*s;do{var l=(l=i*i)*l;i-=r=(i*(.87-952426e-9*l)-e)/(.87-.00476213*l)}while(n(r)>y&&--o>0);return[i,a]};var je=Pe(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Fe(e){var t=e(b,0)[0]-e(-b,0)[0];function r(r,n){var i=r>0?-.5:.5,a=e(r+i*x,n);return a[0]-=i*t,a}return e.invert&&(r.invert=function(r,n){var i=r>0?-.5:.5,a=e.invert(r+i*t,n),o=a[0]-i*x;return o<-x?o+=2*x:o>x&&(o-=2*x),a[0]=o,a}),r}function Be(e,t){var r=p(e),i=p(t),s=o(t),l=o(e)*s,c=m(e)*s,u=m(i*t);e=n(a(c,u)),t=E(l),n(e-b)>y&&(e%=b);var h=function(e,t){if(t===b)return[0,0];var r,i,a=m(t),s=a*a,l=s*s,c=1+l,u=1+3*l,h=1-l,d=E(1/L(c)),f=h+s*c*d,p=(1-a)/f,g=L(p),v=p*c,_=L(v),w=g*h;if(0===e)return[0,-(w+s*_)];var k,T=o(t),A=1/T,M=2*a*T,S=(-f*T-(1-a)*((-3*s+d*u)*M))/(f*f),C=-A*M,I=-A*(s*c*S+p*u*M),P=-2*A*(h*(.5*S/g)-2*s*g*M),z=4*e/x;if(e>.222*x||t.175*x){if(r=(w+s*L(v*(1+l)-w*w))/(1+l),e>x/4)return[r,r];var O=r,D=.5*r;r=.5*(D+O),i=50;do{var R=r*(P+C*L(v-r*r))+I*E(r/_)-z;if(!R)break;R<0?D=r:O=r,r=.5*(D+O)}while(n(O-D)>y&&--i>0)}else{r=y,i=25;do{var j=r*r,F=L(v-j),B=P+C*F,N=r*B+I*E(r/_)-z;r-=k=F?N/(B+(I-C*j)/F):0}while(n(k)>y&&--i>0)}return[r,-w-s*L(v-r*r)]}(e>x/4?b-e:e,t);return e>x/4&&(u=h[0],h[0]=-h[1],h[1]=-u),h[0]*=r,h[1]*=-i,h}function Ne(e,t){var r,a,l,c,u;if(t=1-y)return r=(1-t)/4,a=P(e),c=function(e){return((e=s(2*e))-1)/(e+1)}(e),l=1/a,[c+r*((u=a*I(e))-e)/(a*a),l-r*c*l*(u-e),l+r*c*l*(u+e),2*i(s(e))-b+r*(u-e)/a];var h=[1,0,0,0,0,0,0,0,0],d=[L(t),0,0,0,0,0,0,0,0],f=0;for(a=L(1-t),u=1;n(d[f]/h[f])>y&&f<8;)r=h[f++],d[f]=(r-a)/2,h[f]=(r+a)/2,a=L(r*a),u*=2;l=u*h[f]*e;do{l=(E(c=d[f]*m(a=l)/h[f])+l)/2}while(--f);return[m(l),c=o(l),c/o(l-a),l]}function Ue(e,t){if(!t)return e;if(1===t)return c(g(e/2+_));for(var r=1,a=L(1-t),o=L(t),s=0;n(o)>y;s++){if(e%x){var l=i(a*g(e)/r);l<0&&(l+=x),e+=l+~~(e/x)*x}else e+=e;o=(r+a)/2,a=L(r*a),o=((r=o)-a)/2}return e/(d(2,s)*r)}function Ve(e,t){var r=(k-1)/(k+1),l=L(1-r*r),u=Ue(b,l*l),h=c(g(x/4+n(t)/2)),d=s(-1*h)/L(r),f=function(e,t){var r=e*e,n=t+1,i=1-r-t*t;return[.5*((e>=0?b:-b)-a(i,2*e)),-.25*c(i*i+4*r)+.5*c(n*n+r)]}(d*o(-1*e),d*m(-1*e)),y=function(e,t,r){var a=n(e),o=I(n(t));if(a){var s=1/m(a),l=1/(g(a)*g(a)),c=-(l+r*(o*o*s*s)-1+r),u=(-c+L(c*c-(r-1)*l*4))/2;return[Ue(i(1/L(u)),r)*p(e),Ue(i(L((u/l-1)/r)),1-r)*p(t)]}return[0,Ue(i(o),1-r)*p(t)]}(f[0],f[1],l*l);return[-y[1],(t>=0?1:-1)*(.5*u-y[0])]}function qe(e){var t=m(e),r=o(e),i=He(e);function s(e,a){var s=i(e,a);e=s[0],a=s[1];var l=m(a),c=o(a),u=o(e),h=C(t*l+r*c*u),d=m(h),f=n(d)>y?h/d:1;return[f*r*m(e),(n(e)>b?f:-f)*(t*c-r*l*u)]}return i.invert=He(-e),s.invert=function(e,r){var n=L(e*e+r*r),s=-m(n),l=o(n),c=n*l,u=-r*s,h=n*t,d=L(c*c+u*u-h*h),f=a(c*h+u*d,u*h-c*d),p=(n>b?-1:1)*a(e*s,n*o(f)*l+r*m(f)*s);return i.invert(p,f)},s}function He(e){var t=m(e),r=o(e);return function(e,n){var i=o(n),s=o(e)*i,l=m(e)*i,c=m(n);return[a(l,s*r-c*t),E(c*r+s*t)]}}Be.invert=function(e,t){n(e)>1&&(e=2*p(e)-e),n(t)>1&&(t=2*p(t)-t);var r=p(e),i=p(t),s=-r*e,l=-i*t,c=l/s<1,u=function(e,t){for(var r=0,i=1,a=.5,s=50;;){var l=a*a,c=L(a),u=E(1/L(1+l)),h=1-l+a*(1+l)*u,d=(1-c)/h,f=L(d),p=d*(1+l),m=f*(1-l),g=L(p-e*e),y=t+m+a*g;if(n(i-r)0?r=a:i=a,a=.5*(r+i)}if(!s)return null;var b=E(c),_=o(b),w=1/_,k=2*c*_,T=(-h*_-(1-c)*((-3*a+u*(1+3*l))*k))/(h*h);return[x/4*(e*(-2*w*(.5*T/f*(1-l)-2*a*f*k)+-w*k*g)+-w*(a*(1+l)*T+d*(1+3*l)*k)*E(e/L(p))),b]}(c?l:s,c?s:l),h=u[0],d=u[1],f=o(d);return c&&(h=-b-h),[r*(a(m(h)*f,-m(d))+x),i*E(o(h)*f)]},Ve.invert=function(e,t){var r=(k-1)/(k+1),n=L(1-r*r),o=function(e,t,r){var n,i,a;return e?(n=Ne(e,r),t?(a=(i=Ne(t,1-r))[1]*i[1]+r*n[0]*n[0]*i[0]*i[0],[[n[0]*i[2]/a,n[1]*n[2]*i[0]*i[1]/a],[n[1]*i[1]/a,-n[0]*n[2]*i[0]*i[2]/a],[n[2]*i[1]*i[2]/a,-r*n[0]*n[1]*i[0]/a]]):[[n[0],0],[n[1],0],[n[2],0]]):[[0,(i=Ne(t,1-r))[0]/i[1]],[1/i[1],0],[i[2]/i[1],0]]}(.5*Ue(b,n*n)-t,-e,n*n),l=function(e,t){var r=t[0]*t[0]+t[1]*t[1];return[(e[0]*t[0]+e[1]*t[1])/r,(e[1]*t[0]-e[0]*t[1])/r]}(o[0],o[1]);return[a(l[1],l[0])/-1,2*i(s(-.5*c(r*l[0]*l[0]+r*l[1]*l[1])))-b]};var Ge=E(1-1/3)*M,We=fe(0);function Ye(e){var t=Ge*S,r=ce(x,t)[0]-ce(-x,t)[0],i=We(0,t)[1],a=ce(0,t)[1],o=T-a,s=A/e,c=4/A,d=i+o*o*4/A;function f(f,p){var m,g=n(p);if(g>t){var y=h(e-1,u(0,l((f+x)/s)));(m=ce(f+=x*(e-1)/e-y*s,g))[0]=m[0]*A/r-A*(e-1)/(2*e)+y*A/e,m[1]=i+4*(m[1]-a)*o/A,p<0&&(m[1]=-m[1])}else m=We(f,p);return m[0]*=c,m[1]/=d,m}return f.invert=function(t,f){t/=c;var p=n(f*=d);if(p>i){var m=h(e-1,u(0,l((t+x)/s)));t=(t+x*(e-1)/e-m*s)*r/A;var g=ce.invert(t,.25*(p-i)*A/o+a);return g[0]-=x*(e-1)/e-m*s,f<0&&(g[1]=-g[1]),g}return We.invert(t,f)},f}function Xe(e,t){return[e,1&t?90-y:Ge]}function Ze(e,t){return[e,1&t?-90+y:-Ge]}function $e(e){return[e[0]*(1-y),e[1]]}function Ke(e){var t,r=1+e,i=E(m(1/r)),s=2*L(x/(t=x+4*i*r)),l=.5*s*(r+L(e*(2+e))),c=e*e,u=r*r;function h(h,d){var f,p,g=1-m(d);if(g&&g<2){var y,_=b-d,w=25;do{var k=m(_),T=o(_),A=i+a(k,r-T),M=1+u-2*r*T;_-=y=(_-c*i-r*k+M*A-.5*g*t)/(2*r*k*A)}while(n(y)>v&&--w>0);f=s*L(M),p=h*A/x}else f=s*(e+g),p=h*i/x;return[f*m(p),l-f*o(p)]}return h.invert=function(e,n){var o=e*e+(n-=l)*n,h=(1+u-o/(s*s))/(2*r),d=C(h),f=m(d),p=i+a(f,r-h);return[E(e/L(o))*x/p,E(1-2*(d-c*i-r*f+(1+u-2*r*h)*p)/t)]},h}var Je=.7109889596207567,Qe=.0528035274542;function et(e,t){return t>-Je?((e=X(e,t))[1]+=Qe,e):Q(e,t)}function tt(e,t){return n(t)>Je?((e=X(e,t))[1]-=t>0?Qe:-Qe,e):Q(e,t)}function rt(e,t,r,n){var i=L(4*x/(2*r+(1+e-t/2)*m(2*r)+(e+t)/2*m(4*r)+t/2*m(6*r))),a=L(n*m(r)*L((1+e*o(2*r)+t*o(4*r))/(1+e+t))),s=r*c(1);function l(r){return L(1+e*o(2*r)+t*o(4*r))}function c(n){var i=n*r;return(2*i+(1+e-t/2)*m(2*i)+(e+t)/2*m(4*i)+t/2*m(6*i))/r}function u(e){return l(e)*m(e)}var h=function(e,t){var n=r*q(c,s*m(t)/r,t/x);isNaN(n)&&(n=r*p(t));var u=i*l(n);return[u*a*e/x*o(n),u/a*m(n)]};return h.invert=function(e,t){var n=q(u,t*a/i);return[e*x/(o(n)*i*a*l(n)),E(r*c(n/r)/s)]},0===r&&(i=L(n/x),(h=function(e,t){return[e*i,m(t)/i]}).invert=function(e,t){return[e/i,E(t*i)]}),h}function nt(e,t,r,n,i,a,o,s,l,c,u){if(u.nanEncountered)return NaN;var h,d,f,p,m,g,y,v,x,b;if(d=e(t+.25*(h=r-t)),f=e(r-.25*h),isNaN(d))u.nanEncountered=!0;else{if(!isNaN(f))return b=((g=(p=h*(n+4*d+i)/12)+(m=h*(i+4*f+a)/12))-o)/15,c>l?(u.maxDepthCount++,g+b):Math.abs(b)e?r=n:t=n,n=t+r>>1}while(n>t);var i=c[n+1]-c[n];return i&&(i=(e-c[n+1])/i),(n+1+i)/s}var f=2*h(1)/x*o/r,g=function(e,t){var r=h(n(m(t))),a=i(r)*e;return r/=f,[a,t>=0?r:-r]};return g.invert=function(e,t){var r;return n(t*=f)<1&&(r=p(t)*E(a(n(t))*o)),[e/i(n(t)),r]},g}function ot(e,t){return n(e[0]-t[0])a[o][2][0];++o);var l=e(t-a[o][1][0],r);return l[0]+=e(a[o][1][0],i*r>i*a[o][0][1]?a[o][0][1]:r)[0],l}i?s.invert=i(s):e.invert&&(s.invert=function(t,r){for(var i=o[+(r<0)],a=n[+(r<0)],l=0,c=i.length;l=0;--l)n=(t=e[1][l])[0][0],i=t[0][1],a=t[1][1],o=t[2][0],s=t[2][1],c.push(st([[o-y,s-y],[o-y,a+y],[n+y,a+y],[n+y,i-y]],30));return{type:"Polygon",coordinates:[r.merge(c)]}}(t),n=t.map((function(e){return e.map((function(e){return[[e[0][0]*S,e[0][1]*S],[e[1][0]*S,e[1][1]*S],[e[2][0]*S,e[2][1]*S]]}))})),o=n.map((function(t){return t.map((function(t){var r,n=e(t[0][0],t[0][1])[0],i=e(t[2][0],t[2][1])[0],a=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]}))})),l):n.map((function(e){return e.map((function(e){return[[e[0][0]*M,e[0][1]*M],[e[1][0]*M,e[1][1]*M],[e[2][0]*M,e[2][1]*M]]}))}))},null!=n&&l.lobes(n),l}et.invert=function(e,t){return t>-Je?X.invert(e,t-Qe):Q.invert(e,t)},tt.invert=function(e,t){return n(t)>Je?X.invert(e,t+(t>0?Qe:-Qe)):Q.invert(e,t)};var ct=[[[[-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]]]],ut=[[[[-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]]]],ht=[[[[-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]]]],dt=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]],ft=[[[[-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]]]],pt=[[[[-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 mt(e,t){return[3/A*e*L(x*x/3-t*t),t]}function gt(e){function t(t,r){if(n(n(r)-b)2)return null;var o=(t/=2)*t,s=(r/=2)*r,l=2*r/(1+o+s);return l=d((1+l)/(1-l),1/e),[a(2*t,1-o-s)/e,E((l-1)/(l+1))]},t}mt.invert=function(e,t){return[A/3*e/L(x*x/3-t*t),t]};var yt=x/k;function vt(e,t){return[e*(1+L(o(t)))/2,t/(o(t/2)*o(e/6))]}function xt(e,t){var r=e*e,n=t*t;return[e*(.975534+n*(-.0143059*r-.119161+-.0547009*n)),t*(1.00384+r*(.0802894+-.02855*n+199025e-9*r)+n*(.0998909+-.0491032*n))]}function bt(e,t){return[m(e)/o(t),g(t)*o(e)]}function _t(e){var t=o(e),r=g(_+e/2);function i(i,a){var o=a-e,s=n(o)=0;)d=(h=e[u])[0]+l*(i=d)-c*f,f=h[1]+l*f+c*i;return[d=l*(i=d)-c*f,f=l*f+c*i]}return r.invert=function(r,s){var l=20,c=r,u=s;do{for(var h,d=t,f=e[d],p=f[0],g=f[1],v=0,x=0;--d>=0;)v=p+c*(h=v)-u*x,x=g+c*x+u*h,p=(f=e[d])[0]+c*(h=p)-u*g,g=f[1]+c*g+u*h;var b,_,w=(v=p+c*(h=v)-u*x)*v+(x=g+c*x+u*h)*x;c-=b=((p=c*(h=p)-u*g-r)*v+(g=c*g+u*h-s)*x)/w,u-=_=(g*v-p*x)/w}while(n(b)+n(_)>y*y&&--l>0);if(l){var k=L(c*c+u*u),T=2*i(.5*k),A=m(T);return[a(c*A,k*o(T)),k?E(u*A/k):0]}},r}vt.invert=function(e,t){var r=n(e),i=n(t),a=y,s=b;iy||n(b)>y)&&--a>0);return a&&[r,i]},bt.invert=function(e,t){var r=e*e,n=t*t+1,i=r+n,a=e?w*L((i-L(i*i-4*r))/r):1/L(n);return[E(e*a),p(t)*C(a)]},wt.invert=function(e,t){return[e,2.5*i(s(.8*t))-.625*x]};var Tt=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],At=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Mt=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],St=[[.9245,0],[0,0],[.01943,0]],Et=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Ct(e,r){var n=t.geoProjection(kt(e)).rotate(r).clipAngle(90),i=t.geoRotation(r),a=n.center;return delete n.rotate,n.center=function(e){return arguments.length?a(i(e)):i.invert(a())},n}var Lt=L(6),It=L(7);function Pt(e,t){var r=E(7*m(t)/(3*Lt));return[Lt*e*(2*o(2*r/3)-1)/It,9*m(r/3)/It]}function zt(e,t){for(var r,i=(1+w)*m(t),a=t,s=0;s<25&&(a-=r=(m(a/2)+m(a)-i)/(.5*o(a/2)+o(a)),!(n(r)v&&--l>0);return[e/(.84719-.13063*(i=s*s)+(o=i*(a=i*i))*o*(.05494*i-.04515-.02326*a+.00331*o)),s]},Rt.invert=function(e,t){for(var r=t/2,i=0,a=1/0;i<10&&n(a)>y;++i){var s=o(t/2);t-=a=(t-g(t/2)-r)/(1-.5/(s*s))}return[2*e/(1+o(t)),t]};var jt=[[[[-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 Ft(e,t){var r=m(t),i=o(t),a=p(e);if(0===e||n(t)===b)return[0,t];if(0===t)return[e,0];if(n(e)===b)return[e*i,b*r];var s=x/(2*e)-2*e/x,l=2*t/x,c=(1-l*l)/(r-l),u=s*s,h=c*c,d=1+u/h,f=1+h/u,g=(s*r/c-s/2)/d,y=(h*r/u+c/2)/f,v=y*y-(h*r*r/u+c*r-1)/f;return[b*(g+L(g*g+i*i/d)*a),b*(y+L(v<0?0:v)*p(-t*s)*a)]}Ft.invert=function(e,t){var r=(e/=b)*e,n=r+(t/=b)*t,i=x*x;return[e?(n-1+L((1-n)*(1-n)+4*r))/(2*e)*b:0,q((function(e){return n*(x*m(e)-2*e)*x+4*e*e*(t-m(e))+2*x*e-i*t}),0)]};var Bt=1.0148,Nt=.23185,Ut=-.14499,Vt=.02406,qt=Bt,Ht=5*Nt,Gt=7*Ut,Wt=1.790857183;function Yt(e,t){var r=t*t;return[e,t*(Bt+r*r*(Nt+r*(Ut+Vt*r)))]}function Xt(e,t){if(n(t)=0;)if(n=t[s],r[0]===n[0]&&r[1]===n[1]){if(a)return[a,r];a=r}}}(t.face,r.face),i=function(e,t){var r=$t(e[1],e[0]),n=$t(t[1],t[0]),i=function(e,t){return a(e[0]*t[1]-e[1]*t[0],e[0]*t[0]+e[1]*t[1])}(r,n),s=Kt(r)/Kt(n);return Zt([1,0,e[0][0],0,1,e[0][1]],Zt([s,0,0,0,s,0],Zt([o(i),m(i),0,-m(i),o(i),0],[1,0,-t[0][0],0,1,-t[0][1]])))}(n.map(r.project),n.map(t.project));t.transform=r.transform?Zt(r.transform,i):i;for(var s=r.edges,l=0,c=s.length;lWt?t=Wt:t<-Wt&&(t=-Wt);var r,i=t;do{var a=i*i;i-=r=(i*(Bt+a*a*(Nt+a*(Ut+Vt*a)))-t)/(qt+a*a*(Ht+a*(Gt+.21654*a)))}while(n(r)>y);return[e,i]},Xt.invert=function(e,t){if(n(t)y&&--s>0);return l=g(a),[(n(t)n^f>n&&r<(d-c)*(n-u)/(f-u)+c&&(i=!i)}return i}(e[0],r))return e.push(t),!0}))||e.push([t])})),mr=[],e.length?e.length>1?{type:"MultiPolygon",coordinates:e}:{type:"Polygon",coordinates:e[0]}:null}};function xr(e){var r=e(b,0)[0]-e(-b,0)[0];function i(t,i){var a=n(t)0?t-x:t+x,i),s=(o[0]-o[1])*w,l=(o[0]+o[1])*w;if(a)return[s,l];var c=r*w,u=s>0^l>0?-1:1;return[u*s-p(l)*c,u*l-p(s)*c]}return e.invert&&(i.invert=function(t,i){var a=(t+i)*w,o=(i-t)*w,s=n(a)<.5*r&&n(o)<.5*r;if(!s){var l=r*w,c=a>0^o>0?-1:1,u=-c*t+(o>0?1:-1)*l,h=-c*i+(a>0?1:-1)*l;a=(-u-h)*w,o=(u-h)*w}var d=e.invert(a,o);return s||(d[0]+=a>0?x:-x),d}),t.geoProjection(i).rotate([-90,-90,45]).clipAngle(179.999)}function br(){return xr(Ve).scale(111.48)}function _r(e){var t=m(e);function r(r,n){var a=t?g(r*t/2)/t:r/2;if(!n)return[2*a,-e];var s=2*i(a*m(n)),l=1/g(n);return[m(s)*l,n+(1-o(s))*l-e]}return r.invert=function(r,a){if(n(a+=e)y&&--u>0);var p=r*(h=g(c)),v=g(n(a)0?b:-b)*(d+o*(p-c)/2+o*o*(p-2*d+c)/2)]}function Tr(e,t){var r=function(e){function t(t,r){var n=o(r),i=(e-1)/(e-n*o(t));return[i*n*m(t),i*m(r)]}return t.invert=function(t,r){var n=t*t+r*r,i=L(n),o=(e-L(1-n*(e+1)/(e-1)))/((e-1)/i+i/(e-1));return[a(t*o,i*L(1-o*o)),i?E(r*o/i):0]},t}(e);if(!t)return r;var n=o(t),i=m(t);function s(t,a){var o=r(t,a),s=o[1],l=s*i/(e-1)+n;return[o[0]*n/l,s/l]}return s.invert=function(t,a){var o=(e-1)/(e-1-a*i);return r.invert(o*t,o*a*n)},s}wr.forEach((function(e){e[1]*=1.0144})),kr.invert=function(e,t){var r=t/b,i=90*r,a=h(18,n(i/5)),o=u(0,l(a));do{var s=wr[o][1],c=wr[o+1][1],d=wr[h(19,o+2)][1],f=d-s,p=d-2*c+s,m=2*(n(r)-c)/f,g=p/f,y=m*(1-g*m*(1-2*g*m));if(y>=0||1===o){i=(t>=0?5:-5)*(y+a);var x,_=50;do{y=(a=h(18,n(i)/5))-(o=l(a)),s=wr[o][1],c=wr[o+1][1],d=wr[h(19,o+2)][1],i-=(x=(t>=0?b:-b)*(c+y*(d-s)/2+y*y*(d-2*c+s)/2)-t)*M}while(n(x)>v&&--_>0);break}}while(--o>=0);var w=wr[o][0],k=wr[o+1][0],T=wr[h(19,o+2)][0];return[e/(k+y*(T-w)/2+y*y*(T-2*k+w)/2),i*S]};var Ar=1e-4,Mr=-180,Sr=Mr+Ar,Er=180-Ar,Cr=-90+Ar,Lr=90-Ar;function Ir(e){return e.length>0}function Pr(e){return Math.floor(1e4*e)/1e4}function zr(e){return-90===e||90===e?[0,e]:[Mr,Pr(e)]}function Or(e){var t=e[0],r=e[1],n=!1;return t<=Sr?(t=Mr,n=!0):t>=Er&&(t=180,n=!0),r<=Cr?(r=-90,n=!0):r>=Lr&&(r=90,n=!0),n?[t,r]:e}function Dr(e){return e.map(Or)}function Rr(e,t,r){for(var n=0,i=e.length;n=Er||u<=Cr||u>=Lr){a[o]=Or(l);for(var h=o+1;hSr&&fCr&&p=s)break;r.push({index:-1,polygon:t,ring:a=a.slice(h-1)}),a[0]=zr(a[0][1]),o=-1,s=a.length}}}}function jr(e){var t,r,n,i,a,o,s=e.length,l={},c={};for(t=0;t0?x-l:l)*M],u=t.geoProjection(e(s)).rotate(c),h=t.geoRotation(c),d=u.center;return delete u.rotate,u.center=function(e){return arguments.length?d(h(e)):h.invert(d())},u.clipAngle(90)}function Vr(e){var r=o(e);function n(e,n){var i=t.geoGnomonicRaw(e,n);return i[0]*=r,i}return n.invert=function(e,n){return t.geoGnomonicRaw.invert(e/r,n)},n}function qr(e,t){return Ur(Vr,e,t)}function Hr(e){if(!(e*=2))return t.geoAzimuthalEquidistantRaw;var r=-e/2,n=-r,i=e*e,s=g(n),l=.5/m(n);function c(t,a){var s=C(o(a)*o(t-r)),l=C(o(a)*o(t-n));return[((s*=s)-(l*=l))/(2*e),(a<0?-1:1)*L(4*i*l-(i-s+l)*(i-s+l))/(2*e)]}return c.invert=function(e,t){var i,c,u=t*t,h=o(L(u+(i=e+r)*i)),d=o(L(u+(i=e+n)*i));return[a(c=h-d,i=(h+d)*s),(t<0?-1:1)*C(L(i*i+c*c)*l)]},c}function Gr(e,t){return Ur(Hr,e,t)}function Wr(e,t){if(n(t)y&&--l>0);return[p(e)*(L(a*a+4)+a)*x/4,b*s]};var Jr=4*x+3*L(3),Qr=2*L(2*x*L(3)/Jr),en=Y(Qr*L(3)/x,Qr,Jr/6);function tn(e,t){return[e*L(1-3*t*t/(x*x)),t]}function rn(e,t){var r=o(t),n=o(e)*r,i=1-n,s=o(e=a(m(e)*r,-m(t))),l=m(e);return[l*(r=L(1-n*n))-s*i,-s*r-l*i]}function nn(e,t){var r=O(e,t);return[(r[0]+e/b)/2,(r[1]+t)/2]}tn.invert=function(e,t){return[e/L(1-3*t*t/(x*x)),t]},rn.invert=function(e,t){var r=(e*e+t*t)/-2,n=L(-r*(2+r)),i=t*r+e*n,o=e*r-t*n,s=L(o*o+i*i);return[a(n*i,s*(1+r)),s?-E(n*o/s):0]},nn.invert=function(e,t){var r=e,i=t,a=25;do{var s,l=o(i),c=m(i),u=m(2*i),h=c*c,d=l*l,f=m(r),p=o(r/2),g=m(r/2),v=g*g,x=1-d*p*p,_=x?C(l*p)*L(s=1/x):s=0,w=.5*(2*_*l*g+r/b)-e,k=.5*(_*c+i)-t,T=.5*s*(d*v+_*l*p*h)+.5/b,A=s*(f*u/4-_*c*g),M=.125*s*(u*g-_*c*d*f),S=.5*s*(h*p+_*v*l)+.5,E=A*M-S*T,I=(k*A-w*S)/E,P=(w*M-k*T)/E;r-=I,i-=P}while((n(I)>y||n(P)>y)&&--a>0);return[r,i]},e.geoNaturalEarth=t.geoNaturalEarth1,e.geoNaturalEarthRaw=t.geoNaturalEarth1Raw,e.geoAiry=function(){var e=b,r=t.geoProjectionMutator(z),n=r(e);return n.radius=function(t){return arguments.length?r(e=t*S):e*M},n.scale(179.976).clipAngle(147)},e.geoAiryRaw=z,e.geoAitoff=function(){return t.geoProjection(O).scale(152.63)},e.geoAitoffRaw=O,e.geoArmadillo=function(){var e=20*S,r=e>=0?1:-1,n=g(r*e),i=t.geoProjectionMutator(D),s=i(e),l=s.stream;return s.parallel=function(t){return arguments.length?(n=g((r=(e=t*S)>=0?1:-1)*e),i(e)):e*M},s.stream=function(t){var i=s.rotate(),c=l(t),u=(s.rotate([0,0]),l(t)),h=s.precision();return s.rotate(i),c.sphere=function(){u.polygonStart(),u.lineStart();for(var t=-180*r;r*t<180;t+=90*r)u.point(t,90*r);if(e)for(;r*(t-=3*r*h)>=-180;)u.point(t,r*-a(o(t*S/2),n)*M);u.lineEnd(),u.polygonEnd()},c},s.scale(218.695).center([0,28.0974])},e.geoArmadilloRaw=D,e.geoAugust=function(){return t.geoProjection(R).scale(66.1603)},e.geoAugustRaw=R,e.geoBaker=function(){return t.geoProjection(B).scale(112.314)},e.geoBakerRaw=B,e.geoBerghaus=function(){var e=5,r=t.geoProjectionMutator(N),n=r(e),i=n.stream,s=.01,l=-o(s*S),c=m(s*S);return n.lobes=function(t){return arguments.length?r(e=+t):e},n.stream=function(t){var r=n.rotate(),u=i(t),h=(n.rotate([0,0]),i(t));return n.rotate(r),u.sphere=function(){h.polygonStart(),h.lineStart();for(var t=0,r=360/e,n=2*x/e,i=90-180/e,u=b;t=0;)e.point((t=r[i])[0],t[1]);e.lineEnd(),e.polygonEnd()},e},n.scale(79.4187).parallel(45).clipAngle(179.999)},e.geoHammerRetroazimuthalRaw=qe,e.geoHealpix=function(){var e=4,n=t.geoProjectionMutator(Ye),i=n(e),a=i.stream;return i.lobes=function(t){return arguments.length?n(e=+t):e},i.stream=function(n){var o=i.rotate(),s=a(n),l=(i.rotate([0,0]),a(n));return i.rotate(o),s.sphere=function(){t.geoStream(function(e){var t=[].concat(r.range(-180,180+e/2,e).map(Xe),r.range(180,-180-e/2,-e).map(Ze));return{type:"Polygon",coordinates:[180===e?t.map($e):t]}}(180/e),l)},s},i.scale(239.75)},e.geoHealpixRaw=Ye,e.geoHill=function(){var e=1,r=t.geoProjectionMutator(Ke),n=r(e);return n.ratio=function(t){return arguments.length?r(e=+t):e},n.scale(167.774).center([0,18.67])},e.geoHillRaw=Ke,e.geoHomolosine=function(){return t.geoProjection(tt).scale(152.63)},e.geoHomolosineRaw=tt,e.geoHufnagel=function(){var e=1,r=0,n=45*S,i=2,a=t.geoProjectionMutator(rt),o=a(e,r,n,i);return o.a=function(t){return arguments.length?a(e=+t,r,n,i):e},o.b=function(t){return arguments.length?a(e,r=+t,n,i):r},o.psiMax=function(t){return arguments.length?a(e,r,n=+t*S,i):n*M},o.ratio=function(t){return arguments.length?a(e,r,n,i=+t):i},o.scale(180.739)},e.geoHufnagelRaw=rt,e.geoHyperelliptical=function(){var e=0,r=2.5,n=1.183136,i=t.geoProjectionMutator(at),a=i(e,r,n);return a.alpha=function(t){return arguments.length?i(e=+t,r,n):e},a.k=function(t){return arguments.length?i(e,r=+t,n):r},a.gamma=function(t){return arguments.length?i(e,r,n=+t):n},a.scale(152.63)},e.geoHyperellipticalRaw=at,e.geoInterrupt=lt,e.geoInterruptedBoggs=function(){return lt(K,ct).scale(160.857)},e.geoInterruptedHomolosine=function(){return lt(tt,ut).scale(152.63)},e.geoInterruptedMollweide=function(){return lt(X,ht).scale(169.529)},e.geoInterruptedMollweideHemispheres=function(){return lt(X,dt).scale(169.529).rotate([20,0])},e.geoInterruptedSinuMollweide=function(){return lt(et,ft,H).rotate([-20,-55]).scale(164.263).center([0,-5.4036])},e.geoInterruptedSinusoidal=function(){return lt(Q,pt).scale(152.63).rotate([-20,0])},e.geoKavrayskiy7=function(){return t.geoProjection(mt).scale(158.837)},e.geoKavrayskiy7Raw=mt,e.geoLagrange=function(){var e=.5,r=t.geoProjectionMutator(gt),n=r(e);return n.spacing=function(t){return arguments.length?r(e=+t):e},n.scale(124.75)},e.geoLagrangeRaw=gt,e.geoLarrivee=function(){return t.geoProjection(vt).scale(97.2672)},e.geoLarriveeRaw=vt,e.geoLaskowski=function(){return t.geoProjection(xt).scale(139.98)},e.geoLaskowskiRaw=xt,e.geoLittrow=function(){return t.geoProjection(bt).scale(144.049).clipAngle(89.999)},e.geoLittrowRaw=bt,e.geoLoximuthal=function(){return J(_t).parallel(40).scale(158.837)},e.geoLoximuthalRaw=_t,e.geoMiller=function(){return t.geoProjection(wt).scale(108.318)},e.geoMillerRaw=wt,e.geoModifiedStereographic=Ct,e.geoModifiedStereographicRaw=kt,e.geoModifiedStereographicAlaska=function(){return Ct(Tt,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)},e.geoModifiedStereographicGs48=function(){return Ct(At,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])},e.geoModifiedStereographicGs50=function(){return Ct(Mt,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])},e.geoModifiedStereographicMiller=function(){return Ct(St,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)},e.geoModifiedStereographicLee=function(){return Ct(Et,[165,10]).scale(250).clipAngle(130).center([-165,-10])},e.geoMollweide=function(){return t.geoProjection(X).scale(169.529)},e.geoMollweideRaw=X,e.geoMtFlatPolarParabolic=function(){return t.geoProjection(Pt).scale(164.859)},e.geoMtFlatPolarParabolicRaw=Pt,e.geoMtFlatPolarQuartic=function(){return t.geoProjection(zt).scale(188.209)},e.geoMtFlatPolarQuarticRaw=zt,e.geoMtFlatPolarSinusoidal=function(){return t.geoProjection(Ot).scale(166.518)},e.geoMtFlatPolarSinusoidalRaw=Ot,e.geoNaturalEarth2=function(){return t.geoProjection(Dt).scale(175.295)},e.geoNaturalEarth2Raw=Dt,e.geoNellHammer=function(){return t.geoProjection(Rt).scale(152.63)},e.geoNellHammerRaw=Rt,e.geoInterruptedQuarticAuthalic=function(){return lt(U(1/0),jt).rotate([20,0]).scale(152.63)},e.geoNicolosi=function(){return t.geoProjection(Ft).scale(127.267)},e.geoNicolosiRaw=Ft,e.geoPatterson=function(){return t.geoProjection(Yt).scale(139.319)},e.geoPattersonRaw=Yt,e.geoPolyconic=function(){return t.geoProjection(Xt).scale(103.74)},e.geoPolyconicRaw=Xt,e.geoPolyhedral=Jt,e.geoPolyhedralButterfly=function(e){e=e||function(e){var r=t.geoCentroid({type:"MultiPoint",coordinates:e});return t.geoGnomonic().scale(1).translate([0,0]).rotate([-r[0],-r[1]])};var r=nr.map((function(t){return{face:t,project:e(t)}}));return[-1,0,0,1,0,1,4,5].forEach((function(e,t){var n=r[e];n&&(n.children||(n.children=[])).push(r[t])})),Jt(r[0],(function(e,t){return r[e<-x/2?t<0?6:4:e<0?t<0?2:0:e0?[-r[0],0]:[180-r[0],180])};var r=nr.map((function(t){return{face:t,project:e(t)}}));return[-1,0,0,1,0,1,4,5].forEach((function(e,t){var n=r[e];n&&(n.children||(n.children=[])).push(r[t])})),Jt(r[0],(function(e,t){return r[e<-x/2?t<0?6:4:e<0?t<0?2:0:e2||a[0]!=t[0]||a[1]!=t[1])&&(n.push(a),t=a)}return 1===n.length&&e.length>1&&n.push(r(e[e.length-1])),n}function a(e){return e.map(i)}function o(e){if(null==e)return e;var t;switch(e.type){case"GeometryCollection":t={type:"GeometryCollection",geometries:e.geometries.map(o)};break;case"Point":t={type:"Point",coordinates:r(e.coordinates)};break;case"MultiPoint":t={type:e.type,coordinates:n(e.coordinates)};break;case"LineString":t={type:e.type,coordinates:i(e.coordinates)};break;case"MultiLineString":case"Polygon":t={type:e.type,coordinates:a(e.coordinates)};break;case"MultiPolygon":t={type:"MultiPolygon",coordinates:e.coordinates.map(a)};break;default:return e}return null!=e.bbox&&(t.bbox=e.bbox),t}function s(e){var t={type:"Feature",properties:e.properties,geometry:o(e.geometry)};return null!=e.id&&(t.id=e.id),null!=e.bbox&&(t.bbox=e.bbox),t}if(null!=e)switch(e.type){case"Feature":return s(e);case"FeatureCollection":var l={type:"FeatureCollection",features:e.features.map(s)};return null!=e.bbox&&(l.bbox=e.bbox),l;default:return o(e)}return e},e.geoQuincuncial=xr,e.geoRectangularPolyconic=function(){return J(_r).scale(131.215)},e.geoRectangularPolyconicRaw=_r,e.geoRobinson=function(){return t.geoProjection(kr).scale(152.63)},e.geoRobinsonRaw=kr,e.geoSatellite=function(){var e=2,r=0,n=t.geoProjectionMutator(Tr),i=n(e,r);return i.distance=function(t){return arguments.length?n(e=+t,r):e},i.tilt=function(t){return arguments.length?n(e,r=t*S):r*M},i.scale(432.147).clipAngle(C(1/e)*M-1e-6)},e.geoSatelliteRaw=Tr,e.geoSinuMollweide=function(){return t.geoProjection(et).rotate([-20,-55]).scale(164.263).center([0,-5.4036])},e.geoSinuMollweideRaw=et,e.geoSinusoidal=function(){return t.geoProjection(Q).scale(152.63)},e.geoSinusoidalRaw=Q,e.geoStitch=function(e){if(null==e)return e;switch(e.type){case"Feature":return Fr(e);case"FeatureCollection":var t={type:"FeatureCollection",features:e.features.map(Fr)};return null!=e.bbox&&(t.bbox=e.bbox),t;default:return Br(e)}},e.geoTimes=function(){return t.geoProjection(Nr).scale(146.153)},e.geoTimesRaw=Nr,e.geoTwoPointAzimuthal=qr,e.geoTwoPointAzimuthalRaw=Vr,e.geoTwoPointAzimuthalUsa=function(){return qr([-158,21.5],[-77,39]).clipAngle(60).scale(400)},e.geoTwoPointEquidistant=Gr,e.geoTwoPointEquidistantRaw=Hr,e.geoTwoPointEquidistantUsa=function(){return Gr([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)},e.geoVanDerGrinten=function(){return t.geoProjection(Wr).scale(79.4183)},e.geoVanDerGrintenRaw=Wr,e.geoVanDerGrinten2=function(){return t.geoProjection(Yr).scale(79.4183)},e.geoVanDerGrinten2Raw=Yr,e.geoVanDerGrinten3=function(){return t.geoProjection(Xr).scale(79.4183)},e.geoVanDerGrinten3Raw=Xr,e.geoVanDerGrinten4=function(){return t.geoProjection(Zr).scale(127.16)},e.geoVanDerGrinten4Raw=Zr,e.geoWagner=Kr,e.geoWagner7=function(){return Kr().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)},e.geoWagnerRaw=$r,e.geoWagner4=function(){return t.geoProjection(en).scale(176.84)},e.geoWagner4Raw=en,e.geoWagner6=function(){return t.geoProjection(tn).scale(152.63)},e.geoWagner6Raw=tn,e.geoWiechel=function(){return t.geoProjection(rn).rotate([0,-90,45]).scale(124.75).clipAngle(179.999)},e.geoWiechelRaw=rn,e.geoWinkel3=function(){return t.geoProjection(nn).scale(158.837)},e.geoWinkel3Raw=nn,Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof e&&typeof t<"u"?n(e,Ny(),By()):n(r.d3=r.d3||{},r.d3,r.d3)}}),Jy=m({"src/plots/geo/zoom.js"(e,t){var r=w(),n=dr(),i=jt(),a=Math.PI/180,o=180/Math.PI,s={cursor:"pointer"},l={cursor:"auto"};function c(e,t){return r.behavior.zoom().translate(t.translate()).scaleExtent(t.scaleExtent()).scale(t.scale())}function u(e,t,r){var a=e.id,o=e.graphDiv,s=o.layout,l=s[a],c=o._fullLayout,u=c[a],h={},d={};function f(e,t){h[a+"."+e]=n.nestedProperty(l,e).get(),i.call("_storeDirectGUIEdit",s,c._preGUI,h);var r=n.nestedProperty(u,e);r.get()!==t&&(r.set(t),n.nestedProperty(l,e).set(t),d[a+"."+e]=t)}r(f),f("projection.scale",t.scale()/e.fitScale),f("fitbounds",!1),o.emit("plotly_relayout",d)}function h(e,t){var n=c(0,t);function i(r){var n=t.invert(e.midPt);r("center.lon",n[0]),r("center.lat",n[1])}return n.on("zoomstart",(function(){r.select(this).style(s)})).on("zoom",(function(){t.scale(r.event.scale).translate(r.event.translate),e.render(!0);var n=t.invert(e.midPt);e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.center.lon":n[0],"geo.center.lat":n[1]})})).on("zoomend",(function(){r.select(this).style(l),u(e,t,i)})),n}function d(e,t){var n,i,a,o,h,d,f,p,m,g=c(0,t);function y(e){return t.invert(e)}function v(r){var n=t.rotate(),i=t.invert(e.midPt);r("projection.rotation.lon",-n[0]),r("center.lon",i[0]),r("center.lat",i[1])}return g.on("zoomstart",(function(){r.select(this).style(s);let{x:e,y:l,width:c,height:u}=this.getBBox();n=r.event.sourceEvent?r.mouse(this):[e+c/2,l+u/2],i=t.rotate(),a=t.translate(),o=i,h=y(n)})).on("zoom",(function(){let{x:s,y:l,width:c,height:u}=this.getBBox();if(d=r.event.sourceEvent?r.mouse(this):[s+c/2,l+u/2],function(e){var r=y(e);if(!r)return!0;var n=t(r);return Math.abs(n[0]-e[0])>2||Math.abs(n[1]-e[1])>2}(n))return g.scale(t.scale()),void g.translate(t.translate());t.scale(r.event.scale),t.translate([a[0],r.event.translate[1]]),h?y(d)&&(p=y(d),f=[o[0]+(p[0]-h[0]),i[1],i[2]],t.rotate(f),o=f):h=y(n=d),m=!0,e.render(!0);var v=t.rotate(),x=t.invert(e.midPt);e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.center.lon":x[0],"geo.center.lat":x[1],"geo.projection.rotation.lon":-v[0]})})).on("zoomend",(function(){r.select(this).style(l),m&&u(e,t,v)})),g}function f(e,t){var n,i={r:t.rotate(),k:t.scale()},h=c(0,t),d=function(e){for(var t=0,n=arguments.length,i=[];++tp?(a=(h>0?90:-90)-f,i=0):(a=Math.asin(h/p)*o-f,i=Math.sqrt(p*p-h*h));var g=180-a-2*f,v=(Math.atan2(d,u)-Math.atan2(c,i))*o,x=(Math.atan2(d,u)-Math.atan2(c,-i))*o;return m(r[0],r[1],a,v)<=m(r[0],r[1],g,x)?[a,v,r[2]]:[g,x,r[2]]}(f,n,_);(!isFinite(g[0])||!isFinite(g[1])||!isFinite(g[2]))&&(g=_),t.rotate(g),_=g}}else x=c,n=p(t,x);!function(e){e({type:"zoom"})}(d.of(this,arguments))})),function(e){f++||e({type:"zoomstart"})}(d.of(this,arguments))})).on("zoomend",(function(){var n;r.select(this).style(l),g.call(h,"zoom",null),n=d.of(this,arguments),--f||n({type:"zoomend"}),u(e,t,x)})).on("zoom.redraw",(function(){e.render(!0);var r=t.rotate();e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.projection.rotation.lon":-r[0],"geo.projection.rotation.lat":-r[1]})})),r.rebind(h,d,"on")}function p(e,t){var r=e.invert(t);return r&&isFinite(r[0])&&isFinite(r[1])&&function(e){var t=e[0]*a,r=e[1]*a,n=Math.cos(r);return[n*Math.cos(t),n*Math.sin(t),Math.sin(r)]}(r)}function m(e,t,r,n){var i=g(r-e),a=g(n-t);return Math.sqrt(i*i+a*a)}function g(e){return(e%360+540)%360-180}function y(e,t,r){var n=r*a,i=e.slice(),o=0===t?1:0,s=2===t?1:2,l=Math.cos(n),c=Math.sin(n);return i[o]=e[o]*l-e[s]*c,i[s]=e[s]*l+e[o]*c,i}function v(e,t){for(var r=0,n=0,i=e.length;n0&&o._module.calcGeoJSON(a,t)}if(!r){if(this.updateProjection(e,t))return;(!this.viewInitial||this.scope!==n.scope)&&this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(t,n),this.updateDims(t,n),this.updateFx(t,n),f.generalUpdatePerTraceModule(this.graphDiv,this,e,n);var s=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=s.selectAll(".point"),this.dataPoints.text=s.selectAll("text"),this.dataPaths.line=s.selectAll(".js-line");var l=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=l.selectAll("path"),this._render()},C.updateProjection=function(e,t){var r,s=this.graphDiv,c=t[this.id],u=t._size,h=c.domain,d=c.projection,f=c.lonaxis,p=c.lataxis,g=f._ax,y=p._ax,v=this.projection=function(e){var t=e.projection,r=t.type,s=_.projNames[r];s="geo"+l.titleCase(s);for(var c=(n[s]||o[s])(),u=e._isSatellite?180*Math.acos(1/t.distance)/Math.PI:e._isClipped?_.lonaxisSpan[r]/2:null,h=["center","rotate","parallels","clipExtent"],d=function(e){return e?c:[]},f=0;fu*Math.PI/180}return!1},c.getPath=function(){return i().projection(c)},c.getBounds=function(e){return c.getPath().bounds(e)},c.precision(_.precision),e._isSatellite&&c.tilt(t.tilt).distance(t.distance),u&&c.clipAngle(u-_.clipPad),c}(c),x=[[u.l+u.w*h.x[0],u.t+u.h*(1-h.y[1])],[u.l+u.w*h.x[1],u.t+u.h*(1-h.y[0])]],b=c.center||{},w=d.rotation||{},k=f.range||[],A=p.range||[];if(c.fitbounds){if(g._length=x[1][0]-x[0][0],y._length=x[1][1]-x[0][1],g.range=m(s,g),y.range=m(s,y),!this.hasChoropleth&&"locations"===c.fitbounds){for(var M=[],S=!1,E=0;E0?(g.range[1]-g.range[0]-D)/2*(O[1]-O[0])/D:0;g.range=[O[0]-R,O[1]+R]}}}var j=(g.range[0]+g.range[1])/2,F=(y.range[0]+y.range[1])/2;if(c._isScoped)b={lon:j,lat:F};else if(c._isClipped){b={lon:j,lat:F},w={lon:j,lat:F,roll:w.roll};var B=d.type,N=_.lonaxisSpan[B]/2||180,U=_.lataxisSpan[B]/2||90;k=[j-N,j+N],A=[F-U,F+U]}else b={lon:j,lat:F},w={lon:j,lat:w.lat,roll:w.roll}}v.center([b.lon-w.lon,b.lat-w.lat]).rotate([-w.lon,-w.lat,w.roll]).parallels(d.parallels);var V=L(k,A);v.fitExtent(x,V);var q=this.bounds=v.getBounds(V),H=this.fitScale=v.scale(),G=v.translate();if(v.scaleExtent=()=>{var e;let{minscale:t}=d,r=null!=(e=d.maxscale)?e:1/0;return[H*Math.min(t,r),H*Math.max(t,r)]},c.fitbounds){var W=v.getBounds(L(g.range,y.range)),Y=Math.min((q[1][0]-q[0][0])/(W[1][0]-W[0][0]),(q[1][1]-q[0][1])/(W[1][1]-W[0][1]));isFinite(Y)?v.scale(Y*H):l.warn("Something went wrong during"+this.id+"fitbounds computations.")}else v.scale(d.scale*H);var X=this.midPt=[(q[0][0]+q[1][0])/2,(q[0][1]+q[1][1])/2];if(v.translate([G[0]+(X[0]-G[0]),G[1]+(X[1]-G[1])]).clipExtent(q),c._isAlbersUsa){var Z=v([b.lon,b.lat]);if(Z){var $=v.translate();v.translate([$[0]-(Z[0]-$[0]),$[1]-(Z[1]-$[1])])}}},C.updateBaseLayers=function(e,t){var n=this,i=n.topojson,a=n.layers,o=n.basePaths;function s(e){return"lonaxis"===e||"lataxis"===e}function l(e){return!!_.lineLayers[e]}function c(e){return!!_.fillLayers[e]}var d=(this.hasChoropleth?_.layersForChoropleth:_.layers).filter((function(e){return l(e)||c(e)?t["show"+e]:!s(e)||t[e].showgrid})),f=n.framework.selectAll(".layer").data(d,String);f.exit().each((function(e){delete a[e],delete o[e],r.select(this).remove()})),f.enter().append("g").attr("class",(function(e){return"layer "+e})).each((function(e){var t=a[e]=r.select(this);"bg"===e?n.bgRect=t.append("rect").style("pointer-events","all"):s(e)?o[e]=t.append("path").style("fill","none"):"backplot"===e?t.append("g").classed("choroplethlayer",!0):"frontplot"===e?t.append("g").classed("scatterlayer",!0):l(e)?o[e]=t.append("path").style("fill","none").style("stroke-miterlimit",2):c(e)&&(o[e]=t.append("path").style("stroke","none"))})),f.order(),f.each((function(r){var n=o[r],a=_.layerNameToAdjective[r];"frame"===r?n.datum(_.sphereSVG):l(r)||c(r)?n.datum(S(i,i.objects[r])):s(r)&&n.datum(function(e,t,r){var n,i,a,o=t[e],s=_.scopeDefaults[t.scope];"lonaxis"===e?(n=s.lonaxisRange,i=s.lataxisRange,a=function(e,t){return[e,t]}):"lataxis"===e&&(n=s.lataxisRange,i=s.lonaxisRange,a=function(e,t){return[t,e]});var l={type:"linear",range:[n[0],n[1]-1e-6],tick0:o.tick0,dtick:o.dtick};p.setConvert(l,r);var c=p.calcTicks(l);!t.isScoped&&"lonaxis"===e&&c.pop();for(var u=c.length,h=new Array(u),d=0;di)&&e.event(a)}a.on("dblclick.zoom",(function(){var e=n.viewInitial,t={};for(var r in e)t[n.id+"."+r]=e[r];s.call("_guiRelayout",i,t),i.emit("plotly_doubleclick",null)})),i._context._scrollZoom.geo||a.on("wheel.zoom",null)}else("select"===o||"lasso"===o)&&(a.on(".zoom",null),u.prepFn=function(e,t,r){y(e,t,r,u,o)},g.init(u));a.on("mousemove",(function(){var e=n.projection.invert(l.getPositionFromD3Event());if(!e)return g.unhover(i,r.event);n.xaxis.p2c=function(){return e[0]},n.yaxis.p2c=function(){return e[1]},d.hover(i,r.event,n.id)})),a.on("mouseout",(function(){i._dragging||g.unhover(i,r.event)})),a.on("click",(function(){"select"!==o&&"lasso"!==o&&(c.indexOf("select")>-1&&x(r.event,i,[n.xaxis],[n.yaxis],n.id,u),c.indexOf("event")>-1&&d.click(i,r.event))}))}function h(e){return n.projection.invert([e[0]+n.xaxis._offset,e[1]+n.yaxis._offset])}},C.makeFramework=function(){var e=this,t=e.graphDiv,n=t._fullLayout,i="clip"+n._uid+e.id;e.clipDef=n._clips.append("clipPath").attr("id",i),e.clipRect=e.clipDef.append("rect"),e.framework=r.select(e.container).append("g").attr("class","geo "+e.id).call(h.setClipUrl,i,t),e.project=function(t){var r=e.projection(t);return r?[r[0]-e.xaxis._offset,r[1]-e.yaxis._offset]:[null,null]},e.xaxis={_id:"x",c2p:function(t){return e.project(t)[0]}},e.yaxis={_id:"y",c2p:function(t){return e.project(t)[1]}},e.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},p.setConvert(e.mockAxis,n)},C.saveViewInitial=function(e){var t,r=e.center||{},n=e.projection,i=n.rotation||{};this.viewInitial={fitbounds:e.fitbounds,"projection.scale":n.scale},t=e._isScoped?{"center.lon":r.lon,"center.lat":r.lat}:e._isClipped?{"projection.rotation.lon":i.lon,"projection.rotation.lat":i.lat,"center.lon":r.lon,"center.lat":r.lat}:{"center.lon":r.lon,"center.lat":r.lat,"projection.rotation.lon":i.lon},l.extendFlat(this.viewInitial,t)},C.render=function(e){this._hasMarkerAngles&&e?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()},C._render=function(){var e,t=this.projection,r=t.getPath();function n(e){var r=t(e.lonlat);return r?c(r[0],r[1]):null}function i(e){return t.isLonLatOverEdges(e.lonlat)?"none":null}for(e in this.basePaths)this.basePaths[e].attr("d",r);for(e in this.dataPaths)this.dataPaths[e].attr("d",(function(e){return r(e.geojson)}));for(e in this.dataPoints)this.dataPoints[e].attr("display",i).attr("transform",n)}}}),ev=m({"src/plots/geo/layout_attributes.js"(e,t){var r=je(),n=Do().attributes,i=Et().dash,a=Ly(),o=St().overrideAll,s=(Ht(),x(Ut)).default,l={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:r.lightLine},gridwidth:{valType:"number",min:0,dflt:1},griddash:i};(t.exports=o({domain:n({name:"geo"},{}),fitbounds:{valType:"enumerated",values:[!1,"locations","geojson"],dflt:"locations",editType:"plot"},resolution:{valType:"enumerated",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:"enumerated",values:s(a.scopeDefaults),dflt:"world"},projection:{type:{valType:"enumerated",values:s(a.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},minscale:{valType:"number",min:0,dflt:0},maxscale:{valType:"number",min:0,dflt:null}},center:{lon:{valType:"number"},lat:{valType:"number"}},visible:{valType:"boolean",dflt:!0},showcoastlines:{valType:"boolean"},coastlinecolor:{valType:"color",dflt:r.defaultLine},coastlinewidth:{valType:"number",min:0,dflt:1},showland:{valType:"boolean",dflt:!1},landcolor:{valType:"color",dflt:a.landColor},showocean:{valType:"boolean",dflt:!1},oceancolor:{valType:"color",dflt:a.waterColor},showlakes:{valType:"boolean",dflt:!1},lakecolor:{valType:"color",dflt:a.waterColor},showrivers:{valType:"boolean",dflt:!1},rivercolor:{valType:"color",dflt:a.waterColor},riverwidth:{valType:"number",min:0,dflt:1},showcountries:{valType:"boolean"},countrycolor:{valType:"color",dflt:r.defaultLine},countrywidth:{valType:"number",min:0,dflt:1},showsubunits:{valType:"boolean"},subunitcolor:{valType:"color",dflt:r.defaultLine},subunitwidth:{valType:"number",min:0,dflt:1},showframe:{valType:"boolean"},framecolor:{valType:"color",dflt:r.defaultLine},framewidth:{valType:"number",min:0,dflt:1},bgcolor:{valType:"color",dflt:r.background},lonaxis:l,lataxis:l},"plot","from-root")).uirevision={valType:"any",editType:"none"}}}),tv=m({"src/plots/geo/layout_defaults.js"(e,t){var r=dr(),n=ec(),i=Mr().getSubplotData,{unwrapLonRange:a}=Gy(),o=Ly(),s=ev(),l=o.axesNames;function c(e,t,n,s){var c=i(s.fullData,"geo",s.id).map((function(e){return e.index})),u=n("resolution"),h=n("scope"),d=o.scopeDefaults[h],f=n("projection.type",d.projType),p=t._isAlbersUsa="albers usa"===f;p&&(h=t.scope="usa");var m=t._isScoped="world"!==h,g=t._isSatellite="satellite"===f,y=t._isConic=-1!==f.indexOf("conic")||"albers"===f,v=t._isClipped=!!o.lonaxisSpan[f];if(!1===e.visible){var x=r.extendDeep({},t._template);x.showcoastlines=!1,x.showcountries=!1,x.showframe=!1,x.showlakes=!1,x.showland=!1,x.showocean=!1,x.showrivers=!1,x.showsubunits=!1,x.lonaxis&&(x.lonaxis.showgrid=!1),x.lataxis&&(x.lataxis.showgrid=!1),t._template=x}for(var b=n("visible"),_=0;_null!=e[t]))||o.fitboundsIncompatible.has(f)?t.fitbounds=!1:l.forEach((({dst:e,key:t})=>e&&(e[t]=null)))}}t.exports=function(e,t,r){n(e,t,r,{type:"geo",attributes:s,handleDefaults:c,fullData:r,partition:"y"})}}}),rv=m({"src/plots/geo/index.js"(e,t){var r=Mr().getSubplotCalcData,n=dr().counterRegex,i=Qy(),a="geo",o=n(a),s={};s[a]={valType:"subplotid",dflt:a,editType:"calc"},t.exports={attr:a,name:a,idRoot:a,idRegex:o,attrRegex:o,attributes:s,layoutAttributes:ev(),supplyLayoutDefaults:tv(),plot:function(e){for(var t=e._fullLayout,n=e.calcdata,o=t._subplots[a],s=0;s")}}(e,d,s),[e]}}}),hv=m({"src/traces/choropleth/event_data.js"(e,t){t.exports=function(e,t,r,n,i){e.location=t.location,e.z=t.z;var a=n[i];return a.fIn&&a.fIn.properties&&(e.properties=a.fIn.properties),e.ct=a.ct,e}}}),dv=m({"src/traces/choropleth/select.js"(e,t){t.exports=function(e,t){var r,n,i,a,o,s=e.cd,l=e.xaxis,c=e.yaxis,u=[];if(!1===t)for(r=0;r=Math.min(P,z)&&f<=Math.max(P,z)?0:1/0}if(A=Math.min(O,D)&&p<=Math.max(O,D)?0:1/0}E=Math.sqrt(A*A+M*M),_=i[T]}}}else for(T=i.length-1;T>-1;T--)w=h[b=i[T]],k=d[b],A=c.c2p(w)-f,M=u.c2p(k)-p,(S=Math.sqrt(A*A+M*M))100},e.isDotSymbol=function(e){return"string"==typeof e?t.DOT_RE.test(e):e>200}}}),xv=m({"src/traces/scattergl/defaults.js"(e,t){var r=dr(),n=jt(),i=vv(),a=yv(),o=Li(),s=Jr(),l=Qi(),c=ea(),u=ra(),h=na(),d=oa(),f=aa();t.exports=function(e,t,p,m){function g(n,i){return r.coerce(e,t,a,n,i)}var y=!!e.marker&&i.isOpenSymbol(e.marker.symbol),v=s.isBubble(e),x=l(e,t,m,g);if(x){c(e,t,m,g),g("xhoverformat"),g("yhoverformat");var b=x>>1,s=e[o];(void 0!==r?r(s,t):s-t)>=0?(a=o,i=o-1):n=o+1}return a}function n(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)>0?(a=o,i=o-1):n=o+1}return a}function i(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)<0?(a=o,n=o+1):i=o-1}return a}function a(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)<=0?(a=o,n=o+1):i=o-1}return a}function o(e,t,r,n,i){for(;n<=i;){var a=n+i>>>1,o=e[a],s=void 0!==r?r(o,t):o-t;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function s(e,t,r,n,i,a){return"function"==typeof r?a(e,t,r,void 0===n?0:0|n,void 0===i?e.length-1:0|i):a(e,t,void 0,void 0===r?0:0|r,void 0===n?e.length-1:0|n)}t.exports={ge:function(e,t,n,i,a){return s(e,t,n,i,a,r)},gt:function(e,t,r,i,a){return s(e,t,r,i,a,n)},lt:function(e,t,r,n,a){return s(e,t,r,n,a,i)},le:function(e,t,r,n,i){return s(e,t,r,n,i,a)},eq:function(e,t,r,n,i){return s(e,t,r,n,i,o)}}}}),wv=m({"node_modules/pick-by-alias/index.js"(e,t){t.exports=function(e,t,r){var i,a,o={};if("string"==typeof t&&(t=n(t)),Array.isArray(t)){var s={};for(a=0;a1&&(e=arguments),"string"==typeof e?e=e.split(/\s/).map(parseFloat):"number"==typeof e&&(e=[e]),e.length&&"number"==typeof e[0]?t=1===e.length?{width:e[0],height:e[0],x:0,y:0}:2===e.length?{width:e[0],height:e[1],x:0,y:0}:{x:e[0],y:e[1],width:e[2]-e[0]||0,height:e[3]-e[1]||0}:e&&(t={x:(e=r(e,{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"})).left||0,y:e.top||0},null==e.width?e.right?t.width=e.right-t.x:t.width=0:t.width=e.width,null==e.height?e.bottom?t.height=e.bottom-t.y:t.height=0:t.height=e.height),t}}}),Tv=m({"node_modules/array-bounds/index.js"(e,t){t.exports=function(e,t){if(!e||null==e.length)throw Error("Argument should be an array");t=null==t?1:Math.floor(t);for(var r=Array(2*t),n=0;ni&&(i=e[o]),e[o]>>1;t.dtype||(t.dtype="array"),"string"==typeof t.dtype?p=new(u(t.dtype))(g):t.dtype&&(p=t.dtype,Array.isArray(p)&&(p.length=g));for(let e=0;en||s>1073741824){for(let e=0;er+i||_>n+i||k=A||o===s)return;let c=y[a];void 0===s&&(s=c.length);for(let t=o;t=l&&n<=p&&i>=u&&i<=m&&M.push(r)}let h=v[a],d=h[4*o+0],f=h[4*o+1],x=h[4*o+2],b=h[4*o+3],w=function(e,t){let r=null,n=0;for(;null===r;)if(r=e[4*t+n],n++,n>e.length)return null;return r}(h,o+1),S=.5*i,E=a+1;t(r,n,S,E,d,f||x||b||w),t(r,n+S,S,E,f,x||b||w),t(r+S,n,S,E,x,b||w),t(r+S,n+S,S,E,b,w)}(0,0,1,0,0,1),M},p;function w(e,t,r){let n=1,i=.5,a=.5,o=.5;for(let s=0;s1&&(i=1),i<-1&&(i=-1),(e*n-t*r<0?-1:1)*Math.acos(i)};e.default=function(e){var t=e.px,o=e.py,s=e.cx,l=e.cy,c=e.rx,u=e.ry,h=e.xAxisRotation,d=void 0===h?0:h,f=e.largeArcFlag,p=void 0===f?0:f,m=e.sweepFlag,g=void 0===m?0:m,y=[];if(0===c||0===u)return[];var v=Math.sin(d*r/360),x=Math.cos(d*r/360),b=x*(t-s)/2+v*(o-l)/2,_=-v*(t-s)/2+x*(o-l)/2;if(0===b&&0===_)return[];c=Math.abs(c),u=Math.abs(u);var w=Math.pow(b,2)/Math.pow(c,2)+Math.pow(_,2)/Math.pow(u,2);w>1&&(c*=Math.sqrt(w),u*=Math.sqrt(w));var k=function(e,t,n,i,o,s,l,c,u,h,d,f){var p=Math.pow(o,2),m=Math.pow(s,2),g=Math.pow(d,2),y=Math.pow(f,2),v=p*m-p*y-m*g;v<0&&(v=0),v/=p*y+m*g;var x=(v=Math.sqrt(v)*(l===c?-1:1))*o/s*f,b=v*-s/o*d,_=h*x-u*b+(e+n)/2,w=u*x+h*b+(t+i)/2,k=(d-x)/o,T=(f-b)/s,A=(-d-x)/o,M=(-f-b)/s,S=a(1,0,k,T),E=a(k,T,A,M);return 0===c&&E>0&&(E-=r),1===c&&E<0&&(E+=r),[_,w,S,E]}(t,o,s,l,c,u,p,g,v,x,b,_),T=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!t||r.length!==t);n=!0);}catch(e){i=!0,a=e}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}(k,4),A=T[0],M=T[1],S=T[2],E=T[3],C=Math.abs(E)/(r/4);Math.abs(1-C)<1e-7&&(C=1);var L=Math.max(Math.ceil(C),1);E/=L;for(var I=0;I4?(o=g[g.length-4],s=g[g.length-3]):(o=d,s=f),a.push(g)}return a};var r=Pv();function n(e,t,r,n){return["C",e,t,r,n,r,n]}function i(e,t,r,n,i,a){return["C",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}}}),Ov=m({"node_modules/is-svg-path/index.js"(e,t){t.exports=function(e){return"string"==typeof e&&(e=e.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(e)&&/[\dz]$/i.test(e)&&e.length>4))}}}),Dv=m({"node_modules/svg-path-bounds/index.js"(e,t){var r=tn(),n=Iv(),i=zv(),a=Ov(),o=Uh();t.exports=function(e){if(Array.isArray(e)&&1===e.length&&"string"==typeof e[0]&&(e=e[0]),"string"==typeof e&&(o(a(e),"String is not an SVG path."),e=r(e)),o(Array.isArray(e),"Argument should be a string or an array of path segments."),e=n(e),!(e=i(e)).length)return[0,0,0,0];for(var t=[1/0,1/0,-1/0,-1/0],s=0,l=e.length;st[2]&&(t[2]=c[u+0]),c[u+1]>t[3]&&(t[3]=c[u+1]);return t}}}),Rv=m({"node_modules/normalize-svg-path/index.js"(e,t){var r=Math.PI,n=l(120);function i(e,t,r,n){return["C",e,t,r,n,r,n]}function a(e,t,r,n,i,a){return["C",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function o(e,t,i,a,l,c,u,h,d,f){if(f)k=f[0],T=f[1],_=f[2],w=f[3];else{var p=s(e,t,-l);e=p.x,t=p.y;var m=(e-(h=(p=s(h,d,-l)).x))/2,g=(t-(d=p.y))/2,y=m*m/(i*i)+g*g/(a*a);y>1&&(i*=y=Math.sqrt(y),a*=y);var v=i*i,x=a*a,b=(c==u?-1:1)*Math.sqrt(Math.abs((v*x-v*g*g-x*m*m)/(v*g*g+x*m*m)));b==1/0&&(b=1);var _=b*i*g/a+(e+h)/2,w=b*-a*m/i+(t+d)/2,k=Math.asin(((t-w)/a).toFixed(9)),T=Math.asin(((d-w)/a).toFixed(9));(k=e<_?r-k:k)<0&&(k=2*r+k),(T=h<_?r-T:T)<0&&(T=2*r+T),u&&k>T&&(k-=2*r),!u&&T>k&&(T-=2*r)}if(Math.abs(T-k)>n){var A=T,M=h,S=d;T=k+n*(u&&T>k?1:-1);var E=o(h=_+i*Math.cos(T),d=w+a*Math.sin(T),i,a,l,0,u,M,S,[T,A,_,w])}var C=Math.tan((T-k)/4),L=4/3*i*C,I=4/3*a*C,P=[2*e-(e+L*Math.sin(k)),2*t-(t-I*Math.cos(k)),h+L*Math.sin(T),d-I*Math.cos(T),h,d];if(f)return P;E&&(P=P.concat(E));for(var z=0;z7&&(r.push(y.splice(0,7)),y.unshift("C"));break;case"S":var x=f,b=p;("C"==t||"S"==t)&&(x+=x-n,b+=b-s),y=["C",x,b,y[1],y[2],y[3],y[4]];break;case"T":"Q"==t||"T"==t?(h=2*f-h,d=2*p-d):(h=f,d=p),y=a(f,p,h,d,y[1],y[2]);break;case"Q":h=y[1],d=y[2],y=a(f,p,y[1],y[2],y[3],y[4]);break;case"L":y=i(f,p,y[1],y[2]);break;case"H":y=i(f,p,y[1],p);break;case"V":y=i(f,p,f,y[1]);break;case"Z":y=i(f,p,c,u)}t=v,f=y[y.length-2],p=y[y.length-1],y.length>4?(n=y[y.length-4],s=y[y.length-3]):(n=f,s=p),r.push(y)}return r}}}),jv=m({"node_modules/draw-svg-path/index.js"(e,t){var r=Iv(),n=Rv(),i={M:"moveTo",C:"bezierCurveTo"};t.exports=function(e,t){e.beginPath(),n(r(t)).forEach((function(t){var r=t[0],n=t.slice(1);e[i[r]].apply(e,n)})),e.closePath()}}}),Fv=m({"node_modules/bitmap-sdf/index.js"(e,t){var r=yg();t.exports=function(e,t){t||(t={});var a,o,s,l,c,u,h,d,f,p,m,g=null==t.cutoff?.25:t.cutoff,y=null==t.radius?8:t.radius,v=t.channel||0;if(ArrayBuffer.isView(e)||Array.isArray(e)){if(!t.width||!t.height)throw Error("For raw data width and height should be provided by options");a=t.width,o=t.height,l=e,u=t.stride?t.stride:Math.floor(e.length/a/o)}else window.HTMLCanvasElement&&e instanceof window.HTMLCanvasElement?(h=(d=e).getContext("2d"),a=d.width,o=d.height,l=(f=h.getImageData(0,0,a,o)).data,u=4):window.CanvasRenderingContext2D&&e instanceof window.CanvasRenderingContext2D?(h=e,a=(d=e.canvas).width,o=d.height,l=(f=h.getImageData(0,0,a,o)).data,u=4):window.ImageData&&e instanceof window.ImageData&&(f=e,a=e.width,o=e.height,l=f.data,u=4);if(s=Math.max(a,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(c=l,l=Array(a*o),p=0,m=c.length;p0?"white":"black",c.lineWidth=Math.abs(f)),c.translate(.5*u,.5*h),c.scale(g,g),function(){if(null!=r)return r;var e=document.createElement("canvas").getContext("2d");if(e.canvas.width=e.canvas.height=1,!window.Path2D)return r=!1;var t=new Path2D("M0,0h1v1h-1v-1Z");e.fillStyle="black",e.fill(t);var n=e.getImageData(0,0,1,1);return r=n&&n.data&&255===n.data[3]}()){var y=new Path2D(e);c.fill(y),f&&c.stroke(y)}else{var v=i(e);a(c,v),c.fill(),f&&c.stroke()}return c.setTransform(1,0,0,1,0,0),s(c,{cutoff:null!=t.cutoff?t.cutoff:.5,radius:null!=t.radius?t.radius:.5*d})}}}),Nv=m({"src/traces/scattergl/convert.js"(e,t){var r=S(),n=Bv(),i=xg(),a=jt(),o=dr(),s=o.isArrayOrTypedArray,l=nn(),c=kr(),u=_g().formatColor,h=Jr(),d=Qr(),f=vv(),p=gv(),m=Ne().DESELECTDIM,g={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},y=en().appendArrayPointValue;function v(e,t){var n,i=e._fullLayout,a=t._length,l=t.textfont,c=t.textposition,u=s(c)?c:[c],h=l.color,d=l.size,f=l.family,p=l.weight,m=l.style,g=l.variant,v={},b=e._context.plotGlPixelRatio,_=t.texttemplate;if(_){v.text=[];var w=i._d3locale,k=Array.isArray(_),T=k?Math.min(_.length,a):a,A=k?function(e){return _[e]}:function(){return _};for(n=0;n500?"bold":"normal":e}function b(e,t){var r,n,a=t._length,o=t.marker,l={},c=s(o.symbol),h=s(o.angle),p=s(o.color),m=s(o.line.color),g=s(o.opacity),y=s(o.size),v=s(o.line.width);if(c||(n=f.isOpenSymbol(o.symbol)),c||p||m||g||h){l.symbols=new Array(a),l.angles=new Array(a),l.colors=new Array(a),l.borderColors=new Array(a);var x=o.symbol,b=o.angle,_=u(o,o.opacity,a),w=u(o.line,o.opacity,a);if(!s(w[0])){var k=w;for(w=Array(a),r=0;rp.TOO_MANY_POINTS||h.hasMarkers(t)?"rect":"round";if(c&&t.connectgaps){var d=n[0],f=n[1];for(i=0;i1?c[i]:c[0]:c,m=s(u)?u.length>1?u[i]:u[0]:u,y=g[p],v=g[m],x=d?d/.8+1:0,b=-v*x-.5*v;o.offset[i]=[y*x/f,b/f]}}return o}}}}),Uv=m({"src/traces/scattergl/scene_update.js"(e,t){var r=dr();t.exports=function(e,t){var n=t._scene,i={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},a={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return t._scene||((n=t._scene={}).init=function(){r.extendFlat(n,a,i)},n.init(),n.update=function(e){var t=r.repeat(e,n.count);if(n.fill2d&&n.fill2d.update(t),n.scatter2d&&n.scatter2d.update(t),n.line2d&&n.line2d.update(t),n.error2d&&n.error2d.update(t.concat(t)),n.select2d&&n.select2d.update(t),n.glText)for(var i=0;i=m,w=2*b,k={},T=y.makeCalcdata(t,"x"),A=v.makeCalcdata(t,"y"),M=o(t,y,"x",T),S=o(t,v,"y",A),E=M.vals,C=S.vals;t._x=E,t._y=C,t.xperiodalignment&&(t._origX=T,t._xStarts=M.starts,t._xEnds=M.ends),t.yperiodalignment&&(t._origY=A,t._yStarts=S.starts,t._yEnds=S.ends);var L=new Array(w),I=new Array(b);for(a=0;a1&&n.extendFlat(s.line,d.linePositions(e,r,i)),s.errorX||s.errorY){var l=d.errorBarPositions(e,r,i,a,o);s.errorX&&n.extendFlat(s.errorX,l.x),s.errorY&&n.extendFlat(s.errorY,l.y)}return s.text&&(n.extendFlat(s.text,{positions:i},d.textPosition(e,r,s.text,s.marker)),n.extendFlat(s.textSel,{positions:i},d.textPosition(e,r,s.text,s.markerSel)),n.extendFlat(s.textUnsel,{positions:i},d.textPosition(e,r,s.text,s.markerUnsel))),s}(e,0,t,L,E,C),O=f(e,x);return u(s,t),_?z.marker&&(P=z.marker.sizeAvg||Math.max(z.marker.size,3)):P=l(t,b),c(e,t,y,v,E,C,P),z.errorX&&g(t,y,z.errorX),z.errorY&&g(t,v,z.errorY),z.fill&&!O.fill2d&&(O.fill2d=!0),z.marker&&!O.scatter2d&&(O.scatter2d=!0),z.line&&!O.line2d&&(O.line2d=!0),(z.errorX||z.errorY)&&!O.error2d&&(O.error2d=!0),z.text&&!O.glText&&(O.glText=!0),z.marker&&(z.marker.snap=b),O.lineOptions.push(z.line),O.errorXOptions.push(z.errorX),O.errorYOptions.push(z.errorY),O.fillOptions.push(z.fill),O.markerOptions.push(z.marker),O.markerSelectedOptions.push(z.markerSel),O.markerUnselectedOptions.push(z.markerUnsel),O.textOptions.push(z.text),O.textSelectedOptions.push(z.textSel),O.textUnselectedOptions.push(z.textUnsel),O.selectBatch.push([]),O.unselectBatch.push([]),k._scene=O,k.index=O.count,k.x=E,k.y=C,k.positions=L,O.count++,[{x:!1,y:!1,t:k,trace:t}]}}}),qv=m({"src/traces/scattergl/edit_style.js"(e,t){var r=dr(),n=Fe(),i=Ne().DESELECTDIM;t.exports={styleTextSelection:function(e){var t,a,o=e[0],s=o.trace,l=o.t,c=l._scene,u=l.index,h=c.selectBatch[u],d=c.unselectBatch[u],f=c.textOptions[u],p=c.textSelectedOptions[u]||{},m=c.textUnselectedOptions[u]||{},g=r.extendFlat({},f);if(h.length||d.length){var y=p.color,v=m.color,x=f.color,b=r.isArrayOrTypedArray(x);for(g.color=new Array(s._length),t=0;t>>24,n=(16711680&e)>>>16,i=(65280&e)>>>8,a=255&e;return!1===t?[r,n,i,a]:[r/255,n/255,i/255,a/255]}}}),Yv=m({"node_modules/object-assign/index.js"(e,t){var r=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch{return!1}}()?Object.assign:function(e,t){for(var a,o,s=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),l=1;le.length)&&(t=e.length);for(var r=0,n=new Array(t);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"]),c.vert=h(["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"]),m&&(c.frag=c.frag.replace("smoothstep","smoothStep"),l.frag=l.frag.replace("smoothstep","smoothStep")),this.drawCircle=e(c)}x.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},x.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},x.prototype.draw=function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;nn)?t.tree=c(e,{bounds:h}):n&&n.length&&(t.tree=n),t.tree){var d={primitive:"points",usage:"static",data:t.tree,type:"uint32"};t.elements?t.elements(d):t.elements=o.elements(d)}var f=g.float32(e);return i({data:f,usage:"dynamic"}),a({data:g.fract32(e,f),usage:"dynamic"}),l({data:new Uint8Array(u),type:"uint8",usage:"stream"}),e}},{marker:function(t,r,n){var i=r.activation;if(i.forEach((function(e){return e&&e.destroy&&e.destroy()})),i.length=0,t&&"number"!=typeof t[0]){for(var a=[],s=0,l=Math.min(t.length,r.count);s=0)return a;if(e instanceof Uint8Array||e instanceof Uint8ClampedArray)t=e;else{t=new Uint8Array(e.length);for(var o=0,s=e.length;o4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===i.length?i[0]:i},x.prototype.updatePalette=function(e){if(!this.tooManyColors){var t=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*e.length/t);if(n>1)for(var i=.25*(e=e.slice()).length%t;i80*r){i=s=e[0],o=l=e[1];for(var x=r;xs&&(s=c),d>l&&(l=d);f=0!==(f=Math.max(s-i,l-o))?32767/f:0}return a(y,v,r,i,o,f,0),v}function n(e,t,r,n,i){var a,o;if(i===S(e,t,r,n)>0)for(a=t;a=t;a-=n)o=T(a,e[a],e[a+1],o);return o&&v(o,o.next)&&(A(o),o=o.next),o}function i(e,t){if(!e)return e;t||(t=e);var r,n=e;do{if(r=!1,n.steiner||!v(n,n.next)&&0!==y(n.prev,n,n.next))n=n.next;else{if(A(n),(n=t=n.prev)===n.next)break;r=!0}}while(r||n!==t);return t}function a(e,t,r,n,u,h,d){if(e){!d&&h&&function(e,t,r,n){var i=e;do{0===i.z&&(i.z=f(i.x,i.y,t,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,function(e){var t,r,n,i,a,o,s,l,c=1;do{for(r=e,e=null,a=null,o=0;r;){for(o++,n=r,s=0,t=0;t0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(e,n,u,h);for(var p,m,g=e;e.prev!==e.next;)if(p=e.prev,m=e.next,h?s(e,n,u,h):o(e))t.push(p.i/r|0),t.push(e.i/r|0),t.push(m.i/r|0),A(e),e=m.next,g=m.next;else if((e=m)===g){d?1===d?a(e=l(i(e),t,r),t,r,n,u,h,2):2===d&&c(e,t,r,n,u,h):a(i(e),t,r,n,u,h,1);break}}}function o(e){var t=e.prev,r=e,n=e.next;if(y(t,r,n)>=0)return!1;for(var i=t.x,a=r.x,o=n.x,s=t.y,l=r.y,c=n.y,u=ia?i>o?i:o:a>o?a:o,f=s>l?s>c?s:c:l>c?l:c,p=n.next;p!==t;){if(p.x>=u&&p.x<=d&&p.y>=h&&p.y<=f&&m(i,s,a,l,o,c,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;p=p.next}return!0}function s(e,t,r,n){var i=e.prev,a=e,o=e.next;if(y(i,a,o)>=0)return!1;for(var s=i.x,l=a.x,c=o.x,u=i.y,h=a.y,d=o.y,p=sl?s>c?s:c:l>c?l:c,x=u>h?u>d?u:d:h>d?h:d,b=f(p,g,t,r,n),_=f(v,x,t,r,n),w=e.prevZ,k=e.nextZ;w&&w.z>=b&&k&&k.z<=_;){if(w.x>=p&&w.x<=v&&w.y>=g&&w.y<=x&&w!==i&&w!==o&&m(s,u,l,h,c,d,w.x,w.y)&&y(w.prev,w,w.next)>=0||(w=w.prevZ,k.x>=p&&k.x<=v&&k.y>=g&&k.y<=x&&k!==i&&k!==o&&m(s,u,l,h,c,d,k.x,k.y)&&y(k.prev,k,k.next)>=0))return!1;k=k.nextZ}for(;w&&w.z>=b;){if(w.x>=p&&w.x<=v&&w.y>=g&&w.y<=x&&w!==i&&w!==o&&m(s,u,l,h,c,d,w.x,w.y)&&y(w.prev,w,w.next)>=0)return!1;w=w.prevZ}for(;k&&k.z<=_;){if(k.x>=p&&k.x<=v&&k.y>=g&&k.y<=x&&k!==i&&k!==o&&m(s,u,l,h,c,d,k.x,k.y)&&y(k.prev,k,k.next)>=0)return!1;k=k.nextZ}return!0}function l(e,t,r){var n=e;do{var a=n.prev,o=n.next.next;!v(a,o)&&x(a,n,n.next,o)&&w(a,o)&&w(o,a)&&(t.push(a.i/r|0),t.push(n.i/r|0),t.push(o.i/r|0),A(n),A(n.next),n=e=o),n=n.next}while(n!==e);return i(n)}function c(e,t,r,n,o,s){var l=e;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&g(l,c)){var u=k(l,c);return l=i(l,l.next),u=i(u,u.next),a(l,t,r,n,o,s,0),void a(u,t,r,n,o,s,0)}c=c.next}l=l.next}while(l!==e)}function u(e,t){return e.x-t.x}function h(e,t){var r=function(e,t){var r,n=t,i=e.x,a=e.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o&&(o=s,r=n.x=n.x&&n.x>=u&&i!==n.x&&m(ar.x||n.x===r.x&&d(r,n)))&&(r=n,f=l)),n=n.next}while(n!==c);return r}(e,t);if(!r)return t;var n=k(r,e);return i(n,n.next),i(r,r.next)}function d(e,t){return y(e.prev,e,t.prev)<0&&y(t.next,e,e.next)<0}function f(e,t,r,n,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-r)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-n)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function p(e){var t=e,r=e;do{(t.x=(e-o)*(a-s)&&(e-o)*(n-s)>=(r-o)*(t-s)&&(r-o)*(a-s)>=(i-o)*(n-s)}function g(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&x(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}(e,t)&&(w(e,t)&&w(t,e)&&function(e,t){var r=e,n=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==e);return n}(e,t)&&(y(e.prev,e,t.prev)||y(e,t.prev,t))||v(e,t)&&y(e.prev,e,e.next)>0&&y(t.prev,t,t.next)>0)}function y(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function v(e,t){return e.x===t.x&&e.y===t.y}function x(e,t,r,n){var i=_(y(e,t,r)),a=_(y(e,t,n)),o=_(y(r,n,e)),s=_(y(r,n,t));return!!(i!==a&&o!==s||0===i&&b(e,r,t)||0===a&&b(e,n,t)||0===o&&b(r,e,n)||0===s&&b(r,t,n))}function b(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function _(e){return e>0?1:e<0?-1:0}function w(e,t){return y(e.prev,e,e.next)<0?y(e,t,e.next)>=0&&y(e,e.prev,t)>=0:y(e,t,e.prev)<0||y(e,e.next,t)<0}function k(e,t){var r=new M(e.i,e.x,e.y),n=new M(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function T(e,t,r,n){var i=new M(e,t,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function A(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function M(e,t,r){this.i=e,this.x=t,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function S(e,t,r,n){for(var i=0,a=t,o=r-n;a0&&(n+=e[i-1].length,r.holes.push(n))}return r}}}),ex=m({"node_modules/array-normalize/index.js"(e,t){var r=Tv();t.exports=function(e,t,n){if(!e||null==e.length)throw Error("Argument should be an array");null==t&&(t=1),null==n&&(n=r(e,t));for(var i=0;i-1}}}),Mx=m({"node_modules/es5-ext/string/#/contains/index.js"(e,t){t.exports=Tx()()?String.prototype.contains:Ax()}}),Sx=m({"node_modules/d/index.js"(e,t){var r=dx(),n=gx(),i=wx(),a=kx(),o=Mx(),s=t.exports=function(e,t){var n,s,l,c,u;return arguments.length<2||"string"!=typeof e?(c=t,t=e,e=null):c=arguments[2],r(e)?(n=o.call(e,"c"),s=o.call(e,"e"),l=o.call(e,"w")):(n=l=!0,s=!1),u={value:t,configurable:n,enumerable:s,writable:l},c?i(a(c),u):u};s.gs=function(e,t,s){var l,c,u,h;return"string"!=typeof e?(u=s,s=t,t=e,e=null):u=arguments[3],r(t)?n(t)?r(s)?n(s)||(u=s,s=void 0):s=void 0:(u=t,t=s=void 0):t=void 0,r(e)?(l=o.call(e,"c"),c=o.call(e,"e")):(l=!0,c=!1),h={get:t,set:s,configurable:l,enumerable:c},u?i(a(u),h):h}}}),Ex=m({"node_modules/es5-ext/function/is-arguments.js"(e,t){var r=Object.prototype.toString,n=r.call(function(){return arguments}());t.exports=function(e){return r.call(e)===n}}}),Cx=m({"node_modules/es5-ext/string/is-string.js"(e,t){var r=Object.prototype.toString,n=r.call("");t.exports=function(e){return"string"==typeof e||e&&"object"==typeof e&&(e instanceof String||r.call(e)===n)||!1}}}),Lx=m({"node_modules/ext/global-this/is-implemented.js"(e,t){t.exports=function(){return!("object"!=typeof globalThis||!globalThis)&&globalThis.Array===Array}}}),Ix=m({"node_modules/ext/global-this/implementation.js"(e,t){var r=function(){if("object"==typeof self&&self)return self;if("object"==typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};t.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch{return r()}try{return __global__||r()}finally{delete Object.prototype.__global__}}()}}),Px=m({"node_modules/ext/global-this/index.js"(e,t){t.exports=Lx()()?globalThis:Ix()}}),zx=m({"node_modules/es6-symbol/is-implemented.js"(e,t){var r=Px(),n={object:!0,symbol:!0};t.exports=function(){var e,t=r.Symbol;if("function"!=typeof t)return!1;e=t("test symbol");try{String(e)}catch{return!1}return!(!n[typeof t.iterator]||!n[typeof t.toPrimitive]||!n[typeof t.toStringTag])}}}),Ox=m({"node_modules/es6-symbol/is-symbol.js"(e,t){t.exports=function(e){return!(!e||"symbol"!=typeof e&&(!e.constructor||"Symbol"!==e.constructor.name||"Symbol"!==e[e.constructor.toStringTag]))}}}),Dx=m({"node_modules/es6-symbol/validate-symbol.js"(e,t){var r=Ox();t.exports=function(e){if(!r(e))throw new TypeError(e+" is not a symbol");return e}}}),Rx=m({"node_modules/es6-symbol/lib/private/generate-name.js"(e,t){var r=Sx(),n=Object.create,i=Object.defineProperty,a=Object.prototype,o=n(null);t.exports=function(e){for(var t,n,s=0;o[e+(s||"")];)++s;return o[e+=s||""]=!0,i(a,t="@@"+e,r.gs(null,(function(e){n||(n=!0,i(this,t,r(e)),n=!1)}))),t}}}),jx=m({"node_modules/es6-symbol/lib/private/setup/standard-symbols.js"(e,t){var r=Sx(),n=Px().Symbol;t.exports=function(e){return Object.defineProperties(e,{hasInstance:r("",n&&n.hasInstance||e("hasInstance")),isConcatSpreadable:r("",n&&n.isConcatSpreadable||e("isConcatSpreadable")),iterator:r("",n&&n.iterator||e("iterator")),match:r("",n&&n.match||e("match")),replace:r("",n&&n.replace||e("replace")),search:r("",n&&n.search||e("search")),species:r("",n&&n.species||e("species")),split:r("",n&&n.split||e("split")),toPrimitive:r("",n&&n.toPrimitive||e("toPrimitive")),toStringTag:r("",n&&n.toStringTag||e("toStringTag")),unscopables:r("",n&&n.unscopables||e("unscopables"))})}}}),Fx=m({"node_modules/es6-symbol/lib/private/setup/symbol-registry.js"(e,t){var r=Sx(),n=Dx(),i=Object.create(null);t.exports=function(e){return Object.defineProperties(e,{for:r((function(t){return i[t]?i[t]:i[t]=e(String(t))})),keyFor:r((function(e){var t;for(t in n(e),i)if(i[t]===e)return t}))})}}}),Bx=m({"node_modules/es6-symbol/polyfill.js"(e,t){var r,n,i,a=Sx(),o=Dx(),s=Px().Symbol,l=Rx(),c=jx(),u=Fx(),h=Object.create,d=Object.defineProperties,f=Object.defineProperty;if("function"==typeof s)try{String(s()),i=!0}catch{}else s=null;n=function(e){if(this instanceof n)throw new TypeError("Symbol is not a constructor");return r(e)},t.exports=r=function e(t){var r;if(this instanceof e)throw new TypeError("Symbol is not a constructor");return i?s(t):(r=h(n.prototype),t=void 0===t?"":String(t),d(r,{__description__:a("",t),__name__:a("",l(t))}))},c(r),u(r),d(n.prototype,{constructor:a(r),toString:a("",(function(){return this.__name__}))}),d(r.prototype,{toString:a((function(){return"Symbol ("+o(this).__description__+")"})),valueOf:a((function(){return o(this)}))}),f(r.prototype,r.toPrimitive,a("",(function(){var e=o(this);return"symbol"==typeof e?e:e.toString()}))),f(r.prototype,r.toStringTag,a("c","Symbol")),f(n.prototype,r.toStringTag,a("c",r.prototype[r.toStringTag])),f(n.prototype,r.toPrimitive,a("c",r.prototype[r.toPrimitive]))}}),Nx=m({"node_modules/es6-symbol/index.js"(e,t){t.exports=zx()()?Px().Symbol:Bx()}}),Ux=m({"node_modules/es5-ext/array/#/clear.js"(e,t){var r=ox();t.exports=function(){return r(this).length=0,this}}}),Vx=m({"node_modules/es5-ext/object/valid-callable.js"(e,t){t.exports=function(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");return e}}}),qx=m({"node_modules/type/string/coerce.js"(e,t){var r=dx(),n=fx(),i=Object.prototype.toString;t.exports=function(e){if(!r(e))return null;if(n(e)){var t=e.toString;if("function"!=typeof t||t===i)return null}try{return""+e}catch{return null}}}}),Hx=m({"node_modules/type/lib/safe-to-string.js"(e,t){t.exports=function(e){try{return e.toString()}catch{try{return String(e)}catch{return null}}}}}),Gx=m({"node_modules/type/lib/to-short-string.js"(e,t){var r=Hx(),n=/[\n\r\u2028\u2029]/g;t.exports=function(e){var t=r(e);return null===t?"":(t.length>100&&(t=t.slice(0,99)+"…"),t=t.replace(n,(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")}})))}}}),Wx=m({"node_modules/type/lib/resolve-exception.js"(e,t){var r=dx(),n=fx(),i=qx(),a=Gx(),o=function(e,t){return e.replace("%v",a(t))};t.exports=function(e,t,a){if(!n(a))throw new TypeError(o(t,e));if(!r(e)){if("default"in a)return a.default;if(a.isOptional)return null}var s=i(a.errorMessage);throw r(s)||(s=t),new TypeError(o(s,e))}}}),Yx=m({"node_modules/type/value/ensure.js"(e,t){var r=Wx(),n=dx();t.exports=function(e){return n(e)?e:r(e,"Cannot use %v",arguments[1])}}}),Xx=m({"node_modules/type/plain-function/ensure.js"(e,t){var r=Wx(),n=gx();t.exports=function(e){return n(e)?e:r(e,"%v is not a plain function",arguments[1])}}}),Zx=m({"node_modules/es5-ext/array/from/is-implemented.js"(e,t){t.exports=function(){var e,t,r=Array.from;return"function"==typeof r&&!(!(t=r(e=["raz","dwa"]))||t===e||"dwa"!==t[1])}}}),$x=m({"node_modules/es5-ext/function/is-function.js"(e,t){var r=Object.prototype.toString,n=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);t.exports=function(e){return"function"==typeof e&&n(r.call(e))}}}),Kx=m({"node_modules/es5-ext/math/sign/is-implemented.js"(e,t){t.exports=function(){var e=Math.sign;return"function"==typeof e&&1===e(10)&&-1===e(-20)}}}),Jx=m({"node_modules/es5-ext/math/sign/shim.js"(e,t){t.exports=function(e){return e=Number(e),isNaN(e)||0===e?e:e>0?1:-1}}}),Qx=m({"node_modules/es5-ext/math/sign/index.js"(e,t){t.exports=Kx()()?Math.sign:Jx()}}),eb=m({"node_modules/es5-ext/number/to-integer.js"(e,t){var r=Qx(),n=Math.abs,i=Math.floor;t.exports=function(e){return isNaN(e)?0:0!==(e=Number(e))&&isFinite(e)?r(e)*i(n(e)):e}}}),tb=m({"node_modules/es5-ext/number/to-pos-integer.js"(e,t){var r=eb(),n=Math.max;t.exports=function(e){return n(0,r(e))}}}),rb=m({"node_modules/es5-ext/array/from/shim.js"(e,t){var r=Nx().iterator,n=Ex(),i=$x(),a=tb(),o=Vx(),s=ox(),l=nx(),c=Cx(),u=Array.isArray,h=Function.prototype.call,d={configurable:!0,enumerable:!0,writable:!0,value:null},f=Object.defineProperty;t.exports=function(e){var t,p,m,g,y,v,x,b,_,w,k=arguments[1],T=arguments[2];if(e=Object(s(e)),l(k)&&o(k),this&&this!==Array&&i(this))t=this;else{if(!k){if(n(e))return 1!==(y=e.length)?Array.apply(null,e):((g=new Array(1))[0]=e[0],g);if(u(e)){for(g=new Array(y=e.length),p=0;p=55296&&v<=56319&&(w+=e[++p]),w=k?h.call(k,T,w,m):w,t?(d.value=w,f(g,m,d)):g[m]=w,++m;y=m}if(void 0===y)for(y=a(e.length),t&&(g=new t(y)),p=0;p=this.__nextIndex__)){if(++this.__nextIndex__,!this.__redo__)return void u(this,"__redo__",s("c",[e]));this.__redo__.forEach((function(t,r){t>=e&&(this.__redo__[r]=++t)}),this),this.__redo__.push(e)}})),_onDelete:s((function(e){var t;e>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(t=this.__redo__.indexOf(e))&&this.__redo__.splice(t,1),this.__redo__.forEach((function(t,r){t>e&&(this.__redo__[r]=--t)}),this)))})),_onClear:s((function(){this.__redo__&&n.call(this.__redo__),this.__nextIndex__=0}))}))),u(r.prototype,c.iterator,s((function(){return this})))}}),ub=m({"node_modules/es6-iterator/array.js"(e,t){var r,n=cx(),i=Mx(),a=Sx(),o=Nx(),s=cb(),l=Object.defineProperty;r=t.exports=function(e,t){if(!(this instanceof r))throw new TypeError("Constructor requires 'new'");s.call(this,e),t=t?i.call(t,"key+value")?"key+value":i.call(t,"key")?"key":"value":"value",l(this,"__kind__",a("",t))},n&&n(r,s),delete r.prototype.constructor,r.prototype=Object.create(s.prototype,{_resolve:a((function(e){return"value"===this.__kind__?this.__list__[e]:"key+value"===this.__kind__?[e,this.__list__[e]]:e}))}),l(r.prototype,o.toStringTag,a("c","Array Iterator"))}}),hb=m({"node_modules/es6-iterator/string.js"(e,t){var r,n=cx(),i=Sx(),a=Nx(),o=cb(),s=Object.defineProperty;r=t.exports=function(e){if(!(this instanceof r))throw new TypeError("Constructor requires 'new'");e=String(e),o.call(this,e),s(this,"__length__",i("",e.length))},n&&n(r,o),delete r.prototype.constructor,r.prototype=Object.create(o.prototype,{_next:i((function(){if(this.__list__){if(this.__nextIndex__=55296&&t<=56319?r+this.__list__[this.__nextIndex__++]:r}))}),s(r.prototype,a.toStringTag,i("c","String Iterator"))}}),db=m({"node_modules/es6-iterator/is-iterable.js"(e,t){var r=Ex(),n=nx(),i=Cx(),a=Nx().iterator,o=Array.isArray;t.exports=function(e){return!(!n(e)||!(o(e)||i(e)||r(e))&&"function"!=typeof e[a])}}}),fb=m({"node_modules/es6-iterator/valid-iterable.js"(e,t){var r=db();t.exports=function(e){if(!r(e))throw new TypeError(e+" is not iterable");return e}}}),pb=m({"node_modules/es6-iterator/get.js"(e,t){var r=Ex(),n=Cx(),i=ub(),a=hb(),o=fb(),s=Nx().iterator;t.exports=function(e){return"function"==typeof o(e)[s]?e[s]():r(e)?new i(e):n(e)?new a(e):new i(e)}}}),mb=m({"node_modules/es6-iterator/for-of.js"(e,t){var r=Ex(),n=Vx(),i=Cx(),a=pb(),o=Array.isArray,s=Function.prototype.call,l=Array.prototype.some;t.exports=function(e,t){var c,u,h,d,f,p,m,g,y=arguments[2];if(o(e)||r(e)?c="array":i(e)?c="string":e=a(e),n(t),h=function(){d=!0},"array"!==c)if("string"!==c)for(u=e.next();!u.done;){if(s.call(t,y,u.value,h),d)return;u=e.next()}else for(p=e.length,f=0;f=55296&&g<=56319&&(m+=e[++f]),s.call(t,y,m,h),!d);++f);else l.call(e,(function(e){return s.call(t,y,e,h),d}))}}}),gb=m({"node_modules/es6-weak-map/is-native-implemented.js"(e,t){t.exports="function"==typeof WeakMap&&"[object WeakMap]"===Object.prototype.toString.call(new WeakMap)}}),yb=m({"node_modules/es6-weak-map/polyfill.js"(e,t){var r,n=nx(),i=cx(),a=ux(),o=ox(),s=hx(),l=Sx(),c=pb(),u=mb(),h=Nx().toStringTag,d=gb(),f=Array.isArray,p=Object.defineProperty,m=Object.prototype.hasOwnProperty,g=Object.getPrototypeOf;t.exports=r=function(){var e,t=arguments[0];if(!(this instanceof r))throw new TypeError("Constructor requires 'new'");return e=d&&i&&WeakMap!==r?i(new WeakMap,g(this)):this,n(t)&&(f(t)||(t=c(t))),p(e,"__weakMapData__",l("c","$weakMap$"+s())),t&&u(t,(function(t){o(t),e.set(t[0],t[1])})),e},d&&(i&&i(r,WeakMap),r.prototype=Object.create(WeakMap.prototype,{constructor:l(r)})),Object.defineProperties(r.prototype,{delete:l((function(e){return!!m.call(a(e),this.__weakMapData__)&&(delete e[this.__weakMapData__],!0)})),get:l((function(e){if(m.call(a(e),this.__weakMapData__))return e[this.__weakMapData__]})),has:l((function(e){return m.call(a(e),this.__weakMapData__)})),set:l((function(e,t){return p(a(e),this.__weakMapData__,l("c",t)),this})),toString:l((function(){return"[object WeakMap]"}))}),p(r.prototype,h,l("c","WeakMap"))}}),vb=m({"node_modules/es6-weak-map/index.js"(e,t){t.exports=tx()()?WeakMap:yb()}}),xb=m({"node_modules/array-find-index/index.js"(e,t){t.exports=function(e,t,r){if("function"==typeof Array.prototype.findIndex)return e.findIndex(t,r);if("function"!=typeof t)throw new TypeError("predicate must be a function");var n=Object(e),i=n.length;if(0===i)return-1;for(var a=0;a"round"===t.join?2:1,miterLimit:e.prop("miterLimit"),scale:e.prop("scale"),scaleFract:e.prop("scaleFract"),translateFract:e.prop("translateFract"),translate:e.prop("translate"),thickness:e.prop("thickness"),dashTexture:e.prop("dashTexture"),opacity:e.prop("opacity"),pixelRatio:e.context("pixelRatio"),id:e.prop("id"),dashLength:e.prop("dashLength"),viewport:(e,t)=>[t.viewport.x,t.viewport.y,e.viewportWidth,e.viewportHeight],depth:e.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:(e,t)=>!t.overlay},stencil:{enable:!1},scissor:{enable:!0,box:e.prop("viewport")},viewport:e.prop("viewport")},a=e(i({vert:"\nprecision highp float;\n\nattribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\nattribute vec4 color;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nvec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\n\t// the order is important\n\treturn position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n}\n\nvoid main() {\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineOffset = lineTop * 2. - 1.;\n\n\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n\ttangent = normalize(diff * scale * viewport.zw);\n\tvec2 normal = vec2(-tangent.y, tangent.x);\n\n\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\n\t\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\n\n\t\t+ thickness * normal * .5 * lineOffset / viewport.zw;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n}\n",frag:"\nprecision highp float;\n\nuniform float dashLength, pixelRatio, thickness, opacity, id;\nuniform sampler2D dashTexture;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nvoid main() {\n\tfloat alpha = 1.;\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",attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:e.prop("positionFractBuffer"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:e.prop("positionFractBuffer"),stride:8,offset:16,divisor:1},color:{buffer:e.prop("colorBuffer"),stride:4,offset:0,divisor:1}}},n));try{t=e(i({cull:{enable:!0,face:"back"},vert:"\nprecision highp float;\n\nattribute vec2 aCoord, bCoord, nextCoord, prevCoord;\nattribute vec4 aColor, bColor;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, translate;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\nuniform float miterLimit, miterMode;\n\nvarying vec4 fragColor;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 tangent;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nconst float REVERSE_THRESHOLD = -.875;\nconst float MIN_DIFF = 1e-6;\n\n// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\n// TODO: precalculate dot products, normalize things beforehead etc.\n// TODO: refactor to rectangular algorithm\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nbool isNaN( float val ){\n return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\n}\n\nvoid main() {\n\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\n\n vec2 adjustedScale;\n adjustedScale.x = (abs(scale.x) < MIN_DIFF) ? MIN_DIFF : scale.x;\n adjustedScale.y = (abs(scale.y) < MIN_DIFF) ? MIN_DIFF : scale.y;\n\n vec2 scaleRatio = adjustedScale * viewport.zw;\n\tvec2 normalWidth = thickness / scaleRatio;\n\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineBot = 1. - lineTop;\n\n\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\n\n\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\n\n\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\n\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\n\n\n\tvec2 prevDiff = aCoord - prevCoord;\n\tvec2 currDiff = bCoord - aCoord;\n\tvec2 nextDiff = nextCoord - bCoord;\n\n\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\n\tvec2 currTangent = normalize(currDiff * scaleRatio);\n\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\n\n\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\n\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\n\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\n\n\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\n\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\n\n\t// collapsed/unidirectional segment cases\n\t// FIXME: there should be more elegant solution\n\tvec2 prevTanDiff = abs(prevTangent - currTangent);\n\tvec2 nextTanDiff = abs(nextTangent - currTangent);\n\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\n\t\tstartJoinDirection = currNormal;\n\t}\n\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\n\t\tendJoinDirection = currNormal;\n\t}\n\tif (aCoord == bCoord) {\n\t\tendJoinDirection = startJoinDirection;\n\t\tcurrNormal = prevNormal;\n\t\tcurrTangent = prevTangent;\n\t}\n\n\ttangent = currTangent;\n\n\t//calculate join shifts relative to normals\n\tfloat startJoinShift = dot(currNormal, startJoinDirection);\n\tfloat endJoinShift = dot(currNormal, endJoinDirection);\n\n\tfloat startMiterRatio = abs(1. / startJoinShift);\n\tfloat endMiterRatio = abs(1. / endJoinShift);\n\n\tvec2 startJoin = startJoinDirection * startMiterRatio;\n\tvec2 endJoin = endJoinDirection * endMiterRatio;\n\n\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\n\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\n\tstartBotJoin = -startTopJoin;\n\n\tendTopJoin = sign(endJoinShift) * endJoin * .5;\n\tendBotJoin = -endTopJoin;\n\n\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\n\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\n\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\n\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\n\n\t//miter anti-clipping\n\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\n\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\n\n\t//prevent close to reverse direction switch\n\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) < length(normalWidth * currNormal);\n\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) < length(normalWidth * currNormal);\n\n\tif (prevReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\n\t\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\n\t\t//handle miter clipping\n\t\tbTopCoord -= normalWidth * endTopJoin;\n\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n\t}\n\n\tif (nextReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n\t\t//handle miter clipping\n\t\taBotCoord -= normalWidth * startBotJoin;\n\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n\t}\n\n\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\n\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\n\n\t//position is normalized 0..1 coord on the screen\n\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n\n\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n\n\t//bevel miter cutoffs\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n\n\t//round miter cutoffs\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n",frag:"\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",attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:e.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:e.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},n))}catch{t=a}return{fill:e({primitive:"triangle",elements:(e,t)=>t.triangles,offset:0,vert:"\nprecision highp float;\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nconst float MAX_LINES = 256.;\n\nvoid main() {\n\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\n\n\tvec2 position = position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n\tfragColor.a *= opacity;\n}\n",frag:"\nprecision highp float;\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n}\n",uniforms:{scale:e.prop("scale"),color:e.prop("fill"),scaleFract:e.prop("scaleFract"),translateFract:e.prop("translateFract"),translate:e.prop("translate"),opacity:e.prop("opacity"),pixelRatio:e.context("pixelRatio"),id:e.prop("id"),viewport:(e,t)=>[t.viewport.x,t.viewport.y,e.viewportWidth,e.viewportHeight]},attributes:{position:{buffer:e.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:e.prop("positionFractBuffer"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:a,miter:t}},p.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},p.prototype.render=function(...e){e.length&&this.update(...e),this.draw()},p.prototype.draw=function(...e){return(e.length?e:this.passes).forEach(((e,t)=>{if(e&&Array.isArray(e))return this.draw(...e);"number"==typeof e&&(e=this.passes[e]),e&&e.count>1&&e.opacity&&(this.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&this.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>p.precisionThreshold||e.scale[1]*e.viewport.height>p.precisionThreshold||"rect"===e.join||!e.join&&(e.thickness<=2||e.count>=p.maxPoints)?this.shaders.rect(e):this.shaders.miter(e)))})),this},p.prototype.update=function(e){if(!e)return;null!=e.length?"number"==typeof e[0]&&(e=[{positions:e}]):Array.isArray(e)||(e=[e]);let{regl:t,gl:h}=this;if(e.forEach(((e,m)=>{let g=this.passes[m];if(void 0!==e){if(null===e)return void(this.passes[m]=null);if("number"==typeof e[0]&&(e={positions:e}),e=a(e,{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"}),g||(this.passes[m]=g={id:m,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:t.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:t.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:t.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:t.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},e=i({},p.defaults,e)),null!=e.thickness&&(g.thickness=parseFloat(e.thickness)),null!=e.opacity&&(g.opacity=parseFloat(e.opacity)),null!=e.miterLimit&&(g.miterLimit=parseFloat(e.miterLimit)),null!=e.overlay&&(g.overlay=!!e.overlay,me-t)),t=[],i=0,a=null!=g.hole?g.hole[0]:null;if(null!=a){let t=f(e,(e=>e>=a));e=e.slice(0,t),e.push(a)}for(let n=0;nt-a+(e[n]-i))),c=s(o,l);c=c.map((t=>t+i+(t+i{e.colorBuffer.destroy(),e.positionBuffer.destroy(),e.dashTexture.destroy()})),this.passes.length=0,this}}}),_b=m({"node_modules/regl-error2d/index.js"(e,t){var r=Tv(),n=xg(),i=Zv(),a=wv(),o=Yv(),s=Mv(),{float32:l,fract32:c}=Kv();t.exports=function(e,t){if("function"==typeof e?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),!(e=t.regl).hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");let h,d,f,p,m,g,y=e._gl,v={color:"black",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},x=[];return p=e.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array(0)}),d=e.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),f=e.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),m=e.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),g=e.buffer({usage:"static",type:"float",data:u}),k(t),h=e({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:e.prop("range"),lineWidth:e.prop("lineWidth"),capSize:e.prop("capSize"),opacity:e.prop("opacity"),scale:e.prop("scale"),translate:e.prop("translate"),scaleFract:e.prop("scaleFract"),translateFract:e.prop("translateFract"),viewport:(e,t)=>[t.viewport.x,t.viewport.y,e.viewportWidth,e.viewportHeight]},attributes:{color:{buffer:p,offset:(e,t)=>4*t.offset,divisor:1},position:{buffer:d,offset:(e,t)=>8*t.offset,divisor:1},positionFract:{buffer:f,offset:(e,t)=>8*t.offset,divisor:1},error:{buffer:m,offset:(e,t)=>16*t.offset,divisor:1},direction:{buffer:g,stride:24,offset:0},lineOffset:{buffer:g,stride:24,offset:8},capOffset:{buffer:g,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:e.prop("viewport")},viewport:e.prop("viewport"),stencil:!1,instances:e.prop("count"),count:u.length}),o(b,{update:k,draw:_,destroy:T,regl:e,gl:y,canvas:y.canvas,groups:x}),b;function b(e){e?k(e):null===e&&T(),_()}function _(t){if("number"==typeof t)return w(t);t&&!Array.isArray(t)&&(t=[t]),e._refresh(),x.forEach(((e,r)=>{if(e){if(t&&(t[r]?e.draw=!0:e.draw=!1),!e.draw)return void(e.draw=!0);w(r)}}))}function w(e){"number"==typeof e&&(e=x[e]),null!=e&&e&&e.count&&e.color&&e.opacity&&e.positions&&e.positions.length>1&&(e.scaleRatio=[e.scale[0]*e.viewport.width,e.scale[1]*e.viewport.height],h(e),e.after&&e.after(e))}function k(e){if(!e)return;null!=e.length?"number"==typeof e[0]&&(e=[{positions:e}]):Array.isArray(e)||(e=[e]);let t=0,u=0;if(b.groups=x=e.map(((e,l)=>{let h=x[l];return e?("function"==typeof e?e={after:e}:"number"==typeof e[0]&&(e={positions:e}),e=a(e,{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"}),h||(x[l]=h={id:l,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},e=o({},v,e)),i(h,e,[{lineWidth:e=>.5*+e,capSize:e=>.5*+e,opacity:parseFloat,errors:e=>(e=s(e),u+=e.length,e),positions:(e,n)=>(e=s(e,"float64"),n.count=Math.floor(e.length/2),n.bounds=r(e,2),n.offset=t,t+=n.count,e)},{color:(e,t)=>{let r=t.count;if(e||(e="transparent"),!Array.isArray(e)||"number"==typeof e[0]){let t=e;e=Array(r);for(let n=0;n{let n=t.bounds;return e||(e=n),t.scale=[1/(e[2]-e[0]),1/(e[3]-e[1])],t.translate=[-e[0],-e[1]],t.scaleFract=c(t.scale),t.translateFract=c(t.translate),e},viewport:e=>{let t;return Array.isArray(e)?t={x:e[0],y:e[1],width:e[2]-e[0],height:e[3]-e[1]}:e?(t={x:e.x||e.left||0,y:e.y||e.top||0},e.right?t.width=e.right-t.x:t.width=e.w||e.width||0,e.bottom?t.height=e.bottom-t.y:t.height=e.h||e.height||0):t={x:0,y:0,width:y.drawingBufferWidth,height:y.drawingBufferHeight},t}}]),h):h})),t||u){let e=x.reduce(((e,t,r)=>e+(t?t.count:0)),0),t=new Float64Array(2*e),r=new Uint8Array(4*e),n=new Float32Array(4*e);x.forEach(((e,i)=>{if(!e)return;let{positions:a,count:o,offset:s,color:l,errors:c}=e;o&&(r.set(l,4*s),n.set(c,4*s),t.set(a,2*s))}));var h=l(t);d(h);var g=c(t,h);f(g),p(r),m(n)}}function T(){d.destroy(),f.destroy(),p.destroy(),m.destroy(),g.destroy()}};var u=[[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]]}}),wb=m({"node_modules/unquote/index.js"(e,t){var r=/[\'\"]/;t.exports=function(e){return e?(r.test(e.charAt(0))&&(e=e.substr(1)),r.test(e.charAt(e.length-1))&&(e=e.substr(0,e.length-1)),e):""}}}),kb=m({"node_modules/css-global-keywords/index.json"(e,t){t.exports=["inherit","initial","unset"]}}),Tb=m({"node_modules/css-system-font-keywords/index.json"(e,t){t.exports=["caption","icon","menu","message-box","small-caption","status-bar"]}}),Ab=m({"node_modules/css-font-weight-keywords/index.json"(e,t){t.exports=["normal","bold","bolder","lighter","100","200","300","400","500","600","700","800","900"]}}),Mb=m({"node_modules/css-font-style-keywords/index.json"(e,t){t.exports=["normal","italic","oblique"]}}),Sb=m({"node_modules/css-font-stretch-keywords/index.json"(e,t){t.exports=["normal","condensed","semi-condensed","extra-condensed","ultra-condensed","expanded","semi-expanded","extra-expanded","ultra-expanded"]}}),Eb=m({"node_modules/parenthesis/index.js"(e,t){function r(e,t){if("string"!=typeof e)return[e];var r=[e];"string"==typeof t||Array.isArray(t)?t={brackets:t}:t||(t={});var n=t.brackets?Array.isArray(t.brackets)?t.brackets:[t.brackets]:["{}","[]","()"],i=t.escape||"___",a=!!t.flat;n.forEach((function(e){var t=new RegExp(["\\",e[0],"[^\\",e[0],"\\",e[1],"]*\\",e[1]].join("")),n=[];function a(t,a,o){var s=r.push(t.slice(e[0].length,-e[1].length))-1;return n.push(s),i+s+i}r.forEach((function(e,n){for(var i,o=0;e!=i;)if(i=e,e=e.replace(t,a),o++>1e4)throw Error("References have circular dependency. Please, check them.");r[n]=e})),n=n.reverse(),r=r.map((function(t){return n.forEach((function(r){t=t.replace(new RegExp("(\\"+i+r+"\\"+i+")","g"),e[0]+"$1"+e[1])})),t}))}));var o=new RegExp("\\"+i+"([0-9]+)\\"+i);return a?r:function e(t,r,n){for(var i,a=[],s=0;i=o.exec(t);){if(s++>1e4)throw Error("Circular references in parenthesis");a.push(t.slice(0,i.index)),a.push(e(r[i[1]],r)),t=t.slice(i.index+i[0].length)}return a.push(t),a}(r[0],r)}function n(e,t){if(t&&t.flat){var r,n=t&&t.escape||"___",i=e[0];if(!i)return"";for(var a=new RegExp("\\"+n+"([0-9]+)\\"+n),o=0;i!=r;){if(o++>1e4)throw Error("Circular references in "+e);r=i,i=i.replace(a,s)}return i}return e.reduce((function e(t,r){return Array.isArray(r)&&(r=r.reduce(e,"")),t+r}),"");function s(t,r){if(null==e[r])throw Error("Reference "+r+"is undefined");return e[r]}}function i(e,t){return Array.isArray(e)?n(e,t):r(e,t)}i.parse=r,i.stringify=n,t.exports=i}}),Cb=m({"node_modules/string-split-by/index.js"(e,t){var r=Eb();t.exports=function(e,t,n){if(null==e)throw Error("First argument should be a string");if(null==t)throw Error("Separator should be a string or a RegExp");n?("string"==typeof n||Array.isArray(n))&&(n={ignore:n}):n={},null==n.escape&&(n.escape=!0),null==n.ignore?n.ignore=["[]","()","{}","<>",'""',"''","``","“”","«»"]:("string"==typeof n.ignore&&(n.ignore=[n.ignore]),n.ignore=n.ignore.map((function(e){return 1===e.length&&(e+=e),e})));var i=r.parse(e,{flat:!0,brackets:n.ignore}),a=i[0].split(t);if(n.escape){for(var o=[],s=0;s1&&t===r&&('"'===t||"'"===t))return['"'+n(e.substr(1,e.length-2))+'"'];var a=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(e);if(a)return i(e.substr(0,a.index)).concat(i(a[1])).concat(i(e.substr(a.index+a[0].length)));var o=e.split(".");if(1===o.length)return['"'+n(e)+'"'];for(var s=[],l=0;l65535)<<4,t|=r=((e>>>=t)>255)<<3,t|=r=((e>>>=r)>15)<<2,(t|=r=((e>>>=r)>3)<<1)|(e>>>=r)>>1}function f(){var e=h(8,(function(){return[]}));function t(t){var r=function(e){for(var t=16;t<=1<<28;t*=16)if(e<=t)return t;return 0}(t),n=e[d(r)>>2];return n.length>0?n.pop():new ArrayBuffer(r)}function r(t){e[d(t.byteLength)>>2].push(t)}return{alloc:t,free:r,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(e){r(e.buffer)}}}var p=f();p.zero=f();var m=3553,g=6408,y=5126,v=36160,x=function(e){return e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Uint32Array||e instanceof Int8Array||e instanceof Int16Array||e instanceof Int32Array||e instanceof Float32Array||e instanceof Float64Array||e instanceof Uint8ClampedArray};function b(e){return!!e&&"object"==typeof e&&Array.isArray(e.shape)&&Array.isArray(e.stride)&&"number"==typeof e.offset&&e.shape.length===e.stride.length&&(Array.isArray(e.data)||x(e.data))}var _=function(e){return Object.keys(e).map((function(t){return e[t]}))},w=function(e){for(var t=[],r=e;r.length;r=r[0])t.push(r.length);return t},k=function(e,t,r,n){var i=1;if(t.length)for(var a=0;a>>31<<15,a=(n<<1>>>24)-127,o=n>>13&1023;if(a<-24)t[r]=i;else if(a<-14){var s=-14-a;t[r]=i+(o+1024>>s)}else t[r]=a>15?i+31744:i+(a+15<<10)+o}return t}function G(e){return Array.isArray(e)||x(e)}var W=3553,Y=34067,X=34069,Z=6408,$=6406,K=6407,J=6409,Q=6410,ee=32855,te=6402,re=34041,ne=35904,ie=35906,ae=36193,oe=33776,se=33777,le=33778,ce=5121,ue=5123,he=5125,de=5126,fe=33071,pe=9728,me=9984,ge=9987,ye=4352,ve=33984,xe=[me,9986,9985,ge],be=[0,J,Q,K,Z],_e={};function we(e){return"[object "+e+"]"}_e[J]=_e[$]=_e[te]=1,_e[re]=_e[Q]=2,_e[K]=_e[ne]=3,_e[Z]=_e[ie]=4;var ke=we("HTMLCanvasElement"),Te=we("OffscreenCanvas"),Ae=we("CanvasRenderingContext2D"),Me=we("ImageBitmap"),Se=we("HTMLImageElement"),Ee=we("HTMLVideoElement"),Ce=Object.keys(M).concat([ke,Te,Ae,Me,Se,Ee]),Le=[];Le[ce]=1,Le[de]=4,Le[ae]=2,Le[ue]=2,Le[he]=4;var Ie=[];function Pe(e){return Array.isArray(e)&&(0===e.length||"number"==typeof e[0])}function ze(e){return!!Array.isArray(e)&&!(0===e.length||!G(e[0]))}function Oe(e){return Object.prototype.toString.call(e)}function De(e){return Oe(e)===ke}function Re(e){return Oe(e)===Te}function je(e){if(!e)return!1;var t=Oe(e);return Ce.indexOf(t)>=0||Pe(e)||ze(e)||b(e)}function Fe(e){return 0|M[Object.prototype.toString.call(e)]}function Be(e,t){return p.allocType(e.type===ae?de:e.type,t)}function Ne(e,t){e.type===ae?(e.data=H(t),p.freeType(t)):e.data=t}function Ue(e,t,r,n,i,a){var o;if(o=typeof Ie[e]<"u"?Ie[e]:_e[e]*Le[t],a&&(o*=6),i){for(var s=0,l=r;l>=1;)s+=o*l*l,l/=2;return s}return o*r*n}Ie[32854]=2,Ie[ee]=2,Ie[36194]=2,Ie[re]=4,Ie[oe]=.5,Ie[se]=.5,Ie[le]=1,Ie[33779]=1,Ie[35986]=.5,Ie[35987]=1,Ie[34798]=1,Ie[35840]=.5,Ie[35841]=.25,Ie[35842]=.5,Ie[35843]=.25,Ie[36196]=.5;var Ve=36161,qe=32854,He=[];function Ge(e,t,r){return He[e]*t*r}He[qe]=2,He[32855]=2,He[36194]=2,He[33189]=2,He[36168]=1,He[34041]=4,He[35907]=4,He[34836]=16,He[34842]=8,He[34843]=6;var We=36160,Ye=36161,Xe=3553,Ze=[];Ze[6408]=4,Ze[6407]=3;var $e=[];$e[5121]=1,$e[5126]=4,$e[36193]=2;var Ke=34963;function Je(){this.state=0,this.x=0,this.y=0,this.z=0,this.w=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.offset=0,this.stride=0,this.divisor=0}function Qe(e){return function(e){for(var t,r="0123456789abcdef",n="",i=0;i>>4&15)+r.charAt(15&t);return n}(function(e){return function(e){for(var t="",r=0;r<32*e.length;r+=8)t+=String.fromCharCode(e[r>>5]>>>24-r%32&255);return t}(function(e,t){var r,n,i,a,o,s,l,c,u,h,d,f,p=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),m=new Array(64);for(e[t>>5]|=128<<24-t%32,e[15+(t+64>>9<<4)]=t,u=0;u>2),r=0;r>5]|=(255&e.charCodeAt(r/8))<<24-r%32;return t}(e),8*e.length))}(function(e){for(var t,r,n="",i=-1;++i>>6&31,128|63&t):t<=65535?n+=String.fromCharCode(224|t>>>12&15,128|t>>>6&63,128|63&t):t<=2097151&&(n+=String.fromCharCode(240|t>>>18&7,128|t>>>12&63,128|t>>>6&63,128|63&t));return n}(e)))}function et(e,t){return e>>>t|e<<32-t}function tt(e,t){return e>>>t}function rt(e,t,r){return e&t^~e&r}function nt(e,t,r){return e&t^e&r^t&r}function it(e){return et(e,2)^et(e,13)^et(e,22)}function at(e){return et(e,6)^et(e,11)^et(e,25)}function ot(e){return et(e,7)^et(e,18)^tt(e,3)}function st(e){return et(e,17)^et(e,19)^tt(e,10)}var lt=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 ct(e,t){var r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function ut(e){return Array.prototype.slice.call(e)}function ht(e){return ut(e).join("")}var dt="xyzw".split(""),ft="dither",pt="blend.enable",mt="blend.color",gt="blend.equation",yt="blend.func",vt="depth.enable",xt="depth.func",bt="depth.range",_t="depth.mask",wt="colorMask",kt="cull.enable",Tt="cull.face",At="frontFace",Mt="lineWidth",St="polygonOffset.enable",Et="polygonOffset.offset",Ct="sample.alpha",Lt="sample.enable",It="sample.coverage",Pt="stencil.enable",zt="stencil.mask",Ot="stencil.func",Dt="stencil.opFront",Rt="stencil.opBack",jt="scissor.enable",Ft="scissor.box",Bt="viewport",Nt="profile",Ut="framebuffer",Vt="vert",qt="frag",Ht="elements",Gt="primitive",Wt="count",Yt="offset",Xt="instances",Zt="vao",$t="Width",Kt="Height",Jt=Ut+$t,Qt=Ut+Kt,er=Bt+$t,tr=Bt+Kt,rr="drawingBuffer",nr=rr+$t,ir=rr+Kt,ar=[yt,gt,Ot,Dt,Rt,It,Bt,Ft,Et],or=34962,sr=34963,lr=35664,cr=35665,ur=35666,hr=35667,dr=35668,fr=35669,pr=35671,mr=35672,gr=35673,yr=35674,vr=35675,xr=35676,br=35678,_r=35680,wr=1028,kr=1029,Tr=2305,Ar=7680,Mr={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},Sr={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Er={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},Cr={cw:2304,ccw:Tr};function Lr(e){return Array.isArray(e)||x(e)||b(e)}function Ir(e){return e.sort((function(e,t){return e===Bt?-1:t===Bt?1:e=1,n>=2,t)}if(4===r){var i=e.data;return new Pr(i.thisDep,i.contextDep,i.propDep,t)}if(5===r)return new Pr(!1,!1,!1,t);if(6===r){for(var a=!1,o=!1,s=!1,l=0;l=1&&(o=!0),u>=2&&(s=!0)}else 4===c.type&&(a=a||c.data.thisDep,o=o||c.data.contextDep,s=s||c.data.propDep)}return new Pr(a,o,s,t)}return new Pr(3===r,2===r,1===r,t)}var Rr=new Pr(!1,!1,!1,(function(){}));function jr(t,r,n,i,a,s,l,c,u,d,f,p,m,g,y,v){var x=d.Record,b={add:32774,subtract:32778,"reverse subtract":32779};n.ext_blend_minmax&&(b.min=32775,b.max=32776);var _=n.angle_instanced_arrays,w=n.webgl_draw_buffers,k=n.oes_vertex_array_object,T={dirty:!0,profile:v.profile},A={},M=[],E={},C={};function L(e){return e.replace(".","_")}function I(e,t,r){var n=L(e);M.push(e),A[n]=T[n]=!!r,E[n]=t}function P(e,t,r){var n=L(e);M.push(e),Array.isArray(r)?(T[n]=r.slice(),A[n]=r.slice()):T[n]=A[n]=r,C[n]=t}function z(e){return!!isNaN(e)}I(ft,3024),I(pt,3042),P(mt,"blendColor",[0,0,0,0]),P(gt,"blendEquationSeparate",[32774,32774]),P(yt,"blendFuncSeparate",[1,0,1,0]),I(vt,2929,!0),P(xt,"depthFunc",513),P(bt,"depthRange",[0,1]),P(_t,"depthMask",!0),P(wt,wt,[!0,!0,!0,!0]),I(kt,2884),P(Tt,"cullFace",kr),P(At,At,Tr),P(Mt,Mt,1),I(St,32823),P(Et,"polygonOffset",[0,0]),I(Ct,32926),I(Lt,32928),P(It,"sampleCoverage",[1,!1]),I(Pt,2960),P(zt,"stencilMask",-1),P(Ot,"stencilFunc",[519,0,-1]),P(Dt,"stencilOpSeparate",[wr,Ar,Ar,Ar]),P(Rt,"stencilOpSeparate",[kr,Ar,Ar,Ar]),I(jt,3089),P(Ft,"scissor",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),P(Bt,Bt,[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var O={gl:t,context:m,strings:r,next:A,current:T,draw:p,elements:s,buffer:a,shader:f,attributes:d.state,vao:d,uniforms:u,framebuffer:c,extensions:n,timer:g,isBufferArgs:Lr},D={primTypes:j,compareFuncs:Sr,blendFuncs:Mr,blendEquations:b,stencilOps:Er,glTypes:S,orientationType:Cr};w&&(D.backBuffer=[kr],D.drawBuffer=h(i.maxDrawbuffers,(function(e){return 0===e?[0]:h(e,(function(e){return 36064+e}))})));var R=0;function F(){var t=function(t){var r=t&&t.cache,n=0,i=[],a=[],o=[];function s(){var t=[],r=[];return e((function(){t.push.apply(t,ut(arguments))}),{def:function(){var e="v"+n++;return r.push(e),arguments.length>0&&(t.push(e,"="),t.push.apply(t,ut(arguments)),t.push(";")),e},toString:function(){return ht([r.length>0?"var "+r.join(",")+";":"",ht(t)])}})}function l(){var t=s(),r=s(),n=t.toString,i=r.toString;function a(e,n){r(e,n,"=",t.def(e,n),";")}return e((function(){t.apply(t,ut(arguments))}),{def:t.def,entry:t,exit:r,save:a,set:function(e,r,n){a(e,r),t(e,r,"=",n,";")},toString:function(){return n()+i()}})}var c=s(),u={};return{global:c,link:function(e,t){var r=t&&t.stable;if(!r)for(var s=0;s"u"?"Date.now()":"performance.now()"}function p(e){e(a=t.def(),"=",f(),";"),"string"==typeof i?e(c,".count+=",i,";"):e(c,".count++;"),g&&(n?e(o=t.def(),"=",h,".getNumPendingQueries();"):e(h,".beginQuery(",c,");"))}function m(e){e(c,".cpuTime+=",f(),"-",a,";"),g&&(n?e(h,".pushScopeStats(",o,",",h,".getNumPendingQueries(),",c,");"):e(h,".endQuery();"))}function y(e){var r=t.def(u,".profile");t(u,".profile=",e,";"),t.exit(u,".profile=",r,";")}if(d){if(zr(d))return void(d.enable?(p(t),m(t.exit),y("true")):y("false"));y(s=d.append(e,t))}else s=t.def(u,".profile");var v=e.block();p(v),t("if(",s,"){",v,"}");var x=e.block();m(x),t.exit("if(",s,"){",x,"}")}function W(e,t,r,n,i){var a=e.shared;n.forEach((function(n){var o,s=n.name,l=r.attributes[s];if(l){if(!i(l))return;o=l.append(e,t)}else{if(!i(Rr))return;var c=e.scopeAttrib(s);o={},Object.keys(new x).forEach((function(e){o[e]=t.def(c,".",e)}))}!function(r,n,i){var o=a.gl,s=t.def(r,".location"),l=t.def(a.attributes,"[",s,"]"),c=i.state,u=i.buffer,h=[i.x,i.y,i.z,i.w],d=["buffer","normalized","offset","stride"];function f(){t("if(!",l,".buffer){",o,".enableVertexAttribArray(",s,");}");var r,a=i.type;if(r=i.size?t.def(i.size,"||",n):n,t("if(",l,".type!==",a,"||",l,".size!==",r,"||",d.map((function(e){return l+"."+e+"!=="+i[e]})).join("||"),"){",o,".bindBuffer(",or,",",u,".buffer);",o,".vertexAttribPointer(",[s,r,a,i.normalized,i.stride,i.offset],");",l,".type=",a,";",l,".size=",r,";",d.map((function(e){return l+"."+e+"="+i[e]+";"})).join(""),"}"),_){var c=i.divisor;t("if(",l,".divisor!==",c,"){",e.instancing,".vertexAttribDivisorANGLE(",[s,c],");",l,".divisor=",c,";}")}}function p(){t("if(",l,".buffer){",o,".disableVertexAttribArray(",s,");",l,".buffer=null;","}if(",dt.map((function(e,t){return l+"."+e+"!=="+h[t]})).join("||"),"){",o,".vertexAttrib4f(",s,",",h,");",dt.map((function(e,t){return l+"."+e+"="+h[t]+";"})).join(""),"}")}1===c?f():2===c?p():(t("if(",c,"===",1,"){"),f(),t("}else{"),p(),t("}"))}(e.link(n),function(e){switch(e){case lr:case hr:case pr:return 2;case cr:case dr:case mr:return 3;case ur:case fr:case gr:return 4;default:return 1}}(n.info.type),o)}))}function Y(e,t,n,i,a,o){for(var s,l=e.shared,c=l.gl,u=0;u1){for(var M=[],S=[],E=0;E>1)",f],");")}function t(){r(p,".drawArraysInstancedANGLE(",[m,g,y,f],");")}h&&"null"!==h?x?e():(r("if(",h,"){"),e(),r("}else{"),t(),r("}")):t()}function w(){function e(){r(l+".drawElements("+[m,y,v,g+"<<(("+v+"-5121)>>1)"]+");")}function t(){r(l+".drawArrays("+[m,g,y]+");")}h&&"null"!==h?x?e():(r("if(",h,"){"),e(),r("}else{"),t(),r("}")):t()}_&&("number"!=typeof f||f>=0)?"string"==typeof f?(r("if(",f,">0){"),b(),r("}else if(",f,"<0){"),w(),r("}")):b():w()}function Z(e,t,r,n,i){var a=F(),o=a.proc("body",i);return _&&(a.instancing=o.def(a.shared.extensions,".angle_instanced_arrays")),e(a,o,r,n),a.compile().body}function $(e,t,r,n){q(e,t),r.useVAO?r.drawVAO?t(e.shared.vao,".setVAO(",r.drawVAO.append(e,t),");"):t(e.shared.vao,".setVAO(",e.shared.vao,".targetVAO);"):(t(e.shared.vao,".setVAO(null);"),W(e,t,r,n.attributes,(function(){return!0}))),Y(e,t,r,n.uniforms,(function(){return!0}),!1),X(e,t,t,r)}function K(e,t,r,n){function i(){return!0}e.batchId="a1",q(e,t),W(e,t,r,n.attributes,i),Y(e,t,r,n.uniforms,i,!1),X(e,t,t,r)}function J(e,t,r,n){q(e,t);var i=r.contextDep,a=t.def(),o=t.def();e.shared.props=o,e.batchId=a;var s=e.scope(),l=e.scope();function c(e){return e.contextDep&&i||e.propDep}function u(e){return!c(e)}if(t(s.entry,"for(",a,"=0;",a,"<","a1",";++",a,"){",o,"=","a0","[",a,"];",l,"}",s.exit),r.needsContext&&B(e,l,r.context),r.needsFramebuffer&&N(e,l,r.framebuffer),V(e,l,r.state,c),r.profile&&c(r.profile)&&H(e,l,r,!1,!0),n)r.useVAO?r.drawVAO?c(r.drawVAO)?l(e.shared.vao,".setVAO(",r.drawVAO.append(e,l),");"):s(e.shared.vao,".setVAO(",r.drawVAO.append(e,s),");"):s(e.shared.vao,".setVAO(",e.shared.vao,".targetVAO);"):(s(e.shared.vao,".setVAO(null);"),W(e,s,r,n.attributes,u),W(e,l,r,n.attributes,c)),Y(e,s,r,n.uniforms,u,!1),Y(e,l,r,n.uniforms,c,!0),X(e,s,l,r);else{var h=e.global.def("{}"),d=r.shader.progVar.append(e,l),f=l.def(d,".id"),p=l.def(h,"[",f,"]");l(e.shared.gl,".useProgram(",d,".program);","if(!",p,"){",p,"=",h,"[",f,"]=",e.link((function(e){return Z(K,0,r,e,2)})),"(",d,");}",p,".call(this,a0[",a,"],",a,");")}}function Q(e,t,r){var n=t.static[r];if(n&&function(e){if("object"==typeof e&&!G(e)){for(var t=Object.keys(e),r=0;r0)return null;var n=t.static,i=Object.keys(n);if(i.length>0&&"number"==typeof n[i[0]]){for(var a=[],o=0;o0,w={framebuffer:u,draw:m,shader:y,state:g,dirty:_,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(w.profile=function(e){var t,r=e.static,n=e.dynamic;if(Nt in r){var i=!!r[Nt];(t=Or((function(e,t){return i}))).enable=i}else if(Nt in n){var a=n[Nt];t=Dr(a,(function(e,t){return e.invoke(t,a)}))}return t}(e),w.uniforms=function(e){var t=e.static,r=e.dynamic,n={};return Object.keys(t).forEach((function(e){var r,i=t[e];if("number"==typeof i||"boolean"==typeof i)r=Or((function(){return i}));else if("function"==typeof i){var a=i._reglType;"texture2d"===a||"textureCube"===a?r=Or((function(e){return e.link(i)})):("framebuffer"===a||"framebufferCube"===a)&&(r=Or((function(e){return e.link(i.color[0])})))}else G(i)&&(r=Or((function(e){return e.global.def("[",h(i.length,(function(e){return i[e]})),"]")})));r.value=i,n[e]=r})),Object.keys(r).forEach((function(e){var t=r[e];n[e]=Dr(t,(function(e,r){return e.invoke(r,t)}))})),n}(i),w.drawVAO=w.scopeVAO=m.vao,!w.drawVAO&&y.program&&!l&&n.angle_instanced_arrays&&m.static.elements){var k=!0,T=y.program.attributes.map((function(e){var r=t.static[e];return k=k&&!!r,r}));if(k&&T.length>0){var A=d.getVAO(d.createVAO({attributes:T,elements:m.static.elements}));w.drawVAO=new Pr(null,null,null,(function(e,t){return e.link(A)})),w.useVAO=!0}}return l?w.useVAO=!0:w.attributes=function(e){var t=e.static,n=e.dynamic,i={};return Object.keys(t).forEach((function(e){var n=t[e],o=r.id(e),s=new x;if(Lr(n))s.state=1,s.buffer=a.getBuffer(a.create(n,or,!1,!0)),s.type=0;else{var l=a.getBuffer(n);if(l)s.state=1,s.buffer=l,s.type=0;else if("constant"in n){var c=n.constant;s.buffer="null",s.state=2,"number"==typeof c?s.x=c:dt.forEach((function(e,t){t"+t+"?"+n+".constant["+t+"]:0;"})).join(""),"}}else{","if(",o,"(",n,".buffer)){",u,"=",s,".createStream(",or,",",n,".buffer);","}else{",u,"=",s,".getBuffer(",n,".buffer);","}",h,'="type" in ',n,"?",a.glTypes,"[",n,".type]:",u,".dtype;",l.normalized,"=!!",n,".normalized;"),d("size"),d("offset"),d("stride"),d("divisor"),r("}}"),r.exit("if(",l.isStream,"){",s,".destroyStream(",u,");","}"),l}))})),i}(t),w.context=function(e){var t=e.static,r=e.dynamic,n={};return Object.keys(t).forEach((function(e){var r=t[e];n[e]=Or((function(e,t){return"number"==typeof r||"boolean"==typeof r?""+r:e.link(r)}))})),Object.keys(r).forEach((function(e){var t=r[e];n[e]=Dr(t,(function(e,r){return e.invoke(r,t)}))})),n}(o),w}(t,i,o,l);return m.shader.program&&(m.shader.program.attributes.sort((function(e,t){return e.name0&&r(e.shared.current,".dirty=true;"),e.shared.vao&&r(e.shared.vao,".setVAO(null);")}(p,m),function(e,t){var n=e.proc("scope",3);e.batchId="a2";var i=e.shared,a=i.current;if(B(e,n,t.context),t.framebuffer&&t.framebuffer.append(e,n),Ir(Object.keys(t.state)).forEach((function(r){var a=t.state[r],o=a.append(e,n);G(o)?o.forEach((function(t,i){z(t)?n.set(e.next[r],"["+i+"]",t):n.set(e.next[r],"["+i+"]",e.link(t,{stable:!0}))})):zr(a)?n.set(i.next,"."+r,e.link(o,{stable:!0})):n.set(i.next,"."+r,o)})),H(e,n,t,!0,!0),[Ht,Yt,Wt,Xt,Gt].forEach((function(r){var a=t.draw[r];if(a){var o=a.append(e,n);z(o)?n.set(i.draw,"."+r,o):n.set(i.draw,"."+r,e.link(o),{stable:!0})}})),Object.keys(t.uniforms).forEach((function(a){var o=t.uniforms[a].append(e,n);Array.isArray(o)&&(o="["+o.map((function(t){return z(t)?t:e.link(t,{stable:!0})}))+"]"),n.set(i.uniforms,"["+e.link(r.id(a),{stable:!0})+"]",o)})),Object.keys(t.attributes).forEach((function(r){var i=t.attributes[r].append(e,n),a=e.scopeAttrib(r);Object.keys(new x).forEach((function(e){n.set(a,"."+e,i[e])}))})),t.scopeVAO){var o=t.scopeVAO.append(e,n);z(o)?n.set(i.vao,".targetVAO",o):n.set(i.vao,".targetVAO",e.link(o,{stable:!0}))}function s(r){var a=t.shader[r];if(a){var o=a.append(e,n);z(o)?n.set(i.shader,"."+r,o):n.set(i.shader,"."+r,e.link(o,{stable:!0}))}}s(Vt),s(qt),Object.keys(t.state).length>0&&(n(a,".dirty=true;"),n.exit(a,".dirty=true;")),n("a1(",e.shared.context,",a0,",e.batchId,");")}(p,m),function(e,t){var r=e.proc("batch",2);e.batchId="0",q(e,r);var n=!1,i=!0;Object.keys(t.context).forEach((function(e){n=n||t.context[e].propDep})),n||(B(e,r,t.context),i=!1);var a=t.framebuffer,o=!1;function s(e){return e.contextDep&&n||e.propDep}a?(a.propDep?n=o=!0:a.contextDep&&n&&(o=!0),o||N(e,r,a)):N(e,r,null),t.state.viewport&&t.state.viewport.propDep&&(n=!0),U(e,r,t),V(e,r,t.state,(function(e){return!s(e)})),(!t.profile||!s(t.profile))&&H(e,r,t,!1,"a1"),t.contextDep=n,t.needsContext=i,t.needsFramebuffer=o;var l=t.shader.progVar;if(l.contextDep&&n||l.propDep)J(e,r,t,null);else{var c=l.append(e,r);if(r(e.shared.gl,".useProgram(",c,".program);"),t.shader.program)J(e,r,t,t.shader.program);else{r(e.shared.vao,".setVAO(null);");var u=e.global.def("{}"),h=r.def(c,".id"),d=r.def(u,"[",h,"]");r(e.cond(d).then(d,".call(this,a0,a1);").else(d,"=",u,"[",h,"]=",e.link((function(e){return Z(J,0,t,e,2)})),"(",c,");",d,".call(this,a0,a1);"))}}Object.keys(t.state).length>0&&r(e.shared.current,".dirty=true;"),e.shared.vao&&r(e.shared.vao,".setVAO(null);")}(p,m),e(p.compile(),{destroy:function(){m.shader.program.destroy()}})}}}var Fr="webglcontextlost",Br="webglcontextrestored";function Nr(e,t){for(var r=0;r"u"?1:window.devicePixelRatio,f=!1,p={},m=function(e){},g=function(){};if("string"==typeof o?r=document.querySelector(o):"object"==typeof o&&(function(e){return"string"==typeof e.nodeName&&"function"==typeof e.appendChild&&"function"==typeof e.getBoundingClientRect}(o)?r=o:function(e){return"function"==typeof e.drawArrays||"function"==typeof e.drawElements}(o)?i=(a=o).canvas:("gl"in o?a=o.gl:"canvas"in o?i=u(o.canvas):"container"in o&&(n=u(o.container)),"attributes"in o&&(s=o.attributes),"extensions"in o&&(l=c(o.extensions)),"optionalExtensions"in o&&(h=c(o.optionalExtensions)),"onDone"in o&&(m=o.onDone),"profile"in o&&(f=!!o.profile),"pixelRatio"in o&&(d=+o.pixelRatio),"cachedCode"in o&&(p=o.cachedCode))),r&&("canvas"===r.nodeName.toLowerCase()?i=r:n=r),!a){if(!i){var y=function(t,r,n){var i,a=document.createElement("canvas");function o(){var e=window.innerWidth,r=window.innerHeight;if(t!==document.body){var i=a.getBoundingClientRect();e=i.right-i.left,r=i.bottom-i.top}a.width=n*e,a.height=n*r}return e(a.style,{border:0,margin:0,padding:0,top:0,left:0,width:"100%",height:"100%"}),t.appendChild(a),t===document.body&&(a.style.position="absolute",e(t.style,{margin:0,padding:0})),t!==document.body&&"function"==typeof ResizeObserver?(i=new ResizeObserver((function(){setTimeout(o)}))).observe(t):window.addEventListener("resize",o,!1),o(),{canvas:a,onDestroy:function(){i?i.disconnect():window.removeEventListener("resize",o),t.removeChild(a)}}}(n||document.body,0,d);if(!y)return null;i=y.canvas,g=y.onDestroy}void 0===s.premultipliedAlpha&&(s.premultipliedAlpha=!0),a=function(e,t){function r(r){try{return e.getContext(r,t)}catch{return null}}return r("webgl")||r("experimental-webgl")||r("webgl-experimental")}(i,s)}return a?{gl:a,canvas:i,container:n,extensions:l,optionalExtensions:h,pixelRatio:d,profile:f,cachedCode:p,onDone:m,onDestroy:g}:(g(),m("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}(t);if(!r)return null;var n=r.gl,i=n.getContextAttributes(),a=(n.isContextLost(),function(e,t){var r={};function n(t){var n,i=t.toLowerCase();try{n=r[i]=e.getExtension(i)}catch{}return!!n}for(var i=0;i0)if(Array.isArray(t[0])){o=L(t);for(var c=1,u=1;u0)if("number"==typeof e[0]){var i=p.allocType(h.dtype,e.length);D(i,e),f(i,n),p.freeType(i)}else if(Array.isArray(e[0])||x(e[0])){r=L(e);var a=C(e,r,h.dtype);f(a,n),p.freeType(a)}}else if(b(e)){r=e.shape;var o=e.stride,s=0,l=0,c=0,u=0;1===r.length?(s=r[0],l=1,c=o[0],u=0):2===r.length&&(s=r[0],l=r[1],c=o[0],u=o[1]);var m=Array.isArray(e.data)?h.dtype:O(e.data),g=p.allocType(m,s*l);R(g,e.data,s,l,c,u,e.offset),f(g,n),p.freeType(g)}return d},r.profile&&(d.stats=h.stats),d.destroy=function(){c(h)},d},createStream:function(e,t){var r=o.pop();return r||(r=new a(e)),r.bind(),l(r,t,35040,0,1,!1),r},destroyStream:function(e){o.push(e)},clear:function(){_(i).forEach(c),o.forEach(c)},getBuffer:function(e){return e&&e._buffer instanceof a?e._buffer:null},restore:function(){_(i).forEach((function(t){t.buffer=e.createBuffer(),e.bindBuffer(t.type,t.buffer),e.bufferData(t.type,t.persistentData||t.byteLength,t.usage)}))},_initBuffer:l}}(n,d,r),Le=function(e,t,r,n){var i={},a=0,o={uint8:F,uint16:B};function s(e){this.id=a++,i[this.id]=this,this.buffer=e,this.primType=4,this.vertCount=0,this.type=0}t.oes_element_index_uint&&(o.uint32=N),s.prototype.bind=function(){this.buffer.bind()};var l=[];function c(n,i,a,o,s,l,c){var u;if(n.buffer.bind(),i){var h=c;!c&&(!x(i)||b(i)&&!x(i.data))&&(h=t.oes_element_index_uint?N:B),r._initBuffer(n.buffer,i,a,h,3)}else e.bufferData(U,l,a),n.buffer.dtype=u||F,n.buffer.usage=a,n.buffer.dimension=3,n.buffer.byteLength=l;if(u=c,!c){switch(n.buffer.dtype){case F:case 5120:u=F;break;case B:case 5122:u=B;break;case N:case 5124:u=N}n.buffer.dtype=u}n.type=u;var d=s;d<0&&(d=n.buffer.byteLength,u===B?d>>=1:u===N&&(d>>=2)),n.vertCount=d;var f=o;if(o<0){f=4;var p=n.buffer.dimension;1===p&&(f=0),2===p&&(f=1),3===p&&(f=4)}n.primType=f}function u(e){n.elementsCount--,delete i[e.id],e.buffer.destroy(),e.buffer=null}return{create:function(e,t){var i=r.create(null,U,!0),a=new s(i._buffer);function l(e){if(e)if("number"==typeof e)i(e),a.primType=4,a.vertCount=0|e,a.type=F;else{var t=null,r=35044,n=-1,s=-1,u=0,h=0;Array.isArray(e)||x(e)||b(e)?t=e:("data"in e&&(t=e.data),"usage"in e&&(r=E[e.usage]),"primitive"in e&&(n=j[e.primitive]),"count"in e&&(s=0|e.count),"type"in e&&(h=o[e.type]),"length"in e?u=0|e.length:(u=s,h===B||5122===h?u*=2:(h===N||5124===h)&&(u*=4))),c(a,t,r,n,s,u,h)}else i(),a.primType=4,a.vertCount=0,a.type=F;return l}return n.elementsCount++,l(e),l._reglType="elements",l._elements=a,l.subdata=function(e,t){return i.subdata(e,t),l},l.destroy=function(){u(a)},l},createStream:function(e){var t=l.pop();return t||(t=new s(r.create(null,U,!0,!1)._buffer)),c(t,e,35040,-1,-1,0,0),t},destroyStream:function(e){l.push(e)},getElements:function(e){return"function"==typeof e&&e._elements instanceof s?e._elements:null},clear:function(){_(i).forEach(u)}}}(n,T,Ce,d),Ie=function(e,t,r,n,i,a,o){for(var s=r.maxAttributes,l=new Array(s),c=0;c=f.byteLength?u.subdata(f):(u.destroy(),t.buffers[c]=null)),t.buffers[c]||(u=t.buffers[c]=i.create(h,34962,!1,!0)),d.buffer=i.getBuffer(u),d.size=0|d.buffer.dimension,d.normalized=!1,d.type=d.buffer.dtype,d.offset=0,d.stride=0,d.divisor=0,d.state=1,s[c]=1):i.getBuffer(h)?(d.buffer=i.getBuffer(h),d.size=0|d.buffer.dimension,d.normalized=!1,d.type=d.buffer.dtype,d.offset=0,d.stride=0,d.divisor=0,d.state=1):i.getBuffer(h.buffer)?(d.buffer=i.getBuffer(h.buffer),d.size=0|(+h.size||d.buffer.dimension),d.normalized=!!h.normalized||!1,d.type="type"in h?S[h.type]:d.buffer.dtype,d.offset=0|(h.offset||0),d.stride=0|(h.stride||0),d.divisor=0|(h.divisor||0),d.state=1):"x"in h&&(d.x=+h.x||0,d.y=+h.y||0,d.z=+h.z||0,d.w=+h.w||0,d.state=2)}for(var p=0;p1)for(var y=0;ye&&(e=t.stats.uniformsCount)})),e},n.getMaxAttributesCount=function(){var e=0;return h.forEach((function(t){t.stats.attributesCount>e&&(e=t.stats.attributesCount)})),e}),{clear:function(){var e=t.deleteShader.bind(t);_(a).forEach(e),a={},_(o).forEach(e),o={},h.forEach((function(e){t.deleteProgram(e.program)})),h.length=0,u={},n.shaderCount=0},program:function(r,i,s,l){var c=u[i];c||(c=u[i]={});var d=c[r];if(d&&(d.refCount++,!l))return d;var m=new f(i,r);return n.shaderCount++,p(m,0,l),d||(c[r]=m),h.push(m),e(m,{destroy:function(){if(m.refCount--,m.refCount<=0){t.deleteProgram(m.program);var e=h.indexOf(m);h.splice(e,1),n.shaderCount--}c[m.vertId].refCount<=0&&(t.deleteShader(o[m.vertId]),delete o[m.vertId],delete u[m.fragId][m.vertId]),Object.keys(u[m.fragId]).length||(t.deleteShader(a[m.fragId]),delete a[m.fragId],delete u[m.fragId])}})},restore:function(){a={},o={};for(var e=0;e=0&&(m[e]=t)}));var v=Object.keys(m);n.textureFormats=v;var T=[];Object.keys(m).forEach((function(e){var t=m[e];T[t]=e}));var A=[];Object.keys(f).forEach((function(e){var t=f[e];A[t]=e}));var M=[];Object.keys(u).forEach((function(e){M[u[e]]=e}));var S=[];Object.keys(h).forEach((function(e){var t=h[e];S[t]=e}));var E=[];Object.keys(c).forEach((function(e){E[c[e]]=e}));var C=v.reduce((function(e,t){var n=m[t];return n===J||n===$||n===J||n===Q||n===te||n===re||r.ext_srgb&&(n===ne||n===ie)?e[n]=n:n===ee||t.indexOf("rgba")>=0?e[n]=Z:e[n]=K,e}),{});function L(){this.internalformat=Z,this.format=Z,this.type=ce,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=37444,this.width=0,this.height=0,this.channels=0}function I(e,t){e.internalformat=t.internalformat,e.format=t.format,e.type=t.type,e.compressed=t.compressed,e.premultiplyAlpha=t.premultiplyAlpha,e.flipY=t.flipY,e.unpackAlignment=t.unpackAlignment,e.colorSpace=t.colorSpace,e.width=t.width,e.height=t.height,e.channels=t.channels}function P(e,t){if("object"==typeof t&&t){if("premultiplyAlpha"in t&&(e.premultiplyAlpha=t.premultiplyAlpha),"flipY"in t&&(e.flipY=t.flipY),"alignment"in t&&(e.unpackAlignment=t.alignment),"colorSpace"in t&&(e.colorSpace=d[t.colorSpace]),"type"in t){var r=t.type;e.type=f[r]}var n=e.width,i=e.height,a=e.channels,o=!1;"shape"in t?(n=t.shape[0],i=t.shape[1],3===t.shape.length&&(a=t.shape[2],o=!0)):("radius"in t&&(n=i=t.radius),"width"in t&&(n=t.width),"height"in t&&(i=t.height),"channels"in t&&(a=t.channels,o=!0)),e.width=0|n,e.height=0|i,e.channels=0|a;var s=!1;if("format"in t){var l=t.format,c=e.internalformat=m[l];e.format=C[c],l in f&&("type"in t||(e.type=f[l])),l in g&&(e.compressed=!0),s=!0}!o&&s?e.channels=_e[e.format]:o&&!s&&e.channels!==be[e.format]&&(e.format=e.internalformat=be[e.channels])}}function z(e){t.pixelStorei(37440,e.flipY),t.pixelStorei(37441,e.premultiplyAlpha),t.pixelStorei(37443,e.colorSpace),t.pixelStorei(3317,e.unpackAlignment)}function O(){L.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function D(e,t){var r=null;if(je(t)?r=t:t&&(P(e,t),"x"in t&&(e.xOffset=0|t.x),"y"in t&&(e.yOffset=0|t.y),je(t.data)&&(r=t.data)),t.copy){var n=a.viewportWidth,i=a.viewportHeight;e.width=e.width||n-e.xOffset,e.height=e.height||i-e.yOffset,e.needsCopy=!0}else if(r){if(x(r))e.channels=e.channels||4,e.data=r,!("type"in t)&&e.type===ce&&(e.type=Fe(r));else if(Pe(r))e.channels=e.channels||4,function(e,t){var r=t.length;switch(e.type){case ce:case ue:case he:case de:var n=p.allocType(e.type,r);n.set(t),e.data=n;break;case ae:e.data=H(t)}}(e,r),e.alignment=1,e.needsFree=!0;else if(b(r)){var o=r.data;!Array.isArray(o)&&e.type===ce&&(e.type=Fe(o));var s,l,c,u,h,d,f=r.shape,m=r.stride;3===f.length?(c=f[2],d=m[2]):(c=1,d=1),s=f[0],l=f[1],u=m[0],h=m[1],e.alignment=1,e.width=s,e.height=l,e.channels=c,e.format=e.internalformat=be[c],e.needsFree=!0,function(e,t,r,n,i,a){for(var o=e.width,s=e.height,l=e.channels,c=Be(e,o*s*l),u=0,h=0;h>=i,r.height>>=i,D(r,n[i]),e.mipmask|=1<=0&&!("faces"in t)&&(e.genMipmaps=!0)}if("mag"in t){var n=t.mag;e.magFilter=u[n]}var i=e.wrapS,a=e.wrapT;if("wrap"in t){var o=t.wrap;"string"==typeof o?i=a=c[o]:Array.isArray(o)&&(i=c[o[0]],a=c[o[1]])}else{if("wrapS"in t){var s=t.wrapS;i=c[s]}if("wrapT"in t){var d=t.wrapT;a=c[d]}}if(e.wrapS=i,e.wrapT=a,"anisotropic"in t&&(t.anisotropic,e.anisotropic=t.anisotropic),"mipmap"in t){var f=!1;switch(typeof t.mipmap){case"string":e.mipmapHint=l[t.mipmap],e.genMipmaps=!0,f=!0;break;case"boolean":f=e.genMipmaps=t.mipmap;break;case"object":e.genMipmaps=!1,f=!0}f&&!("min"in t)&&(e.minFilter=me)}}function Ve(e,n){t.texParameteri(n,10241,e.minFilter),t.texParameteri(n,10240,e.magFilter),t.texParameteri(n,10242,e.wrapS),t.texParameteri(n,10243,e.wrapT),r.ext_texture_filter_anisotropic&&t.texParameteri(n,34046,e.anisotropic),e.genMipmaps&&(t.hint(33170,e.mipmapHint),t.generateMipmap(n))}var qe=0,He={},Ge=n.maxTextureUnits,We=Array(Ge).map((function(){return null}));function Ye(e){L.call(this),this.mipmask=0,this.internalformat=Z,this.id=qe++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new Le,s.profile&&(this.stats={size:0})}function Xe(e){t.activeTexture(ve),t.bindTexture(e.target,e.texture)}function Ze(){var e=We[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(W,null)}function $e(e){var r=e.texture,n=e.unit,i=e.target;n>=0&&(t.activeTexture(ve+n),t.bindTexture(i,null),We[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete He[e.id],o.textureCount--}return e(Ye.prototype,{bind:function(){var e=this;e.bindCount+=1;var r=e.unit;if(r<0){for(var n=0;n0)continue;i.unit=-1}We[n]=e,r=n;break}s.profile&&o.maxTextureUnits>l)-o,c.height=c.height||(n.height>>l)-s,Xe(n),j(c,W,o,s,l),Ze(),N(c),i},i.resize=function(e,r){var a=0|e,o=0|r||a;if(a===n.width&&o===n.height)return i;i.width=n.width=a,i.height=n.height=o,Xe(n);for(var l=0;n.mipmask>>l;++l){var c=a>>l,u=o>>l;if(!c||!u)break;t.texImage2D(W,l,n.format,c,u,0,n.format,n.type,null)}return Ze(),s.profile&&(n.stats.size=Ue(n.internalformat,n.type,a,o,!1,!1)),i},i._reglType="texture2d",i._texture=n,s.profile&&(i.stats=n.stats),i.destroy=function(){n.decRef()},i},createCube:function(e,r,n,i,a,l){var c=new Ye(Y);He[c.id]=c,o.cubeCount++;var u=new Array(6);function h(e,t,r,n,i,a){var o,l=c.texInfo;for(Le.call(l),o=0;o<6;++o)u[o]=Te();if("number"!=typeof e&&e){if("object"==typeof e)if(t)q(u[0],e),q(u[1],t),q(u[2],r),q(u[3],n),q(u[4],i),q(u[5],a);else if(Ie(l,e),P(c,e),"faces"in e){var d=e.faces;for(o=0;o<6;++o)I(u[o],c),q(u[o],d[o])}else for(o=0;o<6;++o)q(u[o],e)}else{var f=0|e||1;for(o=0;o<6;++o)V(u[o],f,f)}for(I(c,u[0]),l.genMipmaps?c.mipmask=(u[0].width<<1)-1:c.mipmask=u[0].mipmask,c.internalformat=u[0].internalformat,h.width=u[0].width,h.height=u[0].height,Xe(c),o=0;o<6;++o)we(u[o],X+o);for(Ve(l,Y),Ze(),s.profile&&(c.stats.size=Ue(c.internalformat,c.type,h.width,h.height,l.genMipmaps,!0)),h.format=T[c.internalformat],h.type=A[c.type],h.mag=M[l.magFilter],h.min=S[l.minFilter],h.wrapS=E[l.wrapS],h.wrapT=E[l.wrapT],o=0;o<6;++o)Ce(u[o]);return h}return h(e,r,n,i,a,l),h.subimage=function(e,t,r,n,i){var a=0|r,o=0|n,s=0|i,l=B();return I(l,c),l.width=0,l.height=0,D(l,t),l.width=l.width||(c.width>>s)-a,l.height=l.height||(c.height>>s)-o,Xe(c),j(l,X+e,a,o,s),Ze(),N(l),h},h.resize=function(e){var r=0|e;if(r!==c.width){h.width=c.width=r,h.height=c.height=r,Xe(c);for(var n=0;n<6;++n)for(var i=0;c.mipmask>>i;++i)t.texImage2D(X+n,i,c.format,r>>i,r>>i,0,c.format,c.type,null);return Ze(),s.profile&&(c.stats.size=Ue(c.internalformat,c.type,h.width,h.height,!1,!0)),h}},h._reglType="textureCube",h._texture=c,s.profile&&(h.stats=c.stats),h.destroy=function(){c.decRef()},h},clear:function(){for(var e=0;e>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;n<6;++n)t.texImage2D(X+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);Ve(e.texInfo,e.target)}))},refresh:function(){for(var e=0;e=0?d=!0:c.indexOf(p)>=0&&(d=!1))),("depthTexture"in M||"depthStencilTexture"in M)&&(T=!(!M.depthTexture&&!M.depthStencilTexture)),"depth"in M&&("boolean"==typeof M.depth?s=M.depth:(b=M.depth,u=!1)),"stencil"in M&&("boolean"==typeof M.stencil?u=M.stencil:(_=M.stencil,s=!1)),"depthStencil"in M&&("boolean"==typeof M.depthStencil?s=u=M.depthStencil:(w=M.depthStencil,s=!1,u=!1))}else a=o=1;var E=null,C=null,L=null,I=null;if(Array.isArray(h))E=h.map(m);else if(h)E=[m(h)];else for(E=new Array(x),r=0;r0&&(s.depth=r[0].depth,s.stencil=r[0].stencil,s.depthStencil=r[0].depthStencil),r[a]?r[a](s):r[a]=M(s)}return e(n,{width:l,height:l,color:o})}return n(t),e(n,{faces:r,resize:function(e){var t,i=0|e;if(i===n.width)return n;var a=n.color;for(t=0;t=0;--e){var t=ot[e];t&&t(we,null,0)}n.flush(),A&&A.update()}function dt(){!ut&&ot.length>0&&(ut=s.next(ht))}function ft(){ut&&(s.cancel(ht),ut=null)}function pt(e){e.preventDefault(),ft(),st.forEach((function(e){e()}))}function mt(e){n.getError(),a.restore(),He.restore(),Ce.restore(),Qe.restore(),et.restore(),tt.restore(),Ie.restore(),A&&A.restore(),rt.procs.refresh(),dt(),lt.forEach((function(e){e()}))}function gt(t){function r(e,t){var r={},n={};return Object.keys(e).forEach((function(i){var a=e[i];if(o.isDynamic(a))n[i]=o.unbox(a,i);else{if(t&&Array.isArray(a))for(var s=0;s0)return h.call(this,function(e){for(;f.length=0},read:nt,destroy:function(){ot.length=0,ft(),at&&(at.removeEventListener(Fr,pt),at.removeEventListener(Br,mt)),He.clear(),tt.clear(),et.clear(),Ie.clear(),Qe.clear(),Le.clear(),Ce.clear(),A&&A.clear(),ct.forEach((function(e){e()}))},_gl:n,_refresh:wt,poll:function(){_t(),A&&A.update()},now:kt,stats:d,getCachedCode:function(){return f},preloadCachedCode:function(e){Object.entries(e).forEach((function(e){f[e[0]]=e[1]}))}});return r.onDone(null,Tt),Tt}},"object"==typeof e&&typeof t<"u"?t.exports=n():r.createREGL=n()}}),Rb=m({"node_modules/gl-util/context.js"(e,t){var r=wv();function n(e){if(e.container)if(e.container==document.body)document.body.style.width||(e.canvas.width=e.width||e.pixelRatio*window.innerWidth),document.body.style.height||(e.canvas.height=e.height||e.pixelRatio*window.innerHeight);else{var t=e.container.getBoundingClientRect();e.canvas.width=e.width||t.right-t.left,e.canvas.height=e.height||t.bottom-t.top}}function i(e){return"function"==typeof e.getContext&&"width"in e&&"height"in e}function a(){var e=document.createElement("canvas");return e.style.position="absolute",e.style.top=0,e.style.left=0,e}t.exports=function(e){if(e?"string"==typeof e&&(e={container:e}):e={},(e=i(e)||"string"==typeof(t=e).nodeName&&"function"==typeof t.appendChild&&"function"==typeof t.getBoundingClientRect?{container:e}:function(e){return"function"==typeof e.drawArrays||"function"==typeof e.drawElements}(e)?{gl:e}:r(e,{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)).pixelRatio||(e.pixelRatio=window.pixelRatio||1),e.gl)return e.gl;var t;if(e.canvas&&(e.container=e.canvas.parentNode),e.container){if("string"==typeof e.container){var o=document.querySelector(e.container);if(!o)throw Error("Element "+e.container+" is not found");e.container=o}i(e.container)?(e.canvas=e.container,e.container=e.canvas.parentNode):e.canvas||(e.canvas=a(),e.container.appendChild(e.canvas),n(e))}else if(!e.canvas){if(!(typeof document<"u"))throw Error("Not DOM environment. Use headless-gl.");e.container=document.body||document.documentElement,e.canvas=a(),e.container.appendChild(e.canvas),n(e)}return e.gl||["webgl","experimental-webgl","webgl-experimental"].some((function(t){try{e.gl=e.canvas.getContext(t,e.attrs)}catch{}return e.gl})),e.gl}}}),jb=m({"node_modules/font-atlas/index.js"(e,t){var r=zb(),n=[32,126];t.exports=function(e){var t=(e=e||{}).shape?e.shape:e.canvas?[e.canvas.width,e.canvas.height]:[512,512],i=e.canvas||document.createElement("canvas"),a=e.font,o="number"==typeof e.step?[e.step,e.step]:e.step||[32,32],s=e.chars||n;if(a&&"string"!=typeof a&&(a=r(a)),Array.isArray(s)){if(2===s.length&&"number"==typeof s[0]&&"number"==typeof s[1]){for(var l=[],c=s[0],u=0;c<=s[1];c++)l[u++]=String.fromCharCode(c);s=l}}else s=String(s).split("");t=t.slice(),i.width=t[0],i.height=t[1];var h=i.getContext("2d");h.fillStyle="#000",h.fillRect(0,0,i.width,i.height),h.font=a,h.textAlign="center",h.textBaseline="middle",h.fillStyle="#fff";var d=o[0]/2,f=o[1]/2;for(c=0;ct[0]-o[0]/2&&(d=o[0]/2,f+=o[1]);return i}}}),Fb=m({"node_modules/bit-twiddle/twiddle.js"(e){function t(e){var t=32;return(e&=-e)&&t--,65535&e&&(t-=16),16711935&e&&(t-=8),252645135&e&&(t-=4),858993459&e&&(t-=2),1431655765&e&&(t-=1),t}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(e){return(e>0)-(e<0)},e.abs=function(e){var t=e>>31;return(e^t)-t},e.min=function(e,t){return t^(e^t)&-(e65535)<<4,t|=r=((e>>>=t)>255)<<3,t|=r=((e>>>=r)>15)<<2,(t|=r=((e>>>=r)>3)<<1)|(e>>>=r)>>1},e.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0},e.popCount=function(e){return 16843009*((e=(858993459&(e-=e>>>1&1431655765))+(e>>>2&858993459))+(e>>>4)&252645135)>>>24},e.countTrailingZeros=t,e.nextPow2=function(e){return e+=0===e,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,1+((e|=e>>>8)|e>>>16)},e.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,(e|=e>>>16)-(e>>>1)},e.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,27030>>>(e&=15)&1};var r=new Array(256);(function(e){for(var t=0;t<256;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;e[t]=n<>>8&255]<<16|r[e>>>16&255]<<8|r[e>>>24&255]},e.interleave2=function(e,t){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))<<1},e.deinterleave2=function(e,t){return(e=65535&((e=16711935&((e=252645135&((e=858993459&((e=e>>>t&1431655765)|e>>>1))|e>>>2))|e>>>4))|e>>>16))<<16>>16},e.interleave3=function(e,t,r){return e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2),(e|=(t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(e,t){return(e=1023&((e=4278190335&((e=251719695&((e=3272356035&((e=e>>>t&1227133513)|e>>>2))|e>>>4))|e>>>8))|e>>>16))<<22>>22},e.nextCombination=function(e){var r=e|e-1;return r+1|(~r&-~r)-1>>>t(e)+1}}}),Bb=m({"node_modules/dup/dup.js"(e,t){function r(e,t,n){var i=0|e[n];if(i<=0)return[];var a,o=new Array(i);if(n===e.length-1)for(a=0;a"u"&&(t=0),typeof e){case"number":if(e>0)return function(e,t){var r,n;for(r=new Array(e),n=0;n0?n.pop():new ArrayBuffer(e)}function d(e){return new Uint8Array(h(e),0,e)}function f(e){return new Uint16Array(h(2*e),0,e)}function p(e){return new Uint32Array(h(4*e),0,e)}function m(e){return new Int8Array(h(e),0,e)}function g(e){return new Int16Array(h(2*e),0,e)}function y(e){return new Int32Array(h(4*e),0,e)}function v(e){return new Float32Array(h(4*e),0,e)}function x(e){return new Float64Array(h(8*e),0,e)}function b(e){return i?new Uint8ClampedArray(h(e),0,e):d(e)}function _(e){return a?new BigUint64Array(h(8*e),0,e):null}function w(e){return o?new BigInt64Array(h(8*e),0,e):null}function k(e){return new DataView(h(e),0,e)}function T(e){e=t.nextPow2(e);var r=t.log2(e),i=c[r];return i.length>0?i.pop():new n(e)}e.free=function(e){if(n.isBuffer(e))c[t.log2(e.length)].push(e);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(e)&&(e=e.buffer),!e)return;var r=e.length||e.byteLength,i=0|t.log2(r);l[i].push(e)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(e){u(e.buffer)},e.freeArrayBuffer=u,e.freeBuffer=function(e){c[t.log2(e.length)].push(e)},e.malloc=function(e,t){if(void 0===t||"arraybuffer"===t)return h(e);switch(t){case"uint8":return d(e);case"uint16":return f(e);case"uint32":return p(e);case"int8":return m(e);case"int16":return g(e);case"int32":return y(e);case"float":case"float32":return v(e);case"double":case"float64":return x(e);case"uint8_clamped":return b(e);case"bigint64":return w(e);case"biguint64":return _(e);case"buffer":return T(e);case"data":case"dataview":return k(e);default:return null}return null},e.mallocArrayBuffer=h,e.mallocUint8=d,e.mallocUint16=f,e.mallocUint32=p,e.mallocInt8=m,e.mallocInt16=g,e.mallocInt32=y,e.mallocFloat32=e.mallocFloat=v,e.mallocFloat64=e.mallocDouble=x,e.mallocUint8Clamped=b,e.mallocBigUint64=_,e.mallocBigInt64=w,e.mallocDataView=k,e.mallocBuffer=T,e.clearCache=function(){for(var e=0;e<32;++e)s.UINT8[e].length=0,s.UINT16[e].length=0,s.UINT32[e].length=0,s.INT8[e].length=0,s.INT16[e].length=0,s.INT32[e].length=0,s.FLOAT[e].length=0,s.DOUBLE[e].length=0,s.BIGUINT64[e].length=0,s.BIGINT64[e].length=0,s.UINT8C[e].length=0,l[e].length=0,c[e].length=0}}}),Ub=m({"node_modules/is-plain-obj/index.js"(e,t){var r=Object.prototype.toString;t.exports=function(e){var t;return"[object Object]"===r.call(e)&&(null===(t=Object.getPrototypeOf(e))||t===Object.getPrototypeOf({}))}}}),Vb=m({"node_modules/parse-unit/index.js"(e,t){t.exports=function(e,t){t||(t=[0,""]),e=String(e);var r=parseFloat(e,10);return t[0]=r,t[1]=e.match(/[\d.\-\+]*\s*(.*)/)[1]||"",t}}}),qb=m({"node_modules/to-px/topx.js"(e,t){var r=Vb();function n(e,t){var n=r(getComputedStyle(e).getPropertyValue(t));return n[0]*i(n[1],e)}function i(e,t){switch(t=t||document.body,e=(e||"px").trim().toLowerCase(),(t===window||t===document)&&(t=document.body),e){case"%":return t.clientHeight/100;case"ch":case"ex":return function(e,t){var r=document.createElement("div");r.style["font-size"]="128"+e,t.appendChild(r);var i=n(r,"font-size")/128;return t.removeChild(r),i}(e,t);case"em":return n(t,"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 96;case"cm":return 96/2.54;case"mm":return 96/25.4;case"pt":return 96/72;case"pc":return 16}return 1}t.exports=i}}),Hb=m({"node_modules/detect-kerning/index.js"(e,t){t.exports=i;var r=(i.canvas=document.createElement("canvas")).getContext("2d"),n=a([32,126]);function i(e,t){Array.isArray(e)&&(e=e.join(", "));var i,o={},s=16,l=.05;t&&(2===t.length&&"number"==typeof t[0]?i=a(t):Array.isArray(t)?i=t:(t.o?i=a(t.o):t.pairs&&(i=t.pairs),t.fontSize&&(s=t.fontSize),null!=t.threshold&&(l=t.threshold))),i||(i=n),r.font=s+"px "+e;for(var c=0;cs*l){var f=(d-h)/s;o[u]=1e3*f}}return o}function a(e){for(var t=[],r=e[0];r<=e[1];r++)for(var n=String.fromCharCode(r),i=e[0];i0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/t)}t.exports=r,r.canvas=document.createElement("canvas"),r.cache={}}}),Wb=m({"node_modules/gl-text/dist.js"(e,t){var r=Ob(),n=wv(),i=Db(),a=Rb(),o=vb(),s=xg(),l=jb(),c=Nb(),u=kv(),h=Ub(),d=Vb(),f=qb(),p=Hb(),m=Yv(),g=Gb(),y=Mv(),v=Fb().nextPow2,x=new o,b=!1;document.body&&((_=document.body.appendChild(document.createElement("div"))).style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(_).fontStretch&&(b=!0),document.body.removeChild(_));var _,w=function(e){var t;"function"==typeof(t=e)&&t._gl&&t.prop&&t.texture&&t.buffer?(e={regl:e},this.gl=e.regl._gl):this.gl=a(e),this.shader=x.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=e.regl||i({gl:this.gl}),this.charBuffer=this.regl.buffer({type:"uint8",usage:"stream"}),this.sizeBuffer=this.regl.buffer({type:"float",usage:"stream"}),this.shader||(this.shader=this.createShader(),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(h(e)?e:{})};w.prototype.createShader=function(){var e=this.regl,t=e({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:e.prop("count"),offset:e.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:e.this("sizeBuffer")},width:{offset:0,stride:8,buffer:e.this("sizeBuffer")},char:e.this("charBuffer"),position:e.this("position")},uniforms:{atlasSize:function(e,t){return[t.atlas.width,t.atlas.height]},atlasDim:function(e,t){return[t.atlas.cols,t.atlas.rows]},atlas:function(e,t){return t.atlas.texture},charStep:function(e,t){return t.atlas.step},em:function(e,t){return t.atlas.em},color:e.prop("color"),opacity:e.prop("opacity"),viewport:e.this("viewportArray"),scale:e.this("scale"),align:e.prop("align"),baseline:e.prop("baseline"),translate:e.this("translate"),positionOffset:e.prop("positionOffset")},primitive:"points",viewport:e.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}"});return{regl:e,draw:t,atlas:{}}},w.prototype.update=function(e){var t=this;if("string"==typeof e)e={text:e};else if(!e)return;null!=(e=n(e,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},!0)).opacity&&(Array.isArray(e.opacity)?this.opacity=e.opacity.map((function(e){return parseFloat(e)})):this.opacity=parseFloat(e.opacity)),null!=e.viewport&&(this.viewport=u(e.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=e.kerning&&(this.kerning=e.kerning),null!=e.offset&&("number"==typeof e.offset&&(e.offset=[e.offset,0]),this.positionOffset=y(e.offset)),e.direction&&(this.direction=e.direction),e.range&&(this.range=e.range,this.scale=[1/(e.range[2]-e.range[0]),1/(e.range[3]-e.range[1])],this.translate=[-e.range[0],-e.range[1]]),e.scale&&(this.scale=e.scale),e.translate&&(this.translate=e.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),!this.font.length&&!e.font&&(e.font=w.baseFontSize+"px sans-serif");var i,a=!1,o=!1;if(e.font&&(Array.isArray(e.font)?e.font:[e.font]).forEach((function(e,n){if("string"==typeof e)try{e=r.parse(e)}catch{e=r.parse(w.baseFontSize+"px "+e)}else{var i=e.style,s=e.weight,l=e.stretch,c=e.variant;e=r.parse(r.stringify(e)),i&&(e.style=i),s&&(e.weight=s),l&&(e.stretch=l),c&&(e.variant=c)}var u=r.stringify({size:w.baseFontSize,family:e.family,stretch:b?e.stretch:void 0,variant:e.variant,weight:e.weight,style:e.style}),h=d(e.size),p=Math.round(h[0]*f(h[1]));if(p!==t.fontSize[n]&&(o=!0,t.fontSize[n]=p),!(t.font[n]&&u==t.font[n].baseString||(a=!0,t.font[n]=w.fonts[u],t.font[n]))){var m=e.family.join(", "),y=[e.style];e.style!=e.variant&&y.push(e.variant),e.variant!=e.weight&&y.push(e.weight),b&&e.weight!=e.stretch&&y.push(e.stretch),t.font[n]={baseString:u,family:m,weight:e.weight,stretch:e.stretch,style:e.style,variant:e.variant,width:{},kerning:{},metrics:g(m,{origin:"top",fontSize:w.baseFontSize,fontStyle:y.join(" ")})},w.fonts[u]=t.font[n]}})),(a||o)&&this.font.forEach((function(n,i){var a=r.stringify({size:t.fontSize[i],family:n.family,stretch:b?n.stretch:void 0,variant:n.variant,weight:n.weight,style:n.style});if(t.fontAtlas[i]=t.shader.atlas[a],!t.fontAtlas[i]){var o=n.metrics;t.shader.atlas[a]=t.fontAtlas[i]={fontString:a,step:2*Math.ceil(t.fontSize[i]*o.bottom*.5),em:t.fontSize[i],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:t.regl.texture()}}null==e.text&&(e.text=t.text)})),"string"==typeof e.text&&e.position&&e.position.length>2){for(var h=Array(.5*e.position.length),x=0;x2){for(var k=!e.position[0].length,T=c.mallocFloat(2*this.count),A=0,M=0;A1?t.align[r]:t.align[0]:t.align;if("number"==typeof n)return n;switch(n){case"right":case"end":return-e;case"center":case"centre":case"middle":return.5*-e}return 0}))),null==this.baseline&&null==e.baseline&&(e.baseline=0),null!=e.baseline&&(this.baseline=e.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map((function(e,r){var n=(t.font[r]||t.font[0]).metrics,i=0;return i+=.5*n.bottom,-1*(i+="number"==typeof e?e-n.baseline:-n[e])}))),null!=e.color)if(e.color||(e.color="transparent"),"string"!=typeof e.color&&isNaN(e.color)){var H;if("number"==typeof e.color[0]&&e.color.length>this.counts.length){var G=e.color.length;H=c.mallocUint8(G);for(var W=(e.color.subarray||e.color.slice).bind(e.color),Y=0;Y4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var $=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array($);for(var K=0;K1?this.counts[K]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[K]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*K,4*K+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[K]:this.opacity,baseline:null!=this.baselineOffset[K]?this.baselineOffset[K]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[K]?this.alignOffset[K]:this.alignOffset[0]:0,atlas:this.fontAtlas[K]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*K,2*K+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},w.prototype.destroy=function(){},w.prototype.kerning=!0,w.prototype.position={constant:new Float32Array(2)},w.prototype.translate=null,w.prototype.scale=null,w.prototype.font=null,w.prototype.text="",w.prototype.positionOffset=[0,0],w.prototype.opacity=1,w.prototype.color=new Uint8Array([0,0,0,255]),w.prototype.alignOffset=[0,0],w.maxAtlasSize=1024,w.atlasCanvas=document.createElement("canvas"),w.atlasContext=w.atlasCanvas.getContext("2d",{alpha:!1}),w.baseFontSize=64,w.fonts={},t.exports=w}}),Yb=m({"node_modules/@plotly/regl/dist/regl.unchecked.js"(e,t){var r,n;r=e,n=function(){var e=function(e,t){for(var r=Object.keys(t),n=0;n1&&t===r&&('"'===t||"'"===t))return['"'+n(e.substr(1,e.length-2))+'"'];var a=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(e);if(a)return i(e.substr(0,a.index)).concat(i(a[1])).concat(i(e.substr(a.index+a[0].length)));var o=e.split(".");if(1===o.length)return['"'+n(e)+'"'];for(var s=[],l=0;l65535)<<4,t|=r=((e>>>=t)>255)<<3,t|=r=((e>>>=r)>15)<<2,(t|=r=((e>>>=r)>3)<<1)|(e>>>=r)>>1}function f(){var e=h(8,(function(){return[]}));function t(t){var r=function(e){for(var t=16;t<=1<<28;t*=16)if(e<=t)return t;return 0}(t),n=e[d(r)>>2];return n.length>0?n.pop():new ArrayBuffer(r)}function r(t){e[d(t.byteLength)>>2].push(t)}return{alloc:t,free:r,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(e){r(e.buffer)}}}var p=f();p.zero=f();var m=3553,g=6408,y=5126,v=36160,x=function(e){return e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Uint32Array||e instanceof Int8Array||e instanceof Int16Array||e instanceof Int32Array||e instanceof Float32Array||e instanceof Float64Array||e instanceof Uint8ClampedArray};function b(e){return!!e&&"object"==typeof e&&Array.isArray(e.shape)&&Array.isArray(e.stride)&&"number"==typeof e.offset&&e.shape.length===e.stride.length&&(Array.isArray(e.data)||x(e.data))}var _=function(e){return Object.keys(e).map((function(t){return e[t]}))},w=function(e){for(var t=[],r=e;r.length;r=r[0])t.push(r.length);return t},k=function(e,t,r,n){var i=1;if(t.length)for(var a=0;a>>31<<15,a=(n<<1>>>24)-127,o=n>>13&1023;if(a<-24)t[r]=i;else if(a<-14){var s=-14-a;t[r]=i+(o+1024>>s)}else t[r]=a>15?i+31744:i+(a+15<<10)+o}return t}function G(e){return Array.isArray(e)||x(e)}var W=3553,Y=34067,X=34069,Z=6408,$=6406,K=6407,J=6409,Q=6410,ee=32855,te=6402,re=34041,ne=35904,ie=35906,ae=36193,oe=33776,se=33777,le=33778,ce=5121,ue=5123,he=5125,de=5126,fe=33071,pe=9728,me=9984,ge=9987,ye=4352,ve=33984,xe=[me,9986,9985,ge],be=[0,J,Q,K,Z],_e={};function we(e){return"[object "+e+"]"}_e[J]=_e[$]=_e[te]=1,_e[re]=_e[Q]=2,_e[K]=_e[ne]=3,_e[Z]=_e[ie]=4;var ke=we("HTMLCanvasElement"),Te=we("OffscreenCanvas"),Ae=we("CanvasRenderingContext2D"),Me=we("ImageBitmap"),Se=we("HTMLImageElement"),Ee=we("HTMLVideoElement"),Ce=Object.keys(M).concat([ke,Te,Ae,Me,Se,Ee]),Le=[];Le[ce]=1,Le[de]=4,Le[ae]=2,Le[ue]=2,Le[he]=4;var Ie=[];function Pe(e){return Array.isArray(e)&&(0===e.length||"number"==typeof e[0])}function ze(e){return!!Array.isArray(e)&&!(0===e.length||!G(e[0]))}function Oe(e){return Object.prototype.toString.call(e)}function De(e){return Oe(e)===ke}function Re(e){return Oe(e)===Te}function je(e){if(!e)return!1;var t=Oe(e);return Ce.indexOf(t)>=0||Pe(e)||ze(e)||b(e)}function Fe(e){return 0|M[Object.prototype.toString.call(e)]}function Be(e,t){return p.allocType(e.type===ae?de:e.type,t)}function Ne(e,t){e.type===ae?(e.data=H(t),p.freeType(t)):e.data=t}function Ue(e,t,r,n,i,a){var o;if(o=typeof Ie[e]<"u"?Ie[e]:_e[e]*Le[t],a&&(o*=6),i){for(var s=0,l=r;l>=1;)s+=o*l*l,l/=2;return s}return o*r*n}Ie[32854]=2,Ie[ee]=2,Ie[36194]=2,Ie[re]=4,Ie[oe]=.5,Ie[se]=.5,Ie[le]=1,Ie[33779]=1,Ie[35986]=.5,Ie[35987]=1,Ie[34798]=1,Ie[35840]=.5,Ie[35841]=.25,Ie[35842]=.5,Ie[35843]=.25,Ie[36196]=.5;var Ve=36161,qe=32854,He=[];function Ge(e,t,r){return He[e]*t*r}He[qe]=2,He[32855]=2,He[36194]=2,He[33189]=2,He[36168]=1,He[34041]=4,He[35907]=4,He[34836]=16,He[34842]=8,He[34843]=6;var We=36160,Ye=36161,Xe=3553,Ze=[];Ze[6408]=4,Ze[6407]=3;var $e=[];$e[5121]=1,$e[5126]=4,$e[36193]=2;var Ke=34963;function Je(){this.state=0,this.x=0,this.y=0,this.z=0,this.w=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.offset=0,this.stride=0,this.divisor=0}function Qe(e){return function(e){for(var t,r="0123456789abcdef",n="",i=0;i>>4&15)+r.charAt(15&t);return n}(function(e){return function(e){for(var t="",r=0;r<32*e.length;r+=8)t+=String.fromCharCode(e[r>>5]>>>24-r%32&255);return t}(function(e,t){var r,n,i,a,o,s,l,c,u,h,d,f,p=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),m=new Array(64);for(e[t>>5]|=128<<24-t%32,e[15+(t+64>>9<<4)]=t,u=0;u>2),r=0;r>5]|=(255&e.charCodeAt(r/8))<<24-r%32;return t}(e),8*e.length))}(function(e){for(var t,r,n="",i=-1;++i>>6&31,128|63&t):t<=65535?n+=String.fromCharCode(224|t>>>12&15,128|t>>>6&63,128|63&t):t<=2097151&&(n+=String.fromCharCode(240|t>>>18&7,128|t>>>12&63,128|t>>>6&63,128|63&t));return n}(e)))}function et(e,t){return e>>>t|e<<32-t}function tt(e,t){return e>>>t}function rt(e,t,r){return e&t^~e&r}function nt(e,t,r){return e&t^e&r^t&r}function it(e){return et(e,2)^et(e,13)^et(e,22)}function at(e){return et(e,6)^et(e,11)^et(e,25)}function ot(e){return et(e,7)^et(e,18)^tt(e,3)}function st(e){return et(e,17)^et(e,19)^tt(e,10)}var lt=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 ct(e,t){var r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function ut(e){return Array.prototype.slice.call(e)}function ht(e){return ut(e).join("")}var dt="xyzw".split(""),ft="dither",pt="blend.enable",mt="blend.color",gt="blend.equation",yt="blend.func",vt="depth.enable",xt="depth.func",bt="depth.range",_t="depth.mask",wt="colorMask",kt="cull.enable",Tt="cull.face",At="frontFace",Mt="lineWidth",St="polygonOffset.enable",Et="polygonOffset.offset",Ct="sample.alpha",Lt="sample.enable",It="sample.coverage",Pt="stencil.enable",zt="stencil.mask",Ot="stencil.func",Dt="stencil.opFront",Rt="stencil.opBack",jt="scissor.enable",Ft="scissor.box",Bt="viewport",Nt="profile",Ut="framebuffer",Vt="vert",qt="frag",Ht="elements",Gt="primitive",Wt="count",Yt="offset",Xt="instances",Zt="vao",$t="Width",Kt="Height",Jt=Ut+$t,Qt=Ut+Kt,er=Bt+$t,tr=Bt+Kt,rr="drawingBuffer",nr=rr+$t,ir=rr+Kt,ar=[yt,gt,Ot,Dt,Rt,It,Bt,Ft,Et],or=34962,sr=34963,lr=35664,cr=35665,ur=35666,hr=35667,dr=35668,fr=35669,pr=35671,mr=35672,gr=35673,yr=35674,vr=35675,xr=35676,br=35678,_r=35680,wr=1028,kr=1029,Tr=2305,Ar=7680,Mr={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},Sr={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Er={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},Cr={cw:2304,ccw:Tr};function Lr(e){return Array.isArray(e)||x(e)||b(e)}function Ir(e){return e.sort((function(e,t){return e===Bt?-1:t===Bt?1:e=1,n>=2,t)}if(4===r){var i=e.data;return new Pr(i.thisDep,i.contextDep,i.propDep,t)}if(5===r)return new Pr(!1,!1,!1,t);if(6===r){for(var a=!1,o=!1,s=!1,l=0;l=1&&(o=!0),u>=2&&(s=!0)}else 4===c.type&&(a=a||c.data.thisDep,o=o||c.data.contextDep,s=s||c.data.propDep)}return new Pr(a,o,s,t)}return new Pr(3===r,2===r,1===r,t)}var Rr=new Pr(!1,!1,!1,(function(){}));function jr(t,r,n,i,a,s,l,c,u,d,f,p,m,g,y,v){var x=d.Record,b={add:32774,subtract:32778,"reverse subtract":32779};n.ext_blend_minmax&&(b.min=32775,b.max=32776);var _=n.angle_instanced_arrays,w=n.webgl_draw_buffers,k=n.oes_vertex_array_object,T={dirty:!0,profile:v.profile},A={},M=[],E={},C={};function L(e){return e.replace(".","_")}function I(e,t,r){var n=L(e);M.push(e),A[n]=T[n]=!!r,E[n]=t}function P(e,t,r){var n=L(e);M.push(e),Array.isArray(r)?(T[n]=r.slice(),A[n]=r.slice()):T[n]=A[n]=r,C[n]=t}function z(e){return!!isNaN(e)}I(ft,3024),I(pt,3042),P(mt,"blendColor",[0,0,0,0]),P(gt,"blendEquationSeparate",[32774,32774]),P(yt,"blendFuncSeparate",[1,0,1,0]),I(vt,2929,!0),P(xt,"depthFunc",513),P(bt,"depthRange",[0,1]),P(_t,"depthMask",!0),P(wt,wt,[!0,!0,!0,!0]),I(kt,2884),P(Tt,"cullFace",kr),P(At,At,Tr),P(Mt,Mt,1),I(St,32823),P(Et,"polygonOffset",[0,0]),I(Ct,32926),I(Lt,32928),P(It,"sampleCoverage",[1,!1]),I(Pt,2960),P(zt,"stencilMask",-1),P(Ot,"stencilFunc",[519,0,-1]),P(Dt,"stencilOpSeparate",[wr,Ar,Ar,Ar]),P(Rt,"stencilOpSeparate",[kr,Ar,Ar,Ar]),I(jt,3089),P(Ft,"scissor",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),P(Bt,Bt,[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var O={gl:t,context:m,strings:r,next:A,current:T,draw:p,elements:s,buffer:a,shader:f,attributes:d.state,vao:d,uniforms:u,framebuffer:c,extensions:n,timer:g,isBufferArgs:Lr},D={primTypes:j,compareFuncs:Sr,blendFuncs:Mr,blendEquations:b,stencilOps:Er,glTypes:S,orientationType:Cr};w&&(D.backBuffer=[kr],D.drawBuffer=h(i.maxDrawbuffers,(function(e){return 0===e?[0]:h(e,(function(e){return 36064+e}))})));var R=0;function F(){var t=function(t){var r=t&&t.cache,n=0,i=[],a=[],o=[];function s(){var t=[],r=[];return e((function(){t.push.apply(t,ut(arguments))}),{def:function(){var e="v"+n++;return r.push(e),arguments.length>0&&(t.push(e,"="),t.push.apply(t,ut(arguments)),t.push(";")),e},toString:function(){return ht([r.length>0?"var "+r.join(",")+";":"",ht(t)])}})}function l(){var t=s(),r=s(),n=t.toString,i=r.toString;function a(e,n){r(e,n,"=",t.def(e,n),";")}return e((function(){t.apply(t,ut(arguments))}),{def:t.def,entry:t,exit:r,save:a,set:function(e,r,n){a(e,r),t(e,r,"=",n,";")},toString:function(){return n()+i()}})}var c=s(),u={};return{global:c,link:function(e,t){var r=t&&t.stable;if(!r)for(var s=0;s"u"?"Date.now()":"performance.now()"}function p(e){e(a=t.def(),"=",f(),";"),"string"==typeof i?e(c,".count+=",i,";"):e(c,".count++;"),g&&(n?e(o=t.def(),"=",h,".getNumPendingQueries();"):e(h,".beginQuery(",c,");"))}function m(e){e(c,".cpuTime+=",f(),"-",a,";"),g&&(n?e(h,".pushScopeStats(",o,",",h,".getNumPendingQueries(),",c,");"):e(h,".endQuery();"))}function y(e){var r=t.def(u,".profile");t(u,".profile=",e,";"),t.exit(u,".profile=",r,";")}if(d){if(zr(d))return void(d.enable?(p(t),m(t.exit),y("true")):y("false"));y(s=d.append(e,t))}else s=t.def(u,".profile");var v=e.block();p(v),t("if(",s,"){",v,"}");var x=e.block();m(x),t.exit("if(",s,"){",x,"}")}function W(e,t,r,n,i){var a=e.shared;n.forEach((function(n){var o,s=n.name,l=r.attributes[s];if(l){if(!i(l))return;o=l.append(e,t)}else{if(!i(Rr))return;var c=e.scopeAttrib(s);o={},Object.keys(new x).forEach((function(e){o[e]=t.def(c,".",e)}))}!function(r,n,i){var o=a.gl,s=t.def(r,".location"),l=t.def(a.attributes,"[",s,"]"),c=i.state,u=i.buffer,h=[i.x,i.y,i.z,i.w],d=["buffer","normalized","offset","stride"];function f(){t("if(!",l,".buffer){",o,".enableVertexAttribArray(",s,");}");var r,a=i.type;if(r=i.size?t.def(i.size,"||",n):n,t("if(",l,".type!==",a,"||",l,".size!==",r,"||",d.map((function(e){return l+"."+e+"!=="+i[e]})).join("||"),"){",o,".bindBuffer(",or,",",u,".buffer);",o,".vertexAttribPointer(",[s,r,a,i.normalized,i.stride,i.offset],");",l,".type=",a,";",l,".size=",r,";",d.map((function(e){return l+"."+e+"="+i[e]+";"})).join(""),"}"),_){var c=i.divisor;t("if(",l,".divisor!==",c,"){",e.instancing,".vertexAttribDivisorANGLE(",[s,c],");",l,".divisor=",c,";}")}}function p(){t("if(",l,".buffer){",o,".disableVertexAttribArray(",s,");",l,".buffer=null;","}if(",dt.map((function(e,t){return l+"."+e+"!=="+h[t]})).join("||"),"){",o,".vertexAttrib4f(",s,",",h,");",dt.map((function(e,t){return l+"."+e+"="+h[t]+";"})).join(""),"}")}1===c?f():2===c?p():(t("if(",c,"===",1,"){"),f(),t("}else{"),p(),t("}"))}(e.link(n),function(e){switch(e){case lr:case hr:case pr:return 2;case cr:case dr:case mr:return 3;case ur:case fr:case gr:return 4;default:return 1}}(n.info.type),o)}))}function Y(e,t,n,i,a,o){for(var s,l=e.shared,c=l.gl,u=0;u1){for(var M=[],S=[],E=0;E>1)",f],");")}function t(){r(p,".drawArraysInstancedANGLE(",[m,g,y,f],");")}h&&"null"!==h?x?e():(r("if(",h,"){"),e(),r("}else{"),t(),r("}")):t()}function w(){function e(){r(l+".drawElements("+[m,y,v,g+"<<(("+v+"-5121)>>1)"]+");")}function t(){r(l+".drawArrays("+[m,g,y]+");")}h&&"null"!==h?x?e():(r("if(",h,"){"),e(),r("}else{"),t(),r("}")):t()}_&&("number"!=typeof f||f>=0)?"string"==typeof f?(r("if(",f,">0){"),b(),r("}else if(",f,"<0){"),w(),r("}")):b():w()}function Z(e,t,r,n,i){var a=F(),o=a.proc("body",i);return _&&(a.instancing=o.def(a.shared.extensions,".angle_instanced_arrays")),e(a,o,r,n),a.compile().body}function $(e,t,r,n){q(e,t),r.useVAO?r.drawVAO?t(e.shared.vao,".setVAO(",r.drawVAO.append(e,t),");"):t(e.shared.vao,".setVAO(",e.shared.vao,".targetVAO);"):(t(e.shared.vao,".setVAO(null);"),W(e,t,r,n.attributes,(function(){return!0}))),Y(e,t,r,n.uniforms,(function(){return!0}),!1),X(e,t,t,r)}function K(e,t,r,n){function i(){return!0}e.batchId="a1",q(e,t),W(e,t,r,n.attributes,i),Y(e,t,r,n.uniforms,i,!1),X(e,t,t,r)}function J(e,t,r,n){q(e,t);var i=r.contextDep,a=t.def(),o=t.def();e.shared.props=o,e.batchId=a;var s=e.scope(),l=e.scope();function c(e){return e.contextDep&&i||e.propDep}function u(e){return!c(e)}if(t(s.entry,"for(",a,"=0;",a,"<","a1",";++",a,"){",o,"=","a0","[",a,"];",l,"}",s.exit),r.needsContext&&B(e,l,r.context),r.needsFramebuffer&&N(e,l,r.framebuffer),V(e,l,r.state,c),r.profile&&c(r.profile)&&H(e,l,r,!1,!0),n)r.useVAO?r.drawVAO?c(r.drawVAO)?l(e.shared.vao,".setVAO(",r.drawVAO.append(e,l),");"):s(e.shared.vao,".setVAO(",r.drawVAO.append(e,s),");"):s(e.shared.vao,".setVAO(",e.shared.vao,".targetVAO);"):(s(e.shared.vao,".setVAO(null);"),W(e,s,r,n.attributes,u),W(e,l,r,n.attributes,c)),Y(e,s,r,n.uniforms,u,!1),Y(e,l,r,n.uniforms,c,!0),X(e,s,l,r);else{var h=e.global.def("{}"),d=r.shader.progVar.append(e,l),f=l.def(d,".id"),p=l.def(h,"[",f,"]");l(e.shared.gl,".useProgram(",d,".program);","if(!",p,"){",p,"=",h,"[",f,"]=",e.link((function(e){return Z(K,0,r,e,2)})),"(",d,");}",p,".call(this,a0[",a,"],",a,");")}}function Q(e,t,r){var n=t.static[r];if(n&&function(e){if("object"==typeof e&&!G(e)){for(var t=Object.keys(e),r=0;r0)return null;var n=t.static,i=Object.keys(n);if(i.length>0&&"number"==typeof n[i[0]]){for(var a=[],o=0;o0,w={framebuffer:u,draw:m,shader:y,state:g,dirty:_,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(w.profile=function(e){var t,r=e.static,n=e.dynamic;if(Nt in r){var i=!!r[Nt];(t=Or((function(e,t){return i}))).enable=i}else if(Nt in n){var a=n[Nt];t=Dr(a,(function(e,t){return e.invoke(t,a)}))}return t}(e),w.uniforms=function(e){var t=e.static,r=e.dynamic,n={};return Object.keys(t).forEach((function(e){var r,i=t[e];if("number"==typeof i||"boolean"==typeof i)r=Or((function(){return i}));else if("function"==typeof i){var a=i._reglType;"texture2d"===a||"textureCube"===a?r=Or((function(e){return e.link(i)})):("framebuffer"===a||"framebufferCube"===a)&&(r=Or((function(e){return e.link(i.color[0])})))}else G(i)&&(r=Or((function(e){return e.global.def("[",h(i.length,(function(e){return i[e]})),"]")})));r.value=i,n[e]=r})),Object.keys(r).forEach((function(e){var t=r[e];n[e]=Dr(t,(function(e,r){return e.invoke(r,t)}))})),n}(i),w.drawVAO=w.scopeVAO=m.vao,!w.drawVAO&&y.program&&!l&&n.angle_instanced_arrays&&m.static.elements){var k=!0,T=y.program.attributes.map((function(e){var r=t.static[e];return k=k&&!!r,r}));if(k&&T.length>0){var A=d.getVAO(d.createVAO({attributes:T,elements:m.static.elements}));w.drawVAO=new Pr(null,null,null,(function(e,t){return e.link(A)})),w.useVAO=!0}}return l?w.useVAO=!0:w.attributes=function(e){var t=e.static,n=e.dynamic,i={};return Object.keys(t).forEach((function(e){var n=t[e],o=r.id(e),s=new x;if(Lr(n))s.state=1,s.buffer=a.getBuffer(a.create(n,or,!1,!0)),s.type=0;else{var l=a.getBuffer(n);if(l)s.state=1,s.buffer=l,s.type=0;else if("constant"in n){var c=n.constant;s.buffer="null",s.state=2,"number"==typeof c?s.x=c:dt.forEach((function(e,t){t"+t+"?"+n+".constant["+t+"]:0;"})).join(""),"}}else{","if(",o,"(",n,".buffer)){",u,"=",s,".createStream(",or,",",n,".buffer);","}else{",u,"=",s,".getBuffer(",n,".buffer);","}",h,'="type" in ',n,"?",a.glTypes,"[",n,".type]:",u,".dtype;",l.normalized,"=!!",n,".normalized;"),d("size"),d("offset"),d("stride"),d("divisor"),r("}}"),r.exit("if(",l.isStream,"){",s,".destroyStream(",u,");","}"),l}))})),i}(t),w.context=function(e){var t=e.static,r=e.dynamic,n={};return Object.keys(t).forEach((function(e){var r=t[e];n[e]=Or((function(e,t){return"number"==typeof r||"boolean"==typeof r?""+r:e.link(r)}))})),Object.keys(r).forEach((function(e){var t=r[e];n[e]=Dr(t,(function(e,r){return e.invoke(r,t)}))})),n}(o),w}(t,i,o,l);return m.shader.program&&(m.shader.program.attributes.sort((function(e,t){return e.name0&&r(e.shared.current,".dirty=true;"),e.shared.vao&&r(e.shared.vao,".setVAO(null);")}(p,m),function(e,t){var n=e.proc("scope",3);e.batchId="a2";var i=e.shared,a=i.current;if(B(e,n,t.context),t.framebuffer&&t.framebuffer.append(e,n),Ir(Object.keys(t.state)).forEach((function(r){var a=t.state[r],o=a.append(e,n);G(o)?o.forEach((function(t,i){z(t)?n.set(e.next[r],"["+i+"]",t):n.set(e.next[r],"["+i+"]",e.link(t,{stable:!0}))})):zr(a)?n.set(i.next,"."+r,e.link(o,{stable:!0})):n.set(i.next,"."+r,o)})),H(e,n,t,!0,!0),[Ht,Yt,Wt,Xt,Gt].forEach((function(r){var a=t.draw[r];if(a){var o=a.append(e,n);z(o)?n.set(i.draw,"."+r,o):n.set(i.draw,"."+r,e.link(o),{stable:!0})}})),Object.keys(t.uniforms).forEach((function(a){var o=t.uniforms[a].append(e,n);Array.isArray(o)&&(o="["+o.map((function(t){return z(t)?t:e.link(t,{stable:!0})}))+"]"),n.set(i.uniforms,"["+e.link(r.id(a),{stable:!0})+"]",o)})),Object.keys(t.attributes).forEach((function(r){var i=t.attributes[r].append(e,n),a=e.scopeAttrib(r);Object.keys(new x).forEach((function(e){n.set(a,"."+e,i[e])}))})),t.scopeVAO){var o=t.scopeVAO.append(e,n);z(o)?n.set(i.vao,".targetVAO",o):n.set(i.vao,".targetVAO",e.link(o,{stable:!0}))}function s(r){var a=t.shader[r];if(a){var o=a.append(e,n);z(o)?n.set(i.shader,"."+r,o):n.set(i.shader,"."+r,e.link(o,{stable:!0}))}}s(Vt),s(qt),Object.keys(t.state).length>0&&(n(a,".dirty=true;"),n.exit(a,".dirty=true;")),n("a1(",e.shared.context,",a0,",e.batchId,");")}(p,m),function(e,t){var r=e.proc("batch",2);e.batchId="0",q(e,r);var n=!1,i=!0;Object.keys(t.context).forEach((function(e){n=n||t.context[e].propDep})),n||(B(e,r,t.context),i=!1);var a=t.framebuffer,o=!1;function s(e){return e.contextDep&&n||e.propDep}a?(a.propDep?n=o=!0:a.contextDep&&n&&(o=!0),o||N(e,r,a)):N(e,r,null),t.state.viewport&&t.state.viewport.propDep&&(n=!0),U(e,r,t),V(e,r,t.state,(function(e){return!s(e)})),(!t.profile||!s(t.profile))&&H(e,r,t,!1,"a1"),t.contextDep=n,t.needsContext=i,t.needsFramebuffer=o;var l=t.shader.progVar;if(l.contextDep&&n||l.propDep)J(e,r,t,null);else{var c=l.append(e,r);if(r(e.shared.gl,".useProgram(",c,".program);"),t.shader.program)J(e,r,t,t.shader.program);else{r(e.shared.vao,".setVAO(null);");var u=e.global.def("{}"),h=r.def(c,".id"),d=r.def(u,"[",h,"]");r(e.cond(d).then(d,".call(this,a0,a1);").else(d,"=",u,"[",h,"]=",e.link((function(e){return Z(J,0,t,e,2)})),"(",c,");",d,".call(this,a0,a1);"))}}Object.keys(t.state).length>0&&r(e.shared.current,".dirty=true;"),e.shared.vao&&r(e.shared.vao,".setVAO(null);")}(p,m),e(p.compile(),{destroy:function(){m.shader.program.destroy()}})}}}var Fr="webglcontextlost",Br="webglcontextrestored";function Nr(e,t){for(var r=0;r"u"?1:window.devicePixelRatio,f=!1,p={},m=function(e){},g=function(){};if("string"==typeof o?r=document.querySelector(o):"object"==typeof o&&(function(e){return"string"==typeof e.nodeName&&"function"==typeof e.appendChild&&"function"==typeof e.getBoundingClientRect}(o)?r=o:function(e){return"function"==typeof e.drawArrays||"function"==typeof e.drawElements}(o)?i=(a=o).canvas:("gl"in o?a=o.gl:"canvas"in o?i=u(o.canvas):"container"in o&&(n=u(o.container)),"attributes"in o&&(s=o.attributes),"extensions"in o&&(l=c(o.extensions)),"optionalExtensions"in o&&(h=c(o.optionalExtensions)),"onDone"in o&&(m=o.onDone),"profile"in o&&(f=!!o.profile),"pixelRatio"in o&&(d=+o.pixelRatio),"cachedCode"in o&&(p=o.cachedCode))),r&&("canvas"===r.nodeName.toLowerCase()?i=r:n=r),!a){if(!i){var y=function(t,r,n){var i,a=document.createElement("canvas");function o(){var e=window.innerWidth,r=window.innerHeight;if(t!==document.body){var i=a.getBoundingClientRect();e=i.right-i.left,r=i.bottom-i.top}a.width=n*e,a.height=n*r}return e(a.style,{border:0,margin:0,padding:0,top:0,left:0,width:"100%",height:"100%"}),t.appendChild(a),t===document.body&&(a.style.position="absolute",e(t.style,{margin:0,padding:0})),t!==document.body&&"function"==typeof ResizeObserver?(i=new ResizeObserver((function(){setTimeout(o)}))).observe(t):window.addEventListener("resize",o,!1),o(),{canvas:a,onDestroy:function(){i?i.disconnect():window.removeEventListener("resize",o),t.removeChild(a)}}}(n||document.body,0,d);if(!y)return null;i=y.canvas,g=y.onDestroy}void 0===s.premultipliedAlpha&&(s.premultipliedAlpha=!0),a=function(e,t){function r(r){try{return e.getContext(r,t)}catch{return null}}return r("webgl")||r("experimental-webgl")||r("webgl-experimental")}(i,s)}return a?{gl:a,canvas:i,container:n,extensions:l,optionalExtensions:h,pixelRatio:d,profile:f,cachedCode:p,onDone:m,onDestroy:g}:(g(),m("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}(t);if(!r)return null;var n=r.gl,i=n.getContextAttributes(),a=(n.isContextLost(),function(e,t){var r={};function n(t){var n,i=t.toLowerCase();try{n=r[i]=e.getExtension(i)}catch{}return!!n}for(var i=0;i0)if(Array.isArray(t[0])){o=L(t);for(var c=1,u=1;u0)if("number"==typeof e[0]){var i=p.allocType(h.dtype,e.length);D(i,e),f(i,n),p.freeType(i)}else if(Array.isArray(e[0])||x(e[0])){r=L(e);var a=C(e,r,h.dtype);f(a,n),p.freeType(a)}}else if(b(e)){r=e.shape;var o=e.stride,s=0,l=0,c=0,u=0;1===r.length?(s=r[0],l=1,c=o[0],u=0):2===r.length&&(s=r[0],l=r[1],c=o[0],u=o[1]);var m=Array.isArray(e.data)?h.dtype:O(e.data),g=p.allocType(m,s*l);R(g,e.data,s,l,c,u,e.offset),f(g,n),p.freeType(g)}return d},r.profile&&(d.stats=h.stats),d.destroy=function(){c(h)},d},createStream:function(e,t){var r=o.pop();return r||(r=new a(e)),r.bind(),l(r,t,35040,0,1,!1),r},destroyStream:function(e){o.push(e)},clear:function(){_(i).forEach(c),o.forEach(c)},getBuffer:function(e){return e&&e._buffer instanceof a?e._buffer:null},restore:function(){_(i).forEach((function(t){t.buffer=e.createBuffer(),e.bindBuffer(t.type,t.buffer),e.bufferData(t.type,t.persistentData||t.byteLength,t.usage)}))},_initBuffer:l}}(n,d,r),Le=function(e,t,r,n){var i={},a=0,o={uint8:F,uint16:B};function s(e){this.id=a++,i[this.id]=this,this.buffer=e,this.primType=4,this.vertCount=0,this.type=0}t.oes_element_index_uint&&(o.uint32=N),s.prototype.bind=function(){this.buffer.bind()};var l=[];function c(n,i,a,o,s,l,c){var u;if(n.buffer.bind(),i){var h=c;!c&&(!x(i)||b(i)&&!x(i.data))&&(h=t.oes_element_index_uint?N:B),r._initBuffer(n.buffer,i,a,h,3)}else e.bufferData(U,l,a),n.buffer.dtype=u||F,n.buffer.usage=a,n.buffer.dimension=3,n.buffer.byteLength=l;if(u=c,!c){switch(n.buffer.dtype){case F:case 5120:u=F;break;case B:case 5122:u=B;break;case N:case 5124:u=N}n.buffer.dtype=u}n.type=u;var d=s;d<0&&(d=n.buffer.byteLength,u===B?d>>=1:u===N&&(d>>=2)),n.vertCount=d;var f=o;if(o<0){f=4;var p=n.buffer.dimension;1===p&&(f=0),2===p&&(f=1),3===p&&(f=4)}n.primType=f}function u(e){n.elementsCount--,delete i[e.id],e.buffer.destroy(),e.buffer=null}return{create:function(e,t){var i=r.create(null,U,!0),a=new s(i._buffer);function l(e){if(e)if("number"==typeof e)i(e),a.primType=4,a.vertCount=0|e,a.type=F;else{var t=null,r=35044,n=-1,s=-1,u=0,h=0;Array.isArray(e)||x(e)||b(e)?t=e:("data"in e&&(t=e.data),"usage"in e&&(r=E[e.usage]),"primitive"in e&&(n=j[e.primitive]),"count"in e&&(s=0|e.count),"type"in e&&(h=o[e.type]),"length"in e?u=0|e.length:(u=s,h===B||5122===h?u*=2:(h===N||5124===h)&&(u*=4))),c(a,t,r,n,s,u,h)}else i(),a.primType=4,a.vertCount=0,a.type=F;return l}return n.elementsCount++,l(e),l._reglType="elements",l._elements=a,l.subdata=function(e,t){return i.subdata(e,t),l},l.destroy=function(){u(a)},l},createStream:function(e){var t=l.pop();return t||(t=new s(r.create(null,U,!0,!1)._buffer)),c(t,e,35040,-1,-1,0,0),t},destroyStream:function(e){l.push(e)},getElements:function(e){return"function"==typeof e&&e._elements instanceof s?e._elements:null},clear:function(){_(i).forEach(u)}}}(n,T,Ce,d),Ie=function(e,t,r,n,i,a,o){for(var s=r.maxAttributes,l=new Array(s),c=0;c=f.byteLength?u.subdata(f):(u.destroy(),t.buffers[c]=null)),t.buffers[c]||(u=t.buffers[c]=i.create(h,34962,!1,!0)),d.buffer=i.getBuffer(u),d.size=0|d.buffer.dimension,d.normalized=!1,d.type=d.buffer.dtype,d.offset=0,d.stride=0,d.divisor=0,d.state=1,s[c]=1):i.getBuffer(h)?(d.buffer=i.getBuffer(h),d.size=0|d.buffer.dimension,d.normalized=!1,d.type=d.buffer.dtype,d.offset=0,d.stride=0,d.divisor=0,d.state=1):i.getBuffer(h.buffer)?(d.buffer=i.getBuffer(h.buffer),d.size=0|(+h.size||d.buffer.dimension),d.normalized=!!h.normalized||!1,d.type="type"in h?S[h.type]:d.buffer.dtype,d.offset=0|(h.offset||0),d.stride=0|(h.stride||0),d.divisor=0|(h.divisor||0),d.state=1):"x"in h&&(d.x=+h.x||0,d.y=+h.y||0,d.z=+h.z||0,d.w=+h.w||0,d.state=2)}for(var p=0;p1)for(var y=0;ye&&(e=t.stats.uniformsCount)})),e},n.getMaxAttributesCount=function(){var e=0;return h.forEach((function(t){t.stats.attributesCount>e&&(e=t.stats.attributesCount)})),e}),{clear:function(){var e=t.deleteShader.bind(t);_(a).forEach(e),a={},_(o).forEach(e),o={},h.forEach((function(e){t.deleteProgram(e.program)})),h.length=0,u={},n.shaderCount=0},program:function(r,i,s,l){var c=u[i];c||(c=u[i]={});var d=c[r];if(d&&(d.refCount++,!l))return d;var m=new f(i,r);return n.shaderCount++,p(m,0,l),d||(c[r]=m),h.push(m),e(m,{destroy:function(){if(m.refCount--,m.refCount<=0){t.deleteProgram(m.program);var e=h.indexOf(m);h.splice(e,1),n.shaderCount--}c[m.vertId].refCount<=0&&(t.deleteShader(o[m.vertId]),delete o[m.vertId],delete u[m.fragId][m.vertId]),Object.keys(u[m.fragId]).length||(t.deleteShader(a[m.fragId]),delete a[m.fragId],delete u[m.fragId])}})},restore:function(){a={},o={};for(var e=0;e=0&&(m[e]=t)}));var v=Object.keys(m);n.textureFormats=v;var T=[];Object.keys(m).forEach((function(e){var t=m[e];T[t]=e}));var A=[];Object.keys(f).forEach((function(e){var t=f[e];A[t]=e}));var M=[];Object.keys(u).forEach((function(e){M[u[e]]=e}));var S=[];Object.keys(h).forEach((function(e){var t=h[e];S[t]=e}));var E=[];Object.keys(c).forEach((function(e){E[c[e]]=e}));var C=v.reduce((function(e,t){var n=m[t];return n===J||n===$||n===J||n===Q||n===te||n===re||r.ext_srgb&&(n===ne||n===ie)?e[n]=n:n===ee||t.indexOf("rgba")>=0?e[n]=Z:e[n]=K,e}),{});function L(){this.internalformat=Z,this.format=Z,this.type=ce,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=37444,this.width=0,this.height=0,this.channels=0}function I(e,t){e.internalformat=t.internalformat,e.format=t.format,e.type=t.type,e.compressed=t.compressed,e.premultiplyAlpha=t.premultiplyAlpha,e.flipY=t.flipY,e.unpackAlignment=t.unpackAlignment,e.colorSpace=t.colorSpace,e.width=t.width,e.height=t.height,e.channels=t.channels}function P(e,t){if("object"==typeof t&&t){if("premultiplyAlpha"in t&&(e.premultiplyAlpha=t.premultiplyAlpha),"flipY"in t&&(e.flipY=t.flipY),"alignment"in t&&(e.unpackAlignment=t.alignment),"colorSpace"in t&&(e.colorSpace=d[t.colorSpace]),"type"in t){var r=t.type;e.type=f[r]}var n=e.width,i=e.height,a=e.channels,o=!1;"shape"in t?(n=t.shape[0],i=t.shape[1],3===t.shape.length&&(a=t.shape[2],o=!0)):("radius"in t&&(n=i=t.radius),"width"in t&&(n=t.width),"height"in t&&(i=t.height),"channels"in t&&(a=t.channels,o=!0)),e.width=0|n,e.height=0|i,e.channels=0|a;var s=!1;if("format"in t){var l=t.format,c=e.internalformat=m[l];e.format=C[c],l in f&&("type"in t||(e.type=f[l])),l in g&&(e.compressed=!0),s=!0}!o&&s?e.channels=_e[e.format]:o&&!s&&e.channels!==be[e.format]&&(e.format=e.internalformat=be[e.channels])}}function z(e){t.pixelStorei(37440,e.flipY),t.pixelStorei(37441,e.premultiplyAlpha),t.pixelStorei(37443,e.colorSpace),t.pixelStorei(3317,e.unpackAlignment)}function O(){L.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function D(e,t){var r=null;if(je(t)?r=t:t&&(P(e,t),"x"in t&&(e.xOffset=0|t.x),"y"in t&&(e.yOffset=0|t.y),je(t.data)&&(r=t.data)),t.copy){var n=a.viewportWidth,i=a.viewportHeight;e.width=e.width||n-e.xOffset,e.height=e.height||i-e.yOffset,e.needsCopy=!0}else if(r){if(x(r))e.channels=e.channels||4,e.data=r,!("type"in t)&&e.type===ce&&(e.type=Fe(r));else if(Pe(r))e.channels=e.channels||4,function(e,t){var r=t.length;switch(e.type){case ce:case ue:case he:case de:var n=p.allocType(e.type,r);n.set(t),e.data=n;break;case ae:e.data=H(t)}}(e,r),e.alignment=1,e.needsFree=!0;else if(b(r)){var o=r.data;!Array.isArray(o)&&e.type===ce&&(e.type=Fe(o));var s,l,c,u,h,d,f=r.shape,m=r.stride;3===f.length?(c=f[2],d=m[2]):(c=1,d=1),s=f[0],l=f[1],u=m[0],h=m[1],e.alignment=1,e.width=s,e.height=l,e.channels=c,e.format=e.internalformat=be[c],e.needsFree=!0,function(e,t,r,n,i,a){for(var o=e.width,s=e.height,l=e.channels,c=Be(e,o*s*l),u=0,h=0;h>=i,r.height>>=i,D(r,n[i]),e.mipmask|=1<=0&&!("faces"in t)&&(e.genMipmaps=!0)}if("mag"in t){var n=t.mag;e.magFilter=u[n]}var i=e.wrapS,a=e.wrapT;if("wrap"in t){var o=t.wrap;"string"==typeof o?i=a=c[o]:Array.isArray(o)&&(i=c[o[0]],a=c[o[1]])}else{if("wrapS"in t){var s=t.wrapS;i=c[s]}if("wrapT"in t){var d=t.wrapT;a=c[d]}}if(e.wrapS=i,e.wrapT=a,"anisotropic"in t&&(t.anisotropic,e.anisotropic=t.anisotropic),"mipmap"in t){var f=!1;switch(typeof t.mipmap){case"string":e.mipmapHint=l[t.mipmap],e.genMipmaps=!0,f=!0;break;case"boolean":f=e.genMipmaps=t.mipmap;break;case"object":e.genMipmaps=!1,f=!0}f&&!("min"in t)&&(e.minFilter=me)}}function Ve(e,n){t.texParameteri(n,10241,e.minFilter),t.texParameteri(n,10240,e.magFilter),t.texParameteri(n,10242,e.wrapS),t.texParameteri(n,10243,e.wrapT),r.ext_texture_filter_anisotropic&&t.texParameteri(n,34046,e.anisotropic),e.genMipmaps&&(t.hint(33170,e.mipmapHint),t.generateMipmap(n))}var qe=0,He={},Ge=n.maxTextureUnits,We=Array(Ge).map((function(){return null}));function Ye(e){L.call(this),this.mipmask=0,this.internalformat=Z,this.id=qe++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new Le,s.profile&&(this.stats={size:0})}function Xe(e){t.activeTexture(ve),t.bindTexture(e.target,e.texture)}function Ze(){var e=We[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(W,null)}function $e(e){var r=e.texture,n=e.unit,i=e.target;n>=0&&(t.activeTexture(ve+n),t.bindTexture(i,null),We[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete He[e.id],o.textureCount--}return e(Ye.prototype,{bind:function(){var e=this;e.bindCount+=1;var r=e.unit;if(r<0){for(var n=0;n0)continue;i.unit=-1}We[n]=e,r=n;break}s.profile&&o.maxTextureUnits>l)-o,c.height=c.height||(n.height>>l)-s,Xe(n),j(c,W,o,s,l),Ze(),N(c),i},i.resize=function(e,r){var a=0|e,o=0|r||a;if(a===n.width&&o===n.height)return i;i.width=n.width=a,i.height=n.height=o,Xe(n);for(var l=0;n.mipmask>>l;++l){var c=a>>l,u=o>>l;if(!c||!u)break;t.texImage2D(W,l,n.format,c,u,0,n.format,n.type,null)}return Ze(),s.profile&&(n.stats.size=Ue(n.internalformat,n.type,a,o,!1,!1)),i},i._reglType="texture2d",i._texture=n,s.profile&&(i.stats=n.stats),i.destroy=function(){n.decRef()},i},createCube:function(e,r,n,i,a,l){var c=new Ye(Y);He[c.id]=c,o.cubeCount++;var u=new Array(6);function h(e,t,r,n,i,a){var o,l=c.texInfo;for(Le.call(l),o=0;o<6;++o)u[o]=Te();if("number"!=typeof e&&e){if("object"==typeof e)if(t)q(u[0],e),q(u[1],t),q(u[2],r),q(u[3],n),q(u[4],i),q(u[5],a);else if(Ie(l,e),P(c,e),"faces"in e){var d=e.faces;for(o=0;o<6;++o)I(u[o],c),q(u[o],d[o])}else for(o=0;o<6;++o)q(u[o],e)}else{var f=0|e||1;for(o=0;o<6;++o)V(u[o],f,f)}for(I(c,u[0]),l.genMipmaps?c.mipmask=(u[0].width<<1)-1:c.mipmask=u[0].mipmask,c.internalformat=u[0].internalformat,h.width=u[0].width,h.height=u[0].height,Xe(c),o=0;o<6;++o)we(u[o],X+o);for(Ve(l,Y),Ze(),s.profile&&(c.stats.size=Ue(c.internalformat,c.type,h.width,h.height,l.genMipmaps,!0)),h.format=T[c.internalformat],h.type=A[c.type],h.mag=M[l.magFilter],h.min=S[l.minFilter],h.wrapS=E[l.wrapS],h.wrapT=E[l.wrapT],o=0;o<6;++o)Ce(u[o]);return h}return h(e,r,n,i,a,l),h.subimage=function(e,t,r,n,i){var a=0|r,o=0|n,s=0|i,l=B();return I(l,c),l.width=0,l.height=0,D(l,t),l.width=l.width||(c.width>>s)-a,l.height=l.height||(c.height>>s)-o,Xe(c),j(l,X+e,a,o,s),Ze(),N(l),h},h.resize=function(e){var r=0|e;if(r!==c.width){h.width=c.width=r,h.height=c.height=r,Xe(c);for(var n=0;n<6;++n)for(var i=0;c.mipmask>>i;++i)t.texImage2D(X+n,i,c.format,r>>i,r>>i,0,c.format,c.type,null);return Ze(),s.profile&&(c.stats.size=Ue(c.internalformat,c.type,h.width,h.height,!1,!0)),h}},h._reglType="textureCube",h._texture=c,s.profile&&(h.stats=c.stats),h.destroy=function(){c.decRef()},h},clear:function(){for(var e=0;e>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;n<6;++n)t.texImage2D(X+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);Ve(e.texInfo,e.target)}))},refresh:function(){for(var e=0;e=0?d=!0:c.indexOf(p)>=0&&(d=!1))),("depthTexture"in M||"depthStencilTexture"in M)&&(T=!(!M.depthTexture&&!M.depthStencilTexture)),"depth"in M&&("boolean"==typeof M.depth?s=M.depth:(b=M.depth,u=!1)),"stencil"in M&&("boolean"==typeof M.stencil?u=M.stencil:(_=M.stencil,s=!1)),"depthStencil"in M&&("boolean"==typeof M.depthStencil?s=u=M.depthStencil:(w=M.depthStencil,s=!1,u=!1))}else a=o=1;var E=null,C=null,L=null,I=null;if(Array.isArray(h))E=h.map(m);else if(h)E=[m(h)];else for(E=new Array(x),r=0;r0&&(s.depth=r[0].depth,s.stencil=r[0].stencil,s.depthStencil=r[0].depthStencil),r[a]?r[a](s):r[a]=M(s)}return e(n,{width:l,height:l,color:o})}return n(t),e(n,{faces:r,resize:function(e){var t,i=0|e;if(i===n.width)return n;var a=n.color;for(t=0;t=0;--e){var t=ot[e];t&&t(we,null,0)}n.flush(),A&&A.update()}function dt(){!ut&&ot.length>0&&(ut=s.next(ht))}function ft(){ut&&(s.cancel(ht),ut=null)}function pt(e){e.preventDefault(),ft(),st.forEach((function(e){e()}))}function mt(e){n.getError(),a.restore(),He.restore(),Ce.restore(),Qe.restore(),et.restore(),tt.restore(),Ie.restore(),A&&A.restore(),rt.procs.refresh(),dt(),lt.forEach((function(e){e()}))}function gt(t){function r(e,t){var r={},n={};return Object.keys(e).forEach((function(i){var a=e[i];if(o.isDynamic(a))n[i]=o.unbox(a,i);else{if(t&&Array.isArray(a))for(var s=0;s0)return h.call(this,function(e){for(;f.length=0},read:nt,destroy:function(){ot.length=0,ft(),at&&(at.removeEventListener(Fr,pt),at.removeEventListener(Br,mt)),He.clear(),tt.clear(),et.clear(),Ie.clear(),Qe.clear(),Le.clear(),Ce.clear(),A&&A.clear(),ct.forEach((function(e){e()}))},_gl:n,_refresh:wt,poll:function(){_t(),A&&A.update()},now:kt,stats:d,getCachedCode:function(){return f},preloadCachedCode:function(e){Object.entries(e).forEach((function(e){f[e[0]]=e[1]}))}});return r.onDone(null,Tt),Tt}},"object"==typeof e&&typeof t<"u"?t.exports=n():r.createREGL=n()}}),Xb=m({"src/lib/prepare_regl.js"(e,t){var r=Ig(),n=Yb();t.exports=function(e,t,i){var a=e._fullLayout,o=!0;return a._glcanvas.each((function(r){if(r.regl)r.regl.preloadCachedCode(i);else if(!r.pick||a._has("parcoords")){try{r.regl=n({canvas:this,attributes:{antialias:!r.pick,preserveDrawingBuffer:!0},pixelRatio:e._context.plotGlPixelRatio||window.devicePixelRatio,extensions:t||[],cachedCode:i||{}})}catch{o=!1}r.regl||(o=!1),o&&this.addEventListener("webglcontextlost",(function(t){e&&e.emit&&e.emit("plotly_webglcontextlost",{event:t,layer:r.key})}),!1)}})),o||r({container:a._glcontainer.node()}),o}}}),Zb=m({"src/traces/scattergl/plot.js"(e,t){var r=Jv(),n=bb(),i=_b(),a=Wb(),o=dr(),s=Nn().selectMode,l=Xb(),c=Jr(),u=_a(),h=qv().styleTextSelection,d={};function f(e,t,r,n){var i=e._size,a=e.width*n,o=e.height*n,s=i.l*n,l=i.b*n,c=i.r*n,u=i.t*n,h=i.w*n,d=i.h*n;return[s+t.domain[0]*h,l+r.domain[0]*d,a-c-(1-t.domain[1])*h,o-u-(1-r.domain[1])*d]}(t.exports=function(e,t,p){if(p.length){var m,g,y=e._fullLayout,v=t._scene,x=t.xaxis,b=t.yaxis;if(v){if(!l(e,["ANGLE_instanced_arrays","OES_element_index_uint"],d))return void v.init();var _=v.count,w=y._glcanvas.data()[0].regl;if(u(e,t,p),v.dirty){if((v.line2d||v.error2d)&&!(v.scatter2d||v.fill2d||v.glText)&&w.clear({color:!0,depth:!0}),!0===v.error2d&&(v.error2d=i(w)),!0===v.line2d&&(v.line2d=n(w)),!0===v.scatter2d&&(v.scatter2d=r(w)),!0===v.fill2d&&(v.fill2d=n(w)),!0===v.glText)for(v.glText=new Array(_),m=0;m<_;m++)v.glText[m]=new a(w);if(v.glText){if(_>v.glText.length){var k=_-v.glText.length;for(m=0;mr&&(isNaN(t[n])||isNaN(t[n+1]));)n-=2;e.positions=t.slice(r,n+2)}return e})),v.line2d.update(v.lineOptions)),v.error2d){var A=(v.errorXOptions||[]).concat(v.errorYOptions||[]).map((function(e){return e||{positions:[],errors:[]}}));v.error2d.update(A)}v.scatter2d&&v.scatter2d.update(v.markerOptions),v.fillOrder=o.repeat(null,_),v.fill2d&&(v.fillOptions=v.fillOptions.map((function(e,t){var r=p[t];if(e&&r&&r[0]&&r[0].trace){var n,i,a=r[0],o=a.trace,s=a.t,l=v.lineOptions[t],c=[];o._ownfill&&c.push(t),o._nexttrace&&c.push(t+1),c.length&&(v.fillOrder[t]=c);var u,h,d=[],f=l&&l.positions||s.positions;if("tozeroy"===o.fill){for(u=0;uu&&isNaN(f[h+1]);)h-=2;0!==f[u+1]&&(d=[f[u],0]),d=d.concat(f.slice(u,h+2)),0!==f[h+1]&&(d=d.concat([f[h],0]))}else if("tozerox"===o.fill){for(u=0;uu&&isNaN(f[h]);)h-=2;0!==f[u]&&(d=[0,f[u+1]]),d=d.concat(f.slice(u,h+2)),0!==f[h]&&(d=d.concat([0,f[h+1]]))}else if("toself"===o.fill||"tonext"===o.fill){for(d=[],n=0,e.splitNull=!0,i=0;i-1;for(let[e]of p)if(e){var C=e.trace,L=e.t,I=L.index,P=C._length,z=L.x,O=L.y;if(C.selectedpoints||S||E){if(S||(S=!0),C.selectedpoints){var D=v.selectBatch[I]=C.selectedpoints,R={};for(g=0;ga&&l||ih?b.sizeAvg||Math.max(b.size,3):i(t,x),f=0;f2?(n=h[0],a=h[2],i=h[1],o=h[3]):h.length?(n=i=h[0],a=o=h[1]):(n=h.x,i=h.y,a=h.x+h.width,o=h.y+h.height),d.length>2?(s=d[0],c=d[2],l=d[1],u=d[3]):d.length?(s=l=d[0],c=u=d[1]):(s=d.x,l=d.y,c=d.x+d.width,u=d.y+d.height),[s,i,c,o]}function d(e){if("number"==typeof e)return[e,e,e,e];if(2===e.length)return[e[0],e[1],e[0],e[1]];{let t=s(e);return[t.x,t.y,t.x+t.width,t.y+t.height]}}t.exports=c,c.prototype.render=function(...e){return e.length&&this.update(...e),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=a((()=>{this.draw(),this.dirty=!0,this.planned=null}))):(this.draw(),this.dirty=!0,a((()=>{this.dirty=!1}))),this)},c.prototype.update=function(...e){if(!e.length)return;for(let t=0;tt||!c.lower&&e{t[a+r]=n}))}this.scatter.draw(...t)}else this.scatter.draw();return this},c.prototype.destroy=function(){return this.traces.forEach((e=>{e.buffer&&e.buffer.destroy&&e.buffer.destroy()})),this.traces=null,this.passes=null,this.scatter.destroy(),this}}}),s_=m({"src/traces/splom/plot.js"(e,t){var r=o_(),n=dr(),i=kr(),a=Nn().selectMode;function o(e,t){var o,s,l,c,u,h=e._fullLayout,d=h._size,f=t.trace,p=t.t,m=h._splomScenes[f.uid],g=m.matrixOptions,y=g.cdata,v=h._glcanvas.data()[0].regl,x=h.dragmode;if(0!==y.length){g.lower=f.showupperhalf,g.upper=f.showlowerhalf,g.diagonal=f.diagonal.visible;var b=f._visibleDims,_=y.length,w=m.viewOpts={};for(w.ranges=new Array(_),w.domains=new Array(_),u=0;u-1,I=!0;if(a(x)||f.selectedpoints||L){var P=f._length;if(f.selectedpoints){m.selectBatch=f.selectedpoints;var z=f.selectedpoints,O={};for(l=0;l=t[r][0]&&e<=t[r][1])return!0;return!1}(r,n))return r;var i=e?-1:1,a=0,o=t.length-1;if(i<0){var s=a;a=o,o=s}for(var l=t[a],u=l,d=a;i*dt){d=n;break}}if(a=u,isNaN(a)&&(a=isNaN(h)||isNaN(d)?isNaN(h)?d:h:t-c[h][1]e[1]+n||t=.9*e[1]+.1*e[0]?"n":t<=.9*e[0]+.1*e[1]?"s":"ns"}(p,t);m&&(o.interval=l[a],o.intervalPix=p,o.region=m)}}if(e.ordinal&&!o.region){var y=e.unitTickvals,v=e.unitToPaddedPx.invert(t);for(n=0;n=x[0]&&v<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function _(e,t){n.event.sourceEvent.stopPropagation();var i=t.height-n.mouse(e)[1]-2*r.verticalPadding,a=t.brush.svgBrush;a.wasDragged=!0,a._dragging=!0,a.grabbingBar?a.newExtent=[i-a.grabPoint,i+a.barLength-a.grabPoint].map(t.unitToPaddedPx.invert):a.newExtent=[a.startExtent,t.unitToPaddedPx.invert(i)].sort(o),t.brush.filterSpecified=!0,a.extent=a.stayingIntervals.concat([a.newExtent]),a.brushCallback(t),x(e.parentNode)}function k(e,t){var i=b(t,t.height-n.mouse(e)[1]-2*r.verticalPadding),a="crosshair";i.clickableOrdinalRange?a="pointer":i.region&&(a=i.region+"-resize"),n.select(document.body).style("cursor",a)}function T(e){e.on("mousemove",(function(e){n.event.preventDefault(),e.parent.inBrushDrag||k(this,e)})).on("mouseleave",(function(e){e.parent.inBrushDrag||y()})).call(n.behavior.drag().on("dragstart",(function(e){!function(e,t){n.event.sourceEvent.stopPropagation();var i=t.height-n.mouse(e)[1]-2*r.verticalPadding,a=t.unitToPaddedPx.invert(i),o=t.brush,s=b(t,i),l=s.interval,c=o.svgBrush;if(c.wasDragged=!1,c.grabbingBar="ns"===s.region,c.grabbingBar){var u=l.map(t.unitToPaddedPx);c.grabPoint=i-u[0]-r.verticalPadding,c.barLength=u[1]-u[0]}c.clickableOrdinalRange=s.clickableOrdinalRange,c.stayingIntervals=t.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(c.stayingIntervals=c.stayingIntervals.filter((function(e){return e[0]!==l[0]&&e[1]!==l[1]}))),c.startExtent=s.region?l["s"===s.region?1:0]:a,t.parent.inBrushDrag=!0,c.brushStartCallback()}(this,e)})).on("drag",(function(e){_(this,e)})).on("dragend",(function(e){!function(e,t){var r=t.brush,i=r.filter,a=r.svgBrush;a._dragging||(k(e,t),_(e,t),t.brush.svgBrush.wasDragged=!1),a._dragging=!1,n.event.sourceEvent.stopPropagation();var o=a.grabbingBar;if(a.grabbingBar=!1,a.grabLocation=void 0,t.parent.inBrushDrag=!1,y(),!a.wasDragged)return a.wasDragged=void 0,a.clickableOrdinalRange?r.filterSpecified&&t.multiselect?a.extent.push(a.clickableOrdinalRange):(a.extent=[a.clickableOrdinalRange],r.filterSpecified=!0):o?(a.extent=a.stayingIntervals,0===a.extent.length&&M(r)):M(r),a.brushCallback(t),x(e.parentNode),void a.brushEndCallback(r.filterSpecified?i.getConsolidated():[]);var s=function(){i.set(i.getConsolidated())};if(t.ordinal){var l=t.unitTickvals;l[l.length-1]a.newExtent[0];a.extent=a.stayingIntervals.concat(c?[a.newExtent]:[]),a.extent.length||M(r),a.brushCallback(t),c?x(e.parentNode,s):(s(),x(e.parentNode))}else s();a.brushEndCallback(r.filterSpecified?i.getConsolidated():[])}(this,e)})))}function A(e,t){return e[0]-t[0]}function M(e){e.filterSpecified=!1,e.svgBrush.extent=[[-1/0,1/0]]}function S(e){return function(t){var r=t.brush,n=function(e){return e.svgBrush.extent.map((function(e){return e.slice()}))}(r),i=n.slice();r.filter.set(i),e()}}function E(e){for(var t,r=e.slice(),n=[],i=r.shift();i;){for(t=i.slice();(i=r.shift())&&i[0]<=t[1];)t[1]=Math.max(t[1],i[1]);n.push(t)}return 1===n.length&&n[0][0]>n[0][1]&&(n=[]),n}t.exports={makeBrush:function(e,t,r,n,i,a){var s=function(){var e,t,r=[];return{set:function(n){1===(r=n.map((function(e){return e.slice().sort(o)})).sort(A)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),e=E(r),t=r.reduce((function(e,t){return[Math.min(e[0],t[0]),Math.max(e[1],t[1])]}),[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return e},getBounds:function(){return t}}}();return s.set(r),{filter:s,filterSpecified:t,svgBrush:{extent:[],brushStartCallback:n,brushCallback:S(i),brushEndCallback:a}}},ensureAxisBrush:function(e,t,n){var o=e.selectAll("."+r.cn.axisBrush).data(a,i);o.enter().append("g").classed(r.cn.axisBrush,!0),function(e,t,n){var i=n._context.staticPlot,o=e.selectAll(".background").data(a);o.enter().append("rect").classed("background",!0).call(f).call(p).style("pointer-events",i?"none":"auto").attr("transform",s(0,r.verticalPadding)),o.call(T).attr("height",(function(e){return e.height-r.verticalPadding}));var l=e.selectAll(".highlight-shadow").data(a);l.enter().append("line").classed("highlight-shadow",!0).attr("x",-r.bar.width/2).attr("stroke-width",r.bar.width+r.bar.strokeWidth).attr("stroke",t).attr("opacity",r.bar.strokeOpacity).attr("stroke-linecap","butt"),l.attr("y1",(function(e){return e.height})).call(v);var c=e.selectAll(".highlight").data(a);c.enter().append("line").classed("highlight",!0).attr("x",-r.bar.width/2).attr("stroke-width",r.bar.width-r.bar.strokeWidth).attr("stroke",r.bar.fillColor).attr("opacity",r.bar.fillOpacity).attr("stroke-linecap","butt"),c.attr("y1",(function(e){return e.height})).call(v)}(o,t,n)},cleanRanges:function(e,t){if(Array.isArray(e[0])?(e=e.map((function(e){return e.sort(o)})),e=t.multiselect?E(e.sort(A)):[e[0]]):e=[e.sort(o)],t.tickvals){var r=t.tickvals.slice().sort(o);if(!(e=e.map((function(e){var t=[d(0,r,e[0],[]),d(1,r,e[1],[])];if(t[1]>t[0])return t})).filter((function(e){return e}))).length)return}return e.length>1?e:e[0]}}}}),b_=m({"src/traces/parcoords/defaults.js"(e,t){var r=dr(),n=Pr().hasColorscale,i=Yr(),a=Do().defaults,o=qr(),s=cn(),l=g_(),c=x_(),u=y_().maxDimensionCount,h=Qb();function d(e,t,n,i){function a(n,i){return r.coerce(e,t,l.dimensions,n,i)}var o=a("values"),u=a("visible");if(o&&o.length||(u=t.visible=!1),u){a("label"),a("tickvals"),a("ticktext"),a("tickformat");var h=a("range");t._ax={_id:"y",type:"linear",showexponent:"all",exponentformat:"B",range:h},s.setConvert(t._ax,i.layout),a("multiselect");var d=a("constraintrange");d&&(t.constraintrange=c.cleanRanges(d,t))}}t.exports=function(e,t,s,c){function f(n,i){return r.coerce(e,t,l,n,i)}var p=e.dimensions;Array.isArray(p)&&p.length>u&&(r.log("parcoords traces support up to "+u+" dimensions at the moment"),p.splice(u));var m=o(e,t,{name:"dimensions",layout:c,handleItemDefaults:d}),g=function(e,t,a,o,s){var l=s("line.color",a);if(n(e,"line")&&r.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),i(e,t,o,s,{prefix:"line.",cLetter:"c"}),l.length;t.line.color=a}return 1/0}(e,t,s,c,f);a(t,c,f),(!Array.isArray(m)||!m.length)&&(t.visible=!1),h(t,m,"values",g);var y=r.extendFlat({},c.font,{size:Math.round(c.font.size/1.2)});r.coerceFont(f,"labelfont",y),r.coerceFont(f,"tickfont",y,{autoShadowDflt:!0}),r.coerceFont(f,"rangefont",y),f("labelangle"),f("labelside"),f("unselected.line.color"),f("unselected.line.opacity")}}}),__=m({"src/traces/parcoords/calc.js"(e,t){var r=dr().isArrayOrTypedArray,n=Kr(),i=v_().wrap;t.exports=function(e,t){var a,o;return n.hasColorscale(t,"line")&&r(t.line.color)?(a=t.line.color,o=n.extractOpts(t.line).colorscale,n.calc(e,t,{vals:a,containerStr:"line",cLetter:"c"})):(a=function(e){for(var t=new Array(e),r=0;r>>16,(65280&e)>>>8,255&e],alpha:1};if("number"==typeof e)return{space:"rgb",values:[e>>>16,(65280&e)>>>8,255&e],alpha:1};if(e=String(e).toLowerCase(),k_.default[e])a=k_.default[e].slice(),i="rgb";else if("transparent"===e)o=0,i="rgb",a=[0,0,0];else if("#"===e[0]){var s=e.slice(1),l=s.length;o=1,l<=4?(a=[parseInt(s[0]+s[0],16),parseInt(s[1]+s[1],16),parseInt(s[2]+s[2],16)],4===l&&(o=parseInt(s[3]+s[3],16)/255)):(a=[parseInt(s[0]+s[1],16),parseInt(s[2]+s[3],16),parseInt(s[4]+s[5],16)],8===l&&(o=parseInt(s[6]+s[7],16)/255)),a[0]||(a[0]=0),a[1]||(a[1]=0),a[2]||(a[2]=0),i="rgb"}else if(n=/^((?:rgba?|hs[lvb]a?|hwba?|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms|oklch|oklab|color))\s*\(([^\)]*)\)/.exec(e)){var c=n[1],u="cmyk"===(i=c.replace(/a$/,""))?4:"gray"===i?1:3;a=n[2].trim().split(/\s*[,\/]\s*|\s+/),"color"===i&&(i=a.shift()),o=(a=a.map((function(e,t){if("%"===e[e.length-1])return e=parseFloat(e)/100,3===t?e:"rgb"===i?255*e:"h"===i[0]||"l"===i[0]&&!t?100*e:"lab"===i?125*e:"lch"===i?t<2?150*e:360*e:"o"!==i[0]||t?"oklab"===i?.4*e:"oklch"===i?t<2?.4*e:360*e:e:e;if("h"===i[t]||2===t&&"h"===i[i.length-1]){if(void 0!==A_[e])return A_[e];if(e.endsWith("deg"))return parseFloat(e);if(e.endsWith("turn"))return 360*parseFloat(e);if(e.endsWith("grad"))return 360*parseFloat(e)/400;if(e.endsWith("rad"))return 180*parseFloat(e)/Math.PI}return"none"===e?0:parseFloat(e)}))).length>u?a.pop():1}else/[0-9](?:\s|\/|,)/.test(e)&&(a=e.match(/([0-9]+)/g).map((function(e){return parseFloat(e)})),i=(null==(r=null==(t=e.match(/([a-z])/gi))?void 0:t.join(""))?void 0:r.toLowerCase())||"rgb");return{space:i,values:a,alpha:o}}var k_,T_,A_,M_,S_,E_=p({"node_modules/color-parse/index.js"(){k_=v(pg(),1),T_=w_,A_={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}}),C_=p({"node_modules/color-space/rgb.js"(){M_={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}}}),L_=p({"node_modules/color-space/hsl.js"(){C_(),S_={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(e){var t,r,n,i,a,o=e[0]/360,s=e[1]/100,l=e[2]/100,c=0;if(0===s)return[a=255*l,a,a];for(t=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];c<3;)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,a=6*n<1?t+6*(r-t)*n:2*n<1?r:3*n<2?t+(r-t)*(2/3-n)*6:t,i[c++]=255*a;return i}},M_.hsl=function(e){var t,r,n=e[0]/255,i=e[1]/255,a=e[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?t=0:n===s?t=(i-a)/l:i===s?t=2+(a-n)/l:a===s&&(t=4+(n-i)/l),(t=Math.min(60*t,360))<0&&(t+=360),r=(o+s)/2,[t,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}}}),I_={};function P_(e){Array.isArray(e)&&e.raw&&(e=String.raw(...arguments)),e instanceof Number&&(e=+e);var t,r=T_(e);if(!r.space)return[];let n="h"===r.space[0]?S_.min:M_.min,i="h"===r.space[0]?S_.max:M_.max;return(t=Array(3))[0]=Math.min(Math.max(r.values[0],n[0]),i[0]),t[1]=Math.min(Math.max(r.values[1],n[1]),i[1]),t[2]=Math.min(Math.max(r.values[2],n[2]),i[2]),"h"===r.space[0]&&(t=S_.rgb(t)),t.push(Math.min(Math.max(r.alpha,0),1)),t}g(I_,{default:()=>P_});var z_=p({"node_modules/color-rgba/index.js"(){E_(),C_(),L_()}}),O_=m({"src/traces/parcoords/helpers.js"(e){var t=dr().isTypedArray;e.convertTypedArray=function(e){return t(e)?Array.prototype.slice.call(e):e},e.isOrdinal=function(e){return!!e.tickvals},e.isVisible=function(e){return e.visible||!("visible"in e)}}}),D_=m({"src/traces/parcoords/lines.js"(e,t){var r=["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"),n=["precision highp float;","","varying vec4 fragColor;","","void main() {"," gl_FragColor = fragColor;","}"].join("\n"),i=y_().maxDimensionCount,a=dr(),o=1e-6,s=2048,l=new Uint8Array(4),c=new Uint8Array(4),u={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function h(e,t,r,n,i){var a=e._gl;a.enable(a.SCISSOR_TEST),a.scissor(t,r,n,i),e.clear({color:[0,0,0,0],depth:1})}function d(e,t,r,n,i,a){var o=a.key;r.drawCompleted||(function(e){e.read({x:0,y:0,width:1,height:1,data:l})}(e),r.drawCompleted=!0),function s(l){var c=Math.min(n,i-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],h(e,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),!r.clearOnly&&(a.count=2*c,a.offset=2*l*n,t(a),l*n+c>>8*t)%256/255}function g(e,t,r){for(var n=new Array(8*t),i=0,a=0;au&&(u=e[n].dim1.canvasX,a=n);0===l&&h(A,0,0,o.canvasWidth,o.canvasHeight);var f=function(e){var t,r,n,i=[[],[]];for(n=0;n<64;n++){var a=!e&&ns._length&&(M=M.slice(0,s._length));var C,I=s.tickvals;function P(e,t){return{val:e,text:C[t]}}function z(e,t){return e.val-t.val}if(i(I)&&I.length){n.isTypedArray(I)&&(I=Array.from(I)),C=s.ticktext,i(C)&&C.length?C.length>I.length?C=C.slice(0,I.length):I.length>C.length&&(I=I.slice(0,C.length)):C=I.map(a(s.tickformat));for(var O=1;O=n||l>=i)return;var c=e.lineLayer.readPixel(s,i-1-l),u=0!==c[3],h=u?c[2]+256*(c[1]+256*c[0]):null,d={x:s,y:l,clientX:t.clientX,clientY:t.clientY,dataIndex:e.model.key,curveNumber:h};h!==C&&(u?a.hover(d):a.unhover&&a.unhover(d),C=h)}})),E.style("opacity",(function(e){return e.pick?0:1})),f.style("background","rgba(255, 255, 255, 0)");var F=f.selectAll("."+v.cn.parcoords).data(S,p);F.exit().remove(),F.enter().append("g").classed(v.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),F.attr("transform",(function(e){return c(e.model.translateX,e.model.translateY)}));var B=F.selectAll("."+v.cn.parcoordsControlView).data(m,p);B.enter().append("g").classed(v.cn.parcoordsControlView,!0),B.attr("transform",(function(e){return c(e.model.pad.l,e.model.pad.t)}));var N=B.selectAll("."+v.cn.yAxis).data((function(e){return e.dimensions}),p);N.enter().append("g").classed(v.cn.yAxis,!0),B.each((function(e){D(N,e,w)})),E.each((function(e){if(e.viewModel){!e.lineLayer||a?e.lineLayer=_(this,e):e.lineLayer.update(e),(e.key||0===e.key)&&(e.viewModel[e.key]=e.lineLayer);var t=!e.context||a;e.lineLayer.render(e.viewModel.panels,t)}})),N.attr("transform",(function(e){return c(e.xScale(e.xIndex),0)})),N.call(r.behavior.drag().origin((function(e){return e})).on("drag",(function(e){var t=e.parent;A.linePickActive(!1),e.x=Math.max(-v.overdrag,Math.min(e.model.width+v.overdrag,r.event.x)),e.canvasX=e.x*e.model.canvasPixelRatio,N.sort((function(e,t){return e.x-t.x})).each((function(t,r){t.xIndex=r,t.x=e===t?t.x:t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio})),D(N,t,w),N.filter((function(t){return 0!==Math.abs(e.xIndex-t.xIndex)})).attr("transform",(function(e){return c(e.xScale(e.xIndex),0)})),r.select(this).attr("transform",c(e.x,0)),N.each((function(r,n,i){i===e.parent.key&&(t.dimensions[n]=r)})),t.contextLayer&&t.contextLayer.render(t.panels,!1,!L(t)),t.focusLayer.render&&t.focusLayer.render(t.panels)})).on("dragend",(function(e){var t=e.parent;e.x=e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio,D(N,t,w),r.select(this).attr("transform",(function(e){return c(e.x,0)})),t.contextLayer&&t.contextLayer.render(t.panels,!1,!L(t)),t.focusLayer&&t.focusLayer.render(t.panels),t.pickLayer&&t.pickLayer.render(t.panels,!0),A.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(t.key,t.dimensions.map((function(e){return e.crossfilterDimensionIndex})))}))),N.exit().remove();var U=N.selectAll("."+v.cn.axisOverlays).data(m,p);U.enter().append("g").classed(v.cn.axisOverlays,!0),U.selectAll("."+v.cn.axis).remove();var V=U.selectAll("."+v.cn.axis).data(m,p);V.enter().append("g").classed(v.cn.axis,!0),V.each((function(e){var t=e.model.height/e.model.tickDistance,n=e.domainScale,i=n.domain();r.select(this).call(r.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(t,e.tickFormat).tickValues(e.ordinal?i:null).tickFormat((function(t){return y.isOrdinal(e)?t:R(e.model.dimensions[e.visibleIndex],t)})).scale(n)),h.font(V.selectAll("text"),e.model.tickFont)})),V.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),V.selectAll("text").style("cursor","default");var q=U.selectAll("."+v.cn.axisHeading).data(m,p);q.enter().append("g").classed(v.cn.axisHeading,!0);var H=q.selectAll("."+v.cn.axisTitle).data(m,p);H.enter().append("text").classed(v.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events",o?"none":"auto"),H.text((function(e){return e.label})).each((function(t){var n=r.select(this);h.font(n,t.model.labelFont),u.convertToTspans(n,e)})).attr("transform",(function(e){var t=O(e.model.labelAngle,e.model.labelSide),r=v.axisTitleOffset;return(t.dir>0?"":c(0,2*r+e.model.height))+l(t.degrees)+c(-r*t.dx,-r*t.dy)})).attr("text-anchor",(function(e){var t=O(e.model.labelAngle,e.model.labelSide);return 2*Math.abs(t.dx)>Math.abs(t.dy)?t.dir*t.dx<0?"start":"end":"middle"}));var G=U.selectAll("."+v.cn.axisExtent).data(m,p);G.enter().append("g").classed(v.cn.axisExtent,!0);var W=G.selectAll("."+v.cn.axisExtentTop).data(m,p);W.enter().append("g").classed(v.cn.axisExtentTop,!0),W.attr("transform",c(0,-v.axisExtentOffset));var Y=W.selectAll("."+v.cn.axisExtentTopText).data(m,p);Y.enter().append("text").classed(v.cn.axisExtentTopText,!0).call(z),Y.text((function(e){return j(e,!0)})).each((function(e){h.font(r.select(this),e.model.rangeFont)}));var X=G.selectAll("."+v.cn.axisExtentBottom).data(m,p);X.enter().append("g").classed(v.cn.axisExtentBottom,!0),X.attr("transform",(function(e){return c(0,e.model.height+v.axisExtentOffset)}));var Z=X.selectAll("."+v.cn.axisExtentBottomText).data(m,p);Z.enter().append("text").classed(v.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(z),Z.text((function(e){return j(e,!1)})).each((function(e){h.font(r.select(this),e.model.rangeFont)})),b.ensureAxisBrush(U,k,e)}}}),j_=m({"src/traces/parcoords/plot.js"(e,t){var r=R_(),n=Xb(),i=O_().isVisible,a={};function o(e,t,r){var n=t.indexOf(r),i=e.indexOf(n);return-1===i&&(i+=t.length),i}(t.exports=function(e,t){var s=e._fullLayout;if(n(e,[],a)){var l={},c={},u={},h=s._size;t.forEach((function(t,r){var n=t[0].trace,i=u[r]=n.index;l[r]=e.data[i].dimensions,c[r]=e.data[i].dimensions.slice()})),r(e,t,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{filterChanged:function(t,r,n){var i=c[t][r],a=n.map((function(e){return e.slice()})),o="dimensions["+r+"].constraintrange",l=s._tracePreGUI[e._fullData[u[t]].uid];if(void 0===l[o]){var h=i.constraintrange;l[o]=h||null}var d=e._fullData[u[t]].dimensions[r];a.length?(1===a.length&&(a=a[0]),i.constraintrange=a,d.constraintrange=a.slice(),a=[a]):(delete i.constraintrange,delete d.constraintrange,a=null);var f={};f[o]=a,e.emit("plotly_restyle",[f,[u[t]]])},hover:function(t){e.emit("plotly_hover",t)},unhover:function(t){e.emit("plotly_unhover",t)},axesMoved:function(t,r){var n=function(e,t){return function(r,n){return o(e,t,r)-o(e,t,n)}}(r,c[t].filter(i));l[t].sort(n),c[t].filter((function(e){return!i(e)})).sort((function(e){return c[t].indexOf(e)})).forEach((function(e){l[t].splice(l[t].indexOf(e),1),l[t].splice(c[t].indexOf(e),0,e)})),e.emit("plotly_restyle",[{dimensions:[l[t]]},[u[t]]])}})}}).reglPrecompiled=a}}),F_=m({"src/traces/parcoords/base_plot.js"(e){var t=w(),r=Mr().getModuleCalcData,n=j_(),i=Cr();e.name="parcoords",e.plot=function(e){var t=r(e.calcdata,"parcoords")[0];t.length&&n(e,t)},e.clean=function(e,t,r,n){var i=n._has&&n._has("parcoords"),a=t._has&&t._has("parcoords");i&&!a&&(n._paperdiv.selectAll(".parcoords").remove(),n._glimages.selectAll("*").remove())},e.toSVG=function(e){var r=e._fullLayout._glimages,n=t.select(e).selectAll(".svg-container");n.filter((function(e,t){return t===n.size()-1})).selectAll(".gl-canvas-context, .gl-canvas-focus").each((function(){var e=this,t=e.toDataURL("image/png");r.append("svg:image").attr({xmlns:i.svg,"xlink:href":t,preserveAspectRatio:"none",x:0,y:0,width:e.style.width,height:e.style.height})})),window.setTimeout((function(){t.selectAll("#filterBarPattern").attr("id","filterBarPattern")}),60)}}}),B_=m({"src/traces/parcoords/base_index.js"(e,t){t.exports={attributes:g_(),supplyDefaults:b_(),calc:__(),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:F_(),categories:["gl","regl","noOpacity","noHover"],meta:{}}}}),N_=m({"src/traces/parcoords/index.js"(e,t){var r=B_();r.plot=j_(),t.exports=r}}),U_=m({"lib/parcoords.js"(e,t){t.exports=N_()}}),V_=m({"src/traces/parcats/attributes.js"(e,t){var r=V().extendFlat,n=Y(),i=q(),a=Rr(),{hovertemplateAttrs:o,templatefallbackAttrs:s}=Lt(),l=Do().attributes,c=r({editType:"calc"},a("line",{editTypeOverride:"calc"}),{shape:{valType:"enumerated",values:["linear","hspline"],dflt:"linear",editType:"plot"},hovertemplate:o({editType:"plot",arrayOk:!1},{keys:["count","probability"]}),hovertemplatefallback:s({editType:"plot"})});t.exports={domain:l({name:"parcats",trace:!0,editType:"calc"}),hoverinfo:r({},n.hoverinfo,{flags:["count","probability"],editType:"plot",arrayOk:!1}),hoveron:{valType:"enumerated",values:["category","color","dimension"],dflt:"category",editType:"plot"},hovertemplate:o({editType:"plot",arrayOk:!1},{keys:["count","probability","category","categorycount","colorcount","bandcolorcount"]}),hovertemplatefallback:s({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:i({editType:"calc"}),tickfont:i({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:c,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}}}),q_=m({"src/traces/parcats/defaults.js"(e,t){var r=dr(),n=Pr().hasColorscale,i=Yr(),a=Do().defaults,o=qr(),s=V_(),l=Qb(),c=I().isTypedArraySpec;function u(e,t){function n(n,i){return r.coerce(e,t,s.dimensions,n,i)}var i=n("values"),a=n("visible");if(i&&i.length||(a=t.visible=!1),a){n("label"),n("displayindex",t._index);var o,l=e.categoryarray,u=r.isArrayOrTypedArray(l)&&l.length>0||c(l);u&&(o="array");var h=n("categoryorder",o);"array"===h?(n("categoryarray"),n("ticktext")):(delete e.categoryarray,delete e.ticktext),!u&&"array"===h&&(t.categoryorder="trace")}}t.exports=function(e,t,c,h){function d(n,i){return r.coerce(e,t,s,n,i)}var f=o(e,t,{name:"dimensions",handleItemDefaults:u}),p=function(e,t,a,o,s){s("line.shape"),s("line.hovertemplate"),s("line.hovertemplatefallback");var l=s("line.color",o.colorway[0]);if(n(e,"line")&&r.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),i(e,t,o,s,{prefix:"line.",cLetter:"c"}),l.length;t.line.color=a}return 1/0}(e,t,c,h,d);a(t,h,d),(!Array.isArray(f)||!f.length)&&(t.visible=!1),l(t,f,"values",p),d("hoveron"),d("hovertemplate"),d("hovertemplatefallback"),d("arrangement"),d("bundlecolors"),d("sortpaths"),d("counts");var m=h.font;r.coerceFont(d,"labelfont",m,{overrideDflt:{size:Math.round(m.size)}}),r.coerceFont(d,"tickfont",m,{autoShadowDflt:!0,overrideDflt:{size:Math.round(m.size/1.2)}})}}}),H_=m({"src/traces/parcats/calc.js"(e,t){var r=v_().wrap,n=Pr().hasColorscale,i=$r(),a=tr(),o=nn(),s=dr(),l=S();function c(e,t,r,n){return{dimensionInd:e,categoryInd:t,categoryValue:r,displayInd:t,categoryLabel:n,valueInds:[],count:0,dragY:null}}function u(e,t,r){e.valueInds.push(t),e.count+=r}function h(e,t,r){return{categoryInds:e,color:t,rawColor:r,valueInds:[],count:0}}function d(e,t,r){e.valueInds.push(t),e.count+=r}t.exports=function(e,t){var f=s.filterVisible(t.dimensions);if(0===f.length)return[];var p,m,g,y=f.map((function(e){var t;if("trace"===e.categoryorder)t=null;else if("array"===e.categoryorder)t=e.categoryarray;else{t=a(e.values);for(var r=!0,n=0;n=e.length||void 0!==t[e[r]])return!1;t[e[r]]=!0}return!0}(r))for(t=0;tt.model.rawColor?1:e.model.rawColor"),C=r.mouse(h)[0];o.loneHover({trace:d,x:b-p.left+m.left,y:_-p.top+m.top,text:E,color:e.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:w,idealAlign:Ca.mostReadable(e.model.color))).attr("stroke-width",.3)}function T(e){e.select("rect.catrect").attr("stroke","black").attr("stroke-width",1).attr("stroke-opacity",1)}function A(e){e.attr("stroke","black").attr("stroke-width",.2).attr("stroke-opacity",1).attr("fill-opacity",1)}function M(e){var t=e.parcatsViewModel.pathSelection,r=e.categoryViewModel.model.dimensionInd,n=e.categoryViewModel.model.categoryInd;return t.filter((function(t){return t.model.categoryInds[r]===n&&t.model.color===e.color}))}function S(e,t,n){var i=r.select(e).datum(),a=i.categoryViewModel.model,o=i.parcatsViewModel.graphDiv,s=r.select(e.parentNode).selectAll("rect.bandrect"),l=[];s.each((function(e){M(e).each((function(e){Array.prototype.push.apply(l,y(e))}))}));var c={};c[a.dimensionInd]=a.categoryValue,o.emit(t,{points:l,event:n,constraints:c})}function E(e,t,n){var i=r.select(e).datum(),a=i.categoryViewModel.model,o=i.parcatsViewModel.graphDiv,s=M(i),l=[];s.each((function(e){Array.prototype.push.apply(l,y(e))}));var c={};c[a.dimensionInd]=a.categoryValue,void 0!==i.rawColor&&(c.color=i.rawColor),o.emit(t,{points:l,event:n,constraints:c})}function C(e,t,n){e._fullLayout._calcInverseTransform(e);var i,a,o=e._fullLayout._invScaleX,s=e._fullLayout._invScaleY,l=r.select(n.parentNode).select("rect.catrect"),c=l.node().getBoundingClientRect(),u=l.datum(),h=u.parcatsViewModel,d=h.model.dimensions[u.model.dimensionInd],f=h.trace,p=c.top+c.height/2;h.dimensions.length>1&&d.displayInd===h.dimensions.length-1?(i=c.left,a="left"):(i=c.left+c.width,a="right");var m=u.model.count,g=u.model.categoryLabel,y=m/u.parcatsViewModel.model.count,v={countLabel:m,categoryLabel:g,probabilityLabel:y.toFixed(3)},x=[];-1!==u.parcatsViewModel.hoverinfoItems.indexOf("count")&&x.push(["Count:",v.countLabel].join(" ")),-1!==u.parcatsViewModel.hoverinfoItems.indexOf("probability")&&x.push(["P("+v.categoryLabel+"):",v.probabilityLabel].join(" "));var b=x.join("
");return{trace:f,x:o*(i-t.left),y:s*(p-t.top),text:b,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:a,hovertemplate:f.hovertemplate,hovertemplateLabels:v,eventData:[{data:f._input,fullData:f,count:m,category:g,probability:y}]}}function L(e){if(!e.parcatsViewModel.dragDimension&&-1===e.parcatsViewModel.hoverinfoItems.indexOf("skip")){if(r.mouse(this)[1]<-1)return;var t,n=e.parcatsViewModel.graphDiv,i=n._fullLayout,l=i._paperdiv.node().getBoundingClientRect(),c=e.parcatsViewModel.hoveron,u=this;"color"===c?(function(e){var t=r.select(e).datum(),n=M(t);k(n),n.each((function(){s.raiseToTop(this)})),r.select(e.parentNode).selectAll("rect.bandrect").filter((function(e){return e.color===t.color})).each((function(){s.raiseToTop(this),function(e){e.attr("stroke","black").attr("stroke-width",1.5)}(r.select(this))}))}(u),E(u,"plotly_hover",r.event)):(function(e){r.select(e.parentNode).selectAll("rect.bandrect").each((function(e){var t=M(e);k(t),t.each((function(){s.raiseToTop(this)}))})),function(e){e.select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}(r.select(e.parentNode))}(u),S(u,"plotly_hover",r.event)),-1===e.parcatsViewModel.hoverinfoItems.indexOf("none")&&("category"===c?t=C(n,l,u):"color"===c?t=function(e,t,n){e._fullLayout._calcInverseTransform(e);var i,o,s=e._fullLayout._invScaleX,l=e._fullLayout._invScaleY,c=n.getBoundingClientRect(),u=r.select(n).datum(),h=u.categoryViewModel,d=h.parcatsViewModel,f=d.model.dimensions[h.model.dimensionInd],p=d.trace,m=c.y+c.height/2;d.dimensions.length>1&&f.displayInd===d.dimensions.length-1?(i=c.left,o="left"):(i=c.left+c.width,o="right");var g=h.model.categoryLabel,y=u.parcatsViewModel.model.count,v=0;u.categoryViewModel.bands.forEach((function(e){e.color===u.color&&(v+=e.count)}));var x=h.model.count,b=0;d.pathSelection.each((function(e){e.model.color===u.color&&(b+=e.model.count)}));var _=v/y,w=v/b,k=v/x,T={countLabel:v,categoryLabel:g,probabilityLabel:_.toFixed(3)},A=[];-1!==h.parcatsViewModel.hoverinfoItems.indexOf("count")&&A.push(["Count:",T.countLabel].join(" ")),-1!==h.parcatsViewModel.hoverinfoItems.indexOf("probability")&&(A.push("P(color ∩ "+g+"): "+T.probabilityLabel),A.push("P("+g+" | color): "+w.toFixed(3)),A.push("P(color | "+g+"): "+k.toFixed(3)));var M=A.join("
"),S=a.mostReadable(u.color);return{trace:p,x:s*(i-t.left),y:l*(m-t.top),text:M,color:u.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:S,fontSize:10,idealAlign:o,hovertemplate:p.hovertemplate,hovertemplateLabels:T,eventData:[{data:p._input,fullData:p,category:g,count:y,probability:_,categorycount:x,colorcount:b,bandcolorcount:v}]}}(n,l,u):"dimension"===c&&(t=function(e,t,n){var i=[];return r.select(n.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each((function(){i.push(C(e,t,this))})),i}(n,l,u)),t&&o.loneHover(t,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:n}))}}function I(e){var t=e.parcatsViewModel;t.dragDimension||(_(t.pathSelection),T(t.dimensionSelection.selectAll("g.category")),A(t.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),o.loneUnhover(t.graphDiv._fullLayout._hoverlayer.node()),t.pathSelection.sort(p),-1!==t.hoverinfoItems.indexOf("skip"))||("color"===e.parcatsViewModel.hoveron?E(this,"plotly_unhover",r.event):S(this,"plotly_unhover",r.event))}function P(e){"fixed"!==e.parcatsViewModel.arrangement&&(e.dragDimensionDisplayInd=e.model.displayInd,e.initialDragDimensionDisplayInds=e.parcatsViewModel.model.dimensions.map((function(e){return e.displayInd})),e.dragHasMoved=!1,e.dragCategoryDisplayInd=null,r.select(this).selectAll("g.category").select("rect.catrect").each((function(t){var n=r.mouse(this)[0],i=r.mouse(this)[1];-2<=n&&n<=t.width+2&&-2<=i&&i<=t.height+2&&(e.dragCategoryDisplayInd=t.model.displayInd,e.initialDragCategoryDisplayInds=e.model.categories.map((function(e){return e.displayInd})),t.model.dragY=t.y,s.raiseToTop(this.parentNode),r.select(this.parentNode).selectAll("rect.bandrect").each((function(t){t.yh.y+h.height/2&&(o.model.displayInd=h.model.displayInd,h.model.displayInd=l),e.dragCategoryDisplayInd=o.model.displayInd}if(null===e.dragCategoryDisplayInd||"freeform"===e.parcatsViewModel.arrangement){a.model.dragX=r.event.x;var d=e.parcatsViewModel.dimensions[n],f=e.parcatsViewModel.dimensions[i];void 0!==d&&a.model.dragXf.x&&(a.model.displayInd=f.model.displayInd,f.model.displayInd=e.dragDimensionDisplayInd),e.dragDimensionDisplayInd=a.model.displayInd}U(e.parcatsViewModel),N(e.parcatsViewModel),j(e.parcatsViewModel),R(e.parcatsViewModel)}}function O(e){if("fixed"!==e.parcatsViewModel.arrangement&&null!==e.dragDimensionDisplayInd){r.select(this).selectAll("text").attr("font-weight","normal");var t={},n=D(e.parcatsViewModel),a=e.parcatsViewModel.model.dimensions.map((function(e){return e.displayInd})),o=e.initialDragDimensionDisplayInds.some((function(e,t){return e!==a[t]}));o&&a.forEach((function(r,n){var i=e.parcatsViewModel.model.dimensions[n].containerInd;t["dimensions["+i+"].displayindex"]=r}));var s=!1;if(null!==e.dragCategoryDisplayInd){var l=e.model.categories.map((function(e){return e.displayInd}));if(s=e.initialDragCategoryDisplayInds.some((function(e,t){return e!==l[t]}))){var c=e.model.categories.slice().sort((function(e,t){return e.displayInd-t.displayInd})),u=c.map((function(e){return e.categoryValue})),h=c.map((function(e){return e.categoryLabel}));t["dimensions["+e.model.containerInd+"].categoryarray"]=[u],t["dimensions["+e.model.containerInd+"].ticktext"]=[h],t["dimensions["+e.model.containerInd+"].categoryorder"]="array"}}-1===e.parcatsViewModel.hoverinfoItems.indexOf("skip")&&!e.dragHasMoved&&e.potentialClickBand&&("color"===e.parcatsViewModel.hoveron?E(e.potentialClickBand,"plotly_click",r.event.sourceEvent):S(e.potentialClickBand,"plotly_click",r.event.sourceEvent)),e.model.dragX=null,null!==e.dragCategoryDisplayInd&&(e.parcatsViewModel.dimensions[e.dragDimensionDisplayInd].categories[e.dragCategoryDisplayInd].model.dragY=null,e.dragCategoryDisplayInd=null),e.dragDimensionDisplayInd=null,e.parcatsViewModel.dragDimension=null,e.dragHasMoved=null,e.potentialClickBand=null,U(e.parcatsViewModel),N(e.parcatsViewModel),r.transition().duration(300).ease("cubic-in-out").each((function(){j(e.parcatsViewModel,!0),R(e.parcatsViewModel,!0)})).each("end",(function(){(o||s)&&i.restyle(e.parcatsViewModel.graphDiv,t,[n])}))}}function D(e){for(var t,r=e.graphDiv._fullData,n=0;n=0;s--)u+="C"+c[s]+","+(t[s+1]+i)+" "+l[s]+","+(t[s]+i)+" "+(e[s]+r[s])+","+(t[s]+i),u+="l-"+r[s]+",0 ";return u+"Z"}function N(e){var t=e.dimensions,r=e.model,n=t.map((function(e){return e.categories.map((function(e){return e.y}))})),i=e.model.dimensions.map((function(e){return e.categories.map((function(e){return e.displayInd}))})),a=e.model.dimensions.map((function(e){return e.displayInd})),o=e.dimensions.map((function(e){return e.model.dimensionInd})),s=t.map((function(e){return e.x})),l=t.map((function(e){return e.width})),c=[];for(var u in r.paths)r.paths.hasOwnProperty(u)&&c.push(r.paths[u]);function h(e){var t=e.categoryInds.map((function(e,t){return i[t][e]}));return o.map((function(e){return t[e]}))}c.sort((function(t,r){var n=h(t),i=h(r);return"backward"===e.sortpaths&&(n.reverse(),i.reverse()),n.push(t.valueInds[0]),i.push(r.valueInds[0]),e.bundlecolors&&(n.unshift(t.rawColor),i.unshift(r.rawColor)),ni?1:0}));for(var d=new Array(c.length),f=t[0].model.count,p=t[0].categories.map((function(e){return e.height})).reduce((function(e,t){return e+t})),m=0;m0?p*(v.count/f):0;for(var x=new Array(n.length),b=0;b1?(e.width-80-16)/(n-1):0)*i;var a,o,s,l,c,u=[],h=e.model.maxCats,d=t.categories.length,f=t.count,p=e.height-8*(h-1),m=8*(h-d)/2,g=t.categories.map((function(e){return{displayInd:e.displayInd,categoryInd:e.categoryInd}}));for(g.sort((function(e,t){return e.displayInd-t.displayInd})),c=0;c0?o.count/f*p:0,s={key:o.valueInds[0],model:o,width:16,height:a,y:null!==o.dragY?o.dragY:m,bands:[],parcatsViewModel:e},m=m+a+8,u.push(s);return{key:t.dimensionInd,x:null!==t.dragX?t.dragX:r,y:0,width:16,model:t,categories:u,parcatsViewModel:e,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}t.exports=function(e,t,r,n){h(r,e,n,t)}}}),W_=m({"src/traces/parcats/plot.js"(e,t){var r=G_();t.exports=function(e,t,n,i){var a=e._fullLayout,o=a._paper,s=a._size;r(e,o,t,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},n,i)}}}),Y_=m({"src/traces/parcats/base_plot.js"(e){var t=Mr().getModuleCalcData,r=W_(),n="parcats";e.name=n,e.plot=function(e,i,a,o){var s=t(e.calcdata,n);if(s.length){var l=s[0];r(e,l,a,o)}},e.clean=function(e,t,r,n){var i=n._has&&n._has("parcats"),a=t._has&&t._has("parcats");i&&!a&&n._paperdiv.selectAll(".parcats").remove()}}}),X_=m({"src/traces/parcats/index.js"(e,t){t.exports={attributes:V_(),supplyDefaults:q_(),calc:H_(),plot:W_(),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:Y_(),categories:["noOpacity"],meta:{}}}}),Z_=m({"lib/parcats.js"(e,t){t.exports=X_()}}),$_=m({"src/plots/map/styles/arcgis-sat-hybrid.js"(e,t){t.exports={version:8,name:"orto",metadata:{"maputnik:renderer":"mlgljs"},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"}},{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"}}}),K_=m({"src/plots/map/styles/arcgis-sat.js"(e,t){t.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"}}]}}}),J_=m({"src/plots/map/constants.js"(e,t){var r=(Ht(),x(Ut)).default,n=$_(),i="https://basemaps.cartocdn.com/gl/positron-gl-style/style.json",a="https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",o="https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",s={basic:o,streets:o,outdoors:o,light:i,dark:a,satellite:K_(),"satellite-streets":n,"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:'© OpenStreetMap contributors',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":i,"carto-darkmatter":a,"carto-voyager":o,"carto-positron-nolabels":"https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json","carto-darkmatter-nolabels":"https://basemaps.cartocdn.com/gl/dark-matter-nolabels-gl-style/style.json","carto-voyager-nolabels":"https://basemaps.cartocdn.com/gl/voyager-nolabels-gl-style/style.json"},l=r(s);t.exports={styleValueDflt:"basic",stylesMap:s,styleValuesMap:l,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",missingStyleErrorMsg:["No valid maplibre style found, please set `map.style` to one of:",l.join(", "),"or use a tile service."].join("\n"),mapOnErrorMsg:"Map error.",fitBoundsPadding:20}}}),Q_=m({"src/plots/map/layout_attributes.js"(e,t){var r=dr(),n=Fe().defaultLine,i=Do().attributes,a=q(),o=Pi().textposition,s=St().overrideAll,l=_r().templatedArray,c=J_(),u=a({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});u.family.dflt="Open Sans Regular, Arial Unicode MS Regular",(t.exports=s({_arrayAttrRegexps:[r.counterRegex("map",".layers",!0)],domain:i({name:"map"}),style:{valType:"any",values:c.styleValuesMap,dflt:c.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},fitbounds:{valType:"enumerated",values:[!1,"locations"],dflt:"locations"},bounds:{west:{valType:"number"},east:{valType:"number"},south:{valType:"number"},north:{valType:"number"}},layers:l("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:n},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:n}},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:u,textposition:r.extendFlat({},o,{arrayOk:!1})}})},"plot","from-root")).uirevision={valType:"any",editType:"none"}}}),ew=m({"src/traces/scattermap/attributes.js"(e,t){var{hovertemplateAttrs:r,texttemplateAttrs:n,templatefallbackAttrs:i}=Lt(),a=Ii(),o=My(),s=Pi(),l=Q_(),c=Y(),u=Rr(),h=V().extendFlat,d=St().overrideAll,f=Q_(),p=o.line,m=o.marker;t.exports=d({lon:o.lon,lat:o.lat,cluster:{enabled:{valType:"boolean"},maxzoom:h({},f.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:h({},m.opacity,{dflt:1})},mode:h({},s.mode,{dflt:"markers"}),text:h({},s.text,{}),texttemplate:n({editType:"plot"},{keys:["lat","lon","text"]}),texttemplatefallback:i({editType:"plot"}),hovertext:h({},s.hovertext,{}),line:{color:p.color,width:p.width},connectgaps:s.connectgaps,marker:h({symbol:{valType:"string",dflt:"circle",arrayOk:!0},angle:{valType:"number",dflt:"auto",arrayOk:!0},allowoverlap:{valType:"boolean",dflt:!1},opacity:m.opacity,size:m.size,sizeref:m.sizeref,sizemin:m.sizemin,sizemode:m.sizemode},u("marker")),fill:o.fill,fillcolor:a(),textfont:l.layers.symbol.textfont,textposition:l.layers.symbol.textposition,below:{valType:"string"},selected:{marker:s.selected.marker},unselected:{marker:s.unselected.marker},hoverinfo:h({},c.hoverinfo,{flags:["lon","lat","text","name"]}),hovertemplate:r(),hovertemplatefallback:i()},"calc","nested")}}),tw=m({"src/traces/scattermap/constants.js"(e,t){var r=["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"];t.exports={isSupportedFont:function(e){return-1!==r.indexOf(e)}}}}),rw=m({"src/traces/scattermap/defaults.js"(e,t){var r=dr(),n=Jr(),i=ra(),a=na(),o=aa(),s=oa(),l=ew(),c=tw().isSupportedFont;t.exports=function(e,t,u,h){function d(n,i){return r.coerce(e,t,l,n,i)}function f(n,i){return r.coerce2(e,t,l,n,i)}var p=function(e,t,r){var n=r("lon")||[],i=r("lat")||[],a=Math.min(n.length,i.length);return t._length=a,a}(0,t,d);if(p){if(d("text"),d("texttemplate"),d("texttemplatefallback"),d("hovertext"),d("hovertemplate"),d("hovertemplatefallback"),d("mode"),d("below"),n.hasMarkers(t)){i(e,t,u,h,d,{noLine:!0,noAngle:!0}),d("marker.allowoverlap"),d("marker.angle");var m=t.marker;"circle"!==m.symbol&&(r.isArrayOrTypedArray(m.size)&&(m.size=m.size[0]),r.isArrayOrTypedArray(m.color)&&(m.color=m.color[0]))}n.hasLines(t)&&(a(e,t,u,h,d,{noDash:!0}),d("connectgaps"));var g=f("cluster.maxzoom"),y=f("cluster.step"),v=f("cluster.color",t.marker&&t.marker.color||u),x=f("cluster.size"),b=f("cluster.opacity");if(d("cluster.enabled",!1!==g||!1!==y||!1!==v||!1!==x||!1!==b)||n.hasText(t)){var _=h.font.family;o(e,t,h,d,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:c(_)?_:"Open Sans Regular",weight:h.font.weight,style:h.font.style,size:h.font.size,color:h.font.color}})}d("fill"),"none"!==t.fill&&s(e,t,u,d),r.coerceSelectionMarkerOpacity(t,d)}else t.visible=!1}}}),nw=m({"src/traces/scattermap/format_labels.js"(e,t){var r=cn();t.exports=function(e,t,n){var i={},a=n[t.subplot]._subplot.mockAxis,o=e.lonlat;return i.lonLabel=r.tickText(a,a.c2l(o[0]),!0).text,i.latLabel=r.tickText(a,a.c2l(o[1]),!0).text,i}}}),iw=m({"src/plots/map/convert_text_opts.js"(e,t){var r=dr();t.exports=function(e,t){var n=e.split(" "),i=n[0],a=n[1],o=r.isArrayOrTypedArray(t)?r.mean(t):t,s=.5+o/100,l=1.5+o/100,c=["",""],u=[0,0];switch(i){case"top":c[0]="top",u[1]=-l;break;case"bottom":c[0]="bottom",u[1]=l}switch(a){case"left":c[1]="right",u[0]=-s;break;case"right":c[1]="left",u[0]=s}return{anchor:c[0]&&c[1]?c.join("-"):c[0]?c[0]:c[1]?c[1]:"center",offset:u}}}}),aw=m({"src/traces/scattermap/convert.js"(e,t){var r=S(),n=dr(),i=E().BADNUM,a=zy(),o=Kr(),s=nn(),l=Qr(),c=Jr(),u=tw().isSupportedFont,h=iw(),d=en().appendArrayPointValue,f=Ir().NEWLINES,p=Ir().BR_TAG_ALL;function m(e){return{type:e,geojson:a.makeBlank(),layout:{visibility:"none"},filter:null,paint:{}}}function g(e,t){return n.isArrayOrTypedArray(e)?t?function(t){return r(e[t])?+e[t]:0}:function(t){return e[t]}:e?function(){return e}:y}function y(){return""}function v(e){return e[0]===i}function x(e,t){var r;if(n.isArrayOrTypedArray(e)&&n.isArrayOrTypedArray(t)){r=["step",["get","point_count"],e[0]];for(var i=1;i850?" Black":i>750?" Extra Bold":i>650?" Bold":i>550?" Semi Bold":i>450?" Medium":i>350?" Regular":i>250?" Light":i>150?" Extra Light":" Thin"):"Open Sans"===a.slice(0,2).join(" ")?(s="Open Sans",s+=i>750?" Extrabold":i>650?" Bold":i>550?" Semibold":i>350?" Regular":" Light"):"Klokantech Noto Sans"===a.slice(0,3).join(" ")&&(s="Klokantech Noto Sans","CJK"===a[3]&&(s+=" CJK"),s+=i>500?" Bold":" Regular")),o&&(s+=" Italic"),"Open Sans Regular Italic"===s?s="Open Sans Italic":"Open Sans Regular Bold"===s?s="Open Sans Bold":"Open Sans Regular Bold Italic"===s?s="Open Sans Bold Italic":"Klokantech Noto Sans Regular Italic"===s&&(s="Klokantech Noto Sans Italic"),u(s)||(s=r),s.split(", ")}t.exports=function(e,t){var i,u=t[0].trace,_=!0===u.visible&&0!==u._length,w="none"!==u.fill,k=c.hasLines(u),T=c.hasMarkers(u),A=c.hasText(u),M=T&&"circle"===u.marker.symbol,S=T&&"circle"!==u.marker.symbol,E=u.cluster&&u.cluster.enabled,C=m("fill"),L=m("line"),I=m("circle"),P=m("symbol"),z={fill:C,line:L,circle:I,symbol:P};if(!_)return z;if((w||k)&&(i=a.calcTraceToLineCoords(t)),w&&(C.geojson=a.makePolygon(i),C.layout.visibility="visible",n.extendFlat(C.paint,{"fill-color":u.fillcolor})),k&&(L.geojson=a.makeLine(i),L.layout.visibility="visible",n.extendFlat(L.paint,{"line-width":u.line.width,"line-color":u.line.color,"line-opacity":u.opacity})),M){var O=function(e){var t,i,a,c,u=e[0].trace,h=u.marker,d=u.selectedpoints,f=n.isArrayOrTypedArray(h.color),p=n.isArrayOrTypedArray(h.size),m=n.isArrayOrTypedArray(h.opacity);function g(e){return u.opacity*e}f&&(i=o.hasColorscale(u,"marker")?o.makeColorScaleFuncFromTrace(h):n.identity),p&&(a=l(u)),m&&(c=function(e){return g(r(e)?+n.constrain(e,0,1):0)});var y,x=[];for(t=0;t=0;r--){var n=t[r];i.removeLayer(u.layerIds[n])}e||i.removeSource(u.sourceIds.circle)}(e):function(e){for(var t=a.nonCluster,r=t.length-1;r>=0;r--){var n=t[r];i.removeLayer(u.layerIds[n]),e||i.removeSource(u.sourceIds[n])}}(e)}function d(e){l?function(e){e||u.addSource("circle",o.circle,t.cluster);for(var r=a.cluster,n=0;n=0;r--){var n=t[r];e.removeLayer(this.layerIds[n]),e.removeSource(this.sourceIds[n])}},t.exports=function(e,t){var r,i,s,l=t[0].trace,c=l.cluster&&l.cluster.enabled,u=!0!==l.visible,h=new o(e,l.uid,c,u),d=n(e.gd,t),f=h.below=e.belowLookup["trace-"+l.uid];if(c)for(h.addSource("circle",d.circle,l.cluster),r=0;r")}function u(e){return e+"°"}}t.exports={hoverPoints:function(e,t,a){var c=e.cd,u=c[0].trace,h=e.xa,d=e.ya,f=e.subplot,p=[],m=s+u.uid+"-circle",g=u.cluster&&u.cluster.enabled;if(g){var y=f.map.queryRenderedFeatures(null,{layers:[m]});p=y.map((function(e){return e.id}))}var v=360*(t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360)),x=t-v;if(r.getClosest(c,(function(e){var t=e.lonlat;if(t[0]===o||g&&-1===p.indexOf(e.i+1))return 1/0;var r=n.modHalf(t[0],360),i=t[1],s=f.project([r,i]),l=s.x-h.c2p([x,i]),c=s.y-d.c2p([r,a]),u=Math.max(3,e.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-u,1-3/u)}),e),!1!==e.index){var b=c[e.index],_=b.lonlat,w=[n.modHalf(_[0],360)+v,_[1]],k=h.c2p(w),T=d.c2p(w),A=b.mrc||1;e.x0=k-A,e.x1=k+A,e.y0=T-A,e.y1=T+A;var M={};M[u.subplot]={_subplot:f};var S=u._module.formatLabels(b,u,M);return e.lonLabel=S.lonLabel,e.latLabel=S.latLabel,e.color=i(u,b),e.extraText=l(u,b,c[0].t.labels),e.hovertemplate=u.hovertemplate,[e]}},getExtraText:l}}}),lw=m({"src/traces/scattermap/event_data.js"(e,t){t.exports=function(e,t){return e.lon=t.lon,e.lat=t.lat,e}}}),cw=m({"src/traces/scattermap/select.js"(e,t){var r=dr(),n=Jr(),i=E().BADNUM;t.exports=function(e,t){var a,o=e.cd,s=e.xaxis,l=e.yaxis,c=[],u=o[0].trace;if(!n.hasMarkers(u))return[];if(!1===t)for(a=0;a1)return 1;for(var r=e,n=0;n<8;n++){var i=this.sampleCurveX(r)-e;if(Math.abs(i)i?o=r:s=r,r=.5*(s-o)+o;return r},solve:function(e,t){return this.sampleCurveY(this.solveCurveX(e,t))}};var l=r(o);let c,u;function h(){return null==c&&(c=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof createImageBitmap),c}function p(){if(null==u&&(u=!1,h())){let e=new OffscreenCanvas(5,5).getContext("2d",{willReadFrequently:!0});if(e){for(let t=0;t<25;t++){let r=4*t;e.fillStyle=`rgb(${r},${r+1},${r+2})`,e.fillRect(t%5,Math.floor(t/5),1,1)}let t=e.getImageData(0,0,5,5).data;for(let e=0;e<100;e++)if(e%4!=3&&t[e]!==e){u=!0;break}}}return u||!1}function m(e,t,r,n){let i=new l(e,t,r,n);return e=>i.solve(e)}let g=m(.25,.1,.25,1);function y(e,t,r){return Math.min(r,Math.max(t,e))}function v(e,t,r){let n=r-t,i=((e-t)%n+n)%n+t;return i===t?r:i}function x(e,...t){for(let r of t)for(let t in r)e[t]=r[t];return e}let b=1;function _(e,t,r){let n={};for(let r in e)n[r]=t.call(this,e[r],r,e);return n}function w(e,t,r){let n={};for(let r in e)t.call(this,e[r],r,e)&&(n[r]=e[r]);return n}function k(e){return Array.isArray(e)?e.map(k):"object"==typeof e&&e?_(e,k):e}let T={};function A(e){T[e]||(typeof console<"u"&&console.warn(e),T[e]=!0)}function M(e,t,r){return(r.y-e.y)*(t.x-e.x)>(t.y-e.y)*(r.x-e.x)}function S(e){return typeof WorkerGlobalScope<"u"&&void 0!==e&&e instanceof WorkerGlobalScope}let E=null;function C(e){return typeof ImageBitmap<"u"&&e instanceof ImageBitmap}let L="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";function I(e,r,n,i,a){return t(this,void 0,void 0,(function*(){if(typeof VideoFrame>"u")throw new Error("VideoFrame not supported");let t=new VideoFrame(e,{timestamp:0});try{let o=t?.format;if(!o||!o.startsWith("BGR")&&!o.startsWith("RGB"))throw new Error(`Unrecognized format ${o}`);let s=o.startsWith("BGR"),l=new Uint8ClampedArray(i*a*4);if(yield t.copyTo(l,function(e,t,r,n,i){let a=4*Math.max(-t,0),o=(Math.max(0,r)-r)*n*4+a,s=4*n,l=Math.max(0,t),c=Math.max(0,r);return{rect:{x:l,y:c,width:Math.min(e.width,t+n)-l,height:Math.min(e.height,r+i)-c},layout:[{offset:o,stride:s}]}}(e,r,n,i,a)),s)for(let e=0;eS(self)?self.worker&&self.worker.referrer:("blob:"===window.location.protocol?window.parent:window).location.href,U=function(e,r){if(/:\/\//.test(e.url)&&!/^https?:|^file:/.test(e.url)){let t=j(e.url);if(t)return t(e,r);if(S(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:e,targetMapId:F},r)}if(!(/^file:/.test(n=e.url)||/^file:/.test(N())&&!/^\w+:/.test(n))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return function(e,r){return t(this,void 0,void 0,(function*(){let t=new Request(e.url,{method:e.method||"GET",body:e.body,credentials:e.credentials,headers:e.headers,cache:e.cache,referrer:N(),signal:r.signal});"json"!==e.type||t.headers.has("Accept")||t.headers.set("Accept","application/json");let n,i=yield fetch(t);if(!i.ok){let t=yield i.blob();throw new B(i.status,i.statusText,e.url,t)}n="arrayBuffer"===e.type||"image"===e.type?i.arrayBuffer():"json"===e.type?i.json():i.text();let a=yield n;if(r.signal.aborted)throw D();return{data:a,cacheControl:i.headers.get("Cache-Control"),expires:i.headers.get("Expires")}}))}(e,r);if(S(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:e,mustQueue:!0,targetMapId:F},r)}var n,i,a;return i=e,a=r,new Promise(((e,t)=>{var r;let n=new XMLHttpRequest;n.open(i.method||"GET",i.url,!0),"arrayBuffer"!==i.type&&"image"!==i.type||(n.responseType="arraybuffer");for(let e in i.headers)n.setRequestHeader(e,i.headers[e]);"json"===i.type&&(n.responseType="text",!(null===(r=i.headers)||void 0===r)&&r.Accept||n.setRequestHeader("Accept","application/json")),n.withCredentials="include"===i.credentials,n.onerror=()=>{t(new Error(n.statusText))},n.onload=()=>{if(!a.signal.aborted)if((n.status>=200&&n.status<300||0===n.status)&&null!==n.response){let r=n.response;if("json"===i.type)try{r=JSON.parse(n.response)}catch(e){return void t(e)}e({data:r,cacheControl:n.getResponseHeader("Cache-Control"),expires:n.getResponseHeader("Expires")})}else{let e=new Blob([n.response],{type:n.getResponseHeader("Content-Type")});t(new B(n.status,n.statusText,i.url,e))}},a.signal.addEventListener("abort",(()=>{n.abort(),t(D())})),n.send(i.body)}))};function V(e){if(!e||e.indexOf("://")<=0||0===e.indexOf("data:image/")||0===e.indexOf("blob:"))return!0;let t=new URL(e),r=window.location;return t.protocol===r.protocol&&t.host===r.host}function q(e,t,r){r[e]&&-1!==r[e].indexOf(t)||(r[e]=r[e]||[],r[e].push(t))}function H(e,t,r){if(r&&r[e]){let n=r[e].indexOf(t);-1!==n&&r[e].splice(n,1)}}class G{constructor(e,t={}){x(this,t),this.type=e}}class W extends G{constructor(e,t={}){super("error",x({error:e},t))}}class Y{on(e,t){return this._listeners=this._listeners||{},q(e,t,this._listeners),this}off(e,t){return H(e,t,this._listeners),H(e,t,this._oneTimeListeners),this}once(e,t){return t?(this._oneTimeListeners=this._oneTimeListeners||{},q(e,t,this._oneTimeListeners),this):new Promise((t=>this.once(e,t)))}fire(e,t){"string"==typeof e&&(e=new G(e,t||{}));let r=e.type;if(this.listens(r)){e.target=this;let t=this._listeners&&this._listeners[r]?this._listeners[r].slice():[];for(let r of t)r.call(this,e);let n=this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[];for(let t of n)H(r,t,this._oneTimeListeners),t.call(this,e);let i=this._eventedParent;i&&(x(e,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),i.fire(e))}else e instanceof W&&console.error(e.error);return this}listens(e){return this._listeners&&this._listeners[e]&&this._listeners[e].length>0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e)}setEventedParent(e,t){return this._eventedParent=e,this._eventedParentData=t,this}}var X={$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 Z=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function $(e,t){let r={};for(let t in e)"ref"!==t&&(r[t]=e[t]);return Z.forEach((e=>{e in t&&(r[e]=t[e])})),r}function K(e,t){if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let r=0;r`:"value"===e.itemType.kind?"array":`array<${t}>`}return e.kind}let Te=[ue,he,de,fe,pe,ve,me,we(ge),xe,be,_e];function Ae(e,t){if("error"===t.kind)return null;if("array"===e.kind){if("array"===t.kind&&(0===t.N&&"value"===t.itemType.kind||!Ae(e.itemType,t.itemType))&&("number"!=typeof e.N||e.N===t.N))return null}else{if(e.kind===t.kind)return null;if("value"===e.kind)for(let e of Te)if(!Ae(e,t))return null}return`Expected ${ke(e)} but found ${ke(t)} instead.`}function Me(e,t){return t.some((t=>t.kind===e.kind))}function Se(e,t){return t.some((t=>"null"===t?null===e:"array"===t?Array.isArray(e):"object"===t?e&&!Array.isArray(e)&&"object"==typeof e:t===typeof e))}function Ee(e,t){return"array"===e.kind&&"array"===t.kind?e.itemType.kind===t.itemType.kind&&"number"==typeof e.N:e.kind===t.kind}let Ce=.96422,Le=.82521,Ie=4/29,Pe=6/29,ze=3*Pe*Pe,Oe=Pe*Pe*Pe,De=Math.PI/180,Re=180/Math.PI;function je(e){return(e%=360)<0&&(e+=360),e}function Fe([e,t,r,n]){let i,a,o=Ne((.2225045*(e=Be(e))+.7168786*(t=Be(t))+.0606169*(r=Be(r)))/1);e===t&&t===r?i=a=o:(i=Ne((.4360747*e+.3850649*t+.1430804*r)/Ce),a=Ne((.0139322*e+.0971045*t+.7141733*r)/Le));let s=116*o-16;return[s<0?0:s,500*(i-o),200*(o-a),n]}function Be(e){return e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function Ne(e){return e>Oe?Math.pow(e,1/3):e/ze+Ie}function Ue([e,t,r,n]){let i=(e+16)/116,a=isNaN(t)?i:i+t/500,o=isNaN(r)?i:i-r/200;return i=1*qe(i),a=Ce*qe(a),o=Le*qe(o),[Ve(3.1338561*a-1.6168667*i-.4906146*o),Ve(-.9787684*a+1.9161415*i+.033454*o),Ve(.0719453*a-.2289914*i+1.4052427*o),n]}function Ve(e){return(e=e<=.00304?12.92*e:1.055*Math.pow(e,1/2.4)-.055)<0?0:e>1?1:e}function qe(e){return e>Pe?e*e*e:ze*(e-Ie)}function He(e){return parseInt(e.padEnd(2,e),16)/255}function Ge(e,t){return We(t?e/100:e,0,1)}function We(e,t,r){return Math.min(Math.max(t,e),r)}function Ye(e){return!e.some(Number.isNaN)}let Xe={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 Ze{constructor(e,t,r,n=1,i=!0){this.r=e,this.g=t,this.b=r,this.a=n,i||(this.r*=n,this.g*=n,this.b*=n,n||this.overwriteGetter("rgb",[e,t,r,n]))}static parse(e){if(e instanceof Ze)return e;if("string"!=typeof e)return;let t=function(e){if("transparent"===(e=e.toLowerCase().trim()))return[0,0,0,0];let t=Xe[e];if(t){let[e,r,n]=t;return[e/255,r/255,n/255,1]}if(e.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(e)){let t=e.length<6?1:2,r=1;return[He(e.slice(r,r+=t)),He(e.slice(r,r+=t)),He(e.slice(r,r+=t)),He(e.slice(r,r+t)||"ff")]}if(e.startsWith("rgb")){let t=e.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(t){let[e,r,n,i,a,o,s,l,c,u,h,d]=t,f=[i||" ",s||" ",u].join("");if(" "===f||" /"===f||",,"===f||",,,"===f){let e=[n,o,c].join(""),t="%%%"===e?100:""===e?255:0;if(t){let e=[We(+r/t,0,1),We(+a/t,0,1),We(+l/t,0,1),h?Ge(+h,d):1];if(Ye(e))return e}}return}}let r=e.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(r){let[e,t,n,i,a,o,s,l,c]=r,u=[n||" ",a||" ",s].join("");if(" "===u||" /"===u||",,"===u||",,,"===u){let e=[+t,We(+i,0,100),We(+o,0,100),l?Ge(+l,c):1];if(Ye(e))return function([e,t,r,n]){function i(n){let i=(n+e/30)%12,a=t*Math.min(r,1-r);return r-a*Math.max(-1,Math.min(i-3,9-i,1))}return e=je(e),t/=100,r/=100,[i(0),i(8),i(4),n]}(e)}}}(e);return t?new Ze(...t,!1):void 0}get rgb(){let{r:e,g:t,b:r,a:n}=this,i=n||1/0;return this.overwriteGetter("rgb",[e/i,t/i,r/i,n])}get hcl(){return this.overwriteGetter("hcl",function(e){let[t,r,n,i]=Fe(e),a=Math.sqrt(r*r+n*n);return[Math.round(1e4*a)?je(Math.atan2(n,r)*Re):NaN,a,t,i]}(this.rgb))}get lab(){return this.overwriteGetter("lab",Fe(this.rgb))}overwriteGetter(e,t){return Object.defineProperty(this,e,{value:t}),t}toString(){let[e,t,r,n]=this.rgb;return`rgba(${[e,t,r].map((e=>Math.round(255*e))).join(",")},${n})`}}Ze.black=new Ze(0,0,0,1),Ze.white=new Ze(1,1,1,1),Ze.transparent=new Ze(0,0,0,0),Ze.red=new Ze(1,0,0,1);class $e{constructor(e,t,r){this.sensitivity=e?t?"variant":"case":t?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(e,t){return this.collator.compare(e,t)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Ke{constructor(e,t,r,n,i){this.text=e,this.image=t,this.scale=r,this.fontStack=n,this.textColor=i}}class Je{constructor(e){this.sections=e}static fromString(e){return new Je([new Ke(e,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some((e=>0!==e.text.length||e.image&&0!==e.image.name.length))}static factory(e){return e instanceof Je?e:Je.fromString(e)}toString(){return 0===this.sections.length?"":this.sections.map((e=>e.text)).join("")}}class Qe{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof Qe)return e;if("number"==typeof e)return new Qe([e,e,e,e]);if(Array.isArray(e)&&!(e.length<1||e.length>4)){for(let t of e)if("number"!=typeof t)return;switch(e.length){case 1:e=[e[0],e[0],e[0],e[0]];break;case 2:e=[e[0],e[1],e[0],e[1]];break;case 3:e=[e[0],e[1],e[2],e[1]]}return new Qe(e)}}toString(){return JSON.stringify(this.values)}}let et=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);class tt{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof tt)return e;if(Array.isArray(e)&&!(e.length<1)&&e.length%2==0){for(let t=0;t=0&&e<=255&&"number"==typeof t&&t>=0&&t<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:`Invalid rgba value [${[e,t,r,n].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof n?[e,t,r,n]:[e,t,r]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function it(e){if(null===e||"string"==typeof e||"boolean"==typeof e||"number"==typeof e||e instanceof Ze||e instanceof $e||e instanceof Je||e instanceof Qe||e instanceof tt||e instanceof rt)return!0;if(Array.isArray(e)){for(let t of e)if(!it(t))return!1;return!0}if("object"==typeof e){for(let t in e)if(!it(e[t]))return!1;return!0}return!1}function at(e){if(null===e)return ue;if("string"==typeof e)return de;if("boolean"==typeof e)return fe;if("number"==typeof e)return he;if(e instanceof Ze)return pe;if(e instanceof $e)return ye;if(e instanceof Je)return ve;if(e instanceof Qe)return xe;if(e instanceof tt)return _e;if(e instanceof rt)return be;if(Array.isArray(e)){let t,r=e.length;for(let r of e){let e=at(r);if(t){if(t===e)continue;t=ge;break}t=e}return we(t||ge,r)}return me}function ot(e){let t=typeof e;return null===e?"":"string"===t||"number"===t||"boolean"===t?String(e):e instanceof Ze||e instanceof Je||e instanceof Qe||e instanceof tt||e instanceof rt?e.toString():JSON.stringify(e)}class st{constructor(e,t){this.type=e,this.value=t}static parse(e,t){if(2!==e.length)return t.error(`'literal' expression requires exactly one argument, but found ${e.length-1} instead.`);if(!it(e[1]))return t.error("invalid value");let r=e[1],n=at(r),i=t.expectedType;return"array"!==n.kind||0!==n.N||!i||"array"!==i.kind||"number"==typeof i.N&&0!==i.N||(n=i),new st(n,r)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class lt{constructor(e){this.name="ExpressionEvaluationError",this.message=e}toJSON(){return this.message}}let ct={string:de,number:he,boolean:fe,object:me};class ut{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");let r,n=1,i=e[0];if("array"===i){let i,a;if(e.length>2){let r=e[1];if("string"!=typeof r||!(r in ct)||"object"===r)return t.error('The item type argument of "array" must be one of string, number, boolean',1);i=ct[r],n++}else i=ge;if(e.length>3){if(null!==e[2]&&("number"!=typeof e[2]||e[2]<0||e[2]!==Math.floor(e[2])))return t.error('The length argument to "array" must be a positive integer literal',2);a=e[2],n++}r=we(i,a)}else{if(!ct[i])throw new Error(`Types doesn't contain name = ${i}`);r=ct[i]}let a=[];for(;ne.outputDefined()))}}let ht={"to-boolean":fe,"to-color":pe,"to-number":he,"to-string":de};class dt{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");let r=e[0];if(!ht[r])throw new Error(`Can't parse ${r} as it is not part of the known types`);if(("to-boolean"===r||"to-string"===r)&&2!==e.length)return t.error("Expected one argument.");let n=ht[r],i=[];for(let r=1;r4?`Invalid rbga value ${JSON.stringify(t)}: expected an array containing either three or four numeric values.`:nt(t[0],t[1],t[2],t[3]),!r))return new Ze(t[0]/255,t[1]/255,t[2]/255,t[3])}throw new lt(r||`Could not parse color from value '${"string"==typeof t?t:JSON.stringify(t)}'`)}case"padding":{let t;for(let r of this.args){t=r.evaluate(e);let n=Qe.parse(t);if(n)return n}throw new lt(`Could not parse padding from value '${"string"==typeof t?t:JSON.stringify(t)}'`)}case"variableAnchorOffsetCollection":{let t;for(let r of this.args){t=r.evaluate(e);let n=tt.parse(t);if(n)return n}throw new lt(`Could not parse variableAnchorOffsetCollection from value '${"string"==typeof t?t:JSON.stringify(t)}'`)}case"number":{let t=null;for(let r of this.args){if(t=r.evaluate(e),null===t)return 0;let n=Number(t);if(!isNaN(n))return n}throw new lt(`Could not convert ${JSON.stringify(t)} to number.`)}case"formatted":return Je.fromString(ot(this.args[0].evaluate(e)));case"resolvedImage":return rt.fromString(ot(this.args[0].evaluate(e)));default:return ot(this.args[0].evaluate(e))}}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every((e=>e.outputDefined()))}}let ft=["Unknown","Point","LineString","Polygon"];class pt{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?"number"==typeof this.feature.type?ft[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(e){let t=this._parseColorCache[e];return t||(t=this._parseColorCache[e]=Ze.parse(e)),t}}class mt{constructor(e,t,r=[],n,i=new ce,a=[]){this.registry=e,this.path=r,this.key=r.map((e=>`[${e}]`)).join(""),this.scope=i,this.errors=a,this.expectedType=n,this._isConstant=t}parse(e,t,r,n,i={}){return t?this.concat(t,r,n)._parse(e,i):this._parse(e,i)}_parse(e,t){function r(e,t,r){return"assert"===r?new ut(t,[e]):"coerce"===r?new dt(t,[e]):e}if(null!==e&&"string"!=typeof e&&"boolean"!=typeof e&&"number"!=typeof e||(e=["literal",e]),Array.isArray(e)){if(0===e.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');let n=e[0];if("string"!=typeof n)return this.error(`Expression name must be a string, but found ${typeof n} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;let i=this.registry[n];if(i){let n=i.parse(e,this);if(!n)return null;if(this.expectedType){let e=this.expectedType,i=n.type;if("string"!==e.kind&&"number"!==e.kind&&"boolean"!==e.kind&&"object"!==e.kind&&"array"!==e.kind||"value"!==i.kind)if("color"!==e.kind&&"formatted"!==e.kind&&"resolvedImage"!==e.kind||"value"!==i.kind&&"string"!==i.kind)if("padding"!==e.kind||"value"!==i.kind&&"number"!==i.kind&&"array"!==i.kind)if("variableAnchorOffsetCollection"!==e.kind||"value"!==i.kind&&"array"!==i.kind){if(this.checkSubtype(e,i))return null}else n=r(n,e,t.typeAnnotation||"coerce");else n=r(n,e,t.typeAnnotation||"coerce");else n=r(n,e,t.typeAnnotation||"coerce");else n=r(n,e,t.typeAnnotation||"assert")}if(!(n instanceof st)&&"resolvedImage"!==n.type.kind&&this._isConstant(n)){let e=new pt;try{n=new st(n.type,n.evaluate(e))}catch(e){return this.error(e.message),null}}return n}return this.error(`Unknown expression "${n}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(void 0===e?"'undefined' value invalid. Use null instead.":"object"==typeof e?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof e} instead.`)}concat(e,t,r){let n="number"==typeof e?this.path.concat(e):this.path,i=r?this.scope.concat(r):this.scope;return new mt(this.registry,this._isConstant,n,t||null,i,this.errors)}error(e,...t){let r=`${this.key}${t.map((e=>`[${e}]`)).join("")}`;this.errors.push(new le(r,e))}checkSubtype(e,t){let r=Ae(e,t);return r&&this.error(r),r}}class gt{constructor(e,t){this.type=t.type,this.bindings=[].concat(e),this.result=t}evaluate(e){return this.result.evaluate(e)}eachChild(e){for(let t of this.bindings)e(t[1]);e(this.result)}static parse(e,t){if(e.length<4)return t.error(`Expected at least 3 arguments, but found ${e.length-1} instead.`);let r=[];for(let n=1;n=r.length)throw new lt(`Array index out of bounds: ${t} > ${r.length-1}.`);if(t!==Math.floor(t))throw new lt(`Array index must be an integer, but found ${t} instead.`);return r[t]}eachChild(e){e(this.index),e(this.input)}outputDefined(){return!1}}class xt{constructor(e,t){this.type=fe,this.needle=e,this.haystack=t}static parse(e,t){if(3!==e.length)return t.error(`Expected 2 arguments, but found ${e.length-1} instead.`);let r=t.parse(e[1],1,ge),n=t.parse(e[2],2,ge);return r&&n?Me(r.type,[fe,de,he,ue,ge])?new xt(r,n):t.error(`Expected first argument to be of type boolean, string, number or null, but found ${ke(r.type)} instead`):null}evaluate(e){let t=this.needle.evaluate(e),r=this.haystack.evaluate(e);if(!r)return!1;if(!Se(t,["boolean","string","number","null"]))throw new lt(`Expected first argument to be of type boolean, string, number or null, but found ${ke(at(t))} instead.`);if(!Se(r,["string","array"]))throw new lt(`Expected second argument to be of type array or string, but found ${ke(at(r))} instead.`);return r.indexOf(t)>=0}eachChild(e){e(this.needle),e(this.haystack)}outputDefined(){return!0}}class bt{constructor(e,t,r){this.type=he,this.needle=e,this.haystack=t,this.fromIndex=r}static parse(e,t){if(e.length<=2||e.length>=5)return t.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);let r=t.parse(e[1],1,ge),n=t.parse(e[2],2,ge);if(!r||!n)return null;if(!Me(r.type,[fe,de,he,ue,ge]))return t.error(`Expected first argument to be of type boolean, string, number or null, but found ${ke(r.type)} instead`);if(4===e.length){let i=t.parse(e[3],3,he);return i?new bt(r,n,i):null}return new bt(r,n)}evaluate(e){let t,r=this.needle.evaluate(e),n=this.haystack.evaluate(e);if(!Se(r,["boolean","string","number","null"]))throw new lt(`Expected first argument to be of type boolean, string, number or null, but found ${ke(at(r))} instead.`);if(this.fromIndex&&(t=this.fromIndex.evaluate(e)),Se(n,["string"])){let e=n.indexOf(r,t);return-1===e?-1:[...n.slice(0,e)].length}if(Se(n,["array"]))return n.indexOf(r,t);throw new lt(`Expected second argument to be of type array or string, but found ${ke(at(n))} instead.`)}eachChild(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)}outputDefined(){return!1}}class _t{constructor(e,t,r,n,i,a){this.inputType=e,this.type=t,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a}static parse(e,t){if(e.length<5)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if(e.length%2!=1)return t.error("Expected an even number of arguments.");let r,n;t.expectedType&&"value"!==t.expectedType.kind&&(n=t.expectedType);let i={},a=[];for(let o=2;oNumber.MAX_SAFE_INTEGER)return c.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if("number"==typeof e&&Math.floor(e)!==e)return c.error("Numeric branch labels must be integer values.");if(r){if(c.checkSubtype(r,at(e)))return null}else r=at(e);if(void 0!==i[String(e)])return c.error("Branch labels must be unique.");i[String(e)]=a.length}let u=t.parse(l,o,n);if(!u)return null;n=n||u.type,a.push(u)}let o=t.parse(e[1],1,ge);if(!o)return null;let s=t.parse(e[e.length-1],e.length-1,n);return s?"value"!==o.type.kind&&t.concat(1).checkSubtype(r,o.type)?null:new _t(r,n,o,i,a,s):null}evaluate(e){let t=this.input.evaluate(e);return(at(t)===this.inputType&&this.outputs[this.cases[t]]||this.otherwise).evaluate(e)}eachChild(e){e(this.input),this.outputs.forEach(e),e(this.otherwise)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))&&this.otherwise.outputDefined()}}class wt{constructor(e,t,r){this.type=e,this.branches=t,this.otherwise=r}static parse(e,t){if(e.length<4)return t.error(`Expected at least 3 arguments, but found only ${e.length-1}.`);if(e.length%2!=0)return t.error("Expected an odd number of arguments.");let r;t.expectedType&&"value"!==t.expectedType.kind&&(r=t.expectedType);let n=[];for(let i=1;it.outputDefined()))&&this.otherwise.outputDefined()}}class kt{constructor(e,t,r,n){this.type=e,this.input=t,this.beginIndex=r,this.endIndex=n}static parse(e,t){if(e.length<=2||e.length>=5)return t.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);let r=t.parse(e[1],1,ge),n=t.parse(e[2],2,he);if(!r||!n)return null;if(!Me(r.type,[we(ge),de,ge]))return t.error(`Expected first argument to be of type array or string, but found ${ke(r.type)} instead`);if(4===e.length){let i=t.parse(e[3],3,he);return i?new kt(r.type,r,n,i):null}return new kt(r.type,r,n)}evaluate(e){let t,r=this.input.evaluate(e),n=this.beginIndex.evaluate(e);if(this.endIndex&&(t=this.endIndex.evaluate(e)),Se(r,["string"]))return[...r].slice(n,t).join("");if(Se(r,["array"]))return r.slice(n,t);throw new lt(`Expected first argument to be of type array or string, but found ${ke(at(r))} instead.`)}eachChild(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)}outputDefined(){return!1}}function Tt(e,t){let r,n,i=e.length-1,a=0,o=i,s=0;for(;a<=o;)if(s=Math.floor((a+o)/2),r=e[s],n=e[s+1],r<=t){if(s===i||tt))throw new lt("Input is not a number.");o=s-1}return 0}class At{constructor(e,t,r){this.type=e,this.input=t,this.labels=[],this.outputs=[];for(let[e,t]of r)this.labels.push(e),this.outputs.push(t)}static parse(e,t){if(e.length-1<4)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return t.error("Expected an even number of arguments.");let r=t.parse(e[1],1,he);if(!r)return null;let n=[],i=null;t.expectedType&&"value"!==t.expectedType.kind&&(i=t.expectedType);for(let r=1;r=a)return t.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',s);let c=t.parse(o,l,i);if(!c)return null;i=i||c.type,n.push([a,c])}return new At(i,r,n)}evaluate(e){let t=this.labels,r=this.outputs;if(1===t.length)return r[0].evaluate(e);let n=this.input.evaluate(e);if(n<=t[0])return r[0].evaluate(e);let i=t.length;return n>=t[i-1]?r[i-1].evaluate(e):r[Tt(t,n)].evaluate(e)}eachChild(e){e(this.input);for(let t of this.outputs)e(t)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))}}var Mt=St;function St(e,t,r,n){this.cx=3*e,this.bx=3*(r-e)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*t,this.by=3*(n-t)-this.cy,this.ay=1-this.cy-this.by,this.p1x=e,this.p1y=t,this.p2x=r,this.p2y=n}St.prototype={sampleCurveX:function(e){return((this.ax*e+this.bx)*e+this.cx)*e},sampleCurveY:function(e){return((this.ay*e+this.by)*e+this.cy)*e},sampleCurveDerivativeX:function(e){return(3*this.ax*e+2*this.bx)*e+this.cx},solveCurveX:function(e,t){if(void 0===t&&(t=1e-6),e<0)return 0;if(e>1)return 1;for(var r=e,n=0;n<8;n++){var i=this.sampleCurveX(r)-e;if(Math.abs(i)i?o=r:s=r,r=.5*(s-o)+o;return r},solve:function(e,t){return this.sampleCurveY(this.solveCurveX(e,t))}};var Et,Ct=(Et=Mt)&&Et.__esModule&&Object.prototype.hasOwnProperty.call(Et,"default")?Et.default:Et;function Lt(e,t,r){return e+r*(t-e)}function It(e,t,r){return e.map(((e,n)=>Lt(e,t[n],r)))}let Pt={number:Lt,color:function(e,t,r,n="rgb"){switch(n){case"rgb":{let[n,i,a,o]=It(e.rgb,t.rgb,r);return new Ze(n,i,a,o,!1)}case"hcl":{let n,i,[a,o,s,l]=e.hcl,[c,u,h,d]=t.hcl;if(isNaN(a)||isNaN(c))isNaN(a)?isNaN(c)?n=NaN:(n=c,1!==s&&0!==s||(i=u)):(n=a,1!==h&&0!==h||(i=o));else{let e=c-a;c>a&&e>180?e-=360:c180&&(e+=360),n=a+r*e}let[f,p,m,g]=function([e,t,r,n]){return e=isNaN(e)?0:e*De,Ue([r,Math.cos(e)*t,Math.sin(e)*t,n])}([n,i??Lt(o,u,r),Lt(s,h,r),Lt(l,d,r)]);return new Ze(f,p,m,g,!1)}case"lab":{let[n,i,a,o]=Ue(It(e.lab,t.lab,r));return new Ze(n,i,a,o,!1)}}},array:It,padding:function(e,t,r){return new Qe(It(e.values,t.values,r))},variableAnchorOffsetCollection:function(e,t,r){let n=e.values,i=t.values;if(n.length!==i.length)throw new lt(`Cannot interpolate values of different length. from: ${e.toString()}, to: ${t.toString()}`);let a=[];for(let e=0;e"number"!=typeof e||e<0||e>1)))return t.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:e}}}if(e.length-1<4)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return t.error("Expected an even number of arguments.");if(i=t.parse(i,2,he),!i)return null;let o=[],s=null;"interpolate-hcl"===r||"interpolate-lab"===r?s=pe:t.expectedType&&"value"!==t.expectedType.kind&&(s=t.expectedType);for(let e=0;e=r)return t.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',i);let c=t.parse(n,l,s);if(!c)return null;s=s||c.type,o.push([r,c])}return Ee(s,he)||Ee(s,pe)||Ee(s,xe)||Ee(s,_e)||Ee(s,we(he))?new zt(s,r,n,i,o):t.error(`Type ${ke(s)} is not interpolatable.`)}evaluate(e){let t=this.labels,r=this.outputs;if(1===t.length)return r[0].evaluate(e);let n=this.input.evaluate(e);if(n<=t[0])return r[0].evaluate(e);let i=t.length;if(n>=t[i-1])return r[i-1].evaluate(e);let a=Tt(t,n),o=zt.interpolationFactor(this.interpolation,n,t[a],t[a+1]),s=r[a].evaluate(e),l=r[a+1].evaluate(e);switch(this.operator){case"interpolate":return Pt[this.type.kind](s,l,o);case"interpolate-hcl":return Pt.color(s,l,o,"hcl");case"interpolate-lab":return Pt.color(s,l,o,"lab")}}eachChild(e){e(this.input);for(let t of this.outputs)e(t)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))}}function Ot(e,t,r,n){let i=n-r,a=e-r;return 0===i?0:1===t?a/i:(Math.pow(t,a)-1)/(Math.pow(t,i)-1)}class Dt{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error("Expectected at least one argument.");let r=null,n=t.expectedType;n&&"value"!==n.kind&&(r=n);let i=[];for(let n of e.slice(1)){let e=t.parse(n,1+i.length,r,void 0,{typeAnnotation:"omit"});if(!e)return null;r=r||e.type,i.push(e)}if(!r)throw new Error("No output type");let a=n&&i.some((e=>Ae(n,e.type)));return new Dt(a?ge:r,i)}evaluate(e){let t,r=null,n=0;for(let i of this.args)if(n++,r=i.evaluate(e),r&&r instanceof rt&&!r.available&&(t||(t=r.name),r=null,n===this.args.length&&(r=t)),null!==r)break;return r}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every((e=>e.outputDefined()))}}function Rt(e,t){return"=="===e||"!="===e?"boolean"===t.kind||"string"===t.kind||"number"===t.kind||"null"===t.kind||"value"===t.kind:"string"===t.kind||"number"===t.kind||"value"===t.kind}function jt(e,t,r,n){return 0===n.compare(t,r)}function Ft(e,t,r){let n="=="!==e&&"!="!==e;return class i{constructor(e,t,r){this.type=fe,this.lhs=e,this.rhs=t,this.collator=r,this.hasUntypedArgument="value"===e.type.kind||"value"===t.type.kind}static parse(e,t){if(3!==e.length&&4!==e.length)return t.error("Expected two or three arguments.");let r=e[0],a=t.parse(e[1],1,ge);if(!a)return null;if(!Rt(r,a.type))return t.concat(1).error(`"${r}" comparisons are not supported for type '${ke(a.type)}'.`);let o=t.parse(e[2],2,ge);if(!o)return null;if(!Rt(r,o.type))return t.concat(2).error(`"${r}" comparisons are not supported for type '${ke(o.type)}'.`);if(a.type.kind!==o.type.kind&&"value"!==a.type.kind&&"value"!==o.type.kind)return t.error(`Cannot compare types '${ke(a.type)}' and '${ke(o.type)}'.`);n&&("value"===a.type.kind&&"value"!==o.type.kind?a=new ut(o.type,[a]):"value"!==a.type.kind&&"value"===o.type.kind&&(o=new ut(a.type,[o])));let s=null;if(4===e.length){if("string"!==a.type.kind&&"string"!==o.type.kind&&"value"!==a.type.kind&&"value"!==o.type.kind)return t.error("Cannot use collator to compare non-string types.");if(s=t.parse(e[3],3,ye),!s)return null}return new i(a,o,s)}evaluate(i){let a=this.lhs.evaluate(i),o=this.rhs.evaluate(i);if(n&&this.hasUntypedArgument){let t=at(a),r=at(o);if(t.kind!==r.kind||"string"!==t.kind&&"number"!==t.kind)throw new lt(`Expected arguments for "${e}" to be (string, string) or (number, number), but found (${t.kind}, ${r.kind}) instead.`)}if(this.collator&&!n&&this.hasUntypedArgument){let e=at(a),r=at(o);if("string"!==e.kind||"string"!==r.kind)return t(i,a,o)}return this.collator?r(i,a,o,this.collator.evaluate(i)):t(i,a,o)}eachChild(e){e(this.lhs),e(this.rhs),this.collator&&e(this.collator)}outputDefined(){return!0}}}let Bt=Ft("==",(function(e,t,r){return t===r}),jt),Nt=Ft("!=",(function(e,t,r){return t!==r}),(function(e,t,r,n){return!jt(0,t,r,n)})),Ut=Ft("<",(function(e,t,r){return t",(function(e,t,r){return t>r}),(function(e,t,r,n){return n.compare(t,r)>0})),qt=Ft("<=",(function(e,t,r){return t<=r}),(function(e,t,r,n){return n.compare(t,r)<=0})),Ht=Ft(">=",(function(e,t,r){return t>=r}),(function(e,t,r,n){return n.compare(t,r)>=0}));class Gt{constructor(e,t,r){this.type=ye,this.locale=r,this.caseSensitive=e,this.diacriticSensitive=t}static parse(e,t){if(2!==e.length)return t.error("Expected one argument.");let r=e[1];if("object"!=typeof r||Array.isArray(r))return t.error("Collator options argument must be an object.");let n=t.parse(void 0!==r["case-sensitive"]&&r["case-sensitive"],1,fe);if(!n)return null;let i=t.parse(void 0!==r["diacritic-sensitive"]&&r["diacritic-sensitive"],1,fe);if(!i)return null;let a=null;return r.locale&&(a=t.parse(r.locale,1,de),!a)?null:new Gt(n,i,a)}evaluate(e){return new $e(this.caseSensitive.evaluate(e),this.diacriticSensitive.evaluate(e),this.locale?this.locale.evaluate(e):null)}eachChild(e){e(this.caseSensitive),e(this.diacriticSensitive),this.locale&&e(this.locale)}outputDefined(){return!1}}class Wt{constructor(e,t,r,n,i){this.type=de,this.number=e,this.locale=t,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i}static parse(e,t){if(3!==e.length)return t.error("Expected two arguments.");let r=t.parse(e[1],1,he);if(!r)return null;let n=e[2];if("object"!=typeof n||Array.isArray(n))return t.error("NumberFormat options argument must be an object.");let i=null;if(n.locale&&(i=t.parse(n.locale,1,de),!i))return null;let a=null;if(n.currency&&(a=t.parse(n.currency,1,de),!a))return null;let o=null;if(n["min-fraction-digits"]&&(o=t.parse(n["min-fraction-digits"],1,he),!o))return null;let s=null;return n["max-fraction-digits"]&&(s=t.parse(n["max-fraction-digits"],1,he),!s)?null:new Wt(r,i,a,o,s)}evaluate(e){return new Intl.NumberFormat(this.locale?this.locale.evaluate(e):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(e):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(e):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(e):void 0}).format(this.number.evaluate(e))}eachChild(e){e(this.number),this.locale&&e(this.locale),this.currency&&e(this.currency),this.minFractionDigits&&e(this.minFractionDigits),this.maxFractionDigits&&e(this.maxFractionDigits)}outputDefined(){return!1}}class Yt{constructor(e){this.type=ve,this.sections=e}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");let r=e[1];if(!Array.isArray(r)&&"object"==typeof r)return t.error("First argument must be an image or text section.");let n=[],i=!1;for(let r=1;r<=e.length-1;++r){let a=e[r];if(i&&"object"==typeof a&&!Array.isArray(a)){i=!1;let e=null;if(a["font-scale"]&&(e=t.parse(a["font-scale"],1,he),!e))return null;let r=null;if(a["text-font"]&&(r=t.parse(a["text-font"],1,we(de)),!r))return null;let o=null;if(a["text-color"]&&(o=t.parse(a["text-color"],1,pe),!o))return null;let s=n[n.length-1];s.scale=e,s.font=r,s.textColor=o}else{let a=t.parse(e[r],1,ge);if(!a)return null;let o=a.type.kind;if("string"!==o&&"value"!==o&&"null"!==o&&"resolvedImage"!==o)return t.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");i=!0,n.push({content:a,scale:null,font:null,textColor:null})}}return new Yt(n)}evaluate(e){return new Je(this.sections.map((t=>{let r=t.content.evaluate(e);return at(r)===be?new Ke("",r,null,null,null):new Ke(ot(r),null,t.scale?t.scale.evaluate(e):null,t.font?t.font.evaluate(e).join(","):null,t.textColor?t.textColor.evaluate(e):null)})))}eachChild(e){for(let t of this.sections)e(t.content),t.scale&&e(t.scale),t.font&&e(t.font),t.textColor&&e(t.textColor)}outputDefined(){return!1}}class Xt{constructor(e){this.type=be,this.input=e}static parse(e,t){if(2!==e.length)return t.error("Expected two arguments.");let r=t.parse(e[1],1,de);return r?new Xt(r):t.error("No image name provided.")}evaluate(e){let t=this.input.evaluate(e),r=rt.fromString(t);return r&&e.availableImages&&(r.available=e.availableImages.indexOf(t)>-1),r}eachChild(e){e(this.input)}outputDefined(){return!1}}class Zt{constructor(e){this.type=he,this.input=e}static parse(e,t){if(2!==e.length)return t.error(`Expected 1 argument, but found ${e.length-1} instead.`);let r=t.parse(e[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?t.error(`Expected argument of type string or array, but found ${ke(r.type)} instead.`):new Zt(r):null}evaluate(e){let t=this.input.evaluate(e);if("string"==typeof t)return[...t].length;if(Array.isArray(t))return t.length;throw new lt(`Expected value to be of type string or array, but found ${ke(at(t))} instead.`)}eachChild(e){e(this.input)}outputDefined(){return!1}}let $t=8192;function Kt(e,t){let r=(180+e[0])/360,n=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e[1]*Math.PI/360)))/360,i=Math.pow(2,t.z);return[Math.round(r*i*$t),Math.round(n*i*$t)]}function Jt(e,t){let r=Math.pow(2,t.z);return[(i=(e[0]/$t+t.x)/r,360*i-180),(n=(e[1]/$t+t.y)/r,360/Math.PI*Math.atan(Math.exp((180-360*n)*Math.PI/180))-90)];var n,i}function Qt(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.max(e[2],t[0]),e[3]=Math.max(e[3],t[1])}function er(e,t){return!(e[0]<=t[0]||e[2]>=t[2]||e[1]<=t[1]||e[3]>=t[3])}function tr(e,t,r){let n=e[0]-t[0],i=e[1]-t[1],a=e[0]-r[0],o=e[1]-r[1];return n*o-a*i==0&&n*a<=0&&i*o<=0}function rr(e,t,r,n){return(i=[n[0]-r[0],n[1]-r[1]])[0]*(a=[t[0]-e[0],t[1]-e[1]])[1]-i[1]*a[0]!=0&&!(!lr(e,t,r,n)||!lr(r,n,e,t));var i,a}function nr(e,t,r){for(let n of r)for(let r=0;r(i=e)[1]!=(o=s[t+1])[1]>i[1]&&i[0]<(o[0]-a[0])*(i[1]-a[1])/(o[1]-a[1])+a[0]&&(n=!n)}var i,a,o;return n}function ar(e,t){for(let r of t)if(ir(e,r))return!0;return!1}function or(e,t){for(let r of e)if(!ir(r,t))return!1;for(let r=0;r0&&s<0||o<0&&s>0}function cr(e,t,r){let n=[];for(let i=0;ir[2]){let t=.5*n,i=e[0]-r[0]>t?-n:r[0]-e[0]>t?n:0;0===i&&(i=e[0]-r[2]>t?-n:r[2]-e[0]>t?n:0),e[0]+=i}Qt(t,e)}function dr(e,t,r,n){let i=Math.pow(2,n.z)*$t,a=[n.x*$t,n.y*$t],o=[];for(let n of e)for(let e of n){let n=[e.x+a[0],e.y+a[1]];hr(n,t,r,i),o.push(n)}return o}function fr(e,t,r,n){let i=Math.pow(2,n.z)*$t,a=[n.x*$t,n.y*$t],o=[];for(let r of e){let e=[];for(let n of r){let r=[n.x+a[0],n.y+a[1]];Qt(t,r),e.push(r)}o.push(e)}if(t[2]-t[0]<=i/2){(s=t)[0]=s[1]=1/0,s[2]=s[3]=-1/0;for(let e of o)for(let n of e)hr(n,t,r,i)}var s;return o}class pr{constructor(e,t){this.type=fe,this.geojson=e,this.geometries=t}static parse(e,t){if(2!==e.length)return t.error(`'within' expression requires exactly one argument, but found ${e.length-1} instead.`);if(it(e[1])){let t=e[1];if("FeatureCollection"===t.type){let e=[];for(let r of t.features){let{type:t,coordinates:n}=r.geometry;"Polygon"===t&&e.push(n),"MultiPolygon"===t&&e.push(...n)}if(e.length)return new pr(t,{type:"MultiPolygon",coordinates:e})}else if("Feature"===t.type){let e=t.geometry.type;if("Polygon"===e||"MultiPolygon"===e)return new pr(t,t.geometry)}else if("Polygon"===t.type||"MultiPolygon"===t.type)return new pr(t,t)}return t.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(e){if(null!=e.geometry()&&null!=e.canonicalID()){if("Point"===e.geometryType())return function(e,t){let r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=e.canonicalID();if("Polygon"===t.type){let a=cr(t.coordinates,n,i),o=dr(e.geometry(),r,n,i);if(!er(r,n))return!1;for(let e of o)if(!ir(e,a))return!1}if("MultiPolygon"===t.type){let a=ur(t.coordinates,n,i),o=dr(e.geometry(),r,n,i);if(!er(r,n))return!1;for(let e of o)if(!ar(e,a))return!1}return!0}(e,this.geometries);if("LineString"===e.geometryType())return function(e,t){let r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=e.canonicalID();if("Polygon"===t.type){let a=cr(t.coordinates,n,i),o=fr(e.geometry(),r,n,i);if(!er(r,n))return!1;for(let e of o)if(!or(e,a))return!1}if("MultiPolygon"===t.type){let a=ur(t.coordinates,n,i),o=fr(e.geometry(),r,n,i);if(!er(r,n))return!1;for(let e of o)if(!sr(e,a))return!1}return!0}(e,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let mr=class{constructor(e=[],t=(e,t)=>et?1:0){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(0===this.length)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:r}=this,n=t[e];for(;e>0;){let i=e-1>>1,a=t[i];if(r(n,a)>=0)break;t[e]=a,e=i}t[e]=n}_down(e){let{data:t,compare:r}=this,n=this.length>>1,i=t[e];for(;e=0)break;t[e]=t[n],e=n}t[e]=i}};function gr(e,t,r,n,i){yr(e,t,r,n||e.length-1,i||xr)}function yr(e,t,r,n,i){for(;n>r;){if(n-r>600){var a=n-r+1,o=t-r+1,s=Math.log(a),l=.5*Math.exp(2*s/3),c=.5*Math.sqrt(s*l*(a-l)/a)*(o-a/2<0?-1:1);yr(e,t,Math.max(r,Math.floor(t-o*l/a+c)),Math.min(n,Math.floor(t+(a-o)*l/a+c)),i)}var u=e[t],h=r,d=n;for(vr(e,r,t),i(e[n],u)>0&&vr(e,r,n);h0;)d--}0===i(e[r],u)?vr(e,r,d):vr(e,++d,n),d<=t&&(r=d+1),t<=d&&(n=d-1)}}function vr(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function xr(e,t){return et?1:0}function br(e,t){if(e.length<=1)return[e];let r,n,i=[];for(let t of e){let e=wr(t);0!==e&&(t.area=Math.abs(e),void 0===n&&(n=e<0),n===e<0?(r&&i.push(r),r=[t]):r.push(t))}if(r&&i.push(r),t>1)for(let e=0;e1?(l=e[s+1][0],c=e[s+1][1]):d>0&&(l+=u/this.kx*d,c+=h/this.ky*d)),u=this.wrap(t[0]-l)*this.kx,h=(t[1]-c)*this.ky;let f=u*u+h*h;f180;)e-=360;return e}}function Sr(e,t){return t[0]-e[0]}function Er(e){return e[1]-e[0]+1}function Cr(e,t){return e[1]>=e[0]&&e[1]e[1])return[null,null];let r=Er(e);if(t){if(2===r)return[e,null];let t=Math.floor(r/2);return[[e[0],e[0]+t],[e[0]+t,e[1]]]}if(1===r)return[e,null];let n=Math.floor(r/2)-1;return[[e[0],e[0]+n],[e[0]+n+1,e[1]]]}function Ir(e,t){if(!Cr(t,e.length))return[1/0,1/0,-1/0,-1/0];let r=[1/0,1/0,-1/0,-1/0];for(let n=t[0];n<=t[1];++n)Qt(r,e[n]);return r}function Pr(e){let t=[1/0,1/0,-1/0,-1/0];for(let r of e)for(let e of r)Qt(t,e);return t}function zr(e){return e[0]!==-1/0&&e[1]!==-1/0&&e[2]!==1/0&&e[3]!==1/0}function Or(e,t,r){if(!zr(e)||!zr(t))return NaN;let n=0,i=0;return e[2]t[2]&&(n=e[0]-t[2]),e[1]>t[3]&&(i=e[1]-t[3]),e[3]=n)return n;if(er(i,a)){if(Ur(e,t))return 0}else if(Ur(t,e))return 0;let o=1/0;for(let n of e)for(let e=0,i=n.length,a=i-1;e0;){let i=o.pop();if(i[0]>=a)continue;let l=i[1],c=t?50:100;if(Er(l)<=c){if(!Cr(l,e.length))return NaN;if(t){let t=Nr(e,l,r,n);if(isNaN(t)||0===t)return t;a=Math.min(a,t)}else for(let t=l[0];t<=l[1];++t){let i=Br(e[t],r,n);if(a=Math.min(a,i),0===a)return 0}}else{let r=Lr(l,t);qr(o,a,n,e,s,r[0]),qr(o,a,n,e,s,r[1])}}return a}function Wr(e,t,r,n,i,a=1/0){let o=Math.min(a,i.distance(e[0],r[0]));if(0===o)return o;let s=new mr([[0,[0,e.length-1],[0,r.length-1]]],Sr);for(;s.length>0;){let a=s.pop();if(a[0]>=o)continue;let l=a[1],c=a[2],u=t?50:100,h=n?50:100;if(Er(l)<=u&&Er(c)<=h){if(!Cr(l,e.length)&&Cr(c,r.length))return NaN;let a;if(t&&n)a=jr(e,l,r,c,i),o=Math.min(o,a);else if(t&&!n){let t=e.slice(l[0],l[1]+1);for(let e=c[0];e<=c[1];++e)if(a=Dr(r[e],t,i),o=Math.min(o,a),0===o)return o}else if(!t&&n){let t=r.slice(c[0],c[1]+1);for(let r=l[0];r<=l[1];++r)if(a=Dr(e[r],t,i),o=Math.min(o,a),0===o)return o}else a=Fr(e,l,r,c,i),o=Math.min(o,a)}else{let a=Lr(l,t),u=Lr(c,n);Hr(s,o,i,e,r,a[0],u[0]),Hr(s,o,i,e,r,a[0],u[1]),Hr(s,o,i,e,r,a[1],u[0]),Hr(s,o,i,e,r,a[1],u[1])}}return o}function Yr(e){return"MultiPolygon"===e.type?e.coordinates.map((e=>({type:"Polygon",coordinates:e}))):"MultiLineString"===e.type?e.coordinates.map((e=>({type:"LineString",coordinates:e}))):"MultiPoint"===e.type?e.coordinates.map((e=>({type:"Point",coordinates:e}))):[e]}class Xr{constructor(e,t){this.type=he,this.geojson=e,this.geometries=t}static parse(e,t){if(2!==e.length)return t.error(`'distance' expression requires exactly one argument, but found ${e.length-1} instead.`);if(it(e[1])){let t=e[1];if("FeatureCollection"===t.type)return new Xr(t,t.features.map((e=>Yr(e.geometry))).flat());if("Feature"===t.type)return new Xr(t,Yr(t.geometry));if("type"in t&&"coordinates"in t)return new Xr(t,Yr(t))}return t.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(e){if(null!=e.geometry()&&null!=e.canonicalID()){if("Point"===e.geometryType())return function(e,t){let r=e.geometry(),n=r.flat().map((t=>Jt([t.x,t.y],e.canonical)));if(0===r.length)return NaN;let i=new Mr(n[0][1]),a=1/0;for(let e of t){switch(e.type){case"Point":a=Math.min(a,Wr(n,!1,[e.coordinates],!1,i,a));break;case"LineString":a=Math.min(a,Wr(n,!1,e.coordinates,!0,i,a));break;case"Polygon":a=Math.min(a,Gr(n,!1,e.coordinates,i,a))}if(0===a)return a}return a}(e,this.geometries);if("LineString"===e.geometryType())return function(e,t){let r=e.geometry(),n=r.flat().map((t=>Jt([t.x,t.y],e.canonical)));if(0===r.length)return NaN;let i=new Mr(n[0][1]),a=1/0;for(let e of t){switch(e.type){case"Point":a=Math.min(a,Wr(n,!0,[e.coordinates],!1,i,a));break;case"LineString":a=Math.min(a,Wr(n,!0,e.coordinates,!0,i,a));break;case"Polygon":a=Math.min(a,Gr(n,!0,e.coordinates,i,a))}if(0===a)return a}return a}(e,this.geometries);if("Polygon"===e.geometryType())return function(e,t){let r=e.geometry();if(0===r.length||0===r[0].length)return NaN;let n=br(r,0).map((t=>t.map((t=>t.map((t=>Jt([t.x,t.y],e.canonical))))))),i=new Mr(n[0][0][0][1]),a=1/0;for(let e of t)for(let t of n){switch(e.type){case"Point":a=Math.min(a,Gr([e.coordinates],!1,t,i,a));break;case"LineString":a=Math.min(a,Gr(e.coordinates,!0,t,i,a));break;case"Polygon":a=Math.min(a,Vr(t,e.coordinates,i,a))}if(0===a)return a}return a}(e,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}let Zr={"==":Bt,"!=":Nt,">":Vt,"<":Ut,">=":Ht,"<=":qt,array:ut,at:vt,boolean:ut,case:wt,coalesce:Dt,collator:Gt,format:Yt,image:Xt,in:xt,"index-of":bt,interpolate:zt,"interpolate-hcl":zt,"interpolate-lab":zt,length:Zt,let:gt,literal:st,match:_t,number:ut,"number-format":Wt,object:ut,slice:kt,step:At,string:ut,"to-boolean":dt,"to-color":dt,"to-number":dt,"to-string":dt,var:yt,within:pr,distance:Xr};class $r{constructor(e,t,r,n){this.name=e,this.type=t,this._evaluate=r,this.args=n}evaluate(e){return this._evaluate(e,this.args)}eachChild(e){this.args.forEach(e)}outputDefined(){return!1}static parse(e,t){let r=e[0],n=$r.definitions[r];if(!n)return t.error(`Unknown expression "${r}". If you wanted a literal array, use ["literal", [...]].`,0);let i=Array.isArray(n)?n[0]:n.type,a=Array.isArray(n)?[[n[1],n[2]]]:n.overloads,o=a.filter((([t])=>!Array.isArray(t)||t.length===e.length-1)),s=null;for(let[n,a]of o){s=new mt(t.registry,tn,t.path,null,t.scope);let o=[],l=!1;for(let t=1;t{return t=e,Array.isArray(t)?`(${t.map(ke).join(", ")})`:`(${ke(t.type)}...)`;var t})).join(" | "),n=[];for(let r=1;r{r=t?r&&tn(e):r&&e instanceof st})),!!r&&rn(e)&&an(e,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function rn(e){if(e instanceof $r&&("get"===e.name&&1===e.args.length||"feature-state"===e.name||"has"===e.name&&1===e.args.length||"properties"===e.name||"geometry-type"===e.name||"id"===e.name||/^filter-/.test(e.name))||e instanceof pr||e instanceof Xr)return!1;let t=!0;return e.eachChild((e=>{t&&!rn(e)&&(t=!1)})),t}function nn(e){if(e instanceof $r&&"feature-state"===e.name)return!1;let t=!0;return e.eachChild((e=>{t&&!nn(e)&&(t=!1)})),t}function an(e,t){if(e instanceof $r&&t.indexOf(e.name)>=0)return!1;let r=!0;return e.eachChild((e=>{r&&!an(e,t)&&(r=!1)})),r}function on(e){return{result:"success",value:e}}function sn(e){return{result:"error",value:e}}function ln(e){return"data-driven"===e["property-type"]||"cross-faded-data-driven"===e["property-type"]}function cn(e){return!!e.expression&&e.expression.parameters.indexOf("zoom")>-1}function un(e){return!!e.expression&&e.expression.interpolated}function hn(e){return e instanceof Number?"number":e instanceof String?"string":e instanceof Boolean?"boolean":Array.isArray(e)?"array":null===e?"null":typeof e}function dn(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function fn(e){return e}function pn(e,t){let r="color"===t.type,n=e.stops&&"object"==typeof e.stops[0][0],i=n||!(n||void 0!==e.property),a=e.type||(un(t)?"exponential":"interval");if(r||"padding"===t.type){let n=r?Ze.parse:Qe.parse;(e=se({},e)).stops&&(e.stops=e.stops.map((e=>[e[0],n(e[1])]))),e.default=n(e.default?e.default:t.default)}if(e.colorSpace&&"rgb"!==(o=e.colorSpace)&&"hcl"!==o&&"lab"!==o)throw new Error(`Unknown color space: "${e.colorSpace}"`);var o;let s,l,c;if("exponential"===a)s=vn;else if("interval"===a)s=yn;else if("categorical"===a){s=gn,l=Object.create(null);for(let t of e.stops)l[t[0]]=t[1];c=typeof e.stops[0][0]}else{if("identity"!==a)throw new Error(`Unknown function type "${a}"`);s=xn}if(n){let r={},n=[];for(let t=0;te[0])),evaluate:({zoom:r},n)=>vn({stops:i,base:e.base},t,r).evaluate(r,n)}}if(i){let r="exponential"===a?{name:"exponential",base:void 0!==e.base?e.base:1}:null;return{kind:"camera",interpolationType:r,interpolationFactor:zt.interpolationFactor.bind(void 0,r),zoomStops:e.stops.map((e=>e[0])),evaluate:({zoom:r})=>s(e,t,r,l,c)}}return{kind:"source",evaluate(r,n){let i=n&&n.properties?n.properties[e.property]:void 0;return void 0===i?mn(e.default,t.default):s(e,t,i,l,c)}}}function mn(e,t,r){return void 0!==e?e:void 0!==t?t:void 0!==r?r:void 0}function gn(e,t,r,n,i){return mn(typeof r===i?n[r]:void 0,e.default,t.default)}function yn(e,t,r){if("number"!==hn(r))return mn(e.default,t.default);let n=e.stops.length;if(1===n||r<=e.stops[0][0])return e.stops[0][1];if(r>=e.stops[n-1][0])return e.stops[n-1][1];let i=Tt(e.stops.map((e=>e[0])),r);return e.stops[i][1]}function vn(e,t,r){let n=void 0!==e.base?e.base:1;if("number"!==hn(r))return mn(e.default,t.default);let i=e.stops.length;if(1===i||r<=e.stops[0][0])return e.stops[0][1];if(r>=e.stops[i-1][0])return e.stops[i-1][1];let a=Tt(e.stops.map((e=>e[0])),r),o=function(e,t,r,n){let i=n-r,a=e-r;return 0===i?0:1===t?a/i:(Math.pow(t,a)-1)/(Math.pow(t,i)-1)}(r,n,e.stops[a][0],e.stops[a+1][0]),s=e.stops[a][1],l=e.stops[a+1][1],c=Pt[t.type]||fn;return"function"==typeof s.evaluate?{evaluate(...t){let r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return c(r,n,o,e.colorSpace)}}:c(s,l,o,e.colorSpace)}function xn(e,t,r){switch(t.type){case"color":r=Ze.parse(r);break;case"formatted":r=Je.fromString(r.toString());break;case"resolvedImage":r=rt.fromString(r.toString());break;case"padding":r=Qe.parse(r);break;default:hn(r)===t.type||"enum"===t.type&&t.values[r]||(r=void 0)}return mn(r,e.default,t.default)}$r.register(Zr,{error:[{kind:"error"},[de],(e,[t])=>{throw new lt(t.evaluate(e))}],typeof:[de,[ge],(e,[t])=>ke(at(t.evaluate(e)))],"to-rgba":[we(he,4),[pe],(e,[t])=>{let[r,n,i,a]=t.evaluate(e).rgb;return[255*r,255*n,255*i,a]}],rgb:[pe,[he,he,he],Kr],rgba:[pe,[he,he,he,he],Kr],has:{type:fe,overloads:[[[de],(e,[t])=>Jr(t.evaluate(e),e.properties())],[[de,me],(e,[t,r])=>Jr(t.evaluate(e),r.evaluate(e))]]},get:{type:ge,overloads:[[[de],(e,[t])=>Qr(t.evaluate(e),e.properties())],[[de,me],(e,[t,r])=>Qr(t.evaluate(e),r.evaluate(e))]]},"feature-state":[ge,[de],(e,[t])=>Qr(t.evaluate(e),e.featureState||{})],properties:[me,[],e=>e.properties()],"geometry-type":[de,[],e=>e.geometryType()],id:[ge,[],e=>e.id()],zoom:[he,[],e=>e.globals.zoom],"heatmap-density":[he,[],e=>e.globals.heatmapDensity||0],"line-progress":[he,[],e=>e.globals.lineProgress||0],accumulated:[ge,[],e=>void 0===e.globals.accumulated?null:e.globals.accumulated],"+":[he,en(he),(e,t)=>{let r=0;for(let n of t)r+=n.evaluate(e);return r}],"*":[he,en(he),(e,t)=>{let r=1;for(let n of t)r*=n.evaluate(e);return r}],"-":{type:he,overloads:[[[he,he],(e,[t,r])=>t.evaluate(e)-r.evaluate(e)],[[he],(e,[t])=>-t.evaluate(e)]]},"/":[he,[he,he],(e,[t,r])=>t.evaluate(e)/r.evaluate(e)],"%":[he,[he,he],(e,[t,r])=>t.evaluate(e)%r.evaluate(e)],ln2:[he,[],()=>Math.LN2],pi:[he,[],()=>Math.PI],e:[he,[],()=>Math.E],"^":[he,[he,he],(e,[t,r])=>Math.pow(t.evaluate(e),r.evaluate(e))],sqrt:[he,[he],(e,[t])=>Math.sqrt(t.evaluate(e))],log10:[he,[he],(e,[t])=>Math.log(t.evaluate(e))/Math.LN10],ln:[he,[he],(e,[t])=>Math.log(t.evaluate(e))],log2:[he,[he],(e,[t])=>Math.log(t.evaluate(e))/Math.LN2],sin:[he,[he],(e,[t])=>Math.sin(t.evaluate(e))],cos:[he,[he],(e,[t])=>Math.cos(t.evaluate(e))],tan:[he,[he],(e,[t])=>Math.tan(t.evaluate(e))],asin:[he,[he],(e,[t])=>Math.asin(t.evaluate(e))],acos:[he,[he],(e,[t])=>Math.acos(t.evaluate(e))],atan:[he,[he],(e,[t])=>Math.atan(t.evaluate(e))],min:[he,en(he),(e,t)=>Math.min(...t.map((t=>t.evaluate(e))))],max:[he,en(he),(e,t)=>Math.max(...t.map((t=>t.evaluate(e))))],abs:[he,[he],(e,[t])=>Math.abs(t.evaluate(e))],round:[he,[he],(e,[t])=>{let r=t.evaluate(e);return r<0?-Math.round(-r):Math.round(r)}],floor:[he,[he],(e,[t])=>Math.floor(t.evaluate(e))],ceil:[he,[he],(e,[t])=>Math.ceil(t.evaluate(e))],"filter-==":[fe,[de,ge],(e,[t,r])=>e.properties()[t.value]===r.value],"filter-id-==":[fe,[ge],(e,[t])=>e.id()===t.value],"filter-type-==":[fe,[de],(e,[t])=>e.geometryType()===t.value],"filter-<":[fe,[de,ge],(e,[t,r])=>{let n=e.properties()[t.value],i=r.value;return typeof n==typeof i&&n{let r=e.id(),n=t.value;return typeof r==typeof n&&r":[fe,[de,ge],(e,[t,r])=>{let n=e.properties()[t.value],i=r.value;return typeof n==typeof i&&n>i}],"filter-id->":[fe,[ge],(e,[t])=>{let r=e.id(),n=t.value;return typeof r==typeof n&&r>n}],"filter-<=":[fe,[de,ge],(e,[t,r])=>{let n=e.properties()[t.value],i=r.value;return typeof n==typeof i&&n<=i}],"filter-id-<=":[fe,[ge],(e,[t])=>{let r=e.id(),n=t.value;return typeof r==typeof n&&r<=n}],"filter->=":[fe,[de,ge],(e,[t,r])=>{let n=e.properties()[t.value],i=r.value;return typeof n==typeof i&&n>=i}],"filter-id->=":[fe,[ge],(e,[t])=>{let r=e.id(),n=t.value;return typeof r==typeof n&&r>=n}],"filter-has":[fe,[ge],(e,[t])=>t.value in e.properties()],"filter-has-id":[fe,[],e=>null!==e.id()&&void 0!==e.id()],"filter-type-in":[fe,[we(de)],(e,[t])=>t.value.indexOf(e.geometryType())>=0],"filter-id-in":[fe,[we(ge)],(e,[t])=>t.value.indexOf(e.id())>=0],"filter-in-small":[fe,[de,we(ge)],(e,[t,r])=>r.value.indexOf(e.properties()[t.value])>=0],"filter-in-large":[fe,[de,we(ge)],(e,[t,r])=>function(e,t,r,n){for(;r<=n;){let i=r+n>>1;if(t[i]===e)return!0;t[i]>e?n=i-1:r=i+1}return!1}(e.properties()[t.value],r.value,0,r.value.length-1)],all:{type:fe,overloads:[[[fe,fe],(e,[t,r])=>t.evaluate(e)&&r.evaluate(e)],[en(fe),(e,t)=>{for(let r of t)if(!r.evaluate(e))return!1;return!0}]]},any:{type:fe,overloads:[[[fe,fe],(e,[t,r])=>t.evaluate(e)||r.evaluate(e)],[en(fe),(e,t)=>{for(let r of t)if(r.evaluate(e))return!0;return!1}]]},"!":[fe,[fe],(e,[t])=>!t.evaluate(e)],"is-supported-script":[fe,[de],(e,[t])=>{let r=e.globals&&e.globals.isSupportedScript;return!r||r(t.evaluate(e))}],upcase:[de,[de],(e,[t])=>t.evaluate(e).toUpperCase()],downcase:[de,[de],(e,[t])=>t.evaluate(e).toLowerCase()],concat:[de,en(ge),(e,t)=>t.map((t=>ot(t.evaluate(e)))).join("")],"resolved-locale":[de,[ye],(e,[t])=>t.evaluate(e).resolvedLocale()]});class bn{constructor(e,t){var r;this.expression=e,this._warningHistory={},this._evaluator=new pt,this._defaultValue=t?"color"===(r=t).type&&dn(r.default)?new Ze(0,0,0,0):"color"===r.type?Ze.parse(r.default)||null:"padding"===r.type?Qe.parse(r.default)||null:"variableAnchorOffsetCollection"===r.type?tt.parse(r.default)||null:void 0===r.default?null:r.default:null,this._enumValues=t&&"enum"===t.type?t.values:null}evaluateWithoutErrorHandling(e,t,r,n,i,a){return this._evaluator.globals=e,this._evaluator.feature=t,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)}evaluate(e,t,r,n,i,a){this._evaluator.globals=e,this._evaluator.feature=t||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{let e=this.expression.evaluate(this._evaluator);if(null==e||"number"==typeof e&&e!=e)return this._defaultValue;if(this._enumValues&&!(e in this._enumValues))throw new lt(`Expected value to be one of ${Object.keys(this._enumValues).map((e=>JSON.stringify(e))).join(", ")}, but found ${JSON.stringify(e)} instead.`);return e}catch(e){return this._warningHistory[e.message]||(this._warningHistory[e.message]=!0,typeof console<"u"&&console.warn(e.message)),this._defaultValue}}}function _n(e){return Array.isArray(e)&&e.length>0&&"string"==typeof e[0]&&e[0]in Zr}function wn(e,t){let r=new mt(Zr,tn,[],t?function(e){let t={color:pe,string:de,number:he,enum:de,boolean:fe,formatted:ve,padding:xe,resolvedImage:be,variableAnchorOffsetCollection:_e};return"array"===e.type?we(t[e.value]||ge,e.length):t[e.type]}(t):void 0),n=r.parse(e,void 0,void 0,void 0,t&&"string"===t.type?{typeAnnotation:"coerce"}:void 0);return n?on(new bn(n,t)):sn(r.errors)}class kn{constructor(e,t){this.kind=e,this._styleExpression=t,this.isStateDependent="constant"!==e&&!nn(t.expression)}evaluateWithoutErrorHandling(e,t,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(e,t,r,n,i,a)}evaluate(e,t,r,n,i,a){return this._styleExpression.evaluate(e,t,r,n,i,a)}}class Tn{constructor(e,t,r,n){this.kind=e,this.zoomStops=r,this._styleExpression=t,this.isStateDependent="camera"!==e&&!nn(t.expression),this.interpolationType=n}evaluateWithoutErrorHandling(e,t,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(e,t,r,n,i,a)}evaluate(e,t,r,n,i,a){return this._styleExpression.evaluate(e,t,r,n,i,a)}interpolationFactor(e,t,r){return this.interpolationType?zt.interpolationFactor(this.interpolationType,e,t,r):0}}function An(e,t){let r=wn(e,t);if("error"===r.result)return r;let n=r.value.expression,i=rn(n);if(!i&&!ln(t))return sn([new le("","data expressions not supported")]);let a=an(n,["zoom"]);if(!a&&!cn(t))return sn([new le("","zoom expressions not supported")]);let o=Sn(n);return o||a?o instanceof le?sn([o]):o instanceof zt&&!un(t)?sn([new le("",'"interpolate" expressions cannot be used with this property')]):on(o?new Tn(i?"camera":"composite",r.value,o.labels,o instanceof zt?o.interpolation:void 0):new kn(i?"constant":"source",r.value)):sn([new le("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class Mn{constructor(e,t){this._parameters=e,this._specification=t,se(this,pn(this._parameters,this._specification))}static deserialize(e){return new Mn(e._parameters,e._specification)}static serialize(e){return{_parameters:e._parameters,_specification:e._specification}}}function Sn(e){let t=null;if(e instanceof gt)t=Sn(e.result);else if(e instanceof Dt){for(let r of e.args)if(t=Sn(r),t)break}else(e instanceof At||e instanceof zt)&&e.input instanceof $r&&"zoom"===e.input.name&&(t=e);return t instanceof le||e.eachChild((e=>{let r=Sn(e);r instanceof le?t=r:!t&&r?t=new le("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):t&&r&&t!==r&&(t=new le("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))})),t}function En(e){if(!0===e||!1===e)return!0;if(!Array.isArray(e)||0===e.length)return!1;switch(e[0]){case"has":return e.length>=2&&"$id"!==e[1]&&"$type"!==e[1];case"in":return e.length>=3&&("string"!=typeof e[1]||Array.isArray(e[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==e.length||Array.isArray(e[1])||Array.isArray(e[2]);case"any":case"all":for(let t of e.slice(1))if(!En(t)&&"boolean"!=typeof t)return!1;return!0;default:return!0}}let Cn={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function Ln(e){if(null==e)return{filter:()=>!0,needGeometry:!1};En(e)||(e=zn(e));let t=wn(e,Cn);if("error"===t.result)throw new Error(t.value.map((e=>`${e.key}: ${e.message}`)).join(", "));return{filter:(e,r,n)=>t.value.evaluate(e,r,{},n),needGeometry:Pn(e)}}function In(e,t){return et?1:0}function Pn(e){if(!Array.isArray(e))return!1;if("within"===e[0]||"distance"===e[0])return!0;for(let t=1;t"===t||"<="===t||">="===t?On(e[1],e[2],t):"any"===t?(r=e.slice(1),["any"].concat(r.map(zn))):"all"===t?["all"].concat(e.slice(1).map(zn)):"none"===t?["all"].concat(e.slice(1).map(zn).map(jn)):"in"===t?Dn(e[1],e.slice(2)):"!in"===t?jn(Dn(e[1],e.slice(2))):"has"===t?Rn(e[1]):"!has"!==t||jn(Rn(e[1]));var r}function On(e,t,r){switch(e){case"$type":return[`filter-type-${r}`,t];case"$id":return[`filter-id-${r}`,t];default:return[`filter-${r}`,e,t]}}function Dn(e,t){if(0===t.length)return!1;switch(e){case"$type":return["filter-type-in",["literal",t]];case"$id":return["filter-id-in",["literal",t]];default:return t.length>200&&!t.some((e=>typeof e!=typeof t[0]))?["filter-in-large",e,["literal",t.sort(In)]]:["filter-in-small",e,["literal",t]]}}function Rn(e){switch(e){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",e]}}function jn(e){return["!",e]}function Fn(e){let t=typeof e;if("number"===t||"boolean"===t||"string"===t||null==e)return JSON.stringify(e);if(Array.isArray(e)){let t="[";for(let r of e)t+=`${Fn(r)},`;return`${t}]`}let r=Object.keys(e).sort(),n="{";for(let t=0;tn.maximum?[new oe(t,r,`${r} is greater than the maximum value ${n.maximum}`)]:[]}function Wn(e){let t,r,n,i=e.valueSpec,a=Un(e.value.type),o={},s="categorical"!==a&&void 0===e.value.property,l=!s,c="array"===hn(e.value.stops)&&"array"===hn(e.value.stops[0])&&"object"===hn(e.value.stops[0][0]),u=qn({key:e.key,value:e.value,valueSpec:e.styleSpec.function,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{stops:function(e){if("identity"===a)return[new oe(e.key,e.value,'identity function may not have a "stops" property')];let t=[],r=e.value;return t=t.concat(Hn({key:e.key,value:r,valueSpec:e.valueSpec,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,arrayElementValidator:h})),"array"===hn(r)&&0===r.length&&t.push(new oe(e.key,r,"array must have at least one stop")),t},default:function(e){return e.validateSpec({key:e.key,value:e.value,valueSpec:i,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec})}}});return"identity"===a&&s&&u.push(new oe(e.key,e.value,'missing required property "property"')),"identity"===a||e.value.stops||u.push(new oe(e.key,e.value,'missing required property "stops"')),"exponential"===a&&e.valueSpec.expression&&!un(e.valueSpec)&&u.push(new oe(e.key,e.value,"exponential functions not supported")),e.styleSpec.$version>=8&&(l&&!ln(e.valueSpec)?u.push(new oe(e.key,e.value,"property functions not supported")):s&&!cn(e.valueSpec)&&u.push(new oe(e.key,e.value,"zoom functions not supported"))),"categorical"!==a&&!c||void 0!==e.value.property||u.push(new oe(e.key,e.value,'"property" property is required')),u;function h(e){let t=[],a=e.value,s=e.key;if("array"!==hn(a))return[new oe(s,a,`array expected, ${hn(a)} found`)];if(2!==a.length)return[new oe(s,a,`array length 2 expected, length ${a.length} found`)];if(c){if("object"!==hn(a[0]))return[new oe(s,a,`object expected, ${hn(a[0])} found`)];if(void 0===a[0].zoom)return[new oe(s,a,"object stop key must have zoom")];if(void 0===a[0].value)return[new oe(s,a,"object stop key must have value")];if(n&&n>Un(a[0].zoom))return[new oe(s,a[0].zoom,"stop zoom values must appear in ascending order")];Un(a[0].zoom)!==n&&(n=Un(a[0].zoom),r=void 0,o={}),t=t.concat(qn({key:`${s}[0]`,value:a[0],valueSpec:{zoom:{}},validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:Gn,value:d}}))}else t=t.concat(d({key:`${s}[0]`,value:a[0],valueSpec:{},validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec},a));return _n(Vn(a[1]))?t.concat([new oe(`${s}[1]`,a[1],"expressions are not allowed in function stops.")]):t.concat(e.validateSpec({key:`${s}[1]`,value:a[1],valueSpec:i,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec}))}function d(e,n){let s=hn(e.value),l=Un(e.value),c=null!==e.value?e.value:n;if(t){if(s!==t)return[new oe(e.key,c,`${s} stop domain type must match previous stop domain type ${t}`)]}else t=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new oe(e.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==a){let t=`number expected, ${s} found`;return ln(i)&&void 0===a&&(t+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new oe(e.key,c,t)]}return"categorical"!==a||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==a&&"number"===s&&void 0!==r&&lnew oe(`${e.key}${t.key}`,e.value,t.message)));let r=t.value.expression||t.value._styleExpression.expression;if("property"===e.expressionContext&&"text-font"===e.propertyKey&&!r.outputDefined())return[new oe(e.key,e.value,`Invalid data expression for "${e.propertyKey}". Output values must be contained as literals within the expression.`)];if("property"===e.expressionContext&&"layout"===e.propertyType&&!nn(r))return[new oe(e.key,e.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===e.expressionContext&&!nn(r))return[new oe(e.key,e.value,'"feature-state" data expressions are not supported with filters.')];if(e.expressionContext&&0===e.expressionContext.indexOf("cluster")){if(!an(r,["zoom","feature-state"]))return[new oe(e.key,e.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===e.expressionContext&&!rn(r))return[new oe(e.key,e.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function Xn(e){let t=e.key,r=e.value,n=e.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(Un(r))&&i.push(new oe(t,r,`expected one of [${n.values.join(", ")}], ${JSON.stringify(r)} found`)):-1===Object.keys(n.values).indexOf(Un(r))&&i.push(new oe(t,r,`expected one of [${Object.keys(n.values).join(", ")}], ${JSON.stringify(r)} found`)),i}function Zn(e){return En(Vn(e.value))?Yn(se({},e,{expressionContext:"filter",valueSpec:{value:"boolean"}})):$n(e)}function $n(e){let t=e.value,r=e.key;if("array"!==hn(t))return[new oe(r,t,`array expected, ${hn(t)} found`)];let n,i=e.styleSpec,a=[];if(t.length<1)return[new oe(r,t,"filter array must have at least 1 element")];switch(a=a.concat(Xn({key:`${r}[0]`,value:t[0],valueSpec:i.filter_operator,style:e.style,styleSpec:e.styleSpec})),Un(t[0])){case"<":case"<=":case">":case">=":t.length>=2&&"$type"===Un(t[1])&&a.push(new oe(r,t,`"$type" cannot be use with operator "${t[0]}"`));case"==":case"!=":3!==t.length&&a.push(new oe(r,t,`filter array for operator "${t[0]}" must have 3 elements`));case"in":case"!in":t.length>=2&&(n=hn(t[1]),"string"!==n&&a.push(new oe(`${r}[1]`,t[1],`string expected, ${n} found`)));for(let o=2;o{e in r&&t.push(new oe(n,r[e],`"${e}" is prohibited for ref layers`))})),i.layers.forEach((t=>{Un(t.id)===s&&(e=t)})),e?e.ref?t.push(new oe(n,r.ref,"ref cannot reference another ref layer")):o=Un(e.type):t.push(new oe(n,r.ref,`ref layer "${s}" not found`))}else if("background"!==o)if(r.source){let e=i.sources&&i.sources[r.source],a=e&&Un(e.type);e?"vector"===a&&"raster"===o?t.push(new oe(n,r.source,`layer "${r.id}" requires a raster source`)):"raster-dem"!==a&&"hillshade"===o?t.push(new oe(n,r.source,`layer "${r.id}" requires a raster-dem source`)):"raster"===a&&"raster"!==o?t.push(new oe(n,r.source,`layer "${r.id}" requires a vector source`)):"vector"!==a||r["source-layer"]?"raster-dem"===a&&"hillshade"!==o?t.push(new oe(n,r.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"!==o||!r.paint||!r.paint["line-gradient"]||"geojson"===a&&e.lineMetrics||t.push(new oe(n,r,`layer "${r.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):t.push(new oe(n,r,`layer "${r.id}" must specify a "source-layer"`)):t.push(new oe(n,r.source,`source "${r.source}" not found`))}else t.push(new oe(n,r,'missing required property "source"'));return t=t.concat(qn({key:n,value:r,valueSpec:a.layer,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*":()=>[],type:()=>e.validateSpec({key:`${n}.type`,value:r.type,valueSpec:a.layer.type,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,object:r,objectKey:"type"}),filter:Zn,layout:e=>qn({layer:r,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*":e=>Qn(se({layerType:o},e))}}),paint:e=>qn({layer:r,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*":e=>Jn(se({layerType:o},e))}})}})),t}function ti(e){let t=e.value,r=e.key,n=hn(t);return"string"!==n?[new oe(r,t,`string expected, ${n} found`)]:[]}let ri={promoteId:function({key:e,value:t}){if("string"===hn(t))return ti({key:e,value:t});{let r=[];for(let n in t)r.push(...ti({key:`${e}.${n}`,value:t[n]}));return r}}};function ni(e){let t=e.value,r=e.key,n=e.styleSpec,i=e.style,a=e.validateSpec;if(!t.type)return[new oe(r,t,'"type" is required')];let o,s=Un(t.type);switch(s){case"vector":case"raster":return o=qn({key:r,value:t,valueSpec:n[`source_${s.replace("-","_")}`],style:e.style,styleSpec:n,objectElementValidators:ri,validateSpec:a}),o;case"raster-dem":return o=function(e){var t;let r=null!==(t=e.sourceName)&&void 0!==t?t:"",n=e.value,i=e.styleSpec,a=i.source_raster_dem,o=e.style,s=[],l=hn(n);if(void 0===n)return s;if("object"!==l)return s.push(new oe("source_raster_dem",n,`object expected, ${l} found`)),s;let c="custom"===Un(n.encoding),u=["redFactor","greenFactor","blueFactor","baseShift"],h=e.value.encoding?`"${e.value.encoding}"`:"Default";for(let t in n)!c&&u.includes(t)?s.push(new oe(t,n[t],`In "${r}": "${t}" is only valid when "encoding" is set to "custom". ${h} encoding found`)):a[t]?s=s.concat(e.validateSpec({key:t,value:n[t],valueSpec:a[t],validateSpec:e.validateSpec,style:o,styleSpec:i})):s.push(new oe(t,n[t],`unknown property "${t}"`));return s}({sourceName:r,value:t,style:e.style,styleSpec:n,validateSpec:a}),o;case"geojson":if(o=qn({key:r,value:t,valueSpec:n.source_geojson,style:i,styleSpec:n,validateSpec:a,objectElementValidators:ri}),t.cluster)for(let e in t.clusterProperties){let[n,i]=t.clusterProperties[e],s="string"==typeof n?[n,["accumulated"],["get",e]]:n;o.push(...Yn({key:`${r}.${e}.map`,value:i,validateSpec:a,expressionContext:"cluster-map"})),o.push(...Yn({key:`${r}.${e}.reduce`,value:s,validateSpec:a,expressionContext:"cluster-reduce"}))}return o;case"video":return qn({key:r,value:t,valueSpec:n.source_video,style:i,validateSpec:a,styleSpec:n});case"image":return qn({key:r,value:t,valueSpec:n.source_image,style:i,validateSpec:a,styleSpec:n});case"canvas":return[new oe(r,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return Xn({key:`${r}.type`,value:t.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:i,validateSpec:a,styleSpec:n})}}function ii(e){let t=e.value,r=e.styleSpec,n=r.light,i=e.style,a=[],o=hn(t);if(void 0===t)return a;if("object"!==o)return a=a.concat([new oe("light",t,`object expected, ${o} found`)]),a;for(let o in t){let s=o.match(/^(.*)-transition$/);a=a.concat(s&&n[s[1]]&&n[s[1]].transition?e.validateSpec({key:o,value:t[o],valueSpec:r.transition,validateSpec:e.validateSpec,style:i,styleSpec:r}):n[o]?e.validateSpec({key:o,value:t[o],valueSpec:n[o],validateSpec:e.validateSpec,style:i,styleSpec:r}):[new oe(o,t[o],`unknown property "${o}"`)])}return a}function ai(e){let t=e.value,r=e.styleSpec,n=r.sky,i=e.style,a=hn(t);if(void 0===t)return[];if("object"!==a)return[new oe("sky",t,`object expected, ${a} found`)];let o=[];for(let a in t)o=o.concat(n[a]?e.validateSpec({key:a,value:t[a],valueSpec:n[a],style:i,styleSpec:r}):[new oe(a,t[a],`unknown property "${a}"`)]);return o}function oi(e){let t=e.value,r=e.styleSpec,n=r.terrain,i=e.style,a=[],o=hn(t);if(void 0===t)return a;if("object"!==o)return a=a.concat([new oe("terrain",t,`object expected, ${o} found`)]),a;for(let o in t)a=a.concat(n[o]?e.validateSpec({key:o,value:t[o],valueSpec:n[o],validateSpec:e.validateSpec,style:i,styleSpec:r}):[new oe(o,t[o],`unknown property "${o}"`)]);return a}function si(e){let t=[],r=e.value,n=e.key;if(Array.isArray(r)){let i=[],a=[];for(let o in r)r[o].id&&i.includes(r[o].id)&&t.push(new oe(n,r,`all the sprites' ids must be unique, but ${r[o].id} is duplicated`)),i.push(r[o].id),r[o].url&&a.includes(r[o].url)&&t.push(new oe(n,r,`all the sprites' URLs must be unique, but ${r[o].url} is duplicated`)),a.push(r[o].url),t=t.concat(qn({key:`${n}[${o}]`,value:r[o],valueSpec:{id:{type:"string",required:!0},url:{type:"string",required:!0}},validateSpec:e.validateSpec}));return t}return ti({key:n,value:r})}let li={"*":()=>[],array:Hn,boolean:function(e){let t=e.value,r=e.key,n=hn(t);return"boolean"!==n?[new oe(r,t,`boolean expected, ${n} found`)]:[]},number:Gn,color:function(e){let t=e.key,r=e.value,n=hn(r);return"string"!==n?[new oe(t,r,`color expected, ${n} found`)]:Ze.parse(String(r))?[]:[new oe(t,r,`color expected, "${r}" found`)]},constants:Nn,enum:Xn,filter:Zn,function:Wn,layer:ei,object:qn,source:ni,light:ii,sky:ai,terrain:oi,projection:function(e){let t=e.value,r=e.styleSpec,n=r.projection,i=e.style,a=hn(t);if(void 0===t)return[];if("object"!==a)return[new oe("projection",t,`object expected, ${a} found`)];let o=[];for(let a in t)o=o.concat(n[a]?e.validateSpec({key:a,value:t[a],valueSpec:n[a],style:i,styleSpec:r}):[new oe(a,t[a],`unknown property "${a}"`)]);return o},string:ti,formatted:function(e){return 0===ti(e).length?[]:Yn(e)},resolvedImage:function(e){return 0===ti(e).length?[]:Yn(e)},padding:function(e){let t=e.key,r=e.value;if("array"===hn(r)){if(r.length<1||r.length>4)return[new oe(t,r,`padding requires 1 to 4 values; ${r.length} values found`)];let n={type:"number"},i=[];for(let a=0;a[]}})),e.constants&&(r=r.concat(Nn({key:"constants",value:e.constants,style:e,styleSpec:t,validateSpec:ci}))),fi(r)}function di(e){return function(t){return e(f(d({},t),{validateSpec:ci}))}}function fi(e){return[].concat(e).sort(((e,t)=>e.line-t.line))}function pi(e){return function(...t){return fi(e.apply(this,t))}}hi.source=pi(di(ni)),hi.sprite=pi(di(si)),hi.glyphs=pi(di(ui)),hi.light=pi(di(ii)),hi.sky=pi(di(ai)),hi.terrain=pi(di(oi)),hi.layer=pi(di(ei)),hi.filter=pi(di(Zn)),hi.paintProperty=pi(di(Jn)),hi.layoutProperty=pi(di(Qn));let mi=hi,gi=mi.light,yi=mi.sky,vi=mi.paintProperty,xi=mi.layoutProperty;function bi(e,t){let r=!1;if(t&&t.length)for(let n of t)e.fire(new W(new Error(n.message))),r=!0;return r}class _i{constructor(e,t,r){let n=this.cells=[];if(e instanceof ArrayBuffer){this.arrayBuffer=e;let i=new Int32Array(this.arrayBuffer);e=i[0],this.d=(t=i[1])+2*(r=i[2]);for(let e=0;e=c[l+0]&&n>=c[l+1])?(o[h]=!0,a.push(i[h])):o[h]=!1}}}}_forEachCell(e,t,r,n,i,a,o,s){let l=this._convertToCellCoord(e),c=this._convertToCellCoord(t),u=this._convertToCellCoord(r),h=this._convertToCellCoord(n);for(let d=l;d<=u;d++)for(let l=c;l<=h;l++){let c=this.d*l+d;if((!s||s(this._convertFromCellCoord(d),this._convertFromCellCoord(l),this._convertFromCellCoord(d+1),this._convertFromCellCoord(l+1)))&&i.call(this,e,t,r,n,c,a,o,s))return}}_convertFromCellCoord(e){return(e-this.padding)/this.scale}_convertToCellCoord(e){return Math.max(0,Math.min(this.d-1,Math.floor(e*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let e=this.cells,t=3+this.cells.length+1+1,r=0;for(let e=0;e=0)continue;let a=e[n];i[n]=wi[r].shallow.indexOf(n)>=0?a:Si(a,t)}e instanceof Error&&(i.message=e.message)}if(i.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==r&&(i.$name=r),i}function Ei(e){if(Mi(e))return e;if(Array.isArray(e))return e.map(Ei);if("object"!=typeof e)throw new Error("can't deserialize object of type "+typeof e);let t=Ai(e)||"Object";if(!wi[t])throw new Error(`can't deserialize unregistered class ${t}`);let{klass:r}=wi[t];if(!r)throw new Error(`can't deserialize unregistered class ${t}`);if(r.deserialize)return r.deserialize(e);let n=Object.create(r.prototype);for(let r of Object.keys(e)){if("$name"===r)continue;let i=e[r];n[r]=wi[t].shallow.indexOf(r)>=0?i:Ei(i)}return n}class Ci{constructor(){this.first=!0}update(e,t){let r=Math.floor(e);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=e,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=t):this.lastFloorZoome>=12272&&e<=12287,Ii=e=>e>=12288&&e<=12351,Pi=e=>e>=12448&&e<=12543,zi=e=>e>=12736&&e<=12783,Oi=e=>e>=12800&&e<=13055,Di=e=>e>=13056&&e<=13311,Ri=e=>e>=65040&&e<=65055,ji=e=>e>=65072&&e<=65103,Fi=e=>e>=65104&&e<=65135,Bi=e=>e>=65280&&e<=65519;function Ni(e){for(let t of e)if(Wi(t.charCodeAt(0)))return!0;return!1}function Ui(e){for(let t of e)if(!Hi(t.charCodeAt(0)))return!1;return!0}function Vi(e){let t=e.map((e=>{try{return new RegExp(`\\p{sc=${e}}`,"u").source}catch{return null}})).filter((e=>e));return new RegExp(t.join("|"),"u")}let qi=Vi(["Arab","Dupl","Mong","Ougr","Syrc"]);function Hi(e){return!qi.test(String.fromCodePoint(e))}let Gi=Vi(["Bopo","Hani","Hira","Kana","Kits","Nshu","Tang","Yiii"]);function Wi(e){return!(746!==e&&747!==e&&(e<4352||!(ji(e)&&!(e>=65097&&e<=65103)||Di(e)||zi(e)||!(!Ii(e)||e>=12296&&e<=12305||e>=12308&&e<=12319||12336===e)||Oi(e)||Li(e)||(e=>e>=12688&&e<=12703)(e)||Pi(e)&&12540!==e||!(!Bi(e)||65288===e||65289===e||65293===e||e>=65306&&e<=65310||65339===e||65341===e||65343===e||e>=65371&&e<=65503||65507===e||e>=65512&&e<=65519)||!(!Fi(e)||e>=65112&&e<=65118||e>=65123&&e<=65126)||Ri(e)||(e=>e>=19904&&e<=19967)(e)||new RegExp("\\p{sc=Cans}","u").test(String.fromCodePoint(e))||new RegExp("\\p{sc=Hang}","u").test(String.fromCodePoint(e))||Gi.test(String.fromCodePoint(e)))))}function Yi(e){return!(Wi(e)||(t=e,(e=>e>=128&&e<=255)(t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||(e=>e>=8192&&e<=8303)(t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||(e=>e>=8448&&e<=8527)(t)||(e=>e>=8528&&e<=8591)(t)||(e=>e>=8960&&e<=9215)(t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||(e=>e>=9216&&e<=9279)(t)&&9251!==t||(e=>e>=9280&&e<=9311)(t)||(e=>e>=9312&&e<=9471)(t)||(e=>e>=9632&&e<=9727)(t)||(e=>e>=9728&&e<=9983)(t)&&!(t>=9754&&t<=9759)||(e=>e>=11008&&e<=11263)(t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||Ii(t)||Pi(t)||(e=>e>=57344&&e<=63743)(t)||ji(t)||Fi(t)||Bi(t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t));var t}let Xi=Vi(["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 Zi(e){return Xi.test(String.fromCodePoint(e))}function $i(e,t){return!(!t&&Zi(e)||e>=2304&&e<=3583||e>=3840&&e<=4255||(e=>e>=6016&&e<=6143)(e))}function Ki(e){for(let t of e)if(Zi(t.charCodeAt(0)))return!0;return!1}let Ji=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus="unavailable",this.pluginURL=null}setState(e){this.pluginStatus=e.pluginStatus,this.pluginURL=e.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(e){this.applyArabicShaping=e.applyArabicShaping,this.processBidirectionalText=e.processBidirectionalText,this.processStyledBidirectionalText=e.processStyledBidirectionalText}isParsed(){return null!=this.applyArabicShaping&&null!=this.processBidirectionalText&&null!=this.processStyledBidirectionalText}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class Qi{constructor(e,t){this.zoom=e,t?(this.now=t.now,this.fadeDuration=t.fadeDuration,this.zoomHistory=t.zoomHistory,this.transition=t.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Ci,this.transition={})}isSupportedScript(e){return function(e,t){for(let r of e)if(!$i(r.charCodeAt(0),t))return!1;return!0}(e,"loaded"===Ji.getRTLTextPluginStatus())}crossFadingFactor(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let e=this.zoom,t=e-Math.floor(e),r=this.crossFadingFactor();return e>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:t+(1-t)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*t}}}class ea{constructor(e,t){this.property=e,this.value=t,this.expression=function(e,t){if(dn(e))return new Mn(e,t);if(_n(e)){let r=An(e,t);if("error"===r.result)throw new Error(r.value.map((e=>`${e.key}: ${e.message}`)).join(", "));return r.value}{let r=e;return"color"===t.type&&"string"==typeof e?r=Ze.parse(e):"padding"!==t.type||"number"!=typeof e&&!Array.isArray(e)?"variableAnchorOffsetCollection"===t.type&&Array.isArray(e)&&(r=tt.parse(e)):r=Qe.parse(e),{kind:"constant",evaluate:()=>r}}}(void 0===t?e.specification.default:t,e.specification)}isDataDriven(){return"source"===this.expression.kind||"composite"===this.expression.kind}possiblyEvaluate(e,t,r){return this.property.possiblyEvaluate(this,e,t,r)}}class ta{constructor(e){this.property=e,this.value=new ea(e,void 0)}transitioned(e,t){return new na(this.property,this.value,t,x({},e.transition,this.transition),e.now)}untransitioned(){return new na(this.property,this.value,null,{},0)}}class ra{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues)}getValue(e){return k(this._values[e].value.value)}setValue(e,t){Object.prototype.hasOwnProperty.call(this._values,e)||(this._values[e]=new ta(this._values[e].property)),this._values[e].value=new ea(this._values[e].property,null===t?void 0:k(t))}getTransition(e){return k(this._values[e].transition)}setTransition(e,t){Object.prototype.hasOwnProperty.call(this._values,e)||(this._values[e]=new ta(this._values[e].property)),this._values[e].transition=k(t)||void 0}serialize(){let e={};for(let t of Object.keys(this._values)){let r=this.getValue(t);void 0!==r&&(e[t]=r);let n=this.getTransition(t);void 0!==n&&(e[`${t}-transition`]=n)}return e}transitioned(e,t){let r=new ia(this._properties);for(let n of Object.keys(this._values))r._values[n]=this._values[n].transitioned(e,t._values[n]);return r}untransitioned(){let e=new ia(this._properties);for(let t of Object.keys(this._values))e._values[t]=this._values[t].untransitioned();return e}}class na{constructor(e,t,r,n,i){this.property=e,this.value=t,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,e.specification.transition&&(n.delay||n.duration)&&(this.prior=r)}possiblyEvaluate(e,t,r){let n=e.now||0,i=this.value.possiblyEvaluate(e,t,r),a=this.prior;if(a){if(n>this.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;let t=e*e,r=t*e;return 4*(e<.5?r:3*(e-t)+r-.75)}(o))}}return i}}class ia{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitioningPropertyValues)}possiblyEvaluate(e,t,r){let n=new sa(this._properties);for(let i of Object.keys(this._values))n._values[i]=this._values[i].possiblyEvaluate(e,t,r);return n}hasTransition(){for(let e of Object.keys(this._values))if(this._values[e].prior)return!0;return!1}}class aa{constructor(e){this._properties=e,this._values=Object.create(e.defaultPropertyValues)}hasValue(e){return void 0!==this._values[e].value}getValue(e){return k(this._values[e].value)}setValue(e,t){this._values[e]=new ea(this._values[e].property,null===t?void 0:k(t))}serialize(){let e={};for(let t of Object.keys(this._values)){let r=this.getValue(t);void 0!==r&&(e[t]=r)}return e}possiblyEvaluate(e,t,r){let n=new sa(this._properties);for(let i of Object.keys(this._values))n._values[i]=this._values[i].possiblyEvaluate(e,t,r);return n}}class oa{constructor(e,t,r){this.property=e,this.value=t,this.parameters=r}isConstant(){return"constant"===this.value.kind}constantOr(e){return"constant"===this.value.kind?this.value.value:e}evaluate(e,t,r,n){return this.property.evaluate(this.value,this.parameters,e,t,r,n)}}class sa{constructor(e){this._properties=e,this._values=Object.create(e.defaultPossiblyEvaluatedValues)}get(e){return this._values[e]}}class la{constructor(e){this.specification=e}possiblyEvaluate(e,t){if(e.isDataDriven())throw new Error("Value should not be data driven");return e.expression.evaluate(t)}interpolate(e,t,r){let n=Pt[this.specification.type];return n?n(e,t,r):e}}class ca{constructor(e,t){this.specification=e,this.overrides=t}possiblyEvaluate(e,t,r,n){return new oa(this,"constant"===e.expression.kind||"camera"===e.expression.kind?{kind:"constant",value:e.expression.evaluate(t,null,{},r,n)}:e.expression,t)}interpolate(e,t,r){if("constant"!==e.value.kind||"constant"!==t.value.kind)return e;if(void 0===e.value.value||void 0===t.value.value)return new oa(this,{kind:"constant",value:void 0},e.parameters);let n=Pt[this.specification.type];if(n){let i=n(e.value.value,t.value.value,r);return new oa(this,{kind:"constant",value:i},e.parameters)}return e}evaluate(e,t,r,n,i,a){return"constant"===e.kind?e.value:e.evaluate(t,r,n,i,a)}}class ua extends ca{possiblyEvaluate(e,t,r,n){if(void 0===e.value)return new oa(this,{kind:"constant",value:void 0},t);if("constant"===e.expression.kind){let i=e.expression.evaluate(t,null,{},r,n),a="resolvedImage"===e.property.specification.type&&"string"!=typeof i?i.name:i,o=this._calculate(a,a,a,t);return new oa(this,{kind:"constant",value:o},t)}if("camera"===e.expression.kind){let r=this._calculate(e.expression.evaluate({zoom:t.zoom-1}),e.expression.evaluate({zoom:t.zoom}),e.expression.evaluate({zoom:t.zoom+1}),t);return new oa(this,{kind:"constant",value:r},t)}return new oa(this,e.expression,t)}evaluate(e,t,r,n,i,a){if("source"===e.kind){let o=e.evaluate(t,r,n,i,a);return this._calculate(o,o,o,t)}return"composite"===e.kind?this._calculate(e.evaluate({zoom:Math.floor(t.zoom)-1},r,n),e.evaluate({zoom:Math.floor(t.zoom)},r,n),e.evaluate({zoom:Math.floor(t.zoom)+1},r,n),t):e.value}_calculate(e,t,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:r,to:t}}interpolate(e){return e}}class ha{constructor(e){this.specification=e}possiblyEvaluate(e,t,r,n){if(void 0!==e.value){if("constant"===e.expression.kind){let i=e.expression.evaluate(t,null,{},r,n);return this._calculate(i,i,i,t)}return this._calculate(e.expression.evaluate(new Qi(Math.floor(t.zoom-1),t)),e.expression.evaluate(new Qi(Math.floor(t.zoom),t)),e.expression.evaluate(new Qi(Math.floor(t.zoom+1),t)),t)}}_calculate(e,t,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:r,to:t}}interpolate(e){return e}}class da{constructor(e){this.specification=e}possiblyEvaluate(e,t,r,n){return!!e.expression.evaluate(t,null,{},r,n)}interpolate(){return!1}}class fa{constructor(e){this.properties=e,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let t in e){let r=e[t];r.specification.overridable&&this.overridableProperties.push(t);let n=this.defaultPropertyValues[t]=new ea(r,void 0),i=this.defaultTransitionablePropertyValues[t]=new ta(r);this.defaultTransitioningPropertyValues[t]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[t]=n.possiblyEvaluate({})}}}ki("DataDrivenProperty",ca),ki("DataConstantProperty",la),ki("CrossFadedDataDrivenProperty",ua),ki("CrossFadedProperty",ha),ki("ColorRampProperty",da);let pa="-transition";class ma extends Y{constructor(e,t){if(super(),this.id=e.id,this.type=e.type,this._featureFilter={filter:()=>!0,needGeometry:!1},"custom"!==e.type&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,"background"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),t.layout&&(this._unevaluatedLayout=new aa(t.layout)),t.paint)){this._transitionablePaint=new ra(t.paint);for(let t in e.paint)this.setPaintProperty(t,e.paint[t],{validate:!1});for(let t in e.layout)this.setLayoutProperty(t,e.layout[t],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new sa(t.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(e){return"visibility"===e?this.visibility:this._unevaluatedLayout.getValue(e)}setLayoutProperty(e,t,r={}){null!=t&&this._validate(xi,`layers.${this.id}.layout.${e}`,e,t,r)||("visibility"!==e?this._unevaluatedLayout.setValue(e,t):this.visibility=t)}getPaintProperty(e){return e.endsWith(pa)?this._transitionablePaint.getTransition(e.slice(0,-11)):this._transitionablePaint.getValue(e)}setPaintProperty(e,t,r={}){if(null!=t&&this._validate(vi,`layers.${this.id}.paint.${e}`,e,t,r))return!1;if(e.endsWith(pa))return this._transitionablePaint.setTransition(e.slice(0,-11),t||void 0),!1;{let r=this._transitionablePaint._values[e],n="cross-faded-data-driven"===r.property.specification["property-type"],i=r.value.isDataDriven(),a=r.value;this._transitionablePaint.setValue(e,t),this._handleSpecialPaintPropertyUpdate(e);let o=this._transitionablePaint._values[e].value;return o.isDataDriven()||i||n||this._handleOverridablePaintPropertyUpdate(e,a,o)}}_handleSpecialPaintPropertyUpdate(e){}_handleOverridablePaintPropertyUpdate(e,t,r){return!1}isHidden(e){return!!(this.minzoom&&e=this.maxzoom)||"none"===this.visibility}updateTransitions(e){this._transitioningPaint=this._transitionablePaint.transitioned(e,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(e,t){e.getCrossfadeParameters&&(this._crossfadeParameters=e.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(e,void 0,t)),this.paint=this._transitioningPaint.possiblyEvaluate(e,void 0,t)}serialize(){let e={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&&(e.layout=e.layout||{},e.layout.visibility=this.visibility),w(e,((e,t)=>!(void 0===e||"layout"===t&&!Object.keys(e).length||"paint"===t&&!Object.keys(e).length)))}_validate(e,t,r,n,i={}){return(!i||!1!==i.validate)&&bi(this,e.call(mi,{key:t,layerType:this.type,objectKey:r,value:n,styleSpec:X,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let e in this.paint._values){let t=this.paint.get(e);if(t instanceof oa&&ln(t.property.specification)&&("source"===t.value.kind||"composite"===t.value.kind)&&t.value.isStateDependent)return!0}return!1}}let ga={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class ya{constructor(e,t){this._structArray=e,this._pos1=t*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class va{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(e,t){return e._trim(),t&&(e.isTransferred=!0,t.push(e.arrayBuffer)),{length:e.length,arrayBuffer:e.arrayBuffer}}static deserialize(e){let t=Object.create(this.prototype);return t.arrayBuffer=e.arrayBuffer,t.length=e.length,t.capacity=e.arrayBuffer.byteLength/t.bytesPerElement,t._refreshViews(),t}_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(e){this.reserve(e),this.length=e}reserve(e){if(e>this.capacity){this.capacity=Math.max(e,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let t=this.uint8;this._refreshViews(),t&&this.uint8.set(t)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}}function xa(e,t=1){let r=0,n=0;return{members:e.map((e=>{let i=ga[e.type].BYTES_PER_ELEMENT,a=r=ba(r,Math.max(t,i)),o=e.components||1;return n=Math.max(n,i),r+=i*o,{name:e.name,type:e.type,components:o,offset:a}})),size:ba(r,Math.max(n,t)),alignment:t}}function ba(e,t){return Math.ceil(e/t)*t}class _a extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t){let r=this.length;return this.resize(r+1),this.emplace(r,e,t)}emplace(e,t,r){let n=2*e;return this.int16[n+0]=t,this.int16[n+1]=r,e}}_a.prototype.bytesPerElement=4,ki("StructArrayLayout2i4",_a);class wa extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r){let n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)}emplace(e,t,r,n){let i=3*e;return this.int16[i+0]=t,this.int16[i+1]=r,this.int16[i+2]=n,e}}wa.prototype.bytesPerElement=6,ki("StructArrayLayout3i6",wa);class ka extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,n){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,r,n)}emplace(e,t,r,n,i){let a=4*e;return this.int16[a+0]=t,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,e}}ka.prototype.bytesPerElement=8,ki("StructArrayLayout4i8",ka);class Ta extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)}emplace(e,t,r,n,i,a,o){let s=6*e;return this.int16[s+0]=t,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e}}Ta.prototype.bytesPerElement=12,ki("StructArrayLayout2i4i12",Ta);class Aa extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)}emplace(e,t,r,n,i,a,o){let s=4*e,l=8*e;return this.int16[s+0]=t,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,e}}Aa.prototype.bytesPerElement=8,ki("StructArrayLayout2i4ub8",Aa);class Ma extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t){let r=this.length;return this.resize(r+1),this.emplace(r,e,t)}emplace(e,t,r){let n=2*e;return this.float32[n+0]=t,this.float32[n+1]=r,e}}Ma.prototype.bytesPerElement=8,ki("StructArrayLayout2f8",Ma);class Sa extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a,o,s,l,c){let u=this.length;return this.resize(u+1),this.emplace(u,e,t,r,n,i,a,o,s,l,c)}emplace(e,t,r,n,i,a,o,s,l,c,u){let h=10*e;return this.uint16[h+0]=t,this.uint16[h+1]=r,this.uint16[h+2]=n,this.uint16[h+3]=i,this.uint16[h+4]=a,this.uint16[h+5]=o,this.uint16[h+6]=s,this.uint16[h+7]=l,this.uint16[h+8]=c,this.uint16[h+9]=u,e}}Sa.prototype.bytesPerElement=20,ki("StructArrayLayout10ui20",Sa);class Ea extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a,o,s,l,c,u,h){let d=this.length;return this.resize(d+1),this.emplace(d,e,t,r,n,i,a,o,s,l,c,u,h)}emplace(e,t,r,n,i,a,o,s,l,c,u,h,d){let f=12*e;return this.int16[f+0]=t,this.int16[f+1]=r,this.int16[f+2]=n,this.int16[f+3]=i,this.uint16[f+4]=a,this.uint16[f+5]=o,this.uint16[f+6]=s,this.uint16[f+7]=l,this.int16[f+8]=c,this.int16[f+9]=u,this.int16[f+10]=h,this.int16[f+11]=d,e}}Ea.prototype.bytesPerElement=24,ki("StructArrayLayout4i4ui4i24",Ea);class Ca extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r){let n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)}emplace(e,t,r,n){let i=3*e;return this.float32[i+0]=t,this.float32[i+1]=r,this.float32[i+2]=n,e}}Ca.prototype.bytesPerElement=12,ki("StructArrayLayout3f12",Ca);class La extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.uint32[1*e+0]=t,e}}La.prototype.bytesPerElement=4,ki("StructArrayLayout1ul4",La);class Ia extends va{_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(e,t,r,n,i,a,o,s,l){let c=this.length;return this.resize(c+1),this.emplace(c,e,t,r,n,i,a,o,s,l)}emplace(e,t,r,n,i,a,o,s,l,c){let u=10*e,h=5*e;return this.int16[u+0]=t,this.int16[u+1]=r,this.int16[u+2]=n,this.int16[u+3]=i,this.int16[u+4]=a,this.int16[u+5]=o,this.uint32[h+3]=s,this.uint16[u+8]=l,this.uint16[u+9]=c,e}}Ia.prototype.bytesPerElement=20,ki("StructArrayLayout6i1ul2ui20",Ia);class Pa extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)}emplace(e,t,r,n,i,a,o){let s=6*e;return this.int16[s+0]=t,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e}}Pa.prototype.bytesPerElement=12,ki("StructArrayLayout2i2i2i12",Pa);class za extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i){let a=this.length;return this.resize(a+1),this.emplace(a,e,t,r,n,i)}emplace(e,t,r,n,i,a){let o=4*e,s=8*e;return this.float32[o+0]=t,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,e}}za.prototype.bytesPerElement=16,ki("StructArrayLayout2f1f2i16",za);class Oa extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)}emplace(e,t,r,n,i,a,o){let s=16*e,l=4*e,c=8*e;return this.uint8[s+0]=t,this.uint8[s+1]=r,this.float32[l+1]=n,this.float32[l+2]=i,this.int16[c+6]=a,this.int16[c+7]=o,e}}Oa.prototype.bytesPerElement=16,ki("StructArrayLayout2ub2f2i16",Oa);class Da extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r){let n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)}emplace(e,t,r,n){let i=3*e;return this.uint16[i+0]=t,this.uint16[i+1]=r,this.uint16[i+2]=n,e}}Da.prototype.bytesPerElement=6,ki("StructArrayLayout3ui6",Da);class Ra extends va{_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(e,t,r,n,i,a,o,s,l,c,u,h,d,f,p,m,g){let y=this.length;return this.resize(y+1),this.emplace(y,e,t,r,n,i,a,o,s,l,c,u,h,d,f,p,m,g)}emplace(e,t,r,n,i,a,o,s,l,c,u,h,d,f,p,m,g,y){let v=24*e,x=12*e,b=48*e;return this.int16[v+0]=t,this.int16[v+1]=r,this.uint16[v+2]=n,this.uint16[v+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[v+10]=l,this.uint16[v+11]=c,this.uint16[v+12]=u,this.float32[x+7]=h,this.float32[x+8]=d,this.uint8[b+36]=f,this.uint8[b+37]=p,this.uint8[b+38]=m,this.uint32[x+10]=g,this.int16[v+22]=y,e}}Ra.prototype.bytesPerElement=48,ki("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",Ra);class ja extends va{_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(e,t,r,n,i,a,o,s,l,c,u,h,d,f,p,m,g,y,v,x,b,_,w,k,T,A,M,S){let E=this.length;return this.resize(E+1),this.emplace(E,e,t,r,n,i,a,o,s,l,c,u,h,d,f,p,m,g,y,v,x,b,_,w,k,T,A,M,S)}emplace(e,t,r,n,i,a,o,s,l,c,u,h,d,f,p,m,g,y,v,x,b,_,w,k,T,A,M,S,E){let C=32*e,L=16*e;return this.int16[C+0]=t,this.int16[C+1]=r,this.int16[C+2]=n,this.int16[C+3]=i,this.int16[C+4]=a,this.int16[C+5]=o,this.int16[C+6]=s,this.int16[C+7]=l,this.uint16[C+8]=c,this.uint16[C+9]=u,this.uint16[C+10]=h,this.uint16[C+11]=d,this.uint16[C+12]=f,this.uint16[C+13]=p,this.uint16[C+14]=m,this.uint16[C+15]=g,this.uint16[C+16]=y,this.uint16[C+17]=v,this.uint16[C+18]=x,this.uint16[C+19]=b,this.uint16[C+20]=_,this.uint16[C+21]=w,this.uint16[C+22]=k,this.uint32[L+12]=T,this.float32[L+13]=A,this.float32[L+14]=M,this.uint16[C+30]=S,this.uint16[C+31]=E,e}}ja.prototype.bytesPerElement=64,ki("StructArrayLayout8i15ui1ul2f2ui64",ja);class Fa extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.float32[1*e+0]=t,e}}Fa.prototype.bytesPerElement=4,ki("StructArrayLayout1f4",Fa);class Ba extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r){let n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)}emplace(e,t,r,n){let i=3*e;return this.uint16[6*e+0]=t,this.float32[i+1]=r,this.float32[i+2]=n,e}}Ba.prototype.bytesPerElement=12,ki("StructArrayLayout1ui2f12",Ba);class Na extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r){let n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)}emplace(e,t,r,n){let i=4*e;return this.uint32[2*e+0]=t,this.uint16[i+2]=r,this.uint16[i+3]=n,e}}Na.prototype.bytesPerElement=8,ki("StructArrayLayout1ul2ui8",Na);class Ua extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t){let r=this.length;return this.resize(r+1),this.emplace(r,e,t)}emplace(e,t,r){let n=2*e;return this.uint16[n+0]=t,this.uint16[n+1]=r,e}}Ua.prototype.bytesPerElement=4,ki("StructArrayLayout2ui4",Ua);class Va extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.uint16[1*e+0]=t,e}}Va.prototype.bytesPerElement=2,ki("StructArrayLayout1ui2",Va);class qa extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r,n){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,r,n)}emplace(e,t,r,n,i){let a=4*e;return this.float32[a+0]=t,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,e}}qa.prototype.bytesPerElement=16,ki("StructArrayLayout4f16",qa);class Ha extends ya{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 a(this.anchorPointX,this.anchorPointY)}}Ha.prototype.size=20;class Ga extends Ia{get(e){return new Ha(this,e)}}ki("CollisionBoxArray",Ga);class Wa extends ya{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(e){this._structArray.uint8[this._pos1+37]=e}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(e){this._structArray.uint8[this._pos1+38]=e}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(e){this._structArray.uint32[this._pos4+10]=e}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Wa.prototype.size=48;class Ya extends Ra{get(e){return new Wa(this,e)}}ki("PlacedSymbolArray",Ya);class Xa extends ya{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(e){this._structArray.uint32[this._pos4+12]=e}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]}}Xa.prototype.size=64;class Za extends ja{get(e){return new Xa(this,e)}}ki("SymbolInstanceArray",Za);class $a extends Fa{getoffsetX(e){return this.float32[1*e+0]}}ki("GlyphOffsetArray",$a);class Ka extends wa{getx(e){return this.int16[3*e+0]}gety(e){return this.int16[3*e+1]}gettileUnitDistanceFromAnchor(e){return this.int16[3*e+2]}}ki("SymbolLineVertexArray",Ka);class Ja extends ya{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]}}Ja.prototype.size=12;class Qa extends Ba{get(e){return new Ja(this,e)}}ki("TextAnchorOffsetArray",Qa);class eo extends ya{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]}}eo.prototype.size=8;class to extends Na{get(e){return new eo(this,e)}}ki("FeatureIndexArray",to);class ro extends _a{}class no extends _a{}class io extends _a{}class ao extends Ta{}class oo extends Aa{}class so extends Ma{}class lo extends Sa{}class co extends Ea{}class uo extends Ca{}class ho extends La{}class fo extends Pa{}class po extends Oa{}class mo extends Da{}class go extends Ua{}let yo=xa([{name:"a_pos",components:2,type:"Int16"}],4),{members:vo}=yo;class xo{constructor(e=[]){this.segments=e}prepareSegment(e,t,r,n){let i=this.segments[this.segments.length-1];return e>xo.MAX_VERTEX_ARRAY_LENGTH&&A(`Max vertices per segment is ${xo.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${e}`),(!i||i.vertexLength+e>xo.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:t.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i}get(){return this.segments}destroy(){for(let e of this.segments)for(let t in e.vaos)e.vaos[t].destroy()}static simpleSegment(e,t,r,n){return new xo([{vertexOffset:e,primitiveOffset:t,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])}}function bo(e,t){return 256*(e=y(Math.floor(e),0,255))+y(Math.floor(t),0,255)}xo.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,ki("SegmentVector",xo);let _o=xa([{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 wo={exports:{}},ko=function(e,t){var r,n,i,a,o,s,l,c;for(n=e.length-(r=3&e.length),i=t,o=3432918353,s=461845907,c=0;c>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&e.charCodeAt(c+2))<<16;case 2:l^=(255&e.charCodeAt(c+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&e.charCodeAt(c)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return i^=e.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0},To=function(e,t){for(var r,n=e.length,i=t^n,a=0;n>=4;)r=1540483477*(65535&(r=255&e.charCodeAt(a)|(255&e.charCodeAt(++a))<<8|(255&e.charCodeAt(++a))<<16|(255&e.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&e.charCodeAt(a+2))<<16;case 2:i^=(255&e.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&e.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0};wo.exports=ko,wo.exports.murmur3=ko,wo.exports.murmur2=To;var Ao=r(wo.exports);class Mo{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(e,t,r,n){this.ids.push(So(e)),this.positions.push(t,r,n)}getPositions(e){if(!this.indexed)throw new Error("Trying to get index, but feature positions are not indexed");let t=So(e),r=0,n=this.ids.length-1;for(;r>1;this.ids[e]>=t?n=e:r=e+1}let i=[];for(;this.ids[r]===t;)i.push({index:this.positions[3*r],start:this.positions[3*r+1],end:this.positions[3*r+2]}),r++;return i}static serialize(e,t){let r=new Float64Array(e.ids),n=new Uint32Array(e.positions);return Eo(r,n,0,r.length-1),t&&t.push(r.buffer,n.buffer),{ids:r,positions:n}}static deserialize(e){let t=new Mo;return t.ids=e.ids,t.positions=e.positions,t.indexed=!0,t}}function So(e){let t=+e;return!isNaN(t)&&t<=Number.MAX_SAFE_INTEGER?t:Ao(String(e))}function Eo(e,t,r,n){for(;r>1],a=r-1,o=n+1;for(;;){do{a++}while(e[a]i);if(a>=o)break;Co(e,a,o),Co(t,3*a,3*o),Co(t,3*a+1,3*o+1),Co(t,3*a+2,3*o+2)}o-r`u_${e}`)),this.type=r}setUniform(e,t,r){e.set(r.constantOr(this.value))}getBinding(e,t,r){return"color"===this.type?new zo(e,t):new Io(e,t)}}class jo{constructor(e,t){this.uniformNames=t.map((e=>`u_${e}`)),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(e,t){this.pixelRatioFrom=t.pixelRatio,this.pixelRatioTo=e.pixelRatio,this.patternFrom=t.tlbr,this.patternTo=e.tlbr}setUniform(e,t,r,n){let i="u_pattern_to"===n?this.patternTo:"u_pattern_from"===n?this.patternFrom:"u_pixel_ratio_to"===n?this.pixelRatioTo:"u_pixel_ratio_from"===n?this.pixelRatioFrom:null;i&&e.set(i)}getBinding(e,t,r){return"u_pattern"===r.substr(0,9)?new Po(e,t):new Io(e,t)}}class Fo{constructor(e,t,r,n){this.expression=e,this.type=r,this.maxValue=0,this.paintVertexAttributes=t.map((e=>({name:`a_${e}`,type:"Float32",components:"color"===r?2:1,offset:0}))),this.paintVertexArray=new n}populatePaintArray(e,t,r,n,i){let a=this.paintVertexArray.length,o=this.expression.evaluate(new Qi(0),t,{},n,[],i);this.paintVertexArray.resize(e),this._setPaintValue(a,e,o)}updatePaintArray(e,t,r,n){let i=this.expression.evaluate({zoom:0},r,n);this._setPaintValue(e,t,i)}_setPaintValue(e,t,r){if("color"===this.type){let n=Do(r);for(let r=e;r`u_${e}_t`)),this.type=r,this.useIntegerZoom=n,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=t.map((e=>({name:`a_${e}`,type:"Float32",components:"color"===r?4:2,offset:0}))),this.paintVertexArray=new a}populatePaintArray(e,t,r,n,i){let a=this.expression.evaluate(new Qi(this.zoom),t,{},n,[],i),o=this.expression.evaluate(new Qi(this.zoom+1),t,{},n,[],i),s=this.paintVertexArray.length;this.paintVertexArray.resize(e),this._setPaintValue(s,e,a,o)}updatePaintArray(e,t,r,n){let i=this.expression.evaluate({zoom:this.zoom},r,n),a=this.expression.evaluate({zoom:this.zoom+1},r,n);this._setPaintValue(e,t,i,a)}_setPaintValue(e,t,r,n){if("color"===this.type){let i=Do(r),a=Do(n);for(let r=e;r`#define HAS_UNIFORM_${e}`)))}return e}getBinderAttributes(){let e=[];for(let t in this.binders){let r=this.binders[t];if(r instanceof Fo||r instanceof Bo)for(let t=0;t!0){this.programConfigurations={};for(let n of e)this.programConfigurations[n.id]=new Uo(n,t,r);this.needsUpload=!1,this._featureMap=new Mo,this._bufferOffset=0}populatePaintArrays(e,t,r,n,i,a){for(let r in this.programConfigurations)this.programConfigurations[r].populatePaintArrays(e,t,n,i,a);void 0!==t.id&&this._featureMap.add(t.id,r,this._bufferOffset,e),this._bufferOffset=e,this.needsUpload=!0}updatePaintArrays(e,t,r,n){for(let i of r)this.needsUpload=this.programConfigurations[i.id].updatePaintArrays(e,this._featureMap,t,i,n)||this.needsUpload}get(e){return this.programConfigurations[e]}upload(e){if(this.needsUpload){for(let t in this.programConfigurations)this.programConfigurations[t].upload(e);this.needsUpload=!1}}destroy(){for(let e in this.programConfigurations)this.programConfigurations[e].destroy()}}function qo(e,t){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"]}[e]||[e.replace(`${t}-`,"").replace(/-/g,"_")]}function Ho(e,t,r){let n={color:{source:Ma,composite:qa},number:{source:Fa,composite:Ma}},i={"line-pattern":{source:lo,composite:lo},"fill-pattern":{source:lo,composite:lo},"fill-extrusion-pattern":{source:lo,composite:lo}}[e];return i&&i[r]||n[t][r]}ki("ConstantBinder",Ro),ki("CrossFadedConstantBinder",jo),ki("SourceExpressionBinder",Fo),ki("CrossFadedCompositeBinder",No),ki("CompositeExpressionBinder",Bo),ki("ProgramConfiguration",Uo,{omit:["_buffers"]}),ki("ProgramConfigurationSet",Vo);let Go,Wo,Yo=8192,Xo=Math.pow(2,14)-1,Zo=-Xo-1;function $o(e){let t=Yo/e.extent,r=e.loadGeometry();for(let e=0;er.x+1||ar.y+1)&&A("Geometry exceeds allowed extent, reduce your vector tile buffer size")}}return r}function Ko(e,t){return{type:e.type,id:e.id,properties:e.properties,geometry:t?$o(e):[]}}function Jo(e,t,r,n,i){e.emplaceBack(2*t+(n+1)/2,2*r+(i+1)/2)}class Qo{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasPattern=!1,this.layoutVertexArray=new no,this.indexArray=new mo,this.segments=new xo,this.programConfigurations=new Vo(e.layers,e.zoom),this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,r){let n=this.layers[0],i=[],a=null,o=!1;"circle"===n.type&&(a=n.layout.get("circle-sort-key"),o=!a.isConstant());for(let{feature:t,id:n,index:s,sourceLayerIndex:l}of e){let e=this.layers[0]._featureFilter.needGeometry,c=Ko(t,e);if(!this.layers[0]._featureFilter.filter(new Qi(this.zoom),c,r))continue;let u=o?a.evaluate(c,{},r):void 0,h={id:n,properties:t.properties,type:t.type,sourceLayerIndex:l,index:s,geometry:e?c.geometry:$o(t),patterns:{},sortKey:u};i.push(h)}o&&i.sort(((e,t)=>e.sortKey-t.sortKey));for(let n of i){let{geometry:i,index:a,sourceLayerIndex:o}=n,s=e[a].feature;this.addFeature(n,i,a,r),t.featureIndex.insert(s,i,a,o,this.index)}}update(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,r)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,vo),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(e,t,r,n){for(let r of t)for(let t of r){let r=t.x,n=t.y;if(r<0||r>=Yo||n<0||n>=Yo)continue;let i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,e.sortKey),a=i.vertexLength;Jo(this.layoutVertexArray,r,n,-1,-1),Jo(this.layoutVertexArray,r,n,1,-1),Jo(this.layoutVertexArray,r,n,1,1),Jo(this.layoutVertexArray,r,n,-1,1),this.indexArray.emplaceBack(a,a+1,a+2),this.indexArray.emplaceBack(a,a+3,a+2),i.vertexLength+=4,i.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,{},n)}}function es(e,t){for(let r=0;r1){if(is(e,t))return!0;for(let n=0;n1?r:r.sub(t)._mult(i)._add(t))}function ls(e,t){let r,n,i,a=!1;for(let o=0;ot.y!=i.y>t.y&&t.x<(i.x-n.x)*(t.y-n.y)/(i.y-n.y)+n.x&&(a=!a)}return a}function cs(e,t){let r=!1;for(let n=0,i=e.length-1;nt.y!=o.y>t.y&&t.x<(o.x-a.x)*(t.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function us(e,t,r){let n=r[0],i=r[2];if(e.xi.x&&t.x>i.x||e.yi.y&&t.y>i.y)return!1;let a=M(e,t,r[0]);return a!==M(e,t,r[1])||a!==M(e,t,r[2])||a!==M(e,t,r[3])}function hs(e,t,r){let n=t.paint.get(e).value;return"constant"===n.kind?n.value:r.programConfigurations.get(t.id).getMaxValue(e)}function ds(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function fs(e,t,r,n,i){if(!t[0]&&!t[1])return e;let o=a.convert(t)._mult(i);"viewport"===r&&o._rotate(-n);let s=[];for(let t=0;tks(e,f)))),d=u?c*o:c;var f;for(let e of n)for(let t of e){let e=u?t:ks(t,s),r=d,n=_s([],[t.x,t.y,0,1],s);if("viewport"===this.paint.get("circle-pitch-scale")&&"map"===this.paint.get("circle-pitch-alignment")?r*=n[3]/a.cameraToCenterDistance:"map"===this.paint.get("circle-pitch-scale")&&"viewport"===this.paint.get("circle-pitch-alignment")&&(r*=a.cameraToCenterDistance/n[3]),ts(h,e,r))return!0}return!1}}function ks(e,t){let r=_s([],[e.x,e.y,0,1],t);return new a(r[0]/r[3],r[1]/r[3])}class Ts extends Qo{}let As;ki("HeatmapBucket",Ts,{omit:["layers"]});var Ms={get paint(){return As=As||new fa({"heatmap-radius":new ca(X.paint_heatmap["heatmap-radius"]),"heatmap-weight":new ca(X.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new la(X.paint_heatmap["heatmap-intensity"]),"heatmap-color":new da(X.paint_heatmap["heatmap-color"]),"heatmap-opacity":new la(X.paint_heatmap["heatmap-opacity"])})}};function Ss(e,{width:t,height:r},n,i){if(i){if(i instanceof Uint8ClampedArray)i=new Uint8Array(i.buffer);else if(i.length!==t*r*n)throw new RangeError(`mismatched image size. expected: ${i.length} but got: ${t*r*n}`)}else i=new Uint8Array(t*r*n);return e.width=t,e.height=r,e.data=i,e}function Es(e,{width:t,height:r},n){if(t===e.width&&r===e.height)return;let i=Ss({},{width:t,height:r},n);Cs(e,i,{x:0,y:0},{x:0,y:0},{width:Math.min(e.width,t),height:Math.min(e.height,r)},n),e.width=t,e.height=r,e.data=i.data}function Cs(e,t,r,n,i,a){if(0===i.width||0===i.height)return t;if(i.width>e.width||i.height>e.height||r.x>e.width-i.width||r.y>e.height-i.height)throw new RangeError("out of range source coordinates for image copy");if(i.width>t.width||i.height>t.height||n.x>t.width-i.width||n.y>t.height-i.height)throw new RangeError("out of range destination coordinates for image copy");let o=e.data,s=t.data;if(o===s)throw new Error("srcData equals dstData, so image is already copied");for(let l=0;l{t[e.evaluationKey]=a;let o=e.expression.evaluate(t);i.data[r+n+0]=Math.floor(255*o.r/o.a),i.data[r+n+1]=Math.floor(255*o.g/o.a),i.data[r+n+2]=Math.floor(255*o.b/o.a),i.data[r+n+3]=Math.floor(255*o.a)};if(e.clips)for(let t=0,i=0;t80*r){n=1/0,i=1/0;let t=-1/0,o=-1/0;for(let a=r;at&&(t=r),s>o&&(o=s)}a=Math.max(t-n,o-i),a=0!==a?32767/a:0}return Gs(l,c,r,n,i,a,0),c}function qs(e,t,r,n,i){let a;if(i===function(e,t,r,n){let i=0;for(let a=t,o=r-n;a0)for(let i=t;i=t;i-=n)a=ul(i/n|0,e[i],e[i+1],a);return a&&il(a,a.next)&&(hl(a),a=a.next),a}function Hs(e,t){if(!e)return e;t||(t=e);let r,n=e;do{if(r=!1,n.steiner||!il(n,n.next)&&0!==nl(n.prev,n,n.next))n=n.next;else{if(hl(n),n=t=n.prev,n===n.next)break;r=!0}}while(r||n!==t);return t}function Gs(e,t,r,n,i,a,o){if(!e)return;!o&&a&&function(e,t,r,n){let i=e;do{0===i.z&&(i.z=Qs(i.x,i.y,t,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,function(e){let t,r=1;do{let n,i=e;e=null;let a=null;for(t=0;i;){t++;let o=i,s=0;for(let e=0;e0||l>0&&o;)0!==s&&(0===l||!o||i.z<=o.z)?(n=i,i=i.nextZ,s--):(n=o,o=o.nextZ,l--),a?a.nextZ=n:e=n,n.prevZ=a,a=n;i=o}a.nextZ=null,r*=2}while(t>1)}(i)}(e,n,i,a);let s=e;for(;e.prev!==e.next;){let l=e.prev,c=e.next;if(a?Ys(e,n,i,a):Ws(e))t.push(l.i,e.i,c.i),hl(e),e=c.next,s=c.next;else if((e=c)===s){o?1===o?Gs(e=Xs(Hs(e),t),t,r,n,i,a,2):2===o&&Zs(e,t,r,n,i,a):Gs(Hs(e),t,r,n,i,a,1);break}}}function Ws(e){let t=e.prev,r=e,n=e.next;if(nl(t,r,n)>=0)return!1;let i=t.x,a=r.x,o=n.x,s=t.y,l=r.y,c=n.y,u=ia?i>o?i:o:a>o?a:o,f=s>l?s>c?s:c:l>c?l:c,p=n.next;for(;p!==t;){if(p.x>=u&&p.x<=d&&p.y>=h&&p.y<=f&&tl(i,s,a,l,o,c,p.x,p.y)&&nl(p.prev,p,p.next)>=0)return!1;p=p.next}return!0}function Ys(e,t,r,n){let i=e.prev,a=e,o=e.next;if(nl(i,a,o)>=0)return!1;let s=i.x,l=a.x,c=o.x,u=i.y,h=a.y,d=o.y,f=sl?s>c?s:c:l>c?l:c,g=u>h?u>d?u:d:h>d?h:d,y=Qs(f,p,t,r,n),v=Qs(m,g,t,r,n),x=e.prevZ,b=e.nextZ;for(;x&&x.z>=y&&b&&b.z<=v;){if(x.x>=f&&x.x<=m&&x.y>=p&&x.y<=g&&x!==i&&x!==o&&tl(s,u,l,h,c,d,x.x,x.y)&&nl(x.prev,x,x.next)>=0||(x=x.prevZ,b.x>=f&&b.x<=m&&b.y>=p&&b.y<=g&&b!==i&&b!==o&&tl(s,u,l,h,c,d,b.x,b.y)&&nl(b.prev,b,b.next)>=0))return!1;b=b.nextZ}for(;x&&x.z>=y;){if(x.x>=f&&x.x<=m&&x.y>=p&&x.y<=g&&x!==i&&x!==o&&tl(s,u,l,h,c,d,x.x,x.y)&&nl(x.prev,x,x.next)>=0)return!1;x=x.prevZ}for(;b&&b.z<=v;){if(b.x>=f&&b.x<=m&&b.y>=p&&b.y<=g&&b!==i&&b!==o&&tl(s,u,l,h,c,d,b.x,b.y)&&nl(b.prev,b,b.next)>=0)return!1;b=b.nextZ}return!0}function Xs(e,t){let r=e;do{let n=r.prev,i=r.next.next;!il(n,i)&&al(n,r,r.next,i)&&ll(n,i)&&ll(i,n)&&(t.push(n.i,r.i,i.i),hl(r),hl(r.next),r=e=i),r=r.next}while(r!==e);return Hs(r)}function Zs(e,t,r,n,i,a){let o=e;do{let e=o.next.next;for(;e!==o.prev;){if(o.i!==e.i&&rl(o,e)){let s=cl(o,e);return o=Hs(o,o.next),s=Hs(s,s.next),Gs(o,t,r,n,i,a,0),void Gs(s,t,r,n,i,a,0)}e=e.next}o=o.next}while(o!==e)}function $s(e,t){return e.x-t.x}function Ks(e,t){let r=function(e,t){let r,n=t,i=e.x,a=e.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){let e=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(e<=i&&e>o&&(o=e,r=n.x=n.x&&n.x>=l&&i!==n.x&&tl(ar.x||n.x===r.x&&Js(r,n)))&&(r=n,u=t)}n=n.next}while(n!==s);return r}(e,t);if(!r)return t;let n=cl(r,e);return Hs(n,n.next),Hs(r,r.next)}function Js(e,t){return nl(e.prev,e,t.prev)<0&&nl(t.next,e,e.next)<0}function Qs(e,t,r,n,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-r)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-n)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function el(e){let t=e,r=e;do{(t.x=(e-o)*(a-s)&&(e-o)*(n-s)>=(r-o)*(t-s)&&(r-o)*(a-s)>=(i-o)*(n-s)}function rl(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){let r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&al(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}(e,t)&&(ll(e,t)&&ll(t,e)&&function(e,t){let r=e,n=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==e);return n}(e,t)&&(nl(e.prev,e,t.prev)||nl(e,t.prev,t))||il(e,t)&&nl(e.prev,e,e.next)>0&&nl(t.prev,t,t.next)>0)}function nl(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function il(e,t){return e.x===t.x&&e.y===t.y}function al(e,t,r,n){let i=sl(nl(e,t,r)),a=sl(nl(e,t,n)),o=sl(nl(r,n,e)),s=sl(nl(r,n,t));return i!==a&&o!==s||!(0!==i||!ol(e,r,t))||!(0!==a||!ol(e,n,t))||!(0!==o||!ol(r,e,n))||!(0!==s||!ol(r,t,n))}function ol(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function sl(e){return e>0?1:e<0?-1:0}function ll(e,t){return nl(e.prev,e,e.next)<0?nl(e,t,e.next)>=0&&nl(e,e.prev,t)>=0:nl(e,t,e.prev)<0||nl(e,e.next,t)<0}function cl(e,t){let r=dl(e.i,e.x,e.y),n=dl(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function ul(e,t,r,n){let i=dl(e,t,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function hl(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function dl(e,t,r){return{i:e,x:t,y:r,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function fl(e,t,r){let n=r.patternDependencies,i=!1;for(let r of t){let t=r.paint.get(`${e}-pattern`);t.isConstant()||(i=!0);let a=t.constantOr(null);a&&(i=!0,n[a.to]=!0,n[a.from]=!0)}return i}function pl(e,t,r,n,i){let a=i.patternDependencies;for(let o of t){let t=o.paint.get(`${e}-pattern`).value;if("constant"!==t.kind){let e=t.evaluate({zoom:n-1},r,{},i.availableImages),s=t.evaluate({zoom:n},r,{},i.availableImages),l=t.evaluate({zoom:n+1},r,{},i.availableImages);e=e&&e.name?e.name:e,s=s&&s.name?s.name:s,l=l&&l.name?l.name:l,a[e]=!0,a[s]=!0,a[l]=!0,r.patterns[o.id]={min:e,mid:s,max:l}}}return r}class ml{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new io,this.indexArray=new mo,this.indexArray2=new go,this.programConfigurations=new Vo(e.layers,e.zoom),this.segments=new xo,this.segments2=new xo,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,r){this.hasPattern=fl("fill",this.layers,t);let n=this.layers[0].layout.get("fill-sort-key"),i=!n.isConstant(),a=[];for(let{feature:o,id:s,index:l,sourceLayerIndex:c}of e){let e=this.layers[0]._featureFilter.needGeometry,u=Ko(o,e);if(!this.layers[0]._featureFilter.filter(new Qi(this.zoom),u,r))continue;let h=i?n.evaluate(u,{},r,t.availableImages):void 0,d={id:s,properties:o.properties,type:o.type,sourceLayerIndex:c,index:l,geometry:e?u.geometry:$o(o),patterns:{},sortKey:h};a.push(d)}i&&a.sort(((e,t)=>e.sortKey-t.sortKey));for(let n of a){let{geometry:i,index:a,sourceLayerIndex:o}=n;if(this.hasPattern){let e=pl("fill",this.layers,n,this.zoom,t);this.patternFeatures.push(e)}else this.addFeature(n,i,a,r,{});t.featureIndex.insert(e[a].feature,i,a,o,this.index)}}update(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,r)}addFeatures(e,t,r){for(let e of this.patternFeatures)this.addFeature(e,e.geometry,e.index,t,r)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Us),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.indexBuffer2=e.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(e),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(e,t,r,n,i){for(let e of br(t,500)){let t=0;for(let r of e)t+=r.length;let r=this.segments.prepareSegment(t,this.layoutVertexArray,this.indexArray),n=r.vertexLength,i=[],a=[];for(let t of e){if(0===t.length)continue;t!==e[0]&&a.push(i.length/2);let r=this.segments2.prepareSegment(t.length,this.layoutVertexArray,this.indexArray2),n=r.vertexLength;this.layoutVertexArray.emplaceBack(t[0].x,t[0].y),this.indexArray2.emplaceBack(n+t.length-1,n),i.push(t[0].x),i.push(t[0].y);for(let e=1;e>3}if(i--,1===n||2===n)a+=e.readSVarint(),o+=e.readSVarint(),1===n&&(t&&s.push(t),t=[]),t.push(new wl(a,o));else{if(7!==n)throw new Error("unknown command "+n);t&&t.push(t[0].clone())}}return t&&s.push(t),s},Tl.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;e.pos>3}if(n--,1===r||2===r)(i+=e.readSVarint())s&&(s=i),(a+=e.readSVarint())c&&(c=a);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,c]},Tl.prototype.toGeoJSON=function(e,t,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*e,s=this.extent*t,l=this.loadGeometry(),c=Tl.types[this.type];function u(e){for(var t=0;t>3;t=1===n?e.readString():2===n?e.readFloat():3===n?e.readDouble():4===n?e.readVarint64():5===n?e.readVarint():6===n?e.readSVarint():7===n?e.readBoolean():null}return t}(r))}Cl.prototype.feature=function(e){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new Sl(this._pbf,t,this.extent,this._keys,this._values)};var Il=El;function Pl(e,t,r){if(3===e){var n=new Il(r,r.readVarint()+r.pos);n.length&&(t[n.name]=n)}}_l.VectorTile=function(e,t){this.layers=e.readFields(Pl,{},t)},_l.VectorTileFeature=kl,_l.VectorTileLayer=El;let zl,Ol=_l.VectorTileFeature.types,Dl=Math.pow(2,13);function Rl(e,t,r,n,i,a,o,s){e.emplaceBack(t,r,2*Math.floor(n*Dl)+o,i*Dl*2,a*Dl*2,Math.round(s))}class jl{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasPattern=!1,this.layoutVertexArray=new ao,this.centroidVertexArray=new ro,this.indexArray=new mo,this.programConfigurations=new Vo(e.layers,e.zoom),this.segments=new xo,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,r){this.features=[],this.hasPattern=fl("fill-extrusion",this.layers,t);for(let{feature:n,id:i,index:a,sourceLayerIndex:o}of e){let e=this.layers[0]._featureFilter.needGeometry,s=Ko(n,e);if(!this.layers[0]._featureFilter.filter(new Qi(this.zoom),s,r))continue;let l={id:i,sourceLayerIndex:o,index:a,geometry:e?s.geometry:$o(n),properties:n.properties,type:n.type,patterns:{}};this.hasPattern?this.features.push(pl("fill-extrusion",this.layers,l,this.zoom,t)):this.addFeature(l,l.geometry,a,r,{}),t.featureIndex.insert(n,l.geometry,a,o,this.index,!0)}}addFeatures(e,t,r){for(let e of this.features){let{geometry:n}=e;this.addFeature(e,n,e.index,t,r)}}update(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,r)}isEmpty(){return 0===this.layoutVertexArray.length&&0===this.centroidVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,bl),this.centroidVertexBuffer=e.createVertexBuffer(this.centroidVertexArray,xl.members,!0),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(e,t,r,n,i){for(let r of br(t,500)){let t={x:0,y:0,vertexCount:0},n=0;for(let e of r)n+=e.length;let i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(let e of r){if(0===e.length||Bl(e))continue;let r=0;for(let n=0;n=1){let o=e[n-1];if(!Fl(a,o)){i.vertexLength+4>xo.MAX_VERTEX_ARRAY_LENGTH&&(i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let e=a.sub(o)._perp()._unit(),n=o.dist(a);r+n>32768&&(r=0),Rl(this.layoutVertexArray,a.x,a.y,e.x,e.y,0,0,r),Rl(this.layoutVertexArray,a.x,a.y,e.x,e.y,0,1,r),t.x+=2*a.x,t.y+=2*a.y,t.vertexCount+=2,r+=n,Rl(this.layoutVertexArray,o.x,o.y,e.x,e.y,0,0,r),Rl(this.layoutVertexArray,o.x,o.y,e.x,e.y,0,1,r),t.x+=2*o.x,t.y+=2*o.y,t.vertexCount+=2;let s=i.vertexLength;this.indexArray.emplaceBack(s,s+2,s+1),this.indexArray.emplaceBack(s+1,s+2,s+3),i.vertexLength+=4,i.primitiveLength+=2}}}}if(i.vertexLength+n>xo.MAX_VERTEX_ARRAY_LENGTH&&(i=this.segments.prepareSegment(n,this.layoutVertexArray,this.indexArray)),"Polygon"!==Ol[e.type])continue;let a=[],o=[],s=i.vertexLength;for(let e of r)if(0!==e.length){e!==r[0]&&o.push(a.length/2);for(let r=0;rYo)||e.y===t.y&&(e.y<0||e.y>Yo)}function Bl(e){return e.every((e=>e.x<0))||e.every((e=>e.x>Yo))||e.every((e=>e.y<0))||e.every((e=>e.y>Yo))}ki("FillExtrusionBucket",jl,{omit:["layers","features"]});var Nl={get paint(){return zl=zl||new fa({"fill-extrusion-opacity":new la(X["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new ca(X["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new la(X["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new la(X["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new ua(X["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new ca(X["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new ca(X["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new la(X["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})}};class Ul extends ma{constructor(e){super(e,Nl)}createBucket(e){return new jl(e)}queryRadius(){return ds(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature(e,t,r,n,i,o,s,l){let c=fs(e,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),o.angle,s),u=this.paint.get("fill-extrusion-height").evaluate(t,r),h=this.paint.get("fill-extrusion-base").evaluate(t,r),d=function(e,t){let r=[];for(let n of e){let e=[n.x,n.y,0,1];_s(e,e,t),r.push(new a(e[0]/e[3],e[1]/e[3]))}return r}(c,l),f=function(e,t,r,n){let i=[],o=[],s=n[8]*t,l=n[9]*t,c=n[10]*t,u=n[11]*t,h=n[8]*r,d=n[9]*r,f=n[10]*r,p=n[11]*r;for(let t of e){let e=[],r=[];for(let i of t){let t=i.x,o=i.y,m=n[0]*t+n[4]*o+n[12],g=n[1]*t+n[5]*o+n[13],y=n[2]*t+n[6]*o+n[14],v=n[3]*t+n[7]*o+n[15],x=y+c,b=v+u,_=m+h,w=g+d,k=y+f,T=v+p,A=new a((m+s)/b,(g+l)/b);A.z=x/b,e.push(A);let M=new a(_/T,w/T);M.z=k/T,r.push(M)}i.push(e),o.push(r)}return[i,o]}(n,h,u,l);return function(e,t,r){let n=1/0;rs(r,t)&&(n=ql(r,t[0]));for(let i=0;ie.id)),this.index=e.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((e=>{this.gradients[e.id]={}})),this.layoutVertexArray=new oo,this.layoutVertexArray2=new so,this.indexArray=new mo,this.programConfigurations=new Vo(e.layers,e.zoom),this.segments=new xo,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,r){this.hasPattern=fl("line",this.layers,t);let n=this.layers[0].layout.get("line-sort-key"),i=!n.isConstant(),a=[];for(let{feature:t,id:o,index:s,sourceLayerIndex:l}of e){let e=this.layers[0]._featureFilter.needGeometry,c=Ko(t,e);if(!this.layers[0]._featureFilter.filter(new Qi(this.zoom),c,r))continue;let u=i?n.evaluate(c,{},r):void 0,h={id:o,properties:t.properties,type:t.type,sourceLayerIndex:l,index:s,geometry:e?c.geometry:$o(t),patterns:{},sortKey:u};a.push(h)}i&&a.sort(((e,t)=>e.sortKey-t.sortKey));for(let n of a){let{geometry:i,index:a,sourceLayerIndex:o}=n;if(this.hasPattern){let e=pl("line",this.layers,n,this.zoom,t);this.patternFeatures.push(e)}else this.addFeature(n,i,a,r,{});t.featureIndex.insert(e[a].feature,i,a,o,this.index)}}update(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,r)}addFeatures(e,t,r){for(let e of this.patternFeatures)this.addFeature(e,e.geometry,e.index,t,r)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=e.createVertexBuffer(this.layoutVertexArray2,Zl)),this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Yl),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(e){if(e.properties&&Object.prototype.hasOwnProperty.call(e.properties,"mapbox_clip_start")&&Object.prototype.hasOwnProperty.call(e.properties,"mapbox_clip_end"))return{start:+e.properties.mapbox_clip_start,end:+e.properties.mapbox_clip_end}}addFeature(e,t,r,n,i){let a=this.layers[0].layout,o=a.get("line-join").evaluate(e,{}),s=a.get("line-cap"),l=a.get("line-miter-limit"),c=a.get("line-round-limit");this.lineClips=this.lineFeatureClips(e);for(let r of t)this.addLine(r,e,o,s,l,c);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,i,n)}addLine(e,t,r,n,i,a){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let t=0;t=2&&e[s-1].equals(e[s-2]);)s--;let l=0;for(;l0;if(_&&t>l){let e=c.dist(u);if(e>2*p){let t=c.sub(c.sub(u)._mult(p/e)._round());this.updateDistance(u,t),this.addCurrentVertex(t,d,0,0,m),u=t}}let k=u&&h,T=k?r:o?"butt":n;if(k&&"round"===T&&(xi&&(T="bevel"),"bevel"===T&&(x>2&&(T="flipbevel"),x100)g=f.mult(-1);else{let e=x*d.add(f).mag()/d.sub(f).mag();g._perp()._mult(e*(w?-1:1))}this.addCurrentVertex(c,g,0,0,m),this.addCurrentVertex(c,g.mult(-1),0,0,m)}else if("bevel"===T||"fakeround"===T){let e=-Math.sqrt(x*x-1),t=w?e:0,r=w?0:e;if(u&&this.addCurrentVertex(c,d,t,r,m),"fakeround"===T){let e=Math.round(180*b/Math.PI/20);for(let t=1;t2*p){let t=c.add(h.sub(c)._mult(p/e)._round());this.updateDistance(c,t),this.addCurrentVertex(t,f,0,0,m),c=t}}}}addCurrentVertex(e,t,r,n,i,a=!1){let o=t.y*n-t.x,s=-t.y-t.x*n;this.addHalfVertex(e,t.x+t.y*r,t.y-t.x*r,a,!1,r,i),this.addHalfVertex(e,o,s,a,!0,-n,i),this.distance>Jl/2&&0===this.totalDistance&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(e,t,r,n,i,a))}addHalfVertex({x:e,y:t},r,n,i,a,o,s){let l=.5*(this.lineClips?this.scaledDistance*(Jl-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((e<<1)+(i?1:0),(t<<1)+(a?1:0),Math.round(63*r)+128,Math.round(63*n)+128,1+(0===o?0:o<0?-1:1)|(63&l)<<2,l>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let c=s.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,c),s.primitiveLength++),a?this.e2=c:this.e1=c}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(e,t){this.distance+=e.dist(t),this.updateScaledDistance()}}ki("LineBucket",Ql,{omit:["layers","patternFeatures"]});var ec={get paint(){return Gl=Gl||new fa({"line-opacity":new ca(X.paint_line["line-opacity"]),"line-color":new ca(X.paint_line["line-color"]),"line-translate":new la(X.paint_line["line-translate"]),"line-translate-anchor":new la(X.paint_line["line-translate-anchor"]),"line-width":new ca(X.paint_line["line-width"]),"line-gap-width":new ca(X.paint_line["line-gap-width"]),"line-offset":new ca(X.paint_line["line-offset"]),"line-blur":new ca(X.paint_line["line-blur"]),"line-dasharray":new ha(X.paint_line["line-dasharray"]),"line-pattern":new ua(X.paint_line["line-pattern"]),"line-gradient":new da(X.paint_line["line-gradient"])})},get layout(){return Hl=Hl||new fa({"line-cap":new la(X.layout_line["line-cap"]),"line-join":new ca(X.layout_line["line-join"]),"line-miter-limit":new la(X.layout_line["line-miter-limit"]),"line-round-limit":new la(X.layout_line["line-round-limit"]),"line-sort-key":new ca(X.layout_line["line-sort-key"])})}};class tc extends ca{possiblyEvaluate(e,t){return t=new Qi(Math.floor(t.zoom),{now:t.now,fadeDuration:t.fadeDuration,zoomHistory:t.zoomHistory,transition:t.transition}),super.possiblyEvaluate(e,t)}evaluate(e,t,r,n){return t=x({},t,{zoom:Math.floor(t.zoom)}),super.evaluate(e,t,r,n)}}let rc;class nc extends ma{constructor(e){super(e,ec),this.gradientVersion=0,rc||(rc=new tc(ec.paint.properties["line-width"].specification),rc.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(e){if("line-gradient"===e){let e=this.gradientExpression();this.stepInterpolant=!(void 0===e._styleExpression)&&e._styleExpression.expression instanceof At,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values["line-gradient"].value.expression}recalculate(e,t){super.recalculate(e,t),this.paint._values["line-floorwidth"]=rc.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)}createBucket(e){return new Ql(e)}queryRadius(e){let t=e,r=ic(hs("line-width",this,t),hs("line-gap-width",this,t)),n=hs("line-offset",this,t);return r/2+Math.abs(n)+ds(this.paint.get("line-translate"))}queryIntersectsFeature(e,t,r,n,i,o,s){let l=fs(e,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o.angle,s),c=s/2*ic(this.paint.get("line-width").evaluate(t,r),this.paint.get("line-gap-width").evaluate(t,r)),u=this.paint.get("line-offset").evaluate(t,r);return u&&(n=function(e,t){let r=[];for(let n=0;n=3)for(let t=0;t0?t+2*e:e}let ac=xa([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),oc=xa([{name:"a_projected_pos",components:3,type:"Float32"}],4);xa([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);let sc=xa([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"},{name:"a_box_real",components:2,type:"Int16"}]);xa([{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 lc=xa([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),cc=xa([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function uc(e,t,r){return e.sections.forEach((e=>{e.text=function(e,t,r){let n=t.layout.get("text-transform").evaluate(r,{});return"uppercase"===n?e=e.toLocaleUpperCase():"lowercase"===n&&(e=e.toLocaleLowerCase()),Ji.applyArabicShaping&&(e=Ji.applyArabicShaping(e)),e}(e.text,t,r)})),e}xa([{name:"triangle",components:3,type:"Uint16"}]),xa([{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"}]),xa([{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"}]),xa([{type:"Float32",name:"offsetX"}]),xa([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]),xa([{type:"Uint16",name:"textAnchor"},{type:"Float32",components:2,name:"textOffset"}]);let hc={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var dc=24,fc=gc,pc=function(e,t,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,u=-7,h=r?i-1:0,d=r?-1:1,f=e[t+h];for(h+=d,a=f&(1<<-u)-1,f>>=-u,u+=s;u>0;a=256*a+e[t+h],h+=d,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+e[t+h],h+=d,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(f?-1:1);o+=Math.pow(2,n),a-=c}return(f?-1:1)*o*Math.pow(2,a-n)},mc=function(e,t,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:a-1,p=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+h>=1?d/l:d*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(t*l-1)*Math.pow(2,i),o+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[r+f]=255&s,f+=p,s/=256,i-=8);for(o=o<0;e[r+f]=255&o,f+=p,o/=256,c-=8);e[r+f-p]|=128*m};function gc(e){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(e)?e:new Uint8Array(e||0),this.pos=0,this.type=0,this.length=this.buf.length}gc.Varint=0,gc.Fixed64=1,gc.Bytes=2,gc.Fixed32=5;var yc=4294967296,vc=1/yc,xc=typeof TextDecoder>"u"?null:new TextDecoder("utf-8");function bc(e){return e.type===gc.Bytes?e.readVarint()+e.pos:e.pos+1}function _c(e,t,r){var n=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=e;i--)r.buf[i+n]=r.buf[i]}function wc(e,t){for(var r=0;r>>8,e[r+2]=t>>>16,e[r+3]=t>>>24}function zc(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+(e[t+3]<<24)}gc.prototype={destroy:function(){this.buf=null},readFields:function(e,t,r){for(r=r||this.length;this.pos>3,a=this.pos;this.type=7&n,e(i,t,this),this.pos===a&&this.skip(n)}return t},readMessage:function(e,t){return this.readFields(e,t,this.readVarint()+this.pos)},readFixed32:function(){var e=Ic(this.buf,this.pos);return this.pos+=4,e},readSFixed32:function(){var e=zc(this.buf,this.pos);return this.pos+=4,e},readFixed64:function(){var e=Ic(this.buf,this.pos)+Ic(this.buf,this.pos+4)*yc;return this.pos+=8,e},readSFixed64:function(){var e=Ic(this.buf,this.pos)+zc(this.buf,this.pos+4)*yc;return this.pos+=8,e},readFloat:function(){var e=pc(this.buf,this.pos,!0,23,4);return this.pos+=4,e},readDouble:function(){var e=pc(this.buf,this.pos,!0,52,8);return this.pos+=8,e},readVarint:function(e){var t,r,n=this.buf;return t=127&(r=n[this.pos++]),r<128?t:(t|=(127&(r=n[this.pos++]))<<7,r<128?t:(t|=(127&(r=n[this.pos++]))<<14,r<128?t:(t|=(127&(r=n[this.pos++]))<<21,r<128?t:function(e,t,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128||(n|=(127&(i=a[r.pos++]))<<3,i<128)||(n|=(127&(i=a[r.pos++]))<<10,i<128)||(n|=(127&(i=a[r.pos++]))<<17,i<128)||(n|=(127&(i=a[r.pos++]))<<24,i<128)||(n|=(1&(i=a[r.pos++]))<<31,i<128))return function(e,t,r){return r?4294967296*t+(e>>>0):4294967296*(t>>>0)+(e>>>0)}(e,n,t);throw new Error("Expected varint not more than 10 bytes")}(t|=(15&(r=n[this.pos]))<<28,e,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var e=this.readVarint();return e%2==1?(e+1)/-2:e/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var e,t,r,n=this.readVarint()+this.pos,i=this.pos;return this.pos=n,n-i>=12&&xc?(e=this.buf,t=i,r=n,xc.decode(e.subarray(t,r))):function(e,t,r){for(var n="",i=t;i239?4:l>223?3:l>191?2:1;if(i+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(a=e[i+1]))&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===u?(o=e[i+2],128==(192&(a=e[i+1]))&&128==(192&o)&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(o=e[i+2],s=e[i+3],128==(192&(a=e[i+1]))&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),i+=u}return n}(this.buf,i,n)},readBytes:function(){var e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t},readPackedVarint:function(e,t){if(this.type!==gc.Bytes)return e.push(this.readVarint(t));var r=bc(this);for(e=e||[];this.pos127;);else if(t===gc.Bytes)this.pos=this.readVarint()+this.pos;else if(t===gc.Fixed32)this.pos+=4;else{if(t!==gc.Fixed64)throw new Error("Unimplemented type: "+t);this.pos+=8}},writeTag:function(e,t){this.writeVarint(e<<3|t)},realloc:function(e){for(var t=this.length||16;t268435455||e<0?function(e,t){var r,n,i,a;if(e>=0?(r=e%4294967296|0,n=e/4294967296|0):(n=~(-e/4294967296),4294967295^(r=~(-e%4294967296))?r=r+1|0:(r=0,n=n+1|0)),e>=0x10000000000000000||e<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");t.realloc(10),i=r,(a=t).buf[a.pos++]=127&i|128,i>>>=7,a.buf[a.pos++]=127&i|128,i>>>=7,a.buf[a.pos++]=127&i|128,i>>>=7,a.buf[a.pos++]=127&i|128,a.buf[a.pos]=127&(i>>>=7),function(e,t){var r=(7&e)<<4;t.buf[t.pos++]|=r|((e>>>=3)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e)))))}(n,t)}(e,this):(this.realloc(4),this.buf[this.pos++]=127&e|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=e>>>7&127))))},writeSVarint:function(e){this.writeVarint(e<0?2*-e-1:2*e)},writeBoolean:function(e){this.writeVarint(!!e)},writeString:function(e){e=String(e),this.realloc(4*e.length),this.pos++;var t=this.pos;this.pos=function(e,t,r){for(var n,i,a=0;a55295&&n<57344){if(!i){n>56319||a+1===t.length?(e[r++]=239,e[r++]=191,e[r++]=189):i=n;continue}if(n<56320){e[r++]=239,e[r++]=191,e[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(e[r++]=239,e[r++]=191,e[r++]=189,i=null);n<128?e[r++]=n:(n<2048?e[r++]=n>>6|192:(n<65536?e[r++]=n>>12|224:(e[r++]=n>>18|240,e[r++]=n>>12&63|128),e[r++]=n>>6&63|128),e[r++]=63&n|128)}return r}(this.buf,e,this.pos);var r=this.pos-t;r>=128&&_c(t,r,this),this.pos=t-1,this.writeVarint(r),this.pos+=r},writeFloat:function(e){this.realloc(4),mc(this.buf,e,this.pos,!0,23,4),this.pos+=4},writeDouble:function(e){this.realloc(8),mc(this.buf,e,this.pos,!0,52,8),this.pos+=8},writeBytes:function(e){var t=e.length;this.writeVarint(t),this.realloc(t);for(var r=0;r=128&&_c(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(e,t,r){this.writeTag(e,gc.Bytes),this.writeRawMessage(t,r)},writePackedVarint:function(e,t){t.length&&this.writeMessage(e,wc,t)},writePackedSVarint:function(e,t){t.length&&this.writeMessage(e,kc,t)},writePackedBoolean:function(e,t){t.length&&this.writeMessage(e,Mc,t)},writePackedFloat:function(e,t){t.length&&this.writeMessage(e,Tc,t)},writePackedDouble:function(e,t){t.length&&this.writeMessage(e,Ac,t)},writePackedFixed32:function(e,t){t.length&&this.writeMessage(e,Sc,t)},writePackedSFixed32:function(e,t){t.length&&this.writeMessage(e,Ec,t)},writePackedFixed64:function(e,t){t.length&&this.writeMessage(e,Cc,t)},writePackedSFixed64:function(e,t){t.length&&this.writeMessage(e,Lc,t)},writeBytesField:function(e,t){this.writeTag(e,gc.Bytes),this.writeBytes(t)},writeFixed32Field:function(e,t){this.writeTag(e,gc.Fixed32),this.writeFixed32(t)},writeSFixed32Field:function(e,t){this.writeTag(e,gc.Fixed32),this.writeSFixed32(t)},writeFixed64Field:function(e,t){this.writeTag(e,gc.Fixed64),this.writeFixed64(t)},writeSFixed64Field:function(e,t){this.writeTag(e,gc.Fixed64),this.writeSFixed64(t)},writeVarintField:function(e,t){this.writeTag(e,gc.Varint),this.writeVarint(t)},writeSVarintField:function(e,t){this.writeTag(e,gc.Varint),this.writeSVarint(t)},writeStringField:function(e,t){this.writeTag(e,gc.Bytes),this.writeString(t)},writeFloatField:function(e,t){this.writeTag(e,gc.Fixed32),this.writeFloat(t)},writeDoubleField:function(e,t){this.writeTag(e,gc.Fixed64),this.writeDouble(t)},writeBooleanField:function(e,t){this.writeVarintField(e,!!t)}};var Oc,Dc=r(fc);function Rc(e,t,r){1===e&&r.readMessage(jc,t)}function jc(e,t,r){if(3===e){let{id:e,bitmap:n,width:i,height:a,left:o,top:s,advance:l}=r.readMessage(Fc,{});t.push({id:e,bitmap:new Ls({width:i+6,height:a+6},n),metrics:{width:i,height:a,left:o,top:s,advance:l}})}}function Fc(e,t,r){1===e?t.id=r.readVarint():2===e?t.bitmap=r.readBytes():3===e?t.width=r.readVarint():4===e?t.height=r.readVarint():5===e?t.left=r.readSVarint():6===e?t.top=r.readSVarint():7===e&&(t.advance=r.readVarint())}function Bc(e){let t=0,r=0;for(let n of e)t+=n.w*n.h,r=Math.max(r,n.w);e.sort(((e,t)=>t.h-e.h));let n=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(t/.95)),r),h:1/0}],i=0,a=0;for(let t of e)for(let e=n.length-1;e>=0;e--){let r=n[e];if(!(t.w>r.w||t.h>r.h)){if(t.x=r.x,t.y=r.y,a=Math.max(a,t.y+t.h),i=Math.max(i,t.x+t.w),t.w===r.w&&t.h===r.h){let t=n.pop();e=0&&r>=e&&Wc[this.text.charCodeAt(r)];r--)t--;this.text=this.text.substring(e,t),this.sectionIndex=this.sectionIndex.slice(e,t)}substring(e,t){let r=new Hc;return r.text=this.text.substring(e,t),r.sectionIndex=this.sectionIndex.slice(e,t),r.sections=this.sections,r}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((e,t)=>Math.max(e,this.sections[t].scale)),0)}addTextSection(e,t){this.text+=e.text,this.sections.push(qc.forText(e.scale,e.fontStack||t));let r=this.sections.length-1;for(let t=0;t=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Gc(t,r,n,i,a,o,s,l,c,u,h,d,f,p,m){let g,y=Hc.fromFeature(t,a);d===e.ah.vertical&&y.verticalizePunctuation();let{processBidirectionalText:v,processStyledBidirectionalText:x}=Ji;if(v&&1===y.sections.length){g=[];let e=v(y.toString(),eu(y,u,o,r,i,p));for(let t of e){let e=new Hc;e.text=t,e.sections=y.sections;for(let r=0;r0&&n>w&&(w=n)}else{let e=n[m.fontStack],t=e&&e[y];if(t&&t.rect)k=t.rect,b=t.metrics;else{let e=r[m.fontStack],t=e&&e[y];if(!t)continue;b=t.metrics}v=(a-m.scale)*dc}M?(t.verticalizable=!0,_.push({glyph:y,imageName:T,x:f,y:p+v,vertical:M,scale:m.scale,fontStack:m.fontStack,sectionIndex:g,metrics:b,rect:k}),f+=A*m.scale+u):(_.push({glyph:y,imageName:T,x:f,y:p+v,vertical:M,scale:m.scale,fontStack:m.fontStack,sectionIndex:g,metrics:b,rect:k}),f+=b.advance*m.scale+u)}0!==_.length&&(m=Math.max(f-u,m),ru(_,0,_.length-1,y,w)),f=0;let k=o*a+w;b.lineOffset=Math.max(w,l),p+=k,g=Math.max(k,g),++v}var x;let b=p-Vc,{horizontalAlign:_,verticalAlign:w}=tu(s);(function(e,t,r,n,i,a,o,s,l){let c=(t-r)*i,u=0;u=a!==o?-s*n-Vc:(-n*l+.5)*o;for(let t of e)for(let e of t.positionedGlyphs)e.x+=c,e.y+=u})(t.positionedLines,y,_,w,m,g,o,b,a.length),t.top+=-w*b,t.bottom=t.top+b,t.left+=-_*m,t.right=t.left+m}(_,r,n,i,g,s,l,c,d,u,f,m),!function(e){for(let t of e)if(0!==t.positionedGlyphs.length)return!1;return!0}(b)&&_}let Wc={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},Yc={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},Xc={40:!0};function Zc(e,t,r,n,i,a){if(t.imageName){let e=n[t.imageName];return e?e.displaySize[0]*t.scale*dc/a+i:0}{let n=r[t.fontStack],a=n&&n[e];return a?a.metrics.advance*t.scale+i:0}}function $c(e,t,r,n){let i=Math.pow(e-t,2);return n?e=0,c=0;for(let r=0;rc){let e=Math.ceil(a/c);i*=e/o,o=e}return{x1:n,y1:i,x2:n+a,y2:i+o}}function au(e,t,r,n,i,a){let o,s=e.image;if(s.content){let e=s.content,t=s.pixelRatio||1;o=[e[0]/t,e[1]/t,s.displaySize[0]-e[2]/t,s.displaySize[1]-e[3]/t]}let l,c,u,h,d=t.left*a,f=t.right*a;"width"===r||"both"===r?(h=i[0]+d-n[3],c=i[0]+f+n[1]):(h=i[0]+(d+f-s.displaySize[0])/2,c=h+s.displaySize[0]);let p=t.top*a,m=t.bottom*a;return"height"===r||"both"===r?(l=i[1]+p-n[0],u=i[1]+m+n[2]):(l=i[1]+(p+m-s.displaySize[1])/2,u=l+s.displaySize[1]),{image:s,top:l,right:c,bottom:u,left:h,collisionPadding:o}}let ou=128,su=32640;function lu(e,t){let{expression:r}=t;if("constant"===r.kind)return{kind:"constant",layoutSize:r.evaluate(new Qi(e+1))};if("source"===r.kind)return{kind:"source"};{let{zoomStops:t,interpolationType:n}=r,i=0;for(;ie.id)),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=ys([]),this.placementViewportMatrix=ys([]);let r=this.layers[0]._unevaluatedLayout._values;this.textSizeData=lu(this.zoom,r["text-size"]),this.iconSizeData=lu(this.zoom,r["icon-size"]);let n=this.layers[0].layout,i=n.get("symbol-sort-key"),a=n.get("symbol-z-order");this.canOverlap="never"!==cu(n,"text-overlap","text-allow-overlap")||"never"!==cu(n,"icon-overlap","icon-allow-overlap")||n.get("text-ignore-placement")||n.get("icon-ignore-placement"),this.sortFeaturesByKey="viewport-y"!==a&&!i.isConstant(),this.sortFeaturesByY=("viewport-y"===a||"auto"===a&&!this.sortFeaturesByKey)&&this.canOverlap,"point"===n.get("symbol-placement")&&(this.writingModes=n.get("text-writing-mode").map((t=>e.ah[t]))),this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id)),this.sourceID=t.sourceID}createArrays(){this.text=new yu(new Vo(this.layers,this.zoom,(e=>/^text/.test(e)))),this.icon=new yu(new Vo(this.layers,this.zoom,(e=>/^icon/.test(e)))),this.glyphOffsetArray=new $a,this.lineVertexArray=new Ka,this.symbolInstances=new Za,this.textAnchorOffsets=new Qa}calculateGlyphDependencies(e,t,r,n,i){for(let a=0;a0)&&("constant"!==o.value.kind||o.value.value.length>0),u="constant"!==l.value.kind||!!l.value.value||Object.keys(l.parameters).length>0,h=a.get("symbol-sort-key");if(this.features=[],!c&&!u)return;let d=r.iconDependencies,f=r.glyphDependencies,p=r.availableImages,m=new Qi(this.zoom);for(let{feature:r,id:s,index:l,sourceLayerIndex:g}of t){let t,y,v=i._featureFilter.needGeometry,x=Ko(r,v);if(!i._featureFilter.filter(m,x,n))continue;if(v||(x.geometry=$o(r)),c){let e=i.getValueAndResolveTokens("text-field",x,n,p),r=Je.factory(e),a=this.hasRTLText=this.hasRTLText||gu(r);(!a||"unavailable"===Ji.getRTLTextPluginStatus()||a&&Ji.isParsed())&&(t=uc(r,i,x))}if(u){let e=i.getValueAndResolveTokens("icon-image",x,n,p);y=e instanceof rt?e:rt.fromString(e)}if(!t&&!y)continue;let b=this.sortFeaturesByKey?h.evaluate(x,{},n):void 0;if(this.features.push({id:s,text:t,icon:y,index:l,sourceLayerIndex:g,geometry:x.geometry,properties:r.properties,type:du[r.type],sortKey:b}),y&&(d[y.name]=!0),t){let r=o.evaluate(x,{},n).join(","),i="viewport"!==a.get("text-rotation-alignment")&&"point"!==a.get("symbol-placement");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(e.ah.vertical)>=0;for(let e of t.sections)if(e.image)d[e.image.name]=!0;else{let n=Ni(t.toString()),a=e.fontStack||r,o=f[a]=f[a]||{};this.calculateGlyphDependencies(e.text,o,i,this.allowVerticalPlacement,n)}}}"line"===a.get("symbol-placement")&&(this.features=function(e){let t={},r={},n=[],i=0;function a(t){n.push(e[t]),i++}function o(e,t,i){let a=r[e];return delete r[e],r[t]=a,n[a].geometry[0].pop(),n[a].geometry[0]=n[a].geometry[0].concat(i[0]),a}function s(e,r,i){let a=t[r];return delete t[r],t[e]=a,n[a].geometry[0].shift(),n[a].geometry[0]=i[0].concat(n[a].geometry[0]),a}function l(e,t,r){let n=r?t[0][t[0].length-1]:t[0][0];return`${e}:${n.x}:${n.y}`}for(let c=0;ce.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((e,t)=>e.sortKey-t.sortKey))}update(e,t,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(e,t,this.layers,r),this.icon.programConfigurations.updatePaintArrays(e,t,this.layers,r))}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(e){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(e),this.iconCollisionBox.upload(e)),this.text.upload(e,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(e,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(e,t){let r=this.lineVertexArray.length;if(void 0!==e.segment){let r=e.dist(t[e.segment+1]),n=e.dist(t[e.segment]),i={};for(let n=e.segment+1;n=0;r--)i[r]={x:t[r].x,y:t[r].y,tileUnitDistanceFromAnchor:n},r>0&&(n+=t[r-1].dist(t[r]));for(let e=0;e0}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(e,t){let r=e.placedSymbolArray.get(t),n=r.vertexStartIndex+4*r.numGlyphs;for(let t=r.vertexStartIndex;tn[e]-n[t]||i[t]-i[e])),a}addToSortKeyRanges(e,t){let r=this.sortKeyRanges[this.sortKeyRanges.length-1];r&&r.sortKey===t?r.symbolInstanceEnd=e+1:this.sortKeyRanges.push({sortKey:t,symbolInstanceStart:e,symbolInstanceEnd:e+1})}sortFeatures(e){if(this.sortFeaturesByY&&this.sortedAngle!==e&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(e),this.sortedAngle=e,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let e of this.symbolInstanceIndexes){let t=this.symbolInstances.get(e);this.featureSortOrder.push(t.featureIndex),[t.rightJustifiedTextSymbolIndex,t.centerJustifiedTextSymbolIndex,t.leftJustifiedTextSymbolIndex].forEach(((e,t,r)=>{e>=0&&r.indexOf(e)===t&&this.addIndicesForPlacedSymbol(this.text,e)})),t.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,t.verticalPlacedTextSymbolIndex),t.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,t.placedIconSymbolIndex),t.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,t.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}ki("SymbolBucket",xu,{omit:["layers","collisionBoxArray","features","compareText"]}),xu.MAX_GLYPHS=65535,xu.addDynamicAttributes=mu;var bu={get paint(){return hu=hu||new fa({"icon-opacity":new ca(X.paint_symbol["icon-opacity"]),"icon-color":new ca(X.paint_symbol["icon-color"]),"icon-halo-color":new ca(X.paint_symbol["icon-halo-color"]),"icon-halo-width":new ca(X.paint_symbol["icon-halo-width"]),"icon-halo-blur":new ca(X.paint_symbol["icon-halo-blur"]),"icon-translate":new la(X.paint_symbol["icon-translate"]),"icon-translate-anchor":new la(X.paint_symbol["icon-translate-anchor"]),"text-opacity":new ca(X.paint_symbol["text-opacity"]),"text-color":new ca(X.paint_symbol["text-color"],{runtimeType:pe,getOverride:e=>e.textColor,hasOverride:e=>!!e.textColor}),"text-halo-color":new ca(X.paint_symbol["text-halo-color"]),"text-halo-width":new ca(X.paint_symbol["text-halo-width"]),"text-halo-blur":new ca(X.paint_symbol["text-halo-blur"]),"text-translate":new la(X.paint_symbol["text-translate"]),"text-translate-anchor":new la(X.paint_symbol["text-translate-anchor"])})},get layout(){return uu=uu||new fa({"symbol-placement":new la(X.layout_symbol["symbol-placement"]),"symbol-spacing":new la(X.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new la(X.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new ca(X.layout_symbol["symbol-sort-key"]),"symbol-z-order":new la(X.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new la(X.layout_symbol["icon-allow-overlap"]),"icon-overlap":new la(X.layout_symbol["icon-overlap"]),"icon-ignore-placement":new la(X.layout_symbol["icon-ignore-placement"]),"icon-optional":new la(X.layout_symbol["icon-optional"]),"icon-rotation-alignment":new la(X.layout_symbol["icon-rotation-alignment"]),"icon-size":new ca(X.layout_symbol["icon-size"]),"icon-text-fit":new la(X.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new la(X.layout_symbol["icon-text-fit-padding"]),"icon-image":new ca(X.layout_symbol["icon-image"]),"icon-rotate":new ca(X.layout_symbol["icon-rotate"]),"icon-padding":new ca(X.layout_symbol["icon-padding"]),"icon-keep-upright":new la(X.layout_symbol["icon-keep-upright"]),"icon-offset":new ca(X.layout_symbol["icon-offset"]),"icon-anchor":new ca(X.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new la(X.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new la(X.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new la(X.layout_symbol["text-rotation-alignment"]),"text-field":new ca(X.layout_symbol["text-field"]),"text-font":new ca(X.layout_symbol["text-font"]),"text-size":new ca(X.layout_symbol["text-size"]),"text-max-width":new ca(X.layout_symbol["text-max-width"]),"text-line-height":new la(X.layout_symbol["text-line-height"]),"text-letter-spacing":new ca(X.layout_symbol["text-letter-spacing"]),"text-justify":new ca(X.layout_symbol["text-justify"]),"text-radial-offset":new ca(X.layout_symbol["text-radial-offset"]),"text-variable-anchor":new la(X.layout_symbol["text-variable-anchor"]),"text-variable-anchor-offset":new ca(X.layout_symbol["text-variable-anchor-offset"]),"text-anchor":new ca(X.layout_symbol["text-anchor"]),"text-max-angle":new la(X.layout_symbol["text-max-angle"]),"text-writing-mode":new la(X.layout_symbol["text-writing-mode"]),"text-rotate":new ca(X.layout_symbol["text-rotate"]),"text-padding":new la(X.layout_symbol["text-padding"]),"text-keep-upright":new la(X.layout_symbol["text-keep-upright"]),"text-transform":new ca(X.layout_symbol["text-transform"]),"text-offset":new ca(X.layout_symbol["text-offset"]),"text-allow-overlap":new la(X.layout_symbol["text-allow-overlap"]),"text-overlap":new la(X.layout_symbol["text-overlap"]),"text-ignore-placement":new la(X.layout_symbol["text-ignore-placement"]),"text-optional":new la(X.layout_symbol["text-optional"])})}};class _u{constructor(e){if(void 0===e.property.overrides)throw new Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=e.property.overrides?e.property.overrides.runtimeType:ue,this.defaultValue=e}evaluate(e){if(e.formattedSection){let t=this.defaultValue.property.overrides;if(t&&t.hasOverride(e.formattedSection))return t.getOverride(e.formattedSection)}return e.feature&&e.featureState?this.defaultValue.evaluate(e.feature,e.featureState):this.defaultValue.property.specification.default}eachChild(e){this.defaultValue.isConstant()||e(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}ki("FormatSectionOverride",_u,{omit:["defaultValue"]});class wu extends ma{constructor(e){super(e,bu)}recalculate(e,t){if(super.recalculate(e,t),"auto"===this.layout.get("icon-rotation-alignment")&&(this.layout._values["icon-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-rotation-alignment")&&(this.layout._values["text-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]="map"===this.layout.get("text-rotation-alignment")?"map":"viewport"),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){let e=this.layout.get("text-writing-mode");if(e){let t=[];for(let r of e)t.indexOf(r)<0&&t.push(r);this.layout._values["text-writing-mode"]=t}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(e,t,r,n){let i=this.layout.get(e).evaluate(t,{},r,n),a=this._unevaluatedLayout._values[e];return a.isDataDriven()||_n(a.value)||!i?i:(o=t.properties,i.replace(/{([^{}]+)}/g,((e,t)=>o&&t in o?String(o[t]):"")));var o}createBucket(e){return new xu(e)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(let e of bu.paint.overridableProperties){if(!wu.hasPaintOverride(this.layout,e))continue;let t=this.paint.get(e),r=new _u(t),n=new bn(r,t.property.specification),i=null;i="constant"===t.value.kind||"source"===t.value.kind?new kn("source",n):new Tn("composite",n,t.value.zoomStops),this.paint._values[e]=new oa(t.property,i,t.parameters)}}_handleOverridablePaintPropertyUpdate(e,t,r){return!(!this.layout||t.isDataDriven()||r.isDataDriven())&&wu.hasPaintOverride(this.layout,e)}static hasPaintOverride(e,t){let r=e.get("text-field"),n=bu.paint.properties[t],i=!1,a=e=>{for(let t of e)if(n.overrides&&n.overrides.hasOverride(t))return void(i=!0)};if("constant"===r.value.kind&&r.value.value instanceof Je)a(r.value.value.sections);else if("source"===r.value.kind){let e=t=>{i||(t instanceof st&&at(t.value)===ve?a(t.value.sections):t instanceof Yt?a(t.sections):t.eachChild(e))},t=r.value;t._styleExpression&&e(t._styleExpression.expression)}return i}}let ku;var Tu={get paint(){return ku=ku||new fa({"background-color":new la(X.paint_background["background-color"]),"background-pattern":new ha(X.paint_background["background-pattern"]),"background-opacity":new la(X.paint_background["background-opacity"])})}};class Au extends ma{constructor(e){super(e,Tu)}}let Mu;var Su={get paint(){return Mu=Mu||new fa({"raster-opacity":new la(X.paint_raster["raster-opacity"]),"raster-hue-rotate":new la(X.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new la(X.paint_raster["raster-brightness-min"]),"raster-brightness-max":new la(X.paint_raster["raster-brightness-max"]),"raster-saturation":new la(X.paint_raster["raster-saturation"]),"raster-contrast":new la(X.paint_raster["raster-contrast"]),"raster-resampling":new la(X.paint_raster["raster-resampling"]),"raster-fade-duration":new la(X.paint_raster["raster-fade-duration"])})}};class Eu extends ma{constructor(e){super(e,Su)}}class Cu extends ma{constructor(e){super(e,{}),this.onAdd=e=>{this.implementation.onAdd&&this.implementation.onAdd(e,e.painter.context.gl)},this.onRemove=e=>{this.implementation.onRemove&&this.implementation.onRemove(e,e.painter.context.gl)},this.implementation=e}is3D(){return"3d"===this.implementation.renderingMode}hasOffscreenPass(){return void 0!==this.implementation.prerender}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error("Custom layers cannot be serialized")}}class Lu{constructor(e){this._methodToThrottle=e,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 Iu=6371008.8;class Pu{constructor(e,t){if(isNaN(e)||isNaN(t))throw new Error(`Invalid LngLat object: (${e}, ${t})`);if(this.lng=+e,this.lat=+t,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new Pu(v(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(e){let t=Math.PI/180,r=this.lat*t,n=e.lat*t,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((e.lng-this.lng)*t);return Iu*Math.acos(Math.min(i,1))}static convert(e){if(e instanceof Pu)return e;if(Array.isArray(e)&&(2===e.length||3===e.length))return new Pu(Number(e[0]),Number(e[1]));if(!Array.isArray(e)&&"object"==typeof e&&null!==e)return new Pu(Number("lng"in e?e.lng:e.lon),Number(e.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 zu=2*Math.PI*Iu;function Ou(e){return zu*Math.cos(e*Math.PI/180)}function Du(e){return(180+e)/360}function Ru(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function ju(e,t){return e/Ou(t)}function Fu(e){return 360/Math.PI*Math.atan(Math.exp((180-360*e)*Math.PI/180))-90}class Bu{constructor(e,t,r=0){this.x=+e,this.y=+t,this.z=+r}static fromLngLat(e,t=0){let r=Pu.convert(e);return new Bu(Du(r.lng),Ru(r.lat),ju(t,r.lat))}toLngLat(){return new Pu(360*this.x-180,Fu(this.y))}toAltitude(){return this.z*Ou(Fu(this.y))}meterInMercatorCoordinateUnits(){return 1/zu*(e=Fu(this.y),1/Math.cos(e*Math.PI/180));var e}}function Nu(e,t,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return[e*n-2*Math.PI*6378137/2,t*n-2*Math.PI*6378137/2]}class Uu{constructor(e,t,r){if(i=t,a=r,(n=e)<0||n>25||a<0||a>=Math.pow(2,n)||i<0||i>=Math.pow(2,n))throw new Error(`x=${t}, y=${r}, z=${e} outside of bounds. 0<=x<${Math.pow(2,e)}, 0<=y<${Math.pow(2,e)} 0<=z<=25 `);var n,i,a;this.z=e,this.x=t,this.y=r,this.key=Hu(0,e,e,t,r)}equals(e){return this.z===e.z&&this.x===e.x&&this.y===e.y}url(e,t,r){let n=(a=this.y,o=this.z,s=Nu(256*(i=this.x),256*(a=Math.pow(2,o)-a-1),o),l=Nu(256*(i+1),256*(a+1),o),s[0]+","+s[1]+","+l[0]+","+l[1]);var i,a,o,s,l;let c=function(e,t,r){let n,i="";for(let a=e;a>0;a--)n=1<1?"@2x":"").replace(/{quadkey}/g,c).replace(/{bbox-epsg-3857}/g,n)}isChildOf(e){let t=this.z-e.z;return t>0&&e.x===this.x>>t&&e.y===this.y>>t}getTilePoint(e){let t=Math.pow(2,this.z);return new a((e.x*t-this.x)*Yo,(e.y*t-this.y)*Yo)}toString(){return`${this.z}/${this.x}/${this.y}`}}class Vu{constructor(e,t){this.wrap=e,this.canonical=t,this.key=Hu(e,t.z,t.z,t.x,t.y)}}class qu{constructor(e,t,r,n,i){if(e= z; overscaledZ = ${e}; z = ${r}`);this.overscaledZ=e,this.wrap=t,this.canonical=new Uu(r,+n,+i),this.key=Hu(t,e,r,n,i)}clone(){return new qu(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(e){return this.overscaledZ===e.overscaledZ&&this.wrap===e.wrap&&this.canonical.equals(e.canonical)}scaledTo(e){if(e>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${e}; overscaledZ = ${this.overscaledZ}`);let t=this.canonical.z-e;return e>this.canonical.z?new qu(e,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new qu(e,this.wrap,e,this.canonical.x>>t,this.canonical.y>>t)}calculateScaledKey(e,t){if(e>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${e}; overscaledZ = ${this.overscaledZ}`);let r=this.canonical.z-e;return e>this.canonical.z?Hu(this.wrap*+t,e,this.canonical.z,this.canonical.x,this.canonical.y):Hu(this.wrap*+t,e,e,this.canonical.x>>r,this.canonical.y>>r)}isChildOf(e){if(e.wrap!==this.wrap)return!1;let t=this.canonical.z-e.canonical.z;return 0===e.overscaledZ||e.overscaledZ>t&&e.canonical.y===this.canonical.y>>t}children(e){if(this.overscaledZ>=e)return[new qu(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let t=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new qu(t,this.wrap,t,r,n),new qu(t,this.wrap,t,r+1,n),new qu(t,this.wrap,t,r,n+1),new qu(t,this.wrap,t,r+1,n+1)]}isLessThan(e){return this.wrape.wrap)&&(this.overscaledZe.overscaledZ)&&(this.canonical.xe.canonical.x)&&this.canonical.ythis.max&&(this.max=r),r=this.dim+1||t<-1||t>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(t+1)*this.stride+(e+1)}unpack(e,t,r){return e*this.redFactor+t*this.greenFactor+r*this.blueFactor-this.baseShift}getPixels(){return new Is({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(e,t,r){if(this.dim!==e.dim)throw new Error("dem dimension mismatch");let n=t*this.dim,i=t*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(t){case-1:n=i-1;break;case 1:i=n+1}switch(r){case-1:a=o-1;break;case 1:o=a+1}let s=-t*this.dim,l=-r*this.dim;for(let t=a;t=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${e} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[e]}}class Yu{constructor(e,t,r,n,i){this.type="Feature",this._vectorTileFeature=e,e._z=t,e._x=r,e._y=n,this.properties=e.properties,this.id=i}get geometry(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(e){this._geometry=e}toJSON(){let e={geometry:this.geometry};for(let t in this)"_geometry"!==t&&"_vectorTileFeature"!==t&&(e[t]=this[t]);return e}}class Xu{constructor(e,t){this.tileID=e,this.x=e.canonical.x,this.y=e.canonical.y,this.z=e.canonical.z,this.grid=new _i(Yo,16,0),this.grid3D=new _i(Yo,16,0),this.featureIndexArray=new to,this.promoteId=t}insert(e,t,r,n,i,a){let o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);let s=a?this.grid3D:this.grid;for(let e=0;e=0&&n[3]>=0&&s.insert(o,n[0],n[1],n[2],n[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new _l.VectorTile(new Dc(this.rawTileData)).layers,this.sourceLayerCoder=new Wu(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers}query(e,t,r,n){this.loadVTLayers();let i=e.params||{},o=Yo/e.tileSize/e.scale,s=Ln(i.filter),l=e.queryGeometry,c=e.queryPadding*o,u=$u(l),h=this.grid.query(u.minX-c,u.minY-c,u.maxX+c,u.maxY+c),d=$u(e.cameraQueryGeometry),f=this.grid3D.query(d.minX-c,d.minY-c,d.maxX+c,d.maxY+c,((t,r,n,i)=>function(e,t,r,n,i){for(let a of e)if(t<=a.x&&r<=a.y&&n>=a.x&&i>=a.y)return!0;let o=[new a(t,r),new a(t,i),new a(n,i),new a(n,r)];if(e.length>2)for(let t of o)if(cs(e,t))return!0;for(let t=0;t(d||(d=$o(t)),r.queryIntersectsFeature(l,t,n,d,this.z,e.transform,o,e.pixelPosMatrix))))}return m}loadMatchingFeature(e,t,r,n,i,a,o,s,l,c,u){let h=this.bucketLayerIDs[t];if(a&&!function(e,t){for(let r=0;r=0)return!0;return!1}(a,h))return;let d=this.sourceLayerCoder.decode(r),f=this.vtLayers[d].feature(n);if(i.needGeometry){let e=Ko(f,!0);if(!i.filter(new Qi(this.tileID.overscaledZ),e,this.tileID.canonical))return}else if(!i.filter(new Qi(this.tileID.overscaledZ),f))return;let p=this.getId(f,d);for(let t=0;t{let o=t instanceof sa?t.get(a):null;return o&&o.evaluate?o.evaluate(r,n,i):o}))}function $u(e){let t=1/0,r=1/0,n=-1/0,i=-1/0;for(let a of e)t=Math.min(t,a.x),r=Math.min(r,a.y),n=Math.max(n,a.x),i=Math.max(i,a.y);return{minX:t,minY:r,maxX:n,maxY:i}}function Ku(e,t){return t-e}function Ju(e,t,r,n,i){let o=[];for(let s=0;s=n&&u.x>=n||(s.x>=n?s=new a(n,s.y+(n-s.x)/(u.x-s.x)*(u.y-s.y))._round():u.x>=n&&(u=new a(n,s.y+(n-s.x)/(u.x-s.x)*(u.y-s.y))._round()),s.y>=i&&u.y>=i||(s.y>=i?s=new a(s.x+(i-s.y)/(u.y-s.y)*(u.x-s.x),i)._round():u.y>=i&&(u=new a(s.x+(i-s.y)/(u.y-s.y)*(u.x-s.x),i)._round()),l&&s.equals(l[l.length-1])||(l=[s],o.push(l)),l.push(u)))))}}return o}ki("FeatureIndex",Xu,{omit:["rawTileData","sourceLayerCoder"]});class Qu extends a{constructor(e,t,r,n){super(e,t),this.angle=r,void 0!==n&&(this.segment=n)}clone(){return new Qu(this.x,this.y,this.angle,this.segment)}}function eh(e,t,r,n,i){if(void 0===t.segment||0===r)return!0;let a=t,o=t.segment+1,s=0;for(;s>-r/2;){if(o--,o<0)return!1;s-=e[o].dist(a),a=e[o]}s+=e[o].dist(e[o+1]),o++;let l=[],c=0;for(;sn;)c-=l.shift().angleDelta;if(c>i)return!1;o++,s+=t.dist(r)}return!0}function th(e){let t=0;for(let r=0;rc){let u=(c-l)/a,h=Pt.number(n.x,i.x,u),d=Pt.number(n.y,i.y,u),f=new Qu(h,d,i.angleTo(n),r);return f._round(),!o||eh(e,f,s,o,t)?f:void 0}l+=a}}function ah(e,t,r,n,i,a,o,s,l){let c=rh(n,a,o),u=nh(n,i),h=u*o,d=0===e[0].x||e[0].x===l||0===e[0].y||e[0].y===l;return t-h=0&&y=0&&v=0&&d+c<=u){let r=new Qu(y,v,m,t);r._round(),n&&!eh(e,r,a,n,i)||f.push(r)}}h+=p}return s||f.length||o||(f=oh(e,h/2,r,n,i,a,o,!0,l)),f}function sh(e,t,r,n){let i=[],o=e.image,s=o.pixelRatio,l=o.paddedRect.w-2,c=o.paddedRect.h-2,u={x1:e.left,y1:e.top,x2:e.right,y2:e.bottom},h=o.stretchX||[[0,l]],d=o.stretchY||[[0,c]],f=(e,t)=>e+t[1]-t[0],p=h.reduce(f,0),m=d.reduce(f,0),g=l-p,y=c-m,v=0,x=p,b=0,_=m,w=0,k=g,T=0,A=y;if(o.content&&n){let t=o.content,r=t[2]-t[0],n=t[3]-t[1];(o.textFitWidth||o.textFitHeight)&&(u=iu(e)),v=lh(h,0,t[0]),b=lh(d,0,t[1]),x=lh(h,t[0],t[2]),_=lh(d,t[1],t[3]),w=t[0]-v,T=t[1]-b,k=r-x,A=n-_}let M=u.x1,S=u.y1,E=u.x2-M,C=u.y2-S,L=(e,n,i,l)=>{let c=uh(e.stretch-v,x,E,M),u=hh(e.fixed-w,k,e.stretch,p),h=uh(n.stretch-b,_,C,S),d=hh(n.fixed-T,A,n.stretch,m),f=uh(i.stretch-v,x,E,M),g=hh(i.fixed-w,k,i.stretch,p),y=uh(l.stretch-b,_,C,S),L=hh(l.fixed-T,A,l.stretch,m),I=new a(c,h),P=new a(f,h),z=new a(f,y),O=new a(c,y),D=new a(u/s,d/s),R=new a(g/s,L/s),j=t*Math.PI/180;if(j){let e=Math.sin(j),t=Math.cos(j),r=[t,-e,e,t];I._matMult(r),P._matMult(r),O._matMult(r),z._matMult(r)}let F=e.stretch+e.fixed,B=n.stretch+n.fixed;return{tl:I,tr:P,bl:O,br:z,tex:{x:o.paddedRect.x+1+F,y:o.paddedRect.y+1+B,w:i.stretch+i.fixed-F,h:l.stretch+l.fixed-B},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:D,pixelOffsetBR:R,minFontScaleX:k/s/E,minFontScaleY:A/s/C,isSDF:r}};if(n&&(o.stretchX||o.stretchY)){let e=ch(h,g,p),t=ch(d,y,m);for(let r=0;r0&&(n=Math.max(10,n),this.circleDiameter=n)}else{let c=null!==(h=o.image)&&void 0!==h&&h.content&&(o.image.textFitWidth||o.image.textFitHeight)?iu(o):{x1:o.left,y1:o.top,x2:o.right,y2:o.bottom};c.y1=c.y1*s-l[0],c.y2=c.y2*s+l[2],c.x1=c.x1*s-l[3],c.x2=c.x2*s+l[1];let d=o.collisionPadding;if(d&&(c.x1-=d[0]*s,c.y1-=d[1]*s,c.x2+=d[2]*s,c.y2+=d[3]*s),u){let e=new a(c.x1,c.y1),t=new a(c.x2,c.y1),r=new a(c.x1,c.y2),n=new a(c.x2,c.y2),i=u*Math.PI/180;e._rotate(i),t._rotate(i),r._rotate(i),n._rotate(i),c.x1=Math.min(e.x,t.x,r.x,n.x),c.x2=Math.max(e.x,t.x,r.x,n.x),c.y1=Math.min(e.y,t.y,r.y,n.y),c.y2=Math.max(e.y,t.y,r.y,n.y)}e.emplaceBack(t.x,t.y,c.x1,c.y1,c.x2,c.y2,r,n,i)}this.boxEndIndex=e.length}}class fh{constructor(e=[],t=(e,t)=>et?1:0){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(0===this.length)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:r}=this,n=t[e];for(;e>0;){let i=e-1>>1,a=t[i];if(r(n,a)>=0)break;t[e]=a,e=i}t[e]=n}_down(e){let{data:t,compare:r}=this,n=this.length>>1,i=t[e];for(;e=0)break;t[e]=t[n],e=n}t[e]=i}}function ph(e,t=1,r=!1){let n=1/0,i=1/0,o=-1/0,s=-1/0,l=e[0];for(let e=0;eo)&&(o=t.x),(!e||t.y>s)&&(s=t.y)}let c=Math.min(o-n,s-i),u=c/2,h=new fh([],mh);if(0===c)return new a(n,i);for(let t=n;td.d||!d.d)&&(d=n,r&&console.log("found best %d after %d probes",Math.round(1e4*n.d)/1e4,f)),n.max-d.d<=t||(u=n.h/2,h.push(new gh(n.p.x-u,n.p.y-u,u,e)),h.push(new gh(n.p.x+u,n.p.y-u,u,e)),h.push(new gh(n.p.x-u,n.p.y+u,u,e)),h.push(new gh(n.p.x+u,n.p.y+u,u,e)),f+=4)}return r&&(console.log(`num probes: ${f}`),console.log(`best distance: ${d.d}`)),d.p}function mh(e,t){return t.max-e.max}function gh(e,t,r,n){this.p=new a(e,t),this.h=r,this.d=function(e,t){let r=!1,n=1/0;for(let i=0;ie.y!=s.y>e.y&&e.x<(s.x-i.x)*(e.y-i.y)/(s.y-i.y)+i.x&&(r=!r),n=Math.min(n,ss(e,i,s))}}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}var yh;e.aq=void 0,(yh=e.aq||(e.aq={}))[yh.center=1]="center",yh[yh.left=2]="left",yh[yh.right=3]="right",yh[yh.top=4]="top",yh[yh.bottom=5]="bottom",yh[yh["top-left"]=6]="top-left",yh[yh["top-right"]=7]="top-right",yh[yh["bottom-left"]=8]="bottom-left",yh[yh["bottom-right"]=9]="bottom-right";let vh=Number.POSITIVE_INFINITY;function xh(e,t){return t[1]!==vh?function(e,t,r){let n=0,i=0;switch(t=Math.abs(t),r=Math.abs(r),e){case"top-right":case"top-left":case"top":i=r-7;break;case"bottom-right":case"bottom-left":case"bottom":i=7-r}switch(e){case"top-right":case"bottom-right":case"right":n=-t;break;case"top-left":case"bottom-left":case"left":n=t}return[n,i]}(e,t[0],t[1]):function(e,t){let r=0,n=0;t<0&&(t=0);let i=t/Math.SQRT2;switch(e){case"top-right":case"top-left":n=i-7;break;case"bottom-right":case"bottom-left":n=7-i;break;case"bottom":n=7-t;break;case"top":n=t-7}switch(e){case"top-right":case"bottom-right":r=-i;break;case"top-left":case"bottom-left":r=i;break;case"left":r=t;break;case"right":r=-t}return[r,n]}(e,t[0])}function bh(e,t,r){var n;let i=e.layout,a=null===(n=i.get("text-variable-anchor-offset"))||void 0===n?void 0:n.evaluate(t,{},r);if(a){let e=a.values,t=[];for(let r=0;re*dc));n.startsWith("top")?i[1]-=7:n.startsWith("bottom")&&(i[1]+=7),t[r+1]=i}return new tt(t)}let o=i.get("text-variable-anchor");if(o){let n;n=void 0!==e._unevaluatedLayout.getValue("text-radial-offset")?[i.get("text-radial-offset").evaluate(t,{},r)*dc,vh]:i.get("text-offset").evaluate(t,{},r).map((e=>e*dc));let a=[];for(let e of o)a.push(e,xh(e,n));return new tt(a)}return null}function _h(e){switch(e){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function wh(t,r,n,i,a,o,s,l,c,u,h){let d=o.textMaxSize.evaluate(r,{});void 0===d&&(d=s);let f,p=t.layers[0].layout,m=p.get("icon-offset").evaluate(r,{},h),g=Th(n.horizontal),y=s/24,v=t.tilePixelRatio*y,x=t.tilePixelRatio*d/24,b=t.tilePixelRatio*l,_=t.tilePixelRatio*p.get("symbol-spacing"),w=p.get("text-padding")*t.tilePixelRatio,k=function(e,t,r,n=1){let i=e.get("icon-padding").evaluate(t,{},r),a=i&&i.values;return[a[0]*n,a[1]*n,a[2]*n,a[3]*n]}(p,r,h,t.tilePixelRatio),T=p.get("text-max-angle")/180*Math.PI,M="viewport"!==p.get("text-rotation-alignment")&&"point"!==p.get("symbol-placement"),S="map"===p.get("icon-rotation-alignment")&&"point"!==p.get("symbol-placement"),E=p.get("symbol-placement"),C=_/2,L=p.get("icon-text-fit");i&&"none"!==L&&(t.allowVerticalPlacement&&n.vertical&&(f=au(i,n.vertical,L,p.get("icon-text-fit-padding"),m,y)),g&&(i=au(i,g,L,p.get("icon-text-fit-padding"),m,y)));let I=(l,d)=>{d.x<0||d.x>=Yo||d.y<0||d.y>=Yo||function(t,r,n,i,a,o,s,l,c,u,h,d,f,p,m,g,y,v,x,b,_,w,k,T,M){let S,E,C,L,I=t.addToLineVertexArray(r,n),P=0,z=0,O=0,D=0,R=-1,j=-1,F={},B=Ao("");if(t.allowVerticalPlacement&&i.vertical){let e=l.layout.get("text-rotate").evaluate(_,{},T)+90;C=new dh(c,r,u,h,d,i.vertical,f,p,m,e),s&&(L=new dh(c,r,u,h,d,s,y,v,m,e))}if(a){let n=l.layout.get("icon-rotate").evaluate(_,{}),i="none"!==l.layout.get("icon-text-fit"),o=sh(a,n,k,i),f=s?sh(s,n,k,i):void 0;E=new dh(c,r,u,h,d,a,y,v,!1,n),P=4*o.length;let p=t.iconSizeData,m=null;"source"===p.kind?(m=[ou*l.layout.get("icon-size").evaluate(_,{})],m[0]>su&&A(`${t.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)):"composite"===p.kind&&(m=[ou*w.compositeIconSizes[0].evaluate(_,{},T),ou*w.compositeIconSizes[1].evaluate(_,{},T)],(m[0]>su||m[1]>su)&&A(`${t.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)),t.addSymbols(t.icon,o,m,b,x,_,e.ah.none,r,I.lineStartIndex,I.lineLength,-1,T),R=t.icon.placedSymbolArray.length-1,f&&(z=4*f.length,t.addSymbols(t.icon,f,m,b,x,_,e.ah.vertical,r,I.lineStartIndex,I.lineLength,-1,T),j=t.icon.placedSymbolArray.length-1)}let N=Object.keys(i.horizontal);for(let n of N){let a=i.horizontal[n];if(!S){B=Ao(a.text);let e=l.layout.get("text-rotate").evaluate(_,{},T);S=new dh(c,r,u,h,d,a,f,p,m,e)}let s=1===a.positionedLines.length;if(O+=kh(t,r,a,o,l,m,_,g,I,i.vertical?e.ah.horizontal:e.ah.horizontalOnly,s?N:[n],F,R,w,T),s)break}i.vertical&&(D+=kh(t,r,i.vertical,o,l,m,_,g,I,e.ah.vertical,["vertical"],F,j,w,T));let U=S?S.boxStartIndex:t.collisionBoxArray.length,V=S?S.boxEndIndex:t.collisionBoxArray.length,q=C?C.boxStartIndex:t.collisionBoxArray.length,H=C?C.boxEndIndex:t.collisionBoxArray.length,G=E?E.boxStartIndex:t.collisionBoxArray.length,W=E?E.boxEndIndex:t.collisionBoxArray.length,Y=L?L.boxStartIndex:t.collisionBoxArray.length,X=L?L.boxEndIndex:t.collisionBoxArray.length,Z=-1,$=(e,t)=>e&&e.circleDiameter?Math.max(e.circleDiameter,t):t;Z=$(S,Z),Z=$(C,Z),Z=$(E,Z),Z=$(L,Z);let K=Z>-1?1:0;K&&(Z*=M/dc),t.glyphOffsetArray.length>=xu.MAX_GLYPHS&&A("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==_.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,_.sortKey);let J=bh(l,_,T),[Q,ee]=function(t,r){let n=t.length,i=r?.values;if(i?.length>0)for(let r=0;r=0?F.right:-1,F.center>=0?F.center:-1,F.left>=0?F.left:-1,F.vertical||-1,R,j,B,U,V,q,H,G,W,Y,X,u,O,D,P,z,K,0,f,Z,Q,ee)}(t,d,l,n,i,a,f,t.layers[0],t.collisionBoxArray,r.index,r.sourceLayerIndex,t.index,v,[w,w,w,w],M,c,b,k,S,m,r,o,u,h,s)};if("line"===E)for(let e of Ju(r.geometry,0,0,Yo,Yo)){let r=ah(e,_,T,n.vertical||g,i,24,x,t.overscaling,Yo);for(let n of r)g&&Ah(t,g.text,C,n)||I(e,n)}else if("line-center"===E){for(let e of r.geometry)if(e.length>1){let t=ih(e,T,n.vertical||g,i,24,x);t&&I(e,t)}}else if("Polygon"===r.type)for(let e of br(r.geometry,0)){let t=ph(e,16);I(e[0],new Qu(t.x,t.y,0))}else if("LineString"===r.type)for(let e of r.geometry)I(e,new Qu(e[0].x,e[0].y,0));else if("Point"===r.type)for(let e of r.geometry)for(let t of e)I([t],new Qu(t.x,t.y,0))}function kh(e,t,r,n,i,o,s,l,c,u,h,d,f,p,m){let g=function(e,t,r,n,i,o,s,l){let c=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,u=[];for(let e of t.positionedLines)for(let n of e.positionedGlyphs){if(!n.rect)continue;let o=n.rect||{},h=4,d=!0,f=1,p=0,m=(i||l)&&n.vertical,g=n.metrics.advance*n.scale/2;if(l&&t.verticalizable&&(p=e.lineOffset/2-(n.imageName?-(dc-n.metrics.width*n.scale)/2:(n.scale-1)*dc)),n.imageName){let e=s[n.imageName];d=e.sdf,f=e.pixelRatio,h=1/f}let y=i?[n.x+g,n.y]:[0,0],v=i?[0,0]:[n.x+g+r[0],n.y+r[1]-p],x=[0,0];m&&(x=v,v=[0,0]);let b=n.metrics.isDoubleResolution?2:1,_=(n.metrics.left-h)*n.scale-g+v[0],w=(-n.metrics.top-h)*n.scale+v[1],k=_+o.w/b*n.scale/f,T=w+o.h/b*n.scale/f,A=new a(_,w),M=new a(k,w),S=new a(_,T),E=new a(k,T);if(m){let e=new a(-g,g-Vc),t=-Math.PI/2,r=12-g,i=new a(22-r,-(n.imageName?r:0)),o=new a(...x);A._rotateAround(t,e)._add(i)._add(o),M._rotateAround(t,e)._add(i)._add(o),S._rotateAround(t,e)._add(i)._add(o),E._rotateAround(t,e)._add(i)._add(o)}if(c){let e=Math.sin(c),t=Math.cos(c),r=[t,-e,e,t];A._matMult(r),M._matMult(r),S._matMult(r),E._matMult(r)}let C=new a(0,0),L=new a(0,0);u.push({tl:A,tr:M,bl:S,br:E,tex:o,writingMode:t.writingMode,glyphOffset:y,sectionIndex:n.sectionIndex,isSDF:d,pixelOffsetTL:C,pixelOffsetBR:L,minFontScaleX:0,minFontScaleY:0})}return u}(0,r,l,i,o,s,n,e.allowVerticalPlacement),y=e.textSizeData,v=null;"source"===y.kind?(v=[ou*i.layout.get("text-size").evaluate(s,{})],v[0]>su&&A(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)):"composite"===y.kind&&(v=[ou*p.compositeTextSizes[0].evaluate(s,{},m),ou*p.compositeTextSizes[1].evaluate(s,{},m)],(v[0]>su||v[1]>su)&&A(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)),e.addSymbols(e.text,g,v,l,o,s,u,t,c.lineStartIndex,c.lineLength,f,m);for(let t of h)d[t]=e.text.placedSymbolArray.length-1;return 4*g.length}function Th(e){for(let t in e)return e[t];return null}function Ah(e,t,r,n){let i=e.compareText;if(t in i){let e=i[t];for(let t=e.length-1;t>=0;t--)if(n.dist(e[t])>4;if(1!==n)throw new Error(`Got v${n} data when expected v1.`);let i=Mh[15&r];if(!i)throw new Error("Unrecognized array type.");let[a]=new Uint16Array(e,2,1),[o]=new Uint32Array(e,4,1);return new Sh(o,a,i,e)}constructor(e,t=64,r=Float64Array,n){if(isNaN(e)||e<0)throw new Error(`Unpexpected numItems value: ${e}.`);this.numItems=+e,this.nodeSize=Math.min(Math.max(+t,2),65535),this.ArrayType=r,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;let i=Mh.indexOf(this.ArrayType),a=2*e*this.ArrayType.BYTES_PER_ELEMENT,o=e*this.IndexArrayType.BYTES_PER_ELEMENT,s=(8-o%8)%8;if(i<0)throw new Error(`Unexpected typed array class: ${r}.`);n&&n instanceof ArrayBuffer?(this.data=n,this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+o+s,2*e),this._pos=2*e,this._finished=!0):(this.data=new ArrayBuffer(8+a+o+s),this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+o+s,2*e),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+i]),new Uint16Array(this.data,2,1)[0]=t,new Uint32Array(this.data,4,1)[0]=e)}add(e,t){let r=this._pos>>1;return this.ids[r]=r,this.coords[this._pos++]=e,this.coords[this._pos++]=t,r}finish(){let e=this._pos>>1;if(e!==this.numItems)throw new Error(`Added ${e} items when expected ${this.numItems}.`);return Eh(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,t,r,n){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:i,coords:a,nodeSize:o}=this,s=[0,i.length-1,0],l=[];for(;s.length;){let c=s.pop()||0,u=s.pop()||0,h=s.pop()||0;if(u-h<=o){for(let o=h;o<=u;o++){let s=a[2*o],c=a[2*o+1];s>=e&&s<=r&&c>=t&&c<=n&&l.push(i[o])}continue}let d=h+u>>1,f=a[2*d],p=a[2*d+1];f>=e&&f<=r&&p>=t&&p<=n&&l.push(i[d]),(0===c?e<=f:t<=p)&&(s.push(h),s.push(d-1),s.push(1-c)),(0===c?r>=f:n>=p)&&(s.push(d+1),s.push(u),s.push(1-c))}return l}within(e,t,r){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:n,coords:i,nodeSize:a}=this,o=[0,n.length-1,0],s=[],l=r*r;for(;o.length;){let c=o.pop()||0,u=o.pop()||0,h=o.pop()||0;if(u-h<=a){for(let r=h;r<=u;r++)Ph(i[2*r],i[2*r+1],e,t)<=l&&s.push(n[r]);continue}let d=h+u>>1,f=i[2*d],p=i[2*d+1];Ph(f,p,e,t)<=l&&s.push(n[d]),(0===c?e-r<=f:t-r<=p)&&(o.push(h),o.push(d-1),o.push(1-c)),(0===c?e+r>=f:t+r>=p)&&(o.push(d+1),o.push(u),o.push(1-c))}return s}}function Eh(e,t,r,n,i,a){if(i-n<=r)return;let o=n+i>>1;Ch(e,t,o,n,i,a),Eh(e,t,r,n,o-1,1-a),Eh(e,t,r,o+1,i,1-a)}function Ch(e,t,r,n,i,a){for(;i>n;){if(i-n>600){let o=i-n+1,s=r-n+1,l=Math.log(o),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1);Ch(e,t,r,Math.max(n,Math.floor(r-s*c/o+u)),Math.min(i,Math.floor(r+(o-s)*c/o+u)),a)}let o=t[2*r+a],s=n,l=i;for(Lh(e,t,n,r),t[2*i+a]>o&&Lh(e,t,n,i);so;)l--}t[2*n+a]===o?Lh(e,t,n,l):(l++,Lh(e,t,l,i)),l<=r&&(n=l+1),r<=l&&(i=l-1)}}function Lh(e,t,r,n){Ih(e,r,n),Ih(t,2*r,2*n),Ih(t,2*r+1,2*n+1)}function Ih(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}function Ph(e,t,r,n){let i=e-r,a=t-n;return i*i+a*a}var zh;e.bg=void 0,(zh=e.bg||(e.bg={})).create="create",zh.load="load",zh.fullLoad="fullLoad";let Oh=null,Dh=[],Rh=1e3/60,jh="loadTime",Fh="fullLoadTime",Bh={mark(e){performance.mark(e)},frame(e){let t=e;null!=Oh&&Dh.push(t-Oh),Oh=t},clearMetrics(){Oh=null,Dh=[],performance.clearMeasures(jh),performance.clearMeasures(Fh);for(let t in e.bg)performance.clearMarks(e.bg[t])},getPerformanceMetrics(){performance.measure(jh,e.bg.create,e.bg.load),performance.measure(Fh,e.bg.create,e.bg.fullLoad);let t=performance.getEntriesByName(jh)[0].duration,r=performance.getEntriesByName(Fh)[0].duration,n=Dh.length,i=1/(Dh.reduce(((e,t)=>e+t),0)/n/1e3),a=Dh.filter((e=>e>Rh)).reduce(((e,t)=>e+(t-Rh)/Rh),0);return{loadTime:t,fullLoadTime:r,fps:i,percentDroppedFrames:a/(n+a)*100,totalFrames:n}}};e.$=class extends ka{},e.A=gs,e.B=yi,e.C=function(e){if(null==E){let t=e.navigator?e.navigator.userAgent:null;E=!!e.safari||!(!t||!(/\b(iPad|iPhone|iPod)\b/.test(t)||t.match("Safari")&&!t.match("Chrome")))}return E},e.D=la,e.E=Y,e.F=class{constructor(e,t){var r,n,i;this.target=e,this.mapId=t,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new Lu((()=>this.process())),this.subscription=(r=this.target,n="message",i=e=>this.receive(e),r.addEventListener(n,i,!1),{unsubscribe:()=>{r.removeEventListener(n,i,!1)}}),this.globalScope=S(self)?e:window}registerMessageHandler(e,t){this.messageHandlers[e]=t}sendAsync(e,t){return new Promise(((r,n)=>{let i=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[i]={resolve:r,reject:n},t&&t.signal.addEventListener("abort",(()=>{delete this.resolveRejects[i];let t={id:i,type:"",origin:location.origin,targetMapId:e.targetMapId,sourceMapId:this.mapId};this.target.postMessage(t)}),{once:!0});let a=[],o=Object.assign(Object.assign({},e),{id:i,sourceMapId:this.mapId,origin:location.origin,data:Si(e.data,a)});this.target.postMessage(o,{transfer:a})}))}receive(e){let t=e.data,r=t.id;if(!("file://"!==t.origin&&"file://"!==location.origin&&"resource://android"!==t.origin&&"resource://android"!==location.origin&&t.origin!==location.origin||t.targetMapId&&this.mapId!==t.targetMapId)){if(""===t.type){delete this.tasks[r];let e=this.abortControllers[r];return delete this.abortControllers[r],void(e&&e.abort())}if(S(self)||t.mustQueue)return this.tasks[r]=t,this.taskQueue.push(r),void this.invoker.trigger();this.processTask(r,t)}}process(){if(0===this.taskQueue.length)return;let e=this.taskQueue.shift(),t=this.tasks[e];delete this.tasks[e],this.taskQueue.length>0&&this.invoker.trigger(),t&&this.processTask(e,t)}processTask(e,r){return t(this,void 0,void 0,(function*(){if(""===r.type){let t=this.resolveRejects[e];return delete this.resolveRejects[e],t?void(r.error?t.reject(Ei(r.error)):t.resolve(Ei(r.data))):void 0}if(!this.messageHandlers[r.type])return void this.completeTask(e,new Error(`Could not find a registered handler for ${r.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(", ")}`));let t=Ei(r.data),n=new AbortController;this.abortControllers[e]=n;try{let i=yield this.messageHandlers[r.type](r.sourceMapId,t,n);this.completeTask(e,null,i)}catch(t){this.completeTask(e,t)}}))}completeTask(e,t,r){let n=[];delete this.abortControllers[e];let i={id:e,type:"",sourceMapId:this.mapId,origin:location.origin,error:t?Si(t):null,data:Si(r,n)};this.target.postMessage(i,{transfer:n})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},e.G=F,e.H=function(){var e=new gs(16);return gs!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e},e.I=Nc,e.J=function(e,t,r){var n,i,a,o,s,l,c,u,h,d,f,p,m=r[0],g=r[1],y=r[2];return t===e?(e[12]=t[0]*m+t[4]*g+t[8]*y+t[12],e[13]=t[1]*m+t[5]*g+t[9]*y+t[13],e[14]=t[2]*m+t[6]*g+t[10]*y+t[14],e[15]=t[3]*m+t[7]*g+t[11]*y+t[15]):(i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],c=t[6],u=t[7],h=t[8],d=t[9],f=t[10],p=t[11],e[0]=n=t[0],e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=l,e[6]=c,e[7]=u,e[8]=h,e[9]=d,e[10]=f,e[11]=p,e[12]=n*m+s*g+h*y+t[12],e[13]=i*m+l*g+d*y+t[13],e[14]=a*m+c*g+f*y+t[14],e[15]=o*m+u*g+p*y+t[15]),e},e.K=function(e,t,r){var n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},e.L=vs,e.M=function(e,t){let r={};for(let n=0;n{let t=window.document.createElement("video");return t.muted=!0,new Promise((r=>{t.onloadstart=()=>{r(t)};for(let r of e){let e=window.document.createElement("source");V(r)||(t.crossOrigin="Anonymous"),e.src=r,t.appendChild(e)}}))},e.a4=function(){return b++},e.a5=Ga,e.a6=xu,e.a7=Ln,e.a8=Ko,e.a9=Yu,e.aA=function(e){if("custom"===e.type)return new Cu(e);switch(e.type){case"background":return new Au(e);case"circle":return new ws(e);case"fill":return new yl(e);case"fill-extrusion":return new Ul(e);case"heatmap":return new Ds(e);case"hillshade":return new js(e);case"line":return new nc(e);case"raster":return new Eu(e);case"symbol":return new wu(e)}},e.aB=k,e.aC=function(e,t){if(!e)return[{command:"setStyle",args:[t]}];let r=[];try{if(!K(e.version,t.version))return[{command:"setStyle",args:[t]}];K(e.center,t.center)||r.push({command:"setCenter",args:[t.center]}),K(e.zoom,t.zoom)||r.push({command:"setZoom",args:[t.zoom]}),K(e.bearing,t.bearing)||r.push({command:"setBearing",args:[t.bearing]}),K(e.pitch,t.pitch)||r.push({command:"setPitch",args:[t.pitch]}),K(e.sprite,t.sprite)||r.push({command:"setSprite",args:[t.sprite]}),K(e.glyphs,t.glyphs)||r.push({command:"setGlyphs",args:[t.glyphs]}),K(e.transition,t.transition)||r.push({command:"setTransition",args:[t.transition]}),K(e.light,t.light)||r.push({command:"setLight",args:[t.light]}),K(e.terrain,t.terrain)||r.push({command:"setTerrain",args:[t.terrain]}),K(e.sky,t.sky)||r.push({command:"setSky",args:[t.sky]}),K(e.projection,t.projection)||r.push({command:"setProjection",args:[t.projection]});let n={},i=[];!function(e,t,r,n){let i;for(i in t=t||{},e=e||{})Object.prototype.hasOwnProperty.call(e,i)&&(Object.prototype.hasOwnProperty.call(t,i)||ee(i,r,n));for(i in t)Object.prototype.hasOwnProperty.call(t,i)&&(Object.prototype.hasOwnProperty.call(e,i)?K(e[i],t[i])||("geojson"===e[i].type&&"geojson"===t[i].type&&re(e,t,i)?J(r,{command:"setGeoJSONSourceData",args:[i,t[i].data]}):te(i,t,r,n)):Q(i,t,r))}(e.sources,t.sources,i,n);let a=[];e.layers&&e.layers.forEach((e=>{"source"in e&&n[e.source]?r.push({command:"removeLayer",args:[e.id]}):a.push(e)})),r=r.concat(i),function(e,t,r){t=t||[];let n,i,a,o,s,l=(e=e||[]).map(ie),c=t.map(ie),u=e.reduce(ae,{}),h=t.reduce(ae,{}),d=l.slice(),f=Object.create(null);for(let e=0,t=0;e@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,((e,r,n,i)=>{let a=n||i;return t[r]=!a||a.toLowerCase(),""})),t["max-age"]){let e=parseInt(t["max-age"],10);isNaN(e)?delete t["max-age"]:t["max-age"]=e}return t},e.ab=function(e,t){let r=[];for(let n in e)n in t||r.push(n);return r},e.ac=y,e.ad=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],c=t[4],u=t[5],h=t[6],d=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+c*n,e[1]=o*i+u*n,e[2]=s*i+h*n,e[3]=l*i+d*n,e[4]=c*i-a*n,e[5]=u*i-o*n,e[6]=h*i-s*n,e[7]=d*i-l*n,e},e.ae=function(e){var t=new gs(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},e.af=_s,e.ag=function(e,t){let r=0,n=0;if("constant"===e.kind)n=e.layoutSize;else if("source"!==e.kind){let{interpolationType:i,minZoom:a,maxZoom:o}=e,s=i?y(zt.interpolationFactor(i,t,a,o),0,1):0;"camera"===e.kind?n=Pt.number(e.minSize,e.maxSize,s):r=s}return{uSizeT:r,uSize:n}},e.ai=function(e,{uSize:t,uSizeT:r},{lowerSize:n,upperSize:i}){return"source"===e.kind?n/ou:"composite"===e.kind?Pt.number(n/ou,i/ou,r):t},e.aj=mu,e.ak=function(e,t,r,n){let i=t.y-e.y,o=t.x-e.x,s=n.y-r.y,l=n.x-r.x,c=s*o-l*i;if(0===c)return null;let u=(l*(e.y-r.y)-s*(e.x-r.x))/c;return new a(e.x+u*o,e.y+u*i)},e.al=Ju,e.am=es,e.an=ys,e.ao=function(e){let t=1/0,r=1/0,n=-1/0,i=-1/0;for(let a of e)t=Math.min(t,a.x),r=Math.min(r,a.y),n=Math.max(n,a.x),i=Math.max(i,a.y);return[t,r,n,i]},e.ap=dc,e.ar=cu,e.as=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],c=t[7],u=t[8],h=t[9],d=t[10],f=t[11],p=t[12],m=t[13],g=t[14],y=t[15],v=r*s-n*o,x=r*l-i*o,b=r*c-a*o,_=n*l-i*s,w=n*c-a*s,k=i*c-a*l,T=u*m-h*p,A=u*g-d*p,M=u*y-f*p,S=h*g-d*m,E=h*y-f*m,C=d*y-f*g,L=v*C-x*E+b*S+_*M-w*A+k*T;return L?(e[0]=(s*C-l*E+c*S)*(L=1/L),e[1]=(i*E-n*C-a*S)*L,e[2]=(m*k-g*w+y*_)*L,e[3]=(d*w-h*k-f*_)*L,e[4]=(l*M-o*C-c*A)*L,e[5]=(r*C-i*M+a*A)*L,e[6]=(g*b-p*k-y*x)*L,e[7]=(u*k-d*b+f*x)*L,e[8]=(o*E-s*M+c*T)*L,e[9]=(n*M-r*E-a*T)*L,e[10]=(p*w-m*b+y*v)*L,e[11]=(h*b-u*w-f*v)*L,e[12]=(s*A-o*S-l*T)*L,e[13]=(r*S-n*A+i*T)*L,e[14]=(m*x-p*_-g*v)*L,e[15]=(u*_-h*x+d*v)*L,e):null},e.at=_h,e.au=tu,e.av=Sh,e.aw=function(){let e={},t=X.$version;for(let r in X.$root){let n=X.$root[r];if(n.required){let i=null;i="version"===r?t:"array"===n.type?[]:{},null!=i&&(e[r]=i)}}return e},e.ax=Ci,e.ay=N,e.az=function(e){e=e.slice();let t=Object.create(null);for(let r=0;r25||n<0||n>=1||r<0||r>=1)},e.bc=function(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},e.bd=class extends wa{},e.be=Iu,e.bf=Bh,e.bh=B,e.bi=function(e,t){R.REGISTERED_PROTOCOLS[e]=t},e.bj=function(e){delete R.REGISTERED_PROTOCOLS[e]},e.bk=function(e,t){let r={};for(let n=0;ne*dc))}let x=s?"center":n.get("text-justify").evaluate(i,{},t.canonical),b="point"===n.get("symbol-placement")?n.get("text-max-width").evaluate(i,{},t.canonical)*dc:1/0,_=()=>{t.bucket.allowVerticalPlacement&&Ni(a)&&(m.vertical=Gc(g,t.glyphMap,t.glyphPositions,t.imagePositions,h,b,o,p,"left",u,y,e.ah.vertical,!0,f,d))};if(!s&&v){let r=new Set;if("auto"===x)for(let e=0;et(void 0,void 0,void 0,(function*(){if(0===e.byteLength)return createImageBitmap(new ImageData(1,1));let t=new Blob([new Uint8Array(e)],{type:"image/png"});try{return createImageBitmap(t)}catch(e){throw new Error(`Could not load image because of ${e.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}})),e.e=x,e.f=e=>new Promise(((t,r)=>{let n=new Image;n.onload=()=>{t(n),URL.revokeObjectURL(n.src),n.onload=null,window.requestAnimationFrame((()=>{n.src=L}))},n.onerror=()=>r(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 i=new Blob([new Uint8Array(e)],{type:"image/png"});n.src=e.byteLength?URL.createObjectURL(i):L})),e.g=j,e.h=(e,t)=>U(x(e,{type:"json"}),t),e.i=S,e.j=W,e.k=G,e.l=(e,t)=>U(x(e,{type:"arrayBuffer"}),t),e.m=U,e.n=function(e){return new Dc(e).readFields(Rc,[])},e.o=Ls,e.p=Bc,e.q=fa,e.r=gi,e.s=V,e.t=bi,e.u=mi,e.v=X,e.w=A,e.x=function([e,t,r]){return t+=90,t*=Math.PI/180,r*=Math.PI/180,{x:e*Math.cos(t)*Math.sin(r),y:e*Math.sin(t)*Math.sin(r),z:e*Math.cos(r)}},e.y=Pt,e.z=Qi})),r("worker",0,(function(e){class t{constructor(e){this.keyCache={},e&&this.replace(e)}replace(e){this._layerConfigs={},this._layers={},this.update(e,[])}update(t,r){for(let r of t){this._layerConfigs[r.id]=r;let t=this._layers[r.id]=e.aA(r);t._featureFilter=e.a7(t.filter),this.keyCache[r.id]&&delete this.keyCache[r.id]}for(let e of r)delete this.keyCache[e],delete this._layerConfigs[e],delete this._layers[e];this.familiesBySource={};let n=e.bk(Object.values(this._layerConfigs),this.keyCache);for(let e of n){let t=e.map((e=>this._layers[e.id])),r=t[0];if("none"===r.visibility)continue;let n=r.source||"",i=this.familiesBySource[n];i||(i=this.familiesBySource[n]={});let a=r.sourceLayer||"_geojsonTileLayer",o=i[a];o||(o=i[a]=[]),o.push(t)}}}class r{constructor(t){let r={},n=[];for(let e in t){let i=t[e],a=r[e]={};for(let e in i){let t=i[+e];if(!t||0===t.bitmap.width||0===t.bitmap.height)continue;let r={x:0,y:0,w:t.bitmap.width+2,h:t.bitmap.height+2};n.push(r),a[e]={rect:r,metrics:t.metrics}}}let{w:i,h:a}=e.p(n),o=new e.o({width:i||1,height:a||1});for(let n in t){let i=t[n];for(let t in i){let a=i[+t];if(!a||0===a.bitmap.width||0===a.bitmap.height)continue;let s=r[n][t].rect;e.o.copy(a.bitmap,o,{x:0,y:0},{x:s.x+1,y:s.y+1},a.bitmap)}}this.image=o,this.positions=r}}e.bl("GlyphAtlas",r);class n{constructor(t){this.tileID=new e.S(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.uid=t.uid,this.zoom=t.zoom,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=t.showCollisionBoxes,this.collectResourceTiming=!!t.collectResourceTiming,this.returnDependencies=!!t.returnDependencies,this.promoteId=t.promoteId,this.inFlightDependencies=[]}parse(t,n,a,o){return e._(this,void 0,void 0,(function*(){this.status="parsing",this.data=t,this.collisionBoxArray=new e.a5;let s=new e.bm(Object.keys(t.layers).sort()),l=new e.bn(this.tileID,this.promoteId);l.bucketLayerIDs=[];let c={},u={featureIndex:l,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:a},h=n.familiesBySource[this.source];for(let r in h){let n=t.layers[r];if(!n)continue;1===n.version&&e.w(`Vector tile source "${this.source}" layer "${r}" does not use vector tile spec v2 and therefore may have some rendering errors.`);let o=s.encode(r),d=[];for(let e=0;e=r.maxzoom||"none"!==r.visibility&&(i(t,this.zoom,a),(c[r.id]=r.createBucket({index:l.bucketLayerIDs.length,layers:t,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:o,sourceID:this.source})).populate(d,u,this.tileID.canonical),l.bucketLayerIDs.push(t.map((e=>e.id))))}}let d=e.aF(u.glyphDependencies,(e=>Object.keys(e).map(Number)));this.inFlightDependencies.forEach((e=>e?.abort())),this.inFlightDependencies=[];let f=Promise.resolve({});if(Object.keys(d).length){let e=new AbortController;this.inFlightDependencies.push(e),f=o.sendAsync({type:"GG",data:{stacks:d,source:this.source,tileID:this.tileID,type:"glyphs"}},e)}let p=Object.keys(u.iconDependencies),m=Promise.resolve({});if(p.length){let e=new AbortController;this.inFlightDependencies.push(e),m=o.sendAsync({type:"GI",data:{icons:p,source:this.source,tileID:this.tileID,type:"icons"}},e)}let g=Object.keys(u.patternDependencies),y=Promise.resolve({});if(g.length){let e=new AbortController;this.inFlightDependencies.push(e),y=o.sendAsync({type:"GI",data:{icons:g,source:this.source,tileID:this.tileID,type:"patterns"}},e)}let[v,x,b]=yield Promise.all([f,m,y]),_=new r(v),w=new e.bo(x,b);for(let t in c){let r=c[t];r instanceof e.a6?(i(r.layers,this.zoom,a),e.bp({bucket:r,glyphMap:v,glyphPositions:_.positions,imageMap:x,imagePositions:w.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):r.hasPattern&&(r instanceof e.bq||r instanceof e.br||r instanceof e.bs)&&(i(r.layers,this.zoom,a),r.addFeatures(u,this.tileID.canonical,w.patternPositions))}return this.status="done",{buckets:Object.values(c).filter((e=>!e.isEmpty())),featureIndex:l,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:_.image,imageAtlas:w,glyphMap:this.returnDependencies?v:null,iconMap:this.returnDependencies?x:null,glyphPositions:this.returnDependencies?_.positions:null}}))}}function i(t,r,n){let i=new e.z(r);for(let e of t)e.recalculate(i,n)}class a{constructor(e,t,r){this.actor=e,this.layerIndex=t,this.availableImages=r,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(t,r){return e._(this,void 0,void 0,(function*(){let n=yield e.l(t.request,r);try{return{vectorTile:new e.bt.VectorTile(new e.bu(n.data)),rawData:n.data,cacheControl:n.cacheControl,expires:n.expires}}catch(e){let r=new Uint8Array(n.data),i=`Unable to parse the tile at ${t.request.url}, `;throw i+=31===r[0]&&139===r[1]?"please make sure the data is not gzipped and that you have configured the relevant header in the server":`got error: ${e.message}`,new Error(i)}}))}loadTile(t){return e._(this,void 0,void 0,(function*(){let r=t.uid,i=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.bv(t.request),a=new n(t);this.loading[r]=a;let o=new AbortController;a.abort=o;try{let n=yield this.loadVectorTile(t,o);if(delete this.loading[r],!n)return null;let s=n.rawData,l={};n.expires&&(l.expires=n.expires),n.cacheControl&&(l.cacheControl=n.cacheControl);let c={};if(i){let e=i.finish();e&&(c.resourceTiming=JSON.parse(JSON.stringify(e)))}a.vectorTile=n.vectorTile;let u=a.parse(n.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[r]=a,this.fetching[r]={rawTileData:s,cacheControl:l,resourceTiming:c};try{let t=yield u;return e.e({rawTileData:s.slice(0)},t,l,c)}finally{delete this.fetching[r]}}catch(e){throw delete this.loading[r],a.status="done",this.loaded[r]=a,e}}))}reloadTile(t){return e._(this,void 0,void 0,(function*(){let r=t.uid;if(!this.loaded||!this.loaded[r])throw new Error("Should not be trying to reload a tile that was never loaded or has been removed");let n=this.loaded[r];if(n.showCollisionBoxes=t.showCollisionBoxes,"parsing"===n.status){let t,i=yield n.parse(n.vectorTile,this.layerIndex,this.availableImages,this.actor);if(this.fetching[r]){let{rawTileData:n,cacheControl:a,resourceTiming:o}=this.fetching[r];delete this.fetching[r],t=e.e({rawTileData:n.slice(0)},i,a,o)}else t=i;return t}if("done"===n.status&&n.vectorTile)return n.parse(n.vectorTile,this.layerIndex,this.availableImages,this.actor)}))}abortTile(t){return e._(this,void 0,void 0,(function*(){let e=this.loading,r=t.uid;e&&e[r]&&e[r].abort&&(e[r].abort.abort(),delete e[r])}))}removeTile(t){return e._(this,void 0,void 0,(function*(){this.loaded&&this.loaded[t.uid]&&delete this.loaded[t.uid]}))}}class o{constructor(){this.loaded={}}loadTile(t){return e._(this,void 0,void 0,(function*(){let{uid:r,encoding:n,rawImageData:i,redFactor:a,greenFactor:o,blueFactor:s,baseShift:l}=t,c=i.width+2,u=i.height+2,h=e.b(i)?new e.R({width:c,height:u},yield e.bw(i,-1,-1,c,u)):i,d=new e.bx(r,h,n,a,o,s,l);return this.loaded=this.loaded||{},this.loaded[r]=d,d}))}removeTile(e){let t=this.loaded,r=e.uid;t&&t[r]&&delete t[r]}}function s(e,t){if(0!==e.length){l(e[0],t);for(var r=1;r=Math.abs(s)?r-l+s:s-l+r,r=l}r+n>=0!=!!t&&e.reverse()}var c=e.by((function e(t,r){var n,i=t&&t.type;if("FeatureCollection"===i)for(n=0;n>31}function A(e,t){for(var r=e.loadGeometry(),n=e.type,i=0,a=0,o=r.length,s=0;se},C=Math.fround||(L=new Float32Array(1),e=>(L[0]=+e,L[0]));var L;class I{constructor(e){this.options=Object.assign(Object.create(E),e),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(e){let{log:t,minZoom:r,maxZoom:n}=this.options;t&&console.time("total time");let i=`prepare ${e.length} points`;t&&console.time(i),this.points=e;let a=[];for(let t=0;t=r;e--){let r=+Date.now();o=this.trees[e]=this._createTree(this._cluster(o,e)),t&&console.log("z%d: %d clusters in %dms",e,o.numItems,+Date.now()-r)}return t&&console.timeEnd("total time"),this}getClusters(e,t){let r=((e[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,e[1])),i=180===e[2]?180:((e[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)r=-180,i=180;else if(r>i){let e=this.getClusters([r,n,180,a],t),o=this.getClusters([-180,n,i,a],t);return e.concat(o)}let o=this.trees[this._limitZoom(t)],s=o.range(O(r),D(a),O(i),D(n)),l=o.data,c=[];for(let e of s){let t=this.stride*e;c.push(l[t+5]>1?P(l,t,this.clusterProps):this.points[l[t+3]])}return c}getChildren(e){let t=this._getOriginId(e),r=this._getOriginZoom(e),n="No cluster with the specified id.",i=this.trees[r];if(!i)throw new Error(n);let a=i.data;if(t*this.stride>=a.length)throw new Error(n);let o=this.options.radius/(this.options.extent*Math.pow(2,r-1)),s=i.within(a[t*this.stride],a[t*this.stride+1],o),l=[];for(let t of s){let r=t*this.stride;a[r+4]===e&&l.push(a[r+5]>1?P(a,r,this.clusterProps):this.points[a[r+3]])}if(0===l.length)throw new Error(n);return l}getLeaves(e,t,r){let n=[];return this._appendLeaves(n,e,t=t||10,r=r||0,0),n}getTile(e,t,r){let n=this.trees[this._limitZoom(e)],i=Math.pow(2,e),{extent:a,radius:o}=this.options,s=o/a,l=(r-s)/i,c=(r+1+s)/i,u={features:[]};return this._addTileFeatures(n.range((t-s)/i,l,(t+1+s)/i,c),n.data,t,r,i,u),0===t&&this._addTileFeatures(n.range(1-s/i,l,1,c),n.data,i,r,i,u),t===i-1&&this._addTileFeatures(n.range(0,l,s/i,c),n.data,-1,r,i,u),u.features.length?u:null}getClusterExpansionZoom(e){let t=this._getOriginZoom(e)-1;for(;t<=this.options.maxZoom;){let r=this.getChildren(e);if(t++,1!==r.length)break;e=r[0].properties.cluster_id}return t}_appendLeaves(e,t,r,n,i){let a=this.getChildren(t);for(let t of a){let a=t.properties;if(a&&a.cluster?i+a.point_count<=n?i+=a.point_count:i=this._appendLeaves(e,a.cluster_id,r,n,i):i1;if(u)e=z(t,c,this.clusterProps),s=t[c],l=t[c+1];else{let r=this.points[t[c+3]];e=r.properties;let[n,i]=r.geometry.coordinates;s=O(n),l=D(i)}let h,d={type:1,geometry:[[Math.round(this.options.extent*(s*i-r)),Math.round(this.options.extent*(l*i-n))]],tags:e};h=u||this.options.generateId?t[c+3]:this.points[t[c+3]].id,void 0!==h&&(d.id=h),a.features.push(d)}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,t){let{radius:r,extent:n,reduce:i,minPoints:a}=this.options,o=r/(n*Math.pow(2,t)),s=e.data,l=[],c=this.stride;for(let r=0;rt&&(f+=s[r+5])}if(f>d&&f>=a){let e,a=n*d,o=u*d,p=-1,m=(r/c<<5)+(t+1)+this.points.length;for(let n of h){let l=n*c;if(s[l+2]<=t)continue;s[l+2]=t;let u=s[l+5];a+=s[l]*u,o+=s[l+1]*u,s[l+4]=m,i&&(e||(e=this._map(s,r,!0),p=this.clusterProps.length,this.clusterProps.push(e)),i(e,this._map(s,l)))}s[r+4]=m,l.push(a/f,o/f,1/0,m,-1,f),i&&l.push(p)}else{for(let e=0;e1)for(let e of h){let r=e*c;if(!(s[r+2]<=t)){s[r+2]=t;for(let e=0;e>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,t,r){if(e[t+5]>1){let n=this.clusterProps[e[t+6]];return r?Object.assign({},n):n}let n=this.points[e[t+3]].properties,i=this.options.map(n);return r&&i===n?Object.assign({},i):i}}function P(e,t,r){return{type:"Feature",id:e[t+3],properties:z(e,t,r),geometry:{type:"Point",coordinates:[(n=e[t],360*(n-.5)),R(e[t+1])]}};var n}function z(e,t,r){let n=e[t+5],i=n>=1e4?`${Math.round(n/1e3)}k`:n>=1e3?Math.round(n/100)/10+"k":n,a=e[t+6],o=-1===a?{}:Object.assign({},r[a]);return Object.assign(o,{cluster:!0,cluster_id:e[t+3],point_count:n,point_count_abbreviated:i})}function O(e){return e/360+.5}function D(e){let t=Math.sin(e*Math.PI/180),r=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return r<0?0:r>1?1:r}function R(e){let t=(180-360*e)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function j(e,t,r,n){let i,a=n,o=t+(r-t>>1),s=r-t,l=e[t],c=e[t+1],u=e[r],h=e[r+1];for(let n=t+3;na)i=n,a=t;else if(t===a){let e=Math.abs(n-o);en&&(i-t>3&&j(e,t,i,n),e[i+2]=a,r-i>3&&j(e,i,r,n))}function F(e,t,r,n,i,a){let o=i-r,s=a-n;if(0!==o||0!==s){let l=((e-r)*o+(t-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return o=e-r,s=t-n,o*o+s*s}function B(e,t,r,n){let i={id:e??null,type:t,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if("Point"===t||"MultiPoint"===t||"LineString"===t)N(i,r);else if("Polygon"===t)N(i,r[0]);else if("MultiLineString"===t)for(let e of r)N(i,e);else if("MultiPolygon"===t)for(let e of r)N(i,e[0]);return i}function N(e,t){for(let r=0;r0&&(o+=n?(i*l-s*a)/2:Math.sqrt(Math.pow(s-i,2)+Math.pow(l-a,2))),i=s,a=l}let s=t.length-3;t[2]=1,j(t,0,s,r),t[s+2]=1,t.size=Math.abs(o),t.start=0,t.end=t.size}function H(e,t,r,n){for(let i=0;i1?1:r}function Y(e,t,r,n,i,a,o,s){if(n/=t,a>=(r/=t)&&o=n)return null;let l=[];for(let t of e){let e=t.geometry,a=t.type,o=0===i?t.minX:t.minY,c=0===i?t.maxX:t.maxY;if(o>=r&&c=n)continue;let u=[];if("Point"===a||"MultiPoint"===a)X(e,u,r,n,i);else if("LineString"===a)Z(e,u,r,n,i,!1,s.lineMetrics);else if("MultiLineString"===a)K(e,u,r,n,i,!1);else if("Polygon"===a)K(e,u,r,n,i,!0);else if("MultiPolygon"===a)for(let t of e){let e=[];K(t,e,r,n,i,!0),e.length&&u.push(e)}if(u.length){if(s.lineMetrics&&"LineString"===a){for(let e of u)l.push(B(t.id,a,e,t.tags));continue}"LineString"!==a&&"MultiLineString"!==a||(1===u.length?(a="LineString",u=u[0]):a="MultiLineString"),"Point"!==a&&"MultiPoint"!==a||(a=3===u.length?"Point":"MultiPoint"),l.push(B(t.id,a,u,t.tags))}}return l.length?l:null}function X(e,t,r,n,i){for(let a=0;a=r&&o<=n&&J(t,e[a],e[a+1],e[a+2])}}function Z(e,t,r,n,i,a,o){let s,l,c=$(e),u=0===i?Q:ee,h=e.start;for(let d=0;dr&&(l=u(c,f,p,g,y,r),o&&(c.start=h+s*l)):v>n?x=r&&(l=u(c,f,p,g,y,r),b=!0),x>n&&v<=n&&(l=u(c,f,p,g,y,n),b=!0),!a&&b&&(o&&(c.end=h+s*l),t.push(c),c=$(e)),o&&(h+=s)}let d=e.length-3,f=e[d],p=e[d+1],m=0===i?f:p;m>=r&&m<=n&&J(c,f,p,e[d+2]),d=c.length-3,a&&d>=3&&(c[d]!==c[0]||c[d+1]!==c[1])&&J(c,c[0],c[1],c[2]),c.length&&t.push(c)}function $(e){let t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function K(e,t,r,n,i,a){for(let o of e)Z(o,t,r,n,i,a,!1)}function J(e,t,r,n){e.push(t,r,n)}function Q(e,t,r,n,i,a){let o=(a-t)/(n-t);return J(e,a,r+(i-r)*o,1),o}function ee(e,t,r,n,i,a){let o=(a-r)/(i-r);return J(e,t+(n-t)*o,a,1),o}function te(e,t){let r=[];for(let n=0;n0&&t.size<(i?o:n))return void(r.numPoints+=t.length/3);let s=[];for(let e=0;eo)&&(r.numSimplified++,s.push(t[e],t[e+1])),r.numPoints++;i&&function(e,t){let r=0;for(let t=0,n=e.length,i=n-2;t0===t)for(let t=0,r=e.length;t24)throw new Error("maxZoom should be in the 0-24 range");if(t.promoteId&&t.generateId)throw new Error("promoteId and generateId cannot be used together.");let n=function(e,t){let r=[];if("FeatureCollection"===e.type)for(let n=0;n1&&console.time("creation"),d=this.tiles[h]=ae(e,t,r,n,l),this.tileCoords.push({z:t,x:r,y:n}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",t,r,n,d.numFeatures,d.numPoints,d.numSimplified),console.timeEnd("creation"));let e=`z${t}`;this.stats[e]=(this.stats[e]||0)+1,this.total++}if(d.source=e,null==i){if(t===l.indexMaxZoom||d.numPoints<=l.indexMaxPoints)continue}else{if(t===l.maxZoom||t===i)continue;if(null!=i){let e=i-t;if(r!==a>>e||n!==o>>e)continue}}if(d.source=null,0===e.length)continue;c>1&&console.time("clipping");let f=.5*l.buffer/l.extent,p=.5-f,m=.5+f,g=1+f,y=null,v=null,x=null,b=null,_=Y(e,u,r-f,r+m,0,d.minX,d.maxX,l),w=Y(e,u,r+p,r+g,0,d.minX,d.maxX,l);e=null,_&&(y=Y(_,u,n-f,n+m,1,d.minY,d.maxY,l),v=Y(_,u,n+p,n+g,1,d.minY,d.maxY,l),_=null),w&&(x=Y(w,u,n-f,n+m,1,d.minY,d.maxY,l),b=Y(w,u,n+p,n+g,1,d.minY,d.maxY,l),w=null),c>1&&console.timeEnd("clipping"),s.push(y||[],t+1,2*r,2*n),s.push(v||[],t+1,2*r,2*n+1),s.push(x||[],t+1,2*r+1,2*n),s.push(b||[],t+1,2*r+1,2*n+1)}}getTile(e,t,r){e=+e,t=+t,r=+r;let n=this.options,{extent:i,debug:a}=n;if(e<0||e>24)return null;let o=1<1&&console.log("drilling down to z%d-%d-%d",e,t,r);let l,c=e,u=t,h=r;for(;!l&&c>0;)c--,u>>=1,h>>=1,l=this.tiles[ue(c,u,h)];return l&&l.source?(a>1&&(console.log("found parent tile z%d-%d-%d",c,u,h),console.time("drilling down")),this.splitTile(l.source,c,u,h,e,t,r),a>1&&console.timeEnd("drilling down"),this.tiles[s]?ne(this.tiles[s],i):null):null}}function ue(e,t,r){return 32*((1<{o.properties=e;let t={};for(let e of s)t[e]=n[e].evaluate(a,o);return t},t.reduce=(e,t)=>{o.properties=t;for(let t of s)a.accumulated=e[t],e[t]=i[t].evaluate(a,o)},t}(t)).load((yield this._pendingData).features):(i=yield this._pendingData,new ce(i,t.geojsonVtOptions)),this.loaded={};let r={};if(n){let e=n.finish();e&&(r.resourceTiming={},r.resourceTiming[t.source]=JSON.parse(JSON.stringify(e)))}return r}catch(t){if(delete this._pendingRequest,e.bB(t))return{abandoned:!0};throw t}var i}))}getData(){return e._(this,void 0,void 0,(function*(){return this._pendingData}))}reloadTile(e){let t=this.loaded;return t&&t[e.uid]?super.reloadTile(e):this.loadTile(e)}loadAndProcessGeoJSON(t,r){return e._(this,void 0,void 0,(function*(){let n=yield this.loadGeoJSON(t,r);if(delete this._pendingRequest,"object"!=typeof n)throw new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`);if(c(n,!0),t.filter){let r=e.bC(t.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===r.result)throw new Error(r.value.map((e=>`${e.key}: ${e.message}`)).join(", "));n={type:"FeatureCollection",features:n.features.filter((e=>r.value.evaluate({zoom:0},e)))}}return n}))}loadGeoJSON(t,r){return e._(this,void 0,void 0,(function*(){let{promoteId:n}=t;if(t.request){let i=yield e.h(t.request,r);return this._dataUpdateable=de(i.data,n)?fe(i.data,n):void 0,i.data}if("string"==typeof t.data)try{let e=JSON.parse(t.data);return this._dataUpdateable=de(e,n)?fe(e,n):void 0,e}catch{throw new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`)}if(!t.dataDiff)throw new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${t.source}`);return function(e,t,r){var n,i,a,o;if(t.removeAll&&e.clear(),t.remove)for(let r of t.remove)e.delete(r);if(t.add)for(let n of t.add){let t=he(n,r);null!=t&&e.set(t,n)}if(t.update)for(let r of t.update){let t=e.get(r.id);if(null==t)continue;let s=!r.removeAllProperties&&((null===(n=r.removeProperties)||void 0===n?void 0:n.length)>0||(null===(i=r.addOrUpdateProperties)||void 0===i?void 0:i.length)>0);if((r.newGeometry||r.removeAllProperties||s)&&(t=Object.assign({},t),e.set(r.id,t),s&&(t.properties=Object.assign({},t.properties))),r.newGeometry&&(t.geometry=r.newGeometry),r.removeAllProperties)t.properties={};else if((null===(a=r.removeProperties)||void 0===a?void 0:a.length)>0)for(let e of r.removeProperties)Object.prototype.hasOwnProperty.call(t.properties,e)&&delete t.properties[e];if((null===(o=r.addOrUpdateProperties)||void 0===o?void 0:o.length)>0)for(let{key:e,value:n}of r.addOrUpdateProperties)t.properties[e]=n}}(this._dataUpdateable,t.dataDiff,n),{type:"FeatureCollection",features:Array.from(this._dataUpdateable.values())}}))}removeSource(t){return e._(this,void 0,void 0,(function*(){this._pendingRequest&&this._pendingRequest.abort()}))}getClusterExpansionZoom(e){return this._geoJSONIndex.getClusterExpansionZoom(e.clusterId)}getClusterChildren(e){return this._geoJSONIndex.getChildren(e.clusterId)}getClusterLeaves(e){return this._geoJSONIndex.getLeaves(e.clusterId,e.limit,e.offset)}}class me{constructor(t){this.self=t,this.actor=new e.F(t),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(e,t)=>{if(this.externalWorkerSourceTypes[e])throw new Error(`Worker source with name "${e}" already registered.`);this.externalWorkerSourceTypes[e]=t},this.self.addProtocol=e.bi,this.self.removeProtocol=e.bj,this.self.registerRTLTextPlugin=t=>{if(e.bD.isParsed())throw new Error("RTL text plugin already registered.");e.bD.setMethods(t)},this.actor.registerMessageHandler("LDT",((e,t)=>this._getDEMWorkerSource(e,t.source).loadTile(t))),this.actor.registerMessageHandler("RDT",((t,r)=>e._(this,void 0,void 0,(function*(){this._getDEMWorkerSource(t,r.source).removeTile(r)})))),this.actor.registerMessageHandler("GCEZ",((t,r)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,r.type,r.source).getClusterExpansionZoom(r)})))),this.actor.registerMessageHandler("GCC",((t,r)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,r.type,r.source).getClusterChildren(r)})))),this.actor.registerMessageHandler("GCL",((t,r)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,r.type,r.source).getClusterLeaves(r)})))),this.actor.registerMessageHandler("LD",((e,t)=>this._getWorkerSource(e,t.type,t.source).loadData(t))),this.actor.registerMessageHandler("GD",((e,t)=>this._getWorkerSource(e,t.type,t.source).getData())),this.actor.registerMessageHandler("LT",((e,t)=>this._getWorkerSource(e,t.type,t.source).loadTile(t))),this.actor.registerMessageHandler("RT",((e,t)=>this._getWorkerSource(e,t.type,t.source).reloadTile(t))),this.actor.registerMessageHandler("AT",((e,t)=>this._getWorkerSource(e,t.type,t.source).abortTile(t))),this.actor.registerMessageHandler("RMT",((e,t)=>this._getWorkerSource(e,t.type,t.source).removeTile(t))),this.actor.registerMessageHandler("RS",((t,r)=>e._(this,void 0,void 0,(function*(){if(!this.workerSources[t]||!this.workerSources[t][r.type]||!this.workerSources[t][r.type][r.source])return;let e=this.workerSources[t][r.type][r.source];delete this.workerSources[t][r.type][r.source],void 0!==e.removeSource&&e.removeSource(r)})))),this.actor.registerMessageHandler("RM",(t=>e._(this,void 0,void 0,(function*(){delete this.layerIndexes[t],delete this.availableImages[t],delete this.workerSources[t],delete this.demWorkerSources[t]})))),this.actor.registerMessageHandler("SR",((t,r)=>e._(this,void 0,void 0,(function*(){this.referrer=r})))),this.actor.registerMessageHandler("SRPS",((e,t)=>this._syncRTLPluginState(e,t))),this.actor.registerMessageHandler("IS",((t,r)=>e._(this,void 0,void 0,(function*(){this.self.importScripts(r)})))),this.actor.registerMessageHandler("SI",((e,t)=>this._setImages(e,t))),this.actor.registerMessageHandler("UL",((t,r)=>e._(this,void 0,void 0,(function*(){this._getLayerIndex(t).update(r.layers,r.removedIds)})))),this.actor.registerMessageHandler("SL",((t,r)=>e._(this,void 0,void 0,(function*(){this._getLayerIndex(t).replace(r)}))))}_setImages(t,r){return e._(this,void 0,void 0,(function*(){this.availableImages[t]=r;for(let e in this.workerSources[t]){let n=this.workerSources[t][e];for(let e in n)n[e].availableImages=r}}))}_syncRTLPluginState(t,r){return e._(this,void 0,void 0,(function*(){if(e.bD.isParsed())return e.bD.getState();if("loading"!==r.pluginStatus)return e.bD.setState(r),r;let t=r.pluginURL;if(this.self.importScripts(t),e.bD.isParsed()){let r={pluginStatus:"loaded",pluginURL:t};return e.bD.setState(r),r}throw e.bD.setState({pluginStatus:"error",pluginURL:""}),new Error(`RTL Text Plugin failed to import scripts from ${t}`)}))}_getAvailableImages(e){let t=this.availableImages[e];return t||(t=[]),t}_getLayerIndex(e){let r=this.layerIndexes[e];return r||(r=this.layerIndexes[e]=new t),r}_getWorkerSource(e,t,r){if(this.workerSources[e]||(this.workerSources[e]={}),this.workerSources[e][t]||(this.workerSources[e][t]={}),!this.workerSources[e][t][r]){let n={sendAsync:(t,r)=>(t.targetMapId=e,this.actor.sendAsync(t,r))};switch(t){case"vector":this.workerSources[e][t][r]=new a(n,this._getLayerIndex(e),this._getAvailableImages(e));break;case"geojson":this.workerSources[e][t][r]=new pe(n,this._getLayerIndex(e),this._getAvailableImages(e));break;default:this.workerSources[e][t][r]=new this.externalWorkerSourceTypes[t](n,this._getLayerIndex(e),this._getAvailableImages(e))}}return this.workerSources[e][t][r]}_getDEMWorkerSource(e,t){return this.demWorkerSources[e]||(this.demWorkerSources[e]={}),this.demWorkerSources[e][t]||(this.demWorkerSources[e][t]=new o),this.demWorkerSources[e][t]}}return e.i(self)&&(self.worker=new me(self)),me})),r("index",0,(function(e,t){var r="4.7.1";let n,i,a={now:typeof performance<"u"&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:e=>new Promise(((r,n)=>{let i=requestAnimationFrame(r);e.signal.addEventListener("abort",(()=>{cancelAnimationFrame(i),n(t.c())}))})),getImageData(e,t=0){return this.getImageCanvasContext(e).getImageData(-t,-t,e.width+2*t,e.height+2*t)},getImageCanvasContext(e){let t=window.document.createElement("canvas"),r=t.getContext("2d",{willReadFrequently:!0});if(!r)throw new Error("failed to create canvas 2d context");return t.width=e.width,t.height=e.height,r.drawImage(e,0,0,e.width,e.height),r},resolveURL:e=>(n||(n=document.createElement("a")),n.href=e,n.href),hardwareConcurrency:typeof navigator<"u"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(null==i&&(i=matchMedia("(prefers-reduced-motion: reduce)")),i.matches)}};class o{static testProp(e){if(!o.docStyle)return e[0];for(let t=0;t{window.removeEventListener("click",o.suppressClickInternal,!0)}),0)}static getScale(e){let t=e.getBoundingClientRect();return{x:t.width/e.offsetWidth||1,y:t.height/e.offsetHeight||1,boundingClientRect:t}}static getPoint(e,r,n){let i=r.boundingClientRect;return new t.P((n.clientX-i.left)/r.x-e.clientLeft,(n.clientY-i.top)/r.y-e.clientTop)}static mousePos(e,t){let r=o.getScale(e);return o.getPoint(e,r,t)}static touchPos(e,t){let r=[],n=o.getScale(e);for(let i=0;i{s&&d(s),s=null,h=!0},l.onerror=()=>{u=!0,s=null},l.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="),function(e){let r,n,i,a;e.resetRequestQueue=()=>{r=[],n=0,i=0,a={}},e.addThrottleControl=e=>{let t=i++;return a[t]=e,t},e.removeThrottleControl=e=>{delete a[e],s()},e.getImage=(e,n,i=!0)=>new Promise(((a,o)=>{c.supported&&(e.headers||(e.headers={}),e.headers.accept="image/webp,*/*"),t.e(e,{type:"image"}),r.push({abortController:n,requestParameters:e,supportImageRefresh:i,state:"queued",onError:e=>{o(e)},onSuccess:e=>{a(e)}}),s()}));let o=e=>t._(this,void 0,void 0,(function*(){e.state="running";let{requestParameters:r,supportImageRefresh:i,onError:a,onSuccess:o,abortController:c}=e,u=!1===i&&!t.i(self)&&!t.g(r.url)&&(!r.headers||Object.keys(r.headers).reduce(((e,t)=>e&&"accept"===t),!0));n++;let h=u?l(r,c):t.m(r,c);try{let r=yield h;delete e.abortController,e.state="completed",r.data instanceof HTMLImageElement||t.b(r.data)?o(r):r.data&&o({data:yield(d=r.data,"function"==typeof createImageBitmap?t.d(d):t.f(d)),cacheControl:r.cacheControl,expires:r.expires})}catch(t){delete e.abortController,a(t)}finally{n--,s()}var d})),s=()=>{let e=(()=>{for(let e of Object.keys(a))if(a[e]())return!0;return!1})()?t.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:t.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let t=n;t0;t++){let e=r.shift();e.abortController.signal.aborted?t--:o(e)}},l=(e,r)=>new Promise(((n,i)=>{let a=new Image,o=e.url,s=e.credentials;s&&"include"===s?a.crossOrigin="use-credentials":(s&&"same-origin"===s||!t.s(o))&&(a.crossOrigin="anonymous"),r.signal.addEventListener("abort",(()=>{a.src="",i(t.c())})),a.fetchPriority="high",a.onload=()=>{a.onerror=a.onload=null,n({data:a})},a.onerror=()=>{a.onerror=a.onload=null,r.signal.aborted||i(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."))},a.src=o}))}(f||(f={})),f.resetRequestQueue();class p{constructor(e){this._transformRequestFn=e}transformRequest(e,t){return this._transformRequestFn&&this._transformRequestFn(e,t)||{url:e}}setTransformRequest(e){this._transformRequestFn=e}}function m(e){var r=new t.A(3);return r[0]=e[0],r[1]=e[1],r[2]=e[2],r}var g,y=function(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e};g=new t.A(3),t.A!=Float32Array&&(g[0]=0,g[1]=0,g[2]=0);var v,x=function(e){var t=e[0],r=e[1];return t*t+r*r};function b(e){let t=[];if("string"==typeof e)t.push({id:"default",url:e});else if(e&&e.length>0){let r=[];for(let{id:n,url:i}of e){let e=`${n}${i}`;-1===r.indexOf(e)&&(r.push(e),t.push({id:n,url:i}))}}return t}function _(e,t,r){let n=e.split("?");return n[0]+=`${t}${r}`,n.join("?")}v=new t.A(2),t.A!=Float32Array&&(v[0]=0,v[1]=0);class w{constructor(e,t,r,n){this.context=e,this.format=r,this.texture=e.gl.createTexture(),this.update(t,n)}update(e,r,n){let{width:i,height:a}=e,o=!(this.size&&this.size[0]===i&&this.size[1]===a||n),{context:s}=this,{gl:l}=s;if(this.useMipmap=!(!r||!r.useMipmap),l.bindTexture(l.TEXTURE_2D,this.texture),s.pixelStoreUnpackFlipY.set(!1),s.pixelStoreUnpack.set(1),s.pixelStoreUnpackPremultiplyAlpha.set(this.format===l.RGBA&&(!r||!1!==r.premultiply)),o)this.size=[i,a],e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||t.b(e)?l.texImage2D(l.TEXTURE_2D,0,this.format,this.format,l.UNSIGNED_BYTE,e):l.texImage2D(l.TEXTURE_2D,0,this.format,i,a,0,this.format,l.UNSIGNED_BYTE,e.data);else{let{x:r,y:o}=n||{x:0,y:0};e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||t.b(e)?l.texSubImage2D(l.TEXTURE_2D,0,r,o,l.RGBA,l.UNSIGNED_BYTE,e):l.texSubImage2D(l.TEXTURE_2D,0,r,o,i,a,l.RGBA,l.UNSIGNED_BYTE,e.data)}this.useMipmap&&this.isSizePowerOfTwo()&&l.generateMipmap(l.TEXTURE_2D)}bind(e,t,r){let{context:n}=this,{gl:i}=n;i.bindTexture(i.TEXTURE_2D,this.texture),r!==i.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(r=i.LINEAR),e!==this.filter&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,e),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,r||e),this.filter=e),t!==this.wrap&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,t),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,t),this.wrap=t)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:e}=this.context;e.deleteTexture(this.texture),this.texture=null}}function k(e){let{userImage:t}=e;return!!(t&&t.render&&t.render())&&(e.data.replace(new Uint8Array(t.data.buffer)),!0)}class T 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(e){if(this.loaded!==e&&(this.loaded=e,e)){for(let{ids:e,promiseResolve:t}of this.requestors)t(this._getImagesForIds(e));this.requestors=[]}}getImage(e){let r=this.images[e];if(r&&!r.data&&r.spriteData){let e=r.spriteData;r.data=new t.R({width:e.width,height:e.height},e.context.getImageData(e.x,e.y,e.width,e.height).data),r.spriteData=null}return r}addImage(e,t){if(this.images[e])throw new Error(`Image id ${e} already exist, use updateImage instead`);this._validate(e,t)&&(this.images[e]=t)}_validate(e,r){let n=!0,i=r.data||r.spriteData;return this._validateStretch(r.stretchX,i&&i.width)||(this.fire(new t.j(new Error(`Image "${e}" has invalid "stretchX" value`))),n=!1),this._validateStretch(r.stretchY,i&&i.height)||(this.fire(new t.j(new Error(`Image "${e}" has invalid "stretchY" value`))),n=!1),this._validateContent(r.content,r)||(this.fire(new t.j(new Error(`Image "${e}" has invalid "content" value`))),n=!1),n}_validateStretch(e,t){if(!e)return!0;let r=0;for(let n of e){if(n[0]{let n=!0;if(!this.isLoaded())for(let t of e)this.images[t]||(n=!1);this.isLoaded()||n?t(this._getImagesForIds(e)):this.requestors.push({ids:e,promiseResolve:t})}))}_getImagesForIds(e){let r={};for(let n of e){let e=this.getImage(n);e||(this.fire(new t.k("styleimagemissing",{id:n})),e=this.getImage(n)),e?r[n]={data:e.data.clone(),pixelRatio:e.pixelRatio,sdf:e.sdf,version:e.version,stretchX:e.stretchX,stretchY:e.stretchY,content:e.content,textFitWidth:e.textFitWidth,textFitHeight:e.textFitHeight,hasRenderCallback:!(!e.userImage||!e.userImage.render)}:t.w(`Image "${n}" 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 r}getPixelSize(){let{width:e,height:t}=this.atlasImage;return{width:e,height:t}}getPattern(e){let r=this.patterns[e],n=this.getImage(e);if(!n)return null;if(r&&r.position.version===n.version)return r.position;if(r)r.position.version=n.version;else{let r={w:n.data.width+2,h:n.data.height+2,x:0,y:0},i=new t.I(r,n);this.patterns[e]={bin:r,position:i}}return this._updatePatternAtlas(),this.patterns[e].position}bind(e){let t=e.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new w(e,this.atlasImage,t.RGBA),this.atlasTexture.bind(t.LINEAR,t.CLAMP_TO_EDGE)}_updatePatternAtlas(){let e=[];for(let t in this.patterns)e.push(this.patterns[t].bin);let{w:r,h:n}=t.p(e),i=this.atlasImage;i.resize({width:r||1,height:n||1});for(let e in this.patterns){let{bin:r}=this.patterns[e],n=r.x+1,a=r.y+1,o=this.getImage(e).data,s=o.width,l=o.height;t.R.copy(o,i,{x:0,y:0},{x:n,y:a},{width:s,height:l}),t.R.copy(o,i,{x:0,y:l-1},{x:n,y:a-1},{width:s,height:1}),t.R.copy(o,i,{x:0,y:0},{x:n,y:a+l},{width:s,height:1}),t.R.copy(o,i,{x:s-1,y:0},{x:n-1,y:a},{width:1,height:l}),t.R.copy(o,i,{x:0,y:0},{x:n+s,y:a},{width:1,height:l})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(e){for(let r of e){if(this.callbackDispatchedThisFrame[r])continue;this.callbackDispatchedThisFrame[r]=!0;let e=this.getImage(r);e||t.w(`Image with ID: "${r}" was not found`),k(e)&&this.updateImage(r,e)}}}let A,M=1e20;function S(e,t,r,n,i,a,o,s,l){for(let c=t;c-1);l++,a[l]=s,o[l]=c,o[l+1]=M}for(let s=0,l=0;s65535)throw new Error("glyphs > 65535 not supported");if(t.ranges[i])return{stack:e,id:r,glyph:n};if(!this.url)throw new Error("glyphsUrl is not set");if(!t.requests[i]){let r=C.loadGlyphRange(e,i,this.url,this.requestManager);t.requests[i]=r}let a=yield t.requests[i];for(let e in a)this._doesCharSupportLocalGlyph(+e)||(t.glyphs[+e]=a[+e]);return t.ranges[i]=!0,{stack:e,id:r,glyph:a[r]||null}}))}_doesCharSupportLocalGlyph(e){return!!this.localIdeographFontFamily&&new RegExp("\\p{Ideo}|\\p{sc=Hang}|\\p{sc=Hira}|\\p{sc=Kana}","u").test(String.fromCodePoint(e))}_tinySDF(e,r,n){let i=this.localIdeographFontFamily;if(!i||!this._doesCharSupportLocalGlyph(n))return;let a=e.tinySDF;if(!a){let t="400";/bold/i.test(r)?t="900":/medium/i.test(r)?t="500":/light/i.test(r)&&(t="200"),a=e.tinySDF=new C.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:i,fontWeight:t})}let o=a.draw(String.fromCharCode(n));return{id:n,bitmap:new t.o({width:o.width||60,height:o.height||60},o.data),metrics:{width:o.glyphWidth/2||24,height:o.glyphHeight/2||24,left:o.glyphLeft/2+.5||0,top:o.glyphTop/2-27.5||-8,advance:o.glyphAdvance/2||24,isDoubleResolution:!0}}}}C.loadGlyphRange=function(e,r,n,i){return t._(this,void 0,void 0,(function*(){let a=256*r,o=a+255,s=i.transformRequest(n.replace("{fontstack}",e).replace("{range}",`${a}-${o}`),"Glyphs"),l=yield t.l(s,new AbortController);if(!l||!l.data)throw new Error(`Could not load glyph range. range: ${r}, ${a}-${o}`);let c={};for(let e of t.n(l.data))c[e.id]=e;return c}))},C.TinySDF=class{constructor({fontSize:e=24,buffer:t=3,radius:r=8,cutoff:n=.25,fontFamily:i="sans-serif",fontWeight:a="normal",fontStyle:o="normal"}={}){this.buffer=t,this.cutoff=n,this.radius=r;let s=this.size=e+4*t,l=this._createCanvas(s),c=this.ctx=l.getContext("2d",{willReadFrequently:!0});c.font=`${o} ${a} ${e}px ${i}`,c.textBaseline="alphabetic",c.textAlign="left",c.fillStyle="black",this.gridOuter=new Float64Array(s*s),this.gridInner=new Float64Array(s*s),this.f=new Float64Array(s),this.z=new Float64Array(s+1),this.v=new Uint16Array(s)}_createCanvas(e){let t=document.createElement("canvas");return t.width=t.height=e,t}draw(e){let{width:t,actualBoundingBoxAscent:r,actualBoundingBoxDescent:n,actualBoundingBoxLeft:i,actualBoundingBoxRight:a}=this.ctx.measureText(e),o=Math.ceil(r),s=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(a-i))),l=Math.min(this.size-this.buffer,o+Math.ceil(n)),c=s+2*this.buffer,u=l+2*this.buffer,h=Math.max(c*u,0),d=new Uint8ClampedArray(h),f={data:d,width:c,height:u,glyphWidth:s,glyphHeight:l,glyphTop:o,glyphLeft:0,glyphAdvance:t};if(0===s||0===l)return f;let{ctx:p,buffer:m,gridInner:g,gridOuter:y}=this;p.clearRect(m,m,s,l),p.fillText(e,m,m+o);let v=p.getImageData(m,m,s,l);y.fill(M,0,h),g.fill(0,0,h);for(let e=0;e0?e*e:0,g[n]=e<0?e*e:0}}S(y,0,0,c,u,c,this.f,this.v,this.z),S(g,m,m,s,l,c,this.f,this.v,this.z);for(let e=0;e1&&(o=e[++a]);let l,c=Math.abs(s-o.left),u=Math.abs(s-o.right),h=Math.min(c,u),d=t/r*(n+1);if(o.isDash){let e=n-Math.abs(d);l=Math.sqrt(h*h+e*e)}else l=n-Math.sqrt(h*h+d*d);this.data[i+s]=Math.max(0,Math.min(255,l+128))}}}addRegularDash(e){for(let t=e.length-1;t>=0;--t){let r=e[t],n=e[t+1];r.zeroLength?e.splice(t,1):n&&n.isDash===r.isDash&&(n.left=r.left,e.splice(t,1))}let t=e[0],r=e[e.length-1];t.isDash===r.isDash&&(t.left=r.left-this.width,r.right=t.right+this.width);let n=this.width*this.nextRow,i=0,a=e[i];for(let t=0;t1&&(a=e[++i]);let r=Math.abs(t-a.left),o=Math.abs(t-a.right),s=Math.min(r,o);this.data[n+t]=Math.max(0,Math.min(255,(a.isDash?s:-s)+128))}}addDash(e,r){let n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return t.w("LineAtlas out of space"),null;let a=0;for(let t=0;t{e.terminate()})),this.workers=null)}isPreloaded(){return!!this.active[D]}numActive(){return Object.keys(this.active).length}}let j,F,B=Math.floor(a.hardwareConcurrency/2);function N(){return j||(j=new R),j}R.workerCount=t.C(globalThis)?Math.max(Math.min(B,3),1):1;class U{constructor(e,r){this.workerPool=e,this.actors=[],this.currentActor=0,this.id=r;let n=this.workerPool.acquire(r);for(let e=0;e{e.remove()})),this.actors=[],e&&this.workerPool.release(this.id)}registerMessageHandler(e,t){for(let r of this.actors)r.registerMessageHandler(e,t)}}function V(){return F||(F=new U(N(),t.G),F.registerMessageHandler("GR",((e,r,n)=>t.m(r,n)))),F}function q(e,r){let n=t.H();return t.J(n,n,[1,1,0]),t.K(n,n,[.5*e.width,.5*e.height,1]),t.L(n,n,e.calculatePosMatrix(r.toUnwrapped()))}function H(e,t,r,n,i,a){let o=function(e,t,r){if(e)for(let n of e){let e=t[n];if(e&&e.source===r&&"fill-extrusion"===e.type)return!0}else for(let e in t){let n=t[e];if(n.source===r&&"fill-extrusion"===n.type)return!0}return!1}(i&&i.layers,t,e.id),s=a.maxPitchScaleFactor(),l=e.tilesIn(n,s,o);l.sort(G);let c=[];for(let n of l)c.push({wrappedTileID:n.tileID.wrapped().key,queryResults:n.tile.queryRenderedFeatures(t,r,e._state,n.queryGeometry,n.cameraQueryGeometry,n.scale,i,a,s,q(e.transform,n.tileID))});let u=function(e){let t={},r={};for(let n of e){let e=n.queryResults,i=n.wrappedTileID,a=r[i]=r[i]||{};for(let r in e){let n=e[r],i=a[r]=a[r]||{},o=t[r]=t[r]||[];for(let e of n)i[e.featureIndex]||(i[e.featureIndex]=!0,o.push(e))}}return t}(c);for(let t in u)u[t].forEach((t=>{let r=t.feature,n=e.getFeatureState(r.layer["source-layer"],r.id);r.source=r.layer.source,r.layer["source-layer"]&&(r.sourceLayer=r.layer["source-layer"]),r.state=n}));return u}function G(e,t){let r=e.tileID,n=t.tileID;return r.overscaledZ-n.overscaledZ||r.canonical.y-n.canonical.y||r.wrap-n.wrap||r.canonical.x-n.canonical.x}function W(e,r,n){return t._(this,void 0,void 0,(function*(){let i=e;if(e.url?i=(yield t.h(r.transformRequest(e.url,"Source"),n)).data:yield a.frameAsync(n),!i)return null;let o=t.M(t.e(i,e),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);return"vector_layers"in i&&i.vector_layers&&(o.vectorLayerIds=i.vector_layers.map((e=>e.id))),o}))}class Y{constructor(e,t){e&&(t?this.setSouthWest(e).setNorthEast(t):Array.isArray(e)&&(4===e.length?this.setSouthWest([e[0],e[1]]).setNorthEast([e[2],e[3]]):this.setSouthWest(e[0]).setNorthEast(e[1])))}setNorthEast(e){return this._ne=e instanceof t.N?new t.N(e.lng,e.lat):t.N.convert(e),this}setSouthWest(e){return this._sw=e instanceof t.N?new t.N(e.lng,e.lat):t.N.convert(e),this}extend(e){let r,n,i=this._sw,a=this._ne;if(e instanceof t.N)r=e,n=e;else{if(!(e instanceof Y))return Array.isArray(e)?4===e.length||e.every(Array.isArray)?this.extend(Y.convert(e)):this.extend(t.N.convert(e)):e&&("lng"in e||"lon"in e)&&"lat"in e?this.extend(t.N.convert(e)):this;if(r=e._sw,n=e._ne,!r||!n)return this}return i||a?(i.lng=Math.min(r.lng,i.lng),i.lat=Math.min(r.lat,i.lat),a.lng=Math.max(n.lng,a.lng),a.lat=Math.max(n.lat,a.lat)):(this._sw=new t.N(r.lng,r.lat),this._ne=new t.N(n.lng,n.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(e){let{lng:r,lat:n}=t.N.convert(e),i=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(i=this._sw.lng>=r&&r>=this._ne.lng),this._sw.lat<=n&&n<=this._ne.lat&&i}static convert(e){return e instanceof Y?e:e&&new Y(e)}static fromLngLat(e,r=0){let n=360*r/40075017,i=n/Math.cos(Math.PI/180*e.lat);return new Y(new t.N(e.lng-i,e.lat-n),new t.N(e.lng+i,e.lat+n))}adjustAntiMeridian(){let e=new t.N(this._sw.lng,this._sw.lat),r=new t.N(this._ne.lng,this._ne.lat);return new Y(e,e.lng>r.lng?new t.N(r.lng+360,r.lat):r)}}class X{constructor(e,t,r){this.bounds=Y.convert(this.validateBounds(e)),this.minzoom=t||0,this.maxzoom=r||24}validateBounds(e){return Array.isArray(e)&&4===e.length?[Math.max(-180,e[0]),Math.max(-90,e[1]),Math.min(180,e[2]),Math.min(90,e[3])]:[-180,-90,180,90]}contains(e){let r=Math.pow(2,e.z),n=Math.floor(t.O(this.bounds.getWest())*r),i=Math.floor(t.Q(this.bounds.getNorth())*r),a=Math.ceil(t.O(this.bounds.getEast())*r),o=Math.ceil(t.Q(this.bounds.getSouth())*r);return e.x>=n&&e.x=i&&e.y{this._options.tiles=e})),this}setUrl(e){return this.setSourceProperty((()=>{this.url=e,this._options.url=e})),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return t.e({},this._options)}loadTile(e){return t._(this,void 0,void 0,(function*(){let t=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),r={request:this.map._requestManager.transformRequest(t,"Tile"),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};r.request.collectResourceTiming=this._collectResourceTiming;let n="RT";if(e.actor&&"expired"!==e.state){if("loading"===e.state)return new Promise(((t,r)=>{e.reloadPromise={resolve:t,reject:r}}))}else e.actor=this.dispatcher.getActor(),n="LT";e.abortController=new AbortController;try{let t=yield e.actor.sendAsync({type:n,data:r},e.abortController);if(delete e.abortController,e.aborted)return;this._afterTileLoadWorkerResponse(e,t)}catch(t){if(delete e.abortController,e.aborted)return;if(t&&404!==t.status)throw t;this._afterTileLoadWorkerResponse(e,null)}}))}_afterTileLoadWorkerResponse(e,t){if(t&&t.resourceTiming&&(e.resourceTiming=t.resourceTiming),t&&this.map._refreshExpiredTiles&&e.setExpiryData(t),e.loadVectorData(t,this.map.painter),e.reloadPromise){let t=e.reloadPromise;e.reloadPromise=null,this.loadTile(e).then(t.resolve).catch(t.reject)}}abortTile(e){return t._(this,void 0,void 0,(function*(){e.abortController&&(e.abortController.abort(),delete e.abortController),e.actor&&(yield e.actor.sendAsync({type:"AT",data:{uid:e.uid,type:this.type,source:this.id}}))}))}unloadTile(e){return t._(this,void 0,void 0,(function*(){e.unloadVectorData(),e.actor&&(yield e.actor.sendAsync({type:"RMT",data:{uid:e.uid,type:this.type,source:this.id}}))}))}hasTransition(){return!1}}class $ extends t.E{constructor(e,r,n,i){super(),this.id=e,this.dispatcher=n,this.setEventedParent(i),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=t.e({type:"raster"},r),t.e(this,t.M(r,["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 e=yield W(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,e&&(t.e(this,e),e.bounds&&(this.tileBounds=new X(e.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(e){this._tileJSONRequest=null,this.fire(new t.j(e))}}))}loaded(){return this._loaded}onAdd(e){this.map=e,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(e){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),e(),this.load()}setTiles(e){return this.setSourceProperty((()=>{this._options.tiles=e})),this}setUrl(e){return this.setSourceProperty((()=>{this.url=e,this._options.url=e})),this}serialize(){return t.e({},this._options)}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}loadTile(e){return t._(this,void 0,void 0,(function*(){let t=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);e.abortController=new AbortController;try{let r=yield f.getImage(this.map._requestManager.transformRequest(t,"Tile"),e.abortController,this.map._refreshExpiredTiles);if(delete e.abortController,e.aborted)return void(e.state="unloaded");if(r&&r.data){this.map._refreshExpiredTiles&&r.cacheControl&&r.expires&&e.setExpiryData({cacheControl:r.cacheControl,expires:r.expires});let t=this.map.painter.context,n=t.gl,i=r.data;e.texture=this.map.painter.getTileTexture(i.width),e.texture?e.texture.update(i,{useMipmap:!0}):(e.texture=new w(t,i,n.RGBA,{useMipmap:!0}),e.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE,n.LINEAR_MIPMAP_NEAREST)),e.state="loaded"}}catch(t){if(delete e.abortController,e.aborted)e.state="unloaded";else if(t)throw e.state="errored",t}}))}abortTile(e){return t._(this,void 0,void 0,(function*(){e.abortController&&(e.abortController.abort(),delete e.abortController)}))}unloadTile(e){return t._(this,void 0,void 0,(function*(){e.texture&&this.map.painter.saveTileTexture(e.texture)}))}hasTransition(){return!1}}class K extends ${constructor(e,r,n,i){super(e,r,n,i),this.type="raster-dem",this.maxzoom=22,this._options=t.e({type:"raster-dem"},r),this.encoding=r.encoding||"mapbox",this.redFactor=r.redFactor,this.greenFactor=r.greenFactor,this.blueFactor=r.blueFactor,this.baseShift=r.baseShift}loadTile(e){return t._(this,void 0,void 0,(function*(){let r=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),n=this.map._requestManager.transformRequest(r,"Tile");e.neighboringTiles=this._getNeighboringTiles(e.tileID),e.abortController=new AbortController;try{let r=yield f.getImage(n,e.abortController,this.map._refreshExpiredTiles);if(delete e.abortController,e.aborted)return void(e.state="unloaded");if(r&&r.data){let n=r.data;this.map._refreshExpiredTiles&&r.cacheControl&&r.expires&&e.setExpiryData({cacheControl:r.cacheControl,expires:r.expires});let i=t.b(n)&&t.U()?n:yield this.readImageNow(n),a={type:this.type,uid:e.uid,source:this.id,rawImageData:i,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!e.actor||"expired"===e.state){e.actor=this.dispatcher.getActor();let t=yield e.actor.sendAsync({type:"LDT",data:a});e.dem=t,e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.state="loaded"}}}catch(t){if(delete e.abortController,e.aborted)e.state="unloaded";else if(t)throw e.state="errored",t}}))}readImageNow(e){return t._(this,void 0,void 0,(function*(){if(typeof VideoFrame<"u"&&t.V()){let r=e.width+2,n=e.height+2;try{return new t.R({width:r,height:n},yield t.W(e,-1,-1,r,n))}catch{}}return a.getImageData(e,1)}))}_getNeighboringTiles(e){let r=e.canonical,n=Math.pow(2,r.z),i=(r.x-1+n)%n,a=0===r.x?e.wrap-1:e.wrap,o=(r.x+1+n)%n,s=r.x+1===n?e.wrap+1:e.wrap,l={};return l[new t.S(e.overscaledZ,a,r.z,i,r.y).key]={backfilled:!1},l[new t.S(e.overscaledZ,s,r.z,o,r.y).key]={backfilled:!1},r.y>0&&(l[new t.S(e.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new t.S(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.S(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+10&&t.e(i,{resourceTiming:n}),this.fire(new t.k("data",Object.assign(Object.assign({},i),{sourceDataType:"metadata"}))),this.fire(new t.k("data",Object.assign(Object.assign({},i),{sourceDataType:"content"})))}catch(e){if(this._pendingLoads--,this._removed)return void this.fire(new t.k("dataabort",{dataType:"source"}));this.fire(new t.j(e))}}))}loaded(){return 0===this._pendingLoads}loadTile(e){return t._(this,void 0,void 0,(function*(){let t=e.actor?"RT":"LT";e.actor=this.actor;let r={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};e.abortController=new AbortController;let n=yield this.actor.sendAsync({type:t,data:r},e.abortController);delete e.abortController,e.unloadVectorData(),e.aborted||e.loadVectorData(n,this.map.painter,"RT"===t)}))}abortTile(e){return t._(this,void 0,void 0,(function*(){e.abortController&&(e.abortController.abort(),delete e.abortController),e.aborted=!0}))}unloadTile(e){return t._(this,void 0,void 0,(function*(){e.unloadVectorData(),yield this.actor.sendAsync({type:"RMT",data:{uid:e.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 Q=t.Y([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class ee extends t.E{constructor(e,t,r,n){super(),this.id=e,this.dispatcher=r,this.coordinates=t.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(n),this.options=t}load(e){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 t=yield f.getImage(this.map._requestManager.transformRequest(this.url,"Image"),this._request);this._request=null,this._loaded=!0,t&&t.data&&(this.image=t.data,e&&(this.coordinates=e),this._finishLoading())}catch(e){this._request=null,this._loaded=!0,this.fire(new t.j(e))}}))}loaded(){return this._loaded}updateImage(e){return e.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=e.url,this.load(e.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(e){this.map=e,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(e){this.coordinates=e;let r=e.map(t.Z.fromLngLat);this.tileID=function(e){let r=1/0,n=1/0,i=-1/0,a=-1/0;for(let t of e)r=Math.min(r,t.x),n=Math.min(n,t.y),i=Math.max(i,t.x),a=Math.max(a,t.y);let o=Math.max(i-r,a-n),s=Math.max(0,Math.floor(-Math.log(o)/Math.LN2)),l=Math.pow(2,s);return new t.a1(s,Math.floor((r+i)/2*l),Math.floor((n+a)/2*l))}(r),this.minzoom=this.maxzoom=this.tileID.z;let n=r.map((e=>this.tileID.getTilePoint(e)._round()));return this._boundsArray=new t.$,this._boundsArray.emplaceBack(n[0].x,n[0].y,0,0),this._boundsArray.emplaceBack(n[1].x,n[1].y,t.X,0),this._boundsArray.emplaceBack(n[3].x,n[3].y,0,t.X),this._boundsArray.emplaceBack(n[2].x,n[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(0===Object.keys(this.tiles).length||!this.image)return;let e=this.map.painter.context,r=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,Q.members)),this.boundsSegments||(this.boundsSegments=t.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new w(e,this.image,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE));let n=!1;for(let e in this.tiles){let t=this.tiles[e];"loaded"!==t.state&&(t.state="loaded",t.texture=this.texture,n=!0)}n&&this.fire(new t.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}loadTile(e){return t._(this,void 0,void 0,(function*(){this.tileID&&this.tileID.equals(e.tileID.canonical)?(this.tiles[String(e.tileID.wrap)]=e,e.buckets={}):e.state="errored"}))}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class te extends ee{constructor(e,t,r,n){super(e,t,r,n),this.roundZoom=!0,this.type="video",this.options=t}load(){return t._(this,void 0,void 0,(function*(){this._loaded=!1;let e=this.options;this.urls=[];for(let t of e.urls)this.urls.push(this.map._requestManager.transformRequest(t,"Source").url);try{let e=yield t.a3(this.urls);if(this._loaded=!0,!e)return;this.video=e,this.video.loop=!0,this.video.addEventListener("playing",(()=>{this.map.triggerRepaint()})),this.map&&this.video.play(),this._finishLoading()}catch(e){this.fire(new t.j(e))}}))}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(e){if(this.video){let r=this.video.seekable;er.end(0)?this.fire(new t.j(new t.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${r.start(0)} and ${r.end(0)}-second mark.`))):this.video.currentTime=e}}getVideo(){return this.video}onAdd(e){this.map||(this.map=e,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(0===Object.keys(this.tiles).length||this.video.readyState<2)return;let e=this.map.painter.context,r=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,Q.members)),this.boundsSegments||(this.boundsSegments=t.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new w(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE));let n=!1;for(let e in this.tiles){let t=this.tiles[e];"loaded"!==t.state&&(t.state="loaded",t.texture=this.texture,n=!0)}n&&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 re extends ee{constructor(e,r,n,i){super(e,r,n,i),r.coordinates?Array.isArray(r.coordinates)&&4===r.coordinates.length&&!r.coordinates.some((e=>!Array.isArray(e)||2!==e.length||e.some((e=>"number"!=typeof e))))||this.fire(new t.j(new t.a2(`sources.${e}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.j(new t.a2(`sources.${e}`,null,'missing required property "coordinates"'))),r.animate&&"boolean"!=typeof r.animate&&this.fire(new t.j(new t.a2(`sources.${e}`,null,'optional "animate" property must be a boolean value'))),r.canvas?"string"==typeof r.canvas||r.canvas instanceof HTMLCanvasElement||this.fire(new t.j(new t.a2(`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 t.j(new t.a2(`sources.${e}`,null,'missing required property "canvas"'))),this.options=r,this.animate=void 0===r.animate||r.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(e){this.map=e,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),this._hasInvalidDimensions()||0===Object.keys(this.tiles).length)return;let r=this.map.painter.context,n=r.gl;this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,Q.members)),this.boundsSegments||(this.boundsSegments=t.a0.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new w(r,this.canvas,n.RGBA,{premultiply:!0});let i=!1;for(let e in this.tiles){let t=this.tiles[e];"loaded"!==t.state&&(t.state="loaded",t.texture=this.texture,i=!0)}i&&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 e of[this.canvas.width,this.canvas.height])if(isNaN(e)||e<=0)return!0;return!1}}let ne={},ie=e=>{switch(e){case"geojson":return J;case"image":return ee;case"raster":return $;case"raster-dem":return K;case"vector":return Z;case"video":return te;case"canvas":return re}return ne[e]},ae="RTLPluginLoaded";class oe extends t.E{constructor(){super(...arguments),this.status="unavailable",this.url=null,this.dispatcher=V()}_syncState(e){return this.status=e,this.dispatcher.broadcast("SRPS",{pluginStatus:e,pluginURL:this.url}).catch((e=>{throw this.status="error",e}))}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status="unavailable",this.url=null}setRTLTextPlugin(e){return t._(this,arguments,void 0,(function*(e,t=!1){if(this.url)throw new Error("setRTLTextPlugin cannot be called multiple times.");if(this.url=a.resolveURL(e),!this.url)throw new Error(`requested url ${e} is invalid`);if("unavailable"===this.status){if(!t)return this._requestImport();this.status="deferred",this._syncState(this.status)}else if("requested"===this.status)return this._requestImport()}))}_requestImport(){return t._(this,void 0,void 0,(function*(){yield this._syncState("loading"),this.status="loaded",this.fire(new t.k(ae))}))}lazyLoad(){"unavailable"===this.status?this.status="requested":"deferred"===this.status&&this._requestImport()}}let se=null;function le(){return se||(se=new oe),se}class ce{constructor(e,r){this.timeAdded=0,this.fadeEndTime=0,this.tileID=e,this.uid=t.a4(),this.uses=0,this.tileSize=r,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(e){let t=e+this.timeAdded;tt.getLayer(e))).filter(Boolean);if(0!==e.length){n.layers=e,n.stateDependentLayerIds&&(n.stateDependentLayers=n.stateDependentLayerIds.map((t=>e.filter((e=>e.id===t))[0])));for(let t of e)r[t.id]=n}}return r}(e.buckets,r.style),this.hasSymbolBuckets=!1;for(let e in this.buckets){let r=this.buckets[e];if(r instanceof t.a6){if(this.hasSymbolBuckets=!0,!n)break;r.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let e in this.buckets){let r=this.buckets[e];if(r instanceof t.a6&&r.hasRTLText){this.hasRTLText=!0,le().lazyLoad();break}}this.queryPadding=0;for(let e in this.buckets){let t=this.buckets[e];this.queryPadding=Math.max(this.queryPadding,r.style.getLayer(e).queryRadius(t))}e.imageAtlas&&(this.imageAtlas=e.imageAtlas),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage)}else this.collisionBoxArray=new t.a5}unloadVectorData(){for(let e in this.buckets)this.buckets[e].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(e){return this.buckets[e.id]}upload(e){for(let t in this.buckets){let r=this.buckets[t];r.uploadPending()&&r.upload(e)}let t=e.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new w(e,this.imageAtlas.image,t.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new w(e,this.glyphAtlasImage,t.ALPHA),this.glyphAtlasImage=null)}prepare(e){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(e,this.imageAtlasTexture)}queryRenderedFeatures(e,t,r,n,i,a,o,s,l,c){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:n,cameraQueryGeometry:i,scale:a,tileSize:this.tileSize,pixelPosMatrix:c,transform:s,params:o,queryPadding:this.queryPadding*l},e,t,r):{}}querySourceFeatures(e,r){let n=this.latestFeatureIndex;if(!n||!n.rawTileData)return;let i=n.loadVTLayers(),a=r&&r.sourceLayer?r.sourceLayer:"",o=i._geojsonTileLayer||i[a];if(!o)return;let s=t.a7(r&&r.filter),{z:l,x:c,y:u}=this.tileID.canonical,h={z:l,x:c,y:u};for(let r=0;re)t=!1;else if(r)if(this.expirationTime{this.remove(e,i)}),r)),this.data[n].push(i),this.order.push(n),this.order.length>this.max){let e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}has(e){return e.wrapped().key in this.data}getAndRemove(e){return this.has(e)?this._getAndRemoveByKey(e.wrapped().key):null}_getAndRemoveByKey(e){let t=this.data[e].shift();return t.timeout&&clearTimeout(t.timeout),0===this.data[e].length&&delete this.data[e],this.order.splice(this.order.indexOf(e),1),t.value}getByKey(e){let t=this.data[e];return t?t[0].value:null}get(e){return this.has(e)?this.data[e.wrapped().key][0].value:null}remove(e,t){if(!this.has(e))return this;let r=e.wrapped().key,n=void 0===t?0:this.data[r].indexOf(t),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this}setMaxSize(e){for(this.max=e;this.order.length>this.max;){let e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}filter(e){let t=[];for(let r in this.data)for(let n of this.data[r])e(n.value)||t.push(n);for(let e of t)this.remove(e.value.tileID,e)}}class he{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(e,r,n){let i=String(r);if(this.stateChanges[e]=this.stateChanges[e]||{},this.stateChanges[e][i]=this.stateChanges[e][i]||{},t.e(this.stateChanges[e][i],n),null===this.deletedStates[e]){this.deletedStates[e]={};for(let t in this.state[e])t!==i&&(this.deletedStates[e][t]=null)}else if(this.deletedStates[e]&&null===this.deletedStates[e][i]){this.deletedStates[e][i]={};for(let t in this.state[e][i])n[t]||(this.deletedStates[e][i][t]=null)}else for(let t in n)this.deletedStates[e]&&this.deletedStates[e][i]&&null===this.deletedStates[e][i][t]&&delete this.deletedStates[e][i][t]}removeFeatureState(e,t,r){if(null===this.deletedStates[e])return;let n=String(t);if(this.deletedStates[e]=this.deletedStates[e]||{},r&&void 0!==t)null!==this.deletedStates[e][n]&&(this.deletedStates[e][n]=this.deletedStates[e][n]||{},this.deletedStates[e][n][r]=null);else if(void 0!==t)if(this.stateChanges[e]&&this.stateChanges[e][n])for(r in this.deletedStates[e][n]={},this.stateChanges[e][n])this.deletedStates[e][n][r]=null;else this.deletedStates[e][n]=null;else this.deletedStates[e]=null}getState(e,r){let n=String(r),i=t.e({},(this.state[e]||{})[n],(this.stateChanges[e]||{})[n]);if(null===this.deletedStates[e])return{};if(this.deletedStates[e]){let t=this.deletedStates[e][r];if(null===t)return{};for(let e in t)delete i[e]}return i}initializeTileState(e,t){e.setFeatureState(this.state,t)}coalesceChanges(e,r){let n={};for(let e in this.stateChanges){this.state[e]=this.state[e]||{};let r={};for(let n in this.stateChanges[e])this.state[e][n]||(this.state[e][n]={}),t.e(this.state[e][n],this.stateChanges[e][n]),r[n]=this.state[e][n];n[e]=r}for(let e in this.deletedStates){this.state[e]=this.state[e]||{};let r={};if(null===this.deletedStates[e])for(let t in this.state[e])r[t]={},this.state[e][t]={};else for(let t in this.deletedStates[e]){if(null===this.deletedStates[e][t])this.state[e][t]={};else for(let r of Object.keys(this.deletedStates[e][t]))delete this.state[e][t][r];r[t]=this.state[e][t]}n[e]=n[e]||{},t.e(n[e],r)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(n).length)for(let t in e)e[t].setFeatureState(n,r)}}class de extends t.E{constructor(e,t,r){super(),this.id=e,this.dispatcher=r,this.on("data",(e=>this._dataHandler(e))),this.on("dataloading",(()=>{this._sourceErrored=!1})),this.on("error",(()=>{this._sourceErrored=this._source.loaded()})),this._source=((e,t,r,n)=>{let i=new(ie(t.type))(e,t,r,n);if(i.id!==e)throw new Error(`Expected Source id to be ${e} instead of ${i.id}`);return i})(e,t,r,this),this._tiles={},this._cache=new ue(0,(e=>this._unloadTile(e))),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new he,this._didEmitContent=!1,this._updated=!1}onAdd(e){this.map=e,this._maxTileCacheSize=e?e._maxTileCacheSize:null,this._maxTileCacheZoomLevels=e?e._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(e)}onRemove(e){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(e)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(void 0===this.used&&void 0===this.usedForTerrain||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(let e in this._tiles){let t=this._tiles[e];if("loaded"!==t.state&&"errored"!==t.state)return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let e=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,e&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(e,r,n){return t._(this,void 0,void 0,(function*(){try{yield this._source.loadTile(e),this._tileLoaded(e,r,n)}catch(r){e.state="errored",404!==r.status?this._source.fire(new t.j(r,{tile:e})):this.update(this.transform,this.terrain)}}))}_unloadTile(e){this._source.unloadTile&&this._source.unloadTile(e)}_abortTile(e){this._source.abortTile&&this._source.abortTile(e),this._source.fire(new t.k("dataabort",{tile:e,coord:e.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(e){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(let t in this._tiles){let r=this._tiles[t];r.upload(e),r.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map((e=>e.tileID)).sort(fe).map((e=>e.key))}getRenderableIds(e){let r=[];for(let t in this._tiles)this._isIdRenderable(t,e)&&r.push(this._tiles[t]);return e?r.sort(((e,r)=>{let n=e.tileID,i=r.tileID,a=new t.P(n.canonical.x,n.canonical.y)._rotate(this.transform.angle),o=new t.P(i.canonical.x,i.canonical.y)._rotate(this.transform.angle);return n.overscaledZ-i.overscaledZ||o.y-a.y||o.x-a.x})).map((e=>e.tileID.key)):r.map((e=>e.tileID)).sort(fe).map((e=>e.key))}hasRenderableParent(e){let t=this.findLoadedParent(e,0);return!!t&&this._isIdRenderable(t.tileID.key)}_isIdRenderable(e,t){return this._tiles[e]&&this._tiles[e].hasData()&&!this._coveredTiles[e]&&(t||!this._tiles[e].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(let e in this._tiles)"errored"!==this._tiles[e].state&&this._reloadTile(e,"reloading")}}_reloadTile(e,r){return t._(this,void 0,void 0,(function*(){let t=this._tiles[e];t&&("loading"!==t.state&&(t.state=r),yield this._loadTile(t,e,r))}))}_tileLoaded(e,r,n){e.timeAdded=a.now(),"expired"===n&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(r,e),"raster-dem"===this.getSource().type&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),e.aborted||this._source.fire(new t.k("data",{dataType:"source",tile:e,coord:e.tileID}))}_backfillDEM(e){let t=this.getRenderableIds();for(let n=0;n1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),t.dem&&e.dem&&(e.dem.backfillBorder(t.dem,r,n),e.neighboringTiles&&e.neighboringTiles[a]&&(e.neighboringTiles[a].backfilled=!0)))}}getTile(e){return this.getTileByID(e.key)}getTileByID(e){return this._tiles[e]}_retainLoadedChildren(e,t,r,n){for(let i in this._tiles){let a=this._tiles[i];if(n[i]||!a.hasData()||a.tileID.overscaledZ<=t||a.tileID.overscaledZ>r)continue;let o=a.tileID;for(;a&&a.tileID.overscaledZ>t+1;){let e=a.tileID.scaledTo(a.tileID.overscaledZ-1);a=this._tiles[e.key],a&&a.hasData()&&(o=e)}let s=o;for(;s.overscaledZ>t;)if(s=s.scaledTo(s.overscaledZ-1),e[s.key]){n[o.key]=o;break}}}findLoadedParent(e,t){if(e.key in this._loadedParentTiles){let r=this._loadedParentTiles[e.key];return r&&r.tileID.overscaledZ>=t?r:null}for(let r=e.overscaledZ-1;r>=t;r--){let t=e.scaledTo(r),n=this._getLoadedTile(t);if(n)return n}}findLoadedSibling(e){return this._getLoadedTile(e)}_getLoadedTile(e){let t=this._tiles[e.key];return t&&t.hasData()?t:this._cache.getByKey(e.wrapped().key)}updateCacheSize(e){let r=Math.ceil(e.width/this._source.tileSize)+1,n=Math.ceil(e.height/this._source.tileSize)+1,i=Math.floor(r*n*(null===this._maxTileCacheZoomLevels?t.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),a="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,i):i;this._cache.setMaxSize(a)}handleWrapJump(e){let t=Math.round((e-(void 0===this._prevLng?e:this._prevLng))/360);if(this._prevLng=e,t){let e={};for(let r in this._tiles){let n=this._tiles[r];n.tileID=n.tileID.unwrapTo(n.tileID.wrap+t),e[n.tileID.key]=n}this._tiles=e;for(let e in this._timers)clearTimeout(this._timers[e]),delete this._timers[e];for(let e in this._tiles)this._setTileReloadTimer(e,this._tiles[e])}}_updateCoveredAndRetainedTiles(e,t,r,n,i,o){let s={},l={},c=Object.keys(e),u=a.now();for(let r of c){let n=e[r],i=this._tiles[r];if(!i||0!==i.fadeEndTime&&i.fadeEndTime<=u)continue;let a=this.findLoadedParent(n,t),o=this.findLoadedSibling(n),c=a||o||null;c&&(this._addTile(c.tileID),s[c.tileID.key]=c.tileID),l[r]=n}this._retainLoadedChildren(l,n,r,e);for(let t in s)e[t]||(this._coveredTiles[t]=!0,e[t]=s[t]);if(o){let t={},r={};for(let e of i)this._tiles[e.key].hasData()?t[e.key]=e:r[e.key]=e;for(let n in r){let i=r[n].children(this._source.maxzoom);this._tiles[i[0].key]&&this._tiles[i[1].key]&&this._tiles[i[2].key]&&this._tiles[i[3].key]&&(t[i[0].key]=e[i[0].key]=i[0],t[i[1].key]=e[i[1].key]=i[1],t[i[2].key]=e[i[2].key]=i[2],t[i[3].key]=e[i[3].key]=i[3],delete r[n])}for(let n in r){let i=r[n],a=this.findLoadedParent(i,this._source.minzoom),o=this.findLoadedSibling(i),s=a||o||null;if(s){t[s.tileID.key]=e[s.tileID.key]=s.tileID;for(let e in t)t[e].isChildOf(s.tileID)&&delete t[e]}}for(let e in this._tiles)t[e]||(this._coveredTiles[e]=!0)}}update(e,r){if(!this._sourceLoaded||this._paused)return;let n;this.transform=e,this.terrain=r,this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?n=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((e=>new t.S(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y))):(n=e.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:r}),this._source.hasTile&&(n=n.filter((e=>this._source.hasTile(e))))):n=[];let i=e.coveringZoomLevel(this._source),a=Math.max(i-de.maxOverzooming,this._source.minzoom),o=Math.max(i+de.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let e={};for(let t of n)if(t.canonical.z>this._source.minzoom){let r=t.scaledTo(t.canonical.z-1);e[r.key]=r;let n=t.scaledTo(Math.max(this._source.minzoom,Math.min(t.canonical.z,5)));e[n.key]=n}n=n.concat(Object.values(e))}let s=0===n.length&&!this._updated&&this._didEmitContent;this._updated=!0,s&&this.fire(new t.k("data",{sourceDataType:"idle",dataType:"source",sourceId:this.id}));let l=this._updateRetainedTiles(n,i);pe(this._source.type)&&this._updateCoveredAndRetainedTiles(l,a,o,i,n,r);for(let e in l)this._tiles[e].clearFadeHold();let c=t.ab(this._tiles,l);for(let e of c){let t=this._tiles[e];t.hasSymbolBuckets&&!t.holdingForFade()?t.setHoldDuration(this.map._fadeDuration):t.hasSymbolBuckets&&!t.symbolFadeFinished()||this._removeTile(e)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(let e in this._tiles)this._tiles[e].holdingForFade()&&this._removeTile(e)}_updateRetainedTiles(e,t){var r;let n={},i={},a=Math.max(t-de.maxOverzooming,this._source.minzoom),o=Math.max(t+de.maxUnderzooming,this._source.minzoom),s={};for(let r of e){let e=this._addTile(r);n[r.key]=r,e.hasData()||tthis._source.maxzoom){let e=o.children(this._source.maxzoom)[0],t=this.getTile(e);if(t&&t.hasData()){n[e.key]=e;continue}}else{let e=o.children(this._source.maxzoom);if(n[e[0].key]&&n[e[1].key]&&n[e[2].key]&&n[e[3].key])continue}let s=e.wasRequested();for(let t=o.overscaledZ-1;t>=a;--t){let a=o.scaledTo(t);if(i[a.key])break;if(i[a.key]=!0,e=this.getTile(a),!e&&s&&(e=this._addTile(a)),e){let t=e.hasData();if((t||!(null!==(r=this.map)&&void 0!==r&&r.cancelPendingTileRequestsWhileZooming)||s)&&(n[a.key]=a),s=e.wasRequested(),t)break}}}return n}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(let e in this._tiles){let t,r=[],n=this._tiles[e].tileID;for(;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){t=this._loadedParentTiles[n.key];break}r.push(n.key);let e=n.scaledTo(n.overscaledZ-1);if(t=this._getLoadedTile(e),t)break;n=e}for(let e of r)this._loadedParentTiles[e]=t}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(let e in this._tiles){let t=this._tiles[e].tileID,r=this._getLoadedTile(t);this._loadedSiblingTiles[t.key]=r}}_addTile(e){let r=this._tiles[e.key];if(r)return r;r=this._cache.getAndRemove(e),r&&(this._setTileReloadTimer(e.key,r),r.tileID=e,this._state.initializeTileState(r,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,r)));let n=r;return r||(r=new ce(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(r,e.key,r.state)),r.uses++,this._tiles[e.key]=r,n||this._source.fire(new t.k("dataloading",{tile:r,coord:r.tileID,dataType:"source"})),r}_setTileReloadTimer(e,t){e in this._timers&&(clearTimeout(this._timers[e]),delete this._timers[e]);let r=t.getExpiryTimeout();r&&(this._timers[e]=setTimeout((()=>{this._reloadTile(e,"expired"),delete this._timers[e]}),r))}_removeTile(e){let t=this._tiles[e];t&&(t.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),delete this._timers[e]),t.uses>0||(t.hasData()&&"reloading"!==t.state?this._cache.add(t.tileID,t,t.getExpiryTimeout()):(t.aborted=!0,this._abortTile(t),this._unloadTile(t))))}_dataHandler(e){let t=e.sourceDataType;"source"===e.dataType&&"metadata"===t&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&"source"===e.dataType&&"content"===t&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let e in this._tiles)this._removeTile(e);this._cache.reset()}tilesIn(e,r,n){let i=[],a=this.transform;if(!a)return i;let o=n?a.getCameraQueryGeometry(e):e,s=e.map((e=>a.pointCoordinate(e,this.terrain))),l=o.map((e=>a.pointCoordinate(e,this.terrain))),c=this.getIds(),u=1/0,h=1/0,d=-1/0,f=-1/0;for(let e of l)u=Math.min(u,e.x),h=Math.min(h,e.y),d=Math.max(d,e.x),f=Math.max(f,e.y);for(let e=0;e=0&&g[1].y+m>=0){let e=s.map((e=>o.getTilePoint(e))),t=l.map((e=>o.getTilePoint(e)));i.push({tile:n,tileID:o,queryGeometry:e,cameraQueryGeometry:t,scale:p})}}return i}getVisibleCoordinates(e){let t=this.getRenderableIds(e).map((e=>this._tiles[e].tileID));for(let e of t)e.posMatrix=this.transform.calculatePosMatrix(e.toUnwrapped());return t}hasTransition(){if(this._source.hasTransition())return!0;if(pe(this._source.type)){let e=a.now();for(let t in this._tiles)if(this._tiles[t].fadeEndTime>=e)return!0}return!1}setFeatureState(e,t,r){this._state.updateState(e=e||"_geojsonTileLayer",t,r)}removeFeatureState(e,t,r){this._state.removeFeatureState(e=e||"_geojsonTileLayer",t,r)}getFeatureState(e,t){return this._state.getState(e=e||"_geojsonTileLayer",t)}setDependencies(e,t,r){let n=this._tiles[e];n&&n.setDependencies(t,r)}reloadTilesForDependencies(e,t){for(let r in this._tiles)this._tiles[r].hasDependency(e,t)&&this._reloadTile(r,"reloading");this._cache.filter((r=>!r.hasDependency(e,t)))}}function fe(e,t){let r=Math.abs(2*e.wrap)-+(e.wrap<0),n=Math.abs(2*t.wrap)-+(t.wrap<0);return e.overscaledZ-t.overscaledZ||n-r||t.canonical.y-e.canonical.y||t.canonical.x-e.canonical.x}function pe(e){return"raster"===e||"image"===e||"video"===e}de.maxOverzooming=10,de.maxUnderzooming=3;class me{constructor(e,t){this.reset(e,t)}reset(e,t){this.points=e||[],this._distances=[0];for(let e=1;e0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))}}function ge(e,t){let r=!0;return"always"===e||"never"!==e&&"never"!==t||(r=!1),r}class ye{constructor(e,t,r){let n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(e/r),this.yCellCount=Math.ceil(t/r);for(let e=0;ethis.width||n<0||t>this.height)return[];let s=[];if(e<=0&&t<=0&&this.width<=r&&this.height<=n){if(i)return[{key:null,x1:e,y1:t,x2:r,y2:n}];for(let e=0;e0}hitTestCircle(e,t,r,n,i){let a=e-r,o=e+r,s=t-r,l=t+r;if(o<0||a>this.width||l<0||s>this.height)return!1;let c=[];return this._forEachCell(a,s,o,l,this._queryCellCircle,c,{hitTest:!0,overlapMode:n,circle:{x:e,y:t,radius:r},seenUids:{box:{},circle:{}}},i),c.length>0}_queryCell(e,t,r,n,i,a,o,s){let{seenUids:l,hitTest:c,overlapMode:u}=o,h=this.boxCells[i];if(null!==h){let i=this.bboxes;for(let o of h)if(!l.box[o]){l.box[o]=!0;let h=4*o,d=this.boxKeys[o];if(e<=i[h+2]&&t<=i[h+3]&&r>=i[h+0]&&n>=i[h+1]&&(!s||s(d))&&(!c||!ge(u,d.overlapMode))&&(a.push({key:d,x1:i[h],y1:i[h+1],x2:i[h+2],y2:i[h+3]}),c))return!0}}let d=this.circleCells[i];if(null!==d){let i=this.circles;for(let o of d)if(!l.circle[o]){l.circle[o]=!0;let h=3*o,d=this.circleKeys[o];if(this._circleAndRectCollide(i[h],i[h+1],i[h+2],e,t,r,n)&&(!s||s(d))&&(!c||!ge(u,d.overlapMode))){let e=i[h],t=i[h+1],r=i[h+2];if(a.push({key:d,x1:e-r,y1:t-r,x2:e+r,y2:t+r}),c)return!0}}}return!1}_queryCellCircle(e,t,r,n,i,a,o,s){let{circle:l,seenUids:c,overlapMode:u}=o,h=this.boxCells[i];if(null!==h){let e=this.bboxes;for(let t of h)if(!c.box[t]){c.box[t]=!0;let r=4*t,n=this.boxKeys[t];if(this._circleAndRectCollide(l.x,l.y,l.radius,e[r+0],e[r+1],e[r+2],e[r+3])&&(!s||s(n))&&!ge(u,n.overlapMode))return a.push(!0),!0}}let d=this.circleCells[i];if(null!==d){let e=this.circles;for(let t of d)if(!c.circle[t]){c.circle[t]=!0;let r=3*t,n=this.circleKeys[t];if(this._circlesCollide(e[r],e[r+1],e[r+2],l.x,l.y,l.radius)&&(!s||s(n))&&!ge(u,n.overlapMode))return a.push(!0),!0}}}_forEachCell(e,t,r,n,i,a,o,s){let l=this._convertToXCellCoord(e),c=this._convertToYCellCoord(t),u=this._convertToXCellCoord(r),h=this._convertToYCellCoord(n);for(let d=l;d<=u;d++)for(let l=c;l<=h;l++)if(i.call(this,e,t,r,n,this.xCellCount*l+d,a,o,s))return}_convertToXCellCoord(e){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(e*this.xScale)))}_convertToYCellCoord(e){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(e*this.yScale)))}_circlesCollide(e,t,r,n,i,a){let o=n-e,s=i-t,l=r+a;return l*l>o*o+s*s}_circleAndRectCollide(e,t,r,n,i,a,o){let s=(a-n)/2,l=Math.abs(e-(n+s));if(l>s+r)return!1;let c=(o-i)/2,u=Math.abs(t-(i+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;let h=l-s,d=u-c;return h*h+d*d<=r*r}}function ve(e,r,n,i,a){let o=t.H();return r?(t.K(o,o,[1/a,1/a,1]),n||t.ad(o,o,i.angle)):t.L(o,i.labelPlaneMatrix,e),o}function xe(e,r,n,i,a){if(r){let r=t.ae(e);return t.K(r,r,[a,a,1]),n||t.ad(r,r,-i.angle),r}return i.glCoordMatrix}function be(e,r,n,i){let a;i?(a=[e,r,i(e,r),1],t.af(a,a,n)):(a=[e,r,0,1],De(a,a,n));let o=a[3];return{point:new t.P(a[0]/o,a[1]/o),signedDistanceFromCamera:o,isOccluded:!1}}function _e(e,t){return.5+e/t*.5}function we(e,t){return e.x>=-t[0]&&e.x<=t[0]&&e.y>=-t[1]&&e.y<=t[1]}function ke(e,r,n,i,a,o,s,l,c,u,h,d,f,p,m){let g=i?e.textSizeData:e.iconSizeData,y=t.ag(g,n.transform.zoom),v=[256/n.width*2+1,256/n.height*2+1],x=i?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;x.clear();let b=e.lineVertexArray,_=i?e.text.placedSymbolArray:e.icon.placedSymbolArray,w=n.transform.width/n.transform.height,k=!1;for(let i=0;i<_.length;i++){let T=_.get(i);if(T.hidden||T.writingMode===t.ah.vertical&&!k){Oe(T.numGlyphs,x);continue}k=!1;let A=be(T.anchorX,T.anchorY,r,m);if(!we(A.point,v)){Oe(T.numGlyphs,x);continue}let M=_e(n.transform.cameraToCenterDistance,A.signedDistanceFromCamera),S=t.ai(g,y,T),E=s?S/M:S*M,C={getElevation:m,labelPlaneMatrix:a,lineVertexArray:b,pitchWithMap:s,projectionCache:{projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},projection:u,tileAnchorPoint:new t.P(T.anchorX,T.anchorY),unwrappedTileID:h,width:d,height:f,translation:p},L=Me(C,T,E,!1,l,r,o,e.glyphOffsetArray,x,w,c);k=L.useVertical,(L.notEnoughRoom||k||L.needsFlipping&&Me(C,T,E,!0,l,r,o,e.glyphOffsetArray,x,w,c).notEnoughRoom)&&Oe(T.numGlyphs,x)}i?e.text.dynamicLayoutVertexBuffer.updateData(x):e.icon.dynamicLayoutVertexBuffer.updateData(x)}function Te(e,t,r,n,i,a,o,s){let l=a.glyphStartIndex+a.numGlyphs,c=a.lineStartIndex,u=a.lineStartIndex+a.lineLength,h=t.getoffsetX(a.glyphStartIndex),d=t.getoffsetX(l-1),f=Pe(e*h,r,n,i,a.segment,c,u,s,o);if(!f)return null;let p=Pe(e*d,r,n,i,a.segment,c,u,s,o);return p?s.projectionCache.anyProjectionOccluded?null:{first:f,last:p}:null}function Ae(e,r,n,i){return e===t.ah.horizontal&&Math.abs(n.y-r.y)>Math.abs(n.x-r.x)*i?{useVertical:!0}:(e===t.ah.vertical?r.yn.x)?{needsFlipping:!0}:null}function Me(e,r,n,i,a,o,s,l,c,u,h){let d,f=n/24,p=r.lineOffsetX*f,m=r.lineOffsetY*f;if(r.numGlyphs>1){let t=r.glyphStartIndex+r.numGlyphs,n=r.lineStartIndex,o=r.lineStartIndex+r.lineLength,c=Te(f,l,p,m,i,r,h,e);if(!c)return{notEnoughRoom:!0};let g=be(c.first.point.x,c.first.point.y,s,e.getElevation).point,y=be(c.last.point.x,c.last.point.y,s,e.getElevation).point;if(a&&!i){let e=Ae(r.writingMode,g,y,u);if(e)return e}d=[c.first];for(let a=r.glyphStartIndex+1;a0?s.point:Se(e.tileAnchorPoint,a,n,1,o,e),c=Ae(r.writingMode,n,l,u);if(c)return c}let n=Pe(f*l.getoffsetX(r.glyphStartIndex),p,m,i,r.segment,r.lineStartIndex,r.lineStartIndex+r.lineLength,e,h);if(!n||e.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};d=[n]}for(let e of d)t.aj(c,e.point,e.angle);return{}}function Se(e,t,r,n,i,a){let o=e.add(e.sub(t)._unit()),s=void 0!==i?be(o.x,o.y,i,a.getElevation).point:Ce(o.x,o.y,a).point,l=r.sub(s);return r.add(l._mult(n/l.mag()))}function Ee(e,r,n){let i=r.projectionCache;if(i.projections[e])return i.projections[e];let a=new t.P(r.lineVertexArray.getx(e),r.lineVertexArray.gety(e)),o=Ce(a.x,a.y,r);if(o.signedDistanceFromCamera>0)return i.projections[e]=o.point,i.anyProjectionOccluded=i.anyProjectionOccluded||o.isOccluded,o.point;let s=e-n.direction;return Se(0===n.distanceFromAnchor?r.tileAnchorPoint:new t.P(r.lineVertexArray.getx(s),r.lineVertexArray.gety(s)),a,n.previousVertex,n.absOffsetX-n.distanceFromAnchor+1,void 0,r)}function Ce(e,t,r){let n,i=e+r.translation[0],a=t+r.translation[1];return!r.pitchWithMap&&r.projection.useSpecialProjectionForSymbols?(n=r.projection.projectTileCoordinates(i,a,r.unwrappedTileID,r.getElevation),n.point.x=(.5*n.point.x+.5)*r.width,n.point.y=(.5*-n.point.y+.5)*r.height):(n=be(i,a,r.labelPlaneMatrix,r.getElevation),n.isOccluded=!1),n}function Le(e,t,r){return e._unit()._perp()._mult(t*r)}function Ie(e,r,n,i,a,o,s,l,c){if(l.projectionCache.offsets[e])return l.projectionCache.offsets[e];let u=n.add(r);if(e+c.direction=a)return l.projectionCache.offsets[e]=u,u;let h=Ee(e+c.direction,l,c),d=Le(h.sub(n),s,c.direction),f=n.add(d),p=h.add(d);return l.projectionCache.offsets[e]=t.ak(o,u,f,p)||u,l.projectionCache.offsets[e]}function Pe(e,t,r,n,i,a,o,s,l){let c=n?e-t:e+t,u=c>0?1:-1,h=0;n&&(u*=-1,h=Math.PI),u<0&&(h+=Math.PI);let d,f=u>0?a+i:a+i+1;s.projectionCache.cachedAnchorPoint?d=s.projectionCache.cachedAnchorPoint:(d=Ce(s.tileAnchorPoint.x,s.tileAnchorPoint.y,s).point,s.projectionCache.cachedAnchorPoint=d);let p,m,g,y=d,v=d,x=0,b=0,_=Math.abs(c),w=[];for(;x+b<=_;){if(f+=u,f=o)return null;x+=b,v=y,m=p;let e={absOffsetX:_,direction:u,distanceFromAnchor:x,previousVertex:v};if(y=Ee(f,s,e),0===r)w.push(v),g=y.sub(v);else{let t,n=y.sub(v);t=0===n.mag()?Le(Ee(f+u,s,e).sub(y),r,u):Le(n,r,u),m||(m=v.add(t)),p=Ie(f,t,y,a,o,m,r,s,e),w.push(m),g=p.sub(m)}b=g.mag()}let k=g._mult((_-x)/b)._add(m||v),T=h+Math.atan2(y.y-v.y,y.x-v.x);return w.push(k),{point:k,angle:l?T:0,path:w}}let ze=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Oe(e,t){for(let r=0;r=1;e--)l.push(o.path[e]);for(let e=1;ee.signedDistanceFromCamera<=0))?[]:e.map((e=>e.point))}let m=[];if(l.length>0){let e=l[0].clone(),r=l[0].clone();for(let t=1;t=n.x&&r.x<=i.x&&e.y>=n.y&&r.y<=i.y?[l]:r.xi.x||r.yi.y?[]:t.al([l],n.x,n.y,i.x,i.y)}for(let t of m){a.reset(t,.25*r);let n=0;n=a.length<=.5*r?1:Math.ceil(a.paddedLength/h)+1;for(let t=0;tbe(e.x,e.y,r,t.getElevation)))}queryRenderedSymbols(e){if(0===e.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return{};let r=[],n=1/0,i=1/0,a=-1/0,o=-1/0;for(let s of e){let e=new t.P(s.x+Re,s.y+Re);n=Math.min(n,e.x),i=Math.min(i,e.y),a=Math.max(a,e.x),o=Math.max(o,e.y),r.push(e)}let s=this.grid.query(n,i,a,o).concat(this.ignoredGrid.query(n,i,a,o)),l={},c={};for(let e of s){let n=e.key;if(void 0===l[n.bucketInstanceId]&&(l[n.bucketInstanceId]={}),l[n.bucketInstanceId][n.featureIndex])continue;let i=[new t.P(e.x1,e.y1),new t.P(e.x2,e.y1),new t.P(e.x2,e.y2),new t.P(e.x1,e.y2)];t.am(r,i)&&(l[n.bucketInstanceId][n.featureIndex]=!0,void 0===c[n.bucketInstanceId]&&(c[n.bucketInstanceId]=[]),c[n.bucketInstanceId].push(n.featureIndex))}return c}insertCollisionBox(e,t,r,n,i,a){(r?this.ignoredGrid:this.grid).insert({bucketInstanceId:n,featureIndex:i,collisionGroupID:a,overlapMode:t},e[0],e[1],e[2],e[3])}insertCollisionCircles(e,t,r,n,i,a){let o=r?this.ignoredGrid:this.grid,s={bucketInstanceId:n,featureIndex:i,collisionGroupID:a,overlapMode:t};for(let t=0;t=this.screenRightBoundary||nthis.screenBottomBoundary}isInsideGrid(e,t,r,n){return r>=0&&e=0&&tthis.projectAndGetPerspectiveRatio(n,e.x,e.y,i,c)));T=e.some((e=>!e.isOccluded)),k=e.map((e=>e.point))}else T=!0;return{box:t.ao(k),allPointsOccluded:!T}}}function Fe(e,r,n){return r*(t.X/(e.tileSize*Math.pow(2,n-e.tileID.overscaledZ)))}class Be{constructor(e,t,r,n){this.opacity=e?Math.max(0,Math.min(1,e.opacity+(e.placed?t:-t))):n&&r?1:0,this.placed=r}isHidden(){return 0===this.opacity&&!this.placed}}class Ne{constructor(e,t,r,n,i){this.text=new Be(e?e.text:null,t,r,i),this.icon=new Be(e?e.icon:null,t,n,i)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class Ue{constructor(e,t,r){this.text=e,this.icon=t,this.skipFade=r}}class Ve{constructor(){this.invProjMatrix=t.H(),this.viewportMatrix=t.H(),this.circles=[]}}class qe{constructor(e,t,r,n,i){this.bucketInstanceId=e,this.featureIndex=t,this.sourceLayerIndex=r,this.bucketIndex=n,this.tileID=i}}class He{constructor(e){this.crossSourceCollisions=e,this.maxGroupID=0,this.collisionGroups={}}get(e){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[e]){let t=++this.maxGroupID;this.collisionGroups[e]={ID:t,predicate:e=>e.collisionGroupID===t}}return this.collisionGroups[e]}}function Ge(e,r,n,i,a){let{horizontalAlign:o,verticalAlign:s}=t.au(e);return new t.P(-(o-.5)*r+i[0]*a,-(s-.5)*n+i[1]*a)}class We{constructor(e,t,r,n,i,a){this.transform=e.clone(),this.terrain=r,this.collisionIndex=new je(this.transform,t),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=n,this.retainedQueryData={},this.collisionGroups=new He(i),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=a,a&&(a.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(e){let t=this.terrain;return t?(r,n)=>t.getElevation(e,r,n):null}getBucketParts(e,r,n,i){let a=n.getBucket(r),o=n.latestFeatureIndex;if(!a||!o||r.id!==a.layerIds[0])return;let s=n.collisionBoxArray,l=a.layers[0].layout,c=a.layers[0].paint,u=Math.pow(2,this.transform.zoom-n.tileID.overscaledZ),h=n.tileSize/t.X,d=n.tileID.toUnwrapped(),f=this.transform.calculatePosMatrix(d),p="map"===l.get("text-pitch-alignment"),m="map"===l.get("text-rotation-alignment"),g=Fe(n,1,this.transform.zoom),y=this.collisionIndex.mapProjection.translatePosition(this.transform,n,c.get("text-translate"),c.get("text-translate-anchor")),v=this.collisionIndex.mapProjection.translatePosition(this.transform,n,c.get("icon-translate"),c.get("icon-translate-anchor")),x=ve(f,p,m,this.transform,g),b=null;if(p){let e=xe(f,p,m,this.transform,g);b=t.L([],this.transform.labelPlaneMatrix,e)}this.retainedQueryData[a.bucketInstanceId]=new qe(a.bucketInstanceId,o,a.sourceLayerIndex,a.index,n.tileID);let _={bucket:a,layout:l,translationText:y,translationIcon:v,posMatrix:f,unwrappedTileID:d,textLabelPlaneMatrix:x,labelToScreenMatrix:b,scale:u,textPixelRatio:h,holdingForFade:n.holdingForFade(),collisionBoxArray:s,partiallyEvaluatedTextSize:t.ag(a.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(a.sourceID)};if(i)for(let t of a.sortKeyRanges){let{sortKey:r,symbolInstanceStart:n,symbolInstanceEnd:i}=t;e.push({sortKey:r,symbolInstanceStart:n,symbolInstanceEnd:i,parameters:_})}else e.push({symbolInstanceStart:0,symbolInstanceEnd:a.symbolInstances.length,parameters:_})}attemptAnchorPlacement(e,r,n,i,a,o,s,l,c,u,h,d,f,p,m,g,y,v,x){let b=t.aq[e.textAnchor],_=[e.textOffset0,e.textOffset1],w=Ge(b,n,i,_,a),k=this.collisionIndex.placeCollisionBox(r,d,l,c,u,s,o,g,h.predicate,x,w);if((!v||this.collisionIndex.placeCollisionBox(v,d,l,c,u,s,o,y,h.predicate,x,w).placeable)&&k.placeable){let e;if(this.prevPlacement&&this.prevPlacement.variableOffsets[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID].text&&(e=this.prevPlacement.variableOffsets[f.crossTileID].anchor),0===f.crossTileID)throw new Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[f.crossTileID]={textOffset:_,width:n,height:i,anchor:b,textBoxScale:a,prevAnchor:e},this.markUsedJustification(p,b,f,m),p.allowVerticalPlacement&&(this.markUsedOrientation(p,m,f),this.placedOrientations[f.crossTileID]=m),{shift:w,placedGlyphBoxes:k}}}placeLayerBucketPart(e,r,n){let{bucket:i,layout:a,translationText:o,translationIcon:s,posMatrix:l,unwrappedTileID:c,textLabelPlaneMatrix:u,labelToScreenMatrix:h,textPixelRatio:d,holdingForFade:f,collisionBoxArray:p,partiallyEvaluatedTextSize:m,collisionGroup:g}=e.parameters,y=a.get("text-optional"),v=a.get("icon-optional"),x=t.ar(a,"text-overlap","text-allow-overlap"),b="always"===x,_=t.ar(a,"icon-overlap","icon-allow-overlap"),w="always"===_,k="map"===a.get("text-rotation-alignment"),T="map"===a.get("text-pitch-alignment"),A="none"!==a.get("icon-text-fit"),M="viewport-y"===a.get("symbol-z-order"),S=b&&(w||!i.hasIconData()||v),E=w&&(b||!i.hasTextData()||y);!i.collisionArrays&&p&&i.deserializeCollisionBoxes(p);let C=this._getTerrainElevationFunc(this.retainedQueryData[i.bucketInstanceId].tileID),L=(e,p,w)=>{var M,L;if(r[e.crossTileID])return;if(f)return void(this.placements[e.crossTileID]=new Ue(!1,!1,!1));let I=!1,P=!1,z=!0,O=null,D={box:null,placeable:!1,offscreen:null},R={box:null,placeable:!1,offscreen:null},j=null,F=null,B=null,N=0,U=0,V=0;p.textFeatureIndex?N=p.textFeatureIndex:e.useRuntimeCollisionCircles&&(N=e.featureIndex),p.verticalTextFeatureIndex&&(U=p.verticalTextFeatureIndex);let q=p.textBox;if(q){let r=r=>{let n=t.ah.horizontal;if(i.allowVerticalPlacement&&!r&&this.prevPlacement){let t=this.prevPlacement.placedOrientations[e.crossTileID];t&&(this.placedOrientations[e.crossTileID]=t,n=t,this.markUsedOrientation(i,n,e))}return n},a=(r,n)=>{if(i.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&p.verticalTextBox){for(let e of i.writingModes)if(e===t.ah.vertical?(D=n(),R=D):D=r(),D&&D.placeable)break}else D=r()},u=e.textAnchorOffsetStartIndex,h=e.textAnchorOffsetEndIndex;if(h===u){let n=(t,r)=>{let n=this.collisionIndex.placeCollisionBox(t,x,d,l,c,T,k,o,g.predicate,C);return n&&n.placeable&&(this.markUsedOrientation(i,r,e),this.placedOrientations[e.crossTileID]=r),n};a((()=>n(q,t.ah.horizontal)),(()=>{let r=p.verticalTextBox;return i.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&r?n(r,t.ah.vertical):{box:null,offscreen:null}})),r(D&&D.placeable)}else{let f=t.aq[null===(L=null===(M=this.prevPlacement)||void 0===M?void 0:M.variableOffsets[e.crossTileID])||void 0===L?void 0:L.anchor],m=(r,a,p)=>{let m=r.x2-r.x1,y=r.y2-r.y1,v=e.textBoxScale,b=A&&"never"===_?a:null,w=null,M="never"===x?1:2,S="never";f&&M++;for(let t=0;tm(q,p.iconBox,t.ah.horizontal)),(()=>{let r=p.verticalTextBox;return i.allowVerticalPlacement&&(!D||!D.placeable)&&e.numVerticalGlyphVertices>0&&r?m(r,p.verticalIconBox,t.ah.vertical):{box:null,occluded:!0,offscreen:null}})),D&&(I=D.placeable,z=D.offscreen);let y=r(D&&D.placeable);if(!I&&this.prevPlacement){let t=this.prevPlacement.variableOffsets[e.crossTileID];t&&(this.variableOffsets[e.crossTileID]=t,this.markUsedJustification(i,t.anchor,e,y))}}}if(j=D,I=j&&j.placeable,z=j&&j.offscreen,e.useRuntimeCollisionCircles){let r=i.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),s=t.ai(i.textSizeData,m,r),d=a.get("text-padding");F=this.collisionIndex.placeCollisionCircles(x,r,i.lineVertexArray,i.glyphOffsetArray,s,l,c,u,h,n,T,g.predicate,e.collisionCircleDiameter,d,o,C),F.circles.length&&F.collisionDetected&&!n&&t.w("Collisions detected, but collision boxes are not shown"),I=b||F.circles.length>0&&!F.collisionDetected,z=z&&F.offscreen}if(p.iconFeatureIndex&&(V=p.iconFeatureIndex),p.iconBox){let e=e=>this.collisionIndex.placeCollisionBox(e,_,d,l,c,T,k,s,g.predicate,C,A&&O?O:void 0);R&&R.placeable&&p.verticalIconBox?(B=e(p.verticalIconBox),P=B.placeable):(B=e(p.iconBox),P=B.placeable),z=z&&B.offscreen}let H=y||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,G=v||0===e.numIconVertices;H||G?G?H||(P=P&&I):I=P&&I:P=I=P&&I;let W=P&&B.placeable;if(I&&j.placeable&&this.collisionIndex.insertCollisionBox(j.box,x,a.get("text-ignore-placement"),i.bucketInstanceId,R&&R.placeable&&U?U:N,g.ID),W&&this.collisionIndex.insertCollisionBox(B.box,_,a.get("icon-ignore-placement"),i.bucketInstanceId,V,g.ID),F&&I&&this.collisionIndex.insertCollisionCircles(F.circles,x,a.get("text-ignore-placement"),i.bucketInstanceId,N,g.ID),n&&this.storeCollisionData(i.bucketInstanceId,w,p,j,B,F),0===e.crossTileID)throw new Error("symbolInstance.crossTileID can't be 0");if(0===i.bucketInstanceId)throw new Error("bucket.bucketInstanceId can't be 0");this.placements[e.crossTileID]=new Ue(I||S,P||E,z||i.justReloaded),r[e.crossTileID]=!0};if(M){if(0!==e.symbolInstanceStart)throw new Error("bucket.bucketInstanceId should be 0");let t=i.getSortedSymbolIndexes(this.transform.angle);for(let e=t.length-1;e>=0;--e){let r=t[e];L(i.symbolInstances.get(r),i.collisionArrays[r],r)}}else for(let t=e.symbolInstanceStart;t=0&&(e.text.placedSymbolArray.get(t).crossTileID=a>=0&&t!==a?0:n.crossTileID)}markUsedOrientation(e,r,n){let i=r===t.ah.horizontal||r===t.ah.horizontalOnly?r:0,a=r===t.ah.vertical?r:0,o=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];for(let t of o)e.text.placedSymbolArray.get(t).placedOrientation=i;n.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(n.verticalPlacedTextSymbolIndex).placedOrientation=a)}commit(e){this.commitTime=e,this.zoomAtLastRecencyCheck=this.transform.zoom;let t=this.prevPlacement,r=!1;this.prevZoomAdjustment=t?t.zoomAdjustment(this.transform.zoom):0;let n=t?t.symbolFadeChange(e):1,i=t?t.opacities:{},a=t?t.variableOffsets:{},o=t?t.placedOrientations:{};for(let e in this.placements){let t=this.placements[e],a=i[e];a?(this.opacities[e]=new Ne(a,n,t.text,t.icon),r=r||t.text!==a.text.placed||t.icon!==a.icon.placed):(this.opacities[e]=new Ne(null,n,t.text,t.icon,t.skipFade),r=r||t.text||t.icon)}for(let e in i){let t=i[e];if(!this.opacities[e]){let i=new Ne(t,n,!1,!1);i.isHidden()||(this.opacities[e]=i,r=r||t.text.placed||t.icon.placed)}}for(let e in a)this.variableOffsets[e]||!this.opacities[e]||this.opacities[e].isHidden()||(this.variableOffsets[e]=a[e]);for(let e in o)this.placedOrientations[e]||!this.opacities[e]||this.opacities[e].isHidden()||(this.placedOrientations[e]=o[e]);if(t&&void 0===t.lastPlacementChangeTime)throw new Error("Last placement time for previous placement is not defined");r?this.lastPlacementChangeTime=e:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)}updateLayerOpacities(e,t){let r={};for(let n of t){let t=n.getBucket(e);t&&n.latestFeatureIndex&&e.id===t.layerIds[0]&&this.updateBucketOpacities(t,n.tileID,r,n.collisionBoxArray)}}updateBucketOpacities(e,r,n,i){e.hasTextData()&&(e.text.opacityVertexArray.clear(),e.text.hasVisibleVertices=!1),e.hasIconData()&&(e.icon.opacityVertexArray.clear(),e.icon.hasVisibleVertices=!1),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();let a=e.layers[0],o=a.layout,s=new Ne(null,0,!1,!1,!0),l=o.get("text-allow-overlap"),c=o.get("icon-allow-overlap"),u=a._unevaluatedLayout.hasValue("text-variable-anchor")||a._unevaluatedLayout.hasValue("text-variable-anchor-offset"),h="map"===o.get("text-rotation-alignment"),d="map"===o.get("text-pitch-alignment"),f="none"!==o.get("icon-text-fit"),p=new Ne(null,0,l&&(c||!e.hasIconData()||o.get("icon-optional")),c&&(l||!e.hasTextData()||o.get("text-optional")),!0);!e.collisionArrays&&i&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(i);let m=(e,t,r)=>{for(let n=0;n0,v=this.placedOrientations[i.crossTileID],x=v===t.ah.vertical,b=v===t.ah.horizontal||v===t.ah.horizontalOnly;if(a>0||o>0){let t=tt(c.text);m(e.text,a,x?rt:t),m(e.text,o,b?rt:t);let r=c.text.isHidden();[i.rightJustifiedTextSymbolIndex,i.centerJustifiedTextSymbolIndex,i.leftJustifiedTextSymbolIndex].forEach((t=>{t>=0&&(e.text.placedSymbolArray.get(t).hidden=r||x?1:0)})),i.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(i.verticalPlacedTextSymbolIndex).hidden=r||b?1:0);let n=this.variableOffsets[i.crossTileID];n&&this.markUsedJustification(e,n.anchor,i,v);let s=this.placedOrientations[i.crossTileID];s&&(this.markUsedJustification(e,"left",i,s),this.markUsedOrientation(e,s,i))}if(y){let t=tt(c.icon),r=!(f&&i.verticalPlacedIconSymbolIndex&&x);i.placedIconSymbolIndex>=0&&(m(e.icon,i.numIconVertices,r?t:rt),e.icon.placedSymbolArray.get(i.placedIconSymbolIndex).hidden=c.icon.isHidden()),i.verticalPlacedIconSymbolIndex>=0&&(m(e.icon,i.numVerticalIconVertices,r?rt:t),e.icon.placedSymbolArray.get(i.verticalPlacedIconSymbolIndex).hidden=c.icon.isHidden())}let _=g&&g.has(r)?g.get(r):{text:null,icon:null};if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){let n=e.collisionArrays[r];if(n){let r=new t.P(0,0);if(n.textBox||n.verticalTextBox){let t=!0;if(u){let e=this.variableOffsets[l];e?(r=Ge(e.anchor,e.width,e.height,e.textOffset,e.textBoxScale),h&&r._rotate(d?this.transform.angle:-this.transform.angle)):t=!1}if(n.textBox||n.verticalTextBox){let i;n.textBox&&(i=x),n.verticalTextBox&&(i=b),Ye(e.textCollisionBox.collisionVertexArray,c.text.placed,!t||i,_.text,r.x,r.y)}}if(n.iconBox||n.verticalIconBox){let t,i=!(b||!n.verticalIconBox);n.iconBox&&(t=i),n.verticalIconBox&&(t=!i),Ye(e.iconCollisionBox.collisionVertexArray,c.icon.placed,t,_.icon,f?r.x:0,f?r.y:0)}}}}if(e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.text.opacityVertexArray.length!==e.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${e.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${e.text.layoutVertexArray.length}) / 4`);if(e.icon.opacityVertexArray.length!==e.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${e.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${e.icon.layoutVertexArray.length}) / 4`);if(e.bucketInstanceId in this.collisionCircleArrays){let t=this.collisionCircleArrays[e.bucketInstanceId];e.placementInvProjMatrix=t.invProjMatrix,e.placementViewportMatrix=t.viewportMatrix,e.collisionCircleArray=t.circles,delete this.collisionCircleArrays[e.bucketInstanceId]}}symbolFadeChange(e){return 0===this.fadeDuration?1:(e-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(e){return Math.max(0,(this.transform.zoom-e)/1.5)}hasTransitions(e){return this.stale||e-this.lastPlacementChangeTimee}setStale(){this.stale=!0}}function Ye(e,t,r,n,i,a){n&&0!==n.length||(n=[0,0,0,0]);let o=n[0]-Re,s=n[1]-Re,l=n[2]-Re,c=n[3]-Re;e.emplaceBack(t?1:0,r?1:0,i||0,a||0,o,s),e.emplaceBack(t?1:0,r?1:0,i||0,a||0,l,s),e.emplaceBack(t?1:0,r?1:0,i||0,a||0,l,c),e.emplaceBack(t?1:0,r?1:0,i||0,a||0,o,c)}let Xe=Math.pow(2,25),Ze=Math.pow(2,24),$e=Math.pow(2,17),Ke=Math.pow(2,16),Je=Math.pow(2,9),Qe=Math.pow(2,8),et=Math.pow(2,1);function tt(e){if(0===e.opacity&&!e.placed)return 0;if(1===e.opacity&&e.placed)return 4294967295;let t=e.placed?1:0,r=Math.floor(127*e.opacity);return r*Xe+t*Ze+r*$e+t*Ke+r*Je+t*Qe+r*et+t}let rt=0;function nt(){return{isOccluded:(e,t,r)=>!1,getPitchedTextCorrection:(e,t,r)=>1,get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(e,t,r,n){throw new Error("Not implemented.")},translatePosition:(e,t,r,n)=>function(e,t,r,n,i=!1){if(!r[0]&&!r[1])return[0,0];let a=i?"map"===n?e.angle:0:"viewport"===n?-e.angle:0;if(a){let e=Math.sin(a),t=Math.cos(a);r=[r[0]*t-r[1]*e,r[0]*e+r[1]*t]}return[i?r[0]:Fe(t,r[0],e.zoom),i?r[1]:Fe(t,r[1],e.zoom)]}(e,t,r,n),getCircleRadiusCorrection:e=>1}}class it{constructor(e){this._sortAcrossTiles="viewport-y"!==e.layout.get("symbol-z-order")&&!e.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(e,t,r,n,i){let a=this._bucketParts;for(;this._currentTileIndexe.sortKey-t.sortKey)));this._currentPartIndex!this._forceFullPlacement&&a.now()-n>2;for(;this._currentPlacementIndex>=0;){let n=t[e[this._currentPlacementIndex]],a=this.placement.collisionIndex.transform.zoom;if("symbol"===n.type&&(!n.minzoom||n.minzoom<=a)&&(!n.maxzoom||n.maxzoom>a)){if(this._inProgressLayer||(this._inProgressLayer=new it(n)),this._inProgressLayer.continuePlacement(r[n.source],this.placement,this._showCollisionBoxes,n,i))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(e){return this.placement.commit(e),this.placement}}let ot=512/t.X/2;class st{constructor(e,r,n){this.tileID=e,this.bucketInstanceId=n,this._symbolsByKey={};let i=new Map;for(let e=0;e({x:Math.floor(e.anchorX*ot),y:Math.floor(e.anchorY*ot)}))),crossTileIDs:r.map((e=>e.crossTileID))};if(n.positions.length>128){let e=new t.av(n.positions.length,16,Uint16Array);for(let{x:t,y:r}of n.positions)e.add(t,r);e.finish(),delete n.positions,n.index=e}this._symbolsByKey[e]=n}}getScaledCoordinates(e,r){let{x:n,y:i,z:a}=this.tileID.canonical,{x:o,y:s,z:l}=r.canonical,c=ot/Math.pow(2,l-a),u=(s*t.X+e.anchorY)*c,h=i*t.X*ot;return{x:Math.floor((o*t.X+e.anchorX)*c-n*t.X*ot),y:Math.floor(u-h)}}findMatches(e,t,r){let n=this.tileID.canonical.ze))}}class lt{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class ct{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(e){let t=Math.round((e-this.lng)/360);if(0!==t)for(let e in this.indexes){let r=this.indexes[e],n={};for(let e in r){let i=r[e];i.tileID=i.tileID.unwrapTo(i.tileID.wrap+t),n[i.tileID.key]=i}this.indexes[e]=n}this.lng=e}addBucket(e,t,r){if(this.indexes[e.overscaledZ]&&this.indexes[e.overscaledZ][e.key]){if(this.indexes[e.overscaledZ][e.key].bucketInstanceId===t.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(e.overscaledZ,this.indexes[e.overscaledZ][e.key])}for(let e=0;ee.overscaledZ)for(let r in i){let a=i[r];a.tileID.isChildOf(e)&&a.findMatches(t.symbolInstances,e,n)}else{let a=i[e.scaledTo(Number(r)).key];a&&a.findMatches(t.symbolInstances,e,n)}}for(let e=0;e{t[e]=!0}));for(let e in this.layerIndexes)t[e]||delete this.layerIndexes[e]}}let ht=(e,r)=>t.t(e,r&&r.filter((e=>"source.canvas"!==e.identifier))),dt=t.aw();class ft extends t.E{constructor(e,r={}){super(),this._rtlPluginLoaded=()=>{for(let e in this.sourceCaches){let t=this.sourceCaches[e].getSource().type;"vector"!==t&&"geojson"!==t||this.sourceCaches[e].reload()}},this.map=e,this.dispatcher=new U(N(),e._getMapId()),this.dispatcher.registerMessageHandler("GG",((e,t)=>this.getGlyphs(e,t))),this.dispatcher.registerMessageHandler("GI",((e,t)=>this.getImages(e,t))),this.imageManager=new T,this.imageManager.setEventedParent(this),this.glyphManager=new C(e._requestManager,r.localIdeographFontFamily),this.lineAtlas=new O(256,512),this.crossTileSymbolIndex=new ut,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()),le().on(ae,this._rtlPluginLoaded),this.on("data",(e=>{if("source"!==e.dataType||"metadata"!==e.sourceDataType)return;let t=this.sourceCaches[e.sourceId];if(!t)return;let r=t.getSource();if(r&&r.vectorLayerIds)for(let e in this._layers){let t=this._layers[e];t.source===r.id&&this._validateLayer(t)}}))}loadURL(e,r={},n){this.fire(new t.k("dataloading",{dataType:"style"})),r.validate="boolean"!=typeof r.validate||r.validate;let i=this.map._requestManager.transformRequest(e,"Style");this._loadStyleRequest=new AbortController;let a=this._loadStyleRequest;t.h(i,this._loadStyleRequest).then((e=>{this._loadStyleRequest=null,this._load(e.data,r,n)})).catch((e=>{this._loadStyleRequest=null,e&&!a.signal.aborted&&this.fire(new t.j(e))}))}loadJSON(e,r={},n){this.fire(new t.k("dataloading",{dataType:"style"})),this._frameRequest=new AbortController,a.frameAsync(this._frameRequest).then((()=>{this._frameRequest=null,r.validate=!1!==r.validate,this._load(e,r,n)})).catch((()=>{}))}loadEmpty(){this.fire(new t.k("dataloading",{dataType:"style"})),this._load(dt,{validate:!1})}_load(e,r,n){var i;let a=r.transformStyle?r.transformStyle(n,e):e;if(!r.validate||!ht(this,t.u(a))){this._loaded=!0,this.stylesheet=a;for(let e in a.sources)this.addSource(e,a.sources[e],{validate:!1});a.sprite?this._loadSprite(a.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(a.glyphs),this._createLayers(),this.light=new I(this.stylesheet.light),this.sky=new z(this.stylesheet.sky),this.map.setTerrain(null!==(i=this.stylesheet.terrain)&&void 0!==i?i:null),this.fire(new t.k("data",{dataType:"style"})),this.fire(new t.k("style.load"))}}_createLayers(){let e=t.az(this.stylesheet.layers);this.dispatcher.broadcast("SL",e),this._order=e.map((e=>e.id)),this._layers={},this._serializedLayers=null;for(let r of e){let e=t.aA(r);e.setEventedParent(this,{layer:{id:r.id}}),this._layers[r.id]=e}}_loadSprite(e,r=!1,n=void 0){let i;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(e,r,n,i){return t._(this,void 0,void 0,(function*(){let o=b(e),s=n>1?"@2x":"",l={},c={};for(let{id:e,url:n}of o){let a=r.transformRequest(_(n,s,".json"),"SpriteJSON");l[e]=t.h(a,i);let o=r.transformRequest(_(n,s,".png"),"SpriteImage");c[e]=f.getImage(o,i)}return yield Promise.all([...Object.values(l),...Object.values(c)]),function(e,r){return t._(this,void 0,void 0,(function*(){let t={};for(let n in e){t[n]={};let i=a.getImageCanvasContext((yield r[n]).data),o=(yield e[n]).data;for(let e in o){let{width:r,height:a,x:s,y:l,sdf:c,pixelRatio:u,stretchX:h,stretchY:d,content:f,textFitWidth:p,textFitHeight:m}=o[e];t[n][e]={data:null,pixelRatio:u,sdf:c,stretchX:h,stretchY:d,content:f,textFitWidth:p,textFitHeight:m,spriteData:{width:r,height:a,x:s,y:l,context:i}}}}return t}))}(l,c)}))}(e,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then((e=>{if(this._spriteRequest=null,e)for(let t in e){this._spritesImagesIds[t]=[];let n=this._spritesImagesIds[t]?this._spritesImagesIds[t].filter((t=>!(t in e))):[];for(let e of n)this.imageManager.removeImage(e),this._changedImages[e]=!0;for(let n in e[t]){let i="default"===t?n:`${t}:${n}`;this._spritesImagesIds[t].push(i),i in this.imageManager.images?this.imageManager.updateImage(i,e[t][n],!1):this.imageManager.addImage(i,e[t][n]),r&&(this._changedImages[i]=!0)}}})).catch((e=>{this._spriteRequest=null,i=e,this.fire(new t.j(i))})).finally((()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),r&&(this._changed=!0),this.dispatcher.broadcast("SI",this._availableImages),this.fire(new t.k("data",{dataType:"style"})),n&&n(i)}))}_unloadSprite(){for(let e of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(e),this._changedImages[e]=!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(e){let r=this.sourceCaches[e.source];if(!r)return;let n=e.sourceLayer;if(!n)return;let i=r.getSource();("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new t.j(new Error(`Source layer "${n}" does not exist on source "${i.id}" as specified by style layer "${e.id}".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let e in this.sourceCaches)if(!this.sourceCaches[e].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(e,r=!1){let n=this._serializedAllLayers();if(!e||0===e.length)return Object.values(r?t.aB(n):n);let i=[];for(let a of e)if(n[a]){let e=r?t.aB(n[a]):n[a];i.push(e)}return i}_serializedAllLayers(){let e=this._serializedLayers;if(e)return e;e=this._serializedLayers={};let t=Object.keys(this._layers);for(let r of t){let t=this._layers[r];"custom"!==t.type&&(e[r]=t.serialize())}return e}hasTransitions(){if(this.light&&this.light.hasTransition()||this.sky&&this.sky.hasTransition())return!0;for(let e in this.sourceCaches)if(this.sourceCaches[e].hasTransition())return!0;for(let e in this._layers)if(this._layers[e].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading.")}update(e){if(!this._loaded)return;let r=this._changed;if(r){let t=Object.keys(this._updatedLayers),r=Object.keys(this._removedLayers);(t.length||r.length)&&this._updateWorkerLayers(t,r);for(let e in this._updatedSources){let t=this._updatedSources[e];if("reload"===t)this._reloadSource(e);else{if("clear"!==t)throw new Error(`Invalid action ${t}`);this._clearSource(e)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let t in this._updatedPaintProps)this._layers[t].updateTransitions(e);this.light.updateTransitions(e),this.sky.updateTransitions(e),this._resetUpdates()}let n={};for(let e in this.sourceCaches){let t=this.sourceCaches[e];n[e]=t.used,t.used=!1}for(let t of this._order){let r=this._layers[t];r.recalculate(e,this._availableImages),!r.isHidden(e.zoom)&&r.source&&(this.sourceCaches[r.source].used=!0)}for(let e in n){let r=this.sourceCaches[e];!!n[e]!=!!r.used&&r.fire(new t.k("data",{sourceDataType:"visibility",dataType:"source",sourceId:e}))}this.light.recalculate(e),this.sky.recalculate(e),this.z=e.zoom,r&&this.fire(new t.k("data",{dataType:"style"}))}_updateTilesForChangedImages(){let e=Object.keys(this._changedImages);if(e.length){for(let t in this.sourceCaches)this.sourceCaches[t].reloadTilesForDependencies(["icons","patterns"],e);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies(["glyphs"],[""]);this._glyphsDidChange=!1}}_updateWorkerLayers(e,t){this.dispatcher.broadcast("UL",{layers:this._serializeByIds(e,!1),removedIds:t})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(e,r={}){var n;this._checkLoaded();let i=this.serialize();if(e=r.transformStyle?r.transformStyle(i,e):e,(null===(n=r.validate)||void 0===n||n)&&ht(this,t.u(e)))return!1;(e=t.aB(e)).layers=t.az(e.layers);let a=t.aC(i,e),o=this._getOperationsToPerform(a);if(o.unimplemented.length>0)throw new Error(`Unimplemented: ${o.unimplemented.join(", ")}.`);if(0===o.operations.length)return!1;for(let e of o.operations)e();return this.stylesheet=e,this._serializedLayers=null,!0}_getOperationsToPerform(e){let t=[],r=[];for(let n of e)switch(n.command){case"setCenter":case"setZoom":case"setBearing":case"setPitch":continue;case"addLayer":t.push((()=>this.addLayer.apply(this,n.args)));break;case"removeLayer":t.push((()=>this.removeLayer.apply(this,n.args)));break;case"setPaintProperty":t.push((()=>this.setPaintProperty.apply(this,n.args)));break;case"setLayoutProperty":t.push((()=>this.setLayoutProperty.apply(this,n.args)));break;case"setFilter":t.push((()=>this.setFilter.apply(this,n.args)));break;case"addSource":t.push((()=>this.addSource.apply(this,n.args)));break;case"removeSource":t.push((()=>this.removeSource.apply(this,n.args)));break;case"setLayerZoomRange":t.push((()=>this.setLayerZoomRange.apply(this,n.args)));break;case"setLight":t.push((()=>this.setLight.apply(this,n.args)));break;case"setGeoJSONSourceData":t.push((()=>this.setGeoJSONSourceData.apply(this,n.args)));break;case"setGlyphs":t.push((()=>this.setGlyphs.apply(this,n.args)));break;case"setSprite":t.push((()=>this.setSprite.apply(this,n.args)));break;case"setSky":t.push((()=>this.setSky.apply(this,n.args)));break;case"setTerrain":t.push((()=>this.map.setTerrain.apply(this,n.args)));break;case"setTransition":t.push((()=>{}));break;default:r.push(n.command)}return{operations:t,unimplemented:r}}addImage(e,r){if(this.getImage(e))return this.fire(new t.j(new Error(`An image named "${e}" already exists.`)));this.imageManager.addImage(e,r),this._afterImageUpdated(e)}updateImage(e,t){this.imageManager.updateImage(e,t)}getImage(e){return this.imageManager.getImage(e)}removeImage(e){if(!this.getImage(e))return this.fire(new t.j(new Error(`An image named "${e}" does not exist.`)));this.imageManager.removeImage(e),this._afterImageUpdated(e)}_afterImageUpdated(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!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(e,r,n={}){if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(`Source "${e}" already exists.`);if(!r.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(r).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(t.u.source,`sources.${e}`,r,null,n))return;this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);let i=this.sourceCaches[e]=new de(e,r,this.dispatcher);i.style=this,i.setEventedParent(this,(()=>({isSourceLoaded:i.loaded(),source:i.serialize(),sourceId:e}))),i.onAdd(this.map),this._changed=!0}removeSource(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(let r in this._layers)if(this._layers[r].source===e)return this.fire(new t.j(new Error(`Source "${e}" cannot be removed while layer "${r}" is using it.`)));let r=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],r.fire(new t.k("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),r.setEventedParent(null),r.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(e,t){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error(`There is no source with this ID=${e}`);let r=this.sourceCaches[e].getSource();if("geojson"!==r.type)throw new Error(`geojsonSource.type is ${r.type}, which is !== 'geojson`);r.setData(t),this._changed=!0}getSource(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()}addLayer(e,r,n={}){this._checkLoaded();let i,a=e.id;if(this.getLayer(a))return void this.fire(new t.j(new Error(`Layer "${a}" already exists on this map.`)));if("custom"===e.type){if(ht(this,t.aD(e)))return;i=t.aA(e)}else{if("source"in e&&"object"==typeof e.source&&(this.addSource(a,e.source),e=t.aB(e),e=t.e(e,{source:a})),this._validate(t.u.layer,`layers.${a}`,e,{arrayIndex:-1},n))return;i=t.aA(e),this._validateLayer(i),i.setEventedParent(this,{layer:{id:a}})}let o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.j(new Error(`Cannot add layer "${a}" before non-existing layer "${r}".`)));else{if(this._order.splice(o,0,a),this._layerOrderChanged=!0,this._layers[a]=i,this._removedLayers[a]&&i.source&&"custom"!==i.type){let e=this._removedLayers[a];delete this._removedLayers[a],e.type!==i.type?this._updatedSources[i.source]="clear":(this._updatedSources[i.source]="reload",this.sourceCaches[i.source].pause())}this._updateLayer(i),i.onAdd&&i.onAdd(this.map)}}moveLayer(e,r){if(this._checkLoaded(),this._changed=!0,!this._layers[e])return void this.fire(new t.j(new Error(`The layer '${e}' does not exist in the map's style and cannot be moved.`)));if(e===r)return;let n=this._order.indexOf(e);this._order.splice(n,1);let i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new t.j(new Error(`Cannot move layer "${e}" before non-existing layer "${r}".`))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}removeLayer(e){this._checkLoaded();let r=this._layers[e];if(!r)return void this.fire(new t.j(new Error(`Cannot remove non-existing layer "${e}".`)));r.setEventedParent(null);let n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],this._serializedLayers&&delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],r.onRemove&&r.onRemove(this.map)}getLayer(e){return this._layers[e]}getLayersOrder(){return[...this._order]}hasLayer(e){return e in this._layers}setLayerZoomRange(e,r,n){this._checkLoaded();let i=this.getLayer(e);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new t.j(new Error(`Cannot set the zoom range of non-existing layer "${e}".`)))}setFilter(e,r,n={}){this._checkLoaded();let i=this.getLayer(e);if(i){if(!t.aE(i.filter,r))return null==r?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(t.u.filter,`layers.${i.id}.filter`,r,null,n)||(i.filter=t.aB(r),this._updateLayer(i)))}else this.fire(new t.j(new Error(`Cannot filter non-existing layer "${e}".`)))}getFilter(e){return t.aB(this.getLayer(e).filter)}setLayoutProperty(e,r,n,i={}){this._checkLoaded();let a=this.getLayer(e);a?t.aE(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new t.j(new Error(`Cannot style non-existing layer "${e}".`)))}getLayoutProperty(e,r){let n=this.getLayer(e);if(n)return n.getLayoutProperty(r);this.fire(new t.j(new Error(`Cannot get style of non-existing layer "${e}".`)))}setPaintProperty(e,r,n,i={}){this._checkLoaded();let a=this.getLayer(e);a?t.aE(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[e]=!0,this._serializedLayers=null):this.fire(new t.j(new Error(`Cannot style non-existing layer "${e}".`)))}getPaintProperty(e,t){return this.getLayer(e).getPaintProperty(t)}setFeatureState(e,r){this._checkLoaded();let n=e.source,i=e.sourceLayer,a=this.sourceCaches[n];if(void 0===a)return void this.fire(new t.j(new Error(`The source '${n}' does not exist in the map's style.`)));let o=a.getSource().type;"geojson"===o&&i?this.fire(new t.j(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==o||i?(void 0===e.id&&this.fire(new t.j(new Error("The feature id parameter must be provided."))),a.setFeatureState(i,e.id,r)):this.fire(new t.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(e,r){this._checkLoaded();let n=e.source,i=this.sourceCaches[n];if(void 0===i)return void this.fire(new t.j(new Error(`The source '${n}' does not exist in the map's style.`)));let a=i.getSource().type,o="vector"===a?e.sourceLayer:void 0;"vector"!==a||o?r&&"string"!=typeof e.id&&"number"!=typeof e.id?this.fire(new t.j(new Error("A feature id is required to remove its specific state property."))):i.removeFeatureState(o,e.id,r):this.fire(new t.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(e){this._checkLoaded();let r=e.source,n=e.sourceLayer,i=this.sourceCaches[r];if(void 0!==i)return"vector"!==i.getSource().type||n?(void 0===e.id&&this.fire(new t.j(new Error("The feature id parameter must be provided."))),i.getFeatureState(n,e.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 '${r}' 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 e=t.aF(this.sourceCaches,(e=>e.serialize())),r=this._serializeByIds(this._order,!0),n=this.map.getTerrain()||void 0,i=this.stylesheet;return t.aG({version:i.version,name:i.name,metadata:i.metadata,light:i.light,sky:i.sky,center:i.center,zoom:i.zoom,bearing:i.bearing,pitch:i.pitch,sprite:i.sprite,glyphs:i.glyphs,transition:i.transition,sources:e,layers:r,terrain:n},(e=>void 0!==e))}_updateLayer(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&"raster"!==this.sourceCaches[e.source].getSource().type&&(this._updatedSources[e.source]="reload",this.sourceCaches[e.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(e){let t=e=>"fill-extrusion"===this._layers[e].type,r={},n=[];for(let i=this._order.length-1;i>=0;i--){let a=this._order[i];if(t(a)){r[a]=i;for(let t of e){let e=t[a];if(e)for(let t of e)n.push(t)}}}n.sort(((e,t)=>t.intersectionZ-e.intersectionZ));let i=[];for(let a=this._order.length-1;a>=0;a--){let o=this._order[a];if(t(o))for(let e=n.length-1;e>=0;e--){let t=n[e].feature;if(r[t.layer.id]{let n=r.featureSortOrder;if(n){let r=n.indexOf(e.featureIndex);return n.indexOf(t.featureIndex)-r}return t.featureIndex-e.featureIndex}));for(let e of i)t.push(e)}}for(let t in s)s[t].forEach((n=>{let i=n.feature,a=r[e[t].source].getFeatureState(i.layer["source-layer"],i.id);i.source=i.layer.source,i.layer["source-layer"]&&(i.sourceLayer=i.layer["source-layer"]),i.state=a}));return s}(this._layers,o,this.sourceCaches,e,r,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(a)}querySourceFeatures(e,r){r&&r.filter&&this._validate(t.u.filter,"querySourceFeatures.filter",r.filter,null,r);let n=this.sourceCaches[e];return n?function(e,t){let r=e.getRenderableIds().map((t=>e.getTileByID(t))),n=[],i={};for(let e=0;ee.getTileByID(t))).sort(((e,t)=>t.tileID.overscaledZ-e.tileID.overscaledZ||(e.tileID.isLessThan(t.tileID)?-1:1)))}let n=this.crossTileSymbolIndex.addLayer(r,l[r.source],e.center.lng);o=o||n}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((i=i||this._layerOrderChanged||0===r)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(a.now(),e.zoom))&&(this.pauseablePlacement=new at(e,this.map.terrain,this._order,i,t,r,n,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(a.now()),s=!0),o&&this.pauseablePlacement.placement.setStale()),s||o)for(let e of this._order){let t=this._layers[e];"symbol"===t.type&&this.placement.updateLayerOpacities(t,l[t.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(a.now())}_releaseSymbolFadeTiles(){for(let e in this.sourceCaches)this.sourceCaches[e].releaseSymbolFadeTiles()}getImages(e,r){return t._(this,void 0,void 0,(function*(){let e=yield this.imageManager.getImages(r.icons);this._updateTilesForChangedImages();let t=this.sourceCaches[r.source];return t&&t.setDependencies(r.tileID.key,r.type,r.icons),e}))}getGlyphs(e,r){return t._(this,void 0,void 0,(function*(){let e=yield this.glyphManager.getGlyphs(r.stacks),t=this.sourceCaches[r.source];return t&&t.setDependencies(r.tileID.key,r.type,[""]),e}))}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(e,r={}){this._checkLoaded(),e&&this._validate(t.u.glyphs,"glyphs",e,null,r)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=e,this.glyphManager.entries={},this.glyphManager.setURL(e))}addSprite(e,r,n={},i){this._checkLoaded();let a=[{id:e,url:r}],o=[...b(this.stylesheet.sprite),...a];this._validate(t.u.sprite,"sprite",o,null,n)||(this.stylesheet.sprite=o,this._loadSprite(a,!0,i))}removeSprite(e){this._checkLoaded();let r=b(this.stylesheet.sprite);if(r.find((t=>t.id===e))){if(this._spritesImagesIds[e])for(let t of this._spritesImagesIds[e])this.imageManager.removeImage(t),this._changedImages[t]=!0;r.splice(r.findIndex((t=>t.id===e)),1),this.stylesheet.sprite=r.length>0?r:void 0,delete this._spritesImagesIds[e],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 "${e}" doesn't exists on this map.`)))}getSprite(){return b(this.stylesheet.sprite)}setSprite(e,r={},n){this._checkLoaded(),e&&this._validate(t.u.sprite,"sprite",e,null,r)||(this.stylesheet.sprite=e,e?this._loadSprite(e,!0,n):(this._unloadSprite(),n&&n(null)))}}var pt=t.Y([{name:"a_pos",type:"Int16",components:2}]);let mt={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(e,t){let r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n=t.match(/attribute ([\w]+) ([\w]+)/g),i=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=a?a.concat(i):i,s={};return{fragmentSource:e=e.replace(r,((e,t,r,n,i)=>(s[i]=!0,"define"===t?`\n#ifndef HAS_UNIFORM_u_${i}\nvarying ${r} ${n} ${i};\n#else\nuniform ${r} ${n} u_${i};\n#endif\n`:`\n#ifdef HAS_UNIFORM_u_${i}\n ${r} ${n} ${i} = u_${i};\n#endif\n`))),vertexSource:t=t.replace(r,((e,t,r,n,i)=>{let a="float"===n?"vec2":"vec4",o=i.match(/color/)?"color":a;return s[i]?"define"===t?`\n#ifndef HAS_UNIFORM_u_${i}\nuniform lowp float u_${i}_t;\nattribute ${r} ${a} a_${i};\nvarying ${r} ${n} ${i};\n#else\nuniform ${r} ${n} u_${i};\n#endif\n`:"vec4"===o?`\n#ifndef HAS_UNIFORM_u_${i}\n ${i} = a_${i};\n#else\n ${r} ${n} ${i} = u_${i};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${i}\n ${i} = unpack_mix_${o}(a_${i}, u_${i}_t);\n#else\n ${r} ${n} ${i} = u_${i};\n#endif\n`:"define"===t?`\n#ifndef HAS_UNIFORM_u_${i}\nuniform lowp float u_${i}_t;\nattribute ${r} ${a} a_${i};\n#else\nuniform ${r} ${n} u_${i};\n#endif\n`:"vec4"===o?`\n#ifndef HAS_UNIFORM_u_${i}\n ${r} ${n} ${i} = a_${i};\n#else\n ${r} ${n} ${i} = u_${i};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${i}\n ${r} ${n} ${i} = unpack_mix_${o}(a_${i}, u_${i}_t);\n#else\n ${r} ${n} ${i} = u_${i};\n#endif\n`})),staticAttributes:n,staticUniforms:o}}class yt{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(e,t,r,n,i,a,o,s,l){this.context=e;let c=this.boundPaintVertexBuffers.length!==n.length;for(let e=0;!c&&e({u_matrix:e,u_texture:0,u_ele_delta:r,u_fog_matrix:n,u_fog_color:i?i.properties.get("fog-color"):t.aM.white,u_fog_ground_blend:i?i.properties.get("fog-ground-blend"):1,u_fog_ground_blend_opacity:i?i.calculateFogBlendOpacity(a):0,u_horizon_color:i?i.properties.get("horizon-color"):t.aM.white,u_horizon_fog_blend:i?i.properties.get("horizon-fog-blend"):1});function xt(e){let t=[];for(let r=0;r>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}let wt=(e,r,n,i)=>{let a=r.style.light,o=a.properties.get("position"),s=[o.x,o.y,o.z],l=(c=new t.A(9),t.A!=Float32Array&&(c[1]=0,c[2]=0,c[3]=0,c[5]=0,c[6]=0,c[7]=0),c[0]=1,c[4]=1,c[8]=1,c);var c;"viewport"===a.properties.get("anchor")&&function(e,t){var r=Math.sin(t),n=Math.cos(t);e[0]=n,e[1]=r,e[2]=0,e[3]=-r,e[4]=n,e[5]=0,e[6]=0,e[7]=0,e[8]=1}(l,-r.transform.angle),function(e,t,r){var n=t[0],i=t[1],a=t[2];e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8]}(s,s,l);let u=a.properties.get("color");return{u_matrix:e,u_lightpos:s,u_lightintensity:a.properties.get("intensity"),u_lightcolor:[u.r,u.g,u.b],u_vertical_gradient:+n,u_opacity:i}},kt=(e,r,n,i,a,o,s)=>t.e(wt(e,r,n,i),_t(o,r,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8}),Tt=e=>({u_matrix:e}),At=(e,r,n,i)=>t.e(Tt(e),_t(n,r,i)),Mt=(e,t)=>({u_matrix:e,u_world:t}),St=(e,r,n,i,a)=>t.e(At(e,r,n,i),{u_world:a}),Et=(e,t,r,n)=>{let i,a,o=e.transform;if("map"===n.paint.get("circle-pitch-alignment")){let e=Fe(r,1,o.zoom);i=!0,a=[e,e]}else i=!1,a=o.pixelsToGLUnits;return{u_camera_to_center_distance:o.cameraToCenterDistance,u_scale_with_map:+("map"===n.paint.get("circle-pitch-scale")),u_matrix:e.translatePosMatrix(t.posMatrix,r,n.paint.get("circle-translate"),n.paint.get("circle-translate-anchor")),u_pitch_with_map:+i,u_device_pixel_ratio:e.pixelRatio,u_extrude_scale:a}},Ct=(e,t,r)=>({u_matrix:e,u_inv_matrix:t,u_camera_to_center_distance:r.cameraToCenterDistance,u_viewport_size:[r.width,r.height]}),Lt=(e,t,r=1)=>({u_matrix:e,u_color:t,u_overlay:0,u_overlay_scale:r}),It=e=>({u_matrix:e}),Pt=(e,t,r,n)=>({u_matrix:e,u_extrude_scale:Fe(t,1,r),u_intensity:n}),zt=(e,r,n,i)=>{let a=t.H();t.aP(a,0,e.width,e.height,0,0,1);let o=e.context.gl;return{u_matrix:a,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:n,u_color_ramp:i,u_opacity:r.paint.get("heatmap-opacity")}};function Ot(e,r){let n=Math.pow(2,r.canonical.z),i=r.canonical.y;return[new t.Z(0,i/n).toLngLat().lat,new t.Z(0,(i+1)/n).toLngLat().lat]}let Dt=(e,t,r,n)=>{let i=e.transform;return{u_matrix:Nt(e,t,r,n),u_ratio:1/Fe(t,1,i.zoom),u_device_pixel_ratio:e.pixelRatio,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},Rt=(e,r,n,i,a)=>t.e(Dt(e,r,n,a),{u_image:0,u_image_height:i}),jt=(e,t,r,n,i)=>{let a=e.transform,o=Bt(t,a);return{u_matrix:Nt(e,t,r,i),u_texsize:t.imageAtlasTexture.size,u_ratio:1/Fe(t,1,a.zoom),u_device_pixel_ratio:e.pixelRatio,u_image:0,u_scale:[o,n.fromScale,n.toScale],u_fade:n.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Ft=(e,r,n,i,a,o)=>{let s=e.lineAtlas,l=Bt(r,e.transform),c="round"===n.layout.get("line-cap"),u=s.getDash(i.from,c),h=s.getDash(i.to,c),d=u.width*a.fromScale,f=h.width*a.toScale;return t.e(Dt(e,r,n,o),{u_patternscale_a:[l/d,-u.height/2],u_patternscale_b:[l/f,-h.height/2],u_sdfgamma:s.width/(256*Math.min(d,f)*e.pixelRatio)/2,u_image:0,u_tex_y_a:u.y,u_tex_y_b:h.y,u_mix:a.t})};function Bt(e,t){return 1/Fe(e,1,t.tileZoom)}function Nt(e,t,r,n){return e.translatePosMatrix(n?n.posMatrix:t.tileID.posMatrix,t,r.paint.get("line-translate"),r.paint.get("line-translate-anchor"))}let Ut=(e,t,r,n,i)=>{return{u_matrix:e,u_tl_parent:t,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*i.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:i.paint.get("raster-brightness-min"),u_brightness_high:i.paint.get("raster-brightness-max"),u_saturation_factor:(o=i.paint.get("raster-saturation"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(a=i.paint.get("raster-contrast"),a>0?1/(1-a):1+a),u_spin_weights:Vt(i.paint.get("raster-hue-rotate"))};var a,o};function Vt(e){e*=Math.PI/180;let t=Math.sin(e),r=Math.cos(e);return[(2*r+1)/3,(-Math.sqrt(3)*t-r+1)/3,(Math.sqrt(3)*t-r+1)/3]}let qt=(e,t,r,n,i,a,o,s,l,c,u,h,d,f)=>{let p=o.transform;return{u_is_size_zoom_constant:+("constant"===e||"source"===e),u_is_size_feature_constant:+("constant"===e||"camera"===e),u_size_t:t?t.uSizeT:0,u_size:t?t.uSize:0,u_camera_to_center_distance:p.cameraToCenterDistance,u_pitch:p.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:p.width/p.height,u_fade_change:o.options.fadeDuration?o.symbolFadeChange:1,u_matrix:s,u_label_plane_matrix:l,u_coord_matrix:c,u_is_text:+h,u_pitch_with_map:+n,u_is_along_line:i,u_is_variable_anchor:a,u_texsize:d,u_texture:0,u_translation:u,u_pitched_scale:f}},Ht=(e,r,n,i,a,o,s,l,c,u,h,d,f,p,m)=>{let g=s.transform;return t.e(qt(e,r,n,i,a,o,s,l,c,u,h,d,f,m),{u_gamma_scale:i?Math.cos(g._pitch)*g.cameraToCenterDistance:1,u_device_pixel_ratio:s.pixelRatio,u_is_halo:+p})},Gt=(e,r,n,i,a,o,s,l,c,u,h,d,f,p)=>t.e(Ht(e,r,n,i,a,o,s,l,c,u,h,!0,d,!0,p),{u_texsize_icon:f,u_texture_icon:1}),Wt=(e,t,r)=>({u_matrix:e,u_opacity:t,u_color:r}),Yt=(e,r,n,i,a,o)=>t.e(function(e,t,r,n){let i=r.imageManager.getPattern(e.from.toString()),a=r.imageManager.getPattern(e.to.toString()),{width:o,height:s}=r.imageManager.getPixelSize(),l=Math.pow(2,n.tileID.overscaledZ),c=n.tileSize*Math.pow(2,r.transform.tileZoom)/l,u=c*(n.tileID.canonical.x+n.tileID.wrap*l),h=c*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[o,s],u_mix:t.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:t.fromScale,u_scale_b:t.toScale,u_tile_units_to_pixels:1/Fe(n,1,r.transform.tileZoom),u_pixel_coord_upper:[u>>16,h>>16],u_pixel_coord_lower:[65535&u,65535&h]}}(i,o,n,a),{u_matrix:e,u_opacity:r}),Xt={fillExtrusion:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_lightpos:new t.aN(e,r.u_lightpos),u_lightintensity:new t.aI(e,r.u_lightintensity),u_lightcolor:new t.aN(e,r.u_lightcolor),u_vertical_gradient:new t.aI(e,r.u_vertical_gradient),u_opacity:new t.aI(e,r.u_opacity)}),fillExtrusionPattern:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_lightpos:new t.aN(e,r.u_lightpos),u_lightintensity:new t.aI(e,r.u_lightintensity),u_lightcolor:new t.aN(e,r.u_lightcolor),u_vertical_gradient:new t.aI(e,r.u_vertical_gradient),u_height_factor:new t.aI(e,r.u_height_factor),u_image:new t.aH(e,r.u_image),u_texsize:new t.aO(e,r.u_texsize),u_pixel_coord_upper:new t.aO(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(e,r.u_pixel_coord_lower),u_scale:new t.aN(e,r.u_scale),u_fade:new t.aI(e,r.u_fade),u_opacity:new t.aI(e,r.u_opacity)}),fill:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix)}),fillPattern:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_image:new t.aH(e,r.u_image),u_texsize:new t.aO(e,r.u_texsize),u_pixel_coord_upper:new t.aO(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(e,r.u_pixel_coord_lower),u_scale:new t.aN(e,r.u_scale),u_fade:new t.aI(e,r.u_fade)}),fillOutline:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_world:new t.aO(e,r.u_world)}),fillOutlinePattern:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_world:new t.aO(e,r.u_world),u_image:new t.aH(e,r.u_image),u_texsize:new t.aO(e,r.u_texsize),u_pixel_coord_upper:new t.aO(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(e,r.u_pixel_coord_lower),u_scale:new t.aN(e,r.u_scale),u_fade:new t.aI(e,r.u_fade)}),circle:(e,r)=>({u_camera_to_center_distance:new t.aI(e,r.u_camera_to_center_distance),u_scale_with_map:new t.aH(e,r.u_scale_with_map),u_pitch_with_map:new t.aH(e,r.u_pitch_with_map),u_extrude_scale:new t.aO(e,r.u_extrude_scale),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_matrix:new t.aJ(e,r.u_matrix)}),collisionBox:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_pixel_extrude_scale:new t.aO(e,r.u_pixel_extrude_scale)}),collisionCircle:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_inv_matrix:new t.aJ(e,r.u_inv_matrix),u_camera_to_center_distance:new t.aI(e,r.u_camera_to_center_distance),u_viewport_size:new t.aO(e,r.u_viewport_size)}),debug:(e,r)=>({u_color:new t.aL(e,r.u_color),u_matrix:new t.aJ(e,r.u_matrix),u_overlay:new t.aH(e,r.u_overlay),u_overlay_scale:new t.aI(e,r.u_overlay_scale)}),clippingMask:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix)}),heatmap:(e,r)=>({u_extrude_scale:new t.aI(e,r.u_extrude_scale),u_intensity:new t.aI(e,r.u_intensity),u_matrix:new t.aJ(e,r.u_matrix)}),heatmapTexture:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_world:new t.aO(e,r.u_world),u_image:new t.aH(e,r.u_image),u_color_ramp:new t.aH(e,r.u_color_ramp),u_opacity:new t.aI(e,r.u_opacity)}),hillshade:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_image:new t.aH(e,r.u_image),u_latrange:new t.aO(e,r.u_latrange),u_light:new t.aO(e,r.u_light),u_shadow:new t.aL(e,r.u_shadow),u_highlight:new t.aL(e,r.u_highlight),u_accent:new t.aL(e,r.u_accent)}),hillshadePrepare:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_image:new t.aH(e,r.u_image),u_dimension:new t.aO(e,r.u_dimension),u_zoom:new t.aI(e,r.u_zoom),u_unpack:new t.aK(e,r.u_unpack)}),line:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_ratio:new t.aI(e,r.u_ratio),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.aO(e,r.u_units_to_pixels)}),lineGradient:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_ratio:new t.aI(e,r.u_ratio),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.aO(e,r.u_units_to_pixels),u_image:new t.aH(e,r.u_image),u_image_height:new t.aI(e,r.u_image_height)}),linePattern:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_texsize:new t.aO(e,r.u_texsize),u_ratio:new t.aI(e,r.u_ratio),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_image:new t.aH(e,r.u_image),u_units_to_pixels:new t.aO(e,r.u_units_to_pixels),u_scale:new t.aN(e,r.u_scale),u_fade:new t.aI(e,r.u_fade)}),lineSDF:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_ratio:new t.aI(e,r.u_ratio),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.aO(e,r.u_units_to_pixels),u_patternscale_a:new t.aO(e,r.u_patternscale_a),u_patternscale_b:new t.aO(e,r.u_patternscale_b),u_sdfgamma:new t.aI(e,r.u_sdfgamma),u_image:new t.aH(e,r.u_image),u_tex_y_a:new t.aI(e,r.u_tex_y_a),u_tex_y_b:new t.aI(e,r.u_tex_y_b),u_mix:new t.aI(e,r.u_mix)}),raster:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_tl_parent:new t.aO(e,r.u_tl_parent),u_scale_parent:new t.aI(e,r.u_scale_parent),u_buffer_scale:new t.aI(e,r.u_buffer_scale),u_fade_t:new t.aI(e,r.u_fade_t),u_opacity:new t.aI(e,r.u_opacity),u_image0:new t.aH(e,r.u_image0),u_image1:new t.aH(e,r.u_image1),u_brightness_low:new t.aI(e,r.u_brightness_low),u_brightness_high:new t.aI(e,r.u_brightness_high),u_saturation_factor:new t.aI(e,r.u_saturation_factor),u_contrast_factor:new t.aI(e,r.u_contrast_factor),u_spin_weights:new t.aN(e,r.u_spin_weights)}),symbolIcon:(e,r)=>({u_is_size_zoom_constant:new t.aH(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aH(e,r.u_is_size_feature_constant),u_size_t:new t.aI(e,r.u_size_t),u_size:new t.aI(e,r.u_size),u_camera_to_center_distance:new t.aI(e,r.u_camera_to_center_distance),u_pitch:new t.aI(e,r.u_pitch),u_rotate_symbol:new t.aH(e,r.u_rotate_symbol),u_aspect_ratio:new t.aI(e,r.u_aspect_ratio),u_fade_change:new t.aI(e,r.u_fade_change),u_matrix:new t.aJ(e,r.u_matrix),u_label_plane_matrix:new t.aJ(e,r.u_label_plane_matrix),u_coord_matrix:new t.aJ(e,r.u_coord_matrix),u_is_text:new t.aH(e,r.u_is_text),u_pitch_with_map:new t.aH(e,r.u_pitch_with_map),u_is_along_line:new t.aH(e,r.u_is_along_line),u_is_variable_anchor:new t.aH(e,r.u_is_variable_anchor),u_texsize:new t.aO(e,r.u_texsize),u_texture:new t.aH(e,r.u_texture),u_translation:new t.aO(e,r.u_translation),u_pitched_scale:new t.aI(e,r.u_pitched_scale)}),symbolSDF:(e,r)=>({u_is_size_zoom_constant:new t.aH(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aH(e,r.u_is_size_feature_constant),u_size_t:new t.aI(e,r.u_size_t),u_size:new t.aI(e,r.u_size),u_camera_to_center_distance:new t.aI(e,r.u_camera_to_center_distance),u_pitch:new t.aI(e,r.u_pitch),u_rotate_symbol:new t.aH(e,r.u_rotate_symbol),u_aspect_ratio:new t.aI(e,r.u_aspect_ratio),u_fade_change:new t.aI(e,r.u_fade_change),u_matrix:new t.aJ(e,r.u_matrix),u_label_plane_matrix:new t.aJ(e,r.u_label_plane_matrix),u_coord_matrix:new t.aJ(e,r.u_coord_matrix),u_is_text:new t.aH(e,r.u_is_text),u_pitch_with_map:new t.aH(e,r.u_pitch_with_map),u_is_along_line:new t.aH(e,r.u_is_along_line),u_is_variable_anchor:new t.aH(e,r.u_is_variable_anchor),u_texsize:new t.aO(e,r.u_texsize),u_texture:new t.aH(e,r.u_texture),u_gamma_scale:new t.aI(e,r.u_gamma_scale),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_is_halo:new t.aH(e,r.u_is_halo),u_translation:new t.aO(e,r.u_translation),u_pitched_scale:new t.aI(e,r.u_pitched_scale)}),symbolTextAndIcon:(e,r)=>({u_is_size_zoom_constant:new t.aH(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aH(e,r.u_is_size_feature_constant),u_size_t:new t.aI(e,r.u_size_t),u_size:new t.aI(e,r.u_size),u_camera_to_center_distance:new t.aI(e,r.u_camera_to_center_distance),u_pitch:new t.aI(e,r.u_pitch),u_rotate_symbol:new t.aH(e,r.u_rotate_symbol),u_aspect_ratio:new t.aI(e,r.u_aspect_ratio),u_fade_change:new t.aI(e,r.u_fade_change),u_matrix:new t.aJ(e,r.u_matrix),u_label_plane_matrix:new t.aJ(e,r.u_label_plane_matrix),u_coord_matrix:new t.aJ(e,r.u_coord_matrix),u_is_text:new t.aH(e,r.u_is_text),u_pitch_with_map:new t.aH(e,r.u_pitch_with_map),u_is_along_line:new t.aH(e,r.u_is_along_line),u_is_variable_anchor:new t.aH(e,r.u_is_variable_anchor),u_texsize:new t.aO(e,r.u_texsize),u_texsize_icon:new t.aO(e,r.u_texsize_icon),u_texture:new t.aH(e,r.u_texture),u_texture_icon:new t.aH(e,r.u_texture_icon),u_gamma_scale:new t.aI(e,r.u_gamma_scale),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_is_halo:new t.aH(e,r.u_is_halo),u_translation:new t.aO(e,r.u_translation),u_pitched_scale:new t.aI(e,r.u_pitched_scale)}),background:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_opacity:new t.aI(e,r.u_opacity),u_color:new t.aL(e,r.u_color)}),backgroundPattern:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_opacity:new t.aI(e,r.u_opacity),u_image:new t.aH(e,r.u_image),u_pattern_tl_a:new t.aO(e,r.u_pattern_tl_a),u_pattern_br_a:new t.aO(e,r.u_pattern_br_a),u_pattern_tl_b:new t.aO(e,r.u_pattern_tl_b),u_pattern_br_b:new t.aO(e,r.u_pattern_br_b),u_texsize:new t.aO(e,r.u_texsize),u_mix:new t.aI(e,r.u_mix),u_pattern_size_a:new t.aO(e,r.u_pattern_size_a),u_pattern_size_b:new t.aO(e,r.u_pattern_size_b),u_scale_a:new t.aI(e,r.u_scale_a),u_scale_b:new t.aI(e,r.u_scale_b),u_pixel_coord_upper:new t.aO(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(e,r.u_pixel_coord_lower),u_tile_units_to_pixels:new t.aI(e,r.u_tile_units_to_pixels)}),terrain:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_texture:new t.aH(e,r.u_texture),u_ele_delta:new t.aI(e,r.u_ele_delta),u_fog_matrix:new t.aJ(e,r.u_fog_matrix),u_fog_color:new t.aL(e,r.u_fog_color),u_fog_ground_blend:new t.aI(e,r.u_fog_ground_blend),u_fog_ground_blend_opacity:new t.aI(e,r.u_fog_ground_blend_opacity),u_horizon_color:new t.aL(e,r.u_horizon_color),u_horizon_fog_blend:new t.aI(e,r.u_horizon_fog_blend)}),terrainDepth:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_ele_delta:new t.aI(e,r.u_ele_delta)}),terrainCoords:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_texture:new t.aH(e,r.u_texture),u_terrain_coords_id:new t.aI(e,r.u_terrain_coords_id),u_ele_delta:new t.aI(e,r.u_ele_delta)}),sky:(e,r)=>({u_sky_color:new t.aL(e,r.u_sky_color),u_horizon_color:new t.aL(e,r.u_horizon_color),u_horizon:new t.aI(e,r.u_horizon),u_sky_horizon_blend:new t.aI(e,r.u_sky_horizon_blend)})};class Zt{constructor(e,t,r){this.context=e;let n=e.gl;this.buffer=n.createBuffer(),this.dynamicDraw=!!r,this.context.unbindVAO(),e.bindElementBuffer.set(this.buffer),n.bufferData(n.ELEMENT_ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete t.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(e){let t=this.context.gl;if(!this.dynamicDraw)throw new Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),t.bufferSubData(t.ELEMENT_ARRAY_BUFFER,0,e.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let $t={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class Kt{constructor(e,t,r,n){this.length=t.length,this.attributes=r,this.itemSize=t.bytesPerElement,this.dynamicDraw=n,this.context=e;let i=e.gl;this.buffer=i.createBuffer(),e.bindVertexBuffer.set(this.buffer),i.bufferData(i.ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete t.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(e){if(e.length!==this.length)throw new Error(`Length of new data is ${e.length}, which doesn't match current length of ${this.length}`);let t=this.context.gl;this.bind(),t.bufferSubData(t.ARRAY_BUFFER,0,e.arrayBuffer)}enableAttributes(e,t){for(let r=0;r0){let r=t.H();t.aQ(r,m.placementInvProjMatrix,e.transform.glCoordMatrix),t.aQ(r,r,m.placementViewportMatrix),c.push({circleArray:y,circleOffset:h,transform:p.posMatrix,invTransform:r,coord:p}),u+=y.length/4,h=u}g&&l.draw(o,s.LINES,Br.disabled,Vr.disabled,e.colorModeForRenderPass(),qr.disabled,{u_matrix:p.posMatrix,u_pixel_extrude_scale:[1/(d=e.transform).width,1/d.height]},e.style.map.terrain&&e.style.map.terrain.getTerrainData(p),n.id,g.layoutVertexBuffer,g.indexBuffer,g.segments,null,e.transform.zoom,null,null,g.collisionVertexBuffer)}var d;if(!a||!c.length)return;let f=e.useProgram("collisionCircle"),p=new t.aR;p.resize(4*u),p._trim();let m=0;for(let e of c)for(let t=0;t=0&&(v[x.associatedIconIndex]={shiftedAnchor:L,angle:I})}else Oe(x.numGlyphs,g)}if(u){y.clear();let r=e.icon.placedSymbolArray;for(let e=0;ee.style.map.terrain.getElevation(l,t,r):null,r="map"===n.layout.get("text-rotation-alignment");ke(c,l.posMatrix,e,a,N,V,v,u,r,g,l.toUnwrapped(),m.width,m.height,q,t)}let W,Y=l.posMatrix,X=a&&A||G,Z=x||X?Gr:N,$=U,K=L&&0!==n.paint.get(a?"text-halo-width":"icon-halo-width").constantOr(1);W=L?c.iconsInText?Gt(I.kind,O,b,v,x,X,e,Y,Z,$,q,d,R,S):Ht(I.kind,O,b,v,x,X,e,Y,Z,$,q,a,d,!0,S):qt(I.kind,O,b,v,x,X,e,Y,Z,$,q,a,d,S);let J={program:z,buffers:h,uniformValues:W,atlasTexture:f,atlasTextureIcon:j,atlasInterpolation:T,atlasInterpolationIcon:E,isSDF:L,hasHalo:K};if(w&&c.canOverlap){k=!0;let e=h.segments.get();for(let r of e)M.push({segments:new t.a0([r]),sortKey:r.sortKey,state:J,terrainData:D})}else M.push({segments:h.segments,sortKey:0,state:J,terrainData:D})}k&&M.sort(((e,t)=>e.sortKey-t.sortKey));for(let t of M){let r=t.state;if(f.activeTexture.set(p.TEXTURE0),r.atlasTexture.bind(r.atlasInterpolation,p.CLAMP_TO_EDGE),r.atlasTextureIcon&&(f.activeTexture.set(p.TEXTURE1),r.atlasTextureIcon&&r.atlasTextureIcon.bind(r.atlasInterpolationIcon,p.CLAMP_TO_EDGE)),r.isSDF){let i=r.uniformValues;r.hasHalo&&(i.u_is_halo=1,Kr(r.buffers,t.segments,n,e,r.program,T,h,d,i,t.terrainData)),i.u_is_halo=0}Kr(r.buffers,t.segments,n,e,r.program,T,h,d,r.uniformValues,t.terrainData)}}function Kr(e,t,r,n,i,a,o,s,l,c){let u=n.context;i.draw(u,u.gl.TRIANGLES,a,o,s,qr.disabled,l,c,r.id,e.layoutVertexBuffer,e.indexBuffer,t,r.paint,n.transform.zoom,e.programConfigurations.get(r.id),e.dynamicLayoutVertexBuffer,e.opacityVertexBuffer)}function Jr(e,r,n,i){let a=e.context,o=a.gl,s=Vr.disabled,l=new jr([o.ONE,o.ONE],t.aM.transparent,[!0,!0,!0,!0]),c=r.getBucket(n);if(!c)return;let u=i.key,h=n.heatmapFbos.get(u);h||(h=en(a,r.tileSize,r.tileSize),n.heatmapFbos.set(u,h)),a.bindFramebuffer.set(h.framebuffer),a.viewport.set([0,0,r.tileSize,r.tileSize]),a.clear({color:t.aM.transparent});let d=c.programConfigurations.get(n.id),f=e.useProgram("heatmap",d),p=e.style.map.terrain.getTerrainData(i);f.draw(a,o.TRIANGLES,Br.disabled,s,l,qr.disabled,Pt(i.posMatrix,r,e.transform.zoom,n.paint.get("heatmap-intensity")),p,n.id,c.layoutVertexBuffer,c.indexBuffer,c.segments,n.paint,e.transform.zoom,d)}function Qr(e,t,r){let n=e.context,i=n.gl;n.setColorMode(e.colorModeForRenderPass());let a=tn(n,t),o=r.key,s=t.heatmapFbos.get(o);s&&(n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,s.colorAttachment.get()),n.activeTexture.set(i.TEXTURE1),a.bind(i.LINEAR,i.CLAMP_TO_EDGE),e.useProgram("heatmapTexture").draw(n,i.TRIANGLES,Br.disabled,Vr.disabled,e.colorModeForRenderPass(),qr.disabled,zt(e,t,0,1),null,t.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments,t.paint,e.transform.zoom),s.destroy(),t.heatmapFbos.delete(o))}function en(e,t,r){var n,i;let a=e.gl,o=a.createTexture();a.bindTexture(a.TEXTURE_2D,o),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR);let s=null!==(n=e.HALF_FLOAT)&&void 0!==n?n:a.UNSIGNED_BYTE,l=null!==(i=e.RGBA16F)&&void 0!==i?i:a.RGBA;a.texImage2D(a.TEXTURE_2D,0,l,t,r,0,a.RGBA,s,null);let c=e.createFramebuffer(t,r,!1,!1);return c.colorAttachment.set(o),c}function tn(e,t){return t.colorRampTexture||(t.colorRampTexture=new w(e,t.colorRamp,e.gl.RGBA)),t.colorRampTexture}function rn(e,t,r,n,i){if(!r||!n||!n.imageAtlas)return;let a=n.imageAtlas.patternPositions,o=a[r.to.toString()],s=a[r.from.toString()];if(!o&&s&&(o=s),!s&&o&&(s=o),!o||!s){let e=i.getPaintProperty(t);o=a[e],s=a[e]}o&&s&&e.setConstantPatternPositions(o,s)}function nn(e,t,r,n,i,a,o){let s,l,c,u,h,d=e.context.gl,f="fill-pattern",p=r.paint.get(f),m=p&&p.constantOr(1),g=r.getCrossfadeParameters();o?(l=m&&!r.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",s=d.LINES):(l=m?"fillPattern":"fill",s=d.TRIANGLES);let y=p.constantOr(null);for(let p of n){let n=t.getTile(p);if(m&&!n.patternsLoaded())continue;let v=n.getBucket(r);if(!v)continue;let x=v.programConfigurations.get(r.id),b=e.useProgram(l,x),_=e.style.map.terrain&&e.style.map.terrain.getTerrainData(p);m&&(e.context.activeTexture.set(d.TEXTURE0),n.imageAtlasTexture.bind(d.LINEAR,d.CLAMP_TO_EDGE),x.updatePaintBuffers(g)),rn(x,f,y,n,r);let w=_?p:null,k=e.translatePosMatrix(w?w.posMatrix:p.posMatrix,n,r.paint.get("fill-translate"),r.paint.get("fill-translate-anchor"));if(o){u=v.indexBuffer2,h=v.segments2;let t=[d.drawingBufferWidth,d.drawingBufferHeight];c="fillOutlinePattern"===l&&m?St(k,e,g,n,t):Mt(k,t)}else u=v.indexBuffer,h=v.segments,c=m?At(k,e,g,n):Tt(k);b.draw(e.context,s,i,e.stencilModeForClipping(p),a,qr.disabled,c,_,r.id,v.layoutVertexBuffer,u,h,r.paint,e.transform.zoom,x)}}function an(e,t,r,n,i,a,o){let s=e.context,l=s.gl,c="fill-extrusion-pattern",u=r.paint.get(c),h=u.constantOr(1),d=r.getCrossfadeParameters(),f=r.paint.get("fill-extrusion-opacity"),p=u.constantOr(null);for(let u of n){let n=t.getTile(u),m=n.getBucket(r);if(!m)continue;let g=e.style.map.terrain&&e.style.map.terrain.getTerrainData(u),y=m.programConfigurations.get(r.id),v=e.useProgram(h?"fillExtrusionPattern":"fillExtrusion",y);h&&(e.context.activeTexture.set(l.TEXTURE0),n.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),y.updatePaintBuffers(d)),rn(y,c,p,n,r);let x=e.translatePosMatrix(u.posMatrix,n,r.paint.get("fill-extrusion-translate"),r.paint.get("fill-extrusion-translate-anchor")),b=r.paint.get("fill-extrusion-vertical-gradient"),_=h?kt(x,e,b,f,u,d,n):wt(x,e,b,f);v.draw(s,s.gl.TRIANGLES,i,a,o,qr.backCCW,_,g,r.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,r.paint,e.transform.zoom,y,e.style.map.terrain&&m.centroidVertexBuffer)}}function on(e,t,r,n,i,a,o){let s=e.context,l=s.gl,c=r.fbo;if(!c)return;let u=e.useProgram("hillshade"),h=e.style.map.terrain&&e.style.map.terrain.getTerrainData(t);s.activeTexture.set(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,c.colorAttachment.get()),u.draw(s,l.TRIANGLES,i,a,o,qr.disabled,((e,t,r,n)=>{let i=r.paint.get("hillshade-shadow-color"),a=r.paint.get("hillshade-highlight-color"),o=r.paint.get("hillshade-accent-color"),s=r.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===r.paint.get("hillshade-illumination-anchor")&&(s-=e.transform.angle);let l=!e.options.moving;return{u_matrix:n?n.posMatrix:e.transform.calculatePosMatrix(t.tileID.toUnwrapped(),l),u_image:0,u_latrange:Ot(0,t.tileID),u_light:[r.paint.get("hillshade-exaggeration"),s],u_shadow:i,u_highlight:a,u_accent:o}})(e,r,n,h?t:null),h,n.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments)}function sn(e,r,n,i,a,o){let s=e.context,l=s.gl,c=r.dem;if(c&&c.data){let u=c.dim,h=c.stride,d=c.getPixels();if(s.activeTexture.set(l.TEXTURE1),s.pixelStoreUnpackPremultiplyAlpha.set(!1),r.demTexture=r.demTexture||e.getTileTexture(h),r.demTexture){let e=r.demTexture;e.update(d,{premultiply:!1}),e.bind(l.NEAREST,l.CLAMP_TO_EDGE)}else r.demTexture=new w(s,d,l.RGBA,{premultiply:!1}),r.demTexture.bind(l.NEAREST,l.CLAMP_TO_EDGE);s.activeTexture.set(l.TEXTURE0);let f=r.fbo;if(!f){let e=new w(s,{width:u,height:u,data:null},l.RGBA);e.bind(l.LINEAR,l.CLAMP_TO_EDGE),f=r.fbo=s.createFramebuffer(u,u,!0,!1),f.colorAttachment.set(e.texture)}s.bindFramebuffer.set(f.framebuffer),s.viewport.set([0,0,u,u]),e.useProgram("hillshadePrepare").draw(s,l.TRIANGLES,i,a,o,qr.disabled,((e,r)=>{let n=r.stride,i=t.H();return t.aP(i,0,t.X,-t.X,0,0,1),t.J(i,i,[0,-t.X,0]),{u_matrix:i,u_image:1,u_dimension:[n,n],u_zoom:e.overscaledZ,u_unpack:r.getUnpackVector()}})(r.tileID,c),null,n.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),r.needsHillshadePrepare=!1}}function ln(e,r,n,i,o,s){let l=i.paint.get("raster-fade-duration");if(!s&&l>0){let i=a.now(),s=(i-e.timeAdded)/l,c=r?(i-r.timeAdded)/l:-1,u=n.getSource(),h=o.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.roundZoom}),d=!r||Math.abs(r.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),f=d&&e.refreshedUponExpiration?1:t.ac(d?s:1-c,0,1);return e.refreshedUponExpiration&&s>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-f}:{opacity:f,mix:0}}return{opacity:1,mix:0}}let cn=new t.aM(1,0,0,1),un=new t.aM(0,1,0,1),hn=new t.aM(0,0,1,1),dn=new t.aM(1,0,1,1),fn=new t.aM(0,1,1,1);function pn(e,t,r,n){gn(e,0,t+r/2,e.transform.width,r,n)}function mn(e,t,r,n){gn(e,t-r/2,0,r,e.transform.height,n)}function gn(e,t,r,n,i,a){let o=e.context,s=o.gl;s.enable(s.SCISSOR_TEST),s.scissor(t*e.pixelRatio,r*e.pixelRatio,n*e.pixelRatio,i*e.pixelRatio),o.clear({color:a}),s.disable(s.SCISSOR_TEST)}function yn(e,r,n){let i=e.context,a=i.gl,o=n.posMatrix,s=e.useProgram("debug"),l=Br.disabled,c=Vr.disabled,u=e.colorModeForRenderPass(),h="$debug",d=e.style.map.terrain&&e.style.map.terrain.getTerrainData(n);i.activeTexture.set(a.TEXTURE0);let f=r.getTileByID(n.key).latestRawTileData,p=Math.floor((f&&f.byteLength||0)/1024),m=r.getTile(n).tileSize,g=512/Math.min(m,512)*(n.overscaledZ/e.transform.zoom)*.5,y=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(y+=` => ${n.overscaledZ}`),function(e,t){e.initDebugOverlayCanvas();let r=e.debugOverlayCanvas,n=e.context.gl,i=e.debugOverlayCanvas.getContext("2d");i.clearRect(0,0,r.width,r.height),i.shadowColor="white",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle="white",i.textBaseline="top",i.font="bold 36px Open Sans, sans-serif",i.fillText(t,5,5),i.strokeText(t,5,5),e.debugOverlayTexture.update(r),e.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(e,`${y} ${p}kB`),s.draw(i,a.TRIANGLES,l,c,jr.alphaBlended,qr.disabled,Lt(o,t.aM.transparent,g),null,h,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments),s.draw(i,a.LINE_STRIP,l,c,u,qr.disabled,Lt(o,t.aM.red),d,h,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments)}function vn(e,t,r){let n=e.context,i=n.gl,a=e.colorModeForRenderPass(),o=new Br(i.LEQUAL,Br.ReadWrite,e.depthRangeFor3D),s=e.useProgram("terrain"),l=t.getTerrainMesh();n.bindFramebuffer.set(null),n.viewport.set([0,0,e.width,e.height]);for(let c of r){let r=e.renderToTexture.getTexture(c),u=t.getTerrainData(c.tileID);n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,r.texture);let h=e.transform.calculatePosMatrix(c.tileID.toUnwrapped()),d=t.getMeshFrameDelta(e.transform.zoom),f=e.transform.calculateFogMatrix(c.tileID.toUnwrapped()),p=vt(h,d,f,e.style.sky,e.transform.pitch);s.draw(n,i.TRIANGLES,o,Vr.disabled,a,qr.backCCW,p,u,"terrain",l.vertexBuffer,l.indexBuffer,l.segments)}}class xn{constructor(e,t,r){this.vertexBuffer=e,this.indexBuffer=t,this.segments=r}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class bn{constructor(e,r){this.context=new Fr(e),this.transform=r,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:t.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=de.maxUnderzooming+de.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new ut}resize(e,t,r){if(this.width=Math.floor(e*r),this.height=Math.floor(t*r),this.pixelRatio=r,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let e of this.style._order)this.style._layers[e].resize()}setup(){let e=this.context,r=new t.aX;r.emplaceBack(0,0),r.emplaceBack(t.X,0),r.emplaceBack(0,t.X),r.emplaceBack(t.X,t.X),this.tileExtentBuffer=e.createVertexBuffer(r,pt.members),this.tileExtentSegments=t.a0.simpleSegment(0,0,4,2);let n=new t.aX;n.emplaceBack(0,0),n.emplaceBack(t.X,0),n.emplaceBack(0,t.X),n.emplaceBack(t.X,t.X),this.debugBuffer=e.createVertexBuffer(n,pt.members),this.debugSegments=t.a0.simpleSegment(0,0,4,5);let i=new t.$;i.emplaceBack(0,0,0,0),i.emplaceBack(t.X,0,t.X,0),i.emplaceBack(0,t.X,0,t.X),i.emplaceBack(t.X,t.X,t.X,t.X),this.rasterBoundsBuffer=e.createVertexBuffer(i,Q.members),this.rasterBoundsSegments=t.a0.simpleSegment(0,0,4,2);let a=new t.aX;a.emplaceBack(0,0),a.emplaceBack(1,0),a.emplaceBack(0,1),a.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(a,pt.members),this.viewportSegments=t.a0.simpleSegment(0,0,4,2);let o=new t.aZ;o.emplaceBack(0),o.emplaceBack(1),o.emplaceBack(3),o.emplaceBack(2),o.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(o);let s=new t.aY;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(s);let l=this.context.gl;this.stencilClearMode=new Vr({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO)}clearStencil(){let e=this.context,r=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let n=t.H();t.aP(n,0,this.width,this.height,0,0,1),t.K(n,n,[r.drawingBufferWidth,r.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(e,r.TRIANGLES,Br.disabled,this.stencilClearMode,jr.disabled,qr.disabled,It(n),null,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(e,t){if(this.currentStencilSource===e.source||!e.isTileClipped()||!t||!t.length)return;this.currentStencilSource=e.source;let r=this.context,n=r.gl;this.nextStencilID+t.length>256&&this.clearStencil(),r.setColorMode(jr.disabled),r.setDepthMode(Br.disabled);let i=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(let e of t){let t=this._tileClippingMaskIDs[e.key]=this.nextStencilID++,a=this.style.map.terrain&&this.style.map.terrain.getTerrainData(e);i.draw(r,n.TRIANGLES,Br.disabled,new Vr({func:n.ALWAYS,mask:0},t,255,n.KEEP,n.KEEP,n.REPLACE),jr.disabled,qr.disabled,It(e.posMatrix),a,"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let e=this.nextStencilID++,t=this.context.gl;return new Vr({func:t.NOTEQUAL,mask:255},e,255,t.KEEP,t.KEEP,t.REPLACE)}stencilModeForClipping(e){let t=this.context.gl;return new Vr({func:t.EQUAL,mask:255},this._tileClippingMaskIDs[e.key],0,t.KEEP,t.KEEP,t.REPLACE)}stencilConfigForOverlap(e){let t=this.context.gl,r=e.sort(((e,t)=>t.overscaledZ-e.overscaledZ)),n=r[r.length-1].overscaledZ,i=r[0].overscaledZ-n+1;if(i>1){this.currentStencilSource=void 0,this.nextStencilID+i>256&&this.clearStencil();let e={};for(let r=0;r=0;this.currentLayer--){let e=this.style._layers[n[this.currentLayer]],t=i[e.source],r=o[e.source];this._renderTileClippingMasks(e,r),this.renderLayer(this,t,e,r)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayerr.source&&!r.isHidden(t)?[e.sourceCaches[r.source]]:[])),i=n.filter((e=>"vector"===e.getSource().type)),a=n.filter((e=>"vector"!==e.getSource().type)),o=e=>{(!r||r.getSource().maxzoomo(e))),r||a.forEach((e=>o(e))),r}(this.style,this.transform.zoom);e&&function(e,t,r){for(let n=0;n0),i&&(t.b0(r,n),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(e,r){let n=e.context,i=n.gl,a=jr.unblended,o=new Br(i.LEQUAL,Br.ReadWrite,[0,1]),s=r.getTerrainMesh(),l=r.sourceCache.getRenderableTiles(),c=e.useProgram("terrainDepth");n.bindFramebuffer.set(r.getFramebuffer("depth").framebuffer),n.viewport.set([0,0,e.width/devicePixelRatio,e.height/devicePixelRatio]),n.clear({color:t.aM.transparent,depth:1});for(let t of l){let l=r.getTerrainData(t.tileID),u={u_matrix:e.transform.calculatePosMatrix(t.tileID.toUnwrapped()),u_ele_delta:r.getMeshFrameDelta(e.transform.zoom)};c.draw(n,i.TRIANGLES,o,Vr.disabled,a,qr.backCCW,u,l,"terrain",s.vertexBuffer,s.indexBuffer,s.segments)}n.bindFramebuffer.set(null),n.viewport.set([0,0,e.width,e.height])}(this,this.style.map.terrain),function(e,r){let n=e.context,i=n.gl,a=jr.unblended,o=new Br(i.LEQUAL,Br.ReadWrite,[0,1]),s=r.getTerrainMesh(),l=r.getCoordsTexture(),c=r.sourceCache.getRenderableTiles(),u=e.useProgram("terrainCoords");n.bindFramebuffer.set(r.getFramebuffer("coords").framebuffer),n.viewport.set([0,0,e.width/devicePixelRatio,e.height/devicePixelRatio]),n.clear({color:t.aM.transparent,depth:1}),r.coordsIndex=[];for(let t of c){let c=r.getTerrainData(t.tileID);n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,l.texture);let h={u_matrix:e.transform.calculatePosMatrix(t.tileID.toUnwrapped()),u_terrain_coords_id:(255-r.coordsIndex.length)/255,u_texture:0,u_ele_delta:r.getMeshFrameDelta(e.transform.zoom)};u.draw(n,i.TRIANGLES,o,Vr.disabled,a,qr.backCCW,h,c,"terrain",s.vertexBuffer,s.indexBuffer,s.segments),r.coordsIndex.push(t.tileID.key)}n.bindFramebuffer.set(null),n.viewport.set([0,0,e.width,e.height])}(this,this.style.map.terrain))}renderLayer(e,r,n,i){if(!n.isHidden(this.transform.zoom)&&("background"===n.type||"custom"===n.type||(i||[]).length))switch(this.id=n.id,n.type){case"symbol":!function(e,r,n,i,a){if("translucent"!==e.renderPass)return;let o=Vr.disabled,s=e.colorModeForRenderPass();(n._unevaluatedLayout.hasValue("text-variable-anchor")||n._unevaluatedLayout.hasValue("text-variable-anchor-offset"))&&function(e,r,n,i,a,o,s,l,c){let u=r.transform,h=nt(),d="map"===a,f="map"===o;for(let a of e){let e=i.getTile(a),o=e.getBucket(n);if(!o||!o.text||!o.text.segments.get().length)continue;let p=t.ag(o.textSizeData,u.zoom),m=Fe(e,1,r.transform.zoom),g=ve(a.posMatrix,f,d,r.transform,m),y="none"!==n.layout.get("icon-text-fit")&&o.hasIconData();if(p){let t=Math.pow(2,u.zoom-e.tileID.overscaledZ),n=r.style.map.terrain?(e,t)=>r.style.map.terrain.getElevation(a,e,t):null,i=h.translatePosition(u,e,s,l);Xr(o,d,f,c,u,g,a.posMatrix,t,p,y,h,i,a.toUnwrapped(),n)}}}(i,e,n,r,n.layout.get("text-rotation-alignment"),n.layout.get("text-pitch-alignment"),n.paint.get("text-translate"),n.paint.get("text-translate-anchor"),a),0!==n.paint.get("icon-opacity").constantOr(1)&&$r(e,r,n,i,!1,n.paint.get("icon-translate"),n.paint.get("icon-translate-anchor"),n.layout.get("icon-rotation-alignment"),n.layout.get("icon-pitch-alignment"),n.layout.get("icon-keep-upright"),o,s),0!==n.paint.get("text-opacity").constantOr(1)&&$r(e,r,n,i,!0,n.paint.get("text-translate"),n.paint.get("text-translate-anchor"),n.layout.get("text-rotation-alignment"),n.layout.get("text-pitch-alignment"),n.layout.get("text-keep-upright"),o,s),r.map.showCollisionBoxes&&(Hr(e,r,n,i,!0),Hr(e,r,n,i,!1))}(e,r,n,i,this.style.placement.variableOffsets);break;case"circle":!function(e,r,n,i){if("translucent"!==e.renderPass)return;let a=n.paint.get("circle-opacity"),o=n.paint.get("circle-stroke-width"),s=n.paint.get("circle-stroke-opacity"),l=!n.layout.get("circle-sort-key").isConstant();if(0===a.constantOr(1)&&(0===o.constantOr(1)||0===s.constantOr(1)))return;let c=e.context,u=c.gl,h=e.depthModeForSublayer(0,Br.ReadOnly),d=Vr.disabled,f=e.colorModeForRenderPass(),p=[];for(let a=0;ae.sortKey-t.sortKey));for(let t of p){let{programConfiguration:r,program:i,layoutVertexBuffer:a,indexBuffer:o,uniformValues:s,terrainData:l}=t.state;i.draw(c,u.TRIANGLES,h,d,f,qr.disabled,s,l,n.id,a,o,t.segments,n.paint,e.transform.zoom,r)}}(e,r,n,i);break;case"heatmap":!function(e,r,n,i){if(0===n.paint.get("heatmap-opacity"))return;let a=e.context;if(e.style.map.terrain){for(let t of i){let i=r.getTile(t);r.hasRenderableParent(t)||("offscreen"===e.renderPass?Jr(e,i,n,t):"translucent"===e.renderPass&&Qr(e,n,t))}a.viewport.set([0,0,e.width,e.height])}else"offscreen"===e.renderPass?function(e,r,n,i){let a=e.context,o=a.gl,s=Vr.disabled,l=new jr([o.ONE,o.ONE],t.aM.transparent,[!0,!0,!0,!0]);(function(e,r,n){let i=e.gl;e.activeTexture.set(i.TEXTURE1),e.viewport.set([0,0,r.width/4,r.height/4]);let a=n.heatmapFbos.get(t.aU);a?(i.bindTexture(i.TEXTURE_2D,a.colorAttachment.get()),e.bindFramebuffer.set(a.framebuffer)):(a=en(e,r.width/4,r.height/4),n.heatmapFbos.set(t.aU,a))})(a,e,n),a.clear({color:t.aM.transparent});for(let t=0;t20&&a.texParameterf(a.TEXTURE_2D,i.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,i.extTextureFilterAnisotropicMax);let b=e.style.map.terrain&&e.style.map.terrain.getTerrainData(n),_=b?n:null,w=_?_.posMatrix:e.transform.calculatePosMatrix(n.toUnwrapped(),d),k=Ut(w,m||[0,0],p||1,v,r);o instanceof ee?s.draw(i,a.TRIANGLES,u,Vr.disabled,l,qr.disabled,k,b,r.id,o.boundsBuffer,e.quadTriangleIndexBuffer,o.boundsSegments):s.draw(i,a.TRIANGLES,u,c[n.overscaledZ],l,qr.disabled,k,b,r.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments)}}(e,r,n,i);break;case"background":!function(e,t,r,n){let i=r.paint.get("background-color"),a=r.paint.get("background-opacity");if(0===a)return;let o=e.context,s=o.gl,l=e.transform,c=l.tileSize,u=r.paint.get("background-pattern");if(e.isPatternMissing(u))return;let h=!u&&1===i.a&&1===a&&e.opaquePassEnabledForLayer()?"opaque":"translucent";if(e.renderPass!==h)return;let d=Vr.disabled,f=e.depthModeForSublayer(0,"opaque"===h?Br.ReadWrite:Br.ReadOnly),p=e.colorModeForRenderPass(),m=e.useProgram(u?"backgroundPattern":"background"),g=n||l.coveringTiles({tileSize:c,terrain:e.style.map.terrain});u&&(o.activeTexture.set(s.TEXTURE0),e.imageManager.bind(e.context));let y=r.getCrossfadeParameters();for(let t of g){let l=n?t.posMatrix:e.transform.calculatePosMatrix(t.toUnwrapped()),h=u?Yt(l,a,e,u,{tileID:t,tileSize:c},y):Wt(l,a,i),g=e.style.map.terrain&&e.style.map.terrain.getTerrainData(t);m.draw(o,s.TRIANGLES,f,d,p,qr.disabled,h,g,r.id,e.tileExtentBuffer,e.quadTriangleIndexBuffer,e.tileExtentSegments)}}(e,0,n,i);break;case"custom":!function(e,t,r){let n=e.context,i=r.implementation;if("offscreen"===e.renderPass){let t=i.prerender;t&&(e.setCustomLayerDefaults(),n.setColorMode(e.colorModeForRenderPass()),t.call(i,n.gl,e.transform.customLayerMatrix()),n.setDirty(),e.setBaseState())}else if("translucent"===e.renderPass){e.setCustomLayerDefaults(),n.setColorMode(e.colorModeForRenderPass()),n.setStencilMode(Vr.disabled);let t="3d"===i.renderingMode?new Br(e.context.gl.LEQUAL,Br.ReadWrite,e.depthRangeFor3D):e.depthModeForSublayer(0,Br.ReadOnly);n.setDepthMode(t),i.render(n.gl,e.transform.customLayerMatrix(),{farZ:e.transform.farZ,nearZ:e.transform.nearZ,fov:e.transform._fov,modelViewProjectionMatrix:e.transform.modelViewProjectionMatrix,projectionMatrix:e.transform.projectionMatrix}),n.setDirty(),e.setBaseState(),n.bindFramebuffer.set(null)}}(e,0,n)}}translatePosMatrix(e,r,n,i,a){if(!n[0]&&!n[1])return e;let o=a?"map"===i?this.transform.angle:0:"viewport"===i?-this.transform.angle:0;if(o){let e=Math.sin(o),t=Math.cos(o);n=[n[0]*t-n[1]*e,n[0]*e+n[1]*t]}let s=[a?n[0]:Fe(r,n[0],this.transform.zoom),a?n[1]:Fe(r,n[1],this.transform.zoom),0],l=new Float32Array(16);return t.J(l,e,s),l}saveTileTexture(e){let t=this._tileTextures[e.size[0]];t?t.push(e):this._tileTextures[e.size[0]]=[e]}getTileTexture(e){let t=this._tileTextures[e];return t&&t.length>0?t.pop():null}isPatternMissing(e){if(!e)return!1;if(!e.from||!e.to)return!0;let t=this.imageManager.getPattern(e.from.toString()),r=this.imageManager.getPattern(e.to.toString());return!t||!r}useProgram(e,t){this.cache=this.cache||{};let r=e+(t?t.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"")+(this.style.map.terrain?"/terrain":"");return this.cache[r]||(this.cache[r]=new bt(this.context,mt[e],t,Xt[e],this._showOverdrawInspector,this.style.map.terrain)),this.cache[r]}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 e=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(e.FUNC_ADD)}initDebugOverlayCanvas(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new w(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:e,drawingBufferHeight:t}=this.context.gl;return this.width!==e||this.height!==t}}class _n{constructor(e,t){this.points=e,this.planes=t}static fromInvProjectionMatrix(e,r,n){let i=Math.pow(2,n),a=[[-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((n=>{let a=1/(n=t.af([],n,e))[3]/r*i;return t.b1(n,n,[a,a,1/n[3],a])})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((e=>{let t=function(e,t){var r=t[0],n=t[1],i=t[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e}([],(n=[],i=y([],a[e[0]],a[e[1]]),o=y([],a[e[2]],a[e[1]]),s=i[0],l=i[1],c=i[2],u=o[0],h=o[1],d=o[2],n[0]=l*d-c*h,n[1]=c*u-s*d,n[2]=s*h-l*u,n)),r=-((f=t)[0]*(p=a[e[1]])[0]+f[1]*p[1]+f[2]*p[2]);var n,i,o,s,l,c,u,h,d,f,p;return t.concat(r)}));return new _n(a,o)}}class wn{constructor(e,t){var r,n,i;this.min=e,this.max=t,this.center=function(e,t){return e[0]=.5*t[0],e[1]=.5*t[1],e[2]=.5*t[2],e}([],(r=[],n=this.min,i=this.max,r[0]=n[0]+i[0],r[1]=n[1]+i[1],r[2]=n[2]+i[2],r))}quadrant(e){let t=[e%2==0,e<2],r=m(this.min),n=m(this.max);for(let e=0;e=0&&o++;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(let t=0;t<3;t++){let r=Number.MAX_VALUE,n=-Number.MAX_VALUE;for(let i=0;ithis.max[t]-this.min[t])return 0}return 1}}class kn{constructor(e=0,t=0,r=0,n=0){if(isNaN(e)||e<0||isNaN(t)||t<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=e,this.bottom=t,this.left=r,this.right=n}interpolate(e,r,n){return null!=r.top&&null!=e.top&&(this.top=t.y.number(e.top,r.top,n)),null!=r.bottom&&null!=e.bottom&&(this.bottom=t.y.number(e.bottom,r.bottom,n)),null!=r.left&&null!=e.left&&(this.left=t.y.number(e.left,r.left,n)),null!=r.right&&null!=e.right&&(this.right=t.y.number(e.right,r.right,n)),this}getCenter(e,r){let n=t.ac((this.left+e-this.right)/2,0,e),i=t.ac((this.top+r-this.bottom)/2,0,r);return new t.P(n,i)}equals(e){return this.top===e.top&&this.bottom===e.bottom&&this.left===e.left&&this.right===e.right}clone(){return new kn(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}let Tn=85.051129;class An{constructor(e,r,n,i,a){this.tileSize=512,this._renderWorldCopies=void 0===a||!!a,this._minZoom=e||0,this._maxZoom=r||22,this._minPitch=n??0,this._maxPitch=i??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 kn,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){let e=new An(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return e.apply(this),e}apply(e){this.tileSize=e.tileSize,this.latRange=e.latRange,this.lngRange=e.lngRange,this.width=e.width,this.height=e.height,this._center=e._center,this._elevation=e._elevation,this.minElevationForCurrentTile=e.minElevationForCurrentTile,this.zoom=e.zoom,this.angle=e.angle,this._fov=e._fov,this._pitch=e._pitch,this._unmodified=e._unmodified,this._edgeInsets=e._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(e){this._minZoom!==e&&(this._minZoom=e,this.zoom=Math.max(this.zoom,e))}get maxZoom(){return this._maxZoom}set maxZoom(e){this._maxZoom!==e&&(this._maxZoom=e,this.zoom=Math.min(this.zoom,e))}get minPitch(){return this._minPitch}set minPitch(e){this._minPitch!==e&&(this._minPitch=e,this.pitch=Math.max(this.pitch,e))}get maxPitch(){return this._maxPitch}set maxPitch(e){this._maxPitch!==e&&(this._maxPitch=e,this.pitch=Math.min(this.pitch,e))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(e){void 0===e?e=!0:null===e&&(e=!1),this._renderWorldCopies=e}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(e){let r=-t.b3(e,-180,180)*Math.PI/180;var n;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=(n=new t.A(4),t.A!=Float32Array&&(n[1]=0,n[2]=0),n[0]=1,n[3]=1,n),function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),l=Math.cos(r);e[0]=n*l+a*s,e[1]=i*l+o*s,e[2]=n*-s+a*l,e[3]=i*-s+o*l}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(e){let r=t.ac(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(e){e=Math.max(.01,Math.min(60,e)),this._fov!==e&&(this._unmodified=!1,this._fov=e/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(e){let t=Math.min(Math.max(e,this.minZoom),this.maxZoom);this._zoom!==t&&(this._unmodified=!1,this._zoom=t,this.tileZoom=Math.max(0,Math.floor(t)),this.scale=this.zoomScale(t),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(e){e.lat===this._center.lat&&e.lng===this._center.lng||(this._unmodified=!1,this._center=e,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(e){e!==this._elevation&&(this._elevation=e,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(e){this._edgeInsets.equals(e)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,e,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(e){return this._edgeInsets.equals(e)}interpolatePadding(e,t,r){this._unmodified=!1,this._edgeInsets.interpolate(e,t,r),this._constrain(),this._calcMatrices()}coveringZoomLevel(e){let t=(e.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/e.tileSize));return Math.max(0,t)}getVisibleUnwrappedCoordinates(e){let r=[new t.b4(0,e)];if(this._renderWorldCopies){let n=this.pointCoordinate(new t.P(0,0)),i=this.pointCoordinate(new t.P(this.width,0)),a=this.pointCoordinate(new t.P(this.width,this.height)),o=this.pointCoordinate(new t.P(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),c=1;for(let n=s-c;n<=l+c;n++)0!==n&&r.push(new t.b4(n,e))}return r}coveringTiles(e){var r,n;let i=this.coveringZoomLevel(e),a=i;if(void 0!==e.minzoom&&ie.maxzoom&&(i=e.maxzoom);let o=this.pointCoordinate(this.getCameraPoint()),s=t.Z.fromLngLat(this.center),l=Math.pow(2,i),c=[l*o.x,l*o.y,0],u=[l*s.x,l*s.y,0],h=_n.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,i),d=e.minzoom||0;!e.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(d=i);let f=e.terrain?2/Math.min(this.tileSize,e.tileSize)*this.tileSize:3,p=e=>({aabb:new wn([e*l,0,0],[(e+1)*l,l,0]),zoom:0,x:0,y:0,wrap:e,fullyVisible:!1}),m=[],g=[],y=i,v=e.reparseOverscaled?a:i;if(this._renderWorldCopies)for(let e=1;e<=3;e++)m.push(p(-e)),m.push(p(e));for(m.push(p(0));m.length>0;){let i=m.pop(),a=i.x,o=i.y,s=i.fullyVisible;if(!s){let e=i.aabb.intersects(h);if(0===e)continue;s=2===e}let l=e.terrain?c:u,p=i.aabb.distanceX(l),b=i.aabb.distanceY(l),_=Math.max(Math.abs(p),Math.abs(b));if(i.zoom===y||_>f+(1<=d){let e=y-i.zoom,r=c[0]-.5-(a<>1),h=i.zoom+1,d=i.aabb.quadrant(l);if(e.terrain){let a=new t.S(h,i.wrap,h,c,u),o=e.terrain.getMinMaxElevation(a),s=null!==(r=o.minElevation)&&void 0!==r?r:this.elevation,l=null!==(n=o.maxElevation)&&void 0!==n?n:this.elevation;d=new wn([d.min[0],d.min[1],s],[d.max[0],d.max[1],l])}m.push({aabb:d,zoom:h,x:c,y:u,wrap:i.wrap,fullyVisible:s})}}return g.sort(((e,t)=>e.distanceSq-t.distanceSq)).map((e=>e.tileID))}resize(e,t){this.width=e,this.height=t,this.pixelsToGLUnits=[2/e,-2/t],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(e){return Math.pow(2,e)}scaleZoom(e){return Math.log(e)/Math.LN2}project(e){let r=t.ac(e.lat,-85.051129,Tn);return new t.P(t.O(e.lng)*this.worldSize,t.Q(r)*this.worldSize)}unproject(e){return new t.Z(e.x/this.worldSize,e.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(e){let r=this.elevation,n=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,i=this.pointLocation(this.centerPoint,e),a=e.getElevationForLngLatZoom(i,this.tileZoom);if(!(this.elevation-a))return;let o=n+r-a,s=Math.cos(this._pitch)*this.cameraToCenterDistance/o/t.b5(1,i.lat),l=this.scaleZoom(s/this.tileSize);this._elevation=a,this._center=i,this.zoom=l}setLocationAtPoint(e,r){let n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(e),o=new t.Z(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(e,t){return t?this.coordinatePoint(this.locationCoordinate(e),t.getElevationForLngLatZoom(e,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(e))}pointLocation(e,t){return this.coordinateLocation(this.pointCoordinate(e,t))}locationCoordinate(e){return t.Z.fromLngLat(e)}coordinateLocation(e){return e&&e.toLngLat()}pointCoordinate(e,r){if(r){let t=r.pointCoordinate(e);if(null!=t)return t}let n=[e.x,e.y,0,1],i=[e.x,e.y,1,1];t.af(n,n,this.pixelMatrixInverse),t.af(i,i,this.pixelMatrixInverse);let a=n[3],o=i[3],s=n[1]/a,l=i[1]/o,c=n[2]/a,u=i[2]/o,h=c===u?0:(0-c)/(u-c);return new t.Z(t.y.number(n[0]/a,i[0]/o,h)/this.worldSize,t.y.number(s,l,h)/this.worldSize)}coordinatePoint(e,r=0,n=this.pixelMatrix){let i=[e.x*this.worldSize,e.y*this.worldSize,r,1];return t.af(i,i,n),new t.P(i[0]/i[3],i[1]/i[3])}getBounds(){let e=Math.max(0,this.height/2-this.getHorizon());return(new Y).extend(this.pointLocation(new t.P(0,e))).extend(this.pointLocation(new t.P(this.width,e))).extend(this.pointLocation(new t.P(this.width,this.height))).extend(this.pointLocation(new t.P(0,this.height)))}getMaxBounds(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new Y([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(e){e?(this.lngRange=[e.getWest(),e.getEast()],this.latRange=[e.getSouth(),e.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,Tn])}calculateTileMatrix(e){let r=e.canonical,n=this.worldSize/this.zoomScale(r.z),i=r.x+Math.pow(2,r.z)*e.wrap,a=t.an(new Float64Array(16));return t.J(a,a,[i*n,r.y*n,0]),t.K(a,a,[n/t.X,n/t.X,1]),a}calculatePosMatrix(e,r=!1){let n=e.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];let a=this.calculateTileMatrix(e);return t.L(a,r?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,a),i[n]=new Float32Array(a),i[n]}calculateFogMatrix(e){let r=e.key,n=this._fogMatrixCache;if(n[r])return n[r];let i=this.calculateTileMatrix(e);return t.L(i,this.fogMatrix,i),n[r]=new Float32Array(i),n[r]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(e,r){r=t.ac(+r,this.minZoom,this.maxZoom);let n={center:new t.N(e.lng,e.lat),zoom:r},i=this.lngRange;if(!this._renderWorldCopies&&null===i){let e=179.9999999999;i=[-e,e]}let a=this.tileSize*this.zoomScale(n.zoom),o=0,s=a,l=0,c=a,u=0,h=0,{x:d,y:f}=this.size;if(this.latRange){let e=this.latRange;o=t.Q(e[1])*a,s=t.Q(e[0])*a,s-os&&(m=s-e)}if(i){let e=(l+c)/2,r=g;this._renderWorldCopies&&(r=t.b3(g,e-a/2,e+a/2));let n=d/2;r-nc&&(p=c-n)}if(void 0!==p||void 0!==m){let e=new t.P(p??g,m??y);n.center=this.unproject.call({worldSize:a},e).wrap()}return n}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let e=this._unmodified,{center:t,zoom:r}=this.getConstrained(this.center,this.zoom);this.center=t,this.zoom=r,this._unmodified=e,this._constraining=!1}_calcMatrices(){if(!this.height)return;let e=this.centerOffset,r=this.point.x,n=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=t.b5(1,this.center.lat)*this.worldSize;let i=t.an(new Float64Array(16));t.K(i,i,[this.width/2,-this.height/2,1]),t.J(i,i,[1,-1,0]),this.labelPlaneMatrix=i,i=t.an(new Float64Array(16)),t.K(i,i,[1,-1,1]),t.J(i,i,[-1,-1,0]),t.K(i,i,[2/this.width,2/this.height,1]),this.glCoordMatrix=i;let a=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),o=Math.min(this.elevation,this.minElevationForCurrentTile),s=a-o*this._pixelPerMeter/Math.cos(this._pitch),l=o<0?s:a,c=Math.PI/2+this._pitch,u=this._fov*(.5+e.y/this.height),h=Math.sin(u)*l/Math.sin(t.ac(Math.PI-c-u,.01,Math.PI-.01)),d=this.getHorizon(),f=2*Math.atan(d/this.cameraToCenterDistance)*(.5+e.y/(2*d)),p=Math.sin(f)*l/Math.sin(t.ac(Math.PI-c-f,.01,Math.PI-.01)),m=Math.min(h,p);this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*m+l),this.nearZ=this.height/50,i=new Float64Array(16),t.b6(i,this._fov,this.width/this.height,this.nearZ,this.farZ),i[8]=2*-e.x/this.width,i[9]=2*e.y/this.height,this.projectionMatrix=t.ae(i),t.K(i,i,[1,-1,1]),t.J(i,i,[0,0,-this.cameraToCenterDistance]),t.b7(i,i,this._pitch),t.ad(i,i,this.angle),t.J(i,i,[-r,-n,0]),this.mercatorMatrix=t.K([],i,[this.worldSize,this.worldSize,this.worldSize]),t.K(i,i,[1,1,this._pixelPerMeter]),this.pixelMatrix=t.L(new Float64Array(16),this.labelPlaneMatrix,i),t.J(i,i,[0,0,-this.elevation]),this.modelViewProjectionMatrix=i,this.invModelViewProjectionMatrix=t.as([],i),this.fogMatrix=new Float64Array(16),t.b6(this.fogMatrix,this._fov,this.width/this.height,a,this.farZ),this.fogMatrix[8]=2*-e.x/this.width,this.fogMatrix[9]=2*e.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,[-r,-n,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,i);let g=this.width%2/2,y=this.height%2/2,v=Math.cos(this.angle),x=Math.sin(this.angle),b=r-Math.round(r)+v*g+x*y,_=n-Math.round(n)+v*y+x*g,w=new Float64Array(i);if(t.J(w,w,[b>.5?b-1:b,_>.5?_-1:_,0]),this.alignedModelViewProjectionMatrix=w,i=t.as(new Float64Array(16),this.pixelMatrix),!i)throw new Error("failed to invert matrix");this.pixelMatrixInverse=i,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let e=this.pointCoordinate(new t.P(0,0)),r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.af(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.P(0,e))}getCameraQueryGeometry(e){let r=this.getCameraPoint();if(1===e.length)return[e[0],r];{let n=r.x,i=r.y,a=r.x,o=r.y;for(let t of e)n=Math.min(n,t.x),i=Math.min(i,t.y),a=Math.max(a,t.x),o=Math.max(o,t.y);return[new t.P(n,i),new t.P(a,i),new t.P(a,o),new t.P(n,o),new t.P(n,i)]}}lngLatToCameraDepth(e,r){let n=this.locationCoordinate(e),i=[n.x*this.worldSize,n.y*this.worldSize,r,1];return t.af(i,i,this.modelViewProjectionMatrix),i[2]/i[3]}}function Mn(e,t){let r,n=!1,i=null,a=null,o=()=>{i=null,n&&(e.apply(a,r),i=setTimeout(o,t),n=!1)};return(...e)=>(n=!0,a=this,r=e,i||o(),i)}class Sn{constructor(e){this._getCurrentHash=()=>{let e=window.location.hash.replace("#","");if(this._hashName){let t;return e.split("&").map((e=>e.split("="))).forEach((e=>{e[0]===this._hashName&&(t=e)})),(t&&t[1]||"").split("/")}return e.split("/")},this._onHashChange=()=>{let e=this._getCurrentHash();if(e.length>=3&&!e.some((e=>isNaN(e)))){let t=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(e[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+e[2],+e[1]],zoom:+e[0],bearing:t,pitch:+(e[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let e=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,e)},this._removeHash=()=>{let e=this._getCurrentHash();if(0===e.length)return;let t=e.join("/"),r=t;r.split("&").length>0&&(r=r.split("&")[0]),this._hashName&&(r=`${this._hashName}=${t}`);let n=window.location.hash.replace(r,"");n.startsWith("#&")?n=n.slice(0,1)+n.slice(2):"#"===n&&(n="");let i=window.location.href.replace(/(#.+)?$/,n);i=i.replace("&&","&"),window.history.replaceState(window.history.state,null,i)},this._updateHash=Mn(this._updateHashUnthrottled,300),this._hashName=e&&encodeURIComponent(e)}addTo(e){return this._map=e,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(e){let t=this._map.getCenter(),r=Math.round(100*this._map.getZoom())/100,n=Math.ceil((r*Math.LN2+Math.log(512/360/.5))/Math.LN10),i=Math.pow(10,n),a=Math.round(t.lng*i)/i,o=Math.round(t.lat*i)/i,s=this._map.getBearing(),l=this._map.getPitch(),c="";if(c+=e?`/${a}/${o}/${r}`:`${r}/${o}/${a}`,(s||l)&&(c+="/"+Math.round(10*s)/10),l&&(c+=`/${Math.round(l)}`),this._hashName){let e=this._hashName,t=!1,r=window.location.hash.slice(1).split("&").map((r=>{let n=r.split("=")[0];return n===e?(t=!0,`${n}=${c}`):r})).filter((e=>e));return t||r.push(`${e}=${c}`),`#${r.join("&")}`}return`#${c}`}}let En={linearity:.3,easing:t.b8(0,0,.3,1)},Cn=t.e({deceleration:2500,maxSpeed:1400},En),Ln=t.e({deceleration:20,maxSpeed:1400},En),In=t.e({deceleration:1e3,maxSpeed:360},En),Pn=t.e({deceleration:1e3,maxSpeed:90},En);class zn{constructor(e){this._map=e,this.clear()}clear(){this._inertiaBuffer=[]}record(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:a.now(),settings:e})}_drainInertiaBuffer(){let e=this._inertiaBuffer,t=a.now();for(;e.length>0&&t-e[0].time>160;)e.shift()}_onMoveEnd(e){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let r={zoom:0,bearing:0,pitch:0,pan:new t.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:e}of this._inertiaBuffer)r.zoom+=e.zoomDelta||0,r.bearing+=e.bearingDelta||0,r.pitch+=e.pitchDelta||0,e.panDelta&&r.pan._add(e.panDelta),e.around&&(r.around=e.around),e.pinchAround&&(r.pinchAround=e.pinchAround);let n=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,i={};if(r.pan.mag()){let a=Dn(r.pan.mag(),n,t.e({},Cn,e||{}));i.offset=r.pan.mult(a.amount/r.pan.mag()),i.center=this._map.transform.center,On(i,a)}if(r.zoom){let e=Dn(r.zoom,n,Ln);i.zoom=this._map.transform.zoom+e.amount,On(i,e)}if(r.bearing){let e=Dn(r.bearing,n,In);i.bearing=this._map.transform.bearing+t.ac(e.amount,-179,179),On(i,e)}if(r.pitch){let e=Dn(r.pitch,n,Pn);i.pitch=this._map.transform.pitch+e.amount,On(i,e)}if(i.zoom||i.bearing){let e=void 0===r.pinchAround?r.around:r.pinchAround;i.around=e?this._map.unproject(e):this._map.getCenter()}return this.clear(),t.e(i,{noMoveStart:!0})}}function On(e,t){(!e.duration||e.durationr.unproject(e))),l=a.reduce(((e,t,r,n)=>e.add(t.div(n.length))),new t.P(0,0));super(e,{points:a,point:l,lngLats:s,lngLat:r.unproject(l),originalEvent:n}),this._defaultPrevented=!1}}class Fn extends t.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,t,r){super(e,{originalEvent:r}),this._defaultPrevented=!1}}class Bn{constructor(e,t){this._map=e,this._clickTolerance=t.clickTolerance}reset(){delete this._mousedownPos}wheel(e){return this._firePreventable(new Fn(e.type,this._map,e))}mousedown(e,t){return this._mousedownPos=t,this._firePreventable(new Rn(e.type,this._map,e))}mouseup(e){this._map.fire(new Rn(e.type,this._map,e))}click(e,t){this._mousedownPos&&this._mousedownPos.dist(t)>=this._clickTolerance||this._map.fire(new Rn(e.type,this._map,e))}dblclick(e){return this._firePreventable(new Rn(e.type,this._map,e))}mouseover(e){this._map.fire(new Rn(e.type,this._map,e))}mouseout(e){this._map.fire(new Rn(e.type,this._map,e))}touchstart(e){return this._firePreventable(new jn(e.type,this._map,e))}touchmove(e){this._map.fire(new jn(e.type,this._map,e))}touchend(e){this._map.fire(new jn(e.type,this._map,e))}touchcancel(e){this._map.fire(new jn(e.type,this._map,e))}_firePreventable(e){if(this._map.fire(e),e.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Nn{constructor(e){this._map=e}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(e){this._map.fire(new Rn(e.type,this._map,e))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Rn("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(e){this._delayContextMenu?this._contextMenuEvent=e:this._ignoreContextMenu||this._map.fire(new Rn(e.type,this._map,e)),this._map.listens("contextmenu")&&e.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Un{constructor(e){this._map=e}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(e){return this.transform.pointLocation(t.P.convert(e),this._map.terrain)}}class Vn{constructor(e,t){this._map=e,this._tr=new Un(e),this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=t.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(e,t){this.isEnabled()&&e.shiftKey&&0===e.button&&(o.disableDrag(),this._startPos=this._lastPos=t,this._active=!0)}mousemoveWindow(e,t){if(!this._active)return;let r=t;if(this._lastPos.equals(r)||!this._box&&r.dist(this._startPos)e.fitScreenCoordinates(n,i,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",e)}keydown(e){this._active&&27===e.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",e))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(o.remove(this._box),this._box=null),o.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(e,r){return this._map.fire(new t.k(e,{originalEvent:r}))}}function qn(e,t){if(e.length!==t.length)throw new Error(`The number of touches and points are not equal - touches ${e.length}, points ${t.length}`);let r={};for(let n=0;nthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=function(e){let r=new t.P(0,0);for(let t of e)r._add(t);return r.div(e.length)}(r),this.touches=qn(n,r)))}touchmove(e,t,r){if(this.aborted||!this.centroid)return;let n=qn(r,t);for(let e in this.touches){let t=n[e];(!t||t.dist(this.touches[e])>30)&&(this.aborted=!0)}}touchend(e,t,r){if((!this.centroid||e.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){let e=!this.aborted&&this.centroid;if(this.reset(),e)return e}}}class Gn{constructor(e){this.singleTap=new Hn(e),this.numTaps=e.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(e,t,r){this.singleTap.touchstart(e,t,r)}touchmove(e,t,r){this.singleTap.touchmove(e,t,r)}touchend(e,t,r){let n=this.singleTap.touchend(e,t,r);if(n){let t=e.timeStamp-this.lastTime<500,r=!this.lastTap||this.lastTap.dist(n)<30;if(t&&r||this.reset(),this.count++,this.lastTime=e.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}}}class Wn{constructor(e){this._tr=new Un(e),this._zoomIn=new Gn({numTouches:1,numTaps:2}),this._zoomOut=new Gn({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(e,t,r){this._zoomIn.touchstart(e,t,r),this._zoomOut.touchstart(e,t,r)}touchmove(e,t,r){this._zoomIn.touchmove(e,t,r),this._zoomOut.touchmove(e,t,r)}touchend(e,t,r){let n=this._zoomIn.touchend(e,t,r),i=this._zoomOut.touchend(e,t,r),a=this._tr;return n?(this._active=!0,e.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:a.zoom+1,around:a.unproject(n)},{originalEvent:e})}):i?(this._active=!0,e.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:a.zoom-1,around:a.unproject(i)},{originalEvent:e})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Yn{constructor(e){this._enabled=!!e.enable,this._moveStateManager=e.moveStateManager,this._clickTolerance=e.clickTolerance||1,this._moveFunction=e.move,this._activateOnStart=!!e.activateOnStart,e.assignEvents(this),this.reset()}reset(e){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(e)}_move(...e){let t=this._moveFunction(...e);if(t.bearingDelta||t.pitchDelta||t.around||t.panDelta)return this._active=!0,t}dragStart(e,t){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(e)&&(this._moveStateManager.startMove(e),this._lastPoint=t.length?t[0]:t,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(e,t){if(!this.isEnabled())return;let r=this._lastPoint;if(!r)return;if(e.preventDefault(),!this._moveStateManager.isValidMoveEvent(e))return void this.reset(e);let n=t.length?t[0]:t;return!this._moved&&n.dist(r){e.mousedown=e.dragStart,e.mousemoveWindow=e.dragMove,e.mouseup=e.dragEnd,e.contextmenu=e=>{e.preventDefault()}},Jn=({enable:e,clickTolerance:t,bearingDegreesPerPixelMoved:r=.8})=>{let n=new Zn({checkCorrectEvent:e=>0===o.mouseButton(e)&&e.ctrlKey||2===o.mouseButton(e)});return new Yn({clickTolerance:t,move:(e,t)=>({bearingDelta:(t.x-e.x)*r}),moveStateManager:n,enable:e,assignEvents:Kn})},Qn=({enable:e,clickTolerance:t,pitchDegreesPerPixelMoved:r=-.5})=>{let n=new Zn({checkCorrectEvent:e=>0===o.mouseButton(e)&&e.ctrlKey||2===o.mouseButton(e)});return new Yn({clickTolerance:t,move:(e,t)=>({pitchDelta:(t.y-e.y)*r}),moveStateManager:n,enable:e,assignEvents:Kn})};class ei{constructor(e,t){this._clickTolerance=e.clickTolerance||1,this._map=t,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new t.P(0,0)}_shouldBePrevented(e){return e<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(e,t,r){return this._calculateTransform(e,t,r)}touchmove(e,t,r){if(this._active){if(!this._shouldBePrevented(r.length))return e.preventDefault(),this._calculateTransform(e,t,r);this._map.cooperativeGestures.notifyGestureBlocked("touch_pan",e)}}touchend(e,t,r){this._calculateTransform(e,t,r),this._active&&this._shouldBePrevented(r.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(e,r,n){n.length>0&&(this._active=!0);let i=qn(n,r),a=new t.P(0,0),o=new t.P(0,0),s=0;for(let e in i){let t=i[e],r=this._touches[e];r&&(a._add(t),o._add(t.sub(r)),s++,i[e]=t)}if(this._touches=i,this._shouldBePrevented(s)||!o.mag())return;let l=o.div(s);return this._sum._add(l),this._sum.mag()Math.abs(e.x)}class li extends ti{constructor(e){super(),this._currentTouchCount=0,this._map=e}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(e,t,r){super.touchstart(e,t,r),this._currentTouchCount=r.length}_start(e){this._lastPoints=e,si(e[0].sub(e[1]))&&(this._valid=!1)}_move(e,t,r){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let n=e[0].sub(this._lastPoints[0]),i=e[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid?(this._lastPoints=e,this._active=!0,{pitchDelta:(n.y+i.y)/2*-.5}):void 0}gestureBeginsVertically(e,t,r){if(void 0!==this._valid)return this._valid;let n=e.mag()>=2,i=t.mag()>=2;if(!n&&!i)return;if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;let a=e.y>0==t.y>0;return si(e)&&si(t)&&a}}let ci={panStep:100,bearingStep:15,pitchStep:10};class ui{constructor(e){this._tr=new Un(e);let t=ci;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(e){if(e.altKey||e.ctrlKey||e.metaKey)return;let t=0,r=0,n=0,i=0,a=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?r=-1:(e.preventDefault(),i=-1);break;case 39:e.shiftKey?r=1:(e.preventDefault(),i=1);break;case 38:e.shiftKey?n=1:(e.preventDefault(),a=-1);break;case 40:e.shiftKey?n=-1:(e.preventDefault(),a=1);break;default:return}return this._rotationDisabled&&(r=0,n=0),{cameraAnimation:o=>{let s=this._tr;o.easeTo({duration:300,easeId:"keyboardHandler",easing:hi,zoom:t?Math.round(s.zoom)+t*(e.shiftKey?2:1):s.zoom,bearing:s.bearing+r*this._bearingStep,pitch:s.pitch+n*this._pitchStep,offset:[-i*this._panStep,-a*this._panStep],center:s.center},{originalEvent:e})}}}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 hi(e){return e*(2-e)}let di=4.000244140625;class fi{constructor(e,t){this._onTimeout=e=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(e)},this._map=e,this._tr=new Un(e),this._triggerRenderFrame=t,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(e){this._defaultZoomRate=e}setWheelZoomRate(e){this._wheelZoomRate=e}isEnabled(){return!!this._enabled}isActive(){return!!this._active||void 0!==this._finishTimeout}isZooming(){return!!this._zooming}enable(e){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!e&&"center"===e.around)}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(e){return!!this._map.cooperativeGestures.isEnabled()&&!(e.ctrlKey||this._map.cooperativeGestures.isBypassed(e))}wheel(e){if(!this.isEnabled())return;if(this._shouldBePrevented(e))return void this._map.cooperativeGestures.notifyGestureBlocked("wheel_zoom",e);let t=e.deltaMode===WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,r=a.now(),n=r-(this._lastWheelEventTime||0);this._lastWheelEventTime=r,0!==t&&t%di==0?this._type="wheel":0!==t&&Math.abs(t)<4?this._type="trackpad":n>400?(this._type=null,this._lastValue=t,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(n*t)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,t+=this._lastValue)),e.shiftKey&&t&&(t/=4),this._type&&(this._lastWheelEvent=e,this._delta-=t,this._active||this._start(e)),e.preventDefault()}_start(e){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 r=o.mousePos(this._map.getCanvas(),e),n=this._tr;this._around=r.y>n.transform.height/2-n.transform.getHorizon()?t.N.convert(this._aroundCenter?n.center:n.unproject(r)):t.N.convert(n.center),this._aroundPoint=n.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let e=this._tr.transform;if(0!==this._delta){let t="wheel"===this._type&&Math.abs(this._delta)>di?this._wheelZoomRate:this._defaultZoomRate,r=2/(1+Math.exp(-Math.abs(this._delta*t)));this._delta<0&&0!==r&&(r=1/r);let n="number"==typeof this._targetZoom?e.zoomScale(this._targetZoom):e.scale;this._targetZoom=Math.min(e.maxZoom,Math.max(e.minZoom,e.scaleZoom(n*r))),"wheel"===this._type&&(this._startZoom=e.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let r,n="number"==typeof this._targetZoom?this._targetZoom:e.zoom,i=this._startZoom,o=this._easing,s=!1,l=a.now()-this._lastWheelEventTime;if("wheel"===this._type&&i&&o&&l){let e=Math.min(l/200,1),a=o(e);r=t.y.number(i,n,a),e<1?this._frameId||(this._frameId=!0):s=!0}else r=n,s=!0;return this._active=!0,s&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!s,zoomDelta:r-e.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(e){let r=t.b9;if(this._prevEase){let e=this._prevEase,n=(a.now()-e.start)/e.duration,i=e.easing(n+.01)-e.easing(n),o=.27/Math.sqrt(i*i+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=t.b8(o,s,.25,1)}return this._prevEase={start:a.now(),duration:e,easing:r},r}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class pi{constructor(e,t){this._clickZoom=e,this._tapZoom=t}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 mi{constructor(e){this._tr=new Un(e),this.reset()}reset(){this._active=!1}dblclick(e,t){return e.preventDefault(),{cameraAnimation:r=>{r.easeTo({duration:300,zoom:this._tr.zoom+(e.shiftKey?-1:1),around:this._tr.unproject(t)},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class gi{constructor(){this._tap=new Gn({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(e,t,r){if(!this._swipePoint)if(this._tapTime){let n=t[0],i=e.timeStamp-this._tapTime<500,a=this._tapPoint.dist(n)<30;i&&a?r.length>0&&(this._swipePoint=n,this._swipeTouch=r[0].identifier):this.reset()}else this._tap.touchstart(e,t,r)}touchmove(e,t,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;let n=t[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,e.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(e,t,r)}touchend(e,t,r){if(this._tapTime)this._swipePoint&&0===r.length&&this.reset();else{let n=this._tap.touchend(e,t,r);n&&(this._tapTime=e.timeStamp,this._tapPoint=n)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class yi{constructor(e,t,r){this._el=e,this._mousePan=t,this._touchPan=r}enable(e){this._inertiaOptions=e||{},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 vi{constructor(e,t,r){this._pitchWithRotate=e.pitchWithRotate,this._mouseRotate=t,this._mousePitch=r}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 xi{constructor(e,t,r,n){this._el=e,this._touchZoom=t,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0}enable(e){this._touchZoom.enable(e),this._rotationDisabled||this._touchRotate.enable(e),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 bi{constructor(e,t){this._bypassKey=-1!==navigator.userAgent.indexOf("Mac")?"metaKey":"ctrlKey",this._map=e,this._options=t,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let e=this._map.getCanvasContainer();e.classList.add("maplibregl-cooperative-gestures"),this._container=o.create("div","maplibregl-cooperative-gesture-screen",e);let t=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");"metaKey"===this._bypassKey&&(t=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));let r=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),n=document.createElement("div");n.className="maplibregl-desktop-message",n.textContent=t,this._container.appendChild(n);let i=document.createElement("div");i.className="maplibregl-mobile-message",i.textContent=r,this._container.appendChild(i),this._container.setAttribute("aria-hidden","true")}_destroyUI(){this._container&&(o.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(e){return e[this._bypassKey]}notifyGestureBlocked(e,r){this._enabled&&(this._map.fire(new t.k("cooperativegestureprevented",{gestureType:e,originalEvent:r})),this._container.classList.add("maplibregl-show"),setTimeout((()=>{this._container.classList.remove("maplibregl-show")}),100))}}let _i=e=>e.zoom||e.drag||e.pitch||e.rotate;class wi extends t.k{}function ki(e){return e.panDelta&&e.panDelta.mag()||e.zoomDelta||e.bearingDelta||e.pitchDelta}class Ti{constructor(e,t){this.handleWindowEvent=e=>{this.handleEvent(e,`${e.type}Window`)},this.handleEvent=(e,t)=>{if("blur"===e.type)return void this.stop(!0);this._updatingCamera=!0;let r="renderFrame"===e.type?void 0:e,n={needsRenderFrame:!1},i={},a={},s=e.touches,l=s?this._getMapTouches(s):void 0,c=l?o.touchPos(this._map.getCanvas(),l):o.mousePos(this._map.getCanvas(),e);for(let{handlerName:o,handler:s,allowed:u}of this._handlers){if(!s.isEnabled())continue;let h;this._blockedByActive(a,u,o)?s.reset():s[t||e.type]&&(h=s[t||e.type](e,c,l),this.mergeHandlerResult(n,i,h,o,r),h&&h.needsRenderFrame&&this._triggerRenderFrame()),(h||s.isActive())&&(a[o]=s)}let u={};for(let e in this._previousActiveHandlers)a[e]||(u[e]=r);this._previousActiveHandlers=a,(Object.keys(u).length||ki(n))&&(this._changes.push([n,i,u]),this._triggerRenderFrame()),(Object.keys(a).length||ki(n))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:h}=n;h&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],h(this._map))},this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new zn(e),this._bearingSnap=t.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(t);let r=this._el;this._listeners=[[r,"touchstart",{passive:!0}],[r,"touchmove",{passive:!1}],[r,"touchend",void 0],[r,"touchcancel",void 0],[r,"mousedown",void 0],[r,"mousemove",void 0],[r,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[r,"mouseover",void 0],[r,"mouseout",void 0],[r,"dblclick",void 0],[r,"click",void 0],[r,"keydown",{capture:!1}],[r,"keyup",void 0],[r,"wheel",{passive:!1}],[r,"contextmenu",void 0],[window,"blur",void 0]];for(let[e,t,r]of this._listeners)o.addEventListener(e,t,e===document?this.handleWindowEvent:this.handleEvent,r)}destroy(){for(let[e,t,r]of this._listeners)o.removeEventListener(e,t,e===document?this.handleWindowEvent:this.handleEvent,r)}_addDefaultHandlers(e){let t=this._map,r=t.getCanvasContainer();this._add("mapEvent",new Bn(t,e));let n=t.boxZoom=new Vn(t,e);this._add("boxZoom",n),e.interactive&&e.boxZoom&&n.enable();let i=t.cooperativeGestures=new bi(t,e.cooperativeGestures);this._add("cooperativeGestures",i),e.cooperativeGestures&&i.enable();let a=new Wn(t),s=new mi(t);t.doubleClickZoom=new pi(s,a),this._add("tapZoom",a),this._add("clickZoom",s),e.interactive&&e.doubleClickZoom&&t.doubleClickZoom.enable();let l=new gi;this._add("tapDragZoom",l);let c=t.touchPitch=new li(t);this._add("touchPitch",c),e.interactive&&e.touchPitch&&t.touchPitch.enable(e.touchPitch);let u=Jn(e),h=Qn(e);t.dragRotate=new vi(e,u,h),this._add("mouseRotate",u,["mousePitch"]),this._add("mousePitch",h,["mouseRotate"]),e.interactive&&e.dragRotate&&t.dragRotate.enable();let d=(({enable:e,clickTolerance:t})=>{let r=new Zn({checkCorrectEvent:e=>0===o.mouseButton(e)&&!e.ctrlKey});return new Yn({clickTolerance:t,move:(e,t)=>({around:t,panDelta:t.sub(e)}),activateOnStart:!0,moveStateManager:r,enable:e,assignEvents:Kn})})(e),f=new ei(e,t);t.dragPan=new yi(r,d,f),this._add("mousePan",d),this._add("touchPan",f,["touchZoom","touchRotate"]),e.interactive&&e.dragPan&&t.dragPan.enable(e.dragPan);let p=new oi,m=new ii;t.touchZoomRotate=new xi(r,m,p,l),this._add("touchRotate",p,["touchPan","touchZoom"]),this._add("touchZoom",m,["touchPan","touchRotate"]),e.interactive&&e.touchZoomRotate&&t.touchZoomRotate.enable(e.touchZoomRotate);let g=t.scrollZoom=new fi(t,(()=>this._triggerRenderFrame()));this._add("scrollZoom",g,["mousePan"]),e.interactive&&e.scrollZoom&&t.scrollZoom.enable(e.scrollZoom);let y=t.keyboard=new ui(t);this._add("keyboard",y),e.interactive&&e.keyboard&&t.keyboard.enable(),this._add("blockableMapEvent",new Nn(t))}_add(e,t,r){this._handlers.push({handlerName:e,handler:t,allowed:r}),this._handlersById[e]=t}stop(e){if(!this._updatingCamera){for(let{handler:e}of this._handlers)e.reset();this._inertia.clear(),this._fireEvents({},{},e),this._changes=[]}}isActive(){for(let{handler:e}of this._handlers)if(e.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!_i(this._eventsInProgress)||this.isZooming()}_blockedByActive(e,t,r){for(let n in e)if(n!==r&&(!t||t.indexOf(n)<0))return!0;return!1}_getMapTouches(e){let t=[];for(let r of e)this._el.contains(r.target)&&t.push(r);return t}mergeHandlerResult(e,r,n,i,a){if(!n)return;t.e(e,n);let o={handlerName:i,originalEvent:n.originalEvent||a};void 0!==n.zoomDelta&&(r.zoom=o),void 0!==n.panDelta&&(r.drag=o),void 0!==n.pitchDelta&&(r.pitch=o),void 0!==n.bearingDelta&&(r.rotate=o)}_applyChanges(){let e={},r={},n={};for(let[i,a,o]of this._changes)i.panDelta&&(e.panDelta=(e.panDelta||new t.P(0,0))._add(i.panDelta)),i.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+i.zoomDelta),i.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+i.bearingDelta),i.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+i.pitchDelta),void 0!==i.around&&(e.around=i.around),void 0!==i.pinchAround&&(e.pinchAround=i.pinchAround),i.noInertia&&(e.noInertia=i.noInertia),t.e(r,a),t.e(n,o);this._updateMapTransform(e,r,n),this._changes=[]}_updateMapTransform(e,t,r){let n=this._map,i=n._getTransformForUpdate(),a=n.terrain;if(!(ki(e)||a&&this._terrainMovement))return this._fireEvents(t,r,!0);let{panDelta:o,zoomDelta:s,bearingDelta:l,pitchDelta:c,around:u,pinchAround:h}=e;void 0!==h&&(u=h),n._stop(!0),u=u||n.transform.centerPoint;let d=i.pointLocation(o?u.sub(o):u);l&&(i.bearing+=l),c&&(i.pitch+=c),s&&(i.zoom+=s),a?this._terrainMovement||!t.drag&&!t.zoom?t.drag&&this._terrainMovement?i.center=i.pointLocation(i.centerPoint.sub(o)):i.setLocationAtPoint(d,u):(this._terrainMovement=!0,this._map._elevationFreeze=!0,i.setLocationAtPoint(d,u)):i.setLocationAtPoint(d,u),n._applyUpdatedTransform(i),this._map._update(),e.noInertia||this._inertia.record(e),this._fireEvents(t,r,!0)}_fireEvents(e,r,n){let i=_i(this._eventsInProgress),o=_i(e),s={};for(let t in e){let{originalEvent:r}=e[t];this._eventsInProgress[t]||(s[`${t}start`]=r),this._eventsInProgress[t]=e[t]}!i&&o&&this._fireEvent("movestart",o.originalEvent);for(let e in s)this._fireEvent(e,s[e]);o&&this._fireEvent("move",o.originalEvent);for(let t in e){let{originalEvent:r}=e[t];this._fireEvent(t,r)}let l,c={};for(let e in this._eventsInProgress){let{handlerName:t,originalEvent:n}=this._eventsInProgress[e];this._handlersById[t].isActive()||(delete this._eventsInProgress[e],l=r[t]||n,c[`${e}end`]=l)}for(let e in c)this._fireEvent(e,c[e]);let u=_i(this._eventsInProgress),h=(i||o)&&!u;if(h&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;let e=this._map._getTransformForUpdate();e.recalculateZoom(this._map.terrain),this._map._applyUpdatedTransform(e)}if(n&&h){this._updatingCamera=!0;let e=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),r=e=>0!==e&&-this._bearingSnap{delete this._frameId,this.handleEvent(new wi("renderFrame",{timeStamp:e})),this._applyChanges()}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame())}}class Ai extends t.E{constructor(e,t){super(),this._renderFrameCallback=()=>{let e=Math.min((a.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=e,this._bearingSnap=t.bearingSnap,this.on("moveend",(()=>{delete this._requestedCameraState}))}getCenter(){return new t.N(this.transform.center.lng,this.transform.center.lat)}setCenter(e,t){return this.jumpTo({center:e},t)}panBy(e,r,n){return e=t.P.convert(e).mult(-1),this.panTo(this.transform.center,t.e({offset:e},r),n)}panTo(e,r,n){return this.easeTo(t.e({center:e},r),n)}getZoom(){return this.transform.zoom}setZoom(e,t){return this.jumpTo({zoom:e},t),this}zoomTo(e,r,n){return this.easeTo(t.e({zoom:e},r),n)}zoomIn(e,t){return this.zoomTo(this.getZoom()+1,e,t),this}zoomOut(e,t){return this.zoomTo(this.getZoom()-1,e,t),this}getBearing(){return this.transform.bearing}setBearing(e,t){return this.jumpTo({bearing:e},t),this}getPadding(){return this.transform.padding}setPadding(e,t){return this.jumpTo({padding:e},t),this}rotateTo(e,r,n){return this.easeTo(t.e({bearing:e},r),n)}resetNorth(e,r){return this.rotateTo(0,t.e({duration:1e3},e),r),this}resetNorthPitch(e,r){return this.easeTo(t.e({bearing:0,pitch:0,duration:1e3},e),r),this}snapToNorth(e,t){return Math.abs(this.getBearing()){if(this._zooming&&(i.zoom=t.y.number(o,y,n)),this._rotating&&(i.bearing=t.y.number(s,u,n)),this._pitching&&(i.pitch=t.y.number(l,h,n)),this._padding&&(i.interpolatePadding(c,d,n),p=i.centerPoint.add(f)),this.terrain&&!e.freezeElevation&&this._updateElevation(n),v)i.setLocationAtPoint(v,x);else{let e=i.zoomScale(i.zoom-o),t=y>o?Math.min(2,w):Math.max(.5,w),r=Math.pow(t,1-n),a=i.unproject(b.add(_.mult(n*r)).mult(e));i.setLocationAtPoint(i.renderWorldCopies?a.wrap():a,p)}this._applyUpdatedTransform(i),this._fireMoveEvents(r)}),(t=>{this.terrain&&e.freezeElevation&&this._finalizeElevation(),this._afterEase(r,t)}),e),this}_prepareEase(e,r,n={}){this._moving=!0,r||n.moving||this.fire(new t.k("movestart",e)),this._zooming&&!n.zooming&&this.fire(new t.k("zoomstart",e)),this._rotating&&!n.rotating&&this.fire(new t.k("rotatestart",e)),this._pitching&&!n.pitching&&this.fire(new t.k("pitchstart",e))}_prepareElevation(e){this._elevationCenter=e,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(e,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(e){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let r=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(e<1&&r!==this._elevationTarget){let t=this._elevationTarget-this._elevationStart;this._elevationStart+=e*(t-(r-(t*e+this._elevationStart))/(1-e)),this._elevationTarget=r}this.transform.elevation=t.y.number(this._elevationStart,this._elevationTarget,e)}_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(e){let t=e.getCameraPosition(),r=this.terrain.getElevationForLngLatZoom(t.lngLat,e.zoom);if(t.altitudethis._elevateCameraIfInsideTerrain(e))),this.transformCameraUpdate&&t.push((e=>this.transformCameraUpdate(e))),!t.length)return;let r=e.clone();for(let e of t){let t=r.clone(),{center:n,zoom:i,pitch:a,bearing:o,elevation:s}=e(t);n&&(t.center=n),void 0!==i&&(t.zoom=i),void 0!==a&&(t.pitch=a),void 0!==o&&(t.bearing=o),void 0!==s&&(t.elevation=s),r.apply(t)}this.transform.apply(r)}_fireMoveEvents(e){this.fire(new t.k("move",e)),this._zooming&&this.fire(new t.k("zoom",e)),this._rotating&&this.fire(new t.k("rotate",e)),this._pitching&&this.fire(new t.k("pitch",e))}_afterEase(e,r){if(this._easeId&&r&&this._easeId===r)return;delete this._easeId;let n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new t.k("zoomend",e)),i&&this.fire(new t.k("rotateend",e)),a&&this.fire(new t.k("pitchend",e)),this.fire(new t.k("moveend",e))}flyTo(e,r){var n;if(!e.essential&&a.prefersReducedMotion){let n=t.M(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(n,r)}this.stop(),e=t.e({offset:[0,0],speed:1.2,curve:1.42,easing:t.b9},e);let i=this._getTransformForUpdate(),o=i.zoom,s=i.bearing,l=i.pitch,c=i.padding,u="bearing"in e?this._normalizeBearing(e.bearing,s):s,h="pitch"in e?+e.pitch:l,d="padding"in e?e.padding:i.padding,f=t.P.convert(e.offset),p=i.centerPoint.add(f),m=i.pointLocation(p),{center:g,zoom:y}=i.getConstrained(t.N.convert(e.center||m),null!==(n=e.zoom)&&void 0!==n?n:o);this._normalizeCenter(g,i);let v=i.zoomScale(y-o),x=i.project(m),b=i.project(g).sub(x),_=e.curve,w=Math.max(i.width,i.height),k=w/v,T=b.mag();if("minZoom"in e){let r=t.ac(Math.min(e.minZoom,o,y),i.minZoom,i.maxZoom),n=w/i.zoomScale(r-o);_=Math.sqrt(n/T*2)}let A=_*_;function M(e){let t=(k*k-w*w+(e?-1:1)*A*A*T*T)/(2*(e?k:w)*A*T);return Math.log(Math.sqrt(t*t+1)-t)}function S(e){return(Math.exp(e)-Math.exp(-e))/2}function E(e){return(Math.exp(e)+Math.exp(-e))/2}let C=M(!1),L=function(e){return E(C)/E(C+_*e)},I=function(e){return w*((E(C)*(S(t=C+_*e)/E(t))-S(C))/A)/T;var t},P=(M(!0)-C)/_;if(Math.abs(T)<1e-6||!isFinite(P)){if(Math.abs(w-k)<1e-6)return this.easeTo(e,r);let t=k0,L=e=>Math.exp(t*_*e)}return e.duration="duration"in e?+e.duration:1e3*P/("screenSpeed"in e?+e.screenSpeed/_:+e.speed),e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==u,this._pitching=h!==l,this._padding=!i.isPaddingEqual(d),this._prepareEase(r,!1),this.terrain&&this._prepareElevation(g),this._ease((n=>{let a=n*P,m=1/L(a);i.zoom=1===n?y:o+i.scaleZoom(m),this._rotating&&(i.bearing=t.y.number(s,u,n)),this._pitching&&(i.pitch=t.y.number(l,h,n)),this._padding&&(i.interpolatePadding(c,d,n),p=i.centerPoint.add(f)),this.terrain&&!e.freezeElevation&&this._updateElevation(n);let v=1===n?g:i.unproject(x.add(b.mult(I(a))).mult(m));i.setLocationAtPoint(i.renderWorldCopies?v.wrap():v,p),this._applyUpdatedTransform(i),this._fireMoveEvents(r)}),(()=>{this.terrain&&e.freezeElevation&&this._finalizeElevation(),this._afterEase(r)}),e),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(e,t){var r;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let e=this._onEaseEnd;delete this._onEaseEnd,e.call(this,t)}return e||null===(r=this.handlers)||void 0===r||r.stop(!1),this}_ease(e,t,r){!1===r.animate||0===r.duration?(e(1),t()):(this._easeStart=a.now(),this._easeOptions=r,this._onEaseFrame=e,this._onEaseEnd=t,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(e,r){e=t.b3(e,-180,180);let n=Math.abs(e-r);return Math.abs(e-360-r)180?-360:r<-180?360:0}queryTerrainElevation(e){return this.terrain?this.terrain.getElevationForLngLatZoom(t.N.convert(e),this.transform.tileZoom)-this.transform.elevation:null}}let Mi={compact:!0,customAttribution:'MapLibre'};class Si{constructor(e=Mi){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=e=>{!e||"metadata"!==e.sourceDataType&&"visibility"!==e.sourceDataType&&"style"!==e.dataType&&"terrain"!==e.type||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1===this._compact?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=e}getDefaultPosition(){return"bottom-right"}onAdd(e){return this._map=e,this._compact=this.options.compact,this._container=o.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=o.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=o.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(){o.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(e,t){let r=this._map._getUIString(`AttributionControl.${t}`);e.title=r,e.setAttribute("aria-label",r)}_updateAttributions(){if(!this._map.style)return;let e=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?e=e.concat(this.options.customAttribution.map((e=>"string"!=typeof e?"":e))):"string"==typeof this.options.customAttribution&&e.push(this.options.customAttribution)),this._map.style.stylesheet){let e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id}let t=this._map.style.sourceCaches;for(let r in t){let n=t[r];if(n.used||n.usedForTerrain){let t=n.getSource();t.attribution&&e.indexOf(t.attribution)<0&&e.push(t.attribution)}}e=e.filter((e=>String(e).trim())),e.sort(((e,t)=>e.length-t.length)),e=e.filter(((t,r)=>{for(let n=r+1;n=0)return!1;return!0}));let r=e.join(" | ");r!==this._attribHTML&&(this._attribHTML=r,e.length?(this._innerContainer.innerHTML=r,this._container.classList.remove("maplibregl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty"),this._updateCompact(),this._editLink=null)}}class Ei{constructor(e={}){this._updateCompact=()=>{let e=this._container.children;if(e.length){let t=e[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1!==this._compact&&t.classList.add("maplibregl-compact"):t.classList.remove("maplibregl-compact")}},this.options=e}getDefaultPosition(){return"bottom-left"}onAdd(e){this._map=e,this._compact=this.options&&this.options.compact,this._container=o.create("div","maplibregl-ctrl");let t=o.create("a","maplibregl-ctrl-logo");return t.target="_blank",t.rel="noopener nofollow",t.href="https://maplibre.org/",t.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),t.setAttribute("rel","noopener nofollow"),this._container.appendChild(t),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){o.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}}class Ci{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(e){let t=++this._id;return this._queue.push({callback:e,id:t,cancelled:!1}),t}remove(e){let t=this._currentlyRunning,r=t?this._queue.concat(t):this._queue;for(let t of r)if(t.id===e)return void(t.cancelled=!0)}run(e=0){if(this._currentlyRunning)throw new Error("Attempting to run(), but is already running.");let t=this._currentlyRunning=this._queue;this._queue=[];for(let r of t)if(!r.cancelled&&(r.callback(e),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var Li=t.Y([{name:"a_pos3d",type:"Int16",components:3}]);class Ii extends t.E{constructor(e){super(),this.sourceCache=e,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,e.usedForTerrain=!0,e.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(e,r){this.sourceCache.update(e,r),this._renderableTilesKeys=[];let n={};for(let i of e.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:r}))n[i.key]=!0,this._renderableTilesKeys.push(i.key),this._tiles[i.key]||(i.posMatrix=new Float64Array(16),t.aP(i.posMatrix,0,t.X,0,t.X,0,1),this._tiles[i.key]=new ce(i,this.tileSize));for(let e in this._tiles)n[e]||delete this._tiles[e]}freeRtt(e){for(let t in this._tiles){let r=this._tiles[t];(!e||r.tileID.equals(e)||r.tileID.isChildOf(e)||e.isChildOf(r.tileID))&&(r.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map((e=>this.getTileByID(e)))}getTileByID(e){return this._tiles[e]}getTerrainCoords(e){let r={};for(let n of this._renderableTilesKeys){let i=this._tiles[n].tileID;if(i.canonical.equals(e.canonical)){let i=e.clone();i.posMatrix=new Float64Array(16),t.aP(i.posMatrix,0,t.X,0,t.X,0,1),r[n]=i}else if(i.canonical.isChildOf(e.canonical)){let a=e.clone();a.posMatrix=new Float64Array(16);let o=i.canonical.z-e.canonical.z,s=i.canonical.x-(i.canonical.x>>o<>o<>o;t.aP(a.posMatrix,0,c,0,c,0,1),t.J(a.posMatrix,a.posMatrix,[-s*c,-l*c,0]),r[n]=a}else if(e.canonical.isChildOf(i.canonical)){let a=e.clone();a.posMatrix=new Float64Array(16);let o=e.canonical.z-i.canonical.z,s=e.canonical.x-(e.canonical.x>>o<>o<>o;t.aP(a.posMatrix,0,t.X,0,t.X,0,1),t.J(a.posMatrix,a.posMatrix,[s*c,l*c,0]),t.K(a.posMatrix,a.posMatrix,[1/2**o,1/2**o,0]),r[n]=a}}return r}getSourceTile(e,t){let r=this.sourceCache._source,n=e.overscaledZ-this.deltaZoom;if(n>r.maxzoom&&(n=r.maxzoom),n=r.minzoom&&(!i||!i.dem);)i=this.sourceCache.getTileByID(e.scaledTo(n--).key);return i}tilesAfterTime(e=Date.now()){return Object.values(this._tiles).filter((t=>t.timeAdded>=e))}}class Pi{constructor(e,t,r){this.painter=e,this.sourceCache=new Ii(t),this.options=r,this.exaggeration="number"==typeof r.exaggeration?r.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(e,r,n,i=t.X){var a;if(!(r>=0&&r=0&&ne.canonical.z&&(e.canonical.z>=n?i=e.canonical.z-n:t.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));let a=e.canonical.x-(e.canonical.x>>i<>i<>8<<4|e>>8,r[t+3]=0;let n=new t.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(r.buffer)),i=new w(e,n,e.gl.RGBA,{premultiply:!1});return i.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._coordsTexture=i,i}pointCoordinate(e){this.painter.maybeDrawDepthAndCoords(!0);let r=new Uint8Array(4),n=this.painter.context,i=n.gl,a=Math.round(e.x*this.painter.pixelRatio/devicePixelRatio),o=Math.round(e.y*this.painter.pixelRatio/devicePixelRatio),s=Math.round(this.painter.height/devicePixelRatio);n.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),i.readPixels(a,s-o-1,1,1,i.RGBA,i.UNSIGNED_BYTE,r),n.bindFramebuffer.set(null);let l=r[0]+(r[2]>>4<<8),c=r[1]+((15&r[2])<<8),u=this.coordsIndex[255-r[3]],h=u&&this.sourceCache.getTileByID(u);if(!h)return null;let d=this._coordsTextureSize,f=(1<e.id!==t)),this._recentlyUsed.push(e.id)}stampObject(e){e.stamp=++this._stamp}getOrCreateFreeObject(){for(let e of this._recentlyUsed)if(!this._objects[e].inUse)return this._objects[e];if(this._objects.length>=this._size)throw new Error("No free RenderPool available, call freeAllObjects() required!");let e=this._createObject(this._objects.length);return this._objects.push(e),e}freeObject(e){e.inUse=!1}freeAllObjects(){for(let e of this._objects)this.freeObject(e)}isFull(){return!(this._objects.length!e.inUse))}}let Oi={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class Di{constructor(e,t){this.painter=e,this.terrain=t,this.pool=new zi(e.context,30,t.sourceCache.tileSize*t.qualityFactor)}destruct(){this.pool.destruct()}getTexture(e){return this.pool.getObjectForId(e.rtt[this._stacks.length-1].id).texture}prepareForRender(e,t){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=e._order.filter((r=>!e._layers[r].isHidden(t))),this._coordsDescendingInv={};for(let t in e.sourceCaches){this._coordsDescendingInv[t]={};let r=e.sourceCaches[t].getVisibleCoordinates();for(let e of r){let r=this.terrain.sourceCache.getTerrainCoords(e);for(let e in r)this._coordsDescendingInv[t][e]||(this._coordsDescendingInv[t][e]=[]),this._coordsDescendingInv[t][e].push(r[e])}}this._coordsDescendingInvStr={};for(let t of e._order){let r=e._layers[t],n=r.source;if(Oi[r.type]&&!this._coordsDescendingInvStr[n]){this._coordsDescendingInvStr[n]={};for(let e in this._coordsDescendingInv[n])this._coordsDescendingInvStr[n][e]=this._coordsDescendingInv[n][e].map((e=>e.key)).sort().join()}}for(let e of this._renderableTiles)for(let t in this._coordsDescendingInvStr){let r=this._coordsDescendingInvStr[t][e.tileID.key];r&&r!==e.rttCoords[t]&&(e.rtt=[])}}renderLayer(e){if(e.isHidden(this.painter.transform.zoom))return!1;let r=e.type,n=this.painter,i=this._renderableLayerIds[this._renderableLayerIds.length-1]===e.id;if(Oi[r]&&(this._prevType&&Oi[this._prevType]||this._stacks.push([]),this._prevType=r,this._stacks[this._stacks.length-1].push(e.id),!i))return!0;if(Oi[this._prevType]||Oi[r]&&i){this._prevType=r;let e=this._stacks.length-1,i=this._stacks[e]||[];for(let r of this._renderableTiles){if(this.pool.isFull()&&(vn(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(r),r.rtt[e]){let t=this.pool.getObjectForId(r.rtt[e].id);if(t.stamp===r.rtt[e].stamp){this.pool.useObject(t);continue}}let a=this.pool.getOrCreateFreeObject();this.pool.useObject(a),this.pool.stampObject(a),r.rtt[e]={id:a.id,stamp:a.stamp},n.context.bindFramebuffer.set(a.fbo.framebuffer),n.context.clear({color:t.aM.transparent,stencil:0}),n.currentStencilSource=void 0;for(let e=0;e{e.touchstart=e.dragStart,e.touchmoveWindow=e.dragMove,e.touchend=e.dragEnd},Ui={showCompass:!0,showZoom:!0,visualizePitch:!1};class Vi{constructor(e,r,n=!1){this.mousedown=e=>{this.startMouse(t.e({},e,{ctrlKey:!0,preventDefault:()=>e.preventDefault()}),o.mousePos(this.element,e)),o.addEventListener(window,"mousemove",this.mousemove),o.addEventListener(window,"mouseup",this.mouseup)},this.mousemove=e=>{this.moveMouse(e,o.mousePos(this.element,e))},this.mouseup=e=>{this.mouseRotate.dragEnd(e),this.mousePitch&&this.mousePitch.dragEnd(e),this.offTemp()},this.touchstart=e=>{1!==e.targetTouches.length?this.reset():(this._startPos=this._lastPos=o.touchPos(this.element,e.targetTouches)[0],this.startTouch(e,this._startPos),o.addEventListener(window,"touchmove",this.touchmove,{passive:!1}),o.addEventListener(window,"touchend",this.touchend))},this.touchmove=e=>{1!==e.targetTouches.length?this.reset():(this._lastPos=o.touchPos(this.element,e.targetTouches)[0],this.moveTouch(e,this._lastPos))},this.touchend=e=>{0===e.targetTouches.length&&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 i=e.dragRotate._mouseRotate.getClickTolerance(),a=e.dragRotate._mousePitch.getClickTolerance();this.element=r,this.mouseRotate=Jn({clickTolerance:i,enable:!0}),this.touchRotate=(({enable:e,clickTolerance:t,bearingDegreesPerPixelMoved:r=.8})=>{let n=new $n;return new Yn({clickTolerance:t,move:(e,t)=>({bearingDelta:(t.x-e.x)*r}),moveStateManager:n,enable:e,assignEvents:Ni})})({clickTolerance:i,enable:!0}),this.map=e,n&&(this.mousePitch=Qn({clickTolerance:a,enable:!0}),this.touchPitch=(({enable:e,clickTolerance:t,pitchDegreesPerPixelMoved:r=-.5})=>{let n=new $n;return new Yn({clickTolerance:t,move:(e,t)=>({pitchDelta:(t.y-e.y)*r}),moveStateManager:n,enable:e,assignEvents:Ni})})({clickTolerance:a,enable:!0})),o.addEventListener(r,"mousedown",this.mousedown),o.addEventListener(r,"touchstart",this.touchstart,{passive:!1}),o.addEventListener(r,"touchcancel",this.reset)}startMouse(e,t){this.mouseRotate.dragStart(e,t),this.mousePitch&&this.mousePitch.dragStart(e,t),o.disableDrag()}startTouch(e,t){this.touchRotate.dragStart(e,t),this.touchPitch&&this.touchPitch.dragStart(e,t),o.disableDrag()}moveMouse(e,t){let r=this.map,{bearingDelta:n}=this.mouseRotate.dragMove(e,t)||{};if(n&&r.setBearing(r.getBearing()+n),this.mousePitch){let{pitchDelta:n}=this.mousePitch.dragMove(e,t)||{};n&&r.setPitch(r.getPitch()+n)}}moveTouch(e,t){let r=this.map,{bearingDelta:n}=this.touchRotate.dragMove(e,t)||{};if(n&&r.setBearing(r.getBearing()+n),this.touchPitch){let{pitchDelta:n}=this.touchPitch.dragMove(e,t)||{};n&&r.setPitch(r.getPitch()+n)}}off(){let e=this.element;o.removeEventListener(e,"mousedown",this.mousedown),o.removeEventListener(e,"touchstart",this.touchstart,{passive:!1}),o.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),o.removeEventListener(window,"touchend",this.touchend),o.removeEventListener(e,"touchcancel",this.reset),this.offTemp()}offTemp(){o.enableDrag(),o.removeEventListener(window,"mousemove",this.mousemove),o.removeEventListener(window,"mouseup",this.mouseup),o.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),o.removeEventListener(window,"touchend",this.touchend)}}function qi(e,r,n){let i=new t.N(e.lng,e.lat);if(e=new t.N(e.lng,e.lat),r){let i=new t.N(e.lng-360,e.lat),a=new t.N(e.lng+360,e.lat),o=n.locationPoint(e).distSqr(r);n.locationPoint(i).distSqr(r)180;){let t=n.locationPoint(e);if(t.x>=0&&t.y>=0&&t.x<=n.width&&t.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e.lng!==i.lng&&n.locationPoint(e).y>n.height/2-n.getHorizon()?e:i}let Hi={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 Gi(e,t,r){let n=e.classList;for(let e in Hi)n.remove(`maplibregl-${r}-anchor-${e}`);n.add(`maplibregl-${r}-anchor-${t}`)}class Wi extends t.E{constructor(e){if(super(),this._onKeyPress=e=>{let t=e.code,r=e.charCode||e.keyCode;"Space"!==t&&"Enter"!==t&&32!==r&&13!==r||this.togglePopup()},this._onMapClick=e=>{let t=e.originalEvent.target,r=this._element;this._popup&&(t===r||r.contains(t))&&this.togglePopup()},this._update=e=>{var t;if(!this._map)return;let r=this._map.loaded()&&!this._map.isMoving();("terrain"===e?.type||"render"===e?.type&&!r)&&this._map.once("render",this._update),this._lngLat=this._map.transform.renderWorldCopies?qi(this._lngLat,this._flatPos,this._map.transform):null===(t=this._lngLat)||void 0===t?void 0:t.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 n="";"viewport"===this._rotationAlignment||"auto"===this._rotationAlignment?n=`rotateZ(${this._rotation}deg)`:"map"===this._rotationAlignment&&(n=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let i="";"viewport"===this._pitchAlignment||"auto"===this._pitchAlignment?i="rotateX(0deg)":"map"===this._pitchAlignment&&(i=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||e&&"moveend"!==e.type||(this._pos=this._pos.round()),o.setTransform(this._element,`${Hi[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${i} ${n}`),a.frameAsync(new AbortController).then((()=>{this._updateOpacity(e&&"moveend"===e.type)})).catch((()=>{}))},this._onMove=e=>{if(!this._isDragging){let t=this._clickTolerance||this._map._clickTolerance;this._isDragging=e.point.dist(this._pointerdownPos)>=t}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new t.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),"active"===this._state&&this.fire(new t.k("dragend")),this._state="inactive"},this._addDragHandler=e=>{this._element.contains(e.originalEvent.target)&&(e.preventDefault(),this._positionDelta=e.point.sub(this._pos).add(this._offset),this._pointerdownPos=e.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=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._subpixelPositioning=e&&e.subpixelPositioning||!1,this._isDragging=!1,this._state="inactive",this._rotation=e&&e.rotation||0,this._rotationAlignment=e&&e.rotationAlignment||"auto",this._pitchAlignment=e&&e.pitchAlignment&&"auto"!==e.pitchAlignment?e.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(e?.opacity,e?.opacityWhenCovered),e&&e.element)this._element=e.element,this._offset=t.P.convert(e&&e.offset||[0,0]);else{this._defaultMarker=!0,this._element=o.create("div");let r=o.createNS("http://www.w3.org/2000/svg","svg"),n=41,i=27;r.setAttributeNS(null,"display","block"),r.setAttributeNS(null,"height",`${n}px`),r.setAttributeNS(null,"width",`${i}px`),r.setAttributeNS(null,"viewBox",`0 0 ${i} ${n}`);let a=o.createNS("http://www.w3.org/2000/svg","g");a.setAttributeNS(null,"stroke","none"),a.setAttributeNS(null,"stroke-width","1"),a.setAttributeNS(null,"fill","none"),a.setAttributeNS(null,"fill-rule","evenodd");let s=o.createNS("http://www.w3.org/2000/svg","g");s.setAttributeNS(null,"fill-rule","nonzero");let l=o.createNS("http://www.w3.org/2000/svg","g");l.setAttributeNS(null,"transform","translate(3.0, 29.0)"),l.setAttributeNS(null,"fill","#000000");let c=[{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 e of c){let t=o.createNS("http://www.w3.org/2000/svg","ellipse");t.setAttributeNS(null,"opacity","0.04"),t.setAttributeNS(null,"cx","10.5"),t.setAttributeNS(null,"cy","5.80029008"),t.setAttributeNS(null,"rx",e.rx),t.setAttributeNS(null,"ry",e.ry),l.appendChild(t)}let u=o.createNS("http://www.w3.org/2000/svg","g");u.setAttributeNS(null,"fill",this._color);let h=o.createNS("http://www.w3.org/2000/svg","path");h.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"),u.appendChild(h);let d=o.createNS("http://www.w3.org/2000/svg","g");d.setAttributeNS(null,"opacity","0.25"),d.setAttributeNS(null,"fill","#000000");let f=o.createNS("http://www.w3.org/2000/svg","path");f.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"),d.appendChild(f);let p=o.createNS("http://www.w3.org/2000/svg","g");p.setAttributeNS(null,"transform","translate(6.0, 7.0)"),p.setAttributeNS(null,"fill","#FFFFFF");let m=o.createNS("http://www.w3.org/2000/svg","g");m.setAttributeNS(null,"transform","translate(8.0, 8.0)");let g=o.createNS("http://www.w3.org/2000/svg","circle");g.setAttributeNS(null,"fill","#000000"),g.setAttributeNS(null,"opacity","0.25"),g.setAttributeNS(null,"cx","5.5"),g.setAttributeNS(null,"cy","5.5"),g.setAttributeNS(null,"r","5.4999962");let y=o.createNS("http://www.w3.org/2000/svg","circle");y.setAttributeNS(null,"fill","#FFFFFF"),y.setAttributeNS(null,"cx","5.5"),y.setAttributeNS(null,"cy","5.5"),y.setAttributeNS(null,"r","5.4999962"),m.appendChild(g),m.appendChild(y),s.appendChild(l),s.appendChild(u),s.appendChild(d),s.appendChild(p),s.appendChild(m),r.appendChild(s),r.setAttributeNS(null,"height",n*this._scale+"px"),r.setAttributeNS(null,"width",i*this._scale+"px"),this._element.appendChild(r),this._offset=t.P.convert(e&&e.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",(e=>{e.preventDefault()})),this._element.addEventListener("mousedown",(e=>{e.preventDefault()})),Gi(this._element,this._anchor,"marker"),e&&e.className)for(let t of e.className.split(" "))this._element.classList.add(t);this._popup=null}addTo(e){return this.remove(),this._map=e,this._element.setAttribute("aria-label",e._getUIString("Marker.Title")),e.getCanvasContainer().appendChild(this._element),e.on("move",this._update),e.on("moveend",this._update),e.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),o.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.N.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(e){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),e){if(!("offset"in e.options)){let t=Math.abs(13.5)/Math.SQRT2;e.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[t,-1*(24.6+t)],"bottom-right":[-t,-1*(24.6+t)],left:[13.5,-24.6],right:[-13.5,-24.6]}:this._offset}this._popup=e,this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}setSubpixelPositioning(e){return this._subpixelPositioning=e,this}getPopup(){return this._popup}togglePopup(){let e=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:e?(e.isOpen()?e.remove():(e.setLngLat(this._lngLat),e.addTo(this._map)),this):this}_updateOpacity(e=!1){var r,n;if(null===(r=this._map)||void 0===r||!r.terrain)return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(e)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout((()=>{this._opacityTimeout=null}),100)}let i=this._map,a=i.terrain.depthAtPoint(this._pos),o=i.terrain.getElevationForLngLatZoom(this._lngLat,i.transform.tileZoom);if(i.transform.lngLatToCameraDepth(this._lngLat,o)-a<.006)return void(this._element.style.opacity=this._opacity);let s=-this._offset.y/i.transform._pixelPerMeter,l=Math.sin(i.getPitch()*Math.PI/180)*s,c=i.terrain.depthAtPoint(new t.P(this._pos.x,this._pos.y-this._offset.y)),u=i.transform.lngLatToCameraDepth(this._lngLat,o+l)-c>.006;!(null===(n=this._popup)||void 0===n)&&n.isOpen()&&u&&this._popup.remove(),this._element.style.opacity=u?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(e){return this._offset=t.P.convert(e),this._update(),this}addClassName(e){this._element.classList.add(e)}removeClassName(e){this._element.classList.remove(e)}toggleClassName(e){return this._element.classList.toggle(e)}setDraggable(e){return this._draggable=!!e,this._map&&(e?(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(e){return this._rotation=e||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(e){return this._rotationAlignment=e||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(e){return this._pitchAlignment=e&&"auto"!==e?e:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(e,t){return void 0===e&&void 0===t&&(this._opacity="1",this._opacityWhenCovered="0.2"),void 0!==e&&(this._opacity=e),void 0!==t&&(this._opacityWhenCovered=t),this._map&&this._updateOpacity(!0),this}}let Yi={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},Xi=0,Zi=!1,$i={maxWidth:100,unit:"metric"};function Ki(e,t,r){let n=r&&r.maxWidth||100,i=e._container.clientHeight/2,a=e.unproject([0,i]),o=e.unproject([n,i]),s=a.distanceTo(o);if(r&&"imperial"===r.unit){let r=3.2808*s;r>5280?Ji(t,n,r/5280,e._getUIString("ScaleControl.Miles")):Ji(t,n,r,e._getUIString("ScaleControl.Feet"))}else r&&"nautical"===r.unit?Ji(t,n,s/1852,e._getUIString("ScaleControl.NauticalMiles")):s>=1e3?Ji(t,n,s/1e3,e._getUIString("ScaleControl.Kilometers")):Ji(t,n,s,e._getUIString("ScaleControl.Meters"))}function Ji(e,t,r,n){let i=function(e){let t=Math.pow(10,`${Math.floor(e)}`.length-1),r=e/t;return r=r>=10?10:r>=5?5:r>=3?3:r>=2?2:r>=1?1:function(e){let t=Math.pow(10,Math.ceil(-Math.log(e)/Math.LN10));return Math.round(e*t)/t}(r),t*r}(r);e.style.width=t*(i/r)+"px",e.innerHTML=`${i} ${n}`}let Qi={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",subpixelPositioning:!1},ea=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function ta(e){if(e){if("number"==typeof e){let r=Math.round(Math.abs(e)/Math.SQRT2);return{center:new t.P(0,0),top:new t.P(0,e),"top-left":new t.P(r,r),"top-right":new t.P(-r,r),bottom:new t.P(0,-e),"bottom-left":new t.P(r,-r),"bottom-right":new t.P(-r,-r),left:new t.P(e,0),right:new t.P(-e,0)}}if(e instanceof t.P||Array.isArray(e)){let r=t.P.convert(e);return{center:r,top:r,"top-left":r,"top-right":r,bottom:r,"bottom-left":r,"bottom-right":r,left:r,right:r}}return{center:t.P.convert(e.center||[0,0]),top:t.P.convert(e.top||[0,0]),"top-left":t.P.convert(e["top-left"]||[0,0]),"top-right":t.P.convert(e["top-right"]||[0,0]),bottom:t.P.convert(e.bottom||[0,0]),"bottom-left":t.P.convert(e["bottom-left"]||[0,0]),"bottom-right":t.P.convert(e["bottom-right"]||[0,0]),left:t.P.convert(e.left||[0,0]),right:t.P.convert(e.right||[0,0])}}return ta(new t.P(0,0))}let ra=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=Si,e.BoxZoomHandler=Vn,e.CanvasSource=re,e.CooperativeGesturesHandler=bi,e.DoubleClickZoomHandler=pi,e.DragPanHandler=yi,e.DragRotateHandler=vi,e.EdgeInsets=kn,e.FullscreenControl=class extends t.E{constructor(e={}){super(),this._onFullscreenChange=()=>{var e;let t=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;null!==(e=t?.shadowRoot)&&void 0!==e&&e.fullscreenElement;)t=t.shadowRoot.fullscreenElement;t===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,e&&e.container&&(e.container instanceof HTMLElement?this._container=e.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(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=o.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),this._controlContainer}onRemove(){o.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let e=this._fullscreenButton=o.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);o.create("span","maplibregl-ctrl-icon",e).setAttribute("aria-hidden","true"),e.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let e=this._getTitle();this._fullscreenButton.setAttribute("aria-label",e),this._fullscreenButton.title=e}_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=J,e.GeolocateControl=class extends t.E{constructor(e){super(),this._onSuccess=e=>{if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.k("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("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&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new t.k("geolocate",e)),this._finish()}},this._updateCamera=e=>{let r=new t.N(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,i=this._map.getBearing(),a=t.e({bearing:i},this.options.fitBoundsOptions),o=Y.fromLngLat(r,n);this._map.fitBounds(o,a,{geolocateSource:!0})},this._updateMarker=e=>{if(e){let r=new t.N(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=e.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=e=>{if(this._map){if(this.options.trackUserLocation)if(1===e.code){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 e=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=e,this._geolocateButton.setAttribute("aria-label",e),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&Zi)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new t.k("error",e)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener("contextmenu",(e=>e.preventDefault())),this._geolocateButton=o.create("button","maplibregl-ctrl-geolocate",this._container),o.create("span","maplibregl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",this._geolocateButton.disabled=!0)},this._finishSetupUI=e=>{if(this._map){if(!1===e){t.w("Geolocation support is not available so the GeolocateControl will be disabled.");let e=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=e,this._geolocateButton.setAttribute("aria-label",e)}else{let e=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.disabled=!1,this._geolocateButton.title=e,this._geolocateButton.setAttribute("aria-label",e)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=o.create("div","maplibregl-user-location-dot"),this._userLocationDotMarker=new Wi({element:this._dotElement}),this._circleElement=o.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Wi({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",(e=>{e.geolocateSource||"ACTIVE_LOCK"!==this._watchState||e.originalEvent&&"resize"===e.originalEvent.type||(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({},Yi,e)}onAdd(e){return this._map=e,this._container=o.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),function(){return t._(this,arguments,void 0,(function*(e=!1){if(void 0!==Ri&&!e)return Ri;if(void 0===window.navigator.permissions)return Ri=!!window.navigator.geolocation,Ri;try{Ri="denied"!==(yield window.navigator.permissions.query({name:"geolocation"})).state}catch{Ri=!!window.navigator.geolocation}return Ri}))}().then((e=>this._finishSetupUI(e))),this._container}onRemove(){void 0!==this._geolocationWatchID&&(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(),o.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,Xi=0,Zi=!1}_isOutOfMapMaxBounds(e){let t=this._map.getMaxBounds(),r=e.coords;return t&&(r.longitudet.getEast()||r.latitudet.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 e=this._map.getBounds(),t=e.getSouthEast(),r=e.getNorthEast(),n=t.distanceTo(r),i=Math.ceil(this._accuracy/(n/this._map._container.clientHeight)*2);this._circleElement.style.width=`${i}px`,this._circleElement.style.height=`${i}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":Xi--,Zi=!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("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let e;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),Xi++,Xi>1?(e={maximumAge:6e5,timeout:0},Zi=!0):(e=this.options.positionOptions,Zi=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}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=Sn,e.ImageSource=ee,e.KeyboardHandler=ui,e.LngLatBounds=Y,e.LogoControl=Ei,e.Map=class extends Ai{constructor(e){t.bf.mark(t.bg.create);let r=Object.assign(Object.assign({},Bi),e);if(null!=r.minZoom&&null!=r.maxZoom&&r.minZoom>r.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=r.minPitch&&null!=r.maxPitch&&r.minPitch>r.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=r.minPitch&&r.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=r.maxPitch&&r.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(super(new An(r.minZoom,r.maxZoom,r.minPitch,r.maxPitch,r.renderWorldCopies),{bearingSnap:r.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new Ci,this._controls=[],this._mapId=t.a4(),this._contextLost=e=>{e.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new t.k("webglcontextlost",{originalEvent:e}))},this._contextRestored=e=>{this._setupPainter(),this.resize(),this._update(),this.fire(new t.k("webglcontextrestored",{originalEvent:e}))},this._onMapScroll=e=>{if(e.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=r.interactive,this._maxTileCacheSize=r.maxTileCacheSize,this._maxTileCacheZoomLevels=r.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=!0===r.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=!0===r.preserveDrawingBuffer,this._antialias=!0===r.antialias,this._trackResize=!0===r.trackResize,this._bearingSnap=r.bearingSnap,this._refreshExpiredTiles=!0===r.refreshExpiredTiles,this._fadeDuration=r.fadeDuration,this._crossSourceCollisions=!0===r.crossSourceCollisions,this._collectResourceTiming=!0===r.collectResourceTiming,this._locale=Object.assign(Object.assign({},ji),r.locale),this._clickTolerance=r.clickTolerance,this._overridePixelRatio=r.pixelRatio,this._maxCanvasSize=r.maxCanvasSize,this.transformCameraUpdate=r.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=!0===r.cancelPendingTileRequestsWhileZooming,this._imageQueueHandle=f.addThrottleControl((()=>this.isMoving())),this._requestManager=new p(r.transformRequest),"string"==typeof r.container){if(this._container=document.getElementById(r.container),!this._container)throw new Error(`Container '${r.container}' not found.`)}else{if(!(r.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=r.container}if(r.maxBounds&&this.setMaxBounds(r.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 e=!1,t=Mn((e=>{this._trackResize&&!this._removed&&(this.resize(e),this.redraw())}),50);this._resizeObserver=new ResizeObserver((r=>{e?t(r):e=!0})),this._resizeObserver.observe(this._container)}this.handlers=new Ti(this,r),this._hash=r.hash&&new Sn("string"==typeof r.hash&&r.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:r.center,zoom:r.zoom,bearing:r.bearing,pitch:r.pitch}),r.bounds&&(this.resize(),this.fitBounds(r.bounds,t.e({},r.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=r.localIdeographFontFamily,this._validateStyle=r.validateStyle,r.style&&this.setStyle(r.style,{localIdeographFontFamily:r.localIdeographFontFamily}),r.attributionControl&&this.addControl(new Si("boolean"==typeof r.attributionControl?void 0:r.attributionControl)),r.maplibreLogo&&this.addControl(new Ei,r.logoPosition),this.on("style.load",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)})),this.on("data",(e=>{this._update("style"===e.dataType),this.fire(new t.k(`${e.dataType}data`,e))})),this.on("dataloading",(e=>{this.fire(new t.k(`${e.dataType}dataloading`,e))})),this.on("dataabort",(e=>{this.fire(new t.k("sourcedataabort",e))}))}_getMapId(){return this._mapId}addControl(e,r){if(void 0===r&&(r=e.getDefaultPosition?e.getDefaultPosition():"top-right"),!e||!e.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 n=e.onAdd(this);this._controls.push(e);let i=this._controlPositions[r];return-1!==r.indexOf("bottom")?i.insertBefore(n,i.firstChild):i.appendChild(n),this}removeControl(e){if(!e||!e.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 r=this._controls.indexOf(e);return r>-1&&this._controls.splice(r,1),e.onRemove(this),this}hasControl(e){return this._controls.indexOf(e)>-1}calculateCameraOptionsFromTo(e,t,r,n){return null==n&&this.terrain&&(n=this.terrain.getElevationForLngLatZoom(r,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(e,t,r,n)}resize(e){var r;let n=this._containerDimensions(),i=n[0],a=n[1],o=this._getClampedPixelRatio(i,a);if(this._resizeCanvas(i,a,o),this.painter.resize(i,a,o),this.painter.overLimit()){let e=this.painter.context.gl;this._maxCanvasSize=[e.drawingBufferWidth,e.drawingBufferHeight];let t=this._getClampedPixelRatio(i,a);this._resizeCanvas(i,a,t),this.painter.resize(i,a,t)}this.transform.resize(i,a),null===(r=this._requestedCameraState)||void 0===r||r.resize(i,a);let s=!this._moving;return s&&(this.stop(),this.fire(new t.k("movestart",e)).fire(new t.k("move",e))),this.fire(new t.k("resize",e)),s&&this.fire(new t.k("moveend",e)),this}_getClampedPixelRatio(e,t){let{0:r,1:n}=this._maxCanvasSize,i=this.getPixelRatio(),a=e*i,o=t*i;return Math.min(a>r?r/a:1,o>n?n/o:1)*i}getPixelRatio(){var e;return null!==(e=this._overridePixelRatio)&&void 0!==e?e:devicePixelRatio}setPixelRatio(e){this._overridePixelRatio=e,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(e){return this.transform.setMaxBounds(Y.convert(e)),this._update()}setMinZoom(e){if((e=e??-2)>=-2&&e<=this.transform.maxZoom)return this.transform.minZoom=e,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=e,this._update(),this.getZoom()>e&&this.setZoom(e),this;throw new Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(e){if((e=e??0)<0)throw new Error("minPitch must be greater than or equal to 0");if(e>=0&&e<=this.transform.maxPitch)return this.transform.minPitch=e,this._update(),this.getPitch()85)throw new Error("maxPitch must be less than or equal to 85");if(e>=this.transform.minPitch)return this.transform.maxPitch=e,this._update(),this.getPitch()>e&&this.setPitch(e),this;throw new Error("maxPitch must be greater than the current minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(e){return this.transform.renderWorldCopies=e,this._update()}project(e){return this.transform.locationPoint(t.N.convert(e),this.style&&this.terrain)}unproject(e){return this.transform.pointLocation(t.P.convert(e),this.terrain)}isMoving(){var e;return this._moving||(null===(e=this.handlers)||void 0===e?void 0:e.isMoving())}isZooming(){var e;return this._zooming||(null===(e=this.handlers)||void 0===e?void 0:e.isZooming())}isRotating(){var e;return this._rotating||(null===(e=this.handlers)||void 0===e?void 0:e.isRotating())}_createDelegatedListener(e,t,r){if("mouseenter"===e||"mouseover"===e){let n=!1;return{layers:t,listener:r,delegates:{mousemove:i=>{let a=t.filter((e=>this.getLayer(e))),o=0!==a.length?this.queryRenderedFeatures(i.point,{layers:a}):[];o.length?n||(n=!0,r.call(this,new Rn(e,this,i.originalEvent,{features:o}))):n=!1},mouseout:()=>{n=!1}}}}if("mouseleave"===e||"mouseout"===e){let n=!1;return{layers:t,listener:r,delegates:{mousemove:i=>{let a=t.filter((e=>this.getLayer(e)));(0!==a.length?this.queryRenderedFeatures(i.point,{layers:a}):[]).length?n=!0:n&&(n=!1,r.call(this,new Rn(e,this,i.originalEvent)))},mouseout:t=>{n&&(n=!1,r.call(this,new Rn(e,this,t.originalEvent)))}}}}{let n=e=>{let n=t.filter((e=>this.getLayer(e))),i=0!==n.length?this.queryRenderedFeatures(e.point,{layers:n}):[];i.length&&(e.features=i,r.call(this,e),delete e.features)};return{layers:t,listener:r,delegates:{[e]:n}}}}_saveDelegatedListener(e,t){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(t)}_removeDelegatedListener(e,t,r){if(!this._delegatedListeners||!this._delegatedListeners[e])return;let n=this._delegatedListeners[e];for(let e=0;et.includes(e)))){for(let e in i.delegates)this.off(e,i.delegates[e]);return void n.splice(e,1)}}}on(e,t,r){if(void 0===r)return super.on(e,t);let n=this._createDelegatedListener(e,"string"==typeof t?[t]:t,r);this._saveDelegatedListener(e,n);for(let e in n.delegates)this.on(e,n.delegates[e]);return this}once(e,t,r){if(void 0===r)return super.once(e,t);let n="string"==typeof t?[t]:t,i=this._createDelegatedListener(e,n,r);for(let t in i.delegates){let a=i.delegates[t];i.delegates[t]=(...t)=>{this._removeDelegatedListener(e,n,r),a(...t)}}this._saveDelegatedListener(e,i);for(let e in i.delegates)this.once(e,i.delegates[e]);return this}off(e,t,r){return void 0===r?super.off(e,t):(this._removeDelegatedListener(e,"string"==typeof t?[t]:t,r),this)}queryRenderedFeatures(e,r){if(!this.style)return[];let n,i=e instanceof t.P||Array.isArray(e),a=i?e:[[0,0],[this.transform.width,this.transform.height]];if(r=r||(i?{}:e)||{},a instanceof t.P||"number"==typeof a[0])n=[t.P.convert(a)];else{let e=t.P.convert(a[0]),r=t.P.convert(a[1]);n=[e,new t.P(r.x,e.y),r,new t.P(e.x,r.y),e]}return this.style.queryRenderedFeatures(n,r,this.transform)}querySourceFeatures(e,t){return this.style.querySourceFeatures(e,t)}setStyle(e,r){return!1!==(r=t.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},r)).diff&&r.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&e?(this._diffStyle(e,r),this):(this._localIdeographFontFamily=r.localIdeographFontFamily,this._updateStyle(e,r))}setTransformRequest(e){return this._requestManager.setTransformRequest(e),this}_getUIString(e){let t=this._locale[e];if(null==t)throw new Error(`Missing UI string '${e}'`);return t}_updateStyle(e,t){if(t.transformStyle&&this.style&&!this.style._loaded)return void this.style.once("style.load",(()=>this._updateStyle(e,t)));let r=this.style&&t.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!e)),e?(this.style=new ft(this,t||{}),this.style.setEventedParent(this,{style:this.style}),"string"==typeof e?this.style.loadURL(e,t,r):this.style.loadJSON(e,t,r),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new ft(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(e,r){if("string"==typeof e){let n=this._requestManager.transformRequest(e,"Style");t.h(n,new AbortController).then((e=>{this._updateDiff(e.data,r)})).catch((e=>{e&&this.fire(new t.j(e))}))}else"object"==typeof e&&this._updateDiff(e,r)}_updateDiff(e,r){try{this.style.setState(e,r)&&this._update(!0)}catch(n){t.w(`Unable to perform style diff: ${n.message||n.error||n}. Rebuilding the style from scratch.`),this._updateStyle(e,r)}}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(e,t){return this._lazyInitEmptyStyle(),this.style.addSource(e,t),this._update(!0)}isSourceLoaded(e){let r=this.style&&this.style.sourceCaches[e];if(void 0!==r)return r.loaded();this.fire(new t.j(new Error(`There is no source with ID '${e}'`)))}setTerrain(e){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),e){let r=this.style.sourceCaches[e.source];if(!r)throw new Error(`cannot load terrain, because there exists no source with ID: ${e.source}`);null===this.terrain&&r.reload();for(let r in this.style._layers){let n=this.style._layers[r];"hillshade"===n.type&&n.source===e.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 Pi(this.painter,r,e),this.painter.renderToTexture=new Di(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=t=>{"style"===t.dataType?this.terrain.sourceCache.freeRtt():"source"===t.dataType&&t.tile&&(t.sourceId!==e.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(t.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:e})),this}getTerrain(){var e,t;return null!==(t=null===(e=this.terrain)||void 0===e?void 0:e.options)&&void 0!==t?t:null}areTilesLoaded(){let e=this.style&&this.style.sourceCaches;for(let t in e){let r=e[t]._tiles;for(let e in r){let t=r[e];if("loaded"!==t.state&&"errored"!==t.state)return!1}}return!0}removeSource(e){return this.style.removeSource(e),this._update(!0)}getSource(e){return this.style.getSource(e)}addImage(e,r,n={}){let{pixelRatio:i=1,sdf:o=!1,stretchX:s,stretchY:l,content:c,textFitWidth:u,textFitHeight:h}=n;if(this._lazyInitEmptyStyle(),!(r instanceof HTMLImageElement||t.b(r))){if(void 0===r.width||void 0===r.height)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:n,height:a,data:d}=r,f=r;return this.style.addImage(e,{data:new t.R({width:n,height:a},new Uint8Array(d)),pixelRatio:i,stretchX:s,stretchY:l,content:c,textFitWidth:u,textFitHeight:h,sdf:o,version:0,userImage:f}),f.onAdd&&f.onAdd(this,e),this}}{let{width:n,height:d,data:f}=a.getImageData(r);this.style.addImage(e,{data:new t.R({width:n,height:d},f),pixelRatio:i,stretchX:s,stretchY:l,content:c,textFitWidth:u,textFitHeight:h,sdf:o,version:0})}}updateImage(e,r){let n=this.style.getImage(e);if(!n)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 i=r instanceof HTMLImageElement||t.b(r)?a.getImageData(r):r,{width:o,height:s,data:l}=i;if(void 0===o||void 0===s)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(o!==n.data.width||s!==n.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 c=!(r instanceof HTMLImageElement||t.b(r));return n.data.replace(l,c),this.style.updateImage(e,n),this}getImage(e){return this.style.getImage(e)}hasImage(e){return e?!!this.style.getImage(e):(this.fire(new t.j(new Error("Missing required image id"))),!1)}removeImage(e){this.style.removeImage(e)}loadImage(e){return f.getImage(this._requestManager.transformRequest(e,"Image"),new AbortController)}listImages(){return this.style.listImages()}addLayer(e,t){return this._lazyInitEmptyStyle(),this.style.addLayer(e,t),this._update(!0)}moveLayer(e,t){return this.style.moveLayer(e,t),this._update(!0)}removeLayer(e){return this.style.removeLayer(e),this._update(!0)}getLayer(e){return this.style.getLayer(e)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(e,t,r){return this.style.setLayerZoomRange(e,t,r),this._update(!0)}setFilter(e,t,r={}){return this.style.setFilter(e,t,r),this._update(!0)}getFilter(e){return this.style.getFilter(e)}setPaintProperty(e,t,r,n={}){return this.style.setPaintProperty(e,t,r,n),this._update(!0)}getPaintProperty(e,t){return this.style.getPaintProperty(e,t)}setLayoutProperty(e,t,r,n={}){return this.style.setLayoutProperty(e,t,r,n),this._update(!0)}getLayoutProperty(e,t){return this.style.getLayoutProperty(e,t)}setGlyphs(e,t={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(e,t),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(e,t,r={}){return this._lazyInitEmptyStyle(),this.style.addSprite(e,t,r,(e=>{e||this._update(!0)})),this}removeSprite(e){return this._lazyInitEmptyStyle(),this.style.removeSprite(e),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(e,t={}){return this._lazyInitEmptyStyle(),this.style.setSprite(e,t,(e=>{e||this._update(!0)})),this}setLight(e,t={}){return this._lazyInitEmptyStyle(),this.style.setLight(e,t),this._update(!0)}getLight(){return this.style.getLight()}setSky(e){return this._lazyInitEmptyStyle(),this.style.setSky(e),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(e,t){return this.style.setFeatureState(e,t),this._update()}removeFeatureState(e,t){return this.style.removeFeatureState(e,t),this._update()}getFeatureState(e){return this.style.getFeatureState(e)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let e=0,t=0;return this._container&&(e=this._container.clientWidth||400,t=this._container.clientHeight||300),[e,t]}_setupContainer(){let e=this._container;e.classList.add("maplibregl-map");let t=this._canvasContainer=o.create("div","maplibregl-canvas-container",e);this._interactive&&t.classList.add("maplibregl-interactive"),this._canvas=o.create("canvas","maplibregl-canvas",t),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 r=this._containerDimensions(),n=this._getClampedPixelRatio(r[0],r[1]);this._resizeCanvas(r[0],r[1],n);let i=this._controlContainer=o.create("div","maplibregl-control-container",e),a=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach((e=>{a[e]=o.create("div",`maplibregl-ctrl-${e} `,i)})),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(e,t,r){this._canvas.width=Math.floor(r*e),this._canvas.height=Math.floor(r*t),this._canvas.style.width=`${e}px`,this._canvas.style.height=`${t}px`}_setupPainter(){let e={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},t=null;this._canvas.addEventListener("webglcontextcreationerror",(r=>{t={requestedAttributes:e},r&&(t.statusMessage=r.statusMessage,t.type=r.type)}),{once:!0});let r=this._canvas.getContext("webgl2",e)||this._canvas.getContext("webgl",e);if(!r){let e="Failed to initialize WebGL";throw t?(t.message=e,new Error(JSON.stringify(t))):new Error(e)}this.painter=new bn(r,this.transform),c.testSupport(r)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(e){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||e,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(e){return this._update(),this._renderTaskQueue.add(e)}_cancelRenderFrame(e){this._renderTaskQueue.remove(e)}_render(e){let r=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),this._removed)return;let n=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let e=this.transform.zoom,i=a.now();this.style.zoomHistory.update(e,i);let o=new t.z(e,{now:i,fadeDuration:r,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),s=o.crossFadingFactor();1===s&&s===this._crossFadingFactor||(n=!0,this._crossFadingFactor=s),this.style.update(o)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.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,r,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:r,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()||n)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let i=this._sourcesDirty||this._styleDirty||this._placementDirty;return i||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new t.k("idle")),!this._loaded||this._fullyLoaded||i||(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 e;this._hash&&this._hash.remove();for(let e of this._controls)e.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),f.removeThrottleControl(this._imageQueueHandle),null===(e=this._resizeObserver)||void 0===e||e.disconnect();let r=this.painter.context.gl.getExtension("WEBGL_lose_context");r?.loseContext&&r.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),o.remove(this._canvasContainer),o.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,a.frameAsync(this._frameRequest).then((e=>{t.bf.frame(e),this._frameRequest=null,this._render(e)})).catch((()=>{})))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(e){this._showTileBoundaries!==e&&(this._showTileBoundaries=e,this._update())}get showPadding(){return!!this._showPadding}set showPadding(e){this._showPadding!==e&&(this._showPadding=e,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(e){this._showCollisionBoxes!==e&&(this._showCollisionBoxes=e,e?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(e){this._showOverdrawInspector!==e&&(this._showOverdrawInspector=e,this._update())}get repaint(){return!!this._repaint}set repaint(e){this._repaint!==e&&(this._repaint=e,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(e){this._vertices=e,this._update()}get version(){return Fi}getCameraTargetElevation(){return this.transform.elevation}},e.MapMouseEvent=Rn,e.MapTouchEvent=jn,e.MapWheelEvent=Fn,e.Marker=Wi,e.NavigationControl=class{constructor(e){this._updateZoomButtons=()=>{let e=this._map.getZoom(),t=e===this._map.getMaxZoom(),r=e===this._map.getMinZoom();this._zoomInButton.disabled=t,this._zoomOutButton.disabled=r,this._zoomInButton.setAttribute("aria-disabled",t.toString()),this._zoomOutButton.setAttribute("aria-disabled",r.toString())},this._rotateCompassArrow=()=>{let e=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=e},this._setButtonTitle=(e,t)=>{let r=this._map._getUIString(`NavigationControl.${t}`);e.title=r,e.setAttribute("aria-label",r)},this.options=t.e({},Ui,e),this._container=o.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",(e=>e.preventDefault())),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",(e=>this._map.zoomIn({},{originalEvent:e}))),o.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",(e=>this._map.zoomOut({},{originalEvent:e}))),o.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",(e=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:e}):this._map.resetNorth({},{originalEvent:e})})),this._compassIcon=o.create("span","maplibregl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}onAdd(e){return this._map=e,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 Vi(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){o.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(e,t){let r=o.create("button",e,this._container);return r.type="button",r.addEventListener("click",t),r}},e.Popup=class extends t.E{constructor(e){super(),this.remove=()=>(this._content&&o.remove(this._content),this._container&&(o.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=e=>{this._update(e.point)},this._onMouseMove=e=>{this._update(e.point)},this._onDrag=e=>{this._update(e.point)},this._update=e=>{var t;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=o.create("div","maplibregl-popup",this._map.getContainer()),this._tip=o.create("div","maplibregl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className)for(let e of this.options.className.split(" "))this._container.classList.add(e);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?qi(this._lngLat,this._flatPos,this._map.transform):null===(t=this._lngLat)||void 0===t?void 0:t.wrap(),this._trackPointer&&!e)return;let r=this._flatPos=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&e?e:this._map.transform.locationPoint(this._lngLat));let n=this.options.anchor,i=ta(this.options.offset);if(!n){let e,t=this._container.offsetWidth,a=this._container.offsetHeight;e=r.y+i.bottom.ythis._map.transform.height-a?["bottom"]:[],r.xthis._map.transform.width-t/2&&e.push("right"),n=0===e.length?"bottom":e.join("-")}let a=r.add(i[n]);this.options.subpixelPositioning||(a=a.round()),o.setTransform(this._container,`${Hi[n]} translate(${a.x}px,${a.y}px)`),Gi(this._container,n,"popup")},this._onClose=()=>{this.remove()},this.options=t.e(Object.create(Qi),e)}addTo(e){return this._map&&this.remove(),this._map=e,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(e){return this._lngLat=t.N.convert(e),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(e){return this.setDOMContent(document.createTextNode(e))}setHTML(e){let t,r=document.createDocumentFragment(),n=document.createElement("body");for(n.innerHTML=e;t=n.firstChild,t;)r.appendChild(t);return this.setDOMContent(r)}getMaxWidth(){var e;return null===(e=this._container)||void 0===e?void 0:e.style.maxWidth}setMaxWidth(e){return this.options.maxWidth=e,this._update(),this}setDOMContent(e){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=o.create("div","maplibregl-popup-content",this._container);return this._content.appendChild(e),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(e){return this._container&&this._container.classList.add(e),this}removeClassName(e){return this._container&&this._container.classList.remove(e),this}setOffset(e){return this.options.offset=e,this._update(),this}toggleClassName(e){if(this._container)return this._container.classList.toggle(e)}setSubpixelPositioning(e){this.options.subpixelPositioning=e}_createCloseButton(){this.options.closeButton&&(this._closeButton=o.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 e=this._container.querySelector(ea);e&&e.focus()}},e.RasterDEMTileSource=K,e.RasterTileSource=$,e.ScaleControl=class{constructor(e){this._onMove=()=>{Ki(this._map,this._container,this.options)},this.setUnit=e=>{this.options.unit=e,Ki(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},$i),e)}getDefaultPosition(){return"bottom-left"}onAdd(e){return this._map=e,this._container=o.create("div","maplibregl-ctrl maplibregl-ctrl-scale",e.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){o.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}},e.ScrollZoomHandler=fi,e.Style=ft,e.TerrainControl=class{constructor(e){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=e}onAdd(e){return this._map=e,this._container=o.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._terrainButton=o.create("button","maplibregl-ctrl-terrain",this._container),o.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(){o.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}},e.TwoFingersTouchPitchHandler=li,e.TwoFingersTouchRotateHandler=oi,e.TwoFingersTouchZoomHandler=ii,e.TwoFingersTouchZoomRotateHandler=xi,e.VectorTileSource=Z,e.VideoSource=te,e.addSourceType=(e,r)=>t._(void 0,void 0,void 0,(function*(){if(ie(e))throw new Error(`A source type called "${e}" already exists.`);var t;t=r,ne[e]=t})),e.clearPrewarmedResources=function(){let e=j;e&&(e.isPreloaded()&&1===e.numActive()?(e.release(D),j=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 le().getRTLTextPluginStatus()},e.getVersion=function(){return ra},e.getWorkerCount=function(){return R.workerCount},e.getWorkerUrl=function(){return t.a.WORKER_URL},e.importScriptInWorkers=function(e){return V().broadcast("IS",e)},e.prewarm=function(){N().acquire(D)},e.setMaxParallelImageRequests=function(e){t.a.MAX_PARALLEL_IMAGE_REQUESTS=e},e.setRTLTextPlugin=function(e,t){return le().setRTLTextPlugin(e,t)},e.setWorkerCount=function(e){R.workerCount=e},e.setWorkerUrl=function(e){t.a.WORKER_URL=e}})),e},"object"==typeof e&&typeof t<"u"?t.exports=n():(r=typeof globalThis<"u"?globalThis:r||self).maplibregl=n()}}),hw=m({"src/plots/map/layers.js"(e,t){var r=dr(),n=Ir().sanitizeHTML,i=iw(),a=J_();function o(e,t){this.subplot=e,this.uid=e.uid+"-"+t,this.index=t,this.idSource="source-"+this.uid,this.idLayer=a.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var s=o.prototype;function l(e){if(!e.visible)return!1;var t=e.source;if(Array.isArray(t)&&t.length>0){for(var n=0;n0}function c(e){var t={},n={};switch(e.type){case"circle":r.extendFlat(n,{"circle-radius":e.circle.radius,"circle-color":e.color,"circle-opacity":e.opacity});break;case"line":r.extendFlat(n,{"line-width":e.line.width,"line-color":e.color,"line-opacity":e.opacity,"line-dasharray":e.line.dash});break;case"fill":r.extendFlat(n,{"fill-color":e.color,"fill-outline-color":e.fill.outlinecolor,"fill-opacity":e.opacity});break;case"symbol":var a=e.symbol,o=i(a.textposition,a.iconsize);r.extendFlat(t,{"icon-image":a.icon,"icon-size":a.iconsize/10,"text-field":a.text,"text-size":a.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset,"symbol-placement":a.placement}),r.extendFlat(n,{"icon-color":e.color,"text-color":a.textfont.color,"text-opacity":e.opacity});break;case"raster":r.extendFlat(n,{"raster-fade-duration":0,"raster-opacity":e.opacity})}return{layout:t,paint:n}}s.update=function(e){this.visible?this.needsNewImage(e)?this.updateImage(e):this.needsNewSource(e)?(this.removeLayer(),this.updateSource(e),this.updateLayer(e)):this.needsNewLayer(e)?this.updateLayer(e):this.updateStyle(e):(this.updateSource(e),this.updateLayer(e)),this.visible=l(e)},s.needsNewImage=function(e){return this.subplot.map.getSource(this.idSource)&&"image"===this.sourceType&&"image"===e.sourcetype&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))},s.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type},s.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},s.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]},s.updateImage=function(e){this.subplot.map.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var t=this.findFollowingMapLayerId(this.lookupBelow());null!==t&&this.subplot.map.moveLayer(this.idLayer,t)},s.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,l(e)){var r=function(e){var t,r=e.sourcetype,i=e.source,a={type:r};return"geojson"===r?t="data":"vector"===r?t="string"==typeof i?"url":"tiles":"raster"===r?(t="tiles",a.tileSize=256):"image"===r&&(t="url",a.coordinates=e.coordinates),a[t]=i,e.sourceattribution&&(a.attribution=n(e.sourceattribution)),a}(e);t.addSource(this.idSource,r)}},s.findFollowingMapLayerId=function(e){if("traces"===e)for(var t=this.subplot.getMapLayers(),r=0;r1)for(r=0;r-1&&g(t.originalEvent,n,[r.xaxis],[r.yaxis],r.id,e),i.indexOf("event")>-1&&l.click(n,t.originalEvent)}}},b.updateFx=function(e){var t=this,r=t.map,i=t.gd;if(!t.isStatic){var a,o=e.dragmode;a=function(e,r){r.isRect?(e.range={})[t.id]=[c([r.xmin,r.ymin]),c([r.xmax,r.ymax])]:(e.lassoPoints={})[t.id]=r.map(c)};var l=t.dragOptions;t.dragOptions=n.extendDeep(l||{},{dragmode:e.dragmode,element:t.div,gd:i,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:a},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off("click",t.onClickInPanHandler),h(o)||u(o)?(r.dragPan.disable(),r.on("zoomstart",t.clearOutline),t.dragOptions.prepFn=function(e,r,n){f(e,r,n,t.dragOptions,o)},s.init(t.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",t.clearOutline),t.div.onmousedown=null,t.div.ontouchstart=null,t.div.removeEventListener("touchstart",t.div._ontouchstart),t.onClickInPanHandler=t.onClickInPanFn(t.dragOptions),r.on("click",t.onClickInPanHandler))}function c(e){var r=t.map.unproject(e);return[r.lng,r.lat]}},b.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+"px",n.height=r.h*(t.y[1]-t.y[0])+"px",n.left=r.l+t.x[0]*r.w+"px",n.top=r.t+(1-t.y[1])*r.h+"px",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])},b.updateLayers=function(e){var t,r=e[this.id].layers,n=this.layerList;if(r.length!==n.length){for(t=0;tpw});var mw,gw=p({"src/plots/map/get_map_fit_bounds.ts"(){mw=v(Gy())}}),yw=m({"src/plots/map/layout_defaults.js"(e,t){var r=dr(),n=ec(),i=qr(),a=Q_(),{getMapFitBounds:o}=(gw(),x(fw));function s(e,t,r,n){r("style"),r("center.lon"),r("center.lat"),r("zoom"),r("bearing"),r("pitch");let a=r("fitbounds");var s=r("bounds.west"),c=r("bounds.east"),u=r("bounds.south"),h=r("bounds.north");(void 0===s||void 0===c||void 0===u||void 0===h)&&delete t.bounds,i(e,t,{name:"layers",handleItemDefaults:l}),t._fitBounds=null;let{_fitView:{center:d,zoom:f}={},center:p,zoom:m}=e;if(a&&p?.lon===d?.lon&&p?.lat===d?.lat&&m===f){let e=o(n.fullData,n.id);e&&(t._fitBounds=e)}t._input=e}function l(e,t){function n(n,i){return r.coerce(e,t,a.layers,n,i)}if(n("visible")){var i,o=n("sourcetype"),s="raster"===o||"image"===o;n("source"),n("sourceattribution"),"vector"===o&&n("sourcelayer"),"image"===o&&n("coordinates"),s&&(i="raster");var l=n("type",i);s&&"raster"!==l&&(l=t.type="raster",r.log("Source types *raster* and *image* must drawn *raster* layer type.")),n("below"),n("color"),n("opacity"),n("minzoom"),n("maxzoom"),"circle"===l&&n("circle.radius"),"line"===l&&(n("line.width"),n("line.dash")),"fill"===l&&n("fill.outlinecolor"),"symbol"===l&&(n("symbol.icon"),n("symbol.iconsize"),n("symbol.text"),r.coerceFont(n,"symbol.textfont",void 0,{noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}),n("symbol.textposition"),n("symbol.placement"))}}t.exports=function(e,t,r){n(e,t,r,{type:"map",attributes:a,handleDefaults:s,partition:"y",fullData:r})}}}),vw=m({"src/plots/map/index.js"(e){var t=dr(),r=t.strTranslate,n=t.strScale,i=Mr().getSubplotCalcData,a=Cr(),o=w(),s=nn(),l=Ir(),c=dw(),u="map";e.name=u,e.attr="subplot",e.idRoot=u,e.idRegex=e.attrRegex=t.counterRegex(u),e.attributes={subplot:{valType:"subplotid",dflt:"map",editType:"calc"}},e.layoutAttributes=Q_(),e.supplyLayoutDefaults=yw(),e.plot=function(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[u],a=0;ax/2){var b=m.split("|").join("
");y.text(b).attr("data-unformatted",b).call(l.convertToTspans,e),v=s.bBox(y.node())}y.attr("transform",r(-3,8-v.height)),g.insert("rect",".static-attribution").attr({x:-v.width-6,y:-v.height-3,width:v.width+6,height:v.height+3,fill:"rgba(255, 255, 255, 0.75)"});var _=1;v.width+6>x&&(_=x/(v.width+6));var w=[c.l+c.w*f.x[1],c.t+c.h*(1-f.y[0])];g.attr("transform",r(w[0],w[1])+n(_))}},e.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[u],n=0;n=0;r--)e.removeLayer(t[r][1])},o.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)},t.exports=function(e,t){var n=t[0].trace,i=new a(e,n.uid),o=i.sourceId,s=r(t),l=i.below=e.belowLookup["trace-"+n.uid];return e.map.addSource(o,{type:"geojson",data:s.geojson}),i._addLayers(s,l),t[0].trace._glTrace=i,i}}}),Aw=m({"src/traces/choroplethmap/index.js"(e,t){t.exports={attributes:_w(),supplyDefaults:ww(),colorbar:$s(),calc:sv(),plot:Tw(),hoverPoints:uv(),eventData:hv(),selectPoints:dv(),styleOnSelect:function(e,t){t&&t[0].trace._glTrace.updateOnSelect(t)},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if("string"==typeof i&&0===i.indexOf("water"))for(var a=n+1;a0?+f[u]:0),h.push({type:"Feature",geometry:{type:"Point",coordinates:y},properties:v})}}var b=a.extractOpts(t),_=b.reversescale?a.flipScale(b.colorscale):b.colorscale,w=_[0][1],k=["interpolate",["linear"],["heatmap-density"],0,i.opacity(w)<1?w:i.addOpacity(w,0)];for(u=1;u<_.length;u++)k.push(_[u][0],_[u][1]);var T=["interpolate",["linear"],["get","z"],b.min,0,b.max,1];return n.extendFlat(c.heatmap.paint,{"heatmap-weight":p?T:1/(b.max-b.min),"heatmap-color":k,"heatmap-radius":m?{type:"identity",property:"r"}:t.radius,"heatmap-opacity":t.opacity}),c.geojson={type:"FeatureCollection",features:h},c.heatmap.layout.visibility="visible",c}}}),Iw=m({"src/traces/densitymap/plot.js"(e,t){var r=Lw(),n=J_().traceLayerPrefix;function i(e,t){this.type="densitymap",this.subplot=e,this.uid=t,this.sourceId="source-"+t,this.layerList=[["heatmap",n+t+"-heatmap"]],this.below=null}var a=i.prototype;a.update=function(e){var t=this.subplot,n=this.layerList,i=r(e),a=t.belowLookup["trace-"+this.uid];t.map.getSource(this.sourceId).setData(i.geojson),a!==this.below&&(this._removeLayers(),this._addLayers(i,a),this.below=a);for(var o=0;o=0;r--)e.removeLayer(t[r][1])},a.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)},t.exports=function(e,t){var n=t[0].trace,a=new i(e,n.uid),o=a.sourceId,s=r(t),l=a.below=e.belowLookup["trace-"+n.uid];return e.map.addSource(o,{type:"geojson",data:s.geojson}),a._addLayers(s,l),a}}}),Pw=m({"src/traces/densitymap/hover.js"(e,t){var r=cn(),n=sw().hoverPoints,i=sw().getExtraText;t.exports=function(e,t,a){var o=n(e,t,a);if(o){var s=o[0],l=s.cd,c=l[0].trace,u=l[s.index];if(delete s.color,"z"in u){var h=s.subplot.mockAxis;s.z=u.z,s.zLabel=r.tickText(h,h.c2l(u.z),"hover").text}return s.extraText=i(c,u,l[0].t.labels),[s]}}}}),zw=m({"src/traces/densitymap/event_data.js"(e,t){t.exports=function(e,t){return e.lon=t.lon,e.lat=t.lat,e.z=t.z,e}}}),Ow=m({"src/traces/densitymap/index.js"(e,t){t.exports={attributes:Sw(),supplyDefaults:Ew(),colorbar:$s(),formatLabels:nw(),calc:Cw(),plot:Iw(),hoverPoints:Pw(),eventData:zw(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;ni.addOpacity((e=>y[e%y.length])(t),.8)))),g("customdata");var v=e.link||{},x=s.newContainer(t,"link");function b(e,t){return r.coerce(v,x,n.link,e,t)}b("label"),b("arrowlen"),b("source"),b("target"),b("value"),b("line.color"),b("line.width"),b("hoverinfo",e.hoverinfo),o(v,x,b,f),b("hovertemplate"),b("sort");var _=i.color(h.paper_bgcolor).luminosity()<.333,w=b("color",_?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)");function k(e){if(!i.isValid(e))return e;let t=i.color(e),r=t.alpha();return r<=.8?t.alpha(r+.2).rgb().string():_?i.brighten(t,10):i.adjustLightness(t,-10).rgb().string()}b("hovercolor",Array.isArray(w)?w.map(k):k(w)),b("customdata"),l(v,x,{name:"colorscales",handleItemDefaults:c}),a(t,h,d),d("orientation"),d("valueformat"),d("valuesuffix"),d("arrangement",m.x.length&&m.y.length?"freeform":void 0),r.coerceFont(d,"textfont",h.font,{autoShadowDflt:!0}),t._length=null}}}),Fw=m({"node_modules/strongly-connected-components/scc.js"(e,t){t.exports=function(e){for(var t=e.length,r=new Array(t),n=new Array(t),i=new Array(t),a=new Array(t),o=new Array(t),s=new Array(t),l=0;l0;){t=c[c.length-1];var f=e[t];if(a[t]=0&&s[t].push(o[m])}a[t]=p}else{if(n[t]===r[t]){var g=[],y=[],v=0;for(p=l.length-1;p>=0;--p){var x=l[p];if(i[x]=!1,g.push(x),y.push(s[x]),v+=s[x].length,o[x]=h.length,x===t){l.length=p;break}}h.push(g);var b=new Array(v);for(p=0;px&&(x=l.source[t]),l.target[t]>x&&(x=l.target[t]);var b=x+1;e.node._count=b;var _,w=e.node.groups,k={};for(t=0;t0&&o(C,b)&&o(L,b)&&(!k.hasOwnProperty(C)||!k.hasOwnProperty(L)||k[C]!==k[L])){k.hasOwnProperty(L)&&(L=k[L]),k.hasOwnProperty(C)&&(C=k[C]),L=+L,f[C=+C]=f[L]=!0;var I="";l.label&&l.label[t]&&(I=l.label[t]);var P=null;I&&p.hasOwnProperty(I)&&(P=p[I]),c.push({pointNumber:t,label:I,color:u?l.color[t]:l.color,hovercolor:h?l.hovercolor[t]:l.hovercolor,customdata:d?l.customdata[t]:l.customdata,concentrationscale:P,source:C,target:L,value:+E}),S.source.push(C),S.target.push(L)}}var z=b+w.length,O=a(i.color),D=a(i.customdata),R=[];for(t=0;tb-1,childrenNodes:[],pointNumber:t,label:j,color:O?i.color[t]:i.color,customdata:D?i.customdata[t]:i.customdata})}var F=!1;return function(e,t,i){for(var a=n.init2dArray(e,0),o=0;o1}))}(z,S.source,S.target)&&(F=!0),{circular:F,links:c,nodes:R,groups:w,groupLookup:k}}(t);return i({circular:l.circular,_nodes:l.nodes,_links:l.links,_groups:l.groups,_groupLookup:l.groupLookup})}}}),Nw=m({"node_modules/d3-quadtree/dist/d3-quadtree.js"(e,t){var r,n;r=e,n=function(e){function t(e,t,r,n){if(isNaN(t)||isNaN(r))return e;var i,a,o,s,l,c,u,h,d,f=e._root,p={data:n},m=e._x0,g=e._y0,y=e._x1,v=e._y1;if(!f)return e._root=p,e;for(;f.length;)if((c=t>=(a=(m+y)/2))?m=a:y=a,(u=r>=(o=(g+v)/2))?g=o:v=o,i=f,!(f=f[h=u<<1|c]))return i[h]=p,e;if(s=+e._x.call(null,f.data),l=+e._y.call(null,f.data),t===s&&r===l)return p.next=f,i?i[h]=p:e._root=p,e;do{i=i?i[h]=new Array(4):e._root=new Array(4),(c=t>=(a=(m+y)/2))?m=a:y=a,(u=r>=(o=(g+v)/2))?g=o:v=o}while((h=u<<1|c)==(d=(l>=o)<<1|s>=a));return i[d]=f,i[h]=p,e}function r(e,t,r,n,i){this.node=e,this.x0=t,this.y0=r,this.x1=n,this.y1=i}function n(e){return e[0]}function i(e){return e[1]}function a(e,t,r){var a=new o(t??n,r??i,NaN,NaN,NaN,NaN);return null==e?a:a.addAll(e)}function o(e,t,r,n,i,a){this._x=e,this._y=t,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function s(e){for(var t={data:e.data},r=t;e=e.next;)r=r.next={data:e.data};return t}var l=a.prototype=o.prototype;l.copy=function(){var e,t,r=new o(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root;if(!n)return r;if(!n.length)return r._root=s(n),r;for(e=[{source:n,target:r._root=new Array(4)}];n=e.pop();)for(var i=0;i<4;++i)(t=n.source[i])&&(t.length?e.push({source:t,target:n.target[i]=new Array(4)}):n.target[i]=s(t));return r},l.add=function(e){var r=+this._x.call(null,e),n=+this._y.call(null,e);return t(this.cover(r,n),r,n,e)},l.addAll=function(e){var r,n,i,a,o=e.length,s=new Array(o),l=new Array(o),c=1/0,u=1/0,h=-1/0,d=-1/0;for(n=0;nh&&(h=i),ad&&(d=a));if(c>h||u>d)return this;for(this.cover(c,u).cover(h,d),n=0;ne||e>=i||n>t||t>=a;)switch(s=(tf||(o=c.y0)>p||(s=c.x1)=v)<<1|e>=y)&&(c=m[m.length-1],m[m.length-1]=m[m.length-1-u],m[m.length-1-u]=c)}else{var x=e-+this._x.call(null,g.data),b=t-+this._y.call(null,g.data),_=x*x+b*b;if(_=(s=(p+g)/2))?p=s:g=s,(u=o>=(l=(m+y)/2))?m=l:y=l,t=f,!(f=f[h=u<<1|c]))return this;if(!f.length)break;(t[h+1&3]||t[h+2&3]||t[h+3&3])&&(r=t,d=h)}for(;f.data!==e;)if(n=f,!(f=f.next))return this;return(i=f.next)&&delete f.next,n?(i?n.next=i:delete n.next,this):t?(i?t[h]=i:delete t[h],(f=t[0]||t[1]||t[2]||t[3])&&f===(t[3]||t[2]||t[1]||t[0])&&!f.length&&(r?r[d]=f:this._root=f),this):(this._root=i,this)},l.removeAll=function(e){for(var t=0,r=e.length;t=l.length)return null!=e&&r.sort(e),null!=t?t(r):r;for(var s,c,h,d=-1,f=r.length,p=l[i++],m=n(),g=a();++dl.length)return e;var n,i=c[r-1];return null!=t&&r>=l.length?n=e.entries():(n=[],e.each((function(e,t){n.push({key:t,values:h(e,r)})}))),null!=i?n.sort((function(e,t){return i(e.key,t.key)})):n}return r={object:function(e){return u(e,0,i,a)},map:function(e){return u(e,0,o,s)},entries:function(e){return h(u(e,0,o,s),0)},key:function(e){return l.push(e),r},sortKeys:function(e){return c[l.length-1]=e,r},sortValues:function(t){return e=t,r},rollup:function(e){return t=e,r}}},e.set=u,e.map=n,e.keys=function(e){var t=[];for(var r in e)t.push(r);return t},e.values=function(e){var t=[];for(var r in e)t.push(e[r]);return t},e.entries=function(e){var t=[];for(var r in e)t.push({key:r,value:e[r]});return t},Object.defineProperty(e,"__esModule",{value:!0})}("object"==typeof e&&typeof t<"u"?e:r.d3=r.d3||{})}}),Vw=m({"node_modules/d3-dispatch/dist/d3-dispatch.js"(e,t){var r,n;r=e,n=function(e){var t={value:function(){}};function r(){for(var e,t=0,r=arguments.length,i={};t=0&&(r=e.slice(n+1),e=e.slice(0,n)),e&&!t.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:r}}))}(e+"",n),s=-1,l=o.length;if(!(arguments.length<2)){if(null!=t&&"function"!=typeof t)throw new Error("invalid callback: "+t);for(;++s0)for(var r,n,i=new Array(r),a=0;a=0&&r._call.call(null,e),r=r._next;--n}function g(){s=(o=c.now())+l,n=i=0;try{m()}finally{n=0,function(){for(var e,n,i=t,a=1/0;i;)i._call?(a>i._time&&(a=i._time),e=i,i=i._next):(n=i._next,i._next=null,i=e?e._next=n:t=n);r=e,v(a)}(),s=0}}function y(){var e=c.now(),t=e-o;t>1e3&&(l-=t,o=e)}function v(e){n||(i&&(i=clearTimeout(i)),e-s>24?(e<1/0&&(i=setTimeout(g,e-c.now()-l)),a&&(a=clearInterval(a))):(a||(o=c.now(),a=setInterval(y,1e3)),n=1,u(g)))}f.prototype=p.prototype={constructor:f,restart:function(e,n,i){if("function"!=typeof e)throw new TypeError("callback is not a function");i=(null==i?h():+i)+(null==n?0:+n),!this._next&&r!==this&&(r?r._next=this:t=this,r=this),this._call=e,this._time=i,v()},stop:function(){this._call&&(this._call=null,this._time=1/0,v())}},e.interval=function(e,t,r){var n=new f,i=t;return null==t?(n.restart(e,t,r),n):(t=+t,r=null==r?h():+r,n.restart((function a(o){o+=i,n.restart(a,i+=t,r),e(o)}),t,r),n)},e.now=h,e.timeout=function(e,t,r){var n=new f;return t=null==t?0:+t,n.restart((function(r){n.stop(),e(r+t)}),t,r),n},e.timer=p,e.timerFlush=m,Object.defineProperty(e,"__esModule",{value:!0})},n("object"==typeof e&&typeof t<"u"?e:(r=r||self).d3=r.d3||{})}}),Hw=m({"node_modules/d3-force/dist/d3-force.js"(e,t){var r,n;r=e,n=function(e,t,r,n,i){function a(e){return function(){return e}}function o(){return 1e-6*(Math.random()-.5)}function s(e){return e.x+e.vx}function l(e){return e.y+e.vy}function c(e){return e.index}function u(e,t){var r=e.get(t);if(!r)throw new Error("missing: "+t);return r}function h(e){return e.x}function d(e){return e.y}var f=Math.PI*(3-Math.sqrt(5));e.forceCenter=function(e,t){var r;function n(){var n,i,a=r.length,o=0,s=0;for(n=0;nd+c||nf+c||au.index){var h=d-s.x-s.vx,g=f-s.y-s.vy,y=h*h+g*g;ye.r&&(e.r=e[t].r)}function d(){if(r){var t,i,a=r.length;for(n=new Array(a),t=0;t=c)){(e.data!==r||e.next)&&(0===h&&(p+=(h=o())*h),0===d&&(p+=(d=o())*d),p1?(null==r?u.remove(e):u.set(e,y(r)),t):u.get(e)},find:function(t,r,n){var i,a,o,s,l,c=0,u=e.length;for(null==n?n=1/0:n*=n,c=0;c1?(d.on(e,r),t):d.on(e)}}},e.forceX=function(e){var t,r,n,i=a(.1);function o(e){for(var i,a=0,o=t.length;an)if(Math.abs(d*c-u*h)>n&&o){var p=i-s,m=a-l,g=c*c+u*u,y=p*p+m*m,v=Math.sqrt(g),x=Math.sqrt(f),b=o*Math.tan((t-Math.acos((g+f-y)/(2*v*x)))/2),_=b/x,w=b/v;Math.abs(_-1)>n&&(this._+="L"+(e+_*h)+","+(r+_*d)),this._+="A"+o+","+o+",0,0,"+ +(d*p>h*m)+","+(this._x1=e+w*c)+","+(this._y1=r+w*u)}else this._+="L"+(this._x1=e)+","+(this._y1=r)},arc:function(e,a,o,s,l,c){e=+e,a=+a,c=!!c;var u=(o=+o)*Math.cos(s),h=o*Math.sin(s),d=e+u,f=a+h,p=1^c,m=c?s-l:l-s;if(o<0)throw new Error("negative radius: "+o);null===this._x1?this._+="M"+d+","+f:(Math.abs(this._x1-d)>n||Math.abs(this._y1-f)>n)&&(this._+="L"+d+","+f),o&&(m<0&&(m=m%r+r),m>i?this._+="A"+o+","+o+",0,1,"+p+","+(e-u)+","+(a-h)+"A"+o+","+o+",0,1,"+p+","+(this._x1=d)+","+(this._y1=f):m>n&&(this._+="A"+o+","+o+",0,"+ +(m>=t)+","+p+","+(this._x1=e+o*Math.cos(l))+","+(this._y1=a+o*Math.sin(l))))},rect:function(e,t,r,n){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+t)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}},e.path=o,Object.defineProperty(e,"__esModule",{value:!0})},n("object"==typeof e&&typeof t<"u"?e:(r=r||self).d3=r.d3||{})}}),Ww=m({"node_modules/d3-shape/dist/d3-shape.js"(e,t){var r,n;r=e,n=function(e,t){function r(e){return function(){return e}}var n=Math.abs,i=Math.atan2,a=Math.cos,o=Math.max,s=Math.min,l=Math.sin,c=Math.sqrt,u=1e-12,h=Math.PI,d=h/2,f=2*h;function p(e){return e>=1?d:e<=-1?-d:Math.asin(e)}function m(e){return e.innerRadius}function g(e){return e.outerRadius}function y(e){return e.startAngle}function v(e){return e.endAngle}function x(e){return e&&e.padAngle}function b(e,t,r,n,i,a,s){var l=e-r,u=t-n,h=(s?a:-a)/c(l*l+u*u),d=h*u,f=-h*l,p=e+d,m=t+f,g=r+d,y=n+f,v=(p+g)/2,x=(m+y)/2,b=g-p,_=y-m,w=b*b+_*_,k=i-a,T=p*y-g*m,A=(_<0?-1:1)*c(o(0,k*k*w-T*T)),M=(T*_-b*A)/w,S=(-T*b-_*A)/w,E=(T*_+b*A)/w,C=(-T*b+_*A)/w,L=M-v,I=S-x,P=E-v,z=C-x;return L*L+I*I>P*P+z*z&&(M=E,S=C),{cx:M,cy:S,x01:-d,y01:-f,x11:M*(i/k-1),y11:S*(i/k-1)}}function _(e){this._context=e}function w(e){return new _(e)}function k(e){return e[0]}function T(e){return e[1]}function A(){var e=k,n=T,i=r(!0),a=null,o=w,s=null;function l(r){var l,c,u,h=r.length,d=!1;for(null==a&&(s=o(u=t.path())),l=0;l<=h;++l)!(l=h;--d)c.point(y[d],v[d]);c.lineEnd(),c.areaEnd()}g&&(y[u]=+e(f,u,r),v[u]=+i(f,u,r),c.point(n?+n(f,u,r):y[u],a?+a(f,u,r):v[u]))}if(p)return c=null,p+""||null}function h(){return A().defined(o).curve(l).context(s)}return u.x=function(t){return arguments.length?(e="function"==typeof t?t:r(+t),n=null,u):e},u.x0=function(t){return arguments.length?(e="function"==typeof t?t:r(+t),u):e},u.x1=function(e){return arguments.length?(n=null==e?null:"function"==typeof e?e:r(+e),u):n},u.y=function(e){return arguments.length?(i="function"==typeof e?e:r(+e),a=null,u):i},u.y0=function(e){return arguments.length?(i="function"==typeof e?e:r(+e),u):i},u.y1=function(e){return arguments.length?(a=null==e?null:"function"==typeof e?e:r(+e),u):a},u.lineX0=u.lineY0=function(){return h().x(e).y(i)},u.lineY1=function(){return h().x(e).y(a)},u.lineX1=function(){return h().x(n).y(i)},u.defined=function(e){return arguments.length?(o="function"==typeof e?e:r(!!e),u):o},u.curve=function(e){return arguments.length?(l=e,null!=s&&(c=l(s)),u):l},u.context=function(e){return arguments.length?(null==e?s=c=null:c=l(s=e),u):s},u}function S(e,t){return te?1:t>=e?0:NaN}function E(e){return e}_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};var C=I(w);function L(e){this._curve=e}function I(e){function t(t){return new L(e(t))}return t._curve=e,t}function P(e){var t=e.curve;return e.angle=e.x,delete e.x,e.radius=e.y,delete e.y,e.curve=function(e){return arguments.length?t(I(e)):t()._curve},e}function z(){return P(A().curve(C))}function O(){var e=M().curve(C),t=e.curve,r=e.lineX0,n=e.lineX1,i=e.lineY0,a=e.lineY1;return e.angle=e.x,delete e.x,e.startAngle=e.x0,delete e.x0,e.endAngle=e.x1,delete e.x1,e.radius=e.y,delete e.y,e.innerRadius=e.y0,delete e.y0,e.outerRadius=e.y1,delete e.y1,e.lineStartAngle=function(){return P(r())},delete e.lineX0,e.lineEndAngle=function(){return P(n())},delete e.lineX1,e.lineInnerRadius=function(){return P(i())},delete e.lineY0,e.lineOuterRadius=function(){return P(a())},delete e.lineY1,e.curve=function(e){return arguments.length?t(I(e)):t()._curve},e}function D(e,t){return[(t=+t)*Math.cos(e-=Math.PI/2),t*Math.sin(e)]}L.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(e,t){this._curve.point(t*Math.sin(e),t*-Math.cos(e))}};var R=Array.prototype.slice;function j(e){return e.source}function F(e){return e.target}function B(e){var n=j,i=F,a=k,o=T,s=null;function l(){var r,l=R.call(arguments),c=n.apply(this,l),u=i.apply(this,l);if(s||(s=r=t.path()),e(s,+a.apply(this,(l[0]=c,l)),+o.apply(this,l),+a.apply(this,(l[0]=u,l)),+o.apply(this,l)),r)return s=null,r+""||null}return l.source=function(e){return arguments.length?(n=e,l):n},l.target=function(e){return arguments.length?(i=e,l):i},l.x=function(e){return arguments.length?(a="function"==typeof e?e:r(+e),l):a},l.y=function(e){return arguments.length?(o="function"==typeof e?e:r(+e),l):o},l.context=function(e){return arguments.length?(s=e??null,l):s},l}function N(e,t,r,n,i){e.moveTo(t,r),e.bezierCurveTo(t=(t+n)/2,r,t,i,n,i)}function U(e,t,r,n,i){e.moveTo(t,r),e.bezierCurveTo(t,r=(r+i)/2,n,r,n,i)}function V(e,t,r,n,i){var a=D(t,r),o=D(t,r=(r+i)/2),s=D(n,r),l=D(n,i);e.moveTo(a[0],a[1]),e.bezierCurveTo(o[0],o[1],s[0],s[1],l[0],l[1])}var q={draw:function(e,t){var r=Math.sqrt(t/h);e.moveTo(r,0),e.arc(0,0,r,0,f)}},H={draw:function(e,t){var r=Math.sqrt(t/5)/2;e.moveTo(-3*r,-r),e.lineTo(-r,-r),e.lineTo(-r,-3*r),e.lineTo(r,-3*r),e.lineTo(r,-r),e.lineTo(3*r,-r),e.lineTo(3*r,r),e.lineTo(r,r),e.lineTo(r,3*r),e.lineTo(-r,3*r),e.lineTo(-r,r),e.lineTo(-3*r,r),e.closePath()}},G=Math.sqrt(1/3),W=2*G,Y={draw:function(e,t){var r=Math.sqrt(t/W),n=r*G;e.moveTo(0,-r),e.lineTo(n,0),e.lineTo(0,r),e.lineTo(-n,0),e.closePath()}},X=Math.sin(h/10)/Math.sin(7*h/10),Z=Math.sin(f/10)*X,$=-Math.cos(f/10)*X,K={draw:function(e,t){var r=Math.sqrt(.8908130915292852*t),n=Z*r,i=$*r;e.moveTo(0,-r),e.lineTo(n,i);for(var a=1;a<5;++a){var o=f*a/5,s=Math.cos(o),l=Math.sin(o);e.lineTo(l*r,-s*r),e.lineTo(s*n-l*i,l*n+s*i)}e.closePath()}},J={draw:function(e,t){var r=Math.sqrt(t),n=-r/2;e.rect(n,n,r,r)}},Q=Math.sqrt(3),ee={draw:function(e,t){var r=-Math.sqrt(t/(3*Q));e.moveTo(0,2*r),e.lineTo(-Q*r,-r),e.lineTo(Q*r,-r),e.closePath()}},te=-.5,re=Math.sqrt(3)/2,ne=1/Math.sqrt(12),ie=3*(ne/2+1),ae={draw:function(e,t){var r=Math.sqrt(t/ie),n=r/2,i=r*ne,a=n,o=r*ne+r,s=-a,l=o;e.moveTo(n,i),e.lineTo(a,o),e.lineTo(s,l),e.lineTo(te*n-re*i,re*n+te*i),e.lineTo(te*a-re*o,re*a+te*o),e.lineTo(te*s-re*l,re*s+te*l),e.lineTo(te*n+re*i,te*i-re*n),e.lineTo(te*a+re*o,te*o-re*a),e.lineTo(te*s+re*l,te*l-re*s),e.closePath()}},oe=[q,H,Y,J,K,ee,ae];function se(){}function le(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function ce(e){this._context=e}function ue(e){this._context=e}function he(e){this._context=e}function de(e,t){this._basis=new ce(e),this._beta=t}ce.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:le(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);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:le(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},ue.prototype={areaStart:se,areaEnd:se,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:le(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},he.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,n=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:le(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},de.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,r=e.length-1;if(r>0)for(var n,i=e[0],a=t[0],o=e[r]-i,s=t[r]-a,l=-1;++l<=r;)n=l/r,this._basis.point(this._beta*e[l]+(1-this._beta)*(i+n*o),this._beta*t[l]+(1-this._beta)*(a+n*s));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};var fe=function e(t){function r(e){return 1===t?new ce(e):new de(e,t)}return r.beta=function(t){return e(+t)},r}(.85);function pe(e,t,r){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-r),e._x2,e._y2)}function me(e,t){this._context=e,this._k=(1-t)/6}me.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:pe(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:pe(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var ge=function e(t){function r(e){return new me(e,t)}return r.tension=function(t){return e(+t)},r}(0);function ye(e,t){this._context=e,this._k=(1-t)/6}ye.prototype={areaStart:se,areaEnd:se,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:pe(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var ve=function e(t){function r(e){return new ye(e,t)}return r.tension=function(t){return e(+t)},r}(0);function xe(e,t){this._context=e,this._k=(1-t)/6}xe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,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:pe(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var be=function e(t){function r(e){return new xe(e,t)}return r.tension=function(t){return e(+t)},r}(0);function _e(e,t,r){var n=e._x1,i=e._y1,a=e._x2,o=e._y2;if(e._l01_a>u){var s=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,l=3*e._l01_a*(e._l01_a+e._l12_a);n=(n*s-e._x0*e._l12_2a+e._x2*e._l01_2a)/l,i=(i*s-e._y0*e._l12_2a+e._y2*e._l01_2a)/l}if(e._l23_a>u){var c=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,h=3*e._l23_a*(e._l23_a+e._l12_a);a=(a*c+e._x1*e._l23_2a-t*e._l12_2a)/h,o=(o*c+e._y1*e._l23_2a-r*e._l12_2a)/h}e._context.bezierCurveTo(n,i,a,o,e._x2,e._y2)}function we(e,t){this._context=e,this._alpha=t}we.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,n=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:_e(this,e,t)}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=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var ke=function e(t){function r(e){return t?new we(e,t):new me(e,0)}return r.alpha=function(t){return e(+t)},r}(.5);function Te(e,t){this._context=e,this._alpha=t}Te.prototype={areaStart:se,areaEnd:se,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,n=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:_e(this,e,t)}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=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Ae=function e(t){function r(e){return t?new Te(e,t):new ye(e,0)}return r.alpha=function(t){return e(+t)},r}(.5);function Me(e,t){this._context=e,this._alpha=t}Me.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,n=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:_e(this,e,t)}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=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Se=function e(t){function r(e){return t?new Me(e,t):new xe(e,0)}return r.alpha=function(t){return e(+t)},r}(.5);function Ee(e){this._context=e}function Ce(e){return e<0?-1:1}function Le(e,t,r){var n=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(n||i<0&&-0),o=(r-e._y1)/(i||n<0&&-0),s=(a*i+o*n)/(n+i);return(Ce(a)+Ce(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function Ie(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function Pe(e,t,r){var n=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-n)/3;e._context.bezierCurveTo(n+s,i+s*t,a-s,o-s*r,a,o)}function ze(e){this._context=e}function Oe(e){this._context=new De(e)}function De(e){this._context=e}function Re(e){this._context=e}function je(e){var t,r,n=e.length-1,i=new Array(n),a=new Array(n),o=new Array(n);for(i[0]=0,a[0]=2,o[0]=e[0]+2*e[1],t=1;t=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(a[n-1]=(e[n]+i[n-1])/2,t=0;t1)for(var r,n,i,a=1,o=e[t[0]],s=o.length;a=0;)r[t]=t;return r}function Ue(e,t){return e[t]}function Ve(e){var t=e.map(qe);return Ne(e).sort((function(e,r){return t[e]-t[r]}))}function qe(e){for(var t,r=-1,n=0,i=e.length,a=-1/0;++ra&&(a=t,n=r);return n}function He(e){var t=e.map(Ge);return Ne(e).sort((function(e,r){return t[e]-t[r]}))}function Ge(e){for(var t,r=0,n=-1,i=e.length;++n=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}}this._x=e,this._y=t}},e.arc=function(){var e=m,o=g,_=r(0),w=null,k=y,T=v,A=x,M=null;function S(){var r,m,g=+e.apply(this,arguments),y=+o.apply(this,arguments),v=k.apply(this,arguments)-d,x=T.apply(this,arguments)-d,S=n(x-v),E=x>v;if(M||(M=r=t.path()),yu)if(S>f-u)M.moveTo(y*a(v),y*l(v)),M.arc(0,0,y,v,x,!E),g>u&&(M.moveTo(g*a(x),g*l(x)),M.arc(0,0,g,x,v,E));else{var C,L,I=v,P=x,z=v,O=x,D=S,R=S,j=A.apply(this,arguments)/2,F=j>u&&(w?+w.apply(this,arguments):c(g*g+y*y)),B=s(n(y-g)/2,+_.apply(this,arguments)),N=B,U=B;if(F>u){var V=p(F/g*l(j)),q=p(F/y*l(j));(D-=2*V)>u?(z+=V*=E?1:-1,O-=V):(D=0,z=O=(v+x)/2),(R-=2*q)>u?(I+=q*=E?1:-1,P-=q):(R=0,I=P=(v+x)/2)}var H=y*a(I),G=y*l(I),W=g*a(O),Y=g*l(O);if(B>u){var X,Z=y*a(P),$=y*l(P),K=g*a(z),J=g*l(z);if(S1?0:e<-1?h:Math.acos(e)}((Q*te+ee*re)/(c(Q*Q+ee*ee)*c(te*te+re*re)))/2),ie=c(X[0]*X[0]+X[1]*X[1]);N=s(B,(g-ie)/(ne-1)),U=s(B,(y-ie)/(ne+1))}}R>u?U>u?(C=b(K,J,H,G,y,U,E),L=b(Z,$,W,Y,y,U,E),M.moveTo(C.cx+C.x01,C.cy+C.y01),Uu&&D>u?N>u?(C=b(W,Y,Z,$,g,-N,E),L=b(H,G,K,J,g,-N,E),M.lineTo(C.cx+C.x01,C.cy+C.y01),N0&&(p+=h);for(null!=t?m.sort((function(e,r){return t(g[e],g[r])})):null!=n&&m.sort((function(e,t){return n(r[e],r[t])})),s=0,c=p?(v-d*b)/p:0;s0?h*c:0)+b,g[l]={data:r[l],index:s,value:h,startAngle:y,endAngle:u,padAngle:x};return g}return s.value=function(t){return arguments.length?(e="function"==typeof t?t:r(+t),s):e},s.sortValues=function(e){return arguments.length?(t=e,n=null,s):t},s.sort=function(e){return arguments.length?(n=e,t=null,s):n},s.startAngle=function(e){return arguments.length?(i="function"==typeof e?e:r(+e),s):i},s.endAngle=function(e){return arguments.length?(a="function"==typeof e?e:r(+e),s):a},s.padAngle=function(e){return arguments.length?(o="function"==typeof e?e:r(+e),s):o},s},e.pointRadial=D,e.radialArea=O,e.radialLine=z,e.stack=function(){var e=r([]),t=Ne,n=Be,i=Ue;function a(r){var a,o,s=e.apply(this,arguments),l=r.length,c=s.length,u=new Array(c);for(a=0;a0)for(var r,n,i,a,o,s,l=0,c=e[t[0]].length;l0?(n[0]=a,n[1]=a+=i):i<0?(n[1]=o,n[0]=o+=i):(n[0]=0,n[1]=i)},e.stackOffsetExpand=function(e,t){if((n=e.length)>0){for(var r,n,i,a=0,o=e[0].length;a0){for(var r,n=0,i=e[t[0]],a=i.length;n0&&(n=(r=e[t[0]]).length)>0){for(var r,n,i,a=0,o=1;o[_(t,r,e),t])));for(let[e,n]of t.entries()){n.index=e;let{source:t,target:i}=n;"object"!=typeof t&&(t=n.source=f(r,t)),"object"!=typeof i&&(i=n.target=f(r,i)),t.sourceLinks.push(n),i.targetLinks.push(n)}if(null!=n)for(let{sourceLinks:t,targetLinks:r}of e)t.sort(n),r.sort(n)}(i),function({nodes:e}){for(let r of e)r.value=void 0===r.fixedValue?Math.max(t.sum(r.sourceLinks,c),t.sum(r.targetLinks,c)):r.fixedValue}(i),function({nodes:e}){let t=e.length,r=new Set(e),n=new Set,i=0;for(;r.size;){for(let e of r){e.depth=i;for(let{target:t}of e.sourceLinks)n.add(t)}if(++i>t)throw new Error("circular link");r=n,n=new Set}}(i),function({nodes:e}){let t=e.length,r=new Set(e),n=new Set,i=0;for(;r.size;){for(let e of r){e.height=i;for(let{source:t}of e.targetLinks)n.add(t)}if(++i>t)throw new Error("circular link");r=n,n=new Set}}(i),function(n){let i=function({nodes:e}){let n=t.max(e,(e=>e.depth))+1,i=(y-m-x)/(n-1),a=new Array(n);for(let t of e){let e=Math.max(0,Math.min(n-1,Math.floor(w.call(null,t,n))));t.layer=e,t.x0=m+e*i,t.x1=t.x0+x,a[e]?a[e].push(t):a[e]=[t]}if(r)for(let e of a)e.sort(r);return a}(n);e=Math.min(b,M*(v-g)/(t.max(i,(e=>e.length))-1)),function(r){let n=t.min(r,(r=>(v-g-(r.length-1)*e)/t.sum(r,c)));for(let t of r){let r=g;for(let i of t){i.y0=r,i.y1=r+i.value*n,r=i.y1+e;for(let e of i.sourceLinks)e.width=e.value*n}r=(v-r+e)/(t.length+1);for(let e=0;e0))continue;let i=(r/n-e.y0)*t;e.y0+=i,e.y1+=i,z(e)}void 0===r&&a.sort(l),L(a,n)}}function C(e,t,n){for(let i=e.length-2;i>=0;--i){let a=e[i];for(let e of a){let r=0,n=0;for(let{target:t,value:i}of e.sourceLinks){let a=i*(t.layer-e.layer);r+=R(e,t)*a,n+=a}if(!(n>0))continue;let i=(r/n-e.y0)*t;e.y0+=i,e.y1+=i,z(e)}void 0===r&&a.sort(l),L(a,n)}}function L(t,r){let n=t.length>>1,i=t[n];P(t,i.y0-e,n-1,r),I(t,i.y1+e,n+1,r),P(t,v,t.length-1,r),I(t,g,0,r)}function I(t,r,n,i){for(;n1e-6&&(a.y0+=o,a.y1+=o),r=a.y1+e}}function P(t,r,n,i){for(;n>=0;--n){let a=t[n],o=(a.y1-r)*i;o>1e-6&&(a.y0-=o,a.y1-=o),r=a.y0-e}}function z({sourceLinks:e,targetLinks:t}){if(void 0===n){for(let{source:{sourceLinks:e}}of t)e.sort(s);for(let{target:{targetLinks:t}}of e)t.sort(o)}}function O(e){if(void 0===n)for(let{sourceLinks:t,targetLinks:r}of e)t.sort(s),r.sort(o)}function D(t,r){let n=t.y0-(t.sourceLinks.length-1)*e/2;for(let{target:i,width:a}of t.sourceLinks){if(i===r)break;n+=a+e}for(let{source:e,width:i}of r.targetLinks){if(e===t)break;n-=i}return n}function R(t,r){let n=r.y0-(r.targetLinks.length-1)*e/2;for(let{source:i,width:a}of r.targetLinks){if(i===t)break;n+=a+e}for(let{target:e,width:i}of t.sourceLinks){if(e===r)break;n-=i}return n}return S.update=function(e){return p(e),e},S.nodeId=function(e){return arguments.length?(_="function"==typeof e?e:a(e),S):_},S.nodeAlign=function(e){return arguments.length?(w="function"==typeof e?e:a(e),S):w},S.nodeSort=function(e){return arguments.length?(r=e,S):r},S.nodeWidth=function(e){return arguments.length?(x=+e,S):x},S.nodePadding=function(t){return arguments.length?(b=e=+t,S):b},S.nodes=function(e){return arguments.length?(k="function"==typeof e?e:a(e),S):k},S.links=function(e){return arguments.length?(T="function"==typeof e?e:a(e),S):T},S.linkSort=function(e){return arguments.length?(n=e,S):n},S.size=function(e){return arguments.length?(m=g=0,y=+e[0],v=+e[1],S):[y-m,v-g]},S.extent=function(e){return arguments.length?(m=+e[0][0],y=+e[1][0],g=+e[0][1],v=+e[1][1],S):[[m,g],[y,v]]},S.iterations=function(e){return arguments.length?(A=+e,S):A},S},e.sankeyCenter=function(e){return e.targetLinks.length?e.depth:e.sourceLinks.length?t.min(e.sourceLinks,n)-1:0},e.sankeyJustify=i,e.sankeyLeft=function(e){return e.depth},e.sankeyLinkHorizontal=function(){return r.linkHorizontal().source(m).target(g)},e.sankeyRight=function(e,t){return t-1-e.height},Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof e&&typeof t<"u"?n(e,By(),Ww()):n((r=r||self).d3=r.d3||{},r.d3,r.d3)}}),Xw=m({"node_modules/elementary-circuits-directed-graph/johnson.js"(e,t){var r=Fw();t.exports=function(e,t){var n,i=[],a=[],o=[],s={},l=[];function c(e){o[e]=!1,s.hasOwnProperty(e)&&Object.keys(s[e]).forEach((function(t){delete s[e][t],o[t]&&c(t)}))}function u(e){var t,r,i=!1;for(a.push(e),o[e]=!0,t=0;t=t}))}(t);for(var n,i=r(e).components.filter((function(e){return e.length>1})),a=1/0,o=0;ot.source.column)}function M(e,t){var r=0;e.sourceLinks.forEach((function(e){r=e.circular&&!W(e,t)?r+1:r}));var n=0;return e.targetLinks.forEach((function(e){n=e.circular&&!W(e,t)?n+1:n})),r+n}function S(e){var t=e.source.sourceLinks,r=0;t.forEach((function(e){r=e.circular?r+1:r}));var n=e.target.targetLinks,i=0;return n.forEach((function(e){i=e.circular?i+1:i})),!(r>1||i>1)}function E(e,t,r){return e.sort(L),e.forEach((function(n,i){var a=0;if(W(n,r)&&S(n))n.circularPathData.verticalBuffer=a+n.width/2;else{for(var o=0;oa?s:a}n.circularPathData.verticalBuffer=a+n.width/2}})),e}function C(e,r,i,a){var o=t.min(e.links,(function(e){return e.source.y0}));e.links.forEach((function(e){e.circular&&(e.circularPathData={})})),E(e.links.filter((function(e){return"top"==e.circularLinkType})),r,a),E(e.links.filter((function(e){return"bottom"==e.circularLinkType})),r,a),e.links.forEach((function(t){if(t.circular){if(t.circularPathData.arcRadius=t.width+w,t.circularPathData.leftNodeBuffer=5,t.circularPathData.rightNodeBuffer=5,t.circularPathData.sourceWidth=t.source.x1-t.source.x0,t.circularPathData.sourceX=t.source.x0+t.circularPathData.sourceWidth,t.circularPathData.targetX=t.target.x0,t.circularPathData.sourceY=t.y0,t.circularPathData.targetY=t.y1,W(t,a)&&S(t))t.circularPathData.leftSmallArcRadius=w+t.width/2,t.circularPathData.leftLargeArcRadius=w+t.width/2,t.circularPathData.rightSmallArcRadius=w+t.width/2,t.circularPathData.rightLargeArcRadius=w+t.width/2,"bottom"==t.circularLinkType?(t.circularPathData.verticalFullExtent=t.source.y1+_+t.circularPathData.verticalBuffer,t.circularPathData.verticalLeftInnerExtent=t.circularPathData.verticalFullExtent-t.circularPathData.leftLargeArcRadius,t.circularPathData.verticalRightInnerExtent=t.circularPathData.verticalFullExtent-t.circularPathData.rightLargeArcRadius):(t.circularPathData.verticalFullExtent=t.source.y0-_-t.circularPathData.verticalBuffer,t.circularPathData.verticalLeftInnerExtent=t.circularPathData.verticalFullExtent+t.circularPathData.leftLargeArcRadius,t.circularPathData.verticalRightInnerExtent=t.circularPathData.verticalFullExtent+t.circularPathData.rightLargeArcRadius);else{var s=t.source.column,l=t.circularLinkType,c=e.links.filter((function(e){return e.source.column==s&&e.circularLinkType==l}));"bottom"==t.circularLinkType?c.sort(P):c.sort(I);var u=0;c.forEach((function(e,n){e.circularLinkID==t.circularLinkID&&(t.circularPathData.leftSmallArcRadius=w+t.width/2+u,t.circularPathData.leftLargeArcRadius=w+t.width/2+n*r+u),u+=e.width})),s=t.target.column,c=e.links.filter((function(e){return e.target.column==s&&e.circularLinkType==l})),"bottom"==t.circularLinkType?c.sort(O):c.sort(z),u=0,c.forEach((function(e,n){e.circularLinkID==t.circularLinkID&&(t.circularPathData.rightSmallArcRadius=w+t.width/2+u,t.circularPathData.rightLargeArcRadius=w+t.width/2+n*r+u),u+=e.width})),"bottom"==t.circularLinkType?(t.circularPathData.verticalFullExtent=Math.max(i,t.source.y1,t.target.y1)+_+t.circularPathData.verticalBuffer,t.circularPathData.verticalLeftInnerExtent=t.circularPathData.verticalFullExtent-t.circularPathData.leftLargeArcRadius,t.circularPathData.verticalRightInnerExtent=t.circularPathData.verticalFullExtent-t.circularPathData.rightLargeArcRadius):(t.circularPathData.verticalFullExtent=o-_-t.circularPathData.verticalBuffer,t.circularPathData.verticalLeftInnerExtent=t.circularPathData.verticalFullExtent+t.circularPathData.leftLargeArcRadius,t.circularPathData.verticalRightInnerExtent=t.circularPathData.verticalFullExtent+t.circularPathData.rightLargeArcRadius)}t.circularPathData.leftInnerExtent=t.circularPathData.sourceX+t.circularPathData.leftNodeBuffer,t.circularPathData.rightInnerExtent=t.circularPathData.targetX-t.circularPathData.rightNodeBuffer,t.circularPathData.leftFullExtent=t.circularPathData.sourceX+t.circularPathData.leftLargeArcRadius+t.circularPathData.leftNodeBuffer,t.circularPathData.rightFullExtent=t.circularPathData.targetX-t.circularPathData.rightLargeArcRadius-t.circularPathData.rightNodeBuffer}if(t.circular)t.path=function(e){return"top"==e.circularLinkType?"M"+e.circularPathData.sourceX+" "+e.circularPathData.sourceY+" L"+e.circularPathData.leftInnerExtent+" "+e.circularPathData.sourceY+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftSmallArcRadius+" 0 0 0 "+e.circularPathData.leftFullExtent+" "+(e.circularPathData.sourceY-e.circularPathData.leftSmallArcRadius)+" L"+e.circularPathData.leftFullExtent+" "+e.circularPathData.verticalLeftInnerExtent+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftLargeArcRadius+" 0 0 0 "+e.circularPathData.leftInnerExtent+" "+e.circularPathData.verticalFullExtent+" L"+e.circularPathData.rightInnerExtent+" "+e.circularPathData.verticalFullExtent+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightLargeArcRadius+" 0 0 0 "+e.circularPathData.rightFullExtent+" "+e.circularPathData.verticalRightInnerExtent+" L"+e.circularPathData.rightFullExtent+" "+(e.circularPathData.targetY-e.circularPathData.rightSmallArcRadius)+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightSmallArcRadius+" 0 0 0 "+e.circularPathData.rightInnerExtent+" "+e.circularPathData.targetY+" L"+e.circularPathData.targetX+" "+e.circularPathData.targetY:"M"+e.circularPathData.sourceX+" "+e.circularPathData.sourceY+" L"+e.circularPathData.leftInnerExtent+" "+e.circularPathData.sourceY+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftSmallArcRadius+" 0 0 1 "+e.circularPathData.leftFullExtent+" "+(e.circularPathData.sourceY+e.circularPathData.leftSmallArcRadius)+" L"+e.circularPathData.leftFullExtent+" "+e.circularPathData.verticalLeftInnerExtent+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftLargeArcRadius+" 0 0 1 "+e.circularPathData.leftInnerExtent+" "+e.circularPathData.verticalFullExtent+" L"+e.circularPathData.rightInnerExtent+" "+e.circularPathData.verticalFullExtent+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightLargeArcRadius+" 0 0 1 "+e.circularPathData.rightFullExtent+" "+e.circularPathData.verticalRightInnerExtent+" L"+e.circularPathData.rightFullExtent+" "+(e.circularPathData.targetY+e.circularPathData.rightSmallArcRadius)+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightSmallArcRadius+" 0 0 1 "+e.circularPathData.rightInnerExtent+" "+e.circularPathData.targetY+" L"+e.circularPathData.targetX+" "+e.circularPathData.targetY}(t);else{var h=n.linkHorizontal().source((function(e){return[e.source.x0+(e.source.x1-e.source.x0),e.y0]})).target((function(e){return[e.target.x0,e.y1]}));t.path=h(t)}}))}function L(e,t){return D(e)==D(t)?"bottom"==e.circularLinkType?P(e,t):I(e,t):D(t)-D(e)}function I(e,t){return e.y0-t.y0}function P(e,t){return t.y0-e.y0}function z(e,t){return e.y1-t.y1}function O(e,t){return t.y1-e.y1}function D(e){return e.target.column-e.source.column}function R(e){return e.target.x0-e.source.x1}function j(e,t){var r=T(e),n=R(t)/Math.tan(r);return"up"==G(e)?e.y1+n:e.y1-n}function F(e,t){var r=T(e),n=R(t)/Math.tan(r);return"up"==G(e)?e.y1-n:e.y1+n}function B(e,t,r,n){e.links.forEach((function(i){if(!i.circular&&i.target.column-i.source.column>1){var a=i.source.column+1,o=i.target.column-1,s=1,l=o-a+1;for(s=1;a<=o;a++,s++)e.nodes.forEach((function(o){if(o.column==a){var c,u=s/(l+1),h=Math.pow(1-u,3),d=3*u*Math.pow(1-u,2),f=3*Math.pow(u,2)*(1-u),p=Math.pow(u,3),m=h*i.y0+d*i.y0+f*i.y1+p*i.y1,g=m-i.width/2,y=m+i.width/2;g>o.y0&&go.y0&&yo.y1)&&(c=y-o.y0+10,o=U(o,c,t,r),e.nodes.forEach((function(e){b(e,n)==b(o,n)||e.column!=o.column||e.y0o.y1&&U(e,c,t,r)})))}}))}}))}function N(e,t){return e.y0>t.y0&&e.y0t.y0&&e.y1t.y1}function U(e,t,r,n){return e.y0+t>=r&&e.y1+t<=n&&(e.y0=e.y0+t,e.y1=e.y1+t,e.targetLinks.forEach((function(e){e.y1=e.y1+t})),e.sourceLinks.forEach((function(e){e.y0=e.y0+t}))),e}function V(e,t,r,n){e.nodes.forEach((function(i){n&&i.y+(i.y1-i.y0)>t&&(i.y=i.y-(i.y+(i.y1-i.y0)-t));var a=e.links.filter((function(e){return b(e.source,r)==b(i,r)})),o=a.length;o>1&&a.sort((function(e,t){if(!e.circular&&!t.circular){if(e.target.column==t.target.column)return e.y1-t.y1;if(!H(e,t))return e.y1-t.y1;if(e.target.column>t.target.column){var r=F(t,e);return e.y1-r}if(t.target.column>e.target.column)return F(e,t)-t.y1}return e.circular&&!t.circular?"top"==e.circularLinkType?-1:1:t.circular&&!e.circular?"top"==t.circularLinkType?1:-1:e.circular&&t.circular?e.circularLinkType===t.circularLinkType&&"top"==e.circularLinkType?e.target.column===t.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:e.circularLinkType===t.circularLinkType&&"bottom"==e.circularLinkType?e.target.column===t.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:"top"==e.circularLinkType?-1:1:void 0}));var s=i.y0;a.forEach((function(e){e.y0=s+e.width/2,s+=e.width})),a.forEach((function(e,t){if("bottom"==e.circularLinkType){for(var r=t+1,n=0;r1&&n.sort((function(e,t){if(!e.circular&&!t.circular){if(e.source.column==t.source.column)return e.y0-t.y0;if(!H(e,t))return e.y0-t.y0;if(t.source.column0?"up":"down"}function W(e,t){return b(e.source,t)==b(e.target,t)}e.sankeyCircular=function(){var e,n,a=0,b=0,T=1,A=1,S=24,E=g,L=o,I=y,P=v,z=32,O=2,D=null;function R(){var o={nodes:I.apply(null,arguments),links:P.apply(null,arguments)};(function(e){e.nodes.forEach((function(e,t){e.index=t,e.sourceLinks=[],e.targetLinks=[]}));var t=r.map(e.nodes,E);e.links.forEach((function(e,r){e.index=r;var n=e.source,i=e.target;"object"!==(typeof n>"u"?"undefined":l(n))&&(n=e.source=x(t,n)),"object"!==(typeof i>"u"?"undefined":l(i))&&(i=e.target=x(t,i)),n.sourceLinks.push(e),i.targetLinks.push(e)}))})(o),function(e,t,r){var n=0;if(null===r){for(var a=[],o=0;o0?r+_+w:r,bottom:n=n>0?n+_+w:n,left:a=a>0?a+_+w:a,right:i=i>0?i+_+w:i}}(i),u=function(e,r){var n=t.max(e.nodes,(function(e){return e.column})),i=T-a,o=A-b,s=i/(i+r.right+r.left),l=o/(o+r.top+r.bottom);return a=a*s+r.left,T=0==r.right?T:T*s,b=b*l+r.top,A*=l,e.nodes.forEach((function(e){e.x0=a+e.column*((T-a-S)/n),e.x1=e.x0+S})),l}(i,c);s*=u,i.links.forEach((function(e){e.width=e.value*s})),l.forEach((function(e){var t=e.length;e.forEach((function(e,n){e.depth==l.length-1&&1==t||0==e.depth&&1==t?(e.y0=A/2-e.value*s,e.y1=e.y0+e.value*s):e.partOfCycle?0==M(e,r)?(e.y0=A/2+n,e.y1=e.y0+e.value*s):"top"==e.circularLinkType?(e.y0=b+n,e.y1=e.y0+e.value*s):(e.y0=A-e.value*s-n,e.y1=e.y0+e.value*s):0==c.top||0==c.bottom?(e.y0=(A-b)/t*n,e.y1=e.y0+e.value*s):(e.y0=(A-b)/2-t/2+n,e.y1=e.y0+e.value*s)}))}))})(s),y();for(var c=1,u=o;u>0;--u)g(c*=.99,s),y();function g(e,r){var n=l.length;l.forEach((function(i){var a=i.length,o=i[0].depth;i.forEach((function(i){var s;if((i.sourceLinks.length||i.targetLinks.length)&&!(i.partOfCycle&&M(i,r)>0))if(0==o&&1==a)s=i.y1-i.y0,i.y0=A/2-s/2,i.y1=A/2+s/2;else if(o==n-1&&1==a)s=i.y1-i.y0,i.y0=A/2-s/2,i.y1=A/2+s/2;else{var l=t.mean(i.sourceLinks,m),c=t.mean(i.targetLinks,p),u=((l&&c?(l+c)/2:l||c)-f(i))*e;i.y0+=u,i.y1+=u}}))}))}function y(){l.forEach((function(t){var r,n,i,a=b,o=t.length;for(t.sort(h),i=0;i0&&(r.y0+=n,r.y1+=n),a=r.y1+e;if((n=a-e-A)>0)for(a=r.y0-=n,r.y1-=n,i=o-2;i>=0;--i)(n=(r=t[i]).y1+e-a)>0&&(r.y0-=n,r.y1-=n),a=r.y0}))}}(o,z,E),j(o);for(var s=0;s<4;s++)V(o,A,E),q(o,0,E),B(o,b,A,E),V(o,A,E),q(o,0,E);return function(e,r,n){var i=e.nodes,a=e.links,o=!1,s=!1;if(a.forEach((function(e){"top"==e.circularLinkType?o=!0:"bottom"==e.circularLinkType&&(s=!0)})),0==o||0==s){var l=t.min(i,(function(e){return e.y0})),c=t.max(i,(function(e){return e.y1})),u=(n-r)/(c-l);i.forEach((function(e){var t=(e.y1-e.y0)*u;e.y0=(e.y0-l)*u,e.y1=e.y0+t})),a.forEach((function(e){e.y0=(e.y0-l)*u,e.y1=(e.y1-l)*u,e.width=e.width*u}))}}(o,b,A),C(o,O,A,E),o}function j(e){e.nodes.forEach((function(e){e.sourceLinks.sort(u),e.targetLinks.sort(c)})),e.nodes.forEach((function(e){var t=e.y0,r=t,n=e.y1,i=n;e.sourceLinks.forEach((function(e){e.circular?(e.y0=n-e.width/2,n-=e.width):(e.y0=t+e.width/2,t+=e.width)})),e.targetLinks.forEach((function(e){e.circular?(e.y1=i-e.width/2,i-=e.width):(e.y1=r+e.width/2,r+=e.width)}))}))}return R.nodeId=function(e){return arguments.length?(E="function"==typeof e?e:s(e),R):E},R.nodeAlign=function(e){return arguments.length?(L="function"==typeof e?e:s(e),R):L},R.nodeWidth=function(e){return arguments.length?(S=+e,R):S},R.nodePadding=function(t){return arguments.length?(e=+t,R):e},R.nodes=function(e){return arguments.length?(I="function"==typeof e?e:s(e),R):I},R.links=function(e){return arguments.length?(P="function"==typeof e?e:s(e),R):P},R.size=function(e){return arguments.length?(a=b=0,T=+e[0],A=+e[1],R):[T-a,A-b]},R.extent=function(e){return arguments.length?(a=+e[0][0],T=+e[1][0],b=+e[0][1],A=+e[1][1],R):[[a,b],[T,A]]},R.iterations=function(e){return arguments.length?(z=+e,R):z},R.circularLinkGap=function(e){return arguments.length?(O=+e,R):O},R.nodePaddingRatio=function(e){return arguments.length?(n=+e,R):n},R.sortNodes=function(e){return arguments.length?(D=e,R):D},R.update=function(e){return k(e,E),j(e),e.links.forEach((function(e){e.circular&&(e.circularLinkType=e.y0+e.y1o+f&&(a+=1,t=s.x0),o=s.x0,i[a]||(i[a]=[]),i[a].push(s),r=t-s.x0,s.x0+=r,s.x1+=r}return i})(v=A.nodes).forEach((function(e){var t,r,n,i=0,a=e.length;for(e.sort((function(e,t){return e.y0-t.y0})),n=0;n=i||(r=i-t.y0)>1e-6&&(t.y0+=r,t.y1+=r),i=t.y1+d}));n.update(A)}return{circular:b,key:r,trace:l,guid:u.randstr(),horizontal:h,width:m,height:y,nodePad:l.node.pad,nodeLineColor:l.node.line.color,nodeLineWidth:l.node.line.width,linkLineColor:l.link.line.color,linkLineWidth:l.link.line.width,linkArrowLength:l.link.arrowlen,valueFormat:l.valueformat,valueSuffix:l.valuesuffix,textFont:l.textfont,translateX:c.x[0]*e.width+e.margin.l,translateY:e.height-c.y[1]*e.height+e.margin.t,dragParallel:h?y:m,dragPerpendicular:h?m:y,arrangement:l.arrangement,sankey:n,graph:A,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function A(e,t,r){var n=t.source.label+"|"+t.target.label+"__"+r;return t.trace=e.trace,t.curveNumber=e.trace.index,{circular:e.circular,key:n,traceId:e.key,pointNumber:t.pointNumber,link:t,rgb:l.rgb(t.color),alpha:l.color(t.color).alpha(),hoverRgb:l.rgb(t.hovercolor),hoverAlpha:l.color(t.hovercolor).alpha(),linkPath:M,linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,linkArrowLength:e.linkArrowLength,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,parent:e,interactionState:e.interactionState,flow:t.flow}}function M(){return function(e){var t=e.linkArrowLength;if(e.link.circular)return function(e,t){var r="",n=e.width/2,i=e.circularPathData,a=i.sourceX+i.verticalBuffer0?" L "+i.targetX+" "+i.targetY:"")+"Z"):(r="M "+(i.targetX-t)+" "+(i.targetY-n)+" L "+(i.rightInnerExtent-t)+" "+(i.targetY-n)+" A "+(i.rightLargeArcRadius+n)+" "+(i.rightSmallArcRadius+n)+" 0 0 0 "+(i.rightFullExtent-n-t)+" "+(i.targetY+i.rightSmallArcRadius)+" L "+(i.rightFullExtent-n-t)+" "+i.verticalRightInnerExtent,r+=a&&o?" A "+(i.rightLargeArcRadius+n)+" "+(i.rightLargeArcRadius+n)+" 0 0 0 "+(i.rightInnerExtent-n-t)+" "+(i.verticalFullExtent+n)+" L "+(i.rightFullExtent+n-t-(i.rightLargeArcRadius-n))+" "+(i.verticalFullExtent+n)+" A "+(i.rightLargeArcRadius+n)+" "+(i.rightLargeArcRadius+n)+" 0 0 0 "+(i.leftFullExtent+n)+" "+i.verticalLeftInnerExtent:a?" A "+(i.rightLargeArcRadius-n)+" "+(i.rightSmallArcRadius-n)+" 0 0 1 "+(i.rightFullExtent-t-n-(i.rightLargeArcRadius-n))+" "+(i.verticalFullExtent-n)+" L "+(i.leftFullExtent+n+(i.rightLargeArcRadius-n))+" "+(i.verticalFullExtent-n)+" A "+(i.rightLargeArcRadius-n)+" "+(i.rightSmallArcRadius-n)+" 0 0 1 "+(i.leftFullExtent+n)+" "+i.verticalLeftInnerExtent:" A "+(i.rightLargeArcRadius+n)+" "+(i.rightLargeArcRadius+n)+" 0 0 0 "+(i.rightInnerExtent-t)+" "+(i.verticalFullExtent+n)+" L "+i.leftInnerExtent+" "+(i.verticalFullExtent+n)+" A "+(i.leftLargeArcRadius+n)+" "+(i.leftLargeArcRadius+n)+" 0 0 0 "+(i.leftFullExtent+n)+" "+i.verticalLeftInnerExtent,r+=" L "+(i.leftFullExtent+n)+" "+(i.sourceY+i.leftSmallArcRadius)+" A "+(i.leftLargeArcRadius+n)+" "+(i.leftSmallArcRadius+n)+" 0 0 0 "+i.leftInnerExtent+" "+(i.sourceY-n)+" L "+i.sourceX+" "+(i.sourceY-n)+" L "+i.sourceX+" "+(i.sourceY+n)+" L "+i.leftInnerExtent+" "+(i.sourceY+n)+" A "+(i.leftLargeArcRadius-n)+" "+(i.leftSmallArcRadius-n)+" 0 0 1 "+(i.leftFullExtent-n)+" "+(i.sourceY+i.leftSmallArcRadius)+" L "+(i.leftFullExtent-n)+" "+i.verticalLeftInnerExtent,r+=a&&o?" A "+(i.rightLargeArcRadius-n)+" "+(i.rightSmallArcRadius-n)+" 0 0 1 "+(i.leftFullExtent-n-(i.rightLargeArcRadius-n))+" "+(i.verticalFullExtent-n)+" L "+(i.rightFullExtent+n-t+(i.rightLargeArcRadius-n))+" "+(i.verticalFullExtent-n)+" A "+(i.rightLargeArcRadius-n)+" "+(i.rightSmallArcRadius-n)+" 0 0 1 "+(i.rightFullExtent+n-t)+" "+i.verticalRightInnerExtent:a?" A "+(i.rightLargeArcRadius+n)+" "+(i.rightLargeArcRadius+n)+" 0 0 0 "+(i.leftFullExtent+n)+" "+(i.verticalFullExtent+n)+" L "+(i.rightFullExtent-t-n)+" "+(i.verticalFullExtent+n)+" A "+(i.rightLargeArcRadius+n)+" "+(i.rightLargeArcRadius+n)+" 0 0 0 "+(i.rightFullExtent+n-t)+" "+i.verticalRightInnerExtent:" A "+(i.leftLargeArcRadius-n)+" "+(i.leftLargeArcRadius-n)+" 0 0 1 "+i.leftInnerExtent+" "+(i.verticalFullExtent-n)+" L "+(i.rightInnerExtent-t)+" "+(i.verticalFullExtent-n)+" A "+(i.rightLargeArcRadius-n)+" "+(i.rightLargeArcRadius-n)+" 0 0 1 "+(i.rightFullExtent+n-t)+" "+i.verticalRightInnerExtent,r+=" L "+(i.rightFullExtent+n-t)+" "+(i.targetY+i.rightSmallArcRadius)+" A "+(i.rightLargeArcRadius-n)+" "+(i.rightSmallArcRadius-n)+" 0 0 1 "+(i.rightInnerExtent-t)+" "+(i.targetY+n)+" L "+(i.targetX-t)+" "+(i.targetY+n)+(t>0?" L "+i.targetX+" "+i.targetY:"")+"Z"),r}(e.link,t);var r=Math.abs((e.link.target.x0-e.link.source.x1)/2);t>r&&(t=r);var i=e.link.source.x1,a=e.link.target.x0-t,o=n(i,a),s=o(.5),l=o(.5),c=e.link.y0-e.link.width/2,u=e.link.y0+e.link.width/2,h=e.link.y1-e.link.width/2,d=e.link.y1+e.link.width/2,f="M"+i+","+c,p="C"+s+","+c+" "+l+","+h+" "+a+","+h,m="C"+l+","+d+" "+s+","+u+" "+i+","+u,g=t>0?"L"+(a+t)+","+(h+e.link.width/2):"";return f+p+(g+="L"+a+","+d)+m+"Z"}}function S(e,t){var r=s.nodePadAcross,n=e.nodePad/2;t.dx=t.x1-t.x0,t.dy=t.y1-t.y0;var i=t.dx,a=Math.max(.5,t.dy),o="node_"+t.pointNumber;return t.group&&(o=u.randstr()),t.trace=e.trace,t.curveNumber=e.trace.index,{index:t.pointNumber,key:o,partOfGroup:t.partOfGroup||!1,group:t.group,traceId:e.key,trace:e.trace,node:t,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(i),visibleHeight:a,zoneX:-r,zoneY:-n,zoneWidth:i+2*r,zoneHeight:a+2*n,labelY:e.horizontal?t.dy/2+1:t.dx/2+1,left:1===t.originalLayer,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:l.color(t.color).isDark(),rgb:l.rgb(t.color),alpha:l.color(t.color).alpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,graph:e.graph,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,o].join("_"),interactionState:e.interactionState,figure:e}}function E(e){e.attr("transform",(function(e){return h(e.node.x0.toFixed(3),e.node.y0.toFixed(3))}))}function C(e){e.call(E)}function L(e,t){e.call(C),t.attr("d",M())}function I(e){e.attr("width",(function(e){return e.node.x1-e.node.x0})).attr("height",(function(e){return e.visibleHeight}))}function P(e){return e.link.width>1||e.linkLineWidth>0}function z(e){return h(e.translateX,e.translateY)+(e.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function O(e,t,r){e.on(".basic",null).on("mouseover.basic",(function(e){!e.interactionState.dragInProgress&&!e.partOfGroup&&(r.hover(this,e,t),e.interactionState.hovered=[this,e])})).on("mousemove.basic",(function(e){!e.interactionState.dragInProgress&&!e.partOfGroup&&(r.follow(this,e),e.interactionState.hovered=[this,e])})).on("mouseout.basic",(function(e){!e.interactionState.dragInProgress&&!e.partOfGroup&&(r.unhover(this,e,t),e.interactionState.hovered=!1)})).on("click.basic",(function(e){e.interactionState.hovered&&(r.unhover(this,e,t),e.interactionState.hovered=!1),!e.interactionState.dragInProgress&&!e.partOfGroup&&r.select(this,e,t)}))}function D(e,t,n,a){var o=i.behavior.drag().origin((function(e){return{x:e.node.x0+e.visibleWidth/2,y:e.node.y0+e.visibleHeight/2}})).on("dragstart",(function(i){if("fixed"!==i.arrangement&&(u.ensureSingle(a._fullLayout._infolayer,"g","dragcover",(function(e){a._fullLayout._dragCover=e})),u.raiseToTop(this),i.interactionState.dragInProgress=i.node,j(i.node),i.interactionState.hovered&&(n.nodeEvents.unhover.apply(0,i.interactionState.hovered),i.interactionState.hovered=!1),"snap"===i.arrangement)){var o=i.traceId+"|"+i.key;i.forceLayouts[o]?i.forceLayouts[o].alpha(1):function(e,t,n){!function(e){for(var t=0;t0&&n.forceLayouts[t].alpha(0)}}(0,t,i,n)).stop()}(0,o,i),function(e,t,r,n,i){window.requestAnimationFrame((function a(){var o;for(o=0;o0)window.requestAnimationFrame(a);else{var l=r.node.originalX;r.node.x0=l-r.visibleWidth/2,r.node.x1=l+r.visibleWidth/2,R(r,i)}}))}(e,t,i,o,a)}})).on("drag",(function(r){if("fixed"!==r.arrangement){var n=i.event.x,a=i.event.y;"snap"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2,r.node.y0=a-r.visibleHeight/2,r.node.y1=a+r.visibleHeight/2):("freeform"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),a=Math.max(0,Math.min(r.size-r.visibleHeight/2,a)),r.node.y0=a-r.visibleHeight/2,r.node.y1=a+r.visibleHeight/2),j(r.node),"snap"!==r.arrangement&&(r.sankey.update(r.graph),L(e.filter(F(r)),t))}})).on("dragend",(function(e){if("fixed"!==e.arrangement){e.interactionState.dragInProgress=!1;for(var t=0;tP(e)?l.rgb(e.linkLineColor):e.rgb)).style("stroke-opacity",(e=>P(e)?l.opacity(e.linkLineColor):e.alpha)).style("fill",(e=>e.rgb)).style("fill-opacity",(e=>e.alpha)).style("stroke-width",(e=>P(e)?e.linkLineWidth:1)).attr("d",M()),C.style("opacity",(function(){return e._context.staticPlot||f||v?1:0})).transition().ease(s.ease).duration(s.duration).style("opacity",1),C.exit().transition().ease(s.ease).duration(s.duration).style("opacity",0).remove();var L=b.selectAll("."+s.cn.sankeyNodeSet).data(m,p);L.enter().append("g").classed(s.cn.sankeyNodeSet,!0),L.style("cursor",(function(e){switch(e.arrangement){case"fixed":return"default";case"perpendicular":return"ns-resize";default:return"move"}}));var R=L.selectAll("."+s.cn.sankeyNode).data((function(e){var t=e.graph.nodes;return function(e){var t,r=[];for(t=0;te.rgb)).style("fill-opacity",(e=>e.alpha)),j.transition().ease(s.ease).duration(s.duration).call(I);var F=R.selectAll("."+s.cn.nodeLabel).data(m);F.enter().append("text").classed(s.cn.nodeLabel,!0).style("cursor","default"),F.attr("data-notex",1).text((function(e){return e.node.label})).each((function(t){var r=i.select(this);c.font(r,t.textFont),y.convertToTspans(r,e)})).attr("text-anchor",(function(e){return e.horizontal&&e.left?"end":"start"})).attr("transform",(function(e){var t=i.select(this),r=y.lineCount(t),n=e.textFont.size*((r-1)*k-_),a=e.nodeLineWidth/2+3,o=((e.horizontal?e.visibleHeight:e.visibleWidth)-n)/2;e.horizontal&&(e.left?a=-a:a+=e.visibleWidth);var s=e.horizontal?"":"scale(-1,1)"+d(90);return h(e.horizontal?a:o,e.horizontal?o:a)+s})),F.transition().ease(s.ease).duration(s.duration)}}}),Jw=m({"src/traces/sankey/plot.js"(e,t){var r=w(),n=dr(),i=n.numberFormat,a=Kw(),o=Bn(),s=Fe(),l=$w().cn,c=n._;function u(e){return""!==e}function h(e,t){return e.filter((function(e){return e.key===t.traceId}))}function d(e,t){r.select(e).select("path").style("fill-opacity",t),r.select(e).select("rect").style("fill-opacity",t)}function f(e){r.select(e).select("text.name").style("fill","black")}function p(e){return function(t){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function m(e){return function(t){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(e,t,r){t&&r&&h(r,t).selectAll("."+l.sankeyLink).filter(p(t)).call(v.bind(0,t,r,!1))}function y(e,t,r){t&&r&&h(r,t).selectAll("."+l.sankeyLink).filter(p(t)).call(x.bind(0,t,r,!1))}function v(e,t,r,n){n.style("fill",(function(e){if(!e.link.concentrationscale)return e.hoverRgb})).style("fill-opacity",(function(e){if(!e.link.concentrationscale)return e.hoverAlpha})),n.each((function(r){var n=r.link.label;""!==n&&h(t,e).selectAll("."+l.sankeyLink).filter((function(e){return e.link.label===n})).style("fill",(function(e){if(!e.link.concentrationscale)return e.hoverRgb})).style("fill-opacity",(function(e){if(!e.link.concentrationscale)return e.hoverAlpha}))})),r&&h(t,e).selectAll("."+l.sankeyNode).filter(m(e)).call(g)}function x(e,t,r,n){n.style("fill",(function(e){return e.rgb})).style("fill-opacity",(function(e){return e.alpha})),n.each((function(r){var n=r.link.label;""!==n&&h(t,e).selectAll("."+l.sankeyLink).filter((function(e){return e.link.label===n})).style("fill",(e=>e.rgb)).style("fill-opacity",(e=>e.alpha))})),r&&h(t,e).selectAll(l.sankeyNode).filter(m(e)).call(y)}function b(e,t){var r=e.hoverlabel||{},i=n.nestedProperty(r,t).get();return!Array.isArray(i)&&i}t.exports=function(e,t){for(var n=e._fullLayout,h=n._paper,p=n._size,m=0;m"),color:b(l,"bgcolor")||s.addOpacity(m.color,1),borderColor:b(l,"bordercolor"),fontFamily:b(l,"font.family"),fontSize:b(l,"font.size"),fontColor:b(l,"font.color"),fontWeight:b(l,"font.weight"),fontStyle:b(l,"font.style"),fontVariant:b(l,"font.variant"),fontTextcase:b(l,"font.textcase"),fontLineposition:b(l,"font.lineposition"),fontShadow:b(l,"font.shadow"),nameLength:b(l,"namelength"),textAlign:b(l,"align"),idealAlign:r.event.x"),color:b(s,"bgcolor")||a.rgb,borderColor:b(s,"bordercolor"),fontFamily:b(s,"font.family"),fontSize:b(s,"font.size"),fontColor:b(s,"font.color"),fontWeight:b(s,"font.weight"),fontStyle:b(s,"font.style"),fontVariant:b(s,"font.variant"),fontTextcase:b(s,"font.textcase"),fontLineposition:b(s,"font.lineposition"),fontShadow:b(s,"font.shadow"),nameLength:b(s,"namelength"),textAlign:b(s,"align"),idealAlign:"left",hovertemplate:s.hovertemplate,hovertemplateLabels:v,eventData:[a.node]},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:e});d(w,.85),f(w)}}},unhover:function(t,i,a){!1!==e._fullLayout.hovermode&&(r.select(t).call(y,i,a),"skip"!==i.node.trace.node.hoverinfo&&(i.node.fullData=i.node.trace,e.emit("plotly_unhover",{event:r.event,points:[i.node]})),o.loneUnhover(n._hoverlayer.node()))},select:function(t,n,i){var a=n.node;a.originalEvent=r.event,e._hoverdata=[a],r.select(t).call(y,n,i),o.click(e,{target:!0})}}})}}}),Qw=m({"src/traces/sankey/base_plot.js"(e){var t=St().overrideAll,r=Mr().getModuleCalcData,n=Jw(),i=G(),a=vn(),o=yn(),s=ji().prepSelect,l=dr(),c=jt(),u="sankey";function h(e,t){var r=e._fullData[t],n=e._fullLayout,i=n.dragmode,u="pan"===n.dragmode?"move":"crosshair",h=r._bgRect;if(h&&"pan"!==i&&"zoom"!==i){a(h,u);var d={_id:"x",c2p:l.identity,_offset:r._sankey.translateX,_length:r._sankey.width},f={_id:"y",c2p:l.identity,_offset:r._sankey.translateY,_length:r._sankey.height},p={gd:e,element:h.node(),plotinfo:{id:t,xaxis:d,yaxis:f,fillRangeItems:l.noop},subplot:t,xaxes:[d],yaxes:[f],doneFnCompleted:function(r){var n,i=e._fullData[t],a=i.node.groups.slice(),o=[];function s(e){for(var t=i._sankey.graph.nodes,r=0;r0}function T(e){e.each((function(e){y.stroke(r.select(this),e.line.color)})).each((function(e){y.fill(r.select(this),e.color)})).style("stroke-width",(function(e){return e.line.width}))}function A(e,t,r){var n=e._fullLayout,i=a.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},t),o={type:"linear",_id:"x"+t._id},s={letter:"x",font:n.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function l(e,t){return a.coerce(i,o,g,e,t)}return p(i,o,l,s,n),m(i,o,l,s),o}function M(e,t,r){return[Math.min(t/e.width,r/e.height),e,t+"x"+r]}function S(e,t,n,i){var a=document.createElementNS("http://www.w3.org/2000/svg","text"),o=r.select(a);return o.text(e).attr("x",0).attr("y",0).attr("text-anchor",n).attr("data-unformatted",e).call(d.convertToTspans,i).call(u.font,t),u.bBox(o.node())}function E(e,t,r,n,i,o){var s="_cache"+t;e[s]&&e[s].key===i||(e[s]={key:i,value:r});var l=a.aggNums(o,null,[e[s].value,n],2);return e[s].value=l,l}t.exports=function(e,t,p,m){var g,x=e._fullLayout;k(p)&&m&&(g=m()),a.makeTraceGroups(x._indicatorlayer,t,"trace").each((function(t){var m,w,C,L,I,P=t[0].trace,z=r.select(this),O=P._hasGauge,D=P._isAngular,R=P._isBullet,j=P.domain,F={w:x._size.w*(j.x[1]-j.x[0]),h:x._size.h*(j.y[1]-j.y[0]),l:x._size.l+x._size.w*j.x[0],r:x._size.r+x._size.w*(1-j.x[1]),t:x._size.t+x._size.h*(1-j.y[1]),b:x._size.b+x._size.h*j.y[0]},B=F.l+F.w/2,N=F.t+F.h/2,U=Math.min(F.w/2,F.h),V=h.innerRadius*U,q=P.align||"center";if(w=N,O){if(D&&(m=B,w=N+U/2,C=function(e){return function(e,t){return[t/Math.sqrt(e.width/2*(e.width/2)+e.height*e.height),e,t]}(e,.9*V)}),R){var H=h.bulletPadding,G=1-h.bulletNumberDomainSize+H;m=F.l+(G+(1-G)*b[q])*F.w,C=function(e){return M(e,(h.bulletNumberDomainSize-H)*F.w,F.h)}}}else m=F.l+b[q]*F.w,C=function(e){return M(e,F.w,F.h)};!function(e,t,n,l){var c,h,p,m=n[0].trace,g=l.numbersX,x=l.numbersY,w=m.align||"center",T=v[w],M=l.transitionOpts,C=l.onComplete,L=a.ensureSingle(t,"g","numbers"),I=[];m._hasNumber&&I.push("number"),m._hasDelta&&(I.push("delta"),"left"===m.delta.position&&I.reverse());var P=L.selectAll("text").data(I);function z(t,r,n,i){if(!t.match("s")||n>=0==i>=0||r(n).slice(-1).match(_)||r(i).slice(-1).match(_))return r;var a=t.slice().replace("s","f").replace(/\d+/,(function(e){return parseInt(e)-1})),o=A(e,{tickformat:a});return function(e){return Math.abs(e)<1?f.tickText(o,e).text:r(e)}}P.enter().append("text"),P.attr("text-anchor",(function(){return T})).attr("class",(function(e){return e})).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),P.exit().remove();var O,D=m.mode+m.align;if(m._hasDelta&&(O=function(){var t=A(e,{tickformat:m.delta.valueformat},m._range);t.setScale(),f.prepTicks(t);var a=function(e){return f.tickText(t,e).text},o=m.delta.suffix,s=m.delta.prefix,l=function(e){return m.delta.relative?e.relativeDelta:e.delta},c=function(e,t){return 0===e||"number"!=typeof e||isNaN(e)?"-":(e>0?m.delta.increasing.symbol:m.delta.decreasing.symbol)+s+t(e)+o},p=function(e){return e.delta>=0?m.delta.increasing.color:m.delta.decreasing.color};void 0===m._deltaLastValue&&(m._deltaLastValue=l(n[0]));var g=L.select("text.delta");function v(){g.text(c(l(n[0]),a)).call(y.fill,p(n[0])).call(d.convertToTspans,e)}return g.call(u.font,m.delta.font).call(y.fill,p({delta:m._deltaLastValue})),k(M)?g.transition().duration(M.duration).ease(M.easing).tween("text",(function(){var e=r.select(this),t=l(n[0]),o=m._deltaLastValue,s=z(m.delta.valueformat,a,o,t),u=i(o,t);return m._deltaLastValue=t,function(t){e.text(c(u(t),s)),e.call(y.fill,p({delta:u(t)}))}})).each("end",(function(){v(),C&&C()})).each("interrupt",(function(){v(),C&&C()})):v(),h=S(c(l(n[0]),a),m.delta.font,T,e),g}(),D+=m.delta.position+m.delta.font.size+m.delta.font.family+m.delta.valueformat,D+=m.delta.increasing.symbol+m.delta.decreasing.symbol,p=h),m._hasNumber&&(function(){var t=A(e,{tickformat:m.number.valueformat},m._range);t.setScale(),f.prepTicks(t);var a=function(e){return f.tickText(t,e).text},o=m.number.suffix,s=m.number.prefix,l=L.select("text.number");function h(){var t="number"==typeof n[0].y?s+a(n[0].y)+o:"-";l.text(t).call(u.font,m.number.font).call(d.convertToTspans,e)}k(M)?l.transition().duration(M.duration).ease(M.easing).each("end",(function(){h(),C&&C()})).each("interrupt",(function(){h(),C&&C()})).attrTween("text",(function(){var e=r.select(this),t=i(n[0].lastY,n[0].y);m._lastValue=n[0].y;var l=z(m.number.valueformat,a,n[0].lastY,n[0].y);return function(r){e.text(s+l(t(r))+o)}})):h(),c=S(s+a(n[0].y)+o,m.number.font,T,e)}(),D+=m.number.font.size+m.number.font.family+m.number.valueformat+m.number.suffix+m.number.prefix,p=c),m._hasDelta&&m._hasNumber){var R,j,F=[(c.left+c.right)/2,(c.top+c.bottom)/2],B=[(h.left+h.right)/2,(h.top+h.bottom)/2],N=.75*m.delta.font.size;"left"===m.delta.position&&(R=E(m,"deltaPos",0,-1*(c.width*b[m.align]+h.width*(1-b[m.align])+N),D,Math.min),j=F[1]-B[1],p={width:c.width+h.width+N,height:Math.max(c.height,h.height),left:h.left+R,right:c.right,top:Math.min(c.top,h.top+j),bottom:Math.max(c.bottom,h.bottom+j)}),"right"===m.delta.position&&(R=E(m,"deltaPos",0,c.width*(1-b[m.align])+h.width*b[m.align]+N,D,Math.max),j=F[1]-B[1],p={width:c.width+h.width+N,height:Math.max(c.height,h.height),left:c.left,right:h.right+R,top:Math.min(c.top,h.top+j),bottom:Math.max(c.bottom,h.bottom+j)}),"bottom"===m.delta.position&&(R=null,j=h.height,p={width:Math.max(c.width,h.width),height:c.height+h.height,left:Math.min(c.left,h.left),right:Math.max(c.right,h.right),top:c.bottom-c.height,bottom:c.bottom+h.height}),"top"===m.delta.position&&(R=null,j=c.top,p={width:Math.max(c.width,h.width),height:c.height+h.height,left:Math.min(c.left,h.left),right:Math.max(c.right,h.right),top:c.bottom-c.height-h.height,bottom:c.bottom}),O.attr({dx:R,dy:j})}(m._hasNumber||m._hasDelta)&&L.attr("transform",(function(){var e=l.numbersScaler(p);D+=e[2];var t,r=E(m,"numbersScale",1,e[0],D,Math.min);m._scaleNumbers||(r=1),t=m._isAngular?x-r*p.bottom:x-r*(p.top+p.bottom)/2,m._numbersTop=r*p.top+t;var n=p[w];"center"===w&&(n=(p.left+p.right)/2);var i=g-r*n;return i=E(m,"numbersTranslate",0,i,D,Math.max),s(i,t)+o(r)}))}(e,z,t,{numbersX:m,numbersY:w,numbersScaler:C,transitionOpts:p,onComplete:g}),O&&(L={range:P.gauge.axis.range,color:P.gauge.bgcolor,line:{color:P.gauge.bordercolor,width:0},thickness:1},I={range:P.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:P.gauge.bordercolor,width:P.gauge.borderwidth},thickness:1});var W=z.selectAll("g.angular").data(D?t:[]);W.exit().remove();var Y=z.selectAll("g.angularaxis").data(D?t:[]);Y.exit().remove(),D&&function(e,t,i,a){var o,u,h,d,p=i[0].trace,m=a.size,g=a.radius,y=a.innerRadius,v=a.gaugeBg,x=a.gaugeOutline,b=[m.l+m.w/2,m.t+m.h/2+g/2],_=a.gauge,w=a.layer,M=a.transitionOpts,S=a.onComplete,E=Math.PI/2;function C(e){var t=p.gauge.axis.range[0],r=(e-t)/(p.gauge.axis.range[1]-t)*Math.PI-E;return r<-E?-E:r>E?E:r}function L(e){return r.svg.arc().innerRadius((y+g)/2-e/2*(g-y)).outerRadius((y+g)/2+e/2*(g-y)).startAngle(-E)}function I(e){e.attr("d",(function(e){return L(e.thickness).startAngle(C(e.range[0])).endAngle(C(e.range[1]))()}))}_.enter().append("g").classed("angular",!0),_.attr("transform",s(b[0],b[1])),w.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),w.selectAll("g.xangularaxistick,path,text").remove(),(o=A(e,p.gauge.axis)).type="linear",o.range=p.gauge.axis.range,o._id="xangularaxis",o.ticklabeloverflow="allow",o.setScale();var P=function(e){return(o.range[0]-e.x)/(o.range[1]-o.range[0])*Math.PI+Math.PI},z={},O=f.makeLabelFns(o,0).labelStandoff;z.xFn=function(e){var t=P(e);return Math.cos(t)*O},z.yFn=function(e){var t=P(e),r=Math.sin(t)>0?.2:1;return-Math.sin(t)*(O+e.fontSize*r)+Math.abs(Math.cos(t))*(e.fontSize*c)},z.anchorFn=function(e){var t=P(e),r=Math.cos(t);return Math.abs(r)<.1?"middle":r>0?"start":"end"},z.heightFn=function(e,t,r){var n=P(e);return-.5*(1+Math.sin(n))*r};var D=function(e){return s(b[0]+g*Math.cos(e),b[1]-g*Math.sin(e))};h=function(e){return D(P(e))};if(u=f.calcTicks(o),d=f.getTickSigns(o)[2],o.visible){d="inside"===o.ticks?-1:1;var R=(o.linewidth||1)/2;f.drawTicks(e,o,{vals:u,layer:w,path:"M"+d*R+",0h"+d*o.ticklen,transFn:function(e){var t=P(e);return D(t)+"rotate("+-l(t)+")"}}),f.drawLabels(e,o,{vals:u,layer:w,transFn:h,labelFns:z})}var j=[v].concat(p.gauge.steps),F=_.selectAll("g.bg-arc").data(j);F.enter().append("g").classed("bg-arc",!0).append("path"),F.select("path").call(I).call(T),F.exit().remove();var B=L(p.gauge.bar.thickness),N=_.selectAll("g.value-arc").data([p.gauge.bar]);N.enter().append("g").classed("value-arc",!0).append("path");var U=N.select("path");k(M)?(U.transition().duration(M.duration).ease(M.easing).each("end",(function(){S&&S()})).each("interrupt",(function(){S&&S()})).attrTween("d",function(e,t,r){return function(){var i=n(t,r);return function(t){return e.endAngle(i(t))()}}}(B,C(i[0].lastY),C(i[0].y))),p._lastValue=i[0].y):U.attr("d","number"==typeof i[0].y?B.endAngle(C(i[0].y)):"M0,0Z"),U.call(T),N.exit().remove(),j=[];var V=p.gauge.threshold.value;(V||0===V)&&j.push({range:[V,V],color:p.gauge.threshold.color,line:{color:p.gauge.threshold.line.color,width:p.gauge.threshold.line.width},thickness:p.gauge.threshold.thickness});var q=_.selectAll("g.threshold-arc").data(j);q.enter().append("g").classed("threshold-arc",!0).append("path"),q.select("path").call(I).call(T),q.exit().remove();var H=_.selectAll("g.gauge-outline").data([x]);H.enter().append("g").classed("gauge-outline",!0).append("path"),H.select("path").call(I).call(T),H.exit().remove()}(e,0,t,{radius:U,innerRadius:V,gauge:W,layer:Y,size:F,gaugeBg:L,gaugeOutline:I,transitionOpts:p,onComplete:g});var X=z.selectAll("g.bullet").data(R?t:[]);X.exit().remove();var Z=z.selectAll("g.bulletaxis").data(R?t:[]);Z.exit().remove(),R&&function(e,t,r,n){var i,a,o,l,c,u=r[0].trace,d=n.gauge,p=n.layer,m=n.gaugeBg,g=n.gaugeOutline,v=n.size,x=u.domain,b=n.transitionOpts,_=n.onComplete;d.enter().append("g").classed("bullet",!0),d.attr("transform",s(v.l,v.t)),p.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),p.selectAll("g.xbulletaxistick,path,text").remove();var w=v.h,M=u.gauge.bar.thickness*w,S=x.x[0],E=x.x[0]+(x.x[1]-x.x[0])*(u._hasNumber||u._hasDelta?1-h.bulletNumberDomainSize:1);function C(e){e.attr("width",(function(e){return Math.max(0,i.c2p(e.range[1])-i.c2p(e.range[0]))})).attr("x",(function(e){return i.c2p(e.range[0])})).attr("y",(function(e){return.5*(1-e.thickness)*w})).attr("height",(function(e){return e.thickness*w}))}(i=A(e,u.gauge.axis))._id="xbulletaxis",i.domain=[S,E],i.setScale(),a=f.calcTicks(i),o=f.makeTransTickFn(i),l=f.getTickSigns(i)[2],c=v.t+v.h,i.visible&&(f.drawTicks(e,i,{vals:"inside"===i.ticks?f.clipEnds(i,a):a,layer:p,path:f.makeTickPath(i,c,l),transFn:o}),f.drawLabels(e,i,{vals:a,layer:p,transFn:o,labelFns:f.makeLabelFns(i,c)}));var L=[m].concat(u.gauge.steps),I=d.selectAll("g.bg-bullet").data(L);I.enter().append("g").classed("bg-bullet",!0).append("rect"),I.select("rect").call(C).call(T),I.exit().remove();var P=d.selectAll("g.value-bullet").data([u.gauge.bar]);P.enter().append("g").classed("value-bullet",!0).append("rect"),P.select("rect").attr("height",M).attr("y",(w-M)/2).call(T),k(b)?P.select("rect").transition().duration(b.duration).ease(b.easing).each("end",(function(){_&&_()})).each("interrupt",(function(){_&&_()})).attr("width",Math.max(0,i.c2p(Math.min(u.gauge.axis.range[1],r[0].y)))):P.select("rect").attr("width","number"==typeof r[0].y?Math.max(0,i.c2p(Math.min(u.gauge.axis.range[1],r[0].y))):0),P.exit().remove();var z=r.filter((function(){return u.gauge.threshold.value||0===u.gauge.threshold.value})),O=d.selectAll("g.threshold-bullet").data(z);O.enter().append("g").classed("threshold-bullet",!0).append("line"),O.select("line").attr("x1",i.c2p(u.gauge.threshold.value)).attr("x2",i.c2p(u.gauge.threshold.value)).attr("y1",(1-u.gauge.threshold.thickness)/2*w).attr("y2",(1-(1-u.gauge.threshold.thickness)/2)*w).call(y.stroke,u.gauge.threshold.line.color).style("stroke-width",u.gauge.threshold.line.width),O.exit().remove();var D=d.selectAll("g.gauge-outline").data([g]);D.enter().append("g").classed("gauge-outline",!0).append("rect"),D.select("rect").call(C).call(T),D.exit().remove()}(e,0,t,{gauge:X,layer:Z,size:F,gaugeBg:L,gaugeOutline:I,transitionOpts:p,onComplete:g});var $=z.selectAll("text.title").data(t);$.exit().remove(),$.enter().append("text").classed("title",!0),$.attr("text-anchor",(function(){return R?v.right:v[P.title.align]})).text(P.title.text).call(u.font,P.title.font).call(d.convertToTspans,e),$.attr("transform",(function(){var e,t=F.l+F.w*b[P.title.align],r=h.titlePadding,n=u.bBox($.node());return O?(D&&(e=P.gauge.axis.visible?u.bBox(Y.node()).top-r-n.bottom:F.t+F.h/2-U/2-n.bottom-r),R&&(e=w-(n.top+n.bottom)/2,t=F.l-h.bulletPadding*F.w)):e=P._numbersTop-r-n.bottom,s(t,e)}))}))}}}),ck=m({"src/traces/indicator/index.js"(e,t){t.exports={moduleType:"trace",name:"indicator",basePlotModule:nk(),categories:["svg","noOpacity","noHover"],animatable:!0,attributes:ik(),supplyDefaults:ok().supplyDefaults,calc:sk().calc,plot:lk(),meta:{}}}}),uk=m({"lib/indicator.js"(e,t){t.exports=ck()}}),hk=m({"src/traces/table/attributes.js"(e,t){var r=Ci(),n=V().extendFlat,i=St().overrideAll,a=q(),o=Do().attributes,s=zr().descriptionOnlyNumbers;t.exports=i({domain:o({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:s("cell value")},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:28},align:n({},r.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:n({},a({arrayOk:!0}))},cells:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[],description:s("cell value")},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:20},align:n({},r.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:n({},a({arrayOk:!0}))}},"calc","from-root")}}),dk=m({"src/traces/table/defaults.js"(e,t){var r=dr(),n=hk(),i=Do().defaults;t.exports=function(e,t,a,o){function s(i,a){return r.coerce(e,t,n,i,a)}i(t,o,s),s("columnwidth"),s("header.values"),s("header.format"),s("header.align"),s("header.prefix"),s("header.suffix"),s("header.height"),s("header.line.width"),s("header.line.color"),s("header.fill.color"),r.coerceFont(s,"header.font",o.font),function(e,t){for(var r=e.columnorder||[],n=e.header.values.length,i=r.slice(0,n),a=i.slice().sort((function(e,t){return e-t})),o=i.map((function(e){return a.indexOf(e)})),s=o.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"}}}}),mk=m({"src/traces/table/data_preparation_helper.js"(e,t){var r=pk(),n=V().extendFlat,i=S(),a=I().isTypedArray,o=I().isArrayOrTypedArray;function s(e){if(o(e)){for(var t=0,r=0;r=t||c===e.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=c,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=c+1,a=0);return n}t.exports=function(e,t){var a=c(t.cells.values),p=function(e){return e.slice(t.header.values.length,e.length)},m=c(t.header.values);m.length&&!m[0].length&&(m[0]=[""],m=c(m));var g=m.concat(p(a).map((function(){return u((m[0]||[""]).length)}))),y=t.domain,v=Math.floor(e._fullLayout._size.w*(y.x[1]-y.x[0])),x=Math.floor(e._fullLayout._size.h*(y.y[1]-y.y[0])),b=t.header.values.length?g[0].map((function(){return t.header.height})):[r.emptyHeaderHeight],_=a.length?a[0].map((function(){return t.cells.height})):[],w=b.reduce(l,0),k=f(_,x-w+r.uplift),T=d(f(b,w),[]),A=d(k,T),M={},S=t.columnorder;o(S)&&(S=Array.from(S)),S=S.concat(p(a.map((function(e,t){return t}))));var E=g.map((function(e,r){var n=o(t.columnwidth)?t.columnwidth[Math.min(r,t.columnwidth.length-1)]:t.columnwidth;return i(n)?Number(n):1})),C=E.reduce(l,0);E=E.map((function(e){return e/C*v}));var L=Math.max(s(t.header.line.width),s(t.cells.line.width)),I={key:t.uid+e._context.staticPlot,translateX:y.x[0]*e._fullLayout._size.w,translateY:e._fullLayout._size.h*(1-y.y[1]),size:e._fullLayout._size,width:v,maxLineWidth:L,height:x,columnOrder:S,groupHeight:x,rowBlocks:A,headerRowBlocks:T,scrollY:0,cells:n({},t.cells,{values:a}),headerCells:n({},t.header,{values:g}),gdColumns:g.map((function(e){return e[0]})),gdColumnsOriginalOrder:g.map((function(e){return e[0]})),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.map((function(e,t){var r=M[e];return M[e]=(r||0)+1,{key:e+"__"+M[e],label:e,specIndex:t,xIndex:S[t],xScale:h,x:void 0,calcdata:void 0,columnWidth:E[t]}}))};return I.columns.forEach((function(e){e.calcdata=I,e.x=h(e)})),I}}}),gk=m({"src/traces/table/data_split_helpers.js"(e){var t=V().extendFlat;e.splitToPanels=function(e){var r=[0,0],n=t({},e,{key:"header",type:"header",page:0,prevPages:r,currentRepaint:[null,null],dragHandle:!0,values:e.calcdata.headerCells.values[e.specIndex],rowBlocks:e.calcdata.headerRowBlocks,calcdata:t({},e.calcdata,{cells:e.calcdata.headerCells})});return[t({},e,{key:"cells1",type:"cells",page:0,prevPages:r,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks}),t({},e,{key:"cells2",type:"cells",page:1,prevPages:r,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks}),n]},e.splitToCells=function(e){var t=function(e){var t=e.rowBlocks[e.page],r=t?t.rows[0].rowIndex:0;return[r,t?r+t.rows.length:0]}(e);return(e.values||[]).slice(t[0],t[1]).map((function(r,n){return{keyWithinBlock:n+("string"==typeof r&&r.match(/[<$&> ]/)?"_keybuster_"+Math.random():""),key:t[0]+n,column:e,calcdata:e.calcdata,page:e.page,rowBlocks:e.rowBlocks,value:r}}))}}}),yk=m({"src/traces/table/plot.js"(e,t){var r=pk(),n=w(),i=dr(),a=i.numberFormat,o=v_(),s=nn(),l=Ir(),c=dr().raiseToTop,u=dr().strTranslate,h=dr().cancelTransition,d=mk(),f=gk(),p=Fe();function m(e){return Math.ceil(e.calcdata.maxLineWidth/2)}function g(e,t){return"clip"+e._fullLayout._uid+"_scrollAreaBottomClip_"+t.key}function y(e,t){return"clip"+e._fullLayout._uid+"_columnBoundaryClippath_"+t.calcdata.key+"_"+t.specIndex}function v(e){return[].concat.apply([],e.map((function(e){return e}))).map((function(e){return e.__data__}))}function x(e,t,i){var a=e.selectAll("."+r.cn.scrollbarKit).data(o.repeat,o.keyFun);a.enter().append("g").classed(r.cn.scrollbarKit,!0).style("shape-rendering","geometricPrecision"),a.each((function(e){var t=e.scrollbarState;t.totalHeight=function(e){var t=e.rowBlocks;return R(t,t.length-1)+(t.length?j(t[t.length-1],1/0):1)}(e),t.scrollableAreaHeight=e.groupHeight-E(e),t.currentlyVisibleHeight=Math.min(t.totalHeight,t.scrollableAreaHeight),t.ratio=t.currentlyVisibleHeight/t.totalHeight,t.barLength=Math.max(t.ratio*t.currentlyVisibleHeight,r.goldenRatio*r.scrollbarWidth),t.barWiggleRoom=t.currentlyVisibleHeight-t.barLength,t.wiggleRoom=Math.max(0,t.totalHeight-t.scrollableAreaHeight),t.topY=0===t.barWiggleRoom?0:e.scrollY/t.wiggleRoom*t.barWiggleRoom,t.bottomY=t.topY+t.barLength,t.dragMultiplier=t.wiggleRoom/t.barWiggleRoom})).attr("transform",(function(e){var t=e.width+r.scrollbarWidth/2+r.scrollbarOffset;return u(t,E(e))}));var s=a.selectAll("."+r.cn.scrollbar).data(o.repeat,o.keyFun);s.enter().append("g").classed(r.cn.scrollbar,!0);var l=s.selectAll("."+r.cn.scrollbarSlider).data(o.repeat,o.keyFun);l.enter().append("g").classed(r.cn.scrollbarSlider,!0),l.attr("transform",(function(e){return u(0,e.scrollbarState.topY||0)}));var c=l.selectAll("."+r.cn.scrollbarGlyph).data(o.repeat,o.keyFun);c.enter().append("line").classed(r.cn.scrollbarGlyph,!0).attr("stroke","black").attr("stroke-width",r.scrollbarWidth).attr("stroke-linecap","round").attr("y1",r.scrollbarWidth/2),c.attr("y2",(function(e){return e.scrollbarState.barLength-r.scrollbarWidth/2})).attr("stroke-opacity",(function(e){return e.columnDragInProgress||!e.scrollbarState.barWiggleRoom||i?0:.4})),c.transition().delay(0).duration(0),c.transition().delay(r.scrollbarHideDelay).duration(r.scrollbarHideDuration).attr("stroke-opacity",0);var h=s.selectAll("."+r.cn.scrollbarCaptureZone).data(o.repeat,o.keyFun);h.enter().append("line").classed(r.cn.scrollbarCaptureZone,!0).attr("stroke","white").attr("stroke-opacity",.01).attr("stroke-width",r.scrollbarCaptureWidth).attr("stroke-linecap","butt").attr("y1",0).on("mousedown",(function(r){var i=n.event.y,a=this.getBoundingClientRect(),o=r.scrollbarState,s=i-a.top,l=n.scale.linear().domain([0,o.scrollableAreaHeight]).range([0,o.totalHeight]).clamp(!0);o.topY<=s&&s<=o.bottomY||L(t,e,null,l(s-o.barLength/2))(r)})).call(n.behavior.drag().origin((function(e){return n.event.stopPropagation(),e.scrollbarState.scrollbarScrollInProgress=!0,e})).on("drag",L(t,e)).on("dragend",(function(){}))),h.attr("y2",(function(e){return e.scrollbarState.scrollableAreaHeight})),t._context.staticPlot&&(c.remove(),h.remove())}function b(e,t,i,a){var l=function(e){var t=e.selectAll("."+r.cn.columnCells).data(o.repeat,o.keyFun);return t.enter().append("g").classed(r.cn.columnCells,!0),t.exit().remove(),t}(i),c=function(e){var t=e.selectAll("."+r.cn.columnCell).data(f.splitToCells,(function(e){return e.keyWithinBlock}));return t.enter().append("g").classed(r.cn.columnCell,!0),t.exit().remove(),t}(l);!function(e){e.each((function(e,t){var r=e.calcdata.cells.font,n=e.column.specIndex,i={size:T(r.size,n,t),color:T(r.color,n,t),family:T(r.family,n,t),weight:T(r.weight,n,t),style:T(r.style,n,t),variant:T(r.variant,n,t),textcase:T(r.textcase,n,t),lineposition:T(r.lineposition,n,t),shadow:T(r.shadow,n,t)};e.rowNumber=e.key,e.align=T(e.calcdata.cells.align,n,t),e.cellBorderWidth=T(e.calcdata.cells.line.width,n,t),e.font=i}))}(c);var u=function(e){var t=e.selectAll("."+r.cn.cellRect).data(o.repeat,(function(e){return e.keyWithinBlock}));return t.enter().append("rect").classed(r.cn.cellRect,!0),t}(c);!function(e){e.attr("width",(function(e){return e.column.columnWidth})).attr("stroke-width",(function(e){return e.cellBorderWidth})).each((function(e){var t=n.select(this);p.stroke(t,T(e.calcdata.cells.line.color,e.column.specIndex,e.rowNumber)),p.fill(t,T(e.calcdata.cells.fill.color,e.column.specIndex,e.rowNumber))}))}(u);var h=function(e){var t=e.selectAll("."+r.cn.cellTextHolder).data(o.repeat,(function(e){return e.keyWithinBlock}));return t.enter().append("g").classed(r.cn.cellTextHolder,!0).style("shape-rendering","geometricPrecision"),t}(c),d=function(e){var t=e.selectAll("."+r.cn.cellText).data(o.repeat,(function(e){return e.keyWithinBlock}));return t.enter().append("text").classed(r.cn.cellText,!0).style("cursor",(function(){return"auto"})).on("mousedown",(function(){n.event.stopPropagation()})),t}(h);(function(e){e.each((function(e){s.font(n.select(this),e.font)}))})(d),_(d,t,a,e),D(c)}function _(e,t,i,o){e.text((function(e){var t=e.column.specIndex,n=e.rowNumber,i=e.value,o="string"==typeof i,s=o&&i.match(/
/i),l=!o||s;e.mayHaveMarkup=o&&i.match(/[<&>]/);var c=function(e){return"string"==typeof e&&e.match(r.latexCheck)}(i);e.latex=c;var u,h,d=c?"":T(e.calcdata.cells.prefix,t,n)||"",f=c?"":T(e.calcdata.cells.suffix,t,n)||"",p=c?null:T(e.calcdata.cells.format,t,n)||null,m=d+(p?a(p)(e.value):e.value)+f;if(e.wrappingNeeded=!e.wrapped&&!l&&!c&&(u=k(m)),e.cellHeightMayIncrease=s||c||e.mayHaveMarkup||(void 0===u?k(m):u),e.needsConvertToTspans=e.mayHaveMarkup||e.wrappingNeeded||e.latex,e.wrappingNeeded){var g=(" "===r.wrapSplitCharacter?m.replace(/i&&n.push(a),i+=l}return n}(i,l,s);1===c.length&&(c[0]===i.length-1?c.unshift(c[0]-1):c.push(c[0]+1)),c[0]%2&&c.reverse(),t.each((function(e,t){e.page=c[t],e.scrollY=l})),t.attr("transform",(function(e){var t=R(e.rowBlocks,e.page)-e.scrollY;return u(0,t)})),e&&(I(e,r,t,c,n.prevPages,n,0),I(e,r,t,c,n.prevPages,n,1),x(r,e))}}function L(e,t,i,a){return function(o){var s=o.calcdata?o.calcdata:o,l=t.filter((function(e){return s.key===e.key})),c=i||s.scrollbarState.dragMultiplier,u=s.scrollY;s.scrollY=void 0===a?s.scrollY+c*n.event.dy:a;var h=l.selectAll("."+r.cn.yColumn).selectAll("."+r.cn.columnBlock).filter(M);return C(e,h,l),s.scrollY===u}}function I(e,t,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout((function(){var a=r.filter((function(e,t){return t===o&&n[t]!==i[t]}));b(e,t,a,r),i[o]=n[o]})))}function P(e,t,i,a){return function(){var o=n.select(t.parentNode);o.each((function(e){var t=e.fragments;o.selectAll("tspan.line").each((function(e,r){t[r].width=this.getComputedTextLength()}));var n,i,a=t[t.length-1].width,s=t.slice(0,-1),l=[],c=0,u=e.column.columnWidth-2*r.cellPad;for(e.value="";s.length;)c+(i=(n=s.shift()).width+a)>u&&(e.value+=l.join(r.wrapSpacer)+r.lineBreaker,l=[],c=0),l.push(n.text),c+=i;c&&(e.value+=l.join(r.wrapSpacer)),e.wrapped=!0})),o.selectAll("tspan.line").remove(),_(o.select("."+r.cn.cellText),i,e,a),n.select(t.parentNode.parentNode).call(D)}}function z(e,t,i,a,o){return function(){if(!o.settledY){var s=n.select(t.parentNode),l=B(o),c=o.key-l.firstRowIndex,h=l.rows[c].rowHeight,d=o.cellHeightMayIncrease?t.parentNode.getBoundingClientRect().height+2*r.cellPad:h,f=Math.max(d,h);f-l.rows[c].rowHeight&&(l.rows[c].rowHeight=f,e.selectAll("."+r.cn.columnCell).call(D),C(null,e.filter(M),0),x(i,a,!0)),s.attr("transform",(function(){var e=this,t=e.parentNode.getBoundingClientRect(),i=n.select(e.parentNode).select("."+r.cn.cellRect).node().getBoundingClientRect(),a=e.transform.baseVal.consolidate(),s=i.top-t.top+(a?a.matrix.f:r.cellPad);return u(O(o,n.select(e.parentNode).select("."+r.cn.cellTextHolder).node().getBoundingClientRect().width),s)})),o.settledY=!0}}}function O(e,t){switch(e.align){case"left":default:return r.cellPad;case"right":return e.column.columnWidth-(t||0)-r.cellPad;case"center":return(e.column.columnWidth-(t||0))/2}}function D(e){e.attr("transform",(function(e){var t=e.rowBlocks[0].auxiliaryBlocks.reduce((function(e,t){return e+j(t,1/0)}),0),r=j(B(e),e.key);return u(0,r+t)})).selectAll("."+r.cn.cellRect).attr("height",(function(e){return function(e,t){return e.rows[t-e.firstRowIndex]}(B(e),e.key).rowHeight}))}function R(e,t){for(var r=0,n=t-1;n>=0;n--)r+=F(e[n]);return r}function j(e,t){for(var r=0,n=0;nt.length&&(e=e.slice(0,t.length)):e=[],i=0;i90&&(f-=180,l=-l),{angle:f,flip:l,p:e.c2p(n,t,r),offsetMultplier:c}}}}),Lk=m({"src/traces/carpet/plot.js"(e,t){var r=w(),n=nn(),i=Sk(),a=Ek(),o=Ck(),s=Ir(),l=dr(),c=l.strRotate,u=l.strTranslate,h=Lr();function d(e,t,o,s,l,c,u){var h="const-"+l+"-lines",d=o.selectAll("."+h).data(c);d.enter().append("path").classed(h,!0).style("vector-effect",u?"none":"non-scaling-stroke"),d.each((function(o){var s=o,l=s.x,c=s.y,u=i([],l,e.c2p),h=i([],c,t.c2p),d="M"+a(u,h,s.smoothing);r.select(this).attr("d",d).style("stroke-width",s.width).style("stroke",s.color).style("stroke-dasharray",n.dashStyle(s.dash,s.width)).style("fill","none")})),d.exit().remove()}function f(e,t,i,a,l,h,d,f){var p=h.selectAll("text."+f).data(d);p.enter().append("text").classed(f,!0);var m=0,g={};return p.each((function(l,h){var d;if("auto"===l.axis.tickangle)d=o(a,t,i,l.xy,l.dxy);else{var f=(l.axis.tickangle+180)*Math.PI/180;d=o(a,t,i,l.xy,[Math.cos(f),Math.sin(f)])}h||(g={angle:d.angle,flip:d.flip});var p=(l.endAnchor?-1:1)*d.flip,y=r.select(this).attr({"text-anchor":p>0?"start":"end","data-notex":1}).call(n.font,l.font).text(l.text).call(s.convertToTspans,e),v=n.bBox(this);y.attr("transform",u(d.p[0],d.p[1])+c(d.angle)+u(l.axis.labelpadding*p,.3*v.height)),m=Math.max(m,v.width+l.axis.labelpadding)})),p.exit().remove(),g.maxExtent=m,g}t.exports=function(e,t,n,s){var c=e._context.staticPlot,u=t.xaxis,h=t.yaxis,p=e._fullLayout._clips;l.makeTraceGroups(s,n,"trace").each((function(t){var n=r.select(this),s=t[0],m=s.trace,y=m.aaxis,v=m.baxis,x=l.ensureSingle(n,"g","minorlayer"),b=l.ensureSingle(n,"g","majorlayer"),_=l.ensureSingle(n,"g","boundarylayer"),w=l.ensureSingle(n,"g","labellayer");n.style("opacity",m.opacity),d(u,h,b,0,"a",y._gridlines,!0),d(u,h,b,0,"b",v._gridlines,!0),d(u,h,x,0,"a",y._minorgridlines,!0),d(u,h,x,0,"b",v._minorgridlines,!0),d(u,h,_,0,"a-boundary",y._boundarylines,c),d(u,h,_,0,"b-boundary",v._boundarylines,c);var k=f(e,u,h,m,0,w,y._labels,"a-label"),T=f(e,u,h,m,0,w,v._labels,"b-label");(function(e,t,r,n,i,a,s,c){var u,h,d,f,p=l.aggNums(Math.min,null,r.a),m=l.aggNums(Math.max,null,r.a),y=l.aggNums(Math.min,null,r.b),v=l.aggNums(Math.max,null,r.b);u=.5*(p+m),h=y,d=r.ab2xy(u,h,!0),f=r.dxyda_rough(u,h),void 0===s.angle&&l.extendFlat(s,o(r,i,a,d,r.dxydb_rough(u,h))),g(e,t,r,0,d,f,r.aaxis,i,a,s,"a-title"),u=p,h=.5*(y+v),d=r.ab2xy(u,h,!0),f=r.dxydb_rough(u,h),void 0===c.angle&&l.extendFlat(c,o(r,i,a,d,r.dxyda_rough(u,h))),g(e,t,r,0,d,f,r.baxis,i,a,c,"b-title")})(e,w,m,0,u,h,k,T),function(e,t,r,n,o){var s,c,u,h,d=r.select("#"+e._clipPathId);d.size()||(d=r.append("clipPath").classed("carpetclip",!0));var f=l.ensureSingle(d,"path","carpetboundary"),p=t.clipsegments,m=[];for(h=0;h90&&v<270,b=r.select(this);b.text(d.title.text).call(s.convertToTspans,e),x&&(_=(-s.lineCount(b)+m)*p*a-_),b.attr("transform",u(t.p[0],t.p[1])+c(t.angle)+u(0,_)).attr("text-anchor","middle").call(n.font,d.title.font)})),b.exit().remove()}}}),Ik=m({"src/traces/carpet/cheater_basis.js"(e,t){var r=dr().isArrayOrTypedArray;t.exports=function(e,t,n){var i,a,o,s,l,c=[],u=r(e)?e.length:e,h=r(t)?t.length:t,d=r(e)?e:null,f=r(t)?t:null;d&&(o=(d.length-1)/(d[d.length-1]-d[0])/(u-1)),f&&(s=(f.length-1)/(f[f.length-1]-f[0])/(h-1));var p,m=1/0,g=-1/0;for(a=0;a=10)return null;for(var i=1/0,a=-1/0,o=e.length,s=0;s0&&(f=e.dxydi([],n-1,o,0,s),y.push(l[0]+f[0]/3),v.push(l[1]+f[1]/3),p=e.dxydi([],n-1,o,1,s),y.push(h[0]-p[0]/3),v.push(h[1]-p[1]/3)),y.push(h[0]),v.push(h[1]),l=h;else for(n=e.a2i(r),c=Math.floor(Math.max(0,Math.min(L-2,n))),u=n-c,x.length=L,x.crossLength=I,x.xy=function(t){return e.evalxy([],n,t)},x.dxy=function(t,r){return e.dxydj([],c,t,u,r)},a=0;a0&&(m=e.dxydj([],c,a-1,u,0),y.push(l[0]+m[0]/3),v.push(l[1]+m[1]/3),g=e.dxydj([],c,a-1,u,1),y.push(h[0]-g[0]/3),v.push(h[1]-g[1]/3)),y.push(h[0]),v.push(h[1]),l=h;return x.axisLetter=t,x.axis=b,x.crossAxis=A,x.value=r,x.constvar=i,x.index=d,x.x=y,x.y=v,x.smoothing=A.smoothing,x}function O(r){var n,a,o,s,l,c=[],u=[],h={};if(h.length=x.length,h.crossLength=T.length,"b"===t)for(o=Math.max(0,Math.min(I-2,r)),l=Math.min(1,Math.max(0,r-o)),h.xy=function(t){return e.evalxy([],t,r)},h.dxy=function(t,r){return e.dxydi([],t,o,r,l)},n=0;nx.length-1)&&_.push(n(O(o),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(d=u;dx.length-1||m<0||m>x.length-1))for(g=x[s],y=x[m],a=0;ax[x.length-1])&&w.push(n(z(p),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&k.push(n(O(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(n(O(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,u=(c=[Math.floor((x[x.length-1]-b.tick0)/b.dtick*(1+l)),Math.ceil((x[0]-b.tick0)/b.dtick/(1+l))].sort((function(e,t){return e-t})))[0],h=c[1],d=u;d<=h;d++)f=b.tick0+b.dtick*d,_.push(n(z(f),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(d=u-1;dx[x.length-1])&&w.push(n(z(p),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&k.push(n(z(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(n(z(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}}}),Ok=m({"src/traces/carpet/calc_labels.js"(e,t){var r=cn(),n=V().extendFlat;t.exports=function(e,t){var i,a,o,s=t._labels=[],l=t._gridlines;for(i=0;i=0;i--)a[u-i]=e[h][i],o[u-i]=t[h][i];for(s.push({x:a,y:o,bicubic:l}),i=h,a=[],o=[];i>=0;i--)a[h-i]=e[i][0],o[h-i]=t[i][0];return s.push({x:a,y:o,bicubic:c}),s}}}),Rk=m({"src/traces/carpet/smooth_fill_2d_array.js"(e,t){var r=dr();t.exports=function(e,t,n){var i,a,o,s,l,c,u,h,d=[],f=[],p=e[0].length,m=e.length,g=0;for(i=0;i0&&void 0!==(c=e[l][s-1])&&(h++,u+=c),s0&&void 0!==(c=e[l-1][s])&&(h++,u+=c),l0&&a0&&i1e-5);return r.log("Smoother converged to",E,"after",C,"iterations"),e}}}),jk=m({"src/traces/carpet/constants.js"(e,t){t.exports={RELATIVE_CULL_TOLERANCE:1e-6}}}),Fk=m({"src/traces/carpet/catmull_rom.js"(e,t){t.exports=function(e,t,r,n){var i=e[0]-t[0],a=e[1]-t[1],o=r[0]-t[0],s=r[1]-t[1],l=Math.pow(i*i+a*a,.25),c=Math.pow(o*o+s*s,.25),u=(c*c*i-l*l*o)*n,h=(c*c*a-l*l*s)*n,d=c*(l+c)*3,f=l*(l+c)*3;return[[t[0]+(d&&u/d),t[1]+(d&&h/d)],[t[0]-(f&&u/f),t[1]-(f&&h/f)]]}}}),Bk=m({"src/traces/carpet/compute_control_points.js"(e,t){var r=Fk(),n=dr().ensureArray;function i(e,t,r){var n=-.5*r[0]+1.5*t[0],i=-.5*r[1]+1.5*t[1];return[(2*n+e[0])/3,(2*i+e[1])/3]}t.exports=function(e,t,a,o,s,l){var c,u,h,d,f,p,m,g,y,v,x=a[0].length,b=a.length,_=s?3*x-2:x,w=l?3*b-2:b;for(e=n(e,w),t=n(t,w),h=0;hf&&em&&tp||tg},e.setScale=function(){var t=e._x,r=e._y,n=i(e._xctrl,e._yctrl,t,r,h.smoothing,d.smoothing);e._xctrl=n[0],e._yctrl=n[1],e.evalxy=a([e._xctrl,e._yctrl],c,u,h.smoothing,d.smoothing),e.dxydi=o([e._xctrl,e._yctrl],h.smoothing,d.smoothing),e.dxydj=s([e._xctrl,e._yctrl],h.smoothing,d.smoothing)},e.i2a=function(e){var r=Math.max(0,Math.floor(e[0]),c-2),n=e[0]-r;return(1-n)*t[r]+n*t[r+1]},e.j2b=function(e){var t=Math.max(0,Math.floor(e[1]),c-2),r=e[1]-t;return(1-r)*l[t]+r*l[t+1]},e.ij2ab=function(t){return[e.i2a(t[0]),e.j2b(t[1])]},e.a2i=function(e){var r=Math.max(0,Math.min(n(e,t),c-2)),i=t[r],a=t[r+1];return Math.max(0,Math.min(c-1,r+(e-i)/(a-i)))},e.b2j=function(e){var t=Math.max(0,Math.min(n(e,l),u-2)),r=l[t],i=l[t+1];return Math.max(0,Math.min(u-1,t+(e-r)/(i-r)))},e.ab2ij=function(t){return[e.a2i(t[0]),e.b2j(t[1])]},e.i2c=function(t,r){return e.evalxy([],t,r)},e.ab2xy=function(r,n,i){if(!i&&(rt[c-1]|nl[u-1]))return[!1,!1];var a=e.a2i(r),o=e.b2j(n),s=e.evalxy([],a,o);if(i){var h,d,f,p,m=0,g=0,y=[];rt[c-1]?(h=c-2,d=1,m=(r-t[c-1])/(t[c-1]-t[c-2])):d=a-(h=Math.max(0,Math.min(c-2,Math.floor(a)))),nl[u-1]?(f=u-2,p=1,g=(n-l[u-1])/(l[u-1]-l[u-2])):p=o-(f=Math.max(0,Math.min(u-2,Math.floor(o)))),m&&(e.dxydi(y,h,f,d,p),s[0]+=y[0]*m,s[1]+=y[1]*m),g&&(e.dxydj(y,h,f,d,p),s[0]+=y[0]*g,s[1]+=y[1]*g)}return s},e.c2p=function(e,t,r){return[t.c2p(e[0]),r.c2p(e[1])]},e.p2x=function(e,t,r){return[t.p2c(e[0]),r.p2c(e[1])]},e.dadi=function(e){var r=Math.max(0,Math.min(t.length-2,e));return t[r+1]-t[r]},e.dbdj=function(e){var t=Math.max(0,Math.min(l.length-2,e));return l[t+1]-l[t]},e.dxyda=function(t,r,n,i){var a=e.dxydi(null,t,r,n,i),o=e.dadi(t,n);return[a[0]/o,a[1]/o]},e.dxydb=function(t,r,n,i){var a=e.dxydj(null,t,r,n,i),o=e.dbdj(r,i);return[a[0]/o,a[1]/o]},e.dxyda_rough=function(t,r,n){var i=y*(n||.1),a=e.ab2xy(t+i,r,!0),o=e.ab2xy(t-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},e.dxydb_rough=function(t,r,n){var i=v*(n||.1),a=e.ab2xy(t,r+i,!0),o=e.ab2xy(t,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},e.dpdx=function(e){return e._m},e.dpdy=function(e){return e._m}}}}),Hk=m({"src/traces/carpet/calc.js"(e,t){var r=cn(),n=dr().isArray1D,i=Ik(),a=Pk(),o=zk(),s=Ok(),l=Dk(),c=Vs(),u=Rk(),h=Us(),d=qk();t.exports=function(e,t){var f=r.getFromId(e,t.xaxis),p=r.getFromId(e,t.yaxis),m=t.aaxis,g=t.baxis,y=t.x,v=t.y,x=[];y&&n(y)&&x.push("x"),v&&n(v)&&x.push("y"),x.length&&h(t,m,g,"a","b",x);var b=t._a=t._a||t.a,_=t._b=t._b||t.b;y=t._x||t.x,v=t._y||t.y;var w={};if(t._cheater){var k="index"===m.cheatertype?b.length:b,T="index"===g.cheatertype?_.length:_;y=i(k,T,t.cheaterslope)}t._x=y=c(y),t._y=v=c(v),u(y,b,_),u(v,b,_),d(t),t.setScale();var A=a(y),M=a(v),S=.5*(A[1]-A[0]),E=.5*(A[1]+A[0]),C=.5*(M[1]-M[0]),L=.5*(M[1]+M[0]),I=1.3;return A=[E-S*I,E+S*I],M=[L-C*I,L+C*I],t._extremes[f._id]=r.findExtremes(f,A,{padded:!0}),t._extremes[p._id]=r.findExtremes(p,M,{padded:!0}),o(t,"a","b"),o(t,"b","a"),s(t,m),s(t,g),w.clipsegments=l(t._xctrl,t._yctrl,m,g),w.x=y,w.y=v,w.a=b,w.b=_,[w]}}}),Gk=m({"src/traces/carpet/index.js"(e,t){t.exports={attributes:wk(),supplyDefaults:Mk(),plot:Lk(),calc:Hk(),animatable:!0,isContainer:!0,moduleType:"trace",name:"carpet",basePlotModule:ja(),categories:["cartesian","svg","carpet","carpetAxis","notLegendIsolatable","noMultiCategory","noHover","noSortingByValue"],meta:{}}}}),Wk=m({"lib/carpet.js"(e,t){t.exports=Gk()}}),Yk=m({"src/traces/scattercarpet/attributes.js"(e,t){var r=Ii(),n=Pi(),i=Y(),{hovertemplateAttrs:a,texttemplateAttrs:o,templatefallbackAttrs:s}=Lt(),l=Rr(),c=V().extendFlat,u=n.marker,h=n.line,d=u.line;t.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:c({},n.mode,{dflt:"markers"}),text:c({},n.text,{}),texttemplate:o({editType:"plot"},{keys:["a","b","text"]}),texttemplatefallback:s({editType:"plot"}),hovertext:c({},n.hovertext,{}),line:{color:h.color,width:h.width,dash:h.dash,backoff:h.backoff,shape:c({},h.shape,{values:["linear","spline"]}),smoothing:h.smoothing,editType:"calc"},connectgaps:n.connectgaps,fill:c({},n.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:r(),marker:c({symbol:u.symbol,opacity:u.opacity,maxdisplayed:u.maxdisplayed,angle:u.angle,angleref:u.angleref,standoff:u.standoff,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,line:c({width:d.width,dash:d.dash,editType:"calc"},l("marker.line")),gradient:u.gradient,editType:"calc"},l("marker")),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:c({},i.hoverinfo,{flags:["a","b","text","name"]}),hoveron:n.hoveron,hovertemplate:a(),hovertemplatefallback:s(),zorder:n.zorder}}}),Xk=m({"src/traces/scattercarpet/defaults.js"(e,t){var r=dr(),n=Li(),i=Jr(),a=ra(),o=na(),s=ia(),l=aa(),c=oa(),u=Yk();t.exports=function(e,t,h,d){function f(n,i){return r.coerce(e,t,u,n,i)}f("carpet"),t.xaxis="x",t.yaxis="y";var p=f("a"),m=f("b"),g=Math.min(p.length,m.length);if(g){t._length=g,f("text"),f("texttemplate"),f("texttemplatefallback"),f("hovertext"),f("mode",g")}return o}function v(e,t){var r;r=e.labelprefix&&e.labelprefix.length>0?e.labelprefix.replace(/ = $/,""):e._hovertitle,g.push(r+": "+t.toFixed(3)+e.labelsuffix)}}}}),eT=m({"src/traces/scattercarpet/event_data.js"(e,t){t.exports=function(e,t,r,n,i){var a=n[i];return e.a=a.a,e.b=a.b,e.y=a.y,e}}}),tT=m({"src/traces/scattercarpet/index.js"(e,t){t.exports={attributes:Yk(),supplyDefaults:Xk(),colorbar:ka(),formatLabels:Zk(),calc:Kk(),plot:Jk(),style:Aa().style,styleOnSelect:Aa().styleOnSelect,hoverPoints:Qk(),selectPoints:Ea(),eventData:eT(),moduleType:"trace",name:"scattercarpet",basePlotModule:ja(),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}}}),rT=m({"lib/scattercarpet.js"(e,t){t.exports=tT()}}),nT=m({"src/traces/contourcarpet/attributes.js"(e,t){var r=Ls(),n=vl(),i=Rr(),a=V().extendFlat,o=n.contours;t.exports=a({carpet:{valType:"string",editType:"calc"},z:r.z,a:r.x,a0:r.x0,da:r.dx,b:r.y,b0:r.y0,db:r.dy,text:r.text,hovertext:r.hovertext,transpose:r.transpose,atype:r.xtype,btype:r.ytype,fillcolor:n.fillcolor,autocontour:n.autocontour,ncontours:n.ncontours,contours:{type:o.type,start:o.start,end:o.end,size:o.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:o.showlines,showlabels:o.showlabels,labelfont:o.labelfont,labelformat:o.labelformat,operation:o.operation,value:o.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:n.line.color,width:n.line.width,dash:n.line.dash,smoothing:n.line.smoothing,editType:"plot"},zorder:n.zorder},i("",{cLetter:"z",autoColorDflt:!1}))}}),iT=m({"src/traces/contourcarpet/defaults.js"(e,t){var r=dr(),n=Is(),i=nT(),a=Ul(),o=bl(),s=wl();t.exports=function(e,t,l,c){function u(n,a){return r.coerce(e,t,i,n,a)}if(u("carpet"),e.a&&e.b){if(!n(e,t,u,c,"a","b"))return void(t.visible=!1);u("text"),"constraint"===u("contours.type")?a(e,t,u,c,l,{hasHover:!1}):(o(e,t,u,(function(n){return r.coerce2(e,t,i,n)})),s(e,t,u,c,{hasHover:!1}))}else t._defaultColor=l,t._length=null;u("zorder")}}}),aT=m({"src/traces/contourcarpet/calc.js"(e,t){var r=$r(),n=dr(),i=Us(),a=Vs(),o=qs(),s=Hs(),l=Gs(),c=iT(),u=$k(),h=Tl();t.exports=function(e,t){var d=t._carpetTrace=u(e,t);if(d&&d.visible&&"legendonly"!==d.visible){if(!t.a||!t.b){var f=e.data[d.index],p=e.data[t.index];p.a||(p.a=f.a),p.b||(p.b=f.b),c(p,t,t._defaultColor,e._fullLayout)}var m=function(e,t){var c,u,h,d,f,p,m,g=t._carpetTrace,y=g.aaxis,v=g.baxis;y._minDtick=0,v._minDtick=0,n.isArray1D(t.z)&&i(t,y,v,"a","b",["z"]),c=t._a=t._a||t.a,d=t._b=t._b||t.b,c=c?y.makeCalcdata(t,"_a"):[],d=d?v.makeCalcdata(t,"_b"):[],u=t.a0||0,h=t.da||1,f=t.b0||0,p=t.db||1,m=t._z=a(t._z||t.z,t.transpose),t._emptypoints=s(m),o(m,t._emptypoints);var x=n.maxRowLength(m),b="scaled"===t.xtype?"":c,_=l(t,b,u,h,x,y),w="scaled"===t.ytype?"":d,k={a:_,b:l(t,w,f,p,m.length,v),z:m};return"levels"===t.contours.type&&"none"!==t.contours.coloring&&r(e,t,{vals:m,containerStr:"",cLetter:"z"}),[k]}(e,t);return h(t,t._z),m}}}}),oT=m({"src/traces/carpet/axis_aligned_line.js"(e,t){var r=dr().isArrayOrTypedArray;t.exports=function(e,t,n,i){var a,o,s,l,c,u,h,d,f,p,m,g,y,v=r(n)?"a":"b",x=("a"===v?e.aaxis:e.baxis).smoothing,b="a"===v?e.a2i:e.b2j,_="a"===v?n:i,w="a"===v?i:n,k="a"===v?t.a.length:t.b.length,T="a"===v?t.b.length:t.a.length,A=Math.floor("a"===v?e.b2j(w):e.a2i(w)),M="a"===v?function(t){return e.evalxy([],t,A)}:function(t){return e.evalxy([],A,t)};x&&(s=Math.max(0,Math.min(T-2,A)),l=A-s,o="a"===v?function(t,r){return e.dxydi([],t,s,r,l)}:function(t,r){return e.dxydj([],s,t,l,r)});var S=b(_[0]),E=b(_[1]),C=S0?Math.floor:Math.ceil,P=C>0?Math.ceil:Math.floor,z=C>0?Math.min:Math.max,O=C>0?Math.max:Math.min,D=I(S+L),R=P(E-L),j=[[h=M(S)]];for(a=D;a*C=0;U--)F=M.clipsegments[U],B=n([],F.x,_.c2p),N=n([],F.y,w.c2p),B.reverse(),N.reverse(),V.push(i(B,N,F.bicubic));var q="M"+V.join("L")+"Z";(function(e,t,r,a,s,l){var c,u,h,d,f=o.ensureSingle(e,"g","contourbg").selectAll("path").data("fill"!==l||s?[]:[0]);f.enter().append("path"),f.exit().remove();var p=[];for(d=0;d=0&&(d=C,p=g):Math.abs(h[1]-d[1])=0&&(d=C,p=g):o.log("endpt to newendpt is not vert. or horz.",h,d,C)}if(p>=0)break;v+=S(h,d),h=d}if(p===t.edgepaths.length){o.log("unclosed perimeter path");break}u=p,(b=-1===x.indexOf(u))&&(u=x[0],v+=S(h,d)+"Z",h=null)}for(u=0;um&&(n.max=m),n.len=n.max-n.min}function x(e,t){var r,n=0,o=.1;return(Math.abs(e[0]-l)y):g=A>w,y=A;var M=c(w,k,T,A);M.pos=_,M.yc=(w+A)/2,M.i=b,M.dir=g?"increasing":"decreasing",M.x=M.pos,M.y=[T,k],v&&(M.orig_p=a[b]),p&&(M.tx=t.text[b]),m&&(M.htx=t.hovertext[b]),x.push(M)}else x.push({pos:_,empty:!0})}return t._extremes[l._id]=i.findExtremes(l,r.concat(d,h),{padded:!0}),x.length&&(x[0].t={labels:{open:n(e,"open:")+" ",high:n(e,"high:")+" ",low:n(e,"low:")+" ",close:n(e,"close:")+" "}}),x}t.exports={calc:function(e,t){var n=i.getFromId(e,t.xaxis),o=i.getFromId(e,t.yaxis),c=function(e,t,n){var i=n._minDiff;if(!i){var o,s=e._fullData,l=[];for(i=1/0,o=0;o"+u.labels[v]+r.hoverLabelText(s,x,l.yhoverformat):((y=n.extendFlat({},d)).y0=y.y1=b,y.yLabelVal=x,y.yLabel=u.labels[v]+r.hoverLabelText(s,x,l.yhoverformat),y.name="",h.push(y),m[x]=y)}return h}function h(e,t,n,i){var a=e.cd,s=e.ya,u=a[0].trace,h=a[0].t,d=c(e,t,n,i);if(!d)return[];var f=a[d.index],p=d.index=f.i,m=f.dir;function g(e){return h.labels[e]+r.hoverLabelText(s,u[e][p],u.yhoverformat)}var y=f.hi||u.hoverinfo||"",v=y.split("+"),x="all"===y,b=x||-1!==v.indexOf("y"),_=x||-1!==v.indexOf("text"),w=b?[g("open"),g("high"),g("low"),g("close")+" "+l[m]]:[];return _&&o(f,u,w),d.extraText=w.join("
"),d.y0=d.y1=s.c2p(f.yc,!0),[d]}t.exports={hoverPoints:function(e,t,r,n){return e.cd[0].trace.hoverlabel.split?u(e,t,r,n):h(e,t,r,n)},hoverSplit:u,hoverOnPoints:h}}}),yT=m({"src/traces/ohlc/select.js"(e,t){t.exports=function(e,t){var r,n=e.cd,i=e.xaxis,a=e.yaxis,o=[],s=n[0].t.bPos||0;if(!1===t)for(r=0;rn?function(e){return e<=0}:function(e){return e>=0};e.c2g=function(r){var n=e.c2l(r)-t;return(s(n)?n:0)+o},e.g2c=function(r){return e.l2c(r+t-o)},e.g2p=function(e){return e*a},e.c2p=function(t){return e.g2p(e.c2g(t))}}}(e,t);break;case"angularaxis":!function(e,t){var n=e.type;if("linear"===n){var o=e.d2c,s=e.c2d;e.d2c=function(e,t){return function(e,t){return"degrees"===t?i(e):e}(o(e),t)},e.c2d=function(e,t){return s(function(e,t){return"degrees"===t?a(e):e}(e,t))}}e.makeCalcdata=function(t,r){var n,i,a=t[r],o=t._length,s=function(r){return e.d2c(r,t.thetaunit)};if(a)for(n=new Array(o),i=0;i1e-10?e:0}function h(e,t,r){t=t||0,r=r||0;for(var n=e.length,i=new Array(n),a=0;a0?r:1/0})),a=r.mod(n+1,t.length);return[t[n],t[a]]},findIntersectionXY:l,findXYatLength:function(e,t,r,n){var i=-t*r,a=t*t+1,o=2*(t*i-r),s=i*i+r*r-e*e,l=Math.sqrt(o*o-4*a*s),c=(-o+l)/(2*a),u=(-o-l)/(2*a);return[[c,t*c+i+n],[u,t*u+i+n]]},clampTiny:u,pathPolygon:function(e,t,r,n,i,a){return"M"+h(c(e,t,r,n),i,a).join("L")},pathPolygonAnnulus:function(e,t,r,n,i,a,o){var s,l;e0?1:0}function n(e){var t=e[0],r=e[1];if(!isFinite(t)||!isFinite(r))return[1,0];var n=(t+1)*(t+1)+r*r;return[(t*t+r*r-1)/n,2*r/n]}function i(e,t){var r=t[0],n=t[1];return[r*e.radius+e.cx,-n*e.radius+e.cy]}function a(e,t){return t*e.radius}t.exports={smith:n,reactanceArc:function(e,t,r,o){var s=i(e,n([r,t])),l=s[0],c=s[1],u=i(e,n([o,t])),h=u[0],d=u[1];if(0===t)return["M"+l+","+c,"L"+h+","+d].join(" ");var f=a(e,1/Math.abs(t));return["M"+l+","+c,"A"+f+","+f+" 0 0,"+(t<0?1:0)+" "+h+","+d].join(" ")},resistanceArc:function(e,t,o,s){var l=a(e,1/(t+1)),c=i(e,n([t,o])),u=c[0],h=c[1],d=i(e,n([t,s])),f=d[0],p=d[1];if(r(o)!==r(s)){var m=i(e,n([t,0]));return["M"+u+","+h,"A"+l+","+l+" 0 0,"+(0=90||i>90&&a>=450?1:s<=0&&c<=0?0:Math.max(s,c),[i<=180&&a>=180||i>180&&a>=540?-1:o>=0&&l>=0?0:Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?-1:s>=0&&c>=0?0:Math.min(s,c),a>=360?1:o<=0&&l<=0?0:Math.max(o,l),t]}(p),_=b[2]-b[0],w=b[3]-b[1],k=f/d,T=Math.abs(w/_);k>T?(m=d,x=(f-(g=d*T))/i.h/2,y=[u[0],u[1]],v=[h[0]+x,h[1]-x]):(g=f,x=(d-(m=f/T))/i.w/2,y=[u[0]+x,u[1]-x],v=[h[0],h[1]]),r.xLength2=m,r.yLength2=g,r.xDomain2=y,r.yDomain2=v;var A,M=r.xOffset2=i.l+i.w*y[0],S=r.yOffset2=i.t+i.h*(1-v[1]),E=r.radius=m/_,C=r.innerRadius=r.getHole(t)*E,L=r.cx=M-E*b[0],I=r.cy=S+E*b[3],P=r.cxx=L-M,z=r.cyy=I-S,R=a.side;"counterclockwise"===R?(A=R,R="top"):"clockwise"===R&&(A=R,R="bottom"),r.radialAxis=r.mockAxis(e,t,a,{_id:"x",side:R,_trueSide:A,domain:[C/i.w,E/i.w]}),r.angularAxis=r.mockAxis(e,t,c,{side:"right",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(e,t),r.updateAngularAxis(e,t),r.updateRadialAxis(e,t),r.updateRadialAxisTitle(e,t),r.xaxis=r.mockCartesianAxis(e,t,{_id:"x",domain:y}),r.yaxis=r.mockCartesianAxis(e,t,{_id:"y",domain:v});var j=r.pathSubplot();r.clipPaths.forTraces.select("path").attr("d",j).attr("transform",o(P,z)),n.frontplot.attr("transform",o(M,S)).call(l.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr("d",j).attr("transform",o(L,I)).call(s.fill,t.bgcolor)},F.mockAxis=function(e,t,r,n){var a=i.extendFlat({},r,n);return d(a,t,e),a},F.mockCartesianAxis=function(e,t,r){var n=this,a=n.isSmith,o=r._id,s=i.extendFlat({type:"linear"},r);h(s,e);var l={x:[0,2],y:[1,3]};return s.setRange=function(){var e=n.sectorBBox,r=l[o],i=n.radialAxis._rl,a=(i[1]-i[0])/(1-n.getHole(t));s.range=[e[r[0]]*a,e[r[1]]*a]},s.isPtWithinRange="x"!==o||a?function(){return!0}:function(e){return n.isPtInside(e)},s.setRange(),s.setScale(),s},F.doAutoRange=function(e,t){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(t);f(n,i);var o=i.range;if(a.range=o.slice(),a._input.range=o.slice(),i._rl=[i.r2l(o[0],null,"gregorian"),i.r2l(o[1],null,"gregorian")],void 0!==i.minallowed){var s=i.r2l(i.minallowed);i._rl[0]>i._rl[1]?i._rl[1]=Math.max(i._rl[1],s):i._rl[0]=Math.max(i._rl[0],s)}if(void 0!==i.maxallowed){var l=i.r2l(i.maxallowed);i._rl[0]90&&m<=270&&(g.tickangle=180);var x=v?function(e){var t=P(r,C([e.x,0]));return o(t[0]-d,t[1]-f)}:function(e){return o(g.l2p(e.x)+h,0)},b=v?function(e){return I(r,e.x,-1/0,1/0)}:function(e){return r.pathArc(g.r2p(e.x)+h)},_=B(p);if(r.radialTickLayout!==_&&(l["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=_),y){g.setScale();var w=0,k=v?(g.tickvals||[]).filter((function(e){return e>=0})).map((function(e){return u.tickText(g,e,!0,!1)})):u.calcTicks(g),T=v?k:u.clipEnds(g,k),A=u.getTickSigns(g)[2];v&&(("top"===g.ticks&&"bottom"===g.side||"bottom"===g.ticks&&"top"===g.side)&&(A=-A),"top"===g.ticks&&"top"===g.side&&(w=-g.ticklen),"bottom"===g.ticks&&"bottom"===g.side&&(w=g.ticklen)),u.drawTicks(n,g,{vals:k,layer:l["radial-axis"],path:u.makeTickPath(g,0,A),transFn:x,crisp:!1}),u.drawGrid(n,g,{vals:T,layer:l["radial-grid"],path:b,transFn:i.noop,crisp:!1}),u.drawLabels(n,g,{vals:k,layer:l["radial-axis"],transFn:x,labelFns:u.makeLabelFns(g,w)})}var M=r.radialAxisAngle=r.vangles?R(N(D(p.angle),r.vangles)):p.angle,S=o(d,f),E=S+a(-M);U(l["radial-axis"],y&&(p.showticklabels||p.ticks),{transform:E}),U(l["radial-grid"],y&&p.showgrid,{transform:v?"":S}),U(l["radial-line"].select("line"),y&&p.showline,{x1:v?-c:h,y1:0,x2:c,y2:0,transform:E}).attr("stroke-width",p.linewidth).call(s.stroke,p.linecolor)},F.updateRadialAxisTitle=function(e,t,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,c=n.getRadial(t),u=n.id+"title",h=0;if(c.title){var d=l.bBox(n.layers["radial-axis"].node()).height,f=c.title.font.size,p=c.side;h="top"===p?f:"counterclockwise"===p?-(d+.4*f):d+.8*f}var m=void 0!==r?r:n.radialAxisAngle,g=D(m),v=Math.cos(g),x=Math.sin(g),b=o+a/2*v+h*x,_=s-a/2*x+h*v;n.layers["radial-axis-title"]=y.draw(i,u,{propContainer:c,propName:n.id+".radialaxis.title.text",placeholder:z(i,"Click to enter radial axis title"),attributes:{x:b,y:_,"text-anchor":"middle"},transform:{rotate:-m}})}},F.updateAngularAxis=function(e,t){var r=this,n=r.gd,l=r.layers,c=r.radius,h=r.innerRadius,d=r.cx,f=r.cy,p=r.getAngular(t),m=r.angularAxis,g=r.isSmith;g||(r.fillViewInitialKey("angularaxis.rotation",p.rotation),m.setGeometry(),m.setScale());var y=g?function(e){var t=P(r,C([0,e.x]));return Math.atan2(t[0]-d,t[1]-f)-Math.PI/2}:function(e){return m.t2g(e.x)};"linear"===m.type&&"radians"===m.thetaunit&&(m.tick0=R(m.tick0),m.dtick=R(m.dtick));var v=function(e){return o(d+c*Math.cos(e),f-c*Math.sin(e))},x=g?function(e){var t=P(r,C([0,e.x]));return o(t[0],t[1])}:function(e){return v(y(e))},b=g?function(e){var t=P(r,C([0,e.x])),n=Math.atan2(t[0]-d,t[1]-f)-Math.PI/2;return o(t[0],t[1])+a(-R(n))}:function(e){var t=y(e);return v(t)+a(-R(t))},_=g?function(e){return L(r,e.x,0,1/0)}:function(e){var t=y(e),r=Math.cos(t),n=Math.sin(t);return"M"+[d+h*r,f-h*n]+"L"+[d+c*r,f-c*n]},w=u.makeLabelFns(m,0).labelStandoff,k={xFn:function(e){var t=y(e);return Math.cos(t)*w},yFn:function(e){var t=y(e),r=Math.sin(t)>0?.2:1;return-Math.sin(t)*(w+e.fontSize*r)+Math.abs(Math.cos(t))*(e.fontSize*A)},anchorFn:function(e){var t=y(e),r=Math.cos(t);return Math.abs(r)<.1?"middle":r>0?"start":"end"},heightFn:function(e,t,r){var n=y(e);return-.5*(1+Math.sin(n))*r}},T=B(p);r.angularTickLayout!==T&&(l["angular-axis"].selectAll("."+m._id+"tick").remove(),r.angularTickLayout=T);var M,S=g?[1/0].concat(m.tickvals||[]).map((function(e){return u.tickText(m,e,!0,!1)})):u.calcTicks(m);if(g&&(S[0].text="∞",S[0].fontSize*=1.75),"linear"===t.gridshape?(M=S.map(y),i.angleDelta(M[0],M[1])<0&&(M=M.slice().reverse())):M=null,r.vangles=M,"category"===m.type&&(S=S.filter((function(e){return i.isAngleInsideSector(y(e),r.sectorInRad)}))),m.visible){var E="inside"===m.ticks?-1:1,I=(m.linewidth||1)/2;u.drawTicks(n,m,{vals:S,layer:l["angular-axis"],path:"M"+E*I+",0h"+E*m.ticklen,transFn:b,crisp:!1}),u.drawGrid(n,m,{vals:S,layer:l["angular-grid"],path:_,transFn:i.noop,crisp:!1}),u.drawLabels(n,m,{vals:S,layer:l["angular-axis"],repositionOnUpdate:!0,transFn:x,labelFns:k})}U(l["angular-line"].select("path"),p.showline,{d:r.pathSubplot(),transform:o(d,f)}).attr("stroke-width",p.linewidth).call(s.stroke,p.linecolor)},F.updateFx=function(e,t){this.gd._context.staticPlot||(!this.isSmith&&(this.updateAngularDrag(e),this.updateRadialDrag(e,t,0),this.updateRadialDrag(e,t,1)),this.updateHoverAndMainDrag(e))},F.updateHoverAndMainDrag=function(e){var t,a,l=this,c=l.isSmith,u=l.gd,h=l.layers,d=e._zoomlayer,f=M.MINZOOM,y=M.OFFEDGE,_=l.radius,w=l.innerRadius,k=l.cx,T=l.cy,A=l.cxx,E=l.cyy,C=l.sectorInRad,L=l.vangles,I=l.radialAxis,P=S.clampTiny,z=S.findXYatLength,O=S.findEnclosingVertexAngles,D=M.cornerHalfWidth,R=M.cornerLen/2,j=p.makeDragger(h,"path","maindrag",!1===e.dragmode?"none":"crosshair");r.select(j).attr("d",l.pathSubplot()).attr("transform",o(k,T)),j.onmousemove=function(e){g.hover(u,e,l.id),u._fullLayout._lasthover=j,u._fullLayout._hoversubplot=l.id},j.onmouseout=function(e){u._dragging||m.unhover(u,e)};var F,B,N,U,V,q,H,G,W,Y={element:j,gd:u,subplot:l.id,plotinfo:{id:l.id,xaxis:l.xaxis,yaxis:l.yaxis},xaxes:[l.xaxis],yaxes:[l.yaxis]};function X(e,t){return Math.sqrt(e*e+t*t)}function Z(e,t){return X(e-A,t-E)}function $(e,t){return Math.atan2(E-t,e-A)}function K(e,t){return[e*Math.cos(t),e*Math.sin(-t)]}function J(e,t){if(0===e)return l.pathSector(2*D);var r=R/e,n=t-r,i=t+r,a=Math.max(0,Math.min(e,_)),o=a-D,s=a+D;return"M"+K(o,n)+"A"+[o,o]+" 0,0,0 "+K(o,i)+"L"+K(s,i)+"A"+[s,s]+" 0,0,1 "+K(s,n)+"Z"}function Q(e,t,r){if(0===e)return l.pathSector(2*D);var n,i,a=K(e,t),o=K(e,r),s=P((a[0]+o[0])/2),c=P((a[1]+o[1])/2);if(s&&c){var u=c/s,h=-1/u,d=z(D,u,s,c);n=z(R,h,d[0][0],d[0][1]),i=z(R,h,d[1][0],d[1][1])}else{var f,p;c?(f=R,p=D):(f=D,p=R),n=[[s-f,c-p],[s+f,c-p]],i=[[s-f,c+p],[s+f,c+p]]}return"M"+n.join("L")+"L"+i.reverse().join("L")+"Z"}function ee(e,t){return t=Math.max(Math.min(t,_),w),ef?(e-1&&1===e&&x(t,u,[l.xaxis],[l.yaxis],l.id,Y),r.indexOf("event")>-1&&g.click(u,t,l.id)}Y.prepFn=function(e,r,n){var o=u._fullLayout.dragmode,h=j.getBoundingClientRect();u._fullLayout._calcInverseTransform(u);var f=u._fullLayout._invTransform;t=u._fullLayout._invScaleX,a=u._fullLayout._invScaleY;var m=i.apply3DTransform(f)(r-h.left,n-h.top);if(F=m[0],B=m[1],L){var g=S.findPolygonOffset(_,C[0],C[1],L);F+=A+g[0],B+=E+g[1]}switch(o){case"zoom":Y.clickFn=se,c||(Y.moveFn=L?ie:re,Y.doneFn=ae,function(){N=null,U=null,V=l.pathSubplot(),q=!1;var e=u._fullLayout[l.id];H=s.color(e.bgcolor).luminosity(),(G=p.makeZoombox(d,H,k,T,V)).attr("fill-rule","evenodd"),W=p.makeCorners(d,k,T),b(u)}());break;case"select":case"lasso":v(e,r,n,Y,o)}},m.init(Y)},F.updateRadialDrag=function(e,t,s){var l=this,c=l.gd,u=l.layers,h=l.radius,d=l.innerRadius,f=l.cx,g=l.cy,y=l.radialAxis,v=M.radialDragBoxSize,x=v/2;if(y.visible){var _,w,A,S=D(l.radialAxisAngle),E=y._rl,C=E[0],L=E[1],I=E[s],P=.75*(E[1]-E[0])/(1-l.getHole(t))/h;s?(_=f+(h+x)*Math.cos(S),w=g-(h+x)*Math.sin(S),A="radialdrag"):(_=f+(d-x)*Math.cos(S),w=g-(d-x)*Math.sin(S),A="radialdrag-inner");var z,O,j,F=p.makeRectDragger(u,A,"crosshair",-x,-x,v,v),B={element:F,gd:c};!1===e.dragmode&&(B.dragmode=!1),U(r.select(F),y.visible&&d0==(s?j>C:j")}}t.exports={hoverPoints:function(e,t,i,a){var o=r(e,t,i,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=e.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,n(c,u,l,s),s.hovertemplate=u.hovertemplate,o}},makeHoverPointText:n}}}),BT=m({"src/traces/scatterpolar/index.js"(e,t){t.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:PT(),categories:["polar","symbols","showLegend","scatter-like"],attributes:zT(),supplyDefaults:OT().supplyDefaults,colorbar:ka(),formatLabels:DT(),calc:RT(),plot:jT(),style:Aa().style,styleOnSelect:Aa().styleOnSelect,hoverPoints:FT().hoverPoints,selectPoints:Ea(),meta:{}}}}),NT=m({"lib/scatterpolar.js"(e,t){t.exports=BT()}}),UT=m({"src/traces/scatterpolargl/attributes.js"(e,t){var r=zT(),{cliponaxis:n,hoveron:i}=r,a=((e,t)=>{var r={};for(var n in e)l.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&o)for(var n of o(e))t.indexOf(n)<0&&u.call(e,n)&&(r[n]=e[n]);return r})(r,["cliponaxis","hoveron"]),{connectgaps:s,line:{color:c,dash:h,width:p},fill:m,fillcolor:g,marker:y,textfont:v,textposition:x}=yv();t.exports=f(d({},a),{connectgaps:s,fill:m,fillcolor:g,line:{color:c,dash:h,editType:"calc",width:p},marker:y,textfont:v,textposition:x})}}),VT=m({"src/traces/scatterpolargl/defaults.js"(e,t){var r=dr(),n=Jr(),i=OT().handleRThetaDefaults,a=ra(),o=na(),s=aa(),l=oa(),c=Li().PTS_LINESONLY,u=UT();t.exports=function(e,t,h,d){function f(n,i){return r.coerce(e,t,u,n,i)}var p=i(e,t,d,f);p?(f("thetaunit"),f("mode",p=l&&(v.marker.cluster=p.tree),v.marker&&(v.markerSel.positions=v.markerUnsel.positions=v.marker.positions=_),v.line&&_.length>1&&s.extendFlat(v.line,o.linePositions(e,f,_)),v.text&&(s.extendFlat(v.text,{positions:_},o.textPosition(e,f,v.text,v.marker)),s.extendFlat(v.textSel,{positions:_},o.textPosition(e,f,v.text,v.markerSel)),s.extendFlat(v.textUnsel,{positions:_},o.textPosition(e,f,v.text,v.markerUnsel))),v.fill&&!d.fill2d&&(d.fill2d=!0),v.marker&&!d.scatter2d&&(d.scatter2d=!0),v.line&&!d.line2d&&(d.line2d=!0),v.text&&!d.glText&&(d.glText=!0),d.lineOptions.push(v.line),d.fillOptions.push(v.fill),d.markerOptions.push(v.marker),d.markerSelectedOptions.push(v.markerSel),d.markerUnselectedOptions.push(v.markerUnsel),d.textOptions.push(v.text),d.textSelectedOptions.push(v.textSel),d.textUnselectedOptions.push(v.textUnsel),d.selectBatch.push([]),d.unselectBatch.push([]),p.x=w,p.y=k,p.rawx=w,p.rawy=k,p.r=g,p.theta=y,p.positions=_,p._scene=d,p.index=d.count,d.count++}})),i(e,t,c)}},t.exports.reglPrecompiled={}}}),XT=m({"src/traces/scatterpolargl/index.js"(e,t){var r=WT();r.plot=YT(),t.exports=r}}),ZT=m({"lib/scatterpolargl.js"(e,t){t.exports=XT()}}),$T=m({"src/traces/barpolar/attributes.js"(e,t){var r,{hovertemplateAttrs:n,templatefallbackAttrs:i}=Lt(),a=V().extendFlat,o=zT(),s=ts();t.exports={r:o.r,theta:o.theta,r0:o.r0,dr:o.dr,theta0:o.theta0,dtheta:o.dtheta,thetaunit:o.thetaunit,base:a({},s.base,{}),offset:a({},s.offset,{}),width:a({},s.width,{}),text:a({},s.text,{}),hovertext:a({},s.hovertext,{}),marker:(r=a({},s.marker),delete r.cornerradius,r),hoverinfo:o.hoverinfo,hovertemplate:n(),hovertemplatefallback:i(),selected:s.selected,unselected:s.unselected}}}),KT=m({"src/traces/barpolar/layout_attributes.js"(e,t){t.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}}}),JT=m({"src/traces/barpolar/defaults.js"(e,t){var r=dr(),n=OT().handleRThetaDefaults,i=ns(),a=$T();t.exports=function(e,t,o,s){function l(n,i){return r.coerce(e,t,a,n,i)}n(e,t,s,l)?(l("thetaunit"),l("base"),l("offset"),l("width"),l("text"),l("hovertext"),l("hovertemplate"),l("hovertemplatefallback"),i(e,t,l,o,s),r.coerceSelectionMarkerOpacity(t,l)):t.visible=!1}}}),QT=m({"src/traces/barpolar/layout_defaults.js"(e,t){var r=dr(),n=KT();t.exports=function(e,t,i){var a,o={};function s(i,o){return r.coerce(e[a]||{},t[a],n,i,o)}for(var l=0;l0?(c=s,u=l):(c=l,u=s);var h=[o.findEnclosingVertexAngles(c,e.vangles)[0],(c+u)/2,o.findEnclosingVertexAngles(u,e.vangles)[1]];return o.pathPolygonAnnulus(n,a,c,u,h,t,r)}:function(e,n,a,o){return i.pathAnnulus(e,n,a,o,t,r)}}(t),p=t.layers.frontplot.select("g.barlayer");i.makeTraceGroups(p,s,"trace bars").each((function(){var o=r.select(this),s=i.ensureSingle(o,"g","points").selectAll("g.point").data(i.identity);s.enter().append("g").style("vector-effect",l?"none":"non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),s.exit().remove(),s.each((function(e){var t,a=r.select(this),o=e.rp0=h.c2p(e.s0),s=e.rp1=h.c2p(e.s1),l=e.thetag0=d.c2g(e.p0),p=e.thetag1=d.c2g(e.p1);if(n(o)&&n(s)&&n(l)&&n(p)&&o!==s&&l!==p){var m=h.c2g(e.s1),g=(l+p)/2;e.ct=[c.c2p(m*Math.cos(g)),u.c2p(m*Math.sin(g))],t=f(o,s,l,p)}else t="M0,0Z";i.ensureSingle(a,"path").attr("d",t)})),a.setClipUrl(o,t._hasClipOnAxisFalse?t.clipIds.forTraces:null,e)}))}}}),rA=m({"src/traces/barpolar/hover.js"(e,t){var r=Bn(),n=dr(),i=ds().getTraceColor,a=n.fillText,o=FT().makeHoverPointText,s=ST().isPtInsidePolygon;t.exports=function(e,t,l){var c=e.cd,u=c[0].trace,h=e.subplot,d=h.radialAxis,f=h.angularAxis,p=h.vangles,m=p?s:n.isPtInsideSector,g=e.maxHoverDistance,y=f._period||2*Math.PI,v=Math.abs(d.g2p(Math.sqrt(t*t+l*l))),x=Math.atan2(l,t);if(d.range[0]>d.range[1]&&(x+=Math.PI),r.getClosest(c,(function(e){return m(v,x,[e.rp0,e.rp1],[e.thetag0,e.thetag1],p)?g+Math.min(1,Math.abs(e.thetag1-e.thetag0)/y)-1+(e.rp1-v)/(e.rp1-e.rp0)-1:1/0}),e),!1!==e.index){var b=c[e.index];e.x0=e.x1=b.ct[0],e.y0=e.y1=b.ct[1];var _=n.extendFlat({},b,{r:b.s,theta:b.p});return a(b,u,e),o(_,u,h,e),e.hovertemplate=u.hovertemplate,e.color=i(u,b),e.xLabelVal=e.yLabelVal=void 0,b.s<0&&(e.idealAlign="left"),[e]}}}}),nA=m({"src/traces/barpolar/index.js"(e,t){t.exports={moduleType:"trace",name:"barpolar",basePlotModule:PT(),categories:["polar","bar","showLegend"],attributes:$T(),layoutAttributes:KT(),supplyDefaults:JT(),supplyLayoutDefaults:QT(),calc:eA().calc,crossTraceCalc:eA().crossTraceCalc,plot:tA(),colorbar:ka(),formatLabels:DT(),style:us().style,styleOnSelect:us().styleOnSelect,hoverPoints:rA(),selectPoints:ps(),meta:{}}}}),iA=m({"lib/barpolar.js"(e,t){t.exports=nA()}}),aA=m({"src/plots/smith/constants.js"(e,t){t.exports={attr:"subplot",name:"smith",axisNames:["realaxis","imaginaryaxis"],axisName2dataArray:{imaginaryaxis:"imag",realaxis:"real"}}}}),oA=m({"src/plots/smith/layout_attributes.js"(e,t){var r=je(),n=Or(),i=Do().attributes,a=dr().extendFlat,o=St().overrideAll,s=o({color:n.color,showline:a({},n.showline,{dflt:!0}),linecolor:n.linecolor,linewidth:n.linewidth,showgrid:a({},n.showgrid,{dflt:!0}),gridcolor:n.gridcolor,gridwidth:n.gridwidth,griddash:n.griddash},"plot","from-root"),l=o({ticklen:n.ticklen,tickwidth:a({},n.tickwidth,{dflt:2}),tickcolor:n.tickcolor,showticklabels:n.showticklabels,labelalias:n.labelalias,showtickprefix:n.showtickprefix,tickprefix:n.tickprefix,showticksuffix:n.showticksuffix,ticksuffix:n.ticksuffix,tickfont:n.tickfont,tickformat:n.tickformat,hoverformat:n.hoverformat,layer:n.layer},"plot","from-root"),c=a({visible:a({},n.visible,{dflt:!0}),tickvals:{dflt:[.2,.5,1,2,5],valType:"data_array",editType:"plot"},tickangle:a({},n.tickangle,{dflt:90}),ticks:{valType:"enumerated",values:["top","bottom",""],editType:"ticks"},side:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},editType:"calc"},s,l),u=a({visible:a({},n.visible,{dflt:!0}),tickvals:{valType:"data_array",editType:"plot"},ticks:n.ticks,editType:"calc"},s,l);t.exports={domain:i({name:"smith",editType:"plot"}),bgcolor:{valType:"color",editType:"plot",dflt:r.background},realaxis:c,imaginaryaxis:u,editType:"calc"}}}),sA=m({"src/plots/smith/layout_defaults.js"(e,t){var r,n,i,a=dr(),o=Fe(),s=_r(),l=ec(),c=Mr().getSubplotData,u=Gr(),h=Hr(),d=Pa(),f=on(),p=oA(),m=aA(),g=m.axisNames,y=(r=function(e){return a.isTypedArray(e)&&(e=Array.from(e)),e.slice().reverse().map((function(e){return-e})).concat([0]).concat(e)},n=String,i={},function(e){var t=n?n(e):e;if(t in i)return i[t];var a=r(e);return i[t]=a,a});function v(e,t,r,n){var i=r("bgcolor");n.bgColor=o.combine(i,n.paper_bgcolor);var l,v=c(n.fullData,m.name,n.id),x=n.layoutOut;function b(e,t){return r(l+"."+e,t)}for(var _=0;_")}}t.exports={hoverPoints:function(e,t,i,a){var o=r(e,t,i,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=e.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,n(c,u,l,s),s.hovertemplate=u.hovertemplate,o}},makeHoverPointText:n}}}),mA=m({"src/traces/scattersmith/index.js"(e,t){t.exports={moduleType:"trace",name:"scattersmith",basePlotModule:lA(),categories:["smith","symbols","showLegend","scatter-like"],attributes:cA(),supplyDefaults:uA(),colorbar:ka(),formatLabels:hA(),calc:dA(),plot:fA(),style:Aa().style,styleOnSelect:Aa().styleOnSelect,hoverPoints:pA().hoverPoints,selectPoints:Ea(),meta:{}}}}),gA=m({"lib/scattersmith.js"(e,t){t.exports=mA()}}),yA=m({"src/traces/quiver/attributes.js"(e,t){var r=Y(),n=Lt().hovertemplateAttrs,i=zr().axisHoverFormat,a=V().extendFlat,o=Rr(),s=Et().dash,l=Ci(),c=Pi(),u={x:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},x0:c.x0,dx:c.dx,y:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},y0:c.y0,dy:c.dy,u:{valType:"data_array",editType:"calc",anim:!0},v:{valType:"data_array",editType:"calc",anim:!0},anglemode:{valType:"enumerated",values:["paper","data"],dflt:"axis",editType:"calc"},sizemode:{valType:"enumerated",values:["scaled","raw"],editType:"calc",dflt:"scaled"},sizeref:{valType:"number",min:0,editType:"calc",dflt:1},anchor:{valType:"enumerated",values:["tip","tail","center"],dflt:"tail",editType:"calc"},xhoverformat:i("x"),yhoverformat:i("y"),uhoverformat:i("u","noDate"),vhoverformat:i("v","noDate"),hoverinfo:a({},r.hoverinfo,{flags:["x","y","u","v","text","name"],dflt:"all"}),hovertemplate:n({},{keys:["x","y","u","v","text","name"]}),text:c.text,textposition:c.textposition,textfont:c.textfont,marker:a({arrowsize:a({},l.arrowsize,{editType:"calc"}),line:{width:{valType:"number",min:0,dflt:2,editType:"style"},dash:s,editType:"style"},editType:"calc"},o("marker",{showScaleDflt:!0,editTypeOverride:"calc"})),selected:{marker:{color:{valType:"color",editType:"style"},line:{width:{valType:"number",min:0,editType:"style"},editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},unselected:{marker:{color:{valType:"color",editType:"style"},line:{width:{valType:"number",min:0,editType:"style"},editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"}};t.exports=u}}),vA=m({"src/traces/quiver/defaults.js"(e,t){var r=dr(),n=yA(),i=Qi(),a=Pr().hasColorscale,o=Yr();t.exports=function(e,t,s,l){function c(i,a){return r.coerce(e,t,n,i,a)}var u=i(e,t,l,c);if(u){var h=c("u"),d=c("v");if(!r.isArrayOrTypedArray(h)||0===h.length){t.u=new Array(u);for(var f=0;fE&&(E=u[D]),h[D]L&&(L=h[D]),RP&&(P=R),jO&&(O=j);var U=Math.sqrt(R*R+j*j);if(U>m&&(m=U),Uy&&(y=V))}}else F.x=a,F.y=a}if(t._maxNorm=m,"scaled"===k||"paper"===w){let e=(E-S)*(L-C)/d;t._scaleFactor=0===e?1/t._maxNorm:Math.sqrt(e)/t._maxNorm}else t._scaleFactor=1;t._scaleFactor*=t.sizeref;let q=new Array(d),H=new Array(d),G=new Array(d),W=new Array(d);var Y,X;for(D=0;De.i&&isFinite(o[e.i]))a=o[e.i];else{var s=t.u&&t.u[e.i]||0,l=t.v&&t.v[e.i]||0;a=Math.sqrt(s*s+l*l)}return i(a)}))}function l(e,t,a){var l=t[0].trace,c=l.marker||{},u=c.line||{},h=n.isArrayOrTypedArray(c.color)?void 0:c.color,d=l._hasColorscale;if(a)if(l.selectedpoints){var f=(l.selected||{}).marker||{},p=(l.unselected||{}).marker||{},m=f.line||{},g=p.line||{};a.selectAll("path.js-line").each((function(e){var t=r.select(this),n=!e.selected,a=n?p.color:f.color,c=n?void 0!==g.width?g.width:u.width:void 0!==m.width?m.width:u.width;a?(i.lineGroupStyle(t,c,a,u.dash),t.style("stroke-opacity",1)):(i.lineGroupStyle(t,c,h,u.dash),d&&s(t,l),t.style("stroke-opacity",n?o:1))})),i.selectedTextStyle(a.selectAll("text"),l)}else{var y=a.selectAll("path.js-line");y.call(i.lineGroupStyle,u.width,h,u.dash),d&&s(y,l),y.style("stroke-opacity",1),i.textPointStyle(a.selectAll("text"),l,e)}}t.exports={style:function(e){r.select(e).selectAll("g.trace.quiver").each((function(t){l(e,t,r.select(this))}))},styleOnSelect:function(e,t,r){l(e,t,r)},colorscaleStroke:s}}}),wA=m({"src/traces/quiver/plot.js"(e,t){var r=w(),n=dr(),i=nn(),a=_A().colorscaleStroke,o=Math.PI/12;function s(e,t,s,l,c,u,h){var d=l[0].trace,f=s.xaxis,p=s.yaxis;l[0][s.isRangePlot?"nodeRangePlot3":"node3"]=r.select(u);var m=r.select(u).selectAll("g.lines").data([l]);m.enter().append("g").classed("lines",!0),i.setClipUrl(m,s.layerClipId,e);var g=m.selectAll("path.js-line").data(l);g.enter().append("path").classed("js-line",!0).style("vector-effect","non-scaling-stroke"),g.exit().remove(),d._maxNorm;let y=d.anglemode,v=(d.sizemode,d.sizeref,d.anchor),x="paper"===y?d._scaleFactor*Math.sqrt(Math.abs(f._m*p._m)):d._scaleFactor,b=d.marker.arrowsize;g.each((function(e){let t=r.select(this);if(void 0===e.x||void 0===e.y)return void t.attr("d",null);let n=("paper"===y?e._u*Math.sign(f._m):r.round(f._m*e._u))*x,i=("paper"===y?e._v*Math.sign(p._m):r.round(p._m*e._v))*x,a=void 0!==(d._input.marker||{}).arrowsize;var s,l,c,u;"tip"===v?(s=f.c2p(e.x)-n,c=p.c2p(e.y)-i,l=f.c2p(e.x),u=p.c2p(e.y)):"center"===v?(s=f.c2p(e.x)-n/2,c=p.c2p(e.y)-i/2,l=f.c2p(e.x)+n/2,u=p.c2p(e.y)+i/2):(s=f.c2p(e.x),c=p.c2p(e.y),l=f.c2p(e.x)+n,u=p.c2p(e.y)+i),e._px0=s,e._py0=c,e._px1=l,e._py1=u;var h=d.marker.line.width;a||(h=Math.max(h,1.5));let m=.7*Math.sqrt((l-s)*(l-s)+(u-c)*(u-c)),g=Math.min(5.8*b*h,m),_=Math.atan2(u-c,l-s),w="M"+s+","+c+"L"+l+","+u+"L"+(l-g*Math.cos(_-o))+","+(u-g*Math.sin(_-o))+"L"+l+","+u+"L"+(l-g*Math.cos(_+o))+","+(u-g*Math.sin(_+o));t.attr("d",w)}));var _=d.marker||{},w=_.line||{},k=n.isArrayOrTypedArray(_.color)?void 0:_.color;i.lineGroupStyle(g,w.width,k,w.dash),d._hasColorscale&&a(g,d);var T=r.select(u).selectAll("g.text").data([l]);T.enter().append("g").classed("text",!0),i.setClipUrl(T,s.layerClipId,e);var A=T.selectAll("g.textpoint").data(l);if(A.enter().append("g").classed("textpoint",!0).append("text"),A.exit().remove(),A.each((function(e){var t=r.select(this);i.translatePoint(e,t.select("text"),f,p)||t.remove()})),A.selectAll("text").call(i.textPointStyle,d,e).each((function(e){var t=f.c2p(e.x),n=p.c2p(e.y);r.select(this).selectAll("tspan.line").each((function(){r.select(this).attr({x:t,y:n})}))})),h&&h.duration>0){var M=r.transition().duration(h.duration).ease(h.easing);g.transition(M).style("opacity",1)}}t.exports=function(e,t,n,i,a,o){var l,c,u=!a,h=!!a&&a.duration>0;(l=i.selectAll("g.trace").data(n,(function(e){return e[0].trace.uid}))).enter().append("g").attr("class",(function(e){return"trace quiver trace"+e[0].trace.uid})).style("stroke-miterlimit",2),l.order(),h?(o&&(c=o()),r.transition().duration(a.duration).ease(a.easing).each("end",(function(){c&&c()})).each("interrupt",(function(){c&&c()})).each((function(){i.selectAll("g.trace").each((function(r,n){s(e,0,t,r,0,this,a)}))}))):l.each((function(r,n){s(e,0,t,r,0,this,a)})),u&&l.exit().remove()}}}),kA=m({"src/traces/quiver/hover.js"(e,t){var r=dr(),n=Bn(),i=Ma();t.exports=function(e,t,a,o){var s=e.cd,l=s[0].trace,c=e.xa,u=e.ya,h=c.c2p(t),d=u.c2p(a);if(n.getClosest(s,(function(e){return void 0===e._px0?1/0:function(e,t,r,n,i,a){let o=i-r,s=a-n,l=o*o+s*s;if(!l)return Math.sqrt((e-r)*(e-r)+(t-n)*(t-n));var c=((e-r)*o+(t-n)*s)/l;let u=r+(c=Math.max(0,Math.min(1,c)))*o,h=n+c*s;return Math.sqrt((e-u)*(e-u)+(t-h)*(t-h))}(h,d,e._px0,e._py0,e._px1,e._py1)}),e),!1!==e.index){var f=s[e.index],p=c.c2p(f.x,!0),m=u.c2p(f.y,!0),g=Math.sqrt((h-p)*(h-p)+(d-m)*(d-m));e.index=f.i;var y=l.u?l.u[f.i]:0,v=l.v?l.v[f.i]:0,x="u: "+y+", v: "+v;return r.extendFlat(e,{color:i(l,f),x0:p-3,x1:p+3,xLabelVal:f.x,y0:m-3,y1:m+3,yLabelVal:f.y,uLabelVal:y,vLabelVal:v,extraText:x,spikeDistance:g,hovertemplate:l.hovertemplate}),r.fillText(f,l,e),[e]}}}}),TA=m({"src/traces/quiver/format_labels.js"(e,t){var r=cn(),n=dr();t.exports=function(e,t,i){var a={},o={_fullLayout:i},s=r.getFromTrace(o,t,"x"),l=r.getFromTrace(o,t,"y"),c=e.x,u=e.y;a.xLabel=r.tickText(s,s.c2l(c),!0).text,a.yLabel=r.tickText(l,l.c2l(u),!0).text;var h=t.u?t.u[e.i]:0,d=t.v?t.v[e.i]:0,f=t.uhoverformat,p=t.vhoverformat;return a.uLabel=f?n.numberFormat(f)(h):String(h),a.vLabel=p?n.numberFormat(p)(d):String(d),a}}}),AA=m({"src/traces/quiver/event_data.js"(e,t){t.exports=function(e,t,r,n,i){return e.x=t.x,e.y=t.y,e.u=r.u?r.u[i]:void 0,e.v=r.v?r.v[i]:void 0,e}}}),MA=m({"src/traces/quiver/index.js"(e,t){t.exports={moduleType:"trace",name:"quiver",basePlotModule:ja(),categories:["cartesian","svg","showLegend","scatter-like","zoomScale"],attributes:yA(),supplyDefaults:vA(),calc:xA(),crossTraceCalc:bA(),plot:wA(),style:_A().style,styleOnSelect:_A().styleOnSelect,hoverPoints:kA(),formatLabels:TA(),eventData:AA(),selectPoints:Ea(),colorbar:ka(),animatable:!0,meta:{}}}}),SA=m({"lib/quiver.js"(e,t){t.exports=MA()}}),EA=m({"node_modules/world-calendars/dist/main.js"(e,t){var r=Yv();function n(){this.regionalOptions=[],this.regionalOptions[""]={invalidCalendar:"Calendar {0} not found",invalidDate:"Invalid {0} date",invalidMonth:"Invalid {0} month",invalidYear:"Invalid {0} year",differentCalendars:"Cannot mix {0} and {1} dates"},this.local=this.regionalOptions[""],this.calendars={},this._localCals={}}function i(e,t,r,n){if(this._calendar=e,this._year=t,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(l.local.invalidDate||l.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function a(e,t){return"000000".substring(0,t-(e=""+e).length)+e}function o(){this.shortYearCutoff="+10"}function s(e){this.local=this.regionalOptions[e]||this.regionalOptions[""]}r(n.prototype,{instance:function(e,t){e=(e||"gregorian").toLowerCase(),t=t||"";var r=this._localCals[e+"-"+t];if(!r&&this.calendars[e]&&(r=new this.calendars[e](t),this._localCals[e+"-"+t]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,e);return r},newDate:function(e,t,r,n,i){return(n=(null!=e&&e.year?e.calendar():"string"==typeof n?this.instance(n,i):n)||this.instance()).newDate(e,t,r)},substituteDigits:function(e){return function(t){return(t+"").replace(/[0-9]/g,(function(t){return e[t]}))}},substituteChineseDigits:function(e,t){return function(r){for(var n="",i=0;r>0;){var a=r%10;n=(0===a?"":e[a]+t[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(e[1]+t[1])&&(n=n.substr(1)),n||e[0]}}}),r(i.prototype,{newDate:function(e,t,r){return this._calendar.newDate(e??this,t,r)},year:function(e){return 0===arguments.length?this._year:this.set(e,"y")},month:function(e){return 0===arguments.length?this._month:this.set(e,"m")},day:function(e){return 0===arguments.length?this._day:this.set(e,"d")},date:function(e,t,r){if(!this._calendar.isValid(e,t,r))throw(l.local.invalidDate||l.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=e,this._month=t,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(e,t){return this._calendar.add(this,e,t)},set:function(e,t){return this._calendar.set(this,e,t)},compareTo:function(e){if(this._calendar.name!==e._calendar.name)throw(l.local.differentCalendars||l.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,e._calendar.local.name);var t=this._year!==e._year?this._year-e._year:this._month!==e._month?this.monthOfYear()-e.monthOfYear():this._day-e._day;return 0===t?0:t<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(e){return this._calendar.fromJD(e)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(e){return this._calendar.fromJSDate(e)},toString:function(){return(this.year()<0?"-":"")+a(Math.abs(this.year()),4)+"-"+a(this.month(),2)+"-"+a(this.day(),2)}}),r(o.prototype,{_validateLevel:0,newDate:function(e,t,r){return null==e?this.today():(e.year&&(this._validate(e,t,r,l.local.invalidDate||l.regionalOptions[""].invalidDate),r=e.day(),t=e.month(),e=e.year()),new i(this,e,t,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(e){return this._validate(e,this.minMonth,this.minDay,l.local.invalidYear||l.regionalOptions[""].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,l.local.invalidYear||l.regionalOptions[""].invalidYear);return(t.year()<0?"-":"")+a(Math.abs(t.year()),4)},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,l.local.invalidYear||l.regionalOptions[""].invalidYear),12},monthOfYear:function(e,t){var r=this._validate(e,t,this.minDay,l.local.invalidMonth||l.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(e,t){var r=(t+this.firstMonth-2*this.minMonth)%this.monthsInYear(e)+this.minMonth;return this._validate(e,r,this.minDay,l.local.invalidMonth||l.regionalOptions[""].invalidMonth),r},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,l.local.invalidYear||l.regionalOptions[""].invalidYear);return this.leapYear(t)?366:365},dayOfYear:function(e,t,r){var n=this._validate(e,t,r,l.local.invalidDate||l.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,l.local.invalidDate||l.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(e,t,r){return this._validate(e,t,r,l.local.invalidDate||l.regionalOptions[""].invalidDate),{}},add:function(e,t,r){return this._validate(e,this.minMonth,this.minDay,l.local.invalidDate||l.regionalOptions[""].invalidDate),this._correctAdd(e,this._add(e,t,r),t,r)},_add:function(e,t,r){if(this._validateLevel++,"d"===r||"w"===r){var n=e.toJD()+t*("w"===r?this.daysInWeek():1),i=e.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=e.year()+("y"===r?t:0),o=e.monthOfYear()+("m"===r?t:0);i=e.day(),"y"===r?(e.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,e.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):"m"===r&&(function(e){for(;ot-1+e.minMonth;)a++,o-=t,t=e.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(e){throw this._validateLevel--,e}},_correctAdd:function(e,t,r,n){if(!(this.hasYearZero||"y"!==n&&"m"!==n||0!==t[0]&&e.year()>0==t[0]>0)){var i={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],a=r<0?-1:1;t=this._add(e,r*i[0]+a*i[1],i[2])}return e.date(t[0],t[1],t[2])},set:function(e,t,r){this._validate(e,this.minMonth,this.minDay,l.local.invalidDate||l.regionalOptions[""].invalidDate);var n="y"===r?t:e.year(),i="m"===r?t:e.month(),a="d"===r?t:e.day();return("y"===r||"m"===r)&&(a=Math.min(a,this.daysInMonth(n,i))),e.date(n,i,a)},isValid:function(e,t,r){this._validateLevel++;var n=this.hasYearZero||0!==e;if(n){var i=this.newDate(e,t,this.minDay);n=t>=this.minMonth&&t-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),c=i-(l>2.5?4716:4715);return c<=0&&c--,this.newDate(c,l,s)},toJSDate:function(e,t,r){var n=this._validate(e,t,r,l.local.invalidDate||l.regionalOptions[""].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(e){return this.newDate(e.getFullYear(),e.getMonth()+1,e.getDate())}});var l=t.exports=new n;l.cdate=i,l.baseCalendar=o,l.calendars.gregorian=s}}),CA=m({"node_modules/world-calendars/dist/plus.js"(){var e=Yv(),t=EA();e(t.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"}),t.local=t.regionalOptions[""],e(t.cdate.prototype,{formatDate:function(e,t){return"string"!=typeof e&&(t=e,e=""),this._calendar.formatDate(e||"",this,t)}}),e(t.baseCalendar.prototype,{UNIX_EPOCH:t.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:t.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(e,r,n){if("string"!=typeof e&&(n=r,r=e,e=""),!r)return"";if(r.calendar()!==this)throw t.local.invalidFormat||t.regionalOptions[""].invalidFormat;e=e||this.local.dateFormat;for(var i=(n=n||{}).dayNamesShort||this.local.dayNamesShort,a=n.dayNames||this.local.dayNames,o=n.monthNumbers||this.local.monthNumbers,s=n.monthNamesShort||this.local.monthNamesShort,l=n.monthNames||this.local.monthNames,c=(n.calculateWeek||this.local.calculateWeek,function(t,r){for(var n=1;v+n1}),u=function(e,t,r,n){var i=""+t;if(c(e,n))for(;i.length1},x=function(e,n){var i=v(e,n),a=[2,3,i?4:2,i?4:2,10,11,20]["oyYJ@!".indexOf(e)+1],o=new RegExp("^-?\\d{1,"+a+"}"),s=r.substring(A).match(o);if(!s)throw(t.local.missingNumberAt||t.regionalOptions[""].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if("function"==typeof l){v("m");var e=l.call(b,r.substring(A));return A+=e.length,e}return x("m")},w=function(e,n,i,a){for(var o=v(e,a)?i:n,s=0;s-1){f=1,p=m;for(var E=this.daysInMonth(d,f);p>E;E=this.daysInMonth(d,f))f++,p-=E}return h>-1?this.fromJD(h):this.newDate(d,f,p)},determineDate:function(e,t,r,n,i){r&&"object"!=typeof r&&(i=n,n=r,r=null),"string"!=typeof n&&(i=n,n="");var a=this;return t=t?t.newDate():null,null==e?t:"string"==typeof e?function(e){try{return a.parseDate(n,e,i)}catch{}for(var t=((e=e.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.today(),o=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,s=o.exec(e);s;)t.add(parseInt(s[1],10),s[2]||"d"),s=o.exec(e);return t}(e):"number"==typeof e?isNaN(e)||e===1/0||e===-1/0?t:a.today().add(e,"d"):a.newDate(e)}})}}),LA=m({"node_modules/world-calendars/dist/calendars/chinese.js"(){var e=EA(),t=Yv(),r=e.instance();function n(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}n.prototype=new e.baseCalendar,t(n.prototype,{name:"Chinese",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(e,t){if("string"==typeof e){var r=e.match(a);return r?r[0]:""}var n=this._validateYear(e),i=e.month(),o=""+this.toChineseMonth(n,i);return t&&o.length<2&&(o="0"+o),this.isIntercalaryMonth(n,i)&&(o+="i"),o},monthNames:function(e){if("string"==typeof e){var t=e.match(o);return t?t[0]:""}var r=this._validateYear(e),n=e.month(),i=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="闰"+i),i},monthNamesShort:function(e){if("string"==typeof e){var t=e.match(s);return t?t[0]:""}var r=this._validateYear(e),n=e.month(),i=["一","二","三","四","五","六","七","八","九","十","十一","十二"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="闰"+i),i},parseMonth:function(e,t){e=this._validateYear(e);var r,n=parseInt(t);if(isNaN(n))"闰"===t[0]&&(r=!0,t=t.substring(1)),"月"===t[t.length-1]&&(t=t.substring(0,t.length-1)),n=1+["一","二","三","四","五","六","七","八","九","十","十一","十二"].indexOf(t);else{var i=t[t.length-1];r="i"===i||"I"===i}return this.toMonthIndex(e,n,r)},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},_validateYear:function(e,t){if(e.year&&(e=e.year()),"number"!=typeof e||e<1888||e>2111)throw t.replace(/\{0\}/,this.local.name);return e},toMonthIndex:function(t,r,n){var i=this.intercalaryMonth(t);if(n&&r!==i||r<1||r>12)throw e.local.invalidMonth.replace(/\{0\}/,this.local.name);return i?!n&&r<=i?r-1:r:r-1},toChineseMonth:function(t,r){t.year&&(r=(t=t.year()).month());var n=this.intercalaryMonth(t);if(r<0||r>(n?12:11))throw e.local.invalidMonth.replace(/\{0\}/,this.local.name);return n?r>13},isIntercalaryMonth:function(e,t){e.year&&(t=(e=e.year()).month());var r=this.intercalaryMonth(e);return!!r&&r===t},leapYear:function(e){return 0!==this.intercalaryMonth(e)},weekOfYear:function(t,n,i){var a,o=this._validateYear(t,e.local.invalidyear),s=c[o-c[0]],l=s>>9&4095,u=s>>5&15,h=31&s;(a=r.newDate(l,u,h)).add(4-(a.dayOfWeek()||7),"d");var d=this.toJD(t,n,i)-a.toJD();return 1+Math.floor(d/7)},monthsInYear:function(e){return this.leapYear(e)?13:12},daysInMonth:function(t,r){t.year&&(r=t.month(),t=t.year()),t=this._validateYear(t);var n=l[t-l[0]];if(r>(n>>13?12:11))throw e.local.invalidMonth.replace(/\{0\}/,this.local.name);return n&1<<12-r?30:29},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(t,n,i){var a=this._validate(t,s,i,e.local.invalidDate);t=this._validateYear(a.year()),n=a.month(),i=a.day();var o=this.isIntercalaryMonth(t,n),s=this.toChineseMonth(t,n),u=function(e,t,r,n){var i,a,o;if("object"==typeof e)a=e,i=t||{};else{var s;if(!("number"==typeof e&&e>=1888&&e<=2111))throw new Error("Lunar year outside range 1888-2111");if(!("number"==typeof t&&t>=1&&t<=12))throw new Error("Lunar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=30))throw new Error("Lunar day outside range 1 - 30");"object"==typeof n?(s=!1,i=n):(s=!!n,i={}),a={year:e,month:t,day:r,isIntercalary:s}}o=a.day-1;var u,h=l[a.year-l[0]],d=h>>13;u=d&&(a.month>d||a.isIntercalary)?a.month:a.month-1;for(var f=0;f>9&4095,(p>>5&15)-1,(31&p)+o);return i.year=m.getFullYear(),i.month=1+m.getMonth(),i.day=m.getDate(),i}(t,s,i,o);return r.toJD(u.year,u.month,u.day)},fromJD:function(e){var t=r.fromJD(e),n=function(e,t,r){var n,i;if("object"==typeof e)n=e,i=t||{};else{if(!("number"==typeof e&&e>=1888&&e<=2111))throw new Error("Solar year outside range 1888-2111");if(!("number"==typeof t&&t>=1&&t<=12))throw new Error("Solar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=31))throw new Error("Solar day outside range 1 - 31");n={year:e,month:t,day:r},i={}}var a=c[n.year-c[0]],o=n.year<<9|n.month<<5|n.day;i.year=o>=a?n.year:n.year-1,a=c[i.year-c[0]];var s,u=new Date(a>>9&4095,(a>>5&15)-1,31&a),h=new Date(n.year,n.month-1,n.day);s=Math.round((h-u)/864e5);var d,f=l[i.year-l[0]];for(d=0;d<13;d++){var p=f&1<<12-d?30:29;if(s>13;return!m||d=2&&n<=6},extraInfo:function(t,r,i){var a=this._validate(t,r,i,e.local.invalidDate);return{century:n[Math.floor((a.year()-1)/100)+1]||""}},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);return t=i.year()+(i.year()<0?1:0),r=i.month(),(n=i.day())+(r>1?16:0)+(r>2?32*(r-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e+.5)-Math.floor(this.jdEpoch)-1;var t=Math.floor(e/400)+1;e-=400*(t-1),e+=e>15?16:0;var r=Math.floor(e/32)+1,n=e-32*(r-1)+1;return this.newDate(t<=0?t-1:t,r,n)}});var n={20:"Fruitbat",21:"Anchovy"};e.calendars.discworld=r}}),zA=m({"node_modules/world-calendars/dist/calendars/ethiopian.js"(){var e=EA(),t=Yv();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Ethiopian",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var r=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear);return(t=r.year()+(r.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,e.local.invalidYear||e.regionalOptions[""].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(13===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,i=t-30*(n-1)+1;return this.newDate(r,n,i)}}),e.calendars.ethiopian=r}}),OA=m({"node_modules/world-calendars/dist/calendars/hebrew.js"(){var e=EA(),t=Yv();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}function n(e,t){return e-t*Math.floor(e/t)}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var r=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear);return this._leapYear(r.year())},_leapYear:function(e){return n(7*(e=e<0?e+1:e)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,e.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,r){return t.year&&(r=t.month(),t=t.year()),this._validate(t,r,this.minDay,e.local.invalidMonth),12===r&&this.leapYear(t)||8===r&&5===n(this.daysInYear(t),10)?30:9===r&&3===n(this.daysInYear(t),10)?29:this.daysPerMonth[r-1]},weekDay:function(e,t,r){return 6!==this.dayOfWeek(e,t,r)},extraInfo:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);return{yearType:(this.leapYear(i)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(i)%10-3]}},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);t=i.year(),r=i.month(),n=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+n+1;if(r<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s=this.toJD(-1===t?1:t+1,7,1);)t++;for(var r=ethis.toJD(t,r,this.daysInMonth(t,r));)r++;var n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}}),e.calendars.hebrew=r}}),DA=m({"node_modules/world-calendars/dist/calendars/islamic.js"(){var e=EA(),t=Yv();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Islamic",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-khamīs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,e.local.invalidYear).year()+14)%30<11},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){return this.leapYear(e)?355:354},daysInMonth:function(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(12===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return 5!==this.dayOfWeek(e,t,r)},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);return t=i.year(),r=i.month(),t=t<=0?t+1:t,(n=i.day())+Math.ceil(29.5*(r-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=Math.floor((30*(e-this.jdEpoch)+10646)/10631);t=t<=0?t-1:t;var r=Math.min(12,Math.ceil((e-29-this.toJD(t,1,1))/29.5)+1),n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}}),e.calendars.islamic=r}}),RA=m({"node_modules/world-calendars/dist/calendars/julian.js"(){var e=EA(),t=Yv();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Julian",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var r=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear);return(t=r.year()<0?r.year()+1:r.year())%4==0},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(2===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);return t=i.year(),r=i.month(),n=i.day(),t<0&&t++,r<=2&&(t--,r+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(r+1))+n-1524.5},fromJD:function(e){var t=Math.floor(e+.5)+1524,r=Math.floor((t-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((t-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=t-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),e.calendars.julian=r}}),jA=m({"node_modules/world-calendars/dist/calendars/mayan.js"(){var e=EA(),t=Yv();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}function n(e,t){return e-t*Math.floor(e/t)}function i(e,t){return n(e-1,t)+1}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:!1,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,e.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear).year();var r=Math.floor(t/400);return t%=400,t+=t<0?400:0,r+"."+Math.floor(t/20)+"."+t%20},forYear:function(e){if((e=e.split(".")).length<3)throw"Invalid Mayan year";for(var t=0,r=0;r19||r>0&&n<0)throw"Invalid Mayan year";t=20*t+n}return t},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,e.local.invalidYear),18},weekOfYear:function(t,r,n){return this._validate(t,r,n,e.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,e.local.invalidYear),360},daysInMonth:function(t,r){return this._validate(t,r,this.minDay,e.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,r,n){return this._validate(t,r,n,e.local.invalidDate).day()},weekDay:function(t,r,n){return this._validate(t,r,n,e.local.invalidDate),!0},extraInfo:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(e){var t=n(8+(e-=this.jdEpoch)+340,365);return[Math.floor(t/20)+1,n(t,20)]},_toTzolkin:function(e){return[i(20+(e-=this.jdEpoch),20),i(e+4,13)]},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);return i.day()+20*i.month()+360*i.year()+this.jdEpoch},fromJD:function(e){e=Math.floor(e)+.5-this.jdEpoch;var t=Math.floor(e/360);e%=360,e+=e<0?360:0;var r=Math.floor(e/20),n=e%20;return this.newDate(t,r,n)}}),e.calendars.mayan=r}}),FA=m({"node_modules/world-calendars/dist/calendars/nanakshahi.js"(){var e=EA(),t=Yv();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}r.prototype=new e.baseCalendar;var n=e.instance("gregorian");t(r.prototype,{name:"Nanakshahi",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var r=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear||e.regionalOptions[""].invalidYear);return n.leapYear(r.year()+(r.year()<1?1:0)+1469)},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(12===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(t,r,i){var a=this._validate(t,r,i,e.local.invalidMonth);(t=a.year())<0&&t++;for(var o=a.day(),s=1;s=this.toJD(t+1,1,1);)t++;for(var r=e-Math.floor(this.toJD(t,1,1)+.5)+1,n=1;r>this.daysInMonth(t,n);)r-=this.daysInMonth(t,n),n++;return this.newDate(t,n,r)}}),e.calendars.nanakshahi=r}}),BA=m({"node_modules/world-calendars/dist/calendars/nepali.js"(){var e=EA(),t=Yv();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Nepali",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(e){return this.daysInYear(e)!==this.daysPerYear},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear).year(),typeof this.NEPALI_CALENDAR_DATA[t]>"u")return this.daysPerYear;for(var r=0,n=this.minMonth;n<=12;n++)r+=this.NEPALI_CALENDAR_DATA[t][n];return r},daysInMonth:function(t,r){return t.year&&(r=t.month(),t=t.year()),this._validate(t,r,this.minDay,e.local.invalidMonth),typeof this.NEPALI_CALENDAR_DATA[t]>"u"?this.daysPerMonth[r-1]:this.NEPALI_CALENDAR_DATA[t][r]},weekDay:function(e,t,r){return 6!==this.dayOfWeek(e,t,r)},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);t=i.year(),r=i.month(),n=i.day();var a=e.instance(),o=0,s=r,l=t;this._createMissingCalendarData(t);var c=t-(s>9||9===s&&n>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==r&&(o=n,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===r?(o+=n-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(c,1,1).add(o,"d").toJD()},fromJD:function(t){var r=e.instance().fromJD(t),n=r.year(),i=r.dayOfYear(),a=n+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var c=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,c)},_createMissingCalendarData:function(e){var t=this.daysPerMonth.slice(0);t.unshift(17);for(var r=e-1;r"u"&&(this.NEPALI_CALENDAR_DATA[r]=t)},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]}}),e.calendars.nepali=r}}),NA=m({"node_modules/world-calendars/dist/calendars/persian.js"(){var e=EA(),t=Yv();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}function n(e){var t=e-475;e<0&&t++;var r=.242197,n=r*t,i=r*(t+1);return n-Math.floor(n)>i-Math.floor(i)}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Persian",jdEpoch:1948320.5,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Persian",epochs:["BP","AP"],monthNames:["Farvardin","Ordibehesht","Khordad","Tir","Mordad","Shahrivar","Mehr","Aban","Azar","Dey","Bahman","Esfand"],monthNamesShort:["Far","Ord","Kho","Tir","Mor","Sha","Meh","Aba","Aza","Dey","Bah","Esf"],dayNames:["Yekshanbeh","Doshanbeh","Seshanbeh","Chahārshanbeh","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(t){return n(this._validate(t,this.minMonth,this.minDay,e.local.invalidYear).year())},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-(n.dayOfWeek()+1)%7,"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(12===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return 5!==this.dayOfWeek(e,t,r)},toJD:function(t,r,i){var a=this._validate(t,r,i,e.local.invalidDate);t=a.year(),r=a.month(),i=a.day();var o=0;if(t>0)for(var s=1;s0?t-1:t)+o+this.jdEpoch-1},fromJD:function(e){var t=475+((e=Math.floor(e)+.5)-this.toJD(475,1,1))/365.242197,r=Math.floor(t);r<=0&&r--,e>this.toJD(r,12,n(r)?30:29)&&0==++r&&r++;var i=e-this.toJD(r,1,1)+1,a=i<=186?Math.ceil(i/31):Math.ceil((i-6)/30),o=e-this.toJD(r,a,1)+1;return this.newDate(r,a,o)}}),e.calendars.persian=r,e.calendars.jalali=r}}),UA=m({"node_modules/world-calendars/dist/calendars/taiwan.js"(){var e=EA(),t=Yv(),r=e.instance();function n(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}n.prototype=new e.baseCalendar,t(n.prototype,{name:"Taiwan",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},leapYear:function(t){var n=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear);return t=this._t2gYear(n.year()),r.leapYear(t)},weekOfYear:function(t,n,i){var a=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear);return t=this._t2gYear(a.year()),r.weekOfYear(t,a.month(),a.day())},daysInMonth:function(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(2===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(t,n,i){var a=this._validate(t,n,i,e.local.invalidDate);return t=this._t2gYear(a.year()),r.toJD(t,a.month(),a.day())},fromJD:function(e){var t=r.fromJD(e),n=this._g2tYear(t.year());return this.newDate(n,t.month(),t.day())},_t2gYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)},_g2tYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)}}),e.calendars.taiwan=n}}),VA=m({"node_modules/world-calendars/dist/calendars/thai.js"(){var e=EA(),t=Yv(),r=e.instance();function n(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}n.prototype=new e.baseCalendar,t(n.prototype,{name:"Thai",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var n=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear);return t=this._t2gYear(n.year()),r.leapYear(t)},weekOfYear:function(t,n,i){var a=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear);return t=this._t2gYear(a.year()),r.weekOfYear(t,a.month(),a.day())},daysInMonth:function(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(2===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(t,n,i){var a=this._validate(t,n,i,e.local.invalidDate);return t=this._t2gYear(a.year()),r.toJD(t,a.month(),a.day())},fromJD:function(e){var t=r.fromJD(e),n=this._g2tYear(t.year());return this.newDate(n,t.month(),t.day())},_t2gYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)},_g2tYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)}}),e.calendars.thai=n}}),qA=m({"node_modules/world-calendars/dist/calendars/ummalqura.js"(){var e=EA(),t=Yv();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}r.prototype=new e.baseCalendar,t(r.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āthā’","Yawm al-Arba‘ā’","Yawm al-Khamīs","Yawm al-Jum‘a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(t){var r=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear);return 355===this.daysInYear(r.year())},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){for(var t=0,r=1;r<=12;r++)t+=this.daysInMonth(e,r);return t},daysInMonth:function(t,r){for(var i=this._validate(t,r,this.minDay,e.local.invalidMonth).toJD()-24e5+.5,a=0,o=0;oi)return n[a]-n[a-1];a++}return 30},weekDay:function(e,t,r){return 5!==this.dayOfWeek(e,t,r)},toJD:function(t,r,i){var a=this._validate(t,r,i,e.local.invalidDate),o=12*(a.year()-1)+a.month()-15292;return a.day()+n[o-1]-1+24e5-.5},fromJD:function(e){for(var t=e-24e5+.5,r=0,i=0;it);i++)r++;var a=r+15292,o=Math.floor((a-1)/12),s=o+1,l=a-12*o,c=t-n[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,r,n){var i=e.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,r,n,i){var a=e.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\{0\}/,this.local.name);return a}}),e.calendars.ummalqura=r;var n=[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]}}),HA=m({"src/components/calendars/calendars.js"(e,t){t.exports=EA(),CA(),LA(),IA(),PA(),zA(),OA(),DA(),RA(),jA(),FA(),BA(),NA(),UA(),VA(),qA()}}),GA=m({"src/components/calendars/index.js"(e,t){var r=HA(),n=dr(),i=E(),a=i.EPOCHJD,o=i.ONEDAY,s={valType:"enumerated",values:n.sortObjectKeys(r.calendars),editType:"calc",dflt:"gregorian"},l=function(e,t,r,i){var a={};return a[r]=s,n.coerce(e,t,a,r,i)},c="##",u={d:{0:"dd","-":"d"},e:{0:"d","-":"d"},a:{0:"D","-":"D"},A:{0:"DD","-":"DD"},j:{0:"oo","-":"o"},W:{0:"ww","-":"w"},m:{0:"mm","-":"m"},b:{0:"M","-":"M"},B:{0:"MM","-":"MM"},y:{0:"yy","-":"yy"},Y:{0:"yyyy","-":"yyyy"},U:c,w:c,c:{0:"D M d %X yyyy","-":"D M d %X yyyy"},x:{0:"mm/dd/yyyy","-":"mm/dd/yyyy"}},h={};function d(e){var t=h[e];return t||(h[e]=r.instance(e))}function f(e){return n.extendFlat({},s,{description:e})}function p(e){return"Sets the calendar system to use with `"+e+"` date data."}var m={xcalendar:f(p("x"))},g=n.extendFlat({},m,{ycalendar:f(p("y"))}),y=n.extendFlat({},g,{zcalendar:f(p("z"))}),v=f(["Sets the calendar system to use for `range` and `tick0`","if this is a date axis. This does not set the calendar for","interpreting data on this axis, that's specified in the trace","or via the global `layout.calendar`"].join(" "));t.exports={moduleType:"component",name:"calendars",schema:{traces:{scatter:g,bar:g,box:g,heatmap:g,contour:g,histogram:g,histogram2d:g,histogram2dcontour:g,scatter3d:y,surface:y,mesh3d:y,scattergl:g,ohlc:m,candlestick:m},layout:{calendar:f(["Sets the default calendar system to use for interpreting and","displaying dates throughout the plot."].join(" "))},subplots:{xaxis:{calendar:v},yaxis:{calendar:v},scene:{xaxis:{calendar:v},yaxis:{calendar:v},zaxis:{calendar:v}},polar:{radialaxis:{calendar:v}}}},layoutAttributes:s,handleDefaults:l,handleTraceDefaults:function(e,t,r,n){for(var i=0;i{n.preventDefault(),n.stopPropagation(),n.clipboardData.setData("text",e),t.removeEventListener("copy",r,!0)};t.addEventListener("copy",r,!0),document.execCommand("copy")},(l=i||(i={})).boxSizing=function(e){let t=window.getComputedStyle(e),r=parseFloat(t.borderTopWidth)||0,n=parseFloat(t.borderLeftWidth)||0,i=parseFloat(t.borderRightWidth)||0,a=parseFloat(t.borderBottomWidth)||0,o=parseFloat(t.paddingTop)||0,s=parseFloat(t.paddingLeft)||0,l=parseFloat(t.paddingRight)||0,c=parseFloat(t.paddingBottom)||0;return{borderTop:r,borderLeft:n,borderRight:i,borderBottom:a,paddingTop:o,paddingLeft:s,paddingRight:l,paddingBottom:c,horizontalSum:n+s+l+i,verticalSum:r+o+c+a}},l.sizeLimits=function(e){let t=window.getComputedStyle(e),r=parseFloat(t.minWidth)||0,n=parseFloat(t.minHeight)||0,i=parseFloat(t.maxWidth)||1/0,a=parseFloat(t.maxHeight)||1/0;return i=Math.max(r,i),a=Math.max(n,a),{minWidth:r,minHeight:n,maxWidth:i,maxHeight:a}},l.hitTest=function(e,t,r){let n=e.getBoundingClientRect();return t>=n.left&&t=n.top&&r=r.bottom)){if(n.topr.bottom&&n.height>=r.height)return void(e.scrollTop-=r.top-n.top);if(n.topr.height)return void(e.scrollTop-=r.bottom-n.bottom);if(n.bottom>r.bottom&&n.height{let e=Element.prototype;return e.matches||e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector||function(e){let t=this,r=t.ownerDocument?t.ownerDocument.querySelectorAll(e):[];return-1!==Array.prototype.indexOf.call(r,t)}})(),e.calculateSingle=function(e){let c=0,u=0,h=0;function d(t){let r=e.match(t);return null!==r&&(e=e.slice(r[0].length),!0)}for(e=(e=e.split(",",1)[0]).replace(l," $1 ");e.length>0;)if(d(t))c++;else if(d(r))u++;else if(d(n))u++;else if(d(a))h++;else if(d(o))u++;else if(d(i))h++;else if(!d(s))return 0;return c=Math.min(c,255),u=Math.min(u,255),h=Math.min(h,255),c<<16|u<<8|h};let t=/^#[^\s\+>~#\.\[:]+/,r=/^\.[^\s\+>~#\.\[:]+/,n=/^\[[^\]]+\]/,i=/^[^\s\+>~#\.\[:]+/,a=/^(::[^\s\+>~#\.\[:]+|:first-line|:first-letter|:before|:after)/,o=/^:[^\s\+>~#\.\[:]+/,s=/^[\s\+>~\*]+/,l=/:not\(([^\)]+)\)/g}(s||(s={}));var k,T=y(v()),A=class{constructor(){this._first=null,this._last=null,this._size=0}get isEmpty(){return 0===this._size}get size(){return this._size}get length(){return this._size}get first(){return this._first?this._first.value:void 0}get last(){return this._last?this._last.value:void 0}get firstNode(){return this._first}get lastNode(){return this._last}*[Symbol.iterator](){let e=this._first;for(;e;)yield e.value,e=e.next}*retro(){let e=this._last;for(;e;)yield e.value,e=e.prev}*nodes(){let e=this._first;for(;e;)yield e,e=e.next}*retroNodes(){let e=this._last;for(;e;)yield e,e=e.prev}assign(e){this.clear();for(let t of e)this.addLast(t)}push(e){this.addLast(e)}pop(){return this.removeLast()}shift(e){this.addFirst(e)}unshift(){return this.removeFirst()}addFirst(e){let t=new k.LinkedListNode(this,e);return this._first?(t.next=this._first,this._first.prev=t,this._first=t):(this._first=t,this._last=t),this._size++,t}addLast(e){let t=new k.LinkedListNode(this,e);return this._last?(t.prev=this._last,this._last.next=t,this._last=t):(this._first=t,this._last=t),this._size++,t}insertBefore(e,t){if(!t||t===this._first)return this.addFirst(e);if(!(t instanceof k.LinkedListNode)||t.list!==this)throw new Error("Reference node is not owned by the list.");let r=new k.LinkedListNode(this,e),n=t,i=n.prev;return r.next=n,r.prev=i,n.prev=r,i.next=r,this._size++,r}insertAfter(e,t){if(!t||t===this._last)return this.addLast(e);if(!(t instanceof k.LinkedListNode)||t.list!==this)throw new Error("Reference node is not owned by the list.");let r=new k.LinkedListNode(this,e),n=t,i=n.next;return r.next=i,r.prev=n,n.next=r,i.prev=r,this._size++,r}removeFirst(){let e=this._first;if(e)return e===this._last?(this._first=null,this._last=null):(this._first=e.next,this._first.prev=null),e.list=null,e.next=null,e.prev=null,this._size--,e.value}removeLast(){let e=this._last;if(e)return e===this._first?(this._first=null,this._last=null):(this._last=e.prev,this._last.next=null),e.list=null,e.next=null,e.prev=null,this._size--,e.value}removeNode(e){if(!(e instanceof k.LinkedListNode)||e.list!==this)throw new Error("Node is not owned by the list.");let t=e;t===this._first&&t===this._last?(this._first=null,this._last=null):t===this._first?(this._first=t.next,this._first.prev=null):t===this._last?(this._last=t.prev,this._last.next=null):(t.next.prev=t.prev,t.prev.next=t.next),t.list=null,t.next=null,t.prev=null,this._size--}clear(){let e=this._first;for(;e;){let t=e.next;e.list=null,e.prev=null,e.next=null,e=t}this._first=null,this._last=null,this._size=0}};!function(e){e.from=function(t){let r=new e;return r.assign(t),r}}(A||(A={})),function(e){e.LinkedListNode=class{constructor(e,t){this.list=null,this.next=null,this.prev=null,this.list=e,this.value=t}}}(k||(k={}));var M,S=class{constructor(e){this.type=e}get isConflatable(){return!1}conflate(e){return!1}},E=class extends S{get isConflatable(){return!0}conflate(e){return!0}};!function(e){let t=null,r=(n=Promise.resolve(),e=>{let t=!1;return n.then((()=>!t&&e())),()=>{t=!0}});var n;function i(e,t){let r=o.get(e);r&&0!==r.length?(0,T.every)((0,T.retro)(r),(r=>!r||function(e,t,r){let n=!0;try{n="function"==typeof e?e(t,r):e.messageHook(t,r)}catch(e){l(e)}return n}(r,e,t)))&&u(e,t):u(e,t)}e.sendMessage=i,e.postMessage=function(e,n){n.isConflatable&&(0,T.some)(a,(t=>!(t.handler!==e||!t.msg||t.msg.type!==n.type||!t.msg.isConflatable)&&t.msg.conflate(n)))||function(e,n){a.addLast({handler:e,msg:n}),null===t&&(t=r(h))}(e,n)},e.installMessageHook=function(e,t){let r=o.get(e);r&&-1!==r.indexOf(t)||(r?r.push(t):o.set(e,[t]))},e.removeMessageHook=function(e,t){let r=o.get(e);if(!r)return;let n=r.indexOf(t);-1!==n&&(r[n]=null,d(r))},e.clearData=function(e){let t=o.get(e);t&&t.length>0&&(T.ArrayExt.fill(t,null),d(t));for(let t of a)t.handler===e&&(t.handler=null,t.msg=null)},e.flush=function(){c||null===t||(t(),t=null,c=!0,h(),c=!1)},e.getExceptionHandler=function(){return l},e.setExceptionHandler=function(e){let t=l;return l=e,t};let a=new A,o=new WeakMap,s=new Set,l=e=>{console.error(e)},c=!1;function u(e,t){try{e.processMessage(t)}catch(e){l(e)}}function h(){if(t=null,a.isEmpty)return;let e={handler:null,msg:null};for(a.addLast(e);;){let t=a.removeFirst();if(t===e)return;t.handler&&t.msg&&i(t.handler,t.msg)}}function d(e){0===s.size&&r(f),s.add(e)}function f(){s.forEach(p),s.clear()}function p(e){T.ArrayExt.removeAllWhere(e,m)}function m(e){return null===e}}(M||(M={}));var C,L=class{constructor(e){this._pid=C.nextPID(),this.name=e.name,this._create=e.create,this._coerce=e.coerce||null,this._compare=e.compare||null,this._changed=e.changed||null}get(e){let t,r=C.ensureMap(e);return t=this._pid in r?r[this._pid]:r[this._pid]=this._createValue(e),t}set(e,t){let r,n=C.ensureMap(e);r=this._pid in n?n[this._pid]:n[this._pid]=this._createValue(e);let i=this._coerceValue(e,t);this._maybeNotify(e,r,n[this._pid]=i)}coerce(e){let t,r=C.ensureMap(e);t=this._pid in r?r[this._pid]:r[this._pid]=this._createValue(e);let n=this._coerceValue(e,t);this._maybeNotify(e,t,r[this._pid]=n)}_createValue(e){return(0,this._create)(e)}_coerceValue(e,t){let r=this._coerce;return r?r(e,t):t}_compareValue(e,t){let r=this._compare;return r?r(e,t):e===t}_maybeNotify(e,t,r){let n=this._changed;n&&!this._compareValue(t,r)&&n(e,t,r)}};!function(e){e.clearData=function(e){C.ownerData.delete(e)}}(L||(L={})),function(e){e.ownerData=new WeakMap,e.nextPID=(()=>{let e=0;return()=>`pid-${`${Math.random()}`.slice(2)}-${e++}`})(),e.ensureMap=function(t){let r=e.ownerData.get(t);return r||(r=Object.create(null),e.ownerData.set(t,r),r)}}(C||(C={}));var I,P=y(v()),z=(y(x()),class{constructor(e){this.sender=e}connect(e,t){return I.connect(this,e,t)}disconnect(e,t){return I.disconnect(this,e,t)}emit(e){I.emit(this,e)}});!function(e){e.disconnectBetween=function(e,t){I.disconnectBetween(e,t)},e.disconnectSender=function(e){I.disconnectSender(e)},e.disconnectReceiver=function(e){I.disconnectReceiver(e)},e.disconnectAll=function(e){I.disconnectAll(e)},e.clearData=function(e){I.disconnectAll(e)},e.getExceptionHandler=function(){return I.exceptionHandler},e.setExceptionHandler=function(e){let t=I.exceptionHandler;return I.exceptionHandler=e,t}}(z||(z={})),function(e){function t(e){let t=n.get(e);if(t&&0!==t.length){for(let e of t){if(!e.signal)continue;let t=e.thisArg||e.slot;e.signal=null,c(i.get(t))}c(t)}}function r(e){let t=i.get(e);if(t&&0!==t.length){for(let e of t){if(!e.signal)continue;let t=e.signal.sender;e.signal=null,c(n.get(t))}c(t)}}e.exceptionHandler=e=>{console.error(e)},e.connect=function(e,t,r){r=r||void 0;let a=n.get(e.sender);if(a||(a=[],n.set(e.sender,a)),s(a,e,t,r))return!1;let o=r||t,l=i.get(o);l||(l=[],i.set(o,l));let c={signal:e,slot:t,thisArg:r};return a.push(c),l.push(c),!0},e.disconnect=function(e,t,r){r=r||void 0;let a=n.get(e.sender);if(!a||0===a.length)return!1;let o=s(a,e,t,r);if(!o)return!1;let l=r||t,u=i.get(l);return o.signal=null,c(a),c(u),!0},e.disconnectBetween=function(e,t){let r=n.get(e);if(!r||0===r.length)return;let a=i.get(t);if(a&&0!==a.length){for(let t of a)t.signal&&t.signal.sender===e&&(t.signal=null);c(r),c(a)}},e.disconnectSender=t,e.disconnectReceiver=r,e.disconnectAll=function(e){t(e),r(e)},e.emit=function(e,t){let r=n.get(e.sender);if(r&&0!==r.length)for(let n=0,i=r.length;ne.signal===t&&e.slot===r&&e.thisArg===n))}function l(t,r){let{signal:n,slot:i,thisArg:a}=t;try{i.call(a,n.sender,r)}catch(t){e.exceptionHandler(t)}}function c(e){0===a.size&&o(u),a.add(e)}function u(){a.forEach(h),a.clear()}function h(e){P.ArrayExt.removeAllWhere(e,d)}function d(e){return null===e.signal}}(I||(I={}));var O=class{constructor(e){this._fn=e}get isDisposed(){return!this._fn}dispose(){if(!this._fn)return;let e=this._fn;this._fn=null,e()}},D=class{constructor(){this._isDisposed=!1,this._items=new Set}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed||(this._isDisposed=!0,this._items.forEach((e=>{e.dispose()})),this._items.clear())}contains(e){return this._items.has(e)}add(e){this._items.add(e)}remove(e){this._items.delete(e)}clear(){this._items.clear()}};!function(e){e.from=function(t){let r=new e;for(let e of t)r.add(e);return r}}(D||(D={}));var R=class extends D{constructor(){super(...arguments),this._disposed=new z(this)}get disposed(){return this._disposed}dispose(){this.isDisposed||(super.dispose(),this._disposed.emit(void 0),z.clearData(this))}};!function(e){e.from=function(t){let r=new e;for(let e of t)r.add(e);return r}}(R||(R={}));var j,F=class e{constructor(e){this._onScrollFrame=()=>{if(!this._scrollTarget)return;let{element:e,edge:t,distance:r}=this._scrollTarget,n=j.SCROLL_EDGE_SIZE-r,i=Math.pow(n/j.SCROLL_EDGE_SIZE,2),a=Math.max(1,Math.round(i*j.SCROLL_EDGE_SIZE));switch(t){case"top":e.scrollTop-=a;break;case"left":e.scrollLeft-=a;break;case"right":e.scrollLeft+=a;break;case"bottom":e.scrollTop+=a}requestAnimationFrame(this._onScrollFrame)},this._disposed=!1,this._dropAction="none",this._override=null,this._currentTarget=null,this._currentElement=null,this._promise=null,this._scrollTarget=null,this._resolve=null,this.document=e.document||document,this.mimeData=e.mimeData,this.dragImage=e.dragImage||null,this.proposedAction=e.proposedAction||"copy",this.supportedActions=e.supportedActions||"all",this.source=e.source||null}dispose(){if(!this._disposed){if(this._disposed=!0,this._currentTarget){let e=new PointerEvent("pointerup",{bubbles:!0,cancelable:!0,clientX:-1,clientY:-1});j.dispatchDragLeave(this,this._currentTarget,null,e)}this._finalize("none")}}get isDisposed(){return this._disposed}start(e,t){if(this._disposed)return Promise.resolve("none");if(this._promise)return this._promise;this._addListeners(),this._attachDragImage(e,t),this._promise=new Promise((e=>{this._resolve=e}));let r=new PointerEvent("pointermove",{bubbles:!0,cancelable:!0,clientX:e,clientY:t});return document.dispatchEvent(r),this._promise}handleEvent(e){switch(e.type){case"pointermove":this._evtPointerMove(e);break;case"pointerup":this._evtPointerUp(e);break;case"keydown":this._evtKeyDown(e);break;default:e.preventDefault(),e.stopPropagation()}}moveDragImage(e,t){this.dragImage&&(this.dragImage.style.transform=`translate(${e}px, ${t}px)`)}_evtPointerMove(e){e.preventDefault(),e.stopPropagation(),this._updateCurrentTarget(e),this._updateDragScroll(e),this.moveDragImage(e.clientX,e.clientY)}_evtPointerUp(e){if(e.preventDefault(),e.stopPropagation(),0!==e.button)return;if(this._updateCurrentTarget(e),!this._currentTarget)return void this._finalize("none");if("none"===this._dropAction)return j.dispatchDragLeave(this,this._currentTarget,null,e),void this._finalize("none");let t=j.dispatchDrop(this,this._currentTarget,e);this._finalize(t)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation(),27===e.keyCode&&this.dispose()}_addListeners(){document.addEventListener("pointerdown",this,!0),document.addEventListener("pointermove",this,!0),document.addEventListener("pointerup",this,!0),document.addEventListener("pointerenter",this,!0),document.addEventListener("pointerleave",this,!0),document.addEventListener("pointerover",this,!0),document.addEventListener("pointerout",this,!0),document.addEventListener("keydown",this,!0),document.addEventListener("keyup",this,!0),document.addEventListener("keypress",this,!0),document.addEventListener("contextmenu",this,!0)}_removeListeners(){document.removeEventListener("pointerdown",this,!0),document.removeEventListener("pointermove",this,!0),document.removeEventListener("pointerup",this,!0),document.removeEventListener("pointerenter",this,!0),document.removeEventListener("pointerleave",this,!0),document.removeEventListener("pointerover",this,!0),document.removeEventListener("pointerout",this,!0),document.removeEventListener("keydown",this,!0),document.removeEventListener("keyup",this,!0),document.removeEventListener("keypress",this,!0),document.removeEventListener("contextmenu",this,!0)}_updateDragScroll(e){let t=j.findScrollTarget(e);!this._scrollTarget&&!t||(this._scrollTarget||setTimeout(this._onScrollFrame,500),this._scrollTarget=t)}_updateCurrentTarget(e){let t=this._currentTarget,r=this._currentTarget,n=this._currentElement,i=j.findElementBehindBackdrop(e,this.document);this._currentElement=i,i!==n&&i!==r&&j.dispatchDragExit(this,r,i,e),i!==n&&i!==r&&(r=j.dispatchDragEnter(this,i,r,e)),r!==t&&(this._currentTarget=r,j.dispatchDragLeave(this,t,r,e));let a=j.dispatchDragOver(this,r,e);this._setDropAction(a)}_attachDragImage(e,t){if(!this.dragImage)return;this.dragImage.classList.add("lm-mod-drag-image");let r=this.dragImage.style;r.pointerEvents="none",r.position="fixed",r.transform=`translate(${e}px, ${t}px)`,(this.document instanceof Document?this.document.body:this.document.firstElementChild).appendChild(this.dragImage)}_detachDragImage(){if(!this.dragImage)return;let e=this.dragImage.parentNode;e&&e.removeChild(this.dragImage)}_setDropAction(t){if(t=j.validateAction(t,this.supportedActions),!this._override||this._dropAction!==t)switch(t){case"none":this._dropAction=t,this._override=e.overrideCursor("no-drop",this.document);break;case"copy":this._dropAction=t,this._override=e.overrideCursor("copy",this.document);break;case"link":this._dropAction=t,this._override=e.overrideCursor("alias",this.document);break;case"move":this._dropAction=t,this._override=e.overrideCursor("move",this.document)}}_finalize(e){let t=this._resolve;this._removeListeners(),this._detachDragImage(),this._override&&(this._override.dispose(),this._override=null),this.mimeData.clear(),this._disposed=!0,this._dropAction="none",this._currentTarget=null,this._currentElement=null,this._scrollTarget=null,this._promise=null,this._resolve=null,t&&t(e)}};!function(e){class t extends DragEvent{constructor(e,t){super(t.type,{bubbles:!0,cancelable:!0,altKey:e.altKey,button:e.button,clientX:e.clientX,clientY:e.clientY,ctrlKey:e.ctrlKey,detail:0,metaKey:e.metaKey,relatedTarget:t.related,screenX:e.screenX,screenY:e.screenY,shiftKey:e.shiftKey,view:window});let{drag:r}=t;this.dropAction="none",this.mimeData=r.mimeData,this.proposedAction=r.proposedAction,this.supportedActions=r.supportedActions,this.source=r.source}}e.Event=t,e.overrideCursor=function(e,t=document){return j.overrideCursor(e,t)}}(F||(F={})),function(e){function t(t,i=document){if(t){if(r&&t==r.event)return r.element;e.cursorBackdrop.style.zIndex="-1000";let n=i.elementFromPoint(t.clientX,t.clientY);return e.cursorBackdrop.style.zIndex="",r={event:t,element:n},n}{let t=e.cursorBackdrop.style.transform;if(n&&t===n.transform)return n.element;let r=e.cursorBackdrop.getBoundingClientRect();e.cursorBackdrop.style.zIndex="-1000";let a=i.elementFromPoint(r.left+r.width/2,r.top+r.height/2);return e.cursorBackdrop.style.zIndex="",n={transform:t,element:a},a}}e.SCROLL_EDGE_SIZE=20,e.validateAction=function(e,t){return i[e]&a[t]?e:"none"},e.findElementBehindBackdrop=t;let r=null,n=null;e.findScrollTarget=function(r){let n=r.clientX,i=r.clientY,a=t(r);for(;a;a=a.parentElement){if(!a.hasAttribute("data-lm-dragscroll"))continue;let t=0,r=0;a===document.body&&(t=window.pageXOffset,r=window.pageYOffset);let o=a.getBoundingClientRect(),s=o.top+r,l=o.left+t,c=l+o.width,u=s+o.height;if(n=c||i=u)continue;let h,d=n-l+1,f=i-s+1,p=c-n,m=u-i,g=Math.min(d,f,p,m);if(g>e.SCROLL_EDGE_SIZE)continue;switch(g){case m:h="bottom";break;case f:h="top";break;case p:h="right";break;case d:h="left";break;default:throw"unreachable"}let y,v=a.scrollWidth-a.clientWidth,x=a.scrollHeight-a.clientHeight;switch(h){case"top":y=x>0&&a.scrollTop>0;break;case"left":y=v>0&&a.scrollLeft>0;break;case"right":y=v>0&&a.scrollLeft0&&a.scrollTop{n===u&&e.cursorBackdrop.isConnected&&(document.removeEventListener("pointermove",o,!0),e.cursorBackdrop.removeEventListener("scroll",s,!0),i.removeChild(e.cursorBackdrop))}))};let c=500,u=0;e.cursorBackdrop=function(){let e=document.createElement("div");return e.classList.add("lm-cursor-backdrop"),e}()}(j||(j={}));var B=y(v()),N=y(x());function U(){return q.keyboardLayout}var V=class e{constructor(t,r,n=[]){this.name=t,this._codes=r,this._keys=e.extractKeys(r),this._modifierKeys=e.convertToKeySet(n)}keys(){return Object.keys(this._keys)}isValidKey(e){return e in this._keys}isModifierKey(e){return e in this._modifierKeys}keyForKeydownEvent(e){return this._codes[e.keyCode]||""}};!function(e){e.extractKeys=function(e){let t=Object.create(null);for(let r in e)t[e[r]]=!0;return t},e.convertToKeySet=function(e){let t=Object(null);for(let r=0,n=e.length;r{this._commands.delete(e),this._commandChanged.emit({id:e,type:"removed"})}))}notifyCommandChanged(e){if(void 0!==e&&!this._commands.has(e))throw new Error(`Command '${e}' is not registered.`);this._commandChanged.emit({id:e,type:e?"changed":"many-changed"})}describedBy(e,t=N.JSONExt.emptyObject){var r;let n=this._commands.get(e);return Promise.resolve(null!==(r=n?.describedBy.call(void 0,t))&&void 0!==r?r:{args:null})}label(e,t=N.JSONExt.emptyObject){var r;let n=this._commands.get(e);return null!==(r=n?.label.call(void 0,t))&&void 0!==r?r:""}mnemonic(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return r?r.mnemonic.call(void 0,t):-1}icon(e,t=N.JSONExt.emptyObject){var r;return null===(r=this._commands.get(e))||void 0===r?void 0:r.icon.call(void 0,t)}iconClass(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return r?r.iconClass.call(void 0,t):""}iconLabel(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return r?r.iconLabel.call(void 0,t):""}caption(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return r?r.caption.call(void 0,t):""}usage(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return r?r.usage.call(void 0,t):""}className(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return r?r.className.call(void 0,t):""}dataset(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return r?r.dataset.call(void 0,t):{}}isEnabled(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return!!r&&r.isEnabled.call(void 0,t)}isToggled(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return!!r&&r.isToggled.call(void 0,t)}isToggleable(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return!!r&&r.isToggleable}isVisible(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return!!r&&r.isVisible.call(void 0,t)}execute(e,t=N.JSONExt.emptyObject){let r,n=this._commands.get(e);if(!n)return Promise.reject(new Error(`Command '${e}' not registered.`));try{r=n.execute.call(void 0,t)}catch(e){r=Promise.reject(e)}let i=Promise.resolve(r);return this._commandExecuted.emit({id:e,args:t,result:i}),i}addKeyBinding(e){let t=G.createKeyBinding(e);return this._keyBindings.push(t),this._keyBindingChanged.emit({binding:t,type:"added"}),new O((()=>{B.ArrayExt.removeFirstOf(this._keyBindings,t),this._keyBindingChanged.emit({binding:t,type:"removed"})}))}processKeydownEvent(t){if(t.defaultPrevented||this._replaying)return;let r=e.keystrokeForKeydownEvent(t);if(!r)return this._replayKeydownEvents(),void this._clearPendingState();if(e.isModifierKeyPressed(t)){let{exact:e}=G.matchKeyBinding(this._keyBindings,[r],t);return void(e?(t.preventDefault(),t.stopPropagation(),this._startModifierTimer(e)):this._clearModifierTimer())}this._keystrokes.push(r);let{exact:n,partial:i}=G.matchKeyBinding(this._keyBindings,this._keystrokes,t),a=0!==i.length;return n||a?((n?.preventDefault||i.some((e=>e.preventDefault)))&&(t.preventDefault(),t.stopPropagation()),this._keydownEvents.push(t),n&&!a?(this._executeKeyBinding(n),void this._clearPendingState()):(n&&(this._exactKeyMatch=n),void this._startTimer())):(this._replayKeydownEvents(),void this._clearPendingState())}holdKeyBindingExecution(e,t){this._holdKeyBindingPromises.set(e,t)}processKeyupEvent(e){this._clearModifierTimer()}_startModifierTimer(e){this._clearModifierTimer(),this._timerModifierID=window.setTimeout((()=>{this._executeKeyBinding(e)}),G.modifierkeyTimeOut)}_clearModifierTimer(){0!==this._timerModifierID&&(clearTimeout(this._timerModifierID),this._timerModifierID=0)}_startTimer(){this._clearTimer(),this._timerID=window.setTimeout((()=>{this._onPendingTimeout()}),G.CHORD_TIMEOUT)}_clearTimer(){0!==this._timerID&&(clearTimeout(this._timerID),this._timerID=0)}_replayKeydownEvents(){0!==this._keydownEvents.length&&(this._replaying=!0,this._keydownEvents.forEach(G.replayKeyEvent),this._replaying=!1)}async _executeKeyBinding(e){if(0!==this._holdKeyBindingPromises.size){let e=[...this._keydownEvents],t=(await Promise.race([Promise.all(e.map((async e=>{var t;return null!==(t=this._holdKeyBindingPromises.get(e))&&void 0!==t?t:Promise.resolve(!0)}))),new Promise((e=>{setTimeout((()=>e([!1])),G.KEYBINDING_HOLD_TIMEOUT)}))])).every(Boolean);if(this._holdKeyBindingPromises.clear(),!t)return}let{command:t,args:r}=e,n={_luminoEvent:{type:"keybinding",keys:e.keys},...r};if(this.hasCommand(t)&&this.isEnabled(t,n))await this.execute(t,n);else{let r=this.hasCommand(t)?"enabled":"registered",n=`Cannot execute key binding '${e.keys.join(", ")}':`,i=`command '${t}' is not ${r}.`;console.warn(`${n} ${i}`)}}_clearPendingState(){this._clearTimer(),this._clearModifierTimer(),this._exactKeyMatch=null,this._keystrokes.length=0,this._keydownEvents.length=0}_onPendingTimeout(){this._timerID=0,this._exactKeyMatch?this._executeKeyBinding(this._exactKeyMatch):this._replayKeydownEvents(),this._clearPendingState()}};!function(e){function t(e){let t="",r=!1,n=!1,i=!1,o=!1;for(let s of e.split(/\s+/))"Accel"===s?a.IS_MAC?n=!0:i=!0:"Alt"===s?r=!0:"Cmd"===s?n=!0:"Ctrl"===s?i=!0:"Shift"===s?o=!0:s.length>0&&(t=s);return{cmd:n,ctrl:i,alt:r,shift:o,key:t}}function r(e){let r="",n=t(e);return n.ctrl&&(r+="Ctrl "),n.alt&&(r+="Alt "),n.shift&&(r+="Shift "),n.cmd&&a.IS_MAC&&(r+="Cmd "),n.key?r+n.key:r.trim()}e.parseKeystroke=t,e.normalizeKeystroke=r,e.normalizeKeys=function(e){let t;return t=a.IS_WIN?e.winKeys||e.keys:a.IS_MAC?e.macKeys||e.keys:e.linuxKeys||e.keys,t.map(r)},e.formatKeystroke=function(e){return"string"==typeof e?r(e):e.map(r).join(", ");function r(e){let r=[],n=a.IS_MAC?" ":"+",i=t(e);return i.ctrl&&r.push("Ctrl"),i.alt&&r.push("Alt"),i.shift&&r.push("Shift"),a.IS_MAC&&i.cmd&&r.push("Cmd"),r.push(i.key),r.map(G.formatKey).join(n)}},e.isModifierKeyPressed=function(e){let t=U(),r=t.keyForKeydownEvent(e);return t.isModifierKey(r)},e.keystrokeForKeydownEvent=function(e){let t=U(),r=t.keyForKeydownEvent(e),n=[];return e.ctrlKey&&n.push("Ctrl"),e.altKey&&n.push("Alt"),e.shiftKey&&n.push("Shift"),e.metaKey&&a.IS_MAC&&n.push("Cmd"),t.isModifierKey(r)||n.push(r),n.join(" ")}}(W||(W={})),function(e){e.CHORD_TIMEOUT=1e3,e.KEYBINDING_HOLD_TIMEOUT=1e3,e.modifierkeyTimeOut=500,e.createCommand=function(e){return{execute:e.execute,describedBy:h("function"==typeof e.describedBy?e.describedBy:{args:null,...e.describedBy},(()=>({args:null}))),label:h(e.label,n),mnemonic:h(e.mnemonic,i),icon:h(e.icon,u),iconClass:h(e.iconClass,n),iconLabel:h(e.iconLabel,n),caption:h(e.caption,n),usage:h(e.usage,n),className:h(e.className,n),dataset:h(e.dataset,c),isEnabled:e.isEnabled||s,isToggled:e.isToggled||l,isToggleable:e.isToggleable||!!e.isToggled,isVisible:e.isVisible||s}},e.createKeyBinding=function(e){var t;return{keys:W.normalizeKeys(e),selector:d(e),command:e.command,args:e.args||N.JSONExt.emptyObject,preventDefault:null===(t=e.preventDefault)||void 0===t||t}},e.matchKeyBinding=function(e,t,r){let n=null,i=[],a=1/0,s=0;for(let l=0,c=e.length;la)continue;let d=o.calculateSpecificity(c.selector);(!n||h=s)&&(n=c,a=h,s=d)}return{exact:n,partial:i}},e.replayKeyEvent=function(e){e.target.dispatchEvent(function(e){let t=document.createEvent("Event"),r=e.bubbles||!0,n=e.cancelable||!0;return t.initEvent(e.type||"keydown",r,n),t.key=e.key||"",t.keyCode=e.keyCode||0,t.which=e.keyCode||0,t.ctrlKey=e.ctrlKey||!1,t.altKey=e.altKey||!1,t.shiftKey=e.shiftKey||!1,t.metaKey=e.metaKey||!1,t.view=e.view||window,t}(e))},e.formatKey=function(e){return a.IS_MAC?t.hasOwnProperty(e)?t[e]:e:r.hasOwnProperty(e)?r[e]:e};let t={Backspace:"⌫",Tab:"⇥",Enter:"⏎",Shift:"⇧",Ctrl:"⌃",Alt:"⌥",Escape:"⎋",PageUp:"⇞",PageDown:"⇟",End:"↘",Home:"↖",ArrowLeft:"←",ArrowUp:"↑",ArrowRight:"→",ArrowDown:"↓",Delete:"⌦",Cmd:"⌘"},r={Escape:"Esc",PageUp:"Page Up",PageDown:"Page Down",ArrowLeft:"Left",ArrowUp:"Up",ArrowRight:"Right",ArrowDown:"Down",Delete:"Del"},n=()=>"",i=()=>-1,s=()=>!0,l=()=>!1,c=()=>({}),u=()=>{};function h(e,t){return void 0===e?t:"function"==typeof e?e:()=>e}function d(e){if(-1!==e.selector.indexOf(","))throw new Error(`Selector cannot contain commas: ${e.selector}`);if(!o.isValid(e.selector))throw new Error(`Invalid selector: ${e.selector}`);return e.selector}function f(e,t){if(e.lengtht.length?2:1}function p(e,t){let r=t.target,n=t.currentTarget;for(let t=0;null!==r;r=r.parentElement,++t){if(r.hasAttribute("data-lm-suppress-shortcuts"))return-1;if(o.matches(r,e))return t;if(r===n)return-1}return-1}}(G||(G={}));var Y,X,Z=y(v()),$=class{constructor(e){this.type="text",this.content=e}},K=class{constructor(e,t,r,n){this.type="element",this.tag=e,this.attrs=t,this.children=r,this.renderer=n}};function J(e){let t,r={},n=[];for(let e=1,a=arguments.length;e=n;--a){let n=t[a],o=i?e.lastChild:e.childNodes[a];"text"===n.type||(n.renderer&&n.renderer.unrender?n.renderer.unrender(o,{attrs:n.attrs,children:n.children}):r(o,n.children,0,!1)),i&&e.removeChild(o)}}e.hostMap=new WeakMap,e.asContentArray=function(e){return e?e instanceof Array?e:[e]:[]},e.createDOMNode=t,e.updateContent=function e(n,a,o){if(a===o)return;let s=function(e,t){let r=e.firstChild,n=Object.create(null);for(let e of t)"element"===e.type&&e.attrs.key&&(n[e.attrs.key]={vNode:e,element:r}),r=r.nextSibling;return n}(n,a),l=a.slice(),c=n.firstChild,u=o.length;for(let r=0;r=l.length){t(o[r],n);continue}let a=l[r],u=o[r];if(a===u){c=c.nextSibling;continue}if("text"===a.type&&"text"===u.type){c.textContent!==u.content&&(c.textContent=u.content),c=c.nextSibling;continue}if("text"===a.type||"text"===u.type){Z.ArrayExt.insert(l,r,u),t(u,n,c);continue}if(!a.renderer!=!u.renderer){Z.ArrayExt.insert(l,r,u),t(u,n,c);continue}let h=u.attrs.key;if(h&&h in s){let e=s[h];e.vNode!==a&&(Z.ArrayExt.move(l,l.indexOf(e.vNode,r+1),r),n.insertBefore(e.element,c),a=e.vNode,c=e.element)}if(a===u){c=c.nextSibling;continue}let d=a.attrs.key;d&&d!==h?(Z.ArrayExt.insert(l,r,u),t(u,n,c)):a.tag===u.tag?(i(c,a.attrs,u.attrs),u.renderer?u.renderer.render(c,{attrs:u.attrs,children:u.children}):e(c,a.children,u.children),c=c.nextSibling):(Z.ArrayExt.insert(l,r,u),t(u,n,c))}r(n,l,u,!0)};let n={key:!0,className:!0,htmlFor:!0,dataset:!0,style:!0};function i(e,t,r){if(t===r)return;let i;for(i in t)i in n||i in r||("on"===i.substr(0,2)?e[i]=null:e.removeAttribute(i));for(i in r)i in n||t[i]===r[i]||("on"===i.substr(0,2)?e[i]=r[i]:e.setAttribute(i,r[i]));t.className!==r.className&&(void 0!==r.className?e.setAttribute("class",r.className):e.removeAttribute("class")),t.htmlFor!==r.htmlFor&&(void 0!==r.htmlFor?e.setAttribute("for",r.htmlFor):e.removeAttribute("for")),t.dataset!==r.dataset&&function(e,t,r){for(let n in t)n in r||e.removeAttribute(`data-${n}`);for(let n in r)t[n]!==r[n]&&e.setAttribute(`data-${n}`,r[n])}(e,t.dataset||{},r.dataset||{}),t.style!==r.style&&function(e,t,r){let n,i=e.style;for(n in t)n in r||(i[n]="");for(n in r)t[n]!==r[n]&&(i[n]=r[n])}(e,t.style||{},r.style||{})}}(X||(X={}));var Q,ee=class{constructor(){this.sizeHint=0,this.minSize=0,this.maxSize=1/0,this.stretch=1,this.size=0,this.done=!1}};!function(e){e.calc=function(e,t){let r=e.length;if(0===r)return t;let n=0,i=0,a=0,o=0,s=0;for(let t=0;t0&&(o+=r.stretch,s++)}if(t===a)return 0;if(t<=n){for(let t=0;t=i){for(let t=0;t0&&n>l;){let t=n,i=o;for(let a=0;a0&&n>l;){let t=n/c;for(let i=0;i0&&n>l;){let t=n,i=o;for(let a=0;a=r.maxSize?(n-=r.maxSize-r.size,o-=r.stretch,r.size=r.maxSize,r.done=!0,c--,s--):(n-=l,r.size+=l)}}for(;c>0&&n>l;){let t=n/c;for(let i=0;i=r.maxSize?(n-=r.maxSize-r.size,r.size=r.maxSize,r.done=!0,c--):(n-=t,r.size+=t))}}}return 0},e.adjust=function(e,t,r){0===e.length||0===r||(r>0?function(e,t,r){let n=0;for(let r=0;r<=t;++r){let t=e[r];n+=t.maxSize-t.size}let i=0;for(let r=t+1,n=e.length;r=0&&a>0;--r){let t=e[r],n=t.maxSize-t.size;n>=a?(t.sizeHint=t.size+a,a=0):(t.sizeHint=t.size+n,a-=n)}let o=r;for(let r=t+1,n=e.length;r0;++r){let t=e[r],n=t.size-t.minSize;n>=o?(t.sizeHint=t.size-o,o=0):(t.sizeHint=t.size-n,o-=n)}}(e,t,r):function(e,t,r){let n=0;for(let r=t+1,i=e.length;r0;++r){let t=e[r],n=t.maxSize-t.size;n>=a?(t.sizeHint=t.size+a,a=0):(t.sizeHint=t.size+n,a-=n)}let o=r;for(let r=t;r>=0&&o>0;--r){let t=e[r],n=t.size-t.minSize;n>=o?(t.sizeHint=t.size-o,o=0):(t.sizeHint=t.size-n,o-=n)}}(e,t,-r))}}(Q||(Q={}));var te,re=class{constructor(e){this._label="",this._caption="",this._mnemonic=-1,this._icon=void 0,this._iconClass="",this._iconLabel="",this._className="",this._closable=!1,this._changed=new z(this),this._isDisposed=!1,this.owner=e.owner,void 0!==e.label&&(this._label=e.label),void 0!==e.mnemonic&&(this._mnemonic=e.mnemonic),void 0!==e.icon&&(this._icon=e.icon),void 0!==e.iconClass&&(this._iconClass=e.iconClass),void 0!==e.iconLabel&&(this._iconLabel=e.iconLabel),void 0!==e.caption&&(this._caption=e.caption),void 0!==e.className&&(this._className=e.className),void 0!==e.closable&&(this._closable=e.closable),this._dataset=e.dataset||{}}get changed(){return this._changed}get label(){return this._label}set label(e){this._label!==e&&(this._label=e,this._changed.emit(void 0))}get mnemonic(){return this._mnemonic}set mnemonic(e){this._mnemonic!==e&&(this._mnemonic=e,this._changed.emit(void 0))}get icon(){return this._icon}set icon(e){this._icon!==e&&(this._icon=e,this._changed.emit(void 0))}get iconClass(){return this._iconClass}set iconClass(e){this._iconClass!==e&&(this._iconClass=e,this._changed.emit(void 0))}get iconLabel(){return this._iconLabel}set iconLabel(e){this._iconLabel!==e&&(this._iconLabel=e,this._changed.emit(void 0))}get caption(){return this._caption}set caption(e){this._caption!==e&&(this._caption=e,this._changed.emit(void 0))}get className(){return this._className}set className(e){this._className!==e&&(this._className=e,this._changed.emit(void 0))}get closable(){return this._closable}set closable(e){this._closable!==e&&(this._closable=e,this._changed.emit(void 0))}get dataset(){return this._dataset}set dataset(e){this._dataset!==e&&(this._dataset=e,this._changed.emit(void 0))}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,z.clearData(this))}},ne=class e{constructor(t={}){this._flags=0,this._layout=null,this._parent=null,this._disposed=new z(this),this._hiddenMode=e.HiddenMode.Display,this.node=te.createNode(t),this.addClass("lm-Widget")}dispose(){this.isDisposed||(this.setFlag(e.Flag.IsDisposed),this._disposed.emit(void 0),this.parent?this.parent=null:this.isAttached&&e.detach(this),this._layout&&(this._layout.dispose(),this._layout=null),this.title.dispose(),z.clearData(this),M.clearData(this),L.clearData(this))}get disposed(){return this._disposed}get isDisposed(){return this.testFlag(e.Flag.IsDisposed)}get isAttached(){return this.testFlag(e.Flag.IsAttached)}get isHidden(){return this.testFlag(e.Flag.IsHidden)}get isVisible(){return this.testFlag(e.Flag.IsVisible)}get title(){return te.titleProperty.get(this)}get id(){return this.node.id}set id(e){this.node.id=e}get dataset(){return this.node.dataset}get hiddenMode(){return this._hiddenMode}set hiddenMode(t){this._hiddenMode!==t&&(this.isHidden&&this._toggleHidden(!1),t==e.HiddenMode.Scale?this.node.style.willChange="transform":this.node.style.willChange="auto",this._hiddenMode=t,this.isHidden&&this._toggleHidden(!0))}get parent(){return this._parent}set parent(t){if(this._parent!==t){if(t&&this.contains(t))throw new Error("Invalid parent widget.");if(this._parent&&!this._parent.isDisposed){let t=new e.ChildMessage("child-removed",this);M.sendMessage(this._parent,t)}if(this._parent=t,this._parent&&!this._parent.isDisposed){let t=new e.ChildMessage("child-added",this);M.sendMessage(this._parent,t)}this.isDisposed||M.sendMessage(this,e.Msg.ParentChanged)}}get layout(){return this._layout}set layout(t){if(this._layout!==t){if(this.testFlag(e.Flag.DisallowLayout))throw new Error("Cannot set widget layout.");if(this._layout)throw new Error("Cannot change widget layout.");if(t.parent)throw new Error("Cannot change layout parent.");this._layout=t,t.parent=this}}*children(){this._layout&&(yield*this._layout)}contains(e){for(let t=e;t;t=t._parent)if(t===this)return!0;return!1}hasClass(e){return this.node.classList.contains(e)}addClass(e){this.node.classList.add(e)}removeClass(e){this.node.classList.remove(e)}toggleClass(e,t){return!0===t?(this.node.classList.add(e),!0):!1===t?(this.node.classList.remove(e),!1):this.node.classList.toggle(e)}update(){M.postMessage(this,e.Msg.UpdateRequest)}fit(){M.postMessage(this,e.Msg.FitRequest)}activate(){M.postMessage(this,e.Msg.ActivateRequest)}close(){M.sendMessage(this,e.Msg.CloseRequest)}show(){if(this.testFlag(e.Flag.IsHidden)&&(this.isAttached&&(!this.parent||this.parent.isVisible)&&M.sendMessage(this,e.Msg.BeforeShow),this.clearFlag(e.Flag.IsHidden),this._toggleHidden(!1),this.isAttached&&(!this.parent||this.parent.isVisible)&&M.sendMessage(this,e.Msg.AfterShow),this.parent)){let t=new e.ChildMessage("child-shown",this);M.sendMessage(this.parent,t)}}hide(){if(!this.testFlag(e.Flag.IsHidden)&&(this.isAttached&&(!this.parent||this.parent.isVisible)&&M.sendMessage(this,e.Msg.BeforeHide),this.setFlag(e.Flag.IsHidden),this._toggleHidden(!0),this.isAttached&&(!this.parent||this.parent.isVisible)&&M.sendMessage(this,e.Msg.AfterHide),this.parent)){let t=new e.ChildMessage("child-hidden",this);M.sendMessage(this.parent,t)}}setHidden(e){e?this.hide():this.show()}testFlag(e){return!!(this._flags&e)}setFlag(e){this._flags|=e}clearFlag(e){this._flags&=~e}processMessage(t){switch(t.type){case"resize":this.notifyLayout(t),this.onResize(t);break;case"update-request":this.notifyLayout(t),this.onUpdateRequest(t);break;case"fit-request":this.notifyLayout(t),this.onFitRequest(t);break;case"before-show":this.notifyLayout(t),this.onBeforeShow(t);break;case"after-show":this.setFlag(e.Flag.IsVisible),this.notifyLayout(t),this.onAfterShow(t);break;case"before-hide":this.notifyLayout(t),this.onBeforeHide(t);break;case"after-hide":this.clearFlag(e.Flag.IsVisible),this.notifyLayout(t),this.onAfterHide(t);break;case"before-attach":this.notifyLayout(t),this.onBeforeAttach(t);break;case"after-attach":!this.isHidden&&(!this.parent||this.parent.isVisible)&&this.setFlag(e.Flag.IsVisible),this.setFlag(e.Flag.IsAttached),this.notifyLayout(t),this.onAfterAttach(t);break;case"before-detach":this.notifyLayout(t),this.onBeforeDetach(t);break;case"after-detach":this.clearFlag(e.Flag.IsVisible),this.clearFlag(e.Flag.IsAttached),this.notifyLayout(t),this.onAfterDetach(t);break;case"activate-request":this.notifyLayout(t),this.onActivateRequest(t);break;case"close-request":this.notifyLayout(t),this.onCloseRequest(t);break;case"child-added":this.notifyLayout(t),this.onChildAdded(t);break;case"child-removed":this.notifyLayout(t),this.onChildRemoved(t);break;default:this.notifyLayout(t)}}notifyLayout(e){this._layout&&this._layout.processParentMessage(e)}onCloseRequest(t){this.parent?this.parent=null:this.isAttached&&e.detach(this)}onResize(e){}onUpdateRequest(e){}onFitRequest(e){}onActivateRequest(e){}onBeforeShow(e){}onAfterShow(e){}onBeforeHide(e){}onAfterHide(e){}onBeforeAttach(e){}onAfterAttach(e){}onBeforeDetach(e){}onAfterDetach(e){}onChildAdded(e){}onChildRemoved(e){}_toggleHidden(t){if(t)switch(this._hiddenMode){case e.HiddenMode.Display:this.addClass("lm-mod-hidden");break;case e.HiddenMode.Scale:this.node.style.transform="scale(0)",this.node.setAttribute("aria-hidden","true");break;case e.HiddenMode.ContentVisibility:this.node.style.contentVisibility="hidden",this.node.style.zIndex="-1"}else switch(this._hiddenMode){case e.HiddenMode.Display:this.removeClass("lm-mod-hidden");break;case e.HiddenMode.Scale:this.node.style.transform="",this.node.removeAttribute("aria-hidden");break;case e.HiddenMode.ContentVisibility:this.node.style.contentVisibility="",this.node.style.zIndex=""}}};!function(e){var t;(t=e.HiddenMode||(e.HiddenMode={}))[t.Display=0]="Display",t[t.Scale=1]="Scale",t[t.ContentVisibility=2]="ContentVisibility",function(e){e[e.IsDisposed=1]="IsDisposed",e[e.IsAttached=2]="IsAttached",e[e.IsHidden=4]="IsHidden",e[e.IsVisible=8]="IsVisible",e[e.DisallowLayout=16]="DisallowLayout"}(e.Flag||(e.Flag={})),function(e){e.BeforeShow=new S("before-show"),e.AfterShow=new S("after-show"),e.BeforeHide=new S("before-hide"),e.AfterHide=new S("after-hide"),e.BeforeAttach=new S("before-attach"),e.AfterAttach=new S("after-attach"),e.BeforeDetach=new S("before-detach"),e.AfterDetach=new S("after-detach"),e.ParentChanged=new S("parent-changed"),e.UpdateRequest=new E("update-request"),e.FitRequest=new E("fit-request"),e.ActivateRequest=new E("activate-request"),e.CloseRequest=new E("close-request")}(e.Msg||(e.Msg={})),e.ChildMessage=class extends S{constructor(e,t){super(e),this.child=t}};class r extends S{constructor(e,t){super("resize"),this.width=e,this.height=t}}e.ResizeMessage=r,function(e){e.UnknownSize=new e(-1,-1)}(r=e.ResizeMessage||(e.ResizeMessage={})),e.attach=function(t,r,n=null){if(t.parent)throw new Error("Cannot attach a child widget.");if(t.isAttached||t.node.isConnected)throw new Error("Widget is already attached.");if(!r.isConnected)throw new Error("Host is not attached.");M.sendMessage(t,e.Msg.BeforeAttach),r.insertBefore(t.node,n),M.sendMessage(t,e.Msg.AfterAttach)},e.detach=function(t){if(t.parent)throw new Error("Cannot detach a child widget.");if(!t.isAttached||!t.node.isConnected)throw new Error("Widget is not attached.");M.sendMessage(t,e.Msg.BeforeDetach),t.node.parentNode.removeChild(t.node),M.sendMessage(t,e.Msg.AfterDetach)}}(ne||(ne={})),function(e){e.titleProperty=new L({name:"title",create:e=>new re({owner:e})}),e.createNode=function(e){return e.node||document.createElement(e.tag||"div")}}(te||(te={}));var ie=class{constructor(e={}){this._disposed=!1,this._parent=null,this._fitPolicy=e.fitPolicy||"set-min-size"}dispose(){this._parent=null,this._disposed=!0,z.clearData(this),L.clearData(this)}get isDisposed(){return this._disposed}get parent(){return this._parent}set parent(e){if(this._parent!==e){if(this._parent)throw new Error("Cannot change parent widget.");if(e.layout!==this)throw new Error("Invalid parent widget.");this._parent=e,this.init()}}get fitPolicy(){return this._fitPolicy}set fitPolicy(e){if(this._fitPolicy!==e&&(this._fitPolicy=e,this._parent)){let e=this._parent.node.style;e.minWidth="",e.minHeight="",e.maxWidth="",e.maxHeight="",this._parent.fit()}}processParentMessage(e){switch(e.type){case"resize":this.onResize(e);break;case"update-request":this.onUpdateRequest(e);break;case"fit-request":this.onFitRequest(e);break;case"before-show":this.onBeforeShow(e);break;case"after-show":this.onAfterShow(e);break;case"before-hide":this.onBeforeHide(e);break;case"after-hide":this.onAfterHide(e);break;case"before-attach":this.onBeforeAttach(e);break;case"after-attach":this.onAfterAttach(e);break;case"before-detach":this.onBeforeDetach(e);break;case"after-detach":this.onAfterDetach(e);break;case"child-removed":this.onChildRemoved(e);break;case"child-shown":this.onChildShown(e);break;case"child-hidden":this.onChildHidden(e)}}init(){for(let e of this)e.parent=this.parent}onResize(e){for(let e of this)M.sendMessage(e,ne.ResizeMessage.UnknownSize)}onUpdateRequest(e){for(let e of this)M.sendMessage(e,ne.ResizeMessage.UnknownSize)}onBeforeAttach(e){for(let t of this)M.sendMessage(t,e)}onAfterAttach(e){for(let t of this)M.sendMessage(t,e)}onBeforeDetach(e){for(let t of this)M.sendMessage(t,e)}onAfterDetach(e){for(let t of this)M.sendMessage(t,e)}onBeforeShow(e){for(let t of this)t.isHidden||M.sendMessage(t,e)}onAfterShow(e){for(let t of this)t.isHidden||M.sendMessage(t,e)}onBeforeHide(e){for(let t of this)t.isHidden||M.sendMessage(t,e)}onAfterHide(e){for(let t of this)t.isHidden||M.sendMessage(t,e)}onChildRemoved(e){this.removeWidget(e.child)}onFitRequest(e){}onChildShown(e){}onChildHidden(e){}};!function(e){e.getHorizontalAlignment=function(e){return ae.horizontalAlignmentProperty.get(e)},e.setHorizontalAlignment=function(e,t){ae.horizontalAlignmentProperty.set(e,t)},e.getVerticalAlignment=function(e){return ae.verticalAlignmentProperty.get(e)},e.setVerticalAlignment=function(e,t){ae.verticalAlignmentProperty.set(e,t)}}(ie||(ie={}));var ae,oe=class{constructor(e){this._top=NaN,this._left=NaN,this._width=NaN,this._height=NaN,this._minWidth=0,this._minHeight=0,this._maxWidth=1/0,this._maxHeight=1/0,this._disposed=!1,this.widget=e,this.widget.node.style.position="absolute",this.widget.node.style.contain="strict"}dispose(){if(this._disposed)return;this._disposed=!0;let e=this.widget.node.style;e.position="",e.top="",e.left="",e.width="",e.height="",e.contain=""}get minWidth(){return this._minWidth}get minHeight(){return this._minHeight}get maxWidth(){return this._maxWidth}get maxHeight(){return this._maxHeight}get isDisposed(){return this._disposed}get isHidden(){return this.widget.isHidden}get isVisible(){return this.widget.isVisible}get isAttached(){return this.widget.isAttached}fit(){let e=i.sizeLimits(this.widget.node);this._minWidth=e.minWidth,this._minHeight=e.minHeight,this._maxWidth=e.maxWidth,this._maxHeight=e.maxHeight}update(e,t,r,n){let i=Math.max(this._minWidth,Math.min(r,this._maxWidth)),a=Math.max(this._minHeight,Math.min(n,this._maxHeight));if(i"center",changed:t}),e.verticalAlignmentProperty=new L({name:"verticalAlignment",create:()=>"top",changed:t})}(ae||(ae={}));var se,le=class extends ie{constructor(){super(...arguments),this._widgets=[]}dispose(){for(;this._widgets.length>0;)this._widgets.pop().dispose();super.dispose()}get widgets(){return this._widgets}*[Symbol.iterator](){yield*this._widgets}addWidget(e){this.insertWidget(this._widgets.length,e)}insertWidget(e,t){t.parent=this.parent;let r=this._widgets.indexOf(t),n=Math.max(0,Math.min(e,this._widgets.length));if(-1===r)return _.ArrayExt.insert(this._widgets,n,t),void(this.parent&&this.attachWidget(n,t));n===this._widgets.length&&n--,r!==n&&(_.ArrayExt.move(this._widgets,r,n),this.parent&&this.moveWidget(r,n,t))}removeWidget(e){this.removeWidgetAt(this._widgets.indexOf(e))}removeWidgetAt(e){let t=_.ArrayExt.removeAt(this._widgets,e);t&&this.parent&&this.detachWidget(e,t)}init(){super.init();let e=0;for(let t of this)this.attachWidget(e++,t)}attachWidget(e,t){let r=this.parent.node.children[e];this.parent.isAttached&&M.sendMessage(t,ne.Msg.BeforeAttach),this.parent.node.insertBefore(t.node,r),this.parent.isAttached&&M.sendMessage(t,ne.Msg.AfterAttach)}moveWidget(e,t,r){this.parent.isAttached&&M.sendMessage(r,ne.Msg.BeforeDetach),this.parent.node.removeChild(r.node),this.parent.isAttached&&M.sendMessage(r,ne.Msg.AfterDetach);let n=this.parent.node.children[t];this.parent.isAttached&&M.sendMessage(r,ne.Msg.BeforeAttach),this.parent.node.insertBefore(r.node,n),this.parent.isAttached&&M.sendMessage(r,ne.Msg.AfterAttach)}detachWidget(e,t){this.parent.isAttached&&M.sendMessage(t,ne.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.isAttached&&M.sendMessage(t,ne.Msg.AfterDetach)}};!function(e){e.clampDimension=function(e){return Math.max(0,Math.floor(e))}}(se||(se={}));var ce,ue=se,he=class e extends le{constructor(e){super(),this.widgetOffset=0,this._fixed=0,this._spacing=4,this._dirty=!1,this._hasNormedSizes=!1,this._sizers=[],this._items=[],this._handles=[],this._box=null,this._alignment="start",this._orientation="horizontal",this.renderer=e.renderer,void 0!==e.orientation&&(this._orientation=e.orientation),void 0!==e.alignment&&(this._alignment=e.alignment),void 0!==e.spacing&&(this._spacing=se.clampDimension(e.spacing))}dispose(){for(let e of this._items)e.dispose();this._box=null,this._items.length=0,this._sizers.length=0,this._handles.length=0,super.dispose()}get orientation(){return this._orientation}set orientation(e){this._orientation!==e&&(this._orientation=e,this.parent&&(this.parent.dataset.orientation=e,this.parent.fit()))}get alignment(){return this._alignment}set alignment(e){this._alignment!==e&&(this._alignment=e,this.parent&&(this.parent.dataset.alignment=e,this.parent.update()))}get spacing(){return this._spacing}set spacing(e){e=se.clampDimension(e),this._spacing!==e&&(this._spacing=e,this.parent&&this.parent.fit())}get handles(){return this._handles}absoluteSizes(){return this._sizers.map((e=>e.size))}relativeSizes(){return ce.normalize(this._sizers.map((e=>e.size)))}setRelativeSizes(e,t=!0){let r=this._sizers.length,n=e.slice(0,r);for(;n.length0&&(e.sizeHint=e.size);Q.adjust(this._sizers,e,r),this.parent&&this.parent.update()}}init(){this.parent.dataset.orientation=this.orientation,this.parent.dataset.alignment=this.alignment,super.init()}attachWidget(e,t){let r=new oe(t),n=ce.createHandle(this.renderer),i=ce.averageSize(this._sizers),a=ce.createSizer(i);_.ArrayExt.insert(this._items,e,r),_.ArrayExt.insert(this._sizers,e,a),_.ArrayExt.insert(this._handles,e,n),this.parent.isAttached&&M.sendMessage(t,ne.Msg.BeforeAttach),this.parent.node.appendChild(t.node),this.parent.node.appendChild(n),this.parent.isAttached&&M.sendMessage(t,ne.Msg.AfterAttach),this.parent.fit()}moveWidget(e,t,r){_.ArrayExt.move(this._items,e,t),_.ArrayExt.move(this._sizers,e,t),_.ArrayExt.move(this._handles,e,t),this.parent.fit()}detachWidget(e,t){let r=_.ArrayExt.removeAt(this._items,e),n=_.ArrayExt.removeAt(this._handles,e);_.ArrayExt.removeAt(this._sizers,e),this.parent.isAttached&&M.sendMessage(t,ne.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.node.removeChild(n),this.parent.isAttached&&M.sendMessage(t,ne.Msg.AfterDetach),r.dispose(),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}updateItemPosition(e,t,r,n,i,a,o){let s=this._items[e];if(s.isHidden)return;let l=this._handles[e].style;t?(r+=this.widgetOffset,s.update(r,n,o,i),r+=o,l.top=`${n}px`,l.left=`${r}px`,l.width=`${this._spacing}px`,l.height=`${i}px`):(n+=this.widgetOffset,s.update(r,n,a,o),n+=o,l.top=`${n}px`,l.left=`${r}px`,l.width=`${a}px`,l.height=`${this._spacing}px`)}_fit(){let t=0,r=-1;for(let e=0,n=this._items.length;e0&&(i.sizeHint=i.size),r.isHidden?(i.minSize=0,i.maxSize=0):(r.fit(),i.stretch=e.getStretch(r.widget),n?(i.minSize=r.minWidth,i.maxSize=r.maxWidth,a+=r.minWidth,o=Math.max(o,r.minHeight)):(i.minSize=r.minHeight,i.maxSize=r.maxHeight,o+=r.minHeight,a=Math.max(a,r.minWidth)))}let s=this._box=i.boxSizing(this.parent.node);a+=s.horizontalSum,o+=s.verticalSum;let l=this.parent.node.style;l.minWidth=`${a}px`,l.minHeight=`${o}px`,this._dirty=!0,this.parent.parent&&M.sendMessage(this.parent.parent,ne.Msg.FitRequest),this._dirty&&M.sendMessage(this.parent,ne.Msg.UpdateRequest)}_update(e,t){this._dirty=!1;let r=0;for(let e=0,t=this._items.length;e0){let e;if(e=u?Math.max(0,o-this._fixed):Math.max(0,s-this._fixed),this._hasNormedSizes){for(let t of this._sizers)t.sizeHint*=e;this._hasNormedSizes=!1}let t=Q.calc(this._sizers,e);if(t>0)switch(this._alignment){case"start":break;case"center":l=0,c=t/2;break;case"end":l=0,c=t;break;case"justify":l=t/r,c=0;break;default:throw"unreachable"}}for(let e=0,t=this._items.length;e0,coerce:(e,t)=>Math.max(0,Math.floor(t)),changed:function(e){e.parent&&e.parent.layout instanceof he&&e.parent.fit()}}),e.createSizer=function(e){let t=new ee;return t.sizeHint=Math.floor(e),t},e.createHandle=function(e){let t=e.createHandle();return t.style.position="absolute",t.style.contain="style",t},e.averageSize=function(e){return e.reduce(((e,t)=>e+t.size),0)/e.length||0},e.normalize=function(e){let t=e.length;if(0===t)return[];let r=e.reduce(((e,t)=>e+Math.abs(t)),0);return 0===r?e.map((e=>1/t)):e.map((e=>e/r))}}(ce||(ce={}));var de,fe=class extends he{constructor(e){super({...e,orientation:e.orientation||"vertical"}),this._titles=[],this.titleSpace=e.titleSpace||22}get titleSpace(){return this.widgetOffset}set titleSpace(e){e=ue.clampDimension(e),this.widgetOffset!==e&&(this.widgetOffset=e,this.parent&&this.parent.fit())}get titles(){return this._titles}dispose(){this.isDisposed||(this._titles.length=0,super.dispose())}updateTitle(e,t){let r=this._titles[e],n=r.classList.contains("lm-mod-expanded"),i=de.createTitle(this.renderer,t.title,n);this._titles[e]=i,this.parent.node.replaceChild(i,r)}insertWidget(e,t){t.id||(t.id=`id-${w.UUID.uuid4()}`),super.insertWidget(e,t)}attachWidget(e,t){let r=de.createTitle(this.renderer,t.title);_.ArrayExt.insert(this._titles,e,r),this.parent.node.appendChild(r),t.node.setAttribute("role","region"),t.node.setAttribute("aria-labelledby",r.id),super.attachWidget(e,t)}moveWidget(e,t,r){_.ArrayExt.move(this._titles,e,t),super.moveWidget(e,t,r)}detachWidget(e,t){let r=_.ArrayExt.removeAt(this._titles,e);this.parent.node.removeChild(r),super.detachWidget(e,t)}updateItemPosition(e,t,r,n,i,a,o){let s=this._titles[e].style;s.top=`${n}px`,s.left=`${r}px`,s.height=`${this.widgetOffset}px`,s.width=t?`${i}px`:`${a}px`,super.updateItemPosition(e,t,r,n,i,a,o)}};!function(e){e.createTitle=function(e,t,r=!0){let n=e.createSectionTitle(t);return n.style.position="absolute",n.style.contain="strict",n.setAttribute("aria-label",`${t.label} Section`),n.setAttribute("aria-expanded",r?"true":"false"),n.setAttribute("aria-controls",t.owner.id),r&&n.classList.add("lm-mod-expanded"),n}}(de||(de={}));var pe,me=class extends ne{constructor(e={}){super(),this.addClass("lm-Panel"),this.layout=pe.createLayout(e)}get widgets(){return this.layout.widgets}addWidget(e){this.layout.addWidget(e)}insertWidget(e,t){this.layout.insertWidget(e,t)}};!function(e){e.createLayout=function(e){return e.layout||new le}}(pe||(pe={}));var ge,ye=class extends me{constructor(e={}){super({layout:ge.createLayout(e)}),this._handleMoved=new z(this),this._pressData=null,this.addClass("lm-SplitPanel")}dispose(){this._releaseMouse(),super.dispose()}get orientation(){return this.layout.orientation}set orientation(e){this.layout.orientation=e}get alignment(){return this.layout.alignment}set alignment(e){this.layout.alignment=e}get spacing(){return this.layout.spacing}set spacing(e){this.layout.spacing=e}get renderer(){return this.layout.renderer}get handleMoved(){return this._handleMoved}get handles(){return this.layout.handles}relativeSizes(){return this.layout.relativeSizes()}setRelativeSizes(e,t=!0){this.layout.setRelativeSizes(e,t)}handleEvent(e){switch(e.type){case"pointerdown":this._evtPointerDown(e);break;case"pointermove":this._evtPointerMove(e);break;case"pointerup":this._evtPointerUp(e);break;case"keydown":this._evtKeyDown(e);break;case"contextmenu":e.preventDefault(),e.stopPropagation()}}onBeforeAttach(e){this.node.addEventListener("pointerdown",this)}onAfterDetach(e){this.node.removeEventListener("pointerdown",this),this._releaseMouse()}onChildAdded(e){e.child.addClass("lm-SplitPanel-child"),this._releaseMouse()}onChildRemoved(e){e.child.removeClass("lm-SplitPanel-child"),this._releaseMouse()}_evtKeyDown(e){this._pressData&&(e.preventDefault(),e.stopPropagation()),27===e.keyCode&&this._releaseMouse()}_evtPointerDown(e){if(0!==e.button)return;let t=this.layout,r=_.ArrayExt.findFirstIndex(t.handles,(t=>t.contains(e.target)));if(-1===r)return;e.preventDefault(),e.stopPropagation(),document.addEventListener("pointerup",this,!0),document.addEventListener("pointermove",this,!0),document.addEventListener("keydown",this,!0),document.addEventListener("contextmenu",this,!0);let n,i=t.handles[r],a=i.getBoundingClientRect();n="horizontal"===t.orientation?e.clientX-a.left:e.clientY-a.top;let o=window.getComputedStyle(i),s=F.overrideCursor(o.cursor);this._pressData={index:r,delta:n,override:s}}_evtPointerMove(e){e.preventDefault(),e.stopPropagation();let t,r=this.layout,n=this.node.getBoundingClientRect();t="horizontal"===r.orientation?e.clientX-n.left-this._pressData.delta:e.clientY-n.top-this._pressData.delta,r.moveHandle(this._pressData.index,t)}_evtPointerUp(e){0===e.button&&(e.preventDefault(),e.stopPropagation(),this._releaseMouse())}_releaseMouse(){this._pressData&&(this._pressData.override.dispose(),this._pressData=null,this._handleMoved.emit(),document.removeEventListener("keydown",this,!0),document.removeEventListener("pointerup",this,!0),document.removeEventListener("pointermove",this,!0),document.removeEventListener("contextmenu",this,!0))}};!function(e){class t{createHandle(){let e=document.createElement("div");return e.className="lm-SplitPanel-handle",e}}e.Renderer=t,e.defaultRenderer=new t,e.getStretch=function(e){return he.getStretch(e)},e.setStretch=function(e,t){he.setStretch(e,t)}}(ye||(ye={})),function(e){e.createLayout=function(e){return e.layout||new he({renderer:e.renderer||ye.defaultRenderer,orientation:e.orientation,alignment:e.alignment,spacing:e.spacing})}}(ge||(ge={}));var ve,xe=class extends ye{constructor(e={}){super({...e,layout:ve.createLayout(e)}),this._widgetSizesCache=new WeakMap,this._expansionToggled=new z(this),this.addClass("lm-AccordionPanel")}get renderer(){return this.layout.renderer}get titleSpace(){return this.layout.titleSpace}set titleSpace(e){this.layout.titleSpace=e}get titles(){return this.layout.titles}get expansionToggled(){return this._expansionToggled}addWidget(e){super.addWidget(e),e.title.changed.connect(this._onTitleChanged,this)}collapse(e){let t=this.layout.widgets[e];t&&!t.isHidden&&this._toggleExpansion(e)}expand(e){let t=this.layout.widgets[e];t&&t.isHidden&&this._toggleExpansion(e)}insertWidget(e,t){super.insertWidget(e,t),t.title.changed.connect(this._onTitleChanged,this)}handleEvent(e){switch(super.handleEvent(e),e.type){case"click":this._evtClick(e);break;case"keydown":this._eventKeyDown(e)}}onBeforeAttach(e){this.node.addEventListener("click",this),this.node.addEventListener("keydown",this),super.onBeforeAttach(e)}onAfterDetach(e){super.onAfterDetach(e),this.node.removeEventListener("click",this),this.node.removeEventListener("keydown",this)}_onTitleChanged(e){let t=_.ArrayExt.findFirstIndex(this.widgets,(t=>t.contains(e.owner)));t>=0&&(this.layout.updateTitle(t,e.owner),this.update())}_computeWidgetSize(e){let t=this.layout,r=t.widgets[e];if(!r)return;let n=r.isHidden,i=t.absoluteSizes(),a=(n?-1:1)*this.spacing,o=i.reduce(((e,t)=>e+t)),s=[...i];if(n){let t=this._widgetSizesCache.get(r);if(!t)return;s[e]+=t;let n=s.map((e=>e-t>0)).lastIndexOf(!0);-1===n?s.forEach(((r,n)=>{n!==e&&(s[n]-=i[n]/o*(t-a))})):s[n]-=t-a}else{let t=i[e];this._widgetSizesCache.set(r,t),s[e]=0;let n=s.map((e=>e>0)).lastIndexOf(!0);if(-1===n)return;s[n]=i[n]+t+a}return s.map((e=>e/(o+a)))}_evtClick(e){let t=e.target;if(t){let r=_.ArrayExt.findFirstIndex(this.titles,(e=>e.contains(t)));r>=0&&(e.preventDefault(),e.stopPropagation(),this._toggleExpansion(r))}}_eventKeyDown(e){if(e.defaultPrevented)return;let t=e.target,r=!1;if(t){let n=_.ArrayExt.findFirstIndex(this.titles,(e=>e.contains(t)));if(n>=0){let i=e.keyCode.toString();if(e.key.match(/Space|Enter/)||i.match(/13|32/))t.click(),r=!0;else if("horizontal"===this.orientation?e.key.match(/ArrowLeft|ArrowRight/)||i.match(/37|39/):e.key.match(/ArrowUp|ArrowDown/)||i.match(/38|40/)){let t=e.key.match(/ArrowLeft|ArrowUp/)||i.match(/37|38/)?-1:1,a=this.titles.length,o=(n+a+t)%a;this.titles[o].focus(),r=!0}else"End"===e.key||"35"===i?(this.titles[this.titles.length-1].focus(),r=!0):("Home"===e.key||"36"===i)&&(this.titles[0].focus(),r=!0)}r&&e.preventDefault()}}_toggleExpansion(e){let t=this.titles[e],r=this.layout.widgets[e],n=this._computeWidgetSize(e);n&&this.setRelativeSizes(n,!1),r.isHidden?(t.classList.add("lm-mod-expanded"),t.setAttribute("aria-expanded","true"),r.show()):(t.classList.remove("lm-mod-expanded"),t.setAttribute("aria-expanded","false"),r.hide()),this._expansionToggled.emit(e)}};!function(e){class t extends ye.Renderer{constructor(){super(),this.titleClassName="lm-AccordionPanel-title",this._titleID=0,this._titleKeys=new WeakMap,this._uuid=++t._nInstance}createCollapseIcon(e){return document.createElement("span")}createSectionTitle(e){let t=document.createElement("h3");t.setAttribute("tabindex","0"),t.id=this.createTitleKey(e),t.className=this.titleClassName;for(let r in e.dataset)t.dataset[r]=e.dataset[r];t.appendChild(this.createCollapseIcon(e)).className="lm-AccordionPanel-titleCollapser";let r=t.appendChild(document.createElement("span"));return r.className="lm-AccordionPanel-titleLabel",r.textContent=e.label,r.title=e.caption||e.label,t}createTitleKey(e){let t=this._titleKeys.get(e);return void 0===t&&(t=`title-key-${this._uuid}-${this._titleID++}`,this._titleKeys.set(e,t)),t}}t._nInstance=0,e.Renderer=t,e.defaultRenderer=new t}(xe||(xe={})),function(e){e.createLayout=function(e){return e.layout||new fe({renderer:e.renderer||xe.defaultRenderer,orientation:e.orientation,alignment:e.alignment,spacing:e.spacing,titleSpace:e.titleSpace})}}(ve||(ve={}));var be,_e=class e extends le{constructor(e={}){super(),this._fixed=0,this._spacing=4,this._dirty=!1,this._sizers=[],this._items=[],this._box=null,this._alignment="start",this._direction="top-to-bottom",void 0!==e.direction&&(this._direction=e.direction),void 0!==e.alignment&&(this._alignment=e.alignment),void 0!==e.spacing&&(this._spacing=ue.clampDimension(e.spacing))}dispose(){for(let e of this._items)e.dispose();this._box=null,this._items.length=0,this._sizers.length=0,super.dispose()}get direction(){return this._direction}set direction(e){this._direction!==e&&(this._direction=e,this.parent&&(this.parent.dataset.direction=e,this.parent.fit()))}get alignment(){return this._alignment}set alignment(e){this._alignment!==e&&(this._alignment=e,this.parent&&(this.parent.dataset.alignment=e,this.parent.update()))}get spacing(){return this._spacing}set spacing(e){e=ue.clampDimension(e),this._spacing!==e&&(this._spacing=e,this.parent&&this.parent.fit())}init(){this.parent.dataset.direction=this.direction,this.parent.dataset.alignment=this.alignment,super.init()}attachWidget(e,t){_.ArrayExt.insert(this._items,e,new oe(t)),_.ArrayExt.insert(this._sizers,e,new ee),this.parent.isAttached&&M.sendMessage(t,ne.Msg.BeforeAttach),this.parent.node.appendChild(t.node),this.parent.isAttached&&M.sendMessage(t,ne.Msg.AfterAttach),this.parent.fit()}moveWidget(e,t,r){_.ArrayExt.move(this._items,e,t),_.ArrayExt.move(this._sizers,e,t),this.parent.update()}detachWidget(e,t){let r=_.ArrayExt.removeAt(this._items,e);_.ArrayExt.removeAt(this._sizers,e),this.parent.isAttached&&M.sendMessage(t,ne.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.isAttached&&M.sendMessage(t,ne.Msg.AfterDetach),r.dispose(),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_fit(){let t=0;for(let e=0,r=this._items.length;e0)switch(this._alignment){case"start":break;case"center":c=0,u=n/2;break;case"end":c=0,u=n;break;case"justify":c=n/r,u=0;break;default:throw"unreachable"}for(let e=0,t=this._items.length;e0,coerce:(e,t)=>Math.max(0,Math.floor(t)),changed:t}),e.sizeBasisProperty=new L({name:"sizeBasis",create:()=>0,coerce:(e,t)=>Math.max(0,Math.floor(t)),changed:t}),e.isHorizontal=function(e){return"left-to-right"===e||"right-to-left"===e},e.clampSpacing=function(e){return Math.max(0,Math.floor(e))}}(be||(be={}));var we,ke=class extends me{constructor(e={}){super({layout:we.createLayout(e)}),this.addClass("lm-BoxPanel")}get direction(){return this.layout.direction}set direction(e){this.layout.direction=e}get alignment(){return this.layout.alignment}set alignment(e){this.layout.alignment=e}get spacing(){return this.layout.spacing}set spacing(e){this.layout.spacing=e}onChildAdded(e){e.child.addClass("lm-BoxPanel-child")}onChildRemoved(e){e.child.removeClass("lm-BoxPanel-child")}};!function(e){e.getStretch=function(e){return _e.getStretch(e)},e.setStretch=function(e,t){_e.setStretch(e,t)},e.getSizeBasis=function(e){return _e.getSizeBasis(e)},e.setSizeBasis=function(e,t){_e.setSizeBasis(e,t)}}(ke||(ke={})),function(e){e.createLayout=function(e){return e.layout||new _e(e)}}(we||(we={}));var Te,Ae=class e extends ne{constructor(t){super({node:Te.createNode()}),this._activeIndex=-1,this._items=[],this._results=null,this.addClass("lm-CommandPalette"),this.setFlag(ne.Flag.DisallowLayout),this.commands=t.commands,this.renderer=t.renderer||e.defaultRenderer,this.commands.commandChanged.connect(this._onGenericChange,this),this.commands.keyBindingChanged.connect(this._onGenericChange,this)}dispose(){this._items.length=0,this._results=null,super.dispose()}get searchNode(){return this.node.getElementsByClassName("lm-CommandPalette-search")[0]}get inputNode(){return this.node.getElementsByClassName("lm-CommandPalette-input")[0]}get contentNode(){return this.node.getElementsByClassName("lm-CommandPalette-content")[0]}get items(){return this._items}addItem(e){let t=Te.createItem(this.commands,e);return this._items.push(t),this.refresh(),t}addItems(e){let t=e.map((e=>Te.createItem(this.commands,e)));return t.forEach((e=>this._items.push(e))),this.refresh(),t}removeItem(e){this.removeItemAt(this._items.indexOf(e))}removeItemAt(e){_.ArrayExt.removeAt(this._items,e)&&this.refresh()}clearItems(){0!==this._items.length&&(this._items.length=0,this.refresh())}refresh(){this._results=null,""!==this.inputNode.value?this.node.getElementsByClassName("lm-close-icon")[0].style.display="inherit":this.node.getElementsByClassName("lm-close-icon")[0].style.display="none",this.update()}handleEvent(e){switch(e.type){case"click":this._evtClick(e);break;case"keydown":this._evtKeyDown(e);break;case"input":this.refresh();break;case"focus":case"blur":this._toggleFocused()}}onBeforeAttach(e){this.node.addEventListener("click",this),this.node.addEventListener("keydown",this),this.node.addEventListener("input",this),this.node.addEventListener("focus",this,!0),this.node.addEventListener("blur",this,!0)}onAfterDetach(e){this.node.removeEventListener("click",this),this.node.removeEventListener("keydown",this),this.node.removeEventListener("input",this),this.node.removeEventListener("focus",this,!0),this.node.removeEventListener("blur",this,!0)}onAfterShow(e){this.update(),super.onAfterShow(e)}onActivateRequest(e){if(this.isAttached){let e=this.inputNode;e.focus(),e.select()}}onUpdateRequest(e){if(this.isHidden)return;let t=this.inputNode.value,r=this.contentNode,n=this._results;if(n||(n=this._results=Te.search(this._items,t),this._activeIndex=t?_.ArrayExt.findFirstIndex(n,Te.canActivate):-1),!t&&0===n.length)return void Y.render(null,r);if(t&&0===n.length){let e=this.renderer.renderEmptyMessage({query:t});return void Y.render(e,r)}let a=this.renderer,o=this._activeIndex,s=new Array(n.length);for(let e=0,t=n.length;e=n.length)r.scrollTop=0;else{let e=r.children[o];i.scrollIntoViewIfNeeded(r,e)}}_evtClick(e){if(0!==e.button)return;if(e.target.classList.contains("lm-close-icon"))return this.inputNode.value="",void this.refresh();let t=_.ArrayExt.findFirstIndex(this.contentNode.children,(t=>t.contains(e.target)));-1!==t&&(e.preventDefault(),e.stopPropagation(),this._execute(t))}_evtKeyDown(e){if(!(e.altKey||e.ctrlKey||e.metaKey||e.shiftKey))switch(e.keyCode){case 13:e.preventDefault(),e.stopPropagation(),this._execute(this._activeIndex);break;case 38:e.preventDefault(),e.stopPropagation(),this._activatePreviousItem();break;case 40:e.preventDefault(),e.stopPropagation(),this._activateNextItem()}}_activateNextItem(){if(!this._results||0===this._results.length)return;let e=this._activeIndex,t=this._results.length,r=ee-t)),c=a.slice(0,l),u=a.slice(l);for(let e=0,t=u.length;er.command===e&&w.JSONExt.deepEqual(r.args,t)))||null}}}(Te||(Te={}));var Me,Se,Ee=class e extends ne{constructor(t){super({node:Me.createNode()}),this._childIndex=-1,this._activeIndex=-1,this._openTimerID=0,this._closeTimerID=0,this._items=[],this._childMenu=null,this._parentMenu=null,this._aboutToClose=new z(this),this._menuRequested=new z(this),this.addClass("lm-Menu"),this.setFlag(ne.Flag.DisallowLayout),this.commands=t.commands,this.renderer=t.renderer||e.defaultRenderer}dispose(){this.close(),this._items.length=0,super.dispose()}get aboutToClose(){return this._aboutToClose}get menuRequested(){return this._menuRequested}get parentMenu(){return this._parentMenu}get childMenu(){return this._childMenu}get rootMenu(){let e=this;for(;e._parentMenu;)e=e._parentMenu;return e}get leafMenu(){let e=this;for(;e._childMenu;)e=e._childMenu;return e}get contentNode(){return this.node.getElementsByClassName("lm-Menu-content")[0]}get activeItem(){return this._items[this._activeIndex]||null}set activeItem(e){this.activeIndex=e?this._items.indexOf(e):-1}get activeIndex(){return this._activeIndex}set activeIndex(e){(e<0||e>=this._items.length)&&(e=-1),-1!==e&&!Me.canActivate(this._items[e])&&(e=-1),this._activeIndex!==e&&(this._activeIndex=e,this._activeIndex>=0&&this.contentNode.childNodes[this._activeIndex]&&this.contentNode.childNodes[this._activeIndex].focus(),this.update())}get items(){return this._items}activateNextItem(){let e=this._items.length,t=this._activeIndex,r=t{this.activeIndex=e}})}Y.render(a,this.contentNode)}onCloseRequest(e){this._cancelOpenTimer(),this._cancelCloseTimer(),this.activeIndex=-1;let t=this._childMenu;t&&(this._childIndex=-1,this._childMenu=null,t._parentMenu=null,t.close());let r=this._parentMenu;r&&(this._parentMenu=null,r._childIndex=-1,r._childMenu=null,r.activate()),this.isAttached&&this._aboutToClose.emit(void 0),super.onCloseRequest(e)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation();let t=e.keyCode;if(13===t)return void this.triggerActiveItem();if(27===t)return void this.close();if(37===t)return void(this._parentMenu?this.close():this._menuRequested.emit("previous"));if(38===t)return void this.activatePreviousItem();if(39===t){let e=this.activeItem;return void(e&&"submenu"===e.type?this.triggerActiveItem():this.rootMenu._menuRequested.emit("next"))}if(40===t)return void this.activateNextItem();let r=U().keyForKeydownEvent(e);if(!r)return;let n=this._activeIndex+1,i=Me.findMnemonic(this._items,r,n);-1===i.index||i.multiple?-1!==i.index?this.activeIndex=i.index:-1!==i.auto&&(this.activeIndex=i.auto):(this.activeIndex=i.index,this.triggerActiveItem())}_evtMouseUp(e){0===e.button&&(e.preventDefault(),e.stopPropagation(),this.triggerActiveItem())}_evtMouseMove(e){let t=_.ArrayExt.findFirstIndex(this.contentNode.children,(t=>i.hitTest(t,e.clientX,e.clientY)));if(t===this._activeIndex)return;if(this.activeIndex=t,t=this.activeIndex,t===this._childIndex)return this._cancelOpenTimer(),void this._cancelCloseTimer();-1!==this._childIndex&&this._startCloseTimer(),this._cancelOpenTimer();let r=this.activeItem;!r||"submenu"!==r.type||!r.submenu||this._startOpenTimer()}_evtMouseEnter(e){for(let e=this._parentMenu;e;e=e._parentMenu)e._cancelOpenTimer(),e._cancelCloseTimer(),e.activeIndex=e._childIndex}_evtMouseLeave(e){if(this._cancelOpenTimer(),!this._childMenu)return void(this.activeIndex=-1);let{clientX:t,clientY:r}=e;i.hitTest(this._childMenu.node,t,r)?this._cancelCloseTimer():(this.activeIndex=-1,this._startCloseTimer())}_evtMouseDown(e){this._parentMenu||(Me.hitTestMenus(this,e.clientX,e.clientY)?(e.preventDefault(),e.stopPropagation()):this.close())}_openChildMenu(t=!1){let r=this.activeItem;if(!r||"submenu"!==r.type||!r.submenu)return void this._closeChildMenu();let n=r.submenu;if(n===this._childMenu)return;e.saveWindowData(),this._closeChildMenu(),this._childMenu=n,this._childIndex=this._activeIndex,n._parentMenu=this,M.sendMessage(this,ne.Msg.UpdateRequest);let i=this.contentNode.children[this._activeIndex];Me.openSubmenu(n,i),t&&(n.activeIndex=-1,n.activateNextItem()),n.activate()}_closeChildMenu(){this._childMenu&&this._childMenu.close()}_startOpenTimer(){0===this._openTimerID&&(this._openTimerID=window.setTimeout((()=>{this._openTimerID=0,this._openChildMenu()}),Me.TIMER_DELAY))}_startCloseTimer(){0===this._closeTimerID&&(this._closeTimerID=window.setTimeout((()=>{this._closeTimerID=0,this._closeChildMenu()}),Me.TIMER_DELAY))}_cancelOpenTimer(){0!==this._openTimerID&&(clearTimeout(this._openTimerID),this._openTimerID=0)}_cancelCloseTimer(){0!==this._closeTimerID&&(clearTimeout(this._closeTimerID),this._closeTimerID=0)}static saveWindowData(){Me.saveWindowData()}};!function(e){class t{renderItem(e){let t=this.createItemClass(e),r=this.createItemDataset(e),n=this.createItemARIA(e);return J.li({className:t,dataset:r,tabindex:"0",onfocus:e.onfocus,...n},this.renderIcon(e),this.renderLabel(e),this.renderShortcut(e),this.renderSubmenu(e))}renderIcon(e){let t=this.createIconClass(e);return J.div({className:t},e.item.icon,e.item.iconLabel)}renderLabel(e){let t=this.formatLabel(e);return J.div({className:"lm-Menu-itemLabel"},t)}renderShortcut(e){let t=this.formatShortcut(e);return J.div({className:"lm-Menu-itemShortcut"},t)}renderSubmenu(e){return J.div({className:"lm-Menu-itemSubmenuIcon"})}createItemClass(e){let t="lm-Menu-item";e.item.isEnabled||(t+=" lm-mod-disabled"),e.item.isToggled&&(t+=" lm-mod-toggled"),e.item.isVisible||(t+=" lm-mod-hidden"),e.active&&(t+=" lm-mod-active"),e.collapsed&&(t+=" lm-mod-collapsed");let r=e.item.className;return r&&(t+=` ${r}`),t}createItemDataset(e){let t,{type:r,command:n,dataset:i}=e.item;return t="command"===r?{...i,type:r,command:n}:{...i,type:r},t}createIconClass(e){let t="lm-Menu-itemIcon",r=e.item.iconClass;return r?`${t} ${r}`:t}createItemARIA(e){let t={};switch(e.item.type){case"separator":t.role="presentation";break;case"submenu":t["aria-haspopup"]="true",e.item.isEnabled||(t["aria-disabled"]="true");break;default:e.item.isEnabled||(t["aria-disabled"]="true"),t.role="menuitem"}return t}formatLabel(e){let{label:t,mnemonic:r}=e.item;if(r<0||r>=t.length)return t;let n=t.slice(0,r),i=t.slice(r+1),a=t[r];return[n,J.span({className:"lm-Menu-itemMnemonic"},a),i]}formatShortcut(e){let t=e.item.keyBinding;return t?W.formatKeystroke(t.keys):null}}e.Renderer=t,e.defaultRenderer=new t}(Ee||(Ee={})),function(e){e.TIMER_DELAY=300,e.SUBMENU_OVERLAP=3;let t=null,r=0;function n(){return r>0?(r--,t):o()}function a(e){return"separator"!==e.type&&e.isEnabled&&e.isVisible}function o(){return{pageXOffset:window.pageXOffset,pageYOffset:window.pageYOffset,clientWidth:document.documentElement.clientWidth,clientHeight:document.documentElement.clientHeight}}e.saveWindowData=function(){t=o(),r++},e.createNode=function(){let e=document.createElement("div"),t=document.createElement("ul");return t.className="lm-Menu-content",e.appendChild(t),t.setAttribute("role","menu"),e.tabIndex=0,e},e.canActivate=a,e.createItem=function(e,t){return new s(e.commands,t)},e.hitTestMenus=function(e,t,r){for(let n=e;n;n=n.childMenu)if(i.hitTest(n.node,t,r))return!0;return!1},e.computeCollapsed=function(e){let t=new Array(e.length);_.ArrayExt.fill(t,!1);let r=0,n=e.length;for(;r=0;--i){let r=e[i];if(r.isVisible){if("separator"!==r.type)break;t[i]=!0}}let a=!1;for(;++rc+h&&(t=c+h-g),!a&&r+y>u+d&&(r>u+d?r=u+d-y:r-=y),m.transform=`translate(${Math.max(0,t)}px, ${Math.max(0,r)}px`,m.opacity="1"},e.openSubmenu=function(t,r){let a=n(),o=a.pageXOffset,s=a.pageYOffset,l=a.clientWidth,c=a.clientHeight;M.sendMessage(t,ne.Msg.UpdateRequest);let u=c,h=t.node,d=h.style;d.opacity="0",d.maxHeight=`${u}px`,ne.attach(t,document.body);let{width:f,height:p}=h.getBoundingClientRect(),m=i.boxSizing(t.node),g=r.getBoundingClientRect(),y=g.right-e.SUBMENU_OVERLAP;y+f>o+l&&(y=g.left+e.SUBMENU_OVERLAP-f);let v=g.top-m.borderTop-m.paddingTop;v+p>s+c&&(v=g.bottom+m.borderBottom+m.paddingBottom-p),d.transform=`translate(${Math.max(0,y)}px, ${Math.max(0,v)}px`,d.opacity="1"},e.findMnemonic=function(e,t,r){let n=-1,i=-1,o=!1,s=t.toUpperCase();for(let t=0,l=e.length;t=0&&dr.command===e&&w.JSONExt.deepEqual(r.args,t)))||null}return null}}}(Me||(Me={})),function(e){function t(e,t){let r=e.rank,n=t.rank;return r!==n?r=this._titles.length)&&(e=-1),this._currentIndex===e)return;let t=this._currentIndex,r=this._titles[t]||null,n=e,i=this._titles[n]||null;this._currentIndex=n,this._previousTitle=r,this.update(),this._currentChanged.emit({previousIndex:t,previousTitle:r,currentIndex:n,currentTitle:i})}get name(){return this._name}set name(e){this._name=e,e?this.contentNode.setAttribute("aria-label",e):this.contentNode.removeAttribute("aria-label")}get orientation(){return this._orientation}set orientation(e){this._orientation!==e&&(this._releaseMouse(),this._orientation=e,this.dataset.orientation=e,this.contentNode.setAttribute("aria-orientation",e))}get addButtonEnabled(){return this._addButtonEnabled}set addButtonEnabled(e){this._addButtonEnabled!==e&&(this._addButtonEnabled=e,e?this.addButtonNode.classList.remove("lm-mod-hidden"):this.addButtonNode.classList.add("lm-mod-hidden"))}get titles(){return this._titles}get contentNode(){return this.node.getElementsByClassName("lm-TabBar-content")[0]}get addButtonNode(){return this.node.getElementsByClassName("lm-TabBar-addButton")[0]}addTab(e){return this.insertTab(this._titles.length,e)}insertTab(e,t){this._releaseMouse();let r=Ce.asTitle(t),n=this._titles.indexOf(r),i=Math.max(0,Math.min(e,this._titles.length));return-1===n?(_.ArrayExt.insert(this._titles,i,r),r.changed.connect(this._onTitleChanged,this),this.update(),this._adjustCurrentForInsert(i,r),r):(i===this._titles.length&&i--,n===i||(_.ArrayExt.move(this._titles,n,i),this.update(),this._adjustCurrentForMove(n,i)),r)}removeTab(e){this.removeTabAt(this._titles.indexOf(e))}removeTabAt(e){this._releaseMouse();let t=_.ArrayExt.removeAt(this._titles,e);t&&(t.changed.disconnect(this._onTitleChanged,this),t===this._previousTitle&&(this._previousTitle=null),this.update(),this._adjustCurrentForRemove(e,t))}clearTabs(){if(0===this._titles.length)return;this._releaseMouse();for(let e of this._titles)e.changed.disconnect(this._onTitleChanged,this);let e=this.currentIndex,t=this.currentTitle;this._currentIndex=-1,this._previousTitle=null,this._titles.length=0,this.update(),-1!==e&&this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:-1,currentTitle:null})}releaseMouse(){this._releaseMouse()}handleEvent(e){switch(e.type){case"pointerdown":this._evtPointerDown(e);break;case"pointermove":this._evtPointerMove(e);break;case"pointerup":this._evtPointerUp(e);break;case"dblclick":this._evtDblClick(e);break;case"keydown":e.eventPhase===Event.CAPTURING_PHASE?this._evtKeyDownCapturing(e):this._evtKeyDown(e);break;case"contextmenu":e.preventDefault(),e.stopPropagation()}}onBeforeAttach(e){this.node.addEventListener("pointerdown",this),this.node.addEventListener("dblclick",this),this.node.addEventListener("keydown",this)}onAfterDetach(e){this.node.removeEventListener("pointerdown",this),this.node.removeEventListener("dblclick",this),this.node.removeEventListener("keydown",this),this._releaseMouse()}onUpdateRequest(e){var t;let r=this._titles,n=this.renderer,i=this.currentTitle,a=new Array(r.length),o=null!==(t=this._getCurrentTabindex())&&void 0!==t?t:this._currentIndex>-1?this._currentIndex:0;for(let e=0,t=r.length;ei.hitTest(t,e.clientX,e.clientY)));if(-1===r)return;let n=this.titles[r],a=t[r].querySelector(".lm-TabBar-tabLabel");if(a&&a.contains(e.target)){let e=n.label||"",t=a.innerHTML;a.innerHTML="";let r=document.createElement("input");r.classList.add("lm-TabBar-tabInput"),r.value=e,a.appendChild(r);let i=()=>{r.removeEventListener("blur",i),a.innerHTML=t,this.node.addEventListener("keydown",this)};r.addEventListener("dblclick",(e=>e.stopPropagation())),r.addEventListener("blur",i),r.addEventListener("keydown",(e=>{"Enter"===e.key?(""!==r.value&&(n.label=n.caption=r.value),i()):"Escape"===e.key&&i()})),this.node.removeEventListener("keydown",this),r.select(),r.focus(),a.children.length>0&&a.children[0].focus()}}_evtKeyDownCapturing(e){e.eventPhase===Event.CAPTURING_PHASE&&(e.preventDefault(),e.stopPropagation(),"Escape"===e.key&&this._releaseMouse())}_evtKeyDown(e){var t,r,n;if("Tab"!==e.key&&e.eventPhase!==Event.CAPTURING_PHASE)if("Enter"===e.key||"Spacebar"===e.key||" "===e.key){let t=document.activeElement;if(this.addButtonEnabled&&this.addButtonNode.contains(t))e.preventDefault(),e.stopPropagation(),this._addRequested.emit();else{let r=_.ArrayExt.findFirstIndex(this.contentNode.children,(e=>e.contains(t)));r>=0&&(e.preventDefault(),e.stopPropagation(),this.currentIndex=r)}}else if(Le.includes(e.key)){let i=[...this.contentNode.children];if(this.addButtonEnabled&&i.push(this.addButtonNode),i.length<=1)return;e.preventDefault(),e.stopPropagation();let a,o=i.indexOf(document.activeElement);-1===o&&(o=this._currentIndex),"ArrowRight"===e.key&&"horizontal"===this._orientation||"ArrowDown"===e.key&&"vertical"===this._orientation?a=null!==(t=i[o+1])&&void 0!==t?t:i[0]:"ArrowLeft"===e.key&&"horizontal"===this._orientation||"ArrowUp"===e.key&&"vertical"===this._orientation?a=null!==(r=i[o-1])&&void 0!==r?r:i[i.length-1]:"Home"===e.key?a=i[0]:"End"===e.key&&(a=i[i.length-1]),a&&(null===(n=i[o])||void 0===n||n.setAttribute("tabindex","-1"),a?.setAttribute("tabindex","0"),a.focus())}}_evtPointerDown(e){if(0!==e.button&&1!==e.button||this._dragData||e.target.classList.contains("lm-TabBar-tabInput"))return;let t=this.addButtonEnabled&&this.addButtonNode.contains(e.target),r=this.contentNode.children,n=_.ArrayExt.findFirstIndex(r,(t=>i.hitTest(t,e.clientX,e.clientY)));if(-1===n&&!t||(e.preventDefault(),e.stopPropagation(),this._dragData={tab:r[n],index:n,pressX:e.clientX,pressY:e.clientY,tabPos:-1,tabSize:-1,tabPressPos:-1,targetIndex:-1,tabLayout:null,contentRect:null,override:null,dragActive:!1,dragAborted:!1,detachRequested:!1},this.document.addEventListener("pointerup",this,!0),1===e.button||t))return;let a=r[n].querySelector(this.renderer.closeIconSelector);a&&a.contains(e.target)||(this.tabsMovable&&(this.document.addEventListener("pointermove",this,!0),this.document.addEventListener("keydown",this,!0),this.document.addEventListener("contextmenu",this,!0)),this.allowDeselect&&this.currentIndex===n?this.currentIndex=-1:this.currentIndex=n,-1!==this.currentIndex&&this._tabActivateRequested.emit({index:this.currentIndex,title:this.currentTitle}))}_evtPointerMove(e){let t=this._dragData;if(!t)return;e.preventDefault(),e.stopPropagation();let r=this.contentNode.children;if(t.dragActive||Ce.dragExceeded(t,e)){if(!t.dragActive){let e=t.tab.getBoundingClientRect();"horizontal"===this._orientation?(t.tabPos=t.tab.offsetLeft,t.tabSize=e.width,t.tabPressPos=t.pressX-e.left):(t.tabPos=t.tab.offsetTop,t.tabSize=e.height,t.tabPressPos=t.pressY-e.top),t.tabPressOffset={x:t.pressX-e.left,y:t.pressY-e.top},t.tabLayout=Ce.snapTabLayout(r,this._orientation),t.contentRect=this.contentNode.getBoundingClientRect(),t.override=F.overrideCursor("default"),t.tab.classList.add("lm-mod-dragging"),this.addClass("lm-mod-dragging"),t.dragActive=!0}if(!t.detachRequested&&Ce.detachExceeded(t,e)){t.detachRequested=!0;let n=t.index,i=e.clientX,a=e.clientY,o=r[n],s=this._titles[n];if(this._tabDetachRequested.emit({index:n,title:s,tab:o,clientX:i,clientY:a,offset:t.tabPressOffset}),t.dragAborted)return}Ce.layoutTabs(r,t,e,this._orientation)}}_evtPointerUp(e){if(0!==e.button&&1!==e.button)return;let t=this._dragData;if(!t)return;if(e.preventDefault(),e.stopPropagation(),this.document.removeEventListener("pointermove",this,!0),this.document.removeEventListener("pointerup",this,!0),this.document.removeEventListener("keydown",this,!0),this.document.removeEventListener("contextmenu",this,!0),!t.dragActive){if(this._dragData=null,this.addButtonEnabled&&this.addButtonNode.contains(e.target))return void this._addRequested.emit(void 0);let r=this.contentNode.children,n=_.ArrayExt.findFirstIndex(r,(t=>i.hitTest(t,e.clientX,e.clientY)));if(n!==t.index)return;let a=this._titles[n];if(!a.closable)return;if(1===e.button)return void this._tabCloseRequested.emit({index:n,title:a});let o=r[n].querySelector(this.renderer.closeIconSelector);return o&&o.contains(e.target)?void this._tabCloseRequested.emit({index:n,title:a}):void 0}if(0!==e.button)return;Ce.finalizeTabPosition(t,this._orientation),t.tab.classList.remove("lm-mod-dragging");let r=Ce.parseTransitionDuration(t.tab);setTimeout((()=>{if(t.dragAborted)return;this._dragData=null,Ce.resetTabPositions(this.contentNode.children,this._orientation),t.override.dispose(),this.removeClass("lm-mod-dragging");let e=t.index,r=t.targetIndex;-1===r||e===r||(_.ArrayExt.move(this._titles,e,r),this._adjustCurrentForMove(e,r),this._tabMoved.emit({fromIndex:e,toIndex:r,title:this._titles[r]}),M.sendMessage(this,ne.Msg.UpdateRequest))}),r)}_releaseMouse(){let e=this._dragData;e&&(this._dragData=null,this.document.removeEventListener("pointermove",this,!0),this.document.removeEventListener("pointerup",this,!0),this.document.removeEventListener("keydown",this,!0),this.document.removeEventListener("contextmenu",this,!0),e.dragAborted=!0,e.dragActive&&(Ce.resetTabPositions(this.contentNode.children,this._orientation),e.override.dispose(),e.tab.classList.remove("lm-mod-dragging"),this.removeClass("lm-mod-dragging")))}_adjustCurrentForInsert(e,t){let r=this.currentTitle,n=this._currentIndex,i=this.insertBehavior;if("select-tab"===i||"select-tab-if-needed"===i&&-1===n)return this._currentIndex=e,this._previousTitle=r,void this._currentChanged.emit({previousIndex:n,previousTitle:r,currentIndex:e,currentTitle:t});n>=e&&this._currentIndex++}_adjustCurrentForMove(e,t){this._currentIndex===e?this._currentIndex=t:this._currentIndex=t?this._currentIndex++:this._currentIndex>e&&this._currentIndex<=t&&this._currentIndex--}_adjustCurrentForRemove(e,t){let r=this._currentIndex,n=this.removeBehavior;if(r===e)return 0===this._titles.length?(this._currentIndex=-1,void this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:-1,currentTitle:null})):"select-tab-after"===n?(this._currentIndex=Math.min(e,this._titles.length-1),void this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle})):"select-tab-before"===n?(this._currentIndex=Math.max(0,e-1),void this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle})):"select-previous-tab"===n?(this._previousTitle?(this._currentIndex=this._titles.indexOf(this._previousTitle),this._previousTitle=null):this._currentIndex=Math.min(e,this._titles.length-1),void this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle})):(this._currentIndex=-1,void this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:-1,currentTitle:null}));r>e&&this._currentIndex--}_onTitleChanged(e){this.update()}};!function(e){class t{constructor(){this.closeIconSelector=".lm-TabBar-tabCloseIcon",this._tabID=0,this._tabKeys=new WeakMap,this._uuid=++t._nInstance}renderTab(e){let t=e.title.caption,r=this.createTabKey(e),n=r,i=this.createTabStyle(e),a=this.createTabClass(e),o=this.createTabDataset(e),s=this.createTabARIA(e);return e.title.closable?J.li({id:n,key:r,className:a,title:t,style:i,dataset:o,...s},this.renderIcon(e),this.renderLabel(e),this.renderCloseIcon(e)):J.li({id:n,key:r,className:a,title:t,style:i,dataset:o,...s},this.renderIcon(e),this.renderLabel(e))}renderIcon(e){let{title:t}=e,r=this.createIconClass(e);return J.div({className:r},t.icon,t.iconLabel)}renderLabel(e){return J.div({className:"lm-TabBar-tabLabel"},e.title.label)}renderCloseIcon(e){return J.div({className:"lm-TabBar-tabCloseIcon"})}createTabKey(e){let t=this._tabKeys.get(e.title);return void 0===t&&(t=`tab-key-${this._uuid}-${this._tabID++}`,this._tabKeys.set(e.title,t)),t}createTabStyle(e){return{zIndex:`${e.zIndex}`}}createTabClass(e){let t="lm-TabBar-tab";return e.title.className&&(t+=` ${e.title.className}`),e.title.closable&&(t+=" lm-mod-closable"),e.current&&(t+=" lm-mod-current"),t}createTabDataset(e){return e.title.dataset}createTabARIA(e){var t;return{role:"tab","aria-selected":e.current.toString(),tabindex:`${null!==(t=e.tabIndex)&&void 0!==t?t:"-1"}`}}createIconClass(e){let t="lm-TabBar-tabIcon",r=e.title.iconClass;return r?`${t} ${r}`:t}}t._nInstance=0,e.Renderer=t,e.defaultRenderer=new t,e.addButtonSelector=".lm-TabBar-addButton"}(Ie||(Ie={})),function(e){e.DRAG_THRESHOLD=5,e.DETACH_THRESHOLD=20,e.createNode=function(){let e=document.createElement("div"),t=document.createElement("ul");t.setAttribute("role","tablist"),t.className="lm-TabBar-content",e.appendChild(t);let r=document.createElement("div");return r.className="lm-TabBar-addButton lm-mod-hidden",r.setAttribute("tabindex","-1"),r.setAttribute("role","button"),e.appendChild(r),e},e.asTitle=function(e){return e instanceof re?e:new re(e)},e.parseTransitionDuration=function(e){let t=window.getComputedStyle(e);return 1e3*(parseFloat(t.transitionDuration)||0)},e.snapTabLayout=function(e,t){let r=new Array(e.length);for(let n=0,i=e.length;n=e.DRAG_THRESHOLD||i>=e.DRAG_THRESHOLD},e.detachExceeded=function(t,r){let n=t.contentRect;return r.clientX=n.right+e.DETACH_THRESHOLD||r.clientY=n.bottom+e.DETACH_THRESHOLD},e.layoutTabs=function(e,t,r,n){let i,a,o,s;"horizontal"===n?(i=t.pressX,a=r.clientX-t.contentRect.left,o=r.clientX,s=t.contentRect.width):(i=t.pressY,a=r.clientY-t.contentRect.top,o=r.clientY,s=t.contentRect.height);let l=t.index,c=a-t.tabPressPos,u=c+t.tabSize;for(let r=0,a=e.length;r>1);if(rt.index&&u>d)a=-t.tabSize-h.margin+"px",l=Math.max(l,r);else if(r===t.index){let e=o-i,r=s-(t.tabPos+t.tabSize);a=`${Math.max(-t.tabPos,Math.min(e,r))}px`}else a="";"horizontal"===n?e[r].style.left=a:e[r].style.top=a}t.targetIndex=l},e.finalizeTabPosition=function(e,t){let r,n;if(r="horizontal"===t?e.contentRect.width:e.contentRect.height,e.targetIndex===e.index)n=0;else if(e.targetIndex>e.index){let t=e.tabLayout[e.targetIndex];n=t.pos+t.size-e.tabSize-e.tabPos}else n=e.tabLayout[e.targetIndex].pos-e.tabPos;let i=r-(e.tabPos+e.tabSize),a=Math.max(-e.tabPos,Math.min(n,i));"horizontal"===t?e.tab.style.left=`${a}px`:e.tab.style.top=`${a}px`},e.resetTabPositions=function(e,t){for(let r of e)"horizontal"===t?r.style.left="":r.style.top=""}}(Ce||(Ce={}));var Pe,ze=class extends ie{constructor(e){super(),this._spacing=4,this._dirty=!1,this._root=null,this._box=null,this._items=new Map,this.renderer=e.renderer,void 0!==e.spacing&&(this._spacing=ue.clampDimension(e.spacing)),this._document=e.document||document,this._hiddenMode=void 0!==e.hiddenMode?e.hiddenMode:ne.HiddenMode.Display}dispose(){let e=this[Symbol.iterator]();this._items.forEach((e=>{e.dispose()})),this._box=null,this._root=null,this._items.clear();for(let t of e)t.dispose();super.dispose()}get hiddenMode(){return this._hiddenMode}set hiddenMode(e){if(this._hiddenMode!==e){this._hiddenMode=e;for(let e of this.tabBars())if(e.titles.length>1)for(let t of e.titles)t.owner.hiddenMode=this._hiddenMode}}get spacing(){return this._spacing}set spacing(e){e=ue.clampDimension(e),this._spacing!==e&&(this._spacing=e,this.parent&&this.parent.fit())}get isEmpty(){return null===this._root}[Symbol.iterator](){return this._root?this._root.iterAllWidgets():(0,_.empty)()}widgets(){return this._root?this._root.iterUserWidgets():(0,_.empty)()}selectedWidgets(){return this._root?this._root.iterSelectedWidgets():(0,_.empty)()}tabBars(){return this._root?this._root.iterTabBars():(0,_.empty)()}handles(){return this._root?this._root.iterHandles():(0,_.empty)()}moveHandle(e,t,r){let n=e.classList.contains("lm-mod-hidden");if(!this._root||n)return;let i,a=this._root.findSplitNode(e);a&&(i="horizontal"===a.node.orientation?t-e.offsetLeft:r-e.offsetTop,0!==i&&(a.node.holdSizes(),Q.adjust(a.node.sizers,a.index,i),this.parent&&this.parent.update()))}saveLayout(){return this._root?(this._root.holdAllSizes(),{main:this._root.createConfig()}):{main:null}}restoreLayout(e){let t,r=new Set;t=e.main?Pe.normalizeAreaConfig(e.main,r):null;let n=this.widgets(),i=this.tabBars(),a=this.handles();this._root=null;for(let e of n)r.has(e)||(e.parent=null);for(let e of i)e.dispose();for(let e of a)e.parentNode&&e.parentNode.removeChild(e);for(let e of r)e.parent=this.parent;this._root=t?Pe.realizeAreaConfig(t,{createTabBar:e=>this._createTabBar(),createHandle:()=>this._createHandle()},this._document):null,this.parent&&(r.forEach((e=>{this.attachWidget(e)})),this.parent.fit())}addWidget(e,t={}){let r=t.ref||null,n=t.mode||"tab-after",i=null;if(this._root&&r&&(i=this._root.findTabNode(r)),r&&!i)throw new Error("Reference widget is not in the layout.");switch(e.parent=this.parent,n){case"tab-after":this._insertTab(e,r,i,!0);break;case"tab-before":this._insertTab(e,r,i,!1);break;case"split-top":this._insertSplit(e,r,i,"vertical",!1);break;case"split-left":this._insertSplit(e,r,i,"horizontal",!1);break;case"split-right":this._insertSplit(e,r,i,"horizontal",!0);break;case"split-bottom":this._insertSplit(e,r,i,"vertical",!0);break;case"merge-top":this._insertSplit(e,r,i,"vertical",!1,!0);break;case"merge-left":this._insertSplit(e,r,i,"horizontal",!1,!0);break;case"merge-right":this._insertSplit(e,r,i,"horizontal",!0,!0);break;case"merge-bottom":this._insertSplit(e,r,i,"vertical",!0,!0)}this.parent&&(this.attachWidget(e),this.parent.fit())}removeWidget(e){this._removeWidget(e),this.parent&&(this.detachWidget(e),this.parent.fit())}hitTestTabAreas(e,t){if(!this._root||!this.parent||!this.parent.isVisible)return null;this._box||(this._box=i.boxSizing(this.parent.node));let r=this.parent.node.getBoundingClientRect(),n=e-r.left-this._box.borderLeft,a=t-r.top-this._box.borderTop,o=this._root.hitTestTabNodes(n,a);if(!o)return null;let{tabBar:s,top:l,left:c,width:u,height:h}=o,d=this._box.borderLeft+this._box.borderRight,f=this._box.borderTop+this._box.borderBottom;return{tabBar:s,x:n,y:a,top:l,left:c,right:r.width-d-(c+u),bottom:r.height-f-(l+h),width:u,height:h}}init(){super.init();for(let e of this)this.attachWidget(e);for(let e of this.handles())this.parent.node.appendChild(e);this.parent.fit()}attachWidget(e){this.parent.node!==e.node.parentNode&&(this._items.set(e,new oe(e)),this.parent.isAttached&&M.sendMessage(e,ne.Msg.BeforeAttach),this.parent.node.appendChild(e.node),this.parent.isAttached&&M.sendMessage(e,ne.Msg.AfterAttach))}detachWidget(e){if(this.parent.node!==e.node.parentNode)return;this.parent.isAttached&&M.sendMessage(e,ne.Msg.BeforeDetach),this.parent.node.removeChild(e.node),this.parent.isAttached&&M.sendMessage(e,ne.Msg.AfterDetach);let t=this._items.get(e);t&&(this._items.delete(e),t.dispose())}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_removeWidget(e){if(!this._root)return;let t=this._root.findTabNode(e);if(!t)return;if(Pe.removeAria(e),t.tabBar.titles.length>1)return t.tabBar.removeTab(e.title),void(this._hiddenMode===ne.HiddenMode.Scale&&1==t.tabBar.titles.length&&(t.tabBar.titles[0].owner.hiddenMode=ne.HiddenMode.Display));if(t.tabBar.dispose(),this._root===t)return void(this._root=null);this._root.holdAllSizes();let r=t.parent;t.parent=null;let n=_.ArrayExt.removeFirstOf(r.children,t),i=_.ArrayExt.removeAt(r.handles,n);if(_.ArrayExt.removeAt(r.sizers,n),i.parentNode&&i.parentNode.removeChild(i),r.children.length>1)return void r.syncHandles();let a=r.parent;r.parent=null;let o=r.children[0],s=r.handles[0];if(r.children.length=0,r.handles.length=0,r.sizers.length=0,s.parentNode&&s.parentNode.removeChild(s),this._root===r)return o.parent=null,void(this._root=o);let l=a,c=l.children.indexOf(r);if(o instanceof Pe.TabLayoutNode)return o.parent=l,void(l.children[c]=o);let u=_.ArrayExt.removeAt(l.handles,c);_.ArrayExt.removeAt(l.children,c),_.ArrayExt.removeAt(l.sizers,c),u.parentNode&&u.parentNode.removeChild(u);for(let e=0,t=o.children.length;e=r.length)&&(n=0),{type:"tab-area",widgets:r,currentIndex:n}}(t,r):function(t,r){let n=t.orientation,i=[],a=[];for(let o=0,s=t.children.length;o{let l=i(n,r,a),c=t(e.sizes[s]),u=r.createHandle();o.children.push(l),o.handles.push(u),o.sizers.push(c),l.parent=o})),o.syncHandles(),o.normalizeSizes(),o}(a,o,s),l};class r{constructor(e){this.parent=null,this._top=0,this._left=0,this._width=0,this._height=0;let t=new ee,r=new ee;t.stretch=0,r.stretch=1,this.tabBar=e,this.sizers=[t,r]}get top(){return this._top}get left(){return this._left}get width(){return this._width}get height(){return this._height}*iterAllWidgets(){yield this.tabBar,yield*this.iterUserWidgets()}*iterUserWidgets(){for(let e of this.tabBar.titles)yield e.owner}*iterSelectedWidgets(){let e=this.tabBar.currentTitle;e&&(yield e.owner)}*iterTabBars(){yield this.tabBar}*iterHandles(){}findTabNode(e){return-1!==this.tabBar.titles.indexOf(e.title)?this:null}findSplitNode(e){return null}findFirstTabNode(){return this}hitTestTabNodes(e,t){return e=this._left+this._width||t=this._top+this._height?null:this}createConfig(){return{type:"tab-area",widgets:this.tabBar.titles.map((e=>e.owner)),currentIndex:this.tabBar.currentIndex}}holdAllSizes(){}fit(e,t){let r=0,n=0,i=t.get(this.tabBar),a=this.tabBar.currentTitle,o=a?t.get(a.owner):void 0,[s,l]=this.sizers;return i&&i.fit(),o&&o.fit(),i&&!i.isHidden?(r=Math.max(r,i.minWidth),n+=i.minHeight,s.minSize=i.minHeight,s.maxSize=i.maxHeight):(s.minSize=0,s.maxSize=0),o&&!o.isHidden?(r=Math.max(r,o.minWidth),n+=o.minHeight,l.minSize=o.minHeight,l.maxSize=1/0):(l.minSize=0,l.maxSize=1/0),{minWidth:r,minHeight:n,maxWidth:1/0,maxHeight:1/0}}update(e,t,r,n,i,a){this._top=t,this._left=e,this._width=r,this._height=n;let o=a.get(this.tabBar),s=this.tabBar.currentTitle,l=s?a.get(s.owner):void 0;if(Q.calc(this.sizers,n),o&&!o.isHidden){let n=this.sizers[0].size;o.update(e,t,r,n),t+=n}if(l&&!l.isHidden){let n=this.sizers[1].size;l.update(e,t,r,n)}}}e.TabLayoutNode=r;class n{constructor(e){this.parent=null,this.normalized=!1,this.children=[],this.sizers=[],this.handles=[],this.orientation=e}*iterAllWidgets(){for(let e of this.children)yield*e.iterAllWidgets()}*iterUserWidgets(){for(let e of this.children)yield*e.iterUserWidgets()}*iterSelectedWidgets(){for(let e of this.children)yield*e.iterSelectedWidgets()}*iterTabBars(){for(let e of this.children)yield*e.iterTabBars()}*iterHandles(){yield*this.handles;for(let e of this.children)yield*e.iterHandles()}findTabNode(e){for(let t=0,r=this.children.length;te.createConfig())),sizes:t}}syncHandles(){this.handles.forEach(((e,t)=>{e.setAttribute("data-orientation",this.orientation),t===this.handles.length-1?e.classList.add("lm-mod-hidden"):e.classList.remove("lm-mod-hidden")}))}holdSizes(){for(let e of this.sizers)e.sizeHint=e.size}holdAllSizes(){for(let e of this.children)e.holdAllSizes();this.holdSizes()}normalizeSizes(){let e=this.sizers.length;if(0===e)return;this.holdSizes();let t=this.sizers.reduce(((e,t)=>e+t.sizeHint),0);if(0===t)for(let t of this.sizers)t.size=t.sizeHint=1/e;else for(let e of this.sizers)e.size=e.sizeHint/=t;this.normalized=!0}createNormalizedSizes(){let e=this.sizers.length;if(0===e)return[];let t=this.sizers.map((e=>e.size)),r=t.reduce(((e,t)=>e+t),0);if(0===r)for(let r=t.length-1;r>-1;r--)t[r]=1/e;else for(let e=t.length-1;e>-1;e--)t[e]/=r;return t}fit(e,t){let r="horizontal"===this.orientation,n=Math.max(0,this.children.length-1)*e,i=r?n:0,a=r?0:n;for(let n=0,o=this.children.length;nthis._createTabBar(),createHandle:()=>this._createHandle()};this.layout=new ze({document:this._document,renderer:r,spacing:t.spacing,hiddenMode:t.hiddenMode}),this.overlay=t.overlay||new e.Overlay,this.node.appendChild(this.overlay.node)}dispose(){this._releaseMouse(),this.overlay.hide(0),this._drag&&this._drag.dispose(),super.dispose()}get hiddenMode(){return this.layout.hiddenMode}set hiddenMode(e){this.layout.hiddenMode=e}get layoutModified(){return this._layoutModified}get addRequested(){return this._addRequested}get renderer(){return this.layout.renderer}get spacing(){return this.layout.spacing}set spacing(e){this.layout.spacing=e}get mode(){return this._mode}set mode(e){if(this._mode===e)return;this._mode=e,this.dataset.mode=e;let t=this.layout;switch(e){case"multiple-document":for(let e of t.tabBars())e.show();break;case"single-document":t.restoreLayout(Oe.createSingleDocumentConfig(this));break;default:throw"unreachable"}M.postMessage(this,Oe.LayoutModified)}get tabsMovable(){return this._tabsMovable}set tabsMovable(e){this._tabsMovable=e;for(let t of this.tabBars())t.tabsMovable=e}get tabsConstrained(){return this._tabsConstrained}set tabsConstrained(e){this._tabsConstrained=e}get addButtonEnabled(){return this._addButtonEnabled}set addButtonEnabled(e){this._addButtonEnabled=e;for(let t of this.tabBars())t.addButtonEnabled=e}get isEmpty(){return this.layout.isEmpty}*widgets(){yield*this.layout.widgets()}*selectedWidgets(){yield*this.layout.selectedWidgets()}*tabBars(){yield*this.layout.tabBars()}*handles(){yield*this.layout.handles()}selectWidget(e){let t=(0,_.find)(this.tabBars(),(t=>-1!==t.titles.indexOf(e.title)));if(!t)throw new Error("Widget is not contained in the dock panel.");t.currentTitle=e.title}activateWidget(e){this.selectWidget(e),e.activate()}saveLayout(){return this.layout.saveLayout()}restoreLayout(e){this._mode="multiple-document",this.layout.restoreLayout(e),(a.IS_EDGE||a.IS_IE)&&M.flush(),M.postMessage(this,Oe.LayoutModified)}addWidget(e,t={}){"single-document"===this._mode?this.layout.addWidget(e):this.layout.addWidget(e,t),M.postMessage(this,Oe.LayoutModified)}processMessage(e){"layout-modified"===e.type?this._layoutModified.emit(void 0):super.processMessage(e)}handleEvent(e){switch(e.type){case"lm-dragenter":this._evtDragEnter(e);break;case"lm-dragleave":this._evtDragLeave(e);break;case"lm-dragover":this._evtDragOver(e);break;case"lm-drop":this._evtDrop(e);break;case"pointerdown":this._evtPointerDown(e);break;case"pointermove":this._evtPointerMove(e);break;case"pointerup":this._evtPointerUp(e);break;case"keydown":this._evtKeyDown(e);break;case"contextmenu":e.preventDefault(),e.stopPropagation()}}onBeforeAttach(e){this.node.addEventListener("lm-dragenter",this),this.node.addEventListener("lm-dragleave",this),this.node.addEventListener("lm-dragover",this),this.node.addEventListener("lm-drop",this),this.node.addEventListener("pointerdown",this)}onAfterDetach(e){this.node.removeEventListener("lm-dragenter",this),this.node.removeEventListener("lm-dragleave",this),this.node.removeEventListener("lm-dragover",this),this.node.removeEventListener("lm-drop",this),this.node.removeEventListener("pointerdown",this),this._releaseMouse()}onChildAdded(e){Oe.isGeneratedTabBarProperty.get(e.child)||e.child.addClass("lm-DockPanel-widget")}onChildRemoved(e){Oe.isGeneratedTabBarProperty.get(e.child)||(e.child.removeClass("lm-DockPanel-widget"),M.postMessage(this,Oe.LayoutModified))}_evtDragEnter(e){e.mimeData.hasData("application/vnd.lumino.widget-factory")&&(e.preventDefault(),e.stopPropagation())}_evtDragLeave(e){e.preventDefault(),(!this._tabsConstrained||e.source===this)&&(e.stopPropagation(),this.overlay.hide(1))}_evtDragOver(e){e.preventDefault(),this._tabsConstrained&&e.source!==this||"invalid"===this._showOverlay(e.clientX,e.clientY)?e.dropAction="none":(e.stopPropagation(),e.dropAction=e.proposedAction)}_evtDrop(e){if(e.preventDefault(),this.overlay.hide(0),"none"===e.proposedAction)return void(e.dropAction="none");let{clientX:t,clientY:r}=e,{zone:n,target:i}=Oe.findDropTarget(this,t,r,this._edges);if(this._tabsConstrained&&e.source!==this||"invalid"===n)return void(e.dropAction="none");let a=e.mimeData.getData("application/vnd.lumino.widget-factory");if("function"!=typeof a)return void(e.dropAction="none");let o=a();if(!(o instanceof ne))return void(e.dropAction="none");if(o.contains(this))return void(e.dropAction="none");let s=i?Oe.getDropRef(i.tabBar):null;switch(n){case"root-all":this.addWidget(o);break;case"root-top":this.addWidget(o,{mode:"split-top"});break;case"root-left":this.addWidget(o,{mode:"split-left"});break;case"root-right":this.addWidget(o,{mode:"split-right"});break;case"root-bottom":this.addWidget(o,{mode:"split-bottom"});break;case"widget-all":case"widget-tab":this.addWidget(o,{mode:"tab-after",ref:s});break;case"widget-top":this.addWidget(o,{mode:"split-top",ref:s});break;case"widget-left":this.addWidget(o,{mode:"split-left",ref:s});break;case"widget-right":this.addWidget(o,{mode:"split-right",ref:s});break;case"widget-bottom":this.addWidget(o,{mode:"split-bottom",ref:s});break;default:throw"unreachable"}e.dropAction=e.proposedAction,e.stopPropagation(),this.activateWidget(o)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation(),27===e.keyCode&&(this._releaseMouse(),M.postMessage(this,Oe.LayoutModified))}_evtPointerDown(e){if(0!==e.button)return;let t=this.layout,r=e.target,n=(0,_.find)(t.handles(),(e=>e.contains(r)));if(!n)return;e.preventDefault(),e.stopPropagation(),this._document.addEventListener("keydown",this,!0),this._document.addEventListener("pointerup",this,!0),this._document.addEventListener("pointermove",this,!0),this._document.addEventListener("contextmenu",this,!0);let i=n.getBoundingClientRect(),a=e.clientX-i.left,o=e.clientY-i.top,s=window.getComputedStyle(n),l=F.overrideCursor(s.cursor,this._document);this._pressData={handle:n,deltaX:a,deltaY:o,override:l}}_evtPointerMove(e){if(!this._pressData)return;e.preventDefault(),e.stopPropagation();let t=this.node.getBoundingClientRect(),r=e.clientX-t.left-this._pressData.deltaX,n=e.clientY-t.top-this._pressData.deltaY;this.layout.moveHandle(this._pressData.handle,r,n)}_evtPointerUp(e){0===e.button&&(e.preventDefault(),e.stopPropagation(),this._releaseMouse(),M.postMessage(this,Oe.LayoutModified))}_releaseMouse(){this._pressData&&(this._pressData.override.dispose(),this._pressData=null,this._document.removeEventListener("keydown",this,!0),this._document.removeEventListener("pointerup",this,!0),this._document.removeEventListener("pointermove",this,!0),this._document.removeEventListener("contextmenu",this,!0))}_showOverlay(e,t){let{zone:r,target:n}=Oe.findDropTarget(this,e,t,this._edges);if("invalid"===r)return this.overlay.hide(100),r;let a,o,s,l,c=i.boxSizing(this.node),u=this.node.getBoundingClientRect();switch(r){case"root-all":a=c.paddingTop,o=c.paddingLeft,s=c.paddingRight,l=c.paddingBottom;break;case"root-top":a=c.paddingTop,o=c.paddingLeft,s=c.paddingRight,l=u.height*Oe.GOLDEN_RATIO;break;case"root-left":a=c.paddingTop,o=c.paddingLeft,s=u.width*Oe.GOLDEN_RATIO,l=c.paddingBottom;break;case"root-right":a=c.paddingTop,o=u.width*Oe.GOLDEN_RATIO,s=c.paddingRight,l=c.paddingBottom;break;case"root-bottom":a=u.height*Oe.GOLDEN_RATIO,o=c.paddingLeft,s=c.paddingRight,l=c.paddingBottom;break;case"widget-all":a=n.top,o=n.left,s=n.right,l=n.bottom;break;case"widget-top":a=n.top,o=n.left,s=n.right,l=n.bottom+n.height/2;break;case"widget-left":a=n.top,o=n.left,s=n.right+n.width/2,l=n.bottom;break;case"widget-right":a=n.top,o=n.left+n.width/2,s=n.right,l=n.bottom;break;case"widget-bottom":a=n.top+n.height/2,o=n.left,s=n.right,l=n.bottom;break;case"widget-tab":{let e=n.tabBar.node.getBoundingClientRect().height;a=n.top,o=n.left,s=n.right,l=n.bottom+n.height-e;break}default:throw"unreachable"}return this.overlay.show({top:a,left:o,right:s,bottom:l}),r}_createTabBar(){let e=this._renderer.createTabBar(this._document);return Oe.isGeneratedTabBarProperty.set(e,!0),"single-document"===this._mode&&e.hide(),e.tabsMovable=this._tabsMovable,e.allowDeselect=!1,e.addButtonEnabled=this._addButtonEnabled,e.removeBehavior="select-previous-tab",e.insertBehavior="select-tab-if-needed",e.tabMoved.connect(this._onTabMoved,this),e.currentChanged.connect(this._onCurrentChanged,this),e.tabCloseRequested.connect(this._onTabCloseRequested,this),e.tabDetachRequested.connect(this._onTabDetachRequested,this),e.tabActivateRequested.connect(this._onTabActivateRequested,this),e.addRequested.connect(this._onTabAddRequested,this),e}_createHandle(){return this._renderer.createHandle()}_onTabMoved(){M.postMessage(this,Oe.LayoutModified)}_onCurrentChanged(e,t){let{previousTitle:r,currentTitle:n}=t;r&&r.owner.hide(),n&&n.owner.show(),(a.IS_EDGE||a.IS_IE)&&M.flush(),M.postMessage(this,Oe.LayoutModified)}_onTabAddRequested(e){this._addRequested.emit(e)}_onTabActivateRequested(e,t){t.title.owner.activate()}_onTabCloseRequested(e,t){t.title.owner.close()}_onTabDetachRequested(e,t){if(this._drag)return;e.releaseMouse();let{title:r,tab:n,clientX:i,clientY:a,offset:o}=t,s=new w.MimeData;s.setData("application/vnd.lumino.widget-factory",(()=>r.owner));let l=n.cloneNode(!0);o&&(l.style.top=`-${o.y}px`,l.style.left=`-${o.x}px`),this._drag=new F({document:this._document,mimeData:s,dragImage:l,proposedAction:"move",supportedActions:"move",source:this}),n.classList.add("lm-mod-hidden"),this._drag.start(i,a).then((()=>{this._drag=null,n.classList.remove("lm-mod-hidden")}))}};!function(e){e.Overlay=class{constructor(){this._timer=-1,this._hidden=!0,this.node=document.createElement("div"),this.node.classList.add("lm-DockPanel-overlay"),this.node.classList.add("lm-mod-hidden"),this.node.style.position="absolute",this.node.style.contain="strict"}show(e){let t=this.node.style;t.top=`${e.top}px`,t.left=`${e.left}px`,t.right=`${e.right}px`,t.bottom=`${e.bottom}px`,clearTimeout(this._timer),this._timer=-1,this._hidden&&(this._hidden=!1,this.node.classList.remove("lm-mod-hidden"))}hide(e){if(!this._hidden){if(e<=0)return clearTimeout(this._timer),this._timer=-1,this._hidden=!0,void this.node.classList.add("lm-mod-hidden");-1===this._timer&&(this._timer=window.setTimeout((()=>{this._timer=-1,this._hidden=!0,this.node.classList.add("lm-mod-hidden")}),e))}}};class t{createTabBar(e){let t=new Ie({document:e});return t.addClass("lm-DockPanel-tabBar"),t}createHandle(){let e=document.createElement("div");return e.className="lm-DockPanel-handle",e}}e.Renderer=t,e.defaultRenderer=new t}(De||(De={})),function(e){e.GOLDEN_RATIO=.618,e.DEFAULT_EDGES={top:12,right:40,bottom:40,left:40},e.LayoutModified=new E("layout-modified"),e.isGeneratedTabBarProperty=new L({name:"isGeneratedTabBar",create:()=>!1}),e.createSingleDocumentConfig=function(e){if(e.isEmpty)return{main:null};let t=Array.from(e.widgets()),r=e.selectedWidgets().next().value,n=r?t.indexOf(r):-1;return{main:{type:"tab-area",widgets:t,currentIndex:n}}},e.findDropTarget=function(e,t,r,n){if(!i.hitTest(e.node,t,r))return{zone:"invalid",target:null};let a=e.layout;if(a.isEmpty)return{zone:"root-all",target:null};if("multiple-document"===e.mode){let i=e.node.getBoundingClientRect(),a=t-i.left+1,o=r-i.top+1,s=i.right-t,l=i.bottom-r;switch(Math.min(o,s,l,a)){case o:if(od&&c>d&&l>f&&u>f)return{zone:"widget-all",target:o};switch(s/=d,l/=f,c/=d,u/=f,Math.min(s,l,c,u)){case s:h="widget-left";break;case l:h="widget-top";break;case c:h="widget-right";break;case u:h="widget-bottom";break;default:throw"unreachable"}return{zone:h,target:o}},e.getDropRef=function(e){return 0===e.titles.length?null:e.currentTitle?e.currentTitle.owner:e.titles[e.titles.length-1].owner}}(Oe||(Oe={}));var Re,je=class e extends ie{constructor(e={}){super(e),this._dirty=!1,this._rowSpacing=4,this._columnSpacing=4,this._items=[],this._rowStarts=[],this._columnStarts=[],this._rowSizers=[new ee],this._columnSizers=[new ee],this._box=null,void 0!==e.rowCount&&Re.reallocSizers(this._rowSizers,e.rowCount),void 0!==e.columnCount&&Re.reallocSizers(this._columnSizers,e.columnCount),void 0!==e.rowSpacing&&(this._rowSpacing=Re.clampValue(e.rowSpacing)),void 0!==e.columnSpacing&&(this._columnSpacing=Re.clampValue(e.columnSpacing))}dispose(){for(let e of this._items){let t=e.widget;e.dispose(),t.dispose()}this._box=null,this._items.length=0,this._rowStarts.length=0,this._rowSizers.length=0,this._columnStarts.length=0,this._columnSizers.length=0,super.dispose()}get rowCount(){return this._rowSizers.length}set rowCount(e){e!==this.rowCount&&(Re.reallocSizers(this._rowSizers,e),this.parent&&this.parent.fit())}get columnCount(){return this._columnSizers.length}set columnCount(e){e!==this.columnCount&&(Re.reallocSizers(this._columnSizers,e),this.parent&&this.parent.fit())}get rowSpacing(){return this._rowSpacing}set rowSpacing(e){e=Re.clampValue(e),this._rowSpacing!==e&&(this._rowSpacing=e,this.parent&&this.parent.fit())}get columnSpacing(){return this._columnSpacing}set columnSpacing(e){e=Re.clampValue(e),this._columnSpacing!==e&&(this._columnSpacing=e,this.parent&&this.parent.fit())}rowStretch(e){let t=this._rowSizers[e];return t?t.stretch:-1}setRowStretch(e,t){let r=this._rowSizers[e];r&&(t=Re.clampValue(t),r.stretch!==t&&(r.stretch=t,this.parent&&this.parent.update()))}columnStretch(e){let t=this._columnSizers[e];return t?t.stretch:-1}setColumnStretch(e,t){let r=this._columnSizers[e];r&&(t=Re.clampValue(t),r.stretch!==t&&(r.stretch=t,this.parent&&this.parent.update()))}*[Symbol.iterator](){for(let e of this._items)yield e.widget}addWidget(e){-1===_.ArrayExt.findFirstIndex(this._items,(t=>t.widget===e))&&(this._items.push(new oe(e)),this.parent&&this.attachWidget(e))}removeWidget(e){let t=_.ArrayExt.findFirstIndex(this._items,(t=>t.widget===e));if(-1===t)return;let r=_.ArrayExt.removeAt(this._items,t);this.parent&&this.detachWidget(e),r.dispose()}init(){super.init();for(let e of this)this.attachWidget(e)}attachWidget(e){this.parent.isAttached&&M.sendMessage(e,ne.Msg.BeforeAttach),this.parent.node.appendChild(e.node),this.parent.isAttached&&M.sendMessage(e,ne.Msg.AfterAttach),this.parent.fit()}detachWidget(e){this.parent.isAttached&&M.sendMessage(e,ne.Msg.BeforeDetach),this.parent.node.removeChild(e.node),this.parent.isAttached&&M.sendMessage(e,ne.Msg.AfterDetach),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_fit(){for(let e=0,t=this.rowCount;e!e.isHidden));for(let e=0,r=t.length;e({row:0,column:0,rowSpan:1,columnSpan:1}),changed:function(e){e.parent&&e.parent.layout instanceof je&&e.parent.fit()}}),e.normalizeConfig=function(e){return{row:Math.max(0,Math.floor(e.row||0)),column:Math.max(0,Math.floor(e.column||0)),rowSpan:Math.max(1,Math.floor(e.rowSpan||0)),columnSpan:Math.max(1,Math.floor(e.columnSpan||0))}},e.clampValue=function(e){return Math.max(0,Math.floor(e))},e.rowSpanCmp=function(t,r){let n=e.cellConfigProperty.get(t.widget),i=e.cellConfigProperty.get(r.widget);return n.rowSpan-i.rowSpan},e.columnSpanCmp=function(t,r){let n=e.cellConfigProperty.get(t.widget),i=e.cellConfigProperty.get(r.widget);return n.columnSpan-i.columnSpan},e.reallocSizers=function(e,t){for(t=Math.max(1,Math.floor(t));e.lengtht&&(e.length=t)},e.distributeMin=function(e,t,r,n){if(r=n)return;let a=(n-i)/(r-t+1);for(let n=t;n<=r;++n)e[n].minSize+=a}}(Re||(Re={}));var Fe,Be,Ne=class e extends ne{constructor(t={}){super({node:Fe.createNode()}),this._activeIndex=-1,this._tabFocusIndex=0,this._menus=[],this._childMenu=null,this._overflowMenu=null,this._menuItemSizes=[],this._overflowIndex=-1,this.addClass("lm-MenuBar"),this.setFlag(ne.Flag.DisallowLayout),this.renderer=t.renderer||e.defaultRenderer,this._forceItemsPosition=t.forceItemsPosition||{forceX:!0,forceY:!0},this._overflowMenuOptions=t.overflowMenuOptions||{isVisible:!0}}dispose(){this._closeChildMenu(),this._menus.length=0,super.dispose()}get childMenu(){return this._childMenu}get overflowIndex(){return this._overflowIndex}get overflowMenu(){return this._overflowMenu}get contentNode(){return this.node.getElementsByClassName("lm-MenuBar-content")[0]}get activeMenu(){return this._menus[this._activeIndex]||null}set activeMenu(e){this.activeIndex=e?this._menus.indexOf(e):-1}get activeIndex(){return this._activeIndex}set activeIndex(e){(e<0||e>=this._menus.length)&&(e=-1),e>-1&&0===this._menus[e].items.length&&(e=-1),this._activeIndex!==e&&(this._activeIndex=e,this.update())}get menus(){return this._menus}openActiveMenu(){-1!==this._activeIndex&&(this._openChildMenu(),this._childMenu&&(this._childMenu.activeIndex=-1,this._childMenu.activateNextItem()))}addMenu(e,t=!0){this.insertMenu(this._menus.length,e,t)}insertMenu(e,t,r=!0){this._closeChildMenu();let n=this._menus.indexOf(t),i=Math.max(0,Math.min(e,this._menus.length));if(-1===n)return _.ArrayExt.insert(this._menus,i,t),t.addClass("lm-MenuBar-menu"),t.aboutToClose.connect(this._onMenuAboutToClose,this),t.menuRequested.connect(this._onMenuMenuRequested,this),t.title.changed.connect(this._onTitleChanged,this),void(r&&this.update());i===this._menus.length&&i--,n!==i&&(_.ArrayExt.move(this._menus,n,i),r&&this.update())}removeMenu(e,t=!0){this.removeMenuAt(this._menus.indexOf(e),t)}removeMenuAt(e,t=!0){this._closeChildMenu();let r=_.ArrayExt.removeAt(this._menus,e);r&&(r.aboutToClose.disconnect(this._onMenuAboutToClose,this),r.menuRequested.disconnect(this._onMenuMenuRequested,this),r.title.changed.disconnect(this._onTitleChanged,this),r.removeClass("lm-MenuBar-menu"),t&&this.update())}clearMenus(){if(0!==this._menus.length){this._closeChildMenu();for(let e of this._menus)e.aboutToClose.disconnect(this._onMenuAboutToClose,this),e.menuRequested.disconnect(this._onMenuMenuRequested,this),e.title.changed.disconnect(this._onTitleChanged,this),e.removeClass("lm-MenuBar-menu");this._menus.length=0,this.update()}}handleEvent(e){switch(e.type){case"keydown":this._evtKeyDown(e);break;case"mousedown":this._evtMouseDown(e);break;case"mousemove":this._evtMouseMove(e);break;case"focusout":this._evtFocusOut(e);break;case"contextmenu":e.preventDefault(),e.stopPropagation()}}onBeforeAttach(e){this.node.addEventListener("keydown",this),this.node.addEventListener("mousedown",this),this.node.addEventListener("mousemove",this),this.node.addEventListener("focusout",this),this.node.addEventListener("contextmenu",this)}onAfterDetach(e){this.node.removeEventListener("keydown",this),this.node.removeEventListener("mousedown",this),this.node.removeEventListener("mousemove",this),this.node.removeEventListener("focusout",this),this.node.removeEventListener("contextmenu",this),this._closeChildMenu()}onActivateRequest(e){this.isAttached&&this._focusItemAt(0)}onResize(e){this.update(),super.onResize(e)}onUpdateRequest(e){var t;let r=this._menus,n=this.renderer,i=this._activeIndex,a=this._tabFocusIndex>=0&&this._tabFocusIndex-1?this._overflowIndex:r.length,s=0,l=!1;o=null!==this._overflowMenu?o-1:o;let c=new Array(o);for(let e=0;e{this._tabFocusIndex=e,this.activeIndex=e}}),s+=this._menuItemSizes[e],r[e].title.label===this._overflowMenuOptions.title&&(l=!0,o--);if(this._overflowMenuOptions.isVisible)if(this._overflowIndex>-1&&!l){if(null===this._overflowMenu){let e=null!==(t=this._overflowMenuOptions.title)&&void 0!==t?t:"...";this._overflowMenu=new Ee({commands:new W}),this._overflowMenu.title.label=e,this._overflowMenu.title.mnemonic=0,this.addMenu(this._overflowMenu,!1)}for(let e=r.length-2;e>=o;e--){let t=this.menus[e];t.title.mnemonic=0,this._overflowMenu.insertItem(0,{type:"submenu",submenu:t}),this.removeMenu(t,!1)}c[o]=n.renderItem({title:this._overflowMenu.title,active:o===i&&0!==r[o].items.length,tabbable:o===a,disabled:0===r[o].items.length,onfocus:()=>{this._tabFocusIndex=o,this.activeIndex=o}}),o++}else if(null!==this._overflowMenu){let e=this._overflowMenu.items,t=this.node.offsetWidth,i=this._overflowMenu.items.length;for(let l=0;lthis._menuItemSizes[i]){let t=e[0].submenu;this._overflowMenu.removeItemAt(0),this.insertMenu(o,t,!1),c[o]=n.renderItem({title:t.title,active:!1,tabbable:o===a,disabled:0===r[o].items.length,onfocus:()=>{this._tabFocusIndex=o,this.activeIndex=o}}),o++}}0===this._overflowMenu.items.length&&(this.removeMenu(this._overflowMenu,!1),c.pop(),this._overflowMenu=null,this._overflowIndex=-1)}Y.render(c,this.contentNode),this._updateOverflowIndex()}_updateOverflowIndex(){if(!this._overflowMenuOptions.isVisible)return;let e=this.contentNode.childNodes,t=this.node.offsetWidth,r=0,n=-1,i=e.length;if(0==this._menuItemSizes.length)for(let a=0;at&&-1===n&&(n=a)}else for(let e=0;et){n=e;break}this._overflowIndex=n}_evtKeyDown(e){let t=e.keyCode;if(9===t)return void(this.activeIndex=-1);if(e.preventDefault(),e.stopPropagation(),13===t||32===t||38===t||40===t){if(this.activeIndex=this._tabFocusIndex,this.activeIndex!==this._tabFocusIndex)return;return void this.openActiveMenu()}if(27===t)return this._closeChildMenu(),void this._focusItemAt(this.activeIndex);if(37===t||39===t){let e=37===t?-1:1,r=this._tabFocusIndex+e,n=this._menus.length;for(let t=0;ti.hitTest(t,e.clientX,e.clientY)));if(-1!==t){if(0===e.button)if(this._childMenu)this._closeChildMenu(),this.activeIndex=t;else{e.preventDefault();let r=this._positionForMenu(t);Ee.saveWindowData(),this.activeIndex=t,this._openChildMenu(r)}}else this._closeChildMenu()}_evtMouseMove(e){let t=_.ArrayExt.findFirstIndex(this.contentNode.children,(t=>i.hitTest(t,e.clientX,e.clientY)));if(t===this._activeIndex||-1===t&&this._childMenu)return;let r=t>=0&&this._childMenu?this._positionForMenu(t):null;Ee.saveWindowData(),this.activeIndex=t,r&&this._openChildMenu(r)}_positionForMenu(e){let t=this.contentNode.children[e],{left:r,bottom:n}=t.getBoundingClientRect();return{top:n,left:r}}_evtFocusOut(e){!this._childMenu&&!this.node.contains(e.relatedTarget)&&(this.activeIndex=-1)}_focusItemAt(e){let t=this.contentNode.childNodes[e];t&&t.focus()}_openChildMenu(e={}){let t=this.activeMenu;if(!t)return void this._closeChildMenu();let r=this._childMenu;if(r===t)return;this._childMenu=t,r?r.close():document.addEventListener("mousedown",this,!0),this._tabFocusIndex=this.activeIndex,M.sendMessage(this,ne.Msg.UpdateRequest);let{left:n,top:i}=e;(typeof n>"u"||typeof i>"u")&&({left:n,top:i}=this._positionForMenu(this._activeIndex)),r||this.addClass("lm-mod-active"),t.items.length>0&&t.open(n,i,this._forceItemsPosition)}_closeChildMenu(){if(!this._childMenu)return;this.removeClass("lm-mod-active"),document.removeEventListener("mousedown",this,!0);let e=this._childMenu;this._childMenu=null,e.close(),this.activeIndex=-1}_onMenuAboutToClose(e){e===this._childMenu&&(this.removeClass("lm-mod-active"),document.removeEventListener("mousedown",this,!0),this._childMenu=null,this.activeIndex=-1)}_onMenuMenuRequested(e,t){if(e!==this._childMenu)return;let r=this._activeIndex,n=this._menus.length;switch(t){case"next":this.activeIndex=r===n-1?0:r+1;break;case"previous":this.activeIndex=0===r?n-1:r-1}this.openActiveMenu()}_onTitleChanged(){this.update()}};!function(e){class t{renderItem(e){let t=this.createItemClass(e),r=this.createItemDataset(e),n=this.createItemARIA(e);return J.li({className:t,dataset:r,...e.disabled?{}:{tabindex:e.tabbable?"0":"-1"},onfocus:e.onfocus,...n},this.renderIcon(e),this.renderLabel(e))}renderIcon(e){let t=this.createIconClass(e);return J.div({className:t},e.title.icon,e.title.iconLabel)}renderLabel(e){let t=this.formatLabel(e);return J.div({className:"lm-MenuBar-itemLabel"},t)}createItemClass(e){let t="lm-MenuBar-item";return e.title.className&&(t+=` ${e.title.className}`),e.active&&!e.disabled&&(t+=" lm-mod-active"),t}createItemDataset(e){return e.title.dataset}createItemARIA(e){return{role:"menuitem","aria-haspopup":"true","aria-disabled":e.disabled?"true":"false"}}createIconClass(e){let t="lm-MenuBar-itemIcon",r=e.title.iconClass;return r?`${t} ${r}`:t}formatLabel(e){let{label:t,mnemonic:r}=e.title;if(r<0||r>=t.length)return t;let n=t.slice(0,r),i=t.slice(r+1),a=t[r];return[n,J.span({className:"lm-MenuBar-itemMnemonic"},a),i]}}e.Renderer=t,e.defaultRenderer=new t}(Ne||(Ne={})),function(e){e.createNode=function(){let e=document.createElement("div"),t=document.createElement("ul");return t.className="lm-MenuBar-content",e.appendChild(t),t.setAttribute("role","menubar"),e},e.findMnemonic=function(e,t,r){let n=-1,i=-1,a=!1,o=t.toUpperCase();for(let t=0,s=e.length;t=0&&u1&&this.widgets.forEach((e=>{e.hiddenMode=this._hiddenMode})))}dispose(){for(let e of this._items)e.dispose();this._box=null,this._items.length=0,super.dispose()}attachWidget(e,t){this._hiddenMode===ne.HiddenMode.Scale&&this._items.length>0?(1===this._items.length&&(this.widgets[0].hiddenMode=ne.HiddenMode.Scale),t.hiddenMode=ne.HiddenMode.Scale):t.hiddenMode=ne.HiddenMode.Display,_.ArrayExt.insert(this._items,e,new oe(t)),this.parent.isAttached&&M.sendMessage(t,ne.Msg.BeforeAttach),this.parent.node.appendChild(t.node),this.parent.isAttached&&M.sendMessage(t,ne.Msg.AfterAttach),this.parent.fit()}moveWidget(e,t,r){_.ArrayExt.move(this._items,e,t),this.parent.update()}detachWidget(e,t){let r=_.ArrayExt.removeAt(this._items,e);this.parent.isAttached&&M.sendMessage(t,ne.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.isAttached&&M.sendMessage(t,ne.Msg.AfterDetach),r.widget.node.style.zIndex="",this._hiddenMode===ne.HiddenMode.Scale&&(t.hiddenMode=ne.HiddenMode.Display,1===this._items.length&&(this._items[0].widget.hiddenMode=ne.HiddenMode.Display)),r.dispose(),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_fit(){let e=0,t=0;for(let r=0,n=this._items.length;r{this.createGraph(this._model)}))}renderModel(e){if(this.hasGraphElement())return Promise.resolve();this._model=e;let t=e.data["image/png"];return null!=t?(this.updateImage(t),Promise.resolve()):this.createGraph(e)}hasGraphElement(){return null!==this.node.querySelector(".plot-container")}updateImage(e){this.hideGraph(),this._img_el.src="data:image/png;base64,"+e,this.showImage()}hideGraph(){let e=this.node.querySelector(".plot-container");null!=e&&(e.style.display="none")}showGraph(){let e=this.node.querySelector(".plot-container");null!=e&&(e.style.display="block")}hideImage(){let e=this.node.querySelector(".plot-img");null!=e&&(e.style.display="none")}showImage(){let e=this.node.querySelector(".plot-img");null!=e&&(e.style.display="block")}createGraph(t){let{data:r,layout:n,frames:i,config:a}=t.data[this._mimeType];return n.height||(n.height=360),(async()=>(null===e.Plotly&&(e.Plotly=await Promise.resolve().then((()=>y(b()))),e._resolveLoadingPlotly()),e.loadingPlotly))().then((()=>e.Plotly.react(this.node,r,n,a))).then((r=>{this.showGraph(),this.hideImage(),this.update(),i&&e.Plotly.addFrames(this.node,i),this.node.offsetWidth>0&&this.node.offsetHeight>0&&e.Plotly.toImage(r,{format:"png",width:this.node.offsetWidth,height:this.node.offsetHeight}).then((e=>{let r=e.split(",")[1];t.data["image/png"]!==r&&t.setData({data:{...t.data,"image/png":r}})})),this.node.on("plotly_webglcontextlost",(()=>{let e=t.data["image/png"];if(null!=e)return this.updateImage(e),Promise.resolve()}))}))}onAfterShow(e){this.update()}onResize(e){this.update()}onUpdateRequest(t){e.Plotly&&this.isVisible&&this.hasGraphElement()&&e.Plotly.redraw(this.node).then((()=>{e.Plotly.Plots.resize(this.node)}))}static{this.Plotly=null}static{this.loadingPlotly=new Promise((t=>{e._resolveLoadingPlotly=t}))}},We={safe:!0,mimeTypes:[He],createRenderer:e=>new Ge(e)},Ye=[{id:"@jupyterlab/plotly-extension:factory",rendererFactory:We,rank:2,dataType:"json",fileTypes:[{name:"plotly",mimeTypes:[He],extensions:[".plotly",".plotly.json"],iconClass:"jp-MaterialIcon jp-PlotlyIcon"}],documentWidgetFactoryOptions:{name:"Plotly",primaryFileType:"plotly",fileTypes:["plotly","json"],defaultFor:["plotly"]}}]},e=>{var t,r,n=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function o(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var s,l=[],c=!1,u=-1;function h(){c&&s&&(c=!1,s.length?l=s.concat(l):u=-1,l.length&&d())}function d(){if(!c){var e=o(h);c=!0;for(var t=l.length;t;){for(s=l,l=[];++u1)for(var r=1;r{"use strict";r.r(t),r.d(t,{MIME_TYPE:()=>He,RenderedPlotly:()=>Ge,default:()=>Ze,rendererFactory:()=>We});var n,i,a,o,s,l,c=r(3),u=Object.create,h=Object.defineProperty,f=Object.getOwnPropertyDescriptor,p=Object.getOwnPropertyNames,d=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty,g=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),y=(e,t,r)=>(r=null!=e?u(d(e)):{},((e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of p(t))!m.call(e,r)&&undefined!==r&&h(e,r,{get:()=>t[r],enumerable:!(n=f(t,r))||n.enumerable});return e})(!t&&e&&e.__esModule?r:h(r,"default",{value:e,enumerable:!0}),e)),v=g(((e,t)=>{var n,i;n=e,i=function(e){function t(e,t){let r=0;for(let n of e)if(!1===t(n,r++))return!1;return!0}var r;e.ArrayExt=void 0,function(e){function t(e,t,r=0,n=-1){let i,a=e.length;if(0===a)return-1;r=r<0?Math.max(0,r+a):Math.min(r,a-1),i=(n=n<0?Math.max(0,n+a):Math.min(n,a-1))=r)return;let n=e[t];for(let n=t+1;n0;){let n=s>>1,i=o+n;r(e[i],t)<0?(o=i+1,s-=n+1):s=n}return o},e.upperBound=function(e,t,r,n=0,i=-1){let a=e.length;if(0===a)return 0;let o=n=n<0?Math.max(0,n+a):Math.min(n,a-1),s=(i=i<0?Math.max(0,i+a):Math.min(i,a-1))-n+1;for(;s>0;){let n=s>>1,i=o+n;r(e[i],t)>0?s=n:(o=i+1,s-=n+1)}return o},e.shallowEqual=function(e,t,r){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0,i=e.length;n=o&&(r=i<0?o-1:o),void 0===n?n=i<0?-1:o:n<0?n=Math.max(n+o,i<0?-1:0):n>=o&&(n=i<0?o-1:o),a=i<0&&n>=r||i>0&&r>=n?0:i<0?Math.floor((n-r+1)/i+1):Math.floor((n-r-1)/i+1);let s=[];for(let t=0;t=(n=n<0?Math.max(0,n+i):Math.min(n,i-1)))return;let o=n-r+1;if(t>0?t%=o:t<0&&(t=(t%o+o)%o),0===t)return;let s=r+t;a(e,r,s-1),a(e,s,n),a(e,r,n)},e.fill=function(e,t,r=0,n=-1){let i,a=e.length;if(0!==a){r=r<0?Math.max(0,r+a):Math.min(r,a-1),i=(n=n<0?Math.max(0,n+a):Math.min(n,a-1))t;--r)e[r]=e[r-1];e[t]=r},e.removeAt=o,e.removeFirstOf=function(e,r,n=0,i=-1){let a=t(e,r,n,i);return-1!==a&&o(e,a),a},e.removeLastOf=function(e,t,n=-1,i=0){let a=r(e,t,n,i);return-1!==a&&o(e,a),a},e.removeAllOf=function(e,t,r=0,n=-1){let i=e.length;if(0===i)return 0;r=r<0?Math.max(0,r+i):Math.min(r,i-1),n=n<0?Math.max(0,n+i):Math.min(n,i-1);let a=0;for(let o=0;o=r&&o<=n&&e[o]===t||n=r)&&e[o]===t?a++:a>0&&(e[o-a]=e[o]);return a>0&&(e.length=i-a),a},e.removeFirstWhere=function(e,t,r=0,i=-1){let a,s=n(e,t,r,i);return-1!==s&&(a=o(e,s)),{index:s,value:a}},e.removeLastWhere=function(e,t,r=-1,n=0){let a,s=i(e,t,r,n);return-1!==s&&(a=o(e,s)),{index:s,value:a}},e.removeAllWhere=function(e,t,r=0,n=-1){let i=e.length;if(0===i)return 0;r=r<0?Math.max(0,r+i):Math.min(r,i-1),n=n<0?Math.max(0,n+i):Math.min(n,i-1);let a=0;for(let o=0;o=r&&o<=n&&t(e[o],o)||n=r)&&t(e[o],o)?a++:a>0&&(e[o-a]=e[o]);return a>0&&(e.length=i-a),a}}(e.ArrayExt||(e.ArrayExt={})),(r||(r={})).rangeLength=function(e,t,r){return 0===r?1/0:e>t&&r>0||et?1:0}}(e.StringExt||(e.StringExt={})),e.chain=function*(...e){for(let t of e)yield*t},e.each=function(e,t){let r=0;for(let n of e)if(!1===t(n,r++))return},e.empty=function*(){},e.enumerate=function*(e,t=0){for(let r of e)yield[t++,r]},e.every=t,e.filter=function*(e,t){let r=0;for(let n of e)t(n,r++)&&(yield n)},e.find=function(e,t){let r=0;for(let n of e)if(t(n,r++))return n},e.findIndex=function(e,t){let r=0;for(let n of e)if(t(n,r++))return r-1;return-1},e.map=function*(e,t){let r=0;for(let n of e)yield t(n,r++)},e.max=function(e,t){let r;for(let n of e)void 0!==r?t(n,r)>0&&(r=n):r=n;return r},e.min=function(e,t){let r;for(let n of e)void 0!==r?t(n,r)<0&&(r=n):r=n;return r},e.minmax=function(e,t){let r,n,i=!0;for(let a of e)i?(r=a,n=a,i=!1):t(a,r)<0?r=a:t(a,n)>0&&(n=a);return i?void 0:[r,n]},e.once=function*(e){yield e},e.range=function*(e,t,n){void 0===t?(t=e,e=0,n=1):void 0===n&&(n=1);let i=r.rangeLength(e,t,n);for(let t=0;t-1;t--)yield e[t]},e.some=function(e,t){let r=0;for(let n of e)if(t(n,r++))return!0;return!1},e.stride=function*(e,t){let r=0;for(let n of e)r++%t==0&&(yield n)},e.take=function*(e,t){if(t<1)return;let r,n=e[Symbol.iterator]();for(;0e[Symbol.iterator]())),n=r.map((e=>e.next()));for(;t(n,(e=>!e.done));n=r.map((e=>e.next())))yield n.map((e=>e.value))}},"object"==typeof e&&typeof t<"u"?i(e):"function"==typeof define&&r.amdO?define(["exports"],i):i((n=typeof globalThis<"u"?globalThis:n||self).lumino_algorithm={})})),x=g(((e,t)=>{var n,i;n=e,i=function(e,t){var r;function n(e){let t=0;for(let r=0,n=e.length;r>>0),e[r]=255&t,t>>>=8}e.JSONExt=void 0,function(e){function t(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e}function r(e){return Array.isArray(e)}e.emptyObject=Object.freeze({}),e.emptyArray=Object.freeze([]),e.isPrimitive=t,e.isArray=r,e.isObject=function(e){return!t(e)&&!r(e)},e.deepEqual=function e(n,i){if(n===i)return!0;if(t(n)||t(i))return!1;let a=r(n),o=r(i);return a===o&&(a&&o?function(t,r){if(t===r)return!0;if(t.length!==r.length)return!1;for(let n=0,i=t.length;n{if(n===e.provides)return!0;let o=r.get(n);if(!o)return!1;let s=t.get(o),l=[...s.requires,...s.optional];return 0!==l.length&&(a.push(o),!!l.some(i)||(a.pop(),!1))};if(!e.provides||0===n.length)return;let a=[e.id];if(n.some(i))throw new ReferenceError(`Cycle detected: ${a.join(" -> ")}.`)},e.findDependents=function(e,r,n){let i=new Array,a=e=>{let t=r.get(e),a=[...t.requires,...t.optional];i.push(...a.reduce(((t,r)=>{let i=n.get(r);return i&&t.push([e,i]),t}),[]))};for(let e of r.keys())a(e);let o=i.filter((t=>t[1]===e)),s=0;for(;o.length>s;){let e=o.length,t=new Set(o.map((e=>e[0])));for(let e of t)i.filter((t=>t[1]===e)).forEach((e=>{o.includes(e)||o.push(e)}));s=e}let l=t.topologicSort(o),c=l.findIndex((t=>t===e));return-1===c?[e]:l.slice(0,c+1)},e.collectStartupPlugins=function(e,t){let r=new Set;for(let t of e.keys())!0===e.get(t).autoStart&&r.add(t);if(t.startPlugins)for(let e of t.startPlugins)r.add(e);if(t.ignorePlugins)for(let e of t.ignorePlugins)r.delete(e);return Array.from(r)}}(r||(r={})),e.Random=void 0,(e.Random||(e.Random={})).getRandomValues=(()=>{let e=typeof window<"u"&&(window.crypto||window.msCrypto)||null;return e&&"function"==typeof e.getRandomValues?function(t){return e.getRandomValues(t)}:n})(),e.UUID=void 0,(e.UUID||(e.UUID={})).uuid4=function(e){let t=new Uint8Array(16),r=new Array(256);for(let e=0;e<16;++e)r[e]="0"+e.toString(16);for(let e=16;e<256;++e)r[e]=e.toString(16);return function(){return e(t),t[6]=64|15&t[6],t[8]=128|63&t[8],r[t[0]]+r[t[1]]+r[t[2]]+r[t[3]]+"-"+r[t[4]]+r[t[5]]+"-"+r[t[6]]+r[t[7]]+"-"+r[t[8]]+r[t[9]]+"-"+r[t[10]]+r[t[11]]+r[t[12]]+r[t[13]]+r[t[14]]+r[t[15]]}}(e.Random.getRandomValues),e.MimeData=class{constructor(){this._types=[],this._values=[]}types(){return this._types.slice()}hasData(e){return-1!==this._types.indexOf(e)}getData(e){let t=this._types.indexOf(e);return-1!==t?this._values[t]:void 0}setData(e,t){this.clearData(e),this._types.push(e),this._values.push(t)}clearData(e){let t=this._types.indexOf(e);-1!==t&&(this._types.splice(t,1),this._values.splice(t,1))}clear(){this._types.length=0,this._values.length=0}},e.PluginRegistry=class{constructor(e={}){this._application=null,this._validatePlugin=()=>!0,this._plugins=new Map,this._services=new Map,e.validatePlugin&&(console.info("Plugins may be rejected by the custom validation plugin method."),this._validatePlugin=e.validatePlugin)}get application(){return this._application}set application(e){if(null!==this._application)throw Error("PluginRegistry.application is already set. It cannot be overridden.");this._application=e}get deferredPlugins(){return Array.from(this._plugins).filter((([e,t])=>"defer"===t.autoStart)).map((([e,t])=>e))}getPluginDescription(e){var t,r;return null!==(r=null===(t=this._plugins.get(e))||void 0===t?void 0:t.description)&&void 0!==r?r:""}hasPlugin(e){return this._plugins.has(e)}isPluginActivated(e){var t,r;return null!==(r=null===(t=this._plugins.get(e))||void 0===t?void 0:t.activated)&&void 0!==r&&r}listPlugins(){return Array.from(this._plugins.keys())}registerPlugin(e){if(this._plugins.has(e.id))throw new TypeError(`Plugin '${e.id}' is already registered.`);if(!this._validatePlugin(e))throw new Error(`Plugin '${e.id}' is not valid.`);let t=r.createPluginData(e);r.ensureNoCycle(t,this._plugins,this._services),t.provides&&this._services.set(t.provides,t.id),this._plugins.set(t.id,t)}registerPlugins(e){for(let t of e)this.registerPlugin(t)}deregisterPlugin(e,t){let r=this._plugins.get(e);if(r){if(r.activated&&!t)throw new Error(`Plugin '${e}' is still active.`);this._plugins.delete(e)}}async activatePlugin(e){let t=this._plugins.get(e);if(!t)throw new ReferenceError(`Plugin '${e}' is not registered.`);if(t.activated)return;if(t.promise)return t.promise;let r=t.requires.map((e=>this.resolveRequiredService(e))),n=t.optional.map((e=>this.resolveOptionalService(e)));return t.promise=Promise.all([...r,...n]).then((e=>t.activate.apply(void 0,[this.application,...e]))).then((e=>{t.service=e,t.activated=!0,t.promise=null})).catch((e=>{throw t.promise=null,e})),t.promise}async activatePlugins(e,t={}){switch(e){case"defer":{let e=this.deferredPlugins.filter((e=>this._plugins.get(e).autoStart)).map((e=>this.activatePlugin(e)));await Promise.all(e);break}case"startUp":{let e=r.collectStartupPlugins(this._plugins,t).map((async e=>{try{return await this.activatePlugin(e)}catch(t){console.error(`Plugin '${e}' failed to activate.`,t)}}));await Promise.all(e);break}}}async deactivatePlugin(e){let t=this._plugins.get(e);if(!t)throw new ReferenceError(`Plugin '${e}' is not registered.`);if(!t.activated)return[];if(!t.deactivate)throw new TypeError(`Plugin '${e}'#deactivate() method missing`);let n=r.findDependents(e,this._plugins,this._services),i=n.map((e=>this._plugins.get(e)));for(let t of i)if(!t.deactivate)throw new TypeError(`Plugin ${t.id}#deactivate() method missing (depends on ${e})`);for(let e of i){let t=[...e.requires,...e.optional].map((e=>{let t=this._services.get(e);return t?this._plugins.get(t).service:null}));await e.deactivate(this.application,...t),e.service=null,e.activated=!1}return n.pop(),n}async resolveRequiredService(e){let t=this._services.get(e);if(!t)throw new TypeError(`No provider for: ${e.name}.`);let r=this._plugins.get(t);return r.activated||await this.activatePlugin(t),r.service}async resolveOptionalService(e){let t=this._services.get(e);if(!t)return null;let r=this._plugins.get(t);if(!r.activated)try{await this.activatePlugin(t)}catch(e){return console.error(e),null}return r.service}},e.PromiseDelegate=class{constructor(){this.promise=new Promise(((e,t)=>{this._resolve=e,this._reject=t}))}resolve(e){(0,this._resolve)(e)}reject(e){(0,this._reject)(e)}},e.Token=class{constructor(e,t){this.name=e,this.description=t??"",this._tokenStructuralPropertyT=null}}},"object"==typeof e&&typeof t<"u"?i(e,v()):"function"==typeof define&&r.amdO?define(["exports","@lumino/algorithm"],i):i((n=typeof globalThis<"u"?globalThis:n||self).lumino_coreutils={},n.lumino_algorithm)})),_=g(((e,t)=>{var r,n;r=typeof self<"u"?self:e,n=()=>{var e=(()=>{var e=Object.create,t=Object.defineProperty,r=Object.defineProperties,n=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyDescriptors,a=Object.getOwnPropertyNames,o=Object.getOwnPropertySymbols,s=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable,h=(e,r,n)=>r in e?t(e,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[r]=n,f=(e,t)=>{for(var r in t||(t={}))l.call(t,r)&&h(e,r,t[r]);if(o)for(var r of o(t))u.call(t,r)&&h(e,r,t[r]);return e},p=(e,t)=>r(e,i(t)),d=(e,t)=>function(){return e&&(t=(0,e[a(e)[0]])(e=0)),t},m=(e,t)=>function(){return t||(0,e[a(e)[0]])((t={exports:{}}).exports,t),t.exports},g=(e,r)=>{for(var n in r)t(e,n,{get:r[n],enumerable:!0})},y=(e,r,i,o)=>{if(r&&"object"==typeof r||"function"==typeof r)for(let s of a(r))!l.call(e,s)&&s!==i&&t(e,s,{get:()=>r[s],enumerable:!(o=n(r,s))||o.enumerable});return e},v=e=>y(t({},"__esModule",{value:!0}),e),x=m({"src/version.js"(e){e.version="3.6.0"}}),_=m({"node_modules/native-promise-only/lib/npo.src.js"(e,t){var r,n;r="Promise",(n=typeof window<"u"?window:e)[r]=n[r]||function(){var e,t,r,n=Object.prototype.toString,i=typeof setImmediate<"u"?function(e){return setImmediate(e)}:setTimeout;try{Object.defineProperty({},"x",{}),e=function(e,t,r,n){return Object.defineProperty(e,t,{value:r,writable:!0,configurable:!1!==n})}}catch{e=function(e,t,r){return e[t]=r,e}}function a(e,n){r.add(e,n),t||(t=i(r.drain))}function o(e){var t,r=typeof e;return null!=e&&("object"==r||"function"==r)&&(t=e.then),"function"==typeof t&&t}function s(){for(var e=0;e0&&a(s,r))}catch(e){u.call(new f(r),e)}}}function u(e){var t=this;t.triggered||(t.triggered=!0,t.def&&(t=t.def),t.msg=e,t.state=2,t.chain.length>0&&a(s,t))}function h(e,t,r,n){for(var i=0;it?1:e>=t?0:NaN}function p(e){return null===e?NaN:+e}function d(e){return!isNaN(e)}function m(e){return{left:function(t,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=t.length);n>>1;e(t[a],r)<0?n=a+1:i=a}return n},right:function(t,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=t.length);n>>1;e(t[a],r)>0?i=a:n=a+1}return n}}}e.ascending=f,e.descending=function(e,t){return te?1:t>=e?0:NaN},e.min=function(e,t){var r,n,i=-1,a=e.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++in&&(r=n)}else{for(;++i=n){r=n;break}for(;++in&&(r=n)}return r},e.max=function(e,t){var r,n,i=-1,a=e.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++ir&&(r=n)}else{for(;++i=n){r=n;break}for(;++ir&&(r=n)}return r},e.extent=function(e,t){var r,n,i,a=-1,o=e.length;if(1===arguments.length){for(;++a=n){r=i=n;break}for(;++an&&(r=n),i=n){r=i=n;break}for(;++an&&(r=n),i1)return o/(l-1)},e.deviation=function(){var t=e.variance.apply(this,arguments);return t&&Math.sqrt(t)};var g=m(f);function y(e){return e.length}e.bisectLeft=g.left,e.bisect=e.bisectRight=g.right,e.bisector=function(e){return m(1===e.length?function(t,r){return f(e(t),r)}:e)},e.shuffle=function(e,t,r){(a=arguments.length)<3&&(r=e.length,a<2&&(t=0));for(var n,i,a=r-t;a;)i=Math.random()*a--|0,n=e[a+t],e[a+t]=e[i+t],e[i+t]=n;return e},e.permute=function(e,t){for(var r=t.length,n=new Array(r);r--;)n[r]=e[t[r]];return n},e.pairs=function(e){for(var t=0,r=e.length-1,n=e[0],i=new Array(r<0?0:r);t=0;)for(t=(n=e[i]).length;--t>=0;)r[--o]=n[t];return r};var v=Math.abs;function x(e,t){for(var r in t)Object.defineProperty(e.prototype,r,{value:t[r],enumerable:!1})}function _(){this._=Object.create(null)}function b(e){return"__proto__"==(e+="")||"\0"===e[0]?"\0"+e:e}function w(e){return"\0"===(e+="")[0]?e.slice(1):e}function T(e){return b(e)in this._}function k(e){return(e=b(e))in this._&&delete this._[e]}function A(){var e=[];for(var t in this._)e.push(w(t));return e}function M(){var e=0;for(var t in this._)++e;return e}function S(){for(var e in this._)return!1;return!0}function E(){this._=Object.create(null)}function C(e){return e}function I(e,t,r){return function(){var n=r.apply(t,arguments);return n===t?e:n}}function L(e,t){if(t in e)return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var r=0,n=P.length;rt;)i.push(n/a);else for(;(n=e+r*++o)=i.length)return r?r.call(n,a):t?a.sort(t):a;for(var l,c,u,h,f=-1,p=a.length,d=i[s++],m=new _;++f=i.length)return e;var r=[],n=a[t++];return e.forEach((function(e,n){r.push({key:e,values:s(n,t)})})),n?r.sort((function(e,t){return n(e.key,t.key)})):r}return n.map=function(e,t){return o(t,e,0)},n.entries=function(t){return s(o(e.map,t,0),0)},n.key=function(e){return i.push(e),n},n.sortKeys=function(e){return a[i.length-1]=e,n},n.sortValues=function(e){return t=e,n},n.rollup=function(e){return r=e,n},n},e.set=function(e){var t=new E;if(e)for(var r=0,n=e.length;r=0&&(n=e.slice(r+1),e=e.slice(0,r)),e)return arguments.length<2?this[e].on(n):this[e].on(n,t);if(2===arguments.length){if(null==t)for(e in this)this.hasOwnProperty(e)&&this[e].on(n,null);return this}},e.event=null,e.requote=function(e){return e.replace(j,"\\$&")};var j=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,N={}.__proto__?function(e,t){e.__proto__=t}:function(e,t){for(var r in t)e[r]=t[r]};function U(e){return N(e,G),e}var V=function(e,t){return t.querySelector(e)},q=function(e,t){return t.querySelectorAll(e)},H=function(e,t){var r=e.matches||e[L(e,"matchesSelector")];return(H=function(e,t){return r.call(e,t)})(e,t)};"function"==typeof Sizzle&&(V=function(e,t){return Sizzle(e,t)[0]||null},q=Sizzle,H=Sizzle.matchesSelector),e.selection=function(){return e.select(i.documentElement)};var G=e.selection.prototype=[];function W(e){return"function"==typeof e?e:function(){return V(e,this)}}function Z(e){return"function"==typeof e?e:function(){return q(e,this)}}G.select=function(e){var t,r,n,i,a=[];e=W(e);for(var o=-1,s=this.length;++o=0&&"xmlns"!==(r=e.slice(0,t))&&(e=e.slice(t+1)),X.hasOwnProperty(r)?{space:X[r],local:e}:e}},G.attr=function(t,r){if(arguments.length<2){if("string"==typeof t){var n=this.node();return(t=e.ns.qualify(t)).local?n.getAttributeNS(t.space,t.local):n.getAttribute(t)}for(r in t)this.each($(r,t[r]));return this}return this.each($(t,r))},G.classed=function(e,t){if(arguments.length<2){if("string"==typeof e){var r=this.node(),n=(e=Q(e)).length,i=-1;if(t=r.classList){for(;++i=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},G.sort=function(e){e=le.apply(this,arguments);for(var t=-1,r=this.length;++t0&&(t=t.slice(0,o));var l=pe.get(t);function c(){var e=this[a];e&&(this.removeEventListener(t,e,e.$),delete this[a])}return l&&(t=l,s=me),o?r?function(){var e=s(r,n(arguments));c.call(this),this.addEventListener(t,this[a]=e,e.$=i),e._=r}:c:r?z:function(){var r,n=new RegExp("^__on([^.]+)"+e.requote(t)+"$");for(var i in this)if(r=i.match(n)){var a=this[i];this.removeEventListener(r[1],a,a.$),delete this[i]}}}e.selection.enter=ue,e.selection.enter.prototype=he,he.append=G.append,he.empty=G.empty,he.node=G.node,he.call=G.call,he.size=G.size,he.select=function(e){for(var t,r,n,i,a,o=[],s=-1,l=this.length;++s=t&&(t=i+1);!(o=s[t])&&++t1?Me:e<-1?-Me:Math.asin(e)}function Le(e){return((e=Math.exp(e))+1/e)/2}var Pe=Math.SQRT2;e.interpolateZoom=function(e,t){var r,n,i=e[0],a=e[1],o=e[2],s=t[0],l=t[1],c=t[2],u=s-i,h=l-a,f=u*u+h*h;if(f<1e-12)n=Math.log(c/o)/Pe,r=function(e){return[i+e*u,a+e*h,o*Math.exp(Pe*e*n)]};else{var p=Math.sqrt(f),d=(c*c-o*o+4*f)/(2*o*2*p),m=(c*c-o*o-4*f)/(2*c*2*p),g=Math.log(Math.sqrt(d*d+1)-d),y=Math.log(Math.sqrt(m*m+1)-m);n=(y-g)/Pe,r=function(e){var t=e*n,r=Le(g),s=o/(2*p)*(r*function(e){return((e=Math.exp(2*e))-1)/(e+1)}(Pe*t+g)-function(e){return((e=Math.exp(e))-1/e)/2}(g));return[i+s*u,a+s*h,o*r/Le(Pe*t+g)]}}return r.duration=1e3*n,r},e.behavior.zoom=function(){var t,r,n,a,s,l,c,u,h,f={x:0,y:0,k:1},p=[960,500],d=Oe,m=250,g=0,y="mousedown.zoom",v="mousemove.zoom",x="mouseup.zoom",_="touchstart.zoom",b=B(w,"zoomstart","zoom","zoomend");function w(e){e.on(y,L).on(De+".zoom",z).on("dblclick.zoom",D).on(_,P)}function T(e){return[(e[0]-f.x)/f.k,(e[1]-f.y)/f.k]}function k(e){f.k=Math.max(d[0],Math.min(d[1],e))}function A(e,t){t=function(e){return[e[0]*f.k+f.x,e[1]*f.k+f.y]}(t),f.x+=e[0]-t[0],f.y+=e[1]-t[1]}function M(t,n,i,a){t.__chart__={x:f.x,y:f.y,k:f.k},k(Math.pow(2,a)),A(r=n,i),t=e.select(t),m>0&&(t=t.transition().duration(m)),t.call(w.event)}function S(){c&&c.domain(l.range().map((function(e){return(e-f.x)/f.k})).map(l.invert)),h&&h.domain(u.range().map((function(e){return(e-f.y)/f.k})).map(u.invert))}function E(e){g++||e({type:"zoomstart"})}function C(e){S(),e({type:"zoom",scale:f.k,translate:[f.x,f.y]})}function I(e){--g||(e({type:"zoomend"}),r=null)}function L(){var t=this,r=b.of(t,arguments),n=0,i=e.select(o(t)).on(v,(function(){n=1,A(e.mouse(t),a),C(r)})).on(x,(function(){i.on(v,null).on(x,null),s(n),I(r)})),a=T(e.mouse(t)),s=ve(t);Wi.call(t),E(r)}function P(){var t,r=this,n=b.of(r,arguments),i={},a=0,o=".zoom-"+e.event.changedTouches[0].identifier,l="touchmove"+o,c="touchend"+o,u=[],h=e.select(r),p=ve(r);function d(){var n=e.touches(r);return t=f.k,n.forEach((function(e){e.identifier in i&&(i[e.identifier]=T(e))})),n}function m(){var t=e.event.target;e.select(t).on(l,g).on(c,v),u.push(t);for(var n=e.event.changedTouches,o=0,h=n.length;o1){y=p[0];var x=p[1],_=y[0]-x[0],b=y[1]-x[1];a=_*_+b*b}}function g(){var o,l,c,u,h=e.touches(r);Wi.call(r);for(var f=0,p=h.length;f360?e-=360:e<0&&(e+=360),e<60?n+(i-n)*e/60:e<180?i:e<240?n+(i-n)*(240-e)/60:n}(e))}return e=isNaN(e)?0:(e%=360)<0?e+360:e,t=isNaN(t)||t<0?0:t>1?1:t,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+t):r+t-r*t),new Qe(a(e+120),a(e),a(e-120))}function Ne(t,r,n){return this instanceof Ne?(this.h=+t,this.c=+r,void(this.l=+n)):arguments.length<2?t instanceof Ne?new Ne(t.h,t.c,t.l):function(e,t,r){return e>0?new Ne(Math.atan2(r,t)*Ee,Math.sqrt(t*t+r*r),e):new Ne(NaN,NaN,e)}(t instanceof qe?t.l:(t=ot((t=e.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new Ne(t,r,n)}Be.brighter=function(e){return e=Math.pow(.7,arguments.length?e:1),new Fe(this.h,this.s,this.l/e)},Be.darker=function(e){return e=Math.pow(.7,arguments.length?e:1),new Fe(this.h,this.s,e*this.l)},Be.rgb=function(){return je(this.h,this.s,this.l)},e.hcl=Ne;var Ue=Ne.prototype=new Re;function Ve(e,t,r){return isNaN(e)&&(e=0),isNaN(t)&&(t=0),new qe(r,Math.cos(e*=Se)*t,Math.sin(e)*t)}function qe(e,t,r){return this instanceof qe?(this.l=+e,this.a=+t,void(this.b=+r)):arguments.length<2?e instanceof qe?new qe(e.l,e.a,e.b):e instanceof Ne?Ve(e.h,e.c,e.l):ot((e=Qe(e)).r,e.g,e.b):new qe(e,t,r)}Ue.brighter=function(e){return new Ne(this.h,this.c,Math.min(100,this.l+He*(arguments.length?e:1)))},Ue.darker=function(e){return new Ne(this.h,this.c,Math.max(0,this.l-He*(arguments.length?e:1)))},Ue.rgb=function(){return Ve(this.h,this.c,this.l).rgb()},e.lab=qe;var He=18,Ge=.95047,We=1,Ze=1.08883,Ye=qe.prototype=new Re;function Xe(e,t,r){var n=(e+16)/116,i=n+t/500,a=n-r/200;return new Qe(Je(3.2404542*(i=$e(i)*Ge)-1.5371385*(n=$e(n)*We)-.4985314*(a=$e(a)*Ze)),Je(-.969266*i+1.8760108*n+.041556*a),Je(.0556434*i-.2040259*n+1.0572252*a))}function $e(e){return e>.206893034?e*e*e:(e-4/29)/7.787037}function Ke(e){return e>.008856?Math.pow(e,1/3):7.787037*e+4/29}function Je(e){return Math.round(255*(e<=.00304?12.92*e:1.055*Math.pow(e,1/2.4)-.055))}function Qe(e,t,r){return this instanceof Qe?(this.r=~~e,this.g=~~t,void(this.b=~~r)):arguments.length<2?e instanceof Qe?new Qe(e.r,e.g,e.b):it(""+e,Qe,je):new Qe(e,t,r)}function et(e){return new Qe(e>>16,e>>8&255,255&e)}function tt(e){return et(e)+""}Ye.brighter=function(e){return new qe(Math.min(100,this.l+He*(arguments.length?e:1)),this.a,this.b)},Ye.darker=function(e){return new qe(Math.max(0,this.l-He*(arguments.length?e:1)),this.a,this.b)},Ye.rgb=function(){return Xe(this.l,this.a,this.b)},e.rgb=Qe;var rt=Qe.prototype=new Re;function nt(e){return e<16?"0"+Math.max(0,e).toString(16):Math.min(255,e).toString(16)}function it(e,t,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\((.*)\)/.exec(e=e.toLowerCase()))switch(i=n[2].split(","),n[1]){case"hsl":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return t(lt(i[0]),lt(i[1]),lt(i[2]))}return(a=ct.get(e))?t(a.r,a.g,a.b):(null!=e&&"#"===e.charAt(0)&&!isNaN(a=parseInt(e.slice(1),16))&&(4===e.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===e.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),t(o,s,l))}function at(e,t,r){var n,i,a=Math.min(e/=255,t/=255,r/=255),o=Math.max(e,t,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=e==o?(t-r)/s+(t0&&l<1?0:n),new Fe(n,i,l)}function ot(e,t,r){var n=Ke((.4124564*(e=st(e))+.3575761*(t=st(t))+.1804375*(r=st(r)))/Ge),i=Ke((.2126729*e+.7151522*t+.072175*r)/We);return qe(116*i-16,500*(n-i),200*(i-Ke((.0193339*e+.119192*t+.9503041*r)/Ze)))}function st(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function lt(e){var t=parseFloat(e);return"%"===e.charAt(e.length-1)?Math.round(2.55*t):t}rt.brighter=function(e){e=Math.pow(.7,arguments.length?e:1);var t=this.r,r=this.g,n=this.b,i=30;return t||r||n?(t&&t=200&&t<300||304===t){try{e=i.call(o,c)}catch(e){return void s.error.call(o,e)}s.load.call(o,e)}else s.error.call(o,c)}return self.XDomainRequest&&!("withCredentials"in c)&&/^(http(s)?:)?\/\//.test(t)&&(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=h:c.onreadystatechange=function(){c.readyState>3&&h()},c.onprogress=function(t){var r=e.event;e.event=t;try{s.progress.call(o,c)}finally{e.event=r}},o.header=function(e,t){return e=(e+"").toLowerCase(),arguments.length<2?l[e]:(null==t?delete l[e]:l[e]=t+"",o)},o.mimeType=function(e){return arguments.length?(r=null==e?null:e+"",o):r},o.responseType=function(e){return arguments.length?(u=e,o):u},o.response=function(e){return i=e,o},["get","post"].forEach((function(e){o[e]=function(){return o.send.apply(o,[e].concat(n(arguments)))}})),o.send=function(e,n,i){if(2===arguments.length&&"function"==typeof n&&(i=n,n=null),c.open(e,t,!0),null!=r&&!("accept"in l)&&(l.accept=r+",*/*"),c.setRequestHeader)for(var a in l)c.setRequestHeader(a,l[a]);return null!=r&&c.overrideMimeType&&c.overrideMimeType(r),null!=u&&(c.responseType=u),null!=i&&o.on("error",i).on("load",(function(e){i(null,e)})),s.beforesend.call(o,c),c.send(n??null),o},o.abort=function(){return c.abort(),o},e.rebind(o,s,"on"),null==a?o:o.get(function(e){return 1===e.length?function(t,r){e(null==t?r:null)}:e}(a))}ct.forEach((function(e,t){ct.set(e,et(t))})),e.functor=ut,e.xhr=ht(C),e.dsv=function(e,t){var r=new RegExp('["'+e+"\n]"),n=e.charCodeAt(0);function i(e,r,n){arguments.length<3&&(n=r,r=null);var i=ft(e,t,null==r?a:o(r),n);return i.row=function(e){return arguments.length?i.response(null==(r=e)?a:o(e)):r},i}function a(e){return i.parse(e.responseText)}function o(e){return function(t){return i.parse(t.responseText,e)}}function s(t){return t.map(l).join(e)}function l(e){return r.test(e)?'"'+e.replace(/\"/g,'""')+'"':e}return i.parse=function(e,t){var r;return i.parseRows(e,(function(e,n){if(r)return r(e,n-1);var i=function(t){for(var r={},n=e.length,i=0;i=l)return o;if(i)return i=!1,a;var t=c;if(34===e.charCodeAt(t)){for(var r=t;r++24?(isFinite(t)&&(clearTimeout(gt),gt=setTimeout(xt,t)),mt=0):(mt=1,yt(xt))}function _t(){for(var e=Date.now(),t=pt;t;)e>=t.t&&t.c(e-t.t)&&(t.c=null),t=t.n;return e}function bt(){for(var e,t=pt,r=1/0;t;)t.c?(t.t1&&Ce(e[r[n-2]],e[r[n-1]],e[i])<=0;)--n;r[n++]=i}return r.slice(0,n)}function At(e,t){return e[0]-t[0]||e[1]-t[1]}e.timer=function(){vt.apply(this,arguments)},e.timer.flush=function(){_t(),bt()},e.round=function(e,t){return t?Math.round(e*(t=Math.pow(10,t)))/t:Math.round(e)},e.geom={},e.geom.hull=function(e){var t=wt,r=Tt;if(arguments.length)return n(e);function n(e){if(e.length<3)return[];var n,i=ut(t),a=ut(r),o=e.length,s=[],l=[];for(n=0;n=0;--n)p.push(e[s[c[n]][2]]);for(n=+h;nwe)s=s.L;else{if(!((i=a-qt(s,o))>we)){n>-we?(t=s.P,r=s):i>-we?(t=s,r=s.N):t=r=s;break}if(!s.R){t=s;break}s=s.R}var l=Bt(e);if(Pt.insert(t,l),t||r){if(t===r)return Yt(t),r=Bt(t.site),Pt.insert(l,r),l.edge=r.edge=Kt(t.site,l.site),Zt(t),void Zt(r);if(!r)return void(l.edge=Kt(t.site,l.site));Yt(t),Yt(r);var c=t.site,u=c.x,h=c.y,f=e.x-u,p=e.y-h,d=r.site,m=d.x-u,g=d.y-h,y=2*(f*g-p*m),v=f*f+p*p,x=m*m+g*g,_={x:(g*v-p*x)/y+u,y:(f*x-m*v)/y+h};Qt(r.edge,c,d,_),l.edge=Kt(c,e,null,_),r.edge=Kt(e,d,null,_),Zt(t),Zt(r)}}function Vt(e,t){var r=e.site,n=r.x,i=r.y,a=i-t;if(!a)return n;var o=e.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,c=l-t;if(!c)return s;var u=s-n,h=1/a-1/c,f=u/c;return h?(-f+Math.sqrt(f*f-2*h*(u*u/(-2*c)-l+c/2+i-a/2)))/h+n:(n+s)/2}function qt(e,t){var r=e.N;if(r)return Vt(r,t);var n=e.site;return n.y===t?n.x:1/0}function Ht(e){this.site=e,this.edges=[]}function Gt(e,t){return t.angle-e.angle}function Wt(){rr(this),this.x=this.y=this.arc=this.site=this.cy=null}function Zt(e){var t=e.P,r=e.N;if(t&&r){var n=t.site,i=e.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,c=n.y-s,u=a.x-o,h=2*(l*(g=a.y-s)-c*u);if(!(h>=-1e-12)){var f=l*l+c*c,p=u*u+g*g,d=(g*f-c*p)/h,m=(l*p-u*f)/h,g=m+s,y=Rt.pop()||new Wt;y.arc=e,y.site=i,y.x=d+o,y.y=g+Math.sqrt(d*d+m*m),y.cy=g,e.circle=y;for(var v=null,x=Dt._;x;)if(y.y=s)return;if(f>d){if(a){if(a.y>=c)return}else a={x:g,y:l};r={x:g,y:c}}else{if(a){if(a.y1)if(f>d){if(a){if(a.y>=c)return}else a={x:(l-i)/n,y:l};r={x:(c-i)/n,y:c}}else{if(a){if(a.y=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x0)){if(a/=f,f<0){if(a0){if(a>h)return;a>u&&(u=a)}if(a=r-l,f||!(a<0)){if(a/=f,f<0){if(a>h)return;a>u&&(u=a)}else if(f>0){if(a0)){if(a/=p,p<0){if(a0){if(a>h)return;a>u&&(u=a)}if(a=n-c,p||!(a<0)){if(a/=p,p<0){if(a>h)return;a>u&&(u=a)}else if(p>0){if(a0&&(i.a={x:l+u*f,y:c+u*p}),h<1&&(i.b={x:l+h*f,y:c+h*p}),i}}}}}}(e[0][0],e[0][1],e[1][0],e[1][1]),i=r.length;i--;)(!Xt(t=r[i],e)||!n(t)||v(t.a.x-t.b.x)we||v(i-r)>we)&&(s.splice(o,0,new er(Jt(a.site,u,v(n-h)we?{x:h,y:v(t-h)we?{x:v(r-d)we?{x:f,y:v(t-f)we?{x:v(r-p)=r&&c.x<=i&&c.y>=n&&c.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=e[s]})),t}function s(e){return e.map((function(e,t){return{x:Math.round(n(e,t)/we)*we,y:Math.round(i(e,t)/we)*we,i:t}}))}return o.links=function(e){return or(s(e)).edges.filter((function(e){return e.l&&e.r})).map((function(t){return{source:e[t.l.i],target:e[t.r.i]}}))},o.triangles=function(e){var t=[];return or(s(e)).cells.forEach((function(r,n){for(var i,a=r.site,o=r.edges.sort(Gt),s=-1,l=o.length,c=o[l-1].edge,u=c.l===a?c.r:c.l;++sa&&(i=t.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:mr(r,n)})),a=vr.lastIndex;return am&&(m=l.x),l.y>g&&(g=l.y),c.push(l.x),u.push(l.y);else for(h=0;hm&&(m=_),b>g&&(g=b),c.push(_),u.push(b)}var w=m-p,T=g-d;function k(e,t,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(e.leaf){var l=e.x,c=e.y;if(null!=l)if(v(l-r)+v(c-n)<.01)A(e,t,r,n,i,a,o,s);else{var u=e.point;e.x=e.y=e.point=null,A(e,u,l,c,i,a,o,s),A(e,t,r,n,i,a,o,s)}else e.x=r,e.y=n,e.point=t}else A(e,t,r,n,i,a,o,s)}function A(e,t,r,n,i,a,o,s){var l=.5*(i+o),c=.5*(a+s),u=r>=l,h=n>=c,f=h<<1|u;e.leaf=!1,u?i=l:o=l,h?a=c:s=c,k(e=e.nodes[f]||(e.nodes[f]={leaf:!0,nodes:[],point:null,x:null,y:null}),t,r,n,i,a,o,s)}w>T?g=d+w:m=p+T;var M={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(e){k(M,e,+y(e,++h),+x(e,h),p,d,m,g)},visit:function(e){fr(e,M,p,d,m,g)},find:function(e){return function(e,t,r,n,i,a,o){var s,l=1/0;return function e(c,u,h,f,p){if(!(u>a||h>o||f=b)<<1|t>=_,T=w+4;w=0&&!(n=e.interpolators[i](t,r)););return n}function _r(e,t){var r,n=[],i=[],a=e.length,o=t.length,s=Math.min(e.length,t.length);for(r=0;r=1)return 1;var t=e*e,r=t*e;return 4*(e<.5?r:3*(e-t)+r-.75)}function Cr(e){return 1-Math.cos(e*Me)}function Ir(e){return Math.pow(2,10*(e-1))}function Lr(e){return 1-Math.sqrt(1-e*e)}function Pr(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375}function zr(e,t){return t-=e,function(r){return Math.round(e+t*r)}}function Dr(e){var t=[e.a,e.b],r=[e.c,e.d],n=Rr(t),i=Or(t,r),a=Rr(function(e,t,r){return e[0]+=r*t[0],e[1]+=r*t[1],e}(r,t,-i))||0;t[0]*r[1]=0?e.slice(0,t):e,i=t>=0?e.slice(t+1):"in";return n=wr.get(n)||br,function(e){return function(t){return t<=0?0:t>=1?1:e(t)}}((i=Tr.get(i)||C)(n.apply(null,r.call(arguments,1))))},e.interpolateHcl=function(t,r){t=e.hcl(t),r=e.hcl(r);var n=t.h,i=t.c,a=t.l,o=r.h-n,s=r.c-i,l=r.l-a;return isNaN(s)&&(s=0,i=isNaN(i)?r.c:i),isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360),function(e){return Ve(n+o*e,i+s*e,a+l*e)+""}},e.interpolateHsl=function(t,r){t=e.hsl(t),r=e.hsl(r);var n=t.h,i=t.s,a=t.l,o=r.h-n,s=r.s-i,l=r.l-a;return isNaN(s)&&(s=0,i=isNaN(i)?r.s:i),isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360),function(e){return je(n+o*e,i+s*e,a+l*e)+""}},e.interpolateLab=function(t,r){t=e.lab(t),r=e.lab(r);var n=t.l,i=t.a,a=t.b,o=r.l-n,s=r.a-i,l=r.b-a;return function(e){return Xe(n+o*e,i+s*e,a+l*e)+""}},e.interpolateRound=zr,e.transform=function(t){var r=i.createElementNS(e.ns.prefix.svg,"g");return(e.transform=function(e){if(null!=e){r.setAttribute("transform",e);var t=r.transform.baseVal.consolidate()}return new Dr(t?t.matrix:Fr)})(t)},Dr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var Fr={a:1,b:0,c:0,d:1,e:0,f:0};function Br(e){return e.length?e.pop()+",":""}function jr(t,r){var n=[],i=[];return t=e.transform(t),r=e.transform(r),function(e,t,r,n){if(e[0]!==t[0]||e[1]!==t[1]){var i=r.push("translate(",null,",",null,")");n.push({i:i-4,x:mr(e[0],t[0])},{i:i-2,x:mr(e[1],t[1])})}else(t[0]||t[1])&&r.push("translate("+t+")")}(t.translate,r.translate,n,i),function(e,t,r,n){e!==t?(e-t>180?t+=360:t-e>180&&(e+=360),n.push({i:r.push(Br(r)+"rotate(",null,")")-2,x:mr(e,t)})):t&&r.push(Br(r)+"rotate("+t+")")}(t.rotate,r.rotate,n,i),function(e,t,r,n){e!==t?n.push({i:r.push(Br(r)+"skewX(",null,")")-2,x:mr(e,t)}):t&&r.push(Br(r)+"skewX("+t+")")}(t.skew,r.skew,n,i),function(e,t,r,n){if(e[0]!==t[0]||e[1]!==t[1]){var i=r.push(Br(r)+"scale(",null,",",null,")");n.push({i:i-4,x:mr(e[0],t[0])},{i:i-2,x:mr(e[1],t[1])})}else(1!==t[0]||1!==t[1])&&r.push(Br(r)+"scale("+t+")")}(t.scale,r.scale,n,i),t=r=null,function(e){for(var t,r=-1,a=i.length;++r0?n=e:(t.c=null,t.t=NaN,t=null,l.end({type:"end",alpha:n=0})):e>0&&(l.start({type:"start",alpha:n=e}),t=vt(s.tick)),s):n},s.start=function(){var e,t,r,n=y.length,l=v.length,u=c[0],d=c[1];for(e=0;e=0;)r.push(i[n])}function en(e,t){for(var r=[e],n=[];null!=(e=r.pop());)if(n.push(e),(a=e.children)&&(i=a.length))for(var i,a,o=-1;++o=0;)o.push(u=c[l]),u.parent=a,u.depth=a.depth+1;r&&(a.value=0),a.children=c}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return en(i,(function(t){var n,i;e&&(n=t.children)&&n.sort(e),r&&(i=t.parent)&&(i.value+=t.value)})),s}return n.sort=function(t){return arguments.length?(e=t,n):e},n.children=function(e){return arguments.length?(t=e,n):t},n.value=function(e){return arguments.length?(r=e,n):r},n.revalue=function(e){return r&&(Qr(e,(function(e){e.children&&(e.value=0)})),en(e,(function(e){var t;e.children||(e.value=+r.call(n,e,e.depth)||0),(t=e.parent)&&(t.value+=e.value)}))),e},n},e.layout.partition=function(){var t=e.layout.hierarchy(),r=[1,1];function n(e,t,r,i){var a=e.children;if(e.x=t,e.y=e.depth*i,e.dx=r,e.dy=i,a&&(o=a.length)){var o,s,l,c=-1;for(r=e.value?r/e.value:0;++cs&&(s=n),o.push(n)}for(r=0;ri&&(n=r,i=t);return n}function mn(e){return e.reduce(gn,0)}function gn(e,t){return e+t[1]}function yn(e,t){return vn(e,Math.ceil(Math.log(t.length)/Math.LN2+1))}function vn(e,t){for(var r=-1,n=+e[0],i=(e[1]-n)/t,a=[];++r<=t;)a[r]=i*r+n;return a}function xn(t){return[e.min(t),e.max(t)]}function _n(e,t){return e.value-t.value}function bn(e,t){var r=e._pack_next;e._pack_next=t,t._pack_prev=e,t._pack_next=r,r._pack_prev=t}function wn(e,t){e._pack_next=t,t._pack_prev=e}function Tn(e,t){var r=t.x-e.x,n=t.y-e.y,i=e.r+t.r;return.999*i*i>r*r+n*n}function kn(e){if((t=e.children)&&(l=t.length)){var t,r,n,i,a,o,s,l,c=1/0,u=-1/0,h=1/0,f=-1/0;if(t.forEach(An),(r=t[0]).x=-r.r,r.y=0,x(r),l>1&&((n=t[1]).x=n.r,n.y=0,x(n),l>2))for(En(r,n,i=t[2]),x(i),bn(r,i),r._pack_prev=i,bn(i,n),n=r._pack_next,a=3;a0)for(o=-1;++o=h[0]&&l<=h[1]&&((s=c[e.bisect(f,l,1,d)-1]).y+=m,s.push(a[o]));return c}return a.value=function(e){return arguments.length?(r=e,a):r},a.range=function(e){return arguments.length?(n=ut(e),a):n},a.bins=function(e){return arguments.length?(i="number"==typeof e?function(t){return vn(t,e)}:ut(e),a):i},a.frequency=function(e){return arguments.length?(t=!!e,a):t},a},e.layout.pack=function(){var t,r=e.layout.hierarchy().sort(_n),n=0,i=[1,1];function a(e,a){var o=r.call(this,e,a),s=o[0],l=i[0],c=i[1],u=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(s.x=s.y=0,en(s,(function(e){e.r=+u(e.value)})),en(s,kn),n){var h=n*(t?1:Math.max(2*s.r/l,2*s.r/c))/2;en(s,(function(e){e.r+=h})),en(s,kn),en(s,(function(e){e.r-=h}))}return Sn(s,l/2,c/2,t?1:1/Math.max(2*s.r/l,2*s.r/c)),o}return a.size=function(e){return arguments.length?(i=e,a):i},a.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,a):t},a.padding=function(e){return arguments.length?(n=+e,a):n},Jr(a,r)},e.layout.tree=function(){var t=e.layout.hierarchy().sort(null).value(null),r=Cn,n=[1,1],i=null;function a(e,a){var c=t.call(this,e,a),u=c[0],h=function(e){for(var t,r={A:null,children:[e]},n=[r];null!=(t=n.pop());)for(var i,a=t.children,o=0,s=a.length;op.x&&(p=e),e.depth>d.depth&&(d=e)}));var m=r(f,p)/2-f.x,g=n[0]/(p.x+r(p,f)/2+m),y=n[1]/(d.depth||1);Qr(u,(function(e){e.x=(e.x+m)*g,e.y=e.depth*y}))}return c}function o(e){var t=e.children,n=e.parent.children,i=e.i?n[e.i-1]:null;if(t.length){!function(e){for(var t,r=0,n=0,i=e.children,a=i.length;--a>=0;)(t=i[a]).z+=r,t.m+=r,r+=t.s+(n+=t.c)}(e);var a=(t[0].z+t[t.length-1].z)/2;i?(e.z=i.z+r(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+r(e._,i._));e.parent.A=function(e,t,n){if(t){for(var i,a=e,o=e,s=t,l=a.parent.children[0],c=a.m,u=o.m,h=s.m,f=l.m;s=Ln(s),a=In(a),s&&a;)l=In(l),(o=Ln(o)).a=e,(i=s.z+h-a.z-c+r(s._,a._))>0&&(Pn(zn(s,e,n),e,i),c+=i,u+=i),h+=s.m,c+=a.m,f+=l.m,u+=o.m;s&&!Ln(o)&&(o.t=s,o.m+=h-u),a&&!In(l)&&(l.t=a,l.m+=c-f,n=e)}return n}(e,i,e.parent.A||n[0])}function s(e){e._.x=e.z+e.parent.m,e.m+=e.parent.m}function l(e){e.x*=n[0],e.y=e.depth*n[1]}return a.separation=function(e){return arguments.length?(r=e,a):r},a.size=function(e){return arguments.length?(i=null==(n=e)?l:null,a):i?null:n},a.nodeSize=function(e){return arguments.length?(i=null==(n=e)?null:l,a):i?n:null},Jr(a,t)},e.layout.cluster=function(){var t=e.layout.hierarchy().sort(null).value(null),r=Cn,n=[1,1],i=!1;function a(a,o){var s,l=t.call(this,a,o),c=l[0],u=0;en(c,(function(t){var n=t.children;n&&n.length?(t.x=function(e){return e.reduce((function(e,t){return e+t.x}),0)/e.length}(n),t.y=function(t){return 1+e.max(t,(function(e){return e.y}))}(n)):(t.x=s?u+=r(t,s):0,t.y=0,s=t)}));var h=Dn(c),f=On(c),p=h.x-r(h,f)/2,d=f.x+r(f,h)/2;return en(c,i?function(e){e.x=(e.x-c.x)*n[0],e.y=(c.y-e.y)*n[1]}:function(e){e.x=(e.x-p)/(d-p)*n[0],e.y=(1-(c.y?e.y/c.y:1))*n[1]}),l}return a.separation=function(e){return arguments.length?(r=e,a):r},a.size=function(e){return arguments.length?(i=null==(n=e),a):i?null:n},a.nodeSize=function(e){return arguments.length?(i=null!=(n=e),a):i?n:null},Jr(a,t)},e.layout.treemap=function(){var t,r=e.layout.hierarchy(),n=Math.round,i=[1,1],a=null,o=Rn,s=!1,l="squarify",c=.5*(1+Math.sqrt(5));function u(e,t){for(var r,n,i=-1,a=e.length;++i0;)s.push(r=c[i-1]),s.area+=r.area,"squarify"!==l||(n=p(s,m))<=f?(c.pop(),f=n):(s.area-=s.pop().area,d(s,m,a,!1),m=Math.min(a.dx,a.dy),s.length=s.area=0,f=1/0);s.length&&(d(s,m,a,!0),s.length=s.area=0),t.forEach(h)}}function f(e){var t=e.children;if(t&&t.length){var r,n=o(e),i=t.slice(),a=[];for(u(i,n.dx*n.dy/e.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);t.forEach(f)}}function p(e,t){for(var r,n=e.area,i=0,a=1/0,o=-1,s=e.length;++oi&&(i=r));return t*=t,(n*=n)?Math.max(t*i*c/n,n/(t*a*c)):1/0}function d(e,t,r,i){var a,o=-1,s=e.length,l=r.x,c=r.y,u=t?n(e.area/t):0;if(t==r.dx){for((i||u>r.dy)&&(u=r.dy);++or.dx)&&(u=r.dx);++o1);return e+t*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=e.random.normal.apply(e,arguments);return function(){return Math.exp(t())}},bates:function(t){var r=e.random.irwinHall(t);return function(){return r()/t}},irwinHall:function(e){return function(){for(var t=0,r=0;r2?Hn:Nn,l=n?Ur:Nr;return i=o(e,t,l,r),a=o(t,e,l,xr),s}function s(e){return i(e)}return s.invert=function(e){return a(e)},s.domain=function(t){return arguments.length?(e=t.map(Number),o()):e},s.range=function(e){return arguments.length?(t=e,o()):t},s.rangeRound=function(e){return s.range(e).interpolate(zr)},s.clamp=function(e){return arguments.length?(n=e,o()):n},s.interpolate=function(e){return arguments.length?(r=e,o()):r},s.ticks=function(t){return Xn(e,t)},s.tickFormat=function(t,r){return d3_scale_linearTickFormat(e,t,r)},s.nice=function(t){return Zn(e,t),o()},s.copy=function(){return Gn(e,t,r,n)},o()}function Wn(t,r){return e.rebind(t,r,"range","rangeRound","interpolate","clamp")}function Zn(e,t){return Un(e,Vn(Yn(e,t)[2])),Un(e,Vn(Yn(e,t)[2])),e}function Yn(e,t){null==t&&(t=10);var r=Bn(e),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/t)/Math.LN10)),a=t/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function Xn(t,r){return e.range.apply(e,Yn(t,r))}function $n(e,t,r,n){function i(e){return(r?Math.log(e<0?0:e):-Math.log(e>0?0:-e))/Math.log(t)}function a(e){return r?Math.pow(t,e):-Math.pow(t,-e)}function o(t){return e(i(t))}return o.invert=function(t){return a(e.invert(t))},o.domain=function(t){return arguments.length?(r=t[0]>=0,e.domain((n=t.map(Number)).map(i)),o):n},o.base=function(r){return arguments.length?(t=+r,e.domain(n.map(i)),o):t},o.nice=function(){var t=Un(n.map(i),r?Math:Kn);return e.domain(t),n=t.map(a),o},o.ticks=function(){var e=Bn(n),o=[],s=e[0],l=e[1],c=Math.floor(i(s)),u=Math.ceil(i(l)),h=t%1?2:t;if(isFinite(u-c)){if(r){for(;c0;f--)o.push(a(c)*f);for(c=0;o[c]l;u--);o=o.slice(c,u)}return o},o.copy=function(){return $n(e.copy(),t,r,n)},Wn(o,e)}e.scale.linear=function(){return Gn([0,1],[0,1],xr,!1)},e.scale.log=function(){return $n(e.scale.linear().domain([0,1]),10,!0,[1,10])};var Kn={floor:function(e){return-Math.ceil(-e)},ceil:function(e){return-Math.floor(-e)}};function Jn(e,t,r){var n=Qn(t),i=Qn(1/t);function a(t){return e(n(t))}return a.invert=function(t){return i(e.invert(t))},a.domain=function(t){return arguments.length?(e.domain((r=t.map(Number)).map(n)),a):r},a.ticks=function(e){return Xn(r,e)},a.tickFormat=function(e,t){return d3_scale_linearTickFormat(r,e,t)},a.nice=function(e){return a.domain(Zn(r,e))},a.exponent=function(o){return arguments.length?(n=Qn(t=o),i=Qn(1/t),e.domain(r.map(n)),a):t},a.copy=function(){return Jn(e.copy(),t,r)},Wn(a,e)}function Qn(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function ei(t,r){var n,i,a;function o(e){return i[((n.get(e)||("range"===r.t?n.set(e,t.push(e)):NaN))-1)%i.length]}function s(r,n){return e.range(t.length).map((function(e){return r+n*e}))}return o.domain=function(e){if(!arguments.length)return t;t=[],n=new _;for(var i,a=-1,s=e.length;++a0?n[e-1]:t[0],eh?0:1;if(c=Ae)return l(c,p)+(s?l(s,1-p):"")+"Z";var d,m,g,y,v,x,_,b,w,T,k,A,M=0,S=0,E=[];if((y=(+o.apply(this,arguments)||0)/2)&&(g=n===ui?Math.sqrt(s*s+c*c):+n.apply(this,arguments),p||(S*=-1),c&&(S=Ie(g/c*Math.sin(y))),s&&(M=Ie(g/s*Math.sin(y)))),c){v=c*Math.cos(u+S),x=c*Math.sin(u+S),_=c*Math.cos(h-S),b=c*Math.sin(h-S);var C=Math.abs(h-u-2*S)<=Te?0:1;if(S&&gi(v,x,_,b)===p^C){var I=(u+h)/2;v=c*Math.cos(I),x=c*Math.sin(I),_=b=null}}else v=x=0;if(s){w=s*Math.cos(h-M),T=s*Math.sin(h-M),k=s*Math.cos(u+M),A=s*Math.sin(u+M);var L=Math.abs(u-h+2*M)<=Te?0:1;if(M&&gi(w,T,k,A)===1-p^L){var P=(u+h)/2;w=s*Math.cos(P),T=s*Math.sin(P),k=A=null}}else w=T=0;if(f>we&&(d=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){m=s0?0:1}function yi(e,t,r,n,i){var a=e[0]-t[0],o=e[1]-t[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,c=-s*a,u=e[0]+l,h=e[1]+c,f=t[0]+l,p=t[1]+c,d=(u+f)/2,m=(h+p)/2,g=f-u,y=p-h,v=g*g+y*y,x=r-n,_=u*p-f*h,b=(y<0?-1:1)*Math.sqrt(Math.max(0,x*x*v-_*_)),w=(_*y-g*b)/v,T=(-_*g-y*b)/v,k=(_*y+g*b)/v,A=(-_*g+y*b)/v,M=w-d,S=T-m,E=k-d,C=A-m;return M*M+S*S>E*E+C*C&&(w=k,T=A),[[w-l,T-c],[w*r/x,T*r/x]]}function vi(){return!0}function xi(e){var t=wt,r=Tt,n=vi,i=bi,a=i.key,o=.7;function s(a){var s,l=[],c=[],u=-1,h=a.length,f=ut(t),p=ut(r);function d(){l.push("M",i(e(c),o))}for(;++u1&&i.push("H",n[0]),i.join("")},"step-before":Ti,"step-after":ki,basis:Si,"basis-open":function(e){if(e.length<4)return bi(e);for(var t,r=[],n=-1,i=e.length,a=[0],o=[0];++n<3;)t=e[n],a.push(t[0]),o.push(t[1]);for(r.push(Ei(Li,a)+","+Ei(Li,o)),--n;++n9&&(i=3*t/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n);for(s=-1;++s<=l;)i=(e[Math.min(l,s+1)][0]-e[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(e))}});function bi(e){return e.length>1?e.join("L"):e+"Z"}function wi(e){return e.join("L")+"Z"}function Ti(e){for(var t=0,r=e.length,n=e[0],i=[n[0],",",n[1]];++t1){s=t[1],a=e[l],l++,n+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(a[0]-s[0])+","+(a[1]-s[1])+","+a[0]+","+a[1];for(var c=2;cTe)+",1 "+t}function l(e,t,r,n){return"Q 0,0 "+n}return a.radius=function(e){return arguments.length?(r=ut(e),a):r},a.source=function(t){return arguments.length?(e=ut(t),a):e},a.target=function(e){return arguments.length?(t=ut(e),a):t},a.startAngle=function(e){return arguments.length?(n=ut(e),a):n},a.endAngle=function(e){return arguments.length?(i=ut(e),a):i},a},e.svg.diagonal=function(){var e=Ri,t=Fi,r=ji;function n(n,i){var a=e.call(this,n,i),o=t.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return"M"+(l=l.map(r))[0]+"C"+l[1]+" "+l[2]+" "+l[3]}return n.source=function(t){return arguments.length?(e=ut(t),n):e},n.target=function(e){return arguments.length?(t=ut(e),n):t},n.projection=function(e){return arguments.length?(r=e,n):r},n},e.svg.diagonal.radial=function(){var t=e.svg.diagonal(),r=ji,n=t.projection;return t.projection=function(e){return arguments.length?n(function(e){return function(){var t=e.apply(this,arguments),r=t[0],n=t[1]-Me;return[r*Math.cos(n),r*Math.sin(n)]}}(r=e)):r},t},e.svg.symbol=function(){var e=Ui,t=Ni;function r(r,n){return(qi.get(e.call(this,r,n))||Vi)(t.call(this,r,n))}return r.type=function(t){return arguments.length?(e=ut(t),r):e},r.size=function(e){return arguments.length?(t=ut(e),r):t},r};var qi=e.map({circle:Vi,cross:function(e){var t=Math.sqrt(e/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(e){var t=Math.sqrt(e/(2*Gi)),r=t*Gi;return"M0,"+-t+"L"+r+",0 0,"+t+" "+-r+",0Z"},square:function(e){var t=Math.sqrt(e)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(e){var t=Math.sqrt(e/Hi),r=t*Hi/2;return"M0,"+r+"L"+t+","+-r+" "+-t+","+-r+"Z"},"triangle-up":function(e){var t=Math.sqrt(e/Hi),r=t*Hi/2;return"M0,"+-r+"L"+t+","+r+" "+-t+","+r+"Z"}});e.svg.symbolTypes=qi.keys();var Hi=Math.sqrt(3),Gi=Math.tan(30*Se);G.transition=function(e){for(var t,r,n=Xi||++Ji,i=ta(e),a=[],o=$i||{time:Date.now(),ease:Er,delay:0,duration:250},s=-1,l=this.length;++s0;)c[--f].call(e,o);if(a>=1)return h.event&&h.event.end.call(e,e.__data__,t),--u.count?delete u[n]:delete e[r],1}h||(a=i.time,o=vt((function(e){var t=h.delay;if(o.t=t+a,t<=e)return f(e-t);o.c=f}),0,a),h=u[n]={tween:new _,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:t},i=null,++u.count)}Ki.call=G.call,Ki.empty=G.empty,Ki.node=G.node,Ki.size=G.size,e.transition=function(t,r){return t&&t.transition?Xi?t.transition(r):t:e.selection().transition(t)},e.transition.prototype=Ki,Ki.select=function(e){var t,r,n,i=this.id,a=this.namespace,o=[];e=W(e);for(var s=-1,l=this.length;++srect,.s>rect").attr("width",s[1]-s[0])}function m(e){e.select(".extent").attr("y",l[0]),e.selectAll(".extent,.e>rect,.w>rect").attr("height",l[1]-l[0])}function g(){var h,g,y=this,v=e.select(e.event.target),x=n.of(y,arguments),_=e.select(y),b=v.datum(),w=!/^(n|s)$/.test(b)&&i,T=!/^(e|w)$/.test(b)&&a,k=v.classed("extent"),A=ve(y),M=e.mouse(y),S=e.select(o(y)).on("keydown.brush",(function(){32==e.event.keyCode&&(k||(h=null,M[0]-=s[1],M[1]-=l[1],k=2),R())})).on("keyup.brush",(function(){32==e.event.keyCode&&2==k&&(M[0]+=s[1],M[1]+=l[1],k=0,R())}));if(e.event.changedTouches?S.on("touchmove.brush",I).on("touchend.brush",P):S.on("mousemove.brush",I).on("mouseup.brush",P),_.interrupt().selectAll("*").interrupt(),k)M[0]=s[0]-M[0],M[1]=l[0]-M[1];else if(b){var E=+/w$/.test(b),C=+/^n/.test(b);g=[s[1-E]-M[0],l[1-C]-M[1]],M[0]=s[E],M[1]=l[C]}else e.event.altKey&&(h=M.slice());function I(){var t=e.mouse(y),r=!1;g&&(t[0]+=g[0],t[1]+=g[1]),k||(e.event.altKey?(h||(h=[(s[0]+s[1])/2,(l[0]+l[1])/2]),M[0]=s[+(t[0]0))return o;do{o.push(a=new Date(+t)),i(t,n),e(t)}while(a=r)for(;e(r),!t(r);)r.setTime(r-1)}),(function(e,r){if(e>=e)if(r<0)for(;++r<=0;)for(;i(e,-1),!t(e););else for(;--r>=0;)for(;i(e,1),!t(e););}))},a&&(s.count=function(n,i){return t.setTime(+n),r.setTime(+i),e(t),e(r),Math.floor(a(t,r))},s.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?s.filter(o?function(t){return o(t)%e==0}:function(t){return s.count(0,t)%e==0}):s:null}),s}var i=n((function(){}),(function(e,t){e.setTime(+e+t)}),(function(e,t){return t-e}));i.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?n((function(t){t.setTime(Math.floor(t/e)*e)}),(function(t,r){t.setTime(+t+r*e)}),(function(t,r){return(r-t)/e})):i:null};var a=i.range,o=1e3,s=6e4,l=36e5,c=864e5,u=6048e5,h=n((function(e){e.setTime(e-e.getMilliseconds())}),(function(e,t){e.setTime(+e+t*o)}),(function(e,t){return(t-e)/o}),(function(e){return e.getUTCSeconds()})),f=h.range,p=n((function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*o)}),(function(e,t){e.setTime(+e+t*s)}),(function(e,t){return(t-e)/s}),(function(e){return e.getMinutes()})),d=p.range,m=n((function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*o-e.getMinutes()*s)}),(function(e,t){e.setTime(+e+t*l)}),(function(e,t){return(t-e)/l}),(function(e){return e.getHours()})),g=m.range,y=n((function(e){e.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+t)}),(function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*s)/c}),(function(e){return e.getDate()-1})),v=y.range;function x(e){return n((function(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+7*t)}),(function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*s)/u}))}var _=x(0),b=x(1),w=x(2),T=x(3),k=x(4),A=x(5),M=x(6),S=_.range,E=b.range,C=w.range,I=T.range,L=k.range,P=A.range,z=M.range,D=n((function(e){e.setDate(1),e.setHours(0,0,0,0)}),(function(e,t){e.setMonth(e.getMonth()+t)}),(function(e,t){return t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear())}),(function(e){return e.getMonth()})),O=D.range,R=n((function(e){e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,t){e.setFullYear(e.getFullYear()+t)}),(function(e,t){return t.getFullYear()-e.getFullYear()}),(function(e){return e.getFullYear()}));R.every=function(e){return isFinite(e=Math.floor(e))&&e>0?n((function(t){t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,r){t.setFullYear(t.getFullYear()+r*e)})):null};var F=R.range,B=n((function(e){e.setUTCSeconds(0,0)}),(function(e,t){e.setTime(+e+t*s)}),(function(e,t){return(t-e)/s}),(function(e){return e.getUTCMinutes()})),j=B.range,N=n((function(e){e.setUTCMinutes(0,0,0)}),(function(e,t){e.setTime(+e+t*l)}),(function(e,t){return(t-e)/l}),(function(e){return e.getUTCHours()})),U=N.range,V=n((function(e){e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+t)}),(function(e,t){return(t-e)/c}),(function(e){return e.getUTCDate()-1})),q=V.range;function H(e){return n((function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+7*t)}),(function(e,t){return(t-e)/u}))}var G=H(0),W=H(1),Z=H(2),Y=H(3),X=H(4),$=H(5),K=H(6),J=G.range,Q=W.range,ee=Z.range,te=Y.range,re=X.range,ne=$.range,ie=K.range,ae=n((function(e){e.setUTCDate(1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCMonth(e.getUTCMonth()+t)}),(function(e,t){return t.getUTCMonth()-e.getUTCMonth()+12*(t.getUTCFullYear()-e.getUTCFullYear())}),(function(e){return e.getUTCMonth()})),oe=ae.range,se=n((function(e){e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCFullYear(e.getUTCFullYear()+t)}),(function(e,t){return t.getUTCFullYear()-e.getUTCFullYear()}),(function(e){return e.getUTCFullYear()}));se.every=function(e){return isFinite(e=Math.floor(e))&&e>0?n((function(t){t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,r){t.setUTCFullYear(t.getUTCFullYear()+r*e)})):null};var le=se.range;e.timeDay=y,e.timeDays=v,e.timeFriday=A,e.timeFridays=P,e.timeHour=m,e.timeHours=g,e.timeInterval=n,e.timeMillisecond=i,e.timeMilliseconds=a,e.timeMinute=p,e.timeMinutes=d,e.timeMonday=b,e.timeMondays=E,e.timeMonth=D,e.timeMonths=O,e.timeSaturday=M,e.timeSaturdays=z,e.timeSecond=h,e.timeSeconds=f,e.timeSunday=_,e.timeSundays=S,e.timeThursday=k,e.timeThursdays=L,e.timeTuesday=w,e.timeTuesdays=C,e.timeWednesday=T,e.timeWednesdays=I,e.timeWeek=_,e.timeWeeks=S,e.timeYear=R,e.timeYears=F,e.utcDay=V,e.utcDays=q,e.utcFriday=$,e.utcFridays=ne,e.utcHour=N,e.utcHours=U,e.utcMillisecond=i,e.utcMilliseconds=a,e.utcMinute=B,e.utcMinutes=j,e.utcMonday=W,e.utcMondays=Q,e.utcMonth=ae,e.utcMonths=oe,e.utcSaturday=K,e.utcSaturdays=ie,e.utcSecond=h,e.utcSeconds=f,e.utcSunday=G,e.utcSundays=J,e.utcThursday=X,e.utcThursdays=re,e.utcTuesday=Z,e.utcTuesdays=ee,e.utcWednesday=Y,e.utcWednesdays=te,e.utcWeek=G,e.utcWeeks=J,e.utcYear=se,e.utcYears=le,Object.defineProperty(e,"__esModule",{value:!0})},n("object"==typeof e&&typeof t<"u"?e:(r=r||self).d3=r.d3||{})}}),T=m({"node_modules/d3-time-format/dist/d3-time-format.js"(e,t){var r,n;r=e,n=function(e,t){function r(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function n(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function i(e,t,r){return{y:e,m:t,d:r,H:0,M:0,S:0,L:0}}function a(e){var a=e.dateTime,o=e.date,l=e.time,c=e.periods,u=e.days,h=e.shortDays,f=e.months,ve=e.shortMonths,xe=p(c),_e=d(c),be=p(u),we=d(u),Te=p(h),ke=d(h),Ae=p(f),Me=d(f),Se=p(ve),Ee=d(ve),Ce={a:function(e){return h[e.getDay()]},A:function(e){return u[e.getDay()]},b:function(e){return ve[e.getMonth()]},B:function(e){return f[e.getMonth()]},c:null,d:O,e:O,f:N,H:R,I:F,j:B,L:j,m:U,M:V,p:function(e){return c[+(e.getHours()>=12)]},q:function(e){return 1+~~(e.getMonth()/3)},Q:ge,s:ye,S:q,u:H,U:G,V:W,w:Z,W:Y,x:null,X:null,y:X,Y:$,Z:K,"%":me},Ie={a:function(e){return h[e.getUTCDay()]},A:function(e){return u[e.getUTCDay()]},b:function(e){return ve[e.getUTCMonth()]},B:function(e){return f[e.getUTCMonth()]},c:null,d:J,e:J,f:ne,H:Q,I:ee,j:te,L:re,m:ie,M:ae,p:function(e){return c[+(e.getUTCHours()>=12)]},q:function(e){return 1+~~(e.getUTCMonth()/3)},Q:ge,s:ye,S:oe,u:se,U:le,V:ce,w:ue,W:he,x:null,X:null,y:fe,Y:pe,Z:de,"%":me},Le={a:function(e,t,r){var n=Te.exec(t.slice(r));return n?(e.w=ke[n[0].toLowerCase()],r+n[0].length):-1},A:function(e,t,r){var n=be.exec(t.slice(r));return n?(e.w=we[n[0].toLowerCase()],r+n[0].length):-1},b:function(e,t,r){var n=Se.exec(t.slice(r));return n?(e.m=Ee[n[0].toLowerCase()],r+n[0].length):-1},B:function(e,t,r){var n=Ae.exec(t.slice(r));return n?(e.m=Me[n[0].toLowerCase()],r+n[0].length):-1},c:function(e,t,r){return De(e,a,t,r)},d:A,e:A,f:L,H:S,I:S,j:M,L:I,m:k,M:E,p:function(e,t,r){var n=xe.exec(t.slice(r));return n?(e.p=_e[n[0].toLowerCase()],r+n[0].length):-1},q:T,Q:z,s:D,S:C,u:g,U:y,V:v,w:m,W:x,x:function(e,t,r){return De(e,o,t,r)},X:function(e,t,r){return De(e,l,t,r)},y:b,Y:_,Z:w,"%":P};function Pe(e,t){return function(r){var n,i,a,o=[],l=-1,c=0,u=e.length;for(r instanceof Date||(r=new Date(+r));++l53)return null;"w"in c||(c.w=1),"Z"in c?(l=(s=n(i(c.y,0,1))).getUTCDay(),s=l>4||0===l?t.utcMonday.ceil(s):t.utcMonday(s),s=t.utcDay.offset(s,7*(c.V-1)),c.y=s.getUTCFullYear(),c.m=s.getUTCMonth(),c.d=s.getUTCDate()+(c.w+6)%7):(l=(s=r(i(c.y,0,1))).getDay(),s=l>4||0===l?t.timeMonday.ceil(s):t.timeMonday(s),s=t.timeDay.offset(s,7*(c.V-1)),c.y=s.getFullYear(),c.m=s.getMonth(),c.d=s.getDate()+(c.w+6)%7)}else("W"in c||"U"in c)&&("w"in c||(c.w="u"in c?c.u%7:"W"in c?1:0),l="Z"in c?n(i(c.y,0,1)).getUTCDay():r(i(c.y,0,1)).getDay(),c.m=0,c.d="W"in c?(c.w+6)%7+7*c.W-(l+5)%7:c.w+7*c.U-(l+6)%7);return"Z"in c?(c.H+=c.Z/100|0,c.M+=c.Z%100,n(c)):r(c)}}function De(e,t,r,n){for(var i,a,o=0,l=t.length,c=r.length;o=c)return-1;if(37===(i=t.charCodeAt(o++))){if(i=t.charAt(o++),!(a=Le[i in s?t.charAt(o++):i])||(n=a(e,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}return Ce.x=Pe(o,Ce),Ce.X=Pe(l,Ce),Ce.c=Pe(a,Ce),Ie.x=Pe(o,Ie),Ie.X=Pe(l,Ie),Ie.c=Pe(a,Ie),{format:function(e){var t=Pe(e+="",Ce);return t.toString=function(){return e},t},parse:function(e){var t=ze(e+="",!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=Pe(e+="",Ie);return t.toString=function(){return e},t},utcParse:function(e){var t=ze(e+="",!0);return t.toString=function(){return e},t}}}var o,s={"-":"",_:" ",0:"0"},l=/^\s*\d+/,c=/^%/,u=/[\\^$*+?|[\]().{}]/g;function h(e,t,r){var n=e<0?"-":"",i=(n?-e:e)+"",a=i.length;return n+(a68?1900:2e3),r+n[0].length):-1}function w(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function T(e,t,r){var n=l.exec(t.slice(r,r+1));return n?(e.q=3*n[0]-3,r+n[0].length):-1}function k(e,t,r){var n=l.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function A(e,t,r){var n=l.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function M(e,t,r){var n=l.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function S(e,t,r){var n=l.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function E(e,t,r){var n=l.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function C(e,t,r){var n=l.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function I(e,t,r){var n=l.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function L(e,t,r){var n=l.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function P(e,t,r){var n=c.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function z(e,t,r){var n=l.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function D(e,t,r){var n=l.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function O(e,t){return h(e.getDate(),t,2)}function R(e,t){return h(e.getHours(),t,2)}function F(e,t){return h(e.getHours()%12||12,t,2)}function B(e,r){return h(1+t.timeDay.count(t.timeYear(e),e),r,3)}function j(e,t){return h(e.getMilliseconds(),t,3)}function N(e,t){return j(e,t)+"000"}function U(e,t){return h(e.getMonth()+1,t,2)}function V(e,t){return h(e.getMinutes(),t,2)}function q(e,t){return h(e.getSeconds(),t,2)}function H(e){var t=e.getDay();return 0===t?7:t}function G(e,r){return h(t.timeSunday.count(t.timeYear(e)-1,e),r,2)}function W(e,r){var n=e.getDay();return e=n>=4||0===n?t.timeThursday(e):t.timeThursday.ceil(e),h(t.timeThursday.count(t.timeYear(e),e)+(4===t.timeYear(e).getDay()),r,2)}function Z(e){return e.getDay()}function Y(e,r){return h(t.timeMonday.count(t.timeYear(e)-1,e),r,2)}function X(e,t){return h(e.getFullYear()%100,t,2)}function $(e,t){return h(e.getFullYear()%1e4,t,4)}function K(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+h(t/60|0,"0",2)+h(t%60,"0",2)}function J(e,t){return h(e.getUTCDate(),t,2)}function Q(e,t){return h(e.getUTCHours(),t,2)}function ee(e,t){return h(e.getUTCHours()%12||12,t,2)}function te(e,r){return h(1+t.utcDay.count(t.utcYear(e),e),r,3)}function re(e,t){return h(e.getUTCMilliseconds(),t,3)}function ne(e,t){return re(e,t)+"000"}function ie(e,t){return h(e.getUTCMonth()+1,t,2)}function ae(e,t){return h(e.getUTCMinutes(),t,2)}function oe(e,t){return h(e.getUTCSeconds(),t,2)}function se(e){var t=e.getUTCDay();return 0===t?7:t}function le(e,r){return h(t.utcSunday.count(t.utcYear(e)-1,e),r,2)}function ce(e,r){var n=e.getUTCDay();return e=n>=4||0===n?t.utcThursday(e):t.utcThursday.ceil(e),h(t.utcThursday.count(t.utcYear(e),e)+(4===t.utcYear(e).getUTCDay()),r,2)}function ue(e){return e.getUTCDay()}function he(e,r){return h(t.utcMonday.count(t.utcYear(e)-1,e),r,2)}function fe(e,t){return h(e.getUTCFullYear()%100,t,2)}function pe(e,t){return h(e.getUTCFullYear()%1e4,t,4)}function de(){return"+0000"}function me(){return"%"}function ge(e){return+e}function ye(e){return Math.floor(+e/1e3)}function ve(t){return o=a(t),e.timeFormat=o.format,e.timeParse=o.parse,e.utcFormat=o.utcFormat,e.utcParse=o.utcParse,o}ve({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"]});var xe="%Y-%m-%dT%H:%M:%S.%LZ",_e=Date.prototype.toISOString?function(e){return e.toISOString()}:e.utcFormat(xe),be=+new Date("2000-01-01T00:00:00.000Z")?function(e){var t=new Date(e);return isNaN(t)?null:t}:e.utcParse(xe);e.isoFormat=_e,e.isoParse=be,e.timeFormatDefaultLocale=ve,e.timeFormatLocale=a,Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof e&&typeof t<"u"?n(e,w()):n((r=r||self).d3=r.d3||{},r.d3)}}),k=m({"node_modules/d3-format/dist/d3-format.js"(e,t){var r,n;r=e,n=function(e){function t(e,t){if((r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var r,n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function r(e){return(e=t(Math.abs(e)))?e[1]:NaN}var n,i=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function a(e){if(!(t=i.exec(e)))throw new Error("invalid format: "+e);var t;return new o({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function o(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}function s(e,r){var n=t(e,r);if(!n)return e+"";var i=n[0],a=n[1];return a<0?"0."+new Array(-a).join("0")+i:i.length>a+1?i.slice(0,a+1)+"."+i.slice(a+1):i+new Array(a-i.length+2).join("0")}a.prototype=o.prototype,o.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var l={"%":function(e,t){return(100*e).toFixed(t)},b:function(e){return Math.round(e).toString(2)},c:function(e){return e+""},d:function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)},e:function(e,t){return e.toExponential(t)},f:function(e,t){return e.toFixed(t)},g:function(e,t){return e.toPrecision(t)},o:function(e){return Math.round(e).toString(8)},p:function(e,t){return s(100*e,t)},r:s,s:function(e,r){var i=t(e,r);if(!i)return e+"";var a=i[0],o=i[1],s=o-(n=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,l=a.length;return s===l?a:s>l?a+new Array(s-l+1).join("0"):s>0?a.slice(0,s)+"."+a.slice(s):"0."+new Array(1-s).join("0")+t(e,Math.max(0,r+s-1))[0]},X:function(e){return Math.round(e).toString(16).toUpperCase()},x:function(e){return Math.round(e).toString(16)}};function c(e){return e}var u,h=Array.prototype.map,f=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function p(e){var t=void 0===e.grouping||void 0===e.thousands?c:function(e,t){return function(r,n){for(var i=r.length,a=[],o=0,s=e[0],l=0;i>0&&s>0&&(l+s+1>n&&(s=Math.max(1,n-l)),a.push(r.substring(i-=s,i+s)),!((l+=s+1)>n));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}(h.call(e.grouping,Number),e.thousands+""),i=void 0===e.currency?"":e.currency[0]+"",o=void 0===e.currency?"":e.currency[1]+"",s=void 0===e.decimal?".":e.decimal+"",u=void 0===e.numerals?c:function(e){return function(t){return t.replace(/[0-9]/g,(function(t){return e[+t]}))}}(h.call(e.numerals,String)),p=void 0===e.percent?"%":e.percent+"",d=void 0===e.minus?"-":e.minus+"",m=void 0===e.nan?"NaN":e.nan+"";function g(e){var r=(e=a(e)).fill,c=e.align,h=e.sign,g=e.symbol,y=e.zero,v=e.width,x=e.comma,_=e.precision,b=e.trim,w=e.type;"n"===w?(x=!0,w="g"):l[w]||(void 0===_&&(_=12),b=!0,w="g"),(y||"0"===r&&"="===c)&&(y=!0,r="0",c="=");var T="$"===g?i:"#"===g&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",k="$"===g?o:/[%p]/.test(w)?p:"",A=l[w],M=/[defgprs%]/.test(w);function S(e){var i,a,o,l=T,p=k;if("c"===w)p=A(e)+p,e="";else{var g=(e=+e)<0||1/e<0;if(e=isNaN(e)?m:A(Math.abs(e),_),b&&(e=function(e){e:for(var t,r=e.length,n=1,i=-1;n0&&(i=0)}return i>0?e.slice(0,i)+e.slice(t+1):e}(e)),g&&0==+e&&"+"!==h&&(g=!1),l=(g?"("===h?h:d:"-"===h||"("===h?"":h)+l,p=("s"===w?f[8+n/3]:"")+p+(g&&"("===h?")":""),M)for(i=-1,a=e.length;++i(o=e.charCodeAt(i))||o>57){p=(46===o?s+e.slice(i+1):e.slice(i))+p,e=e.slice(0,i);break}}x&&!y&&(e=t(e,1/0));var S=l.length+e.length+p.length,E=S>1)+l+e+p+E.slice(S);break;default:e=E+l+e+p}return u(e)}return _=void 0===_?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_)),S.toString=function(){return e+""},S}return{format:g,formatPrefix:function(e,t){var n=g(((e=a(e)).type="f",e)),i=3*Math.max(-8,Math.min(8,Math.floor(r(t)/3))),o=Math.pow(10,-i),s=f[8+i/3];return function(e){return n(o*e)+s}}}}function d(t){return u=p(t),e.format=u.format,e.formatPrefix=u.formatPrefix,u}d({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),e.FormatSpecifier=o,e.formatDefaultLocale=d,e.formatLocale=p,e.formatSpecifier=a,e.precisionFixed=function(e){return Math.max(0,-r(Math.abs(e)))},e.precisionPrefix=function(e,t){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(r(t)/3)))-r(Math.abs(e)))},e.precisionRound=function(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,r(t)-r(e))+1},Object.defineProperty(e,"__esModule",{value:!0})},n("object"==typeof e&&typeof t<"u"?e:(r=typeof globalThis<"u"?globalThis:r||self).d3=r.d3||{})}}),A=m({"node_modules/is-string-blank/index.js"(e,t){t.exports=function(e){for(var t,r=e.length,n=0;n13)&&32!==t&&133!==t&&160!==t&&5760!==t&&6158!==t&&(t<8192||t>8205)&&8232!==t&&8233!==t&&8239!==t&&8287!==t&&8288!==t&&12288!==t&&65279!==t)return!1;return!0}}}),M=m({"node_modules/fast-isnumeric/index.js"(e,t){var r=A();t.exports=function(e){var t=typeof e;if("string"===t){var n=e;if(0==(e=+e)&&r(n))return!1}else if("number"!==t)return!1;return e-e<1}}}),S=m({"src/constants/numerical.js"(e,t){t.exports={BADNUM:void 0,FP_SAFE:1e-4*Number.MAX_VALUE,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:2440587.5,ALMOST_EQUAL:.999999,LOG_CLIP:10,MINUS_SIGN:"−"}}}),E=m({"node_modules/base64-arraybuffer/dist/base64-arraybuffer.umd.js"(e,t){var r,n;r=e,n=function(e){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r=typeof Uint8Array>"u"?[]:new Uint8Array(256),n=0;n<64;n++)r[t.charCodeAt(n)]=n;e.decode=function(e){var t,n,i,a,o,s=.75*e.length,l=e.length,c=0;"="===e[e.length-1]&&(s--,"="===e[e.length-2]&&s--);var u=new ArrayBuffer(s),h=new Uint8Array(u);for(t=0;t>4,h[c++]=(15&i)<<4|a>>2,h[c++]=(3&a)<<6|63&o;return u},e.encode=function(e){var r,n=new Uint8Array(e),i=n.length,a="";for(r=0;r>2],a+=t[(3&n[r])<<4|n[r+1]>>4],a+=t[(15&n[r+1])<<2|n[r+2]>>6],a+=t[63&n[r+2]];return i%3==2?a=a.substring(0,a.length-1)+"=":i%3==1&&(a=a.substring(0,a.length-2)+"=="),a},Object.defineProperty(e,"__esModule",{value:!0})},n("object"==typeof e&&typeof t<"u"?e:(r=typeof globalThis<"u"?globalThis:r||self)["base64-arraybuffer"]={})}}),C=m({"src/lib/is_plain_object.js"(e,t){t.exports=function(e){return window&&window.process&&window.process.versions?"[object Object]"===Object.prototype.toString.call(e):"[object Object]"===Object.prototype.toString.call(e)&&Object.getPrototypeOf(e).hasOwnProperty("hasOwnProperty")}}}),I=m({"src/lib/array.js"(e){var t=E().decode,r=C(),n=Array.isArray,i=ArrayBuffer,a=DataView;function o(e){return i.isView(e)&&!(e instanceof a)}function s(e){return n(e)||o(e)}e.isTypedArray=o,e.isArrayOrTypedArray=s,e.isArray1D=function(e){return!s(e[0])},e.ensureArray=function(e,t){return n(e)||(e=[]),e.length=t,e};var l={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};function c(e){return e.constructor===ArrayBuffer}function u(e,t,r){if(s(e)){if(s(e[0])){for(var n=r,i=0;i2)return c[t]=2|c[t],f.set(e,null);if(h){for(o=t;o0)return Math.log(e)/Math.LN10;var n=Math.log(Math.min(t[0],t[1]))/Math.LN10;return r(n)||(n=Math.log(Math.max(t[0],t[1]))/Math.LN10-6),n}}}),O=m({"src/lib/relink_private.js"(e,t){var r=I().isArrayOrTypedArray,n=C();t.exports=function e(t,i){for(var a in i){var o=i[a],s=t[a];if(s!==o)if("_"===a.charAt(0)||"function"==typeof o){if(a in t)continue;t[a]=o}else if(r(o)&&r(s)&&n(o[0])){if("customdata"===a||"ids"===a)continue;for(var l=Math.min(o.length,s.length),c=0;ct/2?e-Math.round(e/t)*t:e}}}}),F=m({"node_modules/tinycolor2/tinycolor.js"(e,t){!function(e){var r=/^\s+/,n=/\s+$/,i=0,a=e.round,o=e.min,s=e.max,l=e.random;function c(t,l){if(l=l||{},(t=t||"")instanceof c)return t;if(!(this instanceof c))return new c(t,l);var u=function(t){var i={r:0,g:0,b:0},a=1,l=null,c=null,u=null,h=!1,f=!1;return"string"==typeof t&&(t=function(e){e=e.replace(r,"").replace(n,"").toLowerCase();var t,i=!1;if(S[e])e=S[e],i=!0;else if("transparent"==e)return{r:0,g:0,b:0,a:0,format:"name"};return(t=N.rgb.exec(e))?{r:t[1],g:t[2],b:t[3]}:(t=N.rgba.exec(e))?{r:t[1],g:t[2],b:t[3],a:t[4]}:(t=N.hsl.exec(e))?{h:t[1],s:t[2],l:t[3]}:(t=N.hsla.exec(e))?{h:t[1],s:t[2],l:t[3],a:t[4]}:(t=N.hsv.exec(e))?{h:t[1],s:t[2],v:t[3]}:(t=N.hsva.exec(e))?{h:t[1],s:t[2],v:t[3],a:t[4]}:(t=N.hex8.exec(e))?{r:P(t[1]),g:P(t[2]),b:P(t[3]),a:R(t[4]),format:i?"name":"hex8"}:(t=N.hex6.exec(e))?{r:P(t[1]),g:P(t[2]),b:P(t[3]),format:i?"name":"hex"}:(t=N.hex4.exec(e))?{r:P(t[1]+""+t[1]),g:P(t[2]+""+t[2]),b:P(t[3]+""+t[3]),a:R(t[4]+""+t[4]),format:i?"name":"hex8"}:!!(t=N.hex3.exec(e))&&{r:P(t[1]+""+t[1]),g:P(t[2]+""+t[2]),b:P(t[3]+""+t[3]),format:i?"name":"hex"}}(t)),"object"==typeof t&&(U(t.r)&&U(t.g)&&U(t.b)?(i=function(e,t,r){return{r:255*I(e,255),g:255*I(t,255),b:255*I(r,255)}}(t.r,t.g,t.b),h=!0,f="%"===String(t.r).substr(-1)?"prgb":"rgb"):U(t.h)&&U(t.s)&&U(t.v)?(l=D(t.s),c=D(t.v),i=function(t,r,n){t=6*I(t,360),r=I(r,100),n=I(n,100);var i=e.floor(t),a=t-i,o=n*(1-r),s=n*(1-a*r),l=n*(1-(1-a)*r),c=i%6;return{r:255*[n,s,o,o,l,n][c],g:255*[l,n,n,s,o,o][c],b:255*[o,o,l,n,n,s][c]}}(t.h,l,c),h=!0,f="hsv"):U(t.h)&&U(t.s)&&U(t.l)&&(l=D(t.s),u=D(t.l),i=function(e,t,r){var n,i,a;function o(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+6*(t-e)*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e}if(e=I(e,360),t=I(t,100),r=I(r,100),0===t)n=i=a=r;else{var s=r<.5?r*(1+t):r+t-r*t,l=2*r-s;n=o(l,s,e+1/3),i=o(l,s,e),a=o(l,s,e-1/3)}return{r:255*n,g:255*i,b:255*a}}(t.h,l,u),h=!0,f="hsl"),t.hasOwnProperty("a")&&(a=t.a)),a=C(a),{ok:h,format:t.format||f,r:o(255,s(i.r,0)),g:o(255,s(i.g,0)),b:o(255,s(i.b,0)),a}}(t);this._originalInput=t,this._r=u.r,this._g=u.g,this._b=u.b,this._a=u.a,this._roundA=a(100*this._a)/100,this._format=l.format||u.format,this._gradientType=l.gradientType,this._r<1&&(this._r=a(this._r)),this._g<1&&(this._g=a(this._g)),this._b<1&&(this._b=a(this._b)),this._ok=u.ok,this._tc_id=i++}function u(e,t,r){e=I(e,255),t=I(t,255),r=I(r,255);var n,i,a=s(e,t,r),l=o(e,t,r),c=(a+l)/2;if(a==l)n=i=0;else{var u=a-l;switch(i=c>.5?u/(2-a-l):u/(a+l),a){case e:n=(t-r)/u+(t>1)+720)%360;--t;)n.h=(n.h+i)%360,a.push(c(n));return a}function M(e,t){t=t||6;for(var r=c(e).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/t;t--;)o.push(c({h:n,s:i,v:a})),a=(a+s)%1;return o}c.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},getLuminance:function(){var t,r,n,i=this.toRgb();return t=i.r/255,r=i.g/255,n=i.b/255,.2126*(t<=.03928?t/12.92:e.pow((t+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:e.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:e.pow((n+.055)/1.055,2.4))},setAlpha:function(e){return this._a=C(e),this._roundA=a(100*this._a)/100,this},toHsv:function(){var e=h(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=h(this._r,this._g,this._b),t=a(360*e.h),r=a(100*e.s),n=a(100*e.v);return 1==this._a?"hsv("+t+", "+r+"%, "+n+"%)":"hsva("+t+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var e=u(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=u(this._r,this._g,this._b),t=a(360*e.h),r=a(100*e.s),n=a(100*e.l);return 1==this._a?"hsl("+t+", "+r+"%, "+n+"%)":"hsla("+t+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(e){return f(this._r,this._g,this._b,e)},toHexString:function(e){return"#"+this.toHex(e)},toHex8:function(e){return function(e,t,r,n,i){var o=[z(a(e).toString(16)),z(a(t).toString(16)),z(a(r).toString(16)),z(O(n))];return i&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1)?o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0):o.join("")}(this._r,this._g,this._b,this._a,e)},toHex8String:function(e){return"#"+this.toHex8(e)},toRgb:function(){return{r:a(this._r),g:a(this._g),b:a(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+a(this._r)+", "+a(this._g)+", "+a(this._b)+")":"rgba("+a(this._r)+", "+a(this._g)+", "+a(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:a(100*I(this._r,255))+"%",g:a(100*I(this._g,255))+"%",b:a(100*I(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+a(100*I(this._r,255))+"%, "+a(100*I(this._g,255))+"%, "+a(100*I(this._b,255))+"%)":"rgba("+a(100*I(this._r,255))+"%, "+a(100*I(this._g,255))+"%, "+a(100*I(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(E[f(this._r,this._g,this._b,!0)]||!1)},toFilter:function(e){var t="#"+p(this._r,this._g,this._b,this._a),r=t,n=this._gradientType?"GradientType = 1, ":"";if(e){var i=c(e);r="#"+p(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+t+",endColorstr="+r+")"},toString:function(e){var t=!!e;e=e||this._format;var r=!1,n=this._a<1&&this._a>=0;return t||!n||"hex"!==e&&"hex6"!==e&&"hex3"!==e&&"hex4"!==e&&"hex8"!==e&&"name"!==e?("rgb"===e&&(r=this.toRgbString()),"prgb"===e&&(r=this.toPercentageRgbString()),("hex"===e||"hex6"===e)&&(r=this.toHexString()),"hex3"===e&&(r=this.toHexString(!0)),"hex4"===e&&(r=this.toHex8String(!0)),"hex8"===e&&(r=this.toHex8String()),"name"===e&&(r=this.toName()),"hsl"===e&&(r=this.toHslString()),"hsv"===e&&(r=this.toHsvString()),r||this.toHexString()):"name"===e&&0===this._a?this.toName():this.toRgbString()},clone:function(){return c(this.toString())},_applyModification:function(e,t){var r=e.apply(null,[this].concat([].slice.call(t)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(y,arguments)},brighten:function(){return this._applyModification(v,arguments)},darken:function(){return this._applyModification(x,arguments)},desaturate:function(){return this._applyModification(d,arguments)},saturate:function(){return this._applyModification(m,arguments)},greyscale:function(){return this._applyModification(g,arguments)},spin:function(){return this._applyModification(_,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(A,arguments)},complement:function(){return this._applyCombination(b,arguments)},monochromatic:function(){return this._applyCombination(M,arguments)},splitcomplement:function(){return this._applyCombination(k,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(T,arguments)}},c.fromRatio=function(e,t){if("object"==typeof e){var r={};for(var n in e)e.hasOwnProperty(n)&&(r[n]="a"===n?e[n]:D(e[n]));e=r}return c(e,t)},c.equals=function(e,t){return!(!e||!t)&&c(e).toRgbString()==c(t).toRgbString()},c.random=function(){return c.fromRatio({r:l(),g:l(),b:l()})},c.mix=function(e,t,r){r=0===r?0:r||50;var n=c(e).toRgb(),i=c(t).toRgb(),a=r/100;return c({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},c.readability=function(t,r){var n=c(t),i=c(r);return(e.max(n.getLuminance(),i.getLuminance())+.05)/(e.min(n.getLuminance(),i.getLuminance())+.05)},c.isReadable=function(e,t,r){var n,i,a=c.readability(e,t);switch(i=!1,n=function(e){var t,r;return"AA"!==(t=((e=e||{level:"AA",size:"small"}).level||"AA").toUpperCase())&&"AAA"!==t&&(t="AA"),"small"!==(r=(e.size||"small").toLowerCase())&&"large"!==r&&(r="small"),{level:t,size:r}}(r),n.level+n.size){case"AAsmall":case"AAAlarge":i=a>=4.5;break;case"AAlarge":i=a>=3;break;case"AAAsmall":i=a>=7}return i},c.mostReadable=function(e,t,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var u=0;ul&&(l=n,s=c(t[u]));return c.isReadable(e,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,c.mostReadable(e,["#fff","#000"],r))};var S=c.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},E=c.hexNames=function(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[e[r]]=r);return t}(S);function C(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function I(t,r){(function(e){return"string"==typeof e&&-1!=e.indexOf(".")&&1===parseFloat(e)})(t)&&(t="100%");var n=function(e){return"string"==typeof e&&-1!=e.indexOf("%")}(t);return t=o(r,s(0,parseFloat(t))),n&&(t=parseInt(t*r,10)/100),e.abs(t-r)<1e-6?1:t%r/parseFloat(r)}function L(e){return o(1,s(0,e))}function P(e){return parseInt(e,16)}function z(e){return 1==e.length?"0"+e:""+e}function D(e){return e<=1&&(e=100*e+"%"),e}function O(t){return e.round(255*parseFloat(t)).toString(16)}function R(e){return P(e)/255}var F,B,j,N=(B="[\\s|\\(]+("+(F="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+F+")[,|\\s]+("+F+")\\s*\\)?",j="[\\s|\\(]+("+F+")[,|\\s]+("+F+")[,|\\s]+("+F+")[,|\\s]+("+F+")\\s*\\)?",{CSS_UNIT:new RegExp(F),rgb:new RegExp("rgb"+B),rgba:new RegExp("rgba"+j),hsl:new RegExp("hsl"+B),hsla:new RegExp("hsla"+j),hsv:new RegExp("hsv"+B),hsva:new RegExp("hsva"+j),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 U(e){return!!N.CSS_UNIT.exec(e)}typeof t<"u"&&t.exports?t.exports=c:window.tinycolor=c}(Math)}}),B=m({"src/lib/extend.js"(e){var t=C(),r=Array.isArray;function n(e,i,a,o){var s,l,c,u,h,f,p,d=e[0],m=e.length;if(2===m&&r(d)&&r(e[1])&&0===d.length){if(p=function(e,t){var r,n;for(r=0;r=0)))return e;if(3===o)i[o]>1&&(i[o]=1);else if(i[o]>=1)return e}var s=Math.round(255*i[0])+", "+Math.round(255*i[1])+", "+Math.round(255*i[2]);return a?"rgba("+s+", "+i[3]+")":"rgb("+s+")"}a.tinyRGB=function(e){var t=e.toRgb();return"rgb("+Math.round(t.r)+", "+Math.round(t.g)+", "+Math.round(t.b)+")"},a.rgb=function(e){return a.tinyRGB(r(e))},a.opacity=function(e){return e?r(e).getAlpha():0},a.addOpacity=function(e,t){var n=r(e).toRgb();return"rgba("+Math.round(n.r)+", "+Math.round(n.g)+", "+Math.round(n.b)+", "+t+")"},a.combine=function(e,t){var n=r(e).toRgb();if(1===n.a)return r(e).toRgbString();var i=r(t||l).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-n.a)+n.r*n.a,g:a.g*(1-n.a)+n.g*n.a,b:a.b*(1-n.a)+n.b*n.a};return r(o).toRgbString()},a.interpolate=function(e,t,n){var i=r(e).toRgb(),a=r(t).toRgb(),o={r:n*i.r+(1-n)*a.r,g:n*i.g+(1-n)*a.g,b:n*i.b+(1-n)*a.b};return r(o).toRgbString()},a.contrast=function(e,t,n){var i=r(e);return 1!==i.getAlpha()&&(i=r(a.combine(e,l))),(i.isDark()?t?i.lighten(t):l:n?i.darken(n):s).toString()},a.stroke=function(e,t){var n=r(t);e.style({stroke:a.tinyRGB(n),"stroke-opacity":n.getAlpha()})},a.fill=function(e,t){var n=r(t);e.style({fill:a.tinyRGB(n),"fill-opacity":n.getAlpha()})},a.clean=function(e){if(e&&"object"==typeof e){var t,r,n,o,s=Object.keys(e);for(t=0;t!0===e||!1===e;i(e)||n.arrayOk&&Array.isArray(e)&&e.length>0&&e.every(i)?t.set(e):t.set(r)}},number:{coerceFunction:function(e,r,n,i){f(e)&&(e=p(e)),!t(e)||void 0!==i.min&&ei.max?r.set(n):r.set(+e)}},integer:{coerceFunction:function(e,r,n,i){-1===(i.extras||[]).indexOf(e)?(f(e)&&(e=p(e)),e%1||!t(e)||void 0!==i.min&&ei.max?r.set(n):r.set(+e)):r.set(e)}},string:{coerceFunction:function(e,t,r,n){if("string"!=typeof e){var i="number"==typeof e;!0!==n.strict&&i?t.set(String(e)):t.set(r)}else n.noBlank&&!e?t.set(r):t.set(e)}},color:{coerceFunction:function(e,t,n){f(e)&&(e=p(e)),r(e).isValid()?t.set(e):t.set(n)}},colorlist:{coerceFunction:function(e,t,n){Array.isArray(e)&&e.length&&e.every((function(e){return r(e).isValid()}))?t.set(e):t.set(n)}},colorscale:{coerceFunction:function(e,t,r){t.set(a.get(e,r))}},angle:{coerceFunction:function(e,r,n){f(e)&&(e=p(e)),"auto"===e?r.set("auto"):t(e)?r.set(u(+e,360)):r.set(n)}},subplotid:{coerceFunction:function(e,t,r,n){var i=n.regex||c(r);let a=e=>"string"==typeof e&&i.test(e);a(e)||n.arrayOk&&h(e)&&e.length>0&&e.every(a)?t.set(e):t.set(r)},validateFunction:function(e,t){var r=t.dflt;return e===r||"string"==typeof e&&!!c(r).test(e)}},flaglist:{coerceFunction:function(e,t,r,n){if(-1===(n.extras||[]).indexOf(e))if("string"==typeof e){for(var i=e.split("+"),a=0;a/g),o=0;o1){var t=["LOG:"];for(e=0;e1){var i=[];for(e=0;e"),"long")}},i.warn=function(){var e;if(r.logging>0){var t=["WARN:"];for(e=0;e0){var i=[];for(e=0;e"),"stick")}},i.error=function(){var e;if(r.logging>0){var t=["ERROR:"];for(e=0;e0){var i=[];for(e=0;e"),"stick")}}}}),Q=m({"src/lib/noop.js"(e,t){t.exports=function(){}}}),ee=m({"src/lib/push_unique.js"(e,t){t.exports=function(e,t){if(t instanceof RegExp){for(var r=t.toString(),n=0;nf({valType:"string",dflt:"",editType:e},!1!==t?{arrayOk:!0}:{}),e.texttemplateAttrs=({editType:e="calc",arrayOk:t}={},r={})=>f({valType:"string",dflt:"",editType:e},!1!==t?{arrayOk:!0}:{}),e.shapeTexttemplateAttrs=({editType:e="arraydraw",newshape:t}={},r={})=>({valType:"string",dflt:"",editType:e}),e.templatefallbackAttrs=({editType:e="none"}={})=>({valType:"any",dflt:"-",editType:e})}}),Be=m({"src/components/shapes/label_texttemplate.js"(e,t){function r(e,t){return t?t.d2l(e):e}function n(e,t){return t?t.l2d(e):e}function i(e){return e.x0shift||0}function a(e){return e.x1shift||0}function o(e){return e.y0shift||0}function s(e){return e.y1shift||0}function l(e,t){return r(e.x1,t)+a(e)-r(e.x0,t)-i(e)}function c(e,t,n){return r(e.y1,n)+s(e)-r(e.y0,n)-o(e)}t.exports={x0:function(e){return e.x0},x1:function(e){return e.x1},y0:function(e){return e.y0},y1:function(e){return e.y1},slope:function(e,t,r){return"line"!==e.type?void 0:c(e,0,r)/l(e,t)},dx:l,dy:c,width:function(e,t){return Math.abs(l(e,t))},height:function(e,t,r){return Math.abs(c(e,0,r))},length:function(e,t,r){return"line"!==e.type?void 0:Math.sqrt(Math.pow(l(e,t),2)+Math.pow(c(e,0,r),2))},xcenter:function(e,t){return n((r(e.x1,t)+a(e)+r(e.x0,t)+i(e))/2,t)},ycenter:function(e,t,i){return n((r(e.y1,i)+s(e)+r(e.y0,i)+o(e))/2,i)},simpleXVariables:["x0","x1","y0","y1","dy","height","ycenter"],simpleYVariables:["x0","x1","y0","y1","dx","width","xcenter"]}}}),je=m({"src/components/shapes/draw_newshape/attributes.js"(e,t){var r=De().overrideAll,n=q(),i=j(),a=Oe().dash,o=B().extendFlat,{shapeTexttemplateAttrs:s,templatefallbackAttrs:l}=Fe(),c=Be();t.exports=r({newshape:{visible:o({},n.visible,{}),showlegend:{valType:"boolean",dflt:!1},legend:o({},n.legend,{}),legendgroup:o({},n.legendgroup,{}),legendgrouptitle:{text:o({},n.legendgrouptitle.text,{}),font:i({})},legendrank:o({},n.legendrank,{}),legendwidth:o({},n.legendwidth,{}),line:{color:{valType:"color"},width:{valType:"number",min:0,dflt:4},dash:o({},a,{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:o({},n.name,{}),label:{text:{valType:"string",dflt:""},texttemplate:s({newshape:!0},{keys:Object.keys(c)}),texttemplatefallback:l({editType:"arraydraw"}),font:i({}),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")}}),Ne=m({"src/components/selections/draw_newselection/attributes.js"(e,t){var r=Oe().dash,n=B().extendFlat;t.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:n({},r,{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"}}}}),Ue=m({"src/plots/pad_attributes.js"(e,t){t.exports=function(e){var t=e.editType;return{t:{valType:"number",dflt:0,editType:t},r:{valType:"number",dflt:0,editType:t},b:{valType:"number",dflt:0,editType:t},l:{valType:"number",dflt:0,editType:t},editType:t}}}}),Ve=m({"src/plots/layout_attributes.js"(e,t){var r=j(),n=ze(),i=G(),a=je(),o=Ne(),s=Ue(),l=B().extendFlat,c=r({editType:"calc"});c.family.dflt='"Open Sans", verdana, arial, sans-serif',c.size.dflt=12,c.color.dflt=i.defaultLine,t.exports={font:c,title:{text:{valType:"string",editType:"layoutstyle"},font:r({editType:"layoutstyle"}),subtitle:{text:{valType:"string",editType:"layoutstyle"},font:r({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:l(s({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:i.background,editType:"plot"},plot_bgcolor:{valType:"color",dflt:i.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:i.defaults,editType:"calc"},datarevision:{valType:"any",editType:"calc"},uirevision:{valType:"any",editType:"none"},editrevision:{valType:"any",editType:"none"},selectionrevision:{valType:"any",editType:"none"},template:{valType:"any",editType:"calc"},newshape:a.newshape,activeshape:a.activeshape,newselection:o.newselection,activeselection:o.activeselection,meta:{valType:"any",arrayOk:!0,editType:"plot"},transition:l({},n.transition,{editType:"none"})}}}),qe=m({"node_modules/maplibre-gl/dist/maplibre-gl.css"(){!function(){if(!document.getElementById("8431bff7cc77ea8693f8122c6e0981316b936a0a4930625e08b1512d134062bc")){var e=document.createElement("style");e.id="8431bff7cc77ea8693f8122c6e0981316b936a0a4930625e08b1512d134062bc",e.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(e)}}()}}),He=m({"src/registry.js"(e){var t=J(),r=Q(),n=ee(),i=C(),a=Pe().addStyleRule,o=B(),s=q(),l=Ve(),c=o.extendFlat,u=o.extendDeepAll;function h(r){var n=r.name,i=r.categories,o=r.meta;if(e.modules[n])t.log("Type "+n+" already registered");else{e.subplotsRegistry[r.basePlotModule.name]||function(r){var n=r.name;if(e.subplotsRegistry[n])t.log("Plot type "+n+" already registered.");else for(var i in m(r),e.subplotsRegistry[n]=r,e.componentsRegistry)y(i,r.name)}(r.basePlotModule);for(var s={},l=0;l=t&&n<=r?n:l}if("string"!=typeof n&&"number"!=typeof n)return l;n=String(n);var _=x(i),b=n.charAt(0);_&&("G"===b||"g"===b)&&(n=n.slice(1),i="");var w=_&&"chinese"===i.slice(0,7),T=n.match(w?y:g);if(!T)return l;var k=T[1],A=T[3]||"1",M=Number(T[5]||1),S=Number(T[7]||0),E=Number(T[9]||0),C=Number(T[11]||0);if(_){if(2===k.length)return l;var I;k=Number(k);try{var L=d.getComponentMethod("calendars","getCal")(i);if(w){var P="i"===A.charAt(A.length-1);A=parseInt(A,10),I=L.newDate(k,L.toMonthIndex(k,A,P),M)}else I=L.newDate(k,Number(A),M)}catch{return l}return I?(I.toJD()-p)*c+S*u+E*h+C*f:l}k=2===k.length?(Number(k)+2e3-v)%100+v:Number(k),A-=1;var z=new Date(Date.UTC(2e3,A,M,S,E));return z.setUTCFullYear(k),z.getUTCMonth()!==A||z.getUTCDate()!==M?l:z.getTime()+C*f},t=e.MIN_MS=e.dateTime2ms("-9999"),r=e.MAX_MS=e.dateTime2ms("9999-12-31 23:59:59.9999"),e.isDateTime=function(t,r){return e.dateTime2ms(t,r)!==l};var b=90*c,w=3*u,k=5*h;function A(e,t,r,n,i){if((t||r||n||i)&&(e+=" "+_(t,2)+":"+_(r,2),(n||i)&&(e+=":"+_(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;e+="."+_(i,a)}return e}e.ms2DateTime=function(e,n,i){if("number"!=typeof e||!(e>=t&&e<=r))return l;n||(n=0);var a,s,g,y,v,_,T=Math.floor(10*o(e+.05,1)),M=Math.round(e-T/10);if(x(i)){var S=Math.floor(M/c)+p,E=Math.floor(o(e,c));try{a=d.getComponentMethod("calendars","getCal")(i).fromJD(S).formatDate("yyyy-mm-dd")}catch{a=m("G%Y-%m-%d")(new Date(M))}if("-"===a.charAt(0))for(;a.length<11;)a="-0"+a.slice(1);else for(;a.length<10;)a="0"+a;s=n=t+c&&e<=r-c))return l;var i=Math.floor(10*o(e+.05,1)),a=new Date(Math.round(e-i/10));return A(n("%Y-%m-%d")(a),a.getHours(),a.getMinutes(),a.getSeconds(),10*a.getUTCMilliseconds()+i)},e.cleanDate=function(t,r,n){if(t===l)return r;if(e.isJSDate(t)||"number"==typeof t&&isFinite(t)){if(x(n))return a.error("JS Dates and milliseconds are incompatible with world calendars",t),r;if(!(t=e.ms2DateTimeLocal(+t))&&void 0!==r)return r}else if(!e.isDateTime(t,n))return a.error("unrecognized date",t),r;return t};var E=/%\d?f/g,C=/%h/g,I={1:"1",2:"1",3:"2",4:"2"};function L(e,t,r,n){e=e.replace(E,(function(e){var r=Math.min(+e.charAt(1)||6,6);return(t/1e3%1+2).toFixed(r).slice(2).replace(/0+$/,"")||"0"}));var i=new Date(Math.floor(t+.05));if(e=e.replace(C,(function(){return I[r("%q")(i)]})),x(n))try{e=d.getComponentMethod("calendars","worldCalFmt")(e,t,n)}catch{return"Invalid"}return r(e)(i)}var P=[59,59.9,59.99,59.999,59.9999];e.formatDate=function(e,t,r,n,a,s){if(a=x(a)&&a,!t)if("y"===r)t=s.year;else if("m"===r)t=s.month;else{if("d"!==r)return function(e,t){var r=o(e+.05,c),n=_(Math.floor(r/u),2)+":"+_(o(Math.floor(r/h),60),2);if("M"!==t){i(t)||(t=0);var a=(100+Math.min(o(e/f,60),P[t])).toFixed(t).slice(1);t>0&&(a=a.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+a}return n}(e,r)+"\n"+L(s.dayMonthYear,e,n,a);t=s.dayMonth+"\n"+s.year}return L(t,e,n,a)};var z=3*c;e.incrementMonth=function(e,t,r){r=x(r)&&r;var n=o(e,c);if(e=Math.round(e-n),r)try{var i=Math.round(e/c)+p,s=d.getComponentMethod("calendars","getCal")(r),l=s.fromJD(i);return t%12?s.add(l,t,"m"):s.add(l,t/12,"y"),(l.toJD()-p)*c+n}catch{a.error("invalid ms "+e+" in calendar "+r)}var u=new Date(e+z);return u.setUTCMonth(u.getUTCMonth()+t)+n-z},e.findExactDates=function(e,t){for(var r,n,a=0,o=0,s=0,l=0,u=x(t)&&d.getComponentMethod("calendars","getCal")(t),h=0;ht}function c(e,t){return e>=t}e.findBin=function(e,n,i){if(t(n.start))return i?Math.ceil((e-n.start)/n.size-a)-1:Math.floor((e-n.start)/n.size+a);var u,h,f=0,p=n.length,d=0,m=p>1?(n[p-1]-n[0])/(p-1):1;for(h=m>=0?i?o:s:i?c:l,e+=m*a*(i?-1:1)*(m>=0?1:-1);f90&&r.log("Long binary search..."),f-1},e.sorterAsc=function(e,t){return e-t},e.sorterDes=function(e,t){return t-e},e.distinctVals=function(t){var r,n=t.slice();for(n.sort(e.sorterAsc),r=n.length-1;r>-1&&n[r]===i;r--);for(var a,o=n[r]-n[0]||1,s=o/(r||1)/1e4,l=[],c=0;c<=r;c++){var u=n[c],h=u-a;void 0===a?(l.push(u),a=u):h>s&&(o=Math.min(o,h),l.push(u),a=u)}return{vals:l,minDiff:o}},e.roundUp=function(e,t,r){for(var n,i=0,a=t.length-1,o=0,s=r?0:1,l=r?1:0,c=r?Math.ceil:Math.floor;i0&&(n=1),r&&n)return e.sort(t)}return n?e:e.reverse()},e.findIndexOfMin=function(e,t){t=t||n;for(var r,i=1/0,a=0;aa.length)&&(o=a.length),t(i)||(i=!1),r(a[0])){for(l=new Array(o),s=0;se.length-1)return e[e.length-1];var n=r%1;return n*e[Math.ceil(r)]+(1-n)*e[Math.floor(r)]}}}),$e=m({"src/lib/angles.js"(e,t){var r=R(),n=r.mod,i=r.modHalf,a=Math.PI,o=2*a;function s(e){return Math.abs(e[1]-e[0])>o-1e-14}function l(e,t){return i(t-e,o)}function c(e,t){if(s(t))return!0;var r,i;t[0](i=n(i,o))&&(i+=o);var a=n(e,o),l=a+o;return a>=r&&a<=i||l>=r&&l<=i}function u(e,t,r,n,i,l,c){i=i||0,l=l||0;var u,h,f,p,d,m=s([r,n]);function g(e,t){return[e*Math.cos(t)+i,l-e*Math.sin(t)]}m?(u=0,h=a,f=o):r=i&&e<=a);var i,a},pathArc:function(e,t,r,n,i){return u(null,e,t,r,n,i,0)},pathSector:function(e,t,r,n,i){return u(null,e,t,r,n,i,1)},pathAnnulus:function(e,t,r,n,i,a){return u(e,t,r,n,i,a,1)}}}}),Ke=m({"src/lib/anchor_utils.js"(e){e.isLeftAnchor=function(e){return"left"===e.xanchor||"auto"===e.xanchor&&e.x<=1/3},e.isCenterAnchor=function(e){return"center"===e.xanchor||"auto"===e.xanchor&&e.x>1/3&&e.x<2/3},e.isRightAnchor=function(e){return"right"===e.xanchor||"auto"===e.xanchor&&e.x>=2/3},e.isTopAnchor=function(e){return"top"===e.yanchor||"auto"===e.yanchor&&e.y>=2/3},e.isMiddleAnchor=function(e){return"middle"===e.yanchor||"auto"===e.yanchor&&e.y>1/3&&e.y<2/3},e.isBottomAnchor=function(e){return"bottom"===e.yanchor||"auto"===e.yanchor&&e.y<=1/3}}}),Je=m({"src/lib/geometry2d.js"(e){var t,r,n,i=R().mod;function a(e,t,r,n,i,a,o,s){var l=r-e,c=i-e,u=o-i,h=n-t,f=a-t,p=s-a,d=l*p-u*h;if(0===d)return null;var m=(c*p-u*f)/d,g=(c*h-l*f)/d;return g<0||g>1||m<0||m>1?null:{x:e+l*m,y:t+h*m}}function o(e,t,r,n,i){var a=n*e+i*t;if(a<0)return n*n+i*i;if(a>r){var o=n-e,s=i-t;return o*o+s*s}var l=n*t-i*e;return l*l/r}e.segmentsIntersect=a,e.segmentDistance=function(e,t,r,n,i,s,l,c){if(a(e,t,r,n,i,s,l,c))return 0;var u=r-e,h=n-t,f=l-i,p=c-s,d=u*u+h*h,m=f*f+p*p,g=Math.min(o(u,h,d,i-e,s-t),o(u,h,d,l-e,c-t),o(f,p,m,e-i,t-s),o(f,p,m,r-i,n-s));return Math.sqrt(g)},e.getTextLocation=function(e,a,o,s){if((e!==r||s!==n)&&(t={},r=e,n=s),t[o])return t[o];var l=e.getPointAtLength(i(o-s/2,a)),c=e.getPointAtLength(i(o+s/2,a)),u=Math.atan((c.y-l.y)/(c.x-l.x)),h=e.getPointAtLength(i(o,a)),f={x:(4*h.x+l.x+c.x)/6,y:(4*h.y+l.y+c.y)/6,theta:u};return t[o]=f,f},e.clearLocationCache=function(){r=null},e.getVisibleSegment=function(e,t,r){var n,i,a=t.left,o=t.right,s=t.top,l=t.bottom,c=0,u=e.getTotalLength(),h=u;function f(t){var r=e.getPointAtLength(t);0===t?n=r:t===u&&(i=r);var c=r.xo?r.x-o:0,h=r.yl?r.y-l:0;return Math.sqrt(c*c+h*h)}for(var p=f(c);p;){if((c+=p+r)>h)return;p=f(c)}for(p=f(h);p;){if(c>(h-=p+r))return;p=f(h)}return{min:c,max:h,len:h-c,total:u,isClosed:0===c&&h===u&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},e.findPointOnPath=function(e,t,r,n){for(var i,a,o,s=(n=n||{}).pathLength||e.getTotalLength(),l=n.tolerance||.001,c=n.iterationLimit||30,u=e.getPointAtLength(0)[r]>e.getPointAtLength(s)[r]?-1:1,h=0,f=0,p=s;h0?p=i:f=i,h++}return a}}}),Qe=m({"src/lib/throttle.js"(e){var t={};function r(e){e&&null!==e.timer&&(clearTimeout(e.timer),e.timer=null)}e.throttle=function(e,n,i){var a=t[e],o=Date.now();if(!a){for(var s in t)t[s].tsa.ts+n?l():a.timer=setTimeout((function(){l(),a.timer=null}),n)},e.done=function(e){var r=t[e];return r&&r.timer?new Promise((function(e){var t=r.onDone;r.onDone=function(){t&&t(),e(),r.onDone=null}})):Promise.resolve()},e.clear=function(n){if(n)r(t[n]),delete t[n];else for(var i in t)e.clear(i)}}}),et=m({"src/lib/clear_responsive.js"(e,t){t.exports=function(e){e._responsiveChartHandler&&(window.removeEventListener("resize",e._responsiveChartHandler),delete e._responsiveChartHandler)}}}),tt=m({"node_modules/is-mobile/index.js"(e,t){t.exports=a,t.exports.isMobile=a,t.exports.default=a;var r=/(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,n=/CrOS/,i=/android|ipad|playbook|silk/i;function a(e){e||(e={});let t=e.ua;if(!t&&typeof navigator<"u"&&(t=navigator.userAgent),t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]),"string"!=typeof t)return!1;let a=r.test(t)&&!n.test(t)||!!e.tablet&&i.test(t);return!a&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==t.indexOf("Macintosh")&&-1!==t.indexOf("Safari")&&(a=!0),a}}}),rt=m({"src/lib/preserve_drawing_buffer.js"(e,t){var r=M(),n=tt();t.exports=function(e){var t,i;if(e&&e.hasOwnProperty("userAgent")?t=e.userAgent:(typeof navigator<"u"&&(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),t=i),"string"!=typeof t)return!0;var a=n({ua:{headers:{"user-agent":t}},tablet:!0,featureDetect:!1});if(!a)for(var o=t.split(" "),s=1;s-1;l--){var c=o[l];if("Version/"===c.slice(0,8)){var u=c.slice(8).split(".")[0];if(r(u)&&(u=+u),u>=13)return!0}}return a}}}),nt=m({"src/lib/make_trace_groups.js"(e,t){var r=b();t.exports=function(e,t,n){var i=e.selectAll("g."+n.replace(/\s/g,".")).data(t,(function(e){return e[0].trace.uid}));i.exit().remove(),i.enter().append("g").attr("class",n),i.order();var a=e.classed("rangeplot")?"nodeRangePlot3":"node3";return i.each((function(e){e[0][a]=r.select(this)})),i}}}),it=m({"src/lib/localize.js"(e,t){var r=He();t.exports=function(e,t){for(var n=e._context.locale,i=0;i<2;i++){for(var a=e._context.locales,o=0;o<2;o++){var s=(a[n]||{}).dictionary;if(s){var l=s[t];if(l)return l}a=r.localeRegistry}var c=n.split("-")[0];if(c===n)break;n=c}return t}}}),at=m({"src/lib/filter_unique.js"(e,t){t.exports=function(e){for(var t={},r=[],n=0,i=0;i1?(r*e+r*t)/r:e+t,i=String(n).length;if(i>16){var a=String(t).length;if(i>=String(e).length+a){var o=parseFloat(n).toPrecision(12);-1===o.indexOf("e+")&&(n=+o)}}return n}}}),lt=m({"src/lib/clean_number.js"(e,t){var r=M(),n=S().BADNUM,i=/^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g;t.exports=function(e){return"string"==typeof e&&(e=e.replace(i,"")),r(e)?Number(e):n}}}),ct=m({"src/lib/index.js"(e,t){var r=b(),n=T().utcFormat,i=k().format,a=M(),o=S(),s=o.FP_SAFE,l=-s,c=o.BADNUM,u=t.exports={};u.adjustFormat=function(e){return!e||/^\d[.]\df/.test(e)||/[.]\d%/.test(e)?e:"0.f"===e?"~f":/^\d%/.test(e)?"~%":/^\ds/.test(e)?"~s":!/^[~,.0$]/.test(e)&&/[&fps]/.test(e)?"~"+e:e};var h={};u.warnBadFormat=function(e){var t=String(e);h[t]||(h[t]=1,u.warn('encountered bad format: "'+t+'"'))},u.noFormat=function(e){return String(e)},u.numberFormat=function(e){var t;try{t=i(u.adjustFormat(e))}catch{return u.warnBadFormat(e),u.noFormat}return t},u.nestedProperty=L(),u.keyedContainer=P(),u.relativeAttr=z(),u.isPlainObject=C(),u.toLogRange=D(),u.relinkPrivateKeys=O();var d=I();u.isArrayBuffer=d.isArrayBuffer,u.isTypedArray=d.isTypedArray,u.isArrayOrTypedArray=d.isArrayOrTypedArray,u.isArray1D=d.isArray1D,u.ensureArray=d.ensureArray,u.concat=d.concat,u.maxRowLength=d.maxRowLength,u.minRowLength=d.minRowLength;var m=R();u.mod=m.mod,u.modHalf=m.modHalf;var g=X();u.valObjectMeta=g.valObjectMeta,u.coerce=g.coerce,u.coerce2=g.coerce2,u.coerceFont=g.coerceFont,u.coercePattern=g.coercePattern,u.coerceHoverinfo=g.coerceHoverinfo,u.coerceSelectionMarkerOpacity=g.coerceSelectionMarkerOpacity,u.validate=g.validate;var y=Ge();u.dateTime2ms=y.dateTime2ms,u.isDateTime=y.isDateTime,u.ms2DateTime=y.ms2DateTime,u.ms2DateTimeLocal=y.ms2DateTimeLocal,u.cleanDate=y.cleanDate,u.isJSDate=y.isJSDate,u.formatDate=y.formatDate,u.incrementMonth=y.incrementMonth,u.dateTick0=y.dateTick0,u.dfltRange=y.dfltRange,u.findExactDates=y.findExactDates,u.MIN_MS=y.MIN_MS,u.MAX_MS=y.MAX_MS;var v=Ze();u.findBin=v.findBin,u.sorterAsc=v.sorterAsc,u.sorterDes=v.sorterDes,u.distinctVals=v.distinctVals,u.roundUp=v.roundUp,u.sort=v.sort,u.findIndexOfMin=v.findIndexOfMin,u.sortObjectKeys=Ye();var x=Xe();u.aggNums=x.aggNums,u.len=x.len,u.mean=x.mean,u.geometricMean=x.geometricMean,u.median=x.median,u.midRange=x.midRange,u.variance=x.variance,u.stdev=x.stdev,u.interp=x.interp;var _=Le();u.init2dArray=_.init2dArray,u.transposeRagged=_.transposeRagged,u.dot=_.dot,u.translationMatrix=_.translationMatrix,u.rotationMatrix=_.rotationMatrix,u.rotationXYMatrix=_.rotationXYMatrix,u.apply3DTransform=_.apply3DTransform,u.apply2DTransform=_.apply2DTransform,u.apply2DTransform2=_.apply2DTransform2,u.convertCssMatrix=_.convertCssMatrix,u.inverseTransformMatrix=_.inverseTransformMatrix;var w=$e();u.deg2rad=w.deg2rad,u.rad2deg=w.rad2deg,u.angleDelta=w.angleDelta,u.angleDist=w.angleDist,u.isFullCircle=w.isFullCircle,u.isAngleInsideSector=w.isAngleInsideSector,u.isPtInsideSector=w.isPtInsideSector,u.pathArc=w.pathArc,u.pathSector=w.pathSector,u.pathAnnulus=w.pathAnnulus;var A=Ke();u.isLeftAnchor=A.isLeftAnchor,u.isCenterAnchor=A.isCenterAnchor,u.isRightAnchor=A.isRightAnchor,u.isTopAnchor=A.isTopAnchor,u.isMiddleAnchor=A.isMiddleAnchor,u.isBottomAnchor=A.isBottomAnchor;var E=Je();u.segmentsIntersect=E.segmentsIntersect,u.segmentDistance=E.segmentDistance,u.getTextLocation=E.getTextLocation,u.clearLocationCache=E.clearLocationCache,u.getVisibleSegment=E.getVisibleSegment,u.findPointOnPath=E.findPointOnPath;var F=B();u.extendFlat=F.extendFlat,u.extendDeep=F.extendDeep,u.extendDeepAll=F.extendDeepAll,u.extendDeepNoArrays=F.extendDeepNoArrays;var j=J();u.log=j.log,u.warn=j.warn,u.error=j.error;var N=Y();u.counterRegex=N.counter;var U=Qe();u.throttle=U.throttle,u.throttleDone=U.done,u.clearThrottle=U.clear;var V=Pe();function q(e){var t={};for(var r in e)for(var n=e[r],i=0;is||e=t)&&a(e)&&e>=0&&e%1==0},u.noop=Q(),u.identity=We(),u.repeat=function(e,t){for(var r=new Array(t),n=0;nr?Math.max(r,Math.min(t,e)):Math.max(t,Math.min(r,e))},u.bBoxIntersect=function(e,t,r){return r=r||0,e.left<=t.right+r&&t.left<=e.right+r&&e.top<=t.bottom+r&&t.top<=e.bottom+r},u.simpleMap=function(e,t,r,n,i){for(var a=e.length,o=new Array(a),s=0;s=Math.pow(2,r)?i>10?(u.warn("randstr failed uniqueness"),l):e(t,r,n,(i||0)+1):l},u.OptionControl=function(e,t){e||(e={}),t||(t="opt");var r={optionList:[],_newoption:function(n){n[t]=e,r[n.name]=n,r.optionList.push(n)}};return r["_"+t]=e,r},u.smooth=function(e,t){if((t=Math.round(t)||0)<2)return e;var r,n,i,a,o=e.length,s=2*o,l=2*t-1,c=new Array(l),u=new Array(o);for(r=0;r=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=e[i]*c[n];u[r]=a}return u},u.syncOrAsync=function(e,t,r){var n;function i(){return u.syncOrAsync(e,t,r)}for(;e.length;)if((n=(0,e.splice(0,1)[0])(t))&&n.then)return n.then(i);return r&&r(t)},u.stripTrailingSlash=function(e){return"/"===e.slice(-1)?e.slice(0,-1):e},u.noneOrAll=function(e,t,r){if(e){var n,i=!1,a=!0;for(n=0;n0?t:0}))},u.fillArray=function(e,t,r,n){if(n=n||u.identity,u.isArrayOrTypedArray(e))for(var i=0;iW.test(window.navigator.userAgent);var Z=/Firefox\/(\d+)\.\d+/;u.getFirefoxVersion=function(){var e=Z.exec(window.navigator.userAgent);if(e&&2===e.length){var t=parseInt(e[1]);if(!isNaN(t))return t}return null},u.isD3Selection=function(e){return e instanceof r.selection},u.ensureSingle=function(e,t,r,n){var i=e.select(t+(r?"."+r:""));if(i.size())return i;var a=e.append(t);return r&&a.classed(r,!0),n&&a.call(n),a},u.ensureSingleById=function(e,t,r,n){var i=e.select(t+"#"+r);if(i.size())return i;var a=e.append(t).attr("id",r);return n&&a.call(n),a},u.objectFromPath=function(e,t){for(var r,n=e.split("."),i=r={},a=0;a1?i+o[1]:"";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+a+"$2");return s+l},u.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var ne=/^\w*$/;u.templateString=function(e,t){var r={};return e.replace(u.TEMPLATE_STRING_REGEX,(function(e,n){var i;return ne.test(n)?i=t[n]:(r[n]=r[n]||u.nestedProperty(t,n).get,i=r[n](!0)),void 0!==i?i:""}))};var ie={max:10,count:0,name:"hovertemplate"};u.hovertemplateString=e=>ce(p(f({},e),{opts:ie}));var ae={max:10,count:0,name:"texttemplate"};u.texttemplateString=e=>ce(p(f({},e),{opts:ae}));var oe=/^(\S+)([\*\/])(-?\d+(\.\d+)?)$/,se={max:10,count:0,name:"texttemplate",parseMultDiv:!0};u.texttemplateStringForShapes=e=>ce(p(f({},e),{opts:se}));var le=/^[:|\|]/;function ce({data:e=[],locale:t,fallback:r,labels:i={},opts:a,template:o}){return o.replace(u.TEMPLATE_STRING_REGEX,((o,s,l)=>{let c=["xother","yother"].includes(s),h=["_xother","_yother"].includes(s),f=["_xother_","_yother_"].includes(s),p=["xother_","yother_"].includes(s),d=c||h||p||f;(h||f)&&(s=s.substring(1)),(p||f)&&(s=s.substring(0,s.length-1));let m,g=null,y=null;if(a.parseMultDiv){var v=function(e){var t=e.match(oe);return t?{key:t[1],op:t[2],number:Number(t[3])}:{key:e,op:null,number:null}}(s);s=v.key,g=v.op,y=v.number}if(d){if(void 0===i[s])return"";m=i[s]}else for(let t of e)if(t){if(t.hasOwnProperty(s)){m=t[s];break}if(ne.test(s)||(m=u.nestedProperty(t,s).get(!0)),void 0!==m)break}if(void 0===m){let{count:e,max:t,name:n}=a,i=!1===r?o:r;return e=48&&o<=57,c=s>=48&&s<=57;if(l&&(n=10*n+o-48),c&&(i=10*i+s-48),!l||!c){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var ue=2e9;u.seedPseudoRandom=function(){ue=2e9},u.pseudoRandom=function(){var e=ue;return ue=(69069*ue+1)%4294967296,Math.abs(ue-e)<429496729?u.pseudoRandom():ue/4294967296},u.fillText=function(e,t,r){var n=Array.isArray(r)?function(e){r.push(e)}:function(e){r.text=e},i=u.extractOption(e,t,"htx","hovertext");if(u.isValidTextValue(i))return n(i);var a=u.extractOption(e,t,"tx","text");return u.isValidTextValue(a)?n(a):void 0},u.isValidTextValue=function(e){return e||0===e},u.formatPercent=function(e,t){t=t||0;for(var r=(Math.round(100*e*Math.pow(10,t))*Math.pow(.1,t)).toFixed(t)+"%",n=0;n1&&(c=1):c=0,u.strTranslate(i-c*(r+o),a-c*(n+s))+u.strScale(c)+(l?"rotate("+l+(t?"":" "+r+" "+n)+")":"")},u.setTransormAndDisplay=function(e,t){e.attr("transform",u.getTextTransform(t)),e.style("display",t.scale?null:"none")},u.ensureUniformFontSize=function(e,t){var r=u.extendFlat({},t);return r.size=Math.max(t.size,e._fullLayout.uniformtext.minsize||0),r},u.join2=function(e,t,r){var n=e.length;return n>1?e.slice(0,-1).join(t)+r+e[n-1]:e.join(t)},u.bigFont=function(e){return Math.round(1.2*e)};var he=u.getFirefoxVersion(),fe=null!==he&&he<86;u.getPositionFromD3Event=function(){return fe?[r.event.layerX,r.event.layerY]:[r.event.offsetX,r.event.offsetY]}}}),ut=m({"build/plotcss.js"(){var e,t,r=ct(),n={"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(t in n)e=t.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier"),r.addStyleRule(e,n[t])}}),ht=m({"node_modules/is-browser/client.js"(e,t){t.exports=!0}}),ft=m({"node_modules/has-hover/index.js"(e,t){var r,n=ht();r="function"==typeof window.matchMedia?!window.matchMedia("(hover: none)").matches:n,t.exports=r}}),pt=m({"node_modules/events/events.js"(e,t){var r,n="object"==typeof Reflect?Reflect:null,i=n&&"function"==typeof n.apply?n.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};r=n&&"function"==typeof n.ownKeys?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var a=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}t.exports=o,t.exports.once=function(e,t){return new Promise((function(r,n){function i(r){e.removeListener(t,a),n(r)}function a(){"function"==typeof e.removeListener&&e.removeListener("error",i),r([].slice.call(arguments))}g(e,t,a,{once:!0}),"error"!==t&&function(e,t){"function"==typeof e.on&&g(e,"error",t,{once:!0})}(e,i)}))},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var s=10;function l(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function c(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function u(e,t,r,n){var i,a,o;if(l(r),void 0===(a=e._events)?(a=e._events=Object.create(null),e._eventsCount=0):(void 0!==a.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),a=e._events),o=a[t]),void 0===o)o=a[t]=r,++e._eventsCount;else if("function"==typeof o?o=a[t]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),(i=c(e))>0&&o.length>i&&!o.warned){o.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=o.length,function(e){console&&console.warn&&console.warn(e)}(s)}return e}function h(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=h.bind(n);return i.listener=r,n.wrapFn=i,i}function p(e,t,r){var n=e._events;if(void 0===n)return[];var i=n[t];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(e){for(var t=new Array(e.length),r=0;r0&&(o=t[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=a[e];if(void 0===l)return!1;if("function"==typeof l)i(l,this,t);else{var c=l.length,u=m(l,c);for(r=0;r=0;a--)if(r[a]===t||r[a].listener===t){o=r[a].listener,i=a;break}if(i<0)return this;0===i?r.shift():function(e,t){for(;t+1=0;n--)this.removeListener(e,t[n]);return this},o.prototype.listeners=function(e){return p(this,e,!0)},o.prototype.rawListeners=function(e){return p(this,e,!1)},o.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):d.call(e,t)},o.prototype.listenerCount=d,o.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]}}}),dt=m({"src/lib/events.js"(e,t){var r=pt().EventEmitter,n={init:function(e){if(e._ev instanceof r)return e;var t=new r,n=new r;return e._ev=t,e._internalEv=n,e.on=t.on.bind(t),e.once=t.once.bind(t),e.removeListener=t.removeListener.bind(t),e.removeAllListeners=t.removeAllListeners.bind(t),e._internalOn=n.on.bind(n),e._internalOnce=n.once.bind(n),e._removeInternalListener=n.removeListener.bind(n),e._removeAllInternalListeners=n.removeAllListeners.bind(n),e.emit=function(e,r){t.emit(e,r),n.emit(e,r)},"function"==typeof e.addEventListener&&e.addEventListener("wheel",(()=>{}),{passive:!0}),e},triggerHandler:function(e,t,r){var n=e._ev;if(n){var i=n._events[t];if(i){var a;for(i=Array.isArray(i)?i:[i],a=0;an.queueLength&&(e.undoQueue.queue.shift(),e.undoQueue.index--))},startSequence:function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!0,e.undoQueue.beginSequence=!0},stopSequence:function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!1,e.undoQueue.beginSequence=!1},undo:function(e){var t,r;if(!(void 0===e.undoQueue||isNaN(e.undoQueue.index)||e.undoQueue.index<=0)){for(e.undoQueue.index--,t=e.undoQueue.queue[e.undoQueue.index],e.undoQueue.inSequence=!0,r=0;r=e.undoQueue.queue.length)){for(t=e.undoQueue.queue[e.undoQueue.index],e.undoQueue.inSequence=!0,r=0;r=a.length)return!1;if(2===e.dimensions){if(r++,t.length===r)return e;var o=t[r];if(!x(o))return!1;e=a[i][o]}else e=a[i]}else e=a}}return e}function x(e){return e===Math.round(e)&&e>=0}function _(){var e,r,n={};for(e in c(n,i),t.subplotsRegistry)if((r=t.subplotsRegistry[e]).layoutAttributes)if(Array.isArray(r.attr))for(var a=0;a=a&&(i._input||{})._templateitemname;s&&(o=a);var l,c=r+"["+o+"]";function u(){l={},s&&(l[c]={},l[c][n]=s)}function h(e,r){s?t.nestedProperty(l[c],e).set(r):l[c+"."+e]=r}function f(){var e=l;return u(),e}return u(),{modifyBase:function(e,t){l[e]=t},modifyItem:h,getUpdateObj:f,applyUpdate:function(r,n){r&&h(r,n);var i=f();for(var a in i)t.nestedProperty(e,a).set(i[a])}}}}}),xt=m({"src/plots/cartesian/constants.js"(e,t){var r=Y().counter;t.exports={idRegex:{x:r("x","( domain)?"),y:r("y","( domain)?")},attrRegex:r("[xy]axis"),xAxisMatch:r("xaxis"),yAxisMatch:r("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"}}}),_t=m({"src/plots/cartesian/axis_ids.js"(e){var t=He(),r=xt();function n(e,t){if(t&&t.length)for(var r=0;rn?1:-1:+(e.slice(1)||1)-+(t.slice(1)||1)},e.ref2id=function(e){return!!/^[xyz]/.test(e)&&e.split(" ")[0]},e.isLinked=function(e,t){return n(t,e._axisMatchGroups)||n(t,e._axisConstraintGroups)}}}),bt=m({"src/components/shapes/handle_outline.js"(e,t){t.exports={clearOutlineControllers:function(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(".outline-controllers").remove()},clearOutline:function(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(".select-outline").remove(),e._fullLayout._outlining=!1}}}}),wt=m({"src/traces/scatter/layout_attributes.js"(e,t){t.exports={scattermode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},scattergap:{valType:"number",min:0,max:1,editType:"calc"}}}}),Tt=m({"src/plots/get_data.js"(e){var t=He();xt().SUBPLOT_PATTERN,e.getSubplotCalcData=function(e,r,n){var i=t.subplotsRegistry[r];if(!i)return[];for(var a=i.attr,o=[],s=0;s0?".":"")+a;r.isPlainObject(s)?o(s,t,l,i+1):t(l,a,s)}}))}e.manageCommandObserver=function(t,i,a,o){var s={},l=!0;i&&i._commandObserver&&(s=i._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var c=e.hasSimpleAPICommandBindings(t,a,s.lookupTable);if(i&&i._commandObserver){if(c)return s;if(i._commandObserver.remove)return i._commandObserver.remove(),i._commandObserver=null,s}if(c){n(t,c,s.cache),s.check=function(){if(l){var e=n(t,c,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var u=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],h=0;h=t.width-20?(a["text-anchor"]="start",a.x=5):(a["text-anchor"]="end",a.x=t._paper.attr("width")-7),n.attr(a);var o=n.select(".js-link-to-tool"),s=n.select(".js-link-spacer"),l=n.select(".js-sourcelinks");e._context.showSources&&e._context.showSources(e),e._context.showLink&&function(e,t){t.text("");var r=t.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(e._context.linkText+" »");if(e._context.sendData)r.on("click",(function(){w.sendDataToCloud(e)}));else{var n=window.location.pathname.split("/"),i=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+i})}}(e,o),s.text(o.text()&&l.text()?" - ":"")}},w.sendDataToCloud=function(e){var t=(window.PLOTLYENV||{}).BASE_URL||e._context.plotlyServerURL;if(t){e.emit("plotly_beforeexport");var n=r.select(e).append("div").attr("id","hiddenform").style("display","none"),i=n.append("form").attr({action:t+"/external",method:"post",target:"_blank"});return i.append("input").attr({type:"text",name:"data"}).node().value=w.graphJson(e,!1,"keepdata"),i.node().submit(),n.remove(),e.emit("plotly_afterexport"),!1}};var C=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],I=["year","month","dayMonth","dayMonthYear"];function L(e,t){var r=e._context.locale;r||(r="en-US");var n=!1,i={};function a(e){for(var r=!0,a=0;a1&&z.length>1){for(s.getComponentMethod("grid","sizeDefaults")(c,l),o=0;o15&&z.length>15&&0===l.shapes.length&&0===l.images.length,w.linkSubplots(f,l,h,a),w.cleanPlot(f,l,h,a);var j=!(!a._has||!a._has("cartesian")),N=!(!l._has||!l._has("cartesian"));j&&!N?a._bgLayer.remove():N&&!j&&(l._shouldCreateBgLayer=!0),a._zoomlayer&&!e._dragging&&d({_fullLayout:a}),function(e,t){var r,n=[];t.meta&&(r=t._meta={meta:t.meta,layout:{meta:t.meta}});for(var i=0;i0){var h=1-2*s;n=Math.round(h*n),i=Math.round(h*i)}}var f=w.layoutAttributes.width.min,p=w.layoutAttributes.height.min;n1,m=!t.height&&Math.abs(r.height-i)>1;(m||d)&&(d&&(r.width=n),m&&(r.height=i)),e._initialAutoSize||(e._initialAutoSize={width:n,height:i}),w.sanitizeMargins(r)},w.supplyLayoutModuleDefaults=function(e,t,r,n){var i,a,o,l=s.componentsRegistry,c=t._basePlotModules,h=s.subplotsRegistry.cartesian;for(i in l)(o=l[i]).includeBasePlot&&o.includeBasePlot(e,t);for(var f in c.length||c.push(h),t._has("cartesian")&&(s.getComponentMethod("grid","contentDefaults")(e,t),h.finalizeSubplots(e,t)),t._subplots)t._subplots[f].sort(u.subplotSort);for(a=0;a1&&(r.l/=y,r.r/=y)}if(p){var v=(r.t+r.b)/p;v>1&&(r.t/=v,r.b/=v)}var x=void 0!==r.xl?r.xl:r.x,_=void 0!==r.xr?r.xr:r.x,b=void 0!==r.yt?r.yt:r.y,T=void 0!==r.yb?r.yb:r.y;d[t]={l:{val:x,size:r.l+g},r:{val:_,size:r.r+g},b:{val:T,size:r.b+g},t:{val:b,size:r.t+g}},m[t]=1}else delete d[t],delete m[t];if(!n._replotting)return w.doAutoMargin(e)}},w.doAutoMargin=function(e){var t=e._fullLayout,r=t.width,n=t.height;t._size||(t._size={}),D(t);var i=t._size,o=t.margin,l={t:0,b:0,l:0,r:0},c=u.extendFlat({},i),h=o.l,f=o.r,d=o.t,m=o.b,g=t._pushmargin,y=t._pushmarginIds,v=t.minreducedwidth,x=t.minreducedheight;if(!1!==o.autoexpand){for(var _ in g)y[_]||delete g[_];var b=e._fullLayout._reservedMargin;for(var T in b)for(var k in b[T]){var A=b[T][k];l[k]=Math.max(l[k],A)}for(var M in g.base={l:{val:0,size:h},r:{val:1,size:f},t:{val:1,size:d},b:{val:0,size:m}},l){var S=0;for(var E in g)"base"!==E&&a(g[E][M].size)&&(S=g[E][M].size>S?g[E][M].size:S);var C=Math.max(0,o[M]-S);l[M]=Math.max(0,l[M]-C)}for(var I in g){var L=g[I].l||{},P=g[I].b||{},z=L.val,O=L.size,R=P.val,F=P.size,B=r-l.r-l.l,j=n-l.t-l.b;for(var N in g){if(a(O)&&g[N].r){var U=g[N].r.val,V=g[N].r.size;if(U>z){var q=(O*U+(V-B)*z)/(U-z),H=(V*(1-z)+(O-B)*(1-U))/(U-z);q+H>h+f&&(h=q,f=H)}}if(a(F)&&g[N].t){var G=g[N].t.val,W=g[N].t.size;if(G>R){var Z=(F*G+(W-j)*R)/(G-R),Y=(W*(1-R)+(F-j)*(1-G))/(G-R);Z+Y>m+d&&(m=Z,d=Y)}}}}}var X=u.constrain(r-o.l-o.r,2,v),$=u.constrain(n-o.t-o.b,2,x),K=Math.max(0,r-X),J=Math.max(0,n-$);if(K){var Q=(h+f)/K;Q>1&&(h/=Q,f/=Q)}if(J){var ee=(m+d)/J;ee>1&&(m/=ee,d/=ee)}if(i.l=Math.round(h)+l.l,i.r=Math.round(f)+l.r,i.t=Math.round(d)+l.t,i.b=Math.round(m)+l.b,i.p=Math.round(o.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!t._replotting&&(w.didMarginChange(c,i)||function(e){if("_redrawFromAutoMarginCount"in e._fullLayout)return!1;var t=p.list(e,"",!0);for(var r in t)if(t[r].autoshift||t[r].shift)return!0;return!1}(e))){"_redrawFromAutoMarginCount"in t?t._redrawFromAutoMarginCount++:t._redrawFromAutoMarginCount=1;var te=3*(1+Object.keys(y).length);if(t._redrawFromAutoMarginCount0&&(e._transitioningWithDuration=!0),e._transitionData._interruptCallbacks.push((function(){n=!0})),r.redraw&&e._transitionData._interruptCallbacks.push((function(){return s.call("redraw",e)})),e._transitionData._interruptCallbacks.push((function(){e.emit("plotly_transitioninterrupted",[])}));var a=0,o=0;function l(){return a++,function(){o++,!n&&o===a&&function(t){e._transitionData&&(function(e){if(e)for(;e.length;)e.shift()}(e._transitionData._interruptCallbacks),Promise.resolve().then((function(){if(r.redraw)return s.call("redraw",e)})).then((function(){e._transitioning=!1,e._transitioningWithDuration=!1,e.emit("plotly_transitioned",[])})).then(t))}(i)}}r.runFn(l),setTimeout(l())}))}],a=u.syncOrAsync(i,e);return(!a||!a.then)&&(a=Promise.resolve()),a.then((function(){return e}))}w.didMarginChange=function(e,t){for(var r=0;r1)return!0}return!1},w.graphJson=function(e,t,r,n,i,a){(i&&t&&!e._fullData||i&&!t&&!e._fullLayout)&&w.supplyDefaults(e);var s=i?e._fullData:e.data,l=i?e._fullLayout:e.layout,c=(e._transitionData||{})._frames;function h(e,t){if("function"==typeof e)return t?"_function_":null;if(u.isPlainObject(e)){var n,i={};return Object.keys(e).sort().forEach((function(a){if(-1===["_","["].indexOf(a.charAt(0))){if("function"==typeof e[a])return void(t&&(i[a]="_function"));if("keepdata"===r){if("src"===a.slice(-3))return}else if("keepstream"===r){if("string"==typeof(n=e[a+"src"])&&n.indexOf(":")>0&&!u.isPlainObject(e.stream))return}else if("keepall"!==r&&"string"==typeof(n=e[a+"src"])&&n.indexOf(":")>0)return;i[a]=h(e[a],t)}})),i}var a=Array.isArray(e),s=u.isTypedArray(e);if((a||s)&&e.dtype&&e.shape){var l=e.bdata;return h({dtype:e.dtype,shape:e.shape,bdata:u.isArrayBuffer(l)?o.encode(l):l},t)}return a?e.map((function(e){return h(e,t)})):s?u.simpleMap(e,u.identity):u.isJSDate(e)?u.ms2DateTimeLocal(+e):e}var f={data:(s||[]).map((function(e){var r=h(e);return t&&delete r.fit,r}))};if(!t&&(f.layout=h(l),i)){var p=l._size;f.layout.computed={margin:{b:p.b,l:p.l,r:p.r,t:p.t}}}return c&&(f.frames=h(c)),a&&(f.config=h(e._context,!0)),"object"===n?f:JSON.stringify(f)},w.modifyFrames=function(e,t){var r,n,i,a=e._transitionData._frames,o=e._transitionData._frameHash;for(r=0;r=0;a--)if(s[a].enabled){r._indexToPoints=s[a]._indexToPoints;break}n&&n.calc&&(o=n.calc(e,r))}(!Array.isArray(o)||!o[0])&&(o=[{x:f,y:f}]),o[0].t||(o[0].t={}),o[0].trace=r,d[t]=o}}for(B(o,c,h),i=0;il||m>c)&&(o.style("overflow","hidden"),p=(f=o.node().getBoundingClientRect()).width,m=f.height);var g=+d.attr("x"),y=+d.attr("y"),v=-(i||d.node().getBoundingClientRect().height)/4;if("y"===P[0])s.attr({transform:"rotate("+[-90,g,y]+")"+n(-p/2,v-m/2)});else if("l"===P[0])y=v-m/2;else if("a"===P[0]&&0!==P.indexOf("atitle"))g=0,y=v;else{var x=d.attr("text-anchor");g-=p*("middle"===x?.5:"end"===x?1:0),y=y+v-m/2}o.attr({x:g,y}),M&&M.call(d,s),e(s)}))}))):z(),d}function z(){L.empty()||(P=d.attr("class")+"-math",L.select("svg."+P).remove()),d.text("").style("white-space","pre");var n=function(e,n){n=n.replace(m," ");var o,s=!1,l=[],c=-1;function d(){c++;var r=document.createElementNS(i.svg,"tspan");t.select(r).attr({class:"line",dy:c*a+"em"}),e.appendChild(r),o=r;var n=l;if(l=[{node:r}],n.length>1)for(var s=1;s doesnt match end tag <"+e+">. Pretending it did match.",n),o=l[l.length-1].node}else r.log("Ignoring unexpected end tag .",n)}v.test(n)?d():(o=e,l=[{node:e}]);for(var I=n.split(g),L=0;L|>|>)/g,c=[["$","$"],["\\(","\\)"]],u={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"},h={sub:"0.3em",sup:"-0.6em"},f={sub:"-0.21em",sup:"0.42em"},p="​",d=["http:","https:","mailto:","",void 0,":"],m=e.NEWLINES=/(\r\n?|\n)/g,g=/(<[^<>]*>)/,y=/<(\/?)([^ >]*)(\s+(.*))?>/i,v=//i;e.BR_TAG_ALL=//gi;var x=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,_=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,w=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,T=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function k(e,t){if(!e)return null;var r=e.match(t),n=r&&(r[3]||r[4]);return n&&E(n)}var A=/(^|;)\s*color:/;e.plainText=function(e,t){for(var r=void 0!==(t=t||{}).len&&-1!==t.len?t.len:1/0,n=void 0!==t.allowedTags?t.allowedTags:["br"],i=e.split(g),a=[],o="",s=0,l=0;l3?a.push(c.slice(0,Math.max(0,p-3))+"..."):a.push(c.slice(0,p));break}o=""}}return a.join("")};var M={mu:"μ",amp:"&",lt:"<",gt:">",nbsp:" ",times:"×",plusmn:"±",deg:"°"},S=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function E(e){return e.replace(S,(function(e,t){var r;return r="#"===t.charAt(0)?function(e){if(!(e>1114111)){var t=String.fromCodePoint;if(t)return t(e);var r=String.fromCharCode;return e<=65535?r(e):r(55232+(e>>10),e%1024+56320)}}("x"===t.charAt(1)?parseInt(t.slice(2),16):parseInt(t.slice(1),10)):M[t],r||e}))}function C(e){var t=encodeURI(decodeURI(e)),r=document.createElement("a"),n=document.createElement("a");r.href=e,n.href=t;var i=r.protocol,a=n.protocol;return-1!==d.indexOf(i)&&-1!==d.indexOf(a)?t:""}function I(e,t,n){var i,a,o,s=n.horizontalAlign,l=n.verticalAlign||"top",c=e.node().getBoundingClientRect(),u=t.node().getBoundingClientRect();return a="bottom"===l?function(){return c.bottom-i.height}:"middle"===l?function(){return c.top+(c.height-i.height)/2}:function(){return c.top},o="right"===s?function(){return c.right-i.width}:"center"===s?function(){return c.left+(c.width-i.width)/2}:function(){return c.left},function(){i=this.node().getBoundingClientRect();var e=o()-u.left,t=a()-u.top,s=n.gd||{};if(n.gd){s._fullLayout._calcInverseTransform(s);var l=r.apply3DTransform(s._fullLayout._invTransform)(e,t);e=l[0],t=l[1]}return this.style({top:t+"px",left:e+"px","z-index":1e3}),this}}e.convertEntities=E,e.sanitizeHTML=function(e){e=e.replace(m," ");for(var r=document.createElement("p"),n=r,i=[],a=e.split(g),o=0;o=0;n--,i++){var a=e[n];r[i]=[1-a[0],a[1]]}return r}function p(e,t){t=t||{};for(var a=e.domain,s=e.range,l=s.length,c=new Array(l),u=0;um-p?p=m-(d-m):d-m=0?s.colorscale.sequential:s.colorscale.sequentialminus,h._sync("colorscale",o))}}}),Yt=m({"src/components/colorscale/index.js"(e,t){var r=H(),n=Ct();t.exports={moduleType:"component",name:"colorscale",attributes:zt(),layoutAttributes:Dt(),supplyLayoutDefaults:Gt(),handleDefaults:Ht(),crossTraceDefaults:Wt(),calc:Zt(),scales:r.scales,defaultScale:r.defaultScale,getScale:r.get,isValidScale:r.isValid,hasColorscale:n.hasColorscale,extractOpts:n.extractOpts,extractScale:n.extractScale,flipScale:n.flipScale,makeColorScaleFunc:n.makeColorScaleFunc,makeColorScaleFuncFromTrace:n.makeColorScaleFuncFromTrace}}}),Xt=m({"src/traces/scatter/subtypes.js"(e,t){var r=ct(),n=I().isTypedArraySpec;t.exports={hasLines:function(e){return e.visible&&e.mode&&-1!==e.mode.indexOf("lines")},hasMarkers:function(e){return e.visible&&(e.mode&&-1!==e.mode.indexOf("markers")||"splom"===e.type)},hasText:function(e){return e.visible&&e.mode&&-1!==e.mode.indexOf("text")},isBubble:function(e){var t=e.marker;return r.isPlainObject(t)&&(r.isArrayOrTypedArray(t.size)||n(t.size))}}}}),$t=m({"src/traces/scatter/make_bubble_size_func.js"(e,t){var r=M();t.exports=function(e,t){t||(t=2);var n=e.marker,i=n.sizeref||1,a=n.sizemin||0,o="area"===n.sizemode?function(e){return Math.sqrt(e/i)}:function(e){return e/i};return function(e){var n=o(e/t);return r(n)&&n>0?Math.max(n,a):0}}}}),Kt=m({"src/components/fx/helpers.js"(e){var t=ct();e.getSubplot=function(e){return e.subplot||e.xaxis+e.yaxis||e.geo},e.isTraceInSubplots=function(t,r){if("splom"===t.type){for(var n=t.xaxes||[],i=t.yaxes||[],a=0;a=0&&r.index2&&(t.push([n].concat(a.splice(0,2))),o="l",n="m"==n?"l":"L");;){if(a.length==r[o])return a.unshift(n),t.push(a);if(a.length=200?"M0,0.5L0.5,0L0,-0.5L-0.5,0Z":"")}v.symbolNumber=function(e){if(a(e))e=+e;else if("string"==typeof e){var t=0;e.indexOf("-open")>0&&(t=100,e=e.replace("-open","")),e.indexOf("-dot")>0&&(t+=200,e=e.replace("-dot","")),(e=v.symbolNames.indexOf(e))>=0&&(e+=t)}return e%100>=k||e>=400?0:Math.floor(Math.max(e,0))};var S=i("~f"),E={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}};function C(e,t,i,a,s,c,u,h,f,p){var d,m=s.length;"linear"===a?d={node:"linearGradient",attrs:{x1:u.x,y1:u.y,x2:h.x,y2:h.y,gradientUnits:f?"userSpaceOnUse":"objectBoundingBox"},reversed:p}:"radial"===a&&(d={node:"radialGradient",reversed:p});for(var g=new Array(m),y=0;y=0&&void 0===e.i&&(e.i=o.i),t.style("opacity",i.selectedOpacityFn?i.selectedOpacityFn(e):void 0===e.mo?s.opacity:e.mo),i.ms2mrc){var u;u="various"===e.ms||"various"===s.size?3:i.ms2mrc(e.ms),e.mrc=u,i.selectedSizeFn&&(u=e.mrc=i.selectedSizeFn(e));var h=v.symbolNumber(e.mx||s.symbol)||0;e.om=h%200>=100;var f=se(e,r),p=$(e,r);t.attr("d",A(h,u,f,p))}var d,m,g,y=!1;if(e.so)g=c.outlierwidth,m=c.outliercolor,d=s.outliercolor;else{var x=(c||{}).width;g=(e.mlw+1||x+1||(e.trace?(e.trace.marker.line||{}).width:0)+1)-1||0,m="mlc"in e?e.mlcc=i.lineScale(e.mlc):n.isArrayOrTypedArray(c.color)?l.defaultLine:c.color,n.isArrayOrTypedArray(s.color)&&(d=l.defaultLine,y=!0),d="mc"in e?e.mcc=i.markerScale(e.mc):s.color||s.colors||"rgba(0,0,0,0)",i.selectedColorFn&&(d=i.selectedColorFn(e))}let _=e.mld||(c||{}).dash;if(_&&v.dashLine(t,_,g),e.om)t.call(l.stroke,d).style({"stroke-width":(g||1)+"px",fill:"none"});else{t.style("stroke-width",(e.isBlank?0:g)+"px");var b=s.gradient,w=e.mgt;w?y=!0:w=b&&b.type,n.isArrayOrTypedArray(w)&&(w=w[0],E[w]||(w=0));var T=s.pattern,k=v.getPatternAttr,M=T&&(k(T.shape,e.i,"")||k(T.path,e.i,""));if(w&&"none"!==w){var S=e.mgc;S?y=!0:S=b.color;var C=r.uid;y&&(C+="-"+e.i),v.gradient(t,a,C,w,[[0,S],[1,d]],"fill")}else if(M){var I=!1,L=T.fgcolor;!L&&o&&o.color&&(L=o.color,I=!0);var P=k(L,e.i,o&&o.color||null),z=k(T.bgcolor,e.i,null),D=T.fgopacity,O=k(T.size,e.i,8),R=k(T.solidity,e.i,.3);I=I||e.mcc||n.isArrayOrTypedArray(T.shape)||n.isArrayOrTypedArray(T.path)||n.isArrayOrTypedArray(T.bgcolor)||n.isArrayOrTypedArray(T.fgcolor)||n.isArrayOrTypedArray(T.size)||n.isArrayOrTypedArray(T.solidity);var F=r.uid;I&&(F+="-"+e.i),v.pattern(t,"point",a,F,M,O,R,e.mcc,T.fillmode,z,P,D)}else n.isArrayOrTypedArray(d)?l.fill(t,d[e.i]):l.fill(t,d);g&&l.stroke(t,m)}},v.makePointStyleFns=function(e){var t={},r=e.marker;return t.markerScale=v.tryColorscale(r,""),t.lineScale=v.tryColorscale(r,"line"),s.traceIs(e,"symbols")&&(t.ms2mrc=m.isBubble(e)?g(e):function(){return(r.size||6)/2}),e.selectedpoints&&n.extendFlat(t,v.makeSelectedPointStyleFns(e)),t},v.makeSelectedPointStyleFns=function(e){var t={},r=e.selected||{},i=e.unselected||{},a=e.marker||{},o=r.marker||{},l=i.marker||{},c=a.opacity,u=o.opacity,h=l.opacity,f=void 0!==u,p=void 0!==h;(n.isArrayOrTypedArray(c)||f||p)&&(t.selectedOpacityFn=function(e){var t=void 0===e.mo?a.opacity:e.mo;return e.selected?f?u:t:p?h:d*t});var m=a.color,g=o.color,y=l.color;(g||y)&&(t.selectedColorFn=function(e){var t=e.mcc||m;return e.selected?g||t:y||t});var v=a.size,x=o.size,_=l.size,b=void 0!==x,w=void 0!==_;return s.traceIs(e,"symbols")&&(b||w)&&(t.selectedSizeFn=function(e){var t=e.mrc||v/2;return e.selected?b?x/2:t:w?_/2:t}),t},v.makeSelectedTextStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},i=e.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,c=a.color,u=o.color;return t.selectedTextColorFn=function(e){var t=e.tc||s;return e.selected?c||t:u||(c?t:l.addOpacity(t,d))},t},v.selectedPointStyle=function(e,t){if(e.size()&&t.selectedpoints){var n=v.makeSelectedPointStyleFns(t),i=t.marker||{},a=[];n.selectedOpacityFn&&a.push((function(e,t){e.style("opacity",n.selectedOpacityFn(t))})),n.selectedColorFn&&a.push((function(e,t){l.fill(e,n.selectedColorFn(t))})),n.selectedSizeFn&&a.push((function(e,r){var a=r.mx||i.symbol||0,o=n.selectedSizeFn(r);e.attr("d",A(v.symbolNumber(a),o,se(r,t),$(r,t))),r.mrc2=o})),a.length&&e.each((function(e){for(var t=r.select(this),n=0;n0?r:0}function O(e,t,r){return r&&(e=V(e)),t?B(e[1]):R(e[0])}function R(e){var t=r.round(e,2);return I=t,t}function B(e){var t=r.round(e,2);return L=t,t}function j(e,t,r,n){var i=e[0]-t[0],a=e[1]-t[1],o=r[0]-t[0],s=r[1]-t[1],l=Math.pow(i*i+a*a,.25),c=Math.pow(o*o+s*s,.25),u=(c*c*i-l*l*o)*n,h=(c*c*a-l*l*s)*n,f=3*c*(l+c),p=3*l*(l+c);return[[R(t[0]+(f&&u/f)),B(t[1]+(f&&h/f))],[R(t[0]-(p&&u/p)),B(t[1]-(p&&h/p))]]}v.textPointStyle=function(e,t,i){if(e.size()){var a;if(t.selectedpoints){var o=v.makeSelectedTextStyleFns(t);a=o.selectedTextColorFn}var s=t.texttemplate,l=i._fullLayout;e.each((function(e){var o=r.select(this),c=s?n.extractOption(e,t,"txt","texttemplate"):n.extractOption(e,t,"tx","text");if(c||0===c){if(s){var u=t._module.formatLabels,f=u?u(e,t,l):{},p={};y(p,t,e.i),c=n.texttemplateString({data:[p,e,t._meta],fallback:t.texttemplatefallback,labels:f,locale:l._d3locale,template:c})}var d=e.tp||t.textposition,m=D(e,t),g=a?a(e):e.tc||t.textfont.color;o.call(v.font,{family:e.tf||t.textfont.family,weight:e.tw||t.textfont.weight,style:e.ty||t.textfont.style,variant:e.tv||t.textfont.variant,textcase:e.tC||t.textfont.textcase,lineposition:e.tE||t.textfont.lineposition,shadow:e.tS||t.textfont.shadow,size:m,color:g}).text(c).call(h.convertToTspans,i).call(z,d,m,e.mrc)}else o.remove()}))}},v.selectedTextStyle=function(e,t){if(e.size()&&t.selectedpoints){var n=v.makeSelectedTextStyleFns(t);e.each((function(e){var i=r.select(this),a=n.selectedTextColorFn(e),o=e.tp||t.textposition,c=D(e,t);l.fill(i,a);var u=s.traceIs(t,"bar-like");z(i,o,c,e.mrc2||e.mrc,u)}))}},v.smoothopen=function(e,t){if(e.length<3)return"M"+e.join("L");var r,n="M"+e[0],i=[];for(r=1;r=c||w>=h&&w<=c)&&(T<=f&&T>=u||T>=f&&T<=u)&&(e=[w,T])}return e}v.steps=function(e){var t=N[e]||U;return function(e){for(var r="M"+R(e[0][0])+","+B(e[0][1]),n=e.length,i=1;i=1e4&&(v.savedBBoxes={},q=0),i&&(v.savedBBoxes[i]=g),q++,n.extendFlat({},g)},v.setClipUrl=function(e,t,r){e.attr("clip-path",G(t,r))},v.getTranslate=function(e){var t=(e[e.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,(function(e,t,r){return[t,r].join(" ")})).split(" ");return{x:+t[0]||0,y:+t[1]||0}},v.setTranslate=function(e,t,r){var n=e.attr?"attr":"getAttribute",i=e.attr?"attr":"setAttribute",a=e[n]("transform")||"";return t=t||0,r=r||0,a=a.replace(/(\btranslate\(.*?\);?)/,"").trim(),a=(a+=u(t,r)).trim(),e[i]("transform",a),a},v.getScale=function(e){var t=(e[e.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,(function(e,t,r){return[t,r].join(" ")})).split(" ");return{x:+t[0]||1,y:+t[1]||1}},v.setScale=function(e,t,r){var n=e.attr?"attr":"getAttribute",i=e.attr?"attr":"setAttribute",a=e[n]("transform")||"";return t=t||1,r=r||1,a=a.replace(/(\bscale\(.*?\);?)/,"").trim(),a=(a+="scale("+t+","+r+")").trim(),e[i]("transform",a),a};var Y=/\s*sc.*/;v.setPointGroupScale=function(e,t,r){if(t=t||1,r=r||1,e){var n=1===t&&1===r?"":"scale("+t+","+r+")";e.each((function(){var e=(this.getAttribute("transform")||"").replace(Y,"");e=(e+=n).trim(),this.setAttribute("transform",e)}))}};var X=/translate\([^)]*\)\s*$/;function $(e,t){var r;return e&&(r=e.mf),void 0===r&&(r=t.marker&&t.marker.standoff||0),t._geo||t._xA?r:-r}v.setTextPointsScale=function(e,t,n){e&&e.each((function(){var e,i=r.select(this),a=i.select("text");if(a.node()){var o=parseFloat(a.attr("x")||0),s=parseFloat(a.attr("y")||0),l=(i.attr("transform")||"").match(X);e=1===t&&1===n?[]:[u(o,s),"scale("+t+","+n+")",u(-o,-s)],l&&e.push(l),i.attr("transform",e.join(""))}}))},v.getMarkerStandoff=$;var K,J,Q,ee,te,re,ne=Math.atan2,ie=Math.cos,ae=Math.sin;function oe(e,t){var r=t[0],n=t[1];return[r*ie(e)-n*ae(e),r*ae(e)+n*ie(e)]}function se(e,t){var r=e.ma;void 0===r&&(!(r=t.marker.angle)||n.isArrayOrTypedArray(r))&&(r=0);var i,o,s=t.marker.angleref;if("previous"===s||"north"===s){if(t._geo){var l=t._geo.project(e.lonlat);i=l[0],o=l[1]}else{var c=t._xA,u=t._yA;if(!c||!u)return 90;i=c.c2p(e.x),o=u.c2p(e.y)}if(t._geo){var h,f=e.lonlat[0],p=e.lonlat[1],d=t._geo.project([f,p+1e-5]),m=t._geo.project([f+1e-5,p]),g=ne(m[1]-o,m[0]-i),y=ne(d[1]-o,d[0]-i);if("north"===s)h=r/180*Math.PI;else if("previous"===s){var v=f/180*Math.PI,x=p/180*Math.PI,_=K/180*Math.PI,b=J/180*Math.PI,w=_-v,T=ie(b)*ae(w),k=ae(b)*ie(x)-ie(b)*ae(x)*ie(w);h=-ne(T,k)-Math.PI,K=f,J=p}var A=oe(g,[ie(h),0]),M=oe(y,[ae(h),0]);r=ne(A[1]+M[1],A[0]+M[0])/Math.PI*180,"previous"===s&&(re!==t.uid||e.i!==te+1)&&(r=null)}if("previous"===s&&!t._geo)if(re===t.uid&&e.i===te+1&&a(i)&&a(o)){var S=i-Q,E=o-ee,C=t.line&&t.line.shape||"",I=C.slice(C.length-1);"h"===I&&(E=0),"v"===I&&(S=0),r+=ne(E,S)/Math.PI*180+90}else r=null}return Q=i,ee=o,te=e.i,re=t.uid,r}v.getMarkerAngle=se}}),tr=m({"src/components/titles/index.js"(e,t){var r=b(),n=M(),i=At(),a=He(),o=ct(),s=o.strTranslate,l=er(),c=W(),u=Et(),h=Z(),f=St().OPPOSITE_SIDE,p=/ [XY][0-9]* /;t.exports={draw:function(e,t,d){var m,g=e._fullLayout,y=d.propContainer,v=d.propName,x=d.placeholder,_=d.traceIndex,b=d.avoid||{},w=d.attributes,T=d.transform,k=d.containerGroup,A=1,M=y.title,S=(M&&M.text?M.text:"").trim(),E=!1,C=M&&M.font?M.font:{},I=C.family,L=C.size,P=C.color,z=C.weight,D=C.style,O=C.variant,R=C.textcase,F=C.lineposition,B=C.shadow,j=!!d.subtitlePropName,N=d.subtitlePlaceholder,U=(y.title||{}).subtitle||{text:"",font:{}},V=(U.text||"").trim(),q=!1,H=1,G=U.font,W=G.family,Z=G.size,Y=G.color,X=G.weight,$=G.style,K=G.variant,J=G.textcase,Q=G.lineposition,ee=G.shadow;"title.text"===v?m="titleText":-1!==v.indexOf("axis")?m="axisTitleText":-1!==v.indexOf("colorbar")&&(m="colorbarTitleText");var te=e._context.edits[m];function re(e,t){return void 0!==e&&void 0!==t&&e.replace(p," % ")===t.replace(p," % ")}""===S?A=0:re(S,x)&&(te||(S=""),A=.2,E=!0),j&&(""===V?H=0:re(V,N)&&(te||(V=""),H=.2,q=!0)),d._meta?S=o.templateString(S,d._meta):g._meta&&(S=o.templateString(S,g._meta));var ne,ie=S||V||te;k||(k=o.ensureSingle(g._infolayer,"g","g-"+t),ne=g._hColorbarMoveTitle);var ae=k.selectAll("text."+t).data(ie?[0]:[]);ae.enter().append("text"),ae.text(S).attr("class",t),ae.exit().remove();var oe=null,se=t+"-subtitle",le=V||te;if(j&&((oe=k.selectAll("text."+se).data(le?[0]:[])).enter().append("text"),oe.text(V).attr("class",se),oe.exit().remove()),!ie)return k;function ce(e,t){o.syncOrAsync([ue,he],{title:e,subtitle:t})}function ue(n){var a,h=n.title,f=n.subtitle;if(!T&&ne&&(T={}),T?(a="",T.rotate&&(a+="rotate("+[T.rotate,w.x,w.y]+")"),(T.offset||ne)&&(a+=s(0,(T.offset||0)-(ne||0)))):a=null,h.attr("transform",a),h.style("opacity",A*c.opacity(P)).call(l.font,{color:c.rgb(P),size:r.round(L,2),family:I,weight:z,style:D,variant:O,textcase:R,shadow:B,lineposition:F}).attr(w).call(u.convertToTspans,e,(function(e){if(e){var t=r.select(e.node().parentNode).select("."+se);if(!t.empty()){var n=e.node().getBBox();if(n.height){var i=n.y+n.height+1.6*Z;t.attr("y",i)}}}})),f&&!f.empty()){var p=k.select("."+t+"-math-group"),d=h.node().getBBox(),m=p.node()?p.node().getBBox():void 0,g=m?m.y+m.height+1.6*Z:d.y+d.height+1.6*Z,y=o.extendFlat({},w,{y:g});f.attr("transform",a),f.style("opacity",H*c.opacity(Y)).call(l.font,{color:c.rgb(Y),size:r.round(Z,2),family:W,weight:X,style:$,variant:K,textcase:J,shadow:ee,lineposition:Q}).attr(y).call(u.convertToTspans,e)}return i.previousPromises(e)}function he(t){var i=t.title,a=r.select(i.node().parentNode);if(b&&b.selection&&b.side&&S){a.attr("transform",null);var c=f[b.side],u="left"===b.side||"top"===b.side?-1:1,h=n(b.pad)?b.pad:2,p=l.bBox(a.node()),d={t:0,b:0,l:0,r:0},m=e._fullLayout._reservedMargin;for(var v in m)for(var x in m[v]){var _=m[v][x];d[x]=Math.max(d[x],_)}var w={left:d.l,top:d.t,right:g.width-d.r,bottom:g.height-d.b},T=b.maxShift||u*(w[b.side]-p[b.side]),k=0;if(T<0)k=T;else{var A=b.offsetLeft||0,M=b.offsetTop||0;p.left-=A,p.right-=A,p.top-=M,p.bottom-=M,b.selection.each((function(){var e=l.bBox(this);o.bBoxIntersect(p,e,h)&&(k=Math.max(k,u*(e[b.side]-p[c])+h))})),k=Math.min(T,k),y._titleScoot=Math.abs(k)}if(k>0||T<0){var E={left:[-k,0],right:[k,0],top:[0,-k],bottom:[0,k]}[b.side];a.attr("transform",s(E[0],E[1]))}}}function fe(e,t){e.text(t).on("mouseover.opacity",(function(){r.select(this).transition().duration(h.SHOW_PLACEHOLDER).style("opacity",1)})).on("mouseout.opacity",(function(){r.select(this).transition().duration(h.HIDE_PLACEHOLDER).style("opacity",0)}))}if(ae.call(ce,oe),te&&(S?ae.on(".opacity",null):(fe(ae,x),E=!0),ae.call(u.makeEditable,{gd:e}).on("edit",(function(t){void 0!==_?a.call("_guiRestyle",e,v,t,_):a.call("_guiRelayout",e,v,t)})).on("cancel",(function(){this.text(this.attr("data-unformatted")).call(ce)})).on("input",(function(e){this.text(e||" ").call(u.positionText,w.x,w.y)})),j)){if(j&&!S){var pe=ae.node().getBBox(),de=pe.y+pe.height+1.6*Z;oe.attr("y",de)}V?oe.on(".opacity",null):(fe(oe,N),q=!0),oe.call(u.makeEditable,{gd:e}).on("edit",(function(t){a.call("_guiRelayout",e,"title.subtitle.text",t)})).on("cancel",(function(){this.text(this.attr("data-unformatted")).call(ce)})).on("input",(function(e){this.text(e||" ").call(u.positionText,oe.attr("x"),oe.attr("y"))}))}return ae.classed("js-placeholder",E),oe&&!oe.empty()&&oe.classed("js-placeholder",q),k},SUBTITLE_PADDING_EM:1.6,SUBTITLE_PADDING_MATHJAX_EM:1.6}}}),rr=m({"src/plots/cartesian/set_convert.js"(e,t){var r=b(),n=T().utcFormat,i=ct(),a=i.numberFormat,o=M(),s=i.cleanNumber,l=i.ms2DateTime,c=i.dateTime2ms,u=i.ensureNumber,h=i.isArrayOrTypedArray,f=S(),p=f.FP_SAFE,d=f.BADNUM,m=f.LOG_CLIP,g=f.ONEWEEK,y=f.ONEDAY,v=f.ONEHOUR,x=f.ONEMIN,_=f.ONESEC,w=_t(),k=xt(),A=k.HOUR_PATTERN,E=k.WEEKDAY_PATTERN;function C(e){return Math.pow(10,e)}function I(e){return null!=e}t.exports=function(e,t){t=t||{};var f=e._id||"x",b=f.charAt(0);function T(t,r){if(t>0)return Math.log(t)/Math.LN10;if(t<=0&&r&&e.range&&2===e.range.length){var n=e.range[0],i=e.range[1];return.5*(n+i-2*m*Math.abs(n-i))}return d}function M(t,r,n,a){if((a||{}).msUTC&&o(t))return+t;var s=c(t,n||e.calendar);if(s===d){if(!o(t))return d;t=+t;var l=Math.floor(10*i.mod(t+.05,1)),u=Math.round(t-l/10);s=c(new Date(u))+l/10}return s}function S(t,r,n){return l(t,r,n||e.calendar)}function L(t){return e._categories[Math.round(t)]}function P(t){if(I(t)){if(void 0===e._categoriesMap&&(e._categoriesMap={}),void 0!==e._categoriesMap[t])return e._categoriesMap[t];e._categories.push("number"==typeof t?String(t):t);var r=e._categories.length-1;return e._categoriesMap[t]=r,r}return d}function z(t){if(e._categoriesMap)return e._categoriesMap[t]}function D(e){var t=z(e);return void 0!==t?t:o(e)?+e:void 0}function O(e){return o(e)?+e:z(e)}function R(e,t,n){return r.round(n+t*e,2)}function F(e,t,r){return(e-r)/t}var B=function(t){return o(t)?R(t,e._m,e._b):d},j=function(t){return F(t,e._m,e._b)};if(e.rangebreaks){var N="y"===b;B=function(t){if(!o(t))return d;var r=e._rangebreaks.length;if(!r)return R(t,e._m,e._b);var n=N;e.range[0]>e.range[1]&&(n=!n);for(var i=n?-1:1,a=i*t,s=0,l=0;lu)){s=a<(c+u)/2?l:l+1;break}s=l+1}var h=e._B[s]||0;return isFinite(h)?R(t,e._m2,h):0},j=function(t){var r=e._rangebreaks.length;if(!r)return F(t,e._m,e._b);for(var n=0,i=0;ie._rangebreaks[i].pmax&&(n=i+1);return F(t,e._m2,e._B[n])}}e.c2l="log"===e.type?T:u,e.l2c="log"===e.type?C:u,e.l2p=B,e.p2l=j,e.c2p="log"===e.type?function(e,t){return B(T(e,t))}:B,e.p2c="log"===e.type?function(e){return C(j(e))}:j,-1!==["linear","-"].indexOf(e.type)?(e.d2r=e.r2d=e.d2c=e.r2c=e.d2l=e.r2l=s,e.c2d=e.c2r=e.l2d=e.l2r=u,e.d2p=e.r2p=function(t){return e.l2p(s(t))},e.p2d=e.p2r=j,e.cleanPos=u):"log"===e.type?(e.d2r=e.d2l=function(e,t){return T(s(e),t)},e.r2d=e.r2c=function(e){return C(s(e))},e.d2c=e.r2l=s,e.c2d=e.l2r=u,e.c2r=T,e.l2d=C,e.d2p=function(t,r){return e.l2p(e.d2r(t,r))},e.p2d=function(e){return C(j(e))},e.r2p=function(t){return e.l2p(s(t))},e.p2r=j,e.cleanPos=u):"date"===e.type?(e.d2r=e.r2d=i.identity,e.d2c=e.r2c=e.d2l=e.r2l=M,e.c2d=e.c2r=e.l2d=e.l2r=S,e.d2p=e.r2p=function(t,r,n){return e.l2p(M(t,0,n))},e.p2d=e.p2r=function(e,t,r){return S(j(e),t,r)},e.cleanPos=function(t){return i.cleanDate(t,d,e.calendar)}):"category"===e.type?(e.d2c=e.d2l=P,e.r2d=e.c2d=e.l2d=L,e.d2r=e.d2l_noadd=D,e.r2c=function(t){var r=O(t);return void 0!==r?r:e.fraction2r(.5)},e.l2r=e.c2r=u,e.r2l=O,e.d2p=function(t){return e.l2p(e.r2c(t))},e.p2d=function(e){return L(j(e))},e.r2p=e.d2p,e.p2r=j,e.cleanPos=function(e){return"string"==typeof e&&""!==e?e:u(e)}):"multicategory"===e.type&&(e.r2d=e.c2d=e.l2d=L,e.d2r=e.d2l_noadd=D,e.r2c=function(t){var r=D(t);return void 0!==r?r:e.fraction2r(.5)},e.r2c_just_indices=z,e.l2r=e.c2r=u,e.r2l=D,e.d2p=function(t){return e.l2p(e.r2c(t))},e.p2d=function(e){return L(j(e))},e.r2p=e.d2p,e.p2r=j,e.cleanPos=function(e){return Array.isArray(e)||"string"==typeof e&&""!==e?e:u(e)},e.setupMultiCategory=function(r){var n,a,o=e._traceIndices,s=e._matchGroup;if(s&&0===e._categories.length)for(var l in s)if(l!==f){var c=t[w.id2name(l)];o=o.concat(c._traceIndices)}var u=[[0,{}],[0,{}]],p=[];for(n=0;nl[1]&&(a[s?0:1]=n,o[1]=l[1]),o[0]>=o[1])if(void 0!==r){var c=l[0]+1;void 0!==n&&(c=Math.min(c,l[1])),a[s?0:1]=e.l2r(c)}else void 0!==n&&(a[s?1:0]=e.l2r(l[1]-1))}},e.cleanRange=function(t,r){e._cleanRange(t,r),e.limitRange(t)},e._cleanRange=function(t,r){r||(r={}),t||(t="range");var n,a,s=i.nestedProperty(e,t).get();if(a=(a="date"===e.type?i.dfltRange(e.calendar):"y"===b?k.DFLTRANGEY:"realaxis"===e._name?[0,1]:r.dfltRange||k.DFLTRANGEX).slice(),("tozero"===e.rangemode||"nonnegative"===e.rangemode)&&(a[0]=0),s&&2===s.length){var l=null===s[0],c=null===s[1];for("date"===e.type&&!e.autorange&&(s[0]=i.cleanDate(s[0],d,e.calendar),s[1]=i.cleanDate(s[1],d,e.calendar)),n=0;n<2;n++)if("date"===e.type){if(!i.isDateTime(s[n],e.calendar)){e[t]=a;break}if(e.r2l(s[0])===e.r2l(s[1])){var u=i.constrain(e.r2l(s[0]),i.MIN_MS+1e3,i.MAX_MS-1e3);s[0]=e.l2r(u-1e3),s[1]=e.l2r(u+1e3);break}}else{if(!o(s[n])){if(l||c||!o(s[1-n])){e[t]=a;break}s[n]=s[1-n]*(n?10:.1)}if(s[n]<-p?s[n]=-p:s[n]>p&&(s[n]=p),s[0]===s[1]){var h=Math.max(1,Math.abs(1e-6*s[0]));s[0]-=h,s[1]+=h}}}else i.nestedProperty(e,t).set(a)},e.setScale=function(r){var n=t._size;if(e.overlaying){var i=w.getFromId({_fullLayout:t},e.overlaying);e.domain=i.domain}var a=r&&e._r?"_r":"range",o=e.calendar;e.cleanRange(a);var s,l,c=e.r2l(e[a][0],o),u=e.r2l(e[a][1],o),h="y"===b;if(h?(e._offset=n.t+(1-e.domain[1])*n.h,e._length=n.h*(e.domain[1]-e.domain[0]),e._m=e._length/(c-u),e._b=-e._m*u):(e._offset=n.l+e.domain[0]*n.w,e._length=n.w*(e.domain[1]-e.domain[0]),e._m=e._length/(u-c),e._b=-e._m*c),e._rangebreaks=[],e._lBreaks=0,e._m2=0,e._B=[],e.rangebreaks&&(e._rangebreaks=e.locateBreaks(Math.min(c,u),Math.max(c,u)),e._rangebreaks.length)){for(s=0;su&&(f=!f),f&&e._rangebreaks.reverse();var p=f?-1:1;for(e._m2=p*e._length/(Math.abs(u-c)-e._lBreaks),e._B.push(-e._m2*(h?u:c)),s=0;sa&&(a+=7,oa&&(a+=24,o=n&&o=n&&t=s.min&&(es.max&&(s.max=n),a=!1)}a&&c.push({min:e,max:n})}};for(n=0;n2*s}(f,t))return"date";var y="strict"!==n.autotypenumbers;return function(e,t){for(var r=e.length,n=u(r),a=0,o=0,c={},h=0;h2*a}(f,y)?"category":function(e,t){for(var r=e.length,n=0;n0&&((A=I-s(_)-l(b))>L?M/A>P&&(w=_,k=b,P=M/A):M/I>P&&(w={val:_.val,nopad:1},k={val:b.val,nopad:1},P=M/I));if(m===g){var z=m-1,D=m+1;if(E)if(0===m)a=[0,1];else{var O=(m>0?h:u).reduce((function(e,t){return Math.max(e,l(t))}),0),R=m/(1-Math.min(.5,O/I));a=m>0?[0,R]:[R,0]}else a=C?[Math.max(0,z),Math.max(1,D)]:[z,D]}else E?(w.val>=0&&(w={val:0,nopad:1}),k.val<=0&&(k={val:0,nopad:1})):C&&(w.val-P*s(w)<0&&(w={val:0,nopad:1}),k.val<=0&&(k={val:1,nopad:1})),P=(k.val-w.val-f(t,_.val,b.val))/(I-s(w)-l(k)),a=[w.val-P*s(w),k.val+P*l(k)];return a=T(a,t),t.limitRange&&t.limitRange(),v&&a.reverse(),i.simpleMap(a,t.l2r||Number)}function f(e,t,r){var n=0;if(e.rangebreaks)for(var i=e.locateBreaks(t,r),a=0;a=r&&(c.extrapad||!o)){s=!1;break}i(t,c.val)&&c.pad<=r&&(o||!c.extrapad)&&(e.splice(l,1),l--)}if(s){var u=a&&0===t;e.push({val:t,pad:u?0:r,extrapad:!u&&o})}}function v(e){return n(e)&&Math.abs(e)=t}function w(e,t,r){return void 0===t||void 0===r||(t=e.d2l(t))=c&&(o=c,r=c),s<=c&&(s=c,n=c)}}return r=function(e,t){var r=t.autorangeoptions;return r&&void 0!==r.minallowed&&w(t,r.minallowed,r.maxallowed)?r.minallowed:r&&void 0!==r.clipmin&&w(t,r.clipmin,r.clipmax)?Math.max(e,t.d2l(r.clipmin)):e}(r,t),n=function(e,t){var r=t.autorangeoptions;return r&&void 0!==r.maxallowed&&w(t,r.minallowed,r.maxallowed)?r.maxallowed:r&&void 0!==r.clipmax&&w(t,r.clipmin,r.clipmax)?Math.min(e,t.d2l(r.clipmax)):e}(n,t),[r,n]}t.exports={applyAutorangeOptions:T,getAutoRange:h,makePadFn:p,doAutoRange:function(e,t,r){if(t.setScale(),t.autorange){t.range=r?r.slice():h(e,t),t._r=t.range.slice(),t._rl=i.simpleMap(t._r,t.r2l);var n=t._input,a={};a[t._attr+".range"]=t.range,a[t._attr+".autorange"]=t.autorange,o.call("_storeDirectGUIEdit",e.layout,e._fullLayout._preGUI,a),n.range=t.range.slice(),n.autorange=t.autorange}var s=t._anchorAxis;if(s&&s.rangeslider){var l=s.rangeslider[t._name];l&&"auto"===l.rangemode&&(l.range=h(e,t)),s._input.rangeslider[t._name]=i.extendFlat({},l)}},findExtremes:function(e,t,r){r||(r={}),e._m||e.setScale();var i,o,s,l,c,u,h,f,p,d=[],y=[],x=t.length,_=r.padded||!1,b=r.tozero&&("linear"===e.type||"-"===e.type),w="log"===e.type,T=!1,k=r.vpadLinearized||!1;function A(e){if(Array.isArray(e))return T=!0,function(t){return Math.max(Number(e[t]||0),0)};var t=Math.max(Number(e||0),0);return function(){return t}}var M=A((e._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((e._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=A(r.vpadplus||r.vpad),C=A(r.vpadminus||r.vpad);if(!T){if(f=1/0,p=-1/0,w)for(i=0;i0&&(f=o),o>p&&o-a&&(f=o),o>p&&o=P;i--)L(i);return{min:d,max:y,opts:r}},concatExtremes:d}}}),ar=m({"src/plots/cartesian/axes.js"(e,t){var r=b(),n=M(),i=At(),a=He(),o=ct(),s=o.strTranslate,l=Et(),c=tr(),u=W(),h=er(),f=Lt(),p=Rt(),d=(xt(),S()),m=d.ONEMAXYEAR,g=d.ONEAVGYEAR,y=d.ONEMINYEAR,v=d.ONEMAXQUARTER,x=d.ONEAVGQUARTER,_=d.ONEMINQUARTER,w=d.ONEMAXMONTH,T=d.ONEAVGMONTH,k=d.ONEMINMONTH,A=d.ONEWEEK,E=d.ONEDAY,C=E/2,I=d.ONEHOUR,L=d.ONEMIN,P=d.ONESEC,z=d.ONEMILLI,D=d.ONEMICROSEC,O=d.MINUS_SIGN,R=d.BADNUM,F={K:"zeroline"},B={K:"gridline",L:"path"},j={K:"minor-gridline",L:"path"},N={K:"tick",L:"path"},U={K:"tick",L:"text"},V={width:["x","r","l","xl","xr"],height:["y","t","b","yt","yb"],right:["r","xr"],left:["l","xl"],top:["t","yt"],bottom:["b","yb"]},q=St(),H=q.MID_SHIFT,G=q.CAP_SHIFT,Z=q.LINE_SPACING,Y=q.OPPOSITE_SIDE,X=t.exports={};X.setConvert=rr();var $=nr(),K=_t(),J=K.idSort,Q=K.isLinked;X.id2name=K.id2name,X.name2id=K.name2id,X.cleanId=K.cleanId,X.list=K.list,X.listIds=K.listIds,X.getFromId=K.getFromId,X.getFromTrace=K.getFromTrace;var ee=ir();function te(e){var t=1e-4*(e[1]-e[0]);return[e[0]-t,e[1]+t]}X.getAutoRange=ee.getAutoRange,X.findExtremes=ee.findExtremes,X.coerceRef=function(e,t,r,n,i,a){var s=n.charAt(n.length-1),l=r._fullLayout._subplots[s+"axis"],c=n+"ref",u={};return i||(i=l[0]||("string"==typeof a?a:a[0])),a||(a=i),l=l.concat(l.map((function(e){return e+" domain"}))),u[c]={valType:"enumerated",values:l.concat(a?"string"==typeof a?[a]:a:[]),dflt:i},o.coerce(e,t,u,c)},X.coerceRefArray=function(e,t,r,n,i,a,s){let l=n.charAt(n.length-1);var c=r._fullLayout._subplots[l+"axis"];let u=n+"ref";var h=e[u];i||(i=c[0]||("string"==typeof a?a:a[0])),c=(c=c.concat(c.map((e=>e+" domain")))).concat(a||[]),h.length>s?(o.warn("Array attribute "+u+" has more entries than expected, truncating to "+s),h=h.slice(0,s)):h.lengthn&&f2e-6||((r-e._forceTick0)/e._minDtick%1+1.000001)%1>2e-6)&&(e._minDtick=0)):e._minDtick=0},X.saveRangeInitial=function(e,t){for(var r=X.list(e,"",!0),n=!1,i=0;i.3*f||u(i)||u(a))){var p=r.dtick/2;e+=e+p.8){var s=Number(r.slice(1));a.exactYears>.8&&s%12==0?e=X.tickIncrement(e,"M6","reverse")+1.5*E:a.exactMonths>.8?e=X.tickIncrement(e,"M1","reverse")+15.5*E:e-=C;var l=X.tickIncrement(e,r);if(l<=n)return l}return e}(v,e,y,c,a)),g=v;g<=u;)g=X.tickIncrement(g,y,!1,a);return{start:t.c2r(v,0,a),end:t.c2r(g,0,a),size:y,_dataSpan:u-c}},X.prepMinorTicks=function(e,t,r){var i,a;if(null==(i=t.minor)||!i.dtick){delete e.dtick;var s,l=t.dtick&&n(t._tmin);if(l){var c=X.tickIncrement(t._tmin,t.dtick,!0);s=[t._tmin,.99*c+.01*t._tmin]}else{var u=o.simpleMap(t.range,t.r2l);s=[u[0],.8*u[0]+.2*u[1]]}if(e.range=o.simpleMap(s,t.l2r),e._isMinor=!0,X.prepTicks(e,r),l){var h=n(t.dtick),f=n(e.dtick),p=h?t.dtick:+t.dtick.substring(1),d=f?e.dtick:+e.dtick.substring(1);h&&f?ae(p,d)?p===2*A&&d===2*E&&(e.dtick=A):p===2*A&&d===3*E?e.dtick=A:p!==A||(t._input.minor||{}).nticks?oe(p/d,2.5)?e.dtick=p/2:e.dtick=p:e.dtick=E:"M"===String(t.dtick).charAt(0)?f?e.dtick="M1":ae(p,d)?p>=12&&2===d&&(e.dtick="M3"):e.dtick=t.dtick:"L"===String(e.dtick).charAt(0)?"L"===String(t.dtick).charAt(0)?ae(p,d)||(e.dtick=oe(p/d,2.5)?t.dtick/2:t.dtick):e.dtick="D1":"D2"===e.dtick&&+t.dtick>1&&(e.dtick=1)}e.range=t.range}void 0===(null==(a=t.minor)?void 0:a._tick0Init)&&(e.tick0=t.tick0)},X.prepTicks=function(e,t){var r=o.simpleMap(e.range,e.r2l,void 0,void 0,t);if("auto"===e.tickmode||!e.dtick){var i,a=e.nticks;a||("category"===e.type||"multicategory"===e.type?(i=e.tickfont?o.bigFont(e.tickfont.size||12):15,a=e._length/i):(i="y"===e._id.charAt(0)?40:80,a=o.constrain(e._length/i,4,9)+1),"radialaxis"===e._name&&(a*=2)),e.minor&&"array"!==e.minor.tickmode||"array"===e.tickmode&&(a*=100),e._roughDTick=Math.abs(r[1]-r[0])/a,X.autoTicks(e,e._roughDTick),e._minDtick>0&&e.dtick<2*e._minDtick&&(e.dtick=e._minDtick,e.tick0=e.l2r(e._forceTick0))}"period"===e.ticklabelmode&&function(e){var t;function r(){return!(n(e.dtick)||"M"!==e.dtick.charAt(0))}var i=r(),a=X.getTickFormat(e);if(a){var o=e._dtickInit!==e.dtick;/%[fLQsSMX]/.test(a)||(/%[HI]/.test(a)?(t=I,o&&!i&&e.dticke.range[1],c=!e.ticklabelindex||o.isArrayOrTypedArray(e.ticklabelindex)?e.ticklabelindex:[e.ticklabelindex],u=o.simpleMap(e.range,e.r2l,void 0,void 0,t),h=u[1]=(j?0:1);N--){var U=!N;N?(e._dtickInit=e.dtick,e._tick0Init=e.tick0):j&&(e.minor._dtickInit=e.minor.dtick,e.minor._tick0Init=e.minor.tick0);var V=N?e:o.extendFlat({},e,j?e.minor:{minor:{}});if(U?X.prepMinorTicks(V,e,t):X.prepTicks(V,t),"array"!==V.tickmode)if("sync"!==V.tickmode){var q=te(u),H=q[0],G=q[1],W=n(V.dtick),Z="log"===r&&!(W||"L"===V.dtick.charAt(0)),Y=X.tickFirst(V,t);if(N){if(e._tmin=Y,Y=G:Q<=G;Q=X.tickIncrement(Q,ee,h,i)){if(N&&$++,V.rangebreaks&&!h){if(Q=p)break}if(S.length>d||Q===J)break;J=Q;var re={value:Q};N?(Z&&Q!==(0|Q)&&(re.simpleLabel=!0),a>1&&$%a&&(re.skipLabel=!0),S.push(re)):(re.minor=!0,O.push(re))}}else S=[],b=ce(e);else N?(S=[],b=ue(e,!U)):(O=[],M=ue(e,!U))}var ne;if(!O||O.length<3?c=!1:function(e,t){return/%f/.test(t)?e>=D:/%L/.test(t)?e>=z:/%[SX]/.test(t)?e>=P:/%M/.test(t)?e>=L:/%[HI]/.test(t)?e>=I:/%p/.test(t)?e>=C:/%[Aadejuwx]/.test(t)?e>=E:/%[UVW]/.test(t)?e>=A:/%[Bbm]/.test(t)?e>=k:/%[q]/.test(t)?e>=_:!/%[Yy]/.test(t)||e>=y}((O[2].value-O[1].value)*(l?-1:1),e.tickformat)||(c=!1,O=O.slice(1)),c){var ie=S.concat(O);s&&S.length&&(ie=ie.slice(1)),(ie=ie.sort((function(e,t){return e.value-t.value})).filter((function(e,t,r){return 0===t||e.value!==r[t-1].value}))).map((function(e,t){return void 0!==e.minor||e.skipLabel?null:t})).filter((function(e){return null!==e})).forEach((function(e){c.map((function(t){var r=e+t;r>=0&&r0?(a=n-1,o=n):(a=n,o=n);var s,l=e[a].value,c=e[o].value,u=Math.abs(c-l),h=r||u,f=0;h>=y?f=u>=y&&u<=m?u:g:r===x&&h>=_?f=u>=_&&u<=v?u:x:h>=k?f=u>=k&&u<=w?u:T:r===A&&h>=A?f=A:h>=E?f=E:r===C&&h>=C?f=C:r===I&&h>=I&&(f=I),f>=u&&(f=u,s=!0);var p=i+f;if(t.rangebreaks&&f>0){for(var d=0,b=0;b<84;b++){var M=(b+.5)/84;t.maskBreaks(i*(1-M)+M*p)!==R&&d++}(f*=d/84)||(e[n].drop=!0),s&&u>A&&(f=u)}(f>0||0===n)&&(e[n].periodX=i+f/2)}}(F,e,e._definedDelta),e.rangebreaks){var de="y"===e._id.charAt(0),me=1;"auto"===e.tickmode&&(me=e.tickfont?e.tickfont.size:12);var ge=NaN;for(ne=S.length-1;ne>-1;ne--)if(S[ne].drop)S.splice(ne,1);else{S[ne].value=Ue(S[ne].value,e);var ye=e.c2p(S[ne].value);(de?ge>ye-me:gep||np&&(r.periodX=p),n10||"01-01"!==i.slice(5)?e._tickround="d":e._tickround=+t.slice(1)%12==0?"y":"m";else if(t>=E&&a<=10||t>=15*E)e._tickround="d";else if(t>=L&&a<=16||t>=I)e._tickround="M";else if(t>=P&&a<=19||t>=L)e._tickround="S";else{var o=e.l2r(r+t).replace(/^-/,"").length;e._tickround=Math.max(a,o)-20,e._tickround<0&&(e._tickround=4)}}else if(n(t)||"L"===t.charAt(0)){var s=e.range.map(e.r2d||Number);n(t)||(t=Number(t.slice(1))),e._tickround=2-Math.floor(Math.log(t)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),c=Math.floor(Math.log(l)/Math.LN10+.01),u=void 0===e.minexponent?3:e.minexponent;Math.abs(c)>u&&(Te(e.exponentformat)&&"SI extended"!==e.exponentformat&&!ke(c)||Te(e.exponentformat)&&"SI extended"===e.exponentformat&&!Ae(c)?e._tickexponent=3*Math.round((c-1)/3):e._tickexponent=c)}else e._tickround=null}function _e(e,t,r){var n=e.tickfont||{};return{x:t,dx:0,dy:0,text:r||"",fontSize:n.size,font:n.family,fontWeight:n.weight,fontStyle:n.style,fontVariant:n.variant,fontTextcase:n.textcase,fontLineposition:n.lineposition,fontShadow:n.shadow,fontColor:n.color}}X.autoTicks=function(e,t,r){var i;function a(e){return Math.pow(e,Math.floor(Math.log(t)/Math.LN10))}if("date"===e.type){e.tick0=o.dateTick0(e.calendar,0);var s=2*t;if(s>g)t/=g,i=a(10),e.dtick="M"+12*ve(t,i,he);else if(s>T)t/=T,e.dtick="M"+ve(t,1,fe);else if(s>E){if(e.dtick=ve(t,E,e._hasDayOfWeekBreaks?[1,2,7,14]:de),!r){var l=X.getTickFormat(e),c="period"===e.ticklabelmode;c&&(e._rawTick0=e.tick0),/%[uVW]/.test(l)?e.tick0=o.dateTick0(e.calendar,2):e.tick0=o.dateTick0(e.calendar,1),c&&(e._dowTick0=e.tick0)}}else s>I?e.dtick=ve(t,I,fe):s>L?e.dtick=ve(t,L,pe):s>P?e.dtick=ve(t,P,pe):(i=a(10),e.dtick=ve(t,i,he))}else if("log"===e.type){e.tick0=0;var u=o.simpleMap(e.range,e.r2l);if(e._isMinor&&(t*=1.5),t>.7)e.dtick=Math.ceil(t);else if(Math.abs(u[1]-u[0])<1){var h=1.5*Math.abs((u[1]-u[0])/t);t=Math.abs(Math.pow(10,u[1])-Math.pow(10,u[0]))/h,i=a(10),e.dtick="L"+ve(t,i,he)}else e.dtick=t>.3?"D2":"D1"}else"category"===e.type||"multicategory"===e.type?(e.tick0=0,e.dtick=Math.ceil(Math.max(t,1))):Ne(e)?(e.tick0=0,i=1,e.dtick=ve(t,i,ye)):(e.tick0=0,i=a(10),e.dtick=ve(t,i,he));if(0===e.dtick&&(e.dtick=1),!n(e.dtick)&&"string"!=typeof e.dtick){var f=e.dtick;throw e.dtick=1,"ax.dtick error: "+String(f)}},X.tickIncrement=function(e,t,i,a){var s=i?-1:1;if(n(t))return o.increment(e,s*t);var l=t.charAt(0),c=s*Number(t.slice(1));if("M"===l)return o.incrementMonth(e,c,a);if("L"===l)return Math.log(Math.pow(10,e)+c)/Math.LN10;if("D"===l){var u="D2"===t?ge:me,h=e+.01*s,f=o.roundUp(o.mod(h,1),u,i);return Math.floor(h)+Math.log(r.round(Math.pow(10,f),1))/Math.LN10}throw"unrecognized dtick "+String(t)},X.tickFirst=function(e,t){var i=e.r2l||Number,a=o.simpleMap(e.range,i,void 0,void 0,t),s=a[1]=0&&r<=e._length?t:null};if(l&&o.isArrayOrTypedArray(e.ticktext)){var p=o.simpleMap(e.range,e.r2l),d=(Math.abs(p[1]-p[0])-(e._lBreaks||0))/1e4;for(a=0;a ")}else e._prevDateHead=l,c+="
"+l;t.text=c}(e,s,r,c):"log"===u?function(e,t,r,i,a){var s=e.dtick,l=t.x,c=e.tickformat,u="string"==typeof s&&s.charAt(0);if("never"===a&&(a=""),i&&"L"!==u&&(s="L3",u="L"),c||"L"===u)t.text=Me(Math.pow(10,l),e,a,i);else if(n(s)||"D"===u&&("complete"===e.minorloglabels||o.mod(l+.01,1)<.1)){"complete"===e.minorloglabels&&!(o.mod(l+.01,1)<.1)&&(t.fontSize*=.75);var h=Math.pow(10,l).toExponential(0).split("e"),f=+h[1],p=Math.abs(f),d=e.exponentformat;"power"===d||Te(d)&&"SI extended"!==d&&ke(f)||Te(d)&&"SI extended"===d&&Ae(f)?(t.text=h[0],p>0&&(t.text+="x10"),"1x10"===t.text&&(t.text="10"),0!==f&&1!==f&&(t.text+=""+(f>0?"":O)+p+""),t.fontSize*=1.25):("e"===d||"E"===d)&&p>2?t.text=h[0]+d+(f>0?"+":O)+p:(t.text=Me(Math.pow(10,l),e,"","fakehover"),"D1"===s&&"y"===e._id.charAt(0)&&(t.dy-=t.fontSize/6))}else{if("D"!==u)throw"unrecognized dtick "+String(s);t.text="none"===e.minorloglabels?"":String(Math.round(Math.pow(10,o.mod(l,1)))),t.fontSize*=.75}if("D1"===e.dtick){var m=String(t.text).charAt(0);("0"===m||"1"===m)&&("y"===e._id.charAt(0)?t.dx-=t.fontSize/4:(t.dy+=t.fontSize/2,t.dx+=(e.range[1]>e.range[0]?1:-1)*t.fontSize*(l<0?.5:.25)))}}(e,s,0,c,g):"category"===u?function(e,t){var r=e._categories[Math.round(t.x)];void 0===r&&(r=""),t.text=String(r)}(e,s):"multicategory"===u?function(e,t,r){var n=Math.round(t.x),i=e._categories[n]||[],a=void 0===i[1]?"":String(i[1]),o=void 0===i[0]?"":String(i[0]);r?t.text=o+" - "+a:(t.text=a,t.text2=o)}(e,s,r):Ne(e)?function(e,t,r,n,i){if("radians"!==e.thetaunit||r)t.text=Me(t.x,e,i,n);else{var a=t.x/180;if(0===a)t.text="0";else{var s=function(e){function t(e,t){return Math.abs(e-t)<=1e-6}var r=function(e){for(var r=1;!t(Math.round(e*r)/r,e);)r*=10;return r}(e),n=e*r,i=Math.abs(function e(r,n){return t(n,0)?r:e(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(s[1]>=100)t.text=Me(o.deg2rad(t.x),e,i,n);else{var l=t.x<0;1===s[1]?1===s[0]?t.text="π":t.text=s[0]+"π":t.text=["",s[0],"","⁄","",s[1],"","π"].join(""),l&&(t.text=O+t.text)}}}}(e,s,r,c,g):function(e,t,r,n,i){"never"===i?i="":"all"===e.showexponent&&Math.abs(t.x/e.dtick)<1e-6&&(i="hide"),t.text=Me(t.x,e,i,n)}(e,s,0,c,g),i||(e.tickprefix&&!m(e.showtickprefix)&&(s.text=e.tickprefix+s.text),e.ticksuffix&&!m(e.showticksuffix)&&(s.text+=e.ticksuffix)),e.labelalias&&e.labelalias.hasOwnProperty(s.text)){var y=e.labelalias[s.text];"string"==typeof y&&(s.text=y)}return("boundaries"===e.tickson||e.showdividers)&&(s.xbnd=[f(s.x-.5),f(s.x+e.dtick-.5)]),s},X.hoverLabelText=function(e,t,r){r&&(e=o.extendFlat({},e,{hoverformat:r}));var n=o.isArrayOrTypedArray(t)?t[0]:t,i=o.isArrayOrTypedArray(t)?t[1]:void 0;if(void 0!==i&&i!==n)return X.hoverLabelText(e,n,r)+" - "+X.hoverLabelText(e,i,r);var a="log"===e.type&&n<=0,s=X.tickText(e,e.c2l(a?-n:n),"hover").text;return a?0===n?"0":O+s:s};var be=["f","p","n","μ","m","","k","M","G","T"],we=["q","r","y","z","a",...be,"P","E","Z","Y","R","Q"],Te=e=>["SI","SI extended","B"].includes(e);function ke(e){return e>14||e<-15}function Ae(e){return e>32||e<-30}function Me(e,t,r,i){var a=e<0,s=t._tickround,l=r||t.exponentformat||"B",c=t._tickexponent,u=X.getTickFormat(t),h=t.separatethousands;if(i){var f={exponentformat:l,minexponent:t.minexponent,dtick:"none"===t.showexponent?t.dtick:n(e)&&Math.abs(e)||1,range:"none"===t.showexponent?t.range.map(t.r2d):[0,e||1]};xe(f),s=(Number(f._tickround)||0)+4,c=f._tickexponent,t.hoverformat&&(u=t.hoverformat)}if(u)return t._numFormat(u)(e).replace(/-/g,O);var p,d=Math.pow(10,-s)/2;if("none"===l&&(c=0),(e=Math.abs(e))"+p+"":"B"===l&&9===c?e+="B":Te(l)&&(e+="SI extended"===l?we[c/3+10]:be[c/3+5])),a?O+e:e}function Se(e,t){if(e){var r=Object.keys(V).reduce((function(e,r){return-1!==t.indexOf(r)&&V[r].forEach((function(t){e[t]=1})),e}),{});Object.keys(e).forEach((function(t){r[t]||(1===t.length?e[t]=0:delete e[t])}))}}function Ee(e,t){for(var r=[],n={},i=0;i1&&r=i.min&&e=0,a=u(e,t[1])<=0;return(r||i)&&(n||a)}if(e.tickformatstops&&e.tickformatstops.length>0)switch(e.type){case"date":case"linear":for(t=0;t=o(i)))){r=n;break}break;case"log":for(t=0;t=0&&i.unshift(i.splice(n,1).shift())}}));var s={false:{left:0,right:0}};return o.syncOrAsync(i.map((function(t){return function(){if(t){var n=X.getFromId(e,t);r||(r={}),r.axShifts=s,r.overlayingShiftedAx=a;var i=X.drawOne(e,n,r);return n._shiftPusher&&Ge(n,n._fullDepth||0,s,!0),n._r=n.range.slice(),n._rl=o.simpleMap(n._r,n.r2l),i}}})))},X.drawOne=function(e,t,r){var n,s,f,p=(r=r||{}).axShifts||{},d=r.overlayingShiftedAx||[];t.setScale();var m=e._fullLayout,g=t._id,y=g.charAt(0),v=X.counterLetter(g),x=m._plots[t._mainSubplot],_="above traces"===t.zerolinelayer;if(x){if(t._shiftPusher=t.autoshift||-1!==d.indexOf(t._id)||-1!==d.indexOf(t.overlaying),t._shiftPusher&"free"===t.anchor){var b=t.linewidth/2||0;"inside"===t.ticks&&(b+=t.ticklen),Ge(t,b,p,!0),Ge(t,t.shift||0,p,!1)}(!0!==r.skipTitle||void 0===t._shift)&&(t._shift=function(e,t){return e.autoshift?t[e.overlaying][e.side]:e.shift||0}(t,p));var w=x[y+"axislayer"],T=t._mainLinePosition,k=T+=t._shift,A=t._mainMirrorPosition,M=t._vals=X.calcTicks(t),S=[t.mirror,k,A].join("_");for(n=0;n0?r.bottom-u:0,h))));var f=0,p=0;if(t._shiftPusher&&(f=Math.max(h,r.height>0?"l"===l?u-r.left:r.right-u:0),t.title.text!==m._dfltTitle[y]&&(p=(t._titleStandoff||0)+(t._titleScoot||0),"l"===l&&(p+=Le(t))),t._fullDepth=Math.max(f,p)),t.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var d=[0,1],g="number"==typeof t._shift?t._shift:0;if("x"===y){if("b"===l?n[l]=t._depth:(n[l]=t._depth=Math.max(r.width>0?u-r.top:0,h),d.reverse()),r.width>0){var x=r.right-(t._offset+t._length);x>0&&(n.xr=1,n.r=x);var _=t._offset-r.left;_>0&&(n.xl=0,n.l=_)}}else if("l"===l?(t._depth=Math.max(r.height>0?u-r.left:0,h),n[l]=t._depth-g):(t._depth=Math.max(r.height>0?r.right-u:0,h),n[l]=t._depth+g,d.reverse()),r.height>0){var b=r.bottom-(t._offset+t._length);b>0&&(n.yb=0,n.b=b);var w=t._offset-r.top;w>0&&(n.yt=1,n.t=w)}n[v]="free"===t.anchor?t.position:t._anchorAxis.domain[d[0]],t.title.text!==m._dfltTitle[y]&&(n[l]+=Le(t)+(t.title.standoff||0)),t.mirror&&"free"!==t.anchor&&((o={x:0,y:0,r:0,l:0,t:0,b:0})[c]=t.linewidth,t.mirror&&!0!==t.mirror&&(o[c]+=h),!0===t.mirror||"ticks"===t.mirror?o[v]=t._anchorAxis.domain[d[1]]:("all"===t.mirror||"allticks"===t.mirror)&&(o[v]=[t._counterDomainMin,t._counterDomainMax][d[1]]))}fe&&(s=a.getComponentMethod("rangeslider","autoMarginOpts")(e,t)),"string"==typeof t.automargin&&(Se(n,t.automargin),Se(o,t.automargin)),i.autoMargin(e,De(t),n),i.autoMargin(e,Oe(t),o),i.autoMargin(e,Re(t),s)})),o.syncOrAsync(ue)}}function pe(e){var r=g+(e||"tick");return E[r]||(E[r]=function(e,t,r){var n,i,a,o;if(e._selections[t].size())n=1/0,i=-1/0,a=1/0,o=-1/0,e._selections[t].each((function(){var e=ze(this);if("none"!==e.node().style.display){var t=h.bBox(e.node().parentNode);n=Math.min(n,t.top),i=Math.max(i,t.bottom),a=Math.min(a,t.left),o=Math.max(o,t.right)}}));else{var s=X.makeLabelFns(e,r);n=i=s.yFn({dx:0,dy:0,fontSize:0}),a=o=s.xFn({dx:0,dy:0,fontSize:0})}return{top:n,bottom:i,left:a,right:o,height:i-n,width:o-a}}(t,r,k)),E[r]}},X.getTickSigns=function(e,t){var r=e._id.charAt(0),n={x:"top",y:"right"}[r],i=e.side===n?1:-1,a=[-1,1,i,-i];return"inside"!==(t?(e.minor||{}).ticks:e.ticks)==("x"===r)&&(a=a.map((function(e){return-e}))),e.side&&a.push({l:-1,t:-1,r:1,b:1}[e.side.charAt(0)]),a},X.makeTransTickFn=function(e){return"x"===e._id.charAt(0)?function(t){return s(e._offset+e.l2p(t.x),0)}:function(t){return s(0,e._offset+e.l2p(t.x))}},X.makeTransTickLabelFn=function(e){var t=function(e){var t=e.ticklabelposition||"",r=e.tickson||"",n=function(e){return-1!==t.indexOf(e)},i=n("top"),a=n("left"),o=n("right"),s=n("bottom"),l=n("inside"),c="boundaries"!==r&&(s||a||i||o);if(!c&&!l)return[0,0];var u=e.side,h=c?(e.tickwidth||0)/2:0,f=3,p=e.tickfont?e.tickfont.size:12;return(s||i)&&(h+=p*G,f+=(e.linewidth||0)/2),(a||o)&&(h+=(e.linewidth||0)/2,f+=3),l&&"top"===u&&(f-=p*(1-G)),(a||i)&&(h=-h),("bottom"===u||"right"===u)&&(f=-f),[c?h:0,l?f:0]}(e),r=e.ticklabelshift||0,n=e.ticklabelstandoff||0,i=t[0],a=t[1],o=e.range[0]>e.range[1],l=e.ticklabelposition&&-1!==e.ticklabelposition.indexOf("inside"),c=!l;if(r&&(r*=o?-1:1),n){var u=e.side;n*=l&&("top"===u||"left"===u)||c&&("bottom"===u||"right"===u)?1:-1}return"x"===e._id.charAt(0)?function(t){return s(i+e._offset+e.l2p(Ce(t))+r,a+n)}:function(t){return s(a+n,i+e._offset+e.l2p(Ce(t))+r)}},X.makeTickPath=function(e,t,r,n){n||(n={});var i=n.minor;if(i&&!e.minor)return"";var a=void 0!==n.len?n.len:i?e.minor.ticklen:e.ticklen,o=e._id.charAt(0),s=(e.linewidth||1)/2;return"x"===o?"M0,"+(t+s*r)+"v"+a*r:"M"+(t+s*r)+",0h"+a*r},X.makeLabelFns=function(e,t,r){var i=e.ticklabelposition||"",a=e.tickson||"",s=function(e){return-1!==i.indexOf(e)},l=s("top"),c=s("left"),u=s("right"),h=s("bottom"),f="boundaries"!==a&&(h||c||l||u),p=s("inside"),d="inside"===i&&"inside"===e.ticks||!p&&"outside"===e.ticks&&"boundaries"!==a,m=0,g=0,y=d?e.ticklen:0;if(p?y*=-1:f&&(y=0),d&&(m+=y,r)){var v=o.deg2rad(r);m=y*Math.cos(v)+1,g=y*Math.sin(v)}e.showticklabels&&(d||e.showline)&&(m+=.2*e.tickfont.size);var x,_,b,w,T,k={labelStandoff:m+=(e.linewidth||1)/2*(p?-1:1),labelShift:g},A=0,M=e.side,S=e._id.charAt(0),E=e.tickangle;if("x"===S)w=(T=!p&&"bottom"===M||p&&"top"===M)?1:-1,p&&(w*=-1),x=g*w,_=t+m*w,b=T?1:-.2,90===Math.abs(E)&&(p?b+=H:b=-90===E&&"bottom"===M?G:90===E&&"top"===M?H:.5,A=H/2*(E/90)),k.xFn=function(e){return e.dx+x+A*e.fontSize},k.yFn=function(e){return e.dy+_+e.fontSize*b},k.anchorFn=function(e,t){if(f){if(c)return"end";if(u)return"start"}return n(t)&&0!==t&&180!==t?t*w<0!==p?"end":"start":"middle"},k.heightFn=function(t,r,n){return r<-60||r>60?-.5*n:"top"===e.side!==p?-n:0};else if("y"===S){if(w=(T=!p&&"left"===M||p&&"right"===M)?1:-1,p&&(w*=-1),x=m,_=g*w,b=0,!p&&90===Math.abs(E)&&(b=-90===E&&"left"===M||90===E&&"right"===M?G:.5),p){var C=n(E)?+E:0;if(0!==C){var I=o.deg2rad(C);A=Math.abs(Math.sin(I))*G*w,b=0}}k.xFn=function(e){return e.dx+t-(x+e.fontSize*b)*w+A*e.fontSize},k.yFn=function(e){return e.dy+_+e.fontSize*H},k.anchorFn=function(e,t){return n(t)&&90===Math.abs(t)?"middle":T?"end":"start"},k.heightFn=function(t,r,n){return"right"===e.side&&(r*=-1),r<-30?-n:r<30?-.5*n:0}}return k},X.drawTicks=function(e,t,n){n=n||{};var i=t._id+"tick",a=[].concat(t.minor&&t.minor.ticks?n.vals.filter((function(e){return e.minor&&!e.noTick})):[]).concat(t.ticks?n.vals.filter((function(e){return!e.minor&&!e.noTick})):[]),o=n.layer.selectAll("path."+i).data(a,Ie);o.exit().remove(),o.enter().append("path").classed(i,1).classed("ticks",1).classed("crisp",!1!==n.crisp).each((function(e){return u.stroke(r.select(this),e.minor?t.minor.tickcolor:t.tickcolor)})).style("stroke-width",(function(r){return h.crispRound(e,r.minor?t.minor.tickwidth:t.tickwidth,1)+"px"})).attr("d",n.path).style("display",null),qe(t,[N]),o.attr("transform",n.transFn)},X.drawGrid=function(e,t,n){if(n=n||{},"sync"!==t.tickmode){var i=t._id+"grid",a=t.minor&&t.minor.showgrid,o=a?n.vals.filter((function(e){return e.minor})):[],s=t.showgrid?n.vals.filter((function(e){return!e.minor})):[],l=n.counterAxis;if(l&&X.shouldShowZeroLine(e,t,l))for(var c="array"===t.tickmode,f=0;f=0;y--){var v=y?m:g;if(v){var x=v.selectAll("path."+i).data(y?s:o,Ie);x.exit().remove(),x.enter().append("path").classed(i,1).classed("crisp",!1!==n.crisp),x.attr("transform",n.transFn).attr("d",n.path).each((function(e){return u.stroke(r.select(this),e.minor?t.minor.gridcolor:t.gridcolor||"#ddd")})).style("stroke-dasharray",(function(e){return h.dashStyle(e.minor?t.minor.griddash:t.griddash,e.minor?t.minor.gridwidth:t.gridwidth)})).style("stroke-width",(function(e){return(e.minor?d:t._gw)+"px"})).style("display",null),"function"==typeof n.path&&x.attr("d",n.path)}}qe(t,[B,j])}},X.drawZeroLine=function(e,t,r){r=r||r;var n=t._id+"zl",i=X.shouldShowZeroLine(e,t,r.counterAxis),a=r.layer.selectAll("path."+n).data(i?[{x:0,id:t._id}]:[]);a.exit().remove(),a.enter().append("path").classed(n,1).classed("zl",1).classed("crisp",!1!==r.crisp).each((function(){r.layer.selectAll("path").sort((function(e,t){return J(e.id,t.id)}))})),a.attr("transform",r.transFn).attr("d",r.path).call(u.stroke,t.zerolinecolor||u.defaultLine).style("stroke-width",h.crispRound(e,t.zerolinewidth,t._gw||1)+"px").style("display",null),qe(t,[F])},X.drawLabels=function(e,t,i){i=i||{};var a=e._fullLayout,c=t._id,u="above traces"===t.zerolinelayer,f=i.cls||c+"tick",p=i.vals.filter((function(e){return e.text})),d=i.labelFns,m=i.secondary?0:t.tickangle,g=(t._prevTickAngles||{})[f],y=i.layer.selectAll("g."+f).data(t.showticklabels?p:[],Ie),v=[];function x(e,a){e.each((function(e){var o=r.select(this),c=o.select(".text-math-group"),u=d.anchorFn(e,a),f=i.transFn.call(o.node(),e)+(n(a)&&0!=+a?" rotate("+a+","+d.xFn(e)+","+(d.yFn(e)-e.fontSize/2)+")":""),p=l.lineCount(o),m=Z*e.fontSize,g=d.heightFn(e,n(a)?+a:0,(p-1)*m);if(g&&(f+=s(0,g)),c.empty()){var y=o.select("text");y.attr({transform:f,"text-anchor":u}),y.style("display",null),t._adjustTickLabelsOverflow&&t._adjustTickLabelsOverflow()}else{var v=h.bBox(c.node()).width*{end:-.5,start:.5}[u];c.attr("transform",f+s(v,0))}}))}y.enter().append("g").classed(f,1).append("text").attr("text-anchor","middle").each((function(t){var n=r.select(this),i=e._promises.length;n.call(l.positionText,d.xFn(t),d.yFn(t)).call(h.font,{family:t.font,size:t.fontSize,color:t.fontColor,weight:t.fontWeight,style:t.fontStyle,variant:t.fontVariant,textcase:t.fontTextcase,lineposition:t.fontLineposition,shadow:t.fontShadow}).text(t.text).call(l.convertToTspans,e),e._promises[i]?v.push(e._promises.pop().then((function(){x(n,m)}))):x(n,m)})),qe(t,[U]),y.exit().remove(),i.repositionOnUpdate&&y.each((function(e){r.select(this).select("text").call(l.positionText,d.xFn(e),d.yFn(e))})),t._adjustTickLabelsOverflow=function(){var n=t.ticklabeloverflow;if(n&&"allow"!==n){var i=-1!==n.indexOf("hide"),s="x"===t._id.charAt(0),l=0,c=s?e._fullLayout.width:e._fullLayout.height;if(-1!==n.indexOf("domain")){var u=o.simpleMap(t.range,t.r2l);l=t.l2p(u[0])+t._offset,c=t.l2p(u[1])+t._offset}var f=Math.min(l,c),p=Math.max(l,c),d=t.side,m=1/0,g=-1/0;for(var v in y.each((function(e){var n=r.select(this);if(n.select(".text-math-group").empty()){var a=h.bBox(n.node()),o=0;s?(a.right>p||a.leftp||a.top+(t.tickangle?0:e.fontSize/4)t["_visibleLabelMin_"+n._id]?l.style("display","none"):"tick"===e.K&&!i&&"none"!==l.node().style.display&&l.style("display",null)}))}))}))}))},x(y,g+1?g:m);var _=null;t._selections&&(t._selections[f]=y);var b=[function(){return v.length&&Promise.all(v)}];t.automargin&&a._redrawFromAutoMarginCount&&90===g?(_=g,b.push((function(){x(y,g)}))):b.push((function(){if(x(y,m),p.length&&t.autotickangles&&("log"!==t.type||"D"!==String(t.dtick).charAt(0))){_=t.autotickangles[0];var e,r=0,n=[],a=1;y.each((function(e){r=Math.max(r,e.fontSize);var i=t.l2p(e.x),o=ze(this),s=h.bBox(o.node());a=Math.max(a,l.lineCount(o)),n.push({top:0,bottom:10,height:10,left:i-s.width/2,right:i+s.width/2+2,width:s.width+2})}));var s=("boundaries"===t.tickson||t.showdividers)&&!i.secondary,c=p.length,u=Math.abs((p[c-1].x-p[0].x)*t._m)/(c-1),f=s?u/2:u,d=s?t.ticklen:1.25*r*a,g=f/Math.sqrt(Math.pow(f,2)+Math.pow(d,2)),v=t.autotickangles.map((function(e){return e*Math.PI/180})),b=v.find((function(e){return Math.abs(Math.cos(e))<=g}));void 0===b&&(b=v.reduce((function(e,t){return Math.abs(Math.cos(e))R*O&&(P=O,C[E]=I[E]=z[E])}var V=Math.abs(P-L);V-A>0?A*=1+A/(V-=A):A=0,"y"!==t._id.charAt(0)&&(A=-A),C[S]=T.p2r(T.r2p(I[S])+M*A),"min"===T.autorange||"max reversed"===T.autorange?(C[0]=null,T._rangeInitial0=void 0,T._rangeInitial1=void 0):("max"===T.autorange||"min reversed"===T.autorange)&&(C[1]=null,T._rangeInitial0=void 0,T._rangeInitial1=void 0),a._insideTickLabelsUpdaterange[T._name+".range"]=C}var q=o.syncOrAsync(b);return q&&q.then&&e._promises.push(q),q},X.getPxPosition=function(e,t){var r,n=e._fullLayout._size,i=t._id.charAt(0),a=t.side;return"free"!==t.anchor?r=t._anchorAxis:"x"===i?r={_offset:n.t+(1-(t.position||0))*n.h,_length:0}:"y"===i&&(r={_offset:n.l+(t.position||0)*n.w+t._shift,_length:0}),"top"===a||"left"===a?r._offset:"bottom"===a||"right"===a?r._offset+r._length:void 0},X.shouldShowZeroLine=function(e,t,r){var n=o.simpleMap(t.range,t.r2l);return n[0]*n[1]<=0&&t.zeroline&&("linear"===t.type||"-"===t.type)&&!(t.rangebreaks&&t.maskBreaks(0)===R)&&(Pe(t,0)||!function(e,t,r,n){var i=r._mainAxis;if(i){var a=e._fullLayout,o=t._id.charAt(0),s=X.counterLetter(t._id),l=t._offset+(Math.abs(n[0])1)for(n=1;n4/3-s?o:s}}}),hr=m({"src/components/dragelement/cursor.js"(e,t){var r=ct(),n=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];t.exports=function(e,t,i,a){return e="left"===i?0:"center"===i?1:"right"===i?2:r.constrain(Math.floor(3*e),0,2),t="bottom"===a?0:"middle"===a?1:"top"===a?2:r.constrain(Math.floor(3*t),0,2),n[t][e]}}}),fr=m({"src/components/dragelement/unhover.js"(e,t){var r=dt(),n=Qe(),i=Pe().getGraphDiv,a=N(),o=t.exports={};o.wrapped=function(e,t,r){(e=i(e))._fullLayout&&n.clear(e._fullLayout._uid+a.HOVERID),o.raw(e,t,r)},o.raw=function(e,t){var n=e._fullLayout,i=e._hoverdata;t||(t={}),(!t.target||e._dragged||!1!==r.triggerHandler(e,"plotly_beforehover",t))&&(n._hoverlayer.selectAll("g").remove(),n._hoverlayer.selectAll("line").remove(),n._hoverlayer.selectAll("circle").remove(),e._hoverdata=void 0,t.target&&i&&e.emit("plotly_unhover",{event:t,points:i}))}}}),pr=m({"src/components/dragelement/index.js"(e,t){var r=lr(),n=ft(),i=cr(),a=ct().removeElement,o=xt(),s=t.exports={};s.align=ur(),s.getCursor=hr();var l=fr();function c(){var e=document.createElement("div");e.className="dragcover";var t=e.style;return t.position="fixed",t.left=0,t.right=0,t.top=0,t.bottom=0,t.zIndex=999999999,t.background="none",document.body.appendChild(e),e}function u(e){return r(e.changedTouches?e.changedTouches[0]:e,document.body)}s.unhover=l.wrapped,s.unhoverRaw=l.raw,s.init=function(e){var t,r,l,h,f,p,d,m,g=e.gd,y=1,v=g._context.doubleClickDelay,x=e.element;g._mouseDownTime||(g._mouseDownTime=0),x.style.pointerEvents="all",x.onmousedown=b,i?(x._ontouchstart&&x.removeEventListener("touchstart",x._ontouchstart),x._ontouchstart=b,x.addEventListener("touchstart",b,{passive:!1})):x.ontouchstart=b;var _=e.clampFn||function(e,t,r){return Math.abs(e)"u"&&typeof i.clientY>"u"&&(i.clientX=t,i.clientY=r),(l=(new Date).getTime())-g._mouseDownTimev&&(y=Math.max(y-1,1)),g._dragged?e.doneFn&&e.doneFn():(p.target===d?r=p:(r={target:d,srcElement:d,toElement:d},Object.keys(p).concat(Object.keys(p.__proto__)).forEach((e=>{var t=p[e];!r[e]&&"function"!=typeof t&&(r[e]=t)}))),e.clickFn&&e.clickFn(y,r),m||d.dispatchEvent(new MouseEvent("click",t))),g._dragging=!1,g._dragged=!1):g._dragged=!1}},s.coverSlip=c}}),dr=m({"src/lib/setcursor.js"(e,t){t.exports=function(e,t){(e.attr("class")||"").split(" ").forEach((function(t){0===t.indexOf("cursor-")&&e.classed(t,!1)})),t&&e.classed("cursor-"+t,!0)}}}),mr=m({"src/lib/override_cursor.js"(e,t){var r=dr(),n="data-savedcursor";t.exports=function(e,t){var i=e.attr(n);if(t){if(!i){for(var a=(e.attr("class")||"").split(" "),o=0;ot.legend.length)for(var n=t.legend.length;n("legend"===e?1:0));if(!1===S&&(c[e]=void 0),(!1!==S||f.uirevision)&&(d("uirevision",c.uirevision),!1!==S)){d("borderwidth");var E,C,I,L="h"===d("orientation"),P="paper"===d("yref"),z="paper"===d("xref"),D="left";if(L?(E=0,r.getComponentMethod("rangeslider","isVisible")(t.xaxis)?P?(C=1.1,I="bottom"):(C=1,I="top"):P?(C=-.1,I="top"):(C=0,I="bottom")):(C=1,I="auto",z?E=1.02:(E=1,D="right")),n.coerce(f,p,{x:{valType:"number",editType:"legend",min:z?-2:0,max:z?3:1,dflt:E}},"x"),n.coerce(f,p,{y:{valType:"number",editType:"legend",min:P?-2:0,max:P?3:1,dflt:C}},"y"),d("traceorder",w),l.isGrouped(c[e])&&d("tracegroupgap"),d("entrywidth"),d("entrywidthmode"),d("indentation"),d("itemsizing"),d("itemwidth"),d("itemclick"),d("itemdoubleclick"),d("groupclick"),d("xanchor",D),d("yanchor",I),d("maxheight"),d("valign"),n.noneOrAll(f,p,["x","y"]),d("title.text")){d("title.side",L?"left":"top");var O=n.extendFlat({},m,{size:n.bigFont(m.size)});n.coerceFont(d,"title.font",O);let e=h>1;d("titleclick",!!e&&"toggle"),d("titledoubleclick",!!e&&"toggleothers")}}}function R(e){return r.traceIs(e,"pie-like")&&null!=e._length&&(Array.isArray(e.legend)||Array.isArray(e.showlegend))}}t.exports=function(e,t,r){var i,a=r.slice(),o=t.shapes;if(o)for(i=0;ie.showlegend||e.legendgroup));var m=p.concat(d),g=c.trace;g._isShape&&(g=g._fullInput);var y,v,x,_,b,w=g.legendgroup,T={},k=[],A=[],M=[],S=(l.shapes||[]).map((function(e){return e._input})),E=!1;function C(e,t){if(!c.groupTitle||h){var r=e._fullInput||e,n=r._isShape,i=r.index;void 0===i&&(i=r._index);var a=!1!==r.visible&&t;n?function(e,t){S[e].visible=t,E=!0}(i,a):function(e,t){var r=k.indexOf(e),n=T.visible;n||(n=T.visible=[]),-1===k.indexOf(e)&&(k.push(e),r=k.length-1),n[r]=t}(i,a)}}var I=g.legend,L=g._fullInput;if(L&&L._isShape||!t.traceIs(g,"pie-like")){var P,z=w&&w.length,D=[];if(z)for(y=0;ye.showlegend||e.legendgroup)),c=o.concat(l);function u(e){return(e.legend||"legend")===s}var h,f;"toggle"===n?(h=!c.some((function(e){return u(e)&&!0===e.visible})),f=!1):(h=!0,f=!c.some((function(e){return!u(e)&&!0===e.visible&&!1!==e.showlegend})));let p={visible:[]},d=[],m=(a.shapes||[]).map((function(e){return e._input}));for(var g=!1,y=0;yL&&(C=L)}S[o][0]._groupMinRank=C,S[o][0]._preGroupSort=o}var P=function(e,t){return(r(e.trace.legendrank)?e.trace.legendrank[e.i]:e.trace.legendrank)-(r(t.trace.legendrank)?t.trace.legendrank[t.i]:t.trace.legendrank)||e._preSort-t._preSort};for(S.forEach((function(e,t){e[0]._preGroupSort=t})),S.sort((function(e,t){return e[0]._groupMinRank-t[0]._groupMinRank||e[0]._preGroupSort-t[0]._preGroupSort})),o=0;or?r:e}t.exports=function(e,t,g){var y=t._fullLayout;g||(g=y.legend);var v="constant"===g.itemsizing,x=g.itemwidth,_=(x+2*f.itemGap)/2,b=a(_,0),w=function(e,t,r,n){var i;if(e+1)i=e;else{if(!(t&&t.width>0))return 0;i=t.width}return v?n:Math.min(i,r)};function T(e,i,a){var c=e[0].trace,u=c.marker||{},h=u.line||{},f=u.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",p=a?c.visible&&c.type===a:n.traceIs(c,"bar"),d=r.select(i).select("g.legendpoints").selectAll("path.legend"+a).data(p?[e]:[]);d.enter().append("path").classed("legend"+a,!0).attr("d",f).attr("transform",b),d.exit().remove(),d.each((function(e){var n=r.select(this),i=e[0],a=w(i.mlw,u.line,5,2);n.style("stroke-width",a+"px");var f=i.mcc;if(!g._inHover&&"mc"in i){var p=l(u),d=p.mid;void 0===d&&(d=(p.max+p.min)/2),f=o.tryColorscale(u,"")(d)}var y=f||i.mc||u.color,v=u.pattern,x=o.getPatternAttr,_=v&&(x(v.shape,0,"")||x(v.path,0,""));if(_){var b=x(v.bgcolor,0,null),T=x(v.fgcolor,0,null),k=v.fgopacity,A=m(v.size,8,10),M=m(v.solidity,.5,1),S="legend-"+c.uid;n.call(o.pattern,"legend",t,S,_,A,M,f,v.fillmode,b,T,k)}else n.call(s.fill,y);a&&s.stroke(n,i.mlc||h.color)}))}function k(e,a,o){var s=e[0],l=s.trace,c=o?l.visible&&l.type===o:n.traceIs(l,o),f=r.select(a).select("g.legendpoints").selectAll("path.legend"+o).data(c?[e]:[]);if(f.enter().append("path").classed("legend"+o,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",b),f.exit().remove(),f.size()){var p=l.marker||{},d=w(h(p.line.width,s.pts),p.line,5,2),m="pieLike",g=i.minExtend(l,{marker:{line:{width:d}}},m),y=i.minExtend(s,{trace:g},m);u(f,y,g,t)}}e.each((function(e){var t=r.select(this),n=i.ensureSingle(t,"g","layers");n.style("opacity",e[0].trace.opacity);var o=g.indentation,s=g.valign,l=e[0].lineHeight,c=e[0].height;if("middle"===s&&0===o||!l||!c)n.attr("transform",null);else{var u={top:1,bottom:-1}[s]*(.5*(l-c+3))||0,h=g.indentation;n.attr("transform",a(h,u))}n.selectAll("g.legendfill").data([e]).enter().append("g").classed("legendfill",!0),n.selectAll("g.legendlines").data([e]).enter().append("g").classed("legendlines",!0);var f=n.selectAll("g.legendsymbols").data([e]);f.enter().append("g").classed("legendsymbols",!0),f.selectAll("g.legendpoints").data([e]).enter().append("g").classed("legendpoints",!0)})).each((function(e){var n,a=e[0].trace,c=[];if(a.visible)switch(a.type){case"histogram2d":case"heatmap":c=[["M-15,-2V4H15V-2Z"]],n=!0;break;case"choropleth":case"choroplethmapbox":case"choroplethmap":c=[["M-6,-6V6H6V-6Z"]],n=!0;break;case"densitymapbox":case"densitymap":c=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],n="radial";break;case"cone":c=[["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"]],n=!1;break;case"streamtube":c=[["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"]],n=!1;break;case"surface":c=[["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"]],n=!0;break;case"mesh3d":c=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],n=!1;break;case"volume":c=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],n=!0;break;case"isosurface":c=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],n=!1}var u=r.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(c);u.enter().append("path").classed("legend3dandfriends",!0).attr("transform",b).style("stroke-miterlimit",1),u.exit().remove(),u.each((function(e,c){var u,h=r.select(this),f=l(a),d=f.colorscale,m=f.reversescale;if(d){if(!n){var g=d.length;u=0===c?d[m?g-1:0][1]:1===c?d[m?0:g-1][1]:d[Math.floor((g-1)/2)][1]}}else{var y=a.vertexcolor||a.facecolor||a.color;u=i.isArrayOrTypedArray(y)?y[c]||y[0]:y}h.attr("d",e[0]),u?h.call(s.fill,u):h.call((function(e){if(e.size()){var r="legendfill-"+a.uid;o.gradient(e,t,r,p(m,"radial"===n),d,"fill")}}))}))})).each((function(e){var t=e[0].trace,n="waterfall"===t.type;if(e[0]._distinct&&n){var i=e[0].trace[e[0].dir].marker;return e[0].mc=i.color,e[0].mlw=i.line.width,e[0].mlc=i.line.color,T(e,this,"waterfall")}var a=[];t.visible&&n&&(a=e[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 o=r.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(a);o.enter().append("path").classed("legendwaterfall",!0).attr("transform",b).style("stroke-miterlimit",1),o.exit().remove(),o.each((function(e){var n=r.select(this),i=t[e[0]].marker,a=w(void 0,i.line,5,2);n.attr("d",e[1]).style("stroke-width",a+"px").call(s.fill,i.color),a&&n.call(s.stroke,i.line.color)}))})).each((function(e){T(e,this,"funnel")})).each((function(e){T(e,this)})).each((function(e){var a=e[0].trace,l=r.select(this).select("g.legendpoints").selectAll("path.legendbox").data(a.visible&&n.traceIs(a,"box-violin")?[e]:[]);l.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",b),l.exit().remove(),l.each((function(){var e=r.select(this);if("all"!==a.boxpoints&&"all"!==a.points||0!==s.opacity(a.fillcolor)||0!==s.opacity((a.line||{}).color)){var n=w(void 0,a.line,5,2);e.style("stroke-width",n+"px").call(s.fill,a.fillcolor),n&&s.stroke(e,a.line.color)}else{var c=i.minExtend(a,{marker:{size:v?12:i.constrain(a.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});l.call(o.pointStyle,c,t)}}))})).each((function(e){k(e,this,"funnelarea")})).each((function(e){k(e,this,"pie")})).each((function(e){var n,a,s=d(e),u=s.showFill,h=s.showLine,f=s.showGradientLine,m=s.showGradientFill,g=s.anyFill,y=s.anyLine,v=e[0],_=v.trace,b=l(_),T=b.colorscale,k=b.reversescale,A=c.hasMarkers(_)||!g?"M5,0":y?"M5,-2":"M5,-3",M=r.select(this),S=M.select(".legendfill").selectAll("path").data(u||m?[e]:[]);if(S.enter().append("path").classed("js-fill",!0),S.exit().remove(),S.attr("d",A+"h"+x+"v6h-"+x+"z").call((function(e){if(e.size())if(u)o.fillGroupStyle(e,t,!0);else{var r="legendfill-"+_.uid;o.gradient(e,t,r,p(k),T,"fill")}})),h||f){var E=w(void 0,_.line,10,5);a=i.minExtend(_,{line:{width:E}}),n=[i.minExtend(v,{trace:a})]}var C=M.select(".legendlines").selectAll("path").data(h||f?[n]:[]);C.enter().append("path").classed("js-line",!0),C.exit().remove(),C.attr("d",A+(f?"l"+x+",0.0001":"h"+x)).call(h?o.lineGroupStyle:function(e){if(e.size()){var r="legendline-"+_.uid;o.lineGroupStyle(e),o.gradient(e,t,r,p(k),T,"stroke")}})})).each((function(e){var n,a,s=d(e),l=s.anyFill,u=s.anyLine,h=s.showLine,f=s.showMarker,p=e[0],m=p.trace,g=!f&&!u&&!l&&c.hasText(m);function y(e,t,r,n){var a=i.nestedProperty(m,e).get(),o=i.isArrayOrTypedArray(a)&&t?t(a):a;if(v&&o&&void 0!==n&&(o=n),r){if(or[1])return r[1]}return o}function x(e){return p._distinct&&p.index&&e[p.index]?e[p.index]:e[0]}if(f||g||h){var _={},w={};if(f){_.mc=y("marker.color",x),_.mx=y("marker.symbol",x),_.mo=y("marker.opacity",i.mean,[.2,1]),_.mlc=y("marker.line.color",x),_.mlw=y("marker.line.width",i.mean,[0,5],2),_.mld=m._isShape?"solid":y("marker.line.dash",x),w.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var T=y("marker.size",i.mean,[2,16],12);_.ms=T,w.marker.size=T}h&&(w.line={width:y("line.width",x,[0,10],5)}),g&&(_.tx="Aa",_.tp=y("textposition",x),_.ts=10,_.tc=y("textfont.color",x),_.tf=y("textfont.family",x),_.tw=y("textfont.weight",x),_.ty=y("textfont.style",x),_.tv=y("textfont.variant",x),_.tC=y("textfont.textcase",x),_.tE=y("textfont.lineposition",x),_.tS=y("textfont.shadow",x)),n=[i.minExtend(p,_)],(a=i.minExtend(m,w)).selectedpoints=null,a.texttemplate=null}var k=r.select(this).select("g.legendpoints"),A=k.selectAll("path.scatterpts").data(f?n:[]);A.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",b),A.exit().remove(),A.call(o.pointStyle,a,t),f&&(n[0].mrc=3);var M=k.selectAll("g.pointtext").data(g?n:[]);M.enter().append("g").classed("pointtext",!0).append("text").attr("transform",b),M.exit().remove(),M.selectAll("text").call(o.textPointStyle,a,t)})).each((function(e){var t=e[0].trace,n=r.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(t.visible&&"candlestick"===t.type?[e,e]:[]);n.enter().append("path").classed("legendcandle",!0).attr("d",(function(e,t){return t?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"})).attr("transform",b).style("stroke-miterlimit",1),n.exit().remove(),n.each((function(e,n){var i=r.select(this),a=t[n?"increasing":"decreasing"],o=w(void 0,a.line,5,2);i.style("stroke-width",o+"px").call(s.fill,a.fillcolor),o&&s.stroke(i,a.line.color)}))})).each((function(e){var t=e[0].trace,n=r.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(t.visible&&"ohlc"===t.type?[e,e]:[]);n.enter().append("path").classed("legendohlc",!0).attr("d",(function(e,t){return t?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"})).attr("transform",b).style("stroke-miterlimit",1),n.exit().remove(),n.each((function(e,n){var i=r.select(this),a=t[n?"increasing":"decreasing"],l=w(void 0,a.line,5,2);i.style("fill","none").call(o.dashLine,a.line.dash,l),l&&s.stroke(i,a.line.color)}))}))}}}),Mr=m({"src/components/legend/draw.js"(e,t){var r=b(),n=ct(),i=At(),a=He(),o=dt(),s=pr(),l=er(),c=W(),u=Et(),h=xr().handleItemClick,f=xr().handleTitleClick,p=_r(),d=St(),m=d.LINE_SPACING,g=d.FROM_TL,y=d.FROM_BR,v=br(),x=Ar(),_=yr(),w=/^legend[0-9]*$/;function T(e,t){var h,d,b=t||{},w=e._fullLayout,T=_.getId(b),S=b._inHover;if(S?(d=b.layer,h="hover"):(d=w._infolayer,h=T),d){var P;if(h+=w._uid,e._legendMouseDownTime||(e._legendMouseDownTime=0),S){if(!b.entries)return;P=v(b.entries,b)}else{for(var z=(e.calcdata||[]).slice(),D=w.shapes,O=0;O1)}var B=w.hiddenlabels||[];if(!(S||w.showlegend&&P.length))return d.selectAll("."+T).remove(),w._topdefs.select("#"+h).remove(),i.autoMargin(e,T);var j=n.ensureSingle(d,"g",T,(function(e){S||e.attr("pointer-events","all")})),N=n.ensureSingleById(w._topdefs,"clipPath",h,(function(e){e.append("rect")})),U=n.ensureSingle(j,"rect","bg",(function(e){e.attr("shape-rendering","crispEdges")}));U.call(c.stroke,b.bordercolor).call(c.fill,b.bgcolor).style("stroke-width",b.borderwidth+"px");var V,q=n.ensureSingle(j,"g","scrollbox"),H=b.title;b._titleWidth=0,b._titleHeight=0,H.text?((V=n.ensureSingle(q,"text",T+"titletext")).attr("text-anchor","start").call(l.font,H.font).text(H.text),C(V,q,e,b,1),!S&&(b.titleclick||b.titledoubleclick)&&function(e,t,i,s){if(t._fullData.some((function(e){let t=e.legend||"legend";return(Array.isArray(t)?t.includes(s):t===s)&&a.traceIs(e,"pie-like")})))return;let l=t._context.doubleClickDelay;var u,h=1;let p=n.ensureSingle(e,"rect",s+"titletoggle",(function(e){t._context.staticPlot||e.style("cursor","pointer").attr("pointer-events","all"),e.call(c.fill,"rgba(0,0,0,0)")}));t._context.staticPlot||(p.on("mousedown",(function(){(u=(new Date).getTime())-t._legendMouseDownTimel&&(h=Math.max(h-1,1));let e={event:r.event,legendId:s,data:t.data,layout:t.layout,fullData:t._fullData,fullLayout:t._fullLayout};if(1===h&&i.titleclick){if(!1===o.triggerHandler(t,"plotly_legendtitleclick",e))return;i._titleClickTimeout=setTimeout((function(){t._fullLayout&&f(t,i,i.titleclick)}),l)}else 2===h&&(i._titleClickTimeout&&clearTimeout(i._titleClickTimeout),t._legendMouseDownTime=0,!1!==o.triggerHandler(t,"plotly_legendtitledoubleclick",e)&&i.titledoubleclick&&f(t,i,i.titledoubleclick))})))}(q,e,b,T)):(q.selectAll("."+T+"titletext").remove(),q.selectAll("."+T+"titletoggle").remove());var G=n.ensureSingle(j,"rect","scrollbar",(function(e){e.attr(p.scrollBarEnterAttrs).call(c.fill,p.scrollBarColor)})),W=q.selectAll("g.groups").data(P);W.enter().append("g").attr("class","groups"),W.exit().remove();var Z=W.selectAll("g.traces").data(n.identity);Z.enter().append("g").attr("class","traces"),Z.exit().remove(),Z.style("opacity",(function(t){let r=t[0],n=r.trace;if(r.groupTitle){let t=n.legendgroup,r=(w.shapes||[]).filter((function(e){return e.showlegend}));return e._fullData.concat(r).some((function(e){return e.legendgroup===t&&(e.legend||"legend")===T&&!0===e.visible}))?1:.5}return a.traceIs(n,"pie-like")?-1!==B.indexOf(t[0].label)?.5:1:"legendonly"===n.visible?.5:1})).each((function(){r.select(this).call(M,e,b)})).call(x,e,b).each((function(t){S||t[0].groupTitle&&"toggleitem"===b.groupclick||r.select(this).call(E,e,T)})),n.syncOrAsync([i.previousPromises,function(){return function(e,t,n,i,a){var o=e._fullLayout,s=_.getId(i);i||(i=o[s]);var c=o._size,h=_.isVertical(i),f=_.isGrouped(i),d="fraction"===i.entrywidthmode,g=i.borderwidth,y=2*g,v=p.itemGap,x=i.indentation+i.itemwidth+2*v,b=2*(g+v),w=L(i),T=i.y<0||0===i.y&&"top"===w,A=i.y>1||1===i.y&&"bottom"===w,M=i.tracegroupgap,S={};let{orientation:E,yref:C}=i,{maxheight:P}=i,z=T||A||"v"!==E||"paper"!==C;P||(P=z?.5:1);let D=z?o.height:c.h;i._maxHeight=Math.max(P>1?P:P*D,30);var O=0;i._width=0,i._height=0;var R=function(e){var t=0,r=0,n=e.title.side;return n&&(-1!==n.indexOf("left")&&(t=e._titleWidth),-1!==n.indexOf("top")&&(r=e._titleHeight)),[t,r]}(i);if(h)n.each((function(e){var t=e[0].height;l.setTranslate(this,g+R[0],g+R[1]+i._height+t/2+v),i._height+=t,i._width=Math.max(i._width,e[0].width)})),O=x+i._width,i._width+=v+x+y,i._height+=b,f&&(t.each((function(e,t){l.setTranslate(this,0,t*i.tracegroupgap)})),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var F=I(i),B=i.x<0||0===i.x&&"right"===F,j=i.x>1||1===i.x&&"left"===F,N=A||T,U=o.width/2;i._maxWidth=Math.max(B?N&&"left"===F?c.l+c.w:U:j?N&&"right"===F?c.r+c.w:U:c.w,2*x);var V=0,q=0;n.each((function(e){var t=k(e,i,x);V=Math.max(V,t),q+=t})),O=null;var H=0;if(f){var G=0,W=0,Z=0;t.each((function(){var e=0,t=0;r.select(this).selectAll("g.traces").each((function(r){var n=k(r,i,x),a=r[0].height;l.setTranslate(this,R[0],R[1]+g+v+a/2+t),t+=a,e=Math.max(e,n),S[r[0].trace.legendgroup]=e}));var n=e+v;W>0&&n+g+W>i._maxWidth?(H=Math.max(H,W),W=0,Z+=G+M,G=t):G=Math.max(G,t),l.setTranslate(this,W,Z),W+=n})),i._width=Math.max(H,W)+g,i._height=Z+G+b}else{var Y=n.size(),X=q+y+(Y-1)*v=i._maxWidth&&(H=Math.max(H,Q),K=0,J+=$,i._height+=$,$=0),l.setTranslate(this,R[0]+g+K,R[1]+g+J+t/2+v),Q=K+r+v,K+=n,$=Math.max($,t)})),X?(i._width=K+y,i._height=$+b):(i._width=Math.max(H,Q)+y,i._height+=$+b)}}i._width=Math.ceil(Math.max(i._width+R[0],i._titleWidth+2*(g+p.titlePad))),i._height=Math.ceil(Math.max(i._height+R[1],i._titleHeight+2*(g+p.itemGap))),i._effHeight=Math.min(i._height,i._maxHeight);var ee=e._context.edits,te=ee.legendText||ee.legendPosition;n.each((function(e){var t=r.select(this).select("."+s+"toggle"),n=e[0].height,a=e[0].trace.legendgroup,o=k(e,i,x);f&&""!==a&&(o=S[a]);var c=te?x:O||o;!h&&!d&&(c+=v/2),l.setRect(t,0,-n/2,c,n)}));var re=a.select("."+s+"titletext");re.node()&&function(e,t,r){if("top center"===t.title.side||"top right"===t.title.side){var n=t.title.font.size*m,i=0,a=e.node(),o=l.bBox(a).width;"top center"===t.title.side?i=.5*(t._width-2*r-2*p.titlePad-o):"top right"===t.title.side&&(i=t._width-2*r-2*p.titlePad-o),u.positionText(e,r+p.titlePad+i,r+n)}}(re,i,g);var ne=a.select("."+s+"titletoggle");if(ne.size()&&re.node()){var ie=re.attr("x")||0,ae=p.titlePad;l.setRect(ne,ie-ae,g,i._titleWidth+2*ae,i._titleHeight+2*ae)}}(e,W,Z,b,q)},function(){var t,o,c,u,f=w._size,m=b.borderwidth,v="paper"===b.xref,x="paper"===b.yref;if(H.text){let t=(w.shapes||[]).filter((function(e){return e.showlegend})),r=e._fullData.concat(t).some((function(e){let t=e.legend||"legend";return(Array.isArray(t)?t.includes(T):t===T)&&!0===e.visible}));V.style("opacity",r?1:.5)}if(!S){var _,k;_=v?f.l+f.w*b.x-g[I(b)]*b._width:w.width*b.x-g[I(b)]*b._width,k=x?f.t+f.h*(1-b.y)-g[L(b)]*b._effHeight:w.height*(1-b.y)-g[L(b)]*b._effHeight;var M=function(e,t,r,n){var a=e._fullLayout,o=a[t],s=I(o),l=L(o),c="paper"===o.xref,u="paper"===o.yref;e._fullLayout._reservedMargin[t]={};var h=o.y<.5?"b":"t",f=o.x<.5?"l":"r",p={r:a.width-r,l:r+o._width,b:a.height-n,t:n+o._effHeight};if(c&&u)return i.autoMargin(e,t,{x:o.x,y:o.y,l:o._width*g[s],r:o._width*y[s],b:o._effHeight*y[l],t:o._effHeight*g[l]});c?e._fullLayout._reservedMargin[t][h]=p[h]:u||"v"===o.orientation?e._fullLayout._reservedMargin[t][f]=p[f]:e._fullLayout._reservedMargin[t][h]=p[h]}(e,T,_,k);if(M)return;if(w.margin.autoexpand){var E=_,C=k;_=v?n.constrain(_,0,w.width-b._width):E,k=x?n.constrain(k,0,w.height-b._effHeight):C,_!==E&&n.log("Constrain "+T+".x to make legend fit inside graph"),k!==C&&n.log("Constrain "+T+".y to make legend fit inside graph")}l.setTranslate(j,_,k)}if(G.on(".drag",null),j.on("wheel",null),S||b._height<=b._maxHeight||e._context.staticPlot){var P=b._effHeight;S&&(P=b._height),U.attr({width:b._width-m,height:P-m,x:m/2,y:m/2}),l.setTranslate(q,0,0),N.select("rect").attr({width:b._width-2*m,height:P-2*m,x:m,y:m}),l.setClipUrl(q,h,e),l.setRect(G,0,0,0,0),delete b._scrollY}else{var z=Math.max(p.scrollBarMinHeight,b._effHeight*b._effHeight/b._height),D=b._effHeight-z-2*p.scrollBarMargin,O=b._height-b._effHeight,R=D/O,F=Math.min(b._scrollY||0,O);U.attr({width:b._width-2*m+p.scrollBarWidth+p.scrollBarMargin,height:b._effHeight-m,x:m/2,y:m/2}),N.select("rect").attr({width:b._width-2*m+p.scrollBarWidth+p.scrollBarMargin,height:b._effHeight-2*m,x:m,y:m+F}),l.setClipUrl(q,h,e),$(F,z,R),j.on("wheel",(function(){$(F=n.constrain(b._scrollY+r.event.deltaY/O*D,0,O),z,R),0!==F&&F!==O&&r.event.preventDefault()}));var B,W,Z,Y=r.behavior.drag().on("dragstart",(function(){var e=r.event.sourceEvent;B="touchstart"===e.type?e.changedTouches[0].clientY:e.clientY,Z=F})).on("drag",(function(){var e=r.event.sourceEvent;2===e.buttons||e.ctrlKey||(W="touchmove"===e.type?e.changedTouches[0].clientY:e.clientY,F=function(e,t,r){var i=(r-t)/R+e;return n.constrain(i,0,O)}(Z,B,W),$(F,z,R))}));G.call(Y);var X=r.behavior.drag().on("dragstart",(function(){var e=r.event.sourceEvent;"touchstart"===e.type&&(B=e.changedTouches[0].clientY,Z=F)})).on("drag",(function(){var e=r.event.sourceEvent;"touchmove"===e.type&&(W=e.changedTouches[0].clientY,F=function(e,t,r){var i=(t-r)/R+e;return n.constrain(i,0,O)}(Z,B,W),$(F,z,R))}));q.call(X)}function $(t,r,n){b._scrollY=e._fullLayout[T]._scrollY=t,l.setTranslate(q,0,-t),l.setRect(G,b._width,p.scrollBarMargin+t*n,p.scrollBarWidth,r),N.select("rect").attr("y",m+t)}e._context.edits.legendPosition&&(j.classed("cursor-move",!0),s.init({element:j.node(),gd:e,prepFn:function(e){if(e.target!==G.node()){var t=l.getTranslate(j);c=t.x,u=t.y}},moveFn:function(e,r){if(void 0!==c&&void 0!==u){var n=c+e,i=u+r;l.setTranslate(j,n,i),t=s.align(n,b._width,f.l,f.l+f.w,b.xanchor),o=s.align(i+b._height,-b._height,f.t+f.h,f.t,b.yanchor)}},doneFn:function(){if(void 0!==t&&void 0!==o){var r={};r[T+".x"]=t,r[T+".y"]=o,a.call("_guiRelayout",e,r)}},clickFn:function(t,r){var n=d.selectAll("g.traces").filter((function(){var e=this.getBoundingClientRect();return r.clientX>=e.left&&r.clientX<=e.right&&r.clientY>=e.top&&r.clientY<=e.bottom}));n.size()>0&&A(e,b,n,t,r)}}))}],e)}}function k(e,t,r){var n=e[0],i=n.width,a=t.entrywidthmode,o=n.trace.legendwidth||t.entrywidth;return"fraction"===a?t._maxWidth*o:r+(o||i)}function A(e,t,r,n,i){var s=e._fullLayout,l=r.data()[0][0].trace,c=t.itemclick,u=t.itemdoubleclick,f={event:i,node:r.node(),curveNumber:l.index,expandedIndex:l.index,data:e.data,layout:e.layout,frames:e._transitionData._frames,config:e._context,fullData:e._fullData,fullLayout:s};l._group&&(f.group=l._group),a.traceIs(l,"pie-like")&&(f.label=r.datum()[0].label);var p=o.triggerHandler(e,"plotly_legendclick",f);if(1===n){if(!1===p)return;t._clickTimeout=setTimeout((function(){e._fullLayout&&c&&h(r,e,t,c)}),e._context.doubleClickDelay)}else 2===n&&(t._clickTimeout&&clearTimeout(t._clickTimeout),e._legendMouseDownTime=0,!1!==o.triggerHandler(e,"plotly_legenddoubleclick",f)&&!1!==p&&u&&h(r,e,t,u))}function M(e,t,r){var i,o,s=_.getId(r),c=e.data()[0][0],h=c.trace,f=a.traceIs(h,"pie-like"),d=!r._inHover&&t._context.edits.legendText&&!f,m=r._maxNameLength;c.groupTitle?(i=c.groupTitle.text,o=c.groupTitle.font):(o=r.font,r.entries?i=c.text:(i=f?c.label:h.name,h._meta&&(i=n.templateString(i,h._meta))));var g=n.ensureSingle(e,"text",s+"text");g.attr("text-anchor","start").call(l.font,o).text(d?S(i,m):i);var y=r.indentation+r.itemwidth+2*p.itemGap;u.positionText(g,y,0),d?g.call(u.makeEditable,{gd:t,text:i}).call(C,e,t,r).on("edit",(function(n){this.text(S(n,m)).call(C,e,t,r);var i=c.trace._fullInput||{},o={};return o.name=n,i._isShape?a.call("_guiRelayout",t,"shapes["+h.index+"].name",o.name):a.call("_guiRestyle",t,o,h.index)})):C(g,e,t,r)}function S(e,t){var r=Math.max(4,t);if(e&&e.trim().length>=r/2)return e;for(var n=r-(e=e||"").length;n>0;n--)e+=" ";return e}function E(e,t,i){var a,o=t._context.doubleClickDelay,s=1,l=n.ensureSingle(e,"rect",i+"toggle",(function(e){t._context.staticPlot||e.style("cursor","pointer").attr("pointer-events","all"),e.call(c.fill,"rgba(0,0,0,0)")}));t._context.staticPlot||(l.on("mousedown",(function(){(a=(new Date).getTime())-t._legendMouseDownTimeo&&(s=Math.max(s-1,1)),A(t,n,e,s,r.event)}})))}function C(e,t,r,n,i){n._inHover&&e.attr("data-notex",!0),u.convertToTspans(e,r,(function(){!function(e,t,r,n){var i=e.data()[0][0],a=i&&i.trace.showlegend;if(Array.isArray(a)&&(a=!1!==a[i.i]),r._inHover||!i||a){var o=e.select("g[class*=math-group]"),s=o.node(),c=_.getId(r);r||(r=t._fullLayout[c]);var h,f,d=r.borderwidth,g=(1===n?r.title.font:i.groupTitle?i.groupTitle.font:r.font).size*m;if(s){var y=l.bBox(s);h=y.height,f=y.width,1===n?l.setTranslate(o,d,d+.75*h):l.setTranslate(o,0,.25*h)}else{var v="."+c+(1===n?"title":"")+"text",x=e.select(v),b=u.lineCount(x),w=x.node();if(h=g*b,f=w?l.bBox(w).width:0,1===n)"left"===r.title.side&&(f+=2*p.itemGap),u.positionText(x,d+p.titlePad,d+g);else{var T=2*p.itemGap+r.indentation+r.itemwidth;i.groupTitle&&(T=p.itemGap,f-=r.indentation+r.itemwidth),u.positionText(x,T,-g*((b-1)/2-.3))}}1===n?(r._titleWidth=f,r._titleHeight=h):(i.lineHeight=g,i.height=Math.max(h,16)+3,i.width=f)}else e.remove()}(t,r,n,i)}))}function I(e){return n.isRightAnchor(e)?"right":n.isCenterAnchor(e)?"center":"left"}function L(e){return n.isBottomAnchor(e)?"bottom":n.isMiddleAnchor(e)?"middle":"top"}t.exports=function(e,t){if(t)T(e,t);else{var n=e._fullLayout,i=n._legends;n._infolayer.selectAll('[class^="legend"]').each((function(){var e=r.select(this),t=e.attr("class").split(" ")[0];t.match(w)&&-1===i.indexOf(t)&&e.remove()}));for(var a=0;a$[0]._length||be<0||be>K[0]._length)return p.unhoverRaw(e,n)}else _e="xpx"in n?n.xpx:$[0]._length/2,be="ypx"in n?n.ypx:K[0]._length/2;if(n.pointerX=_e+$[0]._offset,n.pointerY=be+K[0]._offset,ne="xval"in n?y.flat(_,n.xval):y.p2c($,_e),ie="yval"in n?y.flat(_,n.yval):y.p2c(K,be),!r(ne[0])||!r(ie[0]))return i.warn("Fx.hover failed",n,e),p.unhoverRaw(e,n)}b.clickanywhere&&(e._hoverXVals=ne,e._hoverYVals=ie,e._hoverXAxes=$,e._hoverYAxes=K);var Ae=1/0;function Me(t,a){for(oe=0;oeme&&(ge.splice(0,me),Ae=ge[0].distance),M&&0!==re&&0===ge.length){de.distance=re,de.index=!1;var u=le._module.hoverPoints(de,fe,pe,"closest",{hoverLayer:b._hoverlayer});if(u&&(u=u.filter((function(e){return e.spikeDistance<=re}))),u&&u.length){var h,p=u.filter((function(e){return e.xa.showspikes&&"hovered data"!==e.xa.spikesnap}));if(p.length){var d=p[0];r(d.x0)&&r(d.y0)&&(h=Ee(d),(!ve.vLinePoint||ve.vLinePoint.spikeDistance>h.spikeDistance)&&(ve.vLinePoint=h))}var m=u.filter((function(e){return e.ya.showspikes&&"hovered data"!==e.ya.spikesnap}));if(m.length){var g=m[0];r(g.x0)&&r(g.y0)&&(h=Ee(g),(!ve.hLinePoint||ve.hLinePoint.spikeDistance>h.spikeDistance)&&(ve.hLinePoint=h))}}}}}function Se(e,t,r){for(var n,i=null,a=1/0,o=0;oe.trace.index===je.trace.index)):[je]).length;Me(G("x",je,b),G("y",je,b));var Ue,Ve=[],qe={},He=0,Ge=function(e){var t=I[e.trace.type]?z(e):e.trace.index;if(qe[t]){var r=qe[t]-1,n=Ve[r];r>0&&Math.abs(e.distance)Ne-1;Ue--)Ge(ge[Ue]);ge=Ve,Pe()}var We=e._hoverdata,Ze=[],Ye=Z(e),Xe=Y(e);for(let e of ge){var $e=y.makeEventData(e,e.trace,e.cd);if(!1!==e.hovertemplate){var Ke=!1;e.cd[e.index]&&e.cd[e.index].ht&&(Ke=e.cd[e.index].ht),e.hovertemplate=Ke||e.trace.hovertemplate||!1}if(e.xa&&e.ya){var Je=e.x0+e.xa._offset,Qe=e.x1+e.xa._offset,et=e.y0+e.ya._offset,tt=e.y1+e.ya._offset,rt=Math.min(Je,Qe),nt=Math.max(Je,Qe),it=Math.min(et,tt),at=Math.max(et,tt);$e.bbox={x0:rt+Xe,x1:nt+Xe,y0:it+Ye,y1:at+Ye},$e.xPixel=(Je+Qe)/2,$e.yPixel=(et+tt)/2}e.eventData=[$e],Ze.push($e)}e._hoverdata=Ze;var ot="y"===S&&(ye.length>1||ge.length>1)||"closest"===S&&xe&&ge.length>1,st=f.combine(b.plot_bgcolor||f.background,b.paper_bgcolor),lt=O(ge,{gd:e,hovermode:S,rotateLabels:ot,bgColor:st,container:b._hoverlayer,outerContainer:b._paper.node(),commonLabelOpts:b.hoverlabel,hoverdistance:b.hoverdistance}),ct=lt.hoverLabels;if(y.isUnifiedHover(S)||(function(e,t,r,n){var i,a,o,s,l,c,u,h=t?"xa":"ya",f=t?"ya":"xa",p=0,d=1,m=e.size(),g=new Array(m),y=0,v=n.minX,x=n.maxX,_=n.minY,b=n.maxY,w=function(e){return e*r._invScaleX},T=function(e){return e*r._invScaleY};function A(e){var t=e[0],r=e[e.length-1];if(a=t.pmin-t.pos-t.dp+t.size,o=r.pos+r.dp+r.size-t.pmax,a>.01){for(l=e.length-1;l>=0;l--)e[l].dp+=a;i=!1}if(!(o<.01)){if(a<-.01){for(l=e.length-1;l>=0;l--)e[l].dp-=o;i=!1}if(i){var n=0;for(s=0;st.pmax&&n++;for(s=e.length-1;s>=0&&!(n<=0);s--)(c=e[s]).pos>t.pmax-1&&(c.del=!0,n--);for(s=0;s=0;l--)e[l].dp-=o;for(s=e.length-1;s>=0&&!(n<=0);s--)(c=e[s]).pos+c.dp+c.size>t.pmax&&(c.del=!0,n--)}}}for(e.each((function(e){var n=e[h],i=e[f],a="x"===n._id.charAt(0),o=n.range;0===y&&o&&o[0]>o[1]!==a&&(d=-1);var s=0,l=a?r.width:r.height;if("x"===r.hovermode||"y"===r.hovermode){var c,u,p=B(e,t),m=e.anchor,A="end"===m?-1:1;if("middle"===m)u=(c=e.crossPos+(a?T(p.y-e.by/2):w(e.bx/2+e.tx2width/2)))+(a?T(e.by):w(e.bx));else if(a)u=(c=e.crossPos+T(E+p.y)-T(e.by/2-E))+T(e.by);else{var M=w(A*E+p.x),S=M+w(A*e.bx);c=e.crossPos+Math.min(M,S),u=e.crossPos+Math.max(M,S)}a?void 0!==_&&void 0!==b&&Math.min(u,b)-Math.max(c,_)>1&&("left"===i.side?(s=i._mainLinePosition,l=r.width):l=i._mainLinePosition):void 0!==v&&void 0!==x&&Math.min(u,x)-Math.max(c,v)>1&&("top"===i.side?(s=i._mainLinePosition,l=r.height):l=i._mainLinePosition)}g[y++]=[{datum:e,traceIndex:e.trace.index,dp:0,pos:e.pos,posref:e.posref,size:e.by*(a?k:1)/2,pmin:s,pmax:l}]})),g.sort((function(e,t){return e[0].posref-t[0].posref||d*(t[0].traceIndex-e[0].traceIndex)}));!i&&p<=m;){for(p++,i=!0,s=0;s.01){for(l=S.length-1;l>=0;l--)S[l].dp+=a;for(M.push.apply(M,S),g.splice(s+1,1),u=0,l=M.length-1;l>=0;l--)u+=M[l].dp;for(o=u/M.length,l=M.length-1;l>=0;l--)M[l].dp-=o;i=!1}else s++}g.forEach(A)}for(s=g.length-1;s>=0;s--){var L=g[s];for(l=L.length-1;l>=0;l--){var P=L[l],z=P.datum;z.offset=P.dp,z.del=P.del}}}(ct,ot,b,lt.commonLabelBoundingBox),j(ct,ot,b._invScaleX,b._invScaleY)),c&&c.tagName){var ut=g.getComponentMethod("annotations","hasClickToShow")(e,Ze);u(t.select(c),ut?"pointer":"")}var ht=function(e,t,r){if(!r||r.length!==e._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=e._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers)||i.binNumber!==a.binNumber)return!0}return!1}(e,0,We);function ft(t){e.emit("plotly_hover",{event:n,points:t,xaxes:$,yaxes:K,xvals:ne,yvals:ie})}c&&!s&&(ht||b.hoveranywhere)&&(We&&ht&&e.emit("plotly_unhover",{event:n,points:We}),ft(e._hoverdata))}(e,n,o,s,c)}))},e.loneHover=function(e,r){var n=!0;Array.isArray(e)||(n=!1,e=[e]);var i=r.gd,a=Z(i),o=Y(i),s=!1,l=O(e.map((function(e){var t=e._x0||e.x0||e.x||0,n=e._x1||e.x1||e.x||0,s=e._y0||e.y0||e.y||0,l=e._y1||e.y1||e.y||0,c=e.eventData;if(c){var u=Math.min(t,n),h=Math.max(t,n),p=Math.min(s,l),d=Math.max(s,l),m=e.trace;if(g.traceIs(m,"gl3d")){var y=i._fullLayout[m.scene]._scene.container,v=y.offsetLeft,x=y.offsetTop;u+=v,h+=v,p+=x,d+=x}c.bbox={x0:u+o,x1:h+o,y0:p+a,y1:d+a},c.xPixel=(t+n)/2,c.yPixel=(s+l)/2,r.inOut_bbox&&r.inOut_bbox.push(c.bbox)}else c=!1;return{color:e.color||f.defaultLine,x0:e.x0||e.x||0,x1:e.x1||e.x||0,y0:e.y0||e.y||0,y1:e.y1||e.y||0,xLabel:e.xLabel,yLabel:e.yLabel,zLabel:e.zLabel,text:e.text,name:e.name,idealAlign:e.idealAlign,borderColor:e.borderColor,fontFamily:e.fontFamily,fontSize:e.fontSize,fontColor:e.fontColor,fontWeight:e.fontWeight,fontStyle:e.fontStyle,fontVariant:e.fontVariant,nameLength:e.nameLength,textAlign:e.textAlign,trace:e.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:e.hovertemplate||!1,hovertemplateLabels:e.hovertemplateLabels||!1,eventData:c}})),{gd:i,hovermode:"closest",rotateLabels:s,bgColor:r.bgColor||f.background,container:t.select(r.container),outerContainer:r.outerContainer||r.container}).hoverLabels,c=0,u=0;return l.sort((function(e,t){return e.y0-t.y0})).each((function(e,t){var n=e.y0-e.by/2;e.offset=n-5([\s\S]*)<\/extra>/;function O(e,r){var n=r.gd,a=n._fullLayout,l=r.hovermode,u=r.rotateLabels,p=r.bgColor,d=r.container,m=r.outerContainer,b=r.commonLabelOpts||{};if(0===e.length)return[[]];var T=r.fontFamily||v.HOVERFONT,k=r.fontSize||v.HOVERFONTSIZE,A=r.fontWeight||a.font.weight,M=r.fontStyle||a.font.style,S=r.fontVariant||a.font.variant,I=r.fontTextcase||a.font.textcase,L=r.fontLineposition||a.font.lineposition,P=r.fontShadow||a.font.shadow,D=e[0],O=D.xa,F=D.ya,B=l.charAt(0),j=B+"Label",N=D[j];if(void 0===N&&"multicategory"===O.type)for(var U=0;Ua.width-w&&(z=a.width-w),r.attr("d","M"+(y-z)+",0L"+(y-z+E)+","+_+E+"H"+w+"v"+_+(2*C+x.height)+"H"+-w+"V"+_+E+"H"+(y-z-E)+"Z"),y=z,Q.minX=y-w,Q.maxX=y+w,"top"===O.side?(Q.minY=v-(2*C+x.height),Q.maxY=v-C):(Q.minY=v+C,Q.maxY=v+(2*C+x.height))}else{var R,B,j;"right"===F.side?(R="start",B=1,j="",y=O._offset+O._length):(R="end",B=-1,j="-",y=O._offset),v=F._offset+(D.y0+D.y1)/2,s.attr("text-anchor",R),r.attr("d","M0,0L"+j+E+","+E+"V"+(C+x.height/2)+"h"+j+(2*C+x.width)+"V-"+(C+x.height/2)+"H"+j+E+"V-"+E+"Z"),Q.minY=v-(C+x.height/2),Q.maxY=v+(C+x.height/2),"right"===F.side?(Q.minX=y+E,Q.maxX=y+E+(2*C+x.width)):(Q.minX=y-E-(2*C+x.width),Q.maxX=y-E);var U,V=x.height/2,H=q-x.top-V,G="clip"+a._uid+"commonlabel"+F._id;if(y"none"!==e.hoverinfo));if(0===t.length)return[];var ee=a.hoverlabel,te=ee.font,re=t[0],ne=(("x unified"===l?re.xa:re.ya).unifiedhovertitle||{}).text,ie={showlegend:!0,legend:{title:{text:ne?i.hovertemplateString({data:"x unified"===l?[{xa:re.xa,x:re.xVal}]:[{ya:re.ya,y:re.yVal}],fallback:re.trace.hovertemplatefallback,locale:a._d3locale,template:ne}):N,font:te},font:te,bgcolor:ee.bgcolor,bordercolor:ee.bordercolor,borderwidth:1,tracegroupgap:7,traceorder:a.legend?a.legend.traceorder:void 0,orientation:"v"}},ae={font:te};x(ie,ae,n._fullData);var oe=ae.legend;oe.entries=[];for(var se=0;se=0?me:ge+xe=0?ge:Se+xe=0?pe:de+_e=0?de:Ee+_e=0,"top"!==e.idealAlign&&K||!J?K?(j+=V/2,e.anchor="start"):e.anchor="middle":(j-=V/2,e.anchor="end"),e.crossPos=j;else{if(e.pos=j,K=B+U/2+Q<=H,J=B-U/2-Q>=0,"left"!==e.idealAlign&&K||!J)if(K)B+=U/2,e.anchor="start";else{e.anchor="middle";var ee=Q/2,te=B+ee-H,re=B-ee;te>0&&(B-=te),re<0&&(B+=-re)}else B-=U/2,e.anchor="end";e.crossPos=B}b.attr("text-anchor",e.anchor),D&&z.attr("text-anchor",e.anchor),r.attr("transform",o(B,j)+(u?s(w):""))})),{hoverLabels:Ce,commonLabelBoundingBox:Q}}function R(e,t,r,n,a,o){var s,l,c="",u="";void 0!==e.nameOverride&&(e.name=e.nameOverride),e.name&&(e.trace._meta&&(e.name=i.templateString(e.name,e.trace._meta)),c=H(e.name,e.nameLength));var h=r.charAt(0),f="x"===h?"y":"x";void 0!==e.zLabel?(void 0!==e.xLabel&&(u+="x: "+e.xLabel+"
"),void 0!==e.yLabel&&(u+="y: "+e.yLabel+"
"),"choropleth"!==e.trace.type&&"choroplethmapbox"!==e.trace.type&&"choroplethmap"!==e.trace.type&&(u+=(u?"z: ":"")+e.zLabel)):t&&e[h+"Label"]===a?u=e[f+"Label"]||"":void 0===e.xLabel?void 0!==e.yLabel&&"scattercarpet"!==e.trace.type&&(u=e.yLabel):u=void 0===e.yLabel?e.xLabel:"("+e.xLabel+", "+e.yLabel+")",(e.text||0===e.text)&&!Array.isArray(e.text)&&(u+=(u?"
":"")+e.text),void 0!==e.extraText&&(u+=(u?"
":"")+e.extraText),o&&""===u&&!e.hovertemplate&&(""===c&&o.remove(),u=c),null!=(l=null==(s=e.trace)?void 0:s.hoverlabel)&&l.split&&(e.hovertemplate="");let{hovertemplate:p=!1}=e;if(p){let t=e.hovertemplateLabels||e;e[h+"Label"]!==a&&(t[h+"other"]=t[h+"Val"],t[h+"otherLabel"]=t[h+"Label"]),u=(u=i.hovertemplateString({data:[e.eventData[0]||{},e.trace._meta],fallback:e.trace.hovertemplatefallback,labels:t,locale:n._d3locale,template:p})).replace(D,((t,r)=>(c=H(r,e.nameLength),"")))}return[u,c]}function B(e,t){var r=0,n=e.offset;return t&&(n*=-S,r=e.offset*A),{x:r,y:n}}function j(e,r,n,i){var a=function(e){return e*n},o=function(e){return e*i};e.each((function(e){var n=t.select(this);if(e.del)return n.remove();var i,s=n.select("text.nums"),l=e.anchor,u="end"===l?-1:1,f=function(e){var t={start:1,end:-1,middle:0}[e.anchor],r=t*(E+C),n=r+t*(e.txwidth+C);return"middle"===e.anchor&&(r-=e.tx2width/2,n+=e.txwidth/2+C),{alignShift:t,textShiftX:r,text2ShiftX:n}}(e),p=B(e,r),d=p.x,m=p.y,g="middle"===l,y=!("hoverlabel"in e.trace)||e.trace.hoverlabel.showarrow;i=g?"M-"+a(e.bx/2+e.tx2width/2)+","+o(m-e.by/2)+"h"+a(e.bx)+"v"+o(e.by)+"h-"+a(e.bx)+"Z":y?"M0,0L"+a(u*E+d)+","+o(E+m)+"v"+o(e.by/2-E)+"h"+a(u*e.bx)+"v-"+o(e.by)+"H"+a(u*E+d)+"V"+o(m-E)+"Z":"M"+a(u*E+d)+","+o(m-e.by/2)+"h"+a(u*e.bx)+"v"+o(e.by)+"h"+a(-u*e.bx)+"Z",n.select("path").attr("d",i);var v=d+f.textShiftX,x=m+e.ty0-e.by/2+C,_=e.textAlign||"auto";"auto"!==_&&("left"===_&&"start"!==l?(s.attr("text-anchor","start"),v=g?-e.bx/2-e.tx2width/2+C:-e.bx-C):"right"===_&&"end"!==l&&(s.attr("text-anchor","end"),v=g?e.bx/2-e.tx2width/2-C:e.bx+C)),s.call(c.positionText,a(v),o(x)),e.tx2width&&(n.select("text.name").call(c.positionText,a(f.text2ShiftX+f.alignShift*C+d),o(m+e.ty0-e.by/2+C)),n.select("rect").call(h.setRect,a(f.text2ShiftX+(f.alignShift-1)*e.tx2width/2+d),o(m-e.by/2-1),a(e.tx2width),o(e.by+2)))}))}function U(e,t){var n=e.index,a=e.trace||{},o=e.cd[0],s=e.cd[n]||{};function l(e){return e||r(e)&&0===e}var c=Array.isArray(n)?function(e,t){var r=i.castOption(o,n,e);return l(r)?r:i.extractOption({},a,"",t)}:function(e,t){return i.extractOption(s,a,e,t)};function u(t,r,n){var i=c(r,n);l(i)&&(e[t]=i)}if(u("hoverinfo","hi","hoverinfo"),u("bgcolor","hbg","hoverlabel.bgcolor"),u("borderColor","hbc","hoverlabel.bordercolor"),u("fontFamily","htf","hoverlabel.font.family"),u("fontSize","hts","hoverlabel.font.size"),u("fontColor","htc","hoverlabel.font.color"),u("fontWeight","htw","hoverlabel.font.weight"),u("fontStyle","hty","hoverlabel.font.style"),u("fontVariant","htv","hoverlabel.font.variant"),u("nameLength","hnl","hoverlabel.namelength"),u("textAlign","hta","hoverlabel.align"),e.posref="y"===t||"closest"===t&&"h"===a.orientation?e.xa._offset+(e.x0+e.x1)/2:e.ya._offset+(e.y0+e.y1)/2,e.x0=i.constrain(e.x0,0,e.xa._length),e.x1=i.constrain(e.x1,0,e.xa._length),e.y0=i.constrain(e.y0,0,e.ya._length),e.y1=i.constrain(e.y1,0,e.ya._length),void 0!==e.xLabelVal&&(e.xLabel="xLabel"in e?e.xLabel:d.hoverLabelText(e.xa,e.xLabelVal,a.xhoverformat),e.xVal=e.xa.c2d(e.xLabelVal)),void 0!==e.yLabelVal&&(e.yLabel="yLabel"in e?e.yLabel:d.hoverLabelText(e.ya,e.yLabelVal,a.yhoverformat),e.yVal=e.ya.c2d(e.yLabelVal)),void 0!==e.zLabelVal&&void 0===e.zLabel&&(e.zLabel=String(e.zLabelVal)),!(isNaN(e.xerr)||"log"===e.xa.type&&e.xerr<=0)){var h=d.tickText(e.xa,e.xa.c2l(e.xerr),"hover").text;void 0!==e.xerrneg?e.xLabel+=" +"+h+" / -"+d.tickText(e.xa,e.xa.c2l(e.xerrneg),"hover").text:e.xLabel+=" ± "+h,"x"===t&&(e.distance+=1)}if(!(isNaN(e.yerr)||"log"===e.ya.type&&e.yerr<=0)){var f=d.tickText(e.ya,e.ya.c2l(e.yerr),"hover").text;void 0!==e.yerrneg?e.yLabel+=" +"+f+" / -"+d.tickText(e.ya,e.ya.c2l(e.yerrneg),"hover").text:e.yLabel+=" ± "+f,"y"===t&&(e.distance+=1)}var p=e.hoverinfo||e.trace.hoverinfo;return p&&"all"!==p&&(-1===(p=Array.isArray(p)?p:p.split("+")).indexOf("x")&&(e.xLabel=void 0),-1===p.indexOf("y")&&(e.yLabel=void 0),-1===p.indexOf("z")&&(e.zLabel=void 0),-1===p.indexOf("text")&&(e.text=void 0),-1===p.indexOf("name")&&(e.name=void 0)),e}function V(e,t,r){var i,a,o=r.container,s=r.fullLayout,l=s._size,c=r.event,u=!!t.hLinePoint,p=!!t.vLinePoint;if(o.selectAll(".spikeline").remove(),p||u){var m=f.combine(s.plot_bgcolor,s.paper_bgcolor);if(u){var g,y,v=t.hLinePoint;i=v&&v.xa,"cursor"===(a=v&&v.ya).spikesnap?(g=c.pointerX,y=c.pointerY):(g=i._offset+v.x,y=a._offset+v.y);var x,_,b=n.readability(v.color,m)<1.5?f.contrast(m):v.color,w=a.spikemode,T=a.spikethickness,k=a.spikecolor||b,A=d.getPxPosition(e,a);if(-1!==w.indexOf("toaxis")||-1!==w.indexOf("across")){if(-1!==w.indexOf("toaxis")&&(x=A,_=g),-1!==w.indexOf("across")){var M=a._counterDomainMin,S=a._counterDomainMax;"free"===a.anchor&&(M=Math.min(M,a.position),S=Math.max(S,a.position)),x=l.l+M*l.w,_=l.l+S*l.w}o.insert("line",":first-child").attr({x1:x,x2:_,y1:y,y2:y,"stroke-width":T,stroke:k,"stroke-dasharray":h.dashStyle(a.spikedash,T)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:x,x2:_,y1:y,y2:y,"stroke-width":T+2,stroke:m}).classed("spikeline",!0).classed("crisp",!0)}-1!==w.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:A+("right"!==a.side?T:-T),cy:y,r:T,fill:k}).classed("spikeline",!0)}if(p){var E,C,I=t.vLinePoint;i=I&&I.xa,a=I&&I.ya,"cursor"===i.spikesnap?(E=c.pointerX,C=c.pointerY):(E=i._offset+I.x,C=a._offset+I.y);var L,P,z=n.readability(I.color,m)<1.5?f.contrast(m):I.color,D=i.spikemode,O=i.spikethickness,R=i.spikecolor||z,F=d.getPxPosition(e,i);if(-1!==D.indexOf("toaxis")||-1!==D.indexOf("across")){if(-1!==D.indexOf("toaxis")&&(L=F,P=C),-1!==D.indexOf("across")){var B=i._counterDomainMin,j=i._counterDomainMax;"free"===i.anchor&&(B=Math.min(B,i.position),j=Math.max(j,i.position)),L=l.t+(1-j)*l.h,P=l.t+(1-B)*l.h}o.insert("line",":first-child").attr({x1:E,x2:E,y1:L,y2:P,"stroke-width":O,stroke:R,"stroke-dasharray":h.dashStyle(i.spikedash,O)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:E,x2:E,y1:L,y2:P,"stroke-width":O+2,stroke:m}).classed("spikeline",!0).classed("crisp",!0)}-1!==D.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:E,cy:F-("top"!==i.side?O:-O),r:O,fill:R}).classed("spikeline",!0)}}}function q(e,t){return!t||t.vLinePoint!==e._spikepoints.vLinePoint||t.hLinePoint!==e._spikepoints.hLinePoint}function H(e,t){return c.plainText(e||"",{len:t,allowedTags:["br","sub","sup","b","i","em","s","u"]})}function G(e,t,r){var n=t[e+"a"],i=t[e+"Val"],a=t.cd[0];if("category"===n.type||"multicategory"===n.type)i=n._categoriesMap[i];else if("date"===n.type){var o=t.trace[e+"periodalignment"];if(o){var s=t.cd[t.index],l=s[e+"Start"];void 0===l&&(l=s[e]);var c=s[e+"End"];void 0===c&&(c=s[e]);var u=c-l;"end"===o?i+=u:"middle"===o&&(i+=u/2)}i=n.d2c(i)}return a&&a.t&&a.t.posLetter===n._id&&("group"===r.boxmode||"group"===r.violinmode)&&(i+=a.t.dPos),i}var Z=e=>e.offsetTop+e.clientTop,Y=e=>e.offsetLeft+e.clientLeft;function X(e,t){var r=e._fullLayout,n=t.getBoundingClientRect(),a=n.left,o=n.top,s=a+n.width,l=o+n.height,c=i.apply3DTransform(r._invTransform)(a,o),u=i.apply3DTransform(r._invTransform)(s,l),h=c[0],f=c[1],p=u[0],d=u[1];return{x:h,y:f,width:p-h,height:d-f,top:Math.min(f,d),left:Math.min(h,p),right:Math.max(h,p),bottom:Math.max(f,d)}}}}),Er=m({"src/components/fx/hoverlabel_defaults.js"(e,t){var r=ct(),n=W(),i=Kt().isUnifiedHover;t.exports=function(e,t,a,o){o=o||{};var s=t.legend;function l(e){o.font[e]||(o.font[e]=s?t.legend.font[e]:t.font[e])}t&&i(t.hovermode)&&(o.font||(o.font={}),l("size"),l("family"),l("color"),l("weight"),l("style"),l("variant"),s?(o.bgcolor||(o.bgcolor=n.combine(t.legend.bgcolor,t.paper_bgcolor)),o.bordercolor||(o.bordercolor=t.legend.bordercolor)):o.bgcolor||(o.bgcolor=t.paper_bgcolor)),a("hoverlabel.bgcolor",o.bgcolor),a("hoverlabel.bordercolor",o.bordercolor),a("hoverlabel.namelength",o.namelength),a("hoverlabel.showarrow",o.showarrow),r.coerceFont(a,"hoverlabel.font",o.font),a("hoverlabel.align",o.align)}}}),Cr=m({"src/components/fx/layout_global_defaults.js"(e,t){var r=ct(),n=Er(),i=U();t.exports=function(e,t){n(e,t,(function(n,a){return r.coerce(e,t,i,n,a)}))}}}),Ir=m({"src/components/fx/defaults.js"(e,t){var r=ct(),n=V(),i=Er();t.exports=function(e,t,a,o){var s=r.extendFlat({},o.hoverlabel);t.hovertemplate&&(s.namelength=-1),i(e,t,(function(i,a){return r.coerce(e,t,n,i,a)}),s)}}}),Lr=m({"src/components/fx/hovermode_defaults.js"(e,t){var r=ct(),n=U();t.exports=function(e,t){function i(i,a){return void 0!==t[i]?t[i]:r.coerce(e,t,n,i,a)}return i("clickmode"),i("hoversubplots"),i("hoveranywhere"),i("clickanywhere"),i("hovermode")}}}),Pr=m({"src/components/fx/layout_defaults.js"(e,t){var r=ct(),n=U(),i=Lr(),a=Er();t.exports=function(e,t){function o(i,a){return r.coerce(e,t,n,i,a)}var s=i(e,t);s&&(o("hoverdistance"),o("spikedistance"),-1!==s.indexOf("unified")&&o("hoversort")),"select"===o("dragmode")&&o("selectdirection");var l=t._has("mapbox"),c=t._has("map"),u=t._has("geo"),h=t._basePlotModules.length;"zoom"===t.dragmode&&((l||c||u)&&1===h||(l||c)&&u&&2===h)&&(t.dragmode="pan"),a(e,t,o),r.coerceFont(o,"hoverlabel.grouptitlefont",t.hoverlabel.font)}}}),zr=m({"src/components/fx/calc.js"(e,t){var r=ct(),n=He();function i(e,t,n,i){i=i||r.identity,Array.isArray(e)&&(t[0][n]=i(e))}t.exports=function(e){var t=e.calcdata,a=e._fullLayout;function o(e){return function(t){return r.coerceHoverinfo({hoverinfo:t},{_module:e._module},a)}}for(var s=0;s"," plotly-logomark"," "," "," "," "," "," "," "," "," "," "," "," "," ",""].join("")}}}}),jr=m({"src/components/shapes/draw_newshape/constants.js"(e,t){t.exports={CIRCLE_SIDES:32,i000:0,i090:8,i180:16,i270:24,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}}}),Nr=m({"src/components/selections/helpers.js"(e,t){var r=ct().strTranslate;function n(e,t){switch(e.type){case"log":return e.p2d(t);case"date":return e.p2r(t,0,e.calendar);default:return e.p2r(t)}}t.exports={p2r:n,r2p:function(e,t){switch(e.type){case"log":return e.d2p(t);case"date":return e.r2p(t,0,e.calendar);default:return e.r2p(t)}},axValue:function(e){var t="y"===e._id.charAt(0)?1:0;return function(r){return n(e,r[t])}},getTransform:function(e){return r(e.xaxis._offset,e.yaxis._offset)}}}}),Ur=m({"src/components/shapes/draw_newshape/helpers.js"(e){var t=Jt(),r=jr(),n=r.CIRCLE_SIDES,i=r.SQRT2,a=Nr(),o=a.p2r,s=a.r2p,l=[0,3,4,5,6,1,2],c=[0,3,4,1,2];function u(e,t){return Math.abs(e-t)<=1e-6}function h(e,t){var r=t[1]-e[1],n=t[2]-e[2];return Math.sqrt(r*r+n*n)}e.writePaths=function(e){var t=e.length;if(!t)return"M0,0Z";for(var r="",n=0;n0&&u{let r=t.charAt(0);return e+(void 0!==a[r].drawn?1:0)}),0)},e.getDataToPixel=function(t,r,n,a,o){var s,l=t._fullLayout._size;if(r)if("domain"===o)s=function(e){return r._length*(a?1-e:e)+r._offset};else{var c=e.shapePositionToRange(r);s=function(e){var t=i(r,n);return r._offset+r.r2p(c(e,!0))+t},"date"===r.type&&(s=e.decodeDate(s))}else s=a?function(e){return l.t+l.h*(1-e)}:function(e){return l.l+l.w*e};return s},e.getPixelToData=function(t,r,n,i){var a,o=t._fullLayout._size;if(r)if("domain"===i)a=function(e){var t=(e-r._offset)/r._length;return n?1-t:t};else{var s=e.rangeToShapePosition(r);a=function(e){return s(r.p2r(e-r._offset))}}else a=n?function(e){return 1-(e-o.t)/o.h}:function(e){return(e-o.l)/o.w};return a},e.roundPositionForSharpStrokeRendering=function(e,t){var r=1===Math.round(t%2),n=Math.round(e);return r?n+.5:n},e.makeShapesOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.shapes[t]||{},n=e._fullLayout._plots[r.xref+r.yref];return n?n._hadPlotinfo=!0:(n={},r.xref&&"paper"!==r.xref&&(n.xaxis=e._fullLayout[r.xref+"axis"]),r.yref&&"paper"!==r.yref&&(n.yaxis=e._fullLayout[r.yref+"axis"])),n.xsizemode=r.xsizemode,n.ysizemode=r.ysizemode,n.xanchor=r.xanchor,n.yanchor=r.yanchor,{options:r,plotinfo:n}},e.makeSelectionsOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.selections[t]||{},n=e._fullLayout._plots[r.xref+r.yref];return n?n._hadPlotinfo=!0:(n={},r.xref&&(n.xaxis=e._fullLayout[r.xref+"axis"]),r.yref&&(n.yaxis=e._fullLayout[r.yref+"axis"])),{options:r,plotinfo:n}},e.getPathString=function(a,o){let s=o.type,l=n.getRefType(o.xref),c=n.getRefType(o.yref),u=a._fullLayout._size;var h,f,p,d,m,g,y,v,x,_,b,w;function T(t,r,n,i){var a;if(t)if("domain"===r)a=i?function(e){return t._offset+t._length*(1-e)}:function(e){return t._offset+t._length*e};else{let r=e.shapePositionToRange(t);a=function(e){return t._offset+t.r2p(r(e,!0))},"path"===n&&"date"===t.type&&(a=e.decodeDate(a))}else a=i?function(e){return u.t+u.h*(1-e)}:function(e){return u.l+u.w*e};return a}if("array"===l?(y=[],h=o.xref.map((function(e){return n.getFromId(a,e)})),y=o.xref.map((function(e,t){return T(h[t],n.getRefType(e),s,!1)}))):y=T(h=n.getFromId(a,o.xref),l,s,!1),"array"===c?(v=[],f=o.yref.map((function(e){return n.getFromId(a,e)})),v=o.yref.map((function(e,t){return T(f[t],n.getRefType(e),s,!0)}))):v=T(f=n.getFromId(a,o.yref),c,s,!0),"path"===s)return function(e,n,i){let a=e.path,o=e.xsizemode,s=e.ysizemode,l=e.xanchor,c=e.yanchor,u=Array.isArray(e.xref),h=Array.isArray(e.yref);var f=0,p=0;return a.replace(t.segmentRE,(function(e){var a=0,d=e.charAt(0),m=t.paramIsX[d],g=t.paramIsY[d],y=t.numParams[d];let v=void 0!==m.drawn,x=void 0!==g.drawn,_=u?n[f]:n,b=h?i[p]:i;var w=e.slice(1).replace(t.paramRE,(function(e){return m[a]?e="pixel"===o?_(l)+Number(e):_(e):g[a]&&(e="pixel"===s?b(c)-Number(e):b(e)),++a>y&&(e="X"),e}));return a>y&&(w=w.replace(/[\s,]*X.*/,""),r.log("Ignoring extra params in segment "+e)),v&&f++,x&&p++,d+w}))}(o,y,v);if("array"===l)p=i(h[0],o.x0shift),d=i(h[1],o.x1shift),x=y[0](o.x0)+p,_=y[1](o.x1)+d;else if(p=i(h,o.x0shift),d=i(h,o.x1shift),"pixel"===o.xsizemode){let e=y(o.xanchor);x=e+o.x0+p,_=e+o.x1+d}else x=y(o.x0)+p,_=y(o.x1)+d;if("array"===c)m=i(f[0],o.y0shift),g=i(f[1],o.y1shift),b=v[0](o.y0)+m,w=v[1](o.y1)+g;else if(m=i(f,o.y0shift),g=i(f,o.y1shift),"pixel"===o.ysizemode){let e=v(o.yanchor);b=e-o.y0+m,w=e-o.y1+g}else b=v(o.y0)+m,w=v(o.y1)+g;if("line"===s)return"M"+x+","+b+"L"+_+","+w;if("rect"===s)return"M"+x+","+b+"H"+_+"V"+w+"H"+x+"Z";var k=(x+_)/2,A=(b+w)/2,M=Math.abs(k-x),S=Math.abs(A-b),E="A"+M+","+S,C=k+M+","+A;return"M"+C+E+" 0 1,1 "+k+","+(A-S)+E+" 0 0,1 "+C+"Z"},e.getPixelShift=i}}),Wr=m({"src/components/shapes/display_labels.js"(e,t){var r=ct(),n=ar(),i=Et(),a=er(),o=Ur().readPaths,s=Gr(),l=s.getPathString,c=Be(),u=St().FROM_TL;t.exports=function(e,t,h,f){if(f.selectAll(".shape-label").remove(),h.label.text||h.label.texttemplate){var p;if(h.label.texttemplate){var d={};if("path"!==h.type){var m=n.getFromId(e,h.xref),g=n.getFromId(e,h.yref);let t=Array.isArray(h.xref),r=Array.isArray(h.yref);for(var y in c){var v="function"==typeof c[y],x=!t||c.simpleXVariables.includes(y),_=!r||c.simpleYVariables.includes(y);if(v&&x&&_){var b=c[y](h,m,g);void 0!==b&&(d[y]=b)}}}p=r.texttemplateStringForShapes({data:[d],fallback:h.label.texttemplatefallback,locale:e._fullLayout._d3locale,template:h.label.texttemplate})}else p=h.label.text;var w,T,k,A,M={"data-index":t},S=h.label.font,E=f.append("g").attr(M).classed("shape-label",!0).append("text").attr({"data-notex":1}).classed("shape-label-text",!0).text(p);if(h.path){var C=l(e,h),I=o(C,e);w=1/0,k=1/0,T=-1/0,A=-1/0;for(var L=0;Ls.getDataToPixel(e,n,r,!1,i)(t),m=(t,r,n,i)=>s.getDataToPixel(e,n,r,!0,i)(t);if("pixel"===h.xsizemode){let e=d(h.xanchor,void 0,i,c),t=s.getPixelShift(i,h.x0shift),r=s.getPixelShift(i,h.x1shift);w=e+h.x0+t,T=e+h.x1+r}else w=d(h.x0,h.x0shift,i,c),T=d(h.x1,h.x1shift,a,u);if("pixel"===h.ysizemode){let e=m(h.yanchor,void 0,o,f),t=s.getPixelShift(o,h.y0shift),r=s.getPixelShift(o,h.y1shift);k=e-h.y0+t,A=e-h.y1+r}else k=m(h.y0,h.y0shift,o,f),A=m(h.y1,h.y1shift,l,p)}var F=h.label.textangle;"auto"===F&&(F="line"===h.type?function(e,t,r,n){var i,a;return a=Math.abs(r-e),i=r>=e?t-n:n-t,-180/Math.PI*Math.atan2(i,a)}(w,k,T,A):0),E.call((function(t){return t.call(a.font,S).attr({}),i.convertToTspans(t,e),t}));var B=function(e,t,r,n,i,a,o){var s,l,c,h,f=i.label.textposition,p=i.label.textangle,d=i.label.padding,m=i.type,g=Math.PI/180*a,y=Math.sin(g),v=Math.cos(g),x=i.label.xanchor,_=i.label.yanchor;if("line"===m){"start"===f?(s=e,l=t):"end"===f?(s=r,l=n):(s=(e+r)/2,l=(t+n)/2),"auto"===x&&(x="start"===f?"auto"===p?r>e?"left":re?"right":re?"right":re?"left":r1&&(2!==e.length||"Z"!==e[1][0])&&(0===I&&(e[0][0]="M"),t[C]=e,A(),M())}}()}}function V(e,r){(function(e,r){if(t.length)for(var n=0;nb?(M=d,I="y0",S=b,L="y1"):(M=b,I="y1",S=d,L="y0"),re(r),ae(c,o),function(e,t,r){var n=t.xref,i=t.yref,o=a.getFromId(r,n),s=a.getFromId(r,i),l="";"paper"!==n&&!o.autorange&&(l+=n),"paper"!==i&&!s.autorange&&(l+=i),h.setClipUrl(e,l?"clip"+r._fullLayout._uid+l:null,r)}(t,o,e),te.moveFn="move"===O?ne:ie,te.altKey=r.altKey)},doneFn:function(){_(e)||(m(t),oe(c),k(t,e,o),n.call("_guiRelayout",e,u.getUpdateObj()))},clickFn:function(){_(e)||oe(c)}};function re(r){if(_(e))O=null;else if(B)O="path"===r.target.tagName?"move":"start-point"===r.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var n=te.element.getBoundingClientRect(),i=n.right-n.left,a=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!j&&i>10&&a>10&&!r.shiftKey?p.getCursor(o/i,1-s/a):"move";m(t,l),O=l.split("-")[0]}}function ne(r,n){if("path"===o.type){var i=function(e){return e},a=i,u=i;R?N("xanchor",o.xanchor=J(w+r)):(a=function(e){return J($(e)+r)},V&&"date"===V.type&&(a=y.encodeDate(a))),F?N("yanchor",o.yanchor=Q(T+n)):(u=function(e){return Q(K(e)+n)},H&&"date"===H.type&&(u=y.encodeDate(u))),N("path",o.path=A(D,a,u))}else R?N("xanchor",o.xanchor=J(w+r)):(N("x0",o.x0=J(f+r)),N("x1",o.x1=J(x+r))),F?N("yanchor",o.yanchor=Q(T+n)):(N("y0",o.y0=Q(d+n)),N("y1",o.y1=Q(b+n)));t.attr("d",v(e,o)),ae(c,o),l(e,s,o,U)}function ie(r,n){if(j){var i=function(e){return e},a=i,u=i;R?N("xanchor",o.xanchor=J(w+r)):(a=function(e){return J($(e)+r)},V&&"date"===V.type&&(a=y.encodeDate(a))),F?N("yanchor",o.yanchor=Q(T+n)):(u=function(e){return Q(K(e)+n)},H&&"date"===H.type&&(u=y.encodeDate(u))),N("path",o.path=A(D,a,u))}else if(B){if("resize-over-start-point"===O){var h=f+r,p=F?d-n:d+n;N("x0",o.x0=R?h:J(h)),N("y0",o.y0=F?p:Q(p))}else if("resize-over-end-point"===O){var m=x+r,g=F?b-n:b+n;N("x1",o.x1=R?m:J(m)),N("y1",o.y1=F?g:Q(g))}}else{var _=function(e){return-1!==O.indexOf(e)},k=_("n"),q=_("s"),G=_("w"),W=_("e"),Z=k?M+n:M,Y=q?S+n:S,X=G?E+r:E,ee=W?C+r:C;F&&(k&&(Z=M-n),q&&(Y=S-n)),(!F&&Y-Z>10||F&&Z-Y>10)&&(N(I,o[I]=F?Z:Q(Z)),N(L,o[L]=F?Y:Q(Y))),ee-X>10&&(N(P,o[P]=R?X:J(X)),N(z,o[z]=R?ee:J(ee)))}t.attr("d",v(e,o)),ae(c,o),l(e,s,o,U)}function ae(e,t){(R||F)&&function(){var r="path"!==t.type,n=e.selectAll(".visual-cue").data([0]);n.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":1}).classed("visual-cue",!0);var a=$(R?t.xanchor:i.midRange(r?[t.x0,t.x1]:y.extractPathCoords(t.path,g.paramIsX))),o=K(F?t.yanchor:i.midRange(r?[t.y0,t.y1]:y.extractPathCoords(t.path,g.paramIsY)));if(a=y.roundPositionForSharpStrokeRendering(a,1),o=y.roundPositionForSharpStrokeRendering(o,1),R&&F){var s="M"+(a-1-1)+","+(o-1-1)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";n.attr("d",s)}else if(R){var l="M"+(a-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";n.attr("d",l)}else{var c="M"+(a-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";n.attr("d",c)}}()}function oe(e){e.selectAll(".visual-cue").remove()}p.init(te),ee.node().onmousemove=re}(e,B,b,t,c,R):!0===b.editable&&B.style("pointer-events",D||u.opacity(I)*C<=.5?"stroke":"all");B.node().addEventListener("click",(function(){return function(e,t){if(w(e)){var r=+t.node().getAttribute("data-index");if(r>=0){if(r===e._fullLayout._activeShapeIndex)return void M(e);e._fullLayout._activeShapeIndex=r,e._fullLayout._deactivateShape=M,x(e)}}}(e,B)})),function(e,t,r){if(!r?.id)return;let n=t.node();function i(e){var t;let n=r.mainplotinfo||r,i=null==(t=n?.draglayer)?void 0:t.select(".nsewdrag").node();return i?{clientX:e.clientX,clientY:e.clientY,target:i}:null}n.addEventListener("mousemove",(t=>{if(!e._dragging&&e._fullLayout.hoveranywhere){let n=i(t);n&&d.hover(e,n,r.id)}})),n.addEventListener("click",(t=>{if(!e._dragged&&e._fullLayout.clickanywhere){let n=i(t);n&&d.click(e,n,r.id)}}))}(e,B,T)}"above"===b.layer?E(e._fullLayout._shapeUpperLayer):b.xref.includes("paper")||b.yref.includes("paper")?E(e._fullLayout._shapeLowerLayer):"between"!==b.layer||S?T._hadPlotinfo?E((T.mainplotinfo||T).shapelayer):E(e._fullLayout._shapeLowerLayer):E(T.shapelayerBetween)}function k(e,t,r){let n=r.xref,o=r.yref;if(Array.isArray(n)||Array.isArray(o)){let s="clip"+t._fullLayout._uid+"shape"+r._index,l=function(e,t,r){let n=e._fullLayout._size;function i(t,r){let i=(Array.isArray(t)?t:[t]).map((t=>a.getFromId(e,t))).filter(Boolean);if(!i.length)return r?[n.t,n.t+n.h]:[n.l,n.l+n.w];let o=i.map((function(e){return e._offset})),s=i.map((function(e){return e._offset+e._length}));return[Math.min(...o),Math.max(...s)]}let o=i(t,!1),s=i(r,!0);return{x:o[0],y:s[0],width:o[1]-o[0],height:s[1]-s[0]}}(t,n,o);i.ensureSingleById(t._fullLayout._clips,"clipPath",s,(function(e){e.append("rect")})).select("rect").attr(l),h.setClipUrl(e,s,t)}else{let r=(n+o).replace(/paper/g,"").replace(/[xyz][0-9]* *domain/g,"");h.setClipUrl(e,r?"clip"+t._fullLayout._uid+r:null,t)}}function A(e,t,r){return e.replace(g.segmentRE,(function(e){var n=0,i=e.charAt(0),a=g.paramIsX[i],o=g.paramIsY[i],s=g.numParams[i];return i+e.slice(1).replace(g.paramRE,(function(e){return n>=s||(a[n]?e=t(e):o[n]&&(e=r(e)),n++),e}))}))}function M(e){w(e)&&e._fullLayout._activeShapeIndex>=0&&(c(e),delete e._fullLayout._activeShapeIndex,x(e))}t.exports={draw:x,drawOne:T,eraseActiveShape:function(e){if(w(e)){c(e);var t=e._fullLayout._activeShapeIndex,r=(e.layout||{}).shapes||[];if(t1?(P=["toggleHover"],z=["resetViews"]):y?(L=["zoomInGeo","zoomOutGeo"],P=["hoverClosestGeo"],z=["resetGeo"]):g?(P=["hoverClosest3d"],z=["resetCameraDefault3d","resetCameraLastSave3d"]):b?(L=["zoomInMapbox","zoomOutMapbox"],P=["toggleHover"],z=["resetViewMapbox"]):w?(L=["zoomInMap","zoomOutMap"],P=["toggleHover"],z=["resetViewMap"]):v?P=["hoverClosestPie"]:A?(P=["hoverClosestCartesian","hoverCompareCartesian"],z=["resetViewSankey"]):P=["toggleHover"],m&&P.push("toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"),(function(e){for(var t=0;tn?i.slice(n):a.slice(r))+o:i+a+e*t:o}function d(e,t){for(var r=t._size,n=r.h/r.w,i={},a=Object.keys(e),o=0;os*x)||T)for(i=0;iz&&FL&&(L=F);f/=(L-I)/(2*P),I=c.l2r(I),L=c.l2r(L),c.range=c._input.range=S=e[1]||i[1]<=e[0])&&a[0]t[0])return!0}return!1}function _(r){var a,o,c,p,d,m,g=r._fullLayout,y=g._size,_=y.p,b=h.list(r,"",!0);if(g._paperdiv.style({width:r._context.responsive&&g.autosize&&!r._context._hasZeroWidth&&!r.layout.width?"100%":g.width+"px",height:r._context.responsive&&g.autosize&&!r._context._hasZeroHeight&&!r.layout.height?"100%":g.height+"px"}).selectAll(".main-svg").call(l.setSize,g.width,g.height),r._context.setBackground(r,g.paper_bgcolor),e.drawMainTitle(r),u.manage(r),!g._has("cartesian"))return n.previousPromises(r);function T(e,t,r){var n=e._lw/2;return"x"===e._id.charAt(0)?t?"top"===r?t._offset-_-n:t._offset+t._length+_+n:y.t+y.h*(1-(e.position||0))+n%1:t?"right"===r?t._offset+t._length+_+n:t._offset-_-n:y.l+y.w*(e.position||0)+n%1}for(a=0;a.5?"t":"b",o=e._fullLayout.margin[a],s=0;return"paper"===t.yref?s=r+t.pad.t+t.pad.b:"container"===t.yref&&(s=function(e,t,r,n,i){var a=0;return"middle"===r&&(a+=i/2),"t"===e?("top"===r&&(a+=i),a+=n-t*n):("bottom"===r&&(a+=i),a+=t*n),a}(a,n,i,e._fullLayout.height,r)+t.pad.t+t.pad.b),s>o?s:0}(e,r,m);if(g>0){(function(e,t,r,a){var o="title.automargin",s=e._fullLayout.title,l=s.y>.5?"t":"b",c={x:s.x,y:s.y,t:0,b:0},u={};"paper"===s.yref&&function(e,t,r,n,a){var o="paper"===t.yref?e._fullLayout._size.h:e._fullLayout.height,s=i.isTopAnchor(t)?n:n-a,l="b"===r?o-s:s;return!(i.isTopAnchor(t)&&"t"===r||i.isBottomAnchor(t)&&"b"===r)&&l=0;k--){var A=i.append("path").attr(g).style("opacity",k?.1:y).call(a.stroke,x).call(a.fill,v).call(o.dashLine,k?"solid":b,k?4+_:_);if(p(A,e,f),w){var M=s(e.layout,"selections",f);A.style({cursor:"move"});var S={element:A.node(),plotinfo:m,gd:e,editHelpers:M,isActiveSelection:!0},E=r(l,e);n(E,A,S)}else A.style("pointer-events",k?"all":"none");T[k]=A}var C=T[0];T[1].node().addEventListener("click",(function(){return function(e,t){if(h(e)){var r=+t.node().getAttribute("data-index");if(r>=0){if(r===e._fullLayout._activeSelectionIndex)return void d(e);e._fullLayout._activeSelectionIndex=r,e._fullLayout._deactivateSelection=d,u(e)}}}(e,C)}))}(e._fullLayout._selectionLayer)}function p(e,t,r){var n=r.xref+r.yref;o.setClipUrl(e,"clip"+t._fullLayout._uid+n,t)}function d(e){h(e)&&e._fullLayout._activeSelectionIndex>=0&&(i(e),delete e._fullLayout._activeSelectionIndex,u(e))}t.exports={draw:u,drawOne:f,activateLastSelection:function(e){if(h(e)){var t=e._fullLayout.selections.length-1;e._fullLayout._activeSelectionIndex=t,e._fullLayout._deactivateSelection=d,u(e)}}}}}),sn=m({"node_modules/polybooljs/lib/build-log.js"(e,t){t.exports=function(){var e,t=0,r=!1;function n(t,r){return e.list.push({type:t,data:r?JSON.parse(JSON.stringify(r)):void 0}),e}return e={list:[],segmentId:function(){return t++},checkIntersection:function(e,t){return n("check",{seg1:e,seg2:t})},segmentChop:function(e,t){return n("div_seg",{seg:e,pt:t}),n("chop",{seg:e,pt:t})},statusRemove:function(e){return n("pop_seg",{seg:e})},segmentUpdate:function(e){return n("seg_update",{seg:e})},segmentNew:function(e,t){return n("new_seg",{seg:e,primary:t})},segmentRemove:function(e){return n("rem_seg",{seg:e})},tempStatus:function(e,t,r){return n("temp_status",{seg:e,above:t,below:r})},rewind:function(e){return n("rewind",{seg:e})},status:function(e,t,r){return n("status",{seg:e,above:t,below:r})},vert:function(t){return t===r?e:(r=t,n("vert",{x:t}))},log:function(e){return"string"!=typeof e&&(e=JSON.stringify(e,!1," ")),n("log",{txt:e})},reset:function(){return n("reset")},selected:function(e){return n("selected",{segs:e})},chainStart:function(e){return n("chain_start",{seg:e})},chainRemoveHead:function(e,t){return n("chain_rem_head",{index:e,pt:t})},chainRemoveTail:function(e,t){return n("chain_rem_tail",{index:e,pt:t})},chainNew:function(e,t){return n("chain_new",{pt1:e,pt2:t})},chainMatch:function(e){return n("chain_match",{index:e})},chainClose:function(e){return n("chain_close",{index:e})},chainAddHead:function(e,t){return n("chain_add_head",{index:e,pt:t})},chainAddTail:function(e,t){return n("chain_add_tail",{index:e,pt:t})},chainConnect:function(e,t){return n("chain_con",{index1:e,index2:t})},chainReverse:function(e){return n("chain_rev",{index:e})},chainJoin:function(e,t){return n("chain_join",{index1:e,index2:t})},done:function(){return n("done")}}}}}),ln=m({"node_modules/polybooljs/lib/epsilon.js"(e,t){t.exports=function(e){"number"!=typeof e&&(e=1e-10);var t={epsilon:function(t){return"number"==typeof t&&(e=t),e},pointAboveOrOnLine:function(t,r,n){var i=r[0],a=r[1],o=n[0],s=n[1],l=t[0];return(o-i)*(t[1]-a)-(s-a)*(l-i)>=-e},pointBetween:function(t,r,n){var i=t[1]-r[1],a=n[0]-r[0],o=t[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l-e)},pointsSameX:function(t,r){return Math.abs(t[0]-r[0])e!=o-i>e&&(a-c)*(i-u)/(o-u)+c-n>e&&(s=!s),a=c,o=u}return s}};return t}}}),cn=m({"node_modules/polybooljs/lib/linked-list.js"(e,t){t.exports={create:function(){var e={root:{root:!0,next:null},exists:function(t){return!(null===t||t===e.root)},isEmpty:function(){return null===e.root.next},getHead:function(){return e.root.next},insertBefore:function(t,r){for(var n=e.root,i=e.root.next;null!==i;){if(r(i))return t.prev=i.prev,t.next=i,i.prev.next=t,void(i.prev=t);n=i,i=i.next}n.next=t,t.prev=n,t.next=null},findTransition:function(t){for(var r=e.root,n=e.root.next;null!==n&&!t(n);)r=n,n=n.next;return{before:r===e.root?null:r,after:n,insert:function(e){return e.prev=r,e.next=n,r.next=e,null!==n&&(n.prev=e),e}}}};return e},node:function(e){return e.prev=null,e.next=null,e.remove=function(){e.prev.next=e.next,e.next&&(e.next.prev=e.prev),e.prev=null,e.next=null},e}}}}),un=m({"node_modules/polybooljs/lib/intersecter.js"(e,t){var r=cn();t.exports=function(e,t,n){function i(e,t){return{id:n?n.segmentId():-1,start:e,end:t,myFill:{above:null,below:null},otherFill:null}}function a(e,t,r){return{id:n?n.segmentId():-1,start:e,end:t,myFill:{above:r.myFill.above,below:r.myFill.below},otherFill:null}}var o=r.create();function s(e,r){o.insertBefore(e,(function(n){var i=function(e,r,n,i,a,o){var s=t.pointsCompare(r,a);return 0!==s?s:t.pointsSame(n,o)?0:e!==i?e?1:-1:t.pointAboveOrOnLine(n,i?a:o,i?o:a)?1:-1}(e.isStart,e.pt,r,n.isStart,n.pt,n.other.pt);return i<0}))}function l(e,t){var n=function(e,t){var n=r.node({isStart:!0,pt:e.start,seg:e,primary:t,other:null,status:null});return s(n,e.end),n}(e,t);return function(e,t,n){var i=r.node({isStart:!1,pt:t.end,seg:t,primary:n,other:e,status:null});e.other=i,s(i,e.pt)}(n,e,t),n}function c(e,t){var r=a(t,e.seg.end,e.seg);return function(e,t){n&&n.segmentChop(e.seg,t),e.other.remove(),e.seg.end=t,e.other.pt=t,s(e.other,e.pt)}(e,t),l(r,e.primary)}function u(i,a){var s=r.create();function l(e){return s.findTransition((function(r){var n=function(e,r){var n=e.seg.start,i=e.seg.end,a=r.seg.start,o=r.seg.end;return t.pointsCollinear(n,a,o)?t.pointsCollinear(i,a,o)||t.pointAboveOrOnLine(i,a,o)?1:-1:t.pointAboveOrOnLine(n,a,o)?1:-1}(e,r.ev);return n>0}))}function u(e,r){var i=e.seg,a=r.seg,o=i.start,s=i.end,l=a.start,u=a.end;n&&n.checkIntersection(i,a);var h=t.linesIntersect(o,s,l,u);if(!1===h){if(!t.pointsCollinear(o,s,l)||t.pointsSame(o,u)||t.pointsSame(s,l))return!1;var f=t.pointsSame(o,l),p=t.pointsSame(s,u);if(f&&p)return r;var d=!f&&t.pointBetween(o,l,u),m=!p&&t.pointBetween(s,l,u);if(f)return m?c(r,s):c(e,u),r;d&&(p||(m?c(r,s):c(e,u)),c(r,o))}else 0===h.alongA&&(-1===h.alongB?c(e,l):0===h.alongB?c(e,h.pt):1===h.alongB&&c(e,u)),0===h.alongB&&(-1===h.alongA?c(r,o):0===h.alongA?c(r,h.pt):1===h.alongA&&c(r,s));return!1}for(var h=[];!o.isEmpty();){var f=o.getHead();if(n&&n.vert(f.pt[0]),f.isStart){let t=function(){if(d){var e=u(f,d);if(e)return e}return!!m&&u(f,m)};n&&n.segmentNew(f.seg,f.primary);var p=l(f),d=p.before?p.before.ev:null,m=p.after?p.after.ev:null;n&&n.tempStatus(f.seg,!!d&&d.seg,!!m&&m.seg);var g,y=t();if(y&&(e?(g=null===f.seg.myFill.below||f.seg.myFill.above!==f.seg.myFill.below)&&(y.seg.myFill.above=!y.seg.myFill.above):y.seg.otherFill=f.seg.myFill,n&&n.segmentUpdate(y.seg),f.other.remove(),f.remove()),o.getHead()!==f){n&&n.rewind(f.seg);continue}if(e)g=null===f.seg.myFill.below||f.seg.myFill.above!==f.seg.myFill.below,f.seg.myFill.below=m?m.seg.myFill.above:i,f.seg.myFill.above=g?!f.seg.myFill.below:f.seg.myFill.below;else if(null===f.seg.otherFill){var v;v=m?f.primary===m.primary?m.seg.otherFill.above:m.seg.myFill.above:f.primary?a:i,f.seg.otherFill={above:v,below:v}}n&&n.status(f.seg,!!d&&d.seg,!!m&&m.seg),f.other.status=p.insert(r.node({ev:f}))}else{var x=f.status;if(null===x)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(s.exists(x.prev)&&s.exists(x.next)&&u(x.prev.ev,x.next.ev),n&&n.statusRemove(x.ev.seg),x.remove(),!f.primary){var _=f.seg.myFill;f.seg.myFill=f.seg.otherFill,f.seg.otherFill=_}h.push(f.seg)}o.getHead().remove()}return n&&n.done(),h}return e?{addRegion:function(e){for(var r,n=e[e.length-1],a=0;aa!=p>a&&i<(f-u)*(a-h)/(p-h)+u&&(o=!o)}return o}}}),gn=m({"src/lib/polygon.js"(e,t){var r=Le().dot,n=S().BADNUM,i=t.exports={};i.tester=function(e){var t,r=e.slice(),i=r[0][0],a=i,o=r[0][1],s=o;for((r[r.length-1][0]!==r[0][0]||r[r.length-1][1]!==r[0][1])&&r.push(r[0]),t=1;ta||c===n||cs||t&&l(e))}:function(e,t){var l=e[0],c=e[1];if(l===n||la||c===n||cs)return!1;var u,h,f,p,d,m=r.length,g=r[0][0],y=r[0][1],v=0;for(u=1;uMath.max(h,g)||c>Math.max(f,y)))if(cu||Math.abs(r(o,f))>i)return!0;return!1},i.filter=function(e,t){var r=[e[0]],n=0,a=0;function o(o){e.push(o);var s=r.length,l=n;r.splice(a+1);for(var c=l+1;c1&&o(e.pop()),{addPt:o,raw:e,filtered:r}}}}),yn=m({"src/components/selections/constants.js"(e,t){t.exports={BENDPX:1.5,MINSELECT:12,SELECTDELAY:100,SELECTID:"-select"}}}),vn=m({"src/components/selections/select.js"(e,t){var r=dn(),n=mn(),i=He(),a=er().dashStyle,o=W(),s=Or(),l=Kt().makeEventData,c=Rr(),u=c.freeMode,h=c.rectMode,f=c.drawMode,p=c.openMode,d=c.selectMode,m=Gr(),g=Hr(),y=Zr(),v=bt().clearOutline,x=Ur(),_=x.handleEllipse,b=x.readPaths,w=Vr().newShapes,T=qr(),k=on().activateLastSelection,A=ct(),M=A.sorterAsc,S=gn(),E=Qe(),C=_t().getFromId,I=Fr(),L=an().redrawReglTraces,P=yn(),z=P.MINSELECT,D=S.filter,O=S.tester,R=Nr(),F=R.p2r,B=R.axValue,j=R.getTransform;function N(e){return void 0!==e.subplot}function U(e,t,r,n,i,a,o){var s,l,c,u,h,f,d,m,g,v=t._hoverdata,x=t._fullLayout.clickmode.indexOf("event")>-1,_=[];if(function(e){return e&&Array.isArray(e)&&!0!==e[0].hoverOnBox}(v)){G(e,t,a);var b=function(e,t){var r,n,i=e[0],a=-1,o=[];for(n=0;n0?function(e,t){var r,n,i,a=[];for(i=0;i0&&a.push(r);if(1===a.length&&a[0]===t.searchInfo&&(n=t.searchInfo.cd[0].trace).selectedpoints.length===t.pointNumbers.length){for(i=0;i1||(n+=t.selectedpoints.length)>1))return!1;return 1===n}(s)&&(f=K(b))){for(o&&o.remove(),g=0;g=0})(a)&&a._fullLayout._deactivateShape(a),function(e){return e._fullLayout._activeSelectionIndex>=0}(a)&&a._fullLayout._deactivateSelection(a);var o=a._fullLayout._zoomlayer,s=f(r),l=d(r);if(s||l){var c,u,h=o.selectAll(".select-outline-"+n.id);h&&a._fullLayout._outlining&&(s&&(c=w(h,e)),c&&i.call("_guiRelayout",a,{shapes:c}),l&&!N(e)&&(u=T(h,e)),u&&(a._fullLayout._noEmitSelectedAtStart=!0,i.call("_guiRelayout",a,{selections:u}).then((function(){t&&k(a)}))),a._fullLayout._outlining=!1)}n.selection={},n.selection.selectionDefs=e.selectionDefs=[],n.selection.mergedPolygons=e.mergedPolygons=[]}function Y(e){return e._id}function X(e,t,r,n){if(!e.calcdata)return[];var i,a,o,s=[],l=t.map(Y),c=r.map(Y);for(o=0;o0?n[0]:r;return!!t.selectedpoints&&t.selectedpoints.indexOf(i)>-1}function J(e,t,r){var n,a;for(n=0;n-1&&t;if(!a&&t){var te=oe(e,!0);if(te.length){var ne=te[0].xref,pe=te[0].yref;if(ne&&pe){var de=ce(te);ue([C(e,ne,"x"),C(e,pe,"y")])(Q,de)}}e._fullLayout._noEmitSelectedAtStart?e._fullLayout._noEmitSelectedAtStart=!1:ee&&he(e,Q),p._reselect=!1}if(!a&&p._deselect){var me=p._deselect;(function(e,t,r){for(var n=0;n=0)k._fullLayout._deactivateShape(k);else if(!x){var r=M.clickmode;E.done(Me).then((function(){if(E.clear(Me),2===e){for(_e.remove(),K=0;K-1&&U(t,k,n.xaxes,n.yaxes,n.subplot,n,_e),"event"===r&&he(k,void 0);s.click(k,t,L.id)})).catch(A.error)}},n.doneFn=function(){ke.remove(),E.done(Me).then((function(){E.clear(Me),!S&&$&&n.selectionDefs&&($.subtract=xe,n.selectionDefs.push($),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,Y)),(S||x)&&Z(n,S),n.doneFnCompleted&&n.doneFnCompleted(Se),b&&he(k,ae)})).catch(A.error)}},clearOutline:v,clearSelectionsCache:Z,selectOnClick:U}}}),xn=m({"src/components/annotations/arrow_paths.js"(e,t){t.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]}}),_n=m({"src/constants/axis_placeable_objects.js"(e,t){t.exports={axisRefDescription:function(e,t,r){return["If set to a",e,"axis id (e.g. *"+e+"* or","*"+e+"2*), the `"+e+"` position refers to a",e,"coordinate. If set to *paper*, the `"+e+"`","position refers to the distance from the",t,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",t,"("+r+"). If set to a",e,"axis ID followed by","*domain* (separated by a space), the position behaves like for","*paper*, but refers to the distance in fractions of the domain","length from the",t,"of the domain of that axis: e.g.,","*"+e+"2 domain* refers to the domain of the second",e," axis and a",e,"position of 0.5 refers to the","point between the",t,"and the",r,"of the domain of the","second",e,"axis."].join(" ")}}}}),bn=m({"src/components/annotations/attributes.js"(e,t){var r=xn(),n=j(),i=xt(),a=vt().templatedArray;_n(),t.exports=a("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:n({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw"},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:r.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:r.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",i.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",i.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",i.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",i.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw"},xclick:{valType:"any",editType:"arraydraw"},yclick:{valType:"any",editType:"arraydraw"},hovertext:{valType:"string",editType:"arraydraw"},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw"},bordercolor:{valType:"color",editType:"arraydraw"},font:n({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc"})}}),wn=m({"src/traces/scatter/constants.js"(e,t){t.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}}}),Tn=m({"src/traces/scatter/fillcolor_attribute.js"(e,t){t.exports=function(e){return{valType:"color",editType:"style",anim:!0}}}}),kn=m({"src/traces/scatter/attributes.js"(e,t){var r=It().axisHoverFormat,{hovertemplateAttrs:n,texttemplateAttrs:i,templatefallbackAttrs:a}=Fe(),o=zt(),s=j(),l=Oe().dash,c=Oe().pattern,u=er(),h=wn(),f=B().extendFlat,p=Tn();t.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0},dx:{valType:"number",dflt:1,editType:"calc",anim:!0},y:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0},dy:{valType:"number",dflt:1,editType:"calc",anim:!0},xperiod:{valType:"any",dflt:0,editType:"calc"},yperiod:{valType:"any",dflt:0,editType:"calc"},xperiod0:{valType:"any",editType:"calc"},yperiod0:{valType:"any",editType:"calc"},xperiodalignment:{valType:"enumerated",values:["start","middle","end"],dflt:"middle",editType:"calc"},yperiodalignment:{valType:"enumerated",values:["start","middle","end"],dflt:"middle",editType:"calc"},xhoverformat:r("x"),yhoverformat:r("y"),offsetgroup:{valType:"string",dflt:"",editType:"calc"},alignmentgroup:{valType:"string",dflt:"",editType:"calc"},stackgroup:{valType:"string",dflt:"",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc"},groupnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},stackgaps:{valType:"enumerated",values:["infer zero","interpolate"],dflt:"infer zero",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},texttemplate:i(),texttemplatefallback:a({editType:"calc"}),hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"],editType:"calc"},hoveron:{valType:"flaglist",flags:["points","fills"],editType:"style"},hovertemplate:n({},{keys:h.eventDataKeys}),hovertemplatefallback:a(),line:{color:{valType:"color",editType:"style",anim:!0},width:{valType:"number",min:0,dflt:2,editType:"style",anim:!0},shape:{valType:"enumerated",values:["linear","spline","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot"},smoothing:{valType:"number",min:0,max:1.3,dflt:1,editType:"plot"},dash:f({},l,{editType:"style"}),backoff:{valType:"number",min:0,dflt:"auto",arrayOk:!0,editType:"plot"},simplify:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},cliponaxis:{valType:"boolean",dflt:!0,editType:"plot"},fill:{valType:"enumerated",values:["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"],editType:"calc"},fillcolor:p(!0),fillgradient:f({type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],dflt:"none",editType:"calc"},start:{valType:"number",editType:"calc"},stop:{valType:"number",editType:"calc"},colorscale:{valType:"colorscale",editType:"style"},editType:"calc"}),fillpattern:c,marker:f({symbol:{valType:"enumerated",values:u.symbolList,dflt:"circle",arrayOk:!0,editType:"style"},opacity:{valType:"number",min:0,max:1,arrayOk:!0,editType:"style",anim:!0},angle:{valType:"angle",dflt:0,arrayOk:!0,editType:"plot",anim:!1},angleref:{valType:"enumerated",values:["previous","up"],dflt:"up",editType:"plot",anim:!1},standoff:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"plot",anim:!0},size:{valType:"number",min:0,dflt:6,arrayOk:!0,editType:"calc",anim:!0},maxdisplayed:{valType:"number",min:0,dflt:0,editType:"plot"},sizeref:{valType:"number",dflt:1,editType:"calc"},sizemin:{valType:"number",min:0,dflt:0,editType:"calc"},sizemode:{valType:"enumerated",values:["diameter","area"],dflt:"diameter",editType:"calc"},line:f({width:{valType:"number",min:0,arrayOk:!0,editType:"style",anim:!0},dash:f({},l,{arrayOk:!0}),editType:"calc"},o("marker.line",{anim:!0})),gradient:{type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],arrayOk:!0,dflt:"none",editType:"calc"},color:{valType:"color",arrayOk:!0,editType:"calc"},editType:"calc"},editType:"calc"},o("marker",{anim:!0})),selected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},unselected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"middle center",arrayOk:!0,editType:"calc"},textfont:s({editType:"calc",colorEditType:"style",arrayOk:!0}),zorder:{valType:"integer",dflt:0,editType:"plot"}}}}),An=m({"src/components/selections/attributes.js"(e,t){var r=bn(),n=kn().line,i=Oe().dash,a=B().extendFlat,o=De().overrideAll,s=vt().templatedArray;_n(),t.exports=o(s("selection",{type:{valType:"enumerated",values:["rect","path"]},xref:a({},r.xref,{}),yref:a({},r.yref,{}),x0:{valType:"any"},x1:{valType:"any"},y0:{valType:"any"},y1:{valType:"any"},path:{valType:"string",editType:"arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:.7,editType:"arraydraw"},line:{color:n.color,width:a({},n.width,{min:1,dflt:1}),dash:a({},i,{dflt:"dot"})}}),"arraydraw","from-root")}}),Mn=m({"src/components/selections/defaults.js"(e,t){var r=ct(),n=ar(),i=Nt(),a=An(),o=Gr();function s(e,t,i){function s(n,i){return r.coerce(e,t,a,n,i)}var l=s("path"),c="path"!==s("type",l?"path":"rect");c&&delete t.path,s("opacity"),s("line.color"),s("line.width"),s("line.dash");for(var u=["x","y"],h=0;h<2;h++){var f,p,d,m=u[h],g={_fullLayout:i},y=n.coerceRef(e,t,g,m);if((f=n.getFromId(g,y))._selectionIndices.push(t._index),d=o.rangeToShapePosition(f),p=o.shapePositionToRange(f),c){var v=m+"0",x=m+"1",_=e[v],b=e[x];e[v]=p(e[v],!0),e[x]=p(e[x],!0),n.coercePosition(t,g,s,y,v),n.coercePosition(t,g,s,y,x);var w=t[v],T=t[x];void 0!==w&&void 0!==T&&(t[v]=d(w),t[x]=d(T),e[v]=_,e[x]=b)}}c&&r.noneOrAll(e,t,["x0","x1","y0","y1"])}t.exports=function(e,t){i(e,t,{name:"selections",handleItemDefaults:s});for(var r=t.selections,n=0;n=0?Math.min(e,.9):1/(1/Math.max(e,-.3)+3.222))}function N(e,t,r,n,i){return e.append("path").attr("class","zoombox").style({fill:t>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",l(r,n)).attr("d",i+"Z")}function U(e,t,r){return e.append("path").attr("class","zoombox-corners").style({fill:u.background,stroke:u.defaultLine,"stroke-width":1,opacity:0}).attr("transform",l(t,r)).attr("d","M0,0Z")}function V(e,t,r,n,i,a){e.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),q(e,t,i,a)}function q(e,t,r,n){r||(e.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),t.transition().style("opacity",1).duration(200))}function H(e){r.select(e).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function G(e){P&&e.data&&e._context.showTips&&(n.notifier(n._(e,"Double-click to zoom back out"),"long",e),P=!1)}function Z(e){var t=Math.floor(Math.min(e.b-e.t,e.r-e.l,L)/2);return"M"+(e.l-3.5)+","+(e.t-.5+t)+"h3v"+-t+"h"+t+"v-3h-"+(t+3)+"ZM"+(e.r+3.5)+","+(e.t-.5+t)+"h-3v"+-t+"h"+-t+"v-3h"+(t+3)+"ZM"+(e.r+3.5)+","+(e.b+.5-t)+"h-3v"+t+"h"+-t+"v3h"+(t+3)+"ZM"+(e.l-3.5)+","+(e.b+.5-t)+"h3v"+t+"h"+t+"v3h-"+(t+3)+"Z"}function Y(e,t,r,i,a){for(var o,s,l,c,u=!1,h={},f={},p=(a||{}).xaHash,d=(a||{}).yaHash,m=0;m=0)o._fullLayout._deactivateShape(o);else{var l=o._fullLayout.clickmode;if(H(o),2===n&&!ye&&function(){if(!e._transitioningWithDuration){var t=e._context.doubleClick,r=[];ie&&(r=r.concat(W)),ae&&(r=r.concat(K)),ne.xaxes&&(r=r.concat(ne.xaxes)),ne.yaxes&&(r=r.concat(ne.yaxes));var n,i,a={};if("reset+autosize"===t)for(t="autosize",i=0;i-1&&S(a,o,W,K,t.id,Le),l.indexOf("event")>-1&&f.click(o,a,t.id);else if(1===n&&ye){var u=g?z:P,h="s"===g||"w"===b?0:1,p=u._name+".range["+h+"]",d=function(e,t){var r,n=e.range[t],a=Math.abs(n-e.range[1-t]);return"date"===e.type?n:"log"===e.type?(r=Math.ceil(Math.max(0,-Math.log(a)/Math.LN10))+3,i("."+r+"g")(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(a)/Math.LN10)+4,i("."+String(r)+"g")(n))}(u,h),m="left",y="middle";if(u.fixedrange)return;g?(y="n"===g?"top":"bottom","right"===u.side&&(m="right")):"e"===b&&(m="right"),o._context.showAxisRangeEntryBoxes&&r.select(_e).call(c.makeEditable,{gd:o,immediate:!0,background:o._fullLayout.paper_bgcolor,text:String(d),fill:u.tickfont?u.tickfont.color:"#444",horizontalAlign:m,verticalAlign:y}).on("edit",(function(e){var t=u.d2r(e);void 0!==t&&s.call("_guiRelayout",o,p,t)}))}}}function De(t,r){if(e._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(ee,pe*t+be)),i=Math.max(0,Math.min(te,de*r+we)),a=Math.abs(n-be),o=Math.abs(i-we);function s(){Se="",Te.r=Te.l,Te.t=Te.b,Ce.attr("d","M0,0Z")}if(Te.l=Math.min(be,n),Te.r=Math.max(be,n),Te.t=Math.min(we,i),Te.b=Math.max(we,i),re.isSubplotConstrained)a>L||o>L?(Se="xy",a/ee>o/te?(o=a*te/ee,we>i?Te.t=we-o:Te.b=we+o):(a=o*ee/te,be>n?Te.l=be-a:Te.r=be+a),Ce.attr("d",Z(Te))):s();else if(ne.isSubplotConstrained)if(a>L||o>L){Se="xy";var l=Math.min(Te.l/ee,(te-Te.b)/te),c=Math.max(Te.r/ee,(te-Te.t)/te);Te.l=l*ee,Te.r=c*ee,Te.b=(1-l)*te,Te.t=(1-c)*te,Ce.attr("d",Z(Te))}else s();else!ae||o0){var u;if(ne.isSubplotConstrained||!ie&&1===ae.length){for(u=0;u1&&(void 0!==a.maxallowed&&se===(a.range[0]1&&(void 0!==o.maxallowed&&le===(o.range[0]1&&n.warn("Full array edits are incompatible with other edits",h);var v=l[""][""];if(s(v))t.set(null);else{if(!Array.isArray(v))return n.warn("Unrecognized full array edit value",h,v),!0;t.set(v)}return!m&&(f(g,y),p(e),!0)}var x,_,b,w,T,k,A,M,S=Object.keys(l).map(Number).sort(i),E=t.get(),C=E||[],I=u(y,h).get(),L=[],P=-1,z=C.length;for(x=0;xC.length-(A?0:1))n.warn("index out of range",h,b);else if(void 0!==k)T.length>1&&n.warn("Insertion & removal are incompatible with edits to the same index.",h,b),s(k)?L.push(b):A?("add"===k&&(k={}),C.splice(b,0,k),I&&I.splice(b,0,{})):n.warn("Unrecognized full object edit value",h,b,k),-1===P&&(P=b);else for(_=0;_=0;x--)C.splice(L[x],1),I&&I.splice(L[x],1);if(C.length?E||t.set(C):t.set(null),m)return!1;if(f(g,y),d!==r){var D;if(-1===P)D=S;else{for(z=Math.max(C.length,z),D=[],x=0;x=P);x++)D.push(b);for(x=P;x0&&n.log("Clearing previous rejected promises from queue."),e._promises=[]},e.cleanLayout=function(t){var r;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var a=(i.subplotsRegistry.cartesian||{}).attrRegex,l=((i.subplotsRegistry.polar||{}).attrRegex,(i.subplotsRegistry.ternary||{}).attrRegex,(i.subplotsRegistry.gl3d||{}).attrRegex,Object.keys(t));for(r=0;r3?(x.x=1.02,x.xanchor="left"):x.x<-2&&(x.x=-.02,x.xanchor="right"),x.y>3?(x.y=1.02,x.yanchor="bottom"):x.y<-2&&(x.y=-.02,x.yanchor="top")),"rotate"===t.dragmode&&(t.dragmode="orbit"),o.clean(t),t.template&&t.template.layout&&e.cleanLayout(t.template.layout),t},e.cleanData=function(t){for(var a=0;a0)return e.slice(0,t)}e.hasParent=function(e,t){for(var r=y(t);r;){if(r in e)return!0;r=y(r)}return!1},e.clearAxisTypes=function(e,t,r){for(var i=0;i{let r=(...e)=>e.every((e=>n.isPlainObject(e)))||e.every((e=>Array.isArray(e)));if([e,t].every((e=>Array.isArray(e)))){if(e.length!==t.length)return!1;for(let n=0;nn.isPlainObject(e)))){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e){if(n.startsWith("_"))continue;let i=e[n],a=t[n];if(!(i===a||r(i,a)&&v(i,a)))return!1}return!0}return!1};e.collectionsAreEqual=v}}),On=m({"src/plot_api/plot_api.js"(e){var t=b(),r=M(),n=ft(),i=ct(),a=i.nestedProperty,o=dt(),s=mt(),l=He(),c=yt(),u=At(),h=ar(),f=sr(),p=Lt(),d=er(),m=W(),g=Ln().initInteractions,y=Mt(),v=Cn().clearOutline,x=$().dfltConfig,_=zn(),w=Dn(),T=an(),k=De(),A=xt().AX_NAME_PATTERN,S=0;function E(e){var t=e._fullLayout;t._redrawFromAutoMarginCount?t._redrawFromAutoMarginCount--:e.emit("plotly_afterplot")}function C(e,t){try{e._fullLayout._paper.style("background",t)}catch(e){i.error(e)}}function I(e,t){C(e,m.combine(t,"white"))}function L(e,r){if(!e._context){e._context=i.extendDeep({},x);var a=t.select("base");e._context._baseUrl=a.size()&&a.attr("href")?window.location.href.split("#")[0]:""}var o,s,l,c=e._context;if(r){for(s=Object.keys(r),o=0;o=e.data.length||i<-e.data.length)throw new Error(r+" must be valid indices for gd.data.");if(t.indexOf(i,n+1)>-1||i>=0&&t.indexOf(-e.data.length+i)>-1||i<0&&t.indexOf(e.data.length+i)>-1)throw new Error("each index in "+r+" must be unique.")}}function D(e,t,r){if(!Array.isArray(e.data))throw new Error("gd.data must be an array.");if(typeof t>"u")throw new Error("currentIndices is a required argument.");if(Array.isArray(t)||(t=[t]),z(e,t,"currentIndices"),typeof r<"u"&&!Array.isArray(r)&&(r=[r]),typeof r<"u"&&z(e,r,"newIndices"),typeof r<"u"&&t.length!==r.length)throw new Error("current and new indices must be of equal length.")}function O(e,t,n,o,s){!function(e,t,r,n){var a=i.isPlainObject(n);if(!Array.isArray(e.data))throw new Error("gd.data must be an array");if(!i.isPlainObject(t))throw new Error("update must be a key:value object");if(typeof r>"u")throw new Error("indices must be an integer or array of integers");for(var o in z(e,r,"indices"),t){if(!Array.isArray(t[o])||t[o].length!==r.length)throw new Error("attribute "+o+" must be an array of length equal to indices array length");if(a&&(!(o in n)||!Array.isArray(n[o])||n[o].length!==t[o].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")}}(e,t,n,o);for(var l=function(e,t,n,o){var s,l,c,u,h,f=i.isPlainObject(o),p=[];for(var d in Array.isArray(n)||(n=[n]),n=P(n,e.data.length-1),t)for(var m=0;m0&&"string"!=typeof z.parts[O];)O--;var R=z.parts[O],F=z.parts[O-1]+"."+R,N=z.parts.slice(0,O).join("."),U=a(e.layout,N).get(),V=a(u,N).get(),q=z.get();if(void 0!==D){M[P]=D,S[P]="reverse"===R?D:B(q);var H=c.getLayoutValObject(u,z.parts);if(H&&H.impliedEdits&&null!==D)for(var W in H.impliedEdits)E(i.relativeAttr(P,W),H.impliedEdits[W]);if(-1!==["width","height"].indexOf(P))if(D){E("autosize",null);var X="height"===P?"width":"height";E(X,u[X])}else u[P]=e._initialAutoSize[P];else if("autosize"===P)E("width",D?null:u.width),E("height",D?null:u.height);else if(F.match(G))L(F),a(u,N+"._inputRange").set(null);else if(F.match(Z)){L(F),a(u,N+"._inputRange").set(null);var $=a(u,N).get();$._inputDomain&&($._input.domain=$._inputDomain.slice())}else F.match(Y)&&a(u,N+"._inputDomain").set(null);if("type"===R){C=U;var J="linear"===V.type&&"log"===D,Q="log"===V.type&&"linear"===D;if(J||Q){if(C&&C.range)if(V.autorange)J&&(C.range=C.range[1]>C.range[0]?[1,2]:[2,1]);else{var ee=C.range[0],te=C.range[1];J?(ee<=0&&te<=0&&E(N+".autorange",!0),ee<=0?ee=te/1e6:te<=0&&(te=ee/1e6),E(N+".range[0]",Math.log(ee)/Math.LN10),E(N+".range[1]",Math.log(te)/Math.LN10)):(E(N+".range[0]",Math.pow(10,ee)),E(N+".range[1]",Math.pow(10,te)))}else E(N+".autorange",!0);Array.isArray(u._subplots.polar)&&u._subplots.polar.length&&u[z.parts[0]]&&"radialaxis"===z.parts[1]&&delete u[z.parts[0]]._subplot.viewInitial["radialaxis.range"],l.getComponentMethod("annotations","convertCoords")(e,V,D,E),l.getComponentMethod("images","convertCoords")(e,V,D,E)}else E(N+".autorange",!0),E(N+".range",null);a(u,N+"._inputRange").set(null)}else if(R.match(A)){var re=a(u,P).get(),ne=(D||{}).type;(!ne||"-"===ne)&&(ne="linear"),l.getComponentMethod("annotations","convertCoords")(e,re,ne,E),l.getComponentMethod("images","convertCoords")(e,re,ne,E)}var ie=_.containerArrayMatch(P);if(ie){r=ie.array,n=ie.index;var ae=ie.property,oe=H||{editType:"calc"};""!==n&&""===ae&&(_.isAddVal(D)?S[P]=null:_.isRemoveVal(D)?S[P]=(a(s,r).get()||[])[n]:i.warn("unrecognized full object value",t)),k.update(T,oe),y[r]||(y[r]={});var se=y[r][n];se||(se=y[r][n]={}),se[ae]=D,delete t[P]}else"reverse"===R?(U.range?U.range.reverse():(E(N+".autorange",!0),U.range=[1,0]),V.autorange?T.calc=!0:T.plot=!0):("dragmode"===P&&(!1===D&&!1!==q||!1!==D&&!1===q)||u._has("scatter-like")&&u._has("regl")&&"dragmode"===P&&("lasso"===D||"select"===D)&&"lasso"!==q&&"select"!==q?T.plot=!0:H?k.update(T,H):T.calc=!0,z.set(D))}}for(r in y)_.applyContainerArrayChanges(e,p(s,r),y[r],T,p)||(T.plot=!0);for(var le in I){var ce=(C=h.getFromId(e,le))&&C._constraintGroup;if(ce)for(var ue in T.calc=!0,ce)I[ue]||(h.getFromId(e,ue)._constraintShrinkable=!0)}(K(e)||t.height||t.width)&&(T.plot=!0);var he=u.shapes;for(n=0;n1;)if(n.pop(),void 0!==(r=a(t,n.join(".")+".uirevision").get()))return r;return t.uirevision}function ie(e,t){for(var r=0;r=a.length?a[0]:a[e]:a}function l(e){return Array.isArray(o)?e>=o.length?o[0]:o[e]:o}function c(e,t){var r=0;return function(){if(e&&++r===t)return e()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise((function(o,h){var f=0;function p(e){return Array.isArray(a)?f>=a.length?e.transitionOpts=a[f]:e.transitionOpts=a[0]:e.transitionOpts=a,f++,e}var d,m,g=[],y=null==t,v=Array.isArray(t);if(y||v||!i.isPlainObject(t)){if(y||-1!==["string","number"].indexOf(typeof t))for(d=0;d0&&bb)&&T.push(m);g=T}}g.length>0?function(t){if(0!==t.length){for(var i=0;in._timeToNext&&function(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var t=n._currentFrame=n._frameQueue.shift();if(t){var r=t.name?t.name.toString():null;e._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=t.frameOpts.duration,u.transition(e,t.frame.data,t.frame.layout,w.coerceTraceIndices(e,t.frame.traces),t.frameOpts,t.transitionOpts).then((function(){t.onComplete&&t.onComplete()})),e.emit("plotly_animatingframe",{name:r,frame:t.frame,animation:{frame:t.frameOpts,transition:t.transitionOpts}})}else e.emit("plotly_animated"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}()};t()}()}}(g):(e.emit("plotly_animated"),o())}))},e.addFrames=function(e,t,r){if(e=i.getGraphDiv(e),null==t)return Promise.resolve();if(!i.isPlotDiv(e))throw new Error("This element is not a Plotly plot: "+e+". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/");var n,a,o,l,c=e._transitionData._frames,h=e._transitionData._frameHash;if(!Array.isArray(t))throw new Error("addFrames failure: frameList must be an Array of frame definitions"+t);var f=c.length+2*t.length,p=[],d={};for(n=t.length-1;n>=0;n--)if(i.isPlainObject(t[n])){var m=t[n].name,g=(h[m]||d[m]||{}).name,y=t[n].name,v=h[g]||d[g];g&&y&&"number"==typeof y&&v&&S<5&&(S++,i.warn('addFrames: overwriting frame "'+(h[g]||d[g]).name+'" with a frame whose name of type "number" also equates to "'+g+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===S&&i.warn("addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.")),d[m]={name:m},p.push({frame:u.supplyFrameDefaults(t[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:f+n})}p.sort((function(e,t){return e.index>t.index?-1:e.index=0;n--){if("number"==typeof(a=p[n].frame).name&&i.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!a.name)for(;h[a.name="frame "+e._transitionData._counter++];);if(h[a.name]){for(o=0;o=0;r--)n=t[r],o.push({type:"delete",index:n}),l.unshift({type:"insert",index:n,value:a[n]});var c=u.modifyFrames,h=u.modifyFrames,f=[e,l],p=[e,o];return s&&s.add(e,c,f,h,p),u.modifyFrames(e,o)},e.addTraces=function t(r,n,a){r=i.getGraphDiv(r);var o,l,c=[],u=e.deleteTraces,h=t,f=[r,c],p=[r,n];for(function(e,t,r){var n,i;if(!Array.isArray(e.data))throw new Error("gd.data must be an array.");if(typeof t>"u")throw new Error("traces must be defined.");for(Array.isArray(t)||(t=[t]),n=0;n"u")return l=e.redraw(r),s.add(r,u,f,h,p),l;Array.isArray(a)||(a=[a]);try{D(r,c,a)}catch(e){throw r.data.splice(r.data.length-n.length,n.length),e}return s.startSequence(r),s.add(r,u,f,h,p),l=e.moveTraces(r,c,a),s.stopSequence(r),l},e.deleteTraces=function t(r,n){r=i.getGraphDiv(r);var a,o,l=[],c=e.addTraces,u=t,h=[r,l,n],f=[r,n];if(typeof n>"u")throw new Error("indices must be an integer or array of integers.");for(Array.isArray(n)||(n=[n]),z(r,n,"indices"),(n=P(n,r.data.length-1)).sort(i.sorterDes),a=0;a=0&&r"u")for(a=[],o=0;o=0&&r[e,t._ev.listeners(e)]));h=e.newPlot(t,r,n,o).then((()=>{for(let[e,r]of i)r.forEach((r=>t.on(e,r)));return e.react(t,r,n,o)}))}else{t.data=r||[],w.cleanData(t.data),t.layout=n||{},w.cleanLayout(t.layout),function(e,t,r,n){var o,s,l,c,u,h,f,p,d,m,g=n._preGUI,y=[],v={},x={};for(o in g){if(u=re(o,ee)){if(d=u.head,m=u.tail,s=u.attr||d+".uirevision",(c=(l=a(n,s).get())&&ne(s,t))&&c===l){if(null===(h=g[o])&&(h=void 0),oe(p=(f=a(t,o)).get(),h)){void 0===p&&"autorange"===m&&y.push(d),f.set(B(a(n,o).get()));continue}if("autorange"===m||"range["===m.slice(0,6)){var _=g[d+".range[0]"],b=g[d+".range[1]"],w=g[d+".autorange"];if(w||null===w&&null===_&&null===b){if(!(d in v)){var T=a(t,d).get();v[d]=T&&(T.autorange||!1!==T.autorange&&(!T.range||2!==T.range.length))}if(v[d]){f.set(B(a(n,o).get()));continue}}}}}else i.warn("unrecognized GUI edit: "+o);delete g[o],u&&"range["===u.tail.slice(0,6)&&(x[u.head]=1)}for(var k=0;k(m||t.emit("plotly_react",{config:o,data:r,layout:n}),t)))},e.redraw=function(t){if(t=i.getGraphDiv(t),!i.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t);return w.cleanData(t.data),w.cleanLayout(t.layout),t.calcdata=void 0,e._doPlot(t).then((function(){return t.emit("plotly_redraw"),t}))},e.relayout=V,e.restyle=F,e.setPlotConfig=function(e){return i.extendFlat(x,e)},e.update=J,e._guiRelayout=Q(V),e._guiRestyle=Q(F),e._guiUpdate=Q(J),e._storeDirectGUIEdit=function(e,t,r){for(var n in r)N(n,a(e,n).get(),r[n],t)}}}),Rn=m({"src/snapshot/helpers.js"(e){var t=He();e.getDelay=function(e){return e._has&&(e._has("gl3d")||e._has("mapbox")||e._has("map"))?500:0},e.getRedrawFunc=function(e){return function(){t.getComponentMethod("colorbar","draw")(e)}},e.encodeSVG=function(e){return"data:image/svg+xml,"+encodeURIComponent(e)},e.encodeJSON=function(e){return"data:application/json,"+encodeURIComponent(e)};var r=window.URL||window.webkitURL;e.createObjectURL=function(e){return r.createObjectURL(e)},e.revokeObjectURL=function(e){return r.revokeObjectURL(e)},e.createBlob=function(e,t){if("svg"===t)return new window.Blob([e],{type:"image/svg+xml;charset=utf-8"});if("full-json"===t)return new window.Blob([e],{type:"application/json;charset=utf-8"});var r=function(e){for(var t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;i")?"":t.html(e).text()}));return t.remove(),n}(_),(_=_.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")).replace(s,"'")}}}),Bn=m({"src/snapshot/svgtoimg.js"(e,t){var r=ct(),n=pt().EventEmitter,i=Rn();t.exports=function(e){var t=e.emitter||new n,a=new Promise((function(n,a){var o,s,l=window.Image,c=e.svg,u=e.format||"png",h=e.canvas,f=e.scale||1,p=e.width||300,d=e.height||150,m=f*p,g=f*d,y=h.getContext("2d",{willReadFrequently:!0}),v=new l;"svg"===u||r.isSafari()?s=i.encodeSVG(c):(o=i.createBlob(c,"svg"),s=i.createObjectURL(o)),h.width=m,h.height=g,v.onload=function(){var r;switch(o=null,i.revokeObjectURL(s),"svg"!==u&&y.drawImage(v,0,0,m,g),u){case"jpeg":r=h.toDataURL("image/jpeg");break;case"png":r=h.toDataURL("image/png");break;case"webp":r=h.toDataURL("image/webp");break;case"svg":r=s;break;default:var l="Image format is not jpeg, png, svg or webp.";if(a(new Error(l)),!e.promise)return t.emit("error",l)}n(r),e.promise||t.emit("success",r)},v.onerror=function(r){if(o=null,i.revokeObjectURL(s),a(r),!e.promise)return t.emit("error",r)},v.src=s}));return e.promise?a:t}}}),jn=m({"src/plot_api/to_image.js"(e,t){var r=M(),n=On(),i=At(),a=ct(),o=Rn(),s=Fn(),l=Bn(),c=x().version,u={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],dflt:"png"},width:{valType:"number",min:1},height:{valType:"number",min:1},scale:{valType:"number",min:0,dflt:1},setBackground:{valType:"any",dflt:!1},imageDataOnly:{valType:"boolean",dflt:!1}};t.exports=function(e,t){var h,f,p,d;function m(e){return!(e in t)||a.validate(t[e],u[e])}if(t=t||{},a.isPlainObject(e)?(h=e.data||[],f=e.layout||{},p=e.config||{},d={}):(e=a.getGraphDiv(e),h=a.extendDeep([],e.data),f=a.extendDeep({},e.layout),p=e._context,d=e._fullLayout||{}),!m("width")&&null!==t.width||!m("height")&&null!==t.height)throw new Error("Height and width should be pixel values.");if(!m("format"))throw new Error("Export format is not "+a.join2(u.format.values,", "," or ")+".");var g={};function y(e,r){return a.coerce(t,g,u,e,r)}var v=y("format"),x=y("width"),_=y("height"),b=y("scale"),w=y("setBackground"),T=y("imageDataOnly"),k=document.createElement("div");k.style.position="absolute",k.style.left="-5000px",document.body.appendChild(k);var A=a.extendFlat({},f);x?A.width=x:null===t.width&&r(d.width)&&(A.width=d.width),_?A.height=_:null===t.height&&r(d.height)&&(A.height=d.height);var M=a.extendFlat({},p,{_exportedPlot:!0,staticPlot:!0,setBackground:w}),S=o.getRedrawFunc(k);function E(){return new Promise((function(e){setTimeout(e,o.getDelay(k._fullLayout))}))}function C(){return new Promise((function(e,t){var r=s(k,v,b),u=k._fullLayout.width,h=k._fullLayout.height;function f(){n.purge(k),document.body.removeChild(k)}if("full-json"===v){var p=i.graphJson(k,!1,"keepdata","object",!0,!0);return p.version=c,p=JSON.stringify(p),f(),e(T?p:o.encodeJSON(p))}if(f(),"svg"===v)return e(T?r:o.encodeSVG(r));var d=document.createElement("canvas");d.id=a.randstr(),l({format:v,width:u,height:h,scale:b,canvas:d,svg:r,promise:!0}).then(e).catch(t)}))}return new Promise((function(e,t){n.newPlot(k,h,A,M).then(S).then(E).then(C).then((function(t){e(function(e){return T?e.replace(o.IMAGE_URL_PREFIX,""):e}(t))})).catch((function(e){t(e)}))}))}}}),Nn=m({"src/plot_api/validate.js"(e,t){var r=ct(),n=At(),i=yt(),a=$().dfltConfig,o=r.isPlainObject,s=Array.isArray,l=r.isArrayOrTypedArray;function c(e,t,n,i,a,u){u=u||[];for(var h=Object.keys(e),m=0;mx.length&&i.push(f("unused",a,y.concat(x.length)));var A,M,S,E,C,I=x.length,L=Array.isArray(k);if(L&&(I=Math.min(I,k.length)),2===_.dimensions)for(M=0;Mx[M].length&&i.push(f("unused",a,y.concat(M,x[M].length)));var P=x[M].length;for(A=0;A<(L?Math.min(P,k[M].length):P);A++)S=L?k[M][A]:k,E=v[M][A],C=x[M][A],r.validate(E,S)?C!==E&&C!==+E&&i.push(f("dynamic",a,y.concat(M,A),E,C)):i.push(f("value",a,y.concat(M,A),E))}else i.push(f("array",a,y.concat(M),v[M]));else for(M=0;M1&&p.push(f("object","layout"))),n.supplyDefaults(d);for(var m=d._fullData,g=l.length,y=0;yT?h.push({code:"unused",traceType:v,templateCount:w,dataCount:T}):T>w&&h.push({code:"reused",traceType:v,templateCount:w,dataCount:T})}}else h.push({code:"data"});if(function e(t,n){for(var i in t)if("_"!==i.charAt(0)){var a=t[i],o=p(t,i,n);r(a)?(Array.isArray(t)&&!1===a._template&&a.templateitemname&&h.push({code:"missing",path:o,templateitemname:a.templateitemname}),e(a,o)):Array.isArray(a)&&d(a)&&e(a,o)}}({data:g,layout:f},""),h.length)return h.map(m)}}}),Hn=m({"src/plot_api/index.js"(e){var t=On();e._doPlot=t._doPlot,e.newPlot=t.newPlot,e.restyle=t.restyle,e.relayout=t.relayout,e.redraw=t.redraw,e.update=t.update,e._guiRestyle=t._guiRestyle,e._guiRelayout=t._guiRelayout,e._guiUpdate=t._guiUpdate,e._storeDirectGUIEdit=t._storeDirectGUIEdit,e.react=t.react,e.extendTraces=t.extendTraces,e.prependTraces=t.prependTraces,e.addTraces=t.addTraces,e.deleteTraces=t.deleteTraces,e.moveTraces=t.moveTraces,e.purge=t.purge,e.addFrames=t.addFrames,e.deleteFrames=t.deleteFrames,e.animate=t.animate,e.setPlotConfig=t.setPlotConfig;var r=Pe().getGraphDiv,n=Yr().eraseActiveShape;e.deleteActiveShape=function(e){return n(r(e))},e.toImage=jn(),e.validate=Nn(),e.downloadImage=Vn();var i=qn();e.makeTemplate=i.makeTemplate,e.validateTemplate=i.validateTemplate}}),Gn=m({"src/traces/scatter/xy_defaults.js"(e,t){var r=ct(),n=He();t.exports=function(e,t,i,a){var o,s=a("x"),l=a("y");if(n.getComponentMethod("calendars","handleTraceDefaults")(e,t,["x","y"],i),s){var c=r.minRowLength(s);l?o=Math.min(c,r.minRowLength(l)):(o=c,a("y0"),a("dy"))}else{if(!l)return 0;o=r.minRowLength(l),a("x0"),a("dx")}return t._length=o,o}}}),Wn=m({"src/traces/scatter/period_defaults.js"(e,t){var r=ct().dateTick0,n=S().ONEWEEK;function i(e,t){return r(t,e%n==0?1:0)}t.exports=function(e,t,r,n,a){if(a||(a={x:!0,y:!0}),a.x){var o=n("xperiod");o&&(n("xperiod0",i(o,t.xcalendar)),n("xperiodalignment"))}if(a.y){var s=n("yperiod");s&&(n("yperiod0",i(s,t.ycalendar)),n("yperiodalignment"))}}}}),Zn=m({"src/traces/scatter/stack_defaults.js"(e,t){var r=["orientation","groupnorm","stackgaps"];t.exports=function(e,t,n,i){var a=n._scatterStackOpts,o=i("stackgroup");if(o){var s=t.xaxis+t.yaxis,l=a[s];l||(l=a[s]={});var c=l[o],u=!1;c?c.traces.push(t):(c=l[o]={traceIndices:[],traces:[t]},u=!0);for(var h={orientation:t.x&&!t.y?"h":"v"},f=0;f=0;f--){var p=e[f];if("scatter"===p.type&&p.xaxis===u.xaxis&&p.yaxis===u.yaxis){p.opacity=void 0;break}}}}}}}),ri=m({"src/traces/scatter/layout_defaults.js"(e,t){var r=ct(),n=wt();t.exports=function(e,t){var i,a="group"===t.barmode;"group"===t.scattermode&&(i=a?t.bargap:.2,r.coerce(e,t,n,"scattergap",i))}}}),ni=m({"src/plots/cartesian/align_period.js"(e,t){var r=M(),n=ct(),i=n.dateTime2ms,a=n.incrementMonth,o=S().ONEAVGMONTH;t.exports=function(e,t,n,s){if("date"!==t.type)return{vals:s};var l=e[n+"periodalignment"];if(!l)return{vals:s};var c,u=e[n+"period"];if(r(u)){if((u=+u)<=0)return{vals:s}}else if("string"==typeof u&&"M"===u.charAt(0)){var h=+u.substring(1);if(!(h>0&&Math.round(h)===h))return{vals:s};c=h}for(var f=t.calendar,p="start"===l,d="end"===l,m=e[n+"period0"],g=i(m,f)||0,y=[],v=[],x=[],_=s.length,b=0;b<_;b++){var w,T,k,A=s[b];if(c){for(w=Math.round((A-g)/(c*o)),k=a(g,c*w,f);k>A;)k=a(k,-c,f);for(;k<=A;)k=a(k,c,f);T=a(k,-c,f)}else{for(k=g+(w=Math.round((A-g)/u))*u;k>A;)k-=u;for(;k<=A;)k+=u;T=k-u}y[b]=p?T:d?k:(T+k)/2,v[b]=T,x[b]=k}return{vals:y,starts:v,ends:x}}}}),ii=m({"src/traces/scatter/colorscale_calc.js"(e,t){var r=Ct().hasColorscale,n=Zt(),i=Xt();t.exports=function(e,t){i.hasLines(t)&&r(t,"line")&&n(e,t,{vals:t.line.color,containerStr:"line",cLetter:"c"}),i.hasMarkers(t)&&(r(t,"marker")&&n(e,t,{vals:t.marker.color,containerStr:"marker",cLetter:"c"}),r(t,"marker.line")&&n(e,t,{vals:t.marker.line.color,containerStr:"marker.line",cLetter:"c"}))}}}),ai=m({"src/traces/scatter/arrays_to_calcdata.js"(e,t){var r=ct();t.exports=function(e,t){for(var n=0;nd&&I[y].gap;)y--;for(x=I[y].s,g=I.length-1;g>y;g--)I[g].s=x;for(;dh+c||!r(u))}for(var p=0;pi(e)))):i(e.text);let a=e.outsidetextfont.size*u*r+c;return{ppadplus:t.some((e=>e.s<0))?a:0,ppadminus:t.some((e=>e.s>=0))?a:0}}return{ppadplus:void 0,ppadminus:void 0}}function _(e){return e._id.charAt(0)}t.exports={crossTraceCalc:function(e,t){for(var r=t.xaxis,n=t.yaxis,i=e._fullLayout,o=e._fullData,s=e.calcdata,l=[],c=[],u=0;uS[h]&&h0?o:s)/(I._m*z*(I._m>0?o:s)))),a*=1e3}if(l===i){if(P&&(l=I.c2p(n.y,!0)),l===i)return!1;l*=1e3}return[a,l]}function Y(e,t,r,n){var i=r-e,a=n-t,o=.5-e,s=.5-t,l=i*i+a*a,c=i*o+a*s;if(c>0&&coe||e[1]le)return[u(e[0],ae,oe),u(e[1],se,le)]}function he(e,t){if(e[0]===t[0]&&(e[0]===ae||e[0]===oe)||e[1]===t[1]&&(e[1]===se||e[1]===le))return!0}function fe(e,t,r){return function(n,i){var a=ue(n),o=ue(i),s=[];if(a&&o&&he(a,o))return s;a&&s.push(a),o&&s.push(o);var c=2*l.constrain((n[e]+i[e])/2,t,r)-((a||n)[e]+(o||i)[e]);return c&&((a&&o?c>0==a[e]>o[e]?a:o:a||o)[e]+=c),s}}function pe(e){var t=e[0],r=e[1],n=t===G[W-1][0],i=r===G[W-1][1];if(!n||!i)if(W>1){var a=t===G[W-2][0],o=r===G[W-2][1];n&&(t===ae||t===oe)&&a?o?W--:G[W-1]=e:i&&(r===se||r===le)&&o?a?W--:G[W-1]=e:G[W++]=e}else G[W++]=e}function de(e){G[W-1][0]!==e[0]&&G[W-1][1]!==e[1]&&pe([Q,ee]),pe(e),te=null,Q=ee=0}"linear"===j||"spline"===j?ne=function(e,t){for(var r=[],n=0,i=0;i<4;i++){var a=ce[i],o=c(e[0],e[1],t[0],t[1],a[0],a[1],a[2],a[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&$(o,e)<$(r[0],e)?r.unshift(o):r.push(o),n++)}return r}:"hv"===j||"vh"===j?ne=function(e,t){var r=[],n=ue(e),i=ue(t);return n&&i&&he(n,i)||(n&&r.push(n),i&&r.push(i)),r}:"hvh"===j?ne=fe(0,ae,oe):"vhv"===j&&(ne=fe(1,se,le));var me=l.isArrayOrTypedArray(R);function ge(t){if(t&&O&&(t.i=n,t.d=e,t.trace=E,t.marker=me?R[t.i]:R,t.backoff=O),M=t[0]/z,S=t[1]/D,K=t[0]oe?oe:0,J=t[1]le?le:0,K||J){if(W)if(te){var r=ne(te,t);r.length>1&&(de(r[0]),G[W++]=r[1])}else re=ne(G[W-1],t)[0],G[W++]=re;else G[W++]=[K||t[0],J||t[1]];var i=G[W-1];K&&J&&(i[0]!==K||i[1]!==J)?(te&&(Q!==K&&ee!==J?pe(Q&&ee?function(e,t){var r=t[0]-e[0],n=(t[1]-e[1])/r;return(e[1]*t[0]-t[1]*e[0])/r>0?[n>0?ae:oe,le]:[n>0?oe:ae,se]}(te,t):[Q||K,ee||J]):Q&&ee&&pe([Q,ee])),pe([K,J])):Q-K&&ee-J&&pe([K||Q,J||ee]),te=t,Q=K,ee=J}else te&&de(ne(te,t)[0]),G[W++]=t}for(n=0;nX(m,ye))break;f=m,(w=v[0]*y[0]+v[1]*y[1])>_?(_=w,p=m,g=!1):w=e.length||!m)break;ge(m),a=m}}else ge(p)}te&&pe([Q||te[0],ee||te[1]]),V.push(G.slice(0,W))}var ve=j.slice(j.length-1);if(O&&"h"!==ve&&"v"!==ve){for(var xe=!1,_e=-1,be=[],we=0;we=0?l=p:(l=p=f,f++),l=u[0]&&e.x<=u[1]&&e.y>=h[0]&&e.y<=h[1]})),m=Math.ceil(d.length/p),g=0;o.forEach((function(e,r){var n=e[0].trace;l.hasMarkers(n)&&n.marker.maxdisplayed>0&&r0;function x(e){return v?e.transition():e}var _=u.xaxis,b=u.yaxis,w=f[0].trace,T=w.line,k=r.select(d),A=a(k,"g","errorbars"),M=a(k,"g","lines"),S=a(k,"g","points"),E=a(k,"g","text");if(n.getComponentMethod("errorbars","plot")(e,A,u,m),!0===w.visible){x(k).style("opacity",w.opacity);var C,I,L,P,z=w.fill.charAt(w.fill.length-1);"x"!==z&&"y"!==z&&(z=""),"y"===z?(L=1,P=b.c2p(0,!0)):"x"===z&&(L=0,P=_.c2p(0,!0)),f[0][u.isRangePlot?"nodeRangePlot3":"node3"]=k;var D="",O=[],R=w._prevtrace,F=null,B=null;R&&(D=R._prevRevpath||"",I=R._nextFill,O=R._ownPolygons,F=R._fillsegments,B=R._fillElement);var j,N,U,V,q,H,G,W,Z="",Y="",X=[];w._polygons=[];var $=[],K=[],J=i.noop;if(C=w._ownFill,l.hasLines(w)||"none"!==w.fill){I&&I.datum(f),-1!==["hv","vh","hvh","vhv"].indexOf(T.shape)?(U=s.steps(T.shape),V=s.steps(T.shape.split("").reverse().join(""))):U=V="spline"===T.shape?function(e){var t=e[e.length-1];return e.length>1&&e[0][0]===t[0]&&e[0][1]===t[1]?s.smoothclosed(e.slice(1),T.smoothing):s.smoothopen(e,T.smoothing)}:function(e){return"M"+e.join("L")},q=function(e){return V(e.reverse())},K=c(f,{xaxis:_,yaxis:b,trace:w,connectGaps:w.connectgaps,baseTolerance:Math.max(T.width||1,3)/4,shape:T.shape,backoff:T.backoff,simplify:T.simplify,fill:w.fill}),$=new Array(K.length);var Q=0;for(g=0;g0,g=u(e,t,n);(h=i.selectAll("g.trace").data(g,(function(e){return e[0].trace.uid}))).enter().append("g").attr("class",(function(e){return"trace scatter trace"+e[0].trace.uid})).style("stroke-miterlimit",2),h.order(),function(e,t,n){t.each((function(t){var i=a(r.select(this),"g","fills");s.setClipUrl(i,n.layerClipId,e);var l=t[0].trace;l._ownFill=null,l._nextFill=null;var c=[];l._ownfill&&c.push("_ownFill"),l._nexttrace&&c.push("_nextFill");var u=i.selectAll("g").data(c,o);u.enter().append("g"),u.exit().remove(),u.order().each((function(e){l[e]=a(r.select(this),"path","js-fill")}))}))}(e,h,t),m?(c&&(p=c()),r.transition().duration(l.duration).ease(l.easing).each("end",(function(){p&&p()})).each("interrupt",(function(){p&&p()})).each((function(){i.selectAll("g.trace").each((function(r,n){f(e,n,t,r,g,this,l)}))}))):h.each((function(r,n){f(e,n,t,r,g,this,l)})),d&&h.exit().remove(),i.selectAll("path:not([d])").remove()}}}),mi=m({"src/traces/scatter/marker_colorbar.js"(e,t){t.exports={container:"marker",min:"cmin",max:"cmax"}}}),gi=m({"src/traces/scatter/format_labels.js"(e,t){var r=ar();t.exports=function(e,t,n){var i={},a={_fullLayout:n},o=r.getFromTrace(a,t,"x"),s=r.getFromTrace(a,t,"y"),l=e.orig_x;void 0===l&&(l=e.x);var c=e.orig_y;return void 0===c&&(c=e.y),i.xLabel=r.tickText(o,o.c2l(l),!0).text,i.yLabel=r.tickText(s,s.c2l(c),!0).text,i}}}),yi=m({"src/traces/scatter/style.js"(e,t){var r=b(),n=er(),i=He();function a(e,t,r){n.pointStyle(e.selectAll("path.point"),t,r)}function o(e,t,r){n.textPointStyle(e.selectAll("text"),t,r)}t.exports={style:function(e){var t=r.select(e).selectAll("g.trace.scatter");t.style("opacity",(function(e){return e[0].trace.opacity})),t.selectAll("g.points").each((function(t){a(r.select(this),t.trace||t[0].trace,e)})),t.selectAll("g.text").each((function(t){o(r.select(this),t.trace||t[0].trace,e)})),t.selectAll("g.trace path.js-line").call(n.lineGroupStyle),t.selectAll("g.trace path.js-fill").call(n.fillGroupStyle,e,!1),i.getComponentMethod("errorbars","style")(t)},stylePoints:a,styleText:o,styleOnSelect:function(e,t,r){var i=t[0].trace;i.selectedpoints?(n.selectedPointStyle(r.selectAll("path.point"),i),n.selectedTextStyle(r.selectAll("text"),i)):(a(r,i,e),o(r,i,e))}}}}),vi=m({"src/traces/scatter/get_trace_color.js"(e,t){var r=W(),n=Xt();t.exports=function(e,t){var i,a;if("lines"===e.mode)return(i=e.line.color)&&r.opacity(i)?i:e.fillcolor;if("none"===e.mode)return e.fill?e.fillcolor:"";var o=t.mcc||(e.marker||{}).color,s=t.mlcc||((e.marker||{}).line||{}).color;return(a=o&&r.opacity(o)?o:s&&r.opacity(s)&&(t.mlw||((e.marker||{}).line||{}).width)?s:"")?r.opacity(a)<.3?r.addOpacity(a,.3):a:(i=(e.line||{}).color)&&r.opacity(i)&&n.hasLines(e)&&e.line.width?i:e.fillcolor}}}),xi=m({"src/traces/scatter/hover.js"(e,t){var r=ct(),n=Or(),i=He(),a=vi(),o=W(),s=r.fillText;t.exports=function(e,t,l,c){var u=e.cd,h=u[0].trace,f=e.xa,p=e.ya,d=f.c2p(t),m=p.c2p(l),g=[d,m],y=h.hoveron||"",v=-1!==h.mode.indexOf("markers")?3:.5,x=!!h.xperiodalignment,_=!!h.yperiodalignment;if(-1!==y.indexOf("points")){var b=function(e){var t=Math.max(v,e.mrc||0),r=f.c2p(e.x)-d,n=p.c2p(e.y)-m;return Math.max(Math.sqrt(r*r+n*n)-t,1-v/t)},w=n.getDistanceFunction(c,(function(e){if(x){var t=f.c2p(e.xStart),r=f.c2p(e.xEnd);return d>=Math.min(t,r)&&d<=Math.max(t,r)?0:1/0}var n=Math.max(3,e.mrc||0),i=1-1/n,a=Math.abs(f.c2p(e.x)-d);return a=Math.min(t,r)&&m<=Math.max(t,r)?0:1/0}var n=Math.max(3,e.mrc||0),i=1-1/n,a=Math.abs(p.c2p(e.y)-m);return ar!=(c=i[n][1])>=r&&(o=i[n-1][0],s=i[n][0],c-l&&(a=o+(s-o)*(r-l)/(c-l),h=Math.min(h,a),d=Math.max(d,a)));return{x0:h=Math.max(h,0),x1:d=Math.min(d,f._length),y0:r,y1:r}}(h._polygons);null===P&&(P={x0:g[0],x1:g[0],y0:g[1],y1:g[1]});var z=o.defaultLine;return o.opacity(h.fillcolor)?z=h.fillcolor:o.opacity((h.line||{}).color)&&(z=h.line.color),r.extendFlat(e,{distance:e.maxHoverDistance,x0:P.x0,x1:P.x1,y0:P.y0,y1:P.y1,color:z,hovertemplate:!1}),delete e.index,h.text&&!r.isArrayOrTypedArray(h.text)?e.text=String(h.text):e.text=h.name,[e]}}}}),_i=m({"src/traces/scatter/select.js"(e,t){var r=Xt();t.exports=function(e,t){var n,i,a,o,s=e.cd,l=e.xaxis,c=e.yaxis,u=[],h=s[0].trace;if(!r.hasMarkers(h)&&!r.hasText(h))return[];if(!1===t)for(n=0;n0&&(i["_"+r+"axes"]||{})[t])return i;if((i[r+"axis"]||r)===t){if(a(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}(t,s,l);if(c){if("histogram"===c.type&&l==={v:"y",h:"x"}[c.orientation||"v"])return void(e.type="linear");var u=l+"calendar",h=c[u],f={noMultiCategory:!r(c,"cartesian")||r(c,"noMultiCategory")};if("box"===c.type&&c._hasPreCompStats&&l==={h:"x",v:"y"}[c.orientation||"v"]&&(f.noMultiCategory=!0),f.autotypenumbers=e.autotypenumbers,a(c,l)){var p=i(c),d=[];for(o=0;o0||r(o);s&&(a="array");var l,c=n("categoryorder",a);"array"===c&&(l=n("categoryarray")),!s&&"array"===c&&(c=t.categoryorder="trace"),"trace"===c?t._initialCategories=[]:"array"===c?t._initialCategories=l.slice():(l=function(e,t){var r,n,i,a=t.dataAttr||e._id.charAt(0),o={};if(t.axData)r=t.axData;else for(r=[],n=0;n=2){var l,c,u="";if(2===o.length)for(l=0;l<2;l++)if(c=_(o[l])){u=g;break}var h=a("pattern",u);if(h===g)for(l=0;l<2;l++)(c=_(o[l]))&&(t.bounds[l]=o[l]=c-1);if(h)for(l=0;l<2;l++)switch(c=o[l],h){case g:if(!r(c))return void(t.enabled=!1);if((c=+c)!==Math.floor(c)||c<0||c>=7)return void(t.enabled=!1);t.bounds[l]=o[l]=c;break;case y:if(!r(c))return void(t.enabled=!1);if((c=+c)<0||c>24)return void(t.enabled=!1);t.bounds[l]=o[l]=c}if(!1===n.autorange){var f=n.range;if(f[0]f[1])return void(t.enabled=!1)}else if(o[0]>f[0]&&o[1]_[1]-1/4096&&(t.domain=s),n.noneOrAll(e.domain,t.domain,s),"sync"===t.tickmode&&(t.tickmode="auto")}return i("layer"),t}}}),Si=m({"src/plots/cartesian/layout_defaults.js"(e,t){var r=ct(),n=W(),i=Kt().isUnifiedHover,a=Lr(),o=vt(),s=Ve(),l=Lt(),c=wi(),u=Ai(),h=nn(),f=Mi(),p=_t(),d=p.id2name,m=p.name2id,g=xt().AX_ID_PATTERN,y=He(),v=y.traceIs,x=y.getComponentMethod;function _(e,t,r){Array.isArray(e[t])?e[t].push(r):e[t]=[r]}t.exports=function(e,t,y){var b,w,T=t.autotypenumbers,k={},A={},M={},S={},E={},C={},I={},L={},P={},z={};for(b=0;bs.duration?(function(){for(var r={},i=0;i rect").call(a.setTranslate,0,0).call(a.setScale,1,1),e.plot.call(a.setTranslate,t._offset,r._offset).call(a.setScale,1,1);var n=e.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(a.setPointGroupScale,1,1),n.selectAll(".textpoint").call(a.setTextPointsScale,1,1),n.call(a.hideOutsideRangePoints,e)}function g(t,r){var n=t.plotinfo,s=n.xaxis,l=n.yaxis,c=s._length,u=l._length,h=!!t.xr1,f=!!t.yr1,p=[];if(h){var d=i.simpleMap(t.xr0,s.r2l),m=i.simpleMap(t.xr1,s.r2l),g=d[1]-d[0],y=m[1]-m[0];p[0]=(d[0]*(1-r)+r*m[0]-d[0])/(d[1]-d[0])*c,p[2]=c*(1-r+r*y/g),s.range[0]=s.l2r(d[0]*(1-r)+r*m[0]),s.range[1]=s.l2r(d[1]*(1-r)+r*m[1])}else p[0]=0,p[2]=c;if(f){var v=i.simpleMap(t.yr0,l.r2l),x=i.simpleMap(t.yr1,l.r2l),_=v[1]-v[0],b=x[1]-x[0];p[1]=(v[1]*(1-r)+r*x[1]-v[1])/(v[0]-v[1])*u,p[3]=u*(1-r+r*b/_),l.range[0]=s.l2r(v[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(v[1]*(1-r)+r*x[1])}else p[1]=0,p[3]=u;o.drawOne(e,s,{skipTitle:!0}),o.drawOne(e,l,{skipTitle:!0}),o.redrawComponents(e,[s._id,l._id]);var w=h?c/p[2]:1,T=f?u/p[3]:1,k=h?p[0]:0,A=f?p[1]:0,M=h?p[0]/p[2]*c:0,S=f?p[1]/p[3]*u:0,E=s._offset-M,C=l._offset-S;n.clipRect.call(a.setTranslate,k,A).call(a.setScale,1/w,1/T),n.plot.call(a.setTranslate,E,C).call(a.setScale,w,T),a.setPointGroupScale(n.zoomScalePts,1/w,1/T),a.setTextPointsScale(n.zoomScaleTxt,1/w,1/T)}o.redrawComponents(e)}}}),Ci=m({"src/plots/cartesian/index.js"(e){var t=b(),r=He(),n=ct(),i=At(),a=er(),o=Tt().getModuleCalcData,s=_t(),l=xt(),c=Mt(),u=n.ensureSingle;function h(e,t,r){return n.ensureSingle(e,t,r,(function(e){e.datum(r)}))}var f=l.zindexSeparator;function p(e,n,i,s,c){for(var u,h,f,p=l.traceLayerClasses,d=e._fullLayout,m=d._zindices,g=d._modules,y=[],v=[],x=0;x1,m=t.mainplotinfo;if(!t.mainplot||d)if(p)t.xlines=u(n,"path","xlines-above"),t.ylines=u(n,"path","ylines-above"),t.xaxislayer=u(n,"g","xaxislayer-above"),t.yaxislayer=u(n,"g","yaxislayer-above");else{if(!a){var g=u(n,"g","layer-subplot");t.shapelayer=u(g,"g","shapelayer"),t.imagelayer=u(g,"g","imagelayer"),m&&d?(t.minorGridlayer=m.minorGridlayer,t.gridlayer=m.gridlayer,t.zerolinelayer=m.zerolinelayer):(t.minorGridlayer=u(n,"g","minor-gridlayer"),t.gridlayer=u(n,"g","gridlayer"),t.zerolinelayer=u(n,"g","zerolinelayer"));var y=u(n,"g","layer-between");t.shapelayerBetween=u(y,"g","shapelayer"),t.imagelayerBetween=u(y,"g","imagelayer"),u(n,"path","xlines-below"),u(n,"path","ylines-below"),t.overlinesBelow=u(n,"g","overlines-below"),u(n,"g","xaxislayer-below"),u(n,"g","yaxislayer-below"),t.overaxesBelow=u(n,"g","overaxes-below")}t.overplot=u(n,"g","overplot"),t.plot=u(t.overplot,"g",i),t.zerolinelayerAbove=m&&d?m.zerolinelayerAbove:u(n,"g","zerolinelayer-above"),a||(t.xlines=u(n,"path","xlines-above"),t.ylines=u(n,"path","ylines-above"),t.overlinesAbove=u(n,"g","overlines-above"),u(n,"g","xaxislayer-above"),u(n,"g","yaxislayer-above"),t.overaxesAbove=u(n,"g","overaxes-above"),t.xlines=n.select(".xlines-"+o),t.ylines=n.select(".ylines-"+c),t.xaxislayer=n.select(".xaxislayer-"+o),t.yaxislayer=n.select(".yaxislayer-"+c))}else{var v=m.plotgroup,x=i+"-x",_=i+"-y";t.minorGridlayer=m.minorGridlayer,t.gridlayer=m.gridlayer,t.zerolinelayer=m.zerolinelayer,t.zerolinelayerAbove=m.zerolinelayerAbove,u(m.overlinesBelow,"path",x),u(m.overlinesBelow,"path",_),u(m.overaxesBelow,"g",x),u(m.overaxesBelow,"g",_),t.plot=u(m.overplot,"g",i),u(m.overlinesAbove,"path",x),u(m.overlinesAbove,"path",_),u(m.overaxesAbove,"g",x),u(m.overaxesAbove,"g",_),t.xlines=v.select(".overlines-"+o).select("."+x),t.ylines=v.select(".overlines-"+c).select("."+_),t.xaxislayer=v.select(".overaxes-"+o).select("."+x),t.yaxislayer=v.select(".overaxes-"+c).select("."+_)}a||(p||(h(t.minorGridlayer,"g",t.xaxis._id),h(t.minorGridlayer,"g",t.yaxis._id),t.minorGridlayer.selectAll("g").map((function(e){return e[0]})).sort(s.idSort),h(t.gridlayer,"g",t.xaxis._id),h(t.gridlayer,"g",t.yaxis._id),t.gridlayer.selectAll("g").map((function(e){return e[0]})).sort(s.idSort)),t.xlines.style("fill","none").classed("crisp",!0),t.ylines.style("fill","none").classed("crisp",!0))}function m(e,r){if(e){var n={};for(var i in e.each((function(e){var i=e[0];t.select(this).remove(),g(i,r),n[i]=!0})),r._plots)for(var a=r._plots[i].overlays||[],o=0;o0){var g=m.id;if(-1!==g.indexOf(f))continue;g+=f+(u+1),m=n.extendFlat({},m,{id:g,plot:o._cartesianlayer.selectAll(".subplot").select("."+g)})}for(var y,v=[],x=0;x1&&(w+=f+b),_.push(n+w),r=0;r=0,x=t.indexOf("end")>=0,_=d.backoff*g+a.standoff,b=m.backoff*y+a.startstandoff;if("line"===p.nodeName){c={x:+e.attr("x1"),y:+e.attr("y1")},u={x:+e.attr("x2"),y:+e.attr("y2")};var w=c.x-u.x,T=c.y-u.y;if(f=(h=Math.atan2(T,w))+Math.PI,_&&b&&_+b>Math.sqrt(w*w+T*T))return void D();if(_){if(_*_>w*w+T*T)return void D();var k=_*Math.cos(h),A=_*Math.sin(h);u.x+=k,u.y+=A,e.attr({x2:u.x,y2:u.y})}if(b){if(b*b>w*w+T*T)return void D();var M=b*Math.cos(h),S=b*Math.sin(h);c.x-=M,c.y-=S,e.attr({x1:c.x,y1:c.y})}}else if("path"===p.nodeName){var E=p.getTotalLength(),C="";if(E<_+b)return void D();var I=p.getPointAtLength(0),L=p.getPointAtLength(.1);h=Math.atan2(I.y-L.y,I.x-L.x),c=p.getPointAtLength(Math.min(b,E)),C="0px,"+b+"px,";var P=p.getPointAtLength(E),z=p.getPointAtLength(E-.1);f=Math.atan2(P.y-z.y,P.x-z.x),u=p.getPointAtLength(Math.max(0,E-_)),C+=E-(C?b+_:_)+"px,"+E+"px",e.style("stroke-dasharray",C)}function D(){e.style("stroke-dasharray","0px,100px")}function O(t,i,c,u){t.path&&(t.noRotate&&(c=0),r.select(p.parentNode).append("path").attr({class:e.attr("class"),d:t.path,transform:l(i.x,i.y)+s(180*c/Math.PI)+o(u)}).style({fill:n.rgb(a.arrowcolor),"stroke-width":0}))}v&&O(m,c,h,y),x&&O(d,u,f,g)}}}),Pi=m({"src/components/annotations/draw.js"(e,t){var r=b(),n=He(),i=At(),a=ct(),o=a.strTranslate,s=ar(),l=W(),c=er(),u=Or(),h=Et(),f=dr(),p=pr(),d=vt().arrayEditor,m=Li();function g(e,t){var r=e._fullLayout.annotations[t]||{},n=s.getFromId(e,r.xref),i=s.getFromId(e,r.yref);n&&n.setScale(),i&&i.setScale(),v(e,r,t,!1,n,i)}function y(e,t,r,n,i){var a=i[r],o=i[r+"ref"],l=-1!==r.indexOf("y"),c="domain"===s.getRefType(o),u=l?n.h:n.w;return e?c?a+(l?-t:t)/e._length:e.p2r(e.r2p(a)+t):a+(l?-t:t)/u}function v(e,t,i,g,v,x){var _,b,w=e._fullLayout,T=e._fullLayout._size,k=e._context.edits;g?(_="annotation-"+g,b=g+".annotations"):(_="annotation",b="annotations");var A=d(e.layout,b,t),M=A.modifyBase,S=A.modifyItem,E=A.getUpdateObj;w._infolayer.selectAll("."+_+'[data-index="'+i+'"]').remove();var C="clip"+w._uid+"_ann"+i;if(t._input&&!1!==t.visible){var I={x:{},y:{}},L=+t.textangle||0,P=w._infolayer.append("g").classed(_,!0).attr("data-index",String(i)).style("opacity",t.opacity),z=P.append("g").classed("annotation-text-g",!0),D=k[t.showarrow?"annotationTail":"annotationPosition"],O=t.captureevents||k.annotationText||D,R=z.append("g").style("pointer-events",O?"all":null).call(f,"pointer").on("click",(function(){e._dragging=!1,e.emit("plotly_clickannotation",W(r.event))}));t.hovertext&&R.on("mouseover",(function(){var r=t.hoverlabel,n=r.font,i=this.getBoundingClientRect(),a=e.getBoundingClientRect();u.loneHover({x0:i.left-a.left,x1:i.right-a.left,y:(i.top+i.bottom)/2-a.top,text:t.hovertext,color:r.bgcolor,borderColor:r.bordercolor,fontFamily:n.family,fontSize:n.size,fontColor:n.color,fontWeight:n.weight,fontStyle:n.style,fontVariant:n.variant,fontShadow:n.fontShadow,fontLineposition:n.fontLineposition,fontTextcase:n.fontTextcase},{container:w._hoverlayer.node(),outerContainer:w._paper.node(),gd:e})})).on("mouseout",(function(){u.loneUnhover(w._hoverlayer.node())}));var F=t.borderwidth,B=t.borderpad,j=F+B,N=R.append("rect").attr("class","bg").style("stroke-width",F+"px").call(l.stroke,t.bordercolor).call(l.fill,t.bgcolor),U=t.width||t.height,V=w._topclips.selectAll("#"+C).data(U?[0]:[]);V.enter().append("clipPath").classed("annclip",!0).attr("id",C).append("rect"),V.exit().remove();var q=t.font,H=w._meta?a.templateString(t.text,w._meta):t.text,G=R.append("text").classed("annotation-text",!0).text(H);k.annotationText?G.call(h.makeEditable,{delegate:R,gd:e}).call(Z).on("edit",(function(r){t.text=r,this.call(Z),S("text",r),v&&v.autorange&&M(v._name+".autorange",!0),x&&x.autorange&&M(x._name+".autorange",!0),n.call("_guiRelayout",e,E())})):G.call(Z)}else r.selectAll("#"+C).remove();function W(e){var r={index:i,annotation:t._input,fullAnnotation:t,event:e};return g&&(r.subplotId=g),r}function Z(r){return r.call(c.font,q).attr({"text-anchor":{left:"start",right:"end"}[t.align]||"middle"}),h.convertToTspans(r,e,Y),r}function Y(){var r=G.selectAll("a");1===r.size()&&r.text()===G.text()&&R.insert("a",":first-child").attr({"xlink:xlink:href":r.attr("xlink:href"),"xlink:xlink:show":r.attr("xlink:show")}).style({cursor:"pointer"}).node().appendChild(N.node());var i=R.select(".annotation-text-math-group"),u=!i.empty(),d=c.bBox((u?i:G).node()),_=d.width,b=d.height,A=t.width||_,O=t.height||b,B=Math.round(A+2*j),q=Math.round(O+2*j);function H(e,t){return"auto"===t&&(t=e<1/3?"left":e>2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[t]}for(var Z=!1,Y=["x","y"],X=0;X1)&&(ne===re?((pe=ie.r2fraction(t["a"+te]))<0||pe>1)&&(Z=!0):Z=!0),$=ie._offset+ie.r2p(t[te]),Q=.5}else{var de="domain"===fe;"x"===te?(J=t[te],$=de?ie._offset+ie._length*J:$=T.l+T.w*J):(J=1-t[te],$=de?ie._offset+ie._length*J:$=T.t+T.h*J),Q=t.showarrow?.5:J}if(t.showarrow){he.head=$;var me=t["a"+te];if(ee=oe*H(.5,t.xanchor)-se*H(.5,t.yanchor),ne===re){var ge=s.getRefType(ne);"domain"===ge?("y"===te&&(me=1-me),he.tail=ie._offset+ie._length*me):"paper"===ge?"y"===te?(me=1-me,he.tail=T.t+T.h*me):he.tail=T.l+T.w*me:he.tail=ie._offset+ie.r2p(me),K=ee}else he.tail=$+me,K=ee+me;he.text=he.tail+ee;var ye=w["x"===te?"width":"height"];if("paper"===re&&(he.head=a.constrain(he.head,1,ye-1)),"pixel"===ne){var ve=-Math.max(he.tail-3,he.text),xe=Math.min(he.tail+3,he.text)-ye;ve>0?(he.tail+=ve,he.text+=ve):xe>0&&(he.tail-=xe,he.text-=xe)}he.tail+=ue,he.head+=ue}else K=ee=le*H(Q,ce),he.text=$+ee;he.text+=ue,ee+=ue,K+=ue,t["_"+te+"padplus"]=le/2+K,t["_"+te+"padminus"]=le/2-K,t["_"+te+"size"]=le,t["_"+te+"shift"]=ee}if(Z)R.remove();else{var _e=0,be=0;if("left"!==t.align&&(_e=(A-_)*("center"===t.align?.5:1)),"top"!==t.valign&&(be=(O-b)*("middle"===t.valign?.5:1)),u)i.select("svg").attr({x:j+_e-1,y:j+be}).call(c.setClipUrl,U?C:null,e);else{var we=j+be-d.top,Te=j+_e-d.left;G.call(h.positionText,Te,we).call(c.setClipUrl,U?C:null,e)}V.select("rect").call(c.setRect,j,j,A,O),N.call(c.setRect,F/2,F/2,B-F,q-F),R.call(c.setTranslate,Math.round(I.x.text-B/2),Math.round(I.y.text-q/2)),z.attr({transform:"rotate("+L+","+I.x.text+","+I.y.text+")"});var ke,Ae=function(r,i){P.selectAll(".annotation-arrow-g").remove();var s=I.x.head,u=I.y.head,h=I.x.tail+r,f=I.y.tail+i,d=I.x.text+r,_=I.y.text+i,b=a.rotationXYMatrix(L,d,_),w=a.apply2DTransform(b),A=a.apply2DTransform2(b),C=+N.attr("width"),D=+N.attr("height"),O=d-.5*C,F=O+C,B=_-.5*D,j=B+D,U=[[O,B,O,j],[O,j,F,j],[F,j,F,B],[F,B,O,B]].map(A);if(!U.reduce((function(e,t){return e^!!a.segmentsIntersect(s,u,s+1e6,u+1e6,t[0],t[1],t[2],t[3])}),!1)){U.forEach((function(e){var t=a.segmentsIntersect(h,f,s,u,e[0],e[1],e[2],e[3]);t&&(h=t.x,f=t.y)}));var V=t.arrowwidth,q=t.arrowcolor,H=t.arrowside,G=P.append("g").style({opacity:l.opacity(q)}).classed("annotation-arrow-g",!0),W=G.append("path").attr("d","M"+h+","+f+"L"+s+","+u).style("stroke-width",V+"px").call(l.stroke,l.rgb(q));if(m(W,H,t),k.annotationPosition&&W.node().parentNode&&!g){var Z=s,Y=u;if(t.standoff){var X=Math.sqrt(Math.pow(s-h,2)+Math.pow(u-f,2));Z+=t.standoff*(h-s)/X,Y+=t.standoff*(f-u)/X}var $,K,J=G.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(h-Z)+","+(f-Y),transform:o(Z,Y)}).style("stroke-width",V+6+"px").call(l.stroke,"rgba(0,0,0,0)").call(l.fill,"rgba(0,0,0,0)");p.init({element:J.node(),gd:e,prepFn:function(){var e=c.getTranslate(R);$=e.x,K=e.y,v&&v.autorange&&M(v._name+".autorange",!0),x&&x.autorange&&M(x._name+".autorange",!0)},moveFn:function(e,r){var n=w($,K),i=n[0]+e,a=n[1]+r;R.call(c.setTranslate,i,a),S("x",y(v,e,"x",T,t)),S("y",y(x,r,"y",T,t)),t.axref===t.xref&&S("ax",y(v,e,"ax",T,t)),t.ayref===t.yref&&S("ay",y(x,r,"ay",T,t)),G.attr("transform",o(e,r)),z.attr({transform:"rotate("+L+","+i+","+a+")"})},doneFn:function(){n.call("_guiRelayout",e,E());var t=document.querySelector(".js-notes-box-panel");t&&t.redraw(t.selectedObj)}})}}};t.showarrow&&Ae(0,0),D&&p.init({element:R.node(),gd:e,prepFn:function(){ke=z.attr("transform")},moveFn:function(e,r){var n="pointer";if(t.showarrow)t.axref===t.xref?S("ax",y(v,e,"ax",T,t)):S("ax",t.ax+e),t.ayref===t.yref?S("ay",y(x,r,"ay",T.w,t)):S("ay",t.ay+r),Ae(e,r);else{if(g)return;var i,a;if(v)i=y(v,e,"x",T,t);else{var s=t._xsize/T.w,l=t.x+(t._xshift-t.xshift)/T.w-s/2;i=p.align(l+e/T.w,s,0,1,t.xanchor)}if(x)a=y(x,r,"y",T,t);else{var c=t._ysize/T.h,u=t.y-(t._yshift+t.yshift)/T.h-c/2;a=p.align(u-r/T.h,c,0,1,t.yanchor)}S("x",i),S("y",a),(!v||!x)&&(n=p.getCursor(v?.5:i,x?.5:a,t.xanchor,t.yanchor))}z.attr({transform:o(e,r)+ke}),f(R,n)},clickFn:function(r,n){t.captureevents&&e.emit("plotly_clickannotation",W(n))},doneFn:function(){f(R),n.call("_guiRelayout",e,E());var t=document.querySelector(".js-notes-box-panel");t&&t.redraw(t.selectedObj)}})}}}t.exports={draw:function(e){var t=e._fullLayout;t._infolayer.selectAll(".annotation").remove();for(var r=0;r0||r.explicitOff.length>0},onClick:function(e,t){var o,s,l=a(e,t),c=l.on,u=l.off.concat(l.explicitOff),h={},f=e._fullLayout.annotations;if(c.length||u.length){for(o=0;o1){c=!0;break}}c?e.fullLayout._infolayer.select(".annotation-"+e.id+'[data-index="'+s+'"]').remove():(l._pdata=n(e.glplot.cameraParams,[t.xaxis.r2l(l.x)*a[0],t.yaxis.r2l(l.y)*a[1],t.zaxis.r2l(l.z)*a[2]]),r(e.graphDiv,l,s,e.id,l._xa,l._ya))}}}}),Hi=m({"src/components/annotations3d/index.js"(e,t){var r=He(),n=ct();t.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:ji()}}},layoutAttributes:ji(),handleDefaults:Ni(),includeBasePlot:function(e,t){var i=r.subplotsRegistry.gl3d;if(i)for(var a=i.attrRegex,o=Object.keys(e),s=0;s{var l,g,y,v,x=a+"anchor",_="x"===a?f:p,b={_fullLayout:i};let w=e[a+"ref"];if(Array.isArray(w)&&w.length>0){let r=o.countDefiningCoords(u,c,a);v=n.coerceRefArray(e,t,b,a,void 0,"paper",r),t["_"+a+"refArray"]=!0}else v=n.coerceRef(e,t,b,a,void 0,"paper");if(Array.isArray(v))v.forEach((function(e){"range"===n.getRefType(e)&&(l=n.getFromId(b,e))&&-1===l._shapeIndices.indexOf(t._index)&&l._shapeIndices.push(t._index)})),h&&[0,1].forEach((function(i){let c=v[i];"range"===n.getRefType(c)?(l=n.getFromId(b,c),g=o.shapePositionToRange(l),y=o.rangeToShapePosition(l),("category"===l.type||"multicategory"===l.type)&&s(a+i+"shift")):g=y=r.identity;let u=a+i,h=e[u];if(e[u]=g(e[u],!0),"pixel"===_?s(u,m[i]):n.coercePosition(t,b,s,c,u,d[i]),t[u]=y(t[u]),e[u]=h,0===i&&"pixel"===_){let r=e[x];e[x]=g(e[x],!0),n.coercePosition(t,b,s,c,x,.25),t[x]=y(t[x]),e[x]=r}}));else{if("range"===n.getRefType(v)?((l=n.getFromId(b,v))._shapeIndices.push(t._index),y=o.rangeToShapePosition(l),g=o.shapePositionToRange(l),h&&("category"===l.type||"multicategory"===l.type)&&(s(a+"0shift"),s(a+"1shift"))):g=y=r.identity,h){let r=a+"0",i=a+"1",o=e[r],l=e[i];e[r]=g(e[r],!0),e[i]=g(e[i],!0),"pixel"===_?(s(r,m[0]),s(i,m[1])):(n.coercePosition(t,b,s,v,r,d[0]),n.coercePosition(t,b,s,v,i,d[1])),t[r]=y(t[r]),t[i]=y(t[i]),e[r]=o,e[i]=l}if("pixel"===_){let r=e[x];e[x]=g(e[x],!0),n.coercePosition(t,b,s,v,x,.25),t[x]=y(t[x]),e[x]=r}}})),h&&r.noneOrAll(e,t,["x0","x1","y0","y1"]);var g,y,v="line"===u;if(h&&(g=s("label.texttemplate"),s("label.texttemplatefallback")),g||(y=s("label.text")),y||g){s("label.textangle");var x=s("label.textposition",v?"middle":"middle center");s("label.xanchor"),s("label.yanchor",function(e,t){return e?"bottom":-1!==t.indexOf("top")?"top":-1!==t.indexOf("bottom")?"bottom":"middle"}(v,x)),s("label.padding"),r.coerceFont(s,"label.font",i.font)}}t.exports=function(e,t){i(e,t,{name:"shapes",handleItemDefaults:s})}}}),Zi=m({"src/components/shapes/draw_newshape/defaults.js"(e,t){var r=W(),n=ct();t.exports=function(e,t,i){if(i("newshape.visible"),i("newshape.name"),i("newshape.showlegend"),i("newshape.legend"),i("newshape.legendwidth"),i("newshape.legendgroup"),i("newshape.legendgrouptitle.text"),n.coerceFont(i,"newshape.legendgrouptitle.font"),i("newshape.legendrank"),i("newshape.drawdirection"),i("newshape.layer"),i("newshape.fillcolor"),i("newshape.fillrule"),i("newshape.opacity"),i("newshape.line.width")){var a=(e||{}).plot_bgcolor||"#FFF";i("newshape.line.color",r.contrast(a)),i("newshape.line.dash")}var o="drawline"===e.dragmode,s=i("newshape.label.text"),l=i("newshape.label.texttemplate");if(i("newshape.label.texttemplatefallback"),s||l){i("newshape.label.textangle");var c=i("newshape.label.textposition",o?"middle":"middle center");i("newshape.label.xanchor"),i("newshape.label.yanchor",function(e,t){return e?"bottom":-1!==t.indexOf("top")?"top":-1!==t.indexOf("bottom")?"bottom":"middle"}(o,c)),i("newshape.label.padding"),n.coerceFont(i,"newshape.label.font",t.font)}i("activeshape.fillcolor"),i("activeshape.opacity")}}}),Yi=m({"src/components/shapes/calc_autorange.js"(e,t){var r=ct(),n=ar(),i=Hr(),a=Gr();function o(e,t,r){let o=t[r+"ref"],s="x"===r?i.paramIsX:i.paramIsY;function l(e,t){"paper"===e||"domain"===n.getRefType(e)||(c[e]||(c[e]=[]),c[e].push(t))}let c={};if("path"===t.type&&t.path){let e=t.path.match(i.segmentRE)||[];for(var u=0,h=0;hr&&(l(o[u],n[r]),u++)}}else l(o[0],t[r+"0"]),l(o[1],t[r+"1"]);let f={};for(let t in c){let r=n.getFromId(e,t);if(r){var p="category"===r.type||"multicategory"===r.type?r.r2c:r.d2c;"date"===r.type&&(p=a.decodeDate(p)),f[r._id]=c[t].map(p)}}return f}function s(e){return c(e.line.width,e.xsizemode,e.x0,e.x1,e.path,!1)}function l(e){return c(e.line.width,e.ysizemode,e.y0,e.y1,e.path,!0)}function c(e,t,n,o,s,l){var c=e/2,u=l;if("pixel"===t){var h=s?a.extractPathCoords(s,l?i.paramIsY:i.paramIsX):[n,o],f=r.aggNums(Math.max,null,h),p=r.aggNums(Math.min,null,h),d=p<0?Math.abs(p)+c:c,m=f>0?f+c:c;return{ppad:c,ppadplus:u?d:m,ppadminus:u?m:d}}return{ppad:c}}function u(e,t,r){var n,o,s="x"===e._id.charAt(0)?"x":"y",l="category"===e.type||"multicategory"===e.type,c=0,u=0,h=l?e.r2c:e.d2c;if("scaled"===t[s+"sizemode"]?(n=t[s+"0"],o=t[s+"1"],l&&(c=t[s+"0shift"],u=t[s+"1shift"])):(n=t[s+"anchor"],o=t[s+"anchor"]),void 0!==n)return[h(n)+c,h(o)+u];if(t.path){var f,p,d,m,g=1/0,y=-1/0,v=t.path.match(i.segmentRE);for("date"===e.type&&(h=a.decodeDate(h)),f=0;fy&&(y=m));if(y>=g)return[g,y]}}t.exports=function(e){var t=e._fullLayout,a=r.filterVisible(t.shapes);if(a.length&&e._fullData.length)for(var c=0;c{f=n.getFromId(e,t),h._extremes[f._id]=n.findExtremes(f,r,s(h))}))}else"paper"!==h.xref&&"domain"!==d&&(p=u(f=n.getFromId(e,h.xref),h,i.paramIsX))&&(h._extremes[f._id]=n.findExtremes(f,p,s(h)));if("array"===m){let t=o(e,h,"y");Object.entries(t).forEach((([t,r])=>{f=n.getFromId(e,t),h._extremes[f._id]=n.findExtremes(f,r,l(h))}))}else"paper"!==h.yref&&"domain"!==m&&(p=u(f=n.getFromId(e,h.yref),h,i.paramIsY))&&(h._extremes[f._id]=n.findExtremes(f,p,l(h)))}}}}),Xi=m({"src/components/shapes/index.js"(e,t){var r=Yr();t.exports={moduleType:"component",name:"shapes",layoutAttributes:Gi(),supplyLayoutDefaults:Wi(),supplyDrawNewShapeDefaults:Zi(),includeBasePlot:En()("shapes"),calcAutorange:Yi(),draw:r.draw,drawOne:r.drawOne}}}),$i=m({"src/components/images/attributes.js"(e,t){var r=xt(),n=vt().templatedArray;_n(),t.exports=n("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",r.idRegex.x.toString()],dflt:"paper",editType:"arraydraw"},yref:{valType:"enumerated",values:["paper",r.idRegex.y.toString()],dflt:"paper",editType:"arraydraw"},editType:"arraydraw"})}}),Ki=m({"src/components/images/defaults.js"(e,t){var r=ct(),n=ar(),i=Nt(),a=$i();function o(e,t,i){function o(n,i){return r.coerce(e,t,a,n,i)}var s=o("source");if(!o("visible",!!s))return t;o("layer"),o("xanchor"),o("yanchor"),o("sizex"),o("sizey"),o("sizing"),o("opacity");for(var l={_fullLayout:i},c=["x","y"],u=0;u<2;u++){var h=c[u],f=n.coerceRef(e,t,l,h,"paper",void 0);"paper"!==f&&n.getFromId(l,f)._imgIndices.push(t._index),n.coercePosition(t,l,o,f,h,0)}return t}t.exports=function(e,t){i(e,t,{name:"images",handleItemDefaults:o})}}}),Ji=m({"src/components/images/draw.js"(e,t){var r=b(),n=er(),i=ar(),a=_t(),o=Mt();t.exports=function(e){var t,s,l=e._fullLayout,c=[],u={},h=[];for(s=0;s0)&&(o("active"),o("direction"),o("type"),o("showactive"),o("x"),o("y"),r.noneOrAll(e,t,["x","y"]),o("xanchor"),o("yanchor"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),r.coerceFont(o,"font",a.font),o("bgcolor",a.paper_bgcolor),o("bordercolor"),o("borderwidth"))}function l(e,t){function n(n,i){return r.coerce(e,t,o,n,i)}n("visible","skip"===e.method||Array.isArray(e.args))&&(n("method"),n("args"),n("args2"),n("label"),n("execute"))}t.exports=function(e,t){n(e,t,{name:a,handleItemDefaults:s})}}}),ia=m({"src/components/updatemenus/scrollbox.js"(e,t){t.exports=o;var r=b(),n=W(),i=er(),a=ct();function o(e,t,r){this.gd=e,this.container=t,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll("rect.scrollbox-bg").data([0]),this.bg.exit().on(".drag",null).on("wheel",null).remove(),this.bg.enter().append("rect").classed("scrollbox-bg",!0).style("pointer-events","all").attr({opacity:0,x:0,y:0,width:0,height:0})}o.barWidth=2,o.barLength=20,o.barRadius=2,o.barPad=1,o.barColor="#808BA4",o.prototype.enable=function(e,t,a){var s=this.gd._fullLayout,l=s.width,c=s.height;this.position=e;var u,h,f,p,d=this.position.l,m=this.position.w,g=this.position.t,y=this.position.h,v=this.position.direction,x="down"===v,_="left"===v,b="up"===v,w=m,T=y;!x&&!_&&!("right"===v)&&!b&&(this.position.direction="down",x=!0),x||b?(h=(u=d)+w,x?(f=g,T=(p=Math.min(f+T,c))-f):T=(p=g+T)-(f=Math.max(p-T,0))):(p=(f=g)+T,_?w=(h=d+w)-(u=Math.max(h-w,0)):(u=d,w=(h=Math.min(u+w,l))-u)),this._box={l:u,t:f,w,h:T};var k=m>w,A=o.barLength+2*o.barPad,M=o.barWidth+2*o.barPad,S=d,E=g+y;E+M>c&&(E=c-M);var C=this.container.selectAll("rect.scrollbar-horizontal").data(k?[0]:[]);C.exit().on(".drag",null).remove(),C.enter().append("rect").classed("scrollbar-horizontal",!0).call(n.fill,o.barColor),k?(this.hbar=C.attr({rx:o.barRadius,ry:o.barRadius,x:S,y:E,width:A,height:M}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var I=y>T,L=o.barWidth+2*o.barPad,P=o.barLength+2*o.barPad,z=d+m,D=g;z+L>l&&(z=l-L);var O=this.container.selectAll("rect.scrollbar-vertical").data(I?[0]:[]);O.exit().on(".drag",null).remove(),O.enter().append("rect").classed("scrollbar-vertical",!0).call(n.fill,o.barColor),I?(this.vbar=O.attr({rx:o.barRadius,ry:o.barRadius,x:z,y:D,width:L,height:P}),this._vbarYMin=D+P/2,this._vbarTranslateMax=T-P):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=u-.5,B=I?h+L+.5:h+.5,j=f-.5,N=k?p+M+.5:p+.5,U=s._topdefs.selectAll("#"+R).data(k||I?[0]:[]);if(U.exit().remove(),U.enter().append("clipPath").attr("id",R).append("rect"),k||I?(this._clipRect=U.select("rect").attr({x:Math.floor(F),y:Math.floor(j),width:Math.ceil(B)-Math.floor(F),height:Math.ceil(N)-Math.floor(j)}),this.container.call(i.setClipUrl,R,this.gd),this.bg.attr({x:d,y:g,width:m,height:y})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(i.setClipUrl,null),delete this._clipRect),k||I){var V=r.behavior.drag().on("dragstart",(function(){r.event.sourceEvent.preventDefault()})).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(V);var q=r.behavior.drag().on("dragstart",(function(){r.event.sourceEvent.preventDefault(),r.event.sourceEvent.stopPropagation()})).on("drag",this._onBarDrag.bind(this));k&&this.hbar.on(".drag",null).call(q),I&&this.vbar.on(".drag",null).call(q)}this.setTranslate(t,a)},o.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(i.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},o.prototype._onBoxDrag=function(){var e=this.translateX,t=this.translateY;this.hbar&&(e-=r.event.dx),this.vbar&&(t-=r.event.dy),this.setTranslate(e,t)},o.prototype._onBoxWheel=function(){var e=this.translateX,t=this.translateY;this.hbar&&(e+=r.event.deltaY),this.vbar&&(t+=r.event.deltaY),this.setTranslate(e,t)},o.prototype._onBarDrag=function(){var e=this.translateX,t=this.translateY;if(this.hbar){var n=e+this._hbarXMin,i=n+this._hbarTranslateMax;e=(a.constrain(r.event.x,n,i)-n)/(i-n)*(this.position.w-this._box.w)}if(this.vbar){var o=t+this._vbarYMin,s=o+this._vbarTranslateMax;t=(a.constrain(r.event.y,o,s)-o)/(s-o)*(this.position.h-this._box.h)}this.setTranslate(e,t)},o.prototype.setTranslate=function(e,t){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(e=a.constrain(e||0,0,r),t=a.constrain(t||0,0,n),this.translateX=e,this.translateY=t,this.container.call(i.setTranslate,this._box.l-this.position.l-e,this._box.t-this.position.t-t),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+e-.5),y:Math.floor(this.position.t+t-.5)}),this.hbar){var o=e/r;this.hbar.call(i.setTranslate,e+o*this._hbarTranslateMax,t)}if(this.vbar){var s=t/n;this.vbar.call(i.setTranslate,e,t+s*this._vbarTranslateMax)}}}}),aa=m({"src/components/updatemenus/draw.js"(e,t){var r=b(),n=At(),i=W(),a=er(),o=ct(),s=Et(),l=vt().arrayEditor,c=St().LINE_SPACING,u=ta(),h=ia();function f(e){return e._index}function p(e,t){return+e.attr(u.menuIndexAttrName)===t._index}function d(e,t,r,n,i,a,o,s){t.active=o,l(e.layout,u.name,t).applyUpdate("active",o),"buttons"===t.type?g(e,n,null,null,t):"dropdown"===t.type&&(i.attr(u.menuIndexAttrName,"-1"),m(e,n,i,a,t),s||g(e,n,i,a,t))}function m(e,t,r,n,i){var s=o.ensureSingle(t,"g",u.headerClassName,(function(e){e.style("pointer-events","all")})),l=i._dims,c=i.active,h=i.buttons[c]||u.blankHeaderOpts,f={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},d={width:l.headerWidth,height:l.headerHeight};s.call(y,i,h,e).call(M,i,f,d),o.ensureSingle(t,"text",u.headerArrowClassName,(function(e){e.attr("text-anchor","end").call(a.font,i.font).text(u.arrowSymbol[i.direction])})).attr({x:l.headerWidth-u.arrowOffsetX+i.pad.l,y:l.headerHeight/2+u.textOffsetY+i.pad.t}),s.on("click",(function(){r.call(S,String(p(r,i)?-1:i._index)),g(e,t,r,n,i)})),s.on("mouseover",(function(){s.call(w)})),s.on("mouseout",(function(){s.call(T,i)})),a.setTranslate(t,l.lx,l.ly)}function g(e,t,i,a,s){i||(i=t).attr("pointer-events","all");var l=function(e){return-1==+e.attr(u.menuIndexAttrName)}(i)&&"buttons"!==s.type?[]:s.buttons,c="dropdown"===s.type?u.dropdownButtonClassName:u.buttonClassName,h=i.selectAll("g."+c).data(o.filterVisible(l)),f=h.enter().append("g").classed(c,!0),p=h.exit();"dropdown"===s.type?(f.attr("opacity","0").transition().attr("opacity","1"),p.transition().attr("opacity","0").remove()):p.remove();var m=0,g=0,v=s._dims,x=-1!==["up","down"].indexOf(s.direction);"dropdown"===s.type&&(x?g=v.headerHeight+u.gapButtonHeader:m=v.headerWidth+u.gapButtonHeader),"dropdown"===s.type&&"up"===s.direction&&(g=-u.gapButtonHeader+u.gapButton-v.openHeight),"dropdown"===s.type&&"left"===s.direction&&(m=-u.gapButtonHeader+u.gapButton-v.openWidth);var b={x:v.lx+m+s.pad.l,y:v.ly+g+s.pad.t,yPad:u.gapButton,xPad:u.gapButton,index:0},k={l:b.x+s.borderwidth,t:b.y+s.borderwidth};h.each((function(o,l){var c=r.select(this);c.call(y,s,o,e).call(M,s,b),c.on("click",(function(){r.event.defaultPrevented||(o.execute&&(o.args2&&s.active===l?(d(e,s,0,t,i,a,-1),n.executeAPICommand(e,o.method,o.args2)):(d(e,s,0,t,i,a,l),n.executeAPICommand(e,o.method,o.args))),e.emit("plotly_buttonclicked",{menu:s,button:o,active:s.active}))})),c.on("mouseover",(function(){c.call(w)})),c.on("mouseout",(function(){c.call(T,s),h.call(_,s)}))})),h.call(_,s),x?(k.w=Math.max(v.openWidth,v.headerWidth),k.h=b.y-k.t):(k.w=b.x-k.l,k.h=Math.max(v.openHeight,v.headerHeight)),k.direction=s.direction,a&&(h.size()?function(e,t,r,n,i,a){var o,s,l,c=i.direction,h="up"===c||"down"===c,f=i._dims,p=i.active;if(h)for(s=0,l=0;l0?[0]:[]);if(s.enter().append("g").classed(u.containerClassName,!0).style("cursor","pointer"),s.exit().each((function(){r.select(this).selectAll("g."+u.headerGroupClassName).each(a)})).remove(),0!==i.length){var l=s.selectAll("g."+u.headerGroupClassName).data(i,f);l.enter().append("g").classed(u.headerGroupClassName,!0);for(var c=o.ensureSingle(s,"g",u.dropdownButtonGroupClassName,(function(e){e.style("pointer-events","all")})),y=0;y0&&(l=l.transition().duration(t.transition.duration).ease(t.transition.easing)),l.attr("transform",s(o-.5*u.gripWidth,t._dims.currentValueTotalHeight))}}function E(e,t){var r=e._dims;return r.inputAreaStart+u.stepInset+(r.inputAreaLength-2*u.stepInset)*Math.min(1,Math.max(0,t))}function C(e,t){var r=e._dims;return Math.min(1,Math.max(0,(t-u.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*u.stepInset-2*r.inputAreaStart)))}function I(e,t,r){var n=r._dims,s=o.ensureSingle(e,"rect",u.railTouchRectClass,(function(n){n.call(A,t,e,r).style("pointer-events","all")}));s.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,u.tickOffset+r.ticklen+n.labelHeight)}).call(i.fill,r.bgcolor).attr("opacity",0),a.setTranslate(s,0,n.currentValueTotalHeight)}function L(e,t){var r=t._dims,n=r.inputAreaLength-2*u.railInset,s=o.ensureSingle(e,"rect",u.railRectClass);s.attr({width:n,height:u.railWidth,rx:u.railRadius,ry:u.railRadius,"shape-rendering":"crispEdges"}).call(i.stroke,t.bordercolor).call(i.fill,t.bgcolor).style("stroke-width",t.borderwidth+"px"),a.setTranslate(s,u.railInset,.5*(r.inputAreaWidth-u.railWidth)+r.currentValueTotalHeight)}t.exports=function(e){var t=e._context.staticPlot,i=e._fullLayout,o=function(e,t){for(var r=e[u.name],n=[],i=0;i0?[0]:[]);function l(t){t._commandObserver&&(t._commandObserver.remove(),delete t._commandObserver),n.autoMargin(e,m(t))}if(s.enter().append("g").classed(u.containerClassName,!0).style("cursor",t?null:"ew-resize"),s.exit().each((function(){r.select(this).selectAll("g."+u.groupClassName).each(l)})).remove(),0!==o.length){var c=s.selectAll("g."+u.groupClassName).data(o,g);c.enter().append("g").classed(u.groupClassName,!0),c.exit().each(l).remove();for(var h=0;h0?e.touches[0].clientX:0}function g(e,t,r,n){var i=a.ensureSingle(e,"rect",d.bgClassName,(function(e){e.attr({x:0,y:0,"shape-rendering":"crispEdges"})})),c=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,u=-n._offsetShift,h=s.crispRound(t,n.borderwidth);i.attr({width:n._width+c,height:n._height+c,transform:o(u,u),"stroke-width":h}).call(l.stroke,n.bordercolor).call(l.fill,n.bgcolor)}function y(e,t,r,n){var i=t._fullLayout;a.ensureSingleById(i._topdefs,"clipPath",n._clipId,(function(e){e.append("rect").attr({x:0,y:0})})).select("rect").attr({width:n._width,height:n._height})}function v(e,t,n,o){var l,c=t.calcdata,f=e.selectAll("g."+d.rangePlotClassName).data(n._subplotsWith,a.identity);f.enter().append("g").attr("class",(function(e){return d.rangePlotClassName+" "+e})).call(s.setClipUrl,o._clipId,t),f.order(),f.exit().remove(),f.each((function(e,a){var s=r.select(this),f=0===a,p=h.getFromId(t,e,"y"),d=p._name,m=o[d],g={data:[],layout:{xaxis:{type:n.type,domain:[0,1],range:o.range.slice(),calendar:n.calendar},width:o._width,height:o._height,margin:{t:0,b:0,l:0,r:0}},_context:t._context};n.rangebreaks&&(g.layout.xaxis.rangebreaks=n.rangebreaks),g.layout[d]={type:p.type,domain:[0,1],range:"match"!==m.rangemode?m.range.slice():p.range.slice(),calendar:p.calendar},p.rangebreaks&&(g.layout[d].rangebreaks=p.rangebreaks),i.supplyDefaults(g);var y=g._fullLayout.xaxis,v=g._fullLayout[d];y.clearCalc(),y.setScale(),v.clearCalc(),v.setScale();var x={id:e,plotgroup:s,xaxis:y,yaxis:v,isRangePlot:!0};f?l=x:(x.mainplot="xy",x.mainplotinfo=l),u.rangePlot(t,x,function(e,t){for(var r=[],n=0;n=n.max)t=B[r+1];else if(e=n.pmax)t=B[r+1];else if(ei._length||v+b<0)return;u=y+b,f=v+b;break;case l:if(_="col-resize",y+b>i._length)return;u=y+b,f=v;break;case c:if(_="col-resize",v+b<0)return;u=y,f=v+b;break;default:_="ew-resize",u=g,f=g+b}if(f0)){var m=function(e,t,r){for(var n=r.filter((function(r){return t[r].anchor===e._id})),i=0,a=0;a1){f||p||d||"independent"===k("pattern")&&(f=!0),g._hasSubplotGrid=f;var x,_,b="top to bottom"===k("roworder"),w=f?.2:.1,T=f?.3:.1;m&&t._splomGridDflt&&(x=t._splomGridDflt.xside,_=t._splomGridDflt.yside),g._domains={x:c("x",k,w,x,v),y:c("y",k,T,_,y,b)}}else delete t.grid}function k(e,t){return r.coerce(n,g,s,e,t)}},contentDefaults:function(e,t){var r=t.grid;if(r&&r._domains){var n,i,a,o,s,c,h,f=e.grid||{},p=t._subplots,d=r._hasSubplotGrid,m=r.rows,g=r.columns,y="independent"===r.pattern,v=r._axisMap={};if(d){var x=f.subplots||[];c=r.subplots=new Array(m);var _=1;for(n=0;n0,h=e._context.staticPlot;t.each((function(t){var f,p=t[0].trace,d=p.error_x||{},m=p.error_y||{};p.ids&&(f=function(e){return e.id});var g=a.hasMarkers(p)&&p.marker.maxdisplayed>0;!m.visible&&!d.visible&&(t=[]);var y=r.select(this).selectAll("g.errorbar").data(t,f);if(y.exit().remove(),t.length){d.visible||y.selectAll("path.xerror").remove(),m.visible||y.selectAll("path.yerror").remove(),y.style("opacity",1);var v=y.enter().append("g").classed("errorbar",!0);u&&v.style("opacity",0).transition().duration(s.duration).style("opacity",1),i.setClipUrl(y,o.layerClipId,e),y.each((function(e){var t=r.select(this),i=function(e,t,r){var i={x:t.c2p(e.x),y:r.c2p(e.y)};return void 0!==e.yh&&(i.yh=r.c2p(e.yh),i.ys=r.c2p(e.ys),n(i.ys)||(i.noYS=!0,i.ys=r.c2p(e.ys,!0))),void 0!==e.xh&&(i.xh=t.c2p(e.xh),i.xs=t.c2p(e.xs),n(i.xs)||(i.noXS=!0,i.xs=t.c2p(e.xs,!0))),i}(e,l,c);if(!g||e.vis){var a,o=t.select("path.yerror");if(m.visible&&n(i.x)&&n(i.yh)&&n(i.ys)){var f=m.width;a="M"+(i.x-f)+","+i.yh+"h"+2*f+"m-"+f+",0V"+i.ys,i.noYS||(a+="m-"+f+",0h"+2*f),o.size()?u&&(o=o.transition().duration(s.duration).ease(s.easing)):o=t.append("path").style("vector-effect",h?"none":"non-scaling-stroke").classed("yerror",!0),o.attr("d",a)}else o.remove();var p=t.select("path.xerror");if(d.visible&&n(i.y)&&n(i.xh)&&n(i.xs)){var y=(d.copy_ystyle?m:d).width;a="M"+i.xh+","+(i.y-y)+"v"+2*y+"m0,-"+y+"H"+i.xs,i.noXS||(a+="m0,-"+y+"v"+2*y),p.size()?u&&(p=p.transition().duration(s.duration).ease(s.easing)):p=t.append("path").style("vector-effect",h?"none":"non-scaling-stroke").classed("xerror",!0),p.attr("d",a)}else p.remove()}}))}}))}}}),za=m({"src/components/errorbars/style.js"(e,t){var r=b(),n=W();t.exports=function(e){e.each((function(e){var t=e[0].trace,i=t.error_y||{},a=t.error_x||{},o=r.select(this);o.selectAll("path.yerror").style("stroke-width",i.thickness+"px").call(n.stroke,i.color),a.copy_ystyle&&(a=i),o.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(n.stroke,a.color)}))}}}),Da=m({"src/components/errorbars/index.js"(e,t){var r=ct(),n=De().overrideAll,i=Ea(),a={error_x:r.extendFlat({},i),error_y:r.extendFlat({},i)};delete a.error_x.copy_zstyle,delete a.error_y.copy_zstyle,delete a.error_y.copy_ystyle;var o={error_x:r.extendFlat({},i),error_y:r.extendFlat({},i),error_z:r.extendFlat({},i)};delete o.error_x.copy_ystyle,delete o.error_y.copy_ystyle,delete o.error_z.copy_ystyle,delete o.error_z.copy_zstyle,t.exports={moduleType:"component",name:"errorbars",schema:{traces:{scatter:a,bar:a,histogram:a,scatter3d:n(o,"calc","nested"),scattergl:n(a,"calc","nested")}},supplyDefaults:Ca(),calc:La(),makeComputeError:Ia(),plot:Pa(),style:za(),hoverInfo:function(e,t,r){(t.error_y||{}).visible&&(r.yerr=e.yh-e.y,t.error_y.symmetric||(r.yerrneg=e.y-e.ys)),(t.error_x||{}).visible&&(r.xerr=e.xh-e.x,t.error_x.symmetric||(r.xerrneg=e.x-e.xs))}}}}),Oa=m({"src/components/colorbar/constants.js"(e,t){t.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"}}}}),Ra=m({"src/components/colorbar/draw.js"(e,t){var r=b(),n=F(),i=At(),a=He(),o=ar(),s=pr(),l=ct(),c=l.strTranslate,u=B().extendFlat,h=dr(),f=er(),p=W(),d=tr(),m=Et(),g=Ct().flipScale,y=Ai(),v=Mi(),x=Lt(),_=St(),w=_.LINE_SPACING,T=_.FROM_TL,k=_.FROM_BR,A=Oa().cn;t.exports={draw:function(e){var t=e._fullLayout._infolayer.selectAll("g."+A.colorbar).data(function(e){var t,r,n,i,a=e._fullLayout,o=e.calcdata,s=[];function l(e){return u(e,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function c(){"function"==typeof i.calc?i.calc(e,n,t):(t._fillgradient=r.reversescale?g(r.colorscale):r.colorscale,t._zrange=[r[i.min],r[i.max]])}for(var h=0;h0?n>=l:n<=l));i++)n>u&&n0?n>=l:n<=l));i++)n>r[0]&&n1){var pe=Math.pow(10,Math.floor(Math.log(fe)/Math.LN10));ue*=pe*l.roundUp(fe/pe,[2,5,10]),(Math.abs(W.start)/W.size+1e-6)%1<2e-6&&(le.tick0=0)}le.dtick=ue}le.domain=s?[oe+P/B.h,oe+Q-P/B.h]:[oe+L/B.w,oe+Q-L/B.w],le.setScale(),e.attr("transform",c(Math.round(B.l),Math.round(B.t)));var de,me=e.select("."+A.cbtitleunshift).attr("transform",c(-Math.round(B.l),-Math.round(B.t))),ge=le.ticklabelposition,ye=le.title.font.size,ve=e.select("."+A.cbaxis),xe=0,_e=0;function be(r,n){var i={propContainer:le,propName:t._propPrefix+"title.text",traceIndex:t._traceIndex,_meta:t._meta,placeholder:F._dfltTitle.colorbar,containerGroup:e.select("."+A.cbtitle)},o="h"===r.charAt(0)?r.slice(1):"h"+r;e.selectAll("."+o+",."+o+"-math-group").remove(),d.draw(a,r,u(i,n||{}))}return l.syncOrAsync([i.previousPromises,function(){var e,t;(s&&ce||!s&&!ce)&&("top"===V&&(e=L+B.l+ee*z,t=P+B.t+te*(1-oe-Q)+3+.75*ye),"bottom"===V&&(e=L+B.l+ee*z,t=P+B.t+te*(1-oe)-3-.25*ye),"right"===V&&(t=P+B.t+te*D+3+.75*ye,e=L+B.l+ee*oe),be(le._id+"title",{attributes:{x:e,y:t,"text-anchor":s?"start":"middle"}}))},function(){if(!s&&!ce||s&&ce){var i,u=e.select("."+A.cbtitle),h=u.select("text"),p=[-M/2,M/2],d=u.select(".h"+le._id+"title-math-group").node(),g=15.6;if(h.node()&&(g=parseInt(h.node().style.fontSize,10)*w),d?(i=f.bBox(d),_e=i.width,(xe=i.height)>g&&(p[1]-=(xe-g)/2)):h.node()&&!h.classed(A.jsPlaceholder)&&(i=f.bBox(h.node()),_e=i.width,xe=i.height),s){if(xe){if(xe+=5,"top"===V)le.domain[1]-=xe/B.h,p[1]*=-1;else{le.domain[0]+=xe/B.h;var y=m.lineCount(h);p[1]+=(1-y)*g}u.attr("transform",c(p[0],p[1])),le.setScale()}}else _e&&("right"===V&&(le.domain[0]+=(_e+ye/2)/B.w),u.attr("transform",c(p[0],p[1])),le.setScale())}e.selectAll("."+A.cbfills+",."+A.cblines).attr("transform",s?c(0,Math.round(B.h*(1-le.domain[1]))):c(Math.round(B.w*le.domain[0]),0)),ve.attr("transform",s?c(0,Math.round(-B.t)):c(Math.round(-B.l),0));var v=e.select("."+A.cbfills).selectAll("rect."+A.cbfill).attr("style","").data(Y);v.enter().append("rect").classed(A.cbfill,!0).attr("style",""),v.exit().remove();var x=q.map(le.c2p).map(Math.round).sort((function(e,t){return e-t}));v.each((function(e,i){var o=[0===i?q[0]:(Y[i]+Y[i-1])/2,i===Y.length-1?q[1]:(Y[i]+Y[i+1])/2].map(le.c2p).map(Math.round);s&&(o[1]=l.constrain(o[1]+(o[1]>o[0])?1:-1,x[0],x[1]));var c=r.select(this).attr(s?"x":"y",re).attr(s?"y":"x",r.min(o)).attr(s?"width":"height",Math.max($,2)).attr(s?"height":"width",Math.max(r.max(o)-r.min(o),2));if(t._fillgradient)f.gradient(c,a,t._id,s?"vertical":"horizontalreversed",t._fillgradient,"fill");else{var u=G(e).replace("e-","");c.attr("fill",n(u).toHexString())}}));var _=e.select("."+A.cblines).selectAll("path."+A.cbline).data(N.color&&N.width?X:[]);_.enter().append("path").classed(A.cbline,!0),_.exit().remove(),_.each((function(e){var t=re,n=Math.round(le.c2p(e))+N.width/2%1;r.select(this).attr("d","M"+(s?t+","+n:n+","+t)+(s?"h":"v")+$).call(f.lineGroupStyle,N.width,H(e),N.dash)})),ve.selectAll("g."+le._id+"tick,path").remove();var b=re+$+(M||0)/2-("outside"===t.ticks?1:0),T=o.calcTicks(le),k=o.getTickSigns(le)[2];return o.drawTicks(a,le,{vals:"inside"===le.ticks?o.clipEnds(le,T):T,layer:ve,path:o.makeTickPath(le,b,k),transFn:o.makeTransTickFn(le)}),o.drawLabels(a,le,{vals:T,layer:ve,transFn:o.makeTransTickLabelFn(le),labelFns:o.makeLabelFns(le,b)})},function(){if(s&&!ce||!s&&ce){var e,n,i=le.position||0,o=le._offset+le._length/2;if("right"===V)n=o,e=B.l+ee*i+10+ye*(le.showticklabels?1:.5);else if(e=o,"bottom"===V&&(n=B.t+te*i+10+(-1===ge.indexOf("inside")?le.tickfont.size:0)+("inside"!==le.ticks&&t.ticklen||0)),"top"===V){var l=U.text.split("
").length;n=B.t+te*i+10-$-w*ye*l}be((s?"h":"v")+le._id+"title",{avoid:{selection:r.select(a).selectAll("g."+le._id+"tick"),side:V,offsetTop:s?0:B.t,offsetLeft:s?B.l:0,maxShift:s?F.width:F.height},attributes:{x:e,y:n,"text-anchor":"middle"},transform:{rotate:s?-90:0,offset:0}})}},i.previousPromises,function(){var r,o=$+M/2;-1===ge.indexOf("inside")&&(r=f.bBox(ve.node()),o+=s?r.width:r.height),de=me.select("text");var l=0,u=s&&"top"===V,d=!s&&"right"===V,m=0;if(de.node()&&!de.classed(A.jsPlaceholder)){var y,v=me.select(".h"+le._id+"title-math-group").node();v&&(s&&ce||!s&&!ce)?(l=(r=f.bBox(v)).width,y=r.height):(l=(r=f.bBox(me.node())).right-B.l-(s?re:se),y=r.bottom-B.t-(s?se:re),!s&&"top"===V&&(o+=r.height,m=r.height)),d&&(de.attr("transform",c(l/2+ye/2,0)),l*=2),o=Math.max(o,s?l:y)}var x=2*(s?L:P)+o+S+M/2,w=0;!s&&U.text&&"bottom"===I&&D<=0&&(x+=w=x/2,m+=w),F._hColorbarMoveTitle=w,F._hColorbarMoveCBTitle=m;var j=S+M,N=(s?re:se)-j/2-(s?L:0),q=(s?se:re)-(s?J:P+m-w);e.select("."+A.cbbg).attr("x",N).attr("y",q).attr(s?"width":"height",Math.max(x-w,2)).attr(s?"height":"width",Math.max(J+j,2)).call(p.fill,E).call(p.stroke,t.bordercolor).style("stroke-width",S);var H=d?Math.max(l-10,0):0;e.selectAll("."+A.cboutline).attr("x",(s?re:se+L)+H).attr("y",(s?se+P-J:re)+(u?xe:0)).attr(s?"width":"height",Math.max($,2)).attr(s?"height":"width",Math.max(J-(s?2*P+xe:2*L+H),2)).call(p.stroke,t.outlinecolor).style({fill:"none","stroke-width":M});var G=s?ne*x:0,W=s?0:(1-ie)*x-m;if(G=R?B.l-G:-G,W=O?B.t-W:-W,e.attr("transform",c(G,W)),!s&&(S||n(E).getAlpha()&&!n.equals(F.paper_bgcolor,E))){var Z=ve.selectAll("text"),Y=Z[0].length,X=e.select("."+A.cbbg).node(),K=f.bBox(X),Q=f.getTranslate(e);Z.each((function(e,t){var r=Y-1;if(0===t||t===r){var n,i=f.bBox(this),a=f.getTranslate(this);if(t===r){var o=i.right+a.x;(n=K.right+Q.x+se-S-2+z-o)>0&&(n=0)}else if(0===t){var s=i.left+a.x;(n=K.left+Q.x+se+S+2-s)<0&&(n=0)}n&&(Y<3?this.setAttribute("transform","translate("+n+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}}))}var ee={},te=T[C],ae=k[C],oe=T[I],ue=k[I],he=x-$;s?("pixels"===g?(ee.y=D,ee.t=J*oe,ee.b=J*ue):(ee.t=ee.b=0,ee.yt=D+h*oe,ee.yb=D-h*ue),"pixels"===b?(ee.x=z,ee.l=x*te,ee.r=x*ae):(ee.l=he*te,ee.r=he*ae,ee.xl=z-_*te,ee.xr=z+_*ae)):("pixels"===g?(ee.x=z,ee.l=J*te,ee.r=J*ae):(ee.l=ee.r=0,ee.xl=z+h*te,ee.xr=z-h*ae),"pixels"===b?(ee.y=1-D,ee.t=x*oe,ee.b=x*ue):(ee.t=he*oe,ee.b=he*ue,ee.yt=D-_*oe,ee.yb=D+_*ue));var fe=t.y<.5?"b":"t",pe=t.x<.5?"l":"r";a._fullLayout._reservedMargin[t._id]={};var _e={r:F.width-N-G,l:N+ee.r,b:F.height-q-W,t:q+ee.b};R&&O?i.autoMargin(a,t._id,ee):R?a._fullLayout._reservedMargin[t._id][fe]=_e[fe]:O||s?a._fullLayout._reservedMargin[t._id][pe]=_e[pe]:a._fullLayout._reservedMargin[t._id][fe]=_e[fe]}],a)}(g,t,e);_&&_.then&&(e._promises||[]).push(_),e._context.edits.colorbarPosition&&function(e,t,r){var n,i,o,l="v"===t.orientation,u=r._fullLayout._size;s.init({element:e.node(),gd:r,prepFn:function(){n=e.attr("transform"),h(e)},moveFn:function(r,a){e.attr("transform",n+c(r,a)),i=s.align((l?t._uFrac:t._vFrac)+r/u.w,l?t._thickFrac:t._lenFrac,0,1,t.xanchor),o=s.align((l?t._vFrac:1-t._uFrac)-a/u.h,l?t._lenFrac:t._thickFrac,0,1,t.yanchor);var f=s.getCursor(i,o,t.xanchor,t.yanchor);h(e,f)},doneFn:function(){if(h(e),void 0!==i&&void 0!==o){var n={};n[t._propPrefix+"x"]=i,n[t._propPrefix+"y"]=o,void 0!==t._traceIndex?a.call("_guiRestyle",r,n,t._traceIndex):a.call("_guiRelayout",r,n)}}})}(g,t,e)})),t.exit().each((function(t){i.autoMargin(e,t._id)})).remove(),t.order()}}}}),Fa=m({"src/components/colorbar/index.js"(e,t){t.exports={moduleType:"component",name:"colorbar",attributes:Pt(),supplyDefaults:qt(),draw:Ra().draw,hasColorbar:Ot()}}}),Ba=m({"src/components/legend/index.js"(e,t){t.exports={moduleType:"component",name:"legend",layoutAttributes:gr(),supplyLayoutDefaults:vr(),draw:Mr(),style:Ar()}}}),ja=m({"src/locale-en.js"(e,t){t.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}}}),Na=m({"src/locale-en-us.js"(e,t){t.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}}}),Ua=m({"src/snapshot/cloneplot.js"(e,t){var r=He(),n=ct(),i=n.extendFlat,a=n.extendDeep;function o(e){var t;switch(e){case"themes__thumb":t={autosize:!0,width:150,height:150,title:{text:""},showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case"thumbnail":t={title:{text:""},hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:"",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:t={}}return t}t.exports=function(e,t){var n,s,l=e.data,c=e.layout,u=a([],l),h=a({},c,o(t.tileClass)),f=e._context||{};if(t.width&&(h.width=t.width),t.height&&(h.height=t.height),"thumbnail"===t.tileClass||"themes__thumb"===t.tileClass){h.annotations=[];var p=Object.keys(h);for(n=0;n-1&&(h[p[n]].title={text:""});for(n=0;n=0)return e}else if("string"==typeof e&&"%"===(e=e.trim()).slice(-1)&&r(e.slice(0,-1))&&(e=+e.slice(0,-1))>=0)return e+"%"}function p(e,t,r,i,a,o){var s=!1!==(o=o||{}).moduleHasSelected,l=!1!==o.moduleHasUnselected,c=!1!==o.moduleHasConstrain,u=!1!==o.moduleHasCliponaxis,f=!1!==o.moduleHasTextangle,p=!1!==o.moduleHasInsideanchor,d=!!o.hasPathbar,m=Array.isArray(a)||"auto"===a,g=m||"inside"===a,y=m||"outside"===a;if(g||y){var v=h(i,"textfont",r.font),x=n.extendFlat({},v),_=!(e.textfont&&e.textfont.color);if(_&&delete x.color,h(i,"insidetextfont",x),d){var b=n.extendFlat({},v);_&&delete b.color,h(i,"pathbar.textfont",b)}y&&h(i,"outsidetextfont",v),s&&i("selected.textfont.color"),l&&i("unselected.textfont.color"),c&&i("constraintext"),u&&i("cliponaxis"),f&&i("textangle"),i("texttemplate"),i("texttemplatefallback")}g&&p&&i("insidetextanchor")}t.exports={supplyDefaults:function(e,t,r,c){function h(r,i){return n.coerce(e,t,u,r,i)}if(o(e,t,c,h)){s(e,t,c,h),h("xhoverformat"),h("yhoverformat"),h("zorder"),h("orientation",t.x&&!t.y?"h":"v"),h("base"),h("offset"),h("width"),h("text"),h("hovertext"),h("hovertemplate"),h("hovertemplatefallback");var f=h("textposition");p(e,0,c,h,f,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),l(e,t,h,r,c);var d=(t.marker.line||{}).color,m=a.getComponentMethod("errorbars","supplyDefaults");m(e,t,d||i.defaultLine,{axis:"y"}),m(e,t,d||i.defaultLine,{axis:"x",inherit:"y"}),n.coerceSelectionMarkerOpacity(t,h)}else t.visible=!1},crossTraceDefaults:function(e,t){var r,i;function a(e,t){return n.coerce(i._input,i,u,e,t)}for(var o=0;o0&&!f[y]&&(h=!0),f[y]=!0),g.visible&&"histogram"===g.type&&"category"!==n.getFromId({_fullLayout:t},g["v"===g.orientation?"xaxis":"yaxis"]).type&&(u=!0)}}if(c){"overlay"!==p&&l("barnorm"),l("bargap",u&&!h?0:.2),l("bargroupgap");var v=l("barcornerradius");t.barcornerradius=o(v)}else delete t.barmode}}}),Ka=m({"src/traces/bar/arrays_to_calcdata.js"(e,t){var r=ct();t.exports=function(e,t){for(var n=0;na))return r}return void 0!==n?n:e.dflt},e.coerceColor=function(e,t,n){return r(t).isValid()?t:void 0!==n?n:e.dflt},e.coerceEnumerated=function(e,t,r){return e.coerceNumber&&(t=+t),-1!==e.values.indexOf(t)?t:void 0!==r?r:e.dflt},e.getValue=function(e,t){var r;return n(e)?t1||0===i.bargap&&0===i.bargroupgap&&!e[0].trace.marker.line.width)&&r.select(this).attr("shape-rendering","crispEdges")})),t.selectAll("g.points").each((function(t){p(r.select(this),t[0].trace,e)})),o.getComponentMethod("errorbars","style")(t)},styleTextPoints:d,styleOnSelect:function(e,t,n){var s=t[0].trace;s.selectedpoints?function(e,t,n){i.selectedPointStyle(e.selectAll("path"),t),function(e,t,n){e.each((function(e){var o,s=r.select(this);if(e.selected){o=a.ensureUniformFontSize(n,m(s,e,t,n));var l=t.selected.textfont&&t.selected.textfont.color;l&&(o.color=l),i.font(s,o)}else i.selectedTextStyle(s,t)}))}(e.selectAll("text"),t,n)}(n,s,e):(p(n,s,e),o.getComponentMethod("errorbars","style")(n))},getInsideTextFont:y,getOutsideTextFont:v,getBarColor:_,resizeText:s}}}),ro=m({"src/traces/bar/plot.js"(e,t){var r=b(),n=M(),i=ct(),a=Et(),o=W(),s=er(),l=He(),c=ar().tickText,u=Qa(),h=u.recordMinTextSize,f=u.clearMinTextSize,p=to(),d=eo(),m=ci(),g=Wa(),y=g.text,v=g.textposition,x=Kt().appendArrayPointValue,_=m.TEXTPAD;function w(e){return e.id}function T(e){return(e>0)-(e<0)}function k(e,t){return e0}function E(e,t,r,n,i){return!(e<0||t<0)&&(r<=e&&n<=t||r<=t&&n<=e||(i?e>=r*(t/n):t>=n*(e/r)))}function C(e){return"auto"===e?0:e}function I(e,t){var r=Math.PI/180*t,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:e.width*i+e.height*n,y:e.width*n+e.height*i}}function L(e,t,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,c=a.anchor,u="end"===c,h="start"===c,f=((a.leftToRight||0)+1)/2,p=1-f,d=a.hasB,m=a.r,g=a.overhead,y=i.width,v=i.height,x=Math.abs(t-e),b=Math.abs(n-r),w=x>2*_&&b>2*_?_:0;x-=2*w,b-=2*w;var T=C(l);"auto"===l&&!(y<=x&&v<=b)&&(y>x||v>b)&&(!(y>b||v>x)||y_){var E=function(e,t,r,n,i,a,o,s,l){var c,u,h,f,p=Math.max(0,Math.abs(t-e)-2*_),d=Math.max(0,Math.abs(n-r)-2*_),m=a-_,g=o?m-Math.sqrt(m*m-(m-o)*(m-o)):m,y=l?2*m:s?m-o:2*g,v=l?2*m:s?2*g:m-o;return i.y/i.x>=d/(p-y)?f=d/i.y:i.y/i.x<=(d-v)/p?f=p/i.x:!l&&s?(c=i.x*i.x+i.y*i.y/4,h=(p-m)*(p-m)+(d/2-m)*(d/2-m)-m*m,f=(-(u=-2*i.x*(p-m)-i.y*(d/2-m))+Math.sqrt(u*u-4*c*h))/(2*c)):l?(c=(i.x*i.x+i.y*i.y)/4,h=(p/2-m)*(p/2-m)+(d/2-m)*(d/2-m)-m*m,f=(-(u=-i.x*(p/2-m)-i.y*(d/2-m))+Math.sqrt(u*u-4*c*h))/(2*c)):(c=i.x*i.x/4+i.y*i.y,h=(p/2-m)*(p/2-m)+(d-m)*(d-m)-m*m,f=(-(u=-i.x*(p/2-m)-2*i.y*(d-m))+Math.sqrt(u*u-4*c*h))/(2*c)),{scale:f=Math.min(1,f),pad:s?Math.max(0,m-Math.sqrt(Math.max(0,m*m-(m-(d-i.y*f)/2)*(m-(d-i.y*f)/2)))-o):Math.max(0,m-Math.sqrt(Math.max(0,m*m-(m-(p-i.x*f)/2)*(m-(p-i.x*f)/2)))-o)}}(e,t,r,n,S,m,g,o,d);A=E.scale,M=E.pad}else A=1,s&&(A=Math.min(1,x/S.x,b/S.y)),M=0;var L=i.left*p+i.right*f,P=(i.top+i.bottom)/2,z=(e+_)*p+(t-_)*f,D=(r+n)/2,O=0,R=0;if(h||u){var F=(o?S.x:S.y)/2;m&&(u||d)&&(w+=M);var B=o?k(e,t):k(r,n);o?h?(z=e+B*w,O=-B*F):(z=t-B*w,O=B*F):h?(D=r+B*w,R=-B*F):(D=n-B*w,R=B*F)}return{textX:L,textY:P,targetX:z,targetY:D,anchorX:O,anchorY:R,scale:A,rotate:T}}t.exports={plot:function(e,t,u,m,g,b){var M=t.xaxis,P=t.yaxis,z=e._fullLayout,D=e._context.staticPlot;g||(g={mode:z.barmode,norm:z.barmode,gap:z.bargap,groupgap:z.bargroupgap},f("bar",z));var O=i.makeTraceGroups(m,u,"trace bars").each((function(l){var u=r.select(this),f=l[0].trace,m=l[0].t,O="waterfall"===f.type,R="funnel"===f.type,F="histogram"===f.type,B="bar"===f.type,j=B||R,N=0;O&&f.connector.visible&&"between"===f.connector.mode&&(N=f.connector.line.width/2);var U="h"===f.orientation,V=S(g),q=i.ensureSingle(u,"g","points"),H=function(e){if(e.ids)return w}(f),G=q.selectAll("g.point").data(i.identity,H);G.enter().append("g").classed("point",!0),G.exit().remove(),G.each((function(u,w){var S,O,R=r.select(this),q=function(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),n?[i,a]:[a,i]}(u,M,P,U),H=q[0][0],G=q[0][1],W=q[1][0],Z=q[1][1],Y=0==(U?G-H:Z-W);if(Y&&j&&d.getLineWidth(f,u)&&(Y=!1),Y||(Y=!(n(H)&&n(G)&&n(W)&&n(Z))),u.isBlank=Y,Y&&(U?G=H:Z=W),N&&!Y&&(U?(H-=k(H,G)*N,G+=k(H,G)*N):(W-=k(W,Z)*N,Z+=k(W,Z)*N)),"waterfall"===f.type){if(!Y){var X=f[u.dir].marker;S=X.line.width,O=X.color}}else S=d.getLineWidth(f,u),O=u.mc||f.marker.color;function $(e){var t=r.round(S/2%1,2);return 0===g.gap&&0===g.groupgap?r.round(Math.round(e)-t,2):e}var K=o.opacity(O)<1||S>.01?$:function(e,t,r){return r&&e===t?e:Math.abs(e-t)>=2?$(e):e>t?Math.ceil(e):Math.floor(e)};e._context.staticPlot||(H=K(H,G,U),G=K(G,H,U),W=K(W,Z,!U),Z=K(Z,W,!U));var J,Q=U?M.c2p:P.c2p;J=u.s0>0?u._sMax:u.s0<0?u._sMin:u.s1>0?u._sMax:u._sMin;var ee,te,re=B||F?function(e,t){if(!e)return 0;var r,n=Math.abs(U?Z-W:G-H),i=Math.abs(U?G-H:Z-W),a=K(Math.abs(Q(J,!0)-Q(0,!0))),o=u.hasB?Math.min(n/2,i/2):Math.min(n/2,a);return r="%"===t?n*(Math.min(50,e)/100):e,K(Math.max(Math.min(r,o),0))}(m.cornerradiusvalue,m.cornerradiusform):0,ne="M"+H+","+W+"V"+Z+"H"+G+"V"+W+"Z",ie=0;if(re&&u.s){var ae=0===T(u.s0)||T(u.s)===T(u.s0)?u.s1:u.s0;if((ie=K(u.hasB?0:Math.abs(Q(J,!0)-Q(ae,!0))))0?Math.sqrt(ie*(2*re-ie)):0,he=oe>0?Math.max:Math.min;ee="M"+H+","+W+"V"+(Z-ce*se)+"H"+he(G-(re-ie)*oe,H)+"A "+re+","+re+" 0 0 "+le+" "+G+","+(Z-re*se-ue)+"V"+(W+re*se+ue)+"A "+re+","+re+" 0 0 "+le+" "+he(G-(re-ie)*oe,H)+","+(W+ce*se)+"Z"}else if(u.hasB)ee="M"+(H+re*oe)+","+W+"A "+re+","+re+" 0 0 "+le+" "+H+","+(W+re*se)+"V"+(Z-re*se)+"A "+re+","+re+" 0 0 "+le+" "+(H+re*oe)+","+Z+"H"+(G-re*oe)+"A "+re+","+re+" 0 0 "+le+" "+G+","+(Z-re*se)+"V"+(W+re*se)+"A "+re+","+re+" 0 0 "+le+" "+(G-re*oe)+","+W+"Z";else{var fe=(te=Math.abs(Z-W)+ie)0?Math.sqrt(ie*(2*re-ie)):0,de=se>0?Math.max:Math.min;ee="M"+(H+fe*oe)+","+W+"V"+de(Z-(re-ie)*se,W)+"A "+re+","+re+" 0 0 "+le+" "+(H+re*oe-pe)+","+Z+"H"+(G-re*oe+pe)+"A "+re+","+re+" 0 0 "+le+" "+(G-fe*oe)+","+de(Z-(re-ie)*se,W)+"V"+W+"Z"}}else ee=ne}else ee=ne;var me=A(i.ensureSingle(R,"path"),z,g,b);if(me.style("vector-effect",D?"none":"non-scaling-stroke").attr("d",isNaN((G-H)*(Z-W))||Y&&e._context.staticPlot?"M0,0Z":ee).call(s.setClipUrl,t.layerClipId,e),!z.uniformtext.mode&&V){var ge=s.makePointStyleFns(f);s.singlePointStyle(u,me,f,ge,e)}(function(e,t,r,n,o,l,u,f,m,g,b,w,T){var M,S=t.xaxis,P=t.yaxis,z=e._fullLayout;function D(t,r,n){return i.ensureSingle(t,"text").text(r).attr({class:"bartext bartext-"+M,"text-anchor":"middle","data-notex":1}).call(s.font,n).call(a.convertToTspans,e)}var O=n[0].trace,R="h"===O.orientation,F=function(e,t,r,n,a){var o,s=t[0].trace;return o=s.texttemplate?function(e,t,r,n,a){var o=t[0].trace,s=i.castOption(o,r,"texttemplate");if(!s)return"";var l,u,h,f,p="histogram"===o.type,d="waterfall"===o.type,m="funnel"===o.type,g="h"===o.orientation;function y(e){return c(f,f.c2l(e),!0).text}g?(l="y",u=a,h="x",f=n):(l="x",u=n,h="y",f=a);var v=t[r],_={};_.label=v.p,_.labelLabel=_[l+"Label"]=function(e){return c(u,u.c2l(e),!0).text}(v.p);var b=i.castOption(o,v.i,"text");(0===b||b)&&(_.text=b),_.value=v.s,_.valueLabel=_[h+"Label"]=y(v.s);var w={};x(w,o,v.i),(p||void 0===w.x)&&(w.x=g?_.value:_.label),(p||void 0===w.y)&&(w.y=g?_.label:_.value),(p||void 0===w.xLabel)&&(w.xLabel=g?_.valueLabel:_.labelLabel),(p||void 0===w.yLabel)&&(w.yLabel=g?_.labelLabel:_.valueLabel),d&&(_.delta=+v.rawS||v.s,_.deltaLabel=y(_.delta),_.final=v.v,_.finalLabel=y(_.final),_.initial=_.final-_.delta,_.initialLabel=y(_.initial)),m&&(_.value=v.s,_.valueLabel=y(_.value),_.percentInitial=v.begR,_.percentInitialLabel=i.formatPercent(v.begR),_.percentPrevious=v.difR,_.percentPreviousLabel=i.formatPercent(v.difR),_.percentTotal=v.sumR,_.percenTotalLabel=i.formatPercent(v.sumR));var T=i.castOption(o,v.i,"customdata");return T&&(_.customdata=T),i.texttemplateString({data:[w,_,o._meta],fallback:o.texttemplatefallback,labels:_,locale:e._d3locale,template:s})}(e,t,r,n,a):s.textinfo?function(e,t,r,n){var a=e[0].trace,o="h"===a.orientation,s="waterfall"===a.type,l="funnel"===a.type;function u(e){return c(o?r:n,+e,!0).text}var h,f=a.textinfo,p=e[t],d=f.split("+"),m=[],g=function(e){return-1!==d.indexOf(e)};if(g("label")&&m.push(function(e){return c(o?n:r,e,!0).text}(e[t].p)),g("text")&&(0===(h=i.castOption(a,p.i,"text"))||h)&&m.push(h),s){var y=+p.rawS||p.s,v=p.v,x=v-y;g("initial")&&m.push(u(x)),g("delta")&&m.push(u(y)),g("final")&&m.push(u(v))}if(l){g("value")&&m.push(u(p.s));var _=0;g("percent initial")&&_++,g("percent previous")&&_++,g("percent total")&&_++;var b=_>1;g("percent initial")&&(h=i.formatPercent(p.begR),b&&(h+=" of initial"),m.push(h)),g("percent previous")&&(h=i.formatPercent(p.difR),b&&(h+=" of previous"),m.push(h)),g("percent total")&&(h=i.formatPercent(p.sumR),b&&(h+=" of total"),m.push(h))}return m.join("
")}(t,r,n,a):d.getValue(s.text,r),d.coerceString(y,o)}(z,n,o,S,P);M=function(e,t){var r=d.getValue(e.textposition,t);return d.coerceEnumerated(v,r)}(O,o);var B="stack"===w.mode||"relative"===w.mode,j=n[o],N=!B||j._outmost,U=j.hasB,V=g&&g-b>_;if(F&&"none"!==M&&(!j.isBlank&&l!==u&&f!==m||"auto"!==M&&"inside"!==M)){var q=z.font,H=p.getBarColor(n[o],O),G=p.getInsideTextFont(O,o,q,H),W=p.getOutsideTextFont(O,o,q),Z=O.insidetextanchor||"end",Y=r.datum();R?"log"===S.type&&Y.s0<=0&&(l=S.range[0]0&&J>0;ie=V?U?E(re-2*g,ne,K,J,R)||E(re,ne-2*g,K,J,R):R?E(re-(g-b),ne,K,J,R)||E(re,ne-2*(g-b),K,J,R):E(re,ne-(g-b),K,J,R)||E(re-2*(g-b),ne,K,J,R):E(re,ne,K,J,R),ae&&ie?M="inside":(M="outside",X.remove(),X=null)}else M="inside";if(!X){var oe=(X=D(r,F,Q=i.ensureUniformFontSize(e,"outside"===M?W:G))).attr("transform");if(X.attr("transform",""),K=($=s.bBox(X.node())).width,J=$.height,X.attr("transform",oe),K<=0||J<=0)return void X.remove()}var se,le=O.textangle;"outside"===M?se=function(e,t,r,n,i,a){var o,s=!!a.isHorizontal,l=!!a.constrained,c=a.angle||0,u=i.width,h=i.height,f=Math.abs(t-e),p=Math.abs(n-r);o=s?p>2*_?_:0:f>2*_?_:0;var d=1;l&&(d=s?Math.min(1,p/h):Math.min(1,f/u));var m=C(c),g=I(i,m),y=(s?g.x:g.y)/2,v=(i.left+i.right)/2,x=(i.top+i.bottom)/2,b=(e+t)/2,w=(r+n)/2,T=0,A=0,M=s?k(t,e):k(r,n);return s?(b=t-M*o,T=M*y):(w=n+M*o,A=-M*y),{textX:v,textY:x,targetX:b,targetY:w,anchorX:T,anchorY:A,scale:d,rotate:m}}(l,u,f,m,$,{isHorizontal:R,constrained:"both"===O.constraintext||"outside"===O.constraintext,angle:le}):se=L(l,u,f,m,$,{isHorizontal:R,constrained:"both"===O.constraintext||"inside"===O.constraintext,angle:le,anchor:Z,hasB:U,r:g,overhead:b}),se.fontSize=Q.size,h("histogram"===O.type?"bar":O.type,se,z),j.transform=se;var ce=A(X,z,w,T);i.setTransormAndDisplay(ce,se)}else r.select("text").remove()})(e,t,R,l,w,H,G,W,Z,re,ie,g,b),t.layerClipId&&s.hideOutsideRangePoint(u,R.select("text"),M,P,f.xcalendar,f.ycalendar)}));var W=!1===f.cliponaxis;s.setClipUrl(u,W?null:t.layerClipId,e)}));l.getComponentMethod("errorbars","plot")(e,O,t,g)},toMoveInsideBar:L}}}),no=m({"src/traces/bar/hover.js"(e,t){var r=Or(),n=He(),i=W(),a=ct().fillText,o=eo().getLineWidth,s=ar().hoverLabelText,l=S().BADNUM;function c(e,t,n,i,o){var c,u,h,f,p,d,m,g=e.cd,y=g[0].trace,v=g[0].t,x="closest"===i,_="waterfall"===y.type,b=e.maxHoverDistance,w=e.maxSpikeDistance;"h"===y.orientation?(c=n,u=t,h="y",f="x",p=D,d=P):(c=t,u=n,h="x",f="y",d=D,p=P);var T=y[h+"period"],k=x||T;function A(e){return S(e,-1)}function M(e){return S(e,1)}function S(e,t){var r=e.w;return e[h]+t*r/2}function E(e){return e[h+"End"]-e[h+"Start"]}var C=x?A:T?function(e){return e.p-E(e)/2}:function(e){return Math.min(A(e),e.p-v.bardelta/2)},I=x?M:T?function(e){return e.p+E(e)/2}:function(e){return Math.max(M(e),e.p+v.bardelta/2)};function L(e,t,n){return o.finiteRange&&(n=0),r.inbox(e-c,t-c,n+Math.min(1,Math.abs(t-e)/m)-1)}function P(e){return L(C(e),I(e),b)}function z(e){var t=e[f];if(_){var r=Math.abs(e.rawS)||0;u>0?t+=r:u<0&&(t-=r)}return t}function D(e){var t=u,n=e.b,i=z(e);return r.inbox(n-t,i-t,b+(i-t)/(i-n)-1)}var O=e[h+"a"],R=e[f+"a"];m=Math.abs(O.r2c(O.range[1])-O.r2c(O.range[0]));var F,B,j,N,U=r.getDistanceFunction(i,p,d,(function(e){return(p(e)+d(e))/2}));if(r.getClosest(g,U,e),!1!==e.index&&g[e.index].p!==l){k||(C=function(e){return Math.min(A(e),e.p-v.bargroupwidth/2)},I=function(e){return Math.max(M(e),e.p+v.bargroupwidth/2)});var V=g[e.index],q=y.base?V.b+V.s:V.s;e[f+"0"]=e[f+"1"]=R.c2p(V[f],!0),e[f+"LabelVal"]=q;var H=v.extents[v.extents.round(V.p)];e[h+"0"]=O.c2p(x?C(V):H[0],!0),e[h+"1"]=O.c2p(x?I(V):H[1],!0);var G=void 0!==V.orig_p;return e[h+"LabelVal"]=G?V.orig_p:V.p,e.labelLabel=s(O,e[h+"LabelVal"],y[h+"hoverformat"]),e.valueLabel=s(R,e[f+"LabelVal"],y[f+"hoverformat"]),e.baseLabel=s(R,V.b,y[f+"hoverformat"]),e.spikeDistance=(B=u,j=(F=V).b,N=z(F),(r.inbox(j-B,N-B,w+(N-B)/(N-j)-1)+function(e){return L(A(e),M(e),w)}(V))/2),e[h+"Spike"]=O.c2p(V.p,!0),a(V,y,e),e.hovertemplate=y.hovertemplate,e}}function u(e,t){var r=t.mcc||e.marker.color,n=t.mlcc||e.marker.line.color,a=o(e,t);return i.opacity(r)?r:i.opacity(n)&&a?n:void 0}t.exports={hoverPoints:function(e,t,r,i,a){var o=c(e,t,r,i,a);if(o){var s=o.cd,l=s[0].trace,h=s[o.index];return o.color=u(l,h),n.getComponentMethod("errorbars","hoverInfo")(h,l,o),[o]}},hoverOnBars:c,getTraceColor:u}}}),io=m({"src/traces/bar/event_data.js"(e,t){t.exports=function(e,t,r){return e.x="xVal"in t?t.xVal:t.x,e.y="yVal"in t?t.yVal:t.y,t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),"h"===r.orientation?(e.label=e.y,e.value=e.x):(e.label=e.x,e.value=e.y),e}}}),ao=m({"src/traces/bar/select.js"(e,t){function r(e,t,r,n,i){var a=t.c2p(n?e.s0:e.p0,!0),o=t.c2p(n?e.s1:e.p1,!0),s=r.c2p(n?e.p0:e.s0,!0),l=r.c2p(n?e.p1:e.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}t.exports=function(e,t){var n,i=e.cd,a=e.xaxis,o=e.yaxis,s=i[0].trace,l="funnel"===s.type,c="h"===s.orientation,u=[];if(!1===t)for(n=0;n0?(g="v",y=x>0?Math.min(b,_):Math.min(_)):x>0?(g="h",y=Math.min(b)):y=0;if(y){t._length=y;var S=i("orientation",g);t._hasPreCompStats?"v"===S&&0===x?(i("x0",0),i("dx",1)):"h"===S&&0===v&&(i("y0",0),i("dy",1)):"v"===S&&0===x?i("x0"):"h"===S&&0===v&&i("y0"),n.getComponentMethod("calendars","handleTraceDefaults")(e,t,["x","y"],a)}else t.visible=!1}function u(e,t,n,i){var a=i.prefix,o=r.coerce2(e,t,l,"marker.outliercolor"),s=n("marker.line.outliercolor"),c="outliers";t._hasPreCompStats?c="all":(o||s)&&(c="suspectedoutliers");var u=n(a+"points",c);u?(n("jitter","all"===u?.3:0),n("pointpos","all"===u?-1.5:0),n("marker.symbol"),n("marker.opacity"),n("marker.size"),n("marker.angle"),n("marker.color",t.line.color),n("marker.line.color"),n("marker.line.width"),"suspectedoutliers"===u&&(n("marker.line.outliercolor",t.marker.color),n("marker.line.outlierwidth")),n("selected.marker.color"),n("unselected.marker.color"),n("selected.marker.size"),n("unselected.marker.size"),n("text"),n("hovertext")):delete t.marker;var h=n("hoveron");("all"===h||-1!==h.indexOf("points"))&&(n("hovertemplate"),n("hovertemplatefallback")),r.coerceSelectionMarkerOpacity(t,n)}t.exports={supplyDefaults:function(e,t,n,o){function s(n,i){return r.coerce(e,t,l,n,i)}if(c(e,t,s,o),!1!==t.visible){a(e,t,o,s),s("xhoverformat"),s("yhoverformat");var h=t._hasPreCompStats;h&&(s("lowerfence"),s("upperfence")),s("line.color",(e.marker||{}).color||n),s("line.width"),s("fillcolor",i.addOpacity(t.line.color,.5));var f=!1;if(h){var p=s("mean"),d=s("sd");p&&p.length&&(f=!0,d&&d.length&&(f="sd"))}s("whiskerwidth");var m,g=s("sizemode");"quartiles"===g&&(m=s("boxmean",f)),s("showwhiskers","quartiles"===g),("sd"===g||"sd"===m)&&s("sdmultiple"),s("width"),s("quartilemethod");var y=!1;if(h){var v=s("notchspan");v&&v.length&&(y=!0)}else r.validate(e.notchwidth,l.notchwidth)&&(y=!0);s("notched",y)&&s("notchwidth"),u(e,t,s,{prefix:"box"}),s("zorder")}},crossTraceDefaults:function(e,t){var n,i;function a(e){return r.coerce(i._input,i,l,e)}for(var s=0;sE.uf};if(t._hasPreCompStats){var U=t[x],V=function(e){return v.d2c((t[e]||[])[l])},q=1/0,H=-1/0;for(l=0;l=E.q1&&E.q3>=E.med){var W=V("lowerfence");E.lf=W!==o&&W<=E.q1?W:f(E,I,L);var Z=V("upperfence");E.uf=Z!==o&&Z>=E.q3?Z:p(E,I,L);var Y=V("mean");E.mean=Y!==o?Y:L?a.mean(I,L):(E.q1+E.q3)/2;var X=V("sd");E.sd=Y!==o&&X>=0?X:L?a.stdev(I,L,E.mean):E.q3-E.q1,E.lo=d(E),E.uo=m(E);var $=V("notchspan");$=$!==o&&$>0?$:g(E,L),E.ln=E.med-$,E.un=E.med+$;var K=E.lf,J=E.uf;t.boxpoints&&I.length&&(K=Math.min(K,I[0]),J=Math.max(J,I[L-1])),t.notched&&(K=Math.min(K,E.ln),J=Math.max(J,E.un)),E.min=K,E.max=J}else{var Q;a.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+E.q1,"median = "+E.med,"q3 = "+E.q3].join("\n")),Q=E.med!==o?E.med:E.q1!==o?E.q3!==o?(E.q1+E.q3)/2:E.q1:E.q3!==o?E.q3:0,E.med=Q,E.q1=E.q3=Q,E.lf=E.uf=Q,E.mean=E.sd=Q,E.ln=E.un=Q,E.min=E.max=Q}q=Math.min(q,E.min),H=Math.max(H,E.max),E.pts2=C.filter(N),M.push(E)}}t._extremes[v._id]=n.findExtremes(v,[q,H],{padded:!0})}else{var ee=v.makeCalcdata(t,x),te=function(e,t){for(var r=e.length,n=new Array(r+1),i=0;i=0&&ie0){var ue,he;(E={}).pos=E[b]=B[l],C=E.pts=ne[l].sort(u),L=(I=E[x]=C.map(h)).length,E.min=I[0],E.max=I[L-1],E.mean=a.mean(I,L),E.sd=a.stdev(I,L,E.mean)*t.sdmultiple,E.med=a.interp(I,.5),L%2&&(le||ce)?(le?(ue=I.slice(0,L/2),he=I.slice(L/2+1)):ce&&(ue=I.slice(0,L/2+1),he=I.slice(L/2)),E.q1=a.interp(ue,.5),E.q3=a.interp(he,.5)):(E.q1=a.interp(I,.25),E.q3=a.interp(I,.75)),E.lf=f(E,I,L),E.uf=p(E,I,L),E.lo=d(E),E.uo=m(E);var fe=g(E,L);E.ln=E.med-fe,E.un=E.med+fe,ae=Math.min(ae,E.ln),oe=Math.max(oe,E.un),E.pts2=C.filter(N),M.push(E)}t.notched&&a.isTypedArray(ee)&&(ee=Array.from(ee)),t._extremes[v._id]=n.findExtremes(v,t.notched?ee.concat([ae,oe]):ee,{padded:!0})}return function(e,t){if(a.isArrayOrTypedArray(t.selectedpoints))for(var r=0;r0?(M[0].t={num:T[S],dPos:j,posLetter:b,valLetter:x,labels:{med:s(e,"median:"),min:s(e,"min:"),q1:s(e,"q1:"),q3:s(e,"q3:"),max:s(e,"max:"),mean:"sd"===t.boxmean||"sd"===t.sizemode?s(e,"mean ± σ:").replace("σ",1===t.sdmultiple?"σ":t.sdmultiple+"σ"):s(e,"mean:"),lf:s(e,"lower fence:"),uf:s(e,"upper fence:")}},T[S]++,M):[{t:{empty:!0}}]};var l={text:"tx",hovertext:"htx"};function c(e,t,r){for(var n in l)a.isArrayOrTypedArray(t[n])&&(Array.isArray(r)?a.isArrayOrTypedArray(t[n][r[0]])&&(e[l[n]]=t[n][r[0]][r[1]]):e[l[n]]=t[n][r])}function u(e,t){return e.v-t.v}function h(e){return e.v}function f(e,t,r){return 0===r?e.q1:Math.min(e.q1,t[Math.min(a.findBin(2.5*e.q1-1.5*e.q3,t,!0)+1,r-1)])}function p(e,t,r){return 0===r?e.q3:Math.max(e.q3,t[Math.max(a.findBin(2.5*e.q3-1.5*e.q1,t),0)])}function d(e){return 4*e.q1-3*e.q3}function m(e){return 4*e.q3-3*e.q1}function g(e,t){return 0===t?0:1.57*(e.q3-e.q1)/Math.sqrt(t)}}}),po=m({"src/traces/box/cross_trace_calc.js"(e,t){var r=ar(),n=ct(),i=nn().getAxisGroup,a=["v","h"];function o(e,t,a,o){var s,l,c,u=t.calcdata,h=t._fullLayout,f=o._id,p=f.charAt(0),d=[],m=0;for(s=0;s1,_=1-h[e+"gap"],b=1-h[e+"groupgap"];for(s=0;s0){var H=M.pointpos,G=M.jitter,W=M.marker.size/2,Z=0;H+G>=0&&((Z=V*(H+G))>D?(q=!0,N=W,B=Z):Z>R&&(N=W,B=D)),Z<=D&&(B=D);var Y=0;H-G<=0&&((Y=-V*(H-G))>O?(q=!0,U=W,j=Y):Y>F&&(U=W,j=O)),Y<=O&&(j=O)}else B=D,j=O;var X=new Array(c.length);for(l=0;le.lo&&(x.so=!0)}return a}));f.enter().append("path").classed("point",!0),f.exit().remove(),f.call(i.translatePoints,o,s)}function s(e,t,i,a){var o,s,l=t.val,c=t.pos,u=!!c.rangebreaks,h=a.bPos,f=a.bPosPxOffset||0,p=i.boxmean||(i.meanline||{}).visible;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var d=e.selectAll("path.mean").data("box"===i.type&&i.boxmean||"violin"===i.type&&i.box.visible&&i.meanline.visible?n.identity:[]);d.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),d.exit().remove(),d.each((function(e){var t=c.c2l(e.pos+h,!0),n=c.l2p(t-o)+f,a=c.l2p(t+s)+f,d=u?(n+a)/2:c.l2p(t)+f,m=l.c2p(e.mean,!0),g=l.c2p(e.mean-e.sd,!0),y=l.c2p(e.mean+e.sd,!0);"h"===i.orientation?r.select(this).attr("d","M"+m+","+n+"V"+a+("sd"===p?"m0,0L"+g+","+d+"L"+m+","+n+"L"+y+","+d+"Z":"")):r.select(this).attr("d","M"+n+","+m+"H"+a+("sd"===p?"m0,0L"+d+","+g+"L"+n+","+m+"L"+d+","+y+"Z":""))}))}t.exports={plot:function(e,t,i,l){var c=e._context.staticPlot,u=t.xaxis,h=t.yaxis;n.makeTraceGroups(l,i,"trace boxes").each((function(e){var t,n,i=r.select(this),l=e[0],f=l.t,p=l.trace;f.wdPos=f.bdPos*p.whiskerwidth,!0!==p.visible||f.empty?i.remove():("h"===p.orientation?(t=h,n=u):(t=u,n=h),a(i,{pos:t,val:n},p,f,c),o(i,{x:u,y:h},p,f),s(i,{pos:t,val:n},p,f))}))},plotBoxAndWhiskers:a,plotPoints:o,plotBoxMean:s}}}),go=m({"src/traces/box/style.js"(e,t){var r=b(),n=W(),i=er();t.exports={style:function(e,t,a){var o=a||r.select(e).selectAll("g.trace.boxes");o.style("opacity",(function(e){return e[0].trace.opacity})),o.each((function(t){var a=r.select(this),o=t[0].trace,s=o.line.width;function l(e,t,r,i){e.style("stroke-width",t+"px").call(n.stroke,r).call(n.fill,i)}var c=a.selectAll("path.box");if("candlestick"===o.type)c.each((function(e){if(!e.empty){var t=r.select(this),n=o[e.dir];l(t,n.line.width,n.line.color,n.fillcolor),t.style("opacity",o.selectedpoints&&!e.selected?.3:1)}}));else{l(c,s,o.line.color,o.fillcolor),a.selectAll("path.mean").style({"stroke-width":s,"stroke-dasharray":2*s+"px,"+s+"px"}).call(n.stroke,o.line.color);var u=a.selectAll("path.point");i.pointStyle(u,o,e)}}))},styleOnSelect:function(e,t,r){var n=t[0].trace,a=r.selectAll("path.point");n.selectedpoints?i.selectedPointStyle(a,n):i.pointStyle(a,n,e)}}}}),yo=m({"src/traces/box/hover.js"(e,t){var r=ar(),n=ct(),i=Or(),a=W(),o=n.fillText;function s(e,t,o,s){var l,c,u,h,f,p,d,m,g,y,v,x,_,b,w=e.cd,T=e.xa,k=e.ya,A=w[0].trace,M=w[0].t,S="violin"===A.type,E=M.bdPos,C=M.wHover,I=function(e){return u.c2l(e.pos)+M.bPos-u.c2l(p)};S&&"both"!==A.side?("positive"===A.side&&(g=function(e){var t=I(e);return i.inbox(t,t+C,y)},x=E,_=0),"negative"===A.side&&(g=function(e){var t=I(e);return i.inbox(t-C,t,y)},x=0,_=E)):(g=function(e){var t=I(e);return i.inbox(t-C,t+C,y)},x=_=E),b=S?function(e){return i.inbox(e.span[0]-f,e.span[1]-f,y)}:function(e){return i.inbox(e.min-f,e.max-f,y)},"h"===A.orientation?(f=t,p=o,d=b,m=g,l="y",u=k,c="x",h=T):(f=o,p=t,d=g,m=b,l="x",u=T,c="y",h=k);var L=Math.min(1,E/Math.abs(u.r2c(u.range[1])-u.r2c(u.range[0])));function P(e){return(d(e)+m(e))/2}y=e.maxHoverDistance-L,v=e.maxSpikeDistance-L;var z=i.getDistanceFunction(s,d,m,P);if(i.getClosest(w,z,e),!1===e.index)return[];var D=w[e.index],O=A.line.color,R=(A.marker||{}).color;a.opacity(O)&&A.line.width?e.color=O:a.opacity(R)&&A.boxpoints?e.color=R:e.color=A.fillcolor,e[l+"0"]=u.c2p(D.pos+M.bPos-_,!0),e[l+"1"]=u.c2p(D.pos+M.bPos+x,!0),e[l+"LabelVal"]=void 0!==D.orig_p?D.orig_p:D.pos;var F=l+"Spike";e.spikeDistance=P(D)*v/y,e[F]=u.c2p(D.pos,!0);var B=A.boxmean||"sd"===A.sizemode||(A.meanline||{}).visible,j=A.boxpoints||A.points,N=j&&B?["max","uf","q3","med","mean","q1","lf","min"]:j&&!B?["max","uf","q3","med","q1","lf","min"]:!j&&B?["max","q3","med","mean","q1","min"]:["max","q3","med","q1","min"],U=h.range[1]0&&(a=!0);for(var l=0;la){var o=a-n[e];return n[e]=a,o}}return 0},max:function(e,t,n,i){var a=i[t];if(r(a)){if(a=Number(a),!r(n[e]))return n[e]=a,a;if(n[e]l?e>a?e>1.1*n?n:e>1.1*i?i:a:e>o?o:e>s?s:l:Math.pow(10,Math.floor(Math.log(e)/Math.LN10))}function f(e,t,r,i,o,s){if(i&&e>a){var l=p(t,o,s),c=p(r,o,s),u=e===n?0:1;return l[u]!==c[u]}return Math.floor(r/e)-Math.floor(t/e)>.1}function p(e,t,r){var i=t.c2d(e,n,r).split("-");return""===i[0]&&(i.unshift(),i[0]="-"+i[0]),i}t.exports=function(e,t,r,i,o){var s,l,h=-1.1*t,f=-.1*t,p=e-f,d=r[0],m=r[1],g=Math.min(u(d+f,d+p,i,o),u(m+f,m+p,i,o)),y=Math.min(u(d+h,d+f,i,o),u(m+h,m+f,i,o));if(g>y&&ya){var v=s===n?1:6,x=s===n?"M12":"M1";return function(t,r){var a=i.c2d(t,n,o),s=a.indexOf("-",v);s>0&&(a=a.slice(0,s));var u=i.d2c(a,0,o);if(u"u"){if(l)return[L,d,!0];L=function(e,t,r,i,a){var o,s,l,c=e._fullLayout,u=function(e,t){for(var r=t.xaxis,n=t.yaxis,i=t.orientation,a=[],o=e._fullData,s=0;so.r2l(B)&&(N=a.tickIncrement(N,_.size,!0,f)),D.start=o.l2r(N),F||n.nestedProperty(t,y+".start").set(D.start)}var U=_.end,V=o.r2l(z.end),q=void 0!==V;if((_.endFound||q)&&V!==o.r2l(U)){var H=q?V:n.aggNums(Math.max,null,d);D.end=o.l2r(H),q||n.nestedProperty(t,y+".start").set(D.end)}var G="autobin"+s;return!1===t._input[G]&&(t._input[y]=n.extendFlat({},t[y]||{}),delete t._input[G],delete t[G]),[D,d]}t.exports={calc:function(e,t){var i,d,m,g,y=[],v=[],x="h"===t.orientation,_=a.getFromId(e,x?t.yaxis:t.xaxis),b=x?"y":"x",w={x:"y",y:"x"}[b],T=t[b+"calendar"],k=t.cumulative,A=p(e,t,_,b),M=A[0],S=A[1],E="string"==typeof M.size,C=[],I=E?C:M,L=[],P=[],z=[],D=0,O=t.histnorm,R=t.histfunc,F=-1!==O.indexOf("density");k.enabled&&F&&(O=O.replace(/ ?density$/,""),F=!1);var B,j="max"===R||"min"===R?null:0,N=c.count,U=u[O],V=!1,q=function(e){return _.r2c(e,0,T)};for(n.isArrayOrTypedArray(t[w])&&"count"!==R&&(B=t[w],V="avg"===R,N=c[R]),i=q(M.start),m=q(M.end)+(i-a.tickIncrement(i,M.size,!1,T))/1e6;i=0&&g=0;n--)s(n);else if("increasing"===t){for(n=1;n=0;n--)e[n]+=e[n+1];"exclude"===r&&(e.push(0),e.shift())}}(v,k.direction,k.currentbin);var Q=Math.min(y.length,v.length),ee=[],te=0,re=Q-1;for(i=0;i=te;i--)if(v[i]){re=i;break}for(i=te;i<=re;i++)if(r(y[i])&&r(v[i])){var ne={p:y[i],s:v[i],b:0};k.enabled||(ne.pts=z[i],Y?ne.ph0=ne.ph1=z[i].length?S[z[i][0]]:y[i]:(t._computePh=!0,ne.ph0=W(C[i]),ne.ph1=W(C[i+1],!0))),ee.push(ne)}return 1===ee.length&&(ee[0].width1=a.tickIncrement(ee[0].p,M.size,!1,T)-ee[0].p),o(t,"marker")&&s(e,t,{vals:t.marker.color,containerStr:"marker",cLetter:"c"}),o(t,"marker.line")&&s(e,t,{vals:t.marker.line.color,containerStr:"marker.line",cLetter:"c"}),l(ee,t),n.isArrayOrTypedArray(t.selectedpoints)&&n.tagSelected(ee,t,K),ee},calcAllAutoBins:p}}}),Po=m({"src/traces/histogram2d/calc.js"(e,t){var r=ct(),n=ar(),i=So(),a=Eo(),o=Co(),s=Io(),l=Lo().calcAllAutoBins;function c(e,t,r,n){var i,a=new Array(e);if(n)for(i=0;iS&&T.splice(S,T.length-S),M.length>S&&M.splice(S,M.length-S);var E=[],C=[],I=[],L="string"==typeof w.size,P="string"==typeof A.size,z=[],D=[],O=L?z:w,R=P?D:A,F=0,B=[],j=[],N=t.histnorm,U=t.histfunc,V=-1!==N.indexOf("density"),q="max"===U||"min"===U?null:0,H=i.count,G=a[N],W=!1,Z=[],Y=[],X="z"in t?t.z:"marker"in t&&Array.isArray(t.marker.color)?t.marker.color:"";X&&"count"!==U&&(W="avg"===U,H=i[U]);var $=w.size,K=x(w.start),J=x(w.end)+(K-n.tickIncrement(K,$,!1,y))/1e6;for(s=K;s=0&&p=0&&dm&&(y=Math.max(y,Math.abs(e[a][o]-d)/(g-m))))}return y}t.exports=function(e,t){var n,a,o=1;for(i(e,t),n=0;n.01;n++)o=i(e,t,(a=o,.5-.25*Math.min(1,.5*a)));return o>.01&&r.log("interp2d didn't converge quickly",o),e}}}),Ro=m({"src/traces/heatmap/find_empties.js"(e,t){var r=ct().maxRowLength;t.exports=function(e){var t,n,i,a,o,s,l,c,u=[],h={},f=[],p=e[0],d=[],m=[0,0,0],g=r(e);for(n=0;n=0;o--)(s=((h[[(n=(a=f[o])[0])-1,i=a[1]]]||m)[2]+(h[[n+1,i]]||m)[2]+(h[[n,i-1]]||m)[2]+(h[[n,i+1]]||m)[2])/20)&&(l[a]=[n,i,s],f.splice(o,1),c=!0);if(!c)throw"findEmpties iterated with no new neighbors";for(a in l)h[a]=l[a],u.push(l[a])}return u.sort((function(e,t){return t[2]-e[2]}))}}}),Fo=m({"src/traces/heatmap/make_bound_array.js"(e,t){var r=He(),n=ct().isArrayOrTypedArray;t.exports=function(e,t,i,a,o,s){var l,c,u,h=[],f=r.traceIs(e,"contour"),p=r.traceIs(e,"histogram");if(n(t)&&t.length>1&&!p&&"category"!==s.type){var d=t.length;if(!(d<=o))return f?t.slice(0,o):t.slice(0,o+1);if(f)h=Array.from(t).slice(0,o);else if(1===o)h="log"===s.type?[.5*t[0],2*t[0]]:[t[0]-.5,t[0]+.5];else if("log"===s.type){for(h=[Math.pow(t[0],1.5)/Math.pow(t[1],.5)],u=1;u1){var t=(e[e.length-1]-e[0])/(e.length-1),r=Math.abs(t/100);for(k=0;kr)return!1}return!0}(M.rangebreaks||S.rangebreaks)&&(T=function(e,t,r){for(var n=[],i=-1,a=0;a0;)k=A.c2p(j[I]),I--;for(k0;)C=M.c2p(N[I]),I--;C=A._length||k<=0||E>=M._length||C<=0)return z.selectAll("image").data([]).exit().remove(),void x(z);"fast"===X?(K=W,J=G):(K=Q,J=ee);var te=document.createElement("canvas");te.width=K,te.height=J;var re,ne,ie=te.getContext("2d",{willReadFrequently:!0}),ae=f(O,{noNumericCheck:!0,returnArray:!0});"fast"===X?(re=Z?function(e){return W-1-e}:s.identity,ne=Y?function(e){return G-1-e}:s.identity):(re=function(e){return s.constrain(Math.round(A.c2p(j[e])-b),0,Q)},ne=function(e){return s.constrain(Math.round(M.c2p(N[e])-E),0,ee)});var oe,se,le,ce,ue=ne(0),he=[ue,ue],fe=Z?0:1,pe=Y?0:1,de=0,me=0,ge=0,ye=0;function ve(e,t){if(void 0!==e){var r=ae(e);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),de+=t,me+=r[0]*t,ge+=r[1]*t,ye+=r[2]*t,r}return[0,0,0,0]}function xe(e,t,r,n){var i=e[r.bin0];if(void 0===i)return ve(void 0,1);var a,o=e[r.bin1],s=t[r.bin0],l=t[r.bin1],c=o-i||0,u=s-i||0;return a=void 0===o?void 0===l?0:void 0===s?2*(l-i):2*(2*l-s-i)/3:void 0===l?void 0===s?0:2*(2*i-o-s)/3:void 0===s?2*(2*l-o-i)/3:l+i-o-s,ve(i+r.frac*c+n.frac*(u+r.frac*a))}if("default"!==X){var _e,be=0;try{_e=new Uint8Array(K*J*4)}catch{_e=new Array(K*J*4)}if("smooth"===X){var we,Te,ke,Ae=U||j,Me=V||N,Se=new Array(Ae.length),Ee=new Array(Me.length),Ce=new Array(Q),Ie=U?w:_,Le=V?w:_;for(I=0;IXe||Xe>M._length))for(L=Ge;LKe||Ke>A._length)){var Je=c({x:$e,y:Ye},O,e._fullLayout);Je.x=$e,Je.y=Ye;var Qe=D.z[I][L];void 0===Qe?(Je.z="",Je.zLabel=""):(Je.z=Qe,Je.zLabel=o.tickText(Ue,Qe,"hover").text);var et=D.text&&D.text[I]&&D.text[I][L];(void 0===et||!1===et)&&(et=""),Je.text=et;var tt=s.texttemplateString({data:[Je,O._meta],fallback:O.texttemplatefallback,labels:Je,locale:e._fullLayout._d3locale,template:je});if(tt){var rt=tt.split("
"),nt=rt.length,it=0;for(P=0;P=b[0].length||p<0||p>b.length)return}else{if(r.inbox(t-x[0],t-x[x.length-1],0)>0||r.inbox(s-_[0],s-_[_.length-1],0)>0)return;if(d){var E;for(M=[2*x[0]-x[1]],E=1;E=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}}}),cs=m({"src/traces/contour/attributes.js"(e,t){var r=wo(),n=kn(),i=It(),a=i.axisHoverFormat,o=i.descriptionOnlyNumbers,s=zt(),l=Oe().dash,c=j(),u=B().extendFlat,h=ls(),f=h.COMPARISON_OPS2,p=h.INTERVAL_OPS,d=n.line;t.exports=u({z:r.z,x:r.x,x0:r.x0,dx:r.dx,y:r.y,y0:r.y0,dy:r.dy,xperiod:r.xperiod,yperiod:r.yperiod,xperiod0:n.xperiod0,yperiod0:n.yperiod0,xperiodalignment:r.xperiodalignment,yperiodalignment:r.yperiodalignment,text:r.text,hovertext:r.hovertext,transpose:r.transpose,xtype:r.xtype,ytype:r.ytype,xhoverformat:a("x"),yhoverformat:a("y"),zhoverformat:a("z",1),hovertemplate:r.hovertemplate,hovertemplatefallback:r.hovertemplatefallback,texttemplate:u({},r.texttemplate,{}),texttemplatefallback:r.texttemplatefallback,textfont:u({},r.textfont,{}),hoverongaps:r.hoverongaps,connectgaps:u({},r.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:c({editType:"plot",colorEditType:"style"}),labelformat:{valType:"string",dflt:"",editType:"plot",description:o("contour label")},operation:{valType:"enumerated",values:[].concat(f).concat(p),dflt:"=",editType:"calc"},value:{valType:"any",dflt:0,editType:"calc"},editType:"calc",impliedEdits:{autocontour:!1}},line:{color:u({},d.color,{editType:"style+colorbars"}),width:{valType:"number",min:0,editType:"style+colorbars"},dash:l,smoothing:u({},d.smoothing,{}),editType:"plot"},zorder:n.zorder},s("",{cLetter:"z",autoColorDflt:!1,editTypeOverride:"calc"}))}}),us=m({"src/traces/histogram2dcontour/attributes.js"(e,t){var r=rs(),n=cs(),i=zt(),a=It().axisHoverFormat,o=B().extendFlat;t.exports=o({x:r.x,y:r.y,z:r.z,marker:r.marker,histnorm:r.histnorm,histfunc:r.histfunc,nbinsx:r.nbinsx,xbins:r.xbins,nbinsy:r.nbinsy,ybins:r.ybins,autobinx:r.autobinx,autobiny:r.autobiny,bingroup:r.bingroup,xbingroup:r.xbingroup,ybingroup:r.ybingroup,autocontour:n.autocontour,ncontours:n.ncontours,contours:n.contours,line:{color:n.line.color,width:o({},n.line.width,{dflt:.5}),dash:n.line.dash,smoothing:n.line.smoothing,editType:"plot"},xhoverformat:a("x"),yhoverformat:a("y"),zhoverformat:a("z",1),hovertemplate:r.hovertemplate,hovertemplatefallback:r.hovertemplatefallback,texttemplate:n.texttemplate,texttemplatefallback:n.texttemplatefallback,textfont:n.textfont},i("",{cLetter:"z",editTypeOverride:"calc"}))}}),hs=m({"src/traces/contour/contours_defaults.js"(e,t){t.exports=function(e,t,r,n){var i=n("contours.start"),a=n("contours.end"),o=!1===i||!1===a,s=r("contours.size");((o?t.autocontour=!0:r("autocontour",!1))||!s)&&r("ncontours")}}}),fs=m({"src/traces/contour/label_defaults.js"(e,t){var r=ct();t.exports=function(e,t,n,i){if(i||(i={}),e("contours.showlabels")){var a=t.font;r.coerceFont(e,"contours.labelfont",a,{overrideDflt:{color:n}}),e("contours.labelformat")}!1!==i.hasHover&&e("zhoverformat")}}}),ps=m({"src/traces/contour/style_defaults.js"(e,t){var r=Ht(),n=fs();t.exports=function(e,t,i,a,o){var s,l=i("contours.coloring"),c="";"fill"===l&&(s=i("contours.showlines")),!1!==s&&("lines"!==l&&(c=i("line.color","#000")),i("line.width",.5),i("line.dash")),"none"!==l&&(!0!==e.showlegend&&(t.showlegend=!1),t._dfltShowLegend=!1,r(e,t,a,i,{prefix:"",cLetter:"z"})),i("line.smoothing"),n(i,a,c,o)}}}),ds=m({"src/traces/histogram2dcontour/defaults.js"(e,t){var r=ct(),n=ns(),i=hs(),a=ps(),o=ko(),s=us();t.exports=function(e,t,l,c){function u(n,i){return r.coerce(e,t,s,n,i)}n(e,t,u,c),!1!==t.visible&&(i(e,t,u,(function(n){return r.coerce2(e,t,s,n)})),a(e,t,u,c),u("xhoverformat"),u("yhoverformat"),u("hovertemplate"),u("hovertemplatefallback"),t.contours&&"heatmap"===t.contours.coloring&&o(u,c))}}}),ms=m({"src/traces/contour/set_contours.js"(e,t){var r=ar(),n=ct();function i(e,t,n){var i={type:"linear",range:[e,t]};return r.autoTicks(i,(t-e)/(n||15)),i}t.exports=function(e,t){var a=e.contours;if(e.autocontour){var o=e.zmin,s=e.zmax;(e.zauto||void 0===o)&&(o=n.aggNums(Math.min,null,t)),(e.zauto||void 0===s)&&(s=n.aggNums(Math.max,null,t));var l=i(o,s,e.ncontours);a.size=l.dtick,a.start=r.tickFirst(l),l.range.reverse(),a.end=r.tickFirst(l),a.start===o&&(a.start+=a.size),a.end===s&&(a.end-=a.size),a.start>a.end&&(a.start=a.end=(a.start+a.end)/2),e._input.contours||(e._input.contours={}),n.extendFlat(e._input.contours,{start:a.start,end:a.end,size:a.size}),e._input.autocontour=!0}else if("constraint"!==a.type){var c,u=a.start,h=a.end,f=e._input.contours;u>h&&(a.start=f.start=h,h=a.end=f.end=u,u=a.start),a.size>0||(c=u===h?1:i(u,h,e.ncontours).dtick,f.size=a.size=c)}}}}),gs=m({"src/traces/contour/end_plus.js"(e,t){t.exports=function(e){return e.end+e.size/1e6}}}),ys=m({"src/traces/contour/calc.js"(e,t){var r=Yt(),n=Bo(),i=ms(),a=gs();t.exports=function(e,t){var o=n(e,t),s=o[0].z;i(t,s);var l,c=t.contours,u=r.extractOpts(t);if("heatmap"===c.coloring&&u.auto&&!1===t.autocontour){var h=c.start,f=a(c),p=c.size||1,d=Math.floor((f-h)/p)+1;isFinite(p)||(p=1,d=1);var m=h-p/2;l=[m,m+d*p]}else l=s;return r.calc(e,t,{vals:l,cLetter:"z"}),o}}}),vs=m({"src/traces/contour/constants.js"(e,t){t.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}}}}),xs=m({"src/traces/contour/make_crossings.js"(e,t){var r=vs();function n(e,t){var r=(t[0][0]>e?0:1)+(t[0][1]>e?0:2)+(t[1][1]>e?0:4)+(t[1][0]>e?0:8);return 5===r||10===r?e>(t[0][0]+t[0][1]+t[1][0]+t[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}t.exports=function(e){var t,i,a,o,s,l,c,u,h,f=e[0].z,p=f.length,d=f[0].length,m=2===p||2===d;for(i=0;i20&&t?208===e||1114===e?i=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==n.BOTTOMSTART.indexOf(e)?a=1:-1!==n.LEFTSTART.indexOf(e)?i=1:-1!==n.TOPSTART.indexOf(e)?a=-1:i=-1,[i,a]}(f,o,t),d=[s(e,t,[-p[0],-p[1]])],m=e.z.length,g=e.z[0].length,y=t.slice(),v=p.slice();for(u=0;u<1e4;u++){if(f>20?(f=n.CHOOSESADDLE[f][(p[0]||p[1])<0?0:1],e.crossings[h]=n.SADDLEREMAINDER[f]):delete e.crossings[h],!(p=n.NEWDELTA[f])){r.log("Found bad marching index:",f,t,e.level);break}d.push(s(e,t,p)),t[0]+=p[0],t[1]+=p[1],h=t.join(","),i(d[d.length-1],d[d.length-2],l,c)&&d.pop();var x=p[0]&&(t[0]<0||t[0]>g-2)||p[1]&&(t[1]<0||t[1]>m-2);if(t[0]===y[0]&&t[1]===y[1]&&p[0]===v[0]&&p[1]===v[1]||o&&x)break;f=e.crossings[h]}1e4===u&&r.log("Infinite loop in contour?");var _,b,w,T,k,A,M,S,E,C,I,L=i(d[0],d[d.length-1],l,c),P=0,z=.2*e.smoothing,D=[],O=0;for(u=1;u=O;u--)if((_=D[u])=O&&_+D[b]S&&E--,e.edgepaths[E]=I.concat(d,C));break}j||(e.edgepaths[S]=d.concat(C))}for(S=0;S":o(">"),"<":o("<"),"=":o("=")}}}),ws=m({"src/traces/contour/empty_pathinfo.js"(e,t){var r=ct(),n=bs(),i=gs();t.exports=function(e,t,a){for(var o="constraint"===e.type?n[e._operation](e.value):e,s=o.size,l=[],c=i(o),u=a.trace._carpetTrace,h=u?{xaxis:u.aaxis,yaxis:u.baxis,x:a.a,y:a.b}:{xaxis:t.xaxis,yaxis:t.yaxis,x:a.x,y:a.y},f=o.start;f1e3){r.warn("Too many contours, clipping at 1000",e);break}return l}}}),Ts=m({"src/traces/contour/convert_to_constraints.js"(e,t){var r=ct();function n(e){return r.extendFlat({},e,{edgepaths:r.extendDeep([],e.edgepaths),paths:r.extendDeep([],e.paths),starts:r.extendDeep([],e.starts)})}t.exports=function(e,t){var i,a,o,s=function(e){return e.reverse()},l=function(e){return e};switch(t){case"=":case"<":return e;case">":for(1!==e.length&&r.warn("Contour data invalid for the specified inequality operation."),a=e[0],i=0;io.level||o.starts.length&&a===o.level)}break;case"constraint":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,c=-1/0,u=1/0;for(r=0;r":p>c&&(n.prefixBoundary=!0);break;case"<":(pc||n.starts.length&&f===u)&&(n.prefixBoundary=!0);break;case"][":h=Math.min(p[0],p[1]),f=Math.max(p[0],p[1]),hc&&(n.prefixBoundary=!0)}}}}}),As=m({"src/traces/contour/plot.js"(e){var t=b(),r=ct(),n=er(),i=Yt(),a=Et(),o=ar(),s=rr(),l=Uo(),c=xs(),u=_s(),h=ws(),f=Ts(),p=ks(),d=vs(),m=d.LABELOPTIMIZER;function g(e,t){var i,a,o,s,l,c,u,h="",f=0,p=e.edgepaths.map((function(e,t){return t})),d=!0;function m(e){return Math.abs(e[1]-t[2][1])<.01}function g(e){return Math.abs(e[0]-t[0][0])<.01}function y(e){return Math.abs(e[0]-t[2][0])<.01}for(;p.length;){for(c=n.smoothopen(e.edgepaths[f],e.smoothing),h+=d?c:c.replace(/^M/,"L"),p.splice(p.indexOf(f),1),i=e.edgepaths[f][e.edgepaths[f].length-1],s=-1,o=0;o<4;o++){if(!i){r.log("Missing end?",f,e);break}for(u=i,Math.abs(u[1]-t[0][1])<.01&&!y(i)?a=t[1]:g(i)?a=t[0]:m(i)?a=t[3]:y(i)&&(a=t[2]),l=0;l=0&&(a=v,s=l):Math.abs(i[1]-a[1])<.01?Math.abs(i[1]-v[1])<.01&&(v[0]-i[0])*(a[0]-v[0])>=0&&(a=v,s=l):r.log("endpt to newendpt is not vert. or horz.",i,a,v)}if(i=a,s>=0)break;h+="L"+a}if(s===e.edgepaths.length){r.log("unclosed perimeter path");break}f=s,(d=-1===p.indexOf(f))&&(f=p[0],h+="Z")}for(f=0;fi.center?i.right-s:s-i.left)/(u+Math.abs(Math.sin(c)*o)),p=(l>i.middle?i.bottom-l:l-i.top)/(Math.abs(h)+Math.cos(c)*o);if(f<1||p<1)return 1/0;var d=m.EDGECOST*(1/(f-1)+1/(p-1));d+=m.ANGLECOST*c*c;for(var g=s-u,y=l-h,v=s+u,x=l+h,_=0;_2*m.MAXCOST)break;p&&(s/=2),l=(o=c-s/2)+1.5*s}if(f<=m.MAXCOST)return u},e.addLabelData=function(e,t,r,n){var i=t.fontSize,a=t.width+i/3,o=Math.max(0,t.height-i/3),s=e.x,l=e.y,c=e.theta,u=Math.sin(c),h=Math.cos(c),f=function(e,t){return[s+e*h-t*u,l+e*u+t*h]},p=[f(-a/2,-o/2),f(-a/2,o/2),f(a/2,o/2),f(a/2,-o/2)];r.push({text:t.text,x:s,y:l,dy:t.dy,theta:c,level:t.level,width:a,height:o}),n.push(p)},e.drawLabels=function(e,n,i,o,s){var l=e.selectAll("text").data(n,(function(e){return e.text+","+e.x+","+e.y+","+e.theta}));if(l.exit().remove(),l.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each((function(e){var r=e.x+Math.sin(e.theta)*e.dy,n=e.y-Math.cos(e.theta)*e.dy;t.select(this).text(e.text).attr({x:r,y:n,transform:"rotate("+180*e.theta/Math.PI+" "+r+" "+n+")"}).call(a.convertToTspans,i)})),s){for(var c="",u=0;u=v)&&(a<=y&&(a=y),o>=v&&(o=v),l=Math.floor((o-a)/s)+1,c=0),f=0;fy&&(m.unshift(y),g.unshift(g[0])),m[m.length-1]2?t.value=t.value.slice(2):0===t.length?t.value=[0,1]:t.length<2?(n=parseFloat(t.value[0]),t.value=[n,n+1]):t.value=[parseFloat(t.value[0]),parseFloat(t.value[1])]:r(t.value)&&(n=parseFloat(t.value),t.value=[n,n+1])):(e("contours.value",0),r(t.value)||(l(t.value)?t.value=parseFloat(t.value[0]):t.value=0))}(i,g),"="===y?p=g.showlines=!0:(p=i("contours.showlines"),m=i("fillcolor",a((e.line||{}).color||h,.5))),p&&(d=i("line.color",m&&o(m)?a(t.fillcolor,1):h),i("line.width",2),i("line.dash")),i("line.smoothing"),n(i,s,d,f)}}}),zs=m({"src/traces/contour/defaults.js"(e,t){var r=ct(),n=To(),i=Wn(),a=Ps(),o=hs(),s=ps(),l=ko(),c=cs();t.exports=function(e,t,u,h){function f(n,i){return r.coerce(e,t,c,n,i)}if(n(e,t,f,h)){i(e,t,h,f),f("xhoverformat"),f("yhoverformat"),f("text"),f("hovertext"),f("hoverongaps"),f("hovertemplate"),f("hovertemplatefallback");var p="constraint"===f("contours.type");f("connectgaps",r.isArray1D(t.z)),p?a(e,t,f,h,u):(o(e,t,f,(function(n){return r.coerce2(e,t,c,n)})),s(e,t,f,h)),t.contours&&"heatmap"===t.contours.coloring&&l(f,h),f("zorder")}else t.visible=!1}}}),Ds=m({"src/traces/contour/index.js"(e,t){t.exports={attributes:cs(),supplyDefaults:zs(),calc:ys(),plot:As().plot,style:Ss(),colorbar:Es(),hoverPoints:Cs(),moduleType:"trace",name:"contour",basePlotModule:Ci(),categories:["cartesian","svg","2dMap","contour","showLegend"],meta:{}}}}),Os=m({"lib/contour.js"(e,t){t.exports=Ds()}}),Rs=m({"src/traces/scatterternary/attributes.js"(e,t){var{hovertemplateAttrs:r,texttemplateAttrs:n,templatefallbackAttrs:i}=Fe(),a=Tn(),o=kn(),s=q(),l=zt(),c=Oe().dash,u=B().extendFlat,h=o.marker,f=o.line,p=h.line;t.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:u({},o.mode,{dflt:"markers"}),text:u({},o.text,{}),texttemplate:n({editType:"plot"},{keys:["a","b","c","text"]}),texttemplatefallback:i({editType:"plot"}),hovertext:u({},o.hovertext,{}),line:{color:f.color,width:f.width,dash:c,backoff:f.backoff,shape:u({},f.shape,{values:["linear","spline"]}),smoothing:f.smoothing,editType:"calc"},connectgaps:o.connectgaps,cliponaxis:o.cliponaxis,fill:u({},o.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:a(),marker:u({symbol:h.symbol,opacity:h.opacity,angle:h.angle,angleref:h.angleref,standoff:h.standoff,maxdisplayed:h.maxdisplayed,size:h.size,sizeref:h.sizeref,sizemin:h.sizemin,sizemode:h.sizemode,line:u({width:p.width,dash:p.dash,editType:"calc"},l("marker.line")),gradient:h.gradient,editType:"calc"},l("marker")),textfont:o.textfont,textposition:o.textposition,selected:o.selected,unselected:o.unselected,hoverinfo:u({},s.hoverinfo,{flags:["a","b","c","text","name"]}),hoveron:o.hoveron,hovertemplate:r(),hovertemplatefallback:i()}}}),Fs=m({"src/traces/scatterternary/defaults.js"(e,t){var r=ct(),n=wn(),i=Xt(),a=Yn(),o=Xn(),s=$n(),l=Kn(),c=Jn(),u=Rs();t.exports=function(e,t,h,f){function p(n,i){return r.coerce(e,t,u,n,i)}var d,m=p("a"),g=p("b"),y=p("c");if(m?(d=m.length,g?(d=Math.min(d,g.length),y&&(d=Math.min(d,y.length))):d=y?Math.min(d,y.length):0):g&&y&&(d=Math.min(g.length,y.length)),d){t._length=d,p("sum"),p("text"),p("hovertext"),"fills"!==t.hoveron&&(p("hovertemplate"),p("hovertemplatefallback")),p("mode",d"),o.hovertemplate=f.hovertemplate,a}function x(e,t){y.push(e._hovertitle+": "+t)}}}}),Vs=m({"src/traces/scatterternary/event_data.js"(e,t){t.exports=function(e,t,r,n,i){if(t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),n[i]){var a=n[i];e.a=a.a,e.b=a.b,e.c=a.c}else e.a=t.a,e.b=t.b,e.c=t.c;return e}}}),qs=m({"src/plots/ternary/ternary.js"(e,t){var r=b(),n=F(),i=He(),a=ct(),o=a.strTranslate,s=a._,l=W(),c=er(),u=rr(),h=B().extendFlat,f=At(),p=ar(),d=pr(),m=Or(),g=Rr(),y=g.freeMode,v=g.rectMode,x=tr(),_=Cn().prepSelect,w=Cn().selectOnClick,T=Cn().clearOutline,k=Cn().clearSelectionsCache,A=xt();function M(e,t){this.id=e.id,this.graphDiv=e.graphDiv,this.init(t),this.makeFramework(t),this.updateFx(t),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}t.exports=M;var S=M.prototype;S.init=function(e){this.container=e._ternarylayer,this.defs=e._defs,this.layoutId=e._uid,this.traceHash={},this.layers={}},S.plot=function(e,t){var r=this,n=t[r.id],i=t._size;r._hasClipOnAxisFalse=!1;for(var a=0;aE*_?i=(a=_)*E:a=(i=x)/E,s=y*i/x,f=v*a/_,r=t.l+t.w*m-i/2,n=t.t+t.h*(1-g)-a/2,p.x0=r,p.y0=n,p.w=i,p.h=a,p.sum=b,p.xaxis={type:"linear",range:[w+2*k-b,b-w-2*T],domain:[m-s/2,m+s/2],_id:"x"},u(p.xaxis,p.graphDiv._fullLayout),p.xaxis.setScale(),p.xaxis.isPtWithinRange=function(e){return e.a>=p.aaxis.range[0]&&e.a<=p.aaxis.range[1]&&e.b>=p.baxis.range[1]&&e.b<=p.baxis.range[0]&&e.c>=p.caxis.range[1]&&e.c<=p.caxis.range[0]},p.yaxis={type:"linear",range:[w,b-T-k],domain:[g-f/2,g+f/2],_id:"y"},u(p.yaxis,p.graphDiv._fullLayout),p.yaxis.setScale(),p.yaxis.isPtWithinRange=function(){return!0};var A=p.yaxis.domain[0],M=p.aaxis=h({},e.aaxis,{range:[w,b-T-k],side:"left",tickangle:(+e.aaxis.tickangle||0)-30,domain:[A,A+f*E],anchor:"free",position:0,_id:"y",_length:i});u(M,p.graphDiv._fullLayout),M.setScale();var S=p.baxis=h({},e.baxis,{range:[b-w-k,T],side:"bottom",domain:p.xaxis.domain,anchor:"free",position:0,_id:"x",_length:i});u(S,p.graphDiv._fullLayout),S.setScale();var C=p.caxis=h({},e.caxis,{range:[b-w-T,k],side:"right",tickangle:(+e.caxis.tickangle||0)+30,domain:[A,A+f*E],anchor:"free",position:0,_id:"y",_length:i});u(C,p.graphDiv._fullLayout),C.setScale();var I="M"+r+","+(n+a)+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDef.select("path").attr("d",I),p.layers.plotbg.select("path").attr("d",I);var L="M0,"+a+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDefRelative.select("path").attr("d",L);var P=o(r,n);p.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",P),p.clipDefRelative.select("path").attr("transform",null);var z=o(r-S._offset,n+a);p.layers.baxis.attr("transform",z),p.layers.bgrid.attr("transform",z);var D=o(r+i/2,n)+"rotate(30)"+o(0,-M._offset);p.layers.aaxis.attr("transform",D),p.layers.agrid.attr("transform",D);var O=o(r+i/2,n)+"rotate(-30)"+o(0,-C._offset);p.layers.caxis.attr("transform",O),p.layers.cgrid.attr("transform",O),p.drawAxes(!0),p.layers.aline.select("path").attr("d",M.showline?"M"+r+","+(n+a)+"l"+i/2+",-"+a:"M0,0").call(l.stroke,M.linecolor||"#000").style("stroke-width",(M.linewidth||0)+"px"),p.layers.bline.select("path").attr("d",S.showline?"M"+r+","+(n+a)+"h"+i:"M0,0").call(l.stroke,S.linecolor||"#000").style("stroke-width",(S.linewidth||0)+"px"),p.layers.cline.select("path").attr("d",C.showline?"M"+(r+i/2)+","+n+"l"+i/2+","+a:"M0,0").call(l.stroke,C.linecolor||"#000").style("stroke-width",(C.linewidth||0)+"px"),p.graphDiv._context.staticPlot||p.initInteractions(),c.setClipUrl(p.layers.frontplot,p._hasClipOnAxisFalse?null:p.clipId,p.graphDiv)},S.drawAxes=function(e){var t=this,r=t.graphDiv,n=t.id.slice(7)+"title",i=t.layers,a=t.aaxis,o=t.baxis,l=t.caxis;if(t.drawAx(a),t.drawAx(o),t.drawAx(l),e){var c=Math.max(a.showticklabels?a.tickfont.size/2:0,(l.showticklabels?.75*l.tickfont.size:0)+("outside"===l.ticks?.87*l.ticklen:0)),u=(o.showticklabels?o.tickfont.size:0)+("outside"===o.ticks?o.ticklen:0)+3;i["a-title"]=x.draw(r,"a"+n,{propContainer:a,propName:t.id+".aaxis.title.text",placeholder:s(r,"Click to enter Component A title"),attributes:{x:t.x0+t.w/2,y:t.y0-a.title.font.size/3-c,"text-anchor":"middle"}}),i["b-title"]=x.draw(r,"b"+n,{propContainer:o,propName:t.id+".baxis.title.text",placeholder:s(r,"Click to enter Component B title"),attributes:{x:t.x0-u,y:t.y0+t.h+.83*o.title.font.size+u,"text-anchor":"middle"}}),i["c-title"]=x.draw(r,"c"+n,{propContainer:l,propName:t.id+".caxis.title.text",placeholder:s(r,"Click to enter Component C title"),attributes:{x:t.x0+t.w+u,y:t.y0+t.h+.83*l.title.font.size+u,"text-anchor":"middle"}})}},S.drawAx=function(e){var t=this,r=t.graphDiv,n=e._name,i=n.charAt(0),o=e._id,s=t.layers[n],l=i+"tickLayout",c=function(e){return e.ticks+String(e.ticklen)+String(e.showticklabels)}(e);t[l]!==c&&(s.selectAll("."+o+"tick").remove(),t[l]=c),e.setScale();var u=p.calcTicks(e),h=p.clipEnds(e,u),f=p.makeTransTickFn(e),d=p.getTickSigns(e)[2],m=a.deg2rad(30),g=d*(e.linewidth||1)/2,y=d*e.ticklen,v=t.w,x=t.h,_="b"===i?"M0,"+g+"l"+Math.sin(m)*y+","+Math.cos(m)*y:"M"+g+",0l"+Math.cos(m)*y+","+-Math.sin(m)*y,b={a:"M0,0l"+x+",-"+v/2,b:"M0,0l-"+v/2+",-"+x,c:"M0,0l-"+x+","+v/2}[i];p.drawTicks(r,e,{vals:"inside"===e.ticks?h:u,layer:s,path:_,transFn:f,crisp:!1}),p.drawGrid(r,e,{vals:h,layer:t.layers[i+"grid"],path:b,transFn:f,crisp:!1}),p.drawLabels(r,e,{vals:u,layer:s,transFn:f,labelFns:p.makeLabelFns(e,0,30)})};var C=A.MINZOOM/2+.87,I="m-0.87,.5h"+C+"v3h-"+(C+5.2)+"l"+(C/2+2.6)+",-"+(.87*C+4.5)+"l2.6,1.5l-"+C/2+","+.87*C+"Z",L="m0.87,.5h-"+C+"v3h"+(C+5.2)+"l-"+(C/2+2.6)+",-"+(.87*C+4.5)+"l-2.6,1.5l"+C/2+","+.87*C+"Z",P="m0,1l"+C/2+","+.87*C+"l2.6,-1.5l-"+(C/2+2.6)+",-"+(.87*C+4.5)+"l-"+(C/2+2.6)+","+(.87*C+4.5)+"l2.6,1.5l"+C/2+",-"+.87*C+"Z",z=!0;function D(e){r.select(e).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}S.clearOutline=function(){k(this.dragOptions),T(this.dragOptions.gd)},S.initInteractions=function(){var e,t,r,u,h,f,p,g,x,b,T,k,M=this,S=M.layers.plotbg.select("path").node(),C=M.graphDiv,O=C._fullLayout._zoomlayer;function R(e){var t={};return t[M.id+".aaxis.min"]=e.a,t[M.id+".baxis.min"]=e.b,t[M.id+".caxis.min"]=e.c,t}function F(e,t){var r=C._fullLayout.clickmode;D(C),2===e&&(C.emit("plotly_doubleclick",null),i.call("_guiRelayout",C,R({a:0,b:0,c:0}))),r.indexOf("select")>-1&&1===e&&w(t,C,[M.xaxis],[M.yaxis],M.id,M.dragOptions),r.indexOf("event")>-1&&m.click(C,t,M.id)}function B(e,t){return 1-t/M.h}function j(e,t){return 1-(e+(M.h-t)/Math.sqrt(3))/M.w}function N(e,t){return(e-(M.h-t)/Math.sqrt(3))/M.w}function U(n,i){var a=r+n*e,o=u+i*t,s=Math.max(0,Math.min(1,B(0,u),B(0,o))),l=Math.max(0,Math.min(1,j(r,u),j(a,o))),c=Math.max(0,Math.min(1,N(r,u),N(a,o))),d=(s/2+c)*M.w,m=(1-s/2-l)*M.w,y=(d+m)/2,v=m-d,_=(1-s)*M.h,w=_-v/E;v.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),k.transition().style("opacity",1).duration(200),b=!0),C.emit("plotly_relayouting",R(p))}function V(){D(C),p!==h&&(i.call("_guiRelayout",C,R(p)),z&&C.data&&C._context.showTips&&(a.notifier(s(C,"Double-click to zoom back out"),"long",C),z=!1))}function q(e,t){var r=e/M.xaxis._m,n=t/M.yaxis._m,i=[(p={a:h.a-n,b:h.b+(r+n)/2,c:h.c-(r-n)/2}).a,p.b,p.c].sort(a.sorterAsc),s=i.indexOf(p.a),l=i.indexOf(p.b),u=i.indexOf(p.c);i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),p={a:i[s],b:i[l],c:i[u]},t=(h.a-p.a)*M.yaxis._m,e=(h.c-p.c-h.b+p.b)*M.xaxis._m);var f=o(M.x0+e,M.y0+t);M.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",f);var d=o(-e,-t);M.clipDefRelative.select("path").attr("transform",d),M.aaxis.range=[p.a,M.sum-p.b-p.c],M.baxis.range=[M.sum-p.a-p.c,p.b],M.caxis.range=[M.sum-p.a-p.b,p.c],M.drawAxes(!1),M._hasClipOnAxisFalse&&M.plotContainer.select(".scatterlayer").selectAll(".trace").call(c.hideOutsideRangePoints,M),C.emit("plotly_relayouting",R(p))}function H(){i.call("_guiRelayout",C,R(p))}this.dragOptions={element:S,gd:C,plotinfo:{id:M.id,domain:C._fullLayout[M.id].domain,xaxis:M.xaxis,yaxis:M.yaxis},subplot:M.id,prepFn:function(i,s,c){M.dragOptions.xaxes=[M.xaxis],M.dragOptions.yaxes=[M.yaxis],e=C._fullLayout._invScaleX,t=C._fullLayout._invScaleY;var d=M.dragOptions.dragmode=C._fullLayout.dragmode;y(d)?M.dragOptions.minDrag=1:M.dragOptions.minDrag=void 0,"zoom"===d?(M.dragOptions.moveFn=U,M.dragOptions.clickFn=F,M.dragOptions.doneFn=V,function(e,t,i){var s=S.getBoundingClientRect();r=t-s.left,u=i-s.top,C._fullLayout._calcInverseTransform(C);var c=C._fullLayout._invTransform,d=a.apply3DTransform(c)(r,u);r=d[0],u=d[1],h={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=h,f=M.aaxis.range[1]-h.a,g=n(M.graphDiv._fullLayout[M.id].bgcolor).getLuminance(),x="M0,"+M.h+"L"+M.w/2+", 0L"+M.w+","+M.h+"Z",b=!1,T=O.append("path").attr("class","zoombox").attr("transform",o(M.x0,M.y0)).style({fill:g>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",x),k=O.append("path").attr("class","zoombox-corners").attr("transform",o(M.x0,M.y0)).style({fill:l.background,stroke:l.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),M.clearOutline(C)}(0,s,c)):"pan"===d?(M.dragOptions.moveFn=q,M.dragOptions.clickFn=F,M.dragOptions.doneFn=H,h={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=h,M.clearOutline(C)):(v(d)||y(d))&&_(i,s,c,M.dragOptions,d)}},S.onmousemove=function(e){m.hover(C,e,M.id),C._fullLayout._lasthover=S,C._fullLayout._hoversubplot=M.id},S.onmouseout=function(e){C._dragging||d.unhover(C,e)},d.init(this.dragOptions)}}}),Hs=m({"src/plots/ternary/layout_attributes.js"(e,t){var r=G(),n=Ma().attributes,i=Lt(),a=De().overrideAll,o=B().extendFlat,s={title:{text:i.title.text,font:i.title.font},color:i.color,tickmode:i.minor.tickmode,nticks:o({},i.nticks,{dflt:6,min:1}),tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,ticklabelstep:i.ticklabelstep,showticklabels:i.showticklabels,labelalias:i.labelalias,showtickprefix:i.showtickprefix,tickprefix:i.tickprefix,showticksuffix:i.showticksuffix,ticksuffix:i.ticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,minexponent:i.minexponent,separatethousands:i.separatethousands,tickfont:i.tickfont,tickangle:i.tickangle,tickformat:i.tickformat,tickformatstops:i.tickformatstops,hoverformat:i.hoverformat,showline:o({},i.showline,{dflt:!0}),linecolor:i.linecolor,linewidth:i.linewidth,showgrid:o({},i.showgrid,{dflt:!0}),gridcolor:i.gridcolor,gridwidth:i.gridwidth,griddash:i.griddash,layer:i.layer,min:{valType:"number",dflt:0,min:0}},l=t.exports=a({domain:n({name:"ternary"}),bgcolor:{valType:"color",dflt:r.background},sum:{valType:"number",dflt:1,min:0},aaxis:s,baxis:s,caxis:s},"plot","from-root");l.uirevision={valType:"any",editType:"none"},l.aaxis.uirevision=l.baxis.uirevision=l.caxis.uirevision={valType:"any",editType:"none"}}}),Gs=m({"src/plots/subplot_defaults.js"(e,t){var r=ct(),n=vt(),i=Ma().defaults;t.exports=function(e,t,a,o){var s,l,c=o.type,u=o.attributes,h=o.handleDefaults,f=o.partition||"x",p=t._subplots[c],d=p.length,m=d&&p[0].replace(/\d+$/,"");function g(e,t){return r.coerce(s,l,u,e,t)}for(var y=0;y=s&&(p.min=0,m.min=0,g.min=0,e.aaxis&&delete e.aaxis.min,e.baxis&&delete e.baxis.min,e.caxis&&delete e.caxis.min)}function d(e,t,r,n){var a=h[t._name];function f(r,n){return i.coerce(e,t,a,r,n)}f("uirevision",n.uirevision),t.type="linear";var p=f("color"),d=p!==a.color.dflt?p:r.font.color,m=t._name.charAt(0).toUpperCase(),g="Component "+m,y=f("title.text",g);t._hovertitle=y===g?y:m,i.coerceFont(f,"title.font",r.font,{overrideDflt:{size:i.bigFont(r.font.size),color:d}}),f("min"),c(e,t,f,"linear"),s(e,t,f,"linear"),o(e,t,f,"linear",{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0}),l(e,t,f,{outerTicks:!0}),f("showticklabels")&&(i.coerceFont(f,"tickfont",r.font,{overrideDflt:{color:d}}),f("tickangle"),f("tickformat")),u(e,t,f,{dfltColor:p,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:a}),f("hoverformat"),f("layer")}t.exports=function(e,t,r){a(e,t,r,{type:"ternary",attributes:h,handleDefaults:p,font:t.font,paper_bgcolor:t.paper_bgcolor})}}}),Zs=m({"src/plots/ternary/index.js"(e){var t=qs(),r=Tt().getSubplotCalcData,n=ct().counterRegex,i="ternary";e.name=i;var a=e.attr="subplot";e.idRoot=i,e.idRegex=e.attrRegex=n(i),(e.attributes={})[a]={valType:"subplotid",dflt:"ternary",editType:"calc"},e.layoutAttributes=Hs(),e.supplyLayoutDefaults=Ws(),e.plot=function(e){for(var n=e._fullLayout,a=e.calcdata,o=n._subplots[i],s=0;s0){var _,b,w,T,k,A=e.xa,M=e.ya;"h"===d.orientation?(k=t,_="y",w=M,b="x",T=A):(k=s,_="x",w=A,b="y",T=M);var S=p[e.index];if(k>=S.span[0]&&k<=S.span[1]){var E=n.extendFlat({},e),C=T.c2p(k,!0),I=o.getKdeValue(S,d,k),L=o.getPositionOnKdePath(S,d,C),P=w._offset,z=w._length;E[_+"0"]=L[0],E[_+"1"]=L[1],E[b+"0"]=E[b+"1"]=C,E[b+"Label"]=b+": "+i.hoverLabelText(T,k,d[b+"hoverformat"])+", "+p[0].t.labels.kde+" "+I.toFixed(3);for(var D=0,O=0;O path").each((function(e){if(!e.isBlank){var t=s.marker;r.select(this).call(i.fill,e.mc||t.color).call(i.stroke,e.mlc||t.line.color).call(n.dashLine,t.line.dash,e.mlw||t.line.width).style("opacity",s.selectedpoints&&!e.selected?a:1)}})),l(o,s,e),o.selectAll(".regions").each((function(){r.select(this).selectAll("path").style("stroke-width",0).call(i.fill,s.connector.fillcolor)})),o.selectAll(".lines").each((function(){var e=s.connector.line;n.lineGroupStyle(r.select(this).selectAll("path"),e.width,e.color,e.dash)}))}))}}}}),xl=m({"src/traces/funnel/hover.js"(e,t){var r=W().opacity,n=no().hoverOnBars,i=ct().formatPercent;t.exports=function(e,t,a,o,s){var l=n(e,t,a,o,s);if(l){var c=l.cd,u=c[0].trace,h="h"===u.orientation,f=c[l.index];l[(h?"x":"y")+"LabelVal"]=f.s,l.percentInitial=f.begR,l.percentInitialLabel=i(f.begR,1),l.percentPrevious=f.difR,l.percentPreviousLabel=i(f.difR,1),l.percentTotal=f.sumR,l.percentTotalLabel=i(f.sumR,1);var p=f.hi||u.hoverinfo,d=[];if(p&&"none"!==p&&"skip"!==p){var m="all"===p,g=p.split("+"),y=function(e){return m||-1!==g.indexOf(e)};y("percent initial")&&d.push(l.percentInitialLabel+" of initial"),y("percent previous")&&d.push(l.percentPreviousLabel+" of previous"),y("percent total")&&d.push(l.percentTotalLabel+" of total")}return l.extraText=d.join("
"),l.color=function(e,t){var n=e.marker,i=t.mc||n.color,a=t.mlc||n.line.color,o=t.mlw||n.line.width;return r(i)?i:r(a)&&o?a:void 0}(u,f),[l]}}}}),_l=m({"src/traces/funnel/event_data.js"(e,t){t.exports=function(e,t){return e.x="xVal"in t?t.xVal:t.x,e.y="yVal"in t?t.yVal:t.y,"percentInitial"in t&&(e.percentInitial=t.percentInitial),"percentPrevious"in t&&(e.percentPrevious=t.percentPrevious),"percentTotal"in t&&(e.percentTotal=t.percentTotal),t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),e}}}),bl=m({"src/traces/funnel/index.js"(e,t){t.exports={attributes:cl(),layoutAttributes:ul(),supplyDefaults:hl().supplyDefaults,crossTraceDefaults:hl().crossTraceDefaults,supplyLayoutDefaults:fl(),calc:dl(),crossTraceCalc:ml(),plot:yl(),style:vl().style,hoverPoints:xl(),eventData:_l(),selectPoints:ao(),moduleType:"trace",name:"funnel",basePlotModule:Ci(),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}}}),wl=m({"lib/funnel.js"(e,t){t.exports=bl()}}),Tl=m({"src/traces/waterfall/constants.js"(e,t){t.exports={eventDataKeys:["initial","delta","final"]}}}),kl=m({"src/traces/waterfall/attributes.js"(e,t){var r=Wa(),n=kn().line,i=q(),a=It().axisHoverFormat,{hovertemplateAttrs:o,texttemplateAttrs:s,templatefallbackAttrs:l}=Fe(),c=Tl(),u=B().extendFlat,h=W();function f(e){return{marker:{color:u({},r.marker.color,{arrayOk:!1,editType:"style"}),line:{color:u({},r.marker.line.color,{arrayOk:!1,editType:"style"}),width:u({},r.marker.line.width,{arrayOk:!1,editType:"style"}),editType:"style"},editType:"style"},editType:"style"}}t.exports={measure:{valType:"data_array",dflt:[],editType:"calc"},base:{valType:"number",dflt:null,arrayOk:!1,editType:"calc"},x:r.x,x0:r.x0,dx:r.dx,y:r.y,y0:r.y0,dy:r.dy,xperiod:r.xperiod,yperiod:r.yperiod,xperiod0:r.xperiod0,yperiod0:r.yperiod0,xperiodalignment:r.xperiodalignment,yperiodalignment:r.yperiodalignment,xhoverformat:a("x"),yhoverformat:a("y"),hovertext:r.hovertext,hovertemplate:o({},{keys:c.eventDataKeys}),hovertemplatefallback:l(),hoverinfo:u({},i.hoverinfo,{flags:["name","x","y","text","initial","delta","final"]}),textinfo:{valType:"flaglist",flags:["label","text","initial","delta","final"],extras:["none"],editType:"plot",arrayOk:!1},texttemplate:s({editType:"plot"},{keys:c.eventDataKeys.concat(["label"])}),texttemplatefallback:l({editType:"plot"}),text:r.text,textposition:r.textposition,insidetextanchor:r.insidetextanchor,textangle:r.textangle,textfont:r.textfont,insidetextfont:r.insidetextfont,outsidetextfont:r.outsidetextfont,constraintext:r.constraintext,cliponaxis:r.cliponaxis,orientation:r.orientation,offset:r.offset,width:r.width,increasing:f(),decreasing:f(),totals:f(),connector:{line:{color:u({},n.color,{dflt:h.defaultLine}),width:u({},n.width,{editType:"plot"}),dash:n.dash,editType:"plot"},mode:{valType:"enumerated",values:["spanning","between"],dflt:"between",editType:"plot"},visible:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},offsetgroup:r.offsetgroup,alignmentgroup:r.alignmentgroup,zorder:r.zorder}}}),Al=m({"src/traces/waterfall/layout_attributes.js"(e,t){t.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"}}}}),Ml=m({"src/constants/delta.js"(e,t){t.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"▲"},DECREASING:{COLOR:"#FF4136",SYMBOL:"▼"}}}}),Sl=m({"src/traces/waterfall/defaults.js"(e,t){var r=ct(),n=ei(),i=Xa().handleText,a=Gn(),o=Wn(),s=kl(),l=W(),c=Ml(),u=c.INCREASING.COLOR,h=c.DECREASING.COLOR;function f(e,t,r){e(t+".marker.color",r),e(t+".marker.line.color",l.defaultLine),e(t+".marker.line.width")}t.exports={supplyDefaults:function(e,t,n,l){function c(n,i){return r.coerce(e,t,s,n,i)}if(a(e,t,l,c)){o(e,t,l,c),c("xhoverformat"),c("yhoverformat"),c("measure"),c("orientation",t.x&&!t.y?"h":"v"),c("base"),c("offset"),c("width"),c("text"),c("hovertext"),c("hovertemplate"),c("hovertemplatefallback");var p=c("textposition");i(e,t,l,c,p,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),"none"!==t.textposition&&(c("texttemplate"),c("texttemplatefallback"),t.texttemplate||c("textinfo")),f(c,"increasing",u),f(c,"decreasing",h),f(c,"totals","#4499FF"),c("connector.visible")&&(c("connector.mode"),c("connector.line.width")&&(c("connector.line.color"),c("connector.line.dash"))),c("zorder")}else t.visible=!1},crossTraceDefaults:function(e,t){var i,a;function o(e){return r.coerce(a._input,a,s,e)}if("group"===t.waterfallmode)for(var l=0;l0&&(g+=f?"M"+h[0]+","+d[1]+"V"+d[0]:"M"+h[1]+","+d[0]+"H"+h[0]),"between"!==p&&(o.isSum||s path").each((function(e){if(!e.isBlank){var t=s[e.dir].marker;r.select(this).call(i.fill,t.color).call(i.stroke,t.line.color).call(n.dashLine,t.line.dash,t.line.width).style("opacity",s.selectedpoints&&!e.selected?a:1)}})),l(o,s,e),o.selectAll(".lines").each((function(){var e=s.connector.line;n.lineGroupStyle(r.select(this).selectAll("path"),e.width,e.color,e.dash)}))}))}}}}),zl=m({"src/traces/waterfall/hover.js"(e,t){var r=ar().hoverLabelText,n=W().opacity,i=no().hoverOnBars,a=Ml(),o=a.INCREASING.SYMBOL,s=a.DECREASING.SYMBOL;t.exports=function(e,t,a,l,c){var u=i(e,t,a,l,c);if(u){var h=u.cd,f=h[0].trace,p="h"===f.orientation,d=p?"x":"y",m=p?e.xa:e.ya,g=h[u.index],y=g.isSum?g.b+g.s:g.rawS;u.initial=g.b+g.s-y,u.delta=y,u.final=u.initial+u.delta;var v=k(Math.abs(u.delta));u.deltaLabel=y<0?"("+v+")":v,u.finalLabel=k(u.final),u.initialLabel=k(u.initial);var x=g.hi||f.hoverinfo,_=[];if(x&&"none"!==x&&"skip"!==x){var b="all"===x,w=x.split("+"),T=function(e){return b||-1!==w.indexOf(e)};g.isSum||(T("final")&&(p?!T("x"):!T("y"))&&_.push(u.finalLabel),T("delta")&&(y<0?_.push(u.deltaLabel+" "+s):_.push(u.deltaLabel+" "+o)),T("initial")&&_.push("Initial: "+u.initialLabel))}return _.length&&(u.extraText=_.join("
")),u.color=function(e,t){var r=e[t.dir].marker,i=r.color,a=r.line.color,o=r.line.width;return n(i)?i:n(a)&&o?a:void 0}(f,g),[u]}function k(e){return r(m,e,f[d+"hoverformat"])}}}}),Dl=m({"src/traces/waterfall/event_data.js"(e,t){t.exports=function(e,t){return e.x="xVal"in t?t.xVal:t.x,e.y="yVal"in t?t.yVal:t.y,"initial"in t&&(e.initial=t.initial),"delta"in t&&(e.delta=t.delta),"final"in t&&(e.final=t.final),t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),e}}}),Ol=m({"src/traces/waterfall/index.js"(e,t){t.exports={attributes:kl(),layoutAttributes:Al(),supplyDefaults:Sl().supplyDefaults,crossTraceDefaults:Sl().crossTraceDefaults,supplyLayoutDefaults:El(),calc:Cl(),crossTraceCalc:Il(),plot:Ll(),style:Pl().style,hoverPoints:zl(),eventData:Dl(),selectPoints:ao(),moduleType:"trace",name:"waterfall",basePlotModule:Ci(),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}}}),Rl=m({"lib/waterfall.js"(e,t){t.exports=Ol()}}),Fl=m({"src/traces/image/constants.js"(e,t){t.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(e){return e.slice(0,3)},suffix:["","",""]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(e){return e.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(e){return e.slice(0,4)},suffix:["","","",""]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(e){var t=e.slice(0,3);return t[1]=t[1]+"%",t[2]=t[2]+"%",t},suffix:["°","%","%"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(e){var t=e.slice(0,4);return t[1]=t[1]+"%",t[2]=t[2]+"%",t},suffix:["°","%","%",""]}}}}}),Bl=m({"src/traces/image/attributes.js"(e,t){var r,n,i=q(),a=kn().zorder,{hovertemplateAttrs:o,templatefallbackAttrs:s}=Fe(),l=B().extendFlat,c=Fl().colormodel,u=["rgb","rgba","rgba256","hsl","hsla"],h=[],f=[];for(n=0;n0?s-4:s;for(r=0;r>16&255,c[u++]=t>>8&255,c[u++]=255&t;return 2===l&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,c[u++]=255&t),1===l&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t),c},e.fromByteArray=function(e){for(var t,n=e.length,i=n%3,a=[],o=16383,s=0,c=n-i;sc?c:s+o));return 1===i?(t=e[n-1],a.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],a.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"=")),a.join("")};var t,r=[],n=[],i=typeof Uint8Array<"u"?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(t=0;t<64;++t)r[t]=a[t],n[a.charCodeAt(t)]=t;function o(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function s(e){return r[e>>18&63]+r[e>>12&63]+r[e>>6&63]+r[63&e]}function l(e,t,r){for(var n,i=[],a=t;a>1,u=-7,h=r?i-1:0,f=r?-1:1,p=e[t+h];for(h+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+e[t+h],h+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+e[t+h],h+=f,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},e.write=function(e,t,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(t*l-1)*Math.pow(2,i),o+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;e[r+p]=255&o,p+=d,o/=256,c-=8);e[r+p-d]|=128*m}}}),Hl=m({"node_modules/buffer/index.js"(e){var t=Vl(),r=ql(),n="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=o,e.SlowBuffer=function(e){return+e!=e&&(e=0),o.alloc(+e)},e.INSPECT_MAX_BYTES=50;var i=2147483647;function a(e){if(e>i)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,o.prototype),t}function o(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return c(e)}return s(e,t,r)}function s(e,t,r){if("string"==typeof e)return function(e,t){if(("string"!=typeof t||""===t)&&(t="utf8"),!o.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=0|p(e,t),n=a(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(Z(e,Uint8Array)){let t=new Uint8Array(e);return h(t.buffer,t.byteOffset,t.byteLength)}return u(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(Z(e,ArrayBuffer)||e&&Z(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Z(e,SharedArrayBuffer)||e&&Z(e.buffer,SharedArrayBuffer)))return h(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return o.from(n,t,r);let i=function(e){if(o.isBuffer(e)){let t=0|f(e.length),r=a(t);return 0===r.length||e.copy(r,0,0,t),r}return void 0!==e.length?"number"!=typeof e.length||Y(e.length)?a(0):u(e):"Buffer"===e.type&&Array.isArray(e.data)?u(e.data):void 0}(e);if(i)return i;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return o.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function l(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function c(e){return l(e),a(e<0?0:0|f(e))}function u(e){let t=e.length<0?0:0|f(e.length),r=a(t);for(let n=0;n=i)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i.toString(16)+" bytes");return 0|e}function p(e,t){if(o.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Z(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return H(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return G(e).length;default:if(i)return n?-1:H(e).length;t=(""+t).toLowerCase(),i=!0}}function d(e,t,r){let n=!1;if((void 0===t||t<0)&&(t=0),t>this.length||((void 0===r||r>this.length)&&(r=this.length),r<=0)||(r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return E(this,t,r);case"utf8":case"utf-8":return k(this,t,r);case"ascii":return M(this,t,r);case"latin1":case"binary":return S(this,t,r);case"base64":return T(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function m(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}function g(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),Y(r=+r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=o.from(t,n)),o.isBuffer(t))return 0===t.length?-1:y(e,t,r,n,i);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):y(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function y(e,t,r,n,i){let a,o=1,s=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){let n=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){let r=!0;for(let n=0;ni&&(n=i):n=i;let a,o=t.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(t,e.length-r),e,r,n)}function T(e,r,n){return 0===r&&n===e.length?t.fromByteArray(e):t.fromByteArray(e.slice(r,n))}function k(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i239?4:t>223?3:t>191?2:1;if(i+o<=r){let r,n,s,l;switch(o){case 1:t<128&&(a=t);break;case 2:r=e[i+1],128==(192&r)&&(l=(31&t)<<6|63&r,l>127&&(a=l));break;case 3:r=e[i+1],n=e[i+2],128==(192&r)&&128==(192&n)&&(l=(15&t)<<12|(63&r)<<6|63&n,l>2047&&(l<55296||l>57343)&&(a=l));break;case 4:r=e[i+1],n=e[i+2],s=e[i+3],128==(192&r)&&128==(192&n)&&128==(192&s)&&(l=(15&t)<<18|(63&r)<<12|(63&n)<<6|63&s,l>65535&&l<1114112&&(a=l))}}null===a?(a=65533,o=1):a>65535&&(a-=65536,n.push(a>>>10&1023|55296),a=56320|1023&a),n.push(a),i+=o}return function(e){let t=e.length;if(t<=A)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn.length?(o.isBuffer(t)||(t=o.from(t)),t.copy(n,i)):Uint8Array.prototype.set.call(n,t,i);else{if(!o.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(n,i)}i+=t.length}return n},o.byteLength=p,o.prototype._isBuffer=!0,o.prototype.swap16=function(){let e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tr&&(t+=" ... "),""},n&&(o.prototype[n]=o.prototype.inspect),o.prototype.compare=function(e,t,r,n,i){if(Z(e,Uint8Array)&&(e=o.from(e,e.offset,e.byteLength)),!o.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;let a=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(t>>>=0),l=Math.min(a,s),c=this.slice(n,i),u=e.slice(t,r);for(let e=0;e>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}let i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let a=!1;for(;;)switch(n){case"hex":return v(this,e,t,r);case"utf8":case"utf-8":return x(this,e,t,r);case"ascii":case"latin1":case"binary":return _(this,e,t,r);case"base64":return b(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return w(this,e,t,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var A=4096;function M(e,t,r){let n="";r=Math.min(e.length,r);for(let i=t;in)&&(r=n);let i="";for(let n=t;nr)throw new RangeError("Trying to access beyond buffer length")}function L(e,t,r,n,i,a){if(!o.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function P(e,t,r,n,i){N(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=o,o>>=8,e[r++]=o,o>>=8,e[r++]=o,o>>=8,e[r++]=o,r}function z(e,t,r,n,i){N(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r+7]=a,a>>=8,e[r+6]=a,a>>=8,e[r+5]=a,a>>=8,e[r+4]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=o,o>>=8,e[r+2]=o,o>>=8,e[r+1]=o,o>>=8,e[r]=o,r+8}function D(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function O(e,t,n,i,a){return t=+t,n>>>=0,a||D(e,0,n,4),r.write(e,t,n,i,23,4),n+4}function R(e,t,n,i,a){return t=+t,n>>>=0,a||D(e,0,n,8),r.write(e,t,n,i,52,8),n+8}o.prototype.slice=function(e,t){let r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||I(e,t,this.length);let n=this[e],i=1,a=0;for(;++a>>=0,t>>>=0,r||I(e,t,this.length);let n=this[e+--t],i=1;for(;t>0&&(i*=256);)n+=this[e+--t]*i;return n},o.prototype.readUint8=o.prototype.readUInt8=function(e,t){return e>>>=0,t||I(e,1,this.length),this[e]},o.prototype.readUint16LE=o.prototype.readUInt16LE=function(e,t){return e>>>=0,t||I(e,2,this.length),this[e]|this[e+1]<<8},o.prototype.readUint16BE=o.prototype.readUInt16BE=function(e,t){return e>>>=0,t||I(e,2,this.length),this[e]<<8|this[e+1]},o.prototype.readUint32LE=o.prototype.readUInt32LE=function(e,t){return e>>>=0,t||I(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},o.prototype.readUint32BE=o.prototype.readUInt32BE=function(e,t){return e>>>=0,t||I(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},o.prototype.readBigUInt64LE=$((function(e){U(e>>>=0,"offset");let t=this[e],r=this[e+7];(void 0===t||void 0===r)&&V(e,this.length-8);let n=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,i=this[++e]+256*this[++e]+65536*this[++e]+r*2**24;return BigInt(n)+(BigInt(i)<>>=0,"offset");let t=this[e],r=this[e+7];(void 0===t||void 0===r)&&V(e,this.length-8);let n=t*2**24+65536*this[++e]+256*this[++e]+this[++e],i=this[++e]*2**24+65536*this[++e]+256*this[++e]+r;return(BigInt(n)<>>=0,t>>>=0,r||I(e,t,this.length);let n=this[e],i=1,a=0;for(;++a=i&&(n-=Math.pow(2,8*t)),n},o.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||I(e,t,this.length);let n=t,i=1,a=this[e+--n];for(;n>0&&(i*=256);)a+=this[e+--n]*i;return i*=128,a>=i&&(a-=Math.pow(2,8*t)),a},o.prototype.readInt8=function(e,t){return e>>>=0,t||I(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},o.prototype.readInt16LE=function(e,t){e>>>=0,t||I(e,2,this.length);let r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},o.prototype.readInt16BE=function(e,t){e>>>=0,t||I(e,2,this.length);let r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},o.prototype.readInt32LE=function(e,t){return e>>>=0,t||I(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},o.prototype.readInt32BE=function(e,t){return e>>>=0,t||I(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},o.prototype.readBigInt64LE=$((function(e){U(e>>>=0,"offset");let t=this[e],r=this[e+7];(void 0===t||void 0===r)&&V(e,this.length-8);let n=this[e+4]+256*this[e+5]+65536*this[e+6]+(r<<24);return(BigInt(n)<>>=0,"offset");let t=this[e],r=this[e+7];(void 0===t||void 0===r)&&V(e,this.length-8);let n=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(n)<>>=0,t||I(e,4,this.length),r.read(this,e,!0,23,4)},o.prototype.readFloatBE=function(e,t){return e>>>=0,t||I(e,4,this.length),r.read(this,e,!1,23,4)},o.prototype.readDoubleLE=function(e,t){return e>>>=0,t||I(e,8,this.length),r.read(this,e,!0,52,8)},o.prototype.readDoubleBE=function(e,t){return e>>>=0,t||I(e,8,this.length),r.read(this,e,!1,52,8)},o.prototype.writeUintLE=o.prototype.writeUIntLE=function(e,t,r,n){e=+e,t>>>=0,r>>>=0,n||L(this,e,t,r,Math.pow(2,8*r)-1,0);let i=1,a=0;for(this[t]=255&e;++a>>=0,r>>>=0,n||L(this,e,t,r,Math.pow(2,8*r)-1,0);let i=r-1,a=1;for(this[t+i]=255&e;--i>=0&&(a*=256);)this[t+i]=e/a&255;return t+r},o.prototype.writeUint8=o.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,1,255,0),this[t]=255&e,t+1},o.prototype.writeUint16LE=o.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},o.prototype.writeUint16BE=o.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},o.prototype.writeUint32LE=o.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},o.prototype.writeUint32BE=o.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},o.prototype.writeBigUInt64LE=$((function(e,t=0){return P(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),o.prototype.writeBigUInt64BE=$((function(e,t=0){return z(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),o.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){let n=Math.pow(2,8*r-1);L(this,e,t,r,n-1,-n)}let i=0,a=1,o=0;for(this[t]=255&e;++i>>=0,!n){let n=Math.pow(2,8*r-1);L(this,e,t,r,n-1,-n)}let i=r-1,a=1,o=0;for(this[t+i]=255&e;--i>=0&&(a*=256);)e<0&&0===o&&0!==this[t+i+1]&&(o=1),this[t+i]=(e/a|0)-o&255;return t+r},o.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},o.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},o.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},o.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},o.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||L(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},o.prototype.writeBigInt64LE=$((function(e,t=0){return P(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),o.prototype.writeBigInt64BE=$((function(e,t=0){return z(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),o.prototype.writeFloatLE=function(e,t,r){return O(this,e,t,!0,r)},o.prototype.writeFloatBE=function(e,t,r){return O(this,e,t,!1,r)},o.prototype.writeDoubleLE=function(e,t,r){return R(this,e,t,!0,r)},o.prototype.writeDoubleBE=function(e,t,r){return R(this,e,t,!1,r)},o.prototype.copy=function(e,t,r,n){if(!o.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),!n&&0!==n&&(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function N(e,t,r,n,i,a){if(e>r||e3?0===t||t===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(a+1)}${i}`:`>= -(2${i} ** ${8*(a+1)-1}${i}) and < 2 ** ${8*(a+1)-1}${i}`:`>= ${t}${i} and <= ${r}${i}`,new F.ERR_OUT_OF_RANGE("value",n,e)}!function(e,t,r){U(t,"offset"),(void 0===e[t]||void 0===e[t+r])&&V(t,e.length-(r+1))}(n,i,a)}function U(e,t){if("number"!=typeof e)throw new F.ERR_INVALID_ARG_TYPE(t,"number",e)}function V(e,t,r){throw Math.floor(e)!==e?(U(e,r),new F.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new F.ERR_BUFFER_OUT_OF_BOUNDS:new F.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}B("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),B("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),B("ERR_OUT_OF_RANGE",(function(e,t,r){let n=`The value of "${e}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=j(String(r)):"bigint"==typeof r&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=j(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n}),RangeError);var q=/[^+/0-9A-Za-z-_]/g;function H(e,t){t=t||1/0;let r,n=e.length,i=null,a=[];for(let o=0;o55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function G(e){return t.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(q,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function W(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function Z(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function Y(e){return e!=e}var X=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=16*r;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function $(e){return typeof BigInt>"u"?K:e}function K(){throw new Error("BigInt not supported")}}}),Gl=m({"node_modules/has-symbols/shams.js"(e,t){t.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),r=Object(t);if("string"==typeof t||"[object Symbol]"!==Object.prototype.toString.call(t)||"[object Symbol]"!==Object.prototype.toString.call(r))return!1;for(var n in e[t]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length||"function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var i=Object.getOwnPropertySymbols(e);if(1!==i.length||i[0]!==t||!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var a=Object.getOwnPropertyDescriptor(e,t);if(42!==a.value||!0!==a.enumerable)return!1}return!0}}}),Wl=m({"node_modules/has-tostringtag/shams.js"(e,t){var r=Gl();t.exports=function(){return r()&&!!Symbol.toStringTag}}}),Zl=m({"node_modules/es-object-atoms/index.js"(e,t){t.exports=Object}}),Yl=m({"node_modules/es-errors/index.js"(e,t){t.exports=Error}}),Xl=m({"node_modules/es-errors/eval.js"(e,t){t.exports=EvalError}}),$l=m({"node_modules/es-errors/range.js"(e,t){t.exports=RangeError}}),Kl=m({"node_modules/es-errors/ref.js"(e,t){t.exports=ReferenceError}}),Jl=m({"node_modules/es-errors/syntax.js"(e,t){t.exports=SyntaxError}}),Ql=m({"node_modules/es-errors/type.js"(e,t){t.exports=TypeError}}),ec=m({"node_modules/es-errors/uri.js"(e,t){t.exports=URIError}}),tc=m({"node_modules/math-intrinsics/abs.js"(e,t){t.exports=Math.abs}}),rc=m({"node_modules/math-intrinsics/floor.js"(e,t){t.exports=Math.floor}}),nc=m({"node_modules/math-intrinsics/max.js"(e,t){t.exports=Math.max}}),ic=m({"node_modules/math-intrinsics/min.js"(e,t){t.exports=Math.min}}),ac=m({"node_modules/math-intrinsics/pow.js"(e,t){t.exports=Math.pow}}),oc=m({"node_modules/math-intrinsics/round.js"(e,t){t.exports=Math.round}}),sc=m({"node_modules/math-intrinsics/isNaN.js"(e,t){t.exports=Number.isNaN||function(e){return e!=e}}}),lc=m({"node_modules/math-intrinsics/sign.js"(e,t){var r=sc();t.exports=function(e){return r(e)||0===e?e:e<0?-1:1}}}),cc=m({"node_modules/gopd/gOPD.js"(e,t){t.exports=Object.getOwnPropertyDescriptor}}),uc=m({"node_modules/gopd/index.js"(e,t){var r=cc();if(r)try{r([],"length")}catch{r=null}t.exports=r}}),hc=m({"node_modules/es-define-property/index.js"(e,t){var r=Object.defineProperty||!1;if(r)try{r({},"a",{value:1})}catch{r=!1}t.exports=r}}),fc=m({"node_modules/has-symbols/index.js"(e,t){var r=typeof Symbol<"u"&&Symbol,n=Gl();t.exports=function(){return"function"==typeof r&&"function"==typeof Symbol&&"symbol"==typeof r("foo")&&"symbol"==typeof Symbol("bar")&&n()}}}),pc=m({"node_modules/get-proto/Reflect.getPrototypeOf.js"(e,t){t.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null}}),dc=m({"node_modules/get-proto/Object.getPrototypeOf.js"(e,t){var r=Zl();t.exports=r.getPrototypeOf||null}}),mc=m({"node_modules/function-bind/implementation.js"(e,t){var r=Object.prototype.toString,n=Math.max,i=function(e,t){for(var r=[],n=0;n"u"||!A?r:A(Uint8Array),P={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?r:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?r:ArrayBuffer,"%ArrayIteratorPrototype%":k&&A?A([][Symbol.iterator]()):r,"%AsyncFromSyncIteratorPrototype%":r,"%AsyncFunction%":I,"%AsyncGenerator%":I,"%AsyncGeneratorFunction%":I,"%AsyncIteratorPrototype%":I,"%Atomics%":typeof Atomics>"u"?r:Atomics,"%BigInt%":typeof BigInt>"u"?r:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?r:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?r:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?r:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":i,"%eval%":eval,"%EvalError%":a,"%Float16Array%":typeof Float16Array>"u"?r:Float16Array,"%Float32Array%":typeof Float32Array>"u"?r:Float32Array,"%Float64Array%":typeof Float64Array>"u"?r:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?r:FinalizationRegistry,"%Function%":v,"%GeneratorFunction%":I,"%Int8Array%":typeof Int8Array>"u"?r:Int8Array,"%Int16Array%":typeof Int16Array>"u"?r:Int16Array,"%Int32Array%":typeof Int32Array>"u"?r:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":k&&A?A(A([][Symbol.iterator]())):r,"%JSON%":"object"==typeof JSON?JSON:r,"%Map%":typeof Map>"u"?r:Map,"%MapIteratorPrototype%":typeof Map>"u"||!k||!A?r:A((new Map)[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":n,"%Object.getOwnPropertyDescriptor%":_,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?r:Promise,"%Proxy%":typeof Proxy>"u"?r:Proxy,"%RangeError%":o,"%ReferenceError%":s,"%Reflect%":typeof Reflect>"u"?r:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?r:Set,"%SetIteratorPrototype%":typeof Set>"u"||!k||!A?r:A((new Set)[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?r:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":k&&A?A(""[Symbol.iterator]()):r,"%Symbol%":k?Symbol:r,"%SyntaxError%":l,"%ThrowTypeError%":T,"%TypedArray%":L,"%TypeError%":c,"%Uint8Array%":typeof Uint8Array>"u"?r:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?r:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?r:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?r:Uint32Array,"%URIError%":u,"%WeakMap%":typeof WeakMap>"u"?r:WeakMap,"%WeakRef%":typeof WeakRef>"u"?r:WeakRef,"%WeakSet%":typeof WeakSet>"u"?r:WeakSet,"%Function.prototype.call%":C,"%Function.prototype.apply%":E,"%Object.defineProperty%":b,"%Object.getPrototypeOf%":M,"%Math.abs%":h,"%Math.floor%":f,"%Math.max%":p,"%Math.min%":d,"%Math.pow%":m,"%Math.round%":g,"%Math.sign%":y,"%Reflect.getPrototypeOf%":S};if(A)try{null.error}catch(e){z=A(A(e)),P["%Error.prototype%"]=z}var z,D=function e(t){var r;if("%AsyncFunction%"===t)r=x("async function () {}");else if("%GeneratorFunction%"===t)r=x("function* () {}");else if("%AsyncGeneratorFunction%"===t)r=x("async function* () {}");else if("%AsyncGenerator%"===t){var n=e("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if("%AsyncIteratorPrototype%"===t){var i=e("%AsyncGenerator%");i&&A&&(r=A(i.prototype))}return P[t]=r,r},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"]},R=gc(),F=kc(),B=R.call(C,Array.prototype.concat),j=R.call(E,Array.prototype.splice),N=R.call(C,String.prototype.replace),U=R.call(C,String.prototype.slice),V=R.call(C,RegExp.prototype.exec),q=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,H=/\\(\\)?/g,G=function(e,t){var r,n=e;if(F(O,n)&&(n="%"+(r=O[n])[0]+"%"),F(P,n)){var i=P[n];if(i===I&&(i=D(n)),typeof i>"u"&&!t)throw new c("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:r,name:n,value:i}}throw new l("intrinsic "+e+" does not exist!")};t.exports=function(e,t){if("string"!=typeof e||0===e.length)throw new c("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof t)throw new c('"allowMissing" argument must be a boolean');if(null===V(/^%?[^%]*%?$/,e))throw new l("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=function(e){var t=U(e,0,1),r=U(e,-1);if("%"===t&&"%"!==r)throw new l("invalid intrinsic syntax, expected closing `%`");if("%"===r&&"%"!==t)throw new l("invalid intrinsic syntax, expected opening `%`");var n=[];return N(e,q,(function(e,t,r,i){n[n.length]=r?N(i,H,"$1"):t||e})),n}(e),n=r.length>0?r[0]:"",i=G("%"+n+"%",t),a=i.name,o=i.value,s=!1,u=i.alias;u&&(n=u[0],j(r,B([0,1],u)));for(var h=1,f=!0;h=r.length){var g=_(o,p);o=(f=!!g)&&"get"in g&&!("originalValue"in g.get)?g.get:o[p]}else f=F(o,p),o=o[p];f&&!s&&(P[a]=o)}}return o}}}),Mc=m({"node_modules/define-data-property/index.js"(e,t){var r=hc(),n=Jl(),i=Ql(),a=uc();t.exports=function(e,t,o){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new i("`obj` must be an object or a function`");if("string"!=typeof t&&"symbol"!=typeof t)throw new i("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new i("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new i("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new i("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new i("`loose`, if provided, must be a boolean");var s=arguments.length>3?arguments[3]:null,l=arguments.length>4?arguments[4]:null,c=arguments.length>5?arguments[5]:null,u=arguments.length>6&&arguments[6],h=!!a&&a(e,t);if(r)r(e,t,{configurable:null===c&&h?h.configurable:!c,enumerable:null===s&&h?h.enumerable:!s,value:o,writable:null===l&&h?h.writable:!l});else{if(!u&&(s||l||c))throw new n("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");e[t]=o}}}}),Sc=m({"node_modules/has-property-descriptors/index.js"(e,t){var r=hc(),n=function(){return!!r};n.hasArrayLengthDefineBug=function(){if(!r)return null;try{return 1!==r([],"length",{value:1}).length}catch{return!0}},t.exports=n}}),Ec=m({"node_modules/set-function-length/index.js"(e,t){var r=Ac(),n=Mc(),i=Sc()(),a=uc(),o=Ql(),s=r("%Math.floor%");t.exports=function(e,t){if("function"!=typeof e)throw new o("`fn` is not a function");if("number"!=typeof t||t<0||t>4294967295||s(t)!==t)throw new o("`length` must be a positive 32-bit integer");var r=arguments.length>2&&!!arguments[2],l=!0,c=!0;if("length"in e&&a){var u=a(e,"length");u&&!u.configurable&&(l=!1),u&&!u.writable&&(c=!1)}return(l||c||!r)&&(i?n(e,"length",t,!0,!0):n(e,"length",t)),e}}}),Cc=m({"node_modules/call-bind/index.js"(e,t){var r=gc(),n=Ac(),i=Ec(),a=Ql(),o=n("%Function.prototype.apply%"),s=n("%Function.prototype.call%"),l=n("%Reflect.apply%",!0)||r.call(s,o),c=hc(),u=n("%Math.max%");t.exports=function(e){if("function"!=typeof e)throw new a("a function is required");var t=l(r,s,arguments);return i(t,1+u(0,e.length-(arguments.length-1)),!0)};var h=function(){return l(r,o,arguments)};c?c(t.exports,"apply",{value:h}):t.exports.apply=h}}),Ic=m({"node_modules/call-bind/callBound.js"(e,t){var r=Ac(),n=Cc(),i=n(r("String.prototype.indexOf"));t.exports=function(e,t){var a=r(e,!!t);return"function"==typeof a&&i(e,".prototype.")>-1?n(a):a}}}),Lc=m({"node_modules/is-arguments/index.js"(e,t){var r=Wl()(),n=Ic()("Object.prototype.toString"),i=function(e){return!(r&&e&&"object"==typeof e&&Symbol.toStringTag in e)&&"[object Arguments]"===n(e)},a=function(e){return!!i(e)||null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Array]"!==n(e)&&"[object Function]"===n(e.callee)},o=function(){return i(arguments)}();i.isLegacyArguments=a,t.exports=o?i:a}}),Pc=m({"node_modules/is-generator-function/index.js"(e,t){var r,n=Object.prototype.toString,i=Function.prototype.toString,a=/^\s*(?:function)?\*/,o=Wl()(),s=Object.getPrototypeOf;t.exports=function(e){if("function"!=typeof e)return!1;if(a.test(i.call(e)))return!0;if(!o)return"[object GeneratorFunction]"===n.call(e);if(!s)return!1;if(typeof r>"u"){var t=function(){if(!o)return!1;try{return Function("return function*() {}")()}catch{}}();r=!!t&&s(t)}return s(e)===r}}}),zc=m({"node_modules/is-callable/index.js"(e,t){var r,n,i=Function.prototype.toString,a="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof a&&"function"==typeof Object.defineProperty)try{r=Object.defineProperty({},"length",{get:function(){throw n}}),n={},a((function(){throw 42}),null,r)}catch(e){e!==n&&(a=null)}else a=null;var o,s=/^\s*class\b/,l=function(e){try{var t=i.call(e);return s.test(t)}catch{return!1}},c=function(e){try{return!l(e)&&(i.call(e),!0)}catch{return!1}},u=Object.prototype.toString,h="function"==typeof Symbol&&!!Symbol.toStringTag,f=!(0 in[,]),p=function(){return!1};"object"==typeof document&&(o=document.all,u.call(o)===u.call(document.all)&&(p=function(e){if((f||!e)&&(typeof e>"u"||"object"==typeof e))try{var t=u.call(e);return("[object HTMLAllCollection]"===t||"[object HTML document.all class]"===t||"[object HTMLCollection]"===t||"[object Object]"===t)&&null==e("")}catch{}return!1})),t.exports=a?function(e){if(p(e))return!0;if(!e||"function"!=typeof e&&"object"!=typeof e)return!1;try{a(e,null,r)}catch(e){if(e!==n)return!1}return!l(e)&&c(e)}:function(e){if(p(e))return!0;if(!e||"function"!=typeof e&&"object"!=typeof e)return!1;if(h)return c(e);if(l(e))return!1;var t=u.call(e);return!("[object Function]"!==t&&"[object GeneratorFunction]"!==t&&!/^\[object HTML/.test(t))&&c(e)}}}),Dc=m({"node_modules/for-each/index.js"(e,t){var r=zc(),n=Object.prototype.toString,i=Object.prototype.hasOwnProperty;t.exports=function(e,t,a){if(!r(t))throw new TypeError("iterator must be a function");var o;arguments.length>=3&&(o=a),"[object Array]"===n.call(e)?function(e,t,r){for(var n=0,a=e.length;n"u"?window:globalThis;t.exports=function(){for(var e=[],t=0;t"u"?window:globalThis,u=n(),h=a("String.prototype.slice"),f=Object.getPrototypeOf,p=a("Array.prototype.indexOf",!0)||function(e,t){for(var r=0;r-1?t:"Object"===t&&function(e){var t=!1;return r(d,(function(r,n){if(!t)try{r(e),t=h(n,1)}catch{}})),t}(e)}return o?function(e){var t=!1;return r(d,(function(r,n){if(!t)try{"$"+r(e)===n&&(t=h(n,1))}catch{}})),t}(e):null}}}),Fc=m({"node_modules/is-typed-array/index.js"(e,t){var r=Dc(),n=Oc(),i=Ic(),a=i("Object.prototype.toString"),o=Wl()(),s=uc(),l=typeof globalThis>"u"?window:globalThis,c=n(),u=i("Array.prototype.indexOf",!0)||function(e,t){for(var r=0;r-1}return!!s&&function(e){var t=!1;return r(f,(function(r,n){if(!t)try{t=r.call(e)===n}catch{}})),t}(e)}}}),Bc=m({"node_modules/util/support/types.js"(e){var t=Lc(),r=Pc(),n=Rc(),i=Fc();function a(e){return e.call.bind(e)}var o,s,l=typeof BigInt<"u",c=typeof Symbol<"u",u=a(Object.prototype.toString),h=a(Number.prototype.valueOf),f=a(String.prototype.valueOf),p=a(Boolean.prototype.valueOf);function d(e,t){if("object"!=typeof e)return!1;try{return t(e),!0}catch{return!1}}function m(e){return"[object Map]"===u(e)}function g(e){return"[object Set]"===u(e)}function y(e){return"[object WeakMap]"===u(e)}function v(e){return"[object WeakSet]"===u(e)}function x(e){return"[object ArrayBuffer]"===u(e)}function _(e){return!(typeof ArrayBuffer>"u")&&(x.working?x(e):e instanceof ArrayBuffer)}function b(e){return"[object DataView]"===u(e)}function w(e){return!(typeof DataView>"u")&&(b.working?b(e):e instanceof DataView)}l&&(o=a(BigInt.prototype.valueOf)),c&&(s=a(Symbol.prototype.valueOf)),e.isArgumentsObject=t,e.isGeneratorFunction=r,e.isTypedArray=i,e.isPromise=function(e){return typeof Promise<"u"&&e instanceof Promise||null!==e&&"object"==typeof e&&"function"==typeof e.then&&"function"==typeof e.catch},e.isArrayBufferView=function(e){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(e):i(e)||w(e)},e.isUint8Array=function(e){return"Uint8Array"===n(e)},e.isUint8ClampedArray=function(e){return"Uint8ClampedArray"===n(e)},e.isUint16Array=function(e){return"Uint16Array"===n(e)},e.isUint32Array=function(e){return"Uint32Array"===n(e)},e.isInt8Array=function(e){return"Int8Array"===n(e)},e.isInt16Array=function(e){return"Int16Array"===n(e)},e.isInt32Array=function(e){return"Int32Array"===n(e)},e.isFloat32Array=function(e){return"Float32Array"===n(e)},e.isFloat64Array=function(e){return"Float64Array"===n(e)},e.isBigInt64Array=function(e){return"BigInt64Array"===n(e)},e.isBigUint64Array=function(e){return"BigUint64Array"===n(e)},m.working=typeof Map<"u"&&m(new Map),e.isMap=function(e){return!(typeof Map>"u")&&(m.working?m(e):e instanceof Map)},g.working=typeof Set<"u"&&g(new Set),e.isSet=function(e){return!(typeof Set>"u")&&(g.working?g(e):e instanceof Set)},y.working=typeof WeakMap<"u"&&y(new WeakMap),e.isWeakMap=function(e){return!(typeof WeakMap>"u")&&(y.working?y(e):e instanceof WeakMap)},v.working=typeof WeakSet<"u"&&v(new WeakSet),e.isWeakSet=function(e){return v(e)},x.working=typeof ArrayBuffer<"u"&&x(new ArrayBuffer),e.isArrayBuffer=_,b.working=typeof ArrayBuffer<"u"&&typeof DataView<"u"&&b(new DataView(new ArrayBuffer(1),0,1)),e.isDataView=w;var T=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:void 0;function k(e){return"[object SharedArrayBuffer]"===u(e)}function A(e){return!(typeof T>"u")&&(typeof k.working>"u"&&(k.working=k(new T)),k.working?k(e):e instanceof T)}function M(e){return d(e,h)}function S(e){return d(e,f)}function E(e){return d(e,p)}function C(e){return l&&d(e,o)}function I(e){return c&&d(e,s)}e.isSharedArrayBuffer=A,e.isAsyncFunction=function(e){return"[object AsyncFunction]"===u(e)},e.isMapIterator=function(e){return"[object Map Iterator]"===u(e)},e.isSetIterator=function(e){return"[object Set Iterator]"===u(e)},e.isGeneratorObject=function(e){return"[object Generator]"===u(e)},e.isWebAssemblyCompiledModule=function(e){return"[object WebAssembly.Module]"===u(e)},e.isNumberObject=M,e.isStringObject=S,e.isBooleanObject=E,e.isBigIntObject=C,e.isSymbolObject=I,e.isBoxedPrimitive=function(e){return M(e)||S(e)||E(e)||C(e)||I(e)},e.isAnyArrayBuffer=function(e){return typeof Uint8Array<"u"&&(_(e)||A(e))},["isProxy","isExternal","isModuleNamespaceObject"].forEach((function(t){Object.defineProperty(e,t,{enumerable:!1,value:function(){throw new Error(t+" is not supported in userland")}})}))}}),jc=m({"node_modules/util/support/isBufferBrowser.js"(e,t){t.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}}}),Nc=m({"(disabled):node_modules/util/util.js"(e){var t=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},n=0;n=a)return e;switch(e){case"%s":return String(i[n++]);case"%d":return Number(i[n++]);case"%j":try{return JSON.stringify(i[n++])}catch{return"[Circular]"}default:return e}})),l=i[n];n"u")return function(){return e.deprecate(t,r).apply(this,arguments)};var n=!1;return function(){if(!n){if(c.throwDeprecation)throw new Error(r);c.traceDeprecation?console.trace(r):console.error(r),n=!0}return t.apply(this,arguments)}};var n,i={},a=/^$/;function o(t,r){var n={seen:[],stylize:l};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(r)?n.showHidden=r:r&&e._extend(n,r),v(n.showHidden)&&(n.showHidden=!1),v(n.depth)&&(n.depth=2),v(n.colors)&&(n.colors=!1),v(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=s),u(n,t,n.depth)}function s(e,t){var r=o.styles[t];return r?"["+o.colors[r][0]+"m"+e+"["+o.colors[r][1]+"m":e}function l(e,t){return e}function u(t,r,n){if(t.customInspect&&r&&T(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,t);return y(i)||(i=u(t,i,n)),i}var a=function(e,t){if(v(t))return e.stylize("undefined","undefined");if(y(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}return g(t)?e.stylize(""+t,"number"):d(t)?e.stylize(""+t,"boolean"):m(t)?e.stylize("null","null"):void 0}(t,r);if(a)return a;var o=Object.keys(r),s=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),w(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return h(r);if(0===o.length){if(T(r)){var l=r.name?": "+r.name:"";return t.stylize("[Function"+l+"]","special")}if(x(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(b(r))return t.stylize(Date.prototype.toString.call(r),"date");if(w(r))return h(r)}var c,_="",k=!1,A=["{","}"];return p(r)&&(k=!0,A=["[","]"]),T(r)&&(_=" [Function"+(r.name?": "+r.name:"")+"]"),x(r)&&(_=" "+RegExp.prototype.toString.call(r)),b(r)&&(_=" "+Date.prototype.toUTCString.call(r)),w(r)&&(_=" "+h(r)),0!==o.length||k&&0!=r.length?n<0?x(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),c=k?function(e,t,r,n,i){for(var a=[],o=0,s=t.length;o60?r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}(c,_,A)):A[0]+_+A[1]}function h(e){return"["+Error.prototype.toString.call(e)+"]"}function f(e,t,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(s=e.stylize("[Setter]","special")),S(n,i)||(o="["+i+"]"),s||(e.seen.indexOf(l.value)<0?(s=m(r)?u(e,l.value,null):u(e,l.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map((function(e){return" "+e})).join("\n").slice(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),v(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+s}function p(e){return Array.isArray(e)}function d(e){return"boolean"==typeof e}function m(e){return null===e}function g(e){return"number"==typeof e}function y(e){return"string"==typeof e}function v(e){return void 0===e}function x(e){return _(e)&&"[object RegExp]"===k(e)}function _(e){return"object"==typeof e&&null!==e}function b(e){return _(e)&&"[object Date]"===k(e)}function w(e){return _(e)&&("[object Error]"===k(e)||e instanceof Error)}function T(e){return"function"==typeof e}function k(e){return Object.prototype.toString.call(e)}function A(e){return e<10?"0"+e.toString(10):e.toString(10)}n=(n="false").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),a=new RegExp("^"+n+"$","i"),e.debuglog=function(t){if(t=t.toUpperCase(),!i[t])if(a.test(t)){var r=c.pid;i[t]=function(){var n=e.format.apply(e,arguments);console.error("%s %d: %s",t,r,n)}}else i[t]=function(){};return i[t]},e.inspect=o,o.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]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.types=Bc(),e.isArray=p,e.isBoolean=d,e.isNull=m,e.isNullOrUndefined=function(e){return null==e},e.isNumber=g,e.isString=y,e.isSymbol=function(e){return"symbol"==typeof e},e.isUndefined=v,e.isRegExp=x,e.types.isRegExp=x,e.isObject=_,e.isDate=b,e.types.isDate=b,e.isError=w,e.types.isNativeError=w,e.isFunction=T,e.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||typeof e>"u"},e.isBuffer=jc();var M=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.log=function(){var t,r;console.log("%s - %s",(r=[A((t=new Date).getHours()),A(t.getMinutes()),A(t.getSeconds())].join(":"),[t.getDate(),M[t.getMonth()],r].join(" ")),e.format.apply(e,arguments))},e.inherits=Nl(),e._extend=function(e,t){if(!t||!_(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var E=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;function C(e,t){if(!e){var r=new Error("Promise was rejected with a falsy value");r.reason=e,e=r}return t(e)}e.promisify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(E&&e[E]){var r;if("function"!=typeof(r=e[E]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(r,E,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var t,r,n=new Promise((function(e,n){t=e,r=n})),i=[],a=0;a0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r}},{key:"concat",value:function(e){if(0===this.length)return a.alloc(0);for(var t=a.allocUnsafe(e>>>0),r=this.head,n=0;r;)l(r.data,t,n),n+=r.data.length,r=r.next;return t}},{key:"consume",value:function(e,t){var r;return ei.length?i.length:e;if(a===i.length?n+=i:n+=i.slice(0,e),0==(e-=a)){a===i.length?(++r,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(a));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(e){var t=a.allocUnsafe(e),r=this.head,n=1;for(r.data.copy(t),e-=r.data.length;r=r.next;){var i=r.data,o=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,o),0==(e-=o)){o===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(o));break}++n}return this.length-=n,t}},{key:s,value:function(e,t){return o(this,function(e){for(var t=1;t2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:2===r?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}n("ERR_INVALID_OPT_VALUE",(function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'}),TypeError),n("ERR_INVALID_ARG_TYPE",(function(e,t,r){var n,a;if("string"==typeof t&&function(e,t){return e.substr(0,4)===t}(t,"not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be",function(e,t,r){return(void 0===r||r>e.length)&&(r=e.length),e.substring(r-9,r)===t}(e," argument"))a="The ".concat(e," ").concat(n," ").concat(i(t,"type"));else{var o=function(e,t,r){return"number"!=typeof r&&(r=0),!(r+1>e.length)&&-1!==e.indexOf(".",r)}(e)?"property":"argument";a='The "'.concat(e,'" ').concat(o," ").concat(n," ").concat(i(t,"type"))}return a+". Received type ".concat(typeof r)}),TypeError),n("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),n("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),n("ERR_STREAM_PREMATURE_CLOSE","Premature close"),n("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" after a stream was destroyed"})),n("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),n("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),n("ERR_STREAM_WRITE_AFTER_END","write after end"),n("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),n("ERR_UNKNOWN_ENCODING",(function(e){return"Unknown encoding: "+e}),TypeError),n("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.codes=r}}),Hc=m({"node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/state.js"(e,t){var r=qc().codes.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(e,t,n,i){var a=function(e,t,r){return null!=e.highWaterMark?e.highWaterMark:t?e[r]:null}(t,i,n);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0)throw new r(i?n:"highWaterMark",a);return Math.floor(a)}return e.objectMode?16:16384}}}}),Gc=m({"node_modules/util-deprecate/browser.js"(e,t){function r(e){try{if(!window.localStorage)return!1}catch{return!1}var t=window.localStorage[e];return null!=t&&"true"===String(t).toLowerCase()}t.exports=function(e,t){if(r("noDeprecation"))return e;var n=!1;return function(){if(!n){if(r("throwDeprecation"))throw new Error(t);r("traceDeprecation")?console.trace(t):console.warn(t),n=!0}return e.apply(this,arguments)}}}}),Wc=m({"node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_writable.js"(e,t){function r(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t){var r=e.entry;for(e.entry=null;r;){var n=r.callback;t.pendingcb--,n(undefined),r=r.next}t.corkedRequestsFree.next=e}(t,e)}}var n;t.exports=k,k.WritableState=T;var i,a={deprecate:Gc()},o=Ul(),s=Hl().Buffer,l=window.Uint8Array||function(){},u=Vc(),h=Hc().getHighWaterMark,f=qc().codes,p=f.ERR_INVALID_ARG_TYPE,d=f.ERR_METHOD_NOT_IMPLEMENTED,m=f.ERR_MULTIPLE_CALLBACK,g=f.ERR_STREAM_CANNOT_PIPE,y=f.ERR_STREAM_DESTROYED,v=f.ERR_STREAM_NULL_VALUES,x=f.ERR_STREAM_WRITE_AFTER_END,_=f.ERR_UNKNOWN_ENCODING,b=u.errorOrDestroy;function w(){}function T(e,t,i){n=n||Zc(),e=e||{},"boolean"!=typeof i&&(i=t instanceof n),this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=h(this,e,"writableHighWaterMark",i),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var a=!1===e.decodeStrings;this.decodeStrings=!a,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var r=e._writableState,n=r.sync,i=r.writecb;if("function"!=typeof i)throw new m;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(r),t)!function(e,t,r,n,i){--t.pendingcb,r?(c.nextTick(i,n),c.nextTick(I,e,t),e._writableState.errorEmitted=!0,b(e,n)):(i(n),e._writableState.errorEmitted=!0,b(e,n),I(e,t))}(e,r,n,t,i);else{var a=E(r)||e.destroyed;!a&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&S(e,r),n?c.nextTick(M,e,r,a,i):M(e,r,a,i)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new r(this)}function k(e){var t=this instanceof(n=n||Zc());if(!t&&!i.call(k,this))return new k(e);this._writableState=new T(e,this,t),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),o.call(this)}function A(e,t,r,n,i,a,o){t.writelen=n,t.writecb=o,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new y("write")):r?e._writev(i,t.onwrite):e._write(i,a,t.onwrite),t.sync=!1}function M(e,t,r,n){r||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,n(),I(e,t)}function S(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var i=t.bufferedRequestCount,a=new Array(i),o=t.corkedRequestsFree;o.entry=n;for(var s=0,l=!0;n;)a[s]=n,n.isBuf||(l=!1),n=n.next,s+=1;a.allBuffers=l,A(e,t,!0,t.length,a,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new r(t),t.bufferedRequestCount=0}else{for(;n;){var c=n.chunk,u=n.encoding,h=n.callback;if(A(e,t,!1,t.objectMode?1:c.length,c,u,h),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function E(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function C(e,t){e._final((function(r){t.pendingcb--,r&&b(e,r),t.prefinished=!0,e.emit("prefinish"),I(e,t)}))}function I(e,t){var r=E(t);if(r&&(function(e,t){!t.prefinished&&!t.finalCalled&&("function"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.pendingcb++,t.finalCalled=!0,c.nextTick(C,e,t)))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"),t.autoDestroy))){var n=e._readableState;(!n||n.autoDestroy&&n.endEmitted)&&e.destroy()}return r}Nl()(k,o),T.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(T.prototype,"buffer",{get:a.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(i=Function.prototype[Symbol.hasInstance],Object.defineProperty(k,Symbol.hasInstance,{value:function(e){return!!i.call(this,e)||this===k&&e&&e._writableState instanceof T}})):i=function(e){return e instanceof this},k.prototype.pipe=function(){b(this,new g)},k.prototype.write=function(e,t,r){var n=this._writableState,i=!1,a=!n.objectMode&&function(e){return s.isBuffer(e)||e instanceof l}(e);return a&&!s.isBuffer(e)&&(e=function(e){return s.from(e)}(e)),"function"==typeof t&&(r=t,t=null),a?t="buffer":t||(t=n.defaultEncoding),"function"!=typeof r&&(r=w),n.ending?function(e,t){var r=new x;b(e,r),c.nextTick(t,r)}(this,r):(a||function(e,t,r,n){var i;return null===r?i=new v:"string"!=typeof r&&!t.objectMode&&(i=new p("chunk",["string","Buffer"],r)),!i||(b(e,i),c.nextTick(n,i),!1)}(this,n,e,r))&&(n.pendingcb++,i=function(e,t,r,n,i,a){if(!r){var o=function(e,t,r){return!e.objectMode&&!1!==e.decodeStrings&&"string"==typeof t&&(t=s.from(t,r)),t}(t,n,i);n!==o&&(r=!0,i="buffer",n=o)}var l=t.objectMode?1:n.length;t.length+=l;var c=t.length-1))throw new _(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(k.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(k.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),k.prototype._write=function(e,t,r){r(new d("_write()"))},k.prototype._writev=null,k.prototype.end=function(e,t,r){var n=this._writableState;return"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||function(e,t,r){t.ending=!0,I(e,t),r&&(t.finished?c.nextTick(r):e.once("finish",r)),t.ended=!0,e.writable=!1}(this,n,r),this},Object.defineProperty(k.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(k.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),k.prototype.destroy=u.destroy,k.prototype._undestroy=u.undestroy,k.prototype._destroy=function(e,t){t(e)}}}),Zc=m({"node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_duplex.js"(e,t){var r=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};t.exports=l;var n,i,a,o=Qc(),s=Wc();for(Nl()(l,o),n=r(s.prototype),a=0;a>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function a(e){var t=this.lastTotal-this.lastNeed,r=function(e,t){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function o(e,t){if((e.length-t)%2==0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function s(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function l(e,t){var r=(e.length-t)%3;return 0===r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function c(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function u(e){return e.toString(this.encoding)}function h(e){return e&&e.length?this.write(e):""}e.StringDecoder=n,n.prototype.write=function(e){if(0===e.length)return"";var t,r;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0?(a>0&&(e.lastNeed=a-1),a):--n=0?(a>0&&(e.lastNeed=a-2),a):--n=0?(a>0&&(2===a?a=0:e.lastNeed=a-3),a):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)},n.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}}}),$c=m({"node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(e,t){var r=qc().codes.ERR_STREAM_PREMATURE_CLOSE;function n(){}t.exports=function e(t,i,a){if("function"==typeof i)return e(t,null,i);i||(i={}),a=function(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i0)if("string"!=typeof t&&!c.objectMode&&Object.getPrototypeOf(t)!==o.prototype&&(t=function(e){return o.from(e)}(t)),i)c.endEmitted?b(e,new _):M(e,c,t,!0);else if(c.ended)b(e,new v);else{if(c.destroyed)return!1;c.reading=!1,c.decoder&&!r?(t=c.decoder.write(t),c.objectMode||0!==t.length?M(e,c,t,!1):L(e,c)):M(e,c,t,!1)}else i||(c.reading=!1,L(e,c));return!c.ended&&(c.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=S?e=S:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function C(e){var t=e._readableState;n("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(n("emitReadable",t.flowing),t.emittedReadable=!0,c.nextTick(I,e))}function I(e){var t=e._readableState;n("emitReadable_",t.destroyed,t.length,t.ended),!t.destroyed&&(t.length||t.ended)&&(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,R(e)}function L(e,t){t.readingMore||(t.readingMore=!0,c.nextTick(P,e,t))}function P(e,t){for(;!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function D(e){n("readable nexttick read 0"),e.read(0)}function O(e,t){n("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),R(e),t.flowing&&!t.reading&&e.read(0)}function R(e){var t=e._readableState;for(n("flow",t.flowing);t.flowing&&null!==e.read(););}function F(e,t){return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r);var r}function B(e){var t=e._readableState;n("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,c.nextTick(j,t,e))}function j(e,t){if(n("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}function N(e,t){for(var r=0,n=e.length;r=t.highWaterMark:t.length>0)||t.ended))return n("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?B(this):C(this),null;if(0===(e=E(e,t))&&t.ended)return 0===t.length&&B(this),null;var i,a=t.needReadable;return n("need readable",a),(0===t.length||t.length-e0?F(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&B(this)),null!==i&&this.emit("data",i),i},k.prototype._read=function(e){b(this,new x("_read()"))},k.prototype.pipe=function(e,t){var r=this,a=this._readableState;switch(a.pipesCount){case 0:a.pipes=e;break;case 1:a.pipes=[a.pipes,e];break;default:a.pipes.push(e)}a.pipesCount+=1,n("pipe count=%d opts=%j",a.pipesCount,t);var o=t&&!1===t.end||e===c.stdout||e===c.stderr?m:s;function s(){n("onend"),e.end()}a.endEmitted?c.nextTick(o):r.once("end",o),e.on("unpipe",(function t(i,o){n("onunpipe"),i===r&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,n("cleanup"),e.removeListener("close",p),e.removeListener("finish",d),e.removeListener("drain",l),e.removeListener("error",f),e.removeListener("unpipe",t),r.removeListener("end",s),r.removeListener("end",m),r.removeListener("data",h),u=!0,a.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&l())}));var l=function(e){return function(){var t=e._readableState;n("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&i(e,"data")&&(t.flowing=!0,R(e))}}(r);e.on("drain",l);var u=!1;function h(t){n("ondata");var i=e.write(t);n("dest.write",i),!1===i&&((1===a.pipesCount&&a.pipes===e||a.pipesCount>1&&-1!==N(a.pipes,e))&&!u&&(n("false write response, pause",a.awaitDrain),a.awaitDrain++),r.pause())}function f(t){n("onerror",t),m(),e.removeListener("error",f),0===i(e,"error")&&b(e,t)}function p(){e.removeListener("finish",d),m()}function d(){n("onfinish"),e.removeListener("close",p),m()}function m(){n("unpipe"),r.unpipe(e)}return r.on("data",h),function(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,"error",f),e.once("close",p),e.once("finish",d),e.emit("pipe",r),a.flowing||(n("pipe resume"),r.resume()),e},k.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r)),this;if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a0,!1!==i.flowing&&this.resume()):"readable"===e&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,n("on readable",i.length,i.reading),i.length?C(this):i.reading||c.nextTick(D,this)),r},k.prototype.addListener=k.prototype.on,k.prototype.removeListener=function(e,t){var r=a.prototype.removeListener.call(this,e,t);return"readable"===e&&c.nextTick(z,this),r},k.prototype.removeAllListeners=function(e){var t=a.prototype.removeAllListeners.apply(this,arguments);return("readable"===e||void 0===e)&&c.nextTick(z,this),t},k.prototype.resume=function(){var e=this._readableState;return e.flowing||(n("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,c.nextTick(O,e,t))}(this,e)),e.paused=!1,this},k.prototype.pause=function(){return n("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(n("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},k.prototype.wrap=function(e){var t=this,r=this._readableState,i=!1;for(var a in e.on("end",(function(){if(n("wrapped end"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(a){n("wrapped data"),r.decoder&&(a=r.decoder.write(a)),r.objectMode&&null==a||!(r.objectMode||a&&a.length)||t.push(a)||(i=!0,e.pause())})),e)void 0===this[a]&&"function"==typeof e[a]&&(this[a]=function(t){return function(){return e[t].apply(e,arguments)}}(a));for(var o=0;o0,(function(e){u||(u=e),e&&h.forEach(s),!i&&(h.forEach(s),c(u))}))}));return t.reduce(l)}}}),nu=m({"node_modules/stream-browserify/index.js"(e,t){t.exports=n;var r=pt().EventEmitter;function n(){r.call(this)}Nl()(n,r),n.Readable=Qc(),n.Writable=Wc(),n.Duplex=Zc(),n.Transform=eu(),n.PassThrough=tu(),n.finished=$c(),n.pipeline=ru(),n.Stream=n,n.prototype.pipe=function(e,t){var n=this;function i(t){e.writable&&!1===e.write(t)&&n.pause&&n.pause()}function a(){n.readable&&n.resume&&n.resume()}n.on("data",i),e.on("drain",a),!e._isStdio&&(!t||!1!==t.end)&&(n.on("end",s),n.on("close",l));var o=!1;function s(){o||(o=!0,e.end())}function l(){o||(o=!0,"function"==typeof e.destroy&&e.destroy())}function c(e){if(u(),0===r.listenerCount(this,"error"))throw e}function u(){n.removeListener("data",i),e.removeListener("drain",a),n.removeListener("end",s),n.removeListener("close",l),n.removeListener("error",c),e.removeListener("error",c),n.removeListener("end",u),n.removeListener("close",u),e.removeListener("close",u)}return n.on("error",c),e.on("error",c),n.on("end",u),n.on("close",u),e.on("close",u),e.emit("pipe",n),e}}}),iu=m({"node_modules/util/util.js"(e){var t=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},n=0;n=a)return e;switch(e){case"%s":return String(i[n++]);case"%d":return Number(i[n++]);case"%j":try{return JSON.stringify(i[n++])}catch{return"[Circular]"}default:return e}})),l=i[n];n"u")return function(){return e.deprecate(t,r).apply(this,arguments)};var n=!1;return function(){if(!n){if(c.throwDeprecation)throw new Error(r);c.traceDeprecation?console.trace(r):console.error(r),n=!0}return t.apply(this,arguments)}};var n,i={},a=/^$/;function o(t,r){var n={seen:[],stylize:l};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(r)?n.showHidden=r:r&&e._extend(n,r),v(n.showHidden)&&(n.showHidden=!1),v(n.depth)&&(n.depth=2),v(n.colors)&&(n.colors=!1),v(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=s),u(n,t,n.depth)}function s(e,t){var r=o.styles[t];return r?"["+o.colors[r][0]+"m"+e+"["+o.colors[r][1]+"m":e}function l(e,t){return e}function u(t,r,n){if(t.customInspect&&r&&T(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,t);return y(i)||(i=u(t,i,n)),i}var a=function(e,t){if(v(t))return e.stylize("undefined","undefined");if(y(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}return g(t)?e.stylize(""+t,"number"):d(t)?e.stylize(""+t,"boolean"):m(t)?e.stylize("null","null"):void 0}(t,r);if(a)return a;var o=Object.keys(r),s=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),w(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return h(r);if(0===o.length){if(T(r)){var l=r.name?": "+r.name:"";return t.stylize("[Function"+l+"]","special")}if(x(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(b(r))return t.stylize(Date.prototype.toString.call(r),"date");if(w(r))return h(r)}var c,_="",k=!1,A=["{","}"];return p(r)&&(k=!0,A=["[","]"]),T(r)&&(_=" [Function"+(r.name?": "+r.name:"")+"]"),x(r)&&(_=" "+RegExp.prototype.toString.call(r)),b(r)&&(_=" "+Date.prototype.toUTCString.call(r)),w(r)&&(_=" "+h(r)),0!==o.length||k&&0!=r.length?n<0?x(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),c=k?function(e,t,r,n,i){for(var a=[],o=0,s=t.length;o60?r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}(c,_,A)):A[0]+_+A[1]}function h(e){return"["+Error.prototype.toString.call(e)+"]"}function f(e,t,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(s=e.stylize("[Setter]","special")),S(n,i)||(o="["+i+"]"),s||(e.seen.indexOf(l.value)<0?(s=m(r)?u(e,l.value,null):u(e,l.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map((function(e){return" "+e})).join("\n").slice(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),v(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+s}function p(e){return Array.isArray(e)}function d(e){return"boolean"==typeof e}function m(e){return null===e}function g(e){return"number"==typeof e}function y(e){return"string"==typeof e}function v(e){return void 0===e}function x(e){return _(e)&&"[object RegExp]"===k(e)}function _(e){return"object"==typeof e&&null!==e}function b(e){return _(e)&&"[object Date]"===k(e)}function w(e){return _(e)&&("[object Error]"===k(e)||e instanceof Error)}function T(e){return"function"==typeof e}function k(e){return Object.prototype.toString.call(e)}function A(e){return e<10?"0"+e.toString(10):e.toString(10)}n=(n="false").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),a=new RegExp("^"+n+"$","i"),e.debuglog=function(t){if(t=t.toUpperCase(),!i[t])if(a.test(t)){var r=c.pid;i[t]=function(){var n=e.format.apply(e,arguments);console.error("%s %d: %s",t,r,n)}}else i[t]=function(){};return i[t]},e.inspect=o,o.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]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.types=Bc(),e.isArray=p,e.isBoolean=d,e.isNull=m,e.isNullOrUndefined=function(e){return null==e},e.isNumber=g,e.isString=y,e.isSymbol=function(e){return"symbol"==typeof e},e.isUndefined=v,e.isRegExp=x,e.types.isRegExp=x,e.isObject=_,e.isDate=b,e.types.isDate=b,e.isError=w,e.types.isNativeError=w,e.isFunction=T,e.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||typeof e>"u"},e.isBuffer=jc();var M=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.log=function(){var t,r;console.log("%s - %s",(r=[A((t=new Date).getHours()),A(t.getMinutes()),A(t.getSeconds())].join(":"),[t.getDate(),M[t.getMonth()],r].join(" ")),e.format.apply(e,arguments))},e.inherits=Nl(),e._extend=function(e,t){if(!t||!_(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var E=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;function C(e,t){if(!e){var r=new Error("Promise was rejected with a falsy value");r.reason=e,e=r}return t(e)}e.promisify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(E&&e[E]){var r;if("function"!=typeof(r=e[E]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(r,E,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var t,r,n=new Promise((function(e,n){t=e,r=n})),i=[],a=0;a"u"||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch{return!1}}();return function(){var n,a=i(e);if(t){var o=i(this).constructor;n=Reflect.construct(a,arguments,o)}else n=a.apply(this,arguments);return function(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,n)}}(s);function s(r,n,i){var a;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s),a=o.call(this,function(e,r,n){return"string"==typeof t?t:t(e,r,n)}(r,n,i)),a.code=e,a}return function(e){return Object.defineProperty(e,"prototype",{writable:!1}),e}(s)}(a);s[e]=o}function c(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map((function(e){return String(e)})),r>2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:2===r?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}l("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),l("ERR_INVALID_ARG_TYPE",(function(e,t,n){var i,o;if(void 0===a&&(a=wu()),a("string"==typeof e,"'name' must be a string"),"string"==typeof t&&function(e,t){return e.substr(0,4)===t}(t,"not ")?(i="must not be",t=t.replace(/^not /,"")):i="must be",function(e,t,r){return(void 0===r||r>e.length)&&(r=e.length),e.substring(r-9,r)===t}(e," argument"))o="The ".concat(e," ").concat(i," ").concat(c(t,"type"));else{var s=function(e,t,r){return"number"!=typeof r&&(r=0),!(r+1>e.length)&&-1!==e.indexOf(".",r)}(e)?"property":"argument";o='The "'.concat(e,'" ').concat(s," ").concat(i," ").concat(c(t,"type"))}return o+". Received type ".concat(r(n))}),TypeError),l("ERR_INVALID_ARG_VALUE",(function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===o&&(o=iu());var n=o.inspect(t);return n.length>128&&(n="".concat(n.slice(0,128),"...")),"The argument '".concat(e,"' ").concat(r,". Received ").concat(n)}),TypeError,RangeError),l("ERR_INVALID_RETURN_VALUE",(function(e,t,n){var i;return i=n&&n.constructor&&n.constructor.name?"instance of ".concat(n.constructor.name):"type ".concat(r(n)),"Expected ".concat(e,' to be returned from the "').concat(t,'"')+" function but got ".concat(i,".")}),TypeError),l("ERR_MISSING_ARGS",(function(){for(var e=arguments.length,t=new Array(e),r=0;r0,"At least one arg needs to be specified");var n="The ",i=t.length;switch(t=t.map((function(e){return'"'.concat(e,'"')})),i){case 1:n+="".concat(t[0]," argument");break;case 2:n+="".concat(t[0]," and ").concat(t[1]," arguments");break;default:n+=t.slice(0,i-1).join(", "),n+=", and ".concat(t[i-1]," arguments")}return"".concat(n," must be specified")}),TypeError),t.exports.codes=s}}),ou=m({"node_modules/assert/build/internal/assert/assertion_error.js"(e,t){function r(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function n(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch{return!1}}function p(e,t){return(p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function m(e){return(m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var g=iu().inspect,y=au().codes.ERR_INVALID_ARG_TYPE;function v(e,t,r){return(void 0===r||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}var x="",_="",b="",w="",T={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:"};function k(e){var t=Object.keys(e),r=Object.create(Object.getPrototypeOf(e));return t.forEach((function(t){r[t]=e[t]})),Object.defineProperty(r,"message",{value:e.message}),r}function A(e){return g(e,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}var M=function(e,t){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&p(e,t)}(i,e);var r=function(e){var t=f();return function(){var r,n=d(e);if(t){var i=d(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return s(this,r)}}(i);function i(e){var t;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),"object"!==m(e)||null===e)throw new y("options","Object",e);var n=e.message,a=e.operator,o=e.stackStartFn,u=e.actual,h=e.expected,f=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=n)t=r.call(this,String(n));else if(c.stderr&&c.stderr.isTTY&&(c.stderr&&c.stderr.getColorDepth&&1!==c.stderr.getColorDepth()?(x="",_="",w="",b=""):(x="",_="",w="",b="")),"object"===m(u)&&null!==u&&"object"===m(h)&&null!==h&&"stack"in u&&u instanceof Error&&"stack"in h&&h instanceof Error&&(u=k(u),h=k(h)),"deepStrictEqual"===a||"strictEqual"===a)t=r.call(this,function(e,t,r){var n="",i="",a=0,o="",s=!1,l=A(e),u=l.split("\n"),h=A(t).split("\n"),f=0,p="";if("strictEqual"===r&&"object"===m(e)&&"object"===m(t)&&null!==e&&null!==t&&(r="strictEqualObject"),1===u.length&&1===h.length&&u[0]!==h[0]){var d=u[0].length+h[0].length;if(d<=10){if(!("object"===m(e)&&null!==e||"object"===m(t)&&null!==t||0===e&&0===t))return"".concat(T[r],"\n\n")+"".concat(u[0]," !== ").concat(h[0],"\n")}else if("strictEqualObject"!==r&&d<(c.stderr&&c.stderr.isTTY?c.stderr.columns:80)){for(;u[0][f]===h[0][f];)f++;f>2&&(p="\n ".concat(function(e,t){if(t=Math.floor(t),0==e.length||0==t)return"";var r=e.length*t;for(t=Math.floor(Math.log(t)/Math.log(2));t;)e+=e,t--;return e+e.substring(0,r-e.length)}(" ",f),"^"),f=0)}}for(var g=u[u.length-1],y=h[h.length-1];g===y&&(f++<2?o="\n ".concat(g).concat(o):n=g,u.pop(),h.pop(),0!==u.length&&0!==h.length);)g=u[u.length-1],y=h[h.length-1];var k=Math.max(u.length,h.length);if(0===k){var M=l.split("\n");if(M.length>30)for(M[26]="".concat(x,"...").concat(w);M.length>27;)M.pop();return"".concat(T.notIdentical,"\n\n").concat(M.join("\n"),"\n")}f>3&&(o="\n".concat(x,"...").concat(w).concat(o),s=!0),""!==n&&(o="\n ".concat(n).concat(o),n="");var S=0,E=T[r]+"\n".concat(_,"+ actual").concat(w," ").concat(b,"- expected").concat(w),C=" ".concat(x,"...").concat(w," Lines skipped");for(f=0;f1&&f>2&&(I>4?(i+="\n".concat(x,"...").concat(w),s=!0):I>3&&(i+="\n ".concat(h[f-2]),S++),i+="\n ".concat(h[f-1]),S++),a=f,n+="\n".concat(b,"-").concat(w," ").concat(h[f]),S++;else if(h.length1&&f>2&&(I>4?(i+="\n".concat(x,"...").concat(w),s=!0):I>3&&(i+="\n ".concat(u[f-2]),S++),i+="\n ".concat(u[f-1]),S++),a=f,i+="\n".concat(_,"+").concat(w," ").concat(u[f]),S++;else{var L=h[f],P=u[f],z=P!==L&&(!v(P,",")||P.slice(0,-1)!==L);z&&v(L,",")&&L.slice(0,-1)===P&&(z=!1,P+=","),z?(I>1&&f>2&&(I>4?(i+="\n".concat(x,"...").concat(w),s=!0):I>3&&(i+="\n ".concat(u[f-2]),S++),i+="\n ".concat(u[f-1]),S++),a=f,i+="\n".concat(_,"+").concat(w," ").concat(P),n+="\n".concat(b,"-").concat(w," ").concat(L),S+=2):(i+=n,n="",(1===I||0===f)&&(i+="\n ".concat(P),S++))}if(S>20&&f30)for(d[26]="".concat(x,"...").concat(w);d.length>27;)d.pop();t=1===d.length?r.call(this,"".concat(p," ").concat(d[0])):r.call(this,"".concat(p,"\n\n").concat(d.join("\n"),"\n"))}else{var g=A(u),M="",S=T[a];"notDeepEqual"===a||"notEqual"===a?(g="".concat(T[a],"\n\n").concat(g)).length>1024&&(g="".concat(g.slice(0,1021),"...")):(M="".concat(A(h)),g.length>512&&(g="".concat(g.slice(0,509),"...")),M.length>512&&(M="".concat(M.slice(0,509),"...")),"deepEqual"===a||"equal"===a?g="".concat(S,"\n\n").concat(g,"\n\nshould equal\n\n"):M=" ".concat(a," ").concat(M)),t=r.call(this,"".concat(g).concat(M))}return Error.stackTraceLimit=f,t.generatedMessage=!n,Object.defineProperty(l(t),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),t.code="ERR_ASSERTION",t.actual=u,t.expected=h,t.operator=a,Error.captureStackTrace&&Error.captureStackTrace(l(t),o),t.stack,t.name="AssertionError",s(t)}return function(e,t){t&&a(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1})}(i,[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:t,value:function(e,t){return g(this,n(n({},t),{},{customInspect:!1,depth:0}))}}]),i}(u(Error),g.custom);t.exports=M}}),su=m({"node_modules/object-keys/isArguments.js"(e,t){var r=Object.prototype.toString;t.exports=function(e){var t=r.call(e),n="[object Arguments]"===t;return n||(n="[object Array]"!==t&&null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Function]"===r.call(e.callee)),n}}}),lu=m({"node_modules/object-keys/implementation.js"(e,t){var r,n,i,a,o,s,l,c,u,h,f,p;Object.keys||(n=Object.prototype.hasOwnProperty,i=Object.prototype.toString,a=su(),o=Object.prototype.propertyIsEnumerable,s=!o.call({toString:null},"toString"),l=o.call((function(){}),"prototype"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],u=function(e){var t=e.constructor;return t&&t.prototype===e},h={$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},f=function(){if(typeof window>"u")return!1;for(var e in window)try{if(!h["$"+e]&&n.call(window,e)&&null!==window[e]&&"object"==typeof window[e])try{u(window[e])}catch{return!0}}catch{return!0}return!1}(),p=function(e){if(typeof window>"u"||!f)return u(e);try{return u(e)}catch{return!1}},r=function(e){var t=null!==e&&"object"==typeof e,r="[object Function]"===i.call(e),o=a(e),u=t&&"[object String]"===i.call(e),h=[];if(!t&&!r&&!o)throw new TypeError("Object.keys called on a non-object");var f=l&&r;if(u&&e.length>0&&!n.call(e,0))for(var d=0;d0)for(var m=0;m2?arguments[2]:{},o=r(t);n&&(o=a.call(o,Object.getOwnPropertySymbols(t)));for(var s=0;se.length)&&(t=e.length);for(var r=0,n=new Array(t);r10)return!0;for(var t=0;t57)return!0}return 10===e.length&&e>=Math.pow(2,32)}function P(e){return Object.keys(e).filter(L).concat(c(e).filter(Object.prototype.propertyIsEnumerable.bind(e)))}function z(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i0)return function(e){if(!((e=String(e)).length>100)){var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(t){var o=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*o;case"days":case"day":case"d":return o*a;case"hours":case"hour":case"hrs":case"hr":case"h":return o*i;case"minutes":case"minute":case"mins":case"min":case"m":return o*n;case"seconds":case"second":case"secs":case"sec":case"s":return o*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}}}(e);if("number"===s&&!1===isNaN(e))return t.long?function(e){return o(e,a,"day")||o(e,i,"hour")||o(e,n,"minute")||o(e,r,"second")||e+" ms"}(e):function(e){return e>=a?Math.round(e/a)+"d":e>=i?Math.round(e/i)+"h":e>=n?Math.round(e/n)+"m":e>=r?Math.round(e/r)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}}}),ku=m({"node_modules/stream-parser/node_modules/debug/src/debug.js"(e,t){var r;function n(t){function n(){if(n.enabled){var t=n,i=+new Date,a=i-(r||i);t.diff=a,t.prev=r,t.curr=i,r=i;for(var o=new Array(arguments.length),s=0;s=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},e.storage=typeof chrome<"u"&&typeof chrome.storage<"u"?chrome.storage.local:function(){try{return window.localStorage}catch{}}(),e.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],e.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},e.enable(r())}}),Mu=m({"node_modules/stream-parser/index.js"(e,t){var r=wu(),n=Au()("stream-parser");function i(e){n("initializing parser stream"),e._parserBytesLeft=0,e._parserBuffers=[],e._parserBuffered=0,e._parserState=-1,e._parserCallback=null,"function"==typeof e.push&&(e._parserOutput=e.push.bind(e)),e._parserInit=!0}function a(e,t){r(!this._parserCallback,'there is already a "callback" set!'),r(isFinite(e)&&e>0,'can only buffer a finite number of bytes > 0, got "'+e+'"'),this._parserInit||i(this),n("buffering %o bytes",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=0}function o(e,t){r(!this._parserCallback,'there is already a "callback" set!'),r(e>0,'can only skip > 0 bytes, got "'+e+'"'),this._parserInit||i(this),n("skipping %o bytes",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=1}function s(e,t){r(!this._parserCallback,'There is already a "callback" set!'),r(e>0,'can only pass through > 0 bytes, got "'+e+'"'),this._parserInit||i(this),n("passing through %o bytes",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=2}function l(e,t,r){this._parserInit||i(this),n("write(%o bytes)",e.length),"function"==typeof t&&(r=t),h(this,e,null,r)}function c(e,t,r){this._parserInit||i(this),n("transform(%o bytes)",e.length),"function"!=typeof t&&(t=this._parserOutput),h(this,e,t,r)}function u(e,t,r,i){if(e._parserBytesLeft-=t.length,n("%o bytes left for stream piece",e._parserBytesLeft),0===e._parserState?(e._parserBuffers.push(t),e._parserBuffered+=t.length):2===e._parserState&&r(t),0!==e._parserBytesLeft)return i;var a=e._parserCallback;if(a&&0===e._parserState&&e._parserBuffers.length>1&&(t=Buffer.concat(e._parserBuffers,e._parserBuffered)),0!==e._parserState&&(t=null),e._parserCallback=null,e._parserBuffered=0,e._parserState=-1,e._parserBuffers.splice(0),a){var o=[];t&&o.push(t),r&&o.push(r);var s=a.length>o.length;s&&o.push(f(i));var l=a.apply(e,o);if(!s||i===l)return i}}t.exports=function(e){var t=e&&"function"==typeof e._transform,r=e&&"function"==typeof e._write;if(!t&&!r)throw new Error("must pass a Writable or Transform stream in");n("extending Parser into stream"),e._bytes=a,e._skipBytes=o,t&&(e._passthrough=s),t?e._transform=c:e._write=l};var h=f((function e(t,r,n,i){return t._parserBytesLeft<=0?i(new Error("got data but not currently parsing anything")):r.length<=t._parserBytesLeft?function(){return u(t,r,n,i)}:function(){var a=r.slice(0,t._parserBytesLeft);return u(t,a,n,(function(o){return o?i(o):r.length>a.length?function(){return e(t,r.slice(a.length),n,i)}:void 0}))}}));function f(e){return function(){for(var t=e.apply(this,arguments);"function"==typeof t;)t=t();return t}}}}),Su=m({"node_modules/probe-image-size/lib/common.js"(e){var t=nu().Transform,r=Mu();function n(){t.call(this,{readableObjectMode:!0})}function i(e,t,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||"",this.name=this.constructor.name,this.message=e,t&&(this.code=t),r&&(this.statusCode=r)}n.prototype=Object.create(t.prototype),n.prototype.constructor=n,r(n.prototype),e.ParserStream=n,e.sliceEq=function(e,t,r){for(var n=t,i=0;i>4&15,i=15&e[4],a=e[5]>>4&15,s=r(e,6),l=8,c=0;ct.width||e.width===t.width&&e.height>t.height?e:t})),r=e.reduce((function(e,t){return e.height>t.height||e.height===t.height&&e.width>t.width?e:t}));return t.width>r.height||t.width===r.height&&t.height>r.width?t:r}(t.sizes),n=1;t.transforms.forEach((function(e){var t={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},r={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if("imir"===e.type&&(n=0===e.value?r[n]:t[n=t[n=r[n]]]),"irot"===e.type)for(var i=0;i0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,e)}},i.prototype.read_uint16=function(e){var t=this.input;if(e+2>t.length)throw r("unexpected EOF","EBADDATA");return this.big_endian?256*t[e]+t[e+1]:t[e]+256*t[e+1]},i.prototype.read_uint32=function(e){var t=this.input;if(e+4>t.length)throw r("unexpected EOF","EBADDATA");return this.big_endian?16777216*t[e]+65536*t[e+1]+256*t[e+2]+t[e+3]:t[e]+256*t[e+1]+65536*t[e+2]+16777216*t[e+3]},i.prototype.is_subifd_link=function(e,t){return 0===e&&34665===t||0===e&&34853===t||34665===e&&40965===t},i.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}},i.prototype.exif_format_read=function(e,t){var r;switch(e){case 1:case 2:return this.input[t];case 6:return(r=this.input[t])|33554430*(128&r);case 3:return this.read_uint16(t);case 8:return(r=this.read_uint16(t))|131070*(32768&r);case 4:return this.read_uint32(t);case 9:return 0|this.read_uint32(t);default:return null}},i.prototype.scan_ifd=function(e,t,i){var a=this.read_uint16(t);t+=2;for(var o=0;othis.input.length)throw r("unexpected EOF","EBADDATA");for(var d=[],m=f,g=0;g0&&(this.ifds_to_read.push({id:s,offset:d[0]}),p=!0),!1===i({is_big_endian:this.big_endian,ifd:e,tag:s,format:l,count:c,entry_offset:t+this.start,data_length:h,data_offset:f+this.start,value:d,is_subifd_link:p}))return void(this.aborted=!0);t+=12}0===e&&this.ifds_to_read.push({id:1,offset:this.read_uint32(t)})},t.exports.ExifParser=i,t.exports.get_orientation=function(e){var t=0;try{return new i(e,0,e.length).each((function(e){if(0===e.ifd&&274===e.tag&&Array.isArray(e.value))return t=e.value[0],!1})),t}catch{return-1}}}}),Iu=m({"node_modules/probe-image-size/lib/parse_sync/avif.js"(e,t){var r=Su().str2arr,n=Su().sliceEq,i=Su().readUInt32BE,a=Eu(),o=Cu(),s=r("ftyp");t.exports=function(e){if(n(e,4,s)){var t=a.unbox(e,0);if(t){var r=a.getMimeType(t.data);if(r){for(var l,c=t.end;;){var u=a.unbox(e,c);if(!u)break;if(c=u.end,"mdat"===u.boxtype)return;if("meta"===u.boxtype){l=u.data;break}}if(l){var h=a.readSizeFromMeta(l);if(h){var f={width:h.width,height:h.height,type:r.type,mime:r.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<=e.length){var p=i(e,h.exif_location.offset),d=e.slice(h.exif_location.offset+p+4,h.exif_location.offset+h.exif_location.length),m=o.get_orientation(d);m>0&&(f.orientation=m)}return f}}}}}}}}),Lu=m({"node_modules/probe-image-size/lib/parse_sync/bmp.js"(e,t){var r=Su().str2arr,n=Su().sliceEq,i=Su().readUInt16LE,a=r("BM");t.exports=function(e){if(!(e.length<26)&&n(e,0,a))return{width:i(e,18),height:i(e,22),type:"bmp",mime:"image/bmp",wUnits:"px",hUnits:"px"}}}}),Pu=m({"node_modules/probe-image-size/lib/parse_sync/gif.js"(e,t){var r=Su().str2arr,n=Su().sliceEq,i=Su().readUInt16LE,a=r("GIF87a"),o=r("GIF89a");t.exports=function(e){if(!(e.length<10)&&(n(e,0,a)||n(e,0,o)))return{width:i(e,6),height:i(e,8),type:"gif",mime:"image/gif",wUnits:"px",hUnits:"px"}}}}),zu=m({"node_modules/probe-image-size/lib/parse_sync/ico.js"(e,t){var r=Su().readUInt16LE;t.exports=function(e){var t=r(e,0),n=r(e,2),i=r(e,4);if(0===t&&1===n&&i){for(var a=[],o={width:0,height:0},s=0;so.width||c>o.height)&&(o=u)}return{width:o.width,height:o.height,variants:a,type:"ico",mime:"image/x-icon",wUnits:"px",hUnits:"px"}}}}}),Du=m({"node_modules/probe-image-size/lib/parse_sync/jpeg.js"(e,t){var r=Su().readUInt16BE,n=Su().str2arr,i=Su().sliceEq,a=Cu(),o=n("Exif\0\0");t.exports=function(e){if(!(e.length<2)&&255===e[0]&&216===e[1]&&255===e[2])for(var t=2;;){for(;;){if(e.length-t<2)return;if(255===e[t++])break}for(var n,s=e[t++];255===s;)s=e[t++];if(208<=s&&s<=217||1===s)n=0;else{if(!(192<=s&&s<=254))return;if(e.length-t<2)return;n=r(e,t)-2,t+=2}if(217===s||218===s)return;var l;if(225===s&&n>=10&&i(e,t,o)&&(l=a.get_orientation(e.slice(t+6,t+n))),n>=5&&192<=s&&s<=207&&196!==s&&200!==s&&204!==s){if(e.length-t0&&(c.orientation=l),c}t+=n}}}}),Ou=m({"node_modules/probe-image-size/lib/parse_sync/png.js"(e,t){var r=Su().str2arr,n=Su().sliceEq,i=Su().readUInt32BE,a=r("‰PNG\r\n\n"),o=r("IHDR");t.exports=function(e){if(!(e.length<24)&&n(e,0,a)&&n(e,12,o))return{width:i(e,16),height:i(e,20),type:"png",mime:"image/png",wUnits:"px",hUnits:"px"}}}}),Ru=m({"node_modules/probe-image-size/lib/parse_sync/psd.js"(e,t){var r=Su().str2arr,n=Su().sliceEq,i=Su().readUInt32BE,a=r("8BPS\0");t.exports=function(e){if(!(e.length<22)&&n(e,0,a))return{width:i(e,18),height:i(e,14),type:"psd",mime:"image/vnd.adobe.photoshop",wUnits:"px",hUnits:"px"}}}}),Fu=m({"node_modules/probe-image-size/lib/parse_sync/svg.js"(e,t){function r(e){return 32===e||9===e||13===e||10===e}function n(e){return"number"==typeof e&&isFinite(e)&&e>0}var i=/<[-_.:a-zA-Z0-9][^>]*>/,a=/^<([-_.:a-zA-Z0-9]+:)?svg\s/,o=/[^-]\bwidth="([^%]+?)"|[^-]\bwidth='([^%]+?)'/,s=/\bheight="([^%]+?)"|\bheight='([^%]+?)'/,l=/\bview[bB]ox="(.+?)"|\bview[bB]ox='(.+?)'/,c=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function u(e){return c.test(e)?e.match(c)[0]:"px"}t.exports=function(e){if(function(e){var t=0,n=e.length;for(239===e[0]&&187===e[1]&&191===e[2]&&(t=3);t>14&16383),type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}}function h(e,t){return{width:1+(e[t+6]<<16|e[t+5]<<8|e[t+4]),height:1+(e[t+9]<e.length)){for(;t+8=10?r=r||c(e,t+8):"VP8L"===p&&d>=9?r=r||u(e,t+8):"VP8X"===p&&d>=10?r=r||h(e,t+8):"EXIF"===p&&(i=o.get_orientation(e.slice(t+8,t+8+d)),t=1/0),t+=8+d}else t++;if(r)return i>0&&(r.orientation=i),r}}}}}),Nu=m({"node_modules/probe-image-size/lib/parsers_sync.js"(e,t){t.exports={avif:Iu(),bmp:Lu(),gif:Pu(),ico:zu(),jpeg:Du(),png:Ou(),psd:Ru(),svg:Fu(),tiff:Bu(),webp:ju()}}}),Uu=m({"node_modules/probe-image-size/sync.js"(e,t){var r=Nu();t.exports=function(e){return function(e){for(var t=Object.keys(r),n=0;n0;)g=h.c2p(w+_*M),_--;for(_=0;void 0===v&&_0;)x=f.c2p(T+_*S),_--;if(gz[0];if(D||O){var R=m+E/2,F=v+C/2;L+="transform:"+i(R+"px",F+"px")+"scale("+(D?-1:1)+","+(O?-1:1)+")"+i(-R+"px",-F+"px")+";"}}I.attr("style",L);var B=new Promise((function(e){if(u._hasZ)e();else if(u._hasSource)if(u._canvas&&u._canvas.el.width===k&&u._canvas.el.height===A&&u._canvas.source===u.source)e();else{var t=document.createElement("canvas");t.width=k,t.height=A;var r=t.getContext("2d",{willReadFrequently:!0});u._image=u._image||new Image;var n=u._image;n.onload=function(){r.drawImage(n,0,0),u._canvas={el:t,source:u.source},e()},n.setAttribute("src",u.source)}})).then((function(){var e;if(u._hasZ)e=j((function(e,t){var r=b[t][e];return n.isTypedArray(r)&&(r=Array.from(r)),r})).toDataURL("image/png");else if(u._hasSource)if(d)e=u.source;else{var t=u._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(0,0,k,A).data;e=j((function(e,r){var n=4*(r*k+e);return[t[n],t[n+1],t[n+2],t[n+3]]})).toDataURL("image/png")}I.attr({"xlink:href":e,height:C,width:E,x:m,y:v})}));e._promises.push(B)}function j(e){var t=document.createElement("canvas");t.width=E,t.height=C;var r,i=t.getContext("2d",{willReadFrequently:!0}),a=function(e){return n.constrain(Math.round(h.c2p(w+e*M)-m),0,E)},s=function(e){return n.constrain(Math.round(f.c2p(T+e*S)-v),0,C)},l=o.colormodel[u.colormodel],p=l.colormodel||u.colormodel,d=l.fmt;for(_=0;_0||r.inbox(o-s.y0,o-(s.y0+s.h*l.dy),0)>0)){var h,f=Math.floor((t-s.x0)/l.dx),p=Math.floor(Math.abs(o-s.y0)/l.dy);if(l._hasZ?h=s.z[p][f]:l._hasSource&&(h=l._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(f,p,1,1).data),h){var d,m=s.hi||l.hoverinfo;if(m){var g=m.split("+");-1!==g.indexOf("all")&&(g=["color"]),-1!==g.indexOf("color")&&(d=!0)}var y,v=a.colormodel[l.colormodel],x=v.colormodel||l.colormodel,_=x.length,b=l._scaler(h),w=v.suffix,T=[];(l.hovertemplate||d)&&(T.push("["+[b[0]+w[0],b[1]+w[1],b[2]+w[2]].join(", ")),4===_&&T.push(", "+b[3]+w[3]),T.push("]"),T=T.join(""),e.extraText=x.toUpperCase()+": "+T),i(l.hovertext)&&i(l.hovertext[p])?y=l.hovertext[p][f]:i(l.text)&&i(l.text[p])&&(y=l.text[p][f]);var k=u.c2p(s.y0+(p+.5)*l.dy),A=s.x0+(f+.5)*l.dx,M=s.y0+(p+.5)*l.dy,S="["+h.slice(0,l.colormodel.length).join(", ")+"]";return[n.extendFlat(e,{index:[p,f],x0:c.c2p(s.x0+f*l.dx),x1:c.c2p(s.x0+(f+1)*l.dx),y0:k,y1:k,color:b,xVal:A,xLabelVal:A,yVal:M,yLabelVal:M,zLabelVal:S,text:y,hovertemplateLabels:{zLabel:S,colorLabel:T,"color[0]Label":b[0]+w[0],"color[1]Label":b[1]+w[1],"color[2]Label":b[2]+w[2],"color[3]Label":b[3]+w[3]}})]}}}}}),Zu=m({"src/traces/image/event_data.js"(e,t){t.exports=function(e,t){return"xVal"in t&&(e.x=t.xVal),"yVal"in t&&(e.y=t.yVal),t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),e.color=t.color,e.colormodel=t.trace.colormodel,e.z||(e.z=t.color),e}}}),Yu=m({"src/traces/image/index.js"(e,t){t.exports={attributes:Bl(),supplyDefaults:jl(),calc:qu(),plot:Hu(),style:Gu(),hoverPoints:Wu(),eventData:Zu(),moduleType:"trace",name:"image",basePlotModule:Ci(),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}}}),Xu=m({"lib/image.js"(e,t){t.exports=Yu()}}),$u=m({"src/traces/pie/attributes.js"(e,t){var r=q(),n=Ma().attributes,i=j(),a=G(),{hovertemplateAttrs:o,texttemplateAttrs:s,templatefallbackAttrs:l}=Fe(),c=B().extendFlat,u=Oe().pattern,h=i({editType:"plot",arrayOk:!0,colorEditType:"plot"});t.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:a.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},pattern:u,editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},scalegroup:{valType:"string",dflt:"",editType:"calc"},textinfo:{valType:"flaglist",flags:["label","text","value","percent"],extras:["none"],editType:"calc"},hoverinfo:c({},r.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:o({},{keys:["label","color","value","percent","text"]}),hovertemplatefallback:l(),texttemplate:s({editType:"plot"},{keys:["label","color","value","percent","text"]}),texttemplatefallback:l({editType:"plot"}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:c({},h,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:c({},h,{}),outsidetextfont:c({},h,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},showlegend:c({},r.showlegend,{arrayOk:!0}),legend:c({},r.legend,{arrayOk:!0}),legendrank:c({},r.legendrank,{arrayOk:!0}),title:{text:{valType:"string",dflt:"",editType:"plot"},font:c({},h,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:n({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"}}}}),Ku=m({"src/traces/pie/defaults.js"(e,t){var r=M(),n=ct(),i=$u(),a=Ma().defaults,o=Xa().handleText,s=ct().coercePattern;function l(e,t){var i=n.isArrayOrTypedArray(e),a=n.isArrayOrTypedArray(t),o=Math.min(i?e.length:1/0,a?t.length:1/0);if(isFinite(o)||(o=0),o&&a){for(var s,l=0;l0){s=!0;break}}s||(o=0)}return{hasLabels:i,hasValues:a,len:o}}function c(e,t,r,n,i){n("marker.line.width")&&n("marker.line.color",i?void 0:r.paper_bgcolor);var a=n("marker.colors");s(n,"marker.pattern",a),e.marker&&!t.marker.pattern.fgcolor&&(t.marker.pattern.fgcolor=e.marker.colors),t.marker.pattern.bgcolor||(t.marker.pattern.bgcolor=r.paper_bgcolor)}t.exports={handleLabelsAndValues:l,handleMarkerDefaults:c,supplyDefaults:function(e,t,r,s){function u(r,a){return n.coerce(e,t,i,r,a)}var h=l(u("labels"),u("values")),f=h.len;if(t._hasLabels=h.hasLabels,t._hasValues=h.hasValues,!t._hasLabels&&t._hasValues&&(u("label0"),u("dlabel")),f){t._length=f,c(e,t,s,u,!0),u("scalegroup");var p,d=u("text"),m=u("texttemplate");if(u("texttemplatefallback"),m||(p=u("textinfo",n.isArrayOrTypedArray(d)?"text+percent":"percent")),u("hovertext"),u("hovertemplate"),u("hovertemplatefallback"),m||p&&"none"!==p){var g=u("textposition");o(e,t,s,u,g,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(g)||"auto"===g||"outside"===g)&&u("automargin"),("inside"===g||"auto"===g||Array.isArray(g))&&u("insidetextorientation")}else"none"===p&&u("textposition","none");a(t,s,u);var y=u("hole");if(u("title.text")){var v=u("title.position",y?"middle center":"top center");!y&&"middle center"===v&&(t.title.position="top center"),n.coerceFont(u,"title.font",s.font)}u("sort"),u("direction"),u("rotation"),u("pull")}else t.visible=!1}}}}),Ju=m({"src/traces/pie/layout_attributes.js"(e,t){t.exports={hiddenlabels:{valType:"data_array",editType:"calc"},piecolorway:{valType:"colorlist",editType:"calc"},extendpiecolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),Qu=m({"src/traces/pie/layout_defaults.js"(e,t){var r=ct(),n=Ju();t.exports=function(e,t){function i(i,a){return r.coerce(e,t,n,i,a)}i("hiddenlabels"),i("piecolorway",t.colorway),i("extendpiecolors")}}}),eh=m({"src/traces/pie/calc.js"(e,t){var r=M(),n=F(),i=W(),a={};function o(e){return function(t,r){return!(!t||(t=n(t),!t.isValid()))&&(t=i.addOpacity(t,t.getAlpha()),e[r]||(e[r]=t),t)}}function s(e,t){var r,i=JSON.stringify(e),a=t[i];if(!a){for(a=e.slice(),r=0;r=0})),("funnelarea"===t.type?y:t.sort)&&a.sort((function(e,t){return t.v-e.v})),a[0]&&(a[0].vTotal=g),a},crossTraceCalc:function(e,t){var r=(t||{}).type;r||(r="pie");var n=e._fullLayout,i=e.calcdata,o=n[r+"colorway"],l=n["_"+r+"colormap"];n["extend"+r+"colors"]&&(o=s(o,a));for(var c=0,u=0;u"),name:h.hovertemplate||-1!==f.indexOf("name")?h.name:void 0,idealAlign:e.pxmid[0]<0?"left":"right",color:m.castOption(b.bgcolor,e.pts)||e.color,borderColor:m.castOption(b.bordercolor,e.pts),fontFamily:m.castOption(w.family,e.pts),fontSize:m.castOption(w.size,e.pts),fontColor:m.castOption(w.color,e.pts),nameLength:m.castOption(b.namelength,e.pts),textAlign:m.castOption(b.align,e.pts),hovertemplate:m.castOption(h.hovertemplate,e.pts),hovertemplateLabels:e,eventData:[g(e,h)]},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t,inOut_bbox:T}),e.bbox=T[0],c._hasHoverLabel=!0}c._hasHoverEvent=!0,t.emit("plotly_hover",{points:[g(e,h)],event:r.event})}})),e.on("mouseout",(function(e){var n=t._fullLayout,a=t._fullData[c.index],o=r.select(this).datum();c._hasHoverEvent&&(e.originalEvent=r.event,t.emit("plotly_unhover",{points:[g(o,a)],event:r.event}),c._hasHoverEvent=!1),c._hasHoverLabel&&(i.loneUnhover(n._hoverlayer.node()),c._hasHoverLabel=!1)})),e.on("click",(function(e){var n=t._fullLayout,a=t._fullData[c.index];t._dragging||!1===n.hovermode||(t._hoverdata=[g(e,a)],i.click(t,r.event))}))}function x(e,t,r){var n=m.castOption(e.insidetextfont.color,t.pts);!n&&e._input.textfont&&(n=m.castOption(e._input.textfont.color,t.pts));var i=m.castOption(e.insidetextfont.family,t.pts)||m.castOption(e.textfont.family,t.pts)||r.family,o=m.castOption(e.insidetextfont.size,t.pts)||m.castOption(e.textfont.size,t.pts)||r.size,s=m.castOption(e.insidetextfont.weight,t.pts)||m.castOption(e.textfont.weight,t.pts)||r.weight,l=m.castOption(e.insidetextfont.style,t.pts)||m.castOption(e.textfont.style,t.pts)||r.style,c=m.castOption(e.insidetextfont.variant,t.pts)||m.castOption(e.textfont.variant,t.pts)||r.variant,u=m.castOption(e.insidetextfont.textcase,t.pts)||m.castOption(e.textfont.textcase,t.pts)||r.textcase,h=m.castOption(e.insidetextfont.lineposition,t.pts)||m.castOption(e.textfont.lineposition,t.pts)||r.lineposition,f=m.castOption(e.insidetextfont.shadow,t.pts)||m.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n||a.contrast(t.color),family:i,size:o,weight:s,style:l,variant:c,textcase:u,lineposition:h,shadow:f}}function _(e,t){for(var r,n,i=0;it&&t>n||r=-4;g-=2)y(Math.PI*g,"tan");for(g=4;g>=-4;g-=2)y(Math.PI*(g+1),"tan")}if(h||p){for(g=4;g>=-4;g-=2)y(Math.PI*(g+1.5),"rad");for(g=4;g>=-4;g-=2)y(Math.PI*(g+.5),"rad")}}if(s||d||h){var v=Math.sqrt(e.width*e.width+e.height*e.height);if((a={scale:i*n*2/v,rCenter:1-i,rotate:0}).textPosAngle=(t.startangle+t.stopangle)/2,a.scale>=1)return a;m.push(a)}(d||p)&&((a=T(e,n,o,l,c)).textPosAngle=(t.startangle+t.stopangle)/2,m.push(a)),(d||f)&&((a=k(e,n,o,l,c)).textPosAngle=(t.startangle+t.stopangle)/2,m.push(a));for(var x=0,_=0,b=0;b=1)break}return m[x]}function T(e,t,r,n,i){t=Math.max(0,t-2*d);var a=e.width/e.height,o=S(a,n,t,r);return{scale:2*o/e.height,rCenter:A(a,o/t),rotate:M(i)}}function k(e,t,r,n,i){t=Math.max(0,t-2*d);var a=e.height/e.width,o=S(a,n,t,r);return{scale:2*o/e.width,rCenter:A(a,o/t),rotate:M(i+Math.PI/2)}}function A(e,t){return Math.cos(t)-e*t}function M(e){return(180/Math.PI*e+720)%180-90}function S(e,t,r,n){var i=e+1/(2*Math.tan(t));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(e*e+n/2)+e))}function E(e,t){return e.v!==t.vTotal||t.trace.hole?Math.min(1/(1+1/Math.sin(e.halfangle)),e.ring/2):1}function C(e,t){var r=t.pxmid[0],n=t.pxmid[1],i=e.width/2,a=e.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function I(e,t){var r,n,i,a=e.trace,o={x:e.cx,y:e.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=P(a),-1!==a.title.position.indexOf("top")?(o.y-=(1+i)*e.r,s.ty-=e.titleBox.height):-1!==a.title.position.indexOf("bottom")&&(o.y+=(1+i)*e.r);var l=function(e,t){return e/(void 0===t?1:t)}(e.r,e.trace.aspectratio),c=t.w*(a.domain.x[1]-a.domain.x[0])/2;return-1!==a.title.position.indexOf("left")?(c+=l,o.x-=(1+i)*l,s.tx+=e.titleBox.width/2):-1!==a.title.position.indexOf("center")?c*=2:-1!==a.title.position.indexOf("right")&&(c+=l,o.x+=(1+i)*l,s.tx-=e.titleBox.width/2),r=c/e.titleBox.width,n=L(e,t)/e.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function L(e,t){var r=e.trace,n=t.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(e.titleBox.height,n/2)}function P(e){var t,r=e.pull;if(!r)return 0;if(s.isArrayOrTypedArray(r))for(r=0,t=0;tr&&(r=e.pull[t]);return r}function z(e,t){for(var r=[],n=0;n1?u=(c=r.r)/i.aspectratio:c=(u=r.r)*i.aspectratio,l=(c*=(1+i.baseratio)/2)*u}o=Math.min(o,l/r.vTotal)}for(n=0;n")}if(o){var _=s.castOption(a,t.i,"texttemplate");if(_){var b={label:(n=t).label,value:n.v,valueLabel:m.formatPieValue(n.v,i.separators),percent:n.v/r.vTotal,percentLabel:m.formatPiePercent(n.v/r.vTotal,i.separators),color:n.color,text:n.text,customdata:s.castOption(a,n.i,"customdata")},w=m.getFirstFilled(a.text,t.pts);(y(w)||""===w)&&(b.text=w),t.text=s.texttemplateString({data:[b,a._meta],fallback:a.texttemplatefallback,labels:b,locale:e._fullLayout._d3locale,template:_})}else t.text=""}}function R(e,t){var r=e.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(t.left+t.right)/2,o=(t.top+t.bottom)/2;e.textX=a*n-o*i,e.textY=a*i+o*n,e.noCenter=!0}t.exports={plot:function(e,t){var i=e._context.staticPlot,h=e._fullLayout,d=h._size;p("pie",h),_(t,e),z(t,d);var g=s.makeTraceGroups(h._pielayer,t,"trace").each((function(t){var p=r.select(this),g=t[0],y=g.trace;(function(e){var t,r,n,i=e[0],a=i.r,o=i.trace,s=m.getRotationAngle(o.rotation),l=2*Math.PI/i.vTotal,c="px0",u="px1";if("counterclockwise"===o.direction){for(t=0;ti.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/i.vTotal,.5),r.ring=1-o.hole,r.rInscribed=E(r,i))})(t),p.attr("stroke-linejoin","round"),p.each((function(){var _=r.select(this).selectAll("g.slice").data(t);_.enter().append("g").classed("slice",!0),_.exit().remove();var b=[[[],[]],[[],[]]],T=!1;_.each((function(n,a){if(n.hidden)r.select(this).selectAll("path,g").remove();else{n.pointNumber=n.i,n.curveNumber=y.index,b[n.pxmid[1]<0?0:1][n.pxmid[0]<0?0:1].push(n);var l=g.cx,c=g.cy,p=r.select(this),d=p.selectAll("path.surface").data([n]);if(d.enter().append("path").classed("surface",!0).style({"pointer-events":i?"none":"all"}),p.call(v,e,t),y.pull){var _=+m.castOption(y.pull,n.pts)||0;_>0&&(l+=_*n.pxmid[0],c+=_*n.pxmid[1])}n.cxFinal=l,n.cyFinal=c;var k=y.hole;if(n.v===g.vTotal){var A="M"+(l+n.px0[0])+","+(c+n.px0[1])+L(n.px0,n.pxmid,!0,1)+L(n.pxmid,n.px0,!0,1)+"Z";k?d.attr("d","M"+(l+k*n.px0[0])+","+(c+k*n.px0[1])+L(n.px0,n.pxmid,!1,k)+L(n.pxmid,n.px0,!1,k)+"Z"+A):d.attr("d",A)}else{var M=L(n.px0,n.px1,!0,1);if(k){var S=1-k;d.attr("d","M"+(l+k*n.px1[0])+","+(c+k*n.px1[1])+L(n.px1,n.px0,!1,k)+"l"+S*n.px0[0]+","+S*n.px0[1]+M+"Z")}else d.attr("d","M"+l+","+c+"l"+n.px0[0]+","+n.px0[1]+M+"Z")}O(e,n,g);var E=m.castOption(y.textposition,n.pts),I=p.selectAll("g.slicetext").data(n.text&&"none"!==E?[0]:[]);I.enter().append("g").classed("slicetext",!0),I.exit().remove(),I.each((function(){var i=s.ensureSingle(r.select(this),"text","",(function(e){e.attr("data-notex",1)})),p=s.ensureUniformFontSize(e,"outside"===E?function(e,t,r){return{color:m.castOption(e.outsidetextfont.color,t.pts)||m.castOption(e.textfont.color,t.pts)||r.color,family:m.castOption(e.outsidetextfont.family,t.pts)||m.castOption(e.textfont.family,t.pts)||r.family,size:m.castOption(e.outsidetextfont.size,t.pts)||m.castOption(e.textfont.size,t.pts)||r.size,weight:m.castOption(e.outsidetextfont.weight,t.pts)||m.castOption(e.textfont.weight,t.pts)||r.weight,style:m.castOption(e.outsidetextfont.style,t.pts)||m.castOption(e.textfont.style,t.pts)||r.style,variant:m.castOption(e.outsidetextfont.variant,t.pts)||m.castOption(e.textfont.variant,t.pts)||r.variant,textcase:m.castOption(e.outsidetextfont.textcase,t.pts)||m.castOption(e.textfont.textcase,t.pts)||r.textcase,lineposition:m.castOption(e.outsidetextfont.lineposition,t.pts)||m.castOption(e.textfont.lineposition,t.pts)||r.lineposition,shadow:m.castOption(e.outsidetextfont.shadow,t.pts)||m.castOption(e.textfont.shadow,t.pts)||r.shadow}}(y,n,h.font):x(y,n,h.font));i.text(n.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(o.font,p).call(u.convertToTspans,e);var d,v=o.bBox(i.node());if("outside"===E)d=C(v,n);else if(d=w(v,n,g),"auto"===E&&d.scale<1){var _=s.ensureUniformFontSize(e,y.outsidetextfont);i.call(o.font,_),d=C(v=o.bBox(i.node()),n)}var b=d.textPosAngle,k=void 0===b?n.pxmid:D(g.r,b);if(d.targetX=l+k[0]*d.rCenter+(d.x||0),d.targetY=c+k[1]*d.rCenter+(d.y||0),R(d,v),d.outside){var A=d.targetY;n.yLabelMin=A-v.height/2,n.yLabelMid=A,n.yLabelMax=A+v.height/2,n.labelExtraX=0,n.labelExtraY=0,T=!0}d.fontSize=p.size,f(y.type,d,h),t[a].transform=d,s.setTransormAndDisplay(i,d)}))}function L(e,t,r,i){var a=i*(t[0]-e[0]),o=i*(t[1]-e[1]);return"a"+i*g.r+","+i*g.r+" 0 "+n.largeArc+(r?" 1 ":" 0 ")+a+","+o}}));var k=r.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);if(k.enter().append("g").classed("titletext",!0),k.exit().remove(),k.each((function(){var t,n=s.ensureSingle(r.select(this),"text","",(function(e){e.attr("data-notex",1)})),i=y.title.text;y._meta&&(i=s.templateString(i,y._meta)),n.text(i).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(o.font,y.title.font).call(u.convertToTspans,e),t="middle center"===y.title.position?function(e){var t=Math.sqrt(e.titleBox.width*e.titleBox.width+e.titleBox.height*e.titleBox.height);return{x:e.cx,y:e.cy,scale:e.trace.hole*e.r*2/t,tx:0,ty:-e.titleBox.height/2+e.trace.title.font.size}}(g):I(g,d),n.attr("transform",c(t.x,t.y)+l(Math.min(1,t.scale))+c(t.tx,t.ty))})),T&&function(e,t){var r,n,i,a,o,l,c,u,h,f,p,d,g;function y(e,t){return e.pxmid[1]-t.pxmid[1]}function v(e,t){return t.pxmid[1]-e.pxmid[1]}function x(e,r){r||(r={});var i,u,h,p,d=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),g=n?e.yLabelMin:e.yLabelMax,y=n?e.yLabelMax:e.yLabelMin,v=e.cyFinal+o(e.px0[1],e.px1[1]),x=d-g;if(x*c>0&&(e.labelExtraY=x),s.isArrayOrTypedArray(t.pull))for(u=0;u=(m.castOption(t.pull,h.pts)||0))&&((e.pxmid[1]-h.pxmid[1])*c>0?(x=h.cyFinal+o(h.px0[1],h.px1[1])-g-e.labelExtraY)*c>0&&(e.labelExtraY+=x):(y+e.labelExtraY-v)*c>0&&(i=3*l*Math.abs(u-f.indexOf(e)),(p=h.cxFinal+a(h.px0[0],h.px1[0])+i-(e.cxFinal+e.pxmid[0])-e.labelExtraX)*l>0&&(e.labelExtraX+=p)))}for(n=0;n<2;n++)for(i=n?y:v,o=n?Math.max:Math.min,c=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,l=r?1:-1,(u=e[n][r]).sort(i),h=e[1-n][r],f=h.concat(u),d=[],p=0;pMath.abs(h)?l+="l"+h*e.pxmid[0]/e.pxmid[1]+","+h+"H"+(o+e.labelExtraX+c):l+="l"+e.labelExtraX+","+u+"v"+(h-u)+"h"+c}else l+="V"+(e.yLabelMid+e.labelExtraY)+"h"+c;s.ensureSingle(n,"path","textline").call(a.stroke,t.outsidetextfont.color).attr({"stroke-width":Math.min(2,t.outsidetextfont.size/8),d:l,fill:"none"})}else n.select("path.textline").remove()}))}(_,y),T&&y.automargin){var A=o.bBox(p.node()),M=y.domain,S=d.w*(M.x[1]-M.x[0]),E=d.h*(M.y[1]-M.y[0]),L=(.5*S-g.r)/d.w,P=(.5*E-g.r)/d.h;n.autoMargin(e,"pie."+y.uid+".automargin",{xl:M.x[0]-L,xr:M.x[1]+L,yb:M.y[0]-P,yt:M.y[1]+P,l:Math.max(g.cx-g.r-A.left,0),r:Math.max(A.right-(g.cx+g.r),0),b:Math.max(A.bottom-(g.cy+g.r),0),t:Math.max(g.cy-g.r-A.top,0),pad:5})}}))}));setTimeout((function(){g.selectAll("tspan").each((function(){var e=r.select(this);e.attr("dy")&&e.attr("dy",e.attr("dy"))}))}),0)},formatSliceLabel:O,transformInsideText:w,determineInsideTextFont:x,positionTitleOutside:I,prerenderTitles:_,layoutAreas:z,attachFxHandlers:v,computeTransform:R}}}),nh=m({"src/traces/pie/style.js"(e,t){var r=b(),n=kr(),i=Qa().resizeText;t.exports=function(e){var t=e._fullLayout._pielayer.selectAll(".trace");i(e,t,"pie"),t.each((function(t){var i=t[0].trace,a=r.select(this);a.style({opacity:i.opacity}),a.selectAll("path.surface").each((function(t){r.select(this).call(n,t,i,e)}))}))}}}),ih=m({"src/traces/pie/base_plot.js"(e){var t=At();e.name="pie",e.plot=function(r,n,i,a){t.plotBasePlot(e.name,r,n,i,a)},e.clean=function(r,n,i,a){t.cleanBasePlot(e.name,r,n,i,a)}}}),ah=m({"src/traces/pie/index.js"(e,t){t.exports={attributes:$u(),supplyDefaults:Ku().supplyDefaults,supplyLayoutDefaults:Qu(),layoutAttributes:Ju(),calc:eh().calc,crossTraceCalc:eh().crossTraceCalc,plot:rh().plot,style:nh(),styleOne:kr(),moduleType:"trace",name:"pie",basePlotModule:ih(),categories:["pie-like","pie","showLegend"],meta:{}}}}),oh=m({"lib/pie.js"(e,t){t.exports=ah()}}),sh=m({"src/traces/sunburst/base_plot.js"(e){var t=At();e.name="sunburst",e.plot=function(r,n,i,a){t.plotBasePlot(e.name,r,n,i,a)},e.clean=function(r,n,i,a){t.cleanBasePlot(e.name,r,n,i,a)}}}),lh=m({"src/traces/sunburst/constants.js"(e,t){t.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"linear",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"]}}}),ch=m({"src/traces/sunburst/attributes.js"(e,t){var r=q(),{hovertemplateAttrs:n,texttemplateAttrs:i,templatefallbackAttrs:a}=Fe(),o=zt(),s=Ma().attributes,l=$u(),c=lh(),u=B().extendFlat,h=Oe().pattern;t.exports={labels:{valType:"data_array",editType:"calc"},parents:{valType:"data_array",editType:"calc"},values:{valType:"data_array",editType:"calc"},branchvalues:{valType:"enumerated",values:["remainder","total"],dflt:"remainder",editType:"calc"},count:{valType:"flaglist",flags:["branches","leaves"],dflt:"leaves",editType:"calc"},level:{valType:"any",editType:"plot",anim:!0},maxdepth:{valType:"integer",editType:"plot",dflt:-1},marker:u({colors:{valType:"data_array",editType:"calc"},line:{color:u({},l.marker.line.color,{dflt:null}),width:u({},l.marker.line.width,{dflt:1}),editType:"calc"},pattern:h,editType:"calc"},o("marker",{colorAttr:"colors",anim:!1})),leaf:{opacity:{valType:"number",editType:"style",min:0,max:1},editType:"plot"},text:l.text,textinfo:{valType:"flaglist",flags:["label","text","value","current path","percent root","percent entry","percent parent"],extras:["none"],editType:"plot"},texttemplate:i({editType:"plot"},{keys:c.eventDataKeys.concat(["label","value"])}),texttemplatefallback:a({editType:"plot"}),hovertext:l.hovertext,hoverinfo:u({},r.hoverinfo,{flags:["label","text","value","name","current path","percent root","percent entry","percent parent"],dflt:"label+text+value+name"}),hovertemplate:n({},{keys:c.eventDataKeys}),hovertemplatefallback:a(),textfont:l.textfont,insidetextorientation:l.insidetextorientation,insidetextfont:l.insidetextfont,outsidetextfont:u({},l.outsidetextfont,{}),rotation:{valType:"angle",dflt:0,editType:"plot"},sort:l.sort,root:{color:{valType:"color",editType:"calc",dflt:"rgba(0,0,0,0)"},editType:"calc"},domain:s({name:"sunburst",trace:!0,editType:"calc"})}}}),uh=m({"src/traces/sunburst/layout_attributes.js"(e,t){t.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),hh=m({"src/traces/sunburst/defaults.js"(e,t){var r=ct(),n=ch(),i=Ma().defaults,a=Xa().handleText,o=Ku().handleMarkerDefaults,s=Yt(),l=s.hasColorscale,c=s.handleDefaults;t.exports=function(e,t,s,u){function h(i,a){return r.coerce(e,t,n,i,a)}var f=h("labels"),p=h("parents");if(f&&f.length&&p&&p.length){var d=h("values");d&&d.length?h("branchvalues"):h("count"),h("level"),h("maxdepth"),o(e,t,u,h);var m=t._hasColorscale=l(e,"marker","colors")||(e.marker||{}).coloraxis;m&&c(e,t,u,h,{prefix:"marker.",cLetter:"c"}),h("leaf.opacity",m?1:.7);var g=h("text");h("texttemplate"),h("texttemplatefallback"),t.texttemplate||h("textinfo",r.isArrayOrTypedArray(g)?"text+label":"label"),h("hovertext"),h("hovertemplate"),h("hovertemplatefallback"),a(e,t,u,h,"auto",{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),h("insidetextorientation"),h("sort"),h("rotation"),h("root.color"),i(t,u,h),t._length=null}else t.visible=!1}}}),fh=m({"src/traces/sunburst/layout_defaults.js"(e,t){var r=ct(),n=uh();t.exports=function(e,t){function i(i,a){return r.coerce(e,t,n,i,a)}i("sunburstcolorway",t.colorway),i("extendsunburstcolors")}}}),ph=m({"node_modules/d3-hierarchy/dist/d3-hierarchy.js"(e,t){var r,n;r=e,n=function(e){function t(e,t){return e.parent===t.parent?1:2}function r(e,t){return e+t.x}function n(e,t){return Math.max(e,t.y)}function i(e){var t=0,r=e.children,n=r&&r.length;if(n)for(;--n>=0;)t+=r[n].value;else t=1;e.value=t}function a(e,t){var r,n,i,a,s,u=new c(e),h=+e.value&&(u.value=e.value),f=[u];for(null==t&&(t=o);r=f.pop();)if(h&&(r.value=+r.data.value),(i=t(r.data))&&(s=i.length))for(r.children=new Array(s),a=s-1;a>=0;--a)f.push(n=r.children[a]=new c(i[a])),n.parent=r,n.depth=r.depth+1;return u.eachBefore(l)}function o(e){return e.children}function s(e){e.data=e.data.data}function l(e){var t=0;do{e.height=t}while((e=e.parent)&&e.height<++t)}function c(e){this.data=e,this.depth=this.height=0,this.parent=null}c.prototype=a.prototype={constructor:c,count:function(){return this.eachAfter(i)},each:function(e){var t,r,n,i,a=this,o=[a];do{for(t=o.reverse(),o=[];a=t.pop();)if(e(a),r=a.children)for(n=0,i=r.length;n=0;--r)i.push(t[r]);return this},sum:function(e){return this.eachAfter((function(t){for(var r=+e(t.data)||0,n=t.children,i=n&&n.length;--i>=0;)r+=n[i].value;t.value=r}))},sort:function(e){return this.eachBefore((function(t){t.children&&t.children.sort(e)}))},path:function(e){for(var t=this,r=function(e,t){if(e===t)return e;var r=e.ancestors(),n=t.ancestors(),i=null;for(e=r.pop(),t=n.pop();e===t;)i=e,e=r.pop(),t=n.pop();return i}(t,e),n=[t];t!==r;)t=t.parent,n.push(t);for(var i=n.length;e!==r;)n.splice(i,0,e),e=e.parent;return n},ancestors:function(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t},descendants:function(){var e=[];return this.each((function(t){e.push(t)})),e},leaves:function(){var e=[];return this.eachBefore((function(t){t.children||e.push(t)})),e},links:function(){var e=this,t=[];return e.each((function(r){r!==e&&t.push({source:r.parent,target:r})})),t},copy:function(){return a(this).eachBefore(s)}};var u=Array.prototype.slice;function h(e){for(var t,r,n=0,i=(e=function(e){for(var t,r,n=e.length;n;)r=Math.random()*n--|0,t=e[n],e[n]=e[r],e[r]=t;return e}(u.call(e))).length,a=[];n0&&r*r>n*n+i*i}function m(e,t){for(var r=0;r(o*=o)?(n=(c+o-i)/(2*c),a=Math.sqrt(Math.max(0,o/c-n*n)),r.x=e.x-n*s-a*l,r.y=e.y-n*l+a*s):(n=(c+i-o)/(2*c),a=Math.sqrt(Math.max(0,i/c-n*n)),r.x=t.x+n*s-a*l,r.y=t.y+n*l+a*s)):(r.x=t.x+r.r,r.y=t.y)}function _(e,t){var r=e.r+t.r-1e-6,n=t.x-e.x,i=t.y-e.y;return r>0&&r*r>n*n+i*i}function b(e){var t=e._,r=e.next._,n=t.r+r.r,i=(t.x*r.r+r.x*t.r)/n,a=(t.y*r.r+r.y*t.r)/n;return i*i+a*a}function w(e){this._=e,this.next=null,this.previous=null}function T(e){if(!(i=e.length))return 0;var t,r,n,i,a,o,s,l,c,u,f;if((t=e[0]).x=0,t.y=0,!(i>1))return t.r;if(r=e[1],t.x=-r.r,r.x=t.r,r.y=0,!(i>2))return t.r+r.r;x(r,t,n=e[2]),t=new w(t),r=new w(r),n=new w(n),t.next=n.previous=r,r.next=t.previous=n,n.next=r.previous=t;e:for(s=3;sf&&(f=s),g=u*u*m,(p=Math.max(f/g,g/h))>d){u-=s;break}d=p}y.push(o={value:u,dice:l1?t:1)},r}(H),Z=function e(t){function r(e,r,n,i,a){if((o=e._squarify)&&o.ratio===t)for(var o,s,l,c,u,h=-1,f=o.length,p=e.value;++h1?t:1)},r}(H);e.cluster=function(){var e=t,i=1,a=1,o=!1;function s(t){var s,l=0;t.eachAfter((function(t){var i=t.children;i?(t.x=function(e){return e.reduce(r,0)/e.length}(i),t.y=function(e){return 1+e.reduce(n,0)}(i)):(t.x=s?l+=e(t,s):0,t.y=0,s=t)}));var c=function(e){for(var t;t=e.children;)e=t[0];return e}(t),u=function(e){for(var t;t=e.children;)e=t[t.length-1];return e}(t),h=c.x-e(c,u)/2,f=u.x+e(u,c)/2;return t.eachAfter(o?function(e){e.x=(e.x-t.x)*i,e.y=(t.y-e.y)*a}:function(e){e.x=(e.x-h)/(f-h)*i,e.y=(1-(t.y?e.y/t.y:1))*a})}return s.separation=function(t){return arguments.length?(e=t,s):e},s.size=function(e){return arguments.length?(o=!1,i=+e[0],a=+e[1],s):o?null:[i,a]},s.nodeSize=function(e){return arguments.length?(o=!0,i=+e[0],a=+e[1],s):o?[i,a]:null},s},e.hierarchy=a,e.pack=function(){var e=null,t=1,r=1,n=A;function i(i){return i.x=t/2,i.y=r/2,e?i.eachBefore(E(e)).eachAfter(C(n,.5)).eachBefore(I(1)):i.eachBefore(E(S)).eachAfter(C(A,1)).eachAfter(C(n,i.r/Math.min(t,r))).eachBefore(I(Math.min(t,r)/(2*i.r))),i}return i.radius=function(t){return arguments.length?(e=function(e){return null==e?null:k(e)}(t),i):e},i.size=function(e){return arguments.length?(t=+e[0],r=+e[1],i):[t,r]},i.padding=function(e){return arguments.length?(n="function"==typeof e?e:M(+e),i):n},i},e.packEnclose=h,e.packSiblings=function(e){return T(e),e},e.partition=function(){var e=1,t=1,r=0,n=!1;function i(i){var a=i.height+1;return i.x0=i.y0=r,i.x1=e,i.y1=t/a,i.eachBefore(function(e,t){return function(n){n.children&&P(n,n.x0,e*(n.depth+1)/t,n.x1,e*(n.depth+2)/t);var i=n.x0,a=n.y0,o=n.x1-r,s=n.y1-r;o0)throw new Error("cycle");return a}return r.id=function(t){return arguments.length?(e=k(t),r):e},r.parentId=function(e){return arguments.length?(t=k(e),r):t},r},e.tree=function(){var e=F,t=1,r=1,n=null;function i(i){var l=function(e){for(var t,r,n,i,a,o=new V(e,0),s=[o];t=s.pop();)if(n=t._.children)for(t.children=new Array(a=n.length),i=a-1;i>=0;--i)s.push(r=t.children[i]=new V(n[i],i)),r.parent=t;return(o.parent=new V(null,0)).children=[o],o}(i);if(l.eachAfter(a),l.parent.m=-l.z,l.eachBefore(o),n)i.eachBefore(s);else{var c=i,u=i,h=i;i.eachBefore((function(e){e.xu.x&&(u=e),e.depth>h.depth&&(h=e)}));var f=c===u?1:e(c,u)/2,p=f-c.x,d=t/(u.x+f+p),m=r/(h.depth||1);i.eachBefore((function(e){e.x=(e.x+p)*d,e.y=e.depth*m}))}return i}function a(t){var r=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(r){!function(e){for(var t,r=0,n=0,i=e.children,a=i.length;--a>=0;)(t=i[a]).z+=r,t.m+=r,r+=t.s+(n+=t.c)}(t);var a=(r[0].z+r[r.length-1].z)/2;i?(t.z=i.z+e(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+e(t._,i._));t.parent.A=function(t,r,n){if(r){for(var i,a=t,o=t,s=r,l=a.parent.children[0],c=a.m,u=o.m,h=s.m,f=l.m;s=j(s),a=B(a),s&&a;)l=B(l),(o=j(o)).a=t,(i=s.z+h-a.z-c+e(s._,a._))>0&&(N(U(s,t,n),t,i),c+=i,u+=i),h+=s.m,c+=a.m,f+=l.m,u+=o.m;s&&!j(o)&&(o.t=s,o.m+=h-u),a&&!B(l)&&(l.t=a,l.m+=c-f,n=t)}return n}(t,i,t.parent.A||n[0])}function o(e){e._.x=e.z+e.parent.m,e.m+=e.parent.m}function s(e){e.x*=t,e.y=e.depth*r}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(e){return arguments.length?(n=!1,t=+e[0],r=+e[1],i):n?null:[t,r]},i.nodeSize=function(e){return arguments.length?(n=!0,t=+e[0],r=+e[1],i):n?[t,r]:null},i},e.treemap=function(){var e=W,t=!1,r=1,n=1,i=[0],a=A,o=A,s=A,l=A,c=A;function u(e){return e.x0=e.y0=0,e.x1=r,e.y1=n,e.eachBefore(h),i=[0],t&&e.eachBefore(L),e}function h(t){var r=i[t.depth],n=t.x0+r,u=t.y0+r,h=t.x1-r,f=t.y1-r;h=r-1){var u=s[t];return u.x0=i,u.y0=a,u.x1=o,void(u.y1=l)}for(var h=c[t],f=n/2+h,p=t+1,d=r-1;p>>1;c[m]l-a){var v=(i*y+o*g)/n;e(t,p,g,i,a,v,l),e(p,r,y,v,a,o,l)}else{var x=(a*y+l*g)/n;e(t,p,g,i,a,o,x),e(p,r,y,i,x,o,l)}}(0,l,e.value,t,r,n,i)},e.treemapDice=P,e.treemapResquarify=Z,e.treemapSlice=q,e.treemapSliceDice=function(e,t,r,n,i){(1&e.depth?q:P)(e,t,r,n,i)},e.treemapSquarify=W,Object.defineProperty(e,"__esModule",{value:!0})},n("object"==typeof e&&typeof t<"u"?e:(r=r||self).d3=r.d3||{})}}),dh=m({"src/traces/sunburst/calc.js"(e){var t=ph(),r=M(),n=ct(),i=Yt().makeColorScaleFuncFromTrace,a=eh().makePullColorFn,o=eh().generateExtendedColors,s=Yt().calc,l=S().ALMOST_EQUAL,c={},u={},h={};function f(e,t,r){var n=0,i=e.children;if(i){for(var a=i.length,o=0;o=0};v?(c=Math.min(y.length,_.length),u=function(e){return M(y[e])&&S(e)},h=function(e){return String(y[e])}):(c=Math.min(x.length,_.length),u=function(e){return M(x[e])&&S(e)},h=function(e){return String(x[e])}),w&&(c=Math.min(c,b.length));for(var E=0;E1){for(var P=n.randstr(),z=0;z>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===r?Ah(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===r?Ah(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=Yh.exec(e))?new Eh(t[1],t[2],t[3],1):(t=Xh.exec(e))?new Eh(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=$h.exec(e))?Ah(t[1],t[2],t[3],t[4]):(t=Kh.exec(e))?Ah(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=Jh.exec(e))?Oh(t[1],t[2]/100,t[3]/100,1):(t=Qh.exec(e))?Oh(t[1],t[2]/100,t[3]/100,t[4]):ef.hasOwnProperty(e)?kh(ef[e]):"transparent"===e?new Eh(NaN,NaN,NaN,0):null}function kh(e){return new Eh(e>>16&255,e>>8&255,255&e,1)}function Ah(e,t,r,n){return n<=0&&(e=t=r=NaN),new Eh(e,t,r,n)}function Mh(e){return e instanceof vh||(e=Th(e)),e?new Eh((e=e.rgb()).r,e.g,e.b,e.opacity):new Eh}function Sh(e,t,r,n){return 1===arguments.length?Mh(e):new Eh(e,t,r,n??1)}function Eh(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}function Ch(){return`#${Dh(this.r)}${Dh(this.g)}${Dh(this.b)}`}function Ih(){return`#${Dh(this.r)}${Dh(this.g)}${Dh(this.b)}${Dh(255*(isNaN(this.opacity)?1:this.opacity))}`}function Lh(){let e=Ph(this.opacity);return`${1===e?"rgb(":"rgba("}${zh(this.r)}, ${zh(this.g)}, ${zh(this.b)}${1===e?")":`, ${e})`}`}function Ph(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function zh(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Dh(e){return((e=zh(e))<16?"0":"")+e.toString(16)}function Oh(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Bh(e,t,r,n)}function Rh(e){if(e instanceof Bh)return new Bh(e.h,e.s,e.l,e.opacity);if(e instanceof vh||(e=Th(e)),!e)return new Bh;if(e instanceof Bh)return e;var t=(e=e.rgb()).r/255,r=e.g/255,n=e.b/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=NaN,s=a-i,l=(a+i)/2;return s?(o=t===a?(r-n)/s+6*(r0&&l<1?0:o,new Bh(o,s,l,e.opacity)}function Fh(e,t,r,n){return 1===arguments.length?Rh(e):new Bh(e,t,r,n??1)}function Bh(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}function jh(e){return(e=(e||0)%360)<0?e+360:e}function Nh(e){return Math.max(0,Math.min(1,e||0))}function Uh(e,t,r){return 255*(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)}var Vh,qh,Hh,Gh,Wh,Zh,Yh,Xh,$h,Kh,Jh,Qh,ef,tf,rf,nf=d({"node_modules/d3-color/src/color.js"(){yh(),qh=1/(Vh=.7),Hh="\\s*([+-]?\\d+)\\s*",Gh="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Wh="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Zh=/^#([0-9a-f]{3,8})$/,Yh=new RegExp(`^rgb\\(${Hh},${Hh},${Hh}\\)$`),Xh=new RegExp(`^rgb\\(${Wh},${Wh},${Wh}\\)$`),$h=new RegExp(`^rgba\\(${Hh},${Hh},${Hh},${Gh}\\)$`),Kh=new RegExp(`^rgba\\(${Wh},${Wh},${Wh},${Gh}\\)$`),Jh=new RegExp(`^hsl\\(${Gh},${Wh},${Wh}\\)$`),Qh=new RegExp(`^hsla\\(${Gh},${Wh},${Wh},${Gh}\\)$`),ef={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},mh(vh,Th,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:xh,formatHex:xh,formatHex8:_h,formatHsl:bh,formatRgb:wh,toString:wh}),mh(Eh,Sh,gh(vh,{brighter(e){return e=null==e?qh:Math.pow(qh,e),new Eh(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?Vh:Math.pow(Vh,e),new Eh(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Eh(zh(this.r),zh(this.g),zh(this.b),Ph(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:Ch,formatHex:Ch,formatHex8:Ih,formatRgb:Lh,toString:Lh})),mh(Bh,Fh,gh(vh,{brighter(e){return e=null==e?qh:Math.pow(qh,e),new Bh(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?Vh:Math.pow(Vh,e),new Bh(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,i=2*r-n;return new Eh(Uh(e>=240?e-240:e+120,i,n),Uh(e,i,n),Uh(e<120?e+240:e-120,i,n),this.opacity)},clamp(){return new Bh(jh(this.h),Nh(this.s),Nh(this.l),Ph(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 e=Ph(this.opacity);return`${1===e?"hsl(":"hsla("}${jh(this.h)}, ${100*Nh(this.s)}%, ${100*Nh(this.l)}%${1===e?")":`, ${e})`}`}}))}}),af=d({"node_modules/d3-color/src/math.js"(){tf=Math.PI/180,rf=180/Math.PI}});function of(e){if(e instanceof lf)return new lf(e.l,e.a,e.b,e.opacity);if(e instanceof df)return mf(e);e instanceof Eh||(e=Mh(e));var t,r,n=ff(e.r),i=ff(e.g),a=ff(e.b),o=cf((.2225045*n+.7168786*i+.0606169*a)/yf);return n===i&&i===a?t=r=o:(t=cf((.4360747*n+.3850649*i+.1430804*a)/gf),r=cf((.0139322*n+.0971045*i+.7141733*a)/vf)),new lf(116*o-16,500*(t-o),200*(o-r),e.opacity)}function sf(e,t,r,n){return 1===arguments.length?of(e):new lf(e,t,r,n??1)}function lf(e,t,r,n){this.l=+e,this.a=+t,this.b=+r,this.opacity=+n}function cf(e){return e>wf?Math.pow(e,.3333333333333333):e/bf+xf}function uf(e){return e>_f?e*e*e:bf*(e-xf)}function hf(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,.4166666666666667)-.055)}function ff(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function pf(e,t,r,n){return 1===arguments.length?function(e){if(e instanceof df)return new df(e.h,e.c,e.l,e.opacity);if(e instanceof lf||(e=of(e)),0===e.a&&0===e.b)return new df(NaN,0=1?(r=1,t-1):Math.floor(r*t),i=e[n],a=e[n+1],o=n>0?e[n-1]:2*i-a,s=n()=>e}});function Vf(e,t){return function(r){return e+r*t}}function qf(e,t){var r=t-e;return r?Vf(e,r>180||r<-180?r-360*Math.round(r/360):r):jf(isNaN(e)?t:e)}function Hf(e,t){var r=t-e;return r?Vf(e,r):jf(isNaN(e)?t:e)}var Gf=d({"node_modules/d3-interpolate/src/color.js"(){Uf()}});function Wf(e){return function(t){var r,n,i=t.length,a=new Array(i),o=new Array(i),s=new Array(i);for(r=0;ra&&(i=t.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:ap(r,n)})),a=hp.lastIndex;return a180?t+=360:t-e>180&&(e+=360),a.push({i:r.push(i(r)+"rotate(",null,n)-2,x:ap(e,t)})):t&&r.push(i(r)+"rotate("+t+n)}(a.rotate,o.rotate,s,l),function(e,t,r,a){e!==t?a.push({i:r.push(i(r)+"skewX(",null,n)-2,x:ap(e,t)}):t&&r.push(i(r)+"skewX("+t+n)}(a.skewX,o.skewX,s,l),function(e,t,r,n,a,o){if(e!==r||t!==n){var s=a.push(i(a)+"scale(",null,",",null,")");o.push({i:s-4,x:ap(e,r)},{i:s-2,x:ap(t,n)})}else(1!==r||1!==n)&&a.push(i(a)+"scale("+r+","+n+")")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,l),a=o=null,function(e){for(var t,r=-1,n=l.length;++rpp,interpolateArray:()=>ep,interpolateBasis:()=>Rf,interpolateBasisClosed:()=>Bf,interpolateCubehelix:()=>Zp,interpolateCubehelixLong:()=>Yp,interpolateDate:()=>np,interpolateDiscrete:()=>mp,interpolateHcl:()=>qp,interpolateHclLong:()=>Hp,interpolateHsl:()=>Fp,interpolateHslLong:()=>Bp,interpolateHue:()=>yp,interpolateLab:()=>Np,interpolateNumber:()=>ap,interpolateNumberArray:()=>Kf,interpolateObject:()=>sp,interpolateRgb:()=>Zf,interpolateRgbBasis:()=>Yf,interpolateRgbBasisClosed:()=>Xf,interpolateRound:()=>xp,interpolateString:()=>cp,interpolateTransformCss:()=>Ip,interpolateTransformSvg:()=>Lp,interpolateZoom:()=>Dp,piecewise:()=>$p,quantize:()=>Jp});var td=d({"node_modules/d3-interpolate/src/index.js"(){dp(),rp(),Ff(),Nf(),ip(),gp(),vp(),op(),Qf(),lp(),_p(),fp(),Pp(),Op(),$f(),jp(),Up(),Gp(),Xp(),Kp(),Qp()}}),rd=m({"src/traces/sunburst/fill_one.js"(e,t){var r=er(),n=W();t.exports=function(e,t,i,a,o){var s=t.data.data,l=s.i,c=o||s.color;if(l>=0){t.i=s.i;var u=i.marker;u.pattern?(!u.colors||!u.pattern.shape)&&(u.color=c,t.color=c):(u.color=c,t.color=c),r.pointStyle(e,i,a,t)}else n.fill(e,c)}}}),nd=m({"src/traces/sunburst/style.js"(e,t){var r=b(),n=W(),i=ct(),a=Qa().resizeText,o=rd();function s(e,t,r,a){var s=t.data.data,l=!t.children,c=s.i,u=i.castOption(r,c,"marker.line.color")||n.defaultLine,h=i.castOption(r,c,"marker.line.width")||0;e.call(o,t,r,a).style("stroke-width",h).call(n.stroke,u).style("opacity",l?r.leaf.opacity:null)}t.exports={style:function(e){var t=e._fullLayout._sunburstlayer.selectAll(".trace");a(e,t,"sunburst"),t.each((function(t){var n=r.select(this),i=t[0].trace;n.style("opacity",i.opacity),n.selectAll("path.surface").each((function(t){r.select(this).call(s,t,i,e)}))}))},styleOne:s}}}),id=m({"src/traces/sunburst/helpers.js"(e){var t=ct(),r=W(),n=dr(),i=wr();function a(e){return e.data.data.pid}e.findEntryWithLevel=function(t,r){var n;return r&&t.eachAfter((function(t){if(e.getPtId(t)===r)return n=t.copy()})),n||t},e.findEntryWithChild=function(t,r){var n;return t.eachAfter((function(t){for(var i=t.children||[],a=0;a0)},e.getMaxDepth=function(e){return e.maxdepth>=0?e.maxdepth:1/0},e.isHeader=function(t,r){return!(e.isLeaf(t)||t.depth===r._maxDepth-1)},e.getParent=function(t,r){return e.findEntryWithLevel(t,a(r))},e.listPath=function(t,r){var n=t.parent;if(!n)return[];var i=r?[n.data[r]]:[n];return e.listPath(n,r).concat(i)},e.getPath=function(t){return e.listPath(t,"label").join("/")+"/"},e.formatValue=i.formatPieValue,e.formatPercent=function(e,r){var n=t.formatPercent(e,0);return"0%"===n&&(n=i.formatPiePercent(e,r)),n}}}),ad=m({"src/traces/sunburst/fx.js"(e,t){var r=b(),n=He(),i=Kt().appendArrayPointValue,a=Or(),o=ct(),s=dt(),l=id(),c=wr().formatPieValue;function u(e,t,r){for(var n=e.data.data,a={curveNumber:t.index,pointNumber:n.i,data:t._input,fullData:t},o=0;o"),name:A||z("name")?v.name:void 0,color:k("hoverlabel.bgcolor")||x.color,borderColor:k("hoverlabel.bordercolor"),fontFamily:k("hoverlabel.font.family"),fontSize:k("hoverlabel.font.size"),fontColor:k("hoverlabel.font.color"),fontWeight:k("hoverlabel.font.weight"),fontStyle:k("hoverlabel.font.style"),fontVariant:k("hoverlabel.font.variant"),nameLength:k("hoverlabel.namelength"),textAlign:k("hoverlabel.align"),hovertemplate:A,hovertemplateLabels:I,eventData:h};g&&(F.x0=E-n.rInscribed*n.rpx1,F.x1=E+n.rInscribed*n.rpx1,F.idealAlign=n.pxmid[0]<0?"left":"right"),y&&(F.x=E,F.idealAlign=E<0?"left":"right");var B=[];a.loneHover(F,{container:s._hoverlayer.node(),outerContainer:s._paper.node(),gd:i,inOut_bbox:B}),h[0].bbox=B[0],d._hasHoverLabel=!0}if(y){var j=e.select("path.surface");f.styleOne(j,n,v,i,{hovered:!0})}d._hasHoverEvent=!0,i.emit("plotly_hover",{points:h||[u(n,v,f.eventDataKeys)],event:r.event})}})),e.on("mouseout",(function(t){var n=i._fullLayout,o=i._fullData[d.index],s=r.select(this).datum();if(d._hasHoverEvent&&(t.originalEvent=r.event,i.emit("plotly_unhover",{points:[u(s,o,f.eventDataKeys)],event:r.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(a.loneUnhover(n._hoverlayer.node()),d._hasHoverLabel=!1),y){var l=e.select("path.surface");f.styleOne(l,s,o,i,{hovered:!1})}})),e.on("click",(function(e){var t=i._fullLayout,o=i._fullData[d.index],c=g&&(l.isHierarchyRoot(e)||l.isLeaf(e)),h=l.getPtId(e),p=l.isEntry(e)?l.findEntryWithChild(m,h):l.findEntryWithLevel(m,h),y=l.getPtId(p),v={points:[u(e,o,f.eventDataKeys)],event:r.event};c||(v.nextLevel=y);var x=s.triggerHandler(i,"plotly_"+d.type+"click",v);if(!1!==x&&t.hovermode&&(i._hoverdata=[u(e,o,f.eventDataKeys)],a.click(i,r.event)),!c&&!1!==x&&!i._dragging&&!i._transitioning){n.call("_storeDirectGUIEdit",o,t._tracePreGUI[o.uid],{level:o.level});var _={data:[{level:y}],traces:[d.index]},b={frame:{redraw:!1,duration:f.transitionTime},transition:{duration:f.transitionTime,easing:f.transitionEasing},mode:"immediate",fromcurrent:!0};a.loneUnhover(t._hoverlayer.node()),n.call("animate",i,_,b)}}))}}}),od=m({"src/traces/sunburst/plot.js"(e){var t=b(),r=ph(),n=(td(),v(ed)).interpolate,i=er(),a=ct(),o=Et(),s=Qa(),l=s.recordMinTextSize,c=s.clearMinTextSize,u=rh(),h=wr().getRotationAngle,f=u.computeTransform,p=u.transformInsideText,d=nd().styleOne,m=to().resizeText,g=ad(),y=lh(),x=id();function _(s,c,u,m){var v=s._context.staticPlot,_=s._fullLayout,b=!_.uniformtext.mode&&x.hasTransition(m),T=t.select(u).selectAll("g.slice"),k=c[0],A=k.trace,M=k.hierarchy,S=x.findEntryWithLevel(M,A.level),E=x.getMaxDepth(A),C=_._size,I=A.domain,L=C.w*(I.x[1]-I.x[0]),P=C.h*(I.y[1]-I.y[0]),z=.5*Math.min(L,P),D=k.cx=C.l+C.w*(I.x[1]+I.x[0])/2,O=k.cy=C.t+C.h*(1-I.y[0])-P/2;if(!S)return T.remove();var R=null,F={};b&&T.each((function(e){F[x.getPtId(e)]={rpx0:e.rpx0,rpx1:e.rpx1,x0:e.x0,x1:e.x1,transform:e.transform},!R&&x.isEntry(e)&&(R=e)}));var B=function(e){return r.partition().size([2*Math.PI,e.height+1])(e)}(S).descendants(),j=S.height+1,N=0,U=E;k.hasMultipleRoots&&x.isHierarchyRoot(S)&&(B=B.slice(1),j-=1,N=1,U+=1),B=B.filter((function(e){return e.y1<=U}));var V=h(A.rotation);V&&B.forEach((function(e){e.x0+=V,e.x1+=V}));var q=Math.min(j,E),H=function(e){return(e-N)/q*z},G=function(e,t){return[e*Math.cos(t),-e*Math.sin(t)]},W=function(e){return a.pathAnnulus(e.rpx0,e.rpx1,e.x0,e.x1,D,O)},Z=function(e){return D+w(e)[0]*(e.transform.rCenter||0)+(e.transform.x||0)},Y=function(e){return O+w(e)[1]*(e.transform.rCenter||0)+(e.transform.y||0)};(T=T.data(B,x.getPtId)).enter().append("g").classed("slice",!0),b?T.exit().transition().each((function(){var e=t.select(this);e.select("path.surface").transition().attrTween("d",(function(e){var t=function(e){var t,r=x.getPtId(e),i=F[r],a=F[x.getPtId(S)];if(a){var o=(e.x1>a.x1?2*Math.PI:0)+V;t=e.rpx1X?2*Math.PI:0)+V;t={x0:o,x1:o}}else t={rpx0:z,rpx1:z},a.extendFlat(t,J(e));else t={rpx0:0,rpx1:0};else t={x0:V,x1:V};return n(t,i)}(e);return function(e){return W(t(e))}})):h.attr("d",W),u.call(g,S,s,c,{eventDataKeys:y.eventDataKeys,transitionTime:y.CLICK_TRANSITION_TIME,transitionEasing:y.CLICK_TRANSITION_EASING}).call(x.setSliceCursor,s,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:s._transitioning}),h.call(d,r,A,s);var m=a.ensureSingle(u,"g","slicetext"),w=a.ensureSingle(m,"text","",(function(e){e.attr("data-notex",1)})),T=a.ensureUniformFontSize(s,x.determineTextFont(A,r,_.font));w.text(e.formatSliceLabel(r,S,A,c,_)).classed("slicetext",!0).attr("text-anchor","middle").call(i.font,T).call(o.convertToTspans,s);var M=i.bBox(w.node());r.transform=p(M,r,k),r.transform.targetX=Z(r),r.transform.targetY=Y(r);var E=function(e,t){var r=e.transform;return f(r,t),r.fontSize=T.size,l(A.type,r,_),a.getTextTransform(r)};b?w.transition().attrTween("transform",(function(e){var t=function(e){var t,r=F[x.getPtId(e)],i=e.transform;if(r)t=r;else if(t={rpx1:e.rpx1,transform:{textPosAngle:i.textPosAngle,scale:0,rotate:i.rotate,rCenter:i.rCenter,x:i.x,y:i.y}},R)if(e.parent)if(X){var o=e.x1>X?2*Math.PI:0;t.x0=t.x1=o}else a.extendFlat(t,J(e));else t.x0=t.x1=V;else t.x0=t.x1=V;var s=n(t.transform.textPosAngle,e.transform.textPosAngle),c=n(t.rpx1,e.rpx1),u=n(t.x0,e.x0),h=n(t.x1,e.x1),f=n(t.transform.scale,i.scale),p=n(t.transform.rotate,i.rotate),d=0===i.rCenter?3:0===t.transform.rCenter?1/3:1,m=n(t.transform.rCenter,i.rCenter);return function(e){var t=c(e),r=u(e),n=h(e),a=function(e){return m(Math.pow(e,d))}(e),o={pxmid:G(t,(r+n)/2),rpx1:t,transform:{textPosAngle:s(e),rCenter:a,x:i.x,y:i.y}};return l(A.type,i,_),{transform:{targetX:Z(o),targetY:Y(o),scale:f(e),rotate:p(e),rCenter:a}}}}(e);return function(e){return E(t(e),M)}})):w.attr("transform",E(r,M))}))}function w(e){return function(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}(e.rpx1,e.transform.textPosAngle)}e.plot=function(e,r,n,i){var a,o,s=e._fullLayout,l=s._sunburstlayer,u=!n,h=!s.uniformtext.mode&&x.hasTransition(n);c("sunburst",s),(a=l.selectAll("g.trace.sunburst").data(r,(function(e){return e[0].trace.uid}))).enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),a.order(),h?(i&&(o=i()),t.transition().duration(n.duration).ease(n.easing).each("end",(function(){o&&o()})).each("interrupt",(function(){o&&o()})).each((function(){l.selectAll("g.trace").each((function(t){_(e,t,this,n)}))}))):(a.each((function(t){_(e,t,this,n)})),s.uniformtext.mode&&m(e,s._sunburstlayer.selectAll(".trace"),"sunburst")),u&&a.exit().remove()},e.formatSliceLabel=function(e,t,r,n,i){var o=r.texttemplate,s=r.textinfo;if(!(o||s&&"none"!==s))return"";var l=i.separators,c=n[0],u=e.data.data,h=c.hierarchy,f=x.isHierarchyRoot(e),p=x.getParent(h,e),d=x.getValue(e);if(!o){var m,g=s.split("+"),y=function(e){return-1!==g.indexOf(e)},v=[];if(y("label")&&u.label&&v.push(u.label),u.hasOwnProperty("v")&&y("value")&&v.push(x.formatValue(u.v,l)),!f){y("current path")&&v.push(x.getPath(e.data));var _=0;y("percent parent")&&_++,y("percent entry")&&_++,y("percent root")&&_++;var b=_>1;if(_){var w,T=function(e){m=x.formatPercent(w,l),b&&(m+=" of "+e),v.push(m)};y("percent parent")&&!f&&(w=d/x.getValue(p),T("parent")),y("percent entry")&&(w=d/x.getValue(t),T("entry")),y("percent root")&&(w=d/x.getValue(h),T("root"))}}return y("text")&&(m=a.castOption(r,u.i,"text"),a.isValidTextValue(m)&&v.push(m)),v.join("
")}var k=a.castOption(r,u.i,"texttemplate");if(!k)return"";var A={};u.label&&(A.label=u.label),u.hasOwnProperty("v")&&(A.value=u.v,A.valueLabel=x.formatValue(u.v,l)),A.currentPath=x.getPath(e.data),f||(A.percentParent=d/x.getValue(p),A.percentParentLabel=x.formatPercent(A.percentParent,l),A.parent=x.getPtLabel(p)),A.percentEntry=d/x.getValue(t),A.percentEntryLabel=x.formatPercent(A.percentEntry,l),A.entry=x.getPtLabel(t),A.percentRoot=d/x.getValue(h),A.percentRootLabel=x.formatPercent(A.percentRoot,l),A.root=x.getPtLabel(h),u.hasOwnProperty("color")&&(A.color=u.color);var M=a.castOption(r,u.i,"text");return(a.isValidTextValue(M)||""===M)&&(A.text=M),A.customdata=a.castOption(r,u.i,"customdata"),a.texttemplateString({data:[A,r._meta],fallback:r.texttemplatefallback,labels:A,locale:i._d3locale,template:k})}}}),sd=m({"src/traces/sunburst/index.js"(e,t){t.exports={moduleType:"trace",name:"sunburst",basePlotModule:sh(),categories:[],animatable:!0,attributes:ch(),layoutAttributes:uh(),supplyDefaults:hh(),supplyLayoutDefaults:fh(),calc:dh().calc,crossTraceCalc:dh().crossTraceCalc,plot:od().plot,style:nd().style,colorbar:mi(),meta:{}}}}),ld=m({"lib/sunburst.js"(e,t){t.exports=sd()}}),cd=m({"src/traces/treemap/base_plot.js"(e){var t=At();e.name="treemap",e.plot=function(r,n,i,a){t.plotBasePlot(e.name,r,n,i,a)},e.clean=function(r,n,i,a){t.cleanBasePlot(e.name,r,n,i,a)}}}),ud=m({"src/traces/treemap/constants.js"(e,t){t.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}}}),hd=m({"src/traces/treemap/attributes.js"(e,t){var{hovertemplateAttrs:r,texttemplateAttrs:n,templatefallbackAttrs:i}=Fe(),a=zt(),o=Ma().attributes,s=$u(),l=ch(),c=ud(),u=B().extendFlat,h=Oe().pattern;t.exports={labels:l.labels,parents:l.parents,values:l.values,branchvalues:l.branchvalues,count:l.count,level:l.level,maxdepth:l.maxdepth,tiling:{packing:{valType:"enumerated",values:["squarify","binary","dice","slice","slice-dice","dice-slice"],dflt:"squarify",editType:"plot"},squarifyratio:{valType:"number",min:1,dflt:1,editType:"plot"},flip:{valType:"flaglist",flags:["x","y"],dflt:"",editType:"plot"},pad:{valType:"number",min:0,dflt:3,editType:"plot"},editType:"calc"},marker:u({pad:{t:{valType:"number",min:0,editType:"plot"},l:{valType:"number",min:0,editType:"plot"},r:{valType:"number",min:0,editType:"plot"},b:{valType:"number",min:0,editType:"plot"},editType:"calc"},colors:l.marker.colors,pattern:h,depthfade:{valType:"enumerated",values:[!0,!1,"reversed"],editType:"style"},line:l.marker.line,cornerradius:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},a("marker",{colorAttr:"colors",anim:!1})),pathbar:{visible:{valType:"boolean",dflt:!0,editType:"plot"},side:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},edgeshape:{valType:"enumerated",values:[">","<","|","/","\\"],dflt:">",editType:"plot"},thickness:{valType:"number",min:12,editType:"plot"},textfont:u({},s.textfont,{}),editType:"calc"},text:s.text,textinfo:l.textinfo,texttemplate:n({editType:"plot"},{keys:c.eventDataKeys.concat(["label","value"])}),texttemplatefallback:i({editType:"plot"}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:r({},{keys:c.eventDataKeys}),hovertemplatefallback:i(),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:u({},s.outsidetextfont,{}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"top left",editType:"plot"},sort:s.sort,root:l.root,domain:o({name:"treemap",trace:!0,editType:"calc"})}}}),fd=m({"src/traces/treemap/layout_attributes.js"(e,t){t.exports={treemapcolorway:{valType:"colorlist",editType:"calc"},extendtreemapcolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),pd=m({"src/traces/treemap/defaults.js"(e,t){var r=ct(),n=hd(),i=W(),a=Ma().defaults,o=Xa().handleText,s=ci().TEXTPAD,l=Ku().handleMarkerDefaults,c=Yt(),u=c.hasColorscale,h=c.handleDefaults;t.exports=function(e,t,c,f){function p(i,a){return r.coerce(e,t,n,i,a)}var d=p("labels"),m=p("parents");if(d&&d.length&&m&&m.length){var g=p("values");g&&g.length?p("branchvalues"):p("count"),p("level"),p("maxdepth"),"squarify"===p("tiling.packing")&&p("tiling.squarifyratio"),p("tiling.flip"),p("tiling.pad");var y=p("text");p("texttemplate"),p("texttemplatefallback"),t.texttemplate||p("textinfo",r.isArrayOrTypedArray(y)?"text+label":"label"),p("hovertext"),p("hovertemplate"),p("hovertemplatefallback");var v=p("pathbar.visible");o(e,t,f,p,"auto",{hasPathbar:v,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),p("textposition");var x=-1!==t.textposition.indexOf("bottom");l(e,t,f,p),(t._hasColorscale=u(e,"marker","colors")||(e.marker||{}).coloraxis)?h(e,t,f,p,{prefix:"marker.",cLetter:"c"}):p("marker.depthfade",!(t.marker.colors||[]).length);var _=2*t.textfont.size;p("marker.pad.t",x?_/4:_),p("marker.pad.l",_/4),p("marker.pad.r",_/4),p("marker.pad.b",x?_:_/4),p("marker.cornerradius"),t._hovered={marker:{line:{width:2,color:i.contrast(f.paper_bgcolor)}}},v&&(p("pathbar.thickness",t.pathbar.textfont.size+2*s),p("pathbar.side"),p("pathbar.edgeshape")),p("sort"),p("root.color"),a(t,f,p),t._length=null}else t.visible=!1}}}),dd=m({"src/traces/treemap/layout_defaults.js"(e,t){var r=ct(),n=fd();t.exports=function(e,t){function i(i,a){return r.coerce(e,t,n,i,a)}i("treemapcolorway",t.colorway),i("extendtreemapcolors")}}}),md=m({"src/traces/treemap/calc.js"(e){var t=dh();e.calc=function(e,r){return t.calc(e,r)},e.crossTraceCalc=function(e){return t._runCrossTraceCalc("treemap",e)}}}),gd=m({"src/traces/treemap/flip_tree.js"(e,t){t.exports=function e(t,r,n){var i;n.swapXY&&(i=t.x0,t.x0=t.y0,t.y0=i,i=t.x1,t.x1=t.y1,t.y1=i),n.flipX&&(i=t.x0,t.x0=r[0]-t.x1,t.x1=r[0]-i),n.flipY&&(i=t.y0,t.y0=r[1]-t.y1,t.y1=r[1]-i);var a=t.children;if(a)for(var o=0;o0)for(var b=0;b").join(" ")||"";var m=n.ensureSingle(p,"g","slicetext"),k=n.ensureSingle(m,"text","",(function(e){e.attr("data-notex",1)})),I=n.ensureUniformFontSize(e,c.determineTextFont(L,o,C.font,{onPathbar:!0}));k.text(o._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(i.font,I).call(a.convertToTspans,e),o.textBB=i.bBox(k.node()),o.transform=b(o,{fontSize:I.size,onPathbar:!0}),o.transform.fontSize=I.size,T?k.transition().attrTween("transform",(function(e){var t=M(e,h,S,[g,y]);return function(e){return w(t(e))}})):k.attr("transform",w(o))}))}}}),_d=m({"src/traces/treemap/plot_one.js"(e,t){var r=b(),n=(td(),v(ed)).interpolate,i=id(),a=ct(),o=ci().TEXTPAD,s=ro().toMoveInsideBar,l=Qa().recordMinTextSize,c=ud(),u=xd();function h(e){return i.isHierarchyRoot(e)?"":i.getPtId(e)}t.exports=function(e,t,f,p,d){var m=e._fullLayout,g=t[0],y=g.trace,v="icicle"===y.type,x=g.hierarchy,_=i.findEntryWithLevel(x,y.level),b=r.select(f),w=b.selectAll("g.pathbar"),T=b.selectAll("g.slice");if(!_)return w.remove(),void T.remove();var k=i.isHierarchyRoot(_),A=!m.uniformtext.mode&&i.hasTransition(p),M=i.getMaxDepth(y),S=m._size,E=y.domain,C=S.w*(E.x[1]-E.x[0]),I=S.h*(E.y[1]-E.y[0]),L=C,P=y.pathbar.thickness,z=y.marker.line.width+c.gapWithPathbar,D=y.pathbar.visible?y.pathbar.side.indexOf("bottom")>-1?I+z:-(P+z):0,O={x0:L,x1:L,y0:D,y1:D+P},R=function(e,t,r){var n=y.tiling.pad,i=function(e){return e-n<=t.x0},a=function(e){return e+n>=t.x1},o=function(e){return e-n<=t.y0},s=function(e){return e+n>=t.y1};return e.x0===t.x0&&e.x1===t.x1&&e.y0===t.y0&&e.y1===t.y1?{x0:e.x0,x1:e.x1,y0:e.y0,y1:e.y1}:{x0:i(e.x0-n)?0:a(e.x0-n)?r[0]:e.x0,x1:i(e.x1+n)?0:a(e.x1+n)?r[0]:e.x1,y0:o(e.y0-n)?0:s(e.y0-n)?r[1]:e.y0,y1:o(e.y1+n)?0:s(e.y1+n)?r[1]:e.y1}},F=null,B={},j={},N=null,U=function(e,t){return t?B[h(e)]:j[h(e)]};g.hasMultipleRoots&&k&&M++,y._maxDepth=M,y._backgroundColor=m.paper_bgcolor,y._entryDepth=_.data.depth,y._atRootLevel=k;var V=-C/2+S.l+S.w*(E.x[1]+E.x[0])/2,q=-I/2+S.t+S.h*(1-(E.y[1]+E.y[0])/2),H=function(e){return V+e},G=function(e){return q+e},W=G(0),Z=H(0),Y=function(e){return Z+e},X=function(e){return W+e};function $(e,t){return e+","+t}var K=Y(0),J=function(e){e.x=Math.max(K,e.x)},Q=y.pathbar.edgeshape,ee=y[v?"tiling":"marker"].pad,te=function(e){return-1!==y.textposition.indexOf(e)},re=te("top"),ne=te("left"),ie=te("right"),ae=te("bottom"),oe=function(e,t){var r=e.x0,n=e.x1,i=e.y0,a=e.y1,c=e.textBB,u=re||t.isHeader&&!ae?"start":ae?"end":"middle",h=te("right"),f=te("left")||t.onPathbar?-1:h?1:0;if(t.isHeader){if((r+=(v?ee:ee.l)-o)>=(n-=(v?ee:ee.r)-o)){var p=(r+n)/2;r=p,n=p}var d;ae?i<(d=a-(v?ee:ee.b))&&d"===Q?(l.x-=a,c.x-=a,u.x-=a,h.x-=a):"/"===Q?(u.x-=a,h.x-=a,o.x-=a/2,s.x-=a/2):"\\"===Q?(l.x-=a,c.x-=a,o.x-=a/2,s.x-=a/2):"<"===Q&&(o.x-=a,s.x-=a),J(l),J(h),J(o),J(c),J(u),J(s),"M"+$(l.x,l.y)+"L"+$(c.x,c.y)+"L"+$(s.x,s.y)+"L"+$(u.x,u.y)+"L"+$(h.x,h.y)+"L"+$(o.x,o.y)+"Z"},toMoveInsideSlice:oe,makeUpdateSliceInterpolator:le,makeUpdateTextInterpolator:ce,handleSlicesExit:ue,hasTransition:A,strTransform:he}):w.remove()}}}),bd=m({"src/traces/treemap/draw.js"(e,t){var r=b(),n=id(),i=Qa().clearMinTextSize,a=to().resizeText,o=_d();t.exports=function(e,t,s,l,c){var u,h,f=c.type,p=c.drawDescendants,d=e._fullLayout,m=d["_"+f+"layer"],g=!s;i(f,d),(u=m.selectAll("g.trace."+f).data(t,(function(e){return e[0].trace.uid}))).enter().append("g").classed("trace",!0).classed(f,!0),u.order(),!d.uniformtext.mode&&n.hasTransition(s)?(l&&(h=l()),r.transition().duration(s.duration).ease(s.easing).each("end",(function(){h&&h()})).each("interrupt",(function(){h&&h()})).each((function(){m.selectAll("g.trace").each((function(t){o(e,t,this,s,p)}))}))):(u.each((function(t){o(e,t,this,s,p)})),d.uniformtext.mode&&a(e,m.selectAll(".trace"),f)),g&&u.exit().remove()}}}),wd=m({"src/traces/treemap/draw_descendants.js"(e,t){var r=b(),n=ct(),i=er(),a=Et(),o=yd(),s=vd().styleOne,l=ud(),c=id(),u=ad(),h=od().formatSliceLabel,f=!1;t.exports=function(e,t,p,d,m){var g=m.width,y=m.height,v=m.viewX,x=m.viewY,_=m.pathSlice,b=m.toMoveInsideSlice,w=m.strTransform,T=m.hasTransition,k=m.handleSlicesExit,A=m.makeUpdateSliceInterpolator,M=m.makeUpdateTextInterpolator,S=m.prevEntry,E=e._context.staticPlot,C=e._fullLayout,I=t[0].trace,L=-1!==I.textposition.indexOf("left"),P=-1!==I.textposition.indexOf("right"),z=-1!==I.textposition.indexOf("bottom"),D=!z&&!I.marker.pad.t||z&&!I.marker.pad.b,O=o(p,[g,y],{packing:I.tiling.packing,squarifyratio:I.tiling.squarifyratio,flipX:I.tiling.flip.indexOf("x")>-1,flipY:I.tiling.flip.indexOf("y")>-1,pad:{inner:I.tiling.pad,top:I.marker.pad.t,left:I.marker.pad.l,right:I.marker.pad.r,bottom:I.marker.pad.b}}).descendants(),R=1/0,F=-1/0;O.forEach((function(e){var t=e.depth;t>=I._maxDepth?(e.x0=e.x1=(e.x0+e.x1)/2,e.y0=e.y1=(e.y0+e.y1)/2):(R=Math.min(R,t),F=Math.max(F,t))})),d=d.data(O,c.getPtId),I._maxVisibleLayers=isFinite(F)?F-R+1:0,d.enter().append("g").classed("slice",!0),k(d,f,{},[g,y],_),d.order();var B=null;if(T&&S){var j=c.getPtId(S);d.each((function(e){null===B&&c.getPtId(e)===j&&(B={x0:e.x0,x1:e.x1,y0:e.y0,y1:e.y1})}))}var N=function(){return B||{x0:0,x1:g,y0:0,y1:y}},U=d;return T&&(U=U.transition().each("end",(function(){var t=r.select(this);c.setSliceCursor(t,e,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),U.each((function(o){var d=c.isHeader(o,I);o._x0=v(o.x0),o._x1=v(o.x1),o._y0=x(o.y0),o._y1=x(o.y1),o._hoverX=v(o.x1-I.marker.pad.r),o._hoverY=x(z?o.y1-I.marker.pad.b/2:o.y0+I.marker.pad.t/2);var m=r.select(this),k=n.ensureSingle(m,"path","surface",(function(e){e.style("pointer-events",E?"none":"all")}));T?k.transition().attrTween("d",(function(e){var t=A(e,f,N(),[g,y]);return function(e){return _(t(e))}})):k.attr("d",_),m.call(u,p,e,t,{styleOne:s,eventDataKeys:l.eventDataKeys,transitionTime:l.CLICK_TRANSITION_TIME,transitionEasing:l.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,e,{isTransitioning:e._transitioning}),k.call(s,o,I,e,{hovered:!1}),o.x0===o.x1||o.y0===o.y1?o._text="":o._text=d?D?"":c.getPtLabel(o)||"":h(o,p,I,t,C)||"";var S=n.ensureSingle(m,"g","slicetext"),O=n.ensureSingle(S,"text","",(function(e){e.attr("data-notex",1)})),R=n.ensureUniformFontSize(e,c.determineTextFont(I,o,C.font)),F=o._text||" ",B=d&&-1===F.indexOf("
");O.text(F).classed("slicetext",!0).attr("text-anchor",P?"end":L||B?"start":"middle").call(i.font,R).call(a.convertToTspans,e),o.textBB=i.bBox(O.node()),o.transform=b(o,{fontSize:R.size,isHeader:d}),o.transform.fontSize=R.size,T?O.transition().attrTween("transform",(function(e){var t=M(e,f,N(),[g,y]);return function(e){return w(t(e))}})):O.attr("transform",w(o))})),B}}}),Td=m({"src/traces/treemap/plot.js"(e,t){var r=bd(),n=wd();t.exports=function(e,t,i,a){return r(e,t,i,a,{type:"treemap",drawDescendants:n})}}}),kd=m({"src/traces/treemap/index.js"(e,t){t.exports={moduleType:"trace",name:"treemap",basePlotModule:cd(),categories:[],animatable:!0,attributes:hd(),layoutAttributes:fd(),supplyDefaults:pd(),supplyLayoutDefaults:dd(),calc:md().calc,crossTraceCalc:md().crossTraceCalc,plot:Td(),style:vd().style,colorbar:mi(),meta:{}}}}),Ad=m({"lib/treemap.js"(e,t){t.exports=kd()}}),Md=m({"src/traces/icicle/base_plot.js"(e){var t=At();e.name="icicle",e.plot=function(r,n,i,a){t.plotBasePlot(e.name,r,n,i,a)},e.clean=function(r,n,i,a){t.cleanBasePlot(e.name,r,n,i,a)}}}),Sd=m({"src/traces/icicle/attributes.js"(e,t){var{hovertemplateAttrs:r,texttemplateAttrs:n,templatefallbackAttrs:i}=Fe(),a=zt(),o=Ma().attributes,s=$u(),l=ch(),c=hd(),u=ud(),h=B().extendFlat,f=Oe().pattern;t.exports={labels:l.labels,parents:l.parents,values:l.values,branchvalues:l.branchvalues,count:l.count,level:l.level,maxdepth:l.maxdepth,tiling:{orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"plot"},flip:c.tiling.flip,pad:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},marker:h({colors:l.marker.colors,line:l.marker.line,pattern:f,editType:"calc"},a("marker",{colorAttr:"colors",anim:!1})),leaf:l.leaf,pathbar:c.pathbar,text:s.text,textinfo:l.textinfo,texttemplate:n({editType:"plot"},{keys:u.eventDataKeys.concat(["label","value"])}),texttemplatefallback:i({editType:"plot"}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:r({},{keys:u.eventDataKeys}),hovertemplatefallback:i(),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:c.outsidetextfont,textposition:c.textposition,sort:s.sort,root:l.root,domain:o({name:"icicle",trace:!0,editType:"calc"})}}}),Ed=m({"src/traces/icicle/layout_attributes.js"(e,t){t.exports={iciclecolorway:{valType:"colorlist",editType:"calc"},extendiciclecolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),Cd=m({"src/traces/icicle/defaults.js"(e,t){var r=ct(),n=Sd(),i=W(),a=Ma().defaults,o=Xa().handleText,s=ci().TEXTPAD,l=Ku().handleMarkerDefaults,c=Yt(),u=c.hasColorscale,h=c.handleDefaults;t.exports=function(e,t,c,f){function p(i,a){return r.coerce(e,t,n,i,a)}var d=p("labels"),m=p("parents");if(d&&d.length&&m&&m.length){var g=p("values");g&&g.length?p("branchvalues"):p("count"),p("level"),p("maxdepth"),p("tiling.orientation"),p("tiling.flip"),p("tiling.pad");var y=p("text");p("texttemplate"),p("texttemplatefallback"),t.texttemplate||p("textinfo",r.isArrayOrTypedArray(y)?"text+label":"label"),p("hovertext"),p("hovertemplate"),p("hovertemplatefallback");var v=p("pathbar.visible");o(e,t,f,p,"auto",{hasPathbar:v,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),p("textposition"),l(e,t,f,p);var x=t._hasColorscale=u(e,"marker","colors")||(e.marker||{}).coloraxis;x&&h(e,t,f,p,{prefix:"marker.",cLetter:"c"}),p("leaf.opacity",x?1:.7),t._hovered={marker:{line:{width:2,color:i.contrast(f.paper_bgcolor)}}},v&&(p("pathbar.thickness",t.pathbar.textfont.size+2*s),p("pathbar.side"),p("pathbar.edgeshape")),p("sort"),p("root.color"),a(t,f,p),t._length=null}else t.visible=!1}}}),Id=m({"src/traces/icicle/layout_defaults.js"(e,t){var r=ct(),n=Ed();t.exports=function(e,t){function i(i,a){return r.coerce(e,t,n,i,a)}i("iciclecolorway",t.colorway),i("extendiciclecolors")}}}),Ld=m({"src/traces/icicle/calc.js"(e){var t=dh();e.calc=function(e,r){return t.calc(e,r)},e.crossTraceCalc=function(e){return t._runCrossTraceCalc("icicle",e)}}}),Pd=m({"src/traces/icicle/partition.js"(e,t){var r=ph(),n=gd();t.exports=function(e,t,i){var a=i.flipX,o=i.flipY,s="h"===i.orientation,l=i.maxDepth,c=t[0],u=t[1];l&&(c=(e.height+1)*t[0]/Math.min(e.height+1,l),u=(e.height+1)*t[1]/Math.min(e.height+1,l));var h=r.partition().padding(i.pad.inner).size(s?[t[1],c]:[t[0],u])(e);return(s||a||o)&&n(h,t,{swapXY:s,flipX:a,flipY:o}),h}}}),zd=m({"src/traces/icicle/style.js"(e,t){var r=b(),n=W(),i=ct(),a=Qa().resizeText,o=rd();function s(e,t,r,a){var s=t.data.data,l=!t.children,c=s.i,u=i.castOption(r,c,"marker.line.color")||n.defaultLine,h=i.castOption(r,c,"marker.line.width")||0;e.call(o,t,r,a).style("stroke-width",h).call(n.stroke,u).style("opacity",l?r.leaf.opacity:null)}t.exports={style:function(e){var t=e._fullLayout._iciclelayer.selectAll(".trace");a(e,t,"icicle"),t.each((function(t){var n=r.select(this),i=t[0].trace;n.style("opacity",i.opacity),n.selectAll("path.surface").each((function(t){r.select(this).call(s,t,i,e)}))}))},styleOne:s}}}),Dd=m({"src/traces/icicle/draw_descendants.js"(e,t){var r=b(),n=ct(),i=er(),a=Et(),o=Pd(),s=zd().styleOne,l=ud(),c=id(),u=ad(),h=od().formatSliceLabel,f=!1;t.exports=function(e,t,p,d,m){var g=m.width,y=m.height,v=m.viewX,x=m.viewY,_=m.pathSlice,b=m.toMoveInsideSlice,w=m.strTransform,T=m.hasTransition,k=m.handleSlicesExit,A=m.makeUpdateSliceInterpolator,M=m.makeUpdateTextInterpolator,S=m.prevEntry,E=e._context.staticPlot,C=e._fullLayout,I=t[0].trace,L=-1!==I.textposition.indexOf("left"),P=-1!==I.textposition.indexOf("right"),z=-1!==I.textposition.indexOf("bottom"),D=o(p,[g,y],{flipX:I.tiling.flip.indexOf("x")>-1,flipY:I.tiling.flip.indexOf("y")>-1,orientation:I.tiling.orientation,pad:{inner:I.tiling.pad},maxDepth:I._maxDepth}).descendants(),O=1/0,R=-1/0;D.forEach((function(e){var t=e.depth;t>=I._maxDepth?(e.x0=e.x1=(e.x0+e.x1)/2,e.y0=e.y1=(e.y0+e.y1)/2):(O=Math.min(O,t),R=Math.max(R,t))})),d=d.data(D,c.getPtId),I._maxVisibleLayers=isFinite(R)?R-O+1:0,d.enter().append("g").classed("slice",!0),k(d,f,{},[g,y],_),d.order();var F=null;if(T&&S){var B=c.getPtId(S);d.each((function(e){null===F&&c.getPtId(e)===B&&(F={x0:e.x0,x1:e.x1,y0:e.y0,y1:e.y1})}))}var j=function(){return F||{x0:0,x1:g,y0:0,y1:y}},N=d;return T&&(N=N.transition().each("end",(function(){var t=r.select(this);c.setSliceCursor(t,e,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),N.each((function(o){o._x0=v(o.x0),o._x1=v(o.x1),o._y0=x(o.y0),o._y1=x(o.y1),o._hoverX=v(o.x1-I.tiling.pad),o._hoverY=x(z?o.y1-I.tiling.pad/2:o.y0+I.tiling.pad/2);var d=r.select(this),m=n.ensureSingle(d,"path","surface",(function(e){e.style("pointer-events",E?"none":"all")}));T?m.transition().attrTween("d",(function(e){var t=A(e,f,j(),[g,y],{orientation:I.tiling.orientation,flipX:I.tiling.flip.indexOf("x")>-1,flipY:I.tiling.flip.indexOf("y")>-1});return function(e){return _(t(e))}})):m.attr("d",_),d.call(u,p,e,t,{styleOne:s,eventDataKeys:l.eventDataKeys,transitionTime:l.CLICK_TRANSITION_TIME,transitionEasing:l.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,e,{isTransitioning:e._transitioning}),m.call(s,o,I,e,{hovered:!1}),o.x0===o.x1||o.y0===o.y1?o._text="":o._text=h(o,p,I,t,C)||"";var k=n.ensureSingle(d,"g","slicetext"),S=n.ensureSingle(k,"text","",(function(e){e.attr("data-notex",1)})),D=n.ensureUniformFontSize(e,c.determineTextFont(I,o,C.font));S.text(o._text||" ").classed("slicetext",!0).attr("text-anchor",P?"end":L?"start":"middle").call(i.font,D).call(a.convertToTspans,e),o.textBB=i.bBox(S.node()),o.transform=b(o,{fontSize:D.size}),o.transform.fontSize=D.size,T?S.transition().attrTween("transform",(function(e){var t=M(e,f,j(),[g,y]);return function(e){return w(t(e))}})):S.attr("transform",w(o))})),F}}}),Od=m({"src/traces/icicle/plot.js"(e,t){var r=bd(),n=Dd();t.exports=function(e,t,i,a){return r(e,t,i,a,{type:"icicle",drawDescendants:n})}}}),Rd=m({"src/traces/icicle/index.js"(e,t){t.exports={moduleType:"trace",name:"icicle",basePlotModule:Md(),categories:[],animatable:!0,attributes:Sd(),layoutAttributes:Ed(),supplyDefaults:Cd(),supplyLayoutDefaults:Id(),calc:Ld().calc,crossTraceCalc:Ld().crossTraceCalc,plot:Od(),style:zd().style,colorbar:mi(),meta:{}}}}),Fd=m({"lib/icicle.js"(e,t){t.exports=Rd()}}),Bd=m({"src/traces/funnelarea/base_plot.js"(e){var t=At();e.name="funnelarea",e.plot=function(r,n,i,a){t.plotBasePlot(e.name,r,n,i,a)},e.clean=function(r,n,i,a){t.cleanBasePlot(e.name,r,n,i,a)}}}),jd=m({"src/traces/funnelarea/attributes.js"(e,t){var r=$u(),n=q(),i=Ma().attributes,{hovertemplateAttrs:a,texttemplateAttrs:o,templatefallbackAttrs:s}=Fe(),l=B().extendFlat;t.exports={labels:r.labels,label0:r.label0,dlabel:r.dlabel,values:r.values,marker:{colors:r.marker.colors,line:{color:l({},r.marker.line.color,{dflt:null}),width:l({},r.marker.line.width,{dflt:1}),editType:"calc"},pattern:r.marker.pattern,editType:"calc"},text:r.text,hovertext:r.hovertext,scalegroup:l({},r.scalegroup,{}),textinfo:l({},r.textinfo,{flags:["label","text","value","percent"]}),texttemplate:o({editType:"plot"},{keys:["label","color","value","text","percent"]}),texttemplatefallback:s({editType:"plot"}),hoverinfo:l({},n.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:a({},{keys:["label","color","value","text","percent"]}),hovertemplatefallback:s(),textposition:l({},r.textposition,{values:["inside","none"],dflt:"inside"}),textfont:r.textfont,insidetextfont:r.insidetextfont,title:{text:r.title.text,font:r.title.font,position:l({},r.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:i({name:"funnelarea",trace:!0,editType:"calc"}),aspectratio:{valType:"number",min:0,dflt:1,editType:"plot"},baseratio:{valType:"number",min:0,max:1,dflt:.333,editType:"plot"}}}}),Nd=m({"src/traces/funnelarea/layout_attributes.js"(e,t){var r=Ju().hiddenlabels;t.exports={hiddenlabels:r,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),Ud=m({"src/traces/funnelarea/defaults.js"(e,t){var r=ct(),n=jd(),i=Ma().defaults,a=Xa().handleText,o=Ku().handleLabelsAndValues,s=Ku().handleMarkerDefaults;t.exports=function(e,t,l,c){function u(i,a){return r.coerce(e,t,n,i,a)}var h=u("labels"),f=u("values"),p=o(h,f),d=p.len;if(t._hasLabels=p.hasLabels,t._hasValues=p.hasValues,!t._hasLabels&&t._hasValues&&(u("label0"),u("dlabel")),d){t._length=d,s(e,t,c,u),u("scalegroup");var m,g=u("text"),y=u("texttemplate");if(u("texttemplatefallback"),y||(m=u("textinfo",Array.isArray(g)?"text+percent":"percent")),u("hovertext"),u("hovertemplate"),u("hovertemplatefallback"),y||m&&"none"!==m){var v=u("textposition");a(e,t,c,u,v,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else"none"===m&&u("textposition","none");i(t,c,u),u("title.text")&&(u("title.position"),r.coerceFont(u,"title.font",c.font)),u("aspectratio"),u("baseratio")}else t.visible=!1}}}),Vd=m({"src/traces/funnelarea/layout_defaults.js"(e,t){var r=ct(),n=Nd();t.exports=function(e,t){function i(i,a){return r.coerce(e,t,n,i,a)}i("hiddenlabels"),i("funnelareacolorway",t.colorway),i("extendfunnelareacolors")}}}),qd=m({"src/traces/funnelarea/calc.js"(e,t){var r=eh();t.exports={calc:function(e,t){return r.calc(e,t)},crossTraceCalc:function(e){r.crossTraceCalc(e,{type:"funnelarea"})}}}}),Hd=m({"src/traces/funnelarea/plot.js"(e,t){var r=b(),n=er(),i=ct(),a=i.strScale,o=i.strTranslate,s=Et(),l=ro().toMoveInsideBar,c=Qa(),u=c.recordMinTextSize,h=c.clearMinTextSize,f=wr(),p=rh(),d=p.attachFxHandlers,m=p.determineInsideTextFont,g=p.layoutAreas,y=p.prerenderTitles,v=p.positionTitleOutside,x=p.formatSliceLabel;function _(e,t){return"l"+(t[0]-e[0])+","+(t[1]-e[1])}function w(e,t){return[.5*(e[0]+t[0]),.5*(e[1]+t[1])]}t.exports=function(e,t){var c=e._context.staticPlot,p=e._fullLayout;h("funnelarea",p),y(t,e),g(t,p._size),i.makeTraceGroups(p._funnelarealayer,t,"trace").each((function(t){var h=r.select(this),g=t[0],y=g.trace;(function(e){if(e.length){var t=e[0],r=t.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a,o,s,l=Math.pow(i,2),c=t.vTotal,u=c,h=c*l/(1-l)/c,f=[];for(f.push(S()),o=e.length-1;o>-1;o--)if(!(s=e[o]).hidden){var p=s.v/u;h+=p,f.push(S())}var d=1/0,m=-1/0;for(o=0;o-1;o--)if(!(s=e[o]).hidden){var A=f[k+=1][0],M=f[k][1];s.TL=[-A,M],s.TR=[A,M],s.BL=b,s.BR=T,s.pxmid=w(s.TR,s.BR),b=s.TL,T=s.TR}}function S(){var e=function(){var e=Math.sqrt(h);return{x:e,y:-e}}();return[e.x,e.y]}})(t),h.each((function(){var h=r.select(this).selectAll("g.slice").data(t);h.enter().append("g").classed("slice",!0),h.exit().remove(),h.each((function(a,o){if(a.hidden)r.select(this).selectAll("path,g").remove();else{a.pointNumber=a.i,a.curveNumber=y.index;var h=g.cx,v=g.cy,b=r.select(this),w=b.selectAll("path.surface").data([a]);w.enter().append("path").classed("surface",!0).style({"pointer-events":c?"none":"all"}),b.call(d,e,t);var T="M"+(h+a.TR[0])+","+(v+a.TR[1])+_(a.TR,a.BR)+_(a.BR,a.BL)+_(a.BL,a.TL)+"Z";w.attr("d",T),x(e,a,g);var k=f.castOption(y.textposition,a.pts),A=b.selectAll("g.slicetext").data(a.text&&"none"!==k?[0]:[]);A.enter().append("g").classed("slicetext",!0),A.exit().remove(),A.each((function(){var c=i.ensureSingle(r.select(this),"text","",(function(e){e.attr("data-notex",1)})),f=i.ensureUniformFontSize(e,m(y,a,p.font));c.text(a.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(n.font,f).call(s.convertToTspans,e);var d,g,x,_=n.bBox(c.node()),b=Math.min(a.BL[1],a.BR[1])+v,w=Math.max(a.TL[1],a.TR[1])+v;g=Math.max(a.TL[0],a.BL[0])+h,x=Math.min(a.TR[0],a.BR[0])+h,(d=l(g,x,b,w,_,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"})).fontSize=f.size,u(y.type,d,p),t[o].transform=d,i.setTransormAndDisplay(c,d)}))}}));var b=r.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);b.enter().append("g").classed("titletext",!0),b.exit().remove(),b.each((function(){var t=i.ensureSingle(r.select(this),"text","",(function(e){e.attr("data-notex",1)})),l=y.title.text;y._meta&&(l=i.templateString(l,y._meta)),t.text(l).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(n.font,y.title.font).call(s.convertToTspans,e);var c=v(g,p._size);t.attr("transform",o(c.x,c.y)+a(Math.min(1,c.scale))+o(c.tx,c.ty))}))}))}))}}}),Gd=m({"src/traces/funnelarea/style.js"(e,t){var r=b(),n=kr(),i=Qa().resizeText;t.exports=function(e){var t=e._fullLayout._funnelarealayer.selectAll(".trace");i(e,t,"funnelarea"),t.each((function(t){var i=t[0].trace,a=r.select(this);a.style({opacity:i.opacity}),a.selectAll("path.surface").each((function(t){r.select(this).call(n,t,i,e)}))}))}}}),Wd=m({"src/traces/funnelarea/index.js"(e,t){t.exports={moduleType:"trace",name:"funnelarea",basePlotModule:Bd(),categories:["pie-like","funnelarea","showLegend"],attributes:jd(),layoutAttributes:Nd(),supplyDefaults:Ud(),supplyLayoutDefaults:Vd(),calc:qd().calc,crossTraceCalc:qd().crossTraceCalc,plot:Hd(),style:Gd(),styleOne:kr(),meta:{}}}}),Zd=m({"lib/funnelarea.js"(e,t){t.exports=Wd()}}),Yd=m({"stackgl_modules/index.js"(e,t){!function(){var e={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){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var i=r(7507),a=r(3778),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.hp=c,t.IS=50;var s=2147483647;function l(e){if(e>s)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,c.prototype),t}function c(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return f(e)}return u(e,t,r)}function u(e,t,r){if("string"==typeof e)return function(e,t){if(("string"!=typeof t||""===t)&&(t="utf8"),!c.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var r=0|g(e,t),n=l(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(V(e,Uint8Array)){var t=new Uint8Array(e);return d(t.buffer,t.byteOffset,t.byteLength)}return p(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+n(e));if(V(e,ArrayBuffer)||e&&V(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(V(e,SharedArrayBuffer)||e&&V(e.buffer,SharedArrayBuffer)))return d(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');var i=e.valueOf&&e.valueOf();if(null!=i&&i!==e)return c.from(i,t,r);var a=function(e){if(c.isBuffer(e)){var t=0|m(e.length),r=l(t);return 0===r.length||e.copy(r,0,0,t),r}return void 0!==e.length?"number"!=typeof e.length||q(e.length)?l(0):p(e):"Buffer"===e.type&&Array.isArray(e.data)?p(e.data):void 0}(e);if(a)return a;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return c.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+n(e))}function h(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function f(e){return h(e),l(e<0?0:0|m(e))}function p(e){for(var t=e.length<0?0:0|m(e.length),r=l(t),n=0;n=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return 0|e}function g(e,t){if(c.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||V(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+n(e));var r=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===r)return 0;for(var a=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return j(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return N(e).length;default:if(a)return i?-1:j(e).length;t=(""+t).toLowerCase(),a=!0}}function y(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length||((void 0===r||r>this.length)&&(r=this.length),r<=0)||(r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return L(this,t,r);case"utf8":case"utf-8":return S(this,t,r);case"ascii":return C(this,t,r);case"latin1":case"binary":return I(this,t,r);case"base64":return M(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function v(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function x(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),q(r=+r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=c.from(t,n)),c.isBuffer(t))return 0===t.length?-1:_(e,t,r,n,i);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):_(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function _(e,t,r,n,i){var a,o=1,s=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var u=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var h=!0,f=0;fi&&(n=i):n=i;var a=t.length;n>a/2&&(n=a/2);for(var o=0;o>8,i=r%256,a.push(i),a.push(n);return a}(t,e.length-r),e,r,n)}function M(e,t,r){return 0===t&&r===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,r))}function S(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:c>223?3:c>191?2:1;if(i+h<=r)switch(h){case 1:c<128&&(u=c);break;case 2:128==(192&(a=e[i+1]))&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:a=e[i+1],o=e[i+2],128==(192&a)&&128==(192&o)&&(l=(15&c)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:a=e[i+1],o=e[i+2],s=e[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=h}return function(e){var t=e.length;if(t<=E)return String.fromCharCode.apply(String,e);for(var r="",n=0;nn.length?c.from(a).copy(n,i):Uint8Array.prototype.set.call(n,a,i);else{if(!c.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},c.byteLength=g,c.prototype._isBuffer=!0,c.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;tr&&(e+=" ... "),""},o&&(c.prototype[o]=c.prototype.inspect),c.prototype.compare=function(e,t,r,i,a){if(V(e,Uint8Array)&&(e=c.from(e,e.offset,e.byteLength)),!c.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+n(e));if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===i&&(i=0),void 0===a&&(a=this.length),t<0||r>e.length||i<0||a>this.length)throw new RangeError("out of range index");if(i>=a&&t>=r)return 0;if(i>=a)return-1;if(t>=r)return 1;if(this===e)return 0;for(var o=(a>>>=0)-(i>>>=0),s=(r>>>=0)-(t>>>=0),l=Math.min(o,s),u=this.slice(i,a),h=e.slice(t,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return b(this,e,t,r);case"utf8":case"utf-8":return w(this,e,t,r);case"ascii":case"latin1":case"binary":return T(this,e,t,r);case"base64":return k(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return A(this,e,t,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var E=4096;function C(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;in)&&(r=n);for(var i="",a=t;ar)throw new RangeError("Trying to access beyond buffer length")}function D(e,t,r,n,i,a){if(!c.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function O(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function R(e,t,r,n,i){return t=+t,r>>>=0,i||O(e,0,r,4),a.write(e,t,r,n,23,4),r+4}function F(e,t,r,n,i){return t=+t,r>>>=0,i||O(e,0,r,8),a.write(e,t,r,n,52,8),r+8}c.prototype.slice=function(e,t){var r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||z(e,t,this.length);for(var n=this[e],i=1,a=0;++a>>=0,t>>>=0,r||z(e,t,this.length);for(var n=this[e+--t],i=1;t>0&&(i*=256);)n+=this[e+--t]*i;return n},c.prototype.readUint8=c.prototype.readUInt8=function(e,t){return e>>>=0,t||z(e,1,this.length),this[e]},c.prototype.readUint16LE=c.prototype.readUInt16LE=function(e,t){return e>>>=0,t||z(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUint16BE=c.prototype.readUInt16BE=function(e,t){return e>>>=0,t||z(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUint32LE=c.prototype.readUInt32LE=function(e,t){return e>>>=0,t||z(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},c.prototype.readUint32BE=c.prototype.readUInt32BE=function(e,t){return e>>>=0,t||z(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||z(e,t,this.length);for(var n=this[e],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*t)),n},c.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||z(e,t,this.length);for(var n=t,i=1,a=this[e+--n];n>0&&(i*=256);)a+=this[e+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},c.prototype.readInt8=function(e,t){return e>>>=0,t||z(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){e>>>=0,t||z(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt16BE=function(e,t){e>>>=0,t||z(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt32LE=function(e,t){return e>>>=0,t||z(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,t){return e>>>=0,t||z(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readFloatLE=function(e,t){return e>>>=0,t||z(e,4,this.length),a.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return e>>>=0,t||z(e,4,this.length),a.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return e>>>=0,t||z(e,8,this.length),a.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return e>>>=0,t||z(e,8,this.length),a.read(this,e,!1,52,8)},c.prototype.writeUintLE=c.prototype.writeUIntLE=function(e,t,r,n){e=+e,t>>>=0,r>>>=0,n||D(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[t]=255&e;++a>>=0,r>>>=0,n||D(this,e,t,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[t+i]=255&e;--i>=0&&(a*=256);)this[t+i]=e/a&255;return t+r},c.prototype.writeUint8=c.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,1,255,0),this[t]=255&e,t+1},c.prototype.writeUint16LE=c.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},c.prototype.writeUint16BE=c.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},c.prototype.writeUint32LE=c.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},c.prototype.writeUint32BE=c.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},c.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var i=Math.pow(2,8*r-1);D(this,e,t,r,i-1,-i)}var a=0,o=1,s=0;for(this[t]=255&e;++a>>=0,!n){var i=Math.pow(2,8*r-1);D(this,e,t,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/o|0)-s&255;return t+r},c.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},c.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},c.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},c.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},c.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||D(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},c.prototype.writeFloatLE=function(e,t,r){return R(this,e,t,!0,r)},c.prototype.writeFloatBE=function(e,t,r){return R(this,e,t,!1,r)},c.prototype.writeDoubleLE=function(e,t,r){return F(this,e,t,!0,r)},c.prototype.writeDoubleBE=function(e,t,r){return F(this,e,t,!1,r)},c.prototype.copy=function(e,t,r,n){if(!c.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),!n&&0!==n&&(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(a=t;a55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function N(e){return i.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(B,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function U(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function V(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function q(e){return e!=e}var H=function(){for(var e="0123456789abcdef",t=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)t[n+i]=e[r]+e[i];return t}()},9216:function(e){e.exports=i,e.exports.isMobile=i,e.exports.default=i;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/,n=/android|ipad|playbook|silk/i;function i(e){e||(e={});var i=e.ua;if(!i&&typeof navigator<"u"&&(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),"string"!=typeof i)return!1;var a=t.test(i)&&!r.test(i)||!!e.tablet&&n.test(i);return!a&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf("Macintosh")&&-1!==i.indexOf("Safari")&&(a=!0),a}},6296:function(e,t,r){e.exports=function(e){var t=(e=e||{}).eye||[0,0,1],r=e.center||[0,0,0],s=e.up||[0,1,0],l=e.distanceLimits||[0,1/0],c=e.mode||"turntable",u=n(),h=i(),f=a();return u.setDistanceLimits(l[0],l[1]),u.lookAt(0,t,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,t,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,t,r,s),new o({turntable:u,orbit:h,matrix:f},c)};var n=r(7261),i=r(9977),a=r(1811);function o(e,t){this._controllerNames=Object.keys(e),this._controllerList=this._controllerNames.map((function(t){return e[t]})),this._mode=t,this._active=e[t],this._active||(this._mode="turntable",this._active=e.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;s.flush=function(e){for(var t=this._controllerList,r=0;r"u"?r(1538):WeakMap,i=r(2762),a=r(8116),o=new n;e.exports=function(e){var t=o.get(e),r=t&&(t._triangleBuffer.handle||t._triangleBuffer.buffer);if(!r||!e.isBuffer(r)){var n=i(e,new Float32Array([-1,-1,-1,4,4,-1]));(t=a(e,[{buffer:n,type:e.FLOAT,size:2}]))._triangleBuffer=n,o.set(e,t)}t.bind(),e.drawArrays(e.TRIANGLES,0,3),t.unbind()}},1085:function(e,t,r){var n=r(1371);e.exports=function(e,t,r){t="number"==typeof t?t:1,r=r||": ";var i=e.split(/\r?\n/),a=String(i.length+t-1).length;return i.map((function(e,i){var o=i+t,s=String(o).length;return n(o,a-s)+r+e})).join("\n")}},3952:function(e,t,r){e.exports=function(e){var t=e.length;if(0===t)return[];if(1===t)return[0];for(var r=e[0].length,n=[e[0]],a=[0],o=1;o0?o-4:o;for(r=0;r>16&255,c[u++]=t>>8&255,c[u++]=255&t;return 2===l&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,c[u++]=255&t),1===l&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t),c},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,a=[],o=16383,s=0,l=n-i;sl?l:s+o));return 1===i?(t=e[n-1],a.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],a.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"=")),a.join("")};for(var r=[],n=[],i=typeof Uint8Array<"u"?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=a[o],n[a.charCodeAt(o)]=o;function s(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function l(e){return r[e>>18&63]+r[e>>12&63]+r[e>>6&63]+r[63&e]}function c(e,t,r){for(var n,i=[],a=t;a0?c=c.ushln(h):h<0&&(u=u.ushln(-h)),s(c,u)}},6330:function(e,t,r){var n=r(1533);e.exports=function(e){return Array.isArray(e)&&2===e.length&&n(e[0])&&n(e[1])}},5716:function(e,t,r){var n=r(6859);e.exports=function(e){return e.cmp(new n(0))}},1369:function(e,t,r){var n=r(5716);e.exports=function(e){var t=e.length,r=e.words,i=0;if(1===t)i=r[0];else if(2===t)i=r[0]+67108864*r[1];else for(var a=0;a20?52:r+32}},1533:function(e,t,r){r(6859),e.exports=function(e){return e&&"object"==typeof e&&!!e.words}},2651:function(e,t,r){var n=r(6859),i=r(2361);e.exports=function(e){var t=i.exponent(e);return t<52?new n(e):new n(e*Math.pow(2,52-t)).ushln(t-52)}},869:function(e,t,r){var n=r(2651),i=r(5716);e.exports=function(e,t){var r=i(e),a=i(t);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(e=e.neg(),t=t.neg());var o=e.gcd(t);return o.cmpn(1)?[e.div(o),t.div(o)]:[e,t]}},6768:function(e,t,r){var n=r(6859);e.exports=function(e){return new n(e)}},6504:function(e,t,r){var n=r(869);e.exports=function(e,t){return n(e[0].mul(t[0]),e[1].mul(t[1]))}},7721:function(e,t,r){var n=r(5716);e.exports=function(e){return n(e[0])*n(e[1])}},5572:function(e,t,r){var n=r(869);e.exports=function(e,t){return n(e[0].mul(t[1]).sub(e[1].mul(t[0])),e[1].mul(t[1]))}},946:function(e,t,r){var n=r(1369),i=r(4025);e.exports=function(e){var t=e[0],r=e[1];if(0===t.cmpn(0))return 0;var a=t.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,c=t.negative!==r.negative?-1:1;if(0===l.cmpn(0))return c*s;if(s){var u=i(s)+4;return c*(s+(f=n(l.ushln(u).divRound(r)))*Math.pow(2,-u))}var h=r.bitLength()-l.bitLength()+53,f=n(l.ushln(h).divRound(r));return h<1023?c*f*Math.pow(2,-h):c*(f*=Math.pow(2,-1023))*Math.pow(2,1023-h)}},2478:function(e){function t(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)>=0?(a=o,i=o-1):n=o+1}return a}function r(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)>0?(a=o,i=o-1):n=o+1}return a}function n(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)<0?(a=o,n=o+1):i=o-1}return a}function i(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)<=0?(a=o,n=o+1):i=o-1}return a}function a(e,t,r,n,i){for(;n<=i;){var a=n+i>>>1,o=e[a],s=void 0!==r?r(o,t):o-t;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(e,t,r,n,i,a){return"function"==typeof r?a(e,t,r,void 0===n?0:0|n,void 0===i?e.length-1:0|i):a(e,t,void 0,void 0===r?0:0|r,void 0===n?e.length-1:0|n)}e.exports={ge:function(e,r,n,i,a){return o(e,r,n,i,a,t)},gt:function(e,t,n,i,a){return o(e,t,n,i,a,r)},lt:function(e,t,r,i,a){return o(e,t,r,i,a,n)},le:function(e,t,r,n,a){return o(e,t,r,n,a,i)},eq:function(e,t,r,n,i){return o(e,t,r,n,i,a)}}},8828:function(e,t){function r(e){var t=32;return(e&=-e)&&t--,65535&e&&(t-=16),16711935&e&&(t-=8),252645135&e&&(t-=4),858993459&e&&(t-=2),1431655765&e&&(t-=1),t}t.INT_BITS=32,t.INT_MAX=2147483647,t.INT_MIN=-1<<31,t.sign=function(e){return(e>0)-(e<0)},t.abs=function(e){var t=e>>31;return(e^t)-t},t.min=function(e,t){return t^(e^t)&-(e65535)<<4,t|=r=((e>>>=t)>255)<<3,t|=r=((e>>>=r)>15)<<2,(t|=r=((e>>>=r)>3)<<1)|(e>>>=r)>>1},t.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0},t.popCount=function(e){return 16843009*((e=(858993459&(e-=e>>>1&1431655765))+(e>>>2&858993459))+(e>>>4)&252645135)>>>24},t.countTrailingZeros=r,t.nextPow2=function(e){return e+=0===e,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,1+((e|=e>>>8)|e>>>16)},t.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,(e|=e>>>16)-(e>>>1)},t.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,27030>>>(e&=15)&1};var n=new Array(256);(function(e){for(var t=0;t<256;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;e[t]=n<>>8&255]<<16|n[e>>>16&255]<<8|n[e>>>24&255]},t.interleave2=function(e,t){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))<<1},t.deinterleave2=function(e,t){return(e=65535&((e=16711935&((e=252645135&((e=858993459&((e=e>>>t&1431655765)|e>>>1))|e>>>2))|e>>>4))|e>>>16))<<16>>16},t.interleave3=function(e,t,r){return e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2),(e|=(t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},t.deinterleave3=function(e,t){return(e=1023&((e=4278190335&((e=251719695&((e=3272356035&((e=e>>>t&1227133513)|e>>>2))|e>>>4))|e>>>8))|e>>>16))<<22>>22},t.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>r(e)+1}},6859:function(e,t,r){!function(e,t){function n(e,t){if(!e)throw new Error(t||"Assertion failed")}function i(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function a(e,t,r){if(a.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&(("le"===t||"be"===t)&&(r=t,t=10),this._init(e||0,t||10,r||"be"))}var o;"object"==typeof e?e.exports=a:t.BN=a,a.BN=a,a.wordSize=26;try{o=typeof window<"u"&&typeof window.Buffer<"u"?window.Buffer:r(7790).Buffer}catch{}function s(e,t){var r=e.charCodeAt(t);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function l(e,t,r){var n=s(e,r);return r-1>=t&&(n|=s(e,r-1)<<4),n}function c(e,t,r,n){for(var i=0,a=Math.min(e.length,r),o=t;o=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(e){return e instanceof a||null!==e&&"object"==typeof e&&e.constructor.wordSize===a.wordSize&&Array.isArray(e.words)},a.max=function(e,t){return e.cmp(t)>0?e:t},a.min=function(e,t){return e.cmp(t)<0?e:t},a.prototype._init=function(e,t,r){if("number"==typeof e)return this._initNumber(e,t,r);if("object"==typeof e)return this._initArray(e,t,r);"hex"===t&&(t=16),n(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i=0;i-=3)o=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[a]|=o<>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if("le"===r)for(i=0,a=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(e,t,r){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var n=0;n=t;n-=2)i=l(e,t,n)<=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;else for(n=(e.length-t)%2==0?t+1:t;n=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;this.strip()},a.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var a=e.length-r,o=a%n,s=Math.min(a,a-o)+r,l=0,u=r;u1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?""};var u=["","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"],h=[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],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var i=0|e.words[0],a=0|t.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var c=1;c>>26,h=67108863&l,f=Math.min(c,t.length-1),p=Math.max(0,c-e.length+1);p<=f;p++){var d=c-p|0;u+=(o=(i=0|e.words[d])*(a=0|t.words[p])+h)/67108864|0,h=67108863&o}r.words[c]=0|h,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}a.prototype.toString=function(e,t){var r;if(t=0|t||1,16===(e=e||10)||"hex"===e){r="";for(var i=0,a=0,o=0;o>>24-i&16777215,(i+=2)>=26&&(i-=26,o--),r=0!==a||o!==this.length-1?u[6-l.length]+l+r:l+r}for(0!==a&&(r=a.toString(16)+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(e===(0|e)&&e>=2&&e<=36){var c=h[e],p=f[e];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var m=d.modn(p).toString(e);r=(d=d.idivn(p)).isZero()?m+r:u[c-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(e,t){return n(typeof o<"u"),this.toArrayLike(o,e,t)},a.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},a.prototype.toArrayLike=function(e,t,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,"byte array longer than desired length"),n(a>0,"Requested array length <= 0"),this.strip();var o,s,l="le"===t,c=new e(a),u=this.clone();if(l){for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[s]=o;for(;s=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},a.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 8191&t||(r+=13,t>>>=13),127&t||(r+=7,t>>>=7),15&t||(r+=4,t>>>=4),3&t||(r+=2,t>>>=2),1&t||r++,r},a.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},a.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},a.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;re.length?this.clone().iand(e):e.clone().iand(this)},a.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},a.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var n=0;ne.length?this.clone().ixor(e):e.clone().ixor(this)},a.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},a.prototype.inotn=function(e){n("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(e){return this.clone().inotn(e)},a.prototype.setn=function(e,t){n("number"==typeof e&&e>=0);var r=e/26|0,i=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<e.length?(r=this,n=e):(r=e,n=this);for(var i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ae.length?this.clone().iadd(e):e.clone().iadd(this)},a.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=e):(r=e,n=this);for(var a=0,o=0;o>26,this.words[o]=67108863&t;for(;0!==a&&o>26,this.words[o]=67108863&t;if(0===a&&o>>13,p=0|o[1],d=8191&p,m=p>>>13,g=0|o[2],y=8191&g,v=g>>>13,x=0|o[3],_=8191&x,b=x>>>13,w=0|o[4],T=8191&w,k=w>>>13,A=0|o[5],M=8191&A,S=A>>>13,E=0|o[6],C=8191&E,I=E>>>13,L=0|o[7],P=8191&L,z=L>>>13,D=0|o[8],O=8191&D,R=D>>>13,F=0|o[9],B=8191&F,j=F>>>13,N=0|s[0],U=8191&N,V=N>>>13,q=0|s[1],H=8191&q,G=q>>>13,W=0|s[2],Z=8191&W,Y=W>>>13,X=0|s[3],$=8191&X,K=X>>>13,J=0|s[4],Q=8191&J,ee=J>>>13,te=0|s[5],re=8191&te,ne=te>>>13,ie=0|s[6],ae=8191&ie,oe=ie>>>13,se=0|s[7],le=8191&se,ce=se>>>13,ue=0|s[8],he=8191&ue,fe=ue>>>13,pe=0|s[9],de=8191&pe,me=pe>>>13;r.negative=e.negative^t.negative,r.length=19;var ge=(c+(n=Math.imul(h,U))|0)+((8191&(i=(i=Math.imul(h,V))+Math.imul(f,U)|0))<<13)|0;c=((a=Math.imul(f,V))+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(d,U),i=(i=Math.imul(d,V))+Math.imul(m,U)|0,a=Math.imul(m,V);var ye=(c+(n=n+Math.imul(h,H)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(f,H)|0))<<13)|0;c=((a=a+Math.imul(f,G)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(y,U),i=(i=Math.imul(y,V))+Math.imul(v,U)|0,a=Math.imul(v,V),n=n+Math.imul(d,H)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(m,H)|0,a=a+Math.imul(m,G)|0;var ve=(c+(n=n+Math.imul(h,Z)|0)|0)+((8191&(i=(i=i+Math.imul(h,Y)|0)+Math.imul(f,Z)|0))<<13)|0;c=((a=a+Math.imul(f,Y)|0)+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(_,U),i=(i=Math.imul(_,V))+Math.imul(b,U)|0,a=Math.imul(b,V),n=n+Math.imul(y,H)|0,i=(i=i+Math.imul(y,G)|0)+Math.imul(v,H)|0,a=a+Math.imul(v,G)|0,n=n+Math.imul(d,Z)|0,i=(i=i+Math.imul(d,Y)|0)+Math.imul(m,Z)|0,a=a+Math.imul(m,Y)|0;var xe=(c+(n=n+Math.imul(h,$)|0)|0)+((8191&(i=(i=i+Math.imul(h,K)|0)+Math.imul(f,$)|0))<<13)|0;c=((a=a+Math.imul(f,K)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(T,U),i=(i=Math.imul(T,V))+Math.imul(k,U)|0,a=Math.imul(k,V),n=n+Math.imul(_,H)|0,i=(i=i+Math.imul(_,G)|0)+Math.imul(b,H)|0,a=a+Math.imul(b,G)|0,n=n+Math.imul(y,Z)|0,i=(i=i+Math.imul(y,Y)|0)+Math.imul(v,Z)|0,a=a+Math.imul(v,Y)|0,n=n+Math.imul(d,$)|0,i=(i=i+Math.imul(d,K)|0)+Math.imul(m,$)|0,a=a+Math.imul(m,K)|0;var _e=(c+(n=n+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,ee)|0)+Math.imul(f,Q)|0))<<13)|0;c=((a=a+Math.imul(f,ee)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(M,U),i=(i=Math.imul(M,V))+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(k,H)|0,a=a+Math.imul(k,G)|0,n=n+Math.imul(_,Z)|0,i=(i=i+Math.imul(_,Y)|0)+Math.imul(b,Z)|0,a=a+Math.imul(b,Y)|0,n=n+Math.imul(y,$)|0,i=(i=i+Math.imul(y,K)|0)+Math.imul(v,$)|0,a=a+Math.imul(v,K)|0,n=n+Math.imul(d,Q)|0,i=(i=i+Math.imul(d,ee)|0)+Math.imul(m,Q)|0,a=a+Math.imul(m,ee)|0;var be=(c+(n=n+Math.imul(h,re)|0)|0)+((8191&(i=(i=i+Math.imul(h,ne)|0)+Math.imul(f,re)|0))<<13)|0;c=((a=a+Math.imul(f,ne)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,n=Math.imul(C,U),i=(i=Math.imul(C,V))+Math.imul(I,U)|0,a=Math.imul(I,V),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(T,Z)|0,i=(i=i+Math.imul(T,Y)|0)+Math.imul(k,Z)|0,a=a+Math.imul(k,Y)|0,n=n+Math.imul(_,$)|0,i=(i=i+Math.imul(_,K)|0)+Math.imul(b,$)|0,a=a+Math.imul(b,K)|0,n=n+Math.imul(y,Q)|0,i=(i=i+Math.imul(y,ee)|0)+Math.imul(v,Q)|0,a=a+Math.imul(v,ee)|0,n=n+Math.imul(d,re)|0,i=(i=i+Math.imul(d,ne)|0)+Math.imul(m,re)|0,a=a+Math.imul(m,ne)|0;var we=(c+(n=n+Math.imul(h,ae)|0)|0)+((8191&(i=(i=i+Math.imul(h,oe)|0)+Math.imul(f,ae)|0))<<13)|0;c=((a=a+Math.imul(f,oe)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(P,U),i=(i=Math.imul(P,V))+Math.imul(z,U)|0,a=Math.imul(z,V),n=n+Math.imul(C,H)|0,i=(i=i+Math.imul(C,G)|0)+Math.imul(I,H)|0,a=a+Math.imul(I,G)|0,n=n+Math.imul(M,Z)|0,i=(i=i+Math.imul(M,Y)|0)+Math.imul(S,Z)|0,a=a+Math.imul(S,Y)|0,n=n+Math.imul(T,$)|0,i=(i=i+Math.imul(T,K)|0)+Math.imul(k,$)|0,a=a+Math.imul(k,K)|0,n=n+Math.imul(_,Q)|0,i=(i=i+Math.imul(_,ee)|0)+Math.imul(b,Q)|0,a=a+Math.imul(b,ee)|0,n=n+Math.imul(y,re)|0,i=(i=i+Math.imul(y,ne)|0)+Math.imul(v,re)|0,a=a+Math.imul(v,ne)|0,n=n+Math.imul(d,ae)|0,i=(i=i+Math.imul(d,oe)|0)+Math.imul(m,ae)|0,a=a+Math.imul(m,oe)|0;var Te=(c+(n=n+Math.imul(h,le)|0)|0)+((8191&(i=(i=i+Math.imul(h,ce)|0)+Math.imul(f,le)|0))<<13)|0;c=((a=a+Math.imul(f,ce)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(O,U),i=(i=Math.imul(O,V))+Math.imul(R,U)|0,a=Math.imul(R,V),n=n+Math.imul(P,H)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(z,H)|0,a=a+Math.imul(z,G)|0,n=n+Math.imul(C,Z)|0,i=(i=i+Math.imul(C,Y)|0)+Math.imul(I,Z)|0,a=a+Math.imul(I,Y)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,K)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,K)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,ee)|0)+Math.imul(k,Q)|0,a=a+Math.imul(k,ee)|0,n=n+Math.imul(_,re)|0,i=(i=i+Math.imul(_,ne)|0)+Math.imul(b,re)|0,a=a+Math.imul(b,ne)|0,n=n+Math.imul(y,ae)|0,i=(i=i+Math.imul(y,oe)|0)+Math.imul(v,ae)|0,a=a+Math.imul(v,oe)|0,n=n+Math.imul(d,le)|0,i=(i=i+Math.imul(d,ce)|0)+Math.imul(m,le)|0,a=a+Math.imul(m,ce)|0;var ke=(c+(n=n+Math.imul(h,he)|0)|0)+((8191&(i=(i=i+Math.imul(h,fe)|0)+Math.imul(f,he)|0))<<13)|0;c=((a=a+Math.imul(f,fe)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(B,U),i=(i=Math.imul(B,V))+Math.imul(j,U)|0,a=Math.imul(j,V),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(P,Z)|0,i=(i=i+Math.imul(P,Y)|0)+Math.imul(z,Z)|0,a=a+Math.imul(z,Y)|0,n=n+Math.imul(C,$)|0,i=(i=i+Math.imul(C,K)|0)+Math.imul(I,$)|0,a=a+Math.imul(I,K)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,ee)|0)+Math.imul(S,Q)|0,a=a+Math.imul(S,ee)|0,n=n+Math.imul(T,re)|0,i=(i=i+Math.imul(T,ne)|0)+Math.imul(k,re)|0,a=a+Math.imul(k,ne)|0,n=n+Math.imul(_,ae)|0,i=(i=i+Math.imul(_,oe)|0)+Math.imul(b,ae)|0,a=a+Math.imul(b,oe)|0,n=n+Math.imul(y,le)|0,i=(i=i+Math.imul(y,ce)|0)+Math.imul(v,le)|0,a=a+Math.imul(v,ce)|0,n=n+Math.imul(d,he)|0,i=(i=i+Math.imul(d,fe)|0)+Math.imul(m,he)|0,a=a+Math.imul(m,fe)|0;var Ae=(c+(n=n+Math.imul(h,de)|0)|0)+((8191&(i=(i=i+Math.imul(h,me)|0)+Math.imul(f,de)|0))<<13)|0;c=((a=a+Math.imul(f,me)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(B,H),i=(i=Math.imul(B,G))+Math.imul(j,H)|0,a=Math.imul(j,G),n=n+Math.imul(O,Z)|0,i=(i=i+Math.imul(O,Y)|0)+Math.imul(R,Z)|0,a=a+Math.imul(R,Y)|0,n=n+Math.imul(P,$)|0,i=(i=i+Math.imul(P,K)|0)+Math.imul(z,$)|0,a=a+Math.imul(z,K)|0,n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,ee)|0)+Math.imul(I,Q)|0,a=a+Math.imul(I,ee)|0,n=n+Math.imul(M,re)|0,i=(i=i+Math.imul(M,ne)|0)+Math.imul(S,re)|0,a=a+Math.imul(S,ne)|0,n=n+Math.imul(T,ae)|0,i=(i=i+Math.imul(T,oe)|0)+Math.imul(k,ae)|0,a=a+Math.imul(k,oe)|0,n=n+Math.imul(_,le)|0,i=(i=i+Math.imul(_,ce)|0)+Math.imul(b,le)|0,a=a+Math.imul(b,ce)|0,n=n+Math.imul(y,he)|0,i=(i=i+Math.imul(y,fe)|0)+Math.imul(v,he)|0,a=a+Math.imul(v,fe)|0;var Me=(c+(n=n+Math.imul(d,de)|0)|0)+((8191&(i=(i=i+Math.imul(d,me)|0)+Math.imul(m,de)|0))<<13)|0;c=((a=a+Math.imul(m,me)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(B,Z),i=(i=Math.imul(B,Y))+Math.imul(j,Z)|0,a=Math.imul(j,Y),n=n+Math.imul(O,$)|0,i=(i=i+Math.imul(O,K)|0)+Math.imul(R,$)|0,a=a+Math.imul(R,K)|0,n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,ee)|0)+Math.imul(z,Q)|0,a=a+Math.imul(z,ee)|0,n=n+Math.imul(C,re)|0,i=(i=i+Math.imul(C,ne)|0)+Math.imul(I,re)|0,a=a+Math.imul(I,ne)|0,n=n+Math.imul(M,ae)|0,i=(i=i+Math.imul(M,oe)|0)+Math.imul(S,ae)|0,a=a+Math.imul(S,oe)|0,n=n+Math.imul(T,le)|0,i=(i=i+Math.imul(T,ce)|0)+Math.imul(k,le)|0,a=a+Math.imul(k,ce)|0,n=n+Math.imul(_,he)|0,i=(i=i+Math.imul(_,fe)|0)+Math.imul(b,he)|0,a=a+Math.imul(b,fe)|0;var Se=(c+(n=n+Math.imul(y,de)|0)|0)+((8191&(i=(i=i+Math.imul(y,me)|0)+Math.imul(v,de)|0))<<13)|0;c=((a=a+Math.imul(v,me)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(B,$),i=(i=Math.imul(B,K))+Math.imul(j,$)|0,a=Math.imul(j,K),n=n+Math.imul(O,Q)|0,i=(i=i+Math.imul(O,ee)|0)+Math.imul(R,Q)|0,a=a+Math.imul(R,ee)|0,n=n+Math.imul(P,re)|0,i=(i=i+Math.imul(P,ne)|0)+Math.imul(z,re)|0,a=a+Math.imul(z,ne)|0,n=n+Math.imul(C,ae)|0,i=(i=i+Math.imul(C,oe)|0)+Math.imul(I,ae)|0,a=a+Math.imul(I,oe)|0,n=n+Math.imul(M,le)|0,i=(i=i+Math.imul(M,ce)|0)+Math.imul(S,le)|0,a=a+Math.imul(S,ce)|0,n=n+Math.imul(T,he)|0,i=(i=i+Math.imul(T,fe)|0)+Math.imul(k,he)|0,a=a+Math.imul(k,fe)|0;var Ee=(c+(n=n+Math.imul(_,de)|0)|0)+((8191&(i=(i=i+Math.imul(_,me)|0)+Math.imul(b,de)|0))<<13)|0;c=((a=a+Math.imul(b,me)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(B,Q),i=(i=Math.imul(B,ee))+Math.imul(j,Q)|0,a=Math.imul(j,ee),n=n+Math.imul(O,re)|0,i=(i=i+Math.imul(O,ne)|0)+Math.imul(R,re)|0,a=a+Math.imul(R,ne)|0,n=n+Math.imul(P,ae)|0,i=(i=i+Math.imul(P,oe)|0)+Math.imul(z,ae)|0,a=a+Math.imul(z,oe)|0,n=n+Math.imul(C,le)|0,i=(i=i+Math.imul(C,ce)|0)+Math.imul(I,le)|0,a=a+Math.imul(I,ce)|0,n=n+Math.imul(M,he)|0,i=(i=i+Math.imul(M,fe)|0)+Math.imul(S,he)|0,a=a+Math.imul(S,fe)|0;var Ce=(c+(n=n+Math.imul(T,de)|0)|0)+((8191&(i=(i=i+Math.imul(T,me)|0)+Math.imul(k,de)|0))<<13)|0;c=((a=a+Math.imul(k,me)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(B,re),i=(i=Math.imul(B,ne))+Math.imul(j,re)|0,a=Math.imul(j,ne),n=n+Math.imul(O,ae)|0,i=(i=i+Math.imul(O,oe)|0)+Math.imul(R,ae)|0,a=a+Math.imul(R,oe)|0,n=n+Math.imul(P,le)|0,i=(i=i+Math.imul(P,ce)|0)+Math.imul(z,le)|0,a=a+Math.imul(z,ce)|0,n=n+Math.imul(C,he)|0,i=(i=i+Math.imul(C,fe)|0)+Math.imul(I,he)|0,a=a+Math.imul(I,fe)|0;var Ie=(c+(n=n+Math.imul(M,de)|0)|0)+((8191&(i=(i=i+Math.imul(M,me)|0)+Math.imul(S,de)|0))<<13)|0;c=((a=a+Math.imul(S,me)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,n=Math.imul(B,ae),i=(i=Math.imul(B,oe))+Math.imul(j,ae)|0,a=Math.imul(j,oe),n=n+Math.imul(O,le)|0,i=(i=i+Math.imul(O,ce)|0)+Math.imul(R,le)|0,a=a+Math.imul(R,ce)|0,n=n+Math.imul(P,he)|0,i=(i=i+Math.imul(P,fe)|0)+Math.imul(z,he)|0,a=a+Math.imul(z,fe)|0;var Le=(c+(n=n+Math.imul(C,de)|0)|0)+((8191&(i=(i=i+Math.imul(C,me)|0)+Math.imul(I,de)|0))<<13)|0;c=((a=a+Math.imul(I,me)|0)+(i>>>13)|0)+(Le>>>26)|0,Le&=67108863,n=Math.imul(B,le),i=(i=Math.imul(B,ce))+Math.imul(j,le)|0,a=Math.imul(j,ce),n=n+Math.imul(O,he)|0,i=(i=i+Math.imul(O,fe)|0)+Math.imul(R,he)|0,a=a+Math.imul(R,fe)|0;var Pe=(c+(n=n+Math.imul(P,de)|0)|0)+((8191&(i=(i=i+Math.imul(P,me)|0)+Math.imul(z,de)|0))<<13)|0;c=((a=a+Math.imul(z,me)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(B,he),i=(i=Math.imul(B,fe))+Math.imul(j,he)|0,a=Math.imul(j,fe);var ze=(c+(n=n+Math.imul(O,de)|0)|0)+((8191&(i=(i=i+Math.imul(O,me)|0)+Math.imul(R,de)|0))<<13)|0;c=((a=a+Math.imul(R,me)|0)+(i>>>13)|0)+(ze>>>26)|0,ze&=67108863;var De=(c+(n=Math.imul(B,de))|0)+((8191&(i=(i=Math.imul(B,me))+Math.imul(j,de)|0))<<13)|0;return c=((a=Math.imul(j,me))+(i>>>13)|0)+(De>>>26)|0,De&=67108863,l[0]=ge,l[1]=ye,l[2]=ve,l[3]=xe,l[4]=_e,l[5]=be,l[6]=we,l[7]=Te,l[8]=ke,l[9]=Ae,l[10]=Me,l[11]=Se,l[12]=Ee,l[13]=Ce,l[14]=Ie,l[15]=Le,l[16]=Pe,l[17]=ze,l[18]=De,0!==c&&(l[19]=c,r.length++),r};function m(e,t,r){return(new g).mulp(e,t,r)}function g(e,t){this.x=e,this.y=t}Math.imul||(d=p),a.prototype.mulTo=function(e,t){var r,n=this.length+e.length;return r=10===this.length&&10===e.length?d(this,e,t):n<63?p(this,e,t):n<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,a=0;a>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,e,t):m(this,e,t),r},g.prototype.makeRBT=function(e){for(var t=new Array(e),r=a.prototype._countBits(e)-1,n=0;n>=1;return n},g.prototype.permute=function(e,t,r,n,i,a){for(var o=0;o>>=1)i++;return 1<>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*t;o>=26,t+=i/67108864|0,t+=a>>>26,this.words[r]=67108863&a}return 0!==t&&(this.words[r]=t,this.length++),this.length=0===e?1:this.length,this},a.prototype.muln=function(e){return this.clone().imuln(e)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r>>i}return t}(e);if(0===t.length)return new a(1);for(var r=this,n=0;n=0);var t,r=e%26,i=(e-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(t=0;t>>26-r}o&&(this.words[t]=o,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t=0),i=t?(t-t%26)/26:0;var a=e%26,o=Math.min((e-a)/26,this.length),s=67108863^67108863>>>a<o)for(this.length-=o,c=0;c=0&&(0!==u||c>=i);c--){var h=0|this.words[c];this.words[c]=u<<26-a|h>>>a,u=h&s}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(e,t,r){return n(0===this.negative),this.iushrn(e,t,r)},a.prototype.shln=function(e){return this.clone().ishln(e)},a.prototype.ushln=function(e){return this.clone().iushln(e)},a.prototype.shrn=function(e){return this.clone().ishrn(e)},a.prototype.ushrn=function(e){return this.clone().iushrn(e)},a.prototype.testn=function(e){n("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26,i=1<=0);var t=e%26,r=(e-t)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==t&&r++,this.length=Math.min(r,this.length),0!==t){var i=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},a.prototype.isubn=function(e){if(n("number"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(l/67108864|0),this.words[i+r]=67108863&o}for(;i>26,this.words[i+r]=67108863&o;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},a.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),i=e,o=0|i.words[i.length-1];0!=(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if("mod"!==t){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c=0;h--){var f=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(f=Math.min(f/o|0,67108863),n._ishlnsubmul(i,f,h);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=f)}return s&&s.strip(),n.strip(),"div"!==t&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(e,t,r){return n(!e.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(i=s.div.neg()),"div"!==t&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(e)),{div:i,mod:o}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(i=s.div.neg()),{div:i,mod:s.mod}):this.negative&e.negative?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(e)),{div:s.div,mod:o}):e.length>this.length||this.cmp(e)<0?{div:new a(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new a(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new a(this.modn(e.words[0]))}:this._wordDiv(e,t);var i,o,s},a.prototype.div=function(e){return this.divmod(e,"div",!1).div},a.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},a.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},a.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},a.prototype.modn=function(e){n(e<=67108863);for(var t=(1<<26)%e,r=0,i=this.length-1;i>=0;i--)r=(t*r+(0|this.words[i]))%e;return r},a.prototype.idivn=function(e){n(e<=67108863);for(var t=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*t;this.words[r]=i/e|0,t=i%e}return this.strip()},a.prototype.divn=function(e){return this.clone().idivn(e)},a.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new a(1),o=new a(0),s=new a(0),l=new a(1),c=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),h=t.clone();!t.isZero();){for(var f=0,p=1;!(t.words[0]&p)&&f<26;++f,p<<=1);if(f>0)for(t.iushrn(f);f-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(u),o.isub(h)),i.iushrn(1),o.iushrn(1);for(var d=0,m=1;!(r.words[0]&m)&&d<26;++d,m<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(u),l.isub(h)),s.iushrn(1),l.iushrn(1);t.cmp(r)>=0?(t.isub(r),i.isub(s),o.isub(l)):(r.isub(t),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(c)}},a.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var t,r=this,i=e.clone();r=0!==r.negative?r.umod(e):r.clone();for(var o=new a(1),s=new a(0),l=i.clone();r.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,u=1;!(r.words[0]&u)&&c<26;++c,u<<=1);if(c>0)for(r.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var h=0,f=1;!(i.words[0]&f)&&h<26;++h,f<<=1);if(h>0)for(i.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);r.cmp(i)>=0?(r.isub(i),o.isub(s)):(i.isub(r),s.isub(o))}return(t=0===r.cmpn(1)?o:s).cmpn(0)<0&&t.iadd(e),t},a.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var a=t;t=r,r=a}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},a.prototype.invm=function(e){return this.egcd(e).a.umod(e)},a.prototype.isEven=function(){return!(1&this.words[0])},a.prototype.isOdd=function(){return!(1&~this.words[0])},a.prototype.andln=function(e){return this.words[0]&e},a.prototype.bincn=function(e){n("number"==typeof e);var t=e%26,r=(e-t)/26,i=1<>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)t=1;else{r&&(e=-e),n(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:ie.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|e.words[r];if(n!==i){ni&&(t=1);break}}return t},a.prototype.gtn=function(e){return 1===this.cmpn(e)},a.prototype.gt=function(e){return 1===this.cmp(e)},a.prototype.gten=function(e){return this.cmpn(e)>=0},a.prototype.gte=function(e){return this.cmp(e)>=0},a.prototype.ltn=function(e){return-1===this.cmpn(e)},a.prototype.lt=function(e){return-1===this.cmp(e)},a.prototype.lten=function(e){return this.cmpn(e)<=0},a.prototype.lte=function(e){return this.cmp(e)<=0},a.prototype.eqn=function(e){return 0===this.cmpn(e)},a.prototype.eq=function(e){return 0===this.cmp(e)},a.red=function(e){return new T(e)},a.prototype.toRed=function(e){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},a.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(e){return this.red=e,this},a.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},a.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},a.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},a.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},a.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},a.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},a.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},a.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},a.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var y={k256:null,p224:null,p192:null,p25519:null};function v(e,t){this.name=e,this.p=new a(t,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function x(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function b(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function T(e){if("string"==typeof e){var t=a._prime(e);this.m=t.p,this.prime=t}else n(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function k(e){T.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(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)}v.prototype._tmp=function(){var e=new a(null);return e.words=new Array(Math.ceil(this.n/13)),e},v.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var n=t0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(e,t){e.iushrn(this.n,0,t)},v.prototype.imulK=function(e){return e.imul(this.k)},i(x,v),x.prototype.split=function(e,t){for(var r=4194303,n=Math.min(e.length,9),i=0;i>>22,a=o}a>>>=22,e.words[i-10]=a,0===a&&e.length>10?e.length-=10:e.length-=9},x.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},a._prime=function(e){if(y[e])return y[e];var t;if("k256"===e)t=new x;else if("p224"===e)t=new _;else if("p192"===e)t=new b;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new w}return y[e]=t,t},T.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},T.prototype._verify2=function(e,t){n(!(e.negative|t.negative),"red works only with positives"),n(e.red&&e.red===t.red,"red works only with red numbers")},T.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},T.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},T.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},T.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},T.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},T.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},T.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},T.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},T.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},T.prototype.isqr=function(e){return this.imul(e,e.clone())},T.prototype.sqr=function(e){return this.mul(e,e)},T.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(n(t%2==1),3===t){var r=this.m.add(new a(1)).iushrn(2);return this.pow(e,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new a(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var h=this.pow(u,i),f=this.pow(e,i.addn(1).iushrn(1)),p=this.pow(e,i),d=o;0!==p.cmp(s);){for(var m=p,g=0;0!==m.cmp(s);g++)m=m.redSqr();n(g=0;n--){for(var c=t.words[n],u=l-1;u>=0;u--){var h=c>>u&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==o?(o<<=1,o|=h,(4==++s||0===n&&0===u)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},T.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},T.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},a.mont=function(e){return new k(e)},i(k,T),k.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},k.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},k.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new a(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e=r.nmd(e),this)},6204:function(e){e.exports=function(e){var t,r,n,i=e.length,a=0;for(t=0;t>>1;if(!(u<=0)){var h,f=i.mallocDouble(2*u*s),p=i.mallocInt32(s);if((s=l(e,u,f,p))>0){if(1===u&&n)a.init(s),h=a.sweepComplete(u,r,0,s,f,p,0,s,f,p);else{var d=i.mallocDouble(2*u*c),m=i.mallocInt32(c);(c=l(t,u,d,m))>0&&(a.init(s+c),h=1===u?a.sweepBipartite(u,r,0,s,f,p,0,c,d,m):o(u,r,n,s,f,p,c,d,m),i.free(d),i.free(m))}i.free(f),i.free(p)}return h}}}function u(e,t){n.push([e,t])}},2455:function(e,t){function r(e){return e?function(e,t,r,n,i,a,o,s,l,c,u){return i-n>l-s?function(e,t,r,n,i,a,o,s,l,c,u){for(var h=2*e,f=n,p=h*n;fc-l?n?function(e,t,r,n,i,a,o,s,l,c,u){for(var h=2*e,f=n,p=h*n;f0;){var D=(P-=1)*_,O=w[D],R=w[D+1],F=w[D+2],B=w[D+3],j=w[D+4],N=w[D+5],U=P*b,V=T[U],q=T[U+1],H=1&N,G=!!(16&N),W=u,Z=S,Y=C,X=I;if(H&&(W=C,Z=I,Y=u,X=S),!(2&N&&(F=g(e,O,R,F,W,Z,q),R>=F)||4&N&&(R=y(e,O,R,F,W,Z,V),R>=F))){var $=F-R,K=j-B;if(G){if(e*$*($+K)=p0)&&!(p1>=hi)"),m=u("lo===p0"),g=u("lo>>1,f=2*e,p=h,d=s[f*h+t];c=x?(p=v,d=x):y>=b?(p=g,d=y):(p=_,d=b):x>=b?(p=v,d=x):b>=y?(p=g,d=y):(p=_,d=b);for(var w=f*(u-1),T=f*p,k=0;kr&&i[h+t]>c;--u,h-=o){for(var f=h,p=h+o,d=0;df;++f,l+=s)if(i[l+h]===o)if(u===f)u+=1,c+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[f];a[f]=a[u],a[u++]=m}return u},"lof;++f,l+=s)if(i[l+h]p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[f];a[f]=a[u],a[u++]=m}return u},"lo<=p0":function(e,t,r,n,i,a,o){for(var s=2*e,l=s*r,c=l,u=r,h=e+t,f=r;n>f;++f,l+=s)if(i[l+h]<=o)if(u===f)u+=1,c+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[f];a[f]=a[u],a[u++]=m}return u},"hi<=p0":function(e,t,r,n,i,a,o){for(var s=2*e,l=s*r,c=l,u=r,h=e+t,f=r;n>f;++f,l+=s)if(i[l+h]<=o)if(u===f)u+=1,c+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[f];a[f]=a[u],a[u++]=m}return u},"lop;++p,l+=s){var d=i[l+h],m=i[l+f];if(dg;++g){var y=i[l+g];i[l+g]=i[c],i[c++]=y}var v=a[p];a[p]=a[u],a[u++]=v}}return u},"lo<=p0&&p0<=hi":function(e,t,r,n,i,a,o){for(var s=2*e,l=s*r,c=l,u=r,h=t,f=e+t,p=r;n>p;++p,l+=s){var d=i[l+h],m=i[l+f];if(d<=o&&o<=m)if(u===p)u+=1,c+=s;else{for(var g=0;s>g;++g){var y=i[l+g];i[l+g]=i[c],i[c++]=y}var v=a[p];a[p]=a[u],a[u++]=v}}return u},"!(lo>=p0)&&!(p1>=hi)":function(e,t,r,n,i,a,o,s){for(var l=2*e,c=l*r,u=c,h=r,f=t,p=e+t,d=r;n>d;++d,c+=l){var m=i[c+f],g=i[c+p];if(!(m>=o||s>=g))if(h===d)h+=1,u+=l;else{for(var y=0;l>y;++y){var v=i[c+y];i[c+y]=i[u],i[u++]=v}var x=a[d];a[d]=a[h],a[h++]=x}}return h}}},4192:function(e){e.exports=function(e,n){n<=4*t?r(0,n-1,e):c(0,n-1,e)};var t=32;function r(e,t,r){for(var n=2*(e+1),i=e+1;i<=t;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >e;){var c=r[l-2],u=r[l-1];if(cr[t+1])}function l(e,t,r,n){var i=n[e*=2];return i>1,g=m-f,y=m+f,v=p,x=g,_=m,b=y,w=d,T=e+1,k=u-1,A=0;s(v,x,h)&&(A=v,v=x,x=A),s(b,w,h)&&(A=b,b=w,w=A),s(v,_,h)&&(A=v,v=_,_=A),s(x,_,h)&&(A=x,x=_,_=A),s(v,b,h)&&(A=v,v=b,b=A),s(_,b,h)&&(A=_,_=b,b=A),s(x,w,h)&&(A=x,x=w,w=A),s(x,_,h)&&(A=x,x=_,_=A),s(b,w,h)&&(A=b,b=w,w=A);for(var M=h[2*x],S=h[2*x+1],E=h[2*b],C=h[2*b+1],I=2*v,L=2*_,P=2*w,z=2*p,D=2*m,O=2*d,R=0;R<2;++R){var F=h[I+R],B=h[L+R],j=h[P+R];h[z+R]=F,h[D+R]=B,h[O+R]=j}i(g,e,h),i(y,u,h);for(var N=T;N<=k;++N)if(l(N,M,S,h))N!==T&&n(N,T,h),++T;else if(!l(N,E,C,h))for(;;){if(l(k,E,C,h)){l(k,M,S,h)?(a(N,T,k,h),++T,--k):(n(N,k,h),--k);break}if(--k>>1;a(d,S);var E=0,C=0;for(T=0;T=o)m(u,h,C--,I=I-o|0);else if(I>=0)m(l,c,E--,I);else if(I<=-o){I=-I-o|0;for(var L=0;L>>1;a(d,E);var C=0,I=0,L=0;for(k=0;k>1==d[2*k+3]>>1&&(z=2,k+=1),P<0){for(var D=-(P>>1)-1,O=0;O>1)-1,0===z?m(l,c,C--,D):1===z?m(u,h,I--,D):2===z&&m(f,p,L--,D)}},scanBipartite:function(e,t,r,n,i,s,u,h,f,p,y,v){var x=0,_=2*e,b=t,w=t+e,T=1,k=1;n?k=o:T=o;for(var A=i;A>>1;a(d,C);var I=0;for(A=0;A=o?(P=!n,M-=o):(P=!!n,M-=1),P)g(l,c,I++,M);else{var z=v[M],D=_*M,O=y[D+t+1],R=y[D+t+1+e];e:for(var F=0;F>>1;a(d,T);var k=0;for(x=0;x=o)l[k++]=_-o;else{var M=p[_-=1],S=g*_,E=f[S+t+1],C=f[S+t+1+e];e:for(var I=0;I=0;--I)if(l[I]===_){for(D=I+1;D0;){for(var p=r.pop(),d=(u=-1,h=-1,l=o[s=r.pop()],1);d=0||(t.flip(s,p),i(e,t,r,u,s,h),i(e,t,r,s,h,u),i(e,t,r,h,p,u),i(e,t,r,p,u,h))}}},5023:function(e,t,r){var n,i=r(2478);function a(e,t,r,n,i,a,o){this.cells=e,this.neighbor=t,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function o(e,t){return e[0]-t[0]||e[1]-t[1]||e[2]-t[2]}e.exports=function(e,t,r){var n=function(e,t){for(var r=e.cells(),n=r.length,i=0;i0||l.length>0;){for(;s.length>0;){var p=s.pop();if(c[p]!==-i){c[p]=i,u[p];for(var d=0;d<3;++d){var m=f[3*p+d];m>=0&&0===c[m]&&(h[3*p+d]?l.push(m):(s.push(m),c[m]=i))}}}var g=l;l=s,s=g,l.length=0,i=-i}var y=function(e,t,r){for(var n=0,i=0;i1&&i(r[f[p-2]],r[f[p-1]],a)>0;)e.push([f[p-1],f[p-2],o]),p-=1;f.length=p,f.push(o);var d=h.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)e.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function u(e,t){return(e.a[0]d[0]&&i.push(new o(d,p,2,l),new o(p,d,1,l))}i.sort(s);for(var m=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),g=[new a([m,1],[m,0],-1,[],[],[],[])],y=[],v=(l=0,i.length);l=0}}(),a.removeTriangle=function(e,t,r){var n=this.stars;o(n[e],t,r),o(n[t],r,e),o(n[r],e,t)},a.addTriangle=function(e,t,r){var n=this.stars;n[e].push(t,r),n[t].push(r,e),n[r].push(e,t)},a.opposite=function(e,t){for(var r=this.stars[t],n=1,i=r.length;nt[2]?1:0)}function y(e,t,r){if(0!==e.length){if(t)for(var n=0;n=0;--a){var x=t[u=(S=n[a])[0]],_=x[0],b=x[1],w=e[_],T=e[b];if((w[0]-T[0]||w[1]-T[1])<0){var k=_;_=b,b=k}x[0]=_;var A,M=x[1]=S[1];for(i&&(A=x[2]);a>0&&n[a-1][0]===u;){var S,E=(S=n[--a])[1];i?t.push([M,E,A]):t.push([M,E]),M=E}i?t.push([M,b,A]):t.push([M,b])}return f}(e,t,f,m,r),v=d(e,g);return y(t,v,r),!!v||f.length>0||m.length>0}},3637:function(e,t,r){e.exports=function(e,t,r,n){var a=s(t,e),h=s(n,r),f=u(a,h);if(0===o(f))return null;var p=u(h,s(e,r)),d=i(p,f),m=c(a,d);return l(e,m)};var n=r(6504),i=r(8697),a=r(5572),o=r(7721),s=r(544),l=r(2653),c=r(8987);function u(e,t){return a(n(e[0],t[1]),n(e[1],t[0]))}},3642:function(e){e.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],"rainbow-soft":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],"freesurface-blue":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],"freesurface-red":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],"velocity-blue":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],"velocity-green":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},6729:function(e,t,r){var n=r(3642),i=r(395);function a(e){return[e[0]/255,e[1]/255,e[2]/255,e[3]]}function o(e){for(var t,r="#",n=0;n<3;++n)r+=("00"+(t=(t=e[n]).toString(16))).substr(t.length);return r}function s(e){return"rgba("+e.join(",")+")"}e.exports=function(e){var t,r,l,c,u,h,f,p,d,m;if(e||(e={}),p=(e.nshades||72)-1,f=e.format||"hex",(h=e.colormap)||(h="jet"),"string"==typeof h){if(h=h.toLowerCase(),!n[h])throw Error(h+" not a supported colorscale");u=n[h]}else{if(!Array.isArray(h))throw Error("unsupported colormap option",h);u=h.slice()}if(u.length>p+1)throw new Error(h+" map requires nshades to be at least size "+u.length);d=Array.isArray(e.alpha)?2!==e.alpha.length?[1,1]:e.alpha.slice():"number"==typeof e.alpha?[e.alpha,e.alpha]:[1,1],t=u.map((function(e){return Math.round(e.index*p)})),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var g=u.map((function(e,t){var r=u[t].index,n=u[t].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1||(n[3]=d[0]+(d[1]-d[0])*r),n})),y=[];for(m=0;m0||l(e,t,a)?-1:1:0===s?c>0||l(e,t,r)?1:-1:i(c-s)}var h=n(e,t,r);return h>0?o>0&&n(e,t,a)>0?1:-1:h<0?o>0||n(e,t,a)>0?1:-1:n(e,t,a)>0||l(e,t,r)?1:-1};var n=r(3250),i=r(8572),a=r(9362),o=r(5382),s=r(8210);function l(e,t,r){var n=a(e[0],-t[0]),i=a(e[1],-t[1]),l=a(r[0],-t[0]),c=a(r[1],-t[1]),u=s(o(n,l),o(i,c));return u[u.length-1]>=0}},8572:function(e){e.exports=function(e){return e<0?-1:e>0?1:0}},8507:function(e){e.exports=function(e,n){var i=e.length,a=e.length-n.length;if(a)return a;switch(i){case 0:return 0;case 1:return e[0]-n[0];case 2:return e[0]+e[1]-n[0]-n[1]||t(e[0],e[1])-t(n[0],n[1]);case 3:var o=e[0]+e[1],s=n[0]+n[1];if(a=o+e[2]-(s+n[2]))return a;var l=t(e[0],e[1]),c=t(n[0],n[1]);return t(l,e[2])-t(c,n[2])||t(l+e[2],o)-t(c+n[2],s);case 4:var u=e[0],h=e[1],f=e[2],p=e[3],d=n[0],m=n[1],g=n[2],y=n[3];return u+h+f+p-(d+m+g+y)||t(u,h,f,p)-t(d,m,g,y,d)||t(u+h,u+f,u+p,h+f,h+p,f+p)-t(d+m,d+g,d+y,m+g,m+y,g+y)||t(u+h+f,u+h+p,u+f+p,h+f+p)-t(d+m+g,d+m+y,d+g+y,m+g+y);default:for(var v=e.slice().sort(r),x=n.slice().sort(r),_=0;_e[r][0]&&(r=n);return tr?[[r],[t]]:[[t]]}},4750:function(e,t,r){e.exports=function(e){var t=n(e),r=t.length;if(r<=2)return[];for(var i=new Array(r),a=t[r-1],o=0;o=t[l]&&(s+=1);a[o]=s}}return e}(n(a,!0),r)}};var n=r(8954),i=r(3952)},4769:function(e){e.exports=function(e,t,r,n,i,a){var o=i-1,s=i*i,l=o*o,c=(1+2*i)*l,u=i*l,h=s*(3-2*i),f=s*o;if(e.length){a||(a=new Array(e.length));for(var p=e.length-1;p>=0;--p)a[p]=c*e[p]+u*t[p]+h*r[p]+f*n[p];return a}return c*e+u*t+h*r+f*n},e.exports.derivative=function(e,t,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,c=3*i*i-2*i;if(e.length){a||(a=new Array(e.length));for(var u=e.length-1;u>=0;--u)a[u]=o*e[u]+s*t[u]+l*r[u]+c*n[u];return a}return o*e+s*t+l*r[u]+c*n}},7642:function(e,t,r){var n=r(8954),i=r(1682);function a(e,t){this.point=e,this.index=t}function o(e,t){for(var r=e.point,n=t.point,i=r.length,a=0;a=2)return!1;e[r]=n}return!0})):b.filter((function(e){for(var t=0;t<=s;++t){var r=y[e[t]];if(r<0)return!1;e[t]=r}return!0})),1&s)for(u=0;u>>31},e.exports.exponent=function(t){return(e.exports.hi(t)<<1>>>21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),i=1048575&n;return 2146435072&n&&(i+=1048576),[r,i]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}},1338:function(e){function t(e,r,n){var i=0|e[n];if(i<=0)return[];var a,o=new Array(i);if(n===e.length-1)for(a=0;a"u"&&(r=0),typeof e){case"number":if(e>0)return function(e,t){var r,n;for(r=new Array(e),n=0;n=r-1){f=l.length-1;var d=e-t[r-1];for(p=0;p=r-1)for(var u=s.length-1,h=(t[r-1],0);h=0;--r)if(e[--t])return!1;return!0},s.jump=function(e){var t=this.lastT(),r=this.dimension;if(!(e0;--h)n.push(a(l[h-1],c[h-1],arguments[h])),i.push(0)}},s.push=function(e){var t=this.lastT(),r=this.dimension;if(!(e1e-6?1/s:0;this._time.push(e);for(var f=r;f>0;--f){var p=a(c[f-1],u[f-1],arguments[f]);n.push(p),i.push((p-n[o++])*h)}}},s.set=function(e){var t=this.dimension;if(!(e0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(e){var t=this.lastT(),r=this.dimension;if(!(e<=t||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=e-t,h=u>1e-6?1/u:0;this._time.push(e);for(var f=r;f>0;--f){var p=arguments[f];n.push(a(l[f-1],c[f-1],n[o++]+p)),i.push(p*h)}}},s.idle=function(e){var t=this.lastT();if(!(e=0;--h)n.push(a(l[h],c[h],n[o]+u*i[o])),i.push(0),o+=1}}},3840:function(e){function t(e,t,r,n,i,a){this._color=e,this.key=t,this.value=r,this.left=n,this.right=i,this._count=a}function r(e){return new t(e._color,e.key,e.value,e.left,e.right,e._count)}function n(e,r){return new t(e,r.key,r.value,r.left,r.right,r._count)}function i(e){e._count=1+(e.left?e.left._count:0)+(e.right?e.right._count:0)}function a(e,t){this._compare=e,this.root=t}e.exports=function(e){return new a(e||p,null)};var o=a.prototype;function s(e,t){var r;return t.left&&(r=s(e,t.left))?r:(r=e(t.key,t.value))||(t.right?s(e,t.right):void 0)}function l(e,t,r,n){if(t(e,n.key)<=0){var i;if(n.left&&(i=l(e,t,r,n.left)))return i;if(i=r(n.key,n.value))return i}if(n.right)return l(e,t,r,n.right)}function c(e,t,r,n,i){var a,o=r(e,i.key),s=r(t,i.key);return o<=0&&(i.left&&(a=c(e,t,r,n,i.left))||s>0&&(a=n(i.key,i.value)))?a:s>0&&i.right?c(e,t,r,n,i.right):void 0}function u(e,t){this.tree=e,this._stack=t}Object.defineProperty(o,"keys",{get:function(){var e=[];return this.forEach((function(t,r){e.push(t)})),e}}),Object.defineProperty(o,"values",{get:function(){var e=[];return this.forEach((function(t,r){e.push(r)})),e}}),Object.defineProperty(o,"length",{get:function(){return this.root?this.root._count:0}}),o.insert=function(e,r){for(var o=this._compare,s=this.root,l=[],c=[];s;){var u=o(e,s.key);l.push(s),c.push(u),s=u<=0?s.left:s.right}l.push(new t(0,e,r,null,null,1));for(var h=l.length-2;h>=0;--h)s=l[h],c[h]<=0?l[h]=new t(s._color,s.key,s.value,l[h+1],s.right,s._count+1):l[h]=new t(s._color,s.key,s.value,s.left,l[h+1],s._count+1);for(h=l.length-1;h>1;--h){var f=l[h-1];if(s=l[h],1===f._color||1===s._color)break;var p=l[h-2];if(p.left===f)if(f.left===s){if(!(d=p.right)||0!==d._color){p._color=0,p.left=f.right,f._color=1,f.right=p,l[h-2]=f,l[h-1]=s,i(p),i(f),h>=3&&((m=l[h-3]).left===p?m.left=f:m.right=f);break}f._color=1,p.right=n(1,d),p._color=0,h-=1}else{if(!(d=p.right)||0!==d._color){f.right=s.left,p._color=0,p.left=s.right,s._color=1,s.left=f,s.right=p,l[h-2]=s,l[h-1]=f,i(p),i(f),i(s),h>=3&&((m=l[h-3]).left===p?m.left=s:m.right=s);break}f._color=1,p.right=n(1,d),p._color=0,h-=1}else if(f.right===s){if(!(d=p.left)||0!==d._color){p._color=0,p.right=f.left,f._color=1,f.left=p,l[h-2]=f,l[h-1]=s,i(p),i(f),h>=3&&((m=l[h-3]).right===p?m.right=f:m.left=f);break}f._color=1,p.left=n(1,d),p._color=0,h-=1}else{var d;if(!(d=p.left)||0!==d._color){var m;f.left=s.right,p._color=0,p.right=s.left,s._color=1,s.right=f,s.left=p,l[h-2]=s,l[h-1]=f,i(p),i(f),i(s),h>=3&&((m=l[h-3]).right===p?m.right=s:m.left=s);break}f._color=1,p.left=n(1,d),p._color=0,h-=1}}return l[0]._color=1,new a(o,l[0])},o.forEach=function(e,t,r){if(this.root)switch(arguments.length){case 1:return s(e,this.root);case 2:return l(t,this._compare,e,this.root);case 3:return this._compare(t,r)>=0?void 0:c(t,r,this._compare,e,this.root)}},Object.defineProperty(o,"begin",{get:function(){for(var e=[],t=this.root;t;)e.push(t),t=t.left;return new u(this,e)}}),Object.defineProperty(o,"end",{get:function(){for(var e=[],t=this.root;t;)e.push(t),t=t.right;return new u(this,e)}}),o.at=function(e){if(e<0)return new u(this,[]);for(var t=this.root,r=[];;){if(r.push(t),t.left){if(e=t.right._count)break;t=t.right}return new u(this,[])},o.ge=function(e){for(var t=this._compare,r=this.root,n=[],i=0;r;){var a=t(e,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new u(this,n)},o.gt=function(e){for(var t=this._compare,r=this.root,n=[],i=0;r;){var a=t(e,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new u(this,n)},o.lt=function(e){for(var t=this._compare,r=this.root,n=[],i=0;r;){var a=t(e,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new u(this,n)},o.le=function(e){for(var t=this._compare,r=this.root,n=[],i=0;r;){var a=t(e,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new u(this,n)},o.find=function(e){for(var t=this._compare,r=this.root,n=[];r;){var i=t(e,r.key);if(n.push(r),0===i)return new u(this,n);r=i<=0?r.left:r.right}return new u(this,[])},o.remove=function(e){var t=this.find(e);return t?t.remove():this},o.get=function(e){for(var t=this._compare,r=this.root;r;){var n=t(e,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var h=u.prototype;function f(e,t){e.key=t.key,e.value=t.value,e.left=t.left,e.right=t.right,e._color=t._color,e._count=t._count}function p(e,t){return et?1:0}Object.defineProperty(h,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(h,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),h.clone=function(){return new u(this.tree,this._stack.slice())},h.remove=function(){var e=this._stack;if(0===e.length)return this.tree;var o=new Array(e.length),s=e[e.length-1];o[o.length-1]=new t(s._color,s.key,s.value,s.left,s.right,s._count);for(var l=e.length-2;l>=0;--l)(s=e[l]).left===e[l+1]?o[l]=new t(s._color,s.key,s.value,o[l+1],s.right,s._count):o[l]=new t(s._color,s.key,s.value,s.left,o[l+1],s._count);if((s=o[o.length-1]).left&&s.right){var c=o.length;for(s=s.left;s.right;)o.push(s),s=s.right;var u=o[c-1];for(o.push(new t(s._color,u.key,u.value,s.left,s.right,s._count)),o[c-1].key=s.key,o[c-1].value=s.value,l=o.length-2;l>=c;--l)s=o[l],o[l]=new t(s._color,s.key,s.value,s.left,o[l+1],s._count);o[c-1].left=o[c]}if(0===(s=o[o.length-1])._color){var h=o[o.length-2];for(h.left===s?h.left=null:h.right===s&&(h.right=null),o.pop(),l=0;l=0;--l){if(t=e[l],0===l)return void(t._color=1);if((a=e[l-1]).left===t){if((o=a.right).right&&0===o.right._color)return s=(o=a.right=r(o)).right=r(o.right),a.right=o.left,o.left=a,o.right=s,o._color=a._color,t._color=1,a._color=1,s._color=1,i(a),i(o),l>1&&((c=e[l-2]).left===a?c.left=o:c.right=o),void(e[l-1]=o);if(o.left&&0===o.left._color)return s=(o=a.right=r(o)).left=r(o.left),a.right=s.left,o.left=s.right,s.left=a,s.right=o,s._color=a._color,a._color=1,o._color=1,t._color=1,i(a),i(o),i(s),l>1&&((c=e[l-2]).left===a?c.left=s:c.right=s),void(e[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.right=n(0,o));a.right=n(0,o);continue}o=r(o),a.right=o.left,o.left=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((c=e[l-2]).left===a?c.left=o:c.right=o),e[l-1]=o,e[l]=a,l+11&&((c=e[l-2]).right===a?c.right=o:c.left=o),void(e[l-1]=o);if(o.right&&0===o.right._color)return s=(o=a.left=r(o)).right=r(o.right),a.left=s.right,o.right=s.left,s.right=a,s.left=o,s._color=a._color,a._color=1,o._color=1,t._color=1,i(a),i(o),i(s),l>1&&((c=e[l-2]).right===a?c.right=s:c.left=s),void(e[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.left=n(0,o));a.left=n(0,o);continue}var c;o=r(o),a.left=o.right,o.right=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((c=e[l-2]).right===a?c.right=o:c.left=o),e[l-1]=o,e[l]=a,l+10)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(h,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(h,"index",{get:function(){var e=0,t=this._stack;if(0===t.length){var r=this.tree.root;return r?r._count:0}t[t.length-1].left&&(e=t[t.length-1].left._count);for(var n=t.length-2;n>=0;--n)t[n+1]===t[n].right&&(++e,t[n].left&&(e+=t[n].left._count));return e},enumerable:!0}),h.next=function(){var e=this._stack;if(0!==e.length){var t=e[e.length-1];if(t.right)for(t=t.right;t;)e.push(t),t=t.left;else for(e.pop();e.length>0&&e[e.length-1].right===t;)t=e[e.length-1],e.pop()}},Object.defineProperty(h,"hasNext",{get:function(){var e=this._stack;if(0===e.length)return!1;if(e[e.length-1].right)return!0;for(var t=e.length-1;t>0;--t)if(e[t-1].left===e[t])return!0;return!1}}),h.update=function(e){var r=this._stack;if(0===r.length)throw new Error("Can't update empty node!");var n=new Array(r.length),i=r[r.length-1];n[n.length-1]=new t(i._color,i.key,e,i.left,i.right,i._count);for(var o=r.length-2;o>=0;--o)(i=r[o]).left===r[o+1]?n[o]=new t(i._color,i.key,i.value,n[o+1],i.right,i._count):n[o]=new t(i._color,i.key,i.value,i.left,n[o+1],i._count);return new a(this.tree._compare,n[0])},h.prev=function(){var e=this._stack;if(0!==e.length){var t=e[e.length-1];if(t.left)for(t=t.left;t;)e.push(t),t=t.right;else for(e.pop();e.length>0&&e[e.length-1].left===t;)t=e[e.length-1],e.pop()}},Object.defineProperty(h,"hasPrev",{get:function(){var e=this._stack;if(0===e.length)return!1;if(e[e.length-1].left)return!0;for(var t=e.length-1;t>0;--t)if(e[t-1].right===e[t])return!0;return!1}})},3837:function(e,t,r){e.exports=function(e,t){var r=new p(e);return r.update(t),r};var n=r(4935),i=r(501),a=r(5304),o=r(6429),s=r(6444),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),c=ArrayBuffer,u=DataView;function h(e){return Array.isArray(e)||function(e){return c.isView(e)&&!(e instanceof u)}(e)}function f(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function p(e){this.gl=e,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=a(e)}var d=p.prototype;function m(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}d.update=function(e){function t(t,r,n){if(n in e){var i,a=e[n],o=this[n];(t?h(a)&&h(a[0]):h(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}e=e||{};var r,a=t.bind(this,!1,Number),o=t.bind(this,!1,Boolean),l=t.bind(this,!1,String),c=t.bind(this,!0,(function(e){if(h(e)){if(3===e.length)return[+e[0],+e[1],+e[2],1];if(4===e.length)return[+e[0],+e[1],+e[2],+e[3]]}return[0,0,0,1]})),u=!1,f=!1;if("bounds"in e)for(var p=e.bounds,d=0;d<2;++d)for(var m=0;m<3;++m)p[d][m]!==this.bounds[d][m]&&(f=!0),this.bounds[d][m]=p[d][m];if("ticks"in e)for(r=e.ticks,u=!0,this.autoTicks=!1,d=0;d<3;++d)this.tickSpacing[d]=0;else a("tickSpacing")&&(this.autoTicks=!0,f=!0);if(this._firstInit&&("ticks"in e||"tickSpacing"in e||(this.autoTicks=!0),f=!0,u=!0,this._firstInit=!1),f&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),u=!0),u){for(d=0;d<3;++d)r[d].sort((function(e,t){return e.x-t.x}));s.equal(r,this.ticks)?u=!1:this.ticks=r}o("tickEnable"),l("tickFont")&&(u=!0),l("tickFontStyle")&&(u=!0),l("tickFontWeight")&&(u=!0),l("tickFontVariant")&&(u=!0),a("tickSize"),a("tickAngle"),a("tickPad"),c("tickColor");var g=l("labels");l("labelFont")&&(g=!0),l("labelFontStyle")&&(g=!0),l("labelFontWeight")&&(g=!0),l("labelFontVariant")&&(g=!0),o("labelEnable"),a("labelSize"),a("labelPad"),c("labelColor"),o("lineEnable"),o("lineMirror"),a("lineWidth"),c("lineColor"),o("lineTickEnable"),o("lineTickMirror"),a("lineTickLength"),a("lineTickWidth"),c("lineTickColor"),o("gridEnable"),a("gridWidth"),c("gridColor"),o("zeroEnable"),c("zeroLineColor"),a("zeroLineWidth"),o("backgroundEnable"),c("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]}],v=[{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&&(g||u)&&this._text.update(this.bounds,this.labels,y,this.ticks,v):this._text=n(this.gl,this.bounds,this.labels,y,this.ticks,v),this._lines&&u&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=i(this.gl,this.bounds,this.ticks))};var g=[new m,new m,new m];function y(e,t,r,n,i){for(var a=e.primalOffset,o=e.primalMinor,s=e.mirrorOffset,l=e.mirrorMinor,c=n[t],u=0;u<3;++u)if(t!==u){var h=a,f=s,p=o,d=l;c&1<0?(p[u]=-1,d[u]=0):(p[u]=0,d[u]=1)}}var v=[0,0,0],x={model:l,view:l,projection:l,_ortho:!1};d.isOpaque=function(){return!0},d.isTransparent=function(){return!1},d.drawTransparent=function(e){};var _=[0,0,0],b=[0,0,0],w=[0,0,0];d.draw=function(e){e=e||x;for(var t=this.gl,r=e.model||l,n=e.view||l,i=e.projection||l,a=this.bounds,s=e._ortho||!1,c=o(r,n,i,a,s),u=c.cubeEdges,h=c.axis,p=n[12],d=n[13],m=n[14],T=n[15],k=(s?2:1)*this.pixelRatio*(i[3]*p+i[7]*d+i[11]*m+i[15]*T)/t.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=u[A],this.lastCubeProps.axis[A]=h[A];var M=g;for(A=0;A<3;++A)y(g[A],A,this.bounds,u,h);t=this.gl;var S,E,C,I,L,P,z,D,O,R,F,B,j=v;for(A=0;A<3;++A)this.backgroundEnable[A]?j[A]=h[A]:j[A]=0;for(this._background.draw(r,n,i,a,j,this.backgroundColor),this._lines.bind(r,n,i,this),A=0;A<3;++A){var N=[0,0,0];h[A]>0?N[A]=a[1][A]:N[A]=a[0][A];for(var U=0;U<2;++U){var V=(A+1+U)%3,q=(A+1+(1^U))%3;this.gridEnable[V]&&this._lines.drawGrid(V,q,this.bounds,N,this.gridColor[V],this.gridWidth[V]*this.pixelRatio)}for(U=0;U<2;++U)V=(A+1+U)%3,q=(A+1+(1^U))%3,this.zeroEnable[q]&&Math.min(a[0][q],a[1][q])<=0&&Math.max(a[0][q],a[1][q])>=0&&this._lines.drawZero(V,q,this.bounds,N,this.zeroLineColor[q],this.zeroLineWidth[q]*this.pixelRatio)}for(A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);var H=f(_,M[A].primalMinor),G=f(b,M[A].mirrorMinor),W=this.lineTickLength;for(U=0;U<3;++U){var Z=k/r[5*U];H[U]*=W[U]*Z,G[U]*=W[U]*Z}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,M[A].primalOffset,H,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,M[A].mirrorOffset,G,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}function Y(e){(C=[0,0,0])[e]=1}for(this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio),A=0;A<3;++A){var X=M[A].primalMinor,$=M[A].mirrorMinor,K=f(w,M[A].primalOffset);for(U=0;U<3;++U)this.lineTickEnable[A]&&(K[U]+=k*X[U]*Math.max(this.lineTickLength[U],0)/r[5*U]);var J=[0,0,0];if(J[A]=1,this.tickEnable[A]){for(-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]="auto"):this.tickAlign[A]=-1,E=1,"auto"===(S=[this.tickAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),C=[0,0,0],P=$,void 0,void 0,void 0,void 0,void 0,void 0,D=((I=A)+2)%3,O=(L=X)[z=(I+1)%3],R=L[D],F=P[z],B=P[D],O>0&&B>0||O>0&&B<0||O<0&&B>0||O<0&&B<0?Y(z):(R>0&&F>0||R>0&&F<0||R<0&&F>0||R<0&&F<0)&&Y(D),U=0;U<3;++U)K[U]+=k*X[U]*this.tickPad[U]/r[5*U];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],K,this.tickColor[A],J,C,S)}if(this.labelEnable[A]){for(E=0,C=[0,0,0],this.labels[A].length>4&&(Y(A),E=1),"auto"===(S=[this.labelAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),U=0;U<3;++U)K[U]+=k*X[U]*this.labelPad[U]/r[5*U];K[A]+=.5*(a[0][A]+a[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],K,this.labelColor[A],[0,0,0],C,S)}}this._text.unbind()},d.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},5304:function(e,t,r){e.exports=function(e){for(var t=[],r=[],s=0,l=0;l<3;++l)for(var c=(l+1)%3,u=(l+2)%3,h=[0,0,0],f=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),h[l]=p,f[l]=p;for(var d=-1;d<=1;d+=2){h[c]=d;for(var m=-1;m<=1;m+=2)h[u]=m,t.push(h[0],h[1],h[2],f[0],f[1],f[2]),s+=1}var g=c;c=u,u=g}var y=n(e,new Float32Array(t)),v=n(e,new Uint16Array(r),e.ELEMENT_ARRAY_BUFFER),x=i(e,[{buffer:y,type:e.FLOAT,size:3,offset:0,stride:24},{buffer:y,type:e.FLOAT,size:3,offset:12,stride:24}],v),_=a(e);return _.attributes.position.location=0,_.attributes.normal.location=1,new o(e,y,x,_)};var n=r(2762),i=r(8116),a=r(1879).bg;function o(e,t,r,n){this.gl=e,this.buffer=t,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(e,t,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:e,view:t,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},6429:function(e,t,r){e.exports=function(e,t,r,a,p){i(s,t,e),i(s,r,s);for(var v=0,x=0;x<2;++x){u[2]=a[x][2];for(var _=0;_<2;++_){u[1]=a[_][1];for(var b=0;b<2;++b)u[0]=a[b][0],f(l[v],u,s),v+=1}}var w=-1;for(x=0;x<8;++x){for(var T=l[x][3],k=0;k<3;++k)c[x][k]=l[x][k]/T;p&&(c[x][2]*=-1),T<0&&(w<0||c[x][2]E&&(w|=1<E&&(w|=1<c[x][1])&&(R=x);var F=-1;for(x=0;x<3;++x)(j=R^1<c[B][0]&&(B=j))}var N=m;N[0]=N[1]=N[2]=0,N[n.log2(F^R)]=R&F,N[n.log2(R^B)]=R&B;var U=7^B;U===w||U===O?(U=7^F,N[n.log2(B^U)]=U&B):N[n.log2(F^U)]=U&F;var V=g,q=w;for(A=0;A<3;++A)V[A]=q&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"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}"]);t.Q=function(e){return i(e,s,l,null,[{name:"position",type:"vec3"}])};var c=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n\n vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n vec3 realNormal = signAxis * normal;\n\n if(dot(realNormal, enable) > 0.0) {\n vec3 minRange = min(bounds[0], bounds[1]);\n vec3 maxRange = max(bounds[0], bounds[1]);\n vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\n gl_Position = projection * (view * (model * vec4(nPosition, 1.0)));\n } else {\n gl_Position = vec4(0,0,0,0);\n }\n\n colorChannel = abs(realNormal);\n}\n"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n gl_FragColor = colorChannel.x * colors[0] +\n colorChannel.y * colors[1] +\n colorChannel.z * colors[2];\n}"]);t.bg=function(e){return i(e,c,u,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},4935:function(e,t,r){e.exports=function(e,t,r,a,s,l){var c=n(e),h=i(e,[{buffer:c,size:3}]),f=o(e);f.attributes.position.location=0;var p=new u(e,f,c,h);return p.update(t,r,a,s,l),p};var n=r(2762),i=r(8116),a=r(4359),o=r(1879).Q,s=window||c.global||{},l=s.__TEXT_CACHE||{};function u(e,t,r,n){this.gl=e,this.shader=t,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}s.__TEXT_CACHE={};var h=u.prototype,f=[0,0];h.bind=function(e,t,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=e,i.view=t,i.projection=r,i.pixelScale=n,f[0]=this.gl.drawingBufferWidth,f[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=f},h.unbind=function(){this.vao.unbind()},h.update=function(e,t,r,n,i){var o=[];function s(e,t,r,n,i,s){var c=[r.style,r.weight,r.variant,r.family].join("_"),u=l[c];u||(u=l[c]={});var h=u[t];h||(h=u[t]=function(e,t){try{return a(e,t)}catch(t){return console.warn('error vectorizing text:"'+e+'" error:',t),{cells:[],positions:[]}}}(t,{triangles:!0,font:r.family,fontStyle:r.style,fontWeight:r.weight,fontVariant:r.variant,textAlign:"center",textBaseline:"middle",lineSpacing:i,styletags:s}));for(var f=(n||12)/12,p=h.positions,d=h.cells,m=0,g=d.length;m=0;--v){var x=p[y[v]];o.push(f*x[0],-f*x[1],e)}}for(var c=[0,0,0],u=[0,0,0],h=[0,0,0],f=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){h[d]=o.length/3|0,s(.5*(e[0][d]+e[1][d]),t[d],r[d],12,1.25,p),f[d]=(o.length/3|0)-h[d],c[d]=o.length/3|0;for(var m=0;m=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(e*t*a),s=o+"";if(s.indexOf("e")>=0)return s;var l=o/a,c=o%a;o<0?(l=0|-Math.ceil(l),c=0|-c):(l=0|Math.floor(l),c|=0);var u=""+l;if(o<0&&(u="-"+u),i){for(var h=""+c;h.length=e[0][i];--o)a.push({x:o*t[i],text:r(t[i],o)});n.push(a)}return n},t.equal=function(e,t){for(var r=0;r<3;++r){if(e[r].length!==t[r].length)return!1;for(var n=0;nr)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return e.bufferSubData(t,a,i),r}function u(e,t){for(var r=n.malloc(e.length,t),i=e.length,a=0;a=0;--n){if(t[n]!==r)return!1;r*=e[n]}return!0}(e.shape,e.stride))0===e.offset&&e.data.length===e.shape[0]?this.length=c(this.gl,this.type,this.length,this.usage,e.data,t):this.length=c(this.gl,this.type,this.length,this.usage,e.data.subarray(e.offset,e.shape[0]),t);else{var s=n.malloc(e.size,r),l=a(s,e.shape);i.assign(l,e),this.length=c(this.gl,this.type,this.length,this.usage,t<0?s:s.subarray(0,e.size),t),n.free(s)}}else if(Array.isArray(e)){var h;h=this.type===this.gl.ELEMENT_ARRAY_BUFFER?u(e,"uint16"):u(e,"float32"),this.length=c(this.gl,this.type,this.length,this.usage,t<0?h:h.subarray(0,e.length),t),n.free(h)}else if("object"==typeof e&&"number"==typeof e.length)this.length=c(this.gl,this.type,this.length,this.usage,e,t);else{if("number"!=typeof e&&void 0!==e)throw new Error("gl-buffer: Invalid data type");if(t>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");(e|=0)<=0&&(e=1),this.gl.bufferData(this.type,0|e,this.usage),this.length=e}},e.exports=function(e,t,r,n){if(r=r||e.ARRAY_BUFFER,n=n||e.DYNAMIC_DRAW,r!==e.ARRAY_BUFFER&&r!==e.ELEMENT_ARRAY_BUFFER)throw new Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER");if(n!==e.DYNAMIC_DRAW&&n!==e.STATIC_DRAW&&n!==e.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 i=e.createBuffer(),a=new s(e,r,i,0,n);return a.update(t),a}},6405:function(e,t,r){var n=r(2931);e.exports=function(e,t){var r=e.positions,i=e.vectors,a={positions:[],vertexIntensity:[],vertexIntensityBounds:e.vertexIntensityBounds,vectors:[],cells:[],coneOffset:e.coneOffset,colormap:e.colormap};if(0===e.positions.length)return t&&(t[0]=[0,0,0],t[1]=[0,0,0]),a;for(var o=0,s=1/0,l=-1/0,c=1/0,u=-1/0,h=1/0,f=-1/0,p=null,d=null,m=[],g=1/0,y=!1,v="raw"===e.coneSizemode,x=0;xo&&(o=n.length(b)),x&&!v){var w=2*n.distance(p,_)/(n.length(d)+n.length(b));w?(g=Math.min(g,w),y=!1):y=!0}y||(p=_,d=b),m.push(b)}var T=[s,c,h],k=[l,u,f];t&&(t[0]=T,t[1]=k),0===o&&(o=1);var A=1/o;isFinite(g)||(g=1),a.vectorScale=g;var M=e.coneSize||(v?1:.5);e.absoluteConeSize&&(M=e.absoluteConeSize*A),a.coneScale=M,x=0;for(var S=0;x=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(e){this.pickId=e},p.update=function(e){e=e||{};var t=this.gl;this.dirty=!0,"lightPosition"in e&&(this.lightPosition=e.lightPosition),"opacity"in e&&(this.opacity=e.opacity),"ambient"in e&&(this.ambientLight=e.ambient),"diffuse"in e&&(this.diffuseLight=e.diffuse),"specular"in e&&(this.specularLight=e.specular),"roughness"in e&&(this.roughness=e.roughness),"fresnel"in e&&(this.fresnel=e.fresnel),void 0!==e.tubeScale&&(this.tubeScale=e.tubeScale),void 0!==e.vectorScale&&(this.vectorScale=e.vectorScale),void 0!==e.coneScale&&(this.coneScale=e.coneScale),void 0!==e.coneOffset&&(this.coneOffset=e.coneOffset),e.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=t.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=t.LINEAR,this.texture.setPixels(function(e){for(var t=u({colormap:e,nshades:256,format:"rgba"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=t[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return c(r,[256,256,4],[4,0,1])}(e.colormap)),this.texture.generateMipmap());var r=e.cells,n=e.positions,i=e.vectors;if(n&&r&&i){var a=[],o=[],s=[],l=[],h=[];this.cells=r,this.positions=n,this.vectors=i;var f=e.meshColor||[1,1,1,1],p=e.vertexIntensity,d=1/0,m=-1/0;if(p)if(e.vertexIntensityBounds)d=+e.vertexIntensityBounds[0],m=+e.vertexIntensityBounds[1];else for(var g=0;g0){var m=this.triShader;m.bind(),m.uniforms=c,this.triangleVAO.bind(),t.drawArrays(t.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},p.drawPick=function(e){e=e||{};for(var t=this.gl,r=e.model||h,n=e.view||h,i=e.projection||h,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[t.drawingBufferWidth,t.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),t.drawArrays(t.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},p.pick=function(e){if(!e||e.id!==this.pickId)return null;var t=e.value[0]+256*e.value[1]+65536*e.value[2],r=this.cells[t],n=this.positions[r[1]].slice(0,3),i={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return"cone"===this.traceType?i.index=Math.floor(r[1]/48):"streamtube"===this.traceType&&(i.intensity=this.intensity[r[1]],i.velocity=this.vectors[r[1]].slice(0,3),i.divergence=this.vectors[r[1]][3],i.index=t),i},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()},e.exports=function(e,t,r){var s=r.shaders;1===arguments.length&&(e=(t=e).gl);var l=function(e,t){var r=n(e,t.meshShader.vertex,t.meshShader.fragment,null,t.meshShader.attributes);return r.attributes.position.location=0,r.attributes.color.location=2,r.attributes.uv.location=3,r.attributes.vector.location=4,r}(e,s),u=function(e,t){var r=n(e,t.pickShader.vertex,t.pickShader.fragment,null,t.pickShader.attributes);return r.attributes.position.location=0,r.attributes.id.location=1,r.attributes.vector.location=4,r}(e,s),h=o(e,c(new Uint8Array([255,255,255,255]),[1,1,4]));h.generateMipmap(),h.minFilter=e.LINEAR_MIPMAP_LINEAR,h.magFilter=e.LINEAR;var p=i(e),d=i(e),m=i(e),g=i(e),y=i(e),v=new f(e,h,l,u,p,d,y,m,g,a(e,[{buffer:p,type:e.FLOAT,size:4},{buffer:y,type:e.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:m,type:e.FLOAT,size:4},{buffer:g,type:e.FLOAT,size:2},{buffer:d,type:e.FLOAT,size:4}]),r.traceType||"cone");return v.update(t),v}},614:function(e,t,r){var n=r(3236),i=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * conePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(conePosition, 1.0);\n vec4 t_position = view * conePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = conePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n gl_Position = projection * (view * conePosition);\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);t.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},t.pickShader={vertex:o,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 n=r(737);e.exports=function(e){return n[e]}},9165:function(e,t,r){e.exports=function(e){var t=e.gl,r=n(t),o=i(t,[{buffer:r,type:t.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:t.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:t.FLOAT,size:3,offset:28,stride:40}]),l=a(t);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var c=new s(t,r,o,l);return c.update(e),c};var n=r(2762),i=r(8116),a=r(3436),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(e,t,r,n){this.gl=e,this.shader=n,this.buffer=t,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var l=s.prototype;function c(e,t){for(var r=0;r<3;++r)e[0][r]=Math.min(e[0][r],t[r]),e[1][r]=Math.max(e[1][r],t[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(e){var t=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=e.view||o,i=r.projection=e.projection||o;r.model=e.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],c=n[15],u=(e._ortho?2:1)*this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*c)/t.drawingBufferHeight;this.vao.bind();for(var h=0;h<3;++h)t.lineWidth(this.lineWidth[h]*this.pixelRatio),r.capSize=this.capSize[h]*u,this.lineCount[h]&&t.drawArrays(t.LINES,this.lineOffset[h],this.lineCount[h]);this.vao.unbind()};var u=function(){for(var e=new Array(3),t=0;t<3;++t){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+t)%3]=i,r.push(a)}e[t]=r}return e}();function h(e,t,r,n){for(var i=u[n],a=0;a0&&((p=u.slice())[s]+=d[1][s],i.push(u[0],u[1],u[2],m[0],m[1],m[2],m[3],0,0,0,p[0],p[1],p[2],m[0],m[1],m[2],m[3],0,0,0),c(this.bounds,p),o+=2+h(i,p,m,s)))}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},3436:function(e,t,r){var n=r(3236),i=r(9405),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n vec4 worldPosition = model * vec4(position, 1.0);\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n gl_Position = projection * (view * worldPosition);\n fragColor = color;\n fragPosition = position;\n}"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n gl_FragColor = opacity * fragColor;\n}"]);e.exports=function(e){return i(e,a,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},2260:function(e,t,r){var n=r(7766);e.exports=function(e,t,r,n){i||(i=e.FRAMEBUFFER_UNSUPPORTED,a=e.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=e.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=e.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var c=e.getExtension("WEBGL_draw_buffers");if(!l&&c&&function(e,t){var r=e.getParameter(t.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;au||r<0||r>u)throw new Error("gl-fbo: Parameters are too large for FBO");var h=1;if("color"in(n=n||{})){if((h=Math.max(0|n.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(h>1){if(!c)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(h>e.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+h+" draw buffers")}}var f=e.UNSIGNED_BYTE,p=e.getExtension("OES_texture_float");if(n.float&&h>0){if(!p)throw new Error("gl-fbo: Context does not support floating point textures");f=e.FLOAT}else n.preferFloat&&h>0&&p&&(f=e.FLOAT);var m=!0;"depth"in n&&(m=!!n.depth);var g=!1;return"stencil"in n&&(g=!!n.stencil),new d(e,t,r,f,h,m,g,c)};var i,a,o,s,l=null;function c(e){return[e.getParameter(e.FRAMEBUFFER_BINDING),e.getParameter(e.RENDERBUFFER_BINDING),e.getParameter(e.TEXTURE_BINDING_2D)]}function u(e,t){e.bindFramebuffer(e.FRAMEBUFFER,t[0]),e.bindRenderbuffer(e.RENDERBUFFER,t[1]),e.bindTexture(e.TEXTURE_2D,t[2])}function h(e){switch(e){case i:throw new Error("gl-fbo: Framebuffer unsupported");case a:throw new Error("gl-fbo: Framebuffer incomplete attachment");case o:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case s:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function f(e,t,r,i,a,o){if(!i)return null;var s=n(e,t,r,a,i);return s.magFilter=e.NEAREST,s.minFilter=e.NEAREST,s.mipSamples=1,s.bind(),e.framebufferTexture2D(e.FRAMEBUFFER,o,e.TEXTURE_2D,s.handle,0),s}function p(e,t,r,n,i){var a=e.createRenderbuffer();return e.bindRenderbuffer(e.RENDERBUFFER,a),e.renderbufferStorage(e.RENDERBUFFER,n,t,r),e.framebufferRenderbuffer(e.FRAMEBUFFER,i,e.RENDERBUFFER,a),a}function d(e,t,r,n,i,a,o,s){this.gl=e,this._shape=[0|t,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var d=0;d1&&s.drawBuffersWEBGL(l[o]);var v=r.getExtension("WEBGL_depth_texture");v?d?e.depth=f(r,i,a,v.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):m&&(e.depth=f(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):m&&d?e._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):m?e._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(e._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(e._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(e.handle),e.handle=null,e.depth&&(e.depth.dispose(),e.depth=null),e._depth_rb&&(r.deleteRenderbuffer(e._depth_rb),e._depth_rb=null),y=0;yi||r<0||r>i)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");e._shape[0]=t,e._shape[1]=r;for(var a=c(n),o=0;o max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D dashTexture;\nuniform float dashScale;\nuniform float opacity;\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n if(dashWeight < 0.5) {\n discard;\n }\n gl_FragColor = fragColor * opacity;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\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}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];t.createShader=function(e){return i(e,a,o,null,l)},t.createPickShader=function(e){return i(e,a,s,null,l)}},5714:function(e,t,r){e.exports=function(e){var t=e.gl||e.scene&&e.scene.gl,r=h(t);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=f(t);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(t),l=i(t,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),u=c(new Array(1024),[256,1,4]),p=0;p<1024;++p)u.data[p]=255;var d=a(t,u);d.wrap=t.REPEAT;var m=new y(t,r,o,s,l,d);return m.update(e),m};var n=r(2762),i=r(8116),a=r(7766),o=new Uint8Array(4),s=new Float32Array(o.buffer),l=r(2478),c=r(9618),u=r(7319),h=u.createShader,f=u.createPickShader,p=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function d(e,t){for(var r=0,n=0;n<3;++n){var i=e[n]-t[n];r+=i*i}return Math.sqrt(r)}function m(e){for(var t=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)t[0][r]=Math.max(e[0][r],t[0][r]),t[1][r]=Math.min(e[1][r],t[1][r]);return t}function g(e,t,r,n){this.arcLength=e,this.position=t,this.index=r,this.dataCoordinate=n}function y(e,t,r,n,i,a){this.gl=e,this.shader=t,this.pickShader=r,this.buffer=n,this.vao=i,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=a,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var v=y.prototype;v.isTransparent=function(){return this.hasAlpha},v.isOpaque=function(){return!this.hasAlpha},v.pickSlots=1,v.setPickBase=function(e){this.pickId=e},v.drawTransparent=v.draw=function(e){if(this.vertexCount){var t=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:e.model||p,view:e.view||p,projection:e.projection||p,clipBounds:m(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[t.drawingBufferWidth,t.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(t.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},v.drawPick=function(e){if(this.vertexCount){var t=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:e.model||p,view:e.view||p,projection:e.projection||p,pickId:this.pickId,clipBounds:m(this.clipBounds),screenShape:[t.drawingBufferWidth,t.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(t.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},v.update=function(e){var t,r;this.dirty=!0;var n=!!e.connectGaps;"dashScale"in e&&(this.dashScale=e.dashScale),this.hasAlpha=!1,"opacity"in e&&(this.opacity=+e.opacity,this.opacity<1&&(this.hasAlpha=!0));var i=[],a=[],o=[],s=0,u=0,h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],f=e.position||e.positions;if(f){var p=e.color||e.colors||[0,0,0,1],m=e.lineWidth||1,g=!1;e:for(t=1;t0){for(var w=0;w<24;++w)i.push(i[i.length-12]);u+=2,g=!0}continue e}h[0][r]=Math.min(h[0][r],_[r],b[r]),h[1][r]=Math.max(h[1][r],_[r],b[r])}Array.isArray(p[0])?(y=p.length>t-1?p[t-1]:p.length>0?p[p.length-1]:[0,0,0,1],v=p.length>t?p[t]:p.length>0?p[p.length-1]:[0,0,0,1]):y=v=p,3===y.length&&(y=[y[0],y[1],y[2],1]),3===v.length&&(v=[v[0],v[1],v[2],1]),!this.hasAlpha&&y[3]<1&&(this.hasAlpha=!0),x=Array.isArray(m)?m.length>t-1?m[t-1]:m.length>0?m[m.length-1]:[0,0,0,1]:m;var T=s;if(s+=d(_,b),g){for(r=0;r<2;++r)i.push(_[0],_[1],_[2],b[0],b[1],b[2],T,x,y[0],y[1],y[2],y[3]);u+=2,g=!1}i.push(_[0],_[1],_[2],b[0],b[1],b[2],T,x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],T,-x,y[0],y[1],y[2],y[3],b[0],b[1],b[2],_[0],_[1],_[2],s,-x,v[0],v[1],v[2],v[3],b[0],b[1],b[2],_[0],_[1],_[2],s,x,v[0],v[1],v[2],v[3]),u+=4}}if(this.buffer.update(i),a.push(s),o.push(f[f.length-1].slice()),this.bounds=h,this.vertexCount=u,this.points=o,this.arcLength=a,"dashes"in e){var k=e.dashes.slice();for(k.unshift(0),t=1;t1.0001)return null;y+=g[h]}return Math.abs(y-1)>.001?null:[f,s(e,g),g]}},840:function(e,t,r){var n=r(3236),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n , view\n , projection\n , inverseModel;\nuniform vec3 eyePosition\n , lightPosition;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvec4 project(vec3 p) {\n return projection * (view * (model * vec4(p, 1.0)));\n}\n\nvoid main() {\n gl_Position = project(position);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * vec4(position , 1.0);\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n f_color = color;\n f_data = position;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (f_color.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], f_data)\n ) discard;\n\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * f_color.a;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n f_color = color;\n f_data = position;\n f_uv = uv;\n}"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\nattribute float pointSize;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\n } else {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n }\n gl_PointSize = pointSize;\n f_color = color;\n f_uv = uv;\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\n if(dot(pointR, pointR) > 0.25) {\n discard;\n }\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n f_id = id;\n f_position = position;\n}"]),h=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]),f=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute float pointSize;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\n } else {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n gl_PointSize = pointSize;\n }\n f_id = id;\n f_position = position;\n}"]),p=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n}"]),d=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor, 1.0);\n}\n"]);t.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},t.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},t.pointShader={vertex:l,fragment:c,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},t.pickShader={vertex:u,fragment:h,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},t.pointPickShader={vertex:f,fragment:h,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},t.contourShader={vertex:p,fragment:d,attributes:[{name:"position",type:"vec3"}]}},7201:function(e,t,r){var n=r(9405),i=r(2762),a=r(8116),o=r(7766),s=r(8406),l=r(6760),c=r(7608),u=r(9618),h=r(6729),f=r(7765),p=r(1888),d=r(840),m=r(7626),g=d.meshShader,y=d.wireShader,v=d.pointShader,x=d.pickShader,_=d.pointPickShader,b=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function T(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,T,k,A,M,S){this.gl=e,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=t,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=u,this.triangleNormals=f,this.triangleUVs=h,this.triangleIds=c,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=g,this.edgeUVs=y,this.edgeIds=m,this.edgeVAO=v,this.edgeCount=0,this.pointPositions=x,this.pointColors=b,this.pointUVs=T,this.pointSizes=k,this.pointIds=_,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=M,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.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=w,this._view=w,this._projection=w,this._resolution=[1,1]}var k=T.prototype;function A(e,t){if(!t||!t.length)return 1;for(var r=0;re&&r>0){var n=(t[r][0]-e)/(t[r][0]-t[r-1][0]);return t[r][1]*(1-n)+n*t[r-1][1]}}return 1}k.isOpaque=function(){return!this.hasAlpha},k.isTransparent=function(){return this.hasAlpha},k.pickSlots=1,k.setPickBase=function(e){this.pickId=e},k.highlight=function(e){if(e&&this.contourEnable){for(var t=f(this.cells,this.intensity,e.intensity),r=t.cells,n=t.vertexIds,i=t.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l0&&((u=this.triShader).bind(),u.uniforms=s,this.triangleVAO.bind(),t.drawArrays(t.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&this.lineWidth>0&&((u=this.lineShader).bind(),u.uniforms=s,this.edgeVAO.bind(),t.lineWidth(this.lineWidth*this.pixelRatio),t.drawArrays(t.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((u=this.pointShader).bind(),u.uniforms=s,this.pointVAO.bind(),t.drawArrays(t.POINTS,0,this.pointCount),this.pointVAO.unbind()),this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((u=this.contourShader).bind(),u.uniforms=s,this.contourVAO.bind(),t.drawArrays(t.LINES,0,this.contourCount),this.contourVAO.unbind())},k.drawPick=function(e){e=e||{};for(var t=this.gl,r=e.model||w,n=e.view||w,i=e.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[t.drawingBufferWidth,t.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};(s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),t.drawArrays(t.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),t.lineWidth(this.lineWidth*this.pixelRatio),t.drawArrays(t.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),t.drawArrays(t.POINTS,0,this.pointCount),this.pointVAO.unbind())},k.pick=function(e){if(!e||e.id!==this.pickId)return null;for(var t=e.value[0]+256*e.value[1]+65536*e.value[2],r=this.cells[t],n=this.positions,i=new Array(r.length),a=0;aMath.abs(t))c.rotate(a,0,0,-e*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*i*t/window.innerHeight*(a-c.lastT())/20;c.pan(a,0,0,h*(Math.exp(o)-1))}}}),!0)},d.enableMouseListeners(),d};var n=r(3025),i=r(6296),a=r(351),o=r(8512),s=r(24),l=r(7520)},799:function(e,t,r){var n=r(3236),i=r(9405),a=n(["precision mediump float;\n#define GLSLIFY 1\nattribute vec2 position;\nvarying vec2 uv;\nvoid main() {\n uv = position;\n gl_Position = vec4(position, 0, 1);\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n gl_FragColor = min(vec4(1,1,1,1), accum);\n}"]);e.exports=function(e){return i(e,a,o,null,[{name:"position",type:"vec2"}])}},4100:function(e,t,r){var n=r(4437),i=r(3837),a=r(5445),o=r(4449),s=r(3589),l=r(2260),c=r(7169),u=r(351),h=r(4772),f=r(4040),p=r(799),d=r(9216)({tablet:!0,featureDetect:!0});function m(){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 g(e){var t=Math.round(Math.log(Math.abs(e))/Math.log(10));if(t<0){var r=Math.round(Math.pow(10,-t));return Math.ceil(e*r)/r}return t>0?(r=Math.round(Math.pow(10,t)),Math.ceil(e/r)*r):Math.ceil(e)}function y(e){return"boolean"!=typeof e||e}e.exports={createScene:function(e){(e=e||{}).camera=e.camera||{};var t=e.canvas;t||(t=document.createElement("canvas"),e.container?e.container.appendChild(t):document.body.appendChild(t));var r=e.gl;if(r||(e.glOptions&&(d=!!e.glOptions.preserveDrawingBuffer),r=function(e,t){var r=null;try{(r=e.getContext("webgl",t))||(r=e.getContext("experimental-webgl",t))}catch{return null}return r}(t,e.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:d})),!r)throw new Error("webgl not supported");var v=e.bounds||[[-10,-10,-10],[10,10,10]],x=new m,_=l(r,r.drawingBufferWidth,r.drawingBufferHeight,{preferFloat:!d}),b=p(r),w=e.cameraObject&&!0===e.cameraObject._ortho||e.camera.projection&&"orthographic"===e.camera.projection.type||!1,T={eye:e.camera.eye||[2,0,0],center:e.camera.center||[0,0,0],up:e.camera.up||[0,1,0],zoomMin:e.camera.zoomMax||.1,zoomMax:e.camera.zoomMin||100,mode:e.camera.mode||"turntable",_ortho:w},k=e.axes||{},A=i(r,k);A.enable=!k.disable;var M=e.spikes||{},S=o(r,M),E=[],C=[],I=[],L=[],P=!0,z=!0,D={view:null,projection:new Array(16),model:new Array(16),_ortho:!1},O=(z=!0,[r.drawingBufferWidth,r.drawingBufferHeight]),R=e.cameraObject||n(t,T),F={gl:r,contextLost:!1,pixelRatio:e.pixelRatio||1,canvas:t,selection:x,camera:R,axes:A,axesPixels:null,spikes:S,bounds:v,objects:E,shape:O,aspect:e.aspectRatio||[1,1,1],pickRadius:e.pickRadius||10,zNear:e.zNear||.01,zFar:e.zFar||1e3,fovy:e.fovy||Math.PI/4,clearColor:e.clearColor||[0,0,0,0],autoResize:y(e.autoResize),autoBounds:y(e.autoBounds),autoScale:!!e.autoScale,autoCenter:y(e.autoCenter),clipToBounds:y(e.clipToBounds),snapToData:!!e.snapToData,onselect:e.onselect||null,onrender:e.onrender||null,onclick:e.onclick||null,cameraParams:D,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(e){this.aspect[0]=e.x,this.aspect[1]=e.y,this.aspect[2]=e.z,z=!0},setBounds:function(e,t){this.bounds[0][e]=t.min,this.bounds[1][e]=t.max},setClearColor:function(e){this.clearColor=e},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)}},B=[r.drawingBufferWidth/F.pixelRatio|0,r.drawingBufferHeight/F.pixelRatio|0];function j(){if(!F._stopped&&F.autoResize){var e=t.parentNode,r=1,n=1;e&&e!==document.body?(r=e.clientWidth,n=e.clientHeight):(r=window.innerWidth,n=window.innerHeight);var i=0|Math.ceil(r*F.pixelRatio),a=0|Math.ceil(n*F.pixelRatio);if(i!==t.width||a!==t.height){t.width=i,t.height=a;var o=t.style;o.position=o.position||"absolute",o.left="0px",o.top="0px",o.width=r+"px",o.height=n+"px",P=!0}}}function N(){for(var e=E.length,t=L.length,n=0;n0&&0===I[t-1];)I.pop(),L.pop().dispose()}function U(){if(F.contextLost)return!0;r.isContextLost()&&(F.contextLost=!0,F.mouseListener.enabled=!1,F.selection.object=null,F.oncontextloss&&F.oncontextloss())}F.autoResize&&j(),window.addEventListener("resize",j),F.update=function(e){F._stopped||(e=e||{},P=!0,z=!0)},F.add=function(e){F._stopped||(e.axes=A,E.push(e),C.push(-1),P=!0,z=!0,N())},F.remove=function(e){if(!F._stopped){var t=E.indexOf(e);t<0||(E.splice(t,1),C.pop(),P=!0,z=!0,N())}},F.dispose=function(){if(!F._stopped&&(F._stopped=!0,window.removeEventListener("resize",j),t.removeEventListener("webglcontextlost",U),F.mouseListener.enabled=!1,!F.contextLost)){A.dispose(),S.dispose();for(var e=0;ex.distance)continue;for(var c=0;c1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),e[0]=s*c+l*p,e[1]=s*u+l*d,e[2]=s*h+l*m,e[3]=s*f+l*g,e}},5964:function(e){e.exports=function(e){return e||0===e?e.toString():""}},9366:function(e,t,r){var n=r(4359);e.exports=function(e,t,r){var a=[t.style,t.weight,t.variant,t.family].join("_"),o=i[a];if(o||(o=i[a]={}),e in o)return o[e];var s={textAlign:"center",textBaseline:"middle",lineHeight:1,font:t.family,fontStyle:t.style,fontWeight:t.weight,fontVariant:t.variant,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},l=n(e,s);s.triangles=!1;var c,u,h=n(e,s);if(r&&1!==r){for(c=0;c max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),o=i(["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=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform float highlightScale;\nuniform vec4 highlightId;\nuniform vec3 axes[2];\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float scale, pixelRatio;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float lscale = pixelRatio * scale;\n if(distance(highlightId, id) < 0.0001) {\n lscale *= highlightScale;\n }\n\n vec4 clipCenter = projection * (view * (model * vec4(position, 1)));\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n vec4 clipPosition = projection * (view * (model * vec4(dataPosition, 1)));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = dataPosition;\n }\n}\n"]),l=i(["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=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n gl_FragColor = vec4(pickGroup, pickId.bgr);\n}"]),u=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],h={vertex:a,fragment:l,attributes:u},f={vertex:o,fragment:l,attributes:u},p={vertex:s,fragment:l,attributes:u},d={vertex:a,fragment:c,attributes:u},m={vertex:o,fragment:c,attributes:u},g={vertex:s,fragment:c,attributes:u};function y(e,t){var r=n(e,t),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}t.createPerspective=function(e){return y(e,h)},t.createOrtho=function(e){return y(e,f)},t.createProject=function(e){return y(e,p)},t.createPickPerspective=function(e){return y(e,d)},t.createPickOrtho=function(e){return y(e,m)},t.createPickProject=function(e){return y(e,g)}},8418:function(e,t,r){var n=r(5219),i=r(2762),a=r(8116),o=r(1888),s=r(6760),l=r(1283),c=r(9366),u=r(5964),h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],f=ArrayBuffer,p=DataView;function d(e){return Array.isArray(e)||function(e){return f.isView(e)&&!(e instanceof p)}(e)}function m(e,t){var r=e[0],n=e[1],i=e[2],a=e[3];return e[0]=t[0]*r+t[4]*n+t[8]*i+t[12]*a,e[1]=t[1]*r+t[5]*n+t[9]*i+t[13]*a,e[2]=t[2]*r+t[6]*n+t[10]*i+t[14]*a,e[3]=t[3]*r+t[7]*n+t[11]*i+t[15]*a,e}function g(e,t,r,n){return m(n,n),m(n,n),m(n,n)}function y(e,t){this.index=e,this.dataCoordinate=this.position=t}function v(e){return!0===e||e>1?1:e}function x(e,t,r,n,i,a,o,s,l,c,u,h){this.gl=e,this.pixelRatio=1,this.shader=t,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[.6666666666666666,.6666666666666666,.6666666666666666],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=u,this.pickProjectShader=h,this.points=[],this._selectResult=new y(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}e.exports=function(e){var t=e.gl,r=l.createPerspective(t),n=l.createOrtho(t),o=l.createProject(t),s=l.createPickPerspective(t),c=l.createPickOrtho(t),u=l.createPickProject(t),h=i(t),f=i(t),p=i(t),d=i(t),m=new x(t,r,n,o,h,f,p,d,a(t,[{buffer:h,size:3,type:t.FLOAT},{buffer:f,size:4,type:t.FLOAT},{buffer:p,size:2,type:t.FLOAT},{buffer:d,size:4,type:t.UNSIGNED_BYTE,normalized:!0}]),s,c,u);return m.update(e),m};var _=x.prototype;_.pickSlots=1,_.setPickBase=function(e){this.pickId=e},_.isTransparent=function(){if(this.hasAlpha)return!0;for(var e=0;e<3;++e)if(this.axesProject[e]&&this.projectHasAlpha)return!0;return!1},_.isOpaque=function(){if(!this.hasAlpha)return!0;for(var e=0;e<3;++e)if(this.axesProject[e]&&!this.projectHasAlpha)return!0;return!1};var b=[0,0],w=[0,0,0],T=[0,0,0],k=[0,0,0,1],A=[0,0,0,1],M=h.slice(),S=[0,0,0],E=[[0,0,0],[0,0,0]];function C(e){return e[0]=e[1]=e[2]=0,e}function I(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=1,e}function L(e,t,r,n){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[r]=n,e}var P=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function z(e,t,r,n,i,a,o){var l=r.gl;if((a===r.projectHasAlpha||o)&&function(e,t,r,n){var i,a=t.axesProject,o=t.gl,l=e.uniforms,c=r.model||h,u=r.view||h,f=r.projection||h,p=t.axesBounds,d=function(e){for(var t=E,r=0;r<2;++r)for(var n=0;n<3;++n)t[r][n]=Math.max(Math.min(e[r][n],1e8),-1e8);return t}(t.clipBounds);i=t.axes&&t.axes.lastCubeProps?t.axes.lastCubeProps.axis:[1,1,1],b[0]=2/o.drawingBufferWidth,b[1]=2/o.drawingBufferHeight,e.bind(),l.view=u,l.projection=f,l.screenSize=b,l.highlightId=t.highlightId,l.highlightScale=t.highlightScale,l.clipBounds=d,l.pickGroup=t.pickId/255,l.pixelRatio=n;for(var m=0;m<3;++m)if(a[m]){l.scale=t.projectScale[m],l.opacity=t.projectOpacity[m];for(var y=M,v=0;v<16;++v)y[v]=0;for(v=0;v<4;++v)y[5*v]=1;y[5*m]=0,i[m]<0?y[12+m]=p[0][m]:y[12+m]=p[1][m],s(y,c,y),l.model=y;var x=(m+1)%3,_=(m+2)%3,P=C(w),z=C(T);P[x]=1,z[_]=1;var D=g(0,0,0,I(k,P)),O=g(0,0,0,I(A,z));if(Math.abs(D[1])>Math.abs(O[1])){var R=D;D=O,O=R,R=P,P=z,z=R;var F=x;x=_,_=F}D[0]<0&&(P[x]=-1),O[1]>0&&(z[_]=-1);var B=0,j=0;for(v=0;v<4;++v)B+=Math.pow(c[4*x+v],2),j+=Math.pow(c[4*_+v],2);P[x]/=Math.sqrt(B),z[_]/=Math.sqrt(j),l.axes[0]=P,l.axes[1]=z,l.fragClipBounds[0]=L(S,d[0],m,-1e8),l.fragClipBounds[1]=L(S,d[1],m,1e8),t.vao.bind(),t.vao.draw(o.TRIANGLES,t.vertexCount),t.lineWidth>0&&(o.lineWidth(t.lineWidth*n),t.vao.draw(o.LINES,t.lineVertexCount,t.vertexCount)),t.vao.unbind()}}(t,r,n,i),a===r.hasAlpha||o){e.bind();var c=e.uniforms;c.model=n.model||h,c.view=n.view||h,c.projection=n.projection||h,b[0]=2/l.drawingBufferWidth,b[1]=2/l.drawingBufferHeight,c.screenSize=b,c.highlightId=r.highlightId,c.highlightScale=r.highlightScale,c.fragClipBounds=P,c.clipBounds=r.axes.bounds,c.opacity=r.opacity,c.pickGroup=r.pickId/255,c.pixelRatio=i,r.vao.bind(),r.vao.draw(l.TRIANGLES,r.vertexCount),r.lineWidth>0&&(l.lineWidth(r.lineWidth*i),r.vao.draw(l.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function D(e,t,r,i){var a;a=d(e)?t=this.pointCount||t<0)return null;var r=this.points[t],n=this._selectResult;n.index=t;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},_.highlight=function(e){if(e){var t=e.index,r=255&t,n=t>>8&255,i=t>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},_.update=function(e){if("perspective"in(e=e||{})&&(this.useOrtho=!e.perspective),"orthographic"in e&&(this.useOrtho=!!e.orthographic),"lineWidth"in e&&(this.lineWidth=e.lineWidth),"project"in e)if(d(e.project))this.axesProject=e.project;else{var t=!!e.project;this.axesProject=[t,t,t]}if("projectScale"in e)if(d(e.projectScale))this.projectScale=e.projectScale.slice();else{var r=+e.projectScale;this.projectScale=[r,r,r]}if(this.projectHasAlpha=!1,"projectOpacity"in e){d(e.projectOpacity)?this.projectOpacity=e.projectOpacity.slice():(r=+e.projectOpacity,this.projectOpacity=[r,r,r]);for(var n=0;n<3;++n)this.projectOpacity[n]=v(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in e&&(this.opacity=v(e.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var i,a,s=e.position,l={family:e.font||"normal",style:e.fontStyle||"normal",weight:e.fontWeight||"normal",variant:e.fontVariant||"normal"},c=e.alignment||[0,0];if(2===c.length)i=c[0],a=c[1];else for(i=[],a=[],n=0;n0){var z=0,O=_,R=[0,0,0,1],F=[0,0,0,1],B=d(p)&&d(p[0]),j=d(y)&&d(y[0]);e:for(n=0;n0?1-S[0][0]:Z<0?1+S[1][0]:1,Y*=Y>0?1-S[0][1]:Y<0?1+S[1][1]:1],$=A.cells||[],K=A.positions||[];for(k=0;k<$.length;++k)for(var J=$[k],Q=0;Q<3;++Q){for(var ee=0;ee<3;++ee)C[3*z+ee]=T[ee];for(ee=0;ee<4;++ee)I[4*z+ee]=R[ee];P[z]=x;var te=K[J[Q]];L[2*z]=q*(G*te[0]-W*te[1]+X[0]),L[2*z+1]=q*(W*te[0]+G*te[1]+X[1]),z+=1}for($=M.edges,K=M.positions,k=0;k<$.length;++k)for(J=$[k],Q=0;Q<2;++Q){for(ee=0;ee<3;++ee)C[3*O+ee]=T[ee];for(ee=0;ee<4;++ee)I[4*O+ee]=F[ee];P[O]=x,te=K[J[Q]],L[2*O]=q*(G*te[0]-W*te[1]+X[0]),L[2*O+1]=q*(W*te[0]+G*te[1]+X[1]),O+=1}}}this.bounds=[u,h],this.points=s,this.pointCount=s.length,this.vertexCount=_,this.lineVertexCount=b,this.pointBuffer.update(C),this.colorBuffer.update(I),this.glyphBuffer.update(L),this.idBuffer.update(P),o.free(C),o.free(I),o.free(L),o.free(P)},_.dispose=function(){this.shader.dispose(),this.orthoShader.dispose(),this.pickPerspectiveShader.dispose(),this.pickOrthoShader.dispose(),this.vao.dispose(),this.pointBuffer.dispose(),this.colorBuffer.dispose(),this.glyphBuffer.dispose(),this.idBuffer.dispose()}},3589:function(e,t,r){e.exports=function(e,t){var r=t[0],a=t[1];return new l(e,n(e,r,a,{}),i.mallocUint8(r*a*4))};var n=r(2260),i=r(1888),a=r(9618),o=r(8828).nextPow2;function s(e,t,r,n,i){this.coord=[e,t],this.id=r,this.value=n,this.distance=i}function l(e,t,r){this.gl=e,this.fbo=t,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(t.bind(),e.readPixels(0,0,t.shape[0],t.shape[1],e.RGBA,e.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}var c=l.prototype;Object.defineProperty(c,"shape",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(e){if(this.gl){this.fbo.shape=e;var t=this.fbo.shape[0],r=this.fbo.shape[1];if(r*t*4>this.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*t*4)),a=0;ar)for(e=r;et)for(e=t;e=0){for(var T=0|w.type.charAt(w.type.length-1),k=new Array(T),A=0;A=0;)M+=1;b[v]=M}var S=new Array(r.length);function E(){f.program=o.program(p,f._vref,f._fref,_,b);for(var e=0;e=0){if((d=f.charCodeAt(f.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+h+": "+f);s(e,t,p[0],i,d,a,h)}else{if(!(f.indexOf("mat")>=0))throw new n("","Unknown data type for attribute "+h+": "+f);var d;if((d=f.charCodeAt(f.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+h+": "+f);l(e,t,p,i,d,a,h)}}}return a};var n=r(8866);function i(e,t,r,n,i,a){this._gl=e,this._wrapper=t,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;a.pointer=function(e,t,r,n){var i=this,a=i._gl,o=i._locations[i._index];a.vertexAttribPointer(o,i._dimension,e||a.FLOAT,!!t,r||0,n||0),a.enableVertexAttribArray(o)},a.set=function(e,t,r,n){return this._constFunc(this._locations[this._index],e,t,r,n)},Object.defineProperty(a,"location",{get:function(){return this._locations[this._index]},set:function(e){return e!==this._locations[this._index]&&(this._locations[this._index]=0|e,this._wrapper.program=null),0|e}});var o=[function(e,t,r){return void 0===r.length?e.vertexAttrib1f(t,r):e.vertexAttrib1fv(t,r)},function(e,t,r,n){return void 0===r.length?e.vertexAttrib2f(t,r,n):e.vertexAttrib2fv(t,r)},function(e,t,r,n,i){return void 0===r.length?e.vertexAttrib3f(t,r,n,i):e.vertexAttrib3fv(t,r)},function(e,t,r,n,i,a){return void 0===r.length?e.vertexAttrib4f(t,r,n,i,a):e.vertexAttrib4fv(t,r)}];function s(e,t,r,n,a,s,l){var c=o[a],u=new i(e,t,r,n,a,c);Object.defineProperty(s,l,{set:function(t){return e.disableVertexAttribArray(n[r]),c(e,n[r],t),t},get:function(){return u},enumerable:!0})}function l(e,t,r,n,i,a,o){for(var l=new Array(i),c=new Array(i),u=0;u4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+v);e["uniformMatrix"+y+"fv"](s[h],!1,f);break}throw new i("","Unknown uniform data type for "+name+": "+v)}if((y=v.charCodeAt(v.length-1)-48)<2||y>4)throw new i("","Invalid data type");switch(v.charAt(0)){case"b":case"i":e["uniform"+y+"iv"](s[h],f);break;case"v":e["uniform"+y+"fv"](s[h],f);break;default:throw new i("","Unrecognized data type for vector "+name+": "+v)}}}}}}function u(e,t){if("object"!=typeof t)return[[e,t]];var r=[];for(var n in t){var i=t[n],a=e;parseInt(n)+""===n?a+="["+n+"]":a+="."+n,"object"==typeof i?r.push.apply(r,u(a,i)):r.push([a,i])}return r}function h(e,t,n){if("object"==typeof n){var u=f(n);Object.defineProperty(e,t,{get:a(u),set:c(n),enumerable:!0,configurable:!1})}else s[n]?Object.defineProperty(e,t,{get:l(n),set:c(n),enumerable:!0,configurable:!1}):e[t]=function(e){switch(e){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":case"float":return 0;default:var t=e.indexOf("vec");if(0<=t&&t<=1&&e.length===4+t){if((r=e.charCodeAt(e.length-1)-48)<2||r>4)throw new i("","Invalid data type");return"b"===e.charAt(0)?o(r,!1):o(r,0)}if(0===e.indexOf("mat")&&4===e.length){var r;if((r=e.charCodeAt(e.length-1)-48)<2||r>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+e);return o(r*r,0)}throw new i("","Unknown uniform data type for "+name+": "+e)}}(r[n].type)}function f(e){var t;if(Array.isArray(e)){t=new Array(e.length);for(var r=0;r1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l1)for(var l=0;l"u"?r(606):WeakMap),o=0;function s(e,t,r,n,i,a,o){this.id=e,this.src=t,this.type=r,this.shader=n,this.count=a,this.programs=[],this.cache=o}function l(e){this.gl=e,this.shaders=[{},{}],this.programs={}}s.prototype.dispose=function(){if(0==--this.count){for(var e=this.cache,t=e.gl,r=this.programs,n=0,i=r.length;n 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"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n gl_Position = projection * (view * tubePosition);\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);t.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},t.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},7815:function(e,t,r){var n=r(2931),i=r(9970),a=["xyz","xzy","yxz","yzx","zxy","zyx"],o=function(e,t){var r,n=e.length;for(r=0;rt)return r-1}return r},s=function(e,t,r){return er?r:e},l=function(e){var t=1/0;e.sort((function(e,t){return e-t}));for(var r=e.length,n=1;nh-1||v>f-1||x>p-1)return n.create();var _,b,w,T,k,A,M=a[0][d],S=a[0][y],E=a[1][m],C=a[1][v],I=a[2][g],L=(l-M)/(S-M),P=(c-E)/(C-E),z=(u-I)/(a[2][x]-I);switch(isFinite(L)||(L=.5),isFinite(P)||(P=.5),isFinite(z)||(z=.5),r.reversedX&&(d=h-1-d,y=h-1-y),r.reversedY&&(m=f-1-m,v=f-1-v),r.reversedZ&&(g=p-1-g,x=p-1-x),r.filled){case 5:k=g,A=x,w=m*p,T=v*p,_=d*p*f,b=y*p*f;break;case 4:k=g,A=x,_=d*p,b=y*p,w=m*p*h,T=v*p*h;break;case 3:w=m,T=v,k=g*f,A=x*f,_=d*f*p,b=y*f*p;break;case 2:w=m,T=v,_=d*f,b=y*f,k=g*f*h,A=x*f*h;break;case 1:_=d,b=y,k=g*h,A=x*h,w=m*h*p,T=v*h*p;break;default:_=d,b=y,w=m*h,T=v*h,k=g*h*f,A=x*h*f}var D=i[_+w+k],O=i[_+w+A],R=i[_+T+k],F=i[_+T+A],B=i[b+w+k],j=i[b+w+A],N=i[b+T+k],U=i[b+T+A],V=n.create(),q=n.create(),H=n.create(),G=n.create();n.lerp(V,D,B,L),n.lerp(q,O,j,L),n.lerp(H,R,N,L),n.lerp(G,F,U,L);var W=n.create(),Z=n.create();n.lerp(W,V,H,P),n.lerp(Z,q,G,P);var Y=n.create();return n.lerp(Y,W,Z,z),Y}(t,e,p)},x=e.getDivergence||function(e,t){var r=n.create(),i=1e-4;n.add(r,e,[i,0,0]);var a=v(r);n.subtract(a,a,t),n.scale(a,a,1/i),n.add(r,e,[0,i,0]);var o=v(r);n.subtract(o,o,t),n.scale(o,o,1/i),n.add(r,e,[0,0,i]);var s=v(r);return n.subtract(s,s,t),n.scale(s,s,1/i),n.add(r,a,o),n.add(r,r,s),r},_=[],b=t[0][0],w=t[0][1],T=t[0][2],k=t[1][0],A=t[1][1],M=t[1][2],S=10*n.distance(t[0],t[1])/c,E=S*S,C=1,I=0,L=r.length;L>1&&(C=function(e){for(var t=[],r=[],n=[],i={},a={},o={},s=e.length,c=0;cI&&(I=N),B.push(N),_.push({points:D,velocities:O,divergences:B});for(var U=0;U<100*c&&D.lengthk||gA||yM));){U++;var V=n.clone(R),q=n.squaredLength(V);if(0===q)break;q>E&&n.scale(V,V,S/Math.sqrt(q)),n.add(V,V,z),R=v(V),n.squaredDistance(F,V)-E>-1e-4*E&&(D.push(V),F=V,O.push(R),j=x(V,R),N=n.length(j),isFinite(N)&&N>I&&(I=N),B.push(N)),z=V}}var H=function(e,t,r,a){for(var o=0,s=0;s0)for(T=0;T<8;T++){var k=(T+1)%8;c.push(f[T],p[T],p[k],p[k],f[k],f[T]),h.push(v,y,y,y,v,v),d.push(m,g,g,g,m,m);var A=c.length;u.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var M=f;f=p,p=M;var S=v;v=y,y=S;var E=m;m=g,g=E}return{positions:c,cells:u,vectors:h,vertexIntensity:d}}(e,r,a,o)})),h=[],f=[],p=[],d=[];for(s=0;s 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 — 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=i(["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"]),l=i(["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(e){var t=n(e,a,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return t.attributes.uv.location=0,t.attributes.f.location=1,t.attributes.normal.location=2,t},t.createPickShader=function(e){var t=n(e,a,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return t.attributes.uv.location=0,t.attributes.f.location=1,t.attributes.normal.location=2,t},t.createContourShader=function(e){var t=n(e,s,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return t.attributes.uv.location=0,t.attributes.f.location=1,t},t.createPickContourShader=function(e){var t=n(e,s,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return t.attributes.uv.location=0,t.attributes.f.location=1,t}},9499:function(e,t,r){e.exports=function(e){var t=e.gl,r=v(t),n=_(t),s=x(t),l=b(t),c=i(t),u=a(t,[{buffer:c,size:4,stride:w,offset:0},{buffer:c,size:3,stride:w,offset:16},{buffer:c,size:3,stride:w,offset:28}]),h=i(t),f=a(t,[{buffer:h,size:4,stride:20,offset:0},{buffer:h,size:1,stride:20,offset:16}]),p=i(t),d=a(t,[{buffer:p,size:2,type:t.FLOAT}]),m=o(t,1,S,t.RGBA,t.UNSIGNED_BYTE);m.minFilter=t.LINEAR,m.magFilter=t.LINEAR;var g=new E(t,[0,0],[[0,0,0],[0,0,0]],r,n,c,u,m,s,l,h,f,p,d,[0,0,0]),y={levels:[[],[],[]]};for(var T in e)y[T]=e[T];return y.colormap=y.colormap||"jet",g.update(y),g};var n=r(8828),i=r(2762),a=r(8116),o=r(7766),s=r(1888),l=r(6729),c=r(5298),u=r(9994),h=r(9618),f=r(3711),p=r(6760),d=r(7608),m=r(2478),g=r(6199),y=r(990),v=y.createShader,x=y.createContourShader,_=y.createPickShader,b=y.createPickContourShader,w=40,T=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],k=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],A=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function M(e,t,r,n,i){this.position=e,this.index=t,this.uv=r,this.level=n,this.dataCoordinate=i}!function(){for(var e=0;e<3;++e){var t=A[e],r=(e+2)%3;t[(e+1)%3+0]=1,t[r+3]=1,t[e+6]=1}}();var S=256;function E(e,t,r,n,i,a,o,l,c,u,f,p,d,m,g){this.gl=e,this.shape=t,this.bounds=r,this.objectOffset=g,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=c,this._contourPickShader=u,this._contourBuffer=f,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new M([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=m,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[h(s.mallocFloat(1024),[0,0]),h(s.mallocFloat(1024),[0,0]),h(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var C=E.prototype;C.genColormap=function(e,t){var r=!1,n=u([l({colormap:e,nshades:S,format:"rgba"}).map((function(e,n){var i=t?function(e,t){if(!t||!t.length)return 1;for(var r=0;re&&r>0){var n=(t[r][0]-e)/(t[r][0]-t[r-1][0]);return t[r][1]*(1-n)+n*t[r-1][1]}}return 1}(n/255,t):e[3];return i<1&&(r=!0),[e[0],e[1],e[2],255*i]}))]);return c.divseq(n,255),this.hasAlphaScale=r,n},C.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},C.isOpaque=function(){return!this.isTransparent()},C.pickSlots=1,C.setPickBase=function(e){this.pickId=e};var I=[0,0,0],L={showSurface:!1,showContour:!1,projections:[T.slice(),T.slice(),T.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function P(e,t){var r,n,i,a=t.axes&&t.axes.lastCubeProps.axis||I,o=t.showSurface,s=t.showContour;for(r=0;r<3;++r)for(o=o||t.surfaceProject[r],n=0;n<3;++n)s=s||t.contourProject[r][n];for(r=0;r<3;++r){var l=L.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=t.axesBounds[+(a[r]>0)][r],p(l,e.model,l);var c=L.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)c[i][n]=e.clipBounds[i][n];c[0][r]=-1e8,c[1][r]=1e8}return L.showSurface=o,L.showContour=s,L}var z={model:T,view:T,projection:T,inverseModel:T.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},D=T.slice(),O=[1,0,0,0,1,0,0,0,1];function R(e,t){e=e||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=z;n.model=e.model||T,n.view=e.view||T,n.projection=e.projection||T,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=O,n.vertexColor=this.vertexColor;var s=D;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var c=s[12+i];for(o=0;o<3;++o)c+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=c/l}var u=P(n,this);if(u.showSurface){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)!this.surfaceProject[i]||!this.vertexCount||(this._shader.uniforms.model=u.projections[i],this._shader.uniforms.clipBounds=u.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(u.showContour){var h=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,h.bind(),h.uniforms=n;var f=this._contourVAO;for(f.bind(),i=0;i<3;++i)for(h.uniforms.permutation=A[i],r.lineWidth(this.contourWidth[i]*this.pixelRatio),o=0;o>4)/16)/255,i=Math.floor(n),a=n-i,o=t[1]*(e.value[1]+(15&e.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var c=r.position;c[0]=c[1]=c[2]=0;for(var u=0;u<2;++u)for(var h=u?a:1-a,f=0;f<2;++f)for(var p=i+u,d=s+f,g=h*(f?l:1-l),y=0;y<3;++y)c[y]+=this._field[y].get(p,d)*g;for(var v=this._pickResult.level,x=0;x<3;++x)if(v[x]=m.le(this.contourLevels[x],c[x]),v[x]<0)this.contourLevels[x].length>0&&(v[x]=0);else if(v[x]Math.abs(b-c[x])&&(v[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/t[0],r.uv[1]=o/t[1],y=0;y<3;++y)r.dataCoordinate[y]=this._field[y].get(r.index[0],r.index[1]);return r},C.padField=function(e,t){var r=t.shape.slice(),n=e.shape.slice();c.assign(e.lo(1,1).hi(r[0],r[1]),t),c.assign(e.lo(1).hi(r[0],1),t.hi(r[0],1)),c.assign(e.lo(1,n[1]-1).hi(r[0],1),t.lo(0,r[1]-1).hi(r[0],1)),c.assign(e.lo(0,1).hi(1,r[1]),t.hi(1)),c.assign(e.lo(n[0]-1,1).hi(1,r[1]),t.lo(r[0]-1)),e.set(0,0,t.get(0,0)),e.set(0,n[1]-1,t.get(0,r[1]-1)),e.set(n[0]-1,0,t.get(r[0]-1,0)),e.set(n[0]-1,n[1]-1,t.get(r[0]-1,r[1]-1))},C.update=function(e){e=e||{},this.objectOffset=e.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in e&&(this.contourWidth=B(e.contourWidth,Number)),"showContour"in e&&(this.showContour=B(e.showContour,Boolean)),"showSurface"in e&&(this.showSurface=!!e.showSurface),"contourTint"in e&&(this.contourTint=B(e.contourTint,Boolean)),"contourColor"in e&&(this.contourColor=N(e.contourColor)),"contourProject"in e&&(this.contourProject=B(e.contourProject,(function(e){return B(e,Boolean)}))),"surfaceProject"in e&&(this.surfaceProject=e.surfaceProject),"dynamicColor"in e&&(this.dynamicColor=N(e.dynamicColor)),"dynamicTint"in e&&(this.dynamicTint=B(e.dynamicTint,Number)),"dynamicWidth"in e&&(this.dynamicWidth=B(e.dynamicWidth,Number)),"opacity"in e&&(this.opacity=e.opacity),"opacityscale"in e&&(this.opacityscale=e.opacityscale),"colorBounds"in e&&(this.colorBounds=e.colorBounds),"vertexColor"in e&&(this.vertexColor=e.vertexColor?1:0),"colormap"in e&&this._colorMap.setPixels(this.genColormap(e.colormap,this.opacityscale));var t=e.field||e.coords&&e.coords[2]||null,r=!1;if(t||(t=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),"field"in e||"coords"in e){var i=(t.shape[0]+2)*(t.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=h(this._field[2].data,[t.shape[0]+2,t.shape[1]+2]),this.padField(this._field[2],t),this.shape=t.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=h(this._field[o].data,[a[0]+2,a[1]+2]);if(e.coords){var l=e.coords;if(!Array.isArray(l)||3!==l.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var c=l[o];for(y=0;y<2;++y)if(c.shape[y]!==a[y])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[o],c)}}else if(e.ticks){var u=e.ticks;if(!Array.isArray(u)||2!==u.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var p=u[o];if((Array.isArray(p)||p.length)&&(p=h(p)),p.shape[0]!==a[o])throw new Error("gl-surface: invalid tick length");var d=h(p.data,a);d.stride[o]=p.stride[0],d.stride[1^o]=0,this.padField(this._field[o],d)}}else{for(o=0;o<2;++o){var m=[0,0];m[o]=1,this._field[o]=h(this._field[o].data,[a[0]+2,a[1]+2],m,0)}this._field[0].set(0,0,0);for(var y=0;y0){for(var xe=0;xe<5;++xe)J.pop();U-=1}continue e}J.push(ne[0],ne[1],oe[0],oe[1],ne[2]),U+=1}}re.push(U)}this._contourOffsets[Q]=te,this._contourCounts[Q]=re}var _e=s.mallocFloat(J.length);for(o=0;os||o[1]<0||o[1]>s)throw new Error("gl-texture2d: Invalid texture size");var l=d(o,t.stride.slice()),c=0;"float32"===r?c=e.FLOAT:"float64"===r?(c=e.FLOAT,l=!1,r="float32"):"uint8"===r?c=e.UNSIGNED_BYTE:(c=e.UNSIGNED_BYTE,l=!1,r="uint8");var h=0;if(2===o.length)h=e.LUMINANCE,o=[o[0],o[1],1],t=n(t.data,o,[t.stride[0],t.stride[1],1],t.offset);else{if(3!==o.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===o[2])h=e.ALPHA;else if(2===o[2])h=e.LUMINANCE_ALPHA;else if(3===o[2])h=e.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");h=e.RGBA}}c===e.FLOAT&&!e.getExtension("OES_texture_float")&&(c=e.UNSIGNED_BYTE,l=!1);var p,g,y=t.size;if(l)p=0===t.offset&&t.data.length===y?t.data:t.data.subarray(t.offset,t.offset+y);else{var v=[o[2],o[2]*o[0],1];g=a.malloc(y,r);var x=n(g,o,v,0);"float32"!==r&&"float64"!==r||c!==e.UNSIGNED_BYTE?i.assign(x,t):u(x,t),p=g.subarray(0,y)}var _=m(e);return e.texImage2D(e.TEXTURE_2D,0,h,o[0],o[1],0,h,c,p),l||a.free(g),new f(e,_,o[0],o[1],h,c)}(e,t)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")};var o=null,s=null,l=null;function c(e){return typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLVideoElement<"u"&&e instanceof HTMLVideoElement||typeof ImageData<"u"&&e instanceof ImageData}var u=function(e,t){i.muls(e,t,255)};function h(e,t,r){var n=e.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(t<0||t>i||r<0||r>i)throw new Error("gl-texture2d: Invalid texture size");return e._shape=[t,r],e.bind(),n.texImage2D(n.TEXTURE_2D,0,e.format,t,r,0,e.format,e.type,null),e._mipLevels=[0],e}function f(e,t,r,n,i,a){this.gl=e,this.handle=t,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=e.NEAREST,this._minFilter=e.NEAREST,this._wrapS=e.CLAMP_TO_EDGE,this._wrapT=e.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(e){return o.wrapS=e}},{get:function(){return o._wrapT},set:function(e){return o.wrapT=e}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(e){return o.width=e}},{get:function(){return o._shape[1]},set:function(e){return o.height=e}}]),this._shapeVector=l}var p=f.prototype;function d(e,t){return 3===e.length?1===t[2]&&t[1]===e[0]*e[2]&&t[0]===e[2]:1===t[0]&&t[1]===e[0]}function m(e){var t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),t}function g(e,t,r,n,i){var a=e.getParameter(e.MAX_TEXTURE_SIZE);if(t<0||t>a||r<0||r>a)throw new Error("gl-texture2d: Invalid texture shape");if(i===e.FLOAT&&!e.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var o=m(e);return e.texImage2D(e.TEXTURE_2D,0,n,t,r,0,n,i,null),new f(e,o,t,r,n,i)}Object.defineProperties(p,{minFilter:{get:function(){return this._minFilter},set:function(e){this.bind();var t=this.gl;if(this.type===t.FLOAT&&o.indexOf(e)>=0&&(t.getExtension("OES_texture_float_linear")||(e=t.NEAREST)),s.indexOf(e)<0)throw new Error("gl-texture2d: Unknown filter mode "+e);return t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,e),this._minFilter=e}},magFilter:{get:function(){return this._magFilter},set:function(e){this.bind();var t=this.gl;if(this.type===t.FLOAT&&o.indexOf(e)>=0&&(t.getExtension("OES_texture_float_linear")||(e=t.NEAREST)),s.indexOf(e)<0)throw new Error("gl-texture2d: Unknown filter mode "+e);return t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,e),this._magFilter=e}},mipSamples:{get:function(){return this._anisoSamples},set:function(e){var t=this._anisoSamples;if(this._anisoSamples=0|Math.max(e,1),t!==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(e){if(this.bind(),l.indexOf(e)<0)throw new Error("gl-texture2d: Unknown wrap mode "+e);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,e),this._wrapS=e}},wrapT:{get:function(){return this._wrapT},set:function(e){if(this.bind(),l.indexOf(e)<0)throw new Error("gl-texture2d: Unknown wrap mode "+e);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,e),this._wrapT=e}},wrap:{get:function(){return this._wrapVector},set:function(e){if(Array.isArray(e)||(e=[e,e]),2!==e.length)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var t=0;t<2;++t)if(l.indexOf(e[t])<0)throw new Error("gl-texture2d: Unknown wrap mode "+e);this._wrapS=e[0],this._wrapT=e[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),e}},shape:{get:function(){return this._shapeVector},set:function(e){if(Array.isArray(e)){if(2!==e.length)throw new Error("gl-texture2d: Invalid texture shape")}else e=[0|e,0|e];return h(this,0|e[0],0|e[1]),[0|e[0],0|e[1]]}},width:{get:function(){return this._shape[0]},set:function(e){return h(this,e|=0,this._shape[1]),e}},height:{get:function(){return this._shape[1]},set:function(e){return e|=0,h(this,this._shape[0],e),e}}}),p.bind=function(e){var t=this.gl;return void 0!==e&&t.activeTexture(t.TEXTURE0+(0|e)),t.bindTexture(t.TEXTURE_2D,this.handle),void 0!==e?0|e:t.getParameter(t.ACTIVE_TEXTURE)-t.TEXTURE0},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var e=Math.min(this._shape[0],this._shape[1]),t=0;e>0;++t,e>>>=1)this._mipLevels.indexOf(t)<0&&this._mipLevels.push(t)},p.setPixels=function(e,t,r,o){var s=this.gl;this.bind(),Array.isArray(t)?(o=r,r=0|t[1],t=0|t[0]):(t=t||0,r=r||0),o=o||0;var l=c(e)?e:e.raw;if(l)this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,t,r,this.format,this.type,l);else{if(!(e.shape&&e.stride&&e.data))throw new Error("gl-texture2d: Unsupported data type");if(e.shape.length<2||t+e.shape[1]>this._shape[1]>>>o||r+e.shape[0]>this._shape[0]>>>o||t<0||r<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");!function(e,t,r,o,s,l,c,h){var f=h.dtype,p=h.shape.slice();if(p.length<2||p.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var m=0,g=0,y=d(p,h.stride.slice());if("float32"===f?m=e.FLOAT:"float64"===f?(m=e.FLOAT,y=!1,f="float32"):"uint8"===f?m=e.UNSIGNED_BYTE:(m=e.UNSIGNED_BYTE,y=!1,f="uint8"),2===p.length)g=e.LUMINANCE,p=[p[0],p[1],1],h=n(h.data,p,[h.stride[0],h.stride[1],1],h.offset);else{if(3!==p.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===p[2])g=e.ALPHA;else if(2===p[2])g=e.LUMINANCE_ALPHA;else if(3===p[2])g=e.RGB;else{if(4!==p[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");g=e.RGBA}p[2]}if((g===e.LUMINANCE||g===e.ALPHA)&&(s===e.LUMINANCE||s===e.ALPHA)&&(g=s),g!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var v=h.size,x=c.indexOf(o)<0;if(x&&c.push(o),m===l&&y)0===h.offset&&h.data.length===v?x?e.texImage2D(e.TEXTURE_2D,o,s,p[0],p[1],0,s,l,h.data):e.texSubImage2D(e.TEXTURE_2D,o,t,r,p[0],p[1],s,l,h.data):x?e.texImage2D(e.TEXTURE_2D,o,s,p[0],p[1],0,s,l,h.data.subarray(h.offset,h.offset+v)):e.texSubImage2D(e.TEXTURE_2D,o,t,r,p[0],p[1],s,l,h.data.subarray(h.offset,h.offset+v));else{var _;_=l===e.FLOAT?a.mallocFloat32(v):a.mallocUint8(v);var b=n(_,p,[p[2],p[2]*p[0],1]);m===e.FLOAT&&l===e.UNSIGNED_BYTE?u(b,h):i.assign(b,h),x?e.texImage2D(e.TEXTURE_2D,o,s,p[0],p[1],0,s,l,_.subarray(0,v)):e.texSubImage2D(e.TEXTURE_2D,o,t,r,p[0],p[1],s,l,_.subarray(0,v)),l===e.FLOAT?a.freeFloat32(_):a.freeUint8(_)}}(s,t,r,o,this.format,this.type,this._mipLevels,e)}}},1433:function(e){e.exports=function(e,t,r){t?t.bind():e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,null);var n=0|e.getParameter(e.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error("gl-vao: Too many vertex attributes");for(var i=0;i1?0:Math.acos(s)};var n=r(2825),i=r(3536),a=r(244)},9226:function(e){e.exports=function(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}},3126:function(e){e.exports=function(e){var t=new Float32Array(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},3990:function(e){e.exports=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},1091:function(e){e.exports=function(){var e=new Float32Array(3);return e[0]=0,e[1]=0,e[2]=0,e}},5911:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],l=r[2];return e[0]=i*l-a*s,e[1]=a*o-n*l,e[2]=n*s-i*o,e}},5455:function(e,t,r){e.exports=r(7056)},7056:function(e){e.exports=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(r*r+n*n+i*i)}},4008:function(e,t,r){e.exports=r(6690)},6690:function(e){e.exports=function(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}},244:function(e){e.exports=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}},2613:function(e){e.exports=1e-6},9922:function(e,t,r){e.exports=function(e,t){var r=e[0],i=e[1],a=e[2],o=t[0],s=t[1],l=t[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n*Math.max(1,Math.abs(a),Math.abs(l))};var n=r(2613)},9265:function(e){e.exports=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}},2681:function(e){e.exports=function(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}},5137:function(e,t,r){e.exports=function(e,t,r,i,a,o){var s,l;for(t||(t=3),r||(r=0),l=i?Math.min(i*t+r,e.length):e.length,s=r;s0&&(a=1/Math.sqrt(a),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a),e}},7636:function(e){e.exports=function(e,t){t=t||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,i=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*i,e[1]=Math.sin(r)*i,e[2]=n*t,e}},6894:function(e){e.exports=function(e,t,r,n){var i=r[1],a=r[2],o=t[1]-i,s=t[2]-a,l=Math.sin(n),c=Math.cos(n);return e[0]=t[0],e[1]=i+o*c-s*l,e[2]=a+o*l+s*c,e}},109:function(e){e.exports=function(e,t,r,n){var i=r[0],a=r[2],o=t[0]-i,s=t[2]-a,l=Math.sin(n),c=Math.cos(n);return e[0]=i+s*l+o*c,e[1]=t[1],e[2]=a+s*c-o*l,e}},8692:function(e){e.exports=function(e,t,r,n){var i=r[0],a=r[1],o=t[0]-i,s=t[1]-a,l=Math.sin(n),c=Math.cos(n);return e[0]=i+o*c-s*l,e[1]=a+o*l+s*c,e[2]=t[2],e}},2447:function(e){e.exports=function(e,t){return e[0]=Math.round(t[0]),e[1]=Math.round(t[1]),e[2]=Math.round(t[2]),e}},6621:function(e){e.exports=function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}},8489:function(e){e.exports=function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e}},1463:function(e){e.exports=function(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}},6141:function(e,t,r){e.exports=r(2953)},5486:function(e,t,r){e.exports=r(3066)},2953:function(e){e.exports=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i}},3066:function(e){e.exports=function(e){var t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}},2229:function(e,t,r){e.exports=r(6843)},6843:function(e){e.exports=function(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}},492:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2];return e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8],e}},5673:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,e[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,e[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,e}},264:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,h=c*i+l*n-o*a,f=c*a+o*i-s*n,p=-o*n-s*i-l*a;return e[0]=u*c+p*-o+h*-l-f*-s,e[1]=h*c+p*-s+f*-o-u*-l,e[2]=f*c+p*-l+u*-s-h*-o,e}},4361:function(e){e.exports=function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e}},2335:function(e){e.exports=function(e){var t=new Float32Array(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},2933:function(e){e.exports=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},7536:function(e){e.exports=function(){var e=new Float32Array(4);return e[0]=0,e[1]=0,e[2]=0,e[3]=0,e}},4691:function(e){e.exports=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2],a=t[3]-e[3];return Math.sqrt(r*r+n*n+i*i+a*a)}},1373:function(e){e.exports=function(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e[3]=t[3]/r[3],e}},3750:function(e){e.exports=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}},3390:function(e){e.exports=function(e,t,r,n){var i=new Float32Array(4);return i[0]=e,i[1]=t,i[2]=r,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=function(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e[3]=1/t[3],e}},6808:function(e){e.exports=function(e){var t=e[0],r=e[1],n=e[2],i=e[3];return Math.sqrt(t*t+r*r+n*n+i*i)}},2573:function(e){e.exports=function(e,t,r,n){var i=t[0],a=t[1],o=t[2],s=t[3];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e[3]=s+n*(r[3]-s),e}},160:function(e){e.exports=function(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e[3]=Math.max(t[3],r[3]),e}},2334:function(e){e.exports=function(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e[3]=Math.min(t[3],r[3]),e}},3576:function(e){e.exports=function(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e[3]=t[3]*r[3],e}},1498:function(e){e.exports=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=-t[3],e}},5177:function(e){e.exports=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o),e[0]=r*o,e[1]=n*o,e[2]=i*o,e[3]=a*o),e}},9131:function(e,t,r){var n=r(5177),i=r(9288);e.exports=function(e,t){return t=t||1,e[0]=Math.random(),e[1]=Math.random(),e[2]=Math.random(),e[3]=Math.random(),n(e,e),i(e,e,t),e}},9288:function(e){e.exports=function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e}},4844:function(e){e.exports=function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e}},4578:function(e){e.exports=function(e,t,r,n,i){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e}},7960:function(e){e.exports=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2],a=t[3]-e[3];return r*r+n*n+i*i+a*a}},483:function(e){e.exports=function(e){var t=e[0],r=e[1],n=e[2],i=e[3];return t*t+r*r+n*n+i*i}},6860:function(e){e.exports=function(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e}},5352:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,e}},4041:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,h=c*i+l*n-o*a,f=c*a+o*i-s*n,p=-o*n-s*i-l*a;return e[0]=u*c+p*-o+h*-l-f*-s,e[1]=h*c+p*-s+f*-o-u*-l,e[2]=f*c+p*-l+u*-s-h*-o,e[3]=t[3],e}},1848:function(e,t,r){var n=r(4905),i=r(6468);e.exports=function(e){for(var t=Array.isArray(e)?e:n(e),r=0;r0)continue;r=e.slice(0,1).join("")}return j(r),L+=r.length,(S=S.slice(r.length)).length}}function q(){if(/[^\d\w_]/.test(t)){var e=S.join("");return M=B[e]?v:F[e]?y:g,j(S.join("")),M=l,k}return S.push(t),r=t,k+1}};var n=r(620),i=r(7827),a=r(6852),o=r(7932),s=r(3508),l=999,c=9999,u=0,h=1,f=2,p=3,d=4,m=5,g=6,y=7,v=8,x=9,_=10,b=11,w=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},3508:function(e,t,r){var n=r(6852);n=n.slice().filter((function(e){return!/^(gl\_|texture)/.test(e)})),e.exports=n.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},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 n=r(620);e.exports=n.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 n=r(5874);e.exports=function(e,t){var r=n(t),i=[];return(i=i.concat(r(e))).concat(r(null))}},3236:function(e){e.exports=function(e){"string"==typeof e&&(e=[e]);for(var t=[].slice.call(arguments,1),r=[],n=0;n>1,u=-7,h=r?i-1:0,f=r?-1:1,p=e[t+h];for(h+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+e[t+h],h+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+e[t+h],h+=f,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},t.write=function(e,t,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(t*l-1)*Math.pow(2,i),o+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;e[r+p]=255&o,p+=d,o/=256,c-=8);e[r+p-d]|=128*m}},8954:function(e,t,r){e.exports=function(e,t){var r=e.length;if(0===r)throw new Error("Must have at least d+1 points");var i=e[0].length;if(r<=i)throw new Error("Must input at least d+1 points");var o=e.slice(0,i+1),s=n.apply(void 0,o);if(0===s)throw new Error("Input not in general position");for(var l=new Array(i+1),u=0;u<=i;++u)l[u]=u;s<0&&(l[0]=1,l[1]=0);var h=new a(l,new Array(i+1),!1),f=h.adjacent,p=new Array(i+2);for(u=0;u<=i;++u){for(var d=l.slice(),m=0;m<=i;++m)m===u&&(d[m]=-1);var g=d[0];d[0]=d[1],d[1]=g;var y=new a(d,new Array(i+1),!0);f[u]=y,p[u]=y}for(p[i+1]=h,u=0;u<=i;++u){d=f[u].vertices;var v=f[u].adjacent;for(m=0;m<=i;++m){var x=d[m];if(x<0)v[m]=h;else for(var _=0;_<=i;++_)f[_].vertices.indexOf(x)<0&&(v[m]=f[_])}}var b=new c(i,o,p),w=!!t;for(u=i+1;u0;)for(var s=(e=o.pop()).adjacent,l=0;l<=r;++l){var c=s[l];if(c.boundary&&!(c.lastVisited<=-n)){for(var u=c.vertices,h=0;h<=r;++h){var f=u[h];i[h]=f<0?t:a[f]}var p=this.orient();if(p>0)return c;c.lastVisited=-n,0===p&&o.push(c)}}return null},u.walk=function(e,t){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=t?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];e:for(;!s.boundary;){for(var l=s.vertices,c=s.adjacent,u=0;u<=n;++u)a[u]=i[l[u]];for(s.lastVisited=r,u=0;u<=n;++u){var h=c[u];if(!(h.lastVisited>=r)){var f=a[u];a[u]=e;var p=this.orient();if(a[u]=f,p<0){s=h;continue e}h.boundary?h.lastVisited=-r:h.lastVisited=r}}return}return s},u.addPeaks=function(e,t){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,c=this.interior,u=this.simplices,h=[t];t.lastVisited=r,t.vertices[t.vertices.indexOf(-1)]=r,t.boundary=!1,c.push(t);for(var f=[];h.length>0;){var p=(t=h.pop()).vertices,d=t.adjacent,m=p.indexOf(r);if(!(m<0))for(var g=0;g<=n;++g)if(g!==m){var y=d[g];if(y.boundary&&!(y.lastVisited>=r)){var v=y.vertices;if(y.lastVisited!==-r){for(var x=0,_=0;_<=n;++_)v[_]<0?(x=_,l[_]=e):l[_]=i[v[_]];if(this.orient()>0){v[x]=r,y.boundary=!1,c.push(y),h.push(y),y.lastVisited=r;continue}y.lastVisited=-r}var b=y.adjacent,w=p.slice(),T=d.slice(),k=new a(w,T,!0);u.push(k);var A=b.indexOf(t);if(!(A<0))for(b[A]=k,T[m]=y,w[g]=-1,T[g]=t,d[g]=k,k.flip(),_=0;_<=n;++_){var M=w[_];if(!(M<0||M===r)){for(var S=new Array(n-1),E=0,C=0;C<=n;++C){var I=w[C];I<0||C===_||(S[E++]=I)}f.push(new o(S,k,_))}}}}}for(f.sort(s),g=0;g+1=0?o[l++]=s[u]:c=1&u;if(c===(1&e)){var h=o[0];o[0]=o[1],o[1]=h}t.push(o)}}return t}},3352:function(e,t,r){var n=r(2478);function i(e,t,r,n,i){this.mid=e,this.left=t,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(t?t.count:0)+(r?r.count:0)+n.length}e.exports=function(e){return e&&0!==e.length?new y(g(e)):new y(null)};var a=i.prototype;function o(e,t){e.mid=t.mid,e.left=t.left,e.right=t.right,e.leftPoints=t.leftPoints,e.rightPoints=t.rightPoints,e.count=t.count}function s(e,t){var r=g(t);e.mid=r.mid,e.left=r.left,e.right=r.right,e.leftPoints=r.leftPoints,e.rightPoints=r.rightPoints,e.count=r.count}function l(e,t){var r=e.intervals([]);r.push(t),s(e,r)}function c(e,t){var r=e.intervals([]),n=r.indexOf(t);return n<0?0:(r.splice(n,1),s(e,r),1)}function u(e,t,r){for(var n=0;n=0&&e[n][1]>=t;--n){var i=r(e[n]);if(i)return i}}function f(e,t){for(var r=0;r>1],a=[],o=[],s=[];for(r=0;r3*(t+1)?l(this,e):this.left.insert(e):this.left=g([e]);else if(e[0]>this.mid)this.right?4*(this.right.count+1)>3*(t+1)?l(this,e):this.right.insert(e):this.right=g([e]);else{var r=n.ge(this.leftPoints,e,d),i=n.ge(this.rightPoints,e,m);this.leftPoints.splice(r,0,e),this.rightPoints.splice(i,0,e)}},a.remove=function(e){var t=this.count-this.leftPoints;if(e[1]3*(t-1)?c(this,e):2===(s=this.left.remove(e))?(this.left=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(e[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(t-1)?c(this,e):2===(s=this.right.remove(e))?(this.right=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(1===this.count)return this.leftPoints[0]===e?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===e){if(this.left&&this.right){for(var r=this,i=this.left;i.right;)r=i,i=i.right;if(r===this)i.right=this.right;else{var a=this.left,s=this.right;r.count-=i.count,r.right=i.left,i.left=a,i.right=s}o(this,i),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return 1}for(a=n.ge(this.leftPoints,e,d);athis.mid?this.right&&(r=this.right.queryPoint(e,t))?r:h(this.rightPoints,e,t):f(this.leftPoints,t);var r},a.queryInterval=function(e,t,r){var n;return ethis.mid&&this.right&&(n=this.right.queryInterval(e,t,r))?n:tthis.mid?h(this.rightPoints,e,r):f(this.leftPoints,r)};var v=y.prototype;v.insert=function(e){this.root?this.root.insert(e):this.root=new i(e[0],null,null,[e],[e])},v.remove=function(e){if(this.root){var t=this.root.remove(e);return 2===t&&(this.root=null),0!==t}return!1},v.queryPoint=function(e,t){if(this.root)return this.root.queryPoint(e,t)},v.queryInterval=function(e,t,r){if(e<=t&&this.root)return this.root.queryInterval(e,t,r)},Object.defineProperty(v,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(v,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},9507:function(e){e.exports=!0},7163:function(e){function t(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}e.exports=function(e){return null!=e&&(t(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&t(e.slice(0,0))}(e)||!!e._isBuffer)}},5219:function(e){e.exports=function(e){for(var t,r=e.length,n=0;n13)&&32!==t&&133!==t&&160!==t&&5760!==t&&6158!==t&&(t<8192||t>8205)&&8232!==t&&8233!==t&&8239!==t&&8287!==t&&8288!==t&&12288!==t&&65279!==t)return!1;return!0}},395:function(e){e.exports=function(e,t,r){return e*(1-r)+t*r}},2652:function(e,t,r){var n=r(4335),i=r(6864),a=r(1903),o=r(9921),s=r(7608),l=r(5665),c={length:r(1387),normalize:r(3536),dot:r(244),cross:r(5911)},u=i(),h=i(),f=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function m(e,t,r,n,i){e[0]=t[0]*n+r[0]*i,e[1]=t[1]*n+r[1]*i,e[2]=t[2]*n+r[2]*i}e.exports=function(e,t,r,i,g,y){if(t||(t=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),g||(g=[0,0,0,1]),y||(y=[0,0,0,1]),!n(u,e)||(a(h,u),h[3]=0,h[7]=0,h[11]=0,h[15]=1,Math.abs(o(h)<1e-8)))return!1;var v=u[3],x=u[7],_=u[11],b=u[12],w=u[13],T=u[14],k=u[15];if(0!==v||0!==x||0!==_){if(f[0]=v,f[1]=x,f[2]=_,f[3]=k,!s(h,h))return!1;l(h,h),function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3];e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o}(g,f,h)}else g[0]=g[1]=g[2]=0,g[3]=1;if(t[0]=b,t[1]=w,t[2]=T,function(e,t){e[0][0]=t[0],e[0][1]=t[1],e[0][2]=t[2],e[1][0]=t[4],e[1][1]=t[5],e[1][2]=t[6],e[2][0]=t[8],e[2][1]=t[9],e[2][2]=t[10]}(p,u),r[0]=c.length(p[0]),c.normalize(p[0],p[0]),i[0]=c.dot(p[0],p[1]),m(p[1],p[1],p[0],1,-i[0]),r[1]=c.length(p[1]),c.normalize(p[1],p[1]),i[0]/=r[1],i[1]=c.dot(p[0],p[2]),m(p[2],p[2],p[0],1,-i[1]),i[2]=c.dot(p[1],p[2]),m(p[2],p[2],p[1],1,-i[2]),r[2]=c.length(p[2]),c.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],c.cross(d,p[1],p[2]),c.dot(p[0],d)<0)for(var A=0;A<3;A++)r[A]*=-1,p[A][0]*=-1,p[A][1]*=-1,p[A][2]*=-1;return y[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),y[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),y[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),y[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(y[0]=-y[0]),p[0][2]>p[2][0]&&(y[1]=-y[1]),p[1][0]>p[0][1]&&(y[2]=-y[2]),!0}},4335:function(e){e.exports=function(e,t){var r=t[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)e[i]=t[i]*n;return!0}},7442:function(e,t,r){var n=r(6658),i=r(7182),a=r(2652),o=r(9921),s=r(8648),l=h(),c=h(),u=h();function h(){return{translate:f(),scale:f(1),skew:f(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function f(e){return[e||0,e||0,e||0]}e.exports=function(e,t,r,h){if(0===o(t)||0===o(r))return!1;var f=a(t,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!(!f||!p||(n(u.translate,l.translate,c.translate,h),n(u.skew,l.skew,c.skew,h),n(u.scale,l.scale,c.scale,h),n(u.perspective,l.perspective,c.perspective,h),s(u.quaternion,l.quaternion,c.quaternion,h),i(e,u.translate,u.scale,u.skew,u.perspective,u.quaternion),0))}},7182:function(e,t,r){var n={identity:r(7894),translate:r(7656),multiply:r(6760),create:r(6864),scale:r(2504),fromRotationTranslation:r(6743)},i=(n.create(),n.create());e.exports=function(e,t,r,a,o,s){return n.identity(e),n.fromRotationTranslation(e,s,t),e[3]=o[0],e[7]=o[1],e[11]=o[2],e[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(e,e,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(e,e,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(e,e,i)),n.scale(e,e,r),e}},1811:function(e,t,r){var n=r(2478),i=r(7442),a=r(7608),o=r(5567),s=r(2408),l=r(7089),c=r(6582),u=r(7656),h=(r(2504),r(3536)),f=[0,0,0];function p(e){this._components=e.slice(),this._time=[0],this.prevMatrix=e.slice(),this.nextMatrix=e.slice(),this.computedMatrix=e.slice(),this.computedInverse=e.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}e.exports=function(e){return new p((e=e||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(e){var t=this._time,r=n.le(t,e),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===t.length-1)for(var l=16*r,c=0;c<16;++c)o[c]=s[l++];else{var u=t[r+1]-t[r],f=(l=16*r,this.prevMatrix),p=!0;for(c=0;c<16;++c)f[c]=s[l++];var d=this.nextMatrix;for(c=0;c<16;++c)d[c]=s[l++],p=p&&f[c]===d[c];if(u<1e-6||p)for(c=0;c<16;++c)o[c]=f[c];else i(o,f,d,(e-t[r])/u)}var m=this.computedUp;m[0]=o[1],m[1]=o[5],m[2]=o[9],h(m,m);var g=this.computedInverse;a(g,o);var y=this.computedEye,v=g[15];y[0]=g[12]/v,y[1]=g[13]/v,y[2]=g[14]/v;var x=this.computedCenter,_=Math.exp(this.computedRadius[0]);for(c=0;c<3;++c)x[c]=y[c]-o[2+4*c]*_}},d.idle=function(e){if(!(e1&&n(e[o[u-2]],e[o[u-1]],c)<=0;)u-=1,o.pop();for(o.push(l),u=s.length;u>1&&n(e[s[u-2]],e[s[u-1]],c)>=0;)u-=1,s.pop();s.push(l)}r=new Array(s.length+o.length-2);for(var h=0,f=(i=0,o.length);i0;--p)r[h++]=s[p];return r};var n=r(3250)[3]},351:function(e,t,r){e.exports=function(e,t){t||(t=e,e=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(e){var t=!1;return"altKey"in e&&(t=t||e.altKey!==o.alt,o.alt=!!e.altKey),"shiftKey"in e&&(t=t||e.shiftKey!==o.shift,o.shift=!!e.shiftKey),"ctrlKey"in e&&(t=t||e.ctrlKey!==o.control,o.control=!!e.ctrlKey),"metaKey"in e&&(t=t||e.metaKey!==o.meta,o.meta=!!e.metaKey),t}function c(e,s){var c=n.x(s),u=n.y(s);"buttons"in s&&(e=0|s.buttons),(e!==r||c!==i||u!==a||l(s))&&(r=0|e,i=c||0,a=u||0,t&&t(r,i,a,o))}function u(e){c(0,e)}function h(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,t&&t(0,0,0,o))}function f(e){l(e)&&t&&t(r,i,a,o)}function p(e){0===n.buttons(e)?c(0,e):c(r,e)}function d(e){c(r|n.buttons(e),e)}function m(e){c(r&~n.buttons(e),e)}function g(){s||(s=!0,e.addEventListener("mousemove",p),e.addEventListener("mousedown",d),e.addEventListener("mouseup",m),e.addEventListener("mouseleave",u),e.addEventListener("mouseenter",u),e.addEventListener("mouseout",u),e.addEventListener("mouseover",u),e.addEventListener("blur",h),e.addEventListener("keyup",f),e.addEventListener("keydown",f),e.addEventListener("keypress",f),e!==window&&(window.addEventListener("blur",h),window.addEventListener("keyup",f),window.addEventListener("keydown",f),window.addEventListener("keypress",f)))}g();var y={element:e};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(t){t?g():s&&(s=!1,e.removeEventListener("mousemove",p),e.removeEventListener("mousedown",d),e.removeEventListener("mouseup",m),e.removeEventListener("mouseleave",u),e.removeEventListener("mouseenter",u),e.removeEventListener("mouseout",u),e.removeEventListener("mouseover",u),e.removeEventListener("blur",h),e.removeEventListener("keyup",f),e.removeEventListener("keydown",f),e.removeEventListener("keypress",f),e!==window&&(window.removeEventListener("blur",h),window.removeEventListener("keyup",f),window.removeEventListener("keydown",f),window.removeEventListener("keypress",f)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(4687)},24:function(e){var t={left:0,top:0};e.exports=function(e,r,n){r=r||e.currentTarget||e.srcElement,Array.isArray(n)||(n=[0,0]);var i=e.clientX||0,a=e.clientY||0,o=function(e){return e===window||e===document||e===document.body?t:e.getBoundingClientRect()}(r);return n[0]=i-o.left,n[1]=a-o.top,n}},4687:function(e,t){function r(e){return e.target||e.srcElement||window}t.buttons=function(e){if("object"==typeof e){if("buttons"in e)return e.buttons;if("which"in e){if(2===(t=e.which))return 4;if(3===t)return 2;if(t>0)return 1<=0)return 1< 0"),"function"!=typeof e.vertex&&t("Must specify vertex creation function"),"function"!=typeof e.cell&&t("Must specify cell creation function"),"function"!=typeof e.phase&&t("Must specify phase function");for(var o=e.getters||[],s=new Array(a),l=0;l=0?s[l]=!0:s[l]=!1;return function(e,t,r,a,o,s){var l=[s,o].join(",");return(0,i[l])(e,t,r,n.mallocUint32,n.freeUint32)}(e.vertex,e.cell,e.phase,0,r,s)};var i={"false,0,1":function(e,t,r,n,i){return function(a,o,s,l){var c,u=0|a.shape[0],h=0|a.shape[1],f=a.data,p=0|a.offset,d=0|a.stride[0],m=0|a.stride[1],g=p,y=0|-d,v=0,x=0|-m,_=0,b=-d-m|0,w=0,T=0|d,k=m-d*u|0,A=0,M=0,S=0,E=2*u|0,C=n(E),I=n(E),L=0,P=0,z=-1,D=-1,O=0,R=0|-u,F=0|u,B=0,j=-u-1|0,N=u-1|0,U=0,V=0,q=0;for(A=0;A0){if(M=1,C[L++]=r(f[g],o,s,l),g+=T,u>0)for(A=1,c=f[g],P=C[L]=r(c,o,s,l),O=C[L+z],B=C[L+R],U=C[L+j],(P!==O||P!==B||P!==U)&&(v=f[g+y],_=f[g+x],w=f[g+b],e(A,M,c,v,_,w,P,O,B,U,o,s,l),V=I[L]=S++),L+=1,g+=T,A=2;A0)for(A=1,c=f[g],P=C[L]=r(c,o,s,l),O=C[L+z],B=C[L+R],U=C[L+j],(P!==O||P!==B||P!==U)&&(v=f[g+y],_=f[g+x],w=f[g+b],e(A,M,c,v,_,w,P,O,B,U,o,s,l),V=I[L]=S++,U!==B&&t(I[L+R],V,_,w,B,U,o,s,l)),L+=1,g+=T,A=2;A0){if(A=1,C[L++]=r(f[g],o,s,l),g+=T,h>0)for(M=1,c=f[g],P=C[L]=r(c,o,s,l),B=C[L+R],O=C[L+z],U=C[L+j],(P!==B||P!==O||P!==U)&&(v=f[g+y],_=f[g+x],w=f[g+b],e(A,M,c,v,_,w,P,B,O,U,o,s,l),V=I[L]=S++),L+=1,g+=T,M=2;M0)for(M=1,c=f[g],P=C[L]=r(c,o,s,l),B=C[L+R],O=C[L+z],U=C[L+j],(P!==B||P!==O||P!==U)&&(v=f[g+y],_=f[g+x],w=f[g+b],e(A,M,c,v,_,w,P,B,O,U,o,s,l),V=I[L]=S++,U!==B&&t(I[L+R],V,w,v,U,B,o,s,l)),L+=1,g+=T,M=2;M2&&a[1]>2&&n(i.pick(-1,-1).lo(1,1).hi(a[0]-2,a[1]-2),e.pick(-1,-1,0).lo(1,1).hi(a[0]-2,a[1]-2),e.pick(-1,-1,1).lo(1,1).hi(a[0]-2,a[1]-2)),a[1]>2&&(r(i.pick(0,-1).lo(1).hi(a[1]-2),e.pick(0,-1,1).lo(1).hi(a[1]-2)),t(e.pick(0,-1,0).lo(1).hi(a[1]-2))),a[1]>2&&(r(i.pick(a[0]-1,-1).lo(1).hi(a[1]-2),e.pick(a[0]-1,-1,1).lo(1).hi(a[1]-2)),t(e.pick(a[0]-1,-1,0).lo(1).hi(a[1]-2))),a[0]>2&&(r(i.pick(-1,0).lo(1).hi(a[0]-2),e.pick(-1,0,0).lo(1).hi(a[0]-2)),t(e.pick(-1,0,1).lo(1).hi(a[0]-2))),a[0]>2&&(r(i.pick(-1,a[1]-1).lo(1).hi(a[0]-2),e.pick(-1,a[1]-1,0).lo(1).hi(a[0]-2)),t(e.pick(-1,a[1]-1,1).lo(1).hi(a[0]-2))),e.set(0,0,0,0),e.set(0,0,1,0),e.set(a[0]-1,0,0,0),e.set(a[0]-1,0,1,0),e.set(0,a[1]-1,0,0),e.set(0,a[1]-1,1,0),e.set(a[0]-1,a[1]-1,0,0),e.set(a[0]-1,a[1]-1,1,0),e}}e.exports=function(e,t,r){if(Array.isArray(r)||(r=n(t.dimension,"string"==typeof r?r:"clamp")),0===t.size)return e;if(0===t.dimension)return e.set(0),e;var i=function(e){var t=e.join();if(a=u[t])return a;for(var r=e.length,n=[h,f],i=1;i<=r;++i)n.push(p(i));var a=d.apply(void 0,n);return u[t]=a,a}(r);return i(e,t)}},4317:function(e){function t(e,t){var r=Math.floor(t),n=t-r,i=0<=r&&r0;){x<64?(l=x,x=0):(l=64,x-=64);for(var _=0|e[1];_>0;){_<64?(c=_,_=0):(c=64,_-=64),n=y+x*h+_*f,o=v+x*d+_*m;var b=0,w=0,T=0,k=p,A=h-u*p,M=f-l*h,S=g,E=d-u*g,C=m-l*d;for(T=0;T0;){m<64?(l=m,m=0):(l=64,m-=64);for(var g=0|e[0];g>0;){g<64?(s=g,g=0):(s=64,g-=64),n=p+m*u+g*c,o=d+m*f+g*h;var y=0,v=0,x=u,_=c-l*u,b=f,w=h-l*f;for(v=0;v0;){v<64?(c=v,v=0):(c=64,v-=64);for(var x=0|e[0];x>0;){x<64?(s=x,x=0):(s=64,x-=64);for(var _=0|e[1];_>0;){_<64?(l=_,_=0):(l=64,_-=64),n=g+v*f+x*u+_*h,o=y+v*m+x*p+_*d;var b=0,w=0,T=0,k=f,A=u-c*f,M=h-s*u,S=m,E=p-c*m,C=d-s*p;for(T=0;Tr;){y=0,v=m-o;t:for(g=0;g_)break t;v+=h,y+=f}for(y=m,v=m-o,g=0;g>1,H=q-N,G=q+N,W=U,Z=H,Y=q,X=G,$=V,K=i+1,J=a-1,Q=!0,ee=0,te=0,re=0,ne=h,ie=t(ne),ae=t(ne);A=l*W,M=l*Z,j=s;e:for(k=0;k0){g=W,W=Z,Z=g;break e}if(re<0)break e;j+=p}A=l*X,M=l*$,j=s;e:for(k=0;k0){g=X,X=$,$=g;break e}if(re<0)break e;j+=p}A=l*W,M=l*Y,j=s;e:for(k=0;k0){g=W,W=Y,Y=g;break e}if(re<0)break e;j+=p}A=l*Z,M=l*Y,j=s;e:for(k=0;k0){g=Z,Z=Y,Y=g;break e}if(re<0)break e;j+=p}A=l*W,M=l*X,j=s;e:for(k=0;k0){g=W,W=X,X=g;break e}if(re<0)break e;j+=p}A=l*Y,M=l*X,j=s;e:for(k=0;k0){g=Y,Y=X,X=g;break e}if(re<0)break e;j+=p}A=l*Z,M=l*$,j=s;e:for(k=0;k0){g=Z,Z=$,$=g;break e}if(re<0)break e;j+=p}A=l*Z,M=l*Y,j=s;e:for(k=0;k0){g=Z,Z=Y,Y=g;break e}if(re<0)break e;j+=p}A=l*X,M=l*$,j=s;e:for(k=0;k0){g=X,X=$,$=g;break e}if(re<0)break e;j+=p}for(A=l*W,M=l*Z,S=l*Y,E=l*X,C=l*$,I=l*U,L=l*q,P=l*V,B=0,j=s,k=0;k0)){if(re<0){for(A=l*_,M=l*K,S=l*J,j=s,k=0;k0)for(;;){for(b=s+J*l,B=0,k=0;k0)){for(b=s+J*l,B=0,k=0;kV){e:for(;;){for(b=s+K*l,B=0,j=s,k=0;k1&&n?s(r,n[0],n[1]):s(r)}(e,t,l);return n(l,c)}},446:function(e,t,r){var n=r(7640),i={};e.exports=function(e){var t=e.order,r=e.dtype,a=[t,r].join(":"),o=i[a];return o||(i[a]=o=n(t,r)),o(e),e}},9618:function(e,t,r){var n=r(7163),i=typeof Float64Array<"u";function a(e,t){return e[0]-t[0]}function o(){var e,t=this.stride,r=new Array(t.length);for(e=0;e=0&&(t+=a*(r=0|e),i-=r),new n(this.data,i,a,t)},i.step=function(e){var t=this.shape[0],r=this.stride[0],i=this.offset,a=0,o=Math.ceil;return"number"==typeof e&&((a=0|e)<0?(i+=r*(t-1),t=o(-t/a)):t=o(t/a),r*=a),new n(this.data,t,r,i)},i.transpose=function(e){e=void 0===e?0:0|e;var t=this.shape,r=this.stride;return new n(this.data,t[e],r[e],this.offset)},i.pick=function(e){var r=[],n=[],i=this.offset;return"number"==typeof e&&e>=0?i=i+this.stride[0]*e|0:(r.push(this.shape[0]),n.push(this.stride[0])),(0,t[r.length+1])(this.data,r,n,i)},function(e,t,r,i){return new n(e,t[0],r[0],i)}},2:function(e,t,r){function n(e,t,r,n,i,a){this.data=e,this.shape=[t,r],this.stride=[n,i],this.offset=0|a}var i=n.prototype;return i.dtype=e,i.dimension=2,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(i,"order",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),i.set=function(t,r,n){return"generic"===e?this.data.set(this.offset+this.stride[0]*t+this.stride[1]*r,n):this.data[this.offset+this.stride[0]*t+this.stride[1]*r]=n},i.get=function(t,r){return"generic"===e?this.data.get(this.offset+this.stride[0]*t+this.stride[1]*r):this.data[this.offset+this.stride[0]*t+this.stride[1]*r]},i.index=function(e,t){return this.offset+this.stride[0]*e+this.stride[1]*t},i.hi=function(e,t){return new n(this.data,"number"!=typeof e||e<0?this.shape[0]:0|e,"number"!=typeof t||t<0?this.shape[1]:0|t,this.stride[0],this.stride[1],this.offset)},i.lo=function(e,t){var r=this.offset,i=0,a=this.shape[0],o=this.shape[1],s=this.stride[0],l=this.stride[1];return"number"==typeof e&&e>=0&&(r+=s*(i=0|e),a-=i),"number"==typeof t&&t>=0&&(r+=l*(i=0|t),o-=i),new n(this.data,a,o,s,l,r)},i.step=function(e,t){var r=this.shape[0],i=this.shape[1],a=this.stride[0],o=this.stride[1],s=this.offset,l=0,c=Math.ceil;return"number"==typeof e&&((l=0|e)<0?(s+=a*(r-1),r=c(-r/l)):r=c(r/l),a*=l),"number"==typeof t&&((l=0|t)<0?(s+=o*(i-1),i=c(-i/l)):i=c(i/l),o*=l),new n(this.data,r,i,a,o,s)},i.transpose=function(e,t){e=void 0===e?0:0|e,t=void 0===t?1:0|t;var r=this.shape,i=this.stride;return new n(this.data,r[e],r[t],i[e],i[t],this.offset)},i.pick=function(e,r){var n=[],i=[],a=this.offset;return"number"==typeof e&&e>=0?a=a+this.stride[0]*e|0:(n.push(this.shape[0]),i.push(this.stride[0])),"number"==typeof r&&r>=0?a=a+this.stride[1]*r|0:(n.push(this.shape[1]),i.push(this.stride[1])),(0,t[n.length+1])(this.data,n,i,a)},function(e,t,r,i){return new n(e,t[0],t[1],r[0],r[1],i)}},3:function(e,t,r){function n(e,t,r,n,i,a,o,s){this.data=e,this.shape=[t,r,n],this.stride=[i,a,o],this.offset=0|s}var i=n.prototype;return i.dtype=e,i.dimension=3,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(i,"order",{get:function(){var e=Math.abs(this.stride[0]),t=Math.abs(this.stride[1]),r=Math.abs(this.stride[2]);return e>t?t>r?[2,1,0]:e>r?[1,2,0]:[1,0,2]:e>r?[2,0,1]:r>t?[0,1,2]:[0,2,1]}}),i.set=function(t,r,n,i){return"generic"===e?this.data.set(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n,i):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n]=i},i.get=function(t,r,n){return"generic"===e?this.data.get(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n]},i.index=function(e,t,r){return this.offset+this.stride[0]*e+this.stride[1]*t+this.stride[2]*r},i.hi=function(e,t,r){return new n(this.data,"number"!=typeof e||e<0?this.shape[0]:0|e,"number"!=typeof t||t<0?this.shape[1]:0|t,"number"!=typeof r||r<0?this.shape[2]:0|r,this.stride[0],this.stride[1],this.stride[2],this.offset)},i.lo=function(e,t,r){var i=this.offset,a=0,o=this.shape[0],s=this.shape[1],l=this.shape[2],c=this.stride[0],u=this.stride[1],h=this.stride[2];return"number"==typeof e&&e>=0&&(i+=c*(a=0|e),o-=a),"number"==typeof t&&t>=0&&(i+=u*(a=0|t),s-=a),"number"==typeof r&&r>=0&&(i+=h*(a=0|r),l-=a),new n(this.data,o,s,l,c,u,h,i)},i.step=function(e,t,r){var i=this.shape[0],a=this.shape[1],o=this.shape[2],s=this.stride[0],l=this.stride[1],c=this.stride[2],u=this.offset,h=0,f=Math.ceil;return"number"==typeof e&&((h=0|e)<0?(u+=s*(i-1),i=f(-i/h)):i=f(i/h),s*=h),"number"==typeof t&&((h=0|t)<0?(u+=l*(a-1),a=f(-a/h)):a=f(a/h),l*=h),"number"==typeof r&&((h=0|r)<0?(u+=c*(o-1),o=f(-o/h)):o=f(o/h),c*=h),new n(this.data,i,a,o,s,l,c,u)},i.transpose=function(e,t,r){e=void 0===e?0:0|e,t=void 0===t?1:0|t,r=void 0===r?2:0|r;var i=this.shape,a=this.stride;return new n(this.data,i[e],i[t],i[r],a[e],a[t],a[r],this.offset)},i.pick=function(e,r,n){var i=[],a=[],o=this.offset;return"number"==typeof e&&e>=0?o=o+this.stride[0]*e|0:(i.push(this.shape[0]),a.push(this.stride[0])),"number"==typeof r&&r>=0?o=o+this.stride[1]*r|0:(i.push(this.shape[1]),a.push(this.stride[1])),"number"==typeof n&&n>=0?o=o+this.stride[2]*n|0:(i.push(this.shape[2]),a.push(this.stride[2])),(0,t[i.length+1])(this.data,i,a,o)},function(e,t,r,i){return new n(e,t[0],t[1],t[2],r[0],r[1],r[2],i)}},4:function(e,t,r){function n(e,t,r,n,i,a,o,s,l,c){this.data=e,this.shape=[t,r,n,i],this.stride=[a,o,s,l],this.offset=0|c}var i=n.prototype;return i.dtype=e,i.dimension=4,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(t,r,n,i,a){return"generic"===e?this.data.set(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i,a):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]=a},i.get=function(t,r,n,i){return"generic"===e?this.data.get(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]},i.index=function(e,t,r,n){return this.offset+this.stride[0]*e+this.stride[1]*t+this.stride[2]*r+this.stride[3]*n},i.hi=function(e,t,r,i){return new n(this.data,"number"!=typeof e||e<0?this.shape[0]:0|e,"number"!=typeof t||t<0?this.shape[1]:0|t,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},i.lo=function(e,t,r,i){var a=this.offset,o=0,s=this.shape[0],l=this.shape[1],c=this.shape[2],u=this.shape[3],h=this.stride[0],f=this.stride[1],p=this.stride[2],d=this.stride[3];return"number"==typeof e&&e>=0&&(a+=h*(o=0|e),s-=o),"number"==typeof t&&t>=0&&(a+=f*(o=0|t),l-=o),"number"==typeof r&&r>=0&&(a+=p*(o=0|r),c-=o),"number"==typeof i&&i>=0&&(a+=d*(o=0|i),u-=o),new n(this.data,s,l,c,u,h,f,p,d,a)},i.step=function(e,t,r,i){var a=this.shape[0],o=this.shape[1],s=this.shape[2],l=this.shape[3],c=this.stride[0],u=this.stride[1],h=this.stride[2],f=this.stride[3],p=this.offset,d=0,m=Math.ceil;return"number"==typeof e&&((d=0|e)<0?(p+=c*(a-1),a=m(-a/d)):a=m(a/d),c*=d),"number"==typeof t&&((d=0|t)<0?(p+=u*(o-1),o=m(-o/d)):o=m(o/d),u*=d),"number"==typeof r&&((d=0|r)<0?(p+=h*(s-1),s=m(-s/d)):s=m(s/d),h*=d),"number"==typeof i&&((d=0|i)<0?(p+=f*(l-1),l=m(-l/d)):l=m(l/d),f*=d),new n(this.data,a,o,s,l,c,u,h,f,p)},i.transpose=function(e,t,r,i){e=void 0===e?0:0|e,t=void 0===t?1:0|t,r=void 0===r?2:0|r,i=void 0===i?3:0|i;var a=this.shape,o=this.stride;return new n(this.data,a[e],a[t],a[r],a[i],o[e],o[t],o[r],o[i],this.offset)},i.pick=function(e,r,n,i){var a=[],o=[],s=this.offset;return"number"==typeof e&&e>=0?s=s+this.stride[0]*e|0:(a.push(this.shape[0]),o.push(this.stride[0])),"number"==typeof r&&r>=0?s=s+this.stride[1]*r|0:(a.push(this.shape[1]),o.push(this.stride[1])),"number"==typeof n&&n>=0?s=s+this.stride[2]*n|0:(a.push(this.shape[2]),o.push(this.stride[2])),"number"==typeof i&&i>=0?s=s+this.stride[3]*i|0:(a.push(this.shape[3]),o.push(this.stride[3])),(0,t[a.length+1])(this.data,a,o,s)},function(e,t,r,i){return new n(e,t[0],t[1],t[2],t[3],r[0],r[1],r[2],r[3],i)}},5:function(e,t,r){function n(e,t,r,n,i,a,o,s,l,c,u,h){this.data=e,this.shape=[t,r,n,i,a],this.stride=[o,s,l,c,u],this.offset=0|h}var i=n.prototype;return i.dtype=e,i.dimension=5,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(t,r,n,i,a,o){return"generic"===e?this.data.set(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a,o):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]=o},i.get=function(t,r,n,i,a){return"generic"===e?this.data.get(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]},i.index=function(e,t,r,n,i){return this.offset+this.stride[0]*e+this.stride[1]*t+this.stride[2]*r+this.stride[3]*n+this.stride[4]*i},i.hi=function(e,t,r,i,a){return new n(this.data,"number"!=typeof e||e<0?this.shape[0]:0|e,"number"!=typeof t||t<0?this.shape[1]:0|t,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,"number"!=typeof a||a<0?this.shape[4]:0|a,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},i.lo=function(e,t,r,i,a){var o=this.offset,s=0,l=this.shape[0],c=this.shape[1],u=this.shape[2],h=this.shape[3],f=this.shape[4],p=this.stride[0],d=this.stride[1],m=this.stride[2],g=this.stride[3],y=this.stride[4];return"number"==typeof e&&e>=0&&(o+=p*(s=0|e),l-=s),"number"==typeof t&&t>=0&&(o+=d*(s=0|t),c-=s),"number"==typeof r&&r>=0&&(o+=m*(s=0|r),u-=s),"number"==typeof i&&i>=0&&(o+=g*(s=0|i),h-=s),"number"==typeof a&&a>=0&&(o+=y*(s=0|a),f-=s),new n(this.data,l,c,u,h,f,p,d,m,g,y,o)},i.step=function(e,t,r,i,a){var o=this.shape[0],s=this.shape[1],l=this.shape[2],c=this.shape[3],u=this.shape[4],h=this.stride[0],f=this.stride[1],p=this.stride[2],d=this.stride[3],m=this.stride[4],g=this.offset,y=0,v=Math.ceil;return"number"==typeof e&&((y=0|e)<0?(g+=h*(o-1),o=v(-o/y)):o=v(o/y),h*=y),"number"==typeof t&&((y=0|t)<0?(g+=f*(s-1),s=v(-s/y)):s=v(s/y),f*=y),"number"==typeof r&&((y=0|r)<0?(g+=p*(l-1),l=v(-l/y)):l=v(l/y),p*=y),"number"==typeof i&&((y=0|i)<0?(g+=d*(c-1),c=v(-c/y)):c=v(c/y),d*=y),"number"==typeof a&&((y=0|a)<0?(g+=m*(u-1),u=v(-u/y)):u=v(u/y),m*=y),new n(this.data,o,s,l,c,u,h,f,p,d,m,g)},i.transpose=function(e,t,r,i,a){e=void 0===e?0:0|e,t=void 0===t?1:0|t,r=void 0===r?2:0|r,i=void 0===i?3:0|i,a=void 0===a?4:0|a;var o=this.shape,s=this.stride;return new n(this.data,o[e],o[t],o[r],o[i],o[a],s[e],s[t],s[r],s[i],s[a],this.offset)},i.pick=function(e,r,n,i,a){var o=[],s=[],l=this.offset;return"number"==typeof e&&e>=0?l=l+this.stride[0]*e|0:(o.push(this.shape[0]),s.push(this.stride[0])),"number"==typeof r&&r>=0?l=l+this.stride[1]*r|0:(o.push(this.shape[1]),s.push(this.stride[1])),"number"==typeof n&&n>=0?l=l+this.stride[2]*n|0:(o.push(this.shape[2]),s.push(this.stride[2])),"number"==typeof i&&i>=0?l=l+this.stride[3]*i|0:(o.push(this.shape[3]),s.push(this.stride[3])),"number"==typeof a&&a>=0?l=l+this.stride[4]*a|0:(o.push(this.shape[4]),s.push(this.stride[4])),(0,t[o.length+1])(this.data,o,s,l)},function(e,t,r,i){return new n(e,t[0],t[1],t[2],t[3],t[4],r[0],r[1],r[2],r[3],r[4],i)}}};function l(e,t){var r=-1===t?"T":String(t),n=s[r];return-1===t?n(e):0===t?n(e,c[e][0]):n(e,c[e],o)}var c={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};e.exports=function(e,t,r,a){if(void 0===e)return(0,c.array[0])([]);"number"==typeof e&&(e=[e]),void 0===t&&(t=[e.length]);var o=t.length;if(void 0===r){r=new Array(o);for(var s=o-1,u=1;s>=0;--s)r[s]=u,u*=t[s]}if(void 0===a)for(a=0,s=0;s>>0;e.exports=function(e,t){if(isNaN(e)||isNaN(t))return NaN;if(e===t)return e;if(0===e)return t<0?-i:i;var r=n.hi(e),o=n.lo(e);return t>e==e>0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1,n.pack(o,r)}},8406:function(e,t){t.vertexNormals=function(e,t,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa){var _=i[c],b=1/Math.sqrt(g*v);for(x=0;x<3;++x){var w=(x+1)%3,T=(x+2)%3;_[x]+=b*(y[w]*m[T]-y[T]*m[w])}}}for(o=0;oa)for(b=1/Math.sqrt(k),x=0;x<3;++x)_[x]*=b;else for(x=0;x<3;++x)_[x]=0}return i},t.faceNormals=function(e,t,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa?1/Math.sqrt(p):0,c=0;c<3;++c)f[c]*=p;i[o]=f}return i}},4081:function(e){e.exports=function(e,t,r,n,i,a,o,s,l,c){var u=t+a+c;if(h>0){var h=Math.sqrt(u+1);e[0]=.5*(o-l)/h,e[1]=.5*(s-n)/h,e[2]=.5*(r-a)/h,e[3]=.5*h}else{var f=Math.max(t,a,c);h=Math.sqrt(2*f-u+1),t>=f?(e[0]=.5*h,e[1]=.5*(i+r)/h,e[2]=.5*(s+n)/h,e[3]=.5*(o-l)/h):a>=f?(e[0]=.5*(r+i)/h,e[1]=.5*h,e[2]=.5*(l+o)/h,e[3]=.5*(s-n)/h):(e[0]=.5*(n+s)/h,e[1]=.5*(o+l)/h,e[2]=.5*h,e[3]=.5*(r-i)/h)}return e}},9977:function(e,t,r){e.exports=function(e){var t=(e=e||{}).center||[0,0,0],r=e.rotation||[0,0,0,1],n=e.radius||1;t=[].slice.call(t,0,3),u(r=[].slice.call(r,0,4),r);var i=new h(r,t,Math.log(n));return i.setDistanceLimits(e.zoomMin,e.zoomMax),("eye"in e||"up"in e)&&i.lookAt(0,e.eye,e.center,e.up),i};var n=r(9215),i=r(6582),a=r(7399),o=r(7608),s=r(4081);function l(e,t,r){return Math.sqrt(Math.pow(e,2)+Math.pow(t,2)+Math.pow(r,2))}function c(e,t,r,n){return Math.sqrt(Math.pow(e,2)+Math.pow(t,2)+Math.pow(r,2)+Math.pow(n,2))}function u(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=c(r,n,i,a);o>1e-6?(e[0]=r/o,e[1]=n/o,e[2]=i/o,e[3]=a/o):(e[0]=e[1]=e[2]=0,e[3]=1)}function h(e,t,r){this.radius=n([r]),this.center=n(t),this.rotation=n(e),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var f=h.prototype;f.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},f.recalcMatrix=function(e){this.radius.curve(e),this.center.curve(e),this.rotation.curve(e);var t=this.computedRotation;u(t,t);var r=this.computedMatrix;a(r,t);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var c=0,h=0;h<3;++h)c+=r[l+4*h]*i[h];r[12+l]=-c}},f.getMatrix=function(e,t){this.recalcMatrix(e);var r=this.computedMatrix;if(t){for(var n=0;n<16;++n)t[n]=r[n];return t}return r},f.idle=function(e){this.center.idle(e),this.radius.idle(e),this.rotation.idle(e)},f.flush=function(e){this.center.flush(e),this.radius.flush(e),this.rotation.flush(e)},f.pan=function(e,t,r,n){t=t||0,r=r||0,n=n||0,this.recalcMatrix(e);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],c=l(a,o,s);a/=c,o/=c,s/=c;var u=i[0],h=i[4],f=i[8],p=u*a+h*o+f*s,d=l(u-=a*p,h-=o*p,f-=s*p);u/=d,h/=d,f/=d;var m=i[2],g=i[6],y=i[10],v=m*a+g*o+y*s,x=m*u+g*h+y*f,_=l(m-=v*a+x*u,g-=v*o+x*h,y-=v*s+x*f);m/=_,g/=_,y/=_;var b=u*t+a*r,w=h*t+o*r,T=f*t+s*r;this.center.move(e,b,w,T);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+n),this.radius.set(e,Math.log(k))},f.rotate=function(e,t,r,n){this.recalcMatrix(e),t=t||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],u=i[1],h=i[5],f=i[9],p=i[2],d=i[6],m=i[10],g=t*a+r*u,y=t*o+r*h,v=t*s+r*f,x=-(d*v-m*y),_=-(m*g-p*v),b=-(p*y-d*g),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(_,2)-Math.pow(b,2))),T=c(x,_,b,w);T>1e-6?(x/=T,_/=T,b/=T,w/=T):(x=_=b=0,w=1);var k=this.computedRotation,A=k[0],M=k[1],S=k[2],E=k[3],C=A*w+E*x+M*b-S*_,I=M*w+E*_+S*x-A*b,L=S*w+E*b+A*_-M*x,P=E*w-A*x-M*_-S*b;if(n){x=p,_=d,b=m;var z=Math.sin(n)/l(x,_,b);x*=z,_*=z,b*=z,P=P*(w=Math.cos(t))-(C=C*w+P*x+I*b-L*_)*x-(I=I*w+P*_+L*x-C*b)*_-(L=L*w+P*b+C*_-I*x)*b}var D=c(C,I,L,P);D>1e-6?(C/=D,I/=D,L/=D,P/=D):(C=I=L=0,P=1),this.rotation.set(e,C,I,L,P)},f.lookAt=function(e,t,r,n){this.recalcMatrix(e),r=r||this.computedCenter,t=t||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,t,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),u(o,o),this.rotation.set(e,o[0],o[1],o[2],o[3]);for(var l=0,c=0;c<3;++c)l+=Math.pow(r[c]-t[c],2);this.radius.set(e,.5*Math.log(Math.max(l,1e-6))),this.center.set(e,r[0],r[1],r[2])},f.translate=function(e,t,r,n){this.center.move(e,t||0,r||0,n||0)},f.setMatrix=function(e,t){var r=this.computedRotation;s(r,t[0],t[1],t[2],t[4],t[5],t[6],t[8],t[9],t[10]),u(r,r),this.rotation.set(e,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,t);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,c=n[14]/i;this.recalcMatrix(e);var h=Math.exp(this.computedRadius[0]);this.center.set(e,a-n[2]*h,l-n[6]*h,c-n[10]*h),this.radius.idle(e)}else this.center.idle(e),this.radius.idle(e)},f.setDistance=function(e,t){t>0&&this.radius.set(e,Math.log(t))},f.setDistanceLimits=function(e,t){e=e>0?Math.log(e):-1/0,t=t>0?Math.log(t):1/0,t=Math.max(t,e),this.radius.bounds[0][0]=e,this.radius.bounds[1][0]=t},f.getDistanceLimits=function(e){var t=this.radius.bounds;return e?(e[0]=Math.exp(t[0][0]),e[1]=Math.exp(t[1][0]),e):[Math.exp(t[0][0]),Math.exp(t[1][0])]},f.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},f.fromJSON=function(e){var t=this.lastT(),r=e.center;r&&this.center.set(t,r[0],r[1],r[2]);var n=e.rotation;n&&this.rotation.set(t,n[0],n[1],n[2],n[3]);var i=e.distance;i&&i>0&&this.radius.set(t,Math.log(i)),this.setDistanceLimits(e.zoomMin,e.zoomMax)}},1371:function(e,t,r){var n=r(3233);e.exports=function(e,t,r){return n(r=typeof r<"u"?r+"":" ",t)+e}},3202:function(e){e.exports=function(e,t){t||(t=[0,""]),e=String(e);var r=parseFloat(e,10);return t[0]=r,t[1]=e.match(/[\d.\-\+]*\s*(.*)/)[1]||"",t}},3088:function(e,t,r){e.exports=function(e,t){for(var r=0|t.length,i=e.length,a=[new Array(r),new Array(r)],o=0;o0){o=a[c][r][0],l=c;break}s=o[1^l];for(var h=0;h<2;++h)for(var f=a[h][r],p=0;p0&&(o=d,s=m,l=h)}return i||o&&u(o,l),s}function f(e,r){var i=a[r][e][0],o=[e];u(i,r);for(var s=i[1^r];;){for(;s!==e;)o.push(s),s=h(o[o.length-2],s,!1);if(a[0][e].length+a[1][e].length===0)break;var l=o[o.length-1],c=e,f=o[1],p=h(l,c,!0);if(n(t[l],t[c],t[f],t[p])<0)break;o.push(e),s=h(l,c)}return o}for(o=0;o0;){a[0][o].length;var m=f(o,p);(l=m)[1]===l[l.length-1]?d.push.apply(d,m):(d.length>0&&c.push(d),d=m)}d.length>0&&c.push(d)}return c};var n=r(3140)},5609:function(e,t,r){e.exports=function(e,t){for(var r=n(e,t.length),i=new Array(t.length),a=new Array(t.length),o=[],s=0;s0;){i[p=o.pop()]=!1;var c=r[p];for(s=0;s0}))).length,g=new Array(m),y=new Array(m);for(p=0;p0;){var B=R.pop(),j=E[B];l(j,(function(e,t){return e-t}));var N,U=j.length,V=F[B];for(0===V&&(N=[q=d[B]]),p=0;p=0||(F[H]=1^V,R.push(H),0!==V)||O(q=d[H])||(q.reverse(),N.push(q))}0===V&&r.push(N)}return r};var n=r(3134),i=r(3088),a=r(5085),o=r(5250),s=r(8210),l=r(1682),c=r(5609);function u(e,t){for(var r=new Array(e),n=0;n0&&t[i]===r[0]))return 1;a=e[i-1]}for(var s=1;a;){var l=a.key,c=n(r,l[0],l[1]);if(l[0][0]0))return 0;s=-1,a=a.right}else if(c>0)a=a.left;else{if(!(c<0))return 0;s=1,a=a.right}}return s}}(g.slabs,g.coordinates);return 0===a.length?y:function(e,t){return function(r){return e(r[0],r[1])?0:t(r)}}(l(a),y)};var n=r(3250)[3],i=r(4209),a=r(3352),o=r(2478);function s(){return!0}function l(e){for(var t={},r=0;r=c?(k=1,v=c+2*f+d):v=f*(k=-f/c)+d):(k=0,p>=0?(A=0,v=d):-p>=h?(A=1,v=h+2*p+d):v=p*(A=-p/h)+d);else if(A<0)A=0,f>=0?(k=0,v=d):-f>=c?(k=1,v=c+2*f+d):v=f*(k=-f/c)+d;else{var M=1/T;v=(k*=M)*(c*k+u*(A*=M)+2*f)+A*(u*k+h*A+2*p)+d}else k<0?(_=h+p)>(x=u+f)?(b=_-x)>=(w=c-2*u+h)?(k=1,A=0,v=c+2*f+d):v=(k=b/w)*(c*k+u*(A=1-k)+2*f)+A*(u*k+h*A+2*p)+d:(k=0,_<=0?(A=1,v=h+2*p+d):p>=0?(A=0,v=d):v=p*(A=-p/h)+d):A<0?(_=c+f)>(x=u+p)?(b=_-x)>=(w=c-2*u+h)?(A=1,k=0,v=h+2*p+d):v=(k=1-(A=b/w))*(c*k+u*A+2*f)+A*(u*k+h*A+2*p)+d:(A=0,_<=0?(k=1,v=c+2*f+d):f>=0?(k=0,v=d):v=f*(k=-f/c)+d):(b=h+p-u-f)<=0?(k=0,A=1,v=h+2*p+d):b>=(w=c-2*u+h)?(k=1,A=0,v=c+2*f+d):v=(k=b/w)*(c*k+u*(A=1-k)+2*f)+A*(u*k+h*A+2*p)+d;var S=1-k-A;for(l=0;l0){var c=e[r-1];if(0===n(s,c)&&a(c)!==l){r-=1;continue}}e[r++]=s}}return e.length=r,e}},3233:function(e){var t,r="";e.exports=function(e,n){if("string"!=typeof e)throw new TypeError("expected a string");if(1===n)return e;if(2===n)return e+e;var i=e.length*n;if(t!==e||typeof t>"u")t=e,r="";else if(r.length>=i)return r.substr(0,i);for(;i>r.length&&n>1;)1&n&&(r+=e),n>>=1,e+=e;return r=(r+=e).substr(0,i)}},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){e.exports=function(e){for(var t=e.length,r=e[e.length-1],n=t,i=t-2;i>=0;--i){var a=r;(l=(s=e[i])-((r=a+s)-a))&&(e[--n]=r,r=l)}var o=0;for(i=n;i0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=l*n;return o>=s||o<=-s?o:d(e,t,r)},function(e,t,r,n){var i=e[0]-n[0],a=t[0]-n[0],o=r[0]-n[0],s=e[1]-n[1],l=t[1]-n[1],u=r[1]-n[1],h=e[2]-n[2],f=t[2]-n[2],p=r[2]-n[2],d=a*u,g=o*l,y=o*s,v=i*u,x=i*l,_=a*s,b=h*(d-g)+f*(y-v)+p*(x-_),w=(Math.abs(d)+Math.abs(g))*Math.abs(h)+(Math.abs(y)+Math.abs(v))*Math.abs(f)+(Math.abs(x)+Math.abs(_))*Math.abs(p),T=c*w;return b>T||-b>T?b:m(e,t,r,n)}];function y(e){var t=g[e.length];return t||(t=g[e.length]=p(e.length)),t.apply(void 0,e)}function v(e,t,r,n,i,a,o){return function(t,r,s,l,c){switch(arguments.length){case 0:case 1:return 0;case 2:return n(t,r);case 3:return i(t,r,s);case 4:return a(t,r,s,l);case 5:return o(t,r,s,l,c)}for(var u=new Array(arguments.length),h=0;h0&&o>0||a<0&&o<0)return!1;var s=n(r,e,t),l=n(i,e,t);return!(s>0&&l>0||s<0&&l<0)&&(0!==a||0!==o||0!==s||0!==l||function(e,t,r,n){for(var i=0;i<2;++i){var a=e[i],o=t[i],s=Math.min(a,o),l=Math.max(a,o),c=r[i],u=n[i],h=Math.min(c,u);if(Math.max(c,u)=n?(i=h,(l+=1)=n?(i=h,(l+=1)"u"&&(s=function(e){for(var t=e.length,r=0,n=0;n>1,c=t[2*l+1];if(c===a)return l;a>1,c=t[2*l+1];if(c===a)return l;a>1,c=t[2*l+1];if(c===a)return l;a0)-(e<0)},t.abs=function(e){var t=e>>31;return(e^t)-t},t.min=function(e,t){return t^(e^t)&-(e65535)<<4,t|=r=((e>>>=t)>255)<<3,t|=r=((e>>>=r)>15)<<2,(t|=r=((e>>>=r)>3)<<1)|(e>>>=r)>>1},t.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0},t.popCount=function(e){return 16843009*((e=(858993459&(e-=e>>>1&1431655765))+(e>>>2&858993459))+(e>>>4)&252645135)>>>24},t.countTrailingZeros=r,t.nextPow2=function(e){return e+=0===e,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,1+((e|=e>>>8)|e>>>16)},t.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,(e|=e>>>16)-(e>>>1)},t.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,27030>>>(e&=15)&1};var n=new Array(256);(function(e){for(var t=0;t<256;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;e[t]=n<>>8&255]<<16|n[e>>>16&255]<<8|n[e>>>24&255]},t.interleave2=function(e,t){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))<<1},t.deinterleave2=function(e,t){return(e=65535&((e=16711935&((e=252645135&((e=858993459&((e=e>>>t&1431655765)|e>>>1))|e>>>2))|e>>>4))|e>>>16))<<16>>16},t.interleave3=function(e,t,r){return e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2),(e|=(t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},t.deinterleave3=function(e,t){return(e=1023&((e=4278190335&((e=251719695&((e=3272356035&((e=e>>>t&1227133513)|e>>>2))|e>>>4))|e>>>8))|e>>>16))<<22>>22},t.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>r(e)+1}},2014:function(e,t,r){var n=r(3105),i=r(4623);function a(e,t){var r=e.length,n=e.length-t.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return e[0]-t[0];case 2:return(s=e[0]+e[1]-t[0]-t[1])||i(e[0],e[1])-i(t[0],t[1]);case 3:var a=e[0]+e[1],o=t[0]+t[1];if(s=a+e[2]-(o+t[2]))return s;var s,l=i(e[0],e[1]),c=i(t[0],t[1]);return(s=i(l,e[2])-i(c,t[2]))||i(l+e[2],a)-i(c+t[2],o);default:var u=e.slice(0);u.sort();var h=t.slice(0);h.sort();for(var f=0;f>1,s=a(e[o],t);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function u(e,t){for(var r=new Array(e.length),i=0,o=r.length;i=e.length||0!==a(e[g],s)););}return r}function h(e,t){if(t<0)return[];for(var r=[],i=(1<>>u&1&&c.push(i[u]);t.push(c)}return s(t)},t.skeleton=h,t.boundary=function(e){for(var t=[],r=0,n=e.length;r>1:(e>>1)-1}function x(e){for(var t=y(e);;){var r=t,n=2*e+1,i=2*(e+1),a=e;if(n0;){var r=v(e);if(!(r>=0&&t0){var e=k[0];return g(0,M-1),M-=1,x(0),e}return-1}function w(e,t){var r=k[e];return c[r]===t?e:(c[r]=-1/0,_(e),b(),c[r]=t,_((M+=1)-1))}function T(e){if(!u[e]){u[e]=!0;var t=s[e],r=l[e];s[r]>=0&&(s[r]=t),l[t]>=0&&(l[t]=r),A[t]>=0&&w(A[t],m(t)),A[r]>=0&&w(A[r],m(r))}}var k=[],A=new Array(a);for(h=0;h>1;h>=0;--h)x(h);for(;;){var S=b();if(S<0||c[S]>r)break;T(S)}var E=[];for(h=0;h=0&&r>=0&&t!==r){var n=A[t],i=A[r];n!==i&&I.push([n,i])}})),i.unique(i.normalize(I)),{positions:E,edges:I}};var n=r(3250),i=r(2014)},1303:function(e,t,r){e.exports=function(e,t){var r,a,o,s;if(t[0][0]t[1][0]))return i(t,e);r=t[1],a=t[0]}if(e[0][0]e[1][0]))return-i(e,t);o=e[1],s=e[0]}var l=n(r,a,s),c=n(r,a,o);if(l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;if(l=n(s,o,a),c=n(s,o,r),l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;return a[0]-s[0]};var n=r(3250);function i(e,t){var r,i,a,o;if(t[0][0]t[1][0])){var s=Math.min(e[0][1],e[1][1]),l=Math.max(e[0][1],e[1][1]),c=Math.min(t[0][1],t[1][1]),u=Math.max(t[0][1],t[1][1]);return lu?s-u:l-u}r=t[1],i=t[0]}e[0][1]0)if(t[0]!==o[1][0])r=e,e=e.right;else{if(l=c(e.right,t))return l;e=e.left}else{if(t[0]!==o[1][0])return e;var l;if(l=c(e.right,t))return l;e=e.left}}return r}function u(e,t,r,n){this.y=e,this.index=t,this.start=r,this.closed=n}function h(e,t,r,n){this.x=e,this.segment=t,this.create=r,this.index=n}s.prototype.castUp=function(e){var t=n.le(this.coordinates,e[0]);if(t<0)return-1;this.slabs[t];var r=c(this.slabs[t],e),i=-1;if(r&&(i=r.value),this.coordinates[t]===e[0]){var s=null;if(r&&(s=r.key),t>0){var u=c(this.slabs[t-1],e);u&&(s?o(u.key,s)>0&&(s=u.key,i=u.value):(i=u.value,s=u.key))}var h=this.horizontal[t];if(h.length>0){var f=n.ge(h,e[1],l);if(f=h.length)return i;p=h[f]}}if(p.start)if(s){var d=a(s[0],s[1],[e[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==e[1]&&(i=p.index)}}}return i}},5202:function(e,t,r){var n=r(1944),i=r(8210);function a(e,t){var r=i(n(e,t),[t[t.length-1]]);return r[r.length-1]}function o(e,t,r,n){var i=-t/(n-t);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=e.length,s=new Array(o),l=0;l0||i>0&&u<0){var h=o(s,u,l,i);r.push(h),n.push(h.slice())}u<0?n.push(l.slice()):u>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=u}return{positive:r,negative:n}},e.exports.positive=function(e,t){for(var r=[],n=a(e[e.length-1],t),i=e[e.length-1],s=e[0],l=0;l0||n>0&&c<0)&&r.push(o(i,c,s,n)),c>=0&&r.push(s.slice()),n=c}return r},e.exports.negative=function(e,t){for(var r=[],n=a(e[e.length-1],t),i=e[e.length-1],s=e[0],l=0;l0||n>0&&c<0)&&r.push(o(i,c,s,n)),c<=0&&r.push(s.slice()),n=c}return r}},3387:function(e,t,r){var n;!function(){var i={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 a(e){return function(e,t){var r,n,o,s,l,c,u,h,f,p=1,d=e.length,m="";for(n=0;n=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?m+=r:(!i.number.test(s.type)||h&&!s.sign?f="":(f=h?"+":"-",r=r.toString().replace(i.sign,"")),c=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",u=s.width-(f+r).length,l=s.width&&u>0?c.repeat(u):"",m+=s.align?f+r+l:"0"===c?f+l+r:l+f+r)}return m}(function(e){if(s[e])return s[e];for(var t,r=e,n=[],a=0;r;){if(null!==(t=i.text.exec(r)))n.push(t[0]);else if(null!==(t=i.modulo.exec(r)))n.push("%");else{if(null===(t=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){a|=1;var o=[],l=t[2],c=[];if(null===(c=i.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(o.push(c[1]);""!==(l=l.substring(c[0].length));)if(null!==(c=i.key_access.exec(l)))o.push(c[1]);else{if(null===(c=i.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");o.push(c[1])}t[2]=o}else a|=2;if(3===a)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return s[e]=n}(e),arguments)}function o(e,t){return a.apply(null,[e].concat(t||[]))}var s=Object.create(null);t.sprintf=a,t.vsprintf=o,typeof window<"u"&&(window.sprintf=a,window.vsprintf=o,void 0!==(n=function(){return{sprintf:a,vsprintf:o}}.call(t,r,t,e))&&(e.exports=n))}()},3711:function(e,t,r){e.exports=function(e,t){if(e.dimension<=0)return{positions:[],cells:[]};if(1===e.dimension)return function(e,t){for(var r=i(e,t),n=r.length,a=new Array(n),o=new Array(n),s=0;sn|0},vertex:function(e,t,r,n,i,a,o,s,l,c,u,h,f){var p=(0|o)+(s<<1)+(l<<2)+(c<<3)|0;if(0!==p&&15!==p)switch(p){case 0:case 15:u.push([e-.5,t-.5]);break;case 1:u.push([e-.25-.25*(n+r-2*f)/(r-n),t-.25-.25*(i+r-2*f)/(r-i)]);break;case 2:u.push([e-.75-.25*(-n-r+2*f)/(n-r),t-.25-.25*(a+n-2*f)/(n-a)]);break;case 3:u.push([e-.5,t-.5-.5*(i+r+a+n-4*f)/(r-i+n-a)]);break;case 4:u.push([e-.25-.25*(a+i-2*f)/(i-a),t-.75-.25*(-i-r+2*f)/(i-r)]);break;case 5:u.push([e-.5-.5*(n+r+a+i-4*f)/(r-n+i-a),t-.5]);break;case 6:u.push([e-.5-.25*(-n-r+a+i)/(n-r+i-a),t-.5-.25*(-i-r+a+n)/(i-r+n-a)]);break;case 7:u.push([e-.75-.25*(a+i-2*f)/(i-a),t-.75-.25*(a+n-2*f)/(n-a)]);break;case 8:u.push([e-.75-.25*(-a-i+2*f)/(a-i),t-.75-.25*(-a-n+2*f)/(a-n)]);break;case 9:u.push([e-.5-.25*(n+r+-a-i)/(r-n+a-i),t-.5-.25*(i+r+-a-n)/(r-i+a-n)]);break;case 10:u.push([e-.5-.5*(-n-r-a-i+4*f)/(n-r+a-i),t-.5]);break;case 11:u.push([e-.25-.25*(-a-i+2*f)/(a-i),t-.75-.25*(i+r-2*f)/(r-i)]);break;case 12:u.push([e-.5,t-.5-.5*(-i-r-a-n+4*f)/(i-r+a-n)]);break;case 13:u.push([e-.75-.25*(n+r-2*f)/(r-n),t-.25-.25*(-a-n+2*f)/(a-n)]);break;case 14:u.push([e-.25-.25*(-n-r+2*f)/(n-r),t-.25-.25*(-i-r+2*f)/(i-r)])}},cell:function(e,t,r,n,i,a,o,s,l){i?s.push([e,t]):s.push([t,e])}});return function(e,t){var r=[],i=[];return n(e,r,i,t),{positions:r,cells:i}}}},o={}},665:function(e,t,r){var n=r(3202);e.exports=o;var i=96;function a(e,t){var r=n(getComputedStyle(e).getPropertyValue(t));return r[0]*o(r[1],e)}function o(e,t){switch(t=t||document.body,e=(e||"px").trim().toLowerCase(),(t===window||t===document)&&(t=document.body),e){case"%":return t.clientHeight/100;case"ch":case"ex":return function(e,t){var r=document.createElement("div");r.style["font-size"]="128"+e,t.appendChild(r);var n=a(r,"font-size")/128;return t.removeChild(r),n}(e,t);case"em":return a(t,"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 i;case"cm":return i/2.54;case"mm":return i/25.4;case"pt":return i/72;case"pc":return i/6}return 1}},7261:function(e,t,r){e.exports=function(e){var t=(e=e||{}).center||[0,0,0],r=e.up||[0,1,0],n=e.right||h(r),i=e.radius||1,a=e.theta||0,u=e.phi||0;if(t=[].slice.call(t,0,3),r=[].slice.call(r,0,3),s(r,r),n=[].slice.call(n,0,3),s(n,n),"eye"in e){var p=e.eye,d=[p[0]-t[0],p[1]-t[1],p[2]-t[2]];o(n,d,r),c(n[0],n[1],n[2])<1e-6?n=h(r):s(n,n),i=c(d[0],d[1],d[2]);var m=l(r,d)/i,g=l(n,d)/i;u=Math.acos(m),a=Math.acos(g)}return i=Math.log(i),new f(e.zoomMin,e.zoomMax,t,r,n,i,a,u)};var n=r(9215),i=r(7608),a=r(6079),o=r(5911),s=r(3536),l=r(244);function c(e,t,r){return Math.sqrt(Math.pow(e,2)+Math.pow(t,2)+Math.pow(r,2))}function u(e){return Math.min(1,Math.max(-1,e))}function h(e){var t=Math.abs(e[0]),r=Math.abs(e[1]),n=Math.abs(e[2]),i=[0,0,0];t>Math.max(r,n)?i[2]=1:r>Math.max(t,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=e[l]*e[l],o+=i[l]*e[l];for(l=0;l<3;++l)i[l]-=o/a*e[l];return s(i,i),i}function f(e,t,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(e,t),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var c=0;c<16;++c)this.computedMatrix[c]=.5;this.recalcMatrix(0)}var p=f.prototype;p.setDistanceLimits=function(e,t){e=e>0?Math.log(e):-1/0,t=t>0?Math.log(t):1/0,t=Math.max(t,e),this.radius.bounds[0][0]=e,this.radius.bounds[1][0]=t},p.getDistanceLimits=function(e){var t=this.radius.bounds[0];return e?(e[0]=Math.exp(t[0][0]),e[1]=Math.exp(t[1][0]),e):[Math.exp(t[0][0]),Math.exp(t[1][0])]},p.recalcMatrix=function(e){this.center.curve(e),this.up.curve(e),this.right.curve(e),this.radius.curve(e),this.angle.curve(e);for(var t=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=t[a]*r[a],n+=t[a]*t[a];var l=Math.sqrt(n),u=0;for(a=0;a<3;++a)r[a]-=t[a]*i/n,u+=r[a]*r[a],t[a]/=l;var h=Math.sqrt(u);for(a=0;a<3;++a)r[a]/=h;var f=this.computedToward;o(f,t,r),s(f,f);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],m=this.computedAngle[1],g=Math.cos(d),y=Math.sin(d),v=Math.cos(m),x=Math.sin(m),_=this.computedCenter,b=g*v,w=y*v,T=x,k=-g*x,A=-y*x,M=v,S=this.computedEye,E=this.computedMatrix;for(a=0;a<3;++a){var C=b*r[a]+w*f[a]+T*t[a];E[4*a+1]=k*r[a]+A*f[a]+M*t[a],E[4*a+2]=C,E[4*a+3]=0}var I=E[1],L=E[5],P=E[9],z=E[2],D=E[6],O=E[10],R=L*O-P*D,F=P*z-I*O,B=I*D-L*z,j=c(R,F,B);for(R/=j,F/=j,B/=j,E[0]=R,E[4]=F,E[8]=B,a=0;a<3;++a)S[a]=_[a]+E[2+4*a]*p;for(a=0;a<3;++a){u=0;for(var N=0;N<3;++N)u+=E[a+4*N]*S[N];E[12+a]=-u}E[15]=1},p.getMatrix=function(e,t){this.recalcMatrix(e);var r=this.computedMatrix;if(t){for(var n=0;n<16;++n)t[n]=r[n];return t}return r};var d=[0,0,0];p.rotate=function(e,t,r,n){if(this.angle.move(e,t,r),n){this.recalcMatrix(e);var i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,c=0;c<3;++c)i[4*c]=o[c],i[4*c+1]=s[c],i[4*c+2]=l[c];for(a(i,i,n,d),c=0;c<3;++c)o[c]=i[4*c],s[c]=i[4*c+1];this.up.set(e,o[0],o[1],o[2]),this.right.set(e,s[0],s[1],s[2])}},p.pan=function(e,t,r,n){t=t||0,r=r||0,n=n||0,this.recalcMatrix(e);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=c(a,o,s);a/=l,o/=l,s/=l;var u=i[0],h=i[4],f=i[8],p=u*a+h*o+f*s,d=c(u-=a*p,h-=o*p,f-=s*p),m=(u/=d)*t+a*r,g=(h/=d)*t+o*r,y=(f/=d)*t+s*r;this.center.move(e,m,g,y);var v=Math.exp(this.computedRadius[0]);v=Math.max(1e-4,v+n),this.radius.set(e,Math.log(v))},p.translate=function(e,t,r,n){this.center.move(e,t||0,r||0,n||0)},p.setMatrix=function(e,t,r,n){var a=1;"number"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;t||(this.recalcMatrix(e),t=this.computedMatrix);var s=t[a],l=t[a+4],h=t[a+8];if(n){var f=Math.abs(s),p=Math.abs(l),d=Math.abs(h),m=Math.max(f,p,d);f===m?(s=s<0?-1:1,l=h=0):d===m?(h=h<0?-1:1,s=l=0):(l=l<0?-1:1,s=h=0)}else{var g=c(s,l,h);s/=g,l/=g,h/=g}var y,v,x=t[o],_=t[o+4],b=t[o+8],w=x*s+_*l+b*h,T=c(x-=s*w,_-=l*w,b-=h*w),k=l*(b/=T)-h*(_/=T),A=h*(x/=T)-s*b,M=s*_-l*x,S=c(k,A,M);if(k/=S,A/=S,M/=S,this.center.jump(e,H,G,W),this.radius.idle(e),this.up.jump(e,s,l,h),this.right.jump(e,x,_,b),2===a){var E=t[1],C=t[5],I=t[9],L=E*x+C*_+I*b,P=E*k+C*A+I*M;y=R<0?-Math.PI/2:Math.PI/2,v=Math.atan2(P,L)}else{var z=t[2],D=t[6],O=t[10],R=z*s+D*l+O*h,F=z*x+D*_+O*b,B=z*k+D*A+O*M;y=Math.asin(u(R)),v=Math.atan2(B,F)}this.angle.jump(e,v,y),this.recalcMatrix(e);var j=t[2],N=t[6],U=t[10],V=this.computedMatrix;i(V,t);var q=V[15],H=V[12]/q,G=V[13]/q,W=V[14]/q,Z=Math.exp(this.computedRadius[0]);this.center.jump(e,H-j*Z,G-N*Z,W-U*Z)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(e){this.center.idle(e),this.up.idle(e),this.right.idle(e),this.radius.idle(e),this.angle.idle(e)},p.flush=function(e){this.center.flush(e),this.up.flush(e),this.right.flush(e),this.radius.flush(e),this.angle.flush(e)},p.setDistance=function(e,t){t>0&&this.radius.set(e,Math.log(t))},p.lookAt=function(e,t,r,n){this.recalcMatrix(e),t=t||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=c(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=t[0]-r[0],h=t[1]-r[1],f=t[2]-r[2],p=c(l,h,f);if(!(p<1e-6)){l/=p,h/=p,f/=p;var d=this.computedRight,m=d[0],g=d[1],y=d[2],v=i*m+a*g+o*y,x=c(m-=v*i,g-=v*a,y-=v*o);if(!(x<.01&&(m=a*f-o*h,g=o*l-i*f,y=i*h-a*l,x=c(m,g,y),x<1e-6))){m/=x,g/=x,y/=x,this.up.set(e,i,a,o),this.right.set(e,m,g,y),this.center.set(e,r[0],r[1],r[2]),this.radius.set(e,Math.log(p));var _=a*y-o*g,b=o*m-i*y,w=i*g-a*m,T=c(_,b,w),k=i*l+a*h+o*f,A=m*l+g*h+y*f,M=(_/=T)*l+(b/=T)*h+(w/=T)*f,S=Math.asin(u(k)),E=Math.atan2(M,A),C=this.angle._state,I=C[C.length-1],L=C[C.length-2];I%=2*Math.PI;var P=Math.abs(I+2*Math.PI-E),z=Math.abs(I-E),D=Math.abs(I-2*Math.PI-E);P0?r.pop():new ArrayBuffer(e)}function d(e){return new Uint8Array(p(e),0,e)}function m(e){return new Uint16Array(p(2*e),0,e)}function g(e){return new Uint32Array(p(4*e),0,e)}function y(e){return new Int8Array(p(e),0,e)}function v(e){return new Int16Array(p(2*e),0,e)}function x(e){return new Int32Array(p(4*e),0,e)}function _(e){return new Float32Array(p(4*e),0,e)}function b(e){return new Float64Array(p(8*e),0,e)}function w(e){return o?new Uint8ClampedArray(p(e),0,e):d(e)}function T(e){return s?new BigUint64Array(p(8*e),0,e):null}function k(e){return l?new BigInt64Array(p(8*e),0,e):null}function A(e){return new DataView(p(e),0,e)}function M(e){e=n.nextPow2(e);var t=n.log2(e),r=h[t];return r.length>0?r.pop():new a(e)}t.free=function(e){if(a.isBuffer(e))h[n.log2(e.length)].push(e);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(e)&&(e=e.buffer),!e)return;var t=e.length||e.byteLength,r=0|n.log2(t);u[r].push(e)}},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=function(e){f(e.buffer)},t.freeArrayBuffer=f,t.freeBuffer=function(e){h[n.log2(e.length)].push(e)},t.malloc=function(e,t){if(void 0===t||"arraybuffer"===t)return p(e);switch(t){case"uint8":return d(e);case"uint16":return m(e);case"uint32":return g(e);case"int8":return y(e);case"int16":return v(e);case"int32":return x(e);case"float":case"float32":return _(e);case"double":case"float64":return b(e);case"uint8_clamped":return w(e);case"bigint64":return k(e);case"biguint64":return T(e);case"buffer":return M(e);case"data":case"dataview":return A(e);default:return null}return null},t.mallocArrayBuffer=p,t.mallocUint8=d,t.mallocUint16=m,t.mallocUint32=g,t.mallocInt8=y,t.mallocInt16=v,t.mallocInt32=x,t.mallocFloat32=t.mallocFloat=_,t.mallocFloat64=t.mallocDouble=b,t.mallocUint8Clamped=w,t.mallocBigUint64=T,t.mallocBigInt64=k,t.mallocDataView=A,t.mallocBuffer=M,t.clearCache=function(){for(var e=0;e<32;++e)c.UINT8[e].length=0,c.UINT16[e].length=0,c.UINT32[e].length=0,c.INT8[e].length=0,c.INT16[e].length=0,c.INT32[e].length=0,c.FLOAT[e].length=0,c.DOUBLE[e].length=0,c.BIGUINT64[e].length=0,c.BIGINT64[e].length=0,c.UINT8C[e].length=0,u[e].length=0,h[e].length=0}},1755:function(e){function t(e){this.roots=new Array(e),this.ranks=new Array(e);for(var t=0;t0&&(a=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts)),r.font=[n.fontStyle,n.fontVariant,n.fontWeight,a+"px",n.font].filter((function(e){return e})).join(" "),r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",b(function(e,t,r,n,a,o){r=r.replace(/\n/g,""),r=!0===o.breaklines?r.replace(/\/g,"\n"):r.replace(/\/g," ");var s="",l=[];for(I=0;I-1?parseInt(e[1+i]):0,l=a>-1?parseInt(r[1+a]):0;s!==l&&(n=n.replace(F(),"?px "),z*=Math.pow(.75,l-s),n=n.replace("?px ",F())),P+=.25*k*(l-s)}if(!0===o.superscripts){var c=e.indexOf(d),h=r.indexOf(d),p=c>-1?parseInt(e[1+c]):0,m=h>-1?parseInt(r[1+h]):0;p!==m&&(n=n.replace(F(),"?px "),z*=Math.pow(.75,m-p),n=n.replace("?px ",F())),P-=.25*k*(m-p)}if(!0===o.bolds){var g=e.indexOf(u)>-1,v=r.indexOf(u)>-1;!g&&v&&(n=x?n.replace("italic ","italic bold "):"bold "+n),g&&!v&&(n=n.replace("bold ",""))}if(!0===o.italics){var x=e.indexOf(f)>-1,_=r.indexOf(f)>-1;!x&&_&&(n="italic "+n),x&&!_&&(n=n.replace("italic ",""))}t.font=n}for(C=0;C",a="",o=i.length,s=a.length,l=t[0]===d||t[0]===y,c=0,u=-s;c>-1&&!(-1===(c=r.indexOf(i,c))||(u=r.indexOf(a,c+o),-1===u)||u<=c);){for(var h=c;h=u)n[h]=null,r=r.substr(0,h)+" "+r.substr(h+1);else if(null!==n[h]){var f=n[h].indexOf(t[0]);-1===f?n[h]+=t:l&&(n[h]=n[h].substr(0,f+1)+(1+parseInt(n[h][f+1]))+n[h].substr(f+2))}var p=c+o,m=r.substr(p,u-p).indexOf(i);c=-1!==m?m:u+s}return n}function _(e,t,r,i){var c=function(e,t){var r=n(e,128);return t?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}(e,i),u=function(e,t,r){for(var n=t.textAlign||"start",i=t.textBaseline||"alphabetic",a=[1<<30,1<<30],o=[0,0],s=e.length,l=0;l=0?t[a]:i}))},has___:{value:x((function(t){var n=v(t);return n?r in n:e.indexOf(t)>=0}))},set___:{value:x((function(n,i){var a,o=v(n);return o?o[r]=i:(a=e.indexOf(n))>=0?t[a]=i:(a=e.length,t[a]=i,e[a]=n),this}))},delete___:{value:x((function(n){var i,a,o=v(n);return o?r in o&&delete o[r]:!((i=e.indexOf(n))<0||(a=e.length-1,e[i]=void 0,t[i]=t[a],e[i]=e[a],e.length=a,t.length=a,0))}))}})};m.prototype=Object.create(Object.prototype,{get:{value:function(e,t){return this.get___(e,t)},writable:!0,configurable:!0},has:{value:function(e){return this.has___(e)},writable:!0,configurable:!0},set:{value:function(e,t){return this.set___(e,t)},writable:!0,configurable:!0},delete:{value:function(e){return this.delete___(e)},writable:!0,configurable:!0}}),"function"==typeof r?function(){function n(){this instanceof m||_();var e,n=new r,i=void 0,a=!1;return e=t?function(e,t){return n.set(e,t),n.has(e)||(i||(i=new m),i.set(e,t)),this}:function(e,t){if(a)try{n.set(e,t)}catch{i||(i=new m),i.set___(e,t)}else n.set(e,t);return this},Object.create(m.prototype,{get___:{value:x((function(e,t){return i?n.has(e)?n.get(e):i.get___(e,t):n.get(e,t)}))},has___:{value:x((function(e){return n.has(e)||!!i&&i.has___(e)}))},set___:{value:x(e)},delete___:{value:x((function(e){var t=!!n.delete(e);return i&&i.delete___(e)||t}))},permitHostObjects___:{value:x((function(e){if(e!==g)throw new Error("bogus call to permitHostObjects___");a=!0}))}})}t&&typeof Proxy<"u"&&(Proxy=void 0),n.prototype=m.prototype,e.exports=n,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(typeof Proxy<"u"&&(Proxy=void 0),e.exports=m)}function g(e){e.permitHostObjects___&&e.permitHostObjects___(g)}function y(e){return!(e.substr(0,8)==l&&"___"===e.substr(e.length-3))}function v(e){if(e!==Object(e))throw new TypeError("Not an object: "+e);var t=e[c];if(t&&t.key===e)return t;if(s(e)){t={key:e};try{return o(e,c,{value:t,writable:!1,enumerable:!1,configurable:!1}),t}catch{return}}}function x(e){return e.prototype=null,Object.freeze(e)}function _(){!p&&typeof console<"u"&&(p=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},236:function(e,t,r){var n=r(8284);e.exports=function(){var e={};return function(t){if(("object"!=typeof t||null===t)&&"function"!=typeof t)throw new Error("Weakmap-shim: Key must be object");var r=t.valueOf(e);return r&&r.identity===e?r:n(t,e)}}},8284:function(e){e.exports=function(e,t){var r={identity:t},n=e.valueOf;return Object.defineProperty(e,"valueOf",{value:function(e){return e!==t?n.apply(this,arguments):r},writable:!0}),r}},606:function(e,t,r){var n=r(236);e.exports=function(){var e=n();return{get:function(t,r){var n=e(t);return n.hasOwnProperty("value")?n.value:r},set:function(t,r){return e(t).value=r,this},has:function(t){return"value"in e(t)},delete:function(t){return delete e(t).value}}}},3349:function(e){var t,r,n=function(){return function(e,t,r,n,i,a){var o=e[0],s=r[0],l=[0],c=s;n|=0;var u=0,h=s;for(u=0;u=0!=p>=0&&i.push(l[0]+.5+.5*(f+p)/(f-p)),n+=h,++l[0]}}};e.exports=(t=n.bind(void 0,{funcName:"zeroCrossings"}),r={},function(e,n,i){var a=e.dtype,o=e.order,s=[a,o.join()].join(),l=r[s];return l||(r[s]=l=t([a,o])),l(e.shape.slice(0),e.data,e.stride,0|e.offset,n,i)})},781:function(e,t,r){e.exports=function(e,t){var r=[];return t=+t||0,n(e.hi(e.shape[0]-1),r,t),r};var n=r(3349)},7790:function(){}},r={};function n(t){var i=r[t];if(void 0!==i)return i.exports;var a=r[t]={id:t,loaded:!1,exports:{}};return e[t].call(a.exports,a,a.exports,n),a.loaded=!0,a.exports}n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch{if("object"==typeof window)return window}}(),n.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e};var i=n(1964);t.exports=i}()}}),Xd=m({"node_modules/color-name/index.js"(e,t){t.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]}}}),$d=m({"node_modules/color-normalize/node_modules/color-parse/index.js"(e,t){var r=Xd();t.exports=function(e){var t,i,a=[],o=1;if("string"==typeof e)if(e=e.toLowerCase(),r[e])a=r[e].slice(),i="rgb";else if("transparent"===e)o=0,i="rgb",a=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(e)){var s=e.slice(1);o=1,(u=s.length)<=4?(a=[parseInt(s[0]+s[0],16),parseInt(s[1]+s[1],16),parseInt(s[2]+s[2],16)],4===u&&(o=parseInt(s[3]+s[3],16)/255)):(a=[parseInt(s[0]+s[1],16),parseInt(s[2]+s[3],16),parseInt(s[4]+s[5],16)],8===u&&(o=parseInt(s[6]+s[7],16)/255)),a[0]||(a[0]=0),a[1]||(a[1]=0),a[2]||(a[2]=0),i="rgb"}else if(t=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(e)){var l=t[1],c="rgb"===l;i=s=l.replace(/a$/,"");var u="cmyk"===s?4:"gray"===s?1:3;a=t[2].trim().split(/\s*[,\/]\s*|\s+/).map((function(e,t){if(/%$/.test(e))return t===u?parseFloat(e)/100:"rgb"===s?255*parseFloat(e)/100:parseFloat(e);if("h"===s[t]){if(/deg$/.test(e))return parseFloat(e);if(void 0!==n[e])return n[e]}return parseFloat(e)})),l===s&&a.push(1),o=c||void 0===a[u]?1:a[u],a=a.slice(0,u)}else e.length>10&&/[0-9](?:\s|\/)/.test(e)&&(a=e.match(/([0-9]+)/g).map((function(e){return parseFloat(e)})),i=e.match(/([a-z])/gi).join("").toLowerCase());else isNaN(e)?Array.isArray(e)||e.length?(a=[e[0],e[1],e[2]],i="rgb",o=4===e.length?e[3]:1):e instanceof Object&&(null!=e.r||null!=e.red||null!=e.R?(i="rgb",a=[e.r||e.red||e.R||0,e.g||e.green||e.G||0,e.b||e.blue||e.B||0]):(i="hsl",a=[e.h||e.hue||e.H||0,e.s||e.saturation||e.S||0,e.l||e.lightness||e.L||e.b||e.brightness]),o=e.a||e.alpha||e.opacity||1,null!=e.opacity&&(o/=100)):(i="rgb",a=[e>>>16,(65280&e)>>>8,255&e]);return{space:i,values:a,alpha:o}};var n={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}}),Kd=m({"node_modules/color-normalize/node_modules/color-rgba/index.js"(e,t){var r=$d();t.exports=function(e){Array.isArray(e)&&e.raw&&(e=String.raw.apply(null,arguments));var t,n=r(e);if(!n.space)return[];var i=[0,0,0],a="h"===n.space[0]?[360,100,100]:[255,255,255];return(t=Array(3))[0]=Math.min(Math.max(n.values[0],i[0]),a[0]),t[1]=Math.min(Math.max(n.values[1],i[1]),a[1]),t[2]=Math.min(Math.max(n.values[2],i[2]),a[2]),"h"===n.space[0]&&(t=function(e){var t,r,n,i,a,o=e[0]/360,s=e[1]/100,l=e[2]/100,c=0;if(0===s)return[a=255*l,a,a];for(t=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];c<3;)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,a=6*n<1?t+6*(r-t)*n:2*n<1?r:3*n<2?t+(r-t)*(2/3-n)*6:t,i[c++]=255*a;return i}(t)),t.push(Math.min(Math.max(n.alpha,0),1)),t}}}),Jd=m({"node_modules/clamp/index.js"(e,t){t.exports=function(e,t,r){return tr?r:e:et?t:e}}}),Qd=m({"node_modules/dtype/index.js"(e,t){t.exports=function(e){switch(e){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}}}}),em=m({"node_modules/color-normalize/index.js"(e,t){var r=Kd(),n=Jd(),i=Qd();t.exports=function(e,t){("float"===t||!t)&&(t="array"),"uint"===t&&(t="uint8"),"uint_clamped"===t&&(t="uint8_clamped");var a,o=new(i(t))(4),s="uint8"!==t&&"uint8_clamped"!==t;return(!e.length||"string"==typeof e)&&((e=r(e))[0]/=255,e[1]/=255,e[2]/=255),(a=e)instanceof Uint8Array||a instanceof Uint8ClampedArray||Array.isArray(a)&&(a[0]>1||0===a[0])&&(a[1]>1||0===a[1])&&(a[2]>1||0===a[2])&&(!a[3]||a[3]>1)?(o[0]=e[0],o[1]=e[1],o[2]=e[2],o[3]=null!=e[3]?e[3]:255,s&&(o[0]/=255,o[1]/=255,o[2]/=255,o[3]/=255),o):(s?(o[0]=e[0],o[1]=e[1],o[2]=e[2],o[3]=null!=e[3]?e[3]:1):(o[0]=n(Math.floor(255*e[0]),0,255),o[1]=n(Math.floor(255*e[1]),0,255),o[2]=n(Math.floor(255*e[2]),0,255),o[3]=null==e[3]?255:n(Math.floor(255*e[3]),0,255)),o)}}}),tm=m({"src/lib/str2rgbarray.js"(e,t){var r=em();t.exports=function(e){return e?r(e):[0,0,0,1]}}}),rm=m({"src/lib/gl_format_color.js"(e,t){var r=M(),n=F(),i=em(),a=Yt(),o=G().defaultLine,s=I().isArrayOrTypedArray,l=i(o);function c(e,t){var r=e;return r[3]*=t,r}function u(e){if(r(e))return l;var t=i(e);return t.length?t:l}function h(e){return r(e)?e:1}t.exports={formatColor:function(e,t,r){var n=e.color;n&&n._inputArray&&(n=n._inputArray);var o,f,p,d,m,g=s(n),y=s(t),v=a.extractOpts(e),x=[];if(o=void 0!==v.colorscale?a.makeColorScaleFuncFromTrace(e):u,f=g?function(e,t){return void 0===e[t]?l:i(o(e[t]))}:u,p=y?function(e,t){return void 0===e[t]?1:h(e[t])}:h,g||y)for(var _=0;_0){var f=i.c2l(u);i._lowerLogErrorBound||(i._lowerLogErrorBound=f),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,f)}}else o[s]=[-l[0]*n,l[1]*n]}return o}t.exports=function(e,t,r){var i=[n(e.x,e.error_x,t[0],r.xaxis),n(e.y,e.error_y,t[1],r.yaxis),n(e.z,e.error_z,t[2],r.zaxis)],a=function(e){for(var t=0;t-1?-1:e.indexOf("right")>-1?1:0}function x(e){return null==e?0:e.indexOf("top")>-1?-1:e.indexOf("bottom")>-1?1:0}function _(e,t){return t(4*e)}function b(e){return f[e]}function w(e,t,r,n,i){var a=null;if(s.isArrayOrTypedArray(e)){a=[];for(var o=0;o=0){var E=function(e,t,r){var n,i=(r+1)%3,a=(r+2)%3,s=[],l=[];for(n=0;n=0&&h("surfacecolor",p||d);for(var m=["x","y","z"],g=0;g<3;++g){var y="projection."+m[g];h(y+".show")&&(h(y+".opacity"),h(y+".scale"))}var v=r.getComponentMethod("errorbars","supplyDefaults");v(e,t,p||d||c,{axis:"z"}),v(e,t,p||d||c,{axis:"y",inherit:"z"}),v(e,t,p||d||c,{axis:"x",inherit:"z"})}else t.visible=!1}}}),cm=m({"src/traces/scatter3d/calc.js"(e,t){var r=ai(),n=ii();t.exports=function(e,t){var i=[{x:!1,y:!1,trace:t,t:{}}];return r(i,t),n(e,t),i}}}),um=m({"node_modules/get-canvas-context/index.js"(e,t){t.exports=function(e,t){if("string"!=typeof e)throw new TypeError("must specify type string");if(t=t||{},typeof document>"u"&&!t.canvas)return null;var r=t.canvas||document.createElement("canvas");"number"==typeof t.width&&(r.width=t.width),"number"==typeof t.height&&(r.height=t.height);var n,i=t;try{var a=[e];0===e.indexOf("webgl")&&a.push("experimental-"+e);for(var o=0;o/g," "));l[c]=p,u.tickmode=h}}for(t.ticks=l,c=0;c<3;++c)for(a[c]=.5*(e.glplot.bounds[0][c]+e.glplot.bounds[1][c]),d=0;d<2;++d)t.bounds[d][c]=e.glplot.bounds[d][c];e.contourLevels=function(e){for(var t=new Array(3),r=0;r<3;++r){for(var n=e[r],i=new Array(n.length),a=0;ar.deltaY?1.1:.9090909090909091,a=e.glplot.getAspectratio();e.glplot.setAspectratio({x:n*a.x,y:n*a.y,z:n*a.z})}i(e)}}),!!l&&{passive:!1}),e.glplot.canvas.addEventListener("mousemove",(function(){if(!1!==e.fullSceneLayout.dragmode&&0!==e.camera.mouseListener.buttons){var t=n();e.graphDiv.emit("plotly_relayouting",t)}})),e.staticMode||e.glplot.canvas.addEventListener("webglcontextlost",(function(r){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:r,layer:e.id})}),!1)),e.glplot.oncontextloss=function(){e.recoverContext()},e.glplot.onrender=function(){e.render()},!0},T.render=function(){var e,t=this,r=t.graphDiv,n=t.svgContainer,i=t.container.getBoundingClientRect();r._fullLayout._calcInverseTransform(r);var a=r._fullLayout._invScaleX,o=r._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,"viewBox","0 0 "+s+" "+l),n.setAttributeNS(null,"width",s),n.setAttributeNS(null,"height",l),x(t),t.glplot.axes.update(t.axesOptions);for(var c=Object.keys(t.traces),h=null,d=t.glplot.selection,m=0;m")):"isosurface"===e.type||"volume"===e.type?(T.valueLabel=f.hoverLabelText(t._mockAxis,t._mockAxis.d2l(d.traceCoordinate[3]),e.valuehoverformat),E.push("value: "+T.valueLabel),d.textLabel&&E.push(d.textLabel),S=E.join("
")):S=d.textLabel;var C={x:d.traceCoordinate[0],y:d.traceCoordinate[1],z:d.traceCoordinate[2],data:_._input,fullData:_,curveNumber:_.index,pointNumber:w};p.appendArrayPointValue(C,_,w),e._module.eventData&&(C=_._module.eventData(C,d,_,{},w));var I={points:[C]};if(t.fullSceneLayout.hovermode){var L=[];p.loneHover({trace:_,x:(.5+.5*v[0]/v[3])*s,y:(.5-.5*v[1]/v[3])*l,xLabel:T.xLabel,yLabel:T.yLabel,zLabel:T.zLabel,text:S,name:h.name,color:p.castHoverOption(_,w,"bgcolor")||h.color,borderColor:p.castHoverOption(_,w,"bordercolor"),fontFamily:p.castHoverOption(_,w,"font.family"),fontSize:p.castHoverOption(_,w,"font.size"),fontColor:p.castHoverOption(_,w,"font.color"),nameLength:p.castHoverOption(_,w,"namelength"),textAlign:p.castHoverOption(_,w,"align"),hovertemplate:u.castOption(_,w,"hovertemplate"),hovertemplateLabels:u.extendFlat({},C,T),eventData:[C]},{container:n,gd:r,inOut_bbox:L}),C.bbox=L[0]}d.distance<5&&(d.buttons||b)?r.emit("plotly_click",I):r.emit("plotly_hover",I),this.oldEventData=I}else p.loneUnhover(n),this.oldEventData&&r.emit("plotly_unhover",this.oldEventData),this.oldEventData=void 0;t.drawAnnotations(t)},T.recoverContext=function(){var e=this;e.glplot.dispose();var t=function(){e.glplot.gl.isContextLost()?requestAnimationFrame(t):e.initializeGLPlot()?e.plot.apply(e,e.plotArgs):u.error("Catastrophic and unrecoverable WebGL error. Context lost.")};requestAnimationFrame(t)};var A=["xaxis","yaxis","zaxis"];function M(e,t,r){for(var n=e.fullSceneLayout,i=0;i<3;i++){var a=A[i],o=a.charAt(0),s=n[a],l=t[o],c=t[o+"calendar"],h=t["_"+o+"length"];if(u.isArrayOrTypedArray(l))for(var f,p=0;p<(h||l.length);p++)if(u.isArrayOrTypedArray(l[p]))for(var d=0;dg[1][o])g[0][o]=-1,g[1][o]=1;else{var L=g[1][o]-g[0][o];g[0][o]-=L/32,g[1][o]+=L/32}if(x=[g[0][o],g[1][o]],x=_(x,l),g[0][o]=x[0],g[1][o]=x[1],l.isReversed()){var P=g[0][o];g[0][o]=g[1][o],g[1][o]=P}}else x=l.range,g[0][o]=l.r2l(x[0]),g[1][o]=l.r2l(x[1]);g[0][o]===g[1][o]&&(g[0][o]-=1,g[1][o]+=1),y[o]=g[1][o]-g[0][o],l.range=[g[0][o],g[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*p[o],max:l.range[1]*p[o]})}var z,D=u.aspectmode;if("cube"===D)z=[1,1,1];else if("manual"===D){var O=u.aspectratio;z=[O.x,O.y,O.z]}else{if("auto"!==D&&"data"!==D)throw new Error("scene.js aspectRatio was not one of the enumerated types");var R=[1,1,1];for(o=0;o<3;++o){var F=v[c=(l=u[A[o]]).type];R[o]=Math.pow(F.acc,1/F.count)/p[o]}z="data"===D||Math.max.apply(null,R)/Math.min.apply(null,R)<=4?R:[1,1,1]}u.aspectratio.x=h.aspectratio.x=z[0],u.aspectratio.y=h.aspectratio.y=z[1],u.aspectratio.z=h.aspectratio.z=z[2],n.glplot.setAspectratio(u.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:u.aspectratio.x,y:u.aspectratio.y,z:u.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=u.aspectmode);var B=u.domain||null,j=t._size||null;if(B&&j){var N=n.container.style;N.position="absolute",N.left=j.l+B.x[0]*j.w+"px",N.top=j.t+(1-B.y[1])*j.h+"px",N.width=j.w*(B.x[1]-B.x[0])+"px",N.height=j.h*(B.y[1]-B.y[0])+"px"}n.glplot.redraw()}},T.destroy=function(){var e=this;e.glplot&&(e.camera.mouseListener.enabled=!1,e.container.removeEventListener("wheel",e.camera.wheelListener),e.camera=null,e.glplot.dispose(),e.container.parentNode.removeChild(e.container),e.glplot=null)},T.getCamera=function(){var e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),function(e){return{up:{x:e.up[0],y:e.up[1],z:e.up[2]},center:{x:e.center[0],y:e.center[1],z:e.center[2]},eye:{x:e.eye[0],y:e.eye[1],z:e.eye[2]},projection:{type:!0===e._ortho?"orthographic":"perspective"}}}(e.camera)},T.setViewport=function(e){var t=this,r=e.camera;t.camera.lookAt.apply(this,function(e){return[[e.eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]}(r)),t.glplot.setAspectratio(e.aspectratio),"orthographic"===r.projection.type!==t.camera._ortho&&(t.glplot.redraw(),t.glplot.clearRGBA(),t.glplot.dispose(),t.initializeGLPlot())},T.isCameraChanged=function(e){var t,r,n,i,a,o,s=this.getCamera(),l=u.nestedProperty(e,this.id+".camera").get(),c=!1;if(void 0===l)c=!0;else{for(var h=0;h<3;h++)for(var f=0;f<3;f++)if(t=s,i=f,void 0,void 0,o=["x","y","z"],!(r=l)[(a=["up","center","eye"])[n=h]]||t[a[n]][o[i]]!==r[a[n]][o[i]]){c=!0;break}(!l.projection||s.projection&&s.projection.type!==l.projection.type)&&(c=!0)}return c},T.isAspectChanged=function(e){var t=this.glplot.getAspectratio(),r=u.nestedProperty(e,this.id+".aspectratio").get();return void 0===r||r.x!==t.x||r.y!==t.y||r.z!==t.z},T.saveLayout=function(e){var t,r,n,i,a,o,s=this,l=s.fullLayout,h=s.isCameraChanged(e),f=s.isAspectChanged(e),p=h||f;if(p){var d={};h&&(t=s.getCamera(),n=(r=u.nestedProperty(e,s.id+".camera")).get(),d[s.id+".camera"]=n),f&&(i=s.glplot.getAspectratio(),o=(a=u.nestedProperty(e,s.id+".aspectratio")).get(),d[s.id+".aspectratio"]=o),c.call("_storeDirectGUIEdit",e,l._preGUI,d),h&&(r.set(t),u.nestedProperty(l,s.id+".camera").set(t)),f&&(a.set(i),u.nestedProperty(l,s.id+".aspectratio").set(i),s.glplot.redraw())}return p},T.updateFx=function(e,t){var r=this,n=r.camera;if(n)if("orbit"===e)n.mode="orbit",n.keyBindingMode="rotate";else if("turntable"===e){n.up=[0,0,1],n.mode="turntable",n.keyBindingMode="rotate";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,h=o.up.z;if(h/Math.sqrt(s*s+l*l+h*h)<.999){var f=r.id+".camera.up",p={x:0,y:0,z:1},d={};d[f]=p;var m=i.layout;c.call("_storeDirectGUIEdit",m,a._preGUI,d),o.up=p,u.nestedProperty(m,f).set(p)}}else n.keyBindingMode=e;r.fullSceneLayout.hovermode=t},T.toImage=function(e){var t=this;e||(e="png"),t.staticMode&&t.container.appendChild(r),t.glplot.redraw();var n=t.glplot.gl,i=n.drawingBufferWidth,a=n.drawingBufferHeight;n.bindFramebuffer(n.FRAMEBUFFER,null);var o=new Uint8Array(i*a*4);n.readPixels(0,0,i,a,n.RGBA,n.UNSIGNED_BYTE,o),function(e,t,r){for(var n=0,i=r-1;n0)for(var s=255/o,l=0;l<3;++l)e[a+l]=Math.min(s*e[a+l],255)}}(o,i,a);var s=document.createElement("canvas");s.width=i,s.height=a;var l,c=s.getContext("2d",{willReadFrequently:!0}),u=c.createImageData(i,a);switch(u.data.set(o),c.putImageData(u,0,0),e){case"jpeg":l=s.toDataURL("image/jpeg");break;case"webp":l=s.toDataURL("image/webp");break;default:l=s.toDataURL("image/png")}return t.staticMode&&t.container.removeChild(r),l},T.setConvert=function(){for(var e=0;e<3;e++){var t=this.fullSceneLayout[A[e]];f.setConvert(t,this.fullLayout),t.setScale=u.noop}},T.make4thDimension=function(){var e=this,t=e.graphDiv._fullLayout;e._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},f.setConvert(e._mockAxis,t)},t.exports=w}}),ym=m({"src/plots/gl3d/layout/attributes.js"(e,t){t.exports={scene:{valType:"subplotid",dflt:"scene",editType:"calc+clearAxisTypes"}}}}),vm=m({"src/plots/gl3d/layout/axis_attributes.js"(e,t){var r=W(),n=Lt(),i=B().extendFlat,a=De().overrideAll;t.exports=a({visible:n.visible,showspikes:{valType:"boolean",dflt:!0},spikesides:{valType:"boolean",dflt:!0},spikethickness:{valType:"number",min:0,dflt:2},spikecolor:{valType:"color",dflt:r.defaultLine},showbackground:{valType:"boolean",dflt:!1},backgroundcolor:{valType:"color",dflt:"rgba(204, 204, 204, 0.5)"},showaxeslabels:{valType:"boolean",dflt:!0},color:n.color,categoryorder:n.categoryorder,categoryarray:n.categoryarray,title:{text:n.title.text,font:n.title.font},type:i({},n.type,{values:["-","linear","log","date","category"]}),autotypenumbers:n.autotypenumbers,autorange:n.autorange,autorangeoptions:{minallowed:n.autorangeoptions.minallowed,maxallowed:n.autorangeoptions.maxallowed,clipmin:n.autorangeoptions.clipmin,clipmax:n.autorangeoptions.clipmax,include:n.autorangeoptions.include,editType:"plot"},rangemode:n.rangemode,minallowed:n.minallowed,maxallowed:n.maxallowed,range:i({},n.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],anim:!1}),tickmode:n.minor.tickmode,nticks:n.nticks,tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:n.ticks,mirror:n.mirror,ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,labelalias:n.labelalias,tickfont:n.tickfont,tickangle:n.tickangle,tickprefix:n.tickprefix,showtickprefix:n.showtickprefix,ticksuffix:n.ticksuffix,showticksuffix:n.showticksuffix,showexponent:n.showexponent,exponentformat:n.exponentformat,minexponent:n.minexponent,separatethousands:n.separatethousands,tickformat:n.tickformat,tickformatstops:n.tickformatstops,hoverformat:n.hoverformat,showline:n.showline,linecolor:n.linecolor,linewidth:n.linewidth,showgrid:n.showgrid,gridcolor:i({},n.gridcolor,{dflt:"rgb(204, 204, 204)"}),gridwidth:n.gridwidth,zeroline:n.zeroline,zerolinecolor:n.zerolinecolor,zerolinewidth:n.zerolinewidth},"plot","from-root")}}),xm=m({"src/plots/gl3d/layout/layout_attributes.js"(e,t){var r=vm(),n=Ma().attributes,i=B().extendFlat,a=ct().counterRegex;function o(e,t,r){return{x:{valType:"number",dflt:e,editType:"camera"},y:{valType:"number",dflt:t,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}t.exports={_arrayAttrRegexps:[a("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:i(o(0,0,1),{}),center:i(o(0,0,0),{}),eye:i(o(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:n({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:r,yaxis:r,zaxis:r,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"}}}),_m=m({"src/plots/gl3d/layout/axis_defaults.js"(e,t){var r=F().mix,n=ct(),i=vt(),a=vm(),o=wi(),s=Ai(),l=["xaxis","yaxis","zaxis"],c=13600/187;t.exports=function(e,t,u){var h,f;function p(e,t){return n.coerce(h,f,a,e,t)}for(var d=0;d.999)&&(g="turntable")}else g="turntable";r("dragmode",g),r("hovermode",a.getDfltFromLayout("hovermode"))}t.exports=function(e,t,n){var i=t._basePlotModules.length>1;a(e,t,n,{type:c,attributes:s,handleDefaults:u,fullLayout:t,font:t.font,fullData:n,getDfltFromLayout:function(t){if(!i&&r.validate(e[t],s[t]))return e[t]},autotypenumbersDflt:t.autotypenumbers,paper_bgcolor:t.paper_bgcolor,calendar:t.calendar})}}}),wm=m({"src/plots/gl3d/index.js"(e){var t=De().overrideAll,r=U(),n=gm(),i=Tt().getSubplotData,a=ct(),o=Mt(),s="gl3d",l="scene";e.name=s,e.attr=l,e.idRoot=l,e.idRegex=e.attrRegex=a.counterRegex("scene"),e.attributes=ym(),e.layoutAttributes=xm(),e.baseLayoutAttrOverrides=t({hoverlabel:r.hoverlabel},"plot","nested"),e.supplyLayoutDefaults=bm(),e.plot=function(e){for(var t=e._fullLayout,r=e._fullData,a=t._subplots[s],o=0;o0){r=p[n];break}return r}function y(e,t){if(!(e<1||t<1)){for(var r=m(e),n=m(t),i=1,a=0;a_;)r--,r/=g(r),++r1?n:1},f.refineCoords=function(e){for(var t=this.dataScaleX,r=this.dataScaleY,i=e[0].shape[0],a=e[0].shape[1],o=0|Math.floor(e[0].shape[0]*t+1),s=0|Math.floor(e[0].shape[1]*r+1),l=1+i+1,c=1+a+1,u=n(new Float32Array(l*c),[l,c]),h=[1/t,0,0,0,1/r,0,0,0,1],f=0;f0&&null!==this.contourStart[e]&&null!==this.contourEnd[e]&&this.contourEnd[e]>this.contourStart[e]))for(i[e]=!0,t=this.contourStart[e];tv&&(this.minValues[m]=v),this.maxValues[m]l&&(t.isomin=null,t.isomax=null);var c=o("x"),u=o("y"),h=o("z"),f=o("value");c&&c.length&&u&&u.length&&h&&h.length&&f&&f.length?(n.getComponentMethod("calendars","handleTraceDefaults")(e,t,["x","y","z"],i),o("valuehoverformat"),["x","y","z"].forEach((function(e){o(e+"hoverformat");var t="caps."+e;o(t+".show")&&o(t+".fill");var r="slices."+e;o(r+".show")&&(o(r+".fill"),o(r+".locations"))})),o("spaceframe.show")&&o("spaceframe.fill"),o("surface.show")&&(o("surface.count"),o("surface.fill"),o("surface.pattern")),o("contour.show")&&(o("contour.color"),o("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(e){o(e)})),a(e,t,i,o,{prefix:"",cLetter:"c"}),t._length=null):t.visible=!1}t.exports={supplyDefaults:function(e,t,n,a){o(e,t,0,a,(function(n,a){return r.coerce(e,t,i,n,a)}))},supplyIsoDefaults:o}}}),Dm=m({"src/traces/streamtube/calc.js"(e,t){var r=ct(),n=Zt();function i(e){var t,n,i,o,s,l,c,u,h,f,p,d,m=e._x,g=e._y,y=e._z,v=e._len,x=-1/0,_=1/0,b=-1/0,w=1/0,T=-1/0,k=1/0,A="";for(v&&(c=m[0],h=g[0],p=y[0]),v>1&&(u=m[v-1],f=g[v-1],d=y[v-1]),t=0;tu?"-":"+")+"x")).replace("y",(h>f?"-":"+")+"y")).replace("z",(p>d?"-":"+")+"z");var C=function(){v=0,M=[],S=[],E=[]};(!v||v0;r--){var n=Math.min(t[r],t[r-1]),i=Math.max(t[r],t[r-1]);if(i>n&&n-1}function F(e,t){return null===e?t:e}function B(e,t,r){I();var n=[t],i=[r];if(s>=1)n=[t],i=[r];else if(s>0){var a=function(e,t){var r=e[0],n=e[1],i=e[2],a=function(e,t,r){for(var n=[],i=0;i-1?r[c]:C(u,h,f);l[c]=d>-1?d:P(u,h,f,F(e,p))}z(l[0],l[1],l[2])}}function j(e,t,r,n){var i=e[3];in&&(i=n);for(var a=(e[3]-i)/(e[3]-t[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-a)*e[s]+a*t[s];return o}function N(e,t,r){return e>=t&&e<=r}function U(e){var t=.001*(E-S);return e>=S-t&&e<=E+t}function V(t){for(var r=[],n=0;n<4;n++){var i=t[n];r.push([e._x[i],e._y[i],e._z[i],e._value[i]])}return r}function q(e,t,r,n,i,a){a||(a=1),r=[-1,-1,-1];var o=!1,s=[N(t[0][3],n,i),N(t[1][3],n,i),N(t[2][3],n,i)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(e,t,r){return U(t[0][3])&&U(t[1][3])&&U(t[2][3])?(B(e,t,r),!0):a<3&&q(e,t,r,S,E,++a)};if(s[0]&&s[1]&&s[2])return l(e,t,r)||o;var c=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach((function(a){if(s[a[0]]&&s[a[1]]&&!s[a[2]]){var u=t[a[0]],h=t[a[1]],f=t[a[2]],p=j(f,u,n,i),d=j(f,h,n,i);o=l(e,[d,p,u],[-1,-1,r[a[0]]])||o,o=l(e,[u,h,d],[r[a[0]],r[a[1]],-1])||o,c=!0}})),c||[[0,1,2],[1,2,0],[2,0,1]].forEach((function(a){if(s[a[0]]&&!s[a[1]]&&!s[a[2]]){var u=t[a[0]],h=t[a[1]],f=t[a[2]],p=j(h,u,n,i),d=j(f,u,n,i);o=l(e,[d,p,u],[-1,-1,r[a[0]]])||o,c=!0}})),o}function H(e,t,r,n){var i=!1,a=V(t),o=[N(a[0][3],r,n),N(a[1][3],r,n),N(a[2][3],r,n),N(a[3][3],r,n)];if(!(o[0]||o[1]||o[2]||o[3]))return i;if(o[0]&&o[1]&&o[2]&&o[3])return m&&(i=function(e,t,r){var n=function(n,i,a){B(e,[t[n],t[i],t[a]],[r[n],r[i],r[a]])};n(0,1,2),n(3,0,1),n(2,3,0),n(1,2,3)}(e,a,t)||i),i;var s=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&o[l[2]]&&!o[l[3]]){var c=a[l[0]],u=a[l[1]],h=a[l[2]],f=a[l[3]];if(m)i=B(e,[c,u,h],[t[l[0]],t[l[1]],t[l[2]]])||i;else{var p=j(f,c,r,n),d=j(f,u,r,n),g=j(f,h,r,n);i=B(null,[p,d,g],[-1,-1,-1])||i}s=!0}})),s||([[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2],[0,2,3,1],[1,3,2,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&!o[l[2]]&&!o[l[3]]){var c=a[l[0]],u=a[l[1]],h=a[l[2]],f=a[l[3]],p=j(h,c,r,n),d=j(h,u,r,n),g=j(f,u,r,n),y=j(f,c,r,n);m?(i=B(e,[c,y,p],[t[l[0]],-1,-1])||i,i=B(e,[u,d,g],[t[l[1]],-1,-1])||i):i=function(e,t,r){var n=function(e,n,i){B(null,[t[e],t[n],t[i]],[r[e],r[n],r[i]])};n(0,1,2),n(2,3,0)}(0,[p,d,g,y],[-1,-1,-1,-1])||i,s=!0}})),s)||[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach((function(l){if(o[l[0]]&&!o[l[1]]&&!o[l[2]]&&!o[l[3]]){var c=a[l[0]],u=a[l[1]],h=a[l[2]],f=a[l[3]],p=j(u,c,r,n),d=j(h,c,r,n),g=j(f,c,r,n);m?(i=B(e,[c,p,d],[t[l[0]],-1,-1])||i,i=B(e,[c,d,g],[t[l[0]],-1,-1])||i,i=B(e,[c,g,p],[t[l[0]],-1,-1])||i):i=B(null,[p,d,g],[-1,-1,-1])||i,s=!0}})),i}function G(e,t,r,n,i,a,o,s,l,c,u){var h=!1;return d&&(R(e,"A")&&(h=H(null,[t,r,n,a],c,u)||h),R(e,"B")&&(h=H(null,[r,n,i,l],c,u)||h),R(e,"C")&&(h=H(null,[r,a,o,l],c,u)||h),R(e,"D")&&(h=H(null,[n,a,s,l],c,u)||h),R(e,"E")&&(h=H(null,[r,n,a,l],c,u)||h)),m&&(h=H(e,[r,n,a,l],c,u)||h),h}function W(e,t,r,n,i,a,o,s){return[!0===s[0]||q(e,V([t,r,n]),[t,r,n],a,o),!0===s[1]||q(e,V([n,i,t]),[n,i,t],a,o)]}function Z(e,t,r,n,i,a,o,s,l){return s?W(e,t,r,i,n,a,o,l):W(e,r,i,n,t,a,o,l)}function Y(e,t,r,n,i,a,o){var s,l,c,u,h=!1,f=function(){h=q(e,[s,l,c],[-1,-1,-1],i,a)||h,h=q(e,[c,u,s],[-1,-1,-1],i,a)||h},p=o[0],d=o[1],m=o[2];return p&&(s=D(V([k(t,r-0,n-0)])[0],V([k(t-1,r-0,n-0)])[0],p),l=D(V([k(t,r-0,n-1)])[0],V([k(t-1,r-0,n-1)])[0],p),c=D(V([k(t,r-1,n-1)])[0],V([k(t-1,r-1,n-1)])[0],p),u=D(V([k(t,r-1,n-0)])[0],V([k(t-1,r-1,n-0)])[0],p),f()),d&&(s=D(V([k(t-0,r,n-0)])[0],V([k(t-0,r-1,n-0)])[0],d),l=D(V([k(t-0,r,n-1)])[0],V([k(t-0,r-1,n-1)])[0],d),c=D(V([k(t-1,r,n-1)])[0],V([k(t-1,r-1,n-1)])[0],d),u=D(V([k(t-1,r,n-0)])[0],V([k(t-1,r-1,n-0)])[0],d),f()),m&&(s=D(V([k(t-0,r-0,n)])[0],V([k(t-0,r-0,n-1)])[0],m),l=D(V([k(t-0,r-1,n)])[0],V([k(t-0,r-1,n-1)])[0],m),c=D(V([k(t-1,r-1,n)])[0],V([k(t-1,r-1,n-1)])[0],m),u=D(V([k(t-1,r-0,n)])[0],V([k(t-1,r-0,n-1)])[0],m),f()),h}function X(e,t,r,n,i,a,o,s,l,c,u,h){var f=e;return h?(d&&"even"===e&&(f=null),G(f,t,r,n,i,a,o,s,l,c,u)):(d&&"odd"===e&&(f=null),G(f,l,s,o,a,i,n,r,t,c,u))}function $(e,t,r,n,i){for(var a=[],o=0,s=0;sMath.abs(T-M)?[A,T]:[T,M];ee(r,C[0],C[1])}}var I=[[Math.min(S,M),Math.max(S,M)],[Math.min(A,E),Math.max(A,E)]];["x","y","z"].forEach((function(r){for(var n=[],i=0;i0&&(h.push(d.id),"x"===r?f.push([d.distRatio,0,0]):"y"===r?f.push([0,d.distRatio,0]):f.push([0,0,d.distRatio]))}else u=ie(1,"x"===r?_-1:"y"===r?b-1:w-1);h.length>0&&(n[a]="x"===r?te(t,h,o,s,f,n[a]):"y"===r?re(t,h,o,s,f,n[a]):ne(t,h,o,s,f,n[a]),a++),u.length>0&&(n[a]="x"===r?$(t,u,o,s,n[a]):"y"===r?K(t,u,o,s,n[a]):J(t,u,o,s,n[a]),a++)}var m=e.caps[r];m.show&&m.fill&&(O(m.fill),n[a]="x"===r?$(t,[0,_-1],o,s,n[a]):"y"===r?K(t,[0,b-1],o,s,n[a]):J(t,[0,w-1],o,s,n[a]),a++)}})),0===g&&L(),e._meshX=n,e._meshY=i,e._meshZ=a,e._meshIntensity=o,e._Xs=y,e._Ys=v,e._Zs=x}(),e}t.exports={findNearestOnAxis:l,generateIsoMeshes:f,createIsosurfaceTrace:function(e,t){var n=e.glplot.gl,i=r({gl:n}),a=new c(e,i,t.uid);return i._trace=a,a.update(t),e.glplot.add(i),a}}}}),Bm=m({"src/traces/isosurface/index.js"(e,t){t.exports={attributes:Pm(),supplyDefaults:zm().supplyDefaults,calc:Om(),colorbar:{min:"cmin",max:"cmax"},plot:Fm().createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:wm(),categories:["gl3d","showLegend"],meta:{}}}}),jm=m({"lib/isosurface.js"(e,t){t.exports=Bm()}}),Nm=m({"src/traces/volume/attributes.js"(e,t){var r=zt(),n=Pm(),i=Am(),a=q(),o=B().extendFlat,s=De().overrideAll,l=t.exports=s(o({x:n.x,y:n.y,z:n.z,value:n.value,isomin:n.isomin,isomax:n.isomax,surface:n.surface,spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:1}},slices:n.slices,caps:n.caps,text:n.text,hovertext:n.hovertext,xhoverformat:n.xhoverformat,yhoverformat:n.yhoverformat,zhoverformat:n.zhoverformat,valuehoverformat:n.valuehoverformat,hovertemplate:n.hovertemplate,hovertemplatefallback:n.hovertemplatefallback},r("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{colorbar:n.colorbar,opacity:n.opacity,opacityscale:i.opacityscale,lightposition:n.lightposition,lighting:n.lighting,flatshading:n.flatshading,contour:n.contour,hoverinfo:o({},a.hoverinfo),showlegend:o({},a.showlegend,{dflt:!1})}),"calc","nested");l.x.editType=l.y.editType=l.z.editType=l.value.editType="calc+clearAxisTypes"}}),Um=m({"src/traces/volume/defaults.js"(e,t){var r=ct(),n=Nm(),i=zm().supplyIsoDefaults,a=Mm().opacityscaleDefaults;t.exports=function(e,t,o,s){function l(i,a){return r.coerce(e,t,n,i,a)}i(e,t,o,s,l),a(e,t,s,l)}}}),Vm=m({"src/traces/volume/convert.js"(e,t){var r=Yd().gl_mesh3d,n=rm().parseColorScale,i=ct().isArrayOrTypedArray,a=tm(),o=Yt().extractOpts,s=Rm(),l=Fm().findNearestOnAxis,c=Fm().generateIsoMeshes;function u(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name="",this.data=null,this.showContour=!1}var h=u.prototype;h.handlePick=function(e){if(e.object===this.mesh){var t=e.data.index,r=this.data._meshX[t],n=this.data._meshY[t],a=this.data._meshZ[t],o=this.data._Ys.length,s=this.data._Zs.length,c=l(r,this.data._Xs).id,u=l(n,this.data._Ys).id,h=l(a,this.data._Zs).id,f=e.index=h+s*u+s*o*c;e.traceCoordinate=[this.data._meshX[f],this.data._meshY[f],this.data._meshZ[f],this.data._value[f]];var p=this.data.hovertext||this.data.text;return i(p)&&void 0!==p[f]?e.textLabel=p[f]:p&&(e.textLabel=p),!0}},h.update=function(e){var t=this.scene,r=t.fullSceneLayout;function i(e,t,r,n){return t.map((function(t){return e.d2l(t,0,n)*r}))}this.data=c(e);var l={positions:s(i(r.xaxis,e._meshX,t.dataScale[0],e.xcalendar),i(r.yaxis,e._meshY,t.dataScale[1],e.ycalendar),i(r.zaxis,e._meshZ,t.dataScale[2],e.zcalendar)),cells:s(e._meshI,e._meshJ,e._meshK),lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,opacityscale:e.opacityscale,contourEnable:e.contour.show,contourColor:a(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading},u=o(e);l.vertexIntensity=e._meshIntensity,l.vertexIntensityBounds=[u.min,u.max],l.colormap=n(e),this.mesh.update(l)},h.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},t.exports=function(e,t){var n=e.glplot.gl,i=r({gl:n}),a=new u(e,i,t.uid);return i._trace=a,a.update(t),e.glplot.add(i),a}}}),qm=m({"src/traces/volume/index.js"(e,t){t.exports={attributes:Nm(),supplyDefaults:Um(),calc:Om(),colorbar:{min:"cmin",max:"cmax"},plot:Vm(),moduleType:"trace",name:"volume",basePlotModule:wm(),categories:["gl3d","showLegend"],meta:{}}}}),Hm=m({"lib/volume.js"(e,t){t.exports=qm()}}),Gm=m({"src/traces/mesh3d/defaults.js"(e,t){var r=He(),n=ct(),i=Ht(),a=Lm();t.exports=function(e,t,o,s){function l(r,i){return n.coerce(e,t,a,r,i)}function c(e){var t=e.map((function(e){var t=l(e);return t&&n.isArrayOrTypedArray(t)?t:null}));return t.every((function(e){return e&&e.length===t[0].length}))&&t}c(["x","y","z"])?(c(["i","j","k"]),(!t.i||t.j&&t.k)&&(!t.j||t.k&&t.i)&&(!t.k||t.i&&t.j)?(r.getComponentMethod("calendars","handleTraceDefaults")(e,t,["x","y","z"],s),["lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","alphahull","delaunayaxis","opacity"].forEach((function(e){l(e)})),l("contour.show")&&(l("contour.color"),l("contour.width")),"intensity"in e?(l("intensity"),l("intensitymode"),i(e,t,s,l,{prefix:"",cLetter:"c"})):(t.showscale=!1,"facecolor"in e?l("facecolor"):"vertexcolor"in e?l("vertexcolor"):l("color",o)),l("text"),l("hovertext"),l("hovertemplate"),l("hovertemplatefallback"),l("xhoverformat"),l("yhoverformat"),l("zhoverformat"),t._length=null):t.visible=!1):t.visible=!1}}}),Wm=m({"src/traces/mesh3d/calc.js"(e,t){var r=Zt();t.exports=function(e,t){t.intensity&&r(e,t,{vals:t.intensity,containerStr:"",cLetter:"c"})}}}),Zm=m({"src/traces/mesh3d/convert.js"(e,t){var r=Yd().gl_mesh3d,n=Yd().delaunay_triangulate,i=Yd().alpha_shape,a=Yd().convex_hull,o=rm().parseColorScale,s=ct().isArrayOrTypedArray,l=tm(),c=Yt().extractOpts,u=Rm();function h(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var f=h.prototype;function p(e){for(var t=[],r=e.length,n=0;n=t-.5)return!1;return!0}f.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index;e.data._cellCenter?e.traceCoordinate=e.data.dataCoordinate:e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]];var r=this.data.hovertext||this.data.text;return s(r)&&void 0!==r[t]?e.textLabel=r[t]:r&&(e.textLabel=r),!0}},f.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=e;var s,h=e.x.length,f=u(d(r.xaxis,e.x,t.dataScale[0],e.xcalendar),d(r.yaxis,e.y,t.dataScale[1],e.ycalendar),d(r.zaxis,e.z,t.dataScale[2],e.zcalendar));if(e.i&&e.j&&e.k){if(e.i.length!==e.j.length||e.j.length!==e.k.length||!g(e.i,h)||!g(e.j,h)||!g(e.k,h))return;s=u(m(e.i),m(e.j),m(e.k))}else s=0===e.alphahull?a(f):e.alphahull>0?i(e.alphahull,f):function(e,t){for(var r=["x","y","z"].indexOf(e),i=[],a=t.length,o=0;o2?e.slice(1,t-1):2===t?[(e[0]+e[1])/2]:e}function f(e){var t=e.length;return 1===t?[.5,.5]:[e[1]-e[0],e[t-1]-e[t-2]]}function p(e,t){var n=e.fullSceneLayout,c=e.dataScale,u=t._len,p={};function d(e,t){var r=n[t],a=c[l[t]];return i.simpleMap(e,(function(e){return r.d2l(e)*a}))}if(p.vectors=s(d(t._u,"xaxis"),d(t._v,"yaxis"),d(t._w,"zaxis"),u),!u)return{positions:[],cells:[]};var m=d(t._Xs,"xaxis"),g=d(t._Ys,"yaxis"),y=d(t._Zs,"zaxis");if(p.meshgrid=[m,g,y],p.gridFill=t._gridFill,t._slen)p.startingPositions=s(d(t._startsX,"xaxis"),d(t._startsY,"yaxis"),d(t._startsZ,"zaxis"));else{for(var v=g[0],x=h(m),_=h(y),b=new Array(x.length*_.length),w=0,T=0;To&&(o=e[0]),e[1]s&&(s=e[1])}function c(e){switch(e.type){case"GeometryCollection":e.geometries.forEach(c);break;case"Point":l(e.coordinates);break;case"MultiPoint":e.coordinates.forEach(l)}}for(t in e.arcs.forEach((function(e){for(var t,r=-1,l=e.length;++ro&&(o=t[0]),t[1]s&&(s=t[1])})),e.objects)c(e.objects[t]);return[i,a,o,s]}function i(e,t){var r=t.id,n=t.bbox,i=null==t.properties?{}:t.properties,o=a(e,t);return null==r&&null==n?{type:"Feature",properties:i,geometry:o}:null==n?{type:"Feature",id:r,properties:i,geometry:o}:{type:"Feature",id:r,bbox:n,properties:i,geometry:o}}function a(e,t){var n=r(e.transform),i=e.arcs;function a(e,t){t.length&&t.pop();for(var r=i[e<0?~e:e],a=0,o=r.length;a1)n=function(e,t,r){var n,i=[],a=[];function o(e){var t=e<0?~e:e;(a[t]||(a[t]=[])).push({i:e,g:n})}function s(e){e.forEach(o)}function l(e){e.forEach(s)}return function e(t){switch(n=t,t.type){case"GeometryCollection":t.geometries.forEach(e);break;case"LineString":s(t.arcs);break;case"MultiLineString":case"Polygon":l(t.arcs);break;case"MultiPolygon":!function(e){e.forEach(l)}(t.arcs)}}(t),a.forEach(null==r?function(e){i.push(e[0].i)}:function(e){r(e[0].g,e[e.length-1].g)&&i.push(e[0].i)}),i}(0,t,r);else for(i=0,n=new Array(a=e.arcs.length);i1)for(var a,s,c=1,u=l(i[0]);cu&&(s=i[0],i[0]=i[c],i[c]=s,u=a);return i})).filter((function(e){return e.length>0}))}}function c(e,t){for(var r=0,n=e.length;r>>1;e[i]=2))throw new Error("n must be ≥2");var r,i=(l=e.bbox||n(e))[0],a=l[1],o=l[2],s=l[3];t={scale:[o-i?(o-i)/(r-1):1,s-a?(s-a)/(r-1):1],translate:[i,a]}}var l,c,h=u(t),f=e.objects,p={};function d(e){return h(e)}function m(e){var t;switch(e.type){case"GeometryCollection":t={type:"GeometryCollection",geometries:e.geometries.map(m)};break;case"Point":t={type:"Point",coordinates:d(e.coordinates)};break;case"MultiPoint":t={type:"MultiPoint",coordinates:e.coordinates.map(d)};break;default:return e}return null!=e.id&&(t.id=e.id),null!=e.bbox&&(t.bbox=e.bbox),null!=e.properties&&(t.properties=e.properties),t}for(c in f)p[c]=m(f[c]);return{type:"Topology",bbox:l,transform:t,objects:p,arcs:e.arcs.map((function(e){var t,r=0,n=1,i=e.length,a=new Array(i);for(a[0]=h(e[0],0);++r0&&(n.push(i),i=[])}return i.length>0&&n.push(i),n},e.makeLine=function(e){return 1===e.length?{type:"LineString",coordinates:e[0]}:{type:"MultiLineString",coordinates:e}},e.makePolygon=function(e){if(1===e.length)return{type:"Polygon",coordinates:e};for(var t=new Array(e.length),r=0;r180?e-360:e<-180?e+360:e},e.bearingToAzimuth=function(e){let t=e%360;return t<0&&(t+=360),t},e.convertArea=function(e,t="meters",r="kilometers"){if(!(e>=0))throw new Error("area must be a positive number");let i=n[t];if(!i)throw new Error("invalid original units");let a=n[r];if(!a)throw new Error("invalid final units");return e/i*a},e.convertLength=function(e,t="kilometers",r="kilometers"){if(!(e>=0))throw new Error("length must be a positive number");return f(p(e,t),r)},e.degreesToRadians=function(e){return e%360*Math.PI/180},e.earthRadius=t,e.factors=r,e.feature=i,e.featureCollection=l,e.geometry=function(e,t,r={}){switch(e){case"Point":return a(t).geometry;case"LineString":return s(t).geometry;case"Polygon":return o(t).geometry;case"MultiPoint":return u(t).geometry;case"MultiLineString":return c(t).geometry;case"MultiPolygon":return h(t).geometry;default:throw new Error(e+" is invalid")}},e.geometryCollection=function(e,t,r={}){return i({type:"GeometryCollection",geometries:e},t,r)},e.isNumber=m,e.isObject=function(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)},e.lengthToDegrees=function(e,t){return d(p(e,t))},e.lengthToRadians=p,e.lineString=s,e.lineStrings=function(e,t,r={}){return l(e.map((e=>s(e,t))),r)},e.multiLineString=c,e.multiPoint=u,e.multiPolygon=h,e.point=a,e.points=function(e,t,r={}){return l(e.map((e=>a(e,t))),r)},e.polygon=o,e.polygons=function(e,t,r={}){return l(e.map((e=>o(e,t))),r)},e.radiansToDegrees=d,e.radiansToLength=f,e.round=function(e,t=0){if(t&&!(t>=0))throw new Error("precision must be a positive number");let r=Math.pow(10,t||0);return Math.round(e*r)/r},e.validateBBox=function(e){if(!e)throw new Error("bbox is required");if(!Array.isArray(e))throw new Error("bbox must be an Array");if(4!==e.length&&6!==e.length)throw new Error("bbox must be an Array of 4 or 6 numbers");e.forEach((e=>{if(!m(e))throw new Error("bbox must only contain numbers")}))},e.validateId=function(e){if(!e)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof e))throw new Error("id must be a number or a string")}}}),yg=m({"node_modules/@turf/meta/dist/cjs/index.cjs"(e){Object.defineProperty(e,"__esModule",{value:!0});var t=gg();function r(e,t,n){if(null!==e)for(var i,a,o,s,l,c,u,h,f=0,p=0,d=e.type,m="FeatureCollection"===d,g="Feature"===d,y=m?e.features.length:1,v=0;vc||p>u||d>h)return l=r,c=i,u=p,h=d,void(o=0);var m=t.lineString.call(void 0,[l,r],e.properties);if(!1===n(m,i,a,d,o))return!1;o++,l=r})))return!1}}}))}function l(e,r){if(!e)throw new Error("geojson is required");o(e,(function(e,n,i){if(null!==e.geometry){var a=e.geometry.type,o=e.geometry.coordinates;switch(a){case"LineString":if(!1===r(e,n,i,0,0))return!1;break;case"Polygon":for(var s=0;se+function(e){let t,r=0;switch(e.type){case"Polygon":return i(e.coordinates);case"MultiPolygon":for(t=0;t0){t+=Math.abs(s(e[0]));for(let r=1;r=t?(n+2)%t:n+2],l=i[0]*o,c=a[1]*o;r+=(s[0]*o-l)*Math.sin(c),n++}return r*a}var l=n;e.area=n,e.default=l}}),xg=m({"node_modules/@turf/centroid/dist/cjs/index.cjs"(e){Object.defineProperty(e,"__esModule",{value:!0});var t=gg(),r=yg();function n(e,n={}){let i=0,a=0,o=0;return r.coordEach.call(void 0,e,(function(e){i+=e[0],a+=e[1],o++}),!0),t.point.call(void 0,[i/o,a/o],n.properties)}var i=n;e.centroid=n,e.default=i}}),_g=m({"node_modules/@turf/bbox/dist/cjs/index.cjs"(e){Object.defineProperty(e,"__esModule",{value:!0});var t=yg();function r(e,r={}){if(null!=e.bbox&&!0!==r.recompute)return e.bbox;let n=[1/0,1/0,-1/0,-1/0];return t.coordEach.call(void 0,e,(e=>{n[0]>e[0]&&(n[0]=e[0]),n[1]>e[1]&&(n[1]=e[1]),n[2]0&&e[t+1][0]<0)return t;return null}switch(t="RUS"===s||"FJI"===s?function(e){var t;if(null===c(e))t=e;else for(t=new Array(e.length),i=0;it?r[n++]=[e[i][0]+360,e[i][1]]:i===t?(r[n++]=e[i],r[n++]=[e[i][0],-90]):r[n++]=e[i];var a=h.tester(r);a.pts.pop(),l.push(a)}:function(e){l.push(h.tester(e))},a.type){case"MultiPolygon":for(r=0;r0?h.properties.ct=function(e){var t,r=e.geometry;if("MultiPolygon"===r.type)for(var n=r.coordinates,o=0,s=0;so&&(o=c,t=l)}else t=r;return a(t).geometry.coordinates}(h):h.properties.ct=[NaN,NaN],n.fIn=e,n.fOut=h,s.push(h)}else l.log(["Location",n.loc,"does not have a valid GeoJSON geometry.","Traces with locationmode *geojson-id* only support","*Polygon* and *MultiPolygon* geometries."].join(" "))}delete o[r]}switch(r.type){case"FeatureCollection":var f=r.features;for(n=0;n100?(clearInterval(a),n("Unexpected error while fetching from "+e)):void i++}),50)}))}for(var o=0;o")}function p(e){return e+"°"}}(c,m,e,l[0].t.labels),e.hovertemplate=c.hovertemplate,[e]}}}}),Mg=m({"src/traces/scattergeo/event_data.js"(e,t){t.exports=function(e,t,r,n,i){e.lon=t.lon,e.lat=t.lat,e.location=t.loc?t.loc:null;var a=n[i];return a.fIn&&a.fIn.properties&&(e.properties=a.fIn.properties),e}}}),Sg=m({"src/traces/scattergeo/select.js"(e,t){var r=Xt(),n=S().BADNUM;t.exports=function(e,t){var i,a,o,s,l,c=e.cd,u=e.xaxis,h=e.yaxis,f=[],p=c[0].trace;if(!r.hasMarkers(p)&&!r.hasText(p))return[];if(!1===t)for(l=0;lt?1:e>=t?0:NaN}function r(e){return 1===e.length&&(e=function(e){return function(r,n){return t(e(r),n)}}(e)),{left:function(t,r,n,i){for(null==n&&(n=0),null==i&&(i=t.length);n>>1;e(t[a],r)<0?n=a+1:i=a}return n},right:function(t,r,n,i){for(null==n&&(n=0),null==i&&(i=t.length);n>>1;e(t[a],r)>0?i=a:n=a+1}return n}}}var n=r(t),i=n.right,a=n.left;function o(e,t){return[e,t]}function s(e){return null===e?NaN:+e}function l(e,t){var r,n,i=e.length,a=0,o=-1,l=0,c=0;if(null==t)for(;++o1)return c/(a-1)}function c(e,t){var r=l(e,t);return r&&Math.sqrt(r)}function u(e,t){var r,n,i,a=e.length,o=-1;if(null==t){for(;++o=r)for(n=i=r;++or&&(n=r),i=r)for(n=i=r;++or&&(n=r),i=0?(a>=y?10:a>=v?5:a>=x?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=y?10:a>=v?5:a>=x?2:1)}function b(e,t,r){var n=Math.abs(t-e)/Math.max(0,r),i=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),a=n/i;return a>=y?i*=10:a>=v?i*=5:a>=x&&(i*=2),t=1)return+r(e[n-1],n-1,e);var n,i=(n-1)*t,a=Math.floor(i),o=+r(e[a],a,e);return o+(+r(e[a+1],a+1,e)-o)*(i-a)}}function k(e,t){var r,n,i=e.length,a=-1;if(null==t){for(;++a=r)for(n=r;++ar&&(n=r)}else for(;++a=r)for(n=r;++ar&&(n=r);return n}function A(e){if(!(i=e.length))return[];for(var t=-1,r=k(e,M),n=new Array(r);++te?1:t>=e?0:NaN},e.deviation=c,e.extent=u,e.histogram=function(){var e=m,t=u,r=w;function n(n){var a,o,s=n.length,l=new Array(s);for(a=0;ah;)f.pop(),--p;var d,m=new Array(p+1);for(a=0;a<=p;++a)(d=m[a]=[]).x0=a>0?f[a-1]:u,d.x1=a=r)for(n=r;++an&&(n=r)}else for(;++a=r)for(n=r;++an&&(n=r);return n},e.mean=function(e,t){var r,n=e.length,i=n,a=-1,o=0;if(null==t)for(;++a=0;)for(t=(n=e[i]).length;--t>=0;)r[--o]=n[t];return r},e.min=k,e.pairs=function(e,t){null==t&&(t=o);for(var r=0,n=e.length-1,i=e[0],a=new Array(n<0?0:n);r0)return[e];if((n=t0)for(e=Math.ceil(e/o),t=Math.floor(t/o),a=new Array(i=Math.ceil(t-e+1));++s0?1:e<0?-1:0},k=Math.sqrt,A=Math.tan;function M(e){return e>1?0:e<-1?l:Math.acos(e)}function S(e){return e>1?c:e<-1?-c:Math.asin(e)}function E(e){return(e=w(e/2))*e}function C(){}function I(e,t){e&&P.hasOwnProperty(e.type)&&P[e.type](e,t)}var L={Feature:function(e,t){I(e.geometry,t)},FeatureCollection:function(e,t){for(var r=e.features,n=-1,i=r.length;++n=0?1:-1,i=n*r,a=y(t=(t*=p)/2+u),o=w(t),s=N*o,l=j*a+s*y(i),c=s*n*w(i);U.add(g(c,l)),B=e,j=a,N=o}function Y(e){return[g(e[1],e[0]),S(e[2])]}function X(e){var t=e[0],r=e[1],n=y(r);return[n*y(t),n*w(t),w(r)]}function $(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function K(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function J(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function Q(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function ee(e){var t=k(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}var te,re,ne,ie,ae,oe,se,le,ce,ue,he=r(),fe={point:pe,lineStart:me,lineEnd:ge,polygonStart:function(){fe.point=ye,fe.lineStart=ve,fe.lineEnd=xe,he.reset(),q.polygonStart()},polygonEnd:function(){q.polygonEnd(),fe.point=pe,fe.lineStart=me,fe.lineEnd=ge,U<0?(te=-(ne=180),re=-(ie=90)):he>o?ie=90:he<-o&&(re=-90),ue[0]=te,ue[1]=ne},sphere:function(){te=-(ne=180),re=-(ie=90)}};function pe(e,t){ce.push(ue=[te=e,ne=e]),tie&&(ie=t)}function de(e,t){var r=X([e*p,t*p]);if(le){var n=K(le,r),i=K([n[1],-n[0],0],n);ee(i),i=Y(i);var a,o=e-ae,s=o>0?1:-1,l=i[0]*f*s,c=d(o)>180;c^(s*aeie&&(ie=a):c^(s*ae<(l=(l+360)%360-180)&&lie&&(ie=t)),c?e_e(te,ne)&&(ne=e):_e(e,ne)>_e(te,ne)&&(te=e):ne>=te?(ene&&(ne=e)):e>ae?_e(te,e)>_e(te,ne)&&(ne=e):_e(e,ne)>_e(te,ne)&&(te=e)}else ce.push(ue=[te=e,ne=e]);tie&&(ie=t),le=r,ae=e}function me(){fe.point=de}function ge(){ue[0]=te,ue[1]=ne,fe.point=pe,le=null}function ye(e,t){if(le){var r=e-ae;he.add(d(r)>180?r+(r>0?360:-360):r)}else oe=e,se=t;q.point(e,t),de(e,t)}function ve(){q.lineStart()}function xe(){ye(oe,se),q.lineEnd(),d(he)>o&&(te=-(ne=180)),ue[0]=te,ue[1]=ne,le=null}function _e(e,t){return(t-=e)<0?t+360:t}function be(e,t){return e[0]-t[0]}function we(e,t){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:tl?e+Math.round(-e/h)*h:e,t]}function Qe(e,t,r){return(e%=h)?t||r?Ke(tt(e),rt(t,r)):tt(e):t||r?rt(t,r):Je}function et(e){return function(t,r){return[(t+=e)>l?t-h:t<-l?t+h:t,r]}}function tt(e){var t=et(e);return t.invert=et(-e),t}function rt(e,t){var r=y(e),n=w(e),i=y(t),a=w(t);function o(e,t){var o=y(t),s=y(e)*o,l=w(e)*o,c=w(t),u=c*r+s*n;return[g(l*i-u*a,s*r-c*n),S(u*i+l*a)]}return o.invert=function(e,t){var o=y(t),s=y(e)*o,l=w(e)*o,c=w(t),u=c*i-l*a;return[g(l*i+c*a,s*r+u*n),S(u*r-s*n)]},o}function nt(e){function t(t){return(t=e(t[0]*p,t[1]*p))[0]*=f,t[1]*=f,t}return e=Qe(e[0]*p,e[1]*p,e.length>2?e[2]*p:0),t.invert=function(t){return(t=e.invert(t[0]*p,t[1]*p))[0]*=f,t[1]*=f,t},t}function it(e,t,r,n,i,a){if(r){var o=y(t),s=w(t),l=n*r;null==i?(i=t+n*h,a=t-l/2):(i=at(o,i),a=at(o,a),(n>0?ia)&&(i+=n*h));for(var c,u=i;n>0?u>a:u1&&t.push(t.pop().concat(t.shift()))},result:function(){var r=t;return t=[],e=null,r}}}function st(e,t){return d(e[0]-t[0])=0;--a)i.point((h=u[a])[0],h[1]);else n(p.x,p.p.x,-1,i);p=p.p}u=(p=p.o).z,d=!d}while(!p.v);i.lineEnd()}}}function ut(e){if(t=e.length){for(var t,r,n=0,i=e[0];++n=0?1:-1,D=z*P,O=D>l,R=T*I;if(ht.add(g(R*z*w(D),k*L+R*y(D))),s+=O?P+z*h:P,O^_>=r^E>=r){var F=K(X(x),X(M));ee(F);var B=K(a,F);ee(B);var j=(O^P>=0?-1:1)*S(B[2]);(n>j||n===j&&(F[0]||F[1]))&&(f+=O^P>=0?1:-1)}}return(s<-o||s0){for(f||(a.polygonStart(),f=!0),a.lineStart(),e=0;e1&&2&i&&c.push(c.pop().concat(c.shift())),s.push(c.filter(mt))}}return p}}function mt(e){return e.length>1}function gt(e,t){return((e=e.x)[0]<0?e[1]-c-o:c-e[1])-((t=t.x)[0]<0?t[1]-c-o:c-t[1])}var yt=dt((function(){return!0}),(function(e){var t,r=NaN,n=NaN,i=NaN;return{lineStart:function(){e.lineStart(),t=1},point:function(a,s){var u=a>0?l:-l,h=d(a-r);d(h-l)0?c:-c),e.point(i,n),e.lineEnd(),e.lineStart(),e.point(u,n),e.point(a,n),t=0):i!==u&&h>=l&&(d(r-i)o?m((w(t)*(a=y(n))*w(r)-w(n)*(i=y(t))*w(e))/(i*a*s)):(t+n)/2}(r,n,a,s),e.point(i,n),e.lineEnd(),e.lineStart(),e.point(u,n),t=0),e.point(r=a,n=s),i=u},lineEnd:function(){e.lineEnd(),r=n=NaN},clean:function(){return 2-t}}}),(function(e,t,r,n){var i;if(null==e)i=r*c,n.point(-l,i),n.point(0,i),n.point(l,i),n.point(l,0),n.point(l,-i),n.point(0,-i),n.point(-l,-i),n.point(-l,0),n.point(-l,i);else if(d(e[0]-t[0])>o){var a=e[0]0,i=d(t)>o;function a(e,r){return y(e)*y(r)>t}function s(e,r,n){var i=[1,0,0],a=K(X(e),X(r)),s=$(a,a),c=a[0],u=s-c*c;if(!u)return!n&&e;var h=t*s/u,f=-t*c/u,p=K(i,a),m=Q(i,h);J(m,Q(a,f));var g=p,y=$(m,g),v=$(g,g),x=y*y-v*($(m,m)-1);if(!(x<0)){var _=k(x),b=Q(g,(-y-_)/v);if(J(b,m),b=Y(b),!n)return b;var w,T=e[0],A=r[0],M=e[1],S=r[1];A0^b[1]<(d(b[0]-T)l^(T<=b[0]&&b[0]<=A)){var I=Q(g,(-y+_)/v);return J(I,m),[b,Y(I)]}}}function c(t,r){var i=n?e:l-e,a=0;return t<-i?a|=1:t>i&&(a|=2),r<-i?a|=4:r>i&&(a|=8),a}return dt(a,(function(e){var t,r,o,u,h;return{lineStart:function(){u=o=!1,h=1},point:function(f,p){var d,m=[f,p],g=a(f,p),y=n?g?0:c(f,p):g?c(f+(f<0?l:-l),p):0;if(!t&&(u=o=g)&&e.lineStart(),g!==o&&(!(d=s(t,m))||st(t,d)||st(m,d))&&(m[2]=1),g!==o)h=0,g?(e.lineStart(),d=s(m,t),e.point(d[0],d[1])):(d=s(t,m),e.point(d[0],d[1],2),e.lineEnd()),t=d;else if(i&&t&&n^g){var v;!(y&r)&&(v=s(m,t,!0))&&(h=0,n?(e.lineStart(),e.point(v[0][0],v[0][1]),e.point(v[1][0],v[1][1]),e.lineEnd()):(e.point(v[1][0],v[1][1]),e.lineEnd(),e.lineStart(),e.point(v[0][0],v[0][1],3)))}g&&(!t||!st(t,m))&&e.point(m[0],m[1]),t=m,o=g,r=y},lineEnd:function(){o&&e.lineEnd(),t=null},clean:function(){return h|(u&&o)<<1}}}),(function(t,n,i,a){it(a,e,r,i,t,n)}),n?[0,-e]:[-l,e-l])}var xt=1e9,_t=-xt;function bt(e,r,n,i){function a(t,a){return e<=t&&t<=n&&r<=a&&a<=i}function s(t,a,o,s){var c=0,h=0;if(null==t||(c=l(t,o))!==(h=l(a,o))||u(t,a)<0^o>0)do{s.point(0===c||3===c?e:n,c>1?i:r)}while((c=(c+o+4)%4)!==h);else s.point(a[0],a[1])}function l(t,i){return d(t[0]-e)0?0:3:d(t[0]-n)0?2:1:d(t[1]-r)0?1:0:i>0?3:2}function c(e,t){return u(e.x,t.x)}function u(e,t){var r=l(e,1),n=l(t,1);return r!==n?r-n:0===r?t[1]-e[1]:1===r?e[0]-t[0]:2===r?e[1]-t[1]:t[0]-e[0]}return function(o){var l,u,h,f,p,d,m,g,y,v,x,_=o,b=ot(),w={point:T,lineStart:function(){w.point=k,u&&u.push(h=[]),v=!0,y=!1,m=g=NaN},lineEnd:function(){l&&(k(f,p),d&&y&&b.rejoin(),l.push(b.result())),w.point=T,y&&_.lineEnd()},polygonStart:function(){_=b,l=[],u=[],x=!0},polygonEnd:function(){var r=function(){for(var t=0,r=0,n=u.length;ri&&(f-a)*(i-o)>(p-o)*(e-a)&&++t:p<=i&&(f-a)*(i-o)<(p-o)*(e-a)&&--t;return t}(),n=x&&r,a=(l=t.merge(l)).length;(n||a)&&(o.polygonStart(),n&&(o.lineStart(),s(null,null,1,o),o.lineEnd()),a&&ct(l,c,r,s,o),o.polygonEnd()),_=o,l=u=h=null}};function T(e,t){a(e,t)&&_.point(e,t)}function k(t,o){var s=a(t,o);if(u&&h.push([t,o]),v)f=t,p=o,d=s,v=!1,s&&(_.lineStart(),_.point(t,o));else if(s&&y)_.point(t,o);else{var l=[m=Math.max(_t,Math.min(xt,m)),g=Math.max(_t,Math.min(xt,g))],c=[t=Math.max(_t,Math.min(xt,t)),o=Math.max(_t,Math.min(xt,o))];!function(e,t,r,n,i,a){var o,s=e[0],l=e[1],c=0,u=1,h=t[0]-s,f=t[1]-l;if(o=r-s,h||!(o>0)){if(o/=h,h<0){if(o0){if(o>u)return;o>c&&(c=o)}if(o=i-s,h||!(o<0)){if(o/=h,h<0){if(o>u)return;o>c&&(c=o)}else if(h>0){if(o0)){if(o/=f,f<0){if(o0){if(o>u)return;o>c&&(c=o)}if(o=a-l,f||!(o<0)){if(o/=f,f<0){if(o>u)return;o>c&&(c=o)}else if(f>0){if(o0&&(e[0]=s+c*h,e[1]=l+c*f),u<1&&(t[0]=s+u*h,t[1]=l+u*f),!0}}}}}(l,c,e,r,n,i)?s&&(_.lineStart(),_.point(t,o),x=!1):(y||(_.lineStart(),_.point(l[0],l[1])),_.point(c[0],c[1]),s||_.lineEnd(),x=!1)}m=t,g=o,y=s}return w}}var wt,Tt,kt,At=r(),Mt={sphere:C,point:C,lineStart:function(){Mt.point=Et,Mt.lineEnd=St},lineEnd:C,polygonStart:C,polygonEnd:C};function St(){Mt.point=Mt.lineEnd=C}function Et(e,t){wt=e*=p,Tt=w(t*=p),kt=y(t),Mt.point=Ct}function Ct(e,t){e*=p;var r=w(t*=p),n=y(t),i=d(e-wt),a=y(i),o=n*w(i),s=kt*r-Tt*n*a,l=Tt*r+kt*n*a;At.add(g(k(o*o+s*s),l)),wt=e,Tt=r,kt=n}function It(e){return At.reset(),O(e,Mt),+At}var Lt=[null,null],Pt={type:"LineString",coordinates:Lt};function zt(e,t){return Lt[0]=e,Lt[1]=t,It(Pt)}var Dt={Feature:function(e,t){return Rt(e.geometry,t)},FeatureCollection:function(e,t){for(var r=e.features,n=-1,i=r.length;++n0&&(i=zt(e[a],e[a-1]))>0&&r<=i&&n<=i&&(r+n-i)*(1-Math.pow((r-n)/i,2))o})).map(u)).concat(t.range(v(s/g)*g,a,g).filter((function(e){return d(e%x)>o})).map(h))}return b.lines=function(){return w().map((function(e){return{type:"LineString",coordinates:e}}))},b.outline=function(){return{type:"Polygon",coordinates:[f(i).concat(p(l).slice(1),f(n).reverse().slice(1),p(c).reverse().slice(1))]}},b.extent=function(e){return arguments.length?b.extentMajor(e).extentMinor(e):b.extentMinor()},b.extentMajor=function(e){return arguments.length?(i=+e[0][0],n=+e[1][0],c=+e[0][1],l=+e[1][1],i>n&&(e=i,i=n,n=e),c>l&&(e=c,c=l,l=e),b.precision(_)):[[i,c],[n,l]]},b.extentMinor=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],s=+t[0][1],a=+t[1][1],r>e&&(t=r,r=e,e=t),s>a&&(t=s,s=a,a=t),b.precision(_)):[[r,s],[e,a]]},b.step=function(e){return arguments.length?b.stepMajor(e).stepMinor(e):b.stepMinor()},b.stepMajor=function(e){return arguments.length?(y=+e[0],x=+e[1],b):[y,x]},b.stepMinor=function(e){return arguments.length?(m=+e[0],g=+e[1],b):[m,g]},b.precision=function(t){return arguments.length?(_=+t,u=Vt(s,a,90),h=qt(r,e,_),f=Vt(c,l,90),p=qt(i,n,_),b):_},b.extentMajor([[-180,-90+o],[180,90-o]]).extentMinor([[-180,-80-o],[180,80+o]])}function Gt(e){return e}var Wt,Zt,Yt,Xt,$t=r(),Kt=r(),Jt={point:C,lineStart:C,lineEnd:C,polygonStart:function(){Jt.lineStart=Qt,Jt.lineEnd=rr},polygonEnd:function(){Jt.lineStart=Jt.lineEnd=Jt.point=C,$t.add(d(Kt)),Kt.reset()},result:function(){var e=$t/2;return $t.reset(),e}};function Qt(){Jt.point=er}function er(e,t){Jt.point=tr,Wt=Yt=e,Zt=Xt=t}function tr(e,t){Kt.add(Xt*e-Yt*t),Yt=e,Xt=t}function rr(){tr(Wt,Zt)}var nr,ir,ar,or,sr=1/0,lr=sr,cr=-sr,ur=cr,hr={point:function(e,t){ecr&&(cr=e),tur&&(ur=t)},lineStart:C,lineEnd:C,polygonStart:C,polygonEnd:C,result:function(){var e=[[sr,lr],[cr,ur]];return cr=ur=-(lr=sr=1/0),e}},fr=0,pr=0,dr=0,mr=0,gr=0,yr=0,vr=0,xr=0,_r=0,br={point:wr,lineStart:Tr,lineEnd:Mr,polygonStart:function(){br.lineStart=Sr,br.lineEnd=Er},polygonEnd:function(){br.point=wr,br.lineStart=Tr,br.lineEnd=Mr},result:function(){var e=_r?[vr/_r,xr/_r]:yr?[mr/yr,gr/yr]:dr?[fr/dr,pr/dr]:[NaN,NaN];return fr=pr=dr=mr=gr=yr=vr=xr=_r=0,e}};function wr(e,t){fr+=e,pr+=t,++dr}function Tr(){br.point=kr}function kr(e,t){br.point=Ar,wr(ar=e,or=t)}function Ar(e,t){var r=e-ar,n=t-or,i=k(r*r+n*n);mr+=i*(ar+e)/2,gr+=i*(or+t)/2,yr+=i,wr(ar=e,or=t)}function Mr(){br.point=wr}function Sr(){br.point=Cr}function Er(){Ir(nr,ir)}function Cr(e,t){br.point=Ir,wr(nr=ar=e,ir=or=t)}function Ir(e,t){var r=e-ar,n=t-or,i=k(r*r+n*n);mr+=i*(ar+e)/2,gr+=i*(or+t)/2,yr+=i,vr+=(i=or*e-ar*t)*(ar+e),xr+=i*(or+t),_r+=3*i,wr(ar=e,or=t)}function Lr(e){this._context=e}Lr.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._context.moveTo(e,t),this._point=1;break;case 1:this._context.lineTo(e,t);break;default:this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,h)}},result:C};var Pr,zr,Dr,Or,Rr,Fr=r(),Br={point:C,lineStart:function(){Br.point=jr},lineEnd:function(){Pr&&Nr(zr,Dr),Br.point=C},polygonStart:function(){Pr=!0},polygonEnd:function(){Pr=null},result:function(){var e=+Fr;return Fr.reset(),e}};function jr(e,t){Br.point=Nr,zr=Or=e,Dr=Rr=t}function Nr(e,t){Or-=e,Rr-=t,Fr.add(k(Or*Or+Rr*Rr)),Or=e,Rr=t}function Ur(){this._string=[]}function Vr(e){return"m0,"+e+"a"+e+","+e+" 0 1,1 0,"+-2*e+"a"+e+","+e+" 0 1,1 0,"+2*e+"z"}function qr(e){return function(t){var r=new Hr;for(var n in e)r[n]=e[n];return r.stream=t,r}}function Hr(){}function Gr(e,t,r){var n=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),null!=n&&e.clipExtent(null),O(r,e.stream(hr)),t(hr.result()),null!=n&&e.clipExtent(n),e}function Wr(e,t,r){return Gr(e,(function(r){var n=t[1][0]-t[0][0],i=t[1][1]-t[0][1],a=Math.min(n/(r[1][0]-r[0][0]),i/(r[1][1]-r[0][1])),o=+t[0][0]+(n-a*(r[1][0]+r[0][0]))/2,s=+t[0][1]+(i-a*(r[1][1]+r[0][1]))/2;e.scale(150*a).translate([o,s])}),r)}function Zr(e,t,r){return Wr(e,[[0,0],t],r)}function Yr(e,t,r){return Gr(e,(function(r){var n=+t,i=n/(r[1][0]-r[0][0]),a=(n-i*(r[1][0]+r[0][0]))/2,o=-i*r[0][1];e.scale(150*i).translate([a,o])}),r)}function Xr(e,t,r){return Gr(e,(function(r){var n=+t,i=n/(r[1][1]-r[0][1]),a=-i*r[0][0],o=(n-i*(r[1][1]+r[0][1]))/2;e.scale(150*i).translate([a,o])}),r)}Ur.prototype={_radius:4.5,_circle:Vr(4.5),pointRadius:function(e){return(e=+e)!==this._radius&&(this._radius=e,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._string.push("M",e,",",t),this._point=1;break;case 1:this._string.push("L",e,",",t);break;default:null==this._circle&&(this._circle=Vr(this._radius)),this._string.push("M",e,",",t,this._circle)}},result:function(){if(this._string.length){var e=this._string.join("");return this._string=[],e}return null}},Hr.prototype={constructor:Hr,point:function(e,t){this.stream.point(e,t)},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()}};var $r=y(30*p);function Kr(e,t){return+t?function(e,t){function r(n,i,a,s,l,c,u,h,f,p,m,y,v,x){var _=u-n,b=h-i,w=_*_+b*b;if(w>4*t&&v--){var T=s+p,A=l+m,M=c+y,E=k(T*T+A*A+M*M),C=S(M/=E),I=d(d(M)-1)t||d((_*D+b*O)/w-.5)>.3||s*p+l*m+c*y<$r)&&(r(n,i,a,s,l,c,P,z,I,T/=E,A/=E,M,v,x),x.point(P,z),r(P,z,I,T,A,M,u,h,f,p,m,y,v,x))}}return function(t){var n,i,a,o,s,l,c,u,h,f,p,d,m={point:g,lineStart:y,lineEnd:x,polygonStart:function(){t.polygonStart(),m.lineStart=_},polygonEnd:function(){t.polygonEnd(),m.lineStart=y}};function g(r,n){r=e(r,n),t.point(r[0],r[1])}function y(){u=NaN,m.point=v,t.lineStart()}function v(n,i){var a=X([n,i]),o=e(n,i);r(u,h,c,f,p,d,u=o[0],h=o[1],c=n,f=a[0],p=a[1],d=a[2],16,t),t.point(u,h)}function x(){m.point=g,t.lineEnd()}function _(){y(),m.point=b,m.lineEnd=w}function b(e,t){v(n=e,t),i=u,a=h,o=f,s=p,l=d,m.point=v}function w(){r(u,h,c,f,p,d,i,a,n,o,s,l,16,t),m.lineEnd=x,x()}return m}}(e,t):function(e){return qr({point:function(t,r){t=e(t,r),this.stream.point(t[0],t[1])}})}(e)}var Jr=qr({point:function(e,t){this.stream.point(e*p,t*p)}});function Qr(e,t,r,n,i){function a(a,o){return[t+e*(a*=n),r-e*(o*=i)]}return a.invert=function(a,o){return[(a-t)/e*n,(r-o)/e*i]},a}function en(e,t,r,n,i,a){var o=y(a),s=w(a),l=o*e,c=s*e,u=o/e,h=s/e,f=(s*r-o*t)/e,p=(s*t+o*r)/e;function d(e,a){return[l*(e*=n)-c*(a*=i)+t,r-c*e-l*a]}return d.invert=function(e,t){return[n*(u*e-h*t+f),i*(p-h*e-u*t)]},d}function tn(e){return rn((function(){return e}))()}function rn(e){var t,r,n,i,a,o,s,l,c,u,h=150,d=480,m=250,g=0,y=0,v=0,x=0,_=0,b=0,w=1,T=1,A=null,M=yt,S=null,E=Gt,C=.5;function I(e){return l(e[0]*p,e[1]*p)}function L(e){return(e=l.invert(e[0],e[1]))&&[e[0]*f,e[1]*f]}function P(){var e=en(h,0,0,w,T,b).apply(null,t(g,y)),n=(b?en:Qr)(h,d-e[0],m-e[1],w,T,b);return r=Qe(v,x,_),s=Ke(t,n),l=Ke(r,s),o=Kr(s,C),z()}function z(){return c=u=null,I}return I.stream=function(e){return c&&u===e?c:c=Jr(function(e){return qr({point:function(t,r){var n=e(t,r);return this.stream.point(n[0],n[1])}})}(r)(M(o(E(u=e)))))},I.preclip=function(e){return arguments.length?(M=e,A=void 0,z()):M},I.postclip=function(e){return arguments.length?(E=e,S=n=i=a=null,z()):E},I.clipAngle=function(e){return arguments.length?(M=+e?vt(A=e*p):(A=null,yt),z()):A*f},I.clipExtent=function(e){return arguments.length?(E=null==e?(S=n=i=a=null,Gt):bt(S=+e[0][0],n=+e[0][1],i=+e[1][0],a=+e[1][1]),z()):null==S?null:[[S,n],[i,a]]},I.scale=function(e){return arguments.length?(h=+e,P()):h},I.translate=function(e){return arguments.length?(d=+e[0],m=+e[1],P()):[d,m]},I.center=function(e){return arguments.length?(g=e[0]%360*p,y=e[1]%360*p,P()):[g*f,y*f]},I.rotate=function(e){return arguments.length?(v=e[0]%360*p,x=e[1]%360*p,_=e.length>2?e[2]%360*p:0,P()):[v*f,x*f,_*f]},I.angle=function(e){return arguments.length?(b=e%360*p,P()):b*f},I.reflectX=function(e){return arguments.length?(w=e?-1:1,P()):w<0},I.reflectY=function(e){return arguments.length?(T=e?-1:1,P()):T<0},I.precision=function(e){return arguments.length?(o=Kr(s,C=e*e),z()):k(C)},I.fitExtent=function(e,t){return Wr(I,e,t)},I.fitSize=function(e,t){return Zr(I,e,t)},I.fitWidth=function(e,t){return Yr(I,e,t)},I.fitHeight=function(e,t){return Xr(I,e,t)},function(){return t=e.apply(this,arguments),I.invert=t.invert&&L,P()}}function nn(e){var t=0,r=l/3,n=rn(e),i=n(t,r);return i.parallels=function(e){return arguments.length?n(t=e[0]*p,r=e[1]*p):[t*f,r*f]},i}function an(e,t){var r=w(e),n=(r+w(t))/2;if(d(n)0?t<-c+o&&(t=-c+o):t>c-o&&(t=c-o);var r=i/b(dn(t),n);return[r*w(n*e),i-r*y(n*e)]}return a.invert=function(e,t){var r=i-t,a=T(n)*k(e*e+r*r),o=g(e,d(r))*T(r);return r*n<0&&(o-=l*T(e)*T(r)),[o/n,2*m(b(i/a,1/n))-c]},a}function gn(e,t){return[e,t]}function yn(e,t){var r=y(e),n=e===t?w(e):(r-y(t))/(t-e),i=r/n+e;if(d(n)o&&--i>0);return[e/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},Mn.invert=cn(S),Sn.invert=cn((function(e){return 2*m(e)})),En.invert=function(e,t){return[-t,2*m(x(e))-c]},e.geoAlbers=sn,e.geoAlbersUsa=function(){var e,t,r,n,i,a,s=sn(),l=on().rotate([154,0]).center([-2,58.5]).parallels([55,65]),c=on().rotate([157,0]).center([-3,19.9]).parallels([8,18]),u={point:function(e,t){a=[e,t]}};function h(e){var t=e[0],o=e[1];return a=null,r.point(t,o),a||(n.point(t,o),a)||(i.point(t,o),a)}function f(){return e=t=null,h}return h.invert=function(e){var t=s.scale(),r=s.translate(),n=(e[0]-r[0])/t,i=(e[1]-r[1])/t;return(i>=.12&&i<.234&&n>=-.425&&n<-.214?l:i>=.166&&i<.234&&n>=-.214&&n<-.115?c:s).invert(e)},h.stream=function(r){return e&&t===r?e:e=function(e){var t=e.length;return{point:function(r,n){for(var i=-1;++i_e(n[0],n[1])&&(n[1]=i[1]),_e(i[0],n[1])>_e(n[0],n[1])&&(n[0]=i[0])):a.push(n=i);for(o=-1/0,t=0,n=a[r=a.length-1];t<=r;n=i,++t)i=a[t],(s=_e(n[1],i[0]))>o&&(o=s,te=i[0],ne=n[1])}return ce=ue=null,te===1/0||re===1/0?[[NaN,NaN],[NaN,NaN]]:[[te,re],[ne,ie]]},e.geoCentroid=function(e){Te=ke=Ae=Me=Se=Ee=Ce=Ie=Le=Pe=ze=0,O(e,je);var t=Le,r=Pe,n=ze,i=t*t+r*r+n*n;return i2?e[2]+90:90]):[(e=r())[0],e[1],e[2]-90]},r([0,0,90]).scale(159.155)},e.geoTransverseMercatorRaw=En,Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof e&&typeof t<"u"?n(e,Eg()):n((r=r||self).d3=r.d3||{},r.d3)}}),Ig=m({"node_modules/d3-geo-projection/dist/d3-geo-projection.js"(e,t){var r,n;r=e,n=function(e,t,r){var n=Math.abs,i=Math.atan,a=Math.atan2,o=Math.cos,s=Math.exp,l=Math.floor,c=Math.log,u=Math.max,h=Math.min,f=Math.pow,p=Math.round,d=Math.sign||function(e){return e>0?1:e<0?-1:0},m=Math.sin,g=Math.tan,y=1e-6,v=1e-12,x=Math.PI,_=x/2,b=x/4,w=Math.SQRT1_2,T=I(2),k=I(x),A=2*x,M=180/x,S=x/180;function E(e){return e>1?_:e<-1?-_:Math.asin(e)}function C(e){return e>1?0:e<-1?x:Math.acos(e)}function I(e){return e>0?Math.sqrt(e):0}function L(e){return(s(e)-s(-e))/2}function P(e){return(s(e)+s(-e))/2}function z(e){var t=g(e/2),r=2*c(o(e/2))/(t*t);function i(e,t){var n=o(e),i=o(t),a=m(t),s=i*n,l=-((1-s?c((1+s)/2)/(1-s):-.5)+r/(1+s));return[l*i*m(e),l*a]}return i.invert=function(t,i){var s,l=I(t*t+i*i),u=-e/2,h=50;if(!l)return[0,0];do{var f=u/2,p=o(f),d=m(f),g=d/p,v=-c(n(p));u-=s=(2/g*v-r*g-l)/(-v/(d*d)+1-r/(2*p*p))*(p<0?.7:1)}while(n(s)>y&&--h>0);var x=m(u);return[a(t*x,l*o(u)),E(i*x/l)]},i}function D(e,t){var r=o(t),n=function(e){return e?e/Math.sin(e):1}(C(r*o(e/=2)));return[2*r*m(e)*n,m(t)*n]}function O(e){var t=m(e),r=o(e),i=e>=0?1:-1,s=g(i*e),l=(1+t-r)/2;function c(e,n){var c=o(n),u=o(e/=2);return[(1+c)*m(e),(i*n>-a(u,s)-.001?0:10*-i)+l+m(n)*r-(1+c)*t*u]}return c.invert=function(e,c){var u=0,h=0,f=50;do{var p=o(u),d=m(u),g=o(h),v=m(h),x=1+g,_=x*d-e,b=l+v*r-x*t*p-c,w=x*p/2,T=-d*v,k=t*x*d/2,A=r*g+t*p*v,M=T*k-A*w,S=(b*T-_*A)/M/2,E=(_*k-b*w)/M;n(E)>2&&(E/=2),u-=S,h-=E}while((n(S)>y||n(E)>y)&&--f>0);return i*h>-a(o(u),s)-.001?[2*u,h]:null},c}function R(e,t){var r=g(t/2),n=I(1-r*r),i=1+n*o(e/=2),a=m(e)*n/i,s=r/i,l=a*a,c=s*s;return[4/3*a*(3+l-3*c),4/3*s*(3+3*l-c)]}D.invert=function(e,t){if(!(e*e+4*t*t>x*x+y)){var r=e,i=t,a=25;do{var s,l=m(r),c=m(r/2),u=o(r/2),h=m(i),f=o(i),p=m(2*i),d=h*h,g=f*f,v=c*c,_=1-g*u*u,b=_?C(f*u)*I(s=1/_):s=0,w=2*b*f*c-e,T=b*h-t,k=s*(g*v+b*f*u*d),A=s*(.5*l*p-2*b*h*c),M=.25*s*(p*c-b*h*g*l),S=s*(d*u+b*v*f),E=A*M-S*k;if(!E)break;var L=(T*A-w*S)/E,P=(w*M-T*k)/E;r-=L,i-=P}while((n(L)>y||n(P)>y)&&--a>0);return[r,i]}},R.invert=function(e,t){if(t*=3/8,!(e*=3/8)&&n(t)>1)return null;var r=1+e*e+t*t,i=I((r-I(r*r-4*t*t))/2),s=E(i)/3,l=i?function(e){return c(e+I(e*e-1))}(n(t/i))/3:function(e){return c(e+I(e*e+1))}(n(e))/3,u=o(s),h=P(l),f=h*h-u*u;return[2*d(e)*a(L(l)*u,.25-f),2*d(t)*a(h*m(s),.25+f)]};var F=I(8),B=c(1+T);function j(e,t){var r=n(t);return r_){var l=a(s[1],s[0]),c=I(s[0]*s[0]+s[1]*s[1]),u=r*p((l-_)/r)+_,h=a(m(l-=u),2-o(l));l=u+E(x/c*m(h))-h,s[0]=c*o(l),s[1]=c*m(l)}return s}return s.invert=function(e,n){var s=I(e*e+n*n);if(s>_){var l=a(n,e),c=r*p((l-_)/r)+_,u=l>c?-1:1,h=s*o(c-l),f=1/g(u*C((h-x)/I(x*(x-2*h)+s*s)));l=c+2*i((f+u*I(f*f-3))/3),e=s*o(l),n=s*m(l)}return t.geoAzimuthalEquidistantRaw.invert(e,n)},s}function U(e,r){if(arguments.length<2&&(r=e),1===r)return t.geoAzimuthalEqualAreaRaw;if(r===1/0)return V;function n(n,i){var a=t.geoAzimuthalEqualAreaRaw(n/r,i);return a[0]*=e,a}return n.invert=function(n,i){var a=t.geoAzimuthalEqualAreaRaw.invert(n/e,i);return a[0]*=r,a},n}function V(e,t){return[e*o(t)/o(t/=2),2*m(t)]}function q(e,t,r){var i,a,o,s=100;r=void 0===r?0:+r,t=+t;do{(a=e(r))===(o=e(r+y))&&(o=a+y),r-=i=-1*y*(a-t)/(a-o)}while(s-- >0&&n(i)>y);return s<0?NaN:r}function H(e,t,r){return void 0===t&&(t=40),void 0===r&&(r=v),function(i,a,o,s){var l,c,u;o=void 0===o?0:+o,s=void 0===s?0:+s;for(var h=0;hl)o-=c/=2,s-=u/=2;else{l=m;var g=(o>0?-1:1)*r,y=(s>0?-1:1)*r,v=e(o+g,s),x=e(o,s+y),_=(v[0]-f[0])/g,b=(v[1]-f[1])/g,w=(x[0]-f[0])/y,T=(x[1]-f[1])/y,k=T*_-b*w,A=(n(k)<.5?.5:1)/k;if(o+=c=(d*w-p*T)*A,s+=u=(p*b-d*_)*A,n(c)0&&(i[1]*=1+a/1.5*i[0]*i[0]),i}return t.invert=H(t),t}function W(e,t){var r,i=e*m(t),a=30;do{t-=r=(t+m(t)-i)/(1+o(t))}while(n(r)>y&&--a>0);return t/2}function Z(e,t,r){function n(n,i){return[e*n*o(i=W(r,i)),t*m(i)]}return n.invert=function(n,i){return i=E(i/t),[n/(e*o(i)),E((2*i+m(2*i))/r)]},n}j.invert=function(e,t){if((a=n(t))v&&--u>0);return[e/(o(l)*(F-1/m(l))),d(t)*l]},V.invert=function(e,t){var r=2*E(t/2);return[e*o(r/2)/o(r),r]};var Y=Z(T/_,T,x),X=2.00276,$=1.11072;function K(e,t){var r=W(x,t);return[X*e/(1/o(t)+$/o(r)),(t+T*m(r))/X]}function J(e){var r=0,n=t.geoProjectionMutator(e),i=n(r);return i.parallel=function(e){return arguments.length?n(r=e*S):r*M},i}function Q(e,t){return[e*o(t),t]}function ee(e){if(!e)return Q;var t=1/g(e);function r(r,n){var i=t+e-n,a=i&&r*o(n)/i;return[i*m(a),t-i*o(a)]}return r.invert=function(r,n){var i=I(r*r+(n=t-n)*n),s=t+e-i;return[i/o(s)*a(r,n),s]},r}function te(e){function t(t,r){var n=_-r,i=n&&t*e*m(n)/n;return[n*m(i)/e,_-n*o(i)]}return t.invert=function(t,r){var n=t*e,i=_-r,o=I(n*n+i*i),s=a(n,i);return[(o?o/m(o):1)*s/e,_-o]},t}K.invert=function(e,t){var r,i,a=X*t,s=t<0?-b:b,l=25;do{i=a-T*m(s),s-=r=(m(2*s)+2*s-x*m(i))/(2*o(2*s)+2+x*o(i)*T*o(s))}while(n(r)>y&&--l>0);return i=a-T*m(s),[e*(1/o(i)+$/o(s))/X,i]},Q.invert=function(e,t){return[e/o(t),t]};var re=Z(1,4/x,x);function ne(e,t,r,i,s,l){var c,u=o(l);if(n(e)>1||n(l)>1)c=C(r*s+t*i*u);else{var h=m(e/2),f=m(l/2);c=2*E(I(h*h+t*i*f*f))}return n(c)>y?[c,a(i*m(l),t*s-r*i*u)]:[0,0]}function ie(e,t,r){return C((e*e+t*t-r*r)/(2*e*t))}function ae(e){return e-2*x*l((e+x)/(2*x))}function oe(e,t,r){for(var n,i=[[e[0],e[1],m(e[1]),o(e[1])],[t[0],t[1],m(t[1]),o(t[1])],[r[0],r[1],m(r[1]),o(r[1])]],a=i[2],s=0;s<3;++s,a=n)n=i[s],a.v=ne(n[1]-a[1],a[3],a[2],n[3],n[2],n[0]-a[0]),a.point=[0,0];var l=ie(i[0].v[0],i[2].v[0],i[1].v[0]),c=ie(i[0].v[0],i[1].v[0],i[2].v[0]),u=x-l;i[2].point[1]=0,i[0].point[0]=-(i[1].point[0]=i[0].v[0]/2);var h=[i[2].point[0]=i[0].point[0]+i[2].v[0]*o(l),2*(i[0].point[1]=i[1].point[1]=i[2].v[0]*m(l))];return function(e,t){var r,n=m(t),a=o(t),s=new Array(3);for(r=0;r<3;++r){var l=i[r];if(s[r]=ne(t-l[1],l[3],l[2],a,n,e-l[0]),!s[r][0])return l.point;s[r][1]=ae(s[r][1]-l.v[1])}var f=h.slice();for(r=0;r<3;++r){var p=2==r?0:r+1,d=ie(i[r].v[0],s[r][0],s[p][0]);s[r][1]<0&&(d=-d),r?1==r?(d=c-d,f[0]-=s[r][0]*o(d),f[1]-=s[r][0]*m(d)):(d=u-d,f[0]+=s[r][0]*o(d),f[1]+=s[r][0]*m(d)):(f[0]+=s[r][0]*o(d),f[1]-=s[r][0]*m(d))}return f[0]/=3,f[1]/=3,f}}function se(e){return e[0]*=S,e[1]*=S,e}function le(e,r,n){var i=t.geoCentroid({type:"MultiPoint",coordinates:[e,r,n]}),a=[-i[0],-i[1]],o=t.geoRotation(a),s=oe(se(o(e)),se(o(r)),se(o(n)));s.invert=H(s);var l=t.geoProjection(s).rotate(a),c=l.center;return delete l.rotate,l.center=function(e){return arguments.length?c(o(e)):o.invert(c())},l.clipAngle(90)}function ce(e,t){var r=I(1-m(t));return[2/k*e*r,k*(1-r)]}function ue(e){var t=g(e);function r(e,r){return[e,(e?e/m(e):1)*(m(r)*o(e)-t*o(r))]}return r.invert=t?function(e,r){e&&(r*=m(e)/e);var n=o(e);return[e,2*a(I(n*n+t*t-r*r)-n,t-r)]}:function(e,t){return[e,E(e?t*g(e)/e:t)]},r}ce.invert=function(e,t){var r=(r=t/k-1)*r;return[r>0?e*I(x/r)/2:0,E(1-r)]};var he=I(3);function fe(e,t){return[he*e*(2*o(2*t/3)-1)/k,he*k*m(t/3)]}function pe(e){var t=o(e);function r(e,r){return[e*t,m(r)/t]}return r.invert=function(e,r){return[e/t,E(r*t)]},r}function de(e){var t=o(e);function r(e,r){return[e*t,(1+t)*g(r/2)]}return r.invert=function(e,r){return[e/t,2*i(r/(1+t))]},r}function me(e,t){var r=I(8/(3*x));return[r*e*(1-n(t)/x),r*t]}function ge(e,t){var r=I(4-3*m(n(t)));return[2/I(6*x)*e*r,d(t)*I(2*x/3)*(2-r)]}function ye(e,t){var r=I(x*(4+x));return[2/r*e*(1+I(1-4*t*t/(x*x))),4/r*t]}function ve(e,t){var r=(2+_)*m(t);t/=2;for(var i=0,a=1/0;i<10&&n(a)>y;i++){var s=o(t);t-=a=(t+m(t)*(s+2)-r)/(2*s*(1+s))}return[2/I(x*(4+x))*e*(1+o(t)),2*I(x/(4+x))*m(t)]}function xe(e,t){return[e*(1+o(t))/I(2+x),2*t/I(2+x)]}function _e(e,t){for(var r=(1+_)*m(t),i=0,a=1/0;i<10&&n(a)>y;i++)t-=a=(t+m(t)-r)/(1+o(t));return r=I(2+x),[e*(1+o(t))/r,2*t/r]}fe.invert=function(e,t){var r=3*E(t/(he*k));return[k*e/(he*(2*o(2*r/3)-1)),r]},me.invert=function(e,t){var r=I(8/(3*x)),i=t/r;return[e/(r*(1-n(i)/x)),i]},ge.invert=function(e,t){var r=2-n(t)/I(2*x/3);return[e*I(6*x)/(2*r),d(t)*E((4-r*r)/3)]},ye.invert=function(e,t){var r=I(x*(4+x))/2;return[e*r/(1+I(1-t*t*(4+x)/(4*x))),t*r/2]},ve.invert=function(e,t){var r=t*I((4+x)/x)/2,n=E(r),i=o(n);return[e/(2/I(x*(4+x))*(1+i)),E((n+r*(i+2))/(2+_))]},xe.invert=function(e,t){var r=I(2+x),n=t*r/2;return[r*e/(1+o(n)),n]},_e.invert=function(e,t){var r=1+_,n=I(r/2);return[2*e*n/(1+o(t*=n)),E((t+m(t))/r)]};var be=3+2*T;function we(e,t){var r=m(e/=2),n=o(e),a=I(o(t)),s=o(t/=2),l=m(t)/(s+T*n*a),u=I(2/(1+l*l)),h=I((T*s+(n+r)*a)/(T*s+(n-r)*a));return[be*(u*(h-1/h)-2*c(h)),be*(u*l*(h+1/h)-2*i(l))]}we.invert=function(e,t){if(!(r=R.invert(e/1.2,1.065*t)))return null;var r,a=r[0],s=r[1],l=20;e/=be,t/=be;do{var f=a/2,p=s/2,d=m(f),g=o(f),v=m(p),x=o(p),b=o(s),k=I(b),A=v/(x+T*g*k),M=A*A,S=I(2/(1+M)),E=(T*x+(g+d)*k)/(T*x+(g-d)*k),C=I(E),L=C-1/C,P=C+1/C,z=S*L-2*c(C)-e,D=S*A*P-2*i(A)-t,O=v&&w*k*d*M/v,F=(T*g*x+k)/(2*(x+T*g*k)*(x+T*g*k)*k),B=-.5*A*S*S*S,j=B*O,N=B*F,U=(U=2*x+T*k*(g-d))*U*C,V=(T*g*x*k+b)/U,q=-T*d*v/(k*U),H=L*j-2*V/C+S*(V+V/E),G=L*N-2*q/C+S*(q+q/E),W=A*P*j-2*O/(1+M)+S*P*O+S*A*(V-V/E),Z=A*P*N-2*F/(1+M)+S*P*F+S*A*(q-q/E),Y=G*W-Z*H;if(!Y)break;var X=(D*G-z*Z)/Y,$=(z*W-D*H)/Y;a-=X,s=u(-_,h(_,s-$))}while((n(X)>y||n($)>y)&&--l>0);return n(n(s)-_)s){var d=I(f),g=a(h,u),v=i*p(g/i),b=g-v,w=e*o(b),T=(e*m(b)-b*m(w))/(_-w),k=Ie(b,T),A=(x-e)/Le(k,w,x);u=d;var M,S=50;do{u-=M=(e+Le(k,w,u)*A-d)/(k(u)*A)}while(n(M)>y&&--S>0);h=b*m(u),u<_&&(h-=T*(u-_));var E=m(v),C=o(v);c[0]=u*C-h*E,c[1]=u*E+h*C}return c}return l.invert=function(r,l){var c=r*r+l*l;if(c>s){var u=I(c),h=a(l,r),f=i*p(h/i),d=h-f;r=u*o(d),l=u*m(d);for(var g=r-_,y=m(r),b=l/y,w=r<_?1/0:0,T=10;;){var k=e*m(b),A=e*o(b),M=m(A),S=_-A,E=(k-b*M)/S,C=Ie(b,E);if(n(w)y||n(p)>y)&&--v>0);return[d,g]},u}ke.invert=function(e,t){var r=t/(1+Te);return[e&&e/(Te*I(1-r*r)),2*i(r)]},Ae.invert=function(e,t){var r=i(t/k),n=o(r),a=2*r;return[e*k/2/(o(a)*n*n),a]};var ze=Pe(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555),De=Pe(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742),Oe=Pe(5/6*x,-.62636,-.0344,0,1.3493,-.05524,0,.045);function Re(e,t){var r=e*e,n=t*t;return[e*(1-.162388*n)*(.87-952426e-9*r*r),t*(1+n/12)]}Re.invert=function(e,t){var r,i=e,a=t,o=50;do{var s=a*a;a-=r=(a*(1+s/12)-t)/(1+s/4)}while(n(r)>y&&--o>0);o=50,e/=1-.162388*s;do{var l=(l=i*i)*l;i-=r=(i*(.87-952426e-9*l)-e)/(.87-.00476213*l)}while(n(r)>y&&--o>0);return[i,a]};var Fe=Pe(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Be(e){var t=e(_,0)[0]-e(-_,0)[0];function r(r,n){var i=r>0?-.5:.5,a=e(r+i*x,n);return a[0]-=i*t,a}return e.invert&&(r.invert=function(r,n){var i=r>0?-.5:.5,a=e.invert(r+i*t,n),o=a[0]-i*x;return o<-x?o+=2*x:o>x&&(o-=2*x),a[0]=o,a}),r}function je(e,t){var r=d(e),i=d(t),s=o(t),l=o(e)*s,c=m(e)*s,u=m(i*t);e=n(a(c,u)),t=E(l),n(e-_)>y&&(e%=_);var h=function(e,t){if(t===_)return[0,0];var r,i,a=m(t),s=a*a,l=s*s,c=1+l,u=1+3*l,h=1-l,f=E(1/I(c)),p=h+s*c*f,d=(1-a)/p,g=I(d),v=d*c,b=I(v),w=g*h;if(0===e)return[0,-(w+s*b)];var T,k=o(t),A=1/k,M=2*a*k,S=(-p*k-(1-a)*((-3*s+f*u)*M))/(p*p),C=-A*M,L=-A*(s*c*S+d*u*M),P=-2*A*(h*(.5*S/g)-2*s*g*M),z=4*e/x;if(e>.222*x||t.175*x){if(r=(w+s*I(v*(1+l)-w*w))/(1+l),e>x/4)return[r,r];var D=r,O=.5*r;r=.5*(O+D),i=50;do{var R=r*(P+C*I(v-r*r))+L*E(r/b)-z;if(!R)break;R<0?O=r:D=r,r=.5*(O+D)}while(n(D-O)>y&&--i>0)}else{r=y,i=25;do{var F=r*r,B=I(v-F),j=P+C*B,N=r*j+L*E(r/b)-z;r-=T=B?N/(j+(L-C*F)/B):0}while(n(T)>y&&--i>0)}return[r,-w-s*I(v-r*r)]}(e>x/4?_-e:e,t);return e>x/4&&(u=h[0],h[0]=-h[1],h[1]=-u),h[0]*=r,h[1]*=-i,h}function Ne(e,t){var r,a,l,c,u;if(t=1-y)return r=(1-t)/4,a=P(e),c=function(e){return((e=s(2*e))-1)/(e+1)}(e),l=1/a,[c+r*((u=a*L(e))-e)/(a*a),l-r*c*l*(u-e),l+r*c*l*(u+e),2*i(s(e))-_+r*(u-e)/a];var h=[1,0,0,0,0,0,0,0,0],f=[I(t),0,0,0,0,0,0,0,0],p=0;for(a=I(1-t),u=1;n(f[p]/h[p])>y&&p<8;)r=h[p++],f[p]=(r-a)/2,h[p]=(r+a)/2,a=I(r*a),u*=2;l=u*h[p]*e;do{l=(E(c=f[p]*m(a=l)/h[p])+l)/2}while(--p);return[m(l),c=o(l),c/o(l-a),l]}function Ue(e,t){if(!t)return e;if(1===t)return c(g(e/2+b));for(var r=1,a=I(1-t),o=I(t),s=0;n(o)>y;s++){if(e%x){var l=i(a*g(e)/r);l<0&&(l+=x),e+=l+~~(e/x)*x}else e+=e;o=(r+a)/2,a=I(r*a),o=((r=o)-a)/2}return e/(f(2,s)*r)}function Ve(e,t){var r=(T-1)/(T+1),l=I(1-r*r),u=Ue(_,l*l),h=c(g(x/4+n(t)/2)),f=s(-1*h)/I(r),p=function(e,t){var r=e*e,n=t+1,i=1-r-t*t;return[.5*((e>=0?_:-_)-a(i,2*e)),-.25*c(i*i+4*r)+.5*c(n*n+r)]}(f*o(-1*e),f*m(-1*e)),y=function(e,t,r){var a=n(e),o=L(n(t));if(a){var s=1/m(a),l=1/(g(a)*g(a)),c=-(l+r*(o*o*s*s)-1+r),u=(-c+I(c*c-(r-1)*l*4))/2;return[Ue(i(1/I(u)),r)*d(e),Ue(i(I((u/l-1)/r)),1-r)*d(t)]}return[0,Ue(i(o),1-r)*d(t)]}(p[0],p[1],l*l);return[-y[1],(t>=0?1:-1)*(.5*u-y[0])]}function qe(e){var t=m(e),r=o(e),i=He(e);function s(e,a){var s=i(e,a);e=s[0],a=s[1];var l=m(a),c=o(a),u=o(e),h=C(t*l+r*c*u),f=m(h),p=n(f)>y?h/f:1;return[p*r*m(e),(n(e)>_?p:-p)*(t*c-r*l*u)]}return i.invert=He(-e),s.invert=function(e,r){var n=I(e*e+r*r),s=-m(n),l=o(n),c=n*l,u=-r*s,h=n*t,f=I(c*c+u*u-h*h),p=a(c*h+u*f,u*h-c*f),d=(n>_?-1:1)*a(e*s,n*o(p)*l+r*m(p)*s);return i.invert(d,p)},s}function He(e){var t=m(e),r=o(e);return function(e,n){var i=o(n),s=o(e)*i,l=m(e)*i,c=m(n);return[a(l,s*r-c*t),E(c*r+s*t)]}}je.invert=function(e,t){n(e)>1&&(e=2*d(e)-e),n(t)>1&&(t=2*d(t)-t);var r=d(e),i=d(t),s=-r*e,l=-i*t,c=l/s<1,u=function(e,t){for(var r=0,i=1,a=.5,s=50;;){var l=a*a,c=I(a),u=E(1/I(1+l)),h=1-l+a*(1+l)*u,f=(1-c)/h,p=I(f),d=f*(1+l),m=p*(1-l),g=I(d-e*e),y=t+m+a*g;if(n(i-r)0?r=a:i=a,a=.5*(r+i)}if(!s)return null;var _=E(c),b=o(_),w=1/b,T=2*c*b,k=(-h*b-(1-c)*((-3*a+u*(1+3*l))*T))/(h*h);return[x/4*(e*(-2*w*(.5*k/p*(1-l)-2*a*p*T)+-w*T*g)+-w*(a*(1+l)*k+f*(1+3*l)*T)*E(e/I(d))),_]}(c?l:s,c?s:l),h=u[0],f=u[1],p=o(f);return c&&(h=-_-h),[r*(a(m(h)*p,-m(f))+x),i*E(o(h)*p)]},Ve.invert=function(e,t){var r=(T-1)/(T+1),n=I(1-r*r),o=function(e,t,r){var n,i,a;return e?(n=Ne(e,r),t?(a=(i=Ne(t,1-r))[1]*i[1]+r*n[0]*n[0]*i[0]*i[0],[[n[0]*i[2]/a,n[1]*n[2]*i[0]*i[1]/a],[n[1]*i[1]/a,-n[0]*n[2]*i[0]*i[2]/a],[n[2]*i[1]*i[2]/a,-r*n[0]*n[1]*i[0]/a]]):[[n[0],0],[n[1],0],[n[2],0]]):[[0,(i=Ne(t,1-r))[0]/i[1]],[1/i[1],0],[i[2]/i[1],0]]}(.5*Ue(_,n*n)-t,-e,n*n),l=function(e,t){var r=t[0]*t[0]+t[1]*t[1];return[(e[0]*t[0]+e[1]*t[1])/r,(e[1]*t[0]-e[0]*t[1])/r]}(o[0],o[1]);return[a(l[1],l[0])/-1,2*i(s(-.5*c(r*l[0]*l[0]+r*l[1]*l[1])))-_]};var Ge=E(1-1/3)*M,We=pe(0);function Ze(e){var t=Ge*S,r=ce(x,t)[0]-ce(-x,t)[0],i=We(0,t)[1],a=ce(0,t)[1],o=k-a,s=A/e,c=4/A,f=i+o*o*4/A;function p(p,d){var m,g=n(d);if(g>t){var y=h(e-1,u(0,l((p+x)/s)));(m=ce(p+=x*(e-1)/e-y*s,g))[0]=m[0]*A/r-A*(e-1)/(2*e)+y*A/e,m[1]=i+4*(m[1]-a)*o/A,d<0&&(m[1]=-m[1])}else m=We(p,d);return m[0]*=c,m[1]/=f,m}return p.invert=function(t,p){t/=c;var d=n(p*=f);if(d>i){var m=h(e-1,u(0,l((t+x)/s)));t=(t+x*(e-1)/e-m*s)*r/A;var g=ce.invert(t,.25*(d-i)*A/o+a);return g[0]-=x*(e-1)/e-m*s,p<0&&(g[1]=-g[1]),g}return We.invert(t,p)},p}function Ye(e,t){return[e,1&t?90-y:Ge]}function Xe(e,t){return[e,1&t?-90+y:-Ge]}function $e(e){return[e[0]*(1-y),e[1]]}function Ke(e){var t,r=1+e,i=E(m(1/r)),s=2*I(x/(t=x+4*i*r)),l=.5*s*(r+I(e*(2+e))),c=e*e,u=r*r;function h(h,f){var p,d,g=1-m(f);if(g&&g<2){var y,b=_-f,w=25;do{var T=m(b),k=o(b),A=i+a(T,r-k),M=1+u-2*r*k;b-=y=(b-c*i-r*T+M*A-.5*g*t)/(2*r*T*A)}while(n(y)>v&&--w>0);p=s*I(M),d=h*A/x}else p=s*(e+g),d=h*i/x;return[p*m(d),l-p*o(d)]}return h.invert=function(e,n){var o=e*e+(n-=l)*n,h=(1+u-o/(s*s))/(2*r),f=C(h),p=m(f),d=i+a(p,r-h);return[E(e/I(o))*x/d,E(1-2*(f-c*i-r*p+(1+u-2*r*h)*d)/t)]},h}var Je=.7109889596207567,Qe=.0528035274542;function et(e,t){return t>-Je?((e=Y(e,t))[1]+=Qe,e):Q(e,t)}function tt(e,t){return n(t)>Je?((e=Y(e,t))[1]-=t>0?Qe:-Qe,e):Q(e,t)}function rt(e,t,r,n){var i=I(4*x/(2*r+(1+e-t/2)*m(2*r)+(e+t)/2*m(4*r)+t/2*m(6*r))),a=I(n*m(r)*I((1+e*o(2*r)+t*o(4*r))/(1+e+t))),s=r*c(1);function l(r){return I(1+e*o(2*r)+t*o(4*r))}function c(n){var i=n*r;return(2*i+(1+e-t/2)*m(2*i)+(e+t)/2*m(4*i)+t/2*m(6*i))/r}function u(e){return l(e)*m(e)}var h=function(e,t){var n=r*q(c,s*m(t)/r,t/x);isNaN(n)&&(n=r*d(t));var u=i*l(n);return[u*a*e/x*o(n),u/a*m(n)]};return h.invert=function(e,t){var n=q(u,t*a/i);return[e*x/(o(n)*i*a*l(n)),E(r*c(n/r)/s)]},0===r&&(i=I(n/x),(h=function(e,t){return[e*i,m(t)/i]}).invert=function(e,t){return[e/i,E(t*i)]}),h}function nt(e,t,r,n,i,a,o,s,l,c,u){if(u.nanEncountered)return NaN;var h,f,p,d,m,g,y,v,x,_;if(f=e(t+.25*(h=r-t)),p=e(r-.25*h),isNaN(f))u.nanEncountered=!0;else{if(!isNaN(p))return _=((g=(d=h*(n+4*f+i)/12)+(m=h*(i+4*p+a)/12))-o)/15,c>l?(u.maxDepthCount++,g+_):Math.abs(_)e?r=n:t=n,n=t+r>>1}while(n>t);var i=c[n+1]-c[n];return i&&(i=(e-c[n+1])/i),(n+1+i)/s}var p=2*h(1)/x*o/r,g=function(e,t){var r=h(n(m(t))),a=i(r)*e;return r/=p,[a,t>=0?r:-r]};return g.invert=function(e,t){var r;return n(t*=p)<1&&(r=d(t)*E(a(n(t))*o)),[e/i(n(t)),r]},g}function ot(e,t){return n(e[0]-t[0])a[o][2][0];++o);var l=e(t-a[o][1][0],r);return l[0]+=e(a[o][1][0],i*r>i*a[o][0][1]?a[o][0][1]:r)[0],l}i?s.invert=i(s):e.invert&&(s.invert=function(t,r){for(var i=o[+(r<0)],a=n[+(r<0)],l=0,c=i.length;l=0;--l)n=(t=e[1][l])[0][0],i=t[0][1],a=t[1][1],o=t[2][0],s=t[2][1],c.push(st([[o-y,s-y],[o-y,a+y],[n+y,a+y],[n+y,i-y]],30));return{type:"Polygon",coordinates:[r.merge(c)]}}(t),n=t.map((function(e){return e.map((function(e){return[[e[0][0]*S,e[0][1]*S],[e[1][0]*S,e[1][1]*S],[e[2][0]*S,e[2][1]*S]]}))})),o=n.map((function(t){return t.map((function(t){var r,n=e(t[0][0],t[0][1])[0],i=e(t[2][0],t[2][1])[0],a=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]}))})),l):n.map((function(e){return e.map((function(e){return[[e[0][0]*M,e[0][1]*M],[e[1][0]*M,e[1][1]*M],[e[2][0]*M,e[2][1]*M]]}))}))},null!=n&&l.lobes(n),l}et.invert=function(e,t){return t>-Je?Y.invert(e,t-Qe):Q.invert(e,t)},tt.invert=function(e,t){return n(t)>Je?Y.invert(e,t+(t>0?Qe:-Qe)):Q.invert(e,t)};var ct=[[[[-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]]]],ut=[[[[-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]]]],ht=[[[[-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]]]],ft=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]],pt=[[[[-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]]]],dt=[[[[-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 mt(e,t){return[3/A*e*I(x*x/3-t*t),t]}function gt(e){function t(t,r){if(n(n(r)-_)2)return null;var o=(t/=2)*t,s=(r/=2)*r,l=2*r/(1+o+s);return l=f((1+l)/(1-l),1/e),[a(2*t,1-o-s)/e,E((l-1)/(l+1))]},t}mt.invert=function(e,t){return[A/3*e/I(x*x/3-t*t),t]};var yt=x/T;function vt(e,t){return[e*(1+I(o(t)))/2,t/(o(t/2)*o(e/6))]}function xt(e,t){var r=e*e,n=t*t;return[e*(.975534+n*(-.0143059*r-.119161+-.0547009*n)),t*(1.00384+r*(.0802894+-.02855*n+199025e-9*r)+n*(.0998909+-.0491032*n))]}function _t(e,t){return[m(e)/o(t),g(t)*o(e)]}function bt(e){var t=o(e),r=g(b+e/2);function i(i,a){var o=a-e,s=n(o)=0;)f=(h=e[u])[0]+l*(i=f)-c*p,p=h[1]+l*p+c*i;return[f=l*(i=f)-c*p,p=l*p+c*i]}return r.invert=function(r,s){var l=20,c=r,u=s;do{for(var h,f=t,p=e[f],d=p[0],g=p[1],v=0,x=0;--f>=0;)v=d+c*(h=v)-u*x,x=g+c*x+u*h,d=(p=e[f])[0]+c*(h=d)-u*g,g=p[1]+c*g+u*h;var _,b,w=(v=d+c*(h=v)-u*x)*v+(x=g+c*x+u*h)*x;c-=_=((d=c*(h=d)-u*g-r)*v+(g=c*g+u*h-s)*x)/w,u-=b=(g*v-d*x)/w}while(n(_)+n(b)>y*y&&--l>0);if(l){var T=I(c*c+u*u),k=2*i(.5*T),A=m(k);return[a(c*A,T*o(k)),T?E(u*A/T):0]}},r}vt.invert=function(e,t){var r=n(e),i=n(t),a=y,s=_;iy||n(_)>y)&&--a>0);return a&&[r,i]},_t.invert=function(e,t){var r=e*e,n=t*t+1,i=r+n,a=e?w*I((i-I(i*i-4*r))/r):1/I(n);return[E(e*a),d(t)*C(a)]},wt.invert=function(e,t){return[e,2.5*i(s(.8*t))-.625*x]};var kt=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],At=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Mt=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],St=[[.9245,0],[0,0],[.01943,0]],Et=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Ct(e,r){var n=t.geoProjection(Tt(e)).rotate(r).clipAngle(90),i=t.geoRotation(r),a=n.center;return delete n.rotate,n.center=function(e){return arguments.length?a(i(e)):i.invert(a())},n}var It=I(6),Lt=I(7);function Pt(e,t){var r=E(7*m(t)/(3*It));return[It*e*(2*o(2*r/3)-1)/Lt,9*m(r/3)/Lt]}function zt(e,t){for(var r,i=(1+w)*m(t),a=t,s=0;s<25&&(a-=r=(m(a/2)+m(a)-i)/(.5*o(a/2)+o(a)),!(n(r)v&&--l>0);return[e/(.84719-.13063*(i=s*s)+(o=i*(a=i*i))*o*(.05494*i-.04515-.02326*a+.00331*o)),s]},Rt.invert=function(e,t){for(var r=t/2,i=0,a=1/0;i<10&&n(a)>y;++i){var s=o(t/2);t-=a=(t-g(t/2)-r)/(1-.5/(s*s))}return[2*e/(1+o(t)),t]};var Ft=[[[[-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 Bt(e,t){var r=m(t),i=o(t),a=d(e);if(0===e||n(t)===_)return[0,t];if(0===t)return[e,0];if(n(e)===_)return[e*i,_*r];var s=x/(2*e)-2*e/x,l=2*t/x,c=(1-l*l)/(r-l),u=s*s,h=c*c,f=1+u/h,p=1+h/u,g=(s*r/c-s/2)/f,y=(h*r/u+c/2)/p,v=y*y-(h*r*r/u+c*r-1)/p;return[_*(g+I(g*g+i*i/f)*a),_*(y+I(v<0?0:v)*d(-t*s)*a)]}Bt.invert=function(e,t){var r=(e/=_)*e,n=r+(t/=_)*t,i=x*x;return[e?(n-1+I((1-n)*(1-n)+4*r))/(2*e)*_:0,q((function(e){return n*(x*m(e)-2*e)*x+4*e*e*(t-m(e))+2*x*e-i*t}),0)]};var jt=1.0148,Nt=.23185,Ut=-.14499,Vt=.02406,qt=jt,Ht=5*Nt,Gt=7*Ut,Wt=1.790857183;function Zt(e,t){var r=t*t;return[e,t*(jt+r*r*(Nt+r*(Ut+Vt*r)))]}function Yt(e,t){if(n(t)=0;)if(n=t[s],r[0]===n[0]&&r[1]===n[1]){if(a)return[a,r];a=r}}}(t.face,r.face),i=function(e,t){var r=$t(e[1],e[0]),n=$t(t[1],t[0]),i=function(e,t){return a(e[0]*t[1]-e[1]*t[0],e[0]*t[0]+e[1]*t[1])}(r,n),s=Kt(r)/Kt(n);return Xt([1,0,e[0][0],0,1,e[0][1]],Xt([s,0,0,0,s,0],Xt([o(i),m(i),0,-m(i),o(i),0],[1,0,-t[0][0],0,1,-t[0][1]])))}(n.map(r.project),n.map(t.project));t.transform=r.transform?Xt(r.transform,i):i;for(var s=r.edges,l=0,c=s.length;lWt?t=Wt:t<-Wt&&(t=-Wt);var r,i=t;do{var a=i*i;i-=r=(i*(jt+a*a*(Nt+a*(Ut+Vt*a)))-t)/(qt+a*a*(Ht+a*(Gt+.21654*a)))}while(n(r)>y);return[e,i]},Yt.invert=function(e,t){if(n(t)y&&--s>0);return l=g(a),[(n(t)n^p>n&&r<(f-c)*(n-u)/(p-u)+c&&(i=!i)}return i}(e[0],r))return e.push(t),!0}))||e.push([t])})),mr=[],e.length?e.length>1?{type:"MultiPolygon",coordinates:e}:{type:"Polygon",coordinates:e[0]}:null}};function xr(e){var r=e(_,0)[0]-e(-_,0)[0];function i(t,i){var a=n(t)<_,o=e(a?t:t>0?t-x:t+x,i),s=(o[0]-o[1])*w,l=(o[0]+o[1])*w;if(a)return[s,l];var c=r*w,u=s>0^l>0?-1:1;return[u*s-d(l)*c,u*l-d(s)*c]}return e.invert&&(i.invert=function(t,i){var a=(t+i)*w,o=(i-t)*w,s=n(a)<.5*r&&n(o)<.5*r;if(!s){var l=r*w,c=a>0^o>0?-1:1,u=-c*t+(o>0?1:-1)*l,h=-c*i+(a>0?1:-1)*l;a=(-u-h)*w,o=(u-h)*w}var f=e.invert(a,o);return s||(f[0]+=a>0?x:-x),f}),t.geoProjection(i).rotate([-90,-90,45]).clipAngle(179.999)}function _r(){return xr(Ve).scale(111.48)}function br(e){var t=m(e);function r(r,n){var a=t?g(r*t/2)/t:r/2;if(!n)return[2*a,-e];var s=2*i(a*m(n)),l=1/g(n);return[m(s)*l,n+(1-o(s))*l-e]}return r.invert=function(r,a){if(n(a+=e)y&&--u>0);var d=r*(h=g(c)),v=g(n(a)0?_:-_)*(f+o*(d-c)/2+o*o*(d-2*f+c)/2)]}function kr(e,t){var r=function(e){function t(t,r){var n=o(r),i=(e-1)/(e-n*o(t));return[i*n*m(t),i*m(r)]}return t.invert=function(t,r){var n=t*t+r*r,i=I(n),o=(e-I(1-n*(e+1)/(e-1)))/((e-1)/i+i/(e-1));return[a(t*o,i*I(1-o*o)),i?E(r*o/i):0]},t}(e);if(!t)return r;var n=o(t),i=m(t);function s(t,a){var o=r(t,a),s=o[1],l=s*i/(e-1)+n;return[o[0]*n/l,s/l]}return s.invert=function(t,a){var o=(e-1)/(e-1-a*i);return r.invert(o*t,o*a*n)},s}wr.forEach((function(e){e[1]*=1.0144})),Tr.invert=function(e,t){var r=t/_,i=90*r,a=h(18,n(i/5)),o=u(0,l(a));do{var s=wr[o][1],c=wr[o+1][1],f=wr[h(19,o+2)][1],p=f-s,d=f-2*c+s,m=2*(n(r)-c)/p,g=d/p,y=m*(1-g*m*(1-2*g*m));if(y>=0||1===o){i=(t>=0?5:-5)*(y+a);var x,b=50;do{y=(a=h(18,n(i)/5))-(o=l(a)),s=wr[o][1],c=wr[o+1][1],f=wr[h(19,o+2)][1],i-=(x=(t>=0?_:-_)*(c+y*(f-s)/2+y*y*(f-2*c+s)/2)-t)*M}while(n(x)>v&&--b>0);break}}while(--o>=0);var w=wr[o][0],T=wr[o+1][0],k=wr[h(19,o+2)][0];return[e/(T+y*(k-w)/2+y*y*(k-2*T+w)/2),i*S]};var Ar=1e-4,Mr=-180,Sr=Mr+Ar,Er=180-Ar,Cr=-90+Ar,Ir=90-Ar;function Lr(e){return e.length>0}function Pr(e){return Math.floor(1e4*e)/1e4}function zr(e){return-90===e||90===e?[0,e]:[Mr,Pr(e)]}function Dr(e){var t=e[0],r=e[1],n=!1;return t<=Sr?(t=Mr,n=!0):t>=Er&&(t=180,n=!0),r<=Cr?(r=-90,n=!0):r>=Ir&&(r=90,n=!0),n?[t,r]:e}function Or(e){return e.map(Dr)}function Rr(e,t,r){for(var n=0,i=e.length;n=Er||u<=Cr||u>=Ir){a[o]=Dr(l);for(var h=o+1;hSr&&pCr&&d=s)break;r.push({index:-1,polygon:t,ring:a=a.slice(h-1)}),a[0]=zr(a[0][1]),o=-1,s=a.length}}}}function Fr(e){var t,r,n,i,a,o,s=e.length,l={},c={};for(t=0;t0?x-l:l)*M],u=t.geoProjection(e(s)).rotate(c),h=t.geoRotation(c),f=u.center;return delete u.rotate,u.center=function(e){return arguments.length?f(h(e)):h.invert(f())},u.clipAngle(90)}function Vr(e){var r=o(e);function n(e,n){var i=t.geoGnomonicRaw(e,n);return i[0]*=r,i}return n.invert=function(e,n){return t.geoGnomonicRaw.invert(e/r,n)},n}function qr(e,t){return Ur(Vr,e,t)}function Hr(e){if(!(e*=2))return t.geoAzimuthalEquidistantRaw;var r=-e/2,n=-r,i=e*e,s=g(n),l=.5/m(n);function c(t,a){var s=C(o(a)*o(t-r)),l=C(o(a)*o(t-n));return[((s*=s)-(l*=l))/(2*e),(a<0?-1:1)*I(4*i*l-(i-s+l)*(i-s+l))/(2*e)]}return c.invert=function(e,t){var i,c,u=t*t,h=o(I(u+(i=e+r)*i)),f=o(I(u+(i=e+n)*i));return[a(c=h-f,i=(h+f)*s),(t<0?-1:1)*C(I(i*i+c*c)*l)]},c}function Gr(e,t){return Ur(Hr,e,t)}function Wr(e,t){if(n(t)y&&--l>0);return[d(e)*(I(a*a+4)+a)*x/4,_*s]};var Jr=4*x+3*I(3),Qr=2*I(2*x*I(3)/Jr),en=Z(Qr*I(3)/x,Qr,Jr/6);function tn(e,t){return[e*I(1-3*t*t/(x*x)),t]}function rn(e,t){var r=o(t),n=o(e)*r,i=1-n,s=o(e=a(m(e)*r,-m(t))),l=m(e);return[l*(r=I(1-n*n))-s*i,-s*r-l*i]}function nn(e,t){var r=D(e,t);return[(r[0]+e/_)/2,(r[1]+t)/2]}tn.invert=function(e,t){return[e/I(1-3*t*t/(x*x)),t]},rn.invert=function(e,t){var r=(e*e+t*t)/-2,n=I(-r*(2+r)),i=t*r+e*n,o=e*r-t*n,s=I(o*o+i*i);return[a(n*i,s*(1+r)),s?-E(n*o/s):0]},nn.invert=function(e,t){var r=e,i=t,a=25;do{var s,l=o(i),c=m(i),u=m(2*i),h=c*c,f=l*l,p=m(r),d=o(r/2),g=m(r/2),v=g*g,x=1-f*d*d,b=x?C(l*d)*I(s=1/x):s=0,w=.5*(2*b*l*g+r/_)-e,T=.5*(b*c+i)-t,k=.5*s*(f*v+b*l*d*h)+.5/_,A=s*(p*u/4-b*c*g),M=.125*s*(u*g-b*c*f*p),S=.5*s*(h*d+b*v*l)+.5,E=A*M-S*k,L=(T*A-w*S)/E,P=(w*M-T*k)/E;r-=L,i-=P}while((n(L)>y||n(P)>y)&&--a>0);return[r,i]},e.geoNaturalEarth=t.geoNaturalEarth1,e.geoNaturalEarthRaw=t.geoNaturalEarth1Raw,e.geoAiry=function(){var e=_,r=t.geoProjectionMutator(z),n=r(e);return n.radius=function(t){return arguments.length?r(e=t*S):e*M},n.scale(179.976).clipAngle(147)},e.geoAiryRaw=z,e.geoAitoff=function(){return t.geoProjection(D).scale(152.63)},e.geoAitoffRaw=D,e.geoArmadillo=function(){var e=20*S,r=e>=0?1:-1,n=g(r*e),i=t.geoProjectionMutator(O),s=i(e),l=s.stream;return s.parallel=function(t){return arguments.length?(n=g((r=(e=t*S)>=0?1:-1)*e),i(e)):e*M},s.stream=function(t){var i=s.rotate(),c=l(t),u=(s.rotate([0,0]),l(t)),h=s.precision();return s.rotate(i),c.sphere=function(){u.polygonStart(),u.lineStart();for(var t=-180*r;r*t<180;t+=90*r)u.point(t,90*r);if(e)for(;r*(t-=3*r*h)>=-180;)u.point(t,r*-a(o(t*S/2),n)*M);u.lineEnd(),u.polygonEnd()},c},s.scale(218.695).center([0,28.0974])},e.geoArmadilloRaw=O,e.geoAugust=function(){return t.geoProjection(R).scale(66.1603)},e.geoAugustRaw=R,e.geoBaker=function(){return t.geoProjection(j).scale(112.314)},e.geoBakerRaw=j,e.geoBerghaus=function(){var e=5,r=t.geoProjectionMutator(N),n=r(e),i=n.stream,s=.01,l=-o(s*S),c=m(s*S);return n.lobes=function(t){return arguments.length?r(e=+t):e},n.stream=function(t){var r=n.rotate(),u=i(t),h=(n.rotate([0,0]),i(t));return n.rotate(r),u.sphere=function(){h.polygonStart(),h.lineStart();for(var t=0,r=360/e,n=2*x/e,i=90-180/e,u=_;t=0;)e.point((t=r[i])[0],t[1]);e.lineEnd(),e.polygonEnd()},e},n.scale(79.4187).parallel(45).clipAngle(179.999)},e.geoHammerRetroazimuthalRaw=qe,e.geoHealpix=function(){var e=4,n=t.geoProjectionMutator(Ze),i=n(e),a=i.stream;return i.lobes=function(t){return arguments.length?n(e=+t):e},i.stream=function(n){var o=i.rotate(),s=a(n),l=(i.rotate([0,0]),a(n));return i.rotate(o),s.sphere=function(){t.geoStream(function(e){var t=[].concat(r.range(-180,180+e/2,e).map(Ye),r.range(180,-180-e/2,-e).map(Xe));return{type:"Polygon",coordinates:[180===e?t.map($e):t]}}(180/e),l)},s},i.scale(239.75)},e.geoHealpixRaw=Ze,e.geoHill=function(){var e=1,r=t.geoProjectionMutator(Ke),n=r(e);return n.ratio=function(t){return arguments.length?r(e=+t):e},n.scale(167.774).center([0,18.67])},e.geoHillRaw=Ke,e.geoHomolosine=function(){return t.geoProjection(tt).scale(152.63)},e.geoHomolosineRaw=tt,e.geoHufnagel=function(){var e=1,r=0,n=45*S,i=2,a=t.geoProjectionMutator(rt),o=a(e,r,n,i);return o.a=function(t){return arguments.length?a(e=+t,r,n,i):e},o.b=function(t){return arguments.length?a(e,r=+t,n,i):r},o.psiMax=function(t){return arguments.length?a(e,r,n=+t*S,i):n*M},o.ratio=function(t){return arguments.length?a(e,r,n,i=+t):i},o.scale(180.739)},e.geoHufnagelRaw=rt,e.geoHyperelliptical=function(){var e=0,r=2.5,n=1.183136,i=t.geoProjectionMutator(at),a=i(e,r,n);return a.alpha=function(t){return arguments.length?i(e=+t,r,n):e},a.k=function(t){return arguments.length?i(e,r=+t,n):r},a.gamma=function(t){return arguments.length?i(e,r,n=+t):n},a.scale(152.63)},e.geoHyperellipticalRaw=at,e.geoInterrupt=lt,e.geoInterruptedBoggs=function(){return lt(K,ct).scale(160.857)},e.geoInterruptedHomolosine=function(){return lt(tt,ut).scale(152.63)},e.geoInterruptedMollweide=function(){return lt(Y,ht).scale(169.529)},e.geoInterruptedMollweideHemispheres=function(){return lt(Y,ft).scale(169.529).rotate([20,0])},e.geoInterruptedSinuMollweide=function(){return lt(et,pt,H).rotate([-20,-55]).scale(164.263).center([0,-5.4036])},e.geoInterruptedSinusoidal=function(){return lt(Q,dt).scale(152.63).rotate([-20,0])},e.geoKavrayskiy7=function(){return t.geoProjection(mt).scale(158.837)},e.geoKavrayskiy7Raw=mt,e.geoLagrange=function(){var e=.5,r=t.geoProjectionMutator(gt),n=r(e);return n.spacing=function(t){return arguments.length?r(e=+t):e},n.scale(124.75)},e.geoLagrangeRaw=gt,e.geoLarrivee=function(){return t.geoProjection(vt).scale(97.2672)},e.geoLarriveeRaw=vt,e.geoLaskowski=function(){return t.geoProjection(xt).scale(139.98)},e.geoLaskowskiRaw=xt,e.geoLittrow=function(){return t.geoProjection(_t).scale(144.049).clipAngle(89.999)},e.geoLittrowRaw=_t,e.geoLoximuthal=function(){return J(bt).parallel(40).scale(158.837)},e.geoLoximuthalRaw=bt,e.geoMiller=function(){return t.geoProjection(wt).scale(108.318)},e.geoMillerRaw=wt,e.geoModifiedStereographic=Ct,e.geoModifiedStereographicRaw=Tt,e.geoModifiedStereographicAlaska=function(){return Ct(kt,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)},e.geoModifiedStereographicGs48=function(){return Ct(At,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])},e.geoModifiedStereographicGs50=function(){return Ct(Mt,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])},e.geoModifiedStereographicMiller=function(){return Ct(St,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)},e.geoModifiedStereographicLee=function(){return Ct(Et,[165,10]).scale(250).clipAngle(130).center([-165,-10])},e.geoMollweide=function(){return t.geoProjection(Y).scale(169.529)},e.geoMollweideRaw=Y,e.geoMtFlatPolarParabolic=function(){return t.geoProjection(Pt).scale(164.859)},e.geoMtFlatPolarParabolicRaw=Pt,e.geoMtFlatPolarQuartic=function(){return t.geoProjection(zt).scale(188.209)},e.geoMtFlatPolarQuarticRaw=zt,e.geoMtFlatPolarSinusoidal=function(){return t.geoProjection(Dt).scale(166.518)},e.geoMtFlatPolarSinusoidalRaw=Dt,e.geoNaturalEarth2=function(){return t.geoProjection(Ot).scale(175.295)},e.geoNaturalEarth2Raw=Ot,e.geoNellHammer=function(){return t.geoProjection(Rt).scale(152.63)},e.geoNellHammerRaw=Rt,e.geoInterruptedQuarticAuthalic=function(){return lt(U(1/0),Ft).rotate([20,0]).scale(152.63)},e.geoNicolosi=function(){return t.geoProjection(Bt).scale(127.267)},e.geoNicolosiRaw=Bt,e.geoPatterson=function(){return t.geoProjection(Zt).scale(139.319)},e.geoPattersonRaw=Zt,e.geoPolyconic=function(){return t.geoProjection(Yt).scale(103.74)},e.geoPolyconicRaw=Yt,e.geoPolyhedral=Jt,e.geoPolyhedralButterfly=function(e){e=e||function(e){var r=t.geoCentroid({type:"MultiPoint",coordinates:e});return t.geoGnomonic().scale(1).translate([0,0]).rotate([-r[0],-r[1]])};var r=nr.map((function(t){return{face:t,project:e(t)}}));return[-1,0,0,1,0,1,4,5].forEach((function(e,t){var n=r[e];n&&(n.children||(n.children=[])).push(r[t])})),Jt(r[0],(function(e,t){return r[e<-x/2?t<0?6:4:e<0?t<0?2:0:e0?[-r[0],0]:[180-r[0],180])};var r=nr.map((function(t){return{face:t,project:e(t)}}));return[-1,0,0,1,0,1,4,5].forEach((function(e,t){var n=r[e];n&&(n.children||(n.children=[])).push(r[t])})),Jt(r[0],(function(e,t){return r[e<-x/2?t<0?6:4:e<0?t<0?2:0:e2||a[0]!=t[0]||a[1]!=t[1])&&(n.push(a),t=a)}return 1===n.length&&e.length>1&&n.push(r(e[e.length-1])),n}function a(e){return e.map(i)}function o(e){if(null==e)return e;var t;switch(e.type){case"GeometryCollection":t={type:"GeometryCollection",geometries:e.geometries.map(o)};break;case"Point":t={type:"Point",coordinates:r(e.coordinates)};break;case"MultiPoint":t={type:e.type,coordinates:n(e.coordinates)};break;case"LineString":t={type:e.type,coordinates:i(e.coordinates)};break;case"MultiLineString":case"Polygon":t={type:e.type,coordinates:a(e.coordinates)};break;case"MultiPolygon":t={type:"MultiPolygon",coordinates:e.coordinates.map(a)};break;default:return e}return null!=e.bbox&&(t.bbox=e.bbox),t}function s(e){var t={type:"Feature",properties:e.properties,geometry:o(e.geometry)};return null!=e.id&&(t.id=e.id),null!=e.bbox&&(t.bbox=e.bbox),t}if(null!=e)switch(e.type){case"Feature":return s(e);case"FeatureCollection":var l={type:"FeatureCollection",features:e.features.map(s)};return null!=e.bbox&&(l.bbox=e.bbox),l;default:return o(e)}return e},e.geoQuincuncial=xr,e.geoRectangularPolyconic=function(){return J(br).scale(131.215)},e.geoRectangularPolyconicRaw=br,e.geoRobinson=function(){return t.geoProjection(Tr).scale(152.63)},e.geoRobinsonRaw=Tr,e.geoSatellite=function(){var e=2,r=0,n=t.geoProjectionMutator(kr),i=n(e,r);return i.distance=function(t){return arguments.length?n(e=+t,r):e},i.tilt=function(t){return arguments.length?n(e,r=t*S):r*M},i.scale(432.147).clipAngle(C(1/e)*M-1e-6)},e.geoSatelliteRaw=kr,e.geoSinuMollweide=function(){return t.geoProjection(et).rotate([-20,-55]).scale(164.263).center([0,-5.4036])},e.geoSinuMollweideRaw=et,e.geoSinusoidal=function(){return t.geoProjection(Q).scale(152.63)},e.geoSinusoidalRaw=Q,e.geoStitch=function(e){if(null==e)return e;switch(e.type){case"Feature":return Br(e);case"FeatureCollection":var t={type:"FeatureCollection",features:e.features.map(Br)};return null!=e.bbox&&(t.bbox=e.bbox),t;default:return jr(e)}},e.geoTimes=function(){return t.geoProjection(Nr).scale(146.153)},e.geoTimesRaw=Nr,e.geoTwoPointAzimuthal=qr,e.geoTwoPointAzimuthalRaw=Vr,e.geoTwoPointAzimuthalUsa=function(){return qr([-158,21.5],[-77,39]).clipAngle(60).scale(400)},e.geoTwoPointEquidistant=Gr,e.geoTwoPointEquidistantRaw=Hr,e.geoTwoPointEquidistantUsa=function(){return Gr([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)},e.geoVanDerGrinten=function(){return t.geoProjection(Wr).scale(79.4183)},e.geoVanDerGrintenRaw=Wr,e.geoVanDerGrinten2=function(){return t.geoProjection(Zr).scale(79.4183)},e.geoVanDerGrinten2Raw=Zr,e.geoVanDerGrinten3=function(){return t.geoProjection(Yr).scale(79.4183)},e.geoVanDerGrinten3Raw=Yr,e.geoVanDerGrinten4=function(){return t.geoProjection(Xr).scale(127.16)},e.geoVanDerGrinten4Raw=Xr,e.geoWagner=Kr,e.geoWagner7=function(){return Kr().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)},e.geoWagnerRaw=$r,e.geoWagner4=function(){return t.geoProjection(en).scale(176.84)},e.geoWagner4Raw=en,e.geoWagner6=function(){return t.geoProjection(tn).scale(152.63)},e.geoWagner6Raw=tn,e.geoWiechel=function(){return t.geoProjection(rn).rotate([0,-90,45]).scale(124.75).clipAngle(179.999)},e.geoWiechelRaw=rn,e.geoWinkel3=function(){return t.geoProjection(nn).scale(158.837)},e.geoWinkel3Raw=nn,Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof e&&typeof t<"u"?n(e,Cg(),Eg()):n(r.d3=r.d3||{},r.d3,r.d3)}}),Lg=m({"src/plots/geo/zoom.js"(e,t){var r=b(),n=ct(),i=He(),a=Math.PI/180,o=180/Math.PI,s={cursor:"pointer"},l={cursor:"auto"};function c(e,t){return r.behavior.zoom().translate(t.translate()).scale(t.scale())}function u(e,t,r){var a=e.id,o=e.graphDiv,s=o.layout,l=s[a],c=o._fullLayout,u=c[a],h={},f={};function p(e,t){h[a+"."+e]=n.nestedProperty(l,e).get(),i.call("_storeDirectGUIEdit",s,c._preGUI,h);var r=n.nestedProperty(u,e);r.get()!==t&&(r.set(t),n.nestedProperty(l,e).set(t),f[a+"."+e]=t)}r(p),p("projection.scale",t.scale()/e.fitScale),p("fitbounds",!1),o.emit("plotly_relayout",f)}function h(e,t){var n=c(0,t);function i(r){var n=t.invert(e.midPt);r("center.lon",n[0]),r("center.lat",n[1])}return n.on("zoomstart",(function(){r.select(this).style(s)})).on("zoom",(function(){t.scale(r.event.scale).translate(r.event.translate),e.render(!0);var n=t.invert(e.midPt);e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.center.lon":n[0],"geo.center.lat":n[1]})})).on("zoomend",(function(){r.select(this).style(l),u(e,t,i)})),n}function f(e,t){var n,i,a,o,h,f,p,d,m,g=c(0,t);function y(e){return t.invert(e)}function v(r){var n=t.rotate(),i=t.invert(e.midPt);r("projection.rotation.lon",-n[0]),r("center.lon",i[0]),r("center.lat",i[1])}return g.on("zoomstart",(function(){r.select(this).style(s),n=r.mouse(this),i=t.rotate(),a=t.translate(),o=i,h=y(n)})).on("zoom",(function(){if(f=r.mouse(this),function(e){var r=y(e);if(!r)return!0;var n=t(r);return Math.abs(n[0]-e[0])>2||Math.abs(n[1]-e[1])>2}(n))return g.scale(t.scale()),void g.translate(t.translate());t.scale(r.event.scale),t.translate([a[0],r.event.translate[1]]),h?y(f)&&(d=y(f),p=[o[0]+(d[0]-h[0]),i[1],i[2]],t.rotate(p),o=p):h=y(n=f),m=!0,e.render(!0);var s=t.rotate(),l=t.invert(e.midPt);e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.center.lon":l[0],"geo.center.lat":l[1],"geo.projection.rotation.lon":-s[0]})})).on("zoomend",(function(){r.select(this).style(l),m&&u(e,t,v)})),g}function p(e,t){var n,i={r:t.rotate(),k:t.scale()},h=c(0,t),f=function(e){for(var t=0,n=arguments.length,i=[];++td?(a=(h>0?90:-90)-p,i=0):(a=Math.asin(h/d)*o-p,i=Math.sqrt(d*d-h*h));var g=180-a-2*p,v=(Math.atan2(f,u)-Math.atan2(c,i))*o,x=(Math.atan2(f,u)-Math.atan2(c,-i))*o;return m(r[0],r[1],a,v)<=m(r[0],r[1],g,x)?[a,v,r[2]]:[g,x,r[2]]}(p,n,c);(!isFinite(g[0])||!isFinite(g[1])||!isFinite(g[2]))&&(g=c),t.rotate(g),c=g}}else n=d(t,e=a);!function(e){e({type:"zoom"})}(f.of(this,arguments))})),function(e){p++||e({type:"zoomstart"})}(f.of(this,arguments))})).on("zoomend",(function(){var n;r.select(this).style(l),g.call(h,"zoom",null),n=f.of(this,arguments),--p||n({type:"zoomend"}),u(e,t,x)})).on("zoom.redraw",(function(){e.render(!0);var r=t.rotate();e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.projection.rotation.lon":-r[0],"geo.projection.rotation.lat":-r[1]})})),r.rebind(h,f,"on")}function d(e,t){var r=e.invert(t);return r&&isFinite(r[0])&&isFinite(r[1])&&function(e){var t=e[0]*a,r=e[1]*a,n=Math.cos(r);return[n*Math.cos(t),n*Math.sin(t),Math.sin(r)]}(r)}function m(e,t,r,n){var i=g(r-e),a=g(n-t);return Math.sqrt(i*i+a*a)}function g(e){return(e%360+540)%360-180}function y(e,t,r){var n=r*a,i=e.slice(),o=0===t?1:0,s=2===t?1:2,l=Math.cos(n),c=Math.sin(n);return i[o]=e[o]*l-e[s]*c,i[s]=e[s]*l+e[o]*c,i}function v(e,t){for(var r=0,n=0,i=e.length;n0&&i<0&&(i+=360);var s=(i-n)/4;return{type:"Polygon",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}t.exports=function(e){return new M(e)},S.plot=function(e,t,r,n){var i=this;if(n)return i.update(e,t,!0);i._geoCalcData=e,i._fullLayout=t;var a=t[this.id],o=[],s=!1;for(var l in w.layerNameToAdjective)if("frame"!==l&&a["show"+l]){s=!0;break}for(var c=!1,u=0;u0&&o._module.calcGeoJSON(a,t)}if(!r){if(this.updateProjection(e,t))return;(!this.viewInitial||this.scope!==n.scope)&&this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(t,n),this.updateDims(t,n),this.updateFx(t,n),p.generalUpdatePerTraceModule(this.graphDiv,this,e,n);var s=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=s.selectAll(".point"),this.dataPoints.text=s.selectAll("text"),this.dataPaths.line=s.selectAll(".js-line");var l=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=l.selectAll("path"),this._render()},S.updateProjection=function(e,t){var r=this.graphDiv,s=t[this.id],c=t._size,u=s.domain,h=s.projection,f=s.lonaxis,p=s.lataxis,d=f._ax,g=p._ax,y=this.projection=function(e){var t=e.projection,r=t.type,s=w.projNames[r];s="geo"+l.titleCase(s);for(var c=(n[s]||o[s])(),u=e._isSatellite?180*Math.acos(1/t.distance)/Math.PI:e._isClipped?w.lonaxisSpan[r]/2:null,h=["center","rotate","parallels","clipExtent"],f=function(e){return e?c:[]},p=0;pu*Math.PI/180}return!1},c.getPath=function(){return i().projection(c)},c.getBounds=function(e){return c.getPath().bounds(e)},c.precision(w.precision),e._isSatellite&&c.tilt(t.tilt).distance(t.distance),u&&c.clipAngle(u-w.clipPad),c}(s),v=[[c.l+c.w*u.x[0],c.t+c.h*(1-u.y[1])],[c.l+c.w*u.x[1],c.t+c.h*(1-u.y[0])]],x=s.center||{},_=h.rotation||{},b=f.range||[],T=p.range||[];if(s.fitbounds){d._length=v[1][0]-v[0][0],g._length=v[1][1]-v[0][1],d.range=m(r,d),g.range=m(r,g);var k=(d.range[0]+d.range[1])/2,A=(g.range[0]+g.range[1])/2;if(s._isScoped)x={lon:k,lat:A};else if(s._isClipped){x={lon:k,lat:A},_={lon:k,lat:A,roll:_.roll};var M=h.type,S=w.lonaxisSpan[M]/2||180,C=w.lataxisSpan[M]/2||90;b=[k-S,k+S],T=[A-C,A+C]}else x={lon:k,lat:A},_={lon:k,lat:_.lat,roll:_.roll}}y.center([x.lon-_.lon,x.lat-_.lat]).rotate([-_.lon,-_.lat,_.roll]).parallels(h.parallels);var I=E(b,T);y.fitExtent(v,I);var L=this.bounds=y.getBounds(I),P=this.fitScale=y.scale(),z=y.translate();if(s.fitbounds){var D=y.getBounds(E(d.range,g.range)),O=Math.min((L[1][0]-L[0][0])/(D[1][0]-D[0][0]),(L[1][1]-L[0][1])/(D[1][1]-D[0][1]));isFinite(O)?y.scale(O*P):l.warn("Something went wrong during"+this.id+"fitbounds computations.")}else y.scale(h.scale*P);var R=this.midPt=[(L[0][0]+L[1][0])/2,(L[0][1]+L[1][1])/2];if(y.translate([z[0]+(R[0]-z[0]),z[1]+(R[1]-z[1])]).clipExtent(L),s._isAlbersUsa){var F=y([x.lon,x.lat]),B=y.translate();y.translate([B[0]-(F[0]-B[0]),B[1]-(F[1]-B[1])])}},S.updateBaseLayers=function(e,t){var n=this,i=n.topojson,a=n.layers,o=n.basePaths;function s(e){return"lonaxis"===e||"lataxis"===e}function l(e){return!!w.lineLayers[e]}function c(e){return!!w.fillLayers[e]}var f=(this.hasChoropleth?w.layersForChoropleth:w.layers).filter((function(e){return l(e)||c(e)?t["show"+e]:!s(e)||t[e].showgrid})),p=n.framework.selectAll(".layer").data(f,String);p.exit().each((function(e){delete a[e],delete o[e],r.select(this).remove()})),p.enter().append("g").attr("class",(function(e){return"layer "+e})).each((function(e){var t=a[e]=r.select(this);"bg"===e?n.bgRect=t.append("rect").style("pointer-events","all"):s(e)?o[e]=t.append("path").style("fill","none"):"backplot"===e?t.append("g").classed("choroplethlayer",!0):"frontplot"===e?t.append("g").classed("scatterlayer",!0):l(e)?o[e]=t.append("path").style("fill","none").style("stroke-miterlimit",2):c(e)&&(o[e]=t.append("path").style("stroke","none"))})),p.order(),p.each((function(r){var n=o[r],a=w.layerNameToAdjective[r];"frame"===r?n.datum(w.sphereSVG):l(r)||c(r)?n.datum(A(i,i.objects[r])):s(r)&&n.datum(function(e,t,r){var n,i,a,o=t[e],s=w.scopeDefaults[t.scope];"lonaxis"===e?(n=s.lonaxisRange,i=s.lataxisRange,a=function(e,t){return[e,t]}):"lataxis"===e&&(n=s.lataxisRange,i=s.lonaxisRange,a=function(e,t){return[t,e]});var l={type:"linear",range:[n[0],n[1]-1e-6],tick0:o.tick0,dtick:o.dtick};d.setConvert(l,r);var c=d.calcTicks(l);!t.isScoped&&"lonaxis"===e&&c.pop();for(var u=c.length,h=new Array(u),f=0;f-1&&x(r.event,i,[n.xaxis],[n.yaxis],n.id,u),c.indexOf("event")>-1&&f.click(i,r.event))}))}function h(e){return n.projection.invert([e[0]+n.xaxis._offset,e[1]+n.yaxis._offset])}},S.makeFramework=function(){var e=this,t=e.graphDiv,n=t._fullLayout,i="clip"+n._uid+e.id;e.clipDef=n._clips.append("clipPath").attr("id",i),e.clipRect=e.clipDef.append("rect"),e.framework=r.select(e.container).append("g").attr("class","geo "+e.id).call(h.setClipUrl,i,t),e.project=function(t){var r=e.projection(t);return r?[r[0]-e.xaxis._offset,r[1]-e.yaxis._offset]:[null,null]},e.xaxis={_id:"x",c2p:function(t){return e.project(t)[0]}},e.yaxis={_id:"y",c2p:function(t){return e.project(t)[1]}},e.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},d.setConvert(e.mockAxis,n)},S.saveViewInitial=function(e){var t,r=e.center||{},n=e.projection,i=n.rotation||{};this.viewInitial={fitbounds:e.fitbounds,"projection.scale":n.scale},t=e._isScoped?{"center.lon":r.lon,"center.lat":r.lat}:e._isClipped?{"projection.rotation.lon":i.lon,"projection.rotation.lat":i.lat}:{"center.lon":r.lon,"center.lat":r.lat,"projection.rotation.lon":i.lon},l.extendFlat(this.viewInitial,t)},S.render=function(e){this._hasMarkerAngles&&e?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()},S._render=function(){var e,t=this.projection,r=t.getPath();function n(e){var r=t(e.lonlat);return r?c(r[0],r[1]):null}function i(e){return t.isLonLatOverEdges(e.lonlat)?"none":null}for(e in this.basePaths)this.basePaths[e].attr("d",r);for(e in this.dataPaths)this.dataPaths[e].attr("d",(function(e){return r(e.geojson)}));for(e in this.dataPoints)this.dataPoints[e].attr("display",i).attr("transform",n)}}}),zg=m({"src/plots/geo/layout_attributes.js"(e,t){var r=G(),n=Ma().attributes,i=Oe().dash,a=hg(),o=De().overrideAll,s=Ye(),l={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:r.lightLine},gridwidth:{valType:"number",min:0,dflt:1},griddash:i};(t.exports=o({domain:n({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:s(a.scopeDefaults),dflt:"world"},projection:{type:{valType:"enumerated",values:s(a.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:r.defaultLine},coastlinewidth:{valType:"number",min:0,dflt:1},showland:{valType:"boolean",dflt:!1},landcolor:{valType:"color",dflt:a.landColor},showocean:{valType:"boolean",dflt:!1},oceancolor:{valType:"color",dflt:a.waterColor},showlakes:{valType:"boolean",dflt:!1},lakecolor:{valType:"color",dflt:a.waterColor},showrivers:{valType:"boolean",dflt:!1},rivercolor:{valType:"color",dflt:a.waterColor},riverwidth:{valType:"number",min:0,dflt:1},showcountries:{valType:"boolean"},countrycolor:{valType:"color",dflt:r.defaultLine},countrywidth:{valType:"number",min:0,dflt:1},showsubunits:{valType:"boolean"},subunitcolor:{valType:"color",dflt:r.defaultLine},subunitwidth:{valType:"number",min:0,dflt:1},showframe:{valType:"boolean"},framecolor:{valType:"color",dflt:r.defaultLine},framewidth:{valType:"number",min:0,dflt:1},bgcolor:{valType:"color",dflt:r.background},lonaxis:l,lataxis:l},"plot","from-root")).uirevision={valType:"any",editType:"none"}}}),Dg=m({"src/plots/geo/layout_defaults.js"(e,t){var r=ct(),n=Gs(),i=Tt().getSubplotData,a=hg(),o=zg(),s=a.axesNames;function l(e,t,n,o){var l=i(o.fullData,"geo",o.id).map((function(e){return e.index})),c=n("resolution"),u=n("scope"),h=a.scopeDefaults[u],f=n("projection.type",h.projType),p=t._isAlbersUsa="albers usa"===f;p&&(u=t.scope="usa");var d=t._isScoped="world"!==u,m=t._isSatellite="satellite"===f,g=t._isConic=-1!==f.indexOf("conic")||"albers"===f,y=t._isClipped=!!a.lonaxisSpan[f];if(!1===e.visible){var v=r.extendDeep({},t._template);v.showcoastlines=!1,v.showcountries=!1,v.showframe=!1,v.showlakes=!1,v.showland=!1,v.showocean=!1,v.showrivers=!1,v.showsubunits=!1,v.lonaxis&&(v.lonaxis.showgrid=!1),v.lataxis&&(v.lataxis.showgrid=!1),t._template=v}for(var x=n("visible"),_=0;_0&&L<0&&(L+=360);var P,z,D,O=(I+L)/2;if(!p){var R=d?h.projRotate:[O,0,0];P=n("projection.rotation.lon",R[0]),n("projection.rotation.lat",R[1]),n("projection.rotation.roll",R[2]),n("showcoastlines",!d&&x)&&(n("coastlinecolor"),n("coastlinewidth")),n("showocean",!!x&&void 0)&&n("oceancolor")}p?(z=-96.6,D=38.7):(z=d?O:P,D=(C[0]+C[1])/2),n("center.lon",z),n("center.lat",D),m&&(n("projection.tilt"),n("projection.distance")),g&&n("projection.parallels",h.projParallels||[0,60]),n("projection.scale"),n("showland",!!x&&void 0)&&n("landcolor"),n("showlakes",!!x&&void 0)&&n("lakecolor"),n("showrivers",!!x&&void 0)&&(n("rivercolor"),n("riverwidth")),n("showcountries",d&&"usa"!==u&&x)&&(n("countrycolor"),n("countrywidth")),("usa"===u||"north america"===u&&50===c)&&(n("showsubunits",x),n("subunitcolor"),n("subunitwidth")),d||n("showframe",x)&&(n("framecolor"),n("framewidth")),n("bgcolor"),n("fitbounds")&&(delete t.projection.scale,d?(delete t.center.lon,delete t.center.lat):y?(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon,delete t.projection.rotation.lat,delete t.lonaxis.range,delete t.lataxis.range):(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon))}t.exports=function(e,t,r){n(e,t,r,{type:"geo",attributes:o,handleDefaults:l,fullData:r,partition:"y"})}}}),Og=m({"src/plots/geo/index.js"(e,t){var r=Tt().getSubplotCalcData,n=ct().counterRegex,i=Pg(),a="geo",o=n(a),s={};s[a]={valType:"subplotid",dflt:a,editType:"calc"},t.exports={attr:a,name:a,idRoot:a,idRegex:o,attrRegex:o,attributes:s,layoutAttributes:zg(),supplyLayoutDefaults:Dg(),plot:function(e){for(var t=e._fullLayout,n=e.calcdata,o=t._subplots[a],s=0;s")}}(e,h,o),[e]}}}),Hg=m({"src/traces/choropleth/event_data.js"(e,t){t.exports=function(e,t,r,n,i){e.location=t.location,e.z=t.z;var a=n[i];return a.fIn&&a.fIn.properties&&(e.properties=a.fIn.properties),e.ct=a.ct,e}}}),Gg=m({"src/traces/choropleth/select.js"(e,t){t.exports=function(e,t){var r,n,i,a,o,s=e.cd,l=e.xaxis,c=e.yaxis,u=[];if(!1===t)for(r=0;r=Math.min(P,z)&&p<=Math.max(P,z)?0:1/0}if(A=Math.min(D,O)&&d<=Math.max(D,O)?0:1/0}E=Math.sqrt(A*A+M*M),b=i[k]}}}else for(k=i.length-1;k>-1;k--)w=h[_=i[k]],T=f[_],A=c.c2p(w)-p,M=u.c2p(T)-d,(S=Math.sqrt(A*A+M*M))100},e.isDotSymbol=function(e){return"string"==typeof e?t.DOT_RE.test(e):e>200}}}),Jg=m({"src/traces/scattergl/defaults.js"(e,t){var r=ct(),n=He(),i=Kg(),a=$g(),o=wn(),s=Xt(),l=Gn(),c=Wn(),u=Yn(),h=Xn(),f=Jn(),p=Kn();t.exports=function(e,t,d,m){function g(n,i){return r.coerce(e,t,a,n,i)}var y=!!e.marker&&i.isOpenSymbol(e.marker.symbol),v=s.isBubble(e),x=l(e,t,m,g);if(x){c(e,t,m,g),g("xhoverformat"),g("yhoverformat");var _=x>>1,s=e[o];(void 0!==r?r(s,t):s-t)>=0?(a=o,i=o-1):n=o+1}return a}function n(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)>0?(a=o,i=o-1):n=o+1}return a}function i(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)<0?(a=o,n=o+1):i=o-1}return a}function a(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)<=0?(a=o,n=o+1):i=o-1}return a}function o(e,t,r,n,i){for(;n<=i;){var a=n+i>>>1,o=e[a],s=void 0!==r?r(o,t):o-t;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function s(e,t,r,n,i,a){return"function"==typeof r?a(e,t,r,void 0===n?0:0|n,void 0===i?e.length-1:0|i):a(e,t,void 0,void 0===r?0:0|r,void 0===n?e.length-1:0|n)}t.exports={ge:function(e,t,n,i,a){return s(e,t,n,i,a,r)},gt:function(e,t,r,i,a){return s(e,t,r,i,a,n)},lt:function(e,t,r,n,a){return s(e,t,r,n,a,i)},le:function(e,t,r,n,i){return s(e,t,r,n,i,a)},eq:function(e,t,r,n,i){return s(e,t,r,n,i,o)}}}}),ty=m({"node_modules/pick-by-alias/index.js"(e,t){t.exports=function(e,t,r){var i,a,o={};if("string"==typeof t&&(t=n(t)),Array.isArray(t)){var s={};for(a=0;a1&&(e=arguments),"string"==typeof e?e=e.split(/\s/).map(parseFloat):"number"==typeof e&&(e=[e]),e.length&&"number"==typeof e[0]?t=1===e.length?{width:e[0],height:e[0],x:0,y:0}:2===e.length?{width:e[0],height:e[1],x:0,y:0}:{x:e[0],y:e[1],width:e[2]-e[0]||0,height:e[3]-e[1]||0}:e&&(t={x:(e=r(e,{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"})).left||0,y:e.top||0},null==e.width?e.right?t.width=e.right-t.x:t.width=0:t.width=e.width,null==e.height?e.bottom?t.height=e.bottom-t.y:t.height=0:t.height=e.height),t}}}),ny=m({"node_modules/array-bounds/index.js"(e,t){t.exports=function(e,t){if(!e||null==e.length)throw Error("Argument should be an array");t=null==t?1:Math.floor(t);for(var r=Array(2*t),n=0;ni&&(i=e[o]),e[o]>>1;t.dtype||(t.dtype="array"),"string"==typeof t.dtype?d=new(u(t.dtype))(g):t.dtype&&(d=t.dtype,Array.isArray(d)&&(d.length=g));for(let e=0;en||s>1073741824){for(let e=0;er+i||b>n+i||T=A||o===s)return;let c=y[a];void 0===s&&(s=c.length);for(let t=o;t=l&&n<=d&&i>=u&&i<=m&&M.push(r)}let h=v[a],f=h[4*o+0],p=h[4*o+1],x=h[4*o+2],_=h[4*o+3],w=function(e,t){let r=null,n=0;for(;null===r;)if(r=e[4*t+n],n++,n>e.length)return null;return r}(h,o+1),S=.5*i,E=a+1;t(r,n,S,E,f,p||x||_||w),t(r,n+S,S,E,p,x||_||w),t(r+S,n,S,E,x,_||w),t(r+S,n+S,S,E,_,w)}(0,0,1,0,0,1),M},d;function w(e,t,r){let n=1,i=.5,a=.5,o=.5;for(let s=0;s1&&(i=1),i<-1&&(i=-1),(e*n-t*r<0?-1:1)*Math.acos(i)};e.default=function(e){var t=e.px,o=e.py,s=e.cx,l=e.cy,c=e.rx,u=e.ry,h=e.xAxisRotation,f=void 0===h?0:h,p=e.largeArcFlag,d=void 0===p?0:p,m=e.sweepFlag,g=void 0===m?0:m,y=[];if(0===c||0===u)return[];var v=Math.sin(f*r/360),x=Math.cos(f*r/360),_=x*(t-s)/2+v*(o-l)/2,b=-v*(t-s)/2+x*(o-l)/2;if(0===_&&0===b)return[];c=Math.abs(c),u=Math.abs(u);var w=Math.pow(_,2)/Math.pow(c,2)+Math.pow(b,2)/Math.pow(u,2);w>1&&(c*=Math.sqrt(w),u*=Math.sqrt(w));var T=function(e,t,n,i,o,s,l,c,u,h,f,p){var d=Math.pow(o,2),m=Math.pow(s,2),g=Math.pow(f,2),y=Math.pow(p,2),v=d*m-d*y-m*g;v<0&&(v=0),v/=d*y+m*g;var x=(v=Math.sqrt(v)*(l===c?-1:1))*o/s*p,_=v*-s/o*f,b=h*x-u*_+(e+n)/2,w=u*x+h*_+(t+i)/2,T=(f-x)/o,k=(p-_)/s,A=(-f-x)/o,M=(-p-_)/s,S=a(1,0,T,k),E=a(T,k,A,M);return 0===c&&E>0&&(E-=r),1===c&&E<0&&(E+=r),[b,w,S,E]}(t,o,s,l,c,u,d,g,v,x,_,b),k=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!t||r.length!==t);n=!0);}catch(e){i=!0,a=e}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}(T,4),A=k[0],M=k[1],S=k[2],E=k[3],C=Math.abs(E)/(r/4);Math.abs(1-C)<1e-7&&(C=1);var I=Math.max(Math.ceil(C),1);E/=I;for(var L=0;L4?(o=g[g.length-4],s=g[g.length-3]):(o=f,s=p),a.push(g)}return a};var r=hy();function n(e,t,r,n){return["C",e,t,r,n,r,n]}function i(e,t,r,n,i,a){return["C",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}}}),py=m({"node_modules/is-svg-path/index.js"(e,t){t.exports=function(e){return"string"==typeof e&&(e=e.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(e)&&/[\dz]$/i.test(e)&&e.length>4))}}}),dy=m({"node_modules/svg-path-bounds/index.js"(e,t){var r=Jt(),n=uy(),i=fy(),a=py(),o=wu();t.exports=function(e){if(Array.isArray(e)&&1===e.length&&"string"==typeof e[0]&&(e=e[0]),"string"==typeof e&&(o(a(e),"String is not an SVG path."),e=r(e)),o(Array.isArray(e),"Argument should be a string or an array of path segments."),e=n(e),!(e=i(e)).length)return[0,0,0,0];for(var t=[1/0,1/0,-1/0,-1/0],s=0,l=e.length;st[2]&&(t[2]=c[u+0]),c[u+1]>t[3]&&(t[3]=c[u+1]);return t}}}),my=m({"node_modules/normalize-svg-path/index.js"(e,t){var r=Math.PI,n=l(120);function i(e,t,r,n){return["C",e,t,r,n,r,n]}function a(e,t,r,n,i,a){return["C",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function o(e,t,i,a,l,c,u,h,f,p){if(p)T=p[0],k=p[1],b=p[2],w=p[3];else{var d=s(e,t,-l);e=d.x,t=d.y;var m=(e-(h=(d=s(h,f,-l)).x))/2,g=(t-(f=d.y))/2,y=m*m/(i*i)+g*g/(a*a);y>1&&(i*=y=Math.sqrt(y),a*=y);var v=i*i,x=a*a,_=(c==u?-1:1)*Math.sqrt(Math.abs((v*x-v*g*g-x*m*m)/(v*g*g+x*m*m)));_==1/0&&(_=1);var b=_*i*g/a+(e+h)/2,w=_*-a*m/i+(t+f)/2,T=Math.asin(((t-w)/a).toFixed(9)),k=Math.asin(((f-w)/a).toFixed(9));(T=ek&&(T-=2*r),!u&&k>T&&(k-=2*r)}if(Math.abs(k-T)>n){var A=k,M=h,S=f;k=T+n*(u&&k>T?1:-1);var E=o(h=b+i*Math.cos(k),f=w+a*Math.sin(k),i,a,l,0,u,M,S,[k,A,b,w])}var C=Math.tan((k-T)/4),I=4/3*i*C,L=4/3*a*C,P=[2*e-(e+I*Math.sin(T)),2*t-(t-L*Math.cos(T)),h+I*Math.sin(k),f-L*Math.cos(k),h,f];if(p)return P;E&&(P=P.concat(E));for(var z=0;z7&&(r.push(y.splice(0,7)),y.unshift("C"));break;case"S":var x=p,_=d;("C"==t||"S"==t)&&(x+=x-n,_+=_-s),y=["C",x,_,y[1],y[2],y[3],y[4]];break;case"T":"Q"==t||"T"==t?(h=2*p-h,f=2*d-f):(h=p,f=d),y=a(p,d,h,f,y[1],y[2]);break;case"Q":h=y[1],f=y[2],y=a(p,d,y[1],y[2],y[3],y[4]);break;case"L":y=i(p,d,y[1],y[2]);break;case"H":y=i(p,d,y[1],d);break;case"V":y=i(p,d,p,y[1]);break;case"Z":y=i(p,d,c,u)}t=v,p=y[y.length-2],d=y[y.length-1],y.length>4?(n=y[y.length-4],s=y[y.length-3]):(n=p,s=d),r.push(y)}return r}}}),gy=m({"node_modules/draw-svg-path/index.js"(e,t){var r=uy(),n=my(),i={M:"moveTo",C:"bezierCurveTo"};t.exports=function(e,t){e.beginPath(),n(r(t)).forEach((function(t){var r=t[0],n=t.slice(1);e[i[r]].apply(e,n)})),e.closePath()}}}),yy=m({"node_modules/bitmap-sdf/index.js"(e,t){var r=Jd();t.exports=function(e,t){t||(t={});var a,o,s,l,c,u,h,f,p,d,m,g=null==t.cutoff?.25:t.cutoff,y=null==t.radius?8:t.radius,v=t.channel||0;if(ArrayBuffer.isView(e)||Array.isArray(e)){if(!t.width||!t.height)throw Error("For raw data width and height should be provided by options");a=t.width,o=t.height,l=e,u=t.stride?t.stride:Math.floor(e.length/a/o)}else window.HTMLCanvasElement&&e instanceof window.HTMLCanvasElement?(h=(f=e).getContext("2d"),a=f.width,o=f.height,l=(p=h.getImageData(0,0,a,o)).data,u=4):window.CanvasRenderingContext2D&&e instanceof window.CanvasRenderingContext2D?(h=e,a=(f=e.canvas).width,o=f.height,l=(p=h.getImageData(0,0,a,o)).data,u=4):window.ImageData&&e instanceof window.ImageData&&(p=e,a=e.width,o=e.height,l=p.data,u=4);if(s=Math.max(a,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(c=l,l=Array(a*o),d=0,m=c.length;d0?"white":"black",c.lineWidth=Math.abs(p)),c.translate(.5*u,.5*h),c.scale(g,g),function(){if(null!=r)return r;var e=document.createElement("canvas").getContext("2d");if(e.canvas.width=e.canvas.height=1,!window.Path2D)return r=!1;var t=new Path2D("M0,0h1v1h-1v-1Z");e.fillStyle="black",e.fill(t);var n=e.getImageData(0,0,1,1);return r=n&&n.data&&255===n.data[3]}()){var y=new Path2D(e);c.fill(y),p&&c.stroke(y)}else{var v=i(e);a(c,v),c.fill(),p&&c.stroke()}return c.setTransform(1,0,0,1,0,0),s(c,{cutoff:null!=t.cutoff?t.cutoff:.5,radius:null!=t.radius?t.radius:.5*f})}}}),xy=m({"src/traces/scattergl/convert.js"(e,t){var r=M(),n=vy(),i=em(),a=He(),o=ct(),s=o.isArrayOrTypedArray,l=er(),c=_t(),u=rm().formatColor,h=Xt(),f=$t(),p=Kg(),d=Xg(),m=Z().DESELECTDIM,g={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},y=Kt().appendArrayPointValue;function v(e,t){var n,i=e._fullLayout,a=t._length,l=t.textfont,c=t.textposition,u=s(c)?c:[c],h=l.color,f=l.size,p=l.family,d=l.weight,m=l.style,g=l.variant,v={},_=e._context.plotGlPixelRatio,b=t.texttemplate;if(b){v.text=[];var w=i._d3locale,T=Array.isArray(b),k=T?Math.min(b.length,a):a,A=T?function(e){return b[e]}:function(){return b};for(n=0;n500?"bold":"normal":e}function _(e,t){var r,n,a=t._length,o=t.marker,l={},c=s(o.symbol),h=s(o.angle),d=s(o.color),m=s(o.line.color),g=s(o.opacity),y=s(o.size),v=s(o.line.width);if(c||(n=p.isOpenSymbol(o.symbol)),c||d||m||g||h){l.symbols=new Array(a),l.angles=new Array(a),l.colors=new Array(a),l.borderColors=new Array(a);var x=o.symbol,_=o.angle,b=u(o,o.opacity,a),w=u(o.line,o.opacity,a);if(!s(w[0])){var T=w;for(w=Array(a),r=0;rd.TOO_MANY_POINTS||h.hasMarkers(t)?"rect":"round";if(c&&t.connectgaps){var f=n[0],p=n[1];for(i=0;i1?c[i]:c[0]:c,m=s(u)?u.length>1?u[i]:u[0]:u,y=g[d],v=g[m],x=f?f/.8+1:0,_=-v*x-.5*v;o.offset[i]=[y*x/p,_/p]}}return o}}}}),_y=m({"src/traces/scattergl/scene_update.js"(e,t){var r=ct();t.exports=function(e,t){var n=t._scene,i={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},a={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return t._scene||((n=t._scene={}).init=function(){r.extendFlat(n,a,i)},n.init(),n.update=function(e){var t=r.repeat(e,n.count);if(n.fill2d&&n.fill2d.update(t),n.scatter2d&&n.scatter2d.update(t),n.line2d&&n.line2d.update(t),n.error2d&&n.error2d.update(t.concat(t)),n.select2d&&n.select2d.update(t),n.glText)for(var i=0;i=m,w=2*_,T={},k=y.makeCalcdata(t,"x"),A=v.makeCalcdata(t,"y"),M=o(t,y,"x",k),S=o(t,v,"y",A),E=M.vals,C=S.vals;t._x=E,t._y=C,t.xperiodalignment&&(t._origX=k,t._xStarts=M.starts,t._xEnds=M.ends),t.yperiodalignment&&(t._origY=A,t._yStarts=S.starts,t._yEnds=S.ends);var I=new Array(w),L=new Array(_);for(a=0;a<_;a++)I[2*a]=E[a]===d?NaN:E[a],I[2*a+1]=C[a]===d?NaN:C[a],L[a]=a;if("log"===y.type)for(a=0;a1&&n.extendFlat(s.line,f.linePositions(e,r,i)),s.errorX||s.errorY){var l=f.errorBarPositions(e,r,i,a,o);s.errorX&&n.extendFlat(s.errorX,l.x),s.errorY&&n.extendFlat(s.errorY,l.y)}return s.text&&(n.extendFlat(s.text,{positions:i},f.textPosition(e,r,s.text,s.marker)),n.extendFlat(s.textSel,{positions:i},f.textPosition(e,r,s.text,s.markerSel)),n.extendFlat(s.textUnsel,{positions:i},f.textPosition(e,r,s.text,s.markerUnsel))),s}(e,0,t,I,E,C),D=p(e,x);return u(s,t),b?z.marker&&(P=z.marker.sizeAvg||Math.max(z.marker.size,3)):P=l(t,_),c(e,t,y,v,E,C,P),z.errorX&&g(t,y,z.errorX),z.errorY&&g(t,v,z.errorY),z.fill&&!D.fill2d&&(D.fill2d=!0),z.marker&&!D.scatter2d&&(D.scatter2d=!0),z.line&&!D.line2d&&(D.line2d=!0),(z.errorX||z.errorY)&&!D.error2d&&(D.error2d=!0),z.text&&!D.glText&&(D.glText=!0),z.marker&&(z.marker.snap=_),D.lineOptions.push(z.line),D.errorXOptions.push(z.errorX),D.errorYOptions.push(z.errorY),D.fillOptions.push(z.fill),D.markerOptions.push(z.marker),D.markerSelectedOptions.push(z.markerSel),D.markerUnselectedOptions.push(z.markerUnsel),D.textOptions.push(z.text),D.textSelectedOptions.push(z.textSel),D.textUnselectedOptions.push(z.textUnsel),D.selectBatch.push([]),D.unselectBatch.push([]),T._scene=D,T.index=D.count,T.x=E,T.y=C,T.positions=I,D.count++,[{x:!1,y:!1,t:T,trace:t}]}}}),wy=m({"src/traces/scattergl/edit_style.js"(e,t){var r=ct(),n=W(),i=Z().DESELECTDIM;t.exports={styleTextSelection:function(e){var t,a,o=e[0],s=o.trace,l=o.t,c=l._scene,u=l.index,h=c.selectBatch[u],f=c.unselectBatch[u],p=c.textOptions[u],d=c.textSelectedOptions[u]||{},m=c.textUnselectedOptions[u]||{},g=r.extendFlat({},p);if(h.length||f.length){var y=d.color,v=m.color,x=p.color,_=r.isArrayOrTypedArray(x);for(g.color=new Array(s._length),t=0;t>>24,n=(16711680&e)>>>16,i=(65280&e)>>>8,a=255&e;return!1===t?[r,n,i,a]:[r/255,n/255,i/255,a/255]}}}),My=m({"node_modules/object-assign/index.js"(e,t){var r=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch{return!1}}()?Object.assign:function(e,t){for(var a,o,s=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),l=1;le.length)&&(t=e.length);for(var r=0,n=new Array(t);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"]),c.vert=h(["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"]),m&&(c.frag=c.frag.replace("smoothstep","smoothStep"),l.frag=l.frag.replace("smoothstep","smoothStep")),this.drawCircle=e(c)}x.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},x.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},x.prototype.draw=function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;nn)?t.tree=c(e,{bounds:h}):n&&n.length&&(t.tree=n),t.tree){var f={primitive:"points",usage:"static",data:t.tree,type:"uint32"};t.elements?t.elements(f):t.elements=o.elements(f)}var p=g.float32(e);return i({data:p,usage:"dynamic"}),a({data:g.fract32(e,p),usage:"dynamic"}),l({data:new Uint8Array(u),type:"uint8",usage:"stream"}),e}},{marker:function(t,r,n){var i=r.activation;if(i.forEach((function(e){return e&&e.destroy&&e.destroy()})),i.length=0,t&&"number"!=typeof t[0]){for(var a=[],s=0,l=Math.min(t.length,r.count);s=0)return a;if(e instanceof Uint8Array||e instanceof Uint8ClampedArray)t=e;else{t=new Uint8Array(e.length);for(var o=0,s=e.length;o4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===i.length?i[0]:i},x.prototype.updatePalette=function(e){if(!this.tooManyColors){var t=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*e.length/t);if(n>1)for(var i=.25*(e=e.slice()).length%t;i80*r){i=s=e[0],o=l=e[1];for(var x=r;xs&&(s=c),f>l&&(l=f);p=0!==(p=Math.max(s-i,l-o))?32767/p:0}return a(y,v,r,i,o,p,0),v}function n(e,t,r,n,i){var a,o;if(i===S(e,t,r,n)>0)for(a=t;a=t;a-=n)o=k(a,e[a],e[a+1],o);return o&&v(o,o.next)&&(A(o),o=o.next),o}function i(e,t){if(!e)return e;t||(t=e);var r,n=e;do{if(r=!1,n.steiner||!v(n,n.next)&&0!==y(n.prev,n,n.next))n=n.next;else{if(A(n),(n=t=n.prev)===n.next)break;r=!0}}while(r||n!==t);return t}function a(e,t,r,n,u,h,f){if(e){!f&&h&&function(e,t,r,n){var i=e;do{0===i.z&&(i.z=p(i.x,i.y,t,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,function(e){var t,r,n,i,a,o,s,l,c=1;do{for(r=e,e=null,a=null,o=0;r;){for(o++,n=r,s=0,t=0;t0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(e,n,u,h);for(var d,m,g=e;e.prev!==e.next;)if(d=e.prev,m=e.next,h?s(e,n,u,h):o(e))t.push(d.i/r|0),t.push(e.i/r|0),t.push(m.i/r|0),A(e),e=m.next,g=m.next;else if((e=m)===g){f?1===f?a(e=l(i(e),t,r),t,r,n,u,h,2):2===f&&c(e,t,r,n,u,h):a(i(e),t,r,n,u,h,1);break}}}function o(e){var t=e.prev,r=e,n=e.next;if(y(t,r,n)>=0)return!1;for(var i=t.x,a=r.x,o=n.x,s=t.y,l=r.y,c=n.y,u=ia?i>o?i:o:a>o?a:o,p=s>l?s>c?s:c:l>c?l:c,d=n.next;d!==t;){if(d.x>=u&&d.x<=f&&d.y>=h&&d.y<=p&&m(i,s,a,l,o,c,d.x,d.y)&&y(d.prev,d,d.next)>=0)return!1;d=d.next}return!0}function s(e,t,r,n){var i=e.prev,a=e,o=e.next;if(y(i,a,o)>=0)return!1;for(var s=i.x,l=a.x,c=o.x,u=i.y,h=a.y,f=o.y,d=sl?s>c?s:c:l>c?l:c,x=u>h?u>f?u:f:h>f?h:f,_=p(d,g,t,r,n),b=p(v,x,t,r,n),w=e.prevZ,T=e.nextZ;w&&w.z>=_&&T&&T.z<=b;){if(w.x>=d&&w.x<=v&&w.y>=g&&w.y<=x&&w!==i&&w!==o&&m(s,u,l,h,c,f,w.x,w.y)&&y(w.prev,w,w.next)>=0||(w=w.prevZ,T.x>=d&&T.x<=v&&T.y>=g&&T.y<=x&&T!==i&&T!==o&&m(s,u,l,h,c,f,T.x,T.y)&&y(T.prev,T,T.next)>=0))return!1;T=T.nextZ}for(;w&&w.z>=_;){if(w.x>=d&&w.x<=v&&w.y>=g&&w.y<=x&&w!==i&&w!==o&&m(s,u,l,h,c,f,w.x,w.y)&&y(w.prev,w,w.next)>=0)return!1;w=w.prevZ}for(;T&&T.z<=b;){if(T.x>=d&&T.x<=v&&T.y>=g&&T.y<=x&&T!==i&&T!==o&&m(s,u,l,h,c,f,T.x,T.y)&&y(T.prev,T,T.next)>=0)return!1;T=T.nextZ}return!0}function l(e,t,r){var n=e;do{var a=n.prev,o=n.next.next;!v(a,o)&&x(a,n,n.next,o)&&w(a,o)&&w(o,a)&&(t.push(a.i/r|0),t.push(n.i/r|0),t.push(o.i/r|0),A(n),A(n.next),n=e=o),n=n.next}while(n!==e);return i(n)}function c(e,t,r,n,o,s){var l=e;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&g(l,c)){var u=T(l,c);return l=i(l,l.next),u=i(u,u.next),a(l,t,r,n,o,s,0),void a(u,t,r,n,o,s,0)}c=c.next}l=l.next}while(l!==e)}function u(e,t){return e.x-t.x}function h(e,t){var r=function(e,t){var r,n=t,i=e.x,a=e.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o&&(o=s,r=n.x=n.x&&n.x>=u&&i!==n.x&&m(ar.x||n.x===r.x&&f(r,n)))&&(r=n,p=l)),n=n.next}while(n!==c);return r}(e,t);if(!r)return t;var n=T(r,e);return i(n,n.next),i(r,r.next)}function f(e,t){return y(e.prev,e,t.prev)<0&&y(t.next,e,e.next)<0}function p(e,t,r,n,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-r)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-n)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function d(e){var t=e,r=e;do{(t.x=(e-o)*(a-s)&&(e-o)*(n-s)>=(r-o)*(t-s)&&(r-o)*(a-s)>=(i-o)*(n-s)}function g(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&x(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}(e,t)&&(w(e,t)&&w(t,e)&&function(e,t){var r=e,n=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==e);return n}(e,t)&&(y(e.prev,e,t.prev)||y(e,t.prev,t))||v(e,t)&&y(e.prev,e,e.next)>0&&y(t.prev,t,t.next)>0)}function y(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function v(e,t){return e.x===t.x&&e.y===t.y}function x(e,t,r,n){var i=b(y(e,t,r)),a=b(y(e,t,n)),o=b(y(r,n,e)),s=b(y(r,n,t));return!!(i!==a&&o!==s||0===i&&_(e,r,t)||0===a&&_(e,n,t)||0===o&&_(r,e,n)||0===s&&_(r,t,n))}function _(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function b(e){return e>0?1:e<0?-1:0}function w(e,t){return y(e.prev,e,e.next)<0?y(e,t,e.next)>=0&&y(e,e.prev,t)>=0:y(e,t,e.prev)<0||y(e,e.next,t)<0}function T(e,t){var r=new M(e.i,e.x,e.y),n=new M(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function k(e,t,r,n){var i=new M(e,t,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function A(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function M(e,t,r){this.i=e,this.x=t,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function S(e,t,r,n){for(var i=0,a=t,o=r-n;a0&&(n+=e[i-1].length,r.holes.push(n))}return r}}}),zy=m({"node_modules/array-normalize/index.js"(e,t){var r=ny();t.exports=function(e,t,n){if(!e||null==e.length)throw Error("Argument should be an array");null==t&&(t=1),null==n&&(n=r(e,t));for(var i=0;i-1}}}),av=m({"node_modules/es5-ext/string/#/contains/index.js"(e,t){t.exports=nv()()?String.prototype.contains:iv()}}),ov=m({"node_modules/d/index.js"(e,t){var r=Gy(),n=Xy(),i=tv(),a=rv(),o=av(),s=t.exports=function(e,t){var n,s,l,c,u;return arguments.length<2||"string"!=typeof e?(c=t,t=e,e=null):c=arguments[2],r(e)?(n=o.call(e,"c"),s=o.call(e,"e"),l=o.call(e,"w")):(n=l=!0,s=!1),u={value:t,configurable:n,enumerable:s,writable:l},c?i(a(c),u):u};s.gs=function(e,t,s){var l,c,u,h;return"string"!=typeof e?(u=s,s=t,t=e,e=null):u=arguments[3],r(t)?n(t)?r(s)?n(s)||(u=s,s=void 0):s=void 0:(u=t,t=s=void 0):t=void 0,r(e)?(l=o.call(e,"c"),c=o.call(e,"e")):(l=!0,c=!1),h={get:t,set:s,configurable:l,enumerable:c},u?i(a(u),h):h}}}),sv=m({"node_modules/es5-ext/function/is-arguments.js"(e,t){var r=Object.prototype.toString,n=r.call(function(){return arguments}());t.exports=function(e){return r.call(e)===n}}}),lv=m({"node_modules/es5-ext/string/is-string.js"(e,t){var r=Object.prototype.toString,n=r.call("");t.exports=function(e){return"string"==typeof e||e&&"object"==typeof e&&(e instanceof String||r.call(e)===n)||!1}}}),cv=m({"node_modules/ext/global-this/is-implemented.js"(e,t){t.exports=function(){return!("object"!=typeof globalThis||!globalThis)&&globalThis.Array===Array}}}),uv=m({"node_modules/ext/global-this/implementation.js"(e,t){var r=function(){if("object"==typeof self&&self)return self;if("object"==typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};t.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch{return r()}try{return __global__||r()}finally{delete Object.prototype.__global__}}()}}),hv=m({"node_modules/ext/global-this/index.js"(e,t){t.exports=cv()()?globalThis:uv()}}),fv=m({"node_modules/es6-symbol/is-implemented.js"(e,t){var r=hv(),n={object:!0,symbol:!0};t.exports=function(){var e,t=r.Symbol;if("function"!=typeof t)return!1;e=t("test symbol");try{String(e)}catch{return!1}return!(!n[typeof t.iterator]||!n[typeof t.toPrimitive]||!n[typeof t.toStringTag])}}}),pv=m({"node_modules/es6-symbol/is-symbol.js"(e,t){t.exports=function(e){return!(!e||"symbol"!=typeof e&&(!e.constructor||"Symbol"!==e.constructor.name||"Symbol"!==e[e.constructor.toStringTag]))}}}),dv=m({"node_modules/es6-symbol/validate-symbol.js"(e,t){var r=pv();t.exports=function(e){if(!r(e))throw new TypeError(e+" is not a symbol");return e}}}),mv=m({"node_modules/es6-symbol/lib/private/generate-name.js"(e,t){var r=ov(),n=Object.create,i=Object.defineProperty,a=Object.prototype,o=n(null);t.exports=function(e){for(var t,n,s=0;o[e+(s||"")];)++s;return o[e+=s||""]=!0,i(a,t="@@"+e,r.gs(null,(function(e){n||(n=!0,i(this,t,r(e)),n=!1)}))),t}}}),gv=m({"node_modules/es6-symbol/lib/private/setup/standard-symbols.js"(e,t){var r=ov(),n=hv().Symbol;t.exports=function(e){return Object.defineProperties(e,{hasInstance:r("",n&&n.hasInstance||e("hasInstance")),isConcatSpreadable:r("",n&&n.isConcatSpreadable||e("isConcatSpreadable")),iterator:r("",n&&n.iterator||e("iterator")),match:r("",n&&n.match||e("match")),replace:r("",n&&n.replace||e("replace")),search:r("",n&&n.search||e("search")),species:r("",n&&n.species||e("species")),split:r("",n&&n.split||e("split")),toPrimitive:r("",n&&n.toPrimitive||e("toPrimitive")),toStringTag:r("",n&&n.toStringTag||e("toStringTag")),unscopables:r("",n&&n.unscopables||e("unscopables"))})}}}),yv=m({"node_modules/es6-symbol/lib/private/setup/symbol-registry.js"(e,t){var r=ov(),n=dv(),i=Object.create(null);t.exports=function(e){return Object.defineProperties(e,{for:r((function(t){return i[t]?i[t]:i[t]=e(String(t))})),keyFor:r((function(e){var t;for(t in n(e),i)if(i[t]===e)return t}))})}}}),vv=m({"node_modules/es6-symbol/polyfill.js"(e,t){var r,n,i,a=ov(),o=dv(),s=hv().Symbol,l=mv(),c=gv(),u=yv(),h=Object.create,f=Object.defineProperties,p=Object.defineProperty;if("function"==typeof s)try{String(s()),i=!0}catch{}else s=null;n=function(e){if(this instanceof n)throw new TypeError("Symbol is not a constructor");return r(e)},t.exports=r=function e(t){var r;if(this instanceof e)throw new TypeError("Symbol is not a constructor");return i?s(t):(r=h(n.prototype),t=void 0===t?"":String(t),f(r,{__description__:a("",t),__name__:a("",l(t))}))},c(r),u(r),f(n.prototype,{constructor:a(r),toString:a("",(function(){return this.__name__}))}),f(r.prototype,{toString:a((function(){return"Symbol ("+o(this).__description__+")"})),valueOf:a((function(){return o(this)}))}),p(r.prototype,r.toPrimitive,a("",(function(){var e=o(this);return"symbol"==typeof e?e:e.toString()}))),p(r.prototype,r.toStringTag,a("c","Symbol")),p(n.prototype,r.toStringTag,a("c",r.prototype[r.toStringTag])),p(n.prototype,r.toPrimitive,a("c",r.prototype[r.toPrimitive]))}}),xv=m({"node_modules/es6-symbol/index.js"(e,t){t.exports=fv()()?hv().Symbol:vv()}}),_v=m({"node_modules/es5-ext/array/#/clear.js"(e,t){var r=jy();t.exports=function(){return r(this).length=0,this}}}),bv=m({"node_modules/es5-ext/object/valid-callable.js"(e,t){t.exports=function(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");return e}}}),wv=m({"node_modules/type/string/coerce.js"(e,t){var r=Gy(),n=Wy(),i=Object.prototype.toString;t.exports=function(e){if(!r(e))return null;if(n(e)){var t=e.toString;if("function"!=typeof t||t===i)return null}try{return""+e}catch{return null}}}}),Tv=m({"node_modules/type/lib/safe-to-string.js"(e,t){t.exports=function(e){try{return e.toString()}catch{try{return String(e)}catch{return null}}}}}),kv=m({"node_modules/type/lib/to-short-string.js"(e,t){var r=Tv(),n=/[\n\r\u2028\u2029]/g;t.exports=function(e){var t=r(e);return null===t?"":(t.length>100&&(t=t.slice(0,99)+"…"),t=t.replace(n,(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")}})))}}}),Av=m({"node_modules/type/lib/resolve-exception.js"(e,t){var r=Gy(),n=Wy(),i=wv(),a=kv(),o=function(e,t){return e.replace("%v",a(t))};t.exports=function(e,t,a){if(!n(a))throw new TypeError(o(t,e));if(!r(e)){if("default"in a)return a.default;if(a.isOptional)return null}var s=i(a.errorMessage);throw r(s)||(s=t),new TypeError(o(s,e))}}}),Mv=m({"node_modules/type/value/ensure.js"(e,t){var r=Av(),n=Gy();t.exports=function(e){return n(e)?e:r(e,"Cannot use %v",arguments[1])}}}),Sv=m({"node_modules/type/plain-function/ensure.js"(e,t){var r=Av(),n=Xy();t.exports=function(e){return n(e)?e:r(e,"%v is not a plain function",arguments[1])}}}),Ev=m({"node_modules/es5-ext/array/from/is-implemented.js"(e,t){t.exports=function(){var e,t,r=Array.from;return"function"==typeof r&&!(!(t=r(e=["raz","dwa"]))||t===e||"dwa"!==t[1])}}}),Cv=m({"node_modules/es5-ext/function/is-function.js"(e,t){var r=Object.prototype.toString,n=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);t.exports=function(e){return"function"==typeof e&&n(r.call(e))}}}),Iv=m({"node_modules/es5-ext/math/sign/is-implemented.js"(e,t){t.exports=function(){var e=Math.sign;return"function"==typeof e&&1===e(10)&&-1===e(-20)}}}),Lv=m({"node_modules/es5-ext/math/sign/shim.js"(e,t){t.exports=function(e){return e=Number(e),isNaN(e)||0===e?e:e>0?1:-1}}}),Pv=m({"node_modules/es5-ext/math/sign/index.js"(e,t){t.exports=Iv()()?Math.sign:Lv()}}),zv=m({"node_modules/es5-ext/number/to-integer.js"(e,t){var r=Pv(),n=Math.abs,i=Math.floor;t.exports=function(e){return isNaN(e)?0:0!==(e=Number(e))&&isFinite(e)?r(e)*i(n(e)):e}}}),Dv=m({"node_modules/es5-ext/number/to-pos-integer.js"(e,t){var r=zv(),n=Math.max;t.exports=function(e){return n(0,r(e))}}}),Ov=m({"node_modules/es5-ext/array/from/shim.js"(e,t){var r=xv().iterator,n=sv(),i=Cv(),a=Dv(),o=bv(),s=jy(),l=Ry(),c=lv(),u=Array.isArray,h=Function.prototype.call,f={configurable:!0,enumerable:!0,writable:!0,value:null},p=Object.defineProperty;t.exports=function(e){var t,d,m,g,y,v,x,_,b,w,T=arguments[1],k=arguments[2];if(e=Object(s(e)),l(T)&&o(T),this&&this!==Array&&i(this))t=this;else{if(!T){if(n(e))return 1!==(y=e.length)?Array.apply(null,e):((g=new Array(1))[0]=e[0],g);if(u(e)){for(g=new Array(y=e.length),d=0;d=55296&&v<=56319&&(w+=e[++d]),w=T?h.call(T,k,w,m):w,t?(f.value=w,p(g,m,f)):g[m]=w,++m;y=m}if(void 0===y)for(y=a(e.length),t&&(g=new t(y)),d=0;d=this.__nextIndex__)){if(++this.__nextIndex__,!this.__redo__)return void u(this,"__redo__",s("c",[e]));this.__redo__.forEach((function(t,r){t>=e&&(this.__redo__[r]=++t)}),this),this.__redo__.push(e)}})),_onDelete:s((function(e){var t;e>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(t=this.__redo__.indexOf(e))&&this.__redo__.splice(t,1),this.__redo__.forEach((function(t,r){t>e&&(this.__redo__[r]=--t)}),this)))})),_onClear:s((function(){this.__redo__&&n.call(this.__redo__),this.__nextIndex__=0}))}))),u(r.prototype,c.iterator,s((function(){return this})))}}),qv=m({"node_modules/es6-iterator/array.js"(e,t){var r,n=Vy(),i=av(),a=ov(),o=xv(),s=Vv(),l=Object.defineProperty;r=t.exports=function(e,t){if(!(this instanceof r))throw new TypeError("Constructor requires 'new'");s.call(this,e),t=t?i.call(t,"key+value")?"key+value":i.call(t,"key")?"key":"value":"value",l(this,"__kind__",a("",t))},n&&n(r,s),delete r.prototype.constructor,r.prototype=Object.create(s.prototype,{_resolve:a((function(e){return"value"===this.__kind__?this.__list__[e]:"key+value"===this.__kind__?[e,this.__list__[e]]:e}))}),l(r.prototype,o.toStringTag,a("c","Array Iterator"))}}),Hv=m({"node_modules/es6-iterator/string.js"(e,t){var r,n=Vy(),i=ov(),a=xv(),o=Vv(),s=Object.defineProperty;r=t.exports=function(e){if(!(this instanceof r))throw new TypeError("Constructor requires 'new'");e=String(e),o.call(this,e),s(this,"__length__",i("",e.length))},n&&n(r,o),delete r.prototype.constructor,r.prototype=Object.create(o.prototype,{_next:i((function(){if(this.__list__){if(this.__nextIndex__=55296&&t<=56319?r+this.__list__[this.__nextIndex__++]:r}))}),s(r.prototype,a.toStringTag,i("c","String Iterator"))}}),Gv=m({"node_modules/es6-iterator/is-iterable.js"(e,t){var r=sv(),n=Ry(),i=lv(),a=xv().iterator,o=Array.isArray;t.exports=function(e){return!(!n(e)||!(o(e)||i(e)||r(e))&&"function"!=typeof e[a])}}}),Wv=m({"node_modules/es6-iterator/valid-iterable.js"(e,t){var r=Gv();t.exports=function(e){if(!r(e))throw new TypeError(e+" is not iterable");return e}}}),Zv=m({"node_modules/es6-iterator/get.js"(e,t){var r=sv(),n=lv(),i=qv(),a=Hv(),o=Wv(),s=xv().iterator;t.exports=function(e){return"function"==typeof o(e)[s]?e[s]():r(e)?new i(e):n(e)?new a(e):new i(e)}}}),Yv=m({"node_modules/es6-iterator/for-of.js"(e,t){var r=sv(),n=bv(),i=lv(),a=Zv(),o=Array.isArray,s=Function.prototype.call,l=Array.prototype.some;t.exports=function(e,t){var c,u,h,f,p,d,m,g,y=arguments[2];if(o(e)||r(e)?c="array":i(e)?c="string":e=a(e),n(t),h=function(){f=!0},"array"!==c)if("string"!==c)for(u=e.next();!u.done;){if(s.call(t,y,u.value,h),f)return;u=e.next()}else for(d=e.length,p=0;p=55296&&g<=56319&&(m+=e[++p]),s.call(t,y,m,h),!f);++p);else l.call(e,(function(e){return s.call(t,y,e,h),f}))}}}),Xv=m({"node_modules/es6-weak-map/is-native-implemented.js"(e,t){t.exports="function"==typeof WeakMap&&"[object WeakMap]"===Object.prototype.toString.call(new WeakMap)}}),$v=m({"node_modules/es6-weak-map/polyfill.js"(e,t){var r,n=Ry(),i=Vy(),a=qy(),o=jy(),s=Hy(),l=ov(),c=Zv(),u=Yv(),h=xv().toStringTag,f=Xv(),p=Array.isArray,d=Object.defineProperty,m=Object.prototype.hasOwnProperty,g=Object.getPrototypeOf;t.exports=r=function(){var e,t=arguments[0];if(!(this instanceof r))throw new TypeError("Constructor requires 'new'");return e=f&&i&&WeakMap!==r?i(new WeakMap,g(this)):this,n(t)&&(p(t)||(t=c(t))),d(e,"__weakMapData__",l("c","$weakMap$"+s())),t&&u(t,(function(t){o(t),e.set(t[0],t[1])})),e},f&&(i&&i(r,WeakMap),r.prototype=Object.create(WeakMap.prototype,{constructor:l(r)})),Object.defineProperties(r.prototype,{delete:l((function(e){return!!m.call(a(e),this.__weakMapData__)&&(delete e[this.__weakMapData__],!0)})),get:l((function(e){if(m.call(a(e),this.__weakMapData__))return e[this.__weakMapData__]})),has:l((function(e){return m.call(a(e),this.__weakMapData__)})),set:l((function(e,t){return d(a(e),this.__weakMapData__,l("c",t)),this})),toString:l((function(){return"[object WeakMap]"}))}),d(r.prototype,h,l("c","WeakMap"))}}),Kv=m({"node_modules/es6-weak-map/index.js"(e,t){t.exports=Dy()()?WeakMap:$v()}}),Jv=m({"node_modules/array-find-index/index.js"(e,t){t.exports=function(e,t,r){if("function"==typeof Array.prototype.findIndex)return e.findIndex(t,r);if("function"!=typeof t)throw new TypeError("predicate must be a function");var n=Object(e),i=n.length;if(0===i)return-1;for(var a=0;a"round"===t.join?2:1,miterLimit:e.prop("miterLimit"),scale:e.prop("scale"),scaleFract:e.prop("scaleFract"),translateFract:e.prop("translateFract"),translate:e.prop("translate"),thickness:e.prop("thickness"),dashTexture:e.prop("dashTexture"),opacity:e.prop("opacity"),pixelRatio:e.context("pixelRatio"),id:e.prop("id"),dashLength:e.prop("dashLength"),viewport:(e,t)=>[t.viewport.x,t.viewport.y,e.viewportWidth,e.viewportHeight],depth:e.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:(e,t)=>!t.overlay},stencil:{enable:!1},scissor:{enable:!0,box:e.prop("viewport")},viewport:e.prop("viewport")},a=e(i({vert:"\nprecision highp float;\n\nattribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\nattribute vec4 color;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nvec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\n\t// the order is important\n\treturn position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n}\n\nvoid main() {\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineOffset = lineTop * 2. - 1.;\n\n\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n\ttangent = normalize(diff * scale * viewport.zw);\n\tvec2 normal = vec2(-tangent.y, tangent.x);\n\n\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\n\t\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\n\n\t\t+ thickness * normal * .5 * lineOffset / viewport.zw;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n}\n",frag:"\nprecision highp float;\n\nuniform float dashLength, pixelRatio, thickness, opacity, id;\nuniform sampler2D dashTexture;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nvoid main() {\n\tfloat alpha = 1.;\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",attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:e.prop("positionFractBuffer"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:e.prop("positionFractBuffer"),stride:8,offset:16,divisor:1},color:{buffer:e.prop("colorBuffer"),stride:4,offset:0,divisor:1}}},n));try{t=e(i({cull:{enable:!0,face:"back"},vert:"\nprecision highp float;\n\nattribute vec2 aCoord, bCoord, nextCoord, prevCoord;\nattribute vec4 aColor, bColor;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, translate;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\nuniform float miterLimit, miterMode;\n\nvarying vec4 fragColor;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 tangent;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nconst float REVERSE_THRESHOLD = -.875;\nconst float MIN_DIFF = 1e-6;\n\n// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\n// TODO: precalculate dot products, normalize things beforehead etc.\n// TODO: refactor to rectangular algorithm\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nbool isNaN( float val ){\n return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\n}\n\nvoid main() {\n\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\n\n vec2 adjustedScale;\n adjustedScale.x = (abs(scale.x) < MIN_DIFF) ? MIN_DIFF : scale.x;\n adjustedScale.y = (abs(scale.y) < MIN_DIFF) ? MIN_DIFF : scale.y;\n\n vec2 scaleRatio = adjustedScale * viewport.zw;\n\tvec2 normalWidth = thickness / scaleRatio;\n\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineBot = 1. - lineTop;\n\n\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\n\n\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\n\n\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\n\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\n\n\n\tvec2 prevDiff = aCoord - prevCoord;\n\tvec2 currDiff = bCoord - aCoord;\n\tvec2 nextDiff = nextCoord - bCoord;\n\n\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\n\tvec2 currTangent = normalize(currDiff * scaleRatio);\n\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\n\n\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\n\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\n\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\n\n\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\n\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\n\n\t// collapsed/unidirectional segment cases\n\t// FIXME: there should be more elegant solution\n\tvec2 prevTanDiff = abs(prevTangent - currTangent);\n\tvec2 nextTanDiff = abs(nextTangent - currTangent);\n\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\n\t\tstartJoinDirection = currNormal;\n\t}\n\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\n\t\tendJoinDirection = currNormal;\n\t}\n\tif (aCoord == bCoord) {\n\t\tendJoinDirection = startJoinDirection;\n\t\tcurrNormal = prevNormal;\n\t\tcurrTangent = prevTangent;\n\t}\n\n\ttangent = currTangent;\n\n\t//calculate join shifts relative to normals\n\tfloat startJoinShift = dot(currNormal, startJoinDirection);\n\tfloat endJoinShift = dot(currNormal, endJoinDirection);\n\n\tfloat startMiterRatio = abs(1. / startJoinShift);\n\tfloat endMiterRatio = abs(1. / endJoinShift);\n\n\tvec2 startJoin = startJoinDirection * startMiterRatio;\n\tvec2 endJoin = endJoinDirection * endMiterRatio;\n\n\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\n\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\n\tstartBotJoin = -startTopJoin;\n\n\tendTopJoin = sign(endJoinShift) * endJoin * .5;\n\tendBotJoin = -endTopJoin;\n\n\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\n\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\n\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\n\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\n\n\t//miter anti-clipping\n\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\n\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\n\n\t//prevent close to reverse direction switch\n\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) < length(normalWidth * currNormal);\n\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) < length(normalWidth * currNormal);\n\n\tif (prevReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\n\t\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\n\t\t//handle miter clipping\n\t\tbTopCoord -= normalWidth * endTopJoin;\n\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n\t}\n\n\tif (nextReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n\t\t//handle miter clipping\n\t\taBotCoord -= normalWidth * startBotJoin;\n\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n\t}\n\n\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\n\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\n\n\t//position is normalized 0..1 coord on the screen\n\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n\n\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n\n\t//bevel miter cutoffs\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n\n\t//round miter cutoffs\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n",frag:"\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",attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:e.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:e.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},n))}catch{t=a}return{fill:e({primitive:"triangle",elements:(e,t)=>t.triangles,offset:0,vert:"\nprecision highp float;\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nconst float MAX_LINES = 256.;\n\nvoid main() {\n\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\n\n\tvec2 position = position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n\tfragColor.a *= opacity;\n}\n",frag:"\nprecision highp float;\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n}\n",uniforms:{scale:e.prop("scale"),color:e.prop("fill"),scaleFract:e.prop("scaleFract"),translateFract:e.prop("translateFract"),translate:e.prop("translate"),opacity:e.prop("opacity"),pixelRatio:e.context("pixelRatio"),id:e.prop("id"),viewport:(e,t)=>[t.viewport.x,t.viewport.y,e.viewportWidth,e.viewportHeight]},attributes:{position:{buffer:e.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:e.prop("positionFractBuffer"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:a,miter:t}},d.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},d.prototype.render=function(...e){e.length&&this.update(...e),this.draw()},d.prototype.draw=function(...e){return(e.length?e:this.passes).forEach(((e,t)=>{if(e&&Array.isArray(e))return this.draw(...e);"number"==typeof e&&(e=this.passes[e]),e&&e.count>1&&e.opacity&&(this.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&this.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>d.precisionThreshold||e.scale[1]*e.viewport.height>d.precisionThreshold||"rect"===e.join||!e.join&&(e.thickness<=2||e.count>=d.maxPoints)?this.shaders.rect(e):this.shaders.miter(e)))})),this},d.prototype.update=function(e){if(!e)return;null!=e.length?"number"==typeof e[0]&&(e=[{positions:e}]):Array.isArray(e)||(e=[e]);let{regl:t,gl:h}=this;if(e.forEach(((e,m)=>{let g=this.passes[m];if(void 0!==e){if(null===e)return void(this.passes[m]=null);if("number"==typeof e[0]&&(e={positions:e}),e=a(e,{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"}),g||(this.passes[m]=g={id:m,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:t.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:t.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:t.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:t.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},e=i({},d.defaults,e)),null!=e.thickness&&(g.thickness=parseFloat(e.thickness)),null!=e.opacity&&(g.opacity=parseFloat(e.opacity)),null!=e.miterLimit&&(g.miterLimit=parseFloat(e.miterLimit)),null!=e.overlay&&(g.overlay=!!e.overlay,me-t)),t=[],i=0,a=null!=g.hole?g.hole[0]:null;if(null!=a){let t=p(e,(e=>e>=a));e=e.slice(0,t),e.push(a)}for(let n=0;nt-a+(e[n]-i))),c=s(o,l);c=c.map((t=>t+i+(t+i{e.colorBuffer.destroy(),e.positionBuffer.destroy(),e.dashTexture.destroy()})),this.passes.length=0,this}}}),ex=m({"node_modules/regl-error2d/index.js"(e,t){var r=ny(),n=em(),i=Ey(),a=ty(),o=My(),s=ay(),{float32:l,fract32:c}=Iy();t.exports=function(e,t){if("function"==typeof e?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),!(e=t.regl).hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");let h,f,p,d,m,g,y=e._gl,v={color:"black",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},x=[];return d=e.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array(0)}),f=e.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),p=e.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),m=e.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),g=e.buffer({usage:"static",type:"float",data:u}),T(t),h=e({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:e.prop("range"),lineWidth:e.prop("lineWidth"),capSize:e.prop("capSize"),opacity:e.prop("opacity"),scale:e.prop("scale"),translate:e.prop("translate"),scaleFract:e.prop("scaleFract"),translateFract:e.prop("translateFract"),viewport:(e,t)=>[t.viewport.x,t.viewport.y,e.viewportWidth,e.viewportHeight]},attributes:{color:{buffer:d,offset:(e,t)=>4*t.offset,divisor:1},position:{buffer:f,offset:(e,t)=>8*t.offset,divisor:1},positionFract:{buffer:p,offset:(e,t)=>8*t.offset,divisor:1},error:{buffer:m,offset:(e,t)=>16*t.offset,divisor:1},direction:{buffer:g,stride:24,offset:0},lineOffset:{buffer:g,stride:24,offset:8},capOffset:{buffer:g,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:e.prop("viewport")},viewport:e.prop("viewport"),stencil:!1,instances:e.prop("count"),count:u.length}),o(_,{update:T,draw:b,destroy:k,regl:e,gl:y,canvas:y.canvas,groups:x}),_;function _(e){e?T(e):null===e&&k(),b()}function b(t){if("number"==typeof t)return w(t);t&&!Array.isArray(t)&&(t=[t]),e._refresh(),x.forEach(((e,r)=>{if(e){if(t&&(t[r]?e.draw=!0:e.draw=!1),!e.draw)return void(e.draw=!0);w(r)}}))}function w(e){"number"==typeof e&&(e=x[e]),null!=e&&e&&e.count&&e.color&&e.opacity&&e.positions&&e.positions.length>1&&(e.scaleRatio=[e.scale[0]*e.viewport.width,e.scale[1]*e.viewport.height],h(e),e.after&&e.after(e))}function T(e){if(!e)return;null!=e.length?"number"==typeof e[0]&&(e=[{positions:e}]):Array.isArray(e)||(e=[e]);let t=0,u=0;if(_.groups=x=e.map(((e,l)=>{let h=x[l];return e?("function"==typeof e?e={after:e}:"number"==typeof e[0]&&(e={positions:e}),e=a(e,{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"}),h||(x[l]=h={id:l,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},e=o({},v,e)),i(h,e,[{lineWidth:e=>.5*+e,capSize:e=>.5*+e,opacity:parseFloat,errors:e=>(e=s(e),u+=e.length,e),positions:(e,n)=>(e=s(e,"float64"),n.count=Math.floor(e.length/2),n.bounds=r(e,2),n.offset=t,t+=n.count,e)},{color:(e,t)=>{let r=t.count;if(e||(e="transparent"),!Array.isArray(e)||"number"==typeof e[0]){let t=e;e=Array(r);for(let n=0;n{let n=t.bounds;return e||(e=n),t.scale=[1/(e[2]-e[0]),1/(e[3]-e[1])],t.translate=[-e[0],-e[1]],t.scaleFract=c(t.scale),t.translateFract=c(t.translate),e},viewport:e=>{let t;return Array.isArray(e)?t={x:e[0],y:e[1],width:e[2]-e[0],height:e[3]-e[1]}:e?(t={x:e.x||e.left||0,y:e.y||e.top||0},e.right?t.width=e.right-t.x:t.width=e.w||e.width||0,e.bottom?t.height=e.bottom-t.y:t.height=e.h||e.height||0):t={x:0,y:0,width:y.drawingBufferWidth,height:y.drawingBufferHeight},t}}]),h):h})),t||u){let e=x.reduce(((e,t,r)=>e+(t?t.count:0)),0),t=new Float64Array(2*e),r=new Uint8Array(4*e),n=new Float32Array(4*e);x.forEach(((e,i)=>{if(!e)return;let{positions:a,count:o,offset:s,color:l,errors:c}=e;o&&(r.set(l,4*s),n.set(c,4*s),t.set(a,2*s))}));var h=l(t);f(h);var g=c(t,h);p(g),d(r),m(n)}}function k(){f.destroy(),p.destroy(),d.destroy(),m.destroy(),g.destroy()}};var u=[[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]]}}),tx=m({"node_modules/unquote/index.js"(e,t){var r=/[\'\"]/;t.exports=function(e){return e?(r.test(e.charAt(0))&&(e=e.substr(1)),r.test(e.charAt(e.length-1))&&(e=e.substr(0,e.length-1)),e):""}}}),rx=m({"node_modules/css-global-keywords/index.json"(e,t){t.exports=["inherit","initial","unset"]}}),nx=m({"node_modules/css-system-font-keywords/index.json"(e,t){t.exports=["caption","icon","menu","message-box","small-caption","status-bar"]}}),ix=m({"node_modules/css-font-weight-keywords/index.json"(e,t){t.exports=["normal","bold","bolder","lighter","100","200","300","400","500","600","700","800","900"]}}),ax=m({"node_modules/css-font-style-keywords/index.json"(e,t){t.exports=["normal","italic","oblique"]}}),ox=m({"node_modules/css-font-stretch-keywords/index.json"(e,t){t.exports=["normal","condensed","semi-condensed","extra-condensed","ultra-condensed","expanded","semi-expanded","extra-expanded","ultra-expanded"]}}),sx=m({"node_modules/parenthesis/index.js"(e,t){function r(e,t){if("string"!=typeof e)return[e];var r=[e];"string"==typeof t||Array.isArray(t)?t={brackets:t}:t||(t={});var n=t.brackets?Array.isArray(t.brackets)?t.brackets:[t.brackets]:["{}","[]","()"],i=t.escape||"___",a=!!t.flat;n.forEach((function(e){var t=new RegExp(["\\",e[0],"[^\\",e[0],"\\",e[1],"]*\\",e[1]].join("")),n=[];function a(t,a,o){var s=r.push(t.slice(e[0].length,-e[1].length))-1;return n.push(s),i+s+i}r.forEach((function(e,n){for(var i,o=0;e!=i;)if(i=e,e=e.replace(t,a),o++>1e4)throw Error("References have circular dependency. Please, check them.");r[n]=e})),n=n.reverse(),r=r.map((function(t){return n.forEach((function(r){t=t.replace(new RegExp("(\\"+i+r+"\\"+i+")","g"),e[0]+"$1"+e[1])})),t}))}));var o=new RegExp("\\"+i+"([0-9]+)\\"+i);return a?r:function e(t,r,n){for(var i,a=[],s=0;i=o.exec(t);){if(s++>1e4)throw Error("Circular references in parenthesis");a.push(t.slice(0,i.index)),a.push(e(r[i[1]],r)),t=t.slice(i.index+i[0].length)}return a.push(t),a}(r[0],r)}function n(e,t){if(t&&t.flat){var r,n=t&&t.escape||"___",i=e[0];if(!i)return"";for(var a=new RegExp("\\"+n+"([0-9]+)\\"+n),o=0;i!=r;){if(o++>1e4)throw Error("Circular references in "+e);r=i,i=i.replace(a,s)}return i}return e.reduce((function e(t,r){return Array.isArray(r)&&(r=r.reduce(e,"")),t+r}),"");function s(t,r){if(null==e[r])throw Error("Reference "+r+"is undefined");return e[r]}}function i(e,t){return Array.isArray(e)?n(e,t):r(e,t)}i.parse=r,i.stringify=n,t.exports=i}}),lx=m({"node_modules/string-split-by/index.js"(e,t){var r=sx();t.exports=function(e,t,n){if(null==e)throw Error("First argument should be a string");if(null==t)throw Error("Separator should be a string or a RegExp");n?("string"==typeof n||Array.isArray(n))&&(n={ignore:n}):n={},null==n.escape&&(n.escape=!0),null==n.ignore?n.ignore=["[]","()","{}","<>",'""',"''","``","“”","«»"]:("string"==typeof n.ignore&&(n.ignore=[n.ignore]),n.ignore=n.ignore.map((function(e){return 1===e.length&&(e+=e),e})));var i=r.parse(e,{flat:!0,brackets:n.ignore}),a=i[0].split(t);if(n.escape){for(var o=[],s=0;s1&&t===r&&('"'===t||"'"===t))return['"'+n(e.substr(1,e.length-2))+'"'];var a=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(e);if(a)return i(e.substr(0,a.index)).concat(i(a[1])).concat(i(e.substr(a.index+a[0].length)));var o=e.split(".");if(1===o.length)return['"'+n(e)+'"'];for(var s=[],l=0;l65535)<<4,t|=r=((e>>>=t)>255)<<3,t|=r=((e>>>=r)>15)<<2,(t|=r=((e>>>=r)>3)<<1)|(e>>>=r)>>1}function p(){var e=h(8,(function(){return[]}));function t(t){var r=function(e){for(var t=16;t<=1<<28;t*=16)if(e<=t)return t;return 0}(t),n=e[f(r)>>2];return n.length>0?n.pop():new ArrayBuffer(r)}function r(t){e[f(t.byteLength)>>2].push(t)}return{alloc:t,free:r,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(e){r(e.buffer)}}}var d=p();d.zero=p();var m=3553,g=6408,y=5126,v=36160,x=function(e){return e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Uint32Array||e instanceof Int8Array||e instanceof Int16Array||e instanceof Int32Array||e instanceof Float32Array||e instanceof Float64Array||e instanceof Uint8ClampedArray};function _(e){return!!e&&"object"==typeof e&&Array.isArray(e.shape)&&Array.isArray(e.stride)&&"number"==typeof e.offset&&e.shape.length===e.stride.length&&(Array.isArray(e.data)||x(e.data))}var b=function(e){return Object.keys(e).map((function(t){return e[t]}))},w=function(e){for(var t=[],r=e;r.length;r=r[0])t.push(r.length);return t},T=function(e,t,r,n){var i=1;if(t.length)for(var a=0;a>>31<<15,a=(n<<1>>>24)-127,o=n>>13&1023;if(a<-24)t[r]=i;else if(a<-14){var s=-14-a;t[r]=i+(o+1024>>s)}else t[r]=a>15?i+31744:i+(a+15<<10)+o}return t}function G(e){return Array.isArray(e)||x(e)}var W=3553,Z=34067,Y=34069,X=6408,$=6406,K=6407,J=6409,Q=6410,ee=32855,te=6402,re=34041,ne=35904,ie=35906,ae=36193,oe=33776,se=33777,le=33778,ce=5121,ue=5123,he=5125,fe=5126,pe=33071,de=9728,me=9984,ge=9987,ye=4352,ve=33984,xe=[me,9986,9985,ge],_e=[0,J,Q,K,X],be={};function we(e){return"[object "+e+"]"}be[J]=be[$]=be[te]=1,be[re]=be[Q]=2,be[K]=be[ne]=3,be[X]=be[ie]=4;var Te=we("HTMLCanvasElement"),ke=we("OffscreenCanvas"),Ae=we("CanvasRenderingContext2D"),Me=we("ImageBitmap"),Se=we("HTMLImageElement"),Ee=we("HTMLVideoElement"),Ce=Object.keys(M).concat([Te,ke,Ae,Me,Se,Ee]),Ie=[];Ie[ce]=1,Ie[fe]=4,Ie[ae]=2,Ie[ue]=2,Ie[he]=4;var Le=[];function Pe(e){return Array.isArray(e)&&(0===e.length||"number"==typeof e[0])}function ze(e){return!!Array.isArray(e)&&!(0===e.length||!G(e[0]))}function De(e){return Object.prototype.toString.call(e)}function Oe(e){return De(e)===Te}function Re(e){return De(e)===ke}function Fe(e){if(!e)return!1;var t=De(e);return Ce.indexOf(t)>=0||Pe(e)||ze(e)||_(e)}function Be(e){return 0|M[Object.prototype.toString.call(e)]}function je(e,t){return d.allocType(e.type===ae?fe:e.type,t)}function Ne(e,t){e.type===ae?(e.data=H(t),d.freeType(t)):e.data=t}function Ue(e,t,r,n,i,a){var o;if(o=typeof Le[e]<"u"?Le[e]:be[e]*Ie[t],a&&(o*=6),i){for(var s=0,l=r;l>=1;)s+=o*l*l,l/=2;return s}return o*r*n}Le[32854]=2,Le[ee]=2,Le[36194]=2,Le[re]=4,Le[oe]=.5,Le[se]=.5,Le[le]=1,Le[33779]=1,Le[35986]=.5,Le[35987]=1,Le[34798]=1,Le[35840]=.5,Le[35841]=.25,Le[35842]=.5,Le[35843]=.25,Le[36196]=.5;var Ve=36161,qe=32854,He=[];function Ge(e,t,r){return He[e]*t*r}He[qe]=2,He[32855]=2,He[36194]=2,He[33189]=2,He[36168]=1,He[34041]=4,He[35907]=4,He[34836]=16,He[34842]=8,He[34843]=6;var We=36160,Ze=36161,Ye=3553,Xe=[];Xe[6408]=4,Xe[6407]=3;var $e=[];$e[5121]=1,$e[5126]=4,$e[36193]=2;var Ke=34963;function Je(){this.state=0,this.x=0,this.y=0,this.z=0,this.w=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.offset=0,this.stride=0,this.divisor=0}function Qe(e){return function(e){for(var t,r="0123456789abcdef",n="",i=0;i>>4&15)+r.charAt(15&t);return n}(function(e){return function(e){for(var t="",r=0;r<32*e.length;r+=8)t+=String.fromCharCode(e[r>>5]>>>24-r%32&255);return t}(function(e,t){var r,n,i,a,o,s,l,c,u,h,f,p,d=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),m=new Array(64);for(e[t>>5]|=128<<24-t%32,e[15+(t+64>>9<<4)]=t,u=0;u>2),r=0;r>5]|=(255&e.charCodeAt(r/8))<<24-r%32;return t}(e),8*e.length))}(function(e){for(var t,r,n="",i=-1;++i>>6&31,128|63&t):t<=65535?n+=String.fromCharCode(224|t>>>12&15,128|t>>>6&63,128|63&t):t<=2097151&&(n+=String.fromCharCode(240|t>>>18&7,128|t>>>12&63,128|t>>>6&63,128|63&t));return n}(e)))}function et(e,t){return e>>>t|e<<32-t}function tt(e,t){return e>>>t}function rt(e,t,r){return e&t^~e&r}function nt(e,t,r){return e&t^e&r^t&r}function it(e){return et(e,2)^et(e,13)^et(e,22)}function at(e){return et(e,6)^et(e,11)^et(e,25)}function ot(e){return et(e,7)^et(e,18)^tt(e,3)}function st(e){return et(e,17)^et(e,19)^tt(e,10)}var lt=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 ct(e,t){var r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function ut(e){return Array.prototype.slice.call(e)}function ht(e){return ut(e).join("")}var ft="xyzw".split(""),pt="dither",dt="blend.enable",mt="blend.color",gt="blend.equation",yt="blend.func",vt="depth.enable",xt="depth.func",_t="depth.range",bt="depth.mask",wt="colorMask",Tt="cull.enable",kt="cull.face",At="frontFace",Mt="lineWidth",St="polygonOffset.enable",Et="polygonOffset.offset",Ct="sample.alpha",It="sample.enable",Lt="sample.coverage",Pt="stencil.enable",zt="stencil.mask",Dt="stencil.func",Ot="stencil.opFront",Rt="stencil.opBack",Ft="scissor.enable",Bt="scissor.box",jt="viewport",Nt="profile",Ut="framebuffer",Vt="vert",qt="frag",Ht="elements",Gt="primitive",Wt="count",Zt="offset",Yt="instances",Xt="vao",$t="Width",Kt="Height",Jt=Ut+$t,Qt=Ut+Kt,er=jt+$t,tr=jt+Kt,rr="drawingBuffer",nr=rr+$t,ir=rr+Kt,ar=[yt,gt,Dt,Ot,Rt,Lt,jt,Bt,Et],or=34962,sr=34963,lr=35664,cr=35665,ur=35666,hr=35667,fr=35668,pr=35669,dr=35671,mr=35672,gr=35673,yr=35674,vr=35675,xr=35676,_r=35678,br=35680,wr=1028,Tr=1029,kr=2305,Ar=7680,Mr={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},Sr={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Er={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},Cr={cw:2304,ccw:kr};function Ir(e){return Array.isArray(e)||x(e)||_(e)}function Lr(e){return e.sort((function(e,t){return e===jt?-1:t===jt?1:e=1,n>=2,t)}if(4===r){var i=e.data;return new Pr(i.thisDep,i.contextDep,i.propDep,t)}if(5===r)return new Pr(!1,!1,!1,t);if(6===r){for(var a=!1,o=!1,s=!1,l=0;l=1&&(o=!0),u>=2&&(s=!0)}else 4===c.type&&(a=a||c.data.thisDep,o=o||c.data.contextDep,s=s||c.data.propDep)}return new Pr(a,o,s,t)}return new Pr(3===r,2===r,1===r,t)}var Rr=new Pr(!1,!1,!1,(function(){}));function Fr(t,r,n,i,a,s,l,c,u,f,p,d,m,g,y,v){var x=f.Record,_={add:32774,subtract:32778,"reverse subtract":32779};n.ext_blend_minmax&&(_.min=32775,_.max=32776);var b=n.angle_instanced_arrays,w=n.webgl_draw_buffers,T=n.oes_vertex_array_object,k={dirty:!0,profile:v.profile},A={},M=[],E={},C={};function I(e){return e.replace(".","_")}function L(e,t,r){var n=I(e);M.push(e),A[n]=k[n]=!!r,E[n]=t}function P(e,t,r){var n=I(e);M.push(e),Array.isArray(r)?(k[n]=r.slice(),A[n]=r.slice()):k[n]=A[n]=r,C[n]=t}function z(e){return!!isNaN(e)}L(pt,3024),L(dt,3042),P(mt,"blendColor",[0,0,0,0]),P(gt,"blendEquationSeparate",[32774,32774]),P(yt,"blendFuncSeparate",[1,0,1,0]),L(vt,2929,!0),P(xt,"depthFunc",513),P(_t,"depthRange",[0,1]),P(bt,"depthMask",!0),P(wt,wt,[!0,!0,!0,!0]),L(Tt,2884),P(kt,"cullFace",Tr),P(At,At,kr),P(Mt,Mt,1),L(St,32823),P(Et,"polygonOffset",[0,0]),L(Ct,32926),L(It,32928),P(Lt,"sampleCoverage",[1,!1]),L(Pt,2960),P(zt,"stencilMask",-1),P(Dt,"stencilFunc",[519,0,-1]),P(Ot,"stencilOpSeparate",[wr,Ar,Ar,Ar]),P(Rt,"stencilOpSeparate",[Tr,Ar,Ar,Ar]),L(Ft,3089),P(Bt,"scissor",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),P(jt,jt,[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var D={gl:t,context:m,strings:r,next:A,current:k,draw:d,elements:s,buffer:a,shader:p,attributes:f.state,vao:f,uniforms:u,framebuffer:c,extensions:n,timer:g,isBufferArgs:Ir},O={primTypes:F,compareFuncs:Sr,blendFuncs:Mr,blendEquations:_,stencilOps:Er,glTypes:S,orientationType:Cr};w&&(O.backBuffer=[Tr],O.drawBuffer=h(i.maxDrawbuffers,(function(e){return 0===e?[0]:h(e,(function(e){return 36064+e}))})));var R=0;function B(){var t=function(t){var r=t&&t.cache,n=0,i=[],a=[],o=[];function s(){var t=[],r=[];return e((function(){t.push.apply(t,ut(arguments))}),{def:function(){var e="v"+n++;return r.push(e),arguments.length>0&&(t.push(e,"="),t.push.apply(t,ut(arguments)),t.push(";")),e},toString:function(){return ht([r.length>0?"var "+r.join(",")+";":"",ht(t)])}})}function l(){var t=s(),r=s(),n=t.toString,i=r.toString;function a(e,n){r(e,n,"=",t.def(e,n),";")}return e((function(){t.apply(t,ut(arguments))}),{def:t.def,entry:t,exit:r,save:a,set:function(e,r,n){a(e,r),t(e,r,"=",n,";")},toString:function(){return n()+i()}})}var c=s(),u={};return{global:c,link:function(e,t){var r=t&&t.stable;if(!r)for(var s=0;s"u"?"Date.now()":"performance.now()"}function d(e){e(a=t.def(),"=",p(),";"),"string"==typeof i?e(c,".count+=",i,";"):e(c,".count++;"),g&&(n?e(o=t.def(),"=",h,".getNumPendingQueries();"):e(h,".beginQuery(",c,");"))}function m(e){e(c,".cpuTime+=",p(),"-",a,";"),g&&(n?e(h,".pushScopeStats(",o,",",h,".getNumPendingQueries(),",c,");"):e(h,".endQuery();"))}function y(e){var r=t.def(u,".profile");t(u,".profile=",e,";"),t.exit(u,".profile=",r,";")}if(f){if(zr(f))return void(f.enable?(d(t),m(t.exit),y("true")):y("false"));y(s=f.append(e,t))}else s=t.def(u,".profile");var v=e.block();d(v),t("if(",s,"){",v,"}");var x=e.block();m(x),t.exit("if(",s,"){",x,"}")}function W(e,t,r,n,i){var a=e.shared;n.forEach((function(n){var o,s=n.name,l=r.attributes[s];if(l){if(!i(l))return;o=l.append(e,t)}else{if(!i(Rr))return;var c=e.scopeAttrib(s);o={},Object.keys(new x).forEach((function(e){o[e]=t.def(c,".",e)}))}!function(r,n,i){var o=a.gl,s=t.def(r,".location"),l=t.def(a.attributes,"[",s,"]"),c=i.state,u=i.buffer,h=[i.x,i.y,i.z,i.w],f=["buffer","normalized","offset","stride"];function p(){t("if(!",l,".buffer){",o,".enableVertexAttribArray(",s,");}");var r,a=i.type;if(r=i.size?t.def(i.size,"||",n):n,t("if(",l,".type!==",a,"||",l,".size!==",r,"||",f.map((function(e){return l+"."+e+"!=="+i[e]})).join("||"),"){",o,".bindBuffer(",or,",",u,".buffer);",o,".vertexAttribPointer(",[s,r,a,i.normalized,i.stride,i.offset],");",l,".type=",a,";",l,".size=",r,";",f.map((function(e){return l+"."+e+"="+i[e]+";"})).join(""),"}"),b){var c=i.divisor;t("if(",l,".divisor!==",c,"){",e.instancing,".vertexAttribDivisorANGLE(",[s,c],");",l,".divisor=",c,";}")}}function d(){t("if(",l,".buffer){",o,".disableVertexAttribArray(",s,");",l,".buffer=null;","}if(",ft.map((function(e,t){return l+"."+e+"!=="+h[t]})).join("||"),"){",o,".vertexAttrib4f(",s,",",h,");",ft.map((function(e,t){return l+"."+e+"="+h[t]+";"})).join(""),"}")}1===c?p():2===c?d():(t("if(",c,"===",1,"){"),p(),t("}else{"),d(),t("}"))}(e.link(n),function(e){switch(e){case lr:case hr:case dr:return 2;case cr:case fr:case mr:return 3;case ur:case pr:case gr:return 4;default:return 1}}(n.info.type),o)}))}function Z(e,t,n,i,a,o){for(var s,l=e.shared,c=l.gl,u=0;u1){for(var M=[],S=[],E=0;E>1)",p],");")}function t(){r(d,".drawArraysInstancedANGLE(",[m,g,y,p],");")}h&&"null"!==h?x?e():(r("if(",h,"){"),e(),r("}else{"),t(),r("}")):t()}function w(){function e(){r(l+".drawElements("+[m,y,v,g+"<<(("+v+"-5121)>>1)"]+");")}function t(){r(l+".drawArrays("+[m,g,y]+");")}h&&"null"!==h?x?e():(r("if(",h,"){"),e(),r("}else{"),t(),r("}")):t()}b&&("number"!=typeof p||p>=0)?"string"==typeof p?(r("if(",p,">0){"),_(),r("}else if(",p,"<0){"),w(),r("}")):_():w()}function X(e,t,r,n,i){var a=B(),o=a.proc("body",i);return b&&(a.instancing=o.def(a.shared.extensions,".angle_instanced_arrays")),e(a,o,r,n),a.compile().body}function $(e,t,r,n){q(e,t),r.useVAO?r.drawVAO?t(e.shared.vao,".setVAO(",r.drawVAO.append(e,t),");"):t(e.shared.vao,".setVAO(",e.shared.vao,".targetVAO);"):(t(e.shared.vao,".setVAO(null);"),W(e,t,r,n.attributes,(function(){return!0}))),Z(e,t,r,n.uniforms,(function(){return!0}),!1),Y(e,t,t,r)}function K(e,t,r,n){function i(){return!0}e.batchId="a1",q(e,t),W(e,t,r,n.attributes,i),Z(e,t,r,n.uniforms,i,!1),Y(e,t,t,r)}function J(e,t,r,n){q(e,t);var i=r.contextDep,a=t.def(),o=t.def();e.shared.props=o,e.batchId=a;var s=e.scope(),l=e.scope();function c(e){return e.contextDep&&i||e.propDep}function u(e){return!c(e)}if(t(s.entry,"for(",a,"=0;",a,"<","a1",";++",a,"){",o,"=","a0","[",a,"];",l,"}",s.exit),r.needsContext&&j(e,l,r.context),r.needsFramebuffer&&N(e,l,r.framebuffer),V(e,l,r.state,c),r.profile&&c(r.profile)&&H(e,l,r,!1,!0),n)r.useVAO?r.drawVAO?c(r.drawVAO)?l(e.shared.vao,".setVAO(",r.drawVAO.append(e,l),");"):s(e.shared.vao,".setVAO(",r.drawVAO.append(e,s),");"):s(e.shared.vao,".setVAO(",e.shared.vao,".targetVAO);"):(s(e.shared.vao,".setVAO(null);"),W(e,s,r,n.attributes,u),W(e,l,r,n.attributes,c)),Z(e,s,r,n.uniforms,u,!1),Z(e,l,r,n.uniforms,c,!0),Y(e,s,l,r);else{var h=e.global.def("{}"),f=r.shader.progVar.append(e,l),p=l.def(f,".id"),d=l.def(h,"[",p,"]");l(e.shared.gl,".useProgram(",f,".program);","if(!",d,"){",d,"=",h,"[",p,"]=",e.link((function(e){return X(K,0,r,e,2)})),"(",f,");}",d,".call(this,a0[",a,"],",a,");")}}function Q(e,t,r){var n=t.static[r];if(n&&function(e){if("object"==typeof e&&!G(e)){for(var t=Object.keys(e),r=0;r0)return null;var n=t.static,i=Object.keys(n);if(i.length>0&&"number"==typeof n[i[0]]){for(var a=[],o=0;o0,w={framebuffer:u,draw:m,shader:y,state:g,dirty:b,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(w.profile=function(e){var t,r=e.static,n=e.dynamic;if(Nt in r){var i=!!r[Nt];(t=Dr((function(e,t){return i}))).enable=i}else if(Nt in n){var a=n[Nt];t=Or(a,(function(e,t){return e.invoke(t,a)}))}return t}(e),w.uniforms=function(e){var t=e.static,r=e.dynamic,n={};return Object.keys(t).forEach((function(e){var r,i=t[e];if("number"==typeof i||"boolean"==typeof i)r=Dr((function(){return i}));else if("function"==typeof i){var a=i._reglType;"texture2d"===a||"textureCube"===a?r=Dr((function(e){return e.link(i)})):("framebuffer"===a||"framebufferCube"===a)&&(r=Dr((function(e){return e.link(i.color[0])})))}else G(i)&&(r=Dr((function(e){return e.global.def("[",h(i.length,(function(e){return i[e]})),"]")})));r.value=i,n[e]=r})),Object.keys(r).forEach((function(e){var t=r[e];n[e]=Or(t,(function(e,r){return e.invoke(r,t)}))})),n}(i),w.drawVAO=w.scopeVAO=m.vao,!w.drawVAO&&y.program&&!l&&n.angle_instanced_arrays&&m.static.elements){var T=!0,k=y.program.attributes.map((function(e){var r=t.static[e];return T=T&&!!r,r}));if(T&&k.length>0){var A=f.getVAO(f.createVAO({attributes:k,elements:m.static.elements}));w.drawVAO=new Pr(null,null,null,(function(e,t){return e.link(A)})),w.useVAO=!0}}return l?w.useVAO=!0:w.attributes=function(e){var t=e.static,n=e.dynamic,i={};return Object.keys(t).forEach((function(e){var n=t[e],o=r.id(e),s=new x;if(Ir(n))s.state=1,s.buffer=a.getBuffer(a.create(n,or,!1,!0)),s.type=0;else{var l=a.getBuffer(n);if(l)s.state=1,s.buffer=l,s.type=0;else if("constant"in n){var c=n.constant;s.buffer="null",s.state=2,"number"==typeof c?s.x=c:ft.forEach((function(e,t){t"+t+"?"+n+".constant["+t+"]:0;"})).join(""),"}}else{","if(",o,"(",n,".buffer)){",u,"=",s,".createStream(",or,",",n,".buffer);","}else{",u,"=",s,".getBuffer(",n,".buffer);","}",h,'="type" in ',n,"?",a.glTypes,"[",n,".type]:",u,".dtype;",l.normalized,"=!!",n,".normalized;"),f("size"),f("offset"),f("stride"),f("divisor"),r("}}"),r.exit("if(",l.isStream,"){",s,".destroyStream(",u,");","}"),l}))})),i}(t),w.context=function(e){var t=e.static,r=e.dynamic,n={};return Object.keys(t).forEach((function(e){var r=t[e];n[e]=Dr((function(e,t){return"number"==typeof r||"boolean"==typeof r?""+r:e.link(r)}))})),Object.keys(r).forEach((function(e){var t=r[e];n[e]=Or(t,(function(e,r){return e.invoke(r,t)}))})),n}(o),w}(t,i,o,l);return m.shader.program&&(m.shader.program.attributes.sort((function(e,t){return e.name0&&r(e.shared.current,".dirty=true;"),e.shared.vao&&r(e.shared.vao,".setVAO(null);")}(d,m),function(e,t){var n=e.proc("scope",3);e.batchId="a2";var i=e.shared,a=i.current;if(j(e,n,t.context),t.framebuffer&&t.framebuffer.append(e,n),Lr(Object.keys(t.state)).forEach((function(r){var a=t.state[r],o=a.append(e,n);G(o)?o.forEach((function(t,i){z(t)?n.set(e.next[r],"["+i+"]",t):n.set(e.next[r],"["+i+"]",e.link(t,{stable:!0}))})):zr(a)?n.set(i.next,"."+r,e.link(o,{stable:!0})):n.set(i.next,"."+r,o)})),H(e,n,t,!0,!0),[Ht,Zt,Wt,Yt,Gt].forEach((function(r){var a=t.draw[r];if(a){var o=a.append(e,n);z(o)?n.set(i.draw,"."+r,o):n.set(i.draw,"."+r,e.link(o),{stable:!0})}})),Object.keys(t.uniforms).forEach((function(a){var o=t.uniforms[a].append(e,n);Array.isArray(o)&&(o="["+o.map((function(t){return z(t)?t:e.link(t,{stable:!0})}))+"]"),n.set(i.uniforms,"["+e.link(r.id(a),{stable:!0})+"]",o)})),Object.keys(t.attributes).forEach((function(r){var i=t.attributes[r].append(e,n),a=e.scopeAttrib(r);Object.keys(new x).forEach((function(e){n.set(a,"."+e,i[e])}))})),t.scopeVAO){var o=t.scopeVAO.append(e,n);z(o)?n.set(i.vao,".targetVAO",o):n.set(i.vao,".targetVAO",e.link(o,{stable:!0}))}function s(r){var a=t.shader[r];if(a){var o=a.append(e,n);z(o)?n.set(i.shader,"."+r,o):n.set(i.shader,"."+r,e.link(o,{stable:!0}))}}s(Vt),s(qt),Object.keys(t.state).length>0&&(n(a,".dirty=true;"),n.exit(a,".dirty=true;")),n("a1(",e.shared.context,",a0,",e.batchId,");")}(d,m),function(e,t){var r=e.proc("batch",2);e.batchId="0",q(e,r);var n=!1,i=!0;Object.keys(t.context).forEach((function(e){n=n||t.context[e].propDep})),n||(j(e,r,t.context),i=!1);var a=t.framebuffer,o=!1;function s(e){return e.contextDep&&n||e.propDep}a?(a.propDep?n=o=!0:a.contextDep&&n&&(o=!0),o||N(e,r,a)):N(e,r,null),t.state.viewport&&t.state.viewport.propDep&&(n=!0),U(e,r,t),V(e,r,t.state,(function(e){return!s(e)})),(!t.profile||!s(t.profile))&&H(e,r,t,!1,"a1"),t.contextDep=n,t.needsContext=i,t.needsFramebuffer=o;var l=t.shader.progVar;if(l.contextDep&&n||l.propDep)J(e,r,t,null);else{var c=l.append(e,r);if(r(e.shared.gl,".useProgram(",c,".program);"),t.shader.program)J(e,r,t,t.shader.program);else{r(e.shared.vao,".setVAO(null);");var u=e.global.def("{}"),h=r.def(c,".id"),f=r.def(u,"[",h,"]");r(e.cond(f).then(f,".call(this,a0,a1);").else(f,"=",u,"[",h,"]=",e.link((function(e){return X(J,0,t,e,2)})),"(",c,");",f,".call(this,a0,a1);"))}}Object.keys(t.state).length>0&&r(e.shared.current,".dirty=true;"),e.shared.vao&&r(e.shared.vao,".setVAO(null);")}(d,m),e(d.compile(),{destroy:function(){m.shader.program.destroy()}})}}}var Br="webglcontextlost",jr="webglcontextrestored";function Nr(e,t){for(var r=0;r"u"?1:window.devicePixelRatio,p=!1,d={},m=function(e){},g=function(){};if("string"==typeof o?r=document.querySelector(o):"object"==typeof o&&(function(e){return"string"==typeof e.nodeName&&"function"==typeof e.appendChild&&"function"==typeof e.getBoundingClientRect}(o)?r=o:function(e){return"function"==typeof e.drawArrays||"function"==typeof e.drawElements}(o)?i=(a=o).canvas:("gl"in o?a=o.gl:"canvas"in o?i=u(o.canvas):"container"in o&&(n=u(o.container)),"attributes"in o&&(s=o.attributes),"extensions"in o&&(l=c(o.extensions)),"optionalExtensions"in o&&(h=c(o.optionalExtensions)),"onDone"in o&&(m=o.onDone),"profile"in o&&(p=!!o.profile),"pixelRatio"in o&&(f=+o.pixelRatio),"cachedCode"in o&&(d=o.cachedCode))),r&&("canvas"===r.nodeName.toLowerCase()?i=r:n=r),!a){if(!i){var y=function(t,r,n){var i,a=document.createElement("canvas");function o(){var e=window.innerWidth,r=window.innerHeight;if(t!==document.body){var i=a.getBoundingClientRect();e=i.right-i.left,r=i.bottom-i.top}a.width=n*e,a.height=n*r}return e(a.style,{border:0,margin:0,padding:0,top:0,left:0,width:"100%",height:"100%"}),t.appendChild(a),t===document.body&&(a.style.position="absolute",e(t.style,{margin:0,padding:0})),t!==document.body&&"function"==typeof ResizeObserver?(i=new ResizeObserver((function(){setTimeout(o)}))).observe(t):window.addEventListener("resize",o,!1),o(),{canvas:a,onDestroy:function(){i?i.disconnect():window.removeEventListener("resize",o),t.removeChild(a)}}}(n||document.body,0,f);if(!y)return null;i=y.canvas,g=y.onDestroy}void 0===s.premultipliedAlpha&&(s.premultipliedAlpha=!0),a=function(e,t){function r(r){try{return e.getContext(r,t)}catch{return null}}return r("webgl")||r("experimental-webgl")||r("webgl-experimental")}(i,s)}return a?{gl:a,canvas:i,container:n,extensions:l,optionalExtensions:h,pixelRatio:f,profile:p,cachedCode:d,onDone:m,onDestroy:g}:(g(),m("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}(t);if(!r)return null;var n=r.gl,i=n.getContextAttributes(),a=(n.isContextLost(),function(e,t){var r={};function n(t){var n,i=t.toLowerCase();try{n=r[i]=e.getExtension(i)}catch{}return!!n}for(var i=0;i0)if(Array.isArray(t[0])){o=I(t);for(var c=1,u=1;u0)if("number"==typeof e[0]){var i=d.allocType(h.dtype,e.length);O(i,e),p(i,n),d.freeType(i)}else if(Array.isArray(e[0])||x(e[0])){r=I(e);var a=C(e,r,h.dtype);p(a,n),d.freeType(a)}}else if(_(e)){r=e.shape;var o=e.stride,s=0,l=0,c=0,u=0;1===r.length?(s=r[0],l=1,c=o[0],u=0):2===r.length&&(s=r[0],l=r[1],c=o[0],u=o[1]);var m=Array.isArray(e.data)?h.dtype:D(e.data),g=d.allocType(m,s*l);R(g,e.data,s,l,c,u,e.offset),p(g,n),d.freeType(g)}return f},r.profile&&(f.stats=h.stats),f.destroy=function(){c(h)},f},createStream:function(e,t){var r=o.pop();return r||(r=new a(e)),r.bind(),l(r,t,35040,0,1,!1),r},destroyStream:function(e){o.push(e)},clear:function(){b(i).forEach(c),o.forEach(c)},getBuffer:function(e){return e&&e._buffer instanceof a?e._buffer:null},restore:function(){b(i).forEach((function(t){t.buffer=e.createBuffer(),e.bindBuffer(t.type,t.buffer),e.bufferData(t.type,t.persistentData||t.byteLength,t.usage)}))},_initBuffer:l}}(n,f,r),Ie=function(e,t,r,n){var i={},a=0,o={uint8:B,uint16:j};function s(e){this.id=a++,i[this.id]=this,this.buffer=e,this.primType=4,this.vertCount=0,this.type=0}t.oes_element_index_uint&&(o.uint32=N),s.prototype.bind=function(){this.buffer.bind()};var l=[];function c(n,i,a,o,s,l,c){var u;if(n.buffer.bind(),i){var h=c;!c&&(!x(i)||_(i)&&!x(i.data))&&(h=t.oes_element_index_uint?N:j),r._initBuffer(n.buffer,i,a,h,3)}else e.bufferData(U,l,a),n.buffer.dtype=u||B,n.buffer.usage=a,n.buffer.dimension=3,n.buffer.byteLength=l;if(u=c,!c){switch(n.buffer.dtype){case B:case 5120:u=B;break;case j:case 5122:u=j;break;case N:case 5124:u=N}n.buffer.dtype=u}n.type=u;var f=s;f<0&&(f=n.buffer.byteLength,u===j?f>>=1:u===N&&(f>>=2)),n.vertCount=f;var p=o;if(o<0){p=4;var d=n.buffer.dimension;1===d&&(p=0),2===d&&(p=1),3===d&&(p=4)}n.primType=p}function u(e){n.elementsCount--,delete i[e.id],e.buffer.destroy(),e.buffer=null}return{create:function(e,t){var i=r.create(null,U,!0),a=new s(i._buffer);function l(e){if(e)if("number"==typeof e)i(e),a.primType=4,a.vertCount=0|e,a.type=B;else{var t=null,r=35044,n=-1,s=-1,u=0,h=0;Array.isArray(e)||x(e)||_(e)?t=e:("data"in e&&(t=e.data),"usage"in e&&(r=E[e.usage]),"primitive"in e&&(n=F[e.primitive]),"count"in e&&(s=0|e.count),"type"in e&&(h=o[e.type]),"length"in e?u=0|e.length:(u=s,h===j||5122===h?u*=2:(h===N||5124===h)&&(u*=4))),c(a,t,r,n,s,u,h)}else i(),a.primType=4,a.vertCount=0,a.type=B;return l}return n.elementsCount++,l(e),l._reglType="elements",l._elements=a,l.subdata=function(e,t){return i.subdata(e,t),l},l.destroy=function(){u(a)},l},createStream:function(e){var t=l.pop();return t||(t=new s(r.create(null,U,!0,!1)._buffer)),c(t,e,35040,-1,-1,0,0),t},destroyStream:function(e){l.push(e)},getElements:function(e){return"function"==typeof e&&e._elements instanceof s?e._elements:null},clear:function(){b(i).forEach(u)}}}(n,k,Ce,f),Le=function(e,t,r,n,i,a,o){for(var s=r.maxAttributes,l=new Array(s),c=0;c=p.byteLength?u.subdata(p):(u.destroy(),t.buffers[c]=null)),t.buffers[c]||(u=t.buffers[c]=i.create(h,34962,!1,!0)),f.buffer=i.getBuffer(u),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1,s[c]=1):i.getBuffer(h)?(f.buffer=i.getBuffer(h),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1):i.getBuffer(h.buffer)?(f.buffer=i.getBuffer(h.buffer),f.size=0|(+h.size||f.buffer.dimension),f.normalized=!!h.normalized||!1,f.type="type"in h?S[h.type]:f.buffer.dtype,f.offset=0|(h.offset||0),f.stride=0|(h.stride||0),f.divisor=0|(h.divisor||0),f.state=1):"x"in h&&(f.x=+h.x||0,f.y=+h.y||0,f.z=+h.z||0,f.w=+h.w||0,f.state=2)}for(var d=0;d1)for(var y=0;ye&&(e=t.stats.uniformsCount)})),e},n.getMaxAttributesCount=function(){var e=0;return h.forEach((function(t){t.stats.attributesCount>e&&(e=t.stats.attributesCount)})),e}),{clear:function(){var e=t.deleteShader.bind(t);b(a).forEach(e),a={},b(o).forEach(e),o={},h.forEach((function(e){t.deleteProgram(e.program)})),h.length=0,u={},n.shaderCount=0},program:function(r,i,s,l){var c=u[i];c||(c=u[i]={});var f=c[r];if(f&&(f.refCount++,!l))return f;var m=new p(i,r);return n.shaderCount++,d(m,0,l),f||(c[r]=m),h.push(m),e(m,{destroy:function(){if(m.refCount--,m.refCount<=0){t.deleteProgram(m.program);var e=h.indexOf(m);h.splice(e,1),n.shaderCount--}c[m.vertId].refCount<=0&&(t.deleteShader(o[m.vertId]),delete o[m.vertId],delete u[m.fragId][m.vertId]),Object.keys(u[m.fragId]).length||(t.deleteShader(a[m.fragId]),delete a[m.fragId],delete u[m.fragId])}})},restore:function(){a={},o={};for(var e=0;e=0&&(m[e]=t)}));var v=Object.keys(m);n.textureFormats=v;var k=[];Object.keys(m).forEach((function(e){var t=m[e];k[t]=e}));var A=[];Object.keys(p).forEach((function(e){var t=p[e];A[t]=e}));var M=[];Object.keys(u).forEach((function(e){M[u[e]]=e}));var S=[];Object.keys(h).forEach((function(e){var t=h[e];S[t]=e}));var E=[];Object.keys(c).forEach((function(e){E[c[e]]=e}));var C=v.reduce((function(e,t){var n=m[t];return n===J||n===$||n===J||n===Q||n===te||n===re||r.ext_srgb&&(n===ne||n===ie)?e[n]=n:n===ee||t.indexOf("rgba")>=0?e[n]=X:e[n]=K,e}),{});function I(){this.internalformat=X,this.format=X,this.type=ce,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=37444,this.width=0,this.height=0,this.channels=0}function L(e,t){e.internalformat=t.internalformat,e.format=t.format,e.type=t.type,e.compressed=t.compressed,e.premultiplyAlpha=t.premultiplyAlpha,e.flipY=t.flipY,e.unpackAlignment=t.unpackAlignment,e.colorSpace=t.colorSpace,e.width=t.width,e.height=t.height,e.channels=t.channels}function P(e,t){if("object"==typeof t&&t){if("premultiplyAlpha"in t&&(e.premultiplyAlpha=t.premultiplyAlpha),"flipY"in t&&(e.flipY=t.flipY),"alignment"in t&&(e.unpackAlignment=t.alignment),"colorSpace"in t&&(e.colorSpace=f[t.colorSpace]),"type"in t){var r=t.type;e.type=p[r]}var n=e.width,i=e.height,a=e.channels,o=!1;"shape"in t?(n=t.shape[0],i=t.shape[1],3===t.shape.length&&(a=t.shape[2],o=!0)):("radius"in t&&(n=i=t.radius),"width"in t&&(n=t.width),"height"in t&&(i=t.height),"channels"in t&&(a=t.channels,o=!0)),e.width=0|n,e.height=0|i,e.channels=0|a;var s=!1;if("format"in t){var l=t.format,c=e.internalformat=m[l];e.format=C[c],l in p&&("type"in t||(e.type=p[l])),l in g&&(e.compressed=!0),s=!0}!o&&s?e.channels=be[e.format]:o&&!s&&e.channels!==_e[e.format]&&(e.format=e.internalformat=_e[e.channels])}}function z(e){t.pixelStorei(37440,e.flipY),t.pixelStorei(37441,e.premultiplyAlpha),t.pixelStorei(37443,e.colorSpace),t.pixelStorei(3317,e.unpackAlignment)}function D(){I.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function O(e,t){var r=null;if(Fe(t)?r=t:t&&(P(e,t),"x"in t&&(e.xOffset=0|t.x),"y"in t&&(e.yOffset=0|t.y),Fe(t.data)&&(r=t.data)),t.copy){var n=a.viewportWidth,i=a.viewportHeight;e.width=e.width||n-e.xOffset,e.height=e.height||i-e.yOffset,e.needsCopy=!0}else if(r){if(x(r))e.channels=e.channels||4,e.data=r,!("type"in t)&&e.type===ce&&(e.type=Be(r));else if(Pe(r))e.channels=e.channels||4,function(e,t){var r=t.length;switch(e.type){case ce:case ue:case he:case fe:var n=d.allocType(e.type,r);n.set(t),e.data=n;break;case ae:e.data=H(t)}}(e,r),e.alignment=1,e.needsFree=!0;else if(_(r)){var o=r.data;!Array.isArray(o)&&e.type===ce&&(e.type=Be(o));var s,l,c,u,h,f,p=r.shape,m=r.stride;3===p.length?(c=p[2],f=m[2]):(c=1,f=1),s=p[0],l=p[1],u=m[0],h=m[1],e.alignment=1,e.width=s,e.height=l,e.channels=c,e.format=e.internalformat=_e[c],e.needsFree=!0,function(e,t,r,n,i,a){for(var o=e.width,s=e.height,l=e.channels,c=je(e,o*s*l),u=0,h=0;h>=i,r.height>>=i,O(r,n[i]),e.mipmask|=1<=0&&!("faces"in t)&&(e.genMipmaps=!0)}if("mag"in t){var n=t.mag;e.magFilter=u[n]}var i=e.wrapS,a=e.wrapT;if("wrap"in t){var o=t.wrap;"string"==typeof o?i=a=c[o]:Array.isArray(o)&&(i=c[o[0]],a=c[o[1]])}else{if("wrapS"in t){var s=t.wrapS;i=c[s]}if("wrapT"in t){var f=t.wrapT;a=c[f]}}if(e.wrapS=i,e.wrapT=a,"anisotropic"in t&&(t.anisotropic,e.anisotropic=t.anisotropic),"mipmap"in t){var p=!1;switch(typeof t.mipmap){case"string":e.mipmapHint=l[t.mipmap],e.genMipmaps=!0,p=!0;break;case"boolean":p=e.genMipmaps=t.mipmap;break;case"object":e.genMipmaps=!1,p=!0}p&&!("min"in t)&&(e.minFilter=me)}}function Ve(e,n){t.texParameteri(n,10241,e.minFilter),t.texParameteri(n,10240,e.magFilter),t.texParameteri(n,10242,e.wrapS),t.texParameteri(n,10243,e.wrapT),r.ext_texture_filter_anisotropic&&t.texParameteri(n,34046,e.anisotropic),e.genMipmaps&&(t.hint(33170,e.mipmapHint),t.generateMipmap(n))}var qe=0,He={},Ge=n.maxTextureUnits,We=Array(Ge).map((function(){return null}));function Ze(e){I.call(this),this.mipmask=0,this.internalformat=X,this.id=qe++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new Ie,s.profile&&(this.stats={size:0})}function Ye(e){t.activeTexture(ve),t.bindTexture(e.target,e.texture)}function Xe(){var e=We[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(W,null)}function $e(e){var r=e.texture,n=e.unit,i=e.target;n>=0&&(t.activeTexture(ve+n),t.bindTexture(i,null),We[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete He[e.id],o.textureCount--}return e(Ze.prototype,{bind:function(){var e=this;e.bindCount+=1;var r=e.unit;if(r<0){for(var n=0;n0)continue;i.unit=-1}We[n]=e,r=n;break}s.profile&&o.maxTextureUnits>l)-o,c.height=c.height||(n.height>>l)-s,Ye(n),F(c,W,o,s,l),Xe(),N(c),i},i.resize=function(e,r){var a=0|e,o=0|r||a;if(a===n.width&&o===n.height)return i;i.width=n.width=a,i.height=n.height=o,Ye(n);for(var l=0;n.mipmask>>l;++l){var c=a>>l,u=o>>l;if(!c||!u)break;t.texImage2D(W,l,n.format,c,u,0,n.format,n.type,null)}return Xe(),s.profile&&(n.stats.size=Ue(n.internalformat,n.type,a,o,!1,!1)),i},i._reglType="texture2d",i._texture=n,s.profile&&(i.stats=n.stats),i.destroy=function(){n.decRef()},i},createCube:function(e,r,n,i,a,l){var c=new Ze(Z);He[c.id]=c,o.cubeCount++;var u=new Array(6);function h(e,t,r,n,i,a){var o,l=c.texInfo;for(Ie.call(l),o=0;o<6;++o)u[o]=ke();if("number"!=typeof e&&e){if("object"==typeof e)if(t)q(u[0],e),q(u[1],t),q(u[2],r),q(u[3],n),q(u[4],i),q(u[5],a);else if(Le(l,e),P(c,e),"faces"in e){var f=e.faces;for(o=0;o<6;++o)L(u[o],c),q(u[o],f[o])}else for(o=0;o<6;++o)q(u[o],e)}else{var p=0|e||1;for(o=0;o<6;++o)V(u[o],p,p)}for(L(c,u[0]),l.genMipmaps?c.mipmask=(u[0].width<<1)-1:c.mipmask=u[0].mipmask,c.internalformat=u[0].internalformat,h.width=u[0].width,h.height=u[0].height,Ye(c),o=0;o<6;++o)we(u[o],Y+o);for(Ve(l,Z),Xe(),s.profile&&(c.stats.size=Ue(c.internalformat,c.type,h.width,h.height,l.genMipmaps,!0)),h.format=k[c.internalformat],h.type=A[c.type],h.mag=M[l.magFilter],h.min=S[l.minFilter],h.wrapS=E[l.wrapS],h.wrapT=E[l.wrapT],o=0;o<6;++o)Ce(u[o]);return h}return h(e,r,n,i,a,l),h.subimage=function(e,t,r,n,i){var a=0|r,o=0|n,s=0|i,l=j();return L(l,c),l.width=0,l.height=0,O(l,t),l.width=l.width||(c.width>>s)-a,l.height=l.height||(c.height>>s)-o,Ye(c),F(l,Y+e,a,o,s),Xe(),N(l),h},h.resize=function(e){var r=0|e;if(r!==c.width){h.width=c.width=r,h.height=c.height=r,Ye(c);for(var n=0;n<6;++n)for(var i=0;c.mipmask>>i;++i)t.texImage2D(Y+n,i,c.format,r>>i,r>>i,0,c.format,c.type,null);return Xe(),s.profile&&(c.stats.size=Ue(c.internalformat,c.type,h.width,h.height,!1,!0)),h}},h._reglType="textureCube",h._texture=c,s.profile&&(h.stats=c.stats),h.destroy=function(){c.decRef()},h},clear:function(){for(var e=0;e>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;n<6;++n)t.texImage2D(Y+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);Ve(e.texInfo,e.target)}))},refresh:function(){for(var e=0;e=0?f=!0:c.indexOf(d)>=0&&(f=!1))),("depthTexture"in M||"depthStencilTexture"in M)&&(k=!(!M.depthTexture&&!M.depthStencilTexture)),"depth"in M&&("boolean"==typeof M.depth?s=M.depth:(_=M.depth,u=!1)),"stencil"in M&&("boolean"==typeof M.stencil?u=M.stencil:(b=M.stencil,s=!1)),"depthStencil"in M&&("boolean"==typeof M.depthStencil?s=u=M.depthStencil:(w=M.depthStencil,s=!1,u=!1))}else a=o=1;var E=null,C=null,I=null,L=null;if(Array.isArray(h))E=h.map(m);else if(h)E=[m(h)];else for(E=new Array(x),r=0;r0&&(s.depth=r[0].depth,s.stencil=r[0].stencil,s.depthStencil=r[0].depthStencil),r[a]?r[a](s):r[a]=M(s)}return e(n,{width:l,height:l,color:o})}return n(t),e(n,{faces:r,resize:function(e){var t,i=0|e;if(i===n.width)return n;var a=n.color;for(t=0;t=0;--e){var t=ot[e];t&&t(we,null,0)}n.flush(),A&&A.update()}function ft(){!ut&&ot.length>0&&(ut=s.next(ht))}function pt(){ut&&(s.cancel(ht),ut=null)}function dt(e){e.preventDefault(),pt(),st.forEach((function(e){e()}))}function mt(e){n.getError(),a.restore(),He.restore(),Ce.restore(),Qe.restore(),et.restore(),tt.restore(),Le.restore(),A&&A.restore(),rt.procs.refresh(),ft(),lt.forEach((function(e){e()}))}function gt(t){function r(e,t){var r={},n={};return Object.keys(e).forEach((function(i){var a=e[i];if(o.isDynamic(a))n[i]=o.unbox(a,i);else{if(t&&Array.isArray(a))for(var s=0;s0)return h.call(this,function(e){for(;p.length=0},read:nt,destroy:function(){ot.length=0,pt(),at&&(at.removeEventListener(Br,dt),at.removeEventListener(jr,mt)),He.clear(),tt.clear(),et.clear(),Le.clear(),Qe.clear(),Ie.clear(),Ce.clear(),A&&A.clear(),ct.forEach((function(e){e()}))},_gl:n,_refresh:wt,poll:function(){bt(),A&&A.update()},now:Tt,stats:f,getCachedCode:function(){return p},preloadCachedCode:function(e){Object.entries(e).forEach((function(e){p[e[0]]=e[1]}))}});return r.onDone(null,kt),kt}},"object"==typeof e&&typeof t<"u"?t.exports=n():r.createREGL=n()}}),mx=m({"node_modules/gl-util/context.js"(e,t){var r=ty();function n(e){if(e.container)if(e.container==document.body)document.body.style.width||(e.canvas.width=e.width||e.pixelRatio*window.innerWidth),document.body.style.height||(e.canvas.height=e.height||e.pixelRatio*window.innerHeight);else{var t=e.container.getBoundingClientRect();e.canvas.width=e.width||t.right-t.left,e.canvas.height=e.height||t.bottom-t.top}}function i(e){return"function"==typeof e.getContext&&"width"in e&&"height"in e}function a(){var e=document.createElement("canvas");return e.style.position="absolute",e.style.top=0,e.style.left=0,e}t.exports=function(e){if(e?"string"==typeof e&&(e={container:e}):e={},(e=i(e)||"string"==typeof(t=e).nodeName&&"function"==typeof t.appendChild&&"function"==typeof t.getBoundingClientRect?{container:e}:function(e){return"function"==typeof e.drawArrays||"function"==typeof e.drawElements}(e)?{gl:e}:r(e,{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)).pixelRatio||(e.pixelRatio=window.pixelRatio||1),e.gl)return e.gl;var t;if(e.canvas&&(e.container=e.canvas.parentNode),e.container){if("string"==typeof e.container){var o=document.querySelector(e.container);if(!o)throw Error("Element "+e.container+" is not found");e.container=o}i(e.container)?(e.canvas=e.container,e.container=e.canvas.parentNode):e.canvas||(e.canvas=a(),e.container.appendChild(e.canvas),n(e))}else if(!e.canvas){if(!(typeof document<"u"))throw Error("Not DOM environment. Use headless-gl.");e.container=document.body||document.documentElement,e.canvas=a(),e.container.appendChild(e.canvas),n(e)}return e.gl||["webgl","experimental-webgl","webgl-experimental"].some((function(t){try{e.gl=e.canvas.getContext(t,e.attrs)}catch{}return e.gl})),e.gl}}}),gx=m({"node_modules/font-atlas/index.js"(e,t){var r=fx(),n=[32,126];t.exports=function(e){var t=(e=e||{}).shape?e.shape:e.canvas?[e.canvas.width,e.canvas.height]:[512,512],i=e.canvas||document.createElement("canvas"),a=e.font,o="number"==typeof e.step?[e.step,e.step]:e.step||[32,32],s=e.chars||n;if(a&&"string"!=typeof a&&(a=r(a)),Array.isArray(s)){if(2===s.length&&"number"==typeof s[0]&&"number"==typeof s[1]){for(var l=[],c=s[0],u=0;c<=s[1];c++)l[u++]=String.fromCharCode(c);s=l}}else s=String(s).split("");t=t.slice(),i.width=t[0],i.height=t[1];var h=i.getContext("2d");h.fillStyle="#000",h.fillRect(0,0,i.width,i.height),h.font=a,h.textAlign="center",h.textBaseline="middle",h.fillStyle="#fff";var f=o[0]/2,p=o[1]/2;for(c=0;ct[0]-o[0]/2&&(f=o[0]/2,p+=o[1]);return i}}}),yx=m({"node_modules/bit-twiddle/twiddle.js"(e){function t(e){var t=32;return(e&=-e)&&t--,65535&e&&(t-=16),16711935&e&&(t-=8),252645135&e&&(t-=4),858993459&e&&(t-=2),1431655765&e&&(t-=1),t}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(e){return(e>0)-(e<0)},e.abs=function(e){var t=e>>31;return(e^t)-t},e.min=function(e,t){return t^(e^t)&-(e65535)<<4,t|=r=((e>>>=t)>255)<<3,t|=r=((e>>>=r)>15)<<2,(t|=r=((e>>>=r)>3)<<1)|(e>>>=r)>>1},e.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0},e.popCount=function(e){return 16843009*((e=(858993459&(e-=e>>>1&1431655765))+(e>>>2&858993459))+(e>>>4)&252645135)>>>24},e.countTrailingZeros=t,e.nextPow2=function(e){return e+=0===e,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,1+((e|=e>>>8)|e>>>16)},e.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,(e|=e>>>16)-(e>>>1)},e.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,27030>>>(e&=15)&1};var r=new Array(256);(function(e){for(var t=0;t<256;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;e[t]=n<>>8&255]<<16|r[e>>>16&255]<<8|r[e>>>24&255]},e.interleave2=function(e,t){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))<<1},e.deinterleave2=function(e,t){return(e=65535&((e=16711935&((e=252645135&((e=858993459&((e=e>>>t&1431655765)|e>>>1))|e>>>2))|e>>>4))|e>>>16))<<16>>16},e.interleave3=function(e,t,r){return e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2),(e|=(t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(e,t){return(e=1023&((e=4278190335&((e=251719695&((e=3272356035&((e=e>>>t&1227133513)|e>>>2))|e>>>4))|e>>>8))|e>>>16))<<22>>22},e.nextCombination=function(e){var r=e|e-1;return r+1|(~r&-~r)-1>>>t(e)+1}}}),vx=m({"node_modules/dup/dup.js"(e,t){function r(e,t,n){var i=0|e[n];if(i<=0)return[];var a,o=new Array(i);if(n===e.length-1)for(a=0;a"u"&&(t=0),typeof e){case"number":if(e>0)return function(e,t){var r,n;for(r=new Array(e),n=0;n0?n.pop():new ArrayBuffer(e)}function f(e){return new Uint8Array(h(e),0,e)}function p(e){return new Uint16Array(h(2*e),0,e)}function d(e){return new Uint32Array(h(4*e),0,e)}function m(e){return new Int8Array(h(e),0,e)}function g(e){return new Int16Array(h(2*e),0,e)}function y(e){return new Int32Array(h(4*e),0,e)}function v(e){return new Float32Array(h(4*e),0,e)}function x(e){return new Float64Array(h(8*e),0,e)}function _(e){return i?new Uint8ClampedArray(h(e),0,e):f(e)}function b(e){return a?new BigUint64Array(h(8*e),0,e):null}function w(e){return o?new BigInt64Array(h(8*e),0,e):null}function T(e){return new DataView(h(e),0,e)}function k(e){e=t.nextPow2(e);var r=t.log2(e),i=c[r];return i.length>0?i.pop():new n(e)}e.free=function(e){if(n.isBuffer(e))c[t.log2(e.length)].push(e);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(e)&&(e=e.buffer),!e)return;var r=e.length||e.byteLength,i=0|t.log2(r);l[i].push(e)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(e){u(e.buffer)},e.freeArrayBuffer=u,e.freeBuffer=function(e){c[t.log2(e.length)].push(e)},e.malloc=function(e,t){if(void 0===t||"arraybuffer"===t)return h(e);switch(t){case"uint8":return f(e);case"uint16":return p(e);case"uint32":return d(e);case"int8":return m(e);case"int16":return g(e);case"int32":return y(e);case"float":case"float32":return v(e);case"double":case"float64":return x(e);case"uint8_clamped":return _(e);case"bigint64":return w(e);case"biguint64":return b(e);case"buffer":return k(e);case"data":case"dataview":return T(e);default:return null}return null},e.mallocArrayBuffer=h,e.mallocUint8=f,e.mallocUint16=p,e.mallocUint32=d,e.mallocInt8=m,e.mallocInt16=g,e.mallocInt32=y,e.mallocFloat32=e.mallocFloat=v,e.mallocFloat64=e.mallocDouble=x,e.mallocUint8Clamped=_,e.mallocBigUint64=b,e.mallocBigInt64=w,e.mallocDataView=T,e.mallocBuffer=k,e.clearCache=function(){for(var e=0;e<32;++e)s.UINT8[e].length=0,s.UINT16[e].length=0,s.UINT32[e].length=0,s.INT8[e].length=0,s.INT16[e].length=0,s.INT32[e].length=0,s.FLOAT[e].length=0,s.DOUBLE[e].length=0,s.BIGUINT64[e].length=0,s.BIGINT64[e].length=0,s.UINT8C[e].length=0,l[e].length=0,c[e].length=0}}}),_x=m({"node_modules/is-plain-obj/index.js"(e,t){var r=Object.prototype.toString;t.exports=function(e){var t;return"[object Object]"===r.call(e)&&(null===(t=Object.getPrototypeOf(e))||t===Object.getPrototypeOf({}))}}}),bx=m({"node_modules/parse-unit/index.js"(e,t){t.exports=function(e,t){t||(t=[0,""]),e=String(e);var r=parseFloat(e,10);return t[0]=r,t[1]=e.match(/[\d.\-\+]*\s*(.*)/)[1]||"",t}}}),wx=m({"node_modules/to-px/topx.js"(e,t){var r=bx();function n(e,t){var n=r(getComputedStyle(e).getPropertyValue(t));return n[0]*i(n[1],e)}function i(e,t){switch(t=t||document.body,e=(e||"px").trim().toLowerCase(),(t===window||t===document)&&(t=document.body),e){case"%":return t.clientHeight/100;case"ch":case"ex":return function(e,t){var r=document.createElement("div");r.style["font-size"]="128"+e,t.appendChild(r);var i=n(r,"font-size")/128;return t.removeChild(r),i}(e,t);case"em":return n(t,"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 96;case"cm":return 96/2.54;case"mm":return 96/25.4;case"pt":return 96/72;case"pc":return 16}return 1}t.exports=i}}),Tx=m({"node_modules/detect-kerning/index.js"(e,t){t.exports=i;var r=(i.canvas=document.createElement("canvas")).getContext("2d"),n=a([32,126]);function i(e,t){Array.isArray(e)&&(e=e.join(", "));var i,o={},s=16,l=.05;t&&(2===t.length&&"number"==typeof t[0]?i=a(t):Array.isArray(t)?i=t:(t.o?i=a(t.o):t.pairs&&(i=t.pairs),t.fontSize&&(s=t.fontSize),null!=t.threshold&&(l=t.threshold))),i||(i=n),r.font=s+"px "+e;for(var c=0;cs*l){var p=(f-h)/s;o[u]=1e3*p}}return o}function a(e){for(var t=[],r=e[0];r<=e[1];r++)for(var n=String.fromCharCode(r),i=e[0];i0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/t)}t.exports=r,r.canvas=document.createElement("canvas"),r.cache={}}}),Ax=m({"node_modules/gl-text/dist.js"(e,t){var r=px(),n=ty(),i=dx(),a=mx(),o=Kv(),s=em(),l=gx(),c=xx(),u=ry(),h=_x(),f=bx(),p=wx(),d=Tx(),m=My(),g=kx(),y=ay(),v=yx().nextPow2,x=new o,_=!1;document.body&&((b=document.body.appendChild(document.createElement("div"))).style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(b).fontStretch&&(_=!0),document.body.removeChild(b));var b,w=function(e){var t;"function"==typeof(t=e)&&t._gl&&t.prop&&t.texture&&t.buffer?(e={regl:e},this.gl=e.regl._gl):this.gl=a(e),this.shader=x.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=e.regl||i({gl:this.gl}),this.charBuffer=this.regl.buffer({type:"uint8",usage:"stream"}),this.sizeBuffer=this.regl.buffer({type:"float",usage:"stream"}),this.shader||(this.shader=this.createShader(),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(h(e)?e:{})};w.prototype.createShader=function(){var e=this.regl,t=e({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:e.prop("count"),offset:e.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:e.this("sizeBuffer")},width:{offset:0,stride:8,buffer:e.this("sizeBuffer")},char:e.this("charBuffer"),position:e.this("position")},uniforms:{atlasSize:function(e,t){return[t.atlas.width,t.atlas.height]},atlasDim:function(e,t){return[t.atlas.cols,t.atlas.rows]},atlas:function(e,t){return t.atlas.texture},charStep:function(e,t){return t.atlas.step},em:function(e,t){return t.atlas.em},color:e.prop("color"),opacity:e.prop("opacity"),viewport:e.this("viewportArray"),scale:e.this("scale"),align:e.prop("align"),baseline:e.prop("baseline"),translate:e.this("translate"),positionOffset:e.prop("positionOffset")},primitive:"points",viewport:e.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}"});return{regl:e,draw:t,atlas:{}}},w.prototype.update=function(e){var t=this;if("string"==typeof e)e={text:e};else if(!e)return;null!=(e=n(e,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},!0)).opacity&&(Array.isArray(e.opacity)?this.opacity=e.opacity.map((function(e){return parseFloat(e)})):this.opacity=parseFloat(e.opacity)),null!=e.viewport&&(this.viewport=u(e.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=e.kerning&&(this.kerning=e.kerning),null!=e.offset&&("number"==typeof e.offset&&(e.offset=[e.offset,0]),this.positionOffset=y(e.offset)),e.direction&&(this.direction=e.direction),e.range&&(this.range=e.range,this.scale=[1/(e.range[2]-e.range[0]),1/(e.range[3]-e.range[1])],this.translate=[-e.range[0],-e.range[1]]),e.scale&&(this.scale=e.scale),e.translate&&(this.translate=e.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),!this.font.length&&!e.font&&(e.font=w.baseFontSize+"px sans-serif");var i,a=!1,o=!1;if(e.font&&(Array.isArray(e.font)?e.font:[e.font]).forEach((function(e,n){if("string"==typeof e)try{e=r.parse(e)}catch{e=r.parse(w.baseFontSize+"px "+e)}else{var i=e.style,s=e.weight,l=e.stretch,c=e.variant;e=r.parse(r.stringify(e)),i&&(e.style=i),s&&(e.weight=s),l&&(e.stretch=l),c&&(e.variant=c)}var u=r.stringify({size:w.baseFontSize,family:e.family,stretch:_?e.stretch:void 0,variant:e.variant,weight:e.weight,style:e.style}),h=f(e.size),d=Math.round(h[0]*p(h[1]));if(d!==t.fontSize[n]&&(o=!0,t.fontSize[n]=d),!(t.font[n]&&u==t.font[n].baseString||(a=!0,t.font[n]=w.fonts[u],t.font[n]))){var m=e.family.join(", "),y=[e.style];e.style!=e.variant&&y.push(e.variant),e.variant!=e.weight&&y.push(e.weight),_&&e.weight!=e.stretch&&y.push(e.stretch),t.font[n]={baseString:u,family:m,weight:e.weight,stretch:e.stretch,style:e.style,variant:e.variant,width:{},kerning:{},metrics:g(m,{origin:"top",fontSize:w.baseFontSize,fontStyle:y.join(" ")})},w.fonts[u]=t.font[n]}})),(a||o)&&this.font.forEach((function(n,i){var a=r.stringify({size:t.fontSize[i],family:n.family,stretch:_?n.stretch:void 0,variant:n.variant,weight:n.weight,style:n.style});if(t.fontAtlas[i]=t.shader.atlas[a],!t.fontAtlas[i]){var o=n.metrics;t.shader.atlas[a]=t.fontAtlas[i]={fontString:a,step:2*Math.ceil(t.fontSize[i]*o.bottom*.5),em:t.fontSize[i],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:t.regl.texture()}}null==e.text&&(e.text=t.text)})),"string"==typeof e.text&&e.position&&e.position.length>2){for(var h=Array(.5*e.position.length),x=0;x2){for(var T=!e.position[0].length,k=c.mallocFloat(2*this.count),A=0,M=0;A1?t.align[r]:t.align[0]:t.align;if("number"==typeof n)return n;switch(n){case"right":case"end":return-e;case"center":case"centre":case"middle":return.5*-e}return 0}))),null==this.baseline&&null==e.baseline&&(e.baseline=0),null!=e.baseline&&(this.baseline=e.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map((function(e,r){var n=(t.font[r]||t.font[0]).metrics,i=0;return i+=.5*n.bottom,-1*(i+="number"==typeof e?e-n.baseline:-n[e])}))),null!=e.color)if(e.color||(e.color="transparent"),"string"!=typeof e.color&&isNaN(e.color)){var H;if("number"==typeof e.color[0]&&e.color.length>this.counts.length){var G=e.color.length;H=c.mallocUint8(G);for(var W=(e.color.subarray||e.color.slice).bind(e.color),Z=0;Z4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var $=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array($);for(var K=0;K1?this.counts[K]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[K]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*K,4*K+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[K]:this.opacity,baseline:null!=this.baselineOffset[K]?this.baselineOffset[K]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[K]?this.alignOffset[K]:this.alignOffset[0]:0,atlas:this.fontAtlas[K]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*K,2*K+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},w.prototype.destroy=function(){},w.prototype.kerning=!0,w.prototype.position={constant:new Float32Array(2)},w.prototype.translate=null,w.prototype.scale=null,w.prototype.font=null,w.prototype.text="",w.prototype.positionOffset=[0,0],w.prototype.opacity=1,w.prototype.color=new Uint8Array([0,0,0,255]),w.prototype.alignOffset=[0,0],w.maxAtlasSize=1024,w.atlasCanvas=document.createElement("canvas"),w.atlasContext=w.atlasCanvas.getContext("2d",{alpha:!1}),w.baseFontSize=64,w.fonts={},t.exports=w}}),Mx=m({"node_modules/@plotly/regl/dist/regl.unchecked.js"(e,t){var r,n;r=e,n=function(){var e=function(e,t){for(var r=Object.keys(t),n=0;n1&&t===r&&('"'===t||"'"===t))return['"'+n(e.substr(1,e.length-2))+'"'];var a=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(e);if(a)return i(e.substr(0,a.index)).concat(i(a[1])).concat(i(e.substr(a.index+a[0].length)));var o=e.split(".");if(1===o.length)return['"'+n(e)+'"'];for(var s=[],l=0;l65535)<<4,t|=r=((e>>>=t)>255)<<3,t|=r=((e>>>=r)>15)<<2,(t|=r=((e>>>=r)>3)<<1)|(e>>>=r)>>1}function p(){var e=h(8,(function(){return[]}));function t(t){var r=function(e){for(var t=16;t<=1<<28;t*=16)if(e<=t)return t;return 0}(t),n=e[f(r)>>2];return n.length>0?n.pop():new ArrayBuffer(r)}function r(t){e[f(t.byteLength)>>2].push(t)}return{alloc:t,free:r,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(e){r(e.buffer)}}}var d=p();d.zero=p();var m=3553,g=6408,y=5126,v=36160,x=function(e){return e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Uint32Array||e instanceof Int8Array||e instanceof Int16Array||e instanceof Int32Array||e instanceof Float32Array||e instanceof Float64Array||e instanceof Uint8ClampedArray};function _(e){return!!e&&"object"==typeof e&&Array.isArray(e.shape)&&Array.isArray(e.stride)&&"number"==typeof e.offset&&e.shape.length===e.stride.length&&(Array.isArray(e.data)||x(e.data))}var b=function(e){return Object.keys(e).map((function(t){return e[t]}))},w=function(e){for(var t=[],r=e;r.length;r=r[0])t.push(r.length);return t},T=function(e,t,r,n){var i=1;if(t.length)for(var a=0;a>>31<<15,a=(n<<1>>>24)-127,o=n>>13&1023;if(a<-24)t[r]=i;else if(a<-14){var s=-14-a;t[r]=i+(o+1024>>s)}else t[r]=a>15?i+31744:i+(a+15<<10)+o}return t}function G(e){return Array.isArray(e)||x(e)}var W=3553,Z=34067,Y=34069,X=6408,$=6406,K=6407,J=6409,Q=6410,ee=32855,te=6402,re=34041,ne=35904,ie=35906,ae=36193,oe=33776,se=33777,le=33778,ce=5121,ue=5123,he=5125,fe=5126,pe=33071,de=9728,me=9984,ge=9987,ye=4352,ve=33984,xe=[me,9986,9985,ge],_e=[0,J,Q,K,X],be={};function we(e){return"[object "+e+"]"}be[J]=be[$]=be[te]=1,be[re]=be[Q]=2,be[K]=be[ne]=3,be[X]=be[ie]=4;var Te=we("HTMLCanvasElement"),ke=we("OffscreenCanvas"),Ae=we("CanvasRenderingContext2D"),Me=we("ImageBitmap"),Se=we("HTMLImageElement"),Ee=we("HTMLVideoElement"),Ce=Object.keys(M).concat([Te,ke,Ae,Me,Se,Ee]),Ie=[];Ie[ce]=1,Ie[fe]=4,Ie[ae]=2,Ie[ue]=2,Ie[he]=4;var Le=[];function Pe(e){return Array.isArray(e)&&(0===e.length||"number"==typeof e[0])}function ze(e){return!!Array.isArray(e)&&!(0===e.length||!G(e[0]))}function De(e){return Object.prototype.toString.call(e)}function Oe(e){return De(e)===Te}function Re(e){return De(e)===ke}function Fe(e){if(!e)return!1;var t=De(e);return Ce.indexOf(t)>=0||Pe(e)||ze(e)||_(e)}function Be(e){return 0|M[Object.prototype.toString.call(e)]}function je(e,t){return d.allocType(e.type===ae?fe:e.type,t)}function Ne(e,t){e.type===ae?(e.data=H(t),d.freeType(t)):e.data=t}function Ue(e,t,r,n,i,a){var o;if(o=typeof Le[e]<"u"?Le[e]:be[e]*Ie[t],a&&(o*=6),i){for(var s=0,l=r;l>=1;)s+=o*l*l,l/=2;return s}return o*r*n}Le[32854]=2,Le[ee]=2,Le[36194]=2,Le[re]=4,Le[oe]=.5,Le[se]=.5,Le[le]=1,Le[33779]=1,Le[35986]=.5,Le[35987]=1,Le[34798]=1,Le[35840]=.5,Le[35841]=.25,Le[35842]=.5,Le[35843]=.25,Le[36196]=.5;var Ve=36161,qe=32854,He=[];function Ge(e,t,r){return He[e]*t*r}He[qe]=2,He[32855]=2,He[36194]=2,He[33189]=2,He[36168]=1,He[34041]=4,He[35907]=4,He[34836]=16,He[34842]=8,He[34843]=6;var We=36160,Ze=36161,Ye=3553,Xe=[];Xe[6408]=4,Xe[6407]=3;var $e=[];$e[5121]=1,$e[5126]=4,$e[36193]=2;var Ke=34963;function Je(){this.state=0,this.x=0,this.y=0,this.z=0,this.w=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.offset=0,this.stride=0,this.divisor=0}function Qe(e){return function(e){for(var t,r="0123456789abcdef",n="",i=0;i>>4&15)+r.charAt(15&t);return n}(function(e){return function(e){for(var t="",r=0;r<32*e.length;r+=8)t+=String.fromCharCode(e[r>>5]>>>24-r%32&255);return t}(function(e,t){var r,n,i,a,o,s,l,c,u,h,f,p,d=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),m=new Array(64);for(e[t>>5]|=128<<24-t%32,e[15+(t+64>>9<<4)]=t,u=0;u>2),r=0;r>5]|=(255&e.charCodeAt(r/8))<<24-r%32;return t}(e),8*e.length))}(function(e){for(var t,r,n="",i=-1;++i>>6&31,128|63&t):t<=65535?n+=String.fromCharCode(224|t>>>12&15,128|t>>>6&63,128|63&t):t<=2097151&&(n+=String.fromCharCode(240|t>>>18&7,128|t>>>12&63,128|t>>>6&63,128|63&t));return n}(e)))}function et(e,t){return e>>>t|e<<32-t}function tt(e,t){return e>>>t}function rt(e,t,r){return e&t^~e&r}function nt(e,t,r){return e&t^e&r^t&r}function it(e){return et(e,2)^et(e,13)^et(e,22)}function at(e){return et(e,6)^et(e,11)^et(e,25)}function ot(e){return et(e,7)^et(e,18)^tt(e,3)}function st(e){return et(e,17)^et(e,19)^tt(e,10)}var lt=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 ct(e,t){var r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function ut(e){return Array.prototype.slice.call(e)}function ht(e){return ut(e).join("")}var ft="xyzw".split(""),pt="dither",dt="blend.enable",mt="blend.color",gt="blend.equation",yt="blend.func",vt="depth.enable",xt="depth.func",_t="depth.range",bt="depth.mask",wt="colorMask",Tt="cull.enable",kt="cull.face",At="frontFace",Mt="lineWidth",St="polygonOffset.enable",Et="polygonOffset.offset",Ct="sample.alpha",It="sample.enable",Lt="sample.coverage",Pt="stencil.enable",zt="stencil.mask",Dt="stencil.func",Ot="stencil.opFront",Rt="stencil.opBack",Ft="scissor.enable",Bt="scissor.box",jt="viewport",Nt="profile",Ut="framebuffer",Vt="vert",qt="frag",Ht="elements",Gt="primitive",Wt="count",Zt="offset",Yt="instances",Xt="vao",$t="Width",Kt="Height",Jt=Ut+$t,Qt=Ut+Kt,er=jt+$t,tr=jt+Kt,rr="drawingBuffer",nr=rr+$t,ir=rr+Kt,ar=[yt,gt,Dt,Ot,Rt,Lt,jt,Bt,Et],or=34962,sr=34963,lr=35664,cr=35665,ur=35666,hr=35667,fr=35668,pr=35669,dr=35671,mr=35672,gr=35673,yr=35674,vr=35675,xr=35676,_r=35678,br=35680,wr=1028,Tr=1029,kr=2305,Ar=7680,Mr={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},Sr={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Er={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},Cr={cw:2304,ccw:kr};function Ir(e){return Array.isArray(e)||x(e)||_(e)}function Lr(e){return e.sort((function(e,t){return e===jt?-1:t===jt?1:e=1,n>=2,t)}if(4===r){var i=e.data;return new Pr(i.thisDep,i.contextDep,i.propDep,t)}if(5===r)return new Pr(!1,!1,!1,t);if(6===r){for(var a=!1,o=!1,s=!1,l=0;l=1&&(o=!0),u>=2&&(s=!0)}else 4===c.type&&(a=a||c.data.thisDep,o=o||c.data.contextDep,s=s||c.data.propDep)}return new Pr(a,o,s,t)}return new Pr(3===r,2===r,1===r,t)}var Rr=new Pr(!1,!1,!1,(function(){}));function Fr(t,r,n,i,a,s,l,c,u,f,p,d,m,g,y,v){var x=f.Record,_={add:32774,subtract:32778,"reverse subtract":32779};n.ext_blend_minmax&&(_.min=32775,_.max=32776);var b=n.angle_instanced_arrays,w=n.webgl_draw_buffers,T=n.oes_vertex_array_object,k={dirty:!0,profile:v.profile},A={},M=[],E={},C={};function I(e){return e.replace(".","_")}function L(e,t,r){var n=I(e);M.push(e),A[n]=k[n]=!!r,E[n]=t}function P(e,t,r){var n=I(e);M.push(e),Array.isArray(r)?(k[n]=r.slice(),A[n]=r.slice()):k[n]=A[n]=r,C[n]=t}function z(e){return!!isNaN(e)}L(pt,3024),L(dt,3042),P(mt,"blendColor",[0,0,0,0]),P(gt,"blendEquationSeparate",[32774,32774]),P(yt,"blendFuncSeparate",[1,0,1,0]),L(vt,2929,!0),P(xt,"depthFunc",513),P(_t,"depthRange",[0,1]),P(bt,"depthMask",!0),P(wt,wt,[!0,!0,!0,!0]),L(Tt,2884),P(kt,"cullFace",Tr),P(At,At,kr),P(Mt,Mt,1),L(St,32823),P(Et,"polygonOffset",[0,0]),L(Ct,32926),L(It,32928),P(Lt,"sampleCoverage",[1,!1]),L(Pt,2960),P(zt,"stencilMask",-1),P(Dt,"stencilFunc",[519,0,-1]),P(Ot,"stencilOpSeparate",[wr,Ar,Ar,Ar]),P(Rt,"stencilOpSeparate",[Tr,Ar,Ar,Ar]),L(Ft,3089),P(Bt,"scissor",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),P(jt,jt,[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var D={gl:t,context:m,strings:r,next:A,current:k,draw:d,elements:s,buffer:a,shader:p,attributes:f.state,vao:f,uniforms:u,framebuffer:c,extensions:n,timer:g,isBufferArgs:Ir},O={primTypes:F,compareFuncs:Sr,blendFuncs:Mr,blendEquations:_,stencilOps:Er,glTypes:S,orientationType:Cr};w&&(O.backBuffer=[Tr],O.drawBuffer=h(i.maxDrawbuffers,(function(e){return 0===e?[0]:h(e,(function(e){return 36064+e}))})));var R=0;function B(){var t=function(t){var r=t&&t.cache,n=0,i=[],a=[],o=[];function s(){var t=[],r=[];return e((function(){t.push.apply(t,ut(arguments))}),{def:function(){var e="v"+n++;return r.push(e),arguments.length>0&&(t.push(e,"="),t.push.apply(t,ut(arguments)),t.push(";")),e},toString:function(){return ht([r.length>0?"var "+r.join(",")+";":"",ht(t)])}})}function l(){var t=s(),r=s(),n=t.toString,i=r.toString;function a(e,n){r(e,n,"=",t.def(e,n),";")}return e((function(){t.apply(t,ut(arguments))}),{def:t.def,entry:t,exit:r,save:a,set:function(e,r,n){a(e,r),t(e,r,"=",n,";")},toString:function(){return n()+i()}})}var c=s(),u={};return{global:c,link:function(e,t){var r=t&&t.stable;if(!r)for(var s=0;s"u"?"Date.now()":"performance.now()"}function d(e){e(a=t.def(),"=",p(),";"),"string"==typeof i?e(c,".count+=",i,";"):e(c,".count++;"),g&&(n?e(o=t.def(),"=",h,".getNumPendingQueries();"):e(h,".beginQuery(",c,");"))}function m(e){e(c,".cpuTime+=",p(),"-",a,";"),g&&(n?e(h,".pushScopeStats(",o,",",h,".getNumPendingQueries(),",c,");"):e(h,".endQuery();"))}function y(e){var r=t.def(u,".profile");t(u,".profile=",e,";"),t.exit(u,".profile=",r,";")}if(f){if(zr(f))return void(f.enable?(d(t),m(t.exit),y("true")):y("false"));y(s=f.append(e,t))}else s=t.def(u,".profile");var v=e.block();d(v),t("if(",s,"){",v,"}");var x=e.block();m(x),t.exit("if(",s,"){",x,"}")}function W(e,t,r,n,i){var a=e.shared;n.forEach((function(n){var o,s=n.name,l=r.attributes[s];if(l){if(!i(l))return;o=l.append(e,t)}else{if(!i(Rr))return;var c=e.scopeAttrib(s);o={},Object.keys(new x).forEach((function(e){o[e]=t.def(c,".",e)}))}!function(r,n,i){var o=a.gl,s=t.def(r,".location"),l=t.def(a.attributes,"[",s,"]"),c=i.state,u=i.buffer,h=[i.x,i.y,i.z,i.w],f=["buffer","normalized","offset","stride"];function p(){t("if(!",l,".buffer){",o,".enableVertexAttribArray(",s,");}");var r,a=i.type;if(r=i.size?t.def(i.size,"||",n):n,t("if(",l,".type!==",a,"||",l,".size!==",r,"||",f.map((function(e){return l+"."+e+"!=="+i[e]})).join("||"),"){",o,".bindBuffer(",or,",",u,".buffer);",o,".vertexAttribPointer(",[s,r,a,i.normalized,i.stride,i.offset],");",l,".type=",a,";",l,".size=",r,";",f.map((function(e){return l+"."+e+"="+i[e]+";"})).join(""),"}"),b){var c=i.divisor;t("if(",l,".divisor!==",c,"){",e.instancing,".vertexAttribDivisorANGLE(",[s,c],");",l,".divisor=",c,";}")}}function d(){t("if(",l,".buffer){",o,".disableVertexAttribArray(",s,");",l,".buffer=null;","}if(",ft.map((function(e,t){return l+"."+e+"!=="+h[t]})).join("||"),"){",o,".vertexAttrib4f(",s,",",h,");",ft.map((function(e,t){return l+"."+e+"="+h[t]+";"})).join(""),"}")}1===c?p():2===c?d():(t("if(",c,"===",1,"){"),p(),t("}else{"),d(),t("}"))}(e.link(n),function(e){switch(e){case lr:case hr:case dr:return 2;case cr:case fr:case mr:return 3;case ur:case pr:case gr:return 4;default:return 1}}(n.info.type),o)}))}function Z(e,t,n,i,a,o){for(var s,l=e.shared,c=l.gl,u=0;u1){for(var M=[],S=[],E=0;E>1)",p],");")}function t(){r(d,".drawArraysInstancedANGLE(",[m,g,y,p],");")}h&&"null"!==h?x?e():(r("if(",h,"){"),e(),r("}else{"),t(),r("}")):t()}function w(){function e(){r(l+".drawElements("+[m,y,v,g+"<<(("+v+"-5121)>>1)"]+");")}function t(){r(l+".drawArrays("+[m,g,y]+");")}h&&"null"!==h?x?e():(r("if(",h,"){"),e(),r("}else{"),t(),r("}")):t()}b&&("number"!=typeof p||p>=0)?"string"==typeof p?(r("if(",p,">0){"),_(),r("}else if(",p,"<0){"),w(),r("}")):_():w()}function X(e,t,r,n,i){var a=B(),o=a.proc("body",i);return b&&(a.instancing=o.def(a.shared.extensions,".angle_instanced_arrays")),e(a,o,r,n),a.compile().body}function $(e,t,r,n){q(e,t),r.useVAO?r.drawVAO?t(e.shared.vao,".setVAO(",r.drawVAO.append(e,t),");"):t(e.shared.vao,".setVAO(",e.shared.vao,".targetVAO);"):(t(e.shared.vao,".setVAO(null);"),W(e,t,r,n.attributes,(function(){return!0}))),Z(e,t,r,n.uniforms,(function(){return!0}),!1),Y(e,t,t,r)}function K(e,t,r,n){function i(){return!0}e.batchId="a1",q(e,t),W(e,t,r,n.attributes,i),Z(e,t,r,n.uniforms,i,!1),Y(e,t,t,r)}function J(e,t,r,n){q(e,t);var i=r.contextDep,a=t.def(),o=t.def();e.shared.props=o,e.batchId=a;var s=e.scope(),l=e.scope();function c(e){return e.contextDep&&i||e.propDep}function u(e){return!c(e)}if(t(s.entry,"for(",a,"=0;",a,"<","a1",";++",a,"){",o,"=","a0","[",a,"];",l,"}",s.exit),r.needsContext&&j(e,l,r.context),r.needsFramebuffer&&N(e,l,r.framebuffer),V(e,l,r.state,c),r.profile&&c(r.profile)&&H(e,l,r,!1,!0),n)r.useVAO?r.drawVAO?c(r.drawVAO)?l(e.shared.vao,".setVAO(",r.drawVAO.append(e,l),");"):s(e.shared.vao,".setVAO(",r.drawVAO.append(e,s),");"):s(e.shared.vao,".setVAO(",e.shared.vao,".targetVAO);"):(s(e.shared.vao,".setVAO(null);"),W(e,s,r,n.attributes,u),W(e,l,r,n.attributes,c)),Z(e,s,r,n.uniforms,u,!1),Z(e,l,r,n.uniforms,c,!0),Y(e,s,l,r);else{var h=e.global.def("{}"),f=r.shader.progVar.append(e,l),p=l.def(f,".id"),d=l.def(h,"[",p,"]");l(e.shared.gl,".useProgram(",f,".program);","if(!",d,"){",d,"=",h,"[",p,"]=",e.link((function(e){return X(K,0,r,e,2)})),"(",f,");}",d,".call(this,a0[",a,"],",a,");")}}function Q(e,t,r){var n=t.static[r];if(n&&function(e){if("object"==typeof e&&!G(e)){for(var t=Object.keys(e),r=0;r0)return null;var n=t.static,i=Object.keys(n);if(i.length>0&&"number"==typeof n[i[0]]){for(var a=[],o=0;o0,w={framebuffer:u,draw:m,shader:y,state:g,dirty:b,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(w.profile=function(e){var t,r=e.static,n=e.dynamic;if(Nt in r){var i=!!r[Nt];(t=Dr((function(e,t){return i}))).enable=i}else if(Nt in n){var a=n[Nt];t=Or(a,(function(e,t){return e.invoke(t,a)}))}return t}(e),w.uniforms=function(e){var t=e.static,r=e.dynamic,n={};return Object.keys(t).forEach((function(e){var r,i=t[e];if("number"==typeof i||"boolean"==typeof i)r=Dr((function(){return i}));else if("function"==typeof i){var a=i._reglType;"texture2d"===a||"textureCube"===a?r=Dr((function(e){return e.link(i)})):("framebuffer"===a||"framebufferCube"===a)&&(r=Dr((function(e){return e.link(i.color[0])})))}else G(i)&&(r=Dr((function(e){return e.global.def("[",h(i.length,(function(e){return i[e]})),"]")})));r.value=i,n[e]=r})),Object.keys(r).forEach((function(e){var t=r[e];n[e]=Or(t,(function(e,r){return e.invoke(r,t)}))})),n}(i),w.drawVAO=w.scopeVAO=m.vao,!w.drawVAO&&y.program&&!l&&n.angle_instanced_arrays&&m.static.elements){var T=!0,k=y.program.attributes.map((function(e){var r=t.static[e];return T=T&&!!r,r}));if(T&&k.length>0){var A=f.getVAO(f.createVAO({attributes:k,elements:m.static.elements}));w.drawVAO=new Pr(null,null,null,(function(e,t){return e.link(A)})),w.useVAO=!0}}return l?w.useVAO=!0:w.attributes=function(e){var t=e.static,n=e.dynamic,i={};return Object.keys(t).forEach((function(e){var n=t[e],o=r.id(e),s=new x;if(Ir(n))s.state=1,s.buffer=a.getBuffer(a.create(n,or,!1,!0)),s.type=0;else{var l=a.getBuffer(n);if(l)s.state=1,s.buffer=l,s.type=0;else if("constant"in n){var c=n.constant;s.buffer="null",s.state=2,"number"==typeof c?s.x=c:ft.forEach((function(e,t){t"+t+"?"+n+".constant["+t+"]:0;"})).join(""),"}}else{","if(",o,"(",n,".buffer)){",u,"=",s,".createStream(",or,",",n,".buffer);","}else{",u,"=",s,".getBuffer(",n,".buffer);","}",h,'="type" in ',n,"?",a.glTypes,"[",n,".type]:",u,".dtype;",l.normalized,"=!!",n,".normalized;"),f("size"),f("offset"),f("stride"),f("divisor"),r("}}"),r.exit("if(",l.isStream,"){",s,".destroyStream(",u,");","}"),l}))})),i}(t),w.context=function(e){var t=e.static,r=e.dynamic,n={};return Object.keys(t).forEach((function(e){var r=t[e];n[e]=Dr((function(e,t){return"number"==typeof r||"boolean"==typeof r?""+r:e.link(r)}))})),Object.keys(r).forEach((function(e){var t=r[e];n[e]=Or(t,(function(e,r){return e.invoke(r,t)}))})),n}(o),w}(t,i,o,l);return m.shader.program&&(m.shader.program.attributes.sort((function(e,t){return e.name0&&r(e.shared.current,".dirty=true;"),e.shared.vao&&r(e.shared.vao,".setVAO(null);")}(d,m),function(e,t){var n=e.proc("scope",3);e.batchId="a2";var i=e.shared,a=i.current;if(j(e,n,t.context),t.framebuffer&&t.framebuffer.append(e,n),Lr(Object.keys(t.state)).forEach((function(r){var a=t.state[r],o=a.append(e,n);G(o)?o.forEach((function(t,i){z(t)?n.set(e.next[r],"["+i+"]",t):n.set(e.next[r],"["+i+"]",e.link(t,{stable:!0}))})):zr(a)?n.set(i.next,"."+r,e.link(o,{stable:!0})):n.set(i.next,"."+r,o)})),H(e,n,t,!0,!0),[Ht,Zt,Wt,Yt,Gt].forEach((function(r){var a=t.draw[r];if(a){var o=a.append(e,n);z(o)?n.set(i.draw,"."+r,o):n.set(i.draw,"."+r,e.link(o),{stable:!0})}})),Object.keys(t.uniforms).forEach((function(a){var o=t.uniforms[a].append(e,n);Array.isArray(o)&&(o="["+o.map((function(t){return z(t)?t:e.link(t,{stable:!0})}))+"]"),n.set(i.uniforms,"["+e.link(r.id(a),{stable:!0})+"]",o)})),Object.keys(t.attributes).forEach((function(r){var i=t.attributes[r].append(e,n),a=e.scopeAttrib(r);Object.keys(new x).forEach((function(e){n.set(a,"."+e,i[e])}))})),t.scopeVAO){var o=t.scopeVAO.append(e,n);z(o)?n.set(i.vao,".targetVAO",o):n.set(i.vao,".targetVAO",e.link(o,{stable:!0}))}function s(r){var a=t.shader[r];if(a){var o=a.append(e,n);z(o)?n.set(i.shader,"."+r,o):n.set(i.shader,"."+r,e.link(o,{stable:!0}))}}s(Vt),s(qt),Object.keys(t.state).length>0&&(n(a,".dirty=true;"),n.exit(a,".dirty=true;")),n("a1(",e.shared.context,",a0,",e.batchId,");")}(d,m),function(e,t){var r=e.proc("batch",2);e.batchId="0",q(e,r);var n=!1,i=!0;Object.keys(t.context).forEach((function(e){n=n||t.context[e].propDep})),n||(j(e,r,t.context),i=!1);var a=t.framebuffer,o=!1;function s(e){return e.contextDep&&n||e.propDep}a?(a.propDep?n=o=!0:a.contextDep&&n&&(o=!0),o||N(e,r,a)):N(e,r,null),t.state.viewport&&t.state.viewport.propDep&&(n=!0),U(e,r,t),V(e,r,t.state,(function(e){return!s(e)})),(!t.profile||!s(t.profile))&&H(e,r,t,!1,"a1"),t.contextDep=n,t.needsContext=i,t.needsFramebuffer=o;var l=t.shader.progVar;if(l.contextDep&&n||l.propDep)J(e,r,t,null);else{var c=l.append(e,r);if(r(e.shared.gl,".useProgram(",c,".program);"),t.shader.program)J(e,r,t,t.shader.program);else{r(e.shared.vao,".setVAO(null);");var u=e.global.def("{}"),h=r.def(c,".id"),f=r.def(u,"[",h,"]");r(e.cond(f).then(f,".call(this,a0,a1);").else(f,"=",u,"[",h,"]=",e.link((function(e){return X(J,0,t,e,2)})),"(",c,");",f,".call(this,a0,a1);"))}}Object.keys(t.state).length>0&&r(e.shared.current,".dirty=true;"),e.shared.vao&&r(e.shared.vao,".setVAO(null);")}(d,m),e(d.compile(),{destroy:function(){m.shader.program.destroy()}})}}}var Br="webglcontextlost",jr="webglcontextrestored";function Nr(e,t){for(var r=0;r"u"?1:window.devicePixelRatio,p=!1,d={},m=function(e){},g=function(){};if("string"==typeof o?r=document.querySelector(o):"object"==typeof o&&(function(e){return"string"==typeof e.nodeName&&"function"==typeof e.appendChild&&"function"==typeof e.getBoundingClientRect}(o)?r=o:function(e){return"function"==typeof e.drawArrays||"function"==typeof e.drawElements}(o)?i=(a=o).canvas:("gl"in o?a=o.gl:"canvas"in o?i=u(o.canvas):"container"in o&&(n=u(o.container)),"attributes"in o&&(s=o.attributes),"extensions"in o&&(l=c(o.extensions)),"optionalExtensions"in o&&(h=c(o.optionalExtensions)),"onDone"in o&&(m=o.onDone),"profile"in o&&(p=!!o.profile),"pixelRatio"in o&&(f=+o.pixelRatio),"cachedCode"in o&&(d=o.cachedCode))),r&&("canvas"===r.nodeName.toLowerCase()?i=r:n=r),!a){if(!i){var y=function(t,r,n){var i,a=document.createElement("canvas");function o(){var e=window.innerWidth,r=window.innerHeight;if(t!==document.body){var i=a.getBoundingClientRect();e=i.right-i.left,r=i.bottom-i.top}a.width=n*e,a.height=n*r}return e(a.style,{border:0,margin:0,padding:0,top:0,left:0,width:"100%",height:"100%"}),t.appendChild(a),t===document.body&&(a.style.position="absolute",e(t.style,{margin:0,padding:0})),t!==document.body&&"function"==typeof ResizeObserver?(i=new ResizeObserver((function(){setTimeout(o)}))).observe(t):window.addEventListener("resize",o,!1),o(),{canvas:a,onDestroy:function(){i?i.disconnect():window.removeEventListener("resize",o),t.removeChild(a)}}}(n||document.body,0,f);if(!y)return null;i=y.canvas,g=y.onDestroy}void 0===s.premultipliedAlpha&&(s.premultipliedAlpha=!0),a=function(e,t){function r(r){try{return e.getContext(r,t)}catch{return null}}return r("webgl")||r("experimental-webgl")||r("webgl-experimental")}(i,s)}return a?{gl:a,canvas:i,container:n,extensions:l,optionalExtensions:h,pixelRatio:f,profile:p,cachedCode:d,onDone:m,onDestroy:g}:(g(),m("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}(t);if(!r)return null;var n=r.gl,i=n.getContextAttributes(),a=(n.isContextLost(),function(e,t){var r={};function n(t){var n,i=t.toLowerCase();try{n=r[i]=e.getExtension(i)}catch{}return!!n}for(var i=0;i0)if(Array.isArray(t[0])){o=I(t);for(var c=1,u=1;u0)if("number"==typeof e[0]){var i=d.allocType(h.dtype,e.length);O(i,e),p(i,n),d.freeType(i)}else if(Array.isArray(e[0])||x(e[0])){r=I(e);var a=C(e,r,h.dtype);p(a,n),d.freeType(a)}}else if(_(e)){r=e.shape;var o=e.stride,s=0,l=0,c=0,u=0;1===r.length?(s=r[0],l=1,c=o[0],u=0):2===r.length&&(s=r[0],l=r[1],c=o[0],u=o[1]);var m=Array.isArray(e.data)?h.dtype:D(e.data),g=d.allocType(m,s*l);R(g,e.data,s,l,c,u,e.offset),p(g,n),d.freeType(g)}return f},r.profile&&(f.stats=h.stats),f.destroy=function(){c(h)},f},createStream:function(e,t){var r=o.pop();return r||(r=new a(e)),r.bind(),l(r,t,35040,0,1,!1),r},destroyStream:function(e){o.push(e)},clear:function(){b(i).forEach(c),o.forEach(c)},getBuffer:function(e){return e&&e._buffer instanceof a?e._buffer:null},restore:function(){b(i).forEach((function(t){t.buffer=e.createBuffer(),e.bindBuffer(t.type,t.buffer),e.bufferData(t.type,t.persistentData||t.byteLength,t.usage)}))},_initBuffer:l}}(n,f,r),Ie=function(e,t,r,n){var i={},a=0,o={uint8:B,uint16:j};function s(e){this.id=a++,i[this.id]=this,this.buffer=e,this.primType=4,this.vertCount=0,this.type=0}t.oes_element_index_uint&&(o.uint32=N),s.prototype.bind=function(){this.buffer.bind()};var l=[];function c(n,i,a,o,s,l,c){var u;if(n.buffer.bind(),i){var h=c;!c&&(!x(i)||_(i)&&!x(i.data))&&(h=t.oes_element_index_uint?N:j),r._initBuffer(n.buffer,i,a,h,3)}else e.bufferData(U,l,a),n.buffer.dtype=u||B,n.buffer.usage=a,n.buffer.dimension=3,n.buffer.byteLength=l;if(u=c,!c){switch(n.buffer.dtype){case B:case 5120:u=B;break;case j:case 5122:u=j;break;case N:case 5124:u=N}n.buffer.dtype=u}n.type=u;var f=s;f<0&&(f=n.buffer.byteLength,u===j?f>>=1:u===N&&(f>>=2)),n.vertCount=f;var p=o;if(o<0){p=4;var d=n.buffer.dimension;1===d&&(p=0),2===d&&(p=1),3===d&&(p=4)}n.primType=p}function u(e){n.elementsCount--,delete i[e.id],e.buffer.destroy(),e.buffer=null}return{create:function(e,t){var i=r.create(null,U,!0),a=new s(i._buffer);function l(e){if(e)if("number"==typeof e)i(e),a.primType=4,a.vertCount=0|e,a.type=B;else{var t=null,r=35044,n=-1,s=-1,u=0,h=0;Array.isArray(e)||x(e)||_(e)?t=e:("data"in e&&(t=e.data),"usage"in e&&(r=E[e.usage]),"primitive"in e&&(n=F[e.primitive]),"count"in e&&(s=0|e.count),"type"in e&&(h=o[e.type]),"length"in e?u=0|e.length:(u=s,h===j||5122===h?u*=2:(h===N||5124===h)&&(u*=4))),c(a,t,r,n,s,u,h)}else i(),a.primType=4,a.vertCount=0,a.type=B;return l}return n.elementsCount++,l(e),l._reglType="elements",l._elements=a,l.subdata=function(e,t){return i.subdata(e,t),l},l.destroy=function(){u(a)},l},createStream:function(e){var t=l.pop();return t||(t=new s(r.create(null,U,!0,!1)._buffer)),c(t,e,35040,-1,-1,0,0),t},destroyStream:function(e){l.push(e)},getElements:function(e){return"function"==typeof e&&e._elements instanceof s?e._elements:null},clear:function(){b(i).forEach(u)}}}(n,k,Ce,f),Le=function(e,t,r,n,i,a,o){for(var s=r.maxAttributes,l=new Array(s),c=0;c=p.byteLength?u.subdata(p):(u.destroy(),t.buffers[c]=null)),t.buffers[c]||(u=t.buffers[c]=i.create(h,34962,!1,!0)),f.buffer=i.getBuffer(u),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1,s[c]=1):i.getBuffer(h)?(f.buffer=i.getBuffer(h),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1):i.getBuffer(h.buffer)?(f.buffer=i.getBuffer(h.buffer),f.size=0|(+h.size||f.buffer.dimension),f.normalized=!!h.normalized||!1,f.type="type"in h?S[h.type]:f.buffer.dtype,f.offset=0|(h.offset||0),f.stride=0|(h.stride||0),f.divisor=0|(h.divisor||0),f.state=1):"x"in h&&(f.x=+h.x||0,f.y=+h.y||0,f.z=+h.z||0,f.w=+h.w||0,f.state=2)}for(var d=0;d1)for(var y=0;ye&&(e=t.stats.uniformsCount)})),e},n.getMaxAttributesCount=function(){var e=0;return h.forEach((function(t){t.stats.attributesCount>e&&(e=t.stats.attributesCount)})),e}),{clear:function(){var e=t.deleteShader.bind(t);b(a).forEach(e),a={},b(o).forEach(e),o={},h.forEach((function(e){t.deleteProgram(e.program)})),h.length=0,u={},n.shaderCount=0},program:function(r,i,s,l){var c=u[i];c||(c=u[i]={});var f=c[r];if(f&&(f.refCount++,!l))return f;var m=new p(i,r);return n.shaderCount++,d(m,0,l),f||(c[r]=m),h.push(m),e(m,{destroy:function(){if(m.refCount--,m.refCount<=0){t.deleteProgram(m.program);var e=h.indexOf(m);h.splice(e,1),n.shaderCount--}c[m.vertId].refCount<=0&&(t.deleteShader(o[m.vertId]),delete o[m.vertId],delete u[m.fragId][m.vertId]),Object.keys(u[m.fragId]).length||(t.deleteShader(a[m.fragId]),delete a[m.fragId],delete u[m.fragId])}})},restore:function(){a={},o={};for(var e=0;e=0&&(m[e]=t)}));var v=Object.keys(m);n.textureFormats=v;var k=[];Object.keys(m).forEach((function(e){var t=m[e];k[t]=e}));var A=[];Object.keys(p).forEach((function(e){var t=p[e];A[t]=e}));var M=[];Object.keys(u).forEach((function(e){M[u[e]]=e}));var S=[];Object.keys(h).forEach((function(e){var t=h[e];S[t]=e}));var E=[];Object.keys(c).forEach((function(e){E[c[e]]=e}));var C=v.reduce((function(e,t){var n=m[t];return n===J||n===$||n===J||n===Q||n===te||n===re||r.ext_srgb&&(n===ne||n===ie)?e[n]=n:n===ee||t.indexOf("rgba")>=0?e[n]=X:e[n]=K,e}),{});function I(){this.internalformat=X,this.format=X,this.type=ce,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=37444,this.width=0,this.height=0,this.channels=0}function L(e,t){e.internalformat=t.internalformat,e.format=t.format,e.type=t.type,e.compressed=t.compressed,e.premultiplyAlpha=t.premultiplyAlpha,e.flipY=t.flipY,e.unpackAlignment=t.unpackAlignment,e.colorSpace=t.colorSpace,e.width=t.width,e.height=t.height,e.channels=t.channels}function P(e,t){if("object"==typeof t&&t){if("premultiplyAlpha"in t&&(e.premultiplyAlpha=t.premultiplyAlpha),"flipY"in t&&(e.flipY=t.flipY),"alignment"in t&&(e.unpackAlignment=t.alignment),"colorSpace"in t&&(e.colorSpace=f[t.colorSpace]),"type"in t){var r=t.type;e.type=p[r]}var n=e.width,i=e.height,a=e.channels,o=!1;"shape"in t?(n=t.shape[0],i=t.shape[1],3===t.shape.length&&(a=t.shape[2],o=!0)):("radius"in t&&(n=i=t.radius),"width"in t&&(n=t.width),"height"in t&&(i=t.height),"channels"in t&&(a=t.channels,o=!0)),e.width=0|n,e.height=0|i,e.channels=0|a;var s=!1;if("format"in t){var l=t.format,c=e.internalformat=m[l];e.format=C[c],l in p&&("type"in t||(e.type=p[l])),l in g&&(e.compressed=!0),s=!0}!o&&s?e.channels=be[e.format]:o&&!s&&e.channels!==_e[e.format]&&(e.format=e.internalformat=_e[e.channels])}}function z(e){t.pixelStorei(37440,e.flipY),t.pixelStorei(37441,e.premultiplyAlpha),t.pixelStorei(37443,e.colorSpace),t.pixelStorei(3317,e.unpackAlignment)}function D(){I.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function O(e,t){var r=null;if(Fe(t)?r=t:t&&(P(e,t),"x"in t&&(e.xOffset=0|t.x),"y"in t&&(e.yOffset=0|t.y),Fe(t.data)&&(r=t.data)),t.copy){var n=a.viewportWidth,i=a.viewportHeight;e.width=e.width||n-e.xOffset,e.height=e.height||i-e.yOffset,e.needsCopy=!0}else if(r){if(x(r))e.channels=e.channels||4,e.data=r,!("type"in t)&&e.type===ce&&(e.type=Be(r));else if(Pe(r))e.channels=e.channels||4,function(e,t){var r=t.length;switch(e.type){case ce:case ue:case he:case fe:var n=d.allocType(e.type,r);n.set(t),e.data=n;break;case ae:e.data=H(t)}}(e,r),e.alignment=1,e.needsFree=!0;else if(_(r)){var o=r.data;!Array.isArray(o)&&e.type===ce&&(e.type=Be(o));var s,l,c,u,h,f,p=r.shape,m=r.stride;3===p.length?(c=p[2],f=m[2]):(c=1,f=1),s=p[0],l=p[1],u=m[0],h=m[1],e.alignment=1,e.width=s,e.height=l,e.channels=c,e.format=e.internalformat=_e[c],e.needsFree=!0,function(e,t,r,n,i,a){for(var o=e.width,s=e.height,l=e.channels,c=je(e,o*s*l),u=0,h=0;h>=i,r.height>>=i,O(r,n[i]),e.mipmask|=1<=0&&!("faces"in t)&&(e.genMipmaps=!0)}if("mag"in t){var n=t.mag;e.magFilter=u[n]}var i=e.wrapS,a=e.wrapT;if("wrap"in t){var o=t.wrap;"string"==typeof o?i=a=c[o]:Array.isArray(o)&&(i=c[o[0]],a=c[o[1]])}else{if("wrapS"in t){var s=t.wrapS;i=c[s]}if("wrapT"in t){var f=t.wrapT;a=c[f]}}if(e.wrapS=i,e.wrapT=a,"anisotropic"in t&&(t.anisotropic,e.anisotropic=t.anisotropic),"mipmap"in t){var p=!1;switch(typeof t.mipmap){case"string":e.mipmapHint=l[t.mipmap],e.genMipmaps=!0,p=!0;break;case"boolean":p=e.genMipmaps=t.mipmap;break;case"object":e.genMipmaps=!1,p=!0}p&&!("min"in t)&&(e.minFilter=me)}}function Ve(e,n){t.texParameteri(n,10241,e.minFilter),t.texParameteri(n,10240,e.magFilter),t.texParameteri(n,10242,e.wrapS),t.texParameteri(n,10243,e.wrapT),r.ext_texture_filter_anisotropic&&t.texParameteri(n,34046,e.anisotropic),e.genMipmaps&&(t.hint(33170,e.mipmapHint),t.generateMipmap(n))}var qe=0,He={},Ge=n.maxTextureUnits,We=Array(Ge).map((function(){return null}));function Ze(e){I.call(this),this.mipmask=0,this.internalformat=X,this.id=qe++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new Ie,s.profile&&(this.stats={size:0})}function Ye(e){t.activeTexture(ve),t.bindTexture(e.target,e.texture)}function Xe(){var e=We[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(W,null)}function $e(e){var r=e.texture,n=e.unit,i=e.target;n>=0&&(t.activeTexture(ve+n),t.bindTexture(i,null),We[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete He[e.id],o.textureCount--}return e(Ze.prototype,{bind:function(){var e=this;e.bindCount+=1;var r=e.unit;if(r<0){for(var n=0;n0)continue;i.unit=-1}We[n]=e,r=n;break}s.profile&&o.maxTextureUnits>l)-o,c.height=c.height||(n.height>>l)-s,Ye(n),F(c,W,o,s,l),Xe(),N(c),i},i.resize=function(e,r){var a=0|e,o=0|r||a;if(a===n.width&&o===n.height)return i;i.width=n.width=a,i.height=n.height=o,Ye(n);for(var l=0;n.mipmask>>l;++l){var c=a>>l,u=o>>l;if(!c||!u)break;t.texImage2D(W,l,n.format,c,u,0,n.format,n.type,null)}return Xe(),s.profile&&(n.stats.size=Ue(n.internalformat,n.type,a,o,!1,!1)),i},i._reglType="texture2d",i._texture=n,s.profile&&(i.stats=n.stats),i.destroy=function(){n.decRef()},i},createCube:function(e,r,n,i,a,l){var c=new Ze(Z);He[c.id]=c,o.cubeCount++;var u=new Array(6);function h(e,t,r,n,i,a){var o,l=c.texInfo;for(Ie.call(l),o=0;o<6;++o)u[o]=ke();if("number"!=typeof e&&e){if("object"==typeof e)if(t)q(u[0],e),q(u[1],t),q(u[2],r),q(u[3],n),q(u[4],i),q(u[5],a);else if(Le(l,e),P(c,e),"faces"in e){var f=e.faces;for(o=0;o<6;++o)L(u[o],c),q(u[o],f[o])}else for(o=0;o<6;++o)q(u[o],e)}else{var p=0|e||1;for(o=0;o<6;++o)V(u[o],p,p)}for(L(c,u[0]),l.genMipmaps?c.mipmask=(u[0].width<<1)-1:c.mipmask=u[0].mipmask,c.internalformat=u[0].internalformat,h.width=u[0].width,h.height=u[0].height,Ye(c),o=0;o<6;++o)we(u[o],Y+o);for(Ve(l,Z),Xe(),s.profile&&(c.stats.size=Ue(c.internalformat,c.type,h.width,h.height,l.genMipmaps,!0)),h.format=k[c.internalformat],h.type=A[c.type],h.mag=M[l.magFilter],h.min=S[l.minFilter],h.wrapS=E[l.wrapS],h.wrapT=E[l.wrapT],o=0;o<6;++o)Ce(u[o]);return h}return h(e,r,n,i,a,l),h.subimage=function(e,t,r,n,i){var a=0|r,o=0|n,s=0|i,l=j();return L(l,c),l.width=0,l.height=0,O(l,t),l.width=l.width||(c.width>>s)-a,l.height=l.height||(c.height>>s)-o,Ye(c),F(l,Y+e,a,o,s),Xe(),N(l),h},h.resize=function(e){var r=0|e;if(r!==c.width){h.width=c.width=r,h.height=c.height=r,Ye(c);for(var n=0;n<6;++n)for(var i=0;c.mipmask>>i;++i)t.texImage2D(Y+n,i,c.format,r>>i,r>>i,0,c.format,c.type,null);return Xe(),s.profile&&(c.stats.size=Ue(c.internalformat,c.type,h.width,h.height,!1,!0)),h}},h._reglType="textureCube",h._texture=c,s.profile&&(h.stats=c.stats),h.destroy=function(){c.decRef()},h},clear:function(){for(var e=0;e>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;n<6;++n)t.texImage2D(Y+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);Ve(e.texInfo,e.target)}))},refresh:function(){for(var e=0;e=0?f=!0:c.indexOf(d)>=0&&(f=!1))),("depthTexture"in M||"depthStencilTexture"in M)&&(k=!(!M.depthTexture&&!M.depthStencilTexture)),"depth"in M&&("boolean"==typeof M.depth?s=M.depth:(_=M.depth,u=!1)),"stencil"in M&&("boolean"==typeof M.stencil?u=M.stencil:(b=M.stencil,s=!1)),"depthStencil"in M&&("boolean"==typeof M.depthStencil?s=u=M.depthStencil:(w=M.depthStencil,s=!1,u=!1))}else a=o=1;var E=null,C=null,I=null,L=null;if(Array.isArray(h))E=h.map(m);else if(h)E=[m(h)];else for(E=new Array(x),r=0;r0&&(s.depth=r[0].depth,s.stencil=r[0].stencil,s.depthStencil=r[0].depthStencil),r[a]?r[a](s):r[a]=M(s)}return e(n,{width:l,height:l,color:o})}return n(t),e(n,{faces:r,resize:function(e){var t,i=0|e;if(i===n.width)return n;var a=n.color;for(t=0;t=0;--e){var t=ot[e];t&&t(we,null,0)}n.flush(),A&&A.update()}function ft(){!ut&&ot.length>0&&(ut=s.next(ht))}function pt(){ut&&(s.cancel(ht),ut=null)}function dt(e){e.preventDefault(),pt(),st.forEach((function(e){e()}))}function mt(e){n.getError(),a.restore(),He.restore(),Ce.restore(),Qe.restore(),et.restore(),tt.restore(),Le.restore(),A&&A.restore(),rt.procs.refresh(),ft(),lt.forEach((function(e){e()}))}function gt(t){function r(e,t){var r={},n={};return Object.keys(e).forEach((function(i){var a=e[i];if(o.isDynamic(a))n[i]=o.unbox(a,i);else{if(t&&Array.isArray(a))for(var s=0;s0)return h.call(this,function(e){for(;p.length=0},read:nt,destroy:function(){ot.length=0,pt(),at&&(at.removeEventListener(Br,dt),at.removeEventListener(jr,mt)),He.clear(),tt.clear(),et.clear(),Le.clear(),Qe.clear(),Ie.clear(),Ce.clear(),A&&A.clear(),ct.forEach((function(e){e()}))},_gl:n,_refresh:wt,poll:function(){bt(),A&&A.update()},now:Tt,stats:f,getCachedCode:function(){return p},preloadCachedCode:function(e){Object.entries(e).forEach((function(e){p[e[0]]=e[1]}))}});return r.onDone(null,kt),kt}},"object"==typeof e&&typeof t<"u"?t.exports=n():r.createREGL=n()}}),Sx=m({"src/lib/prepare_regl.js"(e,t){var r=fm(),n=Mx();t.exports=function(e,t,i){var a=e._fullLayout,o=!0;return a._glcanvas.each((function(r){if(r.regl)r.regl.preloadCachedCode(i);else if(!r.pick||a._has("parcoords")){try{r.regl=n({canvas:this,attributes:{antialias:!r.pick,preserveDrawingBuffer:!0},pixelRatio:e._context.plotGlPixelRatio||window.devicePixelRatio,extensions:t||[],cachedCode:i||{}})}catch{o=!1}r.regl||(o=!1),o&&this.addEventListener("webglcontextlost",(function(t){e&&e.emit&&e.emit("plotly_webglcontextlost",{event:t,layer:r.key})}),!1)}})),o||r({container:a._glcontainer.node()}),o}}}),Ex=m({"src/traces/scattergl/plot.js"(e,t){var r=Ly(),n=Qv(),i=ex(),a=Ax(),o=ct(),s=Rr().selectMode,l=Sx(),c=Xt(),u=pi(),h=wy().styleTextSelection,f={};function p(e,t,r,n){var i=e._size,a=e.width*n,o=e.height*n,s=i.l*n,l=i.b*n,c=i.r*n,u=i.t*n,h=i.w*n,f=i.h*n;return[s+t.domain[0]*h,l+r.domain[0]*f,a-c-(1-t.domain[1])*h,o-u-(1-r.domain[1])*f]}(t.exports=function(e,t,d){if(d.length){var m,g,y=e._fullLayout,v=t._scene,x=t.xaxis,_=t.yaxis;if(v){if(!l(e,["ANGLE_instanced_arrays","OES_element_index_uint"],f))return void v.init();var b=v.count,w=y._glcanvas.data()[0].regl;if(u(e,t,d),v.dirty){if((v.line2d||v.error2d)&&!(v.scatter2d||v.fill2d||v.glText)&&w.clear({color:!0,depth:!0}),!0===v.error2d&&(v.error2d=i(w)),!0===v.line2d&&(v.line2d=n(w)),!0===v.scatter2d&&(v.scatter2d=r(w)),!0===v.fill2d&&(v.fill2d=n(w)),!0===v.glText)for(v.glText=new Array(b),m=0;mv.glText.length){var T=b-v.glText.length;for(m=0;mr&&(isNaN(t[n])||isNaN(t[n+1]));)n-=2;e.positions=t.slice(r,n+2)}return e})),v.line2d.update(v.lineOptions)),v.error2d){var A=(v.errorXOptions||[]).concat(v.errorYOptions||[]);v.error2d.update(A)}v.scatter2d&&v.scatter2d.update(v.markerOptions),v.fillOrder=o.repeat(null,b),v.fill2d&&(v.fillOptions=v.fillOptions.map((function(e,t){var r=d[t];if(e&&r&&r[0]&&r[0].trace){var n,i,a=r[0],o=a.trace,s=a.t,l=v.lineOptions[t],c=[];o._ownfill&&c.push(t),o._nexttrace&&c.push(t+1),c.length&&(v.fillOrder[t]=c);var u,h,f=[],p=l&&l.positions||s.positions;if("tozeroy"===o.fill){for(u=0;uu&&isNaN(p[h+1]);)h-=2;0!==p[u+1]&&(f=[p[u],0]),f=f.concat(p.slice(u,h+2)),0!==p[h+1]&&(f=f.concat([p[h],0]))}else if("tozerox"===o.fill){for(u=0;uu&&isNaN(p[h]);)h-=2;0!==p[u]&&(f=[0,p[u+1]]),f=f.concat(p.slice(u,h+2)),0!==p[h]&&(f=f.concat([0,p[h+1]]))}else if("toself"===o.fill||"tonext"===o.fill){for(f=[],n=0,e.splitNull=!0,i=0;i-1;for(let[e]of d)if(e){var C=e.trace,I=e.t,L=I.index,P=C._length,z=I.x,D=I.y;if(C.selectedpoints||S||E){if(S||(S=!0),C.selectedpoints){var O=v.selectBatch[L]=o.selIndices2selPoints(C),R={};for(g=0;ga&&l||ih?_.sizeAvg||Math.max(_.size,3):i(t,x),p=0;p2?(n=h[0],a=h[2],i=h[1],o=h[3]):h.length?(n=i=h[0],a=o=h[1]):(n=h.x,i=h.y,a=h.x+h.width,o=h.y+h.height),f.length>2?(s=f[0],c=f[2],l=f[1],u=f[3]):f.length?(s=l=f[0],c=u=f[1]):(s=f.x,l=f.y,c=f.x+f.width,u=f.y+f.height),[s,i,c,o]}function f(e){if("number"==typeof e)return[e,e,e,e];if(2===e.length)return[e[0],e[1],e[0],e[1]];{let t=s(e);return[t.x,t.y,t.x+t.width,t.y+t.height]}}t.exports=c,c.prototype.render=function(...e){return e.length&&this.update(...e),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=a((()=>{this.draw(),this.dirty=!0,this.planned=null}))):(this.draw(),this.dirty=!0,a((()=>{this.dirty=!1}))),this)},c.prototype.update=function(...e){if(!e.length)return;for(let t=0;tt||!c.lower&&e{t[a+r]=n}))}this.scatter.draw(...t)}else this.scatter.draw();return this},c.prototype.destroy=function(){return this.traces.forEach((e=>{e.buffer&&e.buffer.destroy&&e.buffer.destroy()})),this.traces=null,this.passes=null,this.scatter.destroy(),this}}}),Nx=m({"src/traces/splom/plot.js"(e,t){var r=jx(),n=ct(),i=_t(),a=Rr().selectMode;function o(e,t){var o,s,l,c,u,h=e._fullLayout,f=h._size,p=t.trace,d=t.t,m=h._splomScenes[p.uid],g=m.matrixOptions,y=g.cdata,v=h._glcanvas.data()[0].regl,x=h.dragmode;if(0!==y.length){g.lower=p.showupperhalf,g.upper=p.showlowerhalf,g.diagonal=p.diagonal.visible;var _=p._visibleDims,b=y.length,w=m.viewOpts={};for(w.ranges=new Array(b),w.domains=new Array(b),u=0;u<_.length;u++){l=_[u];var T=w.ranges[u]=new Array(4),k=w.domains[u]=new Array(4);(o=i.getFromId(e,p._diag[l][0]))&&(T[0]=o._rl[0],T[2]=o._rl[1],k[0]=o.domain[0],k[2]=o.domain[1]),(s=i.getFromId(e,p._diag[l][1]))&&(T[1]=s._rl[0],T[3]=s._rl[1],k[1]=s.domain[0],k[3]=s.domain[1])}var A=e._context.plotGlPixelRatio,M=f.l*A,S=f.b*A,E=f.w*A,C=f.h*A;w.viewport=[M,S,E+M,C+S],!0===m.matrix&&(m.matrix=r(v));var I=h.clickmode.indexOf("select")>-1,L=!0;if(a(x)||p.selectedpoints||I){var P=p._length;if(p.selectedpoints){m.selectBatch=p.selectedpoints;var z=p.selectedpoints,D={};for(l=0;l=t[r][0]&&e<=t[r][1])return!0;return!1}(r,n))return r;var i=e?-1:1,a=0,o=t.length-1;if(i<0){var s=a;a=o,o=s}for(var l=t[a],u=l,f=a;i*ft){f=n;break}}if(a=u,isNaN(a)&&(a=isNaN(h)||isNaN(f)?isNaN(h)?f:h:t-c[h][1]e[1]+n||t=.9*e[1]+.1*e[0]?"n":t<=.9*e[0]+.1*e[1]?"s":"ns"}(d,t);m&&(o.interval=l[a],o.intervalPix=d,o.region=m)}}if(e.ordinal&&!o.region){var y=e.unitTickvals,v=e.unitToPaddedPx.invert(t);for(n=0;n=x[0]&&v<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function w(e,t){n.event.sourceEvent.stopPropagation();var i=t.height-n.mouse(e)[1]-2*r.verticalPadding,a=t.brush.svgBrush;a.wasDragged=!0,a._dragging=!0,a.grabbingBar?a.newExtent=[i-a.grabPoint,i+a.barLength-a.grabPoint].map(t.unitToPaddedPx.invert):a.newExtent=[a.startExtent,t.unitToPaddedPx.invert(i)].sort(o),t.brush.filterSpecified=!0,a.extent=a.stayingIntervals.concat([a.newExtent]),a.brushCallback(t),x(e.parentNode)}function T(e,t){var i=_(t,t.height-n.mouse(e)[1]-2*r.verticalPadding),a="crosshair";i.clickableOrdinalRange?a="pointer":i.region&&(a=i.region+"-resize"),n.select(document.body).style("cursor",a)}function k(e){e.on("mousemove",(function(e){n.event.preventDefault(),e.parent.inBrushDrag||T(this,e)})).on("mouseleave",(function(e){e.parent.inBrushDrag||y()})).call(n.behavior.drag().on("dragstart",(function(e){!function(e,t){n.event.sourceEvent.stopPropagation();var i=t.height-n.mouse(e)[1]-2*r.verticalPadding,a=t.unitToPaddedPx.invert(i),o=t.brush,s=_(t,i),l=s.interval,c=o.svgBrush;if(c.wasDragged=!1,c.grabbingBar="ns"===s.region,c.grabbingBar){var u=l.map(t.unitToPaddedPx);c.grabPoint=i-u[0]-r.verticalPadding,c.barLength=u[1]-u[0]}c.clickableOrdinalRange=s.clickableOrdinalRange,c.stayingIntervals=t.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(c.stayingIntervals=c.stayingIntervals.filter((function(e){return e[0]!==l[0]&&e[1]!==l[1]}))),c.startExtent=s.region?l["s"===s.region?1:0]:a,t.parent.inBrushDrag=!0,c.brushStartCallback()}(this,e)})).on("drag",(function(e){w(this,e)})).on("dragend",(function(e){!function(e,t){var r=t.brush,i=r.filter,a=r.svgBrush;a._dragging||(T(e,t),w(e,t),t.brush.svgBrush.wasDragged=!1),a._dragging=!1,n.event.sourceEvent.stopPropagation();var o=a.grabbingBar;if(a.grabbingBar=!1,a.grabLocation=void 0,t.parent.inBrushDrag=!1,y(),!a.wasDragged)return a.wasDragged=void 0,a.clickableOrdinalRange?r.filterSpecified&&t.multiselect?a.extent.push(a.clickableOrdinalRange):(a.extent=[a.clickableOrdinalRange],r.filterSpecified=!0):o?(a.extent=a.stayingIntervals,0===a.extent.length&&M(r)):M(r),a.brushCallback(t),x(e.parentNode),void a.brushEndCallback(r.filterSpecified?i.getConsolidated():[]);var s=function(){i.set(i.getConsolidated())};if(t.ordinal){var l=t.unitTickvals;l[l.length-1]a.newExtent[0];a.extent=a.stayingIntervals.concat(c?[a.newExtent]:[]),a.extent.length||M(r),a.brushCallback(t),c?x(e.parentNode,s):(s(),x(e.parentNode))}else s();a.brushEndCallback(r.filterSpecified?i.getConsolidated():[])}(this,e)})))}function A(e,t){return e[0]-t[0]}function M(e){e.filterSpecified=!1,e.svgBrush.extent=[[-1/0,1/0]]}function S(e){return function(t){var r=t.brush,n=function(e){return e.svgBrush.extent.map((function(e){return e.slice()}))}(r),i=n.slice();r.filter.set(i),e()}}function E(e){for(var t,r=e.slice(),n=[],i=r.shift();i;){for(t=i.slice();(i=r.shift())&&i[0]<=t[1];)t[1]=Math.max(t[1],i[1]);n.push(t)}return 1===n.length&&n[0][0]>n[0][1]&&(n=[]),n}t.exports={makeBrush:function(e,t,r,n,i,a){var s=function(){var e,t,r=[];return{set:function(n){1===(r=n.map((function(e){return e.slice().sort(o)})).sort(A)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),e=E(r),t=r.reduce((function(e,t){return[Math.min(e[0],t[0]),Math.max(e[1],t[1])]}),[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return e},getBounds:function(){return t}}}();return s.set(r),{filter:s,filterSpecified:t,svgBrush:{extent:[],brushStartCallback:n,brushCallback:S(i),brushEndCallback:a}}},ensureAxisBrush:function(e,t,n){var o=e.selectAll("."+r.cn.axisBrush).data(a,i);o.enter().append("g").classed(r.cn.axisBrush,!0),function(e,t,n){var i=n._context.staticPlot,o=e.selectAll(".background").data(a);o.enter().append("rect").classed("background",!0).call(p).call(d).style("pointer-events",i?"none":"auto").attr("transform",s(0,r.verticalPadding)),o.call(k).attr("height",(function(e){return e.height-r.verticalPadding}));var l=e.selectAll(".highlight-shadow").data(a);l.enter().append("line").classed("highlight-shadow",!0).attr("x",-r.bar.width/2).attr("stroke-width",r.bar.width+r.bar.strokeWidth).attr("stroke",t).attr("opacity",r.bar.strokeOpacity).attr("stroke-linecap","butt"),l.attr("y1",(function(e){return e.height})).call(v);var c=e.selectAll(".highlight").data(a);c.enter().append("line").classed("highlight",!0).attr("x",-r.bar.width/2).attr("stroke-width",r.bar.width-r.bar.strokeWidth).attr("stroke",r.bar.fillColor).attr("opacity",r.bar.fillOpacity).attr("stroke-linecap","butt"),c.attr("y1",(function(e){return e.height})).call(v)}(o,t,n)},cleanRanges:function(e,t){if(Array.isArray(e[0])?(e=e.map((function(e){return e.sort(o)})),e=t.multiselect?E(e.sort(A)):[e[0]]):e=[e.sort(o)],t.tickvals){var r=t.tickvals.slice().sort(o);if(!(e=e.map((function(e){var t=[f(0,r,e[0],[]),f(1,r,e[1],[])];if(t[1]>t[0])return t})).filter((function(e){return e}))).length)return}return e.length>1?e:e[0]}}}}),Qx=m({"src/traces/parcoords/defaults.js"(e,t){var r=ct(),n=Ct().hasColorscale,i=Ht(),a=Ma().defaults,o=Nt(),s=ar(),l=Xx(),c=Jx(),u=$x().maxDimensionCount,h=Px();function f(e,t,n,i){function a(n,i){return r.coerce(e,t,l.dimensions,n,i)}var o=a("values"),u=a("visible");if(o&&o.length||(u=t.visible=!1),u){a("label"),a("tickvals"),a("ticktext"),a("tickformat");var h=a("range");t._ax={_id:"y",type:"linear",showexponent:"all",exponentformat:"B",range:h},s.setConvert(t._ax,i.layout),a("multiselect");var f=a("constraintrange");f&&(t.constraintrange=c.cleanRanges(f,t))}}t.exports=function(e,t,s,c){function p(n,i){return r.coerce(e,t,l,n,i)}var d=e.dimensions;Array.isArray(d)&&d.length>u&&(r.log("parcoords traces support up to "+u+" dimensions at the moment"),d.splice(u));var m=o(e,t,{name:"dimensions",layout:c,handleItemDefaults:f}),g=function(e,t,a,o,s){var l=s("line.color",a);if(n(e,"line")&&r.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),i(e,t,o,s,{prefix:"line.",cLetter:"c"}),l.length;t.line.color=a}return 1/0}(e,t,s,c,p);a(t,c,p),(!Array.isArray(m)||!m.length)&&(t.visible=!1),h(t,m,"values",g);var y=r.extendFlat({},c.font,{size:Math.round(c.font.size/1.2)});r.coerceFont(p,"labelfont",y),r.coerceFont(p,"tickfont",y,{autoShadowDflt:!0}),r.coerceFont(p,"rangefont",y),p("labelangle"),p("labelside"),p("unselected.line.color"),p("unselected.line.opacity")}}}),e_=m({"src/traces/parcoords/calc.js"(e,t){var r=ct().isArrayOrTypedArray,n=Yt(),i=Kx().wrap;t.exports=function(e,t){var a,o;return n.hasColorscale(t,"line")&&r(t.line.color)?(a=t.line.color,o=n.extractOpts(t.line).colorscale,n.calc(e,t,{vals:a,containerStr:"line",cLetter:"c"})):(a=function(e){for(var t=new Array(e),r=0;r>>16,(65280&e)>>>8,255&e],alpha:1};if("number"==typeof e)return{space:"rgb",values:[e>>>16,(65280&e)>>>8,255&e],alpha:1};if(e=String(e).toLowerCase(),r_.default[e])a=r_.default[e].slice(),i="rgb";else if("transparent"===e)o=0,i="rgb",a=[0,0,0];else if("#"===e[0]){var s=e.slice(1),l=s.length;o=1,l<=4?(a=[parseInt(s[0]+s[0],16),parseInt(s[1]+s[1],16),parseInt(s[2]+s[2],16)],4===l&&(o=parseInt(s[3]+s[3],16)/255)):(a=[parseInt(s[0]+s[1],16),parseInt(s[2]+s[3],16),parseInt(s[4]+s[5],16)],8===l&&(o=parseInt(s[6]+s[7],16)/255)),a[0]||(a[0]=0),a[1]||(a[1]=0),a[2]||(a[2]=0),i="rgb"}else if(n=/^((?:rgba?|hs[lvb]a?|hwba?|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms|oklch|oklab|color))\s*\(([^\)]*)\)/.exec(e)){var c=n[1],u="cmyk"===(i=c.replace(/a$/,""))?4:"gray"===i?1:3;a=n[2].trim().split(/\s*[,\/]\s*|\s+/),"color"===i&&(i=a.shift()),o=(a=a.map((function(e,t){if("%"===e[e.length-1])return e=parseFloat(e)/100,3===t?e:"rgb"===i?255*e:"h"===i[0]||"l"===i[0]&&!t?100*e:"lab"===i?125*e:"lch"===i?t<2?150*e:360*e:"o"!==i[0]||t?"oklab"===i?.4*e:"oklch"===i?t<2?.4*e:360*e:e:e;if("h"===i[t]||2===t&&"h"===i[i.length-1]){if(void 0!==i_[e])return i_[e];if(e.endsWith("deg"))return parseFloat(e);if(e.endsWith("turn"))return 360*parseFloat(e);if(e.endsWith("grad"))return 360*parseFloat(e)/400;if(e.endsWith("rad"))return 180*parseFloat(e)/Math.PI}return"none"===e?0:parseFloat(e)}))).length>u?a.pop():1}else/[0-9](?:\s|\/|,)/.test(e)&&(a=e.match(/([0-9]+)/g).map((function(e){return parseFloat(e)})),i=(null==(r=null==(t=e.match(/([a-z])/gi))?void 0:t.join(""))?void 0:r.toLowerCase())||"rgb");return{space:i,values:a,alpha:o}}var r_,n_,i_,a_,o_,s_=d({"node_modules/color-parse/index.js"(){var r,n;n=null!=(r=Xd())?e(s(r)):{},r_=y(t(n,"default",{value:r,enumerable:!0}),r),n_=t_,i_={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}}),l_=d({"node_modules/color-space/rgb.js"(){a_={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}}}),c_=d({"node_modules/color-space/hsl.js"(){l_(),o_={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(e){var t,r,n,i,a,o=e[0]/360,s=e[1]/100,l=e[2]/100,c=0;if(0===s)return[a=255*l,a,a];for(t=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];c<3;)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,a=6*n<1?t+6*(r-t)*n:2*n<1?r:3*n<2?t+(r-t)*(2/3-n)*6:t,i[c++]=255*a;return i}},a_.hsl=function(e){var t,r,n=e[0]/255,i=e[1]/255,a=e[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?t=0:n===s?t=(i-a)/l:i===s?t=2+(a-n)/l:a===s&&(t=4+(n-i)/l),(t=Math.min(60*t,360))<0&&(t+=360),r=(o+s)/2,[t,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}}}),u_={};function h_(e){Array.isArray(e)&&e.raw&&(e=String.raw(...arguments)),e instanceof Number&&(e=+e);var t,r=n_(e);if(!r.space)return[];let n="h"===r.space[0]?o_.min:a_.min,i="h"===r.space[0]?o_.max:a_.max;return(t=Array(3))[0]=Math.min(Math.max(r.values[0],n[0]),i[0]),t[1]=Math.min(Math.max(r.values[1],n[1]),i[1]),t[2]=Math.min(Math.max(r.values[2],n[2]),i[2]),"h"===r.space[0]&&(t=o_.rgb(t)),t.push(Math.min(Math.max(r.alpha,0),1)),t}g(u_,{default:()=>h_});var f_=d({"node_modules/color-rgba/index.js"(){s_(),l_(),c_()}}),p_=m({"src/traces/parcoords/helpers.js"(e){var t=ct().isTypedArray;e.convertTypedArray=function(e){return t(e)?Array.prototype.slice.call(e):e},e.isOrdinal=function(e){return!!e.tickvals},e.isVisible=function(e){return e.visible||!("visible"in e)}}}),d_=m({"src/traces/parcoords/lines.js"(e,t){var r=["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"),n=["precision highp float;","","varying vec4 fragColor;","","void main() {"," gl_FragColor = fragColor;","}"].join("\n"),i=$x().maxDimensionCount,a=ct(),o=1e-6,s=2048,l=new Uint8Array(4),c=new Uint8Array(4),u={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function h(e,t,r,n,i){var a=e._gl;a.enable(a.SCISSOR_TEST),a.scissor(t,r,n,i),e.clear({color:[0,0,0,0],depth:1})}function f(e,t,r,n,i,a){var o=a.key;r.drawCompleted||(function(e){e.read({x:0,y:0,width:1,height:1,data:l})}(e),r.drawCompleted=!0),function s(l){var c=Math.min(n,i-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],h(e,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),!r.clearOnly&&(a.count=2*c,a.offset=2*l*n,t(a),l*n+c>>8*t)%256/255}function g(e,t,r){for(var n=new Array(8*t),i=0,a=0;au&&(u=e[n].dim1.canvasX,a=n);0===l&&h(A,0,0,o.canvasWidth,o.canvasHeight);var p=function(e){var t,r,n,i=[[],[]];for(n=0;n<64;n++){var a=!e&&ns._length&&(M=M.slice(0,s._length));var C,L=s.tickvals;function P(e,t){return{val:e,text:C[t]}}function z(e,t){return e.val-t.val}if(i(L)&&L.length){n.isTypedArray(L)&&(L=Array.from(L)),C=s.ticktext,i(C)&&C.length?C.length>L.length?C=C.slice(0,L.length):L.length>C.length&&(L=L.slice(0,C.length)):C=L.map(a(s.tickformat));for(var D=1;D=n||l>=i)return;var c=e.lineLayer.readPixel(s,i-1-l),u=0!==c[3],h=u?c[2]+256*(c[1]+256*c[0]):null,f={x:s,y:l,clientX:t.clientX,clientY:t.clientY,dataIndex:e.model.key,curveNumber:h};h!==C&&(u?a.hover(f):a.unhover&&a.unhover(f),C=h)}})),E.style("opacity",(function(e){return e.pick?0:1})),p.style("background","rgba(255, 255, 255, 0)");var B=p.selectAll("."+x.cn.parcoords).data(S,d);B.exit().remove(),B.enter().append("g").classed(x.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),B.attr("transform",(function(e){return c(e.model.translateX,e.model.translateY)}));var j=B.selectAll("."+x.cn.parcoordsControlView).data(m,d);j.enter().append("g").classed(x.cn.parcoordsControlView,!0),j.attr("transform",(function(e){return c(e.model.pad.l,e.model.pad.t)}));var N=j.selectAll("."+x.cn.yAxis).data((function(e){return e.dimensions}),d);N.enter().append("g").classed(x.cn.yAxis,!0),j.each((function(e){O(N,e,b)})),E.each((function(e){if(e.viewModel){!e.lineLayer||a?e.lineLayer=w(this,e):e.lineLayer.update(e),(e.key||0===e.key)&&(e.viewModel[e.key]=e.lineLayer);var t=!e.context||a;e.lineLayer.render(e.viewModel.panels,t)}})),N.attr("transform",(function(e){return c(e.xScale(e.xIndex),0)})),N.call(r.behavior.drag().origin((function(e){return e})).on("drag",(function(e){var t=e.parent;A.linePickActive(!1),e.x=Math.max(-x.overdrag,Math.min(e.model.width+x.overdrag,r.event.x)),e.canvasX=e.x*e.model.canvasPixelRatio,N.sort((function(e,t){return e.x-t.x})).each((function(t,r){t.xIndex=r,t.x=e===t?t.x:t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio})),O(N,t,b),N.filter((function(t){return 0!==Math.abs(e.xIndex-t.xIndex)})).attr("transform",(function(e){return c(e.xScale(e.xIndex),0)})),r.select(this).attr("transform",c(e.x,0)),N.each((function(r,n,i){i===e.parent.key&&(t.dimensions[n]=r)})),t.contextLayer&&t.contextLayer.render(t.panels,!1,!I(t)),t.focusLayer.render&&t.focusLayer.render(t.panels)})).on("dragend",(function(e){var t=e.parent;e.x=e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio,O(N,t,b),r.select(this).attr("transform",(function(e){return c(e.x,0)})),t.contextLayer&&t.contextLayer.render(t.panels,!1,!I(t)),t.focusLayer&&t.focusLayer.render(t.panels),t.pickLayer&&t.pickLayer.render(t.panels,!0),A.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(t.key,t.dimensions.map((function(e){return e.crossfilterDimensionIndex})))}))),N.exit().remove();var U=N.selectAll("."+x.cn.axisOverlays).data(m,d);U.enter().append("g").classed(x.cn.axisOverlays,!0),U.selectAll("."+x.cn.axis).remove();var V=U.selectAll("."+x.cn.axis).data(m,d);V.enter().append("g").classed(x.cn.axis,!0),V.each((function(e){var t=e.model.height/e.model.tickDistance,n=e.domainScale,i=n.domain();r.select(this).call(r.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(t,e.tickFormat).tickValues(e.ordinal?i:null).tickFormat((function(t){return y.isOrdinal(e)?t:R(e.model.dimensions[e.visibleIndex],t)})).scale(n)),h.font(V.selectAll("text"),e.model.tickFont)})),V.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),V.selectAll("text").style("cursor","default");var q=U.selectAll("."+x.cn.axisHeading).data(m,d);q.enter().append("g").classed(x.cn.axisHeading,!0);var H=q.selectAll("."+x.cn.axisTitle).data(m,d);H.enter().append("text").classed(x.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events",o?"none":"auto"),H.text((function(e){return e.label})).each((function(t){var n=r.select(this);h.font(n,t.model.labelFont),u.convertToTspans(n,e)})).attr("transform",(function(e){var t=D(e.model.labelAngle,e.model.labelSide),r=x.axisTitleOffset;return(t.dir>0?"":c(0,2*r+e.model.height))+l(t.degrees)+c(-r*t.dx,-r*t.dy)})).attr("text-anchor",(function(e){var t=D(e.model.labelAngle,e.model.labelSide);return 2*Math.abs(t.dx)>Math.abs(t.dy)?t.dir*t.dx<0?"start":"end":"middle"}));var G=U.selectAll("."+x.cn.axisExtent).data(m,d);G.enter().append("g").classed(x.cn.axisExtent,!0);var W=G.selectAll("."+x.cn.axisExtentTop).data(m,d);W.enter().append("g").classed(x.cn.axisExtentTop,!0),W.attr("transform",c(0,-x.axisExtentOffset));var Z=W.selectAll("."+x.cn.axisExtentTopText).data(m,d);Z.enter().append("text").classed(x.cn.axisExtentTopText,!0).call(z),Z.text((function(e){return F(e,!0)})).each((function(e){h.font(r.select(this),e.model.rangeFont)}));var Y=G.selectAll("."+x.cn.axisExtentBottom).data(m,d);Y.enter().append("g").classed(x.cn.axisExtentBottom,!0),Y.attr("transform",(function(e){return c(0,e.model.height+x.axisExtentOffset)}));var X=Y.selectAll("."+x.cn.axisExtentBottomText).data(m,d);X.enter().append("text").classed(x.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(z),X.text((function(e){return F(e,!1)})).each((function(e){h.font(r.select(this),e.model.rangeFont)})),_.ensureAxisBrush(U,T,e)}}}),g_=m({"src/traces/parcoords/plot.js"(e,t){var r=m_(),n=Sx(),i=p_().isVisible,a={};function o(e,t,r){var n=t.indexOf(r),i=e.indexOf(n);return-1===i&&(i+=t.length),i}(t.exports=function(e,t){var s=e._fullLayout;if(n(e,[],a)){var l={},c={},u={},h={},f=s._size;t.forEach((function(t,r){var n=t[0].trace;u[r]=n.index;var i=h[r]=n.index;l[r]=e.data[i].dimensions,c[r]=e.data[i].dimensions.slice()})),r(e,t,{width:f.w,height:f.h,margin:{t:f.t,r:f.r,b:f.b,l:f.l}},{filterChanged:function(t,r,n){var i=c[t][r],a=n.map((function(e){return e.slice()})),o="dimensions["+r+"].constraintrange",l=s._tracePreGUI[e._fullData[u[t]]._fullInput.uid];if(void 0===l[o]){var f=i.constraintrange;l[o]=f||null}var p=e._fullData[u[t]].dimensions[r];a.length?(1===a.length&&(a=a[0]),i.constraintrange=a,p.constraintrange=a.slice(),a=[a]):(delete i.constraintrange,delete p.constraintrange,a=null);var d={};d[o]=a,e.emit("plotly_restyle",[d,[h[t]]])},hover:function(t){e.emit("plotly_hover",t)},unhover:function(t){e.emit("plotly_unhover",t)},axesMoved:function(t,r){var n=function(e,t){return function(r,n){return o(e,t,r)-o(e,t,n)}}(r,c[t].filter(i));l[t].sort(n),c[t].filter((function(e){return!i(e)})).sort((function(e){return c[t].indexOf(e)})).forEach((function(e){l[t].splice(l[t].indexOf(e),1),l[t].splice(c[t].indexOf(e),0,e)})),e.emit("plotly_restyle",[{dimensions:[l[t]]},[h[t]]])}})}}).reglPrecompiled=a}}),y_=m({"src/traces/parcoords/base_plot.js"(e){var t=b(),r=Tt().getModuleCalcData,n=g_(),i=Mt();e.name="parcoords",e.plot=function(e){var t=r(e.calcdata,"parcoords")[0];t.length&&n(e,t)},e.clean=function(e,t,r,n){var i=n._has&&n._has("parcoords"),a=t._has&&t._has("parcoords");i&&!a&&(n._paperdiv.selectAll(".parcoords").remove(),n._glimages.selectAll("*").remove())},e.toSVG=function(e){var r=e._fullLayout._glimages,n=t.select(e).selectAll(".svg-container");n.filter((function(e,t){return t===n.size()-1})).selectAll(".gl-canvas-context, .gl-canvas-focus").each((function(){var e=this,t=e.toDataURL("image/png");r.append("svg:image").attr({xmlns:i.svg,"xlink:href":t,preserveAspectRatio:"none",x:0,y:0,width:e.style.width,height:e.style.height})})),window.setTimeout((function(){t.selectAll("#filterBarPattern").attr("id","filterBarPattern")}),60)}}}),v_=m({"src/traces/parcoords/base_index.js"(e,t){t.exports={attributes:Xx(),supplyDefaults:Qx(),calc:e_(),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:y_(),categories:["gl","regl","noOpacity","noHover"],meta:{}}}}),x_=m({"src/traces/parcoords/index.js"(e,t){var r=v_();r.plot=g_(),t.exports=r}}),__=m({"lib/parcoords.js"(e,t){t.exports=x_()}}),b_=m({"src/traces/parcats/attributes.js"(e,t){var r=B().extendFlat,n=q(),i=j(),a=zt(),{hovertemplateAttrs:o,templatefallbackAttrs:s}=Fe(),l=Ma().attributes,c=r({editType:"calc"},a("line",{editTypeOverride:"calc"}),{shape:{valType:"enumerated",values:["linear","hspline"],dflt:"linear",editType:"plot"},hovertemplate:o({editType:"plot",arrayOk:!1},{keys:["count","probability"]}),hovertemplatefallback:s({editType:"plot"})});t.exports={domain:l({name:"parcats",trace:!0,editType:"calc"}),hoverinfo:r({},n.hoverinfo,{flags:["count","probability"],editType:"plot",arrayOk:!1}),hoveron:{valType:"enumerated",values:["category","color","dimension"],dflt:"category",editType:"plot"},hovertemplate:o({editType:"plot",arrayOk:!1},{keys:["count","probability","category","categorycount","colorcount","bandcolorcount"]}),hovertemplatefallback:s({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:i({editType:"calc"}),tickfont:i({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:c,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}}}),w_=m({"src/traces/parcats/defaults.js"(e,t){var r=ct(),n=Ct().hasColorscale,i=Ht(),a=Ma().defaults,o=Nt(),s=b_(),l=Px(),c=I().isTypedArraySpec;function u(e,t){function n(n,i){return r.coerce(e,t,s.dimensions,n,i)}var i=n("values"),a=n("visible");if(i&&i.length||(a=t.visible=!1),a){n("label"),n("displayindex",t._index);var o,l=e.categoryarray,u=r.isArrayOrTypedArray(l)&&l.length>0||c(l);u&&(o="array");var h=n("categoryorder",o);"array"===h?(n("categoryarray"),n("ticktext")):(delete e.categoryarray,delete e.ticktext),!u&&"array"===h&&(t.categoryorder="trace")}}t.exports=function(e,t,c,h){function f(n,i){return r.coerce(e,t,s,n,i)}var p=o(e,t,{name:"dimensions",handleItemDefaults:u}),d=function(e,t,a,o,s){s("line.shape"),s("line.hovertemplate"),s("line.hovertemplatefallback");var l=s("line.color",o.colorway[0]);if(n(e,"line")&&r.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),i(e,t,o,s,{prefix:"line.",cLetter:"c"}),l.length;t.line.color=a}return 1/0}(e,t,c,h,f);a(t,h,f),(!Array.isArray(p)||!p.length)&&(t.visible=!1),l(t,p,"values",d),f("hoveron"),f("hovertemplate"),f("hovertemplatefallback"),f("arrangement"),f("bundlecolors"),f("sortpaths"),f("counts");var m=h.font;r.coerceFont(f,"labelfont",m,{overrideDflt:{size:Math.round(m.size)}}),r.coerceFont(f,"tickfont",m,{autoShadowDflt:!0,overrideDflt:{size:Math.round(m.size/1.2)}})}}}),T_=m({"src/traces/parcats/calc.js"(e,t){var r=Kx().wrap,n=Ct().hasColorscale,i=Zt(),a=at(),o=er(),s=ct(),l=M();function c(e,t,r,n){return{dimensionInd:e,categoryInd:t,categoryValue:r,displayInd:t,categoryLabel:n,valueInds:[],count:0,dragY:null}}function u(e,t,r){e.valueInds.push(t),e.count+=r}function h(e,t,r){return{categoryInds:e,color:t,rawColor:r,valueInds:[],count:0}}function f(e,t,r){e.valueInds.push(t),e.count+=r}t.exports=function(e,t){var p=s.filterVisible(t.dimensions);if(0===p.length)return[];var d,m,g,y=p.map((function(e){var t;if("trace"===e.categoryorder)t=null;else if("array"===e.categoryorder)t=e.categoryarray;else{t=a(e.values);for(var r=!0,n=0;n=e.length||void 0!==t[e[r]])return!1;t[e[r]]=!0}return!0}(r))for(t=0;tt.model.rawColor?1:e.model.rawColor"),C=r.mouse(h)[0];a.loneHover({trace:f,x:_-d.left+m.left,y:b-d.top+m.top,text:E,color:e.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:w,idealAlign:C<_?"right":"left",hovertemplate:(f.line||{}).hovertemplate,hovertemplateLabels:M,eventData:[{data:f._input,fullData:f,count:k,probability:A}]},{container:p._hoverlayer.node(),outerContainer:p._paper.node(),gd:h})}}}function g(e){if(!e.parcatsViewModel.dragDimension&&(w(r.select(this)),a.loneUnhover(e.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()),e.parcatsViewModel.pathSelection.sort(d),-1===e.parcatsViewModel.hoverinfoItems.indexOf("skip"))){var t=y(e),n=x(e);e.parcatsViewModel.graphDiv.emit("plotly_unhover",{points:t,event:r.event,constraints:n})}}function y(e){for(var t=[],r=O(e.parcatsViewModel),n=0;n1&&f.displayInd===h.dimensions.length-1?(i=c.left,a="left"):(i=c.left+c.width,a="right");var m=u.model.count,g=u.model.categoryLabel,y=m/u.parcatsViewModel.model.count,v={countLabel:m,categoryLabel:g,probabilityLabel:y.toFixed(3)},x=[];-1!==u.parcatsViewModel.hoverinfoItems.indexOf("count")&&x.push(["Count:",v.countLabel].join(" ")),-1!==u.parcatsViewModel.hoverinfoItems.indexOf("probability")&&x.push(["P("+v.categoryLabel+"):",v.probabilityLabel].join(" "));var _=x.join("
");return{trace:p,x:o*(i-t.left),y:s*(d-t.top),text:_,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:a,hovertemplate:p.hovertemplate,hovertemplateLabels:v,eventData:[{data:p._input,fullData:p,count:m,category:g,probability:y}]}}function I(e){if(!e.parcatsViewModel.dragDimension&&-1===e.parcatsViewModel.hoverinfoItems.indexOf("skip")){if(r.mouse(this)[1]<-1)return;var t,n=e.parcatsViewModel.graphDiv,i=n._fullLayout,s=i._paperdiv.node().getBoundingClientRect(),l=e.parcatsViewModel.hoveron,u=this;"color"===l?(function(e){var t=r.select(e).datum(),n=M(t);T(n),n.each((function(){o.raiseToTop(this)})),r.select(e.parentNode).selectAll("rect.bandrect").filter((function(e){return e.color===t.color})).each((function(){o.raiseToTop(this),function(e){e.attr("stroke","black").attr("stroke-width",1.5)}(r.select(this))}))}(u),E(u,"plotly_hover",r.event)):(function(e){r.select(e.parentNode).selectAll("rect.bandrect").each((function(e){var t=M(e);T(t),t.each((function(){o.raiseToTop(this)}))})),function(e){e.select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}(r.select(e.parentNode))}(u),S(u,"plotly_hover",r.event)),-1===e.parcatsViewModel.hoverinfoItems.indexOf("none")&&("category"===l?t=C(n,s,u):"color"===l?t=function(e,t,n){e._fullLayout._calcInverseTransform(e);var i,a,o=e._fullLayout._invScaleX,s=e._fullLayout._invScaleY,l=n.getBoundingClientRect(),u=r.select(n).datum(),h=u.categoryViewModel,f=h.parcatsViewModel,p=f.model.dimensions[h.model.dimensionInd],d=f.trace,m=l.y+l.height/2;f.dimensions.length>1&&p.displayInd===f.dimensions.length-1?(i=l.left,a="left"):(i=l.left+l.width,a="right");var g=h.model.categoryLabel,y=u.parcatsViewModel.model.count,v=0;u.categoryViewModel.bands.forEach((function(e){e.color===u.color&&(v+=e.count)}));var x=h.model.count,_=0;f.pathSelection.each((function(e){e.model.color===u.color&&(_+=e.model.count)}));var b=v/y,w=v/_,T=v/x,k={countLabel:v,categoryLabel:g,probabilityLabel:b.toFixed(3)},A=[];-1!==h.parcatsViewModel.hoverinfoItems.indexOf("count")&&A.push(["Count:",k.countLabel].join(" ")),-1!==h.parcatsViewModel.hoverinfoItems.indexOf("probability")&&(A.push("P(color ∩ "+g+"): "+k.probabilityLabel),A.push("P("+g+" | color): "+w.toFixed(3)),A.push("P(color | "+g+"): "+T.toFixed(3)));var M=A.join("
"),S=c.mostReadable(u.color,["black","white"]);return{trace:d,x:o*(i-t.left),y:s*(m-t.top),text:M,color:u.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:S,fontSize:10,idealAlign:a,hovertemplate:d.hovertemplate,hovertemplateLabels:k,eventData:[{data:d._input,fullData:d,category:g,count:y,probability:b,categorycount:x,colorcount:_,bandcolorcount:v}]}}(n,s,u):"dimension"===l&&(t=function(e,t,n){var i=[];return r.select(n.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each((function(){i.push(C(e,t,this))})),i}(n,s,u)),t&&a.loneHover(t,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:n}))}}function L(e){var t=e.parcatsViewModel;t.dragDimension||(w(t.pathSelection),k(t.dimensionSelection.selectAll("g.category")),A(t.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),a.loneUnhover(t.graphDiv._fullLayout._hoverlayer.node()),t.pathSelection.sort(d),-1!==t.hoverinfoItems.indexOf("skip"))||("color"===e.parcatsViewModel.hoveron?E(this,"plotly_unhover",r.event):S(this,"plotly_unhover",r.event))}function P(e){"fixed"!==e.parcatsViewModel.arrangement&&(e.dragDimensionDisplayInd=e.model.displayInd,e.initialDragDimensionDisplayInds=e.parcatsViewModel.model.dimensions.map((function(e){return e.displayInd})),e.dragHasMoved=!1,e.dragCategoryDisplayInd=null,r.select(this).selectAll("g.category").select("rect.catrect").each((function(t){var n=r.mouse(this)[0],i=r.mouse(this)[1];-2<=n&&n<=t.width+2&&-2<=i&&i<=t.height+2&&(e.dragCategoryDisplayInd=t.model.displayInd,e.initialDragCategoryDisplayInds=e.model.categories.map((function(e){return e.displayInd})),t.model.dragY=t.y,o.raiseToTop(this.parentNode),r.select(this.parentNode).selectAll("rect.bandrect").each((function(t){t.yh.y+h.height/2&&(o.model.displayInd=h.model.displayInd,h.model.displayInd=l),e.dragCategoryDisplayInd=o.model.displayInd}if(null===e.dragCategoryDisplayInd||"freeform"===e.parcatsViewModel.arrangement){a.model.dragX=r.event.x;var f=e.parcatsViewModel.dimensions[n],p=e.parcatsViewModel.dimensions[i];void 0!==f&&a.model.dragXp.x&&(a.model.displayInd=p.model.displayInd,p.model.displayInd=e.dragDimensionDisplayInd),e.dragDimensionDisplayInd=a.model.displayInd}V(e.parcatsViewModel),U(e.parcatsViewModel),B(e.parcatsViewModel),R(e.parcatsViewModel)}}function D(e){if("fixed"!==e.parcatsViewModel.arrangement&&null!==e.dragDimensionDisplayInd){r.select(this).selectAll("text").attr("font-weight","normal");var t={},n=O(e.parcatsViewModel),a=e.parcatsViewModel.model.dimensions.map((function(e){return e.displayInd})),o=e.initialDragDimensionDisplayInds.some((function(e,t){return e!==a[t]}));o&&a.forEach((function(r,n){var i=e.parcatsViewModel.model.dimensions[n].containerInd;t["dimensions["+i+"].displayindex"]=r}));var s=!1;if(null!==e.dragCategoryDisplayInd){var l=e.model.categories.map((function(e){return e.displayInd}));if(s=e.initialDragCategoryDisplayInds.some((function(e,t){return e!==l[t]}))){var c=e.model.categories.slice().sort((function(e,t){return e.displayInd-t.displayInd})),u=c.map((function(e){return e.categoryValue})),h=c.map((function(e){return e.categoryLabel}));t["dimensions["+e.model.containerInd+"].categoryarray"]=[u],t["dimensions["+e.model.containerInd+"].ticktext"]=[h],t["dimensions["+e.model.containerInd+"].categoryorder"]="array"}}-1===e.parcatsViewModel.hoverinfoItems.indexOf("skip")&&!e.dragHasMoved&&e.potentialClickBand&&("color"===e.parcatsViewModel.hoveron?E(e.potentialClickBand,"plotly_click",r.event.sourceEvent):S(e.potentialClickBand,"plotly_click",r.event.sourceEvent)),e.model.dragX=null,null!==e.dragCategoryDisplayInd&&(e.parcatsViewModel.dimensions[e.dragDimensionDisplayInd].categories[e.dragCategoryDisplayInd].model.dragY=null,e.dragCategoryDisplayInd=null),e.dragDimensionDisplayInd=null,e.parcatsViewModel.dragDimension=null,e.dragHasMoved=null,e.potentialClickBand=null,V(e.parcatsViewModel),U(e.parcatsViewModel),r.transition().duration(300).ease("cubic-in-out").each((function(){B(e.parcatsViewModel,!0),R(e.parcatsViewModel,!0)})).each("end",(function(){(o||s)&&i.restyle(e.parcatsViewModel.graphDiv,t,[n])}))}}function O(e){for(var t,r=e.graphDiv._fullData,n=0;n=0;s--)u+="C"+c[s]+","+(t[s+1]+i)+" "+l[s]+","+(t[s]+i)+" "+(e[s]+r[s])+","+(t[s]+i),u+="l-"+r[s]+",0 ";return u+"Z"}function U(e){var t=e.dimensions,r=e.model,n=t.map((function(e){return e.categories.map((function(e){return e.y}))})),i=e.model.dimensions.map((function(e){return e.categories.map((function(e){return e.displayInd}))})),a=e.model.dimensions.map((function(e){return e.displayInd})),o=e.dimensions.map((function(e){return e.model.dimensionInd})),s=t.map((function(e){return e.x})),l=t.map((function(e){return e.width})),c=[];for(var u in r.paths)r.paths.hasOwnProperty(u)&&c.push(r.paths[u]);function h(e){var t=e.categoryInds.map((function(e,t){return i[t][e]}));return o.map((function(e){return t[e]}))}c.sort((function(t,r){var n=h(t),i=h(r);return"backward"===e.sortpaths&&(n.reverse(),i.reverse()),n.push(t.valueInds[0]),i.push(r.valueInds[0]),e.bundlecolors&&(n.unshift(t.rawColor),i.unshift(r.rawColor)),ni?1:0}));for(var f=new Array(c.length),p=t[0].model.count,d=t[0].categories.map((function(e){return e.height})).reduce((function(e,t){return e+t})),m=0;m0?d*(v.count/p):0;for(var x=new Array(n.length),_=0;_1?(e.width-80-16)/(n-1):0)*i;var a,o,s,l,c,u=[],h=e.model.maxCats,f=t.categories.length,p=t.count,d=e.height-8*(h-1),m=8*(h-f)/2,g=t.categories.map((function(e){return{displayInd:e.displayInd,categoryInd:e.categoryInd}}));for(g.sort((function(e,t){return e.displayInd-t.displayInd})),c=0;c0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:a,y:null!==o.dragY?o.dragY:m,bands:[],parcatsViewModel:e},m=m+a+8,u.push(s);return{key:t.dimensionInd,x:null!==t.dragX?t.dragX:r,y:0,width:16,model:t,categories:u,parcatsViewModel:e,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}t.exports=function(e,t,r,n){h(r,e,n,t)}}}),A_=m({"src/traces/parcats/plot.js"(e,t){var r=k_();t.exports=function(e,t,n,i){var a=e._fullLayout,o=a._paper,s=a._size;r(e,o,t,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},n,i)}}}),M_=m({"src/traces/parcats/base_plot.js"(e){var t=Tt().getModuleCalcData,r=A_(),n="parcats";e.name=n,e.plot=function(e,i,a,o){var s=t(e.calcdata,n);if(s.length){var l=s[0];r(e,l,a,o)}},e.clean=function(e,t,r,n){var i=n._has&&n._has("parcats"),a=t._has&&t._has("parcats");i&&!a&&n._paperdiv.selectAll(".parcats").remove()}}}),S_=m({"src/traces/parcats/index.js"(e,t){t.exports={attributes:b_(),supplyDefaults:w_(),calc:T_(),plot:A_(),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:M_(),categories:["noOpacity"],meta:{}}}}),E_=m({"lib/parcats.js"(e,t){t.exports=S_()}}),C_=m({"src/plots/mapbox/constants.js"(e,t){var r=Ye(),n="1.13.4",i='©
OpenStreetMap contributors',a=['© Carto',i].join(" "),o=['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under ODbL'].join(" "),s={"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:i,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:a,tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-positron",type:"raster",source:"plotly-carto-positron",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"carto-darkmatter":{id:"carto-darkmatter",version:8,sources:{"plotly-carto-darkmatter":{type:"raster",attribution:a,tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-darkmatter",type:"raster",source:"plotly-carto-darkmatter",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"stamen-terrain":{id:"stamen-terrain",version:8,sources:{"plotly-stamen-terrain":{type:"raster",attribution:o,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:o,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:['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under CC BY SA'].join(" "),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"}},l=r(s);t.exports={requiredVersion:n,styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",styleValuesMapbox:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],styleValueDflt:"basic",stylesNonMapbox:s,styleValuesNonMapbox:l,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@"+n+"."].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:",l.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\')'}}}}),I_=m({"src/plots/mapbox/layout_attributes.js"(e,t){var r=ct(),n=W().defaultLine,i=Ma().attributes,a=j(),o=kn().textposition,s=De().overrideAll,l=vt().templatedArray,c=C_(),u=a({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});u.family.dflt="Open Sans Regular, Arial Unicode MS Regular",(t.exports=s({_arrayAttrRegexps:[r.counterRegex("mapbox",".layers",!0)],domain:i({name:"mapbox"}),accesstoken:{valType:"string",noBlank:!0,strict:!0},style:{valType:"any",values:c.styleValuesMapbox.concat(c.styleValuesNonMapbox),dflt:c.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:l("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:n},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:n}},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:u,textposition:r.extendFlat({},o,{arrayOk:!1})}})},"plot","from-root")).uirevision={valType:"any",editType:"none"}}}),L_=m({"src/traces/scattermapbox/attributes.js"(e,t){var{hovertemplateAttrs:r,texttemplateAttrs:n,templatefallbackAttrs:i}=Fe(),a=Tn(),o=sg(),s=kn(),l=I_(),c=q(),u=zt(),h=B().extendFlat,f=De().overrideAll,p=I_(),d=o.line,m=o.marker;t.exports=f({lon:o.lon,lat:o.lat,cluster:{enabled:{valType:"boolean"},maxzoom:h({},p.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:h({},m.opacity,{dflt:1})},mode:h({},s.mode,{dflt:"markers"}),text:h({},s.text,{}),texttemplate:n({editType:"plot"},{keys:["lat","lon","text"]}),texttemplatefallback:i({editType:"plot"}),hovertext:h({},s.hovertext,{}),line:{color:d.color,width:d.width},connectgaps:s.connectgaps,marker:h({symbol:{valType:"string",dflt:"circle",arrayOk:!0},angle:{valType:"number",dflt:"auto",arrayOk:!0},allowoverlap:{valType:"boolean",dflt:!1},opacity:m.opacity,size:m.size,sizeref:m.sizeref,sizemin:m.sizemin,sizemode:m.sizemode},u("marker")),fill:o.fill,fillcolor:a(),textfont:l.layers.symbol.textfont,textposition:l.layers.symbol.textposition,below:{valType:"string"},selected:{marker:s.selected.marker},unselected:{marker:s.unselected.marker},hoverinfo:h({},c.hoverinfo,{flags:["lon","lat","text","name"]}),hovertemplate:r(),hovertemplatefallback:i()},"calc","nested")}}),P_=m({"src/traces/scattermapbox/constants.js"(e,t){var r=["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"];t.exports={isSupportedFont:function(e){return-1!==r.indexOf(e)}}}}),z_=m({"src/traces/scattermapbox/defaults.js"(e,t){var r=ct(),n=Xt(),i=Yn(),a=Xn(),o=Kn(),s=Jn(),l=L_(),c=P_().isSupportedFont;t.exports=function(e,t,u,h){function f(n,i){return r.coerce(e,t,l,n,i)}function p(n,i){return r.coerce2(e,t,l,n,i)}var d=function(e,t,r){var n=r("lon")||[],i=r("lat")||[],a=Math.min(n.length,i.length);return t._length=a,a}(0,t,f);if(d){if(f("text"),f("texttemplate"),f("texttemplatefallback"),f("hovertext"),f("hovertemplate"),f("hovertemplatefallback"),f("mode"),f("below"),n.hasMarkers(t)){i(e,t,u,h,f,{noLine:!0,noAngle:!0}),f("marker.allowoverlap"),f("marker.angle");var m=t.marker;"circle"!==m.symbol&&(r.isArrayOrTypedArray(m.size)&&(m.size=m.size[0]),r.isArrayOrTypedArray(m.color)&&(m.color=m.color[0]))}n.hasLines(t)&&(a(e,t,u,h,f,{noDash:!0}),f("connectgaps"));var g=p("cluster.maxzoom"),y=p("cluster.step"),v=p("cluster.color",t.marker&&t.marker.color||u),x=p("cluster.size"),_=p("cluster.opacity");if(f("cluster.enabled",!1!==g||!1!==y||!1!==v||!1!==x||!1!==_)||n.hasText(t)){var b=h.font.family;o(e,t,h,f,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:c(b)?b:"Open Sans Regular",weight:h.font.weight,style:h.font.style,size:h.font.size,color:h.font.color}})}f("fill"),"none"!==t.fill&&s(e,t,u,f),r.coerceSelectionMarkerOpacity(t,f)}else t.visible=!1}}}),D_=m({"src/traces/scattermapbox/format_labels.js"(e,t){var r=ar();t.exports=function(e,t,n){var i={},a=n[t.subplot]._subplot.mockAxis,o=e.lonlat;return i.lonLabel=r.tickText(a,a.c2l(o[0]),!0).text,i.latLabel=r.tickText(a,a.c2l(o[1]),!0).text,i}}}),O_=m({"src/plots/mapbox/convert_text_opts.js"(e,t){var r=ct();t.exports=function(e,t){var n=e.split(" "),i=n[0],a=n[1],o=r.isArrayOrTypedArray(t)?r.mean(t):t,s=.5+o/100,l=1.5+o/100,c=["",""],u=[0,0];switch(i){case"top":c[0]="top",u[1]=-l;break;case"bottom":c[0]="bottom",u[1]=l}switch(a){case"left":c[1]="right",u[0]=-s;break;case"right":c[1]="left",u[0]=s}return{anchor:c[0]&&c[1]?c.join("-"):c[0]?c[0]:c[1]?c[1]:"center",offset:u}}}}),R_=m({"src/traces/scattermapbox/convert.js"(e,t){var r=M(),n=ct(),i=S().BADNUM,a=dg(),o=Yt(),s=er(),l=$t(),c=Xt(),u=P_().isSupportedFont,h=O_(),f=Kt().appendArrayPointValue,p=Et().NEWLINES,d=Et().BR_TAG_ALL;function m(e){return{type:e,geojson:a.makeBlank(),layout:{visibility:"none"},filter:null,paint:{}}}function g(e,t){return n.isArrayOrTypedArray(e)?t?function(t){return r(e[t])?+e[t]:0}:function(t){return e[t]}:e?function(){return e}:y}function y(){return""}function v(e){return e[0]===i}function x(e,t){var r;if(n.isArrayOrTypedArray(e)&&n.isArrayOrTypedArray(t)){r=["step",["get","point_count"],e[0]];for(var i=1;i850?" Black":i>750?" Extra Bold":i>650?" Bold":i>550?" Semi Bold":i>450?" Medium":i>350?" Regular":i>250?" Light":i>150?" Extra Light":" Thin"):"Open Sans"===a.slice(0,2).join(" ")?(s="Open Sans",s+=i>750?" Extrabold":i>650?" Bold":i>550?" Semibold":i>350?" Regular":" Light"):"Klokantech Noto Sans"===a.slice(0,3).join(" ")&&(s="Klokantech Noto Sans","CJK"===a[3]&&(s+=" CJK"),s+=i>500?" Bold":" Regular")),o&&(s+=" Italic"),"Open Sans Regular Italic"===s?s="Open Sans Italic":"Open Sans Regular Bold"===s?s="Open Sans Bold":"Open Sans Regular Bold Italic"===s?s="Open Sans Bold Italic":"Klokantech Noto Sans Regular Italic"===s&&(s="Klokantech Noto Sans Italic"),u(s)||(s=r),s.split(", ")}t.exports=function(e,t){var i,u=t[0].trace,b=!0===u.visible&&0!==u._length,w="none"!==u.fill,T=c.hasLines(u),k=c.hasMarkers(u),A=c.hasText(u),M=k&&"circle"===u.marker.symbol,S=k&&"circle"!==u.marker.symbol,E=u.cluster&&u.cluster.enabled,C=m("fill"),I=m("line"),L=m("circle"),P=m("symbol"),z={fill:C,line:I,circle:L,symbol:P};if(!b)return z;if((w||T)&&(i=a.calcTraceToLineCoords(t)),w&&(C.geojson=a.makePolygon(i),C.layout.visibility="visible",n.extendFlat(C.paint,{"fill-color":u.fillcolor})),T&&(I.geojson=a.makeLine(i),I.layout.visibility="visible",n.extendFlat(I.paint,{"line-width":u.line.width,"line-color":u.line.color,"line-opacity":u.opacity})),M){var D=function(e){var t,i,a,c,u=e[0].trace,h=u.marker,f=u.selectedpoints,p=n.isArrayOrTypedArray(h.color),d=n.isArrayOrTypedArray(h.size),m=n.isArrayOrTypedArray(h.opacity);function g(e){return u.opacity*e}p&&(i=o.hasColorscale(u,"marker")?o.makeColorScaleFuncFromTrace(h):n.identity),d&&(a=l(u)),m&&(c=function(e){return g(r(e)?+n.constrain(e,0,1):0)});var y,x=[];for(t=0;t=0;r--){var n=t[r];i.removeLayer(u.layerIds[n])}e||i.removeSource(u.sourceIds.circle)}(e):function(e){for(var t=a.nonCluster,r=t.length-1;r>=0;r--){var n=t[r];i.removeLayer(u.layerIds[n]),e||i.removeSource(u.sourceIds[n])}}(e)}function f(e){l?function(e){e||u.addSource("circle",o.circle,t.cluster);for(var r=a.cluster,n=0;n=0;r--){var n=t[r];e.removeLayer(this.layerIds[n]),e.removeSource(this.sourceIds[n])}},t.exports=function(e,t){var r,i,s,l=t[0].trace,c=l.cluster&&l.cluster.enabled,u=!0!==l.visible,h=new o(e,l.uid,c,u),f=n(e.gd,t),p=h.below=e.belowLookup["trace-"+l.uid];if(c)for(h.addSource("circle",f.circle,l.cluster),r=0;r")}function u(e){return e+"°"}}t.exports={hoverPoints:function(e,t,a){var c=e.cd,u=c[0].trace,h=e.xa,f=e.ya,p=e.subplot,d=[],m=s+u.uid+"-circle",g=u.cluster&&u.cluster.enabled;if(g){var y=p.map.queryRenderedFeatures(null,{layers:[m]});d=y.map((function(e){return e.id}))}var v=360*(t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360)),x=t-v;if(r.getClosest(c,(function(e){var t=e.lonlat;if(t[0]===o||g&&-1===d.indexOf(e.i+1))return 1/0;var r=n.modHalf(t[0],360),i=t[1],s=p.project([r,i]),l=s.x-h.c2p([x,i]),c=s.y-f.c2p([r,a]),u=Math.max(3,e.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-u,1-3/u)}),e),!1!==e.index){var _=c[e.index],b=_.lonlat,w=[n.modHalf(b[0],360)+v,b[1]],T=h.c2p(w),k=f.c2p(w),A=_.mrc||1;e.x0=T-A,e.x1=T+A,e.y0=k-A,e.y1=k+A;var M={};M[u.subplot]={_subplot:p};var S=u._module.formatLabels(_,u,M);return e.lonLabel=S.lonLabel,e.latLabel=S.latLabel,e.color=i(u,_),e.extraText=l(u,_,c[0].t.labels),e.hovertemplate=u.hovertemplate,[e]}},getExtraText:l}}}),j_=m({"src/traces/scattermapbox/event_data.js"(e,t){t.exports=function(e,t){return e.lon=t.lon,e.lat=t.lat,e}}}),N_=m({"src/traces/scattermapbox/select.js"(e,t){var r=ct(),n=Xt(),i=S().BADNUM;t.exports=function(e,t){var a,o=e.cd,s=e.xaxis,l=e.yaxis,c=[],u=o[0].trace;if(!n.hasMarkers(u))return[];if(!1===t)for(a=0;a"u"&&(t=1e-6),i=e,o=0;o<8;o++){if(a=this.sampleCurveX(i)-e,Math.abs(a)(n=1))return n;for(;ra?r=i:n=i,i=.5*(n-r)+r}return i},i.prototype.solve=function(e,t){return this.sampleCurveY(this.solveCurveX(e,t))};var a=o;function o(e,t){this.x=e,this.y=t}o.prototype={clone:function(){return new o(this.x,this.y)},add:function(e){return this.clone()._add(e)},sub:function(e){return this.clone()._sub(e)},multByPoint:function(e){return this.clone()._multByPoint(e)},divByPoint:function(e){return this.clone()._divByPoint(e)},mult:function(e){return this.clone()._mult(e)},div:function(e){return this.clone()._div(e)},rotate:function(e){return this.clone()._rotate(e)},rotateAround:function(e,t){return this.clone()._rotateAround(e,t)},matMult:function(e){return this.clone()._matMult(e)},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(e){return this.x===e.x&&this.y===e.y},dist:function(e){return Math.sqrt(this.distSqr(e))},distSqr:function(e){var t=e.x-this.x,r=e.y-this.y;return t*t+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(e){return Math.atan2(this.y-e.y,this.x-e.x)},angleWith:function(e){return this.angleWithSep(e.x,e.y)},angleWithSep:function(e,t){return Math.atan2(this.x*t-this.y*e,this.x*e+this.y*t)},_matMult:function(e){var t=e[0]*this.x+e[1]*this.y,r=e[2]*this.x+e[3]*this.y;return this.x=t,this.y=r,this},_add:function(e){return this.x+=e.x,this.y+=e.y,this},_sub:function(e){return this.x-=e.x,this.y-=e.y,this},_mult:function(e){return this.x*=e,this.y*=e,this},_div:function(e){return this.x/=e,this.y/=e,this},_multByPoint:function(e){return this.x*=e.x,this.y*=e.y,this},_divByPoint:function(e){return this.x/=e.x,this.y/=e.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var e=this.y;return this.y=this.x,this.x=-e,this},_rotate:function(e){var t=Math.cos(e),r=Math.sin(e),n=t*this.x-r*this.y,i=r*this.x+t*this.y;return this.x=n,this.y=i,this},_rotateAround:function(e,t){var r=Math.cos(e),n=Math.sin(e),i=t.x+r*(this.x-t.x)-n*(this.y-t.y),a=t.y+n*(this.x-t.x)+r*(this.y-t.y);return this.x=i,this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},o.convert=function(e){return e instanceof o?e:Array.isArray(e)?new o(e[0],e[1]):e};var s=typeof self<"u"?self:{},l=Math.pow(2,53)-1;function c(e,t,r,i){var a=new n(e,t,r,i);return function(e){return a.solve(e)}}var u=c(.25,.1,.25,1);function h(e,t,r){return Math.min(r,Math.max(t,e))}function f(e,t,r){var n=r-t,i=((e-t)%n+n)%n+t;return i===t?r:i}function p(e){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];for(var n=0,i=t;n>t/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,e)}()}function y(e){return!!e&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e)}function v(e,t){e.forEach((function(e){t[e]&&(t[e]=t[e].bind(t))}))}function x(e,t){return-1!==e.indexOf(t,e.length-t.length)}function _(e,t,r){var n={};for(var i in e)n[i]=t.call(r||this,e[i],i,e);return n}function b(e,t,r){var n={};for(var i in e)t.call(r||this,e[i],i,e)&&(n[i]=e[i]);return n}function w(e){return Array.isArray(e)?e.map(w):"object"==typeof e&&e?_(e,w):e}var T={};function k(e){T[e]||(typeof console<"u"&&console.warn(e),T[e]=!0)}function A(e,t,r){return(r.y-e.y)*(t.x-e.x)>(t.y-e.y)*(r.x-e.x)}function M(e){for(var t=0,r=0,n=e.length,i=n-1,a=void 0,o=void 0;r@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(function(e,r,n,i){var a=n||i;return t[r]=!a||a.toLowerCase(),""})),t["max-age"]){var r=parseInt(t["max-age"],10);isNaN(r)?delete t["max-age"]:t["max-age"]=r}return t}var C=null;function I(e){if(null==C){var t=e.navigator?e.navigator.userAgent:null;C=!!e.safari||!(!t||!(/\b(iPad|iPhone|iPod)\b/.test(t)||t.match("Safari")&&!t.match("Chrome")))}return C}function L(e){try{var t=s[e];return t.setItem("_mapbox_test_",1),t.removeItem("_mapbox_test_"),!0}catch{return!1}}var P,z,D,O,R=s.performance&&s.performance.now?s.performance.now.bind(s.performance):Date.now.bind(Date),F=s.requestAnimationFrame||s.mozRequestAnimationFrame||s.webkitRequestAnimationFrame||s.msRequestAnimationFrame,B=s.cancelAnimationFrame||s.mozCancelAnimationFrame||s.webkitCancelAnimationFrame||s.msCancelAnimationFrame,j={now:R,frame:function(e){var t=F(e);return{cancel:function(){return B(t)}}},getImageData:function(e,t){void 0===t&&(t=0);var r=s.document.createElement("canvas"),n=r.getContext("2d");if(!n)throw new Error("failed to create canvas 2d context");return r.width=e.width,r.height=e.height,n.drawImage(e,0,0,e.width,e.height),n.getImageData(-t,-t,e.width+2*t,e.height+2*t)},resolveURL:function(e){return P||(P=s.document.createElement("a")),P.href=e,P.href},hardwareConcurrency:s.navigator&&s.navigator.hardwareConcurrency||4,get devicePixelRatio(){return s.devicePixelRatio},get prefersReducedMotion(){return!!s.matchMedia&&(null==z&&(z=s.matchMedia("(prefers-reduced-motion: reduce)")),z.matches)}},N={API_URL:"https://api.mapbox.com",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf("https://api.mapbox.cn")?"https://events.mapbox.cn/events/v2":0===this.API_URL.indexOf("https://api.mapbox.com")?"https://events.mapbox.com/events/v2":null:null},FEEDBACK_URL:"https://apps.mapbox.com/feedback",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},U={supported:!1,testSupport:function(e){V||!O||(q?H(e):D=e)}},V=!1,q=!1;function H(e){var t=e.createTexture();e.bindTexture(e.TEXTURE_2D,t);try{if(e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,O),e.isContextLost())return;U.supported=!0}catch{}e.deleteTexture(t),V=!0}s.document&&((O=s.document.createElement("img")).onload=function(){D&&H(D),D=null,q=!0},O.onerror=function(){V=!0,D=null},O.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");var G="01",W=function(e,t){this._transformRequestFn=e,this._customAccessToken=t,this._createSkuToken()};function Z(e){return 0===e.indexOf("mapbox:")}W.prototype._createSkuToken=function(){var e=function(){for(var e="",t=0;t<10;t++)e+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1",G,e].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=e.token,this._skuTokenExpiresAt=e.tokenExpiresAt},W.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},W.prototype.transformRequest=function(e,t){return this._transformRequestFn&&this._transformRequestFn(e,t)||{url:e}},W.prototype.normalizeStyleURL=function(e,t){if(!Z(e))return e;var r=K(e);return r.path="/styles/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||t)},W.prototype.normalizeGlyphsURL=function(e,t){if(!Z(e))return e;var r=K(e);return r.path="/fonts/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||t)},W.prototype.normalizeSourceURL=function(e,t){if(!Z(e))return e;var r=K(e);return r.path="/v4/"+r.authority+".json",r.params.push("secure"),this._makeAPIURL(r,this._customAccessToken||t)},W.prototype.normalizeSpriteURL=function(e,t,r,n){var i=K(e);return Z(e)?(i.path="/styles/v1"+i.path+"/sprite"+t+r,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=""+t+r,J(i))},W.prototype.normalizeTileURL=function(e,t){if(this._isSkuTokenExpired()&&this._createSkuToken(),e&&!Z(e))return e;var r=K(e),n=j.devicePixelRatio>=2||512===t?"@2x":"",i=U.supported?".webp":"$1";r.path=r.path.replace(/(\.(png|jpg)\d*)(?=$)/,""+n+i),r.path=r.path.replace(/^.+\/v4\//,"/"),r.path="/v4"+r.path;var a=this._customAccessToken||function(e){for(var t=0,r=e;t=0&&e.params.splice(i,1)}if("/"!==n.path&&(e.path=""+n.path+e.path),!N.REQUIRE_ACCESS_TOKEN)return J(e);if(!(t=t||N.ACCESS_TOKEN))throw new Error("An API access token is required to use Mapbox GL. "+r);if("s"===t[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+r);return e.params=e.params.filter((function(e){return-1===e.indexOf("access_token")})),e.params.push("access_token="+t),J(e)};var Y=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;function X(e){return Y.test(e)}var $=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;function K(e){var t=e.match($);if(!t)throw new Error("Unable to parse URL object");return{protocol:t[1],authority:t[2],path:t[3]||"/",params:t[4]?t[4].split("&"):[]}}function J(e){var t=e.params.length?"?"+e.params.join("&"):"";return e.protocol+"://"+e.authority+e.path+t}var Q="mapbox.eventData";function ee(e){if(!e)return null;var t=e.split(".");if(!t||3!==t.length)return null;try{var r=JSON.parse(function(e){return decodeURIComponent(s.atob(e).split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join(""))}(t[1]));return r}catch{return null}}var te=function(e){this.type=e,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};te.prototype.getStorageKey=function(e){var t,r=ee(N.ACCESS_TOKEN),n="";return r&&r.u?(t=r.u,n=s.btoa(encodeURIComponent(t).replace(/%([0-9A-F]{2})/g,(function(e,t){return String.fromCharCode(+("0x"+t))})))):n=N.ACCESS_TOKEN||"",e?Q+"."+e+":"+n:Q+":"+n},te.prototype.fetchEventData=function(){var e=L("localStorage"),t=this.getStorageKey(),r=this.getStorageKey("uuid");if(e)try{var n=s.localStorage.getItem(t);n&&(this.eventData=JSON.parse(n));var i=s.localStorage.getItem(r);i&&(this.anonId=i)}catch{k("Unable to read from LocalStorage")}},te.prototype.saveEventData=function(){var e=L("localStorage"),t=this.getStorageKey(),r=this.getStorageKey("uuid");if(e)try{s.localStorage.setItem(r,this.anonId),Object.keys(this.eventData).length>=1&&s.localStorage.setItem(t,JSON.stringify(this.eventData))}catch{k("Unable to write to LocalStorage")}},te.prototype.processRequests=function(e){},te.prototype.postEvent=function(e,t,n,i){var a=this;if(N.EVENTS_URL){var o=K(N.EVENTS_URL);o.params.push("access_token="+(i||N.ACCESS_TOKEN||""));var s={event:this.type,created:new Date(e).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:r,skuId:G,userId:this.anonId},l=t?p(s,t):s,c={url:J(o),headers:{"Content-Type":"text/plain"},body:JSON.stringify([l])};this.pendingRequest=ke(c,(function(e){a.pendingRequest=null,n(e),a.saveEventData(),a.processRequests(i)}))}},te.prototype.queueRequest=function(e,t){this.queue.push(e),this.processRequests(t)};var re,ne,ie=function(e){function t(){e.call(this,"map.load"),this.success={},this.skuToken=""}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.postMapLoadEvent=function(e,t,r,n){this.skuToken=r,(N.EVENTS_URL&&n||N.ACCESS_TOKEN&&Array.isArray(e)&&e.some((function(e){return Z(e)||X(e)})))&&this.queueRequest({id:t,timestamp:Date.now()},n)},t.prototype.processRequests=function(e){var t=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,i=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),y(this.anonId)||(this.anonId=g()),this.postEvent(i,{skuToken:this.skuToken},(function(e){e||n&&(t.success[n]=!0)}),e))}},t}(te),ae=function(e){function t(t){e.call(this,"appUserTurnstile"),this._customAccessToken=t}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.postTurnstileEvent=function(e,t){N.EVENTS_URL&&N.ACCESS_TOKEN&&Array.isArray(e)&&e.some((function(e){return Z(e)||X(e)}))&&this.queueRequest(Date.now(),t)},t.prototype.processRequests=function(e){var t=this;if(!this.pendingRequest&&0!==this.queue.length){(!this.anonId||!this.eventData.lastSuccess||!this.eventData.tokenU)&&this.fetchEventData();var r=ee(N.ACCESS_TOKEN),n=r?r.u:N.ACCESS_TOKEN,i=n!==this.eventData.tokenU;y(this.anonId)||(this.anonId=g(),i=!0);var a=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(a),l=(a-this.eventData.lastSuccess)/864e5;i=i||l>=1||l<-1||o.getDate()!==s.getDate()}else i=!0;if(!i)return this.processRequests();this.postEvent(a,{"enabled.telemetry":!1},(function(e){e||(t.eventData.lastSuccess=a,t.eventData.tokenU=n)}),e)}},t}(te),oe=new ae,se=oe.postTurnstileEvent.bind(oe),le=new ie,ce=le.postMapLoadEvent.bind(le),ue="mapbox-tiles",he=500,fe=50;function pe(){s.caches&&!re&&(re=s.caches.open(ue))}function de(e){var t=e.indexOf("?");return t<0?e:e.slice(0,t)}var me,ge=1/0;function ye(){return null==me&&(me=s.OffscreenCanvas&&new s.OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof s.createImageBitmap),me}var ve={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(ve);var xe=function(e){function t(t,r,n){401===r&&X(n)&&(t+=": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"),e.call(this,t),this.status=r,this.url=n,this.name=this.constructor.name,this.message=t}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.toString=function(){return this.name+": "+this.message+" ("+this.status+"): "+this.url},t}(Error),_e=S()?function(){return self.worker&&self.worker.referrer}:function(){return("blob:"===s.location.protocol?s.parent:s).location.href};function be(e,t){var r=new s.AbortController,n=new s.Request(e.url,{method:e.method||"GET",body:e.body,credentials:e.credentials,headers:e.headers,referrer:_e(),signal:r.signal}),i=!1,a=!1,o=function(e){return e.indexOf("sku=")>0&&X(e)}(n.url);"json"===e.type&&n.headers.set("Accept","application/json");var l=function(r,i,l){if(!a){if(r&&"SecurityError"!==r.message&&k(r),i&&l)return c(i);var u=Date.now();s.fetch(n).then((function(r){if(r.ok){var n=o?r.clone():null;return c(r,n,u)}return t(new xe(r.statusText,r.status,e.url))})).catch((function(e){20!==e.code&&t(new Error(e.message))}))}},c=function(r,o,l){("arrayBuffer"===e.type?r.arrayBuffer():"json"===e.type?r.json():r.text()).then((function(e){a||(o&&l&&function(e,t,r){if(pe(),re){var n={status:t.status,statusText:t.statusText,headers:new s.Headers};t.headers.forEach((function(e,t){return n.headers.set(t,e)}));var i=E(t.headers.get("Cache-Control")||"");i["no-store"]||(i["max-age"]&&n.headers.set("Expires",new Date(r+1e3*i["max-age"]).toUTCString()),new Date(n.headers.get("Expires")).getTime()-r<42e4||function(e,t){if(void 0===ne)try{new Response(new ReadableStream),ne=!0}catch{ne=!1}ne?t(e.body):e.blob().then(t)}(t,(function(t){var r=new s.Response(t,n);pe(),re&&re.then((function(t){return t.put(de(e.url),r)})).catch((function(e){return k(e.message)}))})))}}(n,o,l),i=!0,t(null,e,r.headers.get("Cache-Control"),r.headers.get("Expires")))})).catch((function(e){a||t(new Error(e.message))}))};return o?function(e,t){if(pe(),!re)return t(null);var r=de(e.url);re.then((function(e){e.match(r).then((function(n){var i=function(e){if(!e)return!1;var t=new Date(e.headers.get("Expires")||0),r=E(e.headers.get("Cache-Control")||"");return t>Date.now()&&!r["no-cache"]}(n);e.delete(r),i&&e.put(r,n.clone()),t(null,n,i)})).catch(t)})).catch(t)}(n,l):l(null,null),{cancel:function(){a=!0,i||r.abort()}}}var we=function(e,t){if(!function(e){return/^file:/.test(e)||/^file:/.test(_e())&&!/^\w+:/.test(e)}(e.url)){if(s.fetch&&s.Request&&s.AbortController&&s.Request.prototype.hasOwnProperty("signal"))return be(e,t);if(S()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",e,t,void 0,!0)}return function(e,t){var r=new s.XMLHttpRequest;for(var n in r.open(e.method||"GET",e.url,!0),"arrayBuffer"===e.type&&(r.responseType="arraybuffer"),e.headers)r.setRequestHeader(n,e.headers[n]);return"json"===e.type&&(r.responseType="text",r.setRequestHeader("Accept","application/json")),r.withCredentials="include"===e.credentials,r.onerror=function(){t(new Error(r.statusText))},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if("json"===e.type)try{n=JSON.parse(r.response)}catch(e){return t(e)}t(null,n,r.getResponseHeader("Cache-Control"),r.getResponseHeader("Expires"))}else t(new xe(r.statusText,r.status,e.url))},r.send(e.body),{cancel:function(){return r.abort()}}}(e,t)},Te=function(e,t){return we(p(e,{type:"arrayBuffer"}),t)},ke=function(e,t){return we(p(e,{method:"POST"}),t)};function Ae(e){var t=s.document.createElement("a");return t.href=e,t.protocol===s.document.location.protocol&&t.host===s.document.location.host}var Me,Se,Ee="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";Me=[],Se=0;var Ce=function(e,t){if(U.supported&&(e.headers||(e.headers={}),e.headers.accept="image/webp,*/*"),Se>=N.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:e,callback:t,cancelled:!1,cancel:function(){this.cancelled=!0}};return Me.push(r),r}Se++;var n=!1,i=function(){if(!n)for(n=!0,Se--;Me.length&&Se0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e)},De.prototype.setEventedParent=function(e,t){return this._eventedParent=e,this._eventedParentData=t,this};var Oe={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sources:{required:!0,type:"sources"},sprite:{type:"string"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},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:{}},default:"mapbox"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},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"],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"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},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"}}},Re=function(e,t,r,n){this.message=(e?e+": ":"")+r,n&&(this.identifier=n),null!=t&&t.__line__&&(this.line=t.__line__)};function Fe(e){var t=e.key,r=e.value;return r?[new Re(t,r,"constants have been deprecated as of v8")]:[]}function Be(e){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];for(var n=0,i=t;n":"value"===e.itemType.kind?"array":"array<"+t+">"}return e.kind}var tt=[qe,He,Ge,We,Ze,Ke,Ye,Qe(Xe),Je];function rt(e,t){if("error"===t.kind)return null;if("array"===e.kind){if("array"===t.kind&&(0===t.N&&"value"===t.itemType.kind||!rt(e.itemType,t.itemType))&&("number"!=typeof e.N||e.N===t.N))return null}else{if(e.kind===t.kind)return null;if("value"===e.kind)for(var r=0,n=tt;r255?255:e}function i(e){return e<0?0:e>1?1:e}function a(e){return"%"===e[e.length-1]?n(parseFloat(e)/100*255):n(parseInt(e))}function o(e){return"%"===e[e.length-1]?i(parseFloat(e)/100):i(parseFloat(e))}function s(e,t,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?e+(t-e)*r*6:2*r<1?t:3*r<2?e+(t-e)*(2/3-r)*6:e}try{t.parseCSSColor=function(e){var t,i=e.replace(/ /g,"").toLowerCase();if(i in r)return r[i].slice();if("#"===i[0])return 4===i.length?(t=parseInt(i.substr(1),16))>=0&&t<=4095?[(3840&t)>>4|(3840&t)>>8,240&t|(240&t)>>4,15&t|(15&t)<<4,1]:null:7===i.length&&(t=parseInt(i.substr(1),16))>=0&&t<=16777215?[(16711680&t)>>16,(65280&t)>>8,255&t,1]:null;var l=i.indexOf("("),c=i.indexOf(")");if(-1!==l&&c+1===i.length){var u=i.substr(0,l),h=i.substr(l+1,c-(l+1)).split(","),f=1;switch(u){case"rgba":if(4!==h.length)return null;f=o(h.pop());case"rgb":return 3!==h.length?null:[a(h[0]),a(h[1]),a(h[2]),f];case"hsla":if(4!==h.length)return null;f=o(h.pop());case"hsl":if(3!==h.length)return null;var p=(parseFloat(h[0])%360+360)%360/360,d=o(h[1]),m=o(h[2]),g=m<=.5?m*(d+1):m+d-m*d,y=2*m-g;return[n(255*s(y,g,p+1/3)),n(255*s(y,g,p)),n(255*s(y,g,p-1/3)),f];default:return null}}return null}}catch{}})).parseCSSColor,ot=function(e,t,r,n){void 0===n&&(n=1),this.r=e,this.g=t,this.b=r,this.a=n};ot.parse=function(e){if(e){if(e instanceof ot)return e;if("string"==typeof e){var t=at(e);if(t)return new ot(t[0]/255*t[3],t[1]/255*t[3],t[2]/255*t[3],t[3])}}},ot.prototype.toString=function(){var e=this.toArray(),t=e[0],r=e[1],n=e[2],i=e[3];return"rgba("+Math.round(t)+","+Math.round(r)+","+Math.round(n)+","+i+")"},ot.prototype.toArray=function(){var e=this,t=e.r,r=e.g,n=e.b,i=e.a;return 0===i?[0,0,0,0]:[255*t/i,255*r/i,255*n/i,i]},ot.black=new ot(0,0,0,1),ot.white=new ot(1,1,1,1),ot.transparent=new ot(0,0,0,0),ot.red=new ot(1,0,0,1);var st=function(e,t,r){this.sensitivity=e?t?"variant":"case":t?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};st.prototype.compare=function(e,t){return this.collator.compare(e,t)},st.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var lt=function(e,t,r,n,i){this.text=e,this.image=t,this.scale=r,this.fontStack=n,this.textColor=i},ct=function(e){this.sections=e};ct.fromString=function(e){return new ct([new lt(e,null,null,null,null)])},ct.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some((function(e){return 0!==e.text.length||e.image&&0!==e.image.name.length}))},ct.factory=function(e){return e instanceof ct?e:ct.fromString(e)},ct.prototype.toString=function(){return 0===this.sections.length?"":this.sections.map((function(e){return e.text})).join("")},ct.prototype.serialize=function(){for(var e=["format"],t=0,r=this.sections;t=0&&e<=255&&"number"==typeof t&&t>=0&&t<=255&&"number"==typeof r&&r>=0&&r<=255?typeof n>"u"||"number"==typeof n&&n>=0&&n<=1?null:"Invalid rgba value ["+[e,t,r,n].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof n?[e,t,r,n]:[e,t,r]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}function ft(e){if(null===e)return!0;if("string"==typeof e)return!0;if("boolean"==typeof e)return!0;if("number"==typeof e)return!0;if(e instanceof ot)return!0;if(e instanceof st)return!0;if(e instanceof ct)return!0;if(e instanceof ut)return!0;if(Array.isArray(e)){for(var t=0,r=e;t2){var s=e[1];if("string"!=typeof s||!(s in yt)||"object"===s)return t.error('The item type argument of "array" must be one of string, number, boolean',1);a=yt[s],n++}else a=Xe;if(e.length>3){if(null!==e[2]&&("number"!=typeof e[2]||e[2]<0||e[2]!==Math.floor(e[2])))return t.error('The length argument to "array" must be a positive integer literal',2);o=e[2],n++}r=Qe(a,o)}else r=yt[i];for(var l=[];n1)&&t.push(n)}}return t.concat(this.args.map((function(e){return e.serialize()})))};var xt=function(e){this.type=Ke,this.sections=e};xt.parse=function(e,t){if(e.length<2)return t.error("Expected at least one argument.");var r=e[1];if(!Array.isArray(r)&&"object"==typeof r)return t.error("First argument must be an image or text section.");for(var n=[],i=!1,a=1;a<=e.length-1;++a){var o=e[a];if(i&&"object"==typeof o&&!Array.isArray(o)){i=!1;var s=null;if(o["font-scale"]&&!(s=t.parse(o["font-scale"],1,He)))return null;var l=null;if(o["text-font"]&&!(l=t.parse(o["text-font"],1,Qe(Ge))))return null;var c=null;if(o["text-color"]&&!(c=t.parse(o["text-color"],1,Ze)))return null;var u=n[n.length-1];u.scale=s,u.font=l,u.textColor=c}else{var h=t.parse(e[a],1,Xe);if(!h)return null;var f=h.type.kind;if("string"!==f&&"value"!==f&&"null"!==f&&"resolvedImage"!==f)return t.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");i=!0,n.push({content:h,scale:null,font:null,textColor:null})}}return new xt(n)},xt.prototype.evaluate=function(e){return new ct(this.sections.map((function(t){var r=t.content.evaluate(e);return pt(r)===Je?new lt("",r,null,null,null):new lt(dt(r),null,t.scale?t.scale.evaluate(e):null,t.font?t.font.evaluate(e).join(","):null,t.textColor?t.textColor.evaluate(e):null)})))},xt.prototype.eachChild=function(e){for(var t=0,r=this.sections;t-1),r},_t.prototype.eachChild=function(e){e(this.input)},_t.prototype.outputDefined=function(){return!1},_t.prototype.serialize=function(){return["image",this.input.serialize()]};var bt={"to-boolean":We,"to-color":Ze,"to-number":He,"to-string":Ge},wt=function(e,t){this.type=e,this.args=t};wt.parse=function(e,t){if(e.length<2)return t.error("Expected at least one argument.");var r=e[0];if(("to-boolean"===r||"to-string"===r)&&2!==e.length)return t.error("Expected one argument.");for(var n=bt[r],i=[],a=1;a4?"Invalid rbga value "+JSON.stringify(t)+": expected an array containing either three or four numeric values.":ht(t[0],t[1],t[2],t[3])))return new ot(t[0]/255,t[1]/255,t[2]/255,t[3])}throw new gt(r||"Could not parse color from value '"+("string"==typeof t?t:String(JSON.stringify(t)))+"'")}if("number"===this.type.kind){for(var o=null,s=0,l=this.args;s=t[2]||e[1]<=t[1]||e[3]>=t[3])}function It(e,t){var r=function(e){return(180+e)/360}(e[0]),n=function(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}(e[1]),i=Math.pow(2,t.z);return[Math.round(r*i*St),Math.round(n*i*St)]}function Lt(e,t,r){var n=e[0]-t[0],i=e[1]-t[1],a=e[0]-r[0],o=e[1]-r[1];return n*o-a*i==0&&n*a<=0&&i*o<=0}function Pt(e,t,r){return t[1]>e[1]!=r[1]>e[1]&&e[0]<(r[0]-t[0])*(e[1]-t[1])/(r[1]-t[1])+t[0]}function zt(e,t){for(var r=!1,n=0,i=t.length;n0&&h<0||u<0&&h>0}function Rt(e,t,r,n){var i=[t[0]-e[0],t[1]-e[1]];return 0!==function(e,t){return e[0]*t[1]-e[1]*t[0]}([n[0]-r[0],n[1]-r[1]],i)&&!(!Ot(e,t,r,n)||!Ot(r,n,e,t))}function Ft(e,t,r){for(var n=0,i=r;nr[2]){var i=.5*n,a=e[0]-r[0]>i?-n:r[0]-e[0]>i?n:0;0===a&&(a=e[0]-r[2]>i?-n:r[2]-e[0]>i?n:0),e[0]+=a}Et(t,e)}function qt(e,t,r,n){for(var i=Math.pow(2,n.z)*St,a=[n.x*St,n.y*St],o=[],s=0,l=e;s=0)return!1;var r=!0;return e.eachChild((function(e){r&&!Yt(e,t)&&(r=!1)})),r}Gt.parse=function(e,t){if(2!==e.length)return t.error("'within' expression requires exactly one argument, but found "+(e.length-1)+" instead.");if(ft(e[1])){var r=e[1];if("FeatureCollection"===r.type)for(var n=0;nt))throw new gt("Input is not a number.");o=s-1}return 0}$t.prototype.parse=function(e,t,r,n,i){return void 0===i&&(i={}),t?this.concat(t,r,n)._parse(e,i):this._parse(e,i)},$t.prototype._parse=function(e,t){function r(e,t,r){return"assert"===r?new vt(t,[e]):"coerce"===r?new wt(t,[e]):e}if((null===e||"string"==typeof e||"boolean"==typeof e||"number"==typeof e)&&(e=["literal",e]),Array.isArray(e)){if(0===e.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var n=e[0];if("string"!=typeof n)return this.error("Expression name must be a string, but found "+typeof n+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var i=this.registry[n];if(i){var a=i.parse(e,this);if(!a)return null;if(this.expectedType){var o=this.expectedType,s=a.type;if("string"!==o.kind&&"number"!==o.kind&&"boolean"!==o.kind&&"object"!==o.kind&&"array"!==o.kind||"value"!==s.kind)if("color"!==o.kind&&"formatted"!==o.kind&&"resolvedImage"!==o.kind||"value"!==s.kind&&"string"!==s.kind){if(this.checkSubtype(o,s))return null}else a=r(a,o,t.typeAnnotation||"coerce");else a=r(a,o,t.typeAnnotation||"assert")}if(!(a instanceof mt)&&"resolvedImage"!==a.type.kind&&Kt(a)){var l=new kt;try{a=new mt(a.type,a.evaluate(l))}catch(e){return this.error(e.message),null}}return a}return this.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0)}return typeof e>"u"?this.error("'undefined' value invalid. Use null instead."):"object"==typeof e?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+typeof e+" instead.")},$t.prototype.concat=function(e,t,r){var n="number"==typeof e?this.path.concat(e):this.path,i=r?this.scope.concat(r):this.scope;return new $t(this.registry,n,t||null,i,this.errors)},$t.prototype.error=function(e){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];var n=""+this.key+t.map((function(e){return"["+e+"]"})).join("");this.errors.push(new Ue(n,e))},$t.prototype.checkSubtype=function(e,t){var r=rt(e,t);return r&&this.error(r),r};var Qt=function(e,t,r){this.type=e,this.input=t,this.labels=[],this.outputs=[];for(var n=0,i=r;n=o)return t.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',l);var u=t.parse(s,c,i);if(!u)return null;i=i||u.type,n.push([o,u])}return new Qt(i,r,n)},Qt.prototype.evaluate=function(e){var t=this.labels,r=this.outputs;if(1===t.length)return r[0].evaluate(e);var n=this.input.evaluate(e);if(n<=t[0])return r[0].evaluate(e);var i=t.length;return n>=t[i-1]?r[i-1].evaluate(e):r[Jt(t,n)].evaluate(e)},Qt.prototype.eachChild=function(e){e(this.input);for(var t=0,r=this.outputs;t0&&e.push(this.labels[t]),e.push(this.outputs[t].serialize());return e};var tr=Object.freeze({__proto__:null,number:er,color:function(e,t,r){return new ot(er(e.r,t.r,r),er(e.g,t.g,r),er(e.b,t.b,r),er(e.a,t.a,r))},array:function(e,t,r){return e.map((function(e,n){return er(e,t[n],r)}))}}),rr=.95047,nr=1.08883,ir=4/29,ar=6/29,or=3*ar*ar,sr=ar*ar*ar,lr=Math.PI/180,cr=180/Math.PI;function ur(e){return e>sr?Math.pow(e,1/3):e/or+ir}function hr(e){return e>ar?e*e*e:or*(e-ir)}function fr(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function pr(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function dr(e){var t=pr(e.r),r=pr(e.g),n=pr(e.b),i=ur((.4124564*t+.3575761*r+.1804375*n)/rr),a=ur((.2126729*t+.7151522*r+.072175*n)/1);return{l:116*a-16,a:500*(i-a),b:200*(a-ur((.0193339*t+.119192*r+.9503041*n)/nr)),alpha:e.a}}function mr(e){var t=(e.l+16)/116,r=isNaN(e.a)?t:t+e.a/500,n=isNaN(e.b)?t:t-e.b/200;return t=1*hr(t),r=rr*hr(r),n=nr*hr(n),new ot(fr(3.2404542*r-1.5371385*t-.4985314*n),fr(-.969266*r+1.8760108*t+.041556*n),fr(.0556434*r-.2040259*t+1.0572252*n),e.alpha)}function gr(e,t,r){var n=t-e;return e+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var yr={forward:dr,reverse:mr,interpolate:function(e,t,r){return{l:er(e.l,t.l,r),a:er(e.a,t.a,r),b:er(e.b,t.b,r),alpha:er(e.alpha,t.alpha,r)}}},vr={forward:function(e){var t=dr(e),r=t.l,n=t.a,i=t.b,a=Math.atan2(i,n)*cr;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:e.a}},reverse:function(e){var t=e.h*lr,r=e.c;return mr({l:e.l,a:Math.cos(t)*r,b:Math.sin(t)*r,alpha:e.alpha})},interpolate:function(e,t,r){return{h:gr(e.h,t.h,r),c:er(e.c,t.c,r),l:er(e.l,t.l,r),alpha:er(e.alpha,t.alpha,r)}}},xr=Object.freeze({__proto__:null,lab:yr,hcl:vr}),_r=function(e,t,r,n,i){this.type=e,this.operator=t,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var a=0,o=i;a1})))return t.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:s}}if(e.length-1<4)return t.error("Expected at least 4 arguments, but found only "+(e.length-1)+".");if((e.length-1)%2!=0)return t.error("Expected an even number of arguments.");if(!(i=t.parse(i,2,He)))return null;var l=[],c=null;"interpolate-hcl"===r||"interpolate-lab"===r?c=Ze:t.expectedType&&"value"!==t.expectedType.kind&&(c=t.expectedType);for(var u=0;u=h)return t.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',p);var m=t.parse(f,d,c);if(!m)return null;c=c||m.type,l.push([h,m])}return"number"===c.kind||"color"===c.kind||"array"===c.kind&&"number"===c.itemType.kind&&"number"==typeof c.N?new _r(c,r,n,i,l):t.error("Type "+et(c)+" is not interpolatable.")},_r.prototype.evaluate=function(e){var t=this.labels,r=this.outputs;if(1===t.length)return r[0].evaluate(e);var n=this.input.evaluate(e);if(n<=t[0])return r[0].evaluate(e);var i=t.length;if(n>=t[i-1])return r[i-1].evaluate(e);var a=Jt(t,n),o=t[a],s=t[a+1],l=_r.interpolationFactor(this.interpolation,n,o,s),c=r[a].evaluate(e),u=r[a+1].evaluate(e);return"interpolate"===this.operator?tr[this.type.kind.toLowerCase()](c,u,l):"interpolate-hcl"===this.operator?vr.reverse(vr.interpolate(vr.forward(c),vr.forward(u),l)):yr.reverse(yr.interpolate(yr.forward(c),yr.forward(u),l))},_r.prototype.eachChild=function(e){e(this.input);for(var t=0,r=this.outputs;t=r.length)throw new gt("Array index out of bounds: "+t+" > "+(r.length-1)+".");if(t!==Math.floor(t))throw new gt("Array index must be an integer, but found "+t+" instead.");return r[t]},kr.prototype.eachChild=function(e){e(this.index),e(this.input)},kr.prototype.outputDefined=function(){return!1},kr.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var Ar=function(e,t){this.type=We,this.needle=e,this.haystack=t};Ar.parse=function(e,t){if(3!==e.length)return t.error("Expected 2 arguments, but found "+(e.length-1)+" instead.");var r=t.parse(e[1],1,Xe),n=t.parse(e[2],2,Xe);return r&&n?nt(r.type,[We,Ge,He,qe,Xe])?new Ar(r,n):t.error("Expected first argument to be of type boolean, string, number or null, but found "+et(r.type)+" instead"):null},Ar.prototype.evaluate=function(e){var t=this.needle.evaluate(e),r=this.haystack.evaluate(e);if(!r)return!1;if(!it(t,["boolean","string","number","null"]))throw new gt("Expected first argument to be of type boolean, string, number or null, but found "+et(pt(t))+" instead.");if(!it(r,["string","array"]))throw new gt("Expected second argument to be of type array or string, but found "+et(pt(r))+" instead.");return r.indexOf(t)>=0},Ar.prototype.eachChild=function(e){e(this.needle),e(this.haystack)},Ar.prototype.outputDefined=function(){return!0},Ar.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};var Mr=function(e,t,r){this.type=He,this.needle=e,this.haystack=t,this.fromIndex=r};Mr.parse=function(e,t){if(e.length<=2||e.length>=5)return t.error("Expected 3 or 4 arguments, but found "+(e.length-1)+" instead.");var r=t.parse(e[1],1,Xe),n=t.parse(e[2],2,Xe);if(!r||!n)return null;if(!nt(r.type,[We,Ge,He,qe,Xe]))return t.error("Expected first argument to be of type boolean, string, number or null, but found "+et(r.type)+" instead");if(4===e.length){var i=t.parse(e[3],3,He);return i?new Mr(r,n,i):null}return new Mr(r,n)},Mr.prototype.evaluate=function(e){var t=this.needle.evaluate(e),r=this.haystack.evaluate(e);if(!it(t,["boolean","string","number","null"]))throw new gt("Expected first argument to be of type boolean, string, number or null, but found "+et(pt(t))+" instead.");if(!it(r,["string","array"]))throw new gt("Expected second argument to be of type array or string, but found "+et(pt(r))+" instead.");if(this.fromIndex){var n=this.fromIndex.evaluate(e);return r.indexOf(t,n)}return r.indexOf(t)},Mr.prototype.eachChild=function(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)},Mr.prototype.outputDefined=function(){return!1},Mr.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var e=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),e]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};var Sr=function(e,t,r,n,i,a){this.inputType=e,this.type=t,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};Sr.parse=function(e,t){if(e.length<5)return t.error("Expected at least 4 arguments, but found only "+(e.length-1)+".");if(e.length%2!=1)return t.error("Expected an even number of arguments.");var r,n;t.expectedType&&"value"!==t.expectedType.kind&&(n=t.expectedType);for(var i={},a=[],o=2;oNumber.MAX_SAFE_INTEGER)return c.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof f&&Math.floor(f)!==f)return c.error("Numeric branch labels must be integer values.");if(r){if(c.checkSubtype(r,pt(f)))return null}else r=pt(f);if(typeof i[String(f)]<"u")return c.error("Branch labels must be unique.");i[String(f)]=a.length}var p=t.parse(l,o,n);if(!p)return null;n=n||p.type,a.push(p)}var d=t.parse(e[1],1,Xe);if(!d)return null;var m=t.parse(e[e.length-1],e.length-1,n);return!m||"value"!==d.type.kind&&t.concat(1).checkSubtype(r,d.type)?null:new Sr(r,n,d,i,a,m)},Sr.prototype.evaluate=function(e){var t=this.input.evaluate(e);return(pt(t)===this.inputType&&this.outputs[this.cases[t]]||this.otherwise).evaluate(e)},Sr.prototype.eachChild=function(e){e(this.input),this.outputs.forEach(e),e(this.otherwise)},Sr.prototype.outputDefined=function(){return this.outputs.every((function(e){return e.outputDefined()}))&&this.otherwise.outputDefined()},Sr.prototype.serialize=function(){for(var e=this,t=["match",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i=5)return t.error("Expected 3 or 4 arguments, but found "+(e.length-1)+" instead.");var r=t.parse(e[1],1,Xe),n=t.parse(e[2],2,He);if(!r||!n)return null;if(!nt(r.type,[Qe(Xe),Ge,Xe]))return t.error("Expected first argument to be of type array or string, but found "+et(r.type)+" instead");if(4===e.length){var i=t.parse(e[3],3,He);return i?new Cr(r.type,r,n,i):null}return new Cr(r.type,r,n)},Cr.prototype.evaluate=function(e){var t=this.input.evaluate(e),r=this.beginIndex.evaluate(e);if(!it(t,["string","array"]))throw new gt("Expected first argument to be of type array or string, but found "+et(pt(t))+" instead.");if(this.endIndex){var n=this.endIndex.evaluate(e);return t.slice(r,n)}return t.slice(r)},Cr.prototype.eachChild=function(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)},Cr.prototype.outputDefined=function(){return!1},Cr.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var e=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),e]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};var zr=Pr("==",(function(e,t,r){return t===r}),Lr),Dr=Pr("!=",(function(e,t,r){return t!==r}),(function(e,t,r,n){return!Lr(0,t,r,n)})),Or=Pr("<",(function(e,t,r){return t",(function(e,t,r){return t>r}),(function(e,t,r,n){return n.compare(t,r)>0})),Fr=Pr("<=",(function(e,t,r){return t<=r}),(function(e,t,r,n){return n.compare(t,r)<=0})),Br=Pr(">=",(function(e,t,r){return t>=r}),(function(e,t,r,n){return n.compare(t,r)>=0})),jr=function(e,t,r,n,i){this.type=Ge,this.number=e,this.locale=t,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i};jr.parse=function(e,t){if(3!==e.length)return t.error("Expected two arguments.");var r=t.parse(e[1],1,He);if(!r)return null;var n=e[2];if("object"!=typeof n||Array.isArray(n))return t.error("NumberFormat options argument must be an object.");var i=null;if(n.locale&&!(i=t.parse(n.locale,1,Ge)))return null;var a=null;if(n.currency&&!(a=t.parse(n.currency,1,Ge)))return null;var o=null;if(n["min-fraction-digits"]&&!(o=t.parse(n["min-fraction-digits"],1,He)))return null;var s=null;return n["max-fraction-digits"]&&!(s=t.parse(n["max-fraction-digits"],1,He))?null:new jr(r,i,a,o,s)},jr.prototype.evaluate=function(e){return new Intl.NumberFormat(this.locale?this.locale.evaluate(e):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(e):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(e):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(e):void 0}).format(this.number.evaluate(e))},jr.prototype.eachChild=function(e){e(this.number),this.locale&&e(this.locale),this.currency&&e(this.currency),this.minFractionDigits&&e(this.minFractionDigits),this.maxFractionDigits&&e(this.maxFractionDigits)},jr.prototype.outputDefined=function(){return!1},jr.prototype.serialize=function(){var e={};return this.locale&&(e.locale=this.locale.serialize()),this.currency&&(e.currency=this.currency.serialize()),this.minFractionDigits&&(e["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(e["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),e]};var Nr=function(e){this.type=He,this.input=e};Nr.parse=function(e,t){if(2!==e.length)return t.error("Expected 1 argument, but found "+(e.length-1)+" instead.");var r=t.parse(e[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?t.error("Expected argument of type string or array, but found "+et(r.type)+" instead."):new Nr(r):null},Nr.prototype.evaluate=function(e){var t=this.input.evaluate(e);if("string"==typeof t)return t.length;if(Array.isArray(t))return t.length;throw new gt("Expected value to be of type string or array, but found "+et(pt(t))+" instead.")},Nr.prototype.eachChild=function(e){e(this.input)},Nr.prototype.outputDefined=function(){return!1},Nr.prototype.serialize=function(){var e=["length"];return this.eachChild((function(t){e.push(t.serialize())})),e};var Ur={"==":zr,"!=":Dr,">":Rr,"<":Or,">=":Br,"<=":Fr,array:vt,at:kr,boolean:vt,case:Er,coalesce:wr,collator:Mt,format:xt,image:_t,in:Ar,"index-of":Mr,interpolate:_r,"interpolate-hcl":_r,"interpolate-lab":_r,length:Nr,let:Tr,literal:mt,match:Sr,number:vt,"number-format":jr,object:vt,slice:Cr,step:Qt,string:vt,"to-boolean":wt,"to-color":wt,"to-number":wt,"to-string":wt,var:Xt,within:Gt};function Vr(e,t){var r=t[0],n=t[1],i=t[2],a=t[3];r=r.evaluate(e),n=n.evaluate(e),i=i.evaluate(e);var o=a?a.evaluate(e):1,s=ht(r,n,i,o);if(s)throw new gt(s);return new ot(r/255*o,n/255*o,i/255*o,o)}function qr(e,t){return e in t}function Hr(e,t){var r=t[e];return typeof r>"u"?null:r}function Gr(e){return{type:e}}function Wr(e){return{result:"success",value:e}}function Zr(e){return{result:"error",value:e}}function Yr(e){return"data-driven"===e["property-type"]||"cross-faded-data-driven"===e["property-type"]}function Xr(e){return!!e.expression&&e.expression.parameters.indexOf("zoom")>-1}function $r(e){return!!e.expression&&e.expression.interpolated}function Kr(e){return e instanceof Number?"number":e instanceof String?"string":e instanceof Boolean?"boolean":Array.isArray(e)?"array":null===e?"null":typeof e}function Jr(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function Qr(e){return e}function en(e,t){var r,n,i,a="color"===t.type,o=e.stops&&"object"==typeof e.stops[0][0],s=o||void 0!==e.property,l=o||!s,c=e.type||($r(t)?"exponential":"interval");if(a&&((e=Be({},e)).stops&&(e.stops=e.stops.map((function(e){return[e[0],ot.parse(e[1])]}))),e.default?e.default=ot.parse(e.default):e.default=ot.parse(t.default)),e.colorSpace&&"rgb"!==e.colorSpace&&!xr[e.colorSpace])throw new Error("Unknown color space: "+e.colorSpace);if("exponential"===c)r=an;else if("interval"===c)r=nn;else if("categorical"===c){r=rn,n=Object.create(null);for(var u=0,h=e.stops;u=e.stops[n-1][0])return e.stops[n-1][1];var i=Jt(e.stops.map((function(e){return e[0]})),r);return e.stops[i][1]}function an(e,t,r){var n=void 0!==e.base?e.base:1;if("number"!==Kr(r))return tn(e.default,t.default);var i=e.stops.length;if(1===i||r<=e.stops[0][0])return e.stops[0][1];if(r>=e.stops[i-1][0])return e.stops[i-1][1];var a=Jt(e.stops.map((function(e){return e[0]})),r),o=function(e,t,r,n){var i=n-r,a=e-r;return 0===i?0:1===t?a/i:(Math.pow(t,a)-1)/(Math.pow(t,i)-1)}(r,n,e.stops[a][0],e.stops[a+1][0]),s=e.stops[a][1],l=e.stops[a+1][1],c=tr[t.type]||Qr;if(e.colorSpace&&"rgb"!==e.colorSpace){var u=xr[e.colorSpace];c=function(e,t){return u.reverse(u.interpolate(u.forward(e),u.forward(t),o))}}return"function"==typeof s.evaluate?{evaluate:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var r=s.evaluate.apply(void 0,e),n=l.evaluate.apply(void 0,e);if(void 0!==r&&void 0!==n)return c(r,n,o)}}:c(s,l,o)}function on(e,t,r){return"color"===t.type?r=ot.parse(r):"formatted"===t.type?r=ct.fromString(r.toString()):"resolvedImage"===t.type?r=ut.fromString(r.toString()):Kr(r)!==t.type&&("enum"!==t.type||!t.values[r])&&(r=void 0),tn(r,e.default,t.default)}At.register(Ur,{error:[{kind:"error"},[Ge],function(e,t){var r=t[0];throw new gt(r.evaluate(e))}],typeof:[Ge,[Xe],function(e,t){return et(pt(t[0].evaluate(e)))}],"to-rgba":[Qe(He,4),[Ze],function(e,t){return t[0].evaluate(e).toArray()}],rgb:[Ze,[He,He,He],Vr],rgba:[Ze,[He,He,He,He],Vr],has:{type:We,overloads:[[[Ge],function(e,t){return qr(t[0].evaluate(e),e.properties())}],[[Ge,Ye],function(e,t){var r=t[0],n=t[1];return qr(r.evaluate(e),n.evaluate(e))}]]},get:{type:Xe,overloads:[[[Ge],function(e,t){return Hr(t[0].evaluate(e),e.properties())}],[[Ge,Ye],function(e,t){var r=t[0],n=t[1];return Hr(r.evaluate(e),n.evaluate(e))}]]},"feature-state":[Xe,[Ge],function(e,t){return Hr(t[0].evaluate(e),e.featureState||{})}],properties:[Ye,[],function(e){return e.properties()}],"geometry-type":[Ge,[],function(e){return e.geometryType()}],id:[Xe,[],function(e){return e.id()}],zoom:[He,[],function(e){return e.globals.zoom}],"heatmap-density":[He,[],function(e){return e.globals.heatmapDensity||0}],"line-progress":[He,[],function(e){return e.globals.lineProgress||0}],accumulated:[Xe,[],function(e){return void 0===e.globals.accumulated?null:e.globals.accumulated}],"+":[He,Gr(He),function(e,t){for(var r=0,n=0,i=t;n":[We,[Ge,Xe],function(e,t){var r=t[0],n=t[1],i=e.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],"filter-id->":[We,[Xe],function(e,t){var r=t[0],n=e.id(),i=r.value;return typeof n==typeof i&&n>i}],"filter-<=":[We,[Ge,Xe],function(e,t){var r=t[0],n=t[1],i=e.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],"filter-id-<=":[We,[Xe],function(e,t){var r=t[0],n=e.id(),i=r.value;return typeof n==typeof i&&n<=i}],"filter->=":[We,[Ge,Xe],function(e,t){var r=t[0],n=t[1],i=e.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],"filter-id->=":[We,[Xe],function(e,t){var r=t[0],n=e.id(),i=r.value;return typeof n==typeof i&&n>=i}],"filter-has":[We,[Xe],function(e,t){return t[0].value in e.properties()}],"filter-has-id":[We,[],function(e){return null!==e.id()&&void 0!==e.id()}],"filter-type-in":[We,[Qe(Ge)],function(e,t){return t[0].value.indexOf(e.geometryType())>=0}],"filter-id-in":[We,[Qe(Xe)],function(e,t){return t[0].value.indexOf(e.id())>=0}],"filter-in-small":[We,[Ge,Qe(Xe)],function(e,t){var r=t[0];return t[1].value.indexOf(e.properties()[r.value])>=0}],"filter-in-large":[We,[Ge,Qe(Xe)],function(e,t){var r=t[0],n=t[1];return function(e,t,r,n){for(;r<=n;){var i=r+n>>1;if(t[i]===e)return!0;t[i]>e?n=i-1:r=i+1}return!1}(e.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:We,overloads:[[[We,We],function(e,t){var r=t[0],n=t[1];return r.evaluate(e)&&n.evaluate(e)}],[Gr(We),function(e,t){for(var r=0,n=t;r0&&"string"==typeof e[0]&&e[0]in Ur}function cn(e,t){var r=new $t(Ur,[],t?function(e){var t={color:Ze,string:Ge,number:He,enum:Ge,boolean:We,formatted:Ke,resolvedImage:Je};return"array"===e.type?Qe(t[e.value]||Xe,e.length):t[e.type]}(t):void 0),n=r.parse(e,void 0,void 0,void 0,t&&"string"===t.type?{typeAnnotation:"coerce"}:void 0);return n?Wr(new sn(n,t)):Zr(r.errors)}sn.prototype.evaluateWithoutErrorHandling=function(e,t,r,n,i,a){return this._evaluator.globals=e,this._evaluator.feature=t,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)},sn.prototype.evaluate=function(e,t,r,n,i,a){this._evaluator.globals=e,this._evaluator.feature=t||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||"number"==typeof o&&o!=o)return this._defaultValue;if(this._enumValues&&!(o in this._enumValues))throw new gt("Expected value to be one of "+Object.keys(this._enumValues).map((function(e){return JSON.stringify(e)})).join(", ")+", but found "+JSON.stringify(o)+" instead.");return o}catch(e){return this._warningHistory[e.message]||(this._warningHistory[e.message]=!0,typeof console<"u"&&console.warn(e.message)),this._defaultValue}};var un=function(e,t){this.kind=e,this._styleExpression=t,this.isStateDependent="constant"!==e&&!Zt(t.expression)};un.prototype.evaluateWithoutErrorHandling=function(e,t,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(e,t,r,n,i,a)},un.prototype.evaluate=function(e,t,r,n,i,a){return this._styleExpression.evaluate(e,t,r,n,i,a)};var hn=function(e,t,r,n){this.kind=e,this.zoomStops=r,this._styleExpression=t,this.isStateDependent="camera"!==e&&!Zt(t.expression),this.interpolationType=n};function fn(e,t){if("error"===(e=cn(e,t)).result)return e;var r=e.value.expression,n=Wt(r);if(!n&&!Yr(t))return Zr([new Ue("","data expressions not supported")]);var i=Yt(r,["zoom"]);if(!i&&!Xr(t))return Zr([new Ue("","zoom expressions not supported")]);var a=dn(r);if(!a&&!i)return Zr([new Ue("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(a instanceof Ue)return Zr([a]);if(a instanceof _r&&!$r(t))return Zr([new Ue("",'"interpolate" expressions cannot be used with this property')]);if(!a)return Wr(new un(n?"constant":"source",e.value));var o=a instanceof _r?a.interpolation:void 0;return Wr(new hn(n?"camera":"composite",e.value,a.labels,o))}hn.prototype.evaluateWithoutErrorHandling=function(e,t,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(e,t,r,n,i,a)},hn.prototype.evaluate=function(e,t,r,n,i,a){return this._styleExpression.evaluate(e,t,r,n,i,a)},hn.prototype.interpolationFactor=function(e,t,r){return this.interpolationType?_r.interpolationFactor(this.interpolationType,e,t,r):0};var pn=function(e,t){this._parameters=e,this._specification=t,Be(this,en(this._parameters,this._specification))};function dn(e){var t=null;if(e instanceof Tr)t=dn(e.result);else if(e instanceof wr)for(var r=0,n=e.args;rn.maximum?[new Re(t,r,r+" is greater than the maximum value "+n.maximum)]:[]}function vn(e){var t,r,n,i=e.valueSpec,a=je(e.value.type),o={},s="categorical"!==a&&void 0===e.value.property,l=!s,c="array"===Kr(e.value.stops)&&"array"===Kr(e.value.stops[0])&&"object"===Kr(e.value.stops[0][0]),u=mn({key:e.key,value:e.value,valueSpec:e.styleSpec.function,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{stops:function(e){if("identity"===a)return[new Re(e.key,e.value,'identity function may not have a "stops" property')];var t=[],r=e.value;return t=t.concat(gn({key:e.key,value:r,valueSpec:e.valueSpec,style:e.style,styleSpec:e.styleSpec,arrayElementValidator:h})),"array"===Kr(r)&&0===r.length&&t.push(new Re(e.key,r,"array must have at least one stop")),t},default:function(e){return Vn({key:e.key,value:e.value,valueSpec:i,style:e.style,styleSpec:e.styleSpec})}}});return"identity"===a&&s&&u.push(new Re(e.key,e.value,'missing required property "property"')),"identity"!==a&&!e.value.stops&&u.push(new Re(e.key,e.value,'missing required property "stops"')),"exponential"===a&&e.valueSpec.expression&&!$r(e.valueSpec)&&u.push(new Re(e.key,e.value,"exponential functions not supported")),e.styleSpec.$version>=8&&(l&&!Yr(e.valueSpec)?u.push(new Re(e.key,e.value,"property functions not supported")):s&&!Xr(e.valueSpec)&&u.push(new Re(e.key,e.value,"zoom functions not supported"))),("categorical"===a||c)&&void 0===e.value.property&&u.push(new Re(e.key,e.value,'"property" property is required')),u;function h(e){var t=[],a=e.value,s=e.key;if("array"!==Kr(a))return[new Re(s,a,"array expected, "+Kr(a)+" found")];if(2!==a.length)return[new Re(s,a,"array length 2 expected, length "+a.length+" found")];if(c){if("object"!==Kr(a[0]))return[new Re(s,a,"object expected, "+Kr(a[0])+" found")];if(void 0===a[0].zoom)return[new Re(s,a,"object stop key must have zoom")];if(void 0===a[0].value)return[new Re(s,a,"object stop key must have value")];if(n&&n>je(a[0].zoom))return[new Re(s,a[0].zoom,"stop zoom values must appear in ascending order")];je(a[0].zoom)!==n&&(n=je(a[0].zoom),r=void 0,o={}),t=t.concat(mn({key:s+"[0]",value:a[0],valueSpec:{zoom:{}},style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:yn,value:f}}))}else t=t.concat(f({key:s+"[0]",value:a[0],valueSpec:{},style:e.style,styleSpec:e.styleSpec},a));return ln(Ne(a[1]))?t.concat([new Re(s+"[1]",a[1],"expressions are not allowed in function stops.")]):t.concat(Vn({key:s+"[1]",value:a[1],valueSpec:i,style:e.style,styleSpec:e.styleSpec}))}function f(e,n){var s=Kr(e.value),l=je(e.value),c=null!==e.value?e.value:n;if(t){if(s!==t)return[new Re(e.key,c,s+" stop domain type must match previous stop domain type "+t)]}else t=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new Re(e.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==a){var u="number expected, "+s+" found";return Yr(i)&&void 0===a&&(u+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new Re(e.key,c,u)]}return"categorical"!==a||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==a&&"number"===s&&void 0!==r&&l=2&&"$id"!==e[1]&&"$type"!==e[1];case"in":return e.length>=3&&("string"!=typeof e[1]||Array.isArray(e[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==e.length||Array.isArray(e[1])||Array.isArray(e[2]);case"any":case"all":for(var t=0,r=e.slice(1);tt?1:0}function An(e){if(!Array.isArray(e))return!1;if("within"===e[0])return!0;for(var t=1;t"===t||"<="===t||">="===t?Sn(e[1],e[2],t):"any"===t?function(e){return["any"].concat(e.map(Mn))}(e.slice(1)):"all"===t?["all"].concat(e.slice(1).map(Mn)):"none"===t?["all"].concat(e.slice(1).map(Mn).map(In)):"in"===t?En(e[1],e.slice(2)):"!in"===t?In(En(e[1],e.slice(2))):"has"===t?Cn(e[1]):"!has"===t?In(Cn(e[1])):"within"!==t||e}function Sn(e,t,r){switch(e){case"$type":return["filter-type-"+r,t];case"$id":return["filter-id-"+r,t];default:return["filter-"+r,e,t]}}function En(e,t){if(0===t.length)return!1;switch(e){case"$type":return["filter-type-in",["literal",t]];case"$id":return["filter-id-in",["literal",t]];default:return t.length>200&&!t.some((function(e){return typeof e!=typeof t[0]}))?["filter-in-large",e,["literal",t.sort(kn)]]:["filter-in-small",e,["literal",t]]}}function Cn(e){switch(e){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",e]}}function In(e){return["!",e]}function Ln(e){return bn(Ne(e.value))?xn(Be({},e,{expressionContext:"filter",valueSpec:{value:"boolean"}})):Pn(e)}function Pn(e){var t=e.value,r=e.key;if("array"!==Kr(t))return[new Re(r,t,"array expected, "+Kr(t)+" found")];var n,i=e.styleSpec,a=[];if(t.length<1)return[new Re(r,t,"filter array must have at least 1 element")];switch(a=a.concat(_n({key:r+"[0]",value:t[0],valueSpec:i.filter_operator,style:e.style,styleSpec:e.styleSpec})),je(t[0])){case"<":case"<=":case">":case">=":t.length>=2&&"$type"===je(t[1])&&a.push(new Re(r,t,'"$type" cannot be use with operator "'+t[0]+'"'));case"==":case"!=":3!==t.length&&a.push(new Re(r,t,'filter array for operator "'+t[0]+'" must have 3 elements'));case"in":case"!in":t.length>=2&&"string"!==(n=Kr(t[1]))&&a.push(new Re(r+"[1]",t[1],"string expected, "+n+" found"));for(var o=2;o=u[p+0]&&n>=u[p+1])?(o[f]=!0,a.push(c[f])):o[f]=!1}}},ei.prototype._forEachCell=function(e,t,r,n,i,a,o,s){for(var l=this._convertToCellCoord(e),c=this._convertToCellCoord(t),u=this._convertToCellCoord(r),h=this._convertToCellCoord(n),f=l;f<=u;f++)for(var p=c;p<=h;p++){var d=this.d*p+f;if((!s||s(this._convertFromCellCoord(f),this._convertFromCellCoord(p),this._convertFromCellCoord(f+1),this._convertFromCellCoord(p+1)))&&i.call(this,e,t,r,n,d,a,o,s))return}},ei.prototype._convertFromCellCoord=function(e){return(e-this.padding)/this.scale},ei.prototype._convertToCellCoord=function(e){return Math.max(0,Math.min(this.d-1,Math.floor(e*this.scale)+this.padding))},ei.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var e=this.cells,t=Qn+this.cells.length+1+1,r=0,n=0;n=0)){var h=e[u];c[u]=ni[l].shallow.indexOf(u)>=0?h:li(h,t)}e instanceof Error&&(c.message=e.message)}if(c.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==l&&(c.$name=l),c}throw new Error("can't serialize object of type "+typeof e)}function ci(e){if(null==e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp||oi(e)||si(e)||ArrayBuffer.isView(e)||e instanceof ti)return e;if(Array.isArray(e))return e.map(ci);if("object"==typeof e){var t=e.$name||"Object",r=ni[t].klass;if(!r)throw new Error("can't deserialize unregistered class "+t);if(r.deserialize)return r.deserialize(e);for(var n=Object.create(r.prototype),i=0,a=Object.keys(e);i=0?s:ci(s)}}return n}throw new Error("can't deserialize object of type "+typeof e)}var ui=function(){this.first=!0};ui.prototype.update=function(e,t){var r=Math.floor(e);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=e,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=t):this.lastFloorZoom=128&&e<=255},Arabic:function(e){return e>=1536&&e<=1791},"Arabic Supplement":function(e){return e>=1872&&e<=1919},"Arabic Extended-A":function(e){return e>=2208&&e<=2303},"Hangul Jamo":function(e){return e>=4352&&e<=4607},"Unified Canadian Aboriginal Syllabics":function(e){return e>=5120&&e<=5759},Khmer:function(e){return e>=6016&&e<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(e){return e>=6320&&e<=6399},"General Punctuation":function(e){return e>=8192&&e<=8303},"Letterlike Symbols":function(e){return e>=8448&&e<=8527},"Number Forms":function(e){return e>=8528&&e<=8591},"Miscellaneous Technical":function(e){return e>=8960&&e<=9215},"Control Pictures":function(e){return e>=9216&&e<=9279},"Optical Character Recognition":function(e){return e>=9280&&e<=9311},"Enclosed Alphanumerics":function(e){return e>=9312&&e<=9471},"Geometric Shapes":function(e){return e>=9632&&e<=9727},"Miscellaneous Symbols":function(e){return e>=9728&&e<=9983},"Miscellaneous Symbols and Arrows":function(e){return e>=11008&&e<=11263},"CJK Radicals Supplement":function(e){return e>=11904&&e<=12031},"Kangxi Radicals":function(e){return e>=12032&&e<=12255},"Ideographic Description Characters":function(e){return e>=12272&&e<=12287},"CJK Symbols and Punctuation":function(e){return e>=12288&&e<=12351},Hiragana:function(e){return e>=12352&&e<=12447},Katakana:function(e){return e>=12448&&e<=12543},Bopomofo:function(e){return e>=12544&&e<=12591},"Hangul Compatibility Jamo":function(e){return e>=12592&&e<=12687},Kanbun:function(e){return e>=12688&&e<=12703},"Bopomofo Extended":function(e){return e>=12704&&e<=12735},"CJK Strokes":function(e){return e>=12736&&e<=12783},"Katakana Phonetic Extensions":function(e){return e>=12784&&e<=12799},"Enclosed CJK Letters and Months":function(e){return e>=12800&&e<=13055},"CJK Compatibility":function(e){return e>=13056&&e<=13311},"CJK Unified Ideographs Extension A":function(e){return e>=13312&&e<=19903},"Yijing Hexagram Symbols":function(e){return e>=19904&&e<=19967},"CJK Unified Ideographs":function(e){return e>=19968&&e<=40959},"Yi Syllables":function(e){return e>=40960&&e<=42127},"Yi Radicals":function(e){return e>=42128&&e<=42191},"Hangul Jamo Extended-A":function(e){return e>=43360&&e<=43391},"Hangul Syllables":function(e){return e>=44032&&e<=55215},"Hangul Jamo Extended-B":function(e){return e>=55216&&e<=55295},"Private Use Area":function(e){return e>=57344&&e<=63743},"CJK Compatibility Ideographs":function(e){return e>=63744&&e<=64255},"Arabic Presentation Forms-A":function(e){return e>=64336&&e<=65023},"Vertical Forms":function(e){return e>=65040&&e<=65055},"CJK Compatibility Forms":function(e){return e>=65072&&e<=65103},"Small Form Variants":function(e){return e>=65104&&e<=65135},"Arabic Presentation Forms-B":function(e){return e>=65136&&e<=65279},"Halfwidth and Fullwidth Forms":function(e){return e>=65280&&e<=65519}};function fi(e){for(var t=0,r=e;t=65097&&e<=65103)||hi["CJK Compatibility Ideographs"](e)||hi["CJK Compatibility"](e)||hi["CJK Radicals Supplement"](e)||hi["CJK Strokes"](e)||hi["CJK Symbols and Punctuation"](e)&&!(e>=12296&&e<=12305)&&!(e>=12308&&e<=12319)&&12336!==e||hi["CJK Unified Ideographs Extension A"](e)||hi["CJK Unified Ideographs"](e)||hi["Enclosed CJK Letters and Months"](e)||hi["Hangul Compatibility Jamo"](e)||hi["Hangul Jamo Extended-A"](e)||hi["Hangul Jamo Extended-B"](e)||hi["Hangul Jamo"](e)||hi["Hangul Syllables"](e)||hi.Hiragana(e)||hi["Ideographic Description Characters"](e)||hi.Kanbun(e)||hi["Kangxi Radicals"](e)||hi["Katakana Phonetic Extensions"](e)||hi.Katakana(e)&&12540!==e||!(!hi["Halfwidth and Fullwidth Forms"](e)||65288===e||65289===e||65293===e||e>=65306&&e<=65310||65339===e||65341===e||65343===e||e>=65371&&e<=65503||65507===e||e>=65512&&e<=65519)||!(!hi["Small Form Variants"](e)||e>=65112&&e<=65118||e>=65123&&e<=65126)||hi["Unified Canadian Aboriginal Syllabics"](e)||hi["Unified Canadian Aboriginal Syllabics Extended"](e)||hi["Vertical Forms"](e)||hi["Yijing Hexagram Symbols"](e)||hi["Yi Syllables"](e)||hi["Yi Radicals"](e))}function gi(e){return!(mi(e)||function(e){return!!(hi["Latin-1 Supplement"](e)&&(167===e||169===e||174===e||177===e||188===e||189===e||190===e||215===e||247===e)||hi["General Punctuation"](e)&&(8214===e||8224===e||8225===e||8240===e||8241===e||8251===e||8252===e||8258===e||8263===e||8264===e||8265===e||8273===e)||hi["Letterlike Symbols"](e)||hi["Number Forms"](e)||hi["Miscellaneous Technical"](e)&&(e>=8960&&e<=8967||e>=8972&&e<=8991||e>=8996&&e<=9e3||9003===e||e>=9085&&e<=9114||e>=9150&&e<=9165||9167===e||e>=9169&&e<=9179||e>=9186&&e<=9215)||hi["Control Pictures"](e)&&9251!==e||hi["Optical Character Recognition"](e)||hi["Enclosed Alphanumerics"](e)||hi["Geometric Shapes"](e)||hi["Miscellaneous Symbols"](e)&&!(e>=9754&&e<=9759)||hi["Miscellaneous Symbols and Arrows"](e)&&(e>=11026&&e<=11055||e>=11088&&e<=11097||e>=11192&&e<=11243)||hi["CJK Symbols and Punctuation"](e)||hi.Katakana(e)||hi["Private Use Area"](e)||hi["CJK Compatibility Forms"](e)||hi["Small Form Variants"](e)||hi["Halfwidth and Fullwidth Forms"](e)||8734===e||8756===e||8757===e||e>=9984&&e<=10087||e>=10102&&e<=10131||65532===e||65533===e)}(e))}function yi(e){return hi.Arabic(e)||hi["Arabic Supplement"](e)||hi["Arabic Extended-A"](e)||hi["Arabic Presentation Forms-A"](e)||hi["Arabic Presentation Forms-B"](e)}function vi(e){return e>=1424&&e<=2303||hi["Arabic Presentation Forms-A"](e)||hi["Arabic Presentation Forms-B"](e)}function xi(e,t){return!(!t&&vi(e)||e>=2304&&e<=3583||e>=3840&&e<=4255||hi.Khmer(e))}function _i(e){for(var t=0,r=e;t-1&&(Ai="error"),ki&&ki(e)};function Ei(){Ci.fire(new Pe("pluginStateChange",{pluginStatus:Ai,pluginURL:Mi}))}var Ci=new De,Ii=function(){return Ai},Li=function(){if(Ai!==bi||!Mi)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");Ai=wi,Ei(),Mi&&Te({url:Mi},(function(e){e?Si(e):(Ai=Ti,Ei())}))},Pi={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return Ai===Ti||null!=Pi.applyArabicShaping},isLoading:function(){return Ai===wi},setState:function(e){Ai=e.pluginStatus,Mi=e.pluginURL},isParsed:function(){return null!=Pi.applyArabicShaping&&null!=Pi.processBidirectionalText&&null!=Pi.processStyledBidirectionalText},getPluginURL:function(){return Mi}},zi=function(e,t){this.zoom=e,t?(this.now=t.now,this.fadeDuration=t.fadeDuration,this.zoomHistory=t.zoomHistory,this.transition=t.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new ui,this.transition={})};zi.prototype.isSupportedScript=function(e){return function(e,t){for(var r=0,n=e;rthis.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:t+(1-t)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*t}};var Di=function(e,t){this.property=e,this.value=t,this.expression=function(e,t){if(Jr(e))return new pn(e,t);if(ln(e)){var r=fn(e,t);if("error"===r.result)throw new Error(r.value.map((function(e){return e.key+": "+e.message})).join(", "));return r.value}var n=e;return"string"==typeof e&&"color"===t.type&&(n=ot.parse(e)),{kind:"constant",evaluate:function(){return n}}}(void 0===t?e.specification.default:t,e.specification)};Di.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind},Di.prototype.possiblyEvaluate=function(e,t,r){return this.property.possiblyEvaluate(this,e,t,r)};var Oi=function(e){this.property=e,this.value=new Di(e,void 0)};Oi.prototype.transitioned=function(e,t){return new Fi(this.property,this.value,t,p({},e.transition,this.transition),e.now)},Oi.prototype.untransitioned=function(){return new Fi(this.property,this.value,null,{},0)};var Ri=function(e){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues)};Ri.prototype.getValue=function(e){return w(this._values[e].value.value)},Ri.prototype.setValue=function(e,t){this._values.hasOwnProperty(e)||(this._values[e]=new Oi(this._values[e].property)),this._values[e].value=new Di(this._values[e].property,null===t?void 0:w(t))},Ri.prototype.getTransition=function(e){return w(this._values[e].transition)},Ri.prototype.setTransition=function(e,t){this._values.hasOwnProperty(e)||(this._values[e]=new Oi(this._values[e].property)),this._values[e].transition=w(t)||void 0},Ri.prototype.serialize=function(){for(var e={},t=0,r=Object.keys(this._values);tthis.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;var t=e*e,r=t*e;return 4*(e<.5?r:3*(e-t)+r-.75)}(o))}return i};var Bi=function(e){this._properties=e,this._values=Object.create(e.defaultTransitioningPropertyValues)};Bi.prototype.possiblyEvaluate=function(e,t,r){for(var n=new Ui(this._properties),i=0,a=Object.keys(this._values);in.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:r,to:t}},t.prototype.interpolate=function(e){return e},t}(qi),Gi=function(e){this.specification=e};Gi.prototype.possiblyEvaluate=function(e,t,r,n){if(void 0!==e.value){if("constant"===e.expression.kind){var i=e.expression.evaluate(t,null,{},r,n);return this._calculate(i,i,i,t)}return this._calculate(e.expression.evaluate(new zi(Math.floor(t.zoom-1),t)),e.expression.evaluate(new zi(Math.floor(t.zoom),t)),e.expression.evaluate(new zi(Math.floor(t.zoom+1),t)),t)}},Gi.prototype._calculate=function(e,t,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:r,to:t}},Gi.prototype.interpolate=function(e){return e};var Wi=function(e){this.specification=e};Wi.prototype.possiblyEvaluate=function(e,t,r,n){return!!e.expression.evaluate(t,null,{},r,n)},Wi.prototype.interpolate=function(){return!1};var Zi=function(e){for(var t in this.properties=e,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],e){var r=e[t];r.specification.overridable&&this.overridableProperties.push(t);var n=this.defaultPropertyValues[t]=new Di(r,void 0),i=this.defaultTransitionablePropertyValues[t]=new Oi(r);this.defaultTransitioningPropertyValues[t]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[t]=n.possiblyEvaluate({})}};ii("DataDrivenProperty",qi),ii("DataConstantProperty",Vi),ii("CrossFadedDataDrivenProperty",Hi),ii("CrossFadedProperty",Gi),ii("ColorRampProperty",Wi);var Yi="-transition",Xi=function(e){function t(t,r){if(e.call(this),this.id=t.id,this.type=t.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},"custom"!==t.type&&(this.metadata=t.metadata,this.minzoom=t.minzoom,this.maxzoom=t.maxzoom,"background"!==t.type&&(this.source=t.source,this.sourceLayer=t["source-layer"],this.filter=t.filter),r.layout&&(this._unevaluatedLayout=new ji(r.layout)),r.paint)){for(var n in this._transitionablePaint=new Ri(r.paint),t.paint)this.setPaintProperty(n,t.paint[n],{validate:!1});for(var i in t.layout)this.setLayoutProperty(i,t.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Ui(r.paint)}}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},t.prototype.getLayoutProperty=function(e){return"visibility"===e?this.visibility:this._unevaluatedLayout.getValue(e)},t.prototype.setLayoutProperty=function(e,t,r){if(void 0===r&&(r={}),null!=t){var n="layers."+this.id+".layout."+e;if(this._validate($n,n,e,t,r))return}"visibility"!==e?this._unevaluatedLayout.setValue(e,t):this.visibility=t},t.prototype.getPaintProperty=function(e){return x(e,Yi)?this._transitionablePaint.getTransition(e.slice(0,-11)):this._transitionablePaint.getValue(e)},t.prototype.setPaintProperty=function(e,t,r){if(void 0===r&&(r={}),null!=t){var n="layers."+this.id+".paint."+e;if(this._validate(Xn,n,e,t,r))return!1}if(x(e,Yi))return this._transitionablePaint.setTransition(e.slice(0,-11),t||void 0),!1;var i=this._transitionablePaint._values[e],a="cross-faded-data-driven"===i.property.specification["property-type"],o=i.value.isDataDriven(),s=i.value;this._transitionablePaint.setValue(e,t),this._handleSpecialPaintPropertyUpdate(e);var l=this._transitionablePaint._values[e].value;return l.isDataDriven()||o||a||this._handleOverridablePaintPropertyUpdate(e,s,l)},t.prototype._handleSpecialPaintPropertyUpdate=function(e){},t.prototype._handleOverridablePaintPropertyUpdate=function(e,t,r){return!1},t.prototype.isHidden=function(e){return!!(this.minzoom&&e=this.maxzoom)||"none"===this.visibility},t.prototype.updateTransitions=function(e){this._transitioningPaint=this._transitionablePaint.transitioned(e,this._transitioningPaint)},t.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},t.prototype.recalculate=function(e,t){e.getCrossfadeParameters&&(this._crossfadeParameters=e.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(e,void 0,t)),this.paint=this._transitioningPaint.possiblyEvaluate(e,void 0,t)},t.prototype.serialize=function(){var e={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&&(e.layout=e.layout||{},e.layout.visibility=this.visibility),b(e,(function(e,t){return!(void 0===e||"layout"===t&&!Object.keys(e).length||"paint"===t&&!Object.keys(e).length)}))},t.prototype._validate=function(e,t,r,n,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&Kn(this,e.call(Zn,{key:t,layerType:this.type,objectKey:r,value:n,styleSpec:Oe,style:{glyphs:!0,sprite:!0}}))},t.prototype.is3D=function(){return!1},t.prototype.isTileClipped=function(){return!1},t.prototype.hasOffscreenPass=function(){return!1},t.prototype.resize=function(){},t.prototype.isStateDependent=function(){for(var e in this.paint._values){var t=this.paint.get(e);if(t instanceof Ni&&Yr(t.property.specification)&&("source"===t.value.kind||"composite"===t.value.kind)&&t.value.isStateDependent)return!0}return!1},t}(De),$i={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Ki=function(e,t){this._structArray=e,this._pos1=t*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},Ji=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function Qi(e,t){void 0===t&&(t=1);var r=0,n=0;return{members:e.map((function(e){var i=function(e){return $i[e].BYTES_PER_ELEMENT}(e.type),a=r=ea(r,Math.max(t,i)),o=e.components||1;return n=Math.max(n,i),r+=i*o,{name:e.name,type:e.type,components:o,offset:a}})),size:ea(r,Math.max(n,t)),alignment:t}}function ea(e,t){return Math.ceil(e/t)*t}Ji.serialize=function(e,t){return e._trim(),t&&(e.isTransferred=!0,t.push(e.arrayBuffer)),{length:e.length,arrayBuffer:e.arrayBuffer}},Ji.deserialize=function(e){var t=Object.create(this.prototype);return t.arrayBuffer=e.arrayBuffer,t.length=e.length,t.capacity=e.arrayBuffer.byteLength/t.bytesPerElement,t._refreshViews(),t},Ji.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Ji.prototype.clear=function(){this.length=0},Ji.prototype.resize=function(e){this.reserve(e),this.length=e},Ji.prototype.reserve=function(e){if(e>this.capacity){this.capacity=Math.max(e,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var t=this.uint8;this._refreshViews(),t&&this.uint8.set(t)}},Ji.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};var ta=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t){var r=this.length;return this.resize(r+1),this.emplace(r,e,t)},t.prototype.emplace=function(e,t,r){var n=2*e;return this.int16[n+0]=t,this.int16[n+1]=r,e},t}(Ji);ta.prototype.bytesPerElement=4,ii("StructArrayLayout2i4",ta);var ra=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,e,t,r,n)},t.prototype.emplace=function(e,t,r,n,i){var a=4*e;return this.int16[a+0]=t,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,e},t}(Ji);ra.prototype.bytesPerElement=8,ii("StructArrayLayout4i8",ra);var na=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)},t.prototype.emplace=function(e,t,r,n,i,a,o){var s=6*e;return this.int16[s+0]=t,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e},t}(Ji);na.prototype.bytesPerElement=12,ii("StructArrayLayout2i4i12",na);var ia=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)},t.prototype.emplace=function(e,t,r,n,i,a,o){var s=4*e,l=8*e;return this.int16[s+0]=t,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,e},t}(Ji);ia.prototype.bytesPerElement=8,ii("StructArrayLayout2i4ub8",ia);var aa=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t){var r=this.length;return this.resize(r+1),this.emplace(r,e,t)},t.prototype.emplace=function(e,t,r){var n=2*e;return this.float32[n+0]=t,this.float32[n+1]=r,e},t}(Ji);aa.prototype.bytesPerElement=8,ii("StructArrayLayout2f8",aa);var oa=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i,a,o,s,l,c){var u=this.length;return this.resize(u+1),this.emplace(u,e,t,r,n,i,a,o,s,l,c)},t.prototype.emplace=function(e,t,r,n,i,a,o,s,l,c,u){var h=10*e;return this.uint16[h+0]=t,this.uint16[h+1]=r,this.uint16[h+2]=n,this.uint16[h+3]=i,this.uint16[h+4]=a,this.uint16[h+5]=o,this.uint16[h+6]=s,this.uint16[h+7]=l,this.uint16[h+8]=c,this.uint16[h+9]=u,e},t}(Ji);oa.prototype.bytesPerElement=20,ii("StructArrayLayout10ui20",oa);var sa=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i,a,o,s,l,c,u,h){var f=this.length;return this.resize(f+1),this.emplace(f,e,t,r,n,i,a,o,s,l,c,u,h)},t.prototype.emplace=function(e,t,r,n,i,a,o,s,l,c,u,h,f){var p=12*e;return this.int16[p+0]=t,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=c,this.int16[p+9]=u,this.int16[p+10]=h,this.int16[p+11]=f,e},t}(Ji);sa.prototype.bytesPerElement=24,ii("StructArrayLayout4i4ui4i24",sa);var la=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r){var n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)},t.prototype.emplace=function(e,t,r,n){var i=3*e;return this.float32[i+0]=t,this.float32[i+1]=r,this.float32[i+2]=n,e},t}(Ji);la.prototype.bytesPerElement=12,ii("StructArrayLayout3f12",la);var ca=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e){var t=this.length;return this.resize(t+1),this.emplace(t,e)},t.prototype.emplace=function(e,t){var r=1*e;return this.uint32[r+0]=t,e},t}(Ji);ca.prototype.bytesPerElement=4,ii("StructArrayLayout1ul4",ca);var ua=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.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)},t.prototype.emplaceBack=function(e,t,r,n,i,a,o,s,l){var c=this.length;return this.resize(c+1),this.emplace(c,e,t,r,n,i,a,o,s,l)},t.prototype.emplace=function(e,t,r,n,i,a,o,s,l,c){var u=10*e,h=5*e;return this.int16[u+0]=t,this.int16[u+1]=r,this.int16[u+2]=n,this.int16[u+3]=i,this.int16[u+4]=a,this.int16[u+5]=o,this.uint32[h+3]=s,this.uint16[u+8]=l,this.uint16[u+9]=c,e},t}(Ji);ua.prototype.bytesPerElement=20,ii("StructArrayLayout6i1ul2ui20",ua);var ha=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)},t.prototype.emplace=function(e,t,r,n,i,a,o){var s=6*e;return this.int16[s+0]=t,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e},t}(Ji);ha.prototype.bytesPerElement=12,ii("StructArrayLayout2i2i2i12",ha);var fa=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i){var a=this.length;return this.resize(a+1),this.emplace(a,e,t,r,n,i)},t.prototype.emplace=function(e,t,r,n,i,a){var o=4*e,s=8*e;return this.float32[o+0]=t,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,e},t}(Ji);fa.prototype.bytesPerElement=16,ii("StructArrayLayout2f1f2i16",fa);var pa=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,e,t,r,n)},t.prototype.emplace=function(e,t,r,n,i){var a=12*e,o=3*e;return this.uint8[a+0]=t,this.uint8[a+1]=r,this.float32[o+1]=n,this.float32[o+2]=i,e},t}(Ji);pa.prototype.bytesPerElement=12,ii("StructArrayLayout2ub2f12",pa);var da=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r){var n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)},t.prototype.emplace=function(e,t,r,n){var i=3*e;return this.uint16[i+0]=t,this.uint16[i+1]=r,this.uint16[i+2]=n,e},t}(Ji);da.prototype.bytesPerElement=6,ii("StructArrayLayout3ui6",da);var ma=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.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)},t.prototype.emplaceBack=function(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g){var y=this.length;return this.resize(y+1),this.emplace(y,e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g)},t.prototype.emplace=function(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y){var v=24*e,x=12*e,_=48*e;return this.int16[v+0]=t,this.int16[v+1]=r,this.uint16[v+2]=n,this.uint16[v+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[v+10]=l,this.uint16[v+11]=c,this.uint16[v+12]=u,this.float32[x+7]=h,this.float32[x+8]=f,this.uint8[_+36]=p,this.uint8[_+37]=d,this.uint8[_+38]=m,this.uint32[x+10]=g,this.int16[v+22]=y,e},t}(Ji);ma.prototype.bytesPerElement=48,ii("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",ma);var ga=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.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)},t.prototype.emplaceBack=function(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S){var E=this.length;return this.resize(E+1),this.emplace(E,e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S)},t.prototype.emplace=function(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S,E){var C=34*e,I=17*e;return this.int16[C+0]=t,this.int16[C+1]=r,this.int16[C+2]=n,this.int16[C+3]=i,this.int16[C+4]=a,this.int16[C+5]=o,this.int16[C+6]=s,this.int16[C+7]=l,this.uint16[C+8]=c,this.uint16[C+9]=u,this.uint16[C+10]=h,this.uint16[C+11]=f,this.uint16[C+12]=p,this.uint16[C+13]=d,this.uint16[C+14]=m,this.uint16[C+15]=g,this.uint16[C+16]=y,this.uint16[C+17]=v,this.uint16[C+18]=x,this.uint16[C+19]=_,this.uint16[C+20]=b,this.uint16[C+21]=w,this.uint16[C+22]=T,this.uint32[I+12]=k,this.float32[I+13]=A,this.float32[I+14]=M,this.float32[I+15]=S,this.float32[I+16]=E,e},t}(Ji);ga.prototype.bytesPerElement=68,ii("StructArrayLayout8i15ui1ul4f68",ga);var ya=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e){var t=this.length;return this.resize(t+1),this.emplace(t,e)},t.prototype.emplace=function(e,t){var r=1*e;return this.float32[r+0]=t,e},t}(Ji);ya.prototype.bytesPerElement=4,ii("StructArrayLayout1f4",ya);var va=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r){var n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)},t.prototype.emplace=function(e,t,r,n){var i=3*e;return this.int16[i+0]=t,this.int16[i+1]=r,this.int16[i+2]=n,e},t}(Ji);va.prototype.bytesPerElement=6,ii("StructArrayLayout3i6",va);var xa=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r){var n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)},t.prototype.emplace=function(e,t,r,n){var i=2*e,a=4*e;return this.uint32[i+0]=t,this.uint16[a+2]=r,this.uint16[a+3]=n,e},t}(Ji);xa.prototype.bytesPerElement=8,ii("StructArrayLayout1ul2ui8",xa);var _a=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t){var r=this.length;return this.resize(r+1),this.emplace(r,e,t)},t.prototype.emplace=function(e,t,r){var n=2*e;return this.uint16[n+0]=t,this.uint16[n+1]=r,e},t}(Ji);_a.prototype.bytesPerElement=4,ii("StructArrayLayout2ui4",_a);var ba=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e){var t=this.length;return this.resize(t+1),this.emplace(t,e)},t.prototype.emplace=function(e,t){var r=1*e;return this.uint16[r+0]=t,e},t}(Ji);ba.prototype.bytesPerElement=2,ii("StructArrayLayout1ui2",ba);var wa=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,e,t,r,n)},t.prototype.emplace=function(e,t,r,n,i){var a=4*e;return this.float32[a+0]=t,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,e},t}(Ji);wa.prototype.bytesPerElement=16,ii("StructArrayLayout4f16",wa);var Ta=function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new a(this.anchorPointX,this.anchorPointY)},Object.defineProperties(t.prototype,r),t}(Ki);Ta.prototype.size=20;var ka=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e){return new Ta(this,e)},t}(ua);ii("CollisionBoxArray",ka);var Aa=function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(e){this._structArray.uint8[this._pos1+37]=e},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(e){this._structArray.uint8[this._pos1+38]=e},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(e){this._structArray.uint32[this._pos4+10]=e},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(t.prototype,r),t}(Ki);Aa.prototype.size=48;var Ma=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e){return new Aa(this,e)},t}(ma);ii("PlacedSymbolArray",Ma);var Sa=function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={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 r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(e){this._structArray.uint32[this._pos4+12]=e},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(t.prototype,r),t}(Ki);Sa.prototype.size=68;var Ea=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e){return new Sa(this,e)},t}(ga);ii("SymbolInstanceArray",Ea);var Ca=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getoffsetX=function(e){return this.float32[1*e+0]},t}(ya);ii("GlyphOffsetArray",Ca);var Ia=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getx=function(e){return this.int16[3*e+0]},t.prototype.gety=function(e){return this.int16[3*e+1]},t.prototype.gettileUnitDistanceFromAnchor=function(e){return this.int16[3*e+2]},t}(va);ii("SymbolLineVertexArray",Ia);var La=function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(t.prototype,r),t}(Ki);La.prototype.size=8;var Pa=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e){return new La(this,e)},t}(xa);ii("FeatureIndexArray",Pa);var za=Qi([{name:"a_pos",components:2,type:"Int16"}],4).members,Da=function(e){void 0===e&&(e=[]),this.segments=e};function Oa(e,t){return 256*(e=h(Math.floor(e),0,255))+h(Math.floor(t),0,255)}Da.prototype.prepareSegment=function(e,t,r,n){var i=this.segments[this.segments.length-1];return e>Da.MAX_VERTEX_ARRAY_LENGTH&&k("Max vertices per segment is "+Da.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+e),(!i||i.vertexLength+e>Da.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:t.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i},Da.prototype.get=function(){return this.segments},Da.prototype.destroy=function(){for(var e=0,t=this.segments;e>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&e.charCodeAt(c+2))<<16;case 2:l^=(255&e.charCodeAt(c+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&e.charCodeAt(c)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return i^=e.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0}})),Ba=t((function(e){e.exports=function(e,t){for(var r,n=e.length,i=t^n,a=0;n>=4;)r=1540483477*(65535&(r=255&e.charCodeAt(a)|(255&e.charCodeAt(++a))<<8|(255&e.charCodeAt(++a))<<16|(255&e.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&e.charCodeAt(a+2))<<16;case 2:i^=(255&e.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&e.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}})),ja=Fa,Na=Fa,Ua=Ba;ja.murmur3=Na,ja.murmur2=Ua;var Va=function(){this.ids=[],this.positions=[],this.indexed=!1};Va.prototype.add=function(e,t,r,n){this.ids.push(Ha(e)),this.positions.push(t,r,n)},Va.prototype.getPositions=function(e){for(var t=Ha(e),r=0,n=this.ids.length-1;r>1;this.ids[i]>=t?n=i:r=i+1}for(var a=[];this.ids[r]===t;){var o=this.positions[3*r],s=this.positions[3*r+1],l=this.positions[3*r+2];a.push({index:o,start:s,end:l}),r++}return a},Va.serialize=function(e,t){var r=new Float64Array(e.ids),n=new Uint32Array(e.positions);return Ga(r,n,0,r.length-1),t&&t.push(r.buffer,n.buffer),{ids:r,positions:n}},Va.deserialize=function(e){var t=new Va;return t.ids=e.ids,t.positions=e.positions,t.indexed=!0,t};var qa=Math.pow(2,53)-1;function Ha(e){var t=+e;return!isNaN(t)&&t<=qa?t:ja(String(e))}function Ga(e,t,r,n){for(;r>1],a=r-1,o=n+1;;){do{a++}while(e[a]i);if(a>=o)break;Wa(e,a,o),Wa(t,3*a,3*o),Wa(t,3*a+1,3*o+1),Wa(t,3*a+2,3*o+2)}o-ro.x+1||lo.y+1)&&k("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return r}function yo(e,t){return{type:e.type,id:e.id,properties:e.properties,geometry:t?go(e):[]}}function vo(e,t,r,n,i){e.emplaceBack(2*t+(n+1)/2,2*r+(i+1)/2)}var xo=function(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((function(e){return e.id})),this.index=e.index,this.hasPattern=!1,this.layoutVertexArray=new ta,this.indexArray=new da,this.segments=new Da,this.programConfigurations=new co(e.layers,e.zoom),this.stateDependentLayerIds=this.layers.filter((function(e){return e.isStateDependent()})).map((function(e){return e.id}))};function _o(e,t){for(var r=0;r1){if(ko(e,t))return!0;for(var n=0;n1?e.distSqr(r):e.distSqr(r.sub(t)._mult(i)._add(t))}function Eo(e,t){for(var r,n,i,a=!1,o=0;ot.y!=i.y>t.y&&t.x<(i.x-n.x)*(t.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function Co(e,t){for(var r=!1,n=0,i=e.length-1;nt.y!=o.y>t.y&&t.x<(o.x-a.x)*(t.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function Io(e,t,r){var n=r[0],i=r[2];if(e.xi.x&&t.x>i.x||e.yi.y&&t.y>i.y)return!1;var a=A(e,t,r[0]);return a!==A(e,t,r[1])||a!==A(e,t,r[2])||a!==A(e,t,r[3])}function Lo(e,t,r){var n=t.paint.get(e).value;return"constant"===n.kind?n.value:r.programConfigurations.get(t.id).getMaxValue(e)}function Po(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function zo(e,t,r,n,i){if(!t[0]&&!t[1])return e;var o=a.convert(t)._mult(i);"viewport"===r&&o._rotate(-n);for(var s=[],l=0;l=fo||u<0||u>=fo)){var h=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,e.sortKey),f=h.vertexLength;vo(this.layoutVertexArray,c,u,-1,-1),vo(this.layoutVertexArray,c,u,1,-1),vo(this.layoutVertexArray,c,u,1,1),vo(this.layoutVertexArray,c,u,-1,1),this.indexArray.emplaceBack(f,f+1,f+2),this.indexArray.emplaceBack(f,f+3,f+2),h.vertexLength+=4,h.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,{},n)},ii("CircleBucket",xo,{omit:["layers"]});var Do=new Zi({"circle-sort-key":new qi(Oe.layout_circle["circle-sort-key"])}),Oo={paint:new Zi({"circle-radius":new qi(Oe.paint_circle["circle-radius"]),"circle-color":new qi(Oe.paint_circle["circle-color"]),"circle-blur":new qi(Oe.paint_circle["circle-blur"]),"circle-opacity":new qi(Oe.paint_circle["circle-opacity"]),"circle-translate":new Vi(Oe.paint_circle["circle-translate"]),"circle-translate-anchor":new Vi(Oe.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new Vi(Oe.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new Vi(Oe.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new qi(Oe.paint_circle["circle-stroke-width"]),"circle-stroke-color":new qi(Oe.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new qi(Oe.paint_circle["circle-stroke-opacity"])}),layout:Do},Ro=typeof Float32Array<"u"?Float32Array:Array;function Fo(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Bo(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],c=t[6],u=t[7],h=t[8],f=t[9],p=t[10],d=t[11],m=t[12],g=t[13],y=t[14],v=t[15],x=r[0],_=r[1],b=r[2],w=r[3];return e[0]=x*n+_*s+b*h+w*m,e[1]=x*i+_*l+b*f+w*g,e[2]=x*a+_*c+b*p+w*y,e[3]=x*o+_*u+b*d+w*v,x=r[4],_=r[5],b=r[6],w=r[7],e[4]=x*n+_*s+b*h+w*m,e[5]=x*i+_*l+b*f+w*g,e[6]=x*a+_*c+b*p+w*y,e[7]=x*o+_*u+b*d+w*v,x=r[8],_=r[9],b=r[10],w=r[11],e[8]=x*n+_*s+b*h+w*m,e[9]=x*i+_*l+b*f+w*g,e[10]=x*a+_*c+b*p+w*y,e[11]=x*o+_*u+b*d+w*v,x=r[12],_=r[13],b=r[14],w=r[15],e[12]=x*n+_*s+b*h+w*m,e[13]=x*i+_*l+b*f+w*g,e[14]=x*a+_*c+b*p+w*y,e[15]=x*o+_*u+b*d+w*v,e}Math.hypot||(Math.hypot=function(){for(var e=arguments,t=0,r=arguments.length;r--;)t+=e[r]*e[r];return Math.sqrt(t)});var jo,No=Bo;function Uo(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,e}jo=new Ro(3),Ro!=Float32Array&&(jo[0]=0,jo[1]=0,jo[2]=0),function(){var e=new Ro(4);Ro!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0)}();var Vo=(function(){var e=new Ro(2);Ro!=Float32Array&&(e[0]=0,e[1]=0)}(),function(e){function t(t){e.call(this,t,Oo)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.createBucket=function(e){return new xo(e)},t.prototype.queryRadius=function(e){var t=e;return Lo("circle-radius",this,t)+Lo("circle-stroke-width",this,t)+Po(this.paint.get("circle-translate"))},t.prototype.queryIntersectsFeature=function(e,t,r,n,i,a,o,s){for(var l=zo(e,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),a.angle,o),c=this.paint.get("circle-radius").evaluate(t,r)+this.paint.get("circle-stroke-width").evaluate(t,r),u="map"===this.paint.get("circle-pitch-alignment"),h=u?l:function(e,t){return e.map((function(e){return qo(e,t)}))}(l,s),f=u?c*o:c,p=0,d=n;pe.width||i.height>e.height||r.x>e.width-i.width||r.y>e.height-i.height)throw new RangeError("out of range source coordinates for image copy");if(i.width>t.width||i.height>t.height||n.x>t.width-i.width||n.y>t.height-i.height)throw new RangeError("out of range destination coordinates for image copy");for(var o=e.data,s=t.data,l=0;l80*r){n=a=e[0],i=o=e[1];for(var d=r;da&&(a=s),l>o&&(o=l);c=0!==(c=Math.max(a-n,o-i))?1/c:0}return ss(f,p,r,n,i,c),p}function as(e,t,r,n,i){var a,o;if(i===Cs(e,t,r,n)>0)for(a=t;a=t;a-=n)o=Ms(a,e[a],e[a+1],o);return o&&_s(o,o.next)&&(Ss(o),o=o.next),o}function os(e,t){if(!e)return e;t||(t=e);var r,n=e;do{if(r=!1,n.steiner||!_s(n,n.next)&&0!==xs(n.prev,n,n.next))n=n.next;else{if(Ss(n),(n=t=n.prev)===n.next)break;r=!0}}while(r||n!==t);return t}function ss(e,t,r,n,i,a,o){if(e){!o&&a&&function(e,t,r,n){var i=e;do{null===i.z&&(i.z=ms(i.x,i.y,t,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,function(e){var t,r,n,i,a,o,s,l,c=1;do{for(r=e,e=null,a=null,o=0;r;){for(o++,n=r,s=0,t=0;t0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(e,n,i,a);for(var s,l,c=e;e.prev!==e.next;)if(s=e.prev,l=e.next,a?cs(e,n,i,a):ls(e))t.push(s.i/r),t.push(e.i/r),t.push(l.i/r),Ss(e),e=l.next,c=l.next;else if((e=l)===c){o?1===o?ss(e=us(os(e),t,r),t,r,n,i,a,2):2===o&&hs(e,t,r,n,i,a):ss(os(e),t,r,n,i,a,1);break}}}function ls(e){var t=e.prev,r=e,n=e.next;if(xs(t,r,n)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(ys(t.x,t.y,r.x,r.y,n.x,n.y,i.x,i.y)&&xs(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function cs(e,t,r,n){var i=e.prev,a=e,o=e.next;if(xs(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,h=ms(s,l,t,r,n),f=ms(c,u,t,r,n),p=e.prevZ,d=e.nextZ;p&&p.z>=h&&d&&d.z<=f;){if(p!==e.prev&&p!==e.next&&ys(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&xs(p.prev,p,p.next)>=0||(p=p.prevZ,d!==e.prev&&d!==e.next&&ys(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&xs(d.prev,d,d.next)>=0))return!1;d=d.nextZ}for(;p&&p.z>=h;){if(p!==e.prev&&p!==e.next&&ys(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&xs(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=f;){if(d!==e.prev&&d!==e.next&&ys(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&xs(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function us(e,t,r){var n=e;do{var i=n.prev,a=n.next.next;!_s(i,a)&&bs(i,n,n.next,a)&&ks(i,a)&&ks(a,i)&&(t.push(i.i/r),t.push(n.i/r),t.push(a.i/r),Ss(n),Ss(n.next),n=e=a),n=n.next}while(n!==e);return os(n)}function hs(e,t,r,n,i,a){var o=e;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&vs(o,s)){var l=As(o,s);return o=os(o,o.next),l=os(l,l.next),ss(o,t,r,n,i,a),void ss(l,t,r,n,i,a)}s=s.next}o=o.next}while(o!==e)}function fs(e,t){return e.x-t.x}function ps(e,t){if(t=function(e,t){var r,n=t,i=e.x,a=e.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=u&&i!==n.x&&ys(ar.x||n.x===r.x&&ds(r,n)))&&(r=n,f=l)),n=n.next}while(n!==c);return r}(e,t),t){var r=As(t,e);os(t,t.next),os(r,r.next)}}function ds(e,t){return xs(e.prev,e,t.prev)<0&&xs(t.next,e,e.next)<0}function ms(e,t,r,n,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-r)*i)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-n)*i)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function gs(e){var t=e,r=e;do{(t.x=0&&(e-o)*(n-s)-(r-o)*(t-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function vs(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&bs(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}(e,t)&&(ks(e,t)&&ks(t,e)&&function(e,t){var r=e,n=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==e);return n}(e,t)&&(xs(e.prev,e,t.prev)||xs(e,t.prev,t))||_s(e,t)&&xs(e.prev,e,e.next)>0&&xs(t.prev,t,t.next)>0)}function xs(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function _s(e,t){return e.x===t.x&&e.y===t.y}function bs(e,t,r,n){var i=Ts(xs(e,t,r)),a=Ts(xs(e,t,n)),o=Ts(xs(r,n,e)),s=Ts(xs(r,n,t));return!!(i!==a&&o!==s||0===i&&ws(e,r,t)||0===a&&ws(e,n,t)||0===o&&ws(r,e,n)||0===s&&ws(r,t,n))}function ws(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function Ts(e){return e>0?1:e<0?-1:0}function ks(e,t){return xs(e.prev,e,e.next)<0?xs(e,t,e.next)>=0&&xs(e,e.prev,t)>=0:xs(e,t,e.prev)<0||xs(e,e.next,t)<0}function As(e,t){var r=new Es(e.i,e.x,e.y),n=new Es(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function Ms(e,t,r,n){var i=new Es(e,t,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function Ss(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function Es(e,t,r){this.i=e,this.x=t,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Cs(e,t,r,n){for(var i=0,a=t,o=r-n;ar;){if(n-r>600){var a=n-r+1,o=t-r+1,s=Math.log(a),l=.5*Math.exp(2*s/3),c=.5*Math.sqrt(s*l*(a-l)/a)*(o-a/2<0?-1:1);Ls(e,t,Math.max(r,Math.floor(t-o*l/a+c)),Math.min(n,Math.floor(t+(a-o)*l/a+c)),i)}var u=e[t],h=r,f=n;for(Ps(e,r,t),i(e[n],u)>0&&Ps(e,r,n);h0;)f--}0===i(e[r],u)?Ps(e,r,f):Ps(e,++f,n),f<=t&&(r=f+1),t<=f&&(n=f-1)}}function Ps(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function zs(e,t){return et?1:0}function Ds(e,t){var r=e.length;if(r<=1)return[e];for(var n,i,a=[],o=0;o1)for(var l=0;l0&&(n+=e[i-1].length,r.holes.push(n))}return r},rs.default=ns;var Bs=function(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((function(e){return e.id})),this.index=e.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ta,this.indexArray=new da,this.indexArray2=new _a,this.programConfigurations=new co(e.layers,e.zoom),this.segments=new Da,this.segments2=new Da,this.stateDependentLayerIds=this.layers.filter((function(e){return e.isStateDependent()})).map((function(e){return e.id}))};Bs.prototype.populate=function(e,t,r){this.hasPattern=Rs("fill",this.layers,t);for(var n=this.layers[0].layout.get("fill-sort-key"),i=[],a=0,o=e;a>3}if(i--,1===n||2===n)o+=e.readSVarint(),s+=e.readSVarint(),1===n&&(t&&l.push(t),t=[]),t.push(new a(o,s));else{if(7!==n)throw new Error("unknown command "+n);t&&t.push(t[0].clone())}}return t&&l.push(t),l},Hs.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;e.pos>3}if(n--,1===r||2===r)(i+=e.readSVarint())s&&(s=i),(a+=e.readSVarint())c&&(c=a);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,c]},Hs.prototype.toGeoJSON=function(e,t,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*e,s=this.extent*t,l=this.loadGeometry(),c=Hs.types[this.type];function u(e){for(var t=0;t>3;t=1===n?e.readString():2===n?e.readFloat():3===n?e.readDouble():4===n?e.readVarint64():5===n?e.readVarint():6===n?e.readSVarint():7===n?e.readBoolean():null}return t}(r))}Ys.prototype.feature=function(e){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new qs(this._pbf,t,this.extent,this._keys,this._values)};function $s(e,t,r){if(3===e){var n=new Zs(r,r.readVarint()+r.pos);n.length&&(t[n.name]=n)}}var Ks={VectorTile:function(e,t){this.layers=e.readFields($s,{},t)},VectorTileFeature:qs,VectorTileLayer:Zs},Js=Ks.VectorTileFeature.types,Qs=Math.pow(2,13);function el(e,t,r,n,i,a,o,s){e.emplaceBack(t,r,2*Math.floor(n*Qs)+o,i*Qs*2,a*Qs*2,Math.round(s))}var tl=function(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((function(e){return e.id})),this.index=e.index,this.hasPattern=!1,this.layoutVertexArray=new na,this.indexArray=new da,this.programConfigurations=new co(e.layers,e.zoom),this.segments=new Da,this.stateDependentLayerIds=this.layers.filter((function(e){return e.isStateDependent()})).map((function(e){return e.id}))};function rl(e,t){return e.x===t.x&&(e.x<0||e.x>fo)||e.y===t.y&&(e.y<0||e.y>fo)}function nl(e){return e.every((function(e){return e.x<0}))||e.every((function(e){return e.x>fo}))||e.every((function(e){return e.y<0}))||e.every((function(e){return e.y>fo}))}tl.prototype.populate=function(e,t,r){this.features=[],this.hasPattern=Rs("fill-extrusion",this.layers,t);for(var n=0,i=e;n=1){var v=d[g-1];if(!rl(y,v)){h.vertexLength+4>Da.MAX_VERTEX_ARRAY_LENGTH&&(h=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var x=y.sub(v)._perp()._unit(),_=v.dist(y);m+_>32768&&(m=0),el(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,0,m),el(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,1,m),m+=_,el(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,0,m),el(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,1,m);var b=h.vertexLength;this.indexArray.emplaceBack(b,b+2,b+1),this.indexArray.emplaceBack(b+1,b+2,b+3),h.vertexLength+=4,h.primitiveLength+=2}}}}if(h.vertexLength+l>Da.MAX_VERTEX_ARRAY_LENGTH&&(h=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray)),"Polygon"===Js[e.type]){for(var w=[],T=[],k=h.vertexLength,A=0,M=s;A=2&&e[l-1].equals(e[l-2]);)l--;for(var c=0;c0;if(T&&y>c){var A=u.dist(p);if(A>2*h){var M=u.sub(u.sub(p)._mult(h/A)._round());this.updateDistance(p,M),this.addCurrentVertex(M,m,0,0,f),p=M}}var S=p&&d,E=S?r:s?"butt":n;if(S&&"round"===E&&(bi&&(E="bevel"),"bevel"===E&&(b>2&&(E="flipbevel"),b100)v=g.mult(-1);else{var C=b*m.add(g).mag()/m.sub(g).mag();v._perp()._mult(C*(k?-1:1))}this.addCurrentVertex(u,v,0,0,f),this.addCurrentVertex(u,v.mult(-1),0,0,f)}else if("bevel"===E||"fakeround"===E){var I=-Math.sqrt(b*b-1),L=k?I:0,P=k?0:I;if(p&&this.addCurrentVertex(u,m,L,P,f),"fakeround"===E)for(var z=Math.round(180*w/Math.PI/20),D=1;D2*h){var N=u.add(d.sub(u)._mult(h/j)._round());this.updateDistance(u,N),this.addCurrentVertex(N,g,0,0,f),u=N}}}}},pl.prototype.addCurrentVertex=function(e,t,r,n,i,a){void 0===a&&(a=!1);var o=t.x+t.y*r,s=t.y-t.x*r,l=-t.x+t.y*n,c=-t.y-t.x*n;this.addHalfVertex(e,o,s,a,!1,r,i),this.addHalfVertex(e,l,c,a,!0,-n,i),this.distance>fl/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(e,t,r,n,i,a))},pl.prototype.addHalfVertex=function(e,t,r,n,i,a,o){var s=e.x,l=e.y,c=.5*(this.lineClips?this.scaledDistance*(fl-1):this.scaledDistance);if(this.layoutVertexArray.emplaceBack((s<<1)+(n?1:0),(l<<1)+(i?1:0),Math.round(63*t)+128,Math.round(63*r)+128,1+(0===a?0:a<0?-1:1)|(63&c)<<2,c>>6),this.lineClips){var u=(this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start);this.layoutVertexArray2.emplaceBack(u,this.lineClipsArray.length)}var h=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,h),o.primitiveLength++),i?this.e2=h:this.e1=h},pl.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance},pl.prototype.updateDistance=function(e,t){this.distance+=e.dist(t),this.updateScaledDistance()},ii("LineBucket",pl,{omit:["layers","patternFeatures"]});var dl=new Zi({"line-cap":new Vi(Oe.layout_line["line-cap"]),"line-join":new qi(Oe.layout_line["line-join"]),"line-miter-limit":new Vi(Oe.layout_line["line-miter-limit"]),"line-round-limit":new Vi(Oe.layout_line["line-round-limit"]),"line-sort-key":new qi(Oe.layout_line["line-sort-key"])}),ml={paint:new Zi({"line-opacity":new qi(Oe.paint_line["line-opacity"]),"line-color":new qi(Oe.paint_line["line-color"]),"line-translate":new Vi(Oe.paint_line["line-translate"]),"line-translate-anchor":new Vi(Oe.paint_line["line-translate-anchor"]),"line-width":new qi(Oe.paint_line["line-width"]),"line-gap-width":new qi(Oe.paint_line["line-gap-width"]),"line-offset":new qi(Oe.paint_line["line-offset"]),"line-blur":new qi(Oe.paint_line["line-blur"]),"line-dasharray":new Gi(Oe.paint_line["line-dasharray"]),"line-pattern":new Hi(Oe.paint_line["line-pattern"]),"line-gradient":new Wi(Oe.paint_line["line-gradient"])}),layout:dl},gl=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.possiblyEvaluate=function(t,r){return r=new zi(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),e.prototype.possiblyEvaluate.call(this,t,r)},t.prototype.evaluate=function(t,r,n,i){return r=p({},r,{zoom:Math.floor(r.zoom)}),e.prototype.evaluate.call(this,t,r,n,i)},t}(qi),yl=new gl(ml.paint.properties["line-width"].specification);yl.useIntegerZoom=!0;var vl=function(e){function t(t){e.call(this,t,ml),this.gradientVersion=0}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._handleSpecialPaintPropertyUpdate=function(e){if("line-gradient"===e){var t=this._transitionablePaint._values["line-gradient"].value.expression;this.stepInterpolant=t._styleExpression.expression instanceof Qt,this.gradientVersion=(this.gradientVersion+1)%l}},t.prototype.gradientExpression=function(){return this._transitionablePaint._values["line-gradient"].value.expression},t.prototype.recalculate=function(t,r){e.prototype.recalculate.call(this,t,r),this.paint._values["line-floorwidth"]=yl.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,t)},t.prototype.createBucket=function(e){return new pl(e)},t.prototype.queryRadius=function(e){var t=e,r=xl(Lo("line-width",this,t),Lo("line-gap-width",this,t)),n=Lo("line-offset",this,t);return r/2+Math.abs(n)+Po(this.paint.get("line-translate"))},t.prototype.queryIntersectsFeature=function(e,t,r,n,i,o,s){var l=zo(e,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o.angle,s),c=s/2*xl(this.paint.get("line-width").evaluate(t,r),this.paint.get("line-gap-width").evaluate(t,r)),u=this.paint.get("line-offset").evaluate(t,r);return u&&(n=function(e,t){for(var r=[],n=new a(0,0),i=0;i=3)for(var a=0;a0?t+2*e:e}var _l=Qi([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),bl=Qi([{name:"a_projected_pos",components:3,type:"Float32"}],4),wl=(Qi([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),Qi([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}])),Tl=(Qi([{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"}]),Qi([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),kl=Qi([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function Al(e,t,r){return e.sections.forEach((function(e){e.text=function(e,t,r){var n=t.layout.get("text-transform").evaluate(r,{});return"uppercase"===n?e=e.toLocaleUpperCase():"lowercase"===n&&(e=e.toLocaleLowerCase()),Pi.applyArabicShaping&&(e=Pi.applyArabicShaping(e)),e}(e.text,t,r)})),e}Qi([{name:"triangle",components:3,type:"Uint16"}]),Qi([{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"}]),Qi([{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",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]),Qi([{type:"Float32",name:"offsetX"}]),Qi([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var Ml={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"},Sl=24,El=function(e,t,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,u=-7,h=r?i-1:0,f=r?-1:1,p=e[t+h];for(h+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+e[t+h],h+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+e[t+h],h+=f,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},Cl=function(e,t,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(t*l-1)*Math.pow(2,i),o+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;e[r+p]=255&o,p+=d,o/=256,c-=8);e[r+p-d]|=128*m},Il=Ll;function Ll(e){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(e)?e:new Uint8Array(e||0),this.pos=0,this.type=0,this.length=this.buf.length}Ll.Varint=0,Ll.Fixed64=1,Ll.Bytes=2,Ll.Fixed32=5;var Pl=4294967296,zl=1/Pl,Dl=typeof TextDecoder>"u"?null:new TextDecoder("utf8");function Ol(e){return e.type===Ll.Bytes?e.readVarint()+e.pos:e.pos+1}function Rl(e,t,r){var n=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=e;i--)r.buf[i+n]=r.buf[i]}function Fl(e,t){for(var r=0;r>>8,e[r+2]=t>>>16,e[r+3]=t>>>24}function Yl(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+(e[t+3]<<24)}function Xl(e,t,r){1===e&&r.readMessage($l,t)}function $l(e,t,r){if(3===e){var n=r.readMessage(Kl,{}),i=n.id,a=n.bitmap,o=n.width,s=n.height,l=n.left,c=n.top,u=n.advance;t.push({id:i,bitmap:new Yo({width:o+6,height:s+6},a),metrics:{width:o,height:s,left:l,top:c,advance:u}})}}function Kl(e,t,r){1===e?t.id=r.readVarint():2===e?t.bitmap=r.readBytes():3===e?t.width=r.readVarint():4===e?t.height=r.readVarint():5===e?t.left=r.readSVarint():6===e?t.top=r.readSVarint():7===e&&(t.advance=r.readVarint())}function Jl(e){for(var t=0,r=0,n=0,i=e;n=0;f--){var p=o[f];if(!(h.w>p.w||h.h>p.h)){if(h.x=p.x,h.y=p.y,l=Math.max(l,h.y+h.h),s=Math.max(s,h.x+h.w),h.w===p.w&&h.h===p.h){var d=o.pop();f>3,a=this.pos;this.type=7&n,e(i,t,this),this.pos===a&&this.skip(n)}return t},readMessage:function(e,t){return this.readFields(e,t,this.readVarint()+this.pos)},readFixed32:function(){var e=Wl(this.buf,this.pos);return this.pos+=4,e},readSFixed32:function(){var e=Yl(this.buf,this.pos);return this.pos+=4,e},readFixed64:function(){var e=Wl(this.buf,this.pos)+Wl(this.buf,this.pos+4)*Pl;return this.pos+=8,e},readSFixed64:function(){var e=Wl(this.buf,this.pos)+Yl(this.buf,this.pos+4)*Pl;return this.pos+=8,e},readFloat:function(){var e=El(this.buf,this.pos,!0,23,4);return this.pos+=4,e},readDouble:function(){var e=El(this.buf,this.pos,!0,52,8);return this.pos+=8,e},readVarint:function(e){var t,r,n=this.buf;return t=127&(r=n[this.pos++]),r<128||(t|=(127&(r=n[this.pos++]))<<7,r<128)||(t|=(127&(r=n[this.pos++]))<<14,r<128)||(t|=(127&(r=n[this.pos++]))<<21,r<128)?t:function(e,t,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128||(n|=(127&(i=a[r.pos++]))<<3,i<128)||(n|=(127&(i=a[r.pos++]))<<10,i<128)||(n|=(127&(i=a[r.pos++]))<<17,i<128)||(n|=(127&(i=a[r.pos++]))<<24,i<128)||(n|=(1&(i=a[r.pos++]))<<31,i<128))return function(e,t,r){return r?4294967296*t+(e>>>0):4294967296*(t>>>0)+(e>>>0)}(e,n,t);throw new Error("Expected varint not more than 10 bytes")}(t|=(15&(r=n[this.pos]))<<28,e,this)},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var e=this.readVarint();return e%2==1?(e+1)/-2:e/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var e=this.readVarint()+this.pos,t=this.pos;return this.pos=e,e-t>=12&&Dl?function(e,t,r){return Dl.decode(e.subarray(t,r))}(this.buf,t,e):function(e,t,r){for(var n="",i=t;i239?4:l>223?3:l>191?2:1;if(i+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(a=e[i+1]))&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===u?(a=e[i+1],o=e[i+2],128==(192&a)&&128==(192&o)&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(a=e[i+1],o=e[i+2],s=e[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),i+=u}return n}(this.buf,t,e)},readBytes:function(){var e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t},readPackedVarint:function(e,t){if(this.type!==Ll.Bytes)return e.push(this.readVarint(t));var r=Ol(this);for(e=e||[];this.pos127;);else if(t===Ll.Bytes)this.pos=this.readVarint()+this.pos;else if(t===Ll.Fixed32)this.pos+=4;else{if(t!==Ll.Fixed64)throw new Error("Unimplemented type: "+t);this.pos+=8}},writeTag:function(e,t){this.writeVarint(e<<3|t)},realloc:function(e){for(var t=this.length||16;t268435455||e<0?function(e,t){var r,n;if(e>=0?(r=e%4294967296|0,n=e/4294967296|0):(n=~(-e/4294967296),4294967295^(r=~(-e%4294967296))?r=r+1|0:(r=0,n=n+1|0)),e>=0x10000000000000000||e<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");t.realloc(10),function(e,t,r){r.buf[r.pos++]=127&e|128,e>>>=7,r.buf[r.pos++]=127&e|128,e>>>=7,r.buf[r.pos++]=127&e|128,e>>>=7,r.buf[r.pos++]=127&e|128,e>>>=7,r.buf[r.pos]=127&e}(r,0,t),function(e,t){var r=(7&e)<<4;t.buf[t.pos++]|=r|((e>>>=3)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e)))))}(n,t)}(e,this):(this.realloc(4),this.buf[this.pos++]=127&e|(e>127?128:0),!(e<=127)&&(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),!(e<=127)&&(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),!(e<=127)&&(this.buf[this.pos++]=e>>>7&127))))},writeSVarint:function(e){this.writeVarint(e<0?2*-e-1:2*e)},writeBoolean:function(e){this.writeVarint(!!e)},writeString:function(e){e=String(e),this.realloc(4*e.length),this.pos++;var t=this.pos;this.pos=function(e,t,r){for(var n,i,a=0;a55295&&n<57344){if(!i){n>56319||a+1===t.length?(e[r++]=239,e[r++]=191,e[r++]=189):i=n;continue}if(n<56320){e[r++]=239,e[r++]=191,e[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(e[r++]=239,e[r++]=191,e[r++]=189,i=null);n<128?e[r++]=n:(n<2048?e[r++]=n>>6|192:(n<65536?e[r++]=n>>12|224:(e[r++]=n>>18|240,e[r++]=n>>12&63|128),e[r++]=n>>6&63|128),e[r++]=63&n|128)}return r}(this.buf,e,this.pos);var r=this.pos-t;r>=128&&Rl(t,r,this),this.pos=t-1,this.writeVarint(r),this.pos+=r},writeFloat:function(e){this.realloc(4),Cl(this.buf,e,this.pos,!0,23,4),this.pos+=4},writeDouble:function(e){this.realloc(8),Cl(this.buf,e,this.pos,!0,52,8),this.pos+=8},writeBytes:function(e){var t=e.length;this.writeVarint(t),this.realloc(t);for(var r=0;r=128&&Rl(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(e,t,r){this.writeTag(e,Ll.Bytes),this.writeRawMessage(t,r)},writePackedVarint:function(e,t){t.length&&this.writeMessage(e,Fl,t)},writePackedSVarint:function(e,t){t.length&&this.writeMessage(e,Bl,t)},writePackedBoolean:function(e,t){t.length&&this.writeMessage(e,Ul,t)},writePackedFloat:function(e,t){t.length&&this.writeMessage(e,jl,t)},writePackedDouble:function(e,t){t.length&&this.writeMessage(e,Nl,t)},writePackedFixed32:function(e,t){t.length&&this.writeMessage(e,Vl,t)},writePackedSFixed32:function(e,t){t.length&&this.writeMessage(e,ql,t)},writePackedFixed64:function(e,t){t.length&&this.writeMessage(e,Hl,t)},writePackedSFixed64:function(e,t){t.length&&this.writeMessage(e,Gl,t)},writeBytesField:function(e,t){this.writeTag(e,Ll.Bytes),this.writeBytes(t)},writeFixed32Field:function(e,t){this.writeTag(e,Ll.Fixed32),this.writeFixed32(t)},writeSFixed32Field:function(e,t){this.writeTag(e,Ll.Fixed32),this.writeSFixed32(t)},writeFixed64Field:function(e,t){this.writeTag(e,Ll.Fixed64),this.writeFixed64(t)},writeSFixed64Field:function(e,t){this.writeTag(e,Ll.Fixed64),this.writeSFixed64(t)},writeVarintField:function(e,t){this.writeTag(e,Ll.Varint),this.writeVarint(t)},writeSVarintField:function(e,t){this.writeTag(e,Ll.Varint),this.writeSVarint(t)},writeStringField:function(e,t){this.writeTag(e,Ll.Bytes),this.writeString(t)},writeFloatField:function(e,t){this.writeTag(e,Ll.Fixed32),this.writeFloat(t)},writeDoubleField:function(e,t){this.writeTag(e,Ll.Fixed64),this.writeDouble(t)},writeBooleanField:function(e,t){this.writeVarintField(e,!!t)}};var Ql=function(e,t){var r=t.pixelRatio,n=t.version,i=t.stretchX,a=t.stretchY,o=t.content;this.paddedRect=e,this.pixelRatio=r,this.stretchX=i,this.stretchY=a,this.content=o,this.version=n},ec={tl:{configurable:!0},br:{configurable:!0},tlbr:{configurable:!0},displaySize:{configurable:!0}};ec.tl.get=function(){return[this.paddedRect.x+1,this.paddedRect.y+1]},ec.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]},ec.tlbr.get=function(){return this.tl.concat(this.br)},ec.displaySize.get=function(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]},Object.defineProperties(Ql.prototype,ec);var tc=function(e,t){var r={},n={};this.haveRenderCallbacks=[];var i=[];this.addImages(e,r,i),this.addImages(t,n,i);var a=Jl(i),o=a.w,s=a.h,l=new Xo({width:o||1,height:s||1});for(var c in e){var u=e[c],h=r[c].paddedRect;Xo.copy(u.data,l,{x:0,y:0},{x:h.x+1,y:h.y+1},u.data)}for(var f in t){var p=t[f],d=n[f].paddedRect,m=d.x+1,g=d.y+1,y=p.data.width,v=p.data.height;Xo.copy(p.data,l,{x:0,y:0},{x:m,y:g},p.data),Xo.copy(p.data,l,{x:0,y:v-1},{x:m,y:g-1},{width:y,height:1}),Xo.copy(p.data,l,{x:0,y:0},{x:m,y:g+v},{width:y,height:1}),Xo.copy(p.data,l,{x:y-1,y:0},{x:m-1,y:g},{width:1,height:v}),Xo.copy(p.data,l,{x:0,y:0},{x:m+y,y:g},{width:1,height:v})}this.image=l,this.iconPositions=r,this.patternPositions=n};tc.prototype.addImages=function(e,t,r){for(var n in e){var i=e[n],a={x:0,y:0,w:i.data.width+2,h:i.data.height+2};r.push(a),t[n]=new Ql(a,i),i.hasRenderCallback&&this.haveRenderCallbacks.push(n)}},tc.prototype.patchUpdatedImages=function(e,t){for(var r in e.dispatchRenderCallbacks(this.haveRenderCallbacks),e.updatedImages)this.patchUpdatedImage(this.iconPositions[r],e.getImage(r),t),this.patchUpdatedImage(this.patternPositions[r],e.getImage(r),t)},tc.prototype.patchUpdatedImage=function(e,t,r){if(e&&t&&e.version!==t.version){e.version=t.version;var n=e.tl,i=n[0],a=n[1];r.update(t.data,void 0,{x:i,y:a})}},ii("ImagePosition",Ql),ii("ImageAtlas",tc);var rc={horizontal:1,vertical:2,horizontalOnly:3},nc=-17,ic=function(){this.scale=1,this.fontStack="",this.imageName=null};ic.forText=function(e,t){var r=new ic;return r.scale=e||1,r.fontStack=t,r},ic.forImage=function(e){var t=new ic;return t.imageName=e,t};var ac=function(){this.text="",this.sectionIndex=[],this.sections=[],this.imageSectionID=null};function oc(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m){var g=ac.fromFeature(e,i);h===rc.vertical&&g.verticalizePunctuation();var y,v=Pi.processBidirectionalText,x=Pi.processStyledBidirectionalText;if(v&&1===g.sections.length){y=[];for(var _=0,b=v(g.toString(),dc(g,c,a,t,n,p,d));_0&&B>A&&(A=B)}else{var j=r[S.fontStack],N=j&&j[C];if(N&&N.rect)P=N.rect,L=N.metrics;else{var U=t[S.fontStack],V=U&&U[C];if(!V)continue;L=V.metrics}I=(b-S.scale)*Sl}O?(e.verticalizable=!0,k.push({glyph:C,imageName:z,x:f,y:p+I,vertical:O,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:L,rect:P}),f+=D*S.scale+c):(k.push({glyph:C,imageName:z,x:f,y:p+I,vertical:O,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:L,rect:P}),f+=L.advance*S.scale+c)}if(0!==k.length){var q=f-c;d=Math.max(q,d),gc(k,0,k.length-1,g,A)}f=0;var H=a*b+A;T.lineOffset=Math.max(A,w),p+=H,m=Math.max(H,m),++y}else p+=a,++y}var G=p-nc,W=mc(o),Z=W.horizontalAlign,Y=W.verticalAlign;(function(e,t,r,n,i,a,o,s,l){var c,u=(t-r)*i;c=a!==o?-s*n-nc:(-n*l+.5)*o;for(var h=0,f=e;h=0&&n>=e&&sc[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(e,r),this.sectionIndex=this.sectionIndex.slice(e,r)},ac.prototype.substring=function(e,t){var r=new ac;return r.text=this.text.substring(e,t),r.sectionIndex=this.sectionIndex.slice(e,t),r.sections=this.sections,r},ac.prototype.toString=function(){return this.text},ac.prototype.getMaxScale=function(){var e=this;return this.sectionIndex.reduce((function(t,r){return Math.max(t,e.sections[r].scale)}),0)},ac.prototype.addTextSection=function(e,t){this.text+=e.text,this.sections.push(ic.forText(e.scale,e.fontStack||t));for(var r=this.sections.length-1,n=0;n=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var sc={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},lc={};function cc(e,t,r,n,i,a){if(t.imageName){var o=n[t.imageName];return o?o.displaySize[0]*t.scale*Sl/a+i:0}var s=r[t.fontStack],l=s&&s[e];return l?l.metrics.advance*t.scale+i:0}function uc(e,t,r,n){var i=Math.pow(e-t,2);return n?e=0,u=0,h=0;h-r/2;){if(--o<0)return!1;s-=e[o].dist(a),a=e[o]}s+=e[o].dist(e[o+1]),o++;for(var l=[],c=0;sn;)c-=l.shift().angleDelta;if(c>i)return!1;o++,s+=h.dist(f)}return!0}function Ac(e){for(var t=0,r=0;rc){var d=(c-l)/p,m=er(h.x,f.x,d),g=er(h.y,f.y,d),y=new vc(m,g,f.angleTo(h),u);return y._round(),!o||kc(e,y,s,o,t)?y:void 0}l+=p}}function Cc(e,t,r,n,i,a,o,s,l){var c=Mc(n,a,o),u=Sc(n,i),h=u*o,f=0===e[0].x||e[0].x===l||0===e[0].y||e[0].y===l;return t-h=0&&_=0&&b=0&&f+c<=u){var w=new vc(_,b,v,d);w._round(),(!n||kc(e,w,a,n,i))&&p.push(w)}}h+=y}return!s&&!p.length&&!o&&(p=Ic(e,h/2,r,n,i,a,o,!0,l)),p}function Lc(e,t,r,n,i){for(var o=[],s=0;s=n&&f.x>=n)&&(h.x>=n?h=new a(n,h.y+(f.y-h.y)*((n-h.x)/(f.x-h.x)))._round():f.x>=n&&(f=new a(n,h.y+(f.y-h.y)*((n-h.x)/(f.x-h.x)))._round()),!(h.y>=i&&f.y>=i)&&(h.y>=i?h=new a(h.x+(f.x-h.x)*((i-h.y)/(f.y-h.y)),i)._round():f.y>=i&&(f=new a(h.x+(f.x-h.x)*((i-h.y)/(f.y-h.y)),i)._round()),(!c||!h.equals(c[c.length-1]))&&(c=[h],o.push(c)),c.push(f)))))}return o}function Pc(e,t,r,n){var i=[],o=e.image,s=o.pixelRatio,l=o.paddedRect.w-2,c=o.paddedRect.h-2,u=e.right-e.left,h=e.bottom-e.top,f=o.stretchX||[[0,l]],p=o.stretchY||[[0,c]],d=function(e,t){return e+t[1]-t[0]},m=f.reduce(d,0),g=p.reduce(d,0),y=l-m,v=c-g,x=0,_=m,b=0,w=g,T=0,k=y,A=0,M=v;if(o.content&&n){var S=o.content;x=zc(f,0,S[0]),b=zc(p,0,S[1]),_=zc(f,S[0],S[2]),w=zc(p,S[1],S[3]),T=S[0]-x,A=S[1]-b,k=S[2]-S[0]-_,M=S[3]-S[1]-w}var E=function(n,i,l,c){var f=Oc(n.stretch-x,_,u,e.left),p=Rc(n.fixed-T,k,n.stretch,m),d=Oc(i.stretch-b,w,h,e.top),y=Rc(i.fixed-A,M,i.stretch,g),v=Oc(l.stretch-x,_,u,e.left),S=Rc(l.fixed-T,k,l.stretch,m),E=Oc(c.stretch-b,w,h,e.top),C=Rc(c.fixed-A,M,c.stretch,g),I=new a(f,d),L=new a(v,d),P=new a(v,E),z=new a(f,E),D=new a(p/s,y/s),O=new a(S/s,C/s),R=t*Math.PI/180;if(R){var F=Math.sin(R),B=Math.cos(R),j=[B,-F,F,B];I._matMult(j),L._matMult(j),z._matMult(j),P._matMult(j)}var N=n.stretch+n.fixed,U=l.stretch+l.fixed,V=i.stretch+i.fixed,q=c.stretch+c.fixed;return{tl:I,tr:L,bl:z,br:P,tex:{x:o.paddedRect.x+1+N,y:o.paddedRect.y+1+V,w:U-N,h:q-V},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:D,pixelOffsetBR:O,minFontScaleX:k/s/u,minFontScaleY:M/s/h,isSDF:r}};if(n&&(o.stretchX||o.stretchY))for(var C=Dc(f,y,m),I=Dc(p,v,g),L=0;L0&&(d=Math.max(10,d),this.circleDiameter=d)}else{var m=o.top*s-l,g=o.bottom*s+l,y=o.left*s-l,v=o.right*s+l,x=o.collisionPadding;if(x&&(y-=x[0]*s,m-=x[1]*s,v+=x[2]*s,g+=x[3]*s),u){var _=new a(y,m),b=new a(v,m),w=new a(y,g),T=new a(v,g),k=u*Math.PI/180;_._rotate(k),b._rotate(k),w._rotate(k),T._rotate(k),y=Math.min(_.x,b.x,w.x,T.x),v=Math.max(_.x,b.x,w.x,T.x),m=Math.min(_.y,b.y,w.y,T.y),g=Math.max(_.y,b.y,w.y,T.y)}e.emplaceBack(t.x,t.y,y,m,v,g,r,n,i)}this.boxEndIndex=e.length},Bc=function(e,t){if(void 0===e&&(e=[]),void 0===t&&(t=jc),this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function jc(e,t){return et?1:0}function Nc(e,t,r){void 0===t&&(t=1),void 0===r&&(r=!1);for(var n=1/0,i=1/0,o=-1/0,s=-1/0,l=e[0],c=0;co)&&(o=u.x),(!c||u.y>s)&&(s=u.y)}var h=o-n,f=s-i,p=Math.min(h,f),d=p/2,m=new Bc([],Uc);if(0===p)return new a(n,i);for(var g=n;gv.d||!v.d)&&(v=_,r&&console.log("found best %d after %d probes",Math.round(1e4*_.d)/1e4,x)),!(_.max-v.d<=t)&&(d=_.h/2,m.push(new Vc(_.p.x-d,_.p.y-d,d,e)),m.push(new Vc(_.p.x+d,_.p.y-d,d,e)),m.push(new Vc(_.p.x-d,_.p.y+d,d,e)),m.push(new Vc(_.p.x+d,_.p.y+d,d,e)),x+=4)}return r&&(console.log("num probes: "+x),console.log("best distance: "+v.d)),v.p}function Uc(e,t){return t.max-e.max}function Vc(e,t,r,n){this.p=new a(e,t),this.h=r,this.d=function(e,t){for(var r=!1,n=1/0,i=0;ie.y!=u.y>e.y&&e.x<(u.x-c.x)*(e.y-c.y)/(u.y-c.y)+c.x&&(r=!r),n=Math.min(n,So(e,c,u))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}Bc.prototype.push=function(e){this.data.push(e),this.length++,this._up(this.length-1)},Bc.prototype.pop=function(){if(0!==this.length){var e=this.data[0],t=this.data.pop();return this.length--,this.length>0&&(this.data[0]=t,this._down(0)),e}},Bc.prototype.peek=function(){return this.data[0]},Bc.prototype._up=function(e){for(var t=this.data,r=this.compare,n=t[e];e>0;){var i=e-1>>1,a=t[i];if(r(n,a)>=0)break;t[e]=a,e=i}t[e]=n},Bc.prototype._down=function(e){for(var t=this.data,r=this.compare,n=this.length>>1,i=t[e];e=0)break;t[e]=o,e=a}t[e]=i};var qc=Number.POSITIVE_INFINITY;function Hc(e,t){return t[1]!==qc?function(e,t,r){var n=0,i=0;switch(t=Math.abs(t),r=Math.abs(r),e){case"top-right":case"top-left":case"top":i=r-7;break;case"bottom-right":case"bottom-left":case"bottom":i=7-r}switch(e){case"top-right":case"bottom-right":case"right":n=-t;break;case"top-left":case"bottom-left":case"left":n=t}return[n,i]}(e,t[0],t[1]):function(e,t){var r=0,n=0;t<0&&(t=0);var i=t/Math.sqrt(2);switch(e){case"top-right":case"top-left":n=i-7;break;case"bottom-right":case"bottom-left":n=7-i;break;case"bottom":n=7-t;break;case"top":n=t-7}switch(e){case"top-right":case"bottom-right":r=-i;break;case"top-left":case"bottom-left":r=i;break;case"left":r=t;break;case"right":r=-t}return[r,n]}(e,t[0])}function Gc(e){switch(e){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}var Wc=255,Zc=32640;function Yc(e,t,r,n,i,o,s,l,c,u,h,f,p,d,m){var g=function(e,t,r,n,i,o,s,l){for(var c=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,u=[],h=0,f=t.positionedLines;hZc&&k(e.layerIds[0]+': Value for "text-size" is >= '+Wc+'. Reduce your "text-size".'):"composite"===y.kind&&((v=[xc*d.compositeTextSizes[0].evaluate(s,{},m),xc*d.compositeTextSizes[1].evaluate(s,{},m)])[0]>Zc||v[1]>Zc)&&k(e.layerIds[0]+': Value for "text-size" is >= '+Wc+'. Reduce your "text-size".'),e.addSymbols(e.text,g,v,l,o,s,u,t,c.lineStartIndex,c.lineLength,p,m);for(var x=0,_=h;x<_.length;x+=1)f[_[x]]=e.text.placedSymbolArray.length-1;return 4*g.length}function Xc(e){for(var t in e)return e[t];return null}function $c(e,t,r,n){var i=e.compareText;if(t in i){for(var a=i[t],o=a.length-1;o>=0;o--)if(n.dist(a[o])0)&&("constant"!==a.value.kind||a.value.value.length>0),c="constant"!==s.value.kind||!!s.value.value||Object.keys(s.parameters).length>0,u=i.get("symbol-sort-key");if(this.features=[],l||c){for(var h=t.iconDependencies,f=t.glyphDependencies,p=t.availableImages,d=new zi(this.zoom),m=0,g=e;m=0;for(var z=0,D=k.sections;z=0;s--)a[s]={x:t[s].x,y:t[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=t[s-1].dist(t[s]));for(var l=0;l0},iu.prototype.hasIconData=function(){return this.icon.segments.get().length>0},iu.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},iu.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},iu.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},iu.prototype.addIndicesForPlacedSymbol=function(e,t){for(var r=e.placedSymbolArray.get(t),n=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(e),this.sortedAngle=e,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r=0&&n.indexOf(e)===r&&t.addIndicesForPlacedSymbol(t.text,e)})),a.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,a.verticalPlacedTextSymbolIndex),a.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.placedIconSymbolIndex),a.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},ii("SymbolBucket",iu,{omit:["layers","collisionBoxArray","features","compareText"]}),iu.MAX_GLYPHS=65535,iu.addDynamicAttributes=eu;var au=new Zi({"symbol-placement":new Vi(Oe.layout_symbol["symbol-placement"]),"symbol-spacing":new Vi(Oe.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Vi(Oe.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new qi(Oe.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Vi(Oe.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Vi(Oe.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new Vi(Oe.layout_symbol["icon-ignore-placement"]),"icon-optional":new Vi(Oe.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Vi(Oe.layout_symbol["icon-rotation-alignment"]),"icon-size":new qi(Oe.layout_symbol["icon-size"]),"icon-text-fit":new Vi(Oe.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Vi(Oe.layout_symbol["icon-text-fit-padding"]),"icon-image":new qi(Oe.layout_symbol["icon-image"]),"icon-rotate":new qi(Oe.layout_symbol["icon-rotate"]),"icon-padding":new Vi(Oe.layout_symbol["icon-padding"]),"icon-keep-upright":new Vi(Oe.layout_symbol["icon-keep-upright"]),"icon-offset":new qi(Oe.layout_symbol["icon-offset"]),"icon-anchor":new qi(Oe.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Vi(Oe.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Vi(Oe.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Vi(Oe.layout_symbol["text-rotation-alignment"]),"text-field":new qi(Oe.layout_symbol["text-field"]),"text-font":new qi(Oe.layout_symbol["text-font"]),"text-size":new qi(Oe.layout_symbol["text-size"]),"text-max-width":new qi(Oe.layout_symbol["text-max-width"]),"text-line-height":new Vi(Oe.layout_symbol["text-line-height"]),"text-letter-spacing":new qi(Oe.layout_symbol["text-letter-spacing"]),"text-justify":new qi(Oe.layout_symbol["text-justify"]),"text-radial-offset":new qi(Oe.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Vi(Oe.layout_symbol["text-variable-anchor"]),"text-anchor":new qi(Oe.layout_symbol["text-anchor"]),"text-max-angle":new Vi(Oe.layout_symbol["text-max-angle"]),"text-writing-mode":new Vi(Oe.layout_symbol["text-writing-mode"]),"text-rotate":new qi(Oe.layout_symbol["text-rotate"]),"text-padding":new Vi(Oe.layout_symbol["text-padding"]),"text-keep-upright":new Vi(Oe.layout_symbol["text-keep-upright"]),"text-transform":new qi(Oe.layout_symbol["text-transform"]),"text-offset":new qi(Oe.layout_symbol["text-offset"]),"text-allow-overlap":new Vi(Oe.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new Vi(Oe.layout_symbol["text-ignore-placement"]),"text-optional":new Vi(Oe.layout_symbol["text-optional"])}),ou=new Zi({"icon-opacity":new qi(Oe.paint_symbol["icon-opacity"]),"icon-color":new qi(Oe.paint_symbol["icon-color"]),"icon-halo-color":new qi(Oe.paint_symbol["icon-halo-color"]),"icon-halo-width":new qi(Oe.paint_symbol["icon-halo-width"]),"icon-halo-blur":new qi(Oe.paint_symbol["icon-halo-blur"]),"icon-translate":new Vi(Oe.paint_symbol["icon-translate"]),"icon-translate-anchor":new Vi(Oe.paint_symbol["icon-translate-anchor"]),"text-opacity":new qi(Oe.paint_symbol["text-opacity"]),"text-color":new qi(Oe.paint_symbol["text-color"],{runtimeType:Ze,getOverride:function(e){return e.textColor},hasOverride:function(e){return!!e.textColor}}),"text-halo-color":new qi(Oe.paint_symbol["text-halo-color"]),"text-halo-width":new qi(Oe.paint_symbol["text-halo-width"]),"text-halo-blur":new qi(Oe.paint_symbol["text-halo-blur"]),"text-translate":new Vi(Oe.paint_symbol["text-translate"]),"text-translate-anchor":new Vi(Oe.paint_symbol["text-translate-anchor"])}),su={paint:ou,layout:au},lu=function(e){this.type=e.property.overrides?e.property.overrides.runtimeType:qe,this.defaultValue=e};lu.prototype.evaluate=function(e){if(e.formattedSection){var t=this.defaultValue.property.overrides;if(t&&t.hasOverride(e.formattedSection))return t.getOverride(e.formattedSection)}return e.feature&&e.featureState?this.defaultValue.evaluate(e.feature,e.featureState):this.defaultValue.property.specification.default},lu.prototype.eachChild=function(e){this.defaultValue.isConstant()||e(this.defaultValue.value._styleExpression.expression)},lu.prototype.outputDefined=function(){return!1},lu.prototype.serialize=function(){return null},ii("FormatSectionOverride",lu,{omit:["defaultValue"]});var cu=function(e){function t(t){e.call(this,t,su)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.recalculate=function(t,r){if(e.prototype.recalculate.call(this,t,r),"auto"===this.layout.get("icon-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["icon-rotation-alignment"]="map":this.layout._values["icon-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["text-rotation-alignment"]="map":this.layout._values["text-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){var n=this.layout.get("text-writing-mode");if(n){for(var i=[],a=0,o=n;a",targetMapId:n,sourceMapId:a.mapId})}}},Tu.prototype.receive=function(e){var t=e.data,r=t.id;if(r&&(!t.targetMapId||this.mapId===t.targetMapId))if(""===t.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else S()||t.mustQueue?(this.tasks[r]=t,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,t)},Tu.prototype.process=function(){if(this.taskQueue.length){var e=this.taskQueue.shift(),t=this.tasks[e];delete this.tasks[e],this.taskQueue.length&&this.invoker.trigger(),t&&this.processTask(e,t)}},Tu.prototype.processTask=function(e,t){var r=this;if(""===t.type){var n=this.callbacks[e];delete this.callbacks[e],n&&(t.error?n(ci(t.error)):n(null,ci(t.data)))}else{var i=!1,a=I(this.globalScope)?void 0:[],o=t.hasCallback?function(t,n){i=!0,delete r.cancelCallbacks[e],r.target.postMessage({id:e,type:"",sourceMapId:r.mapId,error:t?li(t):null,data:li(n,a)},a)}:function(e){i=!0},s=null,l=ci(t.data);if(this.parent[t.type])s=this.parent[t.type](t.sourceMapId,l,o);else if(this.parent.getWorkerSource){var c=t.type.split(".");s=this.parent.getWorkerSource(t.sourceMapId,c[0],l.source)[c[1]](l,o)}else o(new Error("Could not find function "+t.type));!i&&s&&s.cancel&&(this.cancelCallbacks[e]=s.cancel)}},Tu.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)};var Au=function(e,t){e&&(t?this.setSouthWest(e).setNorthEast(t):4===e.length?this.setSouthWest([e[0],e[1]]).setNorthEast([e[2],e[3]]):this.setSouthWest(e[0]).setNorthEast(e[1]))};Au.prototype.setNorthEast=function(e){return this._ne=e instanceof Su?new Su(e.lng,e.lat):Su.convert(e),this},Au.prototype.setSouthWest=function(e){return this._sw=e instanceof Su?new Su(e.lng,e.lat):Su.convert(e),this},Au.prototype.extend=function(e){var t,r,n=this._sw,i=this._ne;if(e instanceof Su)t=e,r=e;else{if(!(e instanceof Au)){if(Array.isArray(e)){if(4===e.length||e.every(Array.isArray)){var a=e;return this.extend(Au.convert(a))}var o=e;return this.extend(Su.convert(o))}return this}if(t=e._sw,r=e._ne,!t||!r)return this}return n||i?(n.lng=Math.min(t.lng,n.lng),n.lat=Math.min(t.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new Su(t.lng,t.lat),this._ne=new Su(r.lng,r.lat)),this},Au.prototype.getCenter=function(){return new Su((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Au.prototype.getSouthWest=function(){return this._sw},Au.prototype.getNorthEast=function(){return this._ne},Au.prototype.getNorthWest=function(){return new Su(this.getWest(),this.getNorth())},Au.prototype.getSouthEast=function(){return new Su(this.getEast(),this.getSouth())},Au.prototype.getWest=function(){return this._sw.lng},Au.prototype.getSouth=function(){return this._sw.lat},Au.prototype.getEast=function(){return this._ne.lng},Au.prototype.getNorth=function(){return this._ne.lat},Au.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Au.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},Au.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Au.prototype.contains=function(e){var t=Su.convert(e),r=t.lng,n=t.lat,i=this._sw.lat<=n&&n<=this._ne.lat,a=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(a=this._sw.lng>=r&&r>=this._ne.lng),i&&a},Au.convert=function(e){return!e||e instanceof Au?e:new Au(e)};var Mu=6371008.8,Su=function(e,t){if(isNaN(e)||isNaN(t))throw new Error("Invalid LngLat object: ("+e+", "+t+")");if(this.lng=+e,this.lat=+t,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};Su.prototype.wrap=function(){return new Su(f(this.lng,-180,180),this.lat)},Su.prototype.toArray=function(){return[this.lng,this.lat]},Su.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},Su.prototype.distanceTo=function(e){var t=Math.PI/180,r=this.lat*t,n=e.lat*t,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((e.lng-this.lng)*t);return Mu*Math.acos(Math.min(i,1))},Su.prototype.toBounds=function(e){void 0===e&&(e=0);var t=360*e/40075017,r=t/Math.cos(Math.PI/180*this.lat);return new Au(new Su(this.lng-r,this.lat-t),new Su(this.lng+r,this.lat+t))},Su.convert=function(e){if(e instanceof Su)return e;if(Array.isArray(e)&&(2===e.length||3===e.length))return new Su(Number(e[0]),Number(e[1]));if(!Array.isArray(e)&&"object"==typeof e&&null!==e)return new Su(Number("lng"in e?e.lng:e.lon),Number(e.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 Eu=2*Math.PI*Mu;function Cu(e){return Eu*Math.cos(e*Math.PI/180)}function Iu(e){return(180+e)/360}function Lu(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function Pu(e,t){return e/Cu(t)}function zu(e){var t=180-360*e;return 360/Math.PI*Math.atan(Math.exp(t*Math.PI/180))-90}var Du=function(e,t,r){void 0===r&&(r=0),this.x=+e,this.y=+t,this.z=+r};Du.fromLngLat=function(e,t){void 0===t&&(t=0);var r=Su.convert(e);return new Du(Iu(r.lng),Lu(r.lat),Pu(t,r.lat))},Du.prototype.toLngLat=function(){return new Su(function(e){return 360*e-180}(this.x),zu(this.y))},Du.prototype.toAltitude=function(){return function(e,t){return e*Cu(zu(t))}(this.z,this.y)},Du.prototype.meterInMercatorCoordinateUnits=function(){return 1/Eu*function(e){return 1/Math.cos(e*Math.PI/180)}(zu(this.y))};var Ou=function(e,t,r){this.z=e,this.x=t,this.y=r,this.key=Bu(0,e,e,t,r)};Ou.prototype.equals=function(e){return this.z===e.z&&this.x===e.x&&this.y===e.y},Ou.prototype.url=function(e,t){var r=function(e,t,r){var n=ku(256*e,256*(t=Math.pow(2,r)-t-1),r),i=ku(256*(e+1),256*(t+1),r);return n[0]+","+n[1]+","+i[0]+","+i[1]}(this.x,this.y,this.z),n=function(e,t,r){for(var n,i="",a=e;a>0;a--)i+=(t&(n=1<this.canonical.z?new Fu(e,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Fu(e,this.wrap,e,this.canonical.x>>t,this.canonical.y>>t)},Fu.prototype.calculateScaledKey=function(e,t){var r=this.canonical.z-e;return e>this.canonical.z?Bu(this.wrap*+t,e,this.canonical.z,this.canonical.x,this.canonical.y):Bu(this.wrap*+t,e,e,this.canonical.x>>r,this.canonical.y>>r)},Fu.prototype.isChildOf=function(e){if(e.wrap!==this.wrap)return!1;var t=this.canonical.z-e.canonical.z;return 0===e.overscaledZ||e.overscaledZ>t&&e.canonical.y===this.canonical.y>>t},Fu.prototype.children=function(e){if(this.overscaledZ>=e)return[new Fu(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var t=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new Fu(t,this.wrap,t,r,n),new Fu(t,this.wrap,t,r+1,n),new Fu(t,this.wrap,t,r,n+1),new Fu(t,this.wrap,t,r+1,n+1)]},Fu.prototype.isLessThan=function(e){return this.wrape.wrap)&&(this.overscaledZe.overscaledZ)&&(this.canonical.xe.canonical.x)&&this.canonical.y=this.dim+1||t<-1||t>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(t+1)*this.stride+(e+1)},ju.prototype._unpackMapbox=function(e,t,r){return(256*e*256+256*t+r)/10-1e4},ju.prototype._unpackTerrarium=function(e,t,r){return 256*e+t+r/256-32768},ju.prototype.getPixels=function(){return new Xo({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},ju.prototype.backfillBorder=function(e,t,r){if(this.dim!==e.dim)throw new Error("dem dimension mismatch");var n=t*this.dim,i=t*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(t){case-1:n=i-1;break;case 1:i=n+1}switch(r){case-1:a=o-1;break;case 1:o=a+1}for(var s=-t*this.dim,l=-r*this.dim,c=a;c=0&&u[3]>=0&&s.insert(o,u[0],u[1],u[2],u[3])}},Hu.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new Ks.VectorTile(new Il(this.rawTileData)).layers,this.sourceLayerCoder=new Nu(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},Hu.prototype.query=function(e,t,r,n){var i=this;this.loadVTLayers();for(var o=e.params||{},s=fo/e.tileSize/e.scale,l=Tn(o.filter),c=e.queryGeometry,u=e.queryPadding*s,h=Wu(c),f=this.grid.query(h.minX-u,h.minY-u,h.maxX+u,h.maxY+u),p=Wu(e.cameraQueryGeometry),d=this.grid3D.query(p.minX-u,p.minY-u,p.maxX+u,p.maxY+u,(function(t,r,n,i){return function(e,t,r,n,i){for(var o=0,s=e;o=l.x&&i>=l.y)return!0}var c=[new a(t,r),new a(t,i),new a(n,i),new a(n,r)];if(e.length>2)for(var u=0,h=c;u=0)return!0;return!1}(a,h)){var f=this.sourceLayerCoder.decode(r),d=this.vtLayers[f].feature(n);if(i.needGeometry){var m=yo(d,!0);if(!i.filter(new zi(this.tileID.overscaledZ),m,this.tileID.canonical))return}else if(!i.filter(new zi(this.tileID.overscaledZ),d))return;for(var g=this.getId(d,f),y=0;yn)i=!1;else if(t)if(this.expirationTimefe&&(e.getActor().send("enforceCacheSizeLimit",he),ge=0)},e.clamp=h,e.clearTileCache=function(e){var t=s.caches.delete(ue);e&&t.catch(e).then((function(){return e()}))},e.clipLine=Lc,e.clone=function(e){var t=new Ro(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},e.clone$1=w,e.clone$2=function(e){var t=new Ro(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},e.collisionCircleLayout=kl,e.config=N,e.create=function(){var e=new Ro(16);return Ro!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e},e.create$1=function(){var e=new Ro(9);return Ro!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e},e.create$2=function(){var e=new Ro(4);return Ro!=Float32Array&&(e[1]=0,e[2]=0),e[0]=1,e[3]=1,e},e.createCommonjsModule=t,e.createExpression=cn,e.createLayout=Qi,e.createStyleLayer=function(e){return"custom"===e.type?new du(e):new mu[e.type](e)},e.cross=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],l=r[2];return e[0]=i*l-a*s,e[1]=a*o-n*l,e[2]=n*s-i*o,e},e.deepEqual=function e(t,r){if(Array.isArray(t)){if(!Array.isArray(r)||t.length!==r.length)return!1;for(var n=0;n0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e},e.number=er,e.offscreenCanvasSupported=ye,e.ortho=function(e,t,r,n,i,a,o){var s=1/(t-r),l=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*l,e[14]=(o+a)*c,e[15]=1,e},e.parseGlyphPBF=function(e){return new Il(e).readFields(Xl,[])},e.pbf=Il,e.performSymbolLayout=function(e,t,r,n,i,a,o){e.createArrays();var s=512*e.overscaling;e.tilePixelRatio=fo/s,e.compareText={},e.iconsNeedLinear=!1;var l=e.layers[0].layout,c=e.layers[0]._unevaluatedLayout._values,u={};if("composite"===e.textSizeData.kind){var h=e.textSizeData,f=h.minZoom,p=h.maxZoom;u.compositeTextSizes=[c["text-size"].possiblyEvaluate(new zi(f),o),c["text-size"].possiblyEvaluate(new zi(p),o)]}if("composite"===e.iconSizeData.kind){var d=e.iconSizeData,m=d.minZoom,g=d.maxZoom;u.compositeIconSizes=[c["icon-size"].possiblyEvaluate(new zi(m),o),c["icon-size"].possiblyEvaluate(new zi(g),o)]}u.layoutTextSize=c["text-size"].possiblyEvaluate(new zi(e.zoom+1),o),u.layoutIconSize=c["icon-size"].possiblyEvaluate(new zi(e.zoom+1),o),u.textMaxSize=c["text-size"].possiblyEvaluate(new zi(18));for(var y=l.get("text-line-height")*Sl,v="map"===l.get("text-rotation-alignment")&&"point"!==l.get("symbol-placement"),x=l.get("text-keep-upright"),_=l.get("text-size"),b=function(){var a=T[w],s=l.get("text-font").evaluate(a,{},o).join(","),c=_.evaluate(a,{},o),h=u.layoutTextSize.evaluate(a,{},o),f=u.layoutIconSize.evaluate(a,{},o),p={horizontal:{},vertical:void 0},d=a.text,m=[0,0];if(d){var g=d.toString(),b=l.get("text-letter-spacing").evaluate(a,{},o)*Sl,A=function(e){for(var t=0,r=e;t=fo||h.y<0||h.y>=fo||function(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,A){var M,S,E,C,I,L=e.addToLineVertexArray(t,r),P=0,z=0,D=0,O=0,R=-1,F=-1,B={},j=ja(""),N=0,U=0;if(void 0===s._unevaluatedLayout.getValue("text-radial-offset")?(N=(M=s.layout.get("text-offset").evaluate(_,{},T).map((function(e){return e*Sl})))[0],U=M[1]):(N=s.layout.get("text-radial-offset").evaluate(_,{},T)*Sl,U=qc),e.allowVerticalPlacement&&n.vertical){var V=s.layout.get("text-rotate").evaluate(_,{},T)+90,q=n.vertical;C=new Fc(l,t,c,u,h,q,f,p,d,V),o&&(I=new Fc(l,t,c,u,h,o,g,y,d,V))}if(i){var H=s.layout.get("icon-rotate").evaluate(_,{}),G="none"!==s.layout.get("icon-text-fit"),W=Pc(i,H,w,G),Z=o?Pc(o,H,w,G):void 0;E=new Fc(l,t,c,u,h,i,g,y,!1,H),P=4*W.length;var Y=e.iconSizeData,X=null;"source"===Y.kind?(X=[xc*s.layout.get("icon-size").evaluate(_,{})])[0]>Zc&&k(e.layerIds[0]+': Value for "icon-size" is >= '+Wc+'. Reduce your "icon-size".'):"composite"===Y.kind&&((X=[xc*b.compositeIconSizes[0].evaluate(_,{},T),xc*b.compositeIconSizes[1].evaluate(_,{},T)])[0]>Zc||X[1]>Zc)&&k(e.layerIds[0]+': Value for "icon-size" is >= '+Wc+'. Reduce your "icon-size".'),e.addSymbols(e.icon,W,X,x,v,_,!1,t,L.lineStartIndex,L.lineLength,-1,T),R=e.icon.placedSymbolArray.length-1,Z&&(z=4*Z.length,e.addSymbols(e.icon,Z,X,x,v,_,rc.vertical,t,L.lineStartIndex,L.lineLength,-1,T),F=e.icon.placedSymbolArray.length-1)}for(var $ in n.horizontal){var K=n.horizontal[$];if(!S){j=ja(K.text);var J=s.layout.get("text-rotate").evaluate(_,{},T);S=new Fc(l,t,c,u,h,K,f,p,d,J)}var Q=1===K.positionedLines.length;if(D+=Yc(e,t,K,a,s,d,_,m,L,n.vertical?rc.horizontal:rc.horizontalOnly,Q?Object.keys(n.horizontal):[$],B,R,b,T),Q)break}n.vertical&&(O+=Yc(e,t,n.vertical,a,s,d,_,m,L,rc.vertical,["vertical"],B,F,b,T));var ee=S?S.boxStartIndex:e.collisionBoxArray.length,te=S?S.boxEndIndex:e.collisionBoxArray.length,re=C?C.boxStartIndex:e.collisionBoxArray.length,ne=C?C.boxEndIndex:e.collisionBoxArray.length,ie=E?E.boxStartIndex:e.collisionBoxArray.length,ae=E?E.boxEndIndex:e.collisionBoxArray.length,oe=I?I.boxStartIndex:e.collisionBoxArray.length,se=I?I.boxEndIndex:e.collisionBoxArray.length,le=-1,ce=function(e,t){return e&&e.circleDiameter?Math.max(e.circleDiameter,t):t};le=ce(S,le),le=ce(C,le),le=ce(E,le);var ue=(le=ce(I,le))>-1?1:0;ue&&(le*=A/Sl),e.glyphOffsetArray.length>=iu.MAX_GLYPHS&&k("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==_.sortKey&&e.addToSortKeyRanges(e.symbolInstances.length,_.sortKey),e.symbolInstances.emplaceBack(t.x,t.y,B.right>=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,j,ee,te,re,ne,ie,ae,oe,se,c,D,O,P,z,ue,0,f,N,U,le)}(e,h,s,r,n,i,f,e.layers[0],e.collisionBoxArray,t.index,t.sourceLayerIndex,e.index,y,b,A,l,x,w,M,d,t,a,c,u,o)};if("line"===S)for(var L=0,P=Lc(t.geometry,0,0,fo,fo);L1){var N=Ec(j,T,r.vertical||m,n,24,v);N&&I(j,N)}}else if("Polygon"===t.type)for(var U=0,V=Ds(t.geometry,0);U=k.maxzoom||"none"===k.visibility||(o(T,this.zoom,n),(h[k.id]=k.createBucket({index:u.bucketLayerIDs.length,layers:T,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:g,sourceID:this.source})).populate(y,f,this.tileID.canonical),u.bucketLayerIDs.push(T.map((function(e){return e.id}))))}}}var A,M,S,E,C=e.mapObject(f.glyphDependencies,(function(e){return Object.keys(e).map(Number)}));Object.keys(C).length?a.send("getGlyphs",{uid:this.uid,stacks:C},(function(e,t){A||(A=e,M=t,P.call(l))})):M={};var I=Object.keys(f.iconDependencies);I.length?a.send("getImages",{icons:I,source:this.source,tileID:this.tileID,type:"icons"},(function(e,t){A||(A=e,S=t,P.call(l))})):S={};var L=Object.keys(f.patternDependencies);function P(){if(A)return s(A);if(M&&S&&E){var t=new i(M),r=new e.ImageAtlas(S,E);for(var a in h){var l=h[a];l instanceof e.SymbolBucket?(o(l.layers,this.zoom,n),e.performSymbolLayout(l,M,t.positions,S,r.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):l.hasPattern&&(l instanceof e.LineBucket||l instanceof e.FillBucket||l instanceof e.FillExtrusionBucket)&&(o(l.layers,this.zoom,n),l.addFeatures(f,this.tileID.canonical,r.patternPositions))}this.status="done",s(null,{buckets:e.values(h).filter((function(e){return!e.isEmpty()})),featureIndex:u,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:t.image,imageAtlas:r,glyphMap:this.returnDependencies?M:null,iconMap:this.returnDependencies?S:null,glyphPositions:this.returnDependencies?t.positions:null})}}L.length?a.send("getImages",{icons:L,source:this.source,tileID:this.tileID,type:"patterns"},(function(e,t){A||(A=e,E=t,P.call(l))})):E={},P.call(this)};var l=function(e,t,r,n){this.actor=e,this.layerIndex=t,this.availableImages=r,this.loadVectorData=n||s,this.loading={},this.loaded={}};l.prototype.loadTile=function(t,r){var n=this,i=t.uid;this.loading||(this.loading={});var o=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.RequestPerformance(t.request),s=this.loading[i]=new a(t);s.abort=this.loadVectorData(t,(function(t,a){if(delete n.loading[i],t||!a)return s.status="done",n.loaded[i]=s,r(t);var l=a.rawData,c={};a.expires&&(c.expires=a.expires),a.cacheControl&&(c.cacheControl=a.cacheControl);var u={};if(o){var h=o.finish();h&&(u.resourceTiming=JSON.parse(JSON.stringify(h)))}s.vectorTile=a.vectorTile,s.parse(a.vectorTile,n.layerIndex,n.availableImages,n.actor,(function(t,n){if(t||!n)return r(t);r(null,e.extend({rawTileData:l.slice(0)},n,c,u))})),n.loaded=n.loaded||{},n.loaded[i]=s}))},l.prototype.reloadTile=function(e,t){var r=this,n=this.loaded,i=e.uid,a=this;if(n&&n[i]){var o=n[i];o.showCollisionBoxes=e.showCollisionBoxes;var s=function(e,n){var i=o.reloadCallback;i&&(delete o.reloadCallback,o.parse(o.vectorTile,a.layerIndex,r.availableImages,a.actor,i)),t(e,n)};"parsing"===o.status?o.reloadCallback=s:"done"===o.status&&(o.vectorTile?o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s())}},l.prototype.abortTile=function(e,t){var r=this.loading,n=e.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),t()},l.prototype.removeTile=function(e,t){var r=this.loaded,n=e.uid;r&&r[n]&&delete r[n],t()};var c=e.window.ImageBitmap,u=function(){this.loaded={}};u.prototype.loadTile=function(t,r){var n=t.uid,i=t.encoding,a=t.rawImageData,o=c&&a instanceof c?this.getImageData(a):a,s=new e.DEMData(n,o,i);this.loaded=this.loaded||{},this.loaded[n]=s,r(null,s)},u.prototype.getImageData=function(t){(!this.offscreenCanvas||!this.offscreenCanvasContext)&&(this.offscreenCanvas=new OffscreenCanvas(t.width,t.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")),this.offscreenCanvas.width=t.width,this.offscreenCanvas.height=t.height,this.offscreenCanvasContext.drawImage(t,0,0,t.width,t.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,t.width+2,t.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new e.RGBAImage({width:r.width,height:r.height},r.data)},u.prototype.removeTile=function(e){var t=this.loaded,r=e.uid;t&&t[r]&&delete t[r]};var h=function e(t,r){var n,i=t&&t.type;if("FeatureCollection"===i)for(n=0;n=0!=!!t&&e.reverse()}var d=e.vectorTile.VectorTileFeature.prototype.toGeoJSON,m=function(t){this._feature=t,this.extent=e.EXTENT,this.type=t.type,this.properties=t.tags,"id"in t&&!isNaN(t.id)&&(this.id=parseInt(t.id,10))};m.prototype.loadGeometry=function(){if(1===this._feature.type){for(var t=[],r=0,n=this._feature.geometry;r"u"&&(n.push(s),l=n.length-1,a[s]=l),t.writeVarint(l);var c=r.properties[s],u=typeof c;"string"!==u&&"boolean"!==u&&"number"!==u&&(c=JSON.stringify(c));var h=u+":"+c,f=o[h];typeof f>"u"&&(i.push(c),f=i.length-1,o[h]=f),t.writeVarint(f)}}function E(e,t){return(t<<3)+(7&e)}function C(e){return e<<1^e>>31}function I(e,t){for(var r=e.loadGeometry(),n=e.type,i=0,a=0,o=r.length,s=0;s>1;z(e,t,o,n,i,a%2),P(e,t,r,n,o-1,a+1),P(e,t,r,o+1,i,a+1)}}function z(e,t,r,n,i,a){for(;i>n;){if(i-n>600){var o=i-n+1,s=r-n+1,l=Math.log(o),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1);z(e,t,r,Math.max(n,Math.floor(r-s*c/o+u)),Math.min(i,Math.floor(r+(o-s)*c/o+u)),a)}var h=t[2*r+a],f=n,p=i;for(D(e,t,n,r),t[2*i+a]>h&&D(e,t,n,i);fh;)p--}t[2*n+a]===h?D(e,t,n,p):D(e,t,++p,i),p<=r&&(n=p+1),r<=p&&(i=p-1)}}function D(e,t,r,n){O(e,r,n),O(t,2*r,2*n),O(t,2*r+1,2*n+1)}function O(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function R(e,t,r,n){var i=e-r,a=t-n;return i*i+a*a}b.fromVectorTileJs=w,b.fromGeojsonVt=function(e,t){t=t||{};var r={};for(var n in e)r[n]=new v(e[n].features,t),r[n].name=n,r[n].version=t.version,r[n].extent=t.extent;return k({layers:r})},b.GeoJSONWrapper=T;var F=function(e){return e[0]},B=function(e){return e[1]},j=function(e,t,r,n,i){void 0===t&&(t=F),void 0===r&&(r=B),void 0===n&&(n=64),void 0===i&&(i=Float64Array),this.nodeSize=n,this.points=e;for(var a=e.length<65536?Uint16Array:Uint32Array,o=this.ids=new a(e.length),s=this.coords=new i(2*e.length),l=0;l=r&&s<=i&&l>=n&&l<=a&&u.push(e[d]);else{var m=Math.floor((p+f)/2);s=t[2*m],l=t[2*m+1],s>=r&&s<=i&&l>=n&&l<=a&&u.push(e[m]);var g=(h+1)%2;(0===h?r<=s:n<=l)&&(c.push(p),c.push(m-1),c.push(g)),(0===h?i>=s:a>=l)&&(c.push(m+1),c.push(f),c.push(g))}}return u}(this.ids,this.coords,e,t,r,n,this.nodeSize)},j.prototype.within=function(e,t,r){return function(e,t,r,n,i,a){for(var o=[0,e.length-1,0],s=[],l=i*i;o.length;){var c=o.pop(),u=o.pop(),h=o.pop();if(u-h<=a)for(var f=h;f<=u;f++)R(t[2*f],t[2*f+1],r,n)<=l&&s.push(e[f]);else{var p=Math.floor((h+u)/2),d=t[2*p],m=t[2*p+1];R(d,m,r,n)<=l&&s.push(e[p]);var g=(c+1)%2;(0===c?r-i<=d:n-i<=m)&&(o.push(h),o.push(p-1),o.push(g)),(0===c?r+i>=d:n+i>=m)&&(o.push(p+1),o.push(u),o.push(g))}}return s}(this.ids,this.coords,e,t,r,this.nodeSize)};var N={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(e){return e}},U=function(e){this.options=$(Object.create(N),e),this.trees=new Array(this.options.maxZoom+1)};function V(e,t,r,n,i){return{x:e,y:t,zoom:1/0,id:r,parentId:-1,numPoints:n,properties:i}}function q(e,t){var r=e.geometry.coordinates,n=r[0],i=r[1];return{x:W(n),y:Z(i),zoom:1/0,index:t,parentId:-1}}function H(e){return{type:"Feature",id:e.id,properties:G(e),geometry:{type:"Point",coordinates:[Y(e.x),X(e.y)]}}}function G(e){var t=e.numPoints,r=t>=1e4?Math.round(t/1e3)+"k":t>=1e3?Math.round(t/100)/10+"k":t;return $($({},e.properties),{cluster:!0,cluster_id:e.id,point_count:t,point_count_abbreviated:r})}function W(e){return e/360+.5}function Z(e){var t=Math.sin(e*Math.PI/180),r=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return r<0?0:r>1?1:r}function Y(e){return 360*(e-.5)}function X(e){var t=(180-360*e)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function $(e,t){for(var r in t)e[r]=t[r];return e}function K(e){return e.x}function J(e){return e.y}function Q(e,t,r,n){for(var i,a=n,o=r-t>>1,s=r-t,l=e[t],c=e[t+1],u=e[r],h=e[r+1],f=t+3;fa)i=f,a=p;else if(p===a){var d=Math.abs(f-o);dn&&(i-t>3&&Q(e,t,i,n),e[i+2]=a,r-i>3&&Q(e,i,r,n))}function ee(e,t,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((e-r)*o+(t-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=e-r)*o+(s=t-n)*s}function te(e,t,r,n){var i={id:typeof e>"u"?null:e,type:t,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(e){var t=e.geometry,r=e.type;if("Point"===r||"MultiPoint"===r||"LineString"===r)re(e,t);else if("Polygon"===r||"MultiLineString"===r)for(var n=0;n0&&(o+=n?(i*c-l*a)/2:Math.sqrt(Math.pow(l-i,2)+Math.pow(c-a,2))),i=l,a=c}var u=t.length-3;t[2]=1,Q(t,0,u,r),t[u+2]=1,t.size=Math.abs(o),t.start=0,t.end=t.size}function oe(e,t,r,n){for(var i=0;i1?1:r}function ce(e,t,r,n,i,a,o,s){if(n/=t,a>=(r/=t)&&o=n)return null;for(var l=[],c=0;c=r&&d=n)){var m=[];if("Point"===f||"MultiPoint"===f)ue(h,m,r,n,i);else if("LineString"===f)he(h,m,r,n,i,!1,s.lineMetrics);else if("MultiLineString"===f)pe(h,m,r,n,i,!1);else if("Polygon"===f)pe(h,m,r,n,i,!0);else if("MultiPolygon"===f)for(var g=0;g=r&&o<=n&&(t.push(e[a]),t.push(e[a+1]),t.push(e[a+2]))}}function he(e,t,r,n,i,a,o){for(var s,l,c=fe(e),u=0===i?me:ge,h=e.start,f=0;fr&&(l=u(c,p,d,g,y,r),o&&(c.start=h+s*l)):v>n?x=r&&(l=u(c,p,d,g,y,r),_=!0),x>n&&v<=n&&(l=u(c,p,d,g,y,n),_=!0),!a&&_&&(o&&(c.end=h+s*l),t.push(c),c=fe(e)),o&&(h+=s)}var b=e.length-3;p=e[b],d=e[b+1],m=e[b+2],(v=0===i?p:d)>=r&&v<=n&&de(c,p,d,m),b=c.length-3,a&&b>=3&&(c[b]!==c[0]||c[b+1]!==c[1])&&de(c,c[0],c[1],c[2]),c.length&&t.push(c)}function fe(e){var t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function pe(e,t,r,n,i,a){for(var o=0;oo.maxX&&(o.maxX=u),h>o.maxY&&(o.maxY=h)}return o}function we(e,t,r,n){var i=t.geometry,a=t.type,o=[];if("Point"===a||"MultiPoint"===a)for(var s=0;s0&&t.size<(i?o:n))r.numPoints+=t.length/3;else{for(var s=[],l=0;lo)&&(r.numSimplified++,s.push(t[l]),s.push(t[l+1])),r.numPoints++;i&&function(e,t){for(var r=0,n=0,i=e.length,a=i-2;n0===t)for(n=0,i=e.length;n24)throw new Error("maxZoom should be in the 0-24 range");if(t.promoteId&&t.generateId)throw new Error("promoteId and generateId cannot be used together.");var n=function(e,t){var r=[];if("FeatureCollection"===e.type)for(var n=0;n=n;c--){var u=+Date.now();s=this._cluster(s,c),this.trees[c]=new j(s,K,J,a,Float32Array),r&&console.log("z%d: %d clusters in %dms",c,s.length,+Date.now()-u)}return r&&console.timeEnd("total time"),this},U.prototype.getClusters=function(e,t){var r=((e[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,e[1])),i=180===e[2]?180:((e[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)r=-180,i=180;else if(r>i){var o=this.getClusters([r,n,180,a],t),s=this.getClusters([-180,n,i,a],t);return o.concat(s)}for(var l=this.trees[this._limitZoom(t)],c=[],u=0,h=l.range(W(r),Z(a),W(i),Z(n));ut&&(d+=v.numPoints||1)}if(d>=s){for(var x=u.x*p,_=u.y*p,b=o&&p>1?this._map(u,!0):null,w=(c<<5)+(t+1)+this.points.length,T=0,k=f;T1)for(var E=0,C=f;E>5},U.prototype._getOriginZoom=function(e){return(e-this.points.length)%32},U.prototype._map=function(e,t){if(e.numPoints)return t?$({},e.properties):e.properties;var r=this.points[e.index].properties,n=this.options.map(r);return t&&n===r?$({},n):n},ke.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},ke.prototype.splitTile=function(e,t,r,n,i,a,o){for(var s=[e,t,r,n],l=this.options,c=l.debug;s.length;){n=s.pop(),r=s.pop(),t=s.pop(),e=s.pop();var u=1<1&&console.time("creation"),f=this.tiles[h]=be(e,t,r,n,l),this.tileCoords.push({z:t,x:r,y:n}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",t,r,n,f.numFeatures,f.numPoints,f.numSimplified),console.timeEnd("creation"));var p="z"+t;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(f.source=e,i){if(t===l.maxZoom||t===i)continue;var d=1<1&&console.time("clipping");var m,g,y,v,x,_,b=.5*l.buffer/l.extent,w=.5-b,T=.5+b,k=1+b;m=g=y=v=null,x=ce(e,u,r-b,r+T,0,f.minX,f.maxX,l),_=ce(e,u,r+w,r+k,0,f.minX,f.maxX,l),e=null,x&&(m=ce(x,u,n-b,n+T,1,f.minY,f.maxY,l),g=ce(x,u,n+w,n+k,1,f.minY,f.maxY,l),x=null),_&&(y=ce(_,u,n-b,n+T,1,f.minY,f.maxY,l),v=ce(_,u,n+w,n+k,1,f.minY,f.maxY,l),_=null),c>1&&console.timeEnd("clipping"),s.push(m||[],t+1,2*r,2*n),s.push(g||[],t+1,2*r,2*n+1),s.push(y||[],t+1,2*r+1,2*n),s.push(v||[],t+1,2*r+1,2*n+1)}}},ke.prototype.getTile=function(e,t,r){var n=this.options,i=n.extent,a=n.debug;if(e<0||e>24)return null;var o=1<1&&console.log("drilling down to z%d-%d-%d",e,t,r);for(var l,c=e,u=t,h=r;!l&&c>0;)c--,u=Math.floor(u/2),h=Math.floor(h/2),l=this.tiles[Ae(c,u,h)];return l&&l.source?(a>1&&console.log("found parent tile z%d-%d-%d",c,u,h),a>1&&console.time("drilling down"),this.splitTile(l.source,c,u,h,e,t,r),a>1&&console.timeEnd("drilling down"),this.tiles[s]?xe(this.tiles[s],i):null):null};var Se=function(t){function r(e,r,n,i){t.call(this,e,r,n,Me),i&&(this.loadGeoJSON=i)}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.loadData=function(e,t){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=t,this._pendingLoadDataParams=e,this._state&&"Idle"!==this._state?this._state="NeedsLoadData":(this._state="Coalescing",this._loadData())},r.prototype._loadData=function(){var t=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,n=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var i=!!(n&&n.request&&n.request.collectResourceTiming)&&new e.RequestPerformance(n.request);this.loadGeoJSON(n,(function(a,o){if(a||!o)return r(a);if("object"!=typeof o)return r(new Error("Input data given to '"+n.source+"' is not a valid GeoJSON object."));h(o,!0);try{if(n.filter){var s=e.createExpression(n.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===s.result)throw new Error(s.value.map((function(e){return e.key+": "+e.message})).join(", "));var l=o.features.filter((function(e){return s.value.evaluate({zoom:0},e)}));o={type:"FeatureCollection",features:l}}t._geoJSONIndex=n.cluster?new U(function(t){var r=t.superclusterOptions,n=t.clusterProperties;if(!n||!r)return r;for(var i={},a={},o={accumulated:null,zoom:0},s={properties:null},l=Object.keys(n),c=0,u=l;c=0?0:t.button},r.remove=function(e){e.parentNode&&e.parentNode.removeChild(e)};var f=function(t){function r(){t.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 t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.isLoaded=function(){return this.loaded},r.prototype.setLoaded=function(e){if(this.loaded!==e&&(this.loaded=e,e)){for(var t=0,r=this.requestors;t=0?1.2:1))}function y(e,t,r,n,i,a,o){for(var s=0;s65535)t(new Error("glyphs > 65535 not supported"));else if(a.ranges[s])t(null,{stack:r,id:i,glyph:o});else{var l=a.requests[s];l||(l=a.requests[s]=[],x.loadGlyphRange(r,s,n.url,n.requestManager,(function(e,t){if(t){for(var r in t)n._doesCharSupportLocalGlyph(+r)||(a.glyphs[+r]=t[+r]);a.ranges[s]=!0}for(var i=0,o=l;i1&&(l=e[++s]);var u=Math.abs(c-l.left),h=Math.abs(c-l.right),f=Math.min(u,h),p=void 0,d=i/r*(n+1);if(l.isDash){var m=n-Math.abs(d);p=Math.sqrt(f*f+m*m)}else p=n-Math.sqrt(f*f+d*d);this.data[o+c]=Math.max(0,Math.min(255,p+128))}},T.prototype.addRegularDash=function(e){for(var t=e.length-1;t>=0;--t){var r=e[t],n=e[t+1];r.zeroLength?e.splice(t,1):n&&n.isDash===r.isDash&&(n.left=r.left,e.splice(t,1))}var i=e[0],a=e[e.length-1];i.isDash===a.isDash&&(i.left=a.left-this.width,a.right=i.right+this.width);for(var o=this.width*this.nextRow,s=0,l=e[s],c=0;c1&&(l=e[++s]);var u=Math.abs(c-l.left),h=Math.abs(c-l.right),f=Math.min(u,h),p=l.isDash?f:-f;this.data[o+c]=Math.max(0,Math.min(255,p+128))}},T.prototype.addDash=function(t,r){var n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return e.warnOnce("LineAtlas out of space"),null;for(var a=0,o=0;o=n&&t.x=i&&t.y0&&(l[new e.OverscaledTileID(t.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new e.OverscaledTileID(t.overscaledZ,t.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new e.OverscaledTileID(t.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+10&&(n.resourceTiming=t._resourceTiming,t._resourceTiming=[]),t.fire(new e.Event("data",n))}}))},r.prototype.onAdd=function(e){this.map=e,this.load()},r.prototype.setData=function(t){var r=this;return this._data=t,this.fire(new e.Event("dataloading",{dataType:"source"})),this._updateWorkerData((function(t){if(t)r.fire(new e.ErrorEvent(t));else{var n={dataType:"source",sourceDataType:"content"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new e.Event("data",n))}})),this},r.prototype.getClusterExpansionZoom=function(e,t){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:e,source:this.id},t),this},r.prototype.getClusterChildren=function(e,t){return this.actor.send("geojson.getClusterChildren",{clusterId:e,source:this.id},t),this},r.prototype.getClusterLeaves=function(e,t,r,n){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:e,limit:t,offset:r},n),this},r.prototype._updateWorkerData=function(t){var r=this;this._loaded=!1;var n=e.extend({},this.workerOptions),i=this._data;"string"==typeof i?(n.request=this.map._requestManager.transformRequest(e.browser.resolveURL(i),e.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(i),this.actor.send(this.type+".loadData",n,(function(e,i){r._removed||i&&i.abandoned||(r._loaded=!0,i&&i.resourceTiming&&i.resourceTiming[r.id]&&(r._resourceTiming=i.resourceTiming[r.id].slice(0)),r.actor.send(r.type+".coalesce",{source:n.source},null),t(e))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(t,r){var n=this,i=t.actor?"reloadTile":"loadTile";t.actor=this.actor;var a={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:e.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};t.request=this.actor.send(i,a,(function(e,a){return delete t.request,t.unloadVectorData(),t.aborted?r(null):e?r(e):(t.loadVectorData(a,n.map.painter,"reloadTile"===i),r(null))}))},r.prototype.abortTile=function(e){e.request&&(e.request.cancel(),delete e.request),e.aborted=!0},r.prototype.unloadTile=function(e){e.unloadVectorData(),this.actor.send("removeTile",{uid:e.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})},r.prototype.serialize=function(){return e.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(e.Evented),L=e.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),P=function(t){function r(e,r,n,i){t.call(this),this.id=e,this.dispatcher=n,this.coordinates=r.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(i),this.options=r}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.load=function(t,r){var n=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(i,a){n._loaded=!0,i?n.fire(new e.ErrorEvent(i)):a&&(n.image=a,t&&(n.coordinates=t),r&&r(),n._finishLoading())}))},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(e){var t=this;return this.image&&e.url?(this.options.url=e.url,this.load(e.coordinates,(function(){t.texture=null})),this):this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new e.Event("data",{dataType:"source",sourceDataType:"metadata"})))},r.prototype.onAdd=function(e){this.map=e,this.load()},r.prototype.setCoordinates=function(t){var r=this;this.coordinates=t;var n=t.map(e.MercatorCoordinate.fromLngLat);this.tileID=function(t){for(var r=1/0,n=1/0,i=-1/0,a=-1/0,o=0,s=t;or.end(0)?this.fire(new e.ErrorEvent(new e.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+r.start(0)+" and "+r.end(0)+"-second mark."))):this.video.currentTime=t}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(e){this.map||(this.map=e,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var t=this.map.painter.context,r=t.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,L.members)),this.boundsSegments||(this.boundsSegments=e.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new e.Texture(t,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];"loaded"!==i.state&&(i.state="loaded",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(P),D=function(t){function r(r,n,i,a){t.call(this,r,n,i,a),n.coordinates?(!Array.isArray(n.coordinates)||4!==n.coordinates.length||n.coordinates.some((function(e){return!Array.isArray(e)||2!==e.length||e.some((function(e){return"number"!=typeof e}))})))&&this.fire(new e.ErrorEvent(new e.ValidationError("sources."+r,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new e.ErrorEvent(new e.ValidationError("sources."+r,null,'missing required property "coordinates"'))),n.animate&&"boolean"!=typeof n.animate&&this.fire(new e.ErrorEvent(new e.ValidationError("sources."+r,null,'optional "animate" property must be a boolean value'))),n.canvas?"string"!=typeof n.canvas&&!(n.canvas instanceof e.window.HTMLCanvasElement)&&this.fire(new e.ErrorEvent(new e.ValidationError("sources."+r,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new e.ErrorEvent(new e.ValidationError("sources."+r,null,'missing required property "canvas"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.load=function(){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."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(e){this.map=e,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var t=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,t=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,t=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,L.members)),this.boundsSegments||(this.boundsSegments=e.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(t||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new e.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var a=this.tiles[i];"loaded"!==a.state&&(a.state="loaded",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var e=0,t=[this.canvas.width,this.canvas.height];ethis.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},j.prototype.has=function(e){return e.wrapped().key in this.data},j.prototype.getAndRemove=function(e){return this.has(e)?this._getAndRemoveByKey(e.wrapped().key):null},j.prototype._getAndRemoveByKey=function(e){var t=this.data[e].shift();return t.timeout&&clearTimeout(t.timeout),0===this.data[e].length&&delete this.data[e],this.order.splice(this.order.indexOf(e),1),t.value},j.prototype.getByKey=function(e){var t=this.data[e];return t?t[0].value:null},j.prototype.get=function(e){return this.has(e)?this.data[e.wrapped().key][0].value:null},j.prototype.remove=function(e,t){if(!this.has(e))return this;var r=e.wrapped().key,n=void 0===t?0:this.data[r].indexOf(t),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this},j.prototype.setMaxSize=function(e){for(this.max=e;this.order.length>this.max;){var t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this},j.prototype.filter=function(e){var t=[];for(var r in this.data)for(var n=0,i=this.data[r];n1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),t.dem&&e.dem&&(e.dem.backfillBorder(t.dem,r,n),e.neighboringTiles&&e.neighboringTiles[a]&&(e.neighboringTiles[a].backfilled=!0)))}},r.prototype.getTile=function(e){return this.getTileByID(e.key)},r.prototype.getTileByID=function(e){return this._tiles[e]},r.prototype._retainLoadedChildren=function(e,t,r,n){for(var i in this._tiles){var a=this._tiles[i];if(!(n[i]||!a.hasData()||a.tileID.overscaledZ<=t||a.tileID.overscaledZ>r)){for(var o=a.tileID;a&&a.tileID.overscaledZ>t+1;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);(a=this._tiles[s.key])&&a.hasData()&&(o=s)}for(var l=o;l.overscaledZ>t;)if(e[(l=l.scaledTo(l.overscaledZ-1)).key]){n[o.key]=o;break}}}},r.prototype.findLoadedParent=function(e,t){if(e.key in this._loadedParentTiles){var r=this._loadedParentTiles[e.key];return r&&r.tileID.overscaledZ>=t?r:null}for(var n=e.overscaledZ-1;n>=t;n--){var i=e.scaledTo(n),a=this._getLoadedTile(i);if(a)return a}},r.prototype._getLoadedTile=function(e){var t=this._tiles[e.key];return t&&t.hasData()?t:this._cache.getByKey(e.wrapped().key)},r.prototype.updateCacheSize=function(e){var t=(Math.ceil(e.width/this._source.tileSize)+1)*(Math.ceil(e.height/this._source.tileSize)+1),r=Math.floor(5*t),n="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},r.prototype.handleWrapJump=function(e){var t=(e-(void 0===this._prevLng?e:this._prevLng))/360,r=Math.round(t);if(this._prevLng=e,r){var n={};for(var i in this._tiles){var a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+r),n[a.tileID.key]=a}for(var o in this._tiles=n,this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(var s in this._tiles){var l=this._tiles[s];this._setTileReloadTimer(s,l)}}},r.prototype.update=function(t){var n=this;if(this.transform=t,this._sourceLoaded&&!this._paused){var i;this.updateCacheSize(t),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?i=t.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(t){return new e.OverscaledTileID(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y)})):(i=t.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter((function(e){return n._source.hasTile(e)})))):i=[];var a=t.coveringZoomLevel(this._source),o=Math.max(a-r.maxOverzooming,this._source.minzoom),s=Math.max(a+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(i,a);if(ze(this._source.type)){for(var c={},u={},h=0,f=Object.keys(l);hthis._source.maxzoom){var g=d.children(this._source.maxzoom)[0],y=this.getTile(g);if(y&&y.hasData()){n[g.key]=g;continue}}else{var v=d.children(this._source.maxzoom);if(n[v[0].key]&&n[v[1].key]&&n[v[2].key]&&n[v[3].key])continue}for(var x=m.wasRequested(),_=d.overscaledZ-1;_>=a;--_){var b=d.scaledTo(_);if(i[b.key]||(i[b.key]=!0,!(m=this.getTile(b))&&x&&(m=this._addTile(b)),m&&(n[b.key]=b,x=m.wasRequested(),m.hasData())))break}}}return n},r.prototype._updateLoadedParentTileCache=function(){for(var e in this._loadedParentTiles={},this._tiles){for(var t=[],r=void 0,n=this._tiles[e].tileID;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}t.push(n.key);var i=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(i))break;n=i}for(var a=0,o=t;a0)&&(t.hasData()&&"reloading"!==t.state?this._cache.add(t.tileID,t,t.getExpiryTimeout()):(t.aborted=!0,this._abortTile(t),this._unloadTile(t))))},r.prototype.clearTiles=function(){for(var e in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(e);this._cache.reset()},r.prototype.tilesIn=function(t,r,n){var i=this,a=[],o=this.transform;if(!o)return a;for(var s=n?o.getCameraQueryGeometry(t):t,l=t.map((function(e){return o.pointCoordinate(e)})),c=s.map((function(e){return o.pointCoordinate(e)})),u=this.getIds(),h=1/0,f=1/0,p=-1/0,d=-1/0,m=0,g=c;m=0&&y[1].y+g>=0){var v=l.map((function(e){return s.getTilePoint(e)})),x=c.map((function(e){return s.getTilePoint(e)}));a.push({tile:n,tileID:s,queryGeometry:v,cameraQueryGeometry:x,scale:m})}}},x=0;x=e.browser.now())return!0}return!1},r.prototype.setFeatureState=function(e,t,r){e=e||"_geojsonTileLayer",this._state.updateState(e,t,r)},r.prototype.removeFeatureState=function(e,t,r){e=e||"_geojsonTileLayer",this._state.removeFeatureState(e,t,r)},r.prototype.getFeatureState=function(e,t){return e=e||"_geojsonTileLayer",this._state.getState(e,t)},r.prototype.setDependencies=function(e,t,r){var n=this._tiles[e];n&&n.setDependencies(t,r)},r.prototype.reloadTilesForDependencies=function(e,t){for(var r in this._tiles)this._tiles[r].hasDependency(e,t)&&this._reloadTile(r,"reloading");this._cache.filter((function(r){return!r.hasDependency(e,t)}))},r}(e.Evented);function Pe(e,t){var r=Math.abs(2*e.wrap)-+(e.wrap<0),n=Math.abs(2*t.wrap)-+(t.wrap<0);return e.overscaledZ-t.overscaledZ||n-r||t.canonical.y-e.canonical.y||t.canonical.x-e.canonical.x}function ze(e){return"raster"===e||"image"===e||"video"===e}function De(){return new e.window.Worker(na.workerUrl)}Le.maxOverzooming=10,Le.maxUnderzooming=3;var Oe="mapboxgl_preloaded_worker_pool",Re=function(){this.active={}};Re.prototype.acquire=function(e){if(!this.workers)for(this.workers=[];this.workers.length0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))};var Ke=function(e,t,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(e/r),this.yCellCount=Math.ceil(t/r);for(var a=0;a=-t[0]&&r<=t[0]&&n>=-t[1]&&n<=t[1]}function nt(t,r,n,i,a,o,s,l){var c=i?t.textSizeData:t.iconSizeData,u=e.evaluateSizeForZoom(c,n.transform.zoom),h=[256/n.width*2+1,256/n.height*2+1],f=i?t.text.dynamicLayoutVertexArray:t.icon.dynamicLayoutVertexArray;f.clear();for(var p=t.lineVertexArray,d=i?t.text.placedSymbolArray:t.icon.placedSymbolArray,m=n.transform.width/n.transform.height,g=!1,y=0;yMath.abs(n.x-r.x)*i?{useVertical:!0}:(t===e.WritingMode.vertical?r.yn.x)?{needsFlipping:!0}:null}function ot(t,r,n,i,a,o,s,l,c,u,h,f,p,d){var m,g=r/24,y=t.lineOffsetX*g,v=t.lineOffsetY*g;if(t.numGlyphs>1){var x=t.glyphStartIndex+t.numGlyphs,_=t.lineStartIndex,b=t.lineStartIndex+t.lineLength,w=it(g,l,y,v,n,h,f,t,c,o,p);if(!w)return{notEnoughRoom:!0};var T=et(w.first.point,s).point,k=et(w.last.point,s).point;if(i&&!n){var A=at(t.writingMode,T,k,d);if(A)return A}m=[w.first];for(var M=t.glyphStartIndex+1;M0?I.point:st(f,C,S,1,a),P=at(t.writingMode,S,L,d);if(P)return P}var z=lt(g*l.getoffsetX(t.glyphStartIndex),y,v,n,h,f,t.segment,t.lineStartIndex,t.lineStartIndex+t.lineLength,c,o,p);if(!z)return{notEnoughRoom:!0};m=[z]}for(var D=0,O=m;D0?1:-1,m=0;i&&(d*=-1,m=Math.PI),d<0&&(m+=Math.PI);for(var g=d>0?l+s:l+s+1,y=a,v=a,x=0,_=0,b=Math.abs(p),w=[];x+_<=b;){if((g+=d)=c)return null;if(v=y,w.push(y),void 0===(y=f[g])){var T=new e.Point(u.getx(g),u.gety(g)),k=et(T,h);if(k.signedDistanceFromCamera>0)y=f[g]=k.point;else{var A=g-d;y=st(0===x?o:new e.Point(u.getx(A),u.gety(A)),T,v,b-x+1,h)}}x+=_,_=v.dist(y)}var M=(b-x)/_,S=y.sub(v),E=S.mult(M)._add(v);E._add(S._unit()._perp()._mult(n*d));var C=m+Math.atan2(y.y-v.y,y.x-v.x);return w.push(E),{point:E,angle:C,path:w}}Ke.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Ke.prototype.insert=function(e,t,r,n,i){this._forEachCell(t,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(e),this.bboxes.push(t),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},Ke.prototype.insertCircle=function(e,t,r,n){this._forEachCell(t-n,r-n,t+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(e),this.circles.push(t),this.circles.push(r),this.circles.push(n)},Ke.prototype._insertBoxCell=function(e,t,r,n,i,a){this.boxCells[i].push(a)},Ke.prototype._insertCircleCell=function(e,t,r,n,i,a){this.circleCells[i].push(a)},Ke.prototype._query=function(e,t,r,n,i,a){if(r<0||e>this.width||n<0||t>this.height)return!i&&[];var o=[];if(e<=0&&t<=0&&this.width<=r&&this.height<=n){if(i)return!0;for(var s=0;s0:o},Ke.prototype._queryCircle=function(e,t,r,n,i){var a=e-r,o=e+r,s=t-r,l=t+r;if(o<0||a>this.width||l<0||s>this.height)return!n&&[];var c=[],u={hitTest:n,circle:{x:e,y:t,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(a,s,o,l,this._queryCellCircle,c,u,i),n?c.length>0:c},Ke.prototype.query=function(e,t,r,n,i){return this._query(e,t,r,n,!1,i)},Ke.prototype.hitTest=function(e,t,r,n,i){return this._query(e,t,r,n,!0,i)},Ke.prototype.hitTestCircle=function(e,t,r,n){return this._queryCircle(e,t,r,!0,n)},Ke.prototype._queryCell=function(e,t,r,n,i,a,o,s){var l=o.seenUids,c=this.boxCells[i];if(null!==c)for(var u=this.bboxes,h=0,f=c;h=u[d+0]&&n>=u[d+1]&&(!s||s(this.boxKeys[p]))){if(o.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[p],x1:u[d],y1:u[d+1],x2:u[d+2],y2:u[d+3]})}}}var m=this.circleCells[i];if(null!==m)for(var g=this.circles,y=0,v=m;yo*o+s*s},Ke.prototype._circleAndRectCollide=function(e,t,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(e-(n+s));if(l>s+r)return!1;var c=(o-i)/2,u=Math.abs(t-(i+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;var h=l-s,f=u-c;return h*h+f*f<=r*r};var ct=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ut(e,t){for(var r=0;r=1;L--)I.push(E.path[L]);for(var P=1;P0){for(var R=I[0].clone(),F=I[0].clone(),B=1;B=A.x&&F.x<=M.x&&R.y>=A.y&&F.y<=M.y?[I]:F.xM.x||F.yM.y?[]:e.clipLine([I],A.x,A.y,M.x,M.y)}for(var j=0,N=O;j=this.screenRightBoundary||nthis.screenBottomBoundary},pt.prototype.isInsideGrid=function(e,t,r,n){return r>=0&&e=0&&t0?(this.prevPlacement&&this.prevPlacement.variableOffsets[h.crossTileID]&&this.prevPlacement.placements[h.crossTileID]&&this.prevPlacement.placements[h.crossTileID].text&&(m=this.prevPlacement.variableOffsets[h.crossTileID].anchor),this.variableOffsets[h.crossTileID]={textOffset:g,width:r,height:n,anchor:e,textBoxScale:i,prevAnchor:m},this.markUsedJustification(f,e,h,p),f.allowVerticalPlacement&&(this.markUsedOrientation(f,p,h),this.placedOrientations[h.crossTileID]=p),{shift:y,placedGlyphBoxes:v}):void 0},Tt.prototype.placeLayerBucketPart=function(t,r,n){var i=this,a=t.parameters,o=a.bucket,s=a.layout,l=a.posMatrix,c=a.textLabelPlaneMatrix,u=a.labelToScreenMatrix,h=a.textPixelRatio,f=a.holdingForFade,p=a.collisionBoxArray,d=a.partiallyEvaluatedTextSize,m=a.collisionGroup,g=s.get("text-optional"),y=s.get("icon-optional"),v=s.get("text-allow-overlap"),x=s.get("icon-allow-overlap"),_="map"===s.get("text-rotation-alignment"),b="map"===s.get("text-pitch-alignment"),w="none"!==s.get("icon-text-fit"),T="viewport-y"===s.get("symbol-z-order"),k=v&&(x||!o.hasIconData()||y),A=x&&(v||!o.hasTextData()||g);!o.collisionArrays&&p&&o.deserializeCollisionBoxes(p);var M=function(t,a){if(!r[t.crossTileID]){if(f)return void(i.placements[t.crossTileID]=new yt(!1,!1,!1));var p,T=!1,M=!1,S=!0,E=null,C={box:null,offscreen:null},I={box:null,offscreen:null},L=null,P=null,z=0,D=0,O=0;a.textFeatureIndex?z=a.textFeatureIndex:t.useRuntimeCollisionCircles&&(z=t.featureIndex),a.verticalTextFeatureIndex&&(D=a.verticalTextFeatureIndex);var R=a.textBox;if(R){var F=function(r){var n=e.WritingMode.horizontal;if(o.allowVerticalPlacement&&!r&&i.prevPlacement){var a=i.prevPlacement.placedOrientations[t.crossTileID];a&&(i.placedOrientations[t.crossTileID]=a,n=a,i.markUsedOrientation(o,n,t))}return n},B=function(r,n){if(o.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&a.verticalTextBox)for(var i=0,s=o.writingModes;i0&&(j=j.filter((function(e){return e!==N.anchor}))).unshift(N.anchor)}var U=function(e,r,n){for(var a=e.x2-e.x1,s=e.y2-e.y1,c=t.textBoxScale,u=w&&!x?r:null,f={box:[],offscreen:!1},p=v?2*j.length:j.length,d=0;d=j.length,k=i.attemptAnchorPlacement(g,e,a,s,c,_,b,h,l,m,y,t,o,n,u);if(k&&(f=k.placedGlyphBoxes)&&f.box&&f.box.length){T=!0,E=k.shift;break}}return f};B((function(){return U(R,a.iconBox,e.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox,n=C&&C.box&&C.box.length;return o.allowVerticalPlacement&&!n&&t.numVerticalGlyphVertices>0&&r?U(r,a.verticalIconBox,e.WritingMode.vertical):{box:null,offscreen:null}})),C&&(T=C.box,S=C.offscreen);var V=F(C&&C.box);if(!T&&i.prevPlacement){var q=i.prevPlacement.variableOffsets[t.crossTileID];q&&(i.variableOffsets[t.crossTileID]=q,i.markUsedJustification(o,q.anchor,t,V))}}else{var H=function(e,r){var n=i.collisionIndex.placeCollisionBox(e,v,h,l,m.predicate);return n&&n.box&&n.box.length&&(i.markUsedOrientation(o,r,t),i.placedOrientations[t.crossTileID]=r),n};B((function(){return H(R,e.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox;return o.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&r?H(r,e.WritingMode.vertical):{box:null,offscreen:null}})),F(C&&C.box&&C.box.length)}}if(T=(p=C)&&p.box&&p.box.length>0,S=p&&p.offscreen,t.useRuntimeCollisionCircles){var G=o.text.placedSymbolArray.get(t.centerJustifiedTextSymbolIndex),W=e.evaluateSizeForFeature(o.textSizeData,d,G),Z=s.get("text-padding"),Y=t.collisionCircleDiameter;L=i.collisionIndex.placeCollisionCircles(v,G,o.lineVertexArray,o.glyphOffsetArray,W,l,c,u,n,b,m.predicate,Y,Z),T=v||L.circles.length>0&&!L.collisionDetected,S=S&&L.offscreen}if(a.iconFeatureIndex&&(O=a.iconFeatureIndex),a.iconBox){var X=function(e){var t=w&&E?wt(e,E.x,E.y,_,b,i.transform.angle):e;return i.collisionIndex.placeCollisionBox(t,x,h,l,m.predicate)};M=I&&I.box&&I.box.length&&a.verticalIconBox?(P=X(a.verticalIconBox)).box.length>0:(P=X(a.iconBox)).box.length>0,S=S&&P.offscreen}var $=g||0===t.numHorizontalGlyphVertices&&0===t.numVerticalGlyphVertices,K=y||0===t.numIconVertices;if($||K?K?$||(M=M&&T):T=M&&T:M=T=M&&T,T&&p&&p.box&&(I&&I.box&&D?i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,D,m.ID):i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,z,m.ID)),M&&P&&i.collisionIndex.insertCollisionBox(P.box,s.get("icon-ignore-placement"),o.bucketInstanceId,O,m.ID),L&&(T&&i.collisionIndex.insertCollisionCircles(L.circles,s.get("text-ignore-placement"),o.bucketInstanceId,z,m.ID),n)){var J=o.bucketInstanceId,Q=i.collisionCircleArrays[J];void 0===Q&&(Q=i.collisionCircleArrays[J]=new vt);for(var ee=0;ee=0;--E){var C=S[E];M(o.symbolInstances.get(C),o.collisionArrays[C])}else for(var I=t.symbolInstanceStart;I=0&&(t.text.placedSymbolArray.get(c).crossTileID=a>=0&&c!==a?0:n.crossTileID)}},Tt.prototype.markUsedOrientation=function(t,r,n){for(var i=r===e.WritingMode.horizontal||r===e.WritingMode.horizontalOnly?r:0,a=r===e.WritingMode.vertical?r:0,o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];o0||l>0,x=a.numIconVertices>0,_=i.placedOrientations[a.crossTileID],b=_===e.WritingMode.vertical,w=_===e.WritingMode.horizontal||_===e.WritingMode.horizontalOnly;if(v){var T=Pt(y.text),k=b?zt:T;d(t.text,s,k);var A=w?zt:T;d(t.text,l,A);var M=y.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(e){e>=0&&(t.text.placedSymbolArray.get(e).hidden=M||b?1:0)})),a.verticalPlacedTextSymbolIndex>=0&&(t.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=M||w?1:0);var S=i.variableOffsets[a.crossTileID];S&&i.markUsedJustification(t,S.anchor,a,_);var E=i.placedOrientations[a.crossTileID];E&&(i.markUsedJustification(t,"left",a,E),i.markUsedOrientation(t,E,a))}if(x){var C=Pt(y.icon),I=!(f&&a.verticalPlacedIconSymbolIndex&&b);if(a.placedIconSymbolIndex>=0){var L=I?C:zt;d(t.icon,a.numIconVertices,L),t.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=y.icon.isHidden()}if(a.verticalPlacedIconSymbolIndex>=0){var P=I?zt:C;d(t.icon,a.numVerticalIconVertices,P),t.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=y.icon.isHidden()}}if(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData()){var z=t.collisionArrays[n];if(z){var D=new e.Point(0,0);if(z.textBox||z.verticalTextBox){var O=!0;if(c){var R=i.variableOffsets[m];R?(D=bt(R.anchor,R.width,R.height,R.textOffset,R.textBoxScale),u&&D._rotate(h?i.transform.angle:-i.transform.angle)):O=!1}z.textBox&&kt(t.textCollisionBox.collisionVertexArray,y.text.placed,!O||b,D.x,D.y),z.verticalTextBox&&kt(t.textCollisionBox.collisionVertexArray,y.text.placed,!O||w,D.x,D.y)}var F=!(w||!z.verticalIconBox);z.iconBox&&kt(t.iconCollisionBox.collisionVertexArray,y.icon.placed,F,f?D.x:0,f?D.y:0),z.verticalIconBox&&kt(t.iconCollisionBox.collisionVertexArray,y.icon.placed,!F,f?D.x:0,f?D.y:0)}}},g=0;ge},Tt.prototype.setStale=function(){this.stale=!0};var At=Math.pow(2,25),Mt=Math.pow(2,24),St=Math.pow(2,17),Et=Math.pow(2,16),Ct=Math.pow(2,9),It=Math.pow(2,8),Lt=Math.pow(2,1);function Pt(e){if(0===e.opacity&&!e.placed)return 0;if(1===e.opacity&&e.placed)return 4294967295;var t=e.placed?1:0,r=Math.floor(127*e.opacity);return r*At+t*Mt+r*St+t*Et+r*Ct+t*It+r*Lt+t}var zt=0,Dt=function(e){this._sortAcrossTiles="viewport-y"!==e.layout.get("symbol-z-order")&&void 0!==e.layout.get("symbol-sort-key").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};Dt.prototype.continuePlacement=function(e,t,r,n,i){for(var a=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var s=r[t[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if("symbol"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Dt(s)),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Ot.prototype.commit=function(e){return this.placement.commit(e),this.placement};var Rt=512/e.EXTENT/2,Ft=function(e,t,r){this.tileID=e,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;ne.overscaledZ)for(var s in o){var l=o[s];l.tileID.isChildOf(e)&&l.findMatches(t.symbolInstances,e,i)}else{var c=o[e.scaledTo(Number(a)).key];c&&c.findMatches(t.symbolInstances,e,i)}}for(var u=0;u1?"@2x":"",l=e.getJSON(r.transformRequest(r.normalizeSpriteURL(t,s,".json"),e.ResourceType.SpriteJSON),(function(e,t){l=null,o||(o=e,i=t,u())})),c=e.getImage(r.transformRequest(r.normalizeSpriteURL(t,s,".png"),e.ResourceType.SpriteImage),(function(e,t){c=null,o||(o=e,a=t,u())}));function u(){if(o)n(o);else if(i&&a){var t=e.browser.getImageData(a),r={};for(var s in i){var l=i[s],c=l.width,u=l.height,h=l.x,f=l.y,p=l.sdf,d=l.pixelRatio,m=l.stretchX,g=l.stretchY,y=l.content,v=new e.RGBAImage({width:c,height:u});e.RGBAImage.copy(t,v,{x:h,y:f},{x:0,y:0},{width:c,height:u}),r[s]={data:v,pixelRatio:d,sdf:p,stretchX:m,stretchY:g,content:y}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),c&&(c.cancel(),c=null)}}}(t,this.map._requestManager,(function(t,n){if(r._spriteRequest=null,t)r.fire(new e.ErrorEvent(t));else if(n)for(var i in n)r.imageManager.addImage(i,n[i]);r.imageManager.setLoaded(!0),r._availableImages=r.imageManager.listImages(),r.dispatcher.broadcast("setImages",r._availableImages),r.fire(new e.Event("data",{dataType:"style"}))}))},r.prototype._validateLayer=function(t){var r=this.sourceCaches[t.source];if(r){var n=t.sourceLayer;if(n){var i=r.getSource();("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new e.ErrorEvent(new Error('Source layer "'+n+'" does not exist on source "'+i.id+'" as specified by style layer "'+t.id+'"')))}}},r.prototype.loaded=function(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(var e in this.sourceCaches)if(!this.sourceCaches[e].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(e){for(var t=[],r=0,n=e;r0)throw new Error("Unimplemented: "+i.map((function(e){return e.command})).join(", ")+".");return n.forEach((function(e){"setTransition"!==e.command&&r[e.command].apply(r,e.args)})),this.stylesheet=t,!0},r.prototype.addImage=function(t,r){if(this.getImage(t))return this.fire(new e.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(t,r),this._afterImageUpdated(t)},r.prototype.updateImage=function(e,t){this.imageManager.updateImage(e,t)},r.prototype.getImage=function(e){return this.imageManager.getImage(e)},r.prototype.removeImage=function(t){if(!this.getImage(t))return this.fire(new e.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(t),this._afterImageUpdated(t)},r.prototype._afterImageUpdated=function(t){this._availableImages=this.imageManager.listImages(),this._changedImages[t]=!0,this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new e.Event("data",{dataType:"style"}))},r.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},r.prototype.addSource=function(t,r,n){var i=this;if(void 0===n&&(n={}),this._checkLoaded(),void 0!==this.sourceCaches[t])throw new Error("There is already a source with this ID");if(!r.type)throw new Error("The type property must be defined, but only the following properties were given: "+Object.keys(r).join(", ")+".");if(!(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(e.validateStyle.source,"sources."+t,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var a=this.sourceCaches[t]=new Le(t,r,this.dispatcher);a.style=this,a.setEventedParent(this,(function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:t}})),a.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(t){if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error("There is no source with this ID");for(var r in this._layers)if(this._layers[r].source===t)return this.fire(new e.ErrorEvent(new Error('Source "'+t+'" cannot be removed while layer "'+r+'" is using it.')));var n=this.sourceCaches[t];delete this.sourceCaches[t],delete this._updatedSources[t],n.fire(new e.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:t})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(e,t){this._checkLoaded(),this.sourceCaches[e].getSource().setData(t),this._changed=!0},r.prototype.getSource=function(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()},r.prototype.addLayer=function(t,r,n){void 0===n&&(n={}),this._checkLoaded();var i=t.id;if(this.getLayer(i))this.fire(new e.ErrorEvent(new Error('Layer with id "'+i+'" already exists on this map')));else{var a;if("custom"===t.type){if(Ut(this,e.validateCustomStyleLayer(t)))return;a=e.createStyleLayer(t)}else{if("object"==typeof t.source&&(this.addSource(i,t.source),t=e.clone$1(t),t=e.extend(t,{source:i})),this._validate(e.validateStyle.layer,"layers."+i,t,{arrayIndex:-1},n))return;a=e.createStyleLayer(t),this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}}),this._serializedLayers[a.id]=a.serialize()}var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new e.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.')));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source&&"custom"!==a.type){var s=this._removedLayers[i];delete this._removedLayers[i],s.type!==a.type?this._updatedSources[a.source]="clear":(this._updatedSources[a.source]="reload",this.sourceCaches[a.source].pause())}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}},r.prototype.moveLayer=function(t,r){if(this._checkLoaded(),this._changed=!0,this._layers[t]){if(t!==r){var n=this._order.indexOf(t);this._order.splice(n,1);var i=r?this._order.indexOf(r):this._order.length;if(r&&-1===i)return void this.fire(new e.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.')));this._order.splice(i,0,t),this._layerOrderChanged=!0}}else this.fire(new e.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style and cannot be moved.")))},r.prototype.removeLayer=function(t){this._checkLoaded();var r=this._layers[t];if(r){r.setEventedParent(null);var n=this._order.indexOf(t);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=r,delete this._layers[t],delete this._serializedLayers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t],r.onRemove&&r.onRemove(this.map)}else this.fire(new e.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style and cannot be removed.")))},r.prototype.getLayer=function(e){return this._layers[e]},r.prototype.hasLayer=function(e){return e in this._layers},r.prototype.setLayerZoomRange=function(t,r,n){this._checkLoaded();var i=this.getLayer(t);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new e.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style and cannot have zoom extent.")))},r.prototype.setFilter=function(t,r,n){void 0===n&&(n={}),this._checkLoaded();var i=this.getLayer(t);if(i){if(!e.deepEqual(i.filter,r)){if(null==r)return i.filter=void 0,void this._updateLayer(i);this._validate(e.validateStyle.filter,"layers."+i.id+".filter",r,null,n)||(i.filter=e.clone$1(r),this._updateLayer(i))}}else this.fire(new e.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style and cannot be filtered.")))},r.prototype.getFilter=function(t){return e.clone$1(this.getLayer(t).filter)},r.prototype.setLayoutProperty=function(t,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(t);a?e.deepEqual(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new e.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getLayoutProperty=function(t,r){var n=this.getLayer(t);if(n)return n.getLayoutProperty(r);this.fire(new e.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style.")))},r.prototype.setPaintProperty=function(t,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(t);a?e.deepEqual(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[t]=!0):this.fire(new e.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getPaintProperty=function(e,t){return this.getLayer(e).getPaintProperty(t)},r.prototype.setFeatureState=function(t,r){this._checkLoaded();var n=t.source,i=t.sourceLayer,a=this.sourceCaches[n];if(void 0!==a){var o=a.getSource().type;"geojson"===o&&i?this.fire(new e.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==o||i?(void 0===t.id&&this.fire(new e.ErrorEvent(new Error("The feature id parameter must be provided."))),a.setFeatureState(i,t.id,r)):this.fire(new e.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new e.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.removeFeatureState=function(t,r){this._checkLoaded();var n=t.source,i=this.sourceCaches[n];if(void 0!==i){var a=i.getSource().type,o="vector"===a?t.sourceLayer:void 0;"vector"!==a||o?r&&"string"!=typeof t.id&&"number"!=typeof t.id?this.fire(new e.ErrorEvent(new Error("A feature id is required to remove its specific state property."))):i.removeFeatureState(o,t.id,r):this.fire(new e.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new e.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.getFeatureState=function(t){this._checkLoaded();var r=t.source,n=t.sourceLayer,i=this.sourceCaches[r];if(void 0!==i){if("vector"!==i.getSource().type||n)return void 0===t.id&&this.fire(new e.ErrorEvent(new Error("The feature id parameter must be provided."))),i.getFeatureState(n,t.id);this.fire(new e.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new e.ErrorEvent(new Error("The source '"+r+"' does not exist in the map's style.")))},r.prototype.getTransition=function(){return e.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.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(e){return e.serialize()})),layers:this._serializeLayers(this._order)},(function(e){return void 0!==e}))},r.prototype._updateLayer=function(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&"raster"!==this.sourceCaches[e.source].getSource().type&&(this._updatedSources[e.source]="reload",this.sourceCaches[e.source].pause()),this._changed=!0},r.prototype._flattenAndSortRenderedFeatures=function(e){for(var t=this,r=function(e){return"fill-extrusion"===t._layers[e].type},n={},i=[],a=this._order.length-1;a>=0;a--){var o=this._order[a];if(r(o)){n[o]=a;for(var s=0,l=e;s=0;d--){var m=this._order[d];if(r(m))for(var g=i.length-1;g>=0;g--){var y=i[g].feature;if(n[y.layer.id] 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),tr=xr("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);}"),rr=xr("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,0,1);}"),nr=xr("#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);}"),ir=xr("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;}"),ar=xr("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;}"),or=xr("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform 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);}"),sr=xr("varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}"),lr=xr("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;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;}"),cr=xr("#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;}"),ur=xr("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;}"),hr=xr("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),fr=xr("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;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);}"),pr=xr("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}","\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;}"),dr=xr("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"),mr=xr("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;}"),gr=xr("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;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));}"),yr=xr("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute 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);}"),vr=xr("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;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);}");function xr(e,t){var r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n=t.match(/attribute ([\w]+) ([\w]+)/g),i=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=a?a.concat(i):i,s={};return{fragmentSource:e=e.replace(r,(function(e,t,r,n,i){return s[i]=!0,"define"===t?"\n#ifndef HAS_UNIFORM_u_"+i+"\nvarying "+r+" "+n+" "+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n"})),vertexSource:t=t.replace(r,(function(e,t,r,n,i){var a="float"===n?"vec2":"vec4",o=i.match(/color/)?"color":a;return s[i]?"define"===t?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+a+" a_"+i+";\nvarying "+r+" "+n+" "+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"vec4"===o?"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+i+" = a_"+i+";\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+i+" = unpack_mix_"+o+"(a_"+i+", u_"+i+"_t);\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"define"===t?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+a+" a_"+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"vec4"===o?"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = a_"+i+";\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = unpack_mix_"+o+"(a_"+i+", u_"+i+"_t);\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n"})),staticAttributes:n,staticUniforms:o}}var _r=Object.freeze({__proto__:null,prelude:Zt,background:Yt,backgroundPattern:Xt,circle:$t,clippingMask:Kt,heatmap:Jt,heatmapTexture:Qt,collisionBox:er,collisionCircle:tr,debug:rr,fill:nr,fillOutline:ir,fillOutlinePattern:ar,fillPattern:or,fillExtrusion:sr,fillExtrusionPattern:lr,hillshadePrepare:cr,hillshade:ur,line:hr,lineGradient:fr,linePattern:pr,lineSDF:dr,raster:mr,symbolIcon:gr,symbolSDF:yr,symbolTextAndIcon:vr}),br=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};function wr(e){for(var t=[],r=0;r>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}Tr.prototype.draw=function(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m){var g,y=e.gl;if(!this.failedToCreate){for(var v in e.program.set(this.program),e.setDepthMode(r),e.setStencilMode(n),e.setColorMode(i),e.setCullFace(a),this.fixedUniforms)this.fixedUniforms[v].set(o[v]);p&&p.setUniforms(e,this.binderUniforms,h,{zoom:f});for(var x=(g={},g[y.LINES]=2,g[y.TRIANGLES]=3,g[y.LINE_STRIP]=1,g)[t],_=0,b=u.get();_0?1/(1-e):1+e}function Zr(e){return e>0?1-1/(1.001-e):-e}var Yr,Xr=function(e,t,r,n,i,a,o,s,l,c){var u=i.transform;return{u_is_size_zoom_constant:+("constant"===e||"source"===e),u_is_size_feature_constant:+("constant"===e||"camera"===e),u_size_t:t?t.uSizeT:0,u_size:t?t.uSize:0,u_camera_to_center_distance:u.cameraToCenterDistance,u_pitch:u.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:u.width/u.height,u_fade_change:i.options.fadeDuration?i.symbolFadeChange:1,u_matrix:a,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+n,u_texsize:c,u_texture:0}},$r=function(t,r,n,i,a,o,s,l,c,u,h){var f=a.transform;return e.extend(Xr(t,r,n,i,a,o,s,l,c,u),{u_gamma_scale:i?Math.cos(f._pitch)*f.cameraToCenterDistance:1,u_device_pixel_ratio:e.browser.devicePixelRatio,u_is_halo:+h})},Kr=function(t,r,n,i,a,o,s,l,c,u){return e.extend($r(t,r,n,i,a,o,s,l,!0,c,!0),{u_texsize_icon:u,u_texture_icon:1})},Jr=function(e,t,r){return{u_matrix:e,u_opacity:t,u_color:r}},Qr=function(t,r,n,i,a,o){return e.extend(function(e,t,r,n){var i=r.imageManager.getPattern(e.from.toString()),a=r.imageManager.getPattern(e.to.toString()),o=r.imageManager.getPixelSize(),s=o.width,l=o.height,c=Math.pow(2,n.tileID.overscaledZ),u=n.tileSize*Math.pow(2,r.transform.tileZoom)/c,h=u*(n.tileID.canonical.x+n.tileID.wrap*c),f=u*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[s,l],u_mix:t.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:t.fromScale,u_scale_b:t.toScale,u_tile_units_to_pixels:1/dt(n,1,r.transform.tileZoom),u_pixel_coord_upper:[h>>16,f>>16],u_pixel_coord_lower:[65535&h,65535&f]}}(i,o,n,a),{u_matrix:t,u_opacity:r})},en={fillExtrusion:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_lightpos:new e.Uniform3f(t,r.u_lightpos),u_lightintensity:new e.Uniform1f(t,r.u_lightintensity),u_lightcolor:new e.Uniform3f(t,r.u_lightcolor),u_vertical_gradient:new e.Uniform1f(t,r.u_vertical_gradient),u_opacity:new e.Uniform1f(t,r.u_opacity)}},fillExtrusionPattern:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_lightpos:new e.Uniform3f(t,r.u_lightpos),u_lightintensity:new e.Uniform1f(t,r.u_lightintensity),u_lightcolor:new e.Uniform3f(t,r.u_lightcolor),u_vertical_gradient:new e.Uniform1f(t,r.u_vertical_gradient),u_height_factor:new e.Uniform1f(t,r.u_height_factor),u_image:new e.Uniform1i(t,r.u_image),u_texsize:new e.Uniform2f(t,r.u_texsize),u_pixel_coord_upper:new e.Uniform2f(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.Uniform2f(t,r.u_pixel_coord_lower),u_scale:new e.Uniform3f(t,r.u_scale),u_fade:new e.Uniform1f(t,r.u_fade),u_opacity:new e.Uniform1f(t,r.u_opacity)}},fill:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix)}},fillPattern:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_image:new e.Uniform1i(t,r.u_image),u_texsize:new e.Uniform2f(t,r.u_texsize),u_pixel_coord_upper:new e.Uniform2f(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.Uniform2f(t,r.u_pixel_coord_lower),u_scale:new e.Uniform3f(t,r.u_scale),u_fade:new e.Uniform1f(t,r.u_fade)}},fillOutline:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_world:new e.Uniform2f(t,r.u_world)}},fillOutlinePattern:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_world:new e.Uniform2f(t,r.u_world),u_image:new e.Uniform1i(t,r.u_image),u_texsize:new e.Uniform2f(t,r.u_texsize),u_pixel_coord_upper:new e.Uniform2f(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.Uniform2f(t,r.u_pixel_coord_lower),u_scale:new e.Uniform3f(t,r.u_scale),u_fade:new e.Uniform1f(t,r.u_fade)}},circle:function(t,r){return{u_camera_to_center_distance:new e.Uniform1f(t,r.u_camera_to_center_distance),u_scale_with_map:new e.Uniform1i(t,r.u_scale_with_map),u_pitch_with_map:new e.Uniform1i(t,r.u_pitch_with_map),u_extrude_scale:new e.Uniform2f(t,r.u_extrude_scale),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_matrix:new e.UniformMatrix4f(t,r.u_matrix)}},collisionBox:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_camera_to_center_distance:new e.Uniform1f(t,r.u_camera_to_center_distance),u_pixels_to_tile_units:new e.Uniform1f(t,r.u_pixels_to_tile_units),u_extrude_scale:new e.Uniform2f(t,r.u_extrude_scale),u_overscale_factor:new e.Uniform1f(t,r.u_overscale_factor)}},collisionCircle:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_inv_matrix:new e.UniformMatrix4f(t,r.u_inv_matrix),u_camera_to_center_distance:new e.Uniform1f(t,r.u_camera_to_center_distance),u_viewport_size:new e.Uniform2f(t,r.u_viewport_size)}},debug:function(t,r){return{u_color:new e.UniformColor(t,r.u_color),u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_overlay:new e.Uniform1i(t,r.u_overlay),u_overlay_scale:new e.Uniform1f(t,r.u_overlay_scale)}},clippingMask:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix)}},heatmap:function(t,r){return{u_extrude_scale:new e.Uniform1f(t,r.u_extrude_scale),u_intensity:new e.Uniform1f(t,r.u_intensity),u_matrix:new e.UniformMatrix4f(t,r.u_matrix)}},heatmapTexture:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_world:new e.Uniform2f(t,r.u_world),u_image:new e.Uniform1i(t,r.u_image),u_color_ramp:new e.Uniform1i(t,r.u_color_ramp),u_opacity:new e.Uniform1f(t,r.u_opacity)}},hillshade:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_image:new e.Uniform1i(t,r.u_image),u_latrange:new e.Uniform2f(t,r.u_latrange),u_light:new e.Uniform2f(t,r.u_light),u_shadow:new e.UniformColor(t,r.u_shadow),u_highlight:new e.UniformColor(t,r.u_highlight),u_accent:new e.UniformColor(t,r.u_accent)}},hillshadePrepare:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_image:new e.Uniform1i(t,r.u_image),u_dimension:new e.Uniform2f(t,r.u_dimension),u_zoom:new e.Uniform1f(t,r.u_zoom),u_unpack:new e.Uniform4f(t,r.u_unpack)}},line:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_ratio:new e.Uniform1f(t,r.u_ratio),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_units_to_pixels:new e.Uniform2f(t,r.u_units_to_pixels)}},lineGradient:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_ratio:new e.Uniform1f(t,r.u_ratio),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_units_to_pixels:new e.Uniform2f(t,r.u_units_to_pixels),u_image:new e.Uniform1i(t,r.u_image),u_image_height:new e.Uniform1f(t,r.u_image_height)}},linePattern:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_texsize:new e.Uniform2f(t,r.u_texsize),u_ratio:new e.Uniform1f(t,r.u_ratio),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_image:new e.Uniform1i(t,r.u_image),u_units_to_pixels:new e.Uniform2f(t,r.u_units_to_pixels),u_scale:new e.Uniform3f(t,r.u_scale),u_fade:new e.Uniform1f(t,r.u_fade)}},lineSDF:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_ratio:new e.Uniform1f(t,r.u_ratio),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_units_to_pixels:new e.Uniform2f(t,r.u_units_to_pixels),u_patternscale_a:new e.Uniform2f(t,r.u_patternscale_a),u_patternscale_b:new e.Uniform2f(t,r.u_patternscale_b),u_sdfgamma:new e.Uniform1f(t,r.u_sdfgamma),u_image:new e.Uniform1i(t,r.u_image),u_tex_y_a:new e.Uniform1f(t,r.u_tex_y_a),u_tex_y_b:new e.Uniform1f(t,r.u_tex_y_b),u_mix:new e.Uniform1f(t,r.u_mix)}},raster:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_tl_parent:new e.Uniform2f(t,r.u_tl_parent),u_scale_parent:new e.Uniform1f(t,r.u_scale_parent),u_buffer_scale:new e.Uniform1f(t,r.u_buffer_scale),u_fade_t:new e.Uniform1f(t,r.u_fade_t),u_opacity:new e.Uniform1f(t,r.u_opacity),u_image0:new e.Uniform1i(t,r.u_image0),u_image1:new e.Uniform1i(t,r.u_image1),u_brightness_low:new e.Uniform1f(t,r.u_brightness_low),u_brightness_high:new e.Uniform1f(t,r.u_brightness_high),u_saturation_factor:new e.Uniform1f(t,r.u_saturation_factor),u_contrast_factor:new e.Uniform1f(t,r.u_contrast_factor),u_spin_weights:new e.Uniform3f(t,r.u_spin_weights)}},symbolIcon:function(t,r){return{u_is_size_zoom_constant:new e.Uniform1i(t,r.u_is_size_zoom_constant),u_is_size_feature_constant:new e.Uniform1i(t,r.u_is_size_feature_constant),u_size_t:new e.Uniform1f(t,r.u_size_t),u_size:new e.Uniform1f(t,r.u_size),u_camera_to_center_distance:new e.Uniform1f(t,r.u_camera_to_center_distance),u_pitch:new e.Uniform1f(t,r.u_pitch),u_rotate_symbol:new e.Uniform1i(t,r.u_rotate_symbol),u_aspect_ratio:new e.Uniform1f(t,r.u_aspect_ratio),u_fade_change:new e.Uniform1f(t,r.u_fade_change),u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_label_plane_matrix:new e.UniformMatrix4f(t,r.u_label_plane_matrix),u_coord_matrix:new e.UniformMatrix4f(t,r.u_coord_matrix),u_is_text:new e.Uniform1i(t,r.u_is_text),u_pitch_with_map:new e.Uniform1i(t,r.u_pitch_with_map),u_texsize:new e.Uniform2f(t,r.u_texsize),u_texture:new e.Uniform1i(t,r.u_texture)}},symbolSDF:function(t,r){return{u_is_size_zoom_constant:new e.Uniform1i(t,r.u_is_size_zoom_constant),u_is_size_feature_constant:new e.Uniform1i(t,r.u_is_size_feature_constant),u_size_t:new e.Uniform1f(t,r.u_size_t),u_size:new e.Uniform1f(t,r.u_size),u_camera_to_center_distance:new e.Uniform1f(t,r.u_camera_to_center_distance),u_pitch:new e.Uniform1f(t,r.u_pitch),u_rotate_symbol:new e.Uniform1i(t,r.u_rotate_symbol),u_aspect_ratio:new e.Uniform1f(t,r.u_aspect_ratio),u_fade_change:new e.Uniform1f(t,r.u_fade_change),u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_label_plane_matrix:new e.UniformMatrix4f(t,r.u_label_plane_matrix),u_coord_matrix:new e.UniformMatrix4f(t,r.u_coord_matrix),u_is_text:new e.Uniform1i(t,r.u_is_text),u_pitch_with_map:new e.Uniform1i(t,r.u_pitch_with_map),u_texsize:new e.Uniform2f(t,r.u_texsize),u_texture:new e.Uniform1i(t,r.u_texture),u_gamma_scale:new e.Uniform1f(t,r.u_gamma_scale),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_is_halo:new e.Uniform1i(t,r.u_is_halo)}},symbolTextAndIcon:function(t,r){return{u_is_size_zoom_constant:new e.Uniform1i(t,r.u_is_size_zoom_constant),u_is_size_feature_constant:new e.Uniform1i(t,r.u_is_size_feature_constant),u_size_t:new e.Uniform1f(t,r.u_size_t),u_size:new e.Uniform1f(t,r.u_size),u_camera_to_center_distance:new e.Uniform1f(t,r.u_camera_to_center_distance),u_pitch:new e.Uniform1f(t,r.u_pitch),u_rotate_symbol:new e.Uniform1i(t,r.u_rotate_symbol),u_aspect_ratio:new e.Uniform1f(t,r.u_aspect_ratio),u_fade_change:new e.Uniform1f(t,r.u_fade_change),u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_label_plane_matrix:new e.UniformMatrix4f(t,r.u_label_plane_matrix),u_coord_matrix:new e.UniformMatrix4f(t,r.u_coord_matrix),u_is_text:new e.Uniform1i(t,r.u_is_text),u_pitch_with_map:new e.Uniform1i(t,r.u_pitch_with_map),u_texsize:new e.Uniform2f(t,r.u_texsize),u_texsize_icon:new e.Uniform2f(t,r.u_texsize_icon),u_texture:new e.Uniform1i(t,r.u_texture),u_texture_icon:new e.Uniform1i(t,r.u_texture_icon),u_gamma_scale:new e.Uniform1f(t,r.u_gamma_scale),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_is_halo:new e.Uniform1i(t,r.u_is_halo)}},background:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_opacity:new e.Uniform1f(t,r.u_opacity),u_color:new e.UniformColor(t,r.u_color)}},backgroundPattern:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_opacity:new e.Uniform1f(t,r.u_opacity),u_image:new e.Uniform1i(t,r.u_image),u_pattern_tl_a:new e.Uniform2f(t,r.u_pattern_tl_a),u_pattern_br_a:new e.Uniform2f(t,r.u_pattern_br_a),u_pattern_tl_b:new e.Uniform2f(t,r.u_pattern_tl_b),u_pattern_br_b:new e.Uniform2f(t,r.u_pattern_br_b),u_texsize:new e.Uniform2f(t,r.u_texsize),u_mix:new e.Uniform1f(t,r.u_mix),u_pattern_size_a:new e.Uniform2f(t,r.u_pattern_size_a),u_pattern_size_b:new e.Uniform2f(t,r.u_pattern_size_b),u_scale_a:new e.Uniform1f(t,r.u_scale_a),u_scale_b:new e.Uniform1f(t,r.u_scale_b),u_pixel_coord_upper:new e.Uniform2f(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.Uniform2f(t,r.u_pixel_coord_lower),u_tile_units_to_pixels:new e.Uniform1f(t,r.u_tile_units_to_pixels)}}};function tn(t,r,n,i,a,o,s){for(var l=t.context,c=l.gl,u=t.useProgram("collisionBox"),h=[],f=0,p=0,d=0;d0){var b=e.create(),w=v;e.mul(b,y.placementInvProjMatrix,t.transform.glCoordMatrix),e.mul(b,b,y.placementViewportMatrix),h.push({circleArray:_,circleOffset:p,transform:w,invTransform:b}),p=f+=_.length/4}x&&u.draw(l,c.LINES,Ae.disabled,Se.disabled,t.colorModeForRenderPass(),Ce.disabled,Pr(v,t.transform,g),n.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,t.transform.zoom,null,null,x.collisionVertexBuffer)}}if(s&&h.length){var T=t.useProgram("collisionCircle"),k=new e.StructArrayLayout2f1f2i16;k.resize(4*f),k._trim();for(var A=0,M=0,S=h;M=0&&(m[y.associatedIconIndex]={shiftedAnchor:S,angle:E})}else ut(y.numGlyphs,p)}if(h){d.clear();for(var I=t.icon.placedSymbolArray,L=0;L0){var s=e.browser.now(),l=(s-t.timeAdded)/o,c=r?(s-r.timeAdded)/o:-1,u=n.getSource(),h=a.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.roundZoom}),f=!r||Math.abs(r.tileID.overscaledZ-h)>Math.abs(t.tileID.overscaledZ-h),p=f&&t.refreshedUponExpiration?1:e.clamp(f?l:1-c,0,1);return t.refreshedUponExpiration&&l>=1&&(t.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}var dn=new e.Color(1,0,0,1),mn=new e.Color(0,1,0,1),gn=new e.Color(0,0,1,1),yn=new e.Color(1,0,1,1),vn=new e.Color(0,1,1,1);function xn(e,t,r,n){bn(e,0,t+r/2,e.transform.width,r,n)}function _n(e,t,r,n){bn(e,t-r/2,0,r,e.transform.height,n)}function bn(t,r,n,i,a,o){var s=t.context,l=s.gl;l.enable(l.SCISSOR_TEST),l.scissor(r*e.browser.devicePixelRatio,n*e.browser.devicePixelRatio,i*e.browser.devicePixelRatio,a*e.browser.devicePixelRatio),s.clear({color:o}),l.disable(l.SCISSOR_TEST)}function wn(t,r,n){var i=t.context,a=i.gl,o=n.posMatrix,s=t.useProgram("debug"),l=Ae.disabled,c=Se.disabled,u=t.colorModeForRenderPass(),h="$debug";i.activeTexture.set(a.TEXTURE0),t.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),s.draw(i,a.LINE_STRIP,l,c,u,Ce.disabled,Dr(o,e.Color.red),h,t.debugBuffer,t.tileBorderIndexBuffer,t.debugSegments);var f=r.getTileByID(n.key).latestRawTileData,p=f&&f.byteLength||0,d=Math.floor(p/1024),m=r.getTile(n).tileSize,g=512/Math.min(m,512)*(n.overscaledZ/t.transform.zoom)*.5,y=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(y+=" => "+n.overscaledZ),function(e,t){e.initDebugOverlayCanvas();var r=e.debugOverlayCanvas,n=e.context.gl,i=e.debugOverlayCanvas.getContext("2d");i.clearRect(0,0,r.width,r.height),i.shadowColor="white",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle="white",i.textBaseline="top",i.font="bold 36px Open Sans, sans-serif",i.fillText(t,5,5),i.strokeText(t,5,5),e.debugOverlayTexture.update(r),e.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(t,y+" "+d+"kb"),s.draw(i,a.TRIANGLES,l,c,Ee.alphaBlended,Ce.disabled,Dr(o,e.Color.transparent,g),h,t.debugBuffer,t.quadTriangleIndexBuffer,t.debugSegments)}var Tn={symbol:function(t,r,n,i,a){if("translucent"===t.renderPass){var o=Se.disabled,s=t.colorModeForRenderPass();n.layout.get("text-variable-anchor")&&function(t,r,n,i,a,o,s){for(var l=r.transform,c="map"===a,u="map"===o,h=0,f=t;h256&&this.clearStencil(),r.setColorMode(Ee.disabled),r.setDepthMode(Ae.disabled);var i=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var a=0,o=t;a256&&this.clearStencil();var e=this.nextStencilID++,t=this.context.gl;return new Se({func:t.NOTEQUAL,mask:255},e,255,t.KEEP,t.KEEP,t.REPLACE)},kn.prototype.stencilModeForClipping=function(e){var t=this.context.gl;return new Se({func:t.EQUAL,mask:255},this._tileClippingMaskIDs[e.key],0,t.KEEP,t.KEEP,t.REPLACE)},kn.prototype.stencilConfigForOverlap=function(e){var t,r=this.context.gl,n=e.sort((function(e,t){return t.overscaledZ-e.overscaledZ})),i=n[n.length-1].overscaledZ,a=n[0].overscaledZ-i+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();for(var o={},s=0;s=0;this.currentLayer--){var w=this.style._layers[i[this.currentLayer]],T=a[w.source],k=u[w.source];this._renderTileClippingMasks(w,k),this.renderLayer(this,T,w,k)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer0?t.pop():null},kn.prototype.isPatternMissing=function(e){if(!e)return!1;if(!e.from||!e.to)return!0;var t=this.imageManager.getPattern(e.from.toString()),r=this.imageManager.getPattern(e.to.toString());return!t||!r},kn.prototype.useProgram=function(e,t){this.cache=this.cache||{};var r=""+e+(t?t.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[r]||(this.cache[r]=new Tr(this.context,e,_r[e],t,en[e],this._showOverdrawInspector)),this.cache[r]},kn.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()},kn.prototype.setBaseState=function(){var e=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(e.FUNC_ADD)},kn.prototype.initDebugOverlayCanvas=function(){if(null==this.debugOverlayCanvas){this.debugOverlayCanvas=e.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var t=this.context.gl;this.debugOverlayTexture=new e.Texture(this.context,this.debugOverlayCanvas,t.RGBA)}},kn.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var An=function(e,t){this.points=e,this.planes=t};An.fromInvProjectionMatrix=function(t,r,n){var i=Math.pow(2,n),a=[[-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((function(r){return e.transformMat4([],r,t)})).map((function(t){return e.scale$1([],t,1/t[3]/r*i)})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((function(t){var r=e.sub([],a[t[0]],a[t[1]]),n=e.sub([],a[t[2]],a[t[1]]),i=e.normalize([],e.cross([],r,n)),o=-e.dot(i,a[t[1]]);return i.concat(o)}));return new An(a,o)};var Mn=function(t,r){this.min=t,this.max=r,this.center=e.scale$2([],e.add([],this.min,this.max),.5)};Mn.prototype.quadrant=function(t){for(var r=[t%2==0,t<2],n=e.clone$2(this.min),i=e.clone$2(this.max),a=0;a=0;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(var l=0;l<3;l++){for(var c=Number.MAX_VALUE,u=-Number.MAX_VALUE,h=0;hthis.max[l]-this.min[l])return 0}return 1};var Sn=function(e,t,r,n){if(void 0===e&&(e=0),void 0===t&&(t=0),void 0===r&&(r=0),void 0===n&&(n=0),isNaN(e)||e<0||isNaN(t)||t<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=e,this.bottom=t,this.left=r,this.right=n};Sn.prototype.interpolate=function(t,r,n){return null!=r.top&&null!=t.top&&(this.top=e.number(t.top,r.top,n)),null!=r.bottom&&null!=t.bottom&&(this.bottom=e.number(t.bottom,r.bottom,n)),null!=r.left&&null!=t.left&&(this.left=e.number(t.left,r.left,n)),null!=r.right&&null!=t.right&&(this.right=e.number(t.right,r.right,n)),this},Sn.prototype.getCenter=function(t,r){var n=e.clamp((this.left+t-this.right)/2,0,t),i=e.clamp((this.top+r-this.bottom)/2,0,r);return new e.Point(n,i)},Sn.prototype.equals=function(e){return this.top===e.top&&this.bottom===e.bottom&&this.left===e.left&&this.right===e.right},Sn.prototype.clone=function(){return new Sn(this.top,this.bottom,this.left,this.right)},Sn.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var En=function(t,r,n,i,a){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===a||a,this._minZoom=t||0,this._maxZoom=r||22,this._minPitch=n??0,this._maxPitch=i??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 Sn,this._posMatrixCache={},this._alignedPosMatrixCache={}},Cn={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}};En.prototype.clone=function(){var e=new En(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return e.tileSize=this.tileSize,e.latRange=this.latRange,e.width=this.width,e.height=this.height,e._center=this._center,e.zoom=this.zoom,e.angle=this.angle,e._fov=this._fov,e._pitch=this._pitch,e._unmodified=this._unmodified,e._edgeInsets=this._edgeInsets.clone(),e._calcMatrices(),e},Cn.minZoom.get=function(){return this._minZoom},Cn.minZoom.set=function(e){this._minZoom!==e&&(this._minZoom=e,this.zoom=Math.max(this.zoom,e))},Cn.maxZoom.get=function(){return this._maxZoom},Cn.maxZoom.set=function(e){this._maxZoom!==e&&(this._maxZoom=e,this.zoom=Math.min(this.zoom,e))},Cn.minPitch.get=function(){return this._minPitch},Cn.minPitch.set=function(e){this._minPitch!==e&&(this._minPitch=e,this.pitch=Math.max(this.pitch,e))},Cn.maxPitch.get=function(){return this._maxPitch},Cn.maxPitch.set=function(e){this._maxPitch!==e&&(this._maxPitch=e,this.pitch=Math.min(this.pitch,e))},Cn.renderWorldCopies.get=function(){return this._renderWorldCopies},Cn.renderWorldCopies.set=function(e){void 0===e?e=!0:null===e&&(e=!1),this._renderWorldCopies=e},Cn.worldSize.get=function(){return this.tileSize*this.scale},Cn.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},Cn.size.get=function(){return new e.Point(this.width,this.height)},Cn.bearing.get=function(){return-this.angle/Math.PI*180},Cn.bearing.set=function(t){var r=-e.wrap(t,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=e.create$2(),e.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},Cn.pitch.get=function(){return this._pitch/Math.PI*180},Cn.pitch.set=function(t){var r=e.clamp(t,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},Cn.fov.get=function(){return this._fov/Math.PI*180},Cn.fov.set=function(e){e=Math.max(.01,Math.min(60,e)),this._fov!==e&&(this._unmodified=!1,this._fov=e/180*Math.PI,this._calcMatrices())},Cn.zoom.get=function(){return this._zoom},Cn.zoom.set=function(e){var t=Math.min(Math.max(e,this.minZoom),this.maxZoom);this._zoom!==t&&(this._unmodified=!1,this._zoom=t,this.scale=this.zoomScale(t),this.tileZoom=Math.floor(t),this.zoomFraction=t-this.tileZoom,this._constrain(),this._calcMatrices())},Cn.center.get=function(){return this._center},Cn.center.set=function(e){e.lat===this._center.lat&&e.lng===this._center.lng||(this._unmodified=!1,this._center=e,this._constrain(),this._calcMatrices())},Cn.padding.get=function(){return this._edgeInsets.toJSON()},Cn.padding.set=function(e){this._edgeInsets.equals(e)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,e,1),this._calcMatrices())},Cn.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},En.prototype.isPaddingEqual=function(e){return this._edgeInsets.equals(e)},En.prototype.interpolatePadding=function(e,t,r){this._unmodified=!1,this._edgeInsets.interpolate(e,t,r),this._constrain(),this._calcMatrices()},En.prototype.coveringZoomLevel=function(e){var t=(e.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/e.tileSize));return Math.max(0,t)},En.prototype.getVisibleUnwrappedCoordinates=function(t){var r=[new e.UnwrappedTileID(0,t)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new e.Point(0,0)),i=this.pointCoordinate(new e.Point(this.width,0)),a=this.pointCoordinate(new e.Point(this.width,this.height)),o=this.pointCoordinate(new e.Point(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),c=s-1;c<=l+1;c++)0!==c&&r.push(new e.UnwrappedTileID(c,t));return r},En.prototype.coveringTiles=function(t){var r=this.coveringZoomLevel(t),n=r;if(void 0!==t.minzoom&&rt.maxzoom&&(r=t.maxzoom);var i=e.MercatorCoordinate.fromLngLat(this.center),a=Math.pow(2,r),o=[a*i.x,a*i.y,0],s=An.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),l=t.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(l=r);var c=function(e){return{aabb:new Mn([e*a,0,0],[(e+1)*a,a,0]),zoom:0,x:0,y:0,wrap:e,fullyVisible:!1}},u=[],h=[],f=r,p=t.reparseOverscaled?n:r;if(this._renderWorldCopies)for(var d=1;d<=3;d++)u.push(c(-d)),u.push(c(d));for(u.push(c(0));u.length>0;){var m=u.pop(),g=m.x,y=m.y,v=m.fullyVisible;if(!v){var x=m.aabb.intersects(s);if(0===x)continue;v=2===x}var _=m.aabb.distanceX(o),b=m.aabb.distanceY(o),w=Math.max(Math.abs(_),Math.abs(b)),T=3+(1<T&&m.zoom>=l)h.push({tileID:new e.OverscaledTileID(m.zoom===f?p:m.zoom,m.wrap,m.zoom,g,y),distanceSq:e.sqrLen([o[0]-.5-g,o[1]-.5-y])});else for(var k=0;k<4;k++){var A=(g<<1)+k%2,M=(y<<1)+(k>>1);u.push({aabb:m.aabb.quadrant(k),zoom:m.zoom+1,x:A,y:M,wrap:m.wrap,fullyVisible:v})}}return h.sort((function(e,t){return e.distanceSq-t.distanceSq})).map((function(e){return e.tileID}))},En.prototype.resize=function(e,t){this.width=e,this.height=t,this.pixelsToGLUnits=[2/e,-2/t],this._constrain(),this._calcMatrices()},Cn.unmodified.get=function(){return this._unmodified},En.prototype.zoomScale=function(e){return Math.pow(2,e)},En.prototype.scaleZoom=function(e){return Math.log(e)/Math.LN2},En.prototype.project=function(t){var r=e.clamp(t.lat,-this.maxValidLatitude,this.maxValidLatitude);return new e.Point(e.mercatorXfromLng(t.lng)*this.worldSize,e.mercatorYfromLat(r)*this.worldSize)},En.prototype.unproject=function(t){return new e.MercatorCoordinate(t.x/this.worldSize,t.y/this.worldSize).toLngLat()},Cn.point.get=function(){return this.project(this.center)},En.prototype.setLocationAtPoint=function(t,r){var n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(t),o=new e.MercatorCoordinate(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())},En.prototype.locationPoint=function(e){return this.coordinatePoint(this.locationCoordinate(e))},En.prototype.pointLocation=function(e){return this.coordinateLocation(this.pointCoordinate(e))},En.prototype.locationCoordinate=function(t){return e.MercatorCoordinate.fromLngLat(t)},En.prototype.coordinateLocation=function(e){return e.toLngLat()},En.prototype.pointCoordinate=function(t){var r=[t.x,t.y,0,1],n=[t.x,t.y,1,1];e.transformMat4(r,r,this.pixelMatrixInverse),e.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],a=n[3],o=r[0]/i,s=n[0]/a,l=r[1]/i,c=n[1]/a,u=r[2]/i,h=n[2]/a,f=u===h?0:(0-u)/(h-u);return new e.MercatorCoordinate(e.number(o,s,f)/this.worldSize,e.number(l,c,f)/this.worldSize)},En.prototype.coordinatePoint=function(t){var r=[t.x*this.worldSize,t.y*this.worldSize,0,1];return e.transformMat4(r,r,this.pixelMatrix),new e.Point(r[0]/r[3],r[1]/r[3])},En.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)))},En.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new e.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},En.prototype.setMaxBounds=function(e){e?(this.lngRange=[e.getWest(),e.getEast()],this.latRange=[e.getSouth(),e.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},En.prototype.calculatePosMatrix=function(t,r){void 0===r&&(r=!1);var n=t.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];var a=t.canonical,o=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*t.wrap,l=e.identity(new Float64Array(16));return e.translate(l,l,[s*o,a.y*o,0]),e.scale(l,l,[o/e.EXTENT,o/e.EXTENT,1]),e.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),i[n]=new Float32Array(l),i[n]},En.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},En.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,r,n,i,a=-90,o=90,s=-180,l=180,c=this.size,u=this._unmodified;if(this.latRange){var h=this.latRange;a=e.mercatorYfromLat(h[1])*this.worldSize,t=(o=e.mercatorYfromLat(h[0])*this.worldSize)-ao&&(i=o-g)}if(this.lngRange){var y=p.x,v=c.x/2;y-vl&&(n=l-v)}(void 0!==n||void 0!==i)&&(this.center=this.unproject(new e.Point(void 0!==n?n:p.x,void 0!==i?i:p.y))),this._unmodified=u,this._constraining=!1}},En.prototype._calcMatrices=function(){if(this.height){var t=this._fov/2,r=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(t)*this.height;var n=Math.PI/2+this._pitch,i=this._fov*(.5+r.y/this.height),a=Math.sin(i)*this.cameraToCenterDistance/Math.sin(e.clamp(Math.PI-n-i,.01,Math.PI-.01)),o=this.point,s=o.x,l=o.y,c=1.01*(Math.cos(Math.PI/2-this._pitch)*a+this.cameraToCenterDistance),u=this.height/50,h=new Float64Array(16);e.perspective(h,this._fov,this.width/this.height,u,c),h[8]=2*-r.x/this.width,h[9]=2*r.y/this.height,e.scale(h,h,[1,-1,1]),e.translate(h,h,[0,0,-this.cameraToCenterDistance]),e.rotateX(h,h,this._pitch),e.rotateZ(h,h,this.angle),e.translate(h,h,[-s,-l,0]),this.mercatorMatrix=e.scale([],h,[this.worldSize,this.worldSize,this.worldSize]),e.scale(h,h,[1,1,e.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=h,this.invProjMatrix=e.invert([],this.projMatrix);var f=this.width%2/2,p=this.height%2/2,d=Math.cos(this.angle),m=Math.sin(this.angle),g=s-Math.round(s)+d*f+m*p,y=l-Math.round(l)+d*p+m*f,v=new Float64Array(h);if(e.translate(v,v,[g>.5?g-1:g,y>.5?y-1:y,0]),this.alignedProjMatrix=v,h=e.create(),e.scale(h,h,[this.width/2,-this.height/2,1]),e.translate(h,h,[1,-1,0]),this.labelPlaneMatrix=h,h=e.create(),e.scale(h,h,[1,-1,1]),e.translate(h,h,[-1,-1,0]),e.scale(h,h,[2/this.width,2/this.height,1]),this.glCoordMatrix=h,this.pixelMatrix=e.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(h=e.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=h,this._posMatrixCache={},this._alignedPosMatrixCache={}}},En.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var t=this.pointCoordinate(new e.Point(0,0)),r=[t.x*this.worldSize,t.y*this.worldSize,0,1];return e.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},En.prototype.getCameraPoint=function(){var t=this._pitch,r=Math.tan(t)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new e.Point(0,r))},En.prototype.getCameraQueryGeometry=function(t){var r=this.getCameraPoint();if(1===t.length)return[t[0],r];for(var n=r.x,i=r.y,a=r.x,o=r.y,s=0,l=t;s=3&&!e.some((function(e){return isNaN(e)}))){var t=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(e[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+e[2],+e[1]],zoom:+e[0],bearing:t,pitch:+(e[4]||0)}),!0}return!1},In.prototype._updateHashUnthrottled=function(){var t=e.window.location.href.replace(/(#.+)?$/,this.getHashString());try{e.window.history.replaceState(e.window.history.state,null,t)}catch{}};var Ln={linearity:.3,easing:e.bezier(0,0,.3,1)},Pn=e.extend({deceleration:2500,maxSpeed:1400},Ln),zn=e.extend({deceleration:20,maxSpeed:1400},Ln),Dn=e.extend({deceleration:1e3,maxSpeed:360},Ln),On=e.extend({deceleration:1e3,maxSpeed:90},Ln),Rn=function(e){this._map=e,this.clear()};function Fn(e,t){(!e.duration||e.duration0&&r-t[0].time>160;)t.shift()},Rn.prototype._onMoveEnd=function(t){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var r={zoom:0,bearing:0,pitch:0,pan:new e.Point(0,0),pinchAround:void 0,around:void 0},n=0,i=this._inertiaBuffer;n=this._clickTolerance||this._map.fire(new jn(e.type,this._map,e))},Vn.prototype.dblclick=function(e){return this._firePreventable(new jn(e.type,this._map,e))},Vn.prototype.mouseover=function(e){this._map.fire(new jn(e.type,this._map,e))},Vn.prototype.mouseout=function(e){this._map.fire(new jn(e.type,this._map,e))},Vn.prototype.touchstart=function(e){return this._firePreventable(new Nn(e.type,this._map,e))},Vn.prototype.touchmove=function(e){this._map.fire(new Nn(e.type,this._map,e))},Vn.prototype.touchend=function(e){this._map.fire(new Nn(e.type,this._map,e))},Vn.prototype.touchcancel=function(e){this._map.fire(new Nn(e.type,this._map,e))},Vn.prototype._firePreventable=function(e){if(this._map.fire(e),e.defaultPrevented)return{}},Vn.prototype.isEnabled=function(){return!0},Vn.prototype.isActive=function(){return!1},Vn.prototype.enable=function(){},Vn.prototype.disable=function(){};var qn=function(e){this._map=e};qn.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},qn.prototype.mousemove=function(e){this._map.fire(new jn(e.type,this._map,e))},qn.prototype.mousedown=function(){this._delayContextMenu=!0},qn.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new jn("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},qn.prototype.contextmenu=function(e){this._delayContextMenu?this._contextMenuEvent=e:this._map.fire(new jn(e.type,this._map,e)),this._map.listens("contextmenu")&&e.preventDefault()},qn.prototype.isEnabled=function(){return!0},qn.prototype.isActive=function(){return!1},qn.prototype.enable=function(){},qn.prototype.disable=function(){};var Hn=function(e,t){this._map=e,this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=t.clickTolerance||1};function Gn(e,t){for(var r={},n=0;nthis.numTouches)&&(this.aborted=!0),!this.aborted&&(void 0===this.startTime&&(this.startTime=t.timeStamp),n.length===this.numTouches&&(this.centroid=function(t){for(var r=new e.Point(0,0),n=0,i=t;n30)&&(this.aborted=!0)}}},Wn.prototype.touchend=function(e,t,r){if((!this.centroid||e.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){var n=!this.aborted&&this.centroid;if(this.reset(),n)return n}};var Zn=function(e){this.singleTap=new Wn(e),this.numTaps=e.numTaps,this.reset()};Zn.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},Zn.prototype.touchstart=function(e,t,r){this.singleTap.touchstart(e,t,r)},Zn.prototype.touchmove=function(e,t,r){this.singleTap.touchmove(e,t,r)},Zn.prototype.touchend=function(e,t,r){var n=this.singleTap.touchend(e,t,r);if(n){var i=e.timeStamp-this.lastTime<500,a=!this.lastTap||this.lastTap.dist(n)<30;if((!i||!a)&&this.reset(),this.count++,this.lastTime=e.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}};var Yn=function(){this._zoomIn=new Zn({numTouches:1,numTaps:2}),this._zoomOut=new Zn({numTouches:2,numTaps:1}),this.reset()};Yn.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},Yn.prototype.touchstart=function(e,t,r){this._zoomIn.touchstart(e,t,r),this._zoomOut.touchstart(e,t,r)},Yn.prototype.touchmove=function(e,t,r){this._zoomIn.touchmove(e,t,r),this._zoomOut.touchmove(e,t,r)},Yn.prototype.touchend=function(e,t,r){var n=this,i=this._zoomIn.touchend(e,t,r),a=this._zoomOut.touchend(e,t,r);return i?(this._active=!0,e.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(t){return t.easeTo({duration:300,zoom:t.getZoom()+1,around:t.unproject(i)},{originalEvent:e})}}):a?(this._active=!0,e.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(t){return t.easeTo({duration:300,zoom:t.getZoom()-1,around:t.unproject(a)},{originalEvent:e})}}):void 0},Yn.prototype.touchcancel=function(){this.reset()},Yn.prototype.enable=function(){this._enabled=!0},Yn.prototype.disable=function(){this._enabled=!1,this.reset()},Yn.prototype.isEnabled=function(){return this._enabled},Yn.prototype.isActive=function(){return this._active};var Xn={0:1,2:2},$n=function(e){this.reset(),this._clickTolerance=e.clickTolerance||1};$n.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},$n.prototype._correctButton=function(e,t){return!1},$n.prototype._move=function(e,t){return{}},$n.prototype.mousedown=function(e,t){if(!this._lastPoint){var n=r.mouseButton(e);this._correctButton(e,n)&&(this._lastPoint=t,this._eventButton=n)}},$n.prototype.mousemoveWindow=function(e,t){var r=this._lastPoint;if(r){if(e.preventDefault(),function(e,t){var r=Xn[t];return void 0===e.buttons||(e.buttons&r)!==r}(e,this._eventButton))return void this.reset();if(this._moved||!(t.dist(r)0&&(this._active=!0);var i=Gn(n,r),a=new e.Point(0,0),o=new e.Point(0,0),s=0;for(var l in i){var c=i[l],u=this._touches[l];u&&(a._add(c),o._add(c.sub(u)),s++,i[l]=c)}if(this._touches=i,!(sMath.abs(e.x)}var li=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.reset=function(){e.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},t.prototype._start=function(e){this._lastPoints=e,si(e[0].sub(e[1]))&&(this._valid=!1)},t.prototype._move=function(e,t,r){var n=e[0].sub(this._lastPoints[0]),i=e[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid)return this._lastPoints=e,this._active=!0,{pitchDelta:(n.y+i.y)/2*-.5}},t.prototype.gestureBeginsVertically=function(e,t,r){if(void 0!==this._valid)return this._valid;var n=e.mag()>=2,i=t.mag()>=2;if(n||i){if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;var a=e.y>0==t.y>0;return si(e)&&si(t)&&a}},t}(ti),ci={panStep:100,bearingStep:15,pitchStep:10},ui=function(){var e=ci;this._panStep=e.panStep,this._bearingStep=e.bearingStep,this._pitchStep=e.pitchStep,this._rotationDisabled=!1};function hi(e){return e*(2-e)}ui.prototype.reset=function(){this._active=!1},ui.prototype.keydown=function(e){var t=this;if(!(e.altKey||e.ctrlKey||e.metaKey)){var r=0,n=0,i=0,a=0,o=0;switch(e.keyCode){case 61:case 107:case 171:case 187:r=1;break;case 189:case 109:case 173:r=-1;break;case 37:e.shiftKey?n=-1:(e.preventDefault(),a=-1);break;case 39:e.shiftKey?n=1:(e.preventDefault(),a=1);break;case 38:e.shiftKey?i=1:(e.preventDefault(),o=-1);break;case 40:e.shiftKey?i=-1:(e.preventDefault(),o=1);break;default:return}return this._rotationDisabled&&(n=0,i=0),{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:"keyboardHandler",easing:hi,zoom:r?Math.round(l)+r*(e.shiftKey?2:1):l,bearing:s.getBearing()+n*t._bearingStep,pitch:s.getPitch()+i*t._pitchStep,offset:[-a*t._panStep,-o*t._panStep],center:s.getCenter()},{originalEvent:e})}}}},ui.prototype.enable=function(){this._enabled=!0},ui.prototype.disable=function(){this._enabled=!1,this.reset()},ui.prototype.isEnabled=function(){return this._enabled},ui.prototype.isActive=function(){return this._active},ui.prototype.disableRotation=function(){this._rotationDisabled=!0},ui.prototype.enableRotation=function(){this._rotationDisabled=!1};var fi=4.000244140625,pi=1/450,di=function(t,r){this._map=t,this._el=t.getCanvasContainer(),this._handler=r,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=pi,e.bindAll(["_onTimeout"],this)};di.prototype.setZoomRate=function(e){this._defaultZoomRate=e},di.prototype.setWheelZoomRate=function(e){this._wheelZoomRate=e},di.prototype.isEnabled=function(){return!!this._enabled},di.prototype.isActive=function(){return!!this._active||void 0!==this._finishTimeout},di.prototype.isZooming=function(){return!!this._zooming},di.prototype.enable=function(e){this.isEnabled()||(this._enabled=!0,this._aroundCenter=e&&"center"===e.around)},di.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},di.prototype.wheel=function(t){if(this.isEnabled()){var r=t.deltaMode===e.window.WheelEvent.DOM_DELTA_LINE?40*t.deltaY:t.deltaY,n=e.browser.now(),i=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%fi==0?this._type="wheel":0!==r&&Math.abs(r)<4?this._type="trackpad":i>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(i*r)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),t.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=t,this._delta-=r,this._active||this._start(t)),t.preventDefault()}},di.prototype._onTimeout=function(e){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(e)},di.prototype._start=function(t){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 n=r.mousePos(this._el,t);this._around=e.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(n)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},di.prototype.renderFrame=function(){var t=this;if(this._frameId&&(this._frameId=null,this.isActive())){var r=this._map.transform;if(0!==this._delta){var n="wheel"===this._type&&Math.abs(this._delta)>fi?this._wheelZoomRate:this._defaultZoomRate,i=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==i&&(i=1/i);var a="number"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(a*i))),"wheel"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var o,s="number"==typeof this._targetZoom?this._targetZoom:r.zoom,l=this._startZoom,c=this._easing,u=!1;if("wheel"===this._type&&l&&c){var h=Math.min((e.browser.now()-this._lastWheelEventTime)/200,1),f=c(h);o=e.number(l,s,f),h<1?this._frameId||(this._frameId=!0):u=!0}else o=s,u=!0;return this._active=!0,u&&(this._active=!1,this._finishTimeout=setTimeout((function(){t._zooming=!1,t._handler._triggerRenderFrame(),delete t._targetZoom,delete t._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!u,zoomDelta:o-r.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},di.prototype._smoothOutEasing=function(t){var r=e.ease;if(this._prevEase){var n=this._prevEase,i=(e.browser.now()-n.start)/n.duration,a=n.easing(i+.01)-n.easing(i),o=.27/Math.sqrt(a*a+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=e.bezier(o,s,.25,1)}return this._prevEase={start:e.browser.now(),duration:t,easing:r},r},di.prototype.reset=function(){this._active=!1};var mi=function(e,t){this._clickZoom=e,this._tapZoom=t};mi.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},mi.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},mi.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},mi.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var gi=function(){this.reset()};gi.prototype.reset=function(){this._active=!1},gi.prototype.dblclick=function(e,t){return e.preventDefault(),{cameraAnimation:function(r){r.easeTo({duration:300,zoom:r.getZoom()+(e.shiftKey?-1:1),around:r.unproject(t)},{originalEvent:e})}}},gi.prototype.enable=function(){this._enabled=!0},gi.prototype.disable=function(){this._enabled=!1,this.reset()},gi.prototype.isEnabled=function(){return this._enabled},gi.prototype.isActive=function(){return this._active};var yi=function(){this._tap=new Zn({numTouches:1,numTaps:1}),this.reset()};yi.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},yi.prototype.touchstart=function(e,t,r){this._swipePoint||(this._tapTime&&e.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?r.length>0&&(this._swipePoint=t[0],this._swipeTouch=r[0].identifier):this._tap.touchstart(e,t,r))},yi.prototype.touchmove=function(e,t,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;var n=t[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,e.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(e,t,r)},yi.prototype.touchend=function(e,t,r){this._tapTime?this._swipePoint&&0===r.length&&this.reset():this._tap.touchend(e,t,r)&&(this._tapTime=e.timeStamp)},yi.prototype.touchcancel=function(){this.reset()},yi.prototype.enable=function(){this._enabled=!0},yi.prototype.disable=function(){this._enabled=!1,this.reset()},yi.prototype.isEnabled=function(){return this._enabled},yi.prototype.isActive=function(){return this._active};var vi=function(e,t,r){this._el=e,this._mousePan=t,this._touchPan=r};vi.prototype.enable=function(e){this._inertiaOptions=e||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")},vi.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")},vi.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},vi.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var xi=function(e,t,r){this._pitchWithRotate=e.pitchWithRotate,this._mouseRotate=t,this._mousePitch=r};xi.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},xi.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},xi.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},xi.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var _i=function(e,t,r,n){this._el=e,this._touchZoom=t,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0};_i.prototype.enable=function(e){this._touchZoom.enable(e),this._rotationDisabled||this._touchRotate.enable(e),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")},_i.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")},_i.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},_i.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},_i.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},_i.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var bi=function(e){return e.zoom||e.drag||e.pitch||e.rotate},wi=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(e.Event);function Ti(e){return e.panDelta&&e.panDelta.mag()||e.zoomDelta||e.bearingDelta||e.pitchDelta}var ki=function(t,n){this._map=t,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Rn(t),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n),e.bindAll(["handleEvent","handleWindowEvent"],this);var i=this._el;this._listeners=[[i,"touchstart",{passive:!0}],[i,"touchmove",{passive:!1}],[i,"touchend",void 0],[i,"touchcancel",void 0],[i,"mousedown",void 0],[i,"mousemove",void 0],[i,"mouseup",void 0],[e.window.document,"mousemove",{capture:!0}],[e.window.document,"mouseup",void 0],[i,"mouseover",void 0],[i,"mouseout",void 0],[i,"dblclick",void 0],[i,"click",void 0],[i,"keydown",{capture:!1}],[i,"keyup",void 0],[i,"wheel",{passive:!1}],[i,"contextmenu",void 0],[e.window,"blur",void 0]];for(var a=0,o=this._listeners;aa?Math.min(2,b):Math.max(.5,b),w=Math.pow(g,1-t),T=i.unproject(x.add(_.mult(t*w)).mult(m));i.setLocationAtPoint(i.renderWorldCopies?T.wrap():T,d)}n._fireMoveEvents(r)}),(function(e){n._afterEase(r,e)}),t),this},r.prototype._prepareEase=function(t,r,n){void 0===n&&(n={}),this._moving=!0,!r&&!n.moving&&this.fire(new e.Event("movestart",t)),this._zooming&&!n.zooming&&this.fire(new e.Event("zoomstart",t)),this._rotating&&!n.rotating&&this.fire(new e.Event("rotatestart",t)),this._pitching&&!n.pitching&&this.fire(new e.Event("pitchstart",t))},r.prototype._fireMoveEvents=function(t){this.fire(new e.Event("move",t)),this._zooming&&this.fire(new e.Event("zoom",t)),this._rotating&&this.fire(new e.Event("rotate",t)),this._pitching&&this.fire(new e.Event("pitch",t))},r.prototype._afterEase=function(t,r){if(!this._easeId||!r||this._easeId!==r){delete this._easeId;var n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new e.Event("zoomend",t)),i&&this.fire(new e.Event("rotateend",t)),a&&this.fire(new e.Event("pitchend",t)),this.fire(new e.Event("moveend",t))}},r.prototype.flyTo=function(t,r){var n=this;if(!t.essential&&e.browser.prefersReducedMotion){var i=e.pick(t,["center","zoom","bearing","pitch","around"]);return this.jumpTo(i,r)}this.stop(),t=e.extend({offset:[0,0],speed:1.2,curve:1.42,easing:e.ease},t);var a=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),c=this.getPadding(),u="zoom"in t?e.clamp(+t.zoom,a.minZoom,a.maxZoom):o,h="bearing"in t?this._normalizeBearing(t.bearing,s):s,f="pitch"in t?+t.pitch:l,p="padding"in t?t.padding:a.padding,d=a.zoomScale(u-o),m=e.Point.convert(t.offset),g=a.centerPoint.add(m),y=a.pointLocation(g),v=e.LngLat.convert(t.center||y);this._normalizeCenter(v);var x=a.project(y),_=a.project(v).sub(x),b=t.curve,w=Math.max(a.width,a.height),T=w/d,k=_.mag();if("minZoom"in t){var A=e.clamp(Math.min(t.minZoom,o,u),a.minZoom,a.maxZoom),M=w/a.zoomScale(A-o);b=Math.sqrt(M/k*2)}var S=b*b;function E(e){var t=(T*T-w*w+(e?-1:1)*S*S*k*k)/(2*(e?T:w)*S*k);return Math.log(Math.sqrt(t*t+1)-t)}function C(e){return(Math.exp(e)-Math.exp(-e))/2}function I(e){return(Math.exp(e)+Math.exp(-e))/2}var L=E(0),P=function(e){return I(L)/I(L+b*e)},z=function(e){return w*((I(L)*function(e){return C(e)/I(e)}(L+b*e)-C(L))/S)/k},D=(E(1)-L)/b;if(Math.abs(k)<1e-6||!isFinite(D)){if(Math.abs(w-T)<1e-6)return this.easeTo(t,r);var O=Tt.maxDuration&&(t.duration=0),this._zooming=!0,this._rotating=s!==h,this._pitching=f!==l,this._padding=!a.isPaddingEqual(p),this._prepareEase(r,!1),this._ease((function(t){var i=t*D,d=1/P(i);a.zoom=1===t?u:o+a.scaleZoom(d),n._rotating&&(a.bearing=e.number(s,h,t)),n._pitching&&(a.pitch=e.number(l,f,t)),n._padding&&(a.interpolatePadding(c,p,t),g=a.centerPoint.add(m));var y=1===t?v:a.unproject(x.add(_.mult(z(i))).mult(d));a.setLocationAtPoint(a.renderWorldCopies?y.wrap():y,g),n._fireMoveEvents(r)}),(function(){return n._afterEase(r)}),t),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){return this._stop()},r.prototype._stop=function(e,t){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var r=this._onEaseEnd;delete this._onEaseEnd,r.call(this,t)}if(!e){var n=this.handlers;n&&n.stop(!1)}return this},r.prototype._ease=function(t,r,n){!1===n.animate||0===n.duration?(t(1),r()):(this._easeStart=e.browser.now(),this._easeOptions=n,this._onEaseFrame=t,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var t=Math.min((e.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(t)),t<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(t,r){t=e.wrap(t,-180,180);var n=Math.abs(t-r);return Math.abs(t-360-r)180?-360:r<-180?360:0}},r}(e.Evented),Mi=function(t){void 0===t&&(t={}),this.options=t,e.bindAll(["_toggleAttribution","_updateEditLink","_updateData","_updateCompact"],this)};Mi.prototype.getDefaultPosition=function(){return"bottom-right"},Mi.prototype.onAdd=function(e){var t=this.options&&this.options.compact;return this._map=e,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"),t&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===t&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},Mi.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},Mi.prototype._setElementTitle=function(e,t){var r=this._map._getUIString("AttributionControl."+t);e.title=r,e.setAttribute("aria-label",r)},Mi.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"))},Mi.prototype._updateEditLink=function(){var t=this._editLink;t||(t=this._editLink=this._container.querySelector(".mapbox-improve-map"));var r=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||e.config.ACCESS_TOKEN}];if(t){var n=r.reduce((function(e,t,n){return t.value&&(e+=t.key+"="+t.value+(n=0)return!1;return!0}))).join(" | ");o!==this._attribHTML&&(this._attribHTML=o,e.length?(this._innerContainer.innerHTML=o,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},Mi.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact","mapboxgl-compact-show")};var Si=function(){e.bindAll(["_updateLogo"],this),e.bindAll(["_updateCompact"],this)};Si.prototype.onAdd=function(e){this._map=e,this._container=r.create("div","mapboxgl-ctrl");var t=r.create("a","mapboxgl-ctrl-logo");return t.target="_blank",t.rel="noopener nofollow",t.href="https://www.mapbox.com/",t.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),t.setAttribute("rel","noopener nofollow"),this._container.appendChild(t),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},Si.prototype.onRemove=function(){r.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},Si.prototype.getDefaultPosition=function(){return"bottom-left"},Si.prototype._updateLogo=function(e){(!e||"metadata"===e.sourceDataType)&&(this._container.style.display=this._logoRequired()?"block":"none")},Si.prototype._logoRequired=function(){if(this._map.style){var e=this._map.style.sourceCaches;for(var t in e)if(e[t].getSource().mapbox_logo)return!0;return!1}},Si.prototype._updateCompact=function(){var e=this._container.children;if(e.length){var t=e[0];this._map.getCanvasContainer().offsetWidth<250?t.classList.add("mapboxgl-compact"):t.classList.remove("mapboxgl-compact")}};var Ei=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};Ei.prototype.add=function(e){var t=++this._id;return this._queue.push({callback:e,id:t,cancelled:!1}),t},Ei.prototype.remove=function(e){for(var t=this._currentlyRunning,r=0,n=t?this._queue.concat(t):this._queue;rt.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=t.minPitch&&null!=t.maxPitch&&t.minPitch>t.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=t.minPitch&&t.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=t.maxPitch&&t.maxPitch>60)throw new Error("maxPitch must be less than or equal to 60");var i=new En(t.minZoom,t.maxZoom,t.minPitch,t.maxPitch,t.renderWorldCopies);if(n.call(this,i,t),this._interactive=t.interactive,this._maxTileCacheSize=t.maxTileCacheSize,this._failIfMajorPerformanceCaveat=t.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=t.preserveDrawingBuffer,this._antialias=t.antialias,this._trackResize=t.trackResize,this._bearingSnap=t.bearingSnap,this._refreshExpiredTiles=t.refreshExpiredTiles,this._fadeDuration=t.fadeDuration,this._crossSourceCollisions=t.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=t.collectResourceTiming,this._renderTaskQueue=new Ei,this._controls=[],this._mapId=e.uniqueId(),this._locale=e.extend({},Ci,t.locale),this._clickTolerance=t.clickTolerance,this._requestManager=new e.RequestManager(t.transformRequest,t.accessToken),"string"==typeof t.container){if(this._container=e.window.document.getElementById(t.container),!this._container)throw new Error("Container '"+t.container+"' not found.")}else{if(!(t.container instanceof Li))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=t.container}if(t.maxBounds&&this.setMaxBounds(t.maxBounds),e.bindAll(["_onWindowOnline","_onWindowResize","_onMapScroll","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",(function(){return r._update(!1)})),this.on("moveend",(function(){return r._update(!1)})),this.on("zoom",(function(){return r._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 ki(this,t);var a="string"==typeof t.hash&&t.hash||void 0;this._hash=t.hash&&new In(a).addTo(this),(!this._hash||!this._hash._onHashChange())&&(this.jumpTo({center:t.center,zoom:t.zoom,bearing:t.bearing,pitch:t.pitch}),t.bounds&&(this.resize(),this.fitBounds(t.bounds,e.extend({},t.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=t.localIdeographFontFamily,t.style&&this.setStyle(t.style,{localIdeographFontFamily:t.localIdeographFontFamily}),t.attributionControl&&this.addControl(new Mi({customAttribution:t.customAttribution})),this.addControl(new Si,t.logoPosition),this.on("style.load",(function(){r.transform.unmodified&&r.jumpTo(r.style.stylesheet)})),this.on("data",(function(t){r._update("style"===t.dataType),r.fire(new e.Event(t.dataType+"data",t))})),this.on("dataloading",(function(t){r.fire(new e.Event(t.dataType+"dataloading",t))}))}n&&(i.__proto__=n),i.prototype=Object.create(n&&n.prototype),i.prototype.constructor=i;var a={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return i.prototype._getMapId=function(){return this._mapId},i.prototype.addControl=function(t,r){if(void 0===r&&(r=t.getDefaultPosition?t.getDefaultPosition():"top-right"),!t||!t.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 n=t.onAdd(this);this._controls.push(t);var i=this._controlPositions[r];return-1!==r.indexOf("bottom")?i.insertBefore(n,i.firstChild):i.appendChild(n),this},i.prototype.removeControl=function(t){if(!t||!t.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 r=this._controls.indexOf(t);return r>-1&&this._controls.splice(r,1),t.onRemove(this),this},i.prototype.hasControl=function(e){return this._controls.indexOf(e)>-1},i.prototype.resize=function(t){var r=this._containerDimensions(),n=r[0],i=r[1];this._resizeCanvas(n,i),this.transform.resize(n,i),this.painter.resize(n,i);var a=!this._moving;return a&&(this.stop(),this.fire(new e.Event("movestart",t)).fire(new e.Event("move",t))),this.fire(new e.Event("resize",t)),a&&this.fire(new e.Event("moveend",t)),this},i.prototype.getBounds=function(){return this.transform.getBounds()},i.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},i.prototype.setMaxBounds=function(t){return this.transform.setMaxBounds(e.LngLatBounds.convert(t)),this._update()},i.prototype.setMinZoom=function(e){if((e=e??-2)>=-2&&e<=this.transform.maxZoom)return this.transform.minZoom=e,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=e,this._update(),this.getZoom()>e&&this.setZoom(e),this;throw new Error("maxZoom must be greater than the current minZoom")},i.prototype.getMaxZoom=function(){return this.transform.maxZoom},i.prototype.setMinPitch=function(e){if((e=e??0)<0)throw new Error("minPitch must be greater than or equal to 0");if(e>=0&&e<=this.transform.maxPitch)return this.transform.minPitch=e,this._update(),this.getPitch()60)throw new Error("maxPitch must be less than or equal to 60");if(e>=this.transform.minPitch)return this.transform.maxPitch=e,this._update(),this.getPitch()>e&&this.setPitch(e),this;throw new Error("maxPitch must be greater than the current minPitch")},i.prototype.getMaxPitch=function(){return this.transform.maxPitch},i.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},i.prototype.setRenderWorldCopies=function(e){return this.transform.renderWorldCopies=e,this._update()},i.prototype.project=function(t){return this.transform.locationPoint(e.LngLat.convert(t))},i.prototype.unproject=function(t){return this.transform.pointLocation(e.Point.convert(t))},i.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},i.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},i.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},i.prototype._createDelegatedListener=function(e,t,r){var n,i=this;if("mouseenter"===e||"mouseover"===e){var a=!1;return{layer:t,listener:r,delegates:{mousemove:function(n){var o=i.getLayer(t)?i.queryRenderedFeatures(n.point,{layers:[t]}):[];o.length?a||(a=!0,r.call(i,new jn(e,i,n.originalEvent,{features:o}))):a=!1},mouseout:function(){a=!1}}}}if("mouseleave"===e||"mouseout"===e){var o=!1;return{layer:t,listener:r,delegates:{mousemove:function(n){(i.getLayer(t)?i.queryRenderedFeatures(n.point,{layers:[t]}):[]).length?o=!0:o&&(o=!1,r.call(i,new jn(e,i,n.originalEvent)))},mouseout:function(t){o&&(o=!1,r.call(i,new jn(e,i,t.originalEvent)))}}}}return{layer:t,listener:r,delegates:(n={},n[e]=function(e){var n=i.getLayer(t)?i.queryRenderedFeatures(e.point,{layers:[t]}):[];n.length&&(e.features=n,r.call(i,e),delete e.features)},n)}},i.prototype.on=function(e,t,r){if(void 0===r)return n.prototype.on.call(this,e,t);var i=this._createDelegatedListener(e,t,r);for(var a in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(i),i.delegates)this.on(a,i.delegates[a]);return this},i.prototype.once=function(e,t,r){if(void 0===r)return n.prototype.once.call(this,e,t);var i=this._createDelegatedListener(e,t,r);for(var a in i.delegates)this.once(a,i.delegates[a]);return this},i.prototype.off=function(e,t,r){var i=this;return void 0===r?n.prototype.off.call(this,e,t):(this._delegatedListeners&&this._delegatedListeners[e]&&function(n){for(var a=n[e],o=0;o180;){var s=n.locationPoint(t);if(s.x>=0&&s.y>=0&&s.x<=n.width&&s.y<=n.height)break;t.lng>n.center.lng?t.lng-=360:t.lng+=360}return t}Bi.prototype.down=function(e,t){this.mouseRotate.mousedown(e,t),this.mousePitch&&this.mousePitch.mousedown(e,t),r.disableDrag()},Bi.prototype.move=function(e,t){var r=this.map,n=this.mouseRotate.mousemoveWindow(e,t);if(n&&n.bearingDelta&&r.setBearing(r.getBearing()+n.bearingDelta),this.mousePitch){var i=this.mousePitch.mousemoveWindow(e,t);i&&i.pitchDelta&&r.setPitch(r.getPitch()+i.pitchDelta)}},Bi.prototype.off=function(){var e=this.element;r.removeEventListener(e,"mousedown",this.mousedown),r.removeEventListener(e,"touchstart",this.touchstart,{passive:!1}),r.removeEventListener(e,"touchmove",this.touchmove),r.removeEventListener(e,"touchend",this.touchend),r.removeEventListener(e,"touchcancel",this.reset),this.offTemp()},Bi.prototype.offTemp=function(){r.enableDrag(),r.removeEventListener(e.window,"mousemove",this.mousemove),r.removeEventListener(e.window,"mouseup",this.mouseup)},Bi.prototype.mousedown=function(t){this.down(e.extend({},t,{ctrlKey:!0,preventDefault:function(){return t.preventDefault()}}),r.mousePos(this.element,t)),r.addEventListener(e.window,"mousemove",this.mousemove),r.addEventListener(e.window,"mouseup",this.mouseup)},Bi.prototype.mousemove=function(e){this.move(e,r.mousePos(this.element,e))},Bi.prototype.mouseup=function(e){this.mouseRotate.mouseupWindow(e),this.mousePitch&&this.mousePitch.mouseupWindow(e),this.offTemp()},Bi.prototype.touchstart=function(e){1!==e.targetTouches.length?this.reset():(this._startPos=this._lastPos=r.touchPos(this.element,e.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:function(){return e.preventDefault()}},this._startPos))},Bi.prototype.touchmove=function(e){1!==e.targetTouches.length?this.reset():(this._lastPos=r.touchPos(this.element,e.targetTouches)[0],this.move({preventDefault:function(){return e.preventDefault()}},this._lastPos))},Bi.prototype.touchend=function(e){0===e.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)=r}this._isDragging&&(this._pos=t.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new e.Event("dragstart"))),this.fire(new e.Event("drag")))},n.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),"active"===this._state&&this.fire(new e.Event("dragend")),this._state="inactive"},n.prototype._addDragHandler=function(e){this._element.contains(e.originalEvent.target)&&(e.preventDefault(),this._positionDelta=e.point.sub(this._pos).add(this._offset),this._pointerdownPos=e.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))},n.prototype.setDraggable=function(e){return this._draggable=!!e,this._map&&(e?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this},n.prototype.isDraggable=function(){return this._draggable},n.prototype.setRotation=function(e){return this._rotation=e||0,this._update(),this},n.prototype.getRotation=function(){return this._rotation},n.prototype.setRotationAlignment=function(e){return this._rotationAlignment=e||"auto",this._update(),this},n.prototype.getRotationAlignment=function(){return this._rotationAlignment},n.prototype.setPitchAlignment=function(e){return this._pitchAlignment=e&&"auto"!==e?e:this._rotationAlignment,this._update(),this},n.prototype.getPitchAlignment=function(){return this._pitchAlignment},n}(e.Evented),Hi={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},Gi=0,Wi=!1,Zi=function(t){function n(r){t.call(this),this.options=e.extend({},Hi,r),e.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker"],this)}return t&&(n.__proto__=t),n.prototype=Object.create(t&&t.prototype),n.prototype.constructor=n,n.prototype.onAdd=function(t){return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),function(t){void 0!==Vi?t(Vi):void 0!==e.window.navigator.permissions?e.window.navigator.permissions.query({name:"geolocation"}).then((function(e){Vi="denied"!==e.state,t(Vi)})):(Vi=!!e.window.navigator.geolocation,t(Vi))}(this._setupUI),this._container},n.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(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,Gi=0,Wi=!1},n.prototype._isOutOfMapMaxBounds=function(e){var t=this._map.getMaxBounds(),r=e.coords;return t&&(r.longitudet.getEast()||r.latitudet.getNorth())},n.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")}},n.prototype._onSuccess=function(t){if(this._map){if(this._isOutOfMapMaxBounds(t))return this._setErrorState(),this.fire(new e.Event("outofmaxbounds",t)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(t),(!this.options.trackUserLocation||"ACTIVE_LOCK"===this._watchState)&&this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new e.Event("geolocate",t)),this._finish()}},n.prototype._updateCamera=function(t){var r=new e.LngLat(t.coords.longitude,t.coords.latitude),n=t.coords.accuracy,i=this._map.getBearing(),a=e.extend({bearing:i},this.options.fitBoundsOptions);this._map.fitBounds(r.toBounds(n),a,{geolocateSource:!0})},n.prototype._updateMarker=function(t){if(t){var r=new e.LngLat(t.coords.longitude,t.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=t.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},n.prototype._updateCircleRadius=function(){var e=this._map._container.clientHeight/2,t=this._map.unproject([0,e]),r=this._map.unproject([1,e]),n=t.distanceTo(r),i=Math.ceil(2*this._accuracy/n);this._circleElement.style.width=i+"px",this._circleElement.style.height=i+"px"},n.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},n.prototype._onError=function(t){if(this._map){if(this.options.trackUserLocation)if(1===t.code){this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;var r=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=r,this._geolocateButton.setAttribute("aria-label",r),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===t.code&&Wi)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new e.Event("error",t)),this._finish()}},n.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},n.prototype._setupUI=function(t){var n=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",!1===t){e.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");var i=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=i,this._geolocateButton.setAttribute("aria-label",i)}else{var a=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=a,this._geolocateButton.setAttribute("aria-label",a)}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 qi(this._dotElement),this._circleElement=r.create("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new qi({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(t){var r=t.originalEvent&&"resize"===t.originalEvent.type;!t.geolocateSource&&"ACTIVE_LOCK"===n._watchState&&!r&&(n._watchState="BACKGROUND",n._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),n._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),n.fire(new e.Event("trackuserlocationend")))}))},n.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":Gi--,Wi=!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"))}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")}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var t;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),++Gi>1?(t={maximumAge:6e5,timeout:0},Wi=!0):(t=this.options.positionOptions,Wi=!1),this._geolocationWatchID=e.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)}}else e.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},n.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)},n}(e.Evented),Yi={maxWidth:100,unit:"metric"},Xi=function(t){this.options=e.extend({},Yi,t),e.bindAll(["_onMove","setUnit"],this)};function $i(e,t,r){var n=r&&r.maxWidth||100,i=e._container.clientHeight/2,a=e.unproject([0,i]),o=e.unproject([n,i]),s=a.distanceTo(o);if(r&&"imperial"===r.unit){var l=3.2808*s;l>5280?Ki(t,n,l/5280,e._getUIString("ScaleControl.Miles")):Ki(t,n,l,e._getUIString("ScaleControl.Feet"))}else r&&"nautical"===r.unit?Ki(t,n,s/1852,e._getUIString("ScaleControl.NauticalMiles")):s>=1e3?Ki(t,n,s/1e3,e._getUIString("ScaleControl.Kilometers")):Ki(t,n,s,e._getUIString("ScaleControl.Meters"))}function Ki(e,t,r,n){var i=function(e){var t=Math.pow(10,(""+Math.floor(e)).length-1),r=e/t;return r=r>=10?10:r>=5?5:r>=3?3:r>=2?2:r>=1?1:function(e){var t=Math.pow(10,Math.ceil(-Math.log(e)/Math.LN10));return Math.round(e*t)/t}(r),t*r}(r),a=i/r;e.style.width=t*a+"px",e.innerHTML=i+" "+n}Xi.prototype.getDefaultPosition=function(){return"bottom-left"},Xi.prototype._onMove=function(){$i(this._map,this._container,this.options)},Xi.prototype.onAdd=function(e){return this._map=e,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",e.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},Xi.prototype.onRemove=function(){r.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},Xi.prototype.setUnit=function(e){this.options.unit=e,$i(this._map,this._container,this.options)};var Ji=function(t){this._fullscreen=!1,t&&t.container&&(t.container instanceof e.window.HTMLElement?this._container=t.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")};Ji.prototype.onAdd=function(t){return this._map=t,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},Ji.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,e.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},Ji.prototype._checkFullscreenSupport=function(){return!!(e.window.document.fullscreenEnabled||e.window.document.mozFullScreenEnabled||e.window.document.msFullscreenEnabled||e.window.document.webkitFullscreenEnabled)},Ji.prototype._setupUI=function(){var t=this._fullscreenButton=r.create("button","mapboxgl-ctrl-fullscreen",this._controlContainer);r.create("span","mapboxgl-ctrl-icon",t).setAttribute("aria-hidden",!0),t.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),e.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},Ji.prototype._updateTitle=function(){var e=this._getTitle();this._fullscreenButton.setAttribute("aria-label",e),this._fullscreenButton.title=e},Ji.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")},Ji.prototype._isFullscreen=function(){return this._fullscreen},Ji.prototype._changeIcon=function(){(e.window.document.fullscreenElement||e.window.document.mozFullScreenElement||e.window.document.webkitFullscreenElement||e.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())},Ji.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 Qi={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px"},ea=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", "),ta=function(t){function n(r){t.call(this),this.options=e.extend(Object.create(Qi),r),e.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}return t&&(n.__proto__=t),n.prototype=Object.create(t&&t.prototype),n.prototype.constructor=n,n.prototype.addTo=function(t){return this._map&&this.remove(),this._map=t,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("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},n.prototype.isOpen=function(){return!!this._map},n.prototype.remove=function(){return this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("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},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(t){return this._lngLat=e.LngLat.convert(t),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")),this},n.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},n.prototype.getElement=function(){return this._container},n.prototype.setText=function(t){return this.setDOMContent(e.window.document.createTextNode(t))},n.prototype.setHTML=function(t){var r,n=e.window.document.createDocumentFragment(),i=e.window.document.createElement("body");for(i.innerHTML=t;r=i.firstChild;)n.appendChild(r);return this.setDOMContent(n)},n.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},n.prototype.setMaxWidth=function(e){return this.options.maxWidth=e,this._update(),this},n.prototype.setDOMContent=function(e){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(e),this._createCloseButton(),this._update(),this._focusFirstElement(),this},n.prototype.addClassName=function(e){this._container&&this._container.classList.add(e)},n.prototype.removeClassName=function(e){this._container&&this._container.classList.remove(e)},n.prototype.setOffset=function(e){return this.options.offset=e,this._update(),this},n.prototype.toggleClassName=function(e){if(this._container)return this._container.classList.toggle(e)},n.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))},n.prototype._onMouseUp=function(e){this._update(e.point)},n.prototype._onMouseMove=function(e){this._update(e.point)},n.prototype._onDrag=function(e){this._update(e.point)},n.prototype._update=function(e){var t=this,n=this._lngLat||this._trackPointer;if(this._map&&n&&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(e){return t._container.classList.add(e)})),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=ji(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||e)){var i=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat),a=this.options.anchor,o=ra(this.options.offset);if(!a){var s,l=this._container.offsetWidth,c=this._container.offsetHeight;s=i.y+o.bottom.ythis._map.transform.height-c?["bottom"]:[],i.xthis._map.transform.width-l/2&&s.push("right"),a=0===s.length?"bottom":s.join("-")}var u=i.add(o[a]).round();r.setTransform(this._container,Ni[a]+" translate("+u.x+"px,"+u.y+"px)"),Ui(this._container,a,"popup")}},n.prototype._focusFirstElement=function(){if(this.options.focusAfterOpen&&this._container){var e=this._container.querySelector(ea);e&&e.focus()}},n.prototype._onClose=function(){this.remove()},n}(e.Evented);function ra(t){if(t){if("number"==typeof t){var r=Math.round(Math.sqrt(.5*Math.pow(t,2)));return{center:new e.Point(0,0),top:new e.Point(0,t),"top-left":new e.Point(r,r),"top-right":new e.Point(-r,r),bottom:new e.Point(0,-t),"bottom-left":new e.Point(r,-r),"bottom-right":new e.Point(-r,-r),left:new e.Point(t,0),right:new e.Point(-t,0)}}if(t instanceof e.Point||Array.isArray(t)){var n=e.Point.convert(t);return{center:n,top:n,"top-left":n,"top-right":n,bottom:n,"bottom-left":n,"bottom-right":n,left:n,right:n}}return{center:e.Point.convert(t.center||[0,0]),top:e.Point.convert(t.top||[0,0]),"top-left":e.Point.convert(t["top-left"]||[0,0]),"top-right":e.Point.convert(t["top-right"]||[0,0]),bottom:e.Point.convert(t.bottom||[0,0]),"bottom-left":e.Point.convert(t["bottom-left"]||[0,0]),"bottom-right":e.Point.convert(t["bottom-right"]||[0,0]),left:e.Point.convert(t.left||[0,0]),right:e.Point.convert(t.right||[0,0])}}return ra(new e.Point(0,0))}var na={version:e.version,supported:t,setRTLTextPlugin:e.setRTLTextPlugin,getRTLTextPluginStatus:e.getRTLTextPluginStatus,Map:Di,NavigationControl:Fi,GeolocateControl:Zi,AttributionControl:Mi,ScaleControl:Xi,FullscreenControl:Ji,Popup:ta,Marker:qi,Style:Gt,LngLat:e.LngLat,LngLatBounds:e.LngLatBounds,Point:e.Point,MercatorCoordinate:e.MercatorCoordinate,Evented:e.Evented,config:e.config,prewarm:function(){je().acquire(Oe)},clearPrewarmedResources:function(){var e=Fe;e&&(e.isPreloaded()&&1===e.numActive()?(e.release(Oe),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()"))},get accessToken(){return e.config.ACCESS_TOKEN},set accessToken(t){e.config.ACCESS_TOKEN=t},get baseApiUrl(){return e.config.API_URL},set baseApiUrl(t){e.config.API_URL=t},get workerCount(){return Re.workerCount},set workerCount(e){Re.workerCount=e},get maxParallelImageRequests(){return e.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(t){e.config.MAX_PARALLEL_IMAGE_REQUESTS=t},clearStorage:function(t){e.clearTileCache(t)},workerUrl:""};return na})),r},"object"==typeof e&&typeof t<"u"?t.exports=n():(r=r||self).mapboxgl=n()}}),V_=m({"src/plots/mapbox/layers.js"(e,t){var r=ct(),n=Et().sanitizeHTML,i=O_(),a=C_();function o(e,t){this.subplot=e,this.uid=e.uid+"-"+t,this.index=t,this.idSource="source-"+this.uid,this.idLayer=a.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var s=o.prototype;function l(e){if(!e.visible)return!1;var t=e.source;if(Array.isArray(t)&&t.length>0){for(var n=0;n0}function c(e){var t={},n={};switch(e.type){case"circle":r.extendFlat(n,{"circle-radius":e.circle.radius,"circle-color":e.color,"circle-opacity":e.opacity});break;case"line":r.extendFlat(n,{"line-width":e.line.width,"line-color":e.color,"line-opacity":e.opacity,"line-dasharray":e.line.dash});break;case"fill":r.extendFlat(n,{"fill-color":e.color,"fill-outline-color":e.fill.outlinecolor,"fill-opacity":e.opacity});break;case"symbol":var a=e.symbol,o=i(a.textposition,a.iconsize);r.extendFlat(t,{"icon-image":a.icon+"-15","icon-size":a.iconsize/10,"text-field":a.text,"text-size":a.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset,"symbol-placement":a.placement}),r.extendFlat(n,{"icon-color":e.color,"text-color":a.textfont.color,"text-opacity":e.opacity});break;case"raster":r.extendFlat(n,{"raster-fade-duration":0,"raster-opacity":e.opacity})}return{layout:t,paint:n}}s.update=function(e){this.visible?this.needsNewImage(e)?this.updateImage(e):this.needsNewSource(e)?(this.removeLayer(),this.updateSource(e),this.updateLayer(e)):this.needsNewLayer(e)?this.updateLayer(e):this.updateStyle(e):(this.updateSource(e),this.updateLayer(e)),this.visible=l(e)},s.needsNewImage=function(e){return this.subplot.map.getSource(this.idSource)&&"image"===this.sourceType&&"image"===e.sourcetype&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))},s.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type},s.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},s.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]},s.updateImage=function(e){this.subplot.map.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var t=this.findFollowingMapboxLayerId(this.lookupBelow());null!==t&&this.subplot.map.moveLayer(this.idLayer,t)},s.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,l(e)){var r=function(e){var t,r=e.sourcetype,i=e.source,a={type:r};return"geojson"===r?t="data":"vector"===r?t="string"==typeof i?"url":"tiles":"raster"===r?(t="tiles",a.tileSize=256):"image"===r&&(t="url",a.coordinates=e.coordinates),a[t]=i,e.sourceattribution&&(a.attribution=n(e.sourceattribution)),a}(e);t.addSource(this.idSource,r)}},s.findFollowingMapboxLayerId=function(e){if("traces"===e)for(var t=this.subplot.getMapLayers(),r=0;r1)for(r=0;r-1&&m(t.originalEvent,n,[r.xaxis],[r.yaxis],r.id,e),i.indexOf("event")>-1&&l.click(n,t.originalEvent)}}},x.updateFx=function(e){var t=this,r=t.map,i=t.gd;if(!t.isStatic){var a,o=e.dragmode;a=function(e,r){r.isRect?(e.range={})[t.id]=[c([r.xmin,r.ymin]),c([r.xmax,r.ymax])]:(e.lassoPoints={})[t.id]=r.map(c)};var l=t.dragOptions;t.dragOptions=n.extendDeep(l||{},{dragmode:e.dragmode,element:t.div,gd:i,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:a},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off("click",t.onClickInPanHandler),h(o)||u(o)?(r.dragPan.disable(),r.on("zoomstart",t.clearOutline),t.dragOptions.prepFn=function(e,r,n){f(e,r,n,t.dragOptions,o)},s.init(t.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",t.clearOutline),t.div.onmousedown=null,t.div.ontouchstart=null,t.div.removeEventListener("touchstart",t.div._ontouchstart),t.onClickInPanHandler=t.onClickInPanFn(t.dragOptions),r.on("click",t.onClickInPanHandler))}function c(e){var r=t.map.unproject(e);return[r.lng,r.lat]}},x.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+"px",n.height=r.h*(t.y[1]-t.y[0])+"px",n.left=r.l+t.x[0]*r.w+"px",n.top=r.t+(1-t.y[1])*r.h+"px",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])},x.updateLayers=function(e){var t,r=e[this.id].layers,n=this.layerList;if(r.length!==n.length){for(t=0;t1&&r.warn(f.multipleTokensErrorMsg),i[0]):(a.length&&r.log(["Listed mapbox access token(s)",a.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" ")),"")}(e,o);t.accessToken=s;for(var l=0;lw/2){var T=v.split("|").join("
");_.text(T).attr("data-unformatted",T).call(c.convertToTspans,e),b=l.bBox(_.node())}_.attr("transform",n(-3,8-b.height)),x.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 k=1;b.width+6>w&&(k=w/(b.width+6));var A=[a.l+a.w*d.x[1],a.t+a.h*(1-d.y[0])];x.attr("transform",n(A[0],A[1])+i(k))}},e.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[h],n=0;n=0;r--)e.removeLayer(t[r][1])},o.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)},t.exports=function(e,t){var n=t[0].trace,i=new a(e,n.uid),o=i.sourceId,s=r(t),l=i.below=e.belowLookup["trace-"+n.uid];return e.map.addSource(o,{type:"geojson",data:s.geojson}),i._addLayers(s,l),t[0].trace._glTrace=i,i}}}),J_=m({"src/traces/choroplethmapbox/index.js"(e,t){["*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(" "),t.exports={attributes:Y_(),supplyDefaults:X_(),colorbar:Vo(),calc:Ng(),plot:K_(),hoverPoints:qg(),eventData:Hg(),selectPoints:Gg(),styleOnSelect:function(e,t){t&&t[0].trace._glTrace.updateOnSelect(t)},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if("string"==typeof i&&0===i.indexOf("water"))for(var a=n+1;a0?+p[u]:0),h.push({type:"Feature",geometry:{type:"Point",coordinates:y},properties:v})}}var _=a.extractOpts(t),b=_.reversescale?a.flipScale(_.colorscale):_.colorscale,w=b[0][1],T=["interpolate",["linear"],["heatmap-density"],0,i.opacity(w)<1?w:i.addOpacity(w,0)];for(u=1;u=0;r--)e.removeLayer(t[r][1])},a.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)},t.exports=function(e,t){var n=t[0].trace,a=new i(e,n.uid),o=a.sourceId,s=r(t),l=a.below=e.belowLookup["trace-"+n.uid];return e.map.addSource(o,{type:"geojson",data:s.geojson}),a._addLayers(s,l),a}}}),ab=m({"src/traces/densitymapbox/hover.js"(e,t){var r=ar(),n=B_().hoverPoints,i=B_().getExtraText;t.exports=function(e,t,a){var o=n(e,t,a);if(o){var s=o[0],l=s.cd,c=l[0].trace,u=l[s.index];if(delete s.color,"z"in u){var h=s.subplot.mockAxis;s.z=u.z,s.zLabel=r.tickText(h,h.c2l(u.z),"hover").text}return s.extraText=i(c,u,l[0].t.labels),[s]}}}}),ob=m({"src/traces/densitymapbox/event_data.js"(e,t){t.exports=function(e,t){return e.lon=t.lon,e.lat=t.lat,e.z=t.z,e}}}),sb=m({"src/traces/densitymapbox/index.js"(e,t){["*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(" "),t.exports={attributes:eb(),supplyDefaults:tb(),colorbar:Vo(),formatLabels:D_(),calc:rb(),plot:ib(),hoverPoints:ab(),eventData:ob(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;nESRI"},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"}}}),ub=m({"src/plots/map/styles/arcgis-sat.js"(e,t){t.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"}}]}}}),hb=m({"src/plots/map/constants.js"(e,t){var r=Ye(),n=cb(),i="https://basemaps.cartocdn.com/gl/positron-gl-style/style.json",a="https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",o="https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",s={basic:o,streets:o,outdoors:o,light:i,dark:a,satellite:ub(),"satellite-streets":n,"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:'© OpenStreetMap contributors',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":i,"carto-darkmatter":a,"carto-voyager":o,"carto-positron-nolabels":"https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json","carto-darkmatter-nolabels":"https://basemaps.cartocdn.com/gl/dark-matter-nolabels-gl-style/style.json","carto-voyager-nolabels":"https://basemaps.cartocdn.com/gl/voyager-nolabels-gl-style/style.json"},l=r(s);t.exports={styleValueDflt:"basic",stylesMap:s,styleValuesMap:l,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",missingStyleErrorMsg:["No valid maplibre style found, please set `map.style` to one of:",l.join(", "),"or use a tile service."].join("\n"),mapOnErrorMsg:"Map error."}}}),fb=m({"src/plots/map/layout_attributes.js"(e,t){var r=ct(),n=W().defaultLine,i=Ma().attributes,a=j(),o=kn().textposition,s=De().overrideAll,l=vt().templatedArray,c=hb(),u=a({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});u.family.dflt="Open Sans Regular, Arial Unicode MS Regular",(t.exports=s({_arrayAttrRegexps:[r.counterRegex("map",".layers",!0)],domain:i({name:"map"}),style:{valType:"any",values:c.styleValuesMap,dflt:c.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:l("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:n},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:n}},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:u,textposition:r.extendFlat({},o,{arrayOk:!1})}})},"plot","from-root")).uirevision={valType:"any",editType:"none"}}}),pb=m({"src/traces/scattermap/attributes.js"(e,t){var{hovertemplateAttrs:r,texttemplateAttrs:n,templatefallbackAttrs:i}=Fe(),a=Tn(),o=sg(),s=kn(),l=fb(),c=q(),u=zt(),h=B().extendFlat,f=De().overrideAll,p=fb(),d=o.line,m=o.marker;t.exports=f({lon:o.lon,lat:o.lat,cluster:{enabled:{valType:"boolean"},maxzoom:h({},p.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:h({},m.opacity,{dflt:1})},mode:h({},s.mode,{dflt:"markers"}),text:h({},s.text,{}),texttemplate:n({editType:"plot"},{keys:["lat","lon","text"]}),texttemplatefallback:i({editType:"plot"}),hovertext:h({},s.hovertext,{}),line:{color:d.color,width:d.width},connectgaps:s.connectgaps,marker:h({symbol:{valType:"string",dflt:"circle",arrayOk:!0},angle:{valType:"number",dflt:"auto",arrayOk:!0},allowoverlap:{valType:"boolean",dflt:!1},opacity:m.opacity,size:m.size,sizeref:m.sizeref,sizemin:m.sizemin,sizemode:m.sizemode},u("marker")),fill:o.fill,fillcolor:a(),textfont:l.layers.symbol.textfont,textposition:l.layers.symbol.textposition,below:{valType:"string"},selected:{marker:s.selected.marker},unselected:{marker:s.unselected.marker},hoverinfo:h({},c.hoverinfo,{flags:["lon","lat","text","name"]}),hovertemplate:r(),hovertemplatefallback:i()},"calc","nested")}}),db=m({"src/traces/scattermap/constants.js"(e,t){var r=["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"];t.exports={isSupportedFont:function(e){return-1!==r.indexOf(e)}}}}),mb=m({"src/traces/scattermap/defaults.js"(e,t){var r=ct(),n=Xt(),i=Yn(),a=Xn(),o=Kn(),s=Jn(),l=pb(),c=db().isSupportedFont;t.exports=function(e,t,u,h){function f(n,i){return r.coerce(e,t,l,n,i)}function p(n,i){return r.coerce2(e,t,l,n,i)}var d=function(e,t,r){var n=r("lon")||[],i=r("lat")||[],a=Math.min(n.length,i.length);return t._length=a,a}(0,t,f);if(d){if(f("text"),f("texttemplate"),f("texttemplatefallback"),f("hovertext"),f("hovertemplate"),f("hovertemplatefallback"),f("mode"),f("below"),n.hasMarkers(t)){i(e,t,u,h,f,{noLine:!0,noAngle:!0}),f("marker.allowoverlap"),f("marker.angle");var m=t.marker;"circle"!==m.symbol&&(r.isArrayOrTypedArray(m.size)&&(m.size=m.size[0]),r.isArrayOrTypedArray(m.color)&&(m.color=m.color[0]))}n.hasLines(t)&&(a(e,t,u,h,f,{noDash:!0}),f("connectgaps"));var g=p("cluster.maxzoom"),y=p("cluster.step"),v=p("cluster.color",t.marker&&t.marker.color||u),x=p("cluster.size"),_=p("cluster.opacity");if(f("cluster.enabled",!1!==g||!1!==y||!1!==v||!1!==x||!1!==_)||n.hasText(t)){var b=h.font.family;o(e,t,h,f,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:c(b)?b:"Open Sans Regular",weight:h.font.weight,style:h.font.style,size:h.font.size,color:h.font.color}})}f("fill"),"none"!==t.fill&&s(e,t,u,f),r.coerceSelectionMarkerOpacity(t,f)}else t.visible=!1}}}),gb=m({"src/traces/scattermap/format_labels.js"(e,t){var r=ar();t.exports=function(e,t,n){var i={},a=n[t.subplot]._subplot.mockAxis,o=e.lonlat;return i.lonLabel=r.tickText(a,a.c2l(o[0]),!0).text,i.latLabel=r.tickText(a,a.c2l(o[1]),!0).text,i}}}),yb=m({"src/plots/map/convert_text_opts.js"(e,t){var r=ct();t.exports=function(e,t){var n=e.split(" "),i=n[0],a=n[1],o=r.isArrayOrTypedArray(t)?r.mean(t):t,s=.5+o/100,l=1.5+o/100,c=["",""],u=[0,0];switch(i){case"top":c[0]="top",u[1]=-l;break;case"bottom":c[0]="bottom",u[1]=l}switch(a){case"left":c[1]="right",u[0]=-s;break;case"right":c[1]="left",u[0]=s}return{anchor:c[0]&&c[1]?c.join("-"):c[0]?c[0]:c[1]?c[1]:"center",offset:u}}}}),vb=m({"src/traces/scattermap/convert.js"(e,t){var r=M(),n=ct(),i=S().BADNUM,a=dg(),o=Yt(),s=er(),l=$t(),c=Xt(),u=db().isSupportedFont,h=yb(),f=Kt().appendArrayPointValue,p=Et().NEWLINES,d=Et().BR_TAG_ALL;function m(e){return{type:e,geojson:a.makeBlank(),layout:{visibility:"none"},filter:null,paint:{}}}function g(e,t){return n.isArrayOrTypedArray(e)?t?function(t){return r(e[t])?+e[t]:0}:function(t){return e[t]}:e?function(){return e}:y}function y(){return""}function v(e){return e[0]===i}function x(e,t){var r;if(n.isArrayOrTypedArray(e)&&n.isArrayOrTypedArray(t)){r=["step",["get","point_count"],e[0]];for(var i=1;i850?" Black":i>750?" Extra Bold":i>650?" Bold":i>550?" Semi Bold":i>450?" Medium":i>350?" Regular":i>250?" Light":i>150?" Extra Light":" Thin"):"Open Sans"===a.slice(0,2).join(" ")?(s="Open Sans",s+=i>750?" Extrabold":i>650?" Bold":i>550?" Semibold":i>350?" Regular":" Light"):"Klokantech Noto Sans"===a.slice(0,3).join(" ")&&(s="Klokantech Noto Sans","CJK"===a[3]&&(s+=" CJK"),s+=i>500?" Bold":" Regular")),o&&(s+=" Italic"),"Open Sans Regular Italic"===s?s="Open Sans Italic":"Open Sans Regular Bold"===s?s="Open Sans Bold":"Open Sans Regular Bold Italic"===s?s="Open Sans Bold Italic":"Klokantech Noto Sans Regular Italic"===s&&(s="Klokantech Noto Sans Italic"),u(s)||(s=r),s.split(", ")}t.exports=function(e,t){var i,u=t[0].trace,b=!0===u.visible&&0!==u._length,w="none"!==u.fill,T=c.hasLines(u),k=c.hasMarkers(u),A=c.hasText(u),M=k&&"circle"===u.marker.symbol,S=k&&"circle"!==u.marker.symbol,E=u.cluster&&u.cluster.enabled,C=m("fill"),I=m("line"),L=m("circle"),P=m("symbol"),z={fill:C,line:I,circle:L,symbol:P};if(!b)return z;if((w||T)&&(i=a.calcTraceToLineCoords(t)),w&&(C.geojson=a.makePolygon(i),C.layout.visibility="visible",n.extendFlat(C.paint,{"fill-color":u.fillcolor})),T&&(I.geojson=a.makeLine(i),I.layout.visibility="visible",n.extendFlat(I.paint,{"line-width":u.line.width,"line-color":u.line.color,"line-opacity":u.opacity})),M){var D=function(e){var t,i,a,c,u=e[0].trace,h=u.marker,f=u.selectedpoints,p=n.isArrayOrTypedArray(h.color),d=n.isArrayOrTypedArray(h.size),m=n.isArrayOrTypedArray(h.opacity);function g(e){return u.opacity*e}p&&(i=o.hasColorscale(u,"marker")?o.makeColorScaleFuncFromTrace(h):n.identity),d&&(a=l(u)),m&&(c=function(e){return g(r(e)?+n.constrain(e,0,1):0)});var y,x=[];for(t=0;t=0;r--){var n=t[r];i.removeLayer(u.layerIds[n])}e||i.removeSource(u.sourceIds.circle)}(e):function(e){for(var t=a.nonCluster,r=t.length-1;r>=0;r--){var n=t[r];i.removeLayer(u.layerIds[n]),e||i.removeSource(u.sourceIds[n])}}(e)}function f(e){l?function(e){e||u.addSource("circle",o.circle,t.cluster);for(var r=a.cluster,n=0;n=0;r--){var n=t[r];e.removeLayer(this.layerIds[n]),e.removeSource(this.sourceIds[n])}},t.exports=function(e,t){var r,i,s,l=t[0].trace,c=l.cluster&&l.cluster.enabled,u=!0!==l.visible,h=new o(e,l.uid,c,u),f=n(e.gd,t),p=h.below=e.belowLookup["trace-"+l.uid];if(c)for(h.addSource("circle",f.circle,l.cluster),r=0;r")}function u(e){return e+"°"}}t.exports={hoverPoints:function(e,t,a){var c=e.cd,u=c[0].trace,h=e.xa,f=e.ya,p=e.subplot,d=[],m=s+u.uid+"-circle",g=u.cluster&&u.cluster.enabled;if(g){var y=p.map.queryRenderedFeatures(null,{layers:[m]});d=y.map((function(e){return e.id}))}var v=360*(t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360)),x=t-v;if(r.getClosest(c,(function(e){var t=e.lonlat;if(t[0]===o||g&&-1===d.indexOf(e.i+1))return 1/0;var r=n.modHalf(t[0],360),i=t[1],s=p.project([r,i]),l=s.x-h.c2p([x,i]),c=s.y-f.c2p([r,a]),u=Math.max(3,e.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-u,1-3/u)}),e),!1!==e.index){var _=c[e.index],b=_.lonlat,w=[n.modHalf(b[0],360)+v,b[1]],T=h.c2p(w),k=f.c2p(w),A=_.mrc||1;e.x0=T-A,e.x1=T+A,e.y0=k-A,e.y1=k+A;var M={};M[u.subplot]={_subplot:p};var S=u._module.formatLabels(_,u,M);return e.lonLabel=S.lonLabel,e.latLabel=S.latLabel,e.color=i(u,_),e.extraText=l(u,_,c[0].t.labels),e.hovertemplate=u.hovertemplate,[e]}},getExtraText:l}}}),bb=m({"src/traces/scattermap/event_data.js"(e,t){t.exports=function(e,t){return e.lon=t.lon,e.lat=t.lat,e}}}),wb=m({"src/traces/scattermap/select.js"(e,t){var r=ct(),n=Xt(),i=S().BADNUM;t.exports=function(e,t){var a,o=e.cd,s=e.xaxis,l=e.yaxis,c=[],u=o[0].trace;if(!n.hasMarkers(u))return[];if(!1===t)for(a=0;a1)return 1;for(var r=e,n=0;n<8;n++){var i=this.sampleCurveX(r)-e;if(Math.abs(i)i?o=r:s=r,r=.5*(s-o)+o;return r},solve:function(e,t){return this.sampleCurveY(this.solveCurveX(e,t))}};var l=r(o);let c,u;function h(){return null==c&&(c=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof createImageBitmap),c}function d(){if(null==u&&(u=!1,h())){let e=new OffscreenCanvas(5,5).getContext("2d",{willReadFrequently:!0});if(e){for(let t=0;t<25;t++){let r=4*t;e.fillStyle=`rgb(${r},${r+1},${r+2})`,e.fillRect(t%5,Math.floor(t/5),1,1)}let t=e.getImageData(0,0,5,5).data;for(let e=0;e<100;e++)if(e%4!=3&&t[e]!==e){u=!0;break}}}return u||!1}function m(e,t,r,n){let i=new l(e,t,r,n);return e=>i.solve(e)}let g=m(.25,.1,.25,1);function y(e,t,r){return Math.min(r,Math.max(t,e))}function v(e,t,r){let n=r-t,i=((e-t)%n+n)%n+t;return i===t?r:i}function x(e,...t){for(let r of t)for(let t in r)e[t]=r[t];return e}let _=1;function b(e,t,r){let n={};for(let r in e)n[r]=t.call(this,e[r],r,e);return n}function w(e,t,r){let n={};for(let r in e)t.call(this,e[r],r,e)&&(n[r]=e[r]);return n}function T(e){return Array.isArray(e)?e.map(T):"object"==typeof e&&e?b(e,T):e}let k={};function A(e){k[e]||(typeof console<"u"&&console.warn(e),k[e]=!0)}function M(e,t,r){return(r.y-e.y)*(t.x-e.x)>(t.y-e.y)*(r.x-e.x)}function S(e){return typeof WorkerGlobalScope<"u"&&void 0!==e&&e instanceof WorkerGlobalScope}let E=null;function C(e){return typeof ImageBitmap<"u"&&e instanceof ImageBitmap}let I="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";function L(e,r,n,i,a){return t(this,void 0,void 0,(function*(){if(typeof VideoFrame>"u")throw new Error("VideoFrame not supported");let t=new VideoFrame(e,{timestamp:0});try{let o=t?.format;if(!o||!o.startsWith("BGR")&&!o.startsWith("RGB"))throw new Error(`Unrecognized format ${o}`);let s=o.startsWith("BGR"),l=new Uint8ClampedArray(i*a*4);if(yield t.copyTo(l,function(e,t,r,n,i){let a=4*Math.max(-t,0),o=(Math.max(0,r)-r)*n*4+a,s=4*n,l=Math.max(0,t),c=Math.max(0,r);return{rect:{x:l,y:c,width:Math.min(e.width,t+n)-l,height:Math.min(e.height,r+i)-c},layout:[{offset:o,stride:s}]}}(e,r,n,i,a)),s)for(let e=0;eS(self)?self.worker&&self.worker.referrer:("blob:"===window.location.protocol?window.parent:window).location.href,U=function(e,r){if(/:\/\//.test(e.url)&&!/^https?:|^file:/.test(e.url)){let t=F(e.url);if(t)return t(e,r);if(S(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:e,targetMapId:B},r)}if(!(/^file:/.test(n=e.url)||/^file:/.test(N())&&!/^\w+:/.test(n))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return function(e,r){return t(this,void 0,void 0,(function*(){let t=new Request(e.url,{method:e.method||"GET",body:e.body,credentials:e.credentials,headers:e.headers,cache:e.cache,referrer:N(),signal:r.signal});"json"!==e.type||t.headers.has("Accept")||t.headers.set("Accept","application/json");let n,i=yield fetch(t);if(!i.ok){let t=yield i.blob();throw new j(i.status,i.statusText,e.url,t)}n="arrayBuffer"===e.type||"image"===e.type?i.arrayBuffer():"json"===e.type?i.json():i.text();let a=yield n;if(r.signal.aborted)throw O();return{data:a,cacheControl:i.headers.get("Cache-Control"),expires:i.headers.get("Expires")}}))}(e,r);if(S(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:e,mustQueue:!0,targetMapId:B},r)}var n,i,a;return i=e,a=r,new Promise(((e,t)=>{var r;let n=new XMLHttpRequest;n.open(i.method||"GET",i.url,!0),"arrayBuffer"!==i.type&&"image"!==i.type||(n.responseType="arraybuffer");for(let e in i.headers)n.setRequestHeader(e,i.headers[e]);"json"===i.type&&(n.responseType="text",!(null===(r=i.headers)||void 0===r)&&r.Accept||n.setRequestHeader("Accept","application/json")),n.withCredentials="include"===i.credentials,n.onerror=()=>{t(new Error(n.statusText))},n.onload=()=>{if(!a.signal.aborted)if((n.status>=200&&n.status<300||0===n.status)&&null!==n.response){let r=n.response;if("json"===i.type)try{r=JSON.parse(n.response)}catch(e){return void t(e)}e({data:r,cacheControl:n.getResponseHeader("Cache-Control"),expires:n.getResponseHeader("Expires")})}else{let e=new Blob([n.response],{type:n.getResponseHeader("Content-Type")});t(new j(n.status,n.statusText,i.url,e))}},a.signal.addEventListener("abort",(()=>{n.abort(),t(O())})),n.send(i.body)}))};function V(e){if(!e||e.indexOf("://")<=0||0===e.indexOf("data:image/")||0===e.indexOf("blob:"))return!0;let t=new URL(e),r=window.location;return t.protocol===r.protocol&&t.host===r.host}function q(e,t,r){r[e]&&-1!==r[e].indexOf(t)||(r[e]=r[e]||[],r[e].push(t))}function H(e,t,r){if(r&&r[e]){let n=r[e].indexOf(t);-1!==n&&r[e].splice(n,1)}}class G{constructor(e,t={}){x(this,t),this.type=e}}class W extends G{constructor(e,t={}){super("error",x({error:e},t))}}class Z{on(e,t){return this._listeners=this._listeners||{},q(e,t,this._listeners),this}off(e,t){return H(e,t,this._listeners),H(e,t,this._oneTimeListeners),this}once(e,t){return t?(this._oneTimeListeners=this._oneTimeListeners||{},q(e,t,this._oneTimeListeners),this):new Promise((t=>this.once(e,t)))}fire(e,t){"string"==typeof e&&(e=new G(e,t||{}));let r=e.type;if(this.listens(r)){e.target=this;let t=this._listeners&&this._listeners[r]?this._listeners[r].slice():[];for(let r of t)r.call(this,e);let n=this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[];for(let t of n)H(r,t,this._oneTimeListeners),t.call(this,e);let i=this._eventedParent;i&&(x(e,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),i.fire(e))}else e instanceof W&&console.error(e.error);return this}listens(e){return this._listeners&&this._listeners[e]&&this._listeners[e].length>0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e)}setEventedParent(e,t){return this._eventedParent=e,this._eventedParentData=t,this}}var Y={$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 X=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function $(e,t){let r={};for(let t in e)"ref"!==t&&(r[t]=e[t]);return X.forEach((e=>{e in t&&(r[e]=t[e])})),r}function K(e,t){if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let r=0;r`:"value"===e.itemType.kind?"array":`array<${t}>`}return e.kind}let ke=[ue,he,fe,pe,de,ve,me,we(ge),xe,_e,be];function Ae(e,t){if("error"===t.kind)return null;if("array"===e.kind){if("array"===t.kind&&(0===t.N&&"value"===t.itemType.kind||!Ae(e.itemType,t.itemType))&&("number"!=typeof e.N||e.N===t.N))return null}else{if(e.kind===t.kind)return null;if("value"===e.kind)for(let e of ke)if(!Ae(e,t))return null}return`Expected ${Te(e)} but found ${Te(t)} instead.`}function Me(e,t){return t.some((t=>t.kind===e.kind))}function Se(e,t){return t.some((t=>"null"===t?null===e:"array"===t?Array.isArray(e):"object"===t?e&&!Array.isArray(e)&&"object"==typeof e:t===typeof e))}function Ee(e,t){return"array"===e.kind&&"array"===t.kind?e.itemType.kind===t.itemType.kind&&"number"==typeof e.N:e.kind===t.kind}let Ce=.96422,Ie=.82521,Le=4/29,Pe=6/29,ze=3*Pe*Pe,De=Pe*Pe*Pe,Oe=Math.PI/180,Re=180/Math.PI;function Fe(e){return(e%=360)<0&&(e+=360),e}function Be([e,t,r,n]){let i,a,o=Ne((.2225045*(e=je(e))+.7168786*(t=je(t))+.0606169*(r=je(r)))/1);e===t&&t===r?i=a=o:(i=Ne((.4360747*e+.3850649*t+.1430804*r)/Ce),a=Ne((.0139322*e+.0971045*t+.7141733*r)/Ie));let s=116*o-16;return[s<0?0:s,500*(i-o),200*(o-a),n]}function je(e){return e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function Ne(e){return e>De?Math.pow(e,1/3):e/ze+Le}function Ue([e,t,r,n]){let i=(e+16)/116,a=isNaN(t)?i:i+t/500,o=isNaN(r)?i:i-r/200;return i=1*qe(i),a=Ce*qe(a),o=Ie*qe(o),[Ve(3.1338561*a-1.6168667*i-.4906146*o),Ve(-.9787684*a+1.9161415*i+.033454*o),Ve(.0719453*a-.2289914*i+1.4052427*o),n]}function Ve(e){return(e=e<=.00304?12.92*e:1.055*Math.pow(e,1/2.4)-.055)<0?0:e>1?1:e}function qe(e){return e>Pe?e*e*e:ze*(e-Le)}function He(e){return parseInt(e.padEnd(2,e),16)/255}function Ge(e,t){return We(t?e/100:e,0,1)}function We(e,t,r){return Math.min(Math.max(t,e),r)}function Ze(e){return!e.some(Number.isNaN)}let Ye={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 Xe{constructor(e,t,r,n=1,i=!0){this.r=e,this.g=t,this.b=r,this.a=n,i||(this.r*=n,this.g*=n,this.b*=n,n||this.overwriteGetter("rgb",[e,t,r,n]))}static parse(e){if(e instanceof Xe)return e;if("string"!=typeof e)return;let t=function(e){if("transparent"===(e=e.toLowerCase().trim()))return[0,0,0,0];let t=Ye[e];if(t){let[e,r,n]=t;return[e/255,r/255,n/255,1]}if(e.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(e)){let t=e.length<6?1:2,r=1;return[He(e.slice(r,r+=t)),He(e.slice(r,r+=t)),He(e.slice(r,r+=t)),He(e.slice(r,r+t)||"ff")]}if(e.startsWith("rgb")){let t=e.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(t){let[e,r,n,i,a,o,s,l,c,u,h,f]=t,p=[i||" ",s||" ",u].join("");if(" "===p||" /"===p||",,"===p||",,,"===p){let e=[n,o,c].join(""),t="%%%"===e?100:""===e?255:0;if(t){let e=[We(+r/t,0,1),We(+a/t,0,1),We(+l/t,0,1),h?Ge(+h,f):1];if(Ze(e))return e}}return}}let r=e.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(r){let[e,t,n,i,a,o,s,l,c]=r,u=[n||" ",a||" ",s].join("");if(" "===u||" /"===u||",,"===u||",,,"===u){let e=[+t,We(+i,0,100),We(+o,0,100),l?Ge(+l,c):1];if(Ze(e))return function([e,t,r,n]){function i(n){let i=(n+e/30)%12,a=t*Math.min(r,1-r);return r-a*Math.max(-1,Math.min(i-3,9-i,1))}return e=Fe(e),t/=100,r/=100,[i(0),i(8),i(4),n]}(e)}}}(e);return t?new Xe(...t,!1):void 0}get rgb(){let{r:e,g:t,b:r,a:n}=this,i=n||1/0;return this.overwriteGetter("rgb",[e/i,t/i,r/i,n])}get hcl(){return this.overwriteGetter("hcl",function(e){let[t,r,n,i]=Be(e),a=Math.sqrt(r*r+n*n);return[Math.round(1e4*a)?Fe(Math.atan2(n,r)*Re):NaN,a,t,i]}(this.rgb))}get lab(){return this.overwriteGetter("lab",Be(this.rgb))}overwriteGetter(e,t){return Object.defineProperty(this,e,{value:t}),t}toString(){let[e,t,r,n]=this.rgb;return`rgba(${[e,t,r].map((e=>Math.round(255*e))).join(",")},${n})`}}Xe.black=new Xe(0,0,0,1),Xe.white=new Xe(1,1,1,1),Xe.transparent=new Xe(0,0,0,0),Xe.red=new Xe(1,0,0,1);class $e{constructor(e,t,r){this.sensitivity=e?t?"variant":"case":t?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(e,t){return this.collator.compare(e,t)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Ke{constructor(e,t,r,n,i){this.text=e,this.image=t,this.scale=r,this.fontStack=n,this.textColor=i}}class Je{constructor(e){this.sections=e}static fromString(e){return new Je([new Ke(e,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some((e=>0!==e.text.length||e.image&&0!==e.image.name.length))}static factory(e){return e instanceof Je?e:Je.fromString(e)}toString(){return 0===this.sections.length?"":this.sections.map((e=>e.text)).join("")}}class Qe{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof Qe)return e;if("number"==typeof e)return new Qe([e,e,e,e]);if(Array.isArray(e)&&!(e.length<1||e.length>4)){for(let t of e)if("number"!=typeof t)return;switch(e.length){case 1:e=[e[0],e[0],e[0],e[0]];break;case 2:e=[e[0],e[1],e[0],e[1]];break;case 3:e=[e[0],e[1],e[2],e[1]]}return new Qe(e)}}toString(){return JSON.stringify(this.values)}}let et=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);class tt{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof tt)return e;if(Array.isArray(e)&&!(e.length<1)&&e.length%2==0){for(let t=0;t=0&&e<=255&&"number"==typeof t&&t>=0&&t<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:`Invalid rgba value [${[e,t,r,n].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof n?[e,t,r,n]:[e,t,r]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function it(e){if(null===e||"string"==typeof e||"boolean"==typeof e||"number"==typeof e||e instanceof Xe||e instanceof $e||e instanceof Je||e instanceof Qe||e instanceof tt||e instanceof rt)return!0;if(Array.isArray(e)){for(let t of e)if(!it(t))return!1;return!0}if("object"==typeof e){for(let t in e)if(!it(e[t]))return!1;return!0}return!1}function at(e){if(null===e)return ue;if("string"==typeof e)return fe;if("boolean"==typeof e)return pe;if("number"==typeof e)return he;if(e instanceof Xe)return de;if(e instanceof $e)return ye;if(e instanceof Je)return ve;if(e instanceof Qe)return xe;if(e instanceof tt)return be;if(e instanceof rt)return _e;if(Array.isArray(e)){let t,r=e.length;for(let r of e){let e=at(r);if(t){if(t===e)continue;t=ge;break}t=e}return we(t||ge,r)}return me}function ot(e){let t=typeof e;return null===e?"":"string"===t||"number"===t||"boolean"===t?String(e):e instanceof Xe||e instanceof Je||e instanceof Qe||e instanceof tt||e instanceof rt?e.toString():JSON.stringify(e)}class st{constructor(e,t){this.type=e,this.value=t}static parse(e,t){if(2!==e.length)return t.error(`'literal' expression requires exactly one argument, but found ${e.length-1} instead.`);if(!it(e[1]))return t.error("invalid value");let r=e[1],n=at(r),i=t.expectedType;return"array"!==n.kind||0!==n.N||!i||"array"!==i.kind||"number"==typeof i.N&&0!==i.N||(n=i),new st(n,r)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class lt{constructor(e){this.name="ExpressionEvaluationError",this.message=e}toJSON(){return this.message}}let ct={string:fe,number:he,boolean:pe,object:me};class ut{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");let r,n=1,i=e[0];if("array"===i){let i,a;if(e.length>2){let r=e[1];if("string"!=typeof r||!(r in ct)||"object"===r)return t.error('The item type argument of "array" must be one of string, number, boolean',1);i=ct[r],n++}else i=ge;if(e.length>3){if(null!==e[2]&&("number"!=typeof e[2]||e[2]<0||e[2]!==Math.floor(e[2])))return t.error('The length argument to "array" must be a positive integer literal',2);a=e[2],n++}r=we(i,a)}else{if(!ct[i])throw new Error(`Types doesn't contain name = ${i}`);r=ct[i]}let a=[];for(;ne.outputDefined()))}}let ht={"to-boolean":pe,"to-color":de,"to-number":he,"to-string":fe};class ft{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");let r=e[0];if(!ht[r])throw new Error(`Can't parse ${r} as it is not part of the known types`);if(("to-boolean"===r||"to-string"===r)&&2!==e.length)return t.error("Expected one argument.");let n=ht[r],i=[];for(let r=1;r4?`Invalid rbga value ${JSON.stringify(t)}: expected an array containing either three or four numeric values.`:nt(t[0],t[1],t[2],t[3]),!r))return new Xe(t[0]/255,t[1]/255,t[2]/255,t[3])}throw new lt(r||`Could not parse color from value '${"string"==typeof t?t:JSON.stringify(t)}'`)}case"padding":{let t;for(let r of this.args){t=r.evaluate(e);let n=Qe.parse(t);if(n)return n}throw new lt(`Could not parse padding from value '${"string"==typeof t?t:JSON.stringify(t)}'`)}case"variableAnchorOffsetCollection":{let t;for(let r of this.args){t=r.evaluate(e);let n=tt.parse(t);if(n)return n}throw new lt(`Could not parse variableAnchorOffsetCollection from value '${"string"==typeof t?t:JSON.stringify(t)}'`)}case"number":{let t=null;for(let r of this.args){if(t=r.evaluate(e),null===t)return 0;let n=Number(t);if(!isNaN(n))return n}throw new lt(`Could not convert ${JSON.stringify(t)} to number.`)}case"formatted":return Je.fromString(ot(this.args[0].evaluate(e)));case"resolvedImage":return rt.fromString(ot(this.args[0].evaluate(e)));default:return ot(this.args[0].evaluate(e))}}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every((e=>e.outputDefined()))}}let pt=["Unknown","Point","LineString","Polygon"];class dt{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?"number"==typeof this.feature.type?pt[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(e){let t=this._parseColorCache[e];return t||(t=this._parseColorCache[e]=Xe.parse(e)),t}}class mt{constructor(e,t,r=[],n,i=new ce,a=[]){this.registry=e,this.path=r,this.key=r.map((e=>`[${e}]`)).join(""),this.scope=i,this.errors=a,this.expectedType=n,this._isConstant=t}parse(e,t,r,n,i={}){return t?this.concat(t,r,n)._parse(e,i):this._parse(e,i)}_parse(e,t){function r(e,t,r){return"assert"===r?new ut(t,[e]):"coerce"===r?new ft(t,[e]):e}if(null!==e&&"string"!=typeof e&&"boolean"!=typeof e&&"number"!=typeof e||(e=["literal",e]),Array.isArray(e)){if(0===e.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');let n=e[0];if("string"!=typeof n)return this.error(`Expression name must be a string, but found ${typeof n} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;let i=this.registry[n];if(i){let n=i.parse(e,this);if(!n)return null;if(this.expectedType){let e=this.expectedType,i=n.type;if("string"!==e.kind&&"number"!==e.kind&&"boolean"!==e.kind&&"object"!==e.kind&&"array"!==e.kind||"value"!==i.kind)if("color"!==e.kind&&"formatted"!==e.kind&&"resolvedImage"!==e.kind||"value"!==i.kind&&"string"!==i.kind)if("padding"!==e.kind||"value"!==i.kind&&"number"!==i.kind&&"array"!==i.kind)if("variableAnchorOffsetCollection"!==e.kind||"value"!==i.kind&&"array"!==i.kind){if(this.checkSubtype(e,i))return null}else n=r(n,e,t.typeAnnotation||"coerce");else n=r(n,e,t.typeAnnotation||"coerce");else n=r(n,e,t.typeAnnotation||"coerce");else n=r(n,e,t.typeAnnotation||"assert")}if(!(n instanceof st)&&"resolvedImage"!==n.type.kind&&this._isConstant(n)){let e=new dt;try{n=new st(n.type,n.evaluate(e))}catch(e){return this.error(e.message),null}}return n}return this.error(`Unknown expression "${n}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(void 0===e?"'undefined' value invalid. Use null instead.":"object"==typeof e?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof e} instead.`)}concat(e,t,r){let n="number"==typeof e?this.path.concat(e):this.path,i=r?this.scope.concat(r):this.scope;return new mt(this.registry,this._isConstant,n,t||null,i,this.errors)}error(e,...t){let r=`${this.key}${t.map((e=>`[${e}]`)).join("")}`;this.errors.push(new le(r,e))}checkSubtype(e,t){let r=Ae(e,t);return r&&this.error(r),r}}class gt{constructor(e,t){this.type=t.type,this.bindings=[].concat(e),this.result=t}evaluate(e){return this.result.evaluate(e)}eachChild(e){for(let t of this.bindings)e(t[1]);e(this.result)}static parse(e,t){if(e.length<4)return t.error(`Expected at least 3 arguments, but found ${e.length-1} instead.`);let r=[];for(let n=1;n=r.length)throw new lt(`Array index out of bounds: ${t} > ${r.length-1}.`);if(t!==Math.floor(t))throw new lt(`Array index must be an integer, but found ${t} instead.`);return r[t]}eachChild(e){e(this.index),e(this.input)}outputDefined(){return!1}}class xt{constructor(e,t){this.type=pe,this.needle=e,this.haystack=t}static parse(e,t){if(3!==e.length)return t.error(`Expected 2 arguments, but found ${e.length-1} instead.`);let r=t.parse(e[1],1,ge),n=t.parse(e[2],2,ge);return r&&n?Me(r.type,[pe,fe,he,ue,ge])?new xt(r,n):t.error(`Expected first argument to be of type boolean, string, number or null, but found ${Te(r.type)} instead`):null}evaluate(e){let t=this.needle.evaluate(e),r=this.haystack.evaluate(e);if(!r)return!1;if(!Se(t,["boolean","string","number","null"]))throw new lt(`Expected first argument to be of type boolean, string, number or null, but found ${Te(at(t))} instead.`);if(!Se(r,["string","array"]))throw new lt(`Expected second argument to be of type array or string, but found ${Te(at(r))} instead.`);return r.indexOf(t)>=0}eachChild(e){e(this.needle),e(this.haystack)}outputDefined(){return!0}}class _t{constructor(e,t,r){this.type=he,this.needle=e,this.haystack=t,this.fromIndex=r}static parse(e,t){if(e.length<=2||e.length>=5)return t.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);let r=t.parse(e[1],1,ge),n=t.parse(e[2],2,ge);if(!r||!n)return null;if(!Me(r.type,[pe,fe,he,ue,ge]))return t.error(`Expected first argument to be of type boolean, string, number or null, but found ${Te(r.type)} instead`);if(4===e.length){let i=t.parse(e[3],3,he);return i?new _t(r,n,i):null}return new _t(r,n)}evaluate(e){let t,r=this.needle.evaluate(e),n=this.haystack.evaluate(e);if(!Se(r,["boolean","string","number","null"]))throw new lt(`Expected first argument to be of type boolean, string, number or null, but found ${Te(at(r))} instead.`);if(this.fromIndex&&(t=this.fromIndex.evaluate(e)),Se(n,["string"])){let e=n.indexOf(r,t);return-1===e?-1:[...n.slice(0,e)].length}if(Se(n,["array"]))return n.indexOf(r,t);throw new lt(`Expected second argument to be of type array or string, but found ${Te(at(n))} instead.`)}eachChild(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)}outputDefined(){return!1}}class bt{constructor(e,t,r,n,i,a){this.inputType=e,this.type=t,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a}static parse(e,t){if(e.length<5)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if(e.length%2!=1)return t.error("Expected an even number of arguments.");let r,n;t.expectedType&&"value"!==t.expectedType.kind&&(n=t.expectedType);let i={},a=[];for(let o=2;oNumber.MAX_SAFE_INTEGER)return c.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if("number"==typeof e&&Math.floor(e)!==e)return c.error("Numeric branch labels must be integer values.");if(r){if(c.checkSubtype(r,at(e)))return null}else r=at(e);if(void 0!==i[String(e)])return c.error("Branch labels must be unique.");i[String(e)]=a.length}let u=t.parse(l,o,n);if(!u)return null;n=n||u.type,a.push(u)}let o=t.parse(e[1],1,ge);if(!o)return null;let s=t.parse(e[e.length-1],e.length-1,n);return s?"value"!==o.type.kind&&t.concat(1).checkSubtype(r,o.type)?null:new bt(r,n,o,i,a,s):null}evaluate(e){let t=this.input.evaluate(e);return(at(t)===this.inputType&&this.outputs[this.cases[t]]||this.otherwise).evaluate(e)}eachChild(e){e(this.input),this.outputs.forEach(e),e(this.otherwise)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))&&this.otherwise.outputDefined()}}class wt{constructor(e,t,r){this.type=e,this.branches=t,this.otherwise=r}static parse(e,t){if(e.length<4)return t.error(`Expected at least 3 arguments, but found only ${e.length-1}.`);if(e.length%2!=0)return t.error("Expected an odd number of arguments.");let r;t.expectedType&&"value"!==t.expectedType.kind&&(r=t.expectedType);let n=[];for(let i=1;it.outputDefined()))&&this.otherwise.outputDefined()}}class Tt{constructor(e,t,r,n){this.type=e,this.input=t,this.beginIndex=r,this.endIndex=n}static parse(e,t){if(e.length<=2||e.length>=5)return t.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);let r=t.parse(e[1],1,ge),n=t.parse(e[2],2,he);if(!r||!n)return null;if(!Me(r.type,[we(ge),fe,ge]))return t.error(`Expected first argument to be of type array or string, but found ${Te(r.type)} instead`);if(4===e.length){let i=t.parse(e[3],3,he);return i?new Tt(r.type,r,n,i):null}return new Tt(r.type,r,n)}evaluate(e){let t,r=this.input.evaluate(e),n=this.beginIndex.evaluate(e);if(this.endIndex&&(t=this.endIndex.evaluate(e)),Se(r,["string"]))return[...r].slice(n,t).join("");if(Se(r,["array"]))return r.slice(n,t);throw new lt(`Expected first argument to be of type array or string, but found ${Te(at(r))} instead.`)}eachChild(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)}outputDefined(){return!1}}function kt(e,t){let r,n,i=e.length-1,a=0,o=i,s=0;for(;a<=o;)if(s=Math.floor((a+o)/2),r=e[s],n=e[s+1],r<=t){if(s===i||tt))throw new lt("Input is not a number.");o=s-1}return 0}class At{constructor(e,t,r){this.type=e,this.input=t,this.labels=[],this.outputs=[];for(let[e,t]of r)this.labels.push(e),this.outputs.push(t)}static parse(e,t){if(e.length-1<4)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return t.error("Expected an even number of arguments.");let r=t.parse(e[1],1,he);if(!r)return null;let n=[],i=null;t.expectedType&&"value"!==t.expectedType.kind&&(i=t.expectedType);for(let r=1;r=a)return t.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',s);let c=t.parse(o,l,i);if(!c)return null;i=i||c.type,n.push([a,c])}return new At(i,r,n)}evaluate(e){let t=this.labels,r=this.outputs;if(1===t.length)return r[0].evaluate(e);let n=this.input.evaluate(e);if(n<=t[0])return r[0].evaluate(e);let i=t.length;return n>=t[i-1]?r[i-1].evaluate(e):r[kt(t,n)].evaluate(e)}eachChild(e){e(this.input);for(let t of this.outputs)e(t)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))}}var Mt=St;function St(e,t,r,n){this.cx=3*e,this.bx=3*(r-e)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*t,this.by=3*(n-t)-this.cy,this.ay=1-this.cy-this.by,this.p1x=e,this.p1y=t,this.p2x=r,this.p2y=n}St.prototype={sampleCurveX:function(e){return((this.ax*e+this.bx)*e+this.cx)*e},sampleCurveY:function(e){return((this.ay*e+this.by)*e+this.cy)*e},sampleCurveDerivativeX:function(e){return(3*this.ax*e+2*this.bx)*e+this.cx},solveCurveX:function(e,t){if(void 0===t&&(t=1e-6),e<0)return 0;if(e>1)return 1;for(var r=e,n=0;n<8;n++){var i=this.sampleCurveX(r)-e;if(Math.abs(i)i?o=r:s=r,r=.5*(s-o)+o;return r},solve:function(e,t){return this.sampleCurveY(this.solveCurveX(e,t))}};var Et,Ct=(Et=Mt)&&Et.__esModule&&Object.prototype.hasOwnProperty.call(Et,"default")?Et.default:Et;function It(e,t,r){return e+r*(t-e)}function Lt(e,t,r){return e.map(((e,n)=>It(e,t[n],r)))}let Pt={number:It,color:function(e,t,r,n="rgb"){switch(n){case"rgb":{let[n,i,a,o]=Lt(e.rgb,t.rgb,r);return new Xe(n,i,a,o,!1)}case"hcl":{let n,i,[a,o,s,l]=e.hcl,[c,u,h,f]=t.hcl;if(isNaN(a)||isNaN(c))isNaN(a)?isNaN(c)?n=NaN:(n=c,1!==s&&0!==s||(i=u)):(n=a,1!==h&&0!==h||(i=o));else{let e=c-a;c>a&&e>180?e-=360:c180&&(e+=360),n=a+r*e}let[p,d,m,g]=function([e,t,r,n]){return e=isNaN(e)?0:e*Oe,Ue([r,Math.cos(e)*t,Math.sin(e)*t,n])}([n,i??It(o,u,r),It(s,h,r),It(l,f,r)]);return new Xe(p,d,m,g,!1)}case"lab":{let[n,i,a,o]=Ue(Lt(e.lab,t.lab,r));return new Xe(n,i,a,o,!1)}}},array:Lt,padding:function(e,t,r){return new Qe(Lt(e.values,t.values,r))},variableAnchorOffsetCollection:function(e,t,r){let n=e.values,i=t.values;if(n.length!==i.length)throw new lt(`Cannot interpolate values of different length. from: ${e.toString()}, to: ${t.toString()}`);let a=[];for(let e=0;e"number"!=typeof e||e<0||e>1)))return t.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:e}}}if(e.length-1<4)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return t.error("Expected an even number of arguments.");if(i=t.parse(i,2,he),!i)return null;let o=[],s=null;"interpolate-hcl"===r||"interpolate-lab"===r?s=de:t.expectedType&&"value"!==t.expectedType.kind&&(s=t.expectedType);for(let e=0;e=r)return t.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',i);let c=t.parse(n,l,s);if(!c)return null;s=s||c.type,o.push([r,c])}return Ee(s,he)||Ee(s,de)||Ee(s,xe)||Ee(s,be)||Ee(s,we(he))?new zt(s,r,n,i,o):t.error(`Type ${Te(s)} is not interpolatable.`)}evaluate(e){let t=this.labels,r=this.outputs;if(1===t.length)return r[0].evaluate(e);let n=this.input.evaluate(e);if(n<=t[0])return r[0].evaluate(e);let i=t.length;if(n>=t[i-1])return r[i-1].evaluate(e);let a=kt(t,n),o=zt.interpolationFactor(this.interpolation,n,t[a],t[a+1]),s=r[a].evaluate(e),l=r[a+1].evaluate(e);switch(this.operator){case"interpolate":return Pt[this.type.kind](s,l,o);case"interpolate-hcl":return Pt.color(s,l,o,"hcl");case"interpolate-lab":return Pt.color(s,l,o,"lab")}}eachChild(e){e(this.input);for(let t of this.outputs)e(t)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))}}function Dt(e,t,r,n){let i=n-r,a=e-r;return 0===i?0:1===t?a/i:(Math.pow(t,a)-1)/(Math.pow(t,i)-1)}class Ot{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error("Expectected at least one argument.");let r=null,n=t.expectedType;n&&"value"!==n.kind&&(r=n);let i=[];for(let n of e.slice(1)){let e=t.parse(n,1+i.length,r,void 0,{typeAnnotation:"omit"});if(!e)return null;r=r||e.type,i.push(e)}if(!r)throw new Error("No output type");let a=n&&i.some((e=>Ae(n,e.type)));return new Ot(a?ge:r,i)}evaluate(e){let t,r=null,n=0;for(let i of this.args)if(n++,r=i.evaluate(e),r&&r instanceof rt&&!r.available&&(t||(t=r.name),r=null,n===this.args.length&&(r=t)),null!==r)break;return r}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every((e=>e.outputDefined()))}}function Rt(e,t){return"=="===e||"!="===e?"boolean"===t.kind||"string"===t.kind||"number"===t.kind||"null"===t.kind||"value"===t.kind:"string"===t.kind||"number"===t.kind||"value"===t.kind}function Ft(e,t,r,n){return 0===n.compare(t,r)}function Bt(e,t,r){let n="=="!==e&&"!="!==e;return class i{constructor(e,t,r){this.type=pe,this.lhs=e,this.rhs=t,this.collator=r,this.hasUntypedArgument="value"===e.type.kind||"value"===t.type.kind}static parse(e,t){if(3!==e.length&&4!==e.length)return t.error("Expected two or three arguments.");let r=e[0],a=t.parse(e[1],1,ge);if(!a)return null;if(!Rt(r,a.type))return t.concat(1).error(`"${r}" comparisons are not supported for type '${Te(a.type)}'.`);let o=t.parse(e[2],2,ge);if(!o)return null;if(!Rt(r,o.type))return t.concat(2).error(`"${r}" comparisons are not supported for type '${Te(o.type)}'.`);if(a.type.kind!==o.type.kind&&"value"!==a.type.kind&&"value"!==o.type.kind)return t.error(`Cannot compare types '${Te(a.type)}' and '${Te(o.type)}'.`);n&&("value"===a.type.kind&&"value"!==o.type.kind?a=new ut(o.type,[a]):"value"!==a.type.kind&&"value"===o.type.kind&&(o=new ut(a.type,[o])));let s=null;if(4===e.length){if("string"!==a.type.kind&&"string"!==o.type.kind&&"value"!==a.type.kind&&"value"!==o.type.kind)return t.error("Cannot use collator to compare non-string types.");if(s=t.parse(e[3],3,ye),!s)return null}return new i(a,o,s)}evaluate(i){let a=this.lhs.evaluate(i),o=this.rhs.evaluate(i);if(n&&this.hasUntypedArgument){let t=at(a),r=at(o);if(t.kind!==r.kind||"string"!==t.kind&&"number"!==t.kind)throw new lt(`Expected arguments for "${e}" to be (string, string) or (number, number), but found (${t.kind}, ${r.kind}) instead.`)}if(this.collator&&!n&&this.hasUntypedArgument){let e=at(a),r=at(o);if("string"!==e.kind||"string"!==r.kind)return t(i,a,o)}return this.collator?r(i,a,o,this.collator.evaluate(i)):t(i,a,o)}eachChild(e){e(this.lhs),e(this.rhs),this.collator&&e(this.collator)}outputDefined(){return!0}}}let jt=Bt("==",(function(e,t,r){return t===r}),Ft),Nt=Bt("!=",(function(e,t,r){return t!==r}),(function(e,t,r,n){return!Ft(0,t,r,n)})),Ut=Bt("<",(function(e,t,r){return t",(function(e,t,r){return t>r}),(function(e,t,r,n){return n.compare(t,r)>0})),qt=Bt("<=",(function(e,t,r){return t<=r}),(function(e,t,r,n){return n.compare(t,r)<=0})),Ht=Bt(">=",(function(e,t,r){return t>=r}),(function(e,t,r,n){return n.compare(t,r)>=0}));class Gt{constructor(e,t,r){this.type=ye,this.locale=r,this.caseSensitive=e,this.diacriticSensitive=t}static parse(e,t){if(2!==e.length)return t.error("Expected one argument.");let r=e[1];if("object"!=typeof r||Array.isArray(r))return t.error("Collator options argument must be an object.");let n=t.parse(void 0!==r["case-sensitive"]&&r["case-sensitive"],1,pe);if(!n)return null;let i=t.parse(void 0!==r["diacritic-sensitive"]&&r["diacritic-sensitive"],1,pe);if(!i)return null;let a=null;return r.locale&&(a=t.parse(r.locale,1,fe),!a)?null:new Gt(n,i,a)}evaluate(e){return new $e(this.caseSensitive.evaluate(e),this.diacriticSensitive.evaluate(e),this.locale?this.locale.evaluate(e):null)}eachChild(e){e(this.caseSensitive),e(this.diacriticSensitive),this.locale&&e(this.locale)}outputDefined(){return!1}}class Wt{constructor(e,t,r,n,i){this.type=fe,this.number=e,this.locale=t,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i}static parse(e,t){if(3!==e.length)return t.error("Expected two arguments.");let r=t.parse(e[1],1,he);if(!r)return null;let n=e[2];if("object"!=typeof n||Array.isArray(n))return t.error("NumberFormat options argument must be an object.");let i=null;if(n.locale&&(i=t.parse(n.locale,1,fe),!i))return null;let a=null;if(n.currency&&(a=t.parse(n.currency,1,fe),!a))return null;let o=null;if(n["min-fraction-digits"]&&(o=t.parse(n["min-fraction-digits"],1,he),!o))return null;let s=null;return n["max-fraction-digits"]&&(s=t.parse(n["max-fraction-digits"],1,he),!s)?null:new Wt(r,i,a,o,s)}evaluate(e){return new Intl.NumberFormat(this.locale?this.locale.evaluate(e):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(e):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(e):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(e):void 0}).format(this.number.evaluate(e))}eachChild(e){e(this.number),this.locale&&e(this.locale),this.currency&&e(this.currency),this.minFractionDigits&&e(this.minFractionDigits),this.maxFractionDigits&&e(this.maxFractionDigits)}outputDefined(){return!1}}class Zt{constructor(e){this.type=ve,this.sections=e}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");let r=e[1];if(!Array.isArray(r)&&"object"==typeof r)return t.error("First argument must be an image or text section.");let n=[],i=!1;for(let r=1;r<=e.length-1;++r){let a=e[r];if(i&&"object"==typeof a&&!Array.isArray(a)){i=!1;let e=null;if(a["font-scale"]&&(e=t.parse(a["font-scale"],1,he),!e))return null;let r=null;if(a["text-font"]&&(r=t.parse(a["text-font"],1,we(fe)),!r))return null;let o=null;if(a["text-color"]&&(o=t.parse(a["text-color"],1,de),!o))return null;let s=n[n.length-1];s.scale=e,s.font=r,s.textColor=o}else{let a=t.parse(e[r],1,ge);if(!a)return null;let o=a.type.kind;if("string"!==o&&"value"!==o&&"null"!==o&&"resolvedImage"!==o)return t.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");i=!0,n.push({content:a,scale:null,font:null,textColor:null})}}return new Zt(n)}evaluate(e){return new Je(this.sections.map((t=>{let r=t.content.evaluate(e);return at(r)===_e?new Ke("",r,null,null,null):new Ke(ot(r),null,t.scale?t.scale.evaluate(e):null,t.font?t.font.evaluate(e).join(","):null,t.textColor?t.textColor.evaluate(e):null)})))}eachChild(e){for(let t of this.sections)e(t.content),t.scale&&e(t.scale),t.font&&e(t.font),t.textColor&&e(t.textColor)}outputDefined(){return!1}}class Yt{constructor(e){this.type=_e,this.input=e}static parse(e,t){if(2!==e.length)return t.error("Expected two arguments.");let r=t.parse(e[1],1,fe);return r?new Yt(r):t.error("No image name provided.")}evaluate(e){let t=this.input.evaluate(e),r=rt.fromString(t);return r&&e.availableImages&&(r.available=e.availableImages.indexOf(t)>-1),r}eachChild(e){e(this.input)}outputDefined(){return!1}}class Xt{constructor(e){this.type=he,this.input=e}static parse(e,t){if(2!==e.length)return t.error(`Expected 1 argument, but found ${e.length-1} instead.`);let r=t.parse(e[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?t.error(`Expected argument of type string or array, but found ${Te(r.type)} instead.`):new Xt(r):null}evaluate(e){let t=this.input.evaluate(e);if("string"==typeof t)return[...t].length;if(Array.isArray(t))return t.length;throw new lt(`Expected value to be of type string or array, but found ${Te(at(t))} instead.`)}eachChild(e){e(this.input)}outputDefined(){return!1}}let $t=8192;function Kt(e,t){let r=(180+e[0])/360,n=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e[1]*Math.PI/360)))/360,i=Math.pow(2,t.z);return[Math.round(r*i*$t),Math.round(n*i*$t)]}function Jt(e,t){let r=Math.pow(2,t.z);return[(i=(e[0]/$t+t.x)/r,360*i-180),(n=(e[1]/$t+t.y)/r,360/Math.PI*Math.atan(Math.exp((180-360*n)*Math.PI/180))-90)];var n,i}function Qt(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.max(e[2],t[0]),e[3]=Math.max(e[3],t[1])}function er(e,t){return!(e[0]<=t[0]||e[2]>=t[2]||e[1]<=t[1]||e[3]>=t[3])}function tr(e,t,r){let n=e[0]-t[0],i=e[1]-t[1],a=e[0]-r[0],o=e[1]-r[1];return n*o-a*i==0&&n*a<=0&&i*o<=0}function rr(e,t,r,n){return(i=[n[0]-r[0],n[1]-r[1]])[0]*(a=[t[0]-e[0],t[1]-e[1]])[1]-i[1]*a[0]!=0&&!(!lr(e,t,r,n)||!lr(r,n,e,t));var i,a}function nr(e,t,r){for(let n of r)for(let r=0;r(i=e)[1]!=(o=s[t+1])[1]>i[1]&&i[0]<(o[0]-a[0])*(i[1]-a[1])/(o[1]-a[1])+a[0]&&(n=!n)}var i,a,o;return n}function ar(e,t){for(let r of t)if(ir(e,r))return!0;return!1}function or(e,t){for(let r of e)if(!ir(r,t))return!1;for(let r=0;r0&&s<0||o<0&&s>0}function cr(e,t,r){let n=[];for(let i=0;ir[2]){let t=.5*n,i=e[0]-r[0]>t?-n:r[0]-e[0]>t?n:0;0===i&&(i=e[0]-r[2]>t?-n:r[2]-e[0]>t?n:0),e[0]+=i}Qt(t,e)}function fr(e,t,r,n){let i=Math.pow(2,n.z)*$t,a=[n.x*$t,n.y*$t],o=[];for(let n of e)for(let e of n){let n=[e.x+a[0],e.y+a[1]];hr(n,t,r,i),o.push(n)}return o}function pr(e,t,r,n){let i=Math.pow(2,n.z)*$t,a=[n.x*$t,n.y*$t],o=[];for(let r of e){let e=[];for(let n of r){let r=[n.x+a[0],n.y+a[1]];Qt(t,r),e.push(r)}o.push(e)}if(t[2]-t[0]<=i/2){(s=t)[0]=s[1]=1/0,s[2]=s[3]=-1/0;for(let e of o)for(let n of e)hr(n,t,r,i)}var s;return o}class dr{constructor(e,t){this.type=pe,this.geojson=e,this.geometries=t}static parse(e,t){if(2!==e.length)return t.error(`'within' expression requires exactly one argument, but found ${e.length-1} instead.`);if(it(e[1])){let t=e[1];if("FeatureCollection"===t.type){let e=[];for(let r of t.features){let{type:t,coordinates:n}=r.geometry;"Polygon"===t&&e.push(n),"MultiPolygon"===t&&e.push(...n)}if(e.length)return new dr(t,{type:"MultiPolygon",coordinates:e})}else if("Feature"===t.type){let e=t.geometry.type;if("Polygon"===e||"MultiPolygon"===e)return new dr(t,t.geometry)}else if("Polygon"===t.type||"MultiPolygon"===t.type)return new dr(t,t)}return t.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(e){if(null!=e.geometry()&&null!=e.canonicalID()){if("Point"===e.geometryType())return function(e,t){let r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=e.canonicalID();if("Polygon"===t.type){let a=cr(t.coordinates,n,i),o=fr(e.geometry(),r,n,i);if(!er(r,n))return!1;for(let e of o)if(!ir(e,a))return!1}if("MultiPolygon"===t.type){let a=ur(t.coordinates,n,i),o=fr(e.geometry(),r,n,i);if(!er(r,n))return!1;for(let e of o)if(!ar(e,a))return!1}return!0}(e,this.geometries);if("LineString"===e.geometryType())return function(e,t){let r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=e.canonicalID();if("Polygon"===t.type){let a=cr(t.coordinates,n,i),o=pr(e.geometry(),r,n,i);if(!er(r,n))return!1;for(let e of o)if(!or(e,a))return!1}if("MultiPolygon"===t.type){let a=ur(t.coordinates,n,i),o=pr(e.geometry(),r,n,i);if(!er(r,n))return!1;for(let e of o)if(!sr(e,a))return!1}return!0}(e,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let mr=class{constructor(e=[],t=(e,t)=>et?1:0){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(0===this.length)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:r}=this,n=t[e];for(;e>0;){let i=e-1>>1,a=t[i];if(r(n,a)>=0)break;t[e]=a,e=i}t[e]=n}_down(e){let{data:t,compare:r}=this,n=this.length>>1,i=t[e];for(;e=0)break;t[e]=t[n],e=n}t[e]=i}};function gr(e,t,r,n,i){yr(e,t,r,n||e.length-1,i||xr)}function yr(e,t,r,n,i){for(;n>r;){if(n-r>600){var a=n-r+1,o=t-r+1,s=Math.log(a),l=.5*Math.exp(2*s/3),c=.5*Math.sqrt(s*l*(a-l)/a)*(o-a/2<0?-1:1);yr(e,t,Math.max(r,Math.floor(t-o*l/a+c)),Math.min(n,Math.floor(t+(a-o)*l/a+c)),i)}var u=e[t],h=r,f=n;for(vr(e,r,t),i(e[n],u)>0&&vr(e,r,n);h0;)f--}0===i(e[r],u)?vr(e,r,f):vr(e,++f,n),f<=t&&(r=f+1),t<=f&&(n=f-1)}}function vr(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function xr(e,t){return et?1:0}function _r(e,t){if(e.length<=1)return[e];let r,n,i=[];for(let t of e){let e=wr(t);0!==e&&(t.area=Math.abs(e),void 0===n&&(n=e<0),n===e<0?(r&&i.push(r),r=[t]):r.push(t))}if(r&&i.push(r),t>1)for(let e=0;e1?(l=e[s+1][0],c=e[s+1][1]):f>0&&(l+=u/this.kx*f,c+=h/this.ky*f)),u=this.wrap(t[0]-l)*this.kx,h=(t[1]-c)*this.ky;let p=u*u+h*h;p180;)e-=360;return e}}function Sr(e,t){return t[0]-e[0]}function Er(e){return e[1]-e[0]+1}function Cr(e,t){return e[1]>=e[0]&&e[1]e[1])return[null,null];let r=Er(e);if(t){if(2===r)return[e,null];let t=Math.floor(r/2);return[[e[0],e[0]+t],[e[0]+t,e[1]]]}if(1===r)return[e,null];let n=Math.floor(r/2)-1;return[[e[0],e[0]+n],[e[0]+n+1,e[1]]]}function Lr(e,t){if(!Cr(t,e.length))return[1/0,1/0,-1/0,-1/0];let r=[1/0,1/0,-1/0,-1/0];for(let n=t[0];n<=t[1];++n)Qt(r,e[n]);return r}function Pr(e){let t=[1/0,1/0,-1/0,-1/0];for(let r of e)for(let e of r)Qt(t,e);return t}function zr(e){return e[0]!==-1/0&&e[1]!==-1/0&&e[2]!==1/0&&e[3]!==1/0}function Dr(e,t,r){if(!zr(e)||!zr(t))return NaN;let n=0,i=0;return e[2]t[2]&&(n=e[0]-t[2]),e[1]>t[3]&&(i=e[1]-t[3]),e[3]=n)return n;if(er(i,a)){if(Ur(e,t))return 0}else if(Ur(t,e))return 0;let o=1/0;for(let n of e)for(let e=0,i=n.length,a=i-1;e0;){let i=o.pop();if(i[0]>=a)continue;let l=i[1],c=t?50:100;if(Er(l)<=c){if(!Cr(l,e.length))return NaN;if(t){let t=Nr(e,l,r,n);if(isNaN(t)||0===t)return t;a=Math.min(a,t)}else for(let t=l[0];t<=l[1];++t){let i=jr(e[t],r,n);if(a=Math.min(a,i),0===a)return 0}}else{let r=Ir(l,t);qr(o,a,n,e,s,r[0]),qr(o,a,n,e,s,r[1])}}return a}function Wr(e,t,r,n,i,a=1/0){let o=Math.min(a,i.distance(e[0],r[0]));if(0===o)return o;let s=new mr([[0,[0,e.length-1],[0,r.length-1]]],Sr);for(;s.length>0;){let a=s.pop();if(a[0]>=o)continue;let l=a[1],c=a[2],u=t?50:100,h=n?50:100;if(Er(l)<=u&&Er(c)<=h){if(!Cr(l,e.length)&&Cr(c,r.length))return NaN;let a;if(t&&n)a=Fr(e,l,r,c,i),o=Math.min(o,a);else if(t&&!n){let t=e.slice(l[0],l[1]+1);for(let e=c[0];e<=c[1];++e)if(a=Or(r[e],t,i),o=Math.min(o,a),0===o)return o}else if(!t&&n){let t=r.slice(c[0],c[1]+1);for(let r=l[0];r<=l[1];++r)if(a=Or(e[r],t,i),o=Math.min(o,a),0===o)return o}else a=Br(e,l,r,c,i),o=Math.min(o,a)}else{let a=Ir(l,t),u=Ir(c,n);Hr(s,o,i,e,r,a[0],u[0]),Hr(s,o,i,e,r,a[0],u[1]),Hr(s,o,i,e,r,a[1],u[0]),Hr(s,o,i,e,r,a[1],u[1])}}return o}function Zr(e){return"MultiPolygon"===e.type?e.coordinates.map((e=>({type:"Polygon",coordinates:e}))):"MultiLineString"===e.type?e.coordinates.map((e=>({type:"LineString",coordinates:e}))):"MultiPoint"===e.type?e.coordinates.map((e=>({type:"Point",coordinates:e}))):[e]}class Yr{constructor(e,t){this.type=he,this.geojson=e,this.geometries=t}static parse(e,t){if(2!==e.length)return t.error(`'distance' expression requires exactly one argument, but found ${e.length-1} instead.`);if(it(e[1])){let t=e[1];if("FeatureCollection"===t.type)return new Yr(t,t.features.map((e=>Zr(e.geometry))).flat());if("Feature"===t.type)return new Yr(t,Zr(t.geometry));if("type"in t&&"coordinates"in t)return new Yr(t,Zr(t))}return t.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(e){if(null!=e.geometry()&&null!=e.canonicalID()){if("Point"===e.geometryType())return function(e,t){let r=e.geometry(),n=r.flat().map((t=>Jt([t.x,t.y],e.canonical)));if(0===r.length)return NaN;let i=new Mr(n[0][1]),a=1/0;for(let e of t){switch(e.type){case"Point":a=Math.min(a,Wr(n,!1,[e.coordinates],!1,i,a));break;case"LineString":a=Math.min(a,Wr(n,!1,e.coordinates,!0,i,a));break;case"Polygon":a=Math.min(a,Gr(n,!1,e.coordinates,i,a))}if(0===a)return a}return a}(e,this.geometries);if("LineString"===e.geometryType())return function(e,t){let r=e.geometry(),n=r.flat().map((t=>Jt([t.x,t.y],e.canonical)));if(0===r.length)return NaN;let i=new Mr(n[0][1]),a=1/0;for(let e of t){switch(e.type){case"Point":a=Math.min(a,Wr(n,!0,[e.coordinates],!1,i,a));break;case"LineString":a=Math.min(a,Wr(n,!0,e.coordinates,!0,i,a));break;case"Polygon":a=Math.min(a,Gr(n,!0,e.coordinates,i,a))}if(0===a)return a}return a}(e,this.geometries);if("Polygon"===e.geometryType())return function(e,t){let r=e.geometry();if(0===r.length||0===r[0].length)return NaN;let n=_r(r,0).map((t=>t.map((t=>t.map((t=>Jt([t.x,t.y],e.canonical))))))),i=new Mr(n[0][0][0][1]),a=1/0;for(let e of t)for(let t of n){switch(e.type){case"Point":a=Math.min(a,Gr([e.coordinates],!1,t,i,a));break;case"LineString":a=Math.min(a,Gr(e.coordinates,!0,t,i,a));break;case"Polygon":a=Math.min(a,Vr(t,e.coordinates,i,a))}if(0===a)return a}return a}(e,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}let Xr={"==":jt,"!=":Nt,">":Vt,"<":Ut,">=":Ht,"<=":qt,array:ut,at:vt,boolean:ut,case:wt,coalesce:Ot,collator:Gt,format:Zt,image:Yt,in:xt,"index-of":_t,interpolate:zt,"interpolate-hcl":zt,"interpolate-lab":zt,length:Xt,let:gt,literal:st,match:bt,number:ut,"number-format":Wt,object:ut,slice:Tt,step:At,string:ut,"to-boolean":ft,"to-color":ft,"to-number":ft,"to-string":ft,var:yt,within:dr,distance:Yr};class $r{constructor(e,t,r,n){this.name=e,this.type=t,this._evaluate=r,this.args=n}evaluate(e){return this._evaluate(e,this.args)}eachChild(e){this.args.forEach(e)}outputDefined(){return!1}static parse(e,t){let r=e[0],n=$r.definitions[r];if(!n)return t.error(`Unknown expression "${r}". If you wanted a literal array, use ["literal", [...]].`,0);let i=Array.isArray(n)?n[0]:n.type,a=Array.isArray(n)?[[n[1],n[2]]]:n.overloads,o=a.filter((([t])=>!Array.isArray(t)||t.length===e.length-1)),s=null;for(let[n,a]of o){s=new mt(t.registry,tn,t.path,null,t.scope);let o=[],l=!1;for(let t=1;t{return t=e,Array.isArray(t)?`(${t.map(Te).join(", ")})`:`(${Te(t.type)}...)`;var t})).join(" | "),n=[];for(let r=1;r{r=t?r&&tn(e):r&&e instanceof st})),!!r&&rn(e)&&an(e,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function rn(e){if(e instanceof $r&&("get"===e.name&&1===e.args.length||"feature-state"===e.name||"has"===e.name&&1===e.args.length||"properties"===e.name||"geometry-type"===e.name||"id"===e.name||/^filter-/.test(e.name))||e instanceof dr||e instanceof Yr)return!1;let t=!0;return e.eachChild((e=>{t&&!rn(e)&&(t=!1)})),t}function nn(e){if(e instanceof $r&&"feature-state"===e.name)return!1;let t=!0;return e.eachChild((e=>{t&&!nn(e)&&(t=!1)})),t}function an(e,t){if(e instanceof $r&&t.indexOf(e.name)>=0)return!1;let r=!0;return e.eachChild((e=>{r&&!an(e,t)&&(r=!1)})),r}function on(e){return{result:"success",value:e}}function sn(e){return{result:"error",value:e}}function ln(e){return"data-driven"===e["property-type"]||"cross-faded-data-driven"===e["property-type"]}function cn(e){return!!e.expression&&e.expression.parameters.indexOf("zoom")>-1}function un(e){return!!e.expression&&e.expression.interpolated}function hn(e){return e instanceof Number?"number":e instanceof String?"string":e instanceof Boolean?"boolean":Array.isArray(e)?"array":null===e?"null":typeof e}function fn(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function pn(e){return e}function dn(e,t){let r="color"===t.type,n=e.stops&&"object"==typeof e.stops[0][0],i=n||!(n||void 0!==e.property),a=e.type||(un(t)?"exponential":"interval");if(r||"padding"===t.type){let n=r?Xe.parse:Qe.parse;(e=se({},e)).stops&&(e.stops=e.stops.map((e=>[e[0],n(e[1])]))),e.default=n(e.default?e.default:t.default)}if(e.colorSpace&&"rgb"!==(o=e.colorSpace)&&"hcl"!==o&&"lab"!==o)throw new Error(`Unknown color space: "${e.colorSpace}"`);var o;let s,l,c;if("exponential"===a)s=vn;else if("interval"===a)s=yn;else if("categorical"===a){s=gn,l=Object.create(null);for(let t of e.stops)l[t[0]]=t[1];c=typeof e.stops[0][0]}else{if("identity"!==a)throw new Error(`Unknown function type "${a}"`);s=xn}if(n){let r={},n=[];for(let t=0;te[0])),evaluate:({zoom:r},n)=>vn({stops:i,base:e.base},t,r).evaluate(r,n)}}if(i){let r="exponential"===a?{name:"exponential",base:void 0!==e.base?e.base:1}:null;return{kind:"camera",interpolationType:r,interpolationFactor:zt.interpolationFactor.bind(void 0,r),zoomStops:e.stops.map((e=>e[0])),evaluate:({zoom:r})=>s(e,t,r,l,c)}}return{kind:"source",evaluate(r,n){let i=n&&n.properties?n.properties[e.property]:void 0;return void 0===i?mn(e.default,t.default):s(e,t,i,l,c)}}}function mn(e,t,r){return void 0!==e?e:void 0!==t?t:void 0!==r?r:void 0}function gn(e,t,r,n,i){return mn(typeof r===i?n[r]:void 0,e.default,t.default)}function yn(e,t,r){if("number"!==hn(r))return mn(e.default,t.default);let n=e.stops.length;if(1===n||r<=e.stops[0][0])return e.stops[0][1];if(r>=e.stops[n-1][0])return e.stops[n-1][1];let i=kt(e.stops.map((e=>e[0])),r);return e.stops[i][1]}function vn(e,t,r){let n=void 0!==e.base?e.base:1;if("number"!==hn(r))return mn(e.default,t.default);let i=e.stops.length;if(1===i||r<=e.stops[0][0])return e.stops[0][1];if(r>=e.stops[i-1][0])return e.stops[i-1][1];let a=kt(e.stops.map((e=>e[0])),r),o=function(e,t,r,n){let i=n-r,a=e-r;return 0===i?0:1===t?a/i:(Math.pow(t,a)-1)/(Math.pow(t,i)-1)}(r,n,e.stops[a][0],e.stops[a+1][0]),s=e.stops[a][1],l=e.stops[a+1][1],c=Pt[t.type]||pn;return"function"==typeof s.evaluate?{evaluate(...t){let r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return c(r,n,o,e.colorSpace)}}:c(s,l,o,e.colorSpace)}function xn(e,t,r){switch(t.type){case"color":r=Xe.parse(r);break;case"formatted":r=Je.fromString(r.toString());break;case"resolvedImage":r=rt.fromString(r.toString());break;case"padding":r=Qe.parse(r);break;default:hn(r)===t.type||"enum"===t.type&&t.values[r]||(r=void 0)}return mn(r,e.default,t.default)}$r.register(Xr,{error:[{kind:"error"},[fe],(e,[t])=>{throw new lt(t.evaluate(e))}],typeof:[fe,[ge],(e,[t])=>Te(at(t.evaluate(e)))],"to-rgba":[we(he,4),[de],(e,[t])=>{let[r,n,i,a]=t.evaluate(e).rgb;return[255*r,255*n,255*i,a]}],rgb:[de,[he,he,he],Kr],rgba:[de,[he,he,he,he],Kr],has:{type:pe,overloads:[[[fe],(e,[t])=>Jr(t.evaluate(e),e.properties())],[[fe,me],(e,[t,r])=>Jr(t.evaluate(e),r.evaluate(e))]]},get:{type:ge,overloads:[[[fe],(e,[t])=>Qr(t.evaluate(e),e.properties())],[[fe,me],(e,[t,r])=>Qr(t.evaluate(e),r.evaluate(e))]]},"feature-state":[ge,[fe],(e,[t])=>Qr(t.evaluate(e),e.featureState||{})],properties:[me,[],e=>e.properties()],"geometry-type":[fe,[],e=>e.geometryType()],id:[ge,[],e=>e.id()],zoom:[he,[],e=>e.globals.zoom],"heatmap-density":[he,[],e=>e.globals.heatmapDensity||0],"line-progress":[he,[],e=>e.globals.lineProgress||0],accumulated:[ge,[],e=>void 0===e.globals.accumulated?null:e.globals.accumulated],"+":[he,en(he),(e,t)=>{let r=0;for(let n of t)r+=n.evaluate(e);return r}],"*":[he,en(he),(e,t)=>{let r=1;for(let n of t)r*=n.evaluate(e);return r}],"-":{type:he,overloads:[[[he,he],(e,[t,r])=>t.evaluate(e)-r.evaluate(e)],[[he],(e,[t])=>-t.evaluate(e)]]},"/":[he,[he,he],(e,[t,r])=>t.evaluate(e)/r.evaluate(e)],"%":[he,[he,he],(e,[t,r])=>t.evaluate(e)%r.evaluate(e)],ln2:[he,[],()=>Math.LN2],pi:[he,[],()=>Math.PI],e:[he,[],()=>Math.E],"^":[he,[he,he],(e,[t,r])=>Math.pow(t.evaluate(e),r.evaluate(e))],sqrt:[he,[he],(e,[t])=>Math.sqrt(t.evaluate(e))],log10:[he,[he],(e,[t])=>Math.log(t.evaluate(e))/Math.LN10],ln:[he,[he],(e,[t])=>Math.log(t.evaluate(e))],log2:[he,[he],(e,[t])=>Math.log(t.evaluate(e))/Math.LN2],sin:[he,[he],(e,[t])=>Math.sin(t.evaluate(e))],cos:[he,[he],(e,[t])=>Math.cos(t.evaluate(e))],tan:[he,[he],(e,[t])=>Math.tan(t.evaluate(e))],asin:[he,[he],(e,[t])=>Math.asin(t.evaluate(e))],acos:[he,[he],(e,[t])=>Math.acos(t.evaluate(e))],atan:[he,[he],(e,[t])=>Math.atan(t.evaluate(e))],min:[he,en(he),(e,t)=>Math.min(...t.map((t=>t.evaluate(e))))],max:[he,en(he),(e,t)=>Math.max(...t.map((t=>t.evaluate(e))))],abs:[he,[he],(e,[t])=>Math.abs(t.evaluate(e))],round:[he,[he],(e,[t])=>{let r=t.evaluate(e);return r<0?-Math.round(-r):Math.round(r)}],floor:[he,[he],(e,[t])=>Math.floor(t.evaluate(e))],ceil:[he,[he],(e,[t])=>Math.ceil(t.evaluate(e))],"filter-==":[pe,[fe,ge],(e,[t,r])=>e.properties()[t.value]===r.value],"filter-id-==":[pe,[ge],(e,[t])=>e.id()===t.value],"filter-type-==":[pe,[fe],(e,[t])=>e.geometryType()===t.value],"filter-<":[pe,[fe,ge],(e,[t,r])=>{let n=e.properties()[t.value],i=r.value;return typeof n==typeof i&&n{let r=e.id(),n=t.value;return typeof r==typeof n&&r":[pe,[fe,ge],(e,[t,r])=>{let n=e.properties()[t.value],i=r.value;return typeof n==typeof i&&n>i}],"filter-id->":[pe,[ge],(e,[t])=>{let r=e.id(),n=t.value;return typeof r==typeof n&&r>n}],"filter-<=":[pe,[fe,ge],(e,[t,r])=>{let n=e.properties()[t.value],i=r.value;return typeof n==typeof i&&n<=i}],"filter-id-<=":[pe,[ge],(e,[t])=>{let r=e.id(),n=t.value;return typeof r==typeof n&&r<=n}],"filter->=":[pe,[fe,ge],(e,[t,r])=>{let n=e.properties()[t.value],i=r.value;return typeof n==typeof i&&n>=i}],"filter-id->=":[pe,[ge],(e,[t])=>{let r=e.id(),n=t.value;return typeof r==typeof n&&r>=n}],"filter-has":[pe,[ge],(e,[t])=>t.value in e.properties()],"filter-has-id":[pe,[],e=>null!==e.id()&&void 0!==e.id()],"filter-type-in":[pe,[we(fe)],(e,[t])=>t.value.indexOf(e.geometryType())>=0],"filter-id-in":[pe,[we(ge)],(e,[t])=>t.value.indexOf(e.id())>=0],"filter-in-small":[pe,[fe,we(ge)],(e,[t,r])=>r.value.indexOf(e.properties()[t.value])>=0],"filter-in-large":[pe,[fe,we(ge)],(e,[t,r])=>function(e,t,r,n){for(;r<=n;){let i=r+n>>1;if(t[i]===e)return!0;t[i]>e?n=i-1:r=i+1}return!1}(e.properties()[t.value],r.value,0,r.value.length-1)],all:{type:pe,overloads:[[[pe,pe],(e,[t,r])=>t.evaluate(e)&&r.evaluate(e)],[en(pe),(e,t)=>{for(let r of t)if(!r.evaluate(e))return!1;return!0}]]},any:{type:pe,overloads:[[[pe,pe],(e,[t,r])=>t.evaluate(e)||r.evaluate(e)],[en(pe),(e,t)=>{for(let r of t)if(r.evaluate(e))return!0;return!1}]]},"!":[pe,[pe],(e,[t])=>!t.evaluate(e)],"is-supported-script":[pe,[fe],(e,[t])=>{let r=e.globals&&e.globals.isSupportedScript;return!r||r(t.evaluate(e))}],upcase:[fe,[fe],(e,[t])=>t.evaluate(e).toUpperCase()],downcase:[fe,[fe],(e,[t])=>t.evaluate(e).toLowerCase()],concat:[fe,en(ge),(e,t)=>t.map((t=>ot(t.evaluate(e)))).join("")],"resolved-locale":[fe,[ye],(e,[t])=>t.evaluate(e).resolvedLocale()]});class _n{constructor(e,t){var r;this.expression=e,this._warningHistory={},this._evaluator=new dt,this._defaultValue=t?"color"===(r=t).type&&fn(r.default)?new Xe(0,0,0,0):"color"===r.type?Xe.parse(r.default)||null:"padding"===r.type?Qe.parse(r.default)||null:"variableAnchorOffsetCollection"===r.type?tt.parse(r.default)||null:void 0===r.default?null:r.default:null,this._enumValues=t&&"enum"===t.type?t.values:null}evaluateWithoutErrorHandling(e,t,r,n,i,a){return this._evaluator.globals=e,this._evaluator.feature=t,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)}evaluate(e,t,r,n,i,a){this._evaluator.globals=e,this._evaluator.feature=t||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{let e=this.expression.evaluate(this._evaluator);if(null==e||"number"==typeof e&&e!=e)return this._defaultValue;if(this._enumValues&&!(e in this._enumValues))throw new lt(`Expected value to be one of ${Object.keys(this._enumValues).map((e=>JSON.stringify(e))).join(", ")}, but found ${JSON.stringify(e)} instead.`);return e}catch(e){return this._warningHistory[e.message]||(this._warningHistory[e.message]=!0,typeof console<"u"&&console.warn(e.message)),this._defaultValue}}}function bn(e){return Array.isArray(e)&&e.length>0&&"string"==typeof e[0]&&e[0]in Xr}function wn(e,t){let r=new mt(Xr,tn,[],t?function(e){let t={color:de,string:fe,number:he,enum:fe,boolean:pe,formatted:ve,padding:xe,resolvedImage:_e,variableAnchorOffsetCollection:be};return"array"===e.type?we(t[e.value]||ge,e.length):t[e.type]}(t):void 0),n=r.parse(e,void 0,void 0,void 0,t&&"string"===t.type?{typeAnnotation:"coerce"}:void 0);return n?on(new _n(n,t)):sn(r.errors)}class Tn{constructor(e,t){this.kind=e,this._styleExpression=t,this.isStateDependent="constant"!==e&&!nn(t.expression)}evaluateWithoutErrorHandling(e,t,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(e,t,r,n,i,a)}evaluate(e,t,r,n,i,a){return this._styleExpression.evaluate(e,t,r,n,i,a)}}class kn{constructor(e,t,r,n){this.kind=e,this.zoomStops=r,this._styleExpression=t,this.isStateDependent="camera"!==e&&!nn(t.expression),this.interpolationType=n}evaluateWithoutErrorHandling(e,t,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(e,t,r,n,i,a)}evaluate(e,t,r,n,i,a){return this._styleExpression.evaluate(e,t,r,n,i,a)}interpolationFactor(e,t,r){return this.interpolationType?zt.interpolationFactor(this.interpolationType,e,t,r):0}}function An(e,t){let r=wn(e,t);if("error"===r.result)return r;let n=r.value.expression,i=rn(n);if(!i&&!ln(t))return sn([new le("","data expressions not supported")]);let a=an(n,["zoom"]);if(!a&&!cn(t))return sn([new le("","zoom expressions not supported")]);let o=Sn(n);return o||a?o instanceof le?sn([o]):o instanceof zt&&!un(t)?sn([new le("",'"interpolate" expressions cannot be used with this property')]):on(o?new kn(i?"camera":"composite",r.value,o.labels,o instanceof zt?o.interpolation:void 0):new Tn(i?"constant":"source",r.value)):sn([new le("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class Mn{constructor(e,t){this._parameters=e,this._specification=t,se(this,dn(this._parameters,this._specification))}static deserialize(e){return new Mn(e._parameters,e._specification)}static serialize(e){return{_parameters:e._parameters,_specification:e._specification}}}function Sn(e){let t=null;if(e instanceof gt)t=Sn(e.result);else if(e instanceof Ot){for(let r of e.args)if(t=Sn(r),t)break}else(e instanceof At||e instanceof zt)&&e.input instanceof $r&&"zoom"===e.input.name&&(t=e);return t instanceof le||e.eachChild((e=>{let r=Sn(e);r instanceof le?t=r:!t&&r?t=new le("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):t&&r&&t!==r&&(t=new le("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))})),t}function En(e){if(!0===e||!1===e)return!0;if(!Array.isArray(e)||0===e.length)return!1;switch(e[0]){case"has":return e.length>=2&&"$id"!==e[1]&&"$type"!==e[1];case"in":return e.length>=3&&("string"!=typeof e[1]||Array.isArray(e[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==e.length||Array.isArray(e[1])||Array.isArray(e[2]);case"any":case"all":for(let t of e.slice(1))if(!En(t)&&"boolean"!=typeof t)return!1;return!0;default:return!0}}let Cn={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function In(e){if(null==e)return{filter:()=>!0,needGeometry:!1};En(e)||(e=zn(e));let t=wn(e,Cn);if("error"===t.result)throw new Error(t.value.map((e=>`${e.key}: ${e.message}`)).join(", "));return{filter:(e,r,n)=>t.value.evaluate(e,r,{},n),needGeometry:Pn(e)}}function Ln(e,t){return et?1:0}function Pn(e){if(!Array.isArray(e))return!1;if("within"===e[0]||"distance"===e[0])return!0;for(let t=1;t"===t||"<="===t||">="===t?Dn(e[1],e[2],t):"any"===t?(r=e.slice(1),["any"].concat(r.map(zn))):"all"===t?["all"].concat(e.slice(1).map(zn)):"none"===t?["all"].concat(e.slice(1).map(zn).map(Fn)):"in"===t?On(e[1],e.slice(2)):"!in"===t?Fn(On(e[1],e.slice(2))):"has"===t?Rn(e[1]):"!has"!==t||Fn(Rn(e[1]));var r}function Dn(e,t,r){switch(e){case"$type":return[`filter-type-${r}`,t];case"$id":return[`filter-id-${r}`,t];default:return[`filter-${r}`,e,t]}}function On(e,t){if(0===t.length)return!1;switch(e){case"$type":return["filter-type-in",["literal",t]];case"$id":return["filter-id-in",["literal",t]];default:return t.length>200&&!t.some((e=>typeof e!=typeof t[0]))?["filter-in-large",e,["literal",t.sort(Ln)]]:["filter-in-small",e,["literal",t]]}}function Rn(e){switch(e){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",e]}}function Fn(e){return["!",e]}function Bn(e){let t=typeof e;if("number"===t||"boolean"===t||"string"===t||null==e)return JSON.stringify(e);if(Array.isArray(e)){let t="[";for(let r of e)t+=`${Bn(r)},`;return`${t}]`}let r=Object.keys(e).sort(),n="{";for(let t=0;tn.maximum?[new oe(t,r,`${r} is greater than the maximum value ${n.maximum}`)]:[]}function Wn(e){let t,r,n,i=e.valueSpec,a=Un(e.value.type),o={},s="categorical"!==a&&void 0===e.value.property,l=!s,c="array"===hn(e.value.stops)&&"array"===hn(e.value.stops[0])&&"object"===hn(e.value.stops[0][0]),u=qn({key:e.key,value:e.value,valueSpec:e.styleSpec.function,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{stops:function(e){if("identity"===a)return[new oe(e.key,e.value,'identity function may not have a "stops" property')];let t=[],r=e.value;return t=t.concat(Hn({key:e.key,value:r,valueSpec:e.valueSpec,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,arrayElementValidator:h})),"array"===hn(r)&&0===r.length&&t.push(new oe(e.key,r,"array must have at least one stop")),t},default:function(e){return e.validateSpec({key:e.key,value:e.value,valueSpec:i,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec})}}});return"identity"===a&&s&&u.push(new oe(e.key,e.value,'missing required property "property"')),"identity"===a||e.value.stops||u.push(new oe(e.key,e.value,'missing required property "stops"')),"exponential"===a&&e.valueSpec.expression&&!un(e.valueSpec)&&u.push(new oe(e.key,e.value,"exponential functions not supported")),e.styleSpec.$version>=8&&(l&&!ln(e.valueSpec)?u.push(new oe(e.key,e.value,"property functions not supported")):s&&!cn(e.valueSpec)&&u.push(new oe(e.key,e.value,"zoom functions not supported"))),"categorical"!==a&&!c||void 0!==e.value.property||u.push(new oe(e.key,e.value,'"property" property is required')),u;function h(e){let t=[],a=e.value,s=e.key;if("array"!==hn(a))return[new oe(s,a,`array expected, ${hn(a)} found`)];if(2!==a.length)return[new oe(s,a,`array length 2 expected, length ${a.length} found`)];if(c){if("object"!==hn(a[0]))return[new oe(s,a,`object expected, ${hn(a[0])} found`)];if(void 0===a[0].zoom)return[new oe(s,a,"object stop key must have zoom")];if(void 0===a[0].value)return[new oe(s,a,"object stop key must have value")];if(n&&n>Un(a[0].zoom))return[new oe(s,a[0].zoom,"stop zoom values must appear in ascending order")];Un(a[0].zoom)!==n&&(n=Un(a[0].zoom),r=void 0,o={}),t=t.concat(qn({key:`${s}[0]`,value:a[0],valueSpec:{zoom:{}},validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:Gn,value:f}}))}else t=t.concat(f({key:`${s}[0]`,value:a[0],valueSpec:{},validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec},a));return bn(Vn(a[1]))?t.concat([new oe(`${s}[1]`,a[1],"expressions are not allowed in function stops.")]):t.concat(e.validateSpec({key:`${s}[1]`,value:a[1],valueSpec:i,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec}))}function f(e,n){let s=hn(e.value),l=Un(e.value),c=null!==e.value?e.value:n;if(t){if(s!==t)return[new oe(e.key,c,`${s} stop domain type must match previous stop domain type ${t}`)]}else t=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new oe(e.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==a){let t=`number expected, ${s} found`;return ln(i)&&void 0===a&&(t+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new oe(e.key,c,t)]}return"categorical"!==a||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==a&&"number"===s&&void 0!==r&&lnew oe(`${e.key}${t.key}`,e.value,t.message)));let r=t.value.expression||t.value._styleExpression.expression;if("property"===e.expressionContext&&"text-font"===e.propertyKey&&!r.outputDefined())return[new oe(e.key,e.value,`Invalid data expression for "${e.propertyKey}". Output values must be contained as literals within the expression.`)];if("property"===e.expressionContext&&"layout"===e.propertyType&&!nn(r))return[new oe(e.key,e.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===e.expressionContext&&!nn(r))return[new oe(e.key,e.value,'"feature-state" data expressions are not supported with filters.')];if(e.expressionContext&&0===e.expressionContext.indexOf("cluster")){if(!an(r,["zoom","feature-state"]))return[new oe(e.key,e.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===e.expressionContext&&!rn(r))return[new oe(e.key,e.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function Yn(e){let t=e.key,r=e.value,n=e.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(Un(r))&&i.push(new oe(t,r,`expected one of [${n.values.join(", ")}], ${JSON.stringify(r)} found`)):-1===Object.keys(n.values).indexOf(Un(r))&&i.push(new oe(t,r,`expected one of [${Object.keys(n.values).join(", ")}], ${JSON.stringify(r)} found`)),i}function Xn(e){return En(Vn(e.value))?Zn(se({},e,{expressionContext:"filter",valueSpec:{value:"boolean"}})):$n(e)}function $n(e){let t=e.value,r=e.key;if("array"!==hn(t))return[new oe(r,t,`array expected, ${hn(t)} found`)];let n,i=e.styleSpec,a=[];if(t.length<1)return[new oe(r,t,"filter array must have at least 1 element")];switch(a=a.concat(Yn({key:`${r}[0]`,value:t[0],valueSpec:i.filter_operator,style:e.style,styleSpec:e.styleSpec})),Un(t[0])){case"<":case"<=":case">":case">=":t.length>=2&&"$type"===Un(t[1])&&a.push(new oe(r,t,`"$type" cannot be use with operator "${t[0]}"`));case"==":case"!=":3!==t.length&&a.push(new oe(r,t,`filter array for operator "${t[0]}" must have 3 elements`));case"in":case"!in":t.length>=2&&(n=hn(t[1]),"string"!==n&&a.push(new oe(`${r}[1]`,t[1],`string expected, ${n} found`)));for(let o=2;o{e in r&&t.push(new oe(n,r[e],`"${e}" is prohibited for ref layers`))})),i.layers.forEach((t=>{Un(t.id)===s&&(e=t)})),e?e.ref?t.push(new oe(n,r.ref,"ref cannot reference another ref layer")):o=Un(e.type):t.push(new oe(n,r.ref,`ref layer "${s}" not found`))}else if("background"!==o)if(r.source){let e=i.sources&&i.sources[r.source],a=e&&Un(e.type);e?"vector"===a&&"raster"===o?t.push(new oe(n,r.source,`layer "${r.id}" requires a raster source`)):"raster-dem"!==a&&"hillshade"===o?t.push(new oe(n,r.source,`layer "${r.id}" requires a raster-dem source`)):"raster"===a&&"raster"!==o?t.push(new oe(n,r.source,`layer "${r.id}" requires a vector source`)):"vector"!==a||r["source-layer"]?"raster-dem"===a&&"hillshade"!==o?t.push(new oe(n,r.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"!==o||!r.paint||!r.paint["line-gradient"]||"geojson"===a&&e.lineMetrics||t.push(new oe(n,r,`layer "${r.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):t.push(new oe(n,r,`layer "${r.id}" must specify a "source-layer"`)):t.push(new oe(n,r.source,`source "${r.source}" not found`))}else t.push(new oe(n,r,'missing required property "source"'));return t=t.concat(qn({key:n,value:r,valueSpec:a.layer,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*":()=>[],type:()=>e.validateSpec({key:`${n}.type`,value:r.type,valueSpec:a.layer.type,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,object:r,objectKey:"type"}),filter:Xn,layout:e=>qn({layer:r,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*":e=>Qn(se({layerType:o},e))}}),paint:e=>qn({layer:r,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*":e=>Jn(se({layerType:o},e))}})}})),t}function ti(e){let t=e.value,r=e.key,n=hn(t);return"string"!==n?[new oe(r,t,`string expected, ${n} found`)]:[]}let ri={promoteId:function({key:e,value:t}){if("string"===hn(t))return ti({key:e,value:t});{let r=[];for(let n in t)r.push(...ti({key:`${e}.${n}`,value:t[n]}));return r}}};function ni(e){let t=e.value,r=e.key,n=e.styleSpec,i=e.style,a=e.validateSpec;if(!t.type)return[new oe(r,t,'"type" is required')];let o,s=Un(t.type);switch(s){case"vector":case"raster":return o=qn({key:r,value:t,valueSpec:n[`source_${s.replace("-","_")}`],style:e.style,styleSpec:n,objectElementValidators:ri,validateSpec:a}),o;case"raster-dem":return o=function(e){var t;let r=null!==(t=e.sourceName)&&void 0!==t?t:"",n=e.value,i=e.styleSpec,a=i.source_raster_dem,o=e.style,s=[],l=hn(n);if(void 0===n)return s;if("object"!==l)return s.push(new oe("source_raster_dem",n,`object expected, ${l} found`)),s;let c="custom"===Un(n.encoding),u=["redFactor","greenFactor","blueFactor","baseShift"],h=e.value.encoding?`"${e.value.encoding}"`:"Default";for(let t in n)!c&&u.includes(t)?s.push(new oe(t,n[t],`In "${r}": "${t}" is only valid when "encoding" is set to "custom". ${h} encoding found`)):a[t]?s=s.concat(e.validateSpec({key:t,value:n[t],valueSpec:a[t],validateSpec:e.validateSpec,style:o,styleSpec:i})):s.push(new oe(t,n[t],`unknown property "${t}"`));return s}({sourceName:r,value:t,style:e.style,styleSpec:n,validateSpec:a}),o;case"geojson":if(o=qn({key:r,value:t,valueSpec:n.source_geojson,style:i,styleSpec:n,validateSpec:a,objectElementValidators:ri}),t.cluster)for(let e in t.clusterProperties){let[n,i]=t.clusterProperties[e],s="string"==typeof n?[n,["accumulated"],["get",e]]:n;o.push(...Zn({key:`${r}.${e}.map`,value:i,validateSpec:a,expressionContext:"cluster-map"})),o.push(...Zn({key:`${r}.${e}.reduce`,value:s,validateSpec:a,expressionContext:"cluster-reduce"}))}return o;case"video":return qn({key:r,value:t,valueSpec:n.source_video,style:i,validateSpec:a,styleSpec:n});case"image":return qn({key:r,value:t,valueSpec:n.source_image,style:i,validateSpec:a,styleSpec:n});case"canvas":return[new oe(r,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return Yn({key:`${r}.type`,value:t.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:i,validateSpec:a,styleSpec:n})}}function ii(e){let t=e.value,r=e.styleSpec,n=r.light,i=e.style,a=[],o=hn(t);if(void 0===t)return a;if("object"!==o)return a=a.concat([new oe("light",t,`object expected, ${o} found`)]),a;for(let o in t){let s=o.match(/^(.*)-transition$/);a=a.concat(s&&n[s[1]]&&n[s[1]].transition?e.validateSpec({key:o,value:t[o],valueSpec:r.transition,validateSpec:e.validateSpec,style:i,styleSpec:r}):n[o]?e.validateSpec({key:o,value:t[o],valueSpec:n[o],validateSpec:e.validateSpec,style:i,styleSpec:r}):[new oe(o,t[o],`unknown property "${o}"`)])}return a}function ai(e){let t=e.value,r=e.styleSpec,n=r.sky,i=e.style,a=hn(t);if(void 0===t)return[];if("object"!==a)return[new oe("sky",t,`object expected, ${a} found`)];let o=[];for(let a in t)o=o.concat(n[a]?e.validateSpec({key:a,value:t[a],valueSpec:n[a],style:i,styleSpec:r}):[new oe(a,t[a],`unknown property "${a}"`)]);return o}function oi(e){let t=e.value,r=e.styleSpec,n=r.terrain,i=e.style,a=[],o=hn(t);if(void 0===t)return a;if("object"!==o)return a=a.concat([new oe("terrain",t,`object expected, ${o} found`)]),a;for(let o in t)a=a.concat(n[o]?e.validateSpec({key:o,value:t[o],valueSpec:n[o],validateSpec:e.validateSpec,style:i,styleSpec:r}):[new oe(o,t[o],`unknown property "${o}"`)]);return a}function si(e){let t=[],r=e.value,n=e.key;if(Array.isArray(r)){let i=[],a=[];for(let o in r)r[o].id&&i.includes(r[o].id)&&t.push(new oe(n,r,`all the sprites' ids must be unique, but ${r[o].id} is duplicated`)),i.push(r[o].id),r[o].url&&a.includes(r[o].url)&&t.push(new oe(n,r,`all the sprites' URLs must be unique, but ${r[o].url} is duplicated`)),a.push(r[o].url),t=t.concat(qn({key:`${n}[${o}]`,value:r[o],valueSpec:{id:{type:"string",required:!0},url:{type:"string",required:!0}},validateSpec:e.validateSpec}));return t}return ti({key:n,value:r})}let li={"*":()=>[],array:Hn,boolean:function(e){let t=e.value,r=e.key,n=hn(t);return"boolean"!==n?[new oe(r,t,`boolean expected, ${n} found`)]:[]},number:Gn,color:function(e){let t=e.key,r=e.value,n=hn(r);return"string"!==n?[new oe(t,r,`color expected, ${n} found`)]:Xe.parse(String(r))?[]:[new oe(t,r,`color expected, "${r}" found`)]},constants:Nn,enum:Yn,filter:Xn,function:Wn,layer:ei,object:qn,source:ni,light:ii,sky:ai,terrain:oi,projection:function(e){let t=e.value,r=e.styleSpec,n=r.projection,i=e.style,a=hn(t);if(void 0===t)return[];if("object"!==a)return[new oe("projection",t,`object expected, ${a} found`)];let o=[];for(let a in t)o=o.concat(n[a]?e.validateSpec({key:a,value:t[a],valueSpec:n[a],style:i,styleSpec:r}):[new oe(a,t[a],`unknown property "${a}"`)]);return o},string:ti,formatted:function(e){return 0===ti(e).length?[]:Zn(e)},resolvedImage:function(e){return 0===ti(e).length?[]:Zn(e)},padding:function(e){let t=e.key,r=e.value;if("array"===hn(r)){if(r.length<1||r.length>4)return[new oe(t,r,`padding requires 1 to 4 values; ${r.length} values found`)];let n={type:"number"},i=[];for(let a=0;a[]}})),e.constants&&(r=r.concat(Nn({key:"constants",value:e.constants,style:e,styleSpec:t,validateSpec:ci}))),pi(r)}function fi(e){return function(t){return e(p(f({},t),{validateSpec:ci}))}}function pi(e){return[].concat(e).sort(((e,t)=>e.line-t.line))}function di(e){return function(...t){return pi(e.apply(this,t))}}hi.source=di(fi(ni)),hi.sprite=di(fi(si)),hi.glyphs=di(fi(ui)),hi.light=di(fi(ii)),hi.sky=di(fi(ai)),hi.terrain=di(fi(oi)),hi.layer=di(fi(ei)),hi.filter=di(fi(Xn)),hi.paintProperty=di(fi(Jn)),hi.layoutProperty=di(fi(Qn));let mi=hi,gi=mi.light,yi=mi.sky,vi=mi.paintProperty,xi=mi.layoutProperty;function _i(e,t){let r=!1;if(t&&t.length)for(let n of t)e.fire(new W(new Error(n.message))),r=!0;return r}class bi{constructor(e,t,r){let n=this.cells=[];if(e instanceof ArrayBuffer){this.arrayBuffer=e;let i=new Int32Array(this.arrayBuffer);e=i[0],this.d=(t=i[1])+2*(r=i[2]);for(let e=0;e=c[l+0]&&n>=c[l+1])?(o[h]=!0,a.push(i[h])):o[h]=!1}}}}_forEachCell(e,t,r,n,i,a,o,s){let l=this._convertToCellCoord(e),c=this._convertToCellCoord(t),u=this._convertToCellCoord(r),h=this._convertToCellCoord(n);for(let f=l;f<=u;f++)for(let l=c;l<=h;l++){let c=this.d*l+f;if((!s||s(this._convertFromCellCoord(f),this._convertFromCellCoord(l),this._convertFromCellCoord(f+1),this._convertFromCellCoord(l+1)))&&i.call(this,e,t,r,n,c,a,o,s))return}}_convertFromCellCoord(e){return(e-this.padding)/this.scale}_convertToCellCoord(e){return Math.max(0,Math.min(this.d-1,Math.floor(e*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let e=this.cells,t=3+this.cells.length+1+1,r=0;for(let e=0;e=0)continue;let a=e[n];i[n]=wi[r].shallow.indexOf(n)>=0?a:Si(a,t)}e instanceof Error&&(i.message=e.message)}if(i.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==r&&(i.$name=r),i}function Ei(e){if(Mi(e))return e;if(Array.isArray(e))return e.map(Ei);if("object"!=typeof e)throw new Error("can't deserialize object of type "+typeof e);let t=Ai(e)||"Object";if(!wi[t])throw new Error(`can't deserialize unregistered class ${t}`);let{klass:r}=wi[t];if(!r)throw new Error(`can't deserialize unregistered class ${t}`);if(r.deserialize)return r.deserialize(e);let n=Object.create(r.prototype);for(let r of Object.keys(e)){if("$name"===r)continue;let i=e[r];n[r]=wi[t].shallow.indexOf(r)>=0?i:Ei(i)}return n}class Ci{constructor(){this.first=!0}update(e,t){let r=Math.floor(e);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=e,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=t):this.lastFloorZoome>=12272&&e<=12287,Li=e=>e>=12288&&e<=12351,Pi=e=>e>=12448&&e<=12543,zi=e=>e>=12736&&e<=12783,Di=e=>e>=12800&&e<=13055,Oi=e=>e>=13056&&e<=13311,Ri=e=>e>=65040&&e<=65055,Fi=e=>e>=65072&&e<=65103,Bi=e=>e>=65104&&e<=65135,ji=e=>e>=65280&&e<=65519;function Ni(e){for(let t of e)if(Wi(t.charCodeAt(0)))return!0;return!1}function Ui(e){for(let t of e)if(!Hi(t.charCodeAt(0)))return!1;return!0}function Vi(e){let t=e.map((e=>{try{return new RegExp(`\\p{sc=${e}}`,"u").source}catch{return null}})).filter((e=>e));return new RegExp(t.join("|"),"u")}let qi=Vi(["Arab","Dupl","Mong","Ougr","Syrc"]);function Hi(e){return!qi.test(String.fromCodePoint(e))}let Gi=Vi(["Bopo","Hani","Hira","Kana","Kits","Nshu","Tang","Yiii"]);function Wi(e){return!(746!==e&&747!==e&&(e<4352||!(Fi(e)&&!(e>=65097&&e<=65103)||Oi(e)||zi(e)||!(!Li(e)||e>=12296&&e<=12305||e>=12308&&e<=12319||12336===e)||Di(e)||Ii(e)||(e=>e>=12688&&e<=12703)(e)||Pi(e)&&12540!==e||!(!ji(e)||65288===e||65289===e||65293===e||e>=65306&&e<=65310||65339===e||65341===e||65343===e||e>=65371&&e<=65503||65507===e||e>=65512&&e<=65519)||!(!Bi(e)||e>=65112&&e<=65118||e>=65123&&e<=65126)||Ri(e)||(e=>e>=19904&&e<=19967)(e)||new RegExp("\\p{sc=Cans}","u").test(String.fromCodePoint(e))||new RegExp("\\p{sc=Hang}","u").test(String.fromCodePoint(e))||Gi.test(String.fromCodePoint(e)))))}function Zi(e){return!(Wi(e)||(t=e,(e=>e>=128&&e<=255)(t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||(e=>e>=8192&&e<=8303)(t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||(e=>e>=8448&&e<=8527)(t)||(e=>e>=8528&&e<=8591)(t)||(e=>e>=8960&&e<=9215)(t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||(e=>e>=9216&&e<=9279)(t)&&9251!==t||(e=>e>=9280&&e<=9311)(t)||(e=>e>=9312&&e<=9471)(t)||(e=>e>=9632&&e<=9727)(t)||(e=>e>=9728&&e<=9983)(t)&&!(t>=9754&&t<=9759)||(e=>e>=11008&&e<=11263)(t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||Li(t)||Pi(t)||(e=>e>=57344&&e<=63743)(t)||Fi(t)||Bi(t)||ji(t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t));var t}let Yi=Vi(["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 Xi(e){return Yi.test(String.fromCodePoint(e))}function $i(e,t){return!(!t&&Xi(e)||e>=2304&&e<=3583||e>=3840&&e<=4255||(e=>e>=6016&&e<=6143)(e))}function Ki(e){for(let t of e)if(Xi(t.charCodeAt(0)))return!0;return!1}let Ji=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus="unavailable",this.pluginURL=null}setState(e){this.pluginStatus=e.pluginStatus,this.pluginURL=e.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(e){this.applyArabicShaping=e.applyArabicShaping,this.processBidirectionalText=e.processBidirectionalText,this.processStyledBidirectionalText=e.processStyledBidirectionalText}isParsed(){return null!=this.applyArabicShaping&&null!=this.processBidirectionalText&&null!=this.processStyledBidirectionalText}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class Qi{constructor(e,t){this.zoom=e,t?(this.now=t.now,this.fadeDuration=t.fadeDuration,this.zoomHistory=t.zoomHistory,this.transition=t.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Ci,this.transition={})}isSupportedScript(e){return function(e,t){for(let r of e)if(!$i(r.charCodeAt(0),t))return!1;return!0}(e,"loaded"===Ji.getRTLTextPluginStatus())}crossFadingFactor(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let e=this.zoom,t=e-Math.floor(e),r=this.crossFadingFactor();return e>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:t+(1-t)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*t}}}class ea{constructor(e,t){this.property=e,this.value=t,this.expression=function(e,t){if(fn(e))return new Mn(e,t);if(bn(e)){let r=An(e,t);if("error"===r.result)throw new Error(r.value.map((e=>`${e.key}: ${e.message}`)).join(", "));return r.value}{let r=e;return"color"===t.type&&"string"==typeof e?r=Xe.parse(e):"padding"!==t.type||"number"!=typeof e&&!Array.isArray(e)?"variableAnchorOffsetCollection"===t.type&&Array.isArray(e)&&(r=tt.parse(e)):r=Qe.parse(e),{kind:"constant",evaluate:()=>r}}}(void 0===t?e.specification.default:t,e.specification)}isDataDriven(){return"source"===this.expression.kind||"composite"===this.expression.kind}possiblyEvaluate(e,t,r){return this.property.possiblyEvaluate(this,e,t,r)}}class ta{constructor(e){this.property=e,this.value=new ea(e,void 0)}transitioned(e,t){return new na(this.property,this.value,t,x({},e.transition,this.transition),e.now)}untransitioned(){return new na(this.property,this.value,null,{},0)}}class ra{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues)}getValue(e){return T(this._values[e].value.value)}setValue(e,t){Object.prototype.hasOwnProperty.call(this._values,e)||(this._values[e]=new ta(this._values[e].property)),this._values[e].value=new ea(this._values[e].property,null===t?void 0:T(t))}getTransition(e){return T(this._values[e].transition)}setTransition(e,t){Object.prototype.hasOwnProperty.call(this._values,e)||(this._values[e]=new ta(this._values[e].property)),this._values[e].transition=T(t)||void 0}serialize(){let e={};for(let t of Object.keys(this._values)){let r=this.getValue(t);void 0!==r&&(e[t]=r);let n=this.getTransition(t);void 0!==n&&(e[`${t}-transition`]=n)}return e}transitioned(e,t){let r=new ia(this._properties);for(let n of Object.keys(this._values))r._values[n]=this._values[n].transitioned(e,t._values[n]);return r}untransitioned(){let e=new ia(this._properties);for(let t of Object.keys(this._values))e._values[t]=this._values[t].untransitioned();return e}}class na{constructor(e,t,r,n,i){this.property=e,this.value=t,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,e.specification.transition&&(n.delay||n.duration)&&(this.prior=r)}possiblyEvaluate(e,t,r){let n=e.now||0,i=this.value.possiblyEvaluate(e,t,r),a=this.prior;if(a){if(n>this.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;let t=e*e,r=t*e;return 4*(e<.5?r:3*(e-t)+r-.75)}(o))}}return i}}class ia{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitioningPropertyValues)}possiblyEvaluate(e,t,r){let n=new sa(this._properties);for(let i of Object.keys(this._values))n._values[i]=this._values[i].possiblyEvaluate(e,t,r);return n}hasTransition(){for(let e of Object.keys(this._values))if(this._values[e].prior)return!0;return!1}}class aa{constructor(e){this._properties=e,this._values=Object.create(e.defaultPropertyValues)}hasValue(e){return void 0!==this._values[e].value}getValue(e){return T(this._values[e].value)}setValue(e,t){this._values[e]=new ea(this._values[e].property,null===t?void 0:T(t))}serialize(){let e={};for(let t of Object.keys(this._values)){let r=this.getValue(t);void 0!==r&&(e[t]=r)}return e}possiblyEvaluate(e,t,r){let n=new sa(this._properties);for(let i of Object.keys(this._values))n._values[i]=this._values[i].possiblyEvaluate(e,t,r);return n}}class oa{constructor(e,t,r){this.property=e,this.value=t,this.parameters=r}isConstant(){return"constant"===this.value.kind}constantOr(e){return"constant"===this.value.kind?this.value.value:e}evaluate(e,t,r,n){return this.property.evaluate(this.value,this.parameters,e,t,r,n)}}class sa{constructor(e){this._properties=e,this._values=Object.create(e.defaultPossiblyEvaluatedValues)}get(e){return this._values[e]}}class la{constructor(e){this.specification=e}possiblyEvaluate(e,t){if(e.isDataDriven())throw new Error("Value should not be data driven");return e.expression.evaluate(t)}interpolate(e,t,r){let n=Pt[this.specification.type];return n?n(e,t,r):e}}class ca{constructor(e,t){this.specification=e,this.overrides=t}possiblyEvaluate(e,t,r,n){return new oa(this,"constant"===e.expression.kind||"camera"===e.expression.kind?{kind:"constant",value:e.expression.evaluate(t,null,{},r,n)}:e.expression,t)}interpolate(e,t,r){if("constant"!==e.value.kind||"constant"!==t.value.kind)return e;if(void 0===e.value.value||void 0===t.value.value)return new oa(this,{kind:"constant",value:void 0},e.parameters);let n=Pt[this.specification.type];if(n){let i=n(e.value.value,t.value.value,r);return new oa(this,{kind:"constant",value:i},e.parameters)}return e}evaluate(e,t,r,n,i,a){return"constant"===e.kind?e.value:e.evaluate(t,r,n,i,a)}}class ua extends ca{possiblyEvaluate(e,t,r,n){if(void 0===e.value)return new oa(this,{kind:"constant",value:void 0},t);if("constant"===e.expression.kind){let i=e.expression.evaluate(t,null,{},r,n),a="resolvedImage"===e.property.specification.type&&"string"!=typeof i?i.name:i,o=this._calculate(a,a,a,t);return new oa(this,{kind:"constant",value:o},t)}if("camera"===e.expression.kind){let r=this._calculate(e.expression.evaluate({zoom:t.zoom-1}),e.expression.evaluate({zoom:t.zoom}),e.expression.evaluate({zoom:t.zoom+1}),t);return new oa(this,{kind:"constant",value:r},t)}return new oa(this,e.expression,t)}evaluate(e,t,r,n,i,a){if("source"===e.kind){let o=e.evaluate(t,r,n,i,a);return this._calculate(o,o,o,t)}return"composite"===e.kind?this._calculate(e.evaluate({zoom:Math.floor(t.zoom)-1},r,n),e.evaluate({zoom:Math.floor(t.zoom)},r,n),e.evaluate({zoom:Math.floor(t.zoom)+1},r,n),t):e.value}_calculate(e,t,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:r,to:t}}interpolate(e){return e}}class ha{constructor(e){this.specification=e}possiblyEvaluate(e,t,r,n){if(void 0!==e.value){if("constant"===e.expression.kind){let i=e.expression.evaluate(t,null,{},r,n);return this._calculate(i,i,i,t)}return this._calculate(e.expression.evaluate(new Qi(Math.floor(t.zoom-1),t)),e.expression.evaluate(new Qi(Math.floor(t.zoom),t)),e.expression.evaluate(new Qi(Math.floor(t.zoom+1),t)),t)}}_calculate(e,t,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:r,to:t}}interpolate(e){return e}}class fa{constructor(e){this.specification=e}possiblyEvaluate(e,t,r,n){return!!e.expression.evaluate(t,null,{},r,n)}interpolate(){return!1}}class pa{constructor(e){this.properties=e,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let t in e){let r=e[t];r.specification.overridable&&this.overridableProperties.push(t);let n=this.defaultPropertyValues[t]=new ea(r,void 0),i=this.defaultTransitionablePropertyValues[t]=new ta(r);this.defaultTransitioningPropertyValues[t]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[t]=n.possiblyEvaluate({})}}}Ti("DataDrivenProperty",ca),Ti("DataConstantProperty",la),Ti("CrossFadedDataDrivenProperty",ua),Ti("CrossFadedProperty",ha),Ti("ColorRampProperty",fa);let da="-transition";class ma extends Z{constructor(e,t){if(super(),this.id=e.id,this.type=e.type,this._featureFilter={filter:()=>!0,needGeometry:!1},"custom"!==e.type&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,"background"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),t.layout&&(this._unevaluatedLayout=new aa(t.layout)),t.paint)){this._transitionablePaint=new ra(t.paint);for(let t in e.paint)this.setPaintProperty(t,e.paint[t],{validate:!1});for(let t in e.layout)this.setLayoutProperty(t,e.layout[t],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new sa(t.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(e){return"visibility"===e?this.visibility:this._unevaluatedLayout.getValue(e)}setLayoutProperty(e,t,r={}){null!=t&&this._validate(xi,`layers.${this.id}.layout.${e}`,e,t,r)||("visibility"!==e?this._unevaluatedLayout.setValue(e,t):this.visibility=t)}getPaintProperty(e){return e.endsWith(da)?this._transitionablePaint.getTransition(e.slice(0,-11)):this._transitionablePaint.getValue(e)}setPaintProperty(e,t,r={}){if(null!=t&&this._validate(vi,`layers.${this.id}.paint.${e}`,e,t,r))return!1;if(e.endsWith(da))return this._transitionablePaint.setTransition(e.slice(0,-11),t||void 0),!1;{let r=this._transitionablePaint._values[e],n="cross-faded-data-driven"===r.property.specification["property-type"],i=r.value.isDataDriven(),a=r.value;this._transitionablePaint.setValue(e,t),this._handleSpecialPaintPropertyUpdate(e);let o=this._transitionablePaint._values[e].value;return o.isDataDriven()||i||n||this._handleOverridablePaintPropertyUpdate(e,a,o)}}_handleSpecialPaintPropertyUpdate(e){}_handleOverridablePaintPropertyUpdate(e,t,r){return!1}isHidden(e){return!!(this.minzoom&&e=this.maxzoom)||"none"===this.visibility}updateTransitions(e){this._transitioningPaint=this._transitionablePaint.transitioned(e,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(e,t){e.getCrossfadeParameters&&(this._crossfadeParameters=e.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(e,void 0,t)),this.paint=this._transitioningPaint.possiblyEvaluate(e,void 0,t)}serialize(){let e={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&&(e.layout=e.layout||{},e.layout.visibility=this.visibility),w(e,((e,t)=>!(void 0===e||"layout"===t&&!Object.keys(e).length||"paint"===t&&!Object.keys(e).length)))}_validate(e,t,r,n,i={}){return(!i||!1!==i.validate)&&_i(this,e.call(mi,{key:t,layerType:this.type,objectKey:r,value:n,styleSpec:Y,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let e in this.paint._values){let t=this.paint.get(e);if(t instanceof oa&&ln(t.property.specification)&&("source"===t.value.kind||"composite"===t.value.kind)&&t.value.isStateDependent)return!0}return!1}}let ga={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class ya{constructor(e,t){this._structArray=e,this._pos1=t*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class va{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(e,t){return e._trim(),t&&(e.isTransferred=!0,t.push(e.arrayBuffer)),{length:e.length,arrayBuffer:e.arrayBuffer}}static deserialize(e){let t=Object.create(this.prototype);return t.arrayBuffer=e.arrayBuffer,t.length=e.length,t.capacity=e.arrayBuffer.byteLength/t.bytesPerElement,t._refreshViews(),t}_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(e){this.reserve(e),this.length=e}reserve(e){if(e>this.capacity){this.capacity=Math.max(e,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let t=this.uint8;this._refreshViews(),t&&this.uint8.set(t)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}}function xa(e,t=1){let r=0,n=0;return{members:e.map((e=>{let i=ga[e.type].BYTES_PER_ELEMENT,a=r=_a(r,Math.max(t,i)),o=e.components||1;return n=Math.max(n,i),r+=i*o,{name:e.name,type:e.type,components:o,offset:a}})),size:_a(r,Math.max(n,t)),alignment:t}}function _a(e,t){return Math.ceil(e/t)*t}class ba extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t){let r=this.length;return this.resize(r+1),this.emplace(r,e,t)}emplace(e,t,r){let n=2*e;return this.int16[n+0]=t,this.int16[n+1]=r,e}}ba.prototype.bytesPerElement=4,Ti("StructArrayLayout2i4",ba);class wa extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r){let n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)}emplace(e,t,r,n){let i=3*e;return this.int16[i+0]=t,this.int16[i+1]=r,this.int16[i+2]=n,e}}wa.prototype.bytesPerElement=6,Ti("StructArrayLayout3i6",wa);class Ta extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,n){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,r,n)}emplace(e,t,r,n,i){let a=4*e;return this.int16[a+0]=t,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,e}}Ta.prototype.bytesPerElement=8,Ti("StructArrayLayout4i8",Ta);class ka extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)}emplace(e,t,r,n,i,a,o){let s=6*e;return this.int16[s+0]=t,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e}}ka.prototype.bytesPerElement=12,Ti("StructArrayLayout2i4i12",ka);class Aa extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)}emplace(e,t,r,n,i,a,o){let s=4*e,l=8*e;return this.int16[s+0]=t,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,e}}Aa.prototype.bytesPerElement=8,Ti("StructArrayLayout2i4ub8",Aa);class Ma extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t){let r=this.length;return this.resize(r+1),this.emplace(r,e,t)}emplace(e,t,r){let n=2*e;return this.float32[n+0]=t,this.float32[n+1]=r,e}}Ma.prototype.bytesPerElement=8,Ti("StructArrayLayout2f8",Ma);class Sa extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a,o,s,l,c){let u=this.length;return this.resize(u+1),this.emplace(u,e,t,r,n,i,a,o,s,l,c)}emplace(e,t,r,n,i,a,o,s,l,c,u){let h=10*e;return this.uint16[h+0]=t,this.uint16[h+1]=r,this.uint16[h+2]=n,this.uint16[h+3]=i,this.uint16[h+4]=a,this.uint16[h+5]=o,this.uint16[h+6]=s,this.uint16[h+7]=l,this.uint16[h+8]=c,this.uint16[h+9]=u,e}}Sa.prototype.bytesPerElement=20,Ti("StructArrayLayout10ui20",Sa);class Ea extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a,o,s,l,c,u,h){let f=this.length;return this.resize(f+1),this.emplace(f,e,t,r,n,i,a,o,s,l,c,u,h)}emplace(e,t,r,n,i,a,o,s,l,c,u,h,f){let p=12*e;return this.int16[p+0]=t,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=c,this.int16[p+9]=u,this.int16[p+10]=h,this.int16[p+11]=f,e}}Ea.prototype.bytesPerElement=24,Ti("StructArrayLayout4i4ui4i24",Ea);class Ca extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r){let n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)}emplace(e,t,r,n){let i=3*e;return this.float32[i+0]=t,this.float32[i+1]=r,this.float32[i+2]=n,e}}Ca.prototype.bytesPerElement=12,Ti("StructArrayLayout3f12",Ca);class Ia extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.uint32[1*e+0]=t,e}}Ia.prototype.bytesPerElement=4,Ti("StructArrayLayout1ul4",Ia);class La extends va{_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(e,t,r,n,i,a,o,s,l){let c=this.length;return this.resize(c+1),this.emplace(c,e,t,r,n,i,a,o,s,l)}emplace(e,t,r,n,i,a,o,s,l,c){let u=10*e,h=5*e;return this.int16[u+0]=t,this.int16[u+1]=r,this.int16[u+2]=n,this.int16[u+3]=i,this.int16[u+4]=a,this.int16[u+5]=o,this.uint32[h+3]=s,this.uint16[u+8]=l,this.uint16[u+9]=c,e}}La.prototype.bytesPerElement=20,Ti("StructArrayLayout6i1ul2ui20",La);class Pa extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)}emplace(e,t,r,n,i,a,o){let s=6*e;return this.int16[s+0]=t,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e}}Pa.prototype.bytesPerElement=12,Ti("StructArrayLayout2i2i2i12",Pa);class za extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i){let a=this.length;return this.resize(a+1),this.emplace(a,e,t,r,n,i)}emplace(e,t,r,n,i,a){let o=4*e,s=8*e;return this.float32[o+0]=t,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,e}}za.prototype.bytesPerElement=16,Ti("StructArrayLayout2f1f2i16",za);class Da extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)}emplace(e,t,r,n,i,a,o){let s=16*e,l=4*e,c=8*e;return this.uint8[s+0]=t,this.uint8[s+1]=r,this.float32[l+1]=n,this.float32[l+2]=i,this.int16[c+6]=a,this.int16[c+7]=o,e}}Da.prototype.bytesPerElement=16,Ti("StructArrayLayout2ub2f2i16",Da);class Oa extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r){let n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)}emplace(e,t,r,n){let i=3*e;return this.uint16[i+0]=t,this.uint16[i+1]=r,this.uint16[i+2]=n,e}}Oa.prototype.bytesPerElement=6,Ti("StructArrayLayout3ui6",Oa);class Ra extends va{_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(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g){let y=this.length;return this.resize(y+1),this.emplace(y,e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g)}emplace(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y){let v=24*e,x=12*e,_=48*e;return this.int16[v+0]=t,this.int16[v+1]=r,this.uint16[v+2]=n,this.uint16[v+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[v+10]=l,this.uint16[v+11]=c,this.uint16[v+12]=u,this.float32[x+7]=h,this.float32[x+8]=f,this.uint8[_+36]=p,this.uint8[_+37]=d,this.uint8[_+38]=m,this.uint32[x+10]=g,this.int16[v+22]=y,e}}Ra.prototype.bytesPerElement=48,Ti("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",Ra);class Fa extends va{_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(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S){let E=this.length;return this.resize(E+1),this.emplace(E,e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S)}emplace(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S,E){let C=32*e,I=16*e;return this.int16[C+0]=t,this.int16[C+1]=r,this.int16[C+2]=n,this.int16[C+3]=i,this.int16[C+4]=a,this.int16[C+5]=o,this.int16[C+6]=s,this.int16[C+7]=l,this.uint16[C+8]=c,this.uint16[C+9]=u,this.uint16[C+10]=h,this.uint16[C+11]=f,this.uint16[C+12]=p,this.uint16[C+13]=d,this.uint16[C+14]=m,this.uint16[C+15]=g,this.uint16[C+16]=y,this.uint16[C+17]=v,this.uint16[C+18]=x,this.uint16[C+19]=_,this.uint16[C+20]=b,this.uint16[C+21]=w,this.uint16[C+22]=T,this.uint32[I+12]=k,this.float32[I+13]=A,this.float32[I+14]=M,this.uint16[C+30]=S,this.uint16[C+31]=E,e}}Fa.prototype.bytesPerElement=64,Ti("StructArrayLayout8i15ui1ul2f2ui64",Fa);class Ba extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.float32[1*e+0]=t,e}}Ba.prototype.bytesPerElement=4,Ti("StructArrayLayout1f4",Ba);class ja extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r){let n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)}emplace(e,t,r,n){let i=3*e;return this.uint16[6*e+0]=t,this.float32[i+1]=r,this.float32[i+2]=n,e}}ja.prototype.bytesPerElement=12,Ti("StructArrayLayout1ui2f12",ja);class Na extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r){let n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)}emplace(e,t,r,n){let i=4*e;return this.uint32[2*e+0]=t,this.uint16[i+2]=r,this.uint16[i+3]=n,e}}Na.prototype.bytesPerElement=8,Ti("StructArrayLayout1ul2ui8",Na);class Ua extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t){let r=this.length;return this.resize(r+1),this.emplace(r,e,t)}emplace(e,t,r){let n=2*e;return this.uint16[n+0]=t,this.uint16[n+1]=r,e}}Ua.prototype.bytesPerElement=4,Ti("StructArrayLayout2ui4",Ua);class Va extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.uint16[1*e+0]=t,e}}Va.prototype.bytesPerElement=2,Ti("StructArrayLayout1ui2",Va);class qa extends va{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r,n){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,r,n)}emplace(e,t,r,n,i){let a=4*e;return this.float32[a+0]=t,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,e}}qa.prototype.bytesPerElement=16,Ti("StructArrayLayout4f16",qa);class Ha extends ya{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 a(this.anchorPointX,this.anchorPointY)}}Ha.prototype.size=20;class Ga extends La{get(e){return new Ha(this,e)}}Ti("CollisionBoxArray",Ga);class Wa extends ya{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(e){this._structArray.uint8[this._pos1+37]=e}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(e){this._structArray.uint8[this._pos1+38]=e}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(e){this._structArray.uint32[this._pos4+10]=e}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Wa.prototype.size=48;class Za extends Ra{get(e){return new Wa(this,e)}}Ti("PlacedSymbolArray",Za);class Ya extends ya{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(e){this._structArray.uint32[this._pos4+12]=e}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]}}Ya.prototype.size=64;class Xa extends Fa{get(e){return new Ya(this,e)}}Ti("SymbolInstanceArray",Xa);class $a extends Ba{getoffsetX(e){return this.float32[1*e+0]}}Ti("GlyphOffsetArray",$a);class Ka extends wa{getx(e){return this.int16[3*e+0]}gety(e){return this.int16[3*e+1]}gettileUnitDistanceFromAnchor(e){return this.int16[3*e+2]}}Ti("SymbolLineVertexArray",Ka);class Ja extends ya{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]}}Ja.prototype.size=12;class Qa extends ja{get(e){return new Ja(this,e)}}Ti("TextAnchorOffsetArray",Qa);class eo extends ya{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]}}eo.prototype.size=8;class to extends Na{get(e){return new eo(this,e)}}Ti("FeatureIndexArray",to);class ro extends ba{}class no extends ba{}class io extends ba{}class ao extends ka{}class oo extends Aa{}class so extends Ma{}class lo extends Sa{}class co extends Ea{}class uo extends Ca{}class ho extends Ia{}class fo extends Pa{}class po extends Da{}class mo extends Oa{}class go extends Ua{}let yo=xa([{name:"a_pos",components:2,type:"Int16"}],4),{members:vo}=yo;class xo{constructor(e=[]){this.segments=e}prepareSegment(e,t,r,n){let i=this.segments[this.segments.length-1];return e>xo.MAX_VERTEX_ARRAY_LENGTH&&A(`Max vertices per segment is ${xo.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${e}`),(!i||i.vertexLength+e>xo.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:t.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i}get(){return this.segments}destroy(){for(let e of this.segments)for(let t in e.vaos)e.vaos[t].destroy()}static simpleSegment(e,t,r,n){return new xo([{vertexOffset:e,primitiveOffset:t,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])}}function _o(e,t){return 256*(e=y(Math.floor(e),0,255))+y(Math.floor(t),0,255)}xo.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Ti("SegmentVector",xo);let bo=xa([{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 wo={exports:{}},To=function(e,t){var r,n,i,a,o,s,l,c;for(n=e.length-(r=3&e.length),i=t,o=3432918353,s=461845907,c=0;c>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&e.charCodeAt(c+2))<<16;case 2:l^=(255&e.charCodeAt(c+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&e.charCodeAt(c)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return i^=e.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0},ko=function(e,t){for(var r,n=e.length,i=t^n,a=0;n>=4;)r=1540483477*(65535&(r=255&e.charCodeAt(a)|(255&e.charCodeAt(++a))<<8|(255&e.charCodeAt(++a))<<16|(255&e.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&e.charCodeAt(a+2))<<16;case 2:i^=(255&e.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&e.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0};wo.exports=To,wo.exports.murmur3=To,wo.exports.murmur2=ko;var Ao=r(wo.exports);class Mo{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(e,t,r,n){this.ids.push(So(e)),this.positions.push(t,r,n)}getPositions(e){if(!this.indexed)throw new Error("Trying to get index, but feature positions are not indexed");let t=So(e),r=0,n=this.ids.length-1;for(;r>1;this.ids[e]>=t?n=e:r=e+1}let i=[];for(;this.ids[r]===t;)i.push({index:this.positions[3*r],start:this.positions[3*r+1],end:this.positions[3*r+2]}),r++;return i}static serialize(e,t){let r=new Float64Array(e.ids),n=new Uint32Array(e.positions);return Eo(r,n,0,r.length-1),t&&t.push(r.buffer,n.buffer),{ids:r,positions:n}}static deserialize(e){let t=new Mo;return t.ids=e.ids,t.positions=e.positions,t.indexed=!0,t}}function So(e){let t=+e;return!isNaN(t)&&t<=Number.MAX_SAFE_INTEGER?t:Ao(String(e))}function Eo(e,t,r,n){for(;r>1],a=r-1,o=n+1;for(;;){do{a++}while(e[a]i);if(a>=o)break;Co(e,a,o),Co(t,3*a,3*o),Co(t,3*a+1,3*o+1),Co(t,3*a+2,3*o+2)}o-r`u_${e}`)),this.type=r}setUniform(e,t,r){e.set(r.constantOr(this.value))}getBinding(e,t,r){return"color"===this.type?new zo(e,t):new Lo(e,t)}}class Fo{constructor(e,t){this.uniformNames=t.map((e=>`u_${e}`)),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(e,t){this.pixelRatioFrom=t.pixelRatio,this.pixelRatioTo=e.pixelRatio,this.patternFrom=t.tlbr,this.patternTo=e.tlbr}setUniform(e,t,r,n){let i="u_pattern_to"===n?this.patternTo:"u_pattern_from"===n?this.patternFrom:"u_pixel_ratio_to"===n?this.pixelRatioTo:"u_pixel_ratio_from"===n?this.pixelRatioFrom:null;i&&e.set(i)}getBinding(e,t,r){return"u_pattern"===r.substr(0,9)?new Po(e,t):new Lo(e,t)}}class Bo{constructor(e,t,r,n){this.expression=e,this.type=r,this.maxValue=0,this.paintVertexAttributes=t.map((e=>({name:`a_${e}`,type:"Float32",components:"color"===r?2:1,offset:0}))),this.paintVertexArray=new n}populatePaintArray(e,t,r,n,i){let a=this.paintVertexArray.length,o=this.expression.evaluate(new Qi(0),t,{},n,[],i);this.paintVertexArray.resize(e),this._setPaintValue(a,e,o)}updatePaintArray(e,t,r,n){let i=this.expression.evaluate({zoom:0},r,n);this._setPaintValue(e,t,i)}_setPaintValue(e,t,r){if("color"===this.type){let n=Oo(r);for(let r=e;r`u_${e}_t`)),this.type=r,this.useIntegerZoom=n,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=t.map((e=>({name:`a_${e}`,type:"Float32",components:"color"===r?4:2,offset:0}))),this.paintVertexArray=new a}populatePaintArray(e,t,r,n,i){let a=this.expression.evaluate(new Qi(this.zoom),t,{},n,[],i),o=this.expression.evaluate(new Qi(this.zoom+1),t,{},n,[],i),s=this.paintVertexArray.length;this.paintVertexArray.resize(e),this._setPaintValue(s,e,a,o)}updatePaintArray(e,t,r,n){let i=this.expression.evaluate({zoom:this.zoom},r,n),a=this.expression.evaluate({zoom:this.zoom+1},r,n);this._setPaintValue(e,t,i,a)}_setPaintValue(e,t,r,n){if("color"===this.type){let i=Oo(r),a=Oo(n);for(let r=e;r`#define HAS_UNIFORM_${e}`)))}return e}getBinderAttributes(){let e=[];for(let t in this.binders){let r=this.binders[t];if(r instanceof Bo||r instanceof jo)for(let t=0;t!0){this.programConfigurations={};for(let n of e)this.programConfigurations[n.id]=new Uo(n,t,r);this.needsUpload=!1,this._featureMap=new Mo,this._bufferOffset=0}populatePaintArrays(e,t,r,n,i,a){for(let r in this.programConfigurations)this.programConfigurations[r].populatePaintArrays(e,t,n,i,a);void 0!==t.id&&this._featureMap.add(t.id,r,this._bufferOffset,e),this._bufferOffset=e,this.needsUpload=!0}updatePaintArrays(e,t,r,n){for(let i of r)this.needsUpload=this.programConfigurations[i.id].updatePaintArrays(e,this._featureMap,t,i,n)||this.needsUpload}get(e){return this.programConfigurations[e]}upload(e){if(this.needsUpload){for(let t in this.programConfigurations)this.programConfigurations[t].upload(e);this.needsUpload=!1}}destroy(){for(let e in this.programConfigurations)this.programConfigurations[e].destroy()}}function qo(e,t){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"]}[e]||[e.replace(`${t}-`,"").replace(/-/g,"_")]}function Ho(e,t,r){let n={color:{source:Ma,composite:qa},number:{source:Ba,composite:Ma}},i={"line-pattern":{source:lo,composite:lo},"fill-pattern":{source:lo,composite:lo},"fill-extrusion-pattern":{source:lo,composite:lo}}[e];return i&&i[r]||n[t][r]}Ti("ConstantBinder",Ro),Ti("CrossFadedConstantBinder",Fo),Ti("SourceExpressionBinder",Bo),Ti("CrossFadedCompositeBinder",No),Ti("CompositeExpressionBinder",jo),Ti("ProgramConfiguration",Uo,{omit:["_buffers"]}),Ti("ProgramConfigurationSet",Vo);let Go,Wo,Zo=8192,Yo=Math.pow(2,14)-1,Xo=-Yo-1;function $o(e){let t=Zo/e.extent,r=e.loadGeometry();for(let e=0;er.x+1||ar.y+1)&&A("Geometry exceeds allowed extent, reduce your vector tile buffer size")}}return r}function Ko(e,t){return{type:e.type,id:e.id,properties:e.properties,geometry:t?$o(e):[]}}function Jo(e,t,r,n,i){e.emplaceBack(2*t+(n+1)/2,2*r+(i+1)/2)}class Qo{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasPattern=!1,this.layoutVertexArray=new no,this.indexArray=new mo,this.segments=new xo,this.programConfigurations=new Vo(e.layers,e.zoom),this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,r){let n=this.layers[0],i=[],a=null,o=!1;"circle"===n.type&&(a=n.layout.get("circle-sort-key"),o=!a.isConstant());for(let{feature:t,id:n,index:s,sourceLayerIndex:l}of e){let e=this.layers[0]._featureFilter.needGeometry,c=Ko(t,e);if(!this.layers[0]._featureFilter.filter(new Qi(this.zoom),c,r))continue;let u=o?a.evaluate(c,{},r):void 0,h={id:n,properties:t.properties,type:t.type,sourceLayerIndex:l,index:s,geometry:e?c.geometry:$o(t),patterns:{},sortKey:u};i.push(h)}o&&i.sort(((e,t)=>e.sortKey-t.sortKey));for(let n of i){let{geometry:i,index:a,sourceLayerIndex:o}=n,s=e[a].feature;this.addFeature(n,i,a,r),t.featureIndex.insert(s,i,a,o,this.index)}}update(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,r)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,vo),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(e,t,r,n){for(let r of t)for(let t of r){let r=t.x,n=t.y;if(r<0||r>=Zo||n<0||n>=Zo)continue;let i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,e.sortKey),a=i.vertexLength;Jo(this.layoutVertexArray,r,n,-1,-1),Jo(this.layoutVertexArray,r,n,1,-1),Jo(this.layoutVertexArray,r,n,1,1),Jo(this.layoutVertexArray,r,n,-1,1),this.indexArray.emplaceBack(a,a+1,a+2),this.indexArray.emplaceBack(a,a+3,a+2),i.vertexLength+=4,i.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,{},n)}}function es(e,t){for(let r=0;r1){if(is(e,t))return!0;for(let n=0;n1?r:r.sub(t)._mult(i)._add(t))}function ls(e,t){let r,n,i,a=!1;for(let o=0;ot.y!=i.y>t.y&&t.x<(i.x-n.x)*(t.y-n.y)/(i.y-n.y)+n.x&&(a=!a)}return a}function cs(e,t){let r=!1;for(let n=0,i=e.length-1;nt.y!=o.y>t.y&&t.x<(o.x-a.x)*(t.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function us(e,t,r){let n=r[0],i=r[2];if(e.xi.x&&t.x>i.x||e.yi.y&&t.y>i.y)return!1;let a=M(e,t,r[0]);return a!==M(e,t,r[1])||a!==M(e,t,r[2])||a!==M(e,t,r[3])}function hs(e,t,r){let n=t.paint.get(e).value;return"constant"===n.kind?n.value:r.programConfigurations.get(t.id).getMaxValue(e)}function fs(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function ps(e,t,r,n,i){if(!t[0]&&!t[1])return e;let o=a.convert(t)._mult(i);"viewport"===r&&o._rotate(-n);let s=[];for(let t=0;tTs(e,p)))),f=u?c*o:c;var p;for(let e of n)for(let t of e){let e=u?t:Ts(t,s),r=f,n=bs([],[t.x,t.y,0,1],s);if("viewport"===this.paint.get("circle-pitch-scale")&&"map"===this.paint.get("circle-pitch-alignment")?r*=n[3]/a.cameraToCenterDistance:"map"===this.paint.get("circle-pitch-scale")&&"viewport"===this.paint.get("circle-pitch-alignment")&&(r*=a.cameraToCenterDistance/n[3]),ts(h,e,r))return!0}return!1}}function Ts(e,t){let r=bs([],[e.x,e.y,0,1],t);return new a(r[0]/r[3],r[1]/r[3])}class ks extends Qo{}let As;Ti("HeatmapBucket",ks,{omit:["layers"]});var Ms={get paint(){return As=As||new pa({"heatmap-radius":new ca(Y.paint_heatmap["heatmap-radius"]),"heatmap-weight":new ca(Y.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new la(Y.paint_heatmap["heatmap-intensity"]),"heatmap-color":new fa(Y.paint_heatmap["heatmap-color"]),"heatmap-opacity":new la(Y.paint_heatmap["heatmap-opacity"])})}};function Ss(e,{width:t,height:r},n,i){if(i){if(i instanceof Uint8ClampedArray)i=new Uint8Array(i.buffer);else if(i.length!==t*r*n)throw new RangeError(`mismatched image size. expected: ${i.length} but got: ${t*r*n}`)}else i=new Uint8Array(t*r*n);return e.width=t,e.height=r,e.data=i,e}function Es(e,{width:t,height:r},n){if(t===e.width&&r===e.height)return;let i=Ss({},{width:t,height:r},n);Cs(e,i,{x:0,y:0},{x:0,y:0},{width:Math.min(e.width,t),height:Math.min(e.height,r)},n),e.width=t,e.height=r,e.data=i.data}function Cs(e,t,r,n,i,a){if(0===i.width||0===i.height)return t;if(i.width>e.width||i.height>e.height||r.x>e.width-i.width||r.y>e.height-i.height)throw new RangeError("out of range source coordinates for image copy");if(i.width>t.width||i.height>t.height||n.x>t.width-i.width||n.y>t.height-i.height)throw new RangeError("out of range destination coordinates for image copy");let o=e.data,s=t.data;if(o===s)throw new Error("srcData equals dstData, so image is already copied");for(let l=0;l{t[e.evaluationKey]=a;let o=e.expression.evaluate(t);i.data[r+n+0]=Math.floor(255*o.r/o.a),i.data[r+n+1]=Math.floor(255*o.g/o.a),i.data[r+n+2]=Math.floor(255*o.b/o.a),i.data[r+n+3]=Math.floor(255*o.a)};if(e.clips)for(let t=0,i=0;t80*r){n=1/0,i=1/0;let t=-1/0,o=-1/0;for(let a=r;at&&(t=r),s>o&&(o=s)}a=Math.max(t-n,o-i),a=0!==a?32767/a:0}return Gs(l,c,r,n,i,a,0),c}function qs(e,t,r,n,i){let a;if(i===function(e,t,r,n){let i=0;for(let a=t,o=r-n;a0)for(let i=t;i=t;i-=n)a=ul(i/n|0,e[i],e[i+1],a);return a&&il(a,a.next)&&(hl(a),a=a.next),a}function Hs(e,t){if(!e)return e;t||(t=e);let r,n=e;do{if(r=!1,n.steiner||!il(n,n.next)&&0!==nl(n.prev,n,n.next))n=n.next;else{if(hl(n),n=t=n.prev,n===n.next)break;r=!0}}while(r||n!==t);return t}function Gs(e,t,r,n,i,a,o){if(!e)return;!o&&a&&function(e,t,r,n){let i=e;do{0===i.z&&(i.z=Qs(i.x,i.y,t,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,function(e){let t,r=1;do{let n,i=e;e=null;let a=null;for(t=0;i;){t++;let o=i,s=0;for(let e=0;e0||l>0&&o;)0!==s&&(0===l||!o||i.z<=o.z)?(n=i,i=i.nextZ,s--):(n=o,o=o.nextZ,l--),a?a.nextZ=n:e=n,n.prevZ=a,a=n;i=o}a.nextZ=null,r*=2}while(t>1)}(i)}(e,n,i,a);let s=e;for(;e.prev!==e.next;){let l=e.prev,c=e.next;if(a?Zs(e,n,i,a):Ws(e))t.push(l.i,e.i,c.i),hl(e),e=c.next,s=c.next;else if((e=c)===s){o?1===o?Gs(e=Ys(Hs(e),t),t,r,n,i,a,2):2===o&&Xs(e,t,r,n,i,a):Gs(Hs(e),t,r,n,i,a,1);break}}}function Ws(e){let t=e.prev,r=e,n=e.next;if(nl(t,r,n)>=0)return!1;let i=t.x,a=r.x,o=n.x,s=t.y,l=r.y,c=n.y,u=ia?i>o?i:o:a>o?a:o,p=s>l?s>c?s:c:l>c?l:c,d=n.next;for(;d!==t;){if(d.x>=u&&d.x<=f&&d.y>=h&&d.y<=p&&tl(i,s,a,l,o,c,d.x,d.y)&&nl(d.prev,d,d.next)>=0)return!1;d=d.next}return!0}function Zs(e,t,r,n){let i=e.prev,a=e,o=e.next;if(nl(i,a,o)>=0)return!1;let s=i.x,l=a.x,c=o.x,u=i.y,h=a.y,f=o.y,p=sl?s>c?s:c:l>c?l:c,g=u>h?u>f?u:f:h>f?h:f,y=Qs(p,d,t,r,n),v=Qs(m,g,t,r,n),x=e.prevZ,_=e.nextZ;for(;x&&x.z>=y&&_&&_.z<=v;){if(x.x>=p&&x.x<=m&&x.y>=d&&x.y<=g&&x!==i&&x!==o&&tl(s,u,l,h,c,f,x.x,x.y)&&nl(x.prev,x,x.next)>=0||(x=x.prevZ,_.x>=p&&_.x<=m&&_.y>=d&&_.y<=g&&_!==i&&_!==o&&tl(s,u,l,h,c,f,_.x,_.y)&&nl(_.prev,_,_.next)>=0))return!1;_=_.nextZ}for(;x&&x.z>=y;){if(x.x>=p&&x.x<=m&&x.y>=d&&x.y<=g&&x!==i&&x!==o&&tl(s,u,l,h,c,f,x.x,x.y)&&nl(x.prev,x,x.next)>=0)return!1;x=x.prevZ}for(;_&&_.z<=v;){if(_.x>=p&&_.x<=m&&_.y>=d&&_.y<=g&&_!==i&&_!==o&&tl(s,u,l,h,c,f,_.x,_.y)&&nl(_.prev,_,_.next)>=0)return!1;_=_.nextZ}return!0}function Ys(e,t){let r=e;do{let n=r.prev,i=r.next.next;!il(n,i)&&al(n,r,r.next,i)&&ll(n,i)&&ll(i,n)&&(t.push(n.i,r.i,i.i),hl(r),hl(r.next),r=e=i),r=r.next}while(r!==e);return Hs(r)}function Xs(e,t,r,n,i,a){let o=e;do{let e=o.next.next;for(;e!==o.prev;){if(o.i!==e.i&&rl(o,e)){let s=cl(o,e);return o=Hs(o,o.next),s=Hs(s,s.next),Gs(o,t,r,n,i,a,0),void Gs(s,t,r,n,i,a,0)}e=e.next}o=o.next}while(o!==e)}function $s(e,t){return e.x-t.x}function Ks(e,t){let r=function(e,t){let r,n=t,i=e.x,a=e.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){let e=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(e<=i&&e>o&&(o=e,r=n.x=n.x&&n.x>=l&&i!==n.x&&tl(ar.x||n.x===r.x&&Js(r,n)))&&(r=n,u=t)}n=n.next}while(n!==s);return r}(e,t);if(!r)return t;let n=cl(r,e);return Hs(n,n.next),Hs(r,r.next)}function Js(e,t){return nl(e.prev,e,t.prev)<0&&nl(t.next,e,e.next)<0}function Qs(e,t,r,n,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-r)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-n)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function el(e){let t=e,r=e;do{(t.x=(e-o)*(a-s)&&(e-o)*(n-s)>=(r-o)*(t-s)&&(r-o)*(a-s)>=(i-o)*(n-s)}function rl(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){let r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&al(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}(e,t)&&(ll(e,t)&&ll(t,e)&&function(e,t){let r=e,n=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==e);return n}(e,t)&&(nl(e.prev,e,t.prev)||nl(e,t.prev,t))||il(e,t)&&nl(e.prev,e,e.next)>0&&nl(t.prev,t,t.next)>0)}function nl(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function il(e,t){return e.x===t.x&&e.y===t.y}function al(e,t,r,n){let i=sl(nl(e,t,r)),a=sl(nl(e,t,n)),o=sl(nl(r,n,e)),s=sl(nl(r,n,t));return i!==a&&o!==s||!(0!==i||!ol(e,r,t))||!(0!==a||!ol(e,n,t))||!(0!==o||!ol(r,e,n))||!(0!==s||!ol(r,t,n))}function ol(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function sl(e){return e>0?1:e<0?-1:0}function ll(e,t){return nl(e.prev,e,e.next)<0?nl(e,t,e.next)>=0&&nl(e,e.prev,t)>=0:nl(e,t,e.prev)<0||nl(e,e.next,t)<0}function cl(e,t){let r=fl(e.i,e.x,e.y),n=fl(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function ul(e,t,r,n){let i=fl(e,t,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function hl(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function fl(e,t,r){return{i:e,x:t,y:r,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function pl(e,t,r){let n=r.patternDependencies,i=!1;for(let r of t){let t=r.paint.get(`${e}-pattern`);t.isConstant()||(i=!0);let a=t.constantOr(null);a&&(i=!0,n[a.to]=!0,n[a.from]=!0)}return i}function dl(e,t,r,n,i){let a=i.patternDependencies;for(let o of t){let t=o.paint.get(`${e}-pattern`).value;if("constant"!==t.kind){let e=t.evaluate({zoom:n-1},r,{},i.availableImages),s=t.evaluate({zoom:n},r,{},i.availableImages),l=t.evaluate({zoom:n+1},r,{},i.availableImages);e=e&&e.name?e.name:e,s=s&&s.name?s.name:s,l=l&&l.name?l.name:l,a[e]=!0,a[s]=!0,a[l]=!0,r.patterns[o.id]={min:e,mid:s,max:l}}}return r}class ml{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new io,this.indexArray=new mo,this.indexArray2=new go,this.programConfigurations=new Vo(e.layers,e.zoom),this.segments=new xo,this.segments2=new xo,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,r){this.hasPattern=pl("fill",this.layers,t);let n=this.layers[0].layout.get("fill-sort-key"),i=!n.isConstant(),a=[];for(let{feature:o,id:s,index:l,sourceLayerIndex:c}of e){let e=this.layers[0]._featureFilter.needGeometry,u=Ko(o,e);if(!this.layers[0]._featureFilter.filter(new Qi(this.zoom),u,r))continue;let h=i?n.evaluate(u,{},r,t.availableImages):void 0,f={id:s,properties:o.properties,type:o.type,sourceLayerIndex:c,index:l,geometry:e?u.geometry:$o(o),patterns:{},sortKey:h};a.push(f)}i&&a.sort(((e,t)=>e.sortKey-t.sortKey));for(let n of a){let{geometry:i,index:a,sourceLayerIndex:o}=n;if(this.hasPattern){let e=dl("fill",this.layers,n,this.zoom,t);this.patternFeatures.push(e)}else this.addFeature(n,i,a,r,{});t.featureIndex.insert(e[a].feature,i,a,o,this.index)}}update(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,r)}addFeatures(e,t,r){for(let e of this.patternFeatures)this.addFeature(e,e.geometry,e.index,t,r)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Us),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.indexBuffer2=e.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(e),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(e,t,r,n,i){for(let e of _r(t,500)){let t=0;for(let r of e)t+=r.length;let r=this.segments.prepareSegment(t,this.layoutVertexArray,this.indexArray),n=r.vertexLength,i=[],a=[];for(let t of e){if(0===t.length)continue;t!==e[0]&&a.push(i.length/2);let r=this.segments2.prepareSegment(t.length,this.layoutVertexArray,this.indexArray2),n=r.vertexLength;this.layoutVertexArray.emplaceBack(t[0].x,t[0].y),this.indexArray2.emplaceBack(n+t.length-1,n),i.push(t[0].x),i.push(t[0].y);for(let e=1;e>3}if(i--,1===n||2===n)a+=e.readSVarint(),o+=e.readSVarint(),1===n&&(t&&s.push(t),t=[]),t.push(new wl(a,o));else{if(7!==n)throw new Error("unknown command "+n);t&&t.push(t[0].clone())}}return t&&s.push(t),s},kl.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;e.pos>3}if(n--,1===r||2===r)(i+=e.readSVarint())s&&(s=i),(a+=e.readSVarint())c&&(c=a);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,c]},kl.prototype.toGeoJSON=function(e,t,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*e,s=this.extent*t,l=this.loadGeometry(),c=kl.types[this.type];function u(e){for(var t=0;t>3;t=1===n?e.readString():2===n?e.readFloat():3===n?e.readDouble():4===n?e.readVarint64():5===n?e.readVarint():6===n?e.readSVarint():7===n?e.readBoolean():null}return t}(r))}Cl.prototype.feature=function(e){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new Sl(this._pbf,t,this.extent,this._keys,this._values)};var Ll=El;function Pl(e,t,r){if(3===e){var n=new Ll(r,r.readVarint()+r.pos);n.length&&(t[n.name]=n)}}bl.VectorTile=function(e,t){this.layers=e.readFields(Pl,{},t)},bl.VectorTileFeature=Tl,bl.VectorTileLayer=El;let zl,Dl=bl.VectorTileFeature.types,Ol=Math.pow(2,13);function Rl(e,t,r,n,i,a,o,s){e.emplaceBack(t,r,2*Math.floor(n*Ol)+o,i*Ol*2,a*Ol*2,Math.round(s))}class Fl{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasPattern=!1,this.layoutVertexArray=new ao,this.centroidVertexArray=new ro,this.indexArray=new mo,this.programConfigurations=new Vo(e.layers,e.zoom),this.segments=new xo,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,r){this.features=[],this.hasPattern=pl("fill-extrusion",this.layers,t);for(let{feature:n,id:i,index:a,sourceLayerIndex:o}of e){let e=this.layers[0]._featureFilter.needGeometry,s=Ko(n,e);if(!this.layers[0]._featureFilter.filter(new Qi(this.zoom),s,r))continue;let l={id:i,sourceLayerIndex:o,index:a,geometry:e?s.geometry:$o(n),properties:n.properties,type:n.type,patterns:{}};this.hasPattern?this.features.push(dl("fill-extrusion",this.layers,l,this.zoom,t)):this.addFeature(l,l.geometry,a,r,{}),t.featureIndex.insert(n,l.geometry,a,o,this.index,!0)}}addFeatures(e,t,r){for(let e of this.features){let{geometry:n}=e;this.addFeature(e,n,e.index,t,r)}}update(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,r)}isEmpty(){return 0===this.layoutVertexArray.length&&0===this.centroidVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,_l),this.centroidVertexBuffer=e.createVertexBuffer(this.centroidVertexArray,xl.members,!0),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(e,t,r,n,i){for(let r of _r(t,500)){let t={x:0,y:0,vertexCount:0},n=0;for(let e of r)n+=e.length;let i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(let e of r){if(0===e.length||jl(e))continue;let r=0;for(let n=0;n=1){let o=e[n-1];if(!Bl(a,o)){i.vertexLength+4>xo.MAX_VERTEX_ARRAY_LENGTH&&(i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let e=a.sub(o)._perp()._unit(),n=o.dist(a);r+n>32768&&(r=0),Rl(this.layoutVertexArray,a.x,a.y,e.x,e.y,0,0,r),Rl(this.layoutVertexArray,a.x,a.y,e.x,e.y,0,1,r),t.x+=2*a.x,t.y+=2*a.y,t.vertexCount+=2,r+=n,Rl(this.layoutVertexArray,o.x,o.y,e.x,e.y,0,0,r),Rl(this.layoutVertexArray,o.x,o.y,e.x,e.y,0,1,r),t.x+=2*o.x,t.y+=2*o.y,t.vertexCount+=2;let s=i.vertexLength;this.indexArray.emplaceBack(s,s+2,s+1),this.indexArray.emplaceBack(s+1,s+2,s+3),i.vertexLength+=4,i.primitiveLength+=2}}}}if(i.vertexLength+n>xo.MAX_VERTEX_ARRAY_LENGTH&&(i=this.segments.prepareSegment(n,this.layoutVertexArray,this.indexArray)),"Polygon"!==Dl[e.type])continue;let a=[],o=[],s=i.vertexLength;for(let e of r)if(0!==e.length){e!==r[0]&&o.push(a.length/2);for(let r=0;rZo)||e.y===t.y&&(e.y<0||e.y>Zo)}function jl(e){return e.every((e=>e.x<0))||e.every((e=>e.x>Zo))||e.every((e=>e.y<0))||e.every((e=>e.y>Zo))}Ti("FillExtrusionBucket",Fl,{omit:["layers","features"]});var Nl={get paint(){return zl=zl||new pa({"fill-extrusion-opacity":new la(Y["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new ca(Y["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new la(Y["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new la(Y["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new ua(Y["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new ca(Y["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new ca(Y["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new la(Y["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})}};class Ul extends ma{constructor(e){super(e,Nl)}createBucket(e){return new Fl(e)}queryRadius(){return fs(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature(e,t,r,n,i,o,s,l){let c=ps(e,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),o.angle,s),u=this.paint.get("fill-extrusion-height").evaluate(t,r),h=this.paint.get("fill-extrusion-base").evaluate(t,r),f=function(e,t){let r=[];for(let n of e){let e=[n.x,n.y,0,1];bs(e,e,t),r.push(new a(e[0]/e[3],e[1]/e[3]))}return r}(c,l),p=function(e,t,r,n){let i=[],o=[],s=n[8]*t,l=n[9]*t,c=n[10]*t,u=n[11]*t,h=n[8]*r,f=n[9]*r,p=n[10]*r,d=n[11]*r;for(let t of e){let e=[],r=[];for(let i of t){let t=i.x,o=i.y,m=n[0]*t+n[4]*o+n[12],g=n[1]*t+n[5]*o+n[13],y=n[2]*t+n[6]*o+n[14],v=n[3]*t+n[7]*o+n[15],x=y+c,_=v+u,b=m+h,w=g+f,T=y+p,k=v+d,A=new a((m+s)/_,(g+l)/_);A.z=x/_,e.push(A);let M=new a(b/k,w/k);M.z=T/k,r.push(M)}i.push(e),o.push(r)}return[i,o]}(n,h,u,l);return function(e,t,r){let n=1/0;rs(r,t)&&(n=ql(r,t[0]));for(let i=0;ie.id)),this.index=e.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((e=>{this.gradients[e.id]={}})),this.layoutVertexArray=new oo,this.layoutVertexArray2=new so,this.indexArray=new mo,this.programConfigurations=new Vo(e.layers,e.zoom),this.segments=new xo,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,r){this.hasPattern=pl("line",this.layers,t);let n=this.layers[0].layout.get("line-sort-key"),i=!n.isConstant(),a=[];for(let{feature:t,id:o,index:s,sourceLayerIndex:l}of e){let e=this.layers[0]._featureFilter.needGeometry,c=Ko(t,e);if(!this.layers[0]._featureFilter.filter(new Qi(this.zoom),c,r))continue;let u=i?n.evaluate(c,{},r):void 0,h={id:o,properties:t.properties,type:t.type,sourceLayerIndex:l,index:s,geometry:e?c.geometry:$o(t),patterns:{},sortKey:u};a.push(h)}i&&a.sort(((e,t)=>e.sortKey-t.sortKey));for(let n of a){let{geometry:i,index:a,sourceLayerIndex:o}=n;if(this.hasPattern){let e=dl("line",this.layers,n,this.zoom,t);this.patternFeatures.push(e)}else this.addFeature(n,i,a,r,{});t.featureIndex.insert(e[a].feature,i,a,o,this.index)}}update(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,r)}addFeatures(e,t,r){for(let e of this.patternFeatures)this.addFeature(e,e.geometry,e.index,t,r)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=e.createVertexBuffer(this.layoutVertexArray2,Xl)),this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Zl),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(e){if(e.properties&&Object.prototype.hasOwnProperty.call(e.properties,"mapbox_clip_start")&&Object.prototype.hasOwnProperty.call(e.properties,"mapbox_clip_end"))return{start:+e.properties.mapbox_clip_start,end:+e.properties.mapbox_clip_end}}addFeature(e,t,r,n,i){let a=this.layers[0].layout,o=a.get("line-join").evaluate(e,{}),s=a.get("line-cap"),l=a.get("line-miter-limit"),c=a.get("line-round-limit");this.lineClips=this.lineFeatureClips(e);for(let r of t)this.addLine(r,e,o,s,l,c);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,i,n)}addLine(e,t,r,n,i,a){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let t=0;t=2&&e[s-1].equals(e[s-2]);)s--;let l=0;for(;l0;if(b&&t>l){let e=c.dist(u);if(e>2*d){let t=c.sub(c.sub(u)._mult(d/e)._round());this.updateDistance(u,t),this.addCurrentVertex(t,f,0,0,m),u=t}}let T=u&&h,k=T?r:o?"butt":n;if(T&&"round"===k&&(xi&&(k="bevel"),"bevel"===k&&(x>2&&(k="flipbevel"),x100)g=p.mult(-1);else{let e=x*f.add(p).mag()/f.sub(p).mag();g._perp()._mult(e*(w?-1:1))}this.addCurrentVertex(c,g,0,0,m),this.addCurrentVertex(c,g.mult(-1),0,0,m)}else if("bevel"===k||"fakeround"===k){let e=-Math.sqrt(x*x-1),t=w?e:0,r=w?0:e;if(u&&this.addCurrentVertex(c,f,t,r,m),"fakeround"===k){let e=Math.round(180*_/Math.PI/20);for(let t=1;t2*d){let t=c.add(h.sub(c)._mult(d/e)._round());this.updateDistance(c,t),this.addCurrentVertex(t,p,0,0,m),c=t}}}}addCurrentVertex(e,t,r,n,i,a=!1){let o=t.y*n-t.x,s=-t.y-t.x*n;this.addHalfVertex(e,t.x+t.y*r,t.y-t.x*r,a,!1,r,i),this.addHalfVertex(e,o,s,a,!0,-n,i),this.distance>Jl/2&&0===this.totalDistance&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(e,t,r,n,i,a))}addHalfVertex({x:e,y:t},r,n,i,a,o,s){let l=.5*(this.lineClips?this.scaledDistance*(Jl-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((e<<1)+(i?1:0),(t<<1)+(a?1:0),Math.round(63*r)+128,Math.round(63*n)+128,1+(0===o?0:o<0?-1:1)|(63&l)<<2,l>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let c=s.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,c),s.primitiveLength++),a?this.e2=c:this.e1=c}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(e,t){this.distance+=e.dist(t),this.updateScaledDistance()}}Ti("LineBucket",Ql,{omit:["layers","patternFeatures"]});var ec={get paint(){return Gl=Gl||new pa({"line-opacity":new ca(Y.paint_line["line-opacity"]),"line-color":new ca(Y.paint_line["line-color"]),"line-translate":new la(Y.paint_line["line-translate"]),"line-translate-anchor":new la(Y.paint_line["line-translate-anchor"]),"line-width":new ca(Y.paint_line["line-width"]),"line-gap-width":new ca(Y.paint_line["line-gap-width"]),"line-offset":new ca(Y.paint_line["line-offset"]),"line-blur":new ca(Y.paint_line["line-blur"]),"line-dasharray":new ha(Y.paint_line["line-dasharray"]),"line-pattern":new ua(Y.paint_line["line-pattern"]),"line-gradient":new fa(Y.paint_line["line-gradient"])})},get layout(){return Hl=Hl||new pa({"line-cap":new la(Y.layout_line["line-cap"]),"line-join":new ca(Y.layout_line["line-join"]),"line-miter-limit":new la(Y.layout_line["line-miter-limit"]),"line-round-limit":new la(Y.layout_line["line-round-limit"]),"line-sort-key":new ca(Y.layout_line["line-sort-key"])})}};class tc extends ca{possiblyEvaluate(e,t){return t=new Qi(Math.floor(t.zoom),{now:t.now,fadeDuration:t.fadeDuration,zoomHistory:t.zoomHistory,transition:t.transition}),super.possiblyEvaluate(e,t)}evaluate(e,t,r,n){return t=x({},t,{zoom:Math.floor(t.zoom)}),super.evaluate(e,t,r,n)}}let rc;class nc extends ma{constructor(e){super(e,ec),this.gradientVersion=0,rc||(rc=new tc(ec.paint.properties["line-width"].specification),rc.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(e){if("line-gradient"===e){let e=this.gradientExpression();this.stepInterpolant=!(void 0===e._styleExpression)&&e._styleExpression.expression instanceof At,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values["line-gradient"].value.expression}recalculate(e,t){super.recalculate(e,t),this.paint._values["line-floorwidth"]=rc.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)}createBucket(e){return new Ql(e)}queryRadius(e){let t=e,r=ic(hs("line-width",this,t),hs("line-gap-width",this,t)),n=hs("line-offset",this,t);return r/2+Math.abs(n)+fs(this.paint.get("line-translate"))}queryIntersectsFeature(e,t,r,n,i,o,s){let l=ps(e,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o.angle,s),c=s/2*ic(this.paint.get("line-width").evaluate(t,r),this.paint.get("line-gap-width").evaluate(t,r)),u=this.paint.get("line-offset").evaluate(t,r);return u&&(n=function(e,t){let r=[];for(let n=0;n=3)for(let t=0;t0?t+2*e:e}let ac=xa([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),oc=xa([{name:"a_projected_pos",components:3,type:"Float32"}],4);xa([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);let sc=xa([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"},{name:"a_box_real",components:2,type:"Int16"}]);xa([{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 lc=xa([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),cc=xa([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function uc(e,t,r){return e.sections.forEach((e=>{e.text=function(e,t,r){let n=t.layout.get("text-transform").evaluate(r,{});return"uppercase"===n?e=e.toLocaleUpperCase():"lowercase"===n&&(e=e.toLocaleLowerCase()),Ji.applyArabicShaping&&(e=Ji.applyArabicShaping(e)),e}(e.text,t,r)})),e}xa([{name:"triangle",components:3,type:"Uint16"}]),xa([{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"}]),xa([{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"}]),xa([{type:"Float32",name:"offsetX"}]),xa([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]),xa([{type:"Uint16",name:"textAnchor"},{type:"Float32",components:2,name:"textOffset"}]);let hc={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var fc=24,pc=gc,dc=function(e,t,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,u=-7,h=r?i-1:0,f=r?-1:1,p=e[t+h];for(h+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+e[t+h],h+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+e[t+h],h+=f,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},mc=function(e,t,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(t*l-1)*Math.pow(2,i),o+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;e[r+p]=255&o,p+=d,o/=256,c-=8);e[r+p-d]|=128*m};function gc(e){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(e)?e:new Uint8Array(e||0),this.pos=0,this.type=0,this.length=this.buf.length}gc.Varint=0,gc.Fixed64=1,gc.Bytes=2,gc.Fixed32=5;var yc=4294967296,vc=1/yc,xc=typeof TextDecoder>"u"?null:new TextDecoder("utf-8");function _c(e){return e.type===gc.Bytes?e.readVarint()+e.pos:e.pos+1}function bc(e,t,r){var n=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=e;i--)r.buf[i+n]=r.buf[i]}function wc(e,t){for(var r=0;r>>8,e[r+2]=t>>>16,e[r+3]=t>>>24}function zc(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+(e[t+3]<<24)}gc.prototype={destroy:function(){this.buf=null},readFields:function(e,t,r){for(r=r||this.length;this.pos>3,a=this.pos;this.type=7&n,e(i,t,this),this.pos===a&&this.skip(n)}return t},readMessage:function(e,t){return this.readFields(e,t,this.readVarint()+this.pos)},readFixed32:function(){var e=Lc(this.buf,this.pos);return this.pos+=4,e},readSFixed32:function(){var e=zc(this.buf,this.pos);return this.pos+=4,e},readFixed64:function(){var e=Lc(this.buf,this.pos)+Lc(this.buf,this.pos+4)*yc;return this.pos+=8,e},readSFixed64:function(){var e=Lc(this.buf,this.pos)+zc(this.buf,this.pos+4)*yc;return this.pos+=8,e},readFloat:function(){var e=dc(this.buf,this.pos,!0,23,4);return this.pos+=4,e},readDouble:function(){var e=dc(this.buf,this.pos,!0,52,8);return this.pos+=8,e},readVarint:function(e){var t,r,n=this.buf;return t=127&(r=n[this.pos++]),r<128?t:(t|=(127&(r=n[this.pos++]))<<7,r<128?t:(t|=(127&(r=n[this.pos++]))<<14,r<128?t:(t|=(127&(r=n[this.pos++]))<<21,r<128?t:function(e,t,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128||(n|=(127&(i=a[r.pos++]))<<3,i<128)||(n|=(127&(i=a[r.pos++]))<<10,i<128)||(n|=(127&(i=a[r.pos++]))<<17,i<128)||(n|=(127&(i=a[r.pos++]))<<24,i<128)||(n|=(1&(i=a[r.pos++]))<<31,i<128))return function(e,t,r){return r?4294967296*t+(e>>>0):4294967296*(t>>>0)+(e>>>0)}(e,n,t);throw new Error("Expected varint not more than 10 bytes")}(t|=(15&(r=n[this.pos]))<<28,e,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var e=this.readVarint();return e%2==1?(e+1)/-2:e/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var e,t,r,n=this.readVarint()+this.pos,i=this.pos;return this.pos=n,n-i>=12&&xc?(e=this.buf,t=i,r=n,xc.decode(e.subarray(t,r))):function(e,t,r){for(var n="",i=t;i239?4:l>223?3:l>191?2:1;if(i+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(a=e[i+1]))&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===u?(o=e[i+2],128==(192&(a=e[i+1]))&&128==(192&o)&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(o=e[i+2],s=e[i+3],128==(192&(a=e[i+1]))&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),i+=u}return n}(this.buf,i,n)},readBytes:function(){var e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t},readPackedVarint:function(e,t){if(this.type!==gc.Bytes)return e.push(this.readVarint(t));var r=_c(this);for(e=e||[];this.pos127;);else if(t===gc.Bytes)this.pos=this.readVarint()+this.pos;else if(t===gc.Fixed32)this.pos+=4;else{if(t!==gc.Fixed64)throw new Error("Unimplemented type: "+t);this.pos+=8}},writeTag:function(e,t){this.writeVarint(e<<3|t)},realloc:function(e){for(var t=this.length||16;t268435455||e<0?function(e,t){var r,n,i,a;if(e>=0?(r=e%4294967296|0,n=e/4294967296|0):(n=~(-e/4294967296),4294967295^(r=~(-e%4294967296))?r=r+1|0:(r=0,n=n+1|0)),e>=0x10000000000000000||e<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");t.realloc(10),i=r,(a=t).buf[a.pos++]=127&i|128,i>>>=7,a.buf[a.pos++]=127&i|128,i>>>=7,a.buf[a.pos++]=127&i|128,i>>>=7,a.buf[a.pos++]=127&i|128,a.buf[a.pos]=127&(i>>>=7),function(e,t){var r=(7&e)<<4;t.buf[t.pos++]|=r|((e>>>=3)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e)))))}(n,t)}(e,this):(this.realloc(4),this.buf[this.pos++]=127&e|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=e>>>7&127))))},writeSVarint:function(e){this.writeVarint(e<0?2*-e-1:2*e)},writeBoolean:function(e){this.writeVarint(!!e)},writeString:function(e){e=String(e),this.realloc(4*e.length),this.pos++;var t=this.pos;this.pos=function(e,t,r){for(var n,i,a=0;a55295&&n<57344){if(!i){n>56319||a+1===t.length?(e[r++]=239,e[r++]=191,e[r++]=189):i=n;continue}if(n<56320){e[r++]=239,e[r++]=191,e[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(e[r++]=239,e[r++]=191,e[r++]=189,i=null);n<128?e[r++]=n:(n<2048?e[r++]=n>>6|192:(n<65536?e[r++]=n>>12|224:(e[r++]=n>>18|240,e[r++]=n>>12&63|128),e[r++]=n>>6&63|128),e[r++]=63&n|128)}return r}(this.buf,e,this.pos);var r=this.pos-t;r>=128&&bc(t,r,this),this.pos=t-1,this.writeVarint(r),this.pos+=r},writeFloat:function(e){this.realloc(4),mc(this.buf,e,this.pos,!0,23,4),this.pos+=4},writeDouble:function(e){this.realloc(8),mc(this.buf,e,this.pos,!0,52,8),this.pos+=8},writeBytes:function(e){var t=e.length;this.writeVarint(t),this.realloc(t);for(var r=0;r=128&&bc(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(e,t,r){this.writeTag(e,gc.Bytes),this.writeRawMessage(t,r)},writePackedVarint:function(e,t){t.length&&this.writeMessage(e,wc,t)},writePackedSVarint:function(e,t){t.length&&this.writeMessage(e,Tc,t)},writePackedBoolean:function(e,t){t.length&&this.writeMessage(e,Mc,t)},writePackedFloat:function(e,t){t.length&&this.writeMessage(e,kc,t)},writePackedDouble:function(e,t){t.length&&this.writeMessage(e,Ac,t)},writePackedFixed32:function(e,t){t.length&&this.writeMessage(e,Sc,t)},writePackedSFixed32:function(e,t){t.length&&this.writeMessage(e,Ec,t)},writePackedFixed64:function(e,t){t.length&&this.writeMessage(e,Cc,t)},writePackedSFixed64:function(e,t){t.length&&this.writeMessage(e,Ic,t)},writeBytesField:function(e,t){this.writeTag(e,gc.Bytes),this.writeBytes(t)},writeFixed32Field:function(e,t){this.writeTag(e,gc.Fixed32),this.writeFixed32(t)},writeSFixed32Field:function(e,t){this.writeTag(e,gc.Fixed32),this.writeSFixed32(t)},writeFixed64Field:function(e,t){this.writeTag(e,gc.Fixed64),this.writeFixed64(t)},writeSFixed64Field:function(e,t){this.writeTag(e,gc.Fixed64),this.writeSFixed64(t)},writeVarintField:function(e,t){this.writeTag(e,gc.Varint),this.writeVarint(t)},writeSVarintField:function(e,t){this.writeTag(e,gc.Varint),this.writeSVarint(t)},writeStringField:function(e,t){this.writeTag(e,gc.Bytes),this.writeString(t)},writeFloatField:function(e,t){this.writeTag(e,gc.Fixed32),this.writeFloat(t)},writeDoubleField:function(e,t){this.writeTag(e,gc.Fixed64),this.writeDouble(t)},writeBooleanField:function(e,t){this.writeVarintField(e,!!t)}};var Dc,Oc=r(pc);function Rc(e,t,r){1===e&&r.readMessage(Fc,t)}function Fc(e,t,r){if(3===e){let{id:e,bitmap:n,width:i,height:a,left:o,top:s,advance:l}=r.readMessage(Bc,{});t.push({id:e,bitmap:new Is({width:i+6,height:a+6},n),metrics:{width:i,height:a,left:o,top:s,advance:l}})}}function Bc(e,t,r){1===e?t.id=r.readVarint():2===e?t.bitmap=r.readBytes():3===e?t.width=r.readVarint():4===e?t.height=r.readVarint():5===e?t.left=r.readSVarint():6===e?t.top=r.readSVarint():7===e&&(t.advance=r.readVarint())}function jc(e){let t=0,r=0;for(let n of e)t+=n.w*n.h,r=Math.max(r,n.w);e.sort(((e,t)=>t.h-e.h));let n=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(t/.95)),r),h:1/0}],i=0,a=0;for(let t of e)for(let e=n.length-1;e>=0;e--){let r=n[e];if(!(t.w>r.w||t.h>r.h)){if(t.x=r.x,t.y=r.y,a=Math.max(a,t.y+t.h),i=Math.max(i,t.x+t.w),t.w===r.w&&t.h===r.h){let t=n.pop();e=0&&r>=e&&Wc[this.text.charCodeAt(r)];r--)t--;this.text=this.text.substring(e,t),this.sectionIndex=this.sectionIndex.slice(e,t)}substring(e,t){let r=new Hc;return r.text=this.text.substring(e,t),r.sectionIndex=this.sectionIndex.slice(e,t),r.sections=this.sections,r}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((e,t)=>Math.max(e,this.sections[t].scale)),0)}addTextSection(e,t){this.text+=e.text,this.sections.push(qc.forText(e.scale,e.fontStack||t));let r=this.sections.length-1;for(let t=0;t=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Gc(t,r,n,i,a,o,s,l,c,u,h,f,p,d,m){let g,y=Hc.fromFeature(t,a);f===e.ah.vertical&&y.verticalizePunctuation();let{processBidirectionalText:v,processStyledBidirectionalText:x}=Ji;if(v&&1===y.sections.length){g=[];let e=v(y.toString(),eu(y,u,o,r,i,d));for(let t of e){let e=new Hc;e.text=t,e.sections=y.sections;for(let r=0;r0&&n>w&&(w=n)}else{let e=n[m.fontStack],t=e&&e[y];if(t&&t.rect)T=t.rect,_=t.metrics;else{let e=r[m.fontStack],t=e&&e[y];if(!t)continue;_=t.metrics}v=(a-m.scale)*fc}M?(t.verticalizable=!0,b.push({glyph:y,imageName:k,x:p,y:d+v,vertical:M,scale:m.scale,fontStack:m.fontStack,sectionIndex:g,metrics:_,rect:T}),p+=A*m.scale+u):(b.push({glyph:y,imageName:k,x:p,y:d+v,vertical:M,scale:m.scale,fontStack:m.fontStack,sectionIndex:g,metrics:_,rect:T}),p+=_.advance*m.scale+u)}0!==b.length&&(m=Math.max(p-u,m),ru(b,0,b.length-1,y,w)),p=0;let T=o*a+w;_.lineOffset=Math.max(w,l),d+=T,g=Math.max(T,g),++v}var x;let _=d-Vc,{horizontalAlign:b,verticalAlign:w}=tu(s);(function(e,t,r,n,i,a,o,s,l){let c=(t-r)*i,u=0;u=a!==o?-s*n-Vc:(-n*l+.5)*o;for(let t of e)for(let e of t.positionedGlyphs)e.x+=c,e.y+=u})(t.positionedLines,y,b,w,m,g,o,_,a.length),t.top+=-w*_,t.bottom=t.top+_,t.left+=-b*m,t.right=t.left+m}(b,r,n,i,g,s,l,c,f,u,p,m),!function(e){for(let t of e)if(0!==t.positionedGlyphs.length)return!1;return!0}(_)&&b}let Wc={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},Zc={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},Yc={40:!0};function Xc(e,t,r,n,i,a){if(t.imageName){let e=n[t.imageName];return e?e.displaySize[0]*t.scale*fc/a+i:0}{let n=r[t.fontStack],a=n&&n[e];return a?a.metrics.advance*t.scale+i:0}}function $c(e,t,r,n){let i=Math.pow(e-t,2);return n?e=0,c=0;for(let r=0;rc){let e=Math.ceil(a/c);i*=e/o,o=e}return{x1:n,y1:i,x2:n+a,y2:i+o}}function au(e,t,r,n,i,a){let o,s=e.image;if(s.content){let e=s.content,t=s.pixelRatio||1;o=[e[0]/t,e[1]/t,s.displaySize[0]-e[2]/t,s.displaySize[1]-e[3]/t]}let l,c,u,h,f=t.left*a,p=t.right*a;"width"===r||"both"===r?(h=i[0]+f-n[3],c=i[0]+p+n[1]):(h=i[0]+(f+p-s.displaySize[0])/2,c=h+s.displaySize[0]);let d=t.top*a,m=t.bottom*a;return"height"===r||"both"===r?(l=i[1]+d-n[0],u=i[1]+m+n[2]):(l=i[1]+(d+m-s.displaySize[1])/2,u=l+s.displaySize[1]),{image:s,top:l,right:c,bottom:u,left:h,collisionPadding:o}}let ou=128,su=32640;function lu(e,t){let{expression:r}=t;if("constant"===r.kind)return{kind:"constant",layoutSize:r.evaluate(new Qi(e+1))};if("source"===r.kind)return{kind:"source"};{let{zoomStops:t,interpolationType:n}=r,i=0;for(;ie.id)),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=ys([]),this.placementViewportMatrix=ys([]);let r=this.layers[0]._unevaluatedLayout._values;this.textSizeData=lu(this.zoom,r["text-size"]),this.iconSizeData=lu(this.zoom,r["icon-size"]);let n=this.layers[0].layout,i=n.get("symbol-sort-key"),a=n.get("symbol-z-order");this.canOverlap="never"!==cu(n,"text-overlap","text-allow-overlap")||"never"!==cu(n,"icon-overlap","icon-allow-overlap")||n.get("text-ignore-placement")||n.get("icon-ignore-placement"),this.sortFeaturesByKey="viewport-y"!==a&&!i.isConstant(),this.sortFeaturesByY=("viewport-y"===a||"auto"===a&&!this.sortFeaturesByKey)&&this.canOverlap,"point"===n.get("symbol-placement")&&(this.writingModes=n.get("text-writing-mode").map((t=>e.ah[t]))),this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id)),this.sourceID=t.sourceID}createArrays(){this.text=new yu(new Vo(this.layers,this.zoom,(e=>/^text/.test(e)))),this.icon=new yu(new Vo(this.layers,this.zoom,(e=>/^icon/.test(e)))),this.glyphOffsetArray=new $a,this.lineVertexArray=new Ka,this.symbolInstances=new Xa,this.textAnchorOffsets=new Qa}calculateGlyphDependencies(e,t,r,n,i){for(let a=0;a0)&&("constant"!==o.value.kind||o.value.value.length>0),u="constant"!==l.value.kind||!!l.value.value||Object.keys(l.parameters).length>0,h=a.get("symbol-sort-key");if(this.features=[],!c&&!u)return;let f=r.iconDependencies,p=r.glyphDependencies,d=r.availableImages,m=new Qi(this.zoom);for(let{feature:r,id:s,index:l,sourceLayerIndex:g}of t){let t,y,v=i._featureFilter.needGeometry,x=Ko(r,v);if(!i._featureFilter.filter(m,x,n))continue;if(v||(x.geometry=$o(r)),c){let e=i.getValueAndResolveTokens("text-field",x,n,d),r=Je.factory(e),a=this.hasRTLText=this.hasRTLText||gu(r);(!a||"unavailable"===Ji.getRTLTextPluginStatus()||a&&Ji.isParsed())&&(t=uc(r,i,x))}if(u){let e=i.getValueAndResolveTokens("icon-image",x,n,d);y=e instanceof rt?e:rt.fromString(e)}if(!t&&!y)continue;let _=this.sortFeaturesByKey?h.evaluate(x,{},n):void 0;if(this.features.push({id:s,text:t,icon:y,index:l,sourceLayerIndex:g,geometry:x.geometry,properties:r.properties,type:fu[r.type],sortKey:_}),y&&(f[y.name]=!0),t){let r=o.evaluate(x,{},n).join(","),i="viewport"!==a.get("text-rotation-alignment")&&"point"!==a.get("symbol-placement");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(e.ah.vertical)>=0;for(let e of t.sections)if(e.image)f[e.image.name]=!0;else{let n=Ni(t.toString()),a=e.fontStack||r,o=p[a]=p[a]||{};this.calculateGlyphDependencies(e.text,o,i,this.allowVerticalPlacement,n)}}}"line"===a.get("symbol-placement")&&(this.features=function(e){let t={},r={},n=[],i=0;function a(t){n.push(e[t]),i++}function o(e,t,i){let a=r[e];return delete r[e],r[t]=a,n[a].geometry[0].pop(),n[a].geometry[0]=n[a].geometry[0].concat(i[0]),a}function s(e,r,i){let a=t[r];return delete t[r],t[e]=a,n[a].geometry[0].shift(),n[a].geometry[0]=i[0].concat(n[a].geometry[0]),a}function l(e,t,r){let n=r?t[0][t[0].length-1]:t[0][0];return`${e}:${n.x}:${n.y}`}for(let c=0;ce.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((e,t)=>e.sortKey-t.sortKey))}update(e,t,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(e,t,this.layers,r),this.icon.programConfigurations.updatePaintArrays(e,t,this.layers,r))}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(e){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(e),this.iconCollisionBox.upload(e)),this.text.upload(e,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(e,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(e,t){let r=this.lineVertexArray.length;if(void 0!==e.segment){let r=e.dist(t[e.segment+1]),n=e.dist(t[e.segment]),i={};for(let n=e.segment+1;n=0;r--)i[r]={x:t[r].x,y:t[r].y,tileUnitDistanceFromAnchor:n},r>0&&(n+=t[r-1].dist(t[r]));for(let e=0;e0}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(e,t){let r=e.placedSymbolArray.get(t),n=r.vertexStartIndex+4*r.numGlyphs;for(let t=r.vertexStartIndex;tn[e]-n[t]||i[t]-i[e])),a}addToSortKeyRanges(e,t){let r=this.sortKeyRanges[this.sortKeyRanges.length-1];r&&r.sortKey===t?r.symbolInstanceEnd=e+1:this.sortKeyRanges.push({sortKey:t,symbolInstanceStart:e,symbolInstanceEnd:e+1})}sortFeatures(e){if(this.sortFeaturesByY&&this.sortedAngle!==e&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(e),this.sortedAngle=e,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let e of this.symbolInstanceIndexes){let t=this.symbolInstances.get(e);this.featureSortOrder.push(t.featureIndex),[t.rightJustifiedTextSymbolIndex,t.centerJustifiedTextSymbolIndex,t.leftJustifiedTextSymbolIndex].forEach(((e,t,r)=>{e>=0&&r.indexOf(e)===t&&this.addIndicesForPlacedSymbol(this.text,e)})),t.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,t.verticalPlacedTextSymbolIndex),t.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,t.placedIconSymbolIndex),t.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,t.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}Ti("SymbolBucket",xu,{omit:["layers","collisionBoxArray","features","compareText"]}),xu.MAX_GLYPHS=65535,xu.addDynamicAttributes=mu;var _u={get paint(){return hu=hu||new pa({"icon-opacity":new ca(Y.paint_symbol["icon-opacity"]),"icon-color":new ca(Y.paint_symbol["icon-color"]),"icon-halo-color":new ca(Y.paint_symbol["icon-halo-color"]),"icon-halo-width":new ca(Y.paint_symbol["icon-halo-width"]),"icon-halo-blur":new ca(Y.paint_symbol["icon-halo-blur"]),"icon-translate":new la(Y.paint_symbol["icon-translate"]),"icon-translate-anchor":new la(Y.paint_symbol["icon-translate-anchor"]),"text-opacity":new ca(Y.paint_symbol["text-opacity"]),"text-color":new ca(Y.paint_symbol["text-color"],{runtimeType:de,getOverride:e=>e.textColor,hasOverride:e=>!!e.textColor}),"text-halo-color":new ca(Y.paint_symbol["text-halo-color"]),"text-halo-width":new ca(Y.paint_symbol["text-halo-width"]),"text-halo-blur":new ca(Y.paint_symbol["text-halo-blur"]),"text-translate":new la(Y.paint_symbol["text-translate"]),"text-translate-anchor":new la(Y.paint_symbol["text-translate-anchor"])})},get layout(){return uu=uu||new pa({"symbol-placement":new la(Y.layout_symbol["symbol-placement"]),"symbol-spacing":new la(Y.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new la(Y.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new ca(Y.layout_symbol["symbol-sort-key"]),"symbol-z-order":new la(Y.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new la(Y.layout_symbol["icon-allow-overlap"]),"icon-overlap":new la(Y.layout_symbol["icon-overlap"]),"icon-ignore-placement":new la(Y.layout_symbol["icon-ignore-placement"]),"icon-optional":new la(Y.layout_symbol["icon-optional"]),"icon-rotation-alignment":new la(Y.layout_symbol["icon-rotation-alignment"]),"icon-size":new ca(Y.layout_symbol["icon-size"]),"icon-text-fit":new la(Y.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new la(Y.layout_symbol["icon-text-fit-padding"]),"icon-image":new ca(Y.layout_symbol["icon-image"]),"icon-rotate":new ca(Y.layout_symbol["icon-rotate"]),"icon-padding":new ca(Y.layout_symbol["icon-padding"]),"icon-keep-upright":new la(Y.layout_symbol["icon-keep-upright"]),"icon-offset":new ca(Y.layout_symbol["icon-offset"]),"icon-anchor":new ca(Y.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new la(Y.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new la(Y.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new la(Y.layout_symbol["text-rotation-alignment"]),"text-field":new ca(Y.layout_symbol["text-field"]),"text-font":new ca(Y.layout_symbol["text-font"]),"text-size":new ca(Y.layout_symbol["text-size"]),"text-max-width":new ca(Y.layout_symbol["text-max-width"]),"text-line-height":new la(Y.layout_symbol["text-line-height"]),"text-letter-spacing":new ca(Y.layout_symbol["text-letter-spacing"]),"text-justify":new ca(Y.layout_symbol["text-justify"]),"text-radial-offset":new ca(Y.layout_symbol["text-radial-offset"]),"text-variable-anchor":new la(Y.layout_symbol["text-variable-anchor"]),"text-variable-anchor-offset":new ca(Y.layout_symbol["text-variable-anchor-offset"]),"text-anchor":new ca(Y.layout_symbol["text-anchor"]),"text-max-angle":new la(Y.layout_symbol["text-max-angle"]),"text-writing-mode":new la(Y.layout_symbol["text-writing-mode"]),"text-rotate":new ca(Y.layout_symbol["text-rotate"]),"text-padding":new la(Y.layout_symbol["text-padding"]),"text-keep-upright":new la(Y.layout_symbol["text-keep-upright"]),"text-transform":new ca(Y.layout_symbol["text-transform"]),"text-offset":new ca(Y.layout_symbol["text-offset"]),"text-allow-overlap":new la(Y.layout_symbol["text-allow-overlap"]),"text-overlap":new la(Y.layout_symbol["text-overlap"]),"text-ignore-placement":new la(Y.layout_symbol["text-ignore-placement"]),"text-optional":new la(Y.layout_symbol["text-optional"])})}};class bu{constructor(e){if(void 0===e.property.overrides)throw new Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=e.property.overrides?e.property.overrides.runtimeType:ue,this.defaultValue=e}evaluate(e){if(e.formattedSection){let t=this.defaultValue.property.overrides;if(t&&t.hasOverride(e.formattedSection))return t.getOverride(e.formattedSection)}return e.feature&&e.featureState?this.defaultValue.evaluate(e.feature,e.featureState):this.defaultValue.property.specification.default}eachChild(e){this.defaultValue.isConstant()||e(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Ti("FormatSectionOverride",bu,{omit:["defaultValue"]});class wu extends ma{constructor(e){super(e,_u)}recalculate(e,t){if(super.recalculate(e,t),"auto"===this.layout.get("icon-rotation-alignment")&&(this.layout._values["icon-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-rotation-alignment")&&(this.layout._values["text-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]="map"===this.layout.get("text-rotation-alignment")?"map":"viewport"),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){let e=this.layout.get("text-writing-mode");if(e){let t=[];for(let r of e)t.indexOf(r)<0&&t.push(r);this.layout._values["text-writing-mode"]=t}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(e,t,r,n){let i=this.layout.get(e).evaluate(t,{},r,n),a=this._unevaluatedLayout._values[e];return a.isDataDriven()||bn(a.value)||!i?i:(o=t.properties,i.replace(/{([^{}]+)}/g,((e,t)=>o&&t in o?String(o[t]):"")));var o}createBucket(e){return new xu(e)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(let e of _u.paint.overridableProperties){if(!wu.hasPaintOverride(this.layout,e))continue;let t=this.paint.get(e),r=new bu(t),n=new _n(r,t.property.specification),i=null;i="constant"===t.value.kind||"source"===t.value.kind?new Tn("source",n):new kn("composite",n,t.value.zoomStops),this.paint._values[e]=new oa(t.property,i,t.parameters)}}_handleOverridablePaintPropertyUpdate(e,t,r){return!(!this.layout||t.isDataDriven()||r.isDataDriven())&&wu.hasPaintOverride(this.layout,e)}static hasPaintOverride(e,t){let r=e.get("text-field"),n=_u.paint.properties[t],i=!1,a=e=>{for(let t of e)if(n.overrides&&n.overrides.hasOverride(t))return void(i=!0)};if("constant"===r.value.kind&&r.value.value instanceof Je)a(r.value.value.sections);else if("source"===r.value.kind){let e=t=>{i||(t instanceof st&&at(t.value)===ve?a(t.value.sections):t instanceof Zt?a(t.sections):t.eachChild(e))},t=r.value;t._styleExpression&&e(t._styleExpression.expression)}return i}}let Tu;var ku={get paint(){return Tu=Tu||new pa({"background-color":new la(Y.paint_background["background-color"]),"background-pattern":new ha(Y.paint_background["background-pattern"]),"background-opacity":new la(Y.paint_background["background-opacity"])})}};class Au extends ma{constructor(e){super(e,ku)}}let Mu;var Su={get paint(){return Mu=Mu||new pa({"raster-opacity":new la(Y.paint_raster["raster-opacity"]),"raster-hue-rotate":new la(Y.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new la(Y.paint_raster["raster-brightness-min"]),"raster-brightness-max":new la(Y.paint_raster["raster-brightness-max"]),"raster-saturation":new la(Y.paint_raster["raster-saturation"]),"raster-contrast":new la(Y.paint_raster["raster-contrast"]),"raster-resampling":new la(Y.paint_raster["raster-resampling"]),"raster-fade-duration":new la(Y.paint_raster["raster-fade-duration"])})}};class Eu extends ma{constructor(e){super(e,Su)}}class Cu extends ma{constructor(e){super(e,{}),this.onAdd=e=>{this.implementation.onAdd&&this.implementation.onAdd(e,e.painter.context.gl)},this.onRemove=e=>{this.implementation.onRemove&&this.implementation.onRemove(e,e.painter.context.gl)},this.implementation=e}is3D(){return"3d"===this.implementation.renderingMode}hasOffscreenPass(){return void 0!==this.implementation.prerender}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error("Custom layers cannot be serialized")}}class Iu{constructor(e){this._methodToThrottle=e,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 Lu=6371008.8;class Pu{constructor(e,t){if(isNaN(e)||isNaN(t))throw new Error(`Invalid LngLat object: (${e}, ${t})`);if(this.lng=+e,this.lat=+t,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new Pu(v(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(e){let t=Math.PI/180,r=this.lat*t,n=e.lat*t,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((e.lng-this.lng)*t);return Lu*Math.acos(Math.min(i,1))}static convert(e){if(e instanceof Pu)return e;if(Array.isArray(e)&&(2===e.length||3===e.length))return new Pu(Number(e[0]),Number(e[1]));if(!Array.isArray(e)&&"object"==typeof e&&null!==e)return new Pu(Number("lng"in e?e.lng:e.lon),Number(e.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 zu=2*Math.PI*Lu;function Du(e){return zu*Math.cos(e*Math.PI/180)}function Ou(e){return(180+e)/360}function Ru(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function Fu(e,t){return e/Du(t)}function Bu(e){return 360/Math.PI*Math.atan(Math.exp((180-360*e)*Math.PI/180))-90}class ju{constructor(e,t,r=0){this.x=+e,this.y=+t,this.z=+r}static fromLngLat(e,t=0){let r=Pu.convert(e);return new ju(Ou(r.lng),Ru(r.lat),Fu(t,r.lat))}toLngLat(){return new Pu(360*this.x-180,Bu(this.y))}toAltitude(){return this.z*Du(Bu(this.y))}meterInMercatorCoordinateUnits(){return 1/zu*(e=Bu(this.y),1/Math.cos(e*Math.PI/180));var e}}function Nu(e,t,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return[e*n-2*Math.PI*6378137/2,t*n-2*Math.PI*6378137/2]}class Uu{constructor(e,t,r){if(i=t,a=r,(n=e)<0||n>25||a<0||a>=Math.pow(2,n)||i<0||i>=Math.pow(2,n))throw new Error(`x=${t}, y=${r}, z=${e} outside of bounds. 0<=x<${Math.pow(2,e)}, 0<=y<${Math.pow(2,e)} 0<=z<=25 `);var n,i,a;this.z=e,this.x=t,this.y=r,this.key=Hu(0,e,e,t,r)}equals(e){return this.z===e.z&&this.x===e.x&&this.y===e.y}url(e,t,r){let n=(a=this.y,o=this.z,s=Nu(256*(i=this.x),256*(a=Math.pow(2,o)-a-1),o),l=Nu(256*(i+1),256*(a+1),o),s[0]+","+s[1]+","+l[0]+","+l[1]);var i,a,o,s,l;let c=function(e,t,r){let n,i="";for(let a=e;a>0;a--)n=1<1?"@2x":"").replace(/{quadkey}/g,c).replace(/{bbox-epsg-3857}/g,n)}isChildOf(e){let t=this.z-e.z;return t>0&&e.x===this.x>>t&&e.y===this.y>>t}getTilePoint(e){let t=Math.pow(2,this.z);return new a((e.x*t-this.x)*Zo,(e.y*t-this.y)*Zo)}toString(){return`${this.z}/${this.x}/${this.y}`}}class Vu{constructor(e,t){this.wrap=e,this.canonical=t,this.key=Hu(e,t.z,t.z,t.x,t.y)}}class qu{constructor(e,t,r,n,i){if(e= z; overscaledZ = ${e}; z = ${r}`);this.overscaledZ=e,this.wrap=t,this.canonical=new Uu(r,+n,+i),this.key=Hu(t,e,r,n,i)}clone(){return new qu(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(e){return this.overscaledZ===e.overscaledZ&&this.wrap===e.wrap&&this.canonical.equals(e.canonical)}scaledTo(e){if(e>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${e}; overscaledZ = ${this.overscaledZ}`);let t=this.canonical.z-e;return e>this.canonical.z?new qu(e,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new qu(e,this.wrap,e,this.canonical.x>>t,this.canonical.y>>t)}calculateScaledKey(e,t){if(e>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${e}; overscaledZ = ${this.overscaledZ}`);let r=this.canonical.z-e;return e>this.canonical.z?Hu(this.wrap*+t,e,this.canonical.z,this.canonical.x,this.canonical.y):Hu(this.wrap*+t,e,e,this.canonical.x>>r,this.canonical.y>>r)}isChildOf(e){if(e.wrap!==this.wrap)return!1;let t=this.canonical.z-e.canonical.z;return 0===e.overscaledZ||e.overscaledZ>t&&e.canonical.y===this.canonical.y>>t}children(e){if(this.overscaledZ>=e)return[new qu(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let t=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new qu(t,this.wrap,t,r,n),new qu(t,this.wrap,t,r+1,n),new qu(t,this.wrap,t,r,n+1),new qu(t,this.wrap,t,r+1,n+1)]}isLessThan(e){return this.wrape.wrap)&&(this.overscaledZe.overscaledZ)&&(this.canonical.xe.canonical.x)&&this.canonical.ythis.max&&(this.max=r),r=this.dim+1||t<-1||t>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(t+1)*this.stride+(e+1)}unpack(e,t,r){return e*this.redFactor+t*this.greenFactor+r*this.blueFactor-this.baseShift}getPixels(){return new Ls({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(e,t,r){if(this.dim!==e.dim)throw new Error("dem dimension mismatch");let n=t*this.dim,i=t*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(t){case-1:n=i-1;break;case 1:i=n+1}switch(r){case-1:a=o-1;break;case 1:o=a+1}let s=-t*this.dim,l=-r*this.dim;for(let t=a;t=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${e} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[e]}}class Zu{constructor(e,t,r,n,i){this.type="Feature",this._vectorTileFeature=e,e._z=t,e._x=r,e._y=n,this.properties=e.properties,this.id=i}get geometry(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(e){this._geometry=e}toJSON(){let e={geometry:this.geometry};for(let t in this)"_geometry"!==t&&"_vectorTileFeature"!==t&&(e[t]=this[t]);return e}}class Yu{constructor(e,t){this.tileID=e,this.x=e.canonical.x,this.y=e.canonical.y,this.z=e.canonical.z,this.grid=new bi(Zo,16,0),this.grid3D=new bi(Zo,16,0),this.featureIndexArray=new to,this.promoteId=t}insert(e,t,r,n,i,a){let o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);let s=a?this.grid3D:this.grid;for(let e=0;e=0&&n[3]>=0&&s.insert(o,n[0],n[1],n[2],n[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new bl.VectorTile(new Oc(this.rawTileData)).layers,this.sourceLayerCoder=new Wu(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers}query(e,t,r,n){this.loadVTLayers();let i=e.params||{},o=Zo/e.tileSize/e.scale,s=In(i.filter),l=e.queryGeometry,c=e.queryPadding*o,u=$u(l),h=this.grid.query(u.minX-c,u.minY-c,u.maxX+c,u.maxY+c),f=$u(e.cameraQueryGeometry),p=this.grid3D.query(f.minX-c,f.minY-c,f.maxX+c,f.maxY+c,((t,r,n,i)=>function(e,t,r,n,i){for(let a of e)if(t<=a.x&&r<=a.y&&n>=a.x&&i>=a.y)return!0;let o=[new a(t,r),new a(t,i),new a(n,i),new a(n,r)];if(e.length>2)for(let t of o)if(cs(e,t))return!0;for(let t=0;t(f||(f=$o(t)),r.queryIntersectsFeature(l,t,n,f,this.z,e.transform,o,e.pixelPosMatrix))))}return m}loadMatchingFeature(e,t,r,n,i,a,o,s,l,c,u){let h=this.bucketLayerIDs[t];if(a&&!function(e,t){for(let r=0;r=0)return!0;return!1}(a,h))return;let f=this.sourceLayerCoder.decode(r),p=this.vtLayers[f].feature(n);if(i.needGeometry){let e=Ko(p,!0);if(!i.filter(new Qi(this.tileID.overscaledZ),e,this.tileID.canonical))return}else if(!i.filter(new Qi(this.tileID.overscaledZ),p))return;let d=this.getId(p,f);for(let t=0;t{let o=t instanceof sa?t.get(a):null;return o&&o.evaluate?o.evaluate(r,n,i):o}))}function $u(e){let t=1/0,r=1/0,n=-1/0,i=-1/0;for(let a of e)t=Math.min(t,a.x),r=Math.min(r,a.y),n=Math.max(n,a.x),i=Math.max(i,a.y);return{minX:t,minY:r,maxX:n,maxY:i}}function Ku(e,t){return t-e}function Ju(e,t,r,n,i){let o=[];for(let s=0;s=n&&u.x>=n||(s.x>=n?s=new a(n,s.y+(n-s.x)/(u.x-s.x)*(u.y-s.y))._round():u.x>=n&&(u=new a(n,s.y+(n-s.x)/(u.x-s.x)*(u.y-s.y))._round()),s.y>=i&&u.y>=i||(s.y>=i?s=new a(s.x+(i-s.y)/(u.y-s.y)*(u.x-s.x),i)._round():u.y>=i&&(u=new a(s.x+(i-s.y)/(u.y-s.y)*(u.x-s.x),i)._round()),l&&s.equals(l[l.length-1])||(l=[s],o.push(l)),l.push(u)))))}}return o}Ti("FeatureIndex",Yu,{omit:["rawTileData","sourceLayerCoder"]});class Qu extends a{constructor(e,t,r,n){super(e,t),this.angle=r,void 0!==n&&(this.segment=n)}clone(){return new Qu(this.x,this.y,this.angle,this.segment)}}function eh(e,t,r,n,i){if(void 0===t.segment||0===r)return!0;let a=t,o=t.segment+1,s=0;for(;s>-r/2;){if(o--,o<0)return!1;s-=e[o].dist(a),a=e[o]}s+=e[o].dist(e[o+1]),o++;let l=[],c=0;for(;sn;)c-=l.shift().angleDelta;if(c>i)return!1;o++,s+=t.dist(r)}return!0}function th(e){let t=0;for(let r=0;rc){let u=(c-l)/a,h=Pt.number(n.x,i.x,u),f=Pt.number(n.y,i.y,u),p=new Qu(h,f,i.angleTo(n),r);return p._round(),!o||eh(e,p,s,o,t)?p:void 0}l+=a}}function ah(e,t,r,n,i,a,o,s,l){let c=rh(n,a,o),u=nh(n,i),h=u*o,f=0===e[0].x||e[0].x===l||0===e[0].y||e[0].y===l;return t-h=0&&y=0&&v=0&&f+c<=u){let r=new Qu(y,v,m,t);r._round(),n&&!eh(e,r,a,n,i)||p.push(r)}}h+=d}return s||p.length||o||(p=oh(e,h/2,r,n,i,a,o,!0,l)),p}function sh(e,t,r,n){let i=[],o=e.image,s=o.pixelRatio,l=o.paddedRect.w-2,c=o.paddedRect.h-2,u={x1:e.left,y1:e.top,x2:e.right,y2:e.bottom},h=o.stretchX||[[0,l]],f=o.stretchY||[[0,c]],p=(e,t)=>e+t[1]-t[0],d=h.reduce(p,0),m=f.reduce(p,0),g=l-d,y=c-m,v=0,x=d,_=0,b=m,w=0,T=g,k=0,A=y;if(o.content&&n){let t=o.content,r=t[2]-t[0],n=t[3]-t[1];(o.textFitWidth||o.textFitHeight)&&(u=iu(e)),v=lh(h,0,t[0]),_=lh(f,0,t[1]),x=lh(h,t[0],t[2]),b=lh(f,t[1],t[3]),w=t[0]-v,k=t[1]-_,T=r-x,A=n-b}let M=u.x1,S=u.y1,E=u.x2-M,C=u.y2-S,I=(e,n,i,l)=>{let c=uh(e.stretch-v,x,E,M),u=hh(e.fixed-w,T,e.stretch,d),h=uh(n.stretch-_,b,C,S),f=hh(n.fixed-k,A,n.stretch,m),p=uh(i.stretch-v,x,E,M),g=hh(i.fixed-w,T,i.stretch,d),y=uh(l.stretch-_,b,C,S),I=hh(l.fixed-k,A,l.stretch,m),L=new a(c,h),P=new a(p,h),z=new a(p,y),D=new a(c,y),O=new a(u/s,f/s),R=new a(g/s,I/s),F=t*Math.PI/180;if(F){let e=Math.sin(F),t=Math.cos(F),r=[t,-e,e,t];L._matMult(r),P._matMult(r),D._matMult(r),z._matMult(r)}let B=e.stretch+e.fixed,j=n.stretch+n.fixed;return{tl:L,tr:P,bl:D,br:z,tex:{x:o.paddedRect.x+1+B,y:o.paddedRect.y+1+j,w:i.stretch+i.fixed-B,h:l.stretch+l.fixed-j},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:O,pixelOffsetBR:R,minFontScaleX:T/s/E,minFontScaleY:A/s/C,isSDF:r}};if(n&&(o.stretchX||o.stretchY)){let e=ch(h,g,d),t=ch(f,y,m);for(let r=0;r0&&(n=Math.max(10,n),this.circleDiameter=n)}else{let c=null!==(h=o.image)&&void 0!==h&&h.content&&(o.image.textFitWidth||o.image.textFitHeight)?iu(o):{x1:o.left,y1:o.top,x2:o.right,y2:o.bottom};c.y1=c.y1*s-l[0],c.y2=c.y2*s+l[2],c.x1=c.x1*s-l[3],c.x2=c.x2*s+l[1];let f=o.collisionPadding;if(f&&(c.x1-=f[0]*s,c.y1-=f[1]*s,c.x2+=f[2]*s,c.y2+=f[3]*s),u){let e=new a(c.x1,c.y1),t=new a(c.x2,c.y1),r=new a(c.x1,c.y2),n=new a(c.x2,c.y2),i=u*Math.PI/180;e._rotate(i),t._rotate(i),r._rotate(i),n._rotate(i),c.x1=Math.min(e.x,t.x,r.x,n.x),c.x2=Math.max(e.x,t.x,r.x,n.x),c.y1=Math.min(e.y,t.y,r.y,n.y),c.y2=Math.max(e.y,t.y,r.y,n.y)}e.emplaceBack(t.x,t.y,c.x1,c.y1,c.x2,c.y2,r,n,i)}this.boxEndIndex=e.length}}class ph{constructor(e=[],t=(e,t)=>et?1:0){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(0===this.length)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:r}=this,n=t[e];for(;e>0;){let i=e-1>>1,a=t[i];if(r(n,a)>=0)break;t[e]=a,e=i}t[e]=n}_down(e){let{data:t,compare:r}=this,n=this.length>>1,i=t[e];for(;e=0)break;t[e]=t[n],e=n}t[e]=i}}function dh(e,t=1,r=!1){let n=1/0,i=1/0,o=-1/0,s=-1/0,l=e[0];for(let e=0;eo)&&(o=t.x),(!e||t.y>s)&&(s=t.y)}let c=Math.min(o-n,s-i),u=c/2,h=new ph([],mh);if(0===c)return new a(n,i);for(let t=n;tf.d||!f.d)&&(f=n,r&&console.log("found best %d after %d probes",Math.round(1e4*n.d)/1e4,p)),n.max-f.d<=t||(u=n.h/2,h.push(new gh(n.p.x-u,n.p.y-u,u,e)),h.push(new gh(n.p.x+u,n.p.y-u,u,e)),h.push(new gh(n.p.x-u,n.p.y+u,u,e)),h.push(new gh(n.p.x+u,n.p.y+u,u,e)),p+=4)}return r&&(console.log(`num probes: ${p}`),console.log(`best distance: ${f.d}`)),f.p}function mh(e,t){return t.max-e.max}function gh(e,t,r,n){this.p=new a(e,t),this.h=r,this.d=function(e,t){let r=!1,n=1/0;for(let i=0;ie.y!=s.y>e.y&&e.x<(s.x-i.x)*(e.y-i.y)/(s.y-i.y)+i.x&&(r=!r),n=Math.min(n,ss(e,i,s))}}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}var yh;e.aq=void 0,(yh=e.aq||(e.aq={}))[yh.center=1]="center",yh[yh.left=2]="left",yh[yh.right=3]="right",yh[yh.top=4]="top",yh[yh.bottom=5]="bottom",yh[yh["top-left"]=6]="top-left",yh[yh["top-right"]=7]="top-right",yh[yh["bottom-left"]=8]="bottom-left",yh[yh["bottom-right"]=9]="bottom-right";let vh=Number.POSITIVE_INFINITY;function xh(e,t){return t[1]!==vh?function(e,t,r){let n=0,i=0;switch(t=Math.abs(t),r=Math.abs(r),e){case"top-right":case"top-left":case"top":i=r-7;break;case"bottom-right":case"bottom-left":case"bottom":i=7-r}switch(e){case"top-right":case"bottom-right":case"right":n=-t;break;case"top-left":case"bottom-left":case"left":n=t}return[n,i]}(e,t[0],t[1]):function(e,t){let r=0,n=0;t<0&&(t=0);let i=t/Math.SQRT2;switch(e){case"top-right":case"top-left":n=i-7;break;case"bottom-right":case"bottom-left":n=7-i;break;case"bottom":n=7-t;break;case"top":n=t-7}switch(e){case"top-right":case"bottom-right":r=-i;break;case"top-left":case"bottom-left":r=i;break;case"left":r=t;break;case"right":r=-t}return[r,n]}(e,t[0])}function _h(e,t,r){var n;let i=e.layout,a=null===(n=i.get("text-variable-anchor-offset"))||void 0===n?void 0:n.evaluate(t,{},r);if(a){let e=a.values,t=[];for(let r=0;re*fc));n.startsWith("top")?i[1]-=7:n.startsWith("bottom")&&(i[1]+=7),t[r+1]=i}return new tt(t)}let o=i.get("text-variable-anchor");if(o){let n;n=void 0!==e._unevaluatedLayout.getValue("text-radial-offset")?[i.get("text-radial-offset").evaluate(t,{},r)*fc,vh]:i.get("text-offset").evaluate(t,{},r).map((e=>e*fc));let a=[];for(let e of o)a.push(e,xh(e,n));return new tt(a)}return null}function bh(e){switch(e){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function wh(t,r,n,i,a,o,s,l,c,u,h){let f=o.textMaxSize.evaluate(r,{});void 0===f&&(f=s);let p,d=t.layers[0].layout,m=d.get("icon-offset").evaluate(r,{},h),g=kh(n.horizontal),y=s/24,v=t.tilePixelRatio*y,x=t.tilePixelRatio*f/24,_=t.tilePixelRatio*l,b=t.tilePixelRatio*d.get("symbol-spacing"),w=d.get("text-padding")*t.tilePixelRatio,T=function(e,t,r,n=1){let i=e.get("icon-padding").evaluate(t,{},r),a=i&&i.values;return[a[0]*n,a[1]*n,a[2]*n,a[3]*n]}(d,r,h,t.tilePixelRatio),k=d.get("text-max-angle")/180*Math.PI,M="viewport"!==d.get("text-rotation-alignment")&&"point"!==d.get("symbol-placement"),S="map"===d.get("icon-rotation-alignment")&&"point"!==d.get("symbol-placement"),E=d.get("symbol-placement"),C=b/2,I=d.get("icon-text-fit");i&&"none"!==I&&(t.allowVerticalPlacement&&n.vertical&&(p=au(i,n.vertical,I,d.get("icon-text-fit-padding"),m,y)),g&&(i=au(i,g,I,d.get("icon-text-fit-padding"),m,y)));let L=(l,f)=>{f.x<0||f.x>=Zo||f.y<0||f.y>=Zo||function(t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,M){let S,E,C,I,L=t.addToLineVertexArray(r,n),P=0,z=0,D=0,O=0,R=-1,F=-1,B={},j=Ao("");if(t.allowVerticalPlacement&&i.vertical){let e=l.layout.get("text-rotate").evaluate(b,{},k)+90;C=new fh(c,r,u,h,f,i.vertical,p,d,m,e),s&&(I=new fh(c,r,u,h,f,s,y,v,m,e))}if(a){let n=l.layout.get("icon-rotate").evaluate(b,{}),i="none"!==l.layout.get("icon-text-fit"),o=sh(a,n,T,i),p=s?sh(s,n,T,i):void 0;E=new fh(c,r,u,h,f,a,y,v,!1,n),P=4*o.length;let d=t.iconSizeData,m=null;"source"===d.kind?(m=[ou*l.layout.get("icon-size").evaluate(b,{})],m[0]>su&&A(`${t.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)):"composite"===d.kind&&(m=[ou*w.compositeIconSizes[0].evaluate(b,{},k),ou*w.compositeIconSizes[1].evaluate(b,{},k)],(m[0]>su||m[1]>su)&&A(`${t.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)),t.addSymbols(t.icon,o,m,_,x,b,e.ah.none,r,L.lineStartIndex,L.lineLength,-1,k),R=t.icon.placedSymbolArray.length-1,p&&(z=4*p.length,t.addSymbols(t.icon,p,m,_,x,b,e.ah.vertical,r,L.lineStartIndex,L.lineLength,-1,k),F=t.icon.placedSymbolArray.length-1)}let N=Object.keys(i.horizontal);for(let n of N){let a=i.horizontal[n];if(!S){j=Ao(a.text);let e=l.layout.get("text-rotate").evaluate(b,{},k);S=new fh(c,r,u,h,f,a,p,d,m,e)}let s=1===a.positionedLines.length;if(D+=Th(t,r,a,o,l,m,b,g,L,i.vertical?e.ah.horizontal:e.ah.horizontalOnly,s?N:[n],B,R,w,k),s)break}i.vertical&&(O+=Th(t,r,i.vertical,o,l,m,b,g,L,e.ah.vertical,["vertical"],B,F,w,k));let U=S?S.boxStartIndex:t.collisionBoxArray.length,V=S?S.boxEndIndex:t.collisionBoxArray.length,q=C?C.boxStartIndex:t.collisionBoxArray.length,H=C?C.boxEndIndex:t.collisionBoxArray.length,G=E?E.boxStartIndex:t.collisionBoxArray.length,W=E?E.boxEndIndex:t.collisionBoxArray.length,Z=I?I.boxStartIndex:t.collisionBoxArray.length,Y=I?I.boxEndIndex:t.collisionBoxArray.length,X=-1,$=(e,t)=>e&&e.circleDiameter?Math.max(e.circleDiameter,t):t;X=$(S,X),X=$(C,X),X=$(E,X),X=$(I,X);let K=X>-1?1:0;K&&(X*=M/fc),t.glyphOffsetArray.length>=xu.MAX_GLYPHS&&A("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==b.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,b.sortKey);let J=_h(l,b,k),[Q,ee]=function(t,r){let n=t.length,i=r?.values;if(i?.length>0)for(let r=0;r=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,j,U,V,q,H,G,W,Z,Y,u,D,O,P,z,K,0,p,X,Q,ee)}(t,f,l,n,i,a,p,t.layers[0],t.collisionBoxArray,r.index,r.sourceLayerIndex,t.index,v,[w,w,w,w],M,c,_,T,S,m,r,o,u,h,s)};if("line"===E)for(let e of Ju(r.geometry,0,0,Zo,Zo)){let r=ah(e,b,k,n.vertical||g,i,24,x,t.overscaling,Zo);for(let n of r)g&&Ah(t,g.text,C,n)||L(e,n)}else if("line-center"===E){for(let e of r.geometry)if(e.length>1){let t=ih(e,k,n.vertical||g,i,24,x);t&&L(e,t)}}else if("Polygon"===r.type)for(let e of _r(r.geometry,0)){let t=dh(e,16);L(e[0],new Qu(t.x,t.y,0))}else if("LineString"===r.type)for(let e of r.geometry)L(e,new Qu(e[0].x,e[0].y,0));else if("Point"===r.type)for(let e of r.geometry)for(let t of e)L([t],new Qu(t.x,t.y,0))}function Th(e,t,r,n,i,o,s,l,c,u,h,f,p,d,m){let g=function(e,t,r,n,i,o,s,l){let c=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,u=[];for(let e of t.positionedLines)for(let n of e.positionedGlyphs){if(!n.rect)continue;let o=n.rect||{},h=4,f=!0,p=1,d=0,m=(i||l)&&n.vertical,g=n.metrics.advance*n.scale/2;if(l&&t.verticalizable&&(d=e.lineOffset/2-(n.imageName?-(fc-n.metrics.width*n.scale)/2:(n.scale-1)*fc)),n.imageName){let e=s[n.imageName];f=e.sdf,p=e.pixelRatio,h=1/p}let y=i?[n.x+g,n.y]:[0,0],v=i?[0,0]:[n.x+g+r[0],n.y+r[1]-d],x=[0,0];m&&(x=v,v=[0,0]);let _=n.metrics.isDoubleResolution?2:1,b=(n.metrics.left-h)*n.scale-g+v[0],w=(-n.metrics.top-h)*n.scale+v[1],T=b+o.w/_*n.scale/p,k=w+o.h/_*n.scale/p,A=new a(b,w),M=new a(T,w),S=new a(b,k),E=new a(T,k);if(m){let e=new a(-g,g-Vc),t=-Math.PI/2,r=12-g,i=new a(22-r,-(n.imageName?r:0)),o=new a(...x);A._rotateAround(t,e)._add(i)._add(o),M._rotateAround(t,e)._add(i)._add(o),S._rotateAround(t,e)._add(i)._add(o),E._rotateAround(t,e)._add(i)._add(o)}if(c){let e=Math.sin(c),t=Math.cos(c),r=[t,-e,e,t];A._matMult(r),M._matMult(r),S._matMult(r),E._matMult(r)}let C=new a(0,0),I=new a(0,0);u.push({tl:A,tr:M,bl:S,br:E,tex:o,writingMode:t.writingMode,glyphOffset:y,sectionIndex:n.sectionIndex,isSDF:f,pixelOffsetTL:C,pixelOffsetBR:I,minFontScaleX:0,minFontScaleY:0})}return u}(0,r,l,i,o,s,n,e.allowVerticalPlacement),y=e.textSizeData,v=null;"source"===y.kind?(v=[ou*i.layout.get("text-size").evaluate(s,{})],v[0]>su&&A(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)):"composite"===y.kind&&(v=[ou*d.compositeTextSizes[0].evaluate(s,{},m),ou*d.compositeTextSizes[1].evaluate(s,{},m)],(v[0]>su||v[1]>su)&&A(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)),e.addSymbols(e.text,g,v,l,o,s,u,t,c.lineStartIndex,c.lineLength,p,m);for(let t of h)f[t]=e.text.placedSymbolArray.length-1;return 4*g.length}function kh(e){for(let t in e)return e[t];return null}function Ah(e,t,r,n){let i=e.compareText;if(t in i){let e=i[t];for(let t=e.length-1;t>=0;t--)if(n.dist(e[t])>4;if(1!==n)throw new Error(`Got v${n} data when expected v1.`);let i=Mh[15&r];if(!i)throw new Error("Unrecognized array type.");let[a]=new Uint16Array(e,2,1),[o]=new Uint32Array(e,4,1);return new Sh(o,a,i,e)}constructor(e,t=64,r=Float64Array,n){if(isNaN(e)||e<0)throw new Error(`Unpexpected numItems value: ${e}.`);this.numItems=+e,this.nodeSize=Math.min(Math.max(+t,2),65535),this.ArrayType=r,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;let i=Mh.indexOf(this.ArrayType),a=2*e*this.ArrayType.BYTES_PER_ELEMENT,o=e*this.IndexArrayType.BYTES_PER_ELEMENT,s=(8-o%8)%8;if(i<0)throw new Error(`Unexpected typed array class: ${r}.`);n&&n instanceof ArrayBuffer?(this.data=n,this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+o+s,2*e),this._pos=2*e,this._finished=!0):(this.data=new ArrayBuffer(8+a+o+s),this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+o+s,2*e),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+i]),new Uint16Array(this.data,2,1)[0]=t,new Uint32Array(this.data,4,1)[0]=e)}add(e,t){let r=this._pos>>1;return this.ids[r]=r,this.coords[this._pos++]=e,this.coords[this._pos++]=t,r}finish(){let e=this._pos>>1;if(e!==this.numItems)throw new Error(`Added ${e} items when expected ${this.numItems}.`);return Eh(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,t,r,n){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:i,coords:a,nodeSize:o}=this,s=[0,i.length-1,0],l=[];for(;s.length;){let c=s.pop()||0,u=s.pop()||0,h=s.pop()||0;if(u-h<=o){for(let o=h;o<=u;o++){let s=a[2*o],c=a[2*o+1];s>=e&&s<=r&&c>=t&&c<=n&&l.push(i[o])}continue}let f=h+u>>1,p=a[2*f],d=a[2*f+1];p>=e&&p<=r&&d>=t&&d<=n&&l.push(i[f]),(0===c?e<=p:t<=d)&&(s.push(h),s.push(f-1),s.push(1-c)),(0===c?r>=p:n>=d)&&(s.push(f+1),s.push(u),s.push(1-c))}return l}within(e,t,r){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:n,coords:i,nodeSize:a}=this,o=[0,n.length-1,0],s=[],l=r*r;for(;o.length;){let c=o.pop()||0,u=o.pop()||0,h=o.pop()||0;if(u-h<=a){for(let r=h;r<=u;r++)Ph(i[2*r],i[2*r+1],e,t)<=l&&s.push(n[r]);continue}let f=h+u>>1,p=i[2*f],d=i[2*f+1];Ph(p,d,e,t)<=l&&s.push(n[f]),(0===c?e-r<=p:t-r<=d)&&(o.push(h),o.push(f-1),o.push(1-c)),(0===c?e+r>=p:t+r>=d)&&(o.push(f+1),o.push(u),o.push(1-c))}return s}}function Eh(e,t,r,n,i,a){if(i-n<=r)return;let o=n+i>>1;Ch(e,t,o,n,i,a),Eh(e,t,r,n,o-1,1-a),Eh(e,t,r,o+1,i,1-a)}function Ch(e,t,r,n,i,a){for(;i>n;){if(i-n>600){let o=i-n+1,s=r-n+1,l=Math.log(o),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1);Ch(e,t,r,Math.max(n,Math.floor(r-s*c/o+u)),Math.min(i,Math.floor(r+(o-s)*c/o+u)),a)}let o=t[2*r+a],s=n,l=i;for(Ih(e,t,n,r),t[2*i+a]>o&&Ih(e,t,n,i);so;)l--}t[2*n+a]===o?Ih(e,t,n,l):(l++,Ih(e,t,l,i)),l<=r&&(n=l+1),r<=l&&(i=l-1)}}function Ih(e,t,r,n){Lh(e,r,n),Lh(t,2*r,2*n),Lh(t,2*r+1,2*n+1)}function Lh(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}function Ph(e,t,r,n){let i=e-r,a=t-n;return i*i+a*a}var zh;e.bg=void 0,(zh=e.bg||(e.bg={})).create="create",zh.load="load",zh.fullLoad="fullLoad";let Dh=null,Oh=[],Rh=1e3/60,Fh="loadTime",Bh="fullLoadTime",jh={mark(e){performance.mark(e)},frame(e){let t=e;null!=Dh&&Oh.push(t-Dh),Dh=t},clearMetrics(){Dh=null,Oh=[],performance.clearMeasures(Fh),performance.clearMeasures(Bh);for(let t in e.bg)performance.clearMarks(e.bg[t])},getPerformanceMetrics(){performance.measure(Fh,e.bg.create,e.bg.load),performance.measure(Bh,e.bg.create,e.bg.fullLoad);let t=performance.getEntriesByName(Fh)[0].duration,r=performance.getEntriesByName(Bh)[0].duration,n=Oh.length,i=1/(Oh.reduce(((e,t)=>e+t),0)/n/1e3),a=Oh.filter((e=>e>Rh)).reduce(((e,t)=>e+(t-Rh)/Rh),0);return{loadTime:t,fullLoadTime:r,fps:i,percentDroppedFrames:a/(n+a)*100,totalFrames:n}}};e.$=class extends Ta{},e.A=gs,e.B=yi,e.C=function(e){if(null==E){let t=e.navigator?e.navigator.userAgent:null;E=!!e.safari||!(!t||!(/\b(iPad|iPhone|iPod)\b/.test(t)||t.match("Safari")&&!t.match("Chrome")))}return E},e.D=la,e.E=Z,e.F=class{constructor(e,t){var r,n,i;this.target=e,this.mapId=t,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new Iu((()=>this.process())),this.subscription=(r=this.target,n="message",i=e=>this.receive(e),r.addEventListener(n,i,!1),{unsubscribe:()=>{r.removeEventListener(n,i,!1)}}),this.globalScope=S(self)?e:window}registerMessageHandler(e,t){this.messageHandlers[e]=t}sendAsync(e,t){return new Promise(((r,n)=>{let i=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[i]={resolve:r,reject:n},t&&t.signal.addEventListener("abort",(()=>{delete this.resolveRejects[i];let t={id:i,type:"",origin:location.origin,targetMapId:e.targetMapId,sourceMapId:this.mapId};this.target.postMessage(t)}),{once:!0});let a=[],o=Object.assign(Object.assign({},e),{id:i,sourceMapId:this.mapId,origin:location.origin,data:Si(e.data,a)});this.target.postMessage(o,{transfer:a})}))}receive(e){let t=e.data,r=t.id;if(!("file://"!==t.origin&&"file://"!==location.origin&&"resource://android"!==t.origin&&"resource://android"!==location.origin&&t.origin!==location.origin||t.targetMapId&&this.mapId!==t.targetMapId)){if(""===t.type){delete this.tasks[r];let e=this.abortControllers[r];return delete this.abortControllers[r],void(e&&e.abort())}if(S(self)||t.mustQueue)return this.tasks[r]=t,this.taskQueue.push(r),void this.invoker.trigger();this.processTask(r,t)}}process(){if(0===this.taskQueue.length)return;let e=this.taskQueue.shift(),t=this.tasks[e];delete this.tasks[e],this.taskQueue.length>0&&this.invoker.trigger(),t&&this.processTask(e,t)}processTask(e,r){return t(this,void 0,void 0,(function*(){if(""===r.type){let t=this.resolveRejects[e];return delete this.resolveRejects[e],t?void(r.error?t.reject(Ei(r.error)):t.resolve(Ei(r.data))):void 0}if(!this.messageHandlers[r.type])return void this.completeTask(e,new Error(`Could not find a registered handler for ${r.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(", ")}`));let t=Ei(r.data),n=new AbortController;this.abortControllers[e]=n;try{let i=yield this.messageHandlers[r.type](r.sourceMapId,t,n);this.completeTask(e,null,i)}catch(t){this.completeTask(e,t)}}))}completeTask(e,t,r){let n=[];delete this.abortControllers[e];let i={id:e,type:"",sourceMapId:this.mapId,origin:location.origin,error:t?Si(t):null,data:Si(r,n)};this.target.postMessage(i,{transfer:n})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},e.G=B,e.H=function(){var e=new gs(16);return gs!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e},e.I=Nc,e.J=function(e,t,r){var n,i,a,o,s,l,c,u,h,f,p,d,m=r[0],g=r[1],y=r[2];return t===e?(e[12]=t[0]*m+t[4]*g+t[8]*y+t[12],e[13]=t[1]*m+t[5]*g+t[9]*y+t[13],e[14]=t[2]*m+t[6]*g+t[10]*y+t[14],e[15]=t[3]*m+t[7]*g+t[11]*y+t[15]):(i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],c=t[6],u=t[7],h=t[8],f=t[9],p=t[10],d=t[11],e[0]=n=t[0],e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=l,e[6]=c,e[7]=u,e[8]=h,e[9]=f,e[10]=p,e[11]=d,e[12]=n*m+s*g+h*y+t[12],e[13]=i*m+l*g+f*y+t[13],e[14]=a*m+c*g+p*y+t[14],e[15]=o*m+u*g+d*y+t[15]),e},e.K=function(e,t,r){var n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},e.L=vs,e.M=function(e,t){let r={};for(let n=0;n{let t=window.document.createElement("video");return t.muted=!0,new Promise((r=>{t.onloadstart=()=>{r(t)};for(let r of e){let e=window.document.createElement("source");V(r)||(t.crossOrigin="Anonymous"),e.src=r,t.appendChild(e)}}))},e.a4=function(){return _++},e.a5=Ga,e.a6=xu,e.a7=In,e.a8=Ko,e.a9=Zu,e.aA=function(e){if("custom"===e.type)return new Cu(e);switch(e.type){case"background":return new Au(e);case"circle":return new ws(e);case"fill":return new yl(e);case"fill-extrusion":return new Ul(e);case"heatmap":return new Os(e);case"hillshade":return new Fs(e);case"line":return new nc(e);case"raster":return new Eu(e);case"symbol":return new wu(e)}},e.aB=T,e.aC=function(e,t){if(!e)return[{command:"setStyle",args:[t]}];let r=[];try{if(!K(e.version,t.version))return[{command:"setStyle",args:[t]}];K(e.center,t.center)||r.push({command:"setCenter",args:[t.center]}),K(e.zoom,t.zoom)||r.push({command:"setZoom",args:[t.zoom]}),K(e.bearing,t.bearing)||r.push({command:"setBearing",args:[t.bearing]}),K(e.pitch,t.pitch)||r.push({command:"setPitch",args:[t.pitch]}),K(e.sprite,t.sprite)||r.push({command:"setSprite",args:[t.sprite]}),K(e.glyphs,t.glyphs)||r.push({command:"setGlyphs",args:[t.glyphs]}),K(e.transition,t.transition)||r.push({command:"setTransition",args:[t.transition]}),K(e.light,t.light)||r.push({command:"setLight",args:[t.light]}),K(e.terrain,t.terrain)||r.push({command:"setTerrain",args:[t.terrain]}),K(e.sky,t.sky)||r.push({command:"setSky",args:[t.sky]}),K(e.projection,t.projection)||r.push({command:"setProjection",args:[t.projection]});let n={},i=[];!function(e,t,r,n){let i;for(i in t=t||{},e=e||{})Object.prototype.hasOwnProperty.call(e,i)&&(Object.prototype.hasOwnProperty.call(t,i)||ee(i,r,n));for(i in t)Object.prototype.hasOwnProperty.call(t,i)&&(Object.prototype.hasOwnProperty.call(e,i)?K(e[i],t[i])||("geojson"===e[i].type&&"geojson"===t[i].type&&re(e,t,i)?J(r,{command:"setGeoJSONSourceData",args:[i,t[i].data]}):te(i,t,r,n)):Q(i,t,r))}(e.sources,t.sources,i,n);let a=[];e.layers&&e.layers.forEach((e=>{"source"in e&&n[e.source]?r.push({command:"removeLayer",args:[e.id]}):a.push(e)})),r=r.concat(i),function(e,t,r){t=t||[];let n,i,a,o,s,l=(e=e||[]).map(ie),c=t.map(ie),u=e.reduce(ae,{}),h=t.reduce(ae,{}),f=l.slice(),p=Object.create(null);for(let e=0,t=0;e@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,((e,r,n,i)=>{let a=n||i;return t[r]=!a||a.toLowerCase(),""})),t["max-age"]){let e=parseInt(t["max-age"],10);isNaN(e)?delete t["max-age"]:t["max-age"]=e}return t},e.ab=function(e,t){let r=[];for(let n in e)n in t||r.push(n);return r},e.ac=y,e.ad=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],c=t[4],u=t[5],h=t[6],f=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+c*n,e[1]=o*i+u*n,e[2]=s*i+h*n,e[3]=l*i+f*n,e[4]=c*i-a*n,e[5]=u*i-o*n,e[6]=h*i-s*n,e[7]=f*i-l*n,e},e.ae=function(e){var t=new gs(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},e.af=bs,e.ag=function(e,t){let r=0,n=0;if("constant"===e.kind)n=e.layoutSize;else if("source"!==e.kind){let{interpolationType:i,minZoom:a,maxZoom:o}=e,s=i?y(zt.interpolationFactor(i,t,a,o),0,1):0;"camera"===e.kind?n=Pt.number(e.minSize,e.maxSize,s):r=s}return{uSizeT:r,uSize:n}},e.ai=function(e,{uSize:t,uSizeT:r},{lowerSize:n,upperSize:i}){return"source"===e.kind?n/ou:"composite"===e.kind?Pt.number(n/ou,i/ou,r):t},e.aj=mu,e.ak=function(e,t,r,n){let i=t.y-e.y,o=t.x-e.x,s=n.y-r.y,l=n.x-r.x,c=s*o-l*i;if(0===c)return null;let u=(l*(e.y-r.y)-s*(e.x-r.x))/c;return new a(e.x+u*o,e.y+u*i)},e.al=Ju,e.am=es,e.an=ys,e.ao=function(e){let t=1/0,r=1/0,n=-1/0,i=-1/0;for(let a of e)t=Math.min(t,a.x),r=Math.min(r,a.y),n=Math.max(n,a.x),i=Math.max(i,a.y);return[t,r,n,i]},e.ap=fc,e.ar=cu,e.as=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],c=t[7],u=t[8],h=t[9],f=t[10],p=t[11],d=t[12],m=t[13],g=t[14],y=t[15],v=r*s-n*o,x=r*l-i*o,_=r*c-a*o,b=n*l-i*s,w=n*c-a*s,T=i*c-a*l,k=u*m-h*d,A=u*g-f*d,M=u*y-p*d,S=h*g-f*m,E=h*y-p*m,C=f*y-p*g,I=v*C-x*E+_*S+b*M-w*A+T*k;return I?(e[0]=(s*C-l*E+c*S)*(I=1/I),e[1]=(i*E-n*C-a*S)*I,e[2]=(m*T-g*w+y*b)*I,e[3]=(f*w-h*T-p*b)*I,e[4]=(l*M-o*C-c*A)*I,e[5]=(r*C-i*M+a*A)*I,e[6]=(g*_-d*T-y*x)*I,e[7]=(u*T-f*_+p*x)*I,e[8]=(o*E-s*M+c*k)*I,e[9]=(n*M-r*E-a*k)*I,e[10]=(d*w-m*_+y*v)*I,e[11]=(h*_-u*w-p*v)*I,e[12]=(s*A-o*S-l*k)*I,e[13]=(r*S-n*A+i*k)*I,e[14]=(m*x-d*b-g*v)*I,e[15]=(u*b-h*x+f*v)*I,e):null},e.at=bh,e.au=tu,e.av=Sh,e.aw=function(){let e={},t=Y.$version;for(let r in Y.$root){let n=Y.$root[r];if(n.required){let i=null;i="version"===r?t:"array"===n.type?[]:{},null!=i&&(e[r]=i)}}return e},e.ax=Ci,e.ay=N,e.az=function(e){e=e.slice();let t=Object.create(null);for(let r=0;r25||n<0||n>=1||r<0||r>=1)},e.bc=function(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},e.bd=class extends wa{},e.be=Lu,e.bf=jh,e.bh=j,e.bi=function(e,t){R.REGISTERED_PROTOCOLS[e]=t},e.bj=function(e){delete R.REGISTERED_PROTOCOLS[e]},e.bk=function(e,t){let r={};for(let n=0;ne*fc))}let x=s?"center":n.get("text-justify").evaluate(i,{},t.canonical),_="point"===n.get("symbol-placement")?n.get("text-max-width").evaluate(i,{},t.canonical)*fc:1/0,b=()=>{t.bucket.allowVerticalPlacement&&Ni(a)&&(m.vertical=Gc(g,t.glyphMap,t.glyphPositions,t.imagePositions,h,_,o,d,"left",u,y,e.ah.vertical,!0,p,f))};if(!s&&v){let r=new Set;if("auto"===x)for(let e=0;et(void 0,void 0,void 0,(function*(){if(0===e.byteLength)return createImageBitmap(new ImageData(1,1));let t=new Blob([new Uint8Array(e)],{type:"image/png"});try{return createImageBitmap(t)}catch(e){throw new Error(`Could not load image because of ${e.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}})),e.e=x,e.f=e=>new Promise(((t,r)=>{let n=new Image;n.onload=()=>{t(n),URL.revokeObjectURL(n.src),n.onload=null,window.requestAnimationFrame((()=>{n.src=I}))},n.onerror=()=>r(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 i=new Blob([new Uint8Array(e)],{type:"image/png"});n.src=e.byteLength?URL.createObjectURL(i):I})),e.g=F,e.h=(e,t)=>U(x(e,{type:"json"}),t),e.i=S,e.j=W,e.k=G,e.l=(e,t)=>U(x(e,{type:"arrayBuffer"}),t),e.m=U,e.n=function(e){return new Oc(e).readFields(Rc,[])},e.o=Is,e.p=jc,e.q=pa,e.r=gi,e.s=V,e.t=_i,e.u=mi,e.v=Y,e.w=A,e.x=function([e,t,r]){return t+=90,t*=Math.PI/180,r*=Math.PI/180,{x:e*Math.cos(t)*Math.sin(r),y:e*Math.sin(t)*Math.sin(r),z:e*Math.cos(r)}},e.y=Pt,e.z=Qi})),r("worker",0,(function(e){class t{constructor(e){this.keyCache={},e&&this.replace(e)}replace(e){this._layerConfigs={},this._layers={},this.update(e,[])}update(t,r){for(let r of t){this._layerConfigs[r.id]=r;let t=this._layers[r.id]=e.aA(r);t._featureFilter=e.a7(t.filter),this.keyCache[r.id]&&delete this.keyCache[r.id]}for(let e of r)delete this.keyCache[e],delete this._layerConfigs[e],delete this._layers[e];this.familiesBySource={};let n=e.bk(Object.values(this._layerConfigs),this.keyCache);for(let e of n){let t=e.map((e=>this._layers[e.id])),r=t[0];if("none"===r.visibility)continue;let n=r.source||"",i=this.familiesBySource[n];i||(i=this.familiesBySource[n]={});let a=r.sourceLayer||"_geojsonTileLayer",o=i[a];o||(o=i[a]=[]),o.push(t)}}}class r{constructor(t){let r={},n=[];for(let e in t){let i=t[e],a=r[e]={};for(let e in i){let t=i[+e];if(!t||0===t.bitmap.width||0===t.bitmap.height)continue;let r={x:0,y:0,w:t.bitmap.width+2,h:t.bitmap.height+2};n.push(r),a[e]={rect:r,metrics:t.metrics}}}let{w:i,h:a}=e.p(n),o=new e.o({width:i||1,height:a||1});for(let n in t){let i=t[n];for(let t in i){let a=i[+t];if(!a||0===a.bitmap.width||0===a.bitmap.height)continue;let s=r[n][t].rect;e.o.copy(a.bitmap,o,{x:0,y:0},{x:s.x+1,y:s.y+1},a.bitmap)}}this.image=o,this.positions=r}}e.bl("GlyphAtlas",r);class n{constructor(t){this.tileID=new e.S(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.uid=t.uid,this.zoom=t.zoom,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=t.showCollisionBoxes,this.collectResourceTiming=!!t.collectResourceTiming,this.returnDependencies=!!t.returnDependencies,this.promoteId=t.promoteId,this.inFlightDependencies=[]}parse(t,n,a,o){return e._(this,void 0,void 0,(function*(){this.status="parsing",this.data=t,this.collisionBoxArray=new e.a5;let s=new e.bm(Object.keys(t.layers).sort()),l=new e.bn(this.tileID,this.promoteId);l.bucketLayerIDs=[];let c={},u={featureIndex:l,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:a},h=n.familiesBySource[this.source];for(let r in h){let n=t.layers[r];if(!n)continue;1===n.version&&e.w(`Vector tile source "${this.source}" layer "${r}" does not use vector tile spec v2 and therefore may have some rendering errors.`);let o=s.encode(r),f=[];for(let e=0;e=r.maxzoom||"none"!==r.visibility&&(i(t,this.zoom,a),(c[r.id]=r.createBucket({index:l.bucketLayerIDs.length,layers:t,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:o,sourceID:this.source})).populate(f,u,this.tileID.canonical),l.bucketLayerIDs.push(t.map((e=>e.id))))}}let f=e.aF(u.glyphDependencies,(e=>Object.keys(e).map(Number)));this.inFlightDependencies.forEach((e=>e?.abort())),this.inFlightDependencies=[];let p=Promise.resolve({});if(Object.keys(f).length){let e=new AbortController;this.inFlightDependencies.push(e),p=o.sendAsync({type:"GG",data:{stacks:f,source:this.source,tileID:this.tileID,type:"glyphs"}},e)}let d=Object.keys(u.iconDependencies),m=Promise.resolve({});if(d.length){let e=new AbortController;this.inFlightDependencies.push(e),m=o.sendAsync({type:"GI",data:{icons:d,source:this.source,tileID:this.tileID,type:"icons"}},e)}let g=Object.keys(u.patternDependencies),y=Promise.resolve({});if(g.length){let e=new AbortController;this.inFlightDependencies.push(e),y=o.sendAsync({type:"GI",data:{icons:g,source:this.source,tileID:this.tileID,type:"patterns"}},e)}let[v,x,_]=yield Promise.all([p,m,y]),b=new r(v),w=new e.bo(x,_);for(let t in c){let r=c[t];r instanceof e.a6?(i(r.layers,this.zoom,a),e.bp({bucket:r,glyphMap:v,glyphPositions:b.positions,imageMap:x,imagePositions:w.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):r.hasPattern&&(r instanceof e.bq||r instanceof e.br||r instanceof e.bs)&&(i(r.layers,this.zoom,a),r.addFeatures(u,this.tileID.canonical,w.patternPositions))}return this.status="done",{buckets:Object.values(c).filter((e=>!e.isEmpty())),featureIndex:l,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:b.image,imageAtlas:w,glyphMap:this.returnDependencies?v:null,iconMap:this.returnDependencies?x:null,glyphPositions:this.returnDependencies?b.positions:null}}))}}function i(t,r,n){let i=new e.z(r);for(let e of t)e.recalculate(i,n)}class a{constructor(e,t,r){this.actor=e,this.layerIndex=t,this.availableImages=r,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(t,r){return e._(this,void 0,void 0,(function*(){let n=yield e.l(t.request,r);try{return{vectorTile:new e.bt.VectorTile(new e.bu(n.data)),rawData:n.data,cacheControl:n.cacheControl,expires:n.expires}}catch(e){let r=new Uint8Array(n.data),i=`Unable to parse the tile at ${t.request.url}, `;throw i+=31===r[0]&&139===r[1]?"please make sure the data is not gzipped and that you have configured the relevant header in the server":`got error: ${e.message}`,new Error(i)}}))}loadTile(t){return e._(this,void 0,void 0,(function*(){let r=t.uid,i=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.bv(t.request),a=new n(t);this.loading[r]=a;let o=new AbortController;a.abort=o;try{let n=yield this.loadVectorTile(t,o);if(delete this.loading[r],!n)return null;let s=n.rawData,l={};n.expires&&(l.expires=n.expires),n.cacheControl&&(l.cacheControl=n.cacheControl);let c={};if(i){let e=i.finish();e&&(c.resourceTiming=JSON.parse(JSON.stringify(e)))}a.vectorTile=n.vectorTile;let u=a.parse(n.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[r]=a,this.fetching[r]={rawTileData:s,cacheControl:l,resourceTiming:c};try{let t=yield u;return e.e({rawTileData:s.slice(0)},t,l,c)}finally{delete this.fetching[r]}}catch(e){throw delete this.loading[r],a.status="done",this.loaded[r]=a,e}}))}reloadTile(t){return e._(this,void 0,void 0,(function*(){let r=t.uid;if(!this.loaded||!this.loaded[r])throw new Error("Should not be trying to reload a tile that was never loaded or has been removed");let n=this.loaded[r];if(n.showCollisionBoxes=t.showCollisionBoxes,"parsing"===n.status){let t,i=yield n.parse(n.vectorTile,this.layerIndex,this.availableImages,this.actor);if(this.fetching[r]){let{rawTileData:n,cacheControl:a,resourceTiming:o}=this.fetching[r];delete this.fetching[r],t=e.e({rawTileData:n.slice(0)},i,a,o)}else t=i;return t}if("done"===n.status&&n.vectorTile)return n.parse(n.vectorTile,this.layerIndex,this.availableImages,this.actor)}))}abortTile(t){return e._(this,void 0,void 0,(function*(){let e=this.loading,r=t.uid;e&&e[r]&&e[r].abort&&(e[r].abort.abort(),delete e[r])}))}removeTile(t){return e._(this,void 0,void 0,(function*(){this.loaded&&this.loaded[t.uid]&&delete this.loaded[t.uid]}))}}class o{constructor(){this.loaded={}}loadTile(t){return e._(this,void 0,void 0,(function*(){let{uid:r,encoding:n,rawImageData:i,redFactor:a,greenFactor:o,blueFactor:s,baseShift:l}=t,c=i.width+2,u=i.height+2,h=e.b(i)?new e.R({width:c,height:u},yield e.bw(i,-1,-1,c,u)):i,f=new e.bx(r,h,n,a,o,s,l);return this.loaded=this.loaded||{},this.loaded[r]=f,f}))}removeTile(e){let t=this.loaded,r=e.uid;t&&t[r]&&delete t[r]}}function s(e,t){if(0!==e.length){l(e[0],t);for(var r=1;r=Math.abs(s)?r-l+s:s-l+r,r=l}r+n>=0!=!!t&&e.reverse()}var c=e.by((function e(t,r){var n,i=t&&t.type;if("FeatureCollection"===i)for(n=0;n>31}function A(e,t){for(var r=e.loadGeometry(),n=e.type,i=0,a=0,o=r.length,s=0;se},C=Math.fround||(I=new Float32Array(1),e=>(I[0]=+e,I[0]));var I;class L{constructor(e){this.options=Object.assign(Object.create(E),e),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(e){let{log:t,minZoom:r,maxZoom:n}=this.options;t&&console.time("total time");let i=`prepare ${e.length} points`;t&&console.time(i),this.points=e;let a=[];for(let t=0;t=r;e--){let r=+Date.now();o=this.trees[e]=this._createTree(this._cluster(o,e)),t&&console.log("z%d: %d clusters in %dms",e,o.numItems,+Date.now()-r)}return t&&console.timeEnd("total time"),this}getClusters(e,t){let r=((e[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,e[1])),i=180===e[2]?180:((e[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)r=-180,i=180;else if(r>i){let e=this.getClusters([r,n,180,a],t),o=this.getClusters([-180,n,i,a],t);return e.concat(o)}let o=this.trees[this._limitZoom(t)],s=o.range(D(r),O(a),D(i),O(n)),l=o.data,c=[];for(let e of s){let t=this.stride*e;c.push(l[t+5]>1?P(l,t,this.clusterProps):this.points[l[t+3]])}return c}getChildren(e){let t=this._getOriginId(e),r=this._getOriginZoom(e),n="No cluster with the specified id.",i=this.trees[r];if(!i)throw new Error(n);let a=i.data;if(t*this.stride>=a.length)throw new Error(n);let o=this.options.radius/(this.options.extent*Math.pow(2,r-1)),s=i.within(a[t*this.stride],a[t*this.stride+1],o),l=[];for(let t of s){let r=t*this.stride;a[r+4]===e&&l.push(a[r+5]>1?P(a,r,this.clusterProps):this.points[a[r+3]])}if(0===l.length)throw new Error(n);return l}getLeaves(e,t,r){let n=[];return this._appendLeaves(n,e,t=t||10,r=r||0,0),n}getTile(e,t,r){let n=this.trees[this._limitZoom(e)],i=Math.pow(2,e),{extent:a,radius:o}=this.options,s=o/a,l=(r-s)/i,c=(r+1+s)/i,u={features:[]};return this._addTileFeatures(n.range((t-s)/i,l,(t+1+s)/i,c),n.data,t,r,i,u),0===t&&this._addTileFeatures(n.range(1-s/i,l,1,c),n.data,i,r,i,u),t===i-1&&this._addTileFeatures(n.range(0,l,s/i,c),n.data,-1,r,i,u),u.features.length?u:null}getClusterExpansionZoom(e){let t=this._getOriginZoom(e)-1;for(;t<=this.options.maxZoom;){let r=this.getChildren(e);if(t++,1!==r.length)break;e=r[0].properties.cluster_id}return t}_appendLeaves(e,t,r,n,i){let a=this.getChildren(t);for(let t of a){let a=t.properties;if(a&&a.cluster?i+a.point_count<=n?i+=a.point_count:i=this._appendLeaves(e,a.cluster_id,r,n,i):i1;if(u)e=z(t,c,this.clusterProps),s=t[c],l=t[c+1];else{let r=this.points[t[c+3]];e=r.properties;let[n,i]=r.geometry.coordinates;s=D(n),l=O(i)}let h,f={type:1,geometry:[[Math.round(this.options.extent*(s*i-r)),Math.round(this.options.extent*(l*i-n))]],tags:e};h=u||this.options.generateId?t[c+3]:this.points[t[c+3]].id,void 0!==h&&(f.id=h),a.features.push(f)}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,t){let{radius:r,extent:n,reduce:i,minPoints:a}=this.options,o=r/(n*Math.pow(2,t)),s=e.data,l=[],c=this.stride;for(let r=0;rt&&(p+=s[r+5])}if(p>f&&p>=a){let e,a=n*f,o=u*f,d=-1,m=(r/c<<5)+(t+1)+this.points.length;for(let n of h){let l=n*c;if(s[l+2]<=t)continue;s[l+2]=t;let u=s[l+5];a+=s[l]*u,o+=s[l+1]*u,s[l+4]=m,i&&(e||(e=this._map(s,r,!0),d=this.clusterProps.length,this.clusterProps.push(e)),i(e,this._map(s,l)))}s[r+4]=m,l.push(a/p,o/p,1/0,m,-1,p),i&&l.push(d)}else{for(let e=0;e1)for(let e of h){let r=e*c;if(!(s[r+2]<=t)){s[r+2]=t;for(let e=0;e>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,t,r){if(e[t+5]>1){let n=this.clusterProps[e[t+6]];return r?Object.assign({},n):n}let n=this.points[e[t+3]].properties,i=this.options.map(n);return r&&i===n?Object.assign({},i):i}}function P(e,t,r){return{type:"Feature",id:e[t+3],properties:z(e,t,r),geometry:{type:"Point",coordinates:[(n=e[t],360*(n-.5)),R(e[t+1])]}};var n}function z(e,t,r){let n=e[t+5],i=n>=1e4?`${Math.round(n/1e3)}k`:n>=1e3?Math.round(n/100)/10+"k":n,a=e[t+6],o=-1===a?{}:Object.assign({},r[a]);return Object.assign(o,{cluster:!0,cluster_id:e[t+3],point_count:n,point_count_abbreviated:i})}function D(e){return e/360+.5}function O(e){let t=Math.sin(e*Math.PI/180),r=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return r<0?0:r>1?1:r}function R(e){let t=(180-360*e)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function F(e,t,r,n){let i,a=n,o=t+(r-t>>1),s=r-t,l=e[t],c=e[t+1],u=e[r],h=e[r+1];for(let n=t+3;na)i=n,a=t;else if(t===a){let e=Math.abs(n-o);en&&(i-t>3&&F(e,t,i,n),e[i+2]=a,r-i>3&&F(e,i,r,n))}function B(e,t,r,n,i,a){let o=i-r,s=a-n;if(0!==o||0!==s){let l=((e-r)*o+(t-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return o=e-r,s=t-n,o*o+s*s}function j(e,t,r,n){let i={id:e??null,type:t,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if("Point"===t||"MultiPoint"===t||"LineString"===t)N(i,r);else if("Polygon"===t)N(i,r[0]);else if("MultiLineString"===t)for(let e of r)N(i,e);else if("MultiPolygon"===t)for(let e of r)N(i,e[0]);return i}function N(e,t){for(let r=0;r0&&(o+=n?(i*l-s*a)/2:Math.sqrt(Math.pow(s-i,2)+Math.pow(l-a,2))),i=s,a=l}let s=t.length-3;t[2]=1,F(t,0,s,r),t[s+2]=1,t.size=Math.abs(o),t.start=0,t.end=t.size}function H(e,t,r,n){for(let i=0;i1?1:r}function Z(e,t,r,n,i,a,o,s){if(n/=t,a>=(r/=t)&&o=n)return null;let l=[];for(let t of e){let e=t.geometry,a=t.type,o=0===i?t.minX:t.minY,c=0===i?t.maxX:t.maxY;if(o>=r&&c=n)continue;let u=[];if("Point"===a||"MultiPoint"===a)Y(e,u,r,n,i);else if("LineString"===a)X(e,u,r,n,i,!1,s.lineMetrics);else if("MultiLineString"===a)K(e,u,r,n,i,!1);else if("Polygon"===a)K(e,u,r,n,i,!0);else if("MultiPolygon"===a)for(let t of e){let e=[];K(t,e,r,n,i,!0),e.length&&u.push(e)}if(u.length){if(s.lineMetrics&&"LineString"===a){for(let e of u)l.push(j(t.id,a,e,t.tags));continue}"LineString"!==a&&"MultiLineString"!==a||(1===u.length?(a="LineString",u=u[0]):a="MultiLineString"),"Point"!==a&&"MultiPoint"!==a||(a=3===u.length?"Point":"MultiPoint"),l.push(j(t.id,a,u,t.tags))}}return l.length?l:null}function Y(e,t,r,n,i){for(let a=0;a=r&&o<=n&&J(t,e[a],e[a+1],e[a+2])}}function X(e,t,r,n,i,a,o){let s,l,c=$(e),u=0===i?Q:ee,h=e.start;for(let f=0;fr&&(l=u(c,p,d,g,y,r),o&&(c.start=h+s*l)):v>n?x=r&&(l=u(c,p,d,g,y,r),_=!0),x>n&&v<=n&&(l=u(c,p,d,g,y,n),_=!0),!a&&_&&(o&&(c.end=h+s*l),t.push(c),c=$(e)),o&&(h+=s)}let f=e.length-3,p=e[f],d=e[f+1],m=0===i?p:d;m>=r&&m<=n&&J(c,p,d,e[f+2]),f=c.length-3,a&&f>=3&&(c[f]!==c[0]||c[f+1]!==c[1])&&J(c,c[0],c[1],c[2]),c.length&&t.push(c)}function $(e){let t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function K(e,t,r,n,i,a){for(let o of e)X(o,t,r,n,i,a,!1)}function J(e,t,r,n){e.push(t,r,n)}function Q(e,t,r,n,i,a){let o=(a-t)/(n-t);return J(e,a,r+(i-r)*o,1),o}function ee(e,t,r,n,i,a){let o=(a-r)/(i-r);return J(e,t+(n-t)*o,a,1),o}function te(e,t){let r=[];for(let n=0;n0&&t.size<(i?o:n))return void(r.numPoints+=t.length/3);let s=[];for(let e=0;eo)&&(r.numSimplified++,s.push(t[e],t[e+1])),r.numPoints++;i&&function(e,t){let r=0;for(let t=0,n=e.length,i=n-2;t0===t)for(let t=0,r=e.length;t24)throw new Error("maxZoom should be in the 0-24 range");if(t.promoteId&&t.generateId)throw new Error("promoteId and generateId cannot be used together.");let n=function(e,t){let r=[];if("FeatureCollection"===e.type)for(let n=0;n1&&console.time("creation"),f=this.tiles[h]=ae(e,t,r,n,l),this.tileCoords.push({z:t,x:r,y:n}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",t,r,n,f.numFeatures,f.numPoints,f.numSimplified),console.timeEnd("creation"));let e=`z${t}`;this.stats[e]=(this.stats[e]||0)+1,this.total++}if(f.source=e,null==i){if(t===l.indexMaxZoom||f.numPoints<=l.indexMaxPoints)continue}else{if(t===l.maxZoom||t===i)continue;if(null!=i){let e=i-t;if(r!==a>>e||n!==o>>e)continue}}if(f.source=null,0===e.length)continue;c>1&&console.time("clipping");let p=.5*l.buffer/l.extent,d=.5-p,m=.5+p,g=1+p,y=null,v=null,x=null,_=null,b=Z(e,u,r-p,r+m,0,f.minX,f.maxX,l),w=Z(e,u,r+d,r+g,0,f.minX,f.maxX,l);e=null,b&&(y=Z(b,u,n-p,n+m,1,f.minY,f.maxY,l),v=Z(b,u,n+d,n+g,1,f.minY,f.maxY,l),b=null),w&&(x=Z(w,u,n-p,n+m,1,f.minY,f.maxY,l),_=Z(w,u,n+d,n+g,1,f.minY,f.maxY,l),w=null),c>1&&console.timeEnd("clipping"),s.push(y||[],t+1,2*r,2*n),s.push(v||[],t+1,2*r,2*n+1),s.push(x||[],t+1,2*r+1,2*n),s.push(_||[],t+1,2*r+1,2*n+1)}}getTile(e,t,r){e=+e,t=+t,r=+r;let n=this.options,{extent:i,debug:a}=n;if(e<0||e>24)return null;let o=1<1&&console.log("drilling down to z%d-%d-%d",e,t,r);let l,c=e,u=t,h=r;for(;!l&&c>0;)c--,u>>=1,h>>=1,l=this.tiles[ue(c,u,h)];return l&&l.source?(a>1&&(console.log("found parent tile z%d-%d-%d",c,u,h),console.time("drilling down")),this.splitTile(l.source,c,u,h,e,t,r),a>1&&console.timeEnd("drilling down"),this.tiles[s]?ne(this.tiles[s],i):null):null}}function ue(e,t,r){return 32*((1<{o.properties=e;let t={};for(let e of s)t[e]=n[e].evaluate(a,o);return t},t.reduce=(e,t)=>{o.properties=t;for(let t of s)a.accumulated=e[t],e[t]=i[t].evaluate(a,o)},t}(t)).load((yield this._pendingData).features):(i=yield this._pendingData,new ce(i,t.geojsonVtOptions)),this.loaded={};let r={};if(n){let e=n.finish();e&&(r.resourceTiming={},r.resourceTiming[t.source]=JSON.parse(JSON.stringify(e)))}return r}catch(t){if(delete this._pendingRequest,e.bB(t))return{abandoned:!0};throw t}var i}))}getData(){return e._(this,void 0,void 0,(function*(){return this._pendingData}))}reloadTile(e){let t=this.loaded;return t&&t[e.uid]?super.reloadTile(e):this.loadTile(e)}loadAndProcessGeoJSON(t,r){return e._(this,void 0,void 0,(function*(){let n=yield this.loadGeoJSON(t,r);if(delete this._pendingRequest,"object"!=typeof n)throw new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`);if(c(n,!0),t.filter){let r=e.bC(t.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===r.result)throw new Error(r.value.map((e=>`${e.key}: ${e.message}`)).join(", "));n={type:"FeatureCollection",features:n.features.filter((e=>r.value.evaluate({zoom:0},e)))}}return n}))}loadGeoJSON(t,r){return e._(this,void 0,void 0,(function*(){let{promoteId:n}=t;if(t.request){let i=yield e.h(t.request,r);return this._dataUpdateable=fe(i.data,n)?pe(i.data,n):void 0,i.data}if("string"==typeof t.data)try{let e=JSON.parse(t.data);return this._dataUpdateable=fe(e,n)?pe(e,n):void 0,e}catch{throw new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`)}if(!t.dataDiff)throw new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${t.source}`);return function(e,t,r){var n,i,a,o;if(t.removeAll&&e.clear(),t.remove)for(let r of t.remove)e.delete(r);if(t.add)for(let n of t.add){let t=he(n,r);null!=t&&e.set(t,n)}if(t.update)for(let r of t.update){let t=e.get(r.id);if(null==t)continue;let s=!r.removeAllProperties&&((null===(n=r.removeProperties)||void 0===n?void 0:n.length)>0||(null===(i=r.addOrUpdateProperties)||void 0===i?void 0:i.length)>0);if((r.newGeometry||r.removeAllProperties||s)&&(t=Object.assign({},t),e.set(r.id,t),s&&(t.properties=Object.assign({},t.properties))),r.newGeometry&&(t.geometry=r.newGeometry),r.removeAllProperties)t.properties={};else if((null===(a=r.removeProperties)||void 0===a?void 0:a.length)>0)for(let e of r.removeProperties)Object.prototype.hasOwnProperty.call(t.properties,e)&&delete t.properties[e];if((null===(o=r.addOrUpdateProperties)||void 0===o?void 0:o.length)>0)for(let{key:e,value:n}of r.addOrUpdateProperties)t.properties[e]=n}}(this._dataUpdateable,t.dataDiff,n),{type:"FeatureCollection",features:Array.from(this._dataUpdateable.values())}}))}removeSource(t){return e._(this,void 0,void 0,(function*(){this._pendingRequest&&this._pendingRequest.abort()}))}getClusterExpansionZoom(e){return this._geoJSONIndex.getClusterExpansionZoom(e.clusterId)}getClusterChildren(e){return this._geoJSONIndex.getChildren(e.clusterId)}getClusterLeaves(e){return this._geoJSONIndex.getLeaves(e.clusterId,e.limit,e.offset)}}class me{constructor(t){this.self=t,this.actor=new e.F(t),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(e,t)=>{if(this.externalWorkerSourceTypes[e])throw new Error(`Worker source with name "${e}" already registered.`);this.externalWorkerSourceTypes[e]=t},this.self.addProtocol=e.bi,this.self.removeProtocol=e.bj,this.self.registerRTLTextPlugin=t=>{if(e.bD.isParsed())throw new Error("RTL text plugin already registered.");e.bD.setMethods(t)},this.actor.registerMessageHandler("LDT",((e,t)=>this._getDEMWorkerSource(e,t.source).loadTile(t))),this.actor.registerMessageHandler("RDT",((t,r)=>e._(this,void 0,void 0,(function*(){this._getDEMWorkerSource(t,r.source).removeTile(r)})))),this.actor.registerMessageHandler("GCEZ",((t,r)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,r.type,r.source).getClusterExpansionZoom(r)})))),this.actor.registerMessageHandler("GCC",((t,r)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,r.type,r.source).getClusterChildren(r)})))),this.actor.registerMessageHandler("GCL",((t,r)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,r.type,r.source).getClusterLeaves(r)})))),this.actor.registerMessageHandler("LD",((e,t)=>this._getWorkerSource(e,t.type,t.source).loadData(t))),this.actor.registerMessageHandler("GD",((e,t)=>this._getWorkerSource(e,t.type,t.source).getData())),this.actor.registerMessageHandler("LT",((e,t)=>this._getWorkerSource(e,t.type,t.source).loadTile(t))),this.actor.registerMessageHandler("RT",((e,t)=>this._getWorkerSource(e,t.type,t.source).reloadTile(t))),this.actor.registerMessageHandler("AT",((e,t)=>this._getWorkerSource(e,t.type,t.source).abortTile(t))),this.actor.registerMessageHandler("RMT",((e,t)=>this._getWorkerSource(e,t.type,t.source).removeTile(t))),this.actor.registerMessageHandler("RS",((t,r)=>e._(this,void 0,void 0,(function*(){if(!this.workerSources[t]||!this.workerSources[t][r.type]||!this.workerSources[t][r.type][r.source])return;let e=this.workerSources[t][r.type][r.source];delete this.workerSources[t][r.type][r.source],void 0!==e.removeSource&&e.removeSource(r)})))),this.actor.registerMessageHandler("RM",(t=>e._(this,void 0,void 0,(function*(){delete this.layerIndexes[t],delete this.availableImages[t],delete this.workerSources[t],delete this.demWorkerSources[t]})))),this.actor.registerMessageHandler("SR",((t,r)=>e._(this,void 0,void 0,(function*(){this.referrer=r})))),this.actor.registerMessageHandler("SRPS",((e,t)=>this._syncRTLPluginState(e,t))),this.actor.registerMessageHandler("IS",((t,r)=>e._(this,void 0,void 0,(function*(){this.self.importScripts(r)})))),this.actor.registerMessageHandler("SI",((e,t)=>this._setImages(e,t))),this.actor.registerMessageHandler("UL",((t,r)=>e._(this,void 0,void 0,(function*(){this._getLayerIndex(t).update(r.layers,r.removedIds)})))),this.actor.registerMessageHandler("SL",((t,r)=>e._(this,void 0,void 0,(function*(){this._getLayerIndex(t).replace(r)}))))}_setImages(t,r){return e._(this,void 0,void 0,(function*(){this.availableImages[t]=r;for(let e in this.workerSources[t]){let n=this.workerSources[t][e];for(let e in n)n[e].availableImages=r}}))}_syncRTLPluginState(t,r){return e._(this,void 0,void 0,(function*(){if(e.bD.isParsed())return e.bD.getState();if("loading"!==r.pluginStatus)return e.bD.setState(r),r;let t=r.pluginURL;if(this.self.importScripts(t),e.bD.isParsed()){let r={pluginStatus:"loaded",pluginURL:t};return e.bD.setState(r),r}throw e.bD.setState({pluginStatus:"error",pluginURL:""}),new Error(`RTL Text Plugin failed to import scripts from ${t}`)}))}_getAvailableImages(e){let t=this.availableImages[e];return t||(t=[]),t}_getLayerIndex(e){let r=this.layerIndexes[e];return r||(r=this.layerIndexes[e]=new t),r}_getWorkerSource(e,t,r){if(this.workerSources[e]||(this.workerSources[e]={}),this.workerSources[e][t]||(this.workerSources[e][t]={}),!this.workerSources[e][t][r]){let n={sendAsync:(t,r)=>(t.targetMapId=e,this.actor.sendAsync(t,r))};switch(t){case"vector":this.workerSources[e][t][r]=new a(n,this._getLayerIndex(e),this._getAvailableImages(e));break;case"geojson":this.workerSources[e][t][r]=new de(n,this._getLayerIndex(e),this._getAvailableImages(e));break;default:this.workerSources[e][t][r]=new this.externalWorkerSourceTypes[t](n,this._getLayerIndex(e),this._getAvailableImages(e))}}return this.workerSources[e][t][r]}_getDEMWorkerSource(e,t){return this.demWorkerSources[e]||(this.demWorkerSources[e]={}),this.demWorkerSources[e][t]||(this.demWorkerSources[e][t]=new o),this.demWorkerSources[e][t]}}return e.i(self)&&(self.worker=new me(self)),me})),r("index",0,(function(e,t){var r="4.7.1";let n,i,a={now:typeof performance<"u"&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:e=>new Promise(((r,n)=>{let i=requestAnimationFrame(r);e.signal.addEventListener("abort",(()=>{cancelAnimationFrame(i),n(t.c())}))})),getImageData(e,t=0){return this.getImageCanvasContext(e).getImageData(-t,-t,e.width+2*t,e.height+2*t)},getImageCanvasContext(e){let t=window.document.createElement("canvas"),r=t.getContext("2d",{willReadFrequently:!0});if(!r)throw new Error("failed to create canvas 2d context");return t.width=e.width,t.height=e.height,r.drawImage(e,0,0,e.width,e.height),r},resolveURL:e=>(n||(n=document.createElement("a")),n.href=e,n.href),hardwareConcurrency:typeof navigator<"u"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(null==i&&(i=matchMedia("(prefers-reduced-motion: reduce)")),i.matches)}};class o{static testProp(e){if(!o.docStyle)return e[0];for(let t=0;t{window.removeEventListener("click",o.suppressClickInternal,!0)}),0)}static getScale(e){let t=e.getBoundingClientRect();return{x:t.width/e.offsetWidth||1,y:t.height/e.offsetHeight||1,boundingClientRect:t}}static getPoint(e,r,n){let i=r.boundingClientRect;return new t.P((n.clientX-i.left)/r.x-e.clientLeft,(n.clientY-i.top)/r.y-e.clientTop)}static mousePos(e,t){let r=o.getScale(e);return o.getPoint(e,r,t)}static touchPos(e,t){let r=[],n=o.getScale(e);for(let i=0;i{s&&f(s),s=null,h=!0},l.onerror=()=>{u=!0,s=null},l.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="),function(e){let r,n,i,a;e.resetRequestQueue=()=>{r=[],n=0,i=0,a={}},e.addThrottleControl=e=>{let t=i++;return a[t]=e,t},e.removeThrottleControl=e=>{delete a[e],s()},e.getImage=(e,n,i=!0)=>new Promise(((a,o)=>{c.supported&&(e.headers||(e.headers={}),e.headers.accept="image/webp,*/*"),t.e(e,{type:"image"}),r.push({abortController:n,requestParameters:e,supportImageRefresh:i,state:"queued",onError:e=>{o(e)},onSuccess:e=>{a(e)}}),s()}));let o=e=>t._(this,void 0,void 0,(function*(){e.state="running";let{requestParameters:r,supportImageRefresh:i,onError:a,onSuccess:o,abortController:c}=e,u=!1===i&&!t.i(self)&&!t.g(r.url)&&(!r.headers||Object.keys(r.headers).reduce(((e,t)=>e&&"accept"===t),!0));n++;let h=u?l(r,c):t.m(r,c);try{let r=yield h;delete e.abortController,e.state="completed",r.data instanceof HTMLImageElement||t.b(r.data)?o(r):r.data&&o({data:yield(f=r.data,"function"==typeof createImageBitmap?t.d(f):t.f(f)),cacheControl:r.cacheControl,expires:r.expires})}catch(t){delete e.abortController,a(t)}finally{n--,s()}var f})),s=()=>{let e=(()=>{for(let e of Object.keys(a))if(a[e]())return!0;return!1})()?t.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:t.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let t=n;t0;t++){let e=r.shift();e.abortController.signal.aborted?t--:o(e)}},l=(e,r)=>new Promise(((n,i)=>{let a=new Image,o=e.url,s=e.credentials;s&&"include"===s?a.crossOrigin="use-credentials":(s&&"same-origin"===s||!t.s(o))&&(a.crossOrigin="anonymous"),r.signal.addEventListener("abort",(()=>{a.src="",i(t.c())})),a.fetchPriority="high",a.onload=()=>{a.onerror=a.onload=null,n({data:a})},a.onerror=()=>{a.onerror=a.onload=null,r.signal.aborted||i(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."))},a.src=o}))}(p||(p={})),p.resetRequestQueue();class d{constructor(e){this._transformRequestFn=e}transformRequest(e,t){return this._transformRequestFn&&this._transformRequestFn(e,t)||{url:e}}setTransformRequest(e){this._transformRequestFn=e}}function m(e){var r=new t.A(3);return r[0]=e[0],r[1]=e[1],r[2]=e[2],r}var g,y=function(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e};g=new t.A(3),t.A!=Float32Array&&(g[0]=0,g[1]=0,g[2]=0);var v,x=function(e){var t=e[0],r=e[1];return t*t+r*r};function _(e){let t=[];if("string"==typeof e)t.push({id:"default",url:e});else if(e&&e.length>0){let r=[];for(let{id:n,url:i}of e){let e=`${n}${i}`;-1===r.indexOf(e)&&(r.push(e),t.push({id:n,url:i}))}}return t}function b(e,t,r){let n=e.split("?");return n[0]+=`${t}${r}`,n.join("?")}v=new t.A(2),t.A!=Float32Array&&(v[0]=0,v[1]=0);class w{constructor(e,t,r,n){this.context=e,this.format=r,this.texture=e.gl.createTexture(),this.update(t,n)}update(e,r,n){let{width:i,height:a}=e,o=!(this.size&&this.size[0]===i&&this.size[1]===a||n),{context:s}=this,{gl:l}=s;if(this.useMipmap=!(!r||!r.useMipmap),l.bindTexture(l.TEXTURE_2D,this.texture),s.pixelStoreUnpackFlipY.set(!1),s.pixelStoreUnpack.set(1),s.pixelStoreUnpackPremultiplyAlpha.set(this.format===l.RGBA&&(!r||!1!==r.premultiply)),o)this.size=[i,a],e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||t.b(e)?l.texImage2D(l.TEXTURE_2D,0,this.format,this.format,l.UNSIGNED_BYTE,e):l.texImage2D(l.TEXTURE_2D,0,this.format,i,a,0,this.format,l.UNSIGNED_BYTE,e.data);else{let{x:r,y:o}=n||{x:0,y:0};e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||t.b(e)?l.texSubImage2D(l.TEXTURE_2D,0,r,o,l.RGBA,l.UNSIGNED_BYTE,e):l.texSubImage2D(l.TEXTURE_2D,0,r,o,i,a,l.RGBA,l.UNSIGNED_BYTE,e.data)}this.useMipmap&&this.isSizePowerOfTwo()&&l.generateMipmap(l.TEXTURE_2D)}bind(e,t,r){let{context:n}=this,{gl:i}=n;i.bindTexture(i.TEXTURE_2D,this.texture),r!==i.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(r=i.LINEAR),e!==this.filter&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,e),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,r||e),this.filter=e),t!==this.wrap&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,t),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,t),this.wrap=t)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:e}=this.context;e.deleteTexture(this.texture),this.texture=null}}function T(e){let{userImage:t}=e;return!!(t&&t.render&&t.render())&&(e.data.replace(new Uint8Array(t.data.buffer)),!0)}class k 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(e){if(this.loaded!==e&&(this.loaded=e,e)){for(let{ids:e,promiseResolve:t}of this.requestors)t(this._getImagesForIds(e));this.requestors=[]}}getImage(e){let r=this.images[e];if(r&&!r.data&&r.spriteData){let e=r.spriteData;r.data=new t.R({width:e.width,height:e.height},e.context.getImageData(e.x,e.y,e.width,e.height).data),r.spriteData=null}return r}addImage(e,t){if(this.images[e])throw new Error(`Image id ${e} already exist, use updateImage instead`);this._validate(e,t)&&(this.images[e]=t)}_validate(e,r){let n=!0,i=r.data||r.spriteData;return this._validateStretch(r.stretchX,i&&i.width)||(this.fire(new t.j(new Error(`Image "${e}" has invalid "stretchX" value`))),n=!1),this._validateStretch(r.stretchY,i&&i.height)||(this.fire(new t.j(new Error(`Image "${e}" has invalid "stretchY" value`))),n=!1),this._validateContent(r.content,r)||(this.fire(new t.j(new Error(`Image "${e}" has invalid "content" value`))),n=!1),n}_validateStretch(e,t){if(!e)return!0;let r=0;for(let n of e){if(n[0]{let n=!0;if(!this.isLoaded())for(let t of e)this.images[t]||(n=!1);this.isLoaded()||n?t(this._getImagesForIds(e)):this.requestors.push({ids:e,promiseResolve:t})}))}_getImagesForIds(e){let r={};for(let n of e){let e=this.getImage(n);e||(this.fire(new t.k("styleimagemissing",{id:n})),e=this.getImage(n)),e?r[n]={data:e.data.clone(),pixelRatio:e.pixelRatio,sdf:e.sdf,version:e.version,stretchX:e.stretchX,stretchY:e.stretchY,content:e.content,textFitWidth:e.textFitWidth,textFitHeight:e.textFitHeight,hasRenderCallback:!(!e.userImage||!e.userImage.render)}:t.w(`Image "${n}" 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 r}getPixelSize(){let{width:e,height:t}=this.atlasImage;return{width:e,height:t}}getPattern(e){let r=this.patterns[e],n=this.getImage(e);if(!n)return null;if(r&&r.position.version===n.version)return r.position;if(r)r.position.version=n.version;else{let r={w:n.data.width+2,h:n.data.height+2,x:0,y:0},i=new t.I(r,n);this.patterns[e]={bin:r,position:i}}return this._updatePatternAtlas(),this.patterns[e].position}bind(e){let t=e.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new w(e,this.atlasImage,t.RGBA),this.atlasTexture.bind(t.LINEAR,t.CLAMP_TO_EDGE)}_updatePatternAtlas(){let e=[];for(let t in this.patterns)e.push(this.patterns[t].bin);let{w:r,h:n}=t.p(e),i=this.atlasImage;i.resize({width:r||1,height:n||1});for(let e in this.patterns){let{bin:r}=this.patterns[e],n=r.x+1,a=r.y+1,o=this.getImage(e).data,s=o.width,l=o.height;t.R.copy(o,i,{x:0,y:0},{x:n,y:a},{width:s,height:l}),t.R.copy(o,i,{x:0,y:l-1},{x:n,y:a-1},{width:s,height:1}),t.R.copy(o,i,{x:0,y:0},{x:n,y:a+l},{width:s,height:1}),t.R.copy(o,i,{x:s-1,y:0},{x:n-1,y:a},{width:1,height:l}),t.R.copy(o,i,{x:0,y:0},{x:n+s,y:a},{width:1,height:l})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(e){for(let r of e){if(this.callbackDispatchedThisFrame[r])continue;this.callbackDispatchedThisFrame[r]=!0;let e=this.getImage(r);e||t.w(`Image with ID: "${r}" was not found`),T(e)&&this.updateImage(r,e)}}}let A,M=1e20;function S(e,t,r,n,i,a,o,s,l){for(let c=t;c-1);l++,a[l]=s,o[l]=c,o[l+1]=M}for(let s=0,l=0;s65535)throw new Error("glyphs > 65535 not supported");if(t.ranges[i])return{stack:e,id:r,glyph:n};if(!this.url)throw new Error("glyphsUrl is not set");if(!t.requests[i]){let r=C.loadGlyphRange(e,i,this.url,this.requestManager);t.requests[i]=r}let a=yield t.requests[i];for(let e in a)this._doesCharSupportLocalGlyph(+e)||(t.glyphs[+e]=a[+e]);return t.ranges[i]=!0,{stack:e,id:r,glyph:a[r]||null}}))}_doesCharSupportLocalGlyph(e){return!!this.localIdeographFontFamily&&new RegExp("\\p{Ideo}|\\p{sc=Hang}|\\p{sc=Hira}|\\p{sc=Kana}","u").test(String.fromCodePoint(e))}_tinySDF(e,r,n){let i=this.localIdeographFontFamily;if(!i||!this._doesCharSupportLocalGlyph(n))return;let a=e.tinySDF;if(!a){let t="400";/bold/i.test(r)?t="900":/medium/i.test(r)?t="500":/light/i.test(r)&&(t="200"),a=e.tinySDF=new C.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:i,fontWeight:t})}let o=a.draw(String.fromCharCode(n));return{id:n,bitmap:new t.o({width:o.width||60,height:o.height||60},o.data),metrics:{width:o.glyphWidth/2||24,height:o.glyphHeight/2||24,left:o.glyphLeft/2+.5||0,top:o.glyphTop/2-27.5||-8,advance:o.glyphAdvance/2||24,isDoubleResolution:!0}}}}C.loadGlyphRange=function(e,r,n,i){return t._(this,void 0,void 0,(function*(){let a=256*r,o=a+255,s=i.transformRequest(n.replace("{fontstack}",e).replace("{range}",`${a}-${o}`),"Glyphs"),l=yield t.l(s,new AbortController);if(!l||!l.data)throw new Error(`Could not load glyph range. range: ${r}, ${a}-${o}`);let c={};for(let e of t.n(l.data))c[e.id]=e;return c}))},C.TinySDF=class{constructor({fontSize:e=24,buffer:t=3,radius:r=8,cutoff:n=.25,fontFamily:i="sans-serif",fontWeight:a="normal",fontStyle:o="normal"}={}){this.buffer=t,this.cutoff=n,this.radius=r;let s=this.size=e+4*t,l=this._createCanvas(s),c=this.ctx=l.getContext("2d",{willReadFrequently:!0});c.font=`${o} ${a} ${e}px ${i}`,c.textBaseline="alphabetic",c.textAlign="left",c.fillStyle="black",this.gridOuter=new Float64Array(s*s),this.gridInner=new Float64Array(s*s),this.f=new Float64Array(s),this.z=new Float64Array(s+1),this.v=new Uint16Array(s)}_createCanvas(e){let t=document.createElement("canvas");return t.width=t.height=e,t}draw(e){let{width:t,actualBoundingBoxAscent:r,actualBoundingBoxDescent:n,actualBoundingBoxLeft:i,actualBoundingBoxRight:a}=this.ctx.measureText(e),o=Math.ceil(r),s=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(a-i))),l=Math.min(this.size-this.buffer,o+Math.ceil(n)),c=s+2*this.buffer,u=l+2*this.buffer,h=Math.max(c*u,0),f=new Uint8ClampedArray(h),p={data:f,width:c,height:u,glyphWidth:s,glyphHeight:l,glyphTop:o,glyphLeft:0,glyphAdvance:t};if(0===s||0===l)return p;let{ctx:d,buffer:m,gridInner:g,gridOuter:y}=this;d.clearRect(m,m,s,l),d.fillText(e,m,m+o);let v=d.getImageData(m,m,s,l);y.fill(M,0,h),g.fill(0,0,h);for(let e=0;e0?e*e:0,g[n]=e<0?e*e:0}}S(y,0,0,c,u,c,this.f,this.v,this.z),S(g,m,m,s,l,c,this.f,this.v,this.z);for(let e=0;e1&&(o=e[++a]);let l,c=Math.abs(s-o.left),u=Math.abs(s-o.right),h=Math.min(c,u),f=t/r*(n+1);if(o.isDash){let e=n-Math.abs(f);l=Math.sqrt(h*h+e*e)}else l=n-Math.sqrt(h*h+f*f);this.data[i+s]=Math.max(0,Math.min(255,l+128))}}}addRegularDash(e){for(let t=e.length-1;t>=0;--t){let r=e[t],n=e[t+1];r.zeroLength?e.splice(t,1):n&&n.isDash===r.isDash&&(n.left=r.left,e.splice(t,1))}let t=e[0],r=e[e.length-1];t.isDash===r.isDash&&(t.left=r.left-this.width,r.right=t.right+this.width);let n=this.width*this.nextRow,i=0,a=e[i];for(let t=0;t1&&(a=e[++i]);let r=Math.abs(t-a.left),o=Math.abs(t-a.right),s=Math.min(r,o);this.data[n+t]=Math.max(0,Math.min(255,(a.isDash?s:-s)+128))}}addDash(e,r){let n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return t.w("LineAtlas out of space"),null;let a=0;for(let t=0;t{e.terminate()})),this.workers=null)}isPreloaded(){return!!this.active[O]}numActive(){return Object.keys(this.active).length}}let F,B,j=Math.floor(a.hardwareConcurrency/2);function N(){return F||(F=new R),F}R.workerCount=t.C(globalThis)?Math.max(Math.min(j,3),1):1;class U{constructor(e,r){this.workerPool=e,this.actors=[],this.currentActor=0,this.id=r;let n=this.workerPool.acquire(r);for(let e=0;e{e.remove()})),this.actors=[],e&&this.workerPool.release(this.id)}registerMessageHandler(e,t){for(let r of this.actors)r.registerMessageHandler(e,t)}}function V(){return B||(B=new U(N(),t.G),B.registerMessageHandler("GR",((e,r,n)=>t.m(r,n)))),B}function q(e,r){let n=t.H();return t.J(n,n,[1,1,0]),t.K(n,n,[.5*e.width,.5*e.height,1]),t.L(n,n,e.calculatePosMatrix(r.toUnwrapped()))}function H(e,t,r,n,i,a){let o=function(e,t,r){if(e)for(let n of e){let e=t[n];if(e&&e.source===r&&"fill-extrusion"===e.type)return!0}else for(let e in t){let n=t[e];if(n.source===r&&"fill-extrusion"===n.type)return!0}return!1}(i&&i.layers,t,e.id),s=a.maxPitchScaleFactor(),l=e.tilesIn(n,s,o);l.sort(G);let c=[];for(let n of l)c.push({wrappedTileID:n.tileID.wrapped().key,queryResults:n.tile.queryRenderedFeatures(t,r,e._state,n.queryGeometry,n.cameraQueryGeometry,n.scale,i,a,s,q(e.transform,n.tileID))});let u=function(e){let t={},r={};for(let n of e){let e=n.queryResults,i=n.wrappedTileID,a=r[i]=r[i]||{};for(let r in e){let n=e[r],i=a[r]=a[r]||{},o=t[r]=t[r]||[];for(let e of n)i[e.featureIndex]||(i[e.featureIndex]=!0,o.push(e))}}return t}(c);for(let t in u)u[t].forEach((t=>{let r=t.feature,n=e.getFeatureState(r.layer["source-layer"],r.id);r.source=r.layer.source,r.layer["source-layer"]&&(r.sourceLayer=r.layer["source-layer"]),r.state=n}));return u}function G(e,t){let r=e.tileID,n=t.tileID;return r.overscaledZ-n.overscaledZ||r.canonical.y-n.canonical.y||r.wrap-n.wrap||r.canonical.x-n.canonical.x}function W(e,r,n){return t._(this,void 0,void 0,(function*(){let i=e;if(e.url?i=(yield t.h(r.transformRequest(e.url,"Source"),n)).data:yield a.frameAsync(n),!i)return null;let o=t.M(t.e(i,e),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);return"vector_layers"in i&&i.vector_layers&&(o.vectorLayerIds=i.vector_layers.map((e=>e.id))),o}))}class Z{constructor(e,t){e&&(t?this.setSouthWest(e).setNorthEast(t):Array.isArray(e)&&(4===e.length?this.setSouthWest([e[0],e[1]]).setNorthEast([e[2],e[3]]):this.setSouthWest(e[0]).setNorthEast(e[1])))}setNorthEast(e){return this._ne=e instanceof t.N?new t.N(e.lng,e.lat):t.N.convert(e),this}setSouthWest(e){return this._sw=e instanceof t.N?new t.N(e.lng,e.lat):t.N.convert(e),this}extend(e){let r,n,i=this._sw,a=this._ne;if(e instanceof t.N)r=e,n=e;else{if(!(e instanceof Z))return Array.isArray(e)?4===e.length||e.every(Array.isArray)?this.extend(Z.convert(e)):this.extend(t.N.convert(e)):e&&("lng"in e||"lon"in e)&&"lat"in e?this.extend(t.N.convert(e)):this;if(r=e._sw,n=e._ne,!r||!n)return this}return i||a?(i.lng=Math.min(r.lng,i.lng),i.lat=Math.min(r.lat,i.lat),a.lng=Math.max(n.lng,a.lng),a.lat=Math.max(n.lat,a.lat)):(this._sw=new t.N(r.lng,r.lat),this._ne=new t.N(n.lng,n.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(e){let{lng:r,lat:n}=t.N.convert(e),i=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(i=this._sw.lng>=r&&r>=this._ne.lng),this._sw.lat<=n&&n<=this._ne.lat&&i}static convert(e){return e instanceof Z?e:e&&new Z(e)}static fromLngLat(e,r=0){let n=360*r/40075017,i=n/Math.cos(Math.PI/180*e.lat);return new Z(new t.N(e.lng-i,e.lat-n),new t.N(e.lng+i,e.lat+n))}adjustAntiMeridian(){let e=new t.N(this._sw.lng,this._sw.lat),r=new t.N(this._ne.lng,this._ne.lat);return new Z(e,e.lng>r.lng?new t.N(r.lng+360,r.lat):r)}}class Y{constructor(e,t,r){this.bounds=Z.convert(this.validateBounds(e)),this.minzoom=t||0,this.maxzoom=r||24}validateBounds(e){return Array.isArray(e)&&4===e.length?[Math.max(-180,e[0]),Math.max(-90,e[1]),Math.min(180,e[2]),Math.min(90,e[3])]:[-180,-90,180,90]}contains(e){let r=Math.pow(2,e.z),n=Math.floor(t.O(this.bounds.getWest())*r),i=Math.floor(t.Q(this.bounds.getNorth())*r),a=Math.ceil(t.O(this.bounds.getEast())*r),o=Math.ceil(t.Q(this.bounds.getSouth())*r);return e.x>=n&&e.x=i&&e.y{this._options.tiles=e})),this}setUrl(e){return this.setSourceProperty((()=>{this.url=e,this._options.url=e})),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return t.e({},this._options)}loadTile(e){return t._(this,void 0,void 0,(function*(){let t=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),r={request:this.map._requestManager.transformRequest(t,"Tile"),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};r.request.collectResourceTiming=this._collectResourceTiming;let n="RT";if(e.actor&&"expired"!==e.state){if("loading"===e.state)return new Promise(((t,r)=>{e.reloadPromise={resolve:t,reject:r}}))}else e.actor=this.dispatcher.getActor(),n="LT";e.abortController=new AbortController;try{let t=yield e.actor.sendAsync({type:n,data:r},e.abortController);if(delete e.abortController,e.aborted)return;this._afterTileLoadWorkerResponse(e,t)}catch(t){if(delete e.abortController,e.aborted)return;if(t&&404!==t.status)throw t;this._afterTileLoadWorkerResponse(e,null)}}))}_afterTileLoadWorkerResponse(e,t){if(t&&t.resourceTiming&&(e.resourceTiming=t.resourceTiming),t&&this.map._refreshExpiredTiles&&e.setExpiryData(t),e.loadVectorData(t,this.map.painter),e.reloadPromise){let t=e.reloadPromise;e.reloadPromise=null,this.loadTile(e).then(t.resolve).catch(t.reject)}}abortTile(e){return t._(this,void 0,void 0,(function*(){e.abortController&&(e.abortController.abort(),delete e.abortController),e.actor&&(yield e.actor.sendAsync({type:"AT",data:{uid:e.uid,type:this.type,source:this.id}}))}))}unloadTile(e){return t._(this,void 0,void 0,(function*(){e.unloadVectorData(),e.actor&&(yield e.actor.sendAsync({type:"RMT",data:{uid:e.uid,type:this.type,source:this.id}}))}))}hasTransition(){return!1}}class $ extends t.E{constructor(e,r,n,i){super(),this.id=e,this.dispatcher=n,this.setEventedParent(i),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=t.e({type:"raster"},r),t.e(this,t.M(r,["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 e=yield W(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,e&&(t.e(this,e),e.bounds&&(this.tileBounds=new Y(e.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(e){this._tileJSONRequest=null,this.fire(new t.j(e))}}))}loaded(){return this._loaded}onAdd(e){this.map=e,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(e){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),e(),this.load()}setTiles(e){return this.setSourceProperty((()=>{this._options.tiles=e})),this}setUrl(e){return this.setSourceProperty((()=>{this.url=e,this._options.url=e})),this}serialize(){return t.e({},this._options)}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}loadTile(e){return t._(this,void 0,void 0,(function*(){let t=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);e.abortController=new AbortController;try{let r=yield p.getImage(this.map._requestManager.transformRequest(t,"Tile"),e.abortController,this.map._refreshExpiredTiles);if(delete e.abortController,e.aborted)return void(e.state="unloaded");if(r&&r.data){this.map._refreshExpiredTiles&&r.cacheControl&&r.expires&&e.setExpiryData({cacheControl:r.cacheControl,expires:r.expires});let t=this.map.painter.context,n=t.gl,i=r.data;e.texture=this.map.painter.getTileTexture(i.width),e.texture?e.texture.update(i,{useMipmap:!0}):(e.texture=new w(t,i,n.RGBA,{useMipmap:!0}),e.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE,n.LINEAR_MIPMAP_NEAREST)),e.state="loaded"}}catch(t){if(delete e.abortController,e.aborted)e.state="unloaded";else if(t)throw e.state="errored",t}}))}abortTile(e){return t._(this,void 0,void 0,(function*(){e.abortController&&(e.abortController.abort(),delete e.abortController)}))}unloadTile(e){return t._(this,void 0,void 0,(function*(){e.texture&&this.map.painter.saveTileTexture(e.texture)}))}hasTransition(){return!1}}class K extends ${constructor(e,r,n,i){super(e,r,n,i),this.type="raster-dem",this.maxzoom=22,this._options=t.e({type:"raster-dem"},r),this.encoding=r.encoding||"mapbox",this.redFactor=r.redFactor,this.greenFactor=r.greenFactor,this.blueFactor=r.blueFactor,this.baseShift=r.baseShift}loadTile(e){return t._(this,void 0,void 0,(function*(){let r=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),n=this.map._requestManager.transformRequest(r,"Tile");e.neighboringTiles=this._getNeighboringTiles(e.tileID),e.abortController=new AbortController;try{let r=yield p.getImage(n,e.abortController,this.map._refreshExpiredTiles);if(delete e.abortController,e.aborted)return void(e.state="unloaded");if(r&&r.data){let n=r.data;this.map._refreshExpiredTiles&&r.cacheControl&&r.expires&&e.setExpiryData({cacheControl:r.cacheControl,expires:r.expires});let i=t.b(n)&&t.U()?n:yield this.readImageNow(n),a={type:this.type,uid:e.uid,source:this.id,rawImageData:i,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!e.actor||"expired"===e.state){e.actor=this.dispatcher.getActor();let t=yield e.actor.sendAsync({type:"LDT",data:a});e.dem=t,e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.state="loaded"}}}catch(t){if(delete e.abortController,e.aborted)e.state="unloaded";else if(t)throw e.state="errored",t}}))}readImageNow(e){return t._(this,void 0,void 0,(function*(){if(typeof VideoFrame<"u"&&t.V()){let r=e.width+2,n=e.height+2;try{return new t.R({width:r,height:n},yield t.W(e,-1,-1,r,n))}catch{}}return a.getImageData(e,1)}))}_getNeighboringTiles(e){let r=e.canonical,n=Math.pow(2,r.z),i=(r.x-1+n)%n,a=0===r.x?e.wrap-1:e.wrap,o=(r.x+1+n)%n,s=r.x+1===n?e.wrap+1:e.wrap,l={};return l[new t.S(e.overscaledZ,a,r.z,i,r.y).key]={backfilled:!1},l[new t.S(e.overscaledZ,s,r.z,o,r.y).key]={backfilled:!1},r.y>0&&(l[new t.S(e.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new t.S(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.S(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+10&&t.e(i,{resourceTiming:n}),this.fire(new t.k("data",Object.assign(Object.assign({},i),{sourceDataType:"metadata"}))),this.fire(new t.k("data",Object.assign(Object.assign({},i),{sourceDataType:"content"})))}catch(e){if(this._pendingLoads--,this._removed)return void this.fire(new t.k("dataabort",{dataType:"source"}));this.fire(new t.j(e))}}))}loaded(){return 0===this._pendingLoads}loadTile(e){return t._(this,void 0,void 0,(function*(){let t=e.actor?"RT":"LT";e.actor=this.actor;let r={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};e.abortController=new AbortController;let n=yield this.actor.sendAsync({type:t,data:r},e.abortController);delete e.abortController,e.unloadVectorData(),e.aborted||e.loadVectorData(n,this.map.painter,"RT"===t)}))}abortTile(e){return t._(this,void 0,void 0,(function*(){e.abortController&&(e.abortController.abort(),delete e.abortController),e.aborted=!0}))}unloadTile(e){return t._(this,void 0,void 0,(function*(){e.unloadVectorData(),yield this.actor.sendAsync({type:"RMT",data:{uid:e.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 Q=t.Y([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class ee extends t.E{constructor(e,t,r,n){super(),this.id=e,this.dispatcher=r,this.coordinates=t.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(n),this.options=t}load(e){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 t=yield p.getImage(this.map._requestManager.transformRequest(this.url,"Image"),this._request);this._request=null,this._loaded=!0,t&&t.data&&(this.image=t.data,e&&(this.coordinates=e),this._finishLoading())}catch(e){this._request=null,this._loaded=!0,this.fire(new t.j(e))}}))}loaded(){return this._loaded}updateImage(e){return e.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=e.url,this.load(e.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(e){this.map=e,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(e){this.coordinates=e;let r=e.map(t.Z.fromLngLat);this.tileID=function(e){let r=1/0,n=1/0,i=-1/0,a=-1/0;for(let t of e)r=Math.min(r,t.x),n=Math.min(n,t.y),i=Math.max(i,t.x),a=Math.max(a,t.y);let o=Math.max(i-r,a-n),s=Math.max(0,Math.floor(-Math.log(o)/Math.LN2)),l=Math.pow(2,s);return new t.a1(s,Math.floor((r+i)/2*l),Math.floor((n+a)/2*l))}(r),this.minzoom=this.maxzoom=this.tileID.z;let n=r.map((e=>this.tileID.getTilePoint(e)._round()));return this._boundsArray=new t.$,this._boundsArray.emplaceBack(n[0].x,n[0].y,0,0),this._boundsArray.emplaceBack(n[1].x,n[1].y,t.X,0),this._boundsArray.emplaceBack(n[3].x,n[3].y,0,t.X),this._boundsArray.emplaceBack(n[2].x,n[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(0===Object.keys(this.tiles).length||!this.image)return;let e=this.map.painter.context,r=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,Q.members)),this.boundsSegments||(this.boundsSegments=t.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new w(e,this.image,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE));let n=!1;for(let e in this.tiles){let t=this.tiles[e];"loaded"!==t.state&&(t.state="loaded",t.texture=this.texture,n=!0)}n&&this.fire(new t.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}loadTile(e){return t._(this,void 0,void 0,(function*(){this.tileID&&this.tileID.equals(e.tileID.canonical)?(this.tiles[String(e.tileID.wrap)]=e,e.buckets={}):e.state="errored"}))}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class te extends ee{constructor(e,t,r,n){super(e,t,r,n),this.roundZoom=!0,this.type="video",this.options=t}load(){return t._(this,void 0,void 0,(function*(){this._loaded=!1;let e=this.options;this.urls=[];for(let t of e.urls)this.urls.push(this.map._requestManager.transformRequest(t,"Source").url);try{let e=yield t.a3(this.urls);if(this._loaded=!0,!e)return;this.video=e,this.video.loop=!0,this.video.addEventListener("playing",(()=>{this.map.triggerRepaint()})),this.map&&this.video.play(),this._finishLoading()}catch(e){this.fire(new t.j(e))}}))}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(e){if(this.video){let r=this.video.seekable;er.end(0)?this.fire(new t.j(new t.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${r.start(0)} and ${r.end(0)}-second mark.`))):this.video.currentTime=e}}getVideo(){return this.video}onAdd(e){this.map||(this.map=e,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(0===Object.keys(this.tiles).length||this.video.readyState<2)return;let e=this.map.painter.context,r=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,Q.members)),this.boundsSegments||(this.boundsSegments=t.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new w(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE));let n=!1;for(let e in this.tiles){let t=this.tiles[e];"loaded"!==t.state&&(t.state="loaded",t.texture=this.texture,n=!0)}n&&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 re extends ee{constructor(e,r,n,i){super(e,r,n,i),r.coordinates?Array.isArray(r.coordinates)&&4===r.coordinates.length&&!r.coordinates.some((e=>!Array.isArray(e)||2!==e.length||e.some((e=>"number"!=typeof e))))||this.fire(new t.j(new t.a2(`sources.${e}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.j(new t.a2(`sources.${e}`,null,'missing required property "coordinates"'))),r.animate&&"boolean"!=typeof r.animate&&this.fire(new t.j(new t.a2(`sources.${e}`,null,'optional "animate" property must be a boolean value'))),r.canvas?"string"==typeof r.canvas||r.canvas instanceof HTMLCanvasElement||this.fire(new t.j(new t.a2(`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 t.j(new t.a2(`sources.${e}`,null,'missing required property "canvas"'))),this.options=r,this.animate=void 0===r.animate||r.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(e){this.map=e,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),this._hasInvalidDimensions()||0===Object.keys(this.tiles).length)return;let r=this.map.painter.context,n=r.gl;this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,Q.members)),this.boundsSegments||(this.boundsSegments=t.a0.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new w(r,this.canvas,n.RGBA,{premultiply:!0});let i=!1;for(let e in this.tiles){let t=this.tiles[e];"loaded"!==t.state&&(t.state="loaded",t.texture=this.texture,i=!0)}i&&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 e of[this.canvas.width,this.canvas.height])if(isNaN(e)||e<=0)return!0;return!1}}let ne={},ie=e=>{switch(e){case"geojson":return J;case"image":return ee;case"raster":return $;case"raster-dem":return K;case"vector":return X;case"video":return te;case"canvas":return re}return ne[e]},ae="RTLPluginLoaded";class oe extends t.E{constructor(){super(...arguments),this.status="unavailable",this.url=null,this.dispatcher=V()}_syncState(e){return this.status=e,this.dispatcher.broadcast("SRPS",{pluginStatus:e,pluginURL:this.url}).catch((e=>{throw this.status="error",e}))}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status="unavailable",this.url=null}setRTLTextPlugin(e){return t._(this,arguments,void 0,(function*(e,t=!1){if(this.url)throw new Error("setRTLTextPlugin cannot be called multiple times.");if(this.url=a.resolveURL(e),!this.url)throw new Error(`requested url ${e} is invalid`);if("unavailable"===this.status){if(!t)return this._requestImport();this.status="deferred",this._syncState(this.status)}else if("requested"===this.status)return this._requestImport()}))}_requestImport(){return t._(this,void 0,void 0,(function*(){yield this._syncState("loading"),this.status="loaded",this.fire(new t.k(ae))}))}lazyLoad(){"unavailable"===this.status?this.status="requested":"deferred"===this.status&&this._requestImport()}}let se=null;function le(){return se||(se=new oe),se}class ce{constructor(e,r){this.timeAdded=0,this.fadeEndTime=0,this.tileID=e,this.uid=t.a4(),this.uses=0,this.tileSize=r,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(e){let t=e+this.timeAdded;tt.getLayer(e))).filter(Boolean);if(0!==e.length){n.layers=e,n.stateDependentLayerIds&&(n.stateDependentLayers=n.stateDependentLayerIds.map((t=>e.filter((e=>e.id===t))[0])));for(let t of e)r[t.id]=n}}return r}(e.buckets,r.style),this.hasSymbolBuckets=!1;for(let e in this.buckets){let r=this.buckets[e];if(r instanceof t.a6){if(this.hasSymbolBuckets=!0,!n)break;r.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let e in this.buckets){let r=this.buckets[e];if(r instanceof t.a6&&r.hasRTLText){this.hasRTLText=!0,le().lazyLoad();break}}this.queryPadding=0;for(let e in this.buckets){let t=this.buckets[e];this.queryPadding=Math.max(this.queryPadding,r.style.getLayer(e).queryRadius(t))}e.imageAtlas&&(this.imageAtlas=e.imageAtlas),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage)}else this.collisionBoxArray=new t.a5}unloadVectorData(){for(let e in this.buckets)this.buckets[e].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(e){return this.buckets[e.id]}upload(e){for(let t in this.buckets){let r=this.buckets[t];r.uploadPending()&&r.upload(e)}let t=e.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new w(e,this.imageAtlas.image,t.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new w(e,this.glyphAtlasImage,t.ALPHA),this.glyphAtlasImage=null)}prepare(e){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(e,this.imageAtlasTexture)}queryRenderedFeatures(e,t,r,n,i,a,o,s,l,c){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:n,cameraQueryGeometry:i,scale:a,tileSize:this.tileSize,pixelPosMatrix:c,transform:s,params:o,queryPadding:this.queryPadding*l},e,t,r):{}}querySourceFeatures(e,r){let n=this.latestFeatureIndex;if(!n||!n.rawTileData)return;let i=n.loadVTLayers(),a=r&&r.sourceLayer?r.sourceLayer:"",o=i._geojsonTileLayer||i[a];if(!o)return;let s=t.a7(r&&r.filter),{z:l,x:c,y:u}=this.tileID.canonical,h={z:l,x:c,y:u};for(let r=0;re)t=!1;else if(r)if(this.expirationTime{this.remove(e,i)}),r)),this.data[n].push(i),this.order.push(n),this.order.length>this.max){let e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}has(e){return e.wrapped().key in this.data}getAndRemove(e){return this.has(e)?this._getAndRemoveByKey(e.wrapped().key):null}_getAndRemoveByKey(e){let t=this.data[e].shift();return t.timeout&&clearTimeout(t.timeout),0===this.data[e].length&&delete this.data[e],this.order.splice(this.order.indexOf(e),1),t.value}getByKey(e){let t=this.data[e];return t?t[0].value:null}get(e){return this.has(e)?this.data[e.wrapped().key][0].value:null}remove(e,t){if(!this.has(e))return this;let r=e.wrapped().key,n=void 0===t?0:this.data[r].indexOf(t),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this}setMaxSize(e){for(this.max=e;this.order.length>this.max;){let e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}filter(e){let t=[];for(let r in this.data)for(let n of this.data[r])e(n.value)||t.push(n);for(let e of t)this.remove(e.value.tileID,e)}}class he{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(e,r,n){let i=String(r);if(this.stateChanges[e]=this.stateChanges[e]||{},this.stateChanges[e][i]=this.stateChanges[e][i]||{},t.e(this.stateChanges[e][i],n),null===this.deletedStates[e]){this.deletedStates[e]={};for(let t in this.state[e])t!==i&&(this.deletedStates[e][t]=null)}else if(this.deletedStates[e]&&null===this.deletedStates[e][i]){this.deletedStates[e][i]={};for(let t in this.state[e][i])n[t]||(this.deletedStates[e][i][t]=null)}else for(let t in n)this.deletedStates[e]&&this.deletedStates[e][i]&&null===this.deletedStates[e][i][t]&&delete this.deletedStates[e][i][t]}removeFeatureState(e,t,r){if(null===this.deletedStates[e])return;let n=String(t);if(this.deletedStates[e]=this.deletedStates[e]||{},r&&void 0!==t)null!==this.deletedStates[e][n]&&(this.deletedStates[e][n]=this.deletedStates[e][n]||{},this.deletedStates[e][n][r]=null);else if(void 0!==t)if(this.stateChanges[e]&&this.stateChanges[e][n])for(r in this.deletedStates[e][n]={},this.stateChanges[e][n])this.deletedStates[e][n][r]=null;else this.deletedStates[e][n]=null;else this.deletedStates[e]=null}getState(e,r){let n=String(r),i=t.e({},(this.state[e]||{})[n],(this.stateChanges[e]||{})[n]);if(null===this.deletedStates[e])return{};if(this.deletedStates[e]){let t=this.deletedStates[e][r];if(null===t)return{};for(let e in t)delete i[e]}return i}initializeTileState(e,t){e.setFeatureState(this.state,t)}coalesceChanges(e,r){let n={};for(let e in this.stateChanges){this.state[e]=this.state[e]||{};let r={};for(let n in this.stateChanges[e])this.state[e][n]||(this.state[e][n]={}),t.e(this.state[e][n],this.stateChanges[e][n]),r[n]=this.state[e][n];n[e]=r}for(let e in this.deletedStates){this.state[e]=this.state[e]||{};let r={};if(null===this.deletedStates[e])for(let t in this.state[e])r[t]={},this.state[e][t]={};else for(let t in this.deletedStates[e]){if(null===this.deletedStates[e][t])this.state[e][t]={};else for(let r of Object.keys(this.deletedStates[e][t]))delete this.state[e][t][r];r[t]=this.state[e][t]}n[e]=n[e]||{},t.e(n[e],r)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(n).length)for(let t in e)e[t].setFeatureState(n,r)}}class fe extends t.E{constructor(e,t,r){super(),this.id=e,this.dispatcher=r,this.on("data",(e=>this._dataHandler(e))),this.on("dataloading",(()=>{this._sourceErrored=!1})),this.on("error",(()=>{this._sourceErrored=this._source.loaded()})),this._source=((e,t,r,n)=>{let i=new(ie(t.type))(e,t,r,n);if(i.id!==e)throw new Error(`Expected Source id to be ${e} instead of ${i.id}`);return i})(e,t,r,this),this._tiles={},this._cache=new ue(0,(e=>this._unloadTile(e))),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new he,this._didEmitContent=!1,this._updated=!1}onAdd(e){this.map=e,this._maxTileCacheSize=e?e._maxTileCacheSize:null,this._maxTileCacheZoomLevels=e?e._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(e)}onRemove(e){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(e)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(void 0===this.used&&void 0===this.usedForTerrain||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(let e in this._tiles){let t=this._tiles[e];if("loaded"!==t.state&&"errored"!==t.state)return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let e=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,e&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(e,r,n){return t._(this,void 0,void 0,(function*(){try{yield this._source.loadTile(e),this._tileLoaded(e,r,n)}catch(r){e.state="errored",404!==r.status?this._source.fire(new t.j(r,{tile:e})):this.update(this.transform,this.terrain)}}))}_unloadTile(e){this._source.unloadTile&&this._source.unloadTile(e)}_abortTile(e){this._source.abortTile&&this._source.abortTile(e),this._source.fire(new t.k("dataabort",{tile:e,coord:e.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(e){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(let t in this._tiles){let r=this._tiles[t];r.upload(e),r.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map((e=>e.tileID)).sort(pe).map((e=>e.key))}getRenderableIds(e){let r=[];for(let t in this._tiles)this._isIdRenderable(t,e)&&r.push(this._tiles[t]);return e?r.sort(((e,r)=>{let n=e.tileID,i=r.tileID,a=new t.P(n.canonical.x,n.canonical.y)._rotate(this.transform.angle),o=new t.P(i.canonical.x,i.canonical.y)._rotate(this.transform.angle);return n.overscaledZ-i.overscaledZ||o.y-a.y||o.x-a.x})).map((e=>e.tileID.key)):r.map((e=>e.tileID)).sort(pe).map((e=>e.key))}hasRenderableParent(e){let t=this.findLoadedParent(e,0);return!!t&&this._isIdRenderable(t.tileID.key)}_isIdRenderable(e,t){return this._tiles[e]&&this._tiles[e].hasData()&&!this._coveredTiles[e]&&(t||!this._tiles[e].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(let e in this._tiles)"errored"!==this._tiles[e].state&&this._reloadTile(e,"reloading")}}_reloadTile(e,r){return t._(this,void 0,void 0,(function*(){let t=this._tiles[e];t&&("loading"!==t.state&&(t.state=r),yield this._loadTile(t,e,r))}))}_tileLoaded(e,r,n){e.timeAdded=a.now(),"expired"===n&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(r,e),"raster-dem"===this.getSource().type&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),e.aborted||this._source.fire(new t.k("data",{dataType:"source",tile:e,coord:e.tileID}))}_backfillDEM(e){let t=this.getRenderableIds();for(let n=0;n1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),t.dem&&e.dem&&(e.dem.backfillBorder(t.dem,r,n),e.neighboringTiles&&e.neighboringTiles[a]&&(e.neighboringTiles[a].backfilled=!0)))}}getTile(e){return this.getTileByID(e.key)}getTileByID(e){return this._tiles[e]}_retainLoadedChildren(e,t,r,n){for(let i in this._tiles){let a=this._tiles[i];if(n[i]||!a.hasData()||a.tileID.overscaledZ<=t||a.tileID.overscaledZ>r)continue;let o=a.tileID;for(;a&&a.tileID.overscaledZ>t+1;){let e=a.tileID.scaledTo(a.tileID.overscaledZ-1);a=this._tiles[e.key],a&&a.hasData()&&(o=e)}let s=o;for(;s.overscaledZ>t;)if(s=s.scaledTo(s.overscaledZ-1),e[s.key]){n[o.key]=o;break}}}findLoadedParent(e,t){if(e.key in this._loadedParentTiles){let r=this._loadedParentTiles[e.key];return r&&r.tileID.overscaledZ>=t?r:null}for(let r=e.overscaledZ-1;r>=t;r--){let t=e.scaledTo(r),n=this._getLoadedTile(t);if(n)return n}}findLoadedSibling(e){return this._getLoadedTile(e)}_getLoadedTile(e){let t=this._tiles[e.key];return t&&t.hasData()?t:this._cache.getByKey(e.wrapped().key)}updateCacheSize(e){let r=Math.ceil(e.width/this._source.tileSize)+1,n=Math.ceil(e.height/this._source.tileSize)+1,i=Math.floor(r*n*(null===this._maxTileCacheZoomLevels?t.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),a="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,i):i;this._cache.setMaxSize(a)}handleWrapJump(e){let t=Math.round((e-(void 0===this._prevLng?e:this._prevLng))/360);if(this._prevLng=e,t){let e={};for(let r in this._tiles){let n=this._tiles[r];n.tileID=n.tileID.unwrapTo(n.tileID.wrap+t),e[n.tileID.key]=n}this._tiles=e;for(let e in this._timers)clearTimeout(this._timers[e]),delete this._timers[e];for(let e in this._tiles)this._setTileReloadTimer(e,this._tiles[e])}}_updateCoveredAndRetainedTiles(e,t,r,n,i,o){let s={},l={},c=Object.keys(e),u=a.now();for(let r of c){let n=e[r],i=this._tiles[r];if(!i||0!==i.fadeEndTime&&i.fadeEndTime<=u)continue;let a=this.findLoadedParent(n,t),o=this.findLoadedSibling(n),c=a||o||null;c&&(this._addTile(c.tileID),s[c.tileID.key]=c.tileID),l[r]=n}this._retainLoadedChildren(l,n,r,e);for(let t in s)e[t]||(this._coveredTiles[t]=!0,e[t]=s[t]);if(o){let t={},r={};for(let e of i)this._tiles[e.key].hasData()?t[e.key]=e:r[e.key]=e;for(let n in r){let i=r[n].children(this._source.maxzoom);this._tiles[i[0].key]&&this._tiles[i[1].key]&&this._tiles[i[2].key]&&this._tiles[i[3].key]&&(t[i[0].key]=e[i[0].key]=i[0],t[i[1].key]=e[i[1].key]=i[1],t[i[2].key]=e[i[2].key]=i[2],t[i[3].key]=e[i[3].key]=i[3],delete r[n])}for(let n in r){let i=r[n],a=this.findLoadedParent(i,this._source.minzoom),o=this.findLoadedSibling(i),s=a||o||null;if(s){t[s.tileID.key]=e[s.tileID.key]=s.tileID;for(let e in t)t[e].isChildOf(s.tileID)&&delete t[e]}}for(let e in this._tiles)t[e]||(this._coveredTiles[e]=!0)}}update(e,r){if(!this._sourceLoaded||this._paused)return;let n;this.transform=e,this.terrain=r,this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?n=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((e=>new t.S(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y))):(n=e.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:r}),this._source.hasTile&&(n=n.filter((e=>this._source.hasTile(e))))):n=[];let i=e.coveringZoomLevel(this._source),a=Math.max(i-fe.maxOverzooming,this._source.minzoom),o=Math.max(i+fe.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let e={};for(let t of n)if(t.canonical.z>this._source.minzoom){let r=t.scaledTo(t.canonical.z-1);e[r.key]=r;let n=t.scaledTo(Math.max(this._source.minzoom,Math.min(t.canonical.z,5)));e[n.key]=n}n=n.concat(Object.values(e))}let s=0===n.length&&!this._updated&&this._didEmitContent;this._updated=!0,s&&this.fire(new t.k("data",{sourceDataType:"idle",dataType:"source",sourceId:this.id}));let l=this._updateRetainedTiles(n,i);de(this._source.type)&&this._updateCoveredAndRetainedTiles(l,a,o,i,n,r);for(let e in l)this._tiles[e].clearFadeHold();let c=t.ab(this._tiles,l);for(let e of c){let t=this._tiles[e];t.hasSymbolBuckets&&!t.holdingForFade()?t.setHoldDuration(this.map._fadeDuration):t.hasSymbolBuckets&&!t.symbolFadeFinished()||this._removeTile(e)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(let e in this._tiles)this._tiles[e].holdingForFade()&&this._removeTile(e)}_updateRetainedTiles(e,t){var r;let n={},i={},a=Math.max(t-fe.maxOverzooming,this._source.minzoom),o=Math.max(t+fe.maxUnderzooming,this._source.minzoom),s={};for(let r of e){let e=this._addTile(r);n[r.key]=r,e.hasData()||tthis._source.maxzoom){let e=o.children(this._source.maxzoom)[0],t=this.getTile(e);if(t&&t.hasData()){n[e.key]=e;continue}}else{let e=o.children(this._source.maxzoom);if(n[e[0].key]&&n[e[1].key]&&n[e[2].key]&&n[e[3].key])continue}let s=e.wasRequested();for(let t=o.overscaledZ-1;t>=a;--t){let a=o.scaledTo(t);if(i[a.key])break;if(i[a.key]=!0,e=this.getTile(a),!e&&s&&(e=this._addTile(a)),e){let t=e.hasData();if((t||!(null!==(r=this.map)&&void 0!==r&&r.cancelPendingTileRequestsWhileZooming)||s)&&(n[a.key]=a),s=e.wasRequested(),t)break}}}return n}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(let e in this._tiles){let t,r=[],n=this._tiles[e].tileID;for(;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){t=this._loadedParentTiles[n.key];break}r.push(n.key);let e=n.scaledTo(n.overscaledZ-1);if(t=this._getLoadedTile(e),t)break;n=e}for(let e of r)this._loadedParentTiles[e]=t}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(let e in this._tiles){let t=this._tiles[e].tileID,r=this._getLoadedTile(t);this._loadedSiblingTiles[t.key]=r}}_addTile(e){let r=this._tiles[e.key];if(r)return r;r=this._cache.getAndRemove(e),r&&(this._setTileReloadTimer(e.key,r),r.tileID=e,this._state.initializeTileState(r,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,r)));let n=r;return r||(r=new ce(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(r,e.key,r.state)),r.uses++,this._tiles[e.key]=r,n||this._source.fire(new t.k("dataloading",{tile:r,coord:r.tileID,dataType:"source"})),r}_setTileReloadTimer(e,t){e in this._timers&&(clearTimeout(this._timers[e]),delete this._timers[e]);let r=t.getExpiryTimeout();r&&(this._timers[e]=setTimeout((()=>{this._reloadTile(e,"expired"),delete this._timers[e]}),r))}_removeTile(e){let t=this._tiles[e];t&&(t.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),delete this._timers[e]),t.uses>0||(t.hasData()&&"reloading"!==t.state?this._cache.add(t.tileID,t,t.getExpiryTimeout()):(t.aborted=!0,this._abortTile(t),this._unloadTile(t))))}_dataHandler(e){let t=e.sourceDataType;"source"===e.dataType&&"metadata"===t&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&"source"===e.dataType&&"content"===t&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let e in this._tiles)this._removeTile(e);this._cache.reset()}tilesIn(e,r,n){let i=[],a=this.transform;if(!a)return i;let o=n?a.getCameraQueryGeometry(e):e,s=e.map((e=>a.pointCoordinate(e,this.terrain))),l=o.map((e=>a.pointCoordinate(e,this.terrain))),c=this.getIds(),u=1/0,h=1/0,f=-1/0,p=-1/0;for(let e of l)u=Math.min(u,e.x),h=Math.min(h,e.y),f=Math.max(f,e.x),p=Math.max(p,e.y);for(let e=0;e=0&&g[1].y+m>=0){let e=s.map((e=>o.getTilePoint(e))),t=l.map((e=>o.getTilePoint(e)));i.push({tile:n,tileID:o,queryGeometry:e,cameraQueryGeometry:t,scale:d})}}return i}getVisibleCoordinates(e){let t=this.getRenderableIds(e).map((e=>this._tiles[e].tileID));for(let e of t)e.posMatrix=this.transform.calculatePosMatrix(e.toUnwrapped());return t}hasTransition(){if(this._source.hasTransition())return!0;if(de(this._source.type)){let e=a.now();for(let t in this._tiles)if(this._tiles[t].fadeEndTime>=e)return!0}return!1}setFeatureState(e,t,r){this._state.updateState(e=e||"_geojsonTileLayer",t,r)}removeFeatureState(e,t,r){this._state.removeFeatureState(e=e||"_geojsonTileLayer",t,r)}getFeatureState(e,t){return this._state.getState(e=e||"_geojsonTileLayer",t)}setDependencies(e,t,r){let n=this._tiles[e];n&&n.setDependencies(t,r)}reloadTilesForDependencies(e,t){for(let r in this._tiles)this._tiles[r].hasDependency(e,t)&&this._reloadTile(r,"reloading");this._cache.filter((r=>!r.hasDependency(e,t)))}}function pe(e,t){let r=Math.abs(2*e.wrap)-+(e.wrap<0),n=Math.abs(2*t.wrap)-+(t.wrap<0);return e.overscaledZ-t.overscaledZ||n-r||t.canonical.y-e.canonical.y||t.canonical.x-e.canonical.x}function de(e){return"raster"===e||"image"===e||"video"===e}fe.maxOverzooming=10,fe.maxUnderzooming=3;class me{constructor(e,t){this.reset(e,t)}reset(e,t){this.points=e||[],this._distances=[0];for(let e=1;e0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))}}function ge(e,t){let r=!0;return"always"===e||"never"!==e&&"never"!==t||(r=!1),r}class ye{constructor(e,t,r){let n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(e/r),this.yCellCount=Math.ceil(t/r);for(let e=0;ethis.width||n<0||t>this.height)return[];let s=[];if(e<=0&&t<=0&&this.width<=r&&this.height<=n){if(i)return[{key:null,x1:e,y1:t,x2:r,y2:n}];for(let e=0;e0}hitTestCircle(e,t,r,n,i){let a=e-r,o=e+r,s=t-r,l=t+r;if(o<0||a>this.width||l<0||s>this.height)return!1;let c=[];return this._forEachCell(a,s,o,l,this._queryCellCircle,c,{hitTest:!0,overlapMode:n,circle:{x:e,y:t,radius:r},seenUids:{box:{},circle:{}}},i),c.length>0}_queryCell(e,t,r,n,i,a,o,s){let{seenUids:l,hitTest:c,overlapMode:u}=o,h=this.boxCells[i];if(null!==h){let i=this.bboxes;for(let o of h)if(!l.box[o]){l.box[o]=!0;let h=4*o,f=this.boxKeys[o];if(e<=i[h+2]&&t<=i[h+3]&&r>=i[h+0]&&n>=i[h+1]&&(!s||s(f))&&(!c||!ge(u,f.overlapMode))&&(a.push({key:f,x1:i[h],y1:i[h+1],x2:i[h+2],y2:i[h+3]}),c))return!0}}let f=this.circleCells[i];if(null!==f){let i=this.circles;for(let o of f)if(!l.circle[o]){l.circle[o]=!0;let h=3*o,f=this.circleKeys[o];if(this._circleAndRectCollide(i[h],i[h+1],i[h+2],e,t,r,n)&&(!s||s(f))&&(!c||!ge(u,f.overlapMode))){let e=i[h],t=i[h+1],r=i[h+2];if(a.push({key:f,x1:e-r,y1:t-r,x2:e+r,y2:t+r}),c)return!0}}}return!1}_queryCellCircle(e,t,r,n,i,a,o,s){let{circle:l,seenUids:c,overlapMode:u}=o,h=this.boxCells[i];if(null!==h){let e=this.bboxes;for(let t of h)if(!c.box[t]){c.box[t]=!0;let r=4*t,n=this.boxKeys[t];if(this._circleAndRectCollide(l.x,l.y,l.radius,e[r+0],e[r+1],e[r+2],e[r+3])&&(!s||s(n))&&!ge(u,n.overlapMode))return a.push(!0),!0}}let f=this.circleCells[i];if(null!==f){let e=this.circles;for(let t of f)if(!c.circle[t]){c.circle[t]=!0;let r=3*t,n=this.circleKeys[t];if(this._circlesCollide(e[r],e[r+1],e[r+2],l.x,l.y,l.radius)&&(!s||s(n))&&!ge(u,n.overlapMode))return a.push(!0),!0}}}_forEachCell(e,t,r,n,i,a,o,s){let l=this._convertToXCellCoord(e),c=this._convertToYCellCoord(t),u=this._convertToXCellCoord(r),h=this._convertToYCellCoord(n);for(let f=l;f<=u;f++)for(let l=c;l<=h;l++)if(i.call(this,e,t,r,n,this.xCellCount*l+f,a,o,s))return}_convertToXCellCoord(e){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(e*this.xScale)))}_convertToYCellCoord(e){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(e*this.yScale)))}_circlesCollide(e,t,r,n,i,a){let o=n-e,s=i-t,l=r+a;return l*l>o*o+s*s}_circleAndRectCollide(e,t,r,n,i,a,o){let s=(a-n)/2,l=Math.abs(e-(n+s));if(l>s+r)return!1;let c=(o-i)/2,u=Math.abs(t-(i+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;let h=l-s,f=u-c;return h*h+f*f<=r*r}}function ve(e,r,n,i,a){let o=t.H();return r?(t.K(o,o,[1/a,1/a,1]),n||t.ad(o,o,i.angle)):t.L(o,i.labelPlaneMatrix,e),o}function xe(e,r,n,i,a){if(r){let r=t.ae(e);return t.K(r,r,[a,a,1]),n||t.ad(r,r,-i.angle),r}return i.glCoordMatrix}function _e(e,r,n,i){let a;i?(a=[e,r,i(e,r),1],t.af(a,a,n)):(a=[e,r,0,1],Oe(a,a,n));let o=a[3];return{point:new t.P(a[0]/o,a[1]/o),signedDistanceFromCamera:o,isOccluded:!1}}function be(e,t){return.5+e/t*.5}function we(e,t){return e.x>=-t[0]&&e.x<=t[0]&&e.y>=-t[1]&&e.y<=t[1]}function Te(e,r,n,i,a,o,s,l,c,u,h,f,p,d,m){let g=i?e.textSizeData:e.iconSizeData,y=t.ag(g,n.transform.zoom),v=[256/n.width*2+1,256/n.height*2+1],x=i?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;x.clear();let _=e.lineVertexArray,b=i?e.text.placedSymbolArray:e.icon.placedSymbolArray,w=n.transform.width/n.transform.height,T=!1;for(let i=0;iMath.abs(n.x-r.x)*i?{useVertical:!0}:(e===t.ah.vertical?r.yn.x)?{needsFlipping:!0}:null}function Me(e,r,n,i,a,o,s,l,c,u,h){let f,p=n/24,d=r.lineOffsetX*p,m=r.lineOffsetY*p;if(r.numGlyphs>1){let t=r.glyphStartIndex+r.numGlyphs,n=r.lineStartIndex,o=r.lineStartIndex+r.lineLength,c=ke(p,l,d,m,i,r,h,e);if(!c)return{notEnoughRoom:!0};let g=_e(c.first.point.x,c.first.point.y,s,e.getElevation).point,y=_e(c.last.point.x,c.last.point.y,s,e.getElevation).point;if(a&&!i){let e=Ae(r.writingMode,g,y,u);if(e)return e}f=[c.first];for(let a=r.glyphStartIndex+1;a0?s.point:Se(e.tileAnchorPoint,a,n,1,o,e),c=Ae(r.writingMode,n,l,u);if(c)return c}let n=Pe(p*l.getoffsetX(r.glyphStartIndex),d,m,i,r.segment,r.lineStartIndex,r.lineStartIndex+r.lineLength,e,h);if(!n||e.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};f=[n]}for(let e of f)t.aj(c,e.point,e.angle);return{}}function Se(e,t,r,n,i,a){let o=e.add(e.sub(t)._unit()),s=void 0!==i?_e(o.x,o.y,i,a.getElevation).point:Ce(o.x,o.y,a).point,l=r.sub(s);return r.add(l._mult(n/l.mag()))}function Ee(e,r,n){let i=r.projectionCache;if(i.projections[e])return i.projections[e];let a=new t.P(r.lineVertexArray.getx(e),r.lineVertexArray.gety(e)),o=Ce(a.x,a.y,r);if(o.signedDistanceFromCamera>0)return i.projections[e]=o.point,i.anyProjectionOccluded=i.anyProjectionOccluded||o.isOccluded,o.point;let s=e-n.direction;return Se(0===n.distanceFromAnchor?r.tileAnchorPoint:new t.P(r.lineVertexArray.getx(s),r.lineVertexArray.gety(s)),a,n.previousVertex,n.absOffsetX-n.distanceFromAnchor+1,void 0,r)}function Ce(e,t,r){let n,i=e+r.translation[0],a=t+r.translation[1];return!r.pitchWithMap&&r.projection.useSpecialProjectionForSymbols?(n=r.projection.projectTileCoordinates(i,a,r.unwrappedTileID,r.getElevation),n.point.x=(.5*n.point.x+.5)*r.width,n.point.y=(.5*-n.point.y+.5)*r.height):(n=_e(i,a,r.labelPlaneMatrix,r.getElevation),n.isOccluded=!1),n}function Ie(e,t,r){return e._unit()._perp()._mult(t*r)}function Le(e,r,n,i,a,o,s,l,c){if(l.projectionCache.offsets[e])return l.projectionCache.offsets[e];let u=n.add(r);if(e+c.direction=a)return l.projectionCache.offsets[e]=u,u;let h=Ee(e+c.direction,l,c),f=Ie(h.sub(n),s,c.direction),p=n.add(f),d=h.add(f);return l.projectionCache.offsets[e]=t.ak(o,u,p,d)||u,l.projectionCache.offsets[e]}function Pe(e,t,r,n,i,a,o,s,l){let c=n?e-t:e+t,u=c>0?1:-1,h=0;n&&(u*=-1,h=Math.PI),u<0&&(h+=Math.PI);let f,p=u>0?a+i:a+i+1;s.projectionCache.cachedAnchorPoint?f=s.projectionCache.cachedAnchorPoint:(f=Ce(s.tileAnchorPoint.x,s.tileAnchorPoint.y,s).point,s.projectionCache.cachedAnchorPoint=f);let d,m,g,y=f,v=f,x=0,_=0,b=Math.abs(c),w=[];for(;x+_<=b;){if(p+=u,p=o)return null;x+=_,v=y,m=d;let e={absOffsetX:b,direction:u,distanceFromAnchor:x,previousVertex:v};if(y=Ee(p,s,e),0===r)w.push(v),g=y.sub(v);else{let t,n=y.sub(v);t=0===n.mag()?Ie(Ee(p+u,s,e).sub(y),r,u):Ie(n,r,u),m||(m=v.add(t)),d=Le(p,t,y,a,o,m,r,s,e),w.push(m),g=d.sub(m)}_=g.mag()}let T=g._mult((b-x)/_)._add(m||v),k=h+Math.atan2(y.y-v.y,y.x-v.x);return w.push(T),{point:T,angle:l?k:0,path:w}}let ze=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function De(e,t){for(let r=0;r=1;e--)l.push(o.path[e]);for(let e=1;ee.signedDistanceFromCamera<=0))?[]:e.map((e=>e.point))}let m=[];if(l.length>0){let e=l[0].clone(),r=l[0].clone();for(let t=1;t=n.x&&r.x<=i.x&&e.y>=n.y&&r.y<=i.y?[l]:r.xi.x||r.yi.y?[]:t.al([l],n.x,n.y,i.x,i.y)}for(let t of m){a.reset(t,.25*r);let n=0;n=a.length<=.5*r?1:Math.ceil(a.paddedLength/h)+1;for(let t=0;t_e(e.x,e.y,r,t.getElevation)))}queryRenderedSymbols(e){if(0===e.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return{};let r=[],n=1/0,i=1/0,a=-1/0,o=-1/0;for(let s of e){let e=new t.P(s.x+Re,s.y+Re);n=Math.min(n,e.x),i=Math.min(i,e.y),a=Math.max(a,e.x),o=Math.max(o,e.y),r.push(e)}let s=this.grid.query(n,i,a,o).concat(this.ignoredGrid.query(n,i,a,o)),l={},c={};for(let e of s){let n=e.key;if(void 0===l[n.bucketInstanceId]&&(l[n.bucketInstanceId]={}),l[n.bucketInstanceId][n.featureIndex])continue;let i=[new t.P(e.x1,e.y1),new t.P(e.x2,e.y1),new t.P(e.x2,e.y2),new t.P(e.x1,e.y2)];t.am(r,i)&&(l[n.bucketInstanceId][n.featureIndex]=!0,void 0===c[n.bucketInstanceId]&&(c[n.bucketInstanceId]=[]),c[n.bucketInstanceId].push(n.featureIndex))}return c}insertCollisionBox(e,t,r,n,i,a){(r?this.ignoredGrid:this.grid).insert({bucketInstanceId:n,featureIndex:i,collisionGroupID:a,overlapMode:t},e[0],e[1],e[2],e[3])}insertCollisionCircles(e,t,r,n,i,a){let o=r?this.ignoredGrid:this.grid,s={bucketInstanceId:n,featureIndex:i,collisionGroupID:a,overlapMode:t};for(let t=0;t=this.screenRightBoundary||nthis.screenBottomBoundary}isInsideGrid(e,t,r,n){return r>=0&&e=0&&tthis.projectAndGetPerspectiveRatio(n,e.x,e.y,i,c)));k=e.some((e=>!e.isOccluded)),T=e.map((e=>e.point))}else k=!0;return{box:t.ao(T),allPointsOccluded:!k}}}function Be(e,r,n){return r*(t.X/(e.tileSize*Math.pow(2,n-e.tileID.overscaledZ)))}class je{constructor(e,t,r,n){this.opacity=e?Math.max(0,Math.min(1,e.opacity+(e.placed?t:-t))):n&&r?1:0,this.placed=r}isHidden(){return 0===this.opacity&&!this.placed}}class Ne{constructor(e,t,r,n,i){this.text=new je(e?e.text:null,t,r,i),this.icon=new je(e?e.icon:null,t,n,i)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class Ue{constructor(e,t,r){this.text=e,this.icon=t,this.skipFade=r}}class Ve{constructor(){this.invProjMatrix=t.H(),this.viewportMatrix=t.H(),this.circles=[]}}class qe{constructor(e,t,r,n,i){this.bucketInstanceId=e,this.featureIndex=t,this.sourceLayerIndex=r,this.bucketIndex=n,this.tileID=i}}class He{constructor(e){this.crossSourceCollisions=e,this.maxGroupID=0,this.collisionGroups={}}get(e){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[e]){let t=++this.maxGroupID;this.collisionGroups[e]={ID:t,predicate:e=>e.collisionGroupID===t}}return this.collisionGroups[e]}}function Ge(e,r,n,i,a){let{horizontalAlign:o,verticalAlign:s}=t.au(e);return new t.P(-(o-.5)*r+i[0]*a,-(s-.5)*n+i[1]*a)}class We{constructor(e,t,r,n,i,a){this.transform=e.clone(),this.terrain=r,this.collisionIndex=new Fe(this.transform,t),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=n,this.retainedQueryData={},this.collisionGroups=new He(i),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=a,a&&(a.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(e){let t=this.terrain;return t?(r,n)=>t.getElevation(e,r,n):null}getBucketParts(e,r,n,i){let a=n.getBucket(r),o=n.latestFeatureIndex;if(!a||!o||r.id!==a.layerIds[0])return;let s=n.collisionBoxArray,l=a.layers[0].layout,c=a.layers[0].paint,u=Math.pow(2,this.transform.zoom-n.tileID.overscaledZ),h=n.tileSize/t.X,f=n.tileID.toUnwrapped(),p=this.transform.calculatePosMatrix(f),d="map"===l.get("text-pitch-alignment"),m="map"===l.get("text-rotation-alignment"),g=Be(n,1,this.transform.zoom),y=this.collisionIndex.mapProjection.translatePosition(this.transform,n,c.get("text-translate"),c.get("text-translate-anchor")),v=this.collisionIndex.mapProjection.translatePosition(this.transform,n,c.get("icon-translate"),c.get("icon-translate-anchor")),x=ve(p,d,m,this.transform,g),_=null;if(d){let e=xe(p,d,m,this.transform,g);_=t.L([],this.transform.labelPlaneMatrix,e)}this.retainedQueryData[a.bucketInstanceId]=new qe(a.bucketInstanceId,o,a.sourceLayerIndex,a.index,n.tileID);let b={bucket:a,layout:l,translationText:y,translationIcon:v,posMatrix:p,unwrappedTileID:f,textLabelPlaneMatrix:x,labelToScreenMatrix:_,scale:u,textPixelRatio:h,holdingForFade:n.holdingForFade(),collisionBoxArray:s,partiallyEvaluatedTextSize:t.ag(a.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(a.sourceID)};if(i)for(let t of a.sortKeyRanges){let{sortKey:r,symbolInstanceStart:n,symbolInstanceEnd:i}=t;e.push({sortKey:r,symbolInstanceStart:n,symbolInstanceEnd:i,parameters:b})}else e.push({symbolInstanceStart:0,symbolInstanceEnd:a.symbolInstances.length,parameters:b})}attemptAnchorPlacement(e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x){let _=t.aq[e.textAnchor],b=[e.textOffset0,e.textOffset1],w=Ge(_,n,i,b,a),T=this.collisionIndex.placeCollisionBox(r,f,l,c,u,s,o,g,h.predicate,x,w);if((!v||this.collisionIndex.placeCollisionBox(v,f,l,c,u,s,o,y,h.predicate,x,w).placeable)&&T.placeable){let e;if(this.prevPlacement&&this.prevPlacement.variableOffsets[p.crossTileID]&&this.prevPlacement.placements[p.crossTileID]&&this.prevPlacement.placements[p.crossTileID].text&&(e=this.prevPlacement.variableOffsets[p.crossTileID].anchor),0===p.crossTileID)throw new Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[p.crossTileID]={textOffset:b,width:n,height:i,anchor:_,textBoxScale:a,prevAnchor:e},this.markUsedJustification(d,_,p,m),d.allowVerticalPlacement&&(this.markUsedOrientation(d,m,p),this.placedOrientations[p.crossTileID]=m),{shift:w,placedGlyphBoxes:T}}}placeLayerBucketPart(e,r,n){let{bucket:i,layout:a,translationText:o,translationIcon:s,posMatrix:l,unwrappedTileID:c,textLabelPlaneMatrix:u,labelToScreenMatrix:h,textPixelRatio:f,holdingForFade:p,collisionBoxArray:d,partiallyEvaluatedTextSize:m,collisionGroup:g}=e.parameters,y=a.get("text-optional"),v=a.get("icon-optional"),x=t.ar(a,"text-overlap","text-allow-overlap"),_="always"===x,b=t.ar(a,"icon-overlap","icon-allow-overlap"),w="always"===b,T="map"===a.get("text-rotation-alignment"),k="map"===a.get("text-pitch-alignment"),A="none"!==a.get("icon-text-fit"),M="viewport-y"===a.get("symbol-z-order"),S=_&&(w||!i.hasIconData()||v),E=w&&(_||!i.hasTextData()||y);!i.collisionArrays&&d&&i.deserializeCollisionBoxes(d);let C=this._getTerrainElevationFunc(this.retainedQueryData[i.bucketInstanceId].tileID),I=(e,d,w)=>{var M,I;if(r[e.crossTileID])return;if(p)return void(this.placements[e.crossTileID]=new Ue(!1,!1,!1));let L=!1,P=!1,z=!0,D=null,O={box:null,placeable:!1,offscreen:null},R={box:null,placeable:!1,offscreen:null},F=null,B=null,j=null,N=0,U=0,V=0;d.textFeatureIndex?N=d.textFeatureIndex:e.useRuntimeCollisionCircles&&(N=e.featureIndex),d.verticalTextFeatureIndex&&(U=d.verticalTextFeatureIndex);let q=d.textBox;if(q){let r=r=>{let n=t.ah.horizontal;if(i.allowVerticalPlacement&&!r&&this.prevPlacement){let t=this.prevPlacement.placedOrientations[e.crossTileID];t&&(this.placedOrientations[e.crossTileID]=t,n=t,this.markUsedOrientation(i,n,e))}return n},a=(r,n)=>{if(i.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&d.verticalTextBox){for(let e of i.writingModes)if(e===t.ah.vertical?(O=n(),R=O):O=r(),O&&O.placeable)break}else O=r()},u=e.textAnchorOffsetStartIndex,h=e.textAnchorOffsetEndIndex;if(h===u){let n=(t,r)=>{let n=this.collisionIndex.placeCollisionBox(t,x,f,l,c,k,T,o,g.predicate,C);return n&&n.placeable&&(this.markUsedOrientation(i,r,e),this.placedOrientations[e.crossTileID]=r),n};a((()=>n(q,t.ah.horizontal)),(()=>{let r=d.verticalTextBox;return i.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&r?n(r,t.ah.vertical):{box:null,offscreen:null}})),r(O&&O.placeable)}else{let p=t.aq[null===(I=null===(M=this.prevPlacement)||void 0===M?void 0:M.variableOffsets[e.crossTileID])||void 0===I?void 0:I.anchor],m=(r,a,d)=>{let m=r.x2-r.x1,y=r.y2-r.y1,v=e.textBoxScale,_=A&&"never"===b?a:null,w=null,M="never"===x?1:2,S="never";p&&M++;for(let t=0;tm(q,d.iconBox,t.ah.horizontal)),(()=>{let r=d.verticalTextBox;return i.allowVerticalPlacement&&(!O||!O.placeable)&&e.numVerticalGlyphVertices>0&&r?m(r,d.verticalIconBox,t.ah.vertical):{box:null,occluded:!0,offscreen:null}})),O&&(L=O.placeable,z=O.offscreen);let y=r(O&&O.placeable);if(!L&&this.prevPlacement){let t=this.prevPlacement.variableOffsets[e.crossTileID];t&&(this.variableOffsets[e.crossTileID]=t,this.markUsedJustification(i,t.anchor,e,y))}}}if(F=O,L=F&&F.placeable,z=F&&F.offscreen,e.useRuntimeCollisionCircles){let r=i.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),s=t.ai(i.textSizeData,m,r),f=a.get("text-padding");B=this.collisionIndex.placeCollisionCircles(x,r,i.lineVertexArray,i.glyphOffsetArray,s,l,c,u,h,n,k,g.predicate,e.collisionCircleDiameter,f,o,C),B.circles.length&&B.collisionDetected&&!n&&t.w("Collisions detected, but collision boxes are not shown"),L=_||B.circles.length>0&&!B.collisionDetected,z=z&&B.offscreen}if(d.iconFeatureIndex&&(V=d.iconFeatureIndex),d.iconBox){let e=e=>this.collisionIndex.placeCollisionBox(e,b,f,l,c,k,T,s,g.predicate,C,A&&D?D:void 0);R&&R.placeable&&d.verticalIconBox?(j=e(d.verticalIconBox),P=j.placeable):(j=e(d.iconBox),P=j.placeable),z=z&&j.offscreen}let H=y||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,G=v||0===e.numIconVertices;H||G?G?H||(P=P&&L):L=P&&L:P=L=P&&L;let W=P&&j.placeable;if(L&&F.placeable&&this.collisionIndex.insertCollisionBox(F.box,x,a.get("text-ignore-placement"),i.bucketInstanceId,R&&R.placeable&&U?U:N,g.ID),W&&this.collisionIndex.insertCollisionBox(j.box,b,a.get("icon-ignore-placement"),i.bucketInstanceId,V,g.ID),B&&L&&this.collisionIndex.insertCollisionCircles(B.circles,x,a.get("text-ignore-placement"),i.bucketInstanceId,N,g.ID),n&&this.storeCollisionData(i.bucketInstanceId,w,d,F,j,B),0===e.crossTileID)throw new Error("symbolInstance.crossTileID can't be 0");if(0===i.bucketInstanceId)throw new Error("bucket.bucketInstanceId can't be 0");this.placements[e.crossTileID]=new Ue(L||S,P||E,z||i.justReloaded),r[e.crossTileID]=!0};if(M){if(0!==e.symbolInstanceStart)throw new Error("bucket.bucketInstanceId should be 0");let t=i.getSortedSymbolIndexes(this.transform.angle);for(let e=t.length-1;e>=0;--e){let r=t[e];I(i.symbolInstances.get(r),i.collisionArrays[r],r)}}else for(let t=e.symbolInstanceStart;t=0&&(e.text.placedSymbolArray.get(t).crossTileID=a>=0&&t!==a?0:n.crossTileID)}markUsedOrientation(e,r,n){let i=r===t.ah.horizontal||r===t.ah.horizontalOnly?r:0,a=r===t.ah.vertical?r:0,o=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];for(let t of o)e.text.placedSymbolArray.get(t).placedOrientation=i;n.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(n.verticalPlacedTextSymbolIndex).placedOrientation=a)}commit(e){this.commitTime=e,this.zoomAtLastRecencyCheck=this.transform.zoom;let t=this.prevPlacement,r=!1;this.prevZoomAdjustment=t?t.zoomAdjustment(this.transform.zoom):0;let n=t?t.symbolFadeChange(e):1,i=t?t.opacities:{},a=t?t.variableOffsets:{},o=t?t.placedOrientations:{};for(let e in this.placements){let t=this.placements[e],a=i[e];a?(this.opacities[e]=new Ne(a,n,t.text,t.icon),r=r||t.text!==a.text.placed||t.icon!==a.icon.placed):(this.opacities[e]=new Ne(null,n,t.text,t.icon,t.skipFade),r=r||t.text||t.icon)}for(let e in i){let t=i[e];if(!this.opacities[e]){let i=new Ne(t,n,!1,!1);i.isHidden()||(this.opacities[e]=i,r=r||t.text.placed||t.icon.placed)}}for(let e in a)this.variableOffsets[e]||!this.opacities[e]||this.opacities[e].isHidden()||(this.variableOffsets[e]=a[e]);for(let e in o)this.placedOrientations[e]||!this.opacities[e]||this.opacities[e].isHidden()||(this.placedOrientations[e]=o[e]);if(t&&void 0===t.lastPlacementChangeTime)throw new Error("Last placement time for previous placement is not defined");r?this.lastPlacementChangeTime=e:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)}updateLayerOpacities(e,t){let r={};for(let n of t){let t=n.getBucket(e);t&&n.latestFeatureIndex&&e.id===t.layerIds[0]&&this.updateBucketOpacities(t,n.tileID,r,n.collisionBoxArray)}}updateBucketOpacities(e,r,n,i){e.hasTextData()&&(e.text.opacityVertexArray.clear(),e.text.hasVisibleVertices=!1),e.hasIconData()&&(e.icon.opacityVertexArray.clear(),e.icon.hasVisibleVertices=!1),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();let a=e.layers[0],o=a.layout,s=new Ne(null,0,!1,!1,!0),l=o.get("text-allow-overlap"),c=o.get("icon-allow-overlap"),u=a._unevaluatedLayout.hasValue("text-variable-anchor")||a._unevaluatedLayout.hasValue("text-variable-anchor-offset"),h="map"===o.get("text-rotation-alignment"),f="map"===o.get("text-pitch-alignment"),p="none"!==o.get("icon-text-fit"),d=new Ne(null,0,l&&(c||!e.hasIconData()||o.get("icon-optional")),c&&(l||!e.hasTextData()||o.get("text-optional")),!0);!e.collisionArrays&&i&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(i);let m=(e,t,r)=>{for(let n=0;n0,v=this.placedOrientations[i.crossTileID],x=v===t.ah.vertical,_=v===t.ah.horizontal||v===t.ah.horizontalOnly;if(a>0||o>0){let t=tt(c.text);m(e.text,a,x?rt:t),m(e.text,o,_?rt:t);let r=c.text.isHidden();[i.rightJustifiedTextSymbolIndex,i.centerJustifiedTextSymbolIndex,i.leftJustifiedTextSymbolIndex].forEach((t=>{t>=0&&(e.text.placedSymbolArray.get(t).hidden=r||x?1:0)})),i.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(i.verticalPlacedTextSymbolIndex).hidden=r||_?1:0);let n=this.variableOffsets[i.crossTileID];n&&this.markUsedJustification(e,n.anchor,i,v);let s=this.placedOrientations[i.crossTileID];s&&(this.markUsedJustification(e,"left",i,s),this.markUsedOrientation(e,s,i))}if(y){let t=tt(c.icon),r=!(p&&i.verticalPlacedIconSymbolIndex&&x);i.placedIconSymbolIndex>=0&&(m(e.icon,i.numIconVertices,r?t:rt),e.icon.placedSymbolArray.get(i.placedIconSymbolIndex).hidden=c.icon.isHidden()),i.verticalPlacedIconSymbolIndex>=0&&(m(e.icon,i.numVerticalIconVertices,r?rt:t),e.icon.placedSymbolArray.get(i.verticalPlacedIconSymbolIndex).hidden=c.icon.isHidden())}let b=g&&g.has(r)?g.get(r):{text:null,icon:null};if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){let n=e.collisionArrays[r];if(n){let r=new t.P(0,0);if(n.textBox||n.verticalTextBox){let t=!0;if(u){let e=this.variableOffsets[l];e?(r=Ge(e.anchor,e.width,e.height,e.textOffset,e.textBoxScale),h&&r._rotate(f?this.transform.angle:-this.transform.angle)):t=!1}if(n.textBox||n.verticalTextBox){let i;n.textBox&&(i=x),n.verticalTextBox&&(i=_),Ze(e.textCollisionBox.collisionVertexArray,c.text.placed,!t||i,b.text,r.x,r.y)}}if(n.iconBox||n.verticalIconBox){let t,i=!(_||!n.verticalIconBox);n.iconBox&&(t=i),n.verticalIconBox&&(t=!i),Ze(e.iconCollisionBox.collisionVertexArray,c.icon.placed,t,b.icon,p?r.x:0,p?r.y:0)}}}}if(e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.text.opacityVertexArray.length!==e.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${e.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${e.text.layoutVertexArray.length}) / 4`);if(e.icon.opacityVertexArray.length!==e.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${e.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${e.icon.layoutVertexArray.length}) / 4`);if(e.bucketInstanceId in this.collisionCircleArrays){let t=this.collisionCircleArrays[e.bucketInstanceId];e.placementInvProjMatrix=t.invProjMatrix,e.placementViewportMatrix=t.viewportMatrix,e.collisionCircleArray=t.circles,delete this.collisionCircleArrays[e.bucketInstanceId]}}symbolFadeChange(e){return 0===this.fadeDuration?1:(e-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(e){return Math.max(0,(this.transform.zoom-e)/1.5)}hasTransitions(e){return this.stale||e-this.lastPlacementChangeTimee}setStale(){this.stale=!0}}function Ze(e,t,r,n,i,a){n&&0!==n.length||(n=[0,0,0,0]);let o=n[0]-Re,s=n[1]-Re,l=n[2]-Re,c=n[3]-Re;e.emplaceBack(t?1:0,r?1:0,i||0,a||0,o,s),e.emplaceBack(t?1:0,r?1:0,i||0,a||0,l,s),e.emplaceBack(t?1:0,r?1:0,i||0,a||0,l,c),e.emplaceBack(t?1:0,r?1:0,i||0,a||0,o,c)}let Ye=Math.pow(2,25),Xe=Math.pow(2,24),$e=Math.pow(2,17),Ke=Math.pow(2,16),Je=Math.pow(2,9),Qe=Math.pow(2,8),et=Math.pow(2,1);function tt(e){if(0===e.opacity&&!e.placed)return 0;if(1===e.opacity&&e.placed)return 4294967295;let t=e.placed?1:0,r=Math.floor(127*e.opacity);return r*Ye+t*Xe+r*$e+t*Ke+r*Je+t*Qe+r*et+t}let rt=0;function nt(){return{isOccluded:(e,t,r)=>!1,getPitchedTextCorrection:(e,t,r)=>1,get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(e,t,r,n){throw new Error("Not implemented.")},translatePosition:(e,t,r,n)=>function(e,t,r,n,i=!1){if(!r[0]&&!r[1])return[0,0];let a=i?"map"===n?e.angle:0:"viewport"===n?-e.angle:0;if(a){let e=Math.sin(a),t=Math.cos(a);r=[r[0]*t-r[1]*e,r[0]*e+r[1]*t]}return[i?r[0]:Be(t,r[0],e.zoom),i?r[1]:Be(t,r[1],e.zoom)]}(e,t,r,n),getCircleRadiusCorrection:e=>1}}class it{constructor(e){this._sortAcrossTiles="viewport-y"!==e.layout.get("symbol-z-order")&&!e.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(e,t,r,n,i){let a=this._bucketParts;for(;this._currentTileIndexe.sortKey-t.sortKey)));this._currentPartIndex!this._forceFullPlacement&&a.now()-n>2;for(;this._currentPlacementIndex>=0;){let n=t[e[this._currentPlacementIndex]],a=this.placement.collisionIndex.transform.zoom;if("symbol"===n.type&&(!n.minzoom||n.minzoom<=a)&&(!n.maxzoom||n.maxzoom>a)){if(this._inProgressLayer||(this._inProgressLayer=new it(n)),this._inProgressLayer.continuePlacement(r[n.source],this.placement,this._showCollisionBoxes,n,i))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(e){return this.placement.commit(e),this.placement}}let ot=512/t.X/2;class st{constructor(e,r,n){this.tileID=e,this.bucketInstanceId=n,this._symbolsByKey={};let i=new Map;for(let e=0;e({x:Math.floor(e.anchorX*ot),y:Math.floor(e.anchorY*ot)}))),crossTileIDs:r.map((e=>e.crossTileID))};if(n.positions.length>128){let e=new t.av(n.positions.length,16,Uint16Array);for(let{x:t,y:r}of n.positions)e.add(t,r);e.finish(),delete n.positions,n.index=e}this._symbolsByKey[e]=n}}getScaledCoordinates(e,r){let{x:n,y:i,z:a}=this.tileID.canonical,{x:o,y:s,z:l}=r.canonical,c=ot/Math.pow(2,l-a),u=(s*t.X+e.anchorY)*c,h=i*t.X*ot;return{x:Math.floor((o*t.X+e.anchorX)*c-n*t.X*ot),y:Math.floor(u-h)}}findMatches(e,t,r){let n=this.tileID.canonical.ze))}}class lt{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class ct{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(e){let t=Math.round((e-this.lng)/360);if(0!==t)for(let e in this.indexes){let r=this.indexes[e],n={};for(let e in r){let i=r[e];i.tileID=i.tileID.unwrapTo(i.tileID.wrap+t),n[i.tileID.key]=i}this.indexes[e]=n}this.lng=e}addBucket(e,t,r){if(this.indexes[e.overscaledZ]&&this.indexes[e.overscaledZ][e.key]){if(this.indexes[e.overscaledZ][e.key].bucketInstanceId===t.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(e.overscaledZ,this.indexes[e.overscaledZ][e.key])}for(let e=0;ee.overscaledZ)for(let r in i){let a=i[r];a.tileID.isChildOf(e)&&a.findMatches(t.symbolInstances,e,n)}else{let a=i[e.scaledTo(Number(r)).key];a&&a.findMatches(t.symbolInstances,e,n)}}for(let e=0;e{t[e]=!0}));for(let e in this.layerIndexes)t[e]||delete this.layerIndexes[e]}}let ht=(e,r)=>t.t(e,r&&r.filter((e=>"source.canvas"!==e.identifier))),ft=t.aw();class pt extends t.E{constructor(e,r={}){super(),this._rtlPluginLoaded=()=>{for(let e in this.sourceCaches){let t=this.sourceCaches[e].getSource().type;"vector"!==t&&"geojson"!==t||this.sourceCaches[e].reload()}},this.map=e,this.dispatcher=new U(N(),e._getMapId()),this.dispatcher.registerMessageHandler("GG",((e,t)=>this.getGlyphs(e,t))),this.dispatcher.registerMessageHandler("GI",((e,t)=>this.getImages(e,t))),this.imageManager=new k,this.imageManager.setEventedParent(this),this.glyphManager=new C(e._requestManager,r.localIdeographFontFamily),this.lineAtlas=new D(256,512),this.crossTileSymbolIndex=new ut,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()),le().on(ae,this._rtlPluginLoaded),this.on("data",(e=>{if("source"!==e.dataType||"metadata"!==e.sourceDataType)return;let t=this.sourceCaches[e.sourceId];if(!t)return;let r=t.getSource();if(r&&r.vectorLayerIds)for(let e in this._layers){let t=this._layers[e];t.source===r.id&&this._validateLayer(t)}}))}loadURL(e,r={},n){this.fire(new t.k("dataloading",{dataType:"style"})),r.validate="boolean"!=typeof r.validate||r.validate;let i=this.map._requestManager.transformRequest(e,"Style");this._loadStyleRequest=new AbortController;let a=this._loadStyleRequest;t.h(i,this._loadStyleRequest).then((e=>{this._loadStyleRequest=null,this._load(e.data,r,n)})).catch((e=>{this._loadStyleRequest=null,e&&!a.signal.aborted&&this.fire(new t.j(e))}))}loadJSON(e,r={},n){this.fire(new t.k("dataloading",{dataType:"style"})),this._frameRequest=new AbortController,a.frameAsync(this._frameRequest).then((()=>{this._frameRequest=null,r.validate=!1!==r.validate,this._load(e,r,n)})).catch((()=>{}))}loadEmpty(){this.fire(new t.k("dataloading",{dataType:"style"})),this._load(ft,{validate:!1})}_load(e,r,n){var i;let a=r.transformStyle?r.transformStyle(n,e):e;if(!r.validate||!ht(this,t.u(a))){this._loaded=!0,this.stylesheet=a;for(let e in a.sources)this.addSource(e,a.sources[e],{validate:!1});a.sprite?this._loadSprite(a.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(a.glyphs),this._createLayers(),this.light=new L(this.stylesheet.light),this.sky=new z(this.stylesheet.sky),this.map.setTerrain(null!==(i=this.stylesheet.terrain)&&void 0!==i?i:null),this.fire(new t.k("data",{dataType:"style"})),this.fire(new t.k("style.load"))}}_createLayers(){let e=t.az(this.stylesheet.layers);this.dispatcher.broadcast("SL",e),this._order=e.map((e=>e.id)),this._layers={},this._serializedLayers=null;for(let r of e){let e=t.aA(r);e.setEventedParent(this,{layer:{id:r.id}}),this._layers[r.id]=e}}_loadSprite(e,r=!1,n=void 0){let i;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(e,r,n,i){return t._(this,void 0,void 0,(function*(){let o=_(e),s=n>1?"@2x":"",l={},c={};for(let{id:e,url:n}of o){let a=r.transformRequest(b(n,s,".json"),"SpriteJSON");l[e]=t.h(a,i);let o=r.transformRequest(b(n,s,".png"),"SpriteImage");c[e]=p.getImage(o,i)}return yield Promise.all([...Object.values(l),...Object.values(c)]),function(e,r){return t._(this,void 0,void 0,(function*(){let t={};for(let n in e){t[n]={};let i=a.getImageCanvasContext((yield r[n]).data),o=(yield e[n]).data;for(let e in o){let{width:r,height:a,x:s,y:l,sdf:c,pixelRatio:u,stretchX:h,stretchY:f,content:p,textFitWidth:d,textFitHeight:m}=o[e];t[n][e]={data:null,pixelRatio:u,sdf:c,stretchX:h,stretchY:f,content:p,textFitWidth:d,textFitHeight:m,spriteData:{width:r,height:a,x:s,y:l,context:i}}}}return t}))}(l,c)}))}(e,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then((e=>{if(this._spriteRequest=null,e)for(let t in e){this._spritesImagesIds[t]=[];let n=this._spritesImagesIds[t]?this._spritesImagesIds[t].filter((t=>!(t in e))):[];for(let e of n)this.imageManager.removeImage(e),this._changedImages[e]=!0;for(let n in e[t]){let i="default"===t?n:`${t}:${n}`;this._spritesImagesIds[t].push(i),i in this.imageManager.images?this.imageManager.updateImage(i,e[t][n],!1):this.imageManager.addImage(i,e[t][n]),r&&(this._changedImages[i]=!0)}}})).catch((e=>{this._spriteRequest=null,i=e,this.fire(new t.j(i))})).finally((()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),r&&(this._changed=!0),this.dispatcher.broadcast("SI",this._availableImages),this.fire(new t.k("data",{dataType:"style"})),n&&n(i)}))}_unloadSprite(){for(let e of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(e),this._changedImages[e]=!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(e){let r=this.sourceCaches[e.source];if(!r)return;let n=e.sourceLayer;if(!n)return;let i=r.getSource();("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new t.j(new Error(`Source layer "${n}" does not exist on source "${i.id}" as specified by style layer "${e.id}".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let e in this.sourceCaches)if(!this.sourceCaches[e].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(e,r=!1){let n=this._serializedAllLayers();if(!e||0===e.length)return Object.values(r?t.aB(n):n);let i=[];for(let a of e)if(n[a]){let e=r?t.aB(n[a]):n[a];i.push(e)}return i}_serializedAllLayers(){let e=this._serializedLayers;if(e)return e;e=this._serializedLayers={};let t=Object.keys(this._layers);for(let r of t){let t=this._layers[r];"custom"!==t.type&&(e[r]=t.serialize())}return e}hasTransitions(){if(this.light&&this.light.hasTransition()||this.sky&&this.sky.hasTransition())return!0;for(let e in this.sourceCaches)if(this.sourceCaches[e].hasTransition())return!0;for(let e in this._layers)if(this._layers[e].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading.")}update(e){if(!this._loaded)return;let r=this._changed;if(r){let t=Object.keys(this._updatedLayers),r=Object.keys(this._removedLayers);(t.length||r.length)&&this._updateWorkerLayers(t,r);for(let e in this._updatedSources){let t=this._updatedSources[e];if("reload"===t)this._reloadSource(e);else{if("clear"!==t)throw new Error(`Invalid action ${t}`);this._clearSource(e)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let t in this._updatedPaintProps)this._layers[t].updateTransitions(e);this.light.updateTransitions(e),this.sky.updateTransitions(e),this._resetUpdates()}let n={};for(let e in this.sourceCaches){let t=this.sourceCaches[e];n[e]=t.used,t.used=!1}for(let t of this._order){let r=this._layers[t];r.recalculate(e,this._availableImages),!r.isHidden(e.zoom)&&r.source&&(this.sourceCaches[r.source].used=!0)}for(let e in n){let r=this.sourceCaches[e];!!n[e]!=!!r.used&&r.fire(new t.k("data",{sourceDataType:"visibility",dataType:"source",sourceId:e}))}this.light.recalculate(e),this.sky.recalculate(e),this.z=e.zoom,r&&this.fire(new t.k("data",{dataType:"style"}))}_updateTilesForChangedImages(){let e=Object.keys(this._changedImages);if(e.length){for(let t in this.sourceCaches)this.sourceCaches[t].reloadTilesForDependencies(["icons","patterns"],e);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies(["glyphs"],[""]);this._glyphsDidChange=!1}}_updateWorkerLayers(e,t){this.dispatcher.broadcast("UL",{layers:this._serializeByIds(e,!1),removedIds:t})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(e,r={}){var n;this._checkLoaded();let i=this.serialize();if(e=r.transformStyle?r.transformStyle(i,e):e,(null===(n=r.validate)||void 0===n||n)&&ht(this,t.u(e)))return!1;(e=t.aB(e)).layers=t.az(e.layers);let a=t.aC(i,e),o=this._getOperationsToPerform(a);if(o.unimplemented.length>0)throw new Error(`Unimplemented: ${o.unimplemented.join(", ")}.`);if(0===o.operations.length)return!1;for(let e of o.operations)e();return this.stylesheet=e,this._serializedLayers=null,!0}_getOperationsToPerform(e){let t=[],r=[];for(let n of e)switch(n.command){case"setCenter":case"setZoom":case"setBearing":case"setPitch":continue;case"addLayer":t.push((()=>this.addLayer.apply(this,n.args)));break;case"removeLayer":t.push((()=>this.removeLayer.apply(this,n.args)));break;case"setPaintProperty":t.push((()=>this.setPaintProperty.apply(this,n.args)));break;case"setLayoutProperty":t.push((()=>this.setLayoutProperty.apply(this,n.args)));break;case"setFilter":t.push((()=>this.setFilter.apply(this,n.args)));break;case"addSource":t.push((()=>this.addSource.apply(this,n.args)));break;case"removeSource":t.push((()=>this.removeSource.apply(this,n.args)));break;case"setLayerZoomRange":t.push((()=>this.setLayerZoomRange.apply(this,n.args)));break;case"setLight":t.push((()=>this.setLight.apply(this,n.args)));break;case"setGeoJSONSourceData":t.push((()=>this.setGeoJSONSourceData.apply(this,n.args)));break;case"setGlyphs":t.push((()=>this.setGlyphs.apply(this,n.args)));break;case"setSprite":t.push((()=>this.setSprite.apply(this,n.args)));break;case"setSky":t.push((()=>this.setSky.apply(this,n.args)));break;case"setTerrain":t.push((()=>this.map.setTerrain.apply(this,n.args)));break;case"setTransition":t.push((()=>{}));break;default:r.push(n.command)}return{operations:t,unimplemented:r}}addImage(e,r){if(this.getImage(e))return this.fire(new t.j(new Error(`An image named "${e}" already exists.`)));this.imageManager.addImage(e,r),this._afterImageUpdated(e)}updateImage(e,t){this.imageManager.updateImage(e,t)}getImage(e){return this.imageManager.getImage(e)}removeImage(e){if(!this.getImage(e))return this.fire(new t.j(new Error(`An image named "${e}" does not exist.`)));this.imageManager.removeImage(e),this._afterImageUpdated(e)}_afterImageUpdated(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!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(e,r,n={}){if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(`Source "${e}" already exists.`);if(!r.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(r).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(t.u.source,`sources.${e}`,r,null,n))return;this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);let i=this.sourceCaches[e]=new fe(e,r,this.dispatcher);i.style=this,i.setEventedParent(this,(()=>({isSourceLoaded:i.loaded(),source:i.serialize(),sourceId:e}))),i.onAdd(this.map),this._changed=!0}removeSource(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(let r in this._layers)if(this._layers[r].source===e)return this.fire(new t.j(new Error(`Source "${e}" cannot be removed while layer "${r}" is using it.`)));let r=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],r.fire(new t.k("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),r.setEventedParent(null),r.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(e,t){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error(`There is no source with this ID=${e}`);let r=this.sourceCaches[e].getSource();if("geojson"!==r.type)throw new Error(`geojsonSource.type is ${r.type}, which is !== 'geojson`);r.setData(t),this._changed=!0}getSource(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()}addLayer(e,r,n={}){this._checkLoaded();let i,a=e.id;if(this.getLayer(a))return void this.fire(new t.j(new Error(`Layer "${a}" already exists on this map.`)));if("custom"===e.type){if(ht(this,t.aD(e)))return;i=t.aA(e)}else{if("source"in e&&"object"==typeof e.source&&(this.addSource(a,e.source),e=t.aB(e),e=t.e(e,{source:a})),this._validate(t.u.layer,`layers.${a}`,e,{arrayIndex:-1},n))return;i=t.aA(e),this._validateLayer(i),i.setEventedParent(this,{layer:{id:a}})}let o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.j(new Error(`Cannot add layer "${a}" before non-existing layer "${r}".`)));else{if(this._order.splice(o,0,a),this._layerOrderChanged=!0,this._layers[a]=i,this._removedLayers[a]&&i.source&&"custom"!==i.type){let e=this._removedLayers[a];delete this._removedLayers[a],e.type!==i.type?this._updatedSources[i.source]="clear":(this._updatedSources[i.source]="reload",this.sourceCaches[i.source].pause())}this._updateLayer(i),i.onAdd&&i.onAdd(this.map)}}moveLayer(e,r){if(this._checkLoaded(),this._changed=!0,!this._layers[e])return void this.fire(new t.j(new Error(`The layer '${e}' does not exist in the map's style and cannot be moved.`)));if(e===r)return;let n=this._order.indexOf(e);this._order.splice(n,1);let i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new t.j(new Error(`Cannot move layer "${e}" before non-existing layer "${r}".`))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}removeLayer(e){this._checkLoaded();let r=this._layers[e];if(!r)return void this.fire(new t.j(new Error(`Cannot remove non-existing layer "${e}".`)));r.setEventedParent(null);let n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],this._serializedLayers&&delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],r.onRemove&&r.onRemove(this.map)}getLayer(e){return this._layers[e]}getLayersOrder(){return[...this._order]}hasLayer(e){return e in this._layers}setLayerZoomRange(e,r,n){this._checkLoaded();let i=this.getLayer(e);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new t.j(new Error(`Cannot set the zoom range of non-existing layer "${e}".`)))}setFilter(e,r,n={}){this._checkLoaded();let i=this.getLayer(e);if(i){if(!t.aE(i.filter,r))return null==r?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(t.u.filter,`layers.${i.id}.filter`,r,null,n)||(i.filter=t.aB(r),this._updateLayer(i)))}else this.fire(new t.j(new Error(`Cannot filter non-existing layer "${e}".`)))}getFilter(e){return t.aB(this.getLayer(e).filter)}setLayoutProperty(e,r,n,i={}){this._checkLoaded();let a=this.getLayer(e);a?t.aE(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new t.j(new Error(`Cannot style non-existing layer "${e}".`)))}getLayoutProperty(e,r){let n=this.getLayer(e);if(n)return n.getLayoutProperty(r);this.fire(new t.j(new Error(`Cannot get style of non-existing layer "${e}".`)))}setPaintProperty(e,r,n,i={}){this._checkLoaded();let a=this.getLayer(e);a?t.aE(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[e]=!0,this._serializedLayers=null):this.fire(new t.j(new Error(`Cannot style non-existing layer "${e}".`)))}getPaintProperty(e,t){return this.getLayer(e).getPaintProperty(t)}setFeatureState(e,r){this._checkLoaded();let n=e.source,i=e.sourceLayer,a=this.sourceCaches[n];if(void 0===a)return void this.fire(new t.j(new Error(`The source '${n}' does not exist in the map's style.`)));let o=a.getSource().type;"geojson"===o&&i?this.fire(new t.j(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==o||i?(void 0===e.id&&this.fire(new t.j(new Error("The feature id parameter must be provided."))),a.setFeatureState(i,e.id,r)):this.fire(new t.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(e,r){this._checkLoaded();let n=e.source,i=this.sourceCaches[n];if(void 0===i)return void this.fire(new t.j(new Error(`The source '${n}' does not exist in the map's style.`)));let a=i.getSource().type,o="vector"===a?e.sourceLayer:void 0;"vector"!==a||o?r&&"string"!=typeof e.id&&"number"!=typeof e.id?this.fire(new t.j(new Error("A feature id is required to remove its specific state property."))):i.removeFeatureState(o,e.id,r):this.fire(new t.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(e){this._checkLoaded();let r=e.source,n=e.sourceLayer,i=this.sourceCaches[r];if(void 0!==i)return"vector"!==i.getSource().type||n?(void 0===e.id&&this.fire(new t.j(new Error("The feature id parameter must be provided."))),i.getFeatureState(n,e.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 '${r}' 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 e=t.aF(this.sourceCaches,(e=>e.serialize())),r=this._serializeByIds(this._order,!0),n=this.map.getTerrain()||void 0,i=this.stylesheet;return t.aG({version:i.version,name:i.name,metadata:i.metadata,light:i.light,sky:i.sky,center:i.center,zoom:i.zoom,bearing:i.bearing,pitch:i.pitch,sprite:i.sprite,glyphs:i.glyphs,transition:i.transition,sources:e,layers:r,terrain:n},(e=>void 0!==e))}_updateLayer(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&"raster"!==this.sourceCaches[e.source].getSource().type&&(this._updatedSources[e.source]="reload",this.sourceCaches[e.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(e){let t=e=>"fill-extrusion"===this._layers[e].type,r={},n=[];for(let i=this._order.length-1;i>=0;i--){let a=this._order[i];if(t(a)){r[a]=i;for(let t of e){let e=t[a];if(e)for(let t of e)n.push(t)}}}n.sort(((e,t)=>t.intersectionZ-e.intersectionZ));let i=[];for(let a=this._order.length-1;a>=0;a--){let o=this._order[a];if(t(o))for(let e=n.length-1;e>=0;e--){let t=n[e].feature;if(r[t.layer.id]{let n=r.featureSortOrder;if(n){let r=n.indexOf(e.featureIndex);return n.indexOf(t.featureIndex)-r}return t.featureIndex-e.featureIndex}));for(let e of i)t.push(e)}}for(let t in s)s[t].forEach((n=>{let i=n.feature,a=r[e[t].source].getFeatureState(i.layer["source-layer"],i.id);i.source=i.layer.source,i.layer["source-layer"]&&(i.sourceLayer=i.layer["source-layer"]),i.state=a}));return s}(this._layers,o,this.sourceCaches,e,r,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(a)}querySourceFeatures(e,r){r&&r.filter&&this._validate(t.u.filter,"querySourceFeatures.filter",r.filter,null,r);let n=this.sourceCaches[e];return n?function(e,t){let r=e.getRenderableIds().map((t=>e.getTileByID(t))),n=[],i={};for(let e=0;ee.getTileByID(t))).sort(((e,t)=>t.tileID.overscaledZ-e.tileID.overscaledZ||(e.tileID.isLessThan(t.tileID)?-1:1)))}let n=this.crossTileSymbolIndex.addLayer(r,l[r.source],e.center.lng);o=o||n}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((i=i||this._layerOrderChanged||0===r)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(a.now(),e.zoom))&&(this.pauseablePlacement=new at(e,this.map.terrain,this._order,i,t,r,n,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(a.now()),s=!0),o&&this.pauseablePlacement.placement.setStale()),s||o)for(let e of this._order){let t=this._layers[e];"symbol"===t.type&&this.placement.updateLayerOpacities(t,l[t.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(a.now())}_releaseSymbolFadeTiles(){for(let e in this.sourceCaches)this.sourceCaches[e].releaseSymbolFadeTiles()}getImages(e,r){return t._(this,void 0,void 0,(function*(){let e=yield this.imageManager.getImages(r.icons);this._updateTilesForChangedImages();let t=this.sourceCaches[r.source];return t&&t.setDependencies(r.tileID.key,r.type,r.icons),e}))}getGlyphs(e,r){return t._(this,void 0,void 0,(function*(){let e=yield this.glyphManager.getGlyphs(r.stacks),t=this.sourceCaches[r.source];return t&&t.setDependencies(r.tileID.key,r.type,[""]),e}))}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(e,r={}){this._checkLoaded(),e&&this._validate(t.u.glyphs,"glyphs",e,null,r)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=e,this.glyphManager.entries={},this.glyphManager.setURL(e))}addSprite(e,r,n={},i){this._checkLoaded();let a=[{id:e,url:r}],o=[..._(this.stylesheet.sprite),...a];this._validate(t.u.sprite,"sprite",o,null,n)||(this.stylesheet.sprite=o,this._loadSprite(a,!0,i))}removeSprite(e){this._checkLoaded();let r=_(this.stylesheet.sprite);if(r.find((t=>t.id===e))){if(this._spritesImagesIds[e])for(let t of this._spritesImagesIds[e])this.imageManager.removeImage(t),this._changedImages[t]=!0;r.splice(r.findIndex((t=>t.id===e)),1),this.stylesheet.sprite=r.length>0?r:void 0,delete this._spritesImagesIds[e],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 "${e}" doesn't exists on this map.`)))}getSprite(){return _(this.stylesheet.sprite)}setSprite(e,r={},n){this._checkLoaded(),e&&this._validate(t.u.sprite,"sprite",e,null,r)||(this.stylesheet.sprite=e,e?this._loadSprite(e,!0,n):(this._unloadSprite(),n&&n(null)))}}var dt=t.Y([{name:"a_pos",type:"Int16",components:2}]);let mt={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(e,t){let r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n=t.match(/attribute ([\w]+) ([\w]+)/g),i=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=a?a.concat(i):i,s={};return{fragmentSource:e=e.replace(r,((e,t,r,n,i)=>(s[i]=!0,"define"===t?`\n#ifndef HAS_UNIFORM_u_${i}\nvarying ${r} ${n} ${i};\n#else\nuniform ${r} ${n} u_${i};\n#endif\n`:`\n#ifdef HAS_UNIFORM_u_${i}\n ${r} ${n} ${i} = u_${i};\n#endif\n`))),vertexSource:t=t.replace(r,((e,t,r,n,i)=>{let a="float"===n?"vec2":"vec4",o=i.match(/color/)?"color":a;return s[i]?"define"===t?`\n#ifndef HAS_UNIFORM_u_${i}\nuniform lowp float u_${i}_t;\nattribute ${r} ${a} a_${i};\nvarying ${r} ${n} ${i};\n#else\nuniform ${r} ${n} u_${i};\n#endif\n`:"vec4"===o?`\n#ifndef HAS_UNIFORM_u_${i}\n ${i} = a_${i};\n#else\n ${r} ${n} ${i} = u_${i};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${i}\n ${i} = unpack_mix_${o}(a_${i}, u_${i}_t);\n#else\n ${r} ${n} ${i} = u_${i};\n#endif\n`:"define"===t?`\n#ifndef HAS_UNIFORM_u_${i}\nuniform lowp float u_${i}_t;\nattribute ${r} ${a} a_${i};\n#else\nuniform ${r} ${n} u_${i};\n#endif\n`:"vec4"===o?`\n#ifndef HAS_UNIFORM_u_${i}\n ${r} ${n} ${i} = a_${i};\n#else\n ${r} ${n} ${i} = u_${i};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${i}\n ${r} ${n} ${i} = unpack_mix_${o}(a_${i}, u_${i}_t);\n#else\n ${r} ${n} ${i} = u_${i};\n#endif\n`})),staticAttributes:n,staticUniforms:o}}class yt{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(e,t,r,n,i,a,o,s,l){this.context=e;let c=this.boundPaintVertexBuffers.length!==n.length;for(let e=0;!c&&e({u_matrix:e,u_texture:0,u_ele_delta:r,u_fog_matrix:n,u_fog_color:i?i.properties.get("fog-color"):t.aM.white,u_fog_ground_blend:i?i.properties.get("fog-ground-blend"):1,u_fog_ground_blend_opacity:i?i.calculateFogBlendOpacity(a):0,u_horizon_color:i?i.properties.get("horizon-color"):t.aM.white,u_horizon_fog_blend:i?i.properties.get("horizon-fog-blend"):1});function xt(e){let t=[];for(let r=0;r>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}let wt=(e,r,n,i)=>{let a=r.style.light,o=a.properties.get("position"),s=[o.x,o.y,o.z],l=(c=new t.A(9),t.A!=Float32Array&&(c[1]=0,c[2]=0,c[3]=0,c[5]=0,c[6]=0,c[7]=0),c[0]=1,c[4]=1,c[8]=1,c);var c;"viewport"===a.properties.get("anchor")&&function(e,t){var r=Math.sin(t),n=Math.cos(t);e[0]=n,e[1]=r,e[2]=0,e[3]=-r,e[4]=n,e[5]=0,e[6]=0,e[7]=0,e[8]=1}(l,-r.transform.angle),function(e,t,r){var n=t[0],i=t[1],a=t[2];e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8]}(s,s,l);let u=a.properties.get("color");return{u_matrix:e,u_lightpos:s,u_lightintensity:a.properties.get("intensity"),u_lightcolor:[u.r,u.g,u.b],u_vertical_gradient:+n,u_opacity:i}},Tt=(e,r,n,i,a,o,s)=>t.e(wt(e,r,n,i),bt(o,r,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8}),kt=e=>({u_matrix:e}),At=(e,r,n,i)=>t.e(kt(e),bt(n,r,i)),Mt=(e,t)=>({u_matrix:e,u_world:t}),St=(e,r,n,i,a)=>t.e(At(e,r,n,i),{u_world:a}),Et=(e,t,r,n)=>{let i,a,o=e.transform;if("map"===n.paint.get("circle-pitch-alignment")){let e=Be(r,1,o.zoom);i=!0,a=[e,e]}else i=!1,a=o.pixelsToGLUnits;return{u_camera_to_center_distance:o.cameraToCenterDistance,u_scale_with_map:+("map"===n.paint.get("circle-pitch-scale")),u_matrix:e.translatePosMatrix(t.posMatrix,r,n.paint.get("circle-translate"),n.paint.get("circle-translate-anchor")),u_pitch_with_map:+i,u_device_pixel_ratio:e.pixelRatio,u_extrude_scale:a}},Ct=(e,t,r)=>({u_matrix:e,u_inv_matrix:t,u_camera_to_center_distance:r.cameraToCenterDistance,u_viewport_size:[r.width,r.height]}),It=(e,t,r=1)=>({u_matrix:e,u_color:t,u_overlay:0,u_overlay_scale:r}),Lt=e=>({u_matrix:e}),Pt=(e,t,r,n)=>({u_matrix:e,u_extrude_scale:Be(t,1,r),u_intensity:n}),zt=(e,r,n,i)=>{let a=t.H();t.aP(a,0,e.width,e.height,0,0,1);let o=e.context.gl;return{u_matrix:a,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:n,u_color_ramp:i,u_opacity:r.paint.get("heatmap-opacity")}};function Dt(e,r){let n=Math.pow(2,r.canonical.z),i=r.canonical.y;return[new t.Z(0,i/n).toLngLat().lat,new t.Z(0,(i+1)/n).toLngLat().lat]}let Ot=(e,t,r,n)=>{let i=e.transform;return{u_matrix:Nt(e,t,r,n),u_ratio:1/Be(t,1,i.zoom),u_device_pixel_ratio:e.pixelRatio,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},Rt=(e,r,n,i,a)=>t.e(Ot(e,r,n,a),{u_image:0,u_image_height:i}),Ft=(e,t,r,n,i)=>{let a=e.transform,o=jt(t,a);return{u_matrix:Nt(e,t,r,i),u_texsize:t.imageAtlasTexture.size,u_ratio:1/Be(t,1,a.zoom),u_device_pixel_ratio:e.pixelRatio,u_image:0,u_scale:[o,n.fromScale,n.toScale],u_fade:n.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Bt=(e,r,n,i,a,o)=>{let s=e.lineAtlas,l=jt(r,e.transform),c="round"===n.layout.get("line-cap"),u=s.getDash(i.from,c),h=s.getDash(i.to,c),f=u.width*a.fromScale,p=h.width*a.toScale;return t.e(Ot(e,r,n,o),{u_patternscale_a:[l/f,-u.height/2],u_patternscale_b:[l/p,-h.height/2],u_sdfgamma:s.width/(256*Math.min(f,p)*e.pixelRatio)/2,u_image:0,u_tex_y_a:u.y,u_tex_y_b:h.y,u_mix:a.t})};function jt(e,t){return 1/Be(e,1,t.tileZoom)}function Nt(e,t,r,n){return e.translatePosMatrix(n?n.posMatrix:t.tileID.posMatrix,t,r.paint.get("line-translate"),r.paint.get("line-translate-anchor"))}let Ut=(e,t,r,n,i)=>{return{u_matrix:e,u_tl_parent:t,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*i.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:i.paint.get("raster-brightness-min"),u_brightness_high:i.paint.get("raster-brightness-max"),u_saturation_factor:(o=i.paint.get("raster-saturation"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(a=i.paint.get("raster-contrast"),a>0?1/(1-a):1+a),u_spin_weights:Vt(i.paint.get("raster-hue-rotate"))};var a,o};function Vt(e){e*=Math.PI/180;let t=Math.sin(e),r=Math.cos(e);return[(2*r+1)/3,(-Math.sqrt(3)*t-r+1)/3,(Math.sqrt(3)*t-r+1)/3]}let qt=(e,t,r,n,i,a,o,s,l,c,u,h,f,p)=>{let d=o.transform;return{u_is_size_zoom_constant:+("constant"===e||"source"===e),u_is_size_feature_constant:+("constant"===e||"camera"===e),u_size_t:t?t.uSizeT:0,u_size:t?t.uSize:0,u_camera_to_center_distance:d.cameraToCenterDistance,u_pitch:d.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:d.width/d.height,u_fade_change:o.options.fadeDuration?o.symbolFadeChange:1,u_matrix:s,u_label_plane_matrix:l,u_coord_matrix:c,u_is_text:+h,u_pitch_with_map:+n,u_is_along_line:i,u_is_variable_anchor:a,u_texsize:f,u_texture:0,u_translation:u,u_pitched_scale:p}},Ht=(e,r,n,i,a,o,s,l,c,u,h,f,p,d,m)=>{let g=s.transform;return t.e(qt(e,r,n,i,a,o,s,l,c,u,h,f,p,m),{u_gamma_scale:i?Math.cos(g._pitch)*g.cameraToCenterDistance:1,u_device_pixel_ratio:s.pixelRatio,u_is_halo:+d})},Gt=(e,r,n,i,a,o,s,l,c,u,h,f,p,d)=>t.e(Ht(e,r,n,i,a,o,s,l,c,u,h,!0,f,!0,d),{u_texsize_icon:p,u_texture_icon:1}),Wt=(e,t,r)=>({u_matrix:e,u_opacity:t,u_color:r}),Zt=(e,r,n,i,a,o)=>t.e(function(e,t,r,n){let i=r.imageManager.getPattern(e.from.toString()),a=r.imageManager.getPattern(e.to.toString()),{width:o,height:s}=r.imageManager.getPixelSize(),l=Math.pow(2,n.tileID.overscaledZ),c=n.tileSize*Math.pow(2,r.transform.tileZoom)/l,u=c*(n.tileID.canonical.x+n.tileID.wrap*l),h=c*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[o,s],u_mix:t.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:t.fromScale,u_scale_b:t.toScale,u_tile_units_to_pixels:1/Be(n,1,r.transform.tileZoom),u_pixel_coord_upper:[u>>16,h>>16],u_pixel_coord_lower:[65535&u,65535&h]}}(i,o,n,a),{u_matrix:e,u_opacity:r}),Yt={fillExtrusion:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_lightpos:new t.aN(e,r.u_lightpos),u_lightintensity:new t.aI(e,r.u_lightintensity),u_lightcolor:new t.aN(e,r.u_lightcolor),u_vertical_gradient:new t.aI(e,r.u_vertical_gradient),u_opacity:new t.aI(e,r.u_opacity)}),fillExtrusionPattern:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_lightpos:new t.aN(e,r.u_lightpos),u_lightintensity:new t.aI(e,r.u_lightintensity),u_lightcolor:new t.aN(e,r.u_lightcolor),u_vertical_gradient:new t.aI(e,r.u_vertical_gradient),u_height_factor:new t.aI(e,r.u_height_factor),u_image:new t.aH(e,r.u_image),u_texsize:new t.aO(e,r.u_texsize),u_pixel_coord_upper:new t.aO(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(e,r.u_pixel_coord_lower),u_scale:new t.aN(e,r.u_scale),u_fade:new t.aI(e,r.u_fade),u_opacity:new t.aI(e,r.u_opacity)}),fill:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix)}),fillPattern:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_image:new t.aH(e,r.u_image),u_texsize:new t.aO(e,r.u_texsize),u_pixel_coord_upper:new t.aO(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(e,r.u_pixel_coord_lower),u_scale:new t.aN(e,r.u_scale),u_fade:new t.aI(e,r.u_fade)}),fillOutline:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_world:new t.aO(e,r.u_world)}),fillOutlinePattern:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_world:new t.aO(e,r.u_world),u_image:new t.aH(e,r.u_image),u_texsize:new t.aO(e,r.u_texsize),u_pixel_coord_upper:new t.aO(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(e,r.u_pixel_coord_lower),u_scale:new t.aN(e,r.u_scale),u_fade:new t.aI(e,r.u_fade)}),circle:(e,r)=>({u_camera_to_center_distance:new t.aI(e,r.u_camera_to_center_distance),u_scale_with_map:new t.aH(e,r.u_scale_with_map),u_pitch_with_map:new t.aH(e,r.u_pitch_with_map),u_extrude_scale:new t.aO(e,r.u_extrude_scale),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_matrix:new t.aJ(e,r.u_matrix)}),collisionBox:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_pixel_extrude_scale:new t.aO(e,r.u_pixel_extrude_scale)}),collisionCircle:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_inv_matrix:new t.aJ(e,r.u_inv_matrix),u_camera_to_center_distance:new t.aI(e,r.u_camera_to_center_distance),u_viewport_size:new t.aO(e,r.u_viewport_size)}),debug:(e,r)=>({u_color:new t.aL(e,r.u_color),u_matrix:new t.aJ(e,r.u_matrix),u_overlay:new t.aH(e,r.u_overlay),u_overlay_scale:new t.aI(e,r.u_overlay_scale)}),clippingMask:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix)}),heatmap:(e,r)=>({u_extrude_scale:new t.aI(e,r.u_extrude_scale),u_intensity:new t.aI(e,r.u_intensity),u_matrix:new t.aJ(e,r.u_matrix)}),heatmapTexture:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_world:new t.aO(e,r.u_world),u_image:new t.aH(e,r.u_image),u_color_ramp:new t.aH(e,r.u_color_ramp),u_opacity:new t.aI(e,r.u_opacity)}),hillshade:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_image:new t.aH(e,r.u_image),u_latrange:new t.aO(e,r.u_latrange),u_light:new t.aO(e,r.u_light),u_shadow:new t.aL(e,r.u_shadow),u_highlight:new t.aL(e,r.u_highlight),u_accent:new t.aL(e,r.u_accent)}),hillshadePrepare:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_image:new t.aH(e,r.u_image),u_dimension:new t.aO(e,r.u_dimension),u_zoom:new t.aI(e,r.u_zoom),u_unpack:new t.aK(e,r.u_unpack)}),line:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_ratio:new t.aI(e,r.u_ratio),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.aO(e,r.u_units_to_pixels)}),lineGradient:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_ratio:new t.aI(e,r.u_ratio),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.aO(e,r.u_units_to_pixels),u_image:new t.aH(e,r.u_image),u_image_height:new t.aI(e,r.u_image_height)}),linePattern:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_texsize:new t.aO(e,r.u_texsize),u_ratio:new t.aI(e,r.u_ratio),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_image:new t.aH(e,r.u_image),u_units_to_pixels:new t.aO(e,r.u_units_to_pixels),u_scale:new t.aN(e,r.u_scale),u_fade:new t.aI(e,r.u_fade)}),lineSDF:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_ratio:new t.aI(e,r.u_ratio),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.aO(e,r.u_units_to_pixels),u_patternscale_a:new t.aO(e,r.u_patternscale_a),u_patternscale_b:new t.aO(e,r.u_patternscale_b),u_sdfgamma:new t.aI(e,r.u_sdfgamma),u_image:new t.aH(e,r.u_image),u_tex_y_a:new t.aI(e,r.u_tex_y_a),u_tex_y_b:new t.aI(e,r.u_tex_y_b),u_mix:new t.aI(e,r.u_mix)}),raster:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_tl_parent:new t.aO(e,r.u_tl_parent),u_scale_parent:new t.aI(e,r.u_scale_parent),u_buffer_scale:new t.aI(e,r.u_buffer_scale),u_fade_t:new t.aI(e,r.u_fade_t),u_opacity:new t.aI(e,r.u_opacity),u_image0:new t.aH(e,r.u_image0),u_image1:new t.aH(e,r.u_image1),u_brightness_low:new t.aI(e,r.u_brightness_low),u_brightness_high:new t.aI(e,r.u_brightness_high),u_saturation_factor:new t.aI(e,r.u_saturation_factor),u_contrast_factor:new t.aI(e,r.u_contrast_factor),u_spin_weights:new t.aN(e,r.u_spin_weights)}),symbolIcon:(e,r)=>({u_is_size_zoom_constant:new t.aH(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aH(e,r.u_is_size_feature_constant),u_size_t:new t.aI(e,r.u_size_t),u_size:new t.aI(e,r.u_size),u_camera_to_center_distance:new t.aI(e,r.u_camera_to_center_distance),u_pitch:new t.aI(e,r.u_pitch),u_rotate_symbol:new t.aH(e,r.u_rotate_symbol),u_aspect_ratio:new t.aI(e,r.u_aspect_ratio),u_fade_change:new t.aI(e,r.u_fade_change),u_matrix:new t.aJ(e,r.u_matrix),u_label_plane_matrix:new t.aJ(e,r.u_label_plane_matrix),u_coord_matrix:new t.aJ(e,r.u_coord_matrix),u_is_text:new t.aH(e,r.u_is_text),u_pitch_with_map:new t.aH(e,r.u_pitch_with_map),u_is_along_line:new t.aH(e,r.u_is_along_line),u_is_variable_anchor:new t.aH(e,r.u_is_variable_anchor),u_texsize:new t.aO(e,r.u_texsize),u_texture:new t.aH(e,r.u_texture),u_translation:new t.aO(e,r.u_translation),u_pitched_scale:new t.aI(e,r.u_pitched_scale)}),symbolSDF:(e,r)=>({u_is_size_zoom_constant:new t.aH(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aH(e,r.u_is_size_feature_constant),u_size_t:new t.aI(e,r.u_size_t),u_size:new t.aI(e,r.u_size),u_camera_to_center_distance:new t.aI(e,r.u_camera_to_center_distance),u_pitch:new t.aI(e,r.u_pitch),u_rotate_symbol:new t.aH(e,r.u_rotate_symbol),u_aspect_ratio:new t.aI(e,r.u_aspect_ratio),u_fade_change:new t.aI(e,r.u_fade_change),u_matrix:new t.aJ(e,r.u_matrix),u_label_plane_matrix:new t.aJ(e,r.u_label_plane_matrix),u_coord_matrix:new t.aJ(e,r.u_coord_matrix),u_is_text:new t.aH(e,r.u_is_text),u_pitch_with_map:new t.aH(e,r.u_pitch_with_map),u_is_along_line:new t.aH(e,r.u_is_along_line),u_is_variable_anchor:new t.aH(e,r.u_is_variable_anchor),u_texsize:new t.aO(e,r.u_texsize),u_texture:new t.aH(e,r.u_texture),u_gamma_scale:new t.aI(e,r.u_gamma_scale),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_is_halo:new t.aH(e,r.u_is_halo),u_translation:new t.aO(e,r.u_translation),u_pitched_scale:new t.aI(e,r.u_pitched_scale)}),symbolTextAndIcon:(e,r)=>({u_is_size_zoom_constant:new t.aH(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aH(e,r.u_is_size_feature_constant),u_size_t:new t.aI(e,r.u_size_t),u_size:new t.aI(e,r.u_size),u_camera_to_center_distance:new t.aI(e,r.u_camera_to_center_distance),u_pitch:new t.aI(e,r.u_pitch),u_rotate_symbol:new t.aH(e,r.u_rotate_symbol),u_aspect_ratio:new t.aI(e,r.u_aspect_ratio),u_fade_change:new t.aI(e,r.u_fade_change),u_matrix:new t.aJ(e,r.u_matrix),u_label_plane_matrix:new t.aJ(e,r.u_label_plane_matrix),u_coord_matrix:new t.aJ(e,r.u_coord_matrix),u_is_text:new t.aH(e,r.u_is_text),u_pitch_with_map:new t.aH(e,r.u_pitch_with_map),u_is_along_line:new t.aH(e,r.u_is_along_line),u_is_variable_anchor:new t.aH(e,r.u_is_variable_anchor),u_texsize:new t.aO(e,r.u_texsize),u_texsize_icon:new t.aO(e,r.u_texsize_icon),u_texture:new t.aH(e,r.u_texture),u_texture_icon:new t.aH(e,r.u_texture_icon),u_gamma_scale:new t.aI(e,r.u_gamma_scale),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_is_halo:new t.aH(e,r.u_is_halo),u_translation:new t.aO(e,r.u_translation),u_pitched_scale:new t.aI(e,r.u_pitched_scale)}),background:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_opacity:new t.aI(e,r.u_opacity),u_color:new t.aL(e,r.u_color)}),backgroundPattern:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_opacity:new t.aI(e,r.u_opacity),u_image:new t.aH(e,r.u_image),u_pattern_tl_a:new t.aO(e,r.u_pattern_tl_a),u_pattern_br_a:new t.aO(e,r.u_pattern_br_a),u_pattern_tl_b:new t.aO(e,r.u_pattern_tl_b),u_pattern_br_b:new t.aO(e,r.u_pattern_br_b),u_texsize:new t.aO(e,r.u_texsize),u_mix:new t.aI(e,r.u_mix),u_pattern_size_a:new t.aO(e,r.u_pattern_size_a),u_pattern_size_b:new t.aO(e,r.u_pattern_size_b),u_scale_a:new t.aI(e,r.u_scale_a),u_scale_b:new t.aI(e,r.u_scale_b),u_pixel_coord_upper:new t.aO(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(e,r.u_pixel_coord_lower),u_tile_units_to_pixels:new t.aI(e,r.u_tile_units_to_pixels)}),terrain:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_texture:new t.aH(e,r.u_texture),u_ele_delta:new t.aI(e,r.u_ele_delta),u_fog_matrix:new t.aJ(e,r.u_fog_matrix),u_fog_color:new t.aL(e,r.u_fog_color),u_fog_ground_blend:new t.aI(e,r.u_fog_ground_blend),u_fog_ground_blend_opacity:new t.aI(e,r.u_fog_ground_blend_opacity),u_horizon_color:new t.aL(e,r.u_horizon_color),u_horizon_fog_blend:new t.aI(e,r.u_horizon_fog_blend)}),terrainDepth:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_ele_delta:new t.aI(e,r.u_ele_delta)}),terrainCoords:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_texture:new t.aH(e,r.u_texture),u_terrain_coords_id:new t.aI(e,r.u_terrain_coords_id),u_ele_delta:new t.aI(e,r.u_ele_delta)}),sky:(e,r)=>({u_sky_color:new t.aL(e,r.u_sky_color),u_horizon_color:new t.aL(e,r.u_horizon_color),u_horizon:new t.aI(e,r.u_horizon),u_sky_horizon_blend:new t.aI(e,r.u_sky_horizon_blend)})};class Xt{constructor(e,t,r){this.context=e;let n=e.gl;this.buffer=n.createBuffer(),this.dynamicDraw=!!r,this.context.unbindVAO(),e.bindElementBuffer.set(this.buffer),n.bufferData(n.ELEMENT_ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete t.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(e){let t=this.context.gl;if(!this.dynamicDraw)throw new Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),t.bufferSubData(t.ELEMENT_ARRAY_BUFFER,0,e.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let $t={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class Kt{constructor(e,t,r,n){this.length=t.length,this.attributes=r,this.itemSize=t.bytesPerElement,this.dynamicDraw=n,this.context=e;let i=e.gl;this.buffer=i.createBuffer(),e.bindVertexBuffer.set(this.buffer),i.bufferData(i.ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete t.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(e){if(e.length!==this.length)throw new Error(`Length of new data is ${e.length}, which doesn't match current length of ${this.length}`);let t=this.context.gl;this.bind(),t.bufferSubData(t.ARRAY_BUFFER,0,e.arrayBuffer)}enableAttributes(e,t){for(let r=0;r0){let r=t.H();t.aQ(r,m.placementInvProjMatrix,e.transform.glCoordMatrix),t.aQ(r,r,m.placementViewportMatrix),c.push({circleArray:y,circleOffset:h,transform:d.posMatrix,invTransform:r,coord:d}),u+=y.length/4,h=u}g&&l.draw(o,s.LINES,jr.disabled,Vr.disabled,e.colorModeForRenderPass(),qr.disabled,{u_matrix:d.posMatrix,u_pixel_extrude_scale:[1/(f=e.transform).width,1/f.height]},e.style.map.terrain&&e.style.map.terrain.getTerrainData(d),n.id,g.layoutVertexBuffer,g.indexBuffer,g.segments,null,e.transform.zoom,null,null,g.collisionVertexBuffer)}var f;if(!a||!c.length)return;let p=e.useProgram("collisionCircle"),d=new t.aR;d.resize(4*u),d._trim();let m=0;for(let e of c)for(let t=0;t=0&&(v[x.associatedIconIndex]={shiftedAnchor:I,angle:L})}else De(x.numGlyphs,g)}if(u){y.clear();let r=e.icon.placedSymbolArray;for(let e=0;ee.style.map.terrain.getElevation(l,t,r):null,r="map"===n.layout.get("text-rotation-alignment");Te(c,l.posMatrix,e,a,N,V,v,u,r,g,l.toUnwrapped(),m.width,m.height,q,t)}let W,Z=l.posMatrix,Y=a&&A||G,X=x||Y?Gr:N,$=U,K=I&&0!==n.paint.get(a?"text-halo-width":"icon-halo-width").constantOr(1);W=I?c.iconsInText?Gt(L.kind,D,_,v,x,Y,e,Z,X,$,q,f,R,S):Ht(L.kind,D,_,v,x,Y,e,Z,X,$,q,a,f,!0,S):qt(L.kind,D,_,v,x,Y,e,Z,X,$,q,a,f,S);let J={program:z,buffers:h,uniformValues:W,atlasTexture:p,atlasTextureIcon:F,atlasInterpolation:k,atlasInterpolationIcon:E,isSDF:I,hasHalo:K};if(w&&c.canOverlap){T=!0;let e=h.segments.get();for(let r of e)M.push({segments:new t.a0([r]),sortKey:r.sortKey,state:J,terrainData:O})}else M.push({segments:h.segments,sortKey:0,state:J,terrainData:O})}T&&M.sort(((e,t)=>e.sortKey-t.sortKey));for(let t of M){let r=t.state;if(p.activeTexture.set(d.TEXTURE0),r.atlasTexture.bind(r.atlasInterpolation,d.CLAMP_TO_EDGE),r.atlasTextureIcon&&(p.activeTexture.set(d.TEXTURE1),r.atlasTextureIcon&&r.atlasTextureIcon.bind(r.atlasInterpolationIcon,d.CLAMP_TO_EDGE)),r.isSDF){let i=r.uniformValues;r.hasHalo&&(i.u_is_halo=1,Kr(r.buffers,t.segments,n,e,r.program,k,h,f,i,t.terrainData)),i.u_is_halo=0}Kr(r.buffers,t.segments,n,e,r.program,k,h,f,r.uniformValues,t.terrainData)}}function Kr(e,t,r,n,i,a,o,s,l,c){let u=n.context;i.draw(u,u.gl.TRIANGLES,a,o,s,qr.disabled,l,c,r.id,e.layoutVertexBuffer,e.indexBuffer,t,r.paint,n.transform.zoom,e.programConfigurations.get(r.id),e.dynamicLayoutVertexBuffer,e.opacityVertexBuffer)}function Jr(e,r,n,i){let a=e.context,o=a.gl,s=Vr.disabled,l=new Fr([o.ONE,o.ONE],t.aM.transparent,[!0,!0,!0,!0]),c=r.getBucket(n);if(!c)return;let u=i.key,h=n.heatmapFbos.get(u);h||(h=en(a,r.tileSize,r.tileSize),n.heatmapFbos.set(u,h)),a.bindFramebuffer.set(h.framebuffer),a.viewport.set([0,0,r.tileSize,r.tileSize]),a.clear({color:t.aM.transparent});let f=c.programConfigurations.get(n.id),p=e.useProgram("heatmap",f),d=e.style.map.terrain.getTerrainData(i);p.draw(a,o.TRIANGLES,jr.disabled,s,l,qr.disabled,Pt(i.posMatrix,r,e.transform.zoom,n.paint.get("heatmap-intensity")),d,n.id,c.layoutVertexBuffer,c.indexBuffer,c.segments,n.paint,e.transform.zoom,f)}function Qr(e,t,r){let n=e.context,i=n.gl;n.setColorMode(e.colorModeForRenderPass());let a=tn(n,t),o=r.key,s=t.heatmapFbos.get(o);s&&(n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,s.colorAttachment.get()),n.activeTexture.set(i.TEXTURE1),a.bind(i.LINEAR,i.CLAMP_TO_EDGE),e.useProgram("heatmapTexture").draw(n,i.TRIANGLES,jr.disabled,Vr.disabled,e.colorModeForRenderPass(),qr.disabled,zt(e,t,0,1),null,t.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments,t.paint,e.transform.zoom),s.destroy(),t.heatmapFbos.delete(o))}function en(e,t,r){var n,i;let a=e.gl,o=a.createTexture();a.bindTexture(a.TEXTURE_2D,o),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR);let s=null!==(n=e.HALF_FLOAT)&&void 0!==n?n:a.UNSIGNED_BYTE,l=null!==(i=e.RGBA16F)&&void 0!==i?i:a.RGBA;a.texImage2D(a.TEXTURE_2D,0,l,t,r,0,a.RGBA,s,null);let c=e.createFramebuffer(t,r,!1,!1);return c.colorAttachment.set(o),c}function tn(e,t){return t.colorRampTexture||(t.colorRampTexture=new w(e,t.colorRamp,e.gl.RGBA)),t.colorRampTexture}function rn(e,t,r,n,i){if(!r||!n||!n.imageAtlas)return;let a=n.imageAtlas.patternPositions,o=a[r.to.toString()],s=a[r.from.toString()];if(!o&&s&&(o=s),!s&&o&&(s=o),!o||!s){let e=i.getPaintProperty(t);o=a[e],s=a[e]}o&&s&&e.setConstantPatternPositions(o,s)}function nn(e,t,r,n,i,a,o){let s,l,c,u,h,f=e.context.gl,p="fill-pattern",d=r.paint.get(p),m=d&&d.constantOr(1),g=r.getCrossfadeParameters();o?(l=m&&!r.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",s=f.LINES):(l=m?"fillPattern":"fill",s=f.TRIANGLES);let y=d.constantOr(null);for(let d of n){let n=t.getTile(d);if(m&&!n.patternsLoaded())continue;let v=n.getBucket(r);if(!v)continue;let x=v.programConfigurations.get(r.id),_=e.useProgram(l,x),b=e.style.map.terrain&&e.style.map.terrain.getTerrainData(d);m&&(e.context.activeTexture.set(f.TEXTURE0),n.imageAtlasTexture.bind(f.LINEAR,f.CLAMP_TO_EDGE),x.updatePaintBuffers(g)),rn(x,p,y,n,r);let w=b?d:null,T=e.translatePosMatrix(w?w.posMatrix:d.posMatrix,n,r.paint.get("fill-translate"),r.paint.get("fill-translate-anchor"));if(o){u=v.indexBuffer2,h=v.segments2;let t=[f.drawingBufferWidth,f.drawingBufferHeight];c="fillOutlinePattern"===l&&m?St(T,e,g,n,t):Mt(T,t)}else u=v.indexBuffer,h=v.segments,c=m?At(T,e,g,n):kt(T);_.draw(e.context,s,i,e.stencilModeForClipping(d),a,qr.disabled,c,b,r.id,v.layoutVertexBuffer,u,h,r.paint,e.transform.zoom,x)}}function an(e,t,r,n,i,a,o){let s=e.context,l=s.gl,c="fill-extrusion-pattern",u=r.paint.get(c),h=u.constantOr(1),f=r.getCrossfadeParameters(),p=r.paint.get("fill-extrusion-opacity"),d=u.constantOr(null);for(let u of n){let n=t.getTile(u),m=n.getBucket(r);if(!m)continue;let g=e.style.map.terrain&&e.style.map.terrain.getTerrainData(u),y=m.programConfigurations.get(r.id),v=e.useProgram(h?"fillExtrusionPattern":"fillExtrusion",y);h&&(e.context.activeTexture.set(l.TEXTURE0),n.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),y.updatePaintBuffers(f)),rn(y,c,d,n,r);let x=e.translatePosMatrix(u.posMatrix,n,r.paint.get("fill-extrusion-translate"),r.paint.get("fill-extrusion-translate-anchor")),_=r.paint.get("fill-extrusion-vertical-gradient"),b=h?Tt(x,e,_,p,u,f,n):wt(x,e,_,p);v.draw(s,s.gl.TRIANGLES,i,a,o,qr.backCCW,b,g,r.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,r.paint,e.transform.zoom,y,e.style.map.terrain&&m.centroidVertexBuffer)}}function on(e,t,r,n,i,a,o){let s=e.context,l=s.gl,c=r.fbo;if(!c)return;let u=e.useProgram("hillshade"),h=e.style.map.terrain&&e.style.map.terrain.getTerrainData(t);s.activeTexture.set(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,c.colorAttachment.get()),u.draw(s,l.TRIANGLES,i,a,o,qr.disabled,((e,t,r,n)=>{let i=r.paint.get("hillshade-shadow-color"),a=r.paint.get("hillshade-highlight-color"),o=r.paint.get("hillshade-accent-color"),s=r.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===r.paint.get("hillshade-illumination-anchor")&&(s-=e.transform.angle);let l=!e.options.moving;return{u_matrix:n?n.posMatrix:e.transform.calculatePosMatrix(t.tileID.toUnwrapped(),l),u_image:0,u_latrange:Dt(0,t.tileID),u_light:[r.paint.get("hillshade-exaggeration"),s],u_shadow:i,u_highlight:a,u_accent:o}})(e,r,n,h?t:null),h,n.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments)}function sn(e,r,n,i,a,o){let s=e.context,l=s.gl,c=r.dem;if(c&&c.data){let u=c.dim,h=c.stride,f=c.getPixels();if(s.activeTexture.set(l.TEXTURE1),s.pixelStoreUnpackPremultiplyAlpha.set(!1),r.demTexture=r.demTexture||e.getTileTexture(h),r.demTexture){let e=r.demTexture;e.update(f,{premultiply:!1}),e.bind(l.NEAREST,l.CLAMP_TO_EDGE)}else r.demTexture=new w(s,f,l.RGBA,{premultiply:!1}),r.demTexture.bind(l.NEAREST,l.CLAMP_TO_EDGE);s.activeTexture.set(l.TEXTURE0);let p=r.fbo;if(!p){let e=new w(s,{width:u,height:u,data:null},l.RGBA);e.bind(l.LINEAR,l.CLAMP_TO_EDGE),p=r.fbo=s.createFramebuffer(u,u,!0,!1),p.colorAttachment.set(e.texture)}s.bindFramebuffer.set(p.framebuffer),s.viewport.set([0,0,u,u]),e.useProgram("hillshadePrepare").draw(s,l.TRIANGLES,i,a,o,qr.disabled,((e,r)=>{let n=r.stride,i=t.H();return t.aP(i,0,t.X,-t.X,0,0,1),t.J(i,i,[0,-t.X,0]),{u_matrix:i,u_image:1,u_dimension:[n,n],u_zoom:e.overscaledZ,u_unpack:r.getUnpackVector()}})(r.tileID,c),null,n.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),r.needsHillshadePrepare=!1}}function ln(e,r,n,i,o,s){let l=i.paint.get("raster-fade-duration");if(!s&&l>0){let i=a.now(),s=(i-e.timeAdded)/l,c=r?(i-r.timeAdded)/l:-1,u=n.getSource(),h=o.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.roundZoom}),f=!r||Math.abs(r.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),p=f&&e.refreshedUponExpiration?1:t.ac(f?s:1-c,0,1);return e.refreshedUponExpiration&&s>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}let cn=new t.aM(1,0,0,1),un=new t.aM(0,1,0,1),hn=new t.aM(0,0,1,1),fn=new t.aM(1,0,1,1),pn=new t.aM(0,1,1,1);function dn(e,t,r,n){gn(e,0,t+r/2,e.transform.width,r,n)}function mn(e,t,r,n){gn(e,t-r/2,0,r,e.transform.height,n)}function gn(e,t,r,n,i,a){let o=e.context,s=o.gl;s.enable(s.SCISSOR_TEST),s.scissor(t*e.pixelRatio,r*e.pixelRatio,n*e.pixelRatio,i*e.pixelRatio),o.clear({color:a}),s.disable(s.SCISSOR_TEST)}function yn(e,r,n){let i=e.context,a=i.gl,o=n.posMatrix,s=e.useProgram("debug"),l=jr.disabled,c=Vr.disabled,u=e.colorModeForRenderPass(),h="$debug",f=e.style.map.terrain&&e.style.map.terrain.getTerrainData(n);i.activeTexture.set(a.TEXTURE0);let p=r.getTileByID(n.key).latestRawTileData,d=Math.floor((p&&p.byteLength||0)/1024),m=r.getTile(n).tileSize,g=512/Math.min(m,512)*(n.overscaledZ/e.transform.zoom)*.5,y=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(y+=` => ${n.overscaledZ}`),function(e,t){e.initDebugOverlayCanvas();let r=e.debugOverlayCanvas,n=e.context.gl,i=e.debugOverlayCanvas.getContext("2d");i.clearRect(0,0,r.width,r.height),i.shadowColor="white",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle="white",i.textBaseline="top",i.font="bold 36px Open Sans, sans-serif",i.fillText(t,5,5),i.strokeText(t,5,5),e.debugOverlayTexture.update(r),e.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(e,`${y} ${d}kB`),s.draw(i,a.TRIANGLES,l,c,Fr.alphaBlended,qr.disabled,It(o,t.aM.transparent,g),null,h,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments),s.draw(i,a.LINE_STRIP,l,c,u,qr.disabled,It(o,t.aM.red),f,h,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments)}function vn(e,t,r){let n=e.context,i=n.gl,a=e.colorModeForRenderPass(),o=new jr(i.LEQUAL,jr.ReadWrite,e.depthRangeFor3D),s=e.useProgram("terrain"),l=t.getTerrainMesh();n.bindFramebuffer.set(null),n.viewport.set([0,0,e.width,e.height]);for(let c of r){let r=e.renderToTexture.getTexture(c),u=t.getTerrainData(c.tileID);n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,r.texture);let h=e.transform.calculatePosMatrix(c.tileID.toUnwrapped()),f=t.getMeshFrameDelta(e.transform.zoom),p=e.transform.calculateFogMatrix(c.tileID.toUnwrapped()),d=vt(h,f,p,e.style.sky,e.transform.pitch);s.draw(n,i.TRIANGLES,o,Vr.disabled,a,qr.backCCW,d,u,"terrain",l.vertexBuffer,l.indexBuffer,l.segments)}}class xn{constructor(e,t,r){this.vertexBuffer=e,this.indexBuffer=t,this.segments=r}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class _n{constructor(e,r){this.context=new Br(e),this.transform=r,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:t.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=fe.maxUnderzooming+fe.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new ut}resize(e,t,r){if(this.width=Math.floor(e*r),this.height=Math.floor(t*r),this.pixelRatio=r,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let e of this.style._order)this.style._layers[e].resize()}setup(){let e=this.context,r=new t.aX;r.emplaceBack(0,0),r.emplaceBack(t.X,0),r.emplaceBack(0,t.X),r.emplaceBack(t.X,t.X),this.tileExtentBuffer=e.createVertexBuffer(r,dt.members),this.tileExtentSegments=t.a0.simpleSegment(0,0,4,2);let n=new t.aX;n.emplaceBack(0,0),n.emplaceBack(t.X,0),n.emplaceBack(0,t.X),n.emplaceBack(t.X,t.X),this.debugBuffer=e.createVertexBuffer(n,dt.members),this.debugSegments=t.a0.simpleSegment(0,0,4,5);let i=new t.$;i.emplaceBack(0,0,0,0),i.emplaceBack(t.X,0,t.X,0),i.emplaceBack(0,t.X,0,t.X),i.emplaceBack(t.X,t.X,t.X,t.X),this.rasterBoundsBuffer=e.createVertexBuffer(i,Q.members),this.rasterBoundsSegments=t.a0.simpleSegment(0,0,4,2);let a=new t.aX;a.emplaceBack(0,0),a.emplaceBack(1,0),a.emplaceBack(0,1),a.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(a,dt.members),this.viewportSegments=t.a0.simpleSegment(0,0,4,2);let o=new t.aZ;o.emplaceBack(0),o.emplaceBack(1),o.emplaceBack(3),o.emplaceBack(2),o.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(o);let s=new t.aY;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(s);let l=this.context.gl;this.stencilClearMode=new Vr({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO)}clearStencil(){let e=this.context,r=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let n=t.H();t.aP(n,0,this.width,this.height,0,0,1),t.K(n,n,[r.drawingBufferWidth,r.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(e,r.TRIANGLES,jr.disabled,this.stencilClearMode,Fr.disabled,qr.disabled,Lt(n),null,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(e,t){if(this.currentStencilSource===e.source||!e.isTileClipped()||!t||!t.length)return;this.currentStencilSource=e.source;let r=this.context,n=r.gl;this.nextStencilID+t.length>256&&this.clearStencil(),r.setColorMode(Fr.disabled),r.setDepthMode(jr.disabled);let i=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(let e of t){let t=this._tileClippingMaskIDs[e.key]=this.nextStencilID++,a=this.style.map.terrain&&this.style.map.terrain.getTerrainData(e);i.draw(r,n.TRIANGLES,jr.disabled,new Vr({func:n.ALWAYS,mask:0},t,255,n.KEEP,n.KEEP,n.REPLACE),Fr.disabled,qr.disabled,Lt(e.posMatrix),a,"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let e=this.nextStencilID++,t=this.context.gl;return new Vr({func:t.NOTEQUAL,mask:255},e,255,t.KEEP,t.KEEP,t.REPLACE)}stencilModeForClipping(e){let t=this.context.gl;return new Vr({func:t.EQUAL,mask:255},this._tileClippingMaskIDs[e.key],0,t.KEEP,t.KEEP,t.REPLACE)}stencilConfigForOverlap(e){let t=this.context.gl,r=e.sort(((e,t)=>t.overscaledZ-e.overscaledZ)),n=r[r.length-1].overscaledZ,i=r[0].overscaledZ-n+1;if(i>1){this.currentStencilSource=void 0,this.nextStencilID+i>256&&this.clearStencil();let e={};for(let r=0;r=0;this.currentLayer--){let e=this.style._layers[n[this.currentLayer]],t=i[e.source],r=o[e.source];this._renderTileClippingMasks(e,r),this.renderLayer(this,t,e,r)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayerr.source&&!r.isHidden(t)?[e.sourceCaches[r.source]]:[])),i=n.filter((e=>"vector"===e.getSource().type)),a=n.filter((e=>"vector"!==e.getSource().type)),o=e=>{(!r||r.getSource().maxzoomo(e))),r||a.forEach((e=>o(e))),r}(this.style,this.transform.zoom);e&&function(e,t,r){for(let n=0;n0),i&&(t.b0(r,n),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(e,r){let n=e.context,i=n.gl,a=Fr.unblended,o=new jr(i.LEQUAL,jr.ReadWrite,[0,1]),s=r.getTerrainMesh(),l=r.sourceCache.getRenderableTiles(),c=e.useProgram("terrainDepth");n.bindFramebuffer.set(r.getFramebuffer("depth").framebuffer),n.viewport.set([0,0,e.width/devicePixelRatio,e.height/devicePixelRatio]),n.clear({color:t.aM.transparent,depth:1});for(let t of l){let l=r.getTerrainData(t.tileID),u={u_matrix:e.transform.calculatePosMatrix(t.tileID.toUnwrapped()),u_ele_delta:r.getMeshFrameDelta(e.transform.zoom)};c.draw(n,i.TRIANGLES,o,Vr.disabled,a,qr.backCCW,u,l,"terrain",s.vertexBuffer,s.indexBuffer,s.segments)}n.bindFramebuffer.set(null),n.viewport.set([0,0,e.width,e.height])}(this,this.style.map.terrain),function(e,r){let n=e.context,i=n.gl,a=Fr.unblended,o=new jr(i.LEQUAL,jr.ReadWrite,[0,1]),s=r.getTerrainMesh(),l=r.getCoordsTexture(),c=r.sourceCache.getRenderableTiles(),u=e.useProgram("terrainCoords");n.bindFramebuffer.set(r.getFramebuffer("coords").framebuffer),n.viewport.set([0,0,e.width/devicePixelRatio,e.height/devicePixelRatio]),n.clear({color:t.aM.transparent,depth:1}),r.coordsIndex=[];for(let t of c){let c=r.getTerrainData(t.tileID);n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,l.texture);let h={u_matrix:e.transform.calculatePosMatrix(t.tileID.toUnwrapped()),u_terrain_coords_id:(255-r.coordsIndex.length)/255,u_texture:0,u_ele_delta:r.getMeshFrameDelta(e.transform.zoom)};u.draw(n,i.TRIANGLES,o,Vr.disabled,a,qr.backCCW,h,c,"terrain",s.vertexBuffer,s.indexBuffer,s.segments),r.coordsIndex.push(t.tileID.key)}n.bindFramebuffer.set(null),n.viewport.set([0,0,e.width,e.height])}(this,this.style.map.terrain))}renderLayer(e,r,n,i){if(!n.isHidden(this.transform.zoom)&&("background"===n.type||"custom"===n.type||(i||[]).length))switch(this.id=n.id,n.type){case"symbol":!function(e,r,n,i,a){if("translucent"!==e.renderPass)return;let o=Vr.disabled,s=e.colorModeForRenderPass();(n._unevaluatedLayout.hasValue("text-variable-anchor")||n._unevaluatedLayout.hasValue("text-variable-anchor-offset"))&&function(e,r,n,i,a,o,s,l,c){let u=r.transform,h=nt(),f="map"===a,p="map"===o;for(let a of e){let e=i.getTile(a),o=e.getBucket(n);if(!o||!o.text||!o.text.segments.get().length)continue;let d=t.ag(o.textSizeData,u.zoom),m=Be(e,1,r.transform.zoom),g=ve(a.posMatrix,p,f,r.transform,m),y="none"!==n.layout.get("icon-text-fit")&&o.hasIconData();if(d){let t=Math.pow(2,u.zoom-e.tileID.overscaledZ),n=r.style.map.terrain?(e,t)=>r.style.map.terrain.getElevation(a,e,t):null,i=h.translatePosition(u,e,s,l);Yr(o,f,p,c,u,g,a.posMatrix,t,d,y,h,i,a.toUnwrapped(),n)}}}(i,e,n,r,n.layout.get("text-rotation-alignment"),n.layout.get("text-pitch-alignment"),n.paint.get("text-translate"),n.paint.get("text-translate-anchor"),a),0!==n.paint.get("icon-opacity").constantOr(1)&&$r(e,r,n,i,!1,n.paint.get("icon-translate"),n.paint.get("icon-translate-anchor"),n.layout.get("icon-rotation-alignment"),n.layout.get("icon-pitch-alignment"),n.layout.get("icon-keep-upright"),o,s),0!==n.paint.get("text-opacity").constantOr(1)&&$r(e,r,n,i,!0,n.paint.get("text-translate"),n.paint.get("text-translate-anchor"),n.layout.get("text-rotation-alignment"),n.layout.get("text-pitch-alignment"),n.layout.get("text-keep-upright"),o,s),r.map.showCollisionBoxes&&(Hr(e,r,n,i,!0),Hr(e,r,n,i,!1))}(e,r,n,i,this.style.placement.variableOffsets);break;case"circle":!function(e,r,n,i){if("translucent"!==e.renderPass)return;let a=n.paint.get("circle-opacity"),o=n.paint.get("circle-stroke-width"),s=n.paint.get("circle-stroke-opacity"),l=!n.layout.get("circle-sort-key").isConstant();if(0===a.constantOr(1)&&(0===o.constantOr(1)||0===s.constantOr(1)))return;let c=e.context,u=c.gl,h=e.depthModeForSublayer(0,jr.ReadOnly),f=Vr.disabled,p=e.colorModeForRenderPass(),d=[];for(let a=0;ae.sortKey-t.sortKey));for(let t of d){let{programConfiguration:r,program:i,layoutVertexBuffer:a,indexBuffer:o,uniformValues:s,terrainData:l}=t.state;i.draw(c,u.TRIANGLES,h,f,p,qr.disabled,s,l,n.id,a,o,t.segments,n.paint,e.transform.zoom,r)}}(e,r,n,i);break;case"heatmap":!function(e,r,n,i){if(0===n.paint.get("heatmap-opacity"))return;let a=e.context;if(e.style.map.terrain){for(let t of i){let i=r.getTile(t);r.hasRenderableParent(t)||("offscreen"===e.renderPass?Jr(e,i,n,t):"translucent"===e.renderPass&&Qr(e,n,t))}a.viewport.set([0,0,e.width,e.height])}else"offscreen"===e.renderPass?function(e,r,n,i){let a=e.context,o=a.gl,s=Vr.disabled,l=new Fr([o.ONE,o.ONE],t.aM.transparent,[!0,!0,!0,!0]);(function(e,r,n){let i=e.gl;e.activeTexture.set(i.TEXTURE1),e.viewport.set([0,0,r.width/4,r.height/4]);let a=n.heatmapFbos.get(t.aU);a?(i.bindTexture(i.TEXTURE_2D,a.colorAttachment.get()),e.bindFramebuffer.set(a.framebuffer)):(a=en(e,r.width/4,r.height/4),n.heatmapFbos.set(t.aU,a))})(a,e,n),a.clear({color:t.aM.transparent});for(let t=0;t20&&a.texParameterf(a.TEXTURE_2D,i.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,i.extTextureFilterAnisotropicMax);let _=e.style.map.terrain&&e.style.map.terrain.getTerrainData(n),b=_?n:null,w=b?b.posMatrix:e.transform.calculatePosMatrix(n.toUnwrapped(),f),T=Ut(w,m||[0,0],d||1,v,r);o instanceof ee?s.draw(i,a.TRIANGLES,u,Vr.disabled,l,qr.disabled,T,_,r.id,o.boundsBuffer,e.quadTriangleIndexBuffer,o.boundsSegments):s.draw(i,a.TRIANGLES,u,c[n.overscaledZ],l,qr.disabled,T,_,r.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments)}}(e,r,n,i);break;case"background":!function(e,t,r,n){let i=r.paint.get("background-color"),a=r.paint.get("background-opacity");if(0===a)return;let o=e.context,s=o.gl,l=e.transform,c=l.tileSize,u=r.paint.get("background-pattern");if(e.isPatternMissing(u))return;let h=!u&&1===i.a&&1===a&&e.opaquePassEnabledForLayer()?"opaque":"translucent";if(e.renderPass!==h)return;let f=Vr.disabled,p=e.depthModeForSublayer(0,"opaque"===h?jr.ReadWrite:jr.ReadOnly),d=e.colorModeForRenderPass(),m=e.useProgram(u?"backgroundPattern":"background"),g=n||l.coveringTiles({tileSize:c,terrain:e.style.map.terrain});u&&(o.activeTexture.set(s.TEXTURE0),e.imageManager.bind(e.context));let y=r.getCrossfadeParameters();for(let t of g){let l=n?t.posMatrix:e.transform.calculatePosMatrix(t.toUnwrapped()),h=u?Zt(l,a,e,u,{tileID:t,tileSize:c},y):Wt(l,a,i),g=e.style.map.terrain&&e.style.map.terrain.getTerrainData(t);m.draw(o,s.TRIANGLES,p,f,d,qr.disabled,h,g,r.id,e.tileExtentBuffer,e.quadTriangleIndexBuffer,e.tileExtentSegments)}}(e,0,n,i);break;case"custom":!function(e,t,r){let n=e.context,i=r.implementation;if("offscreen"===e.renderPass){let t=i.prerender;t&&(e.setCustomLayerDefaults(),n.setColorMode(e.colorModeForRenderPass()),t.call(i,n.gl,e.transform.customLayerMatrix()),n.setDirty(),e.setBaseState())}else if("translucent"===e.renderPass){e.setCustomLayerDefaults(),n.setColorMode(e.colorModeForRenderPass()),n.setStencilMode(Vr.disabled);let t="3d"===i.renderingMode?new jr(e.context.gl.LEQUAL,jr.ReadWrite,e.depthRangeFor3D):e.depthModeForSublayer(0,jr.ReadOnly);n.setDepthMode(t),i.render(n.gl,e.transform.customLayerMatrix(),{farZ:e.transform.farZ,nearZ:e.transform.nearZ,fov:e.transform._fov,modelViewProjectionMatrix:e.transform.modelViewProjectionMatrix,projectionMatrix:e.transform.projectionMatrix}),n.setDirty(),e.setBaseState(),n.bindFramebuffer.set(null)}}(e,0,n)}}translatePosMatrix(e,r,n,i,a){if(!n[0]&&!n[1])return e;let o=a?"map"===i?this.transform.angle:0:"viewport"===i?-this.transform.angle:0;if(o){let e=Math.sin(o),t=Math.cos(o);n=[n[0]*t-n[1]*e,n[0]*e+n[1]*t]}let s=[a?n[0]:Be(r,n[0],this.transform.zoom),a?n[1]:Be(r,n[1],this.transform.zoom),0],l=new Float32Array(16);return t.J(l,e,s),l}saveTileTexture(e){let t=this._tileTextures[e.size[0]];t?t.push(e):this._tileTextures[e.size[0]]=[e]}getTileTexture(e){let t=this._tileTextures[e];return t&&t.length>0?t.pop():null}isPatternMissing(e){if(!e)return!1;if(!e.from||!e.to)return!0;let t=this.imageManager.getPattern(e.from.toString()),r=this.imageManager.getPattern(e.to.toString());return!t||!r}useProgram(e,t){this.cache=this.cache||{};let r=e+(t?t.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"")+(this.style.map.terrain?"/terrain":"");return this.cache[r]||(this.cache[r]=new _t(this.context,mt[e],t,Yt[e],this._showOverdrawInspector,this.style.map.terrain)),this.cache[r]}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 e=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(e.FUNC_ADD)}initDebugOverlayCanvas(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new w(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:e,drawingBufferHeight:t}=this.context.gl;return this.width!==e||this.height!==t}}class bn{constructor(e,t){this.points=e,this.planes=t}static fromInvProjectionMatrix(e,r,n){let i=Math.pow(2,n),a=[[-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((n=>{let a=1/(n=t.af([],n,e))[3]/r*i;return t.b1(n,n,[a,a,1/n[3],a])})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((e=>{let t=function(e,t){var r=t[0],n=t[1],i=t[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e}([],(n=[],i=y([],a[e[0]],a[e[1]]),o=y([],a[e[2]],a[e[1]]),s=i[0],l=i[1],c=i[2],u=o[0],h=o[1],f=o[2],n[0]=l*f-c*h,n[1]=c*u-s*f,n[2]=s*h-l*u,n)),r=-((p=t)[0]*(d=a[e[1]])[0]+p[1]*d[1]+p[2]*d[2]);var n,i,o,s,l,c,u,h,f,p,d;return t.concat(r)}));return new bn(a,o)}}class wn{constructor(e,t){var r,n,i;this.min=e,this.max=t,this.center=function(e,t){return e[0]=.5*t[0],e[1]=.5*t[1],e[2]=.5*t[2],e}([],(r=[],n=this.min,i=this.max,r[0]=n[0]+i[0],r[1]=n[1]+i[1],r[2]=n[2]+i[2],r))}quadrant(e){let t=[e%2==0,e<2],r=m(this.min),n=m(this.max);for(let e=0;e=0&&o++;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(let t=0;t<3;t++){let r=Number.MAX_VALUE,n=-Number.MAX_VALUE;for(let i=0;ithis.max[t]-this.min[t])return 0}return 1}}class Tn{constructor(e=0,t=0,r=0,n=0){if(isNaN(e)||e<0||isNaN(t)||t<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=e,this.bottom=t,this.left=r,this.right=n}interpolate(e,r,n){return null!=r.top&&null!=e.top&&(this.top=t.y.number(e.top,r.top,n)),null!=r.bottom&&null!=e.bottom&&(this.bottom=t.y.number(e.bottom,r.bottom,n)),null!=r.left&&null!=e.left&&(this.left=t.y.number(e.left,r.left,n)),null!=r.right&&null!=e.right&&(this.right=t.y.number(e.right,r.right,n)),this}getCenter(e,r){let n=t.ac((this.left+e-this.right)/2,0,e),i=t.ac((this.top+r-this.bottom)/2,0,r);return new t.P(n,i)}equals(e){return this.top===e.top&&this.bottom===e.bottom&&this.left===e.left&&this.right===e.right}clone(){return new Tn(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}let kn=85.051129;class An{constructor(e,r,n,i,a){this.tileSize=512,this._renderWorldCopies=void 0===a||!!a,this._minZoom=e||0,this._maxZoom=r||22,this._minPitch=n??0,this._maxPitch=i??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 Tn,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){let e=new An(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return e.apply(this),e}apply(e){this.tileSize=e.tileSize,this.latRange=e.latRange,this.lngRange=e.lngRange,this.width=e.width,this.height=e.height,this._center=e._center,this._elevation=e._elevation,this.minElevationForCurrentTile=e.minElevationForCurrentTile,this.zoom=e.zoom,this.angle=e.angle,this._fov=e._fov,this._pitch=e._pitch,this._unmodified=e._unmodified,this._edgeInsets=e._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(e){this._minZoom!==e&&(this._minZoom=e,this.zoom=Math.max(this.zoom,e))}get maxZoom(){return this._maxZoom}set maxZoom(e){this._maxZoom!==e&&(this._maxZoom=e,this.zoom=Math.min(this.zoom,e))}get minPitch(){return this._minPitch}set minPitch(e){this._minPitch!==e&&(this._minPitch=e,this.pitch=Math.max(this.pitch,e))}get maxPitch(){return this._maxPitch}set maxPitch(e){this._maxPitch!==e&&(this._maxPitch=e,this.pitch=Math.min(this.pitch,e))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(e){void 0===e?e=!0:null===e&&(e=!1),this._renderWorldCopies=e}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(e){let r=-t.b3(e,-180,180)*Math.PI/180;var n;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=(n=new t.A(4),t.A!=Float32Array&&(n[1]=0,n[2]=0),n[0]=1,n[3]=1,n),function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),l=Math.cos(r);e[0]=n*l+a*s,e[1]=i*l+o*s,e[2]=n*-s+a*l,e[3]=i*-s+o*l}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(e){let r=t.ac(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(e){e=Math.max(.01,Math.min(60,e)),this._fov!==e&&(this._unmodified=!1,this._fov=e/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(e){let t=Math.min(Math.max(e,this.minZoom),this.maxZoom);this._zoom!==t&&(this._unmodified=!1,this._zoom=t,this.tileZoom=Math.max(0,Math.floor(t)),this.scale=this.zoomScale(t),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(e){e.lat===this._center.lat&&e.lng===this._center.lng||(this._unmodified=!1,this._center=e,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(e){e!==this._elevation&&(this._elevation=e,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(e){this._edgeInsets.equals(e)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,e,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(e){return this._edgeInsets.equals(e)}interpolatePadding(e,t,r){this._unmodified=!1,this._edgeInsets.interpolate(e,t,r),this._constrain(),this._calcMatrices()}coveringZoomLevel(e){let t=(e.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/e.tileSize));return Math.max(0,t)}getVisibleUnwrappedCoordinates(e){let r=[new t.b4(0,e)];if(this._renderWorldCopies){let n=this.pointCoordinate(new t.P(0,0)),i=this.pointCoordinate(new t.P(this.width,0)),a=this.pointCoordinate(new t.P(this.width,this.height)),o=this.pointCoordinate(new t.P(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),c=1;for(let n=s-c;n<=l+c;n++)0!==n&&r.push(new t.b4(n,e))}return r}coveringTiles(e){var r,n;let i=this.coveringZoomLevel(e),a=i;if(void 0!==e.minzoom&&ie.maxzoom&&(i=e.maxzoom);let o=this.pointCoordinate(this.getCameraPoint()),s=t.Z.fromLngLat(this.center),l=Math.pow(2,i),c=[l*o.x,l*o.y,0],u=[l*s.x,l*s.y,0],h=bn.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,i),f=e.minzoom||0;!e.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(f=i);let p=e.terrain?2/Math.min(this.tileSize,e.tileSize)*this.tileSize:3,d=e=>({aabb:new wn([e*l,0,0],[(e+1)*l,l,0]),zoom:0,x:0,y:0,wrap:e,fullyVisible:!1}),m=[],g=[],y=i,v=e.reparseOverscaled?a:i;if(this._renderWorldCopies)for(let e=1;e<=3;e++)m.push(d(-e)),m.push(d(e));for(m.push(d(0));m.length>0;){let i=m.pop(),a=i.x,o=i.y,s=i.fullyVisible;if(!s){let e=i.aabb.intersects(h);if(0===e)continue;s=2===e}let l=e.terrain?c:u,d=i.aabb.distanceX(l),_=i.aabb.distanceY(l),b=Math.max(Math.abs(d),Math.abs(_));if(i.zoom===y||b>p+(1<=f){let e=y-i.zoom,r=c[0]-.5-(a<>1),h=i.zoom+1,f=i.aabb.quadrant(l);if(e.terrain){let a=new t.S(h,i.wrap,h,c,u),o=e.terrain.getMinMaxElevation(a),s=null!==(r=o.minElevation)&&void 0!==r?r:this.elevation,l=null!==(n=o.maxElevation)&&void 0!==n?n:this.elevation;f=new wn([f.min[0],f.min[1],s],[f.max[0],f.max[1],l])}m.push({aabb:f,zoom:h,x:c,y:u,wrap:i.wrap,fullyVisible:s})}}return g.sort(((e,t)=>e.distanceSq-t.distanceSq)).map((e=>e.tileID))}resize(e,t){this.width=e,this.height=t,this.pixelsToGLUnits=[2/e,-2/t],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(e){return Math.pow(2,e)}scaleZoom(e){return Math.log(e)/Math.LN2}project(e){let r=t.ac(e.lat,-85.051129,kn);return new t.P(t.O(e.lng)*this.worldSize,t.Q(r)*this.worldSize)}unproject(e){return new t.Z(e.x/this.worldSize,e.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(e){let r=this.elevation,n=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,i=this.pointLocation(this.centerPoint,e),a=e.getElevationForLngLatZoom(i,this.tileZoom);if(!(this.elevation-a))return;let o=n+r-a,s=Math.cos(this._pitch)*this.cameraToCenterDistance/o/t.b5(1,i.lat),l=this.scaleZoom(s/this.tileSize);this._elevation=a,this._center=i,this.zoom=l}setLocationAtPoint(e,r){let n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(e),o=new t.Z(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(e,t){return t?this.coordinatePoint(this.locationCoordinate(e),t.getElevationForLngLatZoom(e,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(e))}pointLocation(e,t){return this.coordinateLocation(this.pointCoordinate(e,t))}locationCoordinate(e){return t.Z.fromLngLat(e)}coordinateLocation(e){return e&&e.toLngLat()}pointCoordinate(e,r){if(r){let t=r.pointCoordinate(e);if(null!=t)return t}let n=[e.x,e.y,0,1],i=[e.x,e.y,1,1];t.af(n,n,this.pixelMatrixInverse),t.af(i,i,this.pixelMatrixInverse);let a=n[3],o=i[3],s=n[1]/a,l=i[1]/o,c=n[2]/a,u=i[2]/o,h=c===u?0:(0-c)/(u-c);return new t.Z(t.y.number(n[0]/a,i[0]/o,h)/this.worldSize,t.y.number(s,l,h)/this.worldSize)}coordinatePoint(e,r=0,n=this.pixelMatrix){let i=[e.x*this.worldSize,e.y*this.worldSize,r,1];return t.af(i,i,n),new t.P(i[0]/i[3],i[1]/i[3])}getBounds(){let e=Math.max(0,this.height/2-this.getHorizon());return(new Z).extend(this.pointLocation(new t.P(0,e))).extend(this.pointLocation(new t.P(this.width,e))).extend(this.pointLocation(new t.P(this.width,this.height))).extend(this.pointLocation(new t.P(0,this.height)))}getMaxBounds(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new Z([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(e){e?(this.lngRange=[e.getWest(),e.getEast()],this.latRange=[e.getSouth(),e.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,kn])}calculateTileMatrix(e){let r=e.canonical,n=this.worldSize/this.zoomScale(r.z),i=r.x+Math.pow(2,r.z)*e.wrap,a=t.an(new Float64Array(16));return t.J(a,a,[i*n,r.y*n,0]),t.K(a,a,[n/t.X,n/t.X,1]),a}calculatePosMatrix(e,r=!1){let n=e.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];let a=this.calculateTileMatrix(e);return t.L(a,r?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,a),i[n]=new Float32Array(a),i[n]}calculateFogMatrix(e){let r=e.key,n=this._fogMatrixCache;if(n[r])return n[r];let i=this.calculateTileMatrix(e);return t.L(i,this.fogMatrix,i),n[r]=new Float32Array(i),n[r]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(e,r){r=t.ac(+r,this.minZoom,this.maxZoom);let n={center:new t.N(e.lng,e.lat),zoom:r},i=this.lngRange;if(!this._renderWorldCopies&&null===i){let e=179.9999999999;i=[-e,e]}let a=this.tileSize*this.zoomScale(n.zoom),o=0,s=a,l=0,c=a,u=0,h=0,{x:f,y:p}=this.size;if(this.latRange){let e=this.latRange;o=t.Q(e[1])*a,s=t.Q(e[0])*a,s-os&&(m=s-e)}if(i){let e=(l+c)/2,r=g;this._renderWorldCopies&&(r=t.b3(g,e-a/2,e+a/2));let n=f/2;r-nc&&(d=c-n)}if(void 0!==d||void 0!==m){let e=new t.P(d??g,m??y);n.center=this.unproject.call({worldSize:a},e).wrap()}return n}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let e=this._unmodified,{center:t,zoom:r}=this.getConstrained(this.center,this.zoom);this.center=t,this.zoom=r,this._unmodified=e,this._constraining=!1}_calcMatrices(){if(!this.height)return;let e=this.centerOffset,r=this.point.x,n=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=t.b5(1,this.center.lat)*this.worldSize;let i=t.an(new Float64Array(16));t.K(i,i,[this.width/2,-this.height/2,1]),t.J(i,i,[1,-1,0]),this.labelPlaneMatrix=i,i=t.an(new Float64Array(16)),t.K(i,i,[1,-1,1]),t.J(i,i,[-1,-1,0]),t.K(i,i,[2/this.width,2/this.height,1]),this.glCoordMatrix=i;let a=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),o=Math.min(this.elevation,this.minElevationForCurrentTile),s=a-o*this._pixelPerMeter/Math.cos(this._pitch),l=o<0?s:a,c=Math.PI/2+this._pitch,u=this._fov*(.5+e.y/this.height),h=Math.sin(u)*l/Math.sin(t.ac(Math.PI-c-u,.01,Math.PI-.01)),f=this.getHorizon(),p=2*Math.atan(f/this.cameraToCenterDistance)*(.5+e.y/(2*f)),d=Math.sin(p)*l/Math.sin(t.ac(Math.PI-c-p,.01,Math.PI-.01)),m=Math.min(h,d);this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*m+l),this.nearZ=this.height/50,i=new Float64Array(16),t.b6(i,this._fov,this.width/this.height,this.nearZ,this.farZ),i[8]=2*-e.x/this.width,i[9]=2*e.y/this.height,this.projectionMatrix=t.ae(i),t.K(i,i,[1,-1,1]),t.J(i,i,[0,0,-this.cameraToCenterDistance]),t.b7(i,i,this._pitch),t.ad(i,i,this.angle),t.J(i,i,[-r,-n,0]),this.mercatorMatrix=t.K([],i,[this.worldSize,this.worldSize,this.worldSize]),t.K(i,i,[1,1,this._pixelPerMeter]),this.pixelMatrix=t.L(new Float64Array(16),this.labelPlaneMatrix,i),t.J(i,i,[0,0,-this.elevation]),this.modelViewProjectionMatrix=i,this.invModelViewProjectionMatrix=t.as([],i),this.fogMatrix=new Float64Array(16),t.b6(this.fogMatrix,this._fov,this.width/this.height,a,this.farZ),this.fogMatrix[8]=2*-e.x/this.width,this.fogMatrix[9]=2*e.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,[-r,-n,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,i);let g=this.width%2/2,y=this.height%2/2,v=Math.cos(this.angle),x=Math.sin(this.angle),_=r-Math.round(r)+v*g+x*y,b=n-Math.round(n)+v*y+x*g,w=new Float64Array(i);if(t.J(w,w,[_>.5?_-1:_,b>.5?b-1:b,0]),this.alignedModelViewProjectionMatrix=w,i=t.as(new Float64Array(16),this.pixelMatrix),!i)throw new Error("failed to invert matrix");this.pixelMatrixInverse=i,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let e=this.pointCoordinate(new t.P(0,0)),r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.af(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.P(0,e))}getCameraQueryGeometry(e){let r=this.getCameraPoint();if(1===e.length)return[e[0],r];{let n=r.x,i=r.y,a=r.x,o=r.y;for(let t of e)n=Math.min(n,t.x),i=Math.min(i,t.y),a=Math.max(a,t.x),o=Math.max(o,t.y);return[new t.P(n,i),new t.P(a,i),new t.P(a,o),new t.P(n,o),new t.P(n,i)]}}lngLatToCameraDepth(e,r){let n=this.locationCoordinate(e),i=[n.x*this.worldSize,n.y*this.worldSize,r,1];return t.af(i,i,this.modelViewProjectionMatrix),i[2]/i[3]}}function Mn(e,t){let r,n=!1,i=null,a=null,o=()=>{i=null,n&&(e.apply(a,r),i=setTimeout(o,t),n=!1)};return(...e)=>(n=!0,a=this,r=e,i||o(),i)}class Sn{constructor(e){this._getCurrentHash=()=>{let e=window.location.hash.replace("#","");if(this._hashName){let t;return e.split("&").map((e=>e.split("="))).forEach((e=>{e[0]===this._hashName&&(t=e)})),(t&&t[1]||"").split("/")}return e.split("/")},this._onHashChange=()=>{let e=this._getCurrentHash();if(e.length>=3&&!e.some((e=>isNaN(e)))){let t=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(e[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+e[2],+e[1]],zoom:+e[0],bearing:t,pitch:+(e[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let e=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,e)},this._removeHash=()=>{let e=this._getCurrentHash();if(0===e.length)return;let t=e.join("/"),r=t;r.split("&").length>0&&(r=r.split("&")[0]),this._hashName&&(r=`${this._hashName}=${t}`);let n=window.location.hash.replace(r,"");n.startsWith("#&")?n=n.slice(0,1)+n.slice(2):"#"===n&&(n="");let i=window.location.href.replace(/(#.+)?$/,n);i=i.replace("&&","&"),window.history.replaceState(window.history.state,null,i)},this._updateHash=Mn(this._updateHashUnthrottled,300),this._hashName=e&&encodeURIComponent(e)}addTo(e){return this._map=e,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(e){let t=this._map.getCenter(),r=Math.round(100*this._map.getZoom())/100,n=Math.ceil((r*Math.LN2+Math.log(512/360/.5))/Math.LN10),i=Math.pow(10,n),a=Math.round(t.lng*i)/i,o=Math.round(t.lat*i)/i,s=this._map.getBearing(),l=this._map.getPitch(),c="";if(c+=e?`/${a}/${o}/${r}`:`${r}/${o}/${a}`,(s||l)&&(c+="/"+Math.round(10*s)/10),l&&(c+=`/${Math.round(l)}`),this._hashName){let e=this._hashName,t=!1,r=window.location.hash.slice(1).split("&").map((r=>{let n=r.split("=")[0];return n===e?(t=!0,`${n}=${c}`):r})).filter((e=>e));return t||r.push(`${e}=${c}`),`#${r.join("&")}`}return`#${c}`}}let En={linearity:.3,easing:t.b8(0,0,.3,1)},Cn=t.e({deceleration:2500,maxSpeed:1400},En),In=t.e({deceleration:20,maxSpeed:1400},En),Ln=t.e({deceleration:1e3,maxSpeed:360},En),Pn=t.e({deceleration:1e3,maxSpeed:90},En);class zn{constructor(e){this._map=e,this.clear()}clear(){this._inertiaBuffer=[]}record(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:a.now(),settings:e})}_drainInertiaBuffer(){let e=this._inertiaBuffer,t=a.now();for(;e.length>0&&t-e[0].time>160;)e.shift()}_onMoveEnd(e){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let r={zoom:0,bearing:0,pitch:0,pan:new t.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:e}of this._inertiaBuffer)r.zoom+=e.zoomDelta||0,r.bearing+=e.bearingDelta||0,r.pitch+=e.pitchDelta||0,e.panDelta&&r.pan._add(e.panDelta),e.around&&(r.around=e.around),e.pinchAround&&(r.pinchAround=e.pinchAround);let n=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,i={};if(r.pan.mag()){let a=On(r.pan.mag(),n,t.e({},Cn,e||{}));i.offset=r.pan.mult(a.amount/r.pan.mag()),i.center=this._map.transform.center,Dn(i,a)}if(r.zoom){let e=On(r.zoom,n,In);i.zoom=this._map.transform.zoom+e.amount,Dn(i,e)}if(r.bearing){let e=On(r.bearing,n,Ln);i.bearing=this._map.transform.bearing+t.ac(e.amount,-179,179),Dn(i,e)}if(r.pitch){let e=On(r.pitch,n,Pn);i.pitch=this._map.transform.pitch+e.amount,Dn(i,e)}if(i.zoom||i.bearing){let e=void 0===r.pinchAround?r.around:r.pinchAround;i.around=e?this._map.unproject(e):this._map.getCenter()}return this.clear(),t.e(i,{noMoveStart:!0})}}function Dn(e,t){(!e.duration||e.durationr.unproject(e))),l=a.reduce(((e,t,r,n)=>e.add(t.div(n.length))),new t.P(0,0));super(e,{points:a,point:l,lngLats:s,lngLat:r.unproject(l),originalEvent:n}),this._defaultPrevented=!1}}class Bn extends t.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,t,r){super(e,{originalEvent:r}),this._defaultPrevented=!1}}class jn{constructor(e,t){this._map=e,this._clickTolerance=t.clickTolerance}reset(){delete this._mousedownPos}wheel(e){return this._firePreventable(new Bn(e.type,this._map,e))}mousedown(e,t){return this._mousedownPos=t,this._firePreventable(new Rn(e.type,this._map,e))}mouseup(e){this._map.fire(new Rn(e.type,this._map,e))}click(e,t){this._mousedownPos&&this._mousedownPos.dist(t)>=this._clickTolerance||this._map.fire(new Rn(e.type,this._map,e))}dblclick(e){return this._firePreventable(new Rn(e.type,this._map,e))}mouseover(e){this._map.fire(new Rn(e.type,this._map,e))}mouseout(e){this._map.fire(new Rn(e.type,this._map,e))}touchstart(e){return this._firePreventable(new Fn(e.type,this._map,e))}touchmove(e){this._map.fire(new Fn(e.type,this._map,e))}touchend(e){this._map.fire(new Fn(e.type,this._map,e))}touchcancel(e){this._map.fire(new Fn(e.type,this._map,e))}_firePreventable(e){if(this._map.fire(e),e.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Nn{constructor(e){this._map=e}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(e){this._map.fire(new Rn(e.type,this._map,e))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Rn("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(e){this._delayContextMenu?this._contextMenuEvent=e:this._ignoreContextMenu||this._map.fire(new Rn(e.type,this._map,e)),this._map.listens("contextmenu")&&e.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Un{constructor(e){this._map=e}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(e){return this.transform.pointLocation(t.P.convert(e),this._map.terrain)}}class Vn{constructor(e,t){this._map=e,this._tr=new Un(e),this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=t.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(e,t){this.isEnabled()&&e.shiftKey&&0===e.button&&(o.disableDrag(),this._startPos=this._lastPos=t,this._active=!0)}mousemoveWindow(e,t){if(!this._active)return;let r=t;if(this._lastPos.equals(r)||!this._box&&r.dist(this._startPos)e.fitScreenCoordinates(n,i,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",e)}keydown(e){this._active&&27===e.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",e))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(o.remove(this._box),this._box=null),o.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(e,r){return this._map.fire(new t.k(e,{originalEvent:r}))}}function qn(e,t){if(e.length!==t.length)throw new Error(`The number of touches and points are not equal - touches ${e.length}, points ${t.length}`);let r={};for(let n=0;nthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=function(e){let r=new t.P(0,0);for(let t of e)r._add(t);return r.div(e.length)}(r),this.touches=qn(n,r)))}touchmove(e,t,r){if(this.aborted||!this.centroid)return;let n=qn(r,t);for(let e in this.touches){let t=n[e];(!t||t.dist(this.touches[e])>30)&&(this.aborted=!0)}}touchend(e,t,r){if((!this.centroid||e.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){let e=!this.aborted&&this.centroid;if(this.reset(),e)return e}}}class Gn{constructor(e){this.singleTap=new Hn(e),this.numTaps=e.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(e,t,r){this.singleTap.touchstart(e,t,r)}touchmove(e,t,r){this.singleTap.touchmove(e,t,r)}touchend(e,t,r){let n=this.singleTap.touchend(e,t,r);if(n){let t=e.timeStamp-this.lastTime<500,r=!this.lastTap||this.lastTap.dist(n)<30;if(t&&r||this.reset(),this.count++,this.lastTime=e.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}}}class Wn{constructor(e){this._tr=new Un(e),this._zoomIn=new Gn({numTouches:1,numTaps:2}),this._zoomOut=new Gn({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(e,t,r){this._zoomIn.touchstart(e,t,r),this._zoomOut.touchstart(e,t,r)}touchmove(e,t,r){this._zoomIn.touchmove(e,t,r),this._zoomOut.touchmove(e,t,r)}touchend(e,t,r){let n=this._zoomIn.touchend(e,t,r),i=this._zoomOut.touchend(e,t,r),a=this._tr;return n?(this._active=!0,e.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:a.zoom+1,around:a.unproject(n)},{originalEvent:e})}):i?(this._active=!0,e.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:a.zoom-1,around:a.unproject(i)},{originalEvent:e})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Zn{constructor(e){this._enabled=!!e.enable,this._moveStateManager=e.moveStateManager,this._clickTolerance=e.clickTolerance||1,this._moveFunction=e.move,this._activateOnStart=!!e.activateOnStart,e.assignEvents(this),this.reset()}reset(e){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(e)}_move(...e){let t=this._moveFunction(...e);if(t.bearingDelta||t.pitchDelta||t.around||t.panDelta)return this._active=!0,t}dragStart(e,t){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(e)&&(this._moveStateManager.startMove(e),this._lastPoint=t.length?t[0]:t,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(e,t){if(!this.isEnabled())return;let r=this._lastPoint;if(!r)return;if(e.preventDefault(),!this._moveStateManager.isValidMoveEvent(e))return void this.reset(e);let n=t.length?t[0]:t;return!this._moved&&n.dist(r){e.mousedown=e.dragStart,e.mousemoveWindow=e.dragMove,e.mouseup=e.dragEnd,e.contextmenu=e=>{e.preventDefault()}},Jn=({enable:e,clickTolerance:t,bearingDegreesPerPixelMoved:r=.8})=>{let n=new Xn({checkCorrectEvent:e=>0===o.mouseButton(e)&&e.ctrlKey||2===o.mouseButton(e)});return new Zn({clickTolerance:t,move:(e,t)=>({bearingDelta:(t.x-e.x)*r}),moveStateManager:n,enable:e,assignEvents:Kn})},Qn=({enable:e,clickTolerance:t,pitchDegreesPerPixelMoved:r=-.5})=>{let n=new Xn({checkCorrectEvent:e=>0===o.mouseButton(e)&&e.ctrlKey||2===o.mouseButton(e)});return new Zn({clickTolerance:t,move:(e,t)=>({pitchDelta:(t.y-e.y)*r}),moveStateManager:n,enable:e,assignEvents:Kn})};class ei{constructor(e,t){this._clickTolerance=e.clickTolerance||1,this._map=t,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new t.P(0,0)}_shouldBePrevented(e){return e<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(e,t,r){return this._calculateTransform(e,t,r)}touchmove(e,t,r){if(this._active){if(!this._shouldBePrevented(r.length))return e.preventDefault(),this._calculateTransform(e,t,r);this._map.cooperativeGestures.notifyGestureBlocked("touch_pan",e)}}touchend(e,t,r){this._calculateTransform(e,t,r),this._active&&this._shouldBePrevented(r.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(e,r,n){n.length>0&&(this._active=!0);let i=qn(n,r),a=new t.P(0,0),o=new t.P(0,0),s=0;for(let e in i){let t=i[e],r=this._touches[e];r&&(a._add(t),o._add(t.sub(r)),s++,i[e]=t)}if(this._touches=i,this._shouldBePrevented(s)||!o.mag())return;let l=o.div(s);return this._sum._add(l),this._sum.mag()Math.abs(e.x)}class li extends ti{constructor(e){super(),this._currentTouchCount=0,this._map=e}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(e,t,r){super.touchstart(e,t,r),this._currentTouchCount=r.length}_start(e){this._lastPoints=e,si(e[0].sub(e[1]))&&(this._valid=!1)}_move(e,t,r){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let n=e[0].sub(this._lastPoints[0]),i=e[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid?(this._lastPoints=e,this._active=!0,{pitchDelta:(n.y+i.y)/2*-.5}):void 0}gestureBeginsVertically(e,t,r){if(void 0!==this._valid)return this._valid;let n=e.mag()>=2,i=t.mag()>=2;if(!n&&!i)return;if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;let a=e.y>0==t.y>0;return si(e)&&si(t)&&a}}let ci={panStep:100,bearingStep:15,pitchStep:10};class ui{constructor(e){this._tr=new Un(e);let t=ci;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(e){if(e.altKey||e.ctrlKey||e.metaKey)return;let t=0,r=0,n=0,i=0,a=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?r=-1:(e.preventDefault(),i=-1);break;case 39:e.shiftKey?r=1:(e.preventDefault(),i=1);break;case 38:e.shiftKey?n=1:(e.preventDefault(),a=-1);break;case 40:e.shiftKey?n=-1:(e.preventDefault(),a=1);break;default:return}return this._rotationDisabled&&(r=0,n=0),{cameraAnimation:o=>{let s=this._tr;o.easeTo({duration:300,easeId:"keyboardHandler",easing:hi,zoom:t?Math.round(s.zoom)+t*(e.shiftKey?2:1):s.zoom,bearing:s.bearing+r*this._bearingStep,pitch:s.pitch+n*this._pitchStep,offset:[-i*this._panStep,-a*this._panStep],center:s.center},{originalEvent:e})}}}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 hi(e){return e*(2-e)}let fi=4.000244140625;class pi{constructor(e,t){this._onTimeout=e=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(e)},this._map=e,this._tr=new Un(e),this._triggerRenderFrame=t,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(e){this._defaultZoomRate=e}setWheelZoomRate(e){this._wheelZoomRate=e}isEnabled(){return!!this._enabled}isActive(){return!!this._active||void 0!==this._finishTimeout}isZooming(){return!!this._zooming}enable(e){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!e&&"center"===e.around)}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(e){return!!this._map.cooperativeGestures.isEnabled()&&!(e.ctrlKey||this._map.cooperativeGestures.isBypassed(e))}wheel(e){if(!this.isEnabled())return;if(this._shouldBePrevented(e))return void this._map.cooperativeGestures.notifyGestureBlocked("wheel_zoom",e);let t=e.deltaMode===WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,r=a.now(),n=r-(this._lastWheelEventTime||0);this._lastWheelEventTime=r,0!==t&&t%fi==0?this._type="wheel":0!==t&&Math.abs(t)<4?this._type="trackpad":n>400?(this._type=null,this._lastValue=t,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(n*t)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,t+=this._lastValue)),e.shiftKey&&t&&(t/=4),this._type&&(this._lastWheelEvent=e,this._delta-=t,this._active||this._start(e)),e.preventDefault()}_start(e){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 r=o.mousePos(this._map.getCanvas(),e),n=this._tr;this._around=r.y>n.transform.height/2-n.transform.getHorizon()?t.N.convert(this._aroundCenter?n.center:n.unproject(r)):t.N.convert(n.center),this._aroundPoint=n.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let e=this._tr.transform;if(0!==this._delta){let t="wheel"===this._type&&Math.abs(this._delta)>fi?this._wheelZoomRate:this._defaultZoomRate,r=2/(1+Math.exp(-Math.abs(this._delta*t)));this._delta<0&&0!==r&&(r=1/r);let n="number"==typeof this._targetZoom?e.zoomScale(this._targetZoom):e.scale;this._targetZoom=Math.min(e.maxZoom,Math.max(e.minZoom,e.scaleZoom(n*r))),"wheel"===this._type&&(this._startZoom=e.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let r,n="number"==typeof this._targetZoom?this._targetZoom:e.zoom,i=this._startZoom,o=this._easing,s=!1,l=a.now()-this._lastWheelEventTime;if("wheel"===this._type&&i&&o&&l){let e=Math.min(l/200,1),a=o(e);r=t.y.number(i,n,a),e<1?this._frameId||(this._frameId=!0):s=!0}else r=n,s=!0;return this._active=!0,s&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!s,zoomDelta:r-e.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(e){let r=t.b9;if(this._prevEase){let e=this._prevEase,n=(a.now()-e.start)/e.duration,i=e.easing(n+.01)-e.easing(n),o=.27/Math.sqrt(i*i+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=t.b8(o,s,.25,1)}return this._prevEase={start:a.now(),duration:e,easing:r},r}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class di{constructor(e,t){this._clickZoom=e,this._tapZoom=t}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 mi{constructor(e){this._tr=new Un(e),this.reset()}reset(){this._active=!1}dblclick(e,t){return e.preventDefault(),{cameraAnimation:r=>{r.easeTo({duration:300,zoom:this._tr.zoom+(e.shiftKey?-1:1),around:this._tr.unproject(t)},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class gi{constructor(){this._tap=new Gn({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(e,t,r){if(!this._swipePoint)if(this._tapTime){let n=t[0],i=e.timeStamp-this._tapTime<500,a=this._tapPoint.dist(n)<30;i&&a?r.length>0&&(this._swipePoint=n,this._swipeTouch=r[0].identifier):this.reset()}else this._tap.touchstart(e,t,r)}touchmove(e,t,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;let n=t[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,e.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(e,t,r)}touchend(e,t,r){if(this._tapTime)this._swipePoint&&0===r.length&&this.reset();else{let n=this._tap.touchend(e,t,r);n&&(this._tapTime=e.timeStamp,this._tapPoint=n)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class yi{constructor(e,t,r){this._el=e,this._mousePan=t,this._touchPan=r}enable(e){this._inertiaOptions=e||{},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 vi{constructor(e,t,r){this._pitchWithRotate=e.pitchWithRotate,this._mouseRotate=t,this._mousePitch=r}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 xi{constructor(e,t,r,n){this._el=e,this._touchZoom=t,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0}enable(e){this._touchZoom.enable(e),this._rotationDisabled||this._touchRotate.enable(e),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 _i{constructor(e,t){this._bypassKey=-1!==navigator.userAgent.indexOf("Mac")?"metaKey":"ctrlKey",this._map=e,this._options=t,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let e=this._map.getCanvasContainer();e.classList.add("maplibregl-cooperative-gestures"),this._container=o.create("div","maplibregl-cooperative-gesture-screen",e);let t=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");"metaKey"===this._bypassKey&&(t=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));let r=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),n=document.createElement("div");n.className="maplibregl-desktop-message",n.textContent=t,this._container.appendChild(n);let i=document.createElement("div");i.className="maplibregl-mobile-message",i.textContent=r,this._container.appendChild(i),this._container.setAttribute("aria-hidden","true")}_destroyUI(){this._container&&(o.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(e){return e[this._bypassKey]}notifyGestureBlocked(e,r){this._enabled&&(this._map.fire(new t.k("cooperativegestureprevented",{gestureType:e,originalEvent:r})),this._container.classList.add("maplibregl-show"),setTimeout((()=>{this._container.classList.remove("maplibregl-show")}),100))}}let bi=e=>e.zoom||e.drag||e.pitch||e.rotate;class wi extends t.k{}function Ti(e){return e.panDelta&&e.panDelta.mag()||e.zoomDelta||e.bearingDelta||e.pitchDelta}class ki{constructor(e,t){this.handleWindowEvent=e=>{this.handleEvent(e,`${e.type}Window`)},this.handleEvent=(e,t)=>{if("blur"===e.type)return void this.stop(!0);this._updatingCamera=!0;let r="renderFrame"===e.type?void 0:e,n={needsRenderFrame:!1},i={},a={},s=e.touches,l=s?this._getMapTouches(s):void 0,c=l?o.touchPos(this._map.getCanvas(),l):o.mousePos(this._map.getCanvas(),e);for(let{handlerName:o,handler:s,allowed:u}of this._handlers){if(!s.isEnabled())continue;let h;this._blockedByActive(a,u,o)?s.reset():s[t||e.type]&&(h=s[t||e.type](e,c,l),this.mergeHandlerResult(n,i,h,o,r),h&&h.needsRenderFrame&&this._triggerRenderFrame()),(h||s.isActive())&&(a[o]=s)}let u={};for(let e in this._previousActiveHandlers)a[e]||(u[e]=r);this._previousActiveHandlers=a,(Object.keys(u).length||Ti(n))&&(this._changes.push([n,i,u]),this._triggerRenderFrame()),(Object.keys(a).length||Ti(n))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:h}=n;h&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],h(this._map))},this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new zn(e),this._bearingSnap=t.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(t);let r=this._el;this._listeners=[[r,"touchstart",{passive:!0}],[r,"touchmove",{passive:!1}],[r,"touchend",void 0],[r,"touchcancel",void 0],[r,"mousedown",void 0],[r,"mousemove",void 0],[r,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[r,"mouseover",void 0],[r,"mouseout",void 0],[r,"dblclick",void 0],[r,"click",void 0],[r,"keydown",{capture:!1}],[r,"keyup",void 0],[r,"wheel",{passive:!1}],[r,"contextmenu",void 0],[window,"blur",void 0]];for(let[e,t,r]of this._listeners)o.addEventListener(e,t,e===document?this.handleWindowEvent:this.handleEvent,r)}destroy(){for(let[e,t,r]of this._listeners)o.removeEventListener(e,t,e===document?this.handleWindowEvent:this.handleEvent,r)}_addDefaultHandlers(e){let t=this._map,r=t.getCanvasContainer();this._add("mapEvent",new jn(t,e));let n=t.boxZoom=new Vn(t,e);this._add("boxZoom",n),e.interactive&&e.boxZoom&&n.enable();let i=t.cooperativeGestures=new _i(t,e.cooperativeGestures);this._add("cooperativeGestures",i),e.cooperativeGestures&&i.enable();let a=new Wn(t),s=new mi(t);t.doubleClickZoom=new di(s,a),this._add("tapZoom",a),this._add("clickZoom",s),e.interactive&&e.doubleClickZoom&&t.doubleClickZoom.enable();let l=new gi;this._add("tapDragZoom",l);let c=t.touchPitch=new li(t);this._add("touchPitch",c),e.interactive&&e.touchPitch&&t.touchPitch.enable(e.touchPitch);let u=Jn(e),h=Qn(e);t.dragRotate=new vi(e,u,h),this._add("mouseRotate",u,["mousePitch"]),this._add("mousePitch",h,["mouseRotate"]),e.interactive&&e.dragRotate&&t.dragRotate.enable();let f=(({enable:e,clickTolerance:t})=>{let r=new Xn({checkCorrectEvent:e=>0===o.mouseButton(e)&&!e.ctrlKey});return new Zn({clickTolerance:t,move:(e,t)=>({around:t,panDelta:t.sub(e)}),activateOnStart:!0,moveStateManager:r,enable:e,assignEvents:Kn})})(e),p=new ei(e,t);t.dragPan=new yi(r,f,p),this._add("mousePan",f),this._add("touchPan",p,["touchZoom","touchRotate"]),e.interactive&&e.dragPan&&t.dragPan.enable(e.dragPan);let d=new oi,m=new ii;t.touchZoomRotate=new xi(r,m,d,l),this._add("touchRotate",d,["touchPan","touchZoom"]),this._add("touchZoom",m,["touchPan","touchRotate"]),e.interactive&&e.touchZoomRotate&&t.touchZoomRotate.enable(e.touchZoomRotate);let g=t.scrollZoom=new pi(t,(()=>this._triggerRenderFrame()));this._add("scrollZoom",g,["mousePan"]),e.interactive&&e.scrollZoom&&t.scrollZoom.enable(e.scrollZoom);let y=t.keyboard=new ui(t);this._add("keyboard",y),e.interactive&&e.keyboard&&t.keyboard.enable(),this._add("blockableMapEvent",new Nn(t))}_add(e,t,r){this._handlers.push({handlerName:e,handler:t,allowed:r}),this._handlersById[e]=t}stop(e){if(!this._updatingCamera){for(let{handler:e}of this._handlers)e.reset();this._inertia.clear(),this._fireEvents({},{},e),this._changes=[]}}isActive(){for(let{handler:e}of this._handlers)if(e.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!bi(this._eventsInProgress)||this.isZooming()}_blockedByActive(e,t,r){for(let n in e)if(n!==r&&(!t||t.indexOf(n)<0))return!0;return!1}_getMapTouches(e){let t=[];for(let r of e)this._el.contains(r.target)&&t.push(r);return t}mergeHandlerResult(e,r,n,i,a){if(!n)return;t.e(e,n);let o={handlerName:i,originalEvent:n.originalEvent||a};void 0!==n.zoomDelta&&(r.zoom=o),void 0!==n.panDelta&&(r.drag=o),void 0!==n.pitchDelta&&(r.pitch=o),void 0!==n.bearingDelta&&(r.rotate=o)}_applyChanges(){let e={},r={},n={};for(let[i,a,o]of this._changes)i.panDelta&&(e.panDelta=(e.panDelta||new t.P(0,0))._add(i.panDelta)),i.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+i.zoomDelta),i.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+i.bearingDelta),i.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+i.pitchDelta),void 0!==i.around&&(e.around=i.around),void 0!==i.pinchAround&&(e.pinchAround=i.pinchAround),i.noInertia&&(e.noInertia=i.noInertia),t.e(r,a),t.e(n,o);this._updateMapTransform(e,r,n),this._changes=[]}_updateMapTransform(e,t,r){let n=this._map,i=n._getTransformForUpdate(),a=n.terrain;if(!(Ti(e)||a&&this._terrainMovement))return this._fireEvents(t,r,!0);let{panDelta:o,zoomDelta:s,bearingDelta:l,pitchDelta:c,around:u,pinchAround:h}=e;void 0!==h&&(u=h),n._stop(!0),u=u||n.transform.centerPoint;let f=i.pointLocation(o?u.sub(o):u);l&&(i.bearing+=l),c&&(i.pitch+=c),s&&(i.zoom+=s),a?this._terrainMovement||!t.drag&&!t.zoom?t.drag&&this._terrainMovement?i.center=i.pointLocation(i.centerPoint.sub(o)):i.setLocationAtPoint(f,u):(this._terrainMovement=!0,this._map._elevationFreeze=!0,i.setLocationAtPoint(f,u)):i.setLocationAtPoint(f,u),n._applyUpdatedTransform(i),this._map._update(),e.noInertia||this._inertia.record(e),this._fireEvents(t,r,!0)}_fireEvents(e,r,n){let i=bi(this._eventsInProgress),o=bi(e),s={};for(let t in e){let{originalEvent:r}=e[t];this._eventsInProgress[t]||(s[`${t}start`]=r),this._eventsInProgress[t]=e[t]}!i&&o&&this._fireEvent("movestart",o.originalEvent);for(let e in s)this._fireEvent(e,s[e]);o&&this._fireEvent("move",o.originalEvent);for(let t in e){let{originalEvent:r}=e[t];this._fireEvent(t,r)}let l,c={};for(let e in this._eventsInProgress){let{handlerName:t,originalEvent:n}=this._eventsInProgress[e];this._handlersById[t].isActive()||(delete this._eventsInProgress[e],l=r[t]||n,c[`${e}end`]=l)}for(let e in c)this._fireEvent(e,c[e]);let u=bi(this._eventsInProgress),h=(i||o)&&!u;if(h&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;let e=this._map._getTransformForUpdate();e.recalculateZoom(this._map.terrain),this._map._applyUpdatedTransform(e)}if(n&&h){this._updatingCamera=!0;let e=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),r=e=>0!==e&&-this._bearingSnap{delete this._frameId,this.handleEvent(new wi("renderFrame",{timeStamp:e})),this._applyChanges()}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame())}}class Ai extends t.E{constructor(e,t){super(),this._renderFrameCallback=()=>{let e=Math.min((a.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=e,this._bearingSnap=t.bearingSnap,this.on("moveend",(()=>{delete this._requestedCameraState}))}getCenter(){return new t.N(this.transform.center.lng,this.transform.center.lat)}setCenter(e,t){return this.jumpTo({center:e},t)}panBy(e,r,n){return e=t.P.convert(e).mult(-1),this.panTo(this.transform.center,t.e({offset:e},r),n)}panTo(e,r,n){return this.easeTo(t.e({center:e},r),n)}getZoom(){return this.transform.zoom}setZoom(e,t){return this.jumpTo({zoom:e},t),this}zoomTo(e,r,n){return this.easeTo(t.e({zoom:e},r),n)}zoomIn(e,t){return this.zoomTo(this.getZoom()+1,e,t),this}zoomOut(e,t){return this.zoomTo(this.getZoom()-1,e,t),this}getBearing(){return this.transform.bearing}setBearing(e,t){return this.jumpTo({bearing:e},t),this}getPadding(){return this.transform.padding}setPadding(e,t){return this.jumpTo({padding:e},t),this}rotateTo(e,r,n){return this.easeTo(t.e({bearing:e},r),n)}resetNorth(e,r){return this.rotateTo(0,t.e({duration:1e3},e),r),this}resetNorthPitch(e,r){return this.easeTo(t.e({bearing:0,pitch:0,duration:1e3},e),r),this}snapToNorth(e,t){return Math.abs(this.getBearing()){if(this._zooming&&(i.zoom=t.y.number(o,y,n)),this._rotating&&(i.bearing=t.y.number(s,u,n)),this._pitching&&(i.pitch=t.y.number(l,h,n)),this._padding&&(i.interpolatePadding(c,f,n),d=i.centerPoint.add(p)),this.terrain&&!e.freezeElevation&&this._updateElevation(n),v)i.setLocationAtPoint(v,x);else{let e=i.zoomScale(i.zoom-o),t=y>o?Math.min(2,w):Math.max(.5,w),r=Math.pow(t,1-n),a=i.unproject(_.add(b.mult(n*r)).mult(e));i.setLocationAtPoint(i.renderWorldCopies?a.wrap():a,d)}this._applyUpdatedTransform(i),this._fireMoveEvents(r)}),(t=>{this.terrain&&e.freezeElevation&&this._finalizeElevation(),this._afterEase(r,t)}),e),this}_prepareEase(e,r,n={}){this._moving=!0,r||n.moving||this.fire(new t.k("movestart",e)),this._zooming&&!n.zooming&&this.fire(new t.k("zoomstart",e)),this._rotating&&!n.rotating&&this.fire(new t.k("rotatestart",e)),this._pitching&&!n.pitching&&this.fire(new t.k("pitchstart",e))}_prepareElevation(e){this._elevationCenter=e,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(e,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(e){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let r=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(e<1&&r!==this._elevationTarget){let t=this._elevationTarget-this._elevationStart;this._elevationStart+=e*(t-(r-(t*e+this._elevationStart))/(1-e)),this._elevationTarget=r}this.transform.elevation=t.y.number(this._elevationStart,this._elevationTarget,e)}_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(e){let t=e.getCameraPosition(),r=this.terrain.getElevationForLngLatZoom(t.lngLat,e.zoom);if(t.altitudethis._elevateCameraIfInsideTerrain(e))),this.transformCameraUpdate&&t.push((e=>this.transformCameraUpdate(e))),!t.length)return;let r=e.clone();for(let e of t){let t=r.clone(),{center:n,zoom:i,pitch:a,bearing:o,elevation:s}=e(t);n&&(t.center=n),void 0!==i&&(t.zoom=i),void 0!==a&&(t.pitch=a),void 0!==o&&(t.bearing=o),void 0!==s&&(t.elevation=s),r.apply(t)}this.transform.apply(r)}_fireMoveEvents(e){this.fire(new t.k("move",e)),this._zooming&&this.fire(new t.k("zoom",e)),this._rotating&&this.fire(new t.k("rotate",e)),this._pitching&&this.fire(new t.k("pitch",e))}_afterEase(e,r){if(this._easeId&&r&&this._easeId===r)return;delete this._easeId;let n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new t.k("zoomend",e)),i&&this.fire(new t.k("rotateend",e)),a&&this.fire(new t.k("pitchend",e)),this.fire(new t.k("moveend",e))}flyTo(e,r){var n;if(!e.essential&&a.prefersReducedMotion){let n=t.M(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(n,r)}this.stop(),e=t.e({offset:[0,0],speed:1.2,curve:1.42,easing:t.b9},e);let i=this._getTransformForUpdate(),o=i.zoom,s=i.bearing,l=i.pitch,c=i.padding,u="bearing"in e?this._normalizeBearing(e.bearing,s):s,h="pitch"in e?+e.pitch:l,f="padding"in e?e.padding:i.padding,p=t.P.convert(e.offset),d=i.centerPoint.add(p),m=i.pointLocation(d),{center:g,zoom:y}=i.getConstrained(t.N.convert(e.center||m),null!==(n=e.zoom)&&void 0!==n?n:o);this._normalizeCenter(g,i);let v=i.zoomScale(y-o),x=i.project(m),_=i.project(g).sub(x),b=e.curve,w=Math.max(i.width,i.height),T=w/v,k=_.mag();if("minZoom"in e){let r=t.ac(Math.min(e.minZoom,o,y),i.minZoom,i.maxZoom),n=w/i.zoomScale(r-o);b=Math.sqrt(n/k*2)}let A=b*b;function M(e){let t=(T*T-w*w+(e?-1:1)*A*A*k*k)/(2*(e?T:w)*A*k);return Math.log(Math.sqrt(t*t+1)-t)}function S(e){return(Math.exp(e)-Math.exp(-e))/2}function E(e){return(Math.exp(e)+Math.exp(-e))/2}let C=M(!1),I=function(e){return E(C)/E(C+b*e)},L=function(e){return w*((E(C)*(S(t=C+b*e)/E(t))-S(C))/A)/k;var t},P=(M(!0)-C)/b;if(Math.abs(k)<1e-6||!isFinite(P)){if(Math.abs(w-T)<1e-6)return this.easeTo(e,r);let t=T0,I=e=>Math.exp(t*b*e)}return e.duration="duration"in e?+e.duration:1e3*P/("screenSpeed"in e?+e.screenSpeed/b:+e.speed),e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==u,this._pitching=h!==l,this._padding=!i.isPaddingEqual(f),this._prepareEase(r,!1),this.terrain&&this._prepareElevation(g),this._ease((n=>{let a=n*P,m=1/I(a);i.zoom=1===n?y:o+i.scaleZoom(m),this._rotating&&(i.bearing=t.y.number(s,u,n)),this._pitching&&(i.pitch=t.y.number(l,h,n)),this._padding&&(i.interpolatePadding(c,f,n),d=i.centerPoint.add(p)),this.terrain&&!e.freezeElevation&&this._updateElevation(n);let v=1===n?g:i.unproject(x.add(_.mult(L(a))).mult(m));i.setLocationAtPoint(i.renderWorldCopies?v.wrap():v,d),this._applyUpdatedTransform(i),this._fireMoveEvents(r)}),(()=>{this.terrain&&e.freezeElevation&&this._finalizeElevation(),this._afterEase(r)}),e),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(e,t){var r;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let e=this._onEaseEnd;delete this._onEaseEnd,e.call(this,t)}return e||null===(r=this.handlers)||void 0===r||r.stop(!1),this}_ease(e,t,r){!1===r.animate||0===r.duration?(e(1),t()):(this._easeStart=a.now(),this._easeOptions=r,this._onEaseFrame=e,this._onEaseEnd=t,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(e,r){e=t.b3(e,-180,180);let n=Math.abs(e-r);return Math.abs(e-360-r)180?-360:r<-180?360:0}queryTerrainElevation(e){return this.terrain?this.terrain.getElevationForLngLatZoom(t.N.convert(e),this.transform.tileZoom)-this.transform.elevation:null}}let Mi={compact:!0,customAttribution:'MapLibre'};class Si{constructor(e=Mi){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=e=>{!e||"metadata"!==e.sourceDataType&&"visibility"!==e.sourceDataType&&"style"!==e.dataType&&"terrain"!==e.type||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1===this._compact?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=e}getDefaultPosition(){return"bottom-right"}onAdd(e){return this._map=e,this._compact=this.options.compact,this._container=o.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=o.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=o.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(){o.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(e,t){let r=this._map._getUIString(`AttributionControl.${t}`);e.title=r,e.setAttribute("aria-label",r)}_updateAttributions(){if(!this._map.style)return;let e=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?e=e.concat(this.options.customAttribution.map((e=>"string"!=typeof e?"":e))):"string"==typeof this.options.customAttribution&&e.push(this.options.customAttribution)),this._map.style.stylesheet){let e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id}let t=this._map.style.sourceCaches;for(let r in t){let n=t[r];if(n.used||n.usedForTerrain){let t=n.getSource();t.attribution&&e.indexOf(t.attribution)<0&&e.push(t.attribution)}}e=e.filter((e=>String(e).trim())),e.sort(((e,t)=>e.length-t.length)),e=e.filter(((t,r)=>{for(let n=r+1;n=0)return!1;return!0}));let r=e.join(" | ");r!==this._attribHTML&&(this._attribHTML=r,e.length?(this._innerContainer.innerHTML=r,this._container.classList.remove("maplibregl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty"),this._updateCompact(),this._editLink=null)}}class Ei{constructor(e={}){this._updateCompact=()=>{let e=this._container.children;if(e.length){let t=e[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1!==this._compact&&t.classList.add("maplibregl-compact"):t.classList.remove("maplibregl-compact")}},this.options=e}getDefaultPosition(){return"bottom-left"}onAdd(e){this._map=e,this._compact=this.options&&this.options.compact,this._container=o.create("div","maplibregl-ctrl");let t=o.create("a","maplibregl-ctrl-logo");return t.target="_blank",t.rel="noopener nofollow",t.href="https://maplibre.org/",t.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),t.setAttribute("rel","noopener nofollow"),this._container.appendChild(t),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){o.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}}class Ci{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(e){let t=++this._id;return this._queue.push({callback:e,id:t,cancelled:!1}),t}remove(e){let t=this._currentlyRunning,r=t?this._queue.concat(t):this._queue;for(let t of r)if(t.id===e)return void(t.cancelled=!0)}run(e=0){if(this._currentlyRunning)throw new Error("Attempting to run(), but is already running.");let t=this._currentlyRunning=this._queue;this._queue=[];for(let r of t)if(!r.cancelled&&(r.callback(e),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var Ii=t.Y([{name:"a_pos3d",type:"Int16",components:3}]);class Li extends t.E{constructor(e){super(),this.sourceCache=e,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,e.usedForTerrain=!0,e.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(e,r){this.sourceCache.update(e,r),this._renderableTilesKeys=[];let n={};for(let i of e.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:r}))n[i.key]=!0,this._renderableTilesKeys.push(i.key),this._tiles[i.key]||(i.posMatrix=new Float64Array(16),t.aP(i.posMatrix,0,t.X,0,t.X,0,1),this._tiles[i.key]=new ce(i,this.tileSize));for(let e in this._tiles)n[e]||delete this._tiles[e]}freeRtt(e){for(let t in this._tiles){let r=this._tiles[t];(!e||r.tileID.equals(e)||r.tileID.isChildOf(e)||e.isChildOf(r.tileID))&&(r.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map((e=>this.getTileByID(e)))}getTileByID(e){return this._tiles[e]}getTerrainCoords(e){let r={};for(let n of this._renderableTilesKeys){let i=this._tiles[n].tileID;if(i.canonical.equals(e.canonical)){let i=e.clone();i.posMatrix=new Float64Array(16),t.aP(i.posMatrix,0,t.X,0,t.X,0,1),r[n]=i}else if(i.canonical.isChildOf(e.canonical)){let a=e.clone();a.posMatrix=new Float64Array(16);let o=i.canonical.z-e.canonical.z,s=i.canonical.x-(i.canonical.x>>o<>o<>o;t.aP(a.posMatrix,0,c,0,c,0,1),t.J(a.posMatrix,a.posMatrix,[-s*c,-l*c,0]),r[n]=a}else if(e.canonical.isChildOf(i.canonical)){let a=e.clone();a.posMatrix=new Float64Array(16);let o=e.canonical.z-i.canonical.z,s=e.canonical.x-(e.canonical.x>>o<>o<>o;t.aP(a.posMatrix,0,t.X,0,t.X,0,1),t.J(a.posMatrix,a.posMatrix,[s*c,l*c,0]),t.K(a.posMatrix,a.posMatrix,[1/2**o,1/2**o,0]),r[n]=a}}return r}getSourceTile(e,t){let r=this.sourceCache._source,n=e.overscaledZ-this.deltaZoom;if(n>r.maxzoom&&(n=r.maxzoom),n=r.minzoom&&(!i||!i.dem);)i=this.sourceCache.getTileByID(e.scaledTo(n--).key);return i}tilesAfterTime(e=Date.now()){return Object.values(this._tiles).filter((t=>t.timeAdded>=e))}}class Pi{constructor(e,t,r){this.painter=e,this.sourceCache=new Li(t),this.options=r,this.exaggeration="number"==typeof r.exaggeration?r.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(e,r,n,i=t.X){var a;if(!(r>=0&&r=0&&ne.canonical.z&&(e.canonical.z>=n?i=e.canonical.z-n:t.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));let a=e.canonical.x-(e.canonical.x>>i<>i<>8<<4|e>>8,r[t+3]=0;let n=new t.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(r.buffer)),i=new w(e,n,e.gl.RGBA,{premultiply:!1});return i.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._coordsTexture=i,i}pointCoordinate(e){this.painter.maybeDrawDepthAndCoords(!0);let r=new Uint8Array(4),n=this.painter.context,i=n.gl,a=Math.round(e.x*this.painter.pixelRatio/devicePixelRatio),o=Math.round(e.y*this.painter.pixelRatio/devicePixelRatio),s=Math.round(this.painter.height/devicePixelRatio);n.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),i.readPixels(a,s-o-1,1,1,i.RGBA,i.UNSIGNED_BYTE,r),n.bindFramebuffer.set(null);let l=r[0]+(r[2]>>4<<8),c=r[1]+((15&r[2])<<8),u=this.coordsIndex[255-r[3]],h=u&&this.sourceCache.getTileByID(u);if(!h)return null;let f=this._coordsTextureSize,p=(1<e.id!==t)),this._recentlyUsed.push(e.id)}stampObject(e){e.stamp=++this._stamp}getOrCreateFreeObject(){for(let e of this._recentlyUsed)if(!this._objects[e].inUse)return this._objects[e];if(this._objects.length>=this._size)throw new Error("No free RenderPool available, call freeAllObjects() required!");let e=this._createObject(this._objects.length);return this._objects.push(e),e}freeObject(e){e.inUse=!1}freeAllObjects(){for(let e of this._objects)this.freeObject(e)}isFull(){return!(this._objects.length!e.inUse))}}let Di={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class Oi{constructor(e,t){this.painter=e,this.terrain=t,this.pool=new zi(e.context,30,t.sourceCache.tileSize*t.qualityFactor)}destruct(){this.pool.destruct()}getTexture(e){return this.pool.getObjectForId(e.rtt[this._stacks.length-1].id).texture}prepareForRender(e,t){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=e._order.filter((r=>!e._layers[r].isHidden(t))),this._coordsDescendingInv={};for(let t in e.sourceCaches){this._coordsDescendingInv[t]={};let r=e.sourceCaches[t].getVisibleCoordinates();for(let e of r){let r=this.terrain.sourceCache.getTerrainCoords(e);for(let e in r)this._coordsDescendingInv[t][e]||(this._coordsDescendingInv[t][e]=[]),this._coordsDescendingInv[t][e].push(r[e])}}this._coordsDescendingInvStr={};for(let t of e._order){let r=e._layers[t],n=r.source;if(Di[r.type]&&!this._coordsDescendingInvStr[n]){this._coordsDescendingInvStr[n]={};for(let e in this._coordsDescendingInv[n])this._coordsDescendingInvStr[n][e]=this._coordsDescendingInv[n][e].map((e=>e.key)).sort().join()}}for(let e of this._renderableTiles)for(let t in this._coordsDescendingInvStr){let r=this._coordsDescendingInvStr[t][e.tileID.key];r&&r!==e.rttCoords[t]&&(e.rtt=[])}}renderLayer(e){if(e.isHidden(this.painter.transform.zoom))return!1;let r=e.type,n=this.painter,i=this._renderableLayerIds[this._renderableLayerIds.length-1]===e.id;if(Di[r]&&(this._prevType&&Di[this._prevType]||this._stacks.push([]),this._prevType=r,this._stacks[this._stacks.length-1].push(e.id),!i))return!0;if(Di[this._prevType]||Di[r]&&i){this._prevType=r;let e=this._stacks.length-1,i=this._stacks[e]||[];for(let r of this._renderableTiles){if(this.pool.isFull()&&(vn(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(r),r.rtt[e]){let t=this.pool.getObjectForId(r.rtt[e].id);if(t.stamp===r.rtt[e].stamp){this.pool.useObject(t);continue}}let a=this.pool.getOrCreateFreeObject();this.pool.useObject(a),this.pool.stampObject(a),r.rtt[e]={id:a.id,stamp:a.stamp},n.context.bindFramebuffer.set(a.fbo.framebuffer),n.context.clear({color:t.aM.transparent,stencil:0}),n.currentStencilSource=void 0;for(let e=0;e{e.touchstart=e.dragStart,e.touchmoveWindow=e.dragMove,e.touchend=e.dragEnd},Ui={showCompass:!0,showZoom:!0,visualizePitch:!1};class Vi{constructor(e,r,n=!1){this.mousedown=e=>{this.startMouse(t.e({},e,{ctrlKey:!0,preventDefault:()=>e.preventDefault()}),o.mousePos(this.element,e)),o.addEventListener(window,"mousemove",this.mousemove),o.addEventListener(window,"mouseup",this.mouseup)},this.mousemove=e=>{this.moveMouse(e,o.mousePos(this.element,e))},this.mouseup=e=>{this.mouseRotate.dragEnd(e),this.mousePitch&&this.mousePitch.dragEnd(e),this.offTemp()},this.touchstart=e=>{1!==e.targetTouches.length?this.reset():(this._startPos=this._lastPos=o.touchPos(this.element,e.targetTouches)[0],this.startTouch(e,this._startPos),o.addEventListener(window,"touchmove",this.touchmove,{passive:!1}),o.addEventListener(window,"touchend",this.touchend))},this.touchmove=e=>{1!==e.targetTouches.length?this.reset():(this._lastPos=o.touchPos(this.element,e.targetTouches)[0],this.moveTouch(e,this._lastPos))},this.touchend=e=>{0===e.targetTouches.length&&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 i=e.dragRotate._mouseRotate.getClickTolerance(),a=e.dragRotate._mousePitch.getClickTolerance();this.element=r,this.mouseRotate=Jn({clickTolerance:i,enable:!0}),this.touchRotate=(({enable:e,clickTolerance:t,bearingDegreesPerPixelMoved:r=.8})=>{let n=new $n;return new Zn({clickTolerance:t,move:(e,t)=>({bearingDelta:(t.x-e.x)*r}),moveStateManager:n,enable:e,assignEvents:Ni})})({clickTolerance:i,enable:!0}),this.map=e,n&&(this.mousePitch=Qn({clickTolerance:a,enable:!0}),this.touchPitch=(({enable:e,clickTolerance:t,pitchDegreesPerPixelMoved:r=-.5})=>{let n=new $n;return new Zn({clickTolerance:t,move:(e,t)=>({pitchDelta:(t.y-e.y)*r}),moveStateManager:n,enable:e,assignEvents:Ni})})({clickTolerance:a,enable:!0})),o.addEventListener(r,"mousedown",this.mousedown),o.addEventListener(r,"touchstart",this.touchstart,{passive:!1}),o.addEventListener(r,"touchcancel",this.reset)}startMouse(e,t){this.mouseRotate.dragStart(e,t),this.mousePitch&&this.mousePitch.dragStart(e,t),o.disableDrag()}startTouch(e,t){this.touchRotate.dragStart(e,t),this.touchPitch&&this.touchPitch.dragStart(e,t),o.disableDrag()}moveMouse(e,t){let r=this.map,{bearingDelta:n}=this.mouseRotate.dragMove(e,t)||{};if(n&&r.setBearing(r.getBearing()+n),this.mousePitch){let{pitchDelta:n}=this.mousePitch.dragMove(e,t)||{};n&&r.setPitch(r.getPitch()+n)}}moveTouch(e,t){let r=this.map,{bearingDelta:n}=this.touchRotate.dragMove(e,t)||{};if(n&&r.setBearing(r.getBearing()+n),this.touchPitch){let{pitchDelta:n}=this.touchPitch.dragMove(e,t)||{};n&&r.setPitch(r.getPitch()+n)}}off(){let e=this.element;o.removeEventListener(e,"mousedown",this.mousedown),o.removeEventListener(e,"touchstart",this.touchstart,{passive:!1}),o.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),o.removeEventListener(window,"touchend",this.touchend),o.removeEventListener(e,"touchcancel",this.reset),this.offTemp()}offTemp(){o.enableDrag(),o.removeEventListener(window,"mousemove",this.mousemove),o.removeEventListener(window,"mouseup",this.mouseup),o.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),o.removeEventListener(window,"touchend",this.touchend)}}function qi(e,r,n){let i=new t.N(e.lng,e.lat);if(e=new t.N(e.lng,e.lat),r){let i=new t.N(e.lng-360,e.lat),a=new t.N(e.lng+360,e.lat),o=n.locationPoint(e).distSqr(r);n.locationPoint(i).distSqr(r)180;){let t=n.locationPoint(e);if(t.x>=0&&t.y>=0&&t.x<=n.width&&t.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e.lng!==i.lng&&n.locationPoint(e).y>n.height/2-n.getHorizon()?e:i}let Hi={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 Gi(e,t,r){let n=e.classList;for(let e in Hi)n.remove(`maplibregl-${r}-anchor-${e}`);n.add(`maplibregl-${r}-anchor-${t}`)}class Wi extends t.E{constructor(e){if(super(),this._onKeyPress=e=>{let t=e.code,r=e.charCode||e.keyCode;"Space"!==t&&"Enter"!==t&&32!==r&&13!==r||this.togglePopup()},this._onMapClick=e=>{let t=e.originalEvent.target,r=this._element;this._popup&&(t===r||r.contains(t))&&this.togglePopup()},this._update=e=>{var t;if(!this._map)return;let r=this._map.loaded()&&!this._map.isMoving();("terrain"===e?.type||"render"===e?.type&&!r)&&this._map.once("render",this._update),this._lngLat=this._map.transform.renderWorldCopies?qi(this._lngLat,this._flatPos,this._map.transform):null===(t=this._lngLat)||void 0===t?void 0:t.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 n="";"viewport"===this._rotationAlignment||"auto"===this._rotationAlignment?n=`rotateZ(${this._rotation}deg)`:"map"===this._rotationAlignment&&(n=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let i="";"viewport"===this._pitchAlignment||"auto"===this._pitchAlignment?i="rotateX(0deg)":"map"===this._pitchAlignment&&(i=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||e&&"moveend"!==e.type||(this._pos=this._pos.round()),o.setTransform(this._element,`${Hi[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${i} ${n}`),a.frameAsync(new AbortController).then((()=>{this._updateOpacity(e&&"moveend"===e.type)})).catch((()=>{}))},this._onMove=e=>{if(!this._isDragging){let t=this._clickTolerance||this._map._clickTolerance;this._isDragging=e.point.dist(this._pointerdownPos)>=t}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new t.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),"active"===this._state&&this.fire(new t.k("dragend")),this._state="inactive"},this._addDragHandler=e=>{this._element.contains(e.originalEvent.target)&&(e.preventDefault(),this._positionDelta=e.point.sub(this._pos).add(this._offset),this._pointerdownPos=e.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=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._subpixelPositioning=e&&e.subpixelPositioning||!1,this._isDragging=!1,this._state="inactive",this._rotation=e&&e.rotation||0,this._rotationAlignment=e&&e.rotationAlignment||"auto",this._pitchAlignment=e&&e.pitchAlignment&&"auto"!==e.pitchAlignment?e.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(e?.opacity,e?.opacityWhenCovered),e&&e.element)this._element=e.element,this._offset=t.P.convert(e&&e.offset||[0,0]);else{this._defaultMarker=!0,this._element=o.create("div");let r=o.createNS("http://www.w3.org/2000/svg","svg"),n=41,i=27;r.setAttributeNS(null,"display","block"),r.setAttributeNS(null,"height",`${n}px`),r.setAttributeNS(null,"width",`${i}px`),r.setAttributeNS(null,"viewBox",`0 0 ${i} ${n}`);let a=o.createNS("http://www.w3.org/2000/svg","g");a.setAttributeNS(null,"stroke","none"),a.setAttributeNS(null,"stroke-width","1"),a.setAttributeNS(null,"fill","none"),a.setAttributeNS(null,"fill-rule","evenodd");let s=o.createNS("http://www.w3.org/2000/svg","g");s.setAttributeNS(null,"fill-rule","nonzero");let l=o.createNS("http://www.w3.org/2000/svg","g");l.setAttributeNS(null,"transform","translate(3.0, 29.0)"),l.setAttributeNS(null,"fill","#000000");let c=[{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 e of c){let t=o.createNS("http://www.w3.org/2000/svg","ellipse");t.setAttributeNS(null,"opacity","0.04"),t.setAttributeNS(null,"cx","10.5"),t.setAttributeNS(null,"cy","5.80029008"),t.setAttributeNS(null,"rx",e.rx),t.setAttributeNS(null,"ry",e.ry),l.appendChild(t)}let u=o.createNS("http://www.w3.org/2000/svg","g");u.setAttributeNS(null,"fill",this._color);let h=o.createNS("http://www.w3.org/2000/svg","path");h.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"),u.appendChild(h);let f=o.createNS("http://www.w3.org/2000/svg","g");f.setAttributeNS(null,"opacity","0.25"),f.setAttributeNS(null,"fill","#000000");let p=o.createNS("http://www.w3.org/2000/svg","path");p.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"),f.appendChild(p);let d=o.createNS("http://www.w3.org/2000/svg","g");d.setAttributeNS(null,"transform","translate(6.0, 7.0)"),d.setAttributeNS(null,"fill","#FFFFFF");let m=o.createNS("http://www.w3.org/2000/svg","g");m.setAttributeNS(null,"transform","translate(8.0, 8.0)");let g=o.createNS("http://www.w3.org/2000/svg","circle");g.setAttributeNS(null,"fill","#000000"),g.setAttributeNS(null,"opacity","0.25"),g.setAttributeNS(null,"cx","5.5"),g.setAttributeNS(null,"cy","5.5"),g.setAttributeNS(null,"r","5.4999962");let y=o.createNS("http://www.w3.org/2000/svg","circle");y.setAttributeNS(null,"fill","#FFFFFF"),y.setAttributeNS(null,"cx","5.5"),y.setAttributeNS(null,"cy","5.5"),y.setAttributeNS(null,"r","5.4999962"),m.appendChild(g),m.appendChild(y),s.appendChild(l),s.appendChild(u),s.appendChild(f),s.appendChild(d),s.appendChild(m),r.appendChild(s),r.setAttributeNS(null,"height",n*this._scale+"px"),r.setAttributeNS(null,"width",i*this._scale+"px"),this._element.appendChild(r),this._offset=t.P.convert(e&&e.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",(e=>{e.preventDefault()})),this._element.addEventListener("mousedown",(e=>{e.preventDefault()})),Gi(this._element,this._anchor,"marker"),e&&e.className)for(let t of e.className.split(" "))this._element.classList.add(t);this._popup=null}addTo(e){return this.remove(),this._map=e,this._element.setAttribute("aria-label",e._getUIString("Marker.Title")),e.getCanvasContainer().appendChild(this._element),e.on("move",this._update),e.on("moveend",this._update),e.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),o.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.N.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(e){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),e){if(!("offset"in e.options)){let t=Math.abs(13.5)/Math.SQRT2;e.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[t,-1*(24.6+t)],"bottom-right":[-t,-1*(24.6+t)],left:[13.5,-24.6],right:[-13.5,-24.6]}:this._offset}this._popup=e,this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}setSubpixelPositioning(e){return this._subpixelPositioning=e,this}getPopup(){return this._popup}togglePopup(){let e=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:e?(e.isOpen()?e.remove():(e.setLngLat(this._lngLat),e.addTo(this._map)),this):this}_updateOpacity(e=!1){var r,n;if(null===(r=this._map)||void 0===r||!r.terrain)return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(e)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout((()=>{this._opacityTimeout=null}),100)}let i=this._map,a=i.terrain.depthAtPoint(this._pos),o=i.terrain.getElevationForLngLatZoom(this._lngLat,i.transform.tileZoom);if(i.transform.lngLatToCameraDepth(this._lngLat,o)-a<.006)return void(this._element.style.opacity=this._opacity);let s=-this._offset.y/i.transform._pixelPerMeter,l=Math.sin(i.getPitch()*Math.PI/180)*s,c=i.terrain.depthAtPoint(new t.P(this._pos.x,this._pos.y-this._offset.y)),u=i.transform.lngLatToCameraDepth(this._lngLat,o+l)-c>.006;!(null===(n=this._popup)||void 0===n)&&n.isOpen()&&u&&this._popup.remove(),this._element.style.opacity=u?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(e){return this._offset=t.P.convert(e),this._update(),this}addClassName(e){this._element.classList.add(e)}removeClassName(e){this._element.classList.remove(e)}toggleClassName(e){return this._element.classList.toggle(e)}setDraggable(e){return this._draggable=!!e,this._map&&(e?(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(e){return this._rotation=e||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(e){return this._rotationAlignment=e||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(e){return this._pitchAlignment=e&&"auto"!==e?e:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(e,t){return void 0===e&&void 0===t&&(this._opacity="1",this._opacityWhenCovered="0.2"),void 0!==e&&(this._opacity=e),void 0!==t&&(this._opacityWhenCovered=t),this._map&&this._updateOpacity(!0),this}}let Zi={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},Yi=0,Xi=!1,$i={maxWidth:100,unit:"metric"};function Ki(e,t,r){let n=r&&r.maxWidth||100,i=e._container.clientHeight/2,a=e.unproject([0,i]),o=e.unproject([n,i]),s=a.distanceTo(o);if(r&&"imperial"===r.unit){let r=3.2808*s;r>5280?Ji(t,n,r/5280,e._getUIString("ScaleControl.Miles")):Ji(t,n,r,e._getUIString("ScaleControl.Feet"))}else r&&"nautical"===r.unit?Ji(t,n,s/1852,e._getUIString("ScaleControl.NauticalMiles")):s>=1e3?Ji(t,n,s/1e3,e._getUIString("ScaleControl.Kilometers")):Ji(t,n,s,e._getUIString("ScaleControl.Meters"))}function Ji(e,t,r,n){let i=function(e){let t=Math.pow(10,`${Math.floor(e)}`.length-1),r=e/t;return r=r>=10?10:r>=5?5:r>=3?3:r>=2?2:r>=1?1:function(e){let t=Math.pow(10,Math.ceil(-Math.log(e)/Math.LN10));return Math.round(e*t)/t}(r),t*r}(r);e.style.width=t*(i/r)+"px",e.innerHTML=`${i} ${n}`}let Qi={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",subpixelPositioning:!1},ea=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function ta(e){if(e){if("number"==typeof e){let r=Math.round(Math.abs(e)/Math.SQRT2);return{center:new t.P(0,0),top:new t.P(0,e),"top-left":new t.P(r,r),"top-right":new t.P(-r,r),bottom:new t.P(0,-e),"bottom-left":new t.P(r,-r),"bottom-right":new t.P(-r,-r),left:new t.P(e,0),right:new t.P(-e,0)}}if(e instanceof t.P||Array.isArray(e)){let r=t.P.convert(e);return{center:r,top:r,"top-left":r,"top-right":r,bottom:r,"bottom-left":r,"bottom-right":r,left:r,right:r}}return{center:t.P.convert(e.center||[0,0]),top:t.P.convert(e.top||[0,0]),"top-left":t.P.convert(e["top-left"]||[0,0]),"top-right":t.P.convert(e["top-right"]||[0,0]),bottom:t.P.convert(e.bottom||[0,0]),"bottom-left":t.P.convert(e["bottom-left"]||[0,0]),"bottom-right":t.P.convert(e["bottom-right"]||[0,0]),left:t.P.convert(e.left||[0,0]),right:t.P.convert(e.right||[0,0])}}return ta(new t.P(0,0))}let ra=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=Si,e.BoxZoomHandler=Vn,e.CanvasSource=re,e.CooperativeGesturesHandler=_i,e.DoubleClickZoomHandler=di,e.DragPanHandler=yi,e.DragRotateHandler=vi,e.EdgeInsets=Tn,e.FullscreenControl=class extends t.E{constructor(e={}){super(),this._onFullscreenChange=()=>{var e;let t=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;null!==(e=t?.shadowRoot)&&void 0!==e&&e.fullscreenElement;)t=t.shadowRoot.fullscreenElement;t===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,e&&e.container&&(e.container instanceof HTMLElement?this._container=e.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(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=o.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),this._controlContainer}onRemove(){o.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let e=this._fullscreenButton=o.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);o.create("span","maplibregl-ctrl-icon",e).setAttribute("aria-hidden","true"),e.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let e=this._getTitle();this._fullscreenButton.setAttribute("aria-label",e),this._fullscreenButton.title=e}_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=J,e.GeolocateControl=class extends t.E{constructor(e){super(),this._onSuccess=e=>{if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.k("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("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&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new t.k("geolocate",e)),this._finish()}},this._updateCamera=e=>{let r=new t.N(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,i=this._map.getBearing(),a=t.e({bearing:i},this.options.fitBoundsOptions),o=Z.fromLngLat(r,n);this._map.fitBounds(o,a,{geolocateSource:!0})},this._updateMarker=e=>{if(e){let r=new t.N(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=e.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=e=>{if(this._map){if(this.options.trackUserLocation)if(1===e.code){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 e=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=e,this._geolocateButton.setAttribute("aria-label",e),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&Xi)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new t.k("error",e)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener("contextmenu",(e=>e.preventDefault())),this._geolocateButton=o.create("button","maplibregl-ctrl-geolocate",this._container),o.create("span","maplibregl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",this._geolocateButton.disabled=!0)},this._finishSetupUI=e=>{if(this._map){if(!1===e){t.w("Geolocation support is not available so the GeolocateControl will be disabled.");let e=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=e,this._geolocateButton.setAttribute("aria-label",e)}else{let e=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.disabled=!1,this._geolocateButton.title=e,this._geolocateButton.setAttribute("aria-label",e)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=o.create("div","maplibregl-user-location-dot"),this._userLocationDotMarker=new Wi({element:this._dotElement}),this._circleElement=o.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Wi({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",(e=>{e.geolocateSource||"ACTIVE_LOCK"!==this._watchState||e.originalEvent&&"resize"===e.originalEvent.type||(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({},Zi,e)}onAdd(e){return this._map=e,this._container=o.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),function(){return t._(this,arguments,void 0,(function*(e=!1){if(void 0!==Ri&&!e)return Ri;if(void 0===window.navigator.permissions)return Ri=!!window.navigator.geolocation,Ri;try{Ri="denied"!==(yield window.navigator.permissions.query({name:"geolocation"})).state}catch{Ri=!!window.navigator.geolocation}return Ri}))}().then((e=>this._finishSetupUI(e))),this._container}onRemove(){void 0!==this._geolocationWatchID&&(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(),o.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,Yi=0,Xi=!1}_isOutOfMapMaxBounds(e){let t=this._map.getMaxBounds(),r=e.coords;return t&&(r.longitudet.getEast()||r.latitudet.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 e=this._map.getBounds(),t=e.getSouthEast(),r=e.getNorthEast(),n=t.distanceTo(r),i=Math.ceil(this._accuracy/(n/this._map._container.clientHeight)*2);this._circleElement.style.width=`${i}px`,this._circleElement.style.height=`${i}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":Yi--,Xi=!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("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let e;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),Yi++,Yi>1?(e={maximumAge:6e5,timeout:0},Xi=!0):(e=this.options.positionOptions,Xi=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}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=Sn,e.ImageSource=ee,e.KeyboardHandler=ui,e.LngLatBounds=Z,e.LogoControl=Ei,e.Map=class extends Ai{constructor(e){t.bf.mark(t.bg.create);let r=Object.assign(Object.assign({},ji),e);if(null!=r.minZoom&&null!=r.maxZoom&&r.minZoom>r.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=r.minPitch&&null!=r.maxPitch&&r.minPitch>r.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=r.minPitch&&r.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=r.maxPitch&&r.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(super(new An(r.minZoom,r.maxZoom,r.minPitch,r.maxPitch,r.renderWorldCopies),{bearingSnap:r.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new Ci,this._controls=[],this._mapId=t.a4(),this._contextLost=e=>{e.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new t.k("webglcontextlost",{originalEvent:e}))},this._contextRestored=e=>{this._setupPainter(),this.resize(),this._update(),this.fire(new t.k("webglcontextrestored",{originalEvent:e}))},this._onMapScroll=e=>{if(e.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=r.interactive,this._maxTileCacheSize=r.maxTileCacheSize,this._maxTileCacheZoomLevels=r.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=!0===r.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=!0===r.preserveDrawingBuffer,this._antialias=!0===r.antialias,this._trackResize=!0===r.trackResize,this._bearingSnap=r.bearingSnap,this._refreshExpiredTiles=!0===r.refreshExpiredTiles,this._fadeDuration=r.fadeDuration,this._crossSourceCollisions=!0===r.crossSourceCollisions,this._collectResourceTiming=!0===r.collectResourceTiming,this._locale=Object.assign(Object.assign({},Fi),r.locale),this._clickTolerance=r.clickTolerance,this._overridePixelRatio=r.pixelRatio,this._maxCanvasSize=r.maxCanvasSize,this.transformCameraUpdate=r.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=!0===r.cancelPendingTileRequestsWhileZooming,this._imageQueueHandle=p.addThrottleControl((()=>this.isMoving())),this._requestManager=new d(r.transformRequest),"string"==typeof r.container){if(this._container=document.getElementById(r.container),!this._container)throw new Error(`Container '${r.container}' not found.`)}else{if(!(r.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=r.container}if(r.maxBounds&&this.setMaxBounds(r.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 e=!1,t=Mn((e=>{this._trackResize&&!this._removed&&(this.resize(e),this.redraw())}),50);this._resizeObserver=new ResizeObserver((r=>{e?t(r):e=!0})),this._resizeObserver.observe(this._container)}this.handlers=new ki(this,r),this._hash=r.hash&&new Sn("string"==typeof r.hash&&r.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:r.center,zoom:r.zoom,bearing:r.bearing,pitch:r.pitch}),r.bounds&&(this.resize(),this.fitBounds(r.bounds,t.e({},r.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=r.localIdeographFontFamily,this._validateStyle=r.validateStyle,r.style&&this.setStyle(r.style,{localIdeographFontFamily:r.localIdeographFontFamily}),r.attributionControl&&this.addControl(new Si("boolean"==typeof r.attributionControl?void 0:r.attributionControl)),r.maplibreLogo&&this.addControl(new Ei,r.logoPosition),this.on("style.load",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)})),this.on("data",(e=>{this._update("style"===e.dataType),this.fire(new t.k(`${e.dataType}data`,e))})),this.on("dataloading",(e=>{this.fire(new t.k(`${e.dataType}dataloading`,e))})),this.on("dataabort",(e=>{this.fire(new t.k("sourcedataabort",e))}))}_getMapId(){return this._mapId}addControl(e,r){if(void 0===r&&(r=e.getDefaultPosition?e.getDefaultPosition():"top-right"),!e||!e.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 n=e.onAdd(this);this._controls.push(e);let i=this._controlPositions[r];return-1!==r.indexOf("bottom")?i.insertBefore(n,i.firstChild):i.appendChild(n),this}removeControl(e){if(!e||!e.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 r=this._controls.indexOf(e);return r>-1&&this._controls.splice(r,1),e.onRemove(this),this}hasControl(e){return this._controls.indexOf(e)>-1}calculateCameraOptionsFromTo(e,t,r,n){return null==n&&this.terrain&&(n=this.terrain.getElevationForLngLatZoom(r,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(e,t,r,n)}resize(e){var r;let n=this._containerDimensions(),i=n[0],a=n[1],o=this._getClampedPixelRatio(i,a);if(this._resizeCanvas(i,a,o),this.painter.resize(i,a,o),this.painter.overLimit()){let e=this.painter.context.gl;this._maxCanvasSize=[e.drawingBufferWidth,e.drawingBufferHeight];let t=this._getClampedPixelRatio(i,a);this._resizeCanvas(i,a,t),this.painter.resize(i,a,t)}this.transform.resize(i,a),null===(r=this._requestedCameraState)||void 0===r||r.resize(i,a);let s=!this._moving;return s&&(this.stop(),this.fire(new t.k("movestart",e)).fire(new t.k("move",e))),this.fire(new t.k("resize",e)),s&&this.fire(new t.k("moveend",e)),this}_getClampedPixelRatio(e,t){let{0:r,1:n}=this._maxCanvasSize,i=this.getPixelRatio(),a=e*i,o=t*i;return Math.min(a>r?r/a:1,o>n?n/o:1)*i}getPixelRatio(){var e;return null!==(e=this._overridePixelRatio)&&void 0!==e?e:devicePixelRatio}setPixelRatio(e){this._overridePixelRatio=e,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(e){return this.transform.setMaxBounds(Z.convert(e)),this._update()}setMinZoom(e){if((e=e??-2)>=-2&&e<=this.transform.maxZoom)return this.transform.minZoom=e,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=e,this._update(),this.getZoom()>e&&this.setZoom(e),this;throw new Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(e){if((e=e??0)<0)throw new Error("minPitch must be greater than or equal to 0");if(e>=0&&e<=this.transform.maxPitch)return this.transform.minPitch=e,this._update(),this.getPitch()85)throw new Error("maxPitch must be less than or equal to 85");if(e>=this.transform.minPitch)return this.transform.maxPitch=e,this._update(),this.getPitch()>e&&this.setPitch(e),this;throw new Error("maxPitch must be greater than the current minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(e){return this.transform.renderWorldCopies=e,this._update()}project(e){return this.transform.locationPoint(t.N.convert(e),this.style&&this.terrain)}unproject(e){return this.transform.pointLocation(t.P.convert(e),this.terrain)}isMoving(){var e;return this._moving||(null===(e=this.handlers)||void 0===e?void 0:e.isMoving())}isZooming(){var e;return this._zooming||(null===(e=this.handlers)||void 0===e?void 0:e.isZooming())}isRotating(){var e;return this._rotating||(null===(e=this.handlers)||void 0===e?void 0:e.isRotating())}_createDelegatedListener(e,t,r){if("mouseenter"===e||"mouseover"===e){let n=!1;return{layers:t,listener:r,delegates:{mousemove:i=>{let a=t.filter((e=>this.getLayer(e))),o=0!==a.length?this.queryRenderedFeatures(i.point,{layers:a}):[];o.length?n||(n=!0,r.call(this,new Rn(e,this,i.originalEvent,{features:o}))):n=!1},mouseout:()=>{n=!1}}}}if("mouseleave"===e||"mouseout"===e){let n=!1;return{layers:t,listener:r,delegates:{mousemove:i=>{let a=t.filter((e=>this.getLayer(e)));(0!==a.length?this.queryRenderedFeatures(i.point,{layers:a}):[]).length?n=!0:n&&(n=!1,r.call(this,new Rn(e,this,i.originalEvent)))},mouseout:t=>{n&&(n=!1,r.call(this,new Rn(e,this,t.originalEvent)))}}}}{let n=e=>{let n=t.filter((e=>this.getLayer(e))),i=0!==n.length?this.queryRenderedFeatures(e.point,{layers:n}):[];i.length&&(e.features=i,r.call(this,e),delete e.features)};return{layers:t,listener:r,delegates:{[e]:n}}}}_saveDelegatedListener(e,t){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(t)}_removeDelegatedListener(e,t,r){if(!this._delegatedListeners||!this._delegatedListeners[e])return;let n=this._delegatedListeners[e];for(let e=0;et.includes(e)))){for(let e in i.delegates)this.off(e,i.delegates[e]);return void n.splice(e,1)}}}on(e,t,r){if(void 0===r)return super.on(e,t);let n=this._createDelegatedListener(e,"string"==typeof t?[t]:t,r);this._saveDelegatedListener(e,n);for(let e in n.delegates)this.on(e,n.delegates[e]);return this}once(e,t,r){if(void 0===r)return super.once(e,t);let n="string"==typeof t?[t]:t,i=this._createDelegatedListener(e,n,r);for(let t in i.delegates){let a=i.delegates[t];i.delegates[t]=(...t)=>{this._removeDelegatedListener(e,n,r),a(...t)}}this._saveDelegatedListener(e,i);for(let e in i.delegates)this.once(e,i.delegates[e]);return this}off(e,t,r){return void 0===r?super.off(e,t):(this._removeDelegatedListener(e,"string"==typeof t?[t]:t,r),this)}queryRenderedFeatures(e,r){if(!this.style)return[];let n,i=e instanceof t.P||Array.isArray(e),a=i?e:[[0,0],[this.transform.width,this.transform.height]];if(r=r||(i?{}:e)||{},a instanceof t.P||"number"==typeof a[0])n=[t.P.convert(a)];else{let e=t.P.convert(a[0]),r=t.P.convert(a[1]);n=[e,new t.P(r.x,e.y),r,new t.P(e.x,r.y),e]}return this.style.queryRenderedFeatures(n,r,this.transform)}querySourceFeatures(e,t){return this.style.querySourceFeatures(e,t)}setStyle(e,r){return!1!==(r=t.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},r)).diff&&r.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&e?(this._diffStyle(e,r),this):(this._localIdeographFontFamily=r.localIdeographFontFamily,this._updateStyle(e,r))}setTransformRequest(e){return this._requestManager.setTransformRequest(e),this}_getUIString(e){let t=this._locale[e];if(null==t)throw new Error(`Missing UI string '${e}'`);return t}_updateStyle(e,t){if(t.transformStyle&&this.style&&!this.style._loaded)return void this.style.once("style.load",(()=>this._updateStyle(e,t)));let r=this.style&&t.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!e)),e?(this.style=new pt(this,t||{}),this.style.setEventedParent(this,{style:this.style}),"string"==typeof e?this.style.loadURL(e,t,r):this.style.loadJSON(e,t,r),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new pt(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(e,r){if("string"==typeof e){let n=this._requestManager.transformRequest(e,"Style");t.h(n,new AbortController).then((e=>{this._updateDiff(e.data,r)})).catch((e=>{e&&this.fire(new t.j(e))}))}else"object"==typeof e&&this._updateDiff(e,r)}_updateDiff(e,r){try{this.style.setState(e,r)&&this._update(!0)}catch(n){t.w(`Unable to perform style diff: ${n.message||n.error||n}. Rebuilding the style from scratch.`),this._updateStyle(e,r)}}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(e,t){return this._lazyInitEmptyStyle(),this.style.addSource(e,t),this._update(!0)}isSourceLoaded(e){let r=this.style&&this.style.sourceCaches[e];if(void 0!==r)return r.loaded();this.fire(new t.j(new Error(`There is no source with ID '${e}'`)))}setTerrain(e){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),e){let r=this.style.sourceCaches[e.source];if(!r)throw new Error(`cannot load terrain, because there exists no source with ID: ${e.source}`);null===this.terrain&&r.reload();for(let r in this.style._layers){let n=this.style._layers[r];"hillshade"===n.type&&n.source===e.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 Pi(this.painter,r,e),this.painter.renderToTexture=new Oi(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=t=>{"style"===t.dataType?this.terrain.sourceCache.freeRtt():"source"===t.dataType&&t.tile&&(t.sourceId!==e.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(t.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:e})),this}getTerrain(){var e,t;return null!==(t=null===(e=this.terrain)||void 0===e?void 0:e.options)&&void 0!==t?t:null}areTilesLoaded(){let e=this.style&&this.style.sourceCaches;for(let t in e){let r=e[t]._tiles;for(let e in r){let t=r[e];if("loaded"!==t.state&&"errored"!==t.state)return!1}}return!0}removeSource(e){return this.style.removeSource(e),this._update(!0)}getSource(e){return this.style.getSource(e)}addImage(e,r,n={}){let{pixelRatio:i=1,sdf:o=!1,stretchX:s,stretchY:l,content:c,textFitWidth:u,textFitHeight:h}=n;if(this._lazyInitEmptyStyle(),!(r instanceof HTMLImageElement||t.b(r))){if(void 0===r.width||void 0===r.height)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:n,height:a,data:f}=r,p=r;return this.style.addImage(e,{data:new t.R({width:n,height:a},new Uint8Array(f)),pixelRatio:i,stretchX:s,stretchY:l,content:c,textFitWidth:u,textFitHeight:h,sdf:o,version:0,userImage:p}),p.onAdd&&p.onAdd(this,e),this}}{let{width:n,height:f,data:p}=a.getImageData(r);this.style.addImage(e,{data:new t.R({width:n,height:f},p),pixelRatio:i,stretchX:s,stretchY:l,content:c,textFitWidth:u,textFitHeight:h,sdf:o,version:0})}}updateImage(e,r){let n=this.style.getImage(e);if(!n)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 i=r instanceof HTMLImageElement||t.b(r)?a.getImageData(r):r,{width:o,height:s,data:l}=i;if(void 0===o||void 0===s)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(o!==n.data.width||s!==n.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 c=!(r instanceof HTMLImageElement||t.b(r));return n.data.replace(l,c),this.style.updateImage(e,n),this}getImage(e){return this.style.getImage(e)}hasImage(e){return e?!!this.style.getImage(e):(this.fire(new t.j(new Error("Missing required image id"))),!1)}removeImage(e){this.style.removeImage(e)}loadImage(e){return p.getImage(this._requestManager.transformRequest(e,"Image"),new AbortController)}listImages(){return this.style.listImages()}addLayer(e,t){return this._lazyInitEmptyStyle(),this.style.addLayer(e,t),this._update(!0)}moveLayer(e,t){return this.style.moveLayer(e,t),this._update(!0)}removeLayer(e){return this.style.removeLayer(e),this._update(!0)}getLayer(e){return this.style.getLayer(e)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(e,t,r){return this.style.setLayerZoomRange(e,t,r),this._update(!0)}setFilter(e,t,r={}){return this.style.setFilter(e,t,r),this._update(!0)}getFilter(e){return this.style.getFilter(e)}setPaintProperty(e,t,r,n={}){return this.style.setPaintProperty(e,t,r,n),this._update(!0)}getPaintProperty(e,t){return this.style.getPaintProperty(e,t)}setLayoutProperty(e,t,r,n={}){return this.style.setLayoutProperty(e,t,r,n),this._update(!0)}getLayoutProperty(e,t){return this.style.getLayoutProperty(e,t)}setGlyphs(e,t={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(e,t),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(e,t,r={}){return this._lazyInitEmptyStyle(),this.style.addSprite(e,t,r,(e=>{e||this._update(!0)})),this}removeSprite(e){return this._lazyInitEmptyStyle(),this.style.removeSprite(e),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(e,t={}){return this._lazyInitEmptyStyle(),this.style.setSprite(e,t,(e=>{e||this._update(!0)})),this}setLight(e,t={}){return this._lazyInitEmptyStyle(),this.style.setLight(e,t),this._update(!0)}getLight(){return this.style.getLight()}setSky(e){return this._lazyInitEmptyStyle(),this.style.setSky(e),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(e,t){return this.style.setFeatureState(e,t),this._update()}removeFeatureState(e,t){return this.style.removeFeatureState(e,t),this._update()}getFeatureState(e){return this.style.getFeatureState(e)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let e=0,t=0;return this._container&&(e=this._container.clientWidth||400,t=this._container.clientHeight||300),[e,t]}_setupContainer(){let e=this._container;e.classList.add("maplibregl-map");let t=this._canvasContainer=o.create("div","maplibregl-canvas-container",e);this._interactive&&t.classList.add("maplibregl-interactive"),this._canvas=o.create("canvas","maplibregl-canvas",t),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 r=this._containerDimensions(),n=this._getClampedPixelRatio(r[0],r[1]);this._resizeCanvas(r[0],r[1],n);let i=this._controlContainer=o.create("div","maplibregl-control-container",e),a=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach((e=>{a[e]=o.create("div",`maplibregl-ctrl-${e} `,i)})),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(e,t,r){this._canvas.width=Math.floor(r*e),this._canvas.height=Math.floor(r*t),this._canvas.style.width=`${e}px`,this._canvas.style.height=`${t}px`}_setupPainter(){let e={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},t=null;this._canvas.addEventListener("webglcontextcreationerror",(r=>{t={requestedAttributes:e},r&&(t.statusMessage=r.statusMessage,t.type=r.type)}),{once:!0});let r=this._canvas.getContext("webgl2",e)||this._canvas.getContext("webgl",e);if(!r){let e="Failed to initialize WebGL";throw t?(t.message=e,new Error(JSON.stringify(t))):new Error(e)}this.painter=new _n(r,this.transform),c.testSupport(r)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(e){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||e,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(e){return this._update(),this._renderTaskQueue.add(e)}_cancelRenderFrame(e){this._renderTaskQueue.remove(e)}_render(e){let r=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),this._removed)return;let n=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let e=this.transform.zoom,i=a.now();this.style.zoomHistory.update(e,i);let o=new t.z(e,{now:i,fadeDuration:r,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),s=o.crossFadingFactor();1===s&&s===this._crossFadingFactor||(n=!0,this._crossFadingFactor=s),this.style.update(o)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.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,r,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:r,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()||n)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let i=this._sourcesDirty||this._styleDirty||this._placementDirty;return i||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new t.k("idle")),!this._loaded||this._fullyLoaded||i||(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 e;this._hash&&this._hash.remove();for(let e of this._controls)e.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),p.removeThrottleControl(this._imageQueueHandle),null===(e=this._resizeObserver)||void 0===e||e.disconnect();let r=this.painter.context.gl.getExtension("WEBGL_lose_context");r?.loseContext&&r.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),o.remove(this._canvasContainer),o.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,a.frameAsync(this._frameRequest).then((e=>{t.bf.frame(e),this._frameRequest=null,this._render(e)})).catch((()=>{})))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(e){this._showTileBoundaries!==e&&(this._showTileBoundaries=e,this._update())}get showPadding(){return!!this._showPadding}set showPadding(e){this._showPadding!==e&&(this._showPadding=e,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(e){this._showCollisionBoxes!==e&&(this._showCollisionBoxes=e,e?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(e){this._showOverdrawInspector!==e&&(this._showOverdrawInspector=e,this._update())}get repaint(){return!!this._repaint}set repaint(e){this._repaint!==e&&(this._repaint=e,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(e){this._vertices=e,this._update()}get version(){return Bi}getCameraTargetElevation(){return this.transform.elevation}},e.MapMouseEvent=Rn,e.MapTouchEvent=Fn,e.MapWheelEvent=Bn,e.Marker=Wi,e.NavigationControl=class{constructor(e){this._updateZoomButtons=()=>{let e=this._map.getZoom(),t=e===this._map.getMaxZoom(),r=e===this._map.getMinZoom();this._zoomInButton.disabled=t,this._zoomOutButton.disabled=r,this._zoomInButton.setAttribute("aria-disabled",t.toString()),this._zoomOutButton.setAttribute("aria-disabled",r.toString())},this._rotateCompassArrow=()=>{let e=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=e},this._setButtonTitle=(e,t)=>{let r=this._map._getUIString(`NavigationControl.${t}`);e.title=r,e.setAttribute("aria-label",r)},this.options=t.e({},Ui,e),this._container=o.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",(e=>e.preventDefault())),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",(e=>this._map.zoomIn({},{originalEvent:e}))),o.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",(e=>this._map.zoomOut({},{originalEvent:e}))),o.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",(e=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:e}):this._map.resetNorth({},{originalEvent:e})})),this._compassIcon=o.create("span","maplibregl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}onAdd(e){return this._map=e,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 Vi(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){o.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(e,t){let r=o.create("button",e,this._container);return r.type="button",r.addEventListener("click",t),r}},e.Popup=class extends t.E{constructor(e){super(),this.remove=()=>(this._content&&o.remove(this._content),this._container&&(o.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=e=>{this._update(e.point)},this._onMouseMove=e=>{this._update(e.point)},this._onDrag=e=>{this._update(e.point)},this._update=e=>{var t;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=o.create("div","maplibregl-popup",this._map.getContainer()),this._tip=o.create("div","maplibregl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className)for(let e of this.options.className.split(" "))this._container.classList.add(e);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?qi(this._lngLat,this._flatPos,this._map.transform):null===(t=this._lngLat)||void 0===t?void 0:t.wrap(),this._trackPointer&&!e)return;let r=this._flatPos=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&e?e:this._map.transform.locationPoint(this._lngLat));let n=this.options.anchor,i=ta(this.options.offset);if(!n){let e,t=this._container.offsetWidth,a=this._container.offsetHeight;e=r.y+i.bottom.ythis._map.transform.height-a?["bottom"]:[],r.xthis._map.transform.width-t/2&&e.push("right"),n=0===e.length?"bottom":e.join("-")}let a=r.add(i[n]);this.options.subpixelPositioning||(a=a.round()),o.setTransform(this._container,`${Hi[n]} translate(${a.x}px,${a.y}px)`),Gi(this._container,n,"popup")},this._onClose=()=>{this.remove()},this.options=t.e(Object.create(Qi),e)}addTo(e){return this._map&&this.remove(),this._map=e,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(e){return this._lngLat=t.N.convert(e),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(e){return this.setDOMContent(document.createTextNode(e))}setHTML(e){let t,r=document.createDocumentFragment(),n=document.createElement("body");for(n.innerHTML=e;t=n.firstChild,t;)r.appendChild(t);return this.setDOMContent(r)}getMaxWidth(){var e;return null===(e=this._container)||void 0===e?void 0:e.style.maxWidth}setMaxWidth(e){return this.options.maxWidth=e,this._update(),this}setDOMContent(e){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=o.create("div","maplibregl-popup-content",this._container);return this._content.appendChild(e),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(e){return this._container&&this._container.classList.add(e),this}removeClassName(e){return this._container&&this._container.classList.remove(e),this}setOffset(e){return this.options.offset=e,this._update(),this}toggleClassName(e){if(this._container)return this._container.classList.toggle(e)}setSubpixelPositioning(e){this.options.subpixelPositioning=e}_createCloseButton(){this.options.closeButton&&(this._closeButton=o.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 e=this._container.querySelector(ea);e&&e.focus()}},e.RasterDEMTileSource=K,e.RasterTileSource=$,e.ScaleControl=class{constructor(e){this._onMove=()=>{Ki(this._map,this._container,this.options)},this.setUnit=e=>{this.options.unit=e,Ki(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},$i),e)}getDefaultPosition(){return"bottom-left"}onAdd(e){return this._map=e,this._container=o.create("div","maplibregl-ctrl maplibregl-ctrl-scale",e.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){o.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}},e.ScrollZoomHandler=pi,e.Style=pt,e.TerrainControl=class{constructor(e){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=e}onAdd(e){return this._map=e,this._container=o.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._terrainButton=o.create("button","maplibregl-ctrl-terrain",this._container),o.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(){o.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}},e.TwoFingersTouchPitchHandler=li,e.TwoFingersTouchRotateHandler=oi,e.TwoFingersTouchZoomHandler=ii,e.TwoFingersTouchZoomRotateHandler=xi,e.VectorTileSource=X,e.VideoSource=te,e.addSourceType=(e,r)=>t._(void 0,void 0,void 0,(function*(){if(ie(e))throw new Error(`A source type called "${e}" already exists.`);var t;t=r,ne[e]=t})),e.clearPrewarmedResources=function(){let e=F;e&&(e.isPreloaded()&&1===e.numActive()?(e.release(O),F=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 le().getRTLTextPluginStatus()},e.getVersion=function(){return ra},e.getWorkerCount=function(){return R.workerCount},e.getWorkerUrl=function(){return t.a.WORKER_URL},e.importScriptInWorkers=function(e){return V().broadcast("IS",e)},e.prewarm=function(){N().acquire(O)},e.setMaxParallelImageRequests=function(e){t.a.MAX_PARALLEL_IMAGE_REQUESTS=e},e.setRTLTextPlugin=function(e,t){return le().setRTLTextPlugin(e,t)},e.setWorkerCount=function(e){R.workerCount=e},e.setWorkerUrl=function(e){t.a.WORKER_URL=e}})),e},"object"==typeof e&&typeof t<"u"?t.exports=n():(r=typeof globalThis<"u"?globalThis:r||self).maplibregl=n()}}),kb=m({"src/plots/map/layers.js"(e,t){var r=ct(),n=Et().sanitizeHTML,i=yb(),a=hb();function o(e,t){this.subplot=e,this.uid=e.uid+"-"+t,this.index=t,this.idSource="source-"+this.uid,this.idLayer=a.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var s=o.prototype;function l(e){if(!e.visible)return!1;var t=e.source;if(Array.isArray(t)&&t.length>0){for(var n=0;n0}function c(e){var t={},n={};switch(e.type){case"circle":r.extendFlat(n,{"circle-radius":e.circle.radius,"circle-color":e.color,"circle-opacity":e.opacity});break;case"line":r.extendFlat(n,{"line-width":e.line.width,"line-color":e.color,"line-opacity":e.opacity,"line-dasharray":e.line.dash});break;case"fill":r.extendFlat(n,{"fill-color":e.color,"fill-outline-color":e.fill.outlinecolor,"fill-opacity":e.opacity});break;case"symbol":var a=e.symbol,o=i(a.textposition,a.iconsize);r.extendFlat(t,{"icon-image":a.icon+"-15","icon-size":a.iconsize/10,"text-field":a.text,"text-size":a.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset,"symbol-placement":a.placement}),r.extendFlat(n,{"icon-color":e.color,"text-color":a.textfont.color,"text-opacity":e.opacity});break;case"raster":r.extendFlat(n,{"raster-fade-duration":0,"raster-opacity":e.opacity})}return{layout:t,paint:n}}s.update=function(e){this.visible?this.needsNewImage(e)?this.updateImage(e):this.needsNewSource(e)?(this.removeLayer(),this.updateSource(e),this.updateLayer(e)):this.needsNewLayer(e)?this.updateLayer(e):this.updateStyle(e):(this.updateSource(e),this.updateLayer(e)),this.visible=l(e)},s.needsNewImage=function(e){return this.subplot.map.getSource(this.idSource)&&"image"===this.sourceType&&"image"===e.sourcetype&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))},s.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type},s.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},s.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]},s.updateImage=function(e){this.subplot.map.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var t=this.findFollowingMapLayerId(this.lookupBelow());null!==t&&this.subplot.map.moveLayer(this.idLayer,t)},s.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,l(e)){var r=function(e){var t,r=e.sourcetype,i=e.source,a={type:r};return"geojson"===r?t="data":"vector"===r?t="string"==typeof i?"url":"tiles":"raster"===r?(t="tiles",a.tileSize=256):"image"===r&&(t="url",a.coordinates=e.coordinates),a[t]=i,e.sourceattribution&&(a.attribution=n(e.sourceattribution)),a}(e);t.addSource(this.idSource,r)}},s.findFollowingMapLayerId=function(e){if("traces"===e)for(var t=this.subplot.getMapLayers(),r=0;r1)for(r=0;r-1&&m(t.originalEvent,n,[r.xaxis],[r.yaxis],r.id,e),i.indexOf("event")>-1&&l.click(n,t.originalEvent)}}},x.updateFx=function(e){var t=this,r=t.map,i=t.gd;if(!t.isStatic){var a,o=e.dragmode;a=function(e,r){r.isRect?(e.range={})[t.id]=[c([r.xmin,r.ymin]),c([r.xmax,r.ymax])]:(e.lassoPoints={})[t.id]=r.map(c)};var l=t.dragOptions;t.dragOptions=n.extendDeep(l||{},{dragmode:e.dragmode,element:t.div,gd:i,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:a},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off("click",t.onClickInPanHandler),h(o)||u(o)?(r.dragPan.disable(),r.on("zoomstart",t.clearOutline),t.dragOptions.prepFn=function(e,r,n){f(e,r,n,t.dragOptions,o)},s.init(t.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",t.clearOutline),t.div.onmousedown=null,t.div.ontouchstart=null,t.div.removeEventListener("touchstart",t.div._ontouchstart),t.onClickInPanHandler=t.onClickInPanFn(t.dragOptions),r.on("click",t.onClickInPanHandler))}function c(e){var r=t.map.unproject(e);return[r.lng,r.lat]}},x.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+"px",n.height=r.h*(t.y[1]-t.y[0])+"px",n.left=r.l+t.x[0]*r.w+"px",n.top=r.t+(1-t.y[1])*r.h+"px",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])},x.updateLayers=function(e){var t,r=e[this.id].layers,n=this.layerList;if(r.length!==n.length){for(t=0;tx/2){var _=m.split("|").join("
");y.text(_).attr("data-unformatted",_).call(l.convertToTspans,e),v=s.bBox(y.node())}y.attr("transform",r(-3,8-v.height)),g.insert("rect",".static-attribution").attr({x:-v.width-6,y:-v.height-3,width:v.width+6,height:v.height+3,fill:"rgba(255, 255, 255, 0.75)"});var b=1;v.width+6>x&&(b=x/(v.width+6));var w=[c.l+c.w*p.x[1],c.t+c.h*(1-p.y[0])];g.attr("transform",r(w[0],w[1])+n(b))}},e.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[u],n=0;n=0;r--)e.removeLayer(t[r][1])},o.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)},t.exports=function(e,t){var n=t[0].trace,i=new a(e,n.uid),o=i.sourceId,s=r(t),l=i.below=e.belowLookup["trace-"+n.uid];return e.map.addSource(o,{type:"geojson",data:s.geojson}),i._addLayers(s,l),t[0].trace._glTrace=i,i}}}),Db=m({"src/traces/choroplethmap/index.js"(e,t){t.exports={attributes:Ib(),supplyDefaults:Lb(),colorbar:Vo(),calc:Ng(),plot:zb(),hoverPoints:qg(),eventData:Hg(),selectPoints:Gg(),styleOnSelect:function(e,t){t&&t[0].trace._glTrace.updateOnSelect(t)},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if("string"==typeof i&&0===i.indexOf("water"))for(var a=n+1;a0?+p[u]:0),h.push({type:"Feature",geometry:{type:"Point",coordinates:y},properties:v})}}var _=a.extractOpts(t),b=_.reversescale?a.flipScale(_.colorscale):_.colorscale,w=b[0][1],T=["interpolate",["linear"],["heatmap-density"],0,i.opacity(w)<1?w:i.addOpacity(w,0)];for(u=1;u=0;r--)e.removeLayer(t[r][1])},a.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)},t.exports=function(e,t){var n=t[0].trace,a=new i(e,n.uid),o=a.sourceId,s=r(t),l=a.below=e.belowLookup["trace-"+n.uid];return e.map.addSource(o,{type:"geojson",data:s.geojson}),a._addLayers(s,l),a}}}),Ub=m({"src/traces/densitymap/hover.js"(e,t){var r=ar(),n=_b().hoverPoints,i=_b().getExtraText;t.exports=function(e,t,a){var o=n(e,t,a);if(o){var s=o[0],l=s.cd,c=l[0].trace,u=l[s.index];if(delete s.color,"z"in u){var h=s.subplot.mockAxis;s.z=u.z,s.zLabel=r.tickText(h,h.c2l(u.z),"hover").text}return s.extraText=i(c,u,l[0].t.labels),[s]}}}}),Vb=m({"src/traces/densitymap/event_data.js"(e,t){t.exports=function(e,t){return e.lon=t.lon,e.lat=t.lat,e.z=t.z,e}}}),qb=m({"src/traces/densitymap/index.js"(e,t){t.exports={attributes:Rb(),supplyDefaults:Fb(),colorbar:Vo(),formatLabels:gb(),calc:Bb(),plot:Nb(),hoverPoints:Ub(),eventData:Vb(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;n0;){t=c[c.length-1];var p=e[t];if(a[t]=0&&s[t].push(o[m])}a[t]=d}else{if(n[t]===r[t]){var g=[],y=[],v=0;for(d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,g.push(x),y.push(s[x]),v+=s[x].length,o[x]=h.length,x===t){l.length=d;break}}h.push(g);var _=new Array(v);for(d=0;dx&&(x=l.source[t]),l.target[t]>x&&(x=l.target[t]);var _=x+1;e.node._count=_;var b,w=e.node.groups,T={};for(t=0;t0&&o(C,_)&&o(I,_)&&(!T.hasOwnProperty(C)||!T.hasOwnProperty(I)||T[C]!==T[I])){T.hasOwnProperty(I)&&(I=T[I]),T.hasOwnProperty(C)&&(C=T[C]),I=+I,p[C=+C]=p[I]=!0;var L="";l.label&&l.label[t]&&(L=l.label[t]);var P=null;L&&d.hasOwnProperty(L)&&(P=d[L]),c.push({pointNumber:t,label:L,color:u?l.color[t]:l.color,hovercolor:h?l.hovercolor[t]:l.hovercolor,customdata:f?l.customdata[t]:l.customdata,concentrationscale:P,source:C,target:I,value:+E}),S.source.push(C),S.target.push(I)}}var z=_+w.length,D=a(i.color),O=a(i.customdata),R=[];for(t=0;t_-1,childrenNodes:[],pointNumber:t,label:F,color:D?i.color[t]:i.color,customdata:O?i.customdata[t]:i.customdata})}var B=!1;return function(e,t,i){for(var a=n.init2dArray(e,0),o=0;o1}))}(z,S.source,S.target)&&(B=!0),{circular:B,links:c,nodes:R,groups:w,groupLookup:T}}(t);return i({circular:l.circular,_nodes:l.nodes,_links:l.links,_groups:l.groups,_groupLookup:l.groupLookup})}}}),Xb=m({"node_modules/d3-quadtree/dist/d3-quadtree.js"(e,t){var r,n;r=e,n=function(e){function t(e,t,r,n){if(isNaN(t)||isNaN(r))return e;var i,a,o,s,l,c,u,h,f,p=e._root,d={data:n},m=e._x0,g=e._y0,y=e._x1,v=e._y1;if(!p)return e._root=d,e;for(;p.length;)if((c=t>=(a=(m+y)/2))?m=a:y=a,(u=r>=(o=(g+v)/2))?g=o:v=o,i=p,!(p=p[h=u<<1|c]))return i[h]=d,e;if(s=+e._x.call(null,p.data),l=+e._y.call(null,p.data),t===s&&r===l)return d.next=p,i?i[h]=d:e._root=d,e;do{i=i?i[h]=new Array(4):e._root=new Array(4),(c=t>=(a=(m+y)/2))?m=a:y=a,(u=r>=(o=(g+v)/2))?g=o:v=o}while((h=u<<1|c)==(f=(l>=o)<<1|s>=a));return i[f]=p,i[h]=d,e}function r(e,t,r,n,i){this.node=e,this.x0=t,this.y0=r,this.x1=n,this.y1=i}function n(e){return e[0]}function i(e){return e[1]}function a(e,t,r){var a=new o(t??n,r??i,NaN,NaN,NaN,NaN);return null==e?a:a.addAll(e)}function o(e,t,r,n,i,a){this._x=e,this._y=t,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function s(e){for(var t={data:e.data},r=t;e=e.next;)r=r.next={data:e.data};return t}var l=a.prototype=o.prototype;l.copy=function(){var e,t,r=new o(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root;if(!n)return r;if(!n.length)return r._root=s(n),r;for(e=[{source:n,target:r._root=new Array(4)}];n=e.pop();)for(var i=0;i<4;++i)(t=n.source[i])&&(t.length?e.push({source:t,target:n.target[i]=new Array(4)}):n.target[i]=s(t));return r},l.add=function(e){var r=+this._x.call(null,e),n=+this._y.call(null,e);return t(this.cover(r,n),r,n,e)},l.addAll=function(e){var r,n,i,a,o=e.length,s=new Array(o),l=new Array(o),c=1/0,u=1/0,h=-1/0,f=-1/0;for(n=0;nh&&(h=i),af&&(f=a));if(c>h||u>f)return this;for(this.cover(c,u).cover(h,f),n=0;ne||e>=i||n>t||t>=a;)switch(s=(tp||(o=c.y0)>d||(s=c.x1)=v)<<1|e>=y)&&(c=m[m.length-1],m[m.length-1]=m[m.length-1-u],m[m.length-1-u]=c)}else{var x=e-+this._x.call(null,g.data),_=t-+this._y.call(null,g.data),b=x*x+_*_;if(b=(s=(d+g)/2))?d=s:g=s,(u=o>=(l=(m+y)/2))?m=l:y=l,t=p,!(p=p[h=u<<1|c]))return this;if(!p.length)break;(t[h+1&3]||t[h+2&3]||t[h+3&3])&&(r=t,f=h)}for(;p.data!==e;)if(n=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):t?(i?t[h]=i:delete t[h],(p=t[0]||t[1]||t[2]||t[3])&&p===(t[3]||t[2]||t[1]||t[0])&&!p.length&&(r?r[f]=p:this._root=p),this):(this._root=i,this)},l.removeAll=function(e){for(var t=0,r=e.length;t=l.length)return null!=e&&r.sort(e),null!=t?t(r):r;for(var s,c,h,f=-1,p=r.length,d=l[i++],m=n(),g=a();++fl.length)return e;var n,i=c[r-1];return null!=t&&r>=l.length?n=e.entries():(n=[],e.each((function(e,t){n.push({key:t,values:h(e,r)})}))),null!=i?n.sort((function(e,t){return i(e.key,t.key)})):n}return r={object:function(e){return u(e,0,i,a)},map:function(e){return u(e,0,o,s)},entries:function(e){return h(u(e,0,o,s),0)},key:function(e){return l.push(e),r},sortKeys:function(e){return c[l.length-1]=e,r},sortValues:function(t){return e=t,r},rollup:function(e){return t=e,r}}},e.set=u,e.map=n,e.keys=function(e){var t=[];for(var r in e)t.push(r);return t},e.values=function(e){var t=[];for(var r in e)t.push(e[r]);return t},e.entries=function(e){var t=[];for(var r in e)t.push({key:r,value:e[r]});return t},Object.defineProperty(e,"__esModule",{value:!0})}("object"==typeof e&&typeof t<"u"?e:r.d3=r.d3||{})}}),Kb=m({"node_modules/d3-dispatch/dist/d3-dispatch.js"(e,t){var r,n;r=e,n=function(e){var t={value:function(){}};function r(){for(var e,t=0,r=arguments.length,i={};t=0&&(r=e.slice(n+1),e=e.slice(0,n)),e&&!t.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:r}}))}(e+"",n),s=-1,l=o.length;if(!(arguments.length<2)){if(null!=t&&"function"!=typeof t)throw new Error("invalid callback: "+t);for(;++s0)for(var r,n,i=new Array(r),a=0;a=0&&r._call.call(null,e),r=r._next;--n}function g(){s=(o=c.now())+l,n=i=0;try{m()}finally{n=0,function(){for(var e,n,i=t,a=1/0;i;)i._call?(a>i._time&&(a=i._time),e=i,i=i._next):(n=i._next,i._next=null,i=e?e._next=n:t=n);r=e,v(a)}(),s=0}}function y(){var e=c.now(),t=e-o;t>1e3&&(l-=t,o=e)}function v(e){n||(i&&(i=clearTimeout(i)),e-s>24?(e<1/0&&(i=setTimeout(g,e-c.now()-l)),a&&(a=clearInterval(a))):(a||(o=c.now(),a=setInterval(y,1e3)),n=1,u(g)))}p.prototype=d.prototype={constructor:p,restart:function(e,n,i){if("function"!=typeof e)throw new TypeError("callback is not a function");i=(null==i?h():+i)+(null==n?0:+n),!this._next&&r!==this&&(r?r._next=this:t=this,r=this),this._call=e,this._time=i,v()},stop:function(){this._call&&(this._call=null,this._time=1/0,v())}},e.interval=function(e,t,r){var n=new p,i=t;return null==t?(n.restart(e,t,r),n):(t=+t,r=null==r?h():+r,n.restart((function a(o){o+=i,n.restart(a,i+=t,r),e(o)}),t,r),n)},e.now=h,e.timeout=function(e,t,r){var n=new p;return t=null==t?0:+t,n.restart((function(r){n.stop(),e(r+t)}),t,r),n},e.timer=d,e.timerFlush=m,Object.defineProperty(e,"__esModule",{value:!0})},n("object"==typeof e&&typeof t<"u"?e:(r=r||self).d3=r.d3||{})}}),Qb=m({"node_modules/d3-force/dist/d3-force.js"(e,t){var r,n;r=e,n=function(e,t,r,n,i){function a(e){return function(){return e}}function o(){return 1e-6*(Math.random()-.5)}function s(e){return e.x+e.vx}function l(e){return e.y+e.vy}function c(e){return e.index}function u(e,t){var r=e.get(t);if(!r)throw new Error("missing: "+t);return r}function h(e){return e.x}function f(e){return e.y}var p=Math.PI*(3-Math.sqrt(5));e.forceCenter=function(e,t){var r;function n(){var n,i,a=r.length,o=0,s=0;for(n=0;nf+c||np+c||au.index){var h=f-s.x-s.vx,g=p-s.y-s.vy,y=h*h+g*g;ye.r&&(e.r=e[t].r)}function f(){if(r){var t,i,a=r.length;for(n=new Array(a),t=0;t=c)){(e.data!==r||e.next)&&(0===h&&(d+=(h=o())*h),0===f&&(d+=(f=o())*f),d1?(null==r?u.remove(e):u.set(e,y(r)),t):u.get(e)},find:function(t,r,n){var i,a,o,s,l,c=0,u=e.length;for(null==n?n=1/0:n*=n,c=0;c1?(f.on(e,r),t):f.on(e)}}},e.forceX=function(e){var t,r,n,i=a(.1);function o(e){for(var i,a=0,o=t.length;an)if(Math.abs(f*c-u*h)>n&&o){var d=i-s,m=a-l,g=c*c+u*u,y=d*d+m*m,v=Math.sqrt(g),x=Math.sqrt(p),_=o*Math.tan((t-Math.acos((g+p-y)/(2*v*x)))/2),b=_/x,w=_/v;Math.abs(b-1)>n&&(this._+="L"+(e+b*h)+","+(r+b*f)),this._+="A"+o+","+o+",0,0,"+ +(f*d>h*m)+","+(this._x1=e+w*c)+","+(this._y1=r+w*u)}else this._+="L"+(this._x1=e)+","+(this._y1=r)},arc:function(e,a,o,s,l,c){e=+e,a=+a,c=!!c;var u=(o=+o)*Math.cos(s),h=o*Math.sin(s),f=e+u,p=a+h,d=1^c,m=c?s-l:l-s;if(o<0)throw new Error("negative radius: "+o);null===this._x1?this._+="M"+f+","+p:(Math.abs(this._x1-f)>n||Math.abs(this._y1-p)>n)&&(this._+="L"+f+","+p),o&&(m<0&&(m=m%r+r),m>i?this._+="A"+o+","+o+",0,1,"+d+","+(e-u)+","+(a-h)+"A"+o+","+o+",0,1,"+d+","+(this._x1=f)+","+(this._y1=p):m>n&&(this._+="A"+o+","+o+",0,"+ +(m>=t)+","+d+","+(this._x1=e+o*Math.cos(l))+","+(this._y1=a+o*Math.sin(l))))},rect:function(e,t,r,n){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+t)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}},e.path=o,Object.defineProperty(e,"__esModule",{value:!0})},n("object"==typeof e&&typeof t<"u"?e:(r=r||self).d3=r.d3||{})}}),tw=m({"node_modules/d3-shape/dist/d3-shape.js"(e,t){var r,n;r=e,n=function(e,t){function r(e){return function(){return e}}var n=Math.abs,i=Math.atan2,a=Math.cos,o=Math.max,s=Math.min,l=Math.sin,c=Math.sqrt,u=1e-12,h=Math.PI,f=h/2,p=2*h;function d(e){return e>=1?f:e<=-1?-f:Math.asin(e)}function m(e){return e.innerRadius}function g(e){return e.outerRadius}function y(e){return e.startAngle}function v(e){return e.endAngle}function x(e){return e&&e.padAngle}function _(e,t,r,n,i,a,s){var l=e-r,u=t-n,h=(s?a:-a)/c(l*l+u*u),f=h*u,p=-h*l,d=e+f,m=t+p,g=r+f,y=n+p,v=(d+g)/2,x=(m+y)/2,_=g-d,b=y-m,w=_*_+b*b,T=i-a,k=d*y-g*m,A=(b<0?-1:1)*c(o(0,T*T*w-k*k)),M=(k*b-_*A)/w,S=(-k*_-b*A)/w,E=(k*b+_*A)/w,C=(-k*_+b*A)/w,I=M-v,L=S-x,P=E-v,z=C-x;return I*I+L*L>P*P+z*z&&(M=E,S=C),{cx:M,cy:S,x01:-f,y01:-p,x11:M*(i/T-1),y11:S*(i/T-1)}}function b(e){this._context=e}function w(e){return new b(e)}function T(e){return e[0]}function k(e){return e[1]}function A(){var e=T,n=k,i=r(!0),a=null,o=w,s=null;function l(r){var l,c,u,h=r.length,f=!1;for(null==a&&(s=o(u=t.path())),l=0;l<=h;++l)!(l=h;--f)c.point(y[f],v[f]);c.lineEnd(),c.areaEnd()}g&&(y[u]=+e(p,u,r),v[u]=+i(p,u,r),c.point(n?+n(p,u,r):y[u],a?+a(p,u,r):v[u]))}if(d)return c=null,d+""||null}function h(){return A().defined(o).curve(l).context(s)}return u.x=function(t){return arguments.length?(e="function"==typeof t?t:r(+t),n=null,u):e},u.x0=function(t){return arguments.length?(e="function"==typeof t?t:r(+t),u):e},u.x1=function(e){return arguments.length?(n=null==e?null:"function"==typeof e?e:r(+e),u):n},u.y=function(e){return arguments.length?(i="function"==typeof e?e:r(+e),a=null,u):i},u.y0=function(e){return arguments.length?(i="function"==typeof e?e:r(+e),u):i},u.y1=function(e){return arguments.length?(a=null==e?null:"function"==typeof e?e:r(+e),u):a},u.lineX0=u.lineY0=function(){return h().x(e).y(i)},u.lineY1=function(){return h().x(e).y(a)},u.lineX1=function(){return h().x(n).y(i)},u.defined=function(e){return arguments.length?(o="function"==typeof e?e:r(!!e),u):o},u.curve=function(e){return arguments.length?(l=e,null!=s&&(c=l(s)),u):l},u.context=function(e){return arguments.length?(null==e?s=c=null:c=l(s=e),u):s},u}function S(e,t){return te?1:t>=e?0:NaN}function E(e){return e}b.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};var C=L(w);function I(e){this._curve=e}function L(e){function t(t){return new I(e(t))}return t._curve=e,t}function P(e){var t=e.curve;return e.angle=e.x,delete e.x,e.radius=e.y,delete e.y,e.curve=function(e){return arguments.length?t(L(e)):t()._curve},e}function z(){return P(A().curve(C))}function D(){var e=M().curve(C),t=e.curve,r=e.lineX0,n=e.lineX1,i=e.lineY0,a=e.lineY1;return e.angle=e.x,delete e.x,e.startAngle=e.x0,delete e.x0,e.endAngle=e.x1,delete e.x1,e.radius=e.y,delete e.y,e.innerRadius=e.y0,delete e.y0,e.outerRadius=e.y1,delete e.y1,e.lineStartAngle=function(){return P(r())},delete e.lineX0,e.lineEndAngle=function(){return P(n())},delete e.lineX1,e.lineInnerRadius=function(){return P(i())},delete e.lineY0,e.lineOuterRadius=function(){return P(a())},delete e.lineY1,e.curve=function(e){return arguments.length?t(L(e)):t()._curve},e}function O(e,t){return[(t=+t)*Math.cos(e-=Math.PI/2),t*Math.sin(e)]}I.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(e,t){this._curve.point(t*Math.sin(e),t*-Math.cos(e))}};var R=Array.prototype.slice;function F(e){return e.source}function B(e){return e.target}function j(e){var n=F,i=B,a=T,o=k,s=null;function l(){var r,l=R.call(arguments),c=n.apply(this,l),u=i.apply(this,l);if(s||(s=r=t.path()),e(s,+a.apply(this,(l[0]=c,l)),+o.apply(this,l),+a.apply(this,(l[0]=u,l)),+o.apply(this,l)),r)return s=null,r+""||null}return l.source=function(e){return arguments.length?(n=e,l):n},l.target=function(e){return arguments.length?(i=e,l):i},l.x=function(e){return arguments.length?(a="function"==typeof e?e:r(+e),l):a},l.y=function(e){return arguments.length?(o="function"==typeof e?e:r(+e),l):o},l.context=function(e){return arguments.length?(s=e??null,l):s},l}function N(e,t,r,n,i){e.moveTo(t,r),e.bezierCurveTo(t=(t+n)/2,r,t,i,n,i)}function U(e,t,r,n,i){e.moveTo(t,r),e.bezierCurveTo(t,r=(r+i)/2,n,r,n,i)}function V(e,t,r,n,i){var a=O(t,r),o=O(t,r=(r+i)/2),s=O(n,r),l=O(n,i);e.moveTo(a[0],a[1]),e.bezierCurveTo(o[0],o[1],s[0],s[1],l[0],l[1])}var q={draw:function(e,t){var r=Math.sqrt(t/h);e.moveTo(r,0),e.arc(0,0,r,0,p)}},H={draw:function(e,t){var r=Math.sqrt(t/5)/2;e.moveTo(-3*r,-r),e.lineTo(-r,-r),e.lineTo(-r,-3*r),e.lineTo(r,-3*r),e.lineTo(r,-r),e.lineTo(3*r,-r),e.lineTo(3*r,r),e.lineTo(r,r),e.lineTo(r,3*r),e.lineTo(-r,3*r),e.lineTo(-r,r),e.lineTo(-3*r,r),e.closePath()}},G=Math.sqrt(1/3),W=2*G,Z={draw:function(e,t){var r=Math.sqrt(t/W),n=r*G;e.moveTo(0,-r),e.lineTo(n,0),e.lineTo(0,r),e.lineTo(-n,0),e.closePath()}},Y=Math.sin(h/10)/Math.sin(7*h/10),X=Math.sin(p/10)*Y,$=-Math.cos(p/10)*Y,K={draw:function(e,t){var r=Math.sqrt(.8908130915292852*t),n=X*r,i=$*r;e.moveTo(0,-r),e.lineTo(n,i);for(var a=1;a<5;++a){var o=p*a/5,s=Math.cos(o),l=Math.sin(o);e.lineTo(l*r,-s*r),e.lineTo(s*n-l*i,l*n+s*i)}e.closePath()}},J={draw:function(e,t){var r=Math.sqrt(t),n=-r/2;e.rect(n,n,r,r)}},Q=Math.sqrt(3),ee={draw:function(e,t){var r=-Math.sqrt(t/(3*Q));e.moveTo(0,2*r),e.lineTo(-Q*r,-r),e.lineTo(Q*r,-r),e.closePath()}},te=-.5,re=Math.sqrt(3)/2,ne=1/Math.sqrt(12),ie=3*(ne/2+1),ae={draw:function(e,t){var r=Math.sqrt(t/ie),n=r/2,i=r*ne,a=n,o=r*ne+r,s=-a,l=o;e.moveTo(n,i),e.lineTo(a,o),e.lineTo(s,l),e.lineTo(te*n-re*i,re*n+te*i),e.lineTo(te*a-re*o,re*a+te*o),e.lineTo(te*s-re*l,re*s+te*l),e.lineTo(te*n+re*i,te*i-re*n),e.lineTo(te*a+re*o,te*o-re*a),e.lineTo(te*s+re*l,te*l-re*s),e.closePath()}},oe=[q,H,Z,J,K,ee,ae];function se(){}function le(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function ce(e){this._context=e}function ue(e){this._context=e}function he(e){this._context=e}function fe(e,t){this._basis=new ce(e),this._beta=t}ce.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:le(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);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:le(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},ue.prototype={areaStart:se,areaEnd:se,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:le(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},he.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,n=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:le(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},fe.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,r=e.length-1;if(r>0)for(var n,i=e[0],a=t[0],o=e[r]-i,s=t[r]-a,l=-1;++l<=r;)n=l/r,this._basis.point(this._beta*e[l]+(1-this._beta)*(i+n*o),this._beta*t[l]+(1-this._beta)*(a+n*s));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};var pe=function e(t){function r(e){return 1===t?new ce(e):new fe(e,t)}return r.beta=function(t){return e(+t)},r}(.85);function de(e,t,r){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-r),e._x2,e._y2)}function me(e,t){this._context=e,this._k=(1-t)/6}me.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:de(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:de(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var ge=function e(t){function r(e){return new me(e,t)}return r.tension=function(t){return e(+t)},r}(0);function ye(e,t){this._context=e,this._k=(1-t)/6}ye.prototype={areaStart:se,areaEnd:se,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:de(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var ve=function e(t){function r(e){return new ye(e,t)}return r.tension=function(t){return e(+t)},r}(0);function xe(e,t){this._context=e,this._k=(1-t)/6}xe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,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:de(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var _e=function e(t){function r(e){return new xe(e,t)}return r.tension=function(t){return e(+t)},r}(0);function be(e,t,r){var n=e._x1,i=e._y1,a=e._x2,o=e._y2;if(e._l01_a>u){var s=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,l=3*e._l01_a*(e._l01_a+e._l12_a);n=(n*s-e._x0*e._l12_2a+e._x2*e._l01_2a)/l,i=(i*s-e._y0*e._l12_2a+e._y2*e._l01_2a)/l}if(e._l23_a>u){var c=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,h=3*e._l23_a*(e._l23_a+e._l12_a);a=(a*c+e._x1*e._l23_2a-t*e._l12_2a)/h,o=(o*c+e._y1*e._l23_2a-r*e._l12_2a)/h}e._context.bezierCurveTo(n,i,a,o,e._x2,e._y2)}function we(e,t){this._context=e,this._alpha=t}we.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,n=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:be(this,e,t)}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=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Te=function e(t){function r(e){return t?new we(e,t):new me(e,0)}return r.alpha=function(t){return e(+t)},r}(.5);function ke(e,t){this._context=e,this._alpha=t}ke.prototype={areaStart:se,areaEnd:se,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,n=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:be(this,e,t)}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=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Ae=function e(t){function r(e){return t?new ke(e,t):new ye(e,0)}return r.alpha=function(t){return e(+t)},r}(.5);function Me(e,t){this._context=e,this._alpha=t}Me.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,n=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:be(this,e,t)}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=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Se=function e(t){function r(e){return t?new Me(e,t):new xe(e,0)}return r.alpha=function(t){return e(+t)},r}(.5);function Ee(e){this._context=e}function Ce(e){return e<0?-1:1}function Ie(e,t,r){var n=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(n||i<0&&-0),o=(r-e._y1)/(i||n<0&&-0),s=(a*i+o*n)/(n+i);return(Ce(a)+Ce(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function Le(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function Pe(e,t,r){var n=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-n)/3;e._context.bezierCurveTo(n+s,i+s*t,a-s,o-s*r,a,o)}function ze(e){this._context=e}function De(e){this._context=new Oe(e)}function Oe(e){this._context=e}function Re(e){this._context=e}function Fe(e){var t,r,n=e.length-1,i=new Array(n),a=new Array(n),o=new Array(n);for(i[0]=0,a[0]=2,o[0]=e[0]+2*e[1],t=1;t=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(a[n-1]=(e[n]+i[n-1])/2,t=0;t1)for(var r,n,i,a=1,o=e[t[0]],s=o.length;a=0;)r[t]=t;return r}function Ue(e,t){return e[t]}function Ve(e){var t=e.map(qe);return Ne(e).sort((function(e,r){return t[e]-t[r]}))}function qe(e){for(var t,r=-1,n=0,i=e.length,a=-1/0;++ra&&(a=t,n=r);return n}function He(e){var t=e.map(Ge);return Ne(e).sort((function(e,r){return t[e]-t[r]}))}function Ge(e){for(var t,r=0,n=-1,i=e.length;++n=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}}this._x=e,this._y=t}},e.arc=function(){var e=m,o=g,b=r(0),w=null,T=y,k=v,A=x,M=null;function S(){var r,m,g=+e.apply(this,arguments),y=+o.apply(this,arguments),v=T.apply(this,arguments)-f,x=k.apply(this,arguments)-f,S=n(x-v),E=x>v;if(M||(M=r=t.path()),yu)if(S>p-u)M.moveTo(y*a(v),y*l(v)),M.arc(0,0,y,v,x,!E),g>u&&(M.moveTo(g*a(x),g*l(x)),M.arc(0,0,g,x,v,E));else{var C,I,L=v,P=x,z=v,D=x,O=S,R=S,F=A.apply(this,arguments)/2,B=F>u&&(w?+w.apply(this,arguments):c(g*g+y*y)),j=s(n(y-g)/2,+b.apply(this,arguments)),N=j,U=j;if(B>u){var V=d(B/g*l(F)),q=d(B/y*l(F));(O-=2*V)>u?(z+=V*=E?1:-1,D-=V):(O=0,z=D=(v+x)/2),(R-=2*q)>u?(L+=q*=E?1:-1,P-=q):(R=0,L=P=(v+x)/2)}var H=y*a(L),G=y*l(L),W=g*a(D),Z=g*l(D);if(j>u){var Y,X=y*a(P),$=y*l(P),K=g*a(z),J=g*l(z);if(S1?0:e<-1?h:Math.acos(e)}((Q*te+ee*re)/(c(Q*Q+ee*ee)*c(te*te+re*re)))/2),ie=c(Y[0]*Y[0]+Y[1]*Y[1]);N=s(j,(g-ie)/(ne-1)),U=s(j,(y-ie)/(ne+1))}}R>u?U>u?(C=_(K,J,H,G,y,U,E),I=_(X,$,W,Z,y,U,E),M.moveTo(C.cx+C.x01,C.cy+C.y01),Uu&&O>u?N>u?(C=_(W,Z,X,$,g,-N,E),I=_(H,G,K,J,g,-N,E),M.lineTo(C.cx+C.x01,C.cy+C.y01),N0&&(d+=h);for(null!=t?m.sort((function(e,r){return t(g[e],g[r])})):null!=n&&m.sort((function(e,t){return n(r[e],r[t])})),s=0,c=d?(v-f*_)/d:0;s0?h*c:0)+_,g[l]={data:r[l],index:s,value:h,startAngle:y,endAngle:u,padAngle:x};return g}return s.value=function(t){return arguments.length?(e="function"==typeof t?t:r(+t),s):e},s.sortValues=function(e){return arguments.length?(t=e,n=null,s):t},s.sort=function(e){return arguments.length?(n=e,t=null,s):n},s.startAngle=function(e){return arguments.length?(i="function"==typeof e?e:r(+e),s):i},s.endAngle=function(e){return arguments.length?(a="function"==typeof e?e:r(+e),s):a},s.padAngle=function(e){return arguments.length?(o="function"==typeof e?e:r(+e),s):o},s},e.pointRadial=O,e.radialArea=D,e.radialLine=z,e.stack=function(){var e=r([]),t=Ne,n=je,i=Ue;function a(r){var a,o,s=e.apply(this,arguments),l=r.length,c=s.length,u=new Array(c);for(a=0;a0)for(var r,n,i,a,o,s,l=0,c=e[t[0]].length;l0?(n[0]=a,n[1]=a+=i):i<0?(n[1]=o,n[0]=o+=i):(n[0]=0,n[1]=i)},e.stackOffsetExpand=function(e,t){if((n=e.length)>0){for(var r,n,i,a=0,o=e[0].length;a0){for(var r,n=0,i=e[t[0]],a=i.length;n0&&(n=(r=e[t[0]]).length)>0){for(var r,n,i,a=0,o=1;oa&&(_=a);var o=t.min(i,(function(e){return(v-n-(e.length-1)*_)/t.sum(e,u)}));i.forEach((function(e){e.forEach((function(e,t){e.y1=(e.y0=t)+e.value*o}))})),e.links.forEach((function(e){e.width=e.value*o}))})(),d();for(var a=1,o=A;o>0;--o)l(a*=.99),d(),s(a),d();function s(e){i.forEach((function(r){r.forEach((function(r){if(r.targetLinks.length){var n=(t.sum(r.targetLinks,f)/t.sum(r.targetLinks,u)-h(r))*e;r.y0+=n,r.y1+=n}}))}))}function l(e){i.slice().reverse().forEach((function(r){r.forEach((function(r){if(r.sourceLinks.length){var n=(t.sum(r.sourceLinks,p)/t.sum(r.sourceLinks,u)-h(r))*e;r.y0+=n,r.y1+=n}}))}))}function d(){i.forEach((function(e){var t,r,i,a=n,o=e.length;for(e.sort(c),i=0;i0&&(t.y0+=r,t.y1+=r),a=t.y1+_;if((r=a-_-v)>0)for(a=t.y0-=r,t.y1-=r,i=o-2;i>=0;--i)(r=(t=e[i]).y1+_-a)>0&&(t.y0-=r,t.y1-=r),a=t.y0}))}}(a),E(a),a}function E(e){e.nodes.forEach((function(e){e.sourceLinks.sort(l),e.targetLinks.sort(s)})),e.nodes.forEach((function(e){var t=e.y0,r=t;e.sourceLinks.forEach((function(e){e.y0=t+e.width/2,t+=e.width})),e.targetLinks.forEach((function(e){e.y1=r+e.width/2,r+=e.width}))}))}return S.update=function(e){return E(e),e},S.nodeId=function(e){return arguments.length?(b="function"==typeof e?e:o(e),S):b},S.nodeAlign=function(e){return arguments.length?(w="function"==typeof e?e:o(e),S):w},S.nodeWidth=function(e){return arguments.length?(x=+e,S):x},S.nodePadding=function(e){return arguments.length?(_=+e,S):_},S.nodes=function(e){return arguments.length?(T="function"==typeof e?e:o(e),S):T},S.links=function(e){return arguments.length?(k="function"==typeof e?e:o(e),S):k},S.size=function(t){return arguments.length?(e=n=0,i=+t[0],v=+t[1],S):[i-e,v-n]},S.extent=function(t){return arguments.length?(e=+t[0][0],i=+t[1][0],n=+t[0][1],v=+t[1][1],S):[[e,n],[i,v]]},S.iterations=function(e){return arguments.length?(A=+e,S):A},S},e.sankeyCenter=function(e){return e.targetLinks.length?e.depth:e.sourceLinks.length?t.min(e.sourceLinks,i)-1:0},e.sankeyLeft=function(e){return e.depth},e.sankeyRight=function(e,t){return t-1-e.height},e.sankeyJustify=a,e.sankeyLinkHorizontal=function(){return n.linkHorizontal().source(v).target(x)},Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof e&&typeof t<"u"?n(e,Eg(),$b(),tw()):n(r.d3=r.d3||{},r.d3,r.d3,r.d3)}}),nw=m({"node_modules/elementary-circuits-directed-graph/johnson.js"(e,t){var r=Zb();t.exports=function(e,t){var n,i=[],a=[],o=[],s={},l=[];function c(e){o[e]=!1,s.hasOwnProperty(e)&&Object.keys(s[e]).forEach((function(t){delete s[e][t],o[t]&&c(t)}))}function u(e){var t,r,i=!1;for(a.push(e),o[e]=!0,t=0;t=t}))}(t);for(var n,i=r(e).components.filter((function(e){return e.length>1})),a=1/0,o=0;ot.source.column)}function M(e,t){var r=0;e.sourceLinks.forEach((function(e){r=e.circular&&!W(e,t)?r+1:r}));var n=0;return e.targetLinks.forEach((function(e){n=e.circular&&!W(e,t)?n+1:n})),r+n}function S(e){var t=e.source.sourceLinks,r=0;t.forEach((function(e){r=e.circular?r+1:r}));var n=e.target.targetLinks,i=0;return n.forEach((function(e){i=e.circular?i+1:i})),!(r>1||i>1)}function E(e,t,r){return e.sort(I),e.forEach((function(n,i){var a=0;if(W(n,r)&&S(n))n.circularPathData.verticalBuffer=a+n.width/2;else{for(var o=0;oa?s:a}n.circularPathData.verticalBuffer=a+n.width/2}})),e}function C(e,r,i,a){var o=t.min(e.links,(function(e){return e.source.y0}));e.links.forEach((function(e){e.circular&&(e.circularPathData={})})),E(e.links.filter((function(e){return"top"==e.circularLinkType})),r,a),E(e.links.filter((function(e){return"bottom"==e.circularLinkType})),r,a),e.links.forEach((function(t){if(t.circular){if(t.circularPathData.arcRadius=t.width+w,t.circularPathData.leftNodeBuffer=5,t.circularPathData.rightNodeBuffer=5,t.circularPathData.sourceWidth=t.source.x1-t.source.x0,t.circularPathData.sourceX=t.source.x0+t.circularPathData.sourceWidth,t.circularPathData.targetX=t.target.x0,t.circularPathData.sourceY=t.y0,t.circularPathData.targetY=t.y1,W(t,a)&&S(t))t.circularPathData.leftSmallArcRadius=w+t.width/2,t.circularPathData.leftLargeArcRadius=w+t.width/2,t.circularPathData.rightSmallArcRadius=w+t.width/2,t.circularPathData.rightLargeArcRadius=w+t.width/2,"bottom"==t.circularLinkType?(t.circularPathData.verticalFullExtent=t.source.y1+b+t.circularPathData.verticalBuffer,t.circularPathData.verticalLeftInnerExtent=t.circularPathData.verticalFullExtent-t.circularPathData.leftLargeArcRadius,t.circularPathData.verticalRightInnerExtent=t.circularPathData.verticalFullExtent-t.circularPathData.rightLargeArcRadius):(t.circularPathData.verticalFullExtent=t.source.y0-b-t.circularPathData.verticalBuffer,t.circularPathData.verticalLeftInnerExtent=t.circularPathData.verticalFullExtent+t.circularPathData.leftLargeArcRadius,t.circularPathData.verticalRightInnerExtent=t.circularPathData.verticalFullExtent+t.circularPathData.rightLargeArcRadius);else{var s=t.source.column,l=t.circularLinkType,c=e.links.filter((function(e){return e.source.column==s&&e.circularLinkType==l}));"bottom"==t.circularLinkType?c.sort(P):c.sort(L);var u=0;c.forEach((function(e,n){e.circularLinkID==t.circularLinkID&&(t.circularPathData.leftSmallArcRadius=w+t.width/2+u,t.circularPathData.leftLargeArcRadius=w+t.width/2+n*r+u),u+=e.width})),s=t.target.column,c=e.links.filter((function(e){return e.target.column==s&&e.circularLinkType==l})),"bottom"==t.circularLinkType?c.sort(D):c.sort(z),u=0,c.forEach((function(e,n){e.circularLinkID==t.circularLinkID&&(t.circularPathData.rightSmallArcRadius=w+t.width/2+u,t.circularPathData.rightLargeArcRadius=w+t.width/2+n*r+u),u+=e.width})),"bottom"==t.circularLinkType?(t.circularPathData.verticalFullExtent=Math.max(i,t.source.y1,t.target.y1)+b+t.circularPathData.verticalBuffer,t.circularPathData.verticalLeftInnerExtent=t.circularPathData.verticalFullExtent-t.circularPathData.leftLargeArcRadius,t.circularPathData.verticalRightInnerExtent=t.circularPathData.verticalFullExtent-t.circularPathData.rightLargeArcRadius):(t.circularPathData.verticalFullExtent=o-b-t.circularPathData.verticalBuffer,t.circularPathData.verticalLeftInnerExtent=t.circularPathData.verticalFullExtent+t.circularPathData.leftLargeArcRadius,t.circularPathData.verticalRightInnerExtent=t.circularPathData.verticalFullExtent+t.circularPathData.rightLargeArcRadius)}t.circularPathData.leftInnerExtent=t.circularPathData.sourceX+t.circularPathData.leftNodeBuffer,t.circularPathData.rightInnerExtent=t.circularPathData.targetX-t.circularPathData.rightNodeBuffer,t.circularPathData.leftFullExtent=t.circularPathData.sourceX+t.circularPathData.leftLargeArcRadius+t.circularPathData.leftNodeBuffer,t.circularPathData.rightFullExtent=t.circularPathData.targetX-t.circularPathData.rightLargeArcRadius-t.circularPathData.rightNodeBuffer}if(t.circular)t.path=function(e){return"top"==e.circularLinkType?"M"+e.circularPathData.sourceX+" "+e.circularPathData.sourceY+" L"+e.circularPathData.leftInnerExtent+" "+e.circularPathData.sourceY+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftSmallArcRadius+" 0 0 0 "+e.circularPathData.leftFullExtent+" "+(e.circularPathData.sourceY-e.circularPathData.leftSmallArcRadius)+" L"+e.circularPathData.leftFullExtent+" "+e.circularPathData.verticalLeftInnerExtent+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftLargeArcRadius+" 0 0 0 "+e.circularPathData.leftInnerExtent+" "+e.circularPathData.verticalFullExtent+" L"+e.circularPathData.rightInnerExtent+" "+e.circularPathData.verticalFullExtent+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightLargeArcRadius+" 0 0 0 "+e.circularPathData.rightFullExtent+" "+e.circularPathData.verticalRightInnerExtent+" L"+e.circularPathData.rightFullExtent+" "+(e.circularPathData.targetY-e.circularPathData.rightSmallArcRadius)+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightSmallArcRadius+" 0 0 0 "+e.circularPathData.rightInnerExtent+" "+e.circularPathData.targetY+" L"+e.circularPathData.targetX+" "+e.circularPathData.targetY:"M"+e.circularPathData.sourceX+" "+e.circularPathData.sourceY+" L"+e.circularPathData.leftInnerExtent+" "+e.circularPathData.sourceY+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftSmallArcRadius+" 0 0 1 "+e.circularPathData.leftFullExtent+" "+(e.circularPathData.sourceY+e.circularPathData.leftSmallArcRadius)+" L"+e.circularPathData.leftFullExtent+" "+e.circularPathData.verticalLeftInnerExtent+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftLargeArcRadius+" 0 0 1 "+e.circularPathData.leftInnerExtent+" "+e.circularPathData.verticalFullExtent+" L"+e.circularPathData.rightInnerExtent+" "+e.circularPathData.verticalFullExtent+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightLargeArcRadius+" 0 0 1 "+e.circularPathData.rightFullExtent+" "+e.circularPathData.verticalRightInnerExtent+" L"+e.circularPathData.rightFullExtent+" "+(e.circularPathData.targetY+e.circularPathData.rightSmallArcRadius)+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightSmallArcRadius+" 0 0 1 "+e.circularPathData.rightInnerExtent+" "+e.circularPathData.targetY+" L"+e.circularPathData.targetX+" "+e.circularPathData.targetY}(t);else{var h=n.linkHorizontal().source((function(e){return[e.source.x0+(e.source.x1-e.source.x0),e.y0]})).target((function(e){return[e.target.x0,e.y1]}));t.path=h(t)}}))}function I(e,t){return O(e)==O(t)?"bottom"==e.circularLinkType?P(e,t):L(e,t):O(t)-O(e)}function L(e,t){return e.y0-t.y0}function P(e,t){return t.y0-e.y0}function z(e,t){return e.y1-t.y1}function D(e,t){return t.y1-e.y1}function O(e){return e.target.column-e.source.column}function R(e){return e.target.x0-e.source.x1}function F(e,t){var r=k(e),n=R(t)/Math.tan(r);return"up"==G(e)?e.y1+n:e.y1-n}function B(e,t){var r=k(e),n=R(t)/Math.tan(r);return"up"==G(e)?e.y1-n:e.y1+n}function j(e,t,r,n){e.links.forEach((function(i){if(!i.circular&&i.target.column-i.source.column>1){var a=i.source.column+1,o=i.target.column-1,s=1,l=o-a+1;for(s=1;a<=o;a++,s++)e.nodes.forEach((function(o){if(o.column==a){var c,u=s/(l+1),h=Math.pow(1-u,3),f=3*u*Math.pow(1-u,2),p=3*Math.pow(u,2)*(1-u),d=Math.pow(u,3),m=h*i.y0+f*i.y0+p*i.y1+d*i.y1,g=m-i.width/2,y=m+i.width/2;g>o.y0&&go.y0&&yo.y1)&&(c=y-o.y0+10,o=U(o,c,t,r),e.nodes.forEach((function(e){_(e,n)==_(o,n)||e.column!=o.column||e.y0o.y1&&U(e,c,t,r)})))}}))}}))}function N(e,t){return e.y0>t.y0&&e.y0t.y0&&e.y1t.y1}function U(e,t,r,n){return e.y0+t>=r&&e.y1+t<=n&&(e.y0=e.y0+t,e.y1=e.y1+t,e.targetLinks.forEach((function(e){e.y1=e.y1+t})),e.sourceLinks.forEach((function(e){e.y0=e.y0+t}))),e}function V(e,t,r,n){e.nodes.forEach((function(i){n&&i.y+(i.y1-i.y0)>t&&(i.y=i.y-(i.y+(i.y1-i.y0)-t));var a=e.links.filter((function(e){return _(e.source,r)==_(i,r)})),o=a.length;o>1&&a.sort((function(e,t){if(!e.circular&&!t.circular){if(e.target.column==t.target.column)return e.y1-t.y1;if(!H(e,t))return e.y1-t.y1;if(e.target.column>t.target.column){var r=B(t,e);return e.y1-r}if(t.target.column>e.target.column)return B(e,t)-t.y1}return e.circular&&!t.circular?"top"==e.circularLinkType?-1:1:t.circular&&!e.circular?"top"==t.circularLinkType?1:-1:e.circular&&t.circular?e.circularLinkType===t.circularLinkType&&"top"==e.circularLinkType?e.target.column===t.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:e.circularLinkType===t.circularLinkType&&"bottom"==e.circularLinkType?e.target.column===t.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:"top"==e.circularLinkType?-1:1:void 0}));var s=i.y0;a.forEach((function(e){e.y0=s+e.width/2,s+=e.width})),a.forEach((function(e,t){if("bottom"==e.circularLinkType){for(var r=t+1,n=0;r1&&n.sort((function(e,t){if(!e.circular&&!t.circular){if(e.source.column==t.source.column)return e.y0-t.y0;if(!H(e,t))return e.y0-t.y0;if(t.source.column0?"up":"down"}function W(e,t){return _(e.source,t)==_(e.target,t)}e.sankeyCircular=function(){var e,n,a=0,_=0,k=1,A=1,S=24,E=g,I=o,L=y,P=v,z=32,D=2,O=null;function R(){var o={nodes:L.apply(null,arguments),links:P.apply(null,arguments)};(function(e){e.nodes.forEach((function(e,t){e.index=t,e.sourceLinks=[],e.targetLinks=[]}));var t=r.map(e.nodes,E);e.links.forEach((function(e,r){e.index=r;var n=e.source,i=e.target;"object"!==(typeof n>"u"?"undefined":l(n))&&(n=e.source=x(t,n)),"object"!==(typeof i>"u"?"undefined":l(i))&&(i=e.target=x(t,i)),n.sourceLinks.push(e),i.targetLinks.push(e)}))})(o),function(e,t,r){var n=0;if(null===r){for(var a=[],o=0;o0?r+b+w:r,bottom:n=n>0?n+b+w:n,left:a=a>0?a+b+w:a,right:i=i>0?i+b+w:i}}(i),u=function(e,r){var n=t.max(e.nodes,(function(e){return e.column})),i=k-a,o=A-_,s=i/(i+r.right+r.left),l=o/(o+r.top+r.bottom);return a=a*s+r.left,k=0==r.right?k:k*s,_=_*l+r.top,A*=l,e.nodes.forEach((function(e){e.x0=a+e.column*((k-a-S)/n),e.x1=e.x0+S})),l}(i,c);s*=u,i.links.forEach((function(e){e.width=e.value*s})),l.forEach((function(e){var t=e.length;e.forEach((function(e,n){e.depth==l.length-1&&1==t||0==e.depth&&1==t?(e.y0=A/2-e.value*s,e.y1=e.y0+e.value*s):e.partOfCycle?0==M(e,r)?(e.y0=A/2+n,e.y1=e.y0+e.value*s):"top"==e.circularLinkType?(e.y0=_+n,e.y1=e.y0+e.value*s):(e.y0=A-e.value*s-n,e.y1=e.y0+e.value*s):0==c.top||0==c.bottom?(e.y0=(A-_)/t*n,e.y1=e.y0+e.value*s):(e.y0=(A-_)/2-t/2+n,e.y1=e.y0+e.value*s)}))}))})(s),y();for(var c=1,u=o;u>0;--u)g(c*=.99,s),y();function g(e,r){var n=l.length;l.forEach((function(i){var a=i.length,o=i[0].depth;i.forEach((function(i){var s;if((i.sourceLinks.length||i.targetLinks.length)&&!(i.partOfCycle&&M(i,r)>0))if(0==o&&1==a)s=i.y1-i.y0,i.y0=A/2-s/2,i.y1=A/2+s/2;else if(o==n-1&&1==a)s=i.y1-i.y0,i.y0=A/2-s/2,i.y1=A/2+s/2;else{var l=t.mean(i.sourceLinks,m),c=t.mean(i.targetLinks,d),u=((l&&c?(l+c)/2:l||c)-p(i))*e;i.y0+=u,i.y1+=u}}))}))}function y(){l.forEach((function(t){var r,n,i,a=_,o=t.length;for(t.sort(h),i=0;i0&&(r.y0+=n,r.y1+=n),a=r.y1+e;if((n=a-e-A)>0)for(a=r.y0-=n,r.y1-=n,i=o-2;i>=0;--i)(n=(r=t[i]).y1+e-a)>0&&(r.y0-=n,r.y1-=n),a=r.y0}))}}(o,z,E),F(o);for(var s=0;s<4;s++)V(o,A,E),q(o,0,E),j(o,_,A,E),V(o,A,E),q(o,0,E);return function(e,r,n){var i=e.nodes,a=e.links,o=!1,s=!1;if(a.forEach((function(e){"top"==e.circularLinkType?o=!0:"bottom"==e.circularLinkType&&(s=!0)})),0==o||0==s){var l=t.min(i,(function(e){return e.y0})),c=t.max(i,(function(e){return e.y1})),u=(n-r)/(c-l);i.forEach((function(e){var t=(e.y1-e.y0)*u;e.y0=(e.y0-l)*u,e.y1=e.y0+t})),a.forEach((function(e){e.y0=(e.y0-l)*u,e.y1=(e.y1-l)*u,e.width=e.width*u}))}}(o,_,A),C(o,D,A,E),o}function F(e){e.nodes.forEach((function(e){e.sourceLinks.sort(u),e.targetLinks.sort(c)})),e.nodes.forEach((function(e){var t=e.y0,r=t,n=e.y1,i=n;e.sourceLinks.forEach((function(e){e.circular?(e.y0=n-e.width/2,n-=e.width):(e.y0=t+e.width/2,t+=e.width)})),e.targetLinks.forEach((function(e){e.circular?(e.y1=i-e.width/2,i-=e.width):(e.y1=r+e.width/2,r+=e.width)}))}))}return R.nodeId=function(e){return arguments.length?(E="function"==typeof e?e:s(e),R):E},R.nodeAlign=function(e){return arguments.length?(I="function"==typeof e?e:s(e),R):I},R.nodeWidth=function(e){return arguments.length?(S=+e,R):S},R.nodePadding=function(t){return arguments.length?(e=+t,R):e},R.nodes=function(e){return arguments.length?(L="function"==typeof e?e:s(e),R):L},R.links=function(e){return arguments.length?(P="function"==typeof e?e:s(e),R):P},R.size=function(e){return arguments.length?(a=_=0,k=+e[0],A=+e[1],R):[k-a,A-_]},R.extent=function(e){return arguments.length?(a=+e[0][0],k=+e[1][0],_=+e[0][1],A=+e[1][1],R):[[a,_],[k,A]]},R.iterations=function(e){return arguments.length?(z=+e,R):z},R.circularLinkGap=function(e){return arguments.length?(D=+e,R):D},R.nodePaddingRatio=function(e){return arguments.length?(n=+e,R):n},R.sortNodes=function(e){return arguments.length?(O=e,R):O},R.update=function(e){return T(e,E),F(e),e.links.forEach((function(e){e.circular&&(e.circularLinkType=e.y0+e.y1o+d&&(a+=1,t=s.x0),o=s.x0,i[a]||(i[a]=[]),i[a].push(s),r=t-s.x0,s.x0+=r,s.x1+=r}return i})(x=A.nodes).forEach((function(e){var t,r,n,i=0,a=e.length;for(e.sort((function(e,t){return e.y0-t.y0})),n=0;n=i||(r=i-t.y0)>1e-6&&(t.y0+=r,t.y1+=r),i=t.y1+p}));n.update(A)}return{circular:b,key:r,trace:c,guid:h.randstr(),horizontal:f,width:g,height:v,nodePad:c.node.pad,nodeLineColor:c.node.line.color,nodeLineWidth:c.node.line.width,linkLineColor:c.link.line.color,linkLineWidth:c.link.line.width,linkArrowLength:c.link.arrowlen,valueFormat:c.valueformat,valueSuffix:c.valuesuffix,textFont:c.textfont,translateX:u.x[0]*e.width+e.margin.l,translateY:e.height-u.y[1]*e.height+e.margin.t,dragParallel:f?v:g,dragPerpendicular:f?g:v,arrangement:c.arrangement,sankey:n,graph:A,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function M(e,t,r){var n=l(t.color),i=l(t.hovercolor),a=t.source.label+"|"+t.target.label+"__"+r;return t.trace=e.trace,t.curveNumber=e.trace.index,{circular:e.circular,key:a,traceId:e.key,pointNumber:t.pointNumber,link:t,tinyColorHue:c.tinyRGB(n),tinyColorAlpha:n.getAlpha(),tinyColorHoverHue:c.tinyRGB(i),tinyColorHoverAlpha:i.getAlpha(),linkPath:S,linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,linkArrowLength:e.linkArrowLength,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,parent:e,interactionState:e.interactionState,flow:t.flow}}function S(){return function(e){var t=e.linkArrowLength;if(e.link.circular)return function(e,t){var r="",n=e.width/2,i=e.circularPathData,a=i.sourceX+i.verticalBuffer0?" L "+i.targetX+" "+i.targetY:"")+"Z"):(r="M "+(i.targetX-t)+" "+(i.targetY-n)+" L "+(i.rightInnerExtent-t)+" "+(i.targetY-n)+" A "+(i.rightLargeArcRadius+n)+" "+(i.rightSmallArcRadius+n)+" 0 0 0 "+(i.rightFullExtent-n-t)+" "+(i.targetY+i.rightSmallArcRadius)+" L "+(i.rightFullExtent-n-t)+" "+i.verticalRightInnerExtent,r+=a&&o?" A "+(i.rightLargeArcRadius+n)+" "+(i.rightLargeArcRadius+n)+" 0 0 0 "+(i.rightInnerExtent-n-t)+" "+(i.verticalFullExtent+n)+" L "+(i.rightFullExtent+n-t-(i.rightLargeArcRadius-n))+" "+(i.verticalFullExtent+n)+" A "+(i.rightLargeArcRadius+n)+" "+(i.rightLargeArcRadius+n)+" 0 0 0 "+(i.leftFullExtent+n)+" "+i.verticalLeftInnerExtent:a?" A "+(i.rightLargeArcRadius-n)+" "+(i.rightSmallArcRadius-n)+" 0 0 1 "+(i.rightFullExtent-t-n-(i.rightLargeArcRadius-n))+" "+(i.verticalFullExtent-n)+" L "+(i.leftFullExtent+n+(i.rightLargeArcRadius-n))+" "+(i.verticalFullExtent-n)+" A "+(i.rightLargeArcRadius-n)+" "+(i.rightSmallArcRadius-n)+" 0 0 1 "+(i.leftFullExtent+n)+" "+i.verticalLeftInnerExtent:" A "+(i.rightLargeArcRadius+n)+" "+(i.rightLargeArcRadius+n)+" 0 0 0 "+(i.rightInnerExtent-t)+" "+(i.verticalFullExtent+n)+" L "+i.leftInnerExtent+" "+(i.verticalFullExtent+n)+" A "+(i.leftLargeArcRadius+n)+" "+(i.leftLargeArcRadius+n)+" 0 0 0 "+(i.leftFullExtent+n)+" "+i.verticalLeftInnerExtent,r+=" L "+(i.leftFullExtent+n)+" "+(i.sourceY+i.leftSmallArcRadius)+" A "+(i.leftLargeArcRadius+n)+" "+(i.leftSmallArcRadius+n)+" 0 0 0 "+i.leftInnerExtent+" "+(i.sourceY-n)+" L "+i.sourceX+" "+(i.sourceY-n)+" L "+i.sourceX+" "+(i.sourceY+n)+" L "+i.leftInnerExtent+" "+(i.sourceY+n)+" A "+(i.leftLargeArcRadius-n)+" "+(i.leftSmallArcRadius-n)+" 0 0 1 "+(i.leftFullExtent-n)+" "+(i.sourceY+i.leftSmallArcRadius)+" L "+(i.leftFullExtent-n)+" "+i.verticalLeftInnerExtent,r+=a&&o?" A "+(i.rightLargeArcRadius-n)+" "+(i.rightSmallArcRadius-n)+" 0 0 1 "+(i.leftFullExtent-n-(i.rightLargeArcRadius-n))+" "+(i.verticalFullExtent-n)+" L "+(i.rightFullExtent+n-t+(i.rightLargeArcRadius-n))+" "+(i.verticalFullExtent-n)+" A "+(i.rightLargeArcRadius-n)+" "+(i.rightSmallArcRadius-n)+" 0 0 1 "+(i.rightFullExtent+n-t)+" "+i.verticalRightInnerExtent:a?" A "+(i.rightLargeArcRadius+n)+" "+(i.rightLargeArcRadius+n)+" 0 0 0 "+(i.leftFullExtent+n)+" "+(i.verticalFullExtent+n)+" L "+(i.rightFullExtent-t-n)+" "+(i.verticalFullExtent+n)+" A "+(i.rightLargeArcRadius+n)+" "+(i.rightLargeArcRadius+n)+" 0 0 0 "+(i.rightFullExtent+n-t)+" "+i.verticalRightInnerExtent:" A "+(i.leftLargeArcRadius-n)+" "+(i.leftLargeArcRadius-n)+" 0 0 1 "+i.leftInnerExtent+" "+(i.verticalFullExtent-n)+" L "+(i.rightInnerExtent-t)+" "+(i.verticalFullExtent-n)+" A "+(i.rightLargeArcRadius-n)+" "+(i.rightLargeArcRadius-n)+" 0 0 1 "+(i.rightFullExtent+n-t)+" "+i.verticalRightInnerExtent,r+=" L "+(i.rightFullExtent+n-t)+" "+(i.targetY+i.rightSmallArcRadius)+" A "+(i.rightLargeArcRadius-n)+" "+(i.rightSmallArcRadius-n)+" 0 0 1 "+(i.rightInnerExtent-t)+" "+(i.targetY+n)+" L "+(i.targetX-t)+" "+(i.targetY+n)+(t>0?" L "+i.targetX+" "+i.targetY:"")+"Z"),r}(e.link,t);var r=Math.abs((e.link.target.x0-e.link.source.x1)/2);t>r&&(t=r);var i=e.link.source.x1,a=e.link.target.x0-t,o=n(i,a),s=o(.5),l=o(.5),c=e.link.y0-e.link.width/2,u=e.link.y0+e.link.width/2,h=e.link.y1-e.link.width/2,f=e.link.y1+e.link.width/2,p="M"+i+","+c,d="C"+s+","+c+" "+l+","+h+" "+a+","+h,m="C"+l+","+f+" "+s+","+u+" "+i+","+u,g=t>0?"L"+(a+t)+","+(h+e.link.width/2):"";return p+d+(g+="L"+a+","+f)+m+"Z"}}function E(e,t){var r=l(t.color),n=s.nodePadAcross,i=e.nodePad/2;t.dx=t.x1-t.x0,t.dy=t.y1-t.y0;var a=t.dx,o=Math.max(.5,t.dy),u="node_"+t.pointNumber;return t.group&&(u=h.randstr()),t.trace=e.trace,t.curveNumber=e.trace.index,{index:t.pointNumber,key:u,partOfGroup:t.partOfGroup||!1,group:t.group,traceId:e.key,trace:e.trace,node:t,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:e.horizontal?t.dy/2+1:t.dx/2+1,left:1===t.originalLayer,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:c.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,graph:e.graph,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,u].join("_"),interactionState:e.interactionState,figure:e}}function C(e){e.attr("transform",(function(e){return f(e.node.x0.toFixed(3),e.node.y0.toFixed(3))}))}function I(e){e.call(C)}function L(e,t){e.call(I),t.attr("d",S())}function P(e){e.attr("width",(function(e){return e.node.x1-e.node.x0})).attr("height",(function(e){return e.visibleHeight}))}function z(e){return e.link.width>1||e.linkLineWidth>0}function D(e){return f(e.translateX,e.translateY)+(e.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function O(e,t,r){e.on(".basic",null).on("mouseover.basic",(function(e){!e.interactionState.dragInProgress&&!e.partOfGroup&&(r.hover(this,e,t),e.interactionState.hovered=[this,e])})).on("mousemove.basic",(function(e){!e.interactionState.dragInProgress&&!e.partOfGroup&&(r.follow(this,e),e.interactionState.hovered=[this,e])})).on("mouseout.basic",(function(e){!e.interactionState.dragInProgress&&!e.partOfGroup&&(r.unhover(this,e,t),e.interactionState.hovered=!1)})).on("click.basic",(function(e){e.interactionState.hovered&&(r.unhover(this,e,t),e.interactionState.hovered=!1),!e.interactionState.dragInProgress&&!e.partOfGroup&&r.select(this,e,t)}))}function R(e,t,n,a){var o=i.behavior.drag().origin((function(e){return{x:e.node.x0+e.visibleWidth/2,y:e.node.y0+e.visibleHeight/2}})).on("dragstart",(function(i){if("fixed"!==i.arrangement&&(h.ensureSingle(a._fullLayout._infolayer,"g","dragcover",(function(e){a._fullLayout._dragCover=e})),h.raiseToTop(this),i.interactionState.dragInProgress=i.node,j(i.node),i.interactionState.hovered&&(n.nodeEvents.unhover.apply(0,i.interactionState.hovered),i.interactionState.hovered=!1),"snap"===i.arrangement)){var o=i.traceId+"|"+i.key;i.forceLayouts[o]?i.forceLayouts[o].alpha(1):function(e,t,n){!function(e){for(var t=0;t0&&n.forceLayouts[t].alpha(0)}}(0,t,i,n)).stop()}(0,o,i),function(e,t,r,n,i){window.requestAnimationFrame((function a(){var o;for(o=0;o0)window.requestAnimationFrame(a);else{var l=r.node.originalX;r.node.x0=l-r.visibleWidth/2,r.node.x1=l+r.visibleWidth/2,B(r,i)}}))}(e,t,i,o,a)}})).on("drag",(function(r){if("fixed"!==r.arrangement){var n=i.event.x,a=i.event.y;"snap"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2,r.node.y0=a-r.visibleHeight/2,r.node.y1=a+r.visibleHeight/2):("freeform"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),a=Math.max(0,Math.min(r.size-r.visibleHeight/2,a)),r.node.y0=a-r.visibleHeight/2,r.node.y1=a+r.visibleHeight/2),j(r.node),"snap"!==r.arrangement&&(r.sankey.update(r.graph),L(e.filter(N(r)),t))}})).on("dragend",(function(e){if("fixed"!==e.arrangement){e.interactionState.dragInProgress=!1;for(var t=0;t"),color:_(l,"bgcolor")||s.addOpacity(m.color,1),borderColor:_(l,"bordercolor"),fontFamily:_(l,"font.family"),fontSize:_(l,"font.size"),fontColor:_(l,"font.color"),fontWeight:_(l,"font.weight"),fontStyle:_(l,"font.style"),fontVariant:_(l,"font.variant"),fontTextcase:_(l,"font.textcase"),fontLineposition:_(l,"font.lineposition"),fontShadow:_(l,"font.shadow"),nameLength:_(l,"namelength"),textAlign:_(l,"align"),idealAlign:r.event.x"),color:_(s,"bgcolor")||a.tinyColorHue,borderColor:_(s,"bordercolor"),fontFamily:_(s,"font.family"),fontSize:_(s,"font.size"),fontColor:_(s,"font.color"),fontWeight:_(s,"font.weight"),fontStyle:_(s,"font.style"),fontVariant:_(s,"font.variant"),fontTextcase:_(s,"font.textcase"),fontLineposition:_(s,"font.lineposition"),fontShadow:_(s,"font.shadow"),nameLength:_(s,"namelength"),textAlign:_(s,"align"),idealAlign:"left",hovertemplate:s.hovertemplate,hovertemplateLabels:v,eventData:[a.node]},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:e});f(w,.85),p(w)}}},unhover:function(t,i,a){!1!==e._fullLayout.hovermode&&(r.select(t).call(y,i,a),"skip"!==i.node.trace.node.hoverinfo&&(i.node.fullData=i.node.trace,e.emit("plotly_unhover",{event:r.event,points:[i.node]})),o.loneUnhover(n._hoverlayer.node()))},select:function(t,n,i){var a=n.node;a.originalEvent=r.event,e._hoverdata=[a],r.select(t).call(y,n,i),o.click(e,{target:!0})}}})}}}),lw=m({"src/traces/sankey/base_plot.js"(e){var t=De().overrideAll,r=Tt().getModuleCalcData,n=sw(),i=U(),a=dr(),o=pr(),s=Cn().prepSelect,l=ct(),c=He(),u="sankey";function h(e,t){var r=e._fullData[t],n=e._fullLayout,i=n.dragmode,u="pan"===n.dragmode?"move":"crosshair",h=r._bgRect;if(h&&"pan"!==i&&"zoom"!==i){a(h,u);var f={_id:"x",c2p:l.identity,_offset:r._sankey.translateX,_length:r._sankey.width},p={_id:"y",c2p:l.identity,_offset:r._sankey.translateY,_length:r._sankey.height},d={gd:e,element:h.node(),plotinfo:{id:t,xaxis:f,yaxis:p,fillRangeItems:l.noop},subplot:t,xaxes:[f],yaxes:[p],doneFnCompleted:function(r){var n,i=e._fullData[t],a=i.node.groups.slice(),o=[];function s(e){for(var t=i._sankey.graph.nodes,r=0;r0}function k(e){e.each((function(e){y.stroke(r.select(this),e.line.color)})).each((function(e){y.fill(r.select(this),e.color)})).style("stroke-width",(function(e){return e.line.width}))}function A(e,t,r){var n=e._fullLayout,i=a.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},t),o={type:"linear",_id:"x"+t._id},s={letter:"x",font:n.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function l(e,t){return a.coerce(i,o,g,e,t)}return d(i,o,l,s,n),m(i,o,l,s),o}function M(e,t,r){return[Math.min(t/e.width,r/e.height),e,t+"x"+r]}function S(e,t,n,i){var a=document.createElementNS("http://www.w3.org/2000/svg","text"),o=r.select(a);return o.text(e).attr("x",0).attr("y",0).attr("text-anchor",n).attr("data-unformatted",e).call(f.convertToTspans,i).call(u.font,t),u.bBox(o.node())}function E(e,t,r,n,i,o){var s="_cache"+t;e[s]&&e[s].key===i||(e[s]={key:i,value:r});var l=a.aggNums(o,null,[e[s].value,n],2);return e[s].value=l,l}t.exports=function(e,t,d,m){var g,v=e._fullLayout;T(d)&&m&&(g=m()),a.makeTraceGroups(v._indicatorlayer,t,"trace").each((function(t){var m,b,C,I,L,P=t[0].trace,z=r.select(this),D=P._hasGauge,O=P._isAngular,R=P._isBullet,F=P.domain,B={w:v._size.w*(F.x[1]-F.x[0]),h:v._size.h*(F.y[1]-F.y[0]),l:v._size.l+v._size.w*F.x[0],r:v._size.r+v._size.w*(1-F.x[1]),t:v._size.t+v._size.h*(1-F.y[1]),b:v._size.b+v._size.h*F.y[0]},j=B.l+B.w/2,N=B.t+B.h/2,U=Math.min(B.w/2,B.h),V=h.innerRadius*U,q=P.align||"center";if(b=N,D){if(O&&(m=j,b=N+U/2,C=function(e){return function(e,t){return[t/Math.sqrt(e.width/2*(e.width/2)+e.height*e.height),e,t]}(e,.9*V)}),R){var H=h.bulletPadding,G=1-h.bulletNumberDomainSize+H;m=B.l+(G+(1-G)*_[q])*B.w,C=function(e){return M(e,(h.bulletNumberDomainSize-H)*B.w,B.h)}}}else m=B.l+_[q]*B.w,C=function(e){return M(e,B.w,B.h)};!function(e,t,n,l){var c,h,d,m=n[0].trace,g=l.numbersX,v=l.numbersY,b=m.align||"center",k=x[b],M=l.transitionOpts,C=l.onComplete,I=a.ensureSingle(t,"g","numbers"),L=[];m._hasNumber&&L.push("number"),m._hasDelta&&(L.push("delta"),"left"===m.delta.position&&L.reverse());var P=I.selectAll("text").data(L);function z(t,r,n,i){if(!t.match("s")||n>=0==i>=0||r(n).slice(-1).match(w)||r(i).slice(-1).match(w))return r;var a=t.slice().replace("s","f").replace(/\d+/,(function(e){return parseInt(e)-1})),o=A(e,{tickformat:a});return function(e){return Math.abs(e)<1?p.tickText(o,e).text:r(e)}}P.enter().append("text"),P.attr("text-anchor",(function(){return k})).attr("class",(function(e){return e})).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),P.exit().remove();var D,O=m.mode+m.align;if(m._hasDelta&&(D=function(){var t=A(e,{tickformat:m.delta.valueformat},m._range);t.setScale(),p.prepTicks(t);var a=function(e){return p.tickText(t,e).text},o=m.delta.suffix,s=m.delta.prefix,l=function(e){return m.delta.relative?e.relativeDelta:e.delta},c=function(e,t){return 0===e||"number"!=typeof e||isNaN(e)?"-":(e>0?m.delta.increasing.symbol:m.delta.decreasing.symbol)+s+t(e)+o},d=function(e){return e.delta>=0?m.delta.increasing.color:m.delta.decreasing.color};void 0===m._deltaLastValue&&(m._deltaLastValue=l(n[0]));var g=I.select("text.delta");function v(){g.text(c(l(n[0]),a)).call(y.fill,d(n[0])).call(f.convertToTspans,e)}return g.call(u.font,m.delta.font).call(y.fill,d({delta:m._deltaLastValue})),T(M)?g.transition().duration(M.duration).ease(M.easing).tween("text",(function(){var e=r.select(this),t=l(n[0]),o=m._deltaLastValue,s=z(m.delta.valueformat,a,o,t),u=i(o,t);return m._deltaLastValue=t,function(t){e.text(c(u(t),s)),e.call(y.fill,d({delta:u(t)}))}})).each("end",(function(){v(),C&&C()})).each("interrupt",(function(){v(),C&&C()})):v(),h=S(c(l(n[0]),a),m.delta.font,k,e),g}(),O+=m.delta.position+m.delta.font.size+m.delta.font.family+m.delta.valueformat,O+=m.delta.increasing.symbol+m.delta.decreasing.symbol,d=h),m._hasNumber&&(function(){var t=A(e,{tickformat:m.number.valueformat},m._range);t.setScale(),p.prepTicks(t);var a=function(e){return p.tickText(t,e).text},o=m.number.suffix,s=m.number.prefix,l=I.select("text.number");function h(){var t="number"==typeof n[0].y?s+a(n[0].y)+o:"-";l.text(t).call(u.font,m.number.font).call(f.convertToTspans,e)}T(M)?l.transition().duration(M.duration).ease(M.easing).each("end",(function(){h(),C&&C()})).each("interrupt",(function(){h(),C&&C()})).attrTween("text",(function(){var e=r.select(this),t=i(n[0].lastY,n[0].y);m._lastValue=n[0].y;var l=z(m.number.valueformat,a,n[0].lastY,n[0].y);return function(r){e.text(s+l(t(r))+o)}})):h(),c=S(s+a(n[0].y)+o,m.number.font,k,e)}(),O+=m.number.font.size+m.number.font.family+m.number.valueformat+m.number.suffix+m.number.prefix,d=c),m._hasDelta&&m._hasNumber){var R,F,B=[(c.left+c.right)/2,(c.top+c.bottom)/2],j=[(h.left+h.right)/2,(h.top+h.bottom)/2],N=.75*m.delta.font.size;"left"===m.delta.position&&(R=E(m,"deltaPos",0,-1*(c.width*_[m.align]+h.width*(1-_[m.align])+N),O,Math.min),F=B[1]-j[1],d={width:c.width+h.width+N,height:Math.max(c.height,h.height),left:h.left+R,right:c.right,top:Math.min(c.top,h.top+F),bottom:Math.max(c.bottom,h.bottom+F)}),"right"===m.delta.position&&(R=E(m,"deltaPos",0,c.width*(1-_[m.align])+h.width*_[m.align]+N,O,Math.max),F=B[1]-j[1],d={width:c.width+h.width+N,height:Math.max(c.height,h.height),left:c.left,right:h.right+R,top:Math.min(c.top,h.top+F),bottom:Math.max(c.bottom,h.bottom+F)}),"bottom"===m.delta.position&&(R=null,F=h.height,d={width:Math.max(c.width,h.width),height:c.height+h.height,left:Math.min(c.left,h.left),right:Math.max(c.right,h.right),top:c.bottom-c.height,bottom:c.bottom+h.height}),"top"===m.delta.position&&(R=null,F=c.top,d={width:Math.max(c.width,h.width),height:c.height+h.height,left:Math.min(c.left,h.left),right:Math.max(c.right,h.right),top:c.bottom-c.height-h.height,bottom:c.bottom}),D.attr({dx:R,dy:F})}(m._hasNumber||m._hasDelta)&&I.attr("transform",(function(){var e=l.numbersScaler(d);O+=e[2];var t,r=E(m,"numbersScale",1,e[0],O,Math.min);m._scaleNumbers||(r=1),t=m._isAngular?v-r*d.bottom:v-r*(d.top+d.bottom)/2,m._numbersTop=r*d.top+t;var n=d[b];"center"===b&&(n=(d.left+d.right)/2);var i=g-r*n;return i=E(m,"numbersTranslate",0,i,O,Math.max),s(i,t)+o(r)}))}(e,z,t,{numbersX:m,numbersY:b,numbersScaler:C,transitionOpts:d,onComplete:g}),D&&(I={range:P.gauge.axis.range,color:P.gauge.bgcolor,line:{color:P.gauge.bordercolor,width:0},thickness:1},L={range:P.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:P.gauge.bordercolor,width:P.gauge.borderwidth},thickness:1});var W=z.selectAll("g.angular").data(O?t:[]);W.exit().remove();var Z=z.selectAll("g.angularaxis").data(O?t:[]);Z.exit().remove(),O&&function(e,t,i,a){var o,u,h,f,d=i[0].trace,m=a.size,g=a.radius,y=a.innerRadius,v=a.gaugeBg,x=a.gaugeOutline,_=[m.l+m.w/2,m.t+m.h/2+g/2],b=a.gauge,w=a.layer,M=a.transitionOpts,S=a.onComplete,E=Math.PI/2;function C(e){var t=d.gauge.axis.range[0],r=(e-t)/(d.gauge.axis.range[1]-t)*Math.PI-E;return r<-E?-E:r>E?E:r}function I(e){return r.svg.arc().innerRadius((y+g)/2-e/2*(g-y)).outerRadius((y+g)/2+e/2*(g-y)).startAngle(-E)}function L(e){e.attr("d",(function(e){return I(e.thickness).startAngle(C(e.range[0])).endAngle(C(e.range[1]))()}))}b.enter().append("g").classed("angular",!0),b.attr("transform",s(_[0],_[1])),w.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),w.selectAll("g.xangularaxistick,path,text").remove(),(o=A(e,d.gauge.axis)).type="linear",o.range=d.gauge.axis.range,o._id="xangularaxis",o.ticklabeloverflow="allow",o.setScale();var P=function(e){return(o.range[0]-e.x)/(o.range[1]-o.range[0])*Math.PI+Math.PI},z={},D=p.makeLabelFns(o,0).labelStandoff;z.xFn=function(e){var t=P(e);return Math.cos(t)*D},z.yFn=function(e){var t=P(e),r=Math.sin(t)>0?.2:1;return-Math.sin(t)*(D+e.fontSize*r)+Math.abs(Math.cos(t))*(e.fontSize*c)},z.anchorFn=function(e){var t=P(e),r=Math.cos(t);return Math.abs(r)<.1?"middle":r>0?"start":"end"},z.heightFn=function(e,t,r){var n=P(e);return-.5*(1+Math.sin(n))*r};var O=function(e){return s(_[0]+g*Math.cos(e),_[1]-g*Math.sin(e))};h=function(e){return O(P(e))};if(u=p.calcTicks(o),f=p.getTickSigns(o)[2],o.visible){f="inside"===o.ticks?-1:1;var R=(o.linewidth||1)/2;p.drawTicks(e,o,{vals:u,layer:w,path:"M"+f*R+",0h"+f*o.ticklen,transFn:function(e){var t=P(e);return O(t)+"rotate("+-l(t)+")"}}),p.drawLabels(e,o,{vals:u,layer:w,transFn:h,labelFns:z})}var F=[v].concat(d.gauge.steps),B=b.selectAll("g.bg-arc").data(F);B.enter().append("g").classed("bg-arc",!0).append("path"),B.select("path").call(L).call(k),B.exit().remove();var j=I(d.gauge.bar.thickness),N=b.selectAll("g.value-arc").data([d.gauge.bar]);N.enter().append("g").classed("value-arc",!0).append("path");var U=N.select("path");T(M)?(U.transition().duration(M.duration).ease(M.easing).each("end",(function(){S&&S()})).each("interrupt",(function(){S&&S()})).attrTween("d",function(e,t,r){return function(){var i=n(t,r);return function(t){return e.endAngle(i(t))()}}}(j,C(i[0].lastY),C(i[0].y))),d._lastValue=i[0].y):U.attr("d","number"==typeof i[0].y?j.endAngle(C(i[0].y)):"M0,0Z"),U.call(k),N.exit().remove(),F=[];var V=d.gauge.threshold.value;(V||0===V)&&F.push({range:[V,V],color:d.gauge.threshold.color,line:{color:d.gauge.threshold.line.color,width:d.gauge.threshold.line.width},thickness:d.gauge.threshold.thickness});var q=b.selectAll("g.threshold-arc").data(F);q.enter().append("g").classed("threshold-arc",!0).append("path"),q.select("path").call(L).call(k),q.exit().remove();var H=b.selectAll("g.gauge-outline").data([x]);H.enter().append("g").classed("gauge-outline",!0).append("path"),H.select("path").call(L).call(k),H.exit().remove()}(e,0,t,{radius:U,innerRadius:V,gauge:W,layer:Z,size:B,gaugeBg:I,gaugeOutline:L,transitionOpts:d,onComplete:g});var Y=z.selectAll("g.bullet").data(R?t:[]);Y.exit().remove();var X=z.selectAll("g.bulletaxis").data(R?t:[]);X.exit().remove(),R&&function(e,t,r,n){var i,a,o,l,c,u=r[0].trace,f=n.gauge,d=n.layer,m=n.gaugeBg,g=n.gaugeOutline,v=n.size,x=u.domain,_=n.transitionOpts,b=n.onComplete;f.enter().append("g").classed("bullet",!0),f.attr("transform",s(v.l,v.t)),d.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),d.selectAll("g.xbulletaxistick,path,text").remove();var w=v.h,M=u.gauge.bar.thickness*w,S=x.x[0],E=x.x[0]+(x.x[1]-x.x[0])*(u._hasNumber||u._hasDelta?1-h.bulletNumberDomainSize:1);function C(e){e.attr("width",(function(e){return Math.max(0,i.c2p(e.range[1])-i.c2p(e.range[0]))})).attr("x",(function(e){return i.c2p(e.range[0])})).attr("y",(function(e){return.5*(1-e.thickness)*w})).attr("height",(function(e){return e.thickness*w}))}(i=A(e,u.gauge.axis))._id="xbulletaxis",i.domain=[S,E],i.setScale(),a=p.calcTicks(i),o=p.makeTransTickFn(i),l=p.getTickSigns(i)[2],c=v.t+v.h,i.visible&&(p.drawTicks(e,i,{vals:"inside"===i.ticks?p.clipEnds(i,a):a,layer:d,path:p.makeTickPath(i,c,l),transFn:o}),p.drawLabels(e,i,{vals:a,layer:d,transFn:o,labelFns:p.makeLabelFns(i,c)}));var I=[m].concat(u.gauge.steps),L=f.selectAll("g.bg-bullet").data(I);L.enter().append("g").classed("bg-bullet",!0).append("rect"),L.select("rect").call(C).call(k),L.exit().remove();var P=f.selectAll("g.value-bullet").data([u.gauge.bar]);P.enter().append("g").classed("value-bullet",!0).append("rect"),P.select("rect").attr("height",M).attr("y",(w-M)/2).call(k),T(_)?P.select("rect").transition().duration(_.duration).ease(_.easing).each("end",(function(){b&&b()})).each("interrupt",(function(){b&&b()})).attr("width",Math.max(0,i.c2p(Math.min(u.gauge.axis.range[1],r[0].y)))):P.select("rect").attr("width","number"==typeof r[0].y?Math.max(0,i.c2p(Math.min(u.gauge.axis.range[1],r[0].y))):0),P.exit().remove();var z=r.filter((function(){return u.gauge.threshold.value||0===u.gauge.threshold.value})),D=f.selectAll("g.threshold-bullet").data(z);D.enter().append("g").classed("threshold-bullet",!0).append("line"),D.select("line").attr("x1",i.c2p(u.gauge.threshold.value)).attr("x2",i.c2p(u.gauge.threshold.value)).attr("y1",(1-u.gauge.threshold.thickness)/2*w).attr("y2",(1-(1-u.gauge.threshold.thickness)/2)*w).call(y.stroke,u.gauge.threshold.line.color).style("stroke-width",u.gauge.threshold.line.width),D.exit().remove();var O=f.selectAll("g.gauge-outline").data([g]);O.enter().append("g").classed("gauge-outline",!0).append("rect"),O.select("rect").call(C).call(k),O.exit().remove()}(e,0,t,{gauge:Y,layer:X,size:B,gaugeBg:I,gaugeOutline:L,transitionOpts:d,onComplete:g});var $=z.selectAll("text.title").data(t);$.exit().remove(),$.enter().append("text").classed("title",!0),$.attr("text-anchor",(function(){return R?x.right:x[P.title.align]})).text(P.title.text).call(u.font,P.title.font).call(f.convertToTspans,e),$.attr("transform",(function(){var e,t=B.l+B.w*_[P.title.align],r=h.titlePadding,n=u.bBox($.node());return D?(O&&(e=P.gauge.axis.visible?u.bBox(Z.node()).top-r-n.bottom:B.t+B.h/2-U/2-n.bottom-r),R&&(e=b-(n.top+n.bottom)/2,t=B.l-h.bulletPadding*B.w)):e=P._numbersTop-r-n.bottom,s(t,e)}))}))}}}),vw=m({"src/traces/indicator/index.js"(e,t){t.exports={moduleType:"trace",name:"indicator",basePlotModule:fw(),categories:["svg","noOpacity","noHover"],animatable:!0,attributes:pw(),supplyDefaults:mw().supplyDefaults,calc:gw().calc,plot:yw(),meta:{}}}}),xw=m({"lib/indicator.js"(e,t){t.exports=vw()}}),_w=m({"src/traces/table/attributes.js"(e,t){var r=bn(),n=B().extendFlat,i=De().overrideAll,a=j(),o=Ma().attributes,s=It().descriptionOnlyNumbers;t.exports=i({domain:o({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:s("cell value")},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:28},align:n({},r.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:n({},a({arrayOk:!0}))},cells:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[],description:s("cell value")},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:20},align:n({},r.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:n({},a({arrayOk:!0}))}},"calc","from-root")}}),bw=m({"src/traces/table/defaults.js"(e,t){var r=ct(),n=_w(),i=Ma().defaults;t.exports=function(e,t,a,o){function s(i,a){return r.coerce(e,t,n,i,a)}i(t,o,s),s("columnwidth"),s("header.values"),s("header.format"),s("header.align"),s("header.prefix"),s("header.suffix"),s("header.height"),s("header.line.width"),s("header.line.color"),s("header.fill.color"),r.coerceFont(s,"header.font",o.font),function(e,t){for(var r=e.columnorder||[],n=e.header.values.length,i=r.slice(0,n),a=i.slice().sort((function(e,t){return e-t})),o=i.map((function(e){return a.indexOf(e)})),s=o.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"}}}}),kw=m({"src/traces/table/data_preparation_helper.js"(e,t){var r=Tw(),n=B().extendFlat,i=M(),a=I().isTypedArray,o=I().isArrayOrTypedArray;function s(e){if(o(e)){for(var t=0,r=0;r=t||c===e.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=c,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=c+1,a=0);return n}t.exports=function(e,t){var a=c(t.cells.values),d=function(e){return e.slice(t.header.values.length,e.length)},m=c(t.header.values);m.length&&!m[0].length&&(m[0]=[""],m=c(m));var g=m.concat(d(a).map((function(){return u((m[0]||[""]).length)}))),y=t.domain,v=Math.floor(e._fullLayout._size.w*(y.x[1]-y.x[0])),x=Math.floor(e._fullLayout._size.h*(y.y[1]-y.y[0])),_=t.header.values.length?g[0].map((function(){return t.header.height})):[r.emptyHeaderHeight],b=a.length?a[0].map((function(){return t.cells.height})):[],w=_.reduce(l,0),T=p(b,x-w+r.uplift),k=f(p(_,w),[]),A=f(T,k),M={},S=t._fullInput.columnorder;o(S)&&(S=Array.from(S)),S=S.concat(d(a.map((function(e,t){return t}))));var E=g.map((function(e,r){var n=o(t.columnwidth)?t.columnwidth[Math.min(r,t.columnwidth.length-1)]:t.columnwidth;return i(n)?Number(n):1})),C=E.reduce(l,0);E=E.map((function(e){return e/C*v}));var I=Math.max(s(t.header.line.width),s(t.cells.line.width)),L={key:t.uid+e._context.staticPlot,translateX:y.x[0]*e._fullLayout._size.w,translateY:e._fullLayout._size.h*(1-y.y[1]),size:e._fullLayout._size,width:v,maxLineWidth:I,height:x,columnOrder:S,groupHeight:x,rowBlocks:A,headerRowBlocks:k,scrollY:0,cells:n({},t.cells,{values:a}),headerCells:n({},t.header,{values:g}),gdColumns:g.map((function(e){return e[0]})),gdColumnsOriginalOrder:g.map((function(e){return e[0]})),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.map((function(e,t){var r=M[e];return M[e]=(r||0)+1,{key:e+"__"+M[e],label:e,specIndex:t,xIndex:S[t],xScale:h,x:void 0,calcdata:void 0,columnWidth:E[t]}}))};return L.columns.forEach((function(e){e.calcdata=L,e.x=h(e)})),L}}}),Aw=m({"src/traces/table/data_split_helpers.js"(e){var t=B().extendFlat;e.splitToPanels=function(e){var r=[0,0],n=t({},e,{key:"header",type:"header",page:0,prevPages:r,currentRepaint:[null,null],dragHandle:!0,values:e.calcdata.headerCells.values[e.specIndex],rowBlocks:e.calcdata.headerRowBlocks,calcdata:t({},e.calcdata,{cells:e.calcdata.headerCells})});return[t({},e,{key:"cells1",type:"cells",page:0,prevPages:r,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks}),t({},e,{key:"cells2",type:"cells",page:1,prevPages:r,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks}),n]},e.splitToCells=function(e){var t=function(e){var t=e.rowBlocks[e.page],r=t?t.rows[0].rowIndex:0;return[r,t?r+t.rows.length:0]}(e);return(e.values||[]).slice(t[0],t[1]).map((function(r,n){return{keyWithinBlock:n+("string"==typeof r&&r.match(/[<$&> ]/)?"_keybuster_"+Math.random():""),key:t[0]+n,column:e,calcdata:e.calcdata,page:e.page,rowBlocks:e.rowBlocks,value:r}}))}}}),Mw=m({"src/traces/table/plot.js"(e,t){var r=Tw(),n=b(),i=ct(),a=i.numberFormat,o=Kx(),s=er(),l=Et(),c=ct().raiseToTop,u=ct().strTranslate,h=ct().cancelTransition,f=kw(),p=Aw(),d=W();function m(e){return Math.ceil(e.calcdata.maxLineWidth/2)}function g(e,t){return"clip"+e._fullLayout._uid+"_scrollAreaBottomClip_"+t.key}function y(e,t){return"clip"+e._fullLayout._uid+"_columnBoundaryClippath_"+t.calcdata.key+"_"+t.specIndex}function v(e){return[].concat.apply([],e.map((function(e){return e}))).map((function(e){return e.__data__}))}function x(e,t,i){var a=e.selectAll("."+r.cn.scrollbarKit).data(o.repeat,o.keyFun);a.enter().append("g").classed(r.cn.scrollbarKit,!0).style("shape-rendering","geometricPrecision"),a.each((function(e){var t=e.scrollbarState;t.totalHeight=function(e){var t=e.rowBlocks;return R(t,t.length-1)+(t.length?F(t[t.length-1],1/0):1)}(e),t.scrollableAreaHeight=e.groupHeight-E(e),t.currentlyVisibleHeight=Math.min(t.totalHeight,t.scrollableAreaHeight),t.ratio=t.currentlyVisibleHeight/t.totalHeight,t.barLength=Math.max(t.ratio*t.currentlyVisibleHeight,r.goldenRatio*r.scrollbarWidth),t.barWiggleRoom=t.currentlyVisibleHeight-t.barLength,t.wiggleRoom=Math.max(0,t.totalHeight-t.scrollableAreaHeight),t.topY=0===t.barWiggleRoom?0:e.scrollY/t.wiggleRoom*t.barWiggleRoom,t.bottomY=t.topY+t.barLength,t.dragMultiplier=t.wiggleRoom/t.barWiggleRoom})).attr("transform",(function(e){var t=e.width+r.scrollbarWidth/2+r.scrollbarOffset;return u(t,E(e))}));var s=a.selectAll("."+r.cn.scrollbar).data(o.repeat,o.keyFun);s.enter().append("g").classed(r.cn.scrollbar,!0);var l=s.selectAll("."+r.cn.scrollbarSlider).data(o.repeat,o.keyFun);l.enter().append("g").classed(r.cn.scrollbarSlider,!0),l.attr("transform",(function(e){return u(0,e.scrollbarState.topY||0)}));var c=l.selectAll("."+r.cn.scrollbarGlyph).data(o.repeat,o.keyFun);c.enter().append("line").classed(r.cn.scrollbarGlyph,!0).attr("stroke","black").attr("stroke-width",r.scrollbarWidth).attr("stroke-linecap","round").attr("y1",r.scrollbarWidth/2),c.attr("y2",(function(e){return e.scrollbarState.barLength-r.scrollbarWidth/2})).attr("stroke-opacity",(function(e){return e.columnDragInProgress||!e.scrollbarState.barWiggleRoom||i?0:.4})),c.transition().delay(0).duration(0),c.transition().delay(r.scrollbarHideDelay).duration(r.scrollbarHideDuration).attr("stroke-opacity",0);var h=s.selectAll("."+r.cn.scrollbarCaptureZone).data(o.repeat,o.keyFun);h.enter().append("line").classed(r.cn.scrollbarCaptureZone,!0).attr("stroke","white").attr("stroke-opacity",.01).attr("stroke-width",r.scrollbarCaptureWidth).attr("stroke-linecap","butt").attr("y1",0).on("mousedown",(function(r){var i=n.event.y,a=this.getBoundingClientRect(),o=r.scrollbarState,s=i-a.top,l=n.scale.linear().domain([0,o.scrollableAreaHeight]).range([0,o.totalHeight]).clamp(!0);o.topY<=s&&s<=o.bottomY||I(t,e,null,l(s-o.barLength/2))(r)})).call(n.behavior.drag().origin((function(e){return n.event.stopPropagation(),e.scrollbarState.scrollbarScrollInProgress=!0,e})).on("drag",I(t,e)).on("dragend",(function(){}))),h.attr("y2",(function(e){return e.scrollbarState.scrollableAreaHeight})),t._context.staticPlot&&(c.remove(),h.remove())}function _(e,t,i,a){var l=function(e){var t=e.selectAll("."+r.cn.columnCells).data(o.repeat,o.keyFun);return t.enter().append("g").classed(r.cn.columnCells,!0),t.exit().remove(),t}(i),c=function(e){var t=e.selectAll("."+r.cn.columnCell).data(p.splitToCells,(function(e){return e.keyWithinBlock}));return t.enter().append("g").classed(r.cn.columnCell,!0),t.exit().remove(),t}(l);!function(e){e.each((function(e,t){var r=e.calcdata.cells.font,n=e.column.specIndex,i={size:k(r.size,n,t),color:k(r.color,n,t),family:k(r.family,n,t),weight:k(r.weight,n,t),style:k(r.style,n,t),variant:k(r.variant,n,t),textcase:k(r.textcase,n,t),lineposition:k(r.lineposition,n,t),shadow:k(r.shadow,n,t)};e.rowNumber=e.key,e.align=k(e.calcdata.cells.align,n,t),e.cellBorderWidth=k(e.calcdata.cells.line.width,n,t),e.font=i}))}(c);var u=function(e){var t=e.selectAll("."+r.cn.cellRect).data(o.repeat,(function(e){return e.keyWithinBlock}));return t.enter().append("rect").classed(r.cn.cellRect,!0),t}(c);!function(e){e.attr("width",(function(e){return e.column.columnWidth})).attr("stroke-width",(function(e){return e.cellBorderWidth})).each((function(e){var t=n.select(this);d.stroke(t,k(e.calcdata.cells.line.color,e.column.specIndex,e.rowNumber)),d.fill(t,k(e.calcdata.cells.fill.color,e.column.specIndex,e.rowNumber))}))}(u);var h=function(e){var t=e.selectAll("."+r.cn.cellTextHolder).data(o.repeat,(function(e){return e.keyWithinBlock}));return t.enter().append("g").classed(r.cn.cellTextHolder,!0).style("shape-rendering","geometricPrecision"),t}(c),f=function(e){var t=e.selectAll("."+r.cn.cellText).data(o.repeat,(function(e){return e.keyWithinBlock}));return t.enter().append("text").classed(r.cn.cellText,!0).style("cursor",(function(){return"auto"})).on("mousedown",(function(){n.event.stopPropagation()})),t}(h);(function(e){e.each((function(e){s.font(n.select(this),e.font)}))})(f),w(f,t,a,e),O(c)}function w(e,t,i,o){e.text((function(e){var t=e.column.specIndex,n=e.rowNumber,i=e.value,o="string"==typeof i,s=o&&i.match(/
/i),l=!o||s;e.mayHaveMarkup=o&&i.match(/[<&>]/);var c=function(e){return"string"==typeof e&&e.match(r.latexCheck)}(i);e.latex=c;var u,h,f=c?"":k(e.calcdata.cells.prefix,t,n)||"",p=c?"":k(e.calcdata.cells.suffix,t,n)||"",d=c?null:k(e.calcdata.cells.format,t,n)||null,m=f+(d?a(d)(e.value):e.value)+p;if(e.wrappingNeeded=!e.wrapped&&!l&&!c&&(u=T(m)),e.cellHeightMayIncrease=s||c||e.mayHaveMarkup||(void 0===u?T(m):u),e.needsConvertToTspans=e.mayHaveMarkup||e.wrappingNeeded||e.latex,e.wrappingNeeded){var g=(" "===r.wrapSplitCharacter?m.replace(/i&&n.push(a),i+=l}return n}(i,l,s);1===c.length&&(c[0]===i.length-1?c.unshift(c[0]-1):c.push(c[0]+1)),c[0]%2&&c.reverse(),t.each((function(e,t){e.page=c[t],e.scrollY=l})),t.attr("transform",(function(e){var t=R(e.rowBlocks,e.page)-e.scrollY;return u(0,t)})),e&&(L(e,r,t,c,n.prevPages,n,0),L(e,r,t,c,n.prevPages,n,1),x(r,e))}}function I(e,t,i,a){return function(o){var s=o.calcdata?o.calcdata:o,l=t.filter((function(e){return s.key===e.key})),c=i||s.scrollbarState.dragMultiplier,u=s.scrollY;s.scrollY=void 0===a?s.scrollY+c*n.event.dy:a;var h=l.selectAll("."+r.cn.yColumn).selectAll("."+r.cn.columnBlock).filter(M);return C(e,h,l),s.scrollY===u}}function L(e,t,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout((function(){var a=r.filter((function(e,t){return t===o&&n[t]!==i[t]}));_(e,t,a,r),i[o]=n[o]})))}function P(e,t,i,a){return function(){var o=n.select(t.parentNode);o.each((function(e){var t=e.fragments;o.selectAll("tspan.line").each((function(e,r){t[r].width=this.getComputedTextLength()}));var n,i,a=t[t.length-1].width,s=t.slice(0,-1),l=[],c=0,u=e.column.columnWidth-2*r.cellPad;for(e.value="";s.length;)c+(i=(n=s.shift()).width+a)>u&&(e.value+=l.join(r.wrapSpacer)+r.lineBreaker,l=[],c=0),l.push(n.text),c+=i;c&&(e.value+=l.join(r.wrapSpacer)),e.wrapped=!0})),o.selectAll("tspan.line").remove(),w(o.select("."+r.cn.cellText),i,e,a),n.select(t.parentNode.parentNode).call(O)}}function z(e,t,i,a,o){return function(){if(!o.settledY){var s=n.select(t.parentNode),l=j(o),c=o.key-l.firstRowIndex,h=l.rows[c].rowHeight,f=o.cellHeightMayIncrease?t.parentNode.getBoundingClientRect().height+2*r.cellPad:h,p=Math.max(f,h);p-l.rows[c].rowHeight&&(l.rows[c].rowHeight=p,e.selectAll("."+r.cn.columnCell).call(O),C(null,e.filter(M),0),x(i,a,!0)),s.attr("transform",(function(){var e=this,t=e.parentNode.getBoundingClientRect(),i=n.select(e.parentNode).select("."+r.cn.cellRect).node().getBoundingClientRect(),a=e.transform.baseVal.consolidate(),s=i.top-t.top+(a?a.matrix.f:r.cellPad);return u(D(o,n.select(e.parentNode).select("."+r.cn.cellTextHolder).node().getBoundingClientRect().width),s)})),o.settledY=!0}}}function D(e,t){switch(e.align){case"left":default:return r.cellPad;case"right":return e.column.columnWidth-(t||0)-r.cellPad;case"center":return(e.column.columnWidth-(t||0))/2}}function O(e){e.attr("transform",(function(e){var t=e.rowBlocks[0].auxiliaryBlocks.reduce((function(e,t){return e+F(t,1/0)}),0),r=F(j(e),e.key);return u(0,r+t)})).selectAll("."+r.cn.cellRect).attr("height",(function(e){return function(e,t){return e.rows[t-e.firstRowIndex]}(j(e),e.key).rowHeight}))}function R(e,t){for(var r=0,n=t-1;n>=0;n--)r+=B(e[n]);return r}function F(e,t){for(var r=0,n=0;nt.length&&(e=e.slice(0,t.length)):e=[],i=0;i90&&(p-=180,l=-l),{angle:p,flip:l,p:e.c2p(n,t,r),offsetMultplier:c}}}}),jw=m({"src/traces/carpet/plot.js"(e,t){var r=b(),n=er(),i=Rw(),a=Fw(),o=Bw(),s=Et(),l=ct(),c=l.strRotate,u=l.strTranslate,h=St();function f(e,t,o,s,l,c,u){var h="const-"+l+"-lines",f=o.selectAll("."+h).data(c);f.enter().append("path").classed(h,!0).style("vector-effect",u?"none":"non-scaling-stroke"),f.each((function(o){var s=o,l=s.x,c=s.y,u=i([],l,e.c2p),h=i([],c,t.c2p),f="M"+a(u,h,s.smoothing);r.select(this).attr("d",f).style("stroke-width",s.width).style("stroke",s.color).style("stroke-dasharray",n.dashStyle(s.dash,s.width)).style("fill","none")})),f.exit().remove()}function p(e,t,i,a,l,h,f,p){var d=h.selectAll("text."+p).data(f);d.enter().append("text").classed(p,!0);var m=0,g={};return d.each((function(l,h){var f;if("auto"===l.axis.tickangle)f=o(a,t,i,l.xy,l.dxy);else{var p=(l.axis.tickangle+180)*Math.PI/180;f=o(a,t,i,l.xy,[Math.cos(p),Math.sin(p)])}h||(g={angle:f.angle,flip:f.flip});var d=(l.endAnchor?-1:1)*f.flip,y=r.select(this).attr({"text-anchor":d>0?"start":"end","data-notex":1}).call(n.font,l.font).text(l.text).call(s.convertToTspans,e),v=n.bBox(this);y.attr("transform",u(f.p[0],f.p[1])+c(f.angle)+u(l.axis.labelpadding*d,.3*v.height)),m=Math.max(m,v.width+l.axis.labelpadding)})),d.exit().remove(),g.maxExtent=m,g}t.exports=function(e,t,n,s){var c=e._context.staticPlot,u=t.xaxis,h=t.yaxis,d=e._fullLayout._clips;l.makeTraceGroups(s,n,"trace").each((function(t){var n=r.select(this),s=t[0],m=s.trace,y=m.aaxis,v=m.baxis,x=l.ensureSingle(n,"g","minorlayer"),_=l.ensureSingle(n,"g","majorlayer"),b=l.ensureSingle(n,"g","boundarylayer"),w=l.ensureSingle(n,"g","labellayer");n.style("opacity",m.opacity),f(u,h,_,0,"a",y._gridlines,!0),f(u,h,_,0,"b",v._gridlines,!0),f(u,h,x,0,"a",y._minorgridlines,!0),f(u,h,x,0,"b",v._minorgridlines,!0),f(u,h,b,0,"a-boundary",y._boundarylines,c),f(u,h,b,0,"b-boundary",v._boundarylines,c);var T=p(e,u,h,m,0,w,y._labels,"a-label"),k=p(e,u,h,m,0,w,v._labels,"b-label");(function(e,t,r,n,i,a,s,c){var u,h,f,p,d=l.aggNums(Math.min,null,r.a),m=l.aggNums(Math.max,null,r.a),y=l.aggNums(Math.min,null,r.b),v=l.aggNums(Math.max,null,r.b);u=.5*(d+m),h=y,f=r.ab2xy(u,h,!0),p=r.dxyda_rough(u,h),void 0===s.angle&&l.extendFlat(s,o(r,i,a,f,r.dxydb_rough(u,h))),g(e,t,r,0,f,p,r.aaxis,i,a,s,"a-title"),u=d,h=.5*(y+v),f=r.ab2xy(u,h,!0),p=r.dxydb_rough(u,h),void 0===c.angle&&l.extendFlat(c,o(r,i,a,f,r.dxyda_rough(u,h))),g(e,t,r,0,f,p,r.baxis,i,a,c,"b-title")})(e,w,m,0,u,h,T,k),function(e,t,r,n,o){var s,c,u,h,f=r.select("#"+e._clipPathId);f.size()||(f=r.append("clipPath").classed("carpetclip",!0));var p=l.ensureSingle(f,"path","carpetboundary"),d=t.clipsegments,m=[];for(h=0;h90&&v<270,_=r.select(this);_.text(f.title.text).call(s.convertToTspans,e),x&&(b=(-s.lineCount(_)+m)*d*a-b),_.attr("transform",u(t.p[0],t.p[1])+c(t.angle)+u(0,b)).attr("text-anchor","middle").call(n.font,f.title.font)})),_.exit().remove()}}}),Nw=m({"src/traces/carpet/cheater_basis.js"(e,t){var r=ct().isArrayOrTypedArray;t.exports=function(e,t,n){var i,a,o,s,l,c=[],u=r(e)?e.length:e,h=r(t)?t.length:t,f=r(e)?e:null,p=r(t)?t:null;f&&(o=(f.length-1)/(f[f.length-1]-f[0])/(u-1)),p&&(s=(p.length-1)/(p[p.length-1]-p[0])/(h-1));var d,m=1/0,g=-1/0;for(a=0;a=10)return null;for(var i=1/0,a=-1/0,o=e.length,s=0;s0&&(p=e.dxydi([],n-1,o,0,s),y.push(l[0]+p[0]/3),v.push(l[1]+p[1]/3),d=e.dxydi([],n-1,o,1,s),y.push(h[0]-d[0]/3),v.push(h[1]-d[1]/3)),y.push(h[0]),v.push(h[1]),l=h;else for(n=e.a2i(r),c=Math.floor(Math.max(0,Math.min(I-2,n))),u=n-c,x.length=I,x.crossLength=L,x.xy=function(t){return e.evalxy([],n,t)},x.dxy=function(t,r){return e.dxydj([],c,t,u,r)},a=0;a0&&(m=e.dxydj([],c,a-1,u,0),y.push(l[0]+m[0]/3),v.push(l[1]+m[1]/3),g=e.dxydj([],c,a-1,u,1),y.push(h[0]-g[0]/3),v.push(h[1]-g[1]/3)),y.push(h[0]),v.push(h[1]),l=h;return x.axisLetter=t,x.axis=_,x.crossAxis=A,x.value=r,x.constvar=i,x.index=f,x.x=y,x.y=v,x.smoothing=A.smoothing,x}function D(r){var n,a,o,s,l,c=[],u=[],h={};if(h.length=x.length,h.crossLength=k.length,"b"===t)for(o=Math.max(0,Math.min(L-2,r)),l=Math.min(1,Math.max(0,r-o)),h.xy=function(t){return e.evalxy([],t,r)},h.dxy=function(t,r){return e.dxydi([],t,o,r,l)},n=0;nx.length-1)&&b.push(n(D(o),{color:_.gridcolor,width:_.gridwidth,dash:_.griddash}));for(f=u;fx.length-1||m<0||m>x.length-1))for(g=x[s],y=x[m],a=0;a<_.minorgridcount;a++)!((v=m-s)<=0)&&!((d=g+(y-g)*(a+1)/(_.minorgridcount+1)*(_.arraydtick/v))x[x.length-1])&&w.push(n(z(d),{color:_.minorgridcolor,width:_.minorgridwidth,dash:_.minorgriddash}));_.startline&&T.push(n(D(0),{color:_.startlinecolor,width:_.startlinewidth})),_.endline&&T.push(n(D(x.length-1),{color:_.endlinecolor,width:_.endlinewidth}))}else{for(l=5e-15,u=(c=[Math.floor((x[x.length-1]-_.tick0)/_.dtick*(1+l)),Math.ceil((x[0]-_.tick0)/_.dtick/(1+l))].sort((function(e,t){return e-t})))[0],h=c[1],f=u;f<=h;f++)p=_.tick0+_.dtick*f,b.push(n(z(p),{color:_.gridcolor,width:_.gridwidth,dash:_.griddash}));for(f=u-1;fx[x.length-1])&&w.push(n(z(d),{color:_.minorgridcolor,width:_.minorgridwidth,dash:_.minorgriddash}));_.startline&&T.push(n(z(x[0]),{color:_.startlinecolor,width:_.startlinewidth})),_.endline&&T.push(n(z(x[x.length-1]),{color:_.endlinecolor,width:_.endlinewidth}))}}}}),qw=m({"src/traces/carpet/calc_labels.js"(e,t){var r=ar(),n=B().extendFlat;t.exports=function(e,t){var i,a,o,s=t._labels=[],l=t._gridlines;for(i=0;i=0;i--)a[u-i]=e[h][i],o[u-i]=t[h][i];for(s.push({x:a,y:o,bicubic:l}),i=h,a=[],o=[];i>=0;i--)a[h-i]=e[i][0],o[h-i]=t[i][0];return s.push({x:a,y:o,bicubic:c}),s}}}),Gw=m({"src/traces/carpet/smooth_fill_2d_array.js"(e,t){var r=ct();t.exports=function(e,t,n){var i,a,o,s,l,c,u,h,f=[],p=[],d=e[0].length,m=e.length,g=0;for(i=0;i0&&void 0!==(c=e[l][s-1])&&(h++,u+=c),s0&&void 0!==(c=e[l-1][s])&&(h++,u+=c),l0&&a0&&i1e-5);return r.log("Smoother converged to",E,"after",C,"iterations"),e}}}),Ww=m({"src/traces/carpet/constants.js"(e,t){t.exports={RELATIVE_CULL_TOLERANCE:1e-6}}}),Zw=m({"src/traces/carpet/catmull_rom.js"(e,t){t.exports=function(e,t,r,n){var i=e[0]-t[0],a=e[1]-t[1],o=r[0]-t[0],s=r[1]-t[1],l=Math.pow(i*i+a*a,.25),c=Math.pow(o*o+s*s,.25),u=(c*c*i-l*l*o)*n,h=(c*c*a-l*l*s)*n,f=c*(l+c)*3,p=l*(l+c)*3;return[[t[0]+(f&&u/f),t[1]+(f&&h/f)],[t[0]-(p&&u/p),t[1]-(p&&h/p)]]}}}),Yw=m({"src/traces/carpet/compute_control_points.js"(e,t){var r=Zw(),n=ct().ensureArray;function i(e,t,r){var n=-.5*r[0]+1.5*t[0],i=-.5*r[1]+1.5*t[1];return[(2*n+e[0])/3,(2*i+e[1])/3]}t.exports=function(e,t,a,o,s,l){var c,u,h,f,p,d,m,g,y,v,x=a[0].length,_=a.length,b=s?3*x-2:x,w=l?3*_-2:_;for(e=n(e,w),t=n(t,w),h=0;hp&&em&&td||tg},e.setScale=function(){var t=e._x,r=e._y,n=i(e._xctrl,e._yctrl,t,r,h.smoothing,f.smoothing);e._xctrl=n[0],e._yctrl=n[1],e.evalxy=a([e._xctrl,e._yctrl],c,u,h.smoothing,f.smoothing),e.dxydi=o([e._xctrl,e._yctrl],h.smoothing,f.smoothing),e.dxydj=s([e._xctrl,e._yctrl],h.smoothing,f.smoothing)},e.i2a=function(e){var r=Math.max(0,Math.floor(e[0]),c-2),n=e[0]-r;return(1-n)*t[r]+n*t[r+1]},e.j2b=function(e){var t=Math.max(0,Math.floor(e[1]),c-2),r=e[1]-t;return(1-r)*l[t]+r*l[t+1]},e.ij2ab=function(t){return[e.i2a(t[0]),e.j2b(t[1])]},e.a2i=function(e){var r=Math.max(0,Math.min(n(e,t),c-2)),i=t[r],a=t[r+1];return Math.max(0,Math.min(c-1,r+(e-i)/(a-i)))},e.b2j=function(e){var t=Math.max(0,Math.min(n(e,l),u-2)),r=l[t],i=l[t+1];return Math.max(0,Math.min(u-1,t+(e-r)/(i-r)))},e.ab2ij=function(t){return[e.a2i(t[0]),e.b2j(t[1])]},e.i2c=function(t,r){return e.evalxy([],t,r)},e.ab2xy=function(r,n,i){if(!i&&(rt[c-1]|nl[u-1]))return[!1,!1];var a=e.a2i(r),o=e.b2j(n),s=e.evalxy([],a,o);if(i){var h,f,p,d,m=0,g=0,y=[];rt[c-1]?(h=c-2,f=1,m=(r-t[c-1])/(t[c-1]-t[c-2])):f=a-(h=Math.max(0,Math.min(c-2,Math.floor(a)))),nl[u-1]?(p=u-2,d=1,g=(n-l[u-1])/(l[u-1]-l[u-2])):d=o-(p=Math.max(0,Math.min(u-2,Math.floor(o)))),m&&(e.dxydi(y,h,p,f,d),s[0]+=y[0]*m,s[1]+=y[1]*m),g&&(e.dxydj(y,h,p,f,d),s[0]+=y[0]*g,s[1]+=y[1]*g)}return s},e.c2p=function(e,t,r){return[t.c2p(e[0]),r.c2p(e[1])]},e.p2x=function(e,t,r){return[t.p2c(e[0]),r.p2c(e[1])]},e.dadi=function(e){var r=Math.max(0,Math.min(t.length-2,e));return t[r+1]-t[r]},e.dbdj=function(e){var t=Math.max(0,Math.min(l.length-2,e));return l[t+1]-l[t]},e.dxyda=function(t,r,n,i){var a=e.dxydi(null,t,r,n,i),o=e.dadi(t,n);return[a[0]/o,a[1]/o]},e.dxydb=function(t,r,n,i){var a=e.dxydj(null,t,r,n,i),o=e.dbdj(r,i);return[a[0]/o,a[1]/o]},e.dxyda_rough=function(t,r,n){var i=y*(n||.1),a=e.ab2xy(t+i,r,!0),o=e.ab2xy(t-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},e.dxydb_rough=function(t,r,n){var i=v*(n||.1),a=e.ab2xy(t,r+i,!0),o=e.ab2xy(t,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},e.dpdx=function(e){return e._m},e.dpdy=function(e){return e._m}}}}),Qw=m({"src/traces/carpet/calc.js"(e,t){var r=ar(),n=ct().isArray1D,i=Nw(),a=Uw(),o=Vw(),s=qw(),l=Hw(),c=Do(),u=Gw(),h=zo(),f=Jw();t.exports=function(e,t){var p=r.getFromId(e,t.xaxis),d=r.getFromId(e,t.yaxis),m=t.aaxis,g=t.baxis,y=t.x,v=t.y,x=[];y&&n(y)&&x.push("x"),v&&n(v)&&x.push("y"),x.length&&h(t,m,g,"a","b",x);var _=t._a=t._a||t.a,b=t._b=t._b||t.b;y=t._x||t.x,v=t._y||t.y;var w={};if(t._cheater){var T="index"===m.cheatertype?_.length:_,k="index"===g.cheatertype?b.length:b;y=i(T,k,t.cheaterslope)}t._x=y=c(y),t._y=v=c(v),u(y,_,b),u(v,_,b),f(t),t.setScale();var A=a(y),M=a(v),S=.5*(A[1]-A[0]),E=.5*(A[1]+A[0]),C=.5*(M[1]-M[0]),I=.5*(M[1]+M[0]),L=1.3;return A=[E-S*L,E+S*L],M=[I-C*L,I+C*L],t._extremes[p._id]=r.findExtremes(p,A,{padded:!0}),t._extremes[d._id]=r.findExtremes(d,M,{padded:!0}),o(t,"a","b"),o(t,"b","a"),s(t,m),s(t,g),w.clipsegments=l(t._xctrl,t._yctrl,m,g),w.x=y,w.y=v,w.a=_,w.b=b,[w]}}}),eT=m({"src/traces/carpet/index.js"(e,t){t.exports={attributes:Lw(),supplyDefaults:Ow(),plot:jw(),calc:Qw(),animatable:!0,isContainer:!0,moduleType:"trace",name:"carpet",basePlotModule:Ci(),categories:["cartesian","svg","carpet","carpetAxis","notLegendIsolatable","noMultiCategory","noHover","noSortingByValue"],meta:{}}}}),tT=m({"lib/carpet.js"(e,t){t.exports=eT()}}),rT=m({"src/traces/scattercarpet/attributes.js"(e,t){var r=Tn(),n=kn(),i=q(),{hovertemplateAttrs:a,texttemplateAttrs:o,templatefallbackAttrs:s}=Fe(),l=zt(),c=B().extendFlat,u=n.marker,h=n.line,f=u.line;t.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:c({},n.mode,{dflt:"markers"}),text:c({},n.text,{}),texttemplate:o({editType:"plot"},{keys:["a","b","text"]}),texttemplatefallback:s({editType:"plot"}),hovertext:c({},n.hovertext,{}),line:{color:h.color,width:h.width,dash:h.dash,backoff:h.backoff,shape:c({},h.shape,{values:["linear","spline"]}),smoothing:h.smoothing,editType:"calc"},connectgaps:n.connectgaps,fill:c({},n.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:r(),marker:c({symbol:u.symbol,opacity:u.opacity,maxdisplayed:u.maxdisplayed,angle:u.angle,angleref:u.angleref,standoff:u.standoff,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,line:c({width:f.width,dash:f.dash,editType:"calc"},l("marker.line")),gradient:u.gradient,editType:"calc"},l("marker")),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:c({},i.hoverinfo,{flags:["a","b","text","name"]}),hoveron:n.hoveron,hovertemplate:a(),hovertemplatefallback:s(),zorder:n.zorder}}}),nT=m({"src/traces/scattercarpet/defaults.js"(e,t){var r=ct(),n=wn(),i=Xt(),a=Yn(),o=Xn(),s=$n(),l=Kn(),c=Jn(),u=rT();t.exports=function(e,t,h,f){function p(n,i){return r.coerce(e,t,u,n,i)}p("carpet"),t.xaxis="x",t.yaxis="y";var d=p("a"),m=p("b"),g=Math.min(d.length,m.length);if(g){t._length=g,p("text"),p("texttemplate"),p("texttemplatefallback"),p("hovertext"),p("mode",g")}return o}function v(e,t){var r;r=e.labelprefix&&e.labelprefix.length>0?e.labelprefix.replace(/ = $/,""):e._hovertitle,g.push(r+": "+t.toFixed(3)+e.labelsuffix)}}}}),cT=m({"src/traces/scattercarpet/event_data.js"(e,t){t.exports=function(e,t,r,n,i){var a=n[i];return e.a=a.a,e.b=a.b,e.y=a.y,e}}}),uT=m({"src/traces/scattercarpet/index.js"(e,t){t.exports={attributes:rT(),supplyDefaults:nT(),colorbar:mi(),formatLabels:iT(),calc:oT(),plot:sT(),style:yi().style,styleOnSelect:yi().styleOnSelect,hoverPoints:lT(),selectPoints:_i(),eventData:cT(),moduleType:"trace",name:"scattercarpet",basePlotModule:Ci(),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}}}),hT=m({"lib/scattercarpet.js"(e,t){t.exports=uT()}}),fT=m({"src/traces/contourcarpet/attributes.js"(e,t){var r=wo(),n=cs(),i=zt(),a=B().extendFlat,o=n.contours;t.exports=a({carpet:{valType:"string",editType:"calc"},z:r.z,a:r.x,a0:r.x0,da:r.dx,b:r.y,b0:r.y0,db:r.dy,text:r.text,hovertext:r.hovertext,transpose:r.transpose,atype:r.xtype,btype:r.ytype,fillcolor:n.fillcolor,autocontour:n.autocontour,ncontours:n.ncontours,contours:{type:o.type,start:o.start,end:o.end,size:o.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:o.showlines,showlabels:o.showlabels,labelfont:o.labelfont,labelformat:o.labelformat,operation:o.operation,value:o.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:n.line.color,width:n.line.width,dash:n.line.dash,smoothing:n.line.smoothing,editType:"plot"},zorder:n.zorder},i("",{cLetter:"z",autoColorDflt:!1}))}}),pT=m({"src/traces/contourcarpet/defaults.js"(e,t){var r=ct(),n=To(),i=fT(),a=Ps(),o=hs(),s=ps();t.exports=function(e,t,l,c){function u(n,a){return r.coerce(e,t,i,n,a)}if(u("carpet"),e.a&&e.b){if(!n(e,t,u,c,"a","b"))return void(t.visible=!1);u("text"),"constraint"===u("contours.type")?a(e,t,u,c,l,{hasHover:!1}):(o(e,t,u,(function(n){return r.coerce2(e,t,i,n)})),s(e,t,u,c,{hasHover:!1}))}else t._defaultColor=l,t._length=null;u("zorder")}}}),dT=m({"src/traces/contourcarpet/calc.js"(e,t){var r=Zt(),n=ct(),i=zo(),a=Do(),o=Oo(),s=Ro(),l=Fo(),c=pT(),u=aT(),h=ms();t.exports=function(e,t){var f=t._carpetTrace=u(e,t);if(f&&f.visible&&"legendonly"!==f.visible){if(!t.a||!t.b){var p=e.data[f.index],d=e.data[t.index];d.a||(d.a=p.a),d.b||(d.b=p.b),c(d,t,t._defaultColor,e._fullLayout)}var m=function(e,t){var c,u,h,f,p,d,m,g=t._carpetTrace,y=g.aaxis,v=g.baxis;y._minDtick=0,v._minDtick=0,n.isArray1D(t.z)&&i(t,y,v,"a","b",["z"]),c=t._a=t._a||t.a,f=t._b=t._b||t.b,c=c?y.makeCalcdata(t,"_a"):[],f=f?v.makeCalcdata(t,"_b"):[],u=t.a0||0,h=t.da||1,p=t.b0||0,d=t.db||1,m=t._z=a(t._z||t.z,t.transpose),t._emptypoints=s(m),o(m,t._emptypoints);var x=n.maxRowLength(m),_="scaled"===t.xtype?"":c,b=l(t,_,u,h,x,y),w="scaled"===t.ytype?"":f,T={a:b,b:l(t,w,p,d,m.length,v),z:m};return"levels"===t.contours.type&&"none"!==t.contours.coloring&&r(e,t,{vals:m,containerStr:"",cLetter:"z"}),[T]}(e,t);return h(t,t._z),m}}}}),mT=m({"src/traces/carpet/axis_aligned_line.js"(e,t){var r=ct().isArrayOrTypedArray;t.exports=function(e,t,n,i){var a,o,s,l,c,u,h,f,p,d,m,g,y,v=r(n)?"a":"b",x=("a"===v?e.aaxis:e.baxis).smoothing,_="a"===v?e.a2i:e.b2j,b="a"===v?n:i,w="a"===v?i:n,T="a"===v?t.a.length:t.b.length,k="a"===v?t.b.length:t.a.length,A=Math.floor("a"===v?e.b2j(w):e.a2i(w)),M="a"===v?function(t){return e.evalxy([],t,A)}:function(t){return e.evalxy([],A,t)};x&&(s=Math.max(0,Math.min(k-2,A)),l=A-s,o="a"===v?function(t,r){return e.dxydi([],t,s,r,l)}:function(t,r){return e.dxydj([],s,t,l,r)});var S=_(b[0]),E=_(b[1]),C=S0?Math.floor:Math.ceil,P=C>0?Math.ceil:Math.floor,z=C>0?Math.min:Math.max,D=C>0?Math.max:Math.min,O=L(S+I),R=P(E-I),F=[[h=M(S)]];for(a=O;a*C=0;U--)B=M.clipsegments[U],j=n([],B.x,b.c2p),N=n([],B.y,w.c2p),j.reverse(),N.reverse(),V.push(i(j,N,B.bicubic));var q="M"+V.join("L")+"Z";(function(e,t,r,a,s,l){var c,u,h,f,p=o.ensureSingle(e,"g","contourbg").selectAll("path").data("fill"!==l||s?[]:[0]);p.enter().append("path"),p.exit().remove();var d=[];for(f=0;f=0&&(f=C,d=g):Math.abs(h[1]-f[1])=0&&(f=C,d=g):o.log("endpt to newendpt is not vert. or horz.",h,f,C)}if(d>=0)break;v+=S(h,f),h=f}if(d===t.edgepaths.length){o.log("unclosed perimeter path");break}u=d,(_=-1===x.indexOf(u))&&(u=x[0],v+=S(h,f)+"Z",h=null)}for(u=0;um&&(n.max=m),n.len=n.max-n.min}function x(e,t){var r,n=0,o=.1;return(Math.abs(e[0]-l)y):g=A>w,y=A;var M=c(w,T,k,A);M.pos=b,M.yc=(w+A)/2,M.i=_,M.dir=g?"increasing":"decreasing",M.x=M.pos,M.y=[k,T],v&&(M.orig_p=a[_]),d&&(M.tx=t.text[_]),m&&(M.htx=t.hovertext[_]),x.push(M)}else x.push({pos:b,empty:!0})}return t._extremes[l._id]=i.findExtremes(l,r.concat(f,h),{padded:!0}),x.length&&(x[0].t={labels:{open:n(e,"open:")+" ",high:n(e,"high:")+" ",low:n(e,"low:")+" ",close:n(e,"close:")+" "}}),x}t.exports={calc:function(e,t){var n=i.getFromId(e,t.xaxis),o=i.getFromId(e,t.yaxis),c=function(e,t,n){var i=n._minDiff;if(!i){var o,s=e._fullData,l=[];for(i=1/0,o=0;o"+u.labels[v]+r.hoverLabelText(s,x,l.yhoverformat):((y=n.extendFlat({},f)).y0=y.y1=_,y.yLabelVal=x,y.yLabel=u.labels[v]+r.hoverLabelText(s,x,l.yhoverformat),y.name="",h.push(y),m[x]=y)}return h}function h(e,t,n,i){var a=e.cd,s=e.ya,u=a[0].trace,h=a[0].t,f=c(e,t,n,i);if(!f)return[];var p=a[f.index],d=f.index=p.i,m=p.dir;function g(e){return h.labels[e]+r.hoverLabelText(s,u[e][d],u.yhoverformat)}var y=p.hi||u.hoverinfo||"",v=y.split("+"),x="all"===y,_=x||-1!==v.indexOf("y"),b=x||-1!==v.indexOf("text"),w=_?[g("open"),g("high"),g("low"),g("close")+" "+l[m]]:[];return b&&o(p,u,w),f.extraText=w.join("
"),f.y0=f.y1=s.c2p(p.yc,!0),[f]}t.exports={hoverPoints:function(e,t,r,n){return e.cd[0].trace.hoverlabel.split?u(e,t,r,n):h(e,t,r,n)},hoverSplit:u,hoverOnPoints:h}}}),MT=m({"src/traces/ohlc/select.js"(e,t){t.exports=function(e,t){var r,n=e.cd,i=e.xaxis,a=e.yaxis,o=[],s=n[0].t.bPos||0;if(!1===t)for(r=0;rn?function(e){return e<=0}:function(e){return e>=0};e.c2g=function(r){var n=e.c2l(r)-t;return(s(n)?n:0)+o},e.g2c=function(r){return e.l2c(r+t-o)},e.g2p=function(e){return e*a},e.c2p=function(t){return e.g2p(e.c2g(t))}}}(e,t);break;case"angularaxis":!function(e,t){var n=e.type;if("linear"===n){var o=e.d2c,s=e.c2d;e.d2c=function(e,t){return function(e,t){return"degrees"===t?i(e):e}(o(e),t)},e.c2d=function(e,t){return s(function(e,t){return"degrees"===t?a(e):e}(e,t))}}e.makeCalcdata=function(t,r){var n,i,a=t[r],o=t._length,s=function(r){return e.d2c(r,t.thetaunit)};if(a)for(n=new Array(o),i=0;i1e-10?e:0}function h(e,t,r){t=t||0,r=r||0;for(var n=e.length,i=new Array(n),a=0;a0?r:1/0})),a=r.mod(n+1,t.length);return[t[n],t[a]]},findIntersectionXY:l,findXYatLength:function(e,t,r,n){var i=-t*r,a=t*t+1,o=2*(t*i-r),s=i*i+r*r-e*e,l=Math.sqrt(o*o-4*a*s),c=(-o+l)/(2*a),u=(-o-l)/(2*a);return[[c,t*c+i+n],[u,t*u+i+n]]},clampTiny:u,pathPolygon:function(e,t,r,n,i,a){return"M"+h(c(e,t,r,n),i,a).join("L")},pathPolygonAnnulus:function(e,t,r,n,i,a,o){var s,l;e0?1:0}function n(e){var t=e[0],r=e[1];if(!isFinite(t)||!isFinite(r))return[1,0];var n=(t+1)*(t+1)+r*r;return[(t*t+r*r-1)/n,2*r/n]}function i(e,t){var r=t[0],n=t[1];return[r*e.radius+e.cx,-n*e.radius+e.cy]}function a(e,t){return t*e.radius}t.exports={smith:n,reactanceArc:function(e,t,r,o){var s=i(e,n([r,t])),l=s[0],c=s[1],u=i(e,n([o,t])),h=u[0],f=u[1];if(0===t)return["M"+l+","+c,"L"+h+","+f].join(" ");var p=a(e,1/Math.abs(t));return["M"+l+","+c,"A"+p+","+p+" 0 0,"+(t<0?1:0)+" "+h+","+f].join(" ")},resistanceArc:function(e,t,o,s){var l=a(e,1/(t+1)),c=i(e,n([t,o])),u=c[0],h=c[1],f=i(e,n([t,s])),p=f[0],d=f[1];if(r(o)!==r(s)){var m=i(e,n([t,0]));return["M"+u+","+h,"A"+l+","+l+" 0 0,"+(0=90||i>90&&a>=450?1:s<=0&&c<=0?0:Math.max(s,c),[i<=180&&a>=180||i>180&&a>=540?-1:o>=0&&l>=0?0:Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?-1:s>=0&&c>=0?0:Math.min(s,c),a>=360?1:o<=0&&l<=0?0:Math.max(o,l),t]}(d),b=_[2]-_[0],w=_[3]-_[1],T=p/f,k=Math.abs(w/b);T>k?(m=f,x=(p-(g=f*k))/i.h/2,y=[u[0],u[1]],v=[h[0]+x,h[1]-x]):(g=p,x=(f-(m=p/k))/i.w/2,y=[u[0]+x,u[1]-x],v=[h[0],h[1]]),r.xLength2=m,r.yLength2=g,r.xDomain2=y,r.yDomain2=v;var A,M=r.xOffset2=i.l+i.w*y[0],S=r.yOffset2=i.t+i.h*(1-v[1]),E=r.radius=m/b,C=r.innerRadius=r.getHole(t)*E,I=r.cx=M-E*_[0],L=r.cy=S+E*_[3],P=r.cxx=I-M,z=r.cyy=L-S,D=a.side;"counterclockwise"===D?(A=D,D="top"):"clockwise"===D&&(A=D,D="bottom"),r.radialAxis=r.mockAxis(e,t,a,{_id:"x",side:D,_trueSide:A,domain:[C/i.w,E/i.w]}),r.angularAxis=r.mockAxis(e,t,o,{side:"right",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(e,t),r.updateAngularAxis(e,t),r.updateRadialAxis(e,t),r.updateRadialAxisTitle(e,t),r.xaxis=r.mockCartesianAxis(e,t,{_id:"x",domain:y}),r.yaxis=r.mockCartesianAxis(e,t,{_id:"y",domain:v});var F=r.pathSubplot();r.clipPaths.forTraces.select("path").attr("d",F).attr("transform",s(P,z)),n.frontplot.attr("transform",s(M,S)).call(c.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr("d",F).attr("transform",s(I,L)).call(l.fill,t.bgcolor)},N.mockAxis=function(e,t,r,n){var i=a.extendFlat({},r,n);return p(i,t,e),i},N.mockCartesianAxis=function(e,t,r){var n=this,i=n.isSmith,o=r._id,s=a.extendFlat({type:"linear"},r);f(s,e);var l={x:[0,2],y:[1,3]};return s.setRange=function(){var e=n.sectorBBox,r=l[o],i=n.radialAxis._rl,a=(i[1]-i[0])/(1-n.getHole(t));s.range=[e[r[0]]*a,e[r[1]]*a]},s.isPtWithinRange="x"!==o||i?function(){return!0}:function(e){return n.isPtInside(e)},s.setRange(),s.setScale(),s},N.doAutoRange=function(e,t){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(t);d(n,i);var o=i.range;if(a.range=o.slice(),a._input.range=o.slice(),i._rl=[i.r2l(o[0],null,"gregorian"),i.r2l(o[1],null,"gregorian")],void 0!==i.minallowed){var s=i.r2l(i.minallowed);i._rl[0]>i._rl[1]?i._rl[1]=Math.max(i._rl[1],s):i._rl[0]=Math.max(i._rl[0],s)}if(void 0!==i.maxallowed){var l=i.r2l(i.maxallowed);i._rl[0]90&&m<=270&&(g.tickangle=180);var x=v?function(e){var t=z(r,I([e.x,0]));return s(t[0]-f,t[1]-p)}:function(e){return s(g.l2p(e.x)+u,0)},_=v?function(e){return P(r,e.x,-1/0,1/0)}:function(e){return r.pathArc(g.r2p(e.x)+u)},b=U(d);if(r.radialTickLayout!==b&&(i["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=b),y){g.setScale();var w=0,T=v?(g.tickvals||[]).filter((function(e){return e>=0})).map((function(e){return h.tickText(g,e,!0,!1)})):h.calcTicks(g),k=v?T:h.clipEnds(g,T),A=h.getTickSigns(g)[2];v&&(("top"===g.ticks&&"bottom"===g.side||"bottom"===g.ticks&&"top"===g.side)&&(A=-A),"top"===g.ticks&&"top"===g.side&&(w=-g.ticklen),"bottom"===g.ticks&&"bottom"===g.side&&(w=g.ticklen)),h.drawTicks(n,g,{vals:T,layer:i["radial-axis"],path:h.makeTickPath(g,0,A),transFn:x,crisp:!1}),h.drawGrid(n,g,{vals:k,layer:i["radial-grid"],path:_,transFn:a.noop,crisp:!1}),h.drawLabels(n,g,{vals:T,layer:i["radial-axis"],transFn:x,labelFns:h.makeLabelFns(g,w)})}var M=r.radialAxisAngle=r.vangles?B(V(R(d.angle),r.vangles)):d.angle,S=s(f,p),E=S+o(-M);q(i["radial-axis"],y&&(d.showticklabels||d.ticks),{transform:E}),q(i["radial-grid"],y&&d.showgrid,{transform:v?"":S}),q(i["radial-line"].select("line"),y&&d.showline,{x1:v?-c:u,y1:0,x2:c,y2:0,transform:E}).attr("stroke-width",d.linewidth).call(l.stroke,d.linecolor)},N.updateRadialAxisTitle=function(e,t,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,l=n.getRadial(t),u=n.id+"title",h=0;if(l.title){var f=c.bBox(n.layers["radial-axis"].node()).height,p=l.title.font.size,d=l.side;h="top"===d?p:"counterclockwise"===d?-(f+.4*p):f+.8*p}var m=void 0!==r?r:n.radialAxisAngle,g=R(m),y=Math.cos(g),x=Math.sin(g),_=o+a/2*y+h*x,b=s-a/2*x+h*y;n.layers["radial-axis-title"]=v.draw(i,u,{propContainer:l,propName:n.id+".radialaxis.title.text",placeholder:D(i,"Click to enter radial axis title"),attributes:{x:_,y:b,"text-anchor":"middle"},transform:{rotate:-m}})}},N.updateAngularAxis=function(e,t){var r=this,n=r.gd,i=r.layers,c=r.radius,u=r.innerRadius,f=r.cx,p=r.cy,d=r.getAngular(t),m=r.angularAxis,g=r.isSmith;g||(r.fillViewInitialKey("angularaxis.rotation",d.rotation),m.setGeometry(),m.setScale());var y=g?function(e){var t=z(r,I([0,e.x]));return Math.atan2(t[0]-f,t[1]-p)-Math.PI/2}:function(e){return m.t2g(e.x)};"linear"===m.type&&"radians"===m.thetaunit&&(m.tick0=B(m.tick0),m.dtick=B(m.dtick));var v=function(e){return s(f+c*Math.cos(e),p-c*Math.sin(e))},x=g?function(e){var t=z(r,I([0,e.x]));return s(t[0],t[1])}:function(e){return v(y(e))},_=g?function(e){var t=z(r,I([0,e.x])),n=Math.atan2(t[0]-f,t[1]-p)-Math.PI/2;return s(t[0],t[1])+o(-B(n))}:function(e){var t=y(e);return v(t)+o(-B(t))},b=g?function(e){return L(r,e.x,0,1/0)}:function(e){var t=y(e),r=Math.cos(t),n=Math.sin(t);return"M"+[f+u*r,p-u*n]+"L"+[f+c*r,p-c*n]},w=h.makeLabelFns(m,0).labelStandoff,T={xFn:function(e){var t=y(e);return Math.cos(t)*w},yFn:function(e){var t=y(e),r=Math.sin(t)>0?.2:1;return-Math.sin(t)*(w+e.fontSize*r)+Math.abs(Math.cos(t))*(e.fontSize*M)},anchorFn:function(e){var t=y(e),r=Math.cos(t);return Math.abs(r)<.1?"middle":r>0?"start":"end"},heightFn:function(e,t,r){var n=y(e);return-.5*(1+Math.sin(n))*r}},k=U(d);r.angularTickLayout!==k&&(i["angular-axis"].selectAll("."+m._id+"tick").remove(),r.angularTickLayout=k);var A,S=g?[1/0].concat(m.tickvals||[]).map((function(e){return h.tickText(m,e,!0,!1)})):h.calcTicks(m);if(g&&(S[0].text="∞",S[0].fontSize*=1.75),"linear"===t.gridshape?(A=S.map(y),a.angleDelta(A[0],A[1])<0&&(A=A.slice().reverse())):A=null,r.vangles=A,"category"===m.type&&(S=S.filter((function(e){return a.isAngleInsideSector(y(e),r.sectorInRad)}))),m.visible){var E="inside"===m.ticks?-1:1,C=(m.linewidth||1)/2;h.drawTicks(n,m,{vals:S,layer:i["angular-axis"],path:"M"+E*C+",0h"+E*m.ticklen,transFn:_,crisp:!1}),h.drawGrid(n,m,{vals:S,layer:i["angular-grid"],path:b,transFn:a.noop,crisp:!1}),h.drawLabels(n,m,{vals:S,layer:i["angular-axis"],repositionOnUpdate:!0,transFn:x,labelFns:T})}q(i["angular-line"].select("path"),d.showline,{d:r.pathSubplot(),transform:s(f,p)}).attr("stroke-width",d.linewidth).call(l.stroke,d.linecolor)},N.updateFx=function(e,t){this.gd._context.staticPlot||(!this.isSmith&&(this.updateAngularDrag(e),this.updateRadialDrag(e,t,0),this.updateRadialDrag(e,t,1)),this.updateHoverAndMainDrag(e))},N.updateHoverAndMainDrag=function(e){var t,o,l=this,c=l.isSmith,u=l.gd,h=l.layers,f=e._zoomlayer,p=S.MINZOOM,d=S.OFFEDGE,v=l.radius,b=l.innerRadius,T=l.cx,k=l.cy,A=l.cxx,M=l.cyy,C=l.sectorInRad,I=l.vangles,L=l.radialAxis,P=E.clampTiny,z=E.findXYatLength,D=E.findEnclosingVertexAngles,O=S.cornerHalfWidth,R=S.cornerLen/2,F=m.makeDragger(h,"path","maindrag",!1===e.dragmode?"none":"crosshair");r.select(F).attr("d",l.pathSubplot()).attr("transform",s(T,k)),F.onmousemove=function(e){y.hover(u,e,l.id),u._fullLayout._lasthover=F,u._fullLayout._hoversubplot=l.id},F.onmouseout=function(e){u._dragging||g.unhover(u,e)};var B,j,N,U,V,q,H,G,W,Z={element:F,gd:u,subplot:l.id,plotinfo:{id:l.id,xaxis:l.xaxis,yaxis:l.yaxis},xaxes:[l.xaxis],yaxes:[l.yaxis]};function Y(e,t){return Math.sqrt(e*e+t*t)}function X(e,t){return Y(e-A,t-M)}function $(e,t){return Math.atan2(M-t,e-A)}function K(e,t){return[e*Math.cos(t),e*Math.sin(-t)]}function J(e,t){if(0===e)return l.pathSector(2*O);var r=R/e,n=t-r,i=t+r,a=Math.max(0,Math.min(e,v)),o=a-O,s=a+O;return"M"+K(o,n)+"A"+[o,o]+" 0,0,0 "+K(o,i)+"L"+K(s,i)+"A"+[s,s]+" 0,0,1 "+K(s,n)+"Z"}function Q(e,t,r){if(0===e)return l.pathSector(2*O);var n,i,a=K(e,t),o=K(e,r),s=P((a[0]+o[0])/2),c=P((a[1]+o[1])/2);if(s&&c){var u=c/s,h=-1/u,f=z(O,u,s,c);n=z(R,h,f[0][0],f[0][1]),i=z(R,h,f[1][0],f[1][1])}else{var p,d;c?(p=R,d=O):(p=O,d=R),n=[[s-p,c-d],[s+p,c-d]],i=[[s-p,c+d],[s+p,c+d]]}return"M"+n.join("L")+"L"+i.reverse().join("L")+"Z"}function ee(e,t){return t=Math.max(Math.min(t,v),b),ep?(e-1&&1===e&&_(t,u,[l.xaxis],[l.yaxis],l.id,Z),r.indexOf("event")>-1&&y.click(u,t,l.id)}Z.prepFn=function(e,r,i){var s=u._fullLayout.dragmode,h=F.getBoundingClientRect();u._fullLayout._calcInverseTransform(u);var p=u._fullLayout._invTransform;t=u._fullLayout._invScaleX,o=u._fullLayout._invScaleY;var d=a.apply3DTransform(p)(r-h.left,i-h.top);if(B=d[0],j=d[1],I){var g=E.findPolygonOffset(v,C[0],C[1],I);B+=A+g[0],j+=M+g[1]}switch(s){case"zoom":Z.clickFn=se,c||(Z.moveFn=I?ie:re,Z.doneFn=ae,function(){N=null,U=null,V=l.pathSubplot(),q=!1;var e=u._fullLayout[l.id];H=n(e.bgcolor).getLuminance(),(G=m.makeZoombox(f,H,T,k,V)).attr("fill-rule","evenodd"),W=m.makeCorners(f,T,k),w(u)}());break;case"select":case"lasso":x(e,r,i,Z,s)}},g.init(Z)},N.updateRadialDrag=function(e,t,n){var l=this,c=l.gd,u=l.layers,h=l.radius,f=l.innerRadius,p=l.cx,d=l.cy,y=l.radialAxis,v=S.radialDragBoxSize,x=v/2;if(y.visible){var _,b,T,M=R(l.radialAxisAngle),E=y._rl,C=E[0],I=E[1],L=E[n],P=.75*(E[1]-E[0])/(1-l.getHole(t))/h;n?(_=p+(h+x)*Math.cos(M),b=d-(h+x)*Math.sin(M),T="radialdrag"):(_=p+(f-x)*Math.cos(M),b=d-(f-x)*Math.sin(M),T="radialdrag-inner");var z,D,O,F=m.makeRectDragger(u,T,"crosshair",-x,-x,v,v),j={element:F,gd:c};!1===e.dragmode&&(j.dragmode=!1),q(r.select(F),y.visible&&f0==(n?O>C:O")}}t.exports={hoverPoints:function(e,t,i,a){var o=r(e,t,i,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=e.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,n(c,u,l,s),s.hovertemplate=u.hovertemplate,o}},makeHoverPointText:n}}}),YT=m({"src/traces/scatterpolar/index.js"(e,t){t.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:UT(),categories:["polar","symbols","showLegend","scatter-like"],attributes:VT(),supplyDefaults:qT().supplyDefaults,colorbar:mi(),formatLabels:HT(),calc:GT(),plot:WT(),style:yi().style,styleOnSelect:yi().styleOnSelect,hoverPoints:ZT().hoverPoints,selectPoints:_i(),meta:{}}}}),XT=m({"lib/scatterpolar.js"(e,t){t.exports=YT()}}),$T=m({"src/traces/scatterpolargl/attributes.js"(e,t){var r=VT(),{cliponaxis:n,hoveron:i}=r,a=((e,t)=>{var r={};for(var n in e)l.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&o)for(var n of o(e))t.indexOf(n)<0&&u.call(e,n)&&(r[n]=e[n]);return r})(r,["cliponaxis","hoveron"]),{connectgaps:s,line:{color:c,dash:h,width:d},fill:m,fillcolor:g,marker:y,textfont:v,textposition:x}=$g();t.exports=p(f({},a),{connectgaps:s,fill:m,fillcolor:g,line:{color:c,dash:h,editType:"calc",width:d},marker:y,textfont:v,textposition:x})}}),KT=m({"src/traces/scatterpolargl/defaults.js"(e,t){var r=ct(),n=Xt(),i=qT().handleRThetaDefaults,a=Yn(),o=Xn(),s=Kn(),l=Jn(),c=wn().PTS_LINESONLY,u=$T();t.exports=function(e,t,h,f){function p(n,i){return r.coerce(e,t,u,n,i)}var d=i(e,t,f,p);d?(p("thetaunit"),p("mode",d=l&&(v.marker.cluster=d.tree),v.marker&&(v.markerSel.positions=v.markerUnsel.positions=v.marker.positions=b),v.line&&b.length>1&&s.extendFlat(v.line,o.linePositions(e,p,b)),v.text&&(s.extendFlat(v.text,{positions:b},o.textPosition(e,p,v.text,v.marker)),s.extendFlat(v.textSel,{positions:b},o.textPosition(e,p,v.text,v.markerSel)),s.extendFlat(v.textUnsel,{positions:b},o.textPosition(e,p,v.text,v.markerUnsel))),v.fill&&!f.fill2d&&(f.fill2d=!0),v.marker&&!f.scatter2d&&(f.scatter2d=!0),v.line&&!f.line2d&&(f.line2d=!0),v.text&&!f.glText&&(f.glText=!0),f.lineOptions.push(v.line),f.fillOptions.push(v.fill),f.markerOptions.push(v.marker),f.markerSelectedOptions.push(v.markerSel),f.markerUnselectedOptions.push(v.markerUnsel),f.textOptions.push(v.text),f.textSelectedOptions.push(v.textSel),f.textUnselectedOptions.push(v.textUnsel),f.selectBatch.push([]),f.unselectBatch.push([]),d.x=w,d.y=T,d.rawx=w,d.rawy=T,d.r=g,d.theta=y,d.positions=b,d._scene=f,d.index=f.count,f.count++}})),i(e,t,c)}},t.exports.reglPrecompiled={}}}),nk=m({"src/traces/scatterpolargl/index.js"(e,t){var r=tk();r.plot=rk(),t.exports=r}}),ik=m({"lib/scatterpolargl.js"(e,t){t.exports=nk()}}),ak=m({"src/traces/barpolar/attributes.js"(e,t){var r,{hovertemplateAttrs:n,templatefallbackAttrs:i}=Fe(),a=B().extendFlat,o=VT(),s=Wa();t.exports={r:o.r,theta:o.theta,r0:o.r0,dr:o.dr,theta0:o.theta0,dtheta:o.dtheta,thetaunit:o.thetaunit,base:a({},s.base,{}),offset:a({},s.offset,{}),width:a({},s.width,{}),text:a({},s.text,{}),hovertext:a({},s.hovertext,{}),marker:(r=a({},s.marker),delete r.cornerradius,r),hoverinfo:o.hoverinfo,hovertemplate:n(),hovertemplatefallback:i(),selected:s.selected,unselected:s.unselected}}}),ok=m({"src/traces/barpolar/layout_attributes.js"(e,t){t.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}}}),sk=m({"src/traces/barpolar/defaults.js"(e,t){var r=ct(),n=qT().handleRThetaDefaults,i=Ya(),a=ak();t.exports=function(e,t,o,s){function l(n,i){return r.coerce(e,t,a,n,i)}n(e,t,s,l)?(l("thetaunit"),l("base"),l("offset"),l("width"),l("text"),l("hovertext"),l("hovertemplate"),l("hovertemplatefallback"),i(e,t,l,o,s),r.coerceSelectionMarkerOpacity(t,l)):t.visible=!1}}}),lk=m({"src/traces/barpolar/layout_defaults.js"(e,t){var r=ct(),n=ok();t.exports=function(e,t,i){var a,o={};function s(i,o){return r.coerce(e[a]||{},t[a],n,i,o)}for(var l=0;l0?(c=s,u=l):(c=l,u=s);var h=[o.findEnclosingVertexAngles(c,e.vangles)[0],(c+u)/2,o.findEnclosingVertexAngles(u,e.vangles)[1]];return o.pathPolygonAnnulus(n,a,c,u,h,t,r)}:function(e,n,a,o){return i.pathAnnulus(e,n,a,o,t,r)}}(t),d=t.layers.frontplot.select("g.barlayer");i.makeTraceGroups(d,s,"trace bars").each((function(){var o=r.select(this),s=i.ensureSingle(o,"g","points").selectAll("g.point").data(i.identity);s.enter().append("g").style("vector-effect",l?"none":"non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),s.exit().remove(),s.each((function(e){var t,a=r.select(this),o=e.rp0=h.c2p(e.s0),s=e.rp1=h.c2p(e.s1),l=e.thetag0=f.c2g(e.p0),d=e.thetag1=f.c2g(e.p1);if(n(o)&&n(s)&&n(l)&&n(d)&&o!==s&&l!==d){var m=h.c2g(e.s1),g=(l+d)/2;e.ct=[c.c2p(m*Math.cos(g)),u.c2p(m*Math.sin(g))],t=p(o,s,l,d)}else t="M0,0Z";i.ensureSingle(a,"path").attr("d",t)})),a.setClipUrl(o,t._hasClipOnAxisFalse?t.clipIds.forTraces:null,e)}))}}}),hk=m({"src/traces/barpolar/hover.js"(e,t){var r=Or(),n=ct(),i=no().getTraceColor,a=n.fillText,o=ZT().makeHoverPointText,s=RT().isPtInsidePolygon;t.exports=function(e,t,l){var c=e.cd,u=c[0].trace,h=e.subplot,f=h.radialAxis,p=h.angularAxis,d=h.vangles,m=d?s:n.isPtInsideSector,g=e.maxHoverDistance,y=p._period||2*Math.PI,v=Math.abs(f.g2p(Math.sqrt(t*t+l*l))),x=Math.atan2(l,t);if(f.range[0]>f.range[1]&&(x+=Math.PI),r.getClosest(c,(function(e){return m(v,x,[e.rp0,e.rp1],[e.thetag0,e.thetag1],d)?g+Math.min(1,Math.abs(e.thetag1-e.thetag0)/y)-1+(e.rp1-v)/(e.rp1-e.rp0)-1:1/0}),e),!1!==e.index){var _=c[e.index];e.x0=e.x1=_.ct[0],e.y0=e.y1=_.ct[1];var b=n.extendFlat({},_,{r:_.s,theta:_.p});return a(_,u,e),o(b,u,h,e),e.hovertemplate=u.hovertemplate,e.color=i(u,_),e.xLabelVal=e.yLabelVal=void 0,_.s<0&&(e.idealAlign="left"),[e]}}}}),fk=m({"src/traces/barpolar/index.js"(e,t){t.exports={moduleType:"trace",name:"barpolar",basePlotModule:UT(),categories:["polar","bar","showLegend"],attributes:ak(),layoutAttributes:ok(),supplyDefaults:sk(),supplyLayoutDefaults:lk(),calc:ck().calc,crossTraceCalc:ck().crossTraceCalc,plot:uk(),colorbar:mi(),formatLabels:HT(),style:to().style,styleOnSelect:to().styleOnSelect,hoverPoints:hk(),selectPoints:ao(),meta:{}}}}),pk=m({"lib/barpolar.js"(e,t){t.exports=fk()}}),dk=m({"src/plots/smith/constants.js"(e,t){t.exports={attr:"subplot",name:"smith",axisNames:["realaxis","imaginaryaxis"],axisName2dataArray:{imaginaryaxis:"imag",realaxis:"real"}}}}),mk=m({"src/plots/smith/layout_attributes.js"(e,t){var r=G(),n=Lt(),i=Ma().attributes,a=ct().extendFlat,o=De().overrideAll,s=o({color:n.color,showline:a({},n.showline,{dflt:!0}),linecolor:n.linecolor,linewidth:n.linewidth,showgrid:a({},n.showgrid,{dflt:!0}),gridcolor:n.gridcolor,gridwidth:n.gridwidth,griddash:n.griddash},"plot","from-root"),l=o({ticklen:n.ticklen,tickwidth:a({},n.tickwidth,{dflt:2}),tickcolor:n.tickcolor,showticklabels:n.showticklabels,labelalias:n.labelalias,showtickprefix:n.showtickprefix,tickprefix:n.tickprefix,showticksuffix:n.showticksuffix,ticksuffix:n.ticksuffix,tickfont:n.tickfont,tickformat:n.tickformat,hoverformat:n.hoverformat,layer:n.layer},"plot","from-root"),c=a({visible:a({},n.visible,{dflt:!0}),tickvals:{dflt:[.2,.5,1,2,5],valType:"data_array",editType:"plot"},tickangle:a({},n.tickangle,{dflt:90}),ticks:{valType:"enumerated",values:["top","bottom",""],editType:"ticks"},side:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},editType:"calc"},s,l),u=a({visible:a({},n.visible,{dflt:!0}),tickvals:{valType:"data_array",editType:"plot"},ticks:n.ticks,editType:"calc"},s,l);t.exports={domain:i({name:"smith",editType:"plot"}),bgcolor:{valType:"color",editType:"plot",dflt:r.background},realaxis:c,imaginaryaxis:u,editType:"calc"}}}),gk=m({"src/plots/smith/layout_defaults.js"(e,t){var r,n,i,a=ct(),o=W(),s=vt(),l=Gs(),c=Tt().getSubplotData,u=Vt(),h=Ut(),f=ki(),p=rr(),d=mk(),m=dk(),g=m.axisNames,y=(r=function(e){return a.isTypedArray(e)&&(e=Array.from(e)),e.slice().reverse().map((function(e){return-e})).concat([0]).concat(e)},n=String,i={},function(e){var t=n?n(e):e;if(t in i)return i[t];var a=r(e);return i[t]=a,a});function v(e,t,r,n){var i=r("bgcolor");n.bgColor=o.combine(i,n.paper_bgcolor);var l,v=c(n.fullData,m.name,n.id),x=n.layoutOut;function _(e,t){return r(l+"."+e,t)}for(var b=0;b")}}t.exports={hoverPoints:function(e,t,i,a){var o=r(e,t,i,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=e.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,n(c,u,l,s),s.hovertemplate=u.hovertemplate,o}},makeHoverPointText:n}}}),kk=m({"src/traces/scattersmith/index.js"(e,t){t.exports={moduleType:"trace",name:"scattersmith",basePlotModule:yk(),categories:["smith","symbols","showLegend","scatter-like"],attributes:vk(),supplyDefaults:xk(),colorbar:mi(),formatLabels:_k(),calc:bk(),plot:wk(),style:yi().style,styleOnSelect:yi().styleOnSelect,hoverPoints:Tk().hoverPoints,selectPoints:_i(),meta:{}}}}),Ak=m({"lib/scattersmith.js"(e,t){t.exports=kk()}}),Mk=m({"node_modules/world-calendars/dist/main.js"(e,t){var r=My();function n(){this.regionalOptions=[],this.regionalOptions[""]={invalidCalendar:"Calendar {0} not found",invalidDate:"Invalid {0} date",invalidMonth:"Invalid {0} month",invalidYear:"Invalid {0} year",differentCalendars:"Cannot mix {0} and {1} dates"},this.local=this.regionalOptions[""],this.calendars={},this._localCals={}}function i(e,t,r,n){if(this._calendar=e,this._year=t,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(l.local.invalidDate||l.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function a(e,t){return"000000".substring(0,t-(e=""+e).length)+e}function o(){this.shortYearCutoff="+10"}function s(e){this.local=this.regionalOptions[e]||this.regionalOptions[""]}r(n.prototype,{instance:function(e,t){e=(e||"gregorian").toLowerCase(),t=t||"";var r=this._localCals[e+"-"+t];if(!r&&this.calendars[e]&&(r=new this.calendars[e](t),this._localCals[e+"-"+t]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,e);return r},newDate:function(e,t,r,n,i){return(n=(null!=e&&e.year?e.calendar():"string"==typeof n?this.instance(n,i):n)||this.instance()).newDate(e,t,r)},substituteDigits:function(e){return function(t){return(t+"").replace(/[0-9]/g,(function(t){return e[t]}))}},substituteChineseDigits:function(e,t){return function(r){for(var n="",i=0;r>0;){var a=r%10;n=(0===a?"":e[a]+t[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(e[1]+t[1])&&(n=n.substr(1)),n||e[0]}}}),r(i.prototype,{newDate:function(e,t,r){return this._calendar.newDate(e??this,t,r)},year:function(e){return 0===arguments.length?this._year:this.set(e,"y")},month:function(e){return 0===arguments.length?this._month:this.set(e,"m")},day:function(e){return 0===arguments.length?this._day:this.set(e,"d")},date:function(e,t,r){if(!this._calendar.isValid(e,t,r))throw(l.local.invalidDate||l.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=e,this._month=t,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(e,t){return this._calendar.add(this,e,t)},set:function(e,t){return this._calendar.set(this,e,t)},compareTo:function(e){if(this._calendar.name!==e._calendar.name)throw(l.local.differentCalendars||l.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,e._calendar.local.name);var t=this._year!==e._year?this._year-e._year:this._month!==e._month?this.monthOfYear()-e.monthOfYear():this._day-e._day;return 0===t?0:t<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(e){return this._calendar.fromJD(e)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(e){return this._calendar.fromJSDate(e)},toString:function(){return(this.year()<0?"-":"")+a(Math.abs(this.year()),4)+"-"+a(this.month(),2)+"-"+a(this.day(),2)}}),r(o.prototype,{_validateLevel:0,newDate:function(e,t,r){return null==e?this.today():(e.year&&(this._validate(e,t,r,l.local.invalidDate||l.regionalOptions[""].invalidDate),r=e.day(),t=e.month(),e=e.year()),new i(this,e,t,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(e){return this._validate(e,this.minMonth,this.minDay,l.local.invalidYear||l.regionalOptions[""].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,l.local.invalidYear||l.regionalOptions[""].invalidYear);return(t.year()<0?"-":"")+a(Math.abs(t.year()),4)},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,l.local.invalidYear||l.regionalOptions[""].invalidYear),12},monthOfYear:function(e,t){var r=this._validate(e,t,this.minDay,l.local.invalidMonth||l.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(e,t){var r=(t+this.firstMonth-2*this.minMonth)%this.monthsInYear(e)+this.minMonth;return this._validate(e,r,this.minDay,l.local.invalidMonth||l.regionalOptions[""].invalidMonth),r},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,l.local.invalidYear||l.regionalOptions[""].invalidYear);return this.leapYear(t)?366:365},dayOfYear:function(e,t,r){var n=this._validate(e,t,r,l.local.invalidDate||l.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,l.local.invalidDate||l.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(e,t,r){return this._validate(e,t,r,l.local.invalidDate||l.regionalOptions[""].invalidDate),{}},add:function(e,t,r){return this._validate(e,this.minMonth,this.minDay,l.local.invalidDate||l.regionalOptions[""].invalidDate),this._correctAdd(e,this._add(e,t,r),t,r)},_add:function(e,t,r){if(this._validateLevel++,"d"===r||"w"===r){var n=e.toJD()+t*("w"===r?this.daysInWeek():1),i=e.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=e.year()+("y"===r?t:0),o=e.monthOfYear()+("m"===r?t:0);i=e.day(),"y"===r?(e.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,e.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):"m"===r&&(function(e){for(;ot-1+e.minMonth;)a++,o-=t,t=e.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(e){throw this._validateLevel--,e}},_correctAdd:function(e,t,r,n){if(!(this.hasYearZero||"y"!==n&&"m"!==n||0!==t[0]&&e.year()>0==t[0]>0)){var i={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],a=r<0?-1:1;t=this._add(e,r*i[0]+a*i[1],i[2])}return e.date(t[0],t[1],t[2])},set:function(e,t,r){this._validate(e,this.minMonth,this.minDay,l.local.invalidDate||l.regionalOptions[""].invalidDate);var n="y"===r?t:e.year(),i="m"===r?t:e.month(),a="d"===r?t:e.day();return("y"===r||"m"===r)&&(a=Math.min(a,this.daysInMonth(n,i))),e.date(n,i,a)},isValid:function(e,t,r){this._validateLevel++;var n=this.hasYearZero||0!==e;if(n){var i=this.newDate(e,t,this.minDay);n=t>=this.minMonth&&t-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),c=i-(l>2.5?4716:4715);return c<=0&&c--,this.newDate(c,l,s)},toJSDate:function(e,t,r){var n=this._validate(e,t,r,l.local.invalidDate||l.regionalOptions[""].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(e){return this.newDate(e.getFullYear(),e.getMonth()+1,e.getDate())}});var l=t.exports=new n;l.cdate=i,l.baseCalendar=o,l.calendars.gregorian=s}}),Sk=m({"node_modules/world-calendars/dist/plus.js"(){var e=My(),t=Mk();e(t.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"}),t.local=t.regionalOptions[""],e(t.cdate.prototype,{formatDate:function(e,t){return"string"!=typeof e&&(t=e,e=""),this._calendar.formatDate(e||"",this,t)}}),e(t.baseCalendar.prototype,{UNIX_EPOCH:t.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:t.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(e,r,n){if("string"!=typeof e&&(n=r,r=e,e=""),!r)return"";if(r.calendar()!==this)throw t.local.invalidFormat||t.regionalOptions[""].invalidFormat;e=e||this.local.dateFormat;for(var i=(n=n||{}).dayNamesShort||this.local.dayNamesShort,a=n.dayNames||this.local.dayNames,o=n.monthNumbers||this.local.monthNumbers,s=n.monthNamesShort||this.local.monthNamesShort,l=n.monthNames||this.local.monthNames,c=(n.calculateWeek||this.local.calculateWeek,function(t,r){for(var n=1;v+n1}),u=function(e,t,r,n){var i=""+t;if(c(e,n))for(;i.length1},x=function(e,n){var i=v(e,n),a=[2,3,i?4:2,i?4:2,10,11,20]["oyYJ@!".indexOf(e)+1],o=new RegExp("^-?\\d{1,"+a+"}"),s=r.substring(A).match(o);if(!s)throw(t.local.missingNumberAt||t.regionalOptions[""].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},_=this,b=function(){if("function"==typeof l){v("m");var e=l.call(_,r.substring(A));return A+=e.length,e}return x("m")},w=function(e,n,i,a){for(var o=v(e,a)?i:n,s=0;s-1){p=1,d=m;for(var E=this.daysInMonth(f,p);d>E;E=this.daysInMonth(f,p))p++,d-=E}return h>-1?this.fromJD(h):this.newDate(f,p,d)},determineDate:function(e,t,r,n,i){r&&"object"!=typeof r&&(i=n,n=r,r=null),"string"!=typeof n&&(i=n,n="");var a=this;return t=t?t.newDate():null,null==e?t:"string"==typeof e?function(e){try{return a.parseDate(n,e,i)}catch{}for(var t=((e=e.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.today(),o=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,s=o.exec(e);s;)t.add(parseInt(s[1],10),s[2]||"d"),s=o.exec(e);return t}(e):"number"==typeof e?isNaN(e)||e===1/0||e===-1/0?t:a.today().add(e,"d"):a.newDate(e)}})}}),Ek=m({"node_modules/world-calendars/dist/calendars/chinese.js"(){var e=Mk(),t=My(),r=e.instance();function n(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}n.prototype=new e.baseCalendar,t(n.prototype,{name:"Chinese",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(e,t){if("string"==typeof e){var r=e.match(a);return r?r[0]:""}var n=this._validateYear(e),i=e.month(),o=""+this.toChineseMonth(n,i);return t&&o.length<2&&(o="0"+o),this.isIntercalaryMonth(n,i)&&(o+="i"),o},monthNames:function(e){if("string"==typeof e){var t=e.match(o);return t?t[0]:""}var r=this._validateYear(e),n=e.month(),i=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="闰"+i),i},monthNamesShort:function(e){if("string"==typeof e){var t=e.match(s);return t?t[0]:""}var r=this._validateYear(e),n=e.month(),i=["一","二","三","四","五","六","七","八","九","十","十一","十二"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="闰"+i),i},parseMonth:function(e,t){e=this._validateYear(e);var r,n=parseInt(t);if(isNaN(n))"闰"===t[0]&&(r=!0,t=t.substring(1)),"月"===t[t.length-1]&&(t=t.substring(0,t.length-1)),n=1+["一","二","三","四","五","六","七","八","九","十","十一","十二"].indexOf(t);else{var i=t[t.length-1];r="i"===i||"I"===i}return this.toMonthIndex(e,n,r)},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},_validateYear:function(e,t){if(e.year&&(e=e.year()),"number"!=typeof e||e<1888||e>2111)throw t.replace(/\{0\}/,this.local.name);return e},toMonthIndex:function(t,r,n){var i=this.intercalaryMonth(t);if(n&&r!==i||r<1||r>12)throw e.local.invalidMonth.replace(/\{0\}/,this.local.name);return i?!n&&r<=i?r-1:r:r-1},toChineseMonth:function(t,r){t.year&&(r=(t=t.year()).month());var n=this.intercalaryMonth(t);if(r<0||r>(n?12:11))throw e.local.invalidMonth.replace(/\{0\}/,this.local.name);return n?r>13},isIntercalaryMonth:function(e,t){e.year&&(t=(e=e.year()).month());var r=this.intercalaryMonth(e);return!!r&&r===t},leapYear:function(e){return 0!==this.intercalaryMonth(e)},weekOfYear:function(t,n,i){var a,o=this._validateYear(t,e.local.invalidyear),s=c[o-c[0]],l=s>>9&4095,u=s>>5&15,h=31&s;(a=r.newDate(l,u,h)).add(4-(a.dayOfWeek()||7),"d");var f=this.toJD(t,n,i)-a.toJD();return 1+Math.floor(f/7)},monthsInYear:function(e){return this.leapYear(e)?13:12},daysInMonth:function(t,r){t.year&&(r=t.month(),t=t.year()),t=this._validateYear(t);var n=l[t-l[0]];if(r>(n>>13?12:11))throw e.local.invalidMonth.replace(/\{0\}/,this.local.name);return n&1<<12-r?30:29},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(t,n,i){var a=this._validate(t,s,i,e.local.invalidDate);t=this._validateYear(a.year()),n=a.month(),i=a.day();var o=this.isIntercalaryMonth(t,n),s=this.toChineseMonth(t,n),u=function(e,t,r,n){var i,a,o;if("object"==typeof e)a=e,i=t||{};else{var s;if(!("number"==typeof e&&e>=1888&&e<=2111))throw new Error("Lunar year outside range 1888-2111");if(!("number"==typeof t&&t>=1&&t<=12))throw new Error("Lunar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=30))throw new Error("Lunar day outside range 1 - 30");"object"==typeof n?(s=!1,i=n):(s=!!n,i={}),a={year:e,month:t,day:r,isIntercalary:s}}o=a.day-1;var u,h=l[a.year-l[0]],f=h>>13;u=f&&(a.month>f||a.isIntercalary)?a.month:a.month-1;for(var p=0;p>9&4095,(d>>5&15)-1,(31&d)+o);return i.year=m.getFullYear(),i.month=1+m.getMonth(),i.day=m.getDate(),i}(t,s,i,o);return r.toJD(u.year,u.month,u.day)},fromJD:function(e){var t=r.fromJD(e),n=function(e,t,r){var n,i;if("object"==typeof e)n=e,i=t||{};else{if(!("number"==typeof e&&e>=1888&&e<=2111))throw new Error("Solar year outside range 1888-2111");if(!("number"==typeof t&&t>=1&&t<=12))throw new Error("Solar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=31))throw new Error("Solar day outside range 1 - 31");n={year:e,month:t,day:r},i={}}var a=c[n.year-c[0]],o=n.year<<9|n.month<<5|n.day;i.year=o>=a?n.year:n.year-1,a=c[i.year-c[0]];var s,u=new Date(a>>9&4095,(a>>5&15)-1,31&a),h=new Date(n.year,n.month-1,n.day);s=Math.round((h-u)/864e5);var f,p=l[i.year-l[0]];for(f=0;f<13;f++){var d=p&1<<12-f?30:29;if(s>13;return!m||f=2&&n<=6},extraInfo:function(t,r,i){var a=this._validate(t,r,i,e.local.invalidDate);return{century:n[Math.floor((a.year()-1)/100)+1]||""}},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);return t=i.year()+(i.year()<0?1:0),r=i.month(),(n=i.day())+(r>1?16:0)+(r>2?32*(r-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e+.5)-Math.floor(this.jdEpoch)-1;var t=Math.floor(e/400)+1;e-=400*(t-1),e+=e>15?16:0;var r=Math.floor(e/32)+1,n=e-32*(r-1)+1;return this.newDate(t<=0?t-1:t,r,n)}});var n={20:"Fruitbat",21:"Anchovy"};e.calendars.discworld=r}}),Lk=m({"node_modules/world-calendars/dist/calendars/ethiopian.js"(){var e=Mk(),t=My();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Ethiopian",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var r=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear);return(t=r.year()+(r.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,e.local.invalidYear||e.regionalOptions[""].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(13===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,i=t-30*(n-1)+1;return this.newDate(r,n,i)}}),e.calendars.ethiopian=r}}),Pk=m({"node_modules/world-calendars/dist/calendars/hebrew.js"(){var e=Mk(),t=My();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}function n(e,t){return e-t*Math.floor(e/t)}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var r=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear);return this._leapYear(r.year())},_leapYear:function(e){return n(7*(e=e<0?e+1:e)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,e.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,r){return t.year&&(r=t.month(),t=t.year()),this._validate(t,r,this.minDay,e.local.invalidMonth),12===r&&this.leapYear(t)||8===r&&5===n(this.daysInYear(t),10)?30:9===r&&3===n(this.daysInYear(t),10)?29:this.daysPerMonth[r-1]},weekDay:function(e,t,r){return 6!==this.dayOfWeek(e,t,r)},extraInfo:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);return{yearType:(this.leapYear(i)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(i)%10-3]}},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);t=i.year(),r=i.month(),n=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+n+1;if(r<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s=this.toJD(-1===t?1:t+1,7,1);)t++;for(var r=ethis.toJD(t,r,this.daysInMonth(t,r));)r++;var n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}}),e.calendars.hebrew=r}}),zk=m({"node_modules/world-calendars/dist/calendars/islamic.js"(){var e=Mk(),t=My();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Islamic",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-khamīs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,e.local.invalidYear).year()+14)%30<11},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){return this.leapYear(e)?355:354},daysInMonth:function(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(12===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return 5!==this.dayOfWeek(e,t,r)},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);return t=i.year(),r=i.month(),t=t<=0?t+1:t,(n=i.day())+Math.ceil(29.5*(r-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=Math.floor((30*(e-this.jdEpoch)+10646)/10631);t=t<=0?t-1:t;var r=Math.min(12,Math.ceil((e-29-this.toJD(t,1,1))/29.5)+1),n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}}),e.calendars.islamic=r}}),Dk=m({"node_modules/world-calendars/dist/calendars/julian.js"(){var e=Mk(),t=My();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Julian",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var r=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear);return(t=r.year()<0?r.year()+1:r.year())%4==0},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(2===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);return t=i.year(),r=i.month(),n=i.day(),t<0&&t++,r<=2&&(t--,r+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(r+1))+n-1524.5},fromJD:function(e){var t=Math.floor(e+.5)+1524,r=Math.floor((t-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((t-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=t-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),e.calendars.julian=r}}),Ok=m({"node_modules/world-calendars/dist/calendars/mayan.js"(){var e=Mk(),t=My();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}function n(e,t){return e-t*Math.floor(e/t)}function i(e,t){return n(e-1,t)+1}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:!1,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,e.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear).year();var r=Math.floor(t/400);return t%=400,t+=t<0?400:0,r+"."+Math.floor(t/20)+"."+t%20},forYear:function(e){if((e=e.split(".")).length<3)throw"Invalid Mayan year";for(var t=0,r=0;r19||r>0&&n<0)throw"Invalid Mayan year";t=20*t+n}return t},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,e.local.invalidYear),18},weekOfYear:function(t,r,n){return this._validate(t,r,n,e.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,e.local.invalidYear),360},daysInMonth:function(t,r){return this._validate(t,r,this.minDay,e.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,r,n){return this._validate(t,r,n,e.local.invalidDate).day()},weekDay:function(t,r,n){return this._validate(t,r,n,e.local.invalidDate),!0},extraInfo:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(e){var t=n(8+(e-=this.jdEpoch)+340,365);return[Math.floor(t/20)+1,n(t,20)]},_toTzolkin:function(e){return[i(20+(e-=this.jdEpoch),20),i(e+4,13)]},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);return i.day()+20*i.month()+360*i.year()+this.jdEpoch},fromJD:function(e){e=Math.floor(e)+.5-this.jdEpoch;var t=Math.floor(e/360);e%=360,e+=e<0?360:0;var r=Math.floor(e/20),n=e%20;return this.newDate(t,r,n)}}),e.calendars.mayan=r}}),Rk=m({"node_modules/world-calendars/dist/calendars/nanakshahi.js"(){var e=Mk(),t=My();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}r.prototype=new e.baseCalendar;var n=e.instance("gregorian");t(r.prototype,{name:"Nanakshahi",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var r=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear||e.regionalOptions[""].invalidYear);return n.leapYear(r.year()+(r.year()<1?1:0)+1469)},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(12===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(t,r,i){var a=this._validate(t,r,i,e.local.invalidMonth);(t=a.year())<0&&t++;for(var o=a.day(),s=1;s=this.toJD(t+1,1,1);)t++;for(var r=e-Math.floor(this.toJD(t,1,1)+.5)+1,n=1;r>this.daysInMonth(t,n);)r-=this.daysInMonth(t,n),n++;return this.newDate(t,n,r)}}),e.calendars.nanakshahi=r}}),Fk=m({"node_modules/world-calendars/dist/calendars/nepali.js"(){var e=Mk(),t=My();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Nepali",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(e){return this.daysInYear(e)!==this.daysPerYear},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear).year(),typeof this.NEPALI_CALENDAR_DATA[t]>"u")return this.daysPerYear;for(var r=0,n=this.minMonth;n<=12;n++)r+=this.NEPALI_CALENDAR_DATA[t][n];return r},daysInMonth:function(t,r){return t.year&&(r=t.month(),t=t.year()),this._validate(t,r,this.minDay,e.local.invalidMonth),typeof this.NEPALI_CALENDAR_DATA[t]>"u"?this.daysPerMonth[r-1]:this.NEPALI_CALENDAR_DATA[t][r]},weekDay:function(e,t,r){return 6!==this.dayOfWeek(e,t,r)},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);t=i.year(),r=i.month(),n=i.day();var a=e.instance(),o=0,s=r,l=t;this._createMissingCalendarData(t);var c=t-(s>9||9===s&&n>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==r&&(o=n,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===r?(o+=n-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(c,1,1).add(o,"d").toJD()},fromJD:function(t){var r=e.instance().fromJD(t),n=r.year(),i=r.dayOfYear(),a=n+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var c=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,c)},_createMissingCalendarData:function(e){var t=this.daysPerMonth.slice(0);t.unshift(17);for(var r=e-1;r"u"&&(this.NEPALI_CALENDAR_DATA[r]=t)},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]}}),e.calendars.nepali=r}}),Bk=m({"node_modules/world-calendars/dist/calendars/persian.js"(){var e=Mk(),t=My();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}function n(e){var t=e-475;e<0&&t++;var r=.242197,n=r*t,i=r*(t+1);return n-Math.floor(n)>i-Math.floor(i)}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Persian",jdEpoch:1948320.5,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Persian",epochs:["BP","AP"],monthNames:["Farvardin","Ordibehesht","Khordad","Tir","Mordad","Shahrivar","Mehr","Aban","Azar","Dey","Bahman","Esfand"],monthNamesShort:["Far","Ord","Kho","Tir","Mor","Sha","Meh","Aba","Aza","Dey","Bah","Esf"],dayNames:["Yekshanbeh","Doshanbeh","Seshanbeh","Chahārshanbeh","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(t){return n(this._validate(t,this.minMonth,this.minDay,e.local.invalidYear).year())},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-(n.dayOfWeek()+1)%7,"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(12===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return 5!==this.dayOfWeek(e,t,r)},toJD:function(t,r,i){var a=this._validate(t,r,i,e.local.invalidDate);t=a.year(),r=a.month(),i=a.day();var o=0;if(t>0)for(var s=1;s0?t-1:t)+o+this.jdEpoch-1},fromJD:function(e){var t=475+((e=Math.floor(e)+.5)-this.toJD(475,1,1))/365.242197,r=Math.floor(t);r<=0&&r--,e>this.toJD(r,12,n(r)?30:29)&&0==++r&&r++;var i=e-this.toJD(r,1,1)+1,a=i<=186?Math.ceil(i/31):Math.ceil((i-6)/30),o=e-this.toJD(r,a,1)+1;return this.newDate(r,a,o)}}),e.calendars.persian=r,e.calendars.jalali=r}}),jk=m({"node_modules/world-calendars/dist/calendars/taiwan.js"(){var e=Mk(),t=My(),r=e.instance();function n(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}n.prototype=new e.baseCalendar,t(n.prototype,{name:"Taiwan",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},leapYear:function(t){var n=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear);return t=this._t2gYear(n.year()),r.leapYear(t)},weekOfYear:function(t,n,i){var a=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear);return t=this._t2gYear(a.year()),r.weekOfYear(t,a.month(),a.day())},daysInMonth:function(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(2===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(t,n,i){var a=this._validate(t,n,i,e.local.invalidDate);return t=this._t2gYear(a.year()),r.toJD(t,a.month(),a.day())},fromJD:function(e){var t=r.fromJD(e),n=this._g2tYear(t.year());return this.newDate(n,t.month(),t.day())},_t2gYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)},_g2tYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)}}),e.calendars.taiwan=n}}),Nk=m({"node_modules/world-calendars/dist/calendars/thai.js"(){var e=Mk(),t=My(),r=e.instance();function n(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}n.prototype=new e.baseCalendar,t(n.prototype,{name:"Thai",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var n=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear);return t=this._t2gYear(n.year()),r.leapYear(t)},weekOfYear:function(t,n,i){var a=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear);return t=this._t2gYear(a.year()),r.weekOfYear(t,a.month(),a.day())},daysInMonth:function(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(2===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(t,n,i){var a=this._validate(t,n,i,e.local.invalidDate);return t=this._t2gYear(a.year()),r.toJD(t,a.month(),a.day())},fromJD:function(e){var t=r.fromJD(e),n=this._g2tYear(t.year());return this.newDate(n,t.month(),t.day())},_t2gYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)},_g2tYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)}}),e.calendars.thai=n}}),Uk=m({"node_modules/world-calendars/dist/calendars/ummalqura.js"(){var e=Mk(),t=My();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}r.prototype=new e.baseCalendar,t(r.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āthā’","Yawm al-Arba‘ā’","Yawm al-Khamīs","Yawm al-Jum‘a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(t){var r=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear);return 355===this.daysInYear(r.year())},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){for(var t=0,r=1;r<=12;r++)t+=this.daysInMonth(e,r);return t},daysInMonth:function(t,r){for(var i=this._validate(t,r,this.minDay,e.local.invalidMonth).toJD()-24e5+.5,a=0,o=0;oi)return n[a]-n[a-1];a++}return 30},weekDay:function(e,t,r){return 5!==this.dayOfWeek(e,t,r)},toJD:function(t,r,i){var a=this._validate(t,r,i,e.local.invalidDate),o=12*(a.year()-1)+a.month()-15292;return a.day()+n[o-1]-1+24e5-.5},fromJD:function(e){for(var t=e-24e5+.5,r=0,i=0;it);i++)r++;var a=r+15292,o=Math.floor((a-1)/12),s=o+1,l=a-12*o,c=t-n[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,r,n){var i=e.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,r,n,i){var a=e.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\{0\}/,this.local.name);return a}}),e.calendars.ummalqura=r;var n=[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]}}),Vk=m({"src/components/calendars/calendars.js"(e,t){t.exports=Mk(),Sk(),Ek(),Ck(),Ik(),Lk(),Pk(),zk(),Dk(),Ok(),Rk(),Fk(),Bk(),jk(),Nk(),Uk()}}),qk=m({"src/components/calendars/index.js"(e,t){var r=Vk(),n=ct(),i=S(),a=i.EPOCHJD,o=i.ONEDAY,s={valType:"enumerated",values:n.sortObjectKeys(r.calendars),editType:"calc",dflt:"gregorian"},l=function(e,t,r,i){var a={};return a[r]=s,n.coerce(e,t,a,r,i)},c="##",u={d:{0:"dd","-":"d"},e:{0:"d","-":"d"},a:{0:"D","-":"D"},A:{0:"DD","-":"DD"},j:{0:"oo","-":"o"},W:{0:"ww","-":"w"},m:{0:"mm","-":"m"},b:{0:"M","-":"M"},B:{0:"MM","-":"MM"},y:{0:"yy","-":"yy"},Y:{0:"yyyy","-":"yyyy"},U:c,w:c,c:{0:"D M d %X yyyy","-":"D M d %X yyyy"},x:{0:"mm/dd/yyyy","-":"mm/dd/yyyy"}},h={};function f(e){var t=h[e];return t||(h[e]=r.instance(e))}function p(e){return n.extendFlat({},s,{description:e})}function d(e){return"Sets the calendar system to use with `"+e+"` date data."}var m={xcalendar:p(d("x"))},g=n.extendFlat({},m,{ycalendar:p(d("y"))}),y=n.extendFlat({},g,{zcalendar:p(d("z"))}),v=p(["Sets the calendar system to use for `range` and `tick0`","if this is a date axis. This does not set the calendar for","interpreting data on this axis, that's specified in the trace","or via the global `layout.calendar`"].join(" "));t.exports={moduleType:"component",name:"calendars",schema:{traces:{scatter:g,bar:g,box:g,heatmap:g,contour:g,histogram:g,histogram2d:g,histogram2dcontour:g,scatter3d:y,surface:y,mesh3d:y,scattergl:g,ohlc:m,candlestick:m},layout:{calendar:p(["Sets the default calendar system to use for interpreting and","displaying dates throughout the plot."].join(" "))},subplots:{xaxis:{calendar:v},yaxis:{calendar:v},scene:{xaxis:{calendar:v},yaxis:{calendar:v},zaxis:{calendar:v}},polar:{radialaxis:{calendar:v}}}},layoutAttributes:s,handleDefaults:l,handleTraceDefaults:function(e,t,r,n){for(var i=0;i{n.preventDefault(),n.stopPropagation(),n.clipboardData.setData("text",e),t.removeEventListener("copy",r,!0)};t.addEventListener("copy",r,!0),document.execCommand("copy")},(l=i||(i={})).boxSizing=function(e){let t=window.getComputedStyle(e),r=parseFloat(t.borderTopWidth)||0,n=parseFloat(t.borderLeftWidth)||0,i=parseFloat(t.borderRightWidth)||0,a=parseFloat(t.borderBottomWidth)||0,o=parseFloat(t.paddingTop)||0,s=parseFloat(t.paddingLeft)||0,l=parseFloat(t.paddingRight)||0,c=parseFloat(t.paddingBottom)||0;return{borderTop:r,borderLeft:n,borderRight:i,borderBottom:a,paddingTop:o,paddingLeft:s,paddingRight:l,paddingBottom:c,horizontalSum:n+s+l+i,verticalSum:r+o+c+a}},l.sizeLimits=function(e){let t=window.getComputedStyle(e),r=parseFloat(t.minWidth)||0,n=parseFloat(t.minHeight)||0,i=parseFloat(t.maxWidth)||1/0,a=parseFloat(t.maxHeight)||1/0;return i=Math.max(r,i),a=Math.max(n,a),{minWidth:r,minHeight:n,maxWidth:i,maxHeight:a}},l.hitTest=function(e,t,r){let n=e.getBoundingClientRect();return t>=n.left&&t=n.top&&r=r.bottom)){if(n.topr.bottom&&n.height>=r.height)return void(e.scrollTop-=r.top-n.top);if(n.topr.height)return void(e.scrollTop-=r.bottom-n.bottom);if(n.bottom>r.bottom&&n.height{let e=Element.prototype;return e.matches||e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector||function(e){let t=this,r=t.ownerDocument?t.ownerDocument.querySelectorAll(e):[];return-1!==Array.prototype.indexOf.call(r,t)}})(),e.calculateSingle=function(e){let c=0,u=0,h=0;function f(t){let r=e.match(t);return null!==r&&(e=e.slice(r[0].length),!0)}for(e=(e=e.split(",",1)[0]).replace(l," $1 ");e.length>0;)if(f(t))c++;else if(f(r))u++;else if(f(n))u++;else if(f(a))h++;else if(f(o))u++;else if(f(i))h++;else if(!f(s))return 0;return c=Math.min(c,255),u=Math.min(u,255),h=Math.min(h,255),c<<16|u<<8|h};let t=/^#[^\s\+>~#\.\[:]+/,r=/^\.[^\s\+>~#\.\[:]+/,n=/^\[[^\]]+\]/,i=/^[^\s\+>~#\.\[:]+/,a=/^(::[^\s\+>~#\.\[:]+|:first-line|:first-letter|:before|:after)/,o=/^:[^\s\+>~#\.\[:]+/,s=/^[\s\+>~\*]+/,l=/:not\(([^\)]+)\)/g}(s||(s={}));var T,k=y(v()),A=class{constructor(){this._first=null,this._last=null,this._size=0}get isEmpty(){return 0===this._size}get size(){return this._size}get length(){return this._size}get first(){return this._first?this._first.value:void 0}get last(){return this._last?this._last.value:void 0}get firstNode(){return this._first}get lastNode(){return this._last}*[Symbol.iterator](){let e=this._first;for(;e;)yield e.value,e=e.next}*retro(){let e=this._last;for(;e;)yield e.value,e=e.prev}*nodes(){let e=this._first;for(;e;)yield e,e=e.next}*retroNodes(){let e=this._last;for(;e;)yield e,e=e.prev}assign(e){this.clear();for(let t of e)this.addLast(t)}push(e){this.addLast(e)}pop(){return this.removeLast()}shift(e){this.addFirst(e)}unshift(){return this.removeFirst()}addFirst(e){let t=new T.LinkedListNode(this,e);return this._first?(t.next=this._first,this._first.prev=t,this._first=t):(this._first=t,this._last=t),this._size++,t}addLast(e){let t=new T.LinkedListNode(this,e);return this._last?(t.prev=this._last,this._last.next=t,this._last=t):(this._first=t,this._last=t),this._size++,t}insertBefore(e,t){if(!t||t===this._first)return this.addFirst(e);if(!(t instanceof T.LinkedListNode)||t.list!==this)throw new Error("Reference node is not owned by the list.");let r=new T.LinkedListNode(this,e),n=t,i=n.prev;return r.next=n,r.prev=i,n.prev=r,i.next=r,this._size++,r}insertAfter(e,t){if(!t||t===this._last)return this.addLast(e);if(!(t instanceof T.LinkedListNode)||t.list!==this)throw new Error("Reference node is not owned by the list.");let r=new T.LinkedListNode(this,e),n=t,i=n.next;return r.next=i,r.prev=n,n.next=r,i.prev=r,this._size++,r}removeFirst(){let e=this._first;if(e)return e===this._last?(this._first=null,this._last=null):(this._first=e.next,this._first.prev=null),e.list=null,e.next=null,e.prev=null,this._size--,e.value}removeLast(){let e=this._last;if(e)return e===this._first?(this._first=null,this._last=null):(this._last=e.prev,this._last.next=null),e.list=null,e.next=null,e.prev=null,this._size--,e.value}removeNode(e){if(!(e instanceof T.LinkedListNode)||e.list!==this)throw new Error("Node is not owned by the list.");let t=e;t===this._first&&t===this._last?(this._first=null,this._last=null):t===this._first?(this._first=t.next,this._first.prev=null):t===this._last?(this._last=t.prev,this._last.next=null):(t.next.prev=t.prev,t.prev.next=t.next),t.list=null,t.next=null,t.prev=null,this._size--}clear(){let e=this._first;for(;e;){let t=e.next;e.list=null,e.prev=null,e.next=null,e=t}this._first=null,this._last=null,this._size=0}};!function(e){e.from=function(t){let r=new e;return r.assign(t),r}}(A||(A={})),function(e){e.LinkedListNode=class{constructor(e,t){this.list=null,this.next=null,this.prev=null,this.list=e,this.value=t}}}(T||(T={}));var M,S=class{constructor(e){this.type=e}get isConflatable(){return!1}conflate(e){return!1}},E=class extends S{get isConflatable(){return!0}conflate(e){return!0}};!function(e){let t=null,r=(n=Promise.resolve(),e=>{let t=!1;return n.then((()=>!t&&e())),()=>{t=!0}});var n;function i(e,t){let r=o.get(e);r&&0!==r.length?(0,k.every)((0,k.retro)(r),(r=>!r||function(e,t,r){let n=!0;try{n="function"==typeof e?e(t,r):e.messageHook(t,r)}catch(e){l(e)}return n}(r,e,t)))&&u(e,t):u(e,t)}e.sendMessage=i,e.postMessage=function(e,n){n.isConflatable&&(0,k.some)(a,(t=>!(t.handler!==e||!t.msg||t.msg.type!==n.type||!t.msg.isConflatable)&&t.msg.conflate(n)))||function(e,n){a.addLast({handler:e,msg:n}),null===t&&(t=r(h))}(e,n)},e.installMessageHook=function(e,t){let r=o.get(e);r&&-1!==r.indexOf(t)||(r?r.push(t):o.set(e,[t]))},e.removeMessageHook=function(e,t){let r=o.get(e);if(!r)return;let n=r.indexOf(t);-1!==n&&(r[n]=null,f(r))},e.clearData=function(e){let t=o.get(e);t&&t.length>0&&(k.ArrayExt.fill(t,null),f(t));for(let t of a)t.handler===e&&(t.handler=null,t.msg=null)},e.flush=function(){c||null===t||(t(),t=null,c=!0,h(),c=!1)},e.getExceptionHandler=function(){return l},e.setExceptionHandler=function(e){let t=l;return l=e,t};let a=new A,o=new WeakMap,s=new Set,l=e=>{console.error(e)},c=!1;function u(e,t){try{e.processMessage(t)}catch(e){l(e)}}function h(){if(t=null,a.isEmpty)return;let e={handler:null,msg:null};for(a.addLast(e);;){let t=a.removeFirst();if(t===e)return;t.handler&&t.msg&&i(t.handler,t.msg)}}function f(e){0===s.size&&r(p),s.add(e)}function p(){s.forEach(d),s.clear()}function d(e){k.ArrayExt.removeAllWhere(e,m)}function m(e){return null===e}}(M||(M={}));var C,I=class{constructor(e){this._pid=C.nextPID(),this.name=e.name,this._create=e.create,this._coerce=e.coerce||null,this._compare=e.compare||null,this._changed=e.changed||null}get(e){let t,r=C.ensureMap(e);return t=this._pid in r?r[this._pid]:r[this._pid]=this._createValue(e),t}set(e,t){let r,n=C.ensureMap(e);r=this._pid in n?n[this._pid]:n[this._pid]=this._createValue(e);let i=this._coerceValue(e,t);this._maybeNotify(e,r,n[this._pid]=i)}coerce(e){let t,r=C.ensureMap(e);t=this._pid in r?r[this._pid]:r[this._pid]=this._createValue(e);let n=this._coerceValue(e,t);this._maybeNotify(e,t,r[this._pid]=n)}_createValue(e){return(0,this._create)(e)}_coerceValue(e,t){let r=this._coerce;return r?r(e,t):t}_compareValue(e,t){let r=this._compare;return r?r(e,t):e===t}_maybeNotify(e,t,r){let n=this._changed;n&&!this._compareValue(t,r)&&n(e,t,r)}};!function(e){e.clearData=function(e){C.ownerData.delete(e)}}(I||(I={})),function(e){e.ownerData=new WeakMap,e.nextPID=(()=>{let e=0;return()=>`pid-${`${Math.random()}`.slice(2)}-${e++}`})(),e.ensureMap=function(t){let r=e.ownerData.get(t);return r||(r=Object.create(null),e.ownerData.set(t,r),r)}}(C||(C={}));var L,P=y(v()),z=(y(x()),class{constructor(e){this.sender=e}connect(e,t){return L.connect(this,e,t)}disconnect(e,t){return L.disconnect(this,e,t)}emit(e){L.emit(this,e)}});!function(e){e.disconnectBetween=function(e,t){L.disconnectBetween(e,t)},e.disconnectSender=function(e){L.disconnectSender(e)},e.disconnectReceiver=function(e){L.disconnectReceiver(e)},e.disconnectAll=function(e){L.disconnectAll(e)},e.clearData=function(e){L.disconnectAll(e)},e.getExceptionHandler=function(){return L.exceptionHandler},e.setExceptionHandler=function(e){let t=L.exceptionHandler;return L.exceptionHandler=e,t}}(z||(z={})),function(e){function t(e){let t=n.get(e);if(t&&0!==t.length){for(let e of t){if(!e.signal)continue;let t=e.thisArg||e.slot;e.signal=null,c(i.get(t))}c(t)}}function r(e){let t=i.get(e);if(t&&0!==t.length){for(let e of t){if(!e.signal)continue;let t=e.signal.sender;e.signal=null,c(n.get(t))}c(t)}}e.exceptionHandler=e=>{console.error(e)},e.connect=function(e,t,r){r=r||void 0;let a=n.get(e.sender);if(a||(a=[],n.set(e.sender,a)),s(a,e,t,r))return!1;let o=r||t,l=i.get(o);l||(l=[],i.set(o,l));let c={signal:e,slot:t,thisArg:r};return a.push(c),l.push(c),!0},e.disconnect=function(e,t,r){r=r||void 0;let a=n.get(e.sender);if(!a||0===a.length)return!1;let o=s(a,e,t,r);if(!o)return!1;let l=r||t,u=i.get(l);return o.signal=null,c(a),c(u),!0},e.disconnectBetween=function(e,t){let r=n.get(e);if(!r||0===r.length)return;let a=i.get(t);if(a&&0!==a.length){for(let t of a)t.signal&&t.signal.sender===e&&(t.signal=null);c(r),c(a)}},e.disconnectSender=t,e.disconnectReceiver=r,e.disconnectAll=function(e){t(e),r(e)},e.emit=function(e,t){let r=n.get(e.sender);if(r&&0!==r.length)for(let n=0,i=r.length;ne.signal===t&&e.slot===r&&e.thisArg===n))}function l(t,r){let{signal:n,slot:i,thisArg:a}=t;try{i.call(a,n.sender,r)}catch(t){e.exceptionHandler(t)}}function c(e){0===a.size&&o(u),a.add(e)}function u(){a.forEach(h),a.clear()}function h(e){P.ArrayExt.removeAllWhere(e,f)}function f(e){return null===e.signal}}(L||(L={}));var D=class{constructor(e){this._fn=e}get isDisposed(){return!this._fn}dispose(){if(!this._fn)return;let e=this._fn;this._fn=null,e()}},O=class{constructor(){this._isDisposed=!1,this._items=new Set}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed||(this._isDisposed=!0,this._items.forEach((e=>{e.dispose()})),this._items.clear())}contains(e){return this._items.has(e)}add(e){this._items.add(e)}remove(e){this._items.delete(e)}clear(){this._items.clear()}};!function(e){e.from=function(t){let r=new e;for(let e of t)r.add(e);return r}}(O||(O={}));var R=class extends O{constructor(){super(...arguments),this._disposed=new z(this)}get disposed(){return this._disposed}dispose(){this.isDisposed||(super.dispose(),this._disposed.emit(void 0),z.clearData(this))}};!function(e){e.from=function(t){let r=new e;for(let e of t)r.add(e);return r}}(R||(R={}));var F,B=class e{constructor(e){this._onScrollFrame=()=>{if(!this._scrollTarget)return;let{element:e,edge:t,distance:r}=this._scrollTarget,n=F.SCROLL_EDGE_SIZE-r,i=Math.pow(n/F.SCROLL_EDGE_SIZE,2),a=Math.max(1,Math.round(i*F.SCROLL_EDGE_SIZE));switch(t){case"top":e.scrollTop-=a;break;case"left":e.scrollLeft-=a;break;case"right":e.scrollLeft+=a;break;case"bottom":e.scrollTop+=a}requestAnimationFrame(this._onScrollFrame)},this._disposed=!1,this._dropAction="none",this._override=null,this._currentTarget=null,this._currentElement=null,this._promise=null,this._scrollTarget=null,this._resolve=null,this.document=e.document||document,this.mimeData=e.mimeData,this.dragImage=e.dragImage||null,this.proposedAction=e.proposedAction||"copy",this.supportedActions=e.supportedActions||"all",this.source=e.source||null}dispose(){if(!this._disposed){if(this._disposed=!0,this._currentTarget){let e=new PointerEvent("pointerup",{bubbles:!0,cancelable:!0,clientX:-1,clientY:-1});F.dispatchDragLeave(this,this._currentTarget,null,e)}this._finalize("none")}}get isDisposed(){return this._disposed}start(e,t){if(this._disposed)return Promise.resolve("none");if(this._promise)return this._promise;this._addListeners(),this._attachDragImage(e,t),this._promise=new Promise((e=>{this._resolve=e}));let r=new PointerEvent("pointermove",{bubbles:!0,cancelable:!0,clientX:e,clientY:t});return document.dispatchEvent(r),this._promise}handleEvent(e){switch(e.type){case"pointermove":this._evtPointerMove(e);break;case"pointerup":this._evtPointerUp(e);break;case"keydown":this._evtKeyDown(e);break;default:e.preventDefault(),e.stopPropagation()}}moveDragImage(e,t){this.dragImage&&(this.dragImage.style.transform=`translate(${e}px, ${t}px)`)}_evtPointerMove(e){e.preventDefault(),e.stopPropagation(),this._updateCurrentTarget(e),this._updateDragScroll(e),this.moveDragImage(e.clientX,e.clientY)}_evtPointerUp(e){if(e.preventDefault(),e.stopPropagation(),0!==e.button)return;if(this._updateCurrentTarget(e),!this._currentTarget)return void this._finalize("none");if("none"===this._dropAction)return F.dispatchDragLeave(this,this._currentTarget,null,e),void this._finalize("none");let t=F.dispatchDrop(this,this._currentTarget,e);this._finalize(t)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation(),27===e.keyCode&&this.dispose()}_addListeners(){document.addEventListener("pointerdown",this,!0),document.addEventListener("pointermove",this,!0),document.addEventListener("pointerup",this,!0),document.addEventListener("pointerenter",this,!0),document.addEventListener("pointerleave",this,!0),document.addEventListener("pointerover",this,!0),document.addEventListener("pointerout",this,!0),document.addEventListener("keydown",this,!0),document.addEventListener("keyup",this,!0),document.addEventListener("keypress",this,!0),document.addEventListener("contextmenu",this,!0)}_removeListeners(){document.removeEventListener("pointerdown",this,!0),document.removeEventListener("pointermove",this,!0),document.removeEventListener("pointerup",this,!0),document.removeEventListener("pointerenter",this,!0),document.removeEventListener("pointerleave",this,!0),document.removeEventListener("pointerover",this,!0),document.removeEventListener("pointerout",this,!0),document.removeEventListener("keydown",this,!0),document.removeEventListener("keyup",this,!0),document.removeEventListener("keypress",this,!0),document.removeEventListener("contextmenu",this,!0)}_updateDragScroll(e){let t=F.findScrollTarget(e);!this._scrollTarget&&!t||(this._scrollTarget||setTimeout(this._onScrollFrame,500),this._scrollTarget=t)}_updateCurrentTarget(e){let t=this._currentTarget,r=this._currentTarget,n=this._currentElement,i=F.findElementBehindBackdrop(e,this.document);this._currentElement=i,i!==n&&i!==r&&F.dispatchDragExit(this,r,i,e),i!==n&&i!==r&&(r=F.dispatchDragEnter(this,i,r,e)),r!==t&&(this._currentTarget=r,F.dispatchDragLeave(this,t,r,e));let a=F.dispatchDragOver(this,r,e);this._setDropAction(a)}_attachDragImage(e,t){if(!this.dragImage)return;this.dragImage.classList.add("lm-mod-drag-image");let r=this.dragImage.style;r.pointerEvents="none",r.position="fixed",r.transform=`translate(${e}px, ${t}px)`,(this.document instanceof Document?this.document.body:this.document.firstElementChild).appendChild(this.dragImage)}_detachDragImage(){if(!this.dragImage)return;let e=this.dragImage.parentNode;e&&e.removeChild(this.dragImage)}_setDropAction(t){if(t=F.validateAction(t,this.supportedActions),!this._override||this._dropAction!==t)switch(t){case"none":this._dropAction=t,this._override=e.overrideCursor("no-drop",this.document);break;case"copy":this._dropAction=t,this._override=e.overrideCursor("copy",this.document);break;case"link":this._dropAction=t,this._override=e.overrideCursor("alias",this.document);break;case"move":this._dropAction=t,this._override=e.overrideCursor("move",this.document)}}_finalize(e){let t=this._resolve;this._removeListeners(),this._detachDragImage(),this._override&&(this._override.dispose(),this._override=null),this.mimeData.clear(),this._disposed=!0,this._dropAction="none",this._currentTarget=null,this._currentElement=null,this._scrollTarget=null,this._promise=null,this._resolve=null,t&&t(e)}};!function(e){class t extends DragEvent{constructor(e,t){super(t.type,{bubbles:!0,cancelable:!0,altKey:e.altKey,button:e.button,clientX:e.clientX,clientY:e.clientY,ctrlKey:e.ctrlKey,detail:0,metaKey:e.metaKey,relatedTarget:t.related,screenX:e.screenX,screenY:e.screenY,shiftKey:e.shiftKey,view:window});let{drag:r}=t;this.dropAction="none",this.mimeData=r.mimeData,this.proposedAction=r.proposedAction,this.supportedActions=r.supportedActions,this.source=r.source}}e.Event=t,e.overrideCursor=function(e,t=document){return F.overrideCursor(e,t)}}(B||(B={})),function(e){function t(t,i=document){if(t){if(r&&t==r.event)return r.element;e.cursorBackdrop.style.zIndex="-1000";let n=i.elementFromPoint(t.clientX,t.clientY);return e.cursorBackdrop.style.zIndex="",r={event:t,element:n},n}{let t=e.cursorBackdrop.style.transform;if(n&&t===n.transform)return n.element;let r=e.cursorBackdrop.getBoundingClientRect();e.cursorBackdrop.style.zIndex="-1000";let a=i.elementFromPoint(r.left+r.width/2,r.top+r.height/2);return e.cursorBackdrop.style.zIndex="",n={transform:t,element:a},a}}e.SCROLL_EDGE_SIZE=20,e.validateAction=function(e,t){return i[e]&a[t]?e:"none"},e.findElementBehindBackdrop=t;let r=null,n=null;e.findScrollTarget=function(r){let n=r.clientX,i=r.clientY,a=t(r);for(;a;a=a.parentElement){if(!a.hasAttribute("data-lm-dragscroll"))continue;let t=0,r=0;a===document.body&&(t=window.pageXOffset,r=window.pageYOffset);let o=a.getBoundingClientRect(),s=o.top+r,l=o.left+t,c=l+o.width,u=s+o.height;if(n=c||i=u)continue;let h,f=n-l+1,p=i-s+1,d=c-n,m=u-i,g=Math.min(f,p,d,m);if(g>e.SCROLL_EDGE_SIZE)continue;switch(g){case m:h="bottom";break;case p:h="top";break;case d:h="right";break;case f:h="left";break;default:throw"unreachable"}let y,v=a.scrollWidth-a.clientWidth,x=a.scrollHeight-a.clientHeight;switch(h){case"top":y=x>0&&a.scrollTop>0;break;case"left":y=v>0&&a.scrollLeft>0;break;case"right":y=v>0&&a.scrollLeft0&&a.scrollTop{n===u&&e.cursorBackdrop.isConnected&&(document.removeEventListener("pointermove",o,!0),e.cursorBackdrop.removeEventListener("scroll",s,!0),i.removeChild(e.cursorBackdrop))}))};let c=500,u=0;e.cursorBackdrop=function(){let e=document.createElement("div");return e.classList.add("lm-cursor-backdrop"),e}()}(F||(F={}));var j=y(v()),N=y(x());function U(){return q.keyboardLayout}var V=class e{constructor(t,r,n=[]){this.name=t,this._codes=r,this._keys=e.extractKeys(r),this._modifierKeys=e.convertToKeySet(n)}keys(){return Object.keys(this._keys)}isValidKey(e){return e in this._keys}isModifierKey(e){return e in this._modifierKeys}keyForKeydownEvent(e){return this._codes[e.keyCode]||""}};!function(e){e.extractKeys=function(e){let t=Object.create(null);for(let r in e)t[e[r]]=!0;return t},e.convertToKeySet=function(e){let t=Object(null);for(let r=0,n=e.length;r{this._commands.delete(e),this._commandChanged.emit({id:e,type:"removed"})}))}notifyCommandChanged(e){if(void 0!==e&&!this._commands.has(e))throw new Error(`Command '${e}' is not registered.`);this._commandChanged.emit({id:e,type:e?"changed":"many-changed"})}describedBy(e,t=N.JSONExt.emptyObject){var r;let n=this._commands.get(e);return Promise.resolve(null!==(r=n?.describedBy.call(void 0,t))&&void 0!==r?r:{args:null})}label(e,t=N.JSONExt.emptyObject){var r;let n=this._commands.get(e);return null!==(r=n?.label.call(void 0,t))&&void 0!==r?r:""}mnemonic(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return r?r.mnemonic.call(void 0,t):-1}icon(e,t=N.JSONExt.emptyObject){var r;return null===(r=this._commands.get(e))||void 0===r?void 0:r.icon.call(void 0,t)}iconClass(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return r?r.iconClass.call(void 0,t):""}iconLabel(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return r?r.iconLabel.call(void 0,t):""}caption(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return r?r.caption.call(void 0,t):""}usage(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return r?r.usage.call(void 0,t):""}className(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return r?r.className.call(void 0,t):""}dataset(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return r?r.dataset.call(void 0,t):{}}isEnabled(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return!!r&&r.isEnabled.call(void 0,t)}isToggled(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return!!r&&r.isToggled.call(void 0,t)}isToggleable(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return!!r&&r.isToggleable}isVisible(e,t=N.JSONExt.emptyObject){let r=this._commands.get(e);return!!r&&r.isVisible.call(void 0,t)}execute(e,t=N.JSONExt.emptyObject){let r,n=this._commands.get(e);if(!n)return Promise.reject(new Error(`Command '${e}' not registered.`));try{r=n.execute.call(void 0,t)}catch(e){r=Promise.reject(e)}let i=Promise.resolve(r);return this._commandExecuted.emit({id:e,args:t,result:i}),i}addKeyBinding(e){let t=G.createKeyBinding(e);return this._keyBindings.push(t),this._keyBindingChanged.emit({binding:t,type:"added"}),new D((()=>{j.ArrayExt.removeFirstOf(this._keyBindings,t),this._keyBindingChanged.emit({binding:t,type:"removed"})}))}processKeydownEvent(t){if(t.defaultPrevented||this._replaying)return;let r=e.keystrokeForKeydownEvent(t);if(!r)return this._replayKeydownEvents(),void this._clearPendingState();if(e.isModifierKeyPressed(t)){let{exact:e}=G.matchKeyBinding(this._keyBindings,[r],t);return void(e?(t.preventDefault(),t.stopPropagation(),this._startModifierTimer(e)):this._clearModifierTimer())}this._keystrokes.push(r);let{exact:n,partial:i}=G.matchKeyBinding(this._keyBindings,this._keystrokes,t),a=0!==i.length;return n||a?((n?.preventDefault||i.some((e=>e.preventDefault)))&&(t.preventDefault(),t.stopPropagation()),this._keydownEvents.push(t),n&&!a?(this._executeKeyBinding(n),void this._clearPendingState()):(n&&(this._exactKeyMatch=n),void this._startTimer())):(this._replayKeydownEvents(),void this._clearPendingState())}holdKeyBindingExecution(e,t){this._holdKeyBindingPromises.set(e,t)}processKeyupEvent(e){this._clearModifierTimer()}_startModifierTimer(e){this._clearModifierTimer(),this._timerModifierID=window.setTimeout((()=>{this._executeKeyBinding(e)}),G.modifierkeyTimeOut)}_clearModifierTimer(){0!==this._timerModifierID&&(clearTimeout(this._timerModifierID),this._timerModifierID=0)}_startTimer(){this._clearTimer(),this._timerID=window.setTimeout((()=>{this._onPendingTimeout()}),G.CHORD_TIMEOUT)}_clearTimer(){0!==this._timerID&&(clearTimeout(this._timerID),this._timerID=0)}_replayKeydownEvents(){0!==this._keydownEvents.length&&(this._replaying=!0,this._keydownEvents.forEach(G.replayKeyEvent),this._replaying=!1)}async _executeKeyBinding(e){if(0!==this._holdKeyBindingPromises.size){let e=[...this._keydownEvents],t=(await Promise.race([Promise.all(e.map((async e=>{var t;return null!==(t=this._holdKeyBindingPromises.get(e))&&void 0!==t?t:Promise.resolve(!0)}))),new Promise((e=>{setTimeout((()=>e([!1])),G.KEYBINDING_HOLD_TIMEOUT)}))])).every(Boolean);if(this._holdKeyBindingPromises.clear(),!t)return}let{command:t,args:r}=e,n={_luminoEvent:{type:"keybinding",keys:e.keys},...r};if(this.hasCommand(t)&&this.isEnabled(t,n))await this.execute(t,n);else{let r=this.hasCommand(t)?"enabled":"registered",n=`Cannot execute key binding '${e.keys.join(", ")}':`,i=`command '${t}' is not ${r}.`;console.warn(`${n} ${i}`)}}_clearPendingState(){this._clearTimer(),this._clearModifierTimer(),this._exactKeyMatch=null,this._keystrokes.length=0,this._keydownEvents.length=0}_onPendingTimeout(){this._timerID=0,this._exactKeyMatch?this._executeKeyBinding(this._exactKeyMatch):this._replayKeydownEvents(),this._clearPendingState()}};!function(e){function t(e){let t="",r=!1,n=!1,i=!1,o=!1;for(let s of e.split(/\s+/))"Accel"===s?a.IS_MAC?n=!0:i=!0:"Alt"===s?r=!0:"Cmd"===s?n=!0:"Ctrl"===s?i=!0:"Shift"===s?o=!0:s.length>0&&(t=s);return{cmd:n,ctrl:i,alt:r,shift:o,key:t}}function r(e){let r="",n=t(e);return n.ctrl&&(r+="Ctrl "),n.alt&&(r+="Alt "),n.shift&&(r+="Shift "),n.cmd&&a.IS_MAC&&(r+="Cmd "),n.key?r+n.key:r.trim()}e.parseKeystroke=t,e.normalizeKeystroke=r,e.normalizeKeys=function(e){let t;return t=a.IS_WIN?e.winKeys||e.keys:a.IS_MAC?e.macKeys||e.keys:e.linuxKeys||e.keys,t.map(r)},e.formatKeystroke=function(e){return"string"==typeof e?r(e):e.map(r).join(", ");function r(e){let r=[],n=a.IS_MAC?" ":"+",i=t(e);return i.ctrl&&r.push("Ctrl"),i.alt&&r.push("Alt"),i.shift&&r.push("Shift"),a.IS_MAC&&i.cmd&&r.push("Cmd"),r.push(i.key),r.map(G.formatKey).join(n)}},e.isModifierKeyPressed=function(e){let t=U(),r=t.keyForKeydownEvent(e);return t.isModifierKey(r)},e.keystrokeForKeydownEvent=function(e){let t=U(),r=t.keyForKeydownEvent(e),n=[];return e.ctrlKey&&n.push("Ctrl"),e.altKey&&n.push("Alt"),e.shiftKey&&n.push("Shift"),e.metaKey&&a.IS_MAC&&n.push("Cmd"),t.isModifierKey(r)||n.push(r),n.join(" ")}}(W||(W={})),function(e){e.CHORD_TIMEOUT=1e3,e.KEYBINDING_HOLD_TIMEOUT=1e3,e.modifierkeyTimeOut=500,e.createCommand=function(e){return{execute:e.execute,describedBy:h("function"==typeof e.describedBy?e.describedBy:{args:null,...e.describedBy},(()=>({args:null}))),label:h(e.label,n),mnemonic:h(e.mnemonic,i),icon:h(e.icon,u),iconClass:h(e.iconClass,n),iconLabel:h(e.iconLabel,n),caption:h(e.caption,n),usage:h(e.usage,n),className:h(e.className,n),dataset:h(e.dataset,c),isEnabled:e.isEnabled||s,isToggled:e.isToggled||l,isToggleable:e.isToggleable||!!e.isToggled,isVisible:e.isVisible||s}},e.createKeyBinding=function(e){var t;return{keys:W.normalizeKeys(e),selector:f(e),command:e.command,args:e.args||N.JSONExt.emptyObject,preventDefault:null===(t=e.preventDefault)||void 0===t||t}},e.matchKeyBinding=function(e,t,r){let n=null,i=[],a=1/0,s=0;for(let l=0,c=e.length;la)continue;let f=o.calculateSpecificity(c.selector);(!n||h=s)&&(n=c,a=h,s=f)}return{exact:n,partial:i}},e.replayKeyEvent=function(e){e.target.dispatchEvent(function(e){let t=document.createEvent("Event"),r=e.bubbles||!0,n=e.cancelable||!0;return t.initEvent(e.type||"keydown",r,n),t.key=e.key||"",t.keyCode=e.keyCode||0,t.which=e.keyCode||0,t.ctrlKey=e.ctrlKey||!1,t.altKey=e.altKey||!1,t.shiftKey=e.shiftKey||!1,t.metaKey=e.metaKey||!1,t.view=e.view||window,t}(e))},e.formatKey=function(e){return a.IS_MAC?t.hasOwnProperty(e)?t[e]:e:r.hasOwnProperty(e)?r[e]:e};let t={Backspace:"⌫",Tab:"⇥",Enter:"⏎",Shift:"⇧",Ctrl:"⌃",Alt:"⌥",Escape:"⎋",PageUp:"⇞",PageDown:"⇟",End:"↘",Home:"↖",ArrowLeft:"←",ArrowUp:"↑",ArrowRight:"→",ArrowDown:"↓",Delete:"⌦",Cmd:"⌘"},r={Escape:"Esc",PageUp:"Page Up",PageDown:"Page Down",ArrowLeft:"Left",ArrowUp:"Up",ArrowRight:"Right",ArrowDown:"Down",Delete:"Del"},n=()=>"",i=()=>-1,s=()=>!0,l=()=>!1,c=()=>({}),u=()=>{};function h(e,t){return void 0===e?t:"function"==typeof e?e:()=>e}function f(e){if(-1!==e.selector.indexOf(","))throw new Error(`Selector cannot contain commas: ${e.selector}`);if(!o.isValid(e.selector))throw new Error(`Invalid selector: ${e.selector}`);return e.selector}function p(e,t){if(e.lengtht.length?2:1}function d(e,t){let r=t.target,n=t.currentTarget;for(let t=0;null!==r;r=r.parentElement,++t){if(r.hasAttribute("data-lm-suppress-shortcuts"))return-1;if(o.matches(r,e))return t;if(r===n)return-1}return-1}}(G||(G={}));var Z,Y,X=y(v()),$=class{constructor(e){this.type="text",this.content=e}},K=class{constructor(e,t,r,n){this.type="element",this.tag=e,this.attrs=t,this.children=r,this.renderer=n}};function J(e){let t,r={},n=[];for(let e=1,a=arguments.length;e=n;--a){let n=t[a],o=i?e.lastChild:e.childNodes[a];"text"===n.type||(n.renderer&&n.renderer.unrender?n.renderer.unrender(o,{attrs:n.attrs,children:n.children}):r(o,n.children,0,!1)),i&&e.removeChild(o)}}e.hostMap=new WeakMap,e.asContentArray=function(e){return e?e instanceof Array?e:[e]:[]},e.createDOMNode=t,e.updateContent=function e(n,a,o){if(a===o)return;let s=function(e,t){let r=e.firstChild,n=Object.create(null);for(let e of t)"element"===e.type&&e.attrs.key&&(n[e.attrs.key]={vNode:e,element:r}),r=r.nextSibling;return n}(n,a),l=a.slice(),c=n.firstChild,u=o.length;for(let r=0;r=l.length){t(o[r],n);continue}let a=l[r],u=o[r];if(a===u){c=c.nextSibling;continue}if("text"===a.type&&"text"===u.type){c.textContent!==u.content&&(c.textContent=u.content),c=c.nextSibling;continue}if("text"===a.type||"text"===u.type){X.ArrayExt.insert(l,r,u),t(u,n,c);continue}if(!a.renderer!=!u.renderer){X.ArrayExt.insert(l,r,u),t(u,n,c);continue}let h=u.attrs.key;if(h&&h in s){let e=s[h];e.vNode!==a&&(X.ArrayExt.move(l,l.indexOf(e.vNode,r+1),r),n.insertBefore(e.element,c),a=e.vNode,c=e.element)}if(a===u){c=c.nextSibling;continue}let f=a.attrs.key;f&&f!==h?(X.ArrayExt.insert(l,r,u),t(u,n,c)):a.tag===u.tag?(i(c,a.attrs,u.attrs),u.renderer?u.renderer.render(c,{attrs:u.attrs,children:u.children}):e(c,a.children,u.children),c=c.nextSibling):(X.ArrayExt.insert(l,r,u),t(u,n,c))}r(n,l,u,!0)};let n={key:!0,className:!0,htmlFor:!0,dataset:!0,style:!0};function i(e,t,r){if(t===r)return;let i;for(i in t)i in n||i in r||("on"===i.substr(0,2)?e[i]=null:e.removeAttribute(i));for(i in r)i in n||t[i]===r[i]||("on"===i.substr(0,2)?e[i]=r[i]:e.setAttribute(i,r[i]));t.className!==r.className&&(void 0!==r.className?e.setAttribute("class",r.className):e.removeAttribute("class")),t.htmlFor!==r.htmlFor&&(void 0!==r.htmlFor?e.setAttribute("for",r.htmlFor):e.removeAttribute("for")),t.dataset!==r.dataset&&function(e,t,r){for(let n in t)n in r||e.removeAttribute(`data-${n}`);for(let n in r)t[n]!==r[n]&&e.setAttribute(`data-${n}`,r[n])}(e,t.dataset||{},r.dataset||{}),t.style!==r.style&&function(e,t,r){let n,i=e.style;for(n in t)n in r||(i[n]="");for(n in r)t[n]!==r[n]&&(i[n]=r[n])}(e,t.style||{},r.style||{})}}(Y||(Y={}));var Q,ee=class{constructor(){this.sizeHint=0,this.minSize=0,this.maxSize=1/0,this.stretch=1,this.size=0,this.done=!1}};!function(e){e.calc=function(e,t){let r=e.length;if(0===r)return t;let n=0,i=0,a=0,o=0,s=0;for(let t=0;t0&&(o+=r.stretch,s++)}if(t===a)return 0;if(t<=n){for(let t=0;t=i){for(let t=0;t0&&n>l;){let t=n,i=o;for(let a=0;a0&&n>l;){let t=n/c;for(let i=0;i0&&n>l;){let t=n,i=o;for(let a=0;a=r.maxSize?(n-=r.maxSize-r.size,o-=r.stretch,r.size=r.maxSize,r.done=!0,c--,s--):(n-=l,r.size+=l)}}for(;c>0&&n>l;){let t=n/c;for(let i=0;i=r.maxSize?(n-=r.maxSize-r.size,r.size=r.maxSize,r.done=!0,c--):(n-=t,r.size+=t))}}}return 0},e.adjust=function(e,t,r){0===e.length||0===r||(r>0?function(e,t,r){let n=0;for(let r=0;r<=t;++r){let t=e[r];n+=t.maxSize-t.size}let i=0;for(let r=t+1,n=e.length;r=0&&a>0;--r){let t=e[r],n=t.maxSize-t.size;n>=a?(t.sizeHint=t.size+a,a=0):(t.sizeHint=t.size+n,a-=n)}let o=r;for(let r=t+1,n=e.length;r0;++r){let t=e[r],n=t.size-t.minSize;n>=o?(t.sizeHint=t.size-o,o=0):(t.sizeHint=t.size-n,o-=n)}}(e,t,r):function(e,t,r){let n=0;for(let r=t+1,i=e.length;r0;++r){let t=e[r],n=t.maxSize-t.size;n>=a?(t.sizeHint=t.size+a,a=0):(t.sizeHint=t.size+n,a-=n)}let o=r;for(let r=t;r>=0&&o>0;--r){let t=e[r],n=t.size-t.minSize;n>=o?(t.sizeHint=t.size-o,o=0):(t.sizeHint=t.size-n,o-=n)}}(e,t,-r))}}(Q||(Q={}));var te,re=class{constructor(e){this._label="",this._caption="",this._mnemonic=-1,this._icon=void 0,this._iconClass="",this._iconLabel="",this._className="",this._closable=!1,this._changed=new z(this),this._isDisposed=!1,this.owner=e.owner,void 0!==e.label&&(this._label=e.label),void 0!==e.mnemonic&&(this._mnemonic=e.mnemonic),void 0!==e.icon&&(this._icon=e.icon),void 0!==e.iconClass&&(this._iconClass=e.iconClass),void 0!==e.iconLabel&&(this._iconLabel=e.iconLabel),void 0!==e.caption&&(this._caption=e.caption),void 0!==e.className&&(this._className=e.className),void 0!==e.closable&&(this._closable=e.closable),this._dataset=e.dataset||{}}get changed(){return this._changed}get label(){return this._label}set label(e){this._label!==e&&(this._label=e,this._changed.emit(void 0))}get mnemonic(){return this._mnemonic}set mnemonic(e){this._mnemonic!==e&&(this._mnemonic=e,this._changed.emit(void 0))}get icon(){return this._icon}set icon(e){this._icon!==e&&(this._icon=e,this._changed.emit(void 0))}get iconClass(){return this._iconClass}set iconClass(e){this._iconClass!==e&&(this._iconClass=e,this._changed.emit(void 0))}get iconLabel(){return this._iconLabel}set iconLabel(e){this._iconLabel!==e&&(this._iconLabel=e,this._changed.emit(void 0))}get caption(){return this._caption}set caption(e){this._caption!==e&&(this._caption=e,this._changed.emit(void 0))}get className(){return this._className}set className(e){this._className!==e&&(this._className=e,this._changed.emit(void 0))}get closable(){return this._closable}set closable(e){this._closable!==e&&(this._closable=e,this._changed.emit(void 0))}get dataset(){return this._dataset}set dataset(e){this._dataset!==e&&(this._dataset=e,this._changed.emit(void 0))}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,z.clearData(this))}},ne=class e{constructor(t={}){this._flags=0,this._layout=null,this._parent=null,this._disposed=new z(this),this._hiddenMode=e.HiddenMode.Display,this.node=te.createNode(t),this.addClass("lm-Widget")}dispose(){this.isDisposed||(this.setFlag(e.Flag.IsDisposed),this._disposed.emit(void 0),this.parent?this.parent=null:this.isAttached&&e.detach(this),this._layout&&(this._layout.dispose(),this._layout=null),this.title.dispose(),z.clearData(this),M.clearData(this),I.clearData(this))}get disposed(){return this._disposed}get isDisposed(){return this.testFlag(e.Flag.IsDisposed)}get isAttached(){return this.testFlag(e.Flag.IsAttached)}get isHidden(){return this.testFlag(e.Flag.IsHidden)}get isVisible(){return this.testFlag(e.Flag.IsVisible)}get title(){return te.titleProperty.get(this)}get id(){return this.node.id}set id(e){this.node.id=e}get dataset(){return this.node.dataset}get hiddenMode(){return this._hiddenMode}set hiddenMode(t){this._hiddenMode!==t&&(this.isHidden&&this._toggleHidden(!1),t==e.HiddenMode.Scale?this.node.style.willChange="transform":this.node.style.willChange="auto",this._hiddenMode=t,this.isHidden&&this._toggleHidden(!0))}get parent(){return this._parent}set parent(t){if(this._parent!==t){if(t&&this.contains(t))throw new Error("Invalid parent widget.");if(this._parent&&!this._parent.isDisposed){let t=new e.ChildMessage("child-removed",this);M.sendMessage(this._parent,t)}if(this._parent=t,this._parent&&!this._parent.isDisposed){let t=new e.ChildMessage("child-added",this);M.sendMessage(this._parent,t)}this.isDisposed||M.sendMessage(this,e.Msg.ParentChanged)}}get layout(){return this._layout}set layout(t){if(this._layout!==t){if(this.testFlag(e.Flag.DisallowLayout))throw new Error("Cannot set widget layout.");if(this._layout)throw new Error("Cannot change widget layout.");if(t.parent)throw new Error("Cannot change layout parent.");this._layout=t,t.parent=this}}*children(){this._layout&&(yield*this._layout)}contains(e){for(let t=e;t;t=t._parent)if(t===this)return!0;return!1}hasClass(e){return this.node.classList.contains(e)}addClass(e){this.node.classList.add(e)}removeClass(e){this.node.classList.remove(e)}toggleClass(e,t){return!0===t?(this.node.classList.add(e),!0):!1===t?(this.node.classList.remove(e),!1):this.node.classList.toggle(e)}update(){M.postMessage(this,e.Msg.UpdateRequest)}fit(){M.postMessage(this,e.Msg.FitRequest)}activate(){M.postMessage(this,e.Msg.ActivateRequest)}close(){M.sendMessage(this,e.Msg.CloseRequest)}show(){if(this.testFlag(e.Flag.IsHidden)&&(this.isAttached&&(!this.parent||this.parent.isVisible)&&M.sendMessage(this,e.Msg.BeforeShow),this.clearFlag(e.Flag.IsHidden),this._toggleHidden(!1),this.isAttached&&(!this.parent||this.parent.isVisible)&&M.sendMessage(this,e.Msg.AfterShow),this.parent)){let t=new e.ChildMessage("child-shown",this);M.sendMessage(this.parent,t)}}hide(){if(!this.testFlag(e.Flag.IsHidden)&&(this.isAttached&&(!this.parent||this.parent.isVisible)&&M.sendMessage(this,e.Msg.BeforeHide),this.setFlag(e.Flag.IsHidden),this._toggleHidden(!0),this.isAttached&&(!this.parent||this.parent.isVisible)&&M.sendMessage(this,e.Msg.AfterHide),this.parent)){let t=new e.ChildMessage("child-hidden",this);M.sendMessage(this.parent,t)}}setHidden(e){e?this.hide():this.show()}testFlag(e){return!!(this._flags&e)}setFlag(e){this._flags|=e}clearFlag(e){this._flags&=~e}processMessage(t){switch(t.type){case"resize":this.notifyLayout(t),this.onResize(t);break;case"update-request":this.notifyLayout(t),this.onUpdateRequest(t);break;case"fit-request":this.notifyLayout(t),this.onFitRequest(t);break;case"before-show":this.notifyLayout(t),this.onBeforeShow(t);break;case"after-show":this.setFlag(e.Flag.IsVisible),this.notifyLayout(t),this.onAfterShow(t);break;case"before-hide":this.notifyLayout(t),this.onBeforeHide(t);break;case"after-hide":this.clearFlag(e.Flag.IsVisible),this.notifyLayout(t),this.onAfterHide(t);break;case"before-attach":this.notifyLayout(t),this.onBeforeAttach(t);break;case"after-attach":!this.isHidden&&(!this.parent||this.parent.isVisible)&&this.setFlag(e.Flag.IsVisible),this.setFlag(e.Flag.IsAttached),this.notifyLayout(t),this.onAfterAttach(t);break;case"before-detach":this.notifyLayout(t),this.onBeforeDetach(t);break;case"after-detach":this.clearFlag(e.Flag.IsVisible),this.clearFlag(e.Flag.IsAttached),this.notifyLayout(t),this.onAfterDetach(t);break;case"activate-request":this.notifyLayout(t),this.onActivateRequest(t);break;case"close-request":this.notifyLayout(t),this.onCloseRequest(t);break;case"child-added":this.notifyLayout(t),this.onChildAdded(t);break;case"child-removed":this.notifyLayout(t),this.onChildRemoved(t);break;default:this.notifyLayout(t)}}notifyLayout(e){this._layout&&this._layout.processParentMessage(e)}onCloseRequest(t){this.parent?this.parent=null:this.isAttached&&e.detach(this)}onResize(e){}onUpdateRequest(e){}onFitRequest(e){}onActivateRequest(e){}onBeforeShow(e){}onAfterShow(e){}onBeforeHide(e){}onAfterHide(e){}onBeforeAttach(e){}onAfterAttach(e){}onBeforeDetach(e){}onAfterDetach(e){}onChildAdded(e){}onChildRemoved(e){}_toggleHidden(t){if(t)switch(this._hiddenMode){case e.HiddenMode.Display:this.addClass("lm-mod-hidden");break;case e.HiddenMode.Scale:this.node.style.transform="scale(0)",this.node.setAttribute("aria-hidden","true");break;case e.HiddenMode.ContentVisibility:this.node.style.contentVisibility="hidden",this.node.style.zIndex="-1"}else switch(this._hiddenMode){case e.HiddenMode.Display:this.removeClass("lm-mod-hidden");break;case e.HiddenMode.Scale:this.node.style.transform="",this.node.removeAttribute("aria-hidden");break;case e.HiddenMode.ContentVisibility:this.node.style.contentVisibility="",this.node.style.zIndex=""}}};!function(e){var t;(t=e.HiddenMode||(e.HiddenMode={}))[t.Display=0]="Display",t[t.Scale=1]="Scale",t[t.ContentVisibility=2]="ContentVisibility",function(e){e[e.IsDisposed=1]="IsDisposed",e[e.IsAttached=2]="IsAttached",e[e.IsHidden=4]="IsHidden",e[e.IsVisible=8]="IsVisible",e[e.DisallowLayout=16]="DisallowLayout"}(e.Flag||(e.Flag={})),function(e){e.BeforeShow=new S("before-show"),e.AfterShow=new S("after-show"),e.BeforeHide=new S("before-hide"),e.AfterHide=new S("after-hide"),e.BeforeAttach=new S("before-attach"),e.AfterAttach=new S("after-attach"),e.BeforeDetach=new S("before-detach"),e.AfterDetach=new S("after-detach"),e.ParentChanged=new S("parent-changed"),e.UpdateRequest=new E("update-request"),e.FitRequest=new E("fit-request"),e.ActivateRequest=new E("activate-request"),e.CloseRequest=new E("close-request")}(e.Msg||(e.Msg={})),e.ChildMessage=class extends S{constructor(e,t){super(e),this.child=t}};class r extends S{constructor(e,t){super("resize"),this.width=e,this.height=t}}e.ResizeMessage=r,function(e){e.UnknownSize=new e(-1,-1)}(r=e.ResizeMessage||(e.ResizeMessage={})),e.attach=function(t,r,n=null){if(t.parent)throw new Error("Cannot attach a child widget.");if(t.isAttached||t.node.isConnected)throw new Error("Widget is already attached.");if(!r.isConnected)throw new Error("Host is not attached.");M.sendMessage(t,e.Msg.BeforeAttach),r.insertBefore(t.node,n),M.sendMessage(t,e.Msg.AfterAttach)},e.detach=function(t){if(t.parent)throw new Error("Cannot detach a child widget.");if(!t.isAttached||!t.node.isConnected)throw new Error("Widget is not attached.");M.sendMessage(t,e.Msg.BeforeDetach),t.node.parentNode.removeChild(t.node),M.sendMessage(t,e.Msg.AfterDetach)}}(ne||(ne={})),function(e){e.titleProperty=new I({name:"title",create:e=>new re({owner:e})}),e.createNode=function(e){return e.node||document.createElement(e.tag||"div")}}(te||(te={}));var ie=class{constructor(e={}){this._disposed=!1,this._parent=null,this._fitPolicy=e.fitPolicy||"set-min-size"}dispose(){this._parent=null,this._disposed=!0,z.clearData(this),I.clearData(this)}get isDisposed(){return this._disposed}get parent(){return this._parent}set parent(e){if(this._parent!==e){if(this._parent)throw new Error("Cannot change parent widget.");if(e.layout!==this)throw new Error("Invalid parent widget.");this._parent=e,this.init()}}get fitPolicy(){return this._fitPolicy}set fitPolicy(e){if(this._fitPolicy!==e&&(this._fitPolicy=e,this._parent)){let e=this._parent.node.style;e.minWidth="",e.minHeight="",e.maxWidth="",e.maxHeight="",this._parent.fit()}}processParentMessage(e){switch(e.type){case"resize":this.onResize(e);break;case"update-request":this.onUpdateRequest(e);break;case"fit-request":this.onFitRequest(e);break;case"before-show":this.onBeforeShow(e);break;case"after-show":this.onAfterShow(e);break;case"before-hide":this.onBeforeHide(e);break;case"after-hide":this.onAfterHide(e);break;case"before-attach":this.onBeforeAttach(e);break;case"after-attach":this.onAfterAttach(e);break;case"before-detach":this.onBeforeDetach(e);break;case"after-detach":this.onAfterDetach(e);break;case"child-removed":this.onChildRemoved(e);break;case"child-shown":this.onChildShown(e);break;case"child-hidden":this.onChildHidden(e)}}init(){for(let e of this)e.parent=this.parent}onResize(e){for(let e of this)M.sendMessage(e,ne.ResizeMessage.UnknownSize)}onUpdateRequest(e){for(let e of this)M.sendMessage(e,ne.ResizeMessage.UnknownSize)}onBeforeAttach(e){for(let t of this)M.sendMessage(t,e)}onAfterAttach(e){for(let t of this)M.sendMessage(t,e)}onBeforeDetach(e){for(let t of this)M.sendMessage(t,e)}onAfterDetach(e){for(let t of this)M.sendMessage(t,e)}onBeforeShow(e){for(let t of this)t.isHidden||M.sendMessage(t,e)}onAfterShow(e){for(let t of this)t.isHidden||M.sendMessage(t,e)}onBeforeHide(e){for(let t of this)t.isHidden||M.sendMessage(t,e)}onAfterHide(e){for(let t of this)t.isHidden||M.sendMessage(t,e)}onChildRemoved(e){this.removeWidget(e.child)}onFitRequest(e){}onChildShown(e){}onChildHidden(e){}};!function(e){e.getHorizontalAlignment=function(e){return ae.horizontalAlignmentProperty.get(e)},e.setHorizontalAlignment=function(e,t){ae.horizontalAlignmentProperty.set(e,t)},e.getVerticalAlignment=function(e){return ae.verticalAlignmentProperty.get(e)},e.setVerticalAlignment=function(e,t){ae.verticalAlignmentProperty.set(e,t)}}(ie||(ie={}));var ae,oe=class{constructor(e){this._top=NaN,this._left=NaN,this._width=NaN,this._height=NaN,this._minWidth=0,this._minHeight=0,this._maxWidth=1/0,this._maxHeight=1/0,this._disposed=!1,this.widget=e,this.widget.node.style.position="absolute",this.widget.node.style.contain="strict"}dispose(){if(this._disposed)return;this._disposed=!0;let e=this.widget.node.style;e.position="",e.top="",e.left="",e.width="",e.height="",e.contain=""}get minWidth(){return this._minWidth}get minHeight(){return this._minHeight}get maxWidth(){return this._maxWidth}get maxHeight(){return this._maxHeight}get isDisposed(){return this._disposed}get isHidden(){return this.widget.isHidden}get isVisible(){return this.widget.isVisible}get isAttached(){return this.widget.isAttached}fit(){let e=i.sizeLimits(this.widget.node);this._minWidth=e.minWidth,this._minHeight=e.minHeight,this._maxWidth=e.maxWidth,this._maxHeight=e.maxHeight}update(e,t,r,n){let i=Math.max(this._minWidth,Math.min(r,this._maxWidth)),a=Math.max(this._minHeight,Math.min(n,this._maxHeight));if(i"center",changed:t}),e.verticalAlignmentProperty=new I({name:"verticalAlignment",create:()=>"top",changed:t})}(ae||(ae={}));var se,le=class extends ie{constructor(){super(...arguments),this._widgets=[]}dispose(){for(;this._widgets.length>0;)this._widgets.pop().dispose();super.dispose()}get widgets(){return this._widgets}*[Symbol.iterator](){yield*this._widgets}addWidget(e){this.insertWidget(this._widgets.length,e)}insertWidget(e,t){t.parent=this.parent;let r=this._widgets.indexOf(t),n=Math.max(0,Math.min(e,this._widgets.length));if(-1===r)return b.ArrayExt.insert(this._widgets,n,t),void(this.parent&&this.attachWidget(n,t));n===this._widgets.length&&n--,r!==n&&(b.ArrayExt.move(this._widgets,r,n),this.parent&&this.moveWidget(r,n,t))}removeWidget(e){this.removeWidgetAt(this._widgets.indexOf(e))}removeWidgetAt(e){let t=b.ArrayExt.removeAt(this._widgets,e);t&&this.parent&&this.detachWidget(e,t)}init(){super.init();let e=0;for(let t of this)this.attachWidget(e++,t)}attachWidget(e,t){let r=this.parent.node.children[e];this.parent.isAttached&&M.sendMessage(t,ne.Msg.BeforeAttach),this.parent.node.insertBefore(t.node,r),this.parent.isAttached&&M.sendMessage(t,ne.Msg.AfterAttach)}moveWidget(e,t,r){this.parent.isAttached&&M.sendMessage(r,ne.Msg.BeforeDetach),this.parent.node.removeChild(r.node),this.parent.isAttached&&M.sendMessage(r,ne.Msg.AfterDetach);let n=this.parent.node.children[t];this.parent.isAttached&&M.sendMessage(r,ne.Msg.BeforeAttach),this.parent.node.insertBefore(r.node,n),this.parent.isAttached&&M.sendMessage(r,ne.Msg.AfterAttach)}detachWidget(e,t){this.parent.isAttached&&M.sendMessage(t,ne.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.isAttached&&M.sendMessage(t,ne.Msg.AfterDetach)}};!function(e){e.clampDimension=function(e){return Math.max(0,Math.floor(e))}}(se||(se={}));var ce,ue=se,he=class e extends le{constructor(e){super(),this.widgetOffset=0,this._fixed=0,this._spacing=4,this._dirty=!1,this._hasNormedSizes=!1,this._sizers=[],this._items=[],this._handles=[],this._box=null,this._alignment="start",this._orientation="horizontal",this.renderer=e.renderer,void 0!==e.orientation&&(this._orientation=e.orientation),void 0!==e.alignment&&(this._alignment=e.alignment),void 0!==e.spacing&&(this._spacing=se.clampDimension(e.spacing))}dispose(){for(let e of this._items)e.dispose();this._box=null,this._items.length=0,this._sizers.length=0,this._handles.length=0,super.dispose()}get orientation(){return this._orientation}set orientation(e){this._orientation!==e&&(this._orientation=e,this.parent&&(this.parent.dataset.orientation=e,this.parent.fit()))}get alignment(){return this._alignment}set alignment(e){this._alignment!==e&&(this._alignment=e,this.parent&&(this.parent.dataset.alignment=e,this.parent.update()))}get spacing(){return this._spacing}set spacing(e){e=se.clampDimension(e),this._spacing!==e&&(this._spacing=e,this.parent&&this.parent.fit())}get handles(){return this._handles}absoluteSizes(){return this._sizers.map((e=>e.size))}relativeSizes(){return ce.normalize(this._sizers.map((e=>e.size)))}setRelativeSizes(e,t=!0){let r=this._sizers.length,n=e.slice(0,r);for(;n.length0&&(e.sizeHint=e.size);Q.adjust(this._sizers,e,r),this.parent&&this.parent.update()}}init(){this.parent.dataset.orientation=this.orientation,this.parent.dataset.alignment=this.alignment,super.init()}attachWidget(e,t){let r=new oe(t),n=ce.createHandle(this.renderer),i=ce.averageSize(this._sizers),a=ce.createSizer(i);b.ArrayExt.insert(this._items,e,r),b.ArrayExt.insert(this._sizers,e,a),b.ArrayExt.insert(this._handles,e,n),this.parent.isAttached&&M.sendMessage(t,ne.Msg.BeforeAttach),this.parent.node.appendChild(t.node),this.parent.node.appendChild(n),this.parent.isAttached&&M.sendMessage(t,ne.Msg.AfterAttach),this.parent.fit()}moveWidget(e,t,r){b.ArrayExt.move(this._items,e,t),b.ArrayExt.move(this._sizers,e,t),b.ArrayExt.move(this._handles,e,t),this.parent.fit()}detachWidget(e,t){let r=b.ArrayExt.removeAt(this._items,e),n=b.ArrayExt.removeAt(this._handles,e);b.ArrayExt.removeAt(this._sizers,e),this.parent.isAttached&&M.sendMessage(t,ne.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.node.removeChild(n),this.parent.isAttached&&M.sendMessage(t,ne.Msg.AfterDetach),r.dispose(),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}updateItemPosition(e,t,r,n,i,a,o){let s=this._items[e];if(s.isHidden)return;let l=this._handles[e].style;t?(r+=this.widgetOffset,s.update(r,n,o,i),r+=o,l.top=`${n}px`,l.left=`${r}px`,l.width=`${this._spacing}px`,l.height=`${i}px`):(n+=this.widgetOffset,s.update(r,n,a,o),n+=o,l.top=`${n}px`,l.left=`${r}px`,l.width=`${a}px`,l.height=`${this._spacing}px`)}_fit(){let t=0,r=-1;for(let e=0,n=this._items.length;e0&&(i.sizeHint=i.size),r.isHidden?(i.minSize=0,i.maxSize=0):(r.fit(),i.stretch=e.getStretch(r.widget),n?(i.minSize=r.minWidth,i.maxSize=r.maxWidth,a+=r.minWidth,o=Math.max(o,r.minHeight)):(i.minSize=r.minHeight,i.maxSize=r.maxHeight,o+=r.minHeight,a=Math.max(a,r.minWidth)))}let s=this._box=i.boxSizing(this.parent.node);a+=s.horizontalSum,o+=s.verticalSum;let l=this.parent.node.style;l.minWidth=`${a}px`,l.minHeight=`${o}px`,this._dirty=!0,this.parent.parent&&M.sendMessage(this.parent.parent,ne.Msg.FitRequest),this._dirty&&M.sendMessage(this.parent,ne.Msg.UpdateRequest)}_update(e,t){this._dirty=!1;let r=0;for(let e=0,t=this._items.length;e0){let e;if(e=u?Math.max(0,o-this._fixed):Math.max(0,s-this._fixed),this._hasNormedSizes){for(let t of this._sizers)t.sizeHint*=e;this._hasNormedSizes=!1}let t=Q.calc(this._sizers,e);if(t>0)switch(this._alignment){case"start":break;case"center":l=0,c=t/2;break;case"end":l=0,c=t;break;case"justify":l=t/r,c=0;break;default:throw"unreachable"}}for(let e=0,t=this._items.length;e0,coerce:(e,t)=>Math.max(0,Math.floor(t)),changed:function(e){e.parent&&e.parent.layout instanceof he&&e.parent.fit()}}),e.createSizer=function(e){let t=new ee;return t.sizeHint=Math.floor(e),t},e.createHandle=function(e){let t=e.createHandle();return t.style.position="absolute",t.style.contain="style",t},e.averageSize=function(e){return e.reduce(((e,t)=>e+t.size),0)/e.length||0},e.normalize=function(e){let t=e.length;if(0===t)return[];let r=e.reduce(((e,t)=>e+Math.abs(t)),0);return 0===r?e.map((e=>1/t)):e.map((e=>e/r))}}(ce||(ce={}));var fe,pe=class extends he{constructor(e){super({...e,orientation:e.orientation||"vertical"}),this._titles=[],this.titleSpace=e.titleSpace||22}get titleSpace(){return this.widgetOffset}set titleSpace(e){e=ue.clampDimension(e),this.widgetOffset!==e&&(this.widgetOffset=e,this.parent&&this.parent.fit())}get titles(){return this._titles}dispose(){this.isDisposed||(this._titles.length=0,super.dispose())}updateTitle(e,t){let r=this._titles[e],n=r.classList.contains("lm-mod-expanded"),i=fe.createTitle(this.renderer,t.title,n);this._titles[e]=i,this.parent.node.replaceChild(i,r)}insertWidget(e,t){t.id||(t.id=`id-${w.UUID.uuid4()}`),super.insertWidget(e,t)}attachWidget(e,t){let r=fe.createTitle(this.renderer,t.title);b.ArrayExt.insert(this._titles,e,r),this.parent.node.appendChild(r),t.node.setAttribute("role","region"),t.node.setAttribute("aria-labelledby",r.id),super.attachWidget(e,t)}moveWidget(e,t,r){b.ArrayExt.move(this._titles,e,t),super.moveWidget(e,t,r)}detachWidget(e,t){let r=b.ArrayExt.removeAt(this._titles,e);this.parent.node.removeChild(r),super.detachWidget(e,t)}updateItemPosition(e,t,r,n,i,a,o){let s=this._titles[e].style;s.top=`${n}px`,s.left=`${r}px`,s.height=`${this.widgetOffset}px`,s.width=t?`${i}px`:`${a}px`,super.updateItemPosition(e,t,r,n,i,a,o)}};!function(e){e.createTitle=function(e,t,r=!0){let n=e.createSectionTitle(t);return n.style.position="absolute",n.style.contain="strict",n.setAttribute("aria-label",`${t.label} Section`),n.setAttribute("aria-expanded",r?"true":"false"),n.setAttribute("aria-controls",t.owner.id),r&&n.classList.add("lm-mod-expanded"),n}}(fe||(fe={}));var de,me=class extends ne{constructor(e={}){super(),this.addClass("lm-Panel"),this.layout=de.createLayout(e)}get widgets(){return this.layout.widgets}addWidget(e){this.layout.addWidget(e)}insertWidget(e,t){this.layout.insertWidget(e,t)}};!function(e){e.createLayout=function(e){return e.layout||new le}}(de||(de={}));var ge,ye=class extends me{constructor(e={}){super({layout:ge.createLayout(e)}),this._handleMoved=new z(this),this._pressData=null,this.addClass("lm-SplitPanel")}dispose(){this._releaseMouse(),super.dispose()}get orientation(){return this.layout.orientation}set orientation(e){this.layout.orientation=e}get alignment(){return this.layout.alignment}set alignment(e){this.layout.alignment=e}get spacing(){return this.layout.spacing}set spacing(e){this.layout.spacing=e}get renderer(){return this.layout.renderer}get handleMoved(){return this._handleMoved}get handles(){return this.layout.handles}relativeSizes(){return this.layout.relativeSizes()}setRelativeSizes(e,t=!0){this.layout.setRelativeSizes(e,t)}handleEvent(e){switch(e.type){case"pointerdown":this._evtPointerDown(e);break;case"pointermove":this._evtPointerMove(e);break;case"pointerup":this._evtPointerUp(e);break;case"keydown":this._evtKeyDown(e);break;case"contextmenu":e.preventDefault(),e.stopPropagation()}}onBeforeAttach(e){this.node.addEventListener("pointerdown",this)}onAfterDetach(e){this.node.removeEventListener("pointerdown",this),this._releaseMouse()}onChildAdded(e){e.child.addClass("lm-SplitPanel-child"),this._releaseMouse()}onChildRemoved(e){e.child.removeClass("lm-SplitPanel-child"),this._releaseMouse()}_evtKeyDown(e){this._pressData&&(e.preventDefault(),e.stopPropagation()),27===e.keyCode&&this._releaseMouse()}_evtPointerDown(e){if(0!==e.button)return;let t=this.layout,r=b.ArrayExt.findFirstIndex(t.handles,(t=>t.contains(e.target)));if(-1===r)return;e.preventDefault(),e.stopPropagation(),document.addEventListener("pointerup",this,!0),document.addEventListener("pointermove",this,!0),document.addEventListener("keydown",this,!0),document.addEventListener("contextmenu",this,!0);let n,i=t.handles[r],a=i.getBoundingClientRect();n="horizontal"===t.orientation?e.clientX-a.left:e.clientY-a.top;let o=window.getComputedStyle(i),s=B.overrideCursor(o.cursor);this._pressData={index:r,delta:n,override:s}}_evtPointerMove(e){e.preventDefault(),e.stopPropagation();let t,r=this.layout,n=this.node.getBoundingClientRect();t="horizontal"===r.orientation?e.clientX-n.left-this._pressData.delta:e.clientY-n.top-this._pressData.delta,r.moveHandle(this._pressData.index,t)}_evtPointerUp(e){0===e.button&&(e.preventDefault(),e.stopPropagation(),this._releaseMouse())}_releaseMouse(){this._pressData&&(this._pressData.override.dispose(),this._pressData=null,this._handleMoved.emit(),document.removeEventListener("keydown",this,!0),document.removeEventListener("pointerup",this,!0),document.removeEventListener("pointermove",this,!0),document.removeEventListener("contextmenu",this,!0))}};!function(e){class t{createHandle(){let e=document.createElement("div");return e.className="lm-SplitPanel-handle",e}}e.Renderer=t,e.defaultRenderer=new t,e.getStretch=function(e){return he.getStretch(e)},e.setStretch=function(e,t){he.setStretch(e,t)}}(ye||(ye={})),function(e){e.createLayout=function(e){return e.layout||new he({renderer:e.renderer||ye.defaultRenderer,orientation:e.orientation,alignment:e.alignment,spacing:e.spacing})}}(ge||(ge={}));var ve,xe=class extends ye{constructor(e={}){super({...e,layout:ve.createLayout(e)}),this._widgetSizesCache=new WeakMap,this._expansionToggled=new z(this),this.addClass("lm-AccordionPanel")}get renderer(){return this.layout.renderer}get titleSpace(){return this.layout.titleSpace}set titleSpace(e){this.layout.titleSpace=e}get titles(){return this.layout.titles}get expansionToggled(){return this._expansionToggled}addWidget(e){super.addWidget(e),e.title.changed.connect(this._onTitleChanged,this)}collapse(e){let t=this.layout.widgets[e];t&&!t.isHidden&&this._toggleExpansion(e)}expand(e){let t=this.layout.widgets[e];t&&t.isHidden&&this._toggleExpansion(e)}insertWidget(e,t){super.insertWidget(e,t),t.title.changed.connect(this._onTitleChanged,this)}handleEvent(e){switch(super.handleEvent(e),e.type){case"click":this._evtClick(e);break;case"keydown":this._eventKeyDown(e)}}onBeforeAttach(e){this.node.addEventListener("click",this),this.node.addEventListener("keydown",this),super.onBeforeAttach(e)}onAfterDetach(e){super.onAfterDetach(e),this.node.removeEventListener("click",this),this.node.removeEventListener("keydown",this)}_onTitleChanged(e){let t=b.ArrayExt.findFirstIndex(this.widgets,(t=>t.contains(e.owner)));t>=0&&(this.layout.updateTitle(t,e.owner),this.update())}_computeWidgetSize(e){let t=this.layout,r=t.widgets[e];if(!r)return;let n=r.isHidden,i=t.absoluteSizes(),a=(n?-1:1)*this.spacing,o=i.reduce(((e,t)=>e+t)),s=[...i];if(n){let t=this._widgetSizesCache.get(r);if(!t)return;s[e]+=t;let n=s.map((e=>e-t>0)).lastIndexOf(!0);-1===n?s.forEach(((r,n)=>{n!==e&&(s[n]-=i[n]/o*(t-a))})):s[n]-=t-a}else{let t=i[e];this._widgetSizesCache.set(r,t),s[e]=0;let n=s.map((e=>e>0)).lastIndexOf(!0);if(-1===n)return;s[n]=i[n]+t+a}return s.map((e=>e/(o+a)))}_evtClick(e){let t=e.target;if(t){let r=b.ArrayExt.findFirstIndex(this.titles,(e=>e.contains(t)));r>=0&&(e.preventDefault(),e.stopPropagation(),this._toggleExpansion(r))}}_eventKeyDown(e){if(e.defaultPrevented)return;let t=e.target,r=!1;if(t){let n=b.ArrayExt.findFirstIndex(this.titles,(e=>e.contains(t)));if(n>=0){let i=e.keyCode.toString();if(e.key.match(/Space|Enter/)||i.match(/13|32/))t.click(),r=!0;else if("horizontal"===this.orientation?e.key.match(/ArrowLeft|ArrowRight/)||i.match(/37|39/):e.key.match(/ArrowUp|ArrowDown/)||i.match(/38|40/)){let t=e.key.match(/ArrowLeft|ArrowUp/)||i.match(/37|38/)?-1:1,a=this.titles.length,o=(n+a+t)%a;this.titles[o].focus(),r=!0}else"End"===e.key||"35"===i?(this.titles[this.titles.length-1].focus(),r=!0):("Home"===e.key||"36"===i)&&(this.titles[0].focus(),r=!0)}r&&e.preventDefault()}}_toggleExpansion(e){let t=this.titles[e],r=this.layout.widgets[e],n=this._computeWidgetSize(e);n&&this.setRelativeSizes(n,!1),r.isHidden?(t.classList.add("lm-mod-expanded"),t.setAttribute("aria-expanded","true"),r.show()):(t.classList.remove("lm-mod-expanded"),t.setAttribute("aria-expanded","false"),r.hide()),this._expansionToggled.emit(e)}};!function(e){class t extends ye.Renderer{constructor(){super(),this.titleClassName="lm-AccordionPanel-title",this._titleID=0,this._titleKeys=new WeakMap,this._uuid=++t._nInstance}createCollapseIcon(e){return document.createElement("span")}createSectionTitle(e){let t=document.createElement("h3");t.setAttribute("tabindex","0"),t.id=this.createTitleKey(e),t.className=this.titleClassName;for(let r in e.dataset)t.dataset[r]=e.dataset[r];t.appendChild(this.createCollapseIcon(e)).className="lm-AccordionPanel-titleCollapser";let r=t.appendChild(document.createElement("span"));return r.className="lm-AccordionPanel-titleLabel",r.textContent=e.label,r.title=e.caption||e.label,t}createTitleKey(e){let t=this._titleKeys.get(e);return void 0===t&&(t=`title-key-${this._uuid}-${this._titleID++}`,this._titleKeys.set(e,t)),t}}t._nInstance=0,e.Renderer=t,e.defaultRenderer=new t}(xe||(xe={})),function(e){e.createLayout=function(e){return e.layout||new pe({renderer:e.renderer||xe.defaultRenderer,orientation:e.orientation,alignment:e.alignment,spacing:e.spacing,titleSpace:e.titleSpace})}}(ve||(ve={}));var _e,be=class e extends le{constructor(e={}){super(),this._fixed=0,this._spacing=4,this._dirty=!1,this._sizers=[],this._items=[],this._box=null,this._alignment="start",this._direction="top-to-bottom",void 0!==e.direction&&(this._direction=e.direction),void 0!==e.alignment&&(this._alignment=e.alignment),void 0!==e.spacing&&(this._spacing=ue.clampDimension(e.spacing))}dispose(){for(let e of this._items)e.dispose();this._box=null,this._items.length=0,this._sizers.length=0,super.dispose()}get direction(){return this._direction}set direction(e){this._direction!==e&&(this._direction=e,this.parent&&(this.parent.dataset.direction=e,this.parent.fit()))}get alignment(){return this._alignment}set alignment(e){this._alignment!==e&&(this._alignment=e,this.parent&&(this.parent.dataset.alignment=e,this.parent.update()))}get spacing(){return this._spacing}set spacing(e){e=ue.clampDimension(e),this._spacing!==e&&(this._spacing=e,this.parent&&this.parent.fit())}init(){this.parent.dataset.direction=this.direction,this.parent.dataset.alignment=this.alignment,super.init()}attachWidget(e,t){b.ArrayExt.insert(this._items,e,new oe(t)),b.ArrayExt.insert(this._sizers,e,new ee),this.parent.isAttached&&M.sendMessage(t,ne.Msg.BeforeAttach),this.parent.node.appendChild(t.node),this.parent.isAttached&&M.sendMessage(t,ne.Msg.AfterAttach),this.parent.fit()}moveWidget(e,t,r){b.ArrayExt.move(this._items,e,t),b.ArrayExt.move(this._sizers,e,t),this.parent.update()}detachWidget(e,t){let r=b.ArrayExt.removeAt(this._items,e);b.ArrayExt.removeAt(this._sizers,e),this.parent.isAttached&&M.sendMessage(t,ne.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.isAttached&&M.sendMessage(t,ne.Msg.AfterDetach),r.dispose(),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_fit(){let t=0;for(let e=0,r=this._items.length;e0)switch(this._alignment){case"start":break;case"center":c=0,u=n/2;break;case"end":c=0,u=n;break;case"justify":c=n/r,u=0;break;default:throw"unreachable"}for(let e=0,t=this._items.length;e0,coerce:(e,t)=>Math.max(0,Math.floor(t)),changed:t}),e.sizeBasisProperty=new I({name:"sizeBasis",create:()=>0,coerce:(e,t)=>Math.max(0,Math.floor(t)),changed:t}),e.isHorizontal=function(e){return"left-to-right"===e||"right-to-left"===e},e.clampSpacing=function(e){return Math.max(0,Math.floor(e))}}(_e||(_e={}));var we,Te=class extends me{constructor(e={}){super({layout:we.createLayout(e)}),this.addClass("lm-BoxPanel")}get direction(){return this.layout.direction}set direction(e){this.layout.direction=e}get alignment(){return this.layout.alignment}set alignment(e){this.layout.alignment=e}get spacing(){return this.layout.spacing}set spacing(e){this.layout.spacing=e}onChildAdded(e){e.child.addClass("lm-BoxPanel-child")}onChildRemoved(e){e.child.removeClass("lm-BoxPanel-child")}};!function(e){e.getStretch=function(e){return be.getStretch(e)},e.setStretch=function(e,t){be.setStretch(e,t)},e.getSizeBasis=function(e){return be.getSizeBasis(e)},e.setSizeBasis=function(e,t){be.setSizeBasis(e,t)}}(Te||(Te={})),function(e){e.createLayout=function(e){return e.layout||new be(e)}}(we||(we={}));var ke,Ae=class e extends ne{constructor(t){super({node:ke.createNode()}),this._activeIndex=-1,this._items=[],this._results=null,this.addClass("lm-CommandPalette"),this.setFlag(ne.Flag.DisallowLayout),this.commands=t.commands,this.renderer=t.renderer||e.defaultRenderer,this.commands.commandChanged.connect(this._onGenericChange,this),this.commands.keyBindingChanged.connect(this._onGenericChange,this)}dispose(){this._items.length=0,this._results=null,super.dispose()}get searchNode(){return this.node.getElementsByClassName("lm-CommandPalette-search")[0]}get inputNode(){return this.node.getElementsByClassName("lm-CommandPalette-input")[0]}get contentNode(){return this.node.getElementsByClassName("lm-CommandPalette-content")[0]}get items(){return this._items}addItem(e){let t=ke.createItem(this.commands,e);return this._items.push(t),this.refresh(),t}addItems(e){let t=e.map((e=>ke.createItem(this.commands,e)));return t.forEach((e=>this._items.push(e))),this.refresh(),t}removeItem(e){this.removeItemAt(this._items.indexOf(e))}removeItemAt(e){b.ArrayExt.removeAt(this._items,e)&&this.refresh()}clearItems(){0!==this._items.length&&(this._items.length=0,this.refresh())}refresh(){this._results=null,""!==this.inputNode.value?this.node.getElementsByClassName("lm-close-icon")[0].style.display="inherit":this.node.getElementsByClassName("lm-close-icon")[0].style.display="none",this.update()}handleEvent(e){switch(e.type){case"click":this._evtClick(e);break;case"keydown":this._evtKeyDown(e);break;case"input":this.refresh();break;case"focus":case"blur":this._toggleFocused()}}onBeforeAttach(e){this.node.addEventListener("click",this),this.node.addEventListener("keydown",this),this.node.addEventListener("input",this),this.node.addEventListener("focus",this,!0),this.node.addEventListener("blur",this,!0)}onAfterDetach(e){this.node.removeEventListener("click",this),this.node.removeEventListener("keydown",this),this.node.removeEventListener("input",this),this.node.removeEventListener("focus",this,!0),this.node.removeEventListener("blur",this,!0)}onAfterShow(e){this.update(),super.onAfterShow(e)}onActivateRequest(e){if(this.isAttached){let e=this.inputNode;e.focus(),e.select()}}onUpdateRequest(e){if(this.isHidden)return;let t=this.inputNode.value,r=this.contentNode,n=this._results;if(n||(n=this._results=ke.search(this._items,t),this._activeIndex=t?b.ArrayExt.findFirstIndex(n,ke.canActivate):-1),!t&&0===n.length)return void Z.render(null,r);if(t&&0===n.length){let e=this.renderer.renderEmptyMessage({query:t});return void Z.render(e,r)}let a=this.renderer,o=this._activeIndex,s=new Array(n.length);for(let e=0,t=n.length;e=n.length)r.scrollTop=0;else{let e=r.children[o];i.scrollIntoViewIfNeeded(r,e)}}_evtClick(e){if(0!==e.button)return;if(e.target.classList.contains("lm-close-icon"))return this.inputNode.value="",void this.refresh();let t=b.ArrayExt.findFirstIndex(this.contentNode.children,(t=>t.contains(e.target)));-1!==t&&(e.preventDefault(),e.stopPropagation(),this._execute(t))}_evtKeyDown(e){if(!(e.altKey||e.ctrlKey||e.metaKey||e.shiftKey))switch(e.keyCode){case 13:e.preventDefault(),e.stopPropagation(),this._execute(this._activeIndex);break;case 38:e.preventDefault(),e.stopPropagation(),this._activatePreviousItem();break;case 40:e.preventDefault(),e.stopPropagation(),this._activateNextItem()}}_activateNextItem(){if(!this._results||0===this._results.length)return;let e=this._activeIndex,t=this._results.length,r=ee-t)),c=a.slice(0,l),u=a.slice(l);for(let e=0,t=u.length;er.command===e&&w.JSONExt.deepEqual(r.args,t)))||null}}}(ke||(ke={}));var Me,Se,Ee=class e extends ne{constructor(t){super({node:Me.createNode()}),this._childIndex=-1,this._activeIndex=-1,this._openTimerID=0,this._closeTimerID=0,this._items=[],this._childMenu=null,this._parentMenu=null,this._aboutToClose=new z(this),this._menuRequested=new z(this),this.addClass("lm-Menu"),this.setFlag(ne.Flag.DisallowLayout),this.commands=t.commands,this.renderer=t.renderer||e.defaultRenderer}dispose(){this.close(),this._items.length=0,super.dispose()}get aboutToClose(){return this._aboutToClose}get menuRequested(){return this._menuRequested}get parentMenu(){return this._parentMenu}get childMenu(){return this._childMenu}get rootMenu(){let e=this;for(;e._parentMenu;)e=e._parentMenu;return e}get leafMenu(){let e=this;for(;e._childMenu;)e=e._childMenu;return e}get contentNode(){return this.node.getElementsByClassName("lm-Menu-content")[0]}get activeItem(){return this._items[this._activeIndex]||null}set activeItem(e){this.activeIndex=e?this._items.indexOf(e):-1}get activeIndex(){return this._activeIndex}set activeIndex(e){(e<0||e>=this._items.length)&&(e=-1),-1!==e&&!Me.canActivate(this._items[e])&&(e=-1),this._activeIndex!==e&&(this._activeIndex=e,this._activeIndex>=0&&this.contentNode.childNodes[this._activeIndex]&&this.contentNode.childNodes[this._activeIndex].focus(),this.update())}get items(){return this._items}activateNextItem(){let e=this._items.length,t=this._activeIndex,r=t{this.activeIndex=e}})}Z.render(a,this.contentNode)}onCloseRequest(e){this._cancelOpenTimer(),this._cancelCloseTimer(),this.activeIndex=-1;let t=this._childMenu;t&&(this._childIndex=-1,this._childMenu=null,t._parentMenu=null,t.close());let r=this._parentMenu;r&&(this._parentMenu=null,r._childIndex=-1,r._childMenu=null,r.activate()),this.isAttached&&this._aboutToClose.emit(void 0),super.onCloseRequest(e)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation();let t=e.keyCode;if(13===t)return void this.triggerActiveItem();if(27===t)return void this.close();if(37===t)return void(this._parentMenu?this.close():this._menuRequested.emit("previous"));if(38===t)return void this.activatePreviousItem();if(39===t){let e=this.activeItem;return void(e&&"submenu"===e.type?this.triggerActiveItem():this.rootMenu._menuRequested.emit("next"))}if(40===t)return void this.activateNextItem();let r=U().keyForKeydownEvent(e);if(!r)return;let n=this._activeIndex+1,i=Me.findMnemonic(this._items,r,n);-1===i.index||i.multiple?-1!==i.index?this.activeIndex=i.index:-1!==i.auto&&(this.activeIndex=i.auto):(this.activeIndex=i.index,this.triggerActiveItem())}_evtMouseUp(e){0===e.button&&(e.preventDefault(),e.stopPropagation(),this.triggerActiveItem())}_evtMouseMove(e){let t=b.ArrayExt.findFirstIndex(this.contentNode.children,(t=>i.hitTest(t,e.clientX,e.clientY)));if(t===this._activeIndex)return;if(this.activeIndex=t,t=this.activeIndex,t===this._childIndex)return this._cancelOpenTimer(),void this._cancelCloseTimer();-1!==this._childIndex&&this._startCloseTimer(),this._cancelOpenTimer();let r=this.activeItem;!r||"submenu"!==r.type||!r.submenu||this._startOpenTimer()}_evtMouseEnter(e){for(let e=this._parentMenu;e;e=e._parentMenu)e._cancelOpenTimer(),e._cancelCloseTimer(),e.activeIndex=e._childIndex}_evtMouseLeave(e){if(this._cancelOpenTimer(),!this._childMenu)return void(this.activeIndex=-1);let{clientX:t,clientY:r}=e;i.hitTest(this._childMenu.node,t,r)?this._cancelCloseTimer():(this.activeIndex=-1,this._startCloseTimer())}_evtMouseDown(e){this._parentMenu||(Me.hitTestMenus(this,e.clientX,e.clientY)?(e.preventDefault(),e.stopPropagation()):this.close())}_openChildMenu(t=!1){let r=this.activeItem;if(!r||"submenu"!==r.type||!r.submenu)return void this._closeChildMenu();let n=r.submenu;if(n===this._childMenu)return;e.saveWindowData(),this._closeChildMenu(),this._childMenu=n,this._childIndex=this._activeIndex,n._parentMenu=this,M.sendMessage(this,ne.Msg.UpdateRequest);let i=this.contentNode.children[this._activeIndex];Me.openSubmenu(n,i),t&&(n.activeIndex=-1,n.activateNextItem()),n.activate()}_closeChildMenu(){this._childMenu&&this._childMenu.close()}_startOpenTimer(){0===this._openTimerID&&(this._openTimerID=window.setTimeout((()=>{this._openTimerID=0,this._openChildMenu()}),Me.TIMER_DELAY))}_startCloseTimer(){0===this._closeTimerID&&(this._closeTimerID=window.setTimeout((()=>{this._closeTimerID=0,this._closeChildMenu()}),Me.TIMER_DELAY))}_cancelOpenTimer(){0!==this._openTimerID&&(clearTimeout(this._openTimerID),this._openTimerID=0)}_cancelCloseTimer(){0!==this._closeTimerID&&(clearTimeout(this._closeTimerID),this._closeTimerID=0)}static saveWindowData(){Me.saveWindowData()}};!function(e){class t{renderItem(e){let t=this.createItemClass(e),r=this.createItemDataset(e),n=this.createItemARIA(e);return J.li({className:t,dataset:r,tabindex:"0",onfocus:e.onfocus,...n},this.renderIcon(e),this.renderLabel(e),this.renderShortcut(e),this.renderSubmenu(e))}renderIcon(e){let t=this.createIconClass(e);return J.div({className:t},e.item.icon,e.item.iconLabel)}renderLabel(e){let t=this.formatLabel(e);return J.div({className:"lm-Menu-itemLabel"},t)}renderShortcut(e){let t=this.formatShortcut(e);return J.div({className:"lm-Menu-itemShortcut"},t)}renderSubmenu(e){return J.div({className:"lm-Menu-itemSubmenuIcon"})}createItemClass(e){let t="lm-Menu-item";e.item.isEnabled||(t+=" lm-mod-disabled"),e.item.isToggled&&(t+=" lm-mod-toggled"),e.item.isVisible||(t+=" lm-mod-hidden"),e.active&&(t+=" lm-mod-active"),e.collapsed&&(t+=" lm-mod-collapsed");let r=e.item.className;return r&&(t+=` ${r}`),t}createItemDataset(e){let t,{type:r,command:n,dataset:i}=e.item;return t="command"===r?{...i,type:r,command:n}:{...i,type:r},t}createIconClass(e){let t="lm-Menu-itemIcon",r=e.item.iconClass;return r?`${t} ${r}`:t}createItemARIA(e){let t={};switch(e.item.type){case"separator":t.role="presentation";break;case"submenu":t["aria-haspopup"]="true",e.item.isEnabled||(t["aria-disabled"]="true");break;default:e.item.isEnabled||(t["aria-disabled"]="true"),t.role="menuitem"}return t}formatLabel(e){let{label:t,mnemonic:r}=e.item;if(r<0||r>=t.length)return t;let n=t.slice(0,r),i=t.slice(r+1),a=t[r];return[n,J.span({className:"lm-Menu-itemMnemonic"},a),i]}formatShortcut(e){let t=e.item.keyBinding;return t?W.formatKeystroke(t.keys):null}}e.Renderer=t,e.defaultRenderer=new t}(Ee||(Ee={})),function(e){e.TIMER_DELAY=300,e.SUBMENU_OVERLAP=3;let t=null,r=0;function n(){return r>0?(r--,t):o()}function a(e){return"separator"!==e.type&&e.isEnabled&&e.isVisible}function o(){return{pageXOffset:window.pageXOffset,pageYOffset:window.pageYOffset,clientWidth:document.documentElement.clientWidth,clientHeight:document.documentElement.clientHeight}}e.saveWindowData=function(){t=o(),r++},e.createNode=function(){let e=document.createElement("div"),t=document.createElement("ul");return t.className="lm-Menu-content",e.appendChild(t),t.setAttribute("role","menu"),e.tabIndex=0,e},e.canActivate=a,e.createItem=function(e,t){return new s(e.commands,t)},e.hitTestMenus=function(e,t,r){for(let n=e;n;n=n.childMenu)if(i.hitTest(n.node,t,r))return!0;return!1},e.computeCollapsed=function(e){let t=new Array(e.length);b.ArrayExt.fill(t,!1);let r=0,n=e.length;for(;r=0;--i){let r=e[i];if(r.isVisible){if("separator"!==r.type)break;t[i]=!0}}let a=!1;for(;++rc+h&&(t=c+h-g),!a&&r+y>u+f&&(r>u+f?r=u+f-y:r-=y),m.transform=`translate(${Math.max(0,t)}px, ${Math.max(0,r)}px`,m.opacity="1"},e.openSubmenu=function(t,r){let a=n(),o=a.pageXOffset,s=a.pageYOffset,l=a.clientWidth,c=a.clientHeight;M.sendMessage(t,ne.Msg.UpdateRequest);let u=c,h=t.node,f=h.style;f.opacity="0",f.maxHeight=`${u}px`,ne.attach(t,document.body);let{width:p,height:d}=h.getBoundingClientRect(),m=i.boxSizing(t.node),g=r.getBoundingClientRect(),y=g.right-e.SUBMENU_OVERLAP;y+p>o+l&&(y=g.left+e.SUBMENU_OVERLAP-p);let v=g.top-m.borderTop-m.paddingTop;v+d>s+c&&(v=g.bottom+m.borderBottom+m.paddingBottom-d),f.transform=`translate(${Math.max(0,y)}px, ${Math.max(0,v)}px`,f.opacity="1"},e.findMnemonic=function(e,t,r){let n=-1,i=-1,o=!1,s=t.toUpperCase();for(let t=0,l=e.length;t=0&&fr.command===e&&w.JSONExt.deepEqual(r.args,t)))||null}return null}}}(Me||(Me={})),function(e){function t(e,t){let r=e.rank,n=t.rank;return r!==n?r=this._titles.length)&&(e=-1),this._currentIndex===e)return;let t=this._currentIndex,r=this._titles[t]||null,n=e,i=this._titles[n]||null;this._currentIndex=n,this._previousTitle=r,this.update(),this._currentChanged.emit({previousIndex:t,previousTitle:r,currentIndex:n,currentTitle:i})}get name(){return this._name}set name(e){this._name=e,e?this.contentNode.setAttribute("aria-label",e):this.contentNode.removeAttribute("aria-label")}get orientation(){return this._orientation}set orientation(e){this._orientation!==e&&(this._releaseMouse(),this._orientation=e,this.dataset.orientation=e,this.contentNode.setAttribute("aria-orientation",e))}get addButtonEnabled(){return this._addButtonEnabled}set addButtonEnabled(e){this._addButtonEnabled!==e&&(this._addButtonEnabled=e,e?this.addButtonNode.classList.remove("lm-mod-hidden"):this.addButtonNode.classList.add("lm-mod-hidden"))}get titles(){return this._titles}get contentNode(){return this.node.getElementsByClassName("lm-TabBar-content")[0]}get addButtonNode(){return this.node.getElementsByClassName("lm-TabBar-addButton")[0]}addTab(e){return this.insertTab(this._titles.length,e)}insertTab(e,t){this._releaseMouse();let r=Ce.asTitle(t),n=this._titles.indexOf(r),i=Math.max(0,Math.min(e,this._titles.length));return-1===n?(b.ArrayExt.insert(this._titles,i,r),r.changed.connect(this._onTitleChanged,this),this.update(),this._adjustCurrentForInsert(i,r),r):(i===this._titles.length&&i--,n===i||(b.ArrayExt.move(this._titles,n,i),this.update(),this._adjustCurrentForMove(n,i)),r)}removeTab(e){this.removeTabAt(this._titles.indexOf(e))}removeTabAt(e){this._releaseMouse();let t=b.ArrayExt.removeAt(this._titles,e);t&&(t.changed.disconnect(this._onTitleChanged,this),t===this._previousTitle&&(this._previousTitle=null),this.update(),this._adjustCurrentForRemove(e,t))}clearTabs(){if(0===this._titles.length)return;this._releaseMouse();for(let e of this._titles)e.changed.disconnect(this._onTitleChanged,this);let e=this.currentIndex,t=this.currentTitle;this._currentIndex=-1,this._previousTitle=null,this._titles.length=0,this.update(),-1!==e&&this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:-1,currentTitle:null})}releaseMouse(){this._releaseMouse()}handleEvent(e){switch(e.type){case"pointerdown":this._evtPointerDown(e);break;case"pointermove":this._evtPointerMove(e);break;case"pointerup":this._evtPointerUp(e);break;case"dblclick":this._evtDblClick(e);break;case"keydown":e.eventPhase===Event.CAPTURING_PHASE?this._evtKeyDownCapturing(e):this._evtKeyDown(e);break;case"contextmenu":e.preventDefault(),e.stopPropagation()}}onBeforeAttach(e){this.node.addEventListener("pointerdown",this),this.node.addEventListener("dblclick",this),this.node.addEventListener("keydown",this)}onAfterDetach(e){this.node.removeEventListener("pointerdown",this),this.node.removeEventListener("dblclick",this),this.node.removeEventListener("keydown",this),this._releaseMouse()}onUpdateRequest(e){var t;let r=this._titles,n=this.renderer,i=this.currentTitle,a=new Array(r.length),o=null!==(t=this._getCurrentTabindex())&&void 0!==t?t:this._currentIndex>-1?this._currentIndex:0;for(let e=0,t=r.length;ei.hitTest(t,e.clientX,e.clientY)));if(-1===r)return;let n=this.titles[r],a=t[r].querySelector(".lm-TabBar-tabLabel");if(a&&a.contains(e.target)){let e=n.label||"",t=a.innerHTML;a.innerHTML="";let r=document.createElement("input");r.classList.add("lm-TabBar-tabInput"),r.value=e,a.appendChild(r);let i=()=>{r.removeEventListener("blur",i),a.innerHTML=t,this.node.addEventListener("keydown",this)};r.addEventListener("dblclick",(e=>e.stopPropagation())),r.addEventListener("blur",i),r.addEventListener("keydown",(e=>{"Enter"===e.key?(""!==r.value&&(n.label=n.caption=r.value),i()):"Escape"===e.key&&i()})),this.node.removeEventListener("keydown",this),r.select(),r.focus(),a.children.length>0&&a.children[0].focus()}}_evtKeyDownCapturing(e){e.eventPhase===Event.CAPTURING_PHASE&&(e.preventDefault(),e.stopPropagation(),"Escape"===e.key&&this._releaseMouse())}_evtKeyDown(e){var t,r,n;if("Tab"!==e.key&&e.eventPhase!==Event.CAPTURING_PHASE)if("Enter"===e.key||"Spacebar"===e.key||" "===e.key){let t=document.activeElement;if(this.addButtonEnabled&&this.addButtonNode.contains(t))e.preventDefault(),e.stopPropagation(),this._addRequested.emit();else{let r=b.ArrayExt.findFirstIndex(this.contentNode.children,(e=>e.contains(t)));r>=0&&(e.preventDefault(),e.stopPropagation(),this.currentIndex=r)}}else if(Ie.includes(e.key)){let i=[...this.contentNode.children];if(this.addButtonEnabled&&i.push(this.addButtonNode),i.length<=1)return;e.preventDefault(),e.stopPropagation();let a,o=i.indexOf(document.activeElement);-1===o&&(o=this._currentIndex),"ArrowRight"===e.key&&"horizontal"===this._orientation||"ArrowDown"===e.key&&"vertical"===this._orientation?a=null!==(t=i[o+1])&&void 0!==t?t:i[0]:"ArrowLeft"===e.key&&"horizontal"===this._orientation||"ArrowUp"===e.key&&"vertical"===this._orientation?a=null!==(r=i[o-1])&&void 0!==r?r:i[i.length-1]:"Home"===e.key?a=i[0]:"End"===e.key&&(a=i[i.length-1]),a&&(null===(n=i[o])||void 0===n||n.setAttribute("tabindex","-1"),a?.setAttribute("tabindex","0"),a.focus())}}_evtPointerDown(e){if(0!==e.button&&1!==e.button||this._dragData||e.target.classList.contains("lm-TabBar-tabInput"))return;let t=this.addButtonEnabled&&this.addButtonNode.contains(e.target),r=this.contentNode.children,n=b.ArrayExt.findFirstIndex(r,(t=>i.hitTest(t,e.clientX,e.clientY)));if(-1===n&&!t||(e.preventDefault(),e.stopPropagation(),this._dragData={tab:r[n],index:n,pressX:e.clientX,pressY:e.clientY,tabPos:-1,tabSize:-1,tabPressPos:-1,targetIndex:-1,tabLayout:null,contentRect:null,override:null,dragActive:!1,dragAborted:!1,detachRequested:!1},this.document.addEventListener("pointerup",this,!0),1===e.button||t))return;let a=r[n].querySelector(this.renderer.closeIconSelector);a&&a.contains(e.target)||(this.tabsMovable&&(this.document.addEventListener("pointermove",this,!0),this.document.addEventListener("keydown",this,!0),this.document.addEventListener("contextmenu",this,!0)),this.allowDeselect&&this.currentIndex===n?this.currentIndex=-1:this.currentIndex=n,-1!==this.currentIndex&&this._tabActivateRequested.emit({index:this.currentIndex,title:this.currentTitle}))}_evtPointerMove(e){let t=this._dragData;if(!t)return;e.preventDefault(),e.stopPropagation();let r=this.contentNode.children;if(t.dragActive||Ce.dragExceeded(t,e)){if(!t.dragActive){let e=t.tab.getBoundingClientRect();"horizontal"===this._orientation?(t.tabPos=t.tab.offsetLeft,t.tabSize=e.width,t.tabPressPos=t.pressX-e.left):(t.tabPos=t.tab.offsetTop,t.tabSize=e.height,t.tabPressPos=t.pressY-e.top),t.tabPressOffset={x:t.pressX-e.left,y:t.pressY-e.top},t.tabLayout=Ce.snapTabLayout(r,this._orientation),t.contentRect=this.contentNode.getBoundingClientRect(),t.override=B.overrideCursor("default"),t.tab.classList.add("lm-mod-dragging"),this.addClass("lm-mod-dragging"),t.dragActive=!0}if(!t.detachRequested&&Ce.detachExceeded(t,e)){t.detachRequested=!0;let n=t.index,i=e.clientX,a=e.clientY,o=r[n],s=this._titles[n];if(this._tabDetachRequested.emit({index:n,title:s,tab:o,clientX:i,clientY:a,offset:t.tabPressOffset}),t.dragAborted)return}Ce.layoutTabs(r,t,e,this._orientation)}}_evtPointerUp(e){if(0!==e.button&&1!==e.button)return;let t=this._dragData;if(!t)return;if(e.preventDefault(),e.stopPropagation(),this.document.removeEventListener("pointermove",this,!0),this.document.removeEventListener("pointerup",this,!0),this.document.removeEventListener("keydown",this,!0),this.document.removeEventListener("contextmenu",this,!0),!t.dragActive){if(this._dragData=null,this.addButtonEnabled&&this.addButtonNode.contains(e.target))return void this._addRequested.emit(void 0);let r=this.contentNode.children,n=b.ArrayExt.findFirstIndex(r,(t=>i.hitTest(t,e.clientX,e.clientY)));if(n!==t.index)return;let a=this._titles[n];if(!a.closable)return;if(1===e.button)return void this._tabCloseRequested.emit({index:n,title:a});let o=r[n].querySelector(this.renderer.closeIconSelector);return o&&o.contains(e.target)?void this._tabCloseRequested.emit({index:n,title:a}):void 0}if(0!==e.button)return;Ce.finalizeTabPosition(t,this._orientation),t.tab.classList.remove("lm-mod-dragging");let r=Ce.parseTransitionDuration(t.tab);setTimeout((()=>{if(t.dragAborted)return;this._dragData=null,Ce.resetTabPositions(this.contentNode.children,this._orientation),t.override.dispose(),this.removeClass("lm-mod-dragging");let e=t.index,r=t.targetIndex;-1===r||e===r||(b.ArrayExt.move(this._titles,e,r),this._adjustCurrentForMove(e,r),this._tabMoved.emit({fromIndex:e,toIndex:r,title:this._titles[r]}),M.sendMessage(this,ne.Msg.UpdateRequest))}),r)}_releaseMouse(){let e=this._dragData;e&&(this._dragData=null,this.document.removeEventListener("pointermove",this,!0),this.document.removeEventListener("pointerup",this,!0),this.document.removeEventListener("keydown",this,!0),this.document.removeEventListener("contextmenu",this,!0),e.dragAborted=!0,e.dragActive&&(Ce.resetTabPositions(this.contentNode.children,this._orientation),e.override.dispose(),e.tab.classList.remove("lm-mod-dragging"),this.removeClass("lm-mod-dragging")))}_adjustCurrentForInsert(e,t){let r=this.currentTitle,n=this._currentIndex,i=this.insertBehavior;if("select-tab"===i||"select-tab-if-needed"===i&&-1===n)return this._currentIndex=e,this._previousTitle=r,void this._currentChanged.emit({previousIndex:n,previousTitle:r,currentIndex:e,currentTitle:t});n>=e&&this._currentIndex++}_adjustCurrentForMove(e,t){this._currentIndex===e?this._currentIndex=t:this._currentIndex=t?this._currentIndex++:this._currentIndex>e&&this._currentIndex<=t&&this._currentIndex--}_adjustCurrentForRemove(e,t){let r=this._currentIndex,n=this.removeBehavior;if(r===e)return 0===this._titles.length?(this._currentIndex=-1,void this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:-1,currentTitle:null})):"select-tab-after"===n?(this._currentIndex=Math.min(e,this._titles.length-1),void this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle})):"select-tab-before"===n?(this._currentIndex=Math.max(0,e-1),void this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle})):"select-previous-tab"===n?(this._previousTitle?(this._currentIndex=this._titles.indexOf(this._previousTitle),this._previousTitle=null):this._currentIndex=Math.min(e,this._titles.length-1),void this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle})):(this._currentIndex=-1,void this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:-1,currentTitle:null}));r>e&&this._currentIndex--}_onTitleChanged(e){this.update()}};!function(e){class t{constructor(){this.closeIconSelector=".lm-TabBar-tabCloseIcon",this._tabID=0,this._tabKeys=new WeakMap,this._uuid=++t._nInstance}renderTab(e){let t=e.title.caption,r=this.createTabKey(e),n=r,i=this.createTabStyle(e),a=this.createTabClass(e),o=this.createTabDataset(e),s=this.createTabARIA(e);return e.title.closable?J.li({id:n,key:r,className:a,title:t,style:i,dataset:o,...s},this.renderIcon(e),this.renderLabel(e),this.renderCloseIcon(e)):J.li({id:n,key:r,className:a,title:t,style:i,dataset:o,...s},this.renderIcon(e),this.renderLabel(e))}renderIcon(e){let{title:t}=e,r=this.createIconClass(e);return J.div({className:r},t.icon,t.iconLabel)}renderLabel(e){return J.div({className:"lm-TabBar-tabLabel"},e.title.label)}renderCloseIcon(e){return J.div({className:"lm-TabBar-tabCloseIcon"})}createTabKey(e){let t=this._tabKeys.get(e.title);return void 0===t&&(t=`tab-key-${this._uuid}-${this._tabID++}`,this._tabKeys.set(e.title,t)),t}createTabStyle(e){return{zIndex:`${e.zIndex}`}}createTabClass(e){let t="lm-TabBar-tab";return e.title.className&&(t+=` ${e.title.className}`),e.title.closable&&(t+=" lm-mod-closable"),e.current&&(t+=" lm-mod-current"),t}createTabDataset(e){return e.title.dataset}createTabARIA(e){var t;return{role:"tab","aria-selected":e.current.toString(),tabindex:`${null!==(t=e.tabIndex)&&void 0!==t?t:"-1"}`}}createIconClass(e){let t="lm-TabBar-tabIcon",r=e.title.iconClass;return r?`${t} ${r}`:t}}t._nInstance=0,e.Renderer=t,e.defaultRenderer=new t,e.addButtonSelector=".lm-TabBar-addButton"}(Le||(Le={})),function(e){e.DRAG_THRESHOLD=5,e.DETACH_THRESHOLD=20,e.createNode=function(){let e=document.createElement("div"),t=document.createElement("ul");t.setAttribute("role","tablist"),t.className="lm-TabBar-content",e.appendChild(t);let r=document.createElement("div");return r.className="lm-TabBar-addButton lm-mod-hidden",r.setAttribute("tabindex","-1"),r.setAttribute("role","button"),e.appendChild(r),e},e.asTitle=function(e){return e instanceof re?e:new re(e)},e.parseTransitionDuration=function(e){let t=window.getComputedStyle(e);return 1e3*(parseFloat(t.transitionDuration)||0)},e.snapTabLayout=function(e,t){let r=new Array(e.length);for(let n=0,i=e.length;n=e.DRAG_THRESHOLD||i>=e.DRAG_THRESHOLD},e.detachExceeded=function(t,r){let n=t.contentRect;return r.clientX=n.right+e.DETACH_THRESHOLD||r.clientY=n.bottom+e.DETACH_THRESHOLD},e.layoutTabs=function(e,t,r,n){let i,a,o,s;"horizontal"===n?(i=t.pressX,a=r.clientX-t.contentRect.left,o=r.clientX,s=t.contentRect.width):(i=t.pressY,a=r.clientY-t.contentRect.top,o=r.clientY,s=t.contentRect.height);let l=t.index,c=a-t.tabPressPos,u=c+t.tabSize;for(let r=0,a=e.length;r>1);if(rt.index&&u>f)a=-t.tabSize-h.margin+"px",l=Math.max(l,r);else if(r===t.index){let e=o-i,r=s-(t.tabPos+t.tabSize);a=`${Math.max(-t.tabPos,Math.min(e,r))}px`}else a="";"horizontal"===n?e[r].style.left=a:e[r].style.top=a}t.targetIndex=l},e.finalizeTabPosition=function(e,t){let r,n;if(r="horizontal"===t?e.contentRect.width:e.contentRect.height,e.targetIndex===e.index)n=0;else if(e.targetIndex>e.index){let t=e.tabLayout[e.targetIndex];n=t.pos+t.size-e.tabSize-e.tabPos}else n=e.tabLayout[e.targetIndex].pos-e.tabPos;let i=r-(e.tabPos+e.tabSize),a=Math.max(-e.tabPos,Math.min(n,i));"horizontal"===t?e.tab.style.left=`${a}px`:e.tab.style.top=`${a}px`},e.resetTabPositions=function(e,t){for(let r of e)"horizontal"===t?r.style.left="":r.style.top=""}}(Ce||(Ce={}));var Pe,ze=class extends ie{constructor(e){super(),this._spacing=4,this._dirty=!1,this._root=null,this._box=null,this._items=new Map,this.renderer=e.renderer,void 0!==e.spacing&&(this._spacing=ue.clampDimension(e.spacing)),this._document=e.document||document,this._hiddenMode=void 0!==e.hiddenMode?e.hiddenMode:ne.HiddenMode.Display}dispose(){let e=this[Symbol.iterator]();this._items.forEach((e=>{e.dispose()})),this._box=null,this._root=null,this._items.clear();for(let t of e)t.dispose();super.dispose()}get hiddenMode(){return this._hiddenMode}set hiddenMode(e){if(this._hiddenMode!==e){this._hiddenMode=e;for(let e of this.tabBars())if(e.titles.length>1)for(let t of e.titles)t.owner.hiddenMode=this._hiddenMode}}get spacing(){return this._spacing}set spacing(e){e=ue.clampDimension(e),this._spacing!==e&&(this._spacing=e,this.parent&&this.parent.fit())}get isEmpty(){return null===this._root}[Symbol.iterator](){return this._root?this._root.iterAllWidgets():(0,b.empty)()}widgets(){return this._root?this._root.iterUserWidgets():(0,b.empty)()}selectedWidgets(){return this._root?this._root.iterSelectedWidgets():(0,b.empty)()}tabBars(){return this._root?this._root.iterTabBars():(0,b.empty)()}handles(){return this._root?this._root.iterHandles():(0,b.empty)()}moveHandle(e,t,r){let n=e.classList.contains("lm-mod-hidden");if(!this._root||n)return;let i,a=this._root.findSplitNode(e);a&&(i="horizontal"===a.node.orientation?t-e.offsetLeft:r-e.offsetTop,0!==i&&(a.node.holdSizes(),Q.adjust(a.node.sizers,a.index,i),this.parent&&this.parent.update()))}saveLayout(){return this._root?(this._root.holdAllSizes(),{main:this._root.createConfig()}):{main:null}}restoreLayout(e){let t,r=new Set;t=e.main?Pe.normalizeAreaConfig(e.main,r):null;let n=this.widgets(),i=this.tabBars(),a=this.handles();this._root=null;for(let e of n)r.has(e)||(e.parent=null);for(let e of i)e.dispose();for(let e of a)e.parentNode&&e.parentNode.removeChild(e);for(let e of r)e.parent=this.parent;this._root=t?Pe.realizeAreaConfig(t,{createTabBar:e=>this._createTabBar(),createHandle:()=>this._createHandle()},this._document):null,this.parent&&(r.forEach((e=>{this.attachWidget(e)})),this.parent.fit())}addWidget(e,t={}){let r=t.ref||null,n=t.mode||"tab-after",i=null;if(this._root&&r&&(i=this._root.findTabNode(r)),r&&!i)throw new Error("Reference widget is not in the layout.");switch(e.parent=this.parent,n){case"tab-after":this._insertTab(e,r,i,!0);break;case"tab-before":this._insertTab(e,r,i,!1);break;case"split-top":this._insertSplit(e,r,i,"vertical",!1);break;case"split-left":this._insertSplit(e,r,i,"horizontal",!1);break;case"split-right":this._insertSplit(e,r,i,"horizontal",!0);break;case"split-bottom":this._insertSplit(e,r,i,"vertical",!0);break;case"merge-top":this._insertSplit(e,r,i,"vertical",!1,!0);break;case"merge-left":this._insertSplit(e,r,i,"horizontal",!1,!0);break;case"merge-right":this._insertSplit(e,r,i,"horizontal",!0,!0);break;case"merge-bottom":this._insertSplit(e,r,i,"vertical",!0,!0)}this.parent&&(this.attachWidget(e),this.parent.fit())}removeWidget(e){this._removeWidget(e),this.parent&&(this.detachWidget(e),this.parent.fit())}hitTestTabAreas(e,t){if(!this._root||!this.parent||!this.parent.isVisible)return null;this._box||(this._box=i.boxSizing(this.parent.node));let r=this.parent.node.getBoundingClientRect(),n=e-r.left-this._box.borderLeft,a=t-r.top-this._box.borderTop,o=this._root.hitTestTabNodes(n,a);if(!o)return null;let{tabBar:s,top:l,left:c,width:u,height:h}=o,f=this._box.borderLeft+this._box.borderRight,p=this._box.borderTop+this._box.borderBottom;return{tabBar:s,x:n,y:a,top:l,left:c,right:r.width-f-(c+u),bottom:r.height-p-(l+h),width:u,height:h}}init(){super.init();for(let e of this)this.attachWidget(e);for(let e of this.handles())this.parent.node.appendChild(e);this.parent.fit()}attachWidget(e){this.parent.node!==e.node.parentNode&&(this._items.set(e,new oe(e)),this.parent.isAttached&&M.sendMessage(e,ne.Msg.BeforeAttach),this.parent.node.appendChild(e.node),this.parent.isAttached&&M.sendMessage(e,ne.Msg.AfterAttach))}detachWidget(e){if(this.parent.node!==e.node.parentNode)return;this.parent.isAttached&&M.sendMessage(e,ne.Msg.BeforeDetach),this.parent.node.removeChild(e.node),this.parent.isAttached&&M.sendMessage(e,ne.Msg.AfterDetach);let t=this._items.get(e);t&&(this._items.delete(e),t.dispose())}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_removeWidget(e){if(!this._root)return;let t=this._root.findTabNode(e);if(!t)return;if(Pe.removeAria(e),t.tabBar.titles.length>1)return t.tabBar.removeTab(e.title),void(this._hiddenMode===ne.HiddenMode.Scale&&1==t.tabBar.titles.length&&(t.tabBar.titles[0].owner.hiddenMode=ne.HiddenMode.Display));if(t.tabBar.dispose(),this._root===t)return void(this._root=null);this._root.holdAllSizes();let r=t.parent;t.parent=null;let n=b.ArrayExt.removeFirstOf(r.children,t),i=b.ArrayExt.removeAt(r.handles,n);if(b.ArrayExt.removeAt(r.sizers,n),i.parentNode&&i.parentNode.removeChild(i),r.children.length>1)return void r.syncHandles();let a=r.parent;r.parent=null;let o=r.children[0],s=r.handles[0];if(r.children.length=0,r.handles.length=0,r.sizers.length=0,s.parentNode&&s.parentNode.removeChild(s),this._root===r)return o.parent=null,void(this._root=o);let l=a,c=l.children.indexOf(r);if(o instanceof Pe.TabLayoutNode)return o.parent=l,void(l.children[c]=o);let u=b.ArrayExt.removeAt(l.handles,c);b.ArrayExt.removeAt(l.children,c),b.ArrayExt.removeAt(l.sizers,c),u.parentNode&&u.parentNode.removeChild(u);for(let e=0,t=o.children.length;e=r.length)&&(n=0),{type:"tab-area",widgets:r,currentIndex:n}}(t,r):function(t,r){let n=t.orientation,i=[],a=[];for(let o=0,s=t.children.length;o{let l=i(n,r,a),c=t(e.sizes[s]),u=r.createHandle();o.children.push(l),o.handles.push(u),o.sizers.push(c),l.parent=o})),o.syncHandles(),o.normalizeSizes(),o}(a,o,s),l};class r{constructor(e){this.parent=null,this._top=0,this._left=0,this._width=0,this._height=0;let t=new ee,r=new ee;t.stretch=0,r.stretch=1,this.tabBar=e,this.sizers=[t,r]}get top(){return this._top}get left(){return this._left}get width(){return this._width}get height(){return this._height}*iterAllWidgets(){yield this.tabBar,yield*this.iterUserWidgets()}*iterUserWidgets(){for(let e of this.tabBar.titles)yield e.owner}*iterSelectedWidgets(){let e=this.tabBar.currentTitle;e&&(yield e.owner)}*iterTabBars(){yield this.tabBar}*iterHandles(){}findTabNode(e){return-1!==this.tabBar.titles.indexOf(e.title)?this:null}findSplitNode(e){return null}findFirstTabNode(){return this}hitTestTabNodes(e,t){return e=this._left+this._width||t=this._top+this._height?null:this}createConfig(){return{type:"tab-area",widgets:this.tabBar.titles.map((e=>e.owner)),currentIndex:this.tabBar.currentIndex}}holdAllSizes(){}fit(e,t){let r=0,n=0,i=t.get(this.tabBar),a=this.tabBar.currentTitle,o=a?t.get(a.owner):void 0,[s,l]=this.sizers;return i&&i.fit(),o&&o.fit(),i&&!i.isHidden?(r=Math.max(r,i.minWidth),n+=i.minHeight,s.minSize=i.minHeight,s.maxSize=i.maxHeight):(s.minSize=0,s.maxSize=0),o&&!o.isHidden?(r=Math.max(r,o.minWidth),n+=o.minHeight,l.minSize=o.minHeight,l.maxSize=1/0):(l.minSize=0,l.maxSize=1/0),{minWidth:r,minHeight:n,maxWidth:1/0,maxHeight:1/0}}update(e,t,r,n,i,a){this._top=t,this._left=e,this._width=r,this._height=n;let o=a.get(this.tabBar),s=this.tabBar.currentTitle,l=s?a.get(s.owner):void 0;if(Q.calc(this.sizers,n),o&&!o.isHidden){let n=this.sizers[0].size;o.update(e,t,r,n),t+=n}if(l&&!l.isHidden){let n=this.sizers[1].size;l.update(e,t,r,n)}}}e.TabLayoutNode=r;class n{constructor(e){this.parent=null,this.normalized=!1,this.children=[],this.sizers=[],this.handles=[],this.orientation=e}*iterAllWidgets(){for(let e of this.children)yield*e.iterAllWidgets()}*iterUserWidgets(){for(let e of this.children)yield*e.iterUserWidgets()}*iterSelectedWidgets(){for(let e of this.children)yield*e.iterSelectedWidgets()}*iterTabBars(){for(let e of this.children)yield*e.iterTabBars()}*iterHandles(){yield*this.handles;for(let e of this.children)yield*e.iterHandles()}findTabNode(e){for(let t=0,r=this.children.length;te.createConfig())),sizes:t}}syncHandles(){this.handles.forEach(((e,t)=>{e.setAttribute("data-orientation",this.orientation),t===this.handles.length-1?e.classList.add("lm-mod-hidden"):e.classList.remove("lm-mod-hidden")}))}holdSizes(){for(let e of this.sizers)e.sizeHint=e.size}holdAllSizes(){for(let e of this.children)e.holdAllSizes();this.holdSizes()}normalizeSizes(){let e=this.sizers.length;if(0===e)return;this.holdSizes();let t=this.sizers.reduce(((e,t)=>e+t.sizeHint),0);if(0===t)for(let t of this.sizers)t.size=t.sizeHint=1/e;else for(let e of this.sizers)e.size=e.sizeHint/=t;this.normalized=!0}createNormalizedSizes(){let e=this.sizers.length;if(0===e)return[];let t=this.sizers.map((e=>e.size)),r=t.reduce(((e,t)=>e+t),0);if(0===r)for(let r=t.length-1;r>-1;r--)t[r]=1/e;else for(let e=t.length-1;e>-1;e--)t[e]/=r;return t}fit(e,t){let r="horizontal"===this.orientation,n=Math.max(0,this.children.length-1)*e,i=r?n:0,a=r?0:n;for(let n=0,o=this.children.length;nthis._createTabBar(),createHandle:()=>this._createHandle()};this.layout=new ze({document:this._document,renderer:r,spacing:t.spacing,hiddenMode:t.hiddenMode}),this.overlay=t.overlay||new e.Overlay,this.node.appendChild(this.overlay.node)}dispose(){this._releaseMouse(),this.overlay.hide(0),this._drag&&this._drag.dispose(),super.dispose()}get hiddenMode(){return this.layout.hiddenMode}set hiddenMode(e){this.layout.hiddenMode=e}get layoutModified(){return this._layoutModified}get addRequested(){return this._addRequested}get renderer(){return this.layout.renderer}get spacing(){return this.layout.spacing}set spacing(e){this.layout.spacing=e}get mode(){return this._mode}set mode(e){if(this._mode===e)return;this._mode=e,this.dataset.mode=e;let t=this.layout;switch(e){case"multiple-document":for(let e of t.tabBars())e.show();break;case"single-document":t.restoreLayout(De.createSingleDocumentConfig(this));break;default:throw"unreachable"}M.postMessage(this,De.LayoutModified)}get tabsMovable(){return this._tabsMovable}set tabsMovable(e){this._tabsMovable=e;for(let t of this.tabBars())t.tabsMovable=e}get tabsConstrained(){return this._tabsConstrained}set tabsConstrained(e){this._tabsConstrained=e}get addButtonEnabled(){return this._addButtonEnabled}set addButtonEnabled(e){this._addButtonEnabled=e;for(let t of this.tabBars())t.addButtonEnabled=e}get isEmpty(){return this.layout.isEmpty}*widgets(){yield*this.layout.widgets()}*selectedWidgets(){yield*this.layout.selectedWidgets()}*tabBars(){yield*this.layout.tabBars()}*handles(){yield*this.layout.handles()}selectWidget(e){let t=(0,b.find)(this.tabBars(),(t=>-1!==t.titles.indexOf(e.title)));if(!t)throw new Error("Widget is not contained in the dock panel.");t.currentTitle=e.title}activateWidget(e){this.selectWidget(e),e.activate()}saveLayout(){return this.layout.saveLayout()}restoreLayout(e){this._mode="multiple-document",this.layout.restoreLayout(e),(a.IS_EDGE||a.IS_IE)&&M.flush(),M.postMessage(this,De.LayoutModified)}addWidget(e,t={}){"single-document"===this._mode?this.layout.addWidget(e):this.layout.addWidget(e,t),M.postMessage(this,De.LayoutModified)}processMessage(e){"layout-modified"===e.type?this._layoutModified.emit(void 0):super.processMessage(e)}handleEvent(e){switch(e.type){case"lm-dragenter":this._evtDragEnter(e);break;case"lm-dragleave":this._evtDragLeave(e);break;case"lm-dragover":this._evtDragOver(e);break;case"lm-drop":this._evtDrop(e);break;case"pointerdown":this._evtPointerDown(e);break;case"pointermove":this._evtPointerMove(e);break;case"pointerup":this._evtPointerUp(e);break;case"keydown":this._evtKeyDown(e);break;case"contextmenu":e.preventDefault(),e.stopPropagation()}}onBeforeAttach(e){this.node.addEventListener("lm-dragenter",this),this.node.addEventListener("lm-dragleave",this),this.node.addEventListener("lm-dragover",this),this.node.addEventListener("lm-drop",this),this.node.addEventListener("pointerdown",this)}onAfterDetach(e){this.node.removeEventListener("lm-dragenter",this),this.node.removeEventListener("lm-dragleave",this),this.node.removeEventListener("lm-dragover",this),this.node.removeEventListener("lm-drop",this),this.node.removeEventListener("pointerdown",this),this._releaseMouse()}onChildAdded(e){De.isGeneratedTabBarProperty.get(e.child)||e.child.addClass("lm-DockPanel-widget")}onChildRemoved(e){De.isGeneratedTabBarProperty.get(e.child)||(e.child.removeClass("lm-DockPanel-widget"),M.postMessage(this,De.LayoutModified))}_evtDragEnter(e){e.mimeData.hasData("application/vnd.lumino.widget-factory")&&(e.preventDefault(),e.stopPropagation())}_evtDragLeave(e){e.preventDefault(),(!this._tabsConstrained||e.source===this)&&(e.stopPropagation(),this.overlay.hide(1))}_evtDragOver(e){e.preventDefault(),this._tabsConstrained&&e.source!==this||"invalid"===this._showOverlay(e.clientX,e.clientY)?e.dropAction="none":(e.stopPropagation(),e.dropAction=e.proposedAction)}_evtDrop(e){if(e.preventDefault(),this.overlay.hide(0),"none"===e.proposedAction)return void(e.dropAction="none");let{clientX:t,clientY:r}=e,{zone:n,target:i}=De.findDropTarget(this,t,r,this._edges);if(this._tabsConstrained&&e.source!==this||"invalid"===n)return void(e.dropAction="none");let a=e.mimeData.getData("application/vnd.lumino.widget-factory");if("function"!=typeof a)return void(e.dropAction="none");let o=a();if(!(o instanceof ne))return void(e.dropAction="none");if(o.contains(this))return void(e.dropAction="none");let s=i?De.getDropRef(i.tabBar):null;switch(n){case"root-all":this.addWidget(o);break;case"root-top":this.addWidget(o,{mode:"split-top"});break;case"root-left":this.addWidget(o,{mode:"split-left"});break;case"root-right":this.addWidget(o,{mode:"split-right"});break;case"root-bottom":this.addWidget(o,{mode:"split-bottom"});break;case"widget-all":case"widget-tab":this.addWidget(o,{mode:"tab-after",ref:s});break;case"widget-top":this.addWidget(o,{mode:"split-top",ref:s});break;case"widget-left":this.addWidget(o,{mode:"split-left",ref:s});break;case"widget-right":this.addWidget(o,{mode:"split-right",ref:s});break;case"widget-bottom":this.addWidget(o,{mode:"split-bottom",ref:s});break;default:throw"unreachable"}e.dropAction=e.proposedAction,e.stopPropagation(),this.activateWidget(o)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation(),27===e.keyCode&&(this._releaseMouse(),M.postMessage(this,De.LayoutModified))}_evtPointerDown(e){if(0!==e.button)return;let t=this.layout,r=e.target,n=(0,b.find)(t.handles(),(e=>e.contains(r)));if(!n)return;e.preventDefault(),e.stopPropagation(),this._document.addEventListener("keydown",this,!0),this._document.addEventListener("pointerup",this,!0),this._document.addEventListener("pointermove",this,!0),this._document.addEventListener("contextmenu",this,!0);let i=n.getBoundingClientRect(),a=e.clientX-i.left,o=e.clientY-i.top,s=window.getComputedStyle(n),l=B.overrideCursor(s.cursor,this._document);this._pressData={handle:n,deltaX:a,deltaY:o,override:l}}_evtPointerMove(e){if(!this._pressData)return;e.preventDefault(),e.stopPropagation();let t=this.node.getBoundingClientRect(),r=e.clientX-t.left-this._pressData.deltaX,n=e.clientY-t.top-this._pressData.deltaY;this.layout.moveHandle(this._pressData.handle,r,n)}_evtPointerUp(e){0===e.button&&(e.preventDefault(),e.stopPropagation(),this._releaseMouse(),M.postMessage(this,De.LayoutModified))}_releaseMouse(){this._pressData&&(this._pressData.override.dispose(),this._pressData=null,this._document.removeEventListener("keydown",this,!0),this._document.removeEventListener("pointerup",this,!0),this._document.removeEventListener("pointermove",this,!0),this._document.removeEventListener("contextmenu",this,!0))}_showOverlay(e,t){let{zone:r,target:n}=De.findDropTarget(this,e,t,this._edges);if("invalid"===r)return this.overlay.hide(100),r;let a,o,s,l,c=i.boxSizing(this.node),u=this.node.getBoundingClientRect();switch(r){case"root-all":a=c.paddingTop,o=c.paddingLeft,s=c.paddingRight,l=c.paddingBottom;break;case"root-top":a=c.paddingTop,o=c.paddingLeft,s=c.paddingRight,l=u.height*De.GOLDEN_RATIO;break;case"root-left":a=c.paddingTop,o=c.paddingLeft,s=u.width*De.GOLDEN_RATIO,l=c.paddingBottom;break;case"root-right":a=c.paddingTop,o=u.width*De.GOLDEN_RATIO,s=c.paddingRight,l=c.paddingBottom;break;case"root-bottom":a=u.height*De.GOLDEN_RATIO,o=c.paddingLeft,s=c.paddingRight,l=c.paddingBottom;break;case"widget-all":a=n.top,o=n.left,s=n.right,l=n.bottom;break;case"widget-top":a=n.top,o=n.left,s=n.right,l=n.bottom+n.height/2;break;case"widget-left":a=n.top,o=n.left,s=n.right+n.width/2,l=n.bottom;break;case"widget-right":a=n.top,o=n.left+n.width/2,s=n.right,l=n.bottom;break;case"widget-bottom":a=n.top+n.height/2,o=n.left,s=n.right,l=n.bottom;break;case"widget-tab":{let e=n.tabBar.node.getBoundingClientRect().height;a=n.top,o=n.left,s=n.right,l=n.bottom+n.height-e;break}default:throw"unreachable"}return this.overlay.show({top:a,left:o,right:s,bottom:l}),r}_createTabBar(){let e=this._renderer.createTabBar(this._document);return De.isGeneratedTabBarProperty.set(e,!0),"single-document"===this._mode&&e.hide(),e.tabsMovable=this._tabsMovable,e.allowDeselect=!1,e.addButtonEnabled=this._addButtonEnabled,e.removeBehavior="select-previous-tab",e.insertBehavior="select-tab-if-needed",e.tabMoved.connect(this._onTabMoved,this),e.currentChanged.connect(this._onCurrentChanged,this),e.tabCloseRequested.connect(this._onTabCloseRequested,this),e.tabDetachRequested.connect(this._onTabDetachRequested,this),e.tabActivateRequested.connect(this._onTabActivateRequested,this),e.addRequested.connect(this._onTabAddRequested,this),e}_createHandle(){return this._renderer.createHandle()}_onTabMoved(){M.postMessage(this,De.LayoutModified)}_onCurrentChanged(e,t){let{previousTitle:r,currentTitle:n}=t;r&&r.owner.hide(),n&&n.owner.show(),(a.IS_EDGE||a.IS_IE)&&M.flush(),M.postMessage(this,De.LayoutModified)}_onTabAddRequested(e){this._addRequested.emit(e)}_onTabActivateRequested(e,t){t.title.owner.activate()}_onTabCloseRequested(e,t){t.title.owner.close()}_onTabDetachRequested(e,t){if(this._drag)return;e.releaseMouse();let{title:r,tab:n,clientX:i,clientY:a,offset:o}=t,s=new w.MimeData;s.setData("application/vnd.lumino.widget-factory",(()=>r.owner));let l=n.cloneNode(!0);o&&(l.style.top=`-${o.y}px`,l.style.left=`-${o.x}px`),this._drag=new B({document:this._document,mimeData:s,dragImage:l,proposedAction:"move",supportedActions:"move",source:this}),n.classList.add("lm-mod-hidden"),this._drag.start(i,a).then((()=>{this._drag=null,n.classList.remove("lm-mod-hidden")}))}};!function(e){e.Overlay=class{constructor(){this._timer=-1,this._hidden=!0,this.node=document.createElement("div"),this.node.classList.add("lm-DockPanel-overlay"),this.node.classList.add("lm-mod-hidden"),this.node.style.position="absolute",this.node.style.contain="strict"}show(e){let t=this.node.style;t.top=`${e.top}px`,t.left=`${e.left}px`,t.right=`${e.right}px`,t.bottom=`${e.bottom}px`,clearTimeout(this._timer),this._timer=-1,this._hidden&&(this._hidden=!1,this.node.classList.remove("lm-mod-hidden"))}hide(e){if(!this._hidden){if(e<=0)return clearTimeout(this._timer),this._timer=-1,this._hidden=!0,void this.node.classList.add("lm-mod-hidden");-1===this._timer&&(this._timer=window.setTimeout((()=>{this._timer=-1,this._hidden=!0,this.node.classList.add("lm-mod-hidden")}),e))}}};class t{createTabBar(e){let t=new Le({document:e});return t.addClass("lm-DockPanel-tabBar"),t}createHandle(){let e=document.createElement("div");return e.className="lm-DockPanel-handle",e}}e.Renderer=t,e.defaultRenderer=new t}(Oe||(Oe={})),function(e){e.GOLDEN_RATIO=.618,e.DEFAULT_EDGES={top:12,right:40,bottom:40,left:40},e.LayoutModified=new E("layout-modified"),e.isGeneratedTabBarProperty=new I({name:"isGeneratedTabBar",create:()=>!1}),e.createSingleDocumentConfig=function(e){if(e.isEmpty)return{main:null};let t=Array.from(e.widgets()),r=e.selectedWidgets().next().value,n=r?t.indexOf(r):-1;return{main:{type:"tab-area",widgets:t,currentIndex:n}}},e.findDropTarget=function(e,t,r,n){if(!i.hitTest(e.node,t,r))return{zone:"invalid",target:null};let a=e.layout;if(a.isEmpty)return{zone:"root-all",target:null};if("multiple-document"===e.mode){let i=e.node.getBoundingClientRect(),a=t-i.left+1,o=r-i.top+1,s=i.right-t,l=i.bottom-r;switch(Math.min(o,s,l,a)){case o:if(of&&c>f&&l>p&&u>p)return{zone:"widget-all",target:o};switch(s/=f,l/=p,c/=f,u/=p,Math.min(s,l,c,u)){case s:h="widget-left";break;case l:h="widget-top";break;case c:h="widget-right";break;case u:h="widget-bottom";break;default:throw"unreachable"}return{zone:h,target:o}},e.getDropRef=function(e){return 0===e.titles.length?null:e.currentTitle?e.currentTitle.owner:e.titles[e.titles.length-1].owner}}(De||(De={}));var Re,Fe=class e extends ie{constructor(e={}){super(e),this._dirty=!1,this._rowSpacing=4,this._columnSpacing=4,this._items=[],this._rowStarts=[],this._columnStarts=[],this._rowSizers=[new ee],this._columnSizers=[new ee],this._box=null,void 0!==e.rowCount&&Re.reallocSizers(this._rowSizers,e.rowCount),void 0!==e.columnCount&&Re.reallocSizers(this._columnSizers,e.columnCount),void 0!==e.rowSpacing&&(this._rowSpacing=Re.clampValue(e.rowSpacing)),void 0!==e.columnSpacing&&(this._columnSpacing=Re.clampValue(e.columnSpacing))}dispose(){for(let e of this._items){let t=e.widget;e.dispose(),t.dispose()}this._box=null,this._items.length=0,this._rowStarts.length=0,this._rowSizers.length=0,this._columnStarts.length=0,this._columnSizers.length=0,super.dispose()}get rowCount(){return this._rowSizers.length}set rowCount(e){e!==this.rowCount&&(Re.reallocSizers(this._rowSizers,e),this.parent&&this.parent.fit())}get columnCount(){return this._columnSizers.length}set columnCount(e){e!==this.columnCount&&(Re.reallocSizers(this._columnSizers,e),this.parent&&this.parent.fit())}get rowSpacing(){return this._rowSpacing}set rowSpacing(e){e=Re.clampValue(e),this._rowSpacing!==e&&(this._rowSpacing=e,this.parent&&this.parent.fit())}get columnSpacing(){return this._columnSpacing}set columnSpacing(e){e=Re.clampValue(e),this._columnSpacing!==e&&(this._columnSpacing=e,this.parent&&this.parent.fit())}rowStretch(e){let t=this._rowSizers[e];return t?t.stretch:-1}setRowStretch(e,t){let r=this._rowSizers[e];r&&(t=Re.clampValue(t),r.stretch!==t&&(r.stretch=t,this.parent&&this.parent.update()))}columnStretch(e){let t=this._columnSizers[e];return t?t.stretch:-1}setColumnStretch(e,t){let r=this._columnSizers[e];r&&(t=Re.clampValue(t),r.stretch!==t&&(r.stretch=t,this.parent&&this.parent.update()))}*[Symbol.iterator](){for(let e of this._items)yield e.widget}addWidget(e){-1===b.ArrayExt.findFirstIndex(this._items,(t=>t.widget===e))&&(this._items.push(new oe(e)),this.parent&&this.attachWidget(e))}removeWidget(e){let t=b.ArrayExt.findFirstIndex(this._items,(t=>t.widget===e));if(-1===t)return;let r=b.ArrayExt.removeAt(this._items,t);this.parent&&this.detachWidget(e),r.dispose()}init(){super.init();for(let e of this)this.attachWidget(e)}attachWidget(e){this.parent.isAttached&&M.sendMessage(e,ne.Msg.BeforeAttach),this.parent.node.appendChild(e.node),this.parent.isAttached&&M.sendMessage(e,ne.Msg.AfterAttach),this.parent.fit()}detachWidget(e){this.parent.isAttached&&M.sendMessage(e,ne.Msg.BeforeDetach),this.parent.node.removeChild(e.node),this.parent.isAttached&&M.sendMessage(e,ne.Msg.AfterDetach),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_fit(){for(let e=0,t=this.rowCount;e!e.isHidden));for(let e=0,r=t.length;e({row:0,column:0,rowSpan:1,columnSpan:1}),changed:function(e){e.parent&&e.parent.layout instanceof Fe&&e.parent.fit()}}),e.normalizeConfig=function(e){return{row:Math.max(0,Math.floor(e.row||0)),column:Math.max(0,Math.floor(e.column||0)),rowSpan:Math.max(1,Math.floor(e.rowSpan||0)),columnSpan:Math.max(1,Math.floor(e.columnSpan||0))}},e.clampValue=function(e){return Math.max(0,Math.floor(e))},e.rowSpanCmp=function(t,r){let n=e.cellConfigProperty.get(t.widget),i=e.cellConfigProperty.get(r.widget);return n.rowSpan-i.rowSpan},e.columnSpanCmp=function(t,r){let n=e.cellConfigProperty.get(t.widget),i=e.cellConfigProperty.get(r.widget);return n.columnSpan-i.columnSpan},e.reallocSizers=function(e,t){for(t=Math.max(1,Math.floor(t));e.lengtht&&(e.length=t)},e.distributeMin=function(e,t,r,n){if(r=n)return;let a=(n-i)/(r-t+1);for(let n=t;n<=r;++n)e[n].minSize+=a}}(Re||(Re={}));var Be,je,Ne=class e extends ne{constructor(t={}){super({node:Be.createNode()}),this._activeIndex=-1,this._tabFocusIndex=0,this._menus=[],this._childMenu=null,this._overflowMenu=null,this._menuItemSizes=[],this._overflowIndex=-1,this.addClass("lm-MenuBar"),this.setFlag(ne.Flag.DisallowLayout),this.renderer=t.renderer||e.defaultRenderer,this._forceItemsPosition=t.forceItemsPosition||{forceX:!0,forceY:!0},this._overflowMenuOptions=t.overflowMenuOptions||{isVisible:!0}}dispose(){this._closeChildMenu(),this._menus.length=0,super.dispose()}get childMenu(){return this._childMenu}get overflowIndex(){return this._overflowIndex}get overflowMenu(){return this._overflowMenu}get contentNode(){return this.node.getElementsByClassName("lm-MenuBar-content")[0]}get activeMenu(){return this._menus[this._activeIndex]||null}set activeMenu(e){this.activeIndex=e?this._menus.indexOf(e):-1}get activeIndex(){return this._activeIndex}set activeIndex(e){(e<0||e>=this._menus.length)&&(e=-1),e>-1&&0===this._menus[e].items.length&&(e=-1),this._activeIndex!==e&&(this._activeIndex=e,this.update())}get menus(){return this._menus}openActiveMenu(){-1!==this._activeIndex&&(this._openChildMenu(),this._childMenu&&(this._childMenu.activeIndex=-1,this._childMenu.activateNextItem()))}addMenu(e,t=!0){this.insertMenu(this._menus.length,e,t)}insertMenu(e,t,r=!0){this._closeChildMenu();let n=this._menus.indexOf(t),i=Math.max(0,Math.min(e,this._menus.length));if(-1===n)return b.ArrayExt.insert(this._menus,i,t),t.addClass("lm-MenuBar-menu"),t.aboutToClose.connect(this._onMenuAboutToClose,this),t.menuRequested.connect(this._onMenuMenuRequested,this),t.title.changed.connect(this._onTitleChanged,this),void(r&&this.update());i===this._menus.length&&i--,n!==i&&(b.ArrayExt.move(this._menus,n,i),r&&this.update())}removeMenu(e,t=!0){this.removeMenuAt(this._menus.indexOf(e),t)}removeMenuAt(e,t=!0){this._closeChildMenu();let r=b.ArrayExt.removeAt(this._menus,e);r&&(r.aboutToClose.disconnect(this._onMenuAboutToClose,this),r.menuRequested.disconnect(this._onMenuMenuRequested,this),r.title.changed.disconnect(this._onTitleChanged,this),r.removeClass("lm-MenuBar-menu"),t&&this.update())}clearMenus(){if(0!==this._menus.length){this._closeChildMenu();for(let e of this._menus)e.aboutToClose.disconnect(this._onMenuAboutToClose,this),e.menuRequested.disconnect(this._onMenuMenuRequested,this),e.title.changed.disconnect(this._onTitleChanged,this),e.removeClass("lm-MenuBar-menu");this._menus.length=0,this.update()}}handleEvent(e){switch(e.type){case"keydown":this._evtKeyDown(e);break;case"mousedown":this._evtMouseDown(e);break;case"mousemove":this._evtMouseMove(e);break;case"focusout":this._evtFocusOut(e);break;case"contextmenu":e.preventDefault(),e.stopPropagation()}}onBeforeAttach(e){this.node.addEventListener("keydown",this),this.node.addEventListener("mousedown",this),this.node.addEventListener("mousemove",this),this.node.addEventListener("focusout",this),this.node.addEventListener("contextmenu",this)}onAfterDetach(e){this.node.removeEventListener("keydown",this),this.node.removeEventListener("mousedown",this),this.node.removeEventListener("mousemove",this),this.node.removeEventListener("focusout",this),this.node.removeEventListener("contextmenu",this),this._closeChildMenu()}onActivateRequest(e){this.isAttached&&this._focusItemAt(0)}onResize(e){this.update(),super.onResize(e)}onUpdateRequest(e){var t;let r=this._menus,n=this.renderer,i=this._activeIndex,a=this._tabFocusIndex>=0&&this._tabFocusIndex-1?this._overflowIndex:r.length,s=0,l=!1;o=null!==this._overflowMenu?o-1:o;let c=new Array(o);for(let e=0;e{this._tabFocusIndex=e,this.activeIndex=e}}),s+=this._menuItemSizes[e],r[e].title.label===this._overflowMenuOptions.title&&(l=!0,o--);if(this._overflowMenuOptions.isVisible)if(this._overflowIndex>-1&&!l){if(null===this._overflowMenu){let e=null!==(t=this._overflowMenuOptions.title)&&void 0!==t?t:"...";this._overflowMenu=new Ee({commands:new W}),this._overflowMenu.title.label=e,this._overflowMenu.title.mnemonic=0,this.addMenu(this._overflowMenu,!1)}for(let e=r.length-2;e>=o;e--){let t=this.menus[e];t.title.mnemonic=0,this._overflowMenu.insertItem(0,{type:"submenu",submenu:t}),this.removeMenu(t,!1)}c[o]=n.renderItem({title:this._overflowMenu.title,active:o===i&&0!==r[o].items.length,tabbable:o===a,disabled:0===r[o].items.length,onfocus:()=>{this._tabFocusIndex=o,this.activeIndex=o}}),o++}else if(null!==this._overflowMenu){let e=this._overflowMenu.items,t=this.node.offsetWidth,i=this._overflowMenu.items.length;for(let l=0;lthis._menuItemSizes[i]){let t=e[0].submenu;this._overflowMenu.removeItemAt(0),this.insertMenu(o,t,!1),c[o]=n.renderItem({title:t.title,active:!1,tabbable:o===a,disabled:0===r[o].items.length,onfocus:()=>{this._tabFocusIndex=o,this.activeIndex=o}}),o++}}0===this._overflowMenu.items.length&&(this.removeMenu(this._overflowMenu,!1),c.pop(),this._overflowMenu=null,this._overflowIndex=-1)}Z.render(c,this.contentNode),this._updateOverflowIndex()}_updateOverflowIndex(){if(!this._overflowMenuOptions.isVisible)return;let e=this.contentNode.childNodes,t=this.node.offsetWidth,r=0,n=-1,i=e.length;if(0==this._menuItemSizes.length)for(let a=0;at&&-1===n&&(n=a)}else for(let e=0;et){n=e;break}this._overflowIndex=n}_evtKeyDown(e){let t=e.keyCode;if(9===t)return void(this.activeIndex=-1);if(e.preventDefault(),e.stopPropagation(),13===t||32===t||38===t||40===t){if(this.activeIndex=this._tabFocusIndex,this.activeIndex!==this._tabFocusIndex)return;return void this.openActiveMenu()}if(27===t)return this._closeChildMenu(),void this._focusItemAt(this.activeIndex);if(37===t||39===t){let e=37===t?-1:1,r=this._tabFocusIndex+e,n=this._menus.length;for(let t=0;ti.hitTest(t,e.clientX,e.clientY)));if(-1!==t){if(0===e.button)if(this._childMenu)this._closeChildMenu(),this.activeIndex=t;else{e.preventDefault();let r=this._positionForMenu(t);Ee.saveWindowData(),this.activeIndex=t,this._openChildMenu(r)}}else this._closeChildMenu()}_evtMouseMove(e){let t=b.ArrayExt.findFirstIndex(this.contentNode.children,(t=>i.hitTest(t,e.clientX,e.clientY)));if(t===this._activeIndex||-1===t&&this._childMenu)return;let r=t>=0&&this._childMenu?this._positionForMenu(t):null;Ee.saveWindowData(),this.activeIndex=t,r&&this._openChildMenu(r)}_positionForMenu(e){let t=this.contentNode.children[e],{left:r,bottom:n}=t.getBoundingClientRect();return{top:n,left:r}}_evtFocusOut(e){!this._childMenu&&!this.node.contains(e.relatedTarget)&&(this.activeIndex=-1)}_focusItemAt(e){let t=this.contentNode.childNodes[e];t&&t.focus()}_openChildMenu(e={}){let t=this.activeMenu;if(!t)return void this._closeChildMenu();let r=this._childMenu;if(r===t)return;this._childMenu=t,r?r.close():document.addEventListener("mousedown",this,!0),this._tabFocusIndex=this.activeIndex,M.sendMessage(this,ne.Msg.UpdateRequest);let{left:n,top:i}=e;(typeof n>"u"||typeof i>"u")&&({left:n,top:i}=this._positionForMenu(this._activeIndex)),r||this.addClass("lm-mod-active"),t.items.length>0&&t.open(n,i,this._forceItemsPosition)}_closeChildMenu(){if(!this._childMenu)return;this.removeClass("lm-mod-active"),document.removeEventListener("mousedown",this,!0);let e=this._childMenu;this._childMenu=null,e.close(),this.activeIndex=-1}_onMenuAboutToClose(e){e===this._childMenu&&(this.removeClass("lm-mod-active"),document.removeEventListener("mousedown",this,!0),this._childMenu=null,this.activeIndex=-1)}_onMenuMenuRequested(e,t){if(e!==this._childMenu)return;let r=this._activeIndex,n=this._menus.length;switch(t){case"next":this.activeIndex=r===n-1?0:r+1;break;case"previous":this.activeIndex=0===r?n-1:r-1}this.openActiveMenu()}_onTitleChanged(){this.update()}};!function(e){class t{renderItem(e){let t=this.createItemClass(e),r=this.createItemDataset(e),n=this.createItemARIA(e);return J.li({className:t,dataset:r,...e.disabled?{}:{tabindex:e.tabbable?"0":"-1"},onfocus:e.onfocus,...n},this.renderIcon(e),this.renderLabel(e))}renderIcon(e){let t=this.createIconClass(e);return J.div({className:t},e.title.icon,e.title.iconLabel)}renderLabel(e){let t=this.formatLabel(e);return J.div({className:"lm-MenuBar-itemLabel"},t)}createItemClass(e){let t="lm-MenuBar-item";return e.title.className&&(t+=` ${e.title.className}`),e.active&&!e.disabled&&(t+=" lm-mod-active"),t}createItemDataset(e){return e.title.dataset}createItemARIA(e){return{role:"menuitem","aria-haspopup":"true","aria-disabled":e.disabled?"true":"false"}}createIconClass(e){let t="lm-MenuBar-itemIcon",r=e.title.iconClass;return r?`${t} ${r}`:t}formatLabel(e){let{label:t,mnemonic:r}=e.title;if(r<0||r>=t.length)return t;let n=t.slice(0,r),i=t.slice(r+1),a=t[r];return[n,J.span({className:"lm-MenuBar-itemMnemonic"},a),i]}}e.Renderer=t,e.defaultRenderer=new t}(Ne||(Ne={})),function(e){e.createNode=function(){let e=document.createElement("div"),t=document.createElement("ul");return t.className="lm-MenuBar-content",e.appendChild(t),t.setAttribute("role","menubar"),e},e.findMnemonic=function(e,t,r){let n=-1,i=-1,a=!1,o=t.toUpperCase();for(let t=0,s=e.length;t=0&&u1&&this.widgets.forEach((e=>{e.hiddenMode=this._hiddenMode})))}dispose(){for(let e of this._items)e.dispose();this._box=null,this._items.length=0,super.dispose()}attachWidget(e,t){this._hiddenMode===ne.HiddenMode.Scale&&this._items.length>0?(1===this._items.length&&(this.widgets[0].hiddenMode=ne.HiddenMode.Scale),t.hiddenMode=ne.HiddenMode.Scale):t.hiddenMode=ne.HiddenMode.Display,b.ArrayExt.insert(this._items,e,new oe(t)),this.parent.isAttached&&M.sendMessage(t,ne.Msg.BeforeAttach),this.parent.node.appendChild(t.node),this.parent.isAttached&&M.sendMessage(t,ne.Msg.AfterAttach),this.parent.fit()}moveWidget(e,t,r){b.ArrayExt.move(this._items,e,t),this.parent.update()}detachWidget(e,t){let r=b.ArrayExt.removeAt(this._items,e);this.parent.isAttached&&M.sendMessage(t,ne.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.isAttached&&M.sendMessage(t,ne.Msg.AfterDetach),r.widget.node.style.zIndex="",this._hiddenMode===ne.HiddenMode.Scale&&(t.hiddenMode=ne.HiddenMode.Display,1===this._items.length&&(this._items[0].widget.hiddenMode=ne.HiddenMode.Display)),r.dispose(),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_fit(){let e=0,t=0;for(let r=0,n=this._items.length;r{this.createGraph(this._model)}))}renderModel(e){if(this.hasGraphElement())return Promise.resolve();this._model=e;let t=e.data["image/png"];return null!=t?(this.updateImage(t),Promise.resolve()):this.createGraph(e)}hasGraphElement(){return null!==this.node.querySelector(".plot-container")}updateImage(e){this.hideGraph(),this._img_el.src="data:image/png;base64,"+e,this.showImage()}hideGraph(){let e=this.node.querySelector(".plot-container");null!=e&&(e.style.display="none")}showGraph(){let e=this.node.querySelector(".plot-container");null!=e&&(e.style.display="block")}hideImage(){let e=this.node.querySelector(".plot-img");null!=e&&(e.style.display="none")}showImage(){let e=this.node.querySelector(".plot-img");null!=e&&(e.style.display="block")}createGraph(t){let{data:r,layout:n,frames:i,config:a}=t.data[this._mimeType];return n.height||(n.height=360),(async()=>(null===e.Plotly&&(e.Plotly=await Promise.resolve().then((()=>y(_()))),e._resolveLoadingPlotly()),e.loadingPlotly))().then((()=>e.Plotly.react(this.node,r,n,a))).then((r=>{this.showGraph(),this.hideImage(),this.update(),i&&e.Plotly.addFrames(this.node,i),this.node.offsetWidth>0&&this.node.offsetHeight>0&&e.Plotly.toImage(r,{format:"png",width:this.node.offsetWidth,height:this.node.offsetHeight}).then((e=>{let r=e.split(",")[1];t.data["image/png"]!==r&&t.setData({data:{...t.data,"image/png":r}})})),this.node.on("plotly_webglcontextlost",(()=>{let e=t.data["image/png"];if(null!=e)return this.updateImage(e),Promise.resolve()}))}))}onAfterShow(e){this.update()}onResize(e){this.update()}onUpdateRequest(t){e.Plotly&&this.isVisible&&this.hasGraphElement()&&e.Plotly.redraw(this.node).then((()=>{e.Plotly.Plots.resize(this.node)}))}static{this.Plotly=null}static{this.loadingPlotly=new Promise((t=>{e._resolveLoadingPlotly=t}))}},We={safe:!0,mimeTypes:[He],createRenderer:e=>new Ge(e)},Ze=[{id:"@jupyterlab/plotly-extension:factory",rendererFactory:We,rank:2,dataType:"json",fileTypes:[{name:"plotly",mimeTypes:[He],extensions:[".plotly",".plotly.json"],iconClass:"jp-MaterialIcon jp-PlotlyIcon"}],documentWidgetFactoryOptions:{name:"Plotly",primaryFileType:"plotly",fileTypes:["plotly","json"],defaultFor:["plotly"]}}]},e=>{var t,r,n=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function o(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var s,l=[],c=!1,u=-1;function h(){c&&s&&(c=!1,s.length?l=s.concat(l):u=-1,l.length&&f())}function f(){if(!c){var e=o(h);c=!0;for(var t=l.length;t;){for(s=l,l=[];++u1)for(var r=1;r{"use strict";var e,r,t=[(e,r,t)=>{var o={"./index":()=>t.e(1).then((()=>()=>t(2))),"./mimeExtension":()=>t.e(1).then((()=>()=>t(2)))},a=(e,r)=>(t.R=r,r=t.o(o,e)?o[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),t.R=void 0,r),n=(e,r)=>{if(t.S){var o="default",a=t.S[o];if(a&&a!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return t.S[o]=e,t.I(o,r)}};t.d(r,{get:()=>a,init:()=>n})}],o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var n=o[e]={exports:{}};return t[e](n,n.exports,a),n.exports}a.m=t,a.c=o,a.amdO={},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>e+".747c8e0c8042a68fba0a.js?v=747c8e0c8042a68fba0a",a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r="jupyterlab-plotly:",a.l=(t,o,n,i)=>{if(e[t])e[t].push(o);else{var l,u;if(void 0!==n)for(var p=document.getElementsByTagName("script"),s=0;s{l.onerror=l.onload=null,clearTimeout(f);var a=e[t];if(delete e[t],l.parentNode&&l.parentNode.removeChild(l),a&&a.forEach((e=>e(o))),r)return r(o)},f=setTimeout(c.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=c.bind(null,l.onerror),l.onload=c.bind(null,l.onload),u&&document.head.appendChild(l)}},a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{a.S={};var e={},r={};a.I=(t,o)=>{o||(o=[]);var n=r[t];if(n||(n=r[t]={}),!(o.indexOf(n)>=0)){if(o.push(n),e[t])return e[t];a.o(a.S,t)||(a.S[t]={});var i=a.S[t],l="jupyterlab-plotly",u=[];return"default"===t&&((e,r,t,o)=>{var n=i[e]=i[e]||{},u=n[r];(!u||!u.loaded&&(1!=!u.eager?o:l>u.from))&&(n[r]={get:()=>a.e(1).then((()=>()=>a(2))),from:l,eager:!1})})("jupyterlab-plotly","6.8.0"),e[t]=u.length?Promise.all(u).then((()=>e[t]=1)):1}}})(),(()=>{var e;a.g.importScripts&&(e=a.g.location+"");var r=a.g.document;if(!e&&r&&(r.currentScript&&"SCRIPT"===r.currentScript.tagName.toUpperCase()&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var o=t.length-1;o>-1&&(!e||!/^http(s?):/.test(e));)e=t[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=e})(),(()=>{var e={0:0};a.f.j=(r,t)=>{var o=a.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var n=new Promise(((t,a)=>o=e[r]=[t,a]));t.push(o[2]=n);var i=a.p+a.u(r),l=new Error;a.l(i,(t=>{if(a.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var n=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;l.message="Loading chunk "+r+" failed.\n("+n+": "+i+")",l.name="ChunkLoadError",l.type=n,l.request=i,o[1](l)}}),"chunk-"+r,r)}};var r=(r,t)=>{var o,n,[i,l,u]=t,p=0;if(i.some((r=>0!==e[r]))){for(o in l)a.o(l,o)&&(a.m[o]=l[o]);u&&u(a)}for(r&&r(t);p{"use strict";var e,r,t=[(e,r,t)=>{var o={"./index":()=>t.e(1).then((()=>()=>t(2))),"./mimeExtension":()=>t.e(1).then((()=>()=>t(2)))},a=(e,r)=>(t.R=r,r=t.o(o,e)?o[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),t.R=void 0,r),n=(e,r)=>{if(t.S){var o="default",a=t.S[o];if(a&&a!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return t.S[o]=e,t.I(o,r)}};t.d(r,{get:()=>a,init:()=>n})}],o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var n=o[e]={exports:{}};return t[e](n,n.exports,a),n.exports}a.m=t,a.c=o,a.amdO={},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>e+".5b2e52e843a62faccb1d.js?v=5b2e52e843a62faccb1d",a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r="jupyterlab-plotly:",a.l=(t,o,n,i)=>{if(e[t])e[t].push(o);else{var l,u;if(void 0!==n)for(var p=document.getElementsByTagName("script"),s=0;s{l.onerror=l.onload=null,clearTimeout(f);var a=e[t];if(delete e[t],l.parentNode&&l.parentNode.removeChild(l),a&&a.forEach((e=>e(o))),r)return r(o)},f=setTimeout(c.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=c.bind(null,l.onerror),l.onload=c.bind(null,l.onload),u&&document.head.appendChild(l)}},a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{a.S={};var e={},r={};a.I=(t,o)=>{o||(o=[]);var n=r[t];if(n||(n=r[t]={}),!(o.indexOf(n)>=0)){if(o.push(n),e[t])return e[t];a.o(a.S,t)||(a.S[t]={});var i=a.S[t],l="jupyterlab-plotly",u=[];return"default"===t&&((e,r,t,o)=>{var n=i[e]=i[e]||{},u=n[r];(!u||!u.loaded&&(1!=!u.eager?o:l>u.from))&&(n[r]={get:()=>a.e(1).then((()=>()=>a(2))),from:l,eager:!1})})("jupyterlab-plotly","6.8.0"),e[t]=u.length?Promise.all(u).then((()=>e[t]=1)):1}}})(),(()=>{var e;a.g.importScripts&&(e=a.g.location+"");var r=a.g.document;if(!e&&r&&(r.currentScript&&"SCRIPT"===r.currentScript.tagName.toUpperCase()&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var o=t.length-1;o>-1&&(!e||!/^http(s?):/.test(e));)e=t[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=e})(),(()=>{var e={0:0};a.f.j=(r,t)=>{var o=a.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var n=new Promise(((t,a)=>o=e[r]=[t,a]));t.push(o[2]=n);var i=a.p+a.u(r),l=new Error;a.l(i,(t=>{if(a.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var n=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;l.message="Loading chunk "+r+" failed.\n("+n+": "+i+")",l.name="ChunkLoadError",l.type=n,l.request=i,o[1](l)}}),"chunk-"+r,r)}};var r=(r,t)=>{var o,n,[i,l,u]=t,p=0;if(i.some((r=>0!==e[r]))){for(o in l)a.o(l,o)&&(a.m[o]=l[o]);u&&u(a)}for(r&&r(t);p()=>(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+` -]`),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+` -`+B.year;else return L(F,O)+` -`+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;er;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(` -`));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(` -`).map(function(q){return" "+q}).join(` -`).slice(2):Y=` -`+Y.split(` -`).map(function(q){return" "+q}).join(` -`))):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(` -`)>=0&&se++,fe+V.replace(/\u001b\[\d\d?m/g,"").length+1},0);return le>60?$[0]+(X===""?"":X+` - `)+" "+B.join(`, - `)+" "+$[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(` -`).map(function(q){return" "+q}).join(` -`).slice(2):Y=` -`+Y.split(` -`).map(function(q){return" "+q}).join(` -`))):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(` -`)>=0&&se++,fe+V.replace(/\u001b\[\d\d?m/g,"").length+1},0);return le>60?$[0]+(X===""?"":X+` - `)+" "+B.join(`, - `)+" "+$[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(` -`),q=N(B).split(` -`),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],` - -`)+"".concat(ee[0]," !== ").concat(q[0],` -`)}else if(X!=="strictEqualObject"){var Q=process.stderr&&process.stderr.isTTY?process.stderr.columns:80;if(j2&&(ae=` - `.concat(d(" ",oe),"^"),oe=0)}}}for(var re=ee[ee.length-1],ce=q[q.length-1];re===ce&&(oe++<2?fe=` - `.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(` -`);if(Ae.length>30)for(Ae[26]="".concat(u,"...").concat(R);Ae.length>27;)Ae.pop();return"".concat(L.notIdentical,` - -`).concat(Ae.join(` +var KV=Object.create;var iS=Object.defineProperty;var JV=Object.getOwnPropertyDescriptor;var QV=Object.getOwnPropertyNames;var eH=Object.getPrototypeOf,tH=Object.prototype.hasOwnProperty;var rH=(ie,fe)=>()=>(fe||ie((fe={exports:{}}).exports,fe),fe.exports);var aH=(ie,fe,Re,ct)=>{if(fe&&typeof fe=="object"||typeof fe=="function")for(let Bt of QV(fe))!tH.call(ie,Bt)&&Bt!==Re&&iS(ie,Bt,{get:()=>fe[Bt],enumerable:!(ct=JV(fe,Bt))||ct.enumerable});return ie};var nH=(ie,fe,Re)=>(Re=ie!=null?KV(eH(ie)):{},aH(fe||!ie||!ie.__esModule?iS(Re,"default",{value:ie,enumerable:!0}):Re,ie));var m9=rH((p9,L_)=>{(function(ie,fe){typeof L_=="object"&&L_.exports?L_.exports=fe():ie.moduleName=fe()})(typeof self<"u"?self:p9,()=>{"use strict";var ie=(()=>{var fe=Object.create,Re=Object.defineProperty,ct=Object.defineProperties,Bt=Object.getOwnPropertyDescriptor,ur=Object.getOwnPropertyDescriptors,Gr=Object.getOwnPropertyNames,ua=Object.getOwnPropertySymbols,da=Object.getPrototypeOf,zn=Object.prototype.hasOwnProperty,Cn=Object.prototype.propertyIsEnumerable,qn=(j,N,u)=>N in j?Re(j,N,{enumerable:!0,configurable:!0,writable:!0,value:u}):j[N]=u,Si=(j,N)=>{for(var u in N||(N={}))zn.call(N,u)&&qn(j,u,N[u]);if(ua)for(var u of ua(N))Cn.call(N,u)&&qn(j,u,N[u]);return j},co=(j,N)=>ct(j,ur(N)),jo=(j,N)=>{var u={};for(var v in j)zn.call(j,v)&&N.indexOf(v)<0&&(u[v]=j[v]);if(j!=null&&ua)for(var v of ua(j))N.indexOf(v)<0&&Cn.call(j,v)&&(u[v]=j[v]);return u},di=(j,N,u)=>function(){if(u)throw u[0];try{return j&&(N=(0,j[Gr(j)[0]])(j=0)),N}catch(w){throw u=[w],w}},De=(j,N)=>function(){try{return N||(0,j[Gr(j)[0]])((N={exports:{}}).exports,N),N.exports}catch(v){throw N=0,v}},Zo=(j,N)=>{for(var u in N)Re(j,u,{get:N[u],enumerable:!0})},Rs=(j,N,u,v)=>{if(N&&typeof N=="object"||typeof N=="function")for(let w of Gr(N))!zn.call(j,w)&&w!==u&&Re(j,w,{get:()=>N[w],enumerable:!(v=Bt(N,w))||v.enumerable});return j},Du=(j,N,u)=>(u=j!=null?fe(da(j)):{},Rs(N||!j||!j.__esModule?Re(u,"default",{value:j,enumerable:!0}):u,j)),ts=j=>Rs(Re({},"__esModule",{value:!0}),j),cf=De({"src/version.js"(j){"use strict";j.version="4.0.0-rc.0"}}),Vu=De({"node_modules/native-promise-only/lib/npo.src.js"(j,N){(function(v,w,S){w[v]=w[v]||S(),typeof N<"u"&&N.exports&&(N.exports=w[v])})("Promise",typeof window<"u"?window:j,function(){"use strict";var v,w,S,l=Object.prototype.toString,e=typeof setImmediate<"u"?function(x){return setImmediate(x)}:setTimeout;try{Object.defineProperty({},"x",{}),v=function(x,M,T,E){return Object.defineProperty(x,M,{value:T,writable:!0,configurable:E!==!1})}}catch{v=function(M,T,E){return M[T]=E,M}}S=function(){var x,M,T;function E(g,A){this.fn=g,this.self=A,this.next=void 0}return{add:function(A,m){T=new E(A,m),M?M.next=T:x=T,M=T,T=void 0},drain:function(){var A=x;for(x=M=w=void 0;A;)A.fn.call(A.self),A=A.next}}}();function t(o,x){S.add(o,x),w||(w=e(S.drain))}function a(o){var x,M=typeof o;return o!=null&&(M=="object"||M=="function")&&(x=o.then),typeof x=="function"?x:!1}function r(){for(var o=0;o0&&t(r,M))}catch(T){s.call(new p(M),T)}}}function s(o){var x=this;x.triggered||(x.triggered=!0,x.def&&(x=x.def),x.msg=o,x.state=2,x.chain.length>0&&t(r,x))}function c(o,x,M,T){for(var E=0;Ewe?1:ue>=we?0:NaN}u.descending=function(ue,we){return weue?1:we>=ue?0:NaN},u.min=function(ue,we){var Ne=-1,Ke=ue.length,et,ot;if(arguments.length===1){for(;++Ne=ot){et=ot;break}for(;++Neot&&(et=ot)}else{for(;++Ne=ot){et=ot;break}for(;++Neot&&(et=ot)}return et},u.max=function(ue,we){var Ne=-1,Ke=ue.length,et,ot;if(arguments.length===1){for(;++Ne=ot){et=ot;break}for(;++Neet&&(et=ot)}else{for(;++Ne=ot){et=ot;break}for(;++Neet&&(et=ot)}return et},u.extent=function(ue,we){var Ne=-1,Ke=ue.length,et,ot,kt;if(arguments.length===1){for(;++Ne=ot){et=kt=ot;break}for(;++Neot&&(et=ot),kt=ot){et=kt=ot;break}for(;++Neot&&(et=ot),kt1)return kt/(Ut-1)},u.deviation=function(){var ue=u.variance.apply(this,arguments);return ue&&Math.sqrt(ue)};function f(ue){return{left:function(we,Ne,Ke,et){for(arguments.length<3&&(Ke=0),arguments.length<4&&(et=we.length);Ke>>1;ue(we[ot],Ne)<0?Ke=ot+1:et=ot}return Ke},right:function(we,Ne,Ke,et){for(arguments.length<3&&(Ke=0),arguments.length<4&&(et=we.length);Ke>>1;ue(we[ot],Ne)>0?et=ot:Ke=ot+1}return Ke}}}var d=f(s);u.bisectLeft=d.left,u.bisect=u.bisectRight=d.right,u.bisector=function(ue){return f(ue.length===1?function(we,Ne){return s(ue(we),Ne)}:ue)},u.shuffle=function(ue,we,Ne){(Ke=arguments.length)<3&&(Ne=ue.length,Ke<2&&(we=0));for(var Ke=Ne-we,et,ot;Ke;)ot=Math.random()*Ke--|0,et=ue[Ke+we],ue[Ke+we]=ue[ot+we],ue[ot+we]=et;return ue},u.permute=function(ue,we){for(var Ne=we.length,Ke=new Array(Ne);Ne--;)Ke[Ne]=ue[we[Ne]];return Ke},u.pairs=function(ue){for(var we=0,Ne=ue.length-1,Ke,et=ue[0],ot=new Array(Ne<0?0:Ne);we=0;)for(kt=ue[we],Ne=kt.length;--Ne>=0;)ot[--et]=kt[Ne];return ot};var o=Math.abs;u.range=function(ue,we,Ne){if(arguments.length<3&&(Ne=1,arguments.length<2&&(we=ue,ue=0)),(we-ue)/Ne===1/0)throw new Error("infinite range");var Ke=[],et=x(o(Ne)),ot=-1,kt;if(ue*=et,we*=et,Ne*=et,Ne<0)for(;(kt=ue+Ne*++ot)>we;)Ke.push(kt/et);else for(;(kt=ue+Ne*++ot)=we.length)return et?et.call(ue,Ut):Ke?Ut.sort(Ke):Ut;for(var lr=-1,Dr=Ut.length,Pr=we[or++],ca,_a,Ur,Jr=new T,sa;++lr=we.length)return xt;var or=[],lr=Ne[Ut++];return xt.forEach(function(Dr,Pr){or.push({key:Dr,values:kt(Pr,Ut)})}),lr?or.sort(function(Dr,Pr){return lr(Dr.key,Pr.key)}):or}return ue.map=function(xt,Ut){return ot(Ut,xt,0)},ue.entries=function(xt){return kt(ot(u.map,xt,0),0)},ue.key=function(xt){return we.push(xt),ue},ue.sortKeys=function(xt){return Ne[we.length-1]=xt,ue},ue.sortValues=function(xt){return Ke=xt,ue},ue.rollup=function(xt){return et=xt,ue},ue},u.set=function(ue){var we=new F;if(ue)for(var Ne=0,Ke=ue.length;Ne=0&&(Ke=ue.slice(Ne+1),ue=ue.slice(0,Ne)),ue)return arguments.length<2?this[ue].on(Ke):this[ue].on(Ke,we);if(arguments.length===2){if(we==null)for(ue in this)this.hasOwnProperty(ue)&&this[ue].on(Ke,null);return this}};function q(ue){var we=[],Ne=new T;function Ke(){for(var et=we,ot=-1,kt=et.length,xt;++ot=0&&(Ne=ue.slice(0,we))!=="xmlns"&&(ue=ue.slice(we+1)),ce.hasOwnProperty(Ne)?{space:ce[Ne],local:ue}:ue}},X.attr=function(ue,we){if(arguments.length<2){if(typeof ue=="string"){var Ne=this.node();return ue=u.ns.qualify(ue),ue.local?Ne.getAttributeNS(ue.space,ue.local):Ne.getAttribute(ue)}for(we in ue)this.each(me(we,ue[we]));return this}return this.each(me(ue,we))};function me(ue,we){ue=u.ns.qualify(ue);function Ne(){this.removeAttribute(ue)}function Ke(){this.removeAttributeNS(ue.space,ue.local)}function et(){this.setAttribute(ue,we)}function ot(){this.setAttributeNS(ue.space,ue.local,we)}function kt(){var Ut=we.apply(this,arguments);Ut==null?this.removeAttribute(ue):this.setAttribute(ue,Ut)}function xt(){var Ut=we.apply(this,arguments);Ut==null?this.removeAttributeNS(ue.space,ue.local):this.setAttributeNS(ue.space,ue.local,Ut)}return we==null?ue.local?Ke:Ne:typeof we=="function"?ue.local?xt:kt:ue.local?ot:et}function ye(ue){return ue.trim().replace(/\s+/g," ")}X.classed=function(ue,we){if(arguments.length<2){if(typeof ue=="string"){var Ne=this.node(),Ke=(ue=Se(ue)).length,et=-1;if(we=Ne.classList){for(;++et=0;)(ot=Ne[Ke])&&(et&&et!==ot.nextSibling&&et.parentNode.insertBefore(ot,et),et=ot);return this},X.sort=function(ue){ue=be.apply(this,arguments);for(var we=-1,Ne=this.length;++we=we&&(we=et+1);!(Ut=kt[we])&&++we0&&(ue=ue.slice(0,et));var kt=yt.get(ue);kt&&(ue=kt,ot=Pt);function xt(){var lr=this[Ke];lr&&(this.removeEventListener(ue,lr,lr.$),delete this[Ke])}function Ut(){var lr=ot(we,w(arguments));xt.call(this),this.addEventListener(ue,this[Ke]=lr,lr.$=Ne),lr._=we}function or(){var lr=new RegExp("^__on([^.]+)"+u.requote(ue)+"$"),Dr;for(var Pr in this)if(Dr=Pr.match(lr)){var ca=this[Pr];this.removeEventListener(Dr[1],ca,ca.$),delete this[Pr]}}return et?we?Ut:xt:we?B:or}var yt=u.map({mouseenter:"mouseover",mouseleave:"mouseout"});S&&yt.forEach(function(ue){"on"+ue in S&&yt.remove(ue)});function At(ue,we){return function(Ne){var Ke=u.event;u.event=Ne,we[0]=this.__data__;try{ue.apply(this,we)}finally{u.event=Ke}}}function Pt(ue,we){var Ne=At(ue,we);return function(Ke){var et=this,ot=Ke.relatedTarget;(!ot||ot!==et&&!(ot.compareDocumentPosition(et)&8))&&Ne.call(et,Ke)}}var Zt,vr=0;function Nt(ue){var we=".dragsuppress-"+ ++vr,Ne="click"+we,Ke=u.select(e(ue)).on("touchmove"+we,Y).on("dragstart"+we,Y).on("selectstart"+we,Y);if(Zt==null&&(Zt="onselectstart"in ue?!1:D(ue.style,"userSelect")),Zt){var et=l(ue).style,ot=et[Zt];et[Zt]="none"}return function(kt){if(Ke.on(we,null),Zt&&(et[Zt]=ot),kt){var xt=function(){Ke.on(Ne,null)};Ke.on(Ne,function(){Y(),xt()},!0),setTimeout(xt,0)}}}u.mouse=function(ue){return nt(ue,ee())};var Kt=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function nt(ue,we){we.changedTouches&&(we=we.changedTouches[0]);var Ne=ue.ownerSVGElement||ue;if(Ne.createSVGPoint){var Ke=Ne.createSVGPoint();if(Kt<0){var et=e(ue);if(et.scrollX||et.scrollY){Ne=u.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var ot=Ne[0][0].getScreenCTM();Kt=!(ot.f||ot.e),Ne.remove()}}return Kt?(Ke.x=we.pageX,Ke.y=we.pageY):(Ke.x=we.clientX,Ke.y=we.clientY),Ke=Ke.matrixTransform(ue.getScreenCTM().inverse()),[Ke.x,Ke.y]}var kt=ue.getBoundingClientRect();return[we.clientX-kt.left-ue.clientLeft,we.clientY-kt.top-ue.clientTop]}u.touch=function(ue,we,Ne){if(arguments.length<3&&(Ne=we,we=ee().changedTouches),we){for(var Ke=0,et=we.length,ot;Ke0?1:ue<0?-1:0}function ht(ue,we,Ne){return(we[0]-ue[0])*(Ne[1]-ue[1])-(we[1]-ue[1])*(Ne[0]-ue[0])}function gt(ue){return ue>1?0:ue<-1?_e:Math.acos(ue)}function _t(ue){return ue>1?We:ue<-1?-We:Math.asin(ue)}function Ft(ue){return((ue=Math.exp(ue))-1/ue)/2}function St(ue){return((ue=Math.exp(ue))+1/ue)/2}function hr(ue){return((ue=Math.exp(2*ue))-1)/(ue+1)}function jr(ue){return(ue=Math.sin(ue/2))*ue}var ra=Math.SQRT2,$r=2,pa=4;u.interpolateZoom=function(ue,we){var Ne=ue[0],Ke=ue[1],et=ue[2],ot=we[0],kt=we[1],xt=we[2],Ut=ot-Ne,or=kt-Ke,lr=Ut*Ut+or*or,Dr,Pr;if(lr0&&(ti=ti.transition().duration(kt)),ti.call(ba.event)}function xi(){Jr&&Jr.domain(Ur.range().map(function(ti){return(ti-ue.x)/ue.k}).map(Ur.invert)),ga&&ga.domain(sa.range().map(function(ti){return(ti-ue.y)/ue.k}).map(sa.invert))}function _i(ti){xt++||ti({type:"zoomstart"})}function lo(ti){xi(),ti({type:"zoom",scale:ue.k,translate:[ue.x,ue.y]})}function mi(ti){--xt||(ti({type:"zoomend"}),Ne=null)}function $i(){var ti=this,Di=_a.of(ti,arguments),Ao=0,ss=u.select(e(ti)).on(or,iu).on(lr,yu),Cs=Zr(u.mouse(ti)),nl=Nt(ti);Jn.call(ti),_i(Di);function iu(){Ao=1,Nn(u.mouse(ti),Cs),lo(Di)}function yu(){ss.on(or,null).on(lr,null),nl(Ao),mi(Di)}}function ds(){var ti=this,Di=_a.of(ti,arguments),Ao={},ss=0,Cs,nl=".zoom-"+u.event.changedTouches[0].identifier,iu="touchmove"+nl,yu="touchend"+nl,dc=[],He=u.select(ti),Lt=Nt(ti);Tr(),_i(Di),He.on(Ut,null).on(Pr,Tr);function Dt(){var Or=u.touches(ti);return Cs=ue.k,Or.forEach(function(fa){fa.identifier in Ao&&(Ao[fa.identifier]=Zr(fa))}),Or}function Tr(){var Or=u.event.target;u.select(Or).on(iu,Nr).on(yu,qr),dc.push(Or);for(var fa=u.event.changedTouches,Sa=0,Ca=fa.length;Sa1){var cn=Pa[0],Wa=Pa[1],ta=cn[0]-Wa[0],gr=cn[1]-Wa[1];ss=ta*ta+gr*gr}}function Nr(){var Or=u.touches(ti),fa,Sa,Ca,Pa;Jn.call(ti);for(var En=0,cn=Or.length;En1?1:we,Ne=Ne<0?0:Ne>1?1:Ne,et=Ne<=.5?Ne*(1+we):Ne+we-Ne*we,Ke=2*Ne-et;function ot(xt){return xt>360?xt-=360:xt<0&&(xt+=360),xt<60?Ke+(et-Ke)*xt/60:xt<180?et:xt<240?Ke+(et-Ke)*(240-xt)/60:Ke}function kt(xt){return Math.round(ot(xt)*255)}return new Va(kt(ue+120),kt(ue),kt(ue-120))}u.hcl=xa;function xa(ue,we,Ne){return this instanceof xa?(this.h=+ue,this.c=+we,void(this.l=+Ne)):arguments.length<2?ue instanceof xa?new xa(ue.h,ue.c,ue.l):ue instanceof sn?mn(ue.l,ue.a,ue.b):mn((ue=tr((ue=u.rgb(ue)).r,ue.g,ue.b)).l,ue.a,ue.b):new xa(ue,we,Ne)}var Gn=xa.prototype=new Ta;Gn.brighter=function(ue){return new xa(this.h,this.c,Math.min(100,this.l+Yn*(arguments.length?ue:1)))},Gn.darker=function(ue){return new xa(this.h,this.c,Math.max(0,this.l-Yn*(arguments.length?ue:1)))},Gn.rgb=function(){return Pn(this.h,this.c,this.l).rgb()};function Pn(ue,we,Ne){return isNaN(ue)&&(ue=0),isNaN(we)&&(we=0),new sn(Ne,Math.cos(ue*=Xe)*we,Math.sin(ue)*we)}u.lab=sn;function sn(ue,we,Ne){return this instanceof sn?(this.l=+ue,this.a=+we,void(this.b=+Ne)):arguments.length<2?ue instanceof sn?new sn(ue.l,ue.a,ue.b):ue instanceof xa?Pn(ue.h,ue.c,ue.l):tr((ue=Va(ue)).r,ue.g,ue.b):new sn(ue,we,Ne)}var Yn=18,Zn=.95047,vi=1,Dn=1.08883,oi=sn.prototype=new Ta;oi.brighter=function(ue){return new sn(Math.min(100,this.l+Yn*(arguments.length?ue:1)),this.a,this.b)},oi.darker=function(ue){return new sn(Math.max(0,this.l-Yn*(arguments.length?ue:1)),this.a,this.b)},oi.rgb=function(){return on(this.l,this.a,this.b)};function on(ue,we,Ne){var Ke=(ue+16)/116,et=Ke+we/500,ot=Ke-Ne/200;return et=bi(et)*Zn,Ke=bi(Ke)*vi,ot=bi(ot)*Dn,new Va($a(3.2404542*et-1.5371385*Ke-.4985314*ot),$a(-.969266*et+1.8760108*Ke+.041556*ot),$a(.0556434*et-.2040259*Ke+1.0572252*ot))}function mn(ue,we,Ne){return ue>0?new xa(Math.atan2(Ne,we)*mt,Math.sqrt(we*we+Ne*Ne),ue):new xa(NaN,NaN,ue)}function bi(ue){return ue>.206893034?ue*ue*ue:(ue-4/29)/7.787037}function Li(ue){return ue>.008856?Math.pow(ue,1/3):7.787037*ue+4/29}function $a(ue){return Math.round(255*(ue<=.00304?12.92*ue:1.055*Math.pow(ue,1/2.4)-.055))}u.rgb=Va;function Va(ue,we,Ne){return this instanceof Va?(this.r=~~ue,this.g=~~we,void(this.b=~~Ne)):arguments.length<2?ue instanceof Va?new Va(ue.r,ue.g,ue.b):ar(""+ue,Va,Ga):new Va(ue,we,Ne)}function it(ue){return new Va(ue>>16,ue>>8&255,ue&255)}function Qe(ue){return it(ue)+""}var Jt=Va.prototype=new Ta;Jt.brighter=function(ue){ue=Math.pow(.7,arguments.length?ue:1);var we=this.r,Ne=this.g,Ke=this.b,et=30;return!we&&!Ne&&!Ke?new Va(et,et,et):(we&&we>4,Ke=Ke>>4|Ke,et=Ut&240,et=et>>4|et,ot=Ut&15,ot=ot<<4|ot):ue.length===7&&(Ke=(Ut&16711680)>>16,et=(Ut&65280)>>8,ot=Ut&255)),we(Ke,et,ot))}function cr(ue,we,Ne){var Ke=Math.min(ue/=255,we/=255,Ne/=255),et=Math.max(ue,we,Ne),ot=et-Ke,kt,xt,Ut=(et+Ke)/2;return ot?(xt=Ut<.5?ot/(et+Ke):ot/(2-et-Ke),ue==et?kt=(we-Ne)/ot+(we0&&Ut<1?0:kt),new Da(kt,xt,Ut)}function tr(ue,we,Ne){ue=Je(ue),we=Je(we),Ne=Je(Ne);var Ke=Li((.4124564*ue+.3575761*we+.1804375*Ne)/Zn),et=Li((.2126729*ue+.7151522*we+.072175*Ne)/vi),ot=Li((.0193339*ue+.119192*we+.9503041*Ne)/Dn);return sn(116*et-16,500*(Ke-et),200*(et-ot))}function Je(ue){return(ue/=255)<=.04045?ue/12.92:Math.pow((ue+.055)/1.055,2.4)}function bt(ue){var we=parseFloat(ue);return ue.charAt(ue.length-1)==="%"?Math.round(we*2.55):we}var qt=u.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});qt.forEach(function(ue,we){qt.set(ue,it(we))});function Qt(ue){return typeof ue=="function"?ue:function(){return ue}}u.functor=Qt,u.xhr=br(R);function br(ue){return function(we,Ne,Ke){return arguments.length===2&&typeof Ne=="function"&&(Ke=Ne,Ne=null),Ir(we,Ne,ue,Ke)}}function Ir(ue,we,Ne,Ke){var et={},ot=u.dispatch("beforesend","progress","load","error"),kt={},xt=new XMLHttpRequest,Ut=null;self.XDomainRequest&&!("withCredentials"in xt)&&/^(http(s)?:)?\/\//.test(ue)&&(xt=new XDomainRequest),"onload"in xt?xt.onload=xt.onerror=or:xt.onreadystatechange=function(){xt.readyState>3&&or()};function or(){var lr=xt.status,Dr;if(!lr&&Mr(xt)||lr>=200&&lr<300||lr===304){try{Dr=Ne.call(et,xt)}catch(Pr){ot.error.call(et,Pr);return}ot.load.call(et,Dr)}else ot.error.call(et,xt)}return xt.onprogress=function(lr){var Dr=u.event;u.event=lr;try{ot.progress.call(et,xt)}finally{u.event=Dr}},et.header=function(lr,Dr){return lr=(lr+"").toLowerCase(),arguments.length<2?kt[lr]:(Dr==null?delete kt[lr]:kt[lr]=Dr+"",et)},et.mimeType=function(lr){return arguments.length?(we=lr==null?null:lr+"",et):we},et.responseType=function(lr){return arguments.length?(Ut=lr,et):Ut},et.response=function(lr){return Ne=lr,et},["get","post"].forEach(function(lr){et[lr]=function(){return et.send.apply(et,[lr].concat(w(arguments)))}}),et.send=function(lr,Dr,Pr){if(arguments.length===2&&typeof Dr=="function"&&(Pr=Dr,Dr=null),xt.open(lr,ue,!0),we!=null&&!("accept"in kt)&&(kt.accept=we+",*/*"),xt.setRequestHeader)for(var ca in kt)xt.setRequestHeader(ca,kt[ca]);return we!=null&&xt.overrideMimeType&&xt.overrideMimeType(we),Ut!=null&&(xt.responseType=Ut),Pr!=null&&et.on("error",Pr).on("load",function(_a){Pr(null,_a)}),ot.beforesend.call(et,xt),xt.send(Dr??null),et},et.abort=function(){return xt.abort(),et},u.rebind(et,ot,"on"),Ke==null?et:et.get(Cr(Ke))}function Cr(ue){return ue.length===1?function(we,Ne){ue(we==null?Ne:null)}:ue}function Mr(ue){var we=ue.responseType;return we&&we!=="text"?ue.response:ue.responseText}u.dsv=function(ue,we){var Ne=new RegExp('["'+ue+` +]`),Ke=ue.charCodeAt(0);function et(or,lr,Dr){arguments.length<3&&(Dr=lr,lr=null);var Pr=Ir(or,we,lr==null?ot:kt(lr),Dr);return Pr.row=function(ca){return arguments.length?Pr.response((lr=ca)==null?ot:kt(ca)):lr},Pr}function ot(or){return et.parse(or.responseText)}function kt(or){return function(lr){return et.parse(lr.responseText,or)}}et.parse=function(or,lr){var Dr;return et.parseRows(or,function(Pr,ca){if(Dr)return Dr(Pr,ca-1);var _a=function(Ur){for(var Jr={},sa=Pr.length,ga=0;ga=_a)return Pr;if(ga)return ga=!1,Dr;var hn=Ur;if(or.charCodeAt(hn)===34){for(var wn=hn;wn++<_a;)if(or.charCodeAt(wn)===34){if(or.charCodeAt(wn+1)!==34)break;++wn}Ur=wn+2;var Nn=or.charCodeAt(wn+1);return Nn===13?(ga=!0,or.charCodeAt(wn+2)===10&&++Ur):Nn===10&&(ga=!0),or.slice(hn+1,wn).replace(/""/g,'"')}for(;Ur<_a;){var Nn=or.charCodeAt(Ur++),ni=1;if(Nn===10)ga=!0;else if(Nn===13)ga=!0,or.charCodeAt(Ur)===10&&(++Ur,++ni);else if(Nn!==Ke)continue;return or.slice(hn,Ur-ni)}return or.slice(hn)}for(;(sa=ba())!==Pr;){for(var Zr=[];sa!==Dr&&sa!==Pr;)Zr.push(sa),sa=ba();lr&&(Zr=lr(Zr,Jr++))==null||ca.push(Zr)}return ca},et.format=function(or){if(Array.isArray(or[0]))return et.formatRows(or);var lr=new F,Dr=[];return or.forEach(function(Pr){for(var ca in Pr)lr.has(ca)||Dr.push(lr.add(ca))}),[Dr.map(Ut).join(ue)].concat(or.map(function(Pr){return Dr.map(function(ca){return Ut(Pr[ca])}).join(ue)})).join(` +`)},et.formatRows=function(or){return or.map(xt).join(` +`)};function xt(or){return or.map(Ut).join(ue)}function Ut(or){return Ne.test(or)?'"'+or.replace(/\"/g,'""')+'"':or}return et},u.csv=u.dsv(",","text/csv"),u.tsv=u.dsv(" ","text/tab-separated-values");var Xr,Ra,wa,yn,fn=this[D(this,"requestAnimationFrame")]||function(ue){setTimeout(ue,17)};u.timer=function(){ri.apply(this,arguments)};function ri(ue,we,Ne){var Ke=arguments.length;Ke<2&&(we=0),Ke<3&&(Ne=Date.now());var et=Ne+we,ot={c:ue,t:et,n:null};return Ra?Ra.n=ot:Xr=ot,Ra=ot,wa||(yn=clearTimeout(yn),wa=1,fn(On)),ot}function On(){var ue=ui(),we=jn()-ue;we>24?(isFinite(we)&&(clearTimeout(yn),yn=setTimeout(On,we)),wa=0):(wa=1,fn(On))}u.timer.flush=function(){ui(),jn()};function ui(){for(var ue=Date.now(),we=Xr;we;)ue>=we.t&&we.c(ue-we.t)&&(we.c=null),we=we.n;return ue}function jn(){for(var ue,we=Xr,Ne=1/0;we;)we.c?(we.t=0;--xt)Ur.push(et[or[Dr[xt]][2]]);for(xt=+ca;xt1&&ht(ue[Ne[Ke-2]],ue[Ne[Ke-1]],ue[et])<=0;)--Ke;Ne[Ke++]=et}return Ne.slice(0,Ke)}function bo(ue,we){return ue[0]-we[0]||ue[1]-we[1]}u.geom.polygon=function(ue){return U(ue,so),ue};var so=u.geom.polygon.prototype=[];so.area=function(){for(var ue=-1,we=this.length,Ne,Ke=this[we-1],et=0;++ueze)xt=xt.L;else if(kt=we-Zi(xt,Ne),kt>ze){if(!xt.R){Ke=xt;break}xt=xt.R}else{ot>-ze?(Ke=xt.P,et=xt):kt>-ze?(Ke=xt,et=xt.N):Ke=et=xt;break}var Ut=Co(ue);if(po.insert(Ke,Ut),!(!Ke&&!et)){if(Ke===et){Ds(Ke),et=Co(Ke.site),po.insert(Ut,et),Ut.edge=et.edge=Qo(Ke.site,Ut.site),qo(Ke),qo(et);return}if(!et){Ut.edge=Qo(Ke.site,Ut.site);return}Ds(Ke),Ds(et);var or=Ke.site,lr=or.x,Dr=or.y,Pr=ue.x-lr,ca=ue.y-Dr,_a=et.site,Ur=_a.x-lr,Jr=_a.y-Dr,sa=2*(Pr*Jr-ca*Ur),ga=Pr*Pr+ca*ca,ba=Ur*Ur+Jr*Jr,Zr={x:(Jr*ga-ca*ba)/sa+lr,y:(Pr*ba-Ur*ga)/sa+Dr};ys(et.edge,or,_a,Zr),Ut.edge=Qo(or,ue,null,Zr),et.edge=Qo(ue,_a,null,Zr),qo(Ke),qo(et)}}function Ro(ue,we){var Ne=ue.site,Ke=Ne.x,et=Ne.y,ot=et-we;if(!ot)return Ke;var kt=ue.P;if(!kt)return-1/0;Ne=kt.site;var xt=Ne.x,Ut=Ne.y,or=Ut-we;if(!or)return xt;var lr=xt-Ke,Dr=1/ot-1/or,Pr=lr/or;return Dr?(-Pr+Math.sqrt(Pr*Pr-2*Dr*(lr*lr/(-2*or)-Ut+or/2+et-ot/2)))/Dr+Ke:(Ke+xt)/2}function Zi(ue,we){var Ne=ue.N;if(Ne)return Ro(Ne,we);var Ke=ue.site;return Ke.y===we?Ke.x:1/0}function ls(ue){this.site=ue,this.edges=[]}ls.prototype.prepare=function(){for(var ue=this.edges,we=ue.length,Ne;we--;)Ne=ue[we].edge,(!Ne.b||!Ne.a)&&ue.splice(we,1);return ue.sort(mo),ue.length};function Eo(ue){for(var we=ue[0][0],Ne=ue[1][0],Ke=ue[0][1],et=ue[1][1],ot,kt,xt,Ut,or=Po,lr=or.length,Dr,Pr,ca,_a,Ur,Jr;lr--;)if(Dr=or[lr],!(!Dr||!Dr.prepare()))for(ca=Dr.edges,_a=ca.length,Pr=0;Pr<_a;)Jr=ca[Pr].end(),xt=Jr.x,Ut=Jr.y,Ur=ca[++Pr%_a].start(),ot=Ur.x,kt=Ur.y,(o(xt-ot)>ze||o(Ut-kt)>ze)&&(ca.splice(Pr,0,new $o(Gl(Dr.site,Jr,o(xt-we)ze?{x:we,y:o(ot-we)ze?{x:o(kt-et)ze?{x:Ne,y:o(ot-Ne)ze?{x:o(kt-Ke)=-ve)){var Pr=Ut*Ut+or*or,ca=lr*lr+Jr*Jr,_a=(Jr*Pr-or*ca)/Dr,Ur=(Ut*ca-lr*Pr)/Dr,Jr=Ur+xt,sa=zi.pop()||new Zs;sa.arc=ue,sa.site=et,sa.x=_a+kt,sa.y=Jr+Math.sqrt(_a*_a+Ur*Ur),sa.cy=Jr,ue.circle=sa;for(var ga=null,ba=Yi._;ba;)if(sa.y0)){if(Ur/=ca,ca<0){if(Ur0){if(Ur>Pr)return;Ur>Dr&&(Dr=Ur)}if(Ur=Ne-xt,!(!ca&&Ur<0)){if(Ur/=ca,ca<0){if(Ur>Pr)return;Ur>Dr&&(Dr=Ur)}else if(ca>0){if(Ur0)){if(Ur/=_a,_a<0){if(Ur0){if(Ur>Pr)return;Ur>Dr&&(Dr=Ur)}if(Ur=Ke-Ut,!(!_a&&Ur<0)){if(Ur/=_a,_a<0){if(Ur>Pr)return;Ur>Dr&&(Dr=Ur)}else if(_a>0){if(Ur0&&(et.a={x:xt+Dr*ca,y:Ut+Dr*_a}),Pr<1&&(et.b={x:xt+Pr*ca,y:Ut+Pr*_a}),et}}}}}}function is(ue){for(var we=fo,Ne=Us(ue[0][0],ue[0][1],ue[1][0],ue[1][1]),Ke=we.length,et;Ke--;)et=we[Ke],(!cl(et,ue)||!Ne(et)||o(et.a.x-et.b.x)=ot)return;if(lr>Pr){if(!Ke)Ke={x:_a,y:kt};else if(Ke.y>=xt)return;Ne={x:_a,y:xt}}else{if(!Ke)Ke={x:_a,y:xt};else if(Ke.y1)if(lr>Pr){if(!Ke)Ke={x:(kt-sa)/Jr,y:kt};else if(Ke.y>=xt)return;Ne={x:(xt-sa)/Jr,y:xt}}else{if(!Ke)Ke={x:(xt-sa)/Jr,y:xt};else if(Ke.y=ot)return;Ne={x:ot,y:Jr*ot+sa}}else{if(!Ke)Ke={x:ot,y:Jr*ot+sa};else if(Ke.x=lr&&sa.x<=Pr&&sa.y>=Dr&&sa.y<=ca?[[lr,ca],[Pr,ca],[Pr,Dr],[lr,Dr]]:[];ga.point=Ut[Ur]}),or}function xt(Ut){return Ut.map(function(or,lr){return{x:Math.round(Ke(or,lr)/ze)*ze,y:Math.round(et(or,lr)/ze)*ze,i:lr}})}return kt.links=function(Ut){return Kl(xt(Ut)).edges.filter(function(or){return or.l&&or.r}).map(function(or){return{source:Ut[or.l.i],target:Ut[or.r.i]}})},kt.triangles=function(Ut){var or=[];return Kl(xt(Ut)).cells.forEach(function(lr,Dr){for(var Pr=lr.site,ca=lr.edges.sort(mo),_a=-1,Ur=ca.length,Jr,sa,ga=ca[Ur-1].edge,ba=ga.l===Pr?ga.r:ga.l;++_aba&&(ba=lr.x),lr.y>Zr&&(Zr=lr.y),ca.push(lr.x),_a.push(lr.y);else for(Ur=0;Urba&&(ba=hn),wn>Zr&&(Zr=wn),ca.push(hn),_a.push(wn)}var Nn=ba-sa,ni=Zr-ga;Nn>ni?Zr=ga+Nn:ba=sa+ni;function xi(mi,$i,ds,Ks,Ss,ti,Di,Ao){if(!(isNaN(ds)||isNaN(Ks)))if(mi.leaf){var ss=mi.x,Cs=mi.y;if(ss!=null)if(o(ss-ds)+o(Cs-Ks)<.01)_i(mi,$i,ds,Ks,Ss,ti,Di,Ao);else{var nl=mi.point;mi.x=mi.y=mi.point=null,_i(mi,nl,ss,Cs,Ss,ti,Di,Ao),_i(mi,$i,ds,Ks,Ss,ti,Di,Ao)}else mi.x=ds,mi.y=Ks,mi.point=$i}else _i(mi,$i,ds,Ks,Ss,ti,Di,Ao)}function _i(mi,$i,ds,Ks,Ss,ti,Di,Ao){var ss=(Ss+Di)*.5,Cs=(ti+Ao)*.5,nl=ds>=ss,iu=Ks>=Cs,yu=iu<<1|nl;mi.leaf=!1,mi=mi.nodes[yu]||(mi.nodes[yu]=Ec()),nl?Ss=ss:Di=ss,iu?ti=Cs:Ao=Cs,xi(mi,$i,ds,Ks,Ss,ti,Di,Ao)}var lo=Ec();if(lo.add=function(mi){xi(lo,mi,+Dr(mi,++Ur),+Pr(mi,Ur),sa,ga,ba,Zr)},lo.visit=function(mi){fu(mi,lo,sa,ga,ba,Zr)},lo.find=function(mi){return hu(lo,mi[0],mi[1],sa,ga,ba,Zr)},Ur=-1,we==null){for(;++Urot||Pr>kt||ca=hn,ni=Ne>=wn,xi=ni<<1|Nn,_i=xi+4;xi<_i;++xi)if(lr=Zr[xi&3])switch(xi&3){case 0:or(lr,Dr,Pr,hn,wn);break;case 1:or(lr,hn,Pr,ca,wn);break;case 2:or(lr,Dr,wn,hn,_a);break;case 3:or(lr,hn,wn,ca,_a);break}}}(ue,Ke,et,ot,kt),Ut}u.interpolateRgb=du;function du(ue,we){ue=u.rgb(ue),we=u.rgb(we);var Ne=ue.r,Ke=ue.g,et=ue.b,ot=we.r-Ne,kt=we.g-Ke,xt=we.b-et;return function(Ut){return"#"+Yt(Math.round(Ne+ot*Ut))+Yt(Math.round(Ke+kt*Ut))+Yt(Math.round(et+xt*Ut))}}u.interpolateObject=Jl;function Jl(ue,we){var Ne={},Ke={},et;for(et in ue)et in we?Ne[et]=Xu(ue[et],we[et]):Ke[et]=ue[et];for(et in we)et in ue||(Ke[et]=we[et]);return function(ot){for(et in Ne)Ke[et]=Ne[et](ot);return Ke}}u.interpolateNumber=Fs;function Fs(ue,we){return ue=+ue,we=+we,function(Ne){return ue*(1-Ne)+we*Ne}}u.interpolateString=Yo;function Yo(ue,we){var Ne=tl.lastIndex=wu.lastIndex=0,Ke,et,ot,kt=-1,xt=[],Ut=[];for(ue=ue+"",we=we+"";(Ke=tl.exec(ue))&&(et=wu.exec(we));)(ot=et.index)>Ne&&(ot=we.slice(Ne,ot),xt[kt]?xt[kt]+=ot:xt[++kt]=ot),(Ke=Ke[0])===(et=et[0])?xt[kt]?xt[kt]+=et:xt[++kt]=et:(xt[++kt]=null,Ut.push({i:kt,x:Fs(Ke,et)})),Ne=wu.lastIndex;return Ne=0&&!(Ke=u.interpolators[Ne](ue,we)););return Ke}u.interpolators=[function(ue,we){var Ne=typeof we;return(Ne==="string"?qt.has(we.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(we)?du:Yo:we instanceof Ta?du:Array.isArray(we)?kc:Ne==="object"&&isNaN(we)?Jl:Fs)(ue,we)}],u.interpolateArray=kc;function kc(ue,we){var Ne=[],Ke=[],et=ue.length,ot=we.length,kt=Math.min(ue.length,we.length),xt;for(xt=0;xt=0?ue.slice(0,we):ue,Ke=we>=0?ue.slice(we+1):"in";return Ne=Zf.get(Ne)||zs,Ke=Io.get(Ke)||R,$f(Ke(Ne.apply(null,v.call(arguments,1))))};function $f(ue){return function(we){return we<=0?0:we>=1?1:ue(we)}}function Vo(ue){return function(we){return 1-ue(1-we)}}function qi(ue){return function(we){return .5*(we<.5?ue(2*we):2-ue(2-2*we))}}function Zu(ue){return ue*ue}function bc(ue){return ue*ue*ue}function El(ue){if(ue<=0)return 0;if(ue>=1)return 1;var we=ue*ue,Ne=we*ue;return 4*(ue<.5?Ne:3*(ue-we)+Ne-.75)}function mf(ue){return function(we){return Math.pow(we,ue)}}function Au(ue){return 1-Math.cos(ue*We)}function nc(ue){return Math.pow(2,10*(ue-1))}function rl(ue){return 1-Math.sqrt(1-ue*ue)}function gf(ue,we){var Ne;return arguments.length<2&&(we=.45),arguments.length?Ne=we/Ie*Math.asin(1/ue):(ue=1,Ne=we/4),function(Ke){return 1+ue*Math.pow(2,-10*Ke)*Math.sin((Ke-Ne)*Ie/we)}}function Yc(ue){return ue||(ue=1.70158),function(we){return we*we*((ue+1)*we-ue)}}function ic(ue){return ue<1/2.75?7.5625*ue*ue:ue<2/2.75?7.5625*(ue-=1.5/2.75)*ue+.75:ue<2.5/2.75?7.5625*(ue-=2.25/2.75)*ue+.9375:7.5625*(ue-=2.625/2.75)*ue+.984375}u.interpolateHcl=oc;function oc(ue,we){ue=u.hcl(ue),we=u.hcl(we);var Ne=ue.h,Ke=ue.c,et=ue.l,ot=we.h-Ne,kt=we.c-Ke,xt=we.l-et;return isNaN(kt)&&(kt=0,Ke=isNaN(Ke)?we.c:Ke),isNaN(ot)?(ot=0,Ne=isNaN(Ne)?we.h:Ne):ot>180?ot-=360:ot<-180&&(ot+=360),function(Ut){return Pn(Ne+ot*Ut,Ke+kt*Ut,et+xt*Ut)+""}}u.interpolateHsl=Xc;function Xc(ue,we){ue=u.hsl(ue),we=u.hsl(we);var Ne=ue.h,Ke=ue.s,et=ue.l,ot=we.h-Ne,kt=we.s-Ke,xt=we.l-et;return isNaN(kt)&&(kt=0,Ke=isNaN(Ke)?we.s:Ke),isNaN(ot)?(ot=0,Ne=isNaN(Ne)?we.h:Ne):ot>180?ot-=360:ot<-180&&(ot+=360),function(Ut){return Ga(Ne+ot*Ut,Ke+kt*Ut,et+xt*Ut)+""}}u.interpolateLab=Zc;function Zc(ue,we){ue=u.lab(ue),we=u.lab(we);var Ne=ue.l,Ke=ue.a,et=ue.b,ot=we.l-Ne,kt=we.a-Ke,xt=we.b-et;return function(Ut){return on(Ne+ot*Ut,Ke+kt*Ut,et+xt*Ut)+""}}u.interpolateRound=Ql;function Ql(ue,we){return we-=ue,function(Ne){return Math.round(ue+we*Ne)}}u.transform=function(ue){var we=S.createElementNS(u.ns.prefix.svg,"g");return(u.transform=function(Ne){if(Ne!=null){we.setAttribute("transform",Ne);var Ke=we.transform.baseVal.consolidate()}return new Cc(Ke?Ke.matrix:lc)})(ue)};function Cc(ue){var we=[ue.a,ue.b],Ne=[ue.c,ue.d],Ke=sc(we),et=eu(we,Ne),ot=sc(qs(Ne,we,-et))||0;we[0]*Ne[1]180?we+=360:we-ue>180&&(ue+=360),Ke.push({i:Ne.push(Fu(Ne)+"rotate(",null,")")-2,x:Fs(ue,we)})):we&&Ne.push(Fu(Ne)+"rotate("+we+")")}function Kf(ue,we,Ne,Ke){ue!==we?Ke.push({i:Ne.push(Fu(Ne)+"skewX(",null,")")-2,x:Fs(ue,we)}):we&&Ne.push(Fu(Ne)+"skewX("+we+")")}function yf(ue,we,Ne,Ke){if(ue[0]!==we[0]||ue[1]!==we[1]){var et=Ne.push(Fu(Ne)+"scale(",null,",",null,")");Ke.push({i:et-4,x:Fs(ue[0],we[0])},{i:et-2,x:Fs(ue[1],we[1])})}else(we[0]!==1||we[1]!==1)&&Ne.push(Fu(Ne)+"scale("+we+")")}function $u(ue,we){var Ne=[],Ke=[];return ue=u.transform(ue),we=u.transform(we),Ko(ue.translate,we.translate,Ne,Ke),Lc(ue.rotate,we.rotate,Ne,Ke),Kf(ue.skew,we.skew,Ne,Ke),yf(ue.scale,we.scale,Ne,Ke),ue=we=null,function(et){for(var ot=-1,kt=Ke.length,xt;++ot0?ot=Zr:(Ne.c=null,Ne.t=NaN,Ne=null,we.end({type:"end",alpha:ot=0})):Zr>0&&(we.start({type:"start",alpha:ot=Zr}),Ne=ri(ue.tick)),ue):ot},ue.start=function(){var Zr,hn=ca.length,wn=_a.length,Nn=Ke[0],ni=Ke[1],xi,_i;for(Zr=0;Zr=0;)ot.push(lr=or[Ut]),lr.parent=xt,lr.depth=xt.depth+1;Ne&&(xt.value=0),xt.children=or}else Ne&&(xt.value=+Ne.call(Ke,xt,xt.depth)||0),delete xt.children;return Tu(et,function(Dr){var Pr,ca;ue&&(Pr=Dr.children)&&Pr.sort(ue),Ne&&(ca=Dr.parent)&&(ca.value+=Dr.value)}),kt}return Ke.sort=function(et){return arguments.length?(ue=et,Ke):ue},Ke.children=function(et){return arguments.length?(we=et,Ke):we},Ke.value=function(et){return arguments.length?(Ne=et,Ke):Ne},Ke.revalue=function(et){return Ne&&(Bu(et,function(ot){ot.children&&(ot.value=0)}),Tu(et,function(ot){var kt;ot.children||(ot.value=+Ne.call(Ke,ot,ot.depth)||0),(kt=ot.parent)&&(kt.value+=ot.value)})),et},Ke};function vu(ue,we){return u.rebind(ue,we,"sort","children","value"),ue.nodes=ue,ue.links=Vl,ue}function Bu(ue,we){for(var Ne=[ue];(ue=Ne.pop())!=null;)if(we(ue),(et=ue.children)&&(Ke=et.length))for(var Ke,et;--Ke>=0;)Ne.push(et[Ke])}function Tu(ue,we){for(var Ne=[ue],Ke=[];(ue=Ne.pop())!=null;)if(Ke.push(ue),(kt=ue.children)&&(ot=kt.length))for(var et=-1,ot,kt;++etet&&(et=xt),Ke.push(xt)}for(kt=0;ktKe&&(Ne=we,Ke=et);return Ne}function Qc(ue){return ue.reduce(cc,0)}function cc(ue,we){return ue+we[1]}u.layout.histogram=function(){var ue=!0,we=Number,Ne=Rc,Ke=fc;function et(ot,Pr){for(var xt=[],Ut=ot.map(we,this),or=Ne.call(this,Ut,Pr),lr=Ke.call(this,or,Ut,Pr),Dr,Pr=-1,ca=Ut.length,_a=lr.length-1,Ur=ue?1:1/ca,Jr;++Pr<_a;)Dr=xt[Pr]=[],Dr.dx=lr[Pr+1]-(Dr.x=lr[Pr]),Dr.y=0;if(_a>0)for(Pr=-1;++Pr=or[0]&&Jr<=or[1]&&(Dr=xt[u.bisect(lr,Jr,1,_a)-1],Dr.y+=Ur,Dr.push(ot[Pr]));return xt}return et.value=function(ot){return arguments.length?(we=ot,et):we},et.range=function(ot){return arguments.length?(Ne=Qt(ot),et):Ne},et.bins=function(ot){return arguments.length?(Ke=typeof ot=="number"?function(kt){return ru(kt,ot)}:Qt(ot),et):Ke},et.frequency=function(ot){return arguments.length?(ue=!!ot,et):ue},et};function fc(ue,we){return ru(ue,Math.ceil(Math.log(we.length)/Math.LN2+1))}function ru(ue,we){for(var Ne=-1,Ke=+ue[0],et=(ue[1]-Ke)/we,ot=[];++Ne<=we;)ot[Ne]=et*Ne+Ke;return ot}function Rc(ue){return[u.min(ue),u.max(ue)]}u.layout.pack=function(){var ue=u.layout.hierarchy().sort(Qu),we=0,Ne=[1,1],Ke;function et(ot,kt){var xt=ue.call(this,ot,kt),Ut=xt[0],or=Ne[0],lr=Ne[1],Dr=Ke==null?Math.sqrt:typeof Ke=="function"?Ke:function(){return Ke};if(Ut.x=Ut.y=0,Tu(Ut,function(ca){ca.r=+Dr(ca.value)}),Tu(Ut,eh),we){var Pr=we*(Ke?1:Math.max(2*Ut.r/or,2*Ut.r/lr))/2;Tu(Ut,function(ca){ca.r+=Pr}),Tu(Ut,eh),Tu(Ut,function(ca){ca.r-=Pr})}return Dc(Ut,or/2,lr/2,Ke?1:1/Math.max(2*Ut.r/or,2*Ut.r/lr)),xt}return et.size=function(ot){return arguments.length?(Ne=ot,et):Ne},et.radius=function(ot){return arguments.length?(Ke=ot==null||typeof ot=="function"?ot:+ot,et):Ke},et.padding=function(ot){return arguments.length?(we=+ot,et):we},vu(et,ue)};function Qu(ue,we){return ue.value-we.value}function ef(ue,we){var Ne=ue._pack_next;ue._pack_next=we,we._pack_prev=ue,we._pack_next=Ne,Ne._pack_prev=we}function tf(ue,we){ue._pack_next=we,we._pack_prev=ue}function wf(ue,we){var Ne=we.x-ue.x,Ke=we.y-ue.y,et=ue.r+we.r;return .999*et*et>Ne*Ne+Ke*Ke}function eh(ue){if(!(we=ue.children)||!(Pr=we.length))return;var we,Ne=1/0,Ke=-1/0,et=1/0,ot=-1/0,kt,xt,Ut,or,lr,Dr,Pr;function ca(Zr){Ne=Math.min(Zr.x-Zr.r,Ne),Ke=Math.max(Zr.x+Zr.r,Ke),et=Math.min(Zr.y-Zr.r,et),ot=Math.max(Zr.y+Zr.r,ot)}if(we.forEach(Ic),kt=we[0],kt.x=-kt.r,kt.y=0,ca(kt),Pr>1&&(xt=we[1],xt.x=xt.r,xt.y=0,ca(xt),Pr>2))for(Ut=we[2],yl(kt,xt,Ut),ca(Ut),ef(kt,Ut),kt._pack_prev=Ut,ef(Ut,xt),xt=kt._pack_next,or=3;orJr.x&&(Jr=hn),hn.depth>sa.depth&&(sa=hn)});var ga=we(Ur,Jr)/2-Ur.x,ba=Ne[0]/(Jr.x+we(Jr,Ur)/2+ga),Zr=Ne[1]/(sa.depth||1);Bu(ca,function(hn){hn.x=(hn.x+ga)*ba,hn.y=hn.depth*Zr})}return Pr}function ot(lr){for(var Dr={A:null,children:[lr]},Pr=[Dr],ca;(ca=Pr.pop())!=null;)for(var _a=ca.children,Ur,Jr=0,sa=_a.length;Jr0&&(Fc(Tt(Ur,lr,Pr),lr,hn),sa+=hn,ga+=hn),ba+=Ur.m,sa+=ca.m,Zr+=Jr.m,ga+=_a.m;Ur&&!th(_a)&&(_a.t=Ur,_a.m+=ba-ga),ca&&!Tf(Jr)&&(Jr.t=ca,Jr.m+=sa-Zr,Pr=lr)}return Pr}function or(lr){lr.x*=Ne[0],lr.y=lr.depth*Ne[1]}return et.separation=function(lr){return arguments.length?(we=lr,et):we},et.size=function(lr){return arguments.length?(Ke=(Ne=lr)==null?or:null,et):Ke?null:Ne},et.nodeSize=function(lr){return arguments.length?(Ke=(Ne=lr)==null?null:or,et):Ke?Ne:null},vu(et,ue)};function Mu(ue,we){return ue.parent==we.parent?1:2}function Tf(ue){var we=ue.children;return we.length?we[0]:ue.t}function th(ue){var we=ue.children,Ne;return(Ne=we.length)?we[Ne-1]:ue.t}function Fc(ue,we,Ne){var Ke=Ne/(we.i-ue.i);we.c-=Ke,we.s+=Ne,ue.c+=Ke,we.z+=Ne,we.m+=Ne}function Ou(ue){for(var we=0,Ne=0,Ke=ue.children,et=Ke.length,ot;--et>=0;)ot=Ke[et],ot.z+=we,ot.m+=we,we+=ot.s+(Ne+=ot.c)}function Tt(ue,we,Ne){return ue.a.parent===we.parent?ue.a:Ne}u.layout.cluster=function(){var ue=u.layout.hierarchy().sort(null).value(null),we=Mu,Ne=[1,1],Ke=!1;function et(ot,kt){var xt=ue.call(this,ot,kt),Ut=xt[0],or,lr=0;Tu(Ut,function(Ur){var Jr=Ur.children;Jr&&Jr.length?(Ur.x=yr(Jr),Ur.y=jt(Jr)):(Ur.x=or?lr+=we(Ur,or):0,Ur.y=0,or=Ur)});var Dr=dr(Ut),Pr=Wr(Ut),ca=Dr.x-we(Dr,Pr)/2,_a=Pr.x+we(Pr,Dr)/2;return Tu(Ut,Ke?function(Ur){Ur.x=(Ur.x-Ut.x)*Ne[0],Ur.y=(Ut.y-Ur.y)*Ne[1]}:function(Ur){Ur.x=(Ur.x-ca)/(_a-ca)*Ne[0],Ur.y=(1-(Ut.y?Ur.y/Ut.y:1))*Ne[1]}),xt}return et.separation=function(ot){return arguments.length?(we=ot,et):we},et.size=function(ot){return arguments.length?(Ke=(Ne=ot)==null,et):Ke?null:Ne},et.nodeSize=function(ot){return arguments.length?(Ke=(Ne=ot)!=null,et):Ke?Ne:null},vu(et,ue)};function jt(ue){return 1+u.max(ue,function(we){return we.y})}function yr(ue){return ue.reduce(function(we,Ne){return we+Ne.x},0)/ue.length}function dr(ue){var we=ue.children;return we&&we.length?dr(we[0]):ue}function Wr(ue){var we=ue.children,Ne;return we&&(Ne=we.length)?Wr(we[Ne-1]):ue}u.layout.treemap=function(){var ue=u.layout.hierarchy(),we=Math.round,Ne=[1,1],Ke=null,et=ma,ot=!1,kt,xt="squarify",Ut=.5*(1+Math.sqrt(5));function or(Ur,Jr){for(var sa=-1,ga=Ur.length,ba,Zr;++sa0;)ga.push(Zr=ba[ni-1]),ga.area+=Zr.area,xt!=="squarify"||(wn=Pr(ga,Nn))<=hn?(ba.pop(),hn=wn):(ga.area-=ga.pop().area,ca(ga,Nn,sa,!1),Nn=Math.min(sa.dx,sa.dy),ga.length=ga.area=0,hn=1/0);ga.length&&(ca(ga,Nn,sa,!0),ga.length=ga.area=0),Jr.forEach(lr)}}function Dr(Ur){var Jr=Ur.children;if(Jr&&Jr.length){var sa=et(Ur),ga=Jr.slice(),ba,Zr=[];for(or(ga,sa.dx*sa.dy/Ur.value),Zr.area=0;ba=ga.pop();)Zr.push(ba),Zr.area+=ba.area,ba.z!=null&&(ca(Zr,ba.z?sa.dx:sa.dy,sa,!ga.length),Zr.length=Zr.area=0);Jr.forEach(Dr)}}function Pr(Ur,Jr){for(var sa=Ur.area,ga,ba=0,Zr=1/0,hn=-1,wn=Ur.length;++hnba&&(ba=ga));return sa*=sa,Jr*=Jr,sa?Math.max(Jr*ba*Ut/sa,sa/(Jr*Zr*Ut)):1/0}function ca(Ur,Jr,sa,ga){var ba=-1,Zr=Ur.length,hn=sa.x,wn=sa.y,Nn=Jr?we(Ur.area/Jr):0,ni;if(Jr==sa.dx){for((ga||Nn>sa.dy)&&(Nn=sa.dy);++basa.dx)&&(Nn=sa.dx);++ba1);return ue+we*Ke*Math.sqrt(-2*Math.log(ot)/ot)}},logNormal:function(){var ue=u.random.normal.apply(u,arguments);return function(){return Math.exp(ue())}},bates:function(ue){var we=u.random.irwinHall(ue);return function(){return we()/ue}},irwinHall:function(ue){return function(){for(var we=0,Ne=0;Ne2?Aa:Tn,or=Ke?Pc:_f;return et=Ut(ue,we,or,Ne),ot=Ut(we,ue,or,Xu),xt}function xt(Ut){return et(Ut)}return xt.invert=function(Ut){return ot(Ut)},xt.domain=function(Ut){return arguments.length?(ue=Ut.map(Number),kt()):ue},xt.range=function(Ut){return arguments.length?(we=Ut,kt()):we},xt.rangeRound=function(Ut){return xt.range(Ut).interpolate(Ql)},xt.clamp=function(Ut){return arguments.length?(Ke=Ut,kt()):Ke},xt.interpolate=function(Ut){return arguments.length?(Ne=Ut,kt()):Ne},xt.ticks=function(Ut){return Ti(ue,Ut)},xt.tickFormat=function(Ut,or){return d3_scale_linearTickFormat(ue,Ut,or)},xt.nice=function(Ut){return pi(ue,Ut),kt()},xt.copy=function(){return Fn(ue,we,Ne,Ke)},kt()}function ci(ue,we){return u.rebind(ue,we,"range","rangeRound","interpolate","clamp")}function pi(ue,we){return Ba(ue,Na(fi(ue,we)[2])),Ba(ue,Na(fi(ue,we)[2])),ue}function fi(ue,we){we==null&&(we=10);var Ne=Ja(ue),Ke=Ne[1]-Ne[0],et=Math.pow(10,Math.floor(Math.log(Ke/we)/Math.LN10)),ot=we/Ke*et;return ot<=.15?et*=10:ot<=.35?et*=5:ot<=.75&&(et*=2),Ne[0]=Math.ceil(Ne[0]/et)*et,Ne[1]=Math.floor(Ne[1]/et)*et+et*.5,Ne[2]=et,Ne}function Ti(ue,we){return u.range.apply(u,fi(ue,we))}var Un={s:1,g:1,p:1,r:1,e:1};function _n(ue){return-Math.floor(Math.log(ue)/Math.LN10+.01)}function Oi(ue,we){var Ne=_n(we[2]);return ue in Un?Math.abs(Ne-_n(Math.max(o(we[0]),o(we[1]))))+ +(ue!=="e"):Ne-(ue==="%")*2}u.scale.log=function(){return ao(u.scale.linear().domain([0,1]),10,!0,[1,10])};function ao(ue,we,Ne,Ke){function et(xt){return(Ne?Math.log(xt<0?0:xt):-Math.log(xt>0?0:-xt))/Math.log(we)}function ot(xt){return Ne?Math.pow(we,xt):-Math.pow(we,-xt)}function kt(xt){return ue(et(xt))}return kt.invert=function(xt){return ot(ue.invert(xt))},kt.domain=function(xt){return arguments.length?(Ne=xt[0]>=0,ue.domain((Ke=xt.map(Number)).map(et)),kt):Ke},kt.base=function(xt){return arguments.length?(we=+xt,ue.domain(Ke.map(et)),kt):we},kt.nice=function(){var xt=Ba(Ke.map(et),Ne?Math:Lo);return ue.domain(xt),Ke=xt.map(ot),kt},kt.ticks=function(){var xt=Ja(Ke),Ut=[],or=xt[0],lr=xt[1],Dr=Math.floor(et(or)),Pr=Math.ceil(et(lr)),ca=we%1?2:we;if(isFinite(Pr-Dr)){if(Ne){for(;Dr0;_a--)Ut.push(ot(Dr)*_a);for(Dr=0;Ut[Dr]lr;Pr--);Ut=Ut.slice(Dr,Pr)}return Ut},kt.copy=function(){return ao(ue.copy(),we,Ne,Ke)},ci(kt,ue)}var Lo={floor:function(ue){return-Math.ceil(-ue)},ceil:function(ue){return-Math.floor(-ue)}};u.scale.pow=function(){return us(u.scale.linear(),1,[0,1])};function us(ue,we,Ne){var Ke=Oo(we),et=Oo(1/we);function ot(kt){return ue(Ke(kt))}return ot.invert=function(kt){return et(ue.invert(kt))},ot.domain=function(kt){return arguments.length?(ue.domain((Ne=kt.map(Number)).map(Ke)),ot):Ne},ot.ticks=function(kt){return Ti(Ne,kt)},ot.tickFormat=function(kt,xt){return d3_scale_linearTickFormat(Ne,kt,xt)},ot.nice=function(kt){return ot.domain(pi(Ne,kt))},ot.exponent=function(kt){return arguments.length?(Ke=Oo(we=kt),et=Oo(1/we),ue.domain(Ne.map(Ke)),ot):we},ot.copy=function(){return us(ue.copy(),we,Ne)},ci(ot,ue)}function Oo(ue){return function(we){return we<0?-Math.pow(-we,ue):Math.pow(we,ue)}}u.scale.sqrt=function(){return u.scale.pow().exponent(.5)},u.scale.ordinal=function(){return _s([],{t:"range",a:[[]]})};function _s(ue,we){var Ne,Ke,et;function ot(xt){return Ke[((Ne.get(xt)||(we.t==="range"?Ne.set(xt,ue.push(xt)):NaN))-1)%Ke.length]}function kt(xt,Ut){return u.range(ue.length).map(function(or){return xt+Ut*or})}return ot.domain=function(xt){if(!arguments.length)return ue;ue=[],Ne=new T;for(var Ut=-1,or=xt.length,lr;++Ut0?Ne[ot-1]:ue[0],otPr?0:1;if(lr=Be)return Ut(lr,_a)+(or?Ut(or,1-_a):"")+"Z";var Ur,Jr,sa,ga,ba=0,Zr=0,hn,wn,Nn,ni,xi,_i,lo,mi,$i=[];if((ga=(+kt.apply(this,arguments)||0)/2)&&(sa=Ke===pu?Math.sqrt(or*or+lr*lr):+Ke.apply(this,arguments),_a||(Zr*=-1),lr&&(Zr=_t(sa/lr*Math.sin(ga))),or&&(ba=_t(sa/or*Math.sin(ga)))),lr){hn=lr*Math.cos(Dr+Zr),wn=lr*Math.sin(Dr+Zr),Nn=lr*Math.cos(Pr-Zr),ni=lr*Math.sin(Pr-Zr);var ds=Math.abs(Pr-Dr-2*Zr)<=_e?0:1;if(Zr&&hc(hn,wn,Nn,ni)===_a^ds){var Ks=(Dr+Pr)/2;hn=lr*Math.cos(Ks),wn=lr*Math.sin(Ks),Nn=ni=null}}else hn=wn=0;if(or){xi=or*Math.cos(Pr-ba),_i=or*Math.sin(Pr-ba),lo=or*Math.cos(Dr+ba),mi=or*Math.sin(Dr+ba);var Ss=Math.abs(Dr-Pr+2*ba)<=_e?0:1;if(ba&&hc(xi,_i,lo,mi)===1-_a^Ss){var ti=(Dr+Pr)/2;xi=or*Math.cos(ti),_i=or*Math.sin(ti),lo=mi=null}}else xi=_i=0;if(ca>ze&&(Ur=Math.min(Math.abs(lr-or)/2,+Ne.apply(this,arguments)))>.001){Jr=or0?0:1}function ki(ue,we,Ne,Ke,et){var ot=ue[0]-we[0],kt=ue[1]-we[1],xt=(et?Ke:-Ke)/Math.sqrt(ot*ot+kt*kt),Ut=xt*kt,or=-xt*ot,lr=ue[0]+Ut,Dr=ue[1]+or,Pr=we[0]+Ut,ca=we[1]+or,_a=(lr+Pr)/2,Ur=(Dr+ca)/2,Jr=Pr-lr,sa=ca-Dr,ga=Jr*Jr+sa*sa,ba=Ne-Ke,Zr=lr*ca-Pr*Dr,hn=(sa<0?-1:1)*Math.sqrt(Math.max(0,ba*ba*ga-Zr*Zr)),wn=(Zr*sa-Jr*hn)/ga,Nn=(-Zr*Jr-sa*hn)/ga,ni=(Zr*sa+Jr*hn)/ga,xi=(-Zr*Jr+sa*hn)/ga,_i=wn-_a,lo=Nn-Ur,mi=ni-_a,$i=xi-Ur;return _i*_i+lo*lo>mi*mi+$i*$i&&(wn=ni,Nn=xi),[[wn-Ut,Nn-or],[wn*Ne/ba,Nn*Ne/ba]]}function Xi(){return!0}function jf(ue){var we=oo,Ne=Qi,Ke=Xi,et=nu,ot=et.key,kt=.7;function xt(Ut){var or=[],lr=[],Dr=-1,Pr=Ut.length,ca,_a=Qt(we),Ur=Qt(Ne);function Jr(){or.push("M",et(ue(lr),kt))}for(;++Dr1?ue.join("L"):ue+"Z"}function Me(ue){return ue.join("L")+"Z"}function L(ue){for(var we=0,Ne=ue.length,Ke=ue[0],et=[Ke[0],",",Ke[1]];++we1&&et.push("H",Ke[0]),et.join("")}function J(ue){for(var we=0,Ne=ue.length,Ke=ue[0],et=[Ke[0],",",Ke[1]];++we1){xt=we[1],ot=ue[Ut],Ut++,Ke+="C"+(et[0]+kt[0])+","+(et[1]+kt[1])+","+(ot[0]-xt[0])+","+(ot[1]-xt[1])+","+ot[0]+","+ot[1];for(var or=2;or9&&(ot=Ne*3/Math.sqrt(ot),kt[xt]=ot*Ke,kt[xt+1]=ot*et));for(xt=-1;++xt<=Ut;)ot=(ue[Math.min(Ut,xt+1)][0]-ue[Math.max(0,xt-1)][0])/(6*(1+kt[xt]*kt[xt])),we.push([ot||0,kt[xt]*ot||0]);return we}function Rt(ue){return ue.length<3?nu(ue):ue[0]+rt(ue,dt(ue))}u.svg.line.radial=function(){var ue=jf(Ot);return ue.radius=ue.x,delete ue.x,ue.angle=ue.y,delete ue.y,ue};function Ot(ue){for(var we,Ne=-1,Ke=ue.length,et,ot;++Ne_e)+",1 "+Dr}function or(lr,Dr,Pr,ca){return"Q 0,0 "+ca}return ot.radius=function(lr){return arguments.length?(Ne=Qt(lr),ot):Ne},ot.source=function(lr){return arguments.length?(ue=Qt(lr),ot):ue},ot.target=function(lr){return arguments.length?(we=Qt(lr),ot):we},ot.startAngle=function(lr){return arguments.length?(Ke=Qt(lr),ot):Ke},ot.endAngle=function(lr){return arguments.length?(et=Qt(lr),ot):et},ot};function Lr(ue){return ue.radius}u.svg.diagonal=function(){var ue=nr,we=pr,Ne=Br;function Ke(et,ot){var kt=ue.call(this,et,ot),xt=we.call(this,et,ot),Ut=(kt.y+xt.y)/2,or=[kt,{x:kt.x,y:Ut},{x:xt.x,y:Ut},xt];return or=or.map(Ne),"M"+or[0]+"C"+or[1]+" "+or[2]+" "+or[3]}return Ke.source=function(et){return arguments.length?(ue=Qt(et),Ke):ue},Ke.target=function(et){return arguments.length?(we=Qt(et),Ke):we},Ke.projection=function(et){return arguments.length?(Ne=et,Ke):Ne},Ke};function Br(ue){return[ue.x,ue.y]}u.svg.diagonal.radial=function(){var ue=u.svg.diagonal(),we=Br,Ne=ue.projection;return ue.projection=function(Ke){return arguments.length?Ne(Kr(we=Ke)):we},ue};function Kr(ue){return function(){var we=ue.apply(this,arguments),Ne=we[0],Ke=we[1]-We;return[Ne*Math.cos(Ke),Ne*Math.sin(Ke)]}}u.svg.symbol=function(){var ue=Za,we=ya;function Ne(Ke,et){return(un.get(ue.call(this,Ke,et))||Ha)(we.call(this,Ke,et))}return Ne.type=function(Ke){return arguments.length?(ue=Qt(Ke),Ne):ue},Ne.size=function(Ke){return arguments.length?(we=Qt(Ke),Ne):we},Ne};function ya(){return 64}function Za(){return"circle"}function Ha(ue){var we=Math.sqrt(ue/_e);return"M0,"+we+"A"+we+","+we+" 0 1,1 0,"+-we+"A"+we+","+we+" 0 1,1 0,"+we+"Z"}var un=u.map({circle:Ha,cross:function(ue){var we=Math.sqrt(ue/5)/2;return"M"+-3*we+","+-we+"H"+-we+"V"+-3*we+"H"+we+"V"+-we+"H"+3*we+"V"+we+"H"+we+"V"+3*we+"H"+-we+"V"+we+"H"+-3*we+"Z"},diamond:function(ue){var we=Math.sqrt(ue/(2*li)),Ne=we*li;return"M0,"+-we+"L"+Ne+",0 0,"+we+" "+-Ne+",0Z"},square:function(ue){var we=Math.sqrt(ue)/2;return"M"+-we+","+-we+"L"+we+","+-we+" "+we+","+we+" "+-we+","+we+"Z"},"triangle-down":function(ue){var we=Math.sqrt(ue/Bn),Ne=we*Bn/2;return"M0,"+Ne+"L"+we+","+-Ne+" "+-we+","+-Ne+"Z"},"triangle-up":function(ue){var we=Math.sqrt(ue/Bn),Ne=we*Bn/2;return"M0,"+-Ne+"L"+we+","+Ne+" "+-we+","+Ne+"Z"}});u.svg.symbolTypes=un.keys();var Bn=Math.sqrt(3),li=Math.tan(30*Xe);X.transition=function(ue){for(var we=Fo||++as,Ne=xs(ue),Ke=[],et,ot,kt=Ms||{time:Date.now(),ease:El,delay:0,duration:250},xt=-1,Ut=this.length;++xt0;)Dr[--ga].call(ue,sa);if(Jr>=1)return kt.event&&kt.event.end.call(ue,ue.__data__,we),--ot.count?delete ot[Ke]:delete ue[Ne],1}kt||(xt=et.time,Ut=ri(Pr,0,xt),kt=ot[Ke]={tween:new T,time:xt,timer:Ut,delay:et.delay,duration:et.duration,ease:et.ease,index:we},et=null,++ot.count)}u.svg.axis=function(){var ue=u.scale.linear(),we=Cl,Ne=6,Ke=6,et=3,ot=[10],kt=null,xt;function Ut(or){or.each(function(){var lr=u.select(this),Dr=this.__chart__||ue,Pr=this.__chart__=ue.copy(),ca=kt??(Pr.ticks?Pr.ticks.apply(Pr,ot):Pr.domain()),_a=xt??(Pr.tickFormat?Pr.tickFormat.apply(Pr,ot):R),Ur=lr.selectAll(".tick").data(ca,Pr),Jr=Ur.enter().insert("g",".domain").attr("class","tick").style("opacity",ze),sa=u.transition(Ur.exit()).style("opacity",ze).remove(),ga=u.transition(Ur.order()).style("opacity",1),ba=Math.max(Ne,0)+et,Zr,hn=nn(Pr),wn=lr.selectAll(".domain").data([0]),Nn=(wn.enter().append("path").attr("class","domain"),u.transition(wn));Jr.append("line"),Jr.append("text");var ni=Jr.select("line"),xi=ga.select("line"),_i=Ur.select("text").text(_a),lo=Jr.select("text"),mi=ga.select("text"),$i=we==="top"||we==="left"?-1:1,ds,Ks,Ss,ti;if(we==="bottom"||we==="top"?(Zr=Hl,ds="x",Ss="y",Ks="x2",ti="y2",_i.attr("dy",$i<0?"0em":".71em").style("text-anchor","middle"),Nn.attr("d","M"+hn[0]+","+$i*Ke+"V0H"+hn[1]+"V"+$i*Ke)):(Zr=el,ds="y",Ss="x",Ks="y2",ti="x2",_i.attr("dy",".32em").style("text-anchor",$i<0?"end":"start"),Nn.attr("d","M"+$i*Ke+","+hn[0]+"H0V"+hn[1]+"H"+$i*Ke)),ni.attr(ti,$i*Ne),lo.attr(Ss,$i*ba),xi.attr(Ks,0).attr(ti,$i*Ne),mi.attr(ds,0).attr(Ss,$i*ba),Pr.rangeBand){var Di=Pr,Ao=Di.rangeBand()/2;Dr=Pr=function(ss){return Di(ss)+Ao}}else Dr.rangeBand?Dr=Pr:sa.call(Zr,Pr,Dr);Jr.call(Zr,Dr,Pr),ga.call(Zr,Pr,Pr)})}return Ut.scale=function(or){return arguments.length?(ue=or,Ut):ue},Ut.orient=function(or){return arguments.length?(we=or in mu?or+"":Cl,Ut):we},Ut.ticks=function(){return arguments.length?(ot=w(arguments),Ut):ot},Ut.tickValues=function(or){return arguments.length?(kt=or,Ut):kt},Ut.tickFormat=function(or){return arguments.length?(xt=or,Ut):xt},Ut.tickSize=function(or){var lr=arguments.length;return lr?(Ne=+or,Ke=+arguments[lr-1],Ut):Ne},Ut.innerTickSize=function(or){return arguments.length?(Ne=+or,Ut):Ne},Ut.outerTickSize=function(or){return arguments.length?(Ke=+or,Ut):Ke},Ut.tickPadding=function(or){return arguments.length?(et=+or,Ut):et},Ut.tickSubdivide=function(){return arguments.length&&Ut},Ut};var Cl="bottom",mu={top:1,right:1,bottom:1,left:1};function Hl(ue,we,Ne){ue.attr("transform",function(Ke){var et=we(Ke);return"translate("+(isFinite(et)?et:Ne(Ke))+",0)"})}function el(ue,we,Ne){ue.attr("transform",function(Ke){var et=we(Ke);return"translate(0,"+(isFinite(et)?et:Ne(Ke))+")"})}u.svg.brush=function(){var ue=te(lr,"brushstart","brush","brushend"),we=null,Ne=null,Ke=[0,0],et=[0,0],ot,kt,xt=!0,Ut=!0,or=gu[0];function lr(Ur){Ur.each(function(){var Jr=u.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",_a).on("touchstart.brush",_a),sa=Jr.selectAll(".background").data([0]);sa.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),Jr.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var ga=Jr.selectAll(".resize").data(or,R);ga.exit().remove(),ga.enter().append("g").attr("class",function(wn){return"resize "+wn}).style("cursor",function(wn){return Eu[wn]}).append("rect").attr("x",function(wn){return/[ew]$/.test(wn)?-3:null}).attr("y",function(wn){return/^[ns]/.test(wn)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),ga.style("display",lr.empty()?"none":null);var ba=u.transition(Jr),Zr=u.transition(sa),hn;we&&(hn=nn(we),Zr.attr("x",hn[0]).attr("width",hn[1]-hn[0]),Pr(ba)),Ne&&(hn=nn(Ne),Zr.attr("y",hn[0]).attr("height",hn[1]-hn[0]),ca(ba)),Dr(ba)})}lr.event=function(Ur){Ur.each(function(){var Jr=ue.of(this,arguments),sa={x:Ke,y:et,i:ot,j:kt},ga=this.__chart__||sa;this.__chart__=sa,Fo?u.select(this).transition().each("start.brush",function(){ot=ga.i,kt=ga.j,Ke=ga.x,et=ga.y,Jr({type:"brushstart"})}).tween("brush:brush",function(){var ba=kc(Ke,sa.x),Zr=kc(et,sa.y);return ot=kt=null,function(hn){Ke=sa.x=ba(hn),et=sa.y=Zr(hn),Jr({type:"brush",mode:"resize"})}}).each("end.brush",function(){ot=sa.i,kt=sa.j,Jr({type:"brush",mode:"resize"}),Jr({type:"brushend"})}):(Jr({type:"brushstart"}),Jr({type:"brush",mode:"resize"}),Jr({type:"brushend"}))})};function Dr(Ur){Ur.selectAll(".resize").attr("transform",function(Jr){return"translate("+Ke[+/e$/.test(Jr)]+","+et[+/^s/.test(Jr)]+")"})}function Pr(Ur){Ur.select(".extent").attr("x",Ke[0]),Ur.selectAll(".extent,.n>rect,.s>rect").attr("width",Ke[1]-Ke[0])}function ca(Ur){Ur.select(".extent").attr("y",et[0]),Ur.selectAll(".extent,.e>rect,.w>rect").attr("height",et[1]-et[0])}function _a(){var Ur=this,Jr=u.select(u.event.target),sa=ue.of(Ur,arguments),ga=u.select(Ur),ba=Jr.datum(),Zr=!/^(n|s)$/.test(ba)&&we,hn=!/^(e|w)$/.test(ba)&&Ne,wn=Jr.classed("extent"),Nn=Nt(Ur),ni,xi=u.mouse(Ur),_i,lo=u.select(e(Ur)).on("keydown.brush",ds).on("keyup.brush",Ks);if(u.event.changedTouches?lo.on("touchmove.brush",Ss).on("touchend.brush",Di):lo.on("mousemove.brush",Ss).on("mouseup.brush",Di),ga.interrupt().selectAll("*").interrupt(),wn)xi[0]=Ke[0]-xi[0],xi[1]=et[0]-xi[1];else if(ba){var mi=+/w$/.test(ba),$i=+/^n/.test(ba);_i=[Ke[1-mi]-xi[0],et[1-$i]-xi[1]],xi[0]=Ke[mi],xi[1]=et[$i]}else u.event.altKey&&(ni=xi.slice());ga.style("pointer-events","none").selectAll(".resize").style("display",null),u.select("body").style("cursor",Jr.style("cursor")),sa({type:"brushstart"}),Ss();function ds(){u.event.keyCode==32&&(wn||(ni=null,xi[0]-=Ke[1],xi[1]-=et[1],wn=2),Y())}function Ks(){u.event.keyCode==32&&wn==2&&(xi[0]+=Ke[1],xi[1]+=et[1],wn=0,Y())}function Ss(){var Ao=u.mouse(Ur),ss=!1;_i&&(Ao[0]+=_i[0],Ao[1]+=_i[1]),wn||(u.event.altKey?(ni||(ni=[(Ke[0]+Ke[1])/2,(et[0]+et[1])/2]),xi[0]=Ke[+(Ao[0]0))return At;do At.push(Pt=new Date(+ut)),be(ut,yt),ne(ut);while(Pt=st)for(;ne(st),!ut(st);)st.setTime(st-1)},function(st,yt){if(st>=st)if(yt<0)for(;++yt<=0;)for(;be(st,-1),!ut(st););else for(;--yt>=0;)for(;be(st,1),!ut(st););})},Fe&&(je.count=function(ut,st){return v.setTime(+ut),w.setTime(+st),ne(v),ne(w),Math.floor(Fe(v,w))},je.every=function(ut){return ut=Math.floor(ut),!isFinite(ut)||!(ut>0)?null:ut>1?je.filter(Ve?function(st){return Ve(st)%ut===0}:function(st){return je.count(0,st)%ut===0}):je}),je}var l=S(function(){},function(ne,be){ne.setTime(+ne+be)},function(ne,be){return be-ne});l.every=function(ne){return ne=Math.floor(ne),!isFinite(ne)||!(ne>0)?null:ne>1?S(function(be){be.setTime(Math.floor(be/ne)*ne)},function(be,Fe){be.setTime(+be+Fe*ne)},function(be,Fe){return(Fe-be)/ne}):l};var e=l.range,t=1e3,a=6e4,r=36e5,n=864e5,i=6048e5,s=S(function(ne){ne.setTime(ne-ne.getMilliseconds())},function(ne,be){ne.setTime(+ne+be*t)},function(ne,be){return(be-ne)/t},function(ne){return ne.getUTCSeconds()}),c=s.range,p=S(function(ne){ne.setTime(ne-ne.getMilliseconds()-ne.getSeconds()*t)},function(ne,be){ne.setTime(+ne+be*a)},function(ne,be){return(be-ne)/a},function(ne){return ne.getMinutes()}),f=p.range,d=S(function(ne){ne.setTime(ne-ne.getMilliseconds()-ne.getSeconds()*t-ne.getMinutes()*a)},function(ne,be){ne.setTime(+ne+be*r)},function(ne,be){return(be-ne)/r},function(ne){return ne.getHours()}),y=d.range,o=S(function(ne){ne.setHours(0,0,0,0)},function(ne,be){ne.setDate(ne.getDate()+be)},function(ne,be){return(be-ne-(be.getTimezoneOffset()-ne.getTimezoneOffset())*a)/n},function(ne){return ne.getDate()-1}),x=o.range;function M(ne){return S(function(be){be.setDate(be.getDate()-(be.getDay()+7-ne)%7),be.setHours(0,0,0,0)},function(be,Fe){be.setDate(be.getDate()+Fe*7)},function(be,Fe){return(Fe-be-(Fe.getTimezoneOffset()-be.getTimezoneOffset())*a)/i})}var T=M(0),E=M(1),g=M(2),A=M(3),m=M(4),h=M(5),b=M(6),_=T.range,I=E.range,C=g.range,F=A.range,R=m.range,z=h.range,D=b.range,k=S(function(ne){ne.setDate(1),ne.setHours(0,0,0,0)},function(ne,be){ne.setMonth(ne.getMonth()+be)},function(ne,be){return be.getMonth()-ne.getMonth()+(be.getFullYear()-ne.getFullYear())*12},function(ne){return ne.getMonth()}),B=k.range,O=S(function(ne){ne.setMonth(0,1),ne.setHours(0,0,0,0)},function(ne,be){ne.setFullYear(ne.getFullYear()+be)},function(ne,be){return be.getFullYear()-ne.getFullYear()},function(ne){return ne.getFullYear()});O.every=function(ne){return!isFinite(ne=Math.floor(ne))||!(ne>0)?null:S(function(be){be.setFullYear(Math.floor(be.getFullYear()/ne)*ne),be.setMonth(0,1),be.setHours(0,0,0,0)},function(be,Fe){be.setFullYear(be.getFullYear()+Fe*ne)})};var q=O.range,Y=S(function(ne){ne.setUTCSeconds(0,0)},function(ne,be){ne.setTime(+ne+be*a)},function(ne,be){return(be-ne)/a},function(ne){return ne.getUTCMinutes()}),ee=Y.range,te=S(function(ne){ne.setUTCMinutes(0,0,0)},function(ne,be){ne.setTime(+ne+be*r)},function(ne,be){return(be-ne)/r},function(ne){return ne.getUTCHours()}),ae=te.range,U=S(function(ne){ne.setUTCHours(0,0,0,0)},function(ne,be){ne.setUTCDate(ne.getUTCDate()+be)},function(ne,be){return(be-ne)/n},function(ne){return ne.getUTCDate()-1}),H=U.range;function K(ne){return S(function(be){be.setUTCDate(be.getUTCDate()-(be.getUTCDay()+7-ne)%7),be.setUTCHours(0,0,0,0)},function(be,Fe){be.setUTCDate(be.getUTCDate()+Fe*7)},function(be,Fe){return(Fe-be)/i})}var V=K(0),$=K(1),X=K(2),Z=K(3),Q=K(4),re=K(5),ce=K(6),me=V.range,ye=$.range,Ae=X.range,Se=Z.range,Ce=Q.range,qe=re.range,Ue=ce.range,xe=S(function(ne){ne.setUTCDate(1),ne.setUTCHours(0,0,0,0)},function(ne,be){ne.setUTCMonth(ne.getUTCMonth()+be)},function(ne,be){return be.getUTCMonth()-ne.getUTCMonth()+(be.getUTCFullYear()-ne.getUTCFullYear())*12},function(ne){return ne.getUTCMonth()}),he=xe.range,oe=S(function(ne){ne.setUTCMonth(0,1),ne.setUTCHours(0,0,0,0)},function(ne,be){ne.setUTCFullYear(ne.getUTCFullYear()+be)},function(ne,be){return be.getUTCFullYear()-ne.getUTCFullYear()},function(ne){return ne.getUTCFullYear()});oe.every=function(ne){return!isFinite(ne=Math.floor(ne))||!(ne>0)?null:S(function(be){be.setUTCFullYear(Math.floor(be.getUTCFullYear()/ne)*ne),be.setUTCMonth(0,1),be.setUTCHours(0,0,0,0)},function(be,Fe){be.setUTCFullYear(be.getUTCFullYear()+Fe*ne)})};var le=oe.range;u.timeDay=o,u.timeDays=x,u.timeFriday=h,u.timeFridays=z,u.timeHour=d,u.timeHours=y,u.timeInterval=S,u.timeMillisecond=l,u.timeMilliseconds=e,u.timeMinute=p,u.timeMinutes=f,u.timeMonday=E,u.timeMondays=I,u.timeMonth=k,u.timeMonths=B,u.timeSaturday=b,u.timeSaturdays=D,u.timeSecond=s,u.timeSeconds=c,u.timeSunday=T,u.timeSundays=_,u.timeThursday=m,u.timeThursdays=R,u.timeTuesday=g,u.timeTuesdays=C,u.timeWednesday=A,u.timeWednesdays=F,u.timeWeek=T,u.timeWeeks=_,u.timeYear=O,u.timeYears=q,u.utcDay=U,u.utcDays=H,u.utcFriday=re,u.utcFridays=qe,u.utcHour=te,u.utcHours=ae,u.utcMillisecond=l,u.utcMilliseconds=e,u.utcMinute=Y,u.utcMinutes=ee,u.utcMonday=$,u.utcMondays=ye,u.utcMonth=xe,u.utcMonths=he,u.utcSaturday=ce,u.utcSaturdays=Ue,u.utcSecond=s,u.utcSeconds=c,u.utcSunday=V,u.utcSundays=me,u.utcThursday=Q,u.utcThursdays=Ce,u.utcTuesday=X,u.utcTuesdays=Ae,u.utcWednesday=Z,u.utcWednesdays=Se,u.utcWeek=V,u.utcWeeks=me,u.utcYear=oe,u.utcYears=le,Object.defineProperty(u,"__esModule",{value:!0})})}}),Hd=De({"node_modules/d3-time-format/dist/d3-time-format.js"(j,N){(function(u,v){typeof j=="object"&&typeof N<"u"?v(j,Fh()):(u=u||self,v(u.d3=u.d3||{},u.d3))})(j,function(u,v){"use strict";function w(Ee){if(0<=Ee.y&&Ee.y<100){var ze=new Date(-1,Ee.m,Ee.d,Ee.H,Ee.M,Ee.S,Ee.L);return ze.setFullYear(Ee.y),ze}return new Date(Ee.y,Ee.m,Ee.d,Ee.H,Ee.M,Ee.S,Ee.L)}function S(Ee){if(0<=Ee.y&&Ee.y<100){var ze=new Date(Date.UTC(-1,Ee.m,Ee.d,Ee.H,Ee.M,Ee.S,Ee.L));return ze.setUTCFullYear(Ee.y),ze}return new Date(Date.UTC(Ee.y,Ee.m,Ee.d,Ee.H,Ee.M,Ee.S,Ee.L))}function l(Ee,ze,ve){return{y:Ee,m:ze,d:ve,H:0,M:0,S:0,L:0}}function e(Ee){var ze=Ee.dateTime,ve=Ee.date,_e=Ee.time,Ie=Ee.periods,Be=Ee.days,We=Ee.shortDays,Xe=Ee.months,mt=Ee.shortMonths,ft=c(Ie),ht=p(Ie),gt=c(Be),_t=p(Be),Ft=c(We),St=p(We),hr=c(Xe),jr=p(Xe),ra=c(mt),$r=p(mt),pa={a:vi,A:Dn,b:oi,B:on,c:null,d:k,e:k,f:ee,H:B,I:O,j:q,L:Y,m:te,M:ae,p:mn,q:bi,Q:st,s:yt,S:U,u:H,U:K,V,w:$,W:X,x:null,X:null,y:Z,Y:Q,Z:re,"%":ut},oa={a:Li,A:$a,b:Va,B:it,c:null,d:ce,e:ce,f:Ce,H:me,I:ye,j:Ae,L:Se,m:qe,M:Ue,p:Qe,q:Jt,Q:st,s:yt,S:xe,u:he,U:oe,V:le,w:ne,W:be,x:null,X:null,y:Fe,Y:Ve,Z:je,"%":ut},aa={a:Ga,A:xa,b:Gn,B:Pn,c:sn,d:m,e:m,f:F,H:b,I:b,j:h,L:C,m:A,M:_,p:La,q:g,Q:z,s:D,S:I,u:d,U:y,V:o,w:f,W:x,x:Yn,X:Zn,y:T,Y:M,Z:E,"%":R};pa.x=ka(ve,pa),pa.X=ka(_e,pa),pa.c=ka(ze,pa),oa.x=ka(ve,oa),oa.X=ka(_e,oa),oa.c=ka(ze,oa);function ka(Yt,ar){return function(cr){var tr=[],Je=-1,bt=0,qt=Yt.length,Qt,br,Ir;for(cr instanceof Date||(cr=new Date(+cr));++Je53)return null;"w"in tr||(tr.w=1),"Z"in tr?(bt=S(l(tr.y,0,1)),qt=bt.getUTCDay(),bt=qt>4||qt===0?v.utcMonday.ceil(bt):v.utcMonday(bt),bt=v.utcDay.offset(bt,(tr.V-1)*7),tr.y=bt.getUTCFullYear(),tr.m=bt.getUTCMonth(),tr.d=bt.getUTCDate()+(tr.w+6)%7):(bt=w(l(tr.y,0,1)),qt=bt.getDay(),bt=qt>4||qt===0?v.timeMonday.ceil(bt):v.timeMonday(bt),bt=v.timeDay.offset(bt,(tr.V-1)*7),tr.y=bt.getFullYear(),tr.m=bt.getMonth(),tr.d=bt.getDate()+(tr.w+6)%7)}else("W"in tr||"U"in tr)&&("w"in tr||(tr.w="u"in tr?tr.u%7:"W"in tr?1:0),qt="Z"in tr?S(l(tr.y,0,1)).getUTCDay():w(l(tr.y,0,1)).getDay(),tr.m=0,tr.d="W"in tr?(tr.w+6)%7+tr.W*7-(qt+5)%7:tr.w+tr.U*7-(qt+6)%7);return"Z"in tr?(tr.H+=tr.Z/100|0,tr.M+=tr.Z%100,S(tr)):w(tr)}}function Da(Yt,ar,cr,tr){for(var Je=0,bt=ar.length,qt=cr.length,Qt,br;Je=qt)return-1;if(Qt=ar.charCodeAt(Je++),Qt===37){if(Qt=ar.charAt(Je++),br=aa[Qt in t?ar.charAt(Je++):Qt],!br||(tr=br(Yt,cr,tr))<0)return-1}else if(Qt!=cr.charCodeAt(tr++))return-1}return tr}function La(Yt,ar,cr){var tr=ft.exec(ar.slice(cr));return tr?(Yt.p=ht[tr[0].toLowerCase()],cr+tr[0].length):-1}function Ga(Yt,ar,cr){var tr=Ft.exec(ar.slice(cr));return tr?(Yt.w=St[tr[0].toLowerCase()],cr+tr[0].length):-1}function xa(Yt,ar,cr){var tr=gt.exec(ar.slice(cr));return tr?(Yt.w=_t[tr[0].toLowerCase()],cr+tr[0].length):-1}function Gn(Yt,ar,cr){var tr=ra.exec(ar.slice(cr));return tr?(Yt.m=$r[tr[0].toLowerCase()],cr+tr[0].length):-1}function Pn(Yt,ar,cr){var tr=hr.exec(ar.slice(cr));return tr?(Yt.m=jr[tr[0].toLowerCase()],cr+tr[0].length):-1}function sn(Yt,ar,cr){return Da(Yt,ze,ar,cr)}function Yn(Yt,ar,cr){return Da(Yt,ve,ar,cr)}function Zn(Yt,ar,cr){return Da(Yt,_e,ar,cr)}function vi(Yt){return We[Yt.getDay()]}function Dn(Yt){return Be[Yt.getDay()]}function oi(Yt){return mt[Yt.getMonth()]}function on(Yt){return Xe[Yt.getMonth()]}function mn(Yt){return Ie[+(Yt.getHours()>=12)]}function bi(Yt){return 1+~~(Yt.getMonth()/3)}function Li(Yt){return We[Yt.getUTCDay()]}function $a(Yt){return Be[Yt.getUTCDay()]}function Va(Yt){return mt[Yt.getUTCMonth()]}function it(Yt){return Xe[Yt.getUTCMonth()]}function Qe(Yt){return Ie[+(Yt.getUTCHours()>=12)]}function Jt(Yt){return 1+~~(Yt.getUTCMonth()/3)}return{format:function(Yt){var ar=ka(Yt+="",pa);return ar.toString=function(){return Yt},ar},parse:function(Yt){var ar=Ta(Yt+="",!1);return ar.toString=function(){return Yt},ar},utcFormat:function(Yt){var ar=ka(Yt+="",oa);return ar.toString=function(){return Yt},ar},utcParse:function(Yt){var ar=Ta(Yt+="",!0);return ar.toString=function(){return Yt},ar}}}var t={"-":"",_:" ",0:"0"},a=/^\s*\d+/,r=/^%/,n=/[\\^$*+?|[\]().{}]/g;function i(Ee,ze,ve){var _e=Ee<0?"-":"",Ie=(_e?-Ee:Ee)+"",Be=Ie.length;return _e+(Be68?1900:2e3),ve+_e[0].length):-1}function E(Ee,ze,ve){var _e=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(ze.slice(ve,ve+6));return _e?(Ee.Z=_e[1]?0:-(_e[2]+(_e[3]||"00")),ve+_e[0].length):-1}function g(Ee,ze,ve){var _e=a.exec(ze.slice(ve,ve+1));return _e?(Ee.q=_e[0]*3-3,ve+_e[0].length):-1}function A(Ee,ze,ve){var _e=a.exec(ze.slice(ve,ve+2));return _e?(Ee.m=_e[0]-1,ve+_e[0].length):-1}function m(Ee,ze,ve){var _e=a.exec(ze.slice(ve,ve+2));return _e?(Ee.d=+_e[0],ve+_e[0].length):-1}function h(Ee,ze,ve){var _e=a.exec(ze.slice(ve,ve+3));return _e?(Ee.m=0,Ee.d=+_e[0],ve+_e[0].length):-1}function b(Ee,ze,ve){var _e=a.exec(ze.slice(ve,ve+2));return _e?(Ee.H=+_e[0],ve+_e[0].length):-1}function _(Ee,ze,ve){var _e=a.exec(ze.slice(ve,ve+2));return _e?(Ee.M=+_e[0],ve+_e[0].length):-1}function I(Ee,ze,ve){var _e=a.exec(ze.slice(ve,ve+2));return _e?(Ee.S=+_e[0],ve+_e[0].length):-1}function C(Ee,ze,ve){var _e=a.exec(ze.slice(ve,ve+3));return _e?(Ee.L=+_e[0],ve+_e[0].length):-1}function F(Ee,ze,ve){var _e=a.exec(ze.slice(ve,ve+6));return _e?(Ee.L=Math.floor(_e[0]/1e3),ve+_e[0].length):-1}function R(Ee,ze,ve){var _e=r.exec(ze.slice(ve,ve+1));return _e?ve+_e[0].length:-1}function z(Ee,ze,ve){var _e=a.exec(ze.slice(ve));return _e?(Ee.Q=+_e[0],ve+_e[0].length):-1}function D(Ee,ze,ve){var _e=a.exec(ze.slice(ve));return _e?(Ee.s=+_e[0],ve+_e[0].length):-1}function k(Ee,ze){return i(Ee.getDate(),ze,2)}function B(Ee,ze){return i(Ee.getHours(),ze,2)}function O(Ee,ze){return i(Ee.getHours()%12||12,ze,2)}function q(Ee,ze){return i(1+v.timeDay.count(v.timeYear(Ee),Ee),ze,3)}function Y(Ee,ze){return i(Ee.getMilliseconds(),ze,3)}function ee(Ee,ze){return Y(Ee,ze)+"000"}function te(Ee,ze){return i(Ee.getMonth()+1,ze,2)}function ae(Ee,ze){return i(Ee.getMinutes(),ze,2)}function U(Ee,ze){return i(Ee.getSeconds(),ze,2)}function H(Ee){var ze=Ee.getDay();return ze===0?7:ze}function K(Ee,ze){return i(v.timeSunday.count(v.timeYear(Ee)-1,Ee),ze,2)}function V(Ee,ze){var ve=Ee.getDay();return Ee=ve>=4||ve===0?v.timeThursday(Ee):v.timeThursday.ceil(Ee),i(v.timeThursday.count(v.timeYear(Ee),Ee)+(v.timeYear(Ee).getDay()===4),ze,2)}function $(Ee){return Ee.getDay()}function X(Ee,ze){return i(v.timeMonday.count(v.timeYear(Ee)-1,Ee),ze,2)}function Z(Ee,ze){return i(Ee.getFullYear()%100,ze,2)}function Q(Ee,ze){return i(Ee.getFullYear()%1e4,ze,4)}function re(Ee){var ze=Ee.getTimezoneOffset();return(ze>0?"-":(ze*=-1,"+"))+i(ze/60|0,"0",2)+i(ze%60,"0",2)}function ce(Ee,ze){return i(Ee.getUTCDate(),ze,2)}function me(Ee,ze){return i(Ee.getUTCHours(),ze,2)}function ye(Ee,ze){return i(Ee.getUTCHours()%12||12,ze,2)}function Ae(Ee,ze){return i(1+v.utcDay.count(v.utcYear(Ee),Ee),ze,3)}function Se(Ee,ze){return i(Ee.getUTCMilliseconds(),ze,3)}function Ce(Ee,ze){return Se(Ee,ze)+"000"}function qe(Ee,ze){return i(Ee.getUTCMonth()+1,ze,2)}function Ue(Ee,ze){return i(Ee.getUTCMinutes(),ze,2)}function xe(Ee,ze){return i(Ee.getUTCSeconds(),ze,2)}function he(Ee){var ze=Ee.getUTCDay();return ze===0?7:ze}function oe(Ee,ze){return i(v.utcSunday.count(v.utcYear(Ee)-1,Ee),ze,2)}function le(Ee,ze){var ve=Ee.getUTCDay();return Ee=ve>=4||ve===0?v.utcThursday(Ee):v.utcThursday.ceil(Ee),i(v.utcThursday.count(v.utcYear(Ee),Ee)+(v.utcYear(Ee).getUTCDay()===4),ze,2)}function ne(Ee){return Ee.getUTCDay()}function be(Ee,ze){return i(v.utcMonday.count(v.utcYear(Ee)-1,Ee),ze,2)}function Fe(Ee,ze){return i(Ee.getUTCFullYear()%100,ze,2)}function Ve(Ee,ze){return i(Ee.getUTCFullYear()%1e4,ze,4)}function je(){return"+0000"}function ut(){return"%"}function st(Ee){return+Ee}function yt(Ee){return Math.floor(+Ee/1e3)}var At;Pt({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 Pt(Ee){return At=e(Ee),u.timeFormat=At.format,u.timeParse=At.parse,u.utcFormat=At.utcFormat,u.utcParse=At.utcParse,At}var Zt="%Y-%m-%dT%H:%M:%S.%LZ";function vr(Ee){return Ee.toISOString()}var Nt=Date.prototype.toISOString?vr:u.utcFormat(Zt);function Kt(Ee){var ze=new Date(Ee);return isNaN(ze)?null:ze}var nt=+new Date("2000-01-01T00:00:00.000Z")?Kt:u.utcParse(Zt);u.isoFormat=Nt,u.isoParse=nt,u.timeFormatDefaultLocale=Pt,u.timeFormatLocale=e,Object.defineProperty(u,"__esModule",{value:!0})})}}),u3=De({"node_modules/d3-format/dist/d3-format.js"(j,N){(function(u,v){typeof j=="object"&&typeof N<"u"?v(j):(u=typeof globalThis<"u"?globalThis:u||self,v(u.d3=u.d3||{}))})(j,function(u){"use strict";function v(A){return Math.abs(A=Math.round(A))>=1e21?A.toLocaleString("en").replace(/,/g,""):A.toString(10)}function w(A,m){if((h=(A=m?A.toExponential(m-1):A.toExponential()).indexOf("e"))<0)return null;var h,b=A.slice(0,h);return[b.length>1?b[0]+b.slice(2):b,+A.slice(h+1)]}function S(A){return A=w(Math.abs(A)),A?A[1]:NaN}function l(A,m){return function(h,b){for(var _=h.length,I=[],C=0,F=A[0],R=0;_>0&&F>0&&(R+F+1>b&&(F=Math.max(1,b-R)),I.push(h.substring(_-=F,_+F)),!((R+=F+1)>b));)F=A[C=(C+1)%A.length];return I.reverse().join(m)}}function e(A){return function(m){return m.replace(/[0-9]/g,function(h){return A[+h]})}}var t=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function a(A){if(!(m=t.exec(A)))throw new Error("invalid format: "+A);var m;return new r({fill:m[1],align:m[2],sign:m[3],symbol:m[4],zero:m[5],width:m[6],comma:m[7],precision:m[8]&&m[8].slice(1),trim:m[9],type:m[10]})}a.prototype=r.prototype;function r(A){this.fill=A.fill===void 0?" ":A.fill+"",this.align=A.align===void 0?">":A.align+"",this.sign=A.sign===void 0?"-":A.sign+"",this.symbol=A.symbol===void 0?"":A.symbol+"",this.zero=!!A.zero,this.width=A.width===void 0?void 0:+A.width,this.comma=!!A.comma,this.precision=A.precision===void 0?void 0:+A.precision,this.trim=!!A.trim,this.type=A.type===void 0?"":A.type+""}r.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(A){e:for(var m=A.length,h=1,b=-1,_;h0&&(b=0);break}return b>0?A.slice(0,b)+A.slice(_+1):A}var i;function s(A,m){var h=w(A,m);if(!h)return A+"";var b=h[0],_=h[1],I=_-(i=Math.max(-8,Math.min(8,Math.floor(_/3)))*3)+1,C=b.length;return I===C?b:I>C?b+new Array(I-C+1).join("0"):I>0?b.slice(0,I)+"."+b.slice(I):"0."+new Array(1-I).join("0")+w(A,Math.max(0,m+I-1))[0]}function c(A,m){var h=w(A,m);if(!h)return A+"";var b=h[0],_=h[1];return _<0?"0."+new Array(-_).join("0")+b:b.length>_+1?b.slice(0,_+1)+"."+b.slice(_+1):b+new Array(_-b.length+2).join("0")}var p={"%":function(A,m){return(A*100).toFixed(m)},b:function(A){return Math.round(A).toString(2)},c:function(A){return A+""},d:v,e:function(A,m){return A.toExponential(m)},f:function(A,m){return A.toFixed(m)},g:function(A,m){return A.toPrecision(m)},o:function(A){return Math.round(A).toString(8)},p:function(A,m){return c(A*100,m)},r:c,s,X:function(A){return Math.round(A).toString(16).toUpperCase()},x:function(A){return Math.round(A).toString(16)}};function f(A){return A}var d=Array.prototype.map,y=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function o(A){var m=A.grouping===void 0||A.thousands===void 0?f:l(d.call(A.grouping,Number),A.thousands+""),h=A.currency===void 0?"":A.currency[0]+"",b=A.currency===void 0?"":A.currency[1]+"",_=A.decimal===void 0?".":A.decimal+"",I=A.numerals===void 0?f:e(d.call(A.numerals,String)),C=A.percent===void 0?"%":A.percent+"",F=A.minus===void 0?"-":A.minus+"",R=A.nan===void 0?"NaN":A.nan+"";function z(k){k=a(k);var B=k.fill,O=k.align,q=k.sign,Y=k.symbol,ee=k.zero,te=k.width,ae=k.comma,U=k.precision,H=k.trim,K=k.type;K==="n"?(ae=!0,K="g"):p[K]||(U===void 0&&(U=12),H=!0,K="g"),(ee||B==="0"&&O==="=")&&(ee=!0,B="0",O="=");var V=Y==="$"?h:Y==="#"&&/[boxX]/.test(K)?"0"+K.toLowerCase():"",$=Y==="$"?b:/[%p]/.test(K)?C:"",X=p[K],Z=/[defgprs%]/.test(K);U=U===void 0?6:/[gprs]/.test(K)?Math.max(1,Math.min(21,U)):Math.max(0,Math.min(20,U));function Q(re){var ce=V,me=$,ye,Ae,Se;if(K==="c")me=X(re)+me,re="";else{re=+re;var Ce=re<0||1/re<0;if(re=isNaN(re)?R:X(Math.abs(re),U),H&&(re=n(re)),Ce&&+re==0&&q!=="+"&&(Ce=!1),ce=(Ce?q==="("?q:F:q==="-"||q==="("?"":q)+ce,me=(K==="s"?y[8+i/3]:"")+me+(Ce&&q==="("?")":""),Z){for(ye=-1,Ae=re.length;++yeSe||Se>57){me=(Se===46?_+re.slice(ye+1):re.slice(ye))+me,re=re.slice(0,ye);break}}}ae&&!ee&&(re=m(re,1/0));var qe=ce.length+re.length+me.length,Ue=qe>1)+ce+re+me+Ue.slice(qe);break;default:re=Ue+ce+re+me;break}return I(re)}return Q.toString=function(){return k+""},Q}function D(k,B){var O=z((k=a(k),k.type="f",k)),q=Math.max(-8,Math.min(8,Math.floor(S(B)/3)))*3,Y=Math.pow(10,-q),ee=y[8+q/3];return function(te){return O(Y*te)+ee}}return{format:z,formatPrefix:D}}var x;M({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"});function M(A){return x=o(A),u.format=x.format,u.formatPrefix=x.formatPrefix,x}function T(A){return Math.max(0,-S(Math.abs(A)))}function E(A,m){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(S(m)/3)))*3-S(Math.abs(A)))}function g(A,m){return A=Math.abs(A),m=Math.abs(m)-A,Math.max(0,S(m)-S(A))+1}u.FormatSpecifier=r,u.formatDefaultLocale=M,u.formatLocale=o,u.formatSpecifier=a,u.precisionFixed=T,u.precisionPrefix=E,u.precisionRound=g,Object.defineProperty(u,"__esModule",{value:!0})})}}),b9=De({"node_modules/is-string-blank/index.js"(j,N){"use strict";N.exports=function(u){for(var v=u.length,w,S=0;S13)&&w!==32&&w!==133&&w!==160&&w!==5760&&w!==6158&&(w<8192||w>8205)&&w!==8232&&w!==8233&&w!==8239&&w!==8287&&w!==8288&&w!==12288&&w!==65279)return!1;return!0}}}),io=De({"node_modules/fast-isnumeric/index.js"(j,N){"use strict";var u=b9();N.exports=function(v){var w=typeof v;if(w==="string"){var S=v;if(v=+v,v===0&&u(S))return!1}else if(w!=="number")return!1;return v-v<1}}}),Ho=De({"src/constants/numerical.js"(j,N){"use strict";N.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"}}}),c3=De({"node_modules/base64-arraybuffer/dist/base64-arraybuffer.umd.js"(j,N){(function(u,v){typeof j=="object"&&typeof N<"u"?v(j):(u=typeof globalThis<"u"?globalThis:u||self,v(u["base64-arraybuffer"]={}))})(j,function(u){"use strict";for(var v="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",w=typeof Uint8Array>"u"?[]:new Uint8Array(256),S=0;S>2],i+=v[(a[r]&3)<<4|a[r+1]>>4],i+=v[(a[r+1]&15)<<2|a[r+2]>>6],i+=v[a[r+2]&63];return n%3===2?i=i.substring(0,i.length-1)+"=":n%3===1&&(i=i.substring(0,i.length-2)+"=="),i},e=function(t){var a=t.length*.75,r=t.length,n,i=0,s,c,p,f;t[t.length-1]==="="&&(a--,t[t.length-2]==="="&&a--);var d=new ArrayBuffer(a),y=new Uint8Array(d);for(n=0;n>4,y[i++]=(c&15)<<4|p>>2,y[i++]=(p&3)<<6|f&63;return d};u.decode=e,u.encode=l,Object.defineProperty(u,"__esModule",{value:!0})})}}),Bv=De({"src/lib/is_plain_object.js"(j,N){"use strict";N.exports=function(v){return window&&window.process&&window.process.versions?Object.prototype.toString.call(v)==="[object Object]":Object.prototype.toString.call(v)==="[object Object]"&&Object.getPrototypeOf(v).hasOwnProperty("hasOwnProperty")}}}),Vf=De({"src/lib/array.js"(j){"use strict";var N=c3().decode,u=Bv(),v=Array.isArray,w=ArrayBuffer,S=DataView;function l(s){return w.isView(s)&&!(s instanceof S)}j.isTypedArray=l;function e(s){return v(s)||l(s)}j.isArrayOrTypedArray=e;function t(s){return!e(s[0])}j.isArray1D=t,j.ensureArray=function(s,c){return v(s)||(s=[]),s.length=c,s};var a={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};a.uint8c=a.u1c,a.uint8=a.u1,a.int8=a.i1,a.uint16=a.u2,a.int16=a.i2,a.uint32=a.u4,a.int32=a.i4,a.float32=a.f4,a.float64=a.f8;function r(s){return s.constructor===ArrayBuffer}j.isArrayBuffer=r,j.decodeTypedArraySpec=function(s){var c=[],p=n(s),f=p.dtype,d=a[f];if(!d)throw new Error('Error in dtype: "'+f+'"');var y=d.BYTES_PER_ELEMENT,o=p.bdata;r(o)||(o=N(o));var x=p.shape===void 0?[o.byteLength/y]:(""+p.shape).split(",");x.reverse();var M=x.length,T,E,g=+x[0],A=y*g,m=0;if(M===1)c=new d(o);else if(M===2)for(T=+x[1],E=0;E2)return d[T]=d[T]|l,x.set(M,null);if(o){for(c=T;c0)return Math.log(w)/Math.LN10;var l=Math.log(Math.min(S[0],S[1]))/Math.LN10;return u(l)||(l=Math.log(Math.max(S[0],S[1]))/Math.LN10-6),l}}}),T9=De({"src/lib/relink_private.js"(j,N){"use strict";var u=Vf().isArrayOrTypedArray,v=Bv();N.exports=function w(S,l){for(var e in l){var t=l[e],a=S[e];if(a!==t)if(e.charAt(0)==="_"||typeof t=="function"){if(e in S)continue;S[e]=t}else if(u(t)&&u(a)&&v(t[0])){if(e==="customdata"||e==="ids")continue;for(var r=Math.min(t.length,a.length),n=0;nM9,modHalf:()=>S9});function M9(j,N){let u=j%N;return u<0?u+N:u}function S9(j,N){return Math.abs(j)>N/2?j-Math.round(j/N)*N:j}var im=di({"src/lib/mod.ts"(){"use strict"}}),Ji=De({"src/lib/extend.js"(j){"use strict";var N=Bv(),u=Array.isArray;function v(S,l){var e,t;for(e=0;e=4&&j[3]!==1&&(N=", "+j[3]),"hwb("+j[0]+", "+j[1]+"%, "+j[2]+"%"+N+")"},hh.to.keyword=function(...j){return I_[j.slice(0,3)]},Nv=hh}}),gp,C9=di({"node_modules/color/node_modules/color-name/index.js"(){gp={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]}}});function yp(j){let N=j>.0031308?1.055*j**.4166666666666667-.055:j*12.92;return Math.min(Math.max(0,N),1)}function _p(j){return j>.04045?((j+.055)/1.055)**2.4:j/12.92}function L9(j,N){return(j[0]-N[0])**2+(j[1]-N[1])**2+(j[2]-N[2])**2}var D_,eo,Yd,od,f3=di({"node_modules/color/node_modules/color-convert/conversions.js"(){C9(),D_={};for(let j of Object.keys(gp))D_[gp[j]]=j;eo={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},oklab:{channels:3,labels:["okl","oka","okb"]},lch:{channels:3,labels:"lch"},oklch:{channels:3,labels:["okl","okc","okh"]},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}},Yd=eo,od=(6/29)**3;for(let j of Object.keys(eo)){if(!("channels"in eo[j]))throw new Error("missing channels property: "+j);if(!("labels"in eo[j]))throw new Error("missing channel labels property: "+j);if(eo[j].labels.length!==eo[j].channels)throw new Error("channel and label counts mismatch: "+j);let{channels:N,labels:u}=eo[j];delete eo[j].channels,delete eo[j].labels,Object.defineProperty(eo[j],"channels",{value:N}),Object.defineProperty(eo[j],"labels",{value:u})}eo.rgb.hsl=function(j){let N=j[0]/255,u=j[1]/255,v=j[2]/255,w=Math.min(N,u,v),S=Math.max(N,u,v),l=S-w,e,t;switch(S){case w:{e=0;break}case N:{e=(u-v)/l;break}case u:{e=2+(v-N)/l;break}case v:{e=4+(N-u)/l;break}}e=Math.min(e*60,360),e<0&&(e+=360);let a=(w+S)/2;return S===w?t=0:a<=.5?t=l/(S+w):t=l/(2-S-w),[e,t*100,a*100]},eo.rgb.hsv=function(j){let N,u,v,w,S,l=j[0]/255,e=j[1]/255,t=j[2]/255,a=Math.max(l,e,t),r=a-Math.min(l,e,t),n=function(i){return(a-i)/6/r+1/2};if(r===0)w=0,S=0;else{switch(S=r/a,N=n(l),u=n(e),v=n(t),a){case l:{w=v-u;break}case e:{w=1/3+N-v;break}case t:{w=2/3+u-N;break}}w<0?w+=1:w>1&&(w-=1)}return[w*360,S*100,a*100]},eo.rgb.hwb=function(j){let N=j[0],u=j[1],v=j[2],w=eo.rgb.hsl(j)[0],S=1/255*Math.min(N,Math.min(u,v));return v=1-1/255*Math.max(N,Math.max(u,v)),[w,S*100,v*100]},eo.rgb.oklab=function(j){let N=_p(j[0]/255),u=_p(j[1]/255),v=_p(j[2]/255),w=Math.cbrt(.4122214708*N+.5363325363*u+.0514459929*v),S=Math.cbrt(.2119034982*N+.6806995451*u+.1073969566*v),l=Math.cbrt(.0883024619*N+.2817188376*u+.6299787005*v),e=.2104542553*w+.793617785*S-.0040720468*l,t=1.9779984951*w-2.428592205*S+.4505937099*l,a=.0259040371*w+.7827717662*S-.808675766*l;return[e*100,t*100,a*100]},eo.rgb.cmyk=function(j){let N=j[0]/255,u=j[1]/255,v=j[2]/255,w=Math.min(1-N,1-u,1-v),S=(1-N-w)/(1-w)||0,l=(1-u-w)/(1-w)||0,e=(1-v-w)/(1-w)||0;return[S*100,l*100,e*100,w*100]},eo.rgb.keyword=function(j){let N=D_[j];if(N)return N;let u=Number.POSITIVE_INFINITY,v;for(let w of Object.keys(gp)){let S=gp[w],l=L9(j,S);lod?u**(1/3):7.787*u+16/116,v=v>od?v**(1/3):7.787*v+16/116,w=w>od?w**(1/3):7.787*w+16/116;let S=116*v-16,l=500*(u-v),e=200*(v-w);return[S,l,e]},eo.hsl.rgb=function(j){let N=j[0]/360,u=j[1]/100,v=j[2]/100,w,S;if(u===0)return S=v*255,[S,S,S];let l=v<.5?v*(1+u):v+u-v*u,e=2*v-l,t=[0,0,0];for(let a=0;a<3;a++)w=N+1/3*-(a-1),w<0&&w++,w>1&&w--,6*w<1?S=e+(l-e)*6*w:2*w<1?S=l:3*w<2?S=e+(l-e)*(2/3-w)*6:S=e,t[a]=S*255;return t},eo.hsl.hsv=function(j){let N=j[0],u=j[1]/100,v=j[2]/100,w=u,S=Math.max(v,.01);v*=2,u*=v<=1?v:2-v,w*=S<=1?S:2-S;let l=(v+u)/2,e=v===0?2*w/(S+w):2*u/(v+u);return[N,e*100,l*100]},eo.hsv.rgb=function(j){let N=j[0]/60,u=j[1]/100,v=j[2]/100,w=Math.floor(N)%6,S=N-Math.floor(N),l=255*v*(1-u),e=255*v*(1-u*S),t=255*v*(1-u*(1-S));switch(v*=255,w){case 0:return[v,t,l];case 1:return[e,v,l];case 2:return[l,v,t];case 3:return[l,e,v];case 4:return[t,l,v];case 5:return[v,l,e]}},eo.hsv.hsl=function(j){let N=j[0],u=j[1]/100,v=j[2]/100,w=Math.max(v,.01),S,l;l=(2-u)*v;let e=(2-u)*w;return S=u*w,S/=e<=1?e:2-e,S=S||0,l/=2,[N,S*100,l*100]},eo.hwb.rgb=function(j){let N=j[0]/360,u=j[1]/100,v=j[2]/100,w=u+v,S;w>1&&(u/=w,v/=w);let l=Math.floor(6*N),e=1-v;S=6*N-l,l&1&&(S=1-S);let t=u+S*(e-u),a,r,n;switch(l){default:case 6:case 0:{a=e,r=t,n=u;break}case 1:{a=t,r=e,n=u;break}case 2:{a=u,r=e,n=t;break}case 3:{a=u,r=t,n=e;break}case 4:{a=t,r=u,n=e;break}case 5:{a=e,r=u,n=t;break}}return[a*255,r*255,n*255]},eo.cmyk.rgb=function(j){let N=j[0]/100,u=j[1]/100,v=j[2]/100,w=j[3]/100,S=1-Math.min(1,N*(1-w)+w),l=1-Math.min(1,u*(1-w)+w),e=1-Math.min(1,v*(1-w)+w);return[S*255,l*255,e*255]},eo.xyz.rgb=function(j){let N=j[0]/100,u=j[1]/100,v=j[2]/100,w,S,l;return w=N*3.2404542+u*-1.5371385+v*-.4985314,S=N*-.969266+u*1.8760108+v*.041556,l=N*.0556434+u*-.2040259+v*1.0572252,w=yp(w),S=yp(S),l=yp(l),[w*255,S*255,l*255]},eo.xyz.lab=function(j){let N=j[0],u=j[1],v=j[2];N/=95.047,u/=100,v/=108.883,N=N>od?N**(1/3):7.787*N+16/116,u=u>od?u**(1/3):7.787*u+16/116,v=v>od?v**(1/3):7.787*v+16/116;let w=116*u-16,S=500*(N-u),l=200*(u-v);return[w,S,l]},eo.xyz.oklab=function(j){let N=j[0]/100,u=j[1]/100,v=j[2]/100,w=Math.cbrt(.8189330101*N+.3618667424*u-.1288597137*v),S=Math.cbrt(.0329845436*N+.9293118715*u+.0361456387*v),l=Math.cbrt(.0482003018*N+.2643662691*u+.633851707*v),e=.2104542553*w+.793617785*S-.0040720468*l,t=1.9779984951*w-2.428592205*S+.4505937099*l,a=.0259040371*w+.7827717662*S-.808675766*l;return[e*100,t*100,a*100]},eo.oklab.oklch=function(j){return eo.lab.lch(j)},eo.oklab.xyz=function(j){let N=j[0]/100,u=j[1]/100,v=j[2]/100,w=(.999999998*N+.396337792*u+.215803758*v)**3,S=(1.000000008*N-.105561342*u-.063854175*v)**3,l=(1.000000055*N-.089484182*u-1.291485538*v)**3,e=1.227013851*w-.55779998*S+.281256149*l,t=-.040580178*w+1.11225687*S-.071676679*l,a=-.076381285*w-.421481978*S+1.58616322*l;return[e*100,t*100,a*100]},eo.oklab.rgb=function(j){let N=j[0]/100,u=j[1]/100,v=j[2]/100,w=(N+.3963377774*u+.2158037573*v)**3,S=(N-.1055613458*u-.0638541728*v)**3,l=(N-.0894841775*u-1.291485548*v)**3,e=yp(4.0767416621*w-3.3077115913*S+.2309699292*l),t=yp(-1.2684380046*w+2.6097574011*S-.3413193965*l),a=yp(-.0041960863*w-.7034186147*S+1.707614701*l);return[e*255,t*255,a*255]},eo.oklch.oklab=function(j){return eo.lch.lab(j)},eo.lab.xyz=function(j){let N=j[0],u=j[1],v=j[2],w,S,l;S=(N+16)/116,w=u/500+S,l=S-v/200;let e=S**3,t=w**3,a=l**3;return S=e>od?e:(S-16/116)/7.787,w=t>od?t:(w-16/116)/7.787,l=a>od?a:(l-16/116)/7.787,w*=95.047,S*=100,l*=108.883,[w,S,l]},eo.lab.lch=function(j){let N=j[0],u=j[1],v=j[2],w;w=Math.atan2(v,u)*360/2/Math.PI,w<0&&(w+=360);let l=Math.sqrt(u*u+v*v);return[N,l,w]},eo.lch.lab=function(j){let N=j[0],u=j[1],w=j[2]/360*2*Math.PI,S=u*Math.cos(w),l=u*Math.sin(w);return[N,S,l]},eo.rgb.ansi16=function(j,N=null){let[u,v,w]=j,S=N===null?eo.rgb.hsv(j)[2]:N;if(S=Math.round(S/50),S===0)return 30;let l=30+(Math.round(w/255)<<2|Math.round(v/255)<<1|Math.round(u/255));return S===2&&(l+=60),l},eo.hsv.ansi16=function(j){return eo.rgb.ansi16(eo.hsv.rgb(j),j[2])},eo.rgb.ansi256=function(j){let N=j[0],u=j[1],v=j[2];return N>>4===u>>4&&u>>4===v>>4?N<8?16:N>248?231:Math.round((N-8)/247*24)+232:16+36*Math.round(N/255*5)+6*Math.round(u/255*5)+Math.round(v/255*5)},eo.ansi16.rgb=function(j){j=j[0];let N=j%10;if(N===0||N===7)return j>50&&(N+=3.5),N=N/10.5*255,[N,N,N];let u=(Math.trunc(j>50)+1)*.5,v=(N&1)*u*255,w=(N>>1&1)*u*255,S=(N>>2&1)*u*255;return[v,w,S]},eo.ansi256.rgb=function(j){if(j=j[0],j>=232){let S=(j-232)*10+8;return[S,S,S]}j-=16;let N,u=Math.floor(j/36)/5*255,v=Math.floor((N=j%36)/6)/5*255,w=N%6/5*255;return[u,v,w]},eo.rgb.hex=function(j){let u=(((Math.round(j[0])&255)<<16)+((Math.round(j[1])&255)<<8)+(Math.round(j[2])&255)).toString(16).toUpperCase();return"000000".slice(u.length)+u},eo.hex.rgb=function(j){let N=j.toString(16).match(/[a-f\d]{6}|[a-f\d]{3}/i);if(!N)return[0,0,0];let u=N[0];N[0].length===3&&(u=[...u].map(e=>e+e).join(""));let v=Number.parseInt(u,16),w=v>>16&255,S=v>>8&255,l=v&255;return[w,S,l]},eo.rgb.hcg=function(j){let N=j[0]/255,u=j[1]/255,v=j[2]/255,w=Math.max(Math.max(N,u),v),S=Math.min(Math.min(N,u),v),l=w-S,e,t=l<1?S/(1-l):0;return l<=0?e=0:w===N?e=(u-v)/l%6:w===u?e=2+(v-N)/l:e=4+(N-u)/l,e/=6,e%=1,[e*360,l*100,t*100]},eo.hsl.hcg=function(j){let N=j[1]/100,u=j[2]/100,v=u<.5?2*N*u:2*N*(1-u),w=0;return v<1&&(w=(u-.5*v)/(1-v)),[j[0],v*100,w*100]},eo.hsv.hcg=function(j){let N=j[1]/100,u=j[2]/100,v=N*u,w=0;return v<1&&(w=(u-v)/(1-v)),[j[0],v*100,w*100]},eo.hcg.rgb=function(j){let N=j[0]/360,u=j[1]/100,v=j[2]/100;if(u===0)return[v*255,v*255,v*255];let w=[0,0,0],S=N%1*6,l=S%1,e=1-l,t=0;switch(Math.floor(S)){case 0:{w[0]=1,w[1]=l,w[2]=0;break}case 1:{w[0]=e,w[1]=1,w[2]=0;break}case 2:{w[0]=0,w[1]=1,w[2]=l;break}case 3:{w[0]=0,w[1]=e,w[2]=1;break}case 4:{w[0]=l,w[1]=0,w[2]=1;break}default:w[0]=1,w[1]=0,w[2]=e}return t=(1-u)*v,[(u*w[0]+t)*255,(u*w[1]+t)*255,(u*w[2]+t)*255]},eo.hcg.hsv=function(j){let N=j[1]/100,u=j[2]/100,v=N+u*(1-N),w=0;return v>0&&(w=N/v),[j[0],w*100,v*100]},eo.hcg.hsl=function(j){let N=j[1]/100,v=j[2]/100*(1-N)+.5*N,w=0;return v>0&&v<.5?w=N/(2*v):v>=.5&&v<1&&(w=N/(2*(1-v))),[j[0],w*100,v*100]},eo.hcg.hwb=function(j){let N=j[1]/100,u=j[2]/100,v=N+u*(1-N);return[j[0],(v-N)*100,(1-v)*100]},eo.hwb.hcg=function(j){let N=j[1]/100,v=1-j[2]/100,w=v-N,S=0;return w<1&&(S=(v-w)/(1-w)),[j[0],w*100,S*100]},eo.apple.rgb=function(j){return[j[0]/65535*255,j[1]/65535*255,j[2]/65535*255]},eo.rgb.apple=function(j){return[j[0]/255*65535,j[1]/255*65535,j[2]/255*65535]},eo.gray.rgb=function(j){return[j[0]/100*255,j[0]/100*255,j[0]/100*255]},eo.gray.hsl=function(j){return[0,0,j[0]]},eo.gray.hsv=eo.gray.hsl,eo.gray.hwb=function(j){return[0,100,j[0]]},eo.gray.cmyk=function(j){return[0,0,0,j[0]]},eo.gray.lab=function(j){return[j[0],0,0]},eo.gray.hex=function(j){let N=Math.round(j[0]/100*255)&255,v=((N<<16)+(N<<8)+N).toString(16).toUpperCase();return"000000".slice(v.length)+v},eo.rgb.gray=function(j){return[(j[0]+j[1]+j[2])/3/255*100]}}});function P9(){let j={},N=Object.keys(Yd);for(let{length:u}=N,v=0;v0;){let v=u.pop(),w=Object.keys(Yd[v]);for(let{length:S}=w,l=0;l1&&(u=v),j(u))};return"conversion"in j&&(N.conversion=j.conversion),N}function O9(j){let N=function(...u){let v=u[0];if(v==null)return v;v.length>1&&(u=v);let w=j(u);if(typeof w=="object")for(let{length:S}=w,l=0;lp3});function ff(j,N){if(!(this instanceof ff))return new ff(j,N);if(N&&N in z_&&(N=null),N&&!(N in xh))throw new Error("Unknown model: "+N);let u,v;if(j==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(j instanceof ff)this.model=j.model,this.color=[...j.color],this.valpha=j.valpha;else if(typeof j=="string"){let w=Nv.get(j);if(w===null)throw new Error("Unable to parse color from string: "+j);this.model=w.model,v=xh[this.model].channels,this.color=w.value.slice(0,v),this.valpha=typeof w.value[v]=="number"?w.value[v]:1}else if(j.length>0){this.model=N||"rgb",v=xh[this.model].channels;let w=Array.prototype.slice.call(j,0,v);this.color=F_(w,v),this.valpha=typeof j[v]=="number"?j[v]:1}else if(typeof j=="number")this.model="rgb",this.color=[j>>16&255,j>>8&255,j&255],this.valpha=1;else{this.valpha=1;let w=Object.keys(j);"alpha"in j&&(w.splice(w.indexOf("alpha"),1),this.valpha=typeof j.alpha=="number"?j.alpha:0);let S=w.sort().join("");if(!(S in g1))throw new Error("Unable to parse color from object: "+JSON.stringify(j));this.model=g1[S];let{labels:l}=xh[this.model],e=[];for(u=0;u(j%360+360)%360),saturationl:tc("hsl",1,Vc(100)),lightness:tc("hsl",2,Vc(100)),saturationv:tc("hsv",1,Vc(100)),value:tc("hsv",2,Vc(100)),chroma:tc("hcg",1,Vc(100)),gray:tc("hcg",2,Vc(100)),white:tc("hwb",1,Vc(100)),wblack:tc("hwb",2,Vc(100)),cyan:tc("cmyk",0,Vc(100)),magenta:tc("cmyk",1,Vc(100)),yellow:tc("cmyk",2,Vc(100)),black:tc("cmyk",3,Vc(100)),x:tc("xyz",0,Vc(95.047)),y:tc("xyz",1,Vc(100)),z:tc("xyz",2,Vc(108.833)),l:tc("lab",0,Vc(100)),a:tc("lab",1),b:tc("lab",2),keyword(j){return j!==void 0?new ff(j):xh[this.model].keyword(this.color)},hex(j){return j!==void 0?new ff(j):Nv.to.hex(...this.rgb().round().color)},hexa(j){if(j!==void 0)return new ff(j);let N=this.rgb().round().color,u=Math.round(this.valpha*255).toString(16).toUpperCase();return u.length===1&&(u="0"+u),Nv.to.hex(...N)+u},rgbNumber(){let j=this.rgb().color;return(j[0]&255)<<16|(j[1]&255)<<8|j[2]&255},luminosity(){let j=this.rgb().color,N=[];for(let[u,v]of j.entries()){let w=v/255;N[u]=w<=.04045?w/12.92:((w+.055)/1.055)**2.4}return .2126*N[0]+.7152*N[1]+.0722*N[2]},contrast(j){let N=this.luminosity(),u=j.luminosity();return N>u?(N+.05)/(u+.05):(u+.05)/(N+.05)},level(j){let N=this.contrast(j);return N>=7?"AAA":N>=4.5?"AA":""},isDark(){let j=this.rgb().color;return(j[0]*2126+j[1]*7152+j[2]*722)/1e4<128},isLight(){return!this.isDark()},negate(){let j=this.rgb();for(let N=0;N<3;N++)j.color[N]=255-j.color[N];return j},lighten(j){let N=this.hsl();return N.color[2]+=N.color[2]*j,N},darken(j){let N=this.hsl();return N.color[2]-=N.color[2]*j,N},saturate(j){let N=this.hsl();return N.color[1]+=N.color[1]*j,N},desaturate(j){let N=this.hsl();return N.color[1]-=N.color[1]*j,N},whiten(j){let N=this.hwb();return N.color[1]+=N.color[1]*j,N},blacken(j){let N=this.hwb();return N.color[2]+=N.color[2]*j,N},grayscale(){let j=this.rgb().color,N=j[0]*.3+j[1]*.59+j[2]*.11;return ff.rgb(N,N,N)},fade(j){return this.alpha(this.valpha-this.valpha*j)},opaquer(j){return this.alpha(this.valpha+this.valpha*j)},rotate(j){let N=this.hsl(),u=N.color[0];return u=(u+j)%360,u=u<0?360+u:u,N.color[0]=u,N},mix(j,N){if(!j||!j.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof j);let u=j.rgb(),v=this.rgb(),w=N===void 0?.5:N,S=2*w-1,l=u.alpha()-v.alpha(),e=((S*l===-1?S:(S+l)/(1+S*l))+1)/2,t=1-e;return ff.rgb(e*u.red()+t*v.red(),e*u.green()+t*v.green(),e*u.blue()+t*v.blue(),u.alpha()*w+v.alpha()*(1-w))}};for(let j of Object.keys(xh)){if(z_.includes(j))continue;let{channels:N}=xh[j];ff.prototype[j]=function(...u){return this.model===j?new ff(this):u.length>0?new ff(u,j):new ff([...q9(xh[this.model][j].raw(this.color)),this.valpha],j)},ff[j]=function(...u){let v=u[0];return typeof v=="number"&&(v=F_(u,N)),new ff(v,j)}}p3=ff}}),xp=De({"src/plot_api/plot_config.js"(j,N){"use strict";var u={staticPlot:{valType:"boolean",dflt:!1},typesetMath:{valType:"boolean",dflt:!0},plotlyServerURL:{valType:"string",dflt:"https://cloud.plotly.com/newchart"},editable:{valType:"boolean",dflt:!1},edits:{annotationPosition:{valType:"boolean",dflt:!1},annotationTail:{valType:"boolean",dflt:!1},annotationText:{valType:"boolean",dflt:!1},axisTitleText:{valType:"boolean",dflt:!1},colorbarPosition:{valType:"boolean",dflt:!1},colorbarTitleText:{valType:"boolean",dflt:!1},legendPosition:{valType:"boolean",dflt:!1},legendText:{valType:"boolean",dflt:!1},shapePosition:{valType:"boolean",dflt:!1},titleText:{valType:"boolean",dflt:!1}},editSelection:{valType:"boolean",dflt:!0},autosizable:{valType:"boolean",dflt:!1},responsive:{valType:"boolean",dflt:!1},fillFrame:{valType:"boolean",dflt:!1},frameMargins:{valType:"number",dflt:0,min:0,max:.5},scrollZoom:{valType:"flaglist",flags:["cartesian","gl3d","geo","map"],extras:[!0,!1],dflt:"gl3d+geo+map"},doubleClick:{valType:"enumerated",values:[!1,"reset","autosize","reset+autosize"],dflt:"reset+autosize"},doubleClickDelay:{valType:"number",dflt:300,min:0},showAxisDragHandles:{valType:"boolean",dflt:!0},showAxisRangeEntryBoxes:{valType:"boolean",dflt:!0},showTips:{valType:"boolean",dflt:!0},displayNotifier:{valType:"boolean",dflt:!0},displayModeBar:{valType:"enumerated",values:["hover",!0,!1],dflt:"hover"},showSendToCloud:{valType:"boolean",dflt:!0},modeBarButtonsToRemove:{valType:"any",dflt:[]},modeBarButtonsToAdd:{valType:"any",dflt:[]},modeBarButtons:{valType:"any",dflt:!1},toImageButtonOptions:{valType:"any",dflt:{}},displaylogo:{valType:"boolean",dflt:!0},watermark:{valType:"boolean",dflt:!1},plotGlPixelRatio:{valType:"number",dflt:2,min:1,max:4},setBackground:{valType:"any",dflt:"transparent"},topojsonURL:{valType:"string",noBlank:!0,dflt:"https://cdn.plot.ly/un/"},logging:{valType:"integer",min:0,max:2,dflt:1},notifyOnLogging:{valType:"integer",min:0,max:2,dflt:0},queueLength:{valType:"integer",min:0,dflt:0},locale:{valType:"string",dflt:"en-US"},locales:{valType:"any",dflt:{}}},v={};function w(S,l){for(var e in S){var t=S[e];t.valType?l[e]=t.dflt:(l[e]||(l[e]={}),w(t,l[e]))}}w(u,v),N.exports={configAttributes:u,dfltConfig:v}}}),m3=De({"src/lib/notifier.js"(j,N){"use strict";var u=Qn(),v=io(),w=[];N.exports=function(S,l,e){var t;if(((t=e?._context)==null?void 0:t.displayNotifier)===!1||w.indexOf(S)!==-1)return;w.push(S);var a=1e3;v(l)?a=l:l==="long"&&(a=3e3);var r=u.select("body").selectAll(".plotly-notifier").data([0]);r.enter().append("div").classed("plotly-notifier",!0);var n=r.selectAll(".notifier-note").data(w);function i(s){s.duration(700).style("opacity",0).each("end",function(c){var p=w.indexOf(c);p!==-1&&w.splice(p,1),u.select(this).remove()})}n.enter().append("div").classed("notifier-note",!0).style("opacity",0).each(function(s){var c=u.select(this);c.append("button").classed("notifier-close",!0).html("×").on("click",function(){c.transition().call(i)});for(var p=c.append("p"),f=s.split(//g),d=0;d1){var l=["LOG:"];for(S=0;S1){var e=[];for(S=0;S"),"long")}},w.warn=function(){var S;if(u.logging>0){var l=["WARN:"];for(S=0;S0){var e=[];for(S=0;S"),"stick")}},w.error=function(){var S;if(u.logging>0){var l=["ERROR:"];for(S=0;S0){var e=[];for(S=0;S"),"stick")}}}}),mc=De({"src/components/color/attributes.js"(j){"use strict";j.defaults=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],j.defaultLine="#444",j.lightLine="#eee",j.background="#fff",j.borderLine="#BEC8D9",j.lightFraction=100*10/11}}),ii=De({"src/components/color/index.js"(j,N){"use strict";var u=(G9(),ts(v3)).default,{warn:v}=Xd(),{background:w,defaultLine:S,defaults:l,lightLine:e}=mc(),t=E=>{typeof E=="string"&&(E=E.trim());try{return u(E)}catch{return v(`Invalid color specifier: "${E}". Defaulting to "#000"`),u("#000")}},a=E=>{let{r:g,g:A,b:m}=t(E).rgb().object();return`rgb(${Math.round(g)}, ${Math.round(A)}, ${Math.round(m)})`},r=E=>E?t(E).alpha():0,n=(E,g)=>{let A=t(E).rgb().object();return`rgba(${Math.round(A.r)}, ${Math.round(A.g)}, ${Math.round(A.b)}, ${g})`},i=(E,g)=>{var A,m;g||(g=w);let h=t(E).rgb().object();if((A=h.alpha)!=null||(h.alpha=1),h.alpha===1)return t(E).rgb().string();let b=t(g).rgb().object();(m=b.alpha)!=null||(b.alpha=1);let _=b.alpha===1?b:{r:255*(1-b.alpha)+b.r*b.alpha,g:255*(1-b.alpha)+b.g*b.alpha,b:255*(1-b.alpha)+b.b*b.alpha},I={r:_.r*(1-h.alpha)+h.r*h.alpha,g:_.g*(1-h.alpha)+h.g*h.alpha,b:_.b*(1-h.alpha)+h.b*h.alpha};return t(I).rgb().string()},s=(E,g,A)=>{let m=t(E).rgb().object(),h=t(g).rgb().object(),b={r:A*m.r+(1-A)*h.r,g:A*m.g+(1-A)*h.g,b:A*m.b+(1-A)*h.b};return t(b).rgb().string()},c=(E,g)=>{let A=t(E);return A.lightness(A.lightness()+g)},p=(E,g,A)=>{let m=t(E);return m.alpha()!==1&&(m=t(i(E,w))),(m.isDark()?g?c(m,g):t(w):A?c(m,-A):t(S)).rgb().string()},f=(E,g)=>{let A=t(g);E.style({stroke:a(g),"stroke-opacity":A.alpha()})},d=(E,g)=>{let A=t(g);E.style({fill:a(g),"fill-opacity":A.alpha()})},y=(E,g)=>!!(E&&g&&t(E).rgb().string()===t(g).rgb().string()),o=E=>{if(typeof E!="string")return!1;try{return!!u(E.trim())}catch{return!1}},x=(E,g)=>{var A;g=g===0?0:g||10;let m=t(E).rgb().object(),h=Math.round(255*(g/100));return t({r:Math.max(0,Math.min(255,m.r+h)),g:Math.max(0,Math.min(255,m.g+h)),b:Math.max(0,Math.min(255,m.b+h))}).alpha((A=m.alpha)!=null?A:1).rgb().string()},M=(E,g,A)=>t(E).mix(t(g),A/100).rgb().string(),T=(E,g=["#000","#fff"])=>{let A,m=-1/0;for(let h of g){let b=t(E).contrast(t(h));b>m&&(m=b,A=t(h).rgb().string())}return A};N.exports={addOpacity:n,adjustLightness:c,background:w,brighten:x,color:t,combine:i,contrast:p,defaultLine:S,defaults:l,equals:y,fill:d,interpolate:s,isValid:o,lightLine:e,mix:M,mostReadable:T,opacity:r,rgb:a,stroke:f}}}),bp=De({"src/components/colorscale/scales.js"(j,N){"use strict";var u=ii(),v={Greys:[[0,"rgb(0,0,0)"],[1,"rgb(255,255,255)"]],YlGnBu:[[0,"rgb(8,29,88)"],[.125,"rgb(37,52,148)"],[.25,"rgb(34,94,168)"],[.375,"rgb(29,145,192)"],[.5,"rgb(65,182,196)"],[.625,"rgb(127,205,187)"],[.75,"rgb(199,233,180)"],[.875,"rgb(237,248,217)"],[1,"rgb(255,255,217)"]],Greens:[[0,"rgb(0,68,27)"],[.125,"rgb(0,109,44)"],[.25,"rgb(35,139,69)"],[.375,"rgb(65,171,93)"],[.5,"rgb(116,196,118)"],[.625,"rgb(161,217,155)"],[.75,"rgb(199,233,192)"],[.875,"rgb(229,245,224)"],[1,"rgb(247,252,245)"]],YlOrRd:[[0,"rgb(128,0,38)"],[.125,"rgb(189,0,38)"],[.25,"rgb(227,26,28)"],[.375,"rgb(252,78,42)"],[.5,"rgb(253,141,60)"],[.625,"rgb(254,178,76)"],[.75,"rgb(254,217,118)"],[.875,"rgb(255,237,160)"],[1,"rgb(255,255,204)"]],Bluered:[[0,"rgb(0,0,255)"],[1,"rgb(255,0,0)"]],RdBu:[[0,"rgb(5,10,172)"],[.35,"rgb(106,137,247)"],[.5,"rgb(190,190,190)"],[.6,"rgb(220,170,132)"],[.7,"rgb(230,145,90)"],[1,"rgb(178,10,28)"]],Reds:[[0,"rgb(220,220,220)"],[.2,"rgb(245,195,157)"],[.4,"rgb(245,160,105)"],[1,"rgb(178,10,28)"]],Blues:[[0,"rgb(5,10,172)"],[.35,"rgb(40,60,190)"],[.5,"rgb(70,100,245)"],[.6,"rgb(90,120,245)"],[.7,"rgb(106,137,247)"],[1,"rgb(220,220,220)"]],Picnic:[[0,"rgb(0,0,255)"],[.1,"rgb(51,153,255)"],[.2,"rgb(102,204,255)"],[.3,"rgb(153,204,255)"],[.4,"rgb(204,204,255)"],[.5,"rgb(255,255,255)"],[.6,"rgb(255,204,255)"],[.7,"rgb(255,153,255)"],[.8,"rgb(255,102,204)"],[.9,"rgb(255,102,102)"],[1,"rgb(255,0,0)"]],Rainbow:[[0,"rgb(150,0,90)"],[.125,"rgb(0,0,200)"],[.25,"rgb(0,25,255)"],[.375,"rgb(0,152,255)"],[.5,"rgb(44,255,150)"],[.625,"rgb(151,255,0)"],[.75,"rgb(255,234,0)"],[.875,"rgb(255,111,0)"],[1,"rgb(255,0,0)"]],Portland:[[0,"rgb(12,51,131)"],[.25,"rgb(10,136,186)"],[.5,"rgb(242,211,56)"],[.75,"rgb(242,143,56)"],[1,"rgb(217,30,30)"]],Jet:[[0,"rgb(0,0,131)"],[.125,"rgb(0,60,170)"],[.375,"rgb(5,255,255)"],[.625,"rgb(255,255,0)"],[.875,"rgb(250,0,0)"],[1,"rgb(128,0,0)"]],Hot:[[0,"rgb(0,0,0)"],[.3,"rgb(230,0,0)"],[.6,"rgb(255,210,0)"],[1,"rgb(255,255,255)"]],Blackbody:[[0,"rgb(0,0,0)"],[.2,"rgb(230,0,0)"],[.4,"rgb(230,210,0)"],[.7,"rgb(255,255,255)"],[1,"rgb(160,200,255)"]],Earth:[[0,"rgb(0,0,130)"],[.1,"rgb(0,180,180)"],[.2,"rgb(40,210,40)"],[.4,"rgb(230,230,50)"],[.6,"rgb(120,70,20)"],[1,"rgb(255,255,255)"]],Electric:[[0,"rgb(0,0,0)"],[.15,"rgb(30,0,100)"],[.4,"rgb(120,0,100)"],[.6,"rgb(160,90,0)"],[.8,"rgb(230,200,0)"],[1,"rgb(255,250,220)"]],Viridis:[[0,"#440154"],[.06274509803921569,"#48186a"],[.12549019607843137,"#472d7b"],[.18823529411764706,"#424086"],[.25098039215686274,"#3b528b"],[.3137254901960784,"#33638d"],[.3764705882352941,"#2c728e"],[.4392156862745098,"#26828e"],[.5019607843137255,"#21918c"],[.5647058823529412,"#1fa088"],[.6274509803921569,"#28ae80"],[.6901960784313725,"#3fbc73"],[.7529411764705882,"#5ec962"],[.8156862745098039,"#84d44b"],[.8784313725490196,"#addc30"],[.9411764705882353,"#d8e219"],[1,"#fde725"]],Cividis:[[0,"rgb(0,32,76)"],[.058824,"rgb(0,42,102)"],[.117647,"rgb(0,52,110)"],[.176471,"rgb(39,63,108)"],[.235294,"rgb(60,74,107)"],[.294118,"rgb(76,85,107)"],[.352941,"rgb(91,95,109)"],[.411765,"rgb(104,106,112)"],[.470588,"rgb(117,117,117)"],[.529412,"rgb(131,129,120)"],[.588235,"rgb(146,140,120)"],[.647059,"rgb(161,152,118)"],[.705882,"rgb(176,165,114)"],[.764706,"rgb(192,177,109)"],[.823529,"rgb(209,191,102)"],[.882353,"rgb(225,204,92)"],[.941176,"rgb(243,219,79)"],[1,"rgb(255,233,69)"]]},w=v.RdBu;function S(t,a){if(a||(a=w),!t)return a;function r(){try{t=v[t]||JSON.parse(t)}catch{t=a}}return typeof t=="string"&&(r(),typeof t=="string"&&r()),l(t)?t:a}function l(t){var a=0;if(!Array.isArray(t)||t.length<2||!t[0]||!t[t.length-1]||+t[0][0]!=0||+t[t.length-1][0]!=1)return!1;for(var r=0;rV9});function V9(j,N="",u,v){let w=N+(u?"":"$"),S=v===!1?"":"^";return j==="xy"?new RegExp(S+"x"+y1+"y"+y1+w):new RegExp(S+j+y1+w)}var y1,lm=di({"src/lib/regex.ts"(){"use strict";y1="([2-9]|[1-9][0-9]+)?"}}),H9=De({"src/lib/coerce.js"(j){"use strict";var N=io(),u=Ji().extendFlat,v=Bs(),w=bp(),S=ii(),l=Zd().DESELECTDIM,e=v1(),t=(lm(),ts(wp)).counter,a=(im(),ts(pp)).modHalf,r=Vf().isArrayOrTypedArray,n=Vf().isTypedArraySpec,i=Vf().decodeTypedArraySpec;j.valObjectMeta={data_array:{coerceFunction:function(c,p,f){p.set(r(c)?c:n(c)?i(c):f)}},enumerated:{coerceFunction:function(c,p,f,d){d.coerceNumber&&(c=+c),d.values.indexOf(c)===-1?p.set(f):p.set(c)},validateFunction:function(c,p){p.coerceNumber&&(c=+c);for(var f=p.values,d=0;do===!0||o===!1;y(c)||d.arrayOk&&Array.isArray(c)&&c.length>0&&c.every(y)?p.set(c):p.set(f)}},number:{coerceFunction:function(c,p,f,d){n(c)&&(c=i(c)),!N(c)||d.min!==void 0&&cd.max?p.set(f):p.set(+c)}},integer:{coerceFunction:function(c,p,f,d){if((d.extras||[]).indexOf(c)!==-1){p.set(c);return}n(c)&&(c=i(c)),c%1||!N(c)||d.min!==void 0&&cd.max?p.set(f):p.set(+c)}},string:{coerceFunction:function(c,p,f,d){if(typeof c!="string"){var y=typeof c=="number";d.strict===!0||!y?p.set(f):p.set(String(c))}else d.noBlank&&!c?p.set(f):p.set(c)}},color:{coerceFunction:function(c,p,f){n(c)&&(c=i(c)),S.isValid(c)?p.set(c):p.set(f)}},colorlist:{coerceFunction:function(c,p,f){!Array.isArray(c)||!c.length?p.set(f):c.every(d=>S.isValid(d))?p.set(c):p.set(f)}},colorscale:{coerceFunction:function(c,p,f){p.set(w.get(c,f))}},angle:{coerceFunction:function(c,p,f){n(c)&&(c=i(c)),c==="auto"?p.set("auto"):N(c)?p.set(a(+c,360)):p.set(f)}},subplotid:{coerceFunction:function(c,p,f,d){var y=d.regex||t(f);let o=x=>typeof x=="string"&&y.test(x);o(c)||d.arrayOk&&r(c)&&c.length>0&&c.every(o)?p.set(c):p.set(f)},validateFunction:function(c,p){var f=p.dflt;return c===f?!0:typeof c!="string"?!1:!!t(f).test(c)}},flaglist:{coerceFunction:function(c,p,f,d){if((d.extras||[]).indexOf(c)!==-1){p.set(c);return}if(typeof c!="string"){p.set(f);return}for(var y=c.split("+"),o=0;oSi({valType:"string",dflt:"",editType:S},l!==!1?{arrayOk:!0}:{}),j.texttemplateAttrs=({editType:S="calc",arrayOk:l}={},e={})=>Si({valType:"string",dflt:"",editType:S},l!==!1?{arrayOk:!0}:{}),j.shapeTexttemplateAttrs=({editType:S="arraydraw",newshape:l}={},e={})=>({valType:"string",dflt:"",editType:S}),j.templatefallbackAttrs=({editType:S="none"}={})=>({valType:"any",dflt:"-",editType:S})}}),N_=De({"src/components/shapes/label_texttemplate.js"(j,N){"use strict";function u(T,E){return E?E.d2l(T):T}function v(T,E){return E?E.l2d(T):T}function w(T){return T.x0}function S(T){return T.x1}function l(T){return T.y0}function e(T){return T.y1}function t(T){return T.x0shift||0}function a(T){return T.x1shift||0}function r(T){return T.y0shift||0}function n(T){return T.y1shift||0}function i(T,E){return u(T.x1,E)+a(T)-u(T.x0,E)-t(T)}function s(T,E,g){return u(T.y1,g)+n(T)-u(T.y0,g)-r(T)}function c(T,E){return Math.abs(i(T,E))}function p(T,E,g){return Math.abs(s(T,E,g))}function f(T,E,g){return T.type!=="line"?void 0:Math.sqrt(Math.pow(i(T,E),2)+Math.pow(s(T,E,g),2))}function d(T,E){return v((u(T.x1,E)+a(T)+u(T.x0,E)+t(T))/2,E)}function y(T,E,g){return v((u(T.y1,g)+n(T)+u(T.y0,g)+r(T))/2,g)}function o(T,E,g){return T.type!=="line"?void 0:s(T,E,g)/i(T,E)}var x=["x0","x1","y0","y1","dy","height","ycenter"],M=["x0","x1","y0","y1","dx","width","xcenter"];N.exports={x0:w,x1:S,y0:l,y1:e,slope:o,dx:i,dy:s,width:c,height:p,length:f,xcenter:d,ycenter:y,simpleXVariables:x,simpleYVariables:M}}}),xP=De({"src/components/shapes/draw_newshape/attributes.js"(j,N){"use strict";var u=Ul().overrideAll,v=Bs(),w=Ml(),S=Hc().dash,l=Ji().extendFlat,{shapeTexttemplateAttrs:e,templatefallbackAttrs:t}=Is(),a=N_();N.exports=u({newshape:{visible:l({},v.visible,{}),showlegend:{valType:"boolean",dflt:!1},legend:l({},v.legend,{}),legendgroup:l({},v.legendgroup,{}),legendgrouptitle:{text:l({},v.legendgrouptitle.text,{}),font:w({})},legendrank:l({},v.legendrank,{}),legendwidth:l({},v.legendwidth,{}),line:{color:{valType:"color"},width:{valType:"number",min:0,dflt:4},dash:l({},S,{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:l({},v.name,{}),label:{text:{valType:"string",dflt:""},texttemplate:e({newshape:!0},{keys:Object.keys(a)}),texttemplatefallback:t({editType:"arraydraw"}),font:w({}),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")}}),bP=De({"src/components/selections/draw_newselection/attributes.js"(j,N){"use strict";var u=Hc().dash,v=Ji().extendFlat;N.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:v({},u,{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"}}}}),j_=De({"src/plots/pad_attributes.js"(j,N){"use strict";N.exports=function(u){var v=u.editType;return{t:{valType:"number",dflt:0,editType:v},r:{valType:"number",dflt:0,editType:v},b:{valType:"number",dflt:0,editType:v},l:{valType:"number",dflt:0,editType:v},editType:v}}}}),um=De({"src/plots/layout_attributes.js"(j,N){"use strict";var u=Ml(),v=x1(),w=mc(),S=xP(),l=bP(),e=j_(),t=Ji().extendFlat,a=u({editType:"calc"});a.family.dflt='"Open Sans", verdana, arial, sans-serif',a.size.dflt=12,a.color.dflt=w.defaultLine,N.exports={font:a,title:{text:{valType:"string",editType:"layoutstyle"},font:u({editType:"layoutstyle"}),subtitle:{text:{valType:"string",editType:"layoutstyle"},font:u({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:t(e({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:w.background,editType:"plot"},plot_bgcolor:{valType:"color",dflt:w.background,editType:"layoutstyle"},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc"},separators:{valType:"string",editType:"plot"},showlegend:{valType:"boolean",editType:"legend"},colorway:{valType:"colorlist",dflt:w.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:S.newshape,activeshape:S.activeshape,newselection:l.newselection,activeselection:l.activeselection,meta:{valType:"any",arrayOk:!0,editType:"plot"},transition:t({},v.transition,{editType:"none"})}}}),wP=De({"node_modules/maplibre-gl/dist/maplibre-gl.css"(){(function(){if(!document.getElementById("ce8d464691048653ffe3a57c6c18ab566e8366f186677868cf724621a857b4fe")){var j=document.createElement("style");j.id="ce8d464691048653ffe3a57c6c18ab566e8366f186677868cf724621a857b4fe",j.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(j)}})()}}),hi=De({"src/registry.js"(j){"use strict";var N=Xd(),u=B_(),v=g3(),w=_1().addStyleRule,S=Ji(),l=Bs(),e=um(),t=S.extendFlat,a=S.extendDeepAll;j.modules={},j.allCategories={},j.allTypes=[],j.subplotsRegistry={},j.componentsRegistry={},j.layoutArrayContainers=[],j.layoutArrayRegexes=[],j.traceLayoutAttributes={},j.localeRegistry={},j.apiMethodRegistry={},j.collectableSubplotTypes=null,j.register=function(o){if(j.collectableSubplotTypes=null,o)o&&!Array.isArray(o)&&(o=[o]);else throw new Error("No argument passed to Plotly.register.");for(var x=0;x=o&&R<=x?R:l}if(typeof R!="string"&&typeof R!="number")return l;R=String(R);var O=d(z),q=R.charAt(0);O&&(q==="G"||q==="g")&&(R=R.slice(1),z="");var Y=O&&z.slice(0,7)==="chinese",ee=R.match(Y?p:c);if(!ee)return l;var te=ee[1],ae=ee[3]||"1",U=Number(ee[5]||1),H=Number(ee[7]||0),K=Number(ee[9]||0),V=Number(ee[11]||0);if(O){if(te.length===2)return l;te=Number(te);var $;try{var X=i.getComponentMethod("calendars","getCal")(z);if(Y){var Z=ae.charAt(ae.length-1)==="i";ae=parseInt(ae,10),$=X.newDate(te,X.toMonthIndex(te,ae,Z),U)}else $=X.newDate(te,Number(ae),U)}catch{return l}return $?($.toJD()-n)*e+H*t+K*a+V*r:l}te.length===2?te=(Number(te)+2e3-f)%100+f:te=Number(te),ae-=1;var Q=new Date(Date.UTC(2e3,ae,U,H,K));return Q.setUTCFullYear(te),Q.getUTCMonth()!==ae||Q.getUTCDate()!==U?l:Q.getTime()+V*r},o=j.MIN_MS=j.dateTime2ms("-9999"),x=j.MAX_MS=j.dateTime2ms("9999-12-31 23:59:59.9999"),j.isDateTime=function(R,z){return j.dateTime2ms(R,z)!==l};function M(R,z){return String(R+Math.pow(10,z)).slice(1)}var T=90*e,E=3*t,g=5*a;j.ms2DateTime=function(R,z,D){if(typeof R!="number"||!(R>=o&&R<=x))return l;z||(z=0);var k=Math.floor(w(R+.05,1)*10),B=Math.round(R-k/10),O,q,Y,ee,te,ae;if(d(D)){var U=Math.floor(B/e)+n,H=Math.floor(w(R,e));try{O=i.getComponentMethod("calendars","getCal")(D).fromJD(U).formatDate("yyyy-mm-dd")}catch{O=s("G%Y-%m-%d")(new Date(B))}if(O.charAt(0)==="-")for(;O.length<11;)O="-0"+O.slice(1);else for(;O.length<10;)O="0"+O;q=z=o+e&&R<=x-e))return l;var z=Math.floor(w(R+.05,1)*10),D=new Date(Math.round(R-z/10)),k=N("%Y-%m-%d")(D),B=D.getHours(),O=D.getMinutes(),q=D.getSeconds(),Y=D.getUTCMilliseconds()*10+z;return A(k,B,O,q,Y)};function A(R,z,D,k,B){if((z||D||k||B)&&(R+=" "+M(z,2)+":"+M(D,2),(k||B)&&(R+=":"+M(k,2),B))){for(var O=4;B%10===0;)O-=1,B/=10;R+="."+M(B,O)}return R}j.cleanDate=function(R,z,D){if(R===l)return z;if(j.isJSDate(R)||typeof R=="number"&&isFinite(R)){if(d(D))return v.error("JS Dates and milliseconds are incompatible with world calendars",R),z;if(R=j.ms2DateTimeLocal(+R),!R&&z!==void 0)return z}else if(!j.isDateTime(R,D))return v.error("unrecognized date",R),z;return R};var m=/%\d?f/g,h=/%h/g,b={1:"1",2:"1",3:"2",4:"2"};function _(R,z,D,k){R=R.replace(m,function(O){var q=Math.min(+O.charAt(1)||6,6),Y=(z/1e3%1+2).toFixed(q).slice(2).replace(/0+$/,"")||"0";return Y});var B=new Date(Math.floor(z+.05));if(R=R.replace(h,function(){return b[D("%q")(B)]}),d(k))try{R=i.getComponentMethod("calendars","worldCalFmt")(R,z,k)}catch{return"Invalid"}return D(R)(B)}var I=[59,59.9,59.99,59.999,59.9999];function C(R,z){var D=w(R+.05,e),k=M(Math.floor(D/t),2)+":"+M(w(Math.floor(D/a),60),2);if(z!=="M"){u(z)||(z=0);var B=Math.min(w(R/r,60),I[z]),O=(100+B).toFixed(z).slice(1);z>0&&(O=O.replace(/0+$/,"").replace(/[\.]$/,"")),k+=":"+O}return k}j.formatDate=function(R,z,D,k,B,O){if(B=d(B)&&B,!z)if(D==="y")z=O.year;else if(D==="m")z=O.month;else if(D==="d")z=O.dayMonth+` +`+O.year;else return C(R,D)+` +`+_(O.dayMonthYear,R,k,B);return _(z,R,k,B)};var F=3*e;j.incrementMonth=function(R,z,D){D=d(D)&&D;var k=w(R,e);if(R=Math.round(R-k),D)try{var B=Math.round(R/e)+n,O=i.getComponentMethod("calendars","getCal")(D),q=O.fromJD(B);return z%12?O.add(q,z,"m"):O.add(q,z/12,"y"),(q.toJD()-n)*e+k}catch{v.error("invalid ms "+R+" in calendar "+D)}var Y=new Date(R+F);return Y.setUTCMonth(Y.getUTCMonth()+z)+k-F},j.findExactDates=function(R,z){for(var D=0,k=0,B=0,O=0,q,Y,ee=d(z)&&i.getComponentMethod("calendars","getCal")(z),te=0;te1?(n[c-1]-n[0])/(c-1):1,d,y;for(f>=0?y=i?l:e:y=i?a:t,r+=f*S*(i?-1:1)*(f>=0?1:-1);s90&&u.log("Long binary search..."),s-1};function l(r,n){return rn}function a(r,n){return r>=n}j.sorterAsc=function(r,n){return r-n},j.sorterDes=function(r,n){return n-r},j.distinctVals=function(r){var n=r.slice();n.sort(j.sorterAsc);var i;for(i=n.length-1;i>-1&&n[i]===w;i--);for(var s=n[i]-n[0]||1,c=s/(i||1)/1e4,p=[],f,d=0;d<=i;d++){var y=n[d],o=y-f;f===void 0?(p.push(y),f=y):o>c&&(s=Math.min(s,o),p.push(y),f=y)}return{vals:p,minDiff:s}},j.roundUp=function(r,n,i){for(var s=0,c=n.length-1,p,f=0,d=i?0:1,y=i?1:0,o=i?Math.ceil:Math.floor;s0&&(s=1),i&&s)return r.sort(n)}return s?r:r.reverse()},j.findIndexOfMin=function(r,n){n=n||v;for(var i=1/0,s,c=0;cb3});function TP(j){return Object.keys(j).sort()}var b3,Ap=di({"src/lib/sort_object_keys.ts"(){"use strict";b3=TP}}),MP=De({"src/lib/stats.js"(j){"use strict";var N=io(),u=Vf().isArrayOrTypedArray;j.aggNums=function(v,w,S,l){var e,t;if((!l||l>S.length)&&(l=S.length),N(w)||(w=!1),u(S[0])){for(t=new Array(l),e=0;ev.length-1)return v[v.length-1];var S=w%1;return S*v[Math.ceil(w)]+(1-S)*v[Math.floor(w)]}}}),SP=De({"src/lib/angles.js"(j,N){"use strict";var u=(im(),ts(pp)),v=u.mod,w=u.modHalf,S=Math.PI,l=2*S;function e(y){return y/180*S}function t(y){return y/S*180}function a(y){return Math.abs(y[1]-y[0])>l-1e-14}function r(y,o){return w(o-y,l)}function n(y,o){return Math.abs(r(y,o))}function i(y,o){if(a(o))return!0;var x,M;o[0]M&&(M+=l);var T=v(y,l),E=T+l;return T>=x&&T<=M||E>=x&&E<=M}function s(y,o,x,M){if(!i(o,M))return!1;var T,E;return x[0]=T&&y<=E}function c(y,o,x,M,T,E,g){T=T||0,E=E||0;var A=a([x,M]),m,h,b,_,I;A?(m=0,h=S,b=l):x1/3&&u.x<2/3},j.isRightAnchor=function(u){return u.xanchor==="right"||u.xanchor==="auto"&&u.x>=2/3},j.isTopAnchor=function(u){return u.yanchor==="top"||u.yanchor==="auto"&&u.y>=2/3},j.isMiddleAnchor=function(u){return u.yanchor==="middle"||u.yanchor==="auto"&&u.y>1/3&&u.y<2/3},j.isBottomAnchor=function(u){return u.yanchor==="bottom"||u.yanchor==="auto"&&u.y<=1/3}}}),kP=De({"src/lib/geometry2d.js"(j){"use strict";var N=(im(),ts(pp)).mod;j.segmentsIntersect=u;function u(e,t,a,r,n,i,s,c){var p=a-e,f=n-e,d=s-n,y=r-t,o=i-t,x=c-i,M=p*x-d*y;if(M===0)return null;var T=(f*x-d*o)/M,E=(f*y-p*o)/M;return E<0||E>1||T<0||T>1?null:{x:e+p*T,y:t+y*T}}j.segmentDistance=function(t,a,r,n,i,s,c,p){if(u(t,a,r,n,i,s,c,p))return 0;var f=r-t,d=n-a,y=c-i,o=p-s,x=f*f+d*d,M=y*y+o*o,T=Math.min(v(f,d,x,i-t,s-a),v(f,d,x,c-t,p-a),v(y,o,M,t-i,a-s),v(y,o,M,r-i,n-s));return Math.sqrt(T)};function v(e,t,a,r,n){var i=r*e+n*t;if(i<0)return r*r+n*n;if(i>a){var s=r-e,c=n-t;return s*s+c*c}else{var p=r*t-n*e;return p*p/a}}var w,S,l;j.getTextLocation=function(t,a,r,n){if((t!==S||n!==l)&&(w={},S=t,l=n),w[r])return w[r];var i=t.getPointAtLength(N(r-n/2,a)),s=t.getPointAtLength(N(r+n/2,a)),c=Math.atan((s.y-i.y)/(s.x-i.x)),p=t.getPointAtLength(N(r,a)),f=(p.x*4+i.x+s.x)/6,d=(p.y*4+i.y+s.y)/6,y={x:f,y:d,theta:c};return w[r]=y,y},j.clearLocationCache=function(){S=null},j.getVisibleSegment=function(t,a,r){var n=a.left,i=a.right,s=a.top,c=a.bottom,p=0,f=t.getTotalLength(),d=f,y,o;function x(T){var E=t.getPointAtLength(T);T===0?y=E:T===f&&(o=E);var g=E.xi?E.x-i:0,A=E.yc?E.y-c:0;return Math.sqrt(g*g+A*A)}for(var M=x(p);M;){if(p+=M+r,p>d)return;M=x(p)}for(M=x(d);M;){if(d-=M+r,p>d)return;M=x(d)}return{min:p,max:d,len:d-p,total:f,isClosed:p===0&&d===f&&Math.abs(y.x-o.x)<.1&&Math.abs(y.y-o.y)<.1}},j.findPointOnPath=function(t,a,r,n){n=n||{};for(var i=n.pathLength||t.getTotalLength(),s=n.tolerance||.001,c=n.iterationLimit||30,p=t.getPointAtLength(0)[r]>t.getPointAtLength(i)[r]?-1:1,f=0,d=0,y=i,o,x,M;f0?y=o:d=o,f++}return x}}}),q_=De({"src/lib/throttle.js"(j){"use strict";var N={};j.throttle=function(w,S,l){var e=N[w],t=Date.now();if(!e){for(var a in N)N[a].tse.ts+S){r();return}e.timer=setTimeout(function(){r(),e.timer=null},S)},j.done=function(v){var w=N[v];return!w||!w.timer?Promise.resolve():new Promise(function(S){var l=w.onDone;w.onDone=function(){l&&l(),S(),w.onDone=null}})},j.clear=function(v){if(v)u(N[v]),delete N[v];else for(var w in N)j.clear(w)};function u(v){v&&v.timer!==null&&(clearTimeout(v.timer),v.timer=null)}}}),CP=De({"src/lib/clear_responsive.js"(j,N){"use strict";N.exports=function(v){v._responsiveChartHandler&&(window.removeEventListener("resize",v._responsiveChartHandler),delete v._responsiveChartHandler)}}}),LP=De({"node_modules/is-mobile/index.js"(j,N){"use strict";N.exports=S,N.exports.isMobile=S,N.exports.default=S;var u=/(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,v=/CrOS/,w=/android|ipad|playbook|silk/i;function S(l){l||(l={});let e=l.ua;if(!e&&typeof navigator<"u"&&(e=navigator.userAgent),e&&e.headers&&typeof e.headers["user-agent"]=="string"&&(e=e.headers["user-agent"]),typeof e!="string")return!1;let t=u.test(e)&&!v.test(e)||!!l.tablet&&w.test(e);return!t&&l.tablet&&l.featureDetect&&navigator&&navigator.maxTouchPoints>1&&e.indexOf("Macintosh")!==-1&&e.indexOf("Safari")!==-1&&(t=!0),t}}}),PP=De({"src/lib/preserve_drawing_buffer.js"(j,N){"use strict";var u=io(),v=LP();N.exports=function(l){var e;if(l&&l.hasOwnProperty("userAgent")?e=l.userAgent:e=w(),typeof e!="string")return!0;var t=v({ua:{headers:{"user-agent":e}},tablet:!0,featureDetect:!1});if(!t)for(var a=e.split(" "),r=1;r-1;i--){var s=a[i];if(s.slice(0,8)==="Version/"){var c=s.slice(8).split(".")[0];if(u(c)&&(c=+c),c>=13)return!0}}}return t};function w(){var S;return typeof navigator<"u"&&(S=navigator.userAgent),S&&S.headers&&typeof S.headers["user-agent"]=="string"&&(S=S.headers["user-agent"]),S}}}),RP=De({"src/lib/make_trace_groups.js"(j,N){"use strict";var u=Qn();N.exports=function(w,S,l){var e=w.selectAll("g."+l.replace(/\s/g,".")).data(S,function(a){return a[0].trace.uid});e.exit().remove(),e.enter().append("g").attr("class",l),e.order();var t=w.classed("rangeplot")?"nodeRangePlot3":"node3";return e.each(function(a){a[0][t]=u.select(this)}),e}}}),IP=De({"src/lib/localize.js"(j,N){"use strict";var u=hi();N.exports=function(w,S){for(var l=w._context.locale,e=0;e<2;e++){for(var t=w._context.locales,a=0;a<2;a++){var r=(t[l]||{}).dictionary;if(r){var n=r[S];if(n)return n}t=u.localeRegistry}var i=l.split("-")[0];if(i===l)break;l=i}return S}}}),w3=De({"src/lib/filter_unique.js"(j,N){"use strict";N.exports=function(v){for(var w={},S=[],l=0,e=0;e1?(S*v+S*w)/S:v+w,e=String(l).length;if(e>16){var t=String(w).length,a=String(v).length;if(e>=a+t){var r=parseFloat(l).toPrecision(12);r.indexOf("e+")===-1&&(l=+r)}}return l}}}),A3={};Zo(A3,{default:()=>E3});function zP(j){return typeof j=="string"&&(j=j.replace(S3,"")),(0,T3.default)(j)?Number(j):M3.BADNUM}var T3,M3,S3,E3,BP=di({"src/lib/clean_number.ts"(){"use strict";T3=Du(io()),M3=Du(Ho()),S3=/^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g,E3=zP}}),OP=De({"src/lib/slugify.js"(j,N){"use strict";var u=/<[^>]*>/g,v=/[\p{S}\p{P}]/gu,w=/[\p{Cc}\p{Cf}\uFE00-\uFE0F\u20E3]/gu,S=/�/g,l=/\s+/g,e="-",t=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),a=new RegExp(t+"{3,}","g"),r=new RegExp(t+"$","g"),n=60;function i(s){return typeof s.toWellFormed=="function"?s.toWellFormed():new TextDecoder().decode(new TextEncoder().encode(s))}N.exports=function(c,p=n){var f=i(c??"").replace(S,"").replace(u," ").replace(v,d=>d===e?d:"").toLowerCase().trim().replace(l,e).replace(w,"").replace(a,e);return f.length<=p?f:Array.from(f).slice(0,p).join("").replace(r,"")}}}),Ar=De({"src/lib/index.js"(j,N){"use strict";var u=Qn(),v=Hd().utcFormat,w=u3().format,S=io(),l=Ho(),e=l.FP_SAFE,t=-e,a=l.BADNUM,r=N.exports={};r.adjustFormat=function(X){return!X||/^\d[.]\df/.test(X)||/[.]\d%/.test(X)?X:X==="0.f"?"~f":/^\d%/.test(X)?"~%":/^\ds/.test(X)?"~s":!/^[~,.0$]/.test(X)&&/[&fps]/.test(X)?"~"+X:X};var n={};r.warnBadFormat=function($){var X=String($);n[X]||(n[X]=1,r.warn('encountered bad format: "'+X+'"'))},r.noFormat=function($){return String($)},r.numberFormat=function($){var X;try{X=w(r.adjustFormat($))}catch{return r.warnBadFormat($),r.noFormat}return X},r.nestedProperty=v1(),r.keyedContainer=w9(),r.relativeAttr=A9(),r.isPlainObject=Bv(),r.toLogRange=R_(),r.relinkPrivateKeys=T9();var i=Vf();r.isArrayBuffer=i.isArrayBuffer,r.isTypedArray=i.isTypedArray,r.isArrayOrTypedArray=i.isArrayOrTypedArray,r.isArray1D=i.isArray1D,r.ensureArray=i.ensureArray,r.concat=i.concat,r.maxRowLength=i.maxRowLength,r.minRowLength=i.minRowLength;var s=(im(),ts(pp));r.mod=s.mod,r.modHalf=s.modHalf;var c=H9();r.valObjectMeta=c.valObjectMeta,r.coerce=c.coerce,r.coerce2=c.coerce2,r.coerceFont=c.coerceFont,r.coercePattern=c.coercePattern,r.coerceHoverinfo=c.coerceHoverinfo,r.coerceSelectionMarkerOpacity=c.coerceSelectionMarkerOpacity,r.validate=c.validate;var p=AP();r.dateTime2ms=p.dateTime2ms,r.isDateTime=p.isDateTime,r.ms2DateTime=p.ms2DateTime,r.ms2DateTimeLocal=p.ms2DateTimeLocal,r.cleanDate=p.cleanDate,r.isJSDate=p.isJSDate,r.formatDate=p.formatDate,r.incrementMonth=p.incrementMonth,r.dateTick0=p.dateTick0,r.dfltRange=p.dfltRange,r.findExactDates=p.findExactDates,r.MIN_MS=p.MIN_MS,r.MAX_MS=p.MAX_MS;var f=U_();r.findBin=f.findBin,r.sorterAsc=f.sorterAsc,r.sorterDes=f.sorterDes,r.distinctVals=f.distinctVals,r.roundUp=f.roundUp,r.sort=f.sort,r.findIndexOfMin=f.findIndexOfMin,r.sortObjectKeys=(Ap(),ts(Uv)).default;var d=MP();r.aggNums=d.aggNums,r.len=d.len,r.mean=d.mean,r.geometricMean=d.geometricMean,r.median=d.median,r.midRange=d.midRange,r.variance=d.variance,r.stdev=d.stdev,r.interp=d.interp;var y=O_();r.init2dArray=y.init2dArray,r.transposeRagged=y.transposeRagged,r.dot=y.dot,r.translationMatrix=y.translationMatrix,r.rotationMatrix=y.rotationMatrix,r.rotationXYMatrix=y.rotationXYMatrix,r.apply3DTransform=y.apply3DTransform,r.apply2DTransform=y.apply2DTransform,r.apply2DTransform2=y.apply2DTransform2,r.convertCssMatrix=y.convertCssMatrix,r.inverseTransformMatrix=y.inverseTransformMatrix;var o=SP();r.deg2rad=o.deg2rad,r.rad2deg=o.rad2deg,r.angleDelta=o.angleDelta,r.angleDist=o.angleDist,r.isFullCircle=o.isFullCircle,r.isAngleInsideSector=o.isAngleInsideSector,r.isPtInsideSector=o.isPtInsideSector,r.pathArc=o.pathArc,r.pathSector=o.pathSector,r.pathAnnulus=o.pathAnnulus;var x=EP();r.isLeftAnchor=x.isLeftAnchor,r.isCenterAnchor=x.isCenterAnchor,r.isRightAnchor=x.isRightAnchor,r.isTopAnchor=x.isTopAnchor,r.isMiddleAnchor=x.isMiddleAnchor,r.isBottomAnchor=x.isBottomAnchor;var M=kP();r.segmentsIntersect=M.segmentsIntersect,r.segmentDistance=M.segmentDistance,r.getTextLocation=M.getTextLocation,r.clearLocationCache=M.clearLocationCache,r.getVisibleSegment=M.getVisibleSegment,r.findPointOnPath=M.findPointOnPath;var T=Ji();r.extendFlat=T.extendFlat,r.extendDeep=T.extendDeep,r.extendDeepAll=T.extendDeepAll,r.extendDeepNoArrays=T.extendDeepNoArrays;var E=Xd();r.log=E.log,r.warn=E.warn,r.error=E.error;var g=(lm(),ts(wp));r.counterRegex=g.counter;var A=q_();r.throttle=A.throttle,r.throttleDone=A.done,r.clearThrottle=A.clear;var m=_1();r.getGraphDiv=m.getGraphDiv,r.isPlotDiv=m.isPlotDiv,r.removeElement=m.removeElement,r.addStyleRule=m.addStyleRule,r.addRelatedStyleRule=m.addRelatedStyleRule,r.deleteRelatedStyleRule=m.deleteRelatedStyleRule,r.setStyleOnHover=m.setStyleOnHover,r.getFullTransformMatrix=m.getFullTransformMatrix,r.getElementTransformMatrix=m.getElementTransformMatrix,r.getElementAndAncestors=m.getElementAndAncestors,r.equalDomRects=m.equalDomRects,r.clearResponsive=CP(),r.preserveDrawingBuffer=PP(),r.makeTraceGroups=RP(),r._=IP(),r.notifier=m3(),r.filterUnique=w3(),r.filterVisible=DP(),r.pushUnique=g3(),r.increment=FP(),r.cleanNumber=(BP(),ts(A3)).default,r.slugify=OP(),r.ensureNumber=function(X){return S(X)?(X=Number(X),X>e||X=X?!1:S($)&&$>=0&&$%1===0},r.noop=B_(),r.identity=b1(),r.repeat=function($,X){for(var Z=new Array(X),Q=0;QZ?Math.max(Z,Math.min(X,$)):Math.max(X,Math.min(Z,$))},r.bBoxIntersect=function($,X,Z){return Z=Z||0,$.left<=X.right+Z&&X.left<=$.right+Z&&$.top<=X.bottom+Z&&X.top<=$.bottom+Z},r.simpleMap=function($,X,Z,Q,re){for(var ce=$.length,me=new Array(ce),ye=0;ye=Math.pow(2,Z)?re>10?(r.warn("randstr failed uniqueness"),me):$(X,Z,Q,(re||0)+1):me},r.OptionControl=function($,X){$||($={}),X||(X="opt");var Z={};return Z.optionList=[],Z._newoption=function(Q){Q[X]=$,Z[Q.name]=Q,Z.optionList.push(Q)},Z["_"+X]=$,Z},r.smooth=function($,X){if(X=Math.round(X)||0,X<2)return $;var Z=$.length,Q=2*Z,re=2*X-1,ce=new Array(re),me=new Array(Z),ye,Ae,Se,Ce;for(ye=0;ye=Q&&(Se-=Q*Math.floor(Se/Q)),Se<0?Se=-1-Se:Se>=Z&&(Se=Q-1-Se),Ce+=$[Se]*ce[Ae];me[ye]=Ce}return me},r.syncOrAsync=function($,X,Z){var Q,re;function ce(){return r.syncOrAsync($,X,Z)}for(;$.length;)if(re=$.splice(0,1)[0],Q=re(X),Q&&Q.then)return Q.then(ce);return Z&&Z(X)},r.stripTrailingSlash=function($){return $.slice(-1)==="/"?$.slice(0,-1):$},r.noneOrAll=function($,X,Z){if($){var Q=!1,re=!0,ce,me;for(ce=0;ce0?re:0})},r.fillArray=function($,X,Z,Q){if(Q=Q||r.identity,r.isArrayOrTypedArray($))for(var re=0;reI.test(window.navigator.userAgent);var C=/Firefox\/(\d+)\.\d+/;r.getFirefoxVersion=function(){var $=C.exec(window.navigator.userAgent);if($&&$.length===2){var X=parseInt($[1]);if(!isNaN(X))return X}return null},r.isD3Selection=function($){return $ instanceof u.selection},r.ensureSingle=function($,X,Z,Q){var re=$.select(X+(Z?"."+Z:""));if(re.size())return re;var ce=$.append(X);return Z&&ce.classed(Z,!0),Q&&ce.call(Q),ce},r.ensureSingleById=function($,X,Z,Q){var re=$.select(X+"#"+Z);if(re.size())return re;var ce=$.append(X).attr("id",Z);return Q&&ce.call(Q),ce},r.objectFromPath=function($,X){for(var Z=$.split("."),Q,re=Q={},ce=0;ce1?re+me[1]:"";if(ce&&(me.length>1||ye.length>4||Z))for(;Q.test(ye);)ye=ye.replace(Q,"$1"+ce+"$2");return ye+Ae},r.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var D=/^\w*$/;r.templateString=function($,X){var Z={};return $.replace(r.TEMPLATE_STRING_REGEX,function(Q,re){var ce;return D.test(re)?ce=X[re]:(Z[re]=Z[re]||r.nestedProperty(X,re).get,ce=Z[re](!0)),ce!==void 0?ce:""})};var k={max:10,count:0,name:"hovertemplate"};r.hovertemplateString=$=>te(co(Si({},$),{opts:k}));var B={max:10,count:0,name:"texttemplate"};r.texttemplateString=$=>te(co(Si({},$),{opts:B}));var O=/^(\S+)([\*\/])(-?\d+(\.\d+)?)$/;function q($){var X=$.match(O);return X?{key:X[1],op:X[2],number:Number(X[3])}:{key:$,op:null,number:null}}var Y={max:10,count:0,name:"texttemplate",parseMultDiv:!0};r.texttemplateStringForShapes=$=>te(co(Si({},$),{opts:Y}));var ee=/^[:|\|]/;function te({data:$=[],locale:X,fallback:Z,labels:Q={},opts:re,template:ce}){return ce.replace(r.TEMPLATE_STRING_REGEX,(me,ye,Ae)=>{let Se=["xother","yother"].includes(ye),Ce=["_xother","_yother"].includes(ye),qe=["_xother_","_yother_"].includes(ye),Ue=["xother_","yother_"].includes(ye),xe=Se||Ce||Ue||qe;(Ce||qe)&&(ye=ye.substring(1)),(Ue||qe)&&(ye=ye.substring(0,ye.length-1));let he=null,oe=null;if(re.parseMultDiv){var le=q(ye);ye=le.key,he=le.op,oe=le.number}let ne;if(xe){if(Q[ye]===void 0)return"";ne=Q[ye]}else for(let je of $)if(je){if(je.hasOwnProperty(ye)){ne=je[ye];break}if(D.test(ye)||(ne=r.nestedProperty(je,ye).get(!0)),ne!==void 0)break}if(ne===void 0){let{count:je,max:ut,name:st}=re,yt=Z===!1?me:Z;return je=ae&&me<=U,Se=ye>=ae&&ye<=U;if(Ae&&(Q=10*Q+me-ae),Se&&(re=10*re+ye-ae),!Ae||!Se){if(Q!==re)return Q-re;if(me!==ye)return me-ye}}return re-Q};var H=2e9;r.seedPseudoRandom=function(){H=2e9},r.pseudoRandom=function(){var $=H;return H=(69069*H+1)%4294967296,Math.abs(H-$)<429496729?r.pseudoRandom():H/4294967296},r.fillText=function($,X,Z){var Q=Array.isArray(Z)?function(me){Z.push(me)}:function(me){Z.text=me},re=r.extractOption($,X,"htx","hovertext");if(r.isValidTextValue(re))return Q(re);var ce=r.extractOption($,X,"tx","text");if(r.isValidTextValue(ce))return Q(ce)},r.isValidTextValue=function($){return $||$===0},r.formatPercent=function($,X){X=X||0;for(var Z=(Math.round(100*$*Math.pow(10,X))*Math.pow(.1,X)).toFixed(X)+"%",Q=0;Q1&&(Se=1):Se=0,r.strTranslate(re-Se*(Z+me),ce-Se*(Q+ye))+r.strScale(Se)+(Ae?"rotate("+Ae+(X?"":" "+Z+" "+Q)+")":"")},r.setTransormAndDisplay=function($,X){$.attr("transform",r.getTextTransform(X)),$.style("display",X.scale?null:"none")},r.ensureUniformFontSize=function($,X){var Z=r.extendFlat({},X);return Z.size=Math.max(X.size,$._fullLayout.uniformtext.minsize||0),Z},r.join2=function($,X,Z){var Q=$.length;return Q>1?$.slice(0,-1).join(X)+Z+$[Q-1]:$.join(X)},r.bigFont=function($){return Math.round(1.2*$)};var K=r.getFirefoxVersion(),V=K!==null&&K<86;r.getPositionFromD3Event=function(){return V?[u.event.layerX,u.event.layerY]:[u.event.offsetX,u.event.offsetY]}}}),NP=De({"build/plotcss.js"(){"use strict";var j=Ar(),N={"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;","X .plotly-cloud-dialog":'font-family:"Open Sans",verdana,arial,sans-serif;position:absolute;top:0;left:0;width:100%;height:100%;z-index:1001;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,.4);',"X .plotly-cloud-dialog .plotly-cloud-dialog-box":"box-sizing:border-box;min-width:300px;max-width:420px;padding:20px 24px;background-color:#fff;border:1px solid #e0e2e5;border-radius:4px;box-shadow:0 4px 16px rgba(0,0,0,.25);font-size:13px;color:#2a3f5f;","X .plotly-cloud-dialog .plotly-cloud-dialog-title":"font-size:16px;font-weight:bold;margin-bottom:12px;","X .plotly-cloud-dialog .plotly-cloud-dialog-message":"line-height:1.5;overflow-wrap:break-word;word-wrap:break-word;","X .plotly-cloud-dialog .plotly-cloud-dialog-message--hostname":"font-weight:bold;","X .plotly-cloud-dialog .plotly-cloud-dialog-buttons":"display:flex;justify-content:flex-end;margin-top:20px;","X .plotly-cloud-dialog .plotly-cloud-dialog-btn":"font-family:inherit;font-size:13px;padding:7px 16px;margin-left:8px;border-radius:3px;border:1px solid rgba(0,0,0,0);cursor:pointer;","X .plotly-cloud-dialog .plotly-cloud-dialog-btn:focus-visible":"outline:2px solid #447adb;outline-offset:1px;","X .plotly-cloud-dialog .plotly-cloud-dialog-btn--cancel":"background-color:#f3f3f3;margin-left:auto;color:#777;","X .plotly-cloud-dialog .plotly-cloud-dialog-btn--cancel:hover":"background-color:#e0e2e5;","X .plotly-cloud-dialog .plotly-cloud-dialog-btn--confirm":"background-color:#447adb;color:#fff;","X .plotly-cloud-dialog .plotly-cloud-dialog-btn--confirm:hover":"background-color:#1d3b84;",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(v in N)u=v.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier"),j.addStyleRule(u,N[v]);var u,v}}),k3=De({"node_modules/is-browser/client.js"(j,N){N.exports=!0}}),C3=De({"node_modules/has-hover/index.js"(j,N){"use strict";var u=k3(),v;typeof window.matchMedia=="function"?v=!window.matchMedia("(hover: none)").matches:v=u,N.exports=v}}),Tp=De({"node_modules/events/events.js"(j,N){"use strict";var u=typeof Reflect=="object"?Reflect:null,v=u&&typeof u.apply=="function"?u.apply:function(E,g,A){return Function.prototype.apply.call(E,g,A)},w;u&&typeof u.ownKeys=="function"?w=u.ownKeys:Object.getOwnPropertySymbols?w=function(E){return Object.getOwnPropertyNames(E).concat(Object.getOwnPropertySymbols(E))}:w=function(E){return Object.getOwnPropertyNames(E)};function S(T){console&&console.warn&&console.warn(T)}var l=Number.isNaN||function(E){return E!==E};function e(){e.init.call(this)}N.exports=e,N.exports.once=o,e.EventEmitter=e,e.prototype._events=void 0,e.prototype._eventsCount=0,e.prototype._maxListeners=void 0;var t=10;function a(T){if(typeof T!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof T)}Object.defineProperty(e,"defaultMaxListeners",{enumerable:!0,get:function(){return t},set:function(T){if(typeof T!="number"||T<0||l(T))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+T+".");t=T}}),e.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},e.prototype.setMaxListeners=function(E){if(typeof E!="number"||E<0||l(E))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+E+".");return this._maxListeners=E,this};function r(T){return T._maxListeners===void 0?e.defaultMaxListeners:T._maxListeners}e.prototype.getMaxListeners=function(){return r(this)},e.prototype.emit=function(E){for(var g=[],A=1;A0&&(b=g[0]),b instanceof Error)throw b;var _=new Error("Unhandled error."+(b?" ("+b.message+")":""));throw _.context=b,_}var I=h[E];if(I===void 0)return!1;if(typeof I=="function")v(I,this,g);else for(var C=I.length,F=f(I,C),A=0;A0&&b.length>m&&!b.warned){b.warned=!0;var _=new Error("Possible EventEmitter memory leak detected. "+b.length+" "+String(E)+" listeners added. Use emitter.setMaxListeners() to increase limit");_.name="MaxListenersExceededWarning",_.emitter=T,_.type=E,_.count=b.length,S(_)}return T}e.prototype.addListener=function(E,g){return n(this,E,g,!1)},e.prototype.on=e.prototype.addListener,e.prototype.prependListener=function(E,g){return n(this,E,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(T,E,g){var A={fired:!1,wrapFn:void 0,target:T,type:E,listener:g},m=i.bind(A);return m.listener=g,A.wrapFn=m,m}e.prototype.once=function(E,g){return a(g),this.on(E,s(this,E,g)),this},e.prototype.prependOnceListener=function(E,g){return a(g),this.prependListener(E,s(this,E,g)),this},e.prototype.removeListener=function(E,g){var A,m,h,b,_;if(a(g),m=this._events,m===void 0)return this;if(A=m[E],A===void 0)return this;if(A===g||A.listener===g)--this._eventsCount===0?this._events=Object.create(null):(delete m[E],m.removeListener&&this.emit("removeListener",E,A.listener||g));else if(typeof A!="function"){for(h=-1,b=A.length-1;b>=0;b--)if(A[b]===g||A[b].listener===g){_=A[b].listener,h=b;break}if(h<0)return this;h===0?A.shift():d(A,h),A.length===1&&(m[E]=A[0]),m.removeListener!==void 0&&this.emit("removeListener",E,_||g)}return this},e.prototype.off=e.prototype.removeListener,e.prototype.removeAllListeners=function(E){var g,A,m;if(A=this._events,A===void 0)return this;if(A.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):A[E]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete A[E]),this;if(arguments.length===0){var h=Object.keys(A),b;for(m=0;m=0;m--)this.removeListener(E,g[m]);return this};function c(T,E,g){var A=T._events;if(A===void 0)return[];var m=A[E];return m===void 0?[]:typeof m=="function"?g?[m.listener||m]:[m]:g?y(m):f(m,m.length)}e.prototype.listeners=function(E){return c(this,E,!0)},e.prototype.rawListeners=function(E){return c(this,E,!1)},e.listenerCount=function(T,E){return typeof T.listenerCount=="function"?T.listenerCount(E):p.call(T,E)},e.prototype.listenerCount=p;function p(T){var E=this._events;if(E!==void 0){var g=E[T];if(typeof g=="function")return 1;if(g!==void 0)return g.length}return 0}e.prototype.eventNames=function(){return this._eventsCount>0?w(this._events):[]};function f(T,E){for(var g=new Array(E),A=0;A{},{passive:!0}),w},triggerHandler:function(w,S,l){var e,t=w._ev;if(!t)return;var a=t._events[S];if(!a)return;function r(i){if(i.listener){if(t.removeListener(S,i.listener),!i.fired)return i.fired=!0,i.listener.apply(t,[l])}else return i.apply(t,[l])}a=Array.isArray(a)?a:[a];var n;for(n=0;nv.queueLength&&(l.undoQueue.queue.shift(),l.undoQueue.index--)},S.startSequence=function(l){l.undoQueue=l.undoQueue||{index:0,queue:[],sequence:!1},l.undoQueue.sequence=!0,l.undoQueue.beginSequence=!0},S.stopSequence=function(l){l.undoQueue=l.undoQueue||{index:0,queue:[],sequence:!1},l.undoQueue.sequence=!1,l.undoQueue.beginSequence=!1},S.undo=function(e){var t,a;if(!(e.undoQueue===void 0||isNaN(e.undoQueue.index)||e.undoQueue.index<=0)){for(e.undoQueue.index--,t=e.undoQueue.queue[e.undoQueue.index],e.undoQueue.inSequence=!0,a=0;a=e.undoQueue.queue.length)){for(t=e.undoQueue.queue[e.undoQueue.index],e.undoQueue.inSequence=!0,a=0;a=k.length)return!1;if(C.dimensions===2){if(R++,F.length===R)return C;var B=F[R];if(!M(B))return!1;C=k[D][B]}else C=k[D]}else C=k}}return C}function M(C){return C===Math.round(C)&&C>=0}function T(C){var F,R;F=N.modules[C]._module,R=F.basePlotModule;var z={};z.type=null;var D=a({},v),k=a({},F.attributes);j.crawl(k,function(q,Y,ee,te,ae){i(D,ae).set(void 0),q===void 0&&i(k,ae).set(void 0)}),a(z,D),N.traceIs(C,"noOpacity")&&delete z.opacity,N.traceIs(C,"showLegend")||(delete z.showlegend,delete z.legendgroup),N.traceIs(C,"noHover")&&(delete z.hoverinfo,delete z.hoverlabel),F.selectPoints||delete z.selectedpoints,a(z,k),R.attributes&&a(z,R.attributes),z.type=C;var B={meta:F.meta||{},categories:F.categories||{},animatable:!!F.animatable,type:C,attributes:A(z)};if(F.layoutAttributes){var O={};a(O,F.layoutAttributes),B.layoutAttributes=A(O)}return F.animatable||j.crawl(B,function(q){j.isValObject(q)&&"anim"in q&&delete q.anim}),B}function E(){var C={},F,R;a(C,w);for(F in N.subplotsRegistry)if(R=N.subplotsRegistry[F],!!R.layoutAttributes)if(Array.isArray(R.attr))for(var z=0;z=r&&(a._input||{})._templateitemname;i&&(n=r);var s=t+"["+n+"]",c;function p(){c={},i&&(c[s]={},c[s][v]=i)}p();function f(x,M){c[x]=M}function d(x,M){i?N.nestedProperty(c[s],x).set(M):c[s+"."+x]=M}function y(){var x=c;return p(),x}function o(x,M){x&&d(x,M);var T=y();for(var E in T)N.nestedProperty(e,E).set(T[E])}return{modifyBase:f,modifyItem:d,getUpdateObj:y,applyUpdate:o}}}}),gc=De({"src/plots/cartesian/constants.js"(j,N){"use strict";var u=(lm(),ts(wp)).counter;N.exports={idRegex:{x:u("x","( domain)?"),y:u("y","( domain)?")},attrRegex:u("[xy]axis"),xAxisMatch:u("xaxis"),yAxisMatch:u("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"}}}),lu=De({"src/plots/cartesian/axis_ids.js"(j){"use strict";var N=hi(),u=gc();j.id2name=function(S){if(!(typeof S!="string"||!S.match(u.AX_ID_PATTERN))){var l=S.split(" ")[0].slice(1);return l==="1"&&(l=""),S.charAt(0)+"axis"+l}},j.name2id=function(S){if(S.match(u.AX_NAME_PATTERN)){var l=S.slice(5);return l==="1"&&(l=""),S.charAt(0)+l}},j.cleanId=function(S,l,e){var t=/( domain)$/.test(S);if(!(typeof S!="string"||!S.match(u.AX_ID_PATTERN))&&!(l&&S.charAt(0)!==l)&&!(t&&!e)){var a=S.split(" ")[0].slice(1).replace(/^0+/,"");return a==="1"&&(a=""),S.charAt(0)+a+(t&&e?" domain":"")}},j.list=function(w,S,l){var e=w._fullLayout;if(!e)return[];var t=j.listIds(w,S),a=new Array(t.length),r;for(r=0;re?1:-1:+(w.slice(1)||1)-+(S.slice(1)||1)},j.ref2id=function(w){return/^[xyz]/.test(w)?w.split(" ")[0]:!1};function v(w,S){if(S&&S.length){for(var l=0;l0?".":"")+i;u.isPlainObject(s)?e(s,a,c,n+1):a(c,i,s)}})}}}),Il=De({"src/plots/plots.js"(j,N){"use strict";var u=Qn(),v=Hd().timeFormatLocale,w=u3().formatLocale,S=io(),l=c3(),e=cf().version,t=hi(),a=fm(),r=ws(),n=Ar(),i=ii(),s=Ho().BADNUM,c=lu(),p=qv().clearOutline,f=G_(),d=x1(),y=L3(),o=Bf().getModuleCalcData,x=n.relinkPrivateKeys,M=n._,T=N.exports={};n.extendFlat(T,t),T.attributes=Bs(),T.attributes.type.values=T.allTypes,T.fontAttrs=Ml(),T.layoutAttributes=um();var E=UP();T.executeAPICommand=E.executeAPICommand,T.computeAPICommandBindings=E.computeAPICommandBindings,T.manageCommandObserver=E.manageCommandObserver,T.hasSimpleAPICommandBindings=E.hasSimpleAPICommandBindings,T.redrawText=function(U){return U=n.getGraphDiv(U),new Promise(function(H){setTimeout(function(){U._fullLayout&&(t.getComponentMethod("annotations","draw")(U),t.getComponentMethod("legend","draw")(U),t.getComponentMethod("colorbar","draw")(U),H(T.previousPromises(U)))},300)})},T.resize=function(U){U=n.getGraphDiv(U);var H,K=new Promise(function(V,$){(!U||n.isHidden(U))&&$(new Error("Resize must be passed a displayed plot div element.")),U._redrawTimer&&clearTimeout(U._redrawTimer),U._resolveResize&&(H=U._resolveResize),U._resolveResize=V,U._redrawTimer=setTimeout(function(){if(!U.layout||U.layout.width&&U.layout.height||n.isHidden(U)){V(U);return}delete U.layout.width,delete U.layout.height;var X=U.changed;U.autoplay=!0,t.call("relayout",U,{autosize:!0}).then(function(){U.changed=X,U._resolveResize===V&&(delete U._resolveResize,V(U))})},100)});return H&&H(K),K},T.previousPromises=function(U){if((U._promises||[]).length)return Promise.all(U._promises).then(function(){U._promises=[]})},T.sendDataToCloud=function(U,H){U.emit("plotly_beforeexport");let K=new URL(H).origin;var V=T.graphJson(U,!1,"object");V.version=e;var $=new URL(H);$.searchParams.set("origin",window.location.origin);var X=window.open($.href,"_blank");if(!X){console.error("Unable to open Plotly Cloud (the popup may have been blocked)"),U.emit("plotly_exportfail");return}var Z=function(Q){Q.origin===K&&Q.data&&Q.data.type==="CHART_AUTH_SUCCESS"&&(X.postMessage({type:"chart",chart:V},K),window.removeEventListener("message",Z),U.emit("plotly_afterexport"))};return window.addEventListener("message",Z),!1};var g=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],A=["year","month","dayMonth","dayMonthYear"];T.supplyDefaults=function(U,H){var K=H&&H.skipUpdateCalc,V=U._fullLayout||{};if(V._skipDefaults){delete V._skipDefaults;return}var $=U._fullLayout={},X=U.layout||{},Z=U._fullData||[],Q=U._fullData=[],re=U.data||[],ce=U.calcdata||[],me=U._context||{},ye;U._transitionData||T.createTransitionData(U),$._dfltTitle={plot:M(U,"Click to enter Plot title"),subtitle:M(U,"Click to enter Plot subtitle"),x:M(U,"Click to enter X axis title"),y:M(U,"Click to enter Y axis title"),colorbar:M(U,"Click to enter Colorscale title"),annotation:M(U,"new text")},$._traceWord=M(U,"trace");var Ae=b(U,g);if(V._initialAutoSizeIsDone){var Se=V.width,Ce=V.height;T.supplyLayoutGlobalDefaults(X,$,Ae),X.width||($.width=Se),X.height||($.height=Ce),T.sanitizeMargins($)}else{T.supplyLayoutGlobalDefaults(X,$,Ae);var qe=!X.width||!X.height,Ue=$.autosize,xe=me.autosizable,he=qe&&(Ue||xe);he?T.plotAutoSize(U,X,$):qe&&T.sanitizeMargins($),!Ue&&qe&&(X.width=$.width,X.height=$.height)}$._d3locale=_(Ae,$.separators),$._extraFormat=b(U,A),$._initialAutoSizeIsDone=!0,$._dataLength=re.length,$._modules=[],$._visibleModules=[],$._basePlotModules=[];var oe=$._subplots=h(),le=$._splomAxes={x:{},y:{}},ne=$._splomSubplots={};$._splomGridDflt={},$._scatterStackOpts={},$._firstScatter={},$._alignmentOpts={},$._colorAxes={},$._requestRangeslider={},$._traceUids=m(Z,re),T.supplyDataDefaults(re,Q,X,$);var be=Object.keys(le.x),Fe=Object.keys(le.y);if(be.length>1&&Fe.length>1){for(t.getComponentMethod("grid","sizeDefaults")(X,$),ye=0;ye15&&Fe.length>15&&$.shapes.length===0&&$.images.length===0,T.linkSubplots(Q,$,Z,V),T.cleanPlot(Q,$,Z,V);var yt=!!(V._has&&V._has("cartesian")),At=!!($._has&&$._has("cartesian")),Pt=yt,Zt=At;Pt&&!Zt?V._bgLayer.remove():Zt&&!Pt&&($._shouldCreateBgLayer=!0),V._zoomlayer&&!U._dragging&&p({_fullLayout:V}),I(Q,$),x($,V),t.getComponentMethod("colorscale","crossTraceDefaults")(Q,$),$._preGUI||($._preGUI={}),$._tracePreGUI||($._tracePreGUI={});var vr=$._tracePreGUI,Nt={},Kt;for(Kt in vr)Nt[Kt]="old";for(ye=0;ye0){var me=1-2*X;Z=Math.round(me*Z),Q=Math.round(me*Q)}}var ye=T.layoutAttributes.width.min,Ae=T.layoutAttributes.height.min;Z1,Ce=!K.height&&Math.abs(V.height-Q)>1;(Ce||Se)&&(Se&&(V.width=Z),Ce&&(V.height=Q)),H._initialAutoSize||(H._initialAutoSize={width:Z,height:Q}),T.sanitizeMargins(V)},T.supplyLayoutModuleDefaults=function(U,H,K,V){var $=t.componentsRegistry,X=H._basePlotModules,Z,Q,re,ce=t.subplotsRegistry.cartesian;for(Z in $)re=$[Z],re.includeBasePlot&&re.includeBasePlot(U,H);X.length||X.push(ce),H._has("cartesian")&&(t.getComponentMethod("grid","contentDefaults")(U,H),ce.finalizeSubplots(U,H));for(var me in H._subplots)H._subplots[me].sort(n.subplotSort);for(Q=0;Q1&&(K.l/=Ue,K.r/=Ue)}if(Ae){var xe=(K.t+K.b)/Ae;xe>1&&(K.t/=xe,K.b/=xe)}var he=K.xl!==void 0?K.xl:K.x,oe=K.xr!==void 0?K.xr:K.x,le=K.yt!==void 0?K.yt:K.y,ne=K.yb!==void 0?K.yb:K.y;Se[H]={l:{val:he,size:K.l+qe},r:{val:oe,size:K.r+qe},b:{val:ne,size:K.b+qe},t:{val:le,size:K.t+qe}},Ce[H]=1}if(!V._replotting)return T.doAutoMargin(U)}};function k(U){if("_redrawFromAutoMarginCount"in U._fullLayout)return!1;var H=c.list(U,"",!0);for(var K in H)if(H[K].autoshift||H[K].shift)return!0;return!1}T.doAutoMargin=function(U){var H=U._fullLayout,K=H.width,V=H.height;H._size||(H._size={}),R(H);var $=H._size,X=H.margin,Z={t:0,b:0,l:0,r:0},Q=n.extendFlat({},$),re=X.l,ce=X.r,me=X.t,ye=X.b,Ae=H._pushmargin,Se=H._pushmarginIds,Ce=H.minreducedwidth,qe=H.minreducedheight;if(X.autoexpand!==!1){for(var Ue in Ae)Se[Ue]||delete Ae[Ue];var xe=U._fullLayout._reservedMargin;for(var he in xe)for(var oe in xe[he]){var le=xe[he][oe];Z[oe]=Math.max(Z[oe],le)}Ae.base={l:{val:0,size:re},r:{val:1,size:ce},t:{val:1,size:me},b:{val:0,size:ye}};for(var ne in Z){var be=0;for(var Fe in Ae)Fe!=="base"&&S(Ae[Fe][ne].size)&&(be=Ae[Fe][ne].size>be?Ae[Fe][ne].size:be);var Ve=Math.max(0,X[ne]-be);Z[ne]=Math.max(0,Z[ne]-Ve)}for(var je in Ae){var ut=Ae[je].l||{},st=Ae[je].b||{},yt=ut.val,At=ut.size,Pt=st.val,Zt=st.size,vr=K-Z.r-Z.l,Nt=V-Z.t-Z.b;for(var Kt in Ae){if(S(At)&&Ae[Kt].r){var nt=Ae[Kt].r.val,Ee=Ae[Kt].r.size;if(nt>yt){var ze=(At*nt+(Ee-vr)*yt)/(nt-yt),ve=(Ee*(1-yt)+(At-vr)*(1-nt))/(nt-yt);ze+ve>re+ce&&(re=ze,ce=ve)}}if(S(Zt)&&Ae[Kt].t){var _e=Ae[Kt].t.val,Ie=Ae[Kt].t.size;if(_e>Pt){var Be=(Zt*_e+(Ie-Nt)*Pt)/(_e-Pt),We=(Ie*(1-Pt)+(Zt-Nt)*(1-_e))/(_e-Pt);Be+We>ye+me&&(ye=Be,me=We)}}}}}var Xe=n.constrain(K-X.l-X.r,z,Ce),mt=n.constrain(V-X.t-X.b,D,qe),ft=Math.max(0,K-Xe),ht=Math.max(0,V-mt);if(ft){var gt=(re+ce)/ft;gt>1&&(re/=gt,ce/=gt)}if(ht){var _t=(ye+me)/ht;_t>1&&(ye/=_t,me/=_t)}if($.l=Math.round(re)+Z.l,$.r=Math.round(ce)+Z.r,$.t=Math.round(me)+Z.t,$.b=Math.round(ye)+Z.b,$.p=Math.round(X.pad),$.w=Math.round(K)-$.l-$.r,$.h=Math.round(V)-$.t-$.b,!H._replotting&&(T.didMarginChange(Q,$)||k(U))){"_redrawFromAutoMarginCount"in H?H._redrawFromAutoMarginCount++:H._redrawFromAutoMarginCount=1;var Ft=3*(1+Object.keys(Se).length);if(H._redrawFromAutoMarginCount1)return!0}return!1},T.graphJson=function(U,H=!1,K="json",V=!1,$=!1){(V&&H&&!U._fullData||V&&!H&&!U._fullLayout)&&T.supplyDefaults(U);var X=V?U._fullData:U.data,Z=V?U._fullLayout:U.layout,Q=(U._transitionData||{})._frames;function re(ye,Ae){if(typeof ye=="function")return Ae?"_function_":null;if(n.isPlainObject(ye)){var Se={};return Object.keys(ye).sort().forEach(function(xe){if(["_","["].indexOf(xe.charAt(0))===-1){if(typeof ye[xe]=="function"){Ae&&(Se[xe]="_function");return}Se[xe]=re(ye[xe],Ae)}}),Se}var Ce=Array.isArray(ye),qe=n.isTypedArray(ye);if((Ce||qe)&&ye.dtype&&ye.shape){var Ue=ye.bdata;return re({dtype:ye.dtype,shape:ye.shape,bdata:n.isArrayBuffer(Ue)?l.encode(Ue):Ue},Ae)}return Ce?ye.map(function(xe){return re(xe,Ae)}):qe?n.simpleMap(ye,n.identity):n.isJSDate(ye)?n.ms2DateTimeLocal(+ye):ye}var ce={data:(X||[]).map(function(ye){var Ae=re(ye);return H&&delete Ae.fit,Ae})};if(!H&&(ce.layout=re(Z),V)){var me=Z._size;ce.layout.computed={margin:{b:me.b,l:me.l,r:me.r,t:me.t}}}return Q&&(ce.frames=re(Q)),$&&(ce.config=re(U._context,!0)),K==="object"?ce:JSON.stringify(ce)},T.modifyFrames=function(U,H){var K,V,$,X=U._transitionData._frames,Z=U._transitionData._frameHash;for(K=0;K0&&(U._transitioningWithDuration=!0),U._transitionData._interruptCallbacks.push(function(){V=!0}),K.redraw&&U._transitionData._interruptCallbacks.push(function(){return t.call("redraw",U)}),U._transitionData._interruptCallbacks.push(function(){U.emit("plotly_transitioninterrupted",[])});var Ae=0,Se=0;function Ce(){return Ae++,function(){Se++,!V&&Se===Ae&&Q(ye)}}K.runFn(Ce),setTimeout(Ce())})}function Q(ye){if(U._transitionData)return X(U._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(K.redraw)return t.call("redraw",U)}).then(function(){U._transitioning=!1,U._transitioningWithDuration=!1,U.emit("plotly_transitioned",[])}).then(ye)}function re(){if(U._transitionData)return U._transitioning=!1,$(U._transitionData._interruptCallbacks)}var ce=[T.previousPromises,re,K.prepareFn,T.rehover,T.reselect,Z],me=n.syncOrAsync(ce,U);return(!me||!me.then)&&(me=Promise.resolve()),me.then(function(){return U})}T.doCalcdata=function(U,H){var K=c.list(U),V=U._fullData,$=U._fullLayout,X,Z,Q,re=new Array(V.length),ce=(U.calcdata||[]).slice();for(U.calcdata=re,$._numBoxes=0,$._numViolins=0,$._violinScaleGroupStats={},U._hmpixcount=0,U._hmlumcount=0,$._piecolormap={},$._sunburstcolormap={},$._treemapcolormap={},$._iciclecolormap={},$._funnelareacolormap={},Q=0;Qk?k.match(l):null;j.matchTex=e,j.convertToTspans=function(k,B,O){var q=k.text(),Y=!k.attr("data-notex")&&B&&B._context.typesetMath&&typeof MathJax<"u"&&e(q),ee=N.select(k.node().parentNode);if(ee.empty())return;var te=k.attr("class")?k.attr("class").split(" ")[0]:"text";te+="-math",ee.selectAll("svg."+te).remove(),ee.selectAll("g."+te+"-group").remove(),k.style("display",null).attr({"data-unformatted":q,"data-math":"N"});function ae(){ee.empty()||(te=k.attr("class")+"-math",ee.select("svg."+te).remove()),k.text("").style("white-space","pre");var U=F(k.node(),q);U&&k.style("pointer-events","all"),j.positionText(k),O&&O.call(k)}return Y?(B&&B._promises||[]).push(new Promise(function(U){k.style("display","none");var H=parseInt(k.node().style.fontSize,10),K={fontSize:H},V=k.attr("text-anchor");i(Y[2],K,function($,X,Z){ee.selectAll("svg."+te).remove(),ee.selectAll("g."+te+"-group").remove();var Q=$&&$.select("svg");if(!Q||!Q.node()){ae(),U();return}k.style("display","none");var re=ee.append("g").classed(te+"-group",!0).attr({"pointer-events":"none","data-unformatted":q,"data-math":"Y"});re.node().appendChild(Q.node()),X&&X.node()&&Q.node().insertBefore(X.node().cloneNode(!0),Q.node().firstChild);var ce=Z.width,me=Z.height;Q.attr({class:te,height:me,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none","font-size":K.fontSize+"px"});var ye=k.node().style.fill||"black",Ae=Q.select("g");Ae.attr({fill:ye,stroke:ye});var Se=Ae.node().getBoundingClientRect(),Ce=Se.width,qe=Se.height;(Ce>ce||qe>me)&&(Q.style("overflow","hidden"),Se=Q.node().getBoundingClientRect(),Ce=Se.width,qe=Se.height);var Ue=+k.attr("x"),xe=+k.attr("y"),he=H||k.node().getBoundingClientRect().height,oe=-he/4;te[0]==="y"?re.attr({transform:"rotate("+[-90,Ue,xe]+")"+v(-Ce/2,oe-qe/2)}):te[0]==="l"?xe=oe-qe/2:te[0]==="a"&&te.indexOf("atitle")!==0?(Ue=0,xe=oe):(Ue=Ue-Ce*(V==="middle"?.5:V==="end"?1:0),xe=xe+oe-qe/2),Q.attr({x:Ue,y:xe}),O&&O.call(k,re),U(re)})})):ae(),k};var t=/(<|<|<)/g,a=/(>|>|>)/g;function r(k){return k.replace(t,"\\lt ").replace(a,"\\gt ")}var n=null;function i(k,B,O){let q=parseInt((MathJax.version||"").split(".")[0]);if(q!==3&&q!==4){u.warn("Unsupported MathJax version:",MathJax.version);return}var Y;let ee=function(){if(!n){let H=MathJax._.output.svg_ts.SVG,K=u.extendFlat({},MathJax.config.svg,{fontCache:"local"});q===4&&(K.linebreaks=u.extendFlat({},K.linebreaks,{inline:!1})),n=MathJax._.mathjax.mathjax.document(document,u.extendFlat({},MathJax.config.options,{InputJax:MathJax.startup.input,OutputJax:new H(K)}))}let ae="math-output-"+u.randstr({},64);Y=N.select("body").append("div").attr({id:ae}).style({visibility:"hidden",position:"absolute","font-size":B.fontSize+"px"});let U=r(k).replace(/^\$+|\$+$/g,"");return MathJax._.mathjax.mathjax.handleRetriesFor(function(){return n.convert(U,{display:!1})}).then(function(H){Y.node().appendChild(H)})},te=function(){let ae=Y.select(".MathJax"),U=!ae.empty()&&Y.select("svg").node();if(!U)u.log("There was an error in the tex syntax.",k),O();else{let H=U.getBoundingClientRect(),K=ae.select("defs");O(ae,K,H)}Y.remove()};Promise.resolve().then(ee).then(te).catch(ae=>{u.log("MathJax typesetting failed.",k,ae),Y&&Y.remove(),O()})}var s={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"},c={sub:"0.3em",sup:"-0.6em"},p={sub:"-0.21em",sup:"0.42em"},f="\u200B",d=["http:","https:","mailto:","",void 0,":"],y=j.NEWLINES=/(\r\n?|\n)/g,o=/(<[^<>]*>)/,x=/<(\/?)([^ >]*)(\s+(.*))?>/i,M=//i;j.BR_TAG_ALL=//gi;var T=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,E=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,g=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,A=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function m(k,B){if(!k)return null;var O=k.match(B),q=O&&(O[3]||O[4]);return q&&I(q)}var h=/(^|;)\s*color:/;j.plainText=function(k,B){B=B||{};for(var O=B.len!==void 0&&B.len!==-1?B.len:1/0,q=B.allowedTags!==void 0?B.allowedTags:["br"],Y="...",ee=Y.length,te=k.split(o),ae=[],U="",H=0,K=0;Kee?ae.push(V.slice(0,Math.max(0,Q-ee))+Y):ae.push(V.slice(0,Q));break}U=""}}return ae.join("")};var b={mu:"\u03BC",amp:"&",lt:"<",gt:">",nbsp:"\xA0",times:"\xD7",plusmn:"\xB1",deg:"\xB0"},_=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function I(k){return k.replace(_,function(B,O){var q;return O.charAt(0)==="#"?q=C(O.charAt(1)==="x"?parseInt(O.slice(2),16):parseInt(O.slice(1),10)):q=b[O],q||B})}j.convertEntities=I;function C(k){if(!(k>1114111)){var B=String.fromCodePoint;if(B)return B(k);var O=String.fromCharCode;return k<=65535?O(k):O((k>>10)+55232,k%1024+56320)}}function F(k,B){B=B.replace(y," ");var O=!1,q=[],Y,ee=-1;function te(){ee++;var Ce=document.createElementNS(w.svg,"tspan");N.select(Ce).attr({class:"line",dy:ee*S+"em"}),k.appendChild(Ce),Y=Ce;var qe=q;if(q=[{node:Ce}],qe.length>1)for(var Ue=1;Ue.",B);return}var qe=q.pop();Ce!==qe.type&&u.log("Start tag <"+qe.type+"> doesnt match end tag <"+Ce+">. Pretending it did match.",B),Y=q[q.length-1].node}var K=M.test(B);K?te():(Y=k,q=[{node:k}]);for(var V=B.split(o),$=0;$=0;o--,x++){var M=f[o];y[x]=[1-M[0],M[1]]}return y}function s(f,d){d=d||{};for(var y=f.domain,o=f.range,x=o.length,M=new Array(x),T=0;Td-p?p=d-(f-d):f-d=0?x=a.colorscale.sequential:x=a.colorscale.sequentialminus,s._sync("colorscale",x)}}}}),Dl=De({"src/components/colorscale/index.js"(j,N){"use strict";var u=bp(),v=Of();N.exports={moduleType:"component",name:"colorscale",attributes:ul(),layoutAttributes:P3(),supplyLayoutDefaults:qP(),handleDefaults:Wc(),crossTraceDefaults:GP(),calc:Wf(),scales:u.scales,defaultScale:u.defaultScale,getScale:u.get,isValidScale:u.isValid,hasColorscale:v.hasColorscale,extractOpts:v.extractOpts,extractScale:v.extractScale,flipScale:v.flipScale,makeColorScaleFunc:v.makeColorScaleFunc,makeColorScaleFuncFromTrace:v.makeColorScaleFuncFromTrace}}}),Sl=De({"src/traces/scatter/subtypes.js"(j,N){"use strict";var u=Ar(),v=Vf().isTypedArraySpec;N.exports={hasLines:function(w){return w.visible&&w.mode&&w.mode.indexOf("lines")!==-1},hasMarkers:function(w){return w.visible&&(w.mode&&w.mode.indexOf("markers")!==-1||w.type==="splom")},hasText:function(w){return w.visible&&w.mode&&w.mode.indexOf("text")!==-1},isBubble:function(w){var S=w.marker;return u.isPlainObject(S)&&(u.isArrayOrTypedArray(S.size)||v(S.size))}}}}),w1=De({"src/traces/scatter/make_bubble_size_func.js"(j,N){"use strict";var u=io();N.exports=function(w,S){S||(S=2);var l=w.marker,e=l.sizeref||1,t=l.sizemin||0,a=l.sizemode==="area"?function(r){return Math.sqrt(r/e)}:function(r){return r/e};return function(r){var n=a(r/S);return u(n)&&n>0?Math.max(n,t):0}}}}),Ch=De({"src/components/fx/helpers.js"(j){"use strict";var N=Ar();j.getSubplot=function(e){return e.subplot||e.xaxis+e.yaxis||e.geo},j.isTraceInSubplots=function(e,t){if(e.type==="splom"){for(var a=e.xaxes||[],r=e.yaxes||[],n=0;n=0&&a.index2&&(t.push([r].concat(n.splice(0,2))),i="l",r=r=="m"?"l":"L");;){if(n.length==u[i])return n.unshift(r),t.push(n);if(n.length0&&(oe=100,he=he.replace("-open","")),he.indexOf("-dot")>0&&(oe+=200,he=he.replace("-dot","")),he=y.symbolNames.indexOf(he),he>=0&&(he+=oe)}return he%100>=A||he>=400?0:Math.floor(Math.max(he,0))};function h(he,oe,le,ne){var be=he%100;return y.symbolFuncs[be](oe,le,ne)+(he>=200?m:"")}var b=w("~f"),_={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}};y.gradient=function(he,oe,le,ne,be,Fe){var Ve=_[ne];return I(he,oe,le,Ve.type,be,Fe,Ve.start,Ve.stop,!1,Ve.reversed)};function I(he,oe,le,ne,be,Fe,Ve,je,ut,st){var yt=be.length,At;ne==="linear"?At={node:"linearGradient",attrs:{x1:Ve.x,y1:Ve.y,x2:je.x,y2:je.y,gradientUnits:ut?"userSpaceOnUse":"objectBoundingBox"},reversed:st}:ne==="radial"&&(At={node:"radialGradient",reversed:st});for(var Pt=new Array(yt),Zt=0;Zt=0&&he.i===void 0&&(he.i=Fe.i),oe.style("opacity",ne.selectedOpacityFn?ne.selectedOpacityFn(he):he.mo===void 0?Ve.opacity:he.mo),ne.ms2mrc){var ut;he.ms==="various"||Ve.size==="various"?ut=3:ut=ne.ms2mrc(he.ms),he.mrc=ut,ne.selectedSizeFn&&(ut=he.mrc=ne.selectedSizeFn(he));var st=y.symbolNumber(he.mx||Ve.symbol)||0;he.om=st%200>=100;var yt=xe(he,le),At=Z(he,le);oe.attr("d",h(st,ut,yt,At))}var Pt=!1,Zt,vr,Nt;if(he.so)Nt=je.outlierwidth,vr=je.outliercolor,Zt=Ve.outliercolor;else{var Kt=(je||{}).width;Nt=(he.mlw+1||Kt+1||(he.trace?(he.trace.marker.line||{}).width:0)+1)-1||0,"mlc"in he?vr=he.mlcc=ne.lineScale(he.mlc):v.isArrayOrTypedArray(je.color)?vr=e.defaultLine:vr=je.color,v.isArrayOrTypedArray(Ve.color)&&(Zt=e.defaultLine,Pt=!0),"mc"in he?Zt=he.mcc=ne.markerScale(he.mc):Zt=Ve.color||Ve.colors||"rgba(0,0,0,0)",ne.selectedColorFn&&(Zt=ne.selectedColorFn(he))}let nt=he.mld||(je||{}).dash;if(nt&&y.dashLine(oe,nt,Nt),he.om)oe.call(e.stroke,Zt).style({"stroke-width":(Nt||1)+"px",fill:"none"});else{oe.style("stroke-width",(he.isBlank?0:Nt)+"px");var Ee=Ve.gradient,ze=he.mgt;ze?Pt=!0:ze=Ee&&Ee.type,v.isArrayOrTypedArray(ze)&&(ze=ze[0],_[ze]||(ze=0));var ve=Ve.pattern,_e=y.getPatternAttr,Ie=ve&&(_e(ve.shape,he.i,"")||_e(ve.path,he.i,""));if(ze&&ze!=="none"){var Be=he.mgc;Be?Pt=!0:Be=Ee.color;var We=le.uid;Pt&&(We+="-"+he.i),y.gradient(oe,be,We,ze,[[0,Be],[1,Zt]],"fill")}else if(Ie){var Xe=!1,mt=ve.fgcolor;!mt&&Fe&&Fe.color&&(mt=Fe.color,Xe=!0);var ft=_e(mt,he.i,Fe&&Fe.color||null),ht=_e(ve.bgcolor,he.i,null),gt=ve.fgopacity,_t=_e(ve.size,he.i,8),Ft=_e(ve.solidity,he.i,.3);Xe=Xe||he.mcc||v.isArrayOrTypedArray(ve.shape)||v.isArrayOrTypedArray(ve.path)||v.isArrayOrTypedArray(ve.bgcolor)||v.isArrayOrTypedArray(ve.fgcolor)||v.isArrayOrTypedArray(ve.size)||v.isArrayOrTypedArray(ve.solidity);var St=le.uid;Xe&&(St+="-"+he.i),y.pattern(oe,"point",be,St,Ie,_t,Ft,he.mcc,ve.fillmode,ht,ft,gt)}else v.isArrayOrTypedArray(Zt)?e.fill(oe,Zt[he.i]):e.fill(oe,Zt);Nt&&e.stroke(oe,vr)}},y.makePointStyleFns=function(he){var oe={},le=he.marker;return oe.markerScale=y.tryColorscale(le,""),oe.lineScale=y.tryColorscale(le,"line"),l.traceIs(he,"symbols")&&(oe.ms2mrc=p.isBubble(he)?f(he):function(){return(le.size||6)/2}),he.selectedpoints&&v.extendFlat(oe,y.makeSelectedPointStyleFns(he)),oe},y.makeSelectedPointStyleFns=function(he){var oe={},le=he.selected||{},ne=he.unselected||{},be=he.marker||{},Fe=le.marker||{},Ve=ne.marker||{},je=be.opacity,ut=Fe.opacity,st=Ve.opacity,yt=ut!==void 0,At=st!==void 0;(v.isArrayOrTypedArray(je)||yt||At)&&(oe.selectedOpacityFn=function(ve){var _e=ve.mo===void 0?be.opacity:ve.mo;return ve.selected?yt?ut:_e:At?st:c*_e});var Pt=be.color,Zt=Fe.color,vr=Ve.color;(Zt||vr)&&(oe.selectedColorFn=function(ve){var _e=ve.mcc||Pt;return ve.selected?Zt||_e:vr||_e});var Nt=be.size,Kt=Fe.size,nt=Ve.size,Ee=Kt!==void 0,ze=nt!==void 0;return l.traceIs(he,"symbols")&&(Ee||ze)&&(oe.selectedSizeFn=function(ve){var _e=ve.mrc||Nt/2;return ve.selected?Ee?Kt/2:_e:ze?nt/2:_e}),oe},y.makeSelectedTextStyleFns=function(he){var oe={},le=he.selected||{},ne=he.unselected||{},be=he.textfont||{},Fe=le.textfont||{},Ve=ne.textfont||{},je=be.color,ut=Fe.color,st=Ve.color;return oe.selectedTextColorFn=function(yt){var At=yt.tc||je;return yt.selected?ut||At:st||(ut?At:e.addOpacity(At,c))},oe},y.selectedPointStyle=function(he,oe){if(!(!he.size()||!oe.selectedpoints)){var le=y.makeSelectedPointStyleFns(oe),ne=oe.marker||{},be=[];le.selectedOpacityFn&&be.push(function(Fe,Ve){Fe.style("opacity",le.selectedOpacityFn(Ve))}),le.selectedColorFn&&be.push(function(Fe,Ve){e.fill(Fe,le.selectedColorFn(Ve))}),le.selectedSizeFn&&be.push(function(Fe,Ve){var je=Ve.mx||ne.symbol||0,ut=le.selectedSizeFn(Ve);Fe.attr("d",h(y.symbolNumber(je),ut,xe(Ve,oe),Z(Ve,oe))),Ve.mrc2=ut}),be.length&&he.each(function(Fe){for(var Ve=u.select(this),je=0;je0?le:0}y.textPointStyle=function(he,oe,le){if(he.size()){var ne;if(oe.selectedpoints){var be=y.makeSelectedTextStyleFns(oe);ne=be.selectedTextColorFn}var Fe=oe.texttemplate,Ve=le._fullLayout;he.each(function(je){var ut=u.select(this),st=Fe?v.extractOption(je,oe,"txt","texttemplate"):v.extractOption(je,oe,"tx","text");if(!st&&st!==0){ut.remove();return}if(Fe){var yt=oe._module.formatLabels,At=yt?yt(je,oe,Ve):{},Pt={};d(Pt,oe,je.i),st=v.texttemplateString({data:[Pt,je,oe._meta],fallback:oe.texttemplatefallback,labels:At,locale:Ve._d3locale,template:st})}var Zt=je.tp||oe.textposition,vr=R(je,oe),Nt=ne?ne(je):je.tc||oe.textfont.color;ut.call(y.font,{family:je.tf||oe.textfont.family,weight:je.tw||oe.textfont.weight,style:je.ty||oe.textfont.style,variant:je.tv||oe.textfont.variant,textcase:je.tC||oe.textfont.textcase,lineposition:je.tE||oe.textfont.lineposition,shadow:je.tS||oe.textfont.shadow,size:vr,color:Nt}).text(st).call(r.convertToTspans,le).call(F,Zt,vr,je.mrc)})}},y.selectedTextStyle=function(he,oe){if(!(!he.size()||!oe.selectedpoints)){var le=y.makeSelectedTextStyleFns(oe);he.each(function(ne){var be=u.select(this),Fe=le.selectedTextColorFn(ne),Ve=ne.tp||oe.textposition,je=R(ne,oe);e.fill(be,Fe);var ut=l.traceIs(oe,"bar-like");F(be,Ve,je,ne.mrc2||ne.mrc,ut)})}};var z=.5;y.smoothopen=function(he,oe){if(he.length<3)return"M"+he.join("L");var le="M"+he[0],ne=[],be;for(be=1;be=ut||ve>=yt&&ve<=ut)&&(_e<=At&&_e>=st||_e>=At&&_e<=st)&&(he=[ve,_e])}return he}y.applyBackoff=ae,y.makeTester=function(){var he=v.ensureSingleById(u.select("body"),"svg","js-plotly-tester",function(le){le.attr(n.svgAttrs).style({position:"absolute",left:"-10000px",top:"-10000px",width:"9000px",height:"9000px","z-index":"1"})}),oe=v.ensureSingle(he,"path","js-reference-point",function(le){le.attr("d","M0,0H1V1H0Z").style({"stroke-width":0,fill:"black"})});y.tester=he,y.testref=oe},y.savedBBoxes={};var U=0,H=1e4;y.bBox=function(he,oe,le){le||(le=K(he));var ne;if(le){if(ne=y.savedBBoxes[le],ne)return v.extendFlat({},ne)}else if(he.childNodes.length===1){var be=he.childNodes[0];if(le=K(be),le){var Fe=+be.getAttribute("x")||0,Ve=+be.getAttribute("y")||0,je=be.getAttribute("transform");if(!je){var ut=y.bBox(be,!1,le);return Fe&&(ut.left+=Fe,ut.right+=Fe),Ve&&(ut.top+=Ve,ut.bottom+=Ve),ut}if(le+="~"+Fe+"~"+Ve+"~"+je,ne=y.savedBBoxes[le],ne)return v.extendFlat({},ne)}}var st,yt;oe?st=he:(yt=y.tester.node(),st=he.cloneNode(!0),yt.appendChild(st)),u.select(st).attr("transform",null).call(r.positionText,0,0);var At=st.getBoundingClientRect(),Pt=y.testref.node().getBoundingClientRect();oe||yt.removeChild(st);var Zt={height:At.height,width:At.width,left:At.left-Pt.left,top:At.top-Pt.top,right:At.right-Pt.left,bottom:At.bottom-Pt.top};return U>=H&&(y.savedBBoxes={},U=0),le&&(y.savedBBoxes[le]=Zt),U++,v.extendFlat({},Zt)};function K(he){var oe=he.getAttribute("data-unformatted");if(oe!==null)return oe+he.getAttribute("data-math")+he.getAttribute("text-anchor")+he.getAttribute("style")}y.setClipUrl=function(he,oe,le){he.attr("clip-path",V(oe,le))};function V(he,oe){if(!he)return null;var le=oe._context,ne=le._exportedPlot?"":le._baseUrl||"";return ne?"url('"+ne+"#"+he+"')":"url(#"+he+")"}y.getTranslate=function(he){var oe=/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,le=he.attr?"attr":"getAttribute",ne=he[le]("transform")||"",be=ne.replace(oe,function(Fe,Ve,je){return[Ve,je].join(" ")}).split(" ");return{x:+be[0]||0,y:+be[1]||0}},y.setTranslate=function(he,oe,le){var ne=/(\btranslate\(.*?\);?)/,be=he.attr?"attr":"getAttribute",Fe=he.attr?"attr":"setAttribute",Ve=he[be]("transform")||"";return oe=oe||0,le=le||0,Ve=Ve.replace(ne,"").trim(),Ve+=a(oe,le),Ve=Ve.trim(),he[Fe]("transform",Ve),Ve},y.getScale=function(he){var oe=/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,le=he.attr?"attr":"getAttribute",ne=he[le]("transform")||"",be=ne.replace(oe,function(Fe,Ve,je){return[Ve,je].join(" ")}).split(" ");return{x:+be[0]||1,y:+be[1]||1}},y.setScale=function(he,oe,le){var ne=/(\bscale\(.*?\);?)/,be=he.attr?"attr":"getAttribute",Fe=he.attr?"attr":"setAttribute",Ve=he[be]("transform")||"";return oe=oe||1,le=le||1,Ve=Ve.replace(ne,"").trim(),Ve+="scale("+oe+","+le+")",Ve=Ve.trim(),he[Fe]("transform",Ve),Ve};var $=/\s*sc.*/;y.setPointGroupScale=function(he,oe,le){if(oe=oe||1,le=le||1,!!he){var ne=oe===1&&le===1?"":"scale("+oe+","+le+")";he.each(function(){var be=(this.getAttribute("transform")||"").replace($,"");be+=ne,be=be.trim(),this.setAttribute("transform",be)})}};var X=/translate\([^)]*\)\s*$/;y.setTextPointsScale=function(he,oe,le){he&&he.each(function(){var ne,be=u.select(this),Fe=be.select("text");if(Fe.node()){var Ve=parseFloat(Fe.attr("x")||0),je=parseFloat(Fe.attr("y")||0),ut=(be.attr("transform")||"").match(X);oe===1&&le===1?ne=[]:ne=[a(Ve,je),"scale("+oe+","+le+")",a(-Ve,-je)],ut&&ne.push(ut),be.attr("transform",ne.join(""))}})};function Z(he,oe){var le;return he&&(le=he.mf),le===void 0&&(le=oe.marker&&oe.marker.standoff||0),!oe._geo&&!oe._xA?-le:le}y.getMarkerStandoff=Z;var Q=Math.atan2,re=Math.cos,ce=Math.sin;function me(he,oe){var le=oe[0],ne=oe[1];return[le*re(he)-ne*ce(he),le*ce(he)+ne*re(he)]}var ye,Ae,Se,Ce,qe,Ue;function xe(he,oe){var le=he.ma;le===void 0&&(le=oe.marker.angle,(!S(le)||v.isArrayOrTypedArray(le))&&(le=0));var ne,be,Fe=oe.marker.angleref;if(Fe==="previous"||Fe==="north"){if(oe._geo){var Ve=oe._geo.project(he.lonlat);ne=Ve[0],be=Ve[1]}else{var je=oe._xA,ut=oe._yA;if(je&&ut)ne=je.c2p(he.x),be=ut.c2p(he.y);else return 90}if(oe._geo){var st=he.lonlat[0],yt=he.lonlat[1],At=oe._geo.project([st,yt+1e-5]),Pt=oe._geo.project([st+1e-5,yt]),Zt=Q(Pt[1]-be,Pt[0]-ne),vr=Q(At[1]-be,At[0]-ne),Nt;if(Fe==="north")Nt=le/180*Math.PI;else if(Fe==="previous"){var Kt=st/180*Math.PI,nt=yt/180*Math.PI,Ee=ye/180*Math.PI,ze=Ae/180*Math.PI,ve=Ee-Kt,_e=re(ze)*ce(ve),Ie=ce(ze)*re(nt)-re(ze)*ce(nt)*re(ve);Nt=-Q(_e,Ie)-Math.PI,ye=st,Ae=yt}var Be=me(Zt,[re(Nt),0]),We=me(vr,[ce(Nt),0]);le=Q(Be[1]+We[1],Be[0]+We[0])/Math.PI*180,Fe==="previous"&&!(Ue===oe.uid&&he.i===qe+1)&&(le=null)}if(Fe==="previous"&&!oe._geo)if(Ue===oe.uid&&he.i===qe+1&&S(ne)&&S(be)){var Xe=ne-Se,mt=be-Ce,ft=oe.line&&oe.line.shape||"",ht=ft.slice(ft.length-1);ht==="h"&&(mt=0),ht==="v"&&(Xe=0),le+=Q(mt,Xe)/Math.PI*180+90}else le=null}return Se=ne,Ce=be,qe=he.i,Ue=oe.uid,le}y.getMarkerAngle=xe}}),Sp=De({"src/components/titles/index.js"(j,N){"use strict";var u=Qn(),v=io(),w=Il(),S=hi(),l=Ar(),e=l.strTranslate,t=Ki(),a=ii(),r=Xs(),n=Zd(),i=yc().OPPOSITE_SIDE,s=/ [XY][0-9]* /,c=1.6,p=1.6;function f(d,y,o){var x=d._fullLayout,M=o.propContainer,T=o.propName,E=o.placeholder,g=o.traceIndex,A=o.avoid||{},m=o.attributes,h=o.transform,b=o.containerGroup,_=1,I=M.title,C=(I&&I.text?I.text:"").trim(),F=!1,R=I&&I.font?I.font:{},z=R.family,D=R.size,k=R.color,B=R.weight,O=R.style,q=R.variant,Y=R.textcase,ee=R.lineposition,te=R.shadow,ae=o.subtitlePropName,U=!!ae,H=o.subtitlePlaceholder,K=(M.title||{}).subtitle||{text:"",font:{}},V=(K.text||"").trim(),$=!1,X=1,Z=K.font,Q=Z.family,re=Z.size,ce=Z.color,me=Z.weight,ye=Z.style,Ae=Z.variant,Se=Z.textcase,Ce=Z.lineposition,qe=Z.shadow,Ue;T==="title.text"?Ue="titleText":T.indexOf("axis")!==-1?Ue="axisTitleText":T.indexOf("colorbar")!==-1&&(Ue="colorbarTitleText");var xe=d._context.edits[Ue];function he(Zt,vr){return Zt===void 0||vr===void 0?!1:Zt.replace(s," % ")===vr.replace(s," % ")}C===""?_=0:he(C,E)&&(xe||(C=""),_=.2,F=!0),U&&(V===""?X=0:he(V,H)&&(xe||(V=""),X=.2,$=!0)),o._meta?C=l.templateString(C,o._meta):x._meta&&(C=l.templateString(C,x._meta));var oe=C||V||xe,le;b||(b=l.ensureSingle(x._infolayer,"g","g-"+y),le=x._hColorbarMoveTitle);var ne=b.selectAll("text."+y).data(oe?[0]:[]);ne.enter().append("text"),ne.text(C).attr("class",y),ne.exit().remove();var be=null,Fe=y+"-subtitle",Ve=V||xe;if(U&&(be=b.selectAll("text."+Fe).data(Ve?[0]:[]),be.enter().append("text"),be.text(V).attr("class",Fe),be.exit().remove()),!oe)return b;function je(Zt,vr){l.syncOrAsync([ut,st],{title:Zt,subtitle:vr})}function ut(Zt){var vr=Zt.title,Nt=Zt.subtitle,Kt;!h&&le&&(h={}),h?(Kt="",h.rotate&&(Kt+="rotate("+[h.rotate,m.x,m.y]+")"),(h.offset||le)&&(Kt+=e(0,(h.offset||0)-(le||0)))):Kt=null,vr.attr("transform",Kt);function nt(Be){if(Be){var We=u.select(Be.node().parentNode).select("."+Fe);if(!We.empty()){var Xe=Be.node().getBBox();if(Xe.height){var mt=Xe.y+Xe.height+c*re;We.attr("y",mt)}}}}if(vr.style("opacity",_*a.opacity(k)).call(t.font,{color:a.rgb(k),size:u.round(D,2),family:z,weight:B,style:O,variant:q,textcase:Y,shadow:te,lineposition:ee}).attr(m).call(r.convertToTspans,d,nt),Nt&&!Nt.empty()){var Ee=b.select("."+y+"-math-group"),ze=vr.node().getBBox(),ve=Ee.node()?Ee.node().getBBox():void 0,_e=ve?ve.y+ve.height+c*re:ze.y+ze.height+p*re,Ie=l.extendFlat({},m,{y:_e});Nt.attr("transform",Kt),Nt.style("opacity",X*a.opacity(ce)).call(t.font,{color:a.rgb(ce),size:u.round(re,2),family:Q,weight:me,style:ye,variant:Ae,textcase:Se,shadow:qe,lineposition:Ce}).attr(Ie).call(r.convertToTspans,d)}return w.previousPromises(d)}function st(Zt){var vr=Zt.title,Nt=u.select(vr.node().parentNode);if(A&&A.selection&&A.side&&C){Nt.attr("transform",null);var Kt=i[A.side],nt=A.side==="left"||A.side==="top"?-1:1,Ee=v(A.pad)?A.pad:2,ze=t.bBox(Nt.node()),ve={t:0,b:0,l:0,r:0},_e=d._fullLayout._reservedMargin;for(var Ie in _e)for(var Be in _e[Ie]){var We=_e[Ie][Be];ve[Be]=Math.max(ve[Be],We)}var Xe={left:ve.l,top:ve.t,right:x.width-ve.r,bottom:x.height-ve.b},mt=A.maxShift||nt*(Xe[A.side]-ze[A.side]),ft=0;if(mt<0)ft=mt;else{var ht=A.offsetLeft||0,gt=A.offsetTop||0;ze.left-=ht,ze.right-=ht,ze.top-=gt,ze.bottom-=gt,A.selection.each(function(){var Ft=t.bBox(this);l.bBoxIntersect(ze,Ft,Ee)&&(ft=Math.max(ft,nt*(Ft[A.side]-ze[Kt])+Ee))}),ft=Math.min(mt,ft),M._titleScoot=Math.abs(ft)}if(ft>0||mt<0){var _t={left:[-ft,0],right:[ft,0],top:[0,-ft],bottom:[0,ft]}[A.side];Nt.attr("transform",e(_t[0],_t[1]))}}}ne.call(je,be);function yt(Zt,vr){Zt.text(vr).on("mouseover.opacity",function(){u.select(this).transition().duration(n.SHOW_PLACEHOLDER).style("opacity",1)}).on("mouseout.opacity",function(){u.select(this).transition().duration(n.HIDE_PLACEHOLDER).style("opacity",0)})}if(xe&&(C?ne.on(".opacity",null):(yt(ne,E),F=!0),ne.call(r.makeEditable,{gd:d}).on("edit",function(Zt){g!==void 0?S.call("_guiRestyle",d,T,Zt,g):S.call("_guiRelayout",d,T,Zt)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(je)}).on("input",function(Zt){this.text(Zt||" ").call(r.positionText,m.x,m.y)}),U)){if(U&&!C){var At=ne.node().getBBox(),Pt=At.y+At.height+p*re;be.attr("y",Pt)}V?be.on(".opacity",null):(yt(be,H),$=!0),be.call(r.makeEditable,{gd:d}).on("edit",function(Zt){S.call("_guiRelayout",d,"title.subtitle.text",Zt)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(je)}).on("input",function(Zt){this.text(Zt||" ").call(r.positionText,be.attr("x"),be.attr("y"))})}return ne.classed("js-placeholder",F),be&&!be.empty()&&be.classed("js-placeholder",$),b}N.exports={draw:f,SUBTITLE_PADDING_EM:p,SUBTITLE_PADDING_MATHJAX_EM:c}}}),Sd=De({"src/plots/cartesian/set_convert.js"(j,N){"use strict";var u=Qn(),v=Hd().utcFormat,w=Ar(),S=w.numberFormat,l=io(),e=w.cleanNumber,t=w.ms2DateTime,a=w.dateTime2ms,r=w.ensureNumber,n=w.isArrayOrTypedArray,i=Ho(),s=i.FP_SAFE,c=i.BADNUM,p=i.LOG_CLIP,f=i.ONEWEEK,d=i.ONEDAY,y=i.ONEHOUR,o=i.ONEMIN,x=i.ONESEC,M=lu(),T=gc(),E=T.HOUR_PATTERN,g=T.WEEKDAY_PATTERN;function A(h){return Math.pow(10,h)}function m(h){return h!=null}N.exports=function(b,_){_=_||{};var I=b._id||"x",C=I.charAt(0);function F(V,$){if(V>0)return Math.log(V)/Math.LN10;if(V<=0&&$&&b.range&&b.range.length===2){var X=b.range[0],Z=b.range[1];return .5*(X+Z-2*p*Math.abs(X-Z))}else return c}function R(V,$,X,Z){if((Z||{}).msUTC&&l(V))return+V;var Q=a(V,X||b.calendar);if(Q===c)if(l(V)){V=+V;var re=Math.floor(w.mod(V+.05,1)*10),ce=Math.round(V-re/10);Q=a(new Date(ce))+re/10}else return c;return Q}function z(V,$,X){return t(V,$,X||b.calendar)}function D(V){return b._categories[Math.round(V)]}function k(V){if(m(V)){if(b._categoriesMap===void 0&&(b._categoriesMap={}),b._categoriesMap[V]!==void 0)return b._categoriesMap[V];b._categories.push(typeof V=="number"?String(V):V);var $=b._categories.length-1;return b._categoriesMap[V]=$,$}return c}function B(V,$){for(var X=new Array($),Z=0;Z<$;Z++){var Q=(V[0]||[])[Z],re=(V[1]||[])[Z];X[Z]=O([Q,re])}return X}function O(V){if(b._categoriesMap)return b._categoriesMap[V]}function q(V){var $=O(V);if($!==void 0)return $;if(l(V))return+V}function Y(V){return l(V)?+V:O(V)}function ee(V,$,X){return u.round(X+$*V,2)}function te(V,$,X){return(V-X)/$}var ae=function($){return l($)?ee($,b._m,b._b):c},U=function(V){return te(V,b._m,b._b)};if(b.rangebreaks){var H=C==="y";ae=function(V){if(!l(V))return c;var $=b._rangebreaks.length;if(!$)return ee(V,b._m,b._b);var X=H;b.range[0]>b.range[1]&&(X=!X);for(var Z=X?-1:1,Q=Z*V,re=0,ce=0;ce<$;ce++){var me=Z*b._rangebreaks[ce].min,ye=Z*b._rangebreaks[ce].max;if(Qye)re=ce+1;else{re=Q<(me+ye)/2?ce:ce+1;break}}var Ae=b._B[re]||0;return isFinite(Ae)?ee(V,b._m2,Ae):0},U=function(V){var $=b._rangebreaks.length;if(!$)return te(V,b._m,b._b);for(var X=0,Z=0;Z<$&&!(Vb._rangebreaks[Z].pmax&&(X=Z+1);return te(V,b._m2,b._B[X])}}b.c2l=b.type==="log"?F:r,b.l2c=b.type==="log"?A:r,b.l2p=ae,b.p2l=U,b.c2p=b.type==="log"?function(V,$){return ae(F(V,$))}:ae,b.p2c=b.type==="log"?function(V){return A(U(V))}:U,["linear","-"].indexOf(b.type)!==-1?(b.d2r=b.r2d=b.d2c=b.r2c=b.d2l=b.r2l=e,b.c2d=b.c2r=b.l2d=b.l2r=r,b.d2p=b.r2p=function(V){return b.l2p(e(V))},b.p2d=b.p2r=U,b.cleanPos=r):b.type==="log"?(b.d2r=b.d2l=function(V,$){return F(e(V),$)},b.r2d=b.r2c=function(V){return A(e(V))},b.d2c=b.r2l=e,b.c2d=b.l2r=r,b.c2r=F,b.l2d=A,b.d2p=function(V,$){return b.l2p(b.d2r(V,$))},b.p2d=function(V){return A(U(V))},b.r2p=function(V){return b.l2p(e(V))},b.p2r=U,b.cleanPos=r):b.type==="date"?(b.d2r=b.r2d=w.identity,b.d2c=b.r2c=b.d2l=b.r2l=R,b.c2d=b.c2r=b.l2d=b.l2r=z,b.d2p=b.r2p=function(V,$,X){return b.l2p(R(V,0,X))},b.p2d=b.p2r=function(V,$,X){return z(U(V),$,X)},b.cleanPos=function(V){return w.cleanDate(V,c,b.calendar)}):b.type==="category"?(b.d2c=b.d2l=k,b.r2d=b.c2d=b.l2d=D,b.d2r=b.d2l_noadd=q,b.r2c=function(V){var $=Y(V);return $!==void 0?$:b.fraction2r(.5)},b.l2r=b.c2r=r,b.r2l=Y,b.d2p=function(V){return b.l2p(b.r2c(V))},b.p2d=function(V){return D(U(V))},b.r2p=b.d2p,b.p2r=U,b.cleanPos=function(V){return typeof V=="string"&&V!==""?V:r(V)}):b.type==="multicategory"&&(b.r2d=b.c2d=b.l2d=D,b.d2r=b.d2l_noadd=q,b.r2c=function(V){var $=q(V);return $!==void 0?$:b.fraction2r(.5)},b.r2c_just_indices=O,b.l2r=b.c2r=r,b.r2l=q,b.d2p=function(V){return b.l2p(b.r2c(V))},b.p2d=function(V){return D(U(V))},b.r2p=b.d2p,b.p2r=U,b.cleanPos=function(V){return Array.isArray(V)||typeof V=="string"&&V!==""?V:r(V)},b.setupMultiCategory=function(V){var $=b._traceIndices,X,Z,Q=b._matchGroup;if(Q&&b._categories.length===0){for(var re in Q)if(re!==I){var ce=_[M.id2name(re)];$=$.concat(ce._traceIndices)}}var me=[[0,{}],[0,{}]],ye=[];for(X=0;X<$.length;X++){var Ae=V[$[X]];if(C in Ae){var Se=Ae[C],Ce=Ae._length||w.minRowLength(Se);if(n(Se[0])&&n(Se[1]))for(Z=0;Zce[1]&&(Z[re?0:1]=X,Q[1]=ce[1]),Q[0]>=Q[1])if($!==void 0){var me=ce[0]+1;X!==void 0&&(me=Math.min(me,ce[1])),Z[re?0:1]=b.l2r(me)}else X!==void 0&&(Z[re?1:0]=b.l2r(ce[1]-1))}},b.cleanRange=function(V,$){b._cleanRange(V,$),b.limitRange(V)},b._cleanRange=function(V,$){$||($={}),V||(V="range");var X=w.nestedProperty(b,V).get(),Z,Q;if(b.type==="date"?Q=w.dfltRange(b.calendar):C==="y"?Q=T.DFLTRANGEY:b._name==="realaxis"?Q=[0,1]:Q=$.dfltRange||T.DFLTRANGEX,Q=Q.slice(),(b.rangemode==="tozero"||b.rangemode==="nonnegative")&&(Q[0]=0),!X||X.length!==2){w.nestedProperty(b,V).set(Q);return}var re=X[0]===null,ce=X[1]===null;for(b.type==="date"&&!b.autorange&&(X[0]=w.cleanDate(X[0],c,b.calendar),X[1]=w.cleanDate(X[1],c,b.calendar)),Z=0;Z<2;Z++)if(b.type==="date"){if(!w.isDateTime(X[Z],b.calendar)){b[V]=Q;break}if(b.r2l(X[0])===b.r2l(X[1])){var me=w.constrain(b.r2l(X[0]),w.MIN_MS+1e3,w.MAX_MS-1e3);X[0]=b.l2r(me-1e3),X[1]=b.l2r(me+1e3);break}}else{if(!l(X[Z]))if(!(re||ce)&&l(X[1-Z]))X[Z]=X[1-Z]*(Z?10:.1);else{b[V]=Q;break}if(X[Z]<-s?X[Z]=-s:X[Z]>s&&(X[Z]=s),X[0]===X[1]){var ye=Math.max(1,Math.abs(X[0]*1e-6));X[0]-=ye,X[1]+=ye}}},b.setScale=function(V){var $=_._size;if(b.overlaying){var X=M.getFromId({_fullLayout:_},b.overlaying);b.domain=X.domain}var Z=V&&b._r?"_r":"range",Q=b.calendar;b.cleanRange(Z);var re=b.r2l(b[Z][0],Q),ce=b.r2l(b[Z][1],Q),me=C==="y";if(me?(b._offset=$.t+(1-b.domain[1])*$.h,b._length=$.h*(b.domain[1]-b.domain[0]),b._m=b._length/(re-ce),b._b=-b._m*ce):(b._offset=$.l+b.domain[0]*$.w,b._length=$.w*(b.domain[1]-b.domain[0]),b._m=b._length/(ce-re),b._b=-b._m*re),b._rangebreaks=[],b._lBreaks=0,b._m2=0,b._B=[],b.rangebreaks){var ye,Ae;if(b._rangebreaks=b.locateBreaks(Math.min(re,ce),Math.max(re,ce)),b._rangebreaks.length){for(ye=0;yece&&(Se=!Se),Se&&b._rangebreaks.reverse();var Ce=Se?-1:1;for(b._m2=Ce*b._length/(Math.abs(ce-re)-b._lBreaks),b._B.push(-b._m2*(me?ce:re)),ye=0;yeQ&&(Q+=7,reQ&&(Q+=24,re=Z&&re=Z&&V=je.min&&(neje.max&&(je.max=be),Fe=!1)}Fe&&ce.push({min:ne,max:be})}};for(X=0;Xx*2}function i(p){return Math.max(1,(p-1)/1e3)}function s(p,f){for(var d=p.length,y=i(d),o=0,x=0,M={},T=0;To*2}function c(p){return S(p[0])&&S(p[1])}}}),sd=De({"src/plots/cartesian/autorange.js"(j,N){"use strict";var u=Qn(),v=io(),w=Ar(),S=Ho().FP_SAFE,l=hi(),e=Ki(),t=lu(),a=t.getFromId,r=t.isLinked;N.exports={applyAutorangeOptions:b,getAutoRange:n,makePadFn:s,doAutoRange:d,findExtremes:y,concatExtremes:f};function n(_,I){var C,F,R=[],z=_._fullLayout,D=s(z,I,0),k=s(z,I,1),B=f(_,I),O=B.min,q=B.max;if(O.length===0||q.length===0)return w.simpleMap(I.range,I.r2l);var Y=O[0].val,ee=q[0].val;for(C=1;C0&&(ye=$-D(Q)-k(re),ye>X?Ae/ye>Z&&(ce=Q,me=re,Z=Ae/ye):Ae/$>Z&&(ce={val:Q.val,nopad:1},me={val:re.val,nopad:1},Z=Ae/$));function Se(he,oe){return Math.max(he,k(oe))}if(Y===ee){var Ce=Y-1,qe=Y+1;if(K)if(Y===0)R=[0,1];else{var Ue=(Y>0?q:O).reduce(Se,0),xe=Y/(1-Math.min(.5,Ue/$));R=Y>0?[0,xe]:[xe,0]}else V?R=[Math.max(0,Ce),Math.max(1,qe)]:R=[Ce,qe]}else K?(ce.val>=0&&(ce={val:0,nopad:1}),me.val<=0&&(me={val:0,nopad:1})):V&&(ce.val-Z*D(ce)<0&&(ce={val:0,nopad:1}),me.val<=0&&(me={val:1,nopad:1})),Z=(me.val-ce.val-i(I,Q.val,re.val))/($-D(ce)-k(me)),R=[ce.val-Z*D(ce),me.val+Z*k(me)];return R=b(R,I),I.limitRange&&I.limitRange(),ae&&R.reverse(),w.simpleMap(R,I.l2r||Number)}function i(_,I,C){var F=0;if(_.rangebreaks)for(var R=_.locateBreaks(I,C),z=0;z0?C.ppadplus:C.ppadminus)||C.ppad||0),Q=X((_._m>0?C.ppadminus:C.ppadplus)||C.ppad||0),re=X(C.vpadplus||C.vpad),ce=X(C.vpadminus||C.vpad);if(!O){if(V=1/0,$=-1/0,B)for(Y=0;Y0&&(V=ee),ee>$&&ee-S&&(V=ee),ee>$&&ee=Ae;Y--)ye(Y);return{min:F,max:R,opts:C}}function o(_,I,C,F){M(_,I,C,F,E)}function x(_,I,C,F){M(_,I,C,F,g)}function M(_,I,C,F,R){for(var z=F.tozero,D=F.extrapad,k=!0,B=0;B<_.length&&k;B++){var O=_[B];if(R(O.val,I)&&O.pad>=C&&(O.extrapad||!D)){k=!1;break}else R(I,O.val)&&O.pad<=C&&(D||!O.extrapad)&&(_.splice(B,1),B--)}if(k){var q=z&&I===0;_.push({val:I,pad:q?0:C,extrapad:q?!1:D})}}function T(_){return v(_)&&Math.abs(_)=I}function A(_,I){var C=I.autorangeoptions;return C&&C.minallowed!==void 0&&h(I,C.minallowed,C.maxallowed)?C.minallowed:C&&C.clipmin!==void 0&&h(I,C.clipmin,C.clipmax)?Math.max(_,I.d2l(C.clipmin)):_}function m(_,I){var C=I.autorangeoptions;return C&&C.maxallowed!==void 0&&h(I,C.minallowed,C.maxallowed)?C.maxallowed:C&&C.clipmax!==void 0&&h(I,C.clipmin,C.clipmax)?Math.min(_,I.d2l(C.clipmax)):_}function h(_,I,C){return I!==void 0&&C!==void 0?(I=_.d2l(I),C=_.d2l(C),I=B&&(z=B,C=B),D<=B&&(D=B,F=B)}}return C=A(C,I),F=m(F,I),[C,F]}}}),Vi=De({"src/plots/cartesian/axes.js"(j,N){"use strict";var u=Qn(),v=io(),w=Il(),S=hi(),l=Ar(),e=l.strTranslate,t=Xs(),a=Sp(),r=ii(),n=Ki(),i=hf(),s=I3(),c=gc(),p=Ho(),f=p.ONEMAXYEAR,d=p.ONEAVGYEAR,y=p.ONEMINYEAR,o=p.ONEMAXQUARTER,x=p.ONEAVGQUARTER,M=p.ONEMINQUARTER,T=p.ONEMAXMONTH,E=p.ONEAVGMONTH,g=p.ONEMINMONTH,A=p.ONEWEEK,m=p.ONEDAY,h=m/2,b=p.ONEHOUR,_=p.ONEMIN,I=p.ONESEC,C=p.ONEMILLI,F=p.ONEMICROSEC,R=p.MINUS_SIGN,z=p.BADNUM,D={K:"zeroline"},k={K:"gridline",L:"path"},B={K:"minor-gridline",L:"path"},O={K:"tick",L:"path"},q={K:"tick",L:"text"},Y={width:["x","r","l","xl","xr"],height:["y","t","b","yt","yb"],right:["r","xr"],left:["l","xl"],top:["t","yt"],bottom:["b","yb"]},ee=yc(),te=ee.MID_SHIFT,ae=ee.CAP_SHIFT,U=ee.LINE_SPACING,H=ee.OPPOSITE_SIDE,K=3,V=N.exports={};V.setConvert=Sd();var $=dm(),X=lu(),Z=X.idSort,Q=X.isLinked;V.id2name=X.id2name,V.name2id=X.name2id,V.cleanId=X.cleanId,V.list=X.list,V.listIds=X.listIds,V.getFromId=X.getFromId,V.getFromTrace=X.getFromTrace;var re=sd();V.getAutoRange=re.getAutoRange,V.findExtremes=re.findExtremes;var ce=1e-4;function me(it){var Qe=(it[1]-it[0])*ce;return[it[0]-Qe,it[1]+Qe]}function ye(it,Qe,Jt){if(![Jt,it,Qe].every(v)||Jt===0)return it;let Yt=Math.round((it-Qe)/Jt),ar=Qe+Yt*Jt;return it!==ar&&Math.abs(it-ar)Ir+" domain")),bt=bt.concat(cr||[]),Qt.length>tr?(l.warn("Array attribute "+qt+" has more entries than expected, truncating to "+tr),Qt=Qt.slice(0,tr)):Qt.length2e-6||((Jt-it._forceTick0)/it._minDtick%1+1.000001)%1>2e-6)&&(it._minDtick=0))},V.saveRangeInitial=function(it,Qe){for(var Jt=V.list(it,"",!0),Yt=!1,ar=0;arbr*.3||qt(Yt)||qt(ar))){var Ir=Jt.dtick/2;it+=it+Irtr){var Je=Number(Jt.slice(1));cr.exactYears>tr&&Je%12===0?it=V.tickIncrement(it,"M6","reverse")+m*1.5:cr.exactMonths>tr?it=V.tickIncrement(it,"M1","reverse")+m*15.5:it-=h;var bt=V.tickIncrement(it,Jt);if(bt<=Yt)return bt}return it}V.prepMinorTicks=function(it,Qe,Jt){var Yt,ar;if(!((Yt=Qe.minor)!=null&&Yt.dtick)){delete it.dtick;var cr=Qe.dtick&&v(Qe._tmin),tr;if(cr){var Je=V.tickIncrement(Qe._tmin,Qe.dtick,!0);tr=[Qe._tmin,Je*.99+Qe._tmin*.01]}else{var bt=l.simpleMap(Qe.range,Qe.r2l);tr=[bt[0],.8*bt[0]+.2*bt[1]]}if(it.range=l.simpleMap(tr,Qe.l2r),it._isMinor=!0,V.prepTicks(it,Jt),cr){var qt=v(Qe.dtick),Qt=v(it.dtick),br=qt?Qe.dtick:+Qe.dtick.substring(1),Ir=Qt?it.dtick:+it.dtick.substring(1);qt&&Qt?xe(br,Ir)?br===2*A&&Ir===2*m&&(it.dtick=A):br===2*A&&Ir===3*m?it.dtick=A:br===A&&!(Qe._input.minor||{}).nticks?it.dtick=m:he(br/Ir,2.5)?it.dtick=br/2:it.dtick=br:String(Qe.dtick).charAt(0)==="M"?Qt?it.dtick="M1":xe(br,Ir)?br>=12&&Ir===2&&(it.dtick="M3"):it.dtick=Qe.dtick:String(it.dtick).charAt(0)==="L"?String(Qe.dtick).charAt(0)==="L"?xe(br,Ir)||(it.dtick=he(br/Ir,2.5)?Qe.dtick/2:Qe.dtick):it.dtick="D1":it.dtick==="D2"&&+Qe.dtick>1&&(it.dtick=1)}it.range=Qe.range}((ar=Qe.minor)==null?void 0:ar._tick0Init)===void 0&&(it.tick0=Qe.tick0)};function xe(it,Qe){return Math.abs((it/Qe+.5)%1-.5)<.001}function he(it,Qe){return Math.abs(it/Qe-1)<.001}V.prepTicks=function(it,Qe){var Jt=l.simpleMap(it.range,it.r2l,void 0,void 0,Qe);if(it.tickmode==="auto"||!it.dtick){var Yt=it.nticks,ar;Yt||(it.type==="category"||it.type==="multicategory"?(ar=it.tickfont?l.bigFont(it.tickfont.size||12):15,Yt=it._length/ar):(ar=it._id.charAt(0)==="y"?40:80,Yt=l.constrain(it._length/ar,4,9)+1),it._name==="radialaxis"&&(Yt*=2)),it.minor&&it.minor.tickmode!=="array"||it.tickmode==="array"&&(Yt*=100),it._roughDTick=Math.abs(Jt[1]-Jt[0])/Yt,V.autoTicks(it,it._roughDTick),it._minDtick>0&&it.dtick0?(cr=Yt-1,tr=Yt):(cr=Yt,tr=Yt);var Je=it[cr].value,bt=it[tr].value,qt=Math.abs(bt-Je),Qt=Jt||qt,br=0;Qt>=y?qt>=y&&qt<=f?br=qt:br=d:Jt===x&&Qt>=M?qt>=M&&qt<=o?br=qt:br=x:Qt>=g?qt>=g&&qt<=T?br=qt:br=E:Jt===A&&Qt>=A?br=A:Qt>=m?br=m:Jt===h&&Qt>=h?br=h:Jt===b&&Qt>=b&&(br=b);var Ir;br>=qt&&(br=qt,Ir=!0);var Cr=ar+br;if(Qe.rangebreaks&&br>0){for(var Mr=84,Xr=0,Ra=0;RaA&&(br=qt)}(br>0||Yt===0)&&(it[Yt].periodX=ar+br/2)}}V.calcTicks=function(Qe,Jt){for(var Yt=Qe.type,ar=Qe.calendar,cr=Qe.ticklabelstep,tr=Qe.ticklabelmode==="period",Je=Qe.range[0]>Qe.range[1],bt=!Qe.ticklabelindex||l.isArrayOrTypedArray(Qe.ticklabelindex)?Qe.ticklabelindex:[Qe.ticklabelindex],qt=l.simpleMap(Qe.range,Qe.r2l,void 0,void 0,Jt),Qt=qt[1]=(ri?0:1);On--){var ui=!On;On?(Qe._dtickInit=Qe.dtick,Qe._tick0Init=Qe.tick0):ri&&(Qe.minor._dtickInit=Qe.minor.dtick,Qe.minor._tick0Init=Qe.minor.tick0);var jn=On?Qe:l.extendFlat({},Qe,ri?Qe.minor:{minor:{}});if(ui?V.prepMinorTicks(jn,Qe,Jt):V.prepTicks(jn,Jt),jn.tickmode==="array"){On?(Ra=[],Mr=Ve(Qe,!ui)):(wa=[],Xr=Ve(Qe,!ui));continue}if(jn.tickmode==="sync"){Ra=[],Mr=Fe(Qe);continue}var oo=me(qt),Qi=oo[0],Mn=oo[1],bo=v(jn.dtick),so=Yt==="log"&&!(bo||jn.dtick.charAt(0)==="L"),Hi=V.tickFirst(jn,Jt);if(On){if(Qe._tmin=Hi,Hi=Mn:Bi<=Mn;Bi=V.tickIncrement(Bi,po,Qt,ar)){if(On&&fo++,jn.rangebreaks&&!Qt){if(Bi=Ir)break}if(Ra.length>Cr||Bi===yo)break;yo=Bi;var yi={value:ye(Bi,Kn,po)};On?(Bi===Hi&&(yi.first=!0),so&&Bi!==(Bi|0)&&(yi.simpleLabel=!0),cr>1&&fo%cr&&(yi.skipLabel=!0),Ra.push(yi)):(yi.minor=!0,wa.push(yi))}}if(!wa||wa.length<3)bt=!1;else{var Yi=(wa[2].value-wa[1].value)*(Je?-1:1);Va(Yi,Qe.tickformat)||(bt=!1,wa=wa.slice(1))}if(!bt)yn=Ra;else{var zi=Ra.concat(wa);tr&&Ra.length&&(zi=zi.slice(1)),zi=zi.sort(function($o,wo){return $o.value-wo.value}).filter(function($o,wo,go){return wo===0||$o.value!==go[wo-1].value});var Uo=zi.map(function($o,wo){return $o.minor===void 0&&!$o.skipLabel?wo:null}).filter(function($o){return $o!==null});Uo.forEach(function($o){bt.map(function(wo){var go=$o+wo;go>=0&&go-1;mo--){if(Ra[mo].drop){Ra.splice(mo,1);continue}Ra[mo].value=on(Ra[mo].value,Qe);var Us=Qe.c2p(Ra[mo].value);(Zs?Ds>Us-qo:DsIr||rsIr&&(go.periodX=Ir),rsar&&Mrar&&Rad)Qe/=d,Yt=ar(10),it.dtick="M"+12*vr(Qe,Yt,je);else if(cr>E)Qe/=E,it.dtick="M"+vr(Qe,1,ut);else if(cr>m){if(it.dtick=vr(Qe,m,it._hasDayOfWeekBreaks?[1,2,7,14]:yt),!Jt){var tr=V.getTickFormat(it),Je=it.ticklabelmode==="period";Je&&(it._rawTick0=it.tick0),/%[uVW]/.test(tr)?it.tick0=l.dateTick0(it.calendar,2):it.tick0=l.dateTick0(it.calendar,1),Je&&(it._dowTick0=it.tick0)}}else cr>b?it.dtick=vr(Qe,b,ut):cr>_?it.dtick=vr(Qe,_,st):cr>I?it.dtick=vr(Qe,I,st):(Yt=ar(10),it.dtick=vr(Qe,Yt,je))}else if(it.type==="log"){it.tick0=0;var bt=l.simpleMap(it.range,it.r2l);if(it._isMinor&&(Qe*=1.5),Qe>.7)it.dtick=Math.ceil(Qe);else if(Math.abs(bt[1]-bt[0])<1){var qt=1.5*Math.abs((bt[1]-bt[0])/Qe);Qe=Math.abs(Math.pow(10,bt[1])-Math.pow(10,bt[0]))/qt,Yt=ar(10),it.dtick="L"+vr(Qe,Yt,je)}else it.dtick=Qe>.3?"D2":"D1"}else it.type==="category"||it.type==="multicategory"?(it.tick0=0,it.dtick=Math.ceil(Math.max(Qe,1))):oi(it)?(it.tick0=0,Yt=1,it.dtick=vr(Qe,Yt,Zt)):(it.tick0=0,Yt=ar(10),it.dtick=vr(Qe,Yt,je));if(it.dtick===0&&(it.dtick=1),!v(it.dtick)&&typeof it.dtick!="string"){var Qt=it.dtick;throw it.dtick=1,"ax.dtick error: "+String(Qt)}};function Nt(it){var Qe=it.dtick;if(it._tickexponent=0,!v(Qe)&&typeof Qe!="string"&&(Qe=1),(it.type==="category"||it.type==="multicategory")&&(it._tickround=null),it.type==="date"){var Jt=it.r2l(it.tick0),Yt=it.l2r(Jt).replace(/(^-|i)/g,""),ar=Yt.length;if(String(Qe).charAt(0)==="M")ar>10||Yt.slice(5)!=="01-01"?it._tickround="d":it._tickround=+Qe.slice(1)%12===0?"y":"m";else if(Qe>=m&&ar<=10||Qe>=m*15)it._tickround="d";else if(Qe>=_&&ar<=16||Qe>=b)it._tickround="M";else if(Qe>=I&&ar<=19||Qe>=_)it._tickround="S";else{var cr=it.l2r(Jt+Qe).replace(/^-/,"").length;it._tickround=Math.max(ar,cr)-20,it._tickround<0&&(it._tickround=4)}}else if(v(Qe)||Qe.charAt(0)==="L"){var tr=it.range.map(it.r2d||Number);v(Qe)||(Qe=Number(Qe.slice(1))),it._tickround=2-Math.floor(Math.log(Qe)/Math.LN10+.01);var Je=Math.max(Math.abs(tr[0]),Math.abs(tr[1])),bt=Math.floor(Math.log(Je)/Math.LN10+.01),qt=it.minexponent===void 0?3:it.minexponent;Math.abs(bt)>qt&&(mt(it.exponentformat)&&it.exponentformat!=="SI extended"&&!ft(bt)||mt(it.exponentformat)&&it.exponentformat==="SI extended"&&!ht(bt)?it._tickexponent=3*Math.round((bt-1)/3):it._tickexponent=bt)}else it._tickround=null}V.tickIncrement=function(it,Qe,Jt,Yt){var ar=Jt?-1:1;if(v(Qe))return l.increment(it,ar*Qe);var cr=Qe.charAt(0),tr=ar*Number(Qe.slice(1));if(cr==="M")return l.incrementMonth(it,tr,Yt);if(cr==="L")return Math.log(Math.pow(10,it)+tr)/Math.LN10;if(cr==="D"){var Je=Qe==="D2"?Pt:At,bt=it+ar*.01,qt=l.roundUp(l.mod(bt,1),Je,Jt);return Math.floor(bt)+Math.log(u.round(Math.pow(10,qt),1))/Math.LN10}throw"unrecognized dtick "+String(Qe)},V.tickFirst=function(it,Qe){var Jt=it.r2l||Number,Yt=l.simpleMap(it.range,Jt,void 0,void 0,Qe),ar=Yt[1]=0&&ri<=it._length?fn:null};if(bt&&l.isArrayOrTypedArray(it.ticktext)){var Mr=l.simpleMap(it.range,it.r2l),Xr=(Math.abs(Mr[1]-Mr[0])-(it._lBreaks||0))/1e4;for(Ir=0;Ir"+Je;else{var qt=mn(it),Qt=it._trueSide||it.side;(!qt&&Qt==="top"||qt&&Qt==="bottom")&&(tr+="
")}Qe.text=tr}function Ee(it,Qe,Jt,Yt,ar){var cr=it.dtick,tr=Qe.x,Je=it.tickformat,bt=typeof cr=="string"&&cr.charAt(0);if(ar==="never"&&(ar=""),Yt&&bt!=="L"&&(cr="L3",bt="L"),Je||bt==="L")Qe.text=_t(Math.pow(10,tr),it,ar,Yt);else if(v(cr)||bt==="D"&&(it.minorloglabels==="complete"||l.mod(tr+.01,1)<.1)){var qt;it.minorloglabels==="complete"&&!(l.mod(tr+.01,1)<.1)&&(qt=!0,Qe.fontSize*=.75);var Qt=Math.pow(10,tr).toExponential(0),br=Qt.split("e"),Ir=+br[1],Cr=Math.abs(Ir),Mr=it.exponentformat;Mr==="power"||mt(Mr)&&Mr!=="SI extended"&&ft(Ir)||mt(Mr)&&Mr==="SI extended"&&ht(Ir)?(Qe.text=br[0],Cr>0&&(Qe.text+="x10"),Qe.text==="1x10"&&(Qe.text="10"),Ir!==0&&Ir!==1&&(Qe.text+=""+(Ir>0?"":R)+Cr+""),Qe.fontSize*=1.25):(Mr==="e"||Mr==="E")&&Cr>2?Qe.text=br[0]+Mr+(Ir>0?"+":R)+Cr:(Qe.text=_t(Math.pow(10,tr),it,"","fakehover"),cr==="D1"&&it._id.charAt(0)==="y"&&(Qe.dy-=Qe.fontSize/6))}else if(bt==="D")Qe.text=it.minorloglabels==="none"?"":String(Math.round(Math.pow(10,l.mod(tr,1)))),Qe.fontSize*=.75;else throw"unrecognized dtick "+String(cr);if(it.dtick==="D1"){var Xr=String(Qe.text).charAt(0);(Xr==="0"||Xr==="1")&&(it._id.charAt(0)==="y"?Qe.dx-=Qe.fontSize/4:(Qe.dy+=Qe.fontSize/2,Qe.dx+=(it.range[1]>it.range[0]?1:-1)*Qe.fontSize*(tr<0?.5:.25)))}}function ze(it,Qe){var Jt=it._categories[Math.round(Qe.x)];Jt===void 0&&(Jt=""),Qe.text=String(Jt)}function ve(it,Qe,Jt){var Yt=Math.round(Qe.x),ar=it._categories[Yt]||[],cr=ar[1]===void 0?"":String(ar[1]),tr=ar[0]===void 0?"":String(ar[0]);Jt?Qe.text=tr+" - "+cr:(Qe.text=cr,Qe.text2=tr)}function _e(it,Qe,Jt,Yt,ar){ar==="never"?ar="":it.showexponent==="all"&&Math.abs(Qe.x/it.dtick)<1e-6&&(ar="hide"),Qe.text=_t(Qe.x,it,ar,Yt)}function Ie(it,Qe,Jt,Yt,ar){if(it.thetaunit==="radians"&&!Jt){var cr=Qe.x/180;if(cr===0)Qe.text="0";else{var tr=Be(cr);if(tr[1]>=100)Qe.text=_t(l.deg2rad(Qe.x),it,ar,Yt);else{var Je=Qe.x<0;tr[1]===1?tr[0]===1?Qe.text="\u03C0":Qe.text=tr[0]+"\u03C0":Qe.text=["",tr[0],"","\u2044","",tr[1],"","\u03C0"].join(""),Je&&(Qe.text=R+Qe.text)}}}else Qe.text=_t(Qe.x,it,ar,Yt)}function Be(it){function Qe(Je,bt){return Math.abs(Je-bt)<=1e-6}function Jt(Je,bt){return Qe(bt,0)?Je:Jt(bt,Je%bt)}function Yt(Je){for(var bt=1;!Qe(Math.round(Je*bt)/bt,Je);)bt*=10;return bt}var ar=Yt(it),cr=it*ar,tr=Math.abs(Jt(cr,ar));return[Math.round(cr/tr),Math.round(ar/tr)]}var We=["f","p","n","\u03BC","m","","k","M","G","T"],Xe=["q","r","y","z","a",...We,"P","E","Z","Y","R","Q"],mt=it=>["SI","SI extended","B"].includes(it);function ft(it){return it>14||it<-15}function ht(it){return it>32||it<-30}function gt(it,Qe){return mt(Qe)?!!(Qe==="SI extended"&&ht(it)||Qe!=="SI extended"&&ft(it)):!1}function _t(it,Qe,Jt,Yt){var ar=it<0,cr=Qe._tickround,tr=Jt||Qe.exponentformat||"B",Je=Qe._tickexponent,bt=V.getTickFormat(Qe),qt=Qe.separatethousands;if(Yt){var Qt={exponentformat:tr,minexponent:Qe.minexponent,dtick:Qe.showexponent==="none"?Qe.dtick:v(it)&&Math.abs(it)||1,range:Qe.showexponent==="none"?Qe.range.map(Qe.r2d):[0,it||1]};Nt(Qt),cr=(Number(Qt._tickround)||0)+4,Je=Qt._tickexponent,Qe.hoverformat&&(bt=Qe.hoverformat)}if(bt)return Qe._numFormat(bt)(it).replace(/-/g,R);tr==="none"&&(Je=0),it=Math.abs(it);let br=Math.pow(10,-cr)/2;if(it"+Ir+"":tr==="B"&&Je===9?it+="B":mt(tr)&&(it+=tr==="SI extended"?Xe[Je/3+10]:We[Je/3+5])}return ar?R+it:it}V.getTickFormat=function(it){var Qe;function Jt(bt){return typeof bt!="string"?bt:Number(bt.replace("M",""))*E}function Yt(bt,qt){var Qt=["L","D"];if(typeof bt==typeof qt){if(typeof bt=="number")return bt-qt;var br=Qt.indexOf(bt.charAt(0)),Ir=Qt.indexOf(qt.charAt(0));return br===Ir?Number(bt.replace(/(L|D)/g,""))-Number(qt.replace(/(L|D)/g,"")):br-Ir}else return typeof bt=="number"?1:-1}function ar(bt,qt,Qt){var br=Qt||function(Mr){return Mr},Ir=qt[0],Cr=qt[1];return(!Ir&&typeof Ir!="number"||br(Ir)<=br(bt))&&(!Cr&&typeof Cr!="number"||br(Cr)>=br(bt))}function cr(bt,qt){var Qt=qt[0]===null,br=qt[1]===null,Ir=Yt(bt,qt[0])>=0,Cr=Yt(bt,qt[1])<=0;return(Qt||Ir)&&(br||Cr)}var tr,Je;if(it.tickformatstops&&it.tickformatstops.length>0)switch(it.type){case"date":case"linear":{for(Qe=0;Qe=0&&ar.unshift(ar.splice(Qt,1).shift())}});var Je={false:{left:0,right:0}};return l.syncOrAsync(ar.map(function(bt){return function(){if(bt){var qt=V.getFromId(it,bt);Jt||(Jt={}),Jt.axShifts=Je,Jt.overlayingShiftedAx=tr;var Qt=V.drawOne(it,qt,Jt);return qt._shiftPusher&&Li(qt,qt._fullDepth||0,Je,!0),qt._r=qt.range.slice(),qt._rl=l.simpleMap(qt._r,qt.r2l),Qt}}}))},V.drawOne=function(it,Qe,Jt){Jt=Jt||{};var Yt=Jt.axShifts||{},ar=Jt.overlayingShiftedAx||[],cr,tr,Je;Qe.setScale();var bt=it._fullLayout,qt=Qe._id,Qt=qt.charAt(0),br=V.counterLetter(qt),Ir=bt._plots[Qe._mainSubplot],Cr=Qe.zerolinelayer==="above traces";if(!Ir)return;if(Qe._shiftPusher=Qe.autoshift||ar.indexOf(Qe._id)!==-1||ar.indexOf(Qe.overlaying)!==-1,Qe._shiftPusher&Qe.anchor==="free"){var Mr=Qe.linewidth/2||0;Qe.ticks==="inside"&&(Mr+=Qe.ticklen),Li(Qe,Mr,Yt,!0),Li(Qe,Qe.shift||0,Yt,!1)}(Jt.skipTitle!==!0||Qe._shift===void 0)&&(Qe._shift=$a(Qe,Yt));var Xr=Ir[Qt+"axislayer"],Ra=Qe._mainLinePosition,wa=Ra+=Qe._shift,yn=Qe._mainMirrorPosition,fn=Qe._vals=V.calcTicks(Qe),ri=[Qe.mirror,wa,yn].join("_");for(cr=0;cr0?wo.bottom-ys:0,$o))));var cu=0,Kl=0;if(Qe._shiftPusher&&(cu=Math.max($o,wo.height>0?Qo==="l"?ys-wo.left:wo.right-ys:0),Qe.title.text!==bt._dfltTitle[Qt]&&(Kl=(Qe._titleStandoff||0)+(Qe._titleScoot||0),Qo==="l"&&(Kl+=ka(Qe))),Qe._fullDepth=Math.max(cu,Kl)),Qe.automargin){go={x:0,y:0,r:0,l:0,t:0,b:0};var Wu=[0,1],Yu=typeof Qe._shift=="number"?Qe._shift:0;if(Qt==="x"){if(Qo==="b"?go[Qo]=Qe._depth:(go[Qo]=Qe._depth=Math.max(wo.width>0?ys-wo.top:0,$o),Wu.reverse()),wo.width>0){var rc=wo.right-(Qe._offset+Qe._length);rc>0&&(go.xr=1,go.r=rc);var ac=Qe._offset-wo.left;ac>0&&(go.xl=0,go.l=ac)}}else if(Qo==="l"?(Qe._depth=Math.max(wo.height>0?ys-wo.left:0,$o),go[Qo]=Qe._depth-Yu):(Qe._depth=Math.max(wo.height>0?wo.right-ys:0,$o),go[Qo]=Qe._depth+Yu,Wu.reverse()),wo.height>0){var xc=wo.bottom-(Qe._offset+Qe._length);xc>0&&(go.yb=0,go.b=xc);var Ec=Qe._offset-wo.top;Ec>0&&(go.yt=1,go.t=Ec)}go[br]=Qe.anchor==="free"?Qe.position:Qe._anchorAxis.domain[Wu[0]],Qe.title.text!==bt._dfltTitle[Qt]&&(go[Qo]+=ka(Qe)+(Qe.title.standoff||0)),Qe.mirror&&Qe.anchor!=="free"&&(rs={x:0,y:0,r:0,l:0,t:0,b:0},rs[Gl]=Qe.linewidth,Qe.mirror&&Qe.mirror!==!0&&(rs[Gl]+=$o),Qe.mirror===!0||Qe.mirror==="ticks"?rs[br]=Qe._anchorAxis.domain[Wu[1]]:(Qe.mirror==="all"||Qe.mirror==="allticks")&&(rs[br]=[Qe._counterDomainMin,Qe._counterDomainMax][Wu[1]]))}ml&&($l=S.getComponentMethod("rangeslider","autoMarginOpts")(it,Qe)),typeof Qe.automargin=="string"&&(Ft(go,Qe.automargin),Ft(rs,Qe.automargin)),w.autoMargin(it,Gn(Qe),go),w.autoMargin(it,Pn(Qe),rs),w.autoMargin(it,sn(Qe),$l)}),l.syncOrAsync(is)}};function Ft(it,Qe){if(it){var Jt=Object.keys(Y).reduce(function(Yt,ar){return Qe.indexOf(ar)!==-1&&Y[ar].forEach(function(cr){Yt[cr]=1}),Yt},{});Object.keys(it).forEach(function(Yt){Jt[Yt]||(Yt.length===1?it[Yt]=0:delete it[Yt])})}}function St(it,Qe){var Jt=[],Yt,ar=function(cr,tr){var Je=cr.xbnd[tr];Je!==null&&Jt.push(l.extendFlat({},cr,{x:Je}))};if(Qe.length){for(Yt=0;Ytit.range[1],Je=it.ticklabelposition&&it.ticklabelposition.indexOf("inside")!==-1,bt=!Je;if(Jt){var qt=tr?-1:1;Jt=Jt*qt}if(Yt){var Qt=it.side,br=Je&&(Qt==="top"||Qt==="left")||bt&&(Qt==="bottom"||Qt==="right")?1:-1;Yt=Yt*br}return it._id.charAt(0)==="x"?function(Ir){return e(ar+it._offset+it.l2p($r(Ir))+Jt,cr+Yt)}:function(Ir){return e(cr+Yt,ar+it._offset+it.l2p($r(Ir))+Jt)}};function $r(it){return it.periodX!==void 0?it.periodX:it.x}function pa(it){var Qe=it.ticklabelposition||"",Jt=it.tickson||"",Yt=function(Mr){return Qe.indexOf(Mr)!==-1},ar=Yt("top"),cr=Yt("left"),tr=Yt("right"),Je=Yt("bottom"),bt=Yt("inside"),qt=Jt!=="boundaries"&&(Je||cr||ar||tr);if(!qt&&!bt)return[0,0];var Qt=it.side,br=qt?(it.tickwidth||0)/2:0,Ir=K,Cr=it.tickfont?it.tickfont.size:12;return(Je||ar)&&(br+=Cr*ae,Ir+=(it.linewidth||0)/2),(cr||tr)&&(br+=(it.linewidth||0)/2,Ir+=K),bt&&Qt==="top"&&(Ir-=Cr*(1-ae)),(cr||ar)&&(br=-br),(Qt==="bottom"||Qt==="right")&&(Ir=-Ir),[qt?br:0,bt?Ir:0]}V.makeTickPath=function(it,Qe,Jt,Yt){Yt||(Yt={});var ar=Yt.minor;if(ar&&!it.minor)return"";var cr=Yt.len!==void 0?Yt.len:ar?it.minor.ticklen:it.ticklen,tr=it._id.charAt(0),Je=(it.linewidth||1)/2;return tr==="x"?"M0,"+(Qe+Je*Jt)+"v"+cr*Jt:"M"+(Qe+Je*Jt)+",0h"+cr*Jt},V.makeLabelFns=function(it,Qe,Jt){var Yt=it.ticklabelposition||"",ar=it.tickson||"",cr=function(Hi){return Yt.indexOf(Hi)!==-1},tr=cr("top"),Je=cr("left"),bt=cr("right"),qt=cr("bottom"),Qt=ar!=="boundaries"&&(qt||Je||tr||bt),br=cr("inside"),Ir=Yt==="inside"&&it.ticks==="inside"||!br&&it.ticks==="outside"&&ar!=="boundaries",Cr=0,Mr=0,Xr=Ir?it.ticklen:0;if(br?Xr*=-1:Qt&&(Xr=0),Ir&&(Cr+=Xr,Jt)){var Ra=l.deg2rad(Jt);Cr=Xr*Math.cos(Ra)+1,Mr=Xr*Math.sin(Ra)}it.showticklabels&&(Ir||it.showline)&&(Cr+=.2*it.tickfont.size),Cr+=(it.linewidth||1)/2*(br?-1:1);var wa={labelStandoff:Cr,labelShift:Mr},yn,fn,ri,On,ui=0,jn=it.side,oo=it._id.charAt(0),Qi=it.tickangle,Mn;if(oo==="x")Mn=!br&&jn==="bottom"||br&&jn==="top",On=Mn?1:-1,br&&(On*=-1),yn=Mr*On,fn=Qe+Cr*On,ri=Mn?1:-.2,Math.abs(Qi)===90&&(br?ri+=te:Qi===-90&&jn==="bottom"?ri=ae:Qi===90&&jn==="top"?ri=te:ri=.5,ui=te/2*(Qi/90)),wa.xFn=function(Hi){return Hi.dx+yn+ui*Hi.fontSize},wa.yFn=function(Hi){return Hi.dy+fn+Hi.fontSize*ri},wa.anchorFn=function(Hi,yo){if(Qt){if(Je)return"end";if(bt)return"start"}return!v(yo)||yo===0||yo===180?"middle":yo*On<0!==br?"end":"start"},wa.heightFn=function(Hi,yo,Bi){return yo<-60||yo>60?-.5*Bi:it.side==="top"!==br?-Bi:0};else if(oo==="y"){if(Mn=!br&&jn==="left"||br&&jn==="right",On=Mn?1:-1,br&&(On*=-1),yn=Cr,fn=Mr*On,ri=0,!br&&Math.abs(Qi)===90&&(Qi===-90&&jn==="left"||Qi===90&&jn==="right"?ri=ae:ri=.5),br){var bo=v(Qi)?+Qi:0;if(bo!==0){var so=l.deg2rad(bo);ui=Math.abs(Math.sin(so))*ae*On,ri=0}}wa.xFn=function(Hi){return Hi.dx+Qe-(yn+Hi.fontSize*ri)*On+ui*Hi.fontSize},wa.yFn=function(Hi){return Hi.dy+fn+Hi.fontSize*te},wa.anchorFn=function(Hi,yo){return v(yo)&&Math.abs(yo)===90?"middle":Mn?"end":"start"},wa.heightFn=function(Hi,yo,Bi){return it.side==="right"&&(yo*=-1),yo<-30?-Bi:yo<30?-.5*Bi:0}}return wa};function oa(it){return[it.text,it.x,it.axInfo,it.font,it.fontSize,it.fontColor].join("_")}V.drawTicks=function(it,Qe,Jt){Jt=Jt||{};var Yt=Qe._id+"tick",ar=[].concat(Qe.minor&&Qe.minor.ticks?Jt.vals.filter(function(tr){return tr.minor&&!tr.noTick}):[]).concat(Qe.ticks?Jt.vals.filter(function(tr){return!tr.minor&&!tr.noTick}):[]),cr=Jt.layer.selectAll("path."+Yt).data(ar,oa);cr.exit().remove(),cr.enter().append("path").classed(Yt,1).classed("ticks",1).classed("crisp",Jt.crisp!==!1).each(function(tr){return r.stroke(u.select(this),tr.minor?Qe.minor.tickcolor:Qe.tickcolor)}).style("stroke-width",function(tr){return n.crispRound(it,tr.minor?Qe.minor.tickwidth:Qe.tickwidth,1)+"px"}).attr("d",Jt.path).style("display",null),bi(Qe,[O]),cr.attr("transform",Jt.transFn)},V.drawGrid=function(it,Qe,Jt){if(Jt=Jt||{},Qe.tickmode!=="sync"){var Yt=Qe._id+"grid",ar=Qe.minor&&Qe.minor.showgrid,cr=ar?Jt.vals.filter(function(wa){return wa.minor}):[],tr=Qe.showgrid?Jt.vals.filter(function(wa){return!wa.minor}):[],Je=Jt.counterAxis;if(Je&&V.shouldShowZeroLine(it,Qe,Je))for(var bt=Qe.tickmode==="array",qt=0;qt=0;Mr--){var Xr=Mr?Ir:Cr;if(Xr){var Ra=Xr.selectAll("path."+Yt).data(Mr?tr:cr,oa);Ra.exit().remove(),Ra.enter().append("path").classed(Yt,1).classed("crisp",Jt.crisp!==!1),Ra.attr("transform",Jt.transFn).attr("d",Jt.path).each(function(wa){return r.stroke(u.select(this),wa.minor?Qe.minor.gridcolor:Qe.gridcolor||"#ddd")}).style("stroke-dasharray",function(wa){return n.dashStyle(wa.minor?Qe.minor.griddash:Qe.griddash,wa.minor?Qe.minor.gridwidth:Qe.gridwidth)}).style("stroke-width",function(wa){return(wa.minor?br:Qe._gw)+"px"}).style("display",null),typeof Jt.path=="function"&&Ra.attr("d",Jt.path)}}bi(Qe,[k,B])}},V.drawZeroLine=function(it,Qe,Jt){Jt=Jt||Jt;var Yt=Qe._id+"zl",ar=V.shouldShowZeroLine(it,Qe,Jt.counterAxis),cr=Jt.layer.selectAll("path."+Yt).data(ar?[{x:0,id:Qe._id}]:[]);cr.exit().remove(),cr.enter().append("path").classed(Yt,1).classed("zl",1).classed("crisp",Jt.crisp!==!1).each(function(){Jt.layer.selectAll("path").sort(function(tr,Je){return Z(tr.id,Je.id)})}),cr.attr("transform",Jt.transFn).attr("d",Jt.path).call(r.stroke,Qe.zerolinecolor||r.defaultLine).style("stroke-width",n.crispRound(it,Qe.zerolinewidth,Qe._gw||1)+"px").style("display",null),bi(Qe,[D])},V.drawLabels=function(it,Qe,Jt){Jt=Jt||{};var Yt=it._fullLayout,ar=Qe._id,cr=Qe.zerolinelayer==="above traces",tr=Jt.cls||ar+"tick",Je=Jt.vals.filter(function(Kn){return Kn.text}),bt=Jt.labelFns,qt=Jt.secondary?0:Qe.tickangle,Qt=(Qe._prevTickAngles||{})[tr],br=Jt.layer.selectAll("g."+tr).data(Qe.showticklabels?Je:[],oa),Ir=[];br.enter().append("g").classed(tr,1).append("text").attr("text-anchor","middle").each(function(Kn){var yi=u.select(this),Yi=it._promises.length;yi.call(t.positionText,bt.xFn(Kn),bt.yFn(Kn)).call(n.font,{family:Kn.font,size:Kn.fontSize,color:Kn.fontColor,weight:Kn.fontWeight,style:Kn.fontStyle,variant:Kn.fontVariant,textcase:Kn.fontTextcase,lineposition:Kn.fontLineposition,shadow:Kn.fontShadow}).text(Kn.text).call(t.convertToTspans,it),it._promises[Yi]?Ir.push(it._promises.pop().then(function(){Cr(yi,qt)})):Cr(yi,qt)}),bi(Qe,[q]),br.exit().remove(),Jt.repositionOnUpdate&&br.each(function(Kn){u.select(this).select("text").call(t.positionText,bt.xFn(Kn),bt.yFn(Kn))});function Cr(Kn,yi){Kn.each(function(Yi){var zi=u.select(this),Uo=zi.select(".text-math-group"),Co=bt.anchorFn(Yi,yi),Wo=Jt.transFn.call(zi.node(),Yi)+(v(yi)&&+yi!=0?" rotate("+yi+","+bt.xFn(Yi)+","+(bt.yFn(Yi)-Yi.fontSize/2)+")":""),Go=t.lineCount(zi),ns=U*Yi.fontSize,Ro=bt.heightFn(Yi,v(yi)?+yi:0,(Go-1)*ns);if(Ro&&(Wo+=e(0,Ro)),Uo.empty()){var Zi=zi.select("text");Zi.attr({transform:Wo,"text-anchor":Co}),Zi.style("display",null),Qe._adjustTickLabelsOverflow&&Qe._adjustTickLabelsOverflow()}else{var ls=n.bBox(Uo.node()).width,Eo=ls*{end:-.5,start:.5}[Co];Uo.attr("transform",Wo+e(Eo,0))}})}Qe._adjustTickLabelsOverflow=function(){var Kn=Qe.ticklabeloverflow;if(!(!Kn||Kn==="allow")){var yi=Kn.indexOf("hide")!==-1,Yi=Qe._id.charAt(0)==="x",zi=0,Uo=Yi?it._fullLayout.width:it._fullLayout.height;if(Kn.indexOf("domain")!==-1){var Co=l.simpleMap(Qe.range,Qe.r2l);zi=Qe.l2p(Co[0])+Qe._offset,Uo=Qe.l2p(Co[1])+Qe._offset}var Wo=Math.min(zi,Uo),Go=Math.max(zi,Uo),ns=Qe.side,Ro=1/0,Zi=-1/0;br.each(function(Zs){var qo=u.select(this),Ds=qo.select(".text-math-group");if(Ds.empty()){var Us=n.bBox(qo.node()),is=0;Yi?(Us.right>Go||Us.leftGo||Us.top+(Qe.tickangle?0:Zs.fontSize/4)Qe["_visibleLabelMin_"+Co._id]?qo.style("display","none"):Go.K==="tick"&&!Wo&&qo.node().style.display!=="none"&&qo.style("display",null)})})})})},Cr(br,Qt+1?Qt:qt);function Mr(){return Ir.length&&Promise.all(Ir)}var Xr=null;function Ra(){if(Cr(br,qt),Je.length&&Qe.autotickangles&&(Qe.type!=="log"||String(Qe.dtick).charAt(0)!=="D")){Xr=Qe.autotickangles[0];var Kn=0,yi=[],Yi,zi=1;br.each(function(go){Kn=Math.max(Kn,go.fontSize);var rs=Qe.l2p(go.x),$l=xa(this),cu=n.bBox($l.node());zi=Math.max(zi,t.lineCount($l)),yi.push({top:0,bottom:10,height:10,left:rs-cu.width/2,right:rs+cu.width/2+2,width:cu.width+2})});var Uo=(Qe.tickson==="boundaries"||Qe.showdividers)&&!Jt.secondary,Co=Je.length,Wo=Math.abs((Je[Co-1].x-Je[0].x)*Qe._m)/(Co-1),Go=Uo?Wo/2:Wo,ns=Uo?Qe.ticklen:Kn*1.25*zi,Ro=Math.sqrt(Math.pow(Go,2)+Math.pow(ns,2)),Zi=Go/Ro,ls=Qe.autotickangles.map(function(go){return go*Math.PI/180}),Eo=ls.find(function(go){return Math.abs(Math.cos(go))<=Zi});Eo===void 0&&(Eo=ls.reduce(function(go,rs){return Math.abs(Math.cos(go))fo*Bi&&(so=Bi,Qi[oo]=Mn[oo]=Hi[oo])}var Po=Math.abs(so-bo);Po-On>0?(Po-=On,On*=1+On/Po):On=0,Qe._id.charAt(0)!=="y"&&(On=-On),Qi[jn]=fn.p2r(fn.r2p(Mn[jn])+ui*On),fn.autorange==="min"||fn.autorange==="max reversed"?(Qi[0]=null,fn._rangeInitial0=void 0,fn._rangeInitial1=void 0):(fn.autorange==="max"||fn.autorange==="min reversed")&&(Qi[1]=null,fn._rangeInitial0=void 0,fn._rangeInitial1=void 0),Yt._insideTickLabelsUpdaterange[fn._name+".range"]=Qi}var po=l.syncOrAsync(wa);return po&&po.then&&it._promises.push(po),po};function aa(it,Qe,Jt){var Yt=Qe._id+"divider",ar=Jt.vals,cr=Jt.layer.selectAll("path."+Yt).data(ar,oa);cr.exit().remove(),cr.enter().insert("path",":first-child").classed(Yt,1).classed("crisp",1).call(r.stroke,Qe.dividercolor).style("stroke-width",n.crispRound(it,Qe.dividerwidth,1)+"px"),cr.attr("transform",Jt.transFn).attr("d",Jt.path)}V.getPxPosition=function(it,Qe){var Jt=it._fullLayout._size,Yt=Qe._id.charAt(0),ar=Qe.side,cr;if(Qe.anchor!=="free"?cr=Qe._anchorAxis:Yt==="x"?cr={_offset:Jt.t+(1-(Qe.position||0))*Jt.h,_length:0}:Yt==="y"&&(cr={_offset:Jt.l+(Qe.position||0)*Jt.w+Qe._shift,_length:0}),ar==="top"||ar==="left")return cr._offset;if(ar==="bottom"||ar==="right")return cr._offset+cr._length};function ka(it){var Qe=it.title.font.size,Jt=(it.title.text.match(t.BR_TAG_ALL)||[]).length;return it.title.hasOwnProperty("standoff")?Qe*(ae+Jt*U):Jt?Qe*(Jt+1)*U:Qe}function Ta(it,Qe){var Jt=it._fullLayout,Yt=Qe._id,ar=Yt.charAt(0),cr=Qe.title.font.size,tr,Je=(Qe.title.text.match(t.BR_TAG_ALL)||[]).length;if(Qe.title.hasOwnProperty("standoff"))Qe.side==="bottom"||Qe.side==="right"?tr=Qe._depth+Qe.title.standoff+cr*ae:(Qe.side==="top"||Qe.side==="left")&&(tr=Qe._depth+Qe.title.standoff+cr*(te+Je*U));else{var bt=mn(Qe);if(Qe.type==="multicategory")tr=Qe._depth;else{var qt=1.5*cr;bt&&(qt=.5*cr,Qe.ticks==="outside"&&(qt+=Qe.ticklen)),tr=10+qt+(Qe.linewidth?Qe.linewidth-1:0)}bt||(ar==="x"?tr+=Qe.side==="top"?cr*(Qe.showticklabels?1:0):cr*(Qe.showticklabels?1.5:.5):tr+=Qe.side==="right"?cr*(Qe.showticklabels?1:.5):cr*(Qe.showticklabels?.5:0))}var Qt=V.getPxPosition(it,Qe),br,Ir,Cr;ar==="x"?(Ir=Qe._offset+Qe._length/2,Cr=Qe.side==="top"?Qt-tr:Qt+tr):(Cr=Qe._offset+Qe._length/2,Ir=Qe.side==="right"?Qt+tr:Qt-tr,br={rotate:"-90",offset:0});var Mr;if(Qe.type!=="multicategory"){var Xr=Qe._selections[Qe._id+"tick"];if(Mr={selection:Xr,side:Qe.side},Xr&&Xr.node()&&Xr.node().parentNode){var Ra=n.getTranslate(Xr.node().parentNode);Mr.offsetLeft=Ra.x,Mr.offsetTop=Ra.y}Qe.title.hasOwnProperty("standoff")&&(Mr.pad=0)}return Qe._titleStandoff=tr,a.draw(it,Yt+"title",{propContainer:Qe,propName:Qe._name+".title.text",placeholder:Jt._dfltTitle[ar],avoid:Mr,transform:br,attributes:{x:Ir,y:Cr,"text-anchor":"middle"}})}V.shouldShowZeroLine=function(it,Qe,Jt){var Yt=l.simpleMap(Qe.range,Qe.r2l);return Yt[0]*Yt[1]<=0&&Qe.zeroline&&(Qe.type==="linear"||Qe.type==="-")&&!(Qe.rangebreaks&&Qe.maskBreaks(0)===z)&&(Da(Qe,0)||!La(it,Qe,Jt,Yt)||Ga(it,Qe))},V.clipEnds=function(it,Qe){return Qe.filter(function(Jt){return Da(it,Jt.x)})};function Da(it,Qe){var Jt=it.l2p(Qe);return Jt>1&&Jt1)for(ar=1;ar=ar.min&&it=F:/%L/.test(Qe)?it>=C:/%[SX]/.test(Qe)?it>=I:/%M/.test(Qe)?it>=_:/%[HI]/.test(Qe)?it>=b:/%p/.test(Qe)?it>=h:/%[Aadejuwx]/.test(Qe)?it>=m:/%[UVW]/.test(Qe)?it>=A:/%[Bbm]/.test(Qe)?it>=g:/%[q]/.test(Qe)?it>=M:/%[Yy]/.test(Qe)?it>=y:!0}}}),z3=De({"src/plots/cartesian/autorange_options_defaults.js"(j,N){"use strict";N.exports=function(v,w,S){var l,e;if(S){var t=w==="reversed"||w==="min reversed"||w==="max reversed";l=S[t?1:0],e=S[t?0:1]}var a=v("autorangeoptions.minallowed",e===null?l:void 0),r=v("autorangeoptions.maxallowed",l===null?e:void 0);a===void 0&&v("autorangeoptions.clipmin"),r===void 0&&v("autorangeoptions.clipmax"),v("autorangeoptions.include")}}}),B3=De({"src/plots/cartesian/range_defaults.js"(j,N){"use strict";var u=z3();N.exports=function(w,S,l,e){var t=S._template||{},a=S.type||t.type||"-";l("minallowed"),l("maxallowed");var r=l("range");if(!r){var n;!e.noInsiderange&&a!=="log"&&(n=l("insiderange"),n&&(n[0]===null||n[1]===null)&&(S.insiderange=!1,n=void 0),n&&(r=l("range",n)))}var i=S.getAutorangeDflt(r,e),s=l("autorange",i),c;r&&(r[0]===null&&r[1]===null||(r[0]===null||r[1]===null)&&(s==="reversed"||s===!0)||r[0]!==null&&(s==="min"||s==="max reversed")||r[1]!==null&&(s==="max"||s==="min reversed"))&&(r=void 0,delete S.range,S.autorange=!0,c=!0),c||(i=S.getAutorangeDflt(r,e),s=l("autorange",i)),s&&(u(l,s,r),(a==="linear"||a==="-")&&l("rangemode")),S.cleanRange()}}}),HP=De({"node_modules/mouse-event-offset/index.js"(j,N){var u={left:0,top:0};N.exports=v;function v(S,l,e){l=l||S.currentTarget||S.srcElement,Array.isArray(e)||(e=[0,0]);var t=S.clientX||0,a=S.clientY||0,r=w(l);return e[0]=t-r.left,e[1]=a-r.top,e}function w(S){return S===window||S===document||S===document.body?u:S.getBoundingClientRect()}}}),H_=De({"node_modules/has-passive-events/index.js"(j,N){"use strict";var u=k3();function v(){var w=!1;try{var S=Object.defineProperty({},"passive",{get:function(){w=!0}});window.addEventListener("test",null,S),window.removeEventListener("test",null,S)}catch{w=!1}return w}N.exports=u&&v()}}),WP=De({"src/components/dragelement/align.js"(j,N){"use strict";N.exports=function(v,w,S,l,e){var t=(v-S)/(l-S),a=t+w/(l-S),r=(t+a)/2;return e==="left"||e==="bottom"?t:e==="center"||e==="middle"?r:e==="right"||e==="top"?a:t<2/3-r?t:a>4/3-r?a:r}}}),YP=De({"src/components/dragelement/cursor.js"(j,N){"use strict";var u=Ar(),v=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];N.exports=function(S,l,e,t){return e==="left"?S=0:e==="center"?S=1:e==="right"?S=2:S=u.constrain(Math.floor(S*3),0,2),t==="bottom"?l=0:t==="middle"?l=1:t==="top"?l=2:l=u.constrain(Math.floor(l*3),0,2),v[l][S]}}}),XP=De({"src/components/dragelement/unhover.js"(j,N){"use strict";var u=cm(),v=q_(),w=_1().getGraphDiv,S=p1(),l=N.exports={};l.wrapped=function(e,t,a){e=w(e),e._fullLayout&&v.clear(e._fullLayout._uid+S.HOVERID),l.raw(e,t,a)},l.raw=function(t,a){var r=t._fullLayout,n=t._hoverdata;a||(a={}),!(a.target&&!t._dragged&&u.triggerHandler(t,"plotly_beforehover",a)===!1)&&(r._hoverlayer.selectAll("g").remove(),r._hoverlayer.selectAll("line").remove(),r._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,a.target&&n&&t.emit("plotly_unhover",{event:a,points:n}))}}}),dh=De({"src/components/dragelement/index.js"(j,N){"use strict";var u=HP(),v=C3(),w=H_(),S=Ar().removeElement,l=gc(),e=N.exports={};e.align=WP(),e.getCursor=YP();var t=XP();e.unhover=t.wrapped,e.unhoverRaw=t.raw,e.init=function(i){var s=i.gd,c=1,p=s._context.doubleClickDelay,f=i.element,d,y,o,x,M,T,E,g;s._mouseDownTime||(s._mouseDownTime=0),f.style.pointerEvents="all",f.onmousedown=h,w?(f._ontouchstart&&f.removeEventListener("touchstart",f._ontouchstart),f._ontouchstart=h,f.addEventListener("touchstart",h,{passive:!1})):f.ontouchstart=h;function A(I,C,F){return Math.abs(I)"u"&&typeof I.clientY>"u"&&(I.clientX=d,I.clientY=y),o=new Date().getTime(),o-s._mouseDownTimep&&(c=Math.max(c-1,1)),s._dragged)i.doneFn&&i.doneFn();else{var C;T.target===E?C=T:(C={target:E,srcElement:E,toElement:E},Object.keys(T).concat(Object.keys(T.__proto__)).forEach(F=>{var R=T[F];!C[F]&&typeof R!="function"&&(C[F]=R)})),i.clickFn&&i.clickFn(c,C),g||E.dispatchEvent(new MouseEvent("click",I))}s._dragging=!1,s._dragged=!1}};function a(){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}e.coverSlip=a;function r(n){return u(n.changedTouches?n.changedTouches[0]:n,document.body)}}}),ld=De({"src/lib/setcursor.js"(j,N){"use strict";N.exports=function(v,w){(v.attr("class")||"").split(" ").forEach(function(S){S.indexOf("cursor-")===0&&v.classed(S,!1)}),w&&v.classed("cursor-"+w,!0)}}}),ZP=De({"src/lib/override_cursor.js"(j,N){"use strict";var u=ld(),v="data-savedcursor",w="!!";N.exports=function(l,e){var t=l.attr(v);if(e){if(!t){for(var a=(l.attr("class")||"").split(" "),r=0;rH.legend.length)for(var $=H.legend.length;$(r==="legend"?1:0));if(F===!1&&(i[r]=void 0),!(F===!1&&!p.uirevision)&&(d("uirevision",i.uirevision),F!==!1)){d("borderwidth");var R=d("orientation"),z=d("yref"),D=d("xref"),k=R==="h",B=z==="paper",O=D==="paper",q,Y,ee,te="left";k?(q=0,u.getComponentMethod("rangeslider","isVisible")(n.xaxis)?B?(Y=1.1,ee="bottom"):(Y=1,ee="top"):B?(Y=-.1,ee="top"):(Y=0,ee="bottom")):(Y=1,ee="auto",O?q=1.02:(q=1,te="right")),v.coerce(p,f,{x:{valType:"number",editType:"legend",min:O?-2:0,max:O?3:1,dflt:q}},"x"),v.coerce(p,f,{y:{valType:"number",editType:"legend",min:B?-2:0,max:B?3:1,dflt:Y}},"y"),d("traceorder",m),t.isGrouped(i[r])&&d("tracegroupgap"),d("entrywidth"),d("entrywidthmode"),d("indentation"),d("itemsizing"),d("itemwidth"),d("itemclick"),d("itemdoubleclick"),d("groupclick"),d("xanchor",te),d("yanchor",ee),d("maxheight"),d("valign"),v.noneOrAll(p,f,["x","y"]);var ae=d("title.text");if(ae){d("title.side",k?"left":"top");var U=v.extendFlat({},y,{size:v.bigFont(y.size)});v.coerceFont(d,"title.font",U);let H=c>1;d("titleclick",H?"toggle":!1),d("titledoubleclick",H?"toggleothers":!1)}}}N.exports=function(n,i,s){var c,p=s.slice(),f=i.shapes;if(f)for(c=0;cqe.showlegend||qe.legendgroup);var y=f.concat(d),o=i.trace;o._isShape&&(o=n.shapes[o.index]);var x=o.legendgroup,M,T,E,g,A,m,h={},b=[],_=[],I=[];function C(qe,Ue){var xe=b.indexOf(qe),he=h.visible;return he||(he=h.visible=[]),b.indexOf(qe)===-1&&(b.push(qe),xe=b.length-1),he[xe]=Ue,xe}var F=(n.shapes||[]).map(function(qe){return qe._input}),R=!1;function z(qe,Ue){F[qe].visible=Ue,R=!0}function D(qe,Ue){if(!(i.groupTitle&&!c)){var xe=qe._isShape,he=qe.index;he===void 0&&(he=qe._index);var oe=qe.visible===!1?!1:Ue;xe?z(he,oe):C(he,oe)}}var k=o.legend;if(!o._isShape&&N.traceIs(o,"pie-like")){var B=i.label,O=p.indexOf(B);if(r==="toggle")O===-1?p.push(B):p.splice(O,1);else if(r==="toggleothers"){var q=O!==-1,Y=[];for(M=0;ME.showlegend||E.legendgroup),c=n.concat(s);function p(E){return(E.legend||"legend")===i}var f,d;if(a==="toggle")f=!c.some(function(g){return p(g)&&g.visible===!0}),d=!1;else{let E=c.some(function(g){return!p(g)&&g.visible===!0&&g.showlegend!==!1});f=!0,d=!E}let y={visible:[]},o=[],x=(r.shapes||[]).map(function(E){return E._input});for(var M=!1,T=0;Tz&&(F=z)}I[y][0]._groupMinRank=F,I[y][0]._preGroupSort=y}var D=function(ee,te){return ee[0]._groupMinRank-te[0]._groupMinRank||ee[0]._preGroupSort-te[0]._preGroupSort},k=function(ee,te){var ae=u(ee.trace.legendrank)?ee.trace.legendrank[ee.i]:ee.trace.legendrank,U=u(te.trace.legendrank)?te.trace.legendrank[te.i]:te.trace.legendrank;return ae-U||ee._preSort-te._preSort};for(I.forEach(function(ee,te){ee[0]._preGroupSort=te}),I.sort(D),y=0;y0)$=H.width;else return 0;return m?V:Math.min($,K)};T.each(function(U){var H=u.select(this),K=w.ensureSingle(H,"g","layers");K.style("opacity",U[0].trace.opacity);var V=g.indentation,$=g.valign,X=U[0].lineHeight,Z=U[0].height;if($==="middle"&&V===0||!X||!Z)K.attr("transform",null);else{var Q={top:1,bottom:-1}[$],re=Q*(.5*(X-Z+3))||0,ce=g.indentation;K.attr("transform",S(ce,re))}var me=K.selectAll("g.legendfill").data([U]);me.enter().append("g").classed("legendfill",!0);var ye=K.selectAll("g.legendlines").data([U]);ye.enter().append("g").classed("legendlines",!0);var Ae=K.selectAll("g.legendsymbols").data([U]);Ae.enter().append("g").classed("legendsymbols",!0),Ae.selectAll("g.legendpoints").data([U]).enter().append("g").classed("legendpoints",!0)}).each(ae).each(R).each(D).each(z).each(B).each(ee).each(Y).each(C).each(F).each(O).each(q);function C(U){var H=o(U),K=H.showFill,V=H.showLine,$=H.showGradientLine,X=H.showGradientFill,Z=H.anyFill,Q=H.anyLine,re=U[0],ce=re.trace,me,ye,Ae=t(ce),Se=Ae.colorscale,Ce=Ae.reversescale,qe=function(be){if(be.size())if(K)l.fillGroupStyle(be,E,!0);else{var Fe="legendfill-"+ce.uid;l.gradient(be,E,Fe,y(Ce),Se,"fill")}},Ue=function(be){if(be.size()){var Fe="legendline-"+ce.uid;l.lineGroupStyle(be),l.gradient(be,E,Fe,y(Ce),Se,"stroke")}},xe=a.hasMarkers(ce)||!Z?"M5,0":Q?"M5,-2":"M5,-3",he=u.select(this),oe=he.select(".legendfill").selectAll("path").data(K||X?[U]:[]);if(oe.enter().append("path").classed("js-fill",!0),oe.exit().remove(),oe.attr("d",xe+"h"+h+"v6h-"+h+"z").call(qe),V||$){var le=I(void 0,ce.line,f,c);ye=w.minExtend(ce,{line:{width:le}}),me=[w.minExtend(re,{trace:ye})]}var ne=he.select(".legendlines").selectAll("path").data(V||$?[me]:[]);ne.enter().append("path").classed("js-line",!0),ne.exit().remove(),ne.attr("d",xe+($?"l"+h+",0.0001":"h"+h)).call(V?l.lineGroupStyle:Ue)}function F(U){var H=o(U),K=H.anyFill,V=H.anyLine,$=H.showLine,X=H.showMarker,Z=U[0],Q=Z.trace,re=!X&&!V&&!K&&a.hasText(Q),ce,me;function ye(le,ne,be,Fe){var Ve=w.nestedProperty(Q,le).get(),je=w.isArrayOrTypedArray(Ve)&&ne?ne(Ve):Ve;if(m&&je&&Fe!==void 0&&(je=Fe),be){if(jebe[1])return be[1]}return je}function Ae(le){return Z._distinct&&Z.index&&le[Z.index]?le[Z.index]:le[0]}if(X||re||$){var Se={},Ce={};if(X){Se.mc=ye("marker.color",Ae);var qe=Q.type==="scattermap";Se.mx=qe?"circle":ye("marker.symbol",Ae),Se.mo=ye("marker.opacity",w.mean,[.2,1]),Se.mlc=ye("marker.line.color",Ae),Se.mlw=ye("marker.line.width",w.mean,[0,5],p),Se.mld=ye("marker.line.dash",Ae),Ce.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var Ue=ye("marker.size",w.mean,[2,16],s);Se.ms=Ue,Ce.marker.size=Ue}$&&(Ce.line={width:ye("line.width",Ae,[0,10],c)}),re&&(Se.tx="Aa",Se.tp=ye("textposition",Ae),Se.ts=10,Se.tc=ye("textfont.color",Ae),Se.tf=ye("textfont.family",Ae),Se.tw=ye("textfont.weight",Ae),Se.ty=ye("textfont.style",Ae),Se.tv=ye("textfont.variant",Ae),Se.tC=ye("textfont.textcase",Ae),Se.tE=ye("textfont.lineposition",Ae),Se.tS=ye("textfont.shadow",Ae)),ce=[w.minExtend(Z,Se)],me=w.minExtend(Q,Ce),me.selectedpoints=null,me.texttemplate=null}var xe=u.select(this).select("g.legendpoints"),he=xe.selectAll("path.scatterpts").data(X?ce:[]);he.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",_),he.exit().remove(),he.call(l.pointStyle,me,E),X&&(ce[0].mrc=3);var oe=xe.selectAll("g.pointtext").data(re?ce:[]);oe.enter().append("g").classed("pointtext",!0).append("text").attr("transform",_),oe.exit().remove(),oe.selectAll("text").call(l.textPointStyle,me,E)}function R(U){var H=U[0].trace,K=H.type==="waterfall";if(U[0]._distinct&&K){var V=U[0].trace[U[0].dir].marker;return U[0].mc=V.color,U[0].mlw=V.line.width,U[0].mlc=V.line.color,k(U,this,"waterfall")}var $=[];H.visible&&K&&($=U[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 X=u.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data($);X.enter().append("path").classed("legendwaterfall",!0).attr("transform",_).style("stroke-miterlimit",1),X.exit().remove(),X.each(function(Z){var Q=u.select(this),re=H[Z[0]].marker,ce=I(void 0,re.line,d,p);Q.attr("d",Z[1]).style("stroke-width",ce+"px").call(e.fill,re.color),ce&&Q.call(e.stroke,re.line.color)})}function z(U){k(U,this)}function D(U){k(U,this,"funnel")}function k(U,H,K){var V=U[0].trace,$=V.marker||{},X=$.line||{},Z=$.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=K?V.visible&&V.type===K:v.traceIs(V,"bar"),re=u.select(H).select("g.legendpoints").selectAll("path.legend"+K).data(Q?[U]:[]);re.enter().append("path").classed("legend"+K,!0).attr("d",Z).attr("transform",_),re.exit().remove(),re.each(function(ce){var me=u.select(this),ye=ce[0],Ae=I(ye.mlw,$.line,d,p);me.style("stroke-width",Ae+"px");var Se=ye.mcc;if(!g._inHover&&"mc"in ye){var Ce=t($),qe=Ce.mid;qe===void 0&&(qe=(Ce.max+Ce.min)/2),Se=l.tryColorscale($,"")(qe)}var Ue=Se||ye.mc||$.color,xe=$.pattern,he=l.getPatternAttr,oe=xe&&(he(xe.shape,0,"")||he(xe.path,0,""));if(oe){var le=he(xe.bgcolor,0,null),ne=he(xe.fgcolor,0,null),be=xe.fgopacity,Fe=x(xe.size,8,10),Ve=x(xe.solidity,.5,1),je="legend-"+V.uid;me.call(l.pattern,"legend",E,je,oe,Fe,Ve,Se,xe.fillmode,le,ne,be)}else me.call(e.fill,Ue);Ae&&e.stroke(me,ye.mlc||X.color)})}function B(U){var H=U[0].trace,K=u.select(this).select("g.legendpoints").selectAll("path.legendbox").data(H.visible&&v.traceIs(H,"box-violin")?[U]:[]);K.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),K.exit().remove(),K.each(function(){var V=u.select(this);if((H.boxpoints==="all"||H.points==="all")&&e.opacity(H.fillcolor)===0&&e.opacity((H.line||{}).color)===0){var $=w.minExtend(H,{marker:{size:m?s:w.constrain(H.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});K.call(l.pointStyle,$,E)}else{var X=I(void 0,H.line,d,p);V.style("stroke-width",X+"px").call(e.fill,H.fillcolor),X&&e.stroke(V,H.line.color)}})}function O(U){var H=U[0].trace,K=u.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(H.visible&&H.type==="candlestick"?[U,U]:[]);K.enter().append("path").classed("legendcandle",!0).attr("d",function(V,$){return $?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"}).attr("transform",_).style("stroke-miterlimit",1),K.exit().remove(),K.each(function(V,$){var X=u.select(this),Z=H[$?"increasing":"decreasing"],Q=I(void 0,Z.line,d,p);X.style("stroke-width",Q+"px").call(e.fill,Z.fillcolor),Q&&e.stroke(X,Z.line.color)})}function q(U){var H=U[0].trace,K=u.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(H.visible&&H.type==="ohlc"?[U,U]:[]);K.enter().append("path").classed("legendohlc",!0).attr("d",function(V,$){return $?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"}).attr("transform",_).style("stroke-miterlimit",1),K.exit().remove(),K.each(function(V,$){var X=u.select(this),Z=H[$?"increasing":"decreasing"],Q=I(void 0,Z.line,d,p);X.style("fill","none").call(l.dashLine,Z.line.dash,Q),Q&&e.stroke(X,Z.line.color)})}function Y(U){te(U,this,"pie")}function ee(U){te(U,this,"funnelarea")}function te(U,H,K){var V=U[0],$=V.trace,X=K?$.visible&&$.type===K:v.traceIs($,K),Z=u.select(H).select("g.legendpoints").selectAll("path.legend"+K).data(X?[U]:[]);if(Z.enter().append("path").classed("legend"+K,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),Z.exit().remove(),Z.size()){var Q=$.marker||{},re=I(n(Q.line.width,V.pts),Q.line,d,p),ce="pieLike",me=w.minExtend($,{marker:{line:{width:re}}},ce),ye=w.minExtend(V,{trace:me},ce);r(Z,ye,me,E)}}function ae(U){var H=U[0].trace,K,V=[];if(H.visible)switch(H.type){case"histogram2d":case"heatmap":V=[["M-15,-2V4H15V-2Z"]],K=!0;break;case"choropleth":case"choroplethmap":V=[["M-6,-6V6H6V-6Z"]],K=!0;break;case"densitymap":V=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],K="radial";break;case"cone":V=[["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"]],K=!1;break;case"streamtube":V=[["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"]],K=!1;break;case"surface":V=[["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"]],K=!0;break;case"mesh3d":V=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],K=!1;break;case"volume":V=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],K=!0;break;case"isosurface":V=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],K=!1;break}var $=u.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(V);$.enter().append("path").classed("legend3dandfriends",!0).attr("transform",_).style("stroke-miterlimit",1),$.exit().remove(),$.each(function(X,Z){var Q=u.select(this),re=t(H),ce=re.colorscale,me=re.reversescale,ye=function(qe){if(qe.size()){var Ue="legendfill-"+H.uid;l.gradient(qe,E,Ue,y(me,K==="radial"),ce,"fill")}},Ae;if(ce){if(!K){var Ce=ce.length;Ae=Z===0?ce[me?Ce-1:0][1]:Z===1?ce[me?0:Ce-1][1]:ce[Math.floor((Ce-1)/2)][1]}}else{var Se=H.vertexcolor||H.facecolor||H.color;Ae=w.isArrayOrTypedArray(Se)?Se[Z]||Se[0]:Se}Q.attr("d",X[0]),Ae?Q.call(e.fill,Ae):Q.call(ye)})}};function y(M,T){var E=T?"radial":"horizontal";return E+(M?"":"reversed")}function o(M){var T=M[0].trace,E=T.contours,g=a.hasLines(T)||T.visible&&T.type==="quiver",A=a.hasMarkers(T),m=T.visible&&T.fill&&T.fill!=="none",h=!1,b=!1;if(E){var _=E.coloring;_==="lines"?h=!0:g=_==="none"||_==="heatmap"||E.showlines,E.type==="constraint"?m=E._operation!=="=":(_==="fill"||_==="heatmap")&&(b=!0)}return{showMarker:A,showLine:g,showFill:m,showGradientLine:h,showGradientFill:b,anyLine:g||h,anyFill:m||b}}function x(M,T,E){return M&&w.isArrayOrTypedArray(M)?T:M>E?E:M}}}),G3=De({"src/components/legend/draw.js"(j,N){"use strict";var u=Qn(),v=Ar(),w=Il(),S=hi(),l=cm(),e=dh(),t=Ki(),a=ii(),r=Xs(),n=j3().handleItemClick,i=j3().handleTitleClick,s=U3(),c=yc(),p=c.LINE_SPACING,f=c.FROM_TL,d=c.FROM_BR,y=$P(),o=q3(),x=T1(),M=1,T=/^legend[0-9]*$/;N.exports=function(q,Y){if(Y)g(q,Y);else{var ee=q._fullLayout,te=ee._legends,ae=ee._infolayer.selectAll('[class^="legend"]');ae.each(function(){var V=u.select(this),$=V.attr("class"),X=$.split(" ")[0];X.match(T)&&te.indexOf(X)===-1&&V.remove()});for(var U=0;U1)}var re=ee.hiddenlabels||[];if(!H&&(!ee.showlegend||!K.length))return U.selectAll("."+te).remove(),ee._topdefs.select("#"+ae).remove(),w.autoMargin(O,te);var ce=v.ensureSingle(U,"g",te,function(he){H||he.attr("pointer-events","all")}),me=v.ensureSingleById(ee._topdefs,"clipPath",ae,function(he){he.append("rect")}),ye=v.ensureSingle(ce,"rect","bg",function(he){he.attr("shape-rendering","crispEdges")});ye.call(a.stroke,Y.bordercolor).call(a.fill,Y.bgcolor).style("stroke-width",Y.borderwidth+"px");var Ae=v.ensureSingle(ce,"g","scrollbox"),Se=Y.title;Y._titleWidth=0,Y._titleHeight=0;var Ce;Se.text?(Ce=v.ensureSingle(Ae,"text",te+"titletext"),Ce.attr("text-anchor","start").call(t.font,Se.font).text(Se.text),C(Ce,Ae,O,Y,M),!H&&(Y.titleclick||Y.titledoubleclick)&&I(Ae,O,Y,te)):(Ae.selectAll("."+te+"titletext").remove(),Ae.selectAll("."+te+"titletoggle").remove());var qe=v.ensureSingle(ce,"rect","scrollbar",function(he){he.attr(s.scrollBarEnterAttrs).call(a.fill,s.scrollBarColor)}),Ue=Ae.selectAll("g.groups").data(K);Ue.enter().append("g").attr("class","groups"),Ue.exit().remove();var xe=Ue.selectAll("g.traces").data(v.identity);xe.enter().append("g").attr("class","traces"),xe.exit().remove(),xe.style("opacity",function(he){let oe=he[0],le=oe.trace;if(oe.groupTitle){let ne=le.legendgroup,be=(ee.shapes||[]).filter(function(Ve){return Ve.showlegend});return O._fullData.concat(be).some(function(Ve){return Ve.legendgroup===ne&&(Ve.legend||"legend")===te&&Ve.visible===!0})?1:.5}return S.traceIs(le,"pie-like")?re.indexOf(he[0].label)!==-1?.5:1:le.visible==="legendonly"?.5:1}).each(function(){u.select(this).call(h,O,Y)}).call(o,O,Y).each(function(he){H||he[0].groupTitle&&Y.groupclick==="toggleitem"||u.select(this).call(_,O,te)}),v.syncOrAsync([w.previousPromises,function(){return z(O,Ue,xe,Y,Ae)},function(){var he=ee._size,oe=Y.borderwidth,le=Y.xref==="paper",ne=Y.yref==="paper";if(Se.text){let ft=(ee.shapes||[]).filter(function(gt){return gt.showlegend}),ht=O._fullData.concat(ft).some(function(gt){let _t=gt.legend||"legend";var Ft=Array.isArray(_t)?_t.includes(te):_t===te;return Ft&>.visible===!0});Ce.style("opacity",ht?1:.5)}if(!H){var be,Fe;le?be=he.l+he.w*Y.x-f[k(Y)]*Y._width:be=ee.width*Y.x-f[k(Y)]*Y._width,ne?Fe=he.t+he.h*(1-Y.y)-f[B(Y)]*Y._effHeight:Fe=ee.height*(1-Y.y)-f[B(Y)]*Y._effHeight;var Ve=D(O,te,be,Fe);if(Ve)return;if(ee.margin.autoexpand){var je=be,ut=Fe;be=le?v.constrain(be,0,ee.width-Y._width):je,Fe=ne?v.constrain(Fe,0,ee.height-Y._effHeight):ut,be!==je&&v.log("Constrain "+te+".x to make legend fit inside graph"),Fe!==ut&&v.log("Constrain "+te+".y to make legend fit inside graph")}t.setTranslate(ce,be,Fe)}if(qe.on(".drag",null),ce.on("wheel",null),H||Y._height<=Y._maxHeight||O._context.staticPlot){var st=Y._effHeight;H&&(st=Y._height),ye.attr({width:Y._width-oe,height:st-oe,x:oe/2,y:oe/2}),t.setTranslate(Ae,0,0),me.select("rect").attr({width:Y._width-2*oe,height:st-2*oe,x:oe,y:oe}),t.setClipUrl(Ae,ae,O),t.setRect(qe,0,0,0,0),delete Y._scrollY}else{var yt=Math.max(s.scrollBarMinHeight,Y._effHeight*Y._effHeight/Y._height),At=Y._effHeight-yt-2*s.scrollBarMargin,Pt=Y._height-Y._effHeight,Zt=At/Pt,vr=Math.min(Y._scrollY||0,Pt);ye.attr({width:Y._width-2*oe+s.scrollBarWidth+s.scrollBarMargin,height:Y._effHeight-oe,x:oe/2,y:oe/2}),me.select("rect").attr({width:Y._width-2*oe+s.scrollBarWidth+s.scrollBarMargin,height:Y._effHeight-2*oe,x:oe,y:oe+vr}),t.setClipUrl(Ae,ae,O),Ie(vr,yt,Zt),ce.on("wheel",function(){vr=v.constrain(Y._scrollY+u.event.deltaY/Pt*At,0,Pt),Ie(vr,yt,Zt),vr!==0&&vr!==Pt&&u.event.preventDefault()});var Nt,Kt,nt,Ee=function(ft,ht,gt){var _t=(gt-ht)/Zt+ft;return v.constrain(_t,0,Pt)},ze=function(ft,ht,gt){var _t=(ht-gt)/Zt+ft;return v.constrain(_t,0,Pt)},ve=u.behavior.drag().on("dragstart",function(){var ft=u.event.sourceEvent;ft.type==="touchstart"?Nt=ft.changedTouches[0].clientY:Nt=ft.clientY,nt=vr}).on("drag",function(){var ft=u.event.sourceEvent;ft.buttons===2||ft.ctrlKey||(ft.type==="touchmove"?Kt=ft.changedTouches[0].clientY:Kt=ft.clientY,vr=Ee(nt,Nt,Kt),Ie(vr,yt,Zt))});qe.call(ve);var _e=u.behavior.drag().on("dragstart",function(){var ft=u.event.sourceEvent;ft.type==="touchstart"&&(Nt=ft.changedTouches[0].clientY,nt=vr)}).on("drag",function(){var ft=u.event.sourceEvent;ft.type==="touchmove"&&(Kt=ft.changedTouches[0].clientY,vr=ze(nt,Nt,Kt),Ie(vr,yt,Zt))});Ae.call(_e)}function Ie(ft,ht,gt){Y._scrollY=O._fullLayout[te]._scrollY=ft,t.setTranslate(Ae,0,-ft),t.setRect(qe,Y._width,s.scrollBarMargin+ft*gt,s.scrollBarWidth,ht),me.select("rect").attr("y",oe+ft)}if(O._context.edits.legendPosition){var Be,We,Xe,mt;ce.classed("cursor-move",!0),e.init({element:ce.node(),gd:O,prepFn:function(ft){if(ft.target!==qe.node()){var ht=t.getTranslate(ce);Xe=ht.x,mt=ht.y}},moveFn:function(ft,ht){if(Xe!==void 0&&mt!==void 0){var gt=Xe+ft,_t=mt+ht;t.setTranslate(ce,gt,_t),Be=e.align(gt,Y._width,he.l,he.l+he.w,Y.xanchor),We=e.align(_t+Y._height,-Y._height,he.t+he.h,he.t,Y.yanchor)}},doneFn:function(){if(Be!==void 0&&We!==void 0){var ft={};ft[te+".x"]=Be,ft[te+".y"]=We,S.call("_guiRelayout",O,ft)}},clickFn:function(ft,ht){var gt=U.selectAll("g.traces").filter(function(){var _t=this.getBoundingClientRect();return ht.clientX>=_t.left&&ht.clientX<=_t.right&&ht.clientY>=_t.top&&ht.clientY<=_t.bottom});gt.size()>0&&m(O,Y,gt,ft,ht)}})}}],O)}}function A(O,q,Y){var ee=O[0],te=ee.width,ae=q.entrywidthmode,U=ee.trace.legendwidth||q.entrywidth;return ae==="fraction"?q._maxWidth*U:Y+(U||te)}function m(O,q,Y,ee,te){var ae=O._fullLayout,U=Y.data()[0][0].trace,H=q.itemclick,K=q.itemdoubleclick,V={event:te,node:Y.node(),curveNumber:U.index,expandedIndex:U.index,data:O.data,layout:O.layout,frames:O._transitionData._frames,config:O._context,fullData:O._fullData,fullLayout:ae};U._group&&(V.group=U._group),S.traceIs(U,"pie-like")&&(V.label=Y.datum()[0].label);var $=l.triggerHandler(O,"plotly_legendclick",V);if(ee===1){if($===!1)return;q._clickTimeout=setTimeout(function(){O._fullLayout&&H&&n(Y,O,q,H)},O._context.doubleClickDelay)}else if(ee===2){q._clickTimeout&&clearTimeout(q._clickTimeout),O._legendMouseDownTime=0;var X=l.triggerHandler(O,"plotly_legenddoubleclick",V);X!==!1&&$!==!1&&K&&n(Y,O,q,K)}}function h(O,q,Y){var ee=x.getId(Y),te=O.data()[0][0],ae=te.trace,U=S.traceIs(ae,"pie-like"),H=!Y._inHover&&q._context.edits.legendText&&!U,K=Y._maxNameLength,V,$;te.groupTitle?(V=te.groupTitle.text,$=te.groupTitle.font):($=Y.font,Y.entries?V=te.text:(V=U?te.label:ae.name,ae._meta&&(V=v.templateString(V,ae._meta))));var X=v.ensureSingle(O,"text",ee+"text");X.attr("text-anchor","start").call(t.font,$).text(H?b(V,K):V);var Z=Y.indentation+Y.itemwidth+s.itemGap*2;r.positionText(X,Z,0),H?X.call(r.makeEditable,{gd:q,text:V}).call(C,O,q,Y).on("edit",function(Q){this.text(b(Q,K)).call(C,O,q,Y);var re={};return re.name=Q,te.trace._isShape?S.call("_guiRelayout",q,"shapes["+ae.index+"].name",re.name):S.call("_guiRestyle",q,re,ae.index)}):C(X,O,q,Y)}function b(O,q){var Y=Math.max(4,q);if(O&&O.trim().length>=Y/2)return O;O=O||"";for(var ee=Y-O.length;ee>0;ee--)O+=" ";return O}function _(O,q,Y){var ee=q._context.doubleClickDelay,te,ae=1,U=v.ensureSingle(O,"rect",Y+"toggle",function(H){q._context.staticPlot||H.style("cursor","pointer").attr("pointer-events","all"),H.call(a.fill,"rgba(0,0,0,0)")});q._context.staticPlot||(U.on("mousedown",function(){te=new Date().getTime(),te-q._legendMouseDownTimeee&&(ae=Math.max(ae-1,1)),m(q,H,O,ae,u.event)}}))}function I(O,q,Y,ee){if(q._fullData.some(function(V){let $=V.legend||"legend";return(Array.isArray($)?$.includes(ee):$===ee)&&S.traceIs(V,"pie-like")}))return;let ae=q._context.doubleClickDelay;var U,H=1;let K=v.ensureSingle(O,"rect",ee+"titletoggle",function(V){q._context.staticPlot||V.style("cursor","pointer").attr("pointer-events","all"),V.call(a.fill,"rgba(0,0,0,0)")});q._context.staticPlot||(K.on("mousedown",function(){U=new Date().getTime(),U-q._legendMouseDownTimeae&&(H=Math.max(H-1,1));let V={event:u.event,legendId:ee,data:q.data,layout:q.layout,fullData:q._fullData,fullLayout:q._fullLayout};if(H===1&&Y.titleclick){if(l.triggerHandler(q,"plotly_legendtitleclick",V)===!1)return;Y._titleClickTimeout=setTimeout(function(){q._fullLayout&&i(q,Y,Y.titleclick)},ae)}else H===2&&(Y._titleClickTimeout&&clearTimeout(Y._titleClickTimeout),q._legendMouseDownTime=0,l.triggerHandler(q,"plotly_legendtitledoubleclick",V)!==!1&&Y.titledoubleclick&&i(q,Y,Y.titledoubleclick))}))}function C(O,q,Y,ee,te){ee._inHover&&O.attr("data-notex",!0),r.convertToTspans(O,Y,function(){F(q,Y,ee,te)})}function F(O,q,Y,ee){var te=O.data()[0][0],ae=te&&te.trace.showlegend;if(Array.isArray(ae)&&(ae=ae[te.i]!==!1),!Y._inHover&&te&&!ae){O.remove();return}var U=O.select("g[class*=math-group]"),H=U.node(),K=x.getId(Y);Y||(Y=q._fullLayout[K]);var V=Y.borderwidth,$;ee===M?$=Y.title.font:te.groupTitle?$=te.groupTitle.font:$=Y.font;var X=$.size*p,Z,Q;if(H){var re=t.bBox(H);Z=re.height,Q=re.width,ee===M?t.setTranslate(U,V,V+Z*.75):t.setTranslate(U,0,Z*.25)}else{var ce="."+K+(ee===M?"title":"")+"text",me=O.select(ce),ye=r.lineCount(me),Ae=me.node();if(Z=X*ye,Q=Ae?t.bBox(Ae).width:0,ee===M)Y.title.side==="left"&&(Q+=s.itemGap*2),r.positionText(me,V+s.titlePad,V+X);else{var Se=s.itemGap*2+Y.indentation+Y.itemwidth;te.groupTitle&&(Se=s.itemGap,Q-=Y.indentation+Y.itemwidth),r.positionText(me,Se,-X*((ye-1)/2-.3))}}ee===M?(Y._titleWidth=Q,Y._titleHeight=Z):(te.lineHeight=X,te.height=Math.max(Z,16)+3,te.width=Q)}function R(O){var q=0,Y=0,ee=O.title.side;return ee&&(ee.indexOf("left")!==-1&&(q=O._titleWidth),ee.indexOf("top")!==-1&&(Y=O._titleHeight)),[q,Y]}function z(O,q,Y,ee,te){var ae=O._fullLayout,U=x.getId(ee);ee||(ee=ae[U]);var H=ae._size,K=x.isVertical(ee),V=x.isGrouped(ee),$=ee.entrywidthmode==="fraction",X=ee.borderwidth,Z=2*X,Q=s.itemGap,re=ee.indentation+ee.itemwidth+Q*2,ce=2*(X+Q),me=B(ee),ye=ee.y<0||ee.y===0&&me==="top",Ae=ee.y>1||ee.y===1&&me==="bottom",Se=ee.tracegroupgap,Ce={};let{orientation:qe,yref:Ue}=ee,{maxheight:xe}=ee,he=ye||Ae||qe!=="v"||Ue!=="paper";xe||(xe=he?.5:1);let oe=he?ae.height:H.h;ee._maxHeight=Math.max(xe>1?xe:xe*oe,30);var le=0;ee._width=0,ee._height=0;var ne=R(ee);if(K)Y.each(function(ft){var ht=ft[0].height;t.setTranslate(this,X+ne[0],X+ne[1]+ee._height+ht/2+Q),ee._height+=ht,ee._width=Math.max(ee._width,ft[0].width)}),le=re+ee._width,ee._width+=Q+re+Z,ee._height+=ce,V&&(q.each(function(ft,ht){t.setTranslate(this,0,ht*ee.tracegroupgap)}),ee._height+=(ee._lgroupsLength-1)*ee.tracegroupgap);else{var be=k(ee),Fe=ee.x<0||ee.x===0&&be==="right",Ve=ee.x>1||ee.x===1&&be==="left",je=Ae||ye,ut=ae.width/2;ee._maxWidth=Math.max(Fe?je&&be==="left"?H.l+H.w:ut:Ve?je&&be==="right"?H.r+H.w:ut:H.w,2*re);var st=0,yt=0;Y.each(function(ft){var ht=A(ft,ee,re);st=Math.max(st,ht),yt+=ht}),le=null;var At=0;if(V){var Pt=0,Zt=0,vr=0;q.each(function(){var ft=0,ht=0;u.select(this).selectAll("g.traces").each(function(_t){var Ft=A(_t,ee,re),St=_t[0].height;t.setTranslate(this,ne[0],ne[1]+X+Q+St/2+ht),ht+=St,ft=Math.max(ft,Ft),Ce[_t[0].trace.legendgroup]=ft});var gt=ft+Q;Zt>0&>+X+Zt>ee._maxWidth?(At=Math.max(At,Zt),Zt=0,vr+=Pt+Se,Pt=ht):Pt=Math.max(Pt,ht),t.setTranslate(this,Zt,vr),Zt+=gt}),ee._width=Math.max(At,Zt)+X,ee._height=vr+Pt+ce}else{var Nt=Y.size(),Kt=yt+Z+(Nt-1)*Q=ee._maxWidth&&(At=Math.max(At,ve),Ee=0,ze+=nt,ee._height+=nt,nt=0),t.setTranslate(this,ne[0]+X+Ee,ne[1]+X+ze+ht/2+Q),ve=Ee+gt+Q,Ee+=_t,nt=Math.max(nt,ht)}),Kt?(ee._width=Ee+Z,ee._height=nt+ce):(ee._width=Math.max(At,ve)+Z,ee._height+=nt+ce)}}ee._width=Math.ceil(Math.max(ee._width+ne[0],ee._titleWidth+2*(X+s.titlePad))),ee._height=Math.ceil(Math.max(ee._height+ne[1],ee._titleHeight+2*(X+s.itemGap))),ee._effHeight=Math.min(ee._height,ee._maxHeight);var _e=O._context.edits,Ie=_e.legendText||_e.legendPosition;Y.each(function(ft){var ht=u.select(this).select("."+U+"toggle"),gt=ft[0].height,_t=ft[0].trace.legendgroup,Ft=A(ft,ee,re);V&&_t!==""&&(Ft=Ce[_t]);var St=Ie?re:le||Ft;!K&&!$&&(St+=Q/2),t.setRect(ht,0,-gt/2,St,gt)});var Be=te.select("."+U+"titletext");Be.node()&&E(Be,ee,X);var We=te.select("."+U+"titletoggle");if(We.size()&&Be.node()){var Xe=Be.attr("x")||0,mt=s.titlePad;t.setRect(We,Xe-mt,X,ee._titleWidth+2*mt,ee._titleHeight+2*mt)}}function D(O,q,Y,ee){var te=O._fullLayout,ae=te[q],U=k(ae),H=B(ae),K=ae.xref==="paper",V=ae.yref==="paper";O._fullLayout._reservedMargin[q]={};var $=ae.y<.5?"b":"t",X=ae.x<.5?"l":"r",Z={r:te.width-Y,l:Y+ae._width,b:te.height-ee,t:ee+ae._effHeight};if(K&&V)return w.autoMargin(O,q,{x:ae.x,y:ae.y,l:ae._width*f[U],r:ae._width*d[U],b:ae._effHeight*d[H],t:ae._effHeight*f[H]});K?O._fullLayout._reservedMargin[q][$]=Z[$]:V||ae.orientation==="v"?O._fullLayout._reservedMargin[q][X]=Z[X]:O._fullLayout._reservedMargin[q][$]=Z[$]}function k(O){return v.isRightAnchor(O)?"right":v.isCenterAnchor(O)?"center":"left"}function B(O){return v.isBottomAnchor(O)?"bottom":v.isMiddleAnchor(O)?"middle":"top"}}}),V3=De({"src/components/fx/hover.js"(j){"use strict";var N=Qn(),u=io(),v=Ar(),w=v.pushUnique,S=v.strTranslate,l=v.strRotate,e=cm(),t=Xs(),a=ZP(),r=Ki(),n=ii(),i=dh(),s=Vi(),c=gc().zindexSeparator,p=hi(),f=Ch(),d=p1(),y=N3(),o=G3(),x=d.YANGLE,M=Math.PI*x/180,T=1/Math.sin(M),E=Math.cos(M),g=Math.sin(M),A=d.HOVERARROWSIZE,m=d.HOVERTEXTPAD,h={box:!0,ohlc:!0,violin:!0,candlestick:!0},b={scatter:!0,scattergl:!0,splom:!0};function _(X,Z){return X.distance-Z.distance}j.hover=function(Z,Q,re,ce){Z=v.getGraphDiv(Z);var me=Q.target;v.throttle(Z._fullLayout._uid+d.HOVERID,d.HOVERMINTIME,function(){I(Z,Q,re,ce,me)})},j.loneHover=function(Z,Q){var re=!0;Array.isArray(Z)||(re=!1,Z=[Z]);var ce=Q.gd,me=K(ce),ye=V(ce),Ae=Z.map(function(ne){var be=ne._x0||ne.x0||ne.x||0,Fe=ne._x1||ne.x1||ne.x||0,Ve=ne._y0||ne.y0||ne.y||0,je=ne._y1||ne.y1||ne.y||0,ut=ne.eventData;if(ut){var st=Math.min(be,Fe),yt=Math.max(be,Fe),At=Math.min(Ve,je),Pt=Math.max(Ve,je),Zt=ne.trace;if(p.traceIs(Zt,"gl3d")){var vr=ce._fullLayout[Zt.scene]._scene.container,Nt=vr.offsetLeft,Kt=vr.offsetTop;st+=Nt,yt+=Nt,At+=Kt,Pt+=Kt}ut.bbox={x0:st+ye,x1:yt+ye,y0:At+me,y1:Pt+me},ut.xPixel=(be+Fe)/2,ut.yPixel=(Ve+je)/2,Q.inOut_bbox&&Q.inOut_bbox.push(ut.bbox)}else ut=!1;return{color:ne.color||n.defaultLine,x0:ne.x0||ne.x||0,x1:ne.x1||ne.x||0,y0:ne.y0||ne.y||0,y1:ne.y1||ne.y||0,xLabel:ne.xLabel,yLabel:ne.yLabel,zLabel:ne.zLabel,text:ne.text,name:ne.name,idealAlign:ne.idealAlign,borderColor:ne.borderColor,fontFamily:ne.fontFamily,fontSize:ne.fontSize,fontColor:ne.fontColor,fontWeight:ne.fontWeight,fontStyle:ne.fontStyle,fontVariant:ne.fontVariant,nameLength:ne.nameLength,textAlign:ne.textAlign,trace:ne.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:ne.hovertemplate||!1,hovertemplateLabels:ne.hovertemplateLabels||!1,eventData:ut}}),Se=!1,Ce=R(Ae,{gd:ce,hovermode:"closest",rotateLabels:Se,bgColor:Q.bgColor||n.background,container:N.select(Q.container),outerContainer:Q.outerContainer||Q.container}),qe=Ce.hoverLabels,Ue=5,xe=0,he=0;qe.sort(function(ne,be){return ne.y0-be.y0}).each(function(ne,be){var Fe=ne.y0-ne.by/2;Fe-Ueyt[0]._length||pa<0||pa>At[0]._length)return i.unhoverRaw(X,Z)}if(Z.pointerX=$r+yt[0]._offset,Z.pointerY=pa+At[0]._offset,"xval"in Z?ze=f.flat(me,Z.xval):ze=f.p2c(yt,$r),"yval"in Z?ve=f.flat(me,Z.yval):ve=f.p2c(At,pa),!u(ze[0])||!u(ve[0]))return v.warn("Fx.hover failed",Z,X),i.unhoverRaw(X,Z)}Ae.clickanywhere&&(X._hoverXVals=ze,X._hoverYVals=ve,X._hoverXAxes=yt,X._hoverYAxes=At);var ka=1/0;function Ta(Mn,bo){for(Ie=0;IeFt&&(nt.splice(0,Ft),ka=nt[0].distance),Ue&&Kt!==0&&nt.length===0){_t.distance=Kt,_t.index=!1;var fo=We._module.hoverPoints(_t,ht,gt,"closest",{hoverLayer:Ae._hoverlayer});if(fo&&(fo=fo.filter(function(zi){return zi.spikeDistance<=Kt})),fo&&fo.length){var Po,po=fo.filter(function(zi){return zi.xa.showspikes&&zi.xa.spikesnap!=="hovered data"});if(po.length){var Kn=po[0];u(Kn.x0)&&u(Kn.y0)&&(Po=La(Kn),(!St.vLinePoint||St.vLinePoint.spikeDistance>Po.spikeDistance)&&(St.vLinePoint=Po))}var yi=fo.filter(function(zi){return zi.ya.showspikes&&zi.ya.spikesnap!=="hovered data"});if(yi.length){var Yi=yi[0];u(Yi.x0)&&u(Yi.y0)&&(Po=La(Yi),(!St.hLinePoint||St.hLinePoint.spikeDistance>Po.spikeDistance)&&(St.hLinePoint=Po))}}}}}Ta();function Da(Mn,bo,so){for(var Hi=null,yo=1/0,Bi,fo=0;foMn.trace.index===bi.trace.index):nt=[bi];var Li=nt.length,$a=H("x",bi,Ae),Va=H("y",bi,Ae);Ta($a,Va);var it=[],Qe={},Jt=0,Yt=function(Mn){var bo=h[Mn.trace.type]?C(Mn):Mn.trace.index;if(!Qe[bo])Jt++,Qe[bo]=Jt,it.push(Mn);else{var so=Qe[bo]-1,Hi=it[so];so>0&&Math.abs(Mn.distance)Li-1;ar--)Yt(nt[ar]);nt=it,Pn()}var cr=X._hoverdata,tr=[],Je=K(X),bt=V(X);for(let Mn of nt){var qt=f.makeEventData(Mn,Mn.trace,Mn.cd);if(Mn.hovertemplate!==!1){var Qt=!1;Mn.cd[Mn.index]&&Mn.cd[Mn.index].ht&&(Qt=Mn.cd[Mn.index].ht),Mn.hovertemplate=Qt||Mn.trace.hovertemplate||!1}if(Mn.xa&&Mn.ya){var br=Mn.x0+Mn.xa._offset,Ir=Mn.x1+Mn.xa._offset,Cr=Mn.y0+Mn.ya._offset,Mr=Mn.y1+Mn.ya._offset,Xr=Math.min(br,Ir),Ra=Math.max(br,Ir),wa=Math.min(Cr,Mr),yn=Math.max(Cr,Mr);qt.bbox={x0:Xr+bt,x1:Ra+bt,y0:wa+Je,y1:yn+Je},qt.xPixel=(br+Ir)/2,qt.yPixel=(Cr+Mr)/2}Mn.eventData=[qt],tr.push(qt)}X._hoverdata=tr;var fn=xe==="y"&&(Ee.length>1||nt.length>1)||xe==="closest"&&hr&&nt.length>1,ri=n.combine(Ae.plot_bgcolor||n.background,Ae.paper_bgcolor),On=R(nt,{gd:X,hovermode:xe,rotateLabels:fn,bgColor:ri,container:Ae._hoverlayer,outerContainer:Ae._paper.node(),commonLabelOpts:Ae.hoverlabel,hoverdistance:Ae.hoverdistance}),ui=On.hoverLabels;if(f.isUnifiedHover(xe)||(D(ui,fn,Ae,On.commonLabelBoundingBox),O(ui,fn,Ae._invScaleX,Ae._invScaleY)),ce&&ce.tagName){var jn=p.getComponentMethod("annotations","hasClickToShow")(X,tr);a(N.select(ce),jn?"pointer":"")}var oo=ee(X,Z,cr);if(!ce||re||!oo&&!Ae.hoveranywhere)return;cr&&oo&&X.emit("plotly_unhover",{event:Z,points:cr}),Qi(X._hoverdata);function Qi(Mn){X.emit("plotly_hover",{event:Z,points:Mn,xaxes:yt,yaxes:At,xvals:ze,yvals:ve})}}function C(X){return[X.trace.index,X.index,X.x0,X.y0,X.name,X.attr,X.xa?X.xa._id:"",X.ya?X.ya._id:""].join(",")}var F=/([\s\S]*)<\/extra>/;function R(X,Z){var Q=Z.gd,re=Q._fullLayout,ce=Z.hovermode,me=Z.rotateLabels,ye=Z.bgColor,Ae=Z.container,Se=Z.outerContainer,Ce=Z.commonLabelOpts||{};if(X.length===0)return[[]];var qe=Z.fontFamily||d.HOVERFONT,Ue=Z.fontSize||d.HOVERFONTSIZE,xe=Z.fontWeight||re.font.weight,he=Z.fontStyle||re.font.style,oe=Z.fontVariant||re.font.variant,le=Z.fontTextcase||re.font.textcase,ne=Z.fontLineposition||re.font.lineposition,be=Z.fontShadow||re.font.shadow,Fe=X[0],Ve=Fe.xa,je=Fe.ya,ut=ce.charAt(0),st=ut+"Label",yt=Fe[st];if(yt===void 0&&Ve.type==="multicategory")for(var At=0;Atre.width-tr&&(Je=re.width-tr),mn.attr("d","M"+(Yt-Je)+",0L"+(Yt-Je+A)+","+cr+A+"H"+tr+"v"+cr+(m*2+Jt.height)+"H"+-tr+"V"+cr+A+"H"+(Yt-Je-A)+"Z"),Yt=Je,Ie.minX=Yt-tr,Ie.maxX=Yt+tr,Ve.side==="top"?(Ie.minY=ar-(m*2+Jt.height),Ie.maxY=ar-m):(Ie.minY=ar+m,Ie.maxY=ar+(m*2+Jt.height))}else{var bt,qt,Qt;je.side==="right"?(bt="start",qt=1,Qt="",Yt=Ve._offset+Ve._length):(bt="end",qt=-1,Qt="-",Yt=Ve._offset),ar=je._offset+(Fe.y0+Fe.y1)/2,bi.attr("text-anchor",bt),mn.attr("d","M0,0L"+Qt+A+","+A+"V"+(m+Jt.height/2)+"h"+Qt+(m*2+Jt.width)+"V-"+(m+Jt.height/2)+"H"+Qt+A+"V-"+A+"Z"),Ie.minY=ar-(m+Jt.height/2),Ie.maxY=ar+(m+Jt.height/2),je.side==="right"?(Ie.minX=Yt+A,Ie.maxX=Yt+A+(m*2+Jt.width)):(Ie.minX=Yt-A-(m*2+Jt.width),Ie.maxX=Yt-A);var br=Jt.height/2,Ir=Zt-Jt.top-br,Cr="clip"+re._uid+"commonlabel"+je._id,Mr;if(Ytmn.hoverinfo!=="none");if(on.length===0)return[];var Be=re.hoverlabel,We=Be.font,Xe=on[0],mt=((ce==="x unified"?Xe.xa:Xe.ya).unifiedhovertitle||{}).text,ft=mt?v.hovertemplateString({data:ce==="x unified"?[{xa:Xe.xa,x:Xe.xVal}]:[{ya:Xe.ya,y:Xe.yVal}],fallback:Xe.trace.hovertemplatefallback,locale:re._d3locale,template:mt}):yt,ht={showlegend:!0,legend:{title:{text:ft,font:We},font:We,bgcolor:Be.bgcolor,bordercolor:Be.bordercolor,borderwidth:1,tracegroupgap:7,traceorder:re.legend?re.legend.traceorder:void 0,orientation:"v"}},gt={font:We};y(ht,gt,Q._fullData);var _t=gt.legend;_t.entries=[];for(var Ft=0;Ft=0?vi=Pn:sn+aa=0?vi=sn:Yn+aa=0?Dn=xa:Gn+ka=0?Dn=Gn:Zn+ka=0,(on.idealAlign==="top"||!wa)&&yn?(Qt-=Ir/2,on.anchor="end"):wa?(Qt+=Ir/2,on.anchor="start"):on.anchor="middle",on.crossPos=Qt;else{if(on.pos=Qt,wa=qt+br/2+Ra<=vr,yn=qt-br/2-Ra>=0,(on.idealAlign==="left"||!wa)&&yn)qt-=br/2,on.anchor="end";else if(wa)qt+=br/2,on.anchor="start";else{on.anchor="middle";var fn=Ra/2,ri=qt+fn-vr,On=qt-fn;ri>0&&(qt-=ri),On<0&&(qt+=-On)}on.crossPos=qt}ar.attr("text-anchor",on.anchor),tr&&cr.attr("text-anchor",on.anchor),mn.attr("transform",S(qt,Qt)+(me?l(x):""))}),{hoverLabels:oi,commonLabelBoundingBox:Ie}}function z(X,Z,Q,re,ce,me){var ye,Ae,Se="",Ce="";X.nameOverride!==void 0&&(X.name=X.nameOverride),X.name&&(X.trace._meta&&(X.name=v.templateString(X.name,X.trace._meta)),Se=ae(X.name,X.nameLength));var qe=Q.charAt(0),Ue=qe==="x"?"y":"x";X.zLabel!==void 0?(X.xLabel!==void 0&&(Ce+="x: "+X.xLabel+"
"),X.yLabel!==void 0&&(Ce+="y: "+X.yLabel+"
"),X.trace.type!=="choropleth"&&X.trace.type!=="choroplethmap"&&(Ce+=(Ce?"z: ":"")+X.zLabel)):Z&&X[qe+"Label"]===ce?Ce=X[Ue+"Label"]||"":X.xLabel===void 0?X.yLabel!==void 0&&X.trace.type!=="scattercarpet"&&(Ce=X.yLabel):X.yLabel===void 0?Ce=X.xLabel:Ce="("+X.xLabel+", "+X.yLabel+")",(X.text||X.text===0)&&!Array.isArray(X.text)&&(Ce+=(Ce?"
":"")+X.text),X.extraText!==void 0&&(Ce+=(Ce?"
":"")+X.extraText),me&&Ce===""&&!X.hovertemplate&&(Se===""&&me.remove(),Ce=Se),(Ae=(ye=X.trace)==null?void 0:ye.hoverlabel)!=null&&Ae.split&&(X.hovertemplate="");let{hovertemplate:xe=!1}=X;if(xe){let he=X.hovertemplateLabels||X;X[qe+"Label"]!==ce&&(he[qe+"other"]=he[qe+"Val"],he[qe+"otherLabel"]=he[qe+"Label"]),Ce=v.hovertemplateString({data:[X.eventData[0]||{},X.trace._meta],fallback:X.trace.hovertemplatefallback,labels:he,locale:re._d3locale,template:xe}),Ce=Ce.replace(F,(oe,le)=>(Se=ae(le,X.nameLength),""))}return[Ce,Se]}function D(X,Z,Q,re){var ce=Z?"xa":"ya",me=Z?"ya":"xa",ye=0,Ae=1,Se=X.size(),Ce=new Array(Se),qe=0,Ue=re.minX,xe=re.maxX,he=re.minY,oe=re.maxY,le=function(ze){return ze*Q._invScaleX},ne=function(ze){return ze*Q._invScaleY};X.each(function(ze){var ve=ze[ce],_e=ze[me],Ie=ve._id.charAt(0)==="x",Be=ve.range;qe===0&&Be&&Be[0]>Be[1]!==Ie&&(Ae=-1);var We=0,Xe=Ie?Q.width:Q.height;if(Q.hovermode==="x"||Q.hovermode==="y"){var mt=k(ze,Z),ft=ze.anchor,ht=ft==="end"?-1:1,gt,_t;if(ft==="middle")gt=ze.crossPos+(Ie?ne(mt.y-ze.by/2):le(ze.bx/2+ze.tx2width/2)),_t=gt+(Ie?ne(ze.by):le(ze.bx));else if(Ie)gt=ze.crossPos+ne(A+mt.y)-ne(ze.by/2-A),_t=gt+ne(ze.by);else{var Ft=le(ht*A+mt.x),St=Ft+le(ht*ze.bx);gt=ze.crossPos+Math.min(Ft,St),_t=ze.crossPos+Math.max(Ft,St)}Ie?he!==void 0&&oe!==void 0&&Math.min(_t,oe)-Math.max(gt,he)>1&&(_e.side==="left"?(We=_e._mainLinePosition,Xe=Q.width):Xe=_e._mainLinePosition):Ue!==void 0&&xe!==void 0&&Math.min(_t,xe)-Math.max(gt,Ue)>1&&(_e.side==="top"?(We=_e._mainLinePosition,Xe=Q.height):Xe=_e._mainLinePosition)}Ce[qe++]=[{datum:ze,traceIndex:ze.trace.index,dp:0,pos:ze.pos,posref:ze.posref,size:ze.by*(Ie?T:1)/2,pmin:We,pmax:Xe}]}),Ce.sort(function(ze,ve){return ze[0].posref-ve[0].posref||Ae*(ve[0].traceIndex-ze[0].traceIndex)});var be,Fe,Ve,je,ut,st,yt;function At(ze){var ve=ze[0],_e=ze[ze.length-1];if(Fe=ve.pmin-ve.pos-ve.dp+ve.size,Ve=_e.pos+_e.dp+_e.size-ve.pmax,Fe>.01){for(ut=ze.length-1;ut>=0;ut--)ze[ut].dp+=Fe;be=!1}if(!(Ve<.01)){if(Fe<-.01){for(ut=ze.length-1;ut>=0;ut--)ze[ut].dp-=Ve;be=!1}if(be){var Ie=0;for(je=0;jeve.pmax&&Ie++;for(je=ze.length-1;je>=0&&!(Ie<=0);je--)st=ze[je],st.pos>ve.pmax-1&&(st.del=!0,Ie--);for(je=0;je=0;ut--)ze[ut].dp-=Ve;for(je=ze.length-1;je>=0&&!(Ie<=0);je--)st=ze[je],st.pos+st.dp+st.size>ve.pmax&&(st.del=!0,Ie--)}}}for(;!be&&ye<=Se;){for(ye++,be=!0,je=0;je.01){for(ut=Zt.length-1;ut>=0;ut--)Zt[ut].dp+=Fe;for(Pt.push.apply(Pt,Zt),Ce.splice(je+1,1),yt=0,ut=Pt.length-1;ut>=0;ut--)yt+=Pt[ut].dp;for(Ve=yt/Pt.length,ut=Pt.length-1;ut>=0;ut--)Pt[ut].dp-=Ve;be=!1}else je++}Ce.forEach(At)}for(je=Ce.length-1;je>=0;je--){var Kt=Ce[je];for(ut=Kt.length-1;ut>=0;ut--){var nt=Kt[ut],Ee=nt.datum;Ee.offset=nt.dp,Ee.del=nt.del}}}function k(X,Z){var Q=0,re=X.offset;return Z&&(re*=-g,Q=X.offset*E),{x:Q,y:re}}function B(X){var Z={start:1,end:-1,middle:0}[X.anchor],Q=Z*(A+m),re=Q+Z*(X.txwidth+m),ce=X.anchor==="middle";return ce&&(Q-=X.tx2width/2,re+=X.txwidth/2+m),{alignShift:Z,textShiftX:Q,text2ShiftX:re}}function O(X,Z,Q,re){var ce=function(ye){return ye*Q},me=function(ye){return ye*re};X.each(function(ye){var Ae=N.select(this);if(ye.del)return Ae.remove();var Se=Ae.select("text.nums"),Ce=ye.anchor,qe=Ce==="end"?-1:1,Ue=B(ye),xe=k(ye,Z),he=xe.x,oe=xe.y,le=Ce==="middle",ne="hoverlabel"in ye.trace?ye.trace.hoverlabel.showarrow:!0,be;le?be="M-"+ce(ye.bx/2+ye.tx2width/2)+","+me(oe-ye.by/2)+"h"+ce(ye.bx)+"v"+me(ye.by)+"h-"+ce(ye.bx)+"Z":ne?be="M0,0L"+ce(qe*A+he)+","+me(A+oe)+"v"+me(ye.by/2-A)+"h"+ce(qe*ye.bx)+"v-"+me(ye.by)+"H"+ce(qe*A+he)+"V"+me(oe-A)+"Z":be="M"+ce(qe*A+he)+","+me(oe-ye.by/2)+"h"+ce(qe*ye.bx)+"v"+me(ye.by)+"h"+ce(-qe*ye.bx)+"Z",Ae.select("path").attr("d",be);var Fe=he+Ue.textShiftX,Ve=oe+ye.ty0-ye.by/2+m,je=ye.textAlign||"auto";je!=="auto"&&(je==="left"&&Ce!=="start"?(Se.attr("text-anchor","start"),Fe=le?-ye.bx/2-ye.tx2width/2+m:-ye.bx-m):je==="right"&&Ce!=="end"&&(Se.attr("text-anchor","end"),Fe=le?ye.bx/2-ye.tx2width/2-m:ye.bx+m)),Se.call(t.positionText,ce(Fe),me(Ve)),ye.tx2width&&(Ae.select("text.name").call(t.positionText,ce(Ue.text2ShiftX+Ue.alignShift*m+he),me(oe+ye.ty0-ye.by/2+m)),Ae.select("rect").call(r.setRect,ce(Ue.text2ShiftX+(Ue.alignShift-1)*ye.tx2width/2+he),me(oe-ye.by/2-1),ce(ye.tx2width),me(ye.by+2)))})}function q(X,Z){var Q=X.index,re=X.trace||{},ce=X.cd[0],me=X.cd[Q]||{};function ye(xe){return xe||u(xe)&&xe===0}var Ae=Array.isArray(Q)?function(xe,he){var oe=v.castOption(ce,Q,xe);return ye(oe)?oe:v.extractOption({},re,"",he)}:function(xe,he){return v.extractOption(me,re,xe,he)};function Se(xe,he,oe){var le=Ae(he,oe);ye(le)&&(X[xe]=le)}if(Se("hoverinfo","hi","hoverinfo"),Se("bgcolor","hbg","hoverlabel.bgcolor"),Se("borderColor","hbc","hoverlabel.bordercolor"),Se("fontFamily","htf","hoverlabel.font.family"),Se("fontSize","hts","hoverlabel.font.size"),Se("fontColor","htc","hoverlabel.font.color"),Se("fontWeight","htw","hoverlabel.font.weight"),Se("fontStyle","hty","hoverlabel.font.style"),Se("fontVariant","htv","hoverlabel.font.variant"),Se("nameLength","hnl","hoverlabel.namelength"),Se("textAlign","hta","hoverlabel.align"),X.posref=Z==="y"||Z==="closest"&&re.orientation==="h"?X.xa._offset+(X.x0+X.x1)/2:X.ya._offset+(X.y0+X.y1)/2,X.x0=v.constrain(X.x0,0,X.xa._length),X.x1=v.constrain(X.x1,0,X.xa._length),X.y0=v.constrain(X.y0,0,X.ya._length),X.y1=v.constrain(X.y1,0,X.ya._length),X.xLabelVal!==void 0&&(X.xLabel="xLabel"in X?X.xLabel:s.hoverLabelText(X.xa,X.xLabelVal,re.xhoverformat),X.xVal=X.xa.c2d(X.xLabelVal)),X.yLabelVal!==void 0&&(X.yLabel="yLabel"in X?X.yLabel:s.hoverLabelText(X.ya,X.yLabelVal,re.yhoverformat),X.yVal=X.ya.c2d(X.yLabelVal)),X.zLabelVal!==void 0&&X.zLabel===void 0&&(X.zLabel=String(X.zLabelVal)),!isNaN(X.xerr)&&!(X.xa.type==="log"&&X.xerr<=0)){var Ce=s.tickText(X.xa,X.xa.c2l(X.xerr),"hover").text;X.xerrneg!==void 0?X.xLabel+=" +"+Ce+" / -"+s.tickText(X.xa,X.xa.c2l(X.xerrneg),"hover").text:X.xLabel+=" \xB1 "+Ce,Z==="x"&&(X.distance+=1)}if(!isNaN(X.yerr)&&!(X.ya.type==="log"&&X.yerr<=0)){var qe=s.tickText(X.ya,X.ya.c2l(X.yerr),"hover").text;X.yerrneg!==void 0?X.yLabel+=" +"+qe+" / -"+s.tickText(X.ya,X.ya.c2l(X.yerrneg),"hover").text:X.yLabel+=" \xB1 "+qe,Z==="y"&&(X.distance+=1)}var Ue=X.hoverinfo||X.trace.hoverinfo;return Ue&&Ue!=="all"&&(Ue=Array.isArray(Ue)?Ue:Ue.split("+"),Ue.indexOf("x")===-1&&(X.xLabel=void 0),Ue.indexOf("y")===-1&&(X.yLabel=void 0),Ue.indexOf("z")===-1&&(X.zLabel=void 0),Ue.indexOf("text")===-1&&(X.text=void 0),Ue.indexOf("name")===-1&&(X.name=void 0)),X}function Y(X,Z,Q){var re=Q.container,ce=Q.fullLayout,me=ce._size,ye=Q.event,Ae=!!Z.hLinePoint,Se=!!Z.vLinePoint,Ce,qe;if(re.selectAll(".spikeline").remove(),!!(Se||Ae)){var Ue=n.combine(ce.plot_bgcolor,ce.paper_bgcolor);if(Ae){var xe=Z.hLinePoint,he,oe;Ce=xe&&xe.xa,qe=xe&&xe.ya;var le=qe.spikesnap;le==="cursor"?(he=ye.pointerX,oe=ye.pointerY):(he=Ce._offset+xe.x,oe=qe._offset+xe.y);var ne=n.color(xe.color).contrast(n.color(Ue))<1.5?n.contrast(Ue):xe.color,be=qe.spikemode,Fe=qe.spikethickness,Ve=qe.spikecolor||ne,je=s.getPxPosition(X,qe),ut,st;if(be.indexOf("toaxis")!==-1||be.indexOf("across")!==-1){if(be.indexOf("toaxis")!==-1&&(ut=je,st=he),be.indexOf("across")!==-1){var yt=qe._counterDomainMin,At=qe._counterDomainMax;qe.anchor==="free"&&(yt=Math.min(yt,qe.position),At=Math.max(At,qe.position)),ut=me.l+yt*me.w,st=me.l+At*me.w}re.insert("line",":first-child").attr({x1:ut,x2:st,y1:oe,y2:oe,"stroke-width":Fe,stroke:Ve,"stroke-dasharray":r.dashStyle(qe.spikedash,Fe)}).classed("spikeline",!0).classed("crisp",!0),re.insert("line",":first-child").attr({x1:ut,x2:st,y1:oe,y2:oe,"stroke-width":Fe+2,stroke:Ue}).classed("spikeline",!0).classed("crisp",!0)}be.indexOf("marker")!==-1&&re.insert("circle",":first-child").attr({cx:je+(qe.side!=="right"?Fe:-Fe),cy:oe,r:Fe,fill:Ve}).classed("spikeline",!0)}if(Se){var Pt=Z.vLinePoint,Zt,vr;Ce=Pt&&Pt.xa,qe=Pt&&Pt.ya;var Nt=Ce.spikesnap;Nt==="cursor"?(Zt=ye.pointerX,vr=ye.pointerY):(Zt=Ce._offset+Pt.x,vr=qe._offset+Pt.y);var Kt=n.color(Pt.color).contrast(n.color(Ue))<1.5?n.contrast(Ue):Pt.color,nt=Ce.spikemode,Ee=Ce.spikethickness,ze=Ce.spikecolor||Kt,ve=s.getPxPosition(X,Ce),_e,Ie;if(nt.indexOf("toaxis")!==-1||nt.indexOf("across")!==-1){if(nt.indexOf("toaxis")!==-1&&(_e=ve,Ie=vr),nt.indexOf("across")!==-1){var Be=Ce._counterDomainMin,We=Ce._counterDomainMax;Ce.anchor==="free"&&(Be=Math.min(Be,Ce.position),We=Math.max(We,Ce.position)),_e=me.t+(1-We)*me.h,Ie=me.t+(1-Be)*me.h}re.insert("line",":first-child").attr({x1:Zt,x2:Zt,y1:_e,y2:Ie,"stroke-width":Ee,stroke:ze,"stroke-dasharray":r.dashStyle(Ce.spikedash,Ee)}).classed("spikeline",!0).classed("crisp",!0),re.insert("line",":first-child").attr({x1:Zt,x2:Zt,y1:_e,y2:Ie,"stroke-width":Ee+2,stroke:Ue}).classed("spikeline",!0).classed("crisp",!0)}nt.indexOf("marker")!==-1&&re.insert("circle",":first-child").attr({cx:Zt,cy:ve-(Ce.side!=="top"?Ee:-Ee),r:Ee,fill:ze}).classed("spikeline",!0)}}}function ee(X,Z,Q){if(!Q||Q.length!==X._hoverdata.length)return!0;for(var re=Q.length-1;re>=0;re--){var ce=Q[re],me=X._hoverdata[re];if(ce.curveNumber!==me.curveNumber||String(ce.pointNumber)!==String(me.pointNumber)||String(ce.pointNumbers)!==String(me.pointNumbers)||ce.binNumber!==me.binNumber)return!0}return!1}function te(X,Z){return!Z||Z.vLinePoint!==X._spikepoints.vLinePoint||Z.hLinePoint!==X._spikepoints.hLinePoint}function ae(X,Z){return t.plainText(X||"",{len:Z,allowedTags:["br","sub","sup","b","i","em","s","u"]})}function U(X,Z){for(var Q=Z.charAt(0),re=[],ce=[],me=[],ye=0;yeX.offsetTop+X.clientTop,V=X=>X.offsetLeft+X.clientLeft;function $(X,Z){var Q=X._fullLayout,re=Z.getBoundingClientRect(),ce=re.left,me=re.top,ye=ce+re.width,Ae=me+re.height,Se=v.apply3DTransform(Q._invTransform)(ce,me),Ce=v.apply3DTransform(Q._invTransform)(ye,Ae),qe=Se[0],Ue=Se[1],xe=Ce[0],he=Ce[1];return{x:qe,y:Ue,width:xe-qe,height:he-Ue,top:Math.min(Ue,he),left:Math.min(qe,xe),right:Math.max(qe,xe),bottom:Math.max(Ue,he)}}}}),M1=De({"src/components/fx/hoverlabel_defaults.js"(j,N){"use strict";var u=Ar(),v=ii(),w=Ch().isUnifiedHover;N.exports=function(l,e,t,a){a=a||{};var r=e.legend;function n(i){a.font[i]||(a.font[i]=r?e.legend.font[i]:e.font[i])}e&&w(e.hovermode)&&(a.font||(a.font={}),n("size"),n("family"),n("color"),n("weight"),n("style"),n("variant"),r?(a.bgcolor||(a.bgcolor=v.combine(e.legend.bgcolor,e.paper_bgcolor)),a.bordercolor||(a.bordercolor=e.legend.bordercolor)):a.bgcolor||(a.bgcolor=e.paper_bgcolor)),t("hoverlabel.bgcolor",a.bgcolor),t("hoverlabel.bordercolor",a.bordercolor),t("hoverlabel.namelength",a.namelength),t("hoverlabel.showarrow",a.showarrow),u.coerceFont(t,"hoverlabel.font",a.font),t("hoverlabel.align",a.align)}}}),JP=De({"src/components/fx/layout_global_defaults.js"(j,N){"use strict";var u=Ar(),v=M1(),w=Ov();N.exports=function(l,e){function t(a,r){return u.coerce(l,e,w,a,r)}v(l,e,t)}}}),QP=De({"src/components/fx/defaults.js"(j,N){"use strict";var u=Ar(),v=om(),w=M1();N.exports=function(l,e,t,a){function r(i,s){return u.coerce(l,e,v,i,s)}var n=u.extendFlat({},a.hoverlabel);e.hovertemplate&&(n.namelength=-1),w(l,e,r,n)}}}),H3=De({"src/components/fx/hovermode_defaults.js"(j,N){"use strict";var u=Ar(),v=Ov();N.exports=function(S,l){function e(t,a){return l[t]!==void 0?l[t]:u.coerce(S,l,v,t,a)}return e("clickmode"),e("hoversubplots"),e("hoveranywhere"),e("clickanywhere"),e("hovermode")}}}),eR=De({"src/components/fx/layout_defaults.js"(j,N){"use strict";var u=Ar(),v=Ov(),w=H3(),S=M1();N.exports=function(e,t){function a(p,f){return u.coerce(e,t,v,p,f)}var r=w(e,t);r&&(a("hoverdistance"),a("spikedistance"),r.indexOf("unified")!==-1&&a("hoversort"));var n=a("dragmode");n==="select"&&a("selectdirection");var i=t._has("map"),s=t._has("geo"),c=t._basePlotModules.length;t.dragmode==="zoom"&&((i||s)&&c===1||i&&s&&c===2)&&(t.dragmode="pan"),S(e,t,a),u.coerceFont(a,"hoverlabel.grouptitlefont",t.hoverlabel.font)}}}),tR=De({"src/components/fx/calc.js"(j,N){"use strict";var u=Ar(),v=hi();N.exports=function(l){var e=l.calcdata,t=l._fullLayout;function a(c){return function(p){return u.coerceHoverinfo({hoverinfo:p},{_module:c._module},t)}}for(var r=0;r"," plotly-logomark"," "," "," "," "," "," "," "," "," "," "," "," "," ",""].join("")}}}}),Y_=De({"src/components/shapes/draw_newshape/constants.js"(j,N){"use strict";var u=32;N.exports={CIRCLE_SIDES:u,i000:0,i090:u/4,i180:u/2,i270:u/4*3,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}}}),X_=De({"src/components/selections/helpers.js"(j,N){"use strict";var u=Ar().strTranslate;function v(e,t){switch(e.type){case"log":return e.p2d(t);case"date":return e.p2r(t,0,e.calendar);default:return e.p2r(t)}}function w(e,t){switch(e.type){case"log":return e.d2p(t);case"date":return e.r2p(t,0,e.calendar);default:return e.r2p(t)}}function S(e){var t=e._id.charAt(0)==="y"?1:0;return function(a){return v(e,a[t])}}function l(e){return u(e.xaxis._offset,e.yaxis._offset)}N.exports={p2r:v,r2p:w,axValue:S,getTransform:l}}}),Wv=De({"src/components/shapes/draw_newshape/helpers.js"(j){"use strict";var N=A1(),u=Y_(),v=u.CIRCLE_SIDES,w=u.SQRT2,S=X_(),l=S.p2r,e=S.r2p,t=[0,3,4,5,6,1,2],a=[0,3,4,1,2];j.writePaths=function(i){var s=i.length;if(!s)return"M0,0Z";for(var c="",p=0;p0&&x{let s=i.charAt(0),c=r[s].drawn!==void 0;return n+(c?1:0)},0)},j.getDataToPixel=function(l,e,t,a,r){var n=l._fullLayout._size,i;if(e)if(r==="domain")i=function(c){return e._length*(a?1-c:c)+e._offset};else{var s=j.shapePositionToRange(e);i=function(c){var p=S(e,t);return e._offset+e.r2p(s(c,!0))+p},e.type==="date"&&(i=j.decodeDate(i))}else a?i=function(c){return n.t+n.h*(1-c)}:i=function(c){return n.l+n.w*c};return i},j.getPixelToData=function(l,e,t,a){var r=l._fullLayout._size,n;if(e)if(a==="domain")n=function(s){var c=(s-e._offset)/e._length;return t?1-c:c};else{var i=j.rangeToShapePosition(e);n=function(s){return i(e.p2r(s-e._offset))}}else t?n=function(s){return 1-(s-r.t)/r.h}:n=function(s){return(s-r.l)/r.w};return n},j.roundPositionForSharpStrokeRendering=function(l,e){var t=Math.round(e%2)===1,a=Math.round(l);return t?a+.5:a},j.makeShapesOptionsAndPlotinfo=function(l,e){var t=l._fullLayout.shapes[e]||{},a=l._fullLayout._plots[t.xref+t.yref],r=!!a;return r?a._hadPlotinfo=!0:(a={},t.xref&&t.xref!=="paper"&&(a.xaxis=l._fullLayout[t.xref+"axis"]),t.yref&&t.yref!=="paper"&&(a.yaxis=l._fullLayout[t.yref+"axis"])),a.xsizemode=t.xsizemode,a.ysizemode=t.ysizemode,a.xanchor=t.xanchor,a.yanchor=t.yanchor,{options:t,plotinfo:a}},j.makeSelectionsOptionsAndPlotinfo=function(l,e){var t=l._fullLayout.selections[e]||{},a=l._fullLayout._plots[t.xref+t.yref],r=!!a;return r?a._hadPlotinfo=!0:(a={},t.xref&&(a.xaxis=l._fullLayout[t.xref+"axis"]),t.yref&&(a.yaxis=l._fullLayout[t.yref+"axis"])),{options:t,plotinfo:a}},j.getPathString=function(l,e){let t=e.type,a=v.getRefType(e.xref),r=v.getRefType(e.yref),n=l._fullLayout._size;var i,s,c,p,f,d,y,o,x,M,T,E;function g(F,R,z,D){var k;if(F)if(R==="domain")D?k=function(B){return F._offset+F._length*(1-B)}:k=function(B){return F._offset+F._length*B};else{let B=j.shapePositionToRange(F);k=function(O){return F._offset+F.r2p(B(O,!0))},z==="path"&&F.type==="date"&&(k=j.decodeDate(k))}else D?k=function(B){return n.t+n.h*(1-B)}:k=function(B){return n.l+n.w*B};return k}if(a==="array"?(y=[],i=e.xref.map(function(F){return v.getFromId(l,F)}),y=e.xref.map(function(F,R){return g(i[R],v.getRefType(F),t,!1)})):(i=v.getFromId(l,e.xref),y=g(i,a,t,!1)),r==="array"?(o=[],s=e.yref.map(function(F){return v.getFromId(l,F)}),o=e.yref.map(function(F,R){return g(s[R],v.getRefType(F),t,!0)})):(s=v.getFromId(l,e.yref),o=g(s,r,t,!0)),t==="path")return w(e,y,o);if(a==="array")c=S(i[0],e.x0shift),p=S(i[1],e.x1shift),x=y[0](e.x0)+c,M=y[1](e.x1)+p;else if(c=S(i,e.x0shift),p=S(i,e.x1shift),e.xsizemode==="pixel"){let F=y(e.xanchor);x=F+e.x0+c,M=F+e.x1+p}else x=y(e.x0)+c,M=y(e.x1)+p;if(r==="array")f=S(s[0],e.y0shift),d=S(s[1],e.y1shift),T=o[0](e.y0)+f,E=o[1](e.y1)+d;else if(f=S(s,e.y0shift),d=S(s,e.y1shift),e.ysizemode==="pixel"){let F=o(e.yanchor);T=F-e.y0+f,E=F-e.y1+d}else T=o(e.y0)+f,E=o(e.y1)+d;if(t==="line")return"M"+x+","+T+"L"+M+","+E;if(t==="rect")return"M"+x+","+T+"H"+M+"V"+E+"H"+x+"Z";var A=(x+M)/2,m=(T+E)/2,h=Math.abs(A-x),b=Math.abs(m-T),_="A"+h+","+b,I=A+h+","+m,C=A+","+(m-b);return"M"+I+_+" 0 1,1 "+C+_+" 0 0,1 "+I+"Z"};function w(l,e,t){let a=l.path,r=l.xsizemode,n=l.ysizemode,i=l.xanchor,s=l.yanchor,c=Array.isArray(l.xref),p=Array.isArray(l.yref);var f=0,d=0;return a.replace(N.segmentRE,function(y){var o=0,x=y.charAt(0),M=N.paramIsX[x],T=N.paramIsY[x],E=N.numParams[x];let g=M.drawn!==void 0,A=T.drawn!==void 0,m=c?e[f]:e,h=p?t[d]:t;var b=y.slice(1).replace(N.paramRE,function(_){return M[o]?r==="pixel"?_=m(i)+Number(_):_=m(_):T[o]&&(n==="pixel"?_=h(s)-Number(_):_=h(_)),o++,o>E&&(_="X"),_});return o>E&&(b=b.replace(/[\s,]*X.*/,""),u.log("Ignoring extra params in segment "+y)),g&&f++,A&&d++,x+b})}j.getPixelShift=S;function S(l,e){e=e||0;var t=0;return e&&l&&(l.type==="category"||l.type==="multicategory")&&(t=(l.r2p(1)-l.r2p(0))*e),t}}}),Y3=De({"src/components/shapes/display_labels.js"(j,N){"use strict";var u=Ar(),v=Vi(),w=Xs(),S=Ki(),l=Wv().readPaths,e=Yv(),t=e.getPathString,a=N_(),r=yc().FROM_TL;N.exports=function(c,p,f,d){if(d.selectAll(".shape-label").remove(),!!(f.label.text||f.label.texttemplate)){var y;if(f.label.texttemplate){var o={};if(f.type!=="path"){var x=v.getFromId(c,f.xref),M=v.getFromId(c,f.yref);let Z=Array.isArray(f.xref),Q=Array.isArray(f.yref);for(var T in a){var E=typeof a[T]=="function",g=!Z||a.simpleXVariables.includes(T),A=!Q||a.simpleYVariables.includes(T);if(E&&g&&A){var m=a[T](f,x,M);m!==void 0&&(o[T]=m)}}}y=u.texttemplateStringForShapes({data:[o],fallback:f.label.texttemplatefallback,locale:c._fullLayout._d3locale,template:f.label.texttemplate})}else y=f.label.text;var h={"data-index":p},b=f.label.font,_={"data-notex":1},I=d.append("g").attr(h).classed("shape-label",!0),C=I.append("text").attr(_).classed("shape-label-text",!0).text(y),F,R,z,D;if(f.path){var k=t(c,f),B=l(k,c);F=1/0,z=1/0,R=-1/0,D=-1/0;for(var O=0;Oe.getDataToPixel(c,le,oe,!1,ne)(he),xe=(he,oe,le,ne)=>e.getDataToPixel(c,le,oe,!0,ne)(he);if(f.xsizemode==="pixel"){let he=Ue(f.xanchor,void 0,re,Ae),oe=e.getPixelShift(re,f.x0shift),le=e.getPixelShift(re,f.x1shift);F=he+f.x0+oe,R=he+f.x1+le}else F=Ue(f.x0,f.x0shift,re,Ae),R=Ue(f.x1,f.x1shift,ce,Se);if(f.ysizemode==="pixel"){let he=xe(f.yanchor,void 0,me,Ce),oe=e.getPixelShift(me,f.y0shift),le=e.getPixelShift(me,f.y1shift);z=he-f.y0+oe,D=he-f.y1+le}else z=xe(f.y0,f.y0shift,me,Ce),D=xe(f.y1,f.y1shift,ye,qe)}var U=f.label.textangle;U==="auto"&&(f.type==="line"?U=n(F,z,R,D):U=0),C.call(function(Z){return Z.call(S.font,b).attr({}),w.convertToTspans(Z,c),Z});var H=S.bBox(C.node()),K=i(F,z,R,D,f,U,H),V=K.textx,$=K.texty,X=K.xanchor;C.attr({"text-anchor":{left:"start",center:"middle",right:"end"}[X],y:$,x:V,transform:"rotate("+U+","+V+","+$+")"}).call(w.positionText,V,$)}};function n(s,c,p,f){var d,y;return y=Math.abs(p-s),p>=s?d=c-f:d=f-c,-180/Math.PI*Math.atan2(d,y)}function i(s,c,p,f,d,y,o){var x=d.label.textposition,M=d.label.textangle,T=d.label.padding,E=d.type,g=Math.PI/180*y,A=Math.sin(g),m=Math.cos(g),h=d.label.xanchor,b=d.label.yanchor,_,I,C,F;if(E==="line"){x==="start"?(_=s,I=c):x==="end"?(_=p,I=f):(_=(s+p)/2,I=(c+f)/2),h==="auto"&&(x==="start"?M==="auto"?p>s?h="left":ps?h="right":ps?h="right":ps?h="left":p1&&!(xe.length===2&&xe[1][0]==="Z")&&(U===0&&(xe[0][0]="M"),_[ae]=xe,z(),D())}}function ce(xe,he){if(xe===2){ae=+he.srcElement.getAttribute("data-i"),U=+he.srcElement.getAttribute("data-j");var oe=_[ae];!y(oe)&&!o(oe)&&re()}}function me(xe){ee=[];for(var he=0;he<_.length;he++){var oe=_[he],le=y(oe),ne=!le&&o(oe);ee[he]=[];for(var be=oe.length,Fe=0;Fe{if(!C._dragging&&C._fullLayout.hoveranywhere){let B=D(k);B&&c.hover(C,B,R.id)}}),z.addEventListener("click",k=>{if(!C._dragged&&C._fullLayout.clickanywhere){let B=D(k);B&&c.click(C,B,R.id)}})}function g(C,F,R){let z=R.xref,D=R.yref;if(Array.isArray(z)||Array.isArray(D)){let k="clip"+F._fullLayout._uid+"shape"+R._index,B=A(F,z,D);w.ensureSingleById(F._fullLayout._clips,"clipPath",k,function(O){O.append("rect")}).select("rect").attr(B),n.setClipUrl(C,k,F)}else{let k=(z+D).replace(/paper/g,"").replace(/[xyz][0-9]* *domain/g,"");n.setClipUrl(C,k?"clip"+F._fullLayout._uid+k:null,F)}}function A(C,F,R){let z=C._fullLayout._size;function D(O,q){let Y=(Array.isArray(O)?O:[O]).map(ae=>S.getFromId(C,ae)).filter(Boolean);if(!Y.length)return q?[z.t,z.t+z.h]:[z.l,z.l+z.w];let ee=Y.map(function(ae){return ae._offset}),te=Y.map(function(ae){return ae._offset+ae._length});return[Math.min(...ee),Math.max(...te)]}let k=D(F,!1),B=D(R,!0);return{x:k[0],y:B[0],width:k[1]-k[0],height:B[1]-B[0]}}function m(C,F,R,z,D,k){var B=10,O=10,q=R.xsizemode==="pixel",Y=R.ysizemode==="pixel",ee=R.type==="line",te=R.type==="path",ae=k.modifyItem,U,H,K,V,$,X,Z,Q,re,ce,me,ye,Ae,Se,Ce,qe=u.select(F.node().parentNode),Ue=S.getFromId(C,R.xref),xe=S.getRefType(R.xref),he=S.getFromId(C,R.yref),oe=S.getRefType(R.yref),le=R.x0shift,ne=R.x1shift,be=R.y0shift,Fe=R.y1shift,Ve=function(We,Xe){var mt=d.getDataToPixel(C,Ue,Xe,!1,xe);return mt(We)},je=function(We,Xe){var mt=d.getDataToPixel(C,he,Xe,!0,oe);return mt(We)},ut=d.getPixelToData(C,Ue,!1,xe),st=d.getPixelToData(C,he,!0,oe),yt=Zt(),At={element:yt.node(),gd:C,prepFn:Kt,doneFn:nt,clickFn:Ee},Pt;s.init(At),yt.node().onmousemove=Nt;function Zt(){return ee?vr():F}function vr(){var We=10,Xe=Math.max(R.line.width,We),mt=D.append("g").attr("data-index",z).attr("drag-helper",!0);mt.append("path").attr("d",F.attr("d")).style({cursor:"move","stroke-width":Xe,"stroke-opacity":"0"});var ft={"fill-opacity":"0"},ht=Math.max(Xe/2,We);return mt.append("circle").attr({"data-line-point":"start-point",cx:q?Ve(R.xanchor)+R.x0:Ve(R.x0,le),cy:Y?je(R.yanchor)-R.y0:je(R.y0,be),r:ht}).style(ft).classed("cursor-grab",!0),mt.append("circle").attr({"data-line-point":"end-point",cx:q?Ve(R.xanchor)+R.x1:Ve(R.x1,ne),cy:Y?je(R.yanchor)-R.y1:je(R.y1,Fe),r:ht}).style(ft).classed("cursor-grab",!0),mt}function Nt(We){if(x(C)){Pt=null;return}if(ee)We.target.tagName==="path"?Pt="move":Pt=We.target.attributes["data-line-point"].value==="start-point"?"resize-over-start-point":"resize-over-end-point";else{var Xe=At.element.getBoundingClientRect(),mt=Xe.right-Xe.left,ft=Xe.bottom-Xe.top,ht=We.clientX-Xe.left,gt=We.clientY-Xe.top,_t=!te&&mt>B&&ft>O&&!We.shiftKey?s.getCursor(ht/mt,1-gt/ft):"move";p(F,_t),Pt=_t.split("-")[0]}}function Kt(We){x(C)||(q&&($=Ve(R.xanchor)),Y&&(X=je(R.yanchor)),R.type==="path"?Ce=R.path:(U=q?R.x0:Ve(R.x0),H=Y?R.y0:je(R.y0),K=q?R.x1:Ve(R.x1),V=Y?R.y1:je(R.y1)),UV?(Z=H,me="y0",Q=V,ye="y1"):(Z=V,me="y1",Q=H,ye="y0"),Nt(We),_e(D,R),Be(F,R,C),At.moveFn=Pt==="move"?ze:ve,At.altKey=We.altKey)}function nt(){x(C)||(p(F),Ie(D),g(F,C,R),v.call("_guiRelayout",C,k.getUpdateObj()))}function Ee(){x(C)||Ie(D)}function ze(We,Xe){if(R.type==="path"){var mt=function(gt){return gt},ft=mt,ht=mt;q?ae("xanchor",R.xanchor=ut($+We)):(ft=function(_t){return ut(Ve(_t)+We)},Ue&&Ue.type==="date"&&(ft=d.encodeDate(ft))),Y?ae("yanchor",R.yanchor=st(X+Xe)):(ht=function(_t){return st(je(_t)+Xe)},he&&he.type==="date"&&(ht=d.encodeDate(ht))),ae("path",R.path=h(Ce,ft,ht))}else q?ae("xanchor",R.xanchor=ut($+We)):(ae("x0",R.x0=ut(U+We)),ae("x1",R.x1=ut(K+We))),Y?ae("yanchor",R.yanchor=st(X+Xe)):(ae("y0",R.y0=st(H+Xe)),ae("y1",R.y1=st(V+Xe)));F.attr("d",y(C,R)),_e(D,R),t(C,z,R,qe)}function ve(We,Xe){if(te){var mt=function(Da){return Da},ft=mt,ht=mt;q?ae("xanchor",R.xanchor=ut($+We)):(ft=function(La){return ut(Ve(La)+We)},Ue&&Ue.type==="date"&&(ft=d.encodeDate(ft))),Y?ae("yanchor",R.yanchor=st(X+Xe)):(ht=function(La){return st(je(La)+Xe)},he&&he.type==="date"&&(ht=d.encodeDate(ht))),ae("path",R.path=h(Ce,ft,ht))}else if(ee){if(Pt==="resize-over-start-point"){var gt=U+We,_t=Y?H-Xe:H+Xe;ae("x0",R.x0=q?gt:ut(gt)),ae("y0",R.y0=Y?_t:st(_t))}else if(Pt==="resize-over-end-point"){var Ft=K+We,St=Y?V-Xe:V+Xe;ae("x1",R.x1=q?Ft:ut(Ft)),ae("y1",R.y1=Y?St:st(St))}}else{var hr=function(Da){return Pt.indexOf(Da)!==-1},jr=hr("n"),ra=hr("s"),$r=hr("w"),pa=hr("e"),oa=jr?Z+Xe:Z,aa=ra?Q+Xe:Q,ka=$r?re+We:re,Ta=pa?ce+We:ce;Y&&(jr&&(oa=Z-Xe),ra&&(aa=Q-Xe)),(!Y&&aa-oa>O||Y&&oa-aa>O)&&(ae(me,R[me]=Y?oa:st(oa)),ae(ye,R[ye]=Y?aa:st(aa))),Ta-ka>B&&(ae(Ae,R[Ae]=q?ka:ut(ka)),ae(Se,R[Se]=q?Ta:ut(Ta)))}F.attr("d",y(C,R)),_e(D,R),t(C,z,R,qe)}function _e(We,Xe){(q||Y)&&mt();function mt(){var ft=Xe.type!=="path",ht=We.selectAll(".visual-cue").data([0]),gt=1;ht.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":gt}).classed("visual-cue",!0);var _t=Ve(q?Xe.xanchor:w.midRange(ft?[Xe.x0,Xe.x1]:d.extractPathCoords(Xe.path,f.paramIsX))),Ft=je(Y?Xe.yanchor:w.midRange(ft?[Xe.y0,Xe.y1]:d.extractPathCoords(Xe.path,f.paramIsY)));if(_t=d.roundPositionForSharpStrokeRendering(_t,gt),Ft=d.roundPositionForSharpStrokeRendering(Ft,gt),q&&Y){var St="M"+(_t-1-gt)+","+(Ft-1-gt)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";ht.attr("d",St)}else if(q){var hr="M"+(_t-1-gt)+","+(Ft-9-gt)+"v18 h2 v-18 Z";ht.attr("d",hr)}else{var jr="M"+(_t-9-gt)+","+(Ft-1-gt)+"h18 v2 h-18 Z";ht.attr("d",jr)}}}function Ie(We){We.selectAll(".visual-cue").remove()}function Be(We,Xe,mt){var ft=Xe.xref,ht=Xe.yref,gt=S.getFromId(mt,ft),_t=S.getFromId(mt,ht),Ft="";ft!=="paper"&&!gt.autorange&&(Ft+=ft),ht!=="paper"&&!_t.autorange&&(Ft+=ht),n.setClipUrl(We,Ft?"clip"+mt._fullLayout._uid+Ft:null,mt)}}function h(C,F,R){return C.replace(f.segmentRE,function(z){var D=0,k=z.charAt(0),B=f.paramIsX[k],O=f.paramIsY[k],q=f.numParams[k],Y=z.slice(1).replace(f.paramRE,function(ee){return D>=q||(B[D]?ee=F(ee):O[D]&&(ee=R(ee)),D++),ee});return k+Y})}function b(C,F){if(M(C)){var R=F.node(),z=+R.getAttribute("data-index");if(z>=0){if(z===C._fullLayout._activeShapeIndex){_(C);return}C._fullLayout._activeShapeIndex=z,C._fullLayout._deactivateShape=_,o(C)}}}function _(C){if(M(C)){var F=C._fullLayout._activeShapeIndex;F>=0&&(a(C),delete C._fullLayout._activeShapeIndex,o(C))}}function I(C){if(M(C)){a(C);var F=C._fullLayout._activeShapeIndex,R=(C.layout||{}).shapes||[];if(F-K),[q,Y]=D.invert(z.midPt),{minscale:ee}=R.projection,te=(m=R.projection.maxscale)!=null?m:1/0,ae=Math.min(ee,te),U=Math.max(ee,te),H=_==="in"?f*k:1/f*k;H>U?H=U:HK3});var Q_,$3,K3,J3=di({"src/components/modebar/attributes.ts"(){"use strict";Q_=Du(Z3()),$3={editType:"modebar",orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar",description:"Sets the orientation of the modebar."},bgcolor:{valType:"color",editType:"modebar",description:"Sets the background color of the modebar."},color:{valType:"color",editType:"modebar",description:"Sets the color of the icons in the modebar."},activecolor:{valType:"color",editType:"modebar",description:"Sets the color of the active or hovered on icons in the modebar."},uirevision:{valType:"any",editType:"none",description:["Controls persistence of user-driven changes related to the modebar,","including `hovermode`, `dragmode`, and `showspikes` at both the","root level and inside subplots. Defaults to `layout.uirevision`."].join(" ")},add:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar",description:["Determines which predefined modebar buttons to add.","Please note that these buttons will only be shown if they are","compatible with all trace types used in a graph.","Similar to `config.modeBarButtonsToAdd` option.",`This may include *${Q_.default.backButtons.join("*, *")}*.`].join(" ")},remove:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar",description:["Determines which predefined modebar buttons to remove.","Similar to `config.modeBarButtonsToRemove` option.",`This may include *${Q_.default.foreButtons.join("*, *")}*.`].join(" ")}},K3=$3}}),nR=De({"src/components/modebar/defaults.js"(j,N){"use strict";var u=Ar(),v=ii(),w=ws(),S=(J3(),ts(J_)).default;N.exports=function(e,t){var a=e.modebar||{},r=w.newContainer(t,"modebar");function n(s,c){return u.coerce(a,r,S,s,c)}n("orientation"),n("bgcolor",v.addOpacity(t.paper_bgcolor,.5));var i=v.contrast(v.rgb(t.modebar.bgcolor));n("color",v.addOpacity(i,.3)),n("activecolor",v.addOpacity(i,.7)),n("uirevision",t.uirevision),n("add"),n("remove")}}}),iR=De({"src/components/modebar/modebar.js"(j,N){"use strict";var u=Qn(),v=io(),w=Ar(),S=W_(),l=cf().version,e=new DOMParser;function t(i){this.container=i.container,this.element=document.createElement("div"),this.update(i.graphInfo,i.buttons),this.container.appendChild(this.element)}var a=t.prototype;a.update=function(i,s){this.graphInfo=i;var c=this.graphInfo._context,p=this.graphInfo._fullLayout,f="modebar-"+p._uid;this.element.setAttribute("id",f),this.element.setAttribute("role","toolbar"),this._uid=f,this.element.className="modebar modebar--custom",c.displayModeBar==="hover"&&(this.element.className+=" modebar--hover ease-bg"),p.modebar.orientation==="v"&&(this.element.className+=" vertical",s=s.reverse());var d=p.modebar,y="#"+f+" .modebar-group";document.querySelectorAll(y).forEach(function(E){E.style.backgroundColor=d.bgcolor});var o=!this.hasButtons(s),x=this.hasLogo!==c.displaylogo,M=this.locale!==c.locale;if(this.locale=c.locale,(o||x||M)&&(this.removeAllButtons(),this.updateButtons(s),c.watermark||c.displaylogo)){var T=this.getLogo();c.watermark&&(T.className=T.className+" watermark"),p.modebar.orientation==="v"?this.element.insertBefore(T,this.element.childNodes[0]):this.element.appendChild(T),this.hasLogo=!0}this.updateActiveButton(),w.setStyleOnHover("#"+f+" .modebar-btn",".active",".icon path","fill: "+d.activecolor,"fill: "+d.color,this.element)},a.updateButtons=function(i){var s=this;this.buttons=i,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach(function(c){var p=s.createGroup();c.forEach(function(f){var d=f.name;if(!d)throw new Error("must provide button 'name' in button config");if(s.buttonsNames.indexOf(d)!==-1)throw new Error("button name '"+d+"' is taken");s.buttonsNames.push(d);var y=s.createButton(f);s.buttonElements.push(y),p.appendChild(y)}),s.element.appendChild(p)})},a.createGroup=function(){var i=document.createElement("div");i.className="modebar-group";var s=this.graphInfo._fullLayout.modebar;return i.style.backgroundColor=s.bgcolor,i},a.createButton=function(i){var s=this,c=document.createElement("button");c.setAttribute("type","button"),c.setAttribute("rel","tooltip"),c.className="modebar-btn";var p=i.title;p===void 0?p=i.name:typeof p=="function"&&(p=p(this.graphInfo)),(p||p===0)&&(c.setAttribute("data-title",p),c.setAttribute("aria-label",p)),i.attr!==void 0&&c.setAttribute("data-attr",i.attr);var f=i.val;f!==void 0&&(typeof f=="function"&&(f=f(this.graphInfo)),c.setAttribute("data-val",f));var d=i.click;if(typeof d!="function")throw new Error("must provide button 'click' function in button config");c.addEventListener("click",function(o){i.click(s.graphInfo,o),s.updateActiveButton(o.currentTarget)}),c.setAttribute("data-toggle",i.toggle||!1),i.toggle&&u.select(c).classed("active",!0);var y=i.icon;return typeof y=="function"?c.appendChild(y()):c.appendChild(this.createIcon(y||S.question)),c.setAttribute("data-gravity",i.gravity||"n"),c},a.createIcon=function(i){var s=v(i.height)?Number(i.height):i.ascent-i.descent,c="http://www.w3.org/2000/svg",p;if(i.path){p=document.createElementNS(c,"svg"),p.setAttribute("viewBox",[0,0,i.width,s].join(" ")),p.setAttribute("class","icon");var f=document.createElementNS(c,"path");f.setAttribute("d",i.path),i.transform?f.setAttribute("transform",i.transform):i.ascent!==void 0&&f.setAttribute("transform","matrix(1 0 0 -1 0 "+i.ascent+")"),p.appendChild(f)}if(i.svg){var d=e.parseFromString(i.svg,"application/xml");p=d.childNodes[0]}return p.setAttribute("height","1em"),p.setAttribute("width","1em"),p},a.updateActiveButton=function(i){var s=this.graphInfo._fullLayout,c=i!==void 0?i.getAttribute("data-attr"):null;this.buttonElements.forEach(function(p){var f=p.getAttribute("data-val")||!0,d=p.getAttribute("data-attr"),y=p.getAttribute("data-toggle")==="true",o=u.select(p),x=function(E,g){var A=s.modebar,m=E.querySelector(".icon path");m&&(g||E.matches(":hover")?m.style.fill=A.activecolor:m.style.fill=A.color)};if(y){if(d===c){var M=!o.classed("active");o.classed("active",M),x(p,M)}}else{var T=d===null?d:w.nestedProperty(s,d).get();o.classed("active",T===f),x(p,T===f)}})},a.hasButtons=function(i){var s=this.buttons;if(!s||i.length!==s.length)return!1;for(var c=0;c1?(ee=["toggleHover"],te=["resetViews"]):h?(Y=["zoomInGeo","zoomOutGeo"],ee=["hoverClosestGeo"],te=["resetGeo"]):m?(ee=["hoverClosest3d"],te=["resetCameraDefault3d","resetCameraLastSave3d"]):C?(Y=["zoomInMap","zoomOutMap"],ee=["toggleHover"],te=["resetViewMap"]):b?ee=["hoverClosestPie"]:z?(ee=["hoverClosestCartesian","hoverCompareCartesian"],te=["resetViewSankey"]):ee=["toggleHover"],A&&ee.push("toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"),(s(y)||k)&&(ee=[]),A&&!D&&(Y=["zoomIn2d","zoomOut2d","autoScale2d"],te[0]!=="resetViews"&&(te=["resetScale2d"])),m?ae=["zoom3d","pan3d","orbitRotation","tableRotation"]:A&&!D||I?ae=["zoom2d","pan2d"]:C||h?ae=["pan2d"]:F&&(ae=["zoom2d"]),i(y)&&ae.push("select2d","lasso2d");var U=[],H=function(X){U.indexOf(X)===-1&&ee.indexOf(X)!==-1&&U.push(X)};if(Array.isArray(E)){for(var K=[],V=0;VM?y.slice(M):o.slice(x))+T}function c(f,d){for(var y=d._size,o=y.h/y.w,x={},M=Object.keys(f),T=0;Te*I&&!z)){for(M=0;MU&&rete&&(te=re);var me=(te-ee)/(2*ae);h/=me,ee=g.l2r(ee),te=g.l2r(te),g.range=g._input.range=O=D[1]||q[1]<=D[0])&&Y[0]k[0])return!0}return!1}function T(D){var k=D._fullLayout,B=k._size,O=B.p,q=n.list(D,"",!0),Y,ee,te,ae,U,H;if(k._paperdiv.style({width:D._context.responsive&&k.autosize&&!D._context._hasZeroWidth&&!D.layout.width?"100%":k.width+"px",height:D._context.responsive&&k.autosize&&!D._context._hasZeroHeight&&!D.layout.height?"100%":k.height+"px"}).selectAll(".main-svg").call(t.setSize,k.width,k.height),D._context.setBackground(D,k.paper_bgcolor),j.drawMainTitle(D),r.manage(D),!k._has("cartesian"))return v.previousPromises(D);function K(ve,_e,Ie){var Be=ve._lw/2;if(ve._id.charAt(0)==="x"){if(_e){if(Ie==="top")return _e._offset-O-Be}else return B.t+B.h*(1-(ve.position||0))+Be%1;return _e._offset+_e._length+O+Be}if(_e){if(Ie==="right")return _e._offset+_e._length+O+Be}else return B.l+B.w*(ve.position||0)+Be%1;return _e._offset-O-Be}for(Y=0;Y0){_(D,Y,U,ae),te.attr({x:ee,y:Y,"text-anchor":O,dy:F(k.yanchor)}).call(S.positionText,ee,Y);var H=(k.text.match(S.BR_TAG_ALL)||[]).length;if(H){var K=i.LINE_SPACING*H+i.MID_SHIFT;k.y===0&&(K=-K),te.selectAll(".line").each(function(){var Q=+this.getAttribute("dy").slice(0,-2)-K+"em";this.setAttribute("dy",Q)})}var V=N.select(D).selectAll(".gtitle-subtitle");if(V.node()){var $=te.node().getBBox(),X=$.y+$.height,Z=X+a.SUBTITLE_PADDING_EM*k.subtitle.font.size;V.attr({x:ee,y:Z,"text-anchor":O,dy:F(k.yanchor)}).call(S.positionText,ee,Z)}}}};function m(D,k,B,O,q){var Y=k.yref==="paper"?D._fullLayout._size.h:D._fullLayout.height,ee=w.isTopAnchor(k)?O:O-q,te=B==="b"?Y-ee:ee;return w.isTopAnchor(k)&&B==="t"||w.isBottomAnchor(k)&&B==="b"?!1:te.5?"t":"b",ee=D._fullLayout.margin[Y],te=0;return k.yref==="paper"?te=B+k.pad.t+k.pad.b:k.yref==="container"&&(te=h(Y,O,q,D._fullLayout.height,B)+k.pad.t+k.pad.b),te>ee?te:0}function _(D,k,B,O){var q="title.automargin",Y=D._fullLayout.title,ee=Y.y>.5?"t":"b",te={x:Y.x,y:Y.y,t:0,b:0},ae={};Y.yref==="paper"&&m(D,Y,ee,k,O)?te[ee]=B:Y.yref==="container"&&(ae[ee]=B,D._fullLayout._reservedMargin[q]=ae),v.allowAutoMargin(D,q),v.autoMargin(D,q,te)}function I(D,k){var B=D.title,O=D._size,q=0;switch(k===d?q=B.pad.l:k===o&&(q=-B.pad.r),B.xref){case"paper":return O.l+O.w*B.x+q;case"container":default:return D.width*B.x+q}}function C(D,k){var B=D.title,O=D._size,q=0;if(k==="0em"||!k?q=-B.pad.b:k===i.CAP_SHIFT+"em"&&(q=B.pad.t),B.y==="auto")return O.t/2;switch(B.yref){case"paper":return O.t+O.h-O.h*B.y+q;case"container":default:return D.height-D.height*B.y+q}}function F(D){return D==="top"?i.CAP_SHIFT+.3+"em":D==="bottom"?"-0.3em":i.MID_SHIFT+"em"}function R(D){var k=D.title,B=y;return w.isRightAnchor(k)?B=o:w.isLeftAnchor(k)&&(B=d),B}function z(D){var k=D.title,B="0em";return w.isTopAnchor(k)?B=i.CAP_SHIFT+"em":w.isMiddleAnchor(k)&&(B=i.MID_SHIFT+"em"),B}j.doTraceStyle=function(D){var k=D.calcdata,B=[],O;for(O=0;O=0;R--){var z=E.append("path").attr(A).style("opacity",R?.1:m).call(S.stroke,b).call(S.fill,h).call(l.dashLine,R?"solid":I,R?4+_:_);if(s(z,d,x),C){var D=e(d.layout,"selections",x);z.style({cursor:"move"});var k={element:z.node(),plotinfo:M,gd:d,editHelpers:D,isActiveSelection:!0},B=u(g,d);v(B,z,k)}else z.style("pointer-events",R?"all":"none");F[R]=z}var O=F[0],q=F[1];q.node().addEventListener("click",function(){return c(d,O)})}}function s(d,y,o){var x=o.xref+o.yref;l.setClipUrl(d,"clip"+y._fullLayout._uid+x,y)}function c(d,y){if(n(d)){var o=y.node(),x=+o.getAttribute("data-index");if(x>=0){if(x===d._fullLayout._activeSelectionIndex){f(d);return}d._fullLayout._activeSelectionIndex=x,d._fullLayout._deactivateSelection=f,r(d)}}}function p(d){if(n(d)){var y=d._fullLayout.selections.length-1;d._fullLayout._activeSelectionIndex=y,d._fullLayout._deactivateSelection=f,r(d)}}function f(d){if(n(d)){var y=d._fullLayout._activeSelectionIndex;y>=0&&(w(d),delete d._fullLayout._activeSelectionIndex,r(d))}}}}),sR=De({"node_modules/polybooljs/lib/build-log.js"(j,N){function u(){var v,w=0,S=!1;function l(e,t){return v.list.push({type:e,data:t?JSON.parse(JSON.stringify(t)):void 0}),v}return v={list:[],segmentId:function(){return w++},checkIntersection:function(e,t){return l("check",{seg1:e,seg2:t})},segmentChop:function(e,t){return l("div_seg",{seg:e,pt:t}),l("chop",{seg:e,pt:t})},statusRemove:function(e){return l("pop_seg",{seg:e})},segmentUpdate:function(e){return l("seg_update",{seg:e})},segmentNew:function(e,t){return l("new_seg",{seg:e,primary:t})},segmentRemove:function(e){return l("rem_seg",{seg:e})},tempStatus:function(e,t,a){return l("temp_status",{seg:e,above:t,below:a})},rewind:function(e){return l("rewind",{seg:e})},status:function(e,t,a){return l("status",{seg:e,above:t,below:a})},vert:function(e){return e===S?v:(S=e,l("vert",{x:e}))},log:function(e){return typeof e!="string"&&(e=JSON.stringify(e,!1," ")),l("log",{txt:e})},reset:function(){return l("reset")},selected:function(e){return l("selected",{segs:e})},chainStart:function(e){return l("chain_start",{seg:e})},chainRemoveHead:function(e,t){return l("chain_rem_head",{index:e,pt:t})},chainRemoveTail:function(e,t){return l("chain_rem_tail",{index:e,pt:t})},chainNew:function(e,t){return l("chain_new",{pt1:e,pt2:t})},chainMatch:function(e){return l("chain_match",{index:e})},chainClose:function(e){return l("chain_close",{index:e})},chainAddHead:function(e,t){return l("chain_add_head",{index:e,pt:t})},chainAddTail:function(e,t){return l("chain_add_tail",{index:e,pt:t})},chainConnect:function(e,t){return l("chain_con",{index1:e,index2:t})},chainReverse:function(e){return l("chain_rev",{index:e})},chainJoin:function(e,t){return l("chain_join",{index1:e,index2:t})},done:function(){return l("done")}},v}N.exports=u}}),lR=De({"node_modules/polybooljs/lib/epsilon.js"(j,N){function u(v){typeof v!="number"&&(v=1e-10);var w={epsilon:function(S){return typeof S=="number"&&(v=S),v},pointAboveOrOnLine:function(S,l,e){var t=l[0],a=l[1],r=e[0],n=e[1],i=S[0],s=S[1];return(r-t)*(s-a)-(n-a)*(i-t)>=-v},pointBetween:function(S,l,e){var t=S[1]-l[1],a=e[0]-l[0],r=S[0]-l[0],n=e[1]-l[1],i=r*a+t*n;if(i-v)},pointsSameX:function(S,l){return Math.abs(S[0]-l[0])v!=r-t>v&&(a-s)*(t-c)/(r-c)+s-e>v&&(n=!n),a=s,r=c}return n}};return w}N.exports=u}}),uR=De({"node_modules/polybooljs/lib/linked-list.js"(j,N){var u={create:function(){var v={root:{root:!0,next:null},exists:function(w){return!(w===null||w===v.root)},isEmpty:function(){return v.root.next===null},getHead:function(){return v.root.next},insertBefore:function(w,S){for(var l=v.root,e=v.root.next;e!==null;){if(S(e)){w.prev=e.prev,w.next=e,e.prev.next=w,e.prev=w;return}l=e,e=e.next}l.next=w,w.prev=l,w.next=null},findTransition:function(w){for(var S=v.root,l=v.root.next;l!==null&&!w(l);)S=l,l=l.next;return{before:S===v.root?null:S,after:l,insert:function(e){return e.prev=S,e.next=l,S.next=e,l!==null&&(l.prev=e),e}}}};return v},node:function(v){return v.prev=null,v.next=null,v.remove=function(){v.prev.next=v.next,v.next&&(v.next.prev=v.prev),v.prev=null,v.next=null},v}};N.exports=u}}),cR=De({"node_modules/polybooljs/lib/intersecter.js"(j,N){var u=uR();function v(w,S,l){function e(y,o){return{id:l?l.segmentId():-1,start:y,end:o,myFill:{above:null,below:null},otherFill:null}}function t(y,o,x){return{id:l?l.segmentId():-1,start:y,end:o,myFill:{above:x.myFill.above,below:x.myFill.below},otherFill:null}}var a=u.create();function r(y,o,x,M,T,E){var g=S.pointsCompare(o,T);return g!==0?g:S.pointsSame(x,E)?0:y!==M?y?1:-1:S.pointAboveOrOnLine(x,M?T:E,M?E:T)?1:-1}function n(y,o){a.insertBefore(y,function(x){var M=r(y.isStart,y.pt,o,x.isStart,x.pt,x.other.pt);return M<0})}function i(y,o){var x=u.node({isStart:!0,pt:y.start,seg:y,primary:o,other:null,status:null});return n(x,y.end),x}function s(y,o,x){var M=u.node({isStart:!1,pt:o.end,seg:o,primary:x,other:y,status:null});y.other=M,n(M,y.pt)}function c(y,o){var x=i(y,o);return s(x,y,o),x}function p(y,o){l&&l.segmentChop(y.seg,o),y.other.remove(),y.seg.end=o,y.other.pt=o,n(y.other,y.pt)}function f(y,o){var x=t(o,y.seg.end,y.seg);return p(y,o),c(x,y.primary)}function d(y,o){var x=u.create();function M(D,k){var B=D.seg.start,O=D.seg.end,q=k.seg.start,Y=k.seg.end;return S.pointsCollinear(B,q,Y)?S.pointsCollinear(O,q,Y)||S.pointAboveOrOnLine(O,q,Y)?1:-1:S.pointAboveOrOnLine(B,q,Y)?1:-1}function T(D){return x.findTransition(function(k){var B=M(D,k.ev);return B>0})}function E(D,k){var B=D.seg,O=k.seg,q=B.start,Y=B.end,ee=O.start,te=O.end;l&&l.checkIntersection(B,O);var ae=S.linesIntersect(q,Y,ee,te);if(ae===!1){if(!S.pointsCollinear(q,Y,ee)||S.pointsSame(q,te)||S.pointsSame(Y,ee))return!1;var U=S.pointsSame(q,ee),H=S.pointsSame(Y,te);if(U&&H)return k;var K=!U&&S.pointBetween(q,ee,te),V=!H&&S.pointBetween(Y,ee,te);if(U)return V?f(k,Y):f(D,te),k;K&&(H||(V?f(k,Y):f(D,te)),f(k,q))}else ae.alongA===0&&(ae.alongB===-1?f(D,ee):ae.alongB===0?f(D,ae.pt):ae.alongB===1&&f(D,te)),ae.alongB===0&&(ae.alongA===-1?f(k,q):ae.alongA===0?f(k,ae.pt):ae.alongA===1&&f(k,Y));return!1}for(var g=[];!a.isEmpty();){var A=a.getHead();if(l&&l.vert(A.pt[0]),A.isStart){let D=function(){if(b){var k=E(A,b);if(k)return k}return _?E(A,_):!1};var m=D;l&&l.segmentNew(A.seg,A.primary);var h=T(A),b=h.before?h.before.ev:null,_=h.after?h.after.ev:null;l&&l.tempStatus(A.seg,b?b.seg:!1,_?_.seg:!1);var I=D();if(I){if(w){var C;A.seg.myFill.below===null?C=!0:C=A.seg.myFill.above!==A.seg.myFill.below,C&&(I.seg.myFill.above=!I.seg.myFill.above)}else I.seg.otherFill=A.seg.myFill;l&&l.segmentUpdate(I.seg),A.other.remove(),A.remove()}if(a.getHead()!==A){l&&l.rewind(A.seg);continue}if(w){var C;A.seg.myFill.below===null?C=!0:C=A.seg.myFill.above!==A.seg.myFill.below,_?A.seg.myFill.below=_.seg.myFill.above:A.seg.myFill.below=y,C?A.seg.myFill.above=!A.seg.myFill.below:A.seg.myFill.above=A.seg.myFill.below}else if(A.seg.otherFill===null){var F;_?A.primary===_.primary?F=_.seg.otherFill.above:F=_.seg.myFill.above:F=A.primary?o:y,A.seg.otherFill={above:F,below:F}}l&&l.status(A.seg,b?b.seg:!1,_?_.seg:!1),A.other.status=h.insert(u.node({ev:A}))}else{var R=A.status;if(R===null)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(x.exists(R.prev)&&x.exists(R.next)&&E(R.prev.ev,R.next.ev),l&&l.statusRemove(R.ev.seg),R.remove(),!A.primary){var z=A.seg.myFill;A.seg.myFill=A.seg.otherFill,A.seg.otherFill=z}g.push(A.seg)}a.getHead().remove()}return l&&l.done(),g}return w?{addRegion:function(y){for(var o,x=y[y.length-1],M=0;Mt!=f>t&&e<(p-s)*(t-c)/(f-c)+s;d&&(a=!a)}return a}}}),C1=De({"src/lib/polygon.js"(j,N){"use strict";var u=O_().dot,v=Ho().BADNUM,w=N.exports={};w.tester=function(l){var e=l.slice(),t=e[0][0],a=t,r=e[0][1],n=r,i;for((e[e.length-1][0]!==e[0][0]||e[e.length-1][1]!==e[0][1])&&e.push(e[0]),i=1;ia||T===v||Tn||x&&c(o))}function f(o,x){var M=o[0],T=o[1];if(M===v||Ma||T===v||Tn)return!1;var E=e.length,g=e[0][0],A=e[0][1],m=0,h,b,_,I,C;for(h=1;hMath.max(b,g)||T>Math.max(_,A)))if(Ti||Math.abs(u(f,c))>a)return!0;return!1},w.filter=function(l,e){var t=[l[0]],a=0,r=0;function n(s){l.push(s);var c=t.length,p=a;t.splice(r+1);for(var f=p+1;f1){var i=l.pop();n(i)}return{addPt:n,raw:l,filtered:t}}}}),mR=De({"src/components/selections/constants.js"(j,N){"use strict";N.exports={BENDPX:1.5,MINSELECT:12,SELECTDELAY:100,SELECTID:"-select"}}}),gR=De({"src/components/selections/select.js"(j,N){"use strict";var u=vR(),v=pR(),w=hi(),S=Ki().dashStyle,l=ii(),e=uu(),t=Ch().makeEventData,a=Ed(),r=a.freeMode,n=a.rectMode,i=a.drawMode,s=a.openMode,c=a.selectMode,p=Yv(),f=E1(),d=$_(),y=qv().clearOutline,o=Wv(),x=o.handleEllipse,M=o.readPaths,T=Z_().newShapes,E=W3(),g=tw().activateLastSelection,A=Ar(),m=A.sorterAsc,h=C1(),b=q_(),_=lu().getFromId,I=S1(),C=k1().redrawReglTraces,F=mR(),R=F.MINSELECT,z=h.filter,D=h.tester,k=X_(),B=k.p2r,O=k.axValue,q=k.getTransform;function Y(Ee){return Ee.subplot!==void 0}function ee(Ee,ze,ve,_e,Ie){var Be=!Y(_e),We=r(Ie),Xe=n(Ie),mt=s(Ie),ft=i(Ie),ht=c(Ie),gt=Ie==="drawline",_t=Ie==="drawcircle",Ft=gt||_t,St=_e.gd,hr=St._fullLayout,jr=ht&&hr.newselection.mode==="immediate"&&Be,ra=hr._zoomlayer,$r=_e.element.getBoundingClientRect(),pa=_e.plotinfo,oa=q(pa),aa=ze-$r.left,ka=ve-$r.top;hr._calcInverseTransform(St);var Ta=A.apply3DTransform(hr._invTransform)(aa,ka);aa=Ta[0],ka=Ta[1];var Da=hr._invScaleX,La=hr._invScaleY,Ga=aa,xa=ka,Gn="M"+aa+","+ka,Pn=_e.xaxes[0],sn=_e.yaxes[0],Yn=Pn._length,Zn=sn._length,vi=Ee.altKey&&!(i(Ie)&&mt),Dn,oi,on,mn,bi,Li,$a;V(Ee,St,_e),We&&(Dn=z([[aa,ka]],F.BENDPX));var Va=ra.selectAll("path.select-outline-"+pa.id).data([1]),it=ft?hr.newshape:hr.newselection;ft&&(_e.hasText=it.label.text||it.label.texttemplate);var Qe=ft&&!mt?it.fillcolor:"rgba(0,0,0,0)",Jt=it.line.color||(Be?l.contrast(St._fullLayout.plot_bgcolor):"#7f7f7f");Va.enter().append("path").attr("class","select-outline select-outline-"+pa.id).style({opacity:ft?it.opacity/2:1,"stroke-dasharray":S(it.line.dash,it.line.width),"stroke-width":it.line.width+"px","shape-rendering":"crispEdges"}).call(l.stroke,Jt).call(l.fill,Qe).attr("fill-rule","evenodd").classed("cursor-move",!!ft).attr("transform",oa).attr("d",Gn+"Z");var Yt=ra.append("path").attr("class","zoombox-corners").style({fill:l.background,stroke:l.defaultLine,"stroke-width":1}).attr("transform",oa).attr("d","M0,0Z");if(ft&&_e.hasText){var ar=ra.select(".label-temp");ar.empty()&&(ar=ra.append("g").classed("label-temp",!0).classed("select-outline",!0).style({opacity:.8}))}var cr=hr._uid+F.SELECTID,tr=[],Je=re(St,_e.xaxes,_e.yaxes,_e.subplot);jr&&!Ee.shiftKey&&(_e._clearSubplotSelections=function(){if(Be){var qt=Pn._id,Qt=sn._id;Ve(St,qt,Qt,Je);for(var br=(St.layout||{}).selections||[],Ir=[],Cr=!1,Mr=0;Mr=0){St._fullLayout._deactivateShape(St);return}if(!ft){var br=hr.clickmode;b.done(cr).then(function(){if(b.clear(cr),qt===2){for(Va.remove(),bi=0;bi-1&&te(Qt,St,_e.xaxes,_e.yaxes,_e.subplot,_e,Va),br==="event"&&Kt(St,void 0);e.click(St,Qt,pa.id)}).catch(A.error)}},_e.doneFn=function(){Yt.remove(),b.done(cr).then(function(){b.clear(cr),!jr&&mn&&_e.selectionDefs&&(mn.subtract=vi,_e.selectionDefs.push(mn),_e.mergedPolygons.length=0,[].push.apply(_e.mergedPolygons,on)),(jr||ft)&&Z(_e,jr),_e.doneFnCompleted&&_e.doneFnCompleted(tr),ht&&Kt(St,$a)}).catch(A.error)}}function te(Ee,ze,ve,_e,Ie,Be,We){var Xe=ze._hoverdata,mt=ze._fullLayout,ft=mt.clickmode,ht=ft.indexOf("event")>-1,gt=[],_t,Ft,St,hr,jr,ra,$r,pa,oa,aa;if(me(Xe)){V(Ee,ze,Be),_t=re(ze,ve,_e,Ie);var ka=ye(Xe,_t),Ta=ka.pointNumbers.length>0;if(Ta?Se(_t,ka):Ce(_t)&&($r=Ae(ka))){for(We&&We.remove(),aa=0;aa<_t.length;aa++)Ft=_t[aa],Ft._module.selectPoints(Ft,!1);qe(ze,_t),Z(Be),ht&&nt(ze)}else{pa=Ee.shiftKey&&($r!==void 0?$r:Ae(ka)),St=ae(ka.pointNumber,ka.searchInfo,pa);var Da=Be.selectionDefs.concat([St]);for(hr=K(Da,hr),aa=0;aa<_t.length;aa++)if(jr=_t[aa]._module.selectPoints(_t[aa],hr),ra=he(jr,_t[aa]),gt.length)for(var La=0;La=0}function X(Ee){return Ee._fullLayout._activeSelectionIndex>=0}function Z(Ee,ze){var ve=Ee.dragmode,_e=Ee.plotinfo,Ie=Ee.gd;$(Ie)&&Ie._fullLayout._deactivateShape(Ie),X(Ie)&&Ie._fullLayout._deactivateSelection(Ie);var Be=Ie._fullLayout,We=Be._zoomlayer,Xe=i(ve),mt=c(ve);if(Xe||mt){var ft=We.selectAll(".select-outline-"+_e.id);if(ft&&Ie._fullLayout._outlining){var ht;Xe&&(ht=T(ft,Ee)),ht&&w.call("_guiRelayout",Ie,{shapes:ht});var gt;mt&&!Y(Ee)&&(gt=E(ft,Ee)),gt&&(Ie._fullLayout._noEmitSelectedAtStart=!0,w.call("_guiRelayout",Ie,{selections:gt}).then(function(){ze&&g(Ie)})),Ie._fullLayout._outlining=!1}}_e.selection={},_e.selection.selectionDefs=Ee.selectionDefs=[],_e.selection.mergedPolygons=Ee.mergedPolygons=[]}function Q(Ee){return Ee._id}function re(Ee,ze,ve,_e){if(!Ee.calcdata)return[];var Ie=[],Be=ze.map(Q),We=ve.map(Q),Xe,mt,ft;for(ft=0;ft0,Be=Ie?_e[0]:ve;return ze.selectedpoints?ze.selectedpoints.indexOf(Be)>-1:!1}function Se(Ee,ze){var ve=[],_e,Ie,Be,We;for(We=0;We0&&ve.push(_e);if(ve.length===1&&(Be=ve[0]===ze.searchInfo,Be&&(Ie=ze.searchInfo.cd[0].trace,Ie.selectedpoints.length===ze.pointNumbers.length))){for(We=0;We1||(ze+=_e.selectedpoints.length,ze>1)))return!1;return ze===1}function qe(Ee,ze,ve){var _e,Ie;for(_e=0;_e-1&&ze;if(!We&&ze){var qt=ut(Ee,!0);if(qt.length){var Qt=qt[0].xref,br=qt[0].yref;if(Qt&&br){var Ir=At(qt),Cr=Zt([_(Ee,Qt,"x"),_(Ee,br,"y")]);Cr(tr,Ir)}}Ee._fullLayout._noEmitSelectedAtStart?Ee._fullLayout._noEmitSelectedAtStart=!1:bt&&Kt(Ee,tr),_t._reselect=!1}if(!We&&_t._deselect){var Mr=_t._deselect;Xe=Mr.xref,mt=Mr.yref,Fe(Xe,mt,ht)||Ve(Ee,Xe,mt,_e),bt&&(tr.points.length?Kt(Ee,tr):nt(Ee)),_t._deselect=!1}return{eventData:tr,selectionTesters:ve}}function be(Ee){var ze=Ee.calcdata;if(ze)for(var ve=0;ve=0){it._fullLayout._deactivateShape(it);return}var Qe=it._fullLayout.clickmode;if(U(it),$a===2&&!he&&Dn(),xe)Qe.indexOf("select")>-1&&A(Va,it,Fe,Ve,ce.id,ft),Qe.indexOf("event")>-1&&n.click(it,Va,ce.id);else if($a===1&&he){var Jt=Ce?le:oe,Yt=Ce==="s"||qe==="w"?0:1,ar=Jt._name+".range["+Yt+"]",cr=D(Jt,Yt),tr="left",Je="middle";if(Jt.fixedrange)return;Ce?(Je=Ce==="n"?"top":"bottom",Jt.side==="right"&&(tr="right")):qe==="e"&&(tr="right"),it._context.showAxisRangeEntryBoxes&&u.select(mt).call(t.makeEditable,{gd:it,immediate:!0,background:it._fullLayout.paper_bgcolor,text:String(cr),fill:Jt.tickfont?Jt.tickfont.color:"#444",horizontalAlign:tr,verticalAlign:Je}).on("edit",function(bt){var qt=Jt.d2r(bt);qt!==void 0&&l.call("_guiRelayout",it,ar,qt)})}}c.init(ft);var _t,Ft,St,hr,jr,ra,$r,pa,oa,aa;function ka($a,Va,it){var Qe=mt.getBoundingClientRect();_t=Va-Qe.left,Ft=it-Qe.top,re._fullLayout._calcInverseTransform(re);var Jt=v.apply3DTransform(re._fullLayout._invTransform)(_t,Ft);_t=Jt[0],Ft=Jt[1],St={l:_t,r:_t,w:0,t:Ft,b:Ft,h:0},hr=re._hmpixcount?re._hmlumcount/re._hmpixcount:a.color(re._fullLayout.plot_bgcolor).luminosity(),jr="M0,0H"+st+"V"+yt+"H0V0",ra=!1,$r="xy",aa=!1,pa=Y(Ue,hr,je,ut,jr),oa=ee(Ue,je,ut)}function Ta($a,Va){if(re._transitioningWithDuration)return!1;var it=Math.max(0,Math.min(st,Ie*$a+_t)),Qe=Math.max(0,Math.min(yt,Be*Va+Ft)),Jt=Math.abs(it-_t),Yt=Math.abs(Qe-Ft);St.l=Math.min(_t,it),St.r=Math.max(_t,it),St.t=Math.min(Ft,Qe),St.b=Math.max(Ft,Qe);function ar(){$r="",St.r=St.l,St.t=St.b,oa.attr("d","M0,0Z")}if(At.isSubplotConstrained)Jt>_||Yt>_?($r="xy",Jt/st>Yt/yt?(Yt=Jt*yt/st,Ft>Qe?St.t=Ft-Yt:St.b=Ft+Yt):(Jt=Yt*st/yt,_t>it?St.l=_t-Jt:St.r=_t+Jt),oa.attr("d",$(St))):ar();else if(Pt.isSubplotConstrained)if(Jt>_||Yt>_){$r="xy";var cr=Math.min(St.l/st,(yt-St.b)/yt),tr=Math.max(St.r/st,(yt-St.t)/yt);St.l=cr*st,St.r=tr*st,St.b=(1-cr)*yt,St.t=(1-tr)*yt,oa.attr("d",$(St))}else ar();else!vr||Yt0){var bt;if(Pt.isSubplotConstrained||!Zt&&vr.length===1){for(bt=0;bt1&&(ar.maxallowed!==void 0&&Kt===(ar.range[0]1&&(cr.maxallowed!==void 0&&nt===(cr.range[0]=0?Math.min(re,.9):1/(1/Math.max(re,-.3)+3.222))}function q(re,ce,me){return re?re==="nsew"?me?"":ce==="pan"?"move":"crosshair":re.toLowerCase()+"-resize":"pointer"}function Y(re,ce,me,ye,Ae){return re.append("path").attr("class","zoombox").style({fill:ce>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",e(me,ye)).attr("d",Ae+"Z")}function ee(re,ce,me){return re.append("path").attr("class","zoombox-corners").style({fill:a.background,stroke:a.defaultLine,"stroke-width":1,opacity:0}).attr("transform",e(ce,me)).attr("d","M0,0Z")}function te(re,ce,me,ye,Ae,Se){re.attr("d",ye+"M"+me.l+","+me.t+"v"+me.h+"h"+me.w+"v-"+me.h+"h-"+me.w+"Z"),ae(re,ce,Ae,Se)}function ae(re,ce,me,ye){me||(re.transition().style("fill",ye>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),ce.transition().style("opacity",1).duration(200))}function U(re){u.select(re).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function H(re){I&&re.data&&re._context.showTips&&(v.notifier(v._(re,"Double-click to zoom back out"),"long",re),I=!1)}function K(re,ce){return"M"+(re.l-.5)+","+(ce-_-.5)+"h-3v"+(2*_+1)+"h3ZM"+(re.r+.5)+","+(ce-_-.5)+"h3v"+(2*_+1)+"h-3Z"}function V(re,ce){return"M"+(ce-_-.5)+","+(re.t-.5)+"v-3h"+(2*_+1)+"v3ZM"+(ce-_-.5)+","+(re.b+.5)+"v3h"+(2*_+1)+"v-3Z"}function $(re){var ce=Math.floor(Math.min(re.b-re.t,re.r-re.l,_)/2);return"M"+(re.l-3.5)+","+(re.t-.5+ce)+"h3v"+-ce+"h"+ce+"v-3h-"+(ce+3)+"ZM"+(re.r+3.5)+","+(re.t-.5+ce)+"h-3v"+-ce+"h"+-ce+"v-3h"+(ce+3)+"ZM"+(re.r+3.5)+","+(re.b+.5-ce)+"h-3v"+ce+"h"+-ce+"v3h"+(ce+3)+"ZM"+(re.l-3.5)+","+(re.b+.5-ce)+"h3v"+ce+"h"+ce+"v3h-"+(ce+3)+"Z"}function X(re,ce,me,ye,Ae){for(var Se=!1,Ce={},qe={},Ue,xe,he,oe,le=(Ae||{}).xaHash,ne=(Ae||{}).yaHash,be=0;be1&&v.warn("Full array edits are incompatible with other edits",c);var M=n[""][""];if(e(M))r.set(null);else if(Array.isArray(M))r.set(M);else return v.warn("Unrecognized full array edit value",c,M),!0;return y?!1:(p(o,x),f(a),!0)}var T=Object.keys(n).map(Number).sort(w),E=r.get(),g=E||[],A=s(x,c).get(),m=[],h=-1,b=g.length,_,I,C,F,R,z,D,k;for(_=0;_g.length-(D?0:1)){v.warn("index out of range",c,C);continue}if(z!==void 0)R.length>1&&v.warn("Insertion & removal are incompatible with edits to the same index.",c,C),e(z)?m.push(C):D?(z==="add"&&(z={}),g.splice(C,0,z),A&&A.splice(C,0,{})):v.warn("Unrecognized full object edit value",c,C,z),h===-1&&(h=C);else for(I=0;I=0;_--)g.splice(m[_],1),A&&A.splice(m[_],1);if(g.length?E||r.set(g):r.set(null),y)return!1;if(p(o,x),d!==u){var B;if(h===-1)B=T;else{for(b=Math.max(g.length,b),B=[],_=0;_=h));_++)B.push(C);for(_=h;_0&&v.log("Clearing previous rejected promises from queue."),y._promises=[]},j.cleanLayout=function(y){var o,x;y||(y={}),y.xaxis1&&(y.xaxis||(y.xaxis=y.xaxis1),delete y.xaxis1),y.yaxis1&&(y.yaxis||(y.yaxis=y.yaxis1),delete y.yaxis1),y.scene1&&(y.scene||(y.scene=y.scene1),delete y.scene1);var M=(w.subplotsRegistry.cartesian||{}).attrRegex,T=(w.subplotsRegistry.polar||{}).attrRegex,E=(w.subplotsRegistry.ternary||{}).attrRegex,g=(w.subplotsRegistry.gl3d||{}).attrRegex,A=Object.keys(y);for(o=0;o3?(z.x=1.02,z.xanchor="left"):z.x<-2&&(z.x=-.02,z.xanchor="right"),z.y>3?(z.y=1.02,z.yanchor="bottom"):z.y<-2&&(z.y=-.02,z.yanchor="top")),y.dragmode==="rotate"&&(y.dragmode="orbit"),y.template&&y.template.layout&&j.cleanLayout(y.template.layout),y};function r(y,o,x=!1){var M=y[o],T=o.charAt(0);x&&Array.isArray(M)||M&&M!=="paper"&&(y[o]=l(M,T,!0))}j.cleanData=function(y){for(var o=0;o0)return y.slice(0,o)}j.hasParent=function(y,o){for(var x=f(o);x;){if(x in y)return!0;x=f(x)}return!1},j.clearAxisTypes=function(y,o,x){for(var M=0;M{let x=(...M)=>M.every(T=>v.isPlainObject(T))||M.every(T=>Array.isArray(T));if([y,o].every(M=>Array.isArray(M))){if(y.length!==o.length)return!1;for(let M=0;Mv.isPlainObject(M))){if(Object.keys(y).length!==Object.keys(o).length)return!1;for(let M in y){if(M.startsWith("_"))continue;let T=y[M],E=o[M];if(T!==E&&!(x(T,E)?d(T,E):!1))return!1}return!0}return!1};j.collectionsAreEqual=d}}),ex=De({"src/plot_api/plot_api.js"(j){"use strict";var N=Qn(),u=io(),v=C3(),w=Ar(),S=w.nestedProperty,l=cm(),e=jP(),t=hi(),a=fm(),r=Il(),n=Vi(),i=B3(),s=hf(),c=Ki(),p=ii(),f=iw().initInteractions,d=Kh(),y=Sc().clearOutline,o=xp().dfltConfig,x=bR(),M=wR(),T=k1(),E=Ul(),g=gc().AX_NAME_PATTERN,A=0,m=5;function h(ve,_e,Ie,Be){var We;if(ve=w.getGraphDiv(ve),l.init(ve),w.isPlainObject(_e)){var Xe=_e;_e=Xe.data,Ie=Xe.layout,Be=Xe.config,We=Xe.frames}var mt=l.triggerHandler(ve,"plotly_beforeplot",[_e,Ie,Be]);if(mt===!1)return Promise.reject();!_e&&!Ie&&!w.isPlotDiv(ve)&&w.warn("Calling _doPlot as if redrawing but this container doesn't yet have a plot.",ve);function ft(){if(We)return j.addFrames(ve,We)}F(ve,Be),Ie||(Ie={}),N.select(ve).classed("js-plotly-plot",!0),c.makeTester(),Array.isArray(ve._promises)||(ve._promises=[]);var ht=(ve.data||[]).length===0&&Array.isArray(_e);Array.isArray(_e)&&(M.cleanData(_e),ht?ve.data=_e:ve.data.push.apply(ve.data,_e),ve.empty=!1),(!ve.layout||ht)&&(ve.layout=M.cleanLayout(Ie)),r.supplyDefaults(ve);var gt=ve._fullLayout,_t=gt._has("cartesian");gt._replotting=!0,(ht||gt._shouldCreateBgLayer)&&(ze(ve),gt._shouldCreateBgLayer&&delete gt._shouldCreateBgLayer),c.initGradients(ve),c.initPatterns(ve),ht&&n.saveShowSpikeInitial(ve);var Ft=!ve.calcdata||ve.calcdata.length!==(ve._fullData||[]).length;Ft&&r.doCalcdata(ve);for(var St=0;St=ve.data.length||We<-ve.data.length)throw new Error(Ie+" must be valid indices for gd.data.");if(_e.indexOf(We,Be+1)>-1||We>=0&&_e.indexOf(-ve.data.length+We)>-1||We<0&&_e.indexOf(ve.data.length+We)>-1)throw new Error("each index in "+Ie+" must be unique.")}}function B(ve,_e,Ie){if(!Array.isArray(ve.data))throw new Error("gd.data must be an array.");if(typeof _e>"u")throw new Error("currentIndices is a required argument.");if(Array.isArray(_e)||(_e=[_e]),k(ve,_e,"currentIndices"),typeof Ie<"u"&&!Array.isArray(Ie)&&(Ie=[Ie]),typeof Ie<"u"&&k(ve,Ie,"newIndices"),typeof Ie<"u"&&_e.length!==Ie.length)throw new Error("current and new indices must be of equal length.")}function O(ve,_e,Ie){var Be,We;if(!Array.isArray(ve.data))throw new Error("gd.data must be an array.");if(typeof _e>"u")throw new Error("traces must be defined.");for(Array.isArray(_e)||(_e=[_e]),Be=0;Be<_e.length;Be++)if(We=_e[Be],typeof We!="object"||Array.isArray(We)||We===null)throw new Error("all values in traces array must be non-array objects");if(typeof Ie<"u"&&!Array.isArray(Ie)&&(Ie=[Ie]),typeof Ie<"u"&&Ie.length!==_e.length)throw new Error("if indices is specified, traces.length must equal indices.length")}function q(ve,_e,Ie,Be){var We=w.isPlainObject(Be);if(!Array.isArray(ve.data))throw new Error("gd.data must be an array");if(!w.isPlainObject(_e))throw new Error("update must be a key:value object");if(typeof Ie>"u")throw new Error("indices must be an integer or array of integers");k(ve,Ie,"indices");for(var Xe in _e){if(!Array.isArray(_e[Xe])||_e[Xe].length!==Ie.length)throw new Error("attribute "+Xe+" must be an array of length equal to indices array length");if(We&&(!(Xe in Be)||!Array.isArray(Be[Xe])||Be[Xe].length!==_e[Xe].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 Y(ve,_e,Ie,Be){var We=w.isPlainObject(Be),Xe=[],mt,ft,ht,gt,_t;Array.isArray(Ie)||(Ie=[Ie]),Ie=D(Ie,ve.data.length-1);for(var Ft in _e)for(var St=0;St=0&&_t=0&&_t"u")return gt=j.redraw(ve),e.add(ve,We,mt,Xe,ft),gt;Array.isArray(Ie)||(Ie=[Ie]);try{B(ve,Be,Ie)}catch(_t){throw ve.data.splice(ve.data.length-_e.length,_e.length),_t}return e.startSequence(ve),e.add(ve,We,mt,Xe,ft),gt=j.moveTraces(ve,Be,Ie),e.stopSequence(ve),gt}function K(ve,_e){ve=w.getGraphDiv(ve);var Ie=[],Be=j.addTraces,We=K,Xe=[ve,Ie,_e],mt=[ve,_e],ft,ht;if(typeof _e>"u")throw new Error("indices must be an integer or array of integers.");for(Array.isArray(_e)||(_e=[_e]),k(ve,_e,"indices"),_e=D(_e,ve.data.length-1),_e.sort(w.sorterDes),ft=0;ft<_e.length;ft+=1)ht=ve.data.splice(_e[ft],1)[0],Ie.push(ht);var gt=j.redraw(ve);return e.add(ve,Be,Xe,We,mt),gt}function V(ve,_e,Ie){ve=w.getGraphDiv(ve);var Be=[],We=[],Xe=V,mt=V,ft=[ve,Ie,_e],ht=[ve,_e,Ie],gt;if(B(ve,_e,Ie),_e=Array.isArray(_e)?_e:[_e],typeof Ie>"u")for(Ie=[],gt=0;gt<_e.length;gt++)Ie.push(-_e.length+gt);for(Ie=Array.isArray(Ie)?Ie:[Ie],_e=D(_e,ve.data.length-1),Ie=D(Ie,ve.data.length-1),gt=0;gt0&&typeof Ga.parts[Pn]!="string";)Pn--;var sn=Ga.parts[Pn],Yn=Ga.parts[Pn-1]+"."+sn,Zn=Ga.parts.slice(0,Pn).join("."),vi=S(ve.layout,Zn).get(),Dn=S(Be,Zn).get(),oi=Ga.get();if(xa!==void 0){pa[La]=xa,oa[La]=sn==="reverse"?xa:X(oi);var on=a.getLayoutValObject(Be,Ga.parts);if(on&&on.impliedEdits&&xa!==null)for(var mn in on.impliedEdits)aa(w.relativeAttr(La,mn),on.impliedEdits[mn]);if(["width","height"].indexOf(La)!==-1)if(xa){aa("autosize",null);var bi=La==="height"?"width":"height";aa(bi,Be[bi])}else Be[La]=ve._initialAutoSize[La];else if(La==="autosize")aa("width",xa?null:Be.width),aa("height",xa?null:Be.height);else if(Yn.match(Se))Da(Yn),S(Be,Zn+"._inputRange").set(null);else if(Yn.match(Ce)){Da(Yn),S(Be,Zn+"._inputRange").set(null);var Li=S(Be,Zn).get();Li._inputDomain&&(Li._input.domain=Li._inputDomain.slice())}else Yn.match(qe)&&S(Be,Zn+"._inputDomain").set(null);if(sn==="type"){Ta=vi;var $a=Dn.type==="linear"&&xa==="log",Va=Dn.type==="log"&&xa==="linear";if($a||Va){if(!Ta||!Ta.range)aa(Zn+".autorange",!0);else if(Dn.autorange)$a&&(Ta.range=Ta.range[1]>Ta.range[0]?[1,2]:[2,1]);else{var it=Ta.range[0],Qe=Ta.range[1];$a?(it<=0&&Qe<=0&&aa(Zn+".autorange",!0),it<=0?it=Qe/1e6:Qe<=0&&(Qe=it/1e6),aa(Zn+".range[0]",Math.log(it)/Math.LN10),aa(Zn+".range[1]",Math.log(Qe)/Math.LN10)):(aa(Zn+".range[0]",Math.pow(10,it)),aa(Zn+".range[1]",Math.pow(10,Qe)))}Array.isArray(Be._subplots.polar)&&Be._subplots.polar.length&&Be[Ga.parts[0]]&&Ga.parts[1]==="radialaxis"&&delete Be[Ga.parts[0]]._subplot.viewInitial["radialaxis.range"],t.getComponentMethod("annotations","convertCoords")(ve,Dn,xa,aa),t.getComponentMethod("images","convertCoords")(ve,Dn,xa,aa)}else aa(Zn+".autorange",!0),aa(Zn+".range",null);S(Be,Zn+"._inputRange").set(null)}else if(sn.match(g)){var Jt=S(Be,La).get(),Yt=(xa||{}).type;(!Yt||Yt==="-")&&(Yt="linear"),t.getComponentMethod("annotations","convertCoords")(ve,Jt,Yt,aa),t.getComponentMethod("images","convertCoords")(ve,Jt,Yt,aa)}var ar=x.containerArrayMatch(La);if(ar){_t=ar.array,Ft=ar.index;var cr=ar.property,tr=on||{editType:"calc"};Ft!==""&&cr===""&&(x.isAddVal(xa)?oa[La]=null:x.isRemoveVal(xa)?oa[La]=(S(Ie,_t).get()||[])[Ft]:w.warn("unrecognized full object value",_e)),E.update($r,tr),gt[_t]||(gt[_t]={});var Je=gt[_t][Ft];Je||(Je=gt[_t][Ft]={}),Je[cr]=xa,delete _e[La]}else sn==="reverse"?(vi.range?vi.range.reverse():(aa(Zn+".autorange",!0),vi.range=[1,0]),Dn.autorange?$r.calc=!0:$r.plot=!0):(La==="dragmode"&&(xa===!1&&oi!==!1||xa!==!1&&oi===!1)||Be._has("scatter-like")&&Be._has("regl")&&La==="dragmode"&&(xa==="lasso"||xa==="select")&&!(oi==="lasso"||oi==="select")?$r.plot=!0:on?E.update($r,on):$r.calc=!0,Ga.set(xa))}}for(_t in gt){var bt=x.applyContainerArrayChanges(ve,Xe(Ie,_t),gt[_t],$r,Xe);bt||($r.plot=!0)}for(var qt in ka){Ta=n.getFromId(ve,qt);var Qt=Ta&&Ta._constraintGroup;if(Qt){$r.calc=!0;for(var br in Qt)ka[br]||(n.getFromId(ve,br)._constraintShrinkable=!0)}}(xe(ve)||_e.height||_e.width)&&($r.plot=!0);var Ir=Be.shapes;for(Ft=0;Ft1;)if(Be.pop(),Ie=S(_e,Be.join(".")+".uirevision").get(),Ie!==void 0)return Ie;return _e.uirevision}function Ve(ve,_e){for(var Ie=0;Ie<_e.length;Ie++)if(_e[Ie].uid===ve)return Ie;return-1}function je(ve,_e,Ie){for(var Be=0;Be<_e.length;Be++)if(_e[Be].uid===ve)return Be;return!_e[Ie]||_e[Ie].uid?-1:Ie}function ut(ve,_e){var Ie=w.isPlainObject(ve),Be=Array.isArray(ve);return Ie||Be?(Ie&&w.isPlainObject(_e)||Be&&Array.isArray(_e))&&JSON.stringify(ve)===JSON.stringify(_e):ve===_e}function st(ve,_e,Ie,Be){var We=Be._preGUI,Xe,mt,ft,ht,gt,_t,Ft,St,hr,jr,ra=[],$r={},pa={};for(Xe in We){if(gt=be(Xe,le),gt){if(hr=gt.head,jr=gt.tail,mt=gt.attr||hr+".uirevision",ft=S(Be,mt).get(),ht=ft&&Fe(mt,_e),ht&&ht===ft){if(_t=We[Xe],_t===null&&(_t=void 0),Ft=S(_e,Xe),St=Ft.get(),ut(St,_t)){St===void 0&&jr==="autorange"&&ra.push(hr),Ft.set(X(S(Be,Xe).get()));continue}else if(jr==="autorange"||jr.slice(0,6)==="range["){var oa=We[hr+".range[0]"],aa=We[hr+".range[1]"],ka=We[hr+".autorange"];if(ka||ka===null&&oa===null&&aa===null){if(!(hr in $r)){var Ta=S(_e,hr).get();$r[hr]=Ta&&(Ta.autorange||Ta.autorange!==!1&&(!Ta.range||Ta.range.length!==2))}if($r[hr]){Ft.set(X(S(Be,Xe).get()));continue}}}}}else w.warn("unrecognized GUI edit: "+Xe);delete We[Xe],gt&>.tail.slice(0,6)==="range["&&(pa[gt.head]=1)}for(var Da=0;Da[Zn,ve._ev.listeners(Zn)]);Xe=j.newPlot(ve,_e,Ie,Be).then(()=>{for(let[Zn,vi]of Yn)vi.forEach(Dn=>ve.on(Zn,Dn));return j.react(ve,_e,Ie,Be)})}else{ve.data=_e||[],M.cleanData(ve.data),ve.layout=Ie||{},M.cleanLayout(ve.layout),st(ve.data,ve.layout,ft,ht),r.supplyDefaults(ve,{skipUpdateCalc:!0});var Ft=ve._fullData,St=ve._fullLayout,hr=St.datarevision===void 0,jr=St.transition,ra=Pt(ve,ht,St,hr,jr),$r=ra.newDataRevision,pa=At(ve,ft,Ft,hr,jr,$r);if(xe(ve)&&(ra.layoutReplot=!0),pa.calc||ra.calc){ve.calcdata=void 0;for(var oa=Object.getOwnPropertyNames(St),aa=0;aa(_t||ve.emit("plotly_react",{config:Be,data:_e,layout:Ie}),ve))}function At(ve,_e,Ie,Be,We,Xe){var mt=_e.length===Ie.length;if(!We&&!mt)return{fullReplot:!0,calc:!0};var ft=E.traceFlags();ft.arrays={},ft.nChanges=0,ft.nChangesAnim=0;var ht,gt;function _t(hr){var jr=a.getTraceValObject(gt,hr);return!gt._module.animatable&&jr.anim&&(jr.anim=!1),jr}var Ft={getValObject:_t,flags:ft,immutable:Be,transition:We,newDataRevision:Xe,gd:ve},St={};for(ht=0;ht<_e.length;ht++)if(Ie[ht]){if(gt=Ie[ht],St[gt.uid])continue;St[gt.uid]=1,Zt(_e[ht],gt,[],Ft)}return(ft.calc||ft.plot)&&(ft.fullReplot=!0),We&&ft.nChanges&&ft.nChangesAnim&&(ft.anim=ft.nChanges===ft.nChangesAnim&&mt?"all":"some"),ft}function Pt(ve,_e,Ie,Be,We){var Xe=E.layoutFlags();Xe.arrays={},Xe.rangesAltered={},Xe.nChanges=0,Xe.nChangesAnim=0;function mt(St){return a.getLayoutValObject(Ie,St)}for(var ft in Ie)if(!(!ft.startsWith("xaxis")&&!ft.startsWith("yaxis"))&&_e[ft]){var ht=Ie[ft].domain,gt=_e[ft].domain,_t=_e[ft]._inputDomain;_e[ft]._inputDomain&&(ht[0]===_t[0]&&ht[1]===_t[1]?Ie[ft].domain=_e[ft].domain:(ht[0]!==gt[0]||ht[1]!==gt[1])&&(Ie[ft]._inputDomain=null))}var Ft={getValObject:mt,flags:Xe,immutable:Be,transition:We,gd:ve};return Zt(_e,Ie,[],Ft),(Xe.plot||Xe.calc)&&(Xe.layoutReplot=!0),We&&Xe.nChanges&&Xe.nChangesAnim&&(Xe.anim=Xe.nChanges===Xe.nChangesAnim?"all":"some"),Xe}function Zt(ve,_e,Ie,Be){var We,Xe,mt,ft=Be.getValObject,ht=Be.flags,gt=Be.immutable,_t=Be.inArray,Ft=Be.arrayIndex;function St(){var Zn=We.editType;if(_t&&Zn.indexOf("arraydraw")!==-1){w.pushUnique(ht.arrays[_t],Ft);return}E.update(ht,We),Zn!=="none"&&ht.nChanges++,Be.transition&&We.anim&&ht.nChangesAnim++,(Se.test(mt)||Ce.test(mt))&&(ht.rangesAltered[Ie[0]]=1),Xe==="datarevision"&&(ht.newDataRevision=1)}function hr(Zn){return Zn.valType==="data_array"||Zn.arrayOk}for(Xe in ve){if(ht.calc&&!Be.transition)return;var jr=ve[Xe],ra=_e[Xe],$r=Ie.concat(Xe);if(mt=$r.join("."),!(Xe.charAt(0)==="_"||typeof jr=="function"||jr===ra)){if((Xe==="tick0"||Xe==="dtick")&&Ie[0]!=="geo"){var pa=_e.tickmode;if(pa==="auto"||pa==="array"||!pa)continue}if(!(Xe==="range"&&_e.autorange)&&!((Xe==="zmin"||Xe==="zmax")&&_e.type==="contourcarpet")&&(We=ft($r),!!We&&!(We._compareAsJSON&&JSON.stringify(jr)===JSON.stringify(ra)))){var oa=We.valType,aa,ka=hr(We),Ta=Array.isArray(jr),Da=Array.isArray(ra);if(Ta&&Da){var La="_input_"+Xe,Ga=ve[La],xa=_e[La];if(Array.isArray(Ga)&&Ga===xa)continue}if(ra===void 0)ka&&Ta?ht.calc=!0:St();else if(We._isLinkedToArray){var Gn=[],Pn=!1;_t||(ht.arrays[Xe]=Gn);var sn=Math.min(jr.length,ra.length),Yn=Math.max(jr.length,ra.length);if(sn!==Yn)if(We.editType==="arraydraw")Pn=!0;else{St();continue}for(aa=0;aa=We.length?We[0]:We[gt]:We}function ft(gt){return Array.isArray(Xe)?gt>=Xe.length?Xe[0]:Xe[gt]:Xe}function ht(gt,_t){var Ft=0;return function(){if(gt&&++Ft===_t)return gt()}}return new Promise(function(gt,_t){function Ft(){if(Be._frameQueue.length!==0){for(;Be._frameQueue.length;){var sn=Be._frameQueue.pop();sn.onInterrupt&&sn.onInterrupt()}ve.emit("plotly_animationinterrupted",[])}}function St(sn){if(sn.length!==0){for(var Yn=0;YnBe._timeToNext&&jr()};sn()}var $r=0;function pa(sn){return Array.isArray(We)?$r>=We.length?sn.transitionOpts=We[$r]:sn.transitionOpts=We[0]:sn.transitionOpts=We,$r++,sn}var oa,aa,ka=[],Ta=_e==null,Da=Array.isArray(_e),La=!Ta&&!Da&&w.isPlainObject(_e);if(La)ka.push({type:"object",data:pa(w.extendFlat({},_e))});else if(Ta||["string","number"].indexOf(typeof _e)!==-1)for(oa=0;oa0&&GnGn)&&Pn.push(aa);ka=Pn}}ka.length>0?St(ka):(ve.emit("plotly_animated"),gt())})}function Nt(ve,_e,Ie){if(ve=w.getGraphDiv(ve),_e==null)return Promise.resolve();if(!w.isPlotDiv(ve))throw new Error("This element is not a Plotly plot: "+ve+". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/");var Be,We,Xe,mt,ft=ve._transitionData._frames,ht=ve._transitionData._frameHash;if(!Array.isArray(_e))throw new Error("addFrames failure: frameList must be an Array of frame definitions"+_e);var gt=ft.length+_e.length*2,_t=[],Ft={};for(Be=_e.length-1;Be>=0;Be--)if(w.isPlainObject(_e[Be])){var St=_e[Be].name,hr=(ht[St]||Ft[St]||{}).name,jr=_e[Be].name,ra=ht[hr]||Ft[hr];hr&&jr&&typeof jr=="number"&&ra&&AGa.index?-1:La.index=0;Be--){if(We=_t[Be].frame,typeof We.name=="number"&&w.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!We.name)for(;ht[We.name="frame "+ve._transitionData._counter++];);if(ht[We.name]){for(Xe=0;Xe=0;Ie--)Be=_e[Ie],Xe.push({type:"delete",index:Be}),mt.unshift({type:"insert",index:Be,value:We[Be]});var ft=r.modifyFrames,ht=r.modifyFrames,gt=[ve,mt],_t=[ve,Xe];return e&&e.add(ve,ft,gt,ht,_t),r.modifyFrames(ve,Xe)}function nt(ve){ve=w.getGraphDiv(ve);var _e=ve._fullLayout||{},Ie=ve._fullData||[];return r.cleanPlot([],{},Ie,_e),r.purge(ve),l.purge(ve),_e._container&&_e._container.remove(),delete ve._context,ve}function Ee(ve){var _e=ve._fullLayout,Ie=ve.getBoundingClientRect();if(!w.equalDomRects(Ie,_e._lastBBox)){var Be=_e._invTransform=w.inverseTransformMatrix(w.getFullTransformMatrix(ve));_e._invScaleX=Math.sqrt(Be[0][0]*Be[0][0]+Be[0][1]*Be[0][1]+Be[0][2]*Be[0][2]),_e._invScaleY=Math.sqrt(Be[1][0]*Be[1][0]+Be[1][1]*Be[1][1]+Be[1][2]*Be[1][2]),_e._lastBBox=Ie}}function ze(ve){var _e=N.select(ve),Ie=ve._fullLayout;if(Ie._calcInverseTransform=Ee,Ie._calcInverseTransform(ve),Ie._container=_e.selectAll(".plot-container").data([0]),Ie._container.enter().insert("div",":first-child").classed("plot-container",!0).classed("plotly",!0).style({width:"100%",height:"100%"}),Ie._paperdiv=Ie._container.selectAll(".svg-container").data([0]),Ie._paperdiv.enter().append("div").classed("user-select-none",!0).classed("svg-container",!0).style("position","relative"),Ie._glcontainer=Ie._paperdiv.selectAll(".gl-container").data([{}]),Ie._glcontainer.enter().append("div").classed("gl-container",!0),Ie._paperdiv.selectAll(".main-svg").remove(),Ie._paperdiv.select(".modebar-container").remove(),Ie._paper=Ie._paperdiv.insert("svg",":first-child").classed("main-svg",!0),Ie._toppaper=Ie._paperdiv.append("svg").classed("main-svg",!0),Ie._modebardiv=Ie._paperdiv.append("div"),delete Ie._modeBar,Ie._hoverpaper=Ie._paperdiv.append("svg").classed("main-svg",!0),!Ie._uid){var Be={};N.selectAll("defs").each(function(){this.id&&(Be[this.id.split("-")[1]]=1)}),Ie._uid=w.randstr(Be)}Ie._paperdiv.selectAll(".main-svg").attr(d.svgAttrs),Ie._defs=Ie._paper.append("defs").attr("id","defs-"+Ie._uid),Ie._clips=Ie._defs.append("g").classed("clips",!0),Ie._topdefs=Ie._toppaper.append("defs").attr("id","topdefs-"+Ie._uid),Ie._topclips=Ie._topdefs.append("g").classed("clips",!0),Ie._bgLayer=Ie._paper.append("g").classed("bglayer",!0),Ie._draggers=Ie._paper.append("g").classed("draglayer",!0);var We=Ie._paper.append("g").classed("layer-below",!0);Ie._imageLowerLayer=We.append("g").classed("imagelayer",!0),Ie._shapeLowerLayer=We.append("g").classed("shapelayer",!0),Ie._cartesianlayer=Ie._paper.append("g").classed("cartesianlayer",!0),Ie._polarlayer=Ie._paper.append("g").classed("polarlayer",!0),Ie._smithlayer=Ie._paper.append("g").classed("smithlayer",!0),Ie._ternarylayer=Ie._paper.append("g").classed("ternarylayer",!0),Ie._geolayer=Ie._paper.append("g").classed("geolayer",!0),Ie._funnelarealayer=Ie._paper.append("g").classed("funnelarealayer",!0),Ie._pielayer=Ie._paper.append("g").classed("pielayer",!0),Ie._iciclelayer=Ie._paper.append("g").classed("iciclelayer",!0),Ie._treemaplayer=Ie._paper.append("g").classed("treemaplayer",!0),Ie._sunburstlayer=Ie._paper.append("g").classed("sunburstlayer",!0),Ie._indicatorlayer=Ie._toppaper.append("g").classed("indicatorlayer",!0),Ie._glimages=Ie._paper.append("g").classed("glimages",!0);var Xe=Ie._toppaper.append("g").classed("layer-above",!0);Ie._imageUpperLayer=Xe.append("g").classed("imagelayer",!0),Ie._shapeUpperLayer=Xe.append("g").classed("shapelayer",!0),Ie._selectionLayer=Ie._toppaper.append("g").classed("selectionlayer",!0),Ie._infolayer=Ie._toppaper.append("g").classed("infolayer",!0),Ie._menulayer=Ie._toppaper.append("g").classed("menulayer",!0),Ie._zoomlayer=Ie._toppaper.append("g").classed("zoomlayer",!0),Ie._hoverlayer=Ie._hoverpaper.append("g").classed("hoverlayer",!0),Ie._modebardiv.classed("modebar-container",!0).style("position","absolute").style("top","0px").style("right","0px"),ve.emit("plotly_framework")}j.animate=vr,j.addFrames=Nt,j.deleteFrames=Kt,j.addTraces=H,j.deleteTraces=K,j.extendTraces=ae,j.moveTraces=V,j.prependTraces=U,j.newPlot=z,j._doPlot=h,j.purge=nt,j.react=yt,j.redraw=R,j.relayout=me,j.restyle=$,j.setPlotConfig=_,j.update=he,j._guiRelayout=oe(me),j._guiRestyle=oe($),j._guiUpdate=oe(he),j._storeDirectGUIEdit=re}}),$d=De({"src/snapshot/helpers.js"(j){"use strict";var N=hi();j.getDelay=function(w){return w._has&&(w._has("gl3d")||w._has("map"))?500:0},j.getRedrawFunc=function(w){return function(){N.getComponentMethod("colorbar","draw")(w)}},j.encodeSVG=function(w){return"data:image/svg+xml,"+encodeURIComponent(w)},j.encodeJSON=function(w){return"data:application/json,"+encodeURIComponent(w)};var u=window.URL||window.webkitURL;j.createObjectURL=function(w){return u.createObjectURL(w)},j.revokeObjectURL=function(w){return u.revokeObjectURL(w)},j.createBlob=function(w,S){if(S==="svg")return new window.Blob([w],{type:"image/svg+xml;charset=utf-8"});if(S==="full-json")return new window.Blob([w],{type:"application/json;charset=utf-8"});var l=v(window.atob(w));return new window.Blob([l],{type:"image/"+S})},j.octetStream=function(w){document.location.href="data:application/octet-stream"+w},j.getPlotTitle=function(w){var S,l,e,t,a=w._fullLayout;if(a){var r=(S=a.title)==null?void 0:S.text;return r===((l=a._dfltTitle)==null?void 0:l.plot)?void 0:r}return(t=(e=w.layout)==null?void 0:e.title)==null?void 0:t.text},j.getPlotSubtitle=function(w){var S,l,e,t,a,r,n=w._fullLayout;if(n){var i=(l=(S=n.title)==null?void 0:S.subtitle)==null?void 0:l.text;return i===((e=n._dfltTitle)==null?void 0:e.subtitle)?void 0:i}return(r=(a=(t=w.layout)==null?void 0:t.title)==null?void 0:a.subtitle)==null?void 0:r.text};function v(w){for(var S=w.length,l=new ArrayBuffer(S),e=new Uint8Array(l),t=0;t{let o=y.toLowerCase();return r.includes(o)?y:n.includes(o)?"<":i.includes(o)?">":y.includes("<")||y.includes(">")?"":f.html(y).text()});return f.remove(),d}function c(p){return p.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")}N.exports=function(f,d,y){var o=f._fullLayout,x=o._paper,M=o._toppaper,T=o.width,E=o.height,g;x.insert("rect",":first-child").call(w.setRect,0,0,T,E).call(S.fill,o.paper_bgcolor);var A=o._basePlotModules||[];for(g=0;g1&&E.push(s("object","layout"))),v.supplyDefaults(g);for(var h=g._fullData,b=A.length,_=0;_I.length&&T.push(s("unused",E,b.concat(I.length)));var k=I.length,B=Array.isArray(D);B&&(k=Math.min(k,D.length));var O,q,Y,ee,te;if(C.dimensions===2)for(q=0;qI[q].length&&T.push(s("unused",E,b.concat(q,I[q].length)));var ae=I[q].length;for(O=0;O<(B?Math.min(ae,D[q].length):ae);O++)Y=B?D[q][O]:D,ee=_[q][O],te=I[q][O],u.validate(ee,Y)?te!==ee&&te!==+ee&&T.push(s("dynamic",E,b.concat(q,O),ee,te)):T.push(s("value",E,b.concat(q,O),ee))}else T.push(s("array",E,b.concat(q),_[q]));else for(q=0;qR?T.push({code:"unused",traceType:_,templateCount:F,dataCount:R}):R>F&&T.push({code:"reused",traceType:_,templateCount:F,dataCount:R})}}function z(D,k){for(var B in D)if(B.charAt(0)!=="_"){var O=D[B],q=s(D,B,k);u(O)?(Array.isArray(D)&&O._template===!1&&O.templateitemname&&T.push({code:"missing",path:q,templateitemname:O.templateitemname}),z(O,q)):Array.isArray(O)&&c(O)&&z(O,q)}}if(z({data:g,layout:E},""),T.length)return T.map(p)};function c(f){for(var d=0;d=0;p--){var f=l[p];if(f.type==="scatter"&&f.xaxis===s.xaxis&&f.yaxis===s.yaxis){f.opacity=void 0;break}}}}}}}),CR=De({"src/traces/scatter/layout_defaults.js"(j,N){"use strict";var u=Ar(),v=G_();N.exports=function(w,S){function l(t,a){return u.coerce(w,S,v,t,a)}var e=S.barmode==="group";S.scattermode==="group"&&l("scattergap",e?S.bargap:.2)}}}),hd=De({"src/plots/cartesian/align_period.js"(j,N){"use strict";var u=io(),v=Ar(),w=v.dateTime2ms,S=v.incrementMonth,l=Ho(),e=l.ONEAVGMONTH;N.exports=function(a,r,n,i){if(r.type!=="date")return{vals:i};var s=a[n+"periodalignment"];if(!s)return{vals:i};var c=a[n+"period"],p;if(u(c)){if(c=+c,c<=0)return{vals:i}}else if(typeof c=="string"&&c.charAt(0)==="M"){var f=+c.substring(1);if(f>0&&Math.round(f)===f)p=f;else return{vals:i}}for(var d=r.calendar,y=s==="start",o=s==="end",x=a[n+"period0"],M=w(x,d)||0,T=[],E=[],g=[],A=i.length,m=0;mh;)I=S(I,-p,d);for(;I<=h;)I=S(I,p,d);_=S(I,-p,d)}else{for(b=Math.round((h-M)/c),I=M+b*c;I>h;)I-=c;for(;I<=h;)I+=c;_=I-c}T[m]=y?_:o?I:(_+I)/2,E[m]=_,g[m]=I}return{vals:T,starts:E,ends:g}}}}),Qh=De({"src/traces/scatter/colorscale_calc.js"(j,N){"use strict";var u=Of().hasColorscale,v=Wf(),w=Sl();N.exports=function(l,e){w.hasLines(e)&&u(e,"line")&&v(l,e,{vals:e.line.color,containerStr:"line",cLetter:"c"}),w.hasMarkers(e)&&(u(e,"marker")&&v(l,e,{vals:e.marker.color,containerStr:"marker",cLetter:"c"}),u(e,"marker.line")&&v(l,e,{vals:e.marker.line.color,containerStr:"marker.line",cLetter:"c"}))}}}),Pd=De({"src/traces/scatter/arrays_to_calcdata.js"(j,N){"use strict";var u=Ar();N.exports=function(w,S){for(var l=0;lz&&_[k].gap;)k--;for(O=_[k].s,D=_.length-1;D>k;D--)_[D].s=O;for(;zee+q||!u(Y))}for(var ae=0;aek(O))):k(R.text);let B=R.outsidetextfont.size*r*D+a;return{ppadplus:z.some(O=>O.s<0)?B:0,ppadminus:z.some(O=>O.s>=0)?B:0}}return{ppadplus:void 0,ppadminus:void 0}}function I(R,z,D,k){for(var B=F(k),O=0;OF[d]&&d0?l:e)/(d._m*x*(d._m>0?l:e)))),gt*=1e3}if(_t===w){if(o&&(_t=d.c2p(ht.y,!0)),_t===w)return!1;_t*=1e3}return[gt,_t]}function Q(ft,ht,gt,_t){var Ft=gt-ft,St=_t-ht,hr=.5-ft,jr=.5-ht,ra=Ft*Ft+St*St,$r=Ft*hr+St*jr;if($r>0&&$r1||Math.abs(hr.y-gt[0][1])>1)&&(hr=[hr.x,hr.y],_t&&ye(hr,ft)Ce||ft[1]Ue)return[r(ft[0],Se,Ce),r(ft[1],qe,Ue)]}function ut(ft,ht){if(ft[0]===ht[0]&&(ft[0]===Se||ft[0]===Ce)||ft[1]===ht[1]&&(ft[1]===qe||ft[1]===Ue))return!0}function st(ft,ht){var gt=[],_t=je(ft),Ft=je(ht);return _t&&Ft&&ut(_t,Ft)||(_t&>.push(_t),Ft&>.push(Ft)),gt}function yt(ft,ht,gt){return function(_t,Ft){var St=je(_t),hr=je(Ft),jr=[];if(St&&hr&&ut(St,hr))return jr;St&&jr.push(St),hr&&jr.push(hr);var ra=2*t.constrain((_t[ft]+Ft[ft])/2,ht,gt)-((St||_t)[ft]+(hr||Ft)[ft]);if(ra){var $r;St&&hr?$r=ra>0==St[ft]>hr[ft]?St:hr:$r=St||hr,$r[ft]+=ra}return jr}}var At;m==="linear"||m==="spline"?At=Ve:m==="hv"||m==="vh"?At=st:m==="hvh"?At=yt(0,Se,Ce):m==="vhv"&&(At=yt(1,qe,Ue));function Pt(ft,ht){var gt=ht[0]-ft[0],_t=(ht[1]-ft[1])/gt,Ft=(ft[1]*ht[0]-ht[1]*ft[0])/gt;return Ft>0?[_t>0?Se:Ce,Ue]:[_t>0?Ce:Se,qe]}function Zt(ft){var ht=ft[0],gt=ft[1],_t=ht===F[R-1][0],Ft=gt===F[R-1][1];if(!(_t&&Ft))if(R>1){var St=ht===F[R-2][0],hr=gt===F[R-2][1];_t&&(ht===Se||ht===Ce)&&St?hr?R--:F[R-1]=ft:Ft&&(gt===qe||gt===Ue)&&hr?St?R--:F[R-1]=ft:F[R++]=ft}else F[R++]=ft}function vr(ft){F[R-1][0]!==ft[0]&&F[R-1][1]!==ft[1]&&Zt([le,ne]),Zt(ft),be=null,le=ne=0}var Nt=t.isArrayOrTypedArray(E);function Kt(ft){if(ft&&T&&(ft.i=z,ft.d=s,ft.trace=p,ft.marker=Nt?E[ft.i]:E,ft.backoff=T),re=ft[0]/x,ce=ft[1]/M,he=ft[0]Ce?Ce:0,oe=ft[1]Ue?Ue:0,he||oe){if(!R)F[R++]=[he||ft[0],oe||ft[1]];else if(be){var ht=At(be,ft);ht.length>1&&(vr(ht[0]),F[R++]=ht[1])}else Fe=At(F[R-1],ft)[0],F[R++]=Fe;var gt=F[R-1];he&&oe&&(gt[0]!==he||gt[1]!==oe)?(be&&(le!==he&&ne!==oe?Zt(le&&ne?Pt(be,ft):[le||he,ne||oe]):le&&ne&&Zt([le,ne])),Zt([he,oe])):le-he&&ne-oe&&Zt([he||le,oe||ne]),be=ft,le=he,ne=oe}else be&&vr(At(be,ft)[0]),F[R++]=ft}for(z=0;zme(q,nt))break;k=q,K=te[0]*ee[0]+te[1]*ee[1],K>U?(U=K,B=q,Y=!1):K=s.length||!q)break;Kt(q),D=q}}be&&Zt([le||be[0],ne||be[1]]),_.push(F.slice(0,R))}var Ee=m.slice(m.length-1);if(T&&Ee!=="h"&&Ee!=="v"){for(var ze=!1,ve=-1,_e=[],Ie=0;Ie<_.length;Ie++)for(var Be=0;Be<_[Ie].length-1;Be++){var We=_[Ie][Be],Xe=_[Ie][Be+1],mt=u.applyBackoff(Xe,We);(mt[0]!==Xe[0]||mt[1]!==Xe[1])&&(ze=!0),_e[ve+1]||(ve++,_e[ve]=[We,[mt[0],mt[1]]])}return ze?_e:_}return _}}}),cw=De({"src/traces/scatter/link_traces.js"(j,N){"use strict";var u={tonextx:1,tonexty:1,tonext:1};N.exports=function(w,S,l){var e,t,a,r,n,i={},s=!1,c=-1,p=0,f=-1;for(t=0;t=0?n=f:(n=f=p,p++),n0,m=r(f,d,y);if(T=o.selectAll("g.trace").data(m,function(b){return b[0].trace.uid}),T.enter().append("g").attr("class",function(b){return"trace scatter trace"+b[0].trace.uid}).style("stroke-miterlimit",2),T.order(),i(f,T,d),A){M&&(E=M());var h=u.transition().duration(x.duration).ease(x.easing).each("end",function(){E&&E()}).each("interrupt",function(){E&&E()});h.each(function(){o.selectAll("g.trace").each(function(b,_){s(f,_,d,b,m,this,x)})})}else T.each(function(b,_){s(f,_,d,b,m,this,x)});g&&T.exit().remove(),o.selectAll("path:not([d])").remove()};function i(p,f,d){f.each(function(y){var o=S(u.select(this),"g","fills");e.setClipUrl(o,d.layerClipId,p);var x=y[0].trace;x._ownFill=null,x._nextFill=null;var M=[];x._ownfill&&M.push("_ownFill"),x._nexttrace&&M.push("_nextFill");var T=o.selectAll("g").data(M,l);T.enter().append("g"),T.exit().remove(),T.order().each(function(E){x[E]=S(u.select(this),"path","js-fill")})})}function s(p,f,d,y,o,x,M){var T=p._context.staticPlot,E;c(p,f,d,y,o);var g=!!M&&M.duration>0;function A(Zt){return g?Zt.transition():Zt}var m=d.xaxis,h=d.yaxis,b=y[0].trace,_=b.line,I=u.select(x),C=S(I,"g","errorbars"),F=S(I,"g","lines"),R=S(I,"g","points"),z=S(I,"g","text");if(v.getComponentMethod("errorbars","plot")(p,C,d,M),b.visible!==!0)return;A(I).style("opacity",b.opacity);var D,k,B=b.fill.charAt(b.fill.length-1);B!=="x"&&B!=="y"&&(B="");var O,q;B==="y"?(O=1,q=h.c2p(0,!0)):B==="x"&&(O=0,q=m.c2p(0,!0)),y[0][d.isRangePlot?"nodeRangePlot3":"node3"]=I;var Y="",ee=[],te=b._prevtrace,ae=null,U=null;te&&(Y=te._prevRevpath||"",k=te._nextFill,ee=te._ownPolygons,ae=te._fillsegments,U=te._fillElement);var H,K,V="",$="",X,Z,Q,re,ce,me,ye=[];b._polygons=[];var Ae=[],Se=[],Ce=w.noop;if(D=b._ownFill,t.hasLines(b)||b.fill!=="none"){k&&k.datum(y),["hv","vh","hvh","vhv"].indexOf(_.shape)!==-1?(X=e.steps(_.shape),Z=e.steps(_.shape.split("").reverse().join(""))):_.shape==="spline"?X=Z=function(Zt){var vr=Zt[Zt.length-1];return Zt.length>1&&Zt[0][0]===vr[0]&&Zt[0][1]===vr[1]?e.smoothclosed(Zt.slice(1),_.smoothing):e.smoothopen(Zt,_.smoothing)}:X=Z=function(Zt){return"M"+Zt.join("L")},Q=function(Zt){return Z(Zt.reverse())},Se=a(y,{xaxis:m,yaxis:h,trace:b,connectGaps:b.connectgaps,baseTolerance:Math.max(_.width||1,3)/4,shape:_.shape,backoff:_.backoff,simplify:_.simplify,fill:b.fill}),Ae=new Array(Se.length);var qe=0;for(E=0;E=T[0]&&I.x<=T[1]&&I.y>=E[0]&&I.y<=E[1]}),h=Math.ceil(m.length/A),b=0;o.forEach(function(I,C){var F=I[0].trace;t.hasMarkers(F)&&F.marker.maxdisplayed>0&&C=Math.min(te,ae)&&d<=Math.max(te,ae)?0:1/0}var U=Math.max(3,ee.mrc||0),H=1-1/U,K=Math.abs(p.c2p(ee.x)-d);return K=Math.min(te,ae)&&y<=Math.max(te,ae)?0:1/0}var U=Math.max(3,ee.mrc||0),H=1-1/U,K=Math.abs(f.c2p(ee.y)-y);return K$!=Ae>=$&&(ce=Q[Z-1][0],me=Q[Z][0],Ae-ye&&(re=ce+(me-ce)*($-ye)/(Ae-ye),U=Math.min(U,re),H=Math.max(H,re)));return U=Math.max(U,0),H=Math.min(H,p._length),{x0:U,x1:H,y0:$,y1:$}}if(x.indexOf("fills")!==-1&&c._fillElement){var O=k(c._fillElement)&&!k(c._fillExclusionElement);if(O){var q=B(c._polygons);q===null&&(q={x0:o[0],x1:o[0],y0:o[1],y1:o[1]});var Y=l.defaultLine;return l.opacity(c.fillcolor)?Y=c.fillcolor:l.opacity((c.line||{}).color)&&(Y=c.line.color),u.extendFlat(a,{distance:a.maxHoverDistance,x0:q.x0,x1:q.x1,y0:q.y0,y1:q.y1,color:Y,hovertemplate:!1}),delete a.index,c.text&&!u.isArrayOrTypedArray(c.text)?a.text=String(c.text):a.text=c.name,[a]}}}}}),Pp=De({"src/traces/scatter/select.js"(j,N){"use strict";var u=Sl();N.exports=function(w,S){var l=w.cd,e=w.xaxis,t=w.yaxis,a=[],r=l[0].trace,n,i,s,c,p=r.mode&&!u.hasMarkers(r)&&!u.hasText(r);if(p)return[];if(S===!1)for(n=0;n0&&(i["_"+r+"axes"]||{})[a])return i;if((i[r+"axis"]||r)===a){if(e(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}function l(t){return{v:"x",h:"y"}[t.orientation||"v"]}function e(t,a){var r=l(t),n=u(t,"box-violin");return n&&a===r&&t[r]===void 0&&t[r+"0"]===void 0}}}),nx=De({"src/plots/cartesian/category_order_defaults.js"(j,N){"use strict";var u=Vf().isTypedArraySpec;function v(w,S){var l=S.dataAttr||w._id.charAt(0),e={},t,a,r;if(S.axData)t=S.axData;else for(t=[],a=0;a0||u(a),n;r&&(n="array");var i=e("categoryorder",n),s;i==="array"&&(s=e("categoryarray")),!r&&i==="array"&&(i=l.categoryorder="trace"),i==="trace"?l._initialCategories=[]:i==="array"?l._initialCategories=s.slice():(s=v(l,t).sort(),i==="category ascending"?l._initialCategories=s:i==="category descending"&&(l._initialCategories=s.reverse()))}}}}),R1=De({"src/plots/cartesian/line_grid_defaults.js"(j,N){"use strict";var u=ii(),v=mc(),w=Ar();N.exports=function(l,e,t,a){a=a||{};var r=a.dfltColor;function n(_,I){return w.coerce2(l,e,a.attributes,_,I)}var i=n("linecolor",r),s=n("linewidth"),c=t("showline",a.showLine||!!i||!!s);c||(delete e.linecolor,delete e.linewidth);var p=u.mix(r,a.bgColor,a.blend||v.lightFraction),f=n("gridcolor",p),d=n("gridwidth"),y=n("griddash"),o=t("showgrid",a.showGrid||!!f||!!d||!!y);if(o||(delete e.gridcolor,delete e.gridwidth,delete e.griddash),a.hasMinor){var x=u.mix(e.gridcolor,a.bgColor,67),M=n("minor.gridcolor",x),T=n("minor.gridwidth",e.gridwidth||1),E=n("minor.griddash",e.griddash||"solid"),g=t("minor.showgrid",!!M||!!T||!!E);g||(delete e.minor.gridcolor,delete e.minor.gridwidth,delete e.minor.griddash)}if(!a.noZeroLine){var A=n("zerolinelayer"),m=n("zerolinecolor",r),h=n("zerolinewidth"),b=t("zeroline",a.showGrid||!!m||!!h);b||(delete e.zerolinelayer,delete e.zerolinecolor,delete e.zerolinewidth)}}}}),I1=De({"src/plots/cartesian/axis_defaults.js"(j,N){"use strict";var u=io(),v=hi(),w=Ar(),S=ws(),l=Hf(),e=hf(),t=Mp(),a=hm(),r=Gv(),n=Vv(),i=nx(),s=R1(),c=B3(),p=Sd(),f=gc().WEEKDAY_PATTERN,d=gc().HOUR_PATTERN;N.exports=function(T,E,g,A,m){var h=A.letter,b=A.font||{},_=A.splomStash||{},I=g("visible",!A.visibleDflt),C=E._template||{},F=E.type||C.type||"-",R;if(F==="date"){var z=v.getComponentMethod("calendars","handleDefaults");z(T,E,"calendar",A.calendar),A.noTicklabelmode||(R=g("ticklabelmode"))}!A.noTicklabelindex&&(F==="date"||F==="linear")&&g("ticklabelindex");var D="";(!A.noTicklabelposition||F==="multicategory")&&(D=w.coerce(T,E,{ticklabelposition:{valType:"enumerated",dflt:"outside",values:R==="period"?["outside","inside"]:h==="x"?["outside","inside","outside left","inside left","outside right","inside right"]:["outside","inside","outside top","inside top","outside bottom","inside bottom"]}},"ticklabelposition")),A.noTicklabeloverflow||g("ticklabeloverflow",D.indexOf("inside")!==-1?"hide past domain":F==="category"||F==="multicategory"?"allow":"hide past div"),p(E,m),c(T,E,g,A),i(T,E,g,A),A.noHover||(F!=="category"&&g("hoverformat"),A.noUnifiedhovertitle||g("unifiedhovertitle.text"));var k=g("color"),B=k!==e.color.dflt?k:b.color,O=_.label||m._dfltTitle[h];if(n(T,E,g,F,A),!I)return E;g("title.text",O),w.coerceFont(g,"title.font",b,{overrideDflt:{size:w.bigFont(b.size),color:B}}),t(T,E,g,F);var q=A.hasMinor;if(q&&(S.newContainer(E,"minor"),t(T,E,g,F,{isMinor:!0})),r(T,E,g,F,A),a(T,E,g,A),q){var Y=A.isMinor;A.isMinor=!0,a(T,E,g,A),A.isMinor=Y}s(T,E,g,{dfltColor:k,bgColor:A.bgColor,showGrid:A.showGrid,hasMinor:q,attributes:e}),q&&E.ticklabelindex==null&&!E.minor.ticks&&!E.minor.showgrid&&delete E.minor,(E.showline||E.ticks)&&g("mirror");var ee=F==="multicategory";if(!A.noTickson&&(F==="category"||ee)&&(E.ticks||E.showgrid)&&(ee?(g("tickson","boundaries"),delete E.ticklabelposition):g("tickson")),ee){var te=g("showdividers");te&&(g("dividercolor"),g("dividerwidth"))}if(F==="date")if(l(T,E,{name:"rangebreaks",inclusionAttr:"enabled",handleItemDefaults:y}),!E.rangebreaks.length)delete E.rangebreaks;else{for(var ae=0;ae=2){var h="",b,_;if(m.length===2){for(b=0;b<2;b++)if(_=x(m[b]),_){h=f;break}}var I=g("pattern",h);if(I===f)for(b=0;b<2;b++)_=x(m[b]),_&&(T.bounds[b]=m[b]=_-1);if(I)for(b=0;b<2;b++)switch(_=m[b],I){case f:if(!u(_)){T.enabled=!1;return}if(_=+_,_!==Math.floor(_)||_<0||_>=7){T.enabled=!1;return}T.bounds[b]=m[b]=_;break;case d:if(!u(_)){T.enabled=!1;return}if(_=+_,_<0||_>24){T.enabled=!1;return}T.bounds[b]=m[b]=_;break}if(E.autorange===!1){var C=E.range;if(C[0]C[1]){T.enabled=!1;return}}else if(m[0]>C[0]&&m[1]g[1]-1/4096&&(l.domain=p),v.noneOrAll(S.domain,l.domain,p),l.tickmode==="sync"&&(l.tickmode="auto")}return e("layer"),l}}}),IR=De({"src/plots/cartesian/layout_defaults.js"(j,N){"use strict";var u=Ar(),v=ii(),w=Ch().isUnifiedHover,S=H3(),l=ws(),e=um(),t=hf(),a=fw(),r=I1(),n=Ep(),i=ix(),s=lu(),c=s.id2name,p=s.name2id,f=gc().AX_ID_PATTERN,d=hi(),y=d.traceIs,o=d.getComponentMethod;function x(M,T,E){Array.isArray(M[T])?M[T].push(E):M[T]=[E]}N.exports=function(T,E,g){var A=E.autotypenumbers,m={},h={},b={},_={},I={},C={},F={},R={},z={},D={},k,B;for(k=0;k rect").call(S.setTranslate,0,0).call(S.setScale,1,1),E.plot.call(S.setTranslate,g._offset,A._offset).call(S.setScale,1,1);var m=E.plot.selectAll(".scatterlayer .trace");m.selectAll(".point").call(S.setPointGroupScale,1,1),m.selectAll(".textpoint").call(S.setTextPointsScale,1,1),m.call(S.hideOutsideRangePoints,E)}function c(E,g){var A=E.plotinfo,m=A.xaxis,h=A.yaxis,b=m._length,_=h._length,I=!!E.xr1,C=!!E.yr1,F=[];if(I){var R=w.simpleMap(E.xr0,m.r2l),z=w.simpleMap(E.xr1,m.r2l),D=R[1]-R[0],k=z[1]-z[0];F[0]=(R[0]*(1-g)+g*z[0]-R[0])/(R[1]-R[0])*b,F[2]=b*(1-g+g*k/D),m.range[0]=m.l2r(R[0]*(1-g)+g*z[0]),m.range[1]=m.l2r(R[1]*(1-g)+g*z[1])}else F[0]=0,F[2]=b;if(C){var B=w.simpleMap(E.yr0,h.r2l),O=w.simpleMap(E.yr1,h.r2l),q=B[1]-B[0],Y=O[1]-O[0];F[1]=(B[1]*(1-g)+g*O[1]-B[1])/(B[0]-B[1])*_,F[3]=_*(1-g+g*Y/q),h.range[0]=m.l2r(B[0]*(1-g)+g*O[0]),h.range[1]=h.l2r(B[1]*(1-g)+g*O[1])}else F[1]=0,F[3]=_;l.drawOne(t,m,{skipTitle:!0}),l.drawOne(t,h,{skipTitle:!0}),l.redrawComponents(t,[m._id,h._id]);var ee=I?b/F[2]:1,te=C?_/F[3]:1,ae=I?F[0]:0,U=C?F[1]:0,H=I?F[0]/F[2]*b:0,K=C?F[1]/F[3]*_:0,V=m._offset-H,$=h._offset-K;A.clipRect.call(S.setTranslate,ae,U).call(S.setScale,1/ee,1/te),A.plot.call(S.setTranslate,V,$).call(S.setScale,ee,te),S.setPointGroupScale(A.zoomScalePts,1/ee,1/te),S.setTextPointsScale(A.zoomScaleTxt,1/ee,1/te)}var p;n&&(p=n());function f(){for(var E={},g=0;gr.duration?(f(),x=window.cancelAnimationFrame(T)):x=window.requestAnimationFrame(T)}return y=Date.now(),x=window.requestAnimationFrame(T),Promise.resolve()}}}),Hu=De({"src/plots/cartesian/index.js"(j){"use strict";var N=Qn(),u=hi(),v=Ar(),w=Il(),S=Ki(),l=Bf().getModuleCalcData,e=lu(),t=gc(),a=Kh(),r=v.ensureSingle;function n(y,o,x){return v.ensureSingle(y,o,x,function(M){M.datum(x)})}var i=t.zindexSeparator;j.name="cartesian",j.attr=["xaxis","yaxis"],j.idRoot=["x","y"],j.idRegex=t.idRegex,j.attrRegex=t.attrRegex,j.attributes=RR(),j.layoutAttributes=hf(),j.supplyLayoutDefaults=IR(),j.transitionAxes=DR(),j.finalizeSubplots=function(y,o){var x=o._subplots,M=x.xaxis,T=x.yaxis,E=x.cartesian,g=E,A={},m={},h,b,_;for(h=0;h0){var C=I.id;if(C.indexOf(i)!==-1)continue;C+=i+(h+1),I=v.extendFlat({},I,{id:C,plot:T._cartesianlayer.selectAll(".subplot").select("."+C)})}for(var F=[],R,z=0;z1&&(q+=i+O),B.push(A+q),g=0;g1,_=o.mainplotinfo;if(!o.mainplot||b)if(h)o.xlines=r(M,"path","xlines-above"),o.ylines=r(M,"path","ylines-above"),o.xaxislayer=r(M,"g","xaxislayer-above"),o.yaxislayer=r(M,"g","yaxislayer-above");else{if(!g){var I=r(M,"g","layer-subplot");o.shapelayer=r(I,"g","shapelayer"),o.imagelayer=r(I,"g","imagelayer"),_&&b?(o.minorGridlayer=_.minorGridlayer,o.gridlayer=_.gridlayer,o.zerolinelayer=_.zerolinelayer):(o.minorGridlayer=r(M,"g","minor-gridlayer"),o.gridlayer=r(M,"g","gridlayer"),o.zerolinelayer=r(M,"g","zerolinelayer"));var C=r(M,"g","layer-between");o.shapelayerBetween=r(C,"g","shapelayer"),o.imagelayerBetween=r(C,"g","imagelayer"),r(M,"path","xlines-below"),r(M,"path","ylines-below"),o.overlinesBelow=r(M,"g","overlines-below"),r(M,"g","xaxislayer-below"),r(M,"g","yaxislayer-below"),o.overaxesBelow=r(M,"g","overaxes-below")}o.overplot=r(M,"g","overplot"),o.plot=r(o.overplot,"g",T),_&&b?o.zerolinelayerAbove=_.zerolinelayerAbove:o.zerolinelayerAbove=r(M,"g","zerolinelayer-above"),g||(o.xlines=r(M,"path","xlines-above"),o.ylines=r(M,"path","ylines-above"),o.overlinesAbove=r(M,"g","overlines-above"),r(M,"g","xaxislayer-above"),r(M,"g","yaxislayer-above"),o.overaxesAbove=r(M,"g","overaxes-above"),o.xlines=M.select(".xlines-"+A),o.ylines=M.select(".ylines-"+m),o.xaxislayer=M.select(".xaxislayer-"+A),o.yaxislayer=M.select(".yaxislayer-"+m))}else{var F=_.plotgroup,R=T+"-x",z=T+"-y";o.minorGridlayer=_.minorGridlayer,o.gridlayer=_.gridlayer,o.zerolinelayer=_.zerolinelayer,o.zerolinelayerAbove=_.zerolinelayerAbove,r(_.overlinesBelow,"path",R),r(_.overlinesBelow,"path",z),r(_.overaxesBelow,"g",R),r(_.overaxesBelow,"g",z),o.plot=r(_.overplot,"g",T),r(_.overlinesAbove,"path",R),r(_.overlinesAbove,"path",z),r(_.overaxesAbove,"g",R),r(_.overaxesAbove,"g",z),o.xlines=F.select(".overlines-"+A).select("."+R),o.ylines=F.select(".overlines-"+m).select("."+z),o.xaxislayer=F.select(".overaxes-"+A).select("."+R),o.yaxislayer=F.select(".overaxes-"+m).select("."+z)}g||(h||(n(o.minorGridlayer,"g",o.xaxis._id),n(o.minorGridlayer,"g",o.yaxis._id),o.minorGridlayer.selectAll("g").map(function(D){return D[0]}).sort(e.idSort),n(o.gridlayer,"g",o.xaxis._id),n(o.gridlayer,"g",o.yaxis._id),o.gridlayer.selectAll("g").map(function(D){return D[0]}).sort(e.idSort)),o.xlines.style("fill","none").classed("crisp",!0),o.ylines.style("fill","none").classed("crisp",!0))}function f(y,o){if(y){var x={};y.each(function(m){var h=m[0],b=N.select(this);b.remove(),d(h,o),x[h]=!0});for(var M in o._plots)for(var T=o._plots[M],E=T.overlays||[],g=0;g=0,o=n.indexOf("end")>=0,x=c.backoff*f+i.standoff,M=p.backoff*d+i.startstandoff,T,E,g,A;if(s.nodeName==="line"){T={x:+r.attr("x1"),y:+r.attr("y1")},E={x:+r.attr("x2"),y:+r.attr("y2")};var m=T.x-E.x,h=T.y-E.y;if(g=Math.atan2(h,m),A=g+Math.PI,x&&M&&x+M>Math.sqrt(m*m+h*h)){q();return}if(x){if(x*x>m*m+h*h){q();return}var b=x*Math.cos(g),_=x*Math.sin(g);E.x+=b,E.y+=_,r.attr({x2:E.x,y2:E.y})}if(M){if(M*M>m*m+h*h){q();return}var I=M*Math.cos(g),C=M*Math.sin(g);T.x-=I,T.y-=C,r.attr({x1:T.x,y1:T.y})}}else if(s.nodeName==="path"){var F=s.getTotalLength(),R="";if(F2/3?aa="right":aa="center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[aa]}for(var Fe=!1,Ve=["x","y"],je=0;je1)&&(yt===st?(Xe=At.r2fraction(M["a"+ut]),(Xe<0||Xe>1)&&(Fe=!0)):Fe=!0),ze=At._offset+At.r2p(M[ut]),Ie=.5}else{var mt=We==="domain";ut==="x"?(_e=M[ut],ze=mt?At._offset+At._length*_e:ze=h.l+h.w*_e):(_e=1-M[ut],ze=mt?At._offset+At._length*_e:ze=h.t+h.h*_e),Ie=M.showarrow?.5:_e}if(M.showarrow){Ee.head=ze;var ft=M["a"+ut];if(Be=Zt*be(.5,M.xanchor)-vr*be(.5,M.yanchor),yt===st){var ht=e.getRefType(yt);ht==="domain"?(ut==="y"&&(ft=1-ft),Ee.tail=At._offset+At._length*ft):ht==="paper"?ut==="y"?(ft=1-ft,Ee.tail=h.t+h.h*ft):Ee.tail=h.l+h.w*ft:Ee.tail=At._offset+At.r2p(ft),ve=Be}else Ee.tail=ze+ft,ve=Be+ft;Ee.text=Ee.tail+Be;var gt=m[ut==="x"?"width":"height"];if(st==="paper"&&(Ee.head=S.constrain(Ee.head,1,gt-1)),yt==="pixel"){var _t=-Math.max(Ee.tail-3,Ee.text),Ft=Math.min(Ee.tail+3,Ee.text)-gt;_t>0?(Ee.tail+=_t,Ee.text+=_t):Ft>0&&(Ee.tail-=Ft,Ee.text-=Ft)}Ee.tail+=nt,Ee.head+=nt}else Be=Nt*be(Ie,Kt),ve=Be,Ee.text=ze+Be;Ee.text+=nt,Be+=nt,ve+=nt,M["_"+ut+"padplus"]=Nt/2+ve,M["_"+ut+"padminus"]=Nt/2-ve,M["_"+ut+"size"]=Nt,M["_"+ut+"shift"]=Be}if(Fe){ae.remove();return}var St=0,hr=0;if(M.align!=="left"&&(St=(he-Ue)*(M.align==="center"?.5:1)),M.valign!=="top"&&(hr=(oe-xe)*(M.valign==="middle"?.5:1)),Ce)Se.select("svg").attr({x:K+St-1,y:K+hr}).call(a.setClipUrl,$?D:null,x);else{var jr=K+hr-qe.top,ra=K+St-qe.left;re.call(n.positionText,ra,jr).call(a.setClipUrl,$?D:null,x)}X.select("rect").call(a.setRect,K,K,he,oe),V.call(a.setRect,U/2,U/2,le-U,ne-U),ae.call(a.setTranslate,Math.round(k.x.text-le/2),Math.round(k.y.text-ne/2)),q.attr({transform:"rotate("+B+","+k.x.text+","+k.y.text+")"});var $r=function(oa,aa){O.selectAll(".annotation-arrow-g").remove();var ka=k.x.head,Ta=k.y.head,Da=k.x.tail+oa,La=k.y.tail+aa,Ga=k.x.text+oa,xa=k.y.text+aa,Gn=S.rotationXYMatrix(B,Ga,xa),Pn=S.apply2DTransform(Gn),sn=S.apply2DTransform2(Gn),Yn=+V.attr("width"),Zn=+V.attr("height"),vi=Ga-.5*Yn,Dn=vi+Yn,oi=xa-.5*Zn,on=oi+Zn,mn=[[vi,oi,vi,on],[vi,on,Dn,on],[Dn,on,Dn,oi],[Dn,oi,vi,oi]].map(sn);if(!mn.reduce(function(Je,bt){return Je^!!S.segmentsIntersect(ka,Ta,ka+1e6,Ta+1e6,bt[0],bt[1],bt[2],bt[3])},!1)){mn.forEach(function(Je){var bt=S.segmentsIntersect(Da,La,ka,Ta,Je[0],Je[1],Je[2],Je[3]);bt&&(Da=bt.x,La=bt.y)});var bi=M.arrowwidth,Li=M.arrowcolor,$a=M.arrowside,Va=O.append("g").style({opacity:t.opacity(Li)}).classed("annotation-arrow-g",!0),it=Va.append("path").attr("d","M"+Da+","+La+"L"+ka+","+Ta).style("stroke-width",bi+"px").call(t.stroke,t.rgb(Li));if(p(it,$a,M),b.annotationPosition&&it.node().parentNode&&!E){var Qe=ka,Jt=Ta;if(M.standoff){var Yt=Math.sqrt(Math.pow(ka-Da,2)+Math.pow(Ta-La,2));Qe+=M.standoff*(Da-ka)/Yt,Jt+=M.standoff*(La-Ta)/Yt}var ar=Va.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(Da-Qe)+","+(La-Jt),transform:l(Qe,Jt)}).style("stroke-width",bi+6+"px").call(t.stroke,"rgba(0,0,0,0)").call(t.fill,"rgba(0,0,0,0)"),cr,tr;s.init({element:ar.node(),gd:x,prepFn:function(){var Je=a.getTranslate(ae);cr=Je.x,tr=Je.y,g&&g.autorange&&F(g._name+".autorange",!0),A&&A.autorange&&F(A._name+".autorange",!0)},moveFn:function(Je,bt){var qt=Pn(cr,tr),Qt=qt[0]+Je,br=qt[1]+bt;ae.call(a.setTranslate,Qt,br),R("x",y(g,Je,"x",h,M)),R("y",y(A,bt,"y",h,M)),M.axref===M.xref&&R("ax",y(g,Je,"ax",h,M)),M.ayref===M.yref&&R("ay",y(A,bt,"ay",h,M)),Va.attr("transform",l(Je,bt)),q.attr({transform:"rotate("+B+","+Qt+","+br+")"})},doneFn:function(){v.call("_guiRelayout",x,z());var Je=document.querySelector(".js-notes-box-panel");Je&&Je.redraw(Je.selectedObj)}})}}};if(M.showarrow&&$r(0,0),Y){var pa;s.init({element:ae.node(),gd:x,prepFn:function(){pa=q.attr("transform")},moveFn:function(oa,aa){var ka="pointer";if(M.showarrow)M.axref===M.xref?R("ax",y(g,oa,"ax",h,M)):R("ax",M.ax+oa),M.ayref===M.yref?R("ay",y(A,aa,"ay",h.w,M)):R("ay",M.ay+aa),$r(oa,aa);else{if(E)return;var Ta,Da;if(g)Ta=y(g,oa,"x",h,M);else{var La=M._xsize/h.w,Ga=M.x+(M._xshift-M.xshift)/h.w-La/2;Ta=s.align(Ga+oa/h.w,La,0,1,M.xanchor)}if(A)Da=y(A,aa,"y",h,M);else{var xa=M._ysize/h.h,Gn=M.y-(M._yshift+M.yshift)/h.h-xa/2;Da=s.align(Gn-aa/h.h,xa,0,1,M.yanchor)}R("x",Ta),R("y",Da),(!g||!A)&&(ka=s.getCursor(g?.5:Ta,A?.5:Da,M.xanchor,M.yanchor))}q.attr({transform:l(oa,aa)+pa}),i(ae,ka)},clickFn:function(oa,aa){M.captureevents&&x.emit("plotly_clickannotation",te(aa))},doneFn:function(){i(ae),v.call("_guiRelayout",x,z());var oa=document.querySelector(".js-notes-box-panel");oa&&oa.redraw(oa.selectedObj)}})}}b.annotationText?re.call(n.makeEditable,{delegate:ae,gd:x}).call(ce).on("edit",function(ye){M.text=ye,this.call(ce),R("text",ye),g&&g.autorange&&F(g._name+".autorange",!0),A&&A.autorange&&F(A._name+".autorange",!0),v.call("_guiRelayout",x,z())}):re.call(ce)}}}),BR=De({"src/components/annotations/click.js"(j,N){"use strict";var u=Ar(),v=hi(),w=ws().arrayEditor;N.exports={hasClickToShow:S,onClick:l};function S(a,r){var n=e(a,r);return n.on.length>0||n.explicitOff.length>0}function l(a,r){var n=e(a,r),i=n.on,s=n.off.concat(n.explicitOff),c={},p=a._fullLayout.annotations,f,d;if(i.length||s.length){for(f=0;f1){i=!0;break}}i?l.fullLayout._infolayer.select(".annotation-"+l.id+'[data-index="'+r+'"]').remove():(n._pdata=v(l.glplot.cameraParams,[e.xaxis.r2l(n.x)*t[0],e.yaxis.r2l(n.y)*t[1],e.zaxis.r2l(n.z)*t[2]]),u(l.graphDiv,n,r,l.id,n._xa,n._ya))}}}}),HR=De({"src/components/annotations3d/index.js"(j,N){"use strict";var u=hi(),v=Ar();N.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:sx()}}},layoutAttributes:sx(),handleDefaults:qR(),includeBasePlot:w,convert:GR(),draw:VR()};function w(S,l){var e=u.subplotsRegistry.gl3d;if(e)for(var t=e.attrRegex,a=Object.keys(S),r=0;r{var _=b+"anchor",I=b==="x"?x:M,C={_fullLayout:n},F,R,z,D;let k=b+"ref",B=a[k];if(Array.isArray(B)&&B.length>0){let O=l.countDefiningCoords(d,p,b);D=v.coerceRefArray(a,r,C,b,void 0,"paper",O),r["_"+b+"refArray"]=!0}else D=v.coerceRef(a,r,C,b,void 0,"paper");if(Array.isArray(D))D.forEach(function(O){v.getRefType(O)==="range"&&(F=v.getFromId(C,O),F&&F._shapeIndices.indexOf(r._index)===-1&&F._shapeIndices.push(r._index))}),y&&[0,1].forEach(function(O){let q=D[O];v.getRefType(q)==="range"?(F=v.getFromId(C,q),R=l.shapePositionToRange(F),z=l.rangeToShapePosition(F),(F.type==="category"||F.type==="multicategory")&&i(b+O+"shift")):R=z=u.identity;let ee=b+O,te=a[ee];if(a[ee]=R(a[ee],!0),I==="pixel"?i(ee,E[O]):v.coercePosition(r,C,i,q,ee,T[O]),r[ee]=z(r[ee]),a[ee]=te,O===0&&I==="pixel"){let ae=a[_];a[_]=R(a[_],!0),v.coercePosition(r,C,i,q,_,.25),r[_]=z(r[_]),a[_]=ae}});else{if(v.getRefType(D)==="range"?(F=v.getFromId(C,D),F._shapeIndices.push(r._index),z=l.rangeToShapePosition(F),R=l.shapePositionToRange(F),y&&(F.type==="category"||F.type==="multicategory")&&(i(b+"0shift"),i(b+"1shift"))):R=z=u.identity,y){let q=b+"0",Y=b+"1",ee=a[q],te=a[Y];a[q]=R(a[q],!0),a[Y]=R(a[Y],!0),I==="pixel"?(i(q,E[0]),i(Y,E[1])):(v.coercePosition(r,C,i,D,q,T[0]),v.coercePosition(r,C,i,D,Y,T[1])),r[q]=z(r[q]),r[Y]=z(r[Y]),a[q]=ee,a[Y]=te}if(I==="pixel"){let q=a[_];a[_]=R(a[_],!0),v.coercePosition(r,C,i,D,_,.25),r[_]=z(r[_]),a[_]=q}}}),y&&u.noneOrAll(a,r,["x0","x1","y0","y1"]);var g=d==="line",A,m;if(y&&(A=i("label.texttemplate"),i("label.texttemplatefallback")),A||(m=i("label.text")),m||A){i("label.textangle");var h=i("label.textposition",g?"middle":"middle center");i("label.xanchor"),i("label.yanchor",e(g,h)),i("label.padding"),u.coerceFont(i,"label.font",n.font)}}}}),YR=De({"src/components/shapes/draw_newshape/defaults.js"(j,N){"use strict";var u=ii(),v=Ar();function w(S,l){return S?"bottom":l.indexOf("top")!==-1?"top":l.indexOf("bottom")!==-1?"bottom":"middle"}N.exports=function(l,e,t){t("newshape.visible"),t("newshape.name"),t("newshape.showlegend"),t("newshape.legend"),t("newshape.legendwidth"),t("newshape.legendgroup"),t("newshape.legendgrouptitle.text"),v.coerceFont(t,"newshape.legendgrouptitle.font"),t("newshape.legendrank"),t("newshape.drawdirection"),t("newshape.layer"),t("newshape.fillcolor"),t("newshape.fillrule"),t("newshape.opacity");var a=t("newshape.line.width");if(a){var r=(l||{}).plot_bgcolor||"#FFF";t("newshape.line.color",u.contrast(r)),t("newshape.line.dash")}var n=l.dragmode==="drawline",i=t("newshape.label.text"),s=t("newshape.label.texttemplate");if(t("newshape.label.texttemplatefallback"),i||s){t("newshape.label.textangle");var c=t("newshape.label.textposition",n?"middle":"middle center");t("newshape.label.xanchor"),t("newshape.label.yanchor",w(n,c)),t("newshape.label.padding"),v.coerceFont(t,"newshape.label.font",e.font)}t("activeshape.fillcolor"),t("activeshape.opacity")}}}),XR=De({"src/components/shapes/calc_autorange.js"(j,N){"use strict";var u=Ar(),v=Vi(),w=E1(),S=Yv();N.exports=function(i){var s=i._fullLayout,c=u.filterVisible(s.shapes);if(!(!c.length||!i._fullData.length))for(var p=0;p{d=v.getFromId(i,T),f._extremes[d._id]=v.findExtremes(d,E,e(f))})}else f.xref!=="paper"&&o!=="domain"&&(d=v.getFromId(i,f.xref),y=r(d,f,w.paramIsX),y&&(f._extremes[d._id]=v.findExtremes(d,y,e(f))));if(x==="array"){let M=l(i,f,"y");Object.entries(M).forEach(([T,E])=>{d=v.getFromId(i,T),f._extremes[d._id]=v.findExtremes(d,E,t(f))})}else f.yref!=="paper"&&x!=="domain"&&(d=v.getFromId(i,f.yref),y=r(d,f,w.paramIsY),y&&(f._extremes[d._id]=v.findExtremes(d,y,t(f))))}};function l(n,i,s){let c=i[s+"ref"],p=s==="x"?w.paramIsX:w.paramIsY;function f(T,E){T==="paper"||v.getRefType(T)==="domain"||(d[T]||(d[T]=[]),d[T].push(E))}let d={};if(i.type==="path"&&i.path){let T=i.path.match(w.segmentRE)||[];for(var y=0,o=0;oA&&(f(c[y],m[A]),y++)}}else f(c[0],i[s+"0"]),f(c[1],i[s+"1"]);let x={};for(let T in d){let E=v.getFromId(n,T);if(E){var M=E.type==="category"||E.type==="multicategory"?E.r2c:E.d2c;E.type==="date"&&(M=S.decodeDate(M)),x[E._id]=d[T].map(M)}}return x}function e(n){return a(n.line.width,n.xsizemode,n.x0,n.x1,n.path,!1)}function t(n){return a(n.line.width,n.ysizemode,n.y0,n.y1,n.path,!0)}function a(n,i,s,c,p,f){var d=n/2,y=f;if(i==="pixel"){var o=p?S.extractPathCoords(p,f?w.paramIsY:w.paramIsX):[s,c],x=u.aggNums(Math.max,null,o),M=u.aggNums(Math.min,null,o),T=M<0?Math.abs(M)+d:d,E=x>0?x+d:d;return{ppad:d,ppadplus:y?T:E,ppadminus:y?E:T}}else return{ppad:d}}function r(n,i,s){var c=n._id.charAt(0)==="x"?"x":"y",p=n.type==="category"||n.type==="multicategory",f,d,y=0,o=0,x=p?n.r2c:n.d2c,M=i[c+"sizemode"]==="scaled";if(M?(f=i[c+"0"],d=i[c+"1"],p&&(y=i[c+"0shift"],o=i[c+"1shift"])):(f=i[c+"anchor"],d=i[c+"anchor"]),f!==void 0)return[x(f)+y,x(d)+o];if(i.path){var T=1/0,E=-1/0,g=i.path.match(w.segmentRE),A,m,h,b,_;for(n.type==="date"&&(x=S.decodeDate(x)),A=0;AE&&(E=_)));if(E>=T)return[T,E]}}}}),ZR=De({"src/components/shapes/index.js"(j,N){"use strict";var u=K_();N.exports={moduleType:"component",name:"shapes",layoutAttributes:vw(),supplyLayoutDefaults:WR(),supplyDrawNewShapeDefaults:YR(),includeBasePlot:P1()("shapes"),calcAutorange:XR(),draw:u.draw,drawOne:u.drawOne}}}),pw=De({"src/components/images/attributes.js"(j,N){"use strict";var u=gc(),v=ws().templatedArray,w=L1();N.exports=v("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",u.idRegex.x.toString()],dflt:"paper",editType:"arraydraw"},yref:{valType:"enumerated",values:["paper",u.idRegex.y.toString()],dflt:"paper",editType:"arraydraw"},editType:"arraydraw"})}}),$R=De({"src/components/images/defaults.js"(j,N){"use strict";var u=Ar(),v=Vi(),w=Hf(),S=pw(),l="images";N.exports=function(a,r){var n={name:l,handleItemDefaults:e};w(a,r,n)};function e(t,a,r){function n(x,M){return u.coerce(t,a,S,x,M)}var i=n("source"),s=n("visible",!!i);if(!s)return a;n("layer"),n("xanchor"),n("yanchor"),n("sizex"),n("sizey"),n("sizing"),n("opacity");for(var c={_fullLayout:r},p=["x","y"],f=0;f<2;f++){var d=p[f],y=v.coerceRef(t,a,c,d,"paper",void 0);if(y!=="paper"){var o=v.getFromId(c,y);o._imgIndices.push(a._index)}v.coercePosition(a,c,n,y,d,0)}return a}}}),KR=De({"src/components/images/draw.js"(j,N){"use strict";var u=Qn(),v=Ki(),w=Vi(),S=lu(),l=Kh();N.exports=function(t){var a=t._fullLayout,r=[],n={},i=[],s,c;for(c=0;c0);p&&(s("active"),s("direction"),s("type"),s("showactive"),s("x"),s("y"),u.noneOrAll(r,n,["x","y"]),s("xanchor"),s("yanchor"),s("pad.t"),s("pad.r"),s("pad.b"),s("pad.l"),u.coerceFont(s,"font",i.font),s("bgcolor",i.paper_bgcolor),s("bordercolor"),s("borderwidth"))}function a(r,n){function i(c,p){return u.coerce(r,n,e,c,p)}var s=i("visible",r.method==="skip"||Array.isArray(r.args));s&&(i("method"),i("args"),i("args2"),i("label"),i("execute"))}}}),tI=De({"src/components/updatemenus/scrollbox.js"(j,N){"use strict";N.exports=l;var u=Qn(),v=ii(),w=Ki(),S=Ar();function l(e,t,a){this.gd=e,this.container=t,this.id=a,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})}l.barWidth=2,l.barLength=20,l.barRadius=2,l.barPad=1,l.barColor="#808BA4",l.prototype.enable=function(t,a,r){var n=this.gd._fullLayout,i=n.width,s=n.height;this.position=t;var c=this.position.l,p=this.position.w,f=this.position.t,d=this.position.h,y=this.position.direction,o=y==="down",x=y==="left",M=y==="right",T=y==="up",E=p,g=d,A,m,h,b;!o&&!x&&!M&&!T&&(this.position.direction="down",o=!0);var _=o||T;_?(A=c,m=A+E,o?(h=f,b=Math.min(h+g,s),g=b-h):(b=f+g,h=Math.max(b-g,0),g=b-h)):(h=f,b=h+g,x?(m=c+E,A=Math.max(m-E,0),E=m-A):(A=c,m=Math.min(A+E,i),E=m-A)),this._box={l:A,t:h,w:E,h:g};var I=p>E,C=l.barLength+2*l.barPad,F=l.barWidth+2*l.barPad,R=c,z=f+d;z+F>s&&(z=s-F);var D=this.container.selectAll("rect.scrollbar-horizontal").data(I?[0]:[]);D.exit().on(".drag",null).remove(),D.enter().append("rect").classed("scrollbar-horizontal",!0).call(v.fill,l.barColor),I?(this.hbar=D.attr({rx:l.barRadius,ry:l.barRadius,x:R,y:z,width:C,height:F}),this._hbarXMin=R+C/2,this._hbarTranslateMax=E-C):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var k=d>g,B=l.barWidth+2*l.barPad,O=l.barLength+2*l.barPad,q=c+p,Y=f;q+B>i&&(q=i-B);var ee=this.container.selectAll("rect.scrollbar-vertical").data(k?[0]:[]);ee.exit().on(".drag",null).remove(),ee.enter().append("rect").classed("scrollbar-vertical",!0).call(v.fill,l.barColor),k?(this.vbar=ee.attr({rx:l.barRadius,ry:l.barRadius,x:q,y:Y,width:B,height:O}),this._vbarYMin=Y+O/2,this._vbarTranslateMax=g-O):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var te=this.id,ae=A-.5,U=k?m+B+.5:m+.5,H=h-.5,K=I?b+F+.5:b+.5,V=n._topdefs.selectAll("#"+te).data(I||k?[0]:[]);if(V.exit().remove(),V.enter().append("clipPath").attr("id",te).append("rect"),I||k?(this._clipRect=V.select("rect").attr({x:Math.floor(ae),y:Math.floor(H),width:Math.ceil(U)-Math.floor(ae),height:Math.ceil(K)-Math.floor(H)}),this.container.call(w.setClipUrl,te,this.gd),this.bg.attr({x:c,y:f,width:p,height:d})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(w.setClipUrl,null),delete this._clipRect),I||k){var $=u.behavior.drag().on("dragstart",function(){u.event.sourceEvent.preventDefault()}).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call($);var X=u.behavior.drag().on("dragstart",function(){u.event.sourceEvent.preventDefault(),u.event.sourceEvent.stopPropagation()}).on("drag",this._onBarDrag.bind(this));I&&this.hbar.on(".drag",null).call(X),k&&this.vbar.on(".drag",null).call(X)}this.setTranslate(a,r)},l.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(w.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)},l.prototype._onBoxDrag=function(){var t=this.translateX,a=this.translateY;this.hbar&&(t-=u.event.dx),this.vbar&&(a-=u.event.dy),this.setTranslate(t,a)},l.prototype._onBoxWheel=function(){var t=this.translateX,a=this.translateY;this.hbar&&(t+=u.event.deltaY),this.vbar&&(a+=u.event.deltaY),this.setTranslate(t,a)},l.prototype._onBarDrag=function(){var t=this.translateX,a=this.translateY;if(this.hbar){var r=t+this._hbarXMin,n=r+this._hbarTranslateMax,i=S.constrain(u.event.x,r,n),s=(i-r)/(n-r),c=this.position.w-this._box.w;t=s*c}if(this.vbar){var p=a+this._vbarYMin,f=p+this._vbarTranslateMax,d=S.constrain(u.event.y,p,f),y=(d-p)/(f-p),o=this.position.h-this._box.h;a=y*o}this.setTranslate(t,a)},l.prototype.setTranslate=function(t,a){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=S.constrain(t||0,0,r),a=S.constrain(a||0,0,n),this.translateX=t,this.translateY=a,this.container.call(w.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-a),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+a-.5)}),this.hbar){var i=t/r;this.hbar.call(w.setTranslate,t+i*this._hbarTranslateMax,a)}if(this.vbar){var s=a/n;this.vbar.call(w.setTranslate,t,a+s*this._vbarTranslateMax)}}}}),rI=De({"src/components/updatemenus/draw.js"(j,N){"use strict";var u=Qn(),v=Il(),w=ii(),S=Ki(),l=Ar(),e=Xs(),t=ws().arrayEditor,a=yc().LINE_SPACING,r=lx(),n=tI();N.exports=function(C){var F=C._fullLayout,R=l.filterVisible(F[r.name]);function z(te){v.autoMargin(C,h(te))}var D=F._menulayer.selectAll("g."+r.containerClassName).data(R.length>0?[0]:[]);if(D.enter().append("g").classed(r.containerClassName,!0).style("cursor","pointer"),D.exit().each(function(){u.select(this).selectAll("g."+r.headerGroupClassName).each(z)}).remove(),R.length!==0){var k=D.selectAll("g."+r.headerGroupClassName).data(R,i);k.enter().append("g").classed(r.headerGroupClassName,!0);for(var B=l.ensureSingle(D,"g",r.dropdownButtonGroupClassName,function(te){te.style("pointer-events","all")}),O=0;O0?[0]:[]);q.enter().append("g").classed(r.containerClassName,!0).style("cursor",k?null:"ew-resize");function Y(U){U._commandObserver&&(U._commandObserver.remove(),delete U._commandObserver),v.autoMargin(D,p(U))}if(q.exit().each(function(){u.select(this).selectAll("g."+r.groupClassName).each(Y)}).remove(),O.length!==0){var ee=q.selectAll("g."+r.groupClassName).data(O,d);ee.enter().append("g").classed(r.groupClassName,!0),ee.exit().each(Y).remove();for(var te=0;te0&&(ee=ee.transition().duration(D.transition.duration).ease(D.transition.easing)),ee.attr("transform",e(Y-r.gripWidth*.5,D._dims.currentValueTotalHeight))}}function I(z,D){var k=z._dims;return k.inputAreaStart+r.stepInset+(k.inputAreaLength-2*r.stepInset)*Math.min(1,Math.max(0,D))}function C(z,D){var k=z._dims;return Math.min(1,Math.max(0,(D-r.stepInset-k.inputAreaStart)/(k.inputAreaLength-2*r.stepInset-2*k.inputAreaStart)))}function F(z,D,k){var B=k._dims,O=l.ensureSingle(z,"rect",r.railTouchRectClass,function(q){q.call(m,D,z,k).style("pointer-events","all")});O.attr({width:B.inputAreaLength,height:Math.max(B.inputAreaWidth,r.tickOffset+k.ticklen+B.labelHeight)}).call(w.fill,k.bgcolor).attr("opacity",0),S.setTranslate(O,0,B.currentValueTotalHeight)}function R(z,D){var k=D._dims,B=k.inputAreaLength-r.railInset*2,O=l.ensureSingle(z,"rect",r.railRectClass);O.attr({width:B,height:r.railWidth,rx:r.railRadius,ry:r.railRadius,"shape-rendering":"crispEdges"}).call(w.stroke,D.bordercolor).call(w.fill,D.bgcolor).style("stroke-width",D.borderwidth+"px"),S.setTranslate(O,r.railInset,(k.inputAreaWidth-r.railWidth)*.5+k.currentValueTotalHeight)}}}),oI=De({"src/components/sliders/index.js"(j,N){"use strict";var u=D1();N.exports={moduleType:"component",name:u.name,layoutAttributes:gw(),supplyLayoutDefaults:nI(),draw:iI()}}}),ux=De({"src/components/rangeslider/attributes.js"(j,N){"use strict";var u=mc();N.exports={bgcolor:{valType:"color",dflt:u.background,editType:"plot"},bordercolor:{valType:"color",dflt:u.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"}}}),yw=De({"src/components/rangeslider/oppaxis_attributes.js"(j,N){"use strict";N.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"}}}),cx=De({"src/components/rangeslider/constants.js"(j,N){"use strict";N.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}}}),sI=De({"src/components/rangeslider/helpers.js"(j){"use strict";var N=lu(),u=Xs(),v=cx(),w=yc().LINE_SPACING,S=v.name;function l(e){var t=e&&e[S];return t&&t.visible}j.isVisible=l,j.makeData=function(e){for(var t=N.list({_fullLayout:e},"x",!0),a=e.margin,r=[],n=0;n=Ue.max)Ce=ce[qe+1];else if(Se=Ue.pmax)Ce=ce[qe+1];else if(Se0?m.touches[0].clientX:0}function f(m,h,b,_){if(h._context.staticPlot)return;var I=m.select("rect."+c.slideBoxClassName).node(),C=m.select("rect."+c.grabAreaMinClassName).node(),F=m.select("rect."+c.grabAreaMaxClassName).node();function R(){var z=u.event,D=z.target,k=p(z),B=k-m.node().getBoundingClientRect().left,O=_.d2p(b._rl[0]),q=_.d2p(b._rl[1]),Y=i.coverSlip();this.addEventListener("touchmove",ee),this.addEventListener("touchend",te),Y.addEventListener("mousemove",ee),Y.addEventListener("mouseup",te);function ee(ae){var U=p(ae),H=+U-k,K,V,$;switch(D){case I:if($="ew-resize",O+H>b._length||q+H<0)return;K=O+H,V=q+H;break;case C:if($="col-resize",O+H>b._length)return;K=O+H,V=q;break;case F:if($="col-resize",q+H<0)return;K=O,V=q+H;break;default:$="ew-resize",K=B,V=B+H;break}if(V0);if(x){var M=a(i,s,c);y("x",M[0]),y("y",M[1]),u.noneOrAll(n,i,["x","y"]),y("xanchor"),y("yanchor"),u.coerceFont(y,"font",s.font);var T=y("bgcolor");y("activecolor",v.contrast(T,e.lightAmount,e.darkAmount)),y("bordercolor"),y("borderwidth")}};function t(r,n,i,s){var c=s.calendar;function p(y,o){return u.coerce(r,n,l.buttons,y,o)}var f=p("visible");if(f){var d=p("step");d!=="all"&&(c&&c!=="gregorian"&&(d==="month"||d==="year")?n.stepmode="backward":p("stepmode"),p("count")),p("label")}}function a(r,n,i){for(var s=i.filter(function(d){return n[d].anchor===r._id}),c=0,p=0;p1)){delete c.grid;return}if(!y&&!o&&!x){var b=A("pattern")==="independent";b&&(y=!0)}g._hasSubplotGrid=y;var _=A("roworder"),I=_==="top to bottom",C=y?.2:.1,F=y?.3:.1,R,z;M&&c._splomGridDflt&&(R=c._splomGridDflt.xside,z=c._splomGridDflt.yside),g._domains={x:r("x",A,C,R,h),y:r("y",A,F,z,m,I)}}function r(s,c,p,f,d,y){var o=c(s+"gap",p),x=c("domain."+s);c(s+"side",f);for(var M=new Array(d),T=x[0],E=(x[1]-T)/(d-o),g=E*(1-o),A=0;A0,f=t._context.staticPlot;a.each(function(d){var y=d[0].trace,o=y.error_x||{},x=y.error_y||{},M;y.ids&&(M=function(A){return A.id});var T=S.hasMarkers(y)&&y.marker.maxdisplayed>0;!x.visible&&!o.visible&&(d=[]);var E=u.select(this).selectAll("g.errorbar").data(d,M);if(E.exit().remove(),!!d.length){o.visible||E.selectAll("path.xerror").remove(),x.visible||E.selectAll("path.yerror").remove(),E.style("opacity",1);var g=E.enter().append("g").classed("errorbar",!0);p&&g.style("opacity",0).transition().duration(n.duration).style("opacity",1),w.setClipUrl(E,r.layerClipId,t),E.each(function(A){var m=u.select(this),h=l(A,s,c);if(!(T&&!A.vis)){var b,_=m.select("path.yerror");if(x.visible&&v(h.x)&&v(h.yh)&&v(h.ys)){var I=x.width;b="M"+(h.x-I)+","+h.yh+"h"+2*I+"m-"+I+",0V"+h.ys,h.noYS||(b+="m-"+I+",0h"+2*I),i=!_.size(),i?_=m.append("path").style("vector-effect",f?"none":"non-scaling-stroke").classed("yerror",!0):p&&(_=_.transition().duration(n.duration).ease(n.easing)),_.attr("d",b)}else _.remove();var C=m.select("path.xerror");if(o.visible&&v(h.y)&&v(h.xh)&&v(h.xs)){var F=(o.copy_ystyle?x:o).width;b="M"+h.xh+","+(h.y-F)+"v"+2*F+"m0,-"+F+"H"+h.xs,h.noXS||(b+="m0,-"+F+"v"+2*F),i=!C.size(),i?C=m.append("path").style("vector-effect",f?"none":"non-scaling-stroke").classed("xerror",!0):p&&(C=C.transition().duration(n.duration).ease(n.easing)),C.attr("d",b)}else C.remove()}})}})};function l(e,t,a){var r={x:t.c2p(e.x),y:a.c2p(e.y)};return e.yh!==void 0&&(r.yh=a.c2p(e.yh),r.ys=a.c2p(e.ys),v(r.ys)||(r.noYS=!0,r.ys=a.c2p(e.ys,!0))),e.xh!==void 0&&(r.xh=t.c2p(e.xh),r.xs=t.c2p(e.xs),v(r.xs)||(r.noXS=!0,r.xs=t.c2p(e.xs,!0))),r}}}),_I=De({"src/components/errorbars/style.js"(j,N){"use strict";var u=Qn(),v=ii();N.exports=function(S){S.each(function(l){var e=l[0].trace,t=e.error_y||{},a=e.error_x||{},r=u.select(this);r.selectAll("path.yerror").style("stroke-width",t.thickness+"px").call(v.stroke,t.color),a.copy_ystyle&&(a=t),r.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(v.stroke,a.color)})}}}),xI=De({"src/components/errorbars/index.js"(j,N){"use strict";var u=Ar(),v=Ul().overrideAll,w=bw(),S={error_x:u.extendFlat({},w),error_y:u.extendFlat({},w)};delete S.error_x.copy_zstyle,delete S.error_y.copy_zstyle,delete S.error_y.copy_ystyle;var l={error_x:u.extendFlat({},w),error_y:u.extendFlat({},w),error_z:u.extendFlat({},w)};delete l.error_x.copy_ystyle,delete l.error_y.copy_ystyle,delete l.error_z.copy_ystyle,delete l.error_z.copy_zstyle,N.exports={moduleType:"component",name:"errorbars",schema:{traces:{scatter:S,bar:S,histogram:S,scatter3d:v(l,"calc","nested"),scattergl:v(S,"calc","nested")}},supplyDefaults:mI(),calc:gI(),makeComputeError:ww(),plot:yI(),style:_I(),hoverInfo:e};function e(t,a,r){(a.error_y||{}).visible&&(r.yerr=t.yh-t.y,a.error_y.symmetric||(r.yerrneg=t.y-t.ys)),(a.error_x||{}).visible&&(r.xerr=t.xh-t.x,a.error_x.symmetric||(r.xerrneg=t.x-t.xs))}}}),bI=De({"src/components/colorbar/constants.js"(j,N){"use strict";N.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"}}}}),wI=De({"src/components/colorbar/draw.js"(j,N){"use strict";var u=Qn(),v=Il(),w=hi(),S=Vi(),l=dh(),e=Ar(),t=e.strTranslate,a=Ji().extendFlat,r=ld(),n=Ki(),i=ii(),s=Sp(),c=Xs(),p=Of().flipScale,f=I1(),d=ix(),y=hf(),o=yc(),x=o.LINE_SPACING,M=o.FROM_TL,T=o.FROM_BR,E=bI().cn;function g(I){var C=I._fullLayout,F=C._infolayer.selectAll("g."+E.colorbar).data(A(I),function(R){return R._id});F.enter().append("g").attr("class",function(R){return R._id}).classed(E.colorbar,!0),F.each(function(R){var z=u.select(this);e.ensureSingle(z,"rect",E.cbbg),e.ensureSingle(z,"g",E.cbfills),e.ensureSingle(z,"g",E.cblines),e.ensureSingle(z,"g",E.cbaxis,function(k){k.classed(E.crisp,!0)}),e.ensureSingle(z,"g",E.cbtitleunshift,function(k){k.append("g").classed(E.cbtitle,!0)}),e.ensureSingle(z,"rect",E.cboutline);var D=m(z,R,I);D&&D.then&&(I._promises||[]).push(D),I._context.edits.colorbarPosition&&h(z,R,I)}),F.exit().each(function(R){v.autoMargin(I,R._id)}).remove(),F.order()}function A(I){var C=I._fullLayout,F=I.calcdata,R=[],z,D,k,B;function O(X){return a(X,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function q(){typeof B.calc=="function"?B.calc(I,k,z):(z._fillgradient=D.reversescale?p(D.colorscale):D.colorscale,z._zrange=[D[B.min],D[B.max]])}for(var Y=0;Y1){var nt=Math.pow(10,Math.floor(Math.log(Kt)/Math.LN10));vr*=nt*e.roundUp(Kt/nt,[2,5,10]),(Math.abs(Ce.start)/Ce.size+1e-6)%1<2e-6&&(Pt.tick0=0)}Pt.dtick=vr}Pt.domain=R?[yt+U/Z.h,yt+ne-U/Z.h]:[yt+ae/Z.w,yt+ne-ae/Z.w],Pt.setScale(),I.attr("transform",t(Math.round(Z.l),Math.round(Z.t)));var Ee=I.select("."+E.cbtitleunshift).attr("transform",t(-Math.round(Z.l),-Math.round(Z.t))),ze=Pt.ticklabelposition,ve=Pt.title.font.size,_e=I.select("."+E.cbaxis),Ie,Be=0,We=0;function Xe(_t,Ft){var St={propContainer:Pt,propName:C._propPrefix+"title.text",traceIndex:C._traceIndex,_meta:C._meta,placeholder:X._dfltTitle.colorbar,containerGroup:I.select("."+E.cbtitle)},hr=_t.charAt(0)==="h"?_t.slice(1):"h"+_t;I.selectAll("."+hr+",."+hr+"-math-group").remove(),s.draw(F,_t,a(St,Ft||{}))}function mt(){if(R&&Zt||!R&&!Zt){var _t,Ft;me==="top"&&(_t=ae+Z.l+be*H,Ft=U+Z.t+Fe*(1-yt-ne)+3+ve*.75),me==="bottom"&&(_t=ae+Z.l+be*H,Ft=U+Z.t+Fe*(1-yt)-3-ve*.25),me==="right"&&(Ft=U+Z.t+Fe*K+3+ve*.75,_t=ae+Z.l+be*yt),Xe(Pt._id+"title",{attributes:{x:_t,y:Ft,"text-anchor":R?"start":"middle"}})}}function ft(){if(R&&!Zt||!R&&Zt){var _t=Pt.position||0,Ft=Pt._offset+Pt._length/2,St,hr;if(me==="right")hr=Ft,St=Z.l+be*_t+10+ve*(Pt.showticklabels?1:.5);else if(St=Ft,me==="bottom"&&(hr=Z.t+Fe*_t+10+(ze.indexOf("inside")===-1?Pt.tickfont.size:0)+(Pt.ticks!=="inside"&&C.ticklen||0)),me==="top"){var jr=ce.text.split("
").length;hr=Z.t+Fe*_t+10-he-x*ve*jr}Xe((R?"h":"v")+Pt._id+"title",{avoid:{selection:u.select(F).selectAll("g."+Pt._id+"tick"),side:me,offsetTop:R?0:Z.t,offsetLeft:R?Z.l:0,maxShift:R?X.width:X.height},attributes:{x:St,y:hr,"text-anchor":"middle"},transform:{rotate:R?-90:0,offset:0}})}}function ht(){if(!R&&!Zt||R&&Zt){var _t=I.select("."+E.cbtitle),Ft=_t.select("text"),St=[-O/2,O/2],hr=_t.select(".h"+Pt._id+"title-math-group").node(),jr=15.6;Ft.node()&&(jr=parseInt(Ft.node().style.fontSize,10)*x);var ra;if(hr?(ra=n.bBox(hr),We=ra.width,Be=ra.height,Be>jr&&(St[1]-=(Be-jr)/2)):Ft.node()&&!Ft.classed(E.jsPlaceholder)&&(ra=n.bBox(Ft.node()),We=ra.width,Be=ra.height),R){if(Be){if(Be+=5,me==="top")Pt.domain[1]-=Be/Z.h,St[1]*=-1;else{Pt.domain[0]+=Be/Z.h;var $r=c.lineCount(Ft);St[1]+=(1-$r)*jr}_t.attr("transform",t(St[0],St[1])),Pt.setScale()}}else We&&(me==="right"&&(Pt.domain[0]+=(We+ve/2)/Z.w),_t.attr("transform",t(St[0],St[1])),Pt.setScale())}I.selectAll("."+E.cbfills+",."+E.cblines).attr("transform",R?t(0,Math.round(Z.h*(1-Pt.domain[1]))):t(Math.round(Z.w*Pt.domain[0]),0)),_e.attr("transform",R?t(0,Math.round(-Z.t)):t(Math.round(-Z.l),0));var pa=I.select("."+E.cbfills).selectAll("rect."+E.cbfill).attr("style","").data(Ue);pa.enter().append("rect").classed(E.cbfill,!0).attr("style",""),pa.exit().remove();var oa=ye.map(Pt.c2p).map(Math.round).sort(function(La,Ga){return La-Ga});pa.each(function(La,Ga){var xa=[Ga===0?ye[0]:(Ue[Ga]+Ue[Ga-1])/2,Ga===Ue.length-1?ye[1]:(Ue[Ga]+Ue[Ga+1])/2].map(Pt.c2p).map(Math.round);R&&(xa[1]=e.constrain(xa[1]+(xa[1]>xa[0])?1:-1,oa[0],oa[1]));var Gn=u.select(this).attr(R?"x":"y",Ve).attr(R?"y":"x",u.min(xa)).attr(R?"width":"height",Math.max(he,2)).attr(R?"height":"width",Math.max(u.max(xa)-u.min(xa),2));if(C._fillgradient)n.gradient(Gn,F,C._id,R?"vertical":"horizontalreversed",C._fillgradient,"fill");else{var Pn=Se(La).replace("e-","");Gn.attr("fill",i.color(Pn).hex())}});var aa=I.select("."+E.cblines).selectAll("path."+E.cbline).data(re.color&&re.width?xe:[]);aa.enter().append("path").classed(E.cbline,!0),aa.exit().remove(),aa.each(function(La){var Ga=Ve,xa=Math.round(Pt.c2p(La))+re.width/2%1;u.select(this).attr("d","M"+(R?Ga+","+xa:xa+","+Ga)+(R?"h":"v")+he).call(n.lineGroupStyle,re.width,Ae(La),re.dash)}),_e.selectAll("g."+Pt._id+"tick,path").remove();var ka=Ve+he+(O||0)/2-(C.ticks==="outside"?1:0),Ta=S.calcTicks(Pt),Da=S.getTickSigns(Pt)[2];return S.drawTicks(F,Pt,{vals:Pt.ticks==="inside"?S.clipEnds(Pt,Ta):Ta,layer:_e,path:S.makeTickPath(Pt,ka,Da),transFn:S.makeTransTickFn(Pt)}),S.drawLabels(F,Pt,{vals:Ta,layer:_e,transFn:S.makeTransTickLabelFn(Pt),labelFns:S.makeLabelFns(Pt,ka)})}function gt(){var _t,Ft=he+O/2;ze.indexOf("inside")===-1&&(_t=n.bBox(_e.node()),Ft+=R?_t.width:_t.height),Ie=Ee.select("text");var St=0,hr=R&&me==="top",jr=!R&&me==="right",ra=0;if(Ie.node()&&!Ie.classed(E.jsPlaceholder)){var $r,pa=Ee.select(".h"+Pt._id+"title-math-group").node();pa&&(R&&Zt||!R&&!Zt)?(_t=n.bBox(pa),St=_t.width,$r=_t.height):(_t=n.bBox(Ee.node()),St=_t.right-Z.l-(R?Ve:At),$r=_t.bottom-Z.t-(R?At:Ve),!R&&me==="top"&&(Ft+=_t.height,ra=_t.height)),jr&&(Ie.attr("transform",t(St/2+ve/2,0)),St*=2),Ft=Math.max(Ft,R?St:$r)}var oa=(R?ae:U)*2+Ft+q+O/2,aa=0;!R&&ce.text&&te==="bottom"&&K<=0&&(aa=oa/2,oa+=aa,ra+=aa),X._hColorbarMoveTitle=aa,X._hColorbarMoveCBTitle=ra;var ka=q+O,Ta=(R?Ve:At)-ka/2-(R?ae:0),Da=(R?At:Ve)-(R?le:U+ra-aa);I.select("."+E.cbbg).attr("x",Ta).attr("y",Da).attr(R?"width":"height",Math.max(oa-aa,2)).attr(R?"height":"width",Math.max(le+ka,2)).call(i.fill,Y).call(i.stroke,C.bordercolor).style("stroke-width",q);var La=jr?Math.max(St-10,0):0;I.selectAll("."+E.cboutline).attr("x",(R?Ve:At+ae)+La).attr("y",(R?At+U-le:Ve)+(hr?Be:0)).attr(R?"width":"height",Math.max(he,2)).attr(R?"height":"width",Math.max(le-(R?2*U+Be:2*ae+La),2)).call(i.stroke,C.outlinecolor).style({fill:"none","stroke-width":O});var Ga=R?je*oa:0,xa=R?0:(1-ut)*oa-ra;if(Ga=$?Z.l-Ga:-Ga,xa=V?Z.t-xa:-xa,I.attr("transform",t(Ga,xa)),!R&&(q||i.opacity(Y)&&!i.equals(X.paper_bgcolor,Y))){var Gn=_e.selectAll("text"),Pn=Gn[0].length,sn=I.select("."+E.cbbg).node(),Yn=n.bBox(sn),Zn=n.getTranslate(I),vi=2;Gn.each(function(Qe,Jt){var Yt=0,ar=Pn-1;if(Jt===Yt||Jt===ar){var cr=n.bBox(this),tr=n.getTranslate(this),Je;if(Jt===ar){var bt=cr.right+tr.x,qt=Yn.right+Zn.x+At-q-vi+H;Je=qt-bt,Je>0&&(Je=0)}else if(Jt===Yt){var Qt=cr.left+tr.x,br=Yn.left+Zn.x+At+q+vi;Je=br-Qt,Je<0&&(Je=0)}Je&&(Pn<3?this.setAttribute("transform","translate("+Je+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}})}var Dn={},oi=M[ee],on=T[ee],mn=M[te],bi=T[te],Li=oa-he;R?(D==="pixels"?(Dn.y=K,Dn.t=le*mn,Dn.b=le*bi):(Dn.t=Dn.b=0,Dn.yt=K+z*mn,Dn.yb=K-z*bi),B==="pixels"?(Dn.x=H,Dn.l=oa*oi,Dn.r=oa*on):(Dn.l=Li*oi,Dn.r=Li*on,Dn.xl=H-k*oi,Dn.xr=H+k*on)):(D==="pixels"?(Dn.x=H,Dn.l=le*oi,Dn.r=le*on):(Dn.l=Dn.r=0,Dn.xl=H+z*oi,Dn.xr=H-z*on),B==="pixels"?(Dn.y=1-K,Dn.t=oa*mn,Dn.b=oa*bi):(Dn.t=Li*mn,Dn.b=Li*bi,Dn.yt=K-k*mn,Dn.yb=K+k*bi));var $a=C.y<.5?"b":"t",Va=C.x<.5?"l":"r";F._fullLayout._reservedMargin[C._id]={};var it={r:X.width-Ta-Ga,l:Ta+Dn.r,b:X.height-Da-xa,t:Da+Dn.b};$&&V?v.autoMargin(F,C._id,Dn):$?F._fullLayout._reservedMargin[C._id][$a]=it[$a]:V||R?F._fullLayout._reservedMargin[C._id][Va]=it[Va]:F._fullLayout._reservedMargin[C._id][$a]=it[$a]}return e.syncOrAsync([v.previousPromises,mt,ht,ft,v.previousPromises,gt],F)}function h(I,C,F){var R=C.orientation==="v",z=F._fullLayout,D=z._size,k,B,O;l.init({element:I.node(),gd:F,prepFn:function(){k=I.attr("transform"),r(I)},moveFn:function(q,Y){I.attr("transform",k+t(q,Y)),B=l.align((R?C._uFrac:C._vFrac)+q/D.w,R?C._thickFrac:C._lenFrac,0,1,C.xanchor),O=l.align((R?C._vFrac:1-C._uFrac)-Y/D.h,R?C._lenFrac:C._thickFrac,0,1,C.yanchor);var ee=l.getCursor(B,O,C.xanchor,C.yanchor);r(I,ee)},doneFn:function(){if(r(I),B!==void 0&&O!==void 0){var q={};q[C._propPrefix+"x"]=B,q[C._propPrefix+"y"]=O,C._traceIndex!==void 0?w.call("_guiRestyle",F,q,C._traceIndex):w.call("_guiRelayout",F,q)}}})}function b(I,C,F){var R=C._levels,z=[],D=[],k,B,O=R.end+R.size/100,q=R.size,Y=1.001*F[0]-.001*F[1],ee=1.001*F[1]-.001*F[0];for(B=0;B<1e5&&(k=R.start+B*q,!(q>0?k>=O:k<=O));B++)k>Y&&k0?k>=O:k<=O));B++)k>F[0]&&k-1}N.exports=function(a,r){var n,i=a.data,s=a.layout,c=S([],i),p=S({},s,l(r.tileClass)),f=a._context||{};if(r.width&&(p.width=r.width),r.height&&(p.height=r.height),r.tileClass==="thumbnail"||r.tileClass==="themes__thumb"){p.annotations=[];var d=Object.keys(p);for(n=0;n=0)return f}else if(typeof f=="string"&&(f=f.trim(),f.slice(-1)==="%"&&u(f.slice(0,-1))&&(f=+f.slice(0,-1),f>=0)))return f+"%"}function p(f,d,y,o,x,M){M=M||{};var T=M.moduleHasSelected!==!1,E=M.moduleHasUnselected!==!1,g=M.moduleHasConstrain!==!1,A=M.moduleHasCliponaxis!==!1,m=M.moduleHasTextangle!==!1,h=M.moduleHasInsideanchor!==!1,b=!!M.hasPathbar,_=Array.isArray(x)||x==="auto",I=_||x==="inside",C=_||x==="outside";if(I||C){var F=n(o,"textfont",y.font),R=v.extendFlat({},F),z=f.textfont&&f.textfont.color,D=!z;if(D&&delete R.color,n(o,"insidetextfont",R),b){var k=v.extendFlat({},F);D&&delete k.color,n(o,"pathbar.textfont",k)}C&&n(o,"outsidetextfont",F),T&&o("selected.textfont.color"),E&&o("unselected.textfont.color"),g&&o("constraintext"),A&&o("cliponaxis"),m&&o("textangle"),o("texttemplate"),o("texttemplatefallback")}I&&h&&o("insidetextanchor")}N.exports={supplyDefaults:i,crossTraceDefaults:s,handleText:p,validateCornerradius:c}}}),Tw=De({"src/traces/bar/layout_defaults.js"(j,N){"use strict";var u=hi(),v=Vi(),w=Ar(),S=hx(),l=Bh().validateCornerradius;N.exports=function(e,t,a){function r(T,E){return w.coerce(e,t,S,T,E)}for(var n=!1,i=!1,s=!1,c={},p=r("barmode"),f=p==="group",d=0;d0&&!c[o]&&(s=!0),c[o]=!0),y.visible&&y.type==="histogram"){var x=v.getFromId({_fullLayout:t},y[y.orientation==="v"?"xaxis":"yaxis"]);x.type!=="category"&&(i=!0)}}if(!n){delete t.barmode;return}p!=="overlay"&&r("barnorm"),r("bargap",i&&!s?0:.2),r("bargroupgap");var M=r("barcornerradius");t.barcornerradius=l(M)}}}),F1=De({"src/traces/bar/arrays_to_calcdata.js"(j,N){"use strict";var u=Ar();N.exports=function(w,S){for(var l=0;lt;if(!a)return S}return l!==void 0?l:w.dflt},j.coerceColor=function(w,S,l){return N.isValid(S)?S:l!==void 0?l:w.dflt},j.coerceEnumerated=function(w,S,l){return w.coerceNumber&&(S=+S),w.values.indexOf(S)!==-1?S:l!==void 0?l:w.dflt},j.getValue=function(w,S){var l;return v(w)?S1||b.bargap===0&&b.bargroupgap===0&&!_[0].trace.marker.line.width)&&u.select(this).attr("shape-rendering","crispEdges")}),m.selectAll("g.points").each(function(_){var I=u.select(this),C=_[0].trace;c(I,C,A)}),l.getComponentMethod("errorbars","style")(m)}function c(A,m,h){w.pointStyle(A.selectAll("path"),m,h),p(A,m,h)}function p(A,m,h){A.selectAll("text").each(function(b){var _=u.select(this),I=S.ensureUniformFontSize(h,o(_,b,m,h));w.font(_,I)})}function f(A,m,h){var b=m[0].trace;b.selectedpoints?d(h,b,A):(c(h,b,A),l.getComponentMethod("errorbars","style")(h))}function d(A,m,h){w.selectedPointStyle(A.selectAll("path"),m),y(A.selectAll("text"),m,h)}function y(A,m,h){A.each(function(b){var _=u.select(this),I;if(b.selected){I=S.ensureUniformFontSize(h,o(_,b,m,h));var C=m.selected.textfont&&m.selected.textfont.color;C&&(I.color=C),w.font(_,I)}else w.selectedTextStyle(_,m)})}function o(A,m,h,b){var _=b._fullLayout.font,I=h.textfont;if(A.classed("bartext-inside")){var C=g(m,h);I=M(h,m.i,_,C)}else A.classed("bartext-outside")&&(I=T(h,m.i,_));return I}function x(A,m,h){return E(a,A.textfont,m,h)}function M(A,m,h,b){var _=x(A,m,h),I=A._input.textfont===void 0||A._input.textfont.color===void 0||Array.isArray(A.textfont.color)&&A.textfont.color[m]===void 0;return I&&(_={color:v.contrast(b),family:_.family,size:_.size,weight:_.weight,style:_.style,variant:_.variant,textcase:_.textcase,lineposition:_.lineposition,shadow:_.shadow}),E(r,A.insidetextfont,m,_)}function T(A,m,h){var b=x(A,m,h);return E(n,A.outsidetextfont,m,b)}function E(A,m,h,b){m=m||{};var _=i.getValue(m.family,h),I=i.getValue(m.size,h),C=i.getValue(m.color,h),F=i.getValue(m.weight,h),R=i.getValue(m.style,h),z=i.getValue(m.variant,h),D=i.getValue(m.textcase,h),k=i.getValue(m.lineposition,h),B=i.getValue(m.shadow,h);return{family:i.coerceString(A.family,_,b.family),size:i.coerceNumber(A.size,I,b.size),color:i.coerceColor(A.color,C,b.color),weight:i.coerceString(A.weight,F,b.weight),style:i.coerceString(A.style,R,b.style),variant:i.coerceString(A.variant,z,b.variant),textcase:i.coerceString(A.variant,D,b.textcase),lineposition:i.coerceString(A.variant,k,b.lineposition),shadow:i.coerceString(A.variant,B,b.shadow)}}function g(A,m){return m.type==="waterfall"?m[A.dir].marker.color:A.mcc||A.mc||m.marker.color}N.exports={style:s,styleTextPoints:p,styleOnSelect:f,getInsideTextFont:M,getOutsideTextFont:T,getBarColor:g,resizeText:e}}}),Rp=De({"src/traces/bar/plot.js"(j,N){"use strict";var u=Qn(),v=io(),w=Ar(),S=Xs(),l=ii(),e=Ki(),t=hi(),a=Vi().tickText,r=Yf(),n=r.recordMinTextSize,i=r.clearMinTextSize,s=td(),c=vx(),p=Zv(),f=Rd(),d=f.text,y=f.textposition,o=Ch().appendArrayPointValue,x=p.TEXTPAD;function M(Y){return Y.id}function T(Y){if(Y.ids)return M}function E(Y){return(Y>0)-(Y<0)}function g(Y,ee){return Y0}function b(Y,ee,te,ae,U,H){var K=ee.xaxis,V=ee.yaxis,$=Y._fullLayout,X=Y._context.staticPlot;U||(U={mode:$.barmode,norm:$.barmode,gap:$.bargap,groupgap:$.bargroupgap},i("bar",$));var Z=w.makeTraceGroups(ae,te,"trace bars").each(function(Q){var re=u.select(this),ce=Q[0].trace,me=Q[0].t,ye=ce.type==="waterfall",Ae=ce.type==="funnel",Se=ce.type==="histogram",Ce=ce.type==="bar",qe=Ce||Ae,Ue=0;ye&&ce.connector.visible&&ce.connector.mode==="between"&&(Ue=ce.connector.line.width/2);var xe=ce.orientation==="h",he=h(U),oe=w.ensureSingle(re,"g","points"),le=T(ce),ne=oe.selectAll("g.point").data(w.identity,le);ne.enter().append("g").classed("point",!0),ne.exit().remove(),ne.each(function(Fe,Ve){var je=u.select(this),ut=A(Fe,K,V,xe),st=ut[0][0],yt=ut[0][1],At=ut[1][0],Pt=ut[1][1],Zt=(xe?yt-st:Pt-At)===0;Zt&&qe&&c.getLineWidth(ce,Fe)&&(Zt=!1),Zt||(Zt=!v(st)||!v(yt)||!v(At)||!v(Pt)),Fe.isBlank=Zt,Zt&&(xe?yt=st:Pt=At),Ue&&!Zt&&(xe?(st-=g(st,yt)*Ue,yt+=g(st,yt)*Ue):(At-=g(At,Pt)*Ue,Pt+=g(At,Pt)*Ue));var vr,Nt;if(ce.type==="waterfall"){if(!Zt){var Kt=ce[Fe.dir].marker;vr=Kt.line.width,Nt=Kt.color}}else vr=c.getLineWidth(ce,Fe),Nt=Fe.mc||ce.marker.color;function nt(Ta){var Da=u.round(vr/2%1,2);return U.gap===0&&U.groupgap===0?u.round(Math.round(Ta)-Da,2):Ta}function Ee(Ta,Da,La){return La&&Ta===Da?Ta:Math.abs(Ta-Da)>=2?nt(Ta):Ta>Da?Math.ceil(Ta):Math.floor(Ta)}var ze=l.opacity(Nt),ve=ze<1||vr>.01?nt:Ee;Y._context.staticPlot||(st=ve(st,yt,xe),yt=ve(yt,st,xe),At=ve(At,Pt,!xe),Pt=ve(Pt,At,!xe));var _e=xe?K.c2p:V.c2p,Ie;Fe.s0>0?Ie=Fe._sMax:Fe.s0<0?Ie=Fe._sMin:Ie=Fe.s1>0?Fe._sMax:Fe._sMin;function Be(Ta,Da){if(!Ta)return 0;var La=Math.abs(xe?Pt-At:yt-st),Ga=Math.abs(xe?yt-st:Pt-At),xa=ve(Math.abs(_e(Ie,!0)-_e(0,!0))),Gn=Fe.hasB?Math.min(La/2,Ga/2):Math.min(La/2,xa),Pn;if(Da==="%"){var sn=Math.min(50,Ta);Pn=La*(sn/100)}else Pn=Ta;return ve(Math.max(Math.min(Pn,Gn),0))}var We=Ce||Se?Be(me.cornerradiusvalue,me.cornerradiusform):0,Xe,mt,ft="M"+st+","+At+"V"+Pt+"H"+yt+"V"+At+"Z",ht=0;if(We&&Fe.s){var gt=E(Fe.s0)===0||E(Fe.s)===E(Fe.s0)?Fe.s1:Fe.s0;if(ht=ve(Fe.hasB?0:Math.abs(_e(Ie,!0)-_e(gt,!0))),ht0?Math.sqrt(ht*(2*We-ht)):0,ra=_t>0?Math.max:Math.min;Xe="M"+st+","+At+"V"+(Pt-hr*Ft)+"H"+ra(yt-(We-ht)*_t,st)+"A "+We+","+We+" 0 0 "+St+" "+yt+","+(Pt-We*Ft-jr)+"V"+(At+We*Ft+jr)+"A "+We+","+We+" 0 0 "+St+" "+ra(yt-(We-ht)*_t,st)+","+(At+hr*Ft)+"Z"}else if(Fe.hasB)Xe="M"+(st+We*_t)+","+At+"A "+We+","+We+" 0 0 "+St+" "+st+","+(At+We*Ft)+"V"+(Pt-We*Ft)+"A "+We+","+We+" 0 0 "+St+" "+(st+We*_t)+","+Pt+"H"+(yt-We*_t)+"A "+We+","+We+" 0 0 "+St+" "+yt+","+(Pt-We*Ft)+"V"+(At+We*Ft)+"A "+We+","+We+" 0 0 "+St+" "+(yt-We*_t)+","+At+"Z";else{mt=Math.abs(Pt-At)+ht;var $r=mt0?Math.sqrt(ht*(2*We-ht)):0,oa=Ft>0?Math.max:Math.min;Xe="M"+(st+$r*_t)+","+At+"V"+oa(Pt-(We-ht)*Ft,At)+"A "+We+","+We+" 0 0 "+St+" "+(st+We*_t-pa)+","+Pt+"H"+(yt-We*_t+pa)+"A "+We+","+We+" 0 0 "+St+" "+(yt-$r*_t)+","+oa(Pt-(We-ht)*Ft,At)+"V"+At+"Z"}}else Xe=ft}else Xe=ft;var aa=m(w.ensureSingle(je,"path"),$,U,H);if(aa.style("vector-effect",X?"none":"non-scaling-stroke").attr("d",isNaN((yt-st)*(Pt-At))||Zt&&Y._context.staticPlot?"M0,0Z":Xe).call(e.setClipUrl,ee.layerClipId,Y),!$.uniformtext.mode&&he){var ka=e.makePointStyleFns(ce);e.singlePointStyle(Fe,aa,ce,ka,Y)}_(Y,ee,je,Q,Ve,st,yt,At,Pt,We,ht,U,H),ee.layerClipId&&e.hideOutsideRangePoint(Fe,je.select("text"),K,V,ce.xcalendar,ce.ycalendar)});var be=ce.cliponaxis===!1;e.setClipUrl(re,be?null:ee.layerClipId,Y)});t.getComponentMethod("errorbars","plot")(Y,Z,ee,U)}function _(Y,ee,te,ae,U,H,K,V,$,X,Z,Q,re){var ce=ee.xaxis,me=ee.yaxis,ye=Y._fullLayout,Ae;function Se(mt,ft,ht){var gt=w.ensureSingle(mt,"text").text(ft).attr({class:"bartext bartext-"+Ae,"text-anchor":"middle","data-notex":1}).call(e.font,ht).call(S.convertToTspans,Y);return gt}var Ce=ae[0].trace,qe=Ce.orientation==="h",Ue=k(ye,ae,U,ce,me);Ae=B(Ce,U);var xe=Q.mode==="stack"||Q.mode==="relative",he=ae[U],oe=!xe||he._outmost,le=he.hasB,ne=X&&X-Z>x;if(!Ue||Ae==="none"||(he.isBlank||H===K||V===$)&&(Ae==="auto"||Ae==="inside")){te.select("text").remove();return}var be=ye.font,Fe=s.getBarColor(ae[U],Ce),Ve=s.getInsideTextFont(Ce,U,be,Fe),je=s.getOutsideTextFont(Ce,U,be),ut=Ce.insidetextanchor||"end",st=te.datum();qe?ce.type==="log"&&st.s0<=0&&(ce.range[0]0&&nt>0,ve;ne?le?ve=I(Pt-2*X,Zt,Kt,nt,qe)||I(Pt,Zt-2*X,Kt,nt,qe):qe?ve=I(Pt-(X-Z),Zt,Kt,nt,qe)||I(Pt,Zt-2*(X-Z),Kt,nt,qe):ve=I(Pt,Zt-(X-Z),Kt,nt,qe)||I(Pt-2*(X-Z),Zt,Kt,nt,qe):ve=I(Pt,Zt,Kt,nt,qe),ze&&ve?Ae="inside":(Ae="outside",vr.remove(),vr=null)}else Ae="inside";if(!vr){Ee=w.ensureUniformFontSize(Y,Ae==="outside"?je:Ve),vr=Se(te,Ue,Ee);var _e=vr.attr("transform");if(vr.attr("transform",""),Nt=e.bBox(vr.node()),Kt=Nt.width,nt=Nt.height,vr.attr("transform",_e),Kt<=0||nt<=0){vr.remove();return}}var Ie=Ce.textangle,Be,We;Ae==="outside"?(We=Ce.constraintext==="both"||Ce.constraintext==="outside",Be=D(H,K,V,$,Nt,{isHorizontal:qe,constrained:We,angle:Ie})):(We=Ce.constraintext==="both"||Ce.constraintext==="inside",Be=R(H,K,V,$,Nt,{isHorizontal:qe,constrained:We,angle:Ie,anchor:ut,hasB:le,r:X,overhead:Z})),Be.fontSize=Ee.size,n(Ce.type==="histogram"?"bar":Ce.type,Be,ye),he.transform=Be;var Xe=m(vr,ye,Q,re);w.setTransormAndDisplay(Xe,Be)}function I(Y,ee,te,ae,U){if(Y<0||ee<0)return!1;var H=te<=Y&&ae<=ee,K=te<=ee&&ae<=Y,V=U?Y>=te*(ee/ae):ee>=ae*(Y/te);return H||K||V}function C(Y){return Y==="auto"?0:Y}function F(Y,ee){var te=Math.PI/180*ee,ae=Math.abs(Math.sin(te)),U=Math.abs(Math.cos(te));return{x:Y.width*U+Y.height*ae,y:Y.width*ae+Y.height*U}}function R(Y,ee,te,ae,U,H){var K=!!H.isHorizontal,V=!!H.constrained,$=H.angle||0,X=H.anchor,Z=X==="end",Q=X==="start",re=H.leftToRight||0,ce=(re+1)/2,me=1-ce,ye=H.hasB,Ae=H.r,Se=H.overhead,Ce=U.width,qe=U.height,Ue=Math.abs(ee-Y),xe=Math.abs(ae-te),he=Ue>2*x&&xe>2*x?x:0;Ue-=2*he,xe-=2*he;var oe=C($);$==="auto"&&!(Ce<=Ue&&qe<=xe)&&(Ce>Ue||qe>xe)&&(!(Ce>xe||qe>Ue)||Cex){var Fe=z(Y,ee,te,ae,le,Ae,Se,K,ye);ne=Fe.scale,be=Fe.pad}else ne=1,V&&(ne=Math.min(1,Ue/le.x,xe/le.y)),be=0;var Ve=U.left*me+U.right*ce,je=(U.top+U.bottom)/2,ut=(Y+x)*me+(ee-x)*ce,st=(te+ae)/2,yt=0,At=0;if(Q||Z){var Pt=(K?le.x:le.y)/2;Ae&&(Z||ye)&&(he+=be);var Zt=K?g(Y,ee):g(te,ae);K?Q?(ut=Y+Zt*he,yt=-Zt*Pt):(ut=ee-Zt*he,yt=Zt*Pt):Q?(st=te+Zt*he,At=-Zt*Pt):(st=ae-Zt*he,At=Zt*Pt)}return{textX:Ve,textY:je,targetX:ut,targetY:st,anchorX:yt,anchorY:At,scale:ne,rotate:oe}}function z(Y,ee,te,ae,U,H,K,V,$){var X=Math.max(0,Math.abs(ee-Y)-2*x),Z=Math.max(0,Math.abs(ae-te)-2*x),Q=H-x,re=K?Q-Math.sqrt(Q*Q-(Q-K)*(Q-K)):Q,ce=$?Q*2:V?Q-K:2*re,me=$?Q*2:V?2*re:Q-K,ye,Ae,Se,Ce,qe;return U.y/U.x>=Z/(X-ce)?Ce=Z/U.y:U.y/U.x<=(Z-me)/X?Ce=X/U.x:!$&&V?(ye=U.x*U.x+U.y*U.y/4,Ae=-2*U.x*(X-Q)-U.y*(Z/2-Q),Se=(X-Q)*(X-Q)+(Z/2-Q)*(Z/2-Q)-Q*Q,Ce=(-Ae+Math.sqrt(Ae*Ae-4*ye*Se))/(2*ye)):$?(ye=(U.x*U.x+U.y*U.y)/4,Ae=-U.x*(X/2-Q)-U.y*(Z/2-Q),Se=(X/2-Q)*(X/2-Q)+(Z/2-Q)*(Z/2-Q)-Q*Q,Ce=(-Ae+Math.sqrt(Ae*Ae-4*ye*Se))/(2*ye)):(ye=U.x*U.x/4+U.y*U.y,Ae=-U.x*(X/2-Q)-2*U.y*(Z-Q),Se=(X/2-Q)*(X/2-Q)+(Z-Q)*(Z-Q)-Q*Q,Ce=(-Ae+Math.sqrt(Ae*Ae-4*ye*Se))/(2*ye)),Ce=Math.min(1,Ce),V?qe=Math.max(0,Q-Math.sqrt(Math.max(0,Q*Q-(Q-(Z-U.y*Ce)/2)*(Q-(Z-U.y*Ce)/2)))-K):qe=Math.max(0,Q-Math.sqrt(Math.max(0,Q*Q-(Q-(X-U.x*Ce)/2)*(Q-(X-U.x*Ce)/2)))-K),{scale:Ce,pad:qe}}function D(Y,ee,te,ae,U,H){var K=!!H.isHorizontal,V=!!H.constrained,$=H.angle||0,X=U.width,Z=U.height,Q=Math.abs(ee-Y),re=Math.abs(ae-te),ce;K?ce=re>2*x?x:0:ce=Q>2*x?x:0;var me=1;V&&(me=K?Math.min(1,re/Z):Math.min(1,Q/X));var ye=C($),Ae=F(U,ye),Se=(K?Ae.x:Ae.y)/2,Ce=(U.left+U.right)/2,qe=(U.top+U.bottom)/2,Ue=(Y+ee)/2,xe=(te+ae)/2,he=0,oe=0,le=K?g(ee,Y):g(te,ae);return K?(Ue=ee-le*ce,he=le*Se):(xe=ae+le*ce,oe=-le*Se),{textX:Ce,textY:qe,targetX:Ue,targetY:xe,anchorX:he,anchorY:oe,scale:me,rotate:ye}}function k(Y,ee,te,ae,U){var H=ee[0].trace,K=H.texttemplate,V;return K?V=O(Y,ee,te,ae,U):H.textinfo?V=q(ee,te,ae,U):V=c.getValue(H.text,te),c.coerceString(d,V)}function B(Y,ee){var te=c.getValue(Y.textposition,ee);return c.coerceEnumerated(y,te)}function O(Y,ee,te,ae,U){var H=ee[0].trace,K=w.castOption(H,te,"texttemplate");if(!K)return"";var V=H.type==="histogram",$=H.type==="waterfall",X=H.type==="funnel",Z=H.orientation==="h",Q,re,ce,me;Z?(Q="y",re=U,ce="x",me=ae):(Q="x",re=ae,ce="y",me=U);function ye(he){return a(re,re.c2l(he),!0).text}function Ae(he){return a(me,me.c2l(he),!0).text}var Se=ee[te],Ce={};Ce.label=Se.p,Ce.labelLabel=Ce[Q+"Label"]=ye(Se.p);var qe=w.castOption(H,Se.i,"text");(qe===0||qe)&&(Ce.text=qe),Ce.value=Se.s,Ce.valueLabel=Ce[ce+"Label"]=Ae(Se.s);var Ue={};o(Ue,H,Se.i),(V||Ue.x===void 0)&&(Ue.x=Z?Ce.value:Ce.label),(V||Ue.y===void 0)&&(Ue.y=Z?Ce.label:Ce.value),(V||Ue.xLabel===void 0)&&(Ue.xLabel=Z?Ce.valueLabel:Ce.labelLabel),(V||Ue.yLabel===void 0)&&(Ue.yLabel=Z?Ce.labelLabel:Ce.valueLabel),$&&(Ce.delta=+Se.rawS||Se.s,Ce.deltaLabel=Ae(Ce.delta),Ce.final=Se.v,Ce.finalLabel=Ae(Ce.final),Ce.initial=Ce.final-Ce.delta,Ce.initialLabel=Ae(Ce.initial)),X&&(Ce.value=Se.s,Ce.valueLabel=Ae(Ce.value),Ce.percentInitial=Se.begR,Ce.percentInitialLabel=w.formatPercent(Se.begR),Ce.percentPrevious=Se.difR,Ce.percentPreviousLabel=w.formatPercent(Se.difR),Ce.percentTotal=Se.sumR,Ce.percenTotalLabel=w.formatPercent(Se.sumR));var xe=w.castOption(H,Se.i,"customdata");return xe&&(Ce.customdata=xe),w.texttemplateString({data:[Ue,Ce,H._meta],fallback:H.texttemplatefallback,labels:Ce,locale:Y._d3locale,template:K})}function q(Y,ee,te,ae){var U=Y[0].trace,H=U.orientation==="h",K=U.type==="waterfall",V=U.type==="funnel";function $(xe){var he=H?ae:te;return a(he,xe,!0).text}function X(xe){var he=H?te:ae;return a(he,+xe,!0).text}var Z=U.textinfo,Q=Y[ee],re=Z.split("+"),ce=[],me,ye=function(xe){return re.indexOf(xe)!==-1};if(ye("label")&&ce.push($(Y[ee].p)),ye("text")&&(me=w.castOption(U,Q.i,"text"),(me===0||me)&&ce.push(me)),K){var Ae=+Q.rawS||Q.s,Se=Q.v,Ce=Se-Ae;ye("initial")&&ce.push(X(Ce)),ye("delta")&&ce.push(X(Ae)),ye("final")&&ce.push(X(Se))}if(V){ye("value")&&ce.push(X(Q.s));var qe=0;ye("percent initial")&&qe++,ye("percent previous")&&qe++,ye("percent total")&&qe++;var Ue=qe>1;ye("percent initial")&&(me=w.formatPercent(Q.begR),Ue&&(me+=" of initial"),ce.push(me)),ye("percent previous")&&(me=w.formatPercent(Q.difR),Ue&&(me+=" of previous"),ce.push(me)),ye("percent total")&&(me=w.formatPercent(Q.sumR),Ue&&(me+=" of total"),ce.push(me))}return ce.join("
")}N.exports={plot:b,toMoveInsideBar:R}}}),_m=De({"src/traces/bar/hover.js"(j,N){"use strict";var u=uu(),v=hi(),w=ii(),S=Ar().fillText,l=vx().getLineWidth,e=Vi().hoverLabelText,t=Ho().BADNUM;function a(i,s,c,p,f){var d=r(i,s,c,p,f);if(d){var y=d.cd,o=y[0].trace,x=y[d.index];return d.color=n(o,x),v.getComponentMethod("errorbars","hoverInfo")(x,o,d),[d]}}function r(i,s,c,p,f){var d=i.cd,y=d[0].trace,o=d[0].t,x=p==="closest",M=y.type==="waterfall",T=i.maxHoverDistance,E=i.maxSpikeDistance,g,A,m,h,b,_,I;y.orientation==="h"?(g=c,A=s,m="y",h="x",b=ae,_=Y):(g=s,A=c,m="x",h="y",_=ae,b=Y);var C=y[m+"period"],F=x||C;function R(me){return D(me,-1)}function z(me){return D(me,1)}function D(me,ye){var Ae=me.w;return me[m]+ye*Ae/2}function k(me){return me[m+"End"]-me[m+"Start"]}var B=x?R:C?function(me){return me.p-k(me)/2}:function(me){return Math.min(R(me),me.p-o.bardelta/2)},O=x?z:C?function(me){return me.p+k(me)/2}:function(me){return Math.max(z(me),me.p+o.bardelta/2)};function q(me,ye,Ae){return f.finiteRange&&(Ae=0),u.inbox(me-g,ye-g,Ae+Math.min(1,Math.abs(ye-me)/I)-1)}function Y(me){return q(B(me),O(me),T)}function ee(me){return q(R(me),z(me),E)}function te(me){var ye=me[h];if(M){var Ae=Math.abs(me.rawS)||0;A>0?ye+=Ae:A<0&&(ye-=Ae)}return ye}function ae(me){var ye=A,Ae=me.b,Se=te(me);return u.inbox(Ae-ye,Se-ye,T+(Se-ye)/(Se-Ae)-1)}function U(me){var ye=A,Ae=me.b,Se=te(me);return u.inbox(Ae-ye,Se-ye,E+(Se-ye)/(Se-Ae)-1)}var H=i[m+"a"],K=i[h+"a"];I=Math.abs(H.r2c(H.range[1])-H.r2c(H.range[0]));function V(me){return(b(me)+_(me))/2}var $=u.getDistanceFunction(p,b,_,V);if(u.getClosest(d,$,i),i.index!==!1&&d[i.index].p!==t){F||(B=function(me){return Math.min(R(me),me.p-o.bargroupwidth/2)},O=function(me){return Math.max(z(me),me.p+o.bargroupwidth/2)});var X=i.index,Z=d[X],Q=y.base?Z.b+Z.s:Z.s;i[h+"0"]=i[h+"1"]=K.c2p(Z[h],!0),i[h+"LabelVal"]=Q;var re=o.extents[o.extents.round(Z.p)];i[m+"0"]=H.c2p(x?B(Z):re[0],!0),i[m+"1"]=H.c2p(x?O(Z):re[1],!0);var ce=Z.orig_p!==void 0;return i[m+"LabelVal"]=ce?Z.orig_p:Z.p,i.labelLabel=e(H,i[m+"LabelVal"],y[m+"hoverformat"]),i.valueLabel=e(K,i[h+"LabelVal"],y[h+"hoverformat"]),i.baseLabel=e(K,Z.b,y[h+"hoverformat"]),i.spikeDistance=(U(Z)+ee(Z))/2,i[m+"Spike"]=H.c2p(Z.p,!0),S(Z,y,i),i.hovertemplate=y.hovertemplate,i}}function n(i,s){var c=s.mcc||i.marker.color,p=s.mlcc||i.marker.line.color,f=l(i,s);if(w.opacity(c))return c;if(w.opacity(p)&&f)return p}N.exports={hoverPoints:a,hoverOnBars:r,getTraceColor:n}}}),RI=De({"src/traces/bar/event_data.js"(j,N){"use strict";N.exports=function(v,w,S){return v.x="xVal"in w?w.xVal:w.x,v.y="yVal"in w?w.yVal:w.y,w.xa&&(v.xaxis=w.xa),w.ya&&(v.yaxis=w.ya),S.orientation==="h"?(v.label=v.y,v.value=v.x):(v.label=v.x,v.value=v.y),v}}}),xm=De({"src/traces/bar/select.js"(j,N){"use strict";N.exports=function(w,S){var l=w.cd,e=w.xaxis,t=w.yaxis,a=l[0].trace,r=a.type==="funnel",n=a.orientation==="h",i=[],s;if(S===!1)for(s=0;s0?(C="v",m>0?F=Math.min(b,h):F=Math.min(h)):m>0?(C="h",F=Math.min(b)):F=0;if(!F){c.visible=!1;return}c._length=F;var B=p("orientation",C);c._hasPreCompStats?B==="v"&&m===0?(p("x0",0),p("dx",1)):B==="h"&&A===0&&(p("y0",0),p("dy",1)):B==="v"&&m===0?p("x0"):B==="h"&&A===0&&p("y0");var O=v.getComponentMethod("calendars","handleTraceDefaults");O(s,c,["x","y"],f)}function n(s,c,p,f){var d=f.prefix,y=u.coerce2(s,c,t,"marker.outliercolor"),o=p("marker.line.outliercolor"),x="outliers";c._hasPreCompStats?x="all":(y||o)&&(x="suspectedoutliers");var M=p(d+"points",x);M?(p("jitter",M==="all"?.3:0),p("pointpos",M==="all"?-1.5:0),p("marker.symbol"),p("marker.opacity"),p("marker.size"),p("marker.angle"),p("marker.color",c.line.color),p("marker.line.color"),p("marker.line.width"),M==="suspectedoutliers"&&(p("marker.line.outliercolor",c.marker.color),p("marker.line.outlierwidth")),p("selected.marker.color"),p("unselected.marker.color"),p("selected.marker.size"),p("unselected.marker.size"),p("text"),p("hovertext")):delete c.marker;var T=p("hoveron");(T==="all"||T.indexOf("points")!==-1)&&(p("hovertemplate"),p("hovertemplatefallback")),u.coerceSelectionMarkerOpacity(c,p)}function i(s,c){var p,f;function d(M){return u.coerce(f._input,f,t,M)}for(var y=0;yte.uf};if(E._hasPreCompStats){var X=E[F],Z=function(Zt){return C.d2c((E[Zt]||[])[_])},Q=1/0,re=-1/0;for(_=0;_=te.q1&&te.q3>=te.med){var me=Z("lowerfence");te.lf=me!==l&&me<=te.q1?me:f(te,U,H);var ye=Z("upperfence");te.uf=ye!==l&&ye>=te.q3?ye:d(te,U,H);var Ae=Z("mean");te.mean=Ae!==l?Ae:H?S.mean(U,H):(te.q1+te.q3)/2;var Se=Z("sd");te.sd=Ae!==l&&Se>=0?Se:H?S.stdev(U,H,te.mean):te.q3-te.q1,te.lo=y(te),te.uo=o(te);var Ce=Z("notchspan");Ce=Ce!==l&&Ce>0?Ce:x(te,H),te.ln=te.med-Ce,te.un=te.med+Ce;var qe=te.lf,Ue=te.uf;E.boxpoints&&U.length&&(qe=Math.min(qe,U[0]),Ue=Math.max(Ue,U[H-1])),E.notched&&(qe=Math.min(qe,te.ln),Ue=Math.max(Ue,te.un)),te.min=qe,te.max=Ue}else{S.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+te.q1,"median = "+te.med,"q3 = "+te.q3].join(` +`));var xe;te.med!==l?xe=te.med:te.q1!==l?te.q3!==l?xe=(te.q1+te.q3)/2:xe=te.q1:te.q3!==l?xe=te.q3:xe=0,te.med=xe,te.q1=te.q3=xe,te.lf=te.uf=xe,te.mean=te.sd=xe,te.ln=te.un=xe,te.min=te.max=xe}Q=Math.min(Q,te.min),re=Math.max(re,te.max),te.pts2=ae.filter($),h.push(te)}}E._extremes[C._id]=v.findExtremes(C,[Q,re],{padded:!0})}else{var he=C.makeCalcdata(E,F),oe=a(Y,ee),le=Y.length,ne=r(le);for(_=0;_=0&&be0){if(te={},te.pos=te[z]=Y[_],ae=te.pts=ne[_].sort(c),U=te[F]=ae.map(p),H=U.length,te.min=U[0],te.max=U[H-1],te.mean=S.mean(U,H),te.sd=S.stdev(U,H,te.mean)*E.sdmultiple,te.med=S.interp(U,.5),H%2&&(ut||st)){var yt,At;ut?(yt=U.slice(0,H/2),At=U.slice(H/2+1)):st&&(yt=U.slice(0,H/2+1),At=U.slice(H/2)),te.q1=S.interp(yt,.5),te.q3=S.interp(At,.5)}else te.q1=S.interp(U,.25),te.q3=S.interp(U,.75);te.lf=f(te,U,H),te.uf=d(te,U,H),te.lo=y(te),te.uo=o(te);var Pt=x(te,H);te.ln=te.med-Pt,te.un=te.med+Pt,Fe=Math.min(Fe,te.ln),Ve=Math.max(Ve,te.un),te.pts2=ae.filter($),h.push(te)}E.notched&&S.isTypedArray(he)&&(he=Array.from(he)),E._extremes[C._id]=v.findExtremes(C,E.notched?he.concat([Fe,Ve]):he,{padded:!0})}return s(h,E),h.length>0?(h[0].t={num:g[b],dPos:ee,posLetter:z,valLetter:F,labels:{med:e(T,"median:"),min:e(T,"min:"),q1:e(T,"q1:"),q3:e(T,"q3:"),max:e(T,"max:"),mean:E.boxmean==="sd"||E.sizemode==="sd"?e(T,"mean \xB1 \u03C3:").replace("\u03C3",E.sdmultiple===1?"\u03C3":E.sdmultiple+"\u03C3"):e(T,"mean:"),lf:e(T,"lower fence:"),uf:e(T,"upper fence:")}},g[b]++,h):[{t:{empty:!0}}]};function t(M,T,E,g){var A=T in M,m=T+"0"in M,h="d"+T in M;if(A||m&&h){var b=E.makeCalcdata(M,T),_=w(M,E,T,b).vals;return[_,b]}var I;m?I=M[T+"0"]:"name"in M&&(E.type==="category"||u(M.name)&&["linear","log"].indexOf(E.type)!==-1||S.isDateTime(M.name)&&E.type==="date")?I=M.name:I=g;for(var C=E.type==="multicategory"?E.r2c_just_indices(I):E.d2c(I,0,M[T+"calendar"]),F=M._length,R=new Array(F),z=0;z1,m=1-s[t+"gap"],h=1-s[t+"groupgap"];for(f=0;f0;if(C==="positive"?(te=F*(I?1:.5),H=U,ae=H=z):C==="negative"?(te=H=z,ae=F*(I?1:.5),K=U):(te=ae=F,H=K=U),re){var ce=b.pointpos,me=b.jitter,ye=b.marker.size/2,Ae=0;ce+me>=0&&(Ae=U*(ce+me),Ae>te?(Q=!0,X=ye,V=Ae):Ae>H&&(X=ye,V=te)),Ae<=te&&(V=te);var Se=0;ce-me<=0&&(Se=-U*(ce-me),Se>ae?(Q=!0,Z=ye,$=Se):Se>K&&(Z=ye,$=ae)),Se<=ae&&($=ae)}else V=te,$=ae;var Ce=new Array(y.length);for(d=0;dE.lo&&(B.so=!0)}return A});T.enter().append("path").classed("point",!0),T.exit().remove(),T.call(w.translatePoints,p,f)}function r(n,i,s,c){var p=i.val,f=i.pos,d=!!f.rangebreaks,y=c.bPos,o=c.bPosPxOffset||0,x=s.boxmean||(s.meanline||{}).visible,M,T;Array.isArray(c.bdPos)?(M=c.bdPos[0],T=c.bdPos[1]):(M=c.bdPos,T=c.bdPos);var E=n.selectAll("path.mean").data(s.type==="box"&&s.boxmean||s.type==="violin"&&s.box.visible&&s.meanline.visible?v.identity:[]);E.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),E.exit().remove(),E.each(function(g){var A=f.c2l(g.pos+y,!0),m=f.l2p(A-M)+o,h=f.l2p(A+T)+o,b=d?(m+h)/2:f.l2p(A)+o,_=p.c2p(g.mean,!0),I=p.c2p(g.mean-g.sd,!0),C=p.c2p(g.mean+g.sd,!0);s.orientation==="h"?u.select(this).attr("d","M"+_+","+m+"V"+h+(x==="sd"?"m0,0L"+I+","+b+"L"+_+","+m+"L"+C+","+b+"Z":"")):u.select(this).attr("d","M"+m+","+_+"H"+h+(x==="sd"?"m0,0L"+b+","+I+"L"+m+","+_+"L"+b+","+C+"Z":""))})}N.exports={plot:e,plotBoxAndWhiskers:t,plotPoints:a,plotBoxMean:r}}}),yx=De({"src/traces/box/style.js"(j,N){"use strict";var u=Qn(),v=ii(),w=Ki();function S(e,t,a){var r=a||u.select(e).selectAll("g.trace.boxes");r.style("opacity",function(n){return n[0].trace.opacity}),r.each(function(n){var i=u.select(this),s=n[0].trace,c=s.line.width;function p(y,o,x,M){y.style("stroke-width",o+"px").call(v.stroke,x).call(v.fill,M)}var f=i.selectAll("path.box");if(s.type==="candlestick")f.each(function(y){if(!y.empty){var o=u.select(this),x=s[y.dir];p(o,x.line.width,x.line.color,x.fillcolor),o.style("opacity",s.selectedpoints&&!y.selected?.3:1)}});else{p(f,c,s.line.color,s.fillcolor),i.selectAll("path.mean").style({"stroke-width":c,"stroke-dasharray":2*c+"px,"+c+"px"}).call(v.stroke,s.line.color);var d=i.selectAll("path.point");w.pointStyle(d,s,e)}})}function l(e,t,a){var r=t[0].trace,n=a.selectAll("path.point");r.selectedpoints?w.selectedPointStyle(n,r):w.pointStyle(n,r,e)}N.exports={style:S,styleOnSelect:l}}}),Sw=De({"src/traces/box/hover.js"(j,N){"use strict";var u=Vi(),v=Ar(),w=uu(),S=ii(),l=v.fillText;function e(r,n,i,s){var c=r.cd,p=c[0].trace,f=p.hoveron,d=[],y;return f.indexOf("boxes")!==-1&&(d=d.concat(t(r,n,i,s))),f.indexOf("points")!==-1&&(y=a(r,n,i)),s==="closest"?y?[y]:d:(y&&d.push(y),d)}function t(r,n,i,s){var c=r.cd,p=r.xa,f=r.ya,d=c[0].trace,y=c[0].t,o=d.type==="violin",x,M,T,E,g,A,m,h,b,_,I,C=y.bdPos,F,R,z=y.wHover,D=function(Se){return T.c2l(Se.pos)+y.bPos-T.c2l(A)};o&&d.side!=="both"?(d.side==="positive"&&(b=function(Se){var Ce=D(Se);return w.inbox(Ce,Ce+z,_)},F=C,R=0),d.side==="negative"&&(b=function(Se){var Ce=D(Se);return w.inbox(Ce-z,Ce,_)},F=0,R=C)):(b=function(Se){var Ce=D(Se);return w.inbox(Ce-z,Ce+z,_)},F=R=C);var k;o?k=function(Se){return w.inbox(Se.span[0]-g,Se.span[1]-g,_)}:k=function(Se){return w.inbox(Se.min-g,Se.max-g,_)},d.orientation==="h"?(g=n,A=i,m=k,h=b,x="y",T=f,M="x",E=p):(g=i,A=n,m=b,h=k,x="x",T=p,M="y",E=f);var B=Math.min(1,C/Math.abs(T.r2c(T.range[1])-T.r2c(T.range[0])));_=r.maxHoverDistance-B,I=r.maxSpikeDistance-B;function O(Se){return(m(Se)+h(Se))/2}var q=w.getDistanceFunction(s,m,h,O);if(w.getClosest(c,q,r),r.index===!1)return[];var Y=c[r.index],ee=d.line.color,te=(d.marker||{}).color;S.opacity(ee)&&d.line.width?r.color=ee:S.opacity(te)&&d.boxpoints?r.color=te:r.color=d.fillcolor,r[x+"0"]=T.c2p(Y.pos+y.bPos-R,!0),r[x+"1"]=T.c2p(Y.pos+y.bPos+F,!0),r[x+"LabelVal"]=Y.orig_p!==void 0?Y.orig_p:Y.pos;var ae=x+"Spike";r.spikeDistance=O(Y)*I/_,r[ae]=T.c2p(Y.pos,!0);var U=d.boxmean||d.sizemode==="sd"||(d.meanline||{}).visible,H=d.boxpoints||d.points,K=H&&U?["max","uf","q3","med","mean","q1","lf","min"]:H&&!U?["max","uf","q3","med","q1","lf","min"]:!H&&U?["max","q3","med","mean","q1","min"]:["max","q3","med","q1","min"],V=E.range[1]0&&(a=!0);for(var s=0;se){var t=e-S[v];return S[v]=e,t}}else return S[v]=e,e;return 0},max:function(v,w,S,l){var e=l[w];if(u(e))if(e=Number(e),u(S[v])){if(S[v]m&&mS){var _=h===v?1:6,I=h===v?"M12":"M1";return function(C,F){var R=y.c2d(C,v,o),z=R.indexOf("-",_);z>0&&(R=R.slice(0,z));var D=y.d2c(R,0,o);if(Dt?c>S?c>v*1.1?v:c>w*1.1?w:S:c>l?l:c>e?e:t:Math.pow(10,Math.floor(Math.log(c)/Math.LN10))}function i(c,p,f,d,y,o){if(d&&c>S){var x=s(p,y,o),M=s(f,y,o),T=c===v?0:1;return x[T]!==M[T]}return Math.floor(f/c)-Math.floor(p/c)>.1}function s(c,p,f){var d=p.c2d(c,v,f).split("-");return d[0]===""&&(d.unshift(),d[0]="-"+d[0]),d}}}),Iw=De({"src/traces/histogram/calc.js"(j,N){"use strict";var u=io(),v=Ar(),w=hi(),S=Vi(),{hasColorscale:l}=Of(),e=Wf(),t=F1(),a=Cw(),r=Lw(),n=Pw(),i=Rw();function s(y,o){var x=[],M=[],T=o.orientation==="h",E=S.getFromId(y,T?o.yaxis:o.xaxis),g=T?"y":"x",A={x:"y",y:"x"}[g],m=o[g+"calendar"],h=o.cumulative,b,_=c(y,o,E,g),I=_[0],C=_[1],F=typeof I.size=="string",R=[],z=F?R:I,D=[],k=[],B=[],O=0,q=o.histnorm,Y=o.histfunc,ee=q.indexOf("density")!==-1,te,ae,U;h.enabled&&ee&&(q=q.replace(/ ?density$/,""),ee=!1);var H=Y==="max"||Y==="min",K=H?null:0,V=a.count,$=r[q],X=!1,Z=function(be){return E.r2c(be,0,m)},Q;for(v.isArrayOrTypedArray(o[A])&&Y!=="count"&&(Q=o[A],X=Y==="avg",V=a[Y]),b=Z(I.start),ae=Z(I.end)+(b-S.tickIncrement(b,I.size,!1,m))/1e6;b=0&&U=oe;b--)if(M[b]){le=b;break}for(b=oe;b<=le;b++)if(u(x[b])&&u(M[b])){var ne={p:x[b],s:M[b],b:0};h.enabled||(ne.pts=B[b],ye?ne.ph0=ne.ph1=B[b].length?C[B[b][0]]:x[b]:(o._computePh=!0,ne.ph0=Ue(R[b]),ne.ph1=Ue(R[b+1],!0))),he.push(ne)}return he.length===1&&(he[0].width1=S.tickIncrement(he[0].p,I.size,!1,m)-he[0].p),l(o,"marker")&&e(y,o,{vals:o.marker.color,containerStr:"marker",cLetter:"c"}),l(o,"marker.line")&&e(y,o,{vals:o.marker.line.color,containerStr:"marker.line",cLetter:"c"}),t(he,o),v.isArrayOrTypedArray(o.selectedpoints)&&v.tagSelected(he,o,Ce),he}function c(y,o,x,M,T){var E,g=M+"bins",A=y._fullLayout,m=o["_"+M+"bingroup"],h=A._histogramBinOpts[m],b=A.barmode==="overlay",_,I,C,F,R,z,D,k=function(Ue){return x.r2c(Ue,0,F)},B=function(Ue){return x.c2r(Ue,0,F)},O=x.type==="date"?function(Ue){return Ue||Ue===0?v.cleanDate(Ue,null,F):null}:function(Ue){return u(Ue)?Number(Ue):null};function q(Ue,xe,he){xe[Ue+"Found"]?(xe[Ue]=O(xe[Ue]),xe[Ue]===null&&(xe[Ue]=he[Ue])):(z[Ue]=xe[Ue]=he[Ue],v.nestedProperty(I[0],g+"."+Ue).set(he[Ue]))}if(o["_"+M+"autoBinFinished"])delete o["_"+M+"autoBinFinished"];else{I=h.traces;var Y=[],ee=!0,te=!1,ae=!1;for(_=0;_x.r2l(re)&&(me=S.tickIncrement(me,h.size,!0,F)),$.start=x.l2r(me),Q||v.nestedProperty(o,g+".start").set($.start)}var ye=h.end,Ae=x.r2l(V.end),Se=Ae!==void 0;if((h.endFound||Se)&&Ae!==x.r2l(ye)){var Ce=Se?Ae:v.aggNums(Math.max,null,R);$.end=x.l2r(Ce),Se||v.nestedProperty(o,g+".start").set($.end)}var qe="autobin"+M;return o._input[qe]===!1&&(o._input[g]=v.extendFlat({},o[g]||{}),delete o._input[qe],delete o[qe]),[$,R]}function p(y,o,x,M,T){var E=y._fullLayout,g=f(y,o),A=!1,m=1/0,h=[o],b,_,I;for(b=0;b=0;M--)A(M);else if(o==="increasing"){for(M=1;M=0;M--)y[M]+=y[M+1];x==="exclude"&&(y.push(0),y.shift())}}N.exports={calc:s,calcAllAutoBins:c}}}),NI=De({"src/traces/histogram2d/calc.js"(j,N){"use strict";var u=Ar(),v=Vi(),w=Cw(),S=Lw(),l=Pw(),e=Rw(),t=Iw().calcAllAutoBins;N.exports=function(s,c){var p=v.getFromId(s,c.xaxis),f=v.getFromId(s,c.yaxis),d=c.xcalendar,y=c.ycalendar,o=function(Ee){return p.r2c(Ee,0,d)},x=function(Ee){return f.r2c(Ee,0,y)},M=function(Ee){return p.c2r(Ee,0,d)},T=function(Ee){return f.c2r(Ee,0,y)},E,g,A,m,h=t(s,c,p,"x"),b=h[0],_=h[1],I=t(s,c,f,"y"),C=I[0],F=I[1],R=c._length;_.length>R&&_.splice(R,_.length-R),F.length>R&&F.splice(R,F.length-R);var z=[],D=[],k=[],B=typeof b.size=="string",O=typeof C.size=="string",q=[],Y=[],ee=B?q:b,te=O?Y:C,ae=0,U=[],H=[],K=c.histnorm,V=c.histfunc,$=K.indexOf("density")!==-1,X=V==="max"||V==="min",Z=X?null:0,Q=w.count,re=S[K],ce=!1,me=[],ye=[],Ae="z"in c?c.z:"marker"in c&&Array.isArray(c.marker.color)?c.marker.color:"";Ae&&V!=="count"&&(ce=V==="avg",Q=w[V]);var Se=b.size,Ce=o(b.start),qe=o(b.end)+(Ce-v.tickIncrement(Ce,Se,!1,d))/1e6;for(E=Ce;E=0&&A=0&&mv;n++)r=l(t,a,S(r));return r>v&&u.log("interp2d didn't converge quickly",r),t};function l(e,t,a){var r=0,n,i,s,c,p,f,d,y,o,x,M,T,E;for(c=0;cT&&(r=Math.max(r,Math.abs(e[i][s]-M)/(E-T))))}return r}}}),Ax=De({"src/traces/heatmap/find_empties.js"(j,N){"use strict";var u=Ar().maxRowLength;N.exports=function(w){var S=[],l={},e=[],t=w[0],a=[],r=[0,0,0],n=u(w),i,s,c,p,f,d,y,o;for(s=0;s=0;f--)p=e[f],s=p[0],c=p[1],d=((l[[s-1,c]]||r)[2]+(l[[s+1,c]]||r)[2]+(l[[s,c-1]]||r)[2]+(l[[s,c+1]]||r)[2])/20,d&&(y[p]=[s,c,d],e.splice(f,1),o=!0);if(!o)throw"findEmpties iterated with no new neighbors";for(p in y)l[p]=y[p],S.push(y[p])}return S.sort(function(x,M){return M[2]-x[2]})}}}),Dw=De({"src/traces/heatmap/make_bound_array.js"(j,N){"use strict";var u=hi(),v=Ar().isArrayOrTypedArray;N.exports=function(S,l,e,t,a,r){var n=[],i=u.traceIs(S,"contour"),s=u.traceIs(S,"histogram"),c,p,f,d=v(l)&&l.length>1;if(d&&!s&&r.type!=="category"){var y=l.length;if(y<=a){if(i)n=Array.from(l).slice(0,a);else if(a===1)r.type==="log"?n=[.5*l[0],2*l[0]]:n=[l[0]-.5,l[0]+.5];else if(r.type==="log"){for(n=[Math.pow(l[0],1.5)/Math.pow(l[1],.5)],f=1;f1){var K=(H[H.length-1]-H[0])/(H.length-1),V=Math.abs(K/100);for(R=0;RV)return!1}return!0}y._islinear=!1,o.type==="log"||x.type==="log"?E==="fast"&&k("log axis found"):B(g)?B(b)?y._islinear=!0:E==="fast"&&k("y scale is not linear"):E==="fast"&&k("x scale is not linear");var O=v.maxRowLength(F),q=y.xtype==="scaled"?"":g,Y=i(y,q,A,m,O,o),ee=y.ytype==="scaled"?"":b,te=i(y,ee,_,I,F.length,x);y._extremes[o._id]=w.findExtremes(o,Y),y._extremes[x._id]=w.findExtremes(x,te);var ae={x:Y,y:te,z:F,text:y._text||y.text,hovertext:y._hovertext||y.hovertext};if(y.xperiodalignment&&h&&(ae.orig_x=h),y.yperiodalignment&&C&&(ae.orig_y=C),q&&q.length===Y.length-1&&(ae.xCenter=q),ee&&ee.length===te.length-1&&(ae.yCenter=ee),T&&(ae.xRanges=z.xRanges,ae.yRanges=z.yRanges,ae.pts=z.pts),M||e(d,y,{vals:F,cLetter:"z"}),M&&y.contours&&y.contours.coloring==="heatmap"){var U={type:y.type==="contour"?"heatmap":"histogram2d",xcalendar:y.xcalendar,ycalendar:y.ycalendar};ae.xfill=i(U,q,A,m,O,o),ae.yfill=i(U,ee,_,I,F.length,x)}return[ae]};function c(f){for(var d=[],y=f.length,o=0;o0;)V=h.c2p(k[Q]),Q--;for(V0;)Z=b.c2p(B[Q]),Q--;Z=h._length||V<=0||X>=b._length||Z<=0;if(Ce){var qe=I.selectAll("image").data([]);qe.exit().remove(),o(I);return}var Ue,xe;me==="fast"?(Ue=ae,xe=te):(Ue=Ae,xe=Se);var he=document.createElement("canvas");he.width=Ue,he.height=xe;var oe=he.getContext("2d",{willReadFrequently:!0}),le=n(F,{noNumericCheck:!0,returnArray:!0}),ne,be;me==="fast"?(ne=U?function(Cr){return ae-1-Cr}:l.identity,be=H?function(Cr){return te-1-Cr}:l.identity):(ne=function(Cr){return l.constrain(Math.round(h.c2p(k[Cr])-K),0,Ae)},be=function(Cr){return l.constrain(Math.round(b.c2p(B[Cr])-X),0,Se)});var Fe=be(0),Ve=[Fe,Fe],je=U?0:1,ut=H?0:1,st=0,yt=0,At=0,Pt=0,Zt,vr,Nt,Kt,nt;function Ee(Cr,Mr=0){if(Cr===void 0)return[0,0,0,0];var Xr=le(Cr);return Xr[0]=Math.round(Xr[0]),Xr[1]=Math.round(Xr[1]),Xr[2]=Math.round(Xr[2]),st+=Mr,yt+=Xr[0]*Mr,At+=Xr[1]*Mr,Pt+=Xr[2]*Mr,Xr}function ze(Cr,Mr,Xr,Ra){var wa=Cr[Xr.bin0];if(wa===void 0)return Ee(void 0,1);var yn=Cr[Xr.bin1],fn=Mr[Xr.bin0],ri=Mr[Xr.bin1],On=yn-wa||0,ui=fn-wa||0,jn;return yn===void 0?ri===void 0?jn=0:fn===void 0?jn=2*(ri-wa):jn=(2*ri-fn-wa)*2/3:ri===void 0?fn===void 0?jn=0:jn=(2*wa-yn-fn)*2/3:fn===void 0?jn=(2*ri-yn-wa)*2/3:jn=ri+wa-yn-fn,Ee(wa+Xr.frac*On+Ra.frac*(ui+Xr.frac*jn))}if(me!=="default"){var ve=0,_e;try{_e=new Uint8Array(Ue*xe*4)}catch{_e=new Array(Ue*xe*4)}if(me==="smooth"){var Ie=O||k,Be=q||B,We=new Array(Ie.length),Xe=new Array(Be.length),mt=new Array(Ae),ft=O?M:x,ht=q?M:x,gt,_t,Ft;for(Q=0;QYn||Yn>b._length))for(re=xa;revi||vi>h._length)){var Dn=t({x:Zn,y:sn},F,E._fullLayout);Dn.x=Zn,Dn.y=sn;var oi=C.z[Q][re];oi===void 0?(Dn.z="",Dn.zLabel=""):(Dn.z=oi,Dn.zLabel=S.tickText(ka,oi,"hover").text);var on=C.text&&C.text[Q]&&C.text[Q][re];(on===void 0||on===!1)&&(on=""),Dn.text=on;var mn=l.texttemplateString({data:[Dn,F._meta],fallback:F.texttemplatefallback,labels:Dn,locale:E._fullLayout._d3locale,template:oa});if(mn){var bi=mn.split("
"),Li=bi.length,$a=0;for(ce=0;ce=x[0].length||I<0||I>x.length)return}else{if(u.inbox(a-y[0],a-y[y.length-1],0)>0||u.inbox(r-o[0],r-o[o.length-1],0)>0)return;if(s){var C;for(A=[2*y[0]-y[1]],C=1;C=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}}}),j1=De({"src/traces/contour/attributes.js"(j,N){"use strict";var u=bm(),v=bu(),w=Zl(),S=w.axisHoverFormat,l=w.descriptionOnlyNumbers,e=ul(),t=Hc().dash,a=Ml(),r=Ji().extendFlat,n=Rx(),i=n.COMPARISON_OPS2,s=n.INTERVAL_OPS,c=v.line;N.exports=r({z:u.z,x:u.x,x0:u.x0,dx:u.dx,y:u.y,y0:u.y0,dy:u.dy,xperiod:u.xperiod,yperiod:u.yperiod,xperiod0:v.xperiod0,yperiod0:v.yperiod0,xperiodalignment:u.xperiodalignment,yperiodalignment:u.yperiodalignment,text:u.text,hovertext:u.hovertext,transpose:u.transpose,xtype:u.xtype,ytype:u.ytype,xhoverformat:S("x"),yhoverformat:S("y"),zhoverformat:S("z",1),hovertemplate:u.hovertemplate,hovertemplatefallback:u.hovertemplatefallback,texttemplate:r({},u.texttemplate,{}),texttemplatefallback:u.texttemplatefallback,textfont:r({},u.textfont,{}),hoverongaps:u.hoverongaps,connectgaps:r({},u.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:a({editType:"plot",colorEditType:"style"}),labelformat:{valType:"string",dflt:"",editType:"plot",description:l("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:r({},c.color,{editType:"style+colorbars"}),width:{valType:"number",min:0,editType:"style+colorbars"},dash:t,smoothing:r({},c.smoothing,{}),editType:"plot"},zorder:v.zorder},e("",{cLetter:"z",autoColorDflt:!1,editTypeOverride:"calc"}))}}),Nw=De({"src/traces/histogram2dcontour/attributes.js"(j,N){"use strict";var u=Px(),v=j1(),w=ul(),S=Zl().axisHoverFormat,l=Ji().extendFlat;N.exports=l({x:u.x,y:u.y,z:u.z,marker:u.marker,histnorm:u.histnorm,histfunc:u.histfunc,nbinsx:u.nbinsx,xbins:u.xbins,nbinsy:u.nbinsy,ybins:u.ybins,autobinx:u.autobinx,autobiny:u.autobiny,bingroup:u.bingroup,xbingroup:u.xbingroup,ybingroup:u.ybingroup,autocontour:v.autocontour,ncontours:v.ncontours,contours:v.contours,line:{color:v.line.color,width:l({},v.line.width,{dflt:.5}),dash:v.line.dash,smoothing:v.line.smoothing,editType:"plot"},xhoverformat:S("x"),yhoverformat:S("y"),zhoverformat:S("z",1),hovertemplate:u.hovertemplate,hovertemplatefallback:u.hovertemplatefallback,texttemplate:v.texttemplate,texttemplatefallback:v.texttemplatefallback,textfont:v.textfont},w("",{cLetter:"z",editTypeOverride:"calc"}))}}),Ix=De({"src/traces/contour/contours_defaults.js"(j,N){"use strict";N.exports=function(v,w,S,l){var e=l("contours.start"),t=l("contours.end"),a=e===!1||t===!1,r=S("contours.size"),n;a?n=w.autocontour=!0:n=S("autocontour",!1),(n||!r)&&S("ncontours")}}}),jw=De({"src/traces/contour/label_defaults.js"(j,N){"use strict";var u=Ar();N.exports=function(w,S,l,e){e||(e={});var t=w("contours.showlabels");if(t){var a=S.font;u.coerceFont(w,"contours.labelfont",a,{overrideDflt:{color:l}}),w("contours.labelformat")}e.hasHover!==!1&&w("zhoverformat")}}}),Dx=De({"src/traces/contour/style_defaults.js"(j,N){"use strict";var u=Wc(),v=jw();N.exports=function(S,l,e,t,a){var r=e("contours.coloring"),n,i="";r==="fill"&&(n=e("contours.showlines")),n!==!1&&(r!=="lines"&&(i=e("line.color","#000")),e("line.width",.5),e("line.dash")),r!=="none"&&(S.showlegend!==!0&&(l.showlegend=!1),l._dfltShowLegend=!1,u(S,l,t,e,{prefix:"",cLetter:"z"})),e("line.smoothing"),v(e,t,i,a)}}}),KI=De({"src/traces/histogram2dcontour/defaults.js"(j,N){"use strict";var u=Ar(),v=Ow(),w=Ix(),S=Dx(),l=N1(),e=Nw();N.exports=function(a,r,n,i){function s(p,f){return u.coerce(a,r,e,p,f)}function c(p){return u.coerce2(a,r,e,p)}v(a,r,s,i),r.visible!==!1&&(w(a,r,s,c),S(a,r,s,i),s("xhoverformat"),s("yhoverformat"),s("hovertemplate"),s("hovertemplatefallback"),r.contours&&r.contours.coloring==="heatmap"&&l(s,i))}}}),Uw=De({"src/traces/contour/set_contours.js"(j,N){"use strict";var u=Vi(),v=Ar();N.exports=function(l,e){var t=l.contours;if(l.autocontour){var a=l.zmin,r=l.zmax;(l.zauto||a===void 0)&&(a=v.aggNums(Math.min,null,e)),(l.zauto||r===void 0)&&(r=v.aggNums(Math.max,null,e));var n=w(a,r,l.ncontours);t.size=n.dtick,t.start=u.tickFirst(n),n.range.reverse(),t.end=u.tickFirst(n),t.start===a&&(t.start+=t.size),t.end===r&&(t.end-=t.size),t.start>t.end&&(t.start=t.end=(t.start+t.end)/2),l._input.contours||(l._input.contours={}),v.extendFlat(l._input.contours,{start:t.start,end:t.end,size:t.size}),l._input.autocontour=!0}else if(t.type!=="constraint"){var i=t.start,s=t.end,c=l._input.contours;if(i>s&&(t.start=c.start=s,s=t.end=c.end=i,i=t.start),!(t.size>0)){var p;i===s?p=1:p=w(i,s,l.ncontours).dtick,c.size=t.size=p}}};function w(S,l,e){var t={type:"linear",range:[S,l]};return u.autoTicks(t,(l-S)/(e||15)),t}}}),U1=De({"src/traces/contour/end_plus.js"(j,N){"use strict";N.exports=function(v){return v.end+v.size/1e6}}}),qw=De({"src/traces/contour/calc.js"(j,N){"use strict";var u=Dl(),v=Tx(),w=Uw(),S=U1();N.exports=function(e,t){var a=v(e,t),r=a[0].z;w(t,r);var n=t.contours,i=u.extractOpts(t),s;if(n.coloring==="heatmap"&&i.auto&&t.autocontour===!1){var c=n.start,p=S(n),f=n.size||1,d=Math.floor((p-c)/f)+1;isFinite(f)||(f=1,d=1);var y=c-f/2,o=y+d*f;s=[y,o]}else s=r;return u.calc(e,t,{vals:s,cLetter:"z"}),a}}}),q1=De({"src/traces/contour/constants.js"(j,N){"use strict";N.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}}}}),Gw=De({"src/traces/contour/make_crossings.js"(j,N){"use strict";var u=q1();N.exports=function(S){var l=S[0].z,e=l.length,t=l[0].length,a=e===2||t===2,r,n,i,s,c,p,f,d,y;for(n=0;nw?0:1)+(S[0][1]>w?0:2)+(S[1][1]>w?0:4)+(S[1][0]>w?0:8);if(l===5||l===10){var e=(S[0][0]+S[0][1]+S[1][0]+S[1][1])/4;return w>e?l===5?713:1114:l===5?104:208}return l===15?0:l}}}),Vw=De({"src/traces/contour/find_all_paths.js"(j,N){"use strict";var u=Ar(),v=q1();N.exports=function(r,n,i){var s,c,p,f,d;for(n=n||.01,i=i||.01,p=0;p20?(p=v.CHOOSESADDLE[p][(f[0]||f[1])<0?0:1],a.crossings[c]=v.SADDLEREMAINDER[p]):delete a.crossings[c],f=v.NEWDELTA[p],!f){u.log("Found bad marching index:",p,r,a.level);break}d.push(t(a,r,f)),r[0]+=f[0],r[1]+=f[1],c=r.join(","),w(d[d.length-1],d[d.length-2],i,s)&&d.pop();var E=f[0]&&(r[0]<0||r[0]>o-2)||f[1]&&(r[1]<0||r[1]>y-2),g=r[0]===x[0]&&r[1]===x[1]&&f[0]===M[0]&&f[1]===M[1];if(g||n&&E)break;p=a.crossings[c]}T===1e4&&u.log("Infinite loop in contour?");var A=w(d[0],d[d.length-1],i,s),m=0,h=.2*a.smoothing,b=[],_=0,I,C,F,R,z,D,k,B,O,q,Y;for(T=1;T=_;T--)if(I=b[T],I=_&&I+b[C]B&&O--,a.edgepaths[O]=Y.concat(d,q));break}U||(a.edgepaths[B]=d.concat(q))}for(B=0;B20&&r?a===208||a===1114?i=n[0]===0?1:-1:s=n[1]===0?1:-1:v.BOTTOMSTART.indexOf(a)!==-1?s=1:v.LEFTSTART.indexOf(a)!==-1?i=1:v.TOPSTART.indexOf(a)!==-1?s=-1:i=-1,[i,s]}function t(a,r,n){var i=r[0]+Math.max(n[0],0),s=r[1]+Math.max(n[1],0),c=a.z[s][i],p=a.xaxis,f=a.yaxis;if(n[1]){var d=(a.level-c)/(a.z[s][i+1]-c),y=(d!==1?(1-d)*p.c2l(a.x[i]):0)+(d!==0?d*p.c2l(a.x[i+1]):0);return[p.c2p(p.l2c(y),!0),f.c2p(a.y[s],!0),i+d,s]}else{var o=(a.level-c)/(a.z[s+1][i]-c),x=(o!==1?(1-o)*f.c2l(a.y[s]):0)+(o!==0?o*f.c2l(a.y[s+1]):0);return[p.c2p(a.x[i],!0),f.c2p(f.l2c(x),!0),i,s+o]}}}}),JI=De({"src/traces/contour/constraint_mapping.js"(j,N){"use strict";var u=Rx(),v=io();N.exports={"[]":S("[]"),"][":S("]["),">":l(">"),"<":l("<"),"=":l("=")};function w(e,t){var a=Array.isArray(t),r;function n(i){return v(i)?+i:null}return u.COMPARISON_OPS2.indexOf(e)!==-1?r=n(a?t[0]:t):u.INTERVAL_OPS.indexOf(e)!==-1?r=a?[n(t[0]),n(t[1])]:[n(t),n(t)]:u.SET_OPS.indexOf(e)!==-1&&(r=a?t.map(n):[n(t)]),r}function S(e){return function(t){t=w(e,t);var a=Math.min(t[0],t[1]),r=Math.max(t[0],t[1]);return{start:a,end:r,size:r-a}}}function l(e){return function(t){return t=w(e,t),{start:t,end:1/0,size:1/0}}}}}),Hw=De({"src/traces/contour/empty_pathinfo.js"(j,N){"use strict";var u=Ar(),v=JI(),w=U1();N.exports=function(l,e,t){for(var a=l.type==="constraint"?v[l._operation](l.value):l,r=a.size,n=[],i=w(a),s=t.trace._carpetTrace,c=s?{xaxis:s.aaxis,yaxis:s.baxis,x:t.a,y:t.b}:{xaxis:e.xaxis,yaxis:e.yaxis,x:t.x,y:t.y},p=a.start;p1e3){u.warn("Too many contours, clipping at 1000",l);break}return n}}}),Ww=De({"src/traces/contour/convert_to_constraints.js"(j,N){"use strict";var u=Ar();N.exports=function(w,S){var l,e,t,a=function(i){return i.reverse()},r=function(i){return i};switch(S){case"=":case"<":return w;case">":for(w.length!==1&&u.warn("Contour data invalid for the specified inequality operation."),e=w[0],l=0;lt.level||t.starts.length&&e===t.level)}break;case"constraint":if(w.prefixBoundary=!1,w.edgepaths.length)return;var a=w.x.length,r=w.y.length,n=-1/0,i=1/0;for(l=0;l":s>n&&(w.prefixBoundary=!0);break;case"<":(sn||w.starts.length&&p===i)&&(w.prefixBoundary=!0);break;case"][":c=Math.min(s[0],s[1]),p=Math.max(s[0],s[1]),cn&&(w.prefixBoundary=!0);break}break}}}}),Fx=De({"src/traces/contour/plot.js"(j){"use strict";var N=Qn(),u=Ar(),v=Ki(),w=Dl(),S=Xs(),l=Vi(),e=Sd(),t=Sx(),a=Gw(),r=Vw(),n=Hw(),i=Ww(),s=Yw(),c=q1(),p=c.LABELOPTIMIZER;j.plot=function(g,A,m,h){var b=A.xaxis,_=A.yaxis;u.makeTraceGroups(h,m,"contour").each(function(I){var C=N.select(this),F=I[0],R=F.trace,z=F.x,D=F.y,k=R.contours,B=n(k,A,F),O=u.ensureSingle(C,"g","heatmapcoloring"),q=[];k.coloring==="heatmap"&&(q=[I]),t(g,A,q,O),a(B),r(B);var Y=b.c2p(z[0],!0),ee=b.c2p(z[z.length-1],!0),te=_.c2p(D[0],!0),ae=_.c2p(D[D.length-1],!0),U=[[Y,ae],[ee,ae],[ee,te],[Y,te]],H=B;k.type==="constraint"&&(H=i(B,k._operation)),f(C,U,k),d(C,H,U,k),o(C,B,g,F,k),M(C,A,g,F,U)})};function f(E,g,A){var m=u.ensureSingle(E,"g","contourbg"),h=m.selectAll("path").data(A.coloring==="fill"?[0]:[]);h.enter().append("path"),h.exit().remove(),h.attr("d","M"+g.join("L")+"Z").style("stroke","none")}function d(E,g,A,m){var h=m.coloring==="fill"||m.type==="constraint"&&m._operation!=="=",b="M"+A.join("L")+"Z";h&&s(g,m);var _=u.ensureSingle(E,"g","contourfill"),I=_.selectAll("path").data(h?g:[]);I.enter().append("path"),I.exit().remove(),I.each(function(C){var F=(C.prefixBoundary?b:"")+y(C,A);F?N.select(this).attr("d",F).style("stroke","none"):N.select(this).remove()})}function y(E,g){var A="",m=0,h=E.edgepaths.map(function(Y,ee){return ee}),b=!0,_,I,C,F,R,z;function D(Y){return Math.abs(Y[1]-g[0][1])<.01}function k(Y){return Math.abs(Y[1]-g[2][1])<.01}function B(Y){return Math.abs(Y[0]-g[0][0])<.01}function O(Y){return Math.abs(Y[0]-g[2][0])<.01}for(;h.length;){for(z=v.smoothopen(E.edgepaths[m],E.smoothing),A+=b?z:z.replace(/^M/,"L"),h.splice(h.indexOf(m),1),_=E.edgepaths[m][E.edgepaths[m].length-1],F=-1,C=0;C<4;C++){if(!_){u.log("Missing end?",m,E);break}for(D(_)&&!O(_)?I=g[1]:B(_)?I=g[0]:k(_)?I=g[3]:O(_)&&(I=g[2]),R=0;R=0&&(I=q,F=R):Math.abs(_[1]-I[1])<.01?Math.abs(_[1]-q[1])<.01&&(q[0]-_[0])*(I[0]-q[0])>=0&&(I=q,F=R):u.log("endpt to newendpt is not vert. or horz.",_,I,q)}if(_=I,F>=0)break;A+="L"+I}if(F===E.edgepaths.length){u.log("unclosed perimeter path");break}m=F,b=h.indexOf(m)===-1,b&&(m=h[0],A+="Z")}for(m=0;mp.MAXCOST*2)break;D&&(I/=2),_=F-I/2,C=_+I*1.5}if(z<=p.MAXCOST)return R};function x(E,g,A,m){var h=g.width/2,b=g.height/2,_=E.x,I=E.y,C=E.theta,F=Math.cos(C)*h,R=Math.sin(C)*h,z=(_>m.center?m.right-_:_-m.left)/(F+Math.abs(Math.sin(C)*b)),D=(I>m.middle?m.bottom-I:I-m.top)/(Math.abs(R)+Math.cos(C)*b);if(z<1||D<1)return 1/0;var k=p.EDGECOST*(1/(z-1)+1/(D-1));k+=p.ANGLECOST*C*C;for(var B=_-F,O=I-R,q=_+F,Y=I+R,ee=0;ee=M)&&(t<=x&&(t=x),a>=M&&(a=M),n=Math.floor((a-t)/r)+1,i=0),o=0;ox&&(f.unshift(x),d.unshift(d[0])),f[f.length-1]2?s.value=s.value.slice(2):s.length===0?s.value=[0,1]:s.length<2?(c=parseFloat(s.value[0]),s.value=[c,c+1]):s.value=[parseFloat(s.value[0]),parseFloat(s.value[1])]:u(s.value)&&(c=parseFloat(s.value),s.value=[c,c+1])):(i("contours.value",0),u(s.value)||(t(s.value)?s.value=parseFloat(s.value[0]):s.value=0))}}}),tD=De({"src/traces/contour/defaults.js"(j,N){"use strict";var u=Ar(),v=_x(),w=ud(),S=$w(),l=Ix(),e=Dx(),t=N1(),a=j1();N.exports=function(n,i,s,c){function p(o,x){return u.coerce(n,i,a,o,x)}function f(o){return u.coerce2(n,i,a,o)}var d=v(n,i,p,c);if(!d){i.visible=!1;return}w(n,i,c,p),p("xhoverformat"),p("yhoverformat"),p("text"),p("hovertext"),p("hoverongaps"),p("hovertemplate"),p("hovertemplatefallback");var y=p("contours.type")==="constraint";p("connectgaps",u.isArray1D(i.z)),y?S(n,i,p,c,s):(l(n,i,p,f),e(n,i,p,c)),i.contours&&i.contours.coloring==="heatmap"&&t(p,c),p("zorder")}}}),rD=De({"src/traces/contour/index.js"(j,N){"use strict";N.exports={attributes:j1(),supplyDefaults:tD(),calc:qw(),plot:Fx().plot,style:zx(),colorbar:Bx(),hoverPoints:Zw(),moduleType:"trace",name:"contour",basePlotModule:Hu(),categories:["cartesian","svg","2dMap","contour","showLegend"],meta:{}}}}),aD=De({"lib/contour.js"(j,N){"use strict";N.exports=rD()}}),Kw=De({"src/traces/scatterternary/attributes.js"(j,N){"use strict";var{hovertemplateAttrs:u,texttemplateAttrs:v,templatefallbackAttrs:w}=Is(),S=Cd(),l=bu(),e=Bs(),t=ul(),a=Hc().dash,r=Ji().extendFlat,n=l.marker,i=l.line,s=n.line;N.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:r({},l.mode,{dflt:"markers"}),text:r({},l.text,{}),texttemplate:v({editType:"plot"},{keys:["a","b","c","text"]}),texttemplatefallback:w({editType:"plot"}),hovertext:r({},l.hovertext,{}),line:{color:i.color,width:i.width,dash:a,backoff:i.backoff,shape:r({},i.shape,{values:["linear","spline"]}),smoothing:i.smoothing,editType:"calc"},connectgaps:l.connectgaps,cliponaxis:l.cliponaxis,fill:r({},l.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:S(),marker:r({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:r({width:s.width,dash:s.dash,editType:"calc"},t("marker.line")),gradient:n.gradient,editType:"calc"},t("marker")),textfont:l.textfont,textposition:l.textposition,selected:l.selected,unselected:l.unselected,hoverinfo:r({},e.hoverinfo,{flags:["a","b","c","text","name"]}),hoveron:l.hoveron,hovertemplate:u(),hovertemplatefallback:w()}}}),nD=De({"src/traces/scatterternary/defaults.js"(j,N){"use strict";var u=Ar(),v=kd(),w=Sl(),S=Jh(),l=cd(),e=pm(),t=fd(),a=Ld(),r=Kw();N.exports=function(i,s,c,p){function f(E,g){return u.coerce(i,s,r,E,g)}var d=f("a"),y=f("b"),o=f("c"),x;if(d?(x=d.length,y?(x=Math.min(x,y.length),o&&(x=Math.min(x,o.length))):o?x=Math.min(x,o.length):x=0):y&&o&&(x=Math.min(y.length,o.length)),!x){s.visible=!1;return}s._length=x,f("sum"),f("text"),f("hovertext"),s.hoveron!=="fills"&&(f("hovertemplate"),f("hovertemplatefallback"));var M=x"),a.hovertemplate=p.hovertemplate,t}}}),uD=De({"src/traces/scatterternary/event_data.js"(j,N){"use strict";N.exports=function(v,w,S,l,e){if(w.xa&&(v.xaxis=w.xa),w.ya&&(v.yaxis=w.ya),l[e]){var t=l[e];v.a=t.a,v.b=t.b,v.c=t.c}else v.a=w.a,v.b=w.b,v.c=w.c;return v}}}),cD=De({"src/plots/ternary/ternary.js"(j,N){"use strict";var u=Qn(),v=hi(),w=Ar(),S=w.strTranslate,l=w._,e=ii(),t=Ki(),a=Sd(),r=Ji().extendFlat,n=Il(),i=Vi(),s=dh(),c=uu(),p=Ed(),f=p.freeMode,d=p.rectMode,y=Sp(),o=Sc().prepSelect,x=Sc().selectOnClick,M=Sc().clearOutline,T=Sc().clearSelectionsCache,E=gc();function g(D,k){this.id=D.id,this.graphDiv=D.graphDiv,this.init(k),this.makeFramework(k),this.updateFx(k),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}N.exports=g;var A=g.prototype;A.init=function(D){this.container=D._ternarylayer,this.defs=D._defs,this.layoutId=D._uid,this.traceHash={},this.layers={}},A.plot=function(D,k){var B=this,O=k[B.id],q=k._size;B._hasClipOnAxisFalse=!1;for(var Y=0;Ym*U?(re=U,Q=re*m):(Q=ae,re=Q/m),ce=ee*Q/ae,me=te*re/U,X=k.l+k.w*q-Q/2,Z=k.t+k.h*(1-Y)-re/2,B.x0=X,B.y0=Z,B.w=Q,B.h=re,B.sum=H,B.xaxis={type:"linear",range:[K+2*$-H,H-K-2*V],domain:[q-ce/2,q+ce/2],_id:"x"},a(B.xaxis,B.graphDiv._fullLayout),B.xaxis.setScale(),B.xaxis.isPtWithinRange=function(ne){return ne.a>=B.aaxis.range[0]&&ne.a<=B.aaxis.range[1]&&ne.b>=B.baxis.range[1]&&ne.b<=B.baxis.range[0]&&ne.c>=B.caxis.range[1]&&ne.c<=B.caxis.range[0]},B.yaxis={type:"linear",range:[K,H-V-$],domain:[Y-me/2,Y+me/2],_id:"y"},a(B.yaxis,B.graphDiv._fullLayout),B.yaxis.setScale(),B.yaxis.isPtWithinRange=function(){return!0};var ye=B.yaxis.domain[0],Ae=B.aaxis=r({},D.aaxis,{range:[K,H-V-$],side:"left",tickangle:(+D.aaxis.tickangle||0)-30,domain:[ye,ye+me*m],anchor:"free",position:0,_id:"y",_length:Q});a(Ae,B.graphDiv._fullLayout),Ae.setScale();var Se=B.baxis=r({},D.baxis,{range:[H-K-$,V],side:"bottom",domain:B.xaxis.domain,anchor:"free",position:0,_id:"x",_length:Q});a(Se,B.graphDiv._fullLayout),Se.setScale();var Ce=B.caxis=r({},D.caxis,{range:[H-K-V,$],side:"right",tickangle:(+D.caxis.tickangle||0)+30,domain:[ye,ye+me*m],anchor:"free",position:0,_id:"y",_length:Q});a(Ce,B.graphDiv._fullLayout),Ce.setScale();var qe="M"+X+","+(Z+re)+"h"+Q+"l-"+Q/2+",-"+re+"Z";B.clipDef.select("path").attr("d",qe),B.layers.plotbg.select("path").attr("d",qe);var Ue="M0,"+re+"h"+Q+"l-"+Q/2+",-"+re+"Z";B.clipDefRelative.select("path").attr("d",Ue);var xe=S(X,Z);B.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",xe),B.clipDefRelative.select("path").attr("transform",null);var he=S(X-Se._offset,Z+re);B.layers.baxis.attr("transform",he),B.layers.bgrid.attr("transform",he);var oe=S(X+Q/2,Z)+"rotate(30)"+S(0,-Ae._offset);B.layers.aaxis.attr("transform",oe),B.layers.agrid.attr("transform",oe);var le=S(X+Q/2,Z)+"rotate(-30)"+S(0,-Ce._offset);B.layers.caxis.attr("transform",le),B.layers.cgrid.attr("transform",le),B.drawAxes(!0),B.layers.aline.select("path").attr("d",Ae.showline?"M"+X+","+(Z+re)+"l"+Q/2+",-"+re:"M0,0").call(e.stroke,Ae.linecolor||"#000").style("stroke-width",(Ae.linewidth||0)+"px"),B.layers.bline.select("path").attr("d",Se.showline?"M"+X+","+(Z+re)+"h"+Q:"M0,0").call(e.stroke,Se.linecolor||"#000").style("stroke-width",(Se.linewidth||0)+"px"),B.layers.cline.select("path").attr("d",Ce.showline?"M"+(X+Q/2)+","+Z+"l"+Q/2+","+re:"M0,0").call(e.stroke,Ce.linecolor||"#000").style("stroke-width",(Ce.linewidth||0)+"px"),B.graphDiv._context.staticPlot||B.initInteractions(),t.setClipUrl(B.layers.frontplot,B._hasClipOnAxisFalse?null:B.clipId,B.graphDiv)},A.drawAxes=function(D){var k=this,B=k.graphDiv,O=k.id.slice(7)+"title",q=k.layers,Y=k.aaxis,ee=k.baxis,te=k.caxis;if(k.drawAx(Y),k.drawAx(ee),k.drawAx(te),D){var ae=Math.max(Y.showticklabels?Y.tickfont.size/2:0,(te.showticklabels?te.tickfont.size*.75:0)+(te.ticks==="outside"?te.ticklen*.87:0)),U=(ee.showticklabels?ee.tickfont.size:0)+(ee.ticks==="outside"?ee.ticklen:0)+3;q["a-title"]=y.draw(B,"a"+O,{propContainer:Y,propName:k.id+".aaxis.title.text",placeholder:l(B,"Click to enter Component A title"),attributes:{x:k.x0+k.w/2,y:k.y0-Y.title.font.size/3-ae,"text-anchor":"middle"}}),q["b-title"]=y.draw(B,"b"+O,{propContainer:ee,propName:k.id+".baxis.title.text",placeholder:l(B,"Click to enter Component B title"),attributes:{x:k.x0-U,y:k.y0+k.h+ee.title.font.size*.83+U,"text-anchor":"middle"}}),q["c-title"]=y.draw(B,"c"+O,{propContainer:te,propName:k.id+".caxis.title.text",placeholder:l(B,"Click to enter Component C title"),attributes:{x:k.x0+k.w+U,y:k.y0+k.h+te.title.font.size*.83+U,"text-anchor":"middle"}})}},A.drawAx=function(D){var k=this,B=k.graphDiv,O=D._name,q=O.charAt(0),Y=D._id,ee=k.layers[O],te=30,ae=q+"tickLayout",U=h(D);k[ae]!==U&&(ee.selectAll("."+Y+"tick").remove(),k[ae]=U),D.setScale();var H=i.calcTicks(D),K=i.clipEnds(D,H),V=i.makeTransTickFn(D),$=i.getTickSigns(D)[2],X=w.deg2rad(te),Z=$*(D.linewidth||1)/2,Q=$*D.ticklen,re=k.w,ce=k.h,me=q==="b"?"M0,"+Z+"l"+Math.sin(X)*Q+","+Math.cos(X)*Q:"M"+Z+",0l"+Math.cos(X)*Q+","+-Math.sin(X)*Q,ye={a:"M0,0l"+ce+",-"+re/2,b:"M0,0l-"+re/2+",-"+ce,c:"M0,0l-"+ce+","+re/2}[q];i.drawTicks(B,D,{vals:D.ticks==="inside"?K:H,layer:ee,path:me,transFn:V,crisp:!1}),i.drawGrid(B,D,{vals:K,layer:k.layers[q+"grid"],path:ye,transFn:V,crisp:!1}),i.drawLabels(B,D,{vals:H,layer:ee,transFn:V,labelFns:i.makeLabelFns(D,0,te)})};function h(D){return D.ticks+String(D.ticklen)+String(D.showticklabels)}var b=E.MINZOOM/2+.87,_="m-0.87,.5h"+b+"v3h-"+(b+5.2)+"l"+(b/2+2.6)+",-"+(b*.87+4.5)+"l2.6,1.5l-"+b/2+","+b*.87+"Z",I="m0.87,.5h-"+b+"v3h"+(b+5.2)+"l-"+(b/2+2.6)+",-"+(b*.87+4.5)+"l-2.6,1.5l"+b/2+","+b*.87+"Z",C="m0,1l"+b/2+","+b*.87+"l2.6,-1.5l-"+(b/2+2.6)+",-"+(b*.87+4.5)+"l-"+(b/2+2.6)+","+(b*.87+4.5)+"l2.6,1.5l"+b/2+",-"+b*.87+"Z",F="m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z",R=!0;A.clearOutline=function(){T(this.dragOptions),M(this.dragOptions.gd)},A.initInteractions=function(){var D=this,k=D.layers.plotbg.select("path").node(),B=D.graphDiv,O=B._fullLayout._zoomlayer,q,Y;this.dragOptions={element:k,gd:B,plotinfo:{id:D.id,domain:B._fullLayout[D.id].domain,xaxis:D.xaxis,yaxis:D.yaxis},subplot:D.id,prepFn:function(he,oe,le){D.dragOptions.xaxes=[D.xaxis],D.dragOptions.yaxes=[D.yaxis],q=B._fullLayout._invScaleX,Y=B._fullLayout._invScaleY;var ne=D.dragOptions.dragmode=B._fullLayout.dragmode;f(ne)?D.dragOptions.minDrag=1:D.dragOptions.minDrag=void 0,ne==="zoom"?(D.dragOptions.moveFn=Se,D.dragOptions.clickFn=re,D.dragOptions.doneFn=Ce,ce(he,oe,le)):ne==="pan"?(D.dragOptions.moveFn=Ue,D.dragOptions.clickFn=re,D.dragOptions.doneFn=xe,qe(),D.clearOutline(B)):(d(ne)||f(ne))&&o(he,oe,le,D.dragOptions,ne)}};var ee,te,ae,U,H,K,V,$,X,Z;function Q(he){var oe={};return oe[D.id+".aaxis.min"]=he.a,oe[D.id+".baxis.min"]=he.b,oe[D.id+".caxis.min"]=he.c,oe}function re(he,oe){var le=B._fullLayout.clickmode;z(B),he===2&&(B.emit("plotly_doubleclick",null),v.call("_guiRelayout",B,Q({a:0,b:0,c:0}))),le.indexOf("select")>-1&&he===1&&x(oe,B,[D.xaxis],[D.yaxis],D.id,D.dragOptions),le.indexOf("event")>-1&&c.click(B,oe,D.id)}function ce(he,oe,le){var ne=k.getBoundingClientRect();ee=oe-ne.left,te=le-ne.top,B._fullLayout._calcInverseTransform(B);var be=B._fullLayout._invTransform,Fe=w.apply3DTransform(be)(ee,te);ee=Fe[0],te=Fe[1],ae={a:D.aaxis.range[0],b:D.baxis.range[1],c:D.caxis.range[1]},H=ae,U=D.aaxis.range[1]-ae.a,K=e.color(D.graphDiv._fullLayout[D.id].bgcolor).luminosity(),V="M0,"+D.h+"L"+D.w/2+", 0L"+D.w+","+D.h+"Z",$=!1,X=O.append("path").attr("class","zoombox").attr("transform",S(D.x0,D.y0)).style({fill:K>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",V),Z=O.append("path").attr("class","zoombox-corners").attr("transform",S(D.x0,D.y0)).style({fill:e.background,stroke:e.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),D.clearOutline(B)}function me(he,oe){return 1-oe/D.h}function ye(he,oe){return 1-(he+(D.h-oe)/Math.sqrt(3))/D.w}function Ae(he,oe){return(he-(D.h-oe)/Math.sqrt(3))/D.w}function Se(he,oe){var le=ee+he*q,ne=te+oe*Y,be=Math.max(0,Math.min(1,me(ee,te),me(le,ne))),Fe=Math.max(0,Math.min(1,ye(ee,te),ye(le,ne))),Ve=Math.max(0,Math.min(1,Ae(ee,te),Ae(le,ne))),je=(be/2+Ve)*D.w,ut=(1-be/2-Fe)*D.w,st=(je+ut)/2,yt=ut-je,At=(1-be)*D.h,Pt=At-yt/m;yt.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),Z.transition().style("opacity",1).duration(200),$=!0),B.emit("plotly_relayouting",Q(H))}function Ce(){z(B),H!==ae&&(v.call("_guiRelayout",B,Q(H)),R&&B.data&&B._context.showTips&&(w.notifier(l(B,"Double-click to zoom back out"),"long",B),R=!1))}function qe(){ae={a:D.aaxis.range[0],b:D.baxis.range[1],c:D.caxis.range[1]},H=ae}function Ue(he,oe){var le=he/D.xaxis._m,ne=oe/D.yaxis._m;H={a:ae.a-ne,b:ae.b+(le+ne)/2,c:ae.c-(le-ne)/2};var be=[H.a,H.b,H.c].sort(w.sorterAsc),Fe={a:be.indexOf(H.a),b:be.indexOf(H.b),c:be.indexOf(H.c)};be[0]<0&&(be[1]+be[0]/2<0?(be[2]+=be[0]+be[1],be[0]=be[1]=0):(be[2]+=be[0]/2,be[1]+=be[0]/2,be[0]=0),H={a:be[Fe.a],b:be[Fe.b],c:be[Fe.c]},oe=(ae.a-H.a)*D.yaxis._m,he=(ae.c-H.c-ae.b+H.b)*D.xaxis._m);var Ve=S(D.x0+he,D.y0+oe);D.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",Ve);var je=S(-he,-oe);D.clipDefRelative.select("path").attr("transform",je),D.aaxis.range=[H.a,D.sum-H.b-H.c],D.baxis.range=[D.sum-H.a-H.c,H.b],D.caxis.range=[D.sum-H.a-H.b,H.c],D.drawAxes(!1),D._hasClipOnAxisFalse&&D.plotContainer.select(".scatterlayer").selectAll(".trace").call(t.hideOutsideRangePoints,D),B.emit("plotly_relayouting",Q(H))}function xe(){v.call("_guiRelayout",B,Q(H))}k.onmousemove=function(he){c.hover(B,he,D.id),B._fullLayout._lasthover=k,B._fullLayout._hoversubplot=D.id},k.onmouseout=function(he){B._dragging||s.unhover(B,he)},s.init(this.dragOptions)};function z(D){u.select(D).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}}}),Jw=De({"src/plots/ternary/layout_attributes.js"(j,N){"use strict";var u=mc(),v=ql().attributes,w=hf(),S=Ul().overrideAll,l=Ji().extendFlat,e={title:{text:w.title.text,font:w.title.font},color:w.color,tickmode:w.minor.tickmode,nticks:l({},w.nticks,{dflt:6,min:1}),tick0:w.tick0,dtick:w.dtick,tickvals:w.tickvals,ticktext:w.ticktext,ticks:w.ticks,ticklen:w.ticklen,tickwidth:w.tickwidth,tickcolor:w.tickcolor,ticklabelstep:w.ticklabelstep,showticklabels:w.showticklabels,labelalias:w.labelalias,showtickprefix:w.showtickprefix,tickprefix:w.tickprefix,showticksuffix:w.showticksuffix,ticksuffix:w.ticksuffix,showexponent:w.showexponent,exponentformat:w.exponentformat,minexponent:w.minexponent,separatethousands:w.separatethousands,tickfont:w.tickfont,tickangle:w.tickangle,tickformat:w.tickformat,tickformatstops:w.tickformatstops,hoverformat:w.hoverformat,showline:l({},w.showline,{dflt:!0}),linecolor:w.linecolor,linewidth:w.linewidth,showgrid:l({},w.showgrid,{dflt:!0}),gridcolor:w.gridcolor,gridwidth:w.gridwidth,griddash:w.griddash,layer:w.layer,min:{valType:"number",dflt:0,min:0}},t=N.exports=S({domain:v({name:"ternary"}),bgcolor:{valType:"color",dflt:u.background},sum:{valType:"number",dflt:1,min:0},aaxis:e,baxis:e,caxis:e},"plot","from-root");t.uirevision={valType:"any",editType:"none"},t.aaxis.uirevision=t.baxis.uirevision=t.caxis.uirevision={valType:"any",editType:"none"}}}),Ip=De({"src/plots/subplot_defaults.js"(j,N){"use strict";var u=Ar(),v=ws(),w=ql().defaults;N.exports=function(l,e,t,a){var r=a.type,n=a.attributes,i=a.handleDefaults,s=a.partition||"x",c=e._subplots[r],p=c.length,f=p&&c[0].replace(/\d+$/,""),d,y;function o(E,g){return u.coerce(d,y,n,E,g)}for(var x=0;x=x&&(A.min=0,m.min=0,h.min=0,p.aaxis&&delete p.aaxis.min,p.baxis&&delete p.baxis.min,p.caxis&&delete p.caxis.min)}function c(p,f,d,y){var o=n[f._name];function x(b,_){return w.coerce(p,f,o,b,_)}x("uirevision",y.uirevision),f.type="linear";var M=x("color"),T=M!==o.color.dflt?M:d.font.color,E=f._name,g=E.charAt(0).toUpperCase(),A="Component "+g,m=x("title.text",A);f._hovertitle=m===A?m:g,w.coerceFont(x,"title.font",d.font,{overrideDflt:{size:w.bigFont(d.font.size),color:T}}),x("min"),a(p,f,x,"linear"),e(p,f,x,"linear"),l(p,f,x,"linear",{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0}),t(p,f,x,{outerTicks:!0});var h=x("showticklabels");h&&(w.coerceFont(x,"tickfont",d.font,{overrideDflt:{color:T}}),x("tickangle"),x("tickformat")),r(p,f,x,{dfltColor:M,bgColor:d.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:o}),x("hoverformat"),x("layer")}}}),hD=De({"src/plots/ternary/index.js"(j){"use strict";var N=cD(),u=Bf().getSubplotCalcData,v=Ar().counterRegex,w="ternary";j.name=w;var S=j.attr="subplot";j.idRoot=w,j.idRegex=j.attrRegex=v(w);var l=j.attributes={};l[S]={valType:"subplotid",dflt:"ternary",editType:"calc"},j.layoutAttributes=Jw(),j.supplyLayoutDefaults=fD(),j.plot=function(t){for(var a=t._fullLayout,r=t.calcdata,n=a._subplots[w],i=0;i0){var E=t.xa,g=t.ya,A,m,h,b,_;p.orientation==="h"?(_=a,A="y",h=g,m="x",b=E):(_=r,A="x",h=E,m="y",b=g);var I=c[t.index];if(_>=I.span[0]&&_<=I.span[1]){var C=v.extendFlat({},t),F=b.c2p(_,!0),R=l.getKdeValue(I,p,_),z=l.getPositionOnKdePath(I,p,F),D=h._offset,k=h._length;C[A+"0"]=z[0],C[A+"1"]=z[1],C[m+"0"]=C[m+"1"]=F,C[m+"Label"]=m+": "+w.hoverLabelText(b,_,p[m+"hoverformat"])+", "+c[0].t.labels.kde+" "+R.toFixed(3);for(var B=0,O=0;O path").each(function(d){if(!d.isBlank){var y=f.marker;u.select(this).call(w.fill,d.mc||y.color).call(w.stroke,d.mlc||y.line.color).call(v.dashLine,y.line.dash,d.mlw||y.line.width).style("opacity",f.selectedpoints&&!d.selected?S:1)}}),t(p,f,r),p.selectAll(".regions").each(function(){u.select(this).selectAll("path").style("stroke-width",0).call(w.fill,f.connector.fillcolor)}),p.selectAll(".lines").each(function(){var d=f.connector.line;v.lineGroupStyle(u.select(this).selectAll("path"),d.width,d.color,d.dash)})})}N.exports={style:a}}}),PD=De({"src/traces/funnel/hover.js"(j,N){"use strict";var u=ii().opacity,v=_m().hoverOnBars,w=Ar().formatPercent;N.exports=function(e,t,a,r,n){var i=v(e,t,a,r,n);if(i){var s=i.cd,c=s[0].trace,p=c.orientation==="h",f=i.index,d=s[f],y=p?"x":"y";i[y+"LabelVal"]=d.s,i.percentInitial=d.begR,i.percentInitialLabel=w(d.begR,1),i.percentPrevious=d.difR,i.percentPreviousLabel=w(d.difR,1),i.percentTotal=d.sumR,i.percentTotalLabel=w(d.sumR,1);var o=d.hi||c.hoverinfo,x=[];if(o&&o!=="none"&&o!=="skip"){var M=o==="all",T=o.split("+"),E=function(g){return M||T.indexOf(g)!==-1};E("percent initial")&&x.push(i.percentInitialLabel+" of initial"),E("percent previous")&&x.push(i.percentPreviousLabel+" of previous"),E("percent total")&&x.push(i.percentTotalLabel+" of total")}return i.extraText=x.join("
"),i.color=S(c,d),[i]}};function S(l,e){var t=l.marker,a=e.mc||t.color,r=e.mlc||t.line.color,n=e.mlw||t.line.width;if(u(a))return a;if(u(r)&&n)return r}}}),RD=De({"src/traces/funnel/event_data.js"(j,N){"use strict";N.exports=function(v,w){return v.x="xVal"in w?w.xVal:w.x,v.y="yVal"in w?w.yVal:w.y,"percentInitial"in w&&(v.percentInitial=w.percentInitial),"percentPrevious"in w&&(v.percentPrevious=w.percentPrevious),"percentTotal"in w&&(v.percentTotal=w.percentTotal),w.xa&&(v.xaxis=w.xa),w.ya&&(v.yaxis=w.ya),v}}}),ID=De({"src/traces/funnel/index.js"(j,N){"use strict";N.exports={attributes:t5(),layoutAttributes:r5(),supplyDefaults:a5().supplyDefaults,crossTraceDefaults:a5().crossTraceDefaults,supplyLayoutDefaults:MD(),calc:ED(),crossTraceCalc:kD(),plot:CD(),style:LD().style,hoverPoints:PD(),eventData:RD(),selectPoints:xm(),moduleType:"trace",name:"funnel",basePlotModule:Hu(),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}}}),DD=De({"lib/funnel.js"(j,N){"use strict";N.exports=ID()}}),FD=De({"src/traces/waterfall/constants.js"(j,N){"use strict";N.exports={eventDataKeys:["initial","delta","final"]}}}),n5=De({"src/traces/waterfall/attributes.js"(j,N){"use strict";var u=Rd(),v=bu().line,w=Bs(),S=Zl().axisHoverFormat,{hovertemplateAttrs:l,texttemplateAttrs:e,templatefallbackAttrs:t}=Is(),a=FD(),r=Ji().extendFlat,n=ii();function i(s){return{marker:{color:r({},u.marker.color,{arrayOk:!1,editType:"style"}),line:{color:r({},u.marker.line.color,{arrayOk:!1,editType:"style"}),width:r({},u.marker.line.width,{arrayOk:!1,editType:"style"}),editType:"style"},editType:"style"},editType:"style"}}N.exports={measure:{valType:"data_array",dflt:[],editType:"calc"},base:{valType:"number",dflt:null,arrayOk:!1,editType:"calc"},x:u.x,x0:u.x0,dx:u.dx,y:u.y,y0:u.y0,dy:u.dy,xperiod:u.xperiod,yperiod:u.yperiod,xperiod0:u.xperiod0,yperiod0:u.yperiod0,xperiodalignment:u.xperiodalignment,yperiodalignment:u.yperiodalignment,xhoverformat:S("x"),yhoverformat:S("y"),hovertext:u.hovertext,hovertemplate:l({},{keys:a.eventDataKeys}),hovertemplatefallback:t(),hoverinfo:r({},w.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:e({editType:"plot"},{keys:a.eventDataKeys.concat(["label"])}),texttemplatefallback:t({editType:"plot"}),text:u.text,textposition:u.textposition,insidetextanchor:u.insidetextanchor,textangle:u.textangle,textfont:u.textfont,insidetextfont:u.insidetextfont,outsidetextfont:u.outsidetextfont,constraintext:u.constraintext,cliponaxis:u.cliponaxis,orientation:u.orientation,offset:u.offset,width:u.width,increasing:i("increasing"),decreasing:i("decreasing"),totals:i("intermediate sums and total"),connector:{line:{color:r({},v.color,{dflt:n.defaultLine}),width:r({},v.width,{editType:"plot"}),dash:v.dash,editType:"plot"},mode:{valType:"enumerated",values:["spanning","between"],dflt:"between",editType:"plot"},visible:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},offsetgroup:u.offsetgroup,alignmentgroup:u.alignmentgroup,zorder:u.zorder}}}),i5=De({"src/traces/waterfall/layout_attributes.js"(j,N){"use strict";N.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"}}}}),Am=De({"src/constants/delta.js"(j,N){"use strict";N.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"\u25B2"},DECREASING:{COLOR:"#FF4136",SYMBOL:"\u25BC"}}}}),o5=De({"src/traces/waterfall/defaults.js"(j,N){"use strict";var u=Ar(),v=Cp(),w=Bh().handleText,S=kp(),l=ud(),e=n5(),t=ii(),a=Am(),r=a.INCREASING.COLOR,n=a.DECREASING.COLOR,i="#4499FF";function s(f,d,y){f(d+".marker.color",y),f(d+".marker.line.color",t.defaultLine),f(d+".marker.line.width")}function c(f,d,y,o){function x(A,m){return u.coerce(f,d,e,A,m)}var M=S(f,d,o,x);if(!M){d.visible=!1;return}l(f,d,o,x),x("xhoverformat"),x("yhoverformat"),x("measure"),x("orientation",d.x&&!d.y?"h":"v"),x("base"),x("offset"),x("width"),x("text"),x("hovertext"),x("hovertemplate"),x("hovertemplatefallback");var T=x("textposition");w(f,d,o,x,T,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),d.textposition!=="none"&&(x("texttemplate"),x("texttemplatefallback"),d.texttemplate||x("textinfo")),s(x,"increasing",r),s(x,"decreasing",n),s(x,"totals",i);var E=x("connector.visible");if(E){x("connector.mode");var g=x("connector.line.width");g&&(x("connector.line.color"),x("connector.line.dash"))}x("zorder")}function p(f,d){var y,o;function x(T){return u.coerce(o._input,o,e,T)}if(d.waterfallmode==="group")for(var M=0;M0&&(x?_+="M"+h[0]+","+b[1]+"V"+b[0]:_+="M"+h[1]+","+b[0]+"H"+h[0]),M!=="between"&&(g.isSum||A path").each(function(d){if(!d.isBlank){var y=f[d.dir].marker;u.select(this).call(w.fill,y.color).call(w.stroke,y.line.color).call(v.dashLine,y.line.dash,y.line.width).style("opacity",f.selectedpoints&&!d.selected?S:1)}}),t(p,f,r),p.selectAll(".lines").each(function(){var d=f.connector.line;v.lineGroupStyle(u.select(this).selectAll("path"),d.width,d.color,d.dash)})})}N.exports={style:a}}}),UD=De({"src/traces/waterfall/hover.js"(j,N){"use strict";var u=Vi().hoverLabelText,v=ii().opacity,w=_m().hoverOnBars,S=Am(),l={increasing:S.INCREASING.SYMBOL,decreasing:S.DECREASING.SYMBOL};N.exports=function(a,r,n,i,s){var c=w(a,r,n,i,s);if(!c)return;var p=c.cd,f=p[0].trace,d=f.orientation==="h",y=d?"x":"y",o=d?a.xa:a.ya;function x(I){return u(o,I,f[y+"hoverformat"])}var M=c.index,T=p[M],E=T.isSum?T.b+T.s:T.rawS;c.initial=T.b+T.s-E,c.delta=E,c.final=c.initial+c.delta;var g=x(Math.abs(c.delta));c.deltaLabel=E<0?"("+g+")":g,c.finalLabel=x(c.final),c.initialLabel=x(c.initial);var A=T.hi||f.hoverinfo,m=[];if(A&&A!=="none"&&A!=="skip"){var h=A==="all",b=A.split("+"),_=function(I){return h||b.indexOf(I)!==-1};T.isSum||(_("final")&&(d?!_("x"):!_("y"))&&m.push(c.finalLabel),_("delta")&&(E<0?m.push(c.deltaLabel+" "+l.decreasing):m.push(c.deltaLabel+" "+l.increasing)),_("initial")&&m.push("Initial: "+c.initialLabel))}return m.length&&(c.extraText=m.join("
")),c.color=e(f,T),[c]};function e(t,a){var r=t[a.dir].marker,n=r.color,i=r.line.color,s=r.line.width;if(v(n))return n;if(v(i)&&s)return i}}}),qD=De({"src/traces/waterfall/event_data.js"(j,N){"use strict";N.exports=function(v,w){return v.x="xVal"in w?w.xVal:w.x,v.y="yVal"in w?w.yVal:w.y,"initial"in w&&(v.initial=w.initial),"delta"in w&&(v.delta=w.delta),"final"in w&&(v.final=w.final),w.xa&&(v.xaxis=w.xa),w.ya&&(v.yaxis=w.ya),v}}}),GD=De({"src/traces/waterfall/index.js"(j,N){"use strict";N.exports={attributes:n5(),layoutAttributes:i5(),supplyDefaults:o5().supplyDefaults,crossTraceDefaults:o5().crossTraceDefaults,supplyLayoutDefaults:zD(),calc:BD(),crossTraceCalc:OD(),plot:ND(),style:jD().style,hoverPoints:UD(),eventData:qD(),selectPoints:xm(),moduleType:"trace",name:"waterfall",basePlotModule:Hu(),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}}}),VD=De({"lib/waterfall.js"(j,N){"use strict";N.exports=GD()}}),Tm=De({"src/traces/image/constants.js"(j,N){"use strict";N.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(u){return u.slice(0,3)},suffix:["","",""]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(u){return u.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(u){return u.slice(0,4)},suffix:["","","",""]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(u){var v=u.slice(0,3);return v[1]=v[1]+"%",v[2]=v[2]+"%",v},suffix:["\xB0","%","%"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(u){var v=u.slice(0,4);return v[1]=v[1]+"%",v[2]=v[2]+"%",v},suffix:["\xB0","%","%",""]}}}}}),Nx={};Zo(Nx,{default:()=>h5});var s5,l5,jx,u5,c5,Ux,qx,Gx,f5,h5,d5=di({"src/traces/image/attributes.ts"(){"use strict";s5=Du(Ji()),l5=Du(Bs()),jx=Du(Is()),u5=Du(bu()),c5=Du(Tm()),Ux=["rgb","rgba","rgba256","hsl","hsla"],qx=[],Gx=[];for(let j of Ux){let N=c5.colormodel[j];qx.push(`For the \`${j}\` colormodel, it is [${(N.zminDflt||N.min).join(", ")}].`),Gx.push(`For the \`${j}\` colormodel, it is [${(N.zmaxDflt||N.max).join(", ")}].`)}f5={source:{valType:"string",editType:"calc",description:["Specifies the data URI of the image to be visualized.",'The URI consists of "data:image/[][;base64\\\\],"'].join(" ")},z:{valType:"data_array",editType:"calc",description:["A 2-dimensional array in which each element is an array of 3 or 4 numbers representing a color."].join(" ")},colormodel:{valType:"enumerated",values:Ux,editType:"calc",description:["Color model used to map the numerical color components described in `z` into colors.","If `source` is specified, this attribute will be set to `rgba256`","otherwise it defaults to `rgb`."].join(" ")},zsmooth:{valType:"enumerated",values:["fast",!1],dflt:!1,editType:"plot",description:["Picks a smoothing algorithm used to smooth `z` data.","This only applies for image traces that use the `source` attribute."].join(" ")},zmin:{valType:"info_array",items:[{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"}],editType:"calc",description:["Array defining the lower bound for each color component.","Note that the default value will depend on the colormodel.",qx.join(" ")].join(" ")},zmax:{valType:"info_array",items:[{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"}],editType:"calc",description:["Array defining the higher bound for each color component.","Note that the default value will depend on the colormodel.",Gx.join(" ")].join(" ")},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",description:["Set the image's x position. The left edge of the image","(or the right edge if the x axis is reversed or dx is negative)","will be found at xmin=x0-dx/2"].join(" ")},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",description:["Set the image's y position. The top edge of the image","(or the bottom edge if the y axis is NOT reversed or if dy is negative)","will be found at ymin=y0-dy/2. By default when an image trace is","included, the y axis will be reversed so that the image is right-side-up,","but you can disable this by setting yaxis.autorange=true or by providing","an explicit y axis range."].join(" ")},dx:{valType:"number",dflt:1,editType:"calc",description:"Set the pixel's horizontal size."},dy:{valType:"number",dflt:1,editType:"calc",description:"Set the pixel's vertical size"},text:{valType:"data_array",editType:"plot",description:"Sets the text elements associated with each z value."},hovertext:{valType:"data_array",editType:"plot",description:"Same as `text`."},hoverinfo:(0,s5.extendFlat)({},l5.default.hoverinfo,{flags:["x","y","z","color","name","text"],dflt:"x+y+z+text+name"}),hovertemplate:(0,jx.hovertemplateAttrs)({},{keys:["z","color","colormodel"]}),hovertemplatefallback:(0,jx.templatefallbackAttrs)(),zorder:u5.zorder},h5=f5}}),HD=De({"src/traces/image/defaults.js"(j,N){"use strict";var u=Ar(),v=(d5(),ts(Nx)).default,w=Tm(),S=$d().IMAGE_URL_PREFIX;N.exports=function(e,t){function a(i,s){return u.coerce(e,t,v,i,s)}a("source"),t.source&&!t.source.match(S)&&delete t.source,t._hasSource=!!t.source;var r=a("z");if(t._hasZ=!(r===void 0||!r.length||!r[0]||!r[0].length),!t._hasZ&&!t._hasSource){t.visible=!1;return}a("x0"),a("y0"),a("dx"),a("dy");var n;t._hasZ?(a("colormodel","rgb"),n=w.colormodel[t.colormodel],a("zmin",n.zminDflt||n.min),a("zmax",n.zmaxDflt||n.max)):t._hasSource&&(t.colormodel="rgba256",n=w.colormodel[t.colormodel],t.zmin=n.zminDflt,t.zmax=n.zmaxDflt),a("zsmooth"),a("text"),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback"),t._length=null,a("zorder")}}}),Kd=De({"node_modules/inherits/inherits_browser.js"(j,N){typeof Object.create=="function"?N.exports=function(v,w){w&&(v.super_=w,v.prototype=Object.create(w.prototype,{constructor:{value:v,enumerable:!1,writable:!0,configurable:!0}}))}:N.exports=function(v,w){if(w){v.super_=w;var S=function(){};S.prototype=w.prototype,v.prototype=new S,v.prototype.constructor=v}}}}),v5=De({"node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/stream-browser.js"(j,N){N.exports=Tp().EventEmitter}}),WD=De({"node_modules/base64-js/index.js"(j){"use strict";j.byteLength=t,j.toByteArray=r,j.fromByteArray=s;var N=[],u=[],v=typeof Uint8Array<"u"?Uint8Array:Array,w="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(S=0,l=w.length;S0)throw new Error("Invalid string. Length must be a multiple of 4");var f=c.indexOf("=");f===-1&&(f=p);var d=f===p?0:4-f%4;return[f,d]}function t(c){var p=e(c),f=p[0],d=p[1];return(f+d)*3/4-d}function a(c,p,f){return(p+f)*3/4-f}function r(c){var p,f=e(c),d=f[0],y=f[1],o=new v(a(c,d,y)),x=0,M=y>0?d-4:d,T;for(T=0;T>16&255,o[x++]=p>>8&255,o[x++]=p&255;return y===2&&(p=u[c.charCodeAt(T)]<<2|u[c.charCodeAt(T+1)]>>4,o[x++]=p&255),y===1&&(p=u[c.charCodeAt(T)]<<10|u[c.charCodeAt(T+1)]<<4|u[c.charCodeAt(T+2)]>>2,o[x++]=p>>8&255,o[x++]=p&255),o}function n(c){return N[c>>18&63]+N[c>>12&63]+N[c>>6&63]+N[c&63]}function i(c,p,f){for(var d,y=[],o=p;oM?M:x+o));return d===1?(p=c[f-1],y.push(N[p>>2]+N[p<<4&63]+"==")):d===2&&(p=(c[f-2]<<8)+c[f-1],y.push(N[p>>10]+N[p>>4&63]+N[p<<2&63]+"=")),y.join("")}}}),YD=De({"node_modules/ieee754/index.js"(j){j.read=function(N,u,v,w,S){var l,e,t=S*8-w-1,a=(1<>1,n=-7,i=v?S-1:0,s=v?-1:1,c=N[u+i];for(i+=s,l=c&(1<<-n)-1,c>>=-n,n+=t;n>0;l=l*256+N[u+i],i+=s,n-=8);for(e=l&(1<<-n)-1,l>>=-n,n+=w;n>0;e=e*256+N[u+i],i+=s,n-=8);if(l===0)l=1-r;else{if(l===a)return e?NaN:(c?-1:1)*(1/0);e=e+Math.pow(2,w),l=l-r}return(c?-1:1)*e*Math.pow(2,l-w)},j.write=function(N,u,v,w,S,l){var e,t,a,r=l*8-S-1,n=(1<>1,s=S===23?Math.pow(2,-24)-Math.pow(2,-77):0,c=w?0:l-1,p=w?1:-1,f=u<0||u===0&&1/u<0?1:0;for(u=Math.abs(u),isNaN(u)||u===1/0?(t=isNaN(u)?1:0,e=n):(e=Math.floor(Math.log(u)/Math.LN2),u*(a=Math.pow(2,-e))<1&&(e--,a*=2),e+i>=1?u+=s/a:u+=s*Math.pow(2,1-i),u*a>=2&&(e++,a/=2),e+i>=n?(t=0,e=n):e+i>=1?(t=(u*a-1)*Math.pow(2,S),e=e+i):(t=u*Math.pow(2,i-1)*Math.pow(2,S),e=0));S>=8;N[v+c]=t&255,c+=p,t/=256,S-=8);for(e=e<0;N[v+c]=e&255,c+=p,e/=256,r-=8);N[v+c-p]|=f*128}}}),Dp=De({"node_modules/buffer/index.js"(j){"use strict";var N=WD(),u=YD(),v=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;j.Buffer=e,j.SlowBuffer=y,j.INSPECT_MAX_BYTES=50;var w=2147483647;j.kMaxLength=w,e.TYPED_ARRAY_SUPPORT=S(),!e.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 S(){try{let oe=new Uint8Array(1),le={foo:function(){return 42}};return Object.setPrototypeOf(le,Uint8Array.prototype),Object.setPrototypeOf(oe,le),oe.foo()===42}catch{return!1}}Object.defineProperty(e.prototype,"parent",{enumerable:!0,get:function(){if(e.isBuffer(this))return this.buffer}}),Object.defineProperty(e.prototype,"offset",{enumerable:!0,get:function(){if(e.isBuffer(this))return this.byteOffset}});function l(oe){if(oe>w)throw new RangeError('The value "'+oe+'" is invalid for option "size"');let le=new Uint8Array(oe);return Object.setPrototypeOf(le,e.prototype),le}function e(oe,le,ne){if(typeof oe=="number"){if(typeof le=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return n(oe)}return t(oe,le,ne)}e.poolSize=8192;function t(oe,le,ne){if(typeof oe=="string")return i(oe,le);if(ArrayBuffer.isView(oe))return c(oe);if(oe==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof oe);if(Ce(oe,ArrayBuffer)||oe&&Ce(oe.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Ce(oe,SharedArrayBuffer)||oe&&Ce(oe.buffer,SharedArrayBuffer)))return p(oe,le,ne);if(typeof oe=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let be=oe.valueOf&&oe.valueOf();if(be!=null&&be!==oe)return e.from(be,le,ne);let Fe=f(oe);if(Fe)return Fe;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof oe[Symbol.toPrimitive]=="function")return e.from(oe[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 oe)}e.from=function(oe,le,ne){return t(oe,le,ne)},Object.setPrototypeOf(e.prototype,Uint8Array.prototype),Object.setPrototypeOf(e,Uint8Array);function a(oe){if(typeof oe!="number")throw new TypeError('"size" argument must be of type number');if(oe<0)throw new RangeError('The value "'+oe+'" is invalid for option "size"')}function r(oe,le,ne){return a(oe),oe<=0?l(oe):le!==void 0?typeof ne=="string"?l(oe).fill(le,ne):l(oe).fill(le):l(oe)}e.alloc=function(oe,le,ne){return r(oe,le,ne)};function n(oe){return a(oe),l(oe<0?0:d(oe)|0)}e.allocUnsafe=function(oe){return n(oe)},e.allocUnsafeSlow=function(oe){return n(oe)};function i(oe,le){if((typeof le!="string"||le==="")&&(le="utf8"),!e.isEncoding(le))throw new TypeError("Unknown encoding: "+le);let ne=o(oe,le)|0,be=l(ne),Fe=be.write(oe,le);return Fe!==ne&&(be=be.slice(0,Fe)),be}function s(oe){let le=oe.length<0?0:d(oe.length)|0,ne=l(le);for(let be=0;be=w)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+w.toString(16)+" bytes");return oe|0}function y(oe){return+oe!=oe&&(oe=0),e.alloc(+oe)}e.isBuffer=function(le){return le!=null&&le._isBuffer===!0&&le!==e.prototype},e.compare=function(le,ne){if(Ce(le,Uint8Array)&&(le=e.from(le,le.offset,le.byteLength)),Ce(ne,Uint8Array)&&(ne=e.from(ne,ne.offset,ne.byteLength)),!e.isBuffer(le)||!e.isBuffer(ne))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(le===ne)return 0;let be=le.length,Fe=ne.length;for(let Ve=0,je=Math.min(be,Fe);VeFe.length?(e.isBuffer(je)||(je=e.from(je)),je.copy(Fe,Ve)):Uint8Array.prototype.set.call(Fe,je,Ve);else if(e.isBuffer(je))je.copy(Fe,Ve);else throw new TypeError('"list" argument must be an Array of Buffers');Ve+=je.length}return Fe};function o(oe,le){if(e.isBuffer(oe))return oe.length;if(ArrayBuffer.isView(oe)||Ce(oe,ArrayBuffer))return oe.byteLength;if(typeof oe!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof oe);let ne=oe.length,be=arguments.length>2&&arguments[2]===!0;if(!be&&ne===0)return 0;let Fe=!1;for(;;)switch(le){case"ascii":case"latin1":case"binary":return ne;case"utf8":case"utf-8":return ce(oe).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ne*2;case"hex":return ne>>>1;case"base64":return Ae(oe).length;default:if(Fe)return be?-1:ce(oe).length;le=(""+le).toLowerCase(),Fe=!0}}e.byteLength=o;function x(oe,le,ne){let be=!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(oe||(oe="utf8");;)switch(oe){case"hex":return D(this,le,ne);case"utf8":case"utf-8":return I(this,le,ne);case"ascii":return R(this,le,ne);case"latin1":case"binary":return z(this,le,ne);case"base64":return _(this,le,ne);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,le,ne);default:if(be)throw new TypeError("Unknown encoding: "+oe);oe=(oe+"").toLowerCase(),be=!0}}e.prototype._isBuffer=!0;function M(oe,le,ne){let be=oe[le];oe[le]=oe[ne],oe[ne]=be}e.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+=" ... "),""},v&&(e.prototype[v]=e.prototype.inspect),e.prototype.compare=function(le,ne,be,Fe,Ve){if(Ce(le,Uint8Array)&&(le=e.from(le,le.offset,le.byteLength)),!e.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),be===void 0&&(be=le?le.length:0),Fe===void 0&&(Fe=0),Ve===void 0&&(Ve=this.length),ne<0||be>le.length||Fe<0||Ve>this.length)throw new RangeError("out of range index");if(Fe>=Ve&&ne>=be)return 0;if(Fe>=Ve)return-1;if(ne>=be)return 1;if(ne>>>=0,be>>>=0,Fe>>>=0,Ve>>>=0,this===le)return 0;let je=Ve-Fe,ut=be-ne,st=Math.min(je,ut),yt=this.slice(Fe,Ve),At=le.slice(ne,be);for(let Pt=0;Pt2147483647?ne=2147483647:ne<-2147483648&&(ne=-2147483648),ne=+ne,qe(ne)&&(ne=Fe?0:oe.length-1),ne<0&&(ne=oe.length+ne),ne>=oe.length){if(Fe)return-1;ne=oe.length-1}else if(ne<0)if(Fe)ne=0;else return-1;if(typeof le=="string"&&(le=e.from(le,be)),e.isBuffer(le))return le.length===0?-1:E(oe,le,ne,be,Fe);if(typeof le=="number")return le=le&255,typeof Uint8Array.prototype.indexOf=="function"?Fe?Uint8Array.prototype.indexOf.call(oe,le,ne):Uint8Array.prototype.lastIndexOf.call(oe,le,ne):E(oe,[le],ne,be,Fe);throw new TypeError("val must be string, number or Buffer")}function E(oe,le,ne,be,Fe){let Ve=1,je=oe.length,ut=le.length;if(be!==void 0&&(be=String(be).toLowerCase(),be==="ucs2"||be==="ucs-2"||be==="utf16le"||be==="utf-16le")){if(oe.length<2||le.length<2)return-1;Ve=2,je/=2,ut/=2,ne/=2}function st(At,Pt){return Ve===1?At[Pt]:At.readUInt16BE(Pt*Ve)}let yt;if(Fe){let At=-1;for(yt=ne;ytje&&(ne=je-ut),yt=ne;yt>=0;yt--){let At=!0;for(let Pt=0;PtFe&&(be=Fe)):be=Fe;let Ve=le.length;be>Ve/2&&(be=Ve/2);let je;for(je=0;je>>0,isFinite(be)?(be=be>>>0,Fe===void 0&&(Fe="utf8")):(Fe=be,be=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let Ve=this.length-ne;if((be===void 0||be>Ve)&&(be=Ve),le.length>0&&(be<0||ne<0)||ne>this.length)throw new RangeError("Attempt to write outside buffer bounds");Fe||(Fe="utf8");let je=!1;for(;;)switch(Fe){case"hex":return g(this,le,ne,be);case"utf8":case"utf-8":return A(this,le,ne,be);case"ascii":case"latin1":case"binary":return m(this,le,ne,be);case"base64":return h(this,le,ne,be);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return b(this,le,ne,be);default:if(je)throw new TypeError("Unknown encoding: "+Fe);Fe=(""+Fe).toLowerCase(),je=!0}},e.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function _(oe,le,ne){return le===0&&ne===oe.length?N.fromByteArray(oe):N.fromByteArray(oe.slice(le,ne))}function I(oe,le,ne){ne=Math.min(oe.length,ne);let be=[],Fe=le;for(;Fe239?4:Ve>223?3:Ve>191?2:1;if(Fe+ut<=ne){let st,yt,At,Pt;switch(ut){case 1:Ve<128&&(je=Ve);break;case 2:st=oe[Fe+1],(st&192)===128&&(Pt=(Ve&31)<<6|st&63,Pt>127&&(je=Pt));break;case 3:st=oe[Fe+1],yt=oe[Fe+2],(st&192)===128&&(yt&192)===128&&(Pt=(Ve&15)<<12|(st&63)<<6|yt&63,Pt>2047&&(Pt<55296||Pt>57343)&&(je=Pt));break;case 4:st=oe[Fe+1],yt=oe[Fe+2],At=oe[Fe+3],(st&192)===128&&(yt&192)===128&&(At&192)===128&&(Pt=(Ve&15)<<18|(st&63)<<12|(yt&63)<<6|At&63,Pt>65535&&Pt<1114112&&(je=Pt))}}je===null?(je=65533,ut=1):je>65535&&(je-=65536,be.push(je>>>10&1023|55296),je=56320|je&1023),be.push(je),Fe+=ut}return F(be)}var C=4096;function F(oe){let le=oe.length;if(le<=C)return String.fromCharCode.apply(String,oe);let ne="",be=0;for(;bebe)&&(ne=be);let Fe="";for(let Ve=le;Vebe&&(le=be),ne<0?(ne+=be,ne<0&&(ne=0)):ne>be&&(ne=be),nene)throw new RangeError("Trying to access beyond buffer length")}e.prototype.readUintLE=e.prototype.readUIntLE=function(le,ne,be){le=le>>>0,ne=ne>>>0,be||B(le,ne,this.length);let Fe=this[le],Ve=1,je=0;for(;++je>>0,ne=ne>>>0,be||B(le,ne,this.length);let Fe=this[le+--ne],Ve=1;for(;ne>0&&(Ve*=256);)Fe+=this[le+--ne]*Ve;return Fe},e.prototype.readUint8=e.prototype.readUInt8=function(le,ne){return le=le>>>0,ne||B(le,1,this.length),this[le]},e.prototype.readUint16LE=e.prototype.readUInt16LE=function(le,ne){return le=le>>>0,ne||B(le,2,this.length),this[le]|this[le+1]<<8},e.prototype.readUint16BE=e.prototype.readUInt16BE=function(le,ne){return le=le>>>0,ne||B(le,2,this.length),this[le]<<8|this[le+1]},e.prototype.readUint32LE=e.prototype.readUInt32LE=function(le,ne){return le=le>>>0,ne||B(le,4,this.length),(this[le]|this[le+1]<<8|this[le+2]<<16)+this[le+3]*16777216},e.prototype.readUint32BE=e.prototype.readUInt32BE=function(le,ne){return le=le>>>0,ne||B(le,4,this.length),this[le]*16777216+(this[le+1]<<16|this[le+2]<<8|this[le+3])},e.prototype.readBigUInt64LE=xe(function(le){le=le>>>0,X(le,"offset");let ne=this[le],be=this[le+7];(ne===void 0||be===void 0)&&Z(le,this.length-8);let Fe=ne+this[++le]*2**8+this[++le]*2**16+this[++le]*2**24,Ve=this[++le]+this[++le]*2**8+this[++le]*2**16+be*2**24;return BigInt(Fe)+(BigInt(Ve)<>>0,X(le,"offset");let ne=this[le],be=this[le+7];(ne===void 0||be===void 0)&&Z(le,this.length-8);let Fe=ne*2**24+this[++le]*2**16+this[++le]*2**8+this[++le],Ve=this[++le]*2**24+this[++le]*2**16+this[++le]*2**8+be;return(BigInt(Fe)<>>0,ne=ne>>>0,be||B(le,ne,this.length);let Fe=this[le],Ve=1,je=0;for(;++je=Ve&&(Fe-=Math.pow(2,8*ne)),Fe},e.prototype.readIntBE=function(le,ne,be){le=le>>>0,ne=ne>>>0,be||B(le,ne,this.length);let Fe=ne,Ve=1,je=this[le+--Fe];for(;Fe>0&&(Ve*=256);)je+=this[le+--Fe]*Ve;return Ve*=128,je>=Ve&&(je-=Math.pow(2,8*ne)),je},e.prototype.readInt8=function(le,ne){return le=le>>>0,ne||B(le,1,this.length),this[le]&128?(255-this[le]+1)*-1:this[le]},e.prototype.readInt16LE=function(le,ne){le=le>>>0,ne||B(le,2,this.length);let be=this[le]|this[le+1]<<8;return be&32768?be|4294901760:be},e.prototype.readInt16BE=function(le,ne){le=le>>>0,ne||B(le,2,this.length);let be=this[le+1]|this[le]<<8;return be&32768?be|4294901760:be},e.prototype.readInt32LE=function(le,ne){return le=le>>>0,ne||B(le,4,this.length),this[le]|this[le+1]<<8|this[le+2]<<16|this[le+3]<<24},e.prototype.readInt32BE=function(le,ne){return le=le>>>0,ne||B(le,4,this.length),this[le]<<24|this[le+1]<<16|this[le+2]<<8|this[le+3]},e.prototype.readBigInt64LE=xe(function(le){le=le>>>0,X(le,"offset");let ne=this[le],be=this[le+7];(ne===void 0||be===void 0)&&Z(le,this.length-8);let Fe=this[le+4]+this[le+5]*2**8+this[le+6]*2**16+(be<<24);return(BigInt(Fe)<>>0,X(le,"offset");let ne=this[le],be=this[le+7];(ne===void 0||be===void 0)&&Z(le,this.length-8);let Fe=(ne<<24)+this[++le]*2**16+this[++le]*2**8+this[++le];return(BigInt(Fe)<>>0,ne||B(le,4,this.length),u.read(this,le,!0,23,4)},e.prototype.readFloatBE=function(le,ne){return le=le>>>0,ne||B(le,4,this.length),u.read(this,le,!1,23,4)},e.prototype.readDoubleLE=function(le,ne){return le=le>>>0,ne||B(le,8,this.length),u.read(this,le,!0,52,8)},e.prototype.readDoubleBE=function(le,ne){return le=le>>>0,ne||B(le,8,this.length),u.read(this,le,!1,52,8)};function O(oe,le,ne,be,Fe,Ve){if(!e.isBuffer(oe))throw new TypeError('"buffer" argument must be a Buffer instance');if(le>Fe||leoe.length)throw new RangeError("Index out of range")}e.prototype.writeUintLE=e.prototype.writeUIntLE=function(le,ne,be,Fe){if(le=+le,ne=ne>>>0,be=be>>>0,!Fe){let ut=Math.pow(2,8*be)-1;O(this,le,ne,be,ut,0)}let Ve=1,je=0;for(this[ne]=le&255;++je>>0,be=be>>>0,!Fe){let ut=Math.pow(2,8*be)-1;O(this,le,ne,be,ut,0)}let Ve=be-1,je=1;for(this[ne+Ve]=le&255;--Ve>=0&&(je*=256);)this[ne+Ve]=le/je&255;return ne+be},e.prototype.writeUint8=e.prototype.writeUInt8=function(le,ne,be){return le=+le,ne=ne>>>0,be||O(this,le,ne,1,255,0),this[ne]=le&255,ne+1},e.prototype.writeUint16LE=e.prototype.writeUInt16LE=function(le,ne,be){return le=+le,ne=ne>>>0,be||O(this,le,ne,2,65535,0),this[ne]=le&255,this[ne+1]=le>>>8,ne+2},e.prototype.writeUint16BE=e.prototype.writeUInt16BE=function(le,ne,be){return le=+le,ne=ne>>>0,be||O(this,le,ne,2,65535,0),this[ne]=le>>>8,this[ne+1]=le&255,ne+2},e.prototype.writeUint32LE=e.prototype.writeUInt32LE=function(le,ne,be){return le=+le,ne=ne>>>0,be||O(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},e.prototype.writeUint32BE=e.prototype.writeUInt32BE=function(le,ne,be){return le=+le,ne=ne>>>0,be||O(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 q(oe,le,ne,be,Fe){$(le,be,Fe,oe,ne,7);let Ve=Number(le&BigInt(4294967295));oe[ne++]=Ve,Ve=Ve>>8,oe[ne++]=Ve,Ve=Ve>>8,oe[ne++]=Ve,Ve=Ve>>8,oe[ne++]=Ve;let je=Number(le>>BigInt(32)&BigInt(4294967295));return oe[ne++]=je,je=je>>8,oe[ne++]=je,je=je>>8,oe[ne++]=je,je=je>>8,oe[ne++]=je,ne}function Y(oe,le,ne,be,Fe){$(le,be,Fe,oe,ne,7);let Ve=Number(le&BigInt(4294967295));oe[ne+7]=Ve,Ve=Ve>>8,oe[ne+6]=Ve,Ve=Ve>>8,oe[ne+5]=Ve,Ve=Ve>>8,oe[ne+4]=Ve;let je=Number(le>>BigInt(32)&BigInt(4294967295));return oe[ne+3]=je,je=je>>8,oe[ne+2]=je,je=je>>8,oe[ne+1]=je,je=je>>8,oe[ne]=je,ne+8}e.prototype.writeBigUInt64LE=xe(function(le,ne=0){return q(this,le,ne,BigInt(0),BigInt("0xffffffffffffffff"))}),e.prototype.writeBigUInt64BE=xe(function(le,ne=0){return Y(this,le,ne,BigInt(0),BigInt("0xffffffffffffffff"))}),e.prototype.writeIntLE=function(le,ne,be,Fe){if(le=+le,ne=ne>>>0,!Fe){let st=Math.pow(2,8*be-1);O(this,le,ne,be,st-1,-st)}let Ve=0,je=1,ut=0;for(this[ne]=le&255;++Ve>0)-ut&255;return ne+be},e.prototype.writeIntBE=function(le,ne,be,Fe){if(le=+le,ne=ne>>>0,!Fe){let st=Math.pow(2,8*be-1);O(this,le,ne,be,st-1,-st)}let Ve=be-1,je=1,ut=0;for(this[ne+Ve]=le&255;--Ve>=0&&(je*=256);)le<0&&ut===0&&this[ne+Ve+1]!==0&&(ut=1),this[ne+Ve]=(le/je>>0)-ut&255;return ne+be},e.prototype.writeInt8=function(le,ne,be){return le=+le,ne=ne>>>0,be||O(this,le,ne,1,127,-128),le<0&&(le=255+le+1),this[ne]=le&255,ne+1},e.prototype.writeInt16LE=function(le,ne,be){return le=+le,ne=ne>>>0,be||O(this,le,ne,2,32767,-32768),this[ne]=le&255,this[ne+1]=le>>>8,ne+2},e.prototype.writeInt16BE=function(le,ne,be){return le=+le,ne=ne>>>0,be||O(this,le,ne,2,32767,-32768),this[ne]=le>>>8,this[ne+1]=le&255,ne+2},e.prototype.writeInt32LE=function(le,ne,be){return le=+le,ne=ne>>>0,be||O(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},e.prototype.writeInt32BE=function(le,ne,be){return le=+le,ne=ne>>>0,be||O(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},e.prototype.writeBigInt64LE=xe(function(le,ne=0){return q(this,le,ne,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),e.prototype.writeBigInt64BE=xe(function(le,ne=0){return Y(this,le,ne,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function ee(oe,le,ne,be,Fe,Ve){if(ne+be>oe.length)throw new RangeError("Index out of range");if(ne<0)throw new RangeError("Index out of range")}function te(oe,le,ne,be,Fe){return le=+le,ne=ne>>>0,Fe||ee(oe,le,ne,4,34028234663852886e22,-34028234663852886e22),u.write(oe,le,ne,be,23,4),ne+4}e.prototype.writeFloatLE=function(le,ne,be){return te(this,le,ne,!0,be)},e.prototype.writeFloatBE=function(le,ne,be){return te(this,le,ne,!1,be)};function ae(oe,le,ne,be,Fe){return le=+le,ne=ne>>>0,Fe||ee(oe,le,ne,8,17976931348623157e292,-17976931348623157e292),u.write(oe,le,ne,be,52,8),ne+8}e.prototype.writeDoubleLE=function(le,ne,be){return ae(this,le,ne,!0,be)},e.prototype.writeDoubleBE=function(le,ne,be){return ae(this,le,ne,!1,be)},e.prototype.copy=function(le,ne,be,Fe){if(!e.isBuffer(le))throw new TypeError("argument should be a Buffer");if(be||(be=0),!Fe&&Fe!==0&&(Fe=this.length),ne>=le.length&&(ne=le.length),ne||(ne=0),Fe>0&&Fe=this.length)throw new RangeError("Index out of range");if(Fe<0)throw new RangeError("sourceEnd out of bounds");Fe>this.length&&(Fe=this.length),le.length-ne>>0,be=be===void 0?this.length:be>>>0,le||(le=0);let Ve;if(typeof le=="number")for(Ve=ne;Ve2**32?Fe=K(String(ne)):typeof ne=="bigint"&&(Fe=String(ne),(ne>BigInt(2)**BigInt(32)||ne<-(BigInt(2)**BigInt(32)))&&(Fe=K(Fe)),Fe+="n"),be+=` It must be ${le}. Received ${Fe}`,be},RangeError);function K(oe){let le="",ne=oe.length,be=oe[0]==="-"?1:0;for(;ne>=be+4;ne-=3)le=`_${oe.slice(ne-3,ne)}${le}`;return`${oe.slice(0,ne)}${le}`}function V(oe,le,ne){X(le,"offset"),(oe[le]===void 0||oe[le+ne]===void 0)&&Z(le,oe.length-(ne+1))}function $(oe,le,ne,be,Fe,Ve){if(oe>ne||oe3?le===0||le===BigInt(0)?ut=`>= 0${je} and < 2${je} ** ${(Ve+1)*8}${je}`:ut=`>= -(2${je} ** ${(Ve+1)*8-1}${je}) and < 2 ** ${(Ve+1)*8-1}${je}`:ut=`>= ${le}${je} and <= ${ne}${je}`,new U.ERR_OUT_OF_RANGE("value",ut,oe)}V(be,Fe,Ve)}function X(oe,le){if(typeof oe!="number")throw new U.ERR_INVALID_ARG_TYPE(le,"number",oe)}function Z(oe,le,ne){throw Math.floor(oe)!==oe?(X(oe,ne),new U.ERR_OUT_OF_RANGE(ne||"offset","an integer",oe)):le<0?new U.ERR_BUFFER_OUT_OF_BOUNDS:new U.ERR_OUT_OF_RANGE(ne||"offset",`>= ${ne?1:0} and <= ${le}`,oe)}var Q=/[^+/0-9A-Za-z-_]/g;function re(oe){if(oe=oe.split("=")[0],oe=oe.trim().replace(Q,""),oe.length<2)return"";for(;oe.length%4!==0;)oe=oe+"=";return oe}function ce(oe,le){le=le||1/0;let ne,be=oe.length,Fe=null,Ve=[];for(let je=0;je55295&&ne<57344){if(!Fe){if(ne>56319){(le-=3)>-1&&Ve.push(239,191,189);continue}else if(je+1===be){(le-=3)>-1&&Ve.push(239,191,189);continue}Fe=ne;continue}if(ne<56320){(le-=3)>-1&&Ve.push(239,191,189),Fe=ne;continue}ne=(Fe-55296<<10|ne-56320)+65536}else Fe&&(le-=3)>-1&&Ve.push(239,191,189);if(Fe=null,ne<128){if((le-=1)<0)break;Ve.push(ne)}else if(ne<2048){if((le-=2)<0)break;Ve.push(ne>>6|192,ne&63|128)}else if(ne<65536){if((le-=3)<0)break;Ve.push(ne>>12|224,ne>>6&63|128,ne&63|128)}else if(ne<1114112){if((le-=4)<0)break;Ve.push(ne>>18|240,ne>>12&63|128,ne>>6&63|128,ne&63|128)}else throw new Error("Invalid code point")}return Ve}function me(oe){let le=[];for(let ne=0;ne>8,Fe=ne%256,Ve.push(Fe),Ve.push(be);return Ve}function Ae(oe){return N.toByteArray(re(oe))}function Se(oe,le,ne,be){let Fe;for(Fe=0;Fe=le.length||Fe>=oe.length);++Fe)le[Fe+ne]=oe[Fe];return Fe}function Ce(oe,le){return oe instanceof le||oe!=null&&oe.constructor!=null&&oe.constructor.name!=null&&oe.constructor.name===le.name}function qe(oe){return oe!==oe}var Ue=function(){let oe="0123456789abcdef",le=new Array(256);for(let ne=0;ne<16;++ne){let be=ne*16;for(let Fe=0;Fe<16;++Fe)le[be+Fe]=oe[ne]+oe[Fe]}return le}();function xe(oe){return typeof BigInt>"u"?he:oe}function he(){throw new Error("BigInt not supported")}}}),Vx=De({"node_modules/has-symbols/shams.js"(j,N){"use strict";N.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var v={},w=Symbol("test"),S=Object(w);if(typeof w=="string"||Object.prototype.toString.call(w)!=="[object Symbol]"||Object.prototype.toString.call(S)!=="[object Symbol]")return!1;var l=42;v[w]=l;for(var e in v)return!1;if(typeof Object.keys=="function"&&Object.keys(v).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(v).length!==0)return!1;var t=Object.getOwnPropertySymbols(v);if(t.length!==1||t[0]!==w||!Object.prototype.propertyIsEnumerable.call(v,w))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var a=Object.getOwnPropertyDescriptor(v,w);if(a.value!==l||a.enumerable!==!0)return!1}return!0}}}),G1=De({"node_modules/has-tostringtag/shams.js"(j,N){"use strict";var u=Vx();N.exports=function(){return u()&&!!Symbol.toStringTag}}}),p5=De({"node_modules/es-object-atoms/index.js"(j,N){"use strict";N.exports=Object}}),XD=De({"node_modules/es-errors/index.js"(j,N){"use strict";N.exports=Error}}),ZD=De({"node_modules/es-errors/eval.js"(j,N){"use strict";N.exports=EvalError}}),$D=De({"node_modules/es-errors/range.js"(j,N){"use strict";N.exports=RangeError}}),KD=De({"node_modules/es-errors/ref.js"(j,N){"use strict";N.exports=ReferenceError}}),m5=De({"node_modules/es-errors/syntax.js"(j,N){"use strict";N.exports=SyntaxError}}),Mm=De({"node_modules/es-errors/type.js"(j,N){"use strict";N.exports=TypeError}}),JD=De({"node_modules/es-errors/uri.js"(j,N){"use strict";N.exports=URIError}}),QD=De({"node_modules/math-intrinsics/abs.js"(j,N){"use strict";N.exports=Math.abs}}),eF=De({"node_modules/math-intrinsics/floor.js"(j,N){"use strict";N.exports=Math.floor}}),tF=De({"node_modules/math-intrinsics/max.js"(j,N){"use strict";N.exports=Math.max}}),rF=De({"node_modules/math-intrinsics/min.js"(j,N){"use strict";N.exports=Math.min}}),aF=De({"node_modules/math-intrinsics/pow.js"(j,N){"use strict";N.exports=Math.pow}}),nF=De({"node_modules/math-intrinsics/round.js"(j,N){"use strict";N.exports=Math.round}}),iF=De({"node_modules/math-intrinsics/isNaN.js"(j,N){"use strict";N.exports=Number.isNaN||function(v){return v!==v}}}),oF=De({"node_modules/math-intrinsics/sign.js"(j,N){"use strict";var u=iF();N.exports=function(w){return u(w)||w===0?w:w<0?-1:1}}}),sF=De({"node_modules/gopd/gOPD.js"(j,N){"use strict";N.exports=Object.getOwnPropertyDescriptor}}),Fp=De({"node_modules/gopd/index.js"(j,N){"use strict";var u=sF();if(u)try{u([],"length")}catch{u=null}N.exports=u}}),V1=De({"node_modules/es-define-property/index.js"(j,N){"use strict";var u=Object.defineProperty||!1;if(u)try{u({},"a",{value:1})}catch{u=!1}N.exports=u}}),lF=De({"node_modules/has-symbols/index.js"(j,N){"use strict";var u=typeof Symbol<"u"&&Symbol,v=Vx();N.exports=function(){return typeof u!="function"||typeof Symbol!="function"||typeof u("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:v()}}}),g5=De({"node_modules/get-proto/Reflect.getPrototypeOf.js"(j,N){"use strict";N.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null}}),y5=De({"node_modules/get-proto/Object.getPrototypeOf.js"(j,N){"use strict";var u=p5();N.exports=u.getPrototypeOf||null}}),uF=De({"node_modules/function-bind/implementation.js"(j,N){"use strict";var u="Function.prototype.bind called on incompatible ",v=Object.prototype.toString,w=Math.max,S="[object Function]",l=function(r,n){for(var i=[],s=0;s"u"||!A?u:A(Uint8Array),F={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?u:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?u:ArrayBuffer,"%ArrayIteratorPrototype%":g&&A?A([][Symbol.iterator]()):u,"%AsyncFromSyncIteratorPrototype%":u,"%AsyncFunction%":I,"%AsyncGenerator%":I,"%AsyncGeneratorFunction%":I,"%AsyncIteratorPrototype%":I,"%Atomics%":typeof Atomics>"u"?u:Atomics,"%BigInt%":typeof BigInt>"u"?u:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?u:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?u:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?u:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":w,"%eval%":eval,"%EvalError%":S,"%Float16Array%":typeof Float16Array>"u"?u:Float16Array,"%Float32Array%":typeof Float32Array>"u"?u:Float32Array,"%Float64Array%":typeof Float64Array>"u"?u:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?u:FinalizationRegistry,"%Function%":y,"%GeneratorFunction%":I,"%Int8Array%":typeof Int8Array>"u"?u:Int8Array,"%Int16Array%":typeof Int16Array>"u"?u:Int16Array,"%Int32Array%":typeof Int32Array>"u"?u:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":g&&A?A(A([][Symbol.iterator]())):u,"%JSON%":typeof JSON=="object"?JSON:u,"%Map%":typeof Map>"u"?u:Map,"%MapIteratorPrototype%":typeof Map>"u"||!g||!A?u:A(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":v,"%Object.getOwnPropertyDescriptor%":x,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?u:Promise,"%Proxy%":typeof Proxy>"u"?u:Proxy,"%RangeError%":l,"%ReferenceError%":e,"%Reflect%":typeof Reflect>"u"?u:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?u:Set,"%SetIteratorPrototype%":typeof Set>"u"||!g||!A?u:A(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?u:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":g&&A?A(""[Symbol.iterator]()):u,"%Symbol%":g?Symbol:u,"%SyntaxError%":t,"%ThrowTypeError%":E,"%TypedArray%":C,"%TypeError%":a,"%Uint8Array%":typeof Uint8Array>"u"?u:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?u:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?u:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?u:Uint32Array,"%URIError%":r,"%WeakMap%":typeof WeakMap>"u"?u:WeakMap,"%WeakRef%":typeof WeakRef>"u"?u:WeakRef,"%WeakSet%":typeof WeakSet>"u"?u:WeakSet,"%Function.prototype.call%":_,"%Function.prototype.apply%":b,"%Object.defineProperty%":M,"%Object.getPrototypeOf%":m,"%Math.abs%":n,"%Math.floor%":i,"%Math.max%":s,"%Math.min%":c,"%Math.pow%":p,"%Math.round%":f,"%Math.sign%":d,"%Reflect.getPrototypeOf%":h};if(A)try{null.error}catch(V){R=A(A(V)),F["%Error.prototype%"]=R}var R,z=function V($){var X;if($==="%AsyncFunction%")X=o("async function () {}");else if($==="%GeneratorFunction%")X=o("function* () {}");else if($==="%AsyncGeneratorFunction%")X=o("async function* () {}");else if($==="%AsyncGenerator%"){var Z=V("%AsyncGeneratorFunction%");Z&&(X=Z.prototype)}else if($==="%AsyncIteratorPrototype%"){var Q=V("%AsyncGenerator%");Q&&A&&(X=A(Q.prototype))}return F[$]=X,X},D={__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"]},k=Sm(),B=pF(),O=k.call(_,Array.prototype.concat),q=k.call(b,Array.prototype.splice),Y=k.call(_,String.prototype.replace),ee=k.call(_,String.prototype.slice),te=k.call(_,RegExp.prototype.exec),ae=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,U=/\\(\\)?/g,H=function($){var X=ee($,0,1),Z=ee($,-1);if(X==="%"&&Z!=="%")throw new t("invalid intrinsic syntax, expected closing `%`");if(Z==="%"&&X!=="%")throw new t("invalid intrinsic syntax, expected opening `%`");var Q=[];return Y($,ae,function(re,ce,me,ye){Q[Q.length]=me?Y(ye,U,"$1"):ce||re}),Q},K=function($,X){var Z=$,Q;if(B(D,Z)&&(Q=D[Z],Z="%"+Q[0]+"%"),B(F,Z)){var re=F[Z];if(re===I&&(re=z(Z)),typeof re>"u"&&!X)throw new a("intrinsic "+$+" exists, but is not available. Please file an issue!");return{alias:Q,name:Z,value:re}}throw new t("intrinsic "+$+" does not exist!")};N.exports=function($,X){if(typeof $!="string"||$.length===0)throw new a("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof X!="boolean")throw new a('"allowMissing" argument must be a boolean');if(te(/^%?[^%]*%?$/,$)===null)throw new t("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var Z=H($),Q=Z.length>0?Z[0]:"",re=K("%"+Q+"%",X),ce=re.name,me=re.value,ye=!1,Ae=re.alias;Ae&&(Q=Ae[0],q(Z,O([0,1],Ae)));for(var Se=1,Ce=!0;Se=Z.length){var he=x(me,qe);Ce=!!he,Ce&&"get"in he&&!("originalValue"in he.get)?me=he.get:me=me[qe]}else Ce=B(me,qe),me=me[qe];Ce&&!ye&&(F[ce]=me)}}return me}}}),mF=De({"node_modules/define-data-property/index.js"(j,N){"use strict";var u=V1(),v=m5(),w=Mm(),S=Fp();N.exports=function(e,t,a){if(!e||typeof e!="object"&&typeof e!="function")throw new w("`obj` must be an object or a function`");if(typeof t!="string"&&typeof t!="symbol")throw new w("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new w("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new w("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new w("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new w("`loose`, if provided, must be a boolean");var r=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,c=!!S&&S(e,t);if(u)u(e,t,{configurable:i===null&&c?c.configurable:!i,enumerable:r===null&&c?c.enumerable:!r,value:a,writable:n===null&&c?c.writable:!n});else if(s||!r&&!n&&!i)e[t]=a;else throw new v("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")}}}),x5=De({"node_modules/has-property-descriptors/index.js"(j,N){"use strict";var u=V1(),v=function(){return!!u};v.hasArrayLengthDefineBug=function(){if(!u)return null;try{return u([],"length",{value:1}).length!==1}catch{return!0}},N.exports=v}}),gF=De({"node_modules/set-function-length/index.js"(j,N){"use strict";var u=Wx(),v=mF(),w=x5()(),S=Fp(),l=Mm(),e=u("%Math.floor%");N.exports=function(a,r){if(typeof a!="function")throw new l("`fn` is not a function");if(typeof r!="number"||r<0||r>4294967295||e(r)!==r)throw new l("`length` must be a positive 32-bit integer");var n=arguments.length>2&&!!arguments[2],i=!0,s=!0;if("length"in a&&S){var c=S(a,"length");c&&!c.configurable&&(i=!1),c&&!c.writable&&(s=!1)}return(i||s||!n)&&(w?v(a,"length",r,!0,!0):v(a,"length",r)),a}}}),H1=De({"node_modules/call-bind/index.js"(j,N){"use strict";var u=Sm(),v=Wx(),w=gF(),S=Mm(),l=v("%Function.prototype.apply%"),e=v("%Function.prototype.call%"),t=v("%Reflect.apply%",!0)||u.call(e,l),a=V1(),r=v("%Math.max%");N.exports=function(s){if(typeof s!="function")throw new S("a function is required");var c=t(u,e,arguments);return w(c,1+r(0,s.length-(arguments.length-1)),!0)};var n=function(){return t(u,l,arguments)};a?a(N.exports,"apply",{value:n}):N.exports.apply=n}}),Em=De({"node_modules/call-bind/callBound.js"(j,N){"use strict";var u=Wx(),v=H1(),w=v(u("String.prototype.indexOf"));N.exports=function(l,e){var t=u(l,!!e);return typeof t=="function"&&w(l,".prototype.")>-1?v(t):t}}}),yF=De({"node_modules/is-arguments/index.js"(j,N){"use strict";var u=G1()(),v=Em(),w=v("Object.prototype.toString"),S=function(a){return u&&a&&typeof a=="object"&&Symbol.toStringTag in a?!1:w(a)==="[object Arguments]"},l=function(a){return S(a)?!0:a!==null&&typeof a=="object"&&typeof a.length=="number"&&a.length>=0&&w(a)!=="[object Array]"&&w(a.callee)==="[object Function]"},e=function(){return S(arguments)}();S.isLegacyArguments=l,N.exports=e?S:l}}),_F=De({"node_modules/is-generator-function/index.js"(j,N){"use strict";var u=Object.prototype.toString,v=Function.prototype.toString,w=/^\s*(?:function)?\*/,S=G1()(),l=Object.getPrototypeOf,e=function(){if(!S)return!1;try{return Function("return function*() {}")()}catch{}},t;N.exports=function(r){if(typeof r!="function")return!1;if(w.test(v.call(r)))return!0;if(!S){var n=u.call(r);return n==="[object GeneratorFunction]"}if(!l)return!1;if(typeof t>"u"){var i=e();t=i?l(i):!1}return l(r)===t}}}),xF=De({"node_modules/is-callable/index.js"(j,N){"use strict";var u=Function.prototype.toString,v=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply,w,S;if(typeof v=="function"&&typeof Object.defineProperty=="function")try{w=Object.defineProperty({},"length",{get:function(){throw S}}),S={},v(function(){throw 42},null,w)}catch(x){x!==S&&(v=null)}else v=null;var l=/^\s*class\b/,e=function(M){try{var T=u.call(M);return l.test(T)}catch{return!1}},t=function(M){try{return e(M)?!1:(u.call(M),!0)}catch{return!1}},a=Object.prototype.toString,r="[object Object]",n="[object Function]",i="[object GeneratorFunction]",s="[object HTMLAllCollection]",c="[object HTML document.all class]",p="[object HTMLCollection]",f=typeof Symbol=="function"&&!!Symbol.toStringTag,d=!(0 in[,]),y=function(){return!1};typeof document=="object"&&(o=document.all,a.call(o)===a.call(document.all)&&(y=function(M){if((d||!M)&&(typeof M>"u"||typeof M=="object"))try{var T=a.call(M);return(T===s||T===c||T===p||T===r)&&M("")==null}catch{}return!1}));var o;N.exports=v?function(M){if(y(M))return!0;if(!M||typeof M!="function"&&typeof M!="object")return!1;try{v(M,null,w)}catch(T){if(T!==S)return!1}return!e(M)&&t(M)}:function(M){if(y(M))return!0;if(!M||typeof M!="function"&&typeof M!="object")return!1;if(f)return t(M);if(e(M))return!1;var T=a.call(M);return T!==n&&T!==i&&!/^\[object HTML/.test(T)?!1:t(M)}}}),b5=De({"node_modules/for-each/index.js"(j,N){"use strict";var u=xF(),v=Object.prototype.toString,w=Object.prototype.hasOwnProperty,S=function(r,n,i){for(var s=0,c=r.length;s=3&&(s=i),v.call(r)==="[object Array]"?S(r,n,s):typeof r=="string"?l(r,n,s):e(r,n,s)};N.exports=t}}),w5=De({"node_modules/available-typed-arrays/index.js"(j,N){"use strict";var u=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],v=typeof globalThis>"u"?window:globalThis;N.exports=function(){for(var S=[],l=0;l"u"?window:globalThis,r=v(),n=S("String.prototype.slice"),i=Object.getPrototypeOf,s=S("Array.prototype.indexOf",!0)||function(y,o){for(var x=0;x-1?o:o!=="Object"?!1:f(y)}return l?p(y):null}}}),wF=De({"node_modules/is-typed-array/index.js"(j,N){"use strict";var u=b5(),v=w5(),w=Em(),S=w("Object.prototype.toString"),l=G1()(),e=Fp(),t=typeof globalThis>"u"?window:globalThis,a=v(),r=w("Array.prototype.indexOf",!0)||function(f,d){for(var y=0;y-1}return e?c(f):!1}}}),A5=De({"node_modules/util/support/types.js"(j){"use strict";var N=yF(),u=_F(),v=bF(),w=wF();function S(ye){return ye.call.bind(ye)}var l=typeof BigInt<"u",e=typeof Symbol<"u",t=S(Object.prototype.toString),a=S(Number.prototype.valueOf),r=S(String.prototype.valueOf),n=S(Boolean.prototype.valueOf);l&&(i=S(BigInt.prototype.valueOf));var i;e&&(s=S(Symbol.prototype.valueOf));var s;function c(ye,Ae){if(typeof ye!="object")return!1;try{return Ae(ye),!0}catch{return!1}}j.isArgumentsObject=N,j.isGeneratorFunction=u,j.isTypedArray=w;function p(ye){return typeof Promise<"u"&&ye instanceof Promise||ye!==null&&typeof ye=="object"&&typeof ye.then=="function"&&typeof ye.catch=="function"}j.isPromise=p;function f(ye){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(ye):w(ye)||q(ye)}j.isArrayBufferView=f;function d(ye){return v(ye)==="Uint8Array"}j.isUint8Array=d;function y(ye){return v(ye)==="Uint8ClampedArray"}j.isUint8ClampedArray=y;function o(ye){return v(ye)==="Uint16Array"}j.isUint16Array=o;function x(ye){return v(ye)==="Uint32Array"}j.isUint32Array=x;function M(ye){return v(ye)==="Int8Array"}j.isInt8Array=M;function T(ye){return v(ye)==="Int16Array"}j.isInt16Array=T;function E(ye){return v(ye)==="Int32Array"}j.isInt32Array=E;function g(ye){return v(ye)==="Float32Array"}j.isFloat32Array=g;function A(ye){return v(ye)==="Float64Array"}j.isFloat64Array=A;function m(ye){return v(ye)==="BigInt64Array"}j.isBigInt64Array=m;function h(ye){return v(ye)==="BigUint64Array"}j.isBigUint64Array=h;function b(ye){return t(ye)==="[object Map]"}b.working=typeof Map<"u"&&b(new Map);function _(ye){return typeof Map>"u"?!1:b.working?b(ye):ye instanceof Map}j.isMap=_;function I(ye){return t(ye)==="[object Set]"}I.working=typeof Set<"u"&&I(new Set);function C(ye){return typeof Set>"u"?!1:I.working?I(ye):ye instanceof Set}j.isSet=C;function F(ye){return t(ye)==="[object WeakMap]"}F.working=typeof WeakMap<"u"&&F(new WeakMap);function R(ye){return typeof WeakMap>"u"?!1:F.working?F(ye):ye instanceof WeakMap}j.isWeakMap=R;function z(ye){return t(ye)==="[object WeakSet]"}z.working=typeof WeakSet<"u"&&z(new WeakSet);function D(ye){return z(ye)}j.isWeakSet=D;function k(ye){return t(ye)==="[object ArrayBuffer]"}k.working=typeof ArrayBuffer<"u"&&k(new ArrayBuffer);function B(ye){return typeof ArrayBuffer>"u"?!1:k.working?k(ye):ye instanceof ArrayBuffer}j.isArrayBuffer=B;function O(ye){return t(ye)==="[object DataView]"}O.working=typeof ArrayBuffer<"u"&&typeof DataView<"u"&&O(new DataView(new ArrayBuffer(1),0,1));function q(ye){return typeof DataView>"u"?!1:O.working?O(ye):ye instanceof DataView}j.isDataView=q;var Y=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:void 0;function ee(ye){return t(ye)==="[object SharedArrayBuffer]"}function te(ye){return typeof Y>"u"?!1:(typeof ee.working>"u"&&(ee.working=ee(new Y)),ee.working?ee(ye):ye instanceof Y)}j.isSharedArrayBuffer=te;function ae(ye){return t(ye)==="[object AsyncFunction]"}j.isAsyncFunction=ae;function U(ye){return t(ye)==="[object Map Iterator]"}j.isMapIterator=U;function H(ye){return t(ye)==="[object Set Iterator]"}j.isSetIterator=H;function K(ye){return t(ye)==="[object Generator]"}j.isGeneratorObject=K;function V(ye){return t(ye)==="[object WebAssembly.Module]"}j.isWebAssemblyCompiledModule=V;function $(ye){return c(ye,a)}j.isNumberObject=$;function X(ye){return c(ye,r)}j.isStringObject=X;function Z(ye){return c(ye,n)}j.isBooleanObject=Z;function Q(ye){return l&&c(ye,i)}j.isBigIntObject=Q;function re(ye){return e&&c(ye,s)}j.isSymbolObject=re;function ce(ye){return $(ye)||X(ye)||Z(ye)||Q(ye)||re(ye)}j.isBoxedPrimitive=ce;function me(ye){return typeof Uint8Array<"u"&&(B(ye)||te(ye))}j.isAnyArrayBuffer=me,["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(ye){Object.defineProperty(j,ye,{enumerable:!1,value:function(){throw new Error(ye+" is not supported in userland")}})})}}),T5=De({"node_modules/util/support/isBufferBrowser.js"(j,N){N.exports=function(v){return v&&typeof v=="object"&&typeof v.copy=="function"&&typeof v.fill=="function"&&typeof v.readUInt8=="function"}}}),M5=De({"(disabled):node_modules/util/util.js"(j){var N=Object.getOwnPropertyDescriptors||function(q){for(var Y=Object.keys(q),ee={},te=0;te=te)return H;switch(H){case"%s":return String(ee[Y++]);case"%d":return Number(ee[Y++]);case"%j":try{return JSON.stringify(ee[Y++])}catch{return"[Circular]"}default:return H}}),U=ee[Y];Y"u")return function(){return j.deprecate(O,q).apply(this,arguments)};var Y=!1;function ee(){if(!Y){if(process.throwDeprecation)throw new Error(q);process.traceDeprecation?console.trace(q):console.error(q),Y=!0}return O.apply(this,arguments)}return ee};var v={},w=/^$/;S="false",S=S.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),w=new RegExp("^"+S+"$","i");var S;j.debuglog=function(O){if(O=O.toUpperCase(),!v[O])if(w.test(O)){var q=process.pid;v[O]=function(){var Y=j.format.apply(j,arguments);console.error("%s %d: %s",O,q,Y)}}else v[O]=function(){};return v[O]};function l(O,q){var Y={seen:[],stylize:t};return arguments.length>=3&&(Y.depth=arguments[2]),arguments.length>=4&&(Y.colors=arguments[3]),d(q)?Y.showHidden=q:q&&j._extend(Y,q),E(Y.showHidden)&&(Y.showHidden=!1),E(Y.depth)&&(Y.depth=2),E(Y.colors)&&(Y.colors=!1),E(Y.customInspect)&&(Y.customInspect=!0),Y.colors&&(Y.stylize=e),r(Y,O,Y.depth)}j.inspect=l,l.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]},l.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function e(O,q){var Y=l.styles[q];return Y?"\x1B["+l.colors[Y][0]+"m"+O+"\x1B["+l.colors[Y][1]+"m":O}function t(O,q){return O}function a(O){var q={};return O.forEach(function(Y,ee){q[Y]=!0}),q}function r(O,q,Y){if(O.customInspect&&q&&b(q.inspect)&&q.inspect!==j.inspect&&!(q.constructor&&q.constructor.prototype===q)){var ee=q.inspect(Y,O);return M(ee)||(ee=r(O,ee,Y)),ee}var te=n(O,q);if(te)return te;var ae=Object.keys(q),U=a(ae);if(O.showHidden&&(ae=Object.getOwnPropertyNames(q)),h(q)&&(ae.indexOf("message")>=0||ae.indexOf("description")>=0))return i(q);if(ae.length===0){if(b(q)){var H=q.name?": "+q.name:"";return O.stylize("[Function"+H+"]","special")}if(g(q))return O.stylize(RegExp.prototype.toString.call(q),"regexp");if(m(q))return O.stylize(Date.prototype.toString.call(q),"date");if(h(q))return i(q)}var K="",V=!1,$=["{","}"];if(f(q)&&(V=!0,$=["[","]"]),b(q)){var X=q.name?": "+q.name:"";K=" [Function"+X+"]"}if(g(q)&&(K=" "+RegExp.prototype.toString.call(q)),m(q)&&(K=" "+Date.prototype.toUTCString.call(q)),h(q)&&(K=" "+i(q)),ae.length===0&&(!V||q.length==0))return $[0]+K+$[1];if(Y<0)return g(q)?O.stylize(RegExp.prototype.toString.call(q),"regexp"):O.stylize("[Object]","special");O.seen.push(q);var Z;return V?Z=s(O,q,Y,U,ae):Z=ae.map(function(Q){return c(O,q,Y,U,Q,V)}),O.seen.pop(),p(Z,K,$)}function n(O,q){if(E(q))return O.stylize("undefined","undefined");if(M(q)){var Y="'"+JSON.stringify(q).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return O.stylize(Y,"string")}if(x(q))return O.stylize(""+q,"number");if(d(q))return O.stylize(""+q,"boolean");if(y(q))return O.stylize("null","null")}function i(O){return"["+Error.prototype.toString.call(O)+"]"}function s(O,q,Y,ee,te){for(var ae=[],U=0,H=q.length;U-1&&(ae?H=H.split(` +`).map(function(V){return" "+V}).join(` +`).slice(2):H=` +`+H.split(` +`).map(function(V){return" "+V}).join(` +`))):H=O.stylize("[Circular]","special")),E(U)){if(ae&&te.match(/^\d+$/))return H;U=JSON.stringify(""+te),U.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(U=U.slice(1,-1),U=O.stylize(U,"name")):(U=U.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),U=O.stylize(U,"string"))}return U+": "+H}function p(O,q,Y){var ee=0,te=O.reduce(function(ae,U){return ee++,U.indexOf(` +`)>=0&&ee++,ae+U.replace(/\u001b\[\d\d?m/g,"").length+1},0);return te>60?Y[0]+(q===""?"":q+` + `)+" "+O.join(`, + `)+" "+Y[1]:Y[0]+q+" "+O.join(", ")+" "+Y[1]}j.types=A5();function f(O){return Array.isArray(O)}j.isArray=f;function d(O){return typeof O=="boolean"}j.isBoolean=d;function y(O){return O===null}j.isNull=y;function o(O){return O==null}j.isNullOrUndefined=o;function x(O){return typeof O=="number"}j.isNumber=x;function M(O){return typeof O=="string"}j.isString=M;function T(O){return typeof O=="symbol"}j.isSymbol=T;function E(O){return O===void 0}j.isUndefined=E;function g(O){return A(O)&&I(O)==="[object RegExp]"}j.isRegExp=g,j.types.isRegExp=g;function A(O){return typeof O=="object"&&O!==null}j.isObject=A;function m(O){return A(O)&&I(O)==="[object Date]"}j.isDate=m,j.types.isDate=m;function h(O){return A(O)&&(I(O)==="[object Error]"||O instanceof Error)}j.isError=h,j.types.isNativeError=h;function b(O){return typeof O=="function"}j.isFunction=b;function _(O){return O===null||typeof O=="boolean"||typeof O=="number"||typeof O=="string"||typeof O=="symbol"||typeof O>"u"}j.isPrimitive=_,j.isBuffer=T5();function I(O){return Object.prototype.toString.call(O)}function C(O){return O<10?"0"+O.toString(10):O.toString(10)}var F=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function R(){var O=new Date,q=[C(O.getHours()),C(O.getMinutes()),C(O.getSeconds())].join(":");return[O.getDate(),F[O.getMonth()],q].join(" ")}j.log=function(){console.log("%s - %s",R(),j.format.apply(j,arguments))},j.inherits=Kd(),j._extend=function(O,q){if(!q||!A(q))return O;for(var Y=Object.keys(q),ee=Y.length;ee--;)O[Y[ee]]=q[Y[ee]];return O};function z(O,q){return Object.prototype.hasOwnProperty.call(O,q)}var D=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;j.promisify=function(q){if(typeof q!="function")throw new TypeError('The "original" argument must be of type Function');if(D&&q[D]){var Y=q[D];if(typeof Y!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(Y,D,{value:Y,enumerable:!1,writable:!1,configurable:!0}),Y}function Y(){for(var ee,te,ae=new Promise(function(K,V){ee=K,te=V}),U=[],H=0;H0?this.tail.next=d:this.head=d,this.tail=d,++this.length}},{key:"unshift",value:function(f){var d={data:f,next:this.head};this.length===0&&(this.tail=d),this.head=d,++this.length}},{key:"shift",value:function(){if(this.length!==0){var f=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,f}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(f){if(this.length===0)return"";for(var d=this.head,y=""+d.data;d=d.next;)y+=f+d.data;return y}},{key:"concat",value:function(f){if(this.length===0)return a.alloc(0);for(var d=a.allocUnsafe(f>>>0),y=this.head,o=0;y;)s(y.data,d,o),o+=y.data.length,y=y.next;return d}},{key:"consume",value:function(f,d){var y;return fx.length?x.length:f;if(M===x.length?o+=x:o+=x.slice(0,f),f-=M,f===0){M===x.length?(++y,d.next?this.head=d.next:this.head=this.tail=null):(this.head=d,d.data=x.slice(M));break}++y}return this.length-=y,o}},{key:"_getBuffer",value:function(f){var d=a.allocUnsafe(f),y=this.head,o=1;for(y.data.copy(d),f-=y.data.length;y=y.next;){var x=y.data,M=f>x.length?x.length:f;if(x.copy(d,d.length-f,0,M),f-=M,f===0){M===x.length?(++o,y.next?this.head=y.next:this.head=this.tail=null):(this.head=y,y.data=x.slice(M));break}++o}return this.length-=o,d}},{key:i,value:function(f,d){return n(this,v({},d,{depth:0,customInspect:!1}))}}]),c}()}}),S5=De({"node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/destroy.js"(j,N){"use strict";function u(t,a){var r=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(a?a(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(l,this,t)):process.nextTick(l,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(s){!a&&s?r._writableState?r._writableState.errorEmitted?process.nextTick(w,r):(r._writableState.errorEmitted=!0,process.nextTick(v,r,s)):process.nextTick(v,r,s):a?(process.nextTick(w,r),a(s)):process.nextTick(w,r)}),this)}function v(t,a){l(t,a),w(t)}function w(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function S(){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 l(t,a){t.emit("error",a)}function e(t,a){var r=t._readableState,n=t._writableState;r&&r.autoDestroy||n&&n.autoDestroy?t.destroy(a):t.emit("error",a)}N.exports={destroy:u,undestroy:S,errorOrDestroy:e}}}),zp=De({"node_modules/stream-browserify/node_modules/readable-stream/errors-browser.js"(j,N){"use strict";function u(a,r){a.prototype=Object.create(r.prototype),a.prototype.constructor=a,a.__proto__=r}var v={};function w(a,r,n){n||(n=Error);function i(c,p,f){return typeof r=="string"?r:r(c,p,f)}var s=function(c){u(p,c);function p(f,d,y){return c.call(this,i(f,d,y))||this}return p}(n);s.prototype.name=n.name,s.prototype.code=a,v[a]=s}function S(a,r){if(Array.isArray(a)){var n=a.length;return a=a.map(function(i){return String(i)}),n>2?"one of ".concat(r," ").concat(a.slice(0,n-1).join(", "),", or ")+a[n-1]:n===2?"one of ".concat(r," ").concat(a[0]," or ").concat(a[1]):"of ".concat(r," ").concat(a[0])}else return"of ".concat(r," ").concat(String(a))}function l(a,r,n){return a.substr(!n||n<0?0:+n,r.length)===r}function e(a,r,n){return(n===void 0||n>a.length)&&(n=a.length),a.substring(n-r.length,n)===r}function t(a,r,n){return typeof n!="number"&&(n=0),n+r.length>a.length?!1:a.indexOf(r,n)!==-1}w("ERR_INVALID_OPT_VALUE",function(a,r){return'The value "'+r+'" is invalid for option "'+a+'"'},TypeError),w("ERR_INVALID_ARG_TYPE",function(a,r,n){var i;typeof r=="string"&&l(r,"not ")?(i="must not be",r=r.replace(/^not /,"")):i="must be";var s;if(e(a," argument"))s="The ".concat(a," ").concat(i," ").concat(S(r,"type"));else{var c=t(a,".")?"property":"argument";s='The "'.concat(a,'" ').concat(c," ").concat(i," ").concat(S(r,"type"))}return s+=". Received type ".concat(typeof n),s},TypeError),w("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),w("ERR_METHOD_NOT_IMPLEMENTED",function(a){return"The "+a+" method is not implemented"}),w("ERR_STREAM_PREMATURE_CLOSE","Premature close"),w("ERR_STREAM_DESTROYED",function(a){return"Cannot call "+a+" after a stream was destroyed"}),w("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),w("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),w("ERR_STREAM_WRITE_AFTER_END","write after end"),w("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),w("ERR_UNKNOWN_ENCODING",function(a){return"Unknown encoding: "+a},TypeError),w("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),N.exports.codes=v}}),E5=De({"node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/state.js"(j,N){"use strict";var u=zp().codes.ERR_INVALID_OPT_VALUE;function v(S,l,e){return S.highWaterMark!=null?S.highWaterMark:l?S[e]:null}function w(S,l,e,t){var a=v(l,t,e);if(a!=null){if(!(isFinite(a)&&Math.floor(a)===a)||a<0){var r=t?e:"highWaterMark";throw new u(r,a)}return Math.floor(a)}return S.objectMode?16:16*1024}N.exports={getHighWaterMark:w}}}),TF=De({"node_modules/util-deprecate/browser.js"(j,N){N.exports=u;function u(w,S){if(v("noDeprecation"))return w;var l=!1;function e(){if(!l){if(v("throwDeprecation"))throw new Error(S);v("traceDeprecation")?console.trace(S):console.warn(S),l=!0}return w.apply(this,arguments)}return e}function v(w){try{if(!window.localStorage)return!1}catch{return!1}var S=window.localStorage[w];return S==null?!1:String(S).toLowerCase()==="true"}}}),k5=De({"node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_writable.js"(j,N){"use strict";N.exports=m;function u(U){var H=this;this.next=null,this.entry=null,this.finish=function(){ae(H,U)}}var v;m.WritableState=g;var w={deprecate:TF()},S=v5(),l=Dp().Buffer,e=window.Uint8Array||function(){};function t(U){return l.from(U)}function a(U){return l.isBuffer(U)||U instanceof e}var r=S5(),n=E5(),i=n.getHighWaterMark,s=zp().codes,c=s.ERR_INVALID_ARG_TYPE,p=s.ERR_METHOD_NOT_IMPLEMENTED,f=s.ERR_MULTIPLE_CALLBACK,d=s.ERR_STREAM_CANNOT_PIPE,y=s.ERR_STREAM_DESTROYED,o=s.ERR_STREAM_NULL_VALUES,x=s.ERR_STREAM_WRITE_AFTER_END,M=s.ERR_UNKNOWN_ENCODING,T=r.errorOrDestroy;Kd()(m,S);function E(){}function g(U,H,K){v=v||Bp(),U=U||{},typeof K!="boolean"&&(K=H instanceof v),this.objectMode=!!U.objectMode,K&&(this.objectMode=this.objectMode||!!U.writableObjectMode),this.highWaterMark=i(this,U,"writableHighWaterMark",K),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var V=U.decodeStrings===!1;this.decodeStrings=!V,this.defaultEncoding=U.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function($){z(H,$)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=U.emitClose!==!1,this.autoDestroy=!!U.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new u(this)}g.prototype.getBuffer=function(){for(var H=this.bufferedRequest,K=[];H;)K.push(H),H=H.next;return K},function(){try{Object.defineProperty(g.prototype,"buffer",{get:w.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}();var A;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(A=Function.prototype[Symbol.hasInstance],Object.defineProperty(m,Symbol.hasInstance,{value:function(H){return A.call(this,H)?!0:this!==m?!1:H&&H._writableState instanceof g}})):A=function(H){return H instanceof this};function m(U){v=v||Bp();var H=this instanceof v;if(!H&&!A.call(m,this))return new m(U);this._writableState=new g(U,this,H),this.writable=!0,U&&(typeof U.write=="function"&&(this._write=U.write),typeof U.writev=="function"&&(this._writev=U.writev),typeof U.destroy=="function"&&(this._destroy=U.destroy),typeof U.final=="function"&&(this._final=U.final)),S.call(this)}m.prototype.pipe=function(){T(this,new d)};function h(U,H){var K=new x;T(U,K),process.nextTick(H,K)}function b(U,H,K,V){var $;return K===null?$=new o:typeof K!="string"&&!H.objectMode&&($=new c("chunk",["string","Buffer"],K)),$?(T(U,$),process.nextTick(V,$),!1):!0}m.prototype.write=function(U,H,K){var V=this._writableState,$=!1,X=!V.objectMode&&a(U);return X&&!l.isBuffer(U)&&(U=t(U)),typeof H=="function"&&(K=H,H=null),X?H="buffer":H||(H=V.defaultEncoding),typeof K!="function"&&(K=E),V.ending?h(this,K):(X||b(this,V,U,K))&&(V.pendingcb++,$=I(this,V,X,U,H,K)),$},m.prototype.cork=function(){this._writableState.corked++},m.prototype.uncork=function(){var U=this._writableState;U.corked&&(U.corked--,!U.writing&&!U.corked&&!U.bufferProcessing&&U.bufferedRequest&&B(this,U))},m.prototype.setDefaultEncoding=function(H){if(typeof H=="string"&&(H=H.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((H+"").toLowerCase())>-1))throw new M(H);return this._writableState.defaultEncoding=H,this},Object.defineProperty(m.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function _(U,H,K){return!U.objectMode&&U.decodeStrings!==!1&&typeof H=="string"&&(H=l.from(H,K)),H}Object.defineProperty(m.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function I(U,H,K,V,$,X){if(!K){var Z=_(H,V,$);V!==Z&&(K=!0,$="buffer",V=Z)}var Q=H.objectMode?1:V.length;H.length+=Q;var re=H.length>5===6?2:y>>4===14?3:y>>3===30?4:y>>6===2?-1:-2}function e(y,o,x){var M=o.length-1;if(M=0?(T>0&&(y.lastNeed=T-1),T):--M=0?(T>0&&(y.lastNeed=T-2),T):--M=0?(T>0&&(T===2?T=0:y.lastNeed=T-3),T):0))}function t(y,o,x){if((o[0]&192)!==128)return y.lastNeed=0,"\uFFFD";if(y.lastNeed>1&&o.length>1){if((o[1]&192)!==128)return y.lastNeed=1,"\uFFFD";if(y.lastNeed>2&&o.length>2&&(o[2]&192)!==128)return y.lastNeed=2,"\uFFFD"}}function a(y){var o=this.lastTotal-this.lastNeed,x=t(this,y,o);if(x!==void 0)return x;if(this.lastNeed<=y.length)return y.copy(this.lastChar,o,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);y.copy(this.lastChar,o,0,y.length),this.lastNeed-=y.length}function r(y,o){var x=e(this,y,o);if(!this.lastNeed)return y.toString("utf8",o);this.lastTotal=x;var M=y.length-(x-this.lastNeed);return y.copy(this.lastChar,0,M),y.toString("utf8",o,M)}function n(y){var o=y&&y.length?this.write(y):"";return this.lastNeed?o+"\uFFFD":o}function i(y,o){if((y.length-o)%2===0){var x=y.toString("utf16le",o);if(x){var M=x.charCodeAt(x.length-1);if(M>=55296&&M<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=y[y.length-2],this.lastChar[1]=y[y.length-1],x.slice(0,-1)}return x}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=y[y.length-1],y.toString("utf16le",o,y.length-1)}function s(y){var o=y&&y.length?this.write(y):"";if(this.lastNeed){var x=this.lastTotal-this.lastNeed;return o+this.lastChar.toString("utf16le",0,x)}return o}function c(y,o){var x=(y.length-o)%3;return x===0?y.toString("base64",o):(this.lastNeed=3-x,this.lastTotal=3,x===1?this.lastChar[0]=y[y.length-1]:(this.lastChar[0]=y[y.length-2],this.lastChar[1]=y[y.length-1]),y.toString("base64",o,y.length-x))}function p(y){var o=y&&y.length?this.write(y):"";return this.lastNeed?o+this.lastChar.toString("base64",0,3-this.lastNeed):o}function f(y){return y.toString(this.encoding)}function d(y){return y&&y.length?this.write(y):""}}}),Yx=De({"node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(j,N){"use strict";var u=zp().codes.ERR_STREAM_PREMATURE_CLOSE;function v(e){var t=!1;return function(){if(!t){t=!0;for(var a=arguments.length,r=new Array(a),n=0;n0)if(typeof Q!="string"&&!ye.objectMode&&Object.getPrototypeOf(Q)!==l.prototype&&(Q=t(Q)),ce)ye.endEmitted?g(Z,new x):I(Z,ye,Q,!0);else if(ye.ended)g(Z,new y);else{if(ye.destroyed)return!1;ye.reading=!1,ye.decoder&&!re?(Q=ye.decoder.write(Q),ye.objectMode||Q.length!==0?I(Z,ye,Q,!1):O(Z,ye)):I(Z,ye,Q,!1)}else ce||(ye.reading=!1,O(Z,ye))}return!ye.ended&&(ye.length=F?Z=F:(Z--,Z|=Z>>>1,Z|=Z>>>2,Z|=Z>>>4,Z|=Z>>>8,Z|=Z>>>16,Z++),Z}function z(Z,Q){return Z<=0||Q.length===0&&Q.ended?0:Q.objectMode?1:Z!==Z?Q.flowing&&Q.length?Q.buffer.head.data.length:Q.length:(Z>Q.highWaterMark&&(Q.highWaterMark=R(Z)),Z<=Q.length?Z:Q.ended?Q.length:(Q.needReadable=!0,0))}b.prototype.read=function(Z){n("read",Z),Z=parseInt(Z,10);var Q=this._readableState,re=Z;if(Z!==0&&(Q.emittedReadable=!1),Z===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?V(this):k(this),null;if(Z=z(Z,Q),Z===0&&Q.ended)return Q.length===0&&V(this),null;var ce=Q.needReadable;n("need readable",ce),(Q.length===0||Q.length-Z0?me=K(Z,Q):me=null,me===null?(Q.needReadable=Q.length<=Q.highWaterMark,Z=0):(Q.length-=Z,Q.awaitDrain=0),Q.length===0&&(Q.ended||(Q.needReadable=!0),re!==Z&&Q.ended&&V(this)),me!==null&&this.emit("data",me),me};function D(Z,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?k(Z):(Q.needReadable=!1,Q.emittedReadable||(Q.emittedReadable=!0,B(Z)))}}function k(Z){var Q=Z._readableState;n("emitReadable",Q.needReadable,Q.emittedReadable),Q.needReadable=!1,Q.emittedReadable||(n("emitReadable",Q.flowing),Q.emittedReadable=!0,process.nextTick(B,Z))}function B(Z){var Q=Z._readableState;n("emitReadable_",Q.destroyed,Q.length,Q.ended),!Q.destroyed&&(Q.length||Q.ended)&&(Z.emit("readable"),Q.emittedReadable=!1),Q.needReadable=!Q.flowing&&!Q.ended&&Q.length<=Q.highWaterMark,H(Z)}function O(Z,Q){Q.readingMore||(Q.readingMore=!0,process.nextTick(q,Z,Q))}function q(Z,Q){for(;!Q.reading&&!Q.ended&&(Q.length1&&X(ce.pipes,Z)!==-1)&&!qe&&(n("false write response, pause",ce.awaitDrain),ce.awaitDrain++),re.pause())}function he(be){n("onerror",be),ne(),Z.removeListener("error",he),w(Z,"error")===0&&g(Z,be)}m(Z,"error",he);function oe(){Z.removeListener("finish",le),ne()}Z.once("close",oe);function le(){n("onfinish"),Z.removeListener("close",oe),ne()}Z.once("finish",le);function ne(){n("unpipe"),re.unpipe(Z)}return Z.emit("pipe",re),ce.flowing||(n("pipe resume"),re.resume()),Z};function Y(Z){return function(){var re=Z._readableState;n("pipeOnDrain",re.awaitDrain),re.awaitDrain&&re.awaitDrain--,re.awaitDrain===0&&w(Z,"data")&&(re.flowing=!0,H(Z))}}b.prototype.unpipe=function(Z){var Q=this._readableState,re={hasUnpiped:!1};if(Q.pipesCount===0)return this;if(Q.pipesCount===1)return Z&&Z!==Q.pipes?this:(Z||(Z=Q.pipes),Q.pipes=null,Q.pipesCount=0,Q.flowing=!1,Z&&Z.emit("unpipe",this,re),this);if(!Z){var ce=Q.pipes,me=Q.pipesCount;Q.pipes=null,Q.pipesCount=0,Q.flowing=!1;for(var ye=0;ye0,ce.flowing!==!1&&this.resume()):Z==="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?k(this):ce.reading||process.nextTick(te,this)),re},b.prototype.addListener=b.prototype.on,b.prototype.removeListener=function(Z,Q){var re=S.prototype.removeListener.call(this,Z,Q);return Z==="readable"&&process.nextTick(ee,this),re},b.prototype.removeAllListeners=function(Z){var Q=S.prototype.removeAllListeners.apply(this,arguments);return(Z==="readable"||Z===void 0)&&process.nextTick(ee,this),Q};function ee(Z){var Q=Z._readableState;Q.readableListening=Z.listenerCount("readable")>0,Q.resumeScheduled&&!Q.paused?Q.flowing=!0:Z.listenerCount("data")>0&&Z.resume()}function te(Z){n("readable nexttick read 0"),Z.read(0)}b.prototype.resume=function(){var Z=this._readableState;return Z.flowing||(n("resume"),Z.flowing=!Z.readableListening,ae(this,Z)),Z.paused=!1,this};function ae(Z,Q){Q.resumeScheduled||(Q.resumeScheduled=!0,process.nextTick(U,Z,Q))}function U(Z,Q){n("resume",Q.reading),Q.reading||Z.read(0),Q.resumeScheduled=!1,Z.emit("resume"),H(Z),Q.flowing&&!Q.reading&&Z.read(0)}b.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 H(Z){var Q=Z._readableState;for(n("flow",Q.flowing);Q.flowing&&Z.read()!==null;);}b.prototype.wrap=function(Z){var Q=this,re=this._readableState,ce=!1;Z.on("end",function(){if(n("wrapped end"),re.decoder&&!re.ended){var Ae=re.decoder.end();Ae&&Ae.length&&Q.push(Ae)}Q.push(null)}),Z.on("data",function(Ae){if(n("wrapped data"),re.decoder&&(Ae=re.decoder.write(Ae)),!(re.objectMode&&Ae==null)&&!(!re.objectMode&&(!Ae||!Ae.length))){var Se=Q.push(Ae);Se||(ce=!0,Z.pause())}});for(var me in Z)this[me]===void 0&&typeof Z[me]=="function"&&(this[me]=function(Se){return function(){return Z[Se].apply(Z,arguments)}}(me));for(var ye=0;ye=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(Z,Q.decoder),re}function V(Z){var Q=Z._readableState;n("endReadable",Q.endEmitted),Q.endEmitted||(Q.ended=!0,process.nextTick($,Q,Z))}function $(Z,Q){if(n("endReadableNT",Z.endEmitted,Z.length),!Z.endEmitted&&Z.length===0&&(Z.endEmitted=!0,Q.readable=!1,Q.emit("end"),Z.autoDestroy)){var re=Q._writableState;(!re||re.autoDestroy&&re.finished)&&Q.destroy()}}typeof Symbol=="function"&&(b.from=function(Z,Q){return E===void 0&&(E=EF()),E(b,Z,Q)});function X(Z,Q){for(var re=0,ce=Z.length;re0;return a(x,T,E,function(g){y||(y=g),g&&o.forEach(r),!T&&(o.forEach(r),d(y))})});return p.reduce(n)}N.exports=s}}),LF=De({"node_modules/stream-browserify/index.js"(j,N){N.exports=w;var u=Tp().EventEmitter,v=Kd();v(w,u),w.Readable=L5(),w.Writable=k5(),w.Duplex=Bp(),w.Transform=P5(),w.PassThrough=kF(),w.finished=Yx(),w.pipeline=CF(),w.Stream=w;function w(){u.call(this)}w.prototype.pipe=function(S,l){var e=this;function t(p){S.writable&&S.write(p)===!1&&e.pause&&e.pause()}e.on("data",t);function a(){e.readable&&e.resume&&e.resume()}S.on("drain",a),!S._isStdio&&(!l||l.end!==!1)&&(e.on("end",n),e.on("close",i));var r=!1;function n(){r||(r=!0,S.end())}function i(){r||(r=!0,typeof S.destroy=="function"&&S.destroy())}function s(p){if(c(),u.listenerCount(this,"error")===0)throw p}e.on("error",s),S.on("error",s);function c(){e.removeListener("data",t),S.removeListener("drain",a),e.removeListener("end",n),e.removeListener("close",i),e.removeListener("error",s),S.removeListener("error",s),e.removeListener("end",c),e.removeListener("close",c),S.removeListener("close",c)}return e.on("end",c),e.on("close",c),S.on("close",c),S.emit("pipe",e),S}}}),km=De({"node_modules/util/util.js"(j){var N=Object.getOwnPropertyDescriptors||function(q){for(var Y=Object.keys(q),ee={},te=0;te=te)return H;switch(H){case"%s":return String(ee[Y++]);case"%d":return Number(ee[Y++]);case"%j":try{return JSON.stringify(ee[Y++])}catch{return"[Circular]"}default:return H}}),U=ee[Y];Y"u")return function(){return j.deprecate(O,q).apply(this,arguments)};var Y=!1;function ee(){if(!Y){if(process.throwDeprecation)throw new Error(q);process.traceDeprecation?console.trace(q):console.error(q),Y=!0}return O.apply(this,arguments)}return ee};var v={},w=/^$/;S="false",S=S.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),w=new RegExp("^"+S+"$","i");var S;j.debuglog=function(O){if(O=O.toUpperCase(),!v[O])if(w.test(O)){var q=process.pid;v[O]=function(){var Y=j.format.apply(j,arguments);console.error("%s %d: %s",O,q,Y)}}else v[O]=function(){};return v[O]};function l(O,q){var Y={seen:[],stylize:t};return arguments.length>=3&&(Y.depth=arguments[2]),arguments.length>=4&&(Y.colors=arguments[3]),d(q)?Y.showHidden=q:q&&j._extend(Y,q),E(Y.showHidden)&&(Y.showHidden=!1),E(Y.depth)&&(Y.depth=2),E(Y.colors)&&(Y.colors=!1),E(Y.customInspect)&&(Y.customInspect=!0),Y.colors&&(Y.stylize=e),r(Y,O,Y.depth)}j.inspect=l,l.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]},l.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function e(O,q){var Y=l.styles[q];return Y?"\x1B["+l.colors[Y][0]+"m"+O+"\x1B["+l.colors[Y][1]+"m":O}function t(O,q){return O}function a(O){var q={};return O.forEach(function(Y,ee){q[Y]=!0}),q}function r(O,q,Y){if(O.customInspect&&q&&b(q.inspect)&&q.inspect!==j.inspect&&!(q.constructor&&q.constructor.prototype===q)){var ee=q.inspect(Y,O);return M(ee)||(ee=r(O,ee,Y)),ee}var te=n(O,q);if(te)return te;var ae=Object.keys(q),U=a(ae);if(O.showHidden&&(ae=Object.getOwnPropertyNames(q)),h(q)&&(ae.indexOf("message")>=0||ae.indexOf("description")>=0))return i(q);if(ae.length===0){if(b(q)){var H=q.name?": "+q.name:"";return O.stylize("[Function"+H+"]","special")}if(g(q))return O.stylize(RegExp.prototype.toString.call(q),"regexp");if(m(q))return O.stylize(Date.prototype.toString.call(q),"date");if(h(q))return i(q)}var K="",V=!1,$=["{","}"];if(f(q)&&(V=!0,$=["[","]"]),b(q)){var X=q.name?": "+q.name:"";K=" [Function"+X+"]"}if(g(q)&&(K=" "+RegExp.prototype.toString.call(q)),m(q)&&(K=" "+Date.prototype.toUTCString.call(q)),h(q)&&(K=" "+i(q)),ae.length===0&&(!V||q.length==0))return $[0]+K+$[1];if(Y<0)return g(q)?O.stylize(RegExp.prototype.toString.call(q),"regexp"):O.stylize("[Object]","special");O.seen.push(q);var Z;return V?Z=s(O,q,Y,U,ae):Z=ae.map(function(Q){return c(O,q,Y,U,Q,V)}),O.seen.pop(),p(Z,K,$)}function n(O,q){if(E(q))return O.stylize("undefined","undefined");if(M(q)){var Y="'"+JSON.stringify(q).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return O.stylize(Y,"string")}if(x(q))return O.stylize(""+q,"number");if(d(q))return O.stylize(""+q,"boolean");if(y(q))return O.stylize("null","null")}function i(O){return"["+Error.prototype.toString.call(O)+"]"}function s(O,q,Y,ee,te){for(var ae=[],U=0,H=q.length;U-1&&(ae?H=H.split(` +`).map(function(V){return" "+V}).join(` +`).slice(2):H=` +`+H.split(` +`).map(function(V){return" "+V}).join(` +`))):H=O.stylize("[Circular]","special")),E(U)){if(ae&&te.match(/^\d+$/))return H;U=JSON.stringify(""+te),U.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(U=U.slice(1,-1),U=O.stylize(U,"name")):(U=U.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),U=O.stylize(U,"string"))}return U+": "+H}function p(O,q,Y){var ee=0,te=O.reduce(function(ae,U){return ee++,U.indexOf(` +`)>=0&&ee++,ae+U.replace(/\u001b\[\d\d?m/g,"").length+1},0);return te>60?Y[0]+(q===""?"":q+` + `)+" "+O.join(`, + `)+" "+Y[1]:Y[0]+q+" "+O.join(", ")+" "+Y[1]}j.types=A5();function f(O){return Array.isArray(O)}j.isArray=f;function d(O){return typeof O=="boolean"}j.isBoolean=d;function y(O){return O===null}j.isNull=y;function o(O){return O==null}j.isNullOrUndefined=o;function x(O){return typeof O=="number"}j.isNumber=x;function M(O){return typeof O=="string"}j.isString=M;function T(O){return typeof O=="symbol"}j.isSymbol=T;function E(O){return O===void 0}j.isUndefined=E;function g(O){return A(O)&&I(O)==="[object RegExp]"}j.isRegExp=g,j.types.isRegExp=g;function A(O){return typeof O=="object"&&O!==null}j.isObject=A;function m(O){return A(O)&&I(O)==="[object Date]"}j.isDate=m,j.types.isDate=m;function h(O){return A(O)&&(I(O)==="[object Error]"||O instanceof Error)}j.isError=h,j.types.isNativeError=h;function b(O){return typeof O=="function"}j.isFunction=b;function _(O){return O===null||typeof O=="boolean"||typeof O=="number"||typeof O=="string"||typeof O=="symbol"||typeof O>"u"}j.isPrimitive=_,j.isBuffer=T5();function I(O){return Object.prototype.toString.call(O)}function C(O){return O<10?"0"+O.toString(10):O.toString(10)}var F=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function R(){var O=new Date,q=[C(O.getHours()),C(O.getMinutes()),C(O.getSeconds())].join(":");return[O.getDate(),F[O.getMonth()],q].join(" ")}j.log=function(){console.log("%s - %s",R(),j.format.apply(j,arguments))},j.inherits=Kd(),j._extend=function(O,q){if(!q||!A(q))return O;for(var Y=Object.keys(q),ee=Y.length;ee--;)O[Y[ee]]=q[Y[ee]];return O};function z(O,q){return Object.prototype.hasOwnProperty.call(O,q)}var D=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;j.promisify=function(q){if(typeof q!="function")throw new TypeError('The "original" argument must be of type Function');if(D&&q[D]){var Y=q[D];if(typeof Y!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(Y,D,{value:Y,enumerable:!1,writable:!1,configurable:!0}),Y}function Y(){for(var ee,te,ae=new Promise(function(K,V){ee=K,te=V}),U=[],H=0;H"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(E){return c=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(A){return A.__proto__||Object.getPrototypeOf(A)},c(E)}var p={},f,d;function y(E,g,A){A||(A=Error);function m(b,_,I){return typeof g=="string"?g:g(b,_,I)}var h=function(b){t(I,b);var _=r(I);function I(C,F,R){var z;return e(this,I),z=_.call(this,m(C,F,R)),z.code=E,z}return w(I)}(A);p[E]=h}function o(E,g){if(Array.isArray(E)){var A=E.length;return E=E.map(function(m){return String(m)}),A>2?"one of ".concat(g," ").concat(E.slice(0,A-1).join(", "),", or ")+E[A-1]:A===2?"one of ".concat(g," ").concat(E[0]," or ").concat(E[1]):"of ".concat(g," ").concat(E[0])}else return"of ".concat(g," ").concat(String(E))}function x(E,g,A){return E.substr(!A||A<0?0:+A,g.length)===g}function M(E,g,A){return(A===void 0||A>E.length)&&(A=E.length),E.substring(A-g.length,A)===g}function T(E,g,A){return typeof A!="number"&&(A=0),A+g.length>E.length?!1:E.indexOf(g,A)!==-1}y("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),y("ERR_INVALID_ARG_TYPE",function(E,g,A){f===void 0&&(f=Y1()),f(typeof E=="string","'name' must be a string");var m;typeof g=="string"&&x(g,"not ")?(m="must not be",g=g.replace(/^not /,"")):m="must be";var h;if(M(E," argument"))h="The ".concat(E," ").concat(m," ").concat(o(g,"type"));else{var b=T(E,".")?"property":"argument";h='The "'.concat(E,'" ').concat(b," ").concat(m," ").concat(o(g,"type"))}return h+=". Received type ".concat(u(A)),h},TypeError),y("ERR_INVALID_ARG_VALUE",function(E,g){var A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"is invalid";d===void 0&&(d=km());var m=d.inspect(g);return m.length>128&&(m="".concat(m.slice(0,128),"...")),"The argument '".concat(E,"' ").concat(A,". Received ").concat(m)},TypeError,RangeError),y("ERR_INVALID_RETURN_VALUE",function(E,g,A){var m;return A&&A.constructor&&A.constructor.name?m="instance of ".concat(A.constructor.name):m="type ".concat(u(A)),"Expected ".concat(E,' to be returned from the "').concat(g,'"')+" function but got ".concat(m,".")},TypeError),y("ERR_MISSING_ARGS",function(){for(var E=arguments.length,g=new Array(E),A=0;A0,"At least one arg needs to be specified");var m="The ",h=g.length;switch(g=g.map(function(b){return'"'.concat(b,'"')}),h){case 1:m+="".concat(g[0]," argument");break;case 2:m+="".concat(g[0]," and ").concat(g[1]," arguments");break;default:m+=g.slice(0,h-1).join(", "),m+=", and ".concat(g[h-1]," arguments");break}return"".concat(m," must be specified")},TypeError),N.exports.codes=p}}),PF=De({"node_modules/assert/build/internal/assert/assertion_error.js"(j,N){"use strict";function u(B,O){var q=Object.keys(B);if(Object.getOwnPropertySymbols){var Y=Object.getOwnPropertySymbols(B);O&&(Y=Y.filter(function(ee){return Object.getOwnPropertyDescriptor(B,ee).enumerable})),q.push.apply(q,Y)}return q}function v(B){for(var O=1;O"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 d(B){return Function.toString.call(B).indexOf("[native code]")!==-1}function y(B,O){return y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(Y,ee){return Y.__proto__=ee,Y},y(B,O)}function o(B){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(q){return q.__proto__||Object.getPrototypeOf(q)},o(B)}function x(B){"@babel/helpers - typeof";return x=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(O){return typeof O}:function(O){return O&&typeof Symbol=="function"&&O.constructor===Symbol&&O!==Symbol.prototype?"symbol":typeof O},x(B)}var M=km(),T=M.inspect,E=R5(),g=E.codes.ERR_INVALID_ARG_TYPE;function A(B,O,q){return(q===void 0||q>B.length)&&(q=B.length),B.substring(q-O.length,q)===O}function m(B,O){if(O=Math.floor(O),B.length==0||O==0)return"";var q=B.length*O;for(O=Math.floor(Math.log(O)/Math.log(2));O;)B+=B,O--;return B+=B.substring(0,q-B.length),B}var h="",b="",_="",I="",C={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:"},F=10;function R(B){var O=Object.keys(B),q=Object.create(Object.getPrototypeOf(B));return O.forEach(function(Y){q[Y]=B[Y]}),Object.defineProperty(q,"message",{value:B.message}),q}function z(B){return T(B,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function D(B,O,q){var Y="",ee="",te=0,ae="",U=!1,H=z(B),K=H.split(` +`),V=z(O).split(` +`),$=0,X="";if(q==="strictEqual"&&x(B)==="object"&&x(O)==="object"&&B!==null&&O!==null&&(q="strictEqualObject"),K.length===1&&V.length===1&&K[0]!==V[0]){var Z=K[0].length+V[0].length;if(Z<=F){if((x(B)!=="object"||B===null)&&(x(O)!=="object"||O===null)&&(B!==0||O!==0))return"".concat(C[q],` + +`)+"".concat(K[0]," !== ").concat(V[0],` +`)}else if(q!=="strictEqualObject"){var Q=process.stderr&&process.stderr.isTTY?process.stderr.columns:80;if(Z2&&(X=` + `.concat(m(" ",$),"^"),$=0)}}}for(var re=K[K.length-1],ce=V[V.length-1];re===ce&&($++<2?ae=` + `.concat(re).concat(ae):Y=re,K.pop(),V.pop(),!(K.length===0||V.length===0));)re=K[K.length-1],ce=V[V.length-1];var me=Math.max(K.length,V.length);if(me===0){var ye=H.split(` +`);if(ye.length>30)for(ye[26]="".concat(h,"...").concat(I);ye.length>27;)ye.pop();return"".concat(C.notIdentical,` + +`).concat(ye.join(` `),` -`)}oe>3&&(fe=` -`.concat(u,"...").concat(R).concat(fe),V=!0),$!==""&&(fe=` - `.concat($).concat(fe),$="");var De=0,ze=L[X]+` -`.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+=` -`.concat(u,"...").concat(R),V=!0):at>3&&(se+=` - `.concat(q[oe-2]),De++),se+=` - `.concat(q[oe-1]),De++),le=oe,$+=` -`.concat(f,"-").concat(R," ").concat(q[oe]),De++;else if(q.length1&&oe>2&&(at>4?(se+=` -`.concat(u,"...").concat(R),V=!0):at>3&&(se+=` - `.concat(ee[oe-2]),De++),se+=` - `.concat(ee[oe-1]),De++),le=oe,se+=` -`.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+=` -`.concat(u,"...").concat(R),V=!0):at>3&&(se+=` - `.concat(ee[oe-2]),De++),se+=` - `.concat(ee[oe-1]),De++),le=oe,se+=` -`.concat(y,"+").concat(R," ").concat(rt),$+=` -`.concat(f,"-").concat(R," ").concat(nt),De+=2):(se+=$,$="",(at===1||oe===0)&&(se+=` - `.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,` - -`).concat(j.join(` +`)}$>3&&(ae=` +`.concat(h,"...").concat(I).concat(ae),U=!0),Y!==""&&(ae=` + `.concat(Y).concat(ae),Y="");var Ae=0,Se=C[q]+` +`.concat(b,"+ actual").concat(I," ").concat(_,"- expected").concat(I),Ce=" ".concat(h,"...").concat(I," Lines skipped");for($=0;$1&&$>2&&(qe>4?(ee+=` +`.concat(h,"...").concat(I),U=!0):qe>3&&(ee+=` + `.concat(V[$-2]),Ae++),ee+=` + `.concat(V[$-1]),Ae++),te=$,Y+=` +`.concat(_,"-").concat(I," ").concat(V[$]),Ae++;else if(V.length<$+1)qe>1&&$>2&&(qe>4?(ee+=` +`.concat(h,"...").concat(I),U=!0):qe>3&&(ee+=` + `.concat(K[$-2]),Ae++),ee+=` + `.concat(K[$-1]),Ae++),te=$,ee+=` +`.concat(b,"+").concat(I," ").concat(K[$]),Ae++;else{var Ue=V[$],xe=K[$],he=xe!==Ue&&(!A(xe,",")||xe.slice(0,-1)!==Ue);he&&A(Ue,",")&&Ue.slice(0,-1)===xe&&(he=!1,xe+=","),he?(qe>1&&$>2&&(qe>4?(ee+=` +`.concat(h,"...").concat(I),U=!0):qe>3&&(ee+=` + `.concat(K[$-2]),Ae++),ee+=` + `.concat(K[$-1]),Ae++),te=$,ee+=` +`.concat(b,"+").concat(I," ").concat(xe),Y+=` +`.concat(_,"-").concat(I," ").concat(Ue),Ae+=2):(ee+=Y,Y="",(qe===1||$===0)&&(ee+=` + `.concat(xe),Ae++))}if(Ae>20&&$30)for(Z[26]="".concat(h,"...").concat(I);Z.length>27;)Z.pop();Z.length===1?te=q.call(this,"".concat(X," ").concat(Z[0])):te=q.call(this,"".concat(X,` + +`).concat(Z.join(` `),` -`))}else{var Q=N(ee),re="",ce=L[V];V==="notDeepEqual"||V==="notEqual"?(Q="".concat(L[V],` +`))}else{var Q=z(K),re="",ce=C[U];U==="notDeepEqual"||U==="notEqual"?(Q="".concat(C[U],` -`).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,` +`).concat(Q),Q.length>1024&&(Q="".concat(Q.slice(0,1021),"..."))):(re="".concat(z(V)),Q.length>512&&(Q="".concat(Q.slice(0,509),"...")),re.length>512&&(re="".concat(re.slice(0,509),"...")),U==="deepEqual"||U==="equal"?Q="".concat(ce,` `).concat(Q,` should equal -`):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;ae=0&&u.call(w.callee)==="[object Function]"),l}}}),RF=De({"node_modules/object-keys/implementation.js"(j,N){"use strict";var u;Object.keys||(v=Object.prototype.hasOwnProperty,w=Object.prototype.toString,S=I5(),l=Object.prototype.propertyIsEnumerable,e=!l.call({toString:null},"toString"),t=l.call(function(){},"prototype"),a=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],r=function(c){var p=c.constructor;return p&&p.prototype===c},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 c in window)try{if(!n["$"+c]&&v.call(window,c)&&window[c]!==null&&typeof window[c]=="object")try{r(window[c])}catch{return!0}}catch{return!0}return!1}(),s=function(c){if(typeof window>"u"||!i)return r(c);try{return r(c)}catch{return!1}},u=function(p){var f=p!==null&&typeof p=="object",d=w.call(p)==="[object Function]",y=S(p),o=f&&w.call(p)==="[object String]",x=[];if(!f&&!d&&!y)throw new TypeError("Object.keys called on a non-object");var M=t&&d;if(o&&p.length>0&&!v.call(p,0))for(var T=0;T0)for(var E=0;E2?arguments[2]:{},p=u(s);v&&(p=S.call(p,Object.getOwnPropertySymbols(s)));for(var f=0;foe.length)&&(le=oe.length);for(var ne=0,be=new Array(le);ne10)return!0;for(var le=0;le57)return!0}return oe.length===10&&oe>=Math.pow(2,32)}function k(oe){return Object.keys(oe).filter(D).concat(s(oe).filter(Object.prototype.propertyIsEnumerable.bind(oe)))}function B(oe,le){if(oe===le)return 0;for(var ne=oe.length,be=le.length,Fe=0,Ve=Math.min(ne,be);Fe1?V-1:0),X=1;X1?V-1:0),X=1;X1?V-1:0),X=1;X1?V-1:0),X=1;X0)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 +`).concat(d(H),` +`));var re=new p({actual:H,expected:K,message:V,operator:X,stackStartFn:$});throw re.generatedMessage=Q,re}}b.match=function H(K,V,$){ae(K,V,$,H,"match")},b.doesNotMatch=function H(K,V,$){ae(K,V,$,H,"doesNotMatch")};function U(){for(var H=arguments.length,K=new Array(H),V=0;V0)return e(n);if(s==="number"&&isNaN(n)===!1)return i.long?a(n):t(n);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(n))};function e(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]),c=(i[2]||"ms").toLowerCase();switch(c){case"years":case"year":case"yrs":case"yr":case"y":return s*l;case"days":case"day":case"d":return s*S;case"hours":case"hour":case"hrs":case"hr":case"h":return s*w;case"minutes":case"minute":case"mins":case"min":case"m":return s*v;case"seconds":case"second":case"secs":case"sec":case"s":return s*u;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return s;default:return}}}}function t(n){return n>=S?Math.round(n/S)+"d":n>=w?Math.round(n/w)+"h":n>=v?Math.round(n/v)+"m":n>=u?Math.round(n/u)+"s":n+"ms"}function a(n){return r(n,S,"day")||r(n,w,"hour")||r(n,v,"minute")||r(n,u,"second")||n+" ms"}function r(n,i,s){if(!(n=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}j.formatters.j=function(t){try{return JSON.stringify(t)}catch(a){return"[UnexpectedJSONParseError]: "+a.message}};function v(t){var a=this.useColors;if(t[0]=(a?"%c":"")+this.namespace+(a?" %c":" ")+t[0]+(a?"%c ":" ")+"+"+j.humanize(this.diff),!!a){var r="color: "+this.color;t.splice(1,0,r,"color: inherit");var n=0,i=0;t[0].replace(/%[a-zA-Z%]/g,function(s){s!=="%%"&&(n++,s==="%c"&&(i=n))}),t.splice(i,0,r)}}function w(){return typeof console=="object"&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function S(t){try{t==null?j.storage.removeItem("debug"):j.storage.debug=t}catch{}}function l(){var t;try{t=j.storage.debug}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}j.enable(l());function e(){try{return window.localStorage}catch{}}}}),GF=De({"node_modules/stream-parser/index.js"(j,N){var u=Y1(),v=qF()("stream-parser");N.exports=t;var w=-1,S=0,l=1,e=2;function t(o){var x=o&&typeof o._transform=="function",M=o&&typeof o._write=="function";if(!x&&!M)throw new Error("must pass a Writable or Transform stream in");v("extending Parser into stream"),o._bytes=r,o._skipBytes=n,x&&(o._passthrough=i),x?o._transform=c:o._write=s}function a(o){v("initializing parser stream"),o._parserBytesLeft=0,o._parserBuffers=[],o._parserBuffered=0,o._parserState=w,o._parserCallback=null,typeof o.push=="function"&&(o._parserOutput=o.push.bind(o)),o._parserInit=!0}function r(o,x){u(!this._parserCallback,'there is already a "callback" set!'),u(isFinite(o)&&o>0,'can only buffer a finite number of bytes > 0, got "'+o+'"'),this._parserInit||a(this),v("buffering %o bytes",o),this._parserBytesLeft=o,this._parserCallback=x,this._parserState=S}function n(o,x){u(!this._parserCallback,'there is already a "callback" set!'),u(o>0,'can only skip > 0 bytes, got "'+o+'"'),this._parserInit||a(this),v("skipping %o bytes",o),this._parserBytesLeft=o,this._parserCallback=x,this._parserState=l}function i(o,x){u(!this._parserCallback,'There is already a "callback" set!'),u(o>0,'can only pass through > 0 bytes, got "'+o+'"'),this._parserInit||a(this),v("passing through %o bytes",o),this._parserBytesLeft=o,this._parserCallback=x,this._parserState=e}function s(o,x,M){this._parserInit||a(this),v("write(%o bytes)",o.length),typeof x=="function"&&(M=x),d(this,o,null,M)}function c(o,x,M){this._parserInit||a(this),v("transform(%o bytes)",o.length),typeof x!="function"&&(x=this._parserOutput),d(this,o,x,M)}function p(o,x,M,T){return o._parserBytesLeft<=0?T(new Error("got data but not currently parsing anything")):x.length<=o._parserBytesLeft?function(){return f(o,x,M,T)}:function(){var E=x.slice(0,o._parserBytesLeft);return f(o,E,M,function(g){if(g)return T(g);if(x.length>E.length)return function(){return p(o,x.slice(E.length),M,T)}})}}function f(o,x,M,T){if(o._parserBytesLeft-=x.length,v("%o bytes left for stream piece",o._parserBytesLeft),o._parserState===S?(o._parserBuffers.push(x),o._parserBuffered+=x.length):o._parserState===e&&M(x),o._parserBytesLeft===0){var E=o._parserCallback;if(E&&o._parserState===S&&o._parserBuffers.length>1&&(x=Buffer.concat(o._parserBuffers,o._parserBuffered)),o._parserState!==S&&(x=null),o._parserCallback=null,o._parserBuffered=0,o._parserState=w,o._parserBuffers.splice(0),E){var g=[];x&&g.push(x),M&&g.push(M);var A=E.length>g.length;A&&g.push(y(T));var m=E.apply(o,g);if(!A||T===m)return T}}else return T}var d=y(p);function y(o){return function(){for(var x=o.apply(this,arguments);typeof x=="function";)x=x();return x}}}}),pl=De({"node_modules/probe-image-size/lib/common.js"(j){"use strict";var N=LF().Transform,u=GF();function v(){N.call(this,{readableObjectMode:!0})}v.prototype=Object.create(N.prototype),v.prototype.constructor=v,u(v.prototype),j.ParserStream=v,j.sliceEq=function(S,l,e){for(var t=l,a=0;a>4&15,p=i[4]&15,f=i[5]>>4&15,d=u(i,6),y=8,o=0;od.width||f.width===d.width&&f.height>d.height?f:d}),c=i.reduce(function(f,d){return f.height>d.height||f.height===d.height&&f.width>d.width?f:d}),p;return s.width>c.height||s.width===c.height&&s.height>c.width?p=s:p=c,p}N.exports.readSizeFromMeta=function(i){var s={sizes:[],transforms:[],item_inf:{},item_loc:{}};if(r(i,s),!!s.sizes.length){var c=n(s.sizes),p=1;s.transforms.forEach(function(d){var y={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},o={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if(d.type==="imir"&&(d.value===0?p=o[p]:(p=o[p],p=y[p],p=y[p])),d.type==="irot")for(var x=0;x0&&!this.aborted;){var e=this.ifds_to_read.shift();e.offset&&this.scan_ifd(e.id,e.offset,S)}},w.prototype.read_uint16=function(S){var l=this.input;if(S+2>l.length)throw u("unexpected EOF","EBADDATA");return this.big_endian?l[S]*256+l[S+1]:l[S]+l[S+1]*256},w.prototype.read_uint32=function(S){var l=this.input;if(S+4>l.length)throw u("unexpected EOF","EBADDATA");return this.big_endian?l[S]*16777216+l[S+1]*65536+l[S+2]*256+l[S+3]:l[S]+l[S+1]*256+l[S+2]*65536+l[S+3]*16777216},w.prototype.is_subifd_link=function(S,l){return S===0&&l===34665||S===0&&l===34853||S===34665&&l===40965},w.prototype.exif_format_length=function(S){switch(S){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}},w.prototype.exif_format_read=function(S,l){var e;switch(S){case 1:case 2:return e=this.input[l],e;case 6:return e=this.input[l],e|(e&128)*33554430;case 3:return e=this.read_uint16(l),e;case 8:return e=this.read_uint16(l),e|(e&32768)*131070;case 4:return e=this.read_uint32(l),e;case 9:return e=this.read_uint32(l),e|0;case 5:case 10:case 11:case 12:return null;case 7:return null;default:return null}},w.prototype.scan_ifd=function(S,l,e){var t=this.read_uint16(l);l+=2;for(var a=0;athis.input.length)throw u("unexpected EOF","EBADDATA");for(var d=[],y=p,o=0;o0&&(this.ifds_to_read.push({id:r,offset:d[0]}),f=!0);var M={is_big_endian:this.big_endian,ifd:S,tag:r,format:n,count:i,entry_offset:l+this.start,data_length:c,data_offset:p+this.start,value:d,is_subifd_link:f};if(e(M)===!1){this.aborted=!0;return}l+=12}S===0&&this.ifds_to_read.push({id:1,offset:this.read_uint32(l)})},N.exports.ExifParser=w,N.exports.get_orientation=function(S){var l=0;try{return new w(S,0,S.length).each(function(e){if(e.ifd===0&&e.tag===274&&Array.isArray(e.value))return l=e.value[0],!1}),l}catch{return-1}}}}),HF=De({"node_modules/probe-image-size/lib/parse_sync/avif.js"(j,N){"use strict";var u=pl().str2arr,v=pl().sliceEq,w=pl().readUInt32BE,S=VF(),l=Zx(),e=u("ftyp");N.exports=function(t){if(v(t,4,e)){var a=S.unbox(t,0);if(a){var r=S.getMimeType(a.data);if(r){for(var n,i=a.end;;){var s=S.unbox(t,i);if(!s)break;if(i=s.end,s.boxtype==="mdat")return;if(s.boxtype==="meta"){n=s.data;break}}if(n){var c=S.readSizeFromMeta(n);if(c){var p={width:c.width,height:c.height,type:r.type,mime:r.mime,wUnits:"px",hUnits:"px"};if(c.variants.length>1&&(p.variants=c.variants),c.orientation&&(p.orientation=c.orientation),c.exif_location&&c.exif_location.offset+c.exif_location.length<=t.length){var f=w(t,c.exif_location.offset),d=t.slice(c.exif_location.offset+f+4,c.exif_location.offset+c.exif_location.length),y=l.get_orientation(d);y>0&&(p.orientation=y)}return p}}}}}}}}),WF=De({"node_modules/probe-image-size/lib/parse_sync/bmp.js"(j,N){"use strict";var u=pl().str2arr,v=pl().sliceEq,w=pl().readUInt16LE,S=u("BM");N.exports=function(l){if(!(l.length<26)&&v(l,0,S))return{width:w(l,18),height:w(l,22),type:"bmp",mime:"image/bmp",wUnits:"px",hUnits:"px"}}}}),YF=De({"node_modules/probe-image-size/lib/parse_sync/gif.js"(j,N){"use strict";var u=pl().str2arr,v=pl().sliceEq,w=pl().readUInt16LE,S=u("GIF87a"),l=u("GIF89a");N.exports=function(e){if(!(e.length<10)&&!(!v(e,0,S)&&!v(e,0,l)))return{width:w(e,6),height:w(e,8),type:"gif",mime:"image/gif",wUnits:"px",hUnits:"px"}}}}),XF=De({"node_modules/probe-image-size/lib/parse_sync/ico.js"(j,N){"use strict";var u=pl().readUInt16LE,v=0,w=1,S=16;N.exports=function(l){var e=u(l,0),t=u(l,2),a=u(l,4);if(!(e!==v||t!==w||!a)){for(var r=[],n={width:0,height:0},i=0;in.width||c>n.height)&&(n=p)}return{width:n.width,height:n.height,variants:r,type:"ico",mime:"image/x-icon",wUnits:"px",hUnits:"px"}}}}}),ZF=De({"node_modules/probe-image-size/lib/parse_sync/jpeg.js"(j,N){"use strict";var u=pl().readUInt16BE,v=pl().str2arr,w=pl().sliceEq,S=Zx(),l=v("Exif\0\0");N.exports=function(e){if(!(e.length<2)&&!(e[0]!==255||e[1]!==216||e[2]!==255))for(var t=2;;){for(;;){if(e.length-t<2)return;if(e[t++]===255)break}for(var a=e[t++],r;a===255;)a=e[t++];if(208<=a&&a<=217||a===1)r=0;else if(192<=a&&a<=254){if(e.length-t<2)return;r=u(e,t)-2,t+=2}else return;if(a===217||a===218)return;var n;if(a===225&&r>=10&&w(e,t,l)&&(n=S.get_orientation(e.slice(t+6,t+r))),r>=5&&192<=a&&a<=207&&a!==196&&a!==200&&a!==204){if(e.length-t0&&(i.orientation=n),i}t+=r}}}}),$F=De({"node_modules/probe-image-size/lib/parse_sync/png.js"(j,N){"use strict";var u=pl().str2arr,v=pl().sliceEq,w=pl().readUInt32BE,S=u(`\x89PNG\r  -`),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");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;P0}function w(s){var c=0,p=s.length;for(s[0]===239&&s[1]===187&&s[2]===191&&(c=3);c]*>/,l=/^<([-_.:a-zA-Z0-9]+:)?svg\s/,e=/[^-]\bwidth="([^%]+?)"|[^-]\bwidth='([^%]+?)'/,t=/\bheight="([^%]+?)"|\bheight='([^%]+?)'/,a=/\bview[bB]ox="(.+?)"|\bview[bB]ox='(.+?)'/,r=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function n(s){var c=s.match(e),p=s.match(t),f=s.match(a);return{width:c&&(c[1]||c[2]),height:p&&(p[1]||p[2]),viewbox:f&&(f[1]||f[2])}}function i(s){return r.test(s)?s.match(r)[0]:"px"}N.exports=function(s){if(w(s)){for(var c="",p=0;p>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?c=c||a(i,s+8):d==="VP8L"&&y>=9?c=c||r(i,s+8):d==="VP8X"&&y>=10?c=c||n(i,s+8):d==="EXIF"&&(p=l.get_orientation(i.slice(s+8,s+8+y)),s=1/0),s+=8+y}if(c)return p>0&&(c.orientation=p),c}}}}}),tz=De({"node_modules/probe-image-size/lib/parsers_sync.js"(j,N){"use strict";N.exports={avif:HF(),bmp:WF(),gif:YF(),ico:XF(),jpeg:ZF(),png:$F(),psd:KF(),svg:JF(),tiff:QF(),webp:ez()}}}),rz=De({"node_modules/probe-image-size/sync.js"(j,N){"use strict";var u=tz();function v(w){for(var S=Object.keys(u),l=0;l0;)I=c.c2p(E+z*h),z--;for(z=0;F===void 0&&z0;)R=p.c2p(g+z*b),z--;if(I<_&&(C=I,I=_,_=C),RU[0];if(H||K){var V=_+k/2,$=F+B/2;te+="transform:"+w(V+"px",$+"px")+"scale("+(H?-1:1)+","+(K?-1:1)+")"+w(-V+"px",-$+"px")+";"}}ee.attr("style",te);var X=new Promise(function(Z){if(x._hasZ)Z();else if(x._hasSource)if(x._canvas&&x._canvas.el.width===A&&x._canvas.el.height===m&&x._canvas.source===x.source)Z();else{var Q=document.createElement("canvas");Q.width=A,Q.height=m;var re=Q.getContext("2d",{willReadFrequently:!0});x._image=x._image||new Image;var ce=x._image;ce.onload=function(){re.drawImage(ce,0,0),x._canvas={el:Q,source:x.source},Z()},ce.setAttribute("src",x.source)}}).then(function(){var Z,Q;if(x._hasZ)Q=Y(function(me,ye){var Ae=T[ye][me];return v.isTypedArray(Ae)&&(Ae=Array.from(Ae)),Ae}),Z=Q.toDataURL("image/png");else if(x._hasSource)if(M)Z=x.source;else{var re=x._canvas.el.getContext("2d",{willReadFrequently:!0}),ce=re.getImageData(0,0,A,m).data;Q=Y(function(me,ye){var Ae=4*(ye*A+me);return[ce[Ae],ce[Ae+1],ce[Ae+2],ce[Ae+3]]}),Z=Q.toDataURL("image/png")}ee.attr({"xlink:href":Z,height:B,width:k,x:_,y:F})});r._promises.push(X)})}}}),oz=De({"src/traces/image/style.js"(j,N){"use strict";var u=Qn();N.exports=function(w){u.select(w).selectAll(".im image").style("opacity",function(S){return S[0].trace.opacity})}}}),sz=De({"src/traces/image/hover.js"(j,N){"use strict";var u=uu(),v=Ar(),w=v.isArrayOrTypedArray,S=Tm();N.exports=function(e,t,a){var r=e.cd[0],n=r.trace,i=e.xa,s=e.ya;if(!(u.inbox(t-r.x0,t-(r.x0+r.w*n.dx),0)>0||u.inbox(a-r.y0,a-(r.y0+r.h*n.dy),0)>0)){var c=Math.floor((t-r.x0)/n.dx),p=Math.floor(Math.abs(a-r.y0)/n.dy),f;if(n._hasZ?f=r.z[p][c]:n._hasSource&&(f=n._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(c,p,1,1).data),!!f){var d=r.hi||n.hoverinfo,y;if(d){var o=d.split("+");o.indexOf("all")!==-1&&(o=["color"]),o.indexOf("color")!==-1&&(y=!0)}var x=S.colormodel[n.colormodel],M=x.colormodel||n.colormodel,T=M.length,E=n._scaler(f),g=x.suffix,A=[];(n.hovertemplate||y)&&(A.push("["+[E[0]+g[0],E[1]+g[1],E[2]+g[2]].join(", ")),T===4&&A.push(", "+E[3]+g[3]),A.push("]"),A=A.join(""),e.extraText=M.toUpperCase()+": "+A);var m;w(n.hovertext)&&w(n.hovertext[p])?m=n.hovertext[p][c]:w(n.text)&&w(n.text[p])&&(m=n.text[p][c]);var h=s.c2p(r.y0+(p+.5)*n.dy),b=r.x0+(c+.5)*n.dx,_=r.y0+(p+.5)*n.dy,I="["+f.slice(0,n.colormodel.length).join(", ")+"]";return[v.extendFlat(e,{index:[p,c],x0:i.c2p(r.x0+c*n.dx),x1:i.c2p(r.x0+(c+1)*n.dx),y0:h,y1:h,color:E,xVal:b,xLabelVal:b,yVal:_,yLabelVal:_,zLabelVal:I,text:m,hovertemplateLabels:{zLabel:I,colorLabel:A,"color[0]Label":E[0]+g[0],"color[1]Label":E[1]+g[1],"color[2]Label":E[2]+g[2],"color[3]Label":E[3]+g[3]}})]}}}}}),lz=De({"src/traces/image/event_data.js"(j,N){"use strict";N.exports=function(v,w){return"xVal"in w&&(v.x=w.xVal),"yVal"in w&&(v.y=w.yVal),w.xa&&(v.xaxis=w.xa),w.ya&&(v.yaxis=w.ya),v.color=w.color,v.colormodel=w.trace.colormodel,v.z||(v.z=w.color),v}}}),uz=De({"src/traces/image/index.js"(j,N){"use strict";N.exports={attributes:(d5(),ts(Nx)).default,supplyDefaults:HD(),calc:nz(),plot:iz(),style:oz(),hoverPoints:sz(),eventData:lz(),moduleType:"trace",name:"image",basePlotModule:Hu(),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}}}),cz=De({"lib/image.js"(j,N){"use strict";N.exports=uz()}}),Op=De({"src/traces/pie/attributes.js"(j,N){"use strict";var u=Bs(),v=ql().attributes,w=Ml(),S=mc(),{hovertemplateAttrs:l,texttemplateAttrs:e,templatefallbackAttrs:t}=Is(),a=Ji().extendFlat,r=Hc().pattern,n=w({editType:"plot",arrayOk:!0,colorEditType:"plot"});N.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:S.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},pattern:r,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:a({},u.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:l({},{keys:["label","color","value","percent","text"]}),hovertemplatefallback:t(),texttemplate:e({editType:"plot"},{keys:["label","color","value","percent","text"]}),texttemplatefallback:t({editType:"plot"}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:a({},n,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:a({},n,{}),outsidetextfont:a({},n,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},showlegend:a({},u.showlegend,{arrayOk:!0}),legend:a({},u.legend,{arrayOk:!0}),legendrank:a({},u.legendrank,{arrayOk:!0}),title:{text:{valType:"string",dflt:"",editType:"plot"},font:a({},n,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:v({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"}}}}),Np=De({"src/traces/pie/defaults.js"(j,N){"use strict";var u=io(),v=Ar(),w=Op(),S=ql().defaults,l=Bh().handleText,e=Ar().coercePattern;function t(n,i){var s=v.isArrayOrTypedArray(n),c=v.isArrayOrTypedArray(i),p=Math.min(s?n.length:1/0,c?i.length:1/0);if(isFinite(p)||(p=0),p&&c){for(var f,d=0;d0){f=!0;break}}f||(p=0)}return{hasLabels:s,hasValues:c,len:p}}function a(n,i,s,c,p){var f=c("marker.line.width");f&&c("marker.line.color",p?void 0:s.paper_bgcolor);var d=c("marker.colors");e(c,"marker.pattern",d),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 r(n,i,s,c){function p(_,I){return v.coerce(n,i,w,_,I)}var f=p("labels"),d=p("values"),y=t(f,d),o=y.len;if(i._hasLabels=y.hasLabels,i._hasValues=y.hasValues,!i._hasLabels&&i._hasValues&&(p("label0"),p("dlabel")),!o){i.visible=!1;return}i._length=o,a(n,i,c,p,!0),p("scalegroup");var x=p("text"),M=p("texttemplate");p("texttemplatefallback");var T;if(M||(T=p("textinfo",v.isArrayOrTypedArray(x)?"text+percent":"percent")),p("hovertext"),p("hovertemplate"),p("hovertemplatefallback"),M||T&&T!=="none"){var E=p("textposition");l(n,i,c,p,E,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1});var g=Array.isArray(E)||E==="auto",A=g||E==="outside";A&&p("automargin"),(E==="inside"||E==="auto"||Array.isArray(E))&&p("insidetextorientation")}else T==="none"&&p("textposition","none");S(i,c,p);var m=p("hole"),h=p("title.text");if(h){var b=p("title.position",m?"middle center":"top center");!m&&b==="middle center"&&(i.title.position="top center"),v.coerceFont(p,"title.font",c.font)}p("sort"),p("direction"),p("rotation"),p("pull")}N.exports={handleLabelsAndValues:t,handleMarkerDefaults:a,supplyDefaults:r}}}),$x=De({"src/traces/pie/layout_attributes.js"(j,N){"use strict";N.exports={hiddenlabels:{valType:"data_array",editType:"calc"},piecolorway:{valType:"colorlist",editType:"calc"},extendpiecolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),fz=De({"src/traces/pie/layout_defaults.js"(j,N){"use strict";var u=Ar(),v=$x();N.exports=function(S,l){function e(t,a){return u.coerce(S,l,v,t,a)}e("hiddenlabels"),e("piecolorway",l.colorway),e("extendpiecolors")}}}),Cm=De({"src/traces/pie/calc.js"(j,N){"use strict";var u=io(),v=ii(),w={};function S(a,r){var n=[],i=a._fullLayout,s=i.hiddenlabels||[],c=r.labels,p=r.marker.colors||[],f=r.values,d=r._length,y=r._hasValues&&d,o,x;if(r.dlabel)for(c=new Array(d),o=0;o=0});var _=r.type==="funnelarea"?g:r.sort;return _&&n.sort(function(I,C){return C.v-I.v}),n[0]&&(n[0].vTotal=E),n}function l(a){return function(n,i){if(!n||!v.isValid(n))return!1;let s=v.color(n).rgb().string();return a[i]||(a[i]=s),s}}function e(a,r){var n=(r||{}).type;n||(n="pie");var i=a._fullLayout,s=a.calcdata,c=i[n+"colorway"],p=i["_"+n+"colormap"];i["extend"+n+"colors"]&&(c=t(c,w));for(var f=0,d=0;d0&&(Fe+=st*ne.pxmid[0],Ve+=st*ne.pxmid[1])}ne.cxFinal=Fe,ne.cyFinal=Ve;function yt(nt,Ee,ze,ve){var _e=ve*(Ee[0]-nt[0]),Ie=ve*(Ee[1]-nt[1]);return"a"+ve*ce.r+","+ve*ce.r+" 0 "+ne.largeArc+(ze?" 1 ":" 0 ")+_e+","+Ie}var At=me.hole;if(ne.v===ce.vTotal){var Pt="M"+(Fe+ne.px0[0])+","+(Ve+ne.px0[1])+yt(ne.px0,ne.pxmid,!0,1)+yt(ne.pxmid,ne.px0,!0,1)+"Z";At?ut.attr("d","M"+(Fe+At*ne.px0[0])+","+(Ve+At*ne.px0[1])+yt(ne.px0,ne.pxmid,!1,At)+yt(ne.pxmid,ne.px0,!1,At)+"Z"+Pt):ut.attr("d",Pt)}else{var Zt=yt(ne.px0,ne.px1,!0,1);if(At){var vr=1-At;ut.attr("d","M"+(Fe+At*ne.px1[0])+","+(Ve+At*ne.px1[1])+yt(ne.px1,ne.px0,!1,At)+"l"+vr*ne.px0[0]+","+vr*ne.px0[1]+Zt+"Z")}else ut.attr("d","M"+Fe+","+Ve+"l"+ne.px0[0]+","+ne.px0[1]+Zt+"Z")}ae(H,ne,ce);var Nt=p.castOption(me.textposition,ne.pts),Kt=je.selectAll("g.slicetext").data(ne.text&&Nt!=="none"?[0]:[]);Kt.enter().append("g").classed("slicetext",!0),Kt.exit().remove(),Kt.each(function(){var nt=e.ensureSingle(u.select(this),"text","",function(Xe){Xe.attr("data-notex",1)}),Ee=e.ensureUniformFontSize(H,Nt==="outside"?M(me,ne,$.font):T(me,ne,$.font));nt.text(ne.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(l.font,Ee).call(r.convertToTspans,H);var ze=l.bBox(nt.node()),ve;if(Nt==="outside")ve=F(ze,ne);else if(ve=g(ze,ne,ce),Nt==="auto"&&ve.scale<1){var _e=e.ensureUniformFontSize(H,me.outsidetextfont);nt.call(l.font,_e),ze=l.bBox(nt.node()),ve=F(ze,ne)}var Ie=ve.textPosAngle,Be=Ie===void 0?ne.pxmid:te(ce.r,Ie);if(ve.targetX=Fe+Be[0]*ve.rCenter+(ve.x||0),ve.targetY=Ve+Be[1]*ve.rCenter+(ve.y||0),U(ve,ze),ve.outside){var We=ve.targetY;ne.yLabelMin=We-ze.height/2,ne.yLabelMid=We,ne.yLabelMax=We+ze.height/2,ne.labelExtraX=0,ne.labelExtraY=0,Se=!0}ve.fontSize=Ee.size,i(me.type,ve,$),Q[be].transform=ve,e.setTransormAndDisplay(nt,ve)})});var Ce=u.select(this).selectAll("g.titletext").data(me.title.text?[0]:[]);if(Ce.enter().append("g").classed("titletext",!0),Ce.exit().remove(),Ce.each(function(){var ne=e.ensureSingle(u.select(this),"text","",function(Ve){Ve.attr("data-notex",1)}),be=me.title.text;me._meta&&(be=e.templateString(be,me._meta)),ne.text(be).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(l.font,me.title.font).call(r.convertToTspans,H);var Fe;me.title.position==="middle center"?Fe=R(ce):Fe=z(ce,X),ne.attr("transform",a(Fe.x,Fe.y)+t(Math.min(1,Fe.scale))+a(Fe.tx,Fe.ty))}),Se&&O(Ae,me),o(ye,me),Se&&me.automargin){var qe=l.bBox(re.node()),Ue=me.domain,xe=X.w*(Ue.x[1]-Ue.x[0]),he=X.h*(Ue.y[1]-Ue.y[0]),oe=(.5*xe-ce.r)/X.w,le=(.5*he-ce.r)/X.h;v.autoMargin(H,"pie."+me.uid+".automargin",{xl:Ue.x[0]-oe,xr:Ue.x[1]+oe,yb:Ue.y[0]-le,yt:Ue.y[1]+le,l:Math.max(ce.cx-ce.r-qe.left,0),r:Math.max(qe.right-(ce.cx+ce.r),0),b:Math.max(qe.bottom-(ce.cy+ce.r),0),t:Math.max(ce.cy-ce.r-qe.top,0),pad:5})}})});setTimeout(function(){Z.selectAll("tspan").each(function(){var Q=u.select(this);Q.attr("dy")&&Q.attr("dy",Q.attr("dy"))})},0)}function o(H,K){H.each(function(V){var $=u.select(this);if(!V.labelExtraX&&!V.labelExtraY){$.select("path.textline").remove();return}var X=$.select("g.slicetext text");V.transform.targetX+=V.labelExtraX,V.transform.targetY+=V.labelExtraY,e.setTransormAndDisplay(X,V.transform);var Z=V.cxFinal+V.pxmid[0],Q=V.cyFinal+V.pxmid[1],re="M"+Z+","+Q,ce=(V.yLabelMax-V.yLabelMin)*(V.pxmid[0]<0?-1:1)/4;if(V.labelExtraX){var me=V.labelExtraX*V.pxmid[1]/V.pxmid[0],ye=V.yLabelMid+V.labelExtraY-(V.cyFinal+V.pxmid[1]);Math.abs(me)>Math.abs(ye)?re+="l"+ye*V.pxmid[0]/V.pxmid[1]+","+ye+"H"+(Z+V.labelExtraX+ce):re+="l"+V.labelExtraX+","+me+"v"+(ye-me)+"h"+ce}else re+="V"+(V.yLabelMid+V.labelExtraY)+"h"+ce;e.ensureSingle($,"path","textline").call(S.stroke,K.outsidetextfont.color).attr({"stroke-width":Math.min(2,K.outsidetextfont.size/8),d:re,fill:"none"})})}function x(H,K,V){var $=V[0],X=$.cx,Z=$.cy,Q=$.trace,re=Q.type==="funnelarea";"_hasHoverLabel"in Q||(Q._hasHoverLabel=!1),"_hasHoverEvent"in Q||(Q._hasHoverEvent=!1),H.on("mouseover",function(ce){var me=K._fullLayout,ye=K._fullData[Q.index];if(!(K._dragging||me.hovermode===!1)){var Ae=ye.hoverinfo;if(Array.isArray(Ae)&&(Ae=w.castHoverinfo({hoverinfo:[p.castOption(Ae,ce.pts)],_module:Q._module},me,0)),Ae==="all"&&(Ae="label+text+value+percent+name"),ye.hovertemplate||Ae!=="none"&&Ae!=="skip"&&Ae){var Se=ce.rInscribed||0,Ce=X+ce.pxmid[0]*(1-Se),qe=Z+ce.pxmid[1]*(1-Se),Ue=me.separators,xe=[];if(Ae&&Ae.indexOf("label")!==-1&&xe.push(ce.label),ce.text=p.castOption(ye.hovertext||ye.text,ce.pts),Ae&&Ae.indexOf("text")!==-1){var he=ce.text;e.isValidTextValue(he)&&xe.push(he)}ce.value=ce.v,ce.valueLabel=p.formatPieValue(ce.v,Ue),Ae&&Ae.indexOf("value")!==-1&&xe.push(ce.valueLabel),ce.percent=ce.v/$.vTotal,ce.percentLabel=p.formatPiePercent(ce.percent,Ue),Ae&&Ae.indexOf("percent")!==-1&&xe.push(ce.percentLabel);var oe=ye.hoverlabel,le=oe.font,ne=[];w.loneHover({trace:Q,x0:Ce-Se*$.r,x1:Ce+Se*$.r,y:qe,_x0:re?X+ce.TL[0]:Ce-Se*$.r,_x1:re?X+ce.TR[0]:Ce+Se*$.r,_y0:re?Z+ce.TL[1]:qe-Se*$.r,_y1:re?Z+ce.BL[1]:qe+Se*$.r,text:xe.join("
"),name:ye.hovertemplate||Ae.indexOf("name")!==-1?ye.name:void 0,idealAlign:ce.pxmid[0]<0?"left":"right",color:p.castOption(oe.bgcolor,ce.pts)||ce.color,borderColor:p.castOption(oe.bordercolor,ce.pts),fontFamily:p.castOption(le.family,ce.pts),fontSize:p.castOption(le.size,ce.pts),fontColor:p.castOption(le.color,ce.pts),nameLength:p.castOption(oe.namelength,ce.pts),textAlign:p.castOption(oe.align,ce.pts),hovertemplate:p.castOption(ye.hovertemplate,ce.pts),hovertemplateLabels:ce,eventData:[f(ce,ye)]},{container:me._hoverlayer.node(),outerContainer:me._paper.node(),gd:K,inOut_bbox:ne}),ce.bbox=ne[0],Q._hasHoverLabel=!0}Q._hasHoverEvent=!0,K.emit("plotly_hover",{points:[f(ce,ye)],event:u.event})}}),H.on("mouseout",function(ce){var me=K._fullLayout,ye=K._fullData[Q.index],Ae=u.select(this).datum();Q._hasHoverEvent&&(ce.originalEvent=u.event,K.emit("plotly_unhover",{points:[f(Ae,ye)],event:u.event}),Q._hasHoverEvent=!1),Q._hasHoverLabel&&(w.loneUnhover(me._hoverlayer.node()),Q._hasHoverLabel=!1)}),H.on("click",function(ce){var me=K._fullLayout,ye=K._fullData[Q.index];K._dragging||me.hovermode===!1||(K._hoverdata=[f(ce,ye)],w.click(K,u.event))})}function M(H,K,V){var $=p.castOption(H.outsidetextfont.color,K.pts)||p.castOption(H.textfont.color,K.pts)||V.color,X=p.castOption(H.outsidetextfont.family,K.pts)||p.castOption(H.textfont.family,K.pts)||V.family,Z=p.castOption(H.outsidetextfont.size,K.pts)||p.castOption(H.textfont.size,K.pts)||V.size,Q=p.castOption(H.outsidetextfont.weight,K.pts)||p.castOption(H.textfont.weight,K.pts)||V.weight,re=p.castOption(H.outsidetextfont.style,K.pts)||p.castOption(H.textfont.style,K.pts)||V.style,ce=p.castOption(H.outsidetextfont.variant,K.pts)||p.castOption(H.textfont.variant,K.pts)||V.variant,me=p.castOption(H.outsidetextfont.textcase,K.pts)||p.castOption(H.textfont.textcase,K.pts)||V.textcase,ye=p.castOption(H.outsidetextfont.lineposition,K.pts)||p.castOption(H.textfont.lineposition,K.pts)||V.lineposition,Ae=p.castOption(H.outsidetextfont.shadow,K.pts)||p.castOption(H.textfont.shadow,K.pts)||V.shadow;return{color:$,family:X,size:Z,weight:Q,style:re,variant:ce,textcase:me,lineposition:ye,shadow:Ae}}function T(H,K,V){var $=p.castOption(H.insidetextfont.color,K.pts);!$&&H._input.textfont&&($=p.castOption(H._input.textfont.color,K.pts));var X=p.castOption(H.insidetextfont.family,K.pts)||p.castOption(H.textfont.family,K.pts)||V.family,Z=p.castOption(H.insidetextfont.size,K.pts)||p.castOption(H.textfont.size,K.pts)||V.size,Q=p.castOption(H.insidetextfont.weight,K.pts)||p.castOption(H.textfont.weight,K.pts)||V.weight,re=p.castOption(H.insidetextfont.style,K.pts)||p.castOption(H.textfont.style,K.pts)||V.style,ce=p.castOption(H.insidetextfont.variant,K.pts)||p.castOption(H.textfont.variant,K.pts)||V.variant,me=p.castOption(H.insidetextfont.textcase,K.pts)||p.castOption(H.textfont.textcase,K.pts)||V.textcase,ye=p.castOption(H.insidetextfont.lineposition,K.pts)||p.castOption(H.textfont.lineposition,K.pts)||V.lineposition,Ae=p.castOption(H.insidetextfont.shadow,K.pts)||p.castOption(H.textfont.shadow,K.pts)||V.shadow;return{color:$||S.contrast(K.color),family:X,size:Z,weight:Q,style:re,variant:ce,textcase:me,lineposition:ye,shadow:Ae}}function E(H,K){for(var V,$,X=0;X=-4;oe-=2)he(Math.PI*oe,"tan");for(oe=4;oe>=-4;oe-=2)he(Math.PI*(oe+1),"tan")}if(Ae||Ce){for(oe=4;oe>=-4;oe-=2)he(Math.PI*(oe+1.5),"rad");for(oe=4;oe>=-4;oe-=2)he(Math.PI*(oe+.5),"rad")}}if(re||qe||Ae){var le=Math.sqrt(H.width*H.width+H.height*H.height);if(xe={scale:X*$*2/le,rCenter:1-X,rotate:0},xe.textPosAngle=(K.startangle+K.stopangle)/2,xe.scale>=1)return xe;Ue.push(xe)}(qe||Ce)&&(xe=m(H,$,Q,ce,me),xe.textPosAngle=(K.startangle+K.stopangle)/2,Ue.push(xe)),(qe||Se)&&(xe=h(H,$,Q,ce,me),xe.textPosAngle=(K.startangle+K.stopangle)/2,Ue.push(xe));for(var ne=0,be=0,Fe=0;Fe=1)break}return Ue[ne]}function A(H,K){var V=H.startangle,$=H.stopangle;return V>K&&K>$||V0?1:-1)/2,y:Z/(1+V*V/($*$)),outside:!0}}function R(H){var K=Math.sqrt(H.titleBox.width*H.titleBox.width+H.titleBox.height*H.titleBox.height);return{x:H.cx,y:H.cy,scale:H.trace.hole*H.r*2/K,tx:0,ty:-H.titleBox.height/2+H.trace.title.font.size}}function z(H,K){var V=1,$=1,X,Z=H.trace,Q={x:H.cx,y:H.cy},re={tx:0,ty:0};re.ty+=Z.title.font.size,X=B(Z),Z.title.position.indexOf("top")!==-1?(Q.y-=(1+X)*H.r,re.ty-=H.titleBox.height):Z.title.position.indexOf("bottom")!==-1&&(Q.y+=(1+X)*H.r);var ce=D(H.r,H.trace.aspectratio),me=K.w*(Z.domain.x[1]-Z.domain.x[0])/2;return Z.title.position.indexOf("left")!==-1?(me=me+ce,Q.x-=(1+X)*ce,re.tx+=H.titleBox.width/2):Z.title.position.indexOf("center")!==-1?me*=2:Z.title.position.indexOf("right")!==-1&&(me=me+ce,Q.x+=(1+X)*ce,re.tx-=H.titleBox.width/2),V=me/H.titleBox.width,$=k(H,K)/H.titleBox.height,{x:Q.x,y:Q.y,scale:Math.min(V,$),tx:re.tx,ty:re.ty}}function D(H,K){return H/(K===void 0?1:K)}function k(H,K){var V=H.trace,$=K.h*(V.domain.y[1]-V.domain.y[0]);return Math.min(H.titleBox.height,$/2)}function B(H){var K=H.pull;if(!K)return 0;var V;if(e.isArrayOrTypedArray(K))for(K=0,V=0;VK&&(K=H.pull[V]);return K}function O(H,K){var V,$,X,Z,Q,re,ce,me,ye,Ae,Se,Ce,qe;function Ue(le,ne){return le.pxmid[1]-ne.pxmid[1]}function xe(le,ne){return ne.pxmid[1]-le.pxmid[1]}function he(le,ne){ne||(ne={});var be=ne.labelExtraY+($?ne.yLabelMax:ne.yLabelMin),Fe=$?le.yLabelMin:le.yLabelMax,Ve=$?le.yLabelMax:le.yLabelMin,je=le.cyFinal+Q(le.px0[1],le.px1[1]),ut=be-Fe,st,yt,At,Pt,Zt,vr;if(ut*ce>0&&(le.labelExtraY=ut),!!e.isArrayOrTypedArray(K.pull))for(yt=0;yt=(p.castOption(K.pull,At.pts)||0))&&((le.pxmid[1]-At.pxmid[1])*ce>0?(Pt=At.cyFinal+Q(At.px0[1],At.px1[1]),ut=Pt-Fe-le.labelExtraY,ut*ce>0&&(le.labelExtraY+=ut)):(Ve+le.labelExtraY-je)*ce>0&&(st=3*re*Math.abs(yt-Ae.indexOf(le)),Zt=At.cxFinal+Z(At.px0[0],At.px1[0]),vr=Zt+st-(le.cxFinal+le.pxmid[0])-le.labelExtraX,vr*re>0&&(le.labelExtraX+=vr)))}for($=0;$<2;$++)for(X=$?Ue:xe,Q=$?Math.max:Math.min,ce=$?1:-1,V=0;V<2;V++){for(Z=V?Math.max:Math.min,re=V?1:-1,me=H[$][V],me.sort(X),ye=H[1-$][V],Ae=ye.concat(me),Ce=[],Se=0;Se1?(me=V.r,ye=me/X.aspectratio):(ye=V.r,me=ye*X.aspectratio),me*=(1+X.baseratio)/2,ce=me*ye}Q=Math.min(Q,ce/V.vTotal)}for($=0;$K.vTotal/2?1:0,me.halfangle=Math.PI*Math.min(me.v/K.vTotal,.5),me.ring=1-$.hole,me.rInscribed=C(me,K))}function te(H,K){return[H*Math.sin(K),-H*Math.cos(K)]}function ae(H,K,V){var $=H._fullLayout,X=V.trace,Z=X.texttemplate,Q=X.textinfo;if(!Z&&Q&&Q!=="none"){var re=Q.split("+"),ce=function(ne){return re.indexOf(ne)!==-1},me=ce("label"),ye=ce("text"),Ae=ce("value"),Se=ce("percent"),Ce=$.separators,qe;if(qe=me?[K.label]:[],ye){var Ue=p.getFirstFilled(X.text,K.pts);d(Ue)&&qe.push(Ue)}Ae&&qe.push(p.formatPieValue(K.v,Ce)),Se&&qe.push(p.formatPiePercent(K.v/V.vTotal,Ce)),K.text=qe.join("
")}function xe(ne){return{label:ne.label,value:ne.v,valueLabel:p.formatPieValue(ne.v,$.separators),percent:ne.v/V.vTotal,percentLabel:p.formatPiePercent(ne.v/V.vTotal,$.separators),color:ne.color,text:ne.text,customdata:e.castOption(X,ne.i,"customdata")}}if(Z){var he=e.castOption(X,K.i,"texttemplate");if(!he)K.text="";else{var oe=xe(K),le=p.getFirstFilled(X.text,K.pts);(d(le)||le==="")&&(oe.text=le),K.text=e.texttemplateString({data:[oe,X._meta],fallback:X.texttemplatefallback,labels:oe,locale:H._fullLayout._d3locale,template:he})}}}function U(H,K){var V=H.rotate*Math.PI/180,$=Math.cos(V),X=Math.sin(V),Z=(K.left+K.right)/2,Q=(K.top+K.bottom)/2;H.textX=Z*$-Q*X,H.textY=Z*X+Q*$,H.noCenter=!0}N.exports={plot:y,formatSliceLabel:ae,transformInsideText:g,determineInsideTextFont:T,positionTitleOutside:z,prerenderTitles:E,layoutAreas:q,attachFxHandlers:x,computeTransform:U}}}),dz=De({"src/traces/pie/style.js"(j,N){"use strict";var u=Qn(),v=vm(),w=Yf().resizeText;N.exports=function(l){var e=l._fullLayout._pielayer.selectAll(".trace");w(l,e,"pie"),e.each(function(t){var a=t[0],r=a.trace,n=u.select(this);n.style({opacity:r.opacity}),n.selectAll("path.surface").each(function(i){u.select(this).call(v,i,r,l)})})}}}),vz=De({"src/traces/pie/base_plot.js"(j){"use strict";var N=Il();j.name="pie",j.plot=function(u,v,w,S){N.plotBasePlot(j.name,u,v,w,S)},j.clean=function(u,v,w,S){N.cleanBasePlot(j.name,u,v,w,S)}}}),pz=De({"src/traces/pie/index.js"(j,N){"use strict";N.exports={attributes:Op(),supplyDefaults:Np().supplyDefaults,supplyLayoutDefaults:fz(),layoutAttributes:$x(),calc:Cm().calc,crossTraceCalc:Cm().crossTraceCalc,plot:Kx().plot,style:dz(),styleOne:vm(),moduleType:"trace",name:"pie",basePlotModule:vz(),categories:["pie-like","pie","showLegend"],meta:{}}}}),mz=De({"lib/pie.js"(j,N){"use strict";N.exports=pz()}}),gz=De({"src/traces/sunburst/base_plot.js"(j){"use strict";var N=Il();j.name="sunburst",j.plot=function(u,v,w,S){N.plotBasePlot(j.name,u,v,w,S)},j.clean=function(u,v,w,S){N.cleanBasePlot(j.name,u,v,w,S)}}}),O5=De({"src/traces/sunburst/constants.js"(j,N){"use strict";N.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"linear",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"]}}}),X1=De({"src/traces/sunburst/attributes.js"(j,N){"use strict";var u=Bs(),{hovertemplateAttrs:v,texttemplateAttrs:w,templatefallbackAttrs:S}=Is(),l=ul(),e=ql().attributes,t=Op(),a=O5(),r=Ji().extendFlat,n=Hc().pattern;N.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:r({colors:{valType:"data_array",editType:"calc"},line:{color:r({},t.marker.line.color,{dflt:null}),width:r({},t.marker.line.width,{dflt:1}),editType:"calc"},pattern:n,editType:"calc"},l("marker",{colorAttr:"colors",anim:!1})),leaf:{opacity:{valType:"number",editType:"style",min:0,max:1},editType:"plot"},text:t.text,textinfo:{valType:"flaglist",flags:["label","text","value","current path","percent root","percent entry","percent parent"],extras:["none"],editType:"plot"},texttemplate:w({editType:"plot"},{keys:a.eventDataKeys.concat(["label","value"])}),texttemplatefallback:S({editType:"plot"}),hovertext:t.hovertext,hoverinfo:r({},u.hoverinfo,{flags:["label","text","value","name","current path","percent root","percent entry","percent parent"],dflt:"label+text+value+name"}),hovertemplate:v({},{keys:a.eventDataKeys}),hovertemplatefallback:S(),textfont:t.textfont,insidetextorientation:t.insidetextorientation,insidetextfont:t.insidetextfont,outsidetextfont:r({},t.outsidetextfont,{}),rotation:{valType:"angle",dflt:0,editType:"plot"},sort:t.sort,root:{color:{valType:"color",editType:"calc",dflt:"rgba(0,0,0,0)"},editType:"calc"},domain:e({name:"sunburst",trace:!0,editType:"calc"})}}}),N5=De({"src/traces/sunburst/layout_attributes.js"(j,N){"use strict";N.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),yz=De({"src/traces/sunburst/defaults.js"(j,N){"use strict";var u=Ar(),v=X1(),w=ql().defaults,S=Bh().handleText,l=Np().handleMarkerDefaults,e=Dl(),t=e.hasColorscale,a=e.handleDefaults;N.exports=function(n,i,s,c){function p(T,E){return u.coerce(n,i,v,T,E)}var f=p("labels"),d=p("parents");if(!f||!f.length||!d||!d.length){i.visible=!1;return}var y=p("values");y&&y.length?p("branchvalues"):p("count"),p("level"),p("maxdepth"),l(n,i,c,p);var o=i._hasColorscale=t(n,"marker","colors")||(n.marker||{}).coloraxis;o&&a(n,i,c,p,{prefix:"marker.",cLetter:"c"}),p("leaf.opacity",o?1:.7);var x=p("text");p("texttemplate"),p("texttemplatefallback"),i.texttemplate||p("textinfo",u.isArrayOrTypedArray(x)?"text+label":"label"),p("hovertext"),p("hovertemplate"),p("hovertemplatefallback");var M="auto";S(n,i,c,p,M,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),p("insidetextorientation"),p("sort"),p("rotation"),p("root.color"),w(i,c,p),i._length=null}}}),_z=De({"src/traces/sunburst/layout_defaults.js"(j,N){"use strict";var u=Ar(),v=N5();N.exports=function(S,l){function e(t,a){return u.coerce(S,l,v,t,a)}e("sunburstcolorway",l.colorway),e("extendsunburstcolors")}}}),Z1=De({"node_modules/d3-hierarchy/dist/d3-hierarchy.js"(j,N){(function(u,v){typeof j=="object"&&typeof N<"u"?v(j):(u=u||self,v(u.d3=u.d3||{}))})(j,function(u){"use strict";function v(ve,_e){return ve.parent===_e.parent?1:2}function w(ve){return ve.reduce(S,0)/ve.length}function S(ve,_e){return ve+_e.x}function l(ve){return 1+ve.reduce(e,0)}function e(ve,_e){return Math.max(ve,_e.y)}function t(ve){for(var _e;_e=ve.children;)ve=_e[0];return ve}function a(ve){for(var _e;_e=ve.children;)ve=_e[_e.length-1];return ve}function r(){var ve=v,_e=1,Ie=1,Be=!1;function We(Xe){var mt,ft=0;Xe.eachAfter(function(St){var hr=St.children;hr?(St.x=w(hr),St.y=l(hr)):(St.x=mt?ft+=ve(St,mt):0,St.y=0,mt=St)});var ht=t(Xe),gt=a(Xe),_t=ht.x-ve(ht,gt)/2,Ft=gt.x+ve(gt,ht)/2;return Xe.eachAfter(Be?function(St){St.x=(St.x-Xe.x)*_e,St.y=(Xe.y-St.y)*Ie}:function(St){St.x=(St.x-_t)/(Ft-_t)*_e,St.y=(1-(Xe.y?St.y/Xe.y:1))*Ie})}return We.separation=function(Xe){return arguments.length?(ve=Xe,We):ve},We.size=function(Xe){return arguments.length?(Be=!1,_e=+Xe[0],Ie=+Xe[1],We):Be?null:[_e,Ie]},We.nodeSize=function(Xe){return arguments.length?(Be=!0,_e=+Xe[0],Ie=+Xe[1],We):Be?[_e,Ie]:null},We}function n(ve){var _e=0,Ie=ve.children,Be=Ie&&Ie.length;if(!Be)_e=1;else for(;--Be>=0;)_e+=Ie[Be].value;ve.value=_e}function i(){return this.eachAfter(n)}function s(ve){var _e=this,Ie,Be=[_e],We,Xe,mt;do for(Ie=Be.reverse(),Be=[];_e=Ie.pop();)if(ve(_e),We=_e.children,We)for(Xe=0,mt=We.length;Xe=0;--We)Ie.push(Be[We]);return this}function p(ve){for(var _e=this,Ie=[_e],Be=[],We,Xe,mt;_e=Ie.pop();)if(Be.push(_e),We=_e.children,We)for(Xe=0,mt=We.length;Xe=0;)Ie+=Be[We].value;_e.value=Ie})}function d(ve){return this.eachBefore(function(_e){_e.children&&_e.children.sort(ve)})}function y(ve){for(var _e=this,Ie=o(_e,ve),Be=[_e];_e!==Ie;)_e=_e.parent,Be.push(_e);for(var We=Be.length;ve!==Ie;)Be.splice(We,0,ve),ve=ve.parent;return Be}function o(ve,_e){if(ve===_e)return ve;var Ie=ve.ancestors(),Be=_e.ancestors(),We=null;for(ve=Ie.pop(),_e=Be.pop();ve===_e;)We=ve,ve=Ie.pop(),_e=Be.pop();return We}function x(){for(var ve=this,_e=[ve];ve=ve.parent;)_e.push(ve);return _e}function M(){var ve=[];return this.each(function(_e){ve.push(_e)}),ve}function T(){var ve=[];return this.eachBefore(function(_e){_e.children||ve.push(_e)}),ve}function E(){var ve=this,_e=[];return ve.each(function(Ie){Ie!==ve&&_e.push({source:Ie.parent,target:Ie})}),_e}function g(ve,_e){var Ie=new _(ve),Be=+ve.value&&(Ie.value=ve.value),We,Xe=[Ie],mt,ft,ht,gt;for(_e==null&&(_e=m);We=Xe.pop();)if(Be&&(We.value=+We.data.value),(ft=_e(We.data))&&(gt=ft.length))for(We.children=new Array(gt),ht=gt-1;ht>=0;--ht)Xe.push(mt=We.children[ht]=new _(ft[ht])),mt.parent=We,mt.depth=We.depth+1;return Ie.eachBefore(b)}function A(){return g(this).eachBefore(h)}function m(ve){return ve.children}function h(ve){ve.data=ve.data.data}function b(ve){var _e=0;do ve.height=_e;while((ve=ve.parent)&&ve.height<++_e)}function _(ve){this.data=ve,this.depth=this.height=0,this.parent=null}_.prototype=g.prototype={constructor:_,count:i,each:s,eachAfter:p,eachBefore:c,sum:f,sort:d,path:y,ancestors:x,descendants:M,leaves:T,links:E,copy:A};var I=Array.prototype.slice;function C(ve){for(var _e=ve.length,Ie,Be;_e;)Be=Math.random()*_e--|0,Ie=ve[_e],ve[_e]=ve[Be],ve[Be]=Ie;return ve}function F(ve){for(var _e=0,Ie=(ve=C(I.call(ve))).length,Be=[],We,Xe;_e0&&Ie*Ie>Be*Be+We*We}function k(ve,_e){for(var Ie=0;Ie<_e.length;++Ie)if(!D(ve,_e[Ie]))return!1;return!0}function B(ve){switch(ve.length){case 1:return O(ve[0]);case 2:return q(ve[0],ve[1]);case 3:return Y(ve[0],ve[1],ve[2])}}function O(ve){return{x:ve.x,y:ve.y,r:ve.r}}function q(ve,_e){var Ie=ve.x,Be=ve.y,We=ve.r,Xe=_e.x,mt=_e.y,ft=_e.r,ht=Xe-Ie,gt=mt-Be,_t=ft-We,Ft=Math.sqrt(ht*ht+gt*gt);return{x:(Ie+Xe+ht/Ft*_t)/2,y:(Be+mt+gt/Ft*_t)/2,r:(Ft+We+ft)/2}}function Y(ve,_e,Ie){var Be=ve.x,We=ve.y,Xe=ve.r,mt=_e.x,ft=_e.y,ht=_e.r,gt=Ie.x,_t=Ie.y,Ft=Ie.r,St=Be-mt,hr=Be-gt,jr=We-ft,ra=We-_t,$r=ht-Xe,pa=Ft-Xe,oa=Be*Be+We*We-Xe*Xe,aa=oa-mt*mt-ft*ft+ht*ht,ka=oa-gt*gt-_t*_t+Ft*Ft,Ta=hr*jr-St*ra,Da=(jr*ka-ra*aa)/(Ta*2)-Be,La=(ra*$r-jr*pa)/Ta,Ga=(hr*aa-St*ka)/(Ta*2)-We,xa=(St*pa-hr*$r)/Ta,Gn=La*La+xa*xa-1,Pn=2*(Xe+Da*La+Ga*xa),sn=Da*Da+Ga*Ga-Xe*Xe,Yn=-(Gn?(Pn+Math.sqrt(Pn*Pn-4*Gn*sn))/(2*Gn):sn/Pn);return{x:Be+Da+La*Yn,y:We+Ga+xa*Yn,r:Yn}}function ee(ve,_e,Ie){var Be=ve.x-_e.x,We,Xe,mt=ve.y-_e.y,ft,ht,gt=Be*Be+mt*mt;gt?(Xe=_e.r+Ie.r,Xe*=Xe,ht=ve.r+Ie.r,ht*=ht,Xe>ht?(We=(gt+ht-Xe)/(2*gt),ft=Math.sqrt(Math.max(0,ht/gt-We*We)),Ie.x=ve.x-We*Be-ft*mt,Ie.y=ve.y-We*mt+ft*Be):(We=(gt+Xe-ht)/(2*gt),ft=Math.sqrt(Math.max(0,Xe/gt-We*We)),Ie.x=_e.x+We*Be-ft*mt,Ie.y=_e.y+We*mt+ft*Be)):(Ie.x=_e.x+Ie.r,Ie.y=_e.y)}function te(ve,_e){var Ie=ve.r+_e.r-1e-6,Be=_e.x-ve.x,We=_e.y-ve.y;return Ie>0&&Ie*Ie>Be*Be+We*We}function ae(ve){var _e=ve._,Ie=ve.next._,Be=_e.r+Ie.r,We=(_e.x*Ie.r+Ie.x*_e.r)/Be,Xe=(_e.y*Ie.r+Ie.y*_e.r)/Be;return We*We+Xe*Xe}function U(ve){this._=ve,this.next=null,this.previous=null}function H(ve){if(!(We=ve.length))return 0;var _e,Ie,Be,We,Xe,mt,ft,ht,gt,_t,Ft;if(_e=ve[0],_e.x=0,_e.y=0,!(We>1))return _e.r;if(Ie=ve[1],_e.x=-Ie.r,Ie.x=_e.r,Ie.y=0,!(We>2))return _e.r+Ie.r;ee(Ie,_e,Be=ve[2]),_e=new U(_e),Ie=new U(Ie),Be=new U(Be),_e.next=Be.previous=Ie,Ie.next=_e.previous=Be,Be.next=Ie.previous=_e;e:for(ft=3;ft0)throw new Error("cycle");return ft}return Ie.id=function(Be){return arguments.length?(ve=$(Be),Ie):ve},Ie.parentId=function(Be){return arguments.length?(_e=$(Be),Ie):_e},Ie}function ne(ve,_e){return ve.parent===_e.parent?1:2}function be(ve){var _e=ve.children;return _e?_e[0]:ve.t}function Fe(ve){var _e=ve.children;return _e?_e[_e.length-1]:ve.t}function Ve(ve,_e,Ie){var Be=Ie/(_e.i-ve.i);_e.c-=Be,_e.s+=Ie,ve.c+=Be,_e.z+=Ie,_e.m+=Ie}function je(ve){for(var _e=0,Ie=0,Be=ve.children,We=Be.length,Xe;--We>=0;)Xe=Be[We],Xe.z+=_e,Xe.m+=_e,_e+=Xe.s+(Ie+=Xe.c)}function ut(ve,_e,Ie){return ve.a.parent===_e.parent?ve.a:Ie}function st(ve,_e){this._=ve,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=_e}st.prototype=Object.create(_.prototype);function yt(ve){for(var _e=new st(ve,0),Ie,Be=[_e],We,Xe,mt,ft;Ie=Be.pop();)if(Xe=Ie._.children)for(Ie.children=new Array(ft=Xe.length),mt=ft-1;mt>=0;--mt)Be.push(We=Ie.children[mt]=new st(Xe[mt],mt)),We.parent=Ie;return(_e.parent=new st(null,0)).children=[_e],_e}function At(){var ve=ne,_e=1,Ie=1,Be=null;function We(gt){var _t=yt(gt);if(_t.eachAfter(Xe),_t.parent.m=-_t.z,_t.eachBefore(mt),Be)gt.eachBefore(ht);else{var Ft=gt,St=gt,hr=gt;gt.eachBefore(function(oa){oa.xSt.x&&(St=oa),oa.depth>hr.depth&&(hr=oa)});var jr=Ft===St?1:ve(Ft,St)/2,ra=jr-Ft.x,$r=_e/(St.x+jr+ra),pa=Ie/(hr.depth||1);gt.eachBefore(function(oa){oa.x=(oa.x+ra)*$r,oa.y=oa.depth*pa})}return gt}function Xe(gt){var _t=gt.children,Ft=gt.parent.children,St=gt.i?Ft[gt.i-1]:null;if(_t){je(gt);var hr=(_t[0].z+_t[_t.length-1].z)/2;St?(gt.z=St.z+ve(gt._,St._),gt.m=gt.z-hr):gt.z=hr}else St&&(gt.z=St.z+ve(gt._,St._));gt.parent.A=ft(gt,St,gt.parent.A||Ft[0])}function mt(gt){gt._.x=gt.z+gt.parent.m,gt.m+=gt.parent.m}function ft(gt,_t,Ft){if(_t){for(var St=gt,hr=gt,jr=_t,ra=St.parent.children[0],$r=St.m,pa=hr.m,oa=jr.m,aa=ra.m,ka;jr=Fe(jr),St=be(St),jr&&St;)ra=be(ra),hr=Fe(hr),hr.a=gt,ka=jr.z+oa-St.z-$r+ve(jr._,St._),ka>0&&(Ve(ut(jr,gt,Ft),gt,ka),$r+=ka,pa+=ka),oa+=jr.m,$r+=St.m,aa+=ra.m,pa+=hr.m;jr&&!Fe(hr)&&(hr.t=jr,hr.m+=oa-pa),St&&!be(ra)&&(ra.t=St,ra.m+=$r-aa,Ft=gt)}return Ft}function ht(gt){gt.x*=_e,gt.y=gt.depth*Ie}return We.separation=function(gt){return arguments.length?(ve=gt,We):ve},We.size=function(gt){return arguments.length?(Be=!1,_e=+gt[0],Ie=+gt[1],We):Be?null:[_e,Ie]},We.nodeSize=function(gt){return arguments.length?(Be=!0,_e=+gt[0],Ie=+gt[1],We):Be?[_e,Ie]:null},We}function Pt(ve,_e,Ie,Be,We){for(var Xe=ve.children,mt,ft=-1,ht=Xe.length,gt=ve.value&&(We-Ie)/ve.value;++ftoa&&(oa=gt),Da=$r*$r*Ta,aa=Math.max(oa/Da,Da/pa),aa>ka){$r-=gt;break}ka=aa}mt.push(ht={value:$r,dice:hr1?Be:1)},Ie}(Zt);function Kt(){var ve=Nt,_e=!1,Ie=1,Be=1,We=[0],Xe=X,mt=X,ft=X,ht=X,gt=X;function _t(St){return St.x0=St.y0=0,St.x1=Ie,St.y1=Be,St.eachBefore(Ft),We=[0],_e&&St.eachBefore(Ae),St}function Ft(St){var hr=We[St.depth],jr=St.x0+hr,ra=St.y0+hr,$r=St.x1-hr,pa=St.y1-hr;$r=St-1){var oa=Xe[Ft];oa.x0=jr,oa.y0=ra,oa.x1=$r,oa.y1=pa;return}for(var aa=gt[Ft],ka=hr/2+aa,Ta=Ft+1,Da=St-1;Ta>>1;gt[La]pa-ra){var Gn=(jr*xa+$r*Ga)/hr;_t(Ft,Ta,Ga,jr,ra,Gn,pa),_t(Ta,St,xa,Gn,ra,$r,pa)}else{var Pn=(ra*xa+pa*Ga)/hr;_t(Ft,Ta,Ga,jr,ra,$r,Pn),_t(Ta,St,xa,jr,Pn,$r,pa)}}}function Ee(ve,_e,Ie,Be,We){(ve.depth&1?Pt:Se)(ve,_e,Ie,Be,We)}var ze=function ve(_e){function Ie(Be,We,Xe,mt,ft){if((ht=Be._squarify)&&ht.ratio===_e)for(var ht,gt,_t,Ft,St=-1,hr,jr=ht.length,ra=Be.value;++St1?Be:1)},Ie}(Zt);u.cluster=r,u.hierarchy=g,u.pack=re,u.packEnclose=F,u.packSiblings=K,u.partition=Ce,u.stratify=le,u.tree=At,u.treemap=Kt,u.treemapBinary=nt,u.treemapDice=Se,u.treemapResquarify=ze,u.treemapSlice=Pt,u.treemapSliceDice=Ee,u.treemapSquarify=Nt,Object.defineProperty(u,"__esModule",{value:!0})})}}),$1=De({"src/traces/sunburst/calc.js"(j){"use strict";var N=Z1(),u=io(),v=Ar(),w=Dl().makeColorScaleFuncFromTrace,S=Cm().makePullColorFn,l=Cm().generateExtendedColors,e=Dl().calc,t=Ho().ALMOST_EQUAL,a={},r={},n={};j.calc=function(s,c){var p=s._fullLayout,f=c.ids,d=v.isArrayOrTypedArray(f),y=c.labels,o=c.parents,x=c.values,M=v.isArrayOrTypedArray(x),T=[],E={},g={},A=function(K,V){E[K]?E[K].push(V):E[K]=[V],g[V]=1},m=function(K){return K||typeof K=="number"},h=function(K){return!M||u(x[K])&&x[K]>=0},b,_,I;d?(b=Math.min(f.length,o.length),_=function(K){return m(f[K])&&h(K)},I=function(K){return String(f[K])}):(b=Math.min(y.length,o.length),_=function(K){return m(y[K])&&h(K)},I=function(K){return String(y[K])}),M&&(b=Math.min(b,x.length));for(var C=0;C1){for(var B=v.randstr(),O=0;O>8&15|N>>4&240,N>>4&15|N&240,(N&15)<<4|N&15,1):u===8?K1(N>>24&255,N>>16&255,N>>8&255,(N&255)/255):u===4?K1(N>>12&15|N>>8&240,N>>8&15|N>>4&240,N>>4&15|N&240,((N&15)<<4|N&15)/255):null):(N=Z5.exec(j))?new df(N[1],N[2],N[3],1):(N=$5.exec(j))?new df(N[1]*255/100,N[2]*255/100,N[3]*255/100,1):(N=K5.exec(j))?K1(N[1],N[2],N[3],N[4]):(N=J5.exec(j))?K1(N[1]*255/100,N[2]*255/100,N[3]*255/100,N[4]):(N=Q5.exec(j))?H5(N[1],N[2]/100,N[3]/100,1):(N=eA.exec(j))?H5(N[1],N[2]/100,N[3]/100,N[4]):rb.hasOwnProperty(j)?q5(rb[j]):j==="transparent"?new df(NaN,NaN,NaN,0):null}function q5(j){return new df(j>>16&255,j>>8&255,j&255,1)}function K1(j,N,u,v){return v<=0&&(j=N=u=NaN),new df(j,N,u,v)}function Qx(j){return j instanceof Jd||(j=Pm(j)),j?(j=j.rgb(),new df(j.r,j.g,j.b,j.opacity)):new df}function J1(j,N,u,v){return arguments.length===1?Qx(j):new df(j,N,u,v??1)}function df(j,N,u,v){this.r=+j,this.g=+N,this.b=+u,this.opacity=+v}function G5(){return`#${Kv(this.r)}${Kv(this.g)}${Kv(this.b)}`}function wz(){return`#${Kv(this.r)}${Kv(this.g)}${Kv(this.b)}${Kv((isNaN(this.opacity)?1:this.opacity)*255)}`}function V5(){let j=Q1(this.opacity);return`${j===1?"rgb(":"rgba("}${$v(this.r)}, ${$v(this.g)}, ${$v(this.b)}${j===1?")":`, ${j})`}`}function Q1(j){return isNaN(j)?1:Math.max(0,Math.min(1,j))}function $v(j){return Math.max(0,Math.min(255,Math.round(j)||0))}function Kv(j){return j=$v(j),(j<16?"0":"")+j.toString(16)}function H5(j,N,u,v){return v<=0?j=N=u=NaN:u<=0||u>=1?j=N=NaN:N<=0&&(j=NaN),new rd(j,N,u,v)}function W5(j){if(j instanceof rd)return new rd(j.h,j.s,j.l,j.opacity);if(j instanceof Jd||(j=Pm(j)),!j)return new rd;if(j instanceof rd)return j;j=j.rgb();var N=j.r/255,u=j.g/255,v=j.b/255,w=Math.min(N,u,v),S=Math.max(N,u,v),l=NaN,e=S-w,t=(S+w)/2;return e?(N===S?l=(u-v)/e+(u0&&t<1?0:l,new rd(l,e,t,j.opacity)}function eb(j,N,u,v){return arguments.length===1?W5(j):new rd(j,N,u,v??1)}function rd(j,N,u,v){this.h=+j,this.s=+N,this.l=+u,this.opacity=+v}function Y5(j){return j=(j||0)%360,j<0?j+360:j}function eg(j){return Math.max(0,Math.min(1,j||0))}function tb(j,N,u){return(j<60?N+(u-N)*j/60:j<180?u:j<240?N+(u-N)*(240-j)/60:N)*255}var Qd,Jv,Qv,Up,ad,X5,Z5,$5,K5,J5,Q5,eA,rb,ab=di({"node_modules/d3-color/src/color.js"(){Jx(),Qd=.7,Jv=1/Qd,Qv="\\s*([+-]?\\d+)\\s*",Up="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",ad="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",X5=/^#([0-9a-f]{3,8})$/,Z5=new RegExp(`^rgb\\(${Qv},${Qv},${Qv}\\)$`),$5=new RegExp(`^rgb\\(${ad},${ad},${ad}\\)$`),K5=new RegExp(`^rgba\\(${Qv},${Qv},${Qv},${Up}\\)$`),J5=new RegExp(`^rgba\\(${ad},${ad},${ad},${Up}\\)$`),Q5=new RegExp(`^hsl\\(${Up},${ad},${ad}\\)$`),eA=new RegExp(`^hsla\\(${Up},${ad},${ad},${Up}\\)$`),rb={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},jp(Jd,Pm,{copy(j){return Object.assign(new this.constructor,this,j)},displayable(){return this.rgb().displayable()},hex:j5,formatHex:j5,formatHex8:xz,formatHsl:bz,formatRgb:U5,toString:U5}),jp(df,J1,Lm(Jd,{brighter(j){return j=j==null?Jv:Math.pow(Jv,j),new df(this.r*j,this.g*j,this.b*j,this.opacity)},darker(j){return j=j==null?Qd:Math.pow(Qd,j),new df(this.r*j,this.g*j,this.b*j,this.opacity)},rgb(){return this},clamp(){return new df($v(this.r),$v(this.g),$v(this.b),Q1(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:G5,formatHex:G5,formatHex8:wz,formatRgb:V5,toString:V5})),jp(rd,eb,Lm(Jd,{brighter(j){return j=j==null?Jv:Math.pow(Jv,j),new rd(this.h,this.s,this.l*j,this.opacity)},darker(j){return j=j==null?Qd:Math.pow(Qd,j),new rd(this.h,this.s,this.l*j,this.opacity)},rgb(){var j=this.h%360+(this.h<0)*360,N=isNaN(j)||isNaN(this.s)?0:this.s,u=this.l,v=u+(u<.5?u:1-u)*N,w=2*u-v;return new df(tb(j>=240?j-240:j+120,w,v),tb(j,w,v),tb(j<120?j+240:j-120,w,v),this.opacity)},clamp(){return new rd(Y5(this.h),eg(this.s),eg(this.l),Q1(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 j=Q1(this.opacity);return`${j===1?"hsl(":"hsla("}${Y5(this.h)}, ${eg(this.s)*100}%, ${eg(this.l)*100}%${j===1?")":`, ${j})`}`}}))}}),nb,ib,tA=di({"node_modules/d3-color/src/math.js"(){nb=Math.PI/180,ib=180/Math.PI}});function rA(j){if(j instanceof dd)return new dd(j.l,j.a,j.b,j.opacity);if(j instanceof Id)return aA(j);j instanceof df||(j=Qx(j));var N=cb(j.r),u=cb(j.g),v=cb(j.b),w=sb((.2225045*N+.7168786*u+.0606169*v)/db),S,l;return N===u&&u===v?S=l=w:(S=sb((.4360747*N+.3850649*u+.1430804*v)/hb),l=sb((.0139322*N+.0971045*u+.7141733*v)/vb)),new dd(116*w-16,500*(S-w),200*(w-l),j.opacity)}function ob(j,N,u,v){return arguments.length===1?rA(j):new dd(j,N,u,v??1)}function dd(j,N,u,v){this.l=+j,this.a=+N,this.b=+u,this.opacity=+v}function sb(j){return j>nA?Math.pow(j,.3333333333333333):j/mb+pb}function lb(j){return j>ep?j*j*j:mb*(j-pb)}function ub(j){return 255*(j<=.0031308?12.92*j:1.055*Math.pow(j,.4166666666666667)-.055)}function cb(j){return(j/=255)<=.04045?j/12.92:Math.pow((j+.055)/1.055,2.4)}function Az(j){if(j instanceof Id)return new Id(j.h,j.c,j.l,j.opacity);if(j instanceof dd||(j=rA(j)),j.a===0&&j.b===0)return new Id(NaN,0=1?(u=1,N-1):Math.floor(u*N),w=j[v],S=j[v+1],l=v>0?j[v-1]:2*w-S,e=v()=>j}});function cA(j,N){return function(u){return j+u*N}}function Ez(j,N,u){return j=Math.pow(j,u),N=Math.pow(N,u)-j,u=1/u,function(v){return Math.pow(j+v*N,u)}}function ag(j,N){var u=N-j;return u?cA(j,u>180||u<-180?u-360*Math.round(u/360):u):Dm(isNaN(j)?N:j)}function kz(j){return(j=+j)==1?vf:function(N,u){return u-N?Ez(N,u,j):Dm(isNaN(N)?u:N)}}function vf(j,N){var u=N-j;return u?cA(j,u):Dm(isNaN(j)?N:j)}var Vp=di({"node_modules/d3-interpolate/src/color.js"(){uA()}});function fA(j){return function(N){var u=N.length,v=new Array(u),w=new Array(u),S=new Array(u),l,e;for(l=0;lu&&(S=N.slice(u,S),e[l]?e[l]+=S:e[++l]=S),(v=v[0])===(w=w[0])?e[l]?e[l]+=w:e[++l]=w:(e[++l]=null,t.push({i:l,x:vd(v,w)})),u=sg.lastIndex;return u180?r+=360:r-a>180&&(a+=360),i.push({i:n.push(w(n)+"rotate(",null,v)-2,x:vd(a,r)})):r&&n.push(w(n)+"rotate("+r+v)}function e(a,r,n,i){a!==r?i.push({i:n.push(w(n)+"skewX(",null,v)-2,x:vd(a,r)}):r&&n.push(w(n)+"skewX("+r+v)}function t(a,r,n,i,s,c){if(a!==n||r!==i){var p=s.push(w(s)+"scale(",null,",",null,")");c.push({i:p-4,x:vd(a,n)},{i:p-2,x:vd(r,i)})}else(n!==1||i!==1)&&s.push(w(s)+"scale("+n+","+i+")")}return function(a,r){var n=[],i=[];return a=j(a),r=j(r),S(a.translateX,a.translateY,r.translateX,r.translateY,n,i),l(a.rotate,r.rotate,n,i),e(a.skewX,r.skewX,n,i),t(a.scaleX,a.scaleY,r.scaleX,r.scaleY,n,i),a=r=null,function(s){for(var c=-1,p=i.length,f;++clg,interpolateArray:()=>Cz,interpolateBasis:()=>oA,interpolateBasisClosed:()=>sA,interpolateCubehelix:()=>OA,interpolateCubehelixLong:()=>NA,interpolateDate:()=>yA,interpolateDiscrete:()=>Rz,interpolateHcl:()=>FA,interpolateHclLong:()=>zA,interpolateHsl:()=>RA,interpolateHslLong:()=>IA,interpolateHue:()=>Dz,interpolateLab:()=>Yz,interpolateNumber:()=>vd,interpolateNumberArray:()=>Ab,interpolateObject:()=>xA,interpolateRgb:()=>ng,interpolateRgbBasis:()=>hA,interpolateRgbBasisClosed:()=>dA,interpolateRound:()=>zz,interpolateString:()=>wA,interpolateTransformCss:()=>SA,interpolateTransformSvg:()=>EA,interpolateZoom:()=>LA,piecewise:()=>Kz,quantize:()=>Qz});var Hp=di({"node_modules/d3-interpolate/src/index.js"(){ug(),gA(),wb(),lA(),_A(),Iz(),Fz(),ig(),Tb(),bA(),Bz(),AA(),qz(),Hz(),vA(),Wz(),Xz(),Zz(),$z(),Jz(),eB()}}),Sb=De({"src/traces/sunburst/fill_one.js"(j,N){"use strict";var u=Ki(),v=ii();N.exports=function(S,l,e,t,a){var r=l.data.data,n=r.i,i=a||r.color;if(n>=0){l.i=r.i;var s=e.marker;s.pattern?(!s.colors||!s.pattern.shape)&&(s.color=i,l.color=i):(s.color=i,l.color=i),u.pointStyle(S,e,t,l)}else v.fill(S,i)}}}),jA=De({"src/traces/sunburst/style.js"(j,N){"use strict";var u=Qn(),v=ii(),w=Ar(),S=Yf().resizeText,l=Sb();function e(a){var r=a._fullLayout._sunburstlayer.selectAll(".trace");S(a,r,"sunburst"),r.each(function(n){var i=u.select(this),s=n[0],c=s.trace;i.style("opacity",c.opacity),i.selectAll("path.surface").each(function(p){u.select(this).call(t,p,c,a)})})}function t(a,r,n,i){var s=r.data.data,c=!r.children,p=s.i,f=w.castOption(n,p,"marker.line.color")||v.defaultLine,d=w.castOption(n,p,"marker.line.width")||0;a.call(l,r,n,i).style("stroke-width",d).call(v.stroke,f).style("opacity",c?n.leaf.opacity:null)}N.exports={style:e,styleOne:t}}}),ev=De({"src/traces/sunburst/helpers.js"(j){"use strict";var N=Ar(),u=ii(),v=ld(),w=Hv();j.findEntryWithLevel=function(t,a){var r;return a&&t.eachAfter(function(n){if(j.getPtId(n)===a)return r=n.copy()}),r||t},j.findEntryWithChild=function(t,a){var r;return t.eachAfter(function(n){for(var i=n.children||[],s=0;s0)},j.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},j.isHeader=function(t,a){return!(j.isLeaf(t)||t.depth===a._maxDepth-1)};function e(t){return t.data.data.pid}j.getParent=function(t,a){return j.findEntryWithLevel(t,e(a))},j.listPath=function(t,a){var r=t.parent;if(!r)return[];var n=a?[r.data[a]]:[r];return j.listPath(r,a).concat(n)},j.getPath=function(t){return j.listPath(t,"label").join("/")+"/"},j.formatValue=w.formatPieValue,j.formatPercent=function(t,a){var r=N.formatPercent(t,0);return r==="0%"&&(r=w.formatPiePercent(t,a)),r}}}),hg=De({"src/traces/sunburst/fx.js"(j,N){"use strict";var u=Qn(),v=hi(),w=Ch().appendArrayPointValue,S=uu(),l=Ar(),e=cm(),t=ev(),a=Hv(),r=a.formatPieValue;N.exports=function(s,c,p,f,d){var y=f[0],o=y.trace,x=y.hierarchy,M=o.type==="sunburst",T=o.type==="treemap"||o.type==="icicle";"_hasHoverLabel"in o||(o._hasHoverLabel=!1),"_hasHoverEvent"in o||(o._hasHoverEvent=!1);var E=function(m){var h=p._fullLayout;if(!(p._dragging||h.hovermode===!1)){var b=p._fullData[o.index],_=m.data.data,I=_.i,C=t.isHierarchyRoot(m),F=t.getParent(x,m),R=t.getValue(m),z=function(Q){return l.castOption(b,I,Q)},D=z("hovertemplate"),k=S.castHoverinfo(b,h,I),B=h.separators,O;if(D||k&&k!=="none"&&k!=="skip"){var q,Y;M&&(q=y.cx+m.pxmid[0]*(1-m.rInscribed),Y=y.cy+m.pxmid[1]*(1-m.rInscribed)),T&&(q=m._hoverX,Y=m._hoverY);var ee={},te=[],ae=[],U=function(Q){return te.indexOf(Q)!==-1};k&&(te=k==="all"?b._module.attributes.hoverinfo.flags:k.split("+")),ee.label=_.label,U("label")&&ee.label&&ae.push(ee.label),_.hasOwnProperty("v")&&(ee.value=_.v,ee.valueLabel=r(ee.value,B),U("value")&&ae.push(ee.valueLabel)),ee.currentPath=m.currentPath=t.getPath(m.data),U("current path")&&!C&&ae.push(ee.currentPath);var H,K=[],V=function(){K.indexOf(H)===-1&&(ae.push(H),K.push(H))};ee.percentParent=m.percentParent=R/t.getValue(F),ee.parent=m.parentString=t.getPtLabel(F),U("percent parent")&&(H=t.formatPercent(ee.percentParent,B)+" of "+ee.parent,V()),ee.percentEntry=m.percentEntry=R/t.getValue(c),ee.entry=m.entry=t.getPtLabel(c),U("percent entry")&&!C&&!m.onPathbar&&(H=t.formatPercent(ee.percentEntry,B)+" of "+ee.entry,V()),ee.percentRoot=m.percentRoot=R/t.getValue(x),ee.root=m.root=t.getPtLabel(x),U("percent root")&&!C&&(H=t.formatPercent(ee.percentRoot,B)+" of "+ee.root,V()),ee.text=z("hovertext")||z("text"),U("text")&&(H=ee.text,l.isValidTextValue(H)&&ae.push(H)),O=[n(m,b,d.eventDataKeys)];var $={trace:b,y:Y,_x0:m._x0,_x1:m._x1,_y0:m._y0,_y1:m._y1,text:ae.join("
"),name:D||U("name")?b.name:void 0,color:z("hoverlabel.bgcolor")||_.color,borderColor:z("hoverlabel.bordercolor"),fontFamily:z("hoverlabel.font.family"),fontSize:z("hoverlabel.font.size"),fontColor:z("hoverlabel.font.color"),fontWeight:z("hoverlabel.font.weight"),fontStyle:z("hoverlabel.font.style"),fontVariant:z("hoverlabel.font.variant"),nameLength:z("hoverlabel.namelength"),textAlign:z("hoverlabel.align"),hovertemplate:D,hovertemplateLabels:ee,eventData:O};M&&($.x0=q-m.rInscribed*m.rpx1,$.x1=q+m.rInscribed*m.rpx1,$.idealAlign=m.pxmid[0]<0?"left":"right"),T&&($.x=q,$.idealAlign=q<0?"left":"right");var X=[];S.loneHover($,{container:h._hoverlayer.node(),outerContainer:h._paper.node(),gd:p,inOut_bbox:X}),O[0].bbox=X[0],o._hasHoverLabel=!0}if(T){var Z=s.select("path.surface");d.styleOne(Z,m,b,p,{hovered:!0})}o._hasHoverEvent=!0,p.emit("plotly_hover",{points:O||[n(m,b,d.eventDataKeys)],event:u.event})}},g=function(m){var h=p._fullLayout,b=p._fullData[o.index],_=u.select(this).datum();if(o._hasHoverEvent&&(m.originalEvent=u.event,p.emit("plotly_unhover",{points:[n(_,b,d.eventDataKeys)],event:u.event}),o._hasHoverEvent=!1),o._hasHoverLabel&&(S.loneUnhover(h._hoverlayer.node()),o._hasHoverLabel=!1),T){var I=s.select("path.surface");d.styleOne(I,_,b,p,{hovered:!1})}},A=function(m){var h=p._fullLayout,b=p._fullData[o.index],_=M&&(t.isHierarchyRoot(m)||t.isLeaf(m)),I=t.getPtId(m),C=t.isEntry(m)?t.findEntryWithChild(x,I):t.findEntryWithLevel(x,I),F=t.getPtId(C),R={points:[n(m,b,d.eventDataKeys)],event:u.event};_||(R.nextLevel=F);var z=e.triggerHandler(p,"plotly_"+o.type+"click",R);if(z!==!1&&h.hovermode&&(p._hoverdata=[n(m,b,d.eventDataKeys)],S.click(p,u.event)),!_&&z!==!1&&!p._dragging&&!p._transitioning){v.call("_storeDirectGUIEdit",b,h._tracePreGUI[b.uid],{level:b.level});var D={data:[{level:F}],traces:[o.index]},k={frame:{redraw:!1,duration:d.transitionTime},transition:{duration:d.transitionTime,easing:d.transitionEasing},mode:"immediate",fromcurrent:!0};S.loneUnhover(h._hoverlayer.node()),v.call("animate",p,D,k)}};s.on("mouseover",E),s.on("mouseout",g),s.on("click",A)};function n(i,s,c){for(var p=i.data.data,f={curveNumber:s.index,pointNumber:p.i,data:s._input,fullData:s},d=0;dVe.x1?2*Math.PI:0)+Q;je=ne.rpx1Ce?2*Math.PI:0)+Q;Fe={x0:je,x1:je}}else Fe={rpx0:te,rpx1:te},S.extendFlat(Fe,le(ne));else Fe={rpx0:0,rpx1:0};else Fe={x0:Q,x1:Q};return v(Fe,Ve)}function oe(ne){var be=K[y.getPtId(ne)],Fe,Ve=ne.transform;if(be)Fe=be;else if(Fe={rpx1:ne.rpx1,transform:{textPosAngle:Ve.textPosAngle,scale:0,rotate:Ve.rotate,rCenter:Ve.rCenter,x:Ve.x,y:Ve.y}},H)if(ne.parent)if(Ce){var je=ne.x1>Ce?2*Math.PI:0;Fe.x0=Fe.x1=je}else S.extendFlat(Fe,le(ne));else Fe.x0=Fe.x1=Q;else Fe.x0=Fe.x1=Q;var ut=v(Fe.transform.textPosAngle,ne.transform.textPosAngle),st=v(Fe.rpx1,ne.rpx1),yt=v(Fe.x0,ne.x0),At=v(Fe.x1,ne.x1),Pt=v(Fe.transform.scale,Ve.scale),Zt=v(Fe.transform.rotate,Ve.rotate),vr=Ve.rCenter===0?3:Fe.transform.rCenter===0?1/3:1,Nt=v(Fe.transform.rCenter,Ve.rCenter),Kt=function(nt){return Nt(Math.pow(nt,vr))};return function(nt){var Ee=st(nt),ze=yt(nt),ve=At(nt),_e=Kt(nt),Ie=me(Ee,(ze+ve)/2),Be=ut(nt),We={pxmid:Ie,rpx1:Ee,transform:{textPosAngle:Be,rCenter:_e,x:Ve.x,y:Ve.y}};return t(z.type,Ve,_),{transform:{targetX:Ae(We),targetY:Se(We),scale:Pt(nt),rotate:Zt(nt),rCenter:_e}}}}function le(ne){var be=ne.parent,Fe=K[y.getPtId(be)],Ve={};if(Fe){var je=be.children,ut=je.indexOf(ne),st=je.length,yt=v(Fe.x0,Fe.x1);Ve.x0=yt(ut/st),Ve.x1=yt(ut/st)}else Ve.x0=Ve.x1=0;return Ve}}function x(g){return u.partition().size([2*Math.PI,g.height+1])(g)}j.formatSliceLabel=function(g,A,m,h,b){var _=m.texttemplate,I=m.textinfo;if(!_&&(!I||I==="none"))return"";var C=b.separators,F=h[0],R=g.data.data,z=F.hierarchy,D=y.isHierarchyRoot(g),k=y.getParent(z,g),B=y.getValue(g);if(!_){var O=I.split("+"),q=function(X){return O.indexOf(X)!==-1},Y=[],ee;if(q("label")&&R.label&&Y.push(R.label),R.hasOwnProperty("v")&&q("value")&&Y.push(y.formatValue(R.v,C)),!D){q("current path")&&Y.push(y.getPath(g.data));var te=0;q("percent parent")&&te++,q("percent entry")&&te++,q("percent root")&&te++;var ae=te>1;if(te){var U,H=function(X){ee=y.formatPercent(U,C),ae&&(ee+=" of "+X),Y.push(ee)};q("percent parent")&&!D&&(U=B/y.getValue(k),H("parent")),q("percent entry")&&(U=B/y.getValue(A),H("entry")),q("percent root")&&(U=B/y.getValue(z),H("root"))}}return q("text")&&(ee=S.castOption(m,R.i,"text"),S.isValidTextValue(ee)&&Y.push(ee)),Y.join("
")}var K=S.castOption(m,R.i,"texttemplate");if(!K)return"";var V={};R.label&&(V.label=R.label),R.hasOwnProperty("v")&&(V.value=R.v,V.valueLabel=y.formatValue(R.v,C)),V.currentPath=y.getPath(g.data),D||(V.percentParent=B/y.getValue(k),V.percentParentLabel=y.formatPercent(V.percentParent,C),V.parent=y.getPtLabel(k)),V.percentEntry=B/y.getValue(A),V.percentEntryLabel=y.formatPercent(V.percentEntry,C),V.entry=y.getPtLabel(A),V.percentRoot=B/y.getValue(z),V.percentRootLabel=y.formatPercent(V.percentRoot,C),V.root=y.getPtLabel(z),R.hasOwnProperty("color")&&(V.color=R.color);var $=S.castOption(m,R.i,"text");return(S.isValidTextValue($)||$==="")&&(V.text=$),V.customdata=S.castOption(m,R.i,"customdata"),S.texttemplateString({data:[V,m._meta],fallback:m.texttemplatefallback,labels:V,locale:b._d3locale,template:K})};function M(g){return g.rpx0===0&&S.isFullCircle([g.x0,g.x1])?1:Math.max(0,Math.min(1/(1+1/Math.sin(g.halfangle)),g.ring/2))}function T(g){return E(g.rpx1,g.transform.textPosAngle)}function E(g,A){return[g*Math.sin(A),-g*Math.cos(A)]}}}),tB=De({"src/traces/sunburst/index.js"(j,N){"use strict";N.exports={moduleType:"trace",name:"sunburst",basePlotModule:gz(),categories:[],animatable:!0,attributes:X1(),layoutAttributes:N5(),supplyDefaults:yz(),supplyLayoutDefaults:_z(),calc:$1().calc,crossTraceCalc:$1().crossTraceCalc,plot:Eb().plot,style:jA().style,colorbar:Nf(),meta:{}}}}),rB=De({"lib/sunburst.js"(j,N){"use strict";N.exports=tB()}}),aB=De({"src/traces/treemap/base_plot.js"(j){"use strict";var N=Il();j.name="treemap",j.plot=function(u,v,w,S){N.plotBasePlot(j.name,u,v,w,S)},j.clean=function(u,v,w,S){N.cleanBasePlot(j.name,u,v,w,S)}}}),Wp=De({"src/traces/treemap/constants.js"(j,N){"use strict";N.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}}}),kb=De({"src/traces/treemap/attributes.js"(j,N){"use strict";var{hovertemplateAttrs:u,texttemplateAttrs:v,templatefallbackAttrs:w}=Is(),S=ul(),l=ql().attributes,e=Op(),t=X1(),a=Wp(),r=Ji().extendFlat,n=Hc().pattern;N.exports={labels:t.labels,parents:t.parents,values:t.values,branchvalues:t.branchvalues,count:t.count,level:t.level,maxdepth:t.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:r({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:t.marker.colors,pattern:n,depthfade:{valType:"enumerated",values:[!0,!1,"reversed"],editType:"style"},line:t.marker.line,cornerradius:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},S("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:r({},e.textfont,{}),editType:"calc"},text:e.text,textinfo:t.textinfo,texttemplate:v({editType:"plot"},{keys:a.eventDataKeys.concat(["label","value"])}),texttemplatefallback:w({editType:"plot"}),hovertext:e.hovertext,hoverinfo:t.hoverinfo,hovertemplate:u({},{keys:a.eventDataKeys}),hovertemplatefallback:w(),textfont:e.textfont,insidetextfont:e.insidetextfont,outsidetextfont:r({},e.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:e.sort,root:t.root,domain:l({name:"treemap",trace:!0,editType:"calc"})}}}),UA=De({"src/traces/treemap/layout_attributes.js"(j,N){"use strict";N.exports={treemapcolorway:{valType:"colorlist",editType:"calc"},extendtreemapcolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),nB=De({"src/traces/treemap/defaults.js"(j,N){"use strict";var u=Ar(),v=kb(),w=ii(),S=ql().defaults,l=Bh().handleText,e=Zv().TEXTPAD,t=Np().handleMarkerDefaults,a=Dl(),r=a.hasColorscale,n=a.handleDefaults;N.exports=function(s,c,p,f){function d(b,_){return u.coerce(s,c,v,b,_)}var y=d("labels"),o=d("parents");if(!y||!y.length||!o||!o.length){c.visible=!1;return}var x=d("values");x&&x.length?d("branchvalues"):d("count"),d("level"),d("maxdepth");var M=d("tiling.packing");M==="squarify"&&d("tiling.squarifyratio"),d("tiling.flip"),d("tiling.pad");var T=d("text");d("texttemplate"),d("texttemplatefallback"),c.texttemplate||d("textinfo",u.isArrayOrTypedArray(T)?"text+label":"label"),d("hovertext"),d("hovertemplate"),d("hovertemplatefallback");var E=d("pathbar.visible"),g="auto";l(s,c,f,d,g,{hasPathbar:E,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),d("textposition");var A=c.textposition.indexOf("bottom")!==-1;t(s,c,f,d);var m=c._hasColorscale=r(s,"marker","colors")||(s.marker||{}).coloraxis;m?n(s,c,f,d,{prefix:"marker.",cLetter:"c"}):d("marker.depthfade",!(c.marker.colors||[]).length);var h=c.textfont.size*2;d("marker.pad.t",A?h/4:h),d("marker.pad.l",h/4),d("marker.pad.r",h/4),d("marker.pad.b",A?h:h/4),d("marker.cornerradius"),c._hovered={marker:{line:{width:2,color:w.contrast(f.paper_bgcolor)}}},E&&(d("pathbar.thickness",c.pathbar.textfont.size+2*e),d("pathbar.side"),d("pathbar.edgeshape")),d("sort"),d("root.color"),S(c,f,d),c._length=null}}}),iB=De({"src/traces/treemap/layout_defaults.js"(j,N){"use strict";var u=Ar(),v=UA();N.exports=function(S,l){function e(t,a){return u.coerce(S,l,v,t,a)}e("treemapcolorway",l.colorway),e("extendtreemapcolors")}}}),qA=De({"src/traces/treemap/calc.js"(j){"use strict";var N=$1();j.calc=function(u,v){return N.calc(u,v)},j.crossTraceCalc=function(u){return N._runCrossTraceCalc("treemap",u)}}}),GA=De({"src/traces/treemap/flip_tree.js"(j,N){"use strict";N.exports=function u(v,w,S){var l;S.swapXY&&(l=v.x0,v.x0=v.y0,v.y0=l,l=v.x1,v.x1=v.y1,v.y1=l),S.flipX&&(l=v.x0,v.x0=w[0]-v.x1,v.x1=w[0]-l),S.flipY&&(l=v.y0,v.y0=w[1]-v.y1,v.y1=w[1]-l);var e=v.children;if(e)for(var t=0;t0)for(var h=0;h").join(" ")||"";var ae=v.ensureSingle(ee,"g","slicetext"),U=v.ensureSingle(ae,"text","",function(K){K.attr("data-notex",1)}),H=v.ensureUniformFontSize(s,a.determineTextFont(z,Y,F.font,{onPathbar:!0}));U.text(Y._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(w.font,H).call(S.convertToTspans,s),Y.textBB=w.bBox(U.node()),Y.transform=g(Y,{fontSize:H.size,onPathbar:!0}),Y.transform.fontSize=H.size,m?U.transition().attrTween("transform",function(K){var V=_(K,n,I,[o,x]);return function($){return A(V($))}}):U.attr("transform",A(Y))})}}}),sB=De({"src/traces/treemap/plot_one.js"(j,N){"use strict";var u=Qn(),v=(Hp(),ts(rp)).interpolate,w=ev(),S=Ar(),l=Zv().TEXTPAD,e=Rp(),t=e.toMoveInsideBar,a=Yf(),r=a.recordMinTextSize,n=Wp(),i=oB();function s(c){return w.isHierarchyRoot(c)?"":w.getPtId(c)}N.exports=function(p,f,d,y,o){var x=p._fullLayout,M=f[0],T=M.trace,E=T.type,g=E==="icicle",A=M.hierarchy,m=w.findEntryWithLevel(A,T.level),h=u.select(d),b=h.selectAll("g.pathbar"),_=h.selectAll("g.slice");if(!m){b.remove(),_.remove();return}var I=w.isHierarchyRoot(m),C=!x.uniformtext.mode&&w.hasTransition(y),F=w.getMaxDepth(T),R=function(Nt){return Nt.data.depth-m.data.depth-1?B+Y:-(q+Y):0,te={x0:O,x1:O,y0:ee,y1:ee+q},ae=function(Nt,Kt,nt){var Ee=T.tiling.pad,ze=function(Be){return Be-Ee<=Kt.x0},ve=function(Be){return Be+Ee>=Kt.x1},_e=function(Be){return Be-Ee<=Kt.y0},Ie=function(Be){return Be+Ee>=Kt.y1};return Nt.x0===Kt.x0&&Nt.x1===Kt.x1&&Nt.y0===Kt.y0&&Nt.y1===Kt.y1?{x0:Nt.x0,x1:Nt.x1,y0:Nt.y0,y1:Nt.y1}:{x0:ze(Nt.x0-Ee)?0:ve(Nt.x0-Ee)?nt[0]:Nt.x0,x1:ze(Nt.x1+Ee)?0:ve(Nt.x1+Ee)?nt[0]:Nt.x1,y0:_e(Nt.y0-Ee)?0:Ie(Nt.y0-Ee)?nt[1]:Nt.y0,y1:_e(Nt.y1+Ee)?0:Ie(Nt.y1+Ee)?nt[1]:Nt.y1}},U=null,H={},K={},V=null,$=function(Nt,Kt){return Kt?H[s(Nt)]:K[s(Nt)]},X=function(Nt,Kt,nt,Ee){if(Kt)return H[s(A)]||te;var ze=K[T.level]||nt;return R(Nt)?ae(Nt,ze,Ee):{}};M.hasMultipleRoots&&I&&F++,T._maxDepth=F,T._backgroundColor=x.paper_bgcolor,T._entryDepth=m.data.depth,T._atRootLevel=I;var Z=-k/2+z.l+z.w*(D.x[1]+D.x[0])/2,Q=-B/2+z.t+z.h*(1-(D.y[1]+D.y[0])/2),re=function(Nt){return Z+Nt},ce=function(Nt){return Q+Nt},me=ce(0),ye=re(0),Ae=function(Nt){return ye+Nt},Se=function(Nt){return me+Nt};function Ce(Nt,Kt){return Nt+","+Kt}var qe=Ae(0),Ue=function(Nt){Nt.x=Math.max(qe,Nt.x)},xe=T.pathbar.edgeshape,he=function(Nt){var Kt=Ae(Math.max(Math.min(Nt.x0,Nt.x0),0)),nt=Ae(Math.min(Math.max(Nt.x1,Nt.x1),O)),Ee=Se(Nt.y0),ze=Se(Nt.y1),ve=q/2,_e={},Ie={};_e.x=Kt,Ie.x=nt,_e.y=Ie.y=(Ee+ze)/2;var Be={x:Kt,y:Ee},We={x:nt,y:Ee},Xe={x:nt,y:ze},mt={x:Kt,y:ze};return xe===">"?(Be.x-=ve,We.x-=ve,Xe.x-=ve,mt.x-=ve):xe==="/"?(Xe.x-=ve,mt.x-=ve,_e.x-=ve/2,Ie.x-=ve/2):xe==="\\"?(Be.x-=ve,We.x-=ve,_e.x-=ve/2,Ie.x-=ve/2):xe==="<"&&(_e.x-=ve,Ie.x-=ve),Ue(Be),Ue(mt),Ue(_e),Ue(We),Ue(Xe),Ue(Ie),"M"+Ce(Be.x,Be.y)+"L"+Ce(We.x,We.y)+"L"+Ce(Ie.x,Ie.y)+"L"+Ce(Xe.x,Xe.y)+"L"+Ce(mt.x,mt.y)+"L"+Ce(_e.x,_e.y)+"Z"},oe=T[g?"tiling":"marker"].pad,le=function(Nt){return T.textposition.indexOf(Nt)!==-1},ne=le("top"),be=le("left"),Fe=le("right"),Ve=le("bottom"),je=function(Nt){var Kt=re(Nt.x0),nt=re(Nt.x1),Ee=ce(Nt.y0),ze=ce(Nt.y1),ve=nt-Kt,_e=ze-Ee;if(!ve||!_e)return"";var Ie=T.marker.cornerradius||0,Be=Math.min(Ie,ve/2,_e/2);Be&&Nt.data&&Nt.data.data&&Nt.data.data.label&&(ne&&(Be=Math.min(Be,oe.t)),be&&(Be=Math.min(Be,oe.l)),Fe&&(Be=Math.min(Be,oe.r)),Ve&&(Be=Math.min(Be,oe.b)));var We=function(Xe,mt){return Be?"a"+Ce(Be,Be)+" 0 0 1 "+Ce(Xe,mt):""};return"M"+Ce(Kt,Ee+Be)+We(Be,-Be)+"L"+Ce(nt-Be,Ee)+We(Be,Be)+"L"+Ce(nt,ze-Be)+We(-Be,Be)+"L"+Ce(Kt+Be,ze)+We(-Be,-Be)+"Z"},ut=function(Nt,Kt){var nt=Nt.x0,Ee=Nt.x1,ze=Nt.y0,ve=Nt.y1,_e=Nt.textBB,Ie=ne||Kt.isHeader&&!Ve,Be=Ie?"start":Ve?"end":"middle",We=le("right"),Xe=le("left")||Kt.onPathbar,mt=Xe?-1:We?1:0;if(Kt.isHeader){if(nt+=(g?oe:oe.l)-l,Ee-=(g?oe:oe.r)-l,nt>=Ee){var ft=(nt+Ee)/2;nt=ft,Ee=ft}var ht;Ve?(ht=ve-(g?oe:oe.b),ze-1,flipY:D.tiling.flip.indexOf("y")>-1,pad:{inner:D.tiling.pad,top:D.marker.pad.t,left:D.marker.pad.l,right:D.marker.pad.r,bottom:D.marker.pad.b}}),ee=Y.descendants(),te=1/0,ae=-1/0;ee.forEach(function($){var X=$.depth;X>=D._maxDepth?($.x0=$.x1=($.x0+$.x1)/2,$.y0=$.y1=($.y0+$.y1)/2):(te=Math.min(te,X),ae=Math.max(ae,X))}),d=d.data(ee,a.getPtId),D._maxVisibleLayers=isFinite(ae)?ae-te+1:0,d.enter().append("g").classed("slice",!0),h(d,i,C,[o,x],E),d.order();var U=null;if(m&&I){var H=a.getPtId(I);d.each(function($){U===null&&a.getPtId($)===H&&(U={x0:$.x0,x1:$.x1,y0:$.y0,y1:$.y1})})}var K=function(){return U||{x0:0,x1:o,y0:0,y1:x}},V=d;return m&&(V=V.transition().each("end",function(){var $=u.select(this);a.setSliceCursor($,c,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),V.each(function($){var X=a.isHeader($,D);$._x0=M($.x0),$._x1=M($.x1),$._y0=T($.y0),$._y1=T($.y1),$._hoverX=M($.x1-D.marker.pad.r),$._hoverY=T(O?$.y1-D.marker.pad.b/2:$.y0+D.marker.pad.t/2);var Z=u.select(this),Q=v.ensureSingle(Z,"path","surface",function(Se){Se.style("pointer-events",F?"none":"all")});m?Q.transition().attrTween("d",function(Se){var Ce=b(Se,i,K(),[o,x]);return function(qe){return E(Ce(qe))}}):Q.attr("d",E),Z.call(r,f,c,p,{styleOne:e,eventDataKeys:t.eventDataKeys,transitionTime:t.CLICK_TRANSITION_TIME,transitionEasing:t.CLICK_TRANSITION_EASING}).call(a.setSliceCursor,c,{isTransitioning:c._transitioning}),Q.call(e,$,D,c,{hovered:!1}),$.x0===$.x1||$.y0===$.y1?$._text="":X?$._text=q?"":a.getPtLabel($)||"":$._text=n($,f,D,p,R)||"";var re=v.ensureSingle(Z,"g","slicetext"),ce=v.ensureSingle(re,"text","",function(Se){Se.attr("data-notex",1)}),me=v.ensureUniformFontSize(c,a.determineTextFont(D,$,R.font)),ye=$._text||" ",Ae=X&&ye.indexOf("
")===-1;ce.text(ye).classed("slicetext",!0).attr("text-anchor",B?"end":k||Ae?"start":"middle").call(w.font,me).call(S.convertToTspans,c),$.textBB=w.bBox(ce.node()),$.transform=g($,{fontSize:me.size,isHeader:X}),$.transform.fontSize=me.size,m?ce.transition().attrTween("transform",function(Se){var Ce=_(Se,i,K(),[o,x]);return function(qe){return A(Ce(qe))}}):ce.attr("transform",A($))}),U}}}),uB=De({"src/traces/treemap/plot.js"(j,N){"use strict";var u=HA(),v=lB();N.exports=function(S,l,e,t){return u(S,l,e,t,{type:"treemap",drawDescendants:v})}}}),cB=De({"src/traces/treemap/index.js"(j,N){"use strict";N.exports={moduleType:"trace",name:"treemap",basePlotModule:aB(),categories:[],animatable:!0,attributes:kb(),layoutAttributes:UA(),supplyDefaults:nB(),supplyLayoutDefaults:iB(),calc:qA().calc,crossTraceCalc:qA().crossTraceCalc,plot:uB(),style:Cb().style,colorbar:Nf(),meta:{}}}}),fB=De({"lib/treemap.js"(j,N){"use strict";N.exports=cB()}}),hB=De({"src/traces/icicle/base_plot.js"(j){"use strict";var N=Il();j.name="icicle",j.plot=function(u,v,w,S){N.plotBasePlot(j.name,u,v,w,S)},j.clean=function(u,v,w,S){N.cleanBasePlot(j.name,u,v,w,S)}}}),WA=De({"src/traces/icicle/attributes.js"(j,N){"use strict";var{hovertemplateAttrs:u,texttemplateAttrs:v,templatefallbackAttrs:w}=Is(),S=ul(),l=ql().attributes,e=Op(),t=X1(),a=kb(),r=Wp(),n=Ji().extendFlat,i=Hc().pattern;N.exports={labels:t.labels,parents:t.parents,values:t.values,branchvalues:t.branchvalues,count:t.count,level:t.level,maxdepth:t.maxdepth,tiling:{orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"plot"},flip:a.tiling.flip,pad:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},marker:n({colors:t.marker.colors,line:t.marker.line,pattern:i,editType:"calc"},S("marker",{colorAttr:"colors",anim:!1})),leaf:t.leaf,pathbar:a.pathbar,text:e.text,textinfo:t.textinfo,texttemplate:v({editType:"plot"},{keys:r.eventDataKeys.concat(["label","value"])}),texttemplatefallback:w({editType:"plot"}),hovertext:e.hovertext,hoverinfo:t.hoverinfo,hovertemplate:u({},{keys:r.eventDataKeys}),hovertemplatefallback:w(),textfont:e.textfont,insidetextfont:e.insidetextfont,outsidetextfont:a.outsidetextfont,textposition:a.textposition,sort:e.sort,root:t.root,domain:l({name:"icicle",trace:!0,editType:"calc"})}}}),YA=De({"src/traces/icicle/layout_attributes.js"(j,N){"use strict";N.exports={iciclecolorway:{valType:"colorlist",editType:"calc"},extendiciclecolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),dB=De({"src/traces/icicle/defaults.js"(j,N){"use strict";var u=Ar(),v=WA(),w=ii(),S=ql().defaults,l=Bh().handleText,e=Zv().TEXTPAD,t=Np().handleMarkerDefaults,a=Dl(),r=a.hasColorscale,n=a.handleDefaults;N.exports=function(s,c,p,f){function d(A,m){return u.coerce(s,c,v,A,m)}var y=d("labels"),o=d("parents");if(!y||!y.length||!o||!o.length){c.visible=!1;return}var x=d("values");x&&x.length?d("branchvalues"):d("count"),d("level"),d("maxdepth"),d("tiling.orientation"),d("tiling.flip"),d("tiling.pad");var M=d("text");d("texttemplate"),d("texttemplatefallback"),c.texttemplate||d("textinfo",u.isArrayOrTypedArray(M)?"text+label":"label"),d("hovertext"),d("hovertemplate"),d("hovertemplatefallback");var T=d("pathbar.visible"),E="auto";l(s,c,f,d,E,{hasPathbar:T,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),d("textposition"),t(s,c,f,d);var g=c._hasColorscale=r(s,"marker","colors")||(s.marker||{}).coloraxis;g&&n(s,c,f,d,{prefix:"marker.",cLetter:"c"}),d("leaf.opacity",g?1:.7),c._hovered={marker:{line:{width:2,color:w.contrast(f.paper_bgcolor)}}},T&&(d("pathbar.thickness",c.pathbar.textfont.size+2*e),d("pathbar.side"),d("pathbar.edgeshape")),d("sort"),d("root.color"),S(c,f,d),c._length=null}}}),vB=De({"src/traces/icicle/layout_defaults.js"(j,N){"use strict";var u=Ar(),v=YA();N.exports=function(S,l){function e(t,a){return u.coerce(S,l,v,t,a)}e("iciclecolorway",l.colorway),e("extendiciclecolors")}}}),XA=De({"src/traces/icicle/calc.js"(j){"use strict";var N=$1();j.calc=function(u,v){return N.calc(u,v)},j.crossTraceCalc=function(u){return N._runCrossTraceCalc("icicle",u)}}}),pB=De({"src/traces/icicle/partition.js"(j,N){"use strict";var u=Z1(),v=GA();N.exports=function(S,l,e){var t=e.flipX,a=e.flipY,r=e.orientation==="h",n=e.maxDepth,i=l[0],s=l[1];n&&(i=(S.height+1)*l[0]/Math.min(S.height+1,n),s=(S.height+1)*l[1]/Math.min(S.height+1,n));var c=u.partition().padding(e.pad.inner).size(r?[l[1],i]:[l[0],s])(S);return(r||t||a)&&v(c,l,{swapXY:r,flipX:t,flipY:a}),c}}}),ZA=De({"src/traces/icicle/style.js"(j,N){"use strict";var u=Qn(),v=ii(),w=Ar(),S=Yf().resizeText,l=Sb();function e(a){var r=a._fullLayout._iciclelayer.selectAll(".trace");S(a,r,"icicle"),r.each(function(n){var i=u.select(this),s=n[0],c=s.trace;i.style("opacity",c.opacity),i.selectAll("path.surface").each(function(p){u.select(this).call(t,p,c,a)})})}function t(a,r,n,i){var s=r.data.data,c=!r.children,p=s.i,f=w.castOption(n,p,"marker.line.color")||v.defaultLine,d=w.castOption(n,p,"marker.line.width")||0;a.call(l,r,n,i).style("stroke-width",d).call(v.stroke,f).style("opacity",c?n.leaf.opacity:null)}N.exports={style:e,styleOne:t}}}),mB=De({"src/traces/icicle/draw_descendants.js"(j,N){"use strict";var u=Qn(),v=Ar(),w=Ki(),S=Xs(),l=pB(),e=ZA().styleOne,t=Wp(),a=ev(),r=hg(),n=Eb().formatSliceLabel,i=!1;N.exports=function(c,p,f,d,y){var o=y.width,x=y.height,M=y.viewX,T=y.viewY,E=y.pathSlice,g=y.toMoveInsideSlice,A=y.strTransform,m=y.hasTransition,h=y.handleSlicesExit,b=y.makeUpdateSliceInterpolator,_=y.makeUpdateTextInterpolator,I=y.prevEntry,C={},F=c._context.staticPlot,R=c._fullLayout,z=p[0],D=z.trace,k=D.textposition.indexOf("left")!==-1,B=D.textposition.indexOf("right")!==-1,O=D.textposition.indexOf("bottom")!==-1,q=l(f,[o,x],{flipX:D.tiling.flip.indexOf("x")>-1,flipY:D.tiling.flip.indexOf("y")>-1,orientation:D.tiling.orientation,pad:{inner:D.tiling.pad},maxDepth:D._maxDepth}),Y=q.descendants(),ee=1/0,te=-1/0;Y.forEach(function(V){var $=V.depth;$>=D._maxDepth?(V.x0=V.x1=(V.x0+V.x1)/2,V.y0=V.y1=(V.y0+V.y1)/2):(ee=Math.min(ee,$),te=Math.max(te,$))}),d=d.data(Y,a.getPtId),D._maxVisibleLayers=isFinite(te)?te-ee+1:0,d.enter().append("g").classed("slice",!0),h(d,i,C,[o,x],E),d.order();var ae=null;if(m&&I){var U=a.getPtId(I);d.each(function(V){ae===null&&a.getPtId(V)===U&&(ae={x0:V.x0,x1:V.x1,y0:V.y0,y1:V.y1})})}var H=function(){return ae||{x0:0,x1:o,y0:0,y1:x}},K=d;return m&&(K=K.transition().each("end",function(){var V=u.select(this);a.setSliceCursor(V,c,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),K.each(function(V){V._x0=M(V.x0),V._x1=M(V.x1),V._y0=T(V.y0),V._y1=T(V.y1),V._hoverX=M(V.x1-D.tiling.pad),V._hoverY=T(O?V.y1-D.tiling.pad/2:V.y0+D.tiling.pad/2);var $=u.select(this),X=v.ensureSingle($,"path","surface",function(ce){ce.style("pointer-events",F?"none":"all")});m?X.transition().attrTween("d",function(ce){var me=b(ce,i,H(),[o,x],{orientation:D.tiling.orientation,flipX:D.tiling.flip.indexOf("x")>-1,flipY:D.tiling.flip.indexOf("y")>-1});return function(ye){return E(me(ye))}}):X.attr("d",E),$.call(r,f,c,p,{styleOne:e,eventDataKeys:t.eventDataKeys,transitionTime:t.CLICK_TRANSITION_TIME,transitionEasing:t.CLICK_TRANSITION_EASING}).call(a.setSliceCursor,c,{isTransitioning:c._transitioning}),X.call(e,V,D,c,{hovered:!1}),V.x0===V.x1||V.y0===V.y1?V._text="":V._text=n(V,f,D,p,R)||"";var Z=v.ensureSingle($,"g","slicetext"),Q=v.ensureSingle(Z,"text","",function(ce){ce.attr("data-notex",1)}),re=v.ensureUniformFontSize(c,a.determineTextFont(D,V,R.font));Q.text(V._text||" ").classed("slicetext",!0).attr("text-anchor",B?"end":k?"start":"middle").call(w.font,re).call(S.convertToTspans,c),V.textBB=w.bBox(Q.node()),V.transform=g(V,{fontSize:re.size}),V.transform.fontSize=re.size,m?Q.transition().attrTween("transform",function(ce){var me=_(ce,i,H(),[o,x]);return function(ye){return A(me(ye))}}):Q.attr("transform",A(V))}),ae}}}),gB=De({"src/traces/icicle/plot.js"(j,N){"use strict";var u=HA(),v=mB();N.exports=function(S,l,e,t){return u(S,l,e,t,{type:"icicle",drawDescendants:v})}}}),yB=De({"src/traces/icicle/index.js"(j,N){"use strict";N.exports={moduleType:"trace",name:"icicle",basePlotModule:hB(),categories:[],animatable:!0,attributes:WA(),layoutAttributes:YA(),supplyDefaults:dB(),supplyLayoutDefaults:vB(),calc:XA().calc,crossTraceCalc:XA().crossTraceCalc,plot:gB(),style:ZA().style,colorbar:Nf(),meta:{}}}}),_B=De({"lib/icicle.js"(j,N){"use strict";N.exports=yB()}}),xB=De({"src/traces/funnelarea/base_plot.js"(j){"use strict";var N=Il();j.name="funnelarea",j.plot=function(u,v,w,S){N.plotBasePlot(j.name,u,v,w,S)},j.clean=function(u,v,w,S){N.cleanBasePlot(j.name,u,v,w,S)}}}),$A=De({"src/traces/funnelarea/attributes.js"(j,N){"use strict";var u=Op(),v=Bs(),w=ql().attributes,{hovertemplateAttrs:S,texttemplateAttrs:l,templatefallbackAttrs:e}=Is(),t=Ji().extendFlat;N.exports={labels:u.labels,label0:u.label0,dlabel:u.dlabel,values:u.values,marker:{colors:u.marker.colors,line:{color:t({},u.marker.line.color,{dflt:null}),width:t({},u.marker.line.width,{dflt:1}),editType:"calc"},pattern:u.marker.pattern,editType:"calc"},text:u.text,hovertext:u.hovertext,scalegroup:t({},u.scalegroup,{}),textinfo:t({},u.textinfo,{flags:["label","text","value","percent"]}),texttemplate:l({editType:"plot"},{keys:["label","color","value","text","percent"]}),texttemplatefallback:e({editType:"plot"}),hoverinfo:t({},v.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:S({},{keys:["label","color","value","text","percent"]}),hovertemplatefallback:e(),textposition:t({},u.textposition,{values:["inside","none"],dflt:"inside"}),textfont:u.textfont,insidetextfont:u.insidetextfont,title:{text:u.title.text,font:u.title.font,position:t({},u.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:w({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"}}}}),KA=De({"src/traces/funnelarea/layout_attributes.js"(j,N){"use strict";var u=$x().hiddenlabels;N.exports={hiddenlabels:u,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),bB=De({"src/traces/funnelarea/defaults.js"(j,N){"use strict";var u=Ar(),v=$A(),w=ql().defaults,S=Bh().handleText,l=Np().handleLabelsAndValues,e=Np().handleMarkerDefaults;N.exports=function(a,r,n,i){function s(E,g){return u.coerce(a,r,v,E,g)}var c=s("labels"),p=s("values"),f=l(c,p),d=f.len;if(r._hasLabels=f.hasLabels,r._hasValues=f.hasValues,!r._hasLabels&&r._hasValues&&(s("label0"),s("dlabel")),!d){r.visible=!1;return}r._length=d,e(a,r,i,s),s("scalegroup");var y=s("text"),o=s("texttemplate");s("texttemplatefallback");var x;if(o||(x=s("textinfo",Array.isArray(y)?"text+percent":"percent")),s("hovertext"),s("hovertemplate"),s("hovertemplatefallback"),o||x&&x!=="none"){var M=s("textposition");S(a,r,i,s,M,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else x==="none"&&s("textposition","none");w(r,i,s);var T=s("title.text");T&&(s("title.position"),u.coerceFont(s,"title.font",i.font)),s("aspectratio"),s("baseratio")}}}),wB=De({"src/traces/funnelarea/layout_defaults.js"(j,N){"use strict";var u=Ar(),v=KA();N.exports=function(S,l){function e(t,a){return u.coerce(S,l,v,t,a)}e("hiddenlabels"),e("funnelareacolorway",l.colorway),e("extendfunnelareacolors")}}}),JA=De({"src/traces/funnelarea/calc.js"(j,N){"use strict";var u=Cm();function v(S,l){return u.calc(S,l)}function w(S){u.crossTraceCalc(S,{type:"funnelarea"})}N.exports={calc:v,crossTraceCalc:w}}}),AB=De({"src/traces/funnelarea/plot.js"(j,N){"use strict";var u=Qn(),v=Ki(),w=Ar(),S=w.strScale,l=w.strTranslate,e=Xs(),t=Rp(),a=t.toMoveInsideBar,r=Yf(),n=r.recordMinTextSize,i=r.clearMinTextSize,s=Hv(),c=Kx(),p=c.attachFxHandlers,f=c.determineInsideTextFont,d=c.layoutAreas,y=c.prerenderTitles,o=c.positionTitleOutside,x=c.formatSliceLabel;N.exports=function(A,m){var h=A._context.staticPlot,b=A._fullLayout;i("funnelarea",b),y(m,A),d(m,b._size),w.makeTraceGroups(b._funnelarealayer,m,"trace").each(function(_){var I=u.select(this),C=_[0],F=C.trace;E(_),I.each(function(){var R=u.select(this).selectAll("g.slice").data(_);R.enter().append("g").classed("slice",!0),R.exit().remove(),R.each(function(D,k){if(D.hidden){u.select(this).selectAll("path,g").remove();return}D.pointNumber=D.i,D.curveNumber=F.index;var B=C.cx,O=C.cy,q=u.select(this),Y=q.selectAll("path.surface").data([D]);Y.enter().append("path").classed("surface",!0).style({"pointer-events":h?"none":"all"}),q.call(p,A,_);var ee="M"+(B+D.TR[0])+","+(O+D.TR[1])+M(D.TR,D.BR)+M(D.BR,D.BL)+M(D.BL,D.TL)+"Z";Y.attr("d",ee),x(A,D,C);var te=s.castOption(F.textposition,D.pts),ae=q.selectAll("g.slicetext").data(D.text&&te!=="none"?[0]:[]);ae.enter().append("g").classed("slicetext",!0),ae.exit().remove(),ae.each(function(){var U=w.ensureSingle(u.select(this),"text","",function(re){re.attr("data-notex",1)}),H=w.ensureUniformFontSize(A,f(F,D,b.font));U.text(D.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(v.font,H).call(e.convertToTspans,A);var K=v.bBox(U.node()),V,$,X,Z=Math.min(D.BL[1],D.BR[1])+O,Q=Math.max(D.TL[1],D.TR[1])+O;$=Math.max(D.TL[0],D.BL[0])+B,X=Math.min(D.TR[0],D.BR[0])+B,V=a($,X,Z,Q,K,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"}),V.fontSize=H.size,n(F.type,V,b),_[k].transform=V,w.setTransormAndDisplay(U,V)})});var z=u.select(this).selectAll("g.titletext").data(F.title.text?[0]:[]);z.enter().append("g").classed("titletext",!0),z.exit().remove(),z.each(function(){var D=w.ensureSingle(u.select(this),"text","",function(O){O.attr("data-notex",1)}),k=F.title.text;F._meta&&(k=w.templateString(k,F._meta)),D.text(k).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(v.font,F.title.font).call(e.convertToTspans,A);var B=o(C,b._size);D.attr("transform",l(B.x,B.y)+S(Math.min(1,B.scale))+l(B.tx,B.ty))})})})};function M(g,A){var m=A[0]-g[0],h=A[1]-g[1];return"l"+m+","+h}function T(g,A){return[.5*(g[0]+A[0]),.5*(g[1]+A[1])]}function E(g){if(!g.length)return;var A=g[0],m=A.trace,h=m.aspectratio,b=m.baseratio;b>.999&&(b=.999);var _=Math.pow(b,2),I=A.vTotal,C=I*_/(1-_),F=I,R=C/I;function z(){var ce=Math.sqrt(R);return{x:ce,y:-ce}}function D(){var ce=z();return[ce.x,ce.y]}var k,B=[];B.push(D());var O,q;for(O=g.length-1;O>-1;O--)if(q=g[O],!q.hidden){var Y=q.v/F;R+=Y,B.push(D())}var ee=1/0,te=-1/0;for(O=0;O-1;O--)if(q=g[O],!q.hidden){Z+=1;var Q=B[Z][0],re=B[Z][1];q.TL=[-Q,re],q.TR=[Q,re],q.BL=$,q.BR=X,q.pxmid=T(q.TR,q.BR),$=q.TL,X=q.TR}}}}),TB=De({"src/traces/funnelarea/style.js"(j,N){"use strict";var u=Qn(),v=vm(),w=Yf().resizeText;N.exports=function(l){var e=l._fullLayout._funnelarealayer.selectAll(".trace");w(l,e,"funnelarea"),e.each(function(t){var a=t[0],r=a.trace,n=u.select(this);n.style({opacity:r.opacity}),n.selectAll("path.surface").each(function(i){u.select(this).call(v,i,r,l)})})}}}),MB=De({"src/traces/funnelarea/index.js"(j,N){"use strict";N.exports={moduleType:"trace",name:"funnelarea",basePlotModule:xB(),categories:["pie-like","funnelarea","showLegend"],attributes:$A(),layoutAttributes:KA(),supplyDefaults:bB(),supplyLayoutDefaults:wB(),calc:JA().calc,crossTraceCalc:JA().crossTraceCalc,plot:AB(),style:TB(),styleOne:vm(),meta:{}}}}),SB=De({"lib/funnelarea.js"(j,N){"use strict";N.exports=MB()}}),pf=De({"stackgl_modules/index.js"(j,N){"use strict";(function(){var u={1964:function(l,e,t){l.exports={alpha_shape:t(3502),convex_hull:t(7352),delaunay_triangulate:t(7642),gl_cone3d:t(6405),gl_error3d:t(9165),gl_line3d:t(5714),gl_mesh3d:t(7201),gl_plot3d:t(4100),gl_scatter3d:t(8418),gl_streamtube3d:t(7815),gl_surface3d:t(9499),ndarray:t(9618),ndarray_linear_interpolate:t(4317)}},4793:function(l,e,t){"use strict";var a,r=t(7507),n=t(3778),i=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;e.hp=f,a=h,e.IS=50;var s=2147483647;a=s,f.TYPED_ARRAY_SUPPORT=c(),!f.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 c(){try{var xe=new Uint8Array(1),he={foo:function(){return 42}};return Object.setPrototypeOf(he,Uint8Array.prototype),Object.setPrototypeOf(xe,he),xe.foo()===42}catch{return!1}}Object.defineProperty(f.prototype,"parent",{enumerable:!0,get:function(){if(f.isBuffer(this))return this.buffer}}),Object.defineProperty(f.prototype,"offset",{enumerable:!0,get:function(){if(f.isBuffer(this))return this.byteOffset}});function p(xe){if(xe>s)throw new RangeError('The value "'+xe+'" is invalid for option "size"');var he=new Uint8Array(xe);return Object.setPrototypeOf(he,f.prototype),he}function f(xe,he,oe){if(typeof xe=="number"){if(typeof he=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return x(xe)}return d(xe,he,oe)}f.poolSize=8192;function d(xe,he,oe){if(typeof xe=="string")return M(xe,he);if(ArrayBuffer.isView(xe))return E(xe);if(xe==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof xe);if(Ce(xe,ArrayBuffer)||xe&&Ce(xe.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Ce(xe,SharedArrayBuffer)||xe&&Ce(xe.buffer,SharedArrayBuffer)))return g(xe,he,oe);if(typeof xe=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var le=xe.valueOf&&xe.valueOf();if(le!=null&&le!==xe)return f.from(le,he,oe);var ne=A(xe);if(ne)return ne;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof xe[Symbol.toPrimitive]=="function")return f.from(xe[Symbol.toPrimitive]("string"),he,oe);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof xe)}f.from=function(xe,he,oe){return d(xe,he,oe)},Object.setPrototypeOf(f.prototype,Uint8Array.prototype),Object.setPrototypeOf(f,Uint8Array);function y(xe){if(typeof xe!="number")throw new TypeError('"size" argument must be of type number');if(xe<0)throw new RangeError('The value "'+xe+'" is invalid for option "size"')}function o(xe,he,oe){return y(xe),xe<=0?p(xe):he!==void 0?typeof oe=="string"?p(xe).fill(he,oe):p(xe).fill(he):p(xe)}f.alloc=function(xe,he,oe){return o(xe,he,oe)};function x(xe){return y(xe),p(xe<0?0:m(xe)|0)}f.allocUnsafe=function(xe){return x(xe)},f.allocUnsafeSlow=function(xe){return x(xe)};function M(xe,he){if((typeof he!="string"||he==="")&&(he="utf8"),!f.isEncoding(he))throw new TypeError("Unknown encoding: "+he);var oe=b(xe,he)|0,le=p(oe),ne=le.write(xe,he);return ne!==oe&&(le=le.slice(0,ne)),le}function T(xe){for(var he=xe.length<0?0:m(xe.length)|0,oe=p(he),le=0;le=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return xe|0}function h(xe){return+xe!=xe&&(xe=0),f.alloc(+xe)}f.isBuffer=function(he){return he!=null&&he._isBuffer===!0&&he!==f.prototype},f.compare=function(he,oe){if(Ce(he,Uint8Array)&&(he=f.from(he,he.offset,he.byteLength)),Ce(oe,Uint8Array)&&(oe=f.from(oe,oe.offset,oe.byteLength)),!f.isBuffer(he)||!f.isBuffer(oe))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(he===oe)return 0;for(var le=he.length,ne=oe.length,be=0,Fe=Math.min(le,ne);bene.length?f.from(Fe).copy(ne,be):Uint8Array.prototype.set.call(ne,Fe,be);else if(f.isBuffer(Fe))Fe.copy(ne,be);else throw new TypeError('"list" argument must be an Array of Buffers');be+=Fe.length}return ne};function b(xe,he){if(f.isBuffer(xe))return xe.length;if(ArrayBuffer.isView(xe)||Ce(xe,ArrayBuffer))return xe.byteLength;if(typeof xe!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof xe);var oe=xe.length,le=arguments.length>2&&arguments[2]===!0;if(!le&&oe===0)return 0;for(var ne=!1;;)switch(he){case"ascii":case"latin1":case"binary":return oe;case"utf8":case"utf-8":return ce(xe).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return oe*2;case"hex":return oe>>>1;case"base64":return Ae(xe).length;default:if(ne)return le?-1:ce(xe).length;he=(""+he).toLowerCase(),ne=!0}}f.byteLength=b;function _(xe,he,oe){var le=!1;if((he===void 0||he<0)&&(he=0),he>this.length||((oe===void 0||oe>this.length)&&(oe=this.length),oe<=0)||(oe>>>=0,he>>>=0,oe<=he))return"";for(xe||(xe="utf8");;)switch(xe){case"hex":return U(this,he,oe);case"utf8":case"utf-8":return q(this,he,oe);case"ascii":return te(this,he,oe);case"latin1":case"binary":return ae(this,he,oe);case"base64":return O(this,he,oe);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return H(this,he,oe);default:if(le)throw new TypeError("Unknown encoding: "+xe);xe=(xe+"").toLowerCase(),le=!0}}f.prototype._isBuffer=!0;function I(xe,he,oe){var le=xe[he];xe[he]=xe[oe],xe[oe]=le}f.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 oe=0;oeoe&&(he+=" ... "),""},i&&(f.prototype[i]=f.prototype.inspect),f.prototype.compare=function(he,oe,le,ne,be){if(Ce(he,Uint8Array)&&(he=f.from(he,he.offset,he.byteLength)),!f.isBuffer(he))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof he);if(oe===void 0&&(oe=0),le===void 0&&(le=he?he.length:0),ne===void 0&&(ne=0),be===void 0&&(be=this.length),oe<0||le>he.length||ne<0||be>this.length)throw new RangeError("out of range index");if(ne>=be&&oe>=le)return 0;if(ne>=be)return-1;if(oe>=le)return 1;if(oe>>>=0,le>>>=0,ne>>>=0,be>>>=0,this===he)return 0;for(var Fe=be-ne,Ve=le-oe,je=Math.min(Fe,Ve),ut=this.slice(ne,be),st=he.slice(oe,le),yt=0;yt2147483647?oe=2147483647:oe<-2147483648&&(oe=-2147483648),oe=+oe,qe(oe)&&(oe=ne?0:xe.length-1),oe<0&&(oe=xe.length+oe),oe>=xe.length){if(ne)return-1;oe=xe.length-1}else if(oe<0)if(ne)oe=0;else return-1;if(typeof he=="string"&&(he=f.from(he,le)),f.isBuffer(he))return he.length===0?-1:F(xe,he,oe,le,ne);if(typeof he=="number")return he=he&255,typeof Uint8Array.prototype.indexOf=="function"?ne?Uint8Array.prototype.indexOf.call(xe,he,oe):Uint8Array.prototype.lastIndexOf.call(xe,he,oe):F(xe,[he],oe,le,ne);throw new TypeError("val must be string, number or Buffer")}function F(xe,he,oe,le,ne){var be=1,Fe=xe.length,Ve=he.length;if(le!==void 0&&(le=String(le).toLowerCase(),le==="ucs2"||le==="ucs-2"||le==="utf16le"||le==="utf-16le")){if(xe.length<2||he.length<2)return-1;be=2,Fe/=2,Ve/=2,oe/=2}function je(Pt,Zt){return be===1?Pt[Zt]:Pt.readUInt16BE(Zt*be)}var ut;if(ne){var st=-1;for(ut=oe;utFe&&(oe=Fe-Ve),ut=oe;ut>=0;ut--){for(var yt=!0,At=0;Atne&&(le=ne)):le=ne;var be=he.length;le>be/2&&(le=be/2);for(var Fe=0;Fe>>0,isFinite(le)?(le=le>>>0,ne===void 0&&(ne="utf8")):(ne=le,le=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var be=this.length-oe;if((le===void 0||le>be)&&(le=be),he.length>0&&(le<0||oe<0)||oe>this.length)throw new RangeError("Attempt to write outside buffer bounds");ne||(ne="utf8");for(var Fe=!1;;)switch(ne){case"hex":return R(this,he,oe,le);case"utf8":case"utf-8":return z(this,he,oe,le);case"ascii":case"latin1":case"binary":return D(this,he,oe,le);case"base64":return k(this,he,oe,le);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,he,oe,le);default:if(Fe)throw new TypeError("Unknown encoding: "+ne);ne=(""+ne).toLowerCase(),Fe=!0}},f.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function O(xe,he,oe){return he===0&&oe===xe.length?r.fromByteArray(xe):r.fromByteArray(xe.slice(he,oe))}function q(xe,he,oe){oe=Math.min(xe.length,oe);for(var le=[],ne=he;ne239?4:be>223?3:be>191?2:1;if(ne+Ve<=oe){var je,ut,st,yt;switch(Ve){case 1:be<128&&(Fe=be);break;case 2:je=xe[ne+1],(je&192)===128&&(yt=(be&31)<<6|je&63,yt>127&&(Fe=yt));break;case 3:je=xe[ne+1],ut=xe[ne+2],(je&192)===128&&(ut&192)===128&&(yt=(be&15)<<12|(je&63)<<6|ut&63,yt>2047&&(yt<55296||yt>57343)&&(Fe=yt));break;case 4:je=xe[ne+1],ut=xe[ne+2],st=xe[ne+3],(je&192)===128&&(ut&192)===128&&(st&192)===128&&(yt=(be&15)<<18|(je&63)<<12|(ut&63)<<6|st&63,yt>65535&&yt<1114112&&(Fe=yt))}}Fe===null?(Fe=65533,Ve=1):Fe>65535&&(Fe-=65536,le.push(Fe>>>10&1023|55296),Fe=56320|Fe&1023),le.push(Fe),ne+=Ve}return ee(le)}var Y=4096;function ee(xe){var he=xe.length;if(he<=Y)return String.fromCharCode.apply(String,xe);for(var oe="",le=0;lele)&&(oe=le);for(var ne="",be=he;bele&&(he=le),oe<0?(oe+=le,oe<0&&(oe=0)):oe>le&&(oe=le),oeoe)throw new RangeError("Trying to access beyond buffer length")}f.prototype.readUintLE=f.prototype.readUIntLE=function(he,oe,le){he=he>>>0,oe=oe>>>0,le||K(he,oe,this.length);for(var ne=this[he],be=1,Fe=0;++Fe>>0,oe=oe>>>0,le||K(he,oe,this.length);for(var ne=this[he+--oe],be=1;oe>0&&(be*=256);)ne+=this[he+--oe]*be;return ne},f.prototype.readUint8=f.prototype.readUInt8=function(he,oe){return he=he>>>0,oe||K(he,1,this.length),this[he]},f.prototype.readUint16LE=f.prototype.readUInt16LE=function(he,oe){return he=he>>>0,oe||K(he,2,this.length),this[he]|this[he+1]<<8},f.prototype.readUint16BE=f.prototype.readUInt16BE=function(he,oe){return he=he>>>0,oe||K(he,2,this.length),this[he]<<8|this[he+1]},f.prototype.readUint32LE=f.prototype.readUInt32LE=function(he,oe){return he=he>>>0,oe||K(he,4,this.length),(this[he]|this[he+1]<<8|this[he+2]<<16)+this[he+3]*16777216},f.prototype.readUint32BE=f.prototype.readUInt32BE=function(he,oe){return he=he>>>0,oe||K(he,4,this.length),this[he]*16777216+(this[he+1]<<16|this[he+2]<<8|this[he+3])},f.prototype.readIntLE=function(he,oe,le){he=he>>>0,oe=oe>>>0,le||K(he,oe,this.length);for(var ne=this[he],be=1,Fe=0;++Fe=be&&(ne-=Math.pow(2,8*oe)),ne},f.prototype.readIntBE=function(he,oe,le){he=he>>>0,oe=oe>>>0,le||K(he,oe,this.length);for(var ne=oe,be=1,Fe=this[he+--ne];ne>0&&(be*=256);)Fe+=this[he+--ne]*be;return be*=128,Fe>=be&&(Fe-=Math.pow(2,8*oe)),Fe},f.prototype.readInt8=function(he,oe){return he=he>>>0,oe||K(he,1,this.length),this[he]&128?(255-this[he]+1)*-1:this[he]},f.prototype.readInt16LE=function(he,oe){he=he>>>0,oe||K(he,2,this.length);var le=this[he]|this[he+1]<<8;return le&32768?le|4294901760:le},f.prototype.readInt16BE=function(he,oe){he=he>>>0,oe||K(he,2,this.length);var le=this[he+1]|this[he]<<8;return le&32768?le|4294901760:le},f.prototype.readInt32LE=function(he,oe){return he=he>>>0,oe||K(he,4,this.length),this[he]|this[he+1]<<8|this[he+2]<<16|this[he+3]<<24},f.prototype.readInt32BE=function(he,oe){return he=he>>>0,oe||K(he,4,this.length),this[he]<<24|this[he+1]<<16|this[he+2]<<8|this[he+3]},f.prototype.readFloatLE=function(he,oe){return he=he>>>0,oe||K(he,4,this.length),n.read(this,he,!0,23,4)},f.prototype.readFloatBE=function(he,oe){return he=he>>>0,oe||K(he,4,this.length),n.read(this,he,!1,23,4)},f.prototype.readDoubleLE=function(he,oe){return he=he>>>0,oe||K(he,8,this.length),n.read(this,he,!0,52,8)},f.prototype.readDoubleBE=function(he,oe){return he=he>>>0,oe||K(he,8,this.length),n.read(this,he,!1,52,8)};function V(xe,he,oe,le,ne,be){if(!f.isBuffer(xe))throw new TypeError('"buffer" argument must be a Buffer instance');if(he>ne||hexe.length)throw new RangeError("Index out of range")}f.prototype.writeUintLE=f.prototype.writeUIntLE=function(he,oe,le,ne){if(he=+he,oe=oe>>>0,le=le>>>0,!ne){var be=Math.pow(2,8*le)-1;V(this,he,oe,le,be,0)}var Fe=1,Ve=0;for(this[oe]=he&255;++Ve>>0,le=le>>>0,!ne){var be=Math.pow(2,8*le)-1;V(this,he,oe,le,be,0)}var Fe=le-1,Ve=1;for(this[oe+Fe]=he&255;--Fe>=0&&(Ve*=256);)this[oe+Fe]=he/Ve&255;return oe+le},f.prototype.writeUint8=f.prototype.writeUInt8=function(he,oe,le){return he=+he,oe=oe>>>0,le||V(this,he,oe,1,255,0),this[oe]=he&255,oe+1},f.prototype.writeUint16LE=f.prototype.writeUInt16LE=function(he,oe,le){return he=+he,oe=oe>>>0,le||V(this,he,oe,2,65535,0),this[oe]=he&255,this[oe+1]=he>>>8,oe+2},f.prototype.writeUint16BE=f.prototype.writeUInt16BE=function(he,oe,le){return he=+he,oe=oe>>>0,le||V(this,he,oe,2,65535,0),this[oe]=he>>>8,this[oe+1]=he&255,oe+2},f.prototype.writeUint32LE=f.prototype.writeUInt32LE=function(he,oe,le){return he=+he,oe=oe>>>0,le||V(this,he,oe,4,4294967295,0),this[oe+3]=he>>>24,this[oe+2]=he>>>16,this[oe+1]=he>>>8,this[oe]=he&255,oe+4},f.prototype.writeUint32BE=f.prototype.writeUInt32BE=function(he,oe,le){return he=+he,oe=oe>>>0,le||V(this,he,oe,4,4294967295,0),this[oe]=he>>>24,this[oe+1]=he>>>16,this[oe+2]=he>>>8,this[oe+3]=he&255,oe+4},f.prototype.writeIntLE=function(he,oe,le,ne){if(he=+he,oe=oe>>>0,!ne){var be=Math.pow(2,8*le-1);V(this,he,oe,le,be-1,-be)}var Fe=0,Ve=1,je=0;for(this[oe]=he&255;++Fe>0)-je&255;return oe+le},f.prototype.writeIntBE=function(he,oe,le,ne){if(he=+he,oe=oe>>>0,!ne){var be=Math.pow(2,8*le-1);V(this,he,oe,le,be-1,-be)}var Fe=le-1,Ve=1,je=0;for(this[oe+Fe]=he&255;--Fe>=0&&(Ve*=256);)he<0&&je===0&&this[oe+Fe+1]!==0&&(je=1),this[oe+Fe]=(he/Ve>>0)-je&255;return oe+le},f.prototype.writeInt8=function(he,oe,le){return he=+he,oe=oe>>>0,le||V(this,he,oe,1,127,-128),he<0&&(he=255+he+1),this[oe]=he&255,oe+1},f.prototype.writeInt16LE=function(he,oe,le){return he=+he,oe=oe>>>0,le||V(this,he,oe,2,32767,-32768),this[oe]=he&255,this[oe+1]=he>>>8,oe+2},f.prototype.writeInt16BE=function(he,oe,le){return he=+he,oe=oe>>>0,le||V(this,he,oe,2,32767,-32768),this[oe]=he>>>8,this[oe+1]=he&255,oe+2},f.prototype.writeInt32LE=function(he,oe,le){return he=+he,oe=oe>>>0,le||V(this,he,oe,4,2147483647,-2147483648),this[oe]=he&255,this[oe+1]=he>>>8,this[oe+2]=he>>>16,this[oe+3]=he>>>24,oe+4},f.prototype.writeInt32BE=function(he,oe,le){return he=+he,oe=oe>>>0,le||V(this,he,oe,4,2147483647,-2147483648),he<0&&(he=4294967295+he+1),this[oe]=he>>>24,this[oe+1]=he>>>16,this[oe+2]=he>>>8,this[oe+3]=he&255,oe+4};function $(xe,he,oe,le,ne,be){if(oe+le>xe.length)throw new RangeError("Index out of range");if(oe<0)throw new RangeError("Index out of range")}function X(xe,he,oe,le,ne){return he=+he,oe=oe>>>0,ne||$(xe,he,oe,4,34028234663852886e22,-34028234663852886e22),n.write(xe,he,oe,le,23,4),oe+4}f.prototype.writeFloatLE=function(he,oe,le){return X(this,he,oe,!0,le)},f.prototype.writeFloatBE=function(he,oe,le){return X(this,he,oe,!1,le)};function Z(xe,he,oe,le,ne){return he=+he,oe=oe>>>0,ne||$(xe,he,oe,8,17976931348623157e292,-17976931348623157e292),n.write(xe,he,oe,le,52,8),oe+8}f.prototype.writeDoubleLE=function(he,oe,le){return Z(this,he,oe,!0,le)},f.prototype.writeDoubleBE=function(he,oe,le){return Z(this,he,oe,!1,le)},f.prototype.copy=function(he,oe,le,ne){if(!f.isBuffer(he))throw new TypeError("argument should be a Buffer");if(le||(le=0),!ne&&ne!==0&&(ne=this.length),oe>=he.length&&(oe=he.length),oe||(oe=0),ne>0&&ne=this.length)throw new RangeError("Index out of range");if(ne<0)throw new RangeError("sourceEnd out of bounds");ne>this.length&&(ne=this.length),he.length-oe>>0,le=le===void 0?this.length:le>>>0,he||(he=0);var Fe;if(typeof he=="number")for(Fe=oe;Fe55295&&oe<57344){if(!ne){if(oe>56319){(he-=3)>-1&&be.push(239,191,189);continue}else if(Fe+1===le){(he-=3)>-1&&be.push(239,191,189);continue}ne=oe;continue}if(oe<56320){(he-=3)>-1&&be.push(239,191,189),ne=oe;continue}oe=(ne-55296<<10|oe-56320)+65536}else ne&&(he-=3)>-1&&be.push(239,191,189);if(ne=null,oe<128){if((he-=1)<0)break;be.push(oe)}else if(oe<2048){if((he-=2)<0)break;be.push(oe>>6|192,oe&63|128)}else if(oe<65536){if((he-=3)<0)break;be.push(oe>>12|224,oe>>6&63|128,oe&63|128)}else if(oe<1114112){if((he-=4)<0)break;be.push(oe>>18|240,oe>>12&63|128,oe>>6&63|128,oe&63|128)}else throw new Error("Invalid code point")}return be}function me(xe){for(var he=[],oe=0;oe>8,ne=oe%256,be.push(ne),be.push(le);return be}function Ae(xe){return r.toByteArray(re(xe))}function Se(xe,he,oe,le){for(var ne=0;ne=he.length||ne>=xe.length);++ne)he[ne+oe]=xe[ne];return ne}function Ce(xe,he){return xe instanceof he||xe!=null&&xe.constructor!=null&&xe.constructor.name!=null&&xe.constructor.name===he.name}function qe(xe){return xe!==xe}var Ue=function(){for(var xe="0123456789abcdef",he=new Array(256),oe=0;oe<16;++oe)for(var le=oe*16,ne=0;ne<16;++ne)he[le+ne]=xe[oe]+xe[ne];return he}()},9216:function(l){"use strict";l.exports=r,l.exports.isMobile=r,l.exports.default=r;let e=/(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,t=/CrOS/,a=/android|ipad|playbook|silk/i;function r(n){n||(n={});let 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;let s=e.test(i)&&!t.test(i)||!!n.tablet&&a.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(l,e,t){"use strict";l.exports=c;var a=t(7261),r=t(9977),n=t(1811);function i(p,f){this._controllerNames=Object.keys(p),this._controllerList=this._controllerNames.map(function(d){return p[d]}),this._mode=f,this._active=p[f],this._active||(this._mode="turntable",this._active=p.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(p){for(var f=this._controllerList,d=0;d"u"?t(1538):WeakMap,r=t(2762),n=t(8116),i=new a;function s(c){var p=i.get(c),f=p&&(p._triangleBuffer.handle||p._triangleBuffer.buffer);if(!f||!c.isBuffer(f)){var d=r(c,new Float32Array([-1,-1,-1,4,4,-1]));p=n(c,[{buffer:d,type:c.FLOAT,size:2}]),p._triangleBuffer=d,i.set(c,p)}p.bind(),c.drawArrays(c.TRIANGLES,0,3),p.unbind()}l.exports=s},1085:function(l,e,t){var a=t(1371);l.exports=r;function r(n,i,s){i=typeof i=="number"?i:1,s=s||": ";var c=n.split(/\r?\n/),p=String(c.length+i-1).length;return c.map(function(f,d){var y=d+i,o=String(y).length,x=a(y,p-o);return x+s+f}).join(` +`)}},3952:function(l,e,t){"use strict";l.exports=n;var a=t(3250);function r(i,s){for(var c=new Array(s+1),p=0;p0)throw new Error("Invalid string. Length must be a multiple of 4");var E=M.indexOf("=");E===-1&&(E=T);var g=E===T?0:4-E%4;return[E,g]}function p(M){var T=c(M),E=T[0],g=T[1];return(E+g)*3/4-g}function f(M,T,E){return(T+E)*3/4-E}function d(M){var T,E=c(M),g=E[0],A=E[1],m=new r(f(M,g,A)),h=0,b=A>0?g-4:g,_;for(_=0;_>16&255,m[h++]=T>>8&255,m[h++]=T&255;return A===2&&(T=a[M.charCodeAt(_)]<<2|a[M.charCodeAt(_+1)]>>4,m[h++]=T&255),A===1&&(T=a[M.charCodeAt(_)]<<10|a[M.charCodeAt(_+1)]<<4|a[M.charCodeAt(_+2)]>>2,m[h++]=T>>8&255,m[h++]=T&255),m}function y(M){return t[M>>18&63]+t[M>>12&63]+t[M>>6&63]+t[M&63]}function o(M,T,E){for(var g,A=[],m=T;mb?b:h+m));return g===1?(T=M[E-1],A.push(t[T>>2]+t[T<<4&63]+"==")):g===2&&(T=(M[E-2]<<8)+M[E-1],A.push(t[T>>10]+t[T>>4&63]+t[T<<2&63]+"=")),A.join("")}},3865:function(l,e,t){"use strict";var a=t(869);l.exports=r;function r(n,i){return a(n[0].mul(i[1]).add(i[0].mul(n[1])),n[1].mul(i[1]))}},1318:function(l){"use strict";l.exports=e;function e(t,a){return t[0].mul(a[1]).cmp(a[0].mul(t[1]))}},8697:function(l,e,t){"use strict";var a=t(869);l.exports=r;function r(n,i){return a(n[0].mul(i[1]),n[1].mul(i[0]))}},7842:function(l,e,t){"use strict";var a=t(6330),r=t(1533),n=t(2651),i=t(6768),s=t(869),c=t(8697);l.exports=p;function p(f,d){if(a(f))return d?c(f,p(d)):[f[0].clone(),f[1].clone()];var y=0,o,x;if(r(f))o=f.clone();else if(typeof f=="string")o=i(f);else{if(f===0)return[n(0),n(1)];if(f===Math.floor(f))o=n(f);else{for(;f!==Math.floor(f);)f=f*Math.pow(2,256),y-=256;o=n(f)}}if(a(d))o.mul(d[1]),x=d[0].clone();else if(r(d))x=d.clone();else if(typeof d=="string")x=i(d);else if(!d)x=n(1);else if(d===Math.floor(d))x=n(d);else{for(;d!==Math.floor(d);)d=d*Math.pow(2,256),y+=256;x=n(d)}return y>0?o=o.ushln(y):y<0&&(x=x.ushln(-y)),s(o,x)}},6330:function(l,e,t){"use strict";var a=t(1533);l.exports=r;function r(n){return Array.isArray(n)&&n.length===2&&a(n[0])&&a(n[1])}},5716:function(l,e,t){"use strict";var a=t(6859);l.exports=r;function r(n){return n.cmp(new a(0))}},1369:function(l,e,t){"use strict";var a=t(5716);l.exports=r;function r(n){var i=n.length,s=n.words,c=0;if(i===1)c=s[0];else if(i===2)c=s[0]+s[1]*67108864;else for(var p=0;p20?52:c+32}},1533:function(l,e,t){"use strict";var a=t(6859);l.exports=r;function r(n){return n&&typeof n=="object"&&!!n.words}},2651:function(l,e,t){"use strict";var a=t(6859),r=t(2361);l.exports=n;function n(i){var s=r.exponent(i);return s<52?new a(i):new a(i*Math.pow(2,52-s)).ushln(s-52)}},869:function(l,e,t){"use strict";var a=t(2651),r=t(5716);l.exports=n;function n(i,s){var c=r(i),p=r(s);if(c===0)return[a(0),a(1)];if(p===0)return[a(0),a(0)];p<0&&(i=i.neg(),s=s.neg());var f=i.gcd(s);return f.cmpn(1)?[i.div(f),s.div(f)]:[i,s]}},6768:function(l,e,t){"use strict";var a=t(6859);l.exports=r;function r(n){return new a(n)}},6504:function(l,e,t){"use strict";var a=t(869);l.exports=r;function r(n,i){return a(n[0].mul(i[0]),n[1].mul(i[1]))}},7721:function(l,e,t){"use strict";var a=t(5716);l.exports=r;function r(n){return a(n[0])*a(n[1])}},5572:function(l,e,t){"use strict";var a=t(869);l.exports=r;function r(n,i){return a(n[0].mul(i[1]).sub(n[1].mul(i[0])),n[1].mul(i[1]))}},946:function(l,e,t){"use strict";var a=t(1369),r=t(4025);l.exports=n;function n(i){var s=i[0],c=i[1];if(s.cmpn(0)===0)return 0;var p=s.abs().divmod(c.abs()),f=p.div,d=a(f),y=p.mod,o=s.negative!==c.negative?-1:1;if(y.cmpn(0)===0)return o*d;if(d){var x=r(d)+4,M=a(y.ushln(x).divRound(c));return o*(d+M*Math.pow(2,-x))}else{var T=c.bitLength()-y.bitLength()+53,M=a(y.ushln(T).divRound(c));return T<1023?o*M*Math.pow(2,-T):(M*=Math.pow(2,-1023),o*M*Math.pow(2,1023-T))}}},2478:function(l){"use strict";function e(s,c,p,f,d){for(var y=d+1;f<=d;){var o=f+d>>>1,x=s[o],M=p!==void 0?p(x,c):x-c;M>=0?(y=o,d=o-1):f=o+1}return y}function t(s,c,p,f,d){for(var y=d+1;f<=d;){var o=f+d>>>1,x=s[o],M=p!==void 0?p(x,c):x-c;M>0?(y=o,d=o-1):f=o+1}return y}function a(s,c,p,f,d){for(var y=f-1;f<=d;){var o=f+d>>>1,x=s[o],M=p!==void 0?p(x,c):x-c;M<0?(y=o,f=o+1):d=o-1}return y}function r(s,c,p,f,d){for(var y=f-1;f<=d;){var o=f+d>>>1,x=s[o],M=p!==void 0?p(x,c):x-c;M<=0?(y=o,f=o+1):d=o-1}return y}function n(s,c,p,f,d){for(;f<=d;){var y=f+d>>>1,o=s[y],x=p!==void 0?p(o,c):o-c;if(x===0)return y;x<=0?f=y+1:d=y-1}return-1}function i(s,c,p,f,d,y){return typeof p=="function"?y(s,c,p,f===void 0?0:f|0,d===void 0?s.length-1:d|0):y(s,c,void 0,p===void 0?0:p|0,f===void 0?s.length-1:f|0)}l.exports={ge:function(s,c,p,f,d){return i(s,c,p,f,d,e)},gt:function(s,c,p,f,d){return i(s,c,p,f,d,t)},lt:function(s,c,p,f,d){return i(s,c,p,f,d,a)},le:function(s,c,p,f,d){return i(s,c,p,f,d,r)},eq:function(s,c,p,f,d){return i(s,c,p,f,d,n)}}},8828:function(l,e){"use strict";"use restrict";var t=32;e.INT_BITS=t,e.INT_MAX=2147483647,e.INT_MIN=-1<0)-(n<0)},e.abs=function(n){var i=n>>t-1;return(n^i)-i},e.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},e.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},e.popCount=function(n){return n=n-(n>>>1&1431655765),n=(n&858993459)+(n>>>2&858993459),(n+(n>>>4)&252645135)*16843009>>>24};function a(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}e.countTrailingZeros=a,e.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},e.prevPow2=function(n){return n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n-(n>>>1)},e.parity=function(n){return n^=n>>>16,n^=n>>>8,n^=n>>>4,n&=15,27030>>>n&1};var r=new Array(256);(function(n){for(var i=0;i<256;++i){var s=i,c=i,p=7;for(s>>>=1;s;s>>>=1)c<<=1,c|=s&1,--p;n[i]=c<>>8&255]<<16|r[n>>>16&255]<<8|r[n>>>24&255]},e.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},e.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},e.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},e.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},e.nextCombination=function(n){var i=n|n-1;return i+1|(~i&-~i)-1>>>a(n)+1}},6859:function(l,e,t){l=t.nmd(l),function(a,r){"use strict";function n(D,k){if(!D)throw new Error(k||"Assertion failed")}function i(D,k){D.super_=k;var B=function(){};B.prototype=k.prototype,D.prototype=new B,D.prototype.constructor=D}function s(D,k,B){if(s.isBN(D))return D;this.negative=0,this.words=null,this.length=0,this.red=null,D!==null&&((k==="le"||k==="be")&&(B=k,k=10),this._init(D||0,k||10,B||"be"))}typeof a=="object"?a.exports=s:r.BN=s,s.BN=s,s.wordSize=26;var c;try{typeof window<"u"&&typeof window.Buffer<"u"?c=window.Buffer:c=t(7790).Buffer}catch{}s.isBN=function(k){return k instanceof s?!0:k!==null&&typeof k=="object"&&k.constructor.wordSize===s.wordSize&&Array.isArray(k.words)},s.max=function(k,B){return k.cmp(B)>0?k:B},s.min=function(k,B){return k.cmp(B)<0?k:B},s.prototype._init=function(k,B,O){if(typeof k=="number")return this._initNumber(k,B,O);if(typeof k=="object")return this._initArray(k,B,O);B==="hex"&&(B=16),n(B===(B|0)&&B>=2&&B<=36),k=k.toString().replace(/\s+/g,"");var q=0;k[0]==="-"&&(q++,this.negative=1),q=0;q-=3)ee=k[q]|k[q-1]<<8|k[q-2]<<16,this.words[Y]|=ee<>>26-te&67108863,te+=24,te>=26&&(te-=26,Y++);else if(O==="le")for(q=0,Y=0;q>>26-te&67108863,te+=24,te>=26&&(te-=26,Y++);return this.strip()};function p(D,k){var B=D.charCodeAt(k);return B>=65&&B<=70?B-55:B>=97&&B<=102?B-87:B-48&15}function f(D,k,B){var O=p(D,B);return B-1>=k&&(O|=p(D,B-1)<<4),O}s.prototype._parseHex=function(k,B,O){this.length=Math.ceil((k.length-B)/6),this.words=new Array(this.length);for(var q=0;q=B;q-=2)te=f(k,B,q)<=18?(Y-=18,ee+=1,this.words[ee]|=te>>>26):Y+=8;else{var ae=k.length-B;for(q=ae%2===0?B+1:B;q=18?(Y-=18,ee+=1,this.words[ee]|=te>>>26):Y+=8}this.strip()};function d(D,k,B,O){for(var q=0,Y=Math.min(D.length,B),ee=k;ee=49?q+=te-49+10:te>=17?q+=te-17+10:q+=te}return q}s.prototype._parseBase=function(k,B,O){this.words=[0],this.length=1;for(var q=0,Y=1;Y<=67108863;Y*=B)q++;q--,Y=Y/B|0;for(var ee=k.length-O,te=ee%q,ae=Math.min(ee,ee-te)+O,U=0,H=O;H1&&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 y=["","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"],o=[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(k,B){k=k||10,B=B|0||1;var O;if(k===16||k==="hex"){O="";for(var q=0,Y=0,ee=0;ee>>24-q&16777215,q+=2,q>=26&&(q-=26,ee--),Y!==0||ee!==this.length-1?O=y[6-ae.length]+ae+O:O=ae+O}for(Y!==0&&(O=Y.toString(16)+O);O.length%B!==0;)O="0"+O;return this.negative!==0&&(O="-"+O),O}if(k===(k|0)&&k>=2&&k<=36){var U=o[k],H=x[k];O="";var K=this.clone();for(K.negative=0;!K.isZero();){var V=K.modn(H).toString(k);K=K.idivn(H),K.isZero()?O=V+O:O=y[U-V.length]+V+O}for(this.isZero()&&(O="0"+O);O.length%B!==0;)O="0"+O;return this.negative!==0&&(O="-"+O),O}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var k=this.words[0];return this.length===2?k+=this.words[1]*67108864:this.length===3&&this.words[2]===1?k+=4503599627370496+this.words[1]*67108864:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-k:k},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(k,B){return n(typeof c<"u"),this.toArrayLike(c,k,B)},s.prototype.toArray=function(k,B){return this.toArrayLike(Array,k,B)},s.prototype.toArrayLike=function(k,B,O){var q=this.byteLength(),Y=O||Math.max(1,q);n(q<=Y,"byte array longer than desired length"),n(Y>0,"Requested array length <= 0"),this.strip();var ee=B==="le",te=new k(Y),ae,U,H=this.clone();if(ee){for(U=0;!H.isZero();U++)ae=H.andln(255),H.iushrn(8),te[U]=ae;for(;U=4096&&(O+=13,B>>>=13),B>=64&&(O+=7,B>>>=7),B>=8&&(O+=4,B>>>=4),B>=2&&(O+=2,B>>>=2),O+B},s.prototype._zeroBits=function(k){if(k===0)return 26;var B=k,O=0;return B&8191||(O+=13,B>>>=13),B&127||(O+=7,B>>>=7),B&15||(O+=4,B>>>=4),B&3||(O+=2,B>>>=2),B&1||O++,O},s.prototype.bitLength=function(){var k=this.words[this.length-1],B=this._countBits(k);return(this.length-1)*26+B};function M(D){for(var k=new Array(D.bitLength()),B=0;B>>q}return k}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var k=0,B=0;Bk.length?this.clone().ior(k):k.clone().ior(this)},s.prototype.uor=function(k){return this.length>k.length?this.clone().iuor(k):k.clone().iuor(this)},s.prototype.iuand=function(k){var B;this.length>k.length?B=k:B=this;for(var O=0;Ok.length?this.clone().iand(k):k.clone().iand(this)},s.prototype.uand=function(k){return this.length>k.length?this.clone().iuand(k):k.clone().iuand(this)},s.prototype.iuxor=function(k){var B,O;this.length>k.length?(B=this,O=k):(B=k,O=this);for(var q=0;qk.length?this.clone().ixor(k):k.clone().ixor(this)},s.prototype.uxor=function(k){return this.length>k.length?this.clone().iuxor(k):k.clone().iuxor(this)},s.prototype.inotn=function(k){n(typeof k=="number"&&k>=0);var B=Math.ceil(k/26)|0,O=k%26;this._expand(B),O>0&&B--;for(var q=0;q0&&(this.words[q]=~this.words[q]&67108863>>26-O),this.strip()},s.prototype.notn=function(k){return this.clone().inotn(k)},s.prototype.setn=function(k,B){n(typeof k=="number"&&k>=0);var O=k/26|0,q=k%26;return this._expand(O+1),B?this.words[O]=this.words[O]|1<k.length?(O=this,q=k):(O=k,q=this);for(var Y=0,ee=0;ee>>26;for(;Y!==0&&ee>>26;if(this.length=O.length,Y!==0)this.words[this.length]=Y,this.length++;else if(O!==this)for(;eek.length?this.clone().iadd(k):k.clone().iadd(this)},s.prototype.isub=function(k){if(k.negative!==0){k.negative=0;var B=this.iadd(k);return k.negative=1,B._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(k),this.negative=1,this._normSign();var O=this.cmp(k);if(O===0)return this.negative=0,this.length=1,this.words[0]=0,this;var q,Y;O>0?(q=this,Y=k):(q=k,Y=this);for(var ee=0,te=0;te>26,this.words[te]=B&67108863;for(;ee!==0&&te>26,this.words[te]=B&67108863;if(ee===0&&te>>26,K=ae&67108863,V=Math.min(U,k.length-1),$=Math.max(0,U-D.length+1);$<=V;$++){var X=U-$|0;q=D.words[X]|0,Y=k.words[$]|0,ee=q*Y+K,H+=ee/67108864|0,K=ee&67108863}B.words[U]=K|0,ae=H|0}return ae!==0?B.words[U]=ae|0:B.length--,B.strip()}var E=function(k,B,O){var q=k.words,Y=B.words,ee=O.words,te=0,ae,U,H,K=q[0]|0,V=K&8191,$=K>>>13,X=q[1]|0,Z=X&8191,Q=X>>>13,re=q[2]|0,ce=re&8191,me=re>>>13,ye=q[3]|0,Ae=ye&8191,Se=ye>>>13,Ce=q[4]|0,qe=Ce&8191,Ue=Ce>>>13,xe=q[5]|0,he=xe&8191,oe=xe>>>13,le=q[6]|0,ne=le&8191,be=le>>>13,Fe=q[7]|0,Ve=Fe&8191,je=Fe>>>13,ut=q[8]|0,st=ut&8191,yt=ut>>>13,At=q[9]|0,Pt=At&8191,Zt=At>>>13,vr=Y[0]|0,Nt=vr&8191,Kt=vr>>>13,nt=Y[1]|0,Ee=nt&8191,ze=nt>>>13,ve=Y[2]|0,_e=ve&8191,Ie=ve>>>13,Be=Y[3]|0,We=Be&8191,Xe=Be>>>13,mt=Y[4]|0,ft=mt&8191,ht=mt>>>13,gt=Y[5]|0,_t=gt&8191,Ft=gt>>>13,St=Y[6]|0,hr=St&8191,jr=St>>>13,ra=Y[7]|0,$r=ra&8191,pa=ra>>>13,oa=Y[8]|0,aa=oa&8191,ka=oa>>>13,Ta=Y[9]|0,Da=Ta&8191,La=Ta>>>13;O.negative=k.negative^B.negative,O.length=19,ae=Math.imul(V,Nt),U=Math.imul(V,Kt),U=U+Math.imul($,Nt)|0,H=Math.imul($,Kt);var Ga=(te+ae|0)+((U&8191)<<13)|0;te=(H+(U>>>13)|0)+(Ga>>>26)|0,Ga&=67108863,ae=Math.imul(Z,Nt),U=Math.imul(Z,Kt),U=U+Math.imul(Q,Nt)|0,H=Math.imul(Q,Kt),ae=ae+Math.imul(V,Ee)|0,U=U+Math.imul(V,ze)|0,U=U+Math.imul($,Ee)|0,H=H+Math.imul($,ze)|0;var xa=(te+ae|0)+((U&8191)<<13)|0;te=(H+(U>>>13)|0)+(xa>>>26)|0,xa&=67108863,ae=Math.imul(ce,Nt),U=Math.imul(ce,Kt),U=U+Math.imul(me,Nt)|0,H=Math.imul(me,Kt),ae=ae+Math.imul(Z,Ee)|0,U=U+Math.imul(Z,ze)|0,U=U+Math.imul(Q,Ee)|0,H=H+Math.imul(Q,ze)|0,ae=ae+Math.imul(V,_e)|0,U=U+Math.imul(V,Ie)|0,U=U+Math.imul($,_e)|0,H=H+Math.imul($,Ie)|0;var Gn=(te+ae|0)+((U&8191)<<13)|0;te=(H+(U>>>13)|0)+(Gn>>>26)|0,Gn&=67108863,ae=Math.imul(Ae,Nt),U=Math.imul(Ae,Kt),U=U+Math.imul(Se,Nt)|0,H=Math.imul(Se,Kt),ae=ae+Math.imul(ce,Ee)|0,U=U+Math.imul(ce,ze)|0,U=U+Math.imul(me,Ee)|0,H=H+Math.imul(me,ze)|0,ae=ae+Math.imul(Z,_e)|0,U=U+Math.imul(Z,Ie)|0,U=U+Math.imul(Q,_e)|0,H=H+Math.imul(Q,Ie)|0,ae=ae+Math.imul(V,We)|0,U=U+Math.imul(V,Xe)|0,U=U+Math.imul($,We)|0,H=H+Math.imul($,Xe)|0;var Pn=(te+ae|0)+((U&8191)<<13)|0;te=(H+(U>>>13)|0)+(Pn>>>26)|0,Pn&=67108863,ae=Math.imul(qe,Nt),U=Math.imul(qe,Kt),U=U+Math.imul(Ue,Nt)|0,H=Math.imul(Ue,Kt),ae=ae+Math.imul(Ae,Ee)|0,U=U+Math.imul(Ae,ze)|0,U=U+Math.imul(Se,Ee)|0,H=H+Math.imul(Se,ze)|0,ae=ae+Math.imul(ce,_e)|0,U=U+Math.imul(ce,Ie)|0,U=U+Math.imul(me,_e)|0,H=H+Math.imul(me,Ie)|0,ae=ae+Math.imul(Z,We)|0,U=U+Math.imul(Z,Xe)|0,U=U+Math.imul(Q,We)|0,H=H+Math.imul(Q,Xe)|0,ae=ae+Math.imul(V,ft)|0,U=U+Math.imul(V,ht)|0,U=U+Math.imul($,ft)|0,H=H+Math.imul($,ht)|0;var sn=(te+ae|0)+((U&8191)<<13)|0;te=(H+(U>>>13)|0)+(sn>>>26)|0,sn&=67108863,ae=Math.imul(he,Nt),U=Math.imul(he,Kt),U=U+Math.imul(oe,Nt)|0,H=Math.imul(oe,Kt),ae=ae+Math.imul(qe,Ee)|0,U=U+Math.imul(qe,ze)|0,U=U+Math.imul(Ue,Ee)|0,H=H+Math.imul(Ue,ze)|0,ae=ae+Math.imul(Ae,_e)|0,U=U+Math.imul(Ae,Ie)|0,U=U+Math.imul(Se,_e)|0,H=H+Math.imul(Se,Ie)|0,ae=ae+Math.imul(ce,We)|0,U=U+Math.imul(ce,Xe)|0,U=U+Math.imul(me,We)|0,H=H+Math.imul(me,Xe)|0,ae=ae+Math.imul(Z,ft)|0,U=U+Math.imul(Z,ht)|0,U=U+Math.imul(Q,ft)|0,H=H+Math.imul(Q,ht)|0,ae=ae+Math.imul(V,_t)|0,U=U+Math.imul(V,Ft)|0,U=U+Math.imul($,_t)|0,H=H+Math.imul($,Ft)|0;var Yn=(te+ae|0)+((U&8191)<<13)|0;te=(H+(U>>>13)|0)+(Yn>>>26)|0,Yn&=67108863,ae=Math.imul(ne,Nt),U=Math.imul(ne,Kt),U=U+Math.imul(be,Nt)|0,H=Math.imul(be,Kt),ae=ae+Math.imul(he,Ee)|0,U=U+Math.imul(he,ze)|0,U=U+Math.imul(oe,Ee)|0,H=H+Math.imul(oe,ze)|0,ae=ae+Math.imul(qe,_e)|0,U=U+Math.imul(qe,Ie)|0,U=U+Math.imul(Ue,_e)|0,H=H+Math.imul(Ue,Ie)|0,ae=ae+Math.imul(Ae,We)|0,U=U+Math.imul(Ae,Xe)|0,U=U+Math.imul(Se,We)|0,H=H+Math.imul(Se,Xe)|0,ae=ae+Math.imul(ce,ft)|0,U=U+Math.imul(ce,ht)|0,U=U+Math.imul(me,ft)|0,H=H+Math.imul(me,ht)|0,ae=ae+Math.imul(Z,_t)|0,U=U+Math.imul(Z,Ft)|0,U=U+Math.imul(Q,_t)|0,H=H+Math.imul(Q,Ft)|0,ae=ae+Math.imul(V,hr)|0,U=U+Math.imul(V,jr)|0,U=U+Math.imul($,hr)|0,H=H+Math.imul($,jr)|0;var Zn=(te+ae|0)+((U&8191)<<13)|0;te=(H+(U>>>13)|0)+(Zn>>>26)|0,Zn&=67108863,ae=Math.imul(Ve,Nt),U=Math.imul(Ve,Kt),U=U+Math.imul(je,Nt)|0,H=Math.imul(je,Kt),ae=ae+Math.imul(ne,Ee)|0,U=U+Math.imul(ne,ze)|0,U=U+Math.imul(be,Ee)|0,H=H+Math.imul(be,ze)|0,ae=ae+Math.imul(he,_e)|0,U=U+Math.imul(he,Ie)|0,U=U+Math.imul(oe,_e)|0,H=H+Math.imul(oe,Ie)|0,ae=ae+Math.imul(qe,We)|0,U=U+Math.imul(qe,Xe)|0,U=U+Math.imul(Ue,We)|0,H=H+Math.imul(Ue,Xe)|0,ae=ae+Math.imul(Ae,ft)|0,U=U+Math.imul(Ae,ht)|0,U=U+Math.imul(Se,ft)|0,H=H+Math.imul(Se,ht)|0,ae=ae+Math.imul(ce,_t)|0,U=U+Math.imul(ce,Ft)|0,U=U+Math.imul(me,_t)|0,H=H+Math.imul(me,Ft)|0,ae=ae+Math.imul(Z,hr)|0,U=U+Math.imul(Z,jr)|0,U=U+Math.imul(Q,hr)|0,H=H+Math.imul(Q,jr)|0,ae=ae+Math.imul(V,$r)|0,U=U+Math.imul(V,pa)|0,U=U+Math.imul($,$r)|0,H=H+Math.imul($,pa)|0;var vi=(te+ae|0)+((U&8191)<<13)|0;te=(H+(U>>>13)|0)+(vi>>>26)|0,vi&=67108863,ae=Math.imul(st,Nt),U=Math.imul(st,Kt),U=U+Math.imul(yt,Nt)|0,H=Math.imul(yt,Kt),ae=ae+Math.imul(Ve,Ee)|0,U=U+Math.imul(Ve,ze)|0,U=U+Math.imul(je,Ee)|0,H=H+Math.imul(je,ze)|0,ae=ae+Math.imul(ne,_e)|0,U=U+Math.imul(ne,Ie)|0,U=U+Math.imul(be,_e)|0,H=H+Math.imul(be,Ie)|0,ae=ae+Math.imul(he,We)|0,U=U+Math.imul(he,Xe)|0,U=U+Math.imul(oe,We)|0,H=H+Math.imul(oe,Xe)|0,ae=ae+Math.imul(qe,ft)|0,U=U+Math.imul(qe,ht)|0,U=U+Math.imul(Ue,ft)|0,H=H+Math.imul(Ue,ht)|0,ae=ae+Math.imul(Ae,_t)|0,U=U+Math.imul(Ae,Ft)|0,U=U+Math.imul(Se,_t)|0,H=H+Math.imul(Se,Ft)|0,ae=ae+Math.imul(ce,hr)|0,U=U+Math.imul(ce,jr)|0,U=U+Math.imul(me,hr)|0,H=H+Math.imul(me,jr)|0,ae=ae+Math.imul(Z,$r)|0,U=U+Math.imul(Z,pa)|0,U=U+Math.imul(Q,$r)|0,H=H+Math.imul(Q,pa)|0,ae=ae+Math.imul(V,aa)|0,U=U+Math.imul(V,ka)|0,U=U+Math.imul($,aa)|0,H=H+Math.imul($,ka)|0;var Dn=(te+ae|0)+((U&8191)<<13)|0;te=(H+(U>>>13)|0)+(Dn>>>26)|0,Dn&=67108863,ae=Math.imul(Pt,Nt),U=Math.imul(Pt,Kt),U=U+Math.imul(Zt,Nt)|0,H=Math.imul(Zt,Kt),ae=ae+Math.imul(st,Ee)|0,U=U+Math.imul(st,ze)|0,U=U+Math.imul(yt,Ee)|0,H=H+Math.imul(yt,ze)|0,ae=ae+Math.imul(Ve,_e)|0,U=U+Math.imul(Ve,Ie)|0,U=U+Math.imul(je,_e)|0,H=H+Math.imul(je,Ie)|0,ae=ae+Math.imul(ne,We)|0,U=U+Math.imul(ne,Xe)|0,U=U+Math.imul(be,We)|0,H=H+Math.imul(be,Xe)|0,ae=ae+Math.imul(he,ft)|0,U=U+Math.imul(he,ht)|0,U=U+Math.imul(oe,ft)|0,H=H+Math.imul(oe,ht)|0,ae=ae+Math.imul(qe,_t)|0,U=U+Math.imul(qe,Ft)|0,U=U+Math.imul(Ue,_t)|0,H=H+Math.imul(Ue,Ft)|0,ae=ae+Math.imul(Ae,hr)|0,U=U+Math.imul(Ae,jr)|0,U=U+Math.imul(Se,hr)|0,H=H+Math.imul(Se,jr)|0,ae=ae+Math.imul(ce,$r)|0,U=U+Math.imul(ce,pa)|0,U=U+Math.imul(me,$r)|0,H=H+Math.imul(me,pa)|0,ae=ae+Math.imul(Z,aa)|0,U=U+Math.imul(Z,ka)|0,U=U+Math.imul(Q,aa)|0,H=H+Math.imul(Q,ka)|0,ae=ae+Math.imul(V,Da)|0,U=U+Math.imul(V,La)|0,U=U+Math.imul($,Da)|0,H=H+Math.imul($,La)|0;var oi=(te+ae|0)+((U&8191)<<13)|0;te=(H+(U>>>13)|0)+(oi>>>26)|0,oi&=67108863,ae=Math.imul(Pt,Ee),U=Math.imul(Pt,ze),U=U+Math.imul(Zt,Ee)|0,H=Math.imul(Zt,ze),ae=ae+Math.imul(st,_e)|0,U=U+Math.imul(st,Ie)|0,U=U+Math.imul(yt,_e)|0,H=H+Math.imul(yt,Ie)|0,ae=ae+Math.imul(Ve,We)|0,U=U+Math.imul(Ve,Xe)|0,U=U+Math.imul(je,We)|0,H=H+Math.imul(je,Xe)|0,ae=ae+Math.imul(ne,ft)|0,U=U+Math.imul(ne,ht)|0,U=U+Math.imul(be,ft)|0,H=H+Math.imul(be,ht)|0,ae=ae+Math.imul(he,_t)|0,U=U+Math.imul(he,Ft)|0,U=U+Math.imul(oe,_t)|0,H=H+Math.imul(oe,Ft)|0,ae=ae+Math.imul(qe,hr)|0,U=U+Math.imul(qe,jr)|0,U=U+Math.imul(Ue,hr)|0,H=H+Math.imul(Ue,jr)|0,ae=ae+Math.imul(Ae,$r)|0,U=U+Math.imul(Ae,pa)|0,U=U+Math.imul(Se,$r)|0,H=H+Math.imul(Se,pa)|0,ae=ae+Math.imul(ce,aa)|0,U=U+Math.imul(ce,ka)|0,U=U+Math.imul(me,aa)|0,H=H+Math.imul(me,ka)|0,ae=ae+Math.imul(Z,Da)|0,U=U+Math.imul(Z,La)|0,U=U+Math.imul(Q,Da)|0,H=H+Math.imul(Q,La)|0;var on=(te+ae|0)+((U&8191)<<13)|0;te=(H+(U>>>13)|0)+(on>>>26)|0,on&=67108863,ae=Math.imul(Pt,_e),U=Math.imul(Pt,Ie),U=U+Math.imul(Zt,_e)|0,H=Math.imul(Zt,Ie),ae=ae+Math.imul(st,We)|0,U=U+Math.imul(st,Xe)|0,U=U+Math.imul(yt,We)|0,H=H+Math.imul(yt,Xe)|0,ae=ae+Math.imul(Ve,ft)|0,U=U+Math.imul(Ve,ht)|0,U=U+Math.imul(je,ft)|0,H=H+Math.imul(je,ht)|0,ae=ae+Math.imul(ne,_t)|0,U=U+Math.imul(ne,Ft)|0,U=U+Math.imul(be,_t)|0,H=H+Math.imul(be,Ft)|0,ae=ae+Math.imul(he,hr)|0,U=U+Math.imul(he,jr)|0,U=U+Math.imul(oe,hr)|0,H=H+Math.imul(oe,jr)|0,ae=ae+Math.imul(qe,$r)|0,U=U+Math.imul(qe,pa)|0,U=U+Math.imul(Ue,$r)|0,H=H+Math.imul(Ue,pa)|0,ae=ae+Math.imul(Ae,aa)|0,U=U+Math.imul(Ae,ka)|0,U=U+Math.imul(Se,aa)|0,H=H+Math.imul(Se,ka)|0,ae=ae+Math.imul(ce,Da)|0,U=U+Math.imul(ce,La)|0,U=U+Math.imul(me,Da)|0,H=H+Math.imul(me,La)|0;var mn=(te+ae|0)+((U&8191)<<13)|0;te=(H+(U>>>13)|0)+(mn>>>26)|0,mn&=67108863,ae=Math.imul(Pt,We),U=Math.imul(Pt,Xe),U=U+Math.imul(Zt,We)|0,H=Math.imul(Zt,Xe),ae=ae+Math.imul(st,ft)|0,U=U+Math.imul(st,ht)|0,U=U+Math.imul(yt,ft)|0,H=H+Math.imul(yt,ht)|0,ae=ae+Math.imul(Ve,_t)|0,U=U+Math.imul(Ve,Ft)|0,U=U+Math.imul(je,_t)|0,H=H+Math.imul(je,Ft)|0,ae=ae+Math.imul(ne,hr)|0,U=U+Math.imul(ne,jr)|0,U=U+Math.imul(be,hr)|0,H=H+Math.imul(be,jr)|0,ae=ae+Math.imul(he,$r)|0,U=U+Math.imul(he,pa)|0,U=U+Math.imul(oe,$r)|0,H=H+Math.imul(oe,pa)|0,ae=ae+Math.imul(qe,aa)|0,U=U+Math.imul(qe,ka)|0,U=U+Math.imul(Ue,aa)|0,H=H+Math.imul(Ue,ka)|0,ae=ae+Math.imul(Ae,Da)|0,U=U+Math.imul(Ae,La)|0,U=U+Math.imul(Se,Da)|0,H=H+Math.imul(Se,La)|0;var bi=(te+ae|0)+((U&8191)<<13)|0;te=(H+(U>>>13)|0)+(bi>>>26)|0,bi&=67108863,ae=Math.imul(Pt,ft),U=Math.imul(Pt,ht),U=U+Math.imul(Zt,ft)|0,H=Math.imul(Zt,ht),ae=ae+Math.imul(st,_t)|0,U=U+Math.imul(st,Ft)|0,U=U+Math.imul(yt,_t)|0,H=H+Math.imul(yt,Ft)|0,ae=ae+Math.imul(Ve,hr)|0,U=U+Math.imul(Ve,jr)|0,U=U+Math.imul(je,hr)|0,H=H+Math.imul(je,jr)|0,ae=ae+Math.imul(ne,$r)|0,U=U+Math.imul(ne,pa)|0,U=U+Math.imul(be,$r)|0,H=H+Math.imul(be,pa)|0,ae=ae+Math.imul(he,aa)|0,U=U+Math.imul(he,ka)|0,U=U+Math.imul(oe,aa)|0,H=H+Math.imul(oe,ka)|0,ae=ae+Math.imul(qe,Da)|0,U=U+Math.imul(qe,La)|0,U=U+Math.imul(Ue,Da)|0,H=H+Math.imul(Ue,La)|0;var Li=(te+ae|0)+((U&8191)<<13)|0;te=(H+(U>>>13)|0)+(Li>>>26)|0,Li&=67108863,ae=Math.imul(Pt,_t),U=Math.imul(Pt,Ft),U=U+Math.imul(Zt,_t)|0,H=Math.imul(Zt,Ft),ae=ae+Math.imul(st,hr)|0,U=U+Math.imul(st,jr)|0,U=U+Math.imul(yt,hr)|0,H=H+Math.imul(yt,jr)|0,ae=ae+Math.imul(Ve,$r)|0,U=U+Math.imul(Ve,pa)|0,U=U+Math.imul(je,$r)|0,H=H+Math.imul(je,pa)|0,ae=ae+Math.imul(ne,aa)|0,U=U+Math.imul(ne,ka)|0,U=U+Math.imul(be,aa)|0,H=H+Math.imul(be,ka)|0,ae=ae+Math.imul(he,Da)|0,U=U+Math.imul(he,La)|0,U=U+Math.imul(oe,Da)|0,H=H+Math.imul(oe,La)|0;var $a=(te+ae|0)+((U&8191)<<13)|0;te=(H+(U>>>13)|0)+($a>>>26)|0,$a&=67108863,ae=Math.imul(Pt,hr),U=Math.imul(Pt,jr),U=U+Math.imul(Zt,hr)|0,H=Math.imul(Zt,jr),ae=ae+Math.imul(st,$r)|0,U=U+Math.imul(st,pa)|0,U=U+Math.imul(yt,$r)|0,H=H+Math.imul(yt,pa)|0,ae=ae+Math.imul(Ve,aa)|0,U=U+Math.imul(Ve,ka)|0,U=U+Math.imul(je,aa)|0,H=H+Math.imul(je,ka)|0,ae=ae+Math.imul(ne,Da)|0,U=U+Math.imul(ne,La)|0,U=U+Math.imul(be,Da)|0,H=H+Math.imul(be,La)|0;var Va=(te+ae|0)+((U&8191)<<13)|0;te=(H+(U>>>13)|0)+(Va>>>26)|0,Va&=67108863,ae=Math.imul(Pt,$r),U=Math.imul(Pt,pa),U=U+Math.imul(Zt,$r)|0,H=Math.imul(Zt,pa),ae=ae+Math.imul(st,aa)|0,U=U+Math.imul(st,ka)|0,U=U+Math.imul(yt,aa)|0,H=H+Math.imul(yt,ka)|0,ae=ae+Math.imul(Ve,Da)|0,U=U+Math.imul(Ve,La)|0,U=U+Math.imul(je,Da)|0,H=H+Math.imul(je,La)|0;var it=(te+ae|0)+((U&8191)<<13)|0;te=(H+(U>>>13)|0)+(it>>>26)|0,it&=67108863,ae=Math.imul(Pt,aa),U=Math.imul(Pt,ka),U=U+Math.imul(Zt,aa)|0,H=Math.imul(Zt,ka),ae=ae+Math.imul(st,Da)|0,U=U+Math.imul(st,La)|0,U=U+Math.imul(yt,Da)|0,H=H+Math.imul(yt,La)|0;var Qe=(te+ae|0)+((U&8191)<<13)|0;te=(H+(U>>>13)|0)+(Qe>>>26)|0,Qe&=67108863,ae=Math.imul(Pt,Da),U=Math.imul(Pt,La),U=U+Math.imul(Zt,Da)|0,H=Math.imul(Zt,La);var Jt=(te+ae|0)+((U&8191)<<13)|0;return te=(H+(U>>>13)|0)+(Jt>>>26)|0,Jt&=67108863,ee[0]=Ga,ee[1]=xa,ee[2]=Gn,ee[3]=Pn,ee[4]=sn,ee[5]=Yn,ee[6]=Zn,ee[7]=vi,ee[8]=Dn,ee[9]=oi,ee[10]=on,ee[11]=mn,ee[12]=bi,ee[13]=Li,ee[14]=$a,ee[15]=Va,ee[16]=it,ee[17]=Qe,ee[18]=Jt,te!==0&&(ee[19]=te,O.length++),O};Math.imul||(E=T);function g(D,k,B){B.negative=k.negative^D.negative,B.length=D.length+k.length;for(var O=0,q=0,Y=0;Y>>26)|0,q+=ee>>>26,ee&=67108863}B.words[Y]=te,O=ee,ee=q}return O!==0?B.words[Y]=O:B.length--,B.strip()}function A(D,k,B){var O=new m;return O.mulp(D,k,B)}s.prototype.mulTo=function(k,B){var O,q=this.length+k.length;return this.length===10&&k.length===10?O=E(this,k,B):q<63?O=T(this,k,B):q<1024?O=g(this,k,B):O=A(this,k,B),O};function m(D,k){this.x=D,this.y=k}m.prototype.makeRBT=function(k){for(var B=new Array(k),O=s.prototype._countBits(k)-1,q=0;q>=1;return q},m.prototype.permute=function(k,B,O,q,Y,ee){for(var te=0;te>>1)Y++;return 1<>>13,O[2*ee+1]=Y&8191,Y=Y>>>13;for(ee=2*B;ee>=26,B+=q/67108864|0,B+=Y>>>26,this.words[O]=Y&67108863}return B!==0&&(this.words[O]=B,this.length++),this.length=k===0?1:this.length,this},s.prototype.muln=function(k){return this.clone().imuln(k)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(k){var B=M(k);if(B.length===0)return new s(1);for(var O=this,q=0;q=0);var B=k%26,O=(k-B)/26,q=67108863>>>26-B<<26-B,Y;if(B!==0){var ee=0;for(Y=0;Y>>26-B}ee&&(this.words[Y]=ee,this.length++)}if(O!==0){for(Y=this.length-1;Y>=0;Y--)this.words[Y+O]=this.words[Y];for(Y=0;Y=0);var q;B?q=(B-B%26)/26:q=0;var Y=k%26,ee=Math.min((k-Y)/26,this.length),te=67108863^67108863>>>Y<ee)for(this.length-=ee,U=0;U=0&&(H!==0||U>=q);U--){var K=this.words[U]|0;this.words[U]=H<<26-Y|K>>>Y,H=K&te}return ae&&H!==0&&(ae.words[ae.length++]=H),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(k,B,O){return n(this.negative===0),this.iushrn(k,B,O)},s.prototype.shln=function(k){return this.clone().ishln(k)},s.prototype.ushln=function(k){return this.clone().iushln(k)},s.prototype.shrn=function(k){return this.clone().ishrn(k)},s.prototype.ushrn=function(k){return this.clone().iushrn(k)},s.prototype.testn=function(k){n(typeof k=="number"&&k>=0);var B=k%26,O=(k-B)/26,q=1<=0);var B=k%26,O=(k-B)/26;if(n(this.negative===0,"imaskn works only with positive numbers"),this.length<=O)return this;if(B!==0&&O++,this.length=Math.min(O,this.length),B!==0){var q=67108863^67108863>>>B<=67108864;B++)this.words[B]-=67108864,B===this.length-1?this.words[B+1]=1:this.words[B+1]++;return this.length=Math.max(this.length,B+1),this},s.prototype.isubn=function(k){if(n(typeof k=="number"),n(k<67108864),k<0)return this.iaddn(-k);if(this.negative!==0)return this.negative=0,this.iaddn(k),this.negative=1,this;if(this.words[0]-=k,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var B=0;B>26)-(ae/67108864|0),this.words[Y+O]=ee&67108863}for(;Y>26,this.words[Y+O]=ee&67108863;if(te===0)return this.strip();for(n(te===-1),te=0,Y=0;Y>26,this.words[Y]=ee&67108863;return this.negative=1,this.strip()},s.prototype._wordDiv=function(k,B){var O=this.length-k.length,q=this.clone(),Y=k,ee=Y.words[Y.length-1]|0,te=this._countBits(ee);O=26-te,O!==0&&(Y=Y.ushln(O),q.iushln(O),ee=Y.words[Y.length-1]|0);var ae=q.length-Y.length,U;if(B!=="mod"){U=new s(null),U.length=ae+1,U.words=new Array(U.length);for(var H=0;H=0;V--){var $=(q.words[Y.length+V]|0)*67108864+(q.words[Y.length+V-1]|0);for($=Math.min($/ee|0,67108863),q._ishlnsubmul(Y,$,V);q.negative!==0;)$--,q.negative=0,q._ishlnsubmul(Y,1,V),q.isZero()||(q.negative^=1);U&&(U.words[V]=$)}return U&&U.strip(),q.strip(),B!=="div"&&O!==0&&q.iushrn(O),{div:U||null,mod:q}},s.prototype.divmod=function(k,B,O){if(n(!k.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var q,Y,ee;return this.negative!==0&&k.negative===0?(ee=this.neg().divmod(k,B),B!=="mod"&&(q=ee.div.neg()),B!=="div"&&(Y=ee.mod.neg(),O&&Y.negative!==0&&Y.iadd(k)),{div:q,mod:Y}):this.negative===0&&k.negative!==0?(ee=this.divmod(k.neg(),B),B!=="mod"&&(q=ee.div.neg()),{div:q,mod:ee.mod}):this.negative&k.negative?(ee=this.neg().divmod(k.neg(),B),B!=="div"&&(Y=ee.mod.neg(),O&&Y.negative!==0&&Y.isub(k)),{div:ee.div,mod:Y}):k.length>this.length||this.cmp(k)<0?{div:new s(0),mod:this}:k.length===1?B==="div"?{div:this.divn(k.words[0]),mod:null}:B==="mod"?{div:null,mod:new s(this.modn(k.words[0]))}:{div:this.divn(k.words[0]),mod:new s(this.modn(k.words[0]))}:this._wordDiv(k,B)},s.prototype.div=function(k){return this.divmod(k,"div",!1).div},s.prototype.mod=function(k){return this.divmod(k,"mod",!1).mod},s.prototype.umod=function(k){return this.divmod(k,"mod",!0).mod},s.prototype.divRound=function(k){var B=this.divmod(k);if(B.mod.isZero())return B.div;var O=B.div.negative!==0?B.mod.isub(k):B.mod,q=k.ushrn(1),Y=k.andln(1),ee=O.cmp(q);return ee<0||Y===1&&ee===0?B.div:B.div.negative!==0?B.div.isubn(1):B.div.iaddn(1)},s.prototype.modn=function(k){n(k<=67108863);for(var B=(1<<26)%k,O=0,q=this.length-1;q>=0;q--)O=(B*O+(this.words[q]|0))%k;return O},s.prototype.idivn=function(k){n(k<=67108863);for(var B=0,O=this.length-1;O>=0;O--){var q=(this.words[O]|0)+B*67108864;this.words[O]=q/k|0,B=q%k}return this.strip()},s.prototype.divn=function(k){return this.clone().idivn(k)},s.prototype.egcd=function(k){n(k.negative===0),n(!k.isZero());var B=this,O=k.clone();B.negative!==0?B=B.umod(k):B=B.clone();for(var q=new s(1),Y=new s(0),ee=new s(0),te=new s(1),ae=0;B.isEven()&&O.isEven();)B.iushrn(1),O.iushrn(1),++ae;for(var U=O.clone(),H=B.clone();!B.isZero();){for(var K=0,V=1;!(B.words[0]&V)&&K<26;++K,V<<=1);if(K>0)for(B.iushrn(K);K-- >0;)(q.isOdd()||Y.isOdd())&&(q.iadd(U),Y.isub(H)),q.iushrn(1),Y.iushrn(1);for(var $=0,X=1;!(O.words[0]&X)&&$<26;++$,X<<=1);if($>0)for(O.iushrn($);$-- >0;)(ee.isOdd()||te.isOdd())&&(ee.iadd(U),te.isub(H)),ee.iushrn(1),te.iushrn(1);B.cmp(O)>=0?(B.isub(O),q.isub(ee),Y.isub(te)):(O.isub(B),ee.isub(q),te.isub(Y))}return{a:ee,b:te,gcd:O.iushln(ae)}},s.prototype._invmp=function(k){n(k.negative===0),n(!k.isZero());var B=this,O=k.clone();B.negative!==0?B=B.umod(k):B=B.clone();for(var q=new s(1),Y=new s(0),ee=O.clone();B.cmpn(1)>0&&O.cmpn(1)>0;){for(var te=0,ae=1;!(B.words[0]&ae)&&te<26;++te,ae<<=1);if(te>0)for(B.iushrn(te);te-- >0;)q.isOdd()&&q.iadd(ee),q.iushrn(1);for(var U=0,H=1;!(O.words[0]&H)&&U<26;++U,H<<=1);if(U>0)for(O.iushrn(U);U-- >0;)Y.isOdd()&&Y.iadd(ee),Y.iushrn(1);B.cmp(O)>=0?(B.isub(O),q.isub(Y)):(O.isub(B),Y.isub(q))}var K;return B.cmpn(1)===0?K=q:K=Y,K.cmpn(0)<0&&K.iadd(k),K},s.prototype.gcd=function(k){if(this.isZero())return k.abs();if(k.isZero())return this.abs();var B=this.clone(),O=k.clone();B.negative=0,O.negative=0;for(var q=0;B.isEven()&&O.isEven();q++)B.iushrn(1),O.iushrn(1);do{for(;B.isEven();)B.iushrn(1);for(;O.isEven();)O.iushrn(1);var Y=B.cmp(O);if(Y<0){var ee=B;B=O,O=ee}else if(Y===0||O.cmpn(1)===0)break;B.isub(O)}while(!0);return O.iushln(q)},s.prototype.invm=function(k){return this.egcd(k).a.umod(k)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(k){return this.words[0]&k},s.prototype.bincn=function(k){n(typeof k=="number");var B=k%26,O=(k-B)/26,q=1<>>26,te&=67108863,this.words[ee]=te}return Y!==0&&(this.words[ee]=Y,this.length++),this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(k){var B=k<0;if(this.negative!==0&&!B)return-1;if(this.negative===0&&B)return 1;this.strip();var O;if(this.length>1)O=1;else{B&&(k=-k),n(k<=67108863,"Number is too big");var q=this.words[0]|0;O=q===k?0:qk.length)return 1;if(this.length=0;O--){var q=this.words[O]|0,Y=k.words[O]|0;if(q!==Y){qY&&(B=1);break}}return B},s.prototype.gtn=function(k){return this.cmpn(k)===1},s.prototype.gt=function(k){return this.cmp(k)===1},s.prototype.gten=function(k){return this.cmpn(k)>=0},s.prototype.gte=function(k){return this.cmp(k)>=0},s.prototype.ltn=function(k){return this.cmpn(k)===-1},s.prototype.lt=function(k){return this.cmp(k)===-1},s.prototype.lten=function(k){return this.cmpn(k)<=0},s.prototype.lte=function(k){return this.cmp(k)<=0},s.prototype.eqn=function(k){return this.cmpn(k)===0},s.prototype.eq=function(k){return this.cmp(k)===0},s.red=function(k){return new R(k)},s.prototype.toRed=function(k){return n(!this.red,"Already a number in reduction context"),n(this.negative===0,"red works only with positives"),k.convertTo(this)._forceRed(k)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(k){return this.red=k,this},s.prototype.forceRed=function(k){return n(!this.red,"Already a number in reduction context"),this._forceRed(k)},s.prototype.redAdd=function(k){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,k)},s.prototype.redIAdd=function(k){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,k)},s.prototype.redSub=function(k){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,k)},s.prototype.redISub=function(k){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,k)},s.prototype.redShl=function(k){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,k)},s.prototype.redMul=function(k){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,k),this.red.mul(this,k)},s.prototype.redIMul=function(k){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,k),this.red.imul(this,k)},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(k){return n(this.red&&!k.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,k)};var h={k256:null,p224:null,p192:null,p25519:null};function b(D,k){this.name=D,this.p=new s(k,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}b.prototype._tmp=function(){var k=new s(null);return k.words=new Array(Math.ceil(this.n/13)),k},b.prototype.ireduce=function(k){var B=k,O;do this.split(B,this.tmp),B=this.imulK(B),B=B.iadd(this.tmp),O=B.bitLength();while(O>this.n);var q=O0?B.isub(this.p):B.strip!==void 0?B.strip():B._strip(),B},b.prototype.split=function(k,B){k.iushrn(this.n,0,B)},b.prototype.imulK=function(k){return k.imul(this.k)};function _(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(_,b),_.prototype.split=function(k,B){for(var O=4194303,q=Math.min(k.length,9),Y=0;Y>>22,ee=te}ee>>>=22,k.words[Y-10]=ee,ee===0&&k.length>10?k.length-=10:k.length-=9},_.prototype.imulK=function(k){k.words[k.length]=0,k.words[k.length+1]=0,k.length+=2;for(var B=0,O=0;O>>=26,k.words[O]=Y,B=q}return B!==0&&(k.words[k.length++]=B),k},s._prime=function(k){if(h[k])return h[k];var B;if(k==="k256")B=new _;else if(k==="p224")B=new I;else if(k==="p192")B=new C;else if(k==="p25519")B=new F;else throw new Error("Unknown prime "+k);return h[k]=B,B};function R(D){if(typeof D=="string"){var k=s._prime(D);this.m=k.p,this.prime=k}else n(D.gtn(1),"modulus must be greater than 1"),this.m=D,this.prime=null}R.prototype._verify1=function(k){n(k.negative===0,"red works only with positives"),n(k.red,"red works only with red numbers")},R.prototype._verify2=function(k,B){n((k.negative|B.negative)===0,"red works only with positives"),n(k.red&&k.red===B.red,"red works only with red numbers")},R.prototype.imod=function(k){return this.prime?this.prime.ireduce(k)._forceRed(this):k.umod(this.m)._forceRed(this)},R.prototype.neg=function(k){return k.isZero()?k.clone():this.m.sub(k)._forceRed(this)},R.prototype.add=function(k,B){this._verify2(k,B);var O=k.add(B);return O.cmp(this.m)>=0&&O.isub(this.m),O._forceRed(this)},R.prototype.iadd=function(k,B){this._verify2(k,B);var O=k.iadd(B);return O.cmp(this.m)>=0&&O.isub(this.m),O},R.prototype.sub=function(k,B){this._verify2(k,B);var O=k.sub(B);return O.cmpn(0)<0&&O.iadd(this.m),O._forceRed(this)},R.prototype.isub=function(k,B){this._verify2(k,B);var O=k.isub(B);return O.cmpn(0)<0&&O.iadd(this.m),O},R.prototype.shl=function(k,B){return this._verify1(k),this.imod(k.ushln(B))},R.prototype.imul=function(k,B){return this._verify2(k,B),this.imod(k.imul(B))},R.prototype.mul=function(k,B){return this._verify2(k,B),this.imod(k.mul(B))},R.prototype.isqr=function(k){return this.imul(k,k.clone())},R.prototype.sqr=function(k){return this.mul(k,k)},R.prototype.sqrt=function(k){if(k.isZero())return k.clone();var B=this.m.andln(3);if(n(B%2===1),B===3){var O=this.m.add(new s(1)).iushrn(2);return this.pow(k,O)}for(var q=this.m.subn(1),Y=0;!q.isZero()&&q.andln(1)===0;)Y++,q.iushrn(1);n(!q.isZero());var ee=new s(1).toRed(this),te=ee.redNeg(),ae=this.m.subn(1).iushrn(1),U=this.m.bitLength();for(U=new s(2*U*U).toRed(this);this.pow(U,ae).cmp(te)!==0;)U.redIAdd(te);for(var H=this.pow(U,q),K=this.pow(k,q.addn(1).iushrn(1)),V=this.pow(k,q),$=Y;V.cmp(ee)!==0;){for(var X=V,Z=0;X.cmp(ee)!==0;Z++)X=X.redSqr();n(Z<$);var Q=this.pow(H,new s(1).iushln($-Z-1));K=K.redMul(Q),H=Q.redSqr(),V=V.redMul(H),$=Z}return K},R.prototype.invm=function(k){var B=k._invmp(this.m);return B.negative!==0?(B.negative=0,this.imod(B).redNeg()):this.imod(B)},R.prototype.pow=function(k,B){if(B.isZero())return new s(1).toRed(this);if(B.cmpn(1)===0)return k.clone();var O=4,q=new Array(1<=0;Y--){for(var H=B.words[Y],K=U-1;K>=0;K--){var V=H>>K&1;if(ee!==q[0]&&(ee=this.sqr(ee)),V===0&&te===0){ae=0;continue}te<<=1,te|=V,ae++,!(ae!==O&&(Y!==0||K!==0))&&(ee=this.mul(ee,q[te]),ae=0,te=0)}U=26}return ee},R.prototype.convertTo=function(k){var B=k.umod(this.m);return B===k?B.clone():B},R.prototype.convertFrom=function(k){var B=k.clone();return B.red=null,B},s.mont=function(k){return new z(k)};function z(D){R.call(this,D),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(z,R),z.prototype.convertTo=function(k){return this.imod(k.ushln(this.shift))},z.prototype.convertFrom=function(k){var B=this.imod(k.mul(this.rinv));return B.red=null,B},z.prototype.imul=function(k,B){if(k.isZero()||B.isZero())return k.words[0]=0,k.length=1,k;var O=k.imul(B),q=O.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),Y=O.isub(q).iushrn(this.shift),ee=Y;return Y.cmp(this.m)>=0?ee=Y.isub(this.m):Y.cmpn(0)<0&&(ee=Y.iadd(this.m)),ee._forceRed(this)},z.prototype.mul=function(k,B){if(k.isZero()||B.isZero())return new s(0)._forceRed(this);var O=k.mul(B),q=O.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),Y=O.isub(q).iushrn(this.shift),ee=Y;return Y.cmp(this.m)>=0?ee=Y.isub(this.m):Y.cmpn(0)<0&&(ee=Y.iadd(this.m)),ee._forceRed(this)},z.prototype.invm=function(k){var B=this.imod(k._invmp(this.m).mul(this.r2));return B._forceRed(this)}}(l,this)},6204:function(l){"use strict";l.exports=e;function e(t){var a,r,n,i=t.length,s=0;for(a=0;a>>1;if(!(m<=0)){var h,b=a.mallocDouble(2*m*g),_=a.mallocInt32(g);if(g=s(x,m,b,_),g>0){if(m===1&&E)r.init(g),h=r.sweepComplete(m,T,0,g,b,_,0,g,b,_);else{var I=a.mallocDouble(2*m*A),C=a.mallocInt32(A);A=s(M,m,I,C),A>0&&(r.init(g+A),m===1?h=r.sweepBipartite(m,T,0,g,b,_,0,A,I,C):h=n(m,T,E,g,b,_,A,I,C),a.free(I),a.free(C))}a.free(b),a.free(_)}return h}}}var p;function f(x,M){p.push([x,M])}function d(x){return p=[],c(x,x,f,!0),p}function y(x,M){return p=[],c(x,M,f,!1),p}function o(x,M,T){switch(arguments.length){case 1:return d(x);case 2:return typeof M=="function"?c(x,x,M,!0):y(x,M);case 3:return c(x,M,T,!1);default:throw new Error("box-intersect: Invalid arguments")}}},2455:function(l,e){"use strict";function t(){function n(c,p,f,d,y,o,x,M,T,E,g){for(var A=2*c,m=d,h=A*d;mT-M?n(c,p,f,d,y,o,x,M,T,E,g):i(c,p,f,d,y,o,x,M,T,E,g)}return s}function a(){function n(f,d,y,o,x,M,T,E,g,A,m){for(var h=2*f,b=o,_=h*o;bA-g?o?n(f,d,y,x,M,T,E,g,A,m,h):i(f,d,y,x,M,T,E,g,A,m,h):o?s(f,d,y,x,M,T,E,g,A,m,h):c(f,d,y,x,M,T,E,g,A,m,h)}return p}function r(n){return n?t():a()}e.partial=r(!1),e.full=r(!0)},7150:function(l,e,t){"use strict";l.exports=D;var a=t(1888),r=t(8828),n=t(2455),i=n.partial,s=n.full,c=t(855),p=t(3545),f=t(8105),d=128,y=1<<22,o=1<<22,x=f("!(lo>=p0)&&!(p1>=hi)"),M=f("lo===p0"),T=f("lo0;){H-=1;var $=H*m,X=_[$],Z=_[$+1],Q=_[$+2],re=_[$+3],ce=_[$+4],me=_[$+5],ye=H*h,Ae=I[ye],Se=I[ye+1],Ce=me&1,qe=!!(me&16),Ue=Y,xe=ee,he=ae,oe=U;if(Ce&&(Ue=ae,xe=U,he=Y,oe=ee),!(me&2&&(Q=T(k,X,Z,Q,Ue,xe,Se),Z>=Q))&&!(me&4&&(Z=E(k,X,Z,Q,Ue,xe,Ae),Z>=Q))){var le=Q-Z,ne=ce-re;if(qe){if(k*le*(le+ne)f&&y[A+p]>E;--g,A-=x){for(var m=A,h=A+x,b=0;b>>1,E=2*c,g=T,A=y[E*T+p];x=I?(g=_,A=I):b>=F?(g=h,A=b):(g=C,A=F):I>=F?(g=_,A=I):F>=b?(g=h,A=b):(g=C,A=F);for(var D=E*(M-1),k=E*g,R=0;R=p0)&&!(p1>=hi)":p};function t(f){return e[f]}function a(f,d,y,o,x,M,T){for(var E=2*f,g=E*y,A=g,m=y,h=d,b=f+d,_=y;o>_;++_,g+=E){var I=x[g+h];if(I===T)if(m===_)m+=1,A+=E;else{for(var C=0;E>C;++C){var F=x[g+C];x[g+C]=x[A],x[A++]=F}var R=M[_];M[_]=M[m],M[m++]=R}}return m}function r(f,d,y,o,x,M,T){for(var E=2*f,g=E*y,A=g,m=y,h=d,b=f+d,_=y;o>_;++_,g+=E){var I=x[g+h];if(IC;++C){var F=x[g+C];x[g+C]=x[A],x[A++]=F}var R=M[_];M[_]=M[m],M[m++]=R}}return m}function n(f,d,y,o,x,M,T){for(var E=2*f,g=E*y,A=g,m=y,h=d,b=f+d,_=y;o>_;++_,g+=E){var I=x[g+b];if(I<=T)if(m===_)m+=1,A+=E;else{for(var C=0;E>C;++C){var F=x[g+C];x[g+C]=x[A],x[A++]=F}var R=M[_];M[_]=M[m],M[m++]=R}}return m}function i(f,d,y,o,x,M,T){for(var E=2*f,g=E*y,A=g,m=y,h=d,b=f+d,_=y;o>_;++_,g+=E){var I=x[g+b];if(I<=T)if(m===_)m+=1,A+=E;else{for(var C=0;E>C;++C){var F=x[g+C];x[g+C]=x[A],x[A++]=F}var R=M[_];M[_]=M[m],M[m++]=R}}return m}function s(f,d,y,o,x,M,T){for(var E=2*f,g=E*y,A=g,m=y,h=d,b=f+d,_=y;o>_;++_,g+=E){var I=x[g+h],C=x[g+b];if(I<=T&&T<=C)if(m===_)m+=1,A+=E;else{for(var F=0;E>F;++F){var R=x[g+F];x[g+F]=x[A],x[A++]=R}var z=M[_];M[_]=M[m],M[m++]=z}}return m}function c(f,d,y,o,x,M,T){for(var E=2*f,g=E*y,A=g,m=y,h=d,b=f+d,_=y;o>_;++_,g+=E){var I=x[g+h],C=x[g+b];if(IF;++F){var R=x[g+F];x[g+F]=x[A],x[A++]=R}var z=M[_];M[_]=M[m],M[m++]=z}}return m}function p(f,d,y,o,x,M,T,E){for(var g=2*f,A=g*y,m=A,h=y,b=d,_=f+d,I=y;o>I;++I,A+=g){var C=x[A+b],F=x[A+_];if(!(C>=T)&&!(E>=F))if(h===I)h+=1,m+=g;else{for(var R=0;g>R;++R){var z=x[A+R];x[A+R]=x[m],x[m++]=z}var D=M[I];M[I]=M[h],M[h++]=D}}return h}},4192:function(l){"use strict";l.exports=t;var e=32;function t(d,y){y<=4*e?a(0,y-1,d):f(0,y-1,d)}function a(d,y,o){for(var x=2*(d+1),M=d+1;M<=y;++M){for(var T=o[x++],E=o[x++],g=M,A=x-2;g-- >d;){var m=o[A-2],h=o[A-1];if(mo[y+1]:!0}function p(d,y,o,x){d*=2;var M=x[d];return M>1,g=E-x,A=E+x,m=M,h=g,b=E,_=A,I=T,C=d+1,F=y-1,R=0;c(m,h,o)&&(R=m,m=h,h=R),c(_,I,o)&&(R=_,_=I,I=R),c(m,b,o)&&(R=m,m=b,b=R),c(h,b,o)&&(R=h,h=b,b=R),c(m,_,o)&&(R=m,m=_,_=R),c(b,_,o)&&(R=b,b=_,_=R),c(h,I,o)&&(R=h,h=I,I=R),c(h,b,o)&&(R=h,h=b,b=R),c(_,I,o)&&(R=_,_=I,I=R);for(var z=o[2*h],D=o[2*h+1],k=o[2*_],B=o[2*_+1],O=2*m,q=2*b,Y=2*I,ee=2*M,te=2*E,ae=2*T,U=0;U<2;++U){var H=o[O+U],K=o[q+U],V=o[Y+U];o[ee+U]=H,o[te+U]=K,o[ae+U]=V}n(g,d,o),n(A,y,o);for(var $=C;$<=F;++$)if(p($,z,D,o))$!==C&&r($,C,o),++C;else if(!p($,k,B,o))for(;;)if(p(F,k,B,o)){p(F,z,D,o)?(i($,C,F,o),++C,--F):(r($,F,o),--F);break}else{if(--F<$)break;continue}s(d,C-1,z,D,o),s(y,F+1,k,B,o),C-2-d<=e?a(d,C-2,o):f(d,C-2,o),y-(F+2)<=e?a(F+2,y,o):f(F+2,y,o),F-C<=e?a(C,F,o):f(C,F,o)}},855:function(l,e,t){"use strict";l.exports={init:M,sweepBipartite:g,sweepComplete:A,scanBipartite:m,scanComplete:h};var a=t(1888),r=t(8828),n=t(4192),i=1<<28,s=1024,c=a.mallocInt32(s),p=a.mallocInt32(s),f=a.mallocInt32(s),d=a.mallocInt32(s),y=a.mallocInt32(s),o=a.mallocInt32(s),x=a.mallocDouble(s*8);function M(b){var _=r.nextPow2(b);c.length<_&&(a.free(c),c=a.mallocInt32(_)),p.length<_&&(a.free(p),p=a.mallocInt32(_)),f.length<_&&(a.free(f),f=a.mallocInt32(_)),d.length<_&&(a.free(d),d=a.mallocInt32(_)),y.length<_&&(a.free(y),y=a.mallocInt32(_)),o.length<_&&(a.free(o),o=a.mallocInt32(_));var I=8*_;x.length>>1;n(x,K);for(var V=0,$=0,te=0;te=i)X=X-i|0,T(f,d,$--,X);else if(X>=0)T(c,p,V--,X);else if(X<=-i){X=-X-i|0;for(var Z=0;Z>>1;n(x,K);for(var V=0,$=0,X=0,te=0;te>1===x[2*te+3]>>1&&(Q=2,te+=1),Z<0){for(var re=-(Z>>1)-1,ce=0;ce>1)-1;Q===0?T(c,p,V--,re):Q===1?T(f,d,$--,re):Q===2&&T(y,o,X--,re)}}}function m(b,_,I,C,F,R,z,D,k,B,O,q){var Y=0,ee=2*b,te=_,ae=_+b,U=1,H=1;C?H=i:U=i;for(var K=F;K>>1;n(x,Z);for(var Q=0,K=0;K=i?(ce=!C,V-=i):(ce=!!C,V-=1),ce)E(c,p,Q++,V);else{var me=q[V],ye=ee*V,Ae=O[ye+_+1],Se=O[ye+_+1+b];e:for(var Ce=0;Ce>>1;n(x,V);for(var $=0,ae=0;ae=i)c[$++]=U-i;else{U-=1;var Z=O[U],Q=Y*U,re=B[Q+_+1],ce=B[Q+_+1+b];e:for(var me=0;me<$;++me){var ye=c[me],Ae=z[ye];if(Ae===Z)break;var Se=Y*ye;if(!(ce=0;--me)if(c[me]===U){for(var Ce=me+1;Ce<$;++Ce)c[Ce-1]=c[Ce];break}--$}}}},2538:function(l,e,t){"use strict";var a=t(8902),r=t(5542),n=t(2272),i=t(5023);l.exports=d;function s(y){return[Math.min(y[0],y[1]),Math.max(y[0],y[1])]}function c(y,o){return y[0]-o[0]||y[1]-o[1]}function p(y){return y.map(s).sort(c)}function f(y,o,x){return o in y?y[o]:x}function d(y,o,x){Array.isArray(o)?(x=x||{},o=o||[]):(x=o||{},o=[]);var M=!!f(x,"delaunay",!0),T=!!f(x,"interior",!0),E=!!f(x,"exterior",!0),g=!!f(x,"infinity",!1);if(!T&&!E||y.length===0)return[];var A=a(y,o);if(M||T!==E||g){for(var m=r(y.length,p(o)),h=0;h0;){for(var M=p.pop(),y=p.pop(),T=-1,E=-1,o=d[y],A=1;A=0||(c.flip(y,M),n(s,c,p,T,y,E),n(s,c,p,y,E,T),n(s,c,p,E,M,T),n(s,c,p,M,T,E))}}},5023:function(l,e,t){"use strict";var a=t(2478);l.exports=p;function r(f,d,y,o,x,M,T){this.cells=f,this.neighbor=d,this.flags=o,this.constraint=y,this.active=x,this.next=M,this.boundary=T}var n=r.prototype;function i(f,d){return f[0]-d[0]||f[1]-d[1]||f[2]-d[2]}n.locate=function(){var f=[0,0,0];return function(d,y,o){var x=d,M=y,T=o;return y0||T.length>0;){for(;M.length>0;){var h=M.pop();if(E[h]!==-x){E[h]=x;for(var b=g[h],_=0;_<3;++_){var I=m[3*h+_];I>=0&&E[I]===0&&(A[3*h+_]?T.push(I):(M.push(I),E[I]=x))}}}var C=T;T=M,M=C,T.length=0,x=-x}var F=c(g,E,d);return y?F.concat(o.boundary):F}},8902:function(l,e,t){"use strict";var a=t(2478),r=t(3250)[3],n=0,i=1,s=2;l.exports=T;function c(E,g,A,m,h){this.a=E,this.b=g,this.idx=A,this.lowerIds=m,this.upperIds=h}function p(E,g,A,m){this.a=E,this.b=g,this.type=A,this.idx=m}function f(E,g){var A=E.a[0]-g.a[0]||E.a[1]-g.a[1]||E.type-g.type;return A||E.type!==n&&(A=r(E.a,E.b,g.b),A)?A:E.idx-g.idx}function d(E,g){return r(E.a,E.b,g)}function y(E,g,A,m,h){for(var b=a.lt(g,m,d),_=a.gt(g,m,d),I=b;I<_;++I){for(var C=g[I],F=C.lowerIds,z=F.length;z>1&&r(A[F[z-2]],A[F[z-1]],m)>0;)E.push([F[z-1],F[z-2],h]),z-=1;F.length=z,F.push(h);for(var R=C.upperIds,z=R.length;z>1&&r(A[R[z-2]],A[R[z-1]],m)<0;)E.push([R[z-2],R[z-1],h]),z-=1;R.length=z,R.push(h)}}function o(E,g){var A;return E.a[0]C[0]&&h.push(new p(C,I,s,b),new p(I,C,i,b))}h.sort(f);for(var F=h[0].a[0]-(1+Math.abs(h[0].a[0]))*Math.pow(2,-52),R=[new c([F,1],[F,0],-1,[],[],[],[])],z=[],b=0,D=h.length;b=0}}(),n.removeTriangle=function(c,p,f){var d=this.stars;i(d[c],p,f),i(d[p],f,c),i(d[f],c,p)},n.addTriangle=function(c,p,f){var d=this.stars;d[c].push(p,f),d[p].push(f,c),d[f].push(c,p)},n.opposite=function(c,p){for(var f=this.stars[p],d=1,y=f.length;d=0;--k){var H=z[k];B=H[0];var K=F[B],V=K[0],$=K[1],X=C[V],Z=C[$];if((X[0]-Z[0]||X[1]-Z[1])<0){var Q=V;V=$,$=Q}K[0]=V;var re=K[1]=H[1],ce;for(D&&(ce=K[2]);k>0&&z[k-1][0]===B;){var H=z[--k],me=H[1];D?F.push([re,me,ce]):F.push([re,me]),re=me}D?F.push([re,$,ce]):F.push([re,$])}return O}function g(C,F,R){for(var z=F.length,D=new a(z),k=[],B=0;BF[2]?1:0)}function h(C,F,R){if(C.length!==0){if(F)for(var z=0;z0||B.length>0}function I(C,F,R){var z;if(R){z=F;for(var D=new Array(F.length),k=0;kE+1)throw new Error(M+" map requires nshades to be at least size "+x.length);Array.isArray(p.alpha)?p.alpha.length!==2?g=[1,1]:g=p.alpha.slice():typeof p.alpha=="number"?g=[p.alpha,p.alpha]:g=[1,1],f=x.map(function(I){return Math.round(I.index*E)}),g[0]=Math.min(Math.max(g[0],0),1),g[1]=Math.min(Math.max(g[1],0),1);var m=x.map(function(I,C){var F=x[C].index,R=x[C].rgb.slice();return R.length===4&&R[3]>=0&&R[3]<=1||(R[3]=g[0]+(g[1]-g[0])*F),R}),h=[];for(A=0;A=0}function p(f,d,y,o){var x=a(d,y,o);if(x===0){var M=r(a(f,d,y)),T=r(a(f,d,o));if(M===T){if(M===0){var E=c(f,d,y),g=c(f,d,o);return E===g?0:E?1:-1}return 0}else{if(T===0)return M>0||c(f,d,o)?-1:1;if(M===0)return T>0||c(f,d,y)?1:-1}return r(T-M)}var A=a(f,d,y);if(A>0)return x>0&&a(f,d,o)>0?1:-1;if(A<0)return x>0||a(f,d,o)>0?1:-1;var m=a(f,d,o);return m>0||c(f,d,y)?1:-1}},8572:function(l){"use strict";l.exports=function(t){return t<0?-1:t>0?1:0}},8507:function(l){l.exports=a;var e=Math.min;function t(r,n){return r-n}function a(r,n){var i=r.length,s=r.length-n.length;if(s)return s;switch(i){case 0:return 0;case 1:return r[0]-n[0];case 2:return r[0]+r[1]-n[0]-n[1]||e(r[0],r[1])-e(n[0],n[1]);case 3:var c=r[0]+r[1],p=n[0]+n[1];if(s=c+r[2]-(p+n[2]),s)return s;var f=e(r[0],r[1]),d=e(n[0],n[1]);return e(f,r[2])-e(d,n[2])||e(f+r[2],c)-e(d+n[2],p);case 4:var y=r[0],o=r[1],x=r[2],M=r[3],T=n[0],E=n[1],g=n[2],A=n[3];return y+o+x+M-(T+E+g+A)||e(y,o,x,M)-e(T,E,g,A,T)||e(y+o,y+x,y+M,o+x,o+M,x+M)-e(T+E,T+g,T+A,E+g,E+A,g+A)||e(y+o+x,y+o+M,y+x+M,o+x+M)-e(T+E+g,T+E+A,T+g+A,E+g+A);default:for(var m=r.slice().sort(t),h=n.slice().sort(t),b=0;bt[r][0]&&(r=n);return ar?[[r],[a]]:[[a]]}},4750:function(l,e,t){"use strict";l.exports=r;var a=t(3090);function r(n){var i=a(n),s=i.length;if(s<=2)return[];for(var c=new Array(s),p=i[s-1],f=0;f=p[T]&&(M+=1);o[x]=M}}return c}function s(c,p){try{return a(c,!0)}catch{var f=r(c);if(f.length<=p)return[];var d=n(c,f),y=a(d,!0);return i(y,f)}}},4769:function(l){"use strict";function e(a,r,n,i,s,c){var p=6*s*s-6*s,f=3*s*s-4*s+1,d=-6*s*s+6*s,y=3*s*s-2*s;if(a.length){c||(c=new Array(a.length));for(var o=a.length-1;o>=0;--o)c[o]=p*a[o]+f*r[o]+d*n[o]+y*i[o];return c}return p*a+f*r+d*n[o]+y*i}function t(a,r,n,i,s,c){var p=s-1,f=s*s,d=p*p,y=(1+2*s)*d,o=s*d,x=f*(3-2*s),M=f*p;if(a.length){c||(c=new Array(a.length));for(var T=a.length-1;T>=0;--T)c[T]=y*a[T]+o*r[T]+x*n[T]+M*i[T];return c}return y*a+o*r+x*n+M*i}l.exports=t,l.exports.derivative=e},7642:function(l,e,t){"use strict";var a=t(8954),r=t(1682);l.exports=c;function n(p,f){this.point=p,this.index=f}function i(p,f){for(var d=p.point,y=f.point,o=d.length,x=0;x=2)return!1;R[D]=k}return!0}):F=F.filter(function(R){for(var z=0;z<=y;++z){var D=b[R[z]];if(D<0)return!1;R[z]=D}return!0}),y&1)for(var M=0;M>>31},l.exports.exponent=function(x){var M=l.exports.hi(x);return(M<<1>>>21)-1023},l.exports.fraction=function(x){var M=l.exports.lo(x),T=l.exports.hi(x),E=T&(1<<20)-1;return T&2146435072&&(E+=1048576),[M,E]},l.exports.denormalized=function(x){var M=l.exports.hi(x);return!(M&2146435072)}},1338:function(l){"use strict";function e(r,n,i){var s=r[i]|0;if(s<=0)return[];var c=new Array(s),p;if(i===r.length-1)for(p=0;p"u"&&(n=0),typeof r){case"number":if(r>0)return t(r|0,n);break;case"object":if(typeof r.length=="number")return e(r,n,0);break}return[]}l.exports=a},3134:function(l,e,t){"use strict";l.exports=r;var a=t(1682);function r(n,i){var s=n.length;if(typeof i!="number"){i=0;for(var c=0;c=y-1)for(var A=M.length-1,h=f-d[y-1],m=0;m=y-1)for(var g=M.length-1,A=f-d[y-1],m=0;m=0;--y)if(f[--d])return!1;return!0},s.jump=function(f){var d=this.lastT(),y=this.dimension;if(!(f0;--m)o.push(n(E[m-1],g[m-1],arguments[m])),x.push(0)}},s.push=function(f){var d=this.lastT(),y=this.dimension;if(!(f1e-6?1/T:0;this._time.push(f);for(var h=y;h>0;--h){var b=n(g[h-1],A[h-1],arguments[h]);o.push(b),x.push((b-o[M++])*m)}}},s.set=function(f){var d=this.dimension;if(!(f0;--E)y.push(n(M[E-1],T[E-1],arguments[E])),o.push(0)}},s.move=function(f){var d=this.lastT(),y=this.dimension;if(!(f<=d||arguments.length!==y+1)){var o=this._state,x=this._velocity,M=o.length-this.dimension,T=this.bounds,E=T[0],g=T[1],A=f-d,m=A>1e-6?1/A:0;this._time.push(f);for(var h=y;h>0;--h){var b=arguments[h];o.push(n(E[h-1],g[h-1],o[M++]+b)),x.push(b*m)}}},s.idle=function(f){var d=this.lastT();if(!(f=0;--m)o.push(n(E[m],g[m],o[M]+A*x[M])),x.push(0),M+=1}};function c(f){for(var d=new Array(f),y=0;y=0;--C){var h=b[C];_[C]<=0?b[C]=new a(h._color,h.key,h.value,b[C+1],h.right,h._count+1):b[C]=new a(h._color,h.key,h.value,h.left,b[C+1],h._count+1)}for(var C=b.length-1;C>1;--C){var F=b[C-1],h=b[C];if(F._color===t||h._color===t)break;var R=b[C-2];if(R.left===F)if(F.left===h){var z=R.right;if(z&&z._color===e)F._color=t,R.right=n(t,z),R._color=e,C-=1;else{if(R._color=e,R.left=F.right,F._color=t,F.right=R,b[C-2]=F,b[C-1]=h,i(R),i(F),C>=3){var D=b[C-3];D.left===R?D.left=F:D.right=F}break}}else{var z=R.right;if(z&&z._color===e)F._color=t,R.right=n(t,z),R._color=e,C-=1;else{if(F.right=h.left,R._color=e,R.left=h.right,h._color=t,h.left=F,h.right=R,b[C-2]=h,b[C-1]=F,i(R),i(F),i(h),C>=3){var D=b[C-3];D.left===R?D.left=h:D.right=h}break}}else if(F.right===h){var z=R.left;if(z&&z._color===e)F._color=t,R.left=n(t,z),R._color=e,C-=1;else{if(R._color=e,R.right=F.left,F._color=t,F.left=R,b[C-2]=F,b[C-1]=h,i(R),i(F),C>=3){var D=b[C-3];D.right===R?D.right=F:D.left=F}break}}else{var z=R.left;if(z&&z._color===e)F._color=t,R.left=n(t,z),R._color=e,C-=1;else{if(F.left=h.right,R._color=e,R.right=h.left,h._color=t,h.right=F,h.left=R,b[C-2]=h,b[C-1]=F,i(R),i(F),i(h),C>=3){var D=b[C-3];D.right===R?D.right=h:D.left=h}break}}}return b[0]._color=t,new s(m,b[0])};function p(g,A){if(A.left){var m=p(g,A.left);if(m)return m}var m=g(A.key,A.value);if(m)return m;if(A.right)return p(g,A.right)}function f(g,A,m,h){var b=A(g,h.key);if(b<=0){if(h.left){var _=f(g,A,m,h.left);if(_)return _}var _=m(h.key,h.value);if(_)return _}if(h.right)return f(g,A,m,h.right)}function d(g,A,m,h,b){var _=m(g,b.key),I=m(A,b.key),C;if(_<=0&&(b.left&&(C=d(g,A,m,h,b.left),C)||I>0&&(C=h(b.key,b.value),C)))return C;if(I>0&&b.right)return d(g,A,m,h,b.right)}c.forEach=function(A,m,h){if(this.root)switch(arguments.length){case 1:return p(A,this.root);case 2:return f(m,this._compare,A,this.root);case 3:return this._compare(m,h)>=0?void 0:d(m,h,this._compare,A,this.root)}},Object.defineProperty(c,"begin",{get:function(){for(var g=[],A=this.root;A;)g.push(A),A=A.left;return new y(this,g)}}),Object.defineProperty(c,"end",{get:function(){for(var g=[],A=this.root;A;)g.push(A),A=A.right;return new y(this,g)}}),c.at=function(g){if(g<0)return new y(this,[]);for(var A=this.root,m=[];;){if(m.push(A),A.left){if(g=A.right._count)break;A=A.right}else break}return new y(this,[])},c.ge=function(g){for(var A=this._compare,m=this.root,h=[],b=0;m;){var _=A(g,m.key);h.push(m),_<=0&&(b=h.length),_<=0?m=m.left:m=m.right}return h.length=b,new y(this,h)},c.gt=function(g){for(var A=this._compare,m=this.root,h=[],b=0;m;){var _=A(g,m.key);h.push(m),_<0&&(b=h.length),_<0?m=m.left:m=m.right}return h.length=b,new y(this,h)},c.lt=function(g){for(var A=this._compare,m=this.root,h=[],b=0;m;){var _=A(g,m.key);h.push(m),_>0&&(b=h.length),_<=0?m=m.left:m=m.right}return h.length=b,new y(this,h)},c.le=function(g){for(var A=this._compare,m=this.root,h=[],b=0;m;){var _=A(g,m.key);h.push(m),_>=0&&(b=h.length),_<0?m=m.left:m=m.right}return h.length=b,new y(this,h)},c.find=function(g){for(var A=this._compare,m=this.root,h=[];m;){var b=A(g,m.key);if(h.push(m),b===0)return new y(this,h);b<=0?m=m.left:m=m.right}return new y(this,[])},c.remove=function(g){var A=this.find(g);return A?A.remove():this},c.get=function(g){for(var A=this._compare,m=this.root;m;){var h=A(g,m.key);if(h===0)return m.value;h<=0?m=m.left:m=m.right}};function y(g,A){this.tree=g,this._stack=A}var o=y.prototype;Object.defineProperty(o,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(o,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),o.clone=function(){return new y(this.tree,this._stack.slice())};function x(g,A){g.key=A.key,g.value=A.value,g.left=A.left,g.right=A.right,g._color=A._color,g._count=A._count}function M(g){for(var A,m,h,b,_=g.length-1;_>=0;--_){if(A=g[_],_===0){A._color=t;return}if(m=g[_-1],m.left===A){if(h=m.right,h.right&&h.right._color===e){if(h=m.right=r(h),b=h.right=r(h.right),m.right=h.left,h.left=m,h.right=b,h._color=m._color,A._color=t,m._color=t,b._color=t,i(m),i(h),_>1){var I=g[_-2];I.left===m?I.left=h:I.right=h}g[_-1]=h;return}else if(h.left&&h.left._color===e){if(h=m.right=r(h),b=h.left=r(h.left),m.right=b.left,h.left=b.right,b.left=m,b.right=h,b._color=m._color,m._color=t,h._color=t,A._color=t,i(m),i(h),i(b),_>1){var I=g[_-2];I.left===m?I.left=b:I.right=b}g[_-1]=b;return}if(h._color===t)if(m._color===e){m._color=t,m.right=n(e,h);return}else{m.right=n(e,h);continue}else{if(h=r(h),m.right=h.left,h.left=m,h._color=m._color,m._color=e,i(m),i(h),_>1){var I=g[_-2];I.left===m?I.left=h:I.right=h}g[_-1]=h,g[_]=m,_+11){var I=g[_-2];I.right===m?I.right=h:I.left=h}g[_-1]=h;return}else if(h.right&&h.right._color===e){if(h=m.left=r(h),b=h.right=r(h.right),m.left=b.right,h.right=b.left,b.right=m,b.left=h,b._color=m._color,m._color=t,h._color=t,A._color=t,i(m),i(h),i(b),_>1){var I=g[_-2];I.right===m?I.right=b:I.left=b}g[_-1]=b;return}if(h._color===t)if(m._color===e){m._color=t,m.left=n(e,h);return}else{m.left=n(e,h);continue}else{if(h=r(h),m.left=h.right,h.right=m,h._color=m._color,m._color=e,i(m),i(h),_>1){var I=g[_-2];I.right===m?I.right=h:I.left=h}g[_-1]=h,g[_]=m,_+1=0;--h){var m=g[h];m.left===g[h+1]?A[h]=new a(m._color,m.key,m.value,A[h+1],m.right,m._count):A[h]=new a(m._color,m.key,m.value,m.left,A[h+1],m._count)}if(m=A[A.length-1],m.left&&m.right){var b=A.length;for(m=m.left;m.right;)A.push(m),m=m.right;var _=A[b-1];A.push(new a(m._color,_.key,_.value,m.left,m.right,m._count)),A[b-1].key=m.key,A[b-1].value=m.value;for(var h=A.length-2;h>=b;--h)m=A[h],A[h]=new a(m._color,m.key,m.value,m.left,A[h+1],m._count);A[b-1].left=A[b]}if(m=A[A.length-1],m._color===e){var I=A[A.length-2];I.left===m?I.left=null:I.right===m&&(I.right=null),A.pop();for(var h=0;h0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(o,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(o,"index",{get:function(){var g=0,A=this._stack;if(A.length===0){var m=this.tree.root;return m?m._count:0}else A[A.length-1].left&&(g=A[A.length-1].left._count);for(var h=A.length-2;h>=0;--h)A[h+1]===A[h].right&&(++g,A[h].left&&(g+=A[h].left._count));return g},enumerable:!0}),o.next=function(){var g=this._stack;if(g.length!==0){var A=g[g.length-1];if(A.right)for(A=A.right;A;)g.push(A),A=A.left;else for(g.pop();g.length>0&&g[g.length-1].right===A;)A=g[g.length-1],g.pop()}},Object.defineProperty(o,"hasNext",{get:function(){var g=this._stack;if(g.length===0)return!1;if(g[g.length-1].right)return!0;for(var A=g.length-1;A>0;--A)if(g[A-1].left===g[A])return!0;return!1}}),o.update=function(g){var A=this._stack;if(A.length===0)throw new Error("Can't update empty node!");var m=new Array(A.length),h=A[A.length-1];m[m.length-1]=new a(h._color,h.key,g,h.left,h.right,h._count);for(var b=A.length-2;b>=0;--b)h=A[b],h.left===A[b+1]?m[b]=new a(h._color,h.key,h.value,m[b+1],h.right,h._count):m[b]=new a(h._color,h.key,h.value,h.left,m[b+1],h._count);return new s(this.tree._compare,m[0])},o.prev=function(){var g=this._stack;if(g.length!==0){var A=g[g.length-1];if(A.left)for(A=A.left;A;)g.push(A),A=A.right;else for(g.pop();g.length>0&&g[g.length-1].left===A;)A=g[g.length-1],g.pop()}},Object.defineProperty(o,"hasPrev",{get:function(){var g=this._stack;if(g.length===0)return!1;if(g[g.length-1].left)return!0;for(var A=g.length-1;A>0;--A)if(g[A-1].right===g[A])return!0;return!1}});function T(g,A){return gA?1:0}function E(g){return new s(g||T,null)}},3837:function(l,e,t){"use strict";l.exports=C;var a=t(4935),r=t(501),n=t(5304),i=t(6429),s=t(6444),c=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),p=ArrayBuffer,f=DataView;function d(F){return p.isView(F)&&!(F instanceof f)}function y(F){return Array.isArray(F)||d(F)}function o(F,R){return F[0]=R[0],F[1]=R[1],F[2]=R[2],F}function x(F){this.gl=F,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(F)}var M=x.prototype;M.update=function(F){F=F||{};function R(V,$,X){if(X in F){var Z=F[X],Q=this[X],re;(V?y(Z)&&y(Z[0]):y(Z))?this[X]=re=[$(Z[0]),$(Z[1]),$(Z[2])]:this[X]=re=[$(Z),$(Z),$(Z)];for(var ce=0;ce<3;++ce)if(re[ce]!==Q[ce])return!0}return!1}var z=R.bind(this,!1,Number),D=R.bind(this,!1,Boolean),k=R.bind(this,!1,String),B=R.bind(this,!0,function(V){if(y(V)){if(V.length===3)return[+V[0],+V[1],+V[2],1];if(V.length===4)return[+V[0],+V[1],+V[2],+V[3]]}return[0,0,0,1]}),O,q=!1,Y=!1;if("bounds"in F)for(var ee=F.bounds,te=0;te<2;++te)for(var ae=0;ae<3;++ae)ee[te][ae]!==this.bounds[te][ae]&&(Y=!0),this.bounds[te][ae]=ee[te][ae];if("ticks"in F){O=F.ticks,q=!0,this.autoTicks=!1;for(var te=0;te<3;++te)this.tickSpacing[te]=0}else z("tickSpacing")&&(this.autoTicks=!0,Y=!0);if(this._firstInit&&("ticks"in F||"tickSpacing"in F||(this.autoTicks=!0),Y=!0,q=!0,this._firstInit=!1),Y&&this.autoTicks&&(O=s.create(this.bounds,this.tickSpacing),q=!0),q){for(var te=0;te<3;++te)O[te].sort(function($,X){return $.x-X.x});s.equal(O,this.ticks)?q=!1:this.ticks=O}D("tickEnable"),k("tickFont")&&(q=!0),k("tickFontStyle")&&(q=!0),k("tickFontWeight")&&(q=!0),k("tickFontVariant")&&(q=!0),z("tickSize"),z("tickAngle"),z("tickPad"),B("tickColor");var U=k("labels");k("labelFont")&&(U=!0),k("labelFontStyle")&&(U=!0),k("labelFontWeight")&&(U=!0),k("labelFontVariant")&&(U=!0),D("labelEnable"),z("labelSize"),z("labelPad"),B("labelColor"),D("lineEnable"),D("lineMirror"),z("lineWidth"),B("lineColor"),D("lineTickEnable"),D("lineTickMirror"),z("lineTickLength"),z("lineTickWidth"),B("lineTickColor"),D("gridEnable"),z("gridWidth"),B("gridColor"),D("zeroEnable"),B("zeroLineColor"),z("zeroLineWidth"),D("backgroundEnable"),B("backgroundColor");var H=[{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]}],K=[{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&&(U||q)&&this._text.update(this.bounds,this.labels,H,this.ticks,K):this._text=a(this.gl,this.bounds,this.labels,H,this.ticks,K),this._lines&&q&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=r(this.gl,this.bounds,this.ticks))};function T(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}var E=[new T,new T,new T];function g(F,R,z,D,k){for(var B=F.primalOffset,O=F.primalMinor,q=F.mirrorOffset,Y=F.mirrorMinor,ee=D[R],te=0;te<3;++te)if(R!==te){var ae=B,U=q,H=O,K=Y;ee&1<0?(H[te]=-1,K[te]=0):(H[te]=0,K[te]=1)}}var A=[0,0,0],m={model:c,view:c,projection:c,_ortho:!1};M.isOpaque=function(){return!0},M.isTransparent=function(){return!1},M.drawTransparent=function(F){};var h=0,b=[0,0,0],_=[0,0,0],I=[0,0,0];M.draw=function(F){F=F||m;for(var X=this.gl,R=F.model||c,z=F.view||c,D=F.projection||c,k=this.bounds,B=F._ortho||!1,O=i(R,z,D,k,B),q=O.cubeEdges,Y=O.axis,ee=z[12],te=z[13],ae=z[14],U=z[15],H=B?2:1,K=H*this.pixelRatio*(D[3]*ee+D[7]*te+D[11]*ae+D[15]*U)/X.drawingBufferHeight,V=0;V<3;++V)this.lastCubeProps.cubeEdges[V]=q[V],this.lastCubeProps.axis[V]=Y[V];for(var $=E,V=0;V<3;++V)g(E[V],V,this.bounds,q,Y);for(var X=this.gl,Z=A,V=0;V<3;++V)this.backgroundEnable[V]?Z[V]=Y[V]:Z[V]=0;this._background.draw(R,z,D,k,Z,this.backgroundColor),this._lines.bind(R,z,D,this);for(var V=0;V<3;++V){var Q=[0,0,0];Y[V]>0?Q[V]=k[1][V]:Q[V]=k[0][V];for(var re=0;re<2;++re){var ce=(V+1+re)%3,me=(V+1+(re^1))%3;this.gridEnable[ce]&&this._lines.drawGrid(ce,me,this.bounds,Q,this.gridColor[ce],this.gridWidth[ce]*this.pixelRatio)}for(var re=0;re<2;++re){var ce=(V+1+re)%3,me=(V+1+(re^1))%3;this.zeroEnable[me]&&Math.min(k[0][me],k[1][me])<=0&&Math.max(k[0][me],k[1][me])>=0&&this._lines.drawZero(ce,me,this.bounds,Q,this.zeroLineColor[me],this.zeroLineWidth[me]*this.pixelRatio)}}for(var V=0;V<3;++V){this.lineEnable[V]&&this._lines.drawAxisLine(V,this.bounds,$[V].primalOffset,this.lineColor[V],this.lineWidth[V]*this.pixelRatio),this.lineMirror[V]&&this._lines.drawAxisLine(V,this.bounds,$[V].mirrorOffset,this.lineColor[V],this.lineWidth[V]*this.pixelRatio);for(var ye=o(b,$[V].primalMinor),Ae=o(_,$[V].mirrorMinor),Se=this.lineTickLength,re=0;re<3;++re){var Ce=K/R[5*re];ye[re]*=Se[re]*Ce,Ae[re]*=Se[re]*Ce}this.lineTickEnable[V]&&this._lines.drawAxisTicks(V,$[V].primalOffset,ye,this.lineTickColor[V],this.lineTickWidth[V]*this.pixelRatio),this.lineTickMirror[V]&&this._lines.drawAxisTicks(V,$[V].mirrorOffset,Ae,this.lineTickColor[V],this.lineTickWidth[V]*this.pixelRatio)}this._lines.unbind(),this._text.bind(R,z,D,this.pixelRatio);var qe,Ue=.5,xe,he;function oe(je){he=[0,0,0],he[je]=1}function le(je,ut,st){var yt=(je+1)%3,At=(je+2)%3,Pt=ut[yt],Zt=ut[At],vr=st[yt],Nt=st[At];if(Pt>0&&Nt>0){oe(yt);return}else if(Pt>0&&Nt<0){oe(yt);return}else if(Pt<0&&Nt>0){oe(yt);return}else if(Pt<0&&Nt<0){oe(yt);return}else if(Zt>0&&vr>0){oe(At);return}else if(Zt>0&&vr<0){oe(At);return}else if(Zt<0&&vr>0){oe(At);return}else if(Zt<0&&vr<0){oe(At);return}}for(var V=0;V<3;++V){for(var ne=$[V].primalMinor,be=$[V].mirrorMinor,Fe=o(I,$[V].primalOffset),re=0;re<3;++re)this.lineTickEnable[V]&&(Fe[re]+=K*ne[re]*Math.max(this.lineTickLength[re],0)/R[5*re]);var Ve=[0,0,0];if(Ve[V]=1,this.tickEnable[V]){this.tickAngle[V]===-3600?(this.tickAngle[V]=0,this.tickAlign[V]="auto"):this.tickAlign[V]=-1,xe=1,qe=[this.tickAlign[V],Ue,xe],qe[0]==="auto"?qe[0]=h:qe[0]=parseInt(""+qe[0]),he=[0,0,0],le(V,ne,be);for(var re=0;re<3;++re)Fe[re]+=K*ne[re]*this.tickPad[re]/R[5*re];this._text.drawTicks(V,this.tickSize[V],this.tickAngle[V],Fe,this.tickColor[V],Ve,he,qe)}if(this.labelEnable[V]){xe=0,he=[0,0,0],this.labels[V].length>4&&(oe(V),xe=1),qe=[this.labelAlign[V],Ue,xe],qe[0]==="auto"?qe[0]=h:qe[0]=parseInt(""+qe[0]);for(var re=0;re<3;++re)Fe[re]+=K*ne[re]*this.labelPad[re]/R[5*re];Fe[V]+=.5*(k[0][V]+k[1][V]),this._text.drawLabel(V,this.labelSize[V],this.labelAngle[V],Fe,this.labelColor[V],[0,0,0],he,qe)}}this._text.unbind()},M.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null};function C(F,R){var z=new x(F);return z.update(R),z}},5304:function(l,e,t){"use strict";l.exports=c;var a=t(2762),r=t(8116),n=t(1879).bg;function i(p,f,d,y){this.gl=p,this.buffer=f,this.vao=d,this.shader=y}var s=i.prototype;s.draw=function(p,f,d,y,o,x){for(var M=!1,T=0;T<3;++T)M=M||o[T];if(M){var E=this.gl;E.enable(E.POLYGON_OFFSET_FILL),E.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:p,view:f,projection:d,bounds:y,enable:o,colors:x},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),E.disable(E.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};function c(p){for(var f=[],d=[],y=0,o=0;o<3;++o)for(var x=(o+1)%3,M=(o+2)%3,T=[0,0,0],E=[0,0,0],g=-1;g<=1;g+=2){d.push(y,y+2,y+1,y+1,y+2,y+3),T[o]=g,E[o]=g;for(var A=-1;A<=1;A+=2){T[x]=A;for(var m=-1;m<=1;m+=2)T[M]=m,f.push(T[0],T[1],T[2],E[0],E[1],E[2]),y+=1}var h=x;x=M,M=h}var b=a(p,new Float32Array(f)),_=a(p,new Uint16Array(d),p.ELEMENT_ARRAY_BUFFER),I=r(p,[{buffer:b,type:p.FLOAT,size:3,offset:0,stride:24},{buffer:b,type:p.FLOAT,size:3,offset:12,stride:24}],_),C=n(p);return C.attributes.position.location=0,C.attributes.normal.location=1,new i(p,b,I,C)}},6429:function(l,e,t){"use strict";l.exports=g;var a=t(8828),r=t(6760),n=t(5202),i=t(3250),s=new Array(16),c=new Array(8),p=new Array(8),f=new Array(3),d=[0,0,0];(function(){for(var A=0;A<8;++A)c[A]=[1,1,1,1],p[A]=[1,1,1]})();function y(A,m,h){for(var b=0;b<4;++b){A[b]=h[12+b];for(var _=0;_<3;++_)A[b]+=m[_]*h[4*_+b]}}var o=[[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(A){for(var m=0;mY&&(z|=1<Y){z|=1<p[C][1])&&($=C);for(var X=-1,C=0;C<3;++C){var Z=$^1<p[Q][0]&&(Q=Z)}}var re=M;re[0]=re[1]=re[2]=0,re[a.log2(X^$)]=$&X,re[a.log2($^Q)]=$&Q;var ce=Q^7;ce===z||ce===V?(ce=X^7,re[a.log2(Q^ce)]=ce&Q):re[a.log2(X^ce)]=ce&X;for(var me=T,ye=z,B=0;B<3;++B)ye&1< HALF_PI) && (b <= ONE_AND_HALF_PI)) ? + b - PI : + b; +} + +float look_horizontal_or_vertical(float a, float ratio) { + // ratio controls the ratio between being horizontal to (vertical + horizontal) + // if ratio is set to 0.5 then it is 50%, 50%. + // when using a higher ratio e.g. 0.75 the result would + // likely be more horizontal than vertical. + + float b = positive_angle(a); + + return + (b < ( ratio) * HALF_PI) ? 0.0 : + (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI : + (b < (2.0 + ratio) * HALF_PI) ? 0.0 : + (b < (4.0 - ratio) * HALF_PI) ? HALF_PI : + 0.0; +} + +float roundTo(float a, float b) { + return float(b * floor((a + 0.5 * b) / b)); +} + +float look_round_n_directions(float a, int n) { + float b = positive_angle(a); + float div = TWO_PI / float(n); + float c = roundTo(b, div); + return look_upwards(c); +} + +float applyAlignOption(float rawAngle, float delta) { + return + (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions + (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical + (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis + (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards + (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal + rawAngle; // otherwise return back raw input angle +} + +bool isAxisTitle = (axis.x == 0.0) && + (axis.y == 0.0) && + (axis.z == 0.0); + +void main() { + //Compute world offset + float axisDistance = position.z; + vec3 dataPosition = axisDistance * axis + offset; + + float beta = angle; // i.e. user defined attributes for each tick + + float axisAngle; + float clipAngle; + float flip; + + if (enableAlign) { + axisAngle = (isAxisTitle) ? HALF_PI : + computeViewAngle(dataPosition, dataPosition + axis); + clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir); + + axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0; + clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0; + + flip = (dot(vec2(cos(axisAngle), sin(axisAngle)), + vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0; + + beta += applyAlignOption(clipAngle, flip * PI); + } + + //Compute plane offset + vec2 planeCoord = position.xy * pixelScale; + + mat2 planeXform = scale * mat2( + cos(beta), sin(beta), + -sin(beta), cos(beta) + ); + + vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution; + + //Compute clip position + vec3 clipPosition = project(dataPosition); + + //Apply text offset in clip coordinates + clipPosition += vec3(viewOffset, 0.0); + + //Done + gl_Position = vec4(clipPosition, 1.0); +} +`]),c=a([`precision highp float; +#define GLSLIFY 1 + +uniform vec4 color; +void main() { + gl_FragColor = color; +}`]);e.Q=function(d){return r(d,s,c,null,[{name:"position",type:"vec3"}])};var p=a([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position; +attribute vec3 normal; + +uniform mat4 model, view, projection; +uniform vec3 enable; +uniform vec3 bounds[2]; + +varying vec3 colorChannel; + +void main() { + + vec3 signAxis = sign(bounds[1] - bounds[0]); + + vec3 realNormal = signAxis * normal; + + if(dot(realNormal, enable) > 0.0) { + vec3 minRange = min(bounds[0], bounds[1]); + vec3 maxRange = max(bounds[0], bounds[1]); + vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0)); + gl_Position = projection * (view * (model * vec4(nPosition, 1.0))); + } else { + gl_Position = vec4(0,0,0,0); + } + + colorChannel = abs(realNormal); +} +`]),f=a([`precision highp float; +#define GLSLIFY 1 + +uniform vec4 colors[3]; + +varying vec3 colorChannel; + +void main() { + gl_FragColor = colorChannel.x * colors[0] + + colorChannel.y * colors[1] + + colorChannel.z * colors[2]; +}`]);e.bg=function(d){return r(d,p,f,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},4935:function(l,e,t){"use strict";l.exports=x;var a=t(2762),r=t(8116),n=t(4359),i=t(1879).Q,s=window||process.global||{},c=s.__TEXT_CACHE||{};s.__TEXT_CACHE={};var p=3;function f(M,T,E,g){this.gl=M,this.shader=T,this.buffer=E,this.vao=g,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var d=f.prototype,y=[0,0];d.bind=function(M,T,E,g){this.vao.bind(),this.shader.bind();var A=this.shader.uniforms;A.model=M,A.view=T,A.projection=E,A.pixelScale=g,y[0]=this.gl.drawingBufferWidth,y[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=y},d.unbind=function(){this.vao.unbind()},d.update=function(M,T,E,g,A){var m=[];function h(B,O,q,Y,ee,te){var ae=[q.style,q.weight,q.variant,q.family].join("_"),U=c[ae];U||(U=c[ae]={});var H=U[O];H||(H=U[O]=o(O,{triangles:!0,font:q.family,fontStyle:q.style,fontWeight:q.weight,fontVariant:q.variant,textAlign:"center",textBaseline:"middle",lineSpacing:ee,styletags:te}));for(var K=(Y||12)/12,V=H.positions,$=H.cells,X=0,Z=$.length;X=0;--re){var ce=V[Q[re]];m.push(K*ce[0],-K*ce[1],B)}}for(var b=[0,0,0],_=[0,0,0],I=[0,0,0],C=[0,0,0],F=1.25,R={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},z=0;z<3;++z){I[z]=m.length/p|0,h(.5*(M[0][z]+M[1][z]),T[z],E[z],12,F,R),C[z]=(m.length/p|0)-I[z],b[z]=m.length/p|0;for(var D=0;D=0&&(p=s.length-c-1);var f=Math.pow(10,p),d=Math.round(n*i*f),y=d+"";if(y.indexOf("e")>=0)return y;var o=d/f,x=d%f;d<0?(o=-Math.ceil(o)|0,x=-x|0):(o=Math.floor(o)|0,x=x|0);var M=""+o;if(d<0&&(M="-"+M),p){for(var T=""+x;T.length=n[0][c];--d)p.push({x:d*i[c],text:t(i[c],d)});s.push(p)}return s}function r(n,i){for(var s=0;s<3;++s){if(n[s].length!==i[s].length)return!1;for(var c=0;cM)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return o.bufferSubData(x,g,E),M}function f(o,x){for(var M=a.malloc(o.length,x),T=o.length,E=0;E=0;--T){if(x[T]!==M)return!1;M*=o[T]}return!0}c.update=function(o,x){if(typeof x!="number"&&(x=-1),this.bind(),typeof o=="object"&&typeof o.shape<"u"){var M=o.dtype;if(i.indexOf(M)<0&&(M="float32"),this.type===this.gl.ELEMENT_ARRAY_BUFFER){var T=gl.getExtension("OES_element_index_uint");T&&M!=="uint16"?M="uint32":M="uint16"}if(M===o.dtype&&d(o.shape,o.stride))o.offset===0&&o.data.length===o.shape[0]?this.length=p(this.gl,this.type,this.length,this.usage,o.data,x):this.length=p(this.gl,this.type,this.length,this.usage,o.data.subarray(o.offset,o.shape[0]),x);else{var E=a.malloc(o.size,M),g=n(E,o.shape);r.assign(g,o),x<0?this.length=p(this.gl,this.type,this.length,this.usage,E,x):this.length=p(this.gl,this.type,this.length,this.usage,E.subarray(0,o.size),x),a.free(E)}}else if(Array.isArray(o)){var A;this.type===this.gl.ELEMENT_ARRAY_BUFFER?A=f(o,"uint16"):A=f(o,"float32"),x<0?this.length=p(this.gl,this.type,this.length,this.usage,A,x):this.length=p(this.gl,this.type,this.length,this.usage,A.subarray(0,o.length),x),a.free(A)}else if(typeof o=="object"&&typeof o.length=="number")this.length=p(this.gl,this.type,this.length,this.usage,o,x);else if(typeof o=="number"||o===void 0){if(x>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");o=o|0,o<=0&&(o=1),this.gl.bufferData(this.type,o|0,this.usage),this.length=o}else throw new Error("gl-buffer: Invalid data type")};function y(o,x,M,T){if(M=M||o.ARRAY_BUFFER,T=T||o.DYNAMIC_DRAW,M!==o.ARRAY_BUFFER&&M!==o.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(T!==o.DYNAMIC_DRAW&&T!==o.STATIC_DRAW&&T!==o.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 E=o.createBuffer(),g=new s(o,M,E,0,T);return g.update(x),g}l.exports=y},6405:function(l,e,t){"use strict";var a=t(2931);l.exports=function(n,i){var s=n.positions,c=n.vectors,p={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]),p;for(var f=0,d=1/0,y=-1/0,o=1/0,x=-1/0,M=1/0,T=-1/0,E=null,g=null,A=[],m=1/0,h=!1,b=n.coneSizemode==="raw",_=0;_f&&(f=a.length(C)),_&&!b){var F=2*a.distance(E,I)/(a.length(g)+a.length(C));F?(m=Math.min(m,F),h=!1):h=!0}h||(E=I,g=C),A.push(C)}var R=[d,o,M],z=[y,x,T];i&&(i[0]=R,i[1]=z),f===0&&(f=1);var D=1/f;isFinite(m)||(m=1),p.vectorScale=m;var k=n.coneSize||(b?1:.5);n.absoluteConeSize&&(k=n.absoluteConeSize*D),p.coneScale=k;for(var _=0,B=0;_=1},o.isTransparent=function(){return this.opacity<1},o.pickSlots=1,o.setPickBase=function(A){this.pickId=A};function x(A){for(var m=f({colormap:A,nshades:256,format:"rgba"}),h=new Uint8Array(256*4),b=0;b<256;++b){for(var _=m[b],I=0;I<3;++I)h[4*b+I]=_[I];h[4*b+3]=_[3]*255}return p(h,[256,256,4],[4,0,1])}function M(A){for(var m=A.length,h=new Array(m),b=0;b0){var B=this.triShader;B.bind(),B.uniforms=F,this.triangleVAO.bind(),m.drawArrays(m.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}},o.drawPick=function(A){A=A||{};for(var m=this.gl,h=A.model||d,b=A.view||d,_=A.projection||d,I=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],C=0;C<3;++C)I[0][C]=Math.max(I[0][C],this.clipBounds[0][C]),I[1][C]=Math.min(I[1][C],this.clipBounds[1][C]);this._model=[].slice.call(h),this._view=[].slice.call(b),this._projection=[].slice.call(_),this._resolution=[m.drawingBufferWidth,m.drawingBufferHeight];var F={model:h,view:b,projection:_,clipBounds:I,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},R=this.pickShader;R.bind(),R.uniforms=F,this.triangleCount>0&&(this.triangleVAO.bind(),m.drawArrays(m.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind())},o.pick=function(A){if(!A||A.id!==this.pickId)return null;var m=A.value[0]+256*A.value[1]+65536*A.value[2],h=this.cells[m],b=this.positions[h[1]].slice(0,3),_={position:b,dataCoordinate:b,index:Math.floor(h[1]/48)};return this.traceType==="cone"?_.index=Math.floor(h[1]/48):this.traceType==="streamtube"&&(_.intensity=this.intensity[h[1]],_.velocity=this.vectors[h[1]].slice(0,3),_.divergence=this.vectors[h[1]][3],_.index=m),_},o.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 T(A,m){var h=a(A,m.meshShader.vertex,m.meshShader.fragment,null,m.meshShader.attributes);return h.attributes.position.location=0,h.attributes.color.location=2,h.attributes.uv.location=3,h.attributes.vector.location=4,h}function E(A,m){var h=a(A,m.pickShader.vertex,m.pickShader.fragment,null,m.pickShader.attributes);return h.attributes.position.location=0,h.attributes.id.location=1,h.attributes.vector.location=4,h}function g(A,m,h){var b=h.shaders;arguments.length===1&&(m=A,A=m.gl);var _=T(A,b),I=E(A,b),C=i(A,p(new Uint8Array([255,255,255,255]),[1,1,4]));C.generateMipmap(),C.minFilter=A.LINEAR_MIPMAP_LINEAR,C.magFilter=A.LINEAR;var F=r(A),R=r(A),z=r(A),D=r(A),k=r(A),B=n(A,[{buffer:F,type:A.FLOAT,size:4},{buffer:k,type:A.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:z,type:A.FLOAT,size:4},{buffer:D,type:A.FLOAT,size:2},{buffer:R,type:A.FLOAT,size:4}]),O=new y(A,C,_,I,F,R,k,z,D,B,h.traceType||"cone");return O.update(m),O}l.exports=g},614:function(l,e,t){var a=t(3236),r=a([`precision highp float; precision highp float; #define GLSLIFY 1 @@ -199,7 +416,7 @@ void main() { f_position = position.xyz; f_uv = uv; } -`]),n=o([`#extension GL_OES_standard_derivatives : enable +`]),n=a([`#extension GL_OES_standard_derivatives : enable precision highp float; #define GLSLIFY 1 @@ -290,7 +507,7 @@ void main() { gl_FragColor = litColor * opacity; } -`]),i=o([`precision highp float; +`]),i=a([`precision highp float; precision highp float; #define GLSLIFY 1 @@ -389,7 +606,7 @@ void main() { f_id = id; f_position = position.xyz; } -`]),s=o([`precision highp float; +`]),s=a([`precision highp float; #define GLSLIFY 1 bool outOfRange(float a, float b, float p) { @@ -422,39 +639,242 @@ void main() { if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; gl_FragColor = vec4(pickId, f_id.xyz); -}`]);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; -#define GLSLIFY 1 -attribute vec2 position; -varying vec2 uv; -void main() { - uv = position; - gl_Position = vec4(position, 0, 1); -}`]),i=o([`precision mediump float; +}`]);e.meshShader={vertex:r,fragment:n,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},e.pickShader={vertex:i,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},737:function(l){l.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(l,e,t){var a=t(737);l.exports=function(n){return a[n]}},9165:function(l,e,t){"use strict";l.exports=y;var a=t(2762),r=t(8116),n=t(3436),i=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(o,x,M,T){this.gl=o,this.shader=T,this.buffer=x,this.vao=M,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 c=s.prototype;c.isOpaque=function(){return!this.hasAlpha},c.isTransparent=function(){return this.hasAlpha},c.drawTransparent=c.draw=function(o){var x=this.gl,M=this.shader.uniforms;this.shader.bind();var T=M.view=o.view||i,E=M.projection=o.projection||i;M.model=o.model||i,M.clipBounds=this.clipBounds,M.opacity=this.opacity;var g=T[12],A=T[13],m=T[14],h=T[15],b=o._ortho||!1,_=b?2:1,I=_*this.pixelRatio*(E[3]*g+E[7]*A+E[11]*m+E[15]*h)/x.drawingBufferHeight;this.vao.bind();for(var C=0;C<3;++C)x.lineWidth(this.lineWidth[C]*this.pixelRatio),M.capSize=this.capSize[C]*I,this.lineCount[C]&&x.drawArrays(x.LINES,this.lineOffset[C],this.lineCount[C]);this.vao.unbind()};function p(o,x){for(var M=0;M<3;++M)o[0][M]=Math.min(o[0][M],x[M]),o[1][M]=Math.max(o[1][M],x[M])}var f=function(){for(var o=new Array(3),x=0;x<3;++x){for(var M=[],T=1;T<=2;++T)for(var E=-1;E<=1;E+=2){var g=(T+x)%3,A=[0,0,0];A[g]=E,M.push(A)}o[x]=M}return o}();function d(o,x,M,T){for(var E=f[T],g=0;g0){var F=b.slice();F[m]+=I[1][m],E.push(b[0],b[1],b[2],C[0],C[1],C[2],C[3],0,0,0,F[0],F[1],F[2],C[0],C[1],C[2],C[3],0,0,0),p(this.bounds,F),A+=2+d(E,F,C,m)}}}this.lineCount[m]=A-this.lineOffset[m]}this.buffer.update(E)}},c.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()};function y(o){var x=o.gl,M=a(x),T=r(x,[{buffer:M,type:x.FLOAT,size:3,offset:0,stride:40},{buffer:M,type:x.FLOAT,size:4,offset:12,stride:40},{buffer:M,type:x.FLOAT,size:3,offset:28,stride:40}]),E=n(x);E.attributes.position.location=0,E.attributes.color.location=1,E.attributes.offset.location=2;var g=new s(x,M,T,E);return g.update(o),g}},3436:function(l,e,t){"use strict";var a=t(3236),r=t(9405),n=a([`precision highp float; #define GLSLIFY 1 -uniform sampler2D accumBuffer; -varying vec2 uv; +attribute vec3 position, offset; +attribute vec4 color; +uniform mat4 model, view, projection; +uniform float capSize; +varying vec4 fragColor; +varying vec3 fragPosition; void main() { - vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0)); - gl_FragColor = min(vec4(1,1,1,1), accum); -}`]);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; + vec4 worldPosition = model * vec4(position, 1.0); + worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0); + gl_Position = projection * (view * worldPosition); + fragColor = color; + fragPosition = position; +}`]),i=a([`precision highp float; #define GLSLIFY 1 -attribute vec3 position, normal; -attribute vec4 color; -attribute vec2 uv; +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} -uniform mat4 model - , view - , projection - , inverseModel; -uniform vec3 eyePosition - , lightPosition; +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} -varying vec3 f_normal - , f_lightDirection - , f_eyeDirection +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float opacity; +varying vec3 fragPosition; +varying vec4 fragColor; + +void main() { + if ( + outOfRange(clipBounds[0], clipBounds[1], fragPosition) || + fragColor.a * opacity == 0. + ) discard; + + gl_FragColor = opacity * fragColor; +}`]);l.exports=function(s){return r(s,n,i,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},2260:function(l,e,t){"use strict";var a=t(7766);l.exports=A;var r=null,n,i,s,c;function p(m){var h=m.getParameter(m.FRAMEBUFFER_BINDING),b=m.getParameter(m.RENDERBUFFER_BINDING),_=m.getParameter(m.TEXTURE_BINDING_2D);return[h,b,_]}function f(m,h){m.bindFramebuffer(m.FRAMEBUFFER,h[0]),m.bindRenderbuffer(m.RENDERBUFFER,h[1]),m.bindTexture(m.TEXTURE_2D,h[2])}function d(m,h){var b=m.getParameter(h.MAX_COLOR_ATTACHMENTS_WEBGL);r=new Array(b+1);for(var _=0;_<=b;++_){for(var I=new Array(b),C=0;C<_;++C)I[C]=m.COLOR_ATTACHMENT0+C;for(var C=_;C1&&R.drawBuffersWEBGL(r[F]);var O=b.getExtension("WEBGL_depth_texture");O?z?m.depth=o(b,I,C,O.UNSIGNED_INT_24_8_WEBGL,b.DEPTH_STENCIL,b.DEPTH_STENCIL_ATTACHMENT):D&&(m.depth=o(b,I,C,b.UNSIGNED_SHORT,b.DEPTH_COMPONENT,b.DEPTH_ATTACHMENT)):D&&z?m._depth_rb=x(b,I,C,b.DEPTH_STENCIL,b.DEPTH_STENCIL_ATTACHMENT):D?m._depth_rb=x(b,I,C,b.DEPTH_COMPONENT16,b.DEPTH_ATTACHMENT):z&&(m._depth_rb=x(b,I,C,b.STENCIL_INDEX,b.STENCIL_ATTACHMENT));var q=b.checkFramebufferStatus(b.FRAMEBUFFER);if(q!==b.FRAMEBUFFER_COMPLETE){m._destroyed=!0,b.bindFramebuffer(b.FRAMEBUFFER,null),b.deleteFramebuffer(m.handle),m.handle=null,m.depth&&(m.depth.dispose(),m.depth=null),m._depth_rb&&(b.deleteRenderbuffer(m._depth_rb),m._depth_rb=null);for(var B=0;BI||b<0||b>I)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");m._shape[0]=h,m._shape[1]=b;for(var C=p(_),F=0;FC||b<0||b>C)throw new Error("gl-fbo: Parameters are too large for FBO");_=_||{};var F=1;if("color"in _){if(F=Math.max(_.color|0,0),F<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(F>1)if(I){if(F>m.getParameter(I.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+F+" draw buffers")}else throw new Error("gl-fbo: Multiple draw buffer extension not supported")}var R=m.UNSIGNED_BYTE,z=m.getExtension("OES_texture_float");if(_.float&&F>0){if(!z)throw new Error("gl-fbo: Context does not support floating point textures");R=m.FLOAT}else _.preferFloat&&F>0&&z&&(R=m.FLOAT);var D=!0;"depth"in _&&(D=!!_.depth);var k=!1;return"stencil"in _&&(k=!!_.stencil),new T(m,h,b,R,F,D,k,I)}},2992:function(l,e,t){var a=t(3387).sprintf,r=t(5171),n=t(1848),i=t(1085);l.exports=s;function s(c,p,f){"use strict";var d=n(p)||"of unknown name (see npm glsl-shader-name)",y="unknown type";f!==void 0&&(y=f===r.FRAGMENT_SHADER?"fragment":"vertex");for(var o=a(`Error compiling %s shader %s: +`,y,d),x=a("%s%s",o,c),M=c.split(` +`),T={},E=0;E max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform sampler2D dashTexture; +uniform float dashScale; +uniform float opacity; + +varying vec3 worldPosition; +varying float pixelArcLength; +varying vec4 fragColor; + +void main() { + if ( + outOfRange(clipBounds[0], clipBounds[1], worldPosition) || + fragColor.a * opacity == 0. + ) discard; + + float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r; + if(dashWeight < 0.5) { + discard; + } + gl_FragColor = fragColor * opacity; +} +`]),s=a([`precision highp float; +#define GLSLIFY 1 + +#define FLOAT_MAX 1.70141184e38 +#define FLOAT_MIN 1.17549435e-38 + +// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl +vec4 packFloat(float v) { + float av = abs(v); + + //Handle special cases + if(av < FLOAT_MIN) { + return vec4(0.0, 0.0, 0.0, 0.0); + } else if(v > FLOAT_MAX) { + return vec4(127.0, 128.0, 0.0, 0.0) / 255.0; + } else if(v < -FLOAT_MAX) { + return vec4(255.0, 128.0, 0.0, 0.0) / 255.0; + } + + vec4 c = vec4(0,0,0,0); + + //Compute exponent and mantissa + float e = floor(log2(av)); + float m = av * pow(2.0, -e) - 1.0; + + //Unpack mantissa + c[1] = floor(128.0 * m); + m -= c[1] / 128.0; + c[2] = floor(32768.0 * m); + m -= c[2] / 32768.0; + c[3] = floor(8388608.0 * m); + + //Unpack exponent + float ebias = e + 127.0; + c[0] = floor(ebias / 2.0); + ebias -= c[0] * 2.0; + c[1] += floor(ebias) * 128.0; + + //Unpack sign bit + c[0] += 128.0 * step(0.0, -v); + + //Scale back to range + return c / 255.0; +} + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform float pickId; +uniform vec3 clipBounds[2]; + +varying vec3 worldPosition; +varying float pixelArcLength; +varying vec4 fragColor; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard; + + gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz); +}`]),c=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];e.createShader=function(p){return r(p,n,i,null,c)},e.createPickShader=function(p){return r(p,n,s,null,c)}},5714:function(l,e,t){"use strict";l.exports=m;var a=t(2762),r=t(8116),n=t(7766),i=new Uint8Array(4),s=new Float32Array(i.buffer);function c(h,b,_,I){return i[0]=I,i[1]=_,i[2]=b,i[3]=h,s[0]}var p=t(2478),f=t(9618),d=t(7319),y=d.createShader,o=d.createPickShader,x=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function M(h,b){for(var _=0,I=0;I<3;++I){var C=h[I]-b[I];_+=C*C}return Math.sqrt(_)}function T(h){for(var b=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],_=0;_<3;++_)b[0][_]=Math.max(h[0][_],b[0][_]),b[1][_]=Math.min(h[1][_],b[1][_]);return b}function E(h,b,_,I){this.arcLength=h,this.position=b,this.index=_,this.dataCoordinate=I}function g(h,b,_,I,C,F){this.gl=h,this.shader=b,this.pickShader=_,this.buffer=I,this.vao=C,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=F,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var A=g.prototype;A.isTransparent=function(){return this.hasAlpha},A.isOpaque=function(){return!this.hasAlpha},A.pickSlots=1,A.setPickBase=function(h){this.pickId=h},A.drawTransparent=A.draw=function(h){if(this.vertexCount){var b=this.gl,_=this.shader,I=this.vao;_.bind(),_.uniforms={model:h.model||x,view:h.view||x,projection:h.projection||x,clipBounds:T(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[b.drawingBufferWidth,b.drawingBufferHeight],pixelRatio:this.pixelRatio},I.bind(),I.draw(b.TRIANGLE_STRIP,this.vertexCount),I.unbind()}},A.drawPick=function(h){if(this.vertexCount){var b=this.gl,_=this.pickShader,I=this.vao;_.bind(),_.uniforms={model:h.model||x,view:h.view||x,projection:h.projection||x,pickId:this.pickId,clipBounds:T(this.clipBounds),screenShape:[b.drawingBufferWidth,b.drawingBufferHeight],pixelRatio:this.pixelRatio},I.bind(),I.draw(b.TRIANGLE_STRIP,this.vertexCount),I.unbind()}},A.update=function(h){var b,_;this.dirty=!0;var I=!!h.connectGaps;"dashScale"in h&&(this.dashScale=h.dashScale),this.hasAlpha=!1,"opacity"in h&&(this.opacity=+h.opacity,this.opacity<1&&(this.hasAlpha=!0));var C=[],F=[],R=[],z=0,D=0,k=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],B=h.position||h.positions;if(B){var O=h.color||h.colors||[0,0,0,1],q=h.lineWidth||1,Y=!1;e:for(b=1;b0){for(var ae=0;ae<24;++ae)C.push(C[C.length-12]);D+=2,Y=!0}continue e}k[0][_]=Math.min(k[0][_],ee[_],te[_]),k[1][_]=Math.max(k[1][_],ee[_],te[_])}var U,H;Array.isArray(O[0])?(U=O.length>b-1?O[b-1]:O.length>0?O[O.length-1]:[0,0,0,1],H=O.length>b?O[b]:O.length>0?O[O.length-1]:[0,0,0,1]):U=H=O,U.length===3&&(U=[U[0],U[1],U[2],1]),H.length===3&&(H=[H[0],H[1],H[2],1]),!this.hasAlpha&&U[3]<1&&(this.hasAlpha=!0);var K;Array.isArray(q)?K=q.length>b-1?q[b-1]:q.length>0?q[q.length-1]:[0,0,0,1]:K=q;var V=z;if(z+=M(ee,te),Y){for(_=0;_<2;++_)C.push(ee[0],ee[1],ee[2],te[0],te[1],te[2],V,K,U[0],U[1],U[2],U[3]);D+=2,Y=!1}C.push(ee[0],ee[1],ee[2],te[0],te[1],te[2],V,K,U[0],U[1],U[2],U[3],ee[0],ee[1],ee[2],te[0],te[1],te[2],V,-K,U[0],U[1],U[2],U[3],te[0],te[1],te[2],ee[0],ee[1],ee[2],z,-K,H[0],H[1],H[2],H[3],te[0],te[1],te[2],ee[0],ee[1],ee[2],z,K,H[0],H[1],H[2],H[3]),D+=4}}if(this.buffer.update(C),F.push(z),R.push(B[B.length-1].slice()),this.bounds=k,this.vertexCount=D,this.points=R,this.arcLength=F,"dashes"in h){var $=h.dashes,X=$.slice();for(X.unshift(0),b=1;b1.0001)return null;_+=b[E]}return Math.abs(_-1)>.001?null:[g,c(f,b),b]}},840:function(l,e,t){var a=t(3236),r=a([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position, normal; +attribute vec4 color; +attribute vec2 uv; + +uniform mat4 model + , view + , projection + , inverseModel; +uniform vec3 eyePosition + , lightPosition; + +varying vec3 f_normal + , f_lightDirection + , f_eyeDirection , f_data; varying vec4 f_color; varying vec2 f_uv; @@ -477,7 +897,7 @@ void main() { f_data = position; f_uv = uv; } -`]),n=o([`#extension GL_OES_standard_derivatives : enable +`]),n=a([`#extension GL_OES_standard_derivatives : enable precision highp float; #define GLSLIFY 1 @@ -582,7 +1002,7 @@ void main() { gl_FragColor = litColor * f_color.a; } -`]),i=o([`precision highp float; +`]),i=a([`precision highp float; #define GLSLIFY 1 attribute vec3 position; @@ -600,7 +1020,7 @@ void main() { f_color = color; f_data = position; f_uv = uv; -}`]),s=o([`precision highp float; +}`]),s=a([`precision highp float; #define GLSLIFY 1 bool outOfRange(float a, float b, float p) { @@ -635,7 +1055,7 @@ void main() { if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard; gl_FragColor = f_color * texture2D(texture, f_uv) * opacity; -}`]),h=o([`precision highp float; +}`]),c=a([`precision highp float; #define GLSLIFY 1 bool outOfRange(float a, float b, float p) { @@ -679,7 +1099,7 @@ void main() { gl_PointSize = pointSize; f_color = color; f_uv = uv; -}`]),c=o([`precision highp float; +}`]),p=a([`precision highp float; #define GLSLIFY 1 uniform sampler2D texture; @@ -694,7 +1114,7 @@ void main() { discard; } gl_FragColor = f_color * texture2D(texture, f_uv) * opacity; -}`]),m=o([`precision highp float; +}`]),f=a([`precision highp float; #define GLSLIFY 1 attribute vec3 position; @@ -709,7 +1129,7 @@ void main() { gl_Position = projection * (view * (model * vec4(position, 1.0))); f_id = id; f_position = position; -}`]),p=o([`precision highp float; +}`]),d=a([`precision highp float; #define GLSLIFY 1 bool outOfRange(float a, float b, float p) { @@ -742,7 +1162,7 @@ void main() { if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; gl_FragColor = vec4(pickId, f_id.xyz); -}`]),T=o([`precision highp float; +}`]),y=a([`precision highp float; #define GLSLIFY 1 bool outOfRange(float a, float b, float p) { @@ -785,7 +1205,7 @@ void main() { } f_id = id; f_position = position; -}`]),l=o([`precision highp float; +}`]),o=a([`precision highp float; #define GLSLIFY 1 attribute vec3 position; @@ -794,7 +1214,7 @@ uniform mat4 model, view, projection; void main() { gl_Position = projection * (view * (model * vec4(position, 1.0))); -}`]),_=o([`precision highp float; +}`]),x=a([`precision highp float; #define GLSLIFY 1 uniform vec3 contourColor; @@ -802,217 +1222,28 @@ uniform vec3 contourColor; void main() { gl_FragColor = vec4(contourColor, 1.0); } -`]);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;Zeae&&H>0){var K=(U[H][0]-ae)/(U[H][0]-U[H-1][0]);return U[H][1]*(1-K)+K*U[H-1][1]}}return 1}function z(ae,U){for(var H=o({colormap:ae,nshades:256,format:"rgba"}),K=new Uint8Array(256*4),V=0;V<256;++V){for(var $=H[V],X=0;X<3;++X)K[4*V+X]=$[X];U?K[4*V+3]=255*R(V/255,U):K[4*V+3]=255*$[3]}return y(K,[256,256,4],[4,0,1])}function D(ae){for(var U=ae.length,H=new Array(U),K=0;K0){var ye=this.triShader;ye.bind(),ye.uniforms=Z,this.triangleVAO.bind(),U.drawArrays(U.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}if(this.edgeCount>0&&this.lineWidth>0){var ye=this.lineShader;ye.bind(),ye.uniforms=Z,this.edgeVAO.bind(),U.lineWidth(this.lineWidth*this.pixelRatio),U.drawArrays(U.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()}if(this.pointCount>0){var ye=this.pointShader;ye.bind(),ye.uniforms=Z,this.pointVAO.bind(),U.drawArrays(U.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0){var ye=this.contourShader;ye.bind(),ye.uniforms=Z,this.contourVAO.bind(),U.drawArrays(U.LINES,0,this.contourCount),this.contourVAO.unbind()}},F.drawPick=function(ae){ae=ae||{};for(var U=this.gl,H=ae.model||I,K=ae.view||I,V=ae.projection||I,$=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],X=0;X<3;++X)$[0][X]=Math.max($[0][X],this.clipBounds[0][X]),$[1][X]=Math.min($[1][X],this.clipBounds[1][X]);this._model=[].slice.call(H),this._view=[].slice.call(K),this._projection=[].slice.call(V),this._resolution=[U.drawingBufferWidth,U.drawingBufferHeight];var Z={model:H,view:K,projection:V,clipBounds:$,pickId:this.pickId/255},Q=this.pickShader;if(Q.bind(),Q.uniforms=Z,this.triangleCount>0&&(this.triangleVAO.bind(),U.drawArrays(U.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),U.lineWidth(this.lineWidth*this.pixelRatio),U.drawArrays(U.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()),this.pointCount>0){var Q=this.pointPickShader;Q.bind(),Q.uniforms=Z,this.pointVAO.bind(),U.drawArrays(U.POINTS,0,this.pointCount),this.pointVAO.unbind()}},F.pick=function(ae){if(!ae||ae.id!==this.pickId)return null;for(var U=ae.value[0]+256*ae.value[1]+65536*ae.value[2],H=this.cells[U],K=this.positions,V=new Array(H.length),$=0;$Math.abs(h))o.rotate(I,0,0,-m*b*Math.PI*g.rotateSpeed/window.innerWidth);else if(!g._ortho){var C=-g.zoomSpeed*_*h/window.innerHeight*(I-o.lastT())/20;o.pan(I,0,0,M*(Math.exp(C)-1))}}},!0)},g.enableMouseListeners(),g}},799:function(l,e,t){var a=t(3236),r=t(9405),n=a([`precision mediump float; #define GLSLIFY 1 - -attribute vec4 uv; -attribute vec3 f; -attribute vec3 normal; - -uniform vec3 objectOffset; -uniform mat4 model, view, projection, inverseModel; -uniform vec3 lightPosition, eyePosition; -uniform sampler2D colormap; - -varying float value, kill; -varying vec3 worldCoordinate; -varying vec2 planeCoordinate; -varying vec3 lightDirection, eyeDirection, surfaceNormal; -varying vec4 vColor; - +attribute vec2 position; +varying vec2 uv; void main() { - vec3 localCoordinate = vec3(uv.zw, f.x); - worldCoordinate = objectOffset + localCoordinate; - mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0)); - vec4 worldPosition = (model * objectOffsetTranslation) * vec4(localCoordinate, 1.0); - vec4 clipPosition = projection * (view * worldPosition); - gl_Position = clipPosition; - kill = f.y; - value = f.z; - planeCoordinate = uv.xy; + uv = position; + gl_Position = vec4(position, 0, 1); +}`]),i=a([`precision mediump float; +#define GLSLIFY 1 - vColor = texture2D(colormap, vec2(value, value)); +uniform sampler2D accumBuffer; +varying vec2 uv; - //Lighting geometry parameters - vec4 cameraCoordinate = view * worldPosition; - cameraCoordinate.xyz /= cameraCoordinate.w; - lightDirection = lightPosition - cameraCoordinate.xyz; - eyeDirection = eyePosition - cameraCoordinate.xyz; - surfaceNormal = normalize((vec4(normal,0) * inverseModel).xyz); -} -`]),i=a([`precision highp float; +void main() { + vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0)); + gl_FragColor = min(vec4(1,1,1,1), accum); +}`]);l.exports=function(s){return r(s,n,i,null,[{name:"position",type:"vec2"}])}},4100:function(l,e,t){"use strict";var a=t(4437),r=t(3837),n=t(5445),i=t(4449),s=t(3589),c=t(2260),p=t(7169),f=t(351),d=t(4772),y=t(4040),o=t(799),x=t(9216)({tablet:!0,featureDetect:!0});l.exports={createScene:A,createCamera:a};function M(){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 T(h,b){var _=null;try{_=h.getContext("webgl",b),_||(_=h.getContext("experimental-webgl",b))}catch{return null}return _}function E(h){var b=Math.round(Math.log(Math.abs(h))/Math.log(10));if(b<0){var _=Math.round(Math.pow(10,-b));return Math.ceil(h*_)/_}else if(b>0){var _=Math.round(Math.pow(10,b));return Math.ceil(h/_)*_}return Math.ceil(h)}function g(h){return typeof h=="boolean"?h:!0}function A(h){h=h||{},h.camera=h.camera||{};var b=h.canvas;if(!b)if(b=document.createElement("canvas"),h.container){var _=h.container;_.appendChild(b)}else document.body.appendChild(b);var I=h.gl;if(I||(h.glOptions&&(x=!!h.glOptions.preserveDrawingBuffer),I=T(b,h.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:x})),!I)throw new Error("webgl not supported");var C=h.bounds||[[-10,-10,-10],[10,10,10]],F=new M,R=c(I,I.drawingBufferWidth,I.drawingBufferHeight,{preferFloat:!x}),z=o(I),D=h.cameraObject&&h.cameraObject._ortho===!0||h.camera.projection&&h.camera.projection.type==="orthographic"||!1,k={eye:h.camera.eye||[2,0,0],center:h.camera.center||[0,0,0],up:h.camera.up||[0,1,0],zoomMin:h.camera.zoomMax||.1,zoomMax:h.camera.zoomMin||100,mode:h.camera.mode||"turntable",_ortho:D},B=h.axes||{},O=r(I,B);O.enable=!B.disable;var q=h.spikes||{},Y=i(I,q),ee=[],te=[],ae=[],U=[],H=!0,X=!0,K=new Array(16),V=new Array(16),$={view:null,projection:K,model:V,_ortho:!1},X=!0,Z=[I.drawingBufferWidth,I.drawingBufferHeight],Q=h.cameraObject||a(b,k),re={gl:I,contextLost:!1,pixelRatio:h.pixelRatio||1,canvas:b,selection:F,camera:Q,axes:O,axesPixels:null,spikes:Y,bounds:C,objects:ee,shape:Z,aspect:h.aspectRatio||[1,1,1],pickRadius:h.pickRadius||10,zNear:h.zNear||.01,zFar:h.zFar||1e3,fovy:h.fovy||Math.PI/4,clearColor:h.clearColor||[0,0,0,0],autoResize:g(h.autoResize),autoBounds:g(h.autoBounds),autoScale:!!h.autoScale,autoCenter:g(h.autoCenter),clipToBounds:g(h.clipToBounds),snapToData:!!h.snapToData,onselect:h.onselect||null,onrender:h.onrender||null,onclick:h.onclick||null,cameraParams:$,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(he){this.aspect[0]=he.x,this.aspect[1]=he.y,this.aspect[2]=he.z,X=!0},setBounds:function(he,oe){this.bounds[0][he]=oe.min,this.bounds[1][he]=oe.max},setClearColor:function(he){this.clearColor=he},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=[I.drawingBufferWidth/re.pixelRatio|0,I.drawingBufferHeight/re.pixelRatio|0];function me(){if(!re._stopped&&re.autoResize){var he=b.parentNode,oe=1,le=1;he&&he!==document.body?(oe=he.clientWidth,le=he.clientHeight):(oe=window.innerWidth,le=window.innerHeight);var ne=Math.ceil(oe*re.pixelRatio)|0,be=Math.ceil(le*re.pixelRatio)|0;if(ne!==b.width||be!==b.height){b.width=ne,b.height=be;var Fe=b.style;Fe.position=Fe.position||"absolute",Fe.left="0px",Fe.top="0px",Fe.width=oe+"px",Fe.height=le+"px",H=!0}}}re.autoResize&&me(),window.addEventListener("resize",me);function ye(){for(var he=ee.length,oe=U.length,le=0;le0&&ae[oe-1]===0;)ae.pop(),U.pop().dispose()}re.update=function(he){re._stopped||(he=he||{},H=!0,X=!0)},re.add=function(he){re._stopped||(he.axes=O,ee.push(he),te.push(-1),H=!0,X=!0,ye())},re.remove=function(he){if(!re._stopped){var oe=ee.indexOf(he);oe<0||(ee.splice(oe,1),te.pop(),H=!0,X=!0,ye())}},re.dispose=function(){if(!re._stopped&&(re._stopped=!0,window.removeEventListener("resize",me),b.removeEventListener("webglcontextlost",Ae),re.mouseListener.enabled=!1,!re.contextLost)){O.dispose(),Y.dispose();for(var he=0;heF.distance)continue;for(var st=0;st1e-6?(x=Math.acos(M),T=Math.sin(x),E=Math.sin((1-n)*x)/T,g=Math.sin(n*x)/T):(E=1-n,g=n),t[0]=E*i+g*f,t[1]=E*s+g*d,t[2]=E*c+g*y,t[3]=E*p+g*o,t}},5964:function(l){"use strict";l.exports=function(e){return!e&&e!==0?"":e.toString()}},9366:function(l,e,t){"use strict";var a=t(4359);l.exports=n;var r={};function n(i,s,c){var p=[s.style,s.weight,s.variant,s.family].join("_"),f=r[p];if(f||(f=r[p]={}),i in f)return f[i];var d={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}};d.triangles=!0;var y=a(i,d);d.triangles=!1;var o=a(i,d),x,M;if(c&&c!==1){for(x=0;x max(a, b)) || - (p < min(a, b))); -} - -bool outOfRange(vec2 a, vec2 b, vec2 p) { - return (outOfRange(a.x, b.x, p.x) || - outOfRange(a.y, b.y, p.y)); -} - -bool outOfRange(vec3 a, vec3 b, vec3 p) { - return (outOfRange(a.x, b.x, p.x) || - outOfRange(a.y, b.y, p.y) || - outOfRange(a.z, b.z, p.z)); -} - -bool outOfRange(vec4 a, vec4 b, vec4 p) { - return outOfRange(a.xyz, b.xyz, p.xyz); -} - -uniform vec3 lowerBound, upperBound; -uniform float contourTint; -uniform vec4 contourColor; -uniform sampler2D colormap; -uniform vec3 clipBounds[2]; -uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity; -uniform float vertexColor; - -varying float value, kill; -varying vec3 worldCoordinate; -varying vec3 lightDirection, eyeDirection, surfaceNormal; -varying vec4 vColor; - -void main() { - if ( - kill > 0.0 || - vColor.a == 0.0 || - outOfRange(clipBounds[0], clipBounds[1], worldCoordinate) - ) discard; - - vec3 N = normalize(surfaceNormal); - vec3 V = normalize(eyeDirection); - vec3 L = normalize(lightDirection); - - if(gl_FrontFacing) { - N = -N; - } - - float specular = max(beckmannSpecular(L, V, N, roughness), 0.); - float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0); - - //decide how to interpolate color \u2014 in vertex or in fragment - vec4 surfaceColor = - step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + - step(.5, vertexColor) * vColor; - - vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0); - - gl_FragColor = mix(litColor, contourColor, contourTint) * opacity; -} -`]),s=a([`precision highp float; -#define GLSLIFY 1 - -attribute vec4 uv; -attribute float f; - -uniform vec3 objectOffset; -uniform mat3 permutation; -uniform mat4 model, view, projection; -uniform float height, zOffset; -uniform sampler2D colormap; - -varying float value, kill; -varying vec3 worldCoordinate; -varying vec2 planeCoordinate; -varying vec3 lightDirection, eyeDirection, surfaceNormal; -varying vec4 vColor; - -void main() { - vec3 dataCoordinate = permutation * vec3(uv.xy, height); - worldCoordinate = objectOffset + dataCoordinate; - mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0)); - vec4 worldPosition = (model * objectOffsetTranslation) * vec4(dataCoordinate, 1.0); - - vec4 clipPosition = projection * (view * worldPosition); - clipPosition.z += zOffset; - - gl_Position = clipPosition; - value = f + objectOffset.z; - kill = -1.0; - planeCoordinate = uv.zw; - - vColor = texture2D(colormap, vec2(value, value)); - - //Don't do lighting for contours - surfaceNormal = vec3(1,0,0); - eyeDirection = vec3(0,1,0); - lightDirection = vec3(0,0,1); -} -`]),h=a([`precision highp float; -#define GLSLIFY 1 - -bool outOfRange(float a, float b, float p) { - return ((p > max(a, b)) || - (p < min(a, b))); -} - -bool outOfRange(vec2 a, vec2 b, vec2 p) { - return (outOfRange(a.x, b.x, p.x) || - outOfRange(a.y, b.y, p.y)); -} - -bool outOfRange(vec3 a, vec3 b, vec3 p) { - return (outOfRange(a.x, b.x, p.x) || - outOfRange(a.y, b.y, p.y) || - outOfRange(a.z, b.z, p.z)); -} - -bool outOfRange(vec4 a, vec4 b, vec4 p) { - return outOfRange(a.xyz, b.xyz, p.xyz); -} - -uniform vec2 shape; -uniform vec3 clipBounds[2]; -uniform float pickId; - -varying float value, kill; -varying vec3 worldCoordinate; -varying vec2 planeCoordinate; -varying vec3 surfaceNormal; - -vec2 splitFloat(float v) { - float vh = 255.0 * v; - float upper = floor(vh); - float lower = fract(vh); - return vec2(upper / 255.0, floor(lower * 16.0) / 16.0); -} - -void main() { - if ((kill > 0.0) || - (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard; - - vec2 ux = splitFloat(planeCoordinate.x / shape.x); - vec2 uy = splitFloat(planeCoordinate.y / shape.y); - gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0)); -} -`]);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(` -`)}},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; -#define GLSLIFY 1 - -bool outOfRange(float a, float b, float p) { - return ((p > max(a, b)) || - (p < min(a, b))); +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); } bool outOfRange(vec2 a, vec2 b, vec2 p) { @@ -1064,7 +1295,7 @@ void main() { pickId = id; dataCoordinate = position; } -}`]),i=a([`precision highp float; +}`]),i=r([`precision highp float; #define GLSLIFY 1 bool outOfRange(float a, float b, float p) { @@ -1122,7 +1353,7 @@ void main() { pickId = id; dataCoordinate = position; } -}`]),s=a([`precision highp float; +}`]),s=r([`precision highp float; #define GLSLIFY 1 bool outOfRange(float a, float b, float p) { @@ -1182,7 +1413,7 @@ void main() { dataCoordinate = dataPosition; } } -`]),h=a([`precision highp float; +`]),c=r([`precision highp float; #define GLSLIFY 1 bool outOfRange(float a, float b, float p) { @@ -1218,7 +1449,7 @@ void main() { ) discard; gl_FragColor = interpColor * opacity; } -`]),c=a([`precision highp float; +`]),p=r([`precision highp float; #define GLSLIFY 1 bool outOfRange(float a, float b, float p) { @@ -1251,7 +1482,9 @@ void main() { if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard; gl_FragColor = vec4(pickGroup, pickId.bgr); -}`]),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;i1?1:V}function m(V,$,X,Z,Q,re,ce,me,ye,Ae,Se,Ce){this.gl=V,this.pixelRatio=1,this.shader=$,this.orthoShader=X,this.projectShader=Z,this.pointBuffer=Q,this.colorBuffer=re,this.glyphBuffer=ce,this.idBuffer=me,this.vao=ye,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=Ae,this.pickOrthoShader=Se,this.pickProjectShader=Ce,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 h=m.prototype;h.pickSlots=1,h.setPickBase=function(V){this.pickId=V},h.isTransparent=function(){if(this.hasAlpha)return!0;for(var V=0;V<3;++V)if(this.axesProject[V]&&this.projectHasAlpha)return!0;return!1},h.isOpaque=function(){if(!this.hasAlpha)return!0;for(var V=0;V<3;++V)if(this.axesProject[V]&&!this.projectHasAlpha)return!0;return!1};var b=[0,0],_=[0,0,0],I=[0,0,0],C=[0,0,0,1],F=[0,0,0,1],R=d.slice(),z=[0,0,0],D=[[0,0,0],[0,0,0]];function k(V){return V[0]=V[1]=V[2]=0,V}function B(V,$){return V[0]=$[0],V[1]=$[1],V[2]=$[2],V[3]=1,V}function O(V,$,X,Z){return V[0]=$[0],V[1]=$[1],V[2]=$[2],V[X]=Z,V}function q(V){for(var $=D,X=0;X<2;++X)for(var Z=0;Z<3;++Z)$[X][Z]=Math.max(Math.min(V[X][Z],1e8),-1e8);return $}function Y(V,$,X,Z){var Q=$.axesProject,re=$.gl,ce=V.uniforms,me=X.model||d,ye=X.view||d,Ae=X.projection||d,Se=$.axesBounds,Ce=q($.clipBounds),qe;$.axes&&$.axes.lastCubeProps?qe=$.axes.lastCubeProps.axis:qe=[1,1,1],b[0]=2/re.drawingBufferWidth,b[1]=2/re.drawingBufferHeight,V.bind(),ce.view=ye,ce.projection=Ae,ce.screenSize=b,ce.highlightId=$.highlightId,ce.highlightScale=$.highlightScale,ce.clipBounds=Ce,ce.pickGroup=$.pickId/255,ce.pixelRatio=Z;for(var Ue=0;Ue<3;++Ue)if(Q[Ue]){ce.scale=$.projectScale[Ue],ce.opacity=$.projectOpacity[Ue];for(var xe=R,he=0;he<16;++he)xe[he]=0;for(var he=0;he<4;++he)xe[5*he]=1;xe[5*Ue]=0,qe[Ue]<0?xe[12+Ue]=Se[0][Ue]:xe[12+Ue]=Se[1][Ue],s(xe,me,xe),ce.model=xe;var oe=(Ue+1)%3,le=(Ue+2)%3,ne=k(_),be=k(I);ne[oe]=1,be[le]=1;var Fe=E(Ae,ye,me,B(C,ne)),Ve=E(Ae,ye,me,B(F,be));if(Math.abs(Fe[1])>Math.abs(Ve[1])){var je=Fe;Fe=Ve,Ve=je,je=ne,ne=be,be=je;var ut=oe;oe=le,le=ut}Fe[0]<0&&(ne[oe]=-1),Ve[1]>0&&(be[le]=-1);for(var st=0,yt=0,he=0;he<4;++he)st+=Math.pow(me[4*oe+he],2),yt+=Math.pow(me[4*le+he],2);ne[oe]/=Math.sqrt(st),be[le]/=Math.sqrt(yt),ce.axes[0]=ne,ce.axes[1]=be,ce.fragClipBounds[0]=O(z,Ce[0],Ue,-1e8),ce.fragClipBounds[1]=O(z,Ce[1],Ue,1e8),$.vao.bind(),$.vao.draw(re.TRIANGLES,$.vertexCount),$.lineWidth>0&&(re.lineWidth($.lineWidth*Z),$.vao.draw(re.LINES,$.lineVertexCount,$.vertexCount)),$.vao.unbind()}}var ee=[-1e8,-1e8,-1e8],te=[1e8,1e8,1e8],ae=[ee,te];function U(V,$,X,Z,Q,re,ce){var me=X.gl;if((re===X.projectHasAlpha||ce)&&Y($,X,Z,Q),re===X.hasAlpha||ce){V.bind();var ye=V.uniforms;ye.model=Z.model||d,ye.view=Z.view||d,ye.projection=Z.projection||d,b[0]=2/me.drawingBufferWidth,b[1]=2/me.drawingBufferHeight,ye.screenSize=b,ye.highlightId=X.highlightId,ye.highlightScale=X.highlightScale,ye.fragClipBounds=ae,ye.clipBounds=X.axes.bounds,ye.opacity=X.opacity,ye.pickGroup=X.pickId/255,ye.pixelRatio=Q,X.vao.bind(),X.vao.draw(me.TRIANGLES,X.vertexCount),X.lineWidth>0&&(me.lineWidth(X.lineWidth*Q),X.vao.draw(me.LINES,X.lineVertexCount,X.vertexCount)),X.vao.unbind()}}h.draw=function(V){var $=this.useOrtho?this.orthoShader:this.shader;U($,this.projectShader,this,V,this.pixelRatio,!1,!1)},h.drawTransparent=function(V){var $=this.useOrtho?this.orthoShader:this.shader;U($,this.projectShader,this,V,this.pixelRatio,!0,!1)},h.drawPick=function(V){var $=this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader;U($,this.pickProjectShader,this,V,1,!0,!0)},h.pick=function(V){if(!V||V.id!==this.pickId)return null;var $=V.value[2]+(V.value[1]<<8)+(V.value[0]<<16);if($>=this.pointCount||$<0)return null;var X=this.points[$],Z=this._selectResult;Z.index=$;for(var Q=0;Q<3;++Q)Z.position[Q]=Z.dataCoordinate[Q]=X[Q];return Z},h.highlight=function(V){if(!V)this.highlightId=[1,1,1,1];else{var $=V.index,X=$&255,Z=$>>8&255,Q=$>>16&255;this.highlightId=[X/255,Z/255,Q/255,0]}};function H(V,$,X,Z){var Q;M(V)?$0){var Kt=0,nt=le,Ee=[0,0,0,1],ze=[0,0,0,1],ve=M(qe)&&M(qe[0]),_e=M(he)&&M(he[0]);e:for(var Z=0;Z0?1-yt[0][0]:ht<0?1+yt[1][0]:1,gt*=gt>0?1-yt[0][1]:gt<0?1+yt[1][1]:1;for(var _t=[ht,gt],ra=ut.cells||[],$r=ut.positions||[],Ve=0;Vethis.buffer.length){r.free(this.buffer);for(var M=this.buffer=r.mallocUint8(i(x*o*4)),T=0;TM)for(o=M;ox)for(o=x;o=0){for(var D=z.type.charAt(z.type.length-1)|0,k=new Array(D),B=0;B=0;)O+=1;F[R]=O}var q=new Array(M.length);function Y(){g.program=i.program(A,g._vref,g._fref,C,F);for(var ee=0;ee=0){var h=A.charCodeAt(A.length-1)-48;if(h<2||h>4)throw new a("","Invalid data type for attribute "+g+": "+A);s(f,d,m[0],o,h,x,g)}else if(A.indexOf("mat")>=0){var h=A.charCodeAt(A.length-1)-48;if(h<2||h>4)throw new a("","Invalid data type for attribute "+g+": "+A);c(f,d,m,o,h,x,g)}else throw new a("","Unknown data type for attribute "+g+": "+A);break}}return x}},3327:function(l,e,t){"use strict";var a=t(216),r=t(8866);l.exports=s;function n(c){return function(){return c}}function i(c,p){for(var f=new Array(c),d=0;d4)throw new r("","Invalid data type");switch(O.charAt(0)){case"b":case"i":c["uniform"+q+"iv"](d[F],R);break;case"v":c["uniform"+q+"fv"](d[F],R);break;default:throw new r("","Unrecognized data type for vector "+name+": "+O)}}else if(O.indexOf("mat")===0&&O.length===4){if(q=O.charCodeAt(O.length-1)-48,q<2||q>4)throw new r("","Invalid uniform dimension type for matrix "+name+": "+O);c["uniformMatrix"+q+"fv"](d[F],!1,R);break}else throw new r("","Unknown uniform data type for "+name+": "+O)}}}}}function x(A,m){if(typeof m!="object")return[[A,m]];var h=[];for(var b in m){var _=m[b],I=A;parseInt(b)+""===b?I+="["+b+"]":I+="."+b,typeof _=="object"?h.push.apply(h,x(I,_)):h.push([I,_])}return h}function M(A){switch(A){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":return 0;case"float":return 0;default:var m=A.indexOf("vec");if(0<=m&&m<=1&&A.length===4+m){var h=A.charCodeAt(A.length-1)-48;if(h<2||h>4)throw new r("","Invalid data type");return A.charAt(0)==="b"?i(h,!1):i(h,0)}else if(A.indexOf("mat")===0&&A.length===4){var h=A.charCodeAt(A.length-1)-48;if(h<2||h>4)throw new r("","Invalid uniform dimension type for matrix "+name+": "+A);return i(h*h,0)}else throw new r("","Unknown uniform data type for "+name+": "+A)}}function T(A,m,h){if(typeof h=="object"){var b=E(h);Object.defineProperty(A,m,{get:n(b),set:o(h),enumerable:!0,configurable:!1})}else d[h]?Object.defineProperty(A,m,{get:y(h),set:o(h),enumerable:!0,configurable:!1}):A[m]=M(f[h].type)}function E(A){var m;if(Array.isArray(A)){m=new Array(A.length);for(var h=0;h1){f[0]in c||(c[f[0]]=[]),c=c[f[0]];for(var d=1;d1)for(var x=0;x"u"?t(606):WeakMap,i=new n,s=0;function c(T,E,g,A,m,h,b){this.id=T,this.src=E,this.type=g,this.shader=A,this.count=h,this.programs=[],this.cache=b}c.prototype.dispose=function(){if(--this.count===0){for(var T=this.cache,E=T.gl,g=this.programs,A=0,m=g.length;A=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 0 U ||b|| > 0. + // Assign z = 0, x = -b, y = a: + // a*-b + b*a + c*0 = -ba + ba + 0 = 0 + if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) { + return normalize(vec3(-v.y, v.x, 0.0)); + } else { + return normalize(vec3(0.0, v.z, -v.y)); + } +} -uniform mat4 model, view, projection; -uniform vec3 offset, majorAxis, minorAxis, screenAxis; -uniform float lineWidth; -uniform vec2 screenShape; +// Calculate the tube vertex and normal at the given index. +// +// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d. +// +// Each tube segment is made up of a ring of vertices. +// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array. +// The indexes of tube segments run from 0 to 8. +// +vec3 getTubePosition(vec3 d, float index, out vec3 normal) { + float segmentCount = 8.0; -vec3 project(vec3 p) { - vec4 pp = projection * (view * (model * vec4(p, 1.0))); - return pp.xyz / max(pp.w, 0.0001); -} + float angle = 2.0 * 3.14159 * (index / segmentCount); -void main() { - vec3 major = position.x * majorAxis; - vec3 minor = position.y * minorAxis; + vec3 u = getOrthogonalVector(d); + vec3 v = normalize(cross(u, d)); - vec3 vPosition = major + minor + offset; - vec3 pPosition = project(vPosition); - vec3 offset = project(vPosition + screenAxis * position.z); + vec3 x = u * cos(angle) * length(d); + vec3 y = v * sin(angle) * length(d); + vec3 v3 = x + y; - vec2 screen = normalize((offset - pPosition).xy * screenShape) / screenShape; + normal = normalize(v3); - gl_Position = vec4(pPosition + vec3(0.5 * screen * lineWidth, 0), 1.0); + return v3; } -`]),i=o([`precision highp float; -#define GLSLIFY 1 -uniform vec4 color; +attribute vec4 vector; +attribute vec4 color, position; +attribute vec2 uv; + +uniform float vectorScale, tubeScale; +uniform mat4 model, view, projection, inverseModel; +uniform vec3 eyePosition, lightPosition; + +varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position; +varying vec4 f_color; +varying vec2 f_uv; + void main() { - gl_FragColor = color; -}`]);t.n=function(p){return a(p,n,i,null,[{name:"position",type:"vec3"}])};var s=o([`precision highp float; -#define GLSLIFY 1 + // Scale the vector magnitude to stay constant with + // model & view changes. + vec3 normal; + vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal); + vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0); -attribute vec3 position; + //Lighting geometry parameters + vec4 cameraCoordinate = view * tubePosition; + cameraCoordinate.xyz /= cameraCoordinate.w; + f_lightDirection = lightPosition - cameraCoordinate.xyz; + f_eyeDirection = eyePosition - cameraCoordinate.xyz; + f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz); -uniform mat4 model, view, projection; -uniform vec3 offset, axis, alignDir, alignOpt; -uniform float scale, angle, pixelScale; -uniform vec2 resolution; + // vec4 m_position = model * vec4(tubePosition, 1.0); + vec4 t_position = view * tubePosition; + gl_Position = projection * t_position; -vec3 project(vec3 p) { - vec4 pp = projection * (view * (model * vec4(p, 1.0))); - return pp.xyz / max(pp.w, 0.0001); + f_color = color; + f_data = tubePosition.xyz; + f_position = position.xyz; + f_uv = uv; } +`]),n=a([`#extension GL_OES_standard_derivatives : enable -float computeViewAngle(vec3 a, vec3 b) { - vec3 A = project(a); - vec3 B = project(b); - - return atan( - (B.y - A.y) * resolution.y, - (B.x - A.x) * resolution.x - ); -} - -const float PI = 3.141592; -const float TWO_PI = 2.0 * PI; -const float HALF_PI = 0.5 * PI; -const float ONE_AND_HALF_PI = 1.5 * PI; - -int option = int(floor(alignOpt.x + 0.001)); -float hv_ratio = alignOpt.y; -bool enableAlign = (alignOpt.z != 0.0); - -float mod_angle(float a) { - return mod(a, PI); -} - -float positive_angle(float a) { - return mod_angle((a < 0.0) ? - a + TWO_PI : - a - ); -} - -float look_upwards(float a) { - float b = positive_angle(a); - return ((b > HALF_PI) && (b <= ONE_AND_HALF_PI)) ? - b - PI : - b; -} - -float look_horizontal_or_vertical(float a, float ratio) { - // ratio controls the ratio between being horizontal to (vertical + horizontal) - // if ratio is set to 0.5 then it is 50%, 50%. - // when using a higher ratio e.g. 0.75 the result would - // likely be more horizontal than vertical. - - float b = positive_angle(a); - - return - (b < ( ratio) * HALF_PI) ? 0.0 : - (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI : - (b < (2.0 + ratio) * HALF_PI) ? 0.0 : - (b < (4.0 - ratio) * HALF_PI) ? HALF_PI : - 0.0; -} - -float roundTo(float a, float b) { - return float(b * floor((a + 0.5 * b) / b)); -} - -float look_round_n_directions(float a, int n) { - float b = positive_angle(a); - float div = TWO_PI / float(n); - float c = roundTo(b, div); - return look_upwards(c); -} - -float applyAlignOption(float rawAngle, float delta) { - return - (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions - (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical - (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis - (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards - (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal - rawAngle; // otherwise return back raw input angle -} - -bool isAxisTitle = (axis.x == 0.0) && - (axis.y == 0.0) && - (axis.z == 0.0); - -void main() { - //Compute world offset - float axisDistance = position.z; - vec3 dataPosition = axisDistance * axis + offset; - - float beta = angle; // i.e. user defined attributes for each tick - - float axisAngle; - float clipAngle; - float flip; - - if (enableAlign) { - axisAngle = (isAxisTitle) ? HALF_PI : - computeViewAngle(dataPosition, dataPosition + axis); - clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir); - - axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0; - clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0; - - flip = (dot(vec2(cos(axisAngle), sin(axisAngle)), - vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0; - - beta += applyAlignOption(clipAngle, flip * PI); - } - - //Compute plane offset - vec2 planeCoord = position.xy * pixelScale; - - mat2 planeXform = scale * mat2( - cos(beta), sin(beta), - -sin(beta), cos(beta) - ); - - vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution; - - //Compute clip position - vec3 clipPosition = project(dataPosition); - - //Apply text offset in clip coordinates - clipPosition += vec3(viewOffset, 0.0); - - //Done - gl_Position = vec4(clipPosition, 1.0); -} -`]),h=o([`precision highp float; -#define GLSLIFY 1 - -uniform vec4 color; -void main() { - gl_FragColor = color; -}`]);t.Q=function(p){return a(p,s,h,null,[{name:"position",type:"vec3"}])};var c=o([`precision highp float; +precision highp float; #define GLSLIFY 1 -attribute vec3 position; -attribute vec3 normal; - -uniform mat4 model, view, projection; -uniform vec3 enable; -uniform vec3 bounds[2]; - -varying vec3 colorChannel; - -void main() { - - vec3 signAxis = sign(bounds[1] - bounds[0]); - - vec3 realNormal = signAxis * normal; - - if(dot(realNormal, enable) > 0.0) { - vec3 minRange = min(bounds[0], bounds[1]); - vec3 maxRange = max(bounds[0], bounds[1]); - vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0)); - gl_Position = projection * (view * (model * vec4(nPosition, 1.0))); - } else { - gl_Position = vec4(0,0,0,0); - } - - colorChannel = abs(realNormal); +float beckmannDistribution(float x, float roughness) { + float NdotH = max(x, 0.0001); + float cos2Alpha = NdotH * NdotH; + float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha; + float roughness2 = roughness * roughness; + float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha; + return exp(tan2Alpha / roughness2) / denom; } -`]),m=o([`precision highp float; -#define GLSLIFY 1 -uniform vec4 colors[3]; +float cookTorranceSpecular( + vec3 lightDirection, + vec3 viewDirection, + vec3 surfaceNormal, + float roughness, + float fresnel) { -varying vec3 colorChannel; + float VdotN = max(dot(viewDirection, surfaceNormal), 0.0); + float LdotN = max(dot(lightDirection, surfaceNormal), 0.0); -void main() { - gl_FragColor = colorChannel.x * colors[0] + - colorChannel.y * colors[1] + - colorChannel.z * colors[2]; -}`]);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; -#define GLSLIFY 1 + //Geometric term + float NdotH = max(dot(surfaceNormal, H), 0.0); + float VdotH = max(dot(viewDirection, H), 0.000001); + float LdotH = max(dot(lightDirection, H), 0.000001); + float G1 = (2.0 * NdotH * VdotN) / VdotH; + float G2 = (2.0 * NdotH * LdotN) / LdotH; + float G = min(1.0, min(G1, G2)); + + //Distribution term + float D = beckmannDistribution(NdotH, roughness); -attribute vec3 position, offset; -attribute vec4 color; -uniform mat4 model, view, projection; -uniform float capSize; -varying vec4 fragColor; -varying vec3 fragPosition; + //Fresnel term + float F = pow(1.0 - VdotN, fresnel); -void main() { - vec4 worldPosition = model * vec4(position, 1.0); - worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0); - gl_Position = projection * (view * worldPosition); - fragColor = color; - fragPosition = position; -}`]),i=o([`precision highp float; -#define GLSLIFY 1 + //Multiply terms and done + return G * F * D / max(3.14159265 * VdotN, 0.000001); +} bool outOfRange(float a, float b, float p) { return ((p > max(a, b)) || @@ -1546,22 +1661,32 @@ bool outOfRange(vec4 a, vec4 b, vec4 p) { } uniform vec3 clipBounds[2]; -uniform float opacity; -varying vec3 fragPosition; -varying vec4 fragColor; +uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity; +uniform sampler2D texture; + +varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position; +varying vec4 f_color; +varying vec2 f_uv; void main() { - if ( - outOfRange(clipBounds[0], clipBounds[1], fragPosition) || - fragColor.a * opacity == 0. - ) discard; + if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; + vec3 N = normalize(f_normal); + vec3 L = normalize(f_lightDirection); + vec3 V = normalize(f_eyeDirection); - gl_FragColor = opacity * fragColor; -}`]);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 max(a, b)) || + (p < min(a, b))); +} - f_color = color; - f_data = tubePosition.xyz; - f_position = position.xyz; - f_uv = uv; +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); } -`]),n=o([`#extension GL_OES_standard_derivatives : enable -precision highp float; +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float pickId; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; + + gl_FragColor = vec4(pickId, f_id.xyz); +}`]);e.meshShader={vertex:r,fragment:n,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},e.pickShader={vertex:i,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},7815:function(l,e,t){"use strict";var a=t(2931),r=t(9970),n=["xyz","xzy","yxz","yzx","zxy","zyx"],i=function(T,E,g,A){for(var m=T.points,h=T.velocities,b=T.divergences,_=[],I=[],C=[],F=[],R=[],z=[],D=0,k=0,B=r.create(),O=r.create(),q=8,Y=0;Y0)for(var U=0;UE)return A-1}return A},p=function(T,E,g){return Tg?g:T},f=function(T,E,g){var A=E.vectors,m=E.meshgrid,h=T[0],b=T[1],_=T[2],I=m[0].length,C=m[1].length,F=m[2].length,R=c(m[0],h),z=c(m[1],b),D=c(m[2],_),k=R+1,B=z+1,O=D+1;if(R=p(R,0,I-1),k=p(k,0,I-1),z=p(z,0,C-1),B=p(B,0,C-1),D=p(D,0,F-1),O=p(O,0,F-1),R<0||z<0||D<0||k>I-1||B>C-1||O>F-1)return a.create();var q=m[0][R],Y=m[0][k],ee=m[1][z],te=m[1][B],ae=m[2][D],U=m[2][O],H=(h-q)/(Y-q),K=(b-ee)/(te-ee),V=(_-ae)/(U-ae);isFinite(H)||(H=.5),isFinite(K)||(K=.5),isFinite(V)||(V=.5);var $,X,Z,Q,re,ce;switch(g.reversedX&&(R=I-1-R,k=I-1-k),g.reversedY&&(z=C-1-z,B=C-1-B),g.reversedZ&&(D=F-1-D,O=F-1-O),g.filled){case 5:re=D,ce=O,Z=z*F,Q=B*F,$=R*F*C,X=k*F*C;break;case 4:re=D,ce=O,$=R*F,X=k*F,Z=z*F*I,Q=B*F*I;break;case 3:Z=z,Q=B,re=D*C,ce=O*C,$=R*C*F,X=k*C*F;break;case 2:Z=z,Q=B,$=R*C,X=k*C,re=D*C*I,ce=O*C*I;break;case 1:$=R,X=k,re=D*I,ce=O*I,Z=z*I*F,Q=B*I*F;break;default:$=R,X=k,Z=z*I,Q=B*I,re=D*I*C,ce=O*I*C;break}var me=A[$+Z+re],ye=A[$+Z+ce],Ae=A[$+Q+re],Se=A[$+Q+ce],Ce=A[X+Z+re],qe=A[X+Z+ce],Ue=A[X+Q+re],xe=A[X+Q+ce],he=a.create(),oe=a.create(),le=a.create(),ne=a.create();a.lerp(he,me,Ce,H),a.lerp(oe,ye,qe,H),a.lerp(le,Ae,Ue,H),a.lerp(ne,Se,xe,H);var be=a.create(),Fe=a.create();a.lerp(be,he,le,K),a.lerp(Fe,oe,ne,K);var Ve=a.create();return a.lerp(Ve,be,Fe,V),Ve},d=function(T,E){var g=E[0],A=E[1],m=E[2];return T[0]=g<0?-g:g,T[1]=A<0?-A:A,T[2]=m<0?-m:m,T},y=function(T){var E=1/0;T.sort(function(h,b){return h-b});for(var g=T.length,A=1;Ak||xeB||heO)},Y=a.distance(E[0],E[1]),ee=10*Y/A,te=ee*ee,ae=1,U=0,H=g.length;H>1&&(ae=o(g));for(var K=0;KU&&(U=me),re.push(me),F.push({points:$,velocities:X,divergences:re});for(var ye=0;yete&&a.scale(Ae,Ae,ee/Math.sqrt(Se)),a.add(Ae,Ae,V),Z=I(Ae),a.squaredDistance(Q,Ae)-te>-1e-4*te){$.push(Ae),Q=Ae,X.push(Z);var ce=C(Ae,Z),me=a.length(ce);isFinite(me)&&me>U&&(U=me),re.push(me)}V=Ae}}var Ce=s(F,T.colormap,U,ae);return h?Ce.tubeScale=h:(U===0&&(U=1),Ce.tubeScale=m*.5*ae/U),Ce};var x=t(6740),M=t(6405).createMesh;l.exports.createTubeMesh=function(T,E){return M(T,E,{shaders:x,traceType:"streamtube"})}},990:function(l,e,t){var a=t(9405),r=t(3236),n=r([`precision highp float; +#define GLSLIFY 1 + +attribute vec4 uv; +attribute vec3 f; +attribute vec3 normal; + +uniform vec3 objectOffset; +uniform mat4 model, view, projection, inverseModel; +uniform vec3 lightPosition, eyePosition; +uniform sampler2D colormap; + +varying float value, kill; +varying vec3 worldCoordinate; +varying vec2 planeCoordinate; +varying vec3 lightDirection, eyeDirection, surfaceNormal; +varying vec4 vColor; + +void main() { + vec3 localCoordinate = vec3(uv.zw, f.x); + worldCoordinate = objectOffset + localCoordinate; + mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0)); + vec4 worldPosition = (model * objectOffsetTranslation) * vec4(localCoordinate, 1.0); + vec4 clipPosition = projection * (view * worldPosition); + gl_Position = clipPosition; + kill = f.y; + value = f.z; + planeCoordinate = uv.xy; + + vColor = texture2D(colormap, vec2(value, value)); + + //Lighting geometry parameters + vec4 cameraCoordinate = view * worldPosition; + cameraCoordinate.xyz /= cameraCoordinate.w; + lightDirection = lightPosition - cameraCoordinate.xyz; + eyeDirection = eyePosition - cameraCoordinate.xyz; + surfaceNormal = normalize((vec4(normal,0) * inverseModel).xyz); +} +`]),i=r([`precision highp float; #define GLSLIFY 1 float beckmannDistribution(float x, float roughness) { @@ -1653,35 +1831,12 @@ float beckmannDistribution(float x, float roughness) { return exp(tan2Alpha / roughness2) / denom; } -float cookTorranceSpecular( +float beckmannSpecular( vec3 lightDirection, vec3 viewDirection, vec3 surfaceNormal, - float roughness, - float fresnel) { - - float VdotN = max(dot(viewDirection, surfaceNormal), 0.0); - float LdotN = max(dot(lightDirection, surfaceNormal), 0.0); - - //Half angle vector - vec3 H = normalize(lightDirection + viewDirection); - - //Geometric term - float NdotH = max(dot(surfaceNormal, H), 0.0); - float VdotH = max(dot(viewDirection, H), 0.000001); - float LdotH = max(dot(lightDirection, H), 0.000001); - float G1 = (2.0 * NdotH * VdotN) / VdotH; - float G2 = (2.0 * NdotH * LdotN) / LdotH; - float G = min(1.0, min(G1, G2)); - - //Distribution term - float D = beckmannDistribution(NdotH, roughness); - - //Fresnel term - float F = pow(1.0 - VdotN, fresnel); - - //Multiply terms and done - return G * F * D / max(3.14159265 * VdotN, 0.000001); + float roughness) { + return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness); } bool outOfRange(float a, float b, float p) { @@ -1704,95 +1859,86 @@ bool outOfRange(vec4 a, vec4 b, vec4 p) { return outOfRange(a.xyz, b.xyz, p.xyz); } +uniform vec3 lowerBound, upperBound; +uniform float contourTint; +uniform vec4 contourColor; +uniform sampler2D colormap; uniform vec3 clipBounds[2]; uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity; -uniform sampler2D texture; +uniform float vertexColor; -varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position; -varying vec4 f_color; -varying vec2 f_uv; +varying float value, kill; +varying vec3 worldCoordinate; +varying vec3 lightDirection, eyeDirection, surfaceNormal; +varying vec4 vColor; void main() { - if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; - vec3 N = normalize(f_normal); - vec3 L = normalize(f_lightDirection); - vec3 V = normalize(f_eyeDirection); + if ( + kill > 0.0 || + vColor.a == 0.0 || + outOfRange(clipBounds[0], clipBounds[1], worldCoordinate) + ) discard; + + vec3 N = normalize(surfaceNormal); + vec3 V = normalize(eyeDirection); + vec3 L = normalize(lightDirection); if(gl_FrontFacing) { N = -N; } - float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel))); + float specular = max(beckmannSpecular(L, V, N, roughness), 0.); float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0); - vec4 surfaceColor = f_color * texture2D(texture, f_uv); + //decide how to interpolate color \u2014 in vertex or in fragment + vec4 surfaceColor = + step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + + step(.5, vertexColor) * vColor; + vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0); - gl_FragColor = litColor * opacity; + gl_FragColor = mix(litColor, contourColor, contourTint) * opacity; } -`]),i=o([`precision highp float; - -precision highp float; +`]),s=r([`precision highp float; #define GLSLIFY 1 -vec3 getOrthogonalVector(vec3 v) { - // Return up-vector for only-z vector. - // 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). - // From the above if-statement we have ||a|| > 0 U ||b|| > 0. - // Assign z = 0, x = -b, y = a: - // a*-b + b*a + c*0 = -ba + ba + 0 = 0 - if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) { - return normalize(vec3(-v.y, v.x, 0.0)); - } else { - return normalize(vec3(0.0, v.z, -v.y)); - } -} - -// Calculate the tube vertex and normal at the given index. -// -// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d. -// -// Each tube segment is made up of a ring of vertices. -// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array. -// The indexes of tube segments run from 0 to 8. -// -vec3 getTubePosition(vec3 d, float index, out vec3 normal) { - float segmentCount = 8.0; - - float angle = 2.0 * 3.14159 * (index / segmentCount); - - vec3 u = getOrthogonalVector(d); - vec3 v = normalize(cross(u, d)); - - vec3 x = u * cos(angle) * length(d); - vec3 y = v * sin(angle) * length(d); - vec3 v3 = x + y; +attribute vec4 uv; +attribute float f; - normal = normalize(v3); +uniform vec3 objectOffset; +uniform mat3 permutation; +uniform mat4 model, view, projection; +uniform float height, zOffset; +uniform sampler2D colormap; - return v3; -} +varying float value, kill; +varying vec3 worldCoordinate; +varying vec2 planeCoordinate; +varying vec3 lightDirection, eyeDirection, surfaceNormal; +varying vec4 vColor; -attribute vec4 vector; -attribute vec4 position; -attribute vec4 id; +void main() { + vec3 dataCoordinate = permutation * vec3(uv.xy, height); + worldCoordinate = objectOffset + dataCoordinate; + mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0)); + vec4 worldPosition = (model * objectOffsetTranslation) * vec4(dataCoordinate, 1.0); -uniform mat4 model, view, projection; -uniform float tubeScale; + vec4 clipPosition = projection * (view * worldPosition); + clipPosition.z += zOffset; -varying vec3 f_position; -varying vec4 f_id; + gl_Position = clipPosition; + value = f + objectOffset.z; + kill = -1.0; + planeCoordinate = uv.zw; -void main() { - vec3 normal; - vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal); - vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0); + vColor = texture2D(colormap, vec2(value, value)); - gl_Position = projection * (view * tubePosition); - f_id = id; - f_position = position.xyz; + //Don't do lighting for contours + surfaceNormal = vec3(1,0,0); + eyeDirection = vec3(0,1,0); + lightDirection = vec3(0,0,1); } -`]),s=o([`precision highp float; +`]),c=r([`precision highp float; #define GLSLIFY 1 bool outOfRange(float a, float b, float p) { @@ -1815,189 +1961,43 @@ bool outOfRange(vec4 a, vec4 b, vec4 p) { return outOfRange(a.xyz, b.xyz, p.xyz); } -uniform vec3 clipBounds[2]; +uniform vec2 shape; +uniform vec3 clipBounds[2]; uniform float pickId; -varying vec3 f_position; -varying vec4 f_id; +varying float value, kill; +varying vec3 worldCoordinate; +varying vec2 planeCoordinate; +varying vec3 surfaceNormal; + +vec2 splitFloat(float v) { + float vh = 255.0 * v; + float upper = floor(vh); + float lower = fract(vh); + return vec2(upper / 255.0, floor(lower * 16.0) / 16.0); +} void main() { - if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; + if ((kill > 0.0) || + (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard; - gl_FragColor = vec4(pickId, f_id.xyz); -}`]);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);reX&&Q>0){var re=(Z[Q][0]-X)/(Z[Q][0]-Z[Q-1][0]);return Z[Q][1]*(1-re)+re*Z[Q-1][1]}}return 1}var B=[0,0,0],O={showSurface:!1,showContour:!1,projections:[_.slice(),_.slice(),_.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function q(X,Z){var Q,re,ce,me=Z.axes&&Z.axes.lastCubeProps.axis||B,ye=Z.showSurface,Ae=Z.showContour;for(Q=0;Q<3;++Q)for(ye=ye||Z.surfaceProject[Q],re=0;re<3;++re)Ae=Ae||Z.contourProject[Q][re];for(Q=0;Q<3;++Q){var Se=O.projections[Q];for(re=0;re<16;++re)Se[re]=0;for(re=0;re<4;++re)Se[5*re]=1;Se[5*Q]=0,Se[12+Q]=Z.axesBounds[+(me[Q]>0)][Q],o(Se,X.model,Se);var Ce=O.clipBounds[Q];for(ce=0;ce<2;++ce)for(re=0;re<3;++re)Ce[ce][re]=X.clipBounds[ce][re];Ce[0][Q]=-1e8,Ce[1][Q]=1e8}return O.showSurface=ye,O.showContour=Ae,O}var Y={model:_,view:_,projection:_,inverseModel:_.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},ee=_.slice(),te=[1,0,0,0,1,0,0,0,1];function ae(X,Z){X=X||{};var Q=this.gl;Q.disable(Q.CULL_FACE),this._colorMap.bind(0);var re=Y;re.model=X.model||_,re.view=X.view||_,re.projection=X.projection||_,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 ce=0;ce<2;++ce)for(var me=re.clipBounds[ce],ye=0;ye<3;++ye)me[ye]=Math.min(Math.max(this.clipBounds[ce][ye],-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=te,re.vertexColor=this.vertexColor;var Ae=ee;for(o(Ae,re.view,re.model),o(Ae,re.projection,Ae),x(Ae,Ae),ce=0;ce<3;++ce)re.eyePosition[ce]=Ae[12+ce]/Ae[15];var Se=Ae[15];for(ce=0;ce<3;++ce)Se+=this.lightPosition[ce]*Ae[4*ce+3];for(ce=0;ce<3;++ce){var Ce=Ae[12+ce];for(ye=0;ye<3;++ye)Ce+=Ae[4*ye+ce]*this.lightPosition[ye];re.lightPosition[ce]=Ce/Se}var qe=q(re,this);if(qe.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=qe.projections[ce],this._shader.uniforms.clipBounds=qe.clipBounds[ce],this._vao.draw(Q.TRIANGLES,this._vertexCount));this._vao.unbind()}if(qe.showContour){var Ue=this._contourShader;re.kambient=1,re.kdiffuse=0,re.kspecular=0,re.opacity=1,Ue.bind(),Ue.uniforms=re;var xe=this._contourVAO;for(xe.bind(),ce=0;ce<3;++ce)for(Ue.uniforms.permutation=C[ce],Q.lineWidth(this.contourWidth[ce]*this.pixelRatio),ye=0;ye>4)/16)/255,ce=Math.floor(re),me=re-ce,ye=Z[1]*(X.value[1]+(X.value[2]&15)/16)/255,Ae=Math.floor(ye),Se=ye-Ae;ce+=1,Ae+=1;var Ce=Q.position;Ce[0]=Ce[1]=Ce[2]=0;for(var qe=0;qe<2;++qe)for(var Ue=qe?me:1-me,xe=0;xe<2;++xe)for(var he=xe?Se:1-Se,oe=ce+qe,le=Ae+xe,ne=Ue*he,be=0;be<3;++be)Ce[be]+=this._field[be].get(oe,le)*ne;for(var Fe=this._pickResult.level,Ve=0;Ve<3;++Ve)if(Fe[Ve]=M.le(this.contourLevels[Ve],Ce[Ve]),Fe[Ve]<0)this.contourLevels[Ve].length>0&&(Fe[Ve]=0);else if(Fe[Ve]Math.abs(ut-Ce[Ve])&&(Fe[Ve]+=1)}for(Q.index[0]=me<.5?ce:ce+1,Q.index[1]=Se<.5?Ae:Ae+1,Q.uv[0]=re/Z[0],Q.uv[1]=ye/Z[1],be=0;be<3;++be)Q.dataCoordinate[be]=this._field[be].get(Q.index[0],Q.index[1]);return Q},D.padField=function(X,Z){var Q=Z.shape.slice(),re=X.shape.slice();p.assign(X.lo(1,1).hi(Q[0],Q[1]),Z),p.assign(X.lo(1).hi(Q[0],1),Z.hi(Q[0],1)),p.assign(X.lo(1,re[1]-1).hi(Q[0],1),Z.lo(0,Q[1]-1).hi(Q[0],1)),p.assign(X.lo(0,1).hi(1,Q[1]),Z.hi(1)),p.assign(X.lo(re[0]-1,1).hi(1,Q[1]),Z.lo(Q[0]-1)),X.set(0,0,Z.get(0,0)),X.set(0,re[1]-1,Z.get(0,Q[1]-1)),X.set(re[0]-1,0,Z.get(Q[0]-1,0)),X.set(re[0]-1,re[1]-1,Z.get(Q[0]-1,Q[1]-1))};function H(X,Z){return Array.isArray(X)?[Z(X[0]),Z(X[1]),Z(X[2])]:[Z(X),Z(X),Z(X)]}function K(X){return Array.isArray(X)?X.length===3?[X[0],X[1],X[2],1]:[X[0],X[1],X[2],X[3]]:[0,0,0,1]}function V(X){if(Array.isArray(X)){if(Array.isArray(X))return[K(X[0]),K(X[1]),K(X[2])];var Z=K(X);return[Z.slice(),Z.slice(),Z.slice()]}}D.update=function(X){X=X||{},this.objectOffset=X.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in X&&(this.contourWidth=H(X.contourWidth,Number)),"showContour"in X&&(this.showContour=H(X.showContour,Boolean)),"showSurface"in X&&(this.showSurface=!!X.showSurface),"contourTint"in X&&(this.contourTint=H(X.contourTint,Boolean)),"contourColor"in X&&(this.contourColor=V(X.contourColor)),"contourProject"in X&&(this.contourProject=H(X.contourProject,function(on){return H(on,Boolean)})),"surfaceProject"in X&&(this.surfaceProject=X.surfaceProject),"dynamicColor"in X&&(this.dynamicColor=V(X.dynamicColor)),"dynamicTint"in X&&(this.dynamicTint=H(X.dynamicTint,Number)),"dynamicWidth"in X&&(this.dynamicWidth=H(X.dynamicWidth,Number)),"opacity"in X&&(this.opacity=X.opacity),"opacityscale"in X&&(this.opacityscale=X.opacityscale),"colorBounds"in X&&(this.colorBounds=X.colorBounds),"vertexColor"in X&&(this.vertexColor=X.vertexColor?1:0),"colormap"in X&&this._colorMap.setPixels(this.genColormap(X.colormap,this.opacityscale));var Z=X.field||X.coords&&X.coords[2]||null,Q=!1;if(Z||(this._field[2].shape[0]||this._field[2].shape[2]?Z=this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):Z=this._field[2].hi(0,0)),"field"in X||"coords"in X){var re=(Z.shape[0]+2)*(Z.shape[1]+2);re>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(a.nextPow2(re))),this._field[2]=d(this._field[2].data,[Z.shape[0]+2,Z.shape[1]+2]),this.padField(this._field[2],Z),this.shape=Z.shape.slice();for(var ce=this.shape,me=0;me<2;++me)this._field[2].size>this._field[me].data.length&&(s.freeFloat(this._field[me].data),this._field[me].data=s.mallocFloat(this._field[2].size)),this._field[me]=d(this._field[me].data,[ce[0]+2,ce[1]+2]);if(X.coords){var ye=X.coords;if(!Array.isArray(ye)||ye.length!==3)throw new Error("gl-surface: invalid coordinates for x/y");for(me=0;me<2;++me){var Ae=ye[me];for(xe=0;xe<2;++xe)if(Ae.shape[xe]!==ce[xe])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[me],Ae)}}else if(X.ticks){var Se=X.ticks;if(!Array.isArray(Se)||Se.length!==2)throw new Error("gl-surface: invalid ticks");for(me=0;me<2;++me){var Ce=Se[me];if((Array.isArray(Ce)||Ce.length)&&(Ce=d(Ce)),Ce.shape[0]!==ce[me])throw new Error("gl-surface: invalid tick length");var qe=d(Ce.data,ce);qe.stride[me]=Ce.stride[0],qe.stride[me^1]=0,this.padField(this._field[me],qe)}}else{for(me=0;me<2;++me){var Ue=[0,0];Ue[me]=1,this._field[me]=d(this._field[me].data,[ce[0]+2,ce[1]+2],Ue,0)}this._field[0].set(0,0,0);for(var xe=0;xe0){for(var Dn=0;Dn<5;++Dn)Ft.pop();ve-=1}continue e}}}ra.push(ve)}this._contourOffsets[St]=jr,this._contourCounts[St]=ra}var oi=s.mallocFloat(Ft.length);for(me=0;meF||I<0||I>F)throw new Error("gl-texture2d: Invalid texture size");return b._shape=[_,I],b.bind(),C.texImage2D(C.TEXTURE_2D,0,b.format,_,I,0,b.format,b.type,null),b._mipLevels=[0],b}function o(b,_,I,C,F,R){this.gl=b,this.handle=_,this.format=F,this.type=R,this._shape=[I,C],this._mipLevels=[0],this._magFilter=b.NEAREST,this._minFilter=b.NEAREST,this._wrapS=b.CLAMP_TO_EDGE,this._wrapT=b.CLAMP_TO_EDGE,this._anisoSamples=1;var z=this,D=[this._wrapS,this._wrapT];Object.defineProperties(D,[{get:function(){return z._wrapS},set:function(B){return z.wrapS=B}},{get:function(){return z._wrapT},set:function(B){return z.wrapT=B}}]),this._wrapVector=D;var k=[this._shape[0],this._shape[1]];Object.defineProperties(k,[{get:function(){return z._shape[0]},set:function(B){return z.width=B}},{get:function(){return z._shape[1]},set:function(B){return z.height=B}}]),this._shapeVector=k}var x=o.prototype;Object.defineProperties(x,{minFilter:{get:function(){return this._minFilter},set:function(b){this.bind();var _=this.gl;if(this.type===_.FLOAT&&i.indexOf(b)>=0&&(_.getExtension("OES_texture_float_linear")||(b=_.NEAREST)),s.indexOf(b)<0)throw new Error("gl-texture2d: Unknown filter mode "+b);return _.texParameteri(_.TEXTURE_2D,_.TEXTURE_MIN_FILTER,b),this._minFilter=b}},magFilter:{get:function(){return this._magFilter},set:function(b){this.bind();var _=this.gl;if(this.type===_.FLOAT&&i.indexOf(b)>=0&&(_.getExtension("OES_texture_float_linear")||(b=_.NEAREST)),s.indexOf(b)<0)throw new Error("gl-texture2d: Unknown filter mode "+b);return _.texParameteri(_.TEXTURE_2D,_.TEXTURE_MAG_FILTER,b),this._magFilter=b}},mipSamples:{get:function(){return this._anisoSamples},set:function(b){var _=this._anisoSamples;if(this._anisoSamples=Math.max(b,1)|0,_!==this._anisoSamples){var I=this.gl.getExtension("EXT_texture_filter_anisotropic");I&&this.gl.texParameterf(this.gl.TEXTURE_2D,I.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(b){if(this.bind(),c.indexOf(b)<0)throw new Error("gl-texture2d: Unknown wrap mode "+b);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,b),this._wrapS=b}},wrapT:{get:function(){return this._wrapT},set:function(b){if(this.bind(),c.indexOf(b)<0)throw new Error("gl-texture2d: Unknown wrap mode "+b);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,b),this._wrapT=b}},wrap:{get:function(){return this._wrapVector},set:function(b){if(Array.isArray(b)||(b=[b,b]),b.length!==2)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var _=0;_<2;++_)if(c.indexOf(b[_])<0)throw new Error("gl-texture2d: Unknown wrap mode "+b);this._wrapS=b[0],this._wrapT=b[1];var I=this.gl;return this.bind(),I.texParameteri(I.TEXTURE_2D,I.TEXTURE_WRAP_S,this._wrapS),I.texParameteri(I.TEXTURE_2D,I.TEXTURE_WRAP_T,this._wrapT),b}},shape:{get:function(){return this._shapeVector},set:function(b){if(!Array.isArray(b))b=[b|0,b|0];else if(b.length!==2)throw new Error("gl-texture2d: Invalid texture shape");return y(this,b[0]|0,b[1]|0),[b[0]|0,b[1]|0]}},width:{get:function(){return this._shape[0]},set:function(b){return b=b|0,y(this,b,this._shape[1]),b}},height:{get:function(){return this._shape[1]},set:function(b){return b=b|0,y(this,this._shape[0],b),b}}}),x.bind=function(b){var _=this.gl;return b!==void 0&&_.activeTexture(_.TEXTURE0+(b|0)),_.bindTexture(_.TEXTURE_2D,this.handle),b!==void 0?b|0:_.getParameter(_.ACTIVE_TEXTURE)-_.TEXTURE0},x.dispose=function(){this.gl.deleteTexture(this.handle)},x.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var b=Math.min(this._shape[0],this._shape[1]),_=0;b>0;++_,b>>>=1)this._mipLevels.indexOf(_)<0&&this._mipLevels.push(_)},x.setPixels=function(b,_,I,C){var F=this.gl;this.bind(),Array.isArray(_)?(C=I,I=_[1]|0,_=_[0]|0):(_=_||0,I=I||0),C=C||0;var R=f(b)?b:b.raw;if(R){var z=this._mipLevels.indexOf(C)<0;z?(F.texImage2D(F.TEXTURE_2D,0,this.format,this.format,this.type,R),this._mipLevels.push(C)):F.texSubImage2D(F.TEXTURE_2D,C,_,I,this.format,this.type,R)}else if(b.shape&&b.stride&&b.data){if(b.shape.length<2||_+b.shape[1]>this._shape[1]>>>C||I+b.shape[0]>this._shape[0]>>>C||_<0||I<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");T(F,_,I,C,this.format,this.type,this._mipLevels,b)}else throw new Error("gl-texture2d: Unsupported data type")};function M(b,_){return b.length===3?_[2]===1&&_[1]===b[0]*b[2]&&_[0]===b[2]:_[0]===1&&_[1]===b[0]}function T(b,_,I,C,F,R,z,D){var k=D.dtype,B=D.shape.slice();if(B.length<2||B.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var O=0,q=0,Y=M(B,D.stride.slice());k==="float32"?O=b.FLOAT:k==="float64"?(O=b.FLOAT,Y=!1,k="float32"):k==="uint8"?O=b.UNSIGNED_BYTE:(O=b.UNSIGNED_BYTE,Y=!1,k="uint8");var ee=1;if(B.length===2)q=b.LUMINANCE,B=[B[0],B[1],1],D=a(D.data,B,[D.stride[0],D.stride[1],1],D.offset);else if(B.length===3){if(B[2]===1)q=b.ALPHA;else if(B[2]===2)q=b.LUMINANCE_ALPHA;else if(B[2]===3)q=b.RGB;else if(B[2]===4)q=b.RGBA;else throw new Error("gl-texture2d: Invalid shape for pixel coords");ee=B[2]}else throw new Error("gl-texture2d: Invalid shape for texture");if((q===b.LUMINANCE||q===b.ALPHA)&&(F===b.LUMINANCE||F===b.ALPHA)&&(q=F),q!==F)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var te=D.size,ae=z.indexOf(C)<0;if(ae&&z.push(C),O===R&&Y)D.offset===0&&D.data.length===te?ae?b.texImage2D(b.TEXTURE_2D,C,F,B[0],B[1],0,F,R,D.data):b.texSubImage2D(b.TEXTURE_2D,C,_,I,B[0],B[1],F,R,D.data):ae?b.texImage2D(b.TEXTURE_2D,C,F,B[0],B[1],0,F,R,D.data.subarray(D.offset,D.offset+te)):b.texSubImage2D(b.TEXTURE_2D,C,_,I,B[0],B[1],F,R,D.data.subarray(D.offset,D.offset+te));else{var U;R===b.FLOAT?U=n.mallocFloat32(te):U=n.mallocUint8(te);var H=a(U,B,[B[2],B[2]*B[0],1]);O===b.FLOAT&&R===b.UNSIGNED_BYTE?d(H,D):r.assign(H,D),ae?b.texImage2D(b.TEXTURE_2D,C,F,B[0],B[1],0,F,R,U.subarray(0,te)):b.texSubImage2D(b.TEXTURE_2D,C,_,I,B[0],B[1],F,R,U.subarray(0,te)),R===b.FLOAT?n.freeFloat32(U):n.freeUint8(U)}}function E(b){var _=b.createTexture();return b.bindTexture(b.TEXTURE_2D,_),b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MIN_FILTER,b.NEAREST),b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MAG_FILTER,b.NEAREST),b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_S,b.CLAMP_TO_EDGE),b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_T,b.CLAMP_TO_EDGE),_}function g(b,_,I,C,F){var R=b.getParameter(b.MAX_TEXTURE_SIZE);if(_<0||_>R||I<0||I>R)throw new Error("gl-texture2d: Invalid texture shape");if(F===b.FLOAT&&!b.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var z=E(b);return b.texImage2D(b.TEXTURE_2D,0,C,_,I,0,C,F,null),new o(b,z,_,I,C,F)}function A(b,_,I,C,F,R){var z=E(b);return b.texImage2D(b.TEXTURE_2D,0,F,F,R,_),new o(b,z,I,C,F,R)}function m(b,_){var I=_.dtype,C=_.shape.slice(),F=b.getParameter(b.MAX_TEXTURE_SIZE);if(C[0]<0||C[0]>F||C[1]<0||C[1]>F)throw new Error("gl-texture2d: Invalid texture size");var R=M(C,_.stride.slice()),z=0;I==="float32"?z=b.FLOAT:I==="float64"?(z=b.FLOAT,R=!1,I="float32"):I==="uint8"?z=b.UNSIGNED_BYTE:(z=b.UNSIGNED_BYTE,R=!1,I="uint8");var D=0;if(C.length===2)D=b.LUMINANCE,C=[C[0],C[1],1],_=a(_.data,C,[_.stride[0],_.stride[1],1],_.offset);else if(C.length===3)if(C[2]===1)D=b.ALPHA;else if(C[2]===2)D=b.LUMINANCE_ALPHA;else if(C[2]===3)D=b.RGB;else if(C[2]===4)D=b.RGBA;else throw new Error("gl-texture2d: Invalid shape for pixel coords");else throw new Error("gl-texture2d: Invalid shape for texture");z===b.FLOAT&&!b.getExtension("OES_texture_float")&&(z=b.UNSIGNED_BYTE,R=!1);var k,B,O=_.size;if(R)_.offset===0&&_.data.length===O?k=_.data:k=_.data.subarray(_.offset,_.offset+O);else{var q=[C[2],C[2]*C[0],1];B=n.malloc(O,I);var Y=a(B,C,q,0);(I==="float32"||I==="float64")&&z===b.UNSIGNED_BYTE?d(Y,_):r.assign(Y,_),k=B.subarray(0,O)}var ee=E(b);return b.texImage2D(b.TEXTURE_2D,0,D,C[0],C[1],0,D,z,k),R||n.free(B),new o(b,ee,C[0],C[1],D,z)}function h(b){if(arguments.length<=1)throw new Error("gl-texture2d: Missing arguments for texture2d constructor");if(i||p(b),typeof arguments[1]=="number")return g(b,arguments[1],arguments[2],arguments[3]||b.RGBA,arguments[4]||b.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return g(b,arguments[1][0]|0,arguments[1][1]|0,arguments[2]||b.RGBA,arguments[3]||b.UNSIGNED_BYTE);if(typeof arguments[1]=="object"){var _=arguments[1],I=f(_)?_:_.raw;if(I)return A(b,I,_.width|0,_.height|0,arguments[2]||b.RGBA,arguments[3]||b.UNSIGNED_BYTE);if(_.shape&&_.data&&_.stride)return m(b,_)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")}},1433:function(l){"use strict";function e(t,a,r){a?a.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=t.getParameter(t.MAX_VERTEX_ATTRIBS)|0;if(r){if(r.length>n)throw new Error("gl-vao: Too many vertex attributes");for(var i=0;i1?0:Math.acos(d)}},9226:function(l){l.exports=e;function e(t,a){return t[0]=Math.ceil(a[0]),t[1]=Math.ceil(a[1]),t[2]=Math.ceil(a[2]),t}},3126:function(l){l.exports=e;function e(t){var a=new Float32Array(3);return a[0]=t[0],a[1]=t[1],a[2]=t[2],a}},3990:function(l){l.exports=e;function e(t,a){return t[0]=a[0],t[1]=a[1],t[2]=a[2],t}},1091:function(l){l.exports=e;function e(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},5911:function(l){l.exports=e;function e(t,a,r){var n=a[0],i=a[1],s=a[2],c=r[0],p=r[1],f=r[2];return t[0]=i*f-s*p,t[1]=s*c-n*f,t[2]=n*p-i*c,t}},5455:function(l,e,t){l.exports=t(7056)},7056:function(l){l.exports=e;function e(t,a){var r=a[0]-t[0],n=a[1]-t[1],i=a[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}},4008:function(l,e,t){l.exports=t(6690)},6690:function(l){l.exports=e;function e(t,a,r){return t[0]=a[0]/r[0],t[1]=a[1]/r[1],t[2]=a[2]/r[2],t}},244:function(l){l.exports=e;function e(t,a){return t[0]*a[0]+t[1]*a[1]+t[2]*a[2]}},2613:function(l){l.exports=1e-6},9922:function(l,e,t){l.exports=r;var a=t(2613);function r(n,i){var s=n[0],c=n[1],p=n[2],f=i[0],d=i[1],y=i[2];return Math.abs(s-f)<=a*Math.max(1,Math.abs(s),Math.abs(f))&&Math.abs(c-d)<=a*Math.max(1,Math.abs(c),Math.abs(d))&&Math.abs(p-y)<=a*Math.max(1,Math.abs(p),Math.abs(y))}},9265:function(l){l.exports=e;function e(t,a){return t[0]===a[0]&&t[1]===a[1]&&t[2]===a[2]}},2681:function(l){l.exports=e;function e(t,a){return t[0]=Math.floor(a[0]),t[1]=Math.floor(a[1]),t[2]=Math.floor(a[2]),t}},5137:function(l,e,t){l.exports=r;var a=t(1091)();function r(n,i,s,c,p,f){var d,y;for(i||(i=3),s||(s=0),c?y=Math.min(c*i+s,n.length):y=n.length,d=s;d0&&(s=1/Math.sqrt(s),t[0]=a[0]*s,t[1]=a[1]*s,t[2]=a[2]*s),t}},7636:function(l){l.exports=e;function e(t,a){a=a||1;var r=Math.random()*2*Math.PI,n=Math.random()*2-1,i=Math.sqrt(1-n*n)*a;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*a,t}},6894:function(l){l.exports=e;function e(t,a,r,n){var i=r[1],s=r[2],c=a[1]-i,p=a[2]-s,f=Math.sin(n),d=Math.cos(n);return t[0]=a[0],t[1]=i+c*d-p*f,t[2]=s+c*f+p*d,t}},109:function(l){l.exports=e;function e(t,a,r,n){var i=r[0],s=r[2],c=a[0]-i,p=a[2]-s,f=Math.sin(n),d=Math.cos(n);return t[0]=i+p*f+c*d,t[1]=a[1],t[2]=s+p*d-c*f,t}},8692:function(l){l.exports=e;function e(t,a,r,n){var i=r[0],s=r[1],c=a[0]-i,p=a[1]-s,f=Math.sin(n),d=Math.cos(n);return t[0]=i+c*d-p*f,t[1]=s+c*f+p*d,t[2]=a[2],t}},2447:function(l){l.exports=e;function e(t,a){return t[0]=Math.round(a[0]),t[1]=Math.round(a[1]),t[2]=Math.round(a[2]),t}},6621:function(l){l.exports=e;function e(t,a,r){return t[0]=a[0]*r,t[1]=a[1]*r,t[2]=a[2]*r,t}},8489:function(l){l.exports=e;function e(t,a,r,n){return t[0]=a[0]+r[0]*n,t[1]=a[1]+r[1]*n,t[2]=a[2]+r[2]*n,t}},1463:function(l){l.exports=e;function e(t,a,r,n){return t[0]=a,t[1]=r,t[2]=n,t}},6141:function(l,e,t){l.exports=t(2953)},5486:function(l,e,t){l.exports=t(3066)},2953:function(l){l.exports=e;function e(t,a){var r=a[0]-t[0],n=a[1]-t[1],i=a[2]-t[2];return r*r+n*n+i*i}},3066:function(l){l.exports=e;function e(t){var a=t[0],r=t[1],n=t[2];return a*a+r*r+n*n}},2229:function(l,e,t){l.exports=t(6843)},6843:function(l){l.exports=e;function e(t,a,r){return t[0]=a[0]-r[0],t[1]=a[1]-r[1],t[2]=a[2]-r[2],t}},492:function(l){l.exports=e;function e(t,a,r){var n=a[0],i=a[1],s=a[2];return t[0]=n*r[0]+i*r[3]+s*r[6],t[1]=n*r[1]+i*r[4]+s*r[7],t[2]=n*r[2]+i*r[5]+s*r[8],t}},5673:function(l){l.exports=e;function e(t,a,r){var n=a[0],i=a[1],s=a[2],c=r[3]*n+r[7]*i+r[11]*s+r[15];return c=c||1,t[0]=(r[0]*n+r[4]*i+r[8]*s+r[12])/c,t[1]=(r[1]*n+r[5]*i+r[9]*s+r[13])/c,t[2]=(r[2]*n+r[6]*i+r[10]*s+r[14])/c,t}},264:function(l){l.exports=e;function e(t,a,r){var n=a[0],i=a[1],s=a[2],c=r[0],p=r[1],f=r[2],d=r[3],y=d*n+p*s-f*i,o=d*i+f*n-c*s,x=d*s+c*i-p*n,M=-c*n-p*i-f*s;return t[0]=y*d+M*-c+o*-f-x*-p,t[1]=o*d+M*-p+x*-c-y*-f,t[2]=x*d+M*-f+y*-p-o*-c,t}},4361:function(l){l.exports=e;function e(t,a,r){return t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t[3]=a[3]+r[3],t}},2335:function(l){l.exports=e;function e(t){var a=new Float32Array(4);return a[0]=t[0],a[1]=t[1],a[2]=t[2],a[3]=t[3],a}},2933:function(l){l.exports=e;function e(t,a){return t[0]=a[0],t[1]=a[1],t[2]=a[2],t[3]=a[3],t}},7536:function(l){l.exports=e;function e(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},4691:function(l){l.exports=e;function e(t,a){var r=a[0]-t[0],n=a[1]-t[1],i=a[2]-t[2],s=a[3]-t[3];return Math.sqrt(r*r+n*n+i*i+s*s)}},1373:function(l){l.exports=e;function e(t,a,r){return t[0]=a[0]/r[0],t[1]=a[1]/r[1],t[2]=a[2]/r[2],t[3]=a[3]/r[3],t}},3750:function(l){l.exports=e;function e(t,a){return t[0]*a[0]+t[1]*a[1]+t[2]*a[2]+t[3]*a[3]}},3390:function(l){l.exports=e;function e(t,a,r,n){var i=new Float32Array(4);return i[0]=t,i[1]=a,i[2]=r,i[3]=n,i}},9970:function(l,e,t){l.exports={create:t(7536),clone:t(2335),fromValues:t(3390),copy:t(2933),set:t(4578),add:t(4361),subtract:t(6860),multiply:t(3576),divide:t(1373),min:t(2334),max:t(160),scale:t(9288),scaleAndAdd:t(4844),distance:t(4691),squaredDistance:t(7960),length:t(6808),squaredLength:t(483),negate:t(1498),inverse:t(4494),normalize:t(5177),dot:t(3750),lerp:t(2573),random:t(9131),transformMat4:t(5352),transformQuat:t(4041)}},4494:function(l){l.exports=e;function e(t,a){return t[0]=1/a[0],t[1]=1/a[1],t[2]=1/a[2],t[3]=1/a[3],t}},6808:function(l){l.exports=e;function e(t){var a=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(a*a+r*r+n*n+i*i)}},2573:function(l){l.exports=e;function e(t,a,r,n){var i=a[0],s=a[1],c=a[2],p=a[3];return t[0]=i+n*(r[0]-i),t[1]=s+n*(r[1]-s),t[2]=c+n*(r[2]-c),t[3]=p+n*(r[3]-p),t}},160:function(l){l.exports=e;function e(t,a,r){return t[0]=Math.max(a[0],r[0]),t[1]=Math.max(a[1],r[1]),t[2]=Math.max(a[2],r[2]),t[3]=Math.max(a[3],r[3]),t}},2334:function(l){l.exports=e;function e(t,a,r){return t[0]=Math.min(a[0],r[0]),t[1]=Math.min(a[1],r[1]),t[2]=Math.min(a[2],r[2]),t[3]=Math.min(a[3],r[3]),t}},3576:function(l){l.exports=e;function e(t,a,r){return t[0]=a[0]*r[0],t[1]=a[1]*r[1],t[2]=a[2]*r[2],t[3]=a[3]*r[3],t}},1498:function(l){l.exports=e;function e(t,a){return t[0]=-a[0],t[1]=-a[1],t[2]=-a[2],t[3]=-a[3],t}},5177:function(l){l.exports=e;function e(t,a){var r=a[0],n=a[1],i=a[2],s=a[3],c=r*r+n*n+i*i+s*s;return c>0&&(c=1/Math.sqrt(c),t[0]=r*c,t[1]=n*c,t[2]=i*c,t[3]=s*c),t}},9131:function(l,e,t){var a=t(5177),r=t(9288);l.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(),a(i,i),r(i,i,s),i}},9288:function(l){l.exports=e;function e(t,a,r){return t[0]=a[0]*r,t[1]=a[1]*r,t[2]=a[2]*r,t[3]=a[3]*r,t}},4844:function(l){l.exports=e;function e(t,a,r,n){return t[0]=a[0]+r[0]*n,t[1]=a[1]+r[1]*n,t[2]=a[2]+r[2]*n,t[3]=a[3]+r[3]*n,t}},4578:function(l){l.exports=e;function e(t,a,r,n,i){return t[0]=a,t[1]=r,t[2]=n,t[3]=i,t}},7960:function(l){l.exports=e;function e(t,a){var r=a[0]-t[0],n=a[1]-t[1],i=a[2]-t[2],s=a[3]-t[3];return r*r+n*n+i*i+s*s}},483:function(l){l.exports=e;function e(t){var a=t[0],r=t[1],n=t[2],i=t[3];return a*a+r*r+n*n+i*i}},6860:function(l){l.exports=e;function e(t,a,r){return t[0]=a[0]-r[0],t[1]=a[1]-r[1],t[2]=a[2]-r[2],t[3]=a[3]-r[3],t}},5352:function(l){l.exports=e;function e(t,a,r){var n=a[0],i=a[1],s=a[2],c=a[3];return t[0]=r[0]*n+r[4]*i+r[8]*s+r[12]*c,t[1]=r[1]*n+r[5]*i+r[9]*s+r[13]*c,t[2]=r[2]*n+r[6]*i+r[10]*s+r[14]*c,t[3]=r[3]*n+r[7]*i+r[11]*s+r[15]*c,t}},4041:function(l){l.exports=e;function e(t,a,r){var n=a[0],i=a[1],s=a[2],c=r[0],p=r[1],f=r[2],d=r[3],y=d*n+p*s-f*i,o=d*i+f*n-c*s,x=d*s+c*i-p*n,M=-c*n-p*i-f*s;return t[0]=y*d+M*-c+o*-f-x*-p,t[1]=o*d+M*-p+x*-c-y*-f,t[2]=x*d+M*-f+y*-p-o*-c,t[3]=a[3],t}},1848:function(l,e,t){var a=t(4905),r=t(6468);l.exports=n;function n(i){for(var s=Array.isArray(i)?i:a(i),c=0;c0)continue;Ve=ne.slice(0,1).join("")}return Q(Ve),te+=Ve.length,k=k.slice(Ve.length),k.length}while(!0)}function xe(){return/[^a-fA-F0-9]/.test(z)?(Q(k.join("")),R=c,C):(k.push(z),D=z,C+1)}function he(){return z==="."||/[eE]/.test(z)?(k.push(z),R=M,D=z,C+1):z==="x"&&k.length===1&&k[0]==="0"?(R=h,k.push(z),D=z,C+1):/[^\d]/.test(z)?(Q(k.join("")),R=c,C):(k.push(z),D=z,C+1)}function oe(){return z==="f"&&(k.push(z),D=z,C+=1),/[eE]/.test(z)||(z==="-"||z==="+")&&/[eE]/.test(D)?(k.push(z),D=z,C+1):/[^\d]/.test(z)?(Q(k.join("")),R=c,C):(k.push(z),D=z,C+1)}function le(){if(/[^\d\w_]/.test(z)){var ne=k.join("");return Z[ne]?R=g:X[ne]?R=E:R=T,Q(k.join("")),R=c,C}return k.push(z),D=z,C+1}}},3508:function(l,e,t){var a=t(6852);a=a.slice().filter(function(r){return!/^(gl\_|texture)/.test(r)}),l.exports=a.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(l){l.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(l,e,t){var a=t(620);l.exports=a.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(l){l.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(l){l.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},4905:function(l,e,t){var a=t(5874);l.exports=r;function r(n,i){var s=a(i),c=[];return c=c.concat(s(n)),c=c.concat(s(null)),c}},3236:function(l){l.exports=function(e){typeof e=="string"&&(e=[e]);for(var t=[].slice.call(arguments,1),a=[],r=0;r>1,y=-7,o=r?i-1:0,x=r?-1:1,M=t[a+o];for(o+=x,s=M&(1<<-y)-1,M>>=-y,y+=p;y>0;s=s*256+t[a+o],o+=x,y-=8);for(c=s&(1<<-y)-1,s>>=-y,y+=n;y>0;c=c*256+t[a+o],o+=x,y-=8);if(s===0)s=1-d;else{if(s===f)return c?NaN:(M?-1:1)*(1/0);c=c+Math.pow(2,n),s=s-d}return(M?-1:1)*c*Math.pow(2,s-n)},e.write=function(t,a,r,n,i,s){var c,p,f,d=s*8-i-1,y=(1<>1,x=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,M=n?0:s-1,T=n?1:-1,E=a<0||a===0&&1/a<0?1:0;for(a=Math.abs(a),isNaN(a)||a===1/0?(p=isNaN(a)?1:0,c=y):(c=Math.floor(Math.log(a)/Math.LN2),a*(f=Math.pow(2,-c))<1&&(c--,f*=2),c+o>=1?a+=x/f:a+=x*Math.pow(2,1-o),a*f>=2&&(c++,f/=2),c+o>=y?(p=0,c=y):c+o>=1?(p=(a*f-1)*Math.pow(2,i),c=c+o):(p=a*Math.pow(2,o-1)*Math.pow(2,i),c=0));i>=8;t[r+M]=p&255,M+=T,p/=256,i-=8);for(c=c<0;t[r+M]=c&255,M+=T,c/=256,d-=8);t[r+M-T]|=E*128}},8954:function(l,e,t){"use strict";l.exports=o;var a=t(3250),r=t(6803).Fw;function n(x,M,T){this.vertices=x,this.adjacent=M,this.boundary=T,this.lastVisited=-1}n.prototype.flip=function(){var x=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=x;var M=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=M};function i(x,M,T){this.vertices=x,this.cell=M,this.index=T}function s(x,M){return r(x.vertices,M.vertices)}function c(x){return function(){var M=this.tuple;return x.apply(this,M)}}function p(x){var M=a[x+1];return M||(M=a),c(M)}var f=[];function d(x,M,T){this.dimension=x,this.vertices=M,this.simplices=T,this.interior=T.filter(function(A){return!A.boundary}),this.tuple=new Array(x+1);for(var E=0;E<=x;++E)this.tuple[E]=this.vertices[E];var g=f[x];g||(g=f[x]=p(x)),this.orient=g}var y=d.prototype;y.handleBoundaryDegeneracy=function(x,M){var T=this.dimension,E=this.vertices.length-1,g=this.tuple,A=this.vertices,m=[x];for(x.lastVisited=-E;m.length>0;){x=m.pop();for(var h=x.adjacent,b=0;b<=T;++b){var _=h[b];if(!(!_.boundary||_.lastVisited<=-E)){for(var I=_.vertices,C=0;C<=T;++C){var F=I[C];F<0?g[C]=M:g[C]=A[F]}var R=this.orient();if(R>0)return _;_.lastVisited=-E,R===0&&m.push(_)}}}return null},y.walk=function(x,M){var T=this.vertices.length-1,E=this.dimension,g=this.vertices,A=this.tuple,m=M?this.interior.length*Math.random()|0:this.interior.length-1,h=this.interior[m];e:for(;!h.boundary;){for(var b=h.vertices,_=h.adjacent,I=0;I<=E;++I)A[I]=g[b[I]];h.lastVisited=T;for(var I=0;I<=E;++I){var C=_[I];if(!(C.lastVisited>=T)){var F=A[I];A[I]=x;var R=this.orient();if(A[I]=F,R<0){h=C;continue e}else C.boundary?C.lastVisited=-T:C.lastVisited=T}}return}return h},y.addPeaks=function(x,M){var T=this.vertices.length-1,E=this.dimension,g=this.vertices,A=this.tuple,m=this.interior,h=this.simplices,b=[M];M.lastVisited=T,M.vertices[M.vertices.indexOf(-1)]=T,M.boundary=!1,m.push(M);for(var _=[];b.length>0;){var M=b.pop(),I=M.vertices,C=M.adjacent,F=I.indexOf(T);if(!(F<0)){for(var R=0;R<=E;++R)if(R!==F){var z=C[R];if(!(!z.boundary||z.lastVisited>=T)){var D=z.vertices;if(z.lastVisited!==-T){for(var k=0,B=0;B<=E;++B)D[B]<0?(k=B,A[B]=x):A[B]=g[D[B]];var O=this.orient();if(O>0){D[k]=T,z.boundary=!1,m.push(z),b.push(z),z.lastVisited=T;continue}else z.lastVisited=-T}var q=z.adjacent,Y=I.slice(),ee=C.slice(),te=new n(Y,ee,!0);h.push(te);var ae=q.indexOf(M);if(!(ae<0)){q[ae]=te,ee[F]=z,Y[R]=-1,ee[R]=M,C[R]=te,te.flip();for(var B=0;B<=E;++B){var U=Y[B];if(!(U<0||U===T)){for(var H=new Array(E-1),K=0,V=0;V<=E;++V){var $=Y[V];$<0||V===B||(H[K++]=$)}_.push(new i(H,te,B))}}}}}}}_.sort(s);for(var R=0;R+1<_.length;R+=2){var X=_[R],Z=_[R+1],Q=X.index,re=Z.index;Q<0||re<0||(X.cell.adjacent[X.index]=Z.cell,Z.cell.adjacent[Z.index]=X.cell)}},y.insert=function(x,M){var T=this.vertices;T.push(x);var E=this.walk(x,M);if(E){for(var g=this.dimension,A=this.tuple,m=0;m<=g;++m){var h=E.vertices[m];h<0?A[m]=x:A[m]=T[h]}var b=this.orient(A);b<0||b===0&&(E=this.handleBoundaryDegeneracy(E,x),!E)||this.addPeaks(x,E)}},y.boundary=function(){for(var x=this.dimension,M=[],T=this.simplices,E=T.length,g=0;g=0?m[b++]=h[I]:_=I&1;if(_===(x&1)){var C=m[0];m[0]=m[1],m[1]=C}M.push(m)}}return M};function o(x,M){var T=x.length;if(T===0)throw new Error("Must have at least d+1 points");var E=x[0].length;if(T<=E)throw new Error("Must input at least d+1 points");var g=x.slice(0,E+1),A=a.apply(void 0,g);if(A===0)throw new Error("Input not in general position");for(var m=new Array(E+1),h=0;h<=E;++h)m[h]=h;A<0&&(m[0]=1,m[1]=0);for(var b=new n(m,new Array(E+1),!1),_=b.adjacent,I=new Array(E+2),h=0;h<=E;++h){for(var C=m.slice(),F=0;F<=E;++F)F===h&&(C[F]=-1);var R=C[0];C[0]=C[1],C[1]=R;var z=new n(C,new Array(E+1),!0);_[h]=z,I[h]=z}I[E+1]=b;for(var h=0;h<=E;++h)for(var C=_[h].vertices,D=_[h].adjacent,F=0;F<=E;++F){var k=C[F];if(k<0){D[F]=b;continue}for(var B=0;B<=E;++B)_[B].vertices.indexOf(k)<0&&(D[F]=_[B])}for(var O=new d(E,g,I),q=!!M,h=E+1;h3*(I+1)?d(this,_):this.left.insert(_):this.left=A([_]);else if(_[0]>this.mid)this.right?4*(this.right.count+1)>3*(I+1)?d(this,_):this.right.insert(_):this.right=A([_]);else{var C=a.ge(this.leftPoints,_,E),F=a.ge(this.rightPoints,_,g);this.leftPoints.splice(C,0,_),this.rightPoints.splice(F,0,_)}},c.remove=function(_){var I=this.count-this.leftPoints;if(_[1]3*(I-1))return y(this,_);var F=this.left.remove(_);return F===i?(this.left=null,this.count-=1,n):(F===n&&(this.count-=1),F)}else if(_[0]>this.mid){if(!this.right)return r;var R=this.left?this.left.count:0;if(4*R>3*(I-1))return y(this,_);var F=this.right.remove(_);return F===i?(this.right=null,this.count-=1,n):(F===n&&(this.count-=1),F)}else{if(this.count===1)return this.leftPoints[0]===_?i:r;if(this.leftPoints.length===1&&this.leftPoints[0]===_){if(this.left&&this.right){for(var z=this,D=this.left;D.right;)z=D,D=D.right;if(z===this)D.right=this.right;else{var k=this.left,F=this.right;z.count-=D.count,z.right=D.left,D.left=k,D.right=F}p(this,D),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?p(this,this.left):p(this,this.right);return n}for(var k=a.ge(this.leftPoints,_,E);k=0&&_[F][1]>=I;--F){var R=C(_[F]);if(R)return R}}function M(_,I){for(var C=0;C<_.length;++C){var F=I(_[C]);if(F)return F}}c.queryPoint=function(_,I){if(_this.mid){if(this.right){var C=this.right.queryPoint(_,I);if(C)return C}return x(this.rightPoints,_,I)}else return M(this.leftPoints,I)},c.queryInterval=function(_,I,C){if(_this.mid&&this.right){var F=this.right.queryInterval(_,I,C);if(F)return F}return Ithis.mid?x(this.rightPoints,_,C):M(this.leftPoints,C)};function T(_,I){return _-I}function E(_,I){var C=_[0]-I[0];return C||_[1]-I[1]}function g(_,I){var C=_[1]-I[1];return C||_[0]-I[0]}function A(_){if(_.length===0)return null;for(var I=[],C=0;C<_.length;++C)I.push(_[C][0],_[C][1]);I.sort(T);for(var F=I[I.length>>1],R=[],z=[],D=[],C=0;C<_.length;++C){var k=_[C];k[1]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}},395:function(l){function e(t,a,r){return t*(1-r)+a*r}l.exports=e},2652:function(l,e,t){var a=t(4335),r=t(6864),n=t(1903),i=t(9921),s=t(7608),c=t(5665),p={length:t(1387),normalize:t(3536),dot:t(244),cross:t(5911)},f=r(),d=r(),y=[0,0,0,0],o=[[0,0,0],[0,0,0],[0,0,0]],x=[0,0,0];l.exports=function(A,m,h,b,_,I){if(m||(m=[0,0,0]),h||(h=[0,0,0]),b||(b=[0,0,0]),_||(_=[0,0,0,1]),I||(I=[0,0,0,1]),!a(f,A)||(n(d,f),d[3]=0,d[7]=0,d[11]=0,d[15]=1,Math.abs(i(d)<1e-8)))return!1;var C=f[3],F=f[7],R=f[11],z=f[12],D=f[13],k=f[14],B=f[15];if(C!==0||F!==0||R!==0){y[0]=C,y[1]=F,y[2]=R,y[3]=B;var O=s(d,d);if(!O)return!1;c(d,d),M(_,y,d)}else _[0]=_[1]=_[2]=0,_[3]=1;if(m[0]=z,m[1]=D,m[2]=k,T(o,f),h[0]=p.length(o[0]),p.normalize(o[0],o[0]),b[0]=p.dot(o[0],o[1]),E(o[1],o[1],o[0],1,-b[0]),h[1]=p.length(o[1]),p.normalize(o[1],o[1]),b[0]/=h[1],b[1]=p.dot(o[0],o[2]),E(o[2],o[2],o[0],1,-b[1]),b[2]=p.dot(o[1],o[2]),E(o[2],o[2],o[1],1,-b[2]),h[2]=p.length(o[2]),p.normalize(o[2],o[2]),b[1]/=h[2],b[2]/=h[2],p.cross(x,o[1],o[2]),p.dot(o[0],x)<0)for(var q=0;q<3;q++)h[q]*=-1,o[q][0]*=-1,o[q][1]*=-1,o[q][2]*=-1;return I[0]=.5*Math.sqrt(Math.max(1+o[0][0]-o[1][1]-o[2][2],0)),I[1]=.5*Math.sqrt(Math.max(1-o[0][0]+o[1][1]-o[2][2],0)),I[2]=.5*Math.sqrt(Math.max(1-o[0][0]-o[1][1]+o[2][2],0)),I[3]=.5*Math.sqrt(Math.max(1+o[0][0]+o[1][1]+o[2][2],0)),o[2][1]>o[1][2]&&(I[0]=-I[0]),o[0][2]>o[2][0]&&(I[1]=-I[1]),o[1][0]>o[0][1]&&(I[2]=-I[2]),!0};function M(g,A,m){var h=A[0],b=A[1],_=A[2],I=A[3];return g[0]=m[0]*h+m[4]*b+m[8]*_+m[12]*I,g[1]=m[1]*h+m[5]*b+m[9]*_+m[13]*I,g[2]=m[2]*h+m[6]*b+m[10]*_+m[14]*I,g[3]=m[3]*h+m[7]*b+m[11]*_+m[15]*I,g}function T(g,A){g[0][0]=A[0],g[0][1]=A[1],g[0][2]=A[2],g[1][0]=A[4],g[1][1]=A[5],g[1][2]=A[6],g[2][0]=A[8],g[2][1]=A[9],g[2][2]=A[10]}function E(g,A,m,h,b){g[0]=A[0]*h+m[0]*b,g[1]=A[1]*h+m[1]*b,g[2]=A[2]*h+m[2]*b}},4335:function(l){l.exports=function(t,a){var r=a[15];if(r===0)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=a[i]*n;return!0}},7442:function(l,e,t){var a=t(6658),r=t(7182),n=t(2652),i=t(9921),s=t(8648),c=y(),p=y(),f=y();l.exports=d;function d(M,T,E,g){if(i(T)===0||i(E)===0)return!1;var A=n(T,c.translate,c.scale,c.skew,c.perspective,c.quaternion),m=n(E,p.translate,p.scale,p.skew,p.perspective,p.quaternion);return!A||!m?!1:(a(f.translate,c.translate,p.translate,g),a(f.skew,c.skew,p.skew,g),a(f.scale,c.scale,p.scale,g),a(f.perspective,c.perspective,p.perspective,g),s(f.quaternion,c.quaternion,p.quaternion,g),r(M,f.translate,f.scale,f.skew,f.perspective,f.quaternion),!0)}function y(){return{translate:o(),scale:o(1),skew:o(),perspective:x(),quaternion:x()}}function o(M){return[M||0,M||0,M||0]}function x(){return[0,0,0,1]}},7182:function(l,e,t){var a={identity:t(7894),translate:t(7656),multiply:t(6760),create:t(6864),scale:t(2504),fromRotationTranslation:t(6743)},r=a.create(),n=a.create();l.exports=function(s,c,p,f,d,y){return a.identity(s),a.fromRotationTranslation(s,y,c),s[3]=d[0],s[7]=d[1],s[11]=d[2],s[15]=d[3],a.identity(n),f[2]!==0&&(n[9]=f[2],a.multiply(s,s,n)),f[1]!==0&&(n[9]=0,n[8]=f[1],a.multiply(s,s,n)),f[0]!==0&&(n[8]=0,n[4]=f[0],a.multiply(s,s,n)),a.scale(s,s,p),s}},1811:function(l,e,t){"use strict";var a=t(2478),r=t(7442),n=t(7608),i=t(5567),s=t(2408),c=t(7089),p=t(6582),f=t(7656),d=t(2504),y=t(3536),o=[0,0,0];l.exports=E;function x(g){this._components=g.slice(),this._time=[0],this.prevMatrix=g.slice(),this.nextMatrix=g.slice(),this.computedMatrix=g.slice(),this.computedInverse=g.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 M=x.prototype;M.recalcMatrix=function(g){var A=this._time,m=a.le(A,g),h=this.computedMatrix;if(!(m<0)){var b=this._components;if(m===A.length-1)for(var _=16*m,I=0;I<16;++I)h[I]=b[_++];else{for(var C=A[m+1]-A[m],_=16*m,F=this.prevMatrix,R=!0,I=0;I<16;++I)F[I]=b[_++];for(var z=this.nextMatrix,I=0;I<16;++I)z[I]=b[_++],R=R&&F[I]===z[I];if(C<1e-6||R)for(var I=0;I<16;++I)h[I]=F[I];else r(h,F,z,(g-A[m])/C)}var D=this.computedUp;D[0]=h[1],D[1]=h[5],D[2]=h[9],y(D,D);var k=this.computedInverse;n(k,h);var B=this.computedEye,O=k[15];B[0]=k[12]/O,B[1]=k[13]/O,B[2]=k[14]/O;for(var q=this.computedCenter,Y=Math.exp(this.computedRadius[0]),I=0;I<3;++I)q[I]=B[I]-h[2+4*I]*Y}},M.idle=function(g){if(!(g1&&a(n[p[o-2]],n[p[o-1]],y)<=0;)o-=1,p.pop();for(p.push(d),o=f.length;o>1&&a(n[f[o-2]],n[f[o-1]],y)>=0;)o-=1,f.pop();f.push(d)}for(var x=new Array(f.length+p.length-2),M=0,s=0,T=p.length;s0;--E)x[M++]=f[E];return x}},351:function(l,e,t){"use strict";l.exports=r;var a=t(4687);function r(n,i){i||(i=n,n=window);var s=0,c=0,p=0,f={shift:!1,alt:!1,control:!1,meta:!1},d=!1;function y(_){var I=!1;return"altKey"in _&&(I=I||_.altKey!==f.alt,f.alt=!!_.altKey),"shiftKey"in _&&(I=I||_.shiftKey!==f.shift,f.shift=!!_.shiftKey),"ctrlKey"in _&&(I=I||_.ctrlKey!==f.control,f.control=!!_.ctrlKey),"metaKey"in _&&(I=I||_.metaKey!==f.meta,f.meta=!!_.metaKey),I}function o(_,I){var C=a.x(I),F=a.y(I);"buttons"in I&&(_=I.buttons|0),(_!==s||C!==c||F!==p||y(I))&&(s=_|0,c=C||0,p=F||0,i&&i(s,c,p,f))}function x(_){o(0,_)}function M(){(s||c||p||f.shift||f.alt||f.meta||f.control)&&(c=p=0,s=0,f.shift=f.alt=f.control=f.meta=!1,i&&i(0,0,0,f))}function T(_){y(_)&&i&&i(s,c,p,f)}function E(_){a.buttons(_)===0?o(0,_):o(s,_)}function g(_){o(s|a.buttons(_),_)}function A(_){o(s&~a.buttons(_),_)}function m(){d||(d=!0,n.addEventListener("mousemove",E),n.addEventListener("mousedown",g),n.addEventListener("mouseup",A),n.addEventListener("mouseleave",x),n.addEventListener("mouseenter",x),n.addEventListener("mouseout",x),n.addEventListener("mouseover",x),n.addEventListener("blur",M),n.addEventListener("keyup",T),n.addEventListener("keydown",T),n.addEventListener("keypress",T),n!==window&&(window.addEventListener("blur",M),window.addEventListener("keyup",T),window.addEventListener("keydown",T),window.addEventListener("keypress",T)))}function h(){d&&(d=!1,n.removeEventListener("mousemove",E),n.removeEventListener("mousedown",g),n.removeEventListener("mouseup",A),n.removeEventListener("mouseleave",x),n.removeEventListener("mouseenter",x),n.removeEventListener("mouseout",x),n.removeEventListener("mouseover",x),n.removeEventListener("blur",M),n.removeEventListener("keyup",T),n.removeEventListener("keydown",T),n.removeEventListener("keypress",T),n!==window&&(window.removeEventListener("blur",M),window.removeEventListener("keyup",T),window.removeEventListener("keydown",T),window.removeEventListener("keypress",T)))}m();var b={element:n};return Object.defineProperties(b,{enabled:{get:function(){return d},set:function(_){_?m():h()},enumerable:!0},buttons:{get:function(){return s},enumerable:!0},x:{get:function(){return c},enumerable:!0},y:{get:function(){return p},enumerable:!0},mods:{get:function(){return f},enumerable:!0}}),b}},24:function(l){var e={left:0,top:0};l.exports=t;function t(r,n,i){n=n||r.currentTarget||r.srcElement,Array.isArray(i)||(i=[0,0]);var s=r.clientX||0,c=r.clientY||0,p=a(n);return i[0]=s-p.left,i[1]=c-p.top,i}function a(r){return r===window||r===document||r===document.body?e:r.getBoundingClientRect()}},4687:function(l,e){"use strict";function t(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(ee=1,U[K++]=f(m[I],M,T,E),I+=O,g>0)for(Y=1,C=m[I],V=U[K]=f(C,M,T,E),Z=U[K+$],ce=U[K+Q],Ae=U[K+me],(V!==Z||V!==ce||V!==Ae)&&(R=m[I+F],D=m[I+z],B=m[I+k],c(Y,ee,C,R,D,B,V,Z,ce,Ae,M,T,E),Se=H[K]=te++),K+=1,I+=O,Y=2;Y0)for(Y=1,C=m[I],V=U[K]=f(C,M,T,E),Z=U[K+$],ce=U[K+Q],Ae=U[K+me],(V!==Z||V!==ce||V!==Ae)&&(R=m[I+F],D=m[I+z],B=m[I+k],c(Y,ee,C,R,D,B,V,Z,ce,Ae,M,T,E),Se=H[K]=te++,Ae!==ce&&p(H[K+Q],Se,D,B,ce,Ae,M,T,E)),K+=1,I+=O,Y=2;Y0){if(Y=1,U[K++]=f(m[I],M,T,E),I+=O,A>0)for(ee=1,C=m[I],V=U[K]=f(C,M,T,E),ce=U[K+Q],Z=U[K+$],Ae=U[K+me],(V!==ce||V!==Z||V!==Ae)&&(R=m[I+F],D=m[I+z],B=m[I+k],c(Y,ee,C,R,D,B,V,ce,Z,Ae,M,T,E),Se=H[K]=te++),K+=1,I+=O,ee=2;ee0)for(ee=1,C=m[I],V=U[K]=f(C,M,T,E),ce=U[K+Q],Z=U[K+$],Ae=U[K+me],(V!==ce||V!==Z||V!==Ae)&&(R=m[I+F],D=m[I+z],B=m[I+k],c(Y,ee,C,R,D,B,V,ce,Z,Ae,M,T,E),Se=H[K]=te++,Ae!==ce&&p(H[K+Q],Se,B,R,Ae,ce,M,T,E)),K+=1,I+=O,ee=2;ee 0"),typeof s.vertex!="function"&&c("Must specify vertex creation function"),typeof s.cell!="function"&&c("Must specify cell creation function"),typeof s.phase!="function"&&c("Must specify phase function");for(var y=s.getters||[],o=new Array(f),x=0;x=0?o[x]=!0:o[x]=!1;return n(s.vertex,s.cell,s.phase,d,p,o)}},6199:function(l,e,t){"use strict";var a=t(1338),r={zero:function(E,g,A,m){var h=E[0],b=A[0];m|=0;var _=0,I=b;for(_=0;_2&&_[1]>2&&m(b.pick(-1,-1).lo(1,1).hi(_[0]-2,_[1]-2),h.pick(-1,-1,0).lo(1,1).hi(_[0]-2,_[1]-2),h.pick(-1,-1,1).lo(1,1).hi(_[0]-2,_[1]-2)),_[1]>2&&(A(b.pick(0,-1).lo(1).hi(_[1]-2),h.pick(0,-1,1).lo(1).hi(_[1]-2)),g(h.pick(0,-1,0).lo(1).hi(_[1]-2))),_[1]>2&&(A(b.pick(_[0]-1,-1).lo(1).hi(_[1]-2),h.pick(_[0]-1,-1,1).lo(1).hi(_[1]-2)),g(h.pick(_[0]-1,-1,0).lo(1).hi(_[1]-2))),_[0]>2&&(A(b.pick(-1,0).lo(1).hi(_[0]-2),h.pick(-1,0,0).lo(1).hi(_[0]-2)),g(h.pick(-1,0,1).lo(1).hi(_[0]-2))),_[0]>2&&(A(b.pick(-1,_[1]-1).lo(1).hi(_[0]-2),h.pick(-1,_[1]-1,0).lo(1).hi(_[0]-2)),g(h.pick(-1,_[1]-1,1).lo(1).hi(_[0]-2))),h.set(0,0,0,0),h.set(0,0,1,0),h.set(_[0]-1,0,0,0),h.set(_[0]-1,0,1,0),h.set(0,_[1]-1,0,0),h.set(0,_[1]-1,1,0),h.set(_[0]-1,_[1]-1,0,0),h.set(_[0]-1,_[1]-1,1,0),h}}function T(E){var g=E.join(),_=f[g];if(_)return _;for(var A=E.length,m=[y,o],h=1;h<=A;++h)m.push(x(h));var b=M,_=b.apply(void 0,m);return f[g]=_,_}l.exports=function(g,A,m){if(Array.isArray(m)||(typeof m=="string"?m=a(A.dimension,m):m=a(A.dimension,"clamp")),A.size===0)return g;if(A.dimension===0)return g.set(0),g;var h=T(m);return h(g,A)}},4317:function(l){"use strict";function e(i,s){var c=Math.floor(s),p=s-c,f=0<=c&&c0;){D<64?(g=D,D=0):(g=64,D-=64);for(var k=f[1]|0;k>0;){k<64?(A=k,k=0):(A=64,k-=64),o=R+D*h+k*b,T=z+D*I+k*C;var B=0,O=0,q=0,Y=_,ee=h-m*_,te=b-g*h,ae=F,U=I-m*F,H=C-g*I;for(q=0;q0;){C<64?(g=C,C=0):(g=64,C-=64);for(var F=f[0]|0;F>0;){F<64?(E=F,F=0):(E=64,F-=64),o=_+C*m+F*A,T=I+C*b+F*h;var R=0,z=0,D=m,k=A-g*m,B=b,O=h-g*b;for(z=0;z0;){z<64?(A=z,z=0):(A=64,z-=64);for(var D=f[0]|0;D>0;){D<64?(E=D,D=0):(E=64,D-=64);for(var k=f[1]|0;k>0;){k<64?(g=k,k=0):(g=64,k-=64),o=F+z*b+D*m+k*h,T=R+z*C+D*_+k*I;var B=0,O=0,q=0,Y=b,ee=m-A*b,te=h-E*m,ae=C,U=_-A*C,H=I-E*_;for(q=0;qx;){B=0,O=R-g;t:for(D=0;DY)break t;O+=_,B+=I}for(B=R,O=R-g,D=0;D>1,k=D-F,B=D+F,O=R,q=k,Y=D,ee=B,te=z,ae=M+1,U=T-1,H=!0,K,V,$,X,Z,Q,re,ce,me,ye=0,Ae=0,Se=0,Ce,qe,Ue,xe,he,oe,le,ne,be,Fe,Ve,je,ut,st,yt,At,Pt=b,Zt=y(Pt),vr=y(Pt);qe=A*O,Ue=A*q,At=g;e:for(Ce=0;Ce0){V=O,O=q,q=V;break e}if(Se<0)break e;At+=I}qe=A*ee,Ue=A*te,At=g;e:for(Ce=0;Ce0){V=ee,ee=te,te=V;break e}if(Se<0)break e;At+=I}qe=A*O,Ue=A*Y,At=g;e:for(Ce=0;Ce0){V=O,O=Y,Y=V;break e}if(Se<0)break e;At+=I}qe=A*q,Ue=A*Y,At=g;e:for(Ce=0;Ce0){V=q,q=Y,Y=V;break e}if(Se<0)break e;At+=I}qe=A*O,Ue=A*ee,At=g;e:for(Ce=0;Ce0){V=O,O=ee,ee=V;break e}if(Se<0)break e;At+=I}qe=A*Y,Ue=A*ee,At=g;e:for(Ce=0;Ce0){V=Y,Y=ee,ee=V;break e}if(Se<0)break e;At+=I}qe=A*q,Ue=A*te,At=g;e:for(Ce=0;Ce0){V=q,q=te,te=V;break e}if(Se<0)break e;At+=I}qe=A*q,Ue=A*Y,At=g;e:for(Ce=0;Ce0){V=q,q=Y,Y=V;break e}if(Se<0)break e;At+=I}qe=A*ee,Ue=A*te,At=g;e:for(Ce=0;Ce0){V=ee,ee=te,te=V;break e}if(Se<0)break e;At+=I}for(qe=A*O,Ue=A*q,xe=A*Y,he=A*ee,oe=A*te,le=A*R,ne=A*D,be=A*z,yt=0,At=g,Ce=0;Ce0)U--;else if(Se<0){for(qe=A*Q,Ue=A*ae,xe=A*U,At=g,Ce=0;Ce0)for(;;){re=g+U*A,yt=0;e:for(Ce=0;Ce0){if(--Uz){e:for(;;){for(re=g+ae*A,yt=0,At=g,Ce=0;Ce1&&x?T(o,x[0],x[1]):T(o)}var p={"uint32,1,0":function(d,y){return function(o){var x=o.data,M=o.offset|0,T=o.shape,E=o.stride,g=E[0]|0,A=T[0]|0,m=E[1]|0,h=T[1]|0,b=m,_=m,I=1;A<=32?d(0,A-1,x,M,g,m,A,h,b,_,I):y(0,A-1,x,M,g,m,A,h,b,_,I)}}};function f(d,y){var o=[y,d].join(","),x=p[o],M=i(d,y),T=c(d,y,M);return x(M,T)}l.exports=f},446:function(l,e,t){"use strict";var a=t(7640),r={};function n(i){var s=i.order,c=i.dtype,p=[s,c],f=p.join(":"),d=r[f];return d||(r[f]=d=a(s,c)),d(i),i}l.exports=n},9618:function(l,e,t){var a=t(7163),r=typeof Float64Array<"u";function n(y,o){return y[0]-o[0]}function i(){var y=this.stride,o=new Array(y.length),x;for(x=0;x=0&&(m=g|0,A+=b*m,h-=m),new M(this.data,h,b,A)},T.step=function(g){var A=this.shape[0],m=this.stride[0],h=this.offset,b=0,_=Math.ceil;return typeof g=="number"&&(b=g|0,b<0?(h+=m*(A-1),A=_(-A/b)):A=_(A/b),m*=b),new M(this.data,A,m,h)},T.transpose=function(g){g=g===void 0?0:g|0;var A=this.shape,m=this.stride;return new M(this.data,A[g],m[g],this.offset)},T.pick=function(g){var A=[],m=[],h=this.offset;typeof g=="number"&&g>=0?h=h+this.stride[0]*g|0:(A.push(this.shape[0]),m.push(this.stride[0]));var b=o[A.length+1];return b(this.data,A,m,h)},function(g,A,m,h){return new M(g,A[0],m[0],h)}},2:function(y,o,x){function M(E,g,A,m,h,b){this.data=E,this.shape=[g,A],this.stride=[m,h],this.offset=b|0}var T=M.prototype;return T.dtype=y,T.dimension=2,Object.defineProperty(T,"size",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(T,"order",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),T.set=function(g,A,m){return y==="generic"?this.data.set(this.offset+this.stride[0]*g+this.stride[1]*A,m):this.data[this.offset+this.stride[0]*g+this.stride[1]*A]=m},T.get=function(g,A){return y==="generic"?this.data.get(this.offset+this.stride[0]*g+this.stride[1]*A):this.data[this.offset+this.stride[0]*g+this.stride[1]*A]},T.index=function(g,A){return this.offset+this.stride[0]*g+this.stride[1]*A},T.hi=function(g,A){return new M(this.data,typeof g!="number"||g<0?this.shape[0]:g|0,typeof A!="number"||A<0?this.shape[1]:A|0,this.stride[0],this.stride[1],this.offset)},T.lo=function(g,A){var m=this.offset,h=0,b=this.shape[0],_=this.shape[1],I=this.stride[0],C=this.stride[1];return typeof g=="number"&&g>=0&&(h=g|0,m+=I*h,b-=h),typeof A=="number"&&A>=0&&(h=A|0,m+=C*h,_-=h),new M(this.data,b,_,I,C,m)},T.step=function(g,A){var m=this.shape[0],h=this.shape[1],b=this.stride[0],_=this.stride[1],I=this.offset,C=0,F=Math.ceil;return typeof g=="number"&&(C=g|0,C<0?(I+=b*(m-1),m=F(-m/C)):m=F(m/C),b*=C),typeof A=="number"&&(C=A|0,C<0?(I+=_*(h-1),h=F(-h/C)):h=F(h/C),_*=C),new M(this.data,m,h,b,_,I)},T.transpose=function(g,A){g=g===void 0?0:g|0,A=A===void 0?1:A|0;var m=this.shape,h=this.stride;return new M(this.data,m[g],m[A],h[g],h[A],this.offset)},T.pick=function(g,A){var m=[],h=[],b=this.offset;typeof g=="number"&&g>=0?b=b+this.stride[0]*g|0:(m.push(this.shape[0]),h.push(this.stride[0])),typeof A=="number"&&A>=0?b=b+this.stride[1]*A|0:(m.push(this.shape[1]),h.push(this.stride[1]));var _=o[m.length+1];return _(this.data,m,h,b)},function(g,A,m,h){return new M(g,A[0],A[1],m[0],m[1],h)}},3:function(y,o,x){function M(E,g,A,m,h,b,_,I){this.data=E,this.shape=[g,A,m],this.stride=[h,b,_],this.offset=I|0}var T=M.prototype;return T.dtype=y,T.dimension=3,Object.defineProperty(T,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(T,"order",{get:function(){var g=Math.abs(this.stride[0]),A=Math.abs(this.stride[1]),m=Math.abs(this.stride[2]);return g>A?A>m?[2,1,0]:g>m?[1,2,0]:[1,0,2]:g>m?[2,0,1]:m>A?[0,1,2]:[0,2,1]}}),T.set=function(g,A,m,h){return y==="generic"?this.data.set(this.offset+this.stride[0]*g+this.stride[1]*A+this.stride[2]*m,h):this.data[this.offset+this.stride[0]*g+this.stride[1]*A+this.stride[2]*m]=h},T.get=function(g,A,m){return y==="generic"?this.data.get(this.offset+this.stride[0]*g+this.stride[1]*A+this.stride[2]*m):this.data[this.offset+this.stride[0]*g+this.stride[1]*A+this.stride[2]*m]},T.index=function(g,A,m){return this.offset+this.stride[0]*g+this.stride[1]*A+this.stride[2]*m},T.hi=function(g,A,m){return new M(this.data,typeof g!="number"||g<0?this.shape[0]:g|0,typeof A!="number"||A<0?this.shape[1]:A|0,typeof m!="number"||m<0?this.shape[2]:m|0,this.stride[0],this.stride[1],this.stride[2],this.offset)},T.lo=function(g,A,m){var h=this.offset,b=0,_=this.shape[0],I=this.shape[1],C=this.shape[2],F=this.stride[0],R=this.stride[1],z=this.stride[2];return typeof g=="number"&&g>=0&&(b=g|0,h+=F*b,_-=b),typeof A=="number"&&A>=0&&(b=A|0,h+=R*b,I-=b),typeof m=="number"&&m>=0&&(b=m|0,h+=z*b,C-=b),new M(this.data,_,I,C,F,R,z,h)},T.step=function(g,A,m){var h=this.shape[0],b=this.shape[1],_=this.shape[2],I=this.stride[0],C=this.stride[1],F=this.stride[2],R=this.offset,z=0,D=Math.ceil;return typeof g=="number"&&(z=g|0,z<0?(R+=I*(h-1),h=D(-h/z)):h=D(h/z),I*=z),typeof A=="number"&&(z=A|0,z<0?(R+=C*(b-1),b=D(-b/z)):b=D(b/z),C*=z),typeof m=="number"&&(z=m|0,z<0?(R+=F*(_-1),_=D(-_/z)):_=D(_/z),F*=z),new M(this.data,h,b,_,I,C,F,R)},T.transpose=function(g,A,m){g=g===void 0?0:g|0,A=A===void 0?1:A|0,m=m===void 0?2:m|0;var h=this.shape,b=this.stride;return new M(this.data,h[g],h[A],h[m],b[g],b[A],b[m],this.offset)},T.pick=function(g,A,m){var h=[],b=[],_=this.offset;typeof g=="number"&&g>=0?_=_+this.stride[0]*g|0:(h.push(this.shape[0]),b.push(this.stride[0])),typeof A=="number"&&A>=0?_=_+this.stride[1]*A|0:(h.push(this.shape[1]),b.push(this.stride[1])),typeof m=="number"&&m>=0?_=_+this.stride[2]*m|0:(h.push(this.shape[2]),b.push(this.stride[2]));var I=o[h.length+1];return I(this.data,h,b,_)},function(g,A,m,h){return new M(g,A[0],A[1],A[2],m[0],m[1],m[2],h)}},4:function(y,o,x){function M(E,g,A,m,h,b,_,I,C,F){this.data=E,this.shape=[g,A,m,h],this.stride=[b,_,I,C],this.offset=F|0}var T=M.prototype;return T.dtype=y,T.dimension=4,Object.defineProperty(T,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(T,"order",{get:x}),T.set=function(g,A,m,h,b){return y==="generic"?this.data.set(this.offset+this.stride[0]*g+this.stride[1]*A+this.stride[2]*m+this.stride[3]*h,b):this.data[this.offset+this.stride[0]*g+this.stride[1]*A+this.stride[2]*m+this.stride[3]*h]=b},T.get=function(g,A,m,h){return y==="generic"?this.data.get(this.offset+this.stride[0]*g+this.stride[1]*A+this.stride[2]*m+this.stride[3]*h):this.data[this.offset+this.stride[0]*g+this.stride[1]*A+this.stride[2]*m+this.stride[3]*h]},T.index=function(g,A,m,h){return this.offset+this.stride[0]*g+this.stride[1]*A+this.stride[2]*m+this.stride[3]*h},T.hi=function(g,A,m,h){return new M(this.data,typeof g!="number"||g<0?this.shape[0]:g|0,typeof A!="number"||A<0?this.shape[1]:A|0,typeof m!="number"||m<0?this.shape[2]:m|0,typeof h!="number"||h<0?this.shape[3]:h|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},T.lo=function(g,A,m,h){var b=this.offset,_=0,I=this.shape[0],C=this.shape[1],F=this.shape[2],R=this.shape[3],z=this.stride[0],D=this.stride[1],k=this.stride[2],B=this.stride[3];return typeof g=="number"&&g>=0&&(_=g|0,b+=z*_,I-=_),typeof A=="number"&&A>=0&&(_=A|0,b+=D*_,C-=_),typeof m=="number"&&m>=0&&(_=m|0,b+=k*_,F-=_),typeof h=="number"&&h>=0&&(_=h|0,b+=B*_,R-=_),new M(this.data,I,C,F,R,z,D,k,B,b)},T.step=function(g,A,m,h){var b=this.shape[0],_=this.shape[1],I=this.shape[2],C=this.shape[3],F=this.stride[0],R=this.stride[1],z=this.stride[2],D=this.stride[3],k=this.offset,B=0,O=Math.ceil;return typeof g=="number"&&(B=g|0,B<0?(k+=F*(b-1),b=O(-b/B)):b=O(b/B),F*=B),typeof A=="number"&&(B=A|0,B<0?(k+=R*(_-1),_=O(-_/B)):_=O(_/B),R*=B),typeof m=="number"&&(B=m|0,B<0?(k+=z*(I-1),I=O(-I/B)):I=O(I/B),z*=B),typeof h=="number"&&(B=h|0,B<0?(k+=D*(C-1),C=O(-C/B)):C=O(C/B),D*=B),new M(this.data,b,_,I,C,F,R,z,D,k)},T.transpose=function(g,A,m,h){g=g===void 0?0:g|0,A=A===void 0?1:A|0,m=m===void 0?2:m|0,h=h===void 0?3:h|0;var b=this.shape,_=this.stride;return new M(this.data,b[g],b[A],b[m],b[h],_[g],_[A],_[m],_[h],this.offset)},T.pick=function(g,A,m,h){var b=[],_=[],I=this.offset;typeof g=="number"&&g>=0?I=I+this.stride[0]*g|0:(b.push(this.shape[0]),_.push(this.stride[0])),typeof A=="number"&&A>=0?I=I+this.stride[1]*A|0:(b.push(this.shape[1]),_.push(this.stride[1])),typeof m=="number"&&m>=0?I=I+this.stride[2]*m|0:(b.push(this.shape[2]),_.push(this.stride[2])),typeof h=="number"&&h>=0?I=I+this.stride[3]*h|0:(b.push(this.shape[3]),_.push(this.stride[3]));var C=o[b.length+1];return C(this.data,b,_,I)},function(g,A,m,h){return new M(g,A[0],A[1],A[2],A[3],m[0],m[1],m[2],m[3],h)}},5:function(o,x,M){function T(g,A,m,h,b,_,I,C,F,R,z,D){this.data=g,this.shape=[A,m,h,b,_],this.stride=[I,C,F,R,z],this.offset=D|0}var E=T.prototype;return E.dtype=o,E.dimension=5,Object.defineProperty(E,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(E,"order",{get:M}),E.set=function(A,m,h,b,_,I){return o==="generic"?this.data.set(this.offset+this.stride[0]*A+this.stride[1]*m+this.stride[2]*h+this.stride[3]*b+this.stride[4]*_,I):this.data[this.offset+this.stride[0]*A+this.stride[1]*m+this.stride[2]*h+this.stride[3]*b+this.stride[4]*_]=I},E.get=function(A,m,h,b,_){return o==="generic"?this.data.get(this.offset+this.stride[0]*A+this.stride[1]*m+this.stride[2]*h+this.stride[3]*b+this.stride[4]*_):this.data[this.offset+this.stride[0]*A+this.stride[1]*m+this.stride[2]*h+this.stride[3]*b+this.stride[4]*_]},E.index=function(A,m,h,b,_){return this.offset+this.stride[0]*A+this.stride[1]*m+this.stride[2]*h+this.stride[3]*b+this.stride[4]*_},E.hi=function(A,m,h,b,_){return new T(this.data,typeof A!="number"||A<0?this.shape[0]:A|0,typeof m!="number"||m<0?this.shape[1]:m|0,typeof h!="number"||h<0?this.shape[2]:h|0,typeof b!="number"||b<0?this.shape[3]:b|0,typeof _!="number"||_<0?this.shape[4]:_|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},E.lo=function(A,m,h,b,_){var I=this.offset,C=0,F=this.shape[0],R=this.shape[1],z=this.shape[2],D=this.shape[3],k=this.shape[4],B=this.stride[0],O=this.stride[1],q=this.stride[2],Y=this.stride[3],ee=this.stride[4];return typeof A=="number"&&A>=0&&(C=A|0,I+=B*C,F-=C),typeof m=="number"&&m>=0&&(C=m|0,I+=O*C,R-=C),typeof h=="number"&&h>=0&&(C=h|0,I+=q*C,z-=C),typeof b=="number"&&b>=0&&(C=b|0,I+=Y*C,D-=C),typeof _=="number"&&_>=0&&(C=_|0,I+=ee*C,k-=C),new T(this.data,F,R,z,D,k,B,O,q,Y,ee,I)},E.step=function(A,m,h,b,_){var I=this.shape[0],C=this.shape[1],F=this.shape[2],R=this.shape[3],z=this.shape[4],D=this.stride[0],k=this.stride[1],B=this.stride[2],O=this.stride[3],q=this.stride[4],Y=this.offset,ee=0,te=Math.ceil;return typeof A=="number"&&(ee=A|0,ee<0?(Y+=D*(I-1),I=te(-I/ee)):I=te(I/ee),D*=ee),typeof m=="number"&&(ee=m|0,ee<0?(Y+=k*(C-1),C=te(-C/ee)):C=te(C/ee),k*=ee),typeof h=="number"&&(ee=h|0,ee<0?(Y+=B*(F-1),F=te(-F/ee)):F=te(F/ee),B*=ee),typeof b=="number"&&(ee=b|0,ee<0?(Y+=O*(R-1),R=te(-R/ee)):R=te(R/ee),O*=ee),typeof _=="number"&&(ee=_|0,ee<0?(Y+=q*(z-1),z=te(-z/ee)):z=te(z/ee),q*=ee),new T(this.data,I,C,F,R,z,D,k,B,O,q,Y)},E.transpose=function(A,m,h,b,_){A=A===void 0?0:A|0,m=m===void 0?1:m|0,h=h===void 0?2:h|0,b=b===void 0?3:b|0,_=_===void 0?4:_|0;var I=this.shape,C=this.stride;return new T(this.data,I[A],I[m],I[h],I[b],I[_],C[A],C[m],C[h],C[b],C[_],this.offset)},E.pick=function(A,m,h,b,_){var I=[],C=[],F=this.offset;typeof A=="number"&&A>=0?F=F+this.stride[0]*A|0:(I.push(this.shape[0]),C.push(this.stride[0])),typeof m=="number"&&m>=0?F=F+this.stride[1]*m|0:(I.push(this.shape[1]),C.push(this.stride[1])),typeof h=="number"&&h>=0?F=F+this.stride[2]*h|0:(I.push(this.shape[2]),C.push(this.stride[2])),typeof b=="number"&&b>=0?F=F+this.stride[3]*b|0:(I.push(this.shape[3]),C.push(this.stride[3])),typeof _=="number"&&_>=0?F=F+this.stride[4]*_|0:(I.push(this.shape[4]),C.push(this.stride[4]));var R=x[I.length+1];return R(this.data,I,C,F)},function(A,m,h,b){return new T(A,m[0],m[1],m[2],m[3],m[4],h[0],h[1],h[2],h[3],h[4],b)}}};function c(y,o){var x=o===-1?"T":String(o),M=s[x];return o===-1?M(y):o===0?M(y,f[y][0]):M(y,f[y],i)}function p(y){if(a(y))return"buffer";if(r)switch(Object.prototype.toString.call(y)){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(y)?"array":"generic"}var f={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};function d(y,o,x,M){if(y===void 0){var h=f.array[0];return h([])}else typeof y=="number"&&(y=[y]);o===void 0&&(o=[y.length]);var T=o.length;if(x===void 0){x=new Array(T);for(var E=T-1,g=1;E>=0;--E)x[E]=g,g*=o[E]}if(M===void 0){M=0;for(var E=0;E>>0;l.exports=i;function i(s,c){if(isNaN(s)||isNaN(c))return NaN;if(s===c)return s;if(s===0)return c<0?-r:r;var p=a.hi(s),f=a.lo(s);return c>s==s>0?f===n?(p+=1,f=0):f+=1:f===0?(f=n,p-=1):f-=1,a.pack(f,p)}},8406:function(l,e){var t=1e-6,a=1e-6;e.vertexNormals=function(r,n,i){for(var s=n.length,c=new Array(s),p=i===void 0?t:i,f=0;fp)for(var I=c[o],C=1/Math.sqrt(m*b),_=0;_<3;++_){var F=(_+1)%3,R=(_+2)%3;I[_]+=C*(h[F]*A[R]-h[R]*A[F])}}for(var f=0;fp)for(var C=1/Math.sqrt(z),_=0;_<3;++_)I[_]*=C;else for(var _=0;_<3;++_)I[_]=0}return c},e.faceNormals=function(r,n,i){for(var s=r.length,c=new Array(s),p=i===void 0?a:i,f=0;fp?E=1/Math.sqrt(E):E=0;for(var o=0;o<3;++o)T[o]*=E;c[f]=T}return c}},4081:function(l){"use strict";l.exports=e;function e(t,a,r,n,i,s,c,p,f,d){var y=a+s+d;if(o>0){var o=Math.sqrt(y+1);t[0]=.5*(c-f)/o,t[1]=.5*(p-n)/o,t[2]=.5*(r-s)/o,t[3]=.5*o}else{var x=Math.max(a,s,d),o=Math.sqrt(2*x-y+1);a>=x?(t[0]=.5*o,t[1]=.5*(i+r)/o,t[2]=.5*(p+n)/o,t[3]=.5*(c-f)/o):s>=x?(t[0]=.5*(r+i)/o,t[1]=.5*o,t[2]=.5*(f+c)/o,t[3]=.5*(p-n)/o):(t[0]=.5*(n+p)/o,t[1]=.5*(c+f)/o,t[2]=.5*o,t[3]=.5*(r-i)/o)}return t}},9977:function(l,e,t){"use strict";l.exports=o;var a=t(9215),r=t(6582),n=t(7399),i=t(7608),s=t(4081);function c(x,M,T){return Math.sqrt(Math.pow(x,2)+Math.pow(M,2)+Math.pow(T,2))}function p(x,M,T,E){return Math.sqrt(Math.pow(x,2)+Math.pow(M,2)+Math.pow(T,2)+Math.pow(E,2))}function f(x,M){var T=M[0],E=M[1],g=M[2],A=M[3],m=p(T,E,g,A);m>1e-6?(x[0]=T/m,x[1]=E/m,x[2]=g/m,x[3]=A/m):(x[0]=x[1]=x[2]=0,x[3]=1)}function d(x,M,T){this.radius=a([T]),this.center=a(M),this.rotation=a(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 y=d.prototype;y.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},y.recalcMatrix=function(x){this.radius.curve(x),this.center.curve(x),this.rotation.curve(x);var M=this.computedRotation;f(M,M);var T=this.computedMatrix;n(T,M);var E=this.computedCenter,g=this.computedEye,A=this.computedUp,m=Math.exp(this.computedRadius[0]);g[0]=E[0]+m*T[2],g[1]=E[1]+m*T[6],g[2]=E[2]+m*T[10],A[0]=T[1],A[1]=T[5],A[2]=T[9];for(var h=0;h<3;++h){for(var b=0,_=0;_<3;++_)b+=T[h+4*_]*g[_];T[12+h]=-b}},y.getMatrix=function(x,M){this.recalcMatrix(x);var T=this.computedMatrix;if(M){for(var E=0;E<16;++E)M[E]=T[E];return M}return T},y.idle=function(x){this.center.idle(x),this.radius.idle(x),this.rotation.idle(x)},y.flush=function(x){this.center.flush(x),this.radius.flush(x),this.rotation.flush(x)},y.pan=function(x,M,T,E){M=M||0,T=T||0,E=E||0,this.recalcMatrix(x);var g=this.computedMatrix,A=g[1],m=g[5],h=g[9],b=c(A,m,h);A/=b,m/=b,h/=b;var _=g[0],I=g[4],C=g[8],F=_*A+I*m+C*h;_-=A*F,I-=m*F,C-=h*F;var R=c(_,I,C);_/=R,I/=R,C/=R;var z=g[2],D=g[6],k=g[10],B=z*A+D*m+k*h,O=z*_+D*I+k*C;z-=B*A+O*_,D-=B*m+O*I,k-=B*h+O*C;var q=c(z,D,k);z/=q,D/=q,k/=q;var Y=_*M+A*T,ee=I*M+m*T,te=C*M+h*T;this.center.move(x,Y,ee,te);var ae=Math.exp(this.computedRadius[0]);ae=Math.max(1e-4,ae+E),this.radius.set(x,Math.log(ae))},y.rotate=function(x,M,T,E){this.recalcMatrix(x),M=M||0,T=T||0;var g=this.computedMatrix,A=g[0],m=g[4],h=g[8],b=g[1],_=g[5],I=g[9],C=g[2],F=g[6],R=g[10],z=M*A+T*b,D=M*m+T*_,k=M*h+T*I,B=-(F*k-R*D),O=-(R*z-C*k),q=-(C*D-F*z),Y=Math.sqrt(Math.max(0,1-Math.pow(B,2)-Math.pow(O,2)-Math.pow(q,2))),ee=p(B,O,q,Y);ee>1e-6?(B/=ee,O/=ee,q/=ee,Y/=ee):(B=O=q=0,Y=1);var te=this.computedRotation,ae=te[0],U=te[1],H=te[2],K=te[3],V=ae*Y+K*B+U*q-H*O,$=U*Y+K*O+H*B-ae*q,X=H*Y+K*q+ae*O-U*B,Z=K*Y-ae*B-U*O-H*q;if(E){B=C,O=F,q=R;var Q=Math.sin(E)/c(B,O,q);B*=Q,O*=Q,q*=Q,Y=Math.cos(M),V=V*Y+Z*B+$*q-X*O,$=$*Y+Z*O+X*B-V*q,X=X*Y+Z*q+V*O-$*B,Z=Z*Y-V*B-$*O-X*q}var re=p(V,$,X,Z);re>1e-6?(V/=re,$/=re,X/=re,Z/=re):(V=$=X=0,Z=1),this.rotation.set(x,V,$,X,Z)},y.lookAt=function(x,M,T,E){this.recalcMatrix(x),T=T||this.computedCenter,M=M||this.computedEye,E=E||this.computedUp;var g=this.computedMatrix;r(g,M,T,E);var A=this.computedRotation;s(A,g[0],g[1],g[2],g[4],g[5],g[6],g[8],g[9],g[10]),f(A,A),this.rotation.set(x,A[0],A[1],A[2],A[3]);for(var m=0,h=0;h<3;++h)m+=Math.pow(T[h]-M[h],2);this.radius.set(x,.5*Math.log(Math.max(m,1e-6))),this.center.set(x,T[0],T[1],T[2])},y.translate=function(x,M,T,E){this.center.move(x,M||0,T||0,E||0)},y.setMatrix=function(x,M){var T=this.computedRotation;s(T,M[0],M[1],M[2],M[4],M[5],M[6],M[8],M[9],M[10]),f(T,T),this.rotation.set(x,T[0],T[1],T[2],T[3]);var E=this.computedMatrix;i(E,M);var g=E[15];if(Math.abs(g)>1e-6){var A=E[12]/g,m=E[13]/g,h=E[14]/g;this.recalcMatrix(x);var b=Math.exp(this.computedRadius[0]);this.center.set(x,A-E[2]*b,m-E[6]*b,h-E[10]*b),this.radius.idle(x)}else this.center.idle(x),this.radius.idle(x)},y.setDistance=function(x,M){M>0&&this.radius.set(x,Math.log(M))},y.setDistanceLimits=function(x,M){x>0?x=Math.log(x):x=-1/0,M>0?M=Math.log(M):M=1/0,M=Math.max(M,x),this.radius.bounds[0][0]=x,this.radius.bounds[1][0]=M},y.getDistanceLimits=function(x){var M=this.radius.bounds;return x?(x[0]=Math.exp(M[0][0]),x[1]=Math.exp(M[1][0]),x):[Math.exp(M[0][0]),Math.exp(M[1][0])]},y.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]}},y.fromJSON=function(x){var M=this.lastT(),T=x.center;T&&this.center.set(M,T[0],T[1],T[2]);var E=x.rotation;E&&this.rotation.set(M,E[0],E[1],E[2],E[3]);var g=x.distance;g&&g>0&&this.radius.set(M,Math.log(g)),this.setDistanceLimits(x.zoomMin,x.zoomMax)};function o(x){x=x||{};var M=x.center||[0,0,0],T=x.rotation||[0,0,0,1],E=x.radius||1;M=[].slice.call(M,0,3),T=[].slice.call(T,0,4),f(T,T);var g=new d(T,M,Math.log(E));return g.setDistanceLimits(x.zoomMin,x.zoomMax),("eye"in x||"up"in x)&&g.lookAt(0,x.eye,x.center,x.up),g}},1371:function(l,e,t){"use strict";var a=t(3233);l.exports=function(n,i,s){return s=typeof s<"u"?s+"":" ",a(s,i)+n}},3202:function(l){l.exports=function(t,a){a||(a=[0,""]),t=String(t);var r=parseFloat(t,10);return a[0]=r,a[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",a}},3088:function(l,e,t){"use strict";l.exports=r;var a=t(3140);function r(n,i){for(var s=i.length|0,c=n.length,p=[new Array(s),new Array(s)],f=0;f0){I=p[R][b][0],F=R;break}C=I[F^1];for(var z=0;z<2;++z)for(var D=p[z][b],k=0;k0&&(I=B,C=O,F=z)}return _||I&&o(I,F),C}function M(h,b){var _=p[b][h][0],I=[h];o(_,b);for(var C=_[b^1],F=b;;){for(;C!==h;)I.push(C),C=x(I[I.length-2],C,!1);if(p[0][h].length+p[1][h].length===0)break;var R=I[I.length-1],z=h,D=I[1],k=x(R,z,!0);if(a(i[R],i[z],i[D],i[k])<0)break;I.push(h),C=x(R,z)}return I}function T(h,b){return b[1]===b[b.length-1]}for(var f=0;f0;){var A=p[0][f].length,m=M(f,E);T(g,m)?g.push.apply(g,m):(g.length>0&&y.push(g),g=m)}g.length>0&&y.push(g)}return y}},5609:function(l,e,t){"use strict";l.exports=r;var a=t(3134);function r(n,i){for(var s=a(n,i.length),c=new Array(i.length),p=new Array(i.length),f=[],d=0;d0;){var o=f.pop();c[o]=!1;for(var x=s[o],d=0;d0}A=A.filter(m);for(var h=A.length,b=new Array(h),_=new Array(h),g=0;g0;){var re=X.pop(),ce=ee[re];c(ce,function(Ce,qe){return Ce-qe});var me=ce.length,ye=Z[re],Ae;if(ye===0){var D=A[re];Ae=[D]}for(var g=0;g=0)&&(Z[Se]=ye^1,X.push(Se),ye===0)){var D=A[Se];$(D)||(D.reverse(),Ae.push(D))}}ye===0&&Q.push(Ae)}return Q}},5085:function(l,e,t){l.exports=x;var a=t(3250)[3],r=t(4209),n=t(3352),i=t(2478);function s(){return!0}function c(M){return function(T,E){var g=M[T];return g?!!g.queryPoint(E,s):!1}}function p(M){for(var T={},E=0;E0&&T[g]===E[0])A=M[g-1];else return 1;for(var m=1;A;){var h=A.key,b=a(E,h[0],h[1]);if(h[0][0]0)m=-1,A=A.right;else return 0;else if(b>0)A=A.left;else if(b<0)m=1,A=A.right;else return 0}return m}}function d(M){return 1}function y(M){return function(E){return M(E[0],E[1])?0:1}}function o(M,T){return function(g){return M(g[0],g[1])?0:T(g)}}function x(M){for(var T=M.length,E=[],g=[],A=0,m=0;m=d?(h=1,_=d+2*x+T):(h=-x/d,_=x*h+T)):(h=0,M>=0?(b=0,_=T):-M>=o?(b=1,_=o+2*M+T):(b=-M/o,_=M*b+T));else if(b<0)b=0,x>=0?(h=0,_=T):-x>=d?(h=1,_=d+2*x+T):(h=-x/d,_=x*h+T);else{var I=1/m;h*=I,b*=I,_=h*(d*h+y*b+2*x)+b*(y*h+o*b+2*M)+T}else{var C,F,R,z;h<0?(C=y+x,F=o+M,F>C?(R=F-C,z=d-2*y+o,R>=z?(h=1,b=0,_=d+2*x+T):(h=R/z,b=1-h,_=h*(d*h+y*b+2*x)+b*(y*h+o*b+2*M)+T)):(h=0,F<=0?(b=1,_=o+2*M+T):M>=0?(b=0,_=T):(b=-M/o,_=M*b+T))):b<0?(C=y+M,F=d+x,F>C?(R=F-C,z=d-2*y+o,R>=z?(b=1,h=0,_=o+2*M+T):(b=R/z,h=1-b,_=h*(d*h+y*b+2*x)+b*(y*h+o*b+2*M)+T)):(b=0,F<=0?(h=1,_=d+2*x+T):x>=0?(h=0,_=T):(h=-x/d,_=x*h+T))):(R=o+M-y-x,R<=0?(h=0,b=1,_=o+2*M+T):(z=d-2*y+o,R>=z?(h=1,b=0,_=d+2*x+T):(h=R/z,b=1-h,_=h*(d*h+y*b+2*x)+b*(y*h+o*b+2*M)+T)))}for(var D=1-h-b,f=0;f0){var o=s[p-1];if(a(d,o)===0&&n(o)!==y){p-=1;continue}}s[p++]=d}}return s.length=p,s}},3233:function(l){"use strict";var e="",t;l.exports=a;function a(r,n){if(typeof r!="string")throw new TypeError("expected a string");if(n===1)return r;if(n===2)return r+r;var i=r.length*n;if(t!==r||typeof t>"u")t=r,e="";else if(e.length>=i)return e.substr(0,i);for(;i>e.length&&n>1;)n&1&&(e+=r),n>>=1,r+=r;return e+=r,e=e.substr(0,i),e}},3025:function(l,e,t){l.exports=t.g.performance&&t.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},7004:function(l){"use strict";l.exports=e;function e(t){for(var a=t.length,r=t[t.length-1],n=a,i=a-2;i>=0;--i){var s=r,c=t[i];r=s+c;var p=r-s,f=c-p;f&&(t[--n]=r,r=f)}for(var d=0,i=n;i0){if(F<=0)return R;z=C+F}else if(C<0){if(F>=0)return R;z=-(C+F)}else return R;var D=p*z;return R>=D||R<=-D?R:M(b,_,I)},function(b,_,I,C){var F=b[0]-C[0],R=_[0]-C[0],z=I[0]-C[0],D=b[1]-C[1],k=_[1]-C[1],B=I[1]-C[1],O=b[2]-C[2],q=_[2]-C[2],Y=I[2]-C[2],ee=R*B,te=z*k,ae=z*D,U=F*B,H=F*k,K=R*D,V=O*(ee-te)+q*(ae-U)+Y*(H-K),$=(Math.abs(ee)+Math.abs(te))*Math.abs(O)+(Math.abs(ae)+Math.abs(U))*Math.abs(q)+(Math.abs(H)+Math.abs(K))*Math.abs(Y),X=f*$;return V>X||-V>X?V:T(b,_,I,C)}];function g(h){var b=E[h.length];return b||(b=E[h.length]=x(h.length)),b.apply(void 0,h)}function A(h,b,_,I,C,F,R){return function(D,k,B,O,q){switch(arguments.length){case 0:case 1:return 0;case 2:return I(D,k);case 3:return C(D,k,B);case 4:return F(D,k,B,O);case 5:return R(D,k,B,O,q)}for(var Y=new Array(arguments.length),ee=0;ee0&&d>0||f<0&&d<0)return!1;var y=a(c,i,s),o=a(p,i,s);return y>0&&o>0||y<0&&o<0?!1:f===0&&d===0&&y===0&&o===0?r(i,s,c,p):!0}},8545:function(l){"use strict";l.exports=t;function e(a,r){var n=a+r,i=n-a,s=n-i,c=r-i,p=a-s,f=p+c;return f?[f,n]:[n]}function t(a,r){var n=a.length|0,i=r.length|0;if(n===1&&i===1)return e(a[0],-r[0]);var s=n+i,c=new Array(s),p=0,f=0,d=0,y=Math.abs,o=a[f],x=y(o),M=-r[d],T=y(M),E,g;x=i?(E=o,f+=1,f=i?(E=o,f+=1,f"u"&&(E=s(x));var g=x.length;if(g===0||E<1)return{cells:[],vertexIds:[],vertexWeights:[]};var A=c(M,+T),m=p(x,E),h=f(m,M,A,+T),b=d(m,M.length|0),_=i(E)(x,m.data,b,A),I=y(m),C=[].slice.call(h.data,0,h.shape[0]);return r.free(A),r.free(m.data),r.free(h.data),r.free(b),{cells:_,vertexIds:I,vertexWeights:C}}},1570:function(l){"use strict";l.exports=t;var e=[function(){function r(i,s,c,p){for(var f=Math.min(c,p)|0,d=Math.max(c,p)|0,y=i[2*f],o=i[2*f+1];y>1,M=s[2*x+1];if(M===d)return x;d>1,M=s[2*x+1];if(M===d)return x;d>1,M=s[2*x+1];if(M===d)return x;d>1,M=s[2*x+1];if(M===d)return x;d>1,z=p(b[R],_);z<=0?(z===0&&(F=R),I=R+1):z>0&&(C=R-1)}return F}a=o;function x(b,_){for(var I=new Array(b.length),C=0,F=I.length;C=b.length||p(b[ee],R)!==0););}return I}a=x;function M(b,_){if(!_)return x(y(E(b,0)),b,0);for(var I=new Array(_),C=0;C<_;++C)I[C]=[];for(var C=0,F=b.length;C>>B&1&&k.push(F[B]);_.push(k)}return d(_)}a=T;function E(b,_){if(_<0)return[];for(var I=[],C=(1<<_+1)-1,F=0;F0)-(n<0)},e.abs=function(n){var i=n>>t-1;return(n^i)-i},e.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},e.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},e.popCount=function(n){return n=n-(n>>>1&1431655765),n=(n&858993459)+(n>>>2&858993459),(n+(n>>>4)&252645135)*16843009>>>24};function a(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}e.countTrailingZeros=a,e.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},e.prevPow2=function(n){return n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n-(n>>>1)},e.parity=function(n){return n^=n>>>16,n^=n>>>8,n^=n>>>4,n&=15,27030>>>n&1};var r=new Array(256);(function(n){for(var i=0;i<256;++i){var s=i,c=i,p=7;for(s>>>=1;s;s>>>=1)c<<=1,c|=s&1,--p;n[i]=c<>>8&255]<<16|r[n>>>16&255]<<8|r[n>>>24&255]},e.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},e.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},e.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},e.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},e.nextCombination=function(n){var i=n|n-1;return i+1|(~i&-~i)-1>>>a(n)+1}},2014:function(l,e,t){"use strict";"use restrict";var a=t(3105),r=t(4623);function n(h){for(var b=0,_=Math.max,I=0,C=h.length;I>1,R=c(h[F],b);R<=0?(R===0&&(C=F),_=F+1):R>0&&(I=F-1)}return C}e.findCell=y;function o(h,b){for(var _=new Array(h.length),I=0,C=_.length;I=h.length||c(h[Y],F)!==0););}return _}e.incidence=o;function x(h,b){if(!b)return o(d(T(h,0)),h,0);for(var _=new Array(b),I=0;I>>k&1&&D.push(C[k]);b.push(D)}return f(b)}e.explode=M;function T(h,b){if(b<0)return[];for(var _=[],I=(1<>1:(U>>1)-1}function I(U){for(var H=b(U);;){var K=H,V=2*U+1,$=2*(U+1),X=U;if(V0;){var K=_(U);if(K>=0){var V=b(K);if(H0){var U=D[0];return h(0,O-1),O-=1,I(0),U}return-1}function R(U,H){var K=D[U];return x[K]===H?U:(x[K]=-1/0,C(U),F(),x[K]=H,O+=1,C(O-1))}function z(U){if(!M[U]){M[U]=!0;var H=y[U],K=o[U];y[K]>=0&&(y[K]=H),o[H]>=0&&(o[H]=K),k[H]>=0&&R(k[H],m(H)),k[K]>=0&&R(k[K],m(K))}}for(var D=[],k=new Array(f),T=0;T>1;T>=0;--T)I(T);for(;;){var q=F();if(q<0||x[q]>p)break;z(q)}for(var Y=[],T=0;T=0&&K>=0&&H!==K){var V=k[H],$=k[K];V!==$&&ae.push([V,$])}}),r.unique(r.normalize(ae)),{positions:Y,edges:ae}}},1303:function(l,e,t){"use strict";l.exports=n;var a=t(3250);function r(i,s){var c,p;if(s[0][0]s[1][0])c=s[1],p=s[0];else{var f=Math.min(i[0][1],i[1][1]),d=Math.max(i[0][1],i[1][1]),y=Math.min(s[0][1],s[1][1]),o=Math.max(s[0][1],s[1][1]);return do?f-o:d-o}var x,M;i[0][1]s[1][0])c=s[1],p=s[0];else return r(s,i);var f,d;if(i[0][0]i[1][0])f=i[1],d=i[0];else return-r(i,s);var y=a(c,p,d),o=a(c,p,f);if(y<0){if(o<=0)return y}else if(y>0){if(o>=0)return y}else if(o)return o;if(y=a(d,f,p),o=a(d,f,c),y<0){if(o<=0)return y}else if(y>0){if(o>=0)return y}else if(o)return o;return p[0]-d[0]}},4209:function(l,e,t){"use strict";l.exports=o;var a=t(2478),r=t(3840),n=t(3250),i=t(1303);function s(x,M,T){this.slabs=x,this.coordinates=M,this.horizontal=T}var c=s.prototype;function p(x,M){return x.y-M}function f(x,M){for(var T=null;x;){var E=x.key,g,A;E[0][0]0)if(M[0]!==E[1][0])T=x,x=x.right;else{var h=f(x.right,M);if(h)return h;x=x.left}else{if(M[0]!==E[1][0])return x;var h=f(x.right,M);if(h)return h;x=x.left}}return T}c.castUp=function(x){var M=a.le(this.coordinates,x[0]);if(M<0)return-1;var T=this.slabs[M],E=f(this.slabs[M],x),g=-1;if(E&&(g=E.value),this.coordinates[M]===x[0]){var A=null;if(E&&(A=E.key),M>0){var m=f(this.slabs[M-1],x);m&&(A?i(m.key,A)>0&&(A=m.key,g=m.value):(g=m.value,A=m.key))}var h=this.horizontal[M];if(h.length>0){var b=a.ge(h,x[1],p);if(b=h.length)return g;_=h[b]}}if(_.start)if(A){var I=n(A[0],A[1],[x[0],_.y]);A[0][0]>A[1][0]&&(I=-I),I>0&&(g=_.index)}else g=_.index;else _.y!==x[1]&&(g=_.index)}}}return g};function d(x,M,T,E){this.y=x,this.index=M,this.start=T,this.closed=E}function y(x,M,T,E){this.x=x,this.segment=M,this.create=T,this.index=E}function o(x){for(var M=x.length,T=2*M,E=new Array(T),g=0;g1&&(M=1);for(var T=1-M,E=f.length,g=new Array(E),A=0;A0||x>0&&g<0){var A=i(M,g,T,x);y.push(A),o.push(A.slice())}g<0?o.push(T.slice()):g>0?y.push(T.slice()):(y.push(T.slice()),o.push(T.slice())),x=g}return{positive:y,negative:o}}function c(f,d){for(var y=[],o=n(f[f.length-1],d),x=f[f.length-1],M=f[0],T=0;T0||o>0&&E<0)&&y.push(i(x,E,M,o)),E>=0&&y.push(M.slice()),o=E}return y}function p(f,d){for(var y=[],o=n(f[f.length-1],d),x=f[f.length-1],M=f[0],T=0;T0||o>0&&E<0)&&y.push(i(x,E,M,o)),E<=0&&y.push(M.slice()),o=E}return y}},3387:function(l,e,t){var a;(function(){"use strict";var r={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(f){return s(p(f),arguments)}function i(f,d){return n.apply(null,[f].concat(d||[]))}function s(f,d){var y=1,o=f.length,x,M="",T,E,g,A,m,h,b,_;for(T=0;T=0),g.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,g.width?parseInt(g.width):0);break;case"e":x=g.precision?parseFloat(x).toExponential(g.precision):parseFloat(x).toExponential();break;case"f":x=g.precision?parseFloat(x).toFixed(g.precision):parseFloat(x);break;case"g":x=g.precision?String(Number(x.toPrecision(g.precision))):parseFloat(x);break;case"o":x=(parseInt(x,10)>>>0).toString(8);break;case"s":x=String(x),x=g.precision?x.substring(0,g.precision):x;break;case"t":x=String(!!x),x=g.precision?x.substring(0,g.precision):x;break;case"T":x=Object.prototype.toString.call(x).slice(8,-1).toLowerCase(),x=g.precision?x.substring(0,g.precision):x;break;case"u":x=parseInt(x,10)>>>0;break;case"v":x=x.valueOf(),x=g.precision?x.substring(0,g.precision):x;break;case"x":x=(parseInt(x,10)>>>0).toString(16);break;case"X":x=(parseInt(x,10)>>>0).toString(16).toUpperCase();break}r.json.test(g.type)?M+=x:(r.number.test(g.type)&&(!b||g.sign)?(_=b?"+":"-",x=x.toString().replace(r.sign,"")):_="",m=g.pad_char?g.pad_char==="0"?"0":g.pad_char.charAt(1):" ",h=g.width-(_+x).length,A=g.width&&h>0?m.repeat(h):"",M+=g.align?_+x+A:m==="0"?_+A+x:A+_+x)}return M}var c=Object.create(null);function p(f){if(c[f])return c[f];for(var d=f,y,o=[],x=0;d;){if((y=r.text.exec(d))!==null)o.push(y[0]);else if((y=r.modulo.exec(d))!==null)o.push("%");else if((y=r.placeholder.exec(d))!==null){if(y[2]){x|=1;var M=[],T=y[2],E=[];if((E=r.key.exec(T))!==null)for(M.push(E[1]);(T=T.substring(E[0].length))!=="";)if((E=r.key_access.exec(T))!==null)M.push(E[1]);else if((E=r.index_access.exec(T))!==null)M.push(E[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");y[2]=M}else x|=2;if(x===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");o.push({placeholder:y[0],param_no:y[1],keys:y[2],sign:y[3],pad_char:y[4],align:y[5],width:y[6],precision:y[7],type:y[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");d=d.substring(y[0].length)}return c[f]=o}e.sprintf=n,e.vsprintf=i,typeof window<"u"&&(window.sprintf=n,window.vsprintf=i,a=function(){return{sprintf:n,vsprintf:i}}.call(e,t,e,l),a!==void 0&&(l.exports=a))})()},3711:function(l,e,t){"use strict";l.exports=p;var a=t(2640),r=t(781),n={"2d":function(f,d,y){var o=f({order:d,scalarArguments:3,getters:y==="generic"?[0]:void 0,phase:function(M,T,E,g){return M>g|0},vertex:function(M,T,E,g,A,m,h,b,_,I,C,F,R){var z=(h<<0)+(b<<1)+(_<<2)+(I<<3)|0;if(!(z===0||z===15))switch(z){case 0:C.push([M-.5,T-.5]);break;case 1:C.push([M-.25-.25*(g+E-2*R)/(E-g),T-.25-.25*(A+E-2*R)/(E-A)]);break;case 2:C.push([M-.75-.25*(-g-E+2*R)/(g-E),T-.25-.25*(m+g-2*R)/(g-m)]);break;case 3:C.push([M-.5,T-.5-.5*(A+E+m+g-4*R)/(E-A+g-m)]);break;case 4:C.push([M-.25-.25*(m+A-2*R)/(A-m),T-.75-.25*(-A-E+2*R)/(A-E)]);break;case 5:C.push([M-.5-.5*(g+E+m+A-4*R)/(E-g+A-m),T-.5]);break;case 6:C.push([M-.5-.25*(-g-E+m+A)/(g-E+A-m),T-.5-.25*(-A-E+m+g)/(A-E+g-m)]);break;case 7:C.push([M-.75-.25*(m+A-2*R)/(A-m),T-.75-.25*(m+g-2*R)/(g-m)]);break;case 8:C.push([M-.75-.25*(-m-A+2*R)/(m-A),T-.75-.25*(-m-g+2*R)/(m-g)]);break;case 9:C.push([M-.5-.25*(g+E+-m-A)/(E-g+m-A),T-.5-.25*(A+E+-m-g)/(E-A+m-g)]);break;case 10:C.push([M-.5-.5*(-g-E+-m-A+4*R)/(g-E+m-A),T-.5]);break;case 11:C.push([M-.25-.25*(-m-A+2*R)/(m-A),T-.75-.25*(A+E-2*R)/(E-A)]);break;case 12:C.push([M-.5,T-.5-.5*(-A-E+-m-g+4*R)/(A-E+m-g)]);break;case 13:C.push([M-.75-.25*(g+E-2*R)/(E-g),T-.25-.25*(-m-g+2*R)/(m-g)]);break;case 14:C.push([M-.25-.25*(-g-E+2*R)/(g-E),T-.25-.25*(-A-E+2*R)/(A-E)]);break;case 15:C.push([M-.5,T-.5]);break}},cell:function(M,T,E,g,A,m,h,b,_){A?b.push([M,T]):b.push([T,M])}});return function(x,M){var T=[],E=[];return o(x,T,E,M),{positions:T,cells:E}}}};function i(f,d){var y=f.length+"d",o=n[y];if(o)return o(a,f,d)}function s(f,d){for(var y=r(f,d),o=y.length,x=new Array(o),M=new Array(o),T=0;TMath.max(g,A)?m[2]=1:g>Math.max(E,A)?m[0]=1:m[1]=1;for(var h=0,b=0,_=0;_<3;++_)h+=T[_]*T[_],b+=m[_]*T[_];for(var _=0;_<3;++_)m[_]-=b/h*T[_];return s(m,m),m}function y(T,E,g,A,m,h,b,_){this.center=a(g),this.up=a(A),this.right=a(m),this.radius=a([h]),this.angle=a([b,_]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(T,E),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var I=0;I<16;++I)this.computedMatrix[I]=.5;this.recalcMatrix(0)}var o=y.prototype;o.setDistanceLimits=function(T,E){T>0?T=Math.log(T):T=-1/0,E>0?E=Math.log(E):E=1/0,E=Math.max(E,T),this.radius.bounds[0][0]=T,this.radius.bounds[1][0]=E},o.getDistanceLimits=function(T){var E=this.radius.bounds[0];return T?(T[0]=Math.exp(E[0][0]),T[1]=Math.exp(E[1][0]),T):[Math.exp(E[0][0]),Math.exp(E[1][0])]},o.recalcMatrix=function(T){this.center.curve(T),this.up.curve(T),this.right.curve(T),this.radius.curve(T),this.angle.curve(T);for(var E=this.computedUp,g=this.computedRight,A=0,m=0,h=0;h<3;++h)m+=E[h]*g[h],A+=E[h]*E[h];for(var b=Math.sqrt(A),_=0,h=0;h<3;++h)g[h]-=E[h]*m/A,_+=g[h]*g[h],E[h]/=b;for(var I=Math.sqrt(_),h=0;h<3;++h)g[h]/=I;var C=this.computedToward;i(C,E,g),s(C,C);for(var F=Math.exp(this.computedRadius[0]),R=this.computedAngle[0],z=this.computedAngle[1],D=Math.cos(R),k=Math.sin(R),B=Math.cos(z),O=Math.sin(z),q=this.computedCenter,Y=D*B,ee=k*B,te=O,ae=-D*O,U=-k*O,H=B,K=this.computedEye,V=this.computedMatrix,h=0;h<3;++h){var $=Y*g[h]+ee*C[h]+te*E[h];V[4*h+1]=ae*g[h]+U*C[h]+H*E[h],V[4*h+2]=$,V[4*h+3]=0}var X=V[1],Z=V[5],Q=V[9],re=V[2],ce=V[6],me=V[10],ye=Z*me-Q*ce,Ae=Q*re-X*me,Se=X*ce-Z*re,Ce=p(ye,Ae,Se);ye/=Ce,Ae/=Ce,Se/=Ce,V[0]=ye,V[4]=Ae,V[8]=Se;for(var h=0;h<3;++h)K[h]=q[h]+V[2+4*h]*F;for(var h=0;h<3;++h){for(var _=0,qe=0;qe<3;++qe)_+=V[h+4*qe]*K[qe];V[12+h]=-_}V[15]=1},o.getMatrix=function(T,E){this.recalcMatrix(T);var g=this.computedMatrix;if(E){for(var A=0;A<16;++A)E[A]=g[A];return E}return g};var x=[0,0,0];o.rotate=function(T,E,g,A){if(this.angle.move(T,E,g),A){this.recalcMatrix(T);var m=this.computedMatrix;x[0]=m[2],x[1]=m[6],x[2]=m[10];for(var h=this.computedUp,b=this.computedRight,_=this.computedToward,I=0;I<3;++I)m[4*I]=h[I],m[4*I+1]=b[I],m[4*I+2]=_[I];n(m,m,A,x);for(var I=0;I<3;++I)h[I]=m[4*I],b[I]=m[4*I+1];this.up.set(T,h[0],h[1],h[2]),this.right.set(T,b[0],b[1],b[2])}},o.pan=function(T,E,g,A){E=E||0,g=g||0,A=A||0,this.recalcMatrix(T);var m=this.computedMatrix,h=Math.exp(this.computedRadius[0]),b=m[1],_=m[5],I=m[9],C=p(b,_,I);b/=C,_/=C,I/=C;var F=m[0],R=m[4],z=m[8],D=F*b+R*_+z*I;F-=b*D,R-=_*D,z-=I*D;var k=p(F,R,z);F/=k,R/=k,z/=k;var B=F*E+b*g,O=R*E+_*g,q=z*E+I*g;this.center.move(T,B,O,q);var Y=Math.exp(this.computedRadius[0]);Y=Math.max(1e-4,Y+A),this.radius.set(T,Math.log(Y))},o.translate=function(T,E,g,A){this.center.move(T,E||0,g||0,A||0)},o.setMatrix=function(T,E,g,A){var m=1;typeof g=="number"&&(m=g|0),(m<0||m>3)&&(m=1);var h=(m+2)%3,b=(m+1)%3;E||(this.recalcMatrix(T),E=this.computedMatrix);var _=E[m],I=E[m+4],C=E[m+8];if(A){var R=Math.abs(_),z=Math.abs(I),D=Math.abs(C),k=Math.max(R,z,D);R===k?(_=_<0?-1:1,I=C=0):D===k?(C=C<0?-1:1,_=I=0):(I=I<0?-1:1,_=C=0)}else{var F=p(_,I,C);_/=F,I/=F,C/=F}var B=E[h],O=E[h+4],q=E[h+8],Y=B*_+O*I+q*C;B-=_*Y,O-=I*Y,q-=C*Y;var ee=p(B,O,q);B/=ee,O/=ee,q/=ee;var te=I*q-C*O,ae=C*B-_*q,U=_*O-I*B,H=p(te,ae,U);te/=H,ae/=H,U/=H,this.center.jump(T,le,ne,be),this.radius.idle(T),this.up.jump(T,_,I,C),this.right.jump(T,B,O,q);var K,V;if(m===2){var $=E[1],X=E[5],Z=E[9],Q=$*B+X*O+Z*q,re=$*te+X*ae+Z*U;Ae<0?K=-Math.PI/2:K=Math.PI/2,V=Math.atan2(re,Q)}else{var ce=E[2],me=E[6],ye=E[10],Ae=ce*_+me*I+ye*C,Se=ce*B+me*O+ye*q,Ce=ce*te+me*ae+ye*U;K=Math.asin(f(Ae)),V=Math.atan2(Ce,Se)}this.angle.jump(T,V,K),this.recalcMatrix(T);var qe=E[2],Ue=E[6],xe=E[10],he=this.computedMatrix;r(he,E);var oe=he[15],le=he[12]/oe,ne=he[13]/oe,be=he[14]/oe,Fe=Math.exp(this.computedRadius[0]);this.center.jump(T,le-qe*Fe,ne-Ue*Fe,be-xe*Fe)},o.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},o.idle=function(T){this.center.idle(T),this.up.idle(T),this.right.idle(T),this.radius.idle(T),this.angle.idle(T)},o.flush=function(T){this.center.flush(T),this.up.flush(T),this.right.flush(T),this.radius.flush(T),this.angle.flush(T)},o.setDistance=function(T,E){E>0&&this.radius.set(T,Math.log(E))},o.lookAt=function(T,E,g,A){this.recalcMatrix(T),E=E||this.computedEye,g=g||this.computedCenter,A=A||this.computedUp;var m=A[0],h=A[1],b=A[2],_=p(m,h,b);if(!(_<1e-6)){m/=_,h/=_,b/=_;var I=E[0]-g[0],C=E[1]-g[1],F=E[2]-g[2],R=p(I,C,F);if(!(R<1e-6)){I/=R,C/=R,F/=R;var z=this.computedRight,D=z[0],k=z[1],B=z[2],O=m*D+h*k+b*B;D-=O*m,k-=O*h,B-=O*b;var q=p(D,k,B);if(!(q<.01&&(D=h*F-b*C,k=b*I-m*F,B=m*C-h*I,q=p(D,k,B),q<1e-6))){D/=q,k/=q,B/=q,this.up.set(T,m,h,b),this.right.set(T,D,k,B),this.center.set(T,g[0],g[1],g[2]),this.radius.set(T,Math.log(R));var Y=h*B-b*k,ee=b*D-m*B,te=m*k-h*D,ae=p(Y,ee,te);Y/=ae,ee/=ae,te/=ae;var U=m*I+h*C+b*F,H=D*I+k*C+B*F,K=Y*I+ee*C+te*F,V=Math.asin(f(U)),$=Math.atan2(K,H),X=this.angle._state,Z=X[X.length-1],Q=X[X.length-2];Z=Z%(2*Math.PI);var re=Math.abs(Z+2*Math.PI-$),ce=Math.abs(Z-$),me=Math.abs(Z-2*Math.PI-$);re0?B.pop():new ArrayBuffer(D)}e.mallocArrayBuffer=x;function M(z){return new Uint8Array(x(z),0,z)}e.mallocUint8=M;function T(z){return new Uint16Array(x(2*z),0,z)}e.mallocUint16=T;function E(z){return new Uint32Array(x(4*z),0,z)}e.mallocUint32=E;function g(z){return new Int8Array(x(z),0,z)}e.mallocInt8=g;function A(z){return new Int16Array(x(2*z),0,z)}e.mallocInt16=A;function m(z){return new Int32Array(x(4*z),0,z)}e.mallocInt32=m;function h(z){return new Float32Array(x(4*z),0,z)}e.mallocFloat32=e.mallocFloat=h;function b(z){return new Float64Array(x(8*z),0,z)}e.mallocFloat64=e.mallocDouble=b;function _(z){return i?new Uint8ClampedArray(x(z),0,z):M(z)}e.mallocUint8Clamped=_;function I(z){return s?new BigUint64Array(x(8*z),0,z):null}e.mallocBigUint64=I;function C(z){return c?new BigInt64Array(x(8*z),0,z):null}e.mallocBigInt64=C;function F(z){return new DataView(x(z),0,z)}e.mallocDataView=F;function R(z){z=a.nextPow2(z);var D=a.log2(z),k=d[D];return k.length>0?k.pop():new n(z)}e.mallocBuffer=R,e.clearCache=function(){for(var D=0;D<32;++D)p.UINT8[D].length=0,p.UINT16[D].length=0,p.UINT32[D].length=0,p.INT8[D].length=0,p.INT16[D].length=0,p.INT32[D].length=0,p.FLOAT[D].length=0,p.DOUBLE[D].length=0,p.BIGUINT64[D].length=0,p.BIGINT64[D].length=0,p.UINT8C[D].length=0,f[D].length=0,d[D].length=0}},1755:function(l){"use strict";"use restrict";l.exports=e;function e(a){this.roots=new Array(a),this.ranks=new Array(a);for(var r=0;r",B="",O=k.length,q=B.length,Y=R[0]===x||R[0]===E,ee=0,te=-q;ee>-1&&(ee=z.indexOf(k,ee),!(ee===-1||(te=z.indexOf(B,ee+O),te===-1)||te<=ee));){for(var ae=ee;ae=te)D[ae]=null,z=z.substr(0,ae)+" "+z.substr(ae+1);else if(D[ae]!==null){var U=D[ae].indexOf(R[0]);U===-1?D[ae]+=R:Y&&(D[ae]=D[ae].substr(0,U+1)+(1+parseInt(D[ae][U+1]))+D[ae].substr(U+2))}var H=ee+O,K=z.substr(H,te-H),V=K.indexOf(k);V!==-1?ee=V:ee=te+q}return D}function m(F,R,z){for(var D=R.textAlign||"start",k=R.textBaseline||"alphabetic",B=[1<<30,1<<30],O=[0,0],q=F.length,Y=0;Y/g,` +`):z=z.replace(/\/g," ");var O="",q=[];for(Z=0;Z-1?parseInt(ne[1+Ve]):0,st=je>-1?parseInt(be[1+je]):0;ut!==st&&(Fe=Fe.replace(Se(),"?px "),ce*=Math.pow(.75,st-ut),Fe=Fe.replace("?px ",Se())),re+=.25*U*(st-ut)}if(B.superscripts===!0){var yt=ne.indexOf(x),At=be.indexOf(x),Pt=yt>-1?parseInt(ne[1+yt]):0,Zt=At>-1?parseInt(be[1+At]):0;Pt!==Zt&&(Fe=Fe.replace(Se(),"?px "),ce*=Math.pow(.75,Zt-Pt),Fe=Fe.replace("?px ",Se())),re-=.25*U*(Zt-Pt)}if(B.bolds===!0){var vr=ne.indexOf(f)>-1,Nt=be.indexOf(f)>-1;!vr&&Nt&&(Kt?Fe=Fe.replace("italic ","italic bold "):Fe="bold "+Fe),vr&&!Nt&&(Fe=Fe.replace("bold ",""))}if(B.italics===!0){var Kt=ne.indexOf(y)>-1,nt=be.indexOf(y)>-1;!Kt&&nt&&(Fe="italic "+Fe),Kt&&!nt&&(Fe=Fe.replace("italic ",""))}R.font=Fe}for(X=0;X0&&(k=D.size),D.lineSpacing&&D.lineSpacing>0&&(B=D.lineSpacing),D.styletags&&D.styletags.breaklines&&(O.breaklines=!!D.styletags.breaklines),D.styletags&&D.styletags.bolds&&(O.bolds=!!D.styletags.bolds),D.styletags&&D.styletags.italics&&(O.italics=!!D.styletags.italics),D.styletags&&D.styletags.subscripts&&(O.subscripts=!!D.styletags.subscripts),D.styletags&&D.styletags.superscripts&&(O.superscripts=!!D.styletags.superscripts)),z.font=[D.fontStyle,D.fontVariant,D.fontWeight,k+"px",D.font].filter(function(Y){return Y}).join(" "),z.textAlign="start",z.textBaseline="alphabetic",z.direction="ltr";var q=h(R,z,F,k,B,O);return I(q,D,k)}},1538:function(l){(function(){"use strict";if(typeof ses<"u"&&ses.ok&&!ses.ok())return;function t(_){_.permitHostObjects___&&_.permitHostObjects___(t)}typeof ses<"u"&&(ses.weakMapPermitHostObjects=t);var a=!1;if(typeof WeakMap=="function"){var r=WeakMap;if(!(typeof navigator<"u"&&/Firefox/.test(navigator.userAgent))){var n=new r,i=Object.freeze({});if(n.set(i,1),n.get(i)!==1)a=!0;else{l.exports=WeakMap;return}}}var s=Object.prototype.hasOwnProperty,c=Object.getOwnPropertyNames,p=Object.defineProperty,f=Object.isExtensible,d="weakmap:",y=d+"ident:"+Math.random()+"___";if(typeof crypto<"u"&&typeof crypto.getRandomValues=="function"&&typeof ArrayBuffer=="function"&&typeof Uint8Array=="function"){var o=new ArrayBuffer(25),x=new Uint8Array(o);crypto.getRandomValues(x),y=d+"rand:"+Array.prototype.map.call(x,function(_){return(_%36).toString(36)}).join("")+"___"}function M(_){return!(_.substr(0,d.length)==d&&_.substr(_.length-3)==="___")}if(p(Object,"getOwnPropertyNames",{value:function(I){return c(I).filter(M)}}),"getPropertyNames"in Object){var T=Object.getPropertyNames;p(Object,"getPropertyNames",{value:function(I){return T(I).filter(M)}})}function E(_){if(_!==Object(_))throw new TypeError("Not an object: "+_);var I=_[y];if(I&&I.key===_)return I;if(f(_)){I={key:_};try{return p(_,y,{value:I,writable:!1,enumerable:!1,configurable:!1}),I}catch{return}}}(function(){var _=Object.freeze;p(Object,"freeze",{value:function(R){return E(R),_(R)}});var I=Object.seal;p(Object,"seal",{value:function(R){return E(R),I(R)}});var C=Object.preventExtensions;p(Object,"preventExtensions",{value:function(R){return E(R),C(R)}})})();function g(_){return _.prototype=null,Object.freeze(_)}var A=!1;function m(){!A&&typeof console<"u"&&(A=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}var h=0,b=function(){this instanceof b||m();var _=[],I=[],C=h++;function F(k,B){var O,q=E(k);return q?C in q?q[C]:B:(O=_.indexOf(k),O>=0?I[O]:B)}function R(k){var B=E(k);return B?C in B:_.indexOf(k)>=0}function z(k,B){var O,q=E(k);return q?q[C]=B:(O=_.indexOf(k),O>=0?I[O]=B:(O=_.length,I[O]=B,_[O]=k)),this}function D(k){var B=E(k),O,q;return B?C in B&&delete B[C]:(O=_.indexOf(k),O<0?!1:(q=_.length-1,_[O]=void 0,I[O]=I[q],_[O]=_[q],_.length=q,I.length=q,!0))}return Object.create(b.prototype,{get___:{value:g(F)},has___:{value:g(R)},set___:{value:g(z)},delete___:{value:g(D)}})};b.prototype=Object.create(Object.prototype,{get:{value:function(I,C){return this.get___(I,C)},writable:!0,configurable:!0},has:{value:function(I){return this.has___(I)},writable:!0,configurable:!0},set:{value:function(I,C){return this.set___(I,C)},writable:!0,configurable:!0},delete:{value:function(I){return this.delete___(I)},writable:!0,configurable:!0}}),typeof r=="function"?function(){a&&typeof Proxy<"u"&&(Proxy=void 0);function _(){this instanceof b||m();var I=new r,C=void 0,F=!1;function R(B,O){return C?I.has(B)?I.get(B):C.get___(B,O):I.get(B,O)}function z(B){return I.has(B)||(C?C.has___(B):!1)}var D;a?D=function(B,O){return I.set(B,O),I.has(B)||(C||(C=new b),C.set(B,O)),this}:D=function(B,O){if(F)try{I.set(B,O)}catch{C||(C=new b),C.set___(B,O)}else I.set(B,O);return this};function k(B){var O=!!I.delete(B);return C&&C.delete___(B)||O}return Object.create(b.prototype,{get___:{value:g(R)},has___:{value:g(z)},set___:{value:g(D)},delete___:{value:g(k)},permitHostObjects___:{value:g(function(B){if(B===t)F=!0;else throw new Error("bogus call to permitHostObjects___")})}})}_.prototype=b.prototype,l.exports=_,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(typeof Proxy<"u"&&(Proxy=void 0),l.exports=b)})()},236:function(l,e,t){var a=t(8284);l.exports=r;function r(){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:a(i,n)}}},8284:function(l){l.exports=e;function e(t,a){var r={identity:a},n=t.valueOf;return Object.defineProperty(t,"valueOf",{value:function(i){return i!==a?n.apply(this,arguments):r},writable:!0}),r}},606:function(l,e,t){var a=t(236);l.exports=r;function r(){var n=a();return{get:function(i,s){var c=n(i);return c.hasOwnProperty("value")?c.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(l){"use strict";function e(){return function(s,c,p,f,d,y){var o=s[0],x=p[0],M=[0],T=x;f|=0;var E=0,g=x;for(E=0;E=0!=m>=0&&d.push(M[0]+.5+.5*(A+m)/(A-m))}f+=g,++M[0]}}}function t(){return e()}var a=t;function r(s){var c={};return function(f,d,y){var o=f.dtype,x=f.order,M=[o,x.join()].join(),T=c[M];return T||(c[M]=T=s([o,x])),T(f.shape.slice(0),f.data,f.stride,f.offset|0,d,y)}}function n(s){return r(a.bind(void 0,s))}function i(s){return n({funcName:s.funcName})}l.exports=i({funcName:"zeroCrossings"})},781:function(l,e,t){"use strict";l.exports=r;var a=t(3349);function r(n,i){var s=[];return i=+i||0,a(n.hi(n.shape[0]-1),s,i),s}},7790:function(){}},v={};function w(l){var e=v[l];if(e!==void 0)return e.exports;var t=v[l]={id:l,loaded:!1,exports:{}};return u[l].call(t.exports,t,t.exports,w),t.loaded=!0,t.exports}(function(){w.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}()})(),function(){w.nmd=function(l){return l.paths=[],l.children||(l.children=[]),l}}();var S=w(1964);N.exports=S})()}}),QA=De({"node_modules/color-name/index.js"(j,N){"use strict";N.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]}}}),EB=De({"node_modules/color-normalize/node_modules/color-parse/index.js"(j,N){"use strict";var u=QA();N.exports=w;var v={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function w(S){var l,e=[],t=1,a;if(typeof S=="string")if(S=S.toLowerCase(),u[S])e=u[S].slice(),a="rgb";else if(S==="transparent")t=0,a="rgb",e=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(S)){var r=S.slice(1),n=r.length,i=n<=4;t=1,i?(e=[parseInt(r[0]+r[0],16),parseInt(r[1]+r[1],16),parseInt(r[2]+r[2],16)],n===4&&(t=parseInt(r[3]+r[3],16)/255)):(e=[parseInt(r[0]+r[1],16),parseInt(r[2]+r[3],16),parseInt(r[4]+r[5],16)],n===8&&(t=parseInt(r[6]+r[7],16)/255)),e[0]||(e[0]=0),e[1]||(e[1]=0),e[2]||(e[2]=0),a="rgb"}else if(l=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(S)){var s=l[1],c=s==="rgb",r=s.replace(/a$/,"");a=r;var n=r==="cmyk"?4:r==="gray"?1:3;e=l[2].trim().split(/\s*[,\/]\s*|\s+/).map(function(d,y){if(/%$/.test(d))return y===n?parseFloat(d)/100:r==="rgb"?parseFloat(d)*255/100:parseFloat(d);if(r[y]==="h"){if(/deg$/.test(d))return parseFloat(d);if(v[d]!==void 0)return v[d]}return parseFloat(d)}),s===r&&e.push(1),t=c||e[n]===void 0?1:e[n],e=e.slice(0,n)}else S.length>10&&/[0-9](?:\s|\/)/.test(S)&&(e=S.match(/([0-9]+)/g).map(function(p){return parseFloat(p)}),a=S.match(/([a-z])/ig).join("").toLowerCase());else isNaN(S)?Array.isArray(S)||S.length?(e=[S[0],S[1],S[2]],a="rgb",t=S.length===4?S[3]:1):S instanceof Object&&(S.r!=null||S.red!=null||S.R!=null?(a="rgb",e=[S.r||S.red||S.R||0,S.g||S.green||S.G||0,S.b||S.blue||S.B||0]):(a="hsl",e=[S.h||S.hue||S.H||0,S.s||S.saturation||S.S||0,S.l||S.lightness||S.L||S.b||S.brightness]),t=S.a||S.alpha||S.opacity||1,S.opacity!=null&&(t/=100)):(a="rgb",e=[S>>>16,(S&65280)>>>8,S&255]);return{space:a,values:e,alpha:t}}}}),kB=De({"node_modules/color-normalize/node_modules/color-rgba/index.js"(j,N){"use strict";var u=EB();N.exports=function(S){Array.isArray(S)&&S.raw&&(S=String.raw.apply(null,arguments));var l,e,t,a=u(S);if(!a.space)return[];var r=[0,0,0],n=a.space[0]==="h"?[360,100,100]:[255,255,255];return l=Array(3),l[0]=Math.min(Math.max(a.values[0],r[0]),n[0]),l[1]=Math.min(Math.max(a.values[1],r[1]),n[1]),l[2]=Math.min(Math.max(a.values[2],r[2]),n[2]),a.space[0]==="h"&&(l=v(l)),l.push(Math.min(Math.max(a.alpha,0),1)),l};function v(w){var S=w[0]/360,l=w[1]/100,e=w[2]/100,t,a,r,n,i,s=0;if(l===0)return i=e*255,[i,i,i];for(a=e<.5?e*(1+l):e+l-e*l,t=2*e-a,n=[0,0,0];s<3;)r=S+1/3*-(s-1),r<0?r++:r>1&&r--,i=6*r<1?t+(a-t)*6*r:2*r<1?a:3*r<2?t+(a-t)*(2/3-r)*6:t,n[s++]=i*255;return n}}}),dg=De({"node_modules/clamp/index.js"(j,N){N.exports=u;function u(v,w,S){return wS?S:v:vw?w:v}}}),Lb=De({"node_modules/dtype/index.js"(j,N){N.exports=function(u){switch(u){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}}}}),ap=De({"node_modules/color-normalize/index.js"(j,N){"use strict";var u=kB(),v=dg(),w=Lb();N.exports=function(e,t){(t==="float"||!t)&&(t="array"),t==="uint"&&(t="uint8"),t==="uint_clamped"&&(t="uint8_clamped");var a=w(t),r=new a(4),n=t!=="uint8"&&t!=="uint8_clamped";return(!e.length||typeof e=="string")&&(e=u(e),e[0]/=255,e[1]/=255,e[2]/=255),S(e)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3]!=null?e[3]:255,n&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(n?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3]!=null?e[3]:1):(r[0]=v(Math.floor(e[0]*255),0,255),r[1]=v(Math.floor(e[1]*255),0,255),r[2]=v(Math.floor(e[2]*255),0,255),r[3]=e[3]==null?255:v(Math.floor(e[3]*255),0,255)),r)};function S(l){return!!(l instanceof Uint8Array||l instanceof Uint8ClampedArray||Array.isArray(l)&&(l[0]>1||l[0]===0)&&(l[1]>1||l[1]===0)&&(l[2]>1||l[2]===0)&&(!l[3]||l[3]>1))}}}),tv=De({"src/lib/str2rgbarray.js"(j,N){"use strict";var u=ap();function v(w){return w?u(w):[0,0,0,1]}N.exports=v}}),rv=De({"src/lib/gl_format_color.js"(j,N){"use strict";var u=io(),v=ap(),w=Dl(),S=ii(),l=mc().defaultLine,e=Vf().isArrayOrTypedArray,t=v(l),a=1;function r(p,f){var d=p;return d[3]*=f,d}function n(p){if(u(p))return t;var f=v(p);return f.length?f:t}function i(p){return u(p)?p:a}function s(p,f,d){var y=p.color;y&&y._inputArray&&(y=y._inputArray);var o=e(y),x=e(f),M=w.extractOpts(p),T=[],E,g,A,m,h;if(M.colorscale!==void 0?E=w.makeColorScaleFuncFromTrace(p):E=n,o?g=function(_,I){return _[I]===void 0?t:v(E(_[I]))}:g=n,x?A=function(_,I){return _[I]===void 0?a:i(_[I])}:A=i,o||x)for(var b=0;b0){var d=a.c2l(p);a._lowerLogErrorBound||(a._lowerLogErrorBound=d),a._lowerErrorBound=Math.min(a._lowerLogErrorBound,d)}}else n[i]=[-s[0]*t,s[1]*t]}return n}function w(l){for(var e=0;e-1?-1:I.indexOf("right")>-1?1:0}function M(I){return I==null?0:I.indexOf("top")>-1?-1:I.indexOf("bottom")>-1?1:0}function T(I){var C=0,F=0,R=[C,F];if(Array.isArray(I))for(var z=0;z=0){var q=y(B.position,B.delaunayColor,B.delaunayAxis);q.opacity=I.opacity,this.delaunayMesh?this.delaunayMesh.update(q):(q.gl=C,this.delaunayMesh=S(q),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)},d.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 _(I,C){var F=new f(I,C.uid);return F.update(C),F}N.exports=_}}),tT=De({"src/traces/scatter3d/attributes.js"(j,N){"use strict";var u=bu(),v=Ml(),w=ul(),S=Zl().axisHoverFormat,{hovertemplateAttrs:l,texttemplateAttrs:e,templatefallbackAttrs:t}=Is(),a=Bs(),r=eT(),n=Pb(),i=Ji().extendFlat,s=Ul().overrideAll,c=(Ap(),ts(Uv)).default,p=u.line,f=u.marker,d=f.line,y=i({width:p.width,dash:{valType:"enumerated",values:c(r),dflt:"solid"}},w("line"));function o(M){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=N.exports=s({x:u.x,y:u.y,z:{valType:"data_array"},text:i({},u.text,{}),texttemplate:e(),texttemplatefallback:t({editType:"calc"}),hovertext:i({},u.hovertext,{}),hovertemplate:l(),hovertemplatefallback:t(),xhoverformat:S("x"),yhoverformat:S("y"),zhoverformat:S("z"),mode:i({},u.mode,{dflt:"lines+markers"}),surfaceaxis:{valType:"enumerated",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:"color"},projection:{x:o("x"),y:o("y"),z:o("z")},connectgaps:u.connectgaps,line:y,marker:i({symbol:{valType:"enumerated",values:c(n),dflt:"circle",arrayOk:!0},size:i({},f.size,{dflt:8}),sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,opacity:i({},f.opacity,{arrayOk:!1}),colorbar:f.colorbar,line:i({width:i({},d.width,{arrayOk:!1})},w("marker.line"))},w("marker")),textposition:i({},u.textposition,{dflt:"top center"}),textfont:v({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:"calc",colorEditType:"style",arrayOk:!0,variantValues:["normal","small-caps"]}),opacity:a.opacity,hoverinfo:i({},a.hoverinfo)},"calc","nested");x.x.editType=x.y.editType=x.z.editType="calc+clearAxisTypes"}}),PB=De({"src/traces/scatter3d/defaults.js"(j,N){"use strict";var u=hi(),v=Ar(),w=Sl(),S=Jh(),l=cd(),e=fd(),t=tT();N.exports=function(n,i,s,c){function p(E,g){return v.coerce(n,i,t,E,g)}var f=a(n,i,p,c);if(!f){i.visible=!1;return}p("text"),p("hovertext"),p("hovertemplate"),p("hovertemplatefallback"),p("xhoverformat"),p("yhoverformat"),p("zhoverformat"),p("mode"),w.hasMarkers(i)&&S(n,i,s,c,p,{noAngle:!0,noLineDash:!0,noSelect:!0}),w.hasLines(i)&&(p("connectgaps"),l(n,i,s,c,p)),w.hasText(i)&&(p("texttemplate"),p("texttemplatefallback"),e(n,i,c,p,{noSelect:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}));var d=(i.line||{}).color,y=(i.marker||{}).color;p("surfaceaxis")>=0&&p("surfacecolor",d||y);for(var o=["x","y","z"],x=0;x<3;++x){var M="projection."+o[x];p(M+".show")&&(p(M+".opacity"),p(M+".scale"))}var T=u.getComponentMethod("errorbars","supplyDefaults");T(n,i,d||y||s,{axis:"z"}),T(n,i,d||y||s,{axis:"y",inherit:"z"}),T(n,i,d||y||s,{axis:"x",inherit:"z"})};function a(r,n,i,s){var c=0,p=i("x"),f=i("y"),d=i("z"),y=u.getComponentMethod("calendars","handleTraceDefaults");return y(r,n,["x","y","z"],s),p&&f&&d&&(c=Math.min(p.length,f.length,d.length),n._length=n._xlength=n._ylength=n._zlength=c),c}}}),RB=De({"src/traces/scatter3d/calc.js"(j,N){"use strict";var u=Pd(),v=Qh();N.exports=function(S,l){var e=[{x:!1,y:!1,trace:l,t:{}}];return u(e,l),v(S,l),e}}}),IB=De({"node_modules/get-canvas-context/index.js"(j,N){N.exports=u;function u(v,w){if(typeof v!="string")throw new TypeError("must specify type string");if(w=w||{},typeof document>"u"&&!w.canvas)return null;var S=w.canvas||document.createElement("canvas");typeof w.width=="number"&&(S.width=w.width),typeof w.height=="number"&&(S.height=w.height);var l=w,e;try{var t=[v];v.indexOf("webgl")===0&&t.push("experimental-"+v);for(var a=0;a/g," "));i[s]=d,c.tickmode=p}}a.ticks=i;for(var s=0;s<3;++s){S[s]=.5*(t.glplot.bounds[0][s]+t.glplot.bounds[1][s]);for(var y=0;y<2;++y)a.bounds[y][s]=t.glplot.bounds[y][s]}t.contourLevels=l(i)}}}),OB=De({"src/plots/gl3d/scene.js"(j,N){"use strict";var u=pf().gl_plot3d,v=u.createCamera,w=u.createScene,S=DB(),l=H_(),e=hi(),t=Ar(),a=t.preserveDrawingBuffer(),r=Vi(),n=uu(),i=tv(),s=rT(),c=dw(),p=FB(),f=zB(),d=BB(),y=sd().applyAutorangeOptions,o,x,M=!1;function T(F,R){var z=document.createElement("div"),D=F.container;this.graphDiv=F.graphDiv;var k=document.createElementNS("http://www.w3.org/2000/svg","svg");k.style.position="absolute",k.style.top=k.style.left="0px",k.style.width=k.style.height="100%",k.style["z-index"]=20,k.style["pointer-events"]="none",z.appendChild(k),this.svgContainer=k,z.id=F.id,z.style.position="absolute",z.style.top=z.style.left="0px",z.style.width=z.style.height="100%",D.appendChild(z),this.fullLayout=R,this.id=F.id||"scene",this.fullSceneLayout=R[this.id],this.plotArgs=[[],{},{}],this.axesOptions=p(R,R[this.id]),this.spikeOptions=f(R[this.id]),this.container=z,this.staticMode=!!F.staticPlot,this.pixelRatio=this.pixelRatio||F.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=e.getComponentMethod("annotations3d","convert"),this.drawAnnotations=e.getComponentMethod("annotations3d","draw"),this.initializeGLPlot()}var E=T.prototype;E.prepareOptions=function(){var F=this,R={canvas:F.canvas,gl:F.gl,glOptions:{preserveDrawingBuffer:a,premultipliedAlpha:!0,antialias:!0},container:F.container,axes:F.axesOptions,spikes:F.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1,cameraObject:F.camera,pixelRatio:F.pixelRatio};if(F.staticMode){if(!x&&(o=document.createElement("canvas"),x=S({canvas:o,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}),!x))throw new Error("error creating static canvas/context for image server");R.gl=x,R.canvas=o}return R};var g=!0;E.tryCreatePlot=function(){var F=this,R=F.prepareOptions(),z=!0;try{F.glplot=w(R)}catch{if(F.staticMode||!g||a)z=!1;else{t.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{a=R.glOptions.preserveDrawingBuffer=!0,F.glplot=w(R)}catch{a=R.glOptions.preserveDrawingBuffer=!1,z=!1}}}return g=!1,z},E.initializeGLCamera=function(){var F=this,R=F.fullSceneLayout.camera,z=R.projection.type==="orthographic";F.camera=v(F.container,{center:[R.center.x,R.center.y,R.center.z],eye:[R.eye.x,R.eye.y,R.eye.z],up:[R.up.x,R.up.y,R.up.z],_ortho:z,zoomMin:.01,zoomMax:100,mode:"orbit"})},E.initializeGLPlot=function(){var F=this;F.initializeGLCamera();var R=F.tryCreatePlot();if(!R)return s(F);F.traces={},F.make4thDimension();var z=F.graphDiv,D=z.layout,k=function(){var O={};return F.isCameraChanged(D)&&(O[F.id+".camera"]=F.getCamera()),F.isAspectChanged(D)&&(O[F.id+".aspectratio"]=F.glplot.getAspectratio(),D[F.id].aspectmode!=="manual"&&(F.fullSceneLayout.aspectmode=D[F.id].aspectmode=O[F.id+".aspectmode"]="manual")),O},B=function(O){if(O.fullSceneLayout.dragmode!==!1){var q=k();O.saveLayout(D),O.graphDiv.emit("plotly_relayout",q)}};return F.glplot.canvas&&(F.glplot.canvas.addEventListener("mouseup",function(){B(F)}),F.glplot.canvas.addEventListener("touchstart",function(){M=!0}),F.glplot.canvas.addEventListener("wheel",function(O){if(z._context._scrollZoom.gl3d){if(F.camera._ortho){var q=O.deltaX>O.deltaY?1.1:.9090909090909091,Y=F.glplot.getAspectratio();F.glplot.setAspectratio({x:q*Y.x,y:q*Y.y,z:q*Y.z})}B(F)}},l?{passive:!1}:!1),F.glplot.canvas.addEventListener("mousemove",function(){if(F.fullSceneLayout.dragmode!==!1&&F.camera.mouseListener.buttons!==0){var O=k();F.graphDiv.emit("plotly_relayouting",O)}}),F.staticMode||F.glplot.canvas.addEventListener("webglcontextlost",function(O){z&&z.emit&&z.emit("plotly_webglcontextlost",{event:O,layer:F.id})},!1)),F.glplot.oncontextloss=function(){F.recoverContext()},F.glplot.onrender=function(){F.render()},!0},E.render=function(){var F=this,R=F.graphDiv,z,D=F.svgContainer,k=F.container.getBoundingClientRect();R._fullLayout._calcInverseTransform(R);var B=R._fullLayout._invScaleX,O=R._fullLayout._invScaleY,q=k.width*B,Y=k.height*O;D.setAttributeNS(null,"viewBox","0 0 "+q+" "+Y),D.setAttributeNS(null,"width",q),D.setAttributeNS(null,"height",Y),d(F),F.glplot.axes.update(F.axesOptions);for(var ee=Object.keys(F.traces),te=null,ae=F.glplot.selection,U=0;U")):z.type==="isosurface"||z.type==="volume"?(X.valueLabel=r.hoverLabelText(F._mockAxis,F._mockAxis.d2l(ae.traceCoordinate[3]),z.valuehoverformat),me.push("value: "+X.valueLabel),ae.textLabel&&me.push(ae.textLabel),ce=me.join("
")):ce=ae.textLabel;var ye={x:ae.traceCoordinate[0],y:ae.traceCoordinate[1],z:ae.traceCoordinate[2],data:V._input,fullData:V,curveNumber:V.index,pointNumber:$};n.appendArrayPointValue(ye,V,$),z._module.eventData&&(ye=V._module.eventData(ye,ae,V,{},$));var Ae={points:[ye]};if(F.fullSceneLayout.hovermode){var Se=[];n.loneHover({trace:V,x:(.5+.5*K[0]/K[3])*q,y:(.5-.5*K[1]/K[3])*Y,xLabel:X.xLabel,yLabel:X.yLabel,zLabel:X.zLabel,text:ce,name:te.name,color:n.castHoverOption(V,$,"bgcolor")||te.color,borderColor:n.castHoverOption(V,$,"bordercolor"),fontFamily:n.castHoverOption(V,$,"font.family"),fontSize:n.castHoverOption(V,$,"font.size"),fontColor:n.castHoverOption(V,$,"font.color"),nameLength:n.castHoverOption(V,$,"namelength"),textAlign:n.castHoverOption(V,$,"align"),hovertemplate:t.castOption(V,$,"hovertemplate"),hovertemplateLabels:t.extendFlat({},ye,X),eventData:[ye]},{container:D,gd:R,inOut_bbox:Se}),ye.bbox=Se[0]}ae.distance<5&&(ae.buttons||M)?R.emit("plotly_click",Ae):R.emit("plotly_hover",Ae),this.oldEventData=Ae}else n.loneUnhover(D),this.oldEventData&&R.emit("plotly_unhover",this.oldEventData),this.oldEventData=void 0;F.drawAnnotations(F)},E.recoverContext=function(){var F=this;F.glplot.dispose();var R=function(){if(F.glplot.gl.isContextLost()){requestAnimationFrame(R);return}if(!F.initializeGLPlot()){t.error("Catastrophic and unrecoverable WebGL error. Context lost.");return}F.plot.apply(F,F.plotArgs)};requestAnimationFrame(R)};var A=["xaxis","yaxis","zaxis"];function m(F,R,z){for(var D=F.fullSceneLayout,k=0;k<3;k++){var B=A[k],O=B.charAt(0),q=D[B],Y=R[O],ee=R[O+"calendar"],te=R["_"+O+"length"];if(!t.isArrayOrTypedArray(Y))z[0][k]=Math.min(z[0][k],0),z[1][k]=Math.max(z[1][k],te-1);else for(var ae,U=0;U<(te||Y.length);U++)if(t.isArrayOrTypedArray(Y[U]))for(var H=0;HV[1][O])V[0][O]=-1,V[1][O]=1;else{var qe=V[1][O]-V[0][O];V[0][O]-=qe/32,V[1][O]+=qe/32}if(Z=[V[0][O],V[1][O]],Z=y(Z,Y),V[0][O]=Z[0],V[1][O]=Z[1],Y.isReversed()){var Ue=V[0][O];V[0][O]=V[1][O],V[1][O]=Ue}}else Z=Y.range,V[0][O]=Y.r2l(Z[0]),V[1][O]=Y.r2l(Z[1]);V[0][O]===V[1][O]&&(V[0][O]-=1,V[1][O]+=1),$[O]=V[1][O]-V[0][O],Y.range=[V[0][O],V[1][O]],Y.limitRange(),D.glplot.setBounds(O,{min:Y.range[0]*H[O],max:Y.range[1]*H[O]})}var xe,he=te.aspectmode;if(he==="cube")xe=[1,1,1];else if(he==="manual"){var oe=te.aspectratio;xe=[oe.x,oe.y,oe.z]}else if(he==="auto"||he==="data"){var le=[1,1,1];for(O=0;O<3;++O){Y=te[A[O]],ee=Y.type;var ne=X[ee];le[O]=Math.pow(ne.acc,1/ne.count)/H[O]}he==="data"||Math.max.apply(null,le)/Math.min.apply(null,le)<=4?xe=le:xe=[1,1,1]}else throw new Error("scene.js aspectRatio was not one of the enumerated types");te.aspectratio.x=ae.aspectratio.x=xe[0],te.aspectratio.y=ae.aspectratio.y=xe[1],te.aspectratio.z=ae.aspectratio.z=xe[2],D.glplot.setAspectratio(te.aspectratio),D.viewInitial.aspectratio||(D.viewInitial.aspectratio={x:te.aspectratio.x,y:te.aspectratio.y,z:te.aspectratio.z}),D.viewInitial.aspectmode||(D.viewInitial.aspectmode=te.aspectmode);var be=te.domain||null,Fe=R._size||null;if(be&&Fe){var Ve=D.container.style;Ve.position="absolute",Ve.left=Fe.l+be.x[0]*Fe.w+"px",Ve.top=Fe.t+(1-be.y[1])*Fe.h+"px",Ve.width=Fe.w*(be.x[1]-be.x[0])+"px",Ve.height=Fe.h*(be.y[1]-be.y[0])+"px"}D.glplot.redraw()}},E.destroy=function(){var F=this;F.glplot&&(F.camera.mouseListener.enabled=!1,F.container.removeEventListener("wheel",F.camera.wheelListener),F.camera=null,F.glplot.dispose(),F.container.parentNode.removeChild(F.container),F.glplot=null)};function b(F){return[[F.eye.x,F.eye.y,F.eye.z],[F.center.x,F.center.y,F.center.z],[F.up.x,F.up.y,F.up.z]]}function _(F){return{up:{x:F.up[0],y:F.up[1],z:F.up[2]},center:{x:F.center[0],y:F.center[1],z:F.center[2]},eye:{x:F.eye[0],y:F.eye[1],z:F.eye[2]},projection:{type:F._ortho===!0?"orthographic":"perspective"}}}E.getCamera=function(){var F=this;return F.camera.view.recalcMatrix(F.camera.view.lastT()),_(F.camera)},E.setViewport=function(F){var R=this,z=F.camera;R.camera.lookAt.apply(this,b(z)),R.glplot.setAspectratio(F.aspectratio);var D=z.projection.type==="orthographic",k=R.camera._ortho;D!==k&&(R.glplot.redraw(),R.glplot.clearRGBA(),R.glplot.dispose(),R.initializeGLPlot())},E.isCameraChanged=function(F){var R=this,z=R.getCamera(),D=t.nestedProperty(F,R.id+".camera"),k=D.get();function B(ee,te,ae,U){var H=["up","center","eye"],K=["x","y","z"];return te[H[ae]]&&ee[H[ae]][K[U]]===te[H[ae]][K[U]]}var O=!1;if(k===void 0)O=!0;else{for(var q=0;q<3;q++)for(var Y=0;Y<3;Y++)if(!B(z,k,q,Y)){O=!0;break}(!k.projection||z.projection&&z.projection.type!==k.projection.type)&&(O=!0)}return O},E.isAspectChanged=function(F){var R=this,z=R.glplot.getAspectratio(),D=t.nestedProperty(F,R.id+".aspectratio"),k=D.get();return k===void 0||k.x!==z.x||k.y!==z.y||k.z!==z.z},E.saveLayout=function(F){var R=this,z=R.fullLayout,D,k,B,O,q,Y,ee=R.isCameraChanged(F),te=R.isAspectChanged(F),ae=ee||te;if(ae){var U={};if(ee&&(D=R.getCamera(),k=t.nestedProperty(F,R.id+".camera"),B=k.get(),U[R.id+".camera"]=B),te&&(O=R.glplot.getAspectratio(),q=t.nestedProperty(F,R.id+".aspectratio"),Y=q.get(),U[R.id+".aspectratio"]=Y),e.call("_storeDirectGUIEdit",F,z._preGUI,U),ee){k.set(D);var H=t.nestedProperty(z,R.id+".camera");H.set(D)}if(te){q.set(O);var K=t.nestedProperty(z,R.id+".aspectratio");K.set(O),R.glplot.redraw()}}return ae},E.updateFx=function(F,R){var z=this,D=z.camera;if(D)if(F==="orbit")D.mode="orbit",D.keyBindingMode="rotate";else if(F==="turntable"){D.up=[0,0,1],D.mode="turntable",D.keyBindingMode="rotate";var k=z.graphDiv,B=k._fullLayout,O=z.fullSceneLayout.camera,q=O.up.x,Y=O.up.y,ee=O.up.z;if(ee/Math.sqrt(q*q+Y*Y+ee*ee)<.999){var te=z.id+".camera.up",ae={x:0,y:0,z:1},U={};U[te]=ae;var H=k.layout;e.call("_storeDirectGUIEdit",H,B._preGUI,U),O.up=ae,t.nestedProperty(H,te).set(ae)}}else D.keyBindingMode=F;z.fullSceneLayout.hovermode=R};function I(F,R,z){for(var D=0,k=z-1;D0)for(var q=255/O,Y=0;Y<3;++Y)F[B+Y]=Math.min(q*F[B+Y],255)}}E.toImage=function(F){var R=this;F||(F="png"),R.staticMode&&R.container.appendChild(o),R.glplot.redraw();var z=R.glplot.gl,D=z.drawingBufferWidth,k=z.drawingBufferHeight;z.bindFramebuffer(z.FRAMEBUFFER,null);var B=new Uint8Array(D*k*4);z.readPixels(0,0,D,k,z.RGBA,z.UNSIGNED_BYTE,B),I(B,D,k),C(B,D,k);var O=document.createElement("canvas");O.width=D,O.height=k;var q=O.getContext("2d",{willReadFrequently:!0}),Y=q.createImageData(D,k);Y.data.set(B),q.putImageData(Y,0,0);var ee;switch(F){case"jpeg":ee=O.toDataURL("image/jpeg");break;case"webp":ee=O.toDataURL("image/webp");break;default:ee=O.toDataURL("image/png")}return R.staticMode&&R.container.removeChild(o),ee},E.setConvert=function(){for(var F=this,R=0;R<3;R++){var z=F.fullSceneLayout[A[R]];r.setConvert(z,F.fullLayout),z.setScale=t.noop}},E.make4thDimension=function(){var F=this,R=F.graphDiv,z=R._fullLayout;F._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},r.setConvert(F._mockAxis,z)},N.exports=T}}),NB=De({"src/plots/gl3d/layout/attributes.js"(j,N){"use strict";N.exports={scene:{valType:"subplotid",dflt:"scene",editType:"calc+clearAxisTypes"}}}}),aT=De({"src/plots/gl3d/layout/axis_attributes.js"(j,N){"use strict";var u=ii(),v=hf(),w=Ji().extendFlat,S=Ul().overrideAll;N.exports=S({visible:v.visible,showspikes:{valType:"boolean",dflt:!0},spikesides:{valType:"boolean",dflt:!0},spikethickness:{valType:"number",min:0,dflt:2},spikecolor:{valType:"color",dflt:u.defaultLine},showbackground:{valType:"boolean",dflt:!1},backgroundcolor:{valType:"color",dflt:"rgba(204, 204, 204, 0.5)"},showaxeslabels:{valType:"boolean",dflt:!0},color:v.color,categoryorder:v.categoryorder,categoryarray:v.categoryarray,title:{text:v.title.text,font:v.title.font},type:w({},v.type,{values:["-","linear","log","date","category"]}),autotypenumbers:v.autotypenumbers,autorange:v.autorange,autorangeoptions:{minallowed:v.autorangeoptions.minallowed,maxallowed:v.autorangeoptions.maxallowed,clipmin:v.autorangeoptions.clipmin,clipmax:v.autorangeoptions.clipmax,include:v.autorangeoptions.include,editType:"plot"},rangemode:v.rangemode,minallowed:v.minallowed,maxallowed:v.maxallowed,range:w({},v.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],anim:!1}),tickmode:v.minor.tickmode,nticks:v.nticks,tick0:v.tick0,dtick:v.dtick,tickvals:v.tickvals,ticktext:v.ticktext,ticks:v.ticks,mirror:v.mirror,ticklen:v.ticklen,tickwidth:v.tickwidth,tickcolor:v.tickcolor,showticklabels:v.showticklabels,labelalias:v.labelalias,tickfont:v.tickfont,tickangle:v.tickangle,tickprefix:v.tickprefix,showtickprefix:v.showtickprefix,ticksuffix:v.ticksuffix,showticksuffix:v.showticksuffix,showexponent:v.showexponent,exponentformat:v.exponentformat,minexponent:v.minexponent,separatethousands:v.separatethousands,tickformat:v.tickformat,tickformatstops:v.tickformatstops,hoverformat:v.hoverformat,showline:v.showline,linecolor:v.linecolor,linewidth:v.linewidth,showgrid:v.showgrid,gridcolor:w({},v.gridcolor,{dflt:"rgb(204, 204, 204)"}),gridwidth:v.gridwidth,zeroline:v.zeroline,zerolinecolor:v.zerolinecolor,zerolinewidth:v.zerolinewidth},"plot","from-root")}}),nT=De({"src/plots/gl3d/layout/layout_attributes.js"(j,N){"use strict";var u=aT(),v=ql().attributes,w=Ji().extendFlat,S=Ar().counterRegex;function l(e,t,a){return{x:{valType:"number",dflt:e,editType:"camera"},y:{valType:"number",dflt:t,editType:"camera"},z:{valType:"number",dflt:a,editType:"camera"},editType:"camera"}}N.exports={_arrayAttrRegexps:[S("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:w(l(0,0,1),{}),center:w(l(0,0,0),{}),eye:w(l(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:v({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:u,yaxis:u,zaxis:u,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"}}}),jB=De({"src/plots/gl3d/layout/axis_defaults.js"(j,N){"use strict";var u=ii(),v=Ar(),w=ws(),S=aT(),l=fw(),e=I1(),t=["xaxis","yaxis","zaxis"],a=100*136/187;N.exports=function(n,i,s){var c,p;function f(o,x){return v.coerce(c,p,S,o,x)}for(var d=0;d1;function f(d){if(!p){var y=u.validate(i[d],e[d]);if(y)return i[d]}}S(i,s,c,{type:a,attributes:e,handleDefaults:r,fullLayout:s,font:s.font,fullData:c,getDfltFromLayout:f,autotypenumbersDflt:s.autotypenumbers,paper_bgcolor:s.paper_bgcolor,calendar:s.calendar})};function r(n,i,s,c){for(var p=s("bgcolor"),f=v.combine(p,c.paper_bgcolor),d=["up","center","eye"],y=0;y.999)&&(E="turntable")}else E="turntable";s("dragmode",E),s("hovermode",c.getDfltFromLayout("hovermode"))}}}),np=De({"src/plots/gl3d/index.js"(j){"use strict";var N=Ul().overrideAll,u=Ov(),v=OB(),w=Bf().getSubplotData,S=Ar(),l=Kh(),e="gl3d",t="scene";j.name=e,j.attr=t,j.idRoot=t,j.idRegex=j.attrRegex=S.counterRegex("scene"),j.attributes=NB(),j.layoutAttributes=nT(),j.baseLayoutAttrOverrides=N({hoverlabel:u.hoverlabel},"plot","nested"),j.supplyLayoutDefaults=UB(),j.plot=function(r){for(var n=r._fullLayout,i=r._fullData,s=n._subplots[e],c=0;c0){I=c[C];break}return I}function y(b,_){if(!(b<1||_<1)){for(var I=f(b),C=f(_),F=1,R=0;RT;)C--,C/=d(C),C++,C1?F:1};function E(b,_,I){var C=I[8]+I[2]*_[0]+I[5]*_[1];return b[0]=(I[6]+I[0]*_[0]+I[3]*_[1])/C,b[1]=(I[7]+I[1]*_[0]+I[4]*_[1])/C,b}function g(b,_,I){return A(b,_,E,I),b}function A(b,_,I,C){for(var F=[0,0],R=b.shape[0],z=b.shape[1],D=0;D0&&this.contourStart[C]!==null&&this.contourEnd[C]!==null&&this.contourEnd[C]>this.contourStart[C]))for(_[C]=!0,F=this.contourStart[C];FY&&(this.minValues[B]=Y),this.maxValues[B]c&&(a.isomin=null,a.isomax=null);var p=i("x"),f=i("y"),d=i("z"),y=i("value");if(!p||!p.length||!f||!f.length||!d||!d.length||!y||!y.length){a.visible=!1;return}var o=v.getComponentMethod("calendars","handleTraceDefaults");o(t,a,["x","y","z"],n),i("valuehoverformat"),["x","y","z"].forEach(function(E){i(E+"hoverformat");var g="caps."+E,A=i(g+".show");A&&i(g+".fill");var m="slices."+E,h=i(m+".show");h&&(i(m+".fill"),i(m+".locations"))});var x=i("spaceframe.show");x&&i("spaceframe.fill");var M=i("surface.show");M&&(i("surface.count"),i("surface.fill"),i("surface.pattern"));var T=i("contour.show");T&&(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(E){i(E)}),S(t,a,n,i,{prefix:"",cLetter:"c"}),a._length=null}N.exports={supplyDefaults:l,supplyIsoDefaults:e}}}),Ib=De({"src/traces/streamtube/calc.js"(j,N){"use strict";var u=Ar(),v=Wf();function w(t,a){a._len=Math.min(a.u.length,a.v.length,a.w.length,a.x.length,a.y.length,a.z.length),a._u=e(a.u,a._len),a._v=e(a.v,a._len),a._w=e(a.w,a._len),a._x=e(a.x,a._len),a._y=e(a.y,a._len),a._z=e(a.z,a._len);var r=S(a);a._gridFill=r.fill,a._Xs=r.Xs,a._Ys=r.Ys,a._Zs=r.Zs,a._len=r.len;var n=0,i,s,c;a.starts&&(i=e(a.starts.x||[]),s=e(a.starts.y||[]),c=e(a.starts.z||[]),n=Math.min(i.length,s.length,c.length)),a._startsX=i||[],a._startsY=s||[],a._startsZ=c||[];var p=0,f=1/0,d;for(d=0;d1&&(h=a[i-1],_=r[i-1],C=n[i-1]),s=0;sh?"-":"+")+"x"),T=T.replace("y",(b>_?"-":"+")+"y"),T=T.replace("z",(I>C?"-":"+")+"z");var D=function(){i=0,F=[],R=[],z=[]};(!i||i0;f--){var d=Math.min(p[f],p[f-1]),y=Math.max(p[f],p[f-1]);if(y>d&&d-1}function Q(nt,Ee){return nt===null?Ee:nt}function re(nt,Ee,ze){ee();var ve=[Ee],_e=[ze];if(V>=1)ve=[Ee],_e=[ze];else if(V>0){var Ie=X(Ee,ze);ve=Ie.xyzv,_e=Ie.abc}for(var Be=0;Be-1?ze[Xe]:Y(mt,ft,ht);_t>-1?We[Xe]=_t:We[Xe]=ae(mt,ft,ht,Q(nt,gt))}U(We[0],We[1],We[2])}}function ce(nt,Ee,ze){var ve=function(_e,Ie,Be){re(nt,[Ee[_e],Ee[Ie],Ee[Be]],[ze[_e],ze[Ie],ze[Be]])};ve(0,1,2),ve(2,3,0)}function me(nt,Ee,ze){var ve=function(_e,Ie,Be){re(nt,[Ee[_e],Ee[Ie],Ee[Be]],[ze[_e],ze[Ie],ze[Be]])};ve(0,1,2),ve(3,0,1),ve(2,3,0),ve(1,2,3)}function ye(nt,Ee,ze,ve){var _e=nt[3];_eve&&(_e=ve);for(var Ie=(nt[3]-_e)/(nt[3]-Ee[3]+1e-9),Be=[],We=0;We<4;We++)Be[We]=(1-Ie)*nt[We]+Ie*Ee[We];return Be}function Ae(nt,Ee,ze){return nt>=Ee&&nt<=ze}function Se(nt){var Ee=.001*(D-z);return nt>=z-Ee&&nt<=D+Ee}function Ce(nt){for(var Ee=[],ze=0;ze<4;ze++){var ve=nt[ze];Ee.push([c._x[ve],c._y[ve],c._z[ve],c._value[ve]])}return Ee}var qe=3;function Ue(nt,Ee,ze,ve,_e,Ie){Ie||(Ie=1),ze=[-1,-1,-1];var Be=!1,We=[Ae(Ee[0][3],ve,_e),Ae(Ee[1][3],ve,_e),Ae(Ee[2][3],ve,_e)];if(!We[0]&&!We[1]&&!We[2])return!1;var Xe=function(ft,ht,gt){return Se(ht[0][3])&&Se(ht[1][3])&&Se(ht[2][3])?(re(ft,ht,gt),!0):IeWe?[F,Ie]:[Ie,R];yt(Ee,Xe[0],Xe[1])}}var mt=[[Math.min(z,R),Math.max(z,R)],[Math.min(F,D),Math.max(F,D)]];["x","y","z"].forEach(function(ft){for(var ht=[],gt=0;gt0&&(ra.push(oa.id),ft==="x"?$r.push([oa.distRatio,0,0]):ft==="y"?$r.push([0,oa.distRatio,0]):$r.push([0,0,oa.distRatio]))}else ft==="x"?jr=vr(1,h-1):ft==="y"?jr=vr(1,b-1):jr=vr(1,_-1);ra.length>0&&(ft==="x"?ht[_t]=At(nt,ra,Ft,St,$r,ht[_t]):ft==="y"?ht[_t]=Pt(nt,ra,Ft,St,$r,ht[_t]):ht[_t]=Zt(nt,ra,Ft,St,$r,ht[_t]),_t++),jr.length>0&&(ft==="x"?ht[_t]=Fe(nt,jr,Ft,St,ht[_t]):ft==="y"?ht[_t]=Ve(nt,jr,Ft,St,ht[_t]):ht[_t]=je(nt,jr,Ft,St,ht[_t]),_t++)}var aa=c.caps[ft];aa.show&&aa.fill&&($(aa.fill),ft==="x"?ht[_t]=Fe(nt,[0,h-1],Ft,St,ht[_t]):ft==="y"?ht[_t]=Ve(nt,[0,b-1],Ft,St,ht[_t]):ht[_t]=je(nt,[0,_-1],Ft,St,ht[_t]),_t++)}}),M===0&&te(),c._meshX=k,c._meshY=B,c._meshZ=O,c._meshIntensity=q,c._Xs=g,c._Ys=A,c._Zs=m}return Kt(),c}function s(c,p){var f=c.glplot.gl,d=u({gl:f}),y=new a(c,d,p.uid);return d._trace=y,y.update(p),c.glplot.add(d),y}N.exports={findNearestOnAxis:t,generateIsoMeshes:i,createIsosurfaceTrace:s}}}),XB=De({"src/traces/isosurface/index.js"(j,N){"use strict";N.exports={attributes:Rb(),supplyDefaults:oT().supplyDefaults,calc:sT(),colorbar:{min:"cmin",max:"cmax"},plot:Db().createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:np(),categories:["gl3d","showLegend"],meta:{}}}}),ZB=De({"lib/isosurface.js"(j,N){"use strict";N.exports=XB()}}),lT=De({"src/traces/volume/attributes.js"(j,N){"use strict";var u=ul(),v=Rb(),w=vg(),S=Bs(),l=Ji().extendFlat,e=Ul().overrideAll,t=N.exports=e(l({x:v.x,y:v.y,z:v.z,value:v.value,isomin:v.isomin,isomax:v.isomax,surface:v.surface,spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:1}},slices:v.slices,caps:v.caps,text:v.text,hovertext:v.hovertext,xhoverformat:v.xhoverformat,yhoverformat:v.yhoverformat,zhoverformat:v.zhoverformat,valuehoverformat:v.valuehoverformat,hovertemplate:v.hovertemplate,hovertemplatefallback:v.hovertemplatefallback},u("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{colorbar:v.colorbar,opacity:v.opacity,opacityscale:w.opacityscale,lightposition:v.lightposition,lighting:v.lighting,flatshading:v.flatshading,contour:v.contour,hoverinfo:l({},S.hoverinfo),showlegend:l({},S.showlegend,{dflt:!1})}),"calc","nested");t.x.editType=t.y.editType=t.z.editType=t.value.editType="calc+clearAxisTypes"}}),$B=De({"src/traces/volume/defaults.js"(j,N){"use strict";var u=Ar(),v=lT(),w=oT().supplyIsoDefaults,S=iT().opacityscaleDefaults;N.exports=function(e,t,a,r){function n(i,s){return u.coerce(e,t,v,i,s)}w(e,t,a,r,n),S(e,t,r,n)}}}),KB=De({"src/traces/volume/convert.js"(j,N){"use strict";var u=pf().gl_mesh3d,v=rv().parseColorScale,w=Ar().isArrayOrTypedArray,S=tv(),l=Dl().extractOpts,e=zm(),t=Db().findNearestOnAxis,a=Db().generateIsoMeshes;function r(s,c,p){this.scene=s,this.uid=p,this.mesh=c,this.name="",this.data=null,this.showContour=!1}var n=r.prototype;n.handlePick=function(s){if(s.object===this.mesh){var c=s.data.index,p=this.data._meshX[c],f=this.data._meshY[c],d=this.data._meshZ[c],y=this.data._Ys.length,o=this.data._Zs.length,x=t(p,this.data._Xs).id,M=t(f,this.data._Ys).id,T=t(d,this.data._Zs).id,E=s.index=T+o*M+o*y*x;s.traceCoordinate=[this.data._meshX[E],this.data._meshY[E],this.data._meshZ[E],this.data._value[E]];var g=this.data.hovertext||this.data.text;return w(g)&&g[E]!==void 0?s.textLabel=g[E]:g&&(s.textLabel=g),!0}},n.update=function(s){var c=this.scene,p=c.fullSceneLayout;this.data=a(s);function f(M,T,E,g){return T.map(function(A){return M.d2l(A,0,g)*E})}var d=e(f(p.xaxis,s._meshX,c.dataScale[0],s.xcalendar),f(p.yaxis,s._meshY,c.dataScale[1],s.ycalendar),f(p.zaxis,s._meshZ,c.dataScale[2],s.zcalendar)),y=e(s._meshI,s._meshJ,s._meshK),o={positions:d,cells:y,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:S(s.contour.color).slice(0,3),contourWidth:s.contour.width,useFacetNormals:s.flatshading},x=l(s);o.vertexIntensity=s._meshIntensity,o.vertexIntensityBounds=[x.min,x.max],o.colormap=v(s),this.mesh.update(o)},n.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function i(s,c){var p=s.glplot.gl,f=u({gl:p}),d=new r(s,f,c.uid);return f._trace=d,d.update(c),s.glplot.add(f),d}N.exports=i}}),JB=De({"src/traces/volume/index.js"(j,N){"use strict";N.exports={attributes:lT(),supplyDefaults:$B(),calc:sT(),colorbar:{min:"cmin",max:"cmax"},plot:KB(),moduleType:"trace",name:"volume",basePlotModule:np(),categories:["gl3d","showLegend"],meta:{}}}}),QB=De({"lib/volume.js"(j,N){"use strict";N.exports=JB()}}),eO=De({"src/traces/mesh3d/defaults.js"(j,N){"use strict";var u=hi(),v=Ar(),w=Wc(),S=Fm();N.exports=function(e,t,a,r){function n(f,d){return v.coerce(e,t,S,f,d)}function i(f){var d=f.map(function(y){var o=n(y);return o&&v.isArrayOrTypedArray(o)?o:null});return d.every(function(y){return y&&y.length===d[0].length})&&d}var s=i(["x","y","z"]);if(!s){t.visible=!1;return}if(i(["i","j","k"]),t.i&&(!t.j||!t.k)||t.j&&(!t.k||!t.i)||t.k&&(!t.i||!t.j)){t.visible=!1;return}var c=u.getComponentMethod("calendars","handleTraceDefaults");c(e,t,["x","y","z"],r),["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(f){n(f)});var p=n("contour.show");p&&(n("contour.color"),n("contour.width")),"intensity"in e?(n("intensity"),n("intensitymode"),w(e,t,r,n,{prefix:"",cLetter:"c"})):(t.showscale=!1,"facecolor"in e?n("facecolor"):"vertexcolor"in e?n("vertexcolor"):n("color",a)),n("text"),n("hovertext"),n("hovertemplate"),n("hovertemplatefallback"),n("xhoverformat"),n("yhoverformat"),n("zhoverformat"),t._length=null}}}),tO=De({"src/traces/mesh3d/calc.js"(j,N){"use strict";var u=Wf();N.exports=function(w,S){S.intensity&&u(w,S,{vals:S.intensity,containerStr:"",cLetter:"c"})}}}),rO=De({"src/traces/mesh3d/convert.js"(j,N){"use strict";var u=pf().gl_mesh3d,v=pf().delaunay_triangulate,w=pf().alpha_shape,S=pf().convex_hull,l=rv().parseColorScale,e=Ar().isArrayOrTypedArray,t=tv(),a=Dl().extractOpts,r=zm();function n(o,x,M){this.scene=o,this.uid=M,this.mesh=x,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var i=n.prototype;i.handlePick=function(o){if(o.object===this.mesh){var x=o.index=o.data.index;o.data._cellCenter?o.traceCoordinate=o.data.dataCoordinate:o.traceCoordinate=[this.data.x[x],this.data.y[x],this.data.z[x]];var M=this.data.hovertext||this.data.text;return e(M)&&M[x]!==void 0?o.textLabel=M[x]:M&&(o.textLabel=M),!0}};function s(o){for(var x=[],M=o.length,T=0;T=x-.5)return!1;return!0}i.update=function(o){var x=this.scene,M=x.fullSceneLayout;this.data=o;var T=o.x.length,E=r(c(M.xaxis,o.x,x.dataScale[0],o.xcalendar),c(M.yaxis,o.y,x.dataScale[1],o.ycalendar),c(M.zaxis,o.z,x.dataScale[2],o.zcalendar)),g;if(o.i&&o.j&&o.k){if(o.i.length!==o.j.length||o.j.length!==o.k.length||!d(o.i,T)||!d(o.j,T)||!d(o.k,T))return;g=r(p(o.i),p(o.j),p(o.k))}else o.alphahull===0?g=S(E):o.alphahull>0?g=w(o.alphahull,E):g=f(o.delaunayaxis,E);var A={positions:E,cells:g,lightPosition:[o.lightposition.x,o.lightposition.y,o.lightposition.z],ambient:o.lighting.ambient,diffuse:o.lighting.diffuse,specular:o.lighting.specular,roughness:o.lighting.roughness,fresnel:o.lighting.fresnel,vertexNormalsEpsilon:o.lighting.vertexnormalsepsilon,faceNormalsEpsilon:o.lighting.facenormalsepsilon,opacity:o.opacity,contourEnable:o.contour.show,contourColor:t(o.contour.color).slice(0,3),contourWidth:o.contour.width,useFacetNormals:o.flatshading};if(o.intensity){var m=a(o);this.color="#fff";var h=o.intensitymode;A[h+"Intensity"]=o.intensity,A[h+"IntensityBounds"]=[m.min,m.max],A.colormap=l(o)}else o.vertexcolor?(this.color=o.vertexcolor[0],A.vertexColors=s(o.vertexcolor)):o.facecolor?(this.color=o.facecolor[0],A.cellColors=s(o.facecolor)):(this.color=o.color,A.meshColor=t(o.color));this.mesh.update(A)},i.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function y(o,x){var M=o.glplot.gl,T=u({gl:M}),E=new n(o,T,x.uid);return T._trace=E,E.update(x),o.glplot.add(T),E}N.exports=y}}),aO=De({"src/traces/mesh3d/index.js"(j,N){"use strict";N.exports={attributes:Fm(),supplyDefaults:eO(),calc:tO(),colorbar:{min:"cmin",max:"cmax"},plot:rO(),moduleType:"trace",name:"mesh3d",basePlotModule:np(),categories:["gl3d","showLegend"],meta:{}}}}),nO=De({"lib/mesh3d.js"(j,N){"use strict";N.exports=aO()}}),uT=De({"src/traces/cone/attributes.js"(j,N){"use strict";var u=ul(),v=Zl().axisHoverFormat,{hovertemplateAttrs:w,templatefallbackAttrs:S}=Is(),l=Fm(),e=Bs(),t=Ji().extendFlat,a={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:w({editType:"calc"},{keys:["norm"]}),hovertemplatefallback:S({editType:"calc"}),uhoverformat:v("u",1),vhoverformat:v("v",1),whoverformat:v("w",1),xhoverformat:v("x"),yhoverformat:v("y"),zhoverformat:v("z"),showlegend:t({},e.showlegend,{dflt:!1})};t(a,u("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));var r=["opacity","lightposition","lighting"];r.forEach(function(n){a[n]=l[n]}),a.hoverinfo=t({},e.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"}),N.exports=a}}),iO=De({"src/traces/cone/defaults.js"(j,N){"use strict";var u=Ar(),v=Wc(),w=uT();N.exports=function(l,e,t,a){function r(y,o){return u.coerce(l,e,w,y,o)}var n=r("u"),i=r("v"),s=r("w"),c=r("x"),p=r("y"),f=r("z");if(!n||!n.length||!i||!i.length||!s||!s.length||!c||!c.length||!p||!p.length||!f||!f.length){e.visible=!1;return}var d=r("sizemode");r("sizeref",d==="raw"?1:.5),r("anchor"),r("lighting.ambient"),r("lighting.diffuse"),r("lighting.specular"),r("lighting.roughness"),r("lighting.fresnel"),r("lightposition.x"),r("lightposition.y"),r("lightposition.z"),v(l,e,a,r,{prefix:"",cLetter:"c"}),r("text"),r("hovertext"),r("hovertemplate"),r("hovertemplatefallback"),r("uhoverformat"),r("vhoverformat"),r("whoverformat"),r("xhoverformat"),r("yhoverformat"),r("zhoverformat"),e._length=null}}}),oO=De({"src/traces/cone/calc.js"(j,N){"use strict";var u=Wf();N.exports=function(w,S){for(var l=S.u,e=S.v,t=S.w,a=Math.min(S.x.length,S.y.length,S.z.length,l.length,e.length,t.length),r=-1/0,n=1/0,i=0;i2?d=p.slice(1,f-1):f===2?d=[(p[0]+p[1])/2]:d=p,d}function i(p){var f=p.length;return f===1?[.5,.5]:[p[1]-p[0],p[f-1]-p[f-2]]}function s(p,f){var d=p.fullSceneLayout,y=p.dataScale,o=f._len,x={};function M(ae,U){var H=d[U],K=y[t[U]];return w.simpleMap(ae,function(V){return H.d2l(V)*K})}if(x.vectors=e(M(f._u,"xaxis"),M(f._v,"yaxis"),M(f._w,"zaxis"),o),!o)return{positions:[],cells:[]};var T=M(f._Xs,"xaxis"),E=M(f._Ys,"yaxis"),g=M(f._Zs,"zaxis");x.meshgrid=[T,E,g],x.gridFill=f._gridFill;var A=f._slen;if(A)x.startingPositions=e(M(f._startsX,"xaxis"),M(f._startsY,"yaxis"),M(f._startsZ,"zaxis"));else{for(var m=E[0],h=n(T),b=n(g),_=new Array(h.length*b.length),I=0,C=0;Cm&&(m=I[0]),I[1]h&&(h=I[1])}function _(I){switch(I.type){case"GeometryCollection":I.geometries.forEach(_);break;case"Point":b(I.coordinates);break;case"MultiPoint":I.coordinates.forEach(b);break}}M.arcs.forEach(function(I){for(var C=-1,F=I.length,R;++Cm&&(m=R[0]),R[1]h&&(h=R[1])});for(E in M.objects)_(M.objects[E]);return[g,A,m,h]}function l(M,T){for(var E,g=M.length,A=g-T;A<--g;)E=M[A],M[A++]=M[g],M[g]=E}function e(M,T){return typeof T=="string"&&(T=M.objects[T]),T.type==="GeometryCollection"?{type:"FeatureCollection",features:T.geometries.map(function(E){return t(M,E)})}:t(M,T)}function t(M,T){var E=T.id,g=T.bbox,A=T.properties==null?{}:T.properties,m=a(M,T);return E==null&&g==null?{type:"Feature",properties:A,geometry:m}:g==null?{type:"Feature",id:E,properties:A,geometry:m}:{type:"Feature",id:E,bbox:g,properties:A,geometry:m}}function a(M,T){var E=w(M.transform),g=M.arcs;function A(C,F){F.length&&F.pop();for(var R=g[C<0?~C:C],z=0,D=R.length;z1)g=s(M,T,E);else for(A=0,g=new Array(m=M.arcs.length);A1)for(var F=1,R=b(I[0]),z,D;FR&&(D=I[0],I[0]=I[F],I[F]=D,R=z);return I}).filter(function(_){return _.length>0})}}function d(M,T){for(var E=0,g=M.length;E>>1;M[A]=2))throw new Error("n must be \u22652");_=M.bbox||S(M);var E=_[0],g=_[1],A=_[2],m=_[3],h;T={scale:[A-E?(A-E)/(h-1):1,m-g?(m-g)/(h-1):1],translate:[E,g]}}else _=M.bbox;var b=o(T),_,I,C=M.objects,F={};function R(k){return b(k)}function z(k){var B;switch(k.type){case"GeometryCollection":B={type:"GeometryCollection",geometries:k.geometries.map(z)};break;case"Point":B={type:"Point",coordinates:R(k.coordinates)};break;case"MultiPoint":B={type:"MultiPoint",coordinates:k.coordinates.map(R)};break;default:return k}return k.id!=null&&(B.id=k.id),k.bbox!=null&&(B.bbox=k.bbox),k.properties!=null&&(B.properties=k.properties),B}function D(k){var B=0,O=1,q=k.length,Y,ee=new Array(q);for(ee[0]=b(k[0],0);++B0&&(S.push(l),l=[])}return l.length>0&&S.push(l),S},j.makeLine=function(u){return u.length===1?{type:"LineString",coordinates:u[0]}:{type:"MultiLineString",coordinates:u}},j.makePolygon=function(u){if(u.length===1)return{type:"Polygon",coordinates:u};for(var v=new Array(u.length),w=0;w{for(var M in x)u(o,M,{get:x[M],enumerable:!0})},e=(o,x,M,T)=>{if(x&&typeof x=="object"||typeof x=="function")for(let E of w(x))!S.call(o,E)&&E!==M&&u(o,E,{get:()=>x[E],enumerable:!(T=v(x,E))||T.enumerable});return o},t=o=>e(u({},"__esModule",{value:!0}),o),a={};l(a,{COUNTRIES:()=>r,byAlpha2:()=>d,byAlpha3:()=>f,byM49:()=>y,createLookup:()=>i,lookup:()=>c,lookupAlpha3:()=>p,sanitize:()=>n}),N.exports=t(a);var r=[{iso3:"ABW",iso2:"AW",m49:"533",name:"Aruba",aliases:["\u{1F1E6}\u{1F1FC}","country of aruba","land aruba","pais aruba"]},{iso3:"AFG",iso2:"AF",m49:"004",name:"Afghanistan",aliases:["\u{1F1E6}\u{1F1EB}","affghanistan","affghanisthan","affghaunistan","afghania","afghanisthan","afghaunistan","afghaunistaun","afgoniston","de afghanistan islami jumhuriyat","owganystan","\u0430\u0444\u0493\u043E\u043D\u0438\u0441\u0442\u043E\u043D","\u0623\u0641\u063A\u0627\u0646\u0633\u062A\u0627\u0646","\u0627\u0641\u063A\u0627\u0646\u0633\u062A\u0627\u0646","\u062F \u0627\u0641\u063A\u0627\u0646\u0633\u062A\u0627\u0646 \u0627\u0633\u0644\u0627\u0645\u06CC \u062C\u0645\u0647\u0648\u0631\u06CC\u062A"]},{iso3:"AGO",iso2:"AO",m49:"024",name:"Angola",aliases:["\u{1F1E6}\u{1F1F4}","republic of angola","republica de angola"]},{iso3:"AIA",iso2:"AI",m49:"660",name:"Anguilla",aliases:["\u{1F1E6}\u{1F1EE}","malliouhana"]},{iso3:"ALA",iso2:"AX",m49:"248",name:"\xC5land Islands",aliases:["\u{1F1E6}\u{1F1FD}","aaland","aaland islands","ahvenanmaa","aland","aland isles","aland region","alands lan","landskapet aland"]},{iso3:"ALB",iso2:"AL",m49:"008",name:"Albania",aliases:["\u{1F1E6}\u{1F1F1}","peoples republic of albania","peoples socialist republic of albania","republic of albania","republika e shqiperise","shqiperi","shqiperia","shqiperise","socialist republic of albania"]},{iso3:"AND",iso2:"AD",m49:"020",name:"Andorra",aliases:["\u{1F1E6}\u{1F1E9}","el pais dels pirineus","les valls dandorra","principality of andorra","principality of the valleys of andorra","principat dandorra","valls dandorra"]},{iso3:"ARE",iso2:"AE",m49:"784",name:"United Arab Emirates",aliases:["\u{1F1E6}\u{1F1EA}","emirates","uae","\u0627\u0644\u0625\u0645\u0627\u0631\u0627\u062A","\u0627\u0644\u0625\u0645\u0627\u0631\u0627\u062A \u0627\u0644\u0639\u0631\u0628\u064A\u0629 \u0627\u0644\u0645\u062A\u062D\u062F\u0629","\u0627\u0644\u0627\u0645\u0627\u0631\u0627\u062A","\u0627\u0644\u0627\u0645\u0627\u0631\u0627\u062A \u0627\u0644\u0639\u0631\u0628\u064A\u0629 \u0627\u0644\u0645\u062A\u062D\u062F\u0629","\u062F\u0648\u0644\u0629 \u0627\u0644\u0625\u0645\u0627\u0631\u0627\u062A \u0627\u0644\u0639\u0631\u0628\u064A\u0629 \u0627\u0644\u0645\u062A\u062D\u062F\u0629"]},{iso3:"ARG",iso2:"AR",m49:"032",name:"Argentina",aliases:["\u{1F1E6}\u{1F1F7}","argentine republic","nacion argentina","republic of argentina","republica argentina"]},{iso3:"ARM",iso2:"AM",m49:"051",name:"Armenia",aliases:["\u{1F1E6}\u{1F1F2}","hayastan","hayastani hanrapetutyun","republic of armenia","\u0570\u0561\u0575\u0561\u057D\u057F\u0561\u0576","\u0570\u0561\u0575\u0561\u057D\u057F\u0561\u0576\u056B \u0570\u0561\u0576\u0580\u0561\u057A\u0565\u057F\u0578\u0582\u0569\u0575\u0578\u0582\u0576","\u0570\u0561\u0575\u0584","\u0570\u0570"]},{iso3:"ASM",iso2:"AS",m49:"016",name:"American Samoa",aliases:["\u{1F1E6}\u{1F1F8}","amerika samoa","east samoa","samoa american","samoa united states","territory of american samoa","us samoa"]},{iso3:"ATA",iso2:"AQ",m49:"010",name:"Antarctica",aliases:["\u{1F1E6}\u{1F1F6}","antarctica treaty area"]},{iso3:"ATF",iso2:"TF",m49:"260",name:"French Southern Territories",aliases:["\u{1F1F9}\u{1F1EB}","taaf","terres australes et antarctiques francaises","terres australes francaises","terres australes francaises les","territoire des terres australes et antarctiques francaises"]},{iso3:"ATG",iso2:"AG",m49:"028",name:"Antigua and Barbuda",aliases:["\u{1F1E6}\u{1F1EC}","antigua","antigua barbuda","barbuda"]},{iso3:"AUS",iso2:"AU",m49:"036",name:"Australia",aliases:["\u{1F1E6}\u{1F1FA}","commonwealth of australia","new holland","new hollandia","nova hollandia"]},{iso3:"AUT",iso2:"AT",m49:"040",name:"Austria",aliases:["\u{1F1E6}\u{1F1F9}","osterreich","republic of austria","republik osterreich","zweite republik"]},{iso3:"AZE",iso2:"AZ",m49:"031",name:"Azerbaijan",aliases:["\u{1F1E6}\u{1F1FF}","az\u0259rbaycan","az\u0259rbaycan respublikas\u0131","republic of azerbaijan"]},{iso3:"BDI",iso2:"BI",m49:"108",name:"Burundi",aliases:["\u{1F1E7}\u{1F1EE}","gouvernement du burundi","la republique du burundi","republic of burundi","republika yu burundi","republika yuburundi","republique du burundi","repuburika yuburundi","uburundi"]},{iso3:"BEL",iso2:"BE",m49:"056",name:"Belgium",aliases:["\u{1F1E7}\u{1F1EA}","belg","belgie","belgien","belgique","kingdom of belgium","konigreich belgien","koninkrijk belgie","royaume de belgique"]},{iso3:"BEN",iso2:"BJ",m49:"204",name:"Benin",aliases:["\u{1F1E7}\u{1F1EF}","dahomey","la republique du benin","republic of benin","republique du benin"]},{iso3:"BES",iso2:"BQ",m49:"535",name:"Bonaire, Sint Eustatius and Saba",aliases:["\u{1F1E7}\u{1F1F6}","bes eilanden","bes islands","bijzondere gemeente","bonaire","bonaire saint eustatius and saba","bonaire sint eustatius en saba","caraibisch nederland","caribbean netherlands","caribisch nederland","hulanda karibense","islanan bes","netherlands antilles","saba","sint eustatius"]},{iso3:"BFA",iso2:"BF",m49:"854",name:"Burkina Faso",aliases:["\u{1F1E7}\u{1F1EB}","republic of burkina faso","republic of upper volta"]},{iso3:"BGD",iso2:"BD",m49:"050",name:"Bangladesh",aliases:["\u{1F1E7}\u{1F1E9}","bangla desh","gonaoprojatontri bangladesh","peoples republic of bangladesh","\u0997\u09A3\u09AA\u09CD\u09B0\u099C\u09BE\u09A4\u09A8\u09CD\u09A4\u09CD\u09B0\u09C0 \u09AC\u09BE\u0982\u09B2\u09BE\u09A6\u09C7\u09B6","\u09AC\u09BE\u0982\u09B2\u09BE \u09A6\u09C7\u09B6","\u09AC\u09BE\u0982\u09B2\u09BE\u09A6\u09C7\u09B6","\u09AC\u09BF\u09A1\u09BF"]},{iso3:"BGR",iso2:"BG",m49:"100",name:"Bulgaria",aliases:["\u{1F1E7}\u{1F1EC}","bulgarian republic","republic of bulgaria","republika bulgaria","republika bulgariya","\u0431\u0433","\u0431\u044A\u043B\u0433\u0430\u0440\u0438\u044F","\u0440\u0435\u043F\u0443\u0431\u043B\u0438\u043A\u0430 \u0431\u044A\u043B\u0433\u0430\u0440\u0438\u044F"]},{iso3:"BHR",iso2:"BH",m49:"048",name:"Bahrain",aliases:["\u{1F1E7}\u{1F1ED}","bahrein islands","kingdom of bahrain","\u0627\u0644\u0628\u062D\u0631\u064A\u0646","\u062F\u0648\u0644\u0629 \u0627\u0644\u0628\u062D\u0631\u064A\u0646","\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0628\u062D\u0631\u064A\u0646"]},{iso3:"BHS",iso2:"BS",m49:"044",name:"Bahamas",aliases:["\u{1F1E7}\u{1F1F8}","bahama islands","bahamas the","commonwealth of the bahamas"]},{iso3:"BIH",iso2:"BA",m49:"070",name:"Bosnia and Herzegovina",aliases:["\u{1F1E7}\u{1F1E6}","bosna","bosna i hercegovina","bosnia","bosnia and hercegovina","bosnia herzegovina","hercegovina","herzegovina","\u0431\u0438\u0445","\u0431\u043E\u0441\u043D\u0430","\u0431\u043E\u0441\u043D\u0430 \u0438 \u0445\u0435\u0440\u0446\u0435\u0433\u043E\u0432\u0438\u043D\u0430","\u0431\u0445"]},{iso3:"BLM",iso2:"BL",m49:"652",name:"Saint Barth\xE9lemy",aliases:["\u{1F1E7}\u{1F1F1}","collectivite doutre mer de saint barthelemy","collectivite territoriale de saint barthelemy","collectivity of saint barthelemy","saint barth","saint barths","saint barts","saint bartz"]},{iso3:"BLR",iso2:"BY",m49:"112",name:"Belarus",aliases:["\u{1F1E7}\u{1F1FE}","republic of belarus","respublika belarus","respublika byelarus","\u0431\u0435\u043B\u0430\u0440\u0443\u0441\u043A\u0430\u044F \u0440\u044D\u0441\u043F\u0443\u0431\u043B\u0456\u043A\u0430","\u0431\u0435\u043B\u0430\u0440\u0443\u0441\u044C","\u0431\u0435\u043B\u0430\u044F \u0440\u0443\u0441\u044C","\u0431\u0435\u043B\u043E\u0440\u0443\u0441\u0441\u0438\u044F","\u0440\u0431","\u0440\u0435\u0441\u043F\u0443\u0431\u043B\u0438\u043A\u0430 \u0431\u0435\u043B\u0430\u0440\u0443\u0441\u044C","\u0440\u044D\u0441\u043F\u0443\u0431\u043B\u0456\u043A\u0430 \u0431\u0435\u043B\u0430\u0440\u0443\u0441\u044C"]},{iso3:"BLZ",iso2:"BZ",m49:"084",name:"Belize",aliases:["\u{1F1E7}\u{1F1FF}"]},{iso3:"BMU",iso2:"BM",m49:"060",name:"Bermuda",aliases:["\u{1F1E7}\u{1F1F2}","barmuda","barmuda i","barmuda isl","barmuda islands","barmudas","bermoothes","bermuda islands","bermudas","bermudian islands","colony of bermuda","devils isles","isle of devils","somers islands","somers isles","summers isles","territory of bermuda","virgineola"]},{iso3:"BOL",iso2:"BO",m49:"068",name:"Bolivia (Plurinational State of)",aliases:["\u{1F1E7}\u{1F1F4}","bolivia","bulibiya","estado plurinacional de bolivia","plurinational state of bolivia","puliwya","republic of bolivia","republica de bolivia","volivia","wuliwiya","wuliwya"]},{iso3:"BRA",iso2:"BR",m49:"076",name:"Brazil",aliases:["\u{1F1E7}\u{1F1F7}","brasil","federative republic of brazil","pindorama","republica federativa do brasil"]},{iso3:"BRB",iso2:"BB",m49:"052",name:"Barbados",aliases:["\u{1F1E7}\u{1F1E7}","barbadoes"]},{iso3:"BRN",iso2:"BN",m49:"096",name:"Brunei Darussalam",aliases:["\u{1F1E7}\u{1F1F3}","brunei","nation of brunei the abode of peace","negara brunei darussalam"]},{iso3:"BTN",iso2:"BT",m49:"064",name:"Bhutan",aliases:["\u{1F1E7}\u{1F1F9}","kingdom of bhutan","\u0F60\u0F56\u0FB2\u0F74\u0F42","\u0F60\u0F56\u0FB2\u0F74\u0F42\u0F0B\u0F61\u0F74\u0F63\u0F0B","\u0F60\u0F56\u0FB2\u0F74\u0F42\u0F61\u0F74\u0F63\u0F0B\u0F0B"]},{iso3:"BVT",iso2:"BV",m49:"074",name:"Bouvet Island",aliases:["\u{1F1E7}\u{1F1FB}"]},{iso3:"BWA",iso2:"BW",m49:"072",name:"Botswana",aliases:["\u{1F1E7}\u{1F1FC}","lefatshe la botswana","republic of botswana"]},{iso3:"CAF",iso2:"CF",m49:"140",name:"Central African Republic",aliases:["\u{1F1E8}\u{1F1EB}","centrafricaine republique","centrafrique","central africa","kodorosese ti beafrika","la republique","rep centrafrique","republique centrafricaine"]},{iso3:"CAN",iso2:"CA",m49:"124",name:"Canada",aliases:["\u{1F1E8}\u{1F1E6}","le canada"]},{iso3:"CCK",iso2:"CC",m49:"166",name:"Cocos (Keeling) Islands",aliases:["\u{1F1E8}\u{1F1E8}","cocos islands","keeling islands","territory of the cocos keeling islands"]},{iso3:"CHE",iso2:"CH",m49:"756",name:"Switzerland",aliases:["\u{1F1E8}\u{1F1ED}","confederation helvetique","confederation suisse","confederazione elvetica","confederazione svizzera","confederaziun svizra","confoederatio helvetica","conf\u0153deratio helvetica","eidgenossenschaft","elvezia","helvetie","la confederation suisse","schweiz","schweizerische eidgenossenschaft","suisse","svizra","svizzera","swiss","swiss confederation"]},{iso3:"CHL",iso2:"CL",m49:"152",name:"Chile",aliases:["\u{1F1E8}\u{1F1F1}","republic of chile","republica de chile"]},{iso3:"CHN",iso2:"CN",m49:"156",name:"China",aliases:["\u{1F1E8}\u{1F1F3}","china pr","peoples republic of china","pr china","prc","\u4E2D\u534E\u4EBA\u6C11\u5171\u548C\u56FD","\u4E2D\u56FD"]},{iso3:"CIV",iso2:"CI",m49:"384",name:"C\xF4te d'Ivoire",aliases:["\u{1F1E8}\u{1F1EE}","cote ivoire","ivory coast","republic of cote divoire","republic of ivory coast","republic of the ivory coast","republique de cote divoire"]},{iso3:"CMR",iso2:"CM",m49:"120",name:"Cameroon",aliases:["\u{1F1E8}\u{1F1F2}","cameroun","la republique du cameroun","republic of cameroon","republique du cameroun"]},{iso3:"COD",iso2:"CD",m49:"180",name:"Democratic Republic of the Congo",aliases:["\u{1F1E8}\u{1F1E9}","congo belge","congo democratic republic of the","congo kinshasa","dem rep congo","dem republic of congo","dem republic of the congo","democratic republic of congo","dr congo","rd congo","rep demcongo","republic of the congo","republique democratique du congo","republique du zaire","zaire"]},{iso3:"COG",iso2:"CG",m49:"178",name:"Congo",aliases:["\u{1F1E8}\u{1F1EC}","congo brazza","congo brazzaville","congo republic","rep congo","republic of congo","republique du congo"]},{iso3:"COK",iso2:"CK",m49:"184",name:"Cook Islands",aliases:["\u{1F1E8}\u{1F1F0}","cook group","hervey islands"]},{iso3:"COL",iso2:"CO",m49:"170",name:"Colombia",aliases:["\u{1F1E8}\u{1F1F4}","republic of colombia","republica de colombia"]},{iso3:"COM",iso2:"KM",m49:"174",name:"Comoros",aliases:["\u{1F1F0}\u{1F1F2}","comores","comores archipel","etat comorien","lunion des comores","republique des comores","republique federale et islamique des comores","republique federale islamique des comores","territoire des comores","union des comores","union of the comoros","\u0625\u062A\u062D\u0627\u062F \u0627\u0644\u0642\u0645\u0631","\u0627\u062A\u062D\u0627\u062F \u062C\u0632\u0631 \u0627\u0644\u0642\u0645\u0631","\u0627\u0644\u0627\u062A\u062D\u0627\u062F \u0627\u0644\u0642\u0645\u0631\u064A","\u0627\u0644\u0642\u0645\u0631","\u062C\u0632\u0631 \u0627\u0644\u0642\u0645\u0631","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0642\u0645\u0631 \u0627\u0644\u0645\u062A\u062D\u062F\u0629","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u062C\u0632\u0631 \u0627\u0644\u0642\u0645\u0631 \u0627\u0644\u0627\u062A\u062D\u0627\u062F\u064A\u0629 \u0627\u0644\u0625\u0633\u0644\u0627\u0645\u064A\u0629","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u062C\u0632\u0631\u0627\u0644\u0642\u0645\u0631 \u0627\u0644\u0645\u062A\u062D\u062F\u0629"]},{iso3:"CPV",iso2:"CV",m49:"132",name:"Cabo Verde",aliases:["\u{1F1E8}\u{1F1FB}","cape verde","cape verde islands","kab verd","kabu verdi","kauberdi","republic of cabo verde","republic of cape verde","republica de cabo verde"]},{iso3:"CRI",iso2:"CR",m49:"188",name:"Costa Rica",aliases:["\u{1F1E8}\u{1F1F7}","republic of costa rica","republica de costa rica"]},{iso3:"CUB",iso2:"CU",m49:"192",name:"Cuba",aliases:["\u{1F1E8}\u{1F1FA}","isla juana","republic of cuba","republica de cuba"]},{iso3:"CUW",iso2:"CW",m49:"531",name:"Cura\xE7ao",aliases:["\u{1F1E8}\u{1F1FC}","corsou","corsouw","corsow","country of curacao","curacau","curacoa","curazao","cura\u03C2ao","curocao","island territory of curacao","korsou","land curacao","pais korsou"]},{iso3:"CXR",iso2:"CX",m49:"162",name:"Christmas Island",aliases:["\u{1F1E8}\u{1F1FD}","christmas island other territories","christmas island other territories australia","territory of christmas island"]},{iso3:"CYM",iso2:"KY",m49:"136",name:"Cayman Islands",aliases:["\u{1F1F0}\u{1F1FE}","caymans"]},{iso3:"CYP",iso2:"CY",m49:"196",name:"Cyprus",aliases:["\u{1F1E8}\u{1F1FE}","greek administration of southern cyprus","greek cypriot state","guney k\u0131br\u0131s","guney k\u0131br\u0131s rum cumhuriyeti","guney k\u0131br\u0131s rum kesimi","guney k\u0131br\u0131s rum yonetimi","kipriaki dhimokratia","k\u0131br\u0131s","k\u0131br\u0131s cumhuriyeti","k\u0131br\u0131s rum kesimi","kypriaki dimokratia","kypros","republic of cyprus","\u03BA\u03C5\u03C0\u03C1\u03B9\u03B1\u03BA\u03B7 \u03B4\u03B7\u03BC\u03BF\u03BA\u03C1\u03B1\u03C4\u03B9\u03B1","\u03BA\u03C5\u03C0\u03C1\u03BF\u03C2"]},{iso3:"CZE",iso2:"CZ",m49:"203",name:"Czechia",aliases:["\u{1F1E8}\u{1F1FF}","ceska republika","ceske kraje","ceske uzemi","ceske zeme","cesko","cr","czech republic"]},{iso3:"DEU",iso2:"DE",m49:"276",name:"Germany",aliases:["\u{1F1E9}\u{1F1EA}","br deutschland","bundesrepublik","bundesrepublik deutschland","deutschland","federal republic of germany"]},{iso3:"DJI",iso2:"DJ",m49:"262",name:"Djibouti",aliases:["\u{1F1E9}\u{1F1EF}","la republique de djibouti","republic of djibouti","republique de djibouti","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u062C\u064A\u0628\u0648\u062A\u064A","\u062C\u064A\u0628\u0648\u062A\u064A"]},{iso3:"DMA",iso2:"DM",m49:"212",name:"Dominica",aliases:["\u{1F1E9}\u{1F1F2}","commonwealth of dominica","island of dominica","waitu kubuli"]},{iso3:"DNK",iso2:"DK",m49:"208",name:"Denmark",aliases:["\u{1F1E9}\u{1F1F0}","dania","danmark","denmark proper","kongeriget danmark","metropolitan denmark"]},{iso3:"DOM",iso2:"DO",m49:"214",name:"Dominican Republic",aliases:["\u{1F1E9}\u{1F1F4}","dominicana","domrep","haiti espanol","quisqueya","republica de santo domingo","republica dominicana","santo domingo"]},{iso3:"DZA",iso2:"DZ",m49:"012",name:"Algeria",aliases:["\u{1F1E9}\u{1F1FF}","peoples democratic republic of algeria","\u0627\u0644\u062C\u0632\u0627\u0626\u0631","\u0627\u0644\u062C\u0632\u0627\u064A\u0631","\u0627\u0644\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u062C\u0632\u0627\u0626\u0631\u064A\u0629 \u0627\u0644\u062F\u064A\u0645\u0642\u0631\u0627\u0637\u064A\u0629 \u0627\u0644\u0634\u0639\u0628\u064A\u0629","\u0627\u0644\u062F\u0632\u0627\u064A\u0631","\u062F\u0632\u0627\u064A\u0631"]},{iso3:"ECU",iso2:"EC",m49:"218",name:"Ecuador",aliases:["\u{1F1EA}\u{1F1E8}","ecuadorian state","el ecuador","estado ecuatoriano","republic of ecuador","republic of equator","republic of the equator","republica del ecuador"]},{iso3:"EGY",iso2:"EG",m49:"818",name:"Egypt",aliases:["\u{1F1EA}\u{1F1EC}","arab rep egypt","arab republic of egypt","rep egypt","republic of egypt","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0645\u0635\u0631 \u0627\u0644\u0639\u0631\u0628\u064A\u0629","\u0645\u0635\u0631"]},{iso3:"ERI",iso2:"ER",m49:"232",name:"Eritrea",aliases:["\u{1F1EA}\u{1F1F7}","ertra","hagere ertra","hagere iertra","iertra","iritriya","state of eritrea","\u0625\u0631\u062A\u0631\u064A\u0627","\u0625\u0631\u064A\u062A\u0631\u064A\u0627","\u0627\u0631\u062A\u0631\u064A\u0627","\u0627\u0631\u062A\u064A\u0631\u064A\u0627","\u0627\u0631\u064A\u062A\u0631\u064A\u0627","\u062F\u0648\u0644\u0629 \u0625\u0631\u062A\u0631\u064A\u0627","\u062F\u0648\u0644\u0629 \u0625\u0631\u064A\u062A\u0631\u064A\u0627","\u1203\u1308\u1228 \u12A4\u122D\u1275\u122B","\u12A4\u122D\u1275\u122B"]},{iso3:"ESH",iso2:"EH",m49:"732",name:"Western Sahara",aliases:["\u{1F1EA}\u{1F1ED}","southern provinces","spanish sahara","west sahara"]},{iso3:"ESP",iso2:"ES",m49:"724",name:"Spain",aliases:["\u{1F1EA}\u{1F1F8}","espana","estado espanol","kingdom of spain","reino de espana"]},{iso3:"EST",iso2:"EE",m49:"233",name:"Estonia",aliases:["\u{1F1EA}\u{1F1EA}","eesti","eesti noukogude sotsialistlik vabariik","eesti vabariik","estland","republic of estonia"]},{iso3:"ETH",iso2:"ET",m49:"231",name:"Ethiopia",aliases:["\u{1F1EA}\u{1F1F9}","federal democratic republic of ethiopia","ityopiya","yeityopiya federalawi demokrasiyawi ripeblik","yeityopiya hizbawi dimokrasiyawi ripublik","\u12A2\u1275\u12EE\u1335\u12EB","\u12E8\u12A2\u1275\u12EE\u1335\u12EB \u134C\u12F4\u122B\u120B\u12CA \u12F4\u121E\u12AD\u122B\u1232\u12EB\u12CA \u122A\u1350\u1265\u120A\u12AD"]},{iso3:"FIN",iso2:"FI",m49:"246",name:"Finland",aliases:["\u{1F1EB}\u{1F1EE}","republic of finland","republiken finland","suomen tasavalta","suomi"]},{iso3:"FJI",iso2:"FJ",m49:"242",name:"Fiji",aliases:["\u{1F1EB}\u{1F1EF}","fiji ganarajya","matanitu ko viti","matanitu tugalala o viti","republic of fiji","republic of the fiji islands","viti"]},{iso3:"FLK",iso2:"FK",m49:"238",name:"Falkland Islands (Malvinas)",aliases:["\u{1F1EB}\u{1F1F0}","colony of the falkland islands","falkland islands","falklands","islas malvinas","malvinas","malvinas islands"]},{iso3:"FRA",iso2:"FR",m49:"250",name:"France",aliases:["\u{1F1EB}\u{1F1F7}","fr","french republic","la france","la republique francaise","lhexagone","republique francaise"]},{iso3:"FRO",iso2:"FO",m49:"234",name:"Faroe Islands",aliases:["\u{1F1EB}\u{1F1F4}","faer oer","f\xE6r\xF8","faeroe is","faeroe islands","faeroe isles","f\xE6r\xF8erne","faeroes","far oer","faroe island","faroe isles","faroes","faroese islands","f\xF8roya","f\xF8royar","f\xF8royum"]},{iso3:"FSM",iso2:"FM",m49:"583",name:"Micronesia (Federated States of)",aliases:["\u{1F1EB}\u{1F1F2}","fed sts micronesia","fed sts of micronesia","federated states of micronesia","federated states of micronesia fsm","micronesia"]},{iso3:"GAB",iso2:"GA",m49:"266",name:"Gabon",aliases:["\u{1F1EC}\u{1F1E6}","gabonese republic","la republique gabonaise","le gabon","republique du gabon","republique gabonaise"]},{iso3:"GBR",iso2:"GB",m49:"826",name:"United Kingdom of Great Britain and Northern Ireland",aliases:["\u{1F1EC}\u{1F1E7}","britain","england","great britain","great britain and northern ireland","northern ireland","scotland","uk","united kingdom","wales"]},{iso3:"GEO",iso2:"GE",m49:"268",name:"Georgia",aliases:["\u{1F1EC}\u{1F1EA}","georgia country","republic of georgia","sakartvelo","\u049B\u044B\u0440\u04AD\u0442\u04D9\u044B\u043B\u0430","\u10E1\u10D0\u10E5\u10D0\u10E0\u10D7\u10D5\u10D4\u10DA\u10DD","\u10E1\u10D0\u10E5\u10D0\u10E0\u10D7\u10D5\u10D4\u10DA\u10DD\u10E1 \u10E0\u10D4\u10E1\u10DE\u10E3\u10D1\u10DA\u10D8\u10D9\u10D0"]},{iso3:"GGY",iso2:"GG",m49:"831",name:"Guernsey",aliases:["\u{1F1EC}\u{1F1EC}","bailiwick of guernsey","bailliage de guernesey","bailliage de guernesi","giernesi","great britain guernsey","guernesey","lisia"]},{iso3:"GHA",iso2:"GH",m49:"288",name:"Ghana",aliases:["\u{1F1EC}\u{1F1ED}","republic of ghana"]},{iso3:"GIB",iso2:"GI",m49:"292",name:"Gibraltar",aliases:["\u{1F1EC}\u{1F1EE}","rock of gibraltar"]},{iso3:"GIN",iso2:"GN",m49:"324",name:"Guinea",aliases:["\u{1F1EC}\u{1F1F3}","guinee","guinee conakry","republic of guinea","republique de guinee"]},{iso3:"GLP",iso2:"GP",m49:"312",name:"Guadeloupe",aliases:["\u{1F1EC}\u{1F1F5}"]},{iso3:"GMB",iso2:"GM",m49:"270",name:"Gambia",aliases:["\u{1F1EC}\u{1F1F2}","islamic republic of the gambia","republic of the gambia"]},{iso3:"GNB",iso2:"GW",m49:"624",name:"Guinea-Bissau",aliases:["\u{1F1EC}\u{1F1FC}","guine bissau","republic of guinea bissau","republica da guine bissau"]},{iso3:"GNQ",iso2:"GQ",m49:"226",name:"Equatorial Guinea",aliases:["\u{1F1EC}\u{1F1F6}","guine equatorial","guinea ecuatorial","guinea espanola","guinee equat","guinee equatoriale","la republique de guinee equatoriale","posesiones espanolas del golfo de guinea","provincia de la guinea ecuatorial","republic of equatorial guinea","republica da guine equatorial","republica de guinea ecuatorial","territorios espanoles del golfo de guinea"]},{iso3:"GRC",iso2:"GR",m49:"300",name:"Greece",aliases:["\u{1F1EC}\u{1F1F7}","ellada","ellas","elliniki dhimokratia","elliniki dimokratia","greek republic","hellas","hellas greece","hellenic republic","vasilion tis ellados","\u03B4\u03B7\u03BC\u03BF\u03BA\u03C1\u03B1\u03C4\u03B9\u03B1 \u03C4\u03B7\u03C2 \u03B5\u03BB\u03BB\u03B1\u03B4\u03B1\u03C2","\u03B4\u03B7\u03BC\u03BF\u03BA\u03C1\u03B1\u03C4\u03B9\u03B1 \u03C4\u03B7\u03C2 \u03B5\u03BB\u03BB\u03B1\u03B4\u03BF\u03C2","\u03B5\u03BB\u03BB\u03B1\u03B4\u03B1","\u03B5\u03BB\u03BB\u03B1\u03C2","\u03B5\u03BB\u03BB\u03B1\u03C2 \u03B5\u03BB\u03BB\u03B1\u03B4\u03B1","\u03B5\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03B7 \u03B4\u03B7\u03BC\u03BF\u03BA\u03C1\u03B1\u03C4\u03B9\u03B1"]},{iso3:"GRD",iso2:"GD",m49:"308",name:"Grenada",aliases:["\u{1F1EC}\u{1F1E9}"]},{iso3:"GRL",iso2:"GL",m49:"304",name:"Greenland",aliases:["\u{1F1EC}\u{1F1F1}","kalaallit nunaat"]},{iso3:"GTM",iso2:"GT",m49:"320",name:"Guatemala",aliases:["\u{1F1EC}\u{1F1F9}","republic of guatemala","republica de guatemala"]},{iso3:"GUF",iso2:"GF",m49:"254",name:"French Guiana",aliases:["\u{1F1EC}\u{1F1EB}","fr 973","guiana","guiana france","guyane","guyane francaise","gwiyann","gwiyann franse","lagwiyann"]},{iso3:"GUM",iso2:"GU",m49:"316",name:"Guam",aliases:["\u{1F1EC}\u{1F1FA}","guahan","guam usa","islan guahan","island of guam","territory of guam"]},{iso3:"GUY",iso2:"GY",m49:"328",name:"Guyana",aliases:["\u{1F1EC}\u{1F1FE}","co operative republic of guyana","republic of guyana"]},{iso3:"HKG",iso2:"HK",m49:"344",name:"Hong Kong",aliases:["\u{1F1ED}\u{1F1F0}","hksar","hong kong sar","hong kong special administrative region","hong kong special administrative region of the peoples republic of china","hongkong"]},{iso3:"HMD",iso2:"HM",m49:"334",name:"Heard Island and McDonald Islands",aliases:["\u{1F1ED}\u{1F1F2}","heard","heard & mcdonald islands","heard and macdonald islands","heard island","himi","mcdonald","mcdonald island","territory of heard island and mcdonald islands"]},{iso3:"HND",iso2:"HN",m49:"340",name:"Honduras",aliases:["\u{1F1ED}\u{1F1F3}","guaymuras","higueras","honduran republic","republic of honduras","republica de honduras"]},{iso3:"HRV",iso2:"HR",m49:"191",name:"Croatia",aliases:["\u{1F1ED}\u{1F1F7}","hrvatska","republic of croatia","republika hrvatska"]},{iso3:"HTI",iso2:"HT",m49:"332",name:"Haiti",aliases:["\u{1F1ED}\u{1F1F9}","ayiti","haitian republic","la republique dhaiti","repiblik d ayiti","republic of haiti","republique dhaiti"]},{iso3:"HUN",iso2:"HU",m49:"348",name:"Hungary",aliases:["\u{1F1ED}\u{1F1FA}","a magyar koztarsasag","a magyar nepkoztarsasag","harmadik magyar koztarsasag","magyar koztarsasag","magyar nepkoztarsasag","magyarorszag","mo"]},{iso3:"IDN",iso2:"ID",m49:"360",name:"Indonesia",aliases:["\u{1F1EE}\u{1F1E9}","negara kesatuan republik indonesia","nkri","republic of indonesia","republik indonesia"]},{iso3:"IMN",iso2:"IM",m49:"833",name:"Isle of Man",aliases:["\u{1F1EE}\u{1F1F2}","ellan vannin","i man","i mann","i mannin","isle of mann","mann","mannin","manx"]},{iso3:"IND",iso2:"IN",m49:"356",name:"India",aliases:["\u{1F1EE}\u{1F1F3}","al hind","bharat","bharat ganarajya","bharata","bharatvarsh","hindoostan","hindustan","indostan","republic of india","tenjiku","tianzhu","\u0906\u0930\u094D\u092F\u0935\u0930\u094D\u0924","\u0907\u0902\u0921\u093F\u092F\u093E","\u0907\u0923\u094D\u0921\u093F\u092F\u093E","\u092D\u093E\u0930\u0924","\u092D\u093E\u0930\u0924 \u0917\u0923\u0930\u093E\u091C\u094D\u092F","\u092D\u093E\u0930\u0924\u0935\u0930\u094D\u0937","\u0939\u093F\u0902\u0926\u0941\u0938\u094D\u0924\u093E\u0928","\u0939\u093F\u0928\u094D\u0926\u0941\u0938\u094D\u0924\u093E\u0928","\u0939\u093F\u0928\u094D\u0926\u094B\u0938\u094D\u0924\u093E\u0928"]},{iso3:"IOT",iso2:"IO",m49:"086",name:"British Indian Ocean Territory",aliases:["\u{1F1EE}\u{1F1F4}","biot"]},{iso3:"IRL",iso2:"IE",m49:"372",name:"Ireland",aliases:["\u{1F1EE}\u{1F1EA}","eire","hibernia","irish republic","poblacht na heireann","republic of ireland","southern ireland"]},{iso3:"IRN",iso2:"IR",m49:"364",name:"Iran (Islamic Republic of)",aliases:["\u{1F1EE}\u{1F1F7}","iran","islamic rep iran","islamic republic of iran","persia","\u0627\u06CC\u0631\u0627\u0646","\u0627\u06CC\u0631\u0627\u0646\u0632\u0645\u06CC\u0646","\u067E\u0627\u0631\u0633","\u062C\u0645\u0647\u0648\u0631\u06CC \u0627\u0633\u0644\u0627\u0645\u06CC \u0627\u064A\u0631\u0627\u0646","\u062C\u0645\u0647\u0648\u0631\u06CC \u0627\u0633\u0644\u0627\u0645\u06CC \u0627\u06CC\u0631\u0627\u0646","\u0643\u0634\u0648\u0631 \u0634\u0627\u0647\u0646\u0634\u0627\u0647\u06CC \u0627\u064A\u0631\u0627\u0646"]},{iso3:"IRQ",iso2:"IQ",m49:"368",name:"Iraq",aliases:["\u{1F1EE}\u{1F1F6}","eraq","iraqe","komar i eraq","republic of iraq","\u0627\u0644\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0639\u0631\u0627\u0642\u064A\u0629","\u0627\u0644\u0639\u0631\u0627\u0642","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0639\u0631\u0627\u0642","\u0639\u0631\u0627\u0642","\u0639\u06CE\u0631\u0627\u0642"]},{iso3:"ISL",iso2:"IS",m49:"352",name:"Iceland",aliases:["\u{1F1EE}\u{1F1F8}","icelandic republic","island","ly\xF0veldi\xF0 island","republic of iceland","ysland"]},{iso3:"ISR",iso2:"IL",m49:"376",name:"Israel",aliases:["\u{1F1EE}\u{1F1F1}","erez yisrael","medinat yisrael","state of israel","yisrael","\u05D9\u05E9\u05E8\u05D0\u05DC","\u05DE\u05D3\u05D9\u05E0\u05EA \u05D9\u05E9\u05E8\u05D0\u05DC"]},{iso3:"ITA",iso2:"IT",m49:"380",name:"Italy",aliases:["\u{1F1EE}\u{1F1F9}","il bel paese","italia","italian republic","repubblica italiana","republic of italy"]},{iso3:"JAM",iso2:"JM",m49:"388",name:"Jamaica",aliases:["\u{1F1EF}\u{1F1F2}","commonwealth of jamaica","jamieka","jomieka","jumieka"]},{iso3:"JEY",iso2:"JE",m49:"832",name:"Jersey",aliases:["\u{1F1EF}\u{1F1EA}","bailliage de jerri","bailliage de jersey","balliwick of jersey","i iersey","i jersey","iersey","iersey i","isle of jersey","jerri","jersey i","jersey island"]},{iso3:"JOR",iso2:"JO",m49:"400",name:"Jordan",aliases:["\u{1F1EF}\u{1F1F4}","giordania","hashemite kingdom of jordan","kingdom of jordan","state of jordan","yarden","\u0627\u0644\u0623\u0631\u062F\u0646","\u0627\u0644\u0627\u0631\u062F\u0646","\u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0623\u0631\u062F\u0646\u064A\u0629 \u0627\u0644\u0647\u0627\u0634\u0645\u064A\u0629","\u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0627\u0631\u062F\u0646\u064A\u0629 \u0627\u0644\u0647\u0627\u0634\u0645\u064A\u0629"]},{iso3:"JPN",iso2:"JP",m49:"392",name:"Japan",aliases:["\u{1F1EF}\u{1F1F5}","state of japan","\u3042\u304D\u3064\u3057\u307E","\u304A\u304A\u3084\u3057\u307E","\u3057\u304D\u3057\u307E","\u30B8\u30E3\u30D1\u30F3","\u3057\u3093\u3057\u3085\u3046","\u306B\u3063\u307D\u3093","\u306B\u3063\u307D\u3093\u3053\u304F","\u306B\u307B\u3093","\u306B\u307B\u3093\u3053\u304F","\u3072\u3044\u305A\u308B\u304F\u306B","\u3075\u305D\u3046","\u5927\u516B\u5DDE","\u6276\u6728\u4E4B\u5730","\u6276\u6851","\u6276\u6851\u56FD","\u6577\u5CF6","\u65E5\u51FA\u308B\u56FD","\u65E5\u672C","\u6991\u6728\u4E4B\u5730","\u745E\u7A42\u56FD","\u795E\u5DDE","\u79CB\u6D25\u5CF6","\u8466\u539F\u4E2D\u56FD"]},{iso3:"KAZ",iso2:"KZ",m49:"398",name:"Kazakhstan",aliases:["\u{1F1F0}\u{1F1FF}","qazaqstan","qazaqstan respublikasy","republic of kazakhstan","\u043A\u0430\u0437\u0430\u0445\u0441\u0442\u0430\u043D","\u049B\u0430\u0437\u0430\u049B\u0441\u0442\u0430\u043D","\u049B\u0430\u0437\u0430\u049B\u0441\u0442\u0430\u043D \u0440\u0435\u0441\u043F\u0443\u0431\u043B\u0438\u043A\u0430\u0441\u044B","\u0440\u0435\u0441\u043F\u0443\u0431\u043B\u0438\u043A\u0430 \u043A\u0430\u0437\u0430\u0445\u0441\u0442\u0430\u043D","\u0440\u043A"]},{iso3:"KEN",iso2:"KE",m49:"404",name:"Kenya",aliases:["\u{1F1F0}\u{1F1EA}","jamhuri ya kenya","republic of kenya"]},{iso3:"KGZ",iso2:"KG",m49:"417",name:"Kyrgyzstan",aliases:["\u{1F1F0}\u{1F1EC}","kyrgyz republic","kyrgyz respublikasy","kyrgyzstan respublikasy","\u043A\u0440","\u043A\u044B\u0440\u0433\u044B\u0437 \u0440\u0435\u0441\u043F\u0443\u0431\u043B\u0438\u043A\u0430\u0441\u044B","\u043A\u044B\u0440\u0433\u044B\u0437\u0441\u0442\u0430\u043D"]},{iso3:"KHM",iso2:"KH",m49:"116",name:"Cambodia",aliases:["\u{1F1F0}\u{1F1ED}","camboya","campuchia","kambodzha","kamboja","kampuchea","kingdom of cambodia","\u1780\u1798\u17D2\u1796\u17BB\u1787\u17B6","\u1796\u17D2\u179A\u17C7\u179A\u17B6\u1787\u17B6\u178E\u17B6\u1785\u1780\u17D2\u179A\u1780\u1798\u17D2\u1796\u17BB\u1787\u17B6"]},{iso3:"KIR",iso2:"KI",m49:"296",name:"Kiribati",aliases:["\u{1F1F0}\u{1F1EE}","republic of kiribati"]},{iso3:"KNA",iso2:"KN",m49:"659",name:"Saint Kitts and Nevis",aliases:["\u{1F1F0}\u{1F1F3}","federation of saint christopher and nevis","federation of saint kitts and nevis","kitts & nevis","nevis","saint christopher","saint christopher and nevis","saint kitts"]},{iso3:"KOR",iso2:"KR",m49:"410",name:"Republic of Korea",aliases:["\u{1F1F0}\u{1F1F7}","korea","korea republic","korea republic of","korea south","rep korea","s korea","south korea","taehan minguk","\uB0A8\uC870\uC120","\uB0A8\uD55C","\uB300\uD55C","\uB300\uD55C\uBBFC\uAD6D","\uCF54\uB9AC\uC544","\uD55C\uAD6D"]},{iso3:"KWT",iso2:"KW",m49:"414",name:"Kuwait",aliases:["\u{1F1F0}\u{1F1FC}","state of kuwait","\u0627\u0644\u0643\u0648\u064A\u062A","\u062F\u0648\u0644\u0629 \u0627\u0644\u0643\u0648\u064A\u062A"]},{iso3:"LAO",iso2:"LA",m49:"418",name:"Lao People's Democratic Republic",aliases:["\u{1F1F1}\u{1F1E6}","laos","sathalanalat paxathipatai paxaxon lao","\u0EAA\u0EB2\u0E97\u0EB2\u0EA5\u0EB0\u0E99\u0EB0\u0EA5\u0EB1\u0E94 \u0E9B\u0EB0\u0E8A\u0EB2\u0E97\u0EB4\u0E9B\u0EB0\u0EC4\u0E95 \u0E9B\u0EB0\u0E8A\u0EB2\u0E8A\u0EBB\u0E99\u0EA5\u0EB2\u0EA7","\u0E9B\u0EB0\u0EC0\u0E97\u0E94\u0EA5\u0EB2\u0EA7","\u0EA5\u0EB2\u0EA7"]},{iso3:"LBN",iso2:"LB",m49:"422",name:"Lebanon",aliases:["\u{1F1F1}\u{1F1E7}","lebanese republic","republic of lebanon","state of lebanon","\u0627\u0644\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064A\u0629","\u0644\u0628\u0646\u0627\u0646"]},{iso3:"LBR",iso2:"LR",m49:"430",name:"Liberia",aliases:["\u{1F1F1}\u{1F1F7}","liber","republic of liberia"]},{iso3:"LBY",iso2:"LY",m49:"434",name:"Libya",aliases:["\u{1F1F1}\u{1F1FE}","state of libya","\u0627\u0644\u062C\u0645\u0627\u0647\u064A\u0631\u064A\u0629 \u0627\u0644\u0639\u0631\u0628\u064A\u0629 \u0627\u0644\u0644\u064A\u0628\u064A\u0629 \u0627\u0644\u0634\u0639\u0628\u064A\u0629 \u0627\u0644\u0625\u0634\u062A\u0631\u0627\u0643\u064A\u0629","\u0627\u0644\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0644\u064A\u0628\u064A\u0629","\u0627\u0644\u0644\u064A\u0628\u064A","\u0627\u0644\u0644\u064A\u0628\u064A\u0629","\u0627\u0644\u0644\u064A\u0628\u064A\u0646","\u062F\u0648\u0644\u0629 \u0644\u064A\u0628\u064A\u0627","\u0644\u064A\u0628\u0628\u064A\u0627","\u0644\u064A\u0628\u064A","\u0644\u064A\u0628\u064A\u0627","\u0644\u064A\u0628\u064A\u0629"]},{iso3:"LCA",iso2:"LC",m49:"662",name:"Saint Lucia",aliases:["\u{1F1F1}\u{1F1E8}","hewanorra","iyonola"]},{iso3:"LIE",iso2:"LI",m49:"438",name:"Liechtenstein",aliases:["\u{1F1F1}\u{1F1EE}","furstentum lichtenstein","furstentum liechtenstein","principality of liechtenstein"]},{iso3:"LKA",iso2:"LK",m49:"144",name:"Sri Lanka",aliases:["\u{1F1F1}\u{1F1F0}","ceylan","ceylon","democratic socialist republic of sri lanka","ilankaic cananayaka cocalicak kutiyarcu","lankava","prajatantravadi samajavadi janarajaya sri lanka","serendib","srilanka","taprobane","\u0B87\u0BB2\u0B99\u0BCD\u0B95\u0BC8","\u0B87\u0BB2\u0B99\u0BCD\u0B95\u0BC8 \u0B9A\u0BA9\u0BA8\u0BBE\u0BAF\u0B95 \u0B9A\u0BCB\u0B9A\u0BB2\u0BBF\u0B9A\u0B95\u0BCD \u0B95\u0BC1\u0B9F\u0BBF\u0BAF\u0BB0\u0B9A\u0BC1","\u0B87\u0BB2\u0B99\u0BCD\u0B95\u0BC8 \u0B9A\u0BA9\u0BA8\u0BBE\u0BAF\u0B95 \u0B9A\u0BCB\u0BB7\u0BB2\u0BBF\u0B9A\u0B95\u0BCD \u0B95\u0BC1\u0B9F\u0BBF\u0BAF\u0BB0\u0B9A\u0BC1","\u0B88\u0BB4\u0BAE\u0BCD","\u0B9A\u0BBF\u0BB2\u0BCB\u0BA9\u0BCD","\u0DBD\u0D82\u0D9A\u0DCF\u0DC0","\u0DC1\u0DCA\u0DBB\u0DD3 \u0DBD\u0D82\u0D9A\u0DCF \u0DB4\u0DCA\u0DBB\u0DA2\u0DCF\u0DAD\u0DB1\u0DCA\u0DAD\u0DCA\u0DBB\u0DC0\u0DCF\u0DAF\u0DD3 \u0DC3\u0DB8\u0DCF\u0DA2\u0DC0\u0DCF\u0DAF\u0DD3 \u0DA2\u0DB1\u0DBB\u0DA2\u0DBA","\u0DC1\u0DCA\u0DBB\u0DD3 \u0DBD\u0D82\u0D9A\u0DCF\u0DC0","\u0DC1\u0DCA\u200D\u0DBB\u0DD3 \u0DBD\u0D82\u0D9A\u0DCF\u0DC0"]},{iso3:"LSO",iso2:"LS",m49:"426",name:"Lesotho",aliases:["\u{1F1F1}\u{1F1F8}","kingdom of lesotho","mmuso wa lesotho","mountain kingdom"]},{iso3:"LTU",iso2:"LT",m49:"440",name:"Lithuania",aliases:["\u{1F1F1}\u{1F1F9}","lietuva","lietuvos respublika","republic of lithuania"]},{iso3:"LUX",iso2:"LU",m49:"442",name:"Luxembourg",aliases:["\u{1F1F1}\u{1F1FA}","grand duche","grand duche de luxembourg","grand duchy of luxembourg","gro\xDFherzogtum luxemburg","groussherzogtum letzebuerg","le grand duche de luxembourg","letzebuerg","letzebuerger land","lux","luxemburg"]},{iso3:"LVA",iso2:"LV",m49:"428",name:"Latvia",aliases:["\u{1F1F1}\u{1F1FB}","latveja","latvejas republika","latvian republic","latvija","latvijas republika","letm\u043E","letm\u043E vabam\u043E","republic of latvia"]},{iso3:"MAC",iso2:"MO",m49:"446",name:"Macao",aliases:["\u{1F1F2}\u{1F1F4}","aomen","macao sar","macao special administrative region","macao special administrative region of the peoples republic of china","macau","macau rae da china","macau sar","macau special administrative region","macau special administrative region of the peoples republic of china","raem","regiao administrativa especial de macau","regiao administrativa especial de macau da republica popular da china","\u4E2D\u570B\u6FB3\u9580\u7279\u5225\u884C\u653F\u5340","\u6FB3\u9580"]},{iso3:"MAF",iso2:"MF",m49:"663",name:"Saint Martin (French Part)",aliases:["\u{1F1F2}\u{1F1EB}","collectivite de saint martin","collectivity of saint martin","saint martin","saint martin antilles francaises","saint martin france"]},{iso3:"MAR",iso2:"MA",m49:"504",name:"Morocco",aliases:["\u{1F1F2}\u{1F1E6}","kingdom of morocco","\u0627\u0644\u0645\u063A\u0631\u0628","\u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0645\u063A\u0631\u0628\u064A\u0629","\u2D30\u2D4E\u2D53\u2D54 \u2D4F \u2D61\u2D30\u2D3D\u2D53\u2D5B","\u2D30\u2D4E\u2D55\u2D55\u2D53\u2D3D","\u2D4D\u2D4E\u2D55\u2D55\u2D53\u2D3D","\u2D4D\u2D4E\u2D56\u2D54\u2D49\u2D31","\u2D5C\u2D30\u2D33\u2D4D\u2D37\u2D49\u2D5C \u2D4F \u2D4D\u2D4E\u2D56\u2D54\u2D49\u2D31"]},{iso3:"MCO",iso2:"MC",m49:"492",name:"Monaco",aliases:["\u{1F1F2}\u{1F1E8}","fort hercule","la principaute de monaco","monaco rattachee au district de menton en 1793","munegu","principality and diocese of monaco","principality of monaco","principatu de munegu","principaute de monaco"]},{iso3:"MDA",iso2:"MD",m49:"498",name:"Republic of Moldova",aliases:["\u{1F1F2}\u{1F1E9}","moldavia","moldova","moldova republic of","moldova republica","r moldova","rep moldova","republica moldova","\u043C\u043E\u043B\u0434\u043E\u0432\u0430"]},{iso3:"MDG",iso2:"MG",m49:"450",name:"Madagascar",aliases:["\u{1F1F2}\u{1F1EC}","la republique de madagascar","madagasikara","repoblikani madagasikara","republic of madagascar","republique de madagascar"]},{iso3:"MDV",iso2:"MV",m49:"462",name:"Maldives",aliases:["\u{1F1F2}\u{1F1FB}","dhivehi raajjeyge jumhooriyyaa","republic of maldives","\u078B\u07A8\u0788\u07AC\u0780\u07A8 \u0783\u07A7\u0787\u07B0\u0796\u07AC","\u078B\u07A8\u0788\u07AC\u0780\u07A8\u0783\u07A7\u0787\u07B0\u0796\u07AC","\u078B\u07A8\u0788\u07AC\u0780\u07A8\u0783\u07A7\u0787\u07B0\u0796\u07AD\u078E\u07AC \u0796\u07AA\u0789\u07AA\u0780\u07AB\u0783\u07A8\u0787\u07B0\u0794\u07A7","\u078B\u07A8\u0788\u07AC\u0780\u07A8\u0783\u07A7\u0787\u07B0\u0796\u07AD\u078E\u07AC \u0796\u07AA\u0789\u07B0\u0780\u07AB\u0783\u07A8\u0787\u07B0\u0794\u07A7"]},{iso3:"MEX",iso2:"MX",m49:"484",name:"Mexico",aliases:["\u{1F1F2}\u{1F1FD}","estados unidos mejicanos","estados unidos mexicanos","mejico","mexican republic","mexican united states","mexihco","mexihko","mexika sentik wexteyowalko","mexiko","mexko","mexko axkayotl","mexko tlalli","nueva espana","republica mejicana","republica mexicana","united mexican states","united states of mexico"]},{iso3:"MHL",iso2:"MH",m49:"584",name:"Marshall Islands",aliases:["\u{1F1F2}\u{1F1ED}","aelon kein ad","aolepan aorokin majel","jolet jen anij","majel","majol","republic of the marshall islands"]},{iso3:"MKD",iso2:"MK",m49:"807",name:"North Macedonia",aliases:["\u{1F1F2}\u{1F1F0}","former yugoslav republic of macedonia","fyr macedonia","fyrom","irjm","ish republika jugosllave e maqedonise","macedonia","maqedoni","maqedonia","maqedonia e veriut","republic of macedonia","republic of north macedonia","republika e maqedonise","republika e maqedonise se veriut","\u043C\u0430\u043A\u0435\u0434\u043E\u043D\u0438\u0458\u0430","\u0440\u0435\u043F\u0443\u0431\u043B\u0438\u043A\u0430 \u043C\u0430\u043A\u0435\u0434\u043E\u043D\u0438\u0458\u0430","\u0440\u0435\u043F\u0443\u0431\u043B\u0438\u043A\u0430 \u0441\u0435\u0432\u0435\u0440\u043D\u0430 \u043C\u0430\u043A\u0435\u0434\u043E\u043D\u0438\u0458\u0430","\u0440\u043C","\u0440\u0441\u043C","\u0441\u0435\u0432\u0435\u0440\u043D\u0430 \u043C\u0430\u043A\u0435\u0434\u043E\u043D\u0438\u0458\u0430"]},{iso3:"MLI",iso2:"ML",m49:"466",name:"Mali",aliases:["\u{1F1F2}\u{1F1F1}","maali","republic of mali"]},{iso3:"MLT",iso2:"MT",m49:"470",name:"Malta",aliases:["\u{1F1F2}\u{1F1F9}","malta island","repubblika ta malta","republic of malta"]},{iso3:"MMR",iso2:"MM",m49:"104",name:"Myanmar",aliases:["\u{1F1F2}\u{1F1F2}","burma","pyidaungzu myanma naingngandaw","pyidaungzu thammada myanma naingngandaw","republic of the union of myanmar","union of burma","\u1015\u103C\u100A\u103A\u1011\u1031\u102C\u1004\u103A\u1005\u102F \u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036","\u1015\u103C\u100A\u103A\u1011\u1031\u102C\u1004\u103A\u1005\u102F \u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036\u1010\u1031\u102C\u103A","\u1015\u103C\u100A\u103A\u1011\u1031\u102C\u1004\u103A\u1005\u102F \u101E\u1019\u1039\u1019\u1010 \u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036","\u1015\u103C\u100A\u103A\u1011\u1031\u102C\u1004\u103A\u1005\u102F \u101E\u1019\u1039\u1019\u1010 \u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036\u1010\u1031\u102C\u103A","\u1015\u103C\u100A\u103A\u1011\u1031\u102C\u1004\u103A\u1005\u102F\u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036\u1010\u1031\u102C\u103A","\u1015\u103C\u100A\u103A\u1011\u1031\u102C\u1004\u103A\u1005\u102F\u101E\u1019\u1039\u1019\u1010\u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036","\u1015\u103C\u200C\u100A\u103A\u1011\u1031\u102C\u1004\u103A\u1005\u102F\u101E\u1019\u1039\u1019\u1010\u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036","\u1015\u103C\u100A\u103A\u1011\u1031\u102C\u1004\u103A\u1005\u102F\u101E\u1019\u1039\u1019\u1010\u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036\u1010\u1031\u102C\u103A","\u1017\u1019\u102C\u1015\u103C\u100A\u103A","\u1019\u103C\u1014\u103A\u1019\u102C","\u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036","\u1019\u103C\u1014\u103A\u1019\u102C\u1014\u102D\u102F\u1004\u103A\u1004\u1036\u1010\u1031\u102C\u103A","\u1019\u103C\u1014\u103A\u1019\u102C\u1015\u103C\u100A\u103A"]},{iso3:"MNE",iso2:"ME",m49:"499",name:"Montenegro",aliases:["\u{1F1F2}\u{1F1EA}","crna cora","\u0446\u0440\u043D\u0430 \u0433\u043E\u0440\u0430"]},{iso3:"MNG",iso2:"MN",m49:"496",name:"Mongolia",aliases:["\u{1F1F2}\u{1F1F3}","bugd nayramdah mongol ard uls","mongol uls","state of mongolia","\u043C\u043E\u043D\u0433\u043E\u043B","\u043C\u043E\u043D\u0433\u043E\u043B \u0443\u043B\u0441","\u182E\u1824\u1829\u182D\u1824\u182F \u1824\u182F\u1824\u1830"]},{iso3:"MNP",iso2:"MP",m49:"580",name:"Northern Mariana Islands",aliases:["\u{1F1F2}\u{1F1F5}","cnmi","commonwealth of the northern maria islands","commonwealth of the northern mariana islands","northern marianas","notte marianas","sankattan siha na islas marianas"]},{iso3:"MOZ",iso2:"MZ",m49:"508",name:"Mozambique",aliases:["\u{1F1F2}\u{1F1FF}","mocambique","republic of mozambique","republica de mocambique"]},{iso3:"MRT",iso2:"MR",m49:"478",name:"Mauritania",aliases:["\u{1F1F2}\u{1F1F7}","islamic republic of mauritania","\u0627\u0644\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0625\u0633\u0644\u0627\u0645\u064A\u0629 \u0627\u0644\u0645\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u0629","\u0645\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u0627"]},{iso3:"MSR",iso2:"MS",m49:"500",name:"Montserrat",aliases:["\u{1F1F2}\u{1F1F8}","island of montserrat"]},{iso3:"MTQ",iso2:"MQ",m49:"474",name:"Martinique",aliases:["\u{1F1F2}\u{1F1F6}","territorial collectivity of martinique"]},{iso3:"MUS",iso2:"MU",m49:"480",name:"Mauritius",aliases:["\u{1F1F2}\u{1F1FA}","ile maurice","la republique de maurice","maurice","moris","republic of mauritius","republique de maurice"]},{iso3:"MWI",iso2:"MW",m49:"454",name:"Malawi",aliases:["\u{1F1F2}\u{1F1FC}","republic of malawi"]},{iso3:"MYS",iso2:"MY",m49:"458",name:"Malaysia",aliases:["\u{1F1F2}\u{1F1FE}","federation of malaysia","malaysia federation","negara seberang tambak","persekutuan malaysia"]},{iso3:"MYT",iso2:"YT",m49:"175",name:"Mayotte",aliases:["\u{1F1FE}\u{1F1F9}","departement de mayotte","departement region de mayotte","department of mayotte"]},{iso3:"NAM",iso2:"NA",m49:"516",name:"Namibia",aliases:["\u{1F1F3}\u{1F1E6}","republic of namibia"]},{iso3:"NCL",iso2:"NC",m49:"540",name:"New Caledonia",aliases:["\u{1F1F3}\u{1F1E8}","caledonie","kanaky","kanaky nouvelle caledonie","nouvelle caledonie","territoire de la nouvelle caledonie et dependances","territoire des nouvelle caledonie et dependances","territory of new caledonia and dependencies"]},{iso3:"NER",iso2:"NE",m49:"562",name:"Niger",aliases:["\u{1F1F3}\u{1F1EA}","jamhuriyar nijar","nijar","republic niger","republic of niger","republic of the niger"]},{iso3:"NFK",iso2:"NF",m49:"574",name:"Norfolk Island",aliases:["\u{1F1F3}\u{1F1EB}","norfolk island australia","norfolk island other territories","norfolk island other territories australia","territory of norfolk island"]},{iso3:"NGA",iso2:"NG",m49:"566",name:"Nigeria",aliases:["\u{1F1F3}\u{1F1EC}","federal republic of nigeria","naija"]},{iso3:"NIC",iso2:"NI",m49:"558",name:"Nicaragua",aliases:["\u{1F1F3}\u{1F1EE}","republic of nicaragua","republica de nicaragua"]},{iso3:"NIU",iso2:"NU",m49:"570",name:"Niue",aliases:["\u{1F1F3}\u{1F1FA}"]},{iso3:"NLD",iso2:"NL",m49:"528",name:"Kingdom of the Netherlands",aliases:["\u{1F1F3}\u{1F1F1}","hollandt","kingdom of netherlands","koninkrijk der nederlanden","nederland","nederlanden","nederlandt","netherlands","netherlands kingdom of the"]},{iso3:"NOR",iso2:"NO",m49:"578",name:"Norway",aliases:["\u{1F1F3}\u{1F1F4}","kingdom of norway","kongeriket noreg","kongeriket norge","noreg","norge"]},{iso3:"NPL",iso2:"NP",m49:"524",name:"Nepal",aliases:["\u{1F1F3}\u{1F1F5}","bal bo","bal poi yul","bal yul","balbo","balpo","balpo yul","nipal","sanghiya loktantrik ganatantra nepal","\u0928\u0947\u092A\u093E\u0932","\u0938\u0902\u0918\u093F\u092F \u0932\u094B\u0915\u0924\u093E\u0928\u094D\u0924\u094D\u0930\u093F\u0915 \u0917\u0923\u0924\u0928\u094D\u0924\u094D\u0930 \u0928\u0947\u092A\u093E\u0932","\u0938\u0902\u0918\u093F\u092F \u0932\u094B\u0915\u0924\u093E\u0928\u094D\u0924\u094D\u0930\u093F\u0915 \u0917\u0923\u0924\u0928\u094D\u0924\u094D\u0930\u093E\u0924\u094D\u092E\u0915 \u0928\u0947\u092A\u093E\u0932","\u0938\u0902\u0918\u0940\u092F \u0932\u094B\u0915\u0924\u093E\u0928\u094D\u0924\u094D\u0930\u093F\u0915 \u0917\u0923\u0924\u0928\u094D\u0924\u094D\u0930 \u0928\u0947\u092A\u093E\u0932"]},{iso3:"NRU",iso2:"NR",m49:"520",name:"Nauru",aliases:["\u{1F1F3}\u{1F1F7}","naoero","pleasant island","republic of nauru"]},{iso3:"NZL",iso2:"NZ",m49:"554",name:"New Zealand",aliases:["\u{1F1F3}\u{1F1FF}","aotearoa","aotearoa new zealand","dominion of new zealand"]},{iso3:"OMN",iso2:"OM",m49:"512",name:"Oman",aliases:["\u{1F1F4}\u{1F1F2}","sultanate of oman","uman","\u0633\u0644\u0637\u0646\u0629 \u0639\u0645\u0627\u0646","\u0639\u0645\u0627\u0646"]},{iso3:"PAK",iso2:"PK",m49:"586",name:"Pakistan",aliases:["\u{1F1F5}\u{1F1F0}","hoi quoc","islamic republic of pakistan","republic of pakistan","tay hoi","\u0627\u0633\u0644\u0627\u0645\u06CC \u062C\u0645\u06C1\u0648\u0631\u06CC\u06C1 \u067E\u0627\u06A9\u0633\u062A\u0627\u0646","\u0628\u0627\u06A9\u0633\u062A\u0627\u0646","\u067E\u0627\u06A9\u0633\u062A\u0627\u0646"]},{iso3:"PAN",iso2:"PA",m49:"591",name:"Panama",aliases:["\u{1F1F5}\u{1F1E6}","republic of panama","republica de panama"]},{iso3:"PCN",iso2:"PN",m49:"612",name:"Pitcairn",aliases:["\u{1F1F5}\u{1F1F3}","occas island","pisskern ali\u0435n","pitcairn henderson ducie and oeno islands","pitcairn island","pitcairn islands","pitkern ailen"]},{iso3:"PER",iso2:"PE",m49:"604",name:"Peru",aliases:["\u{1F1F5}\u{1F1EA}","piruw","piruw ripuwlika","republic of peru","republica del peru"]},{iso3:"PHL",iso2:"PH",m49:"608",name:"Philippines",aliases:["\u{1F1F5}\u{1F1ED}","philippine islands","republic of the philippines"]},{iso3:"PLW",iso2:"PW",m49:"585",name:"Palau",aliases:["\u{1F1F5}\u{1F1FC}","belau","peeloo","pelew","pelew islands","pellew","republic of belau","republic of palau","\u30D1\u30E9\u30AA","\u30D1\u30E9\u30AA\u5171\u548C\u56FD"]},{iso3:"PNG",iso2:"PG",m49:"598",name:"Papua New Guinea",aliases:["\u{1F1F5}\u{1F1EC}","independent state of papua new guinea","papua niugini"]},{iso3:"POL",iso2:"PL",m49:"616",name:"Poland",aliases:["\u{1F1F5}\u{1F1F1}","polska","republic of poland","rzeczpospolita polska"]},{iso3:"PRI",iso2:"PR",m49:"630",name:"Puerto Rico",aliases:["\u{1F1F5}\u{1F1F7}","boriken","borinquen","boriquen","commonwealth of puerto rico","estado libre asociado de puerto rico","free associated state of puerto rico","isla del encanto","island of enchantment","isle of enchantment","mancomunidad de puerto rico","porto rico","territorio de puerto rico","territorio estadounidense de puerto rico","territory of porto rico","territory of puerto rico"]},{iso3:"PRK",iso2:"KP",m49:"408",name:"Democratic People's Republic of Korea",aliases:["\u{1F1F0}\u{1F1F5}","choson minjujuui inmin konghwaguk","dpr korea","dprk","korea democratic peoples republic of","n korea","north korea","\uACF5\uD654\uAD6D","\uBD81\uC870\uC120","\uBD81\uD55C","\uC870\uC120","\uC870\uC120\uBBFC\uC8FC\uC8FC\uC758\uC778\uBBFC\uACF5\uD654\uAD6D"]},{iso3:"PRT",iso2:"PT",m49:"620",name:"Portugal",aliases:["\u{1F1F5}\u{1F1F9}","republica portuguesa"]},{iso3:"PRY",iso2:"PY",m49:"600",name:"Paraguay",aliases:["\u{1F1F5}\u{1F1FE}","paraguai","republic of paraguay","republica del paraguay","teta paraguai"]},{iso3:"PSE",iso2:"PS",m49:"275",name:"State of Palestine",aliases:["\u{1F1F5}\u{1F1F8}","palestine","palestine state of","palestinian authority","palestinian national authority","palestinian territory","west bank and gaza","\u0623\u0631\u0627\u0636\u064A \u0641\u0644\u0633\u0637\u064A\u0646\u064A\u0629","\u0627\u0644\u0623\u0631\u0627\u0636\u064A \u0627\u0644\u0641\u0644\u0633\u0637\u064A\u0646\u064A\u0629","\u0627\u0644\u062F\u0648\u0644\u0629 \u0627\u0644\u0641\u0644\u0633\u0637\u064A\u0646\u064A\u0629","\u0627\u0644\u0633\u0644\u0637\u0629 \u0627\u0644\u0641\u0644\u0633\u0637\u064A\u0646\u064A\u0629","\u0627\u0644\u0633\u0644\u0637\u0629 \u0627\u0644\u0648\u0637\u0646\u064A\u0629 \u0627\u0644\u0641\u0644\u0633\u0637\u064A\u0646\u064A\u0629","\u0627\u0644\u0636\u0641\u0629 \u0627\u0644\u063A\u0631\u0628\u064A\u0629 \u0648\u0642\u0637\u0627\u0639 \u063A\u0632\u0629","\u062F\u0648\u0644\u0629 \u0641\u0644\u0633\u0637\u064A\u0646","\u0641\u0644\u0633\u0637\u064A\u0646"]},{iso3:"PYF",iso2:"PF",m49:"258",name:"French Polynesia",aliases:["\u{1F1F5}\u{1F1EB}","f oh","french establishments in oceania","french oceania","french settlements in oceania","polynesie francaise","territoire de la polynesie francaise","territory of french polynesia"]},{iso3:"QAT",iso2:"QA",m49:"634",name:"Qatar",aliases:["\u{1F1F6}\u{1F1E6}","state of qatar","\u0625\u0645\u0627\u0631\u0629 \u0642\u0637\u0631","\u062F\u0648\u0644\u0629 \u0642\u0637\u0631","\u0642\u0637\u0631"]},{iso3:"REU",iso2:"RE",m49:"638",name:"R\xE9union",aliases:["\u{1F1F7}\u{1F1EA}","ile bourbon","ile de la reunion","la reunion","re","region reunion","reunion island"]},{iso3:"ROU",iso2:"RO",m49:"642",name:"Romania",aliases:["\u{1F1F7}\u{1F1F4}"]},{iso3:"RUS",iso2:"RU",m49:"643",name:"Russian Federation",aliases:["\u{1F1F7}\u{1F1FA}","federation of russia","russia","\u0440\u043E\u0441\u0441\u0438\u0438\u0441\u043A\u0430\u044F \u0444\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044F","\u0440\u043E\u0441\u0441\u0438\u044F","\u0440\u0444"]},{iso3:"RWA",iso2:"RW",m49:"646",name:"Rwanda",aliases:["\u{1F1F7}\u{1F1FC}","igihugu cyimisozi igihumbi","jamhuri ya rwanda","la republique du rwanda","land of a thousand hills","republic of rwanda","republika yu rwanda","republique du rwanda","republique rwandaise","repubulika yu rwanda","u rwanda"]},{iso3:"SAU",iso2:"SA",m49:"682",name:"Saudi Arabia",aliases:["\u{1F1F8}\u{1F1E6}","kingdom of saudi arabia","\u0627\u0644\u062F\u0648\u0644\u0629 \u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629","\u0627\u0644\u062F\u0648\u0644\u0647 \u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0647","\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629","\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0647","\u0627\u0644\u0639\u0631\u0628\u064A\u0629 \u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629","\u0627\u0644\u0645\u0645\u0644\u0643\u0629","\u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629","\u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0639\u0631\u0628\u064A\u0629","\u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0639\u0631\u0628\u064A\u0629 \u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629","\u0627\u0644\u0645\u0645\u0644\u0643\u0647","\u0627\u0644\u0645\u0645\u0644\u0643\u0647 \u0627\u0644\u0639\u0631\u0628\u064A\u0647 \u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0647","\u0628\u0644\u0627\u062F \u0627\u0644\u062D\u0631\u0645\u064A\u0646 \u0627\u0644\u0634\u0631\u064A\u0641\u064A\u0646","\u062F\u0648\u0644\u0629 \u0622\u0644 \u0633\u0639\u0648\u062F","\u0633\u0639\u0648\u062F\u064A\u0629","\u0633\u0639\u0648\u062F\u064A\u0647","\u0645\u0646\u0628\u0639 \u0627\u0644\u0631\u0633\u0627\u0644\u0629","\u0645\u0647\u0628\u0637 \u0627\u0644\u0648\u062D\u064A"]},{iso3:"SDN",iso2:"SD",m49:"729",name:"Sudan",aliases:["\u{1F1F8}\u{1F1E9}","al sudan","as sudan","north sudan","republic of sudan","republic of the sudan","soudan","\u0627\u0644\u0633\u0648\u062F\u0627\u0646","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0633\u0648\u062F\u0627\u0646"]},{iso3:"SEN",iso2:"SN",m49:"686",name:"Senegal",aliases:["\u{1F1F8}\u{1F1F3}","la republique du senegal","republic of senegal","republique du senegal","sen","senegaal"]},{iso3:"SGP",iso2:"SG",m49:"702",name:"Singapore",aliases:["\u{1F1F8}\u{1F1EC}","garden city","lion city","republic of singapore","republik singapura","singapore city","singapura","spore","\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0BC2\u0BB0\u0BCD","\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0BC2\u0BB0\u0BCD \u0B95\u0BC1\u0B9F\u0BBF\u0BAF\u0BB0\u0B9A\u0BC1","\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BC8","\u0BB8\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BC2\u0BB0\u0BCD"]},{iso3:"SGS",iso2:"GS",m49:"239",name:"South Georgia and the South Sandwich Islands",aliases:["\u{1F1EC}\u{1F1F8}","falkland islands dependencies","sgssi","south georgia","south georgia & south sandwich islands","south sandwich islands"]},{iso3:"SHN",iso2:"SH",m49:"654",name:"Saint Helena",aliases:["\u{1F1F8}\u{1F1ED}","ascension","saint helena and dependencies","saint helena ascension and tristan da cunha","tristan da cunha"]},{iso3:"SJM",iso2:"SJ",m49:"744",name:"Svalbard and Jan Mayen Islands",aliases:["\u{1F1F8}\u{1F1EF}","jan mayen","svalbard","svalbard and jan mayen","svalbard og jan mayen"]},{iso3:"SLB",iso2:"SB",m49:"090",name:"Solomon Islands",aliases:["\u{1F1F8}\u{1F1E7}"]},{iso3:"SLE",iso2:"SL",m49:"694",name:"Sierra Leone",aliases:["\u{1F1F8}\u{1F1F1}","republic of sierra leone"]},{iso3:"SLV",iso2:"SV",m49:"222",name:"El Salvador",aliases:["\u{1F1F8}\u{1F1FB}","republic of el salvador","republica de el salvador","salvador"]},{iso3:"SMR",iso2:"SM",m49:"674",name:"San Marino",aliases:["\u{1F1F8}\u{1F1F2}","most serene republic of san marino","repubblica di san marino","serenissima repubblica di san marino"]},{iso3:"SOM",iso2:"SO",m49:"706",name:"Somalia",aliases:["\u{1F1F8}\u{1F1F4}","as sumal","federal republic of somalia","jamhuuriyadda federaalka soomaaliya","jamhuuriyadda soomaaliyeed","soomaaliya","soomaaliyeey toosoo","\u0627\u0644\u0635\u0648\u0645\u0627\u0644","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0635\u0648\u0645\u0627\u0644","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0635\u0648\u0645\u0627\u0644 \u0627\u0644\u062F\u064A\u0645\u0648\u0642\u0631\u0627\u0637\u064A\u0629","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0635\u0648\u0645\u0627\u0644 \u0627\u0644\u0641\u064A\u062F\u0631\u0627\u0644\u064A\u0629","\u0635\u0648\u0645\u0627\u0644"]},{iso3:"SPM",iso2:"PM",m49:"666",name:"Saint Pierre and Miquelon",aliases:["\u{1F1F5}\u{1F1F2}","collectivite territoriale de saint pierre et miquelon","miquelon","saint pierre","saint pierre et miquelon","territorial collectivity of saint pierre and miquelon"]},{iso3:"SRB",iso2:"RS",m49:"688",name:"Serbia",aliases:["\u{1F1F7}\u{1F1F8}","republic of serbia","republika srbija","\u0440\u0435\u043F\u0443\u0431\u043B\u0438\u043A\u0430 \u0441\u0440\u0431\u0438\u0458\u0430","\u0441\u0440\u0431\u0438\u0458\u0430"]},{iso3:"SSD",iso2:"SS",m49:"728",name:"South Sudan",aliases:["\u{1F1F8}\u{1F1F8}","republic of south sudan","southern sudan"]},{iso3:"STP",iso2:"ST",m49:"678",name:"Sao Tome and Principe",aliases:["\u{1F1F8}\u{1F1F9}","democratic republic of sao tome and principe","principe","republica democratica de sao tome e principe","sao tome","sao tome e principe","sao tome og principe"]},{iso3:"SUR",iso2:"SR",m49:"740",name:"Suriname",aliases:["\u{1F1F8}\u{1F1F7}","dutch guiana","republic of surinam","republic of suriname","republiek suriname","surinam","surrinam"]},{iso3:"SVK",iso2:"SK",m49:"703",name:"Slovakia",aliases:["\u{1F1F8}\u{1F1F0}","slovak republic","slovenska republika","slovensko"]},{iso3:"SVN",iso2:"SI",m49:"705",name:"Slovenia",aliases:["\u{1F1F8}\u{1F1EE}","republic of slovenia","republika slovenija","slovenija"]},{iso3:"SWE",iso2:"SE",m49:"752",name:"Sweden",aliases:["\u{1F1F8}\u{1F1EA}","kingdom of sweden","konungadomet sverige","konungariket sverige","kungadomet sverige","kungariket sverige","sverige","swedish kingdom"]},{iso3:"SWZ",iso2:"SZ",m49:"748",name:"Eswatini",aliases:["\u{1F1F8}\u{1F1FF}","kingdom of eswatini","kingdom of swaziland","swaziland","umbuso weswatini"]},{iso3:"SXM",iso2:"SX",m49:"534",name:"Sint Maarten (Dutch part)",aliases:["\u{1F1F8}\u{1F1FD}","country of sint maarten","eilandgebied sint maarten","land sint maarten","saint maarten","saint martin dutch part","sint maarten","sint martin"]},{iso3:"SYC",iso2:"SC",m49:"690",name:"Seychelles",aliases:["\u{1F1F8}\u{1F1E8}","la republique des seychelles","repiblik sesel","republic of seychelles","republique des seychelles"]},{iso3:"SYR",iso2:"SY",m49:"760",name:"Syrian Arab Republic",aliases:["\u{1F1F8}\u{1F1FE}","surya","syria","\u0627\u0644\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u0639\u0631\u0628\u064A\u0629 \u0627\u0644\u0633\u0648\u0631\u064A\u0629","\u0627\u0644\u0634\u0627\u0645","\u0633\u0648\u0631\u064A\u0627","\u0633\u0648\u0631\u064A\u0629"]},{iso3:"TCA",iso2:"TC",m49:"796",name:"Turks and Caicos Islands",aliases:["\u{1F1F9}\u{1F1E8}","caicos","caicos islands","turks","turks & caicos","turks islands"]},{iso3:"TCD",iso2:"TD",m49:"148",name:"Chad",aliases:["\u{1F1F9}\u{1F1E9}","la republique du tchad","republic of chad","republique du tchad","tchad","\u062A\u0634\u0627\u062F","\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u062A\u0634\u0627\u062F"]},{iso3:"TGO",iso2:"TG",m49:"768",name:"Togo",aliases:["\u{1F1F9}\u{1F1EC}","la republique togolaise","republique togolaise","togolese republic"]},{iso3:"THA",iso2:"TH",m49:"764",name:"Thailand",aliases:["\u{1F1F9}\u{1F1ED}","kingdom of siam","kingdom of thailand","siam","thai","\u0E44\u0E17\u0E22","\u0E1B\u0E23\u0E30\u0E40\u0E17\u0E28\u0E44\u0E17\u0E22","\u0E1B\u0E23\u0E30\u0E40\u0E17\u0E28\u0E2A\u0E22\u0E32\u0E21","\u0E40\u0E21\u0E37\u0E2D\u0E07\u0E44\u0E17\u0E22","\u0E23\u0E32\u0E0A\u0E2D\u0E32\u0E13\u0E32\u0E08\u0E31\u0E01\u0E23\u0E44\u0E17\u0E22","\u0E23\u0E32\u0E0A\u0E2D\u0E32\u0E13\u0E32\u0E08\u0E31\u0E01\u0E23\u0E2A\u0E22\u0E32\u0E21","\u0E2A\u0E22\u0E32\u0E21"]},{iso3:"TJK",iso2:"TJ",m49:"762",name:"Tajikistan",aliases:["\u{1F1F9}\u{1F1EF}","jumhurii tojikiston","republic of tajikistan","\u0442\u043E\u04B7\u0438\u043A\u0438\u0441\u0442\u043E\u043D","\u0442\u04B7","\u0442\u04B7\u043A","\u04B7\u0442","\u04B7\u0443\u043C\u04B3\u0443\u0440\u0438\u0438 \u0442\u043E\u04B7\u0438\u043A\u0438\u0441\u0442\u043E\u043D"]},{iso3:"TKL",iso2:"TK",m49:"772",name:"Tokelau",aliases:["\u{1F1F9}\u{1F1F0}","tokelau islands","union islands"]},{iso3:"TKM",iso2:"TM",m49:"795",name:"Turkmenistan",aliases:["\u{1F1F9}\u{1F1F2}"]},{iso3:"TLS",iso2:"TL",m49:"626",name:"Timor-Leste",aliases:["\u{1F1F9}\u{1F1F1}","democratic republic of timor leste","east timor","republica democratica de timor leste","republika demokratika timor lorosae","timor loro sae","timor lorosae"]},{iso3:"TON",iso2:"TO",m49:"776",name:"Tonga",aliases:["\u{1F1F9}\u{1F1F4}","friendly islands","kingdom of tonga","puleanga fakatui o tonga","tonga islands"]},{iso3:"TTO",iso2:"TT",m49:"780",name:"Trinidad and Tobago",aliases:["\u{1F1F9}\u{1F1F9}","republic of trinidad and tobago","tobago","trinidad"]},{iso3:"TUN",iso2:"TN",m49:"788",name:"Tunisia",aliases:["\u{1F1F9}\u{1F1F3}","republic of tunisia","tunisian republic","\u0627\u0644\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u062A\u0648\u0646\u0633\u064A\u0629","\u062A\u0648\u0646\u0633","\u062A\u0648\u0646\u0633 \u0627\u0644\u062E\u0636\u0631\u0627\u0621"]},{iso3:"TUR",iso2:"TR",m49:"792",name:"T\xFCrkiye",aliases:["\u{1F1F9}\u{1F1F7}","republic of turkey","republic of turkiye","turkey","turkiye cumhuriyeti"]},{iso3:"TUV",iso2:"TV",m49:"798",name:"Tuvalu",aliases:["\u{1F1F9}\u{1F1FB}","ellice islands"]},{iso3:"TWN",iso2:"TW",m49:"158",name:"Taiwan",aliases:["\u{1F1F9}\u{1F1FC}","chinese republic","chinese taipei","chunghwa minkuo","chunghwa minkwo","conghwaminku","cunghwa minkwo","cyukamingkok","formosa","nanasian","nationalist china","republic of china","republic of china taiwan","roc","taivang","taiwan province of china","taiwan roc","taywan","taywang","teywan","\u4E2D\u83EF\u6C11\u570B","\u4E2D\u83EF\u6C11\u570B\uFF08\u81FA\u7063\uFF09","\u4E2D\u83EF\u81FA\u5317","\u53F0\u7063","\u81FA\u6F8E\u91D1\u99AC","\u81FA\u7063"]},{iso3:"TZA",iso2:"TZ",m49:"834",name:"United Republic of Tanzania",aliases:["\u{1F1F9}\u{1F1FF}","jamhuri ya muungano wa tanganyika na zanzibar","jamhuri ya muungano wa tanzania","tanzania","tanzania jamhuri ya muungano wa","tanzania united republic of","united republic of tanganyika and zanzibar"]},{iso3:"UGA",iso2:"UG",m49:"800",name:"Uganda",aliases:["\u{1F1FA}\u{1F1EC}","jamhuri ya uganda","lulu ya afrika","ouganda","pearl of africa","republic of uganda","ugandah"]},{iso3:"UKR",iso2:"UA",m49:"804",name:"Ukraine",aliases:["\u{1F1FA}\u{1F1E6}","ukr","ukraina","ukrainia","ukrayina","\u0432\u043A\u0440\u0430\u0456\u043D\u0430","\u0443\u043A\u0440\u0430\u0456\u043D\u0430"]},{iso3:"UMI",iso2:"UM",m49:"581",name:"United States Minor Outlying Islands",aliases:["\u{1F1FA}\u{1F1F2}","us minor outlying islands","us outlying islands","usmoi"]},{iso3:"URY",iso2:"UY",m49:"858",name:"Uruguay",aliases:["\u{1F1FA}\u{1F1FE}","eastern republic of uruguay","oriental republic of uruguay"]},{iso3:"USA",iso2:"US",m49:"840",name:"United States of America",aliases:["\u{1F1FA}\u{1F1F8}","amelika","amelika hui pu ia","amelika huipuia","amelika mokuaina hui pu ia","america","eeuu","eeuu de america","estados unidos","estados unidos de america","los estados","los estados unidos","los estados unidos de america","mokuaina hui pu ia","union americana","united states","us","us of a","us of america","usa"]},{iso3:"UZB",iso2:"UZ",m49:"860",name:"Uzbekistan",aliases:["\u{1F1FA}\u{1F1FF}","ozbek","ozbekiston","ozbekiston respublikasi","republic of uzbekistan","uzbekiston respublikasi"]},{iso3:"VAT",iso2:"VA",m49:"336",name:"Holy See",aliases:["\u{1F1FB}\u{1F1E6}","citta del vaticano","civitas vaticana","colle vaticano","papal state","santa sede citta del vaticano","state of vatican city","stato della citta del vaticano","status civitatis vaticanae","status civitatis vatican\xE6","vatican","vatican city","vatican city state","vaticano"]},{iso3:"VCT",iso2:"VC",m49:"670",name:"Saint Vincent and the Grenadines",aliases:["\u{1F1FB}\u{1F1E8}","grenadines","saint vincent","saint vincent and grenadines"]},{iso3:"VEN",iso2:"VE",m49:"862",name:"Venezuela (Bolivarian Republic of)",aliases:["\u{1F1FB}\u{1F1EA}","bolivarian republic of venezuela","br venezuela","estados unidos de venezuela","rb venezuela","republic of venezuela","republica bolivariana de venezuela","republica de venezuela","venezuela"]},{iso3:"VGB",iso2:"VG",m49:"092",name:"British Virgin Islands",aliases:["\u{1F1FB}\u{1F1EC}","bvi","virgin islands british","virgin islands of the united kingdom","virgin islands united kingdom"]},{iso3:"VIR",iso2:"VI",m49:"850",name:"United States Virgin Islands",aliases:["\u{1F1FB}\u{1F1EE}","american virgin islands","us virgin islands","virgin islands of the united states","virgin islands us"]},{iso3:"VNM",iso2:"VN",m49:"704",name:"Viet Nam",aliases:["\u{1F1FB}\u{1F1F3}","chxhcn viet nam","chxhcnvn","cong hoa xa hoi chu nghia viet nam","socialist republic of viet nam","socialist republic of vietnam","vietnam"]},{iso3:"VUT",iso2:"VU",m49:"548",name:"Vanuatu",aliases:["\u{1F1FB}\u{1F1FA}","la republique du vanuatu","republic of vanuatu","republique de vanuatu","ripablik blong vanuatu"]},{iso3:"WLF",iso2:"WF",m49:"876",name:"Wallis and Futuna Islands",aliases:["\u{1F1FC}\u{1F1EB}","collectivite des iles wallis et futuna","emeni simete","futuna","iles wallis et futuna","makape papilio","territoire de wallis et futuna","territoire des iles wallis et futuna","wallis","wallis & futuna","wallis et futuna"]},{iso3:"WSM",iso2:"WS",m49:"882",name:"Samoa",aliases:["\u{1F1FC}\u{1F1F8}","independent state of samoa","malo saoloto tutoatasi o samoa","samoa i sisifo","western samoa"]},{iso3:"YEM",iso2:"YE",m49:"887",name:"Yemen",aliases:["\u{1F1FE}\u{1F1EA}","rep yemen","republic of yemen","\u0627\u0644\u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0627\u0644\u064A\u0645\u0646\u064A\u0629","\u0627\u0644\u064A\u0645\u0646","\u062F\u0648\u0644\u0629 \u0627\u0644\u064A\u0645\u0646"]},{iso3:"ZAF",iso2:"ZA",m49:"710",name:"South Africa",aliases:["\u{1F1FF}\u{1F1E6}","aferika borwa","aforika borwa","afrika boroa","afrika borwa","afrika dzonga","afurika tshipembe","emzantsi afrika","iningizimu afrika","iriphabhulikhi ye ningizimu afrika","iriphabhulikhi yeningizimu afrika","iriphabhuliki yase ningizimu afrika","iriphabliki yasemzantsi afrika","iriphabliki yaseningizimu afrika","iriphabliki yom zantsi afrika","isewula afrika","repabliki ya afrika borwa","rephaboliki ya aforika borwa","rephaboliki ya afrika borwa","republic of south africa","republiek van suid afrika","riphabliki ra afrika dzonga","rsa","suid afrika","umzansi","umzantsi afrika","unie van suid afrika","union of south africa"]},{iso3:"ZMB",iso2:"ZM",m49:"894",name:"Zambia",aliases:["\u{1F1FF}\u{1F1F2}","northern rhodesia","republic of zambia"]},{iso3:"ZWE",iso2:"ZW",m49:"716",name:"Zimbabwe",aliases:["\u{1F1FF}\u{1F1FC}","ezimbabwe","izimbabwe","republic of zimbabwe","rhodesia","southern rhodesia","zimbabwe rhodesia","zimbagwe"]}];function n(o){return o.normalize("NFD").replace(/[̀-ͯ]/g,"").normalize("NFC").toLowerCase().replace(/[ً-ٟ]/g,"").replace(/['‘’ʻʼʽˈ′`]/g,"").replace(/&/g," and ").replace(/([,(])\s*the\b/g,"$1").replace(/[.(),[\]]/g,"").replace(/[-–—]/g," ").replace(/\bst\b/g,"saint").trim().replace(/\s+/g," ").replace(/^the\s+/,"")}function i(o){let x=new Map,M=new Map,T=new Map;for(let m of o)x.set(m.iso3,m),m.iso2&&M.set(m.iso2,m),m.m49&&T.set(m.m49,m);let E=new Map;for(let m of o)for(let h of[m.name,...m.aliases]){let b=n(h),_=E.get(b);if(_!==void 0&&_!==m.iso3)throw new Error(`Duplicate name/alias "${b}": ${_} vs ${m.iso3}`);E.set(b,m.iso3)}function g(m){if(m==null)return;let h=String(m).trim();if(!h)return;if(/^\d+$/.test(h)){let _=T.get(String(parseInt(h,10)).padStart(3,"0"));if(_)return _}if(/^[A-Za-z]{2}$/.test(h)){let _=M.get(h.toUpperCase());if(_)return _}if(/^[A-Za-z]{3}$/.test(h)){let _=x.get(h.toUpperCase());if(_)return _}let b=E.get(n(h));return b===void 0?void 0:x.get(b)}function A(m){var h;return(h=g(m))==null?void 0:h.iso3}return{lookup:g,lookupAlpha3:A,byAlpha3:x,byAlpha2:M,byM49:T}}var s=i(r),c=s.lookup,p=s.lookupAlpha3,f=s.byAlpha3,d=s.byAlpha2,y=s.byM49}}),zb=De({"node_modules/@turf/helpers/dist/cjs/index.cjs"(j){"use strict";Object.defineProperty(j,"__esModule",{value:!0});var N=63710088e-1,u={centimeters:N*100,centimetres:N*100,degrees:360/(2*Math.PI),feet:N*3.28084,inches:N*39.37,kilometers:N/1e3,kilometres:N/1e3,meters:N,metres:N,miles:N/1609.344,millimeters:N*1e3,millimetres:N*1e3,nauticalmiles:N/1852,radians:1,yards:N*1.0936},v={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,nauticalmiles:29155334959812285e-23,millimeters:1e6,millimetres:1e6,yards:1.195990046};function w(C,F,R={}){let z={type:"Feature"};return(R.id===0||R.id)&&(z.id=R.id),R.bbox&&(z.bbox=R.bbox),z.properties=F||{},z.geometry=C,z}function S(C,F,R={}){switch(C){case"Point":return l(F).geometry;case"LineString":return r(F).geometry;case"Polygon":return t(F).geometry;case"MultiPoint":return c(F).geometry;case"MultiLineString":return s(F).geometry;case"MultiPolygon":return p(F).geometry;default:throw new Error(C+" is invalid")}}function l(C,F,R={}){if(!C)throw new Error("coordinates is required");if(!Array.isArray(C))throw new Error("coordinates must be an Array");if(C.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!h(C[0])||!h(C[1]))throw new Error("coordinates must contain numbers");return w({type:"Point",coordinates:C},F,R)}function e(C,F,R={}){return i(C.map(z=>l(z,F)),R)}function t(C,F,R={}){for(let D of C){if(D.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");if(D[D.length-1].length!==D[0].length)throw new Error("First and last Position are not equivalent.");for(let k=0;kt(z,F)),R)}function r(C,F,R={}){if(C.length<2)throw new Error("coordinates must be an array of two or more positions");return w({type:"LineString",coordinates:C},F,R)}function n(C,F,R={}){return i(C.map(z=>r(z,F)),R)}function i(C,F={}){let R={type:"FeatureCollection"};return F.id&&(R.id=F.id),F.bbox&&(R.bbox=F.bbox),R.features=C,R}function s(C,F,R={}){return w({type:"MultiLineString",coordinates:C},F,R)}function c(C,F,R={}){return w({type:"MultiPoint",coordinates:C},F,R)}function p(C,F,R={}){return w({type:"MultiPolygon",coordinates:C},F,R)}function f(C,F,R={}){return w({type:"GeometryCollection",geometries:C},F,R)}function d(C,F=0){if(F&&!(F>=0))throw new Error("precision must be a positive number");let R=Math.pow(10,F||0);return Math.round(C*R)/R}function y(C,F="kilometers"){let R=u[F];if(!R)throw new Error(F+" units is invalid");return C*R}function o(C,F="kilometers"){let R=u[F];if(!R)throw new Error(F+" units is invalid");return C/R}function x(C,F){return E(o(C,F))}function M(C){let F=C%360;return F<0&&(F+=360),F}function T(C){return C=C%360,C>180?C-360:C<-180?C+360:C}function E(C){return C%(2*Math.PI)*180/Math.PI}function g(C){return C%360*Math.PI/180}function A(C,F="kilometers",R="kilometers"){if(!(C>=0))throw new Error("length must be a positive number");return y(o(C,F),R)}function m(C,F="meters",R="kilometers"){if(!(C>=0))throw new Error("area must be a positive number");let z=v[F];if(!z)throw new Error("invalid original units");let D=v[R];if(!D)throw new Error("invalid final units");return C/z*D}function h(C){return!isNaN(C)&&C!==null&&!Array.isArray(C)}function b(C){return C!==null&&typeof C=="object"&&!Array.isArray(C)}function _(C){if(!C)throw new Error("bbox is required");if(!Array.isArray(C))throw new Error("bbox must be an Array");if(C.length!==4&&C.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");C.forEach(F=>{if(!h(F))throw new Error("bbox must only contain numbers")})}function I(C){if(!C)throw new Error("id is required");if(["string","number"].indexOf(typeof C)===-1)throw new Error("id must be a number or a string")}j.areaFactors=v,j.azimuthToBearing=T,j.bearingToAzimuth=M,j.convertArea=m,j.convertLength=A,j.degreesToRadians=g,j.earthRadius=N,j.factors=u,j.feature=w,j.featureCollection=i,j.geometry=S,j.geometryCollection=f,j.isNumber=h,j.isObject=b,j.lengthToDegrees=x,j.lengthToRadians=o,j.lineString=r,j.lineStrings=n,j.multiLineString=s,j.multiPoint=c,j.multiPolygon=p,j.point=l,j.points=e,j.polygon=t,j.polygons=a,j.radiansToDegrees=E,j.radiansToLength=y,j.round=d,j.validateBBox=_,j.validateId=I}}),Bb=De({"node_modules/@turf/meta/dist/cjs/index.cjs"(j){"use strict";Object.defineProperty(j,"__esModule",{value:!0});var N=zb();function u(o,x,M){if(o!==null)for(var T,E,g,A,m,h,b,_=0,I=0,C,F=o.type,R=F==="FeatureCollection",z=F==="Feature",D=R?o.features.length:1,k=0;kh||R>b||z>_){m=I,h=T,b=R,_=z,g=0;return}var D=N.lineString.call(void 0,[m,I],M.properties);if(x(D,T,E,z,g)===!1)return!1;g++,m=I})===!1)return!1}}})}function c(o,x,M){var T=M,E=!1;return s(o,function(g,A,m,h,b){E===!1&&M===void 0?T=g:T=x(T,g,A,m,h,b),E=!0}),T}function p(o,x){if(!o)throw new Error("geojson is required");n(o,function(M,T,E){if(M.geometry!==null){var g=M.geometry.type,A=M.geometry.coordinates;switch(g){case"LineString":if(x(M,T,E,0,0)===!1)return!1;break;case"Polygon":for(var m=0;mn+w(i),0)}function w(r){let n=0,i;switch(r.type){case"Polygon":return S(r.coordinates);case"MultiPolygon":for(i=0;i0){n+=Math.abs(t(r[0]));for(let i=1;i=n?(s+2)%n:s+2],d=c[0]*e,y=p[1]*e,o=f[0]*e;i+=(o-d)*Math.sin(y),s++}return i*l}var a=v;j.area=v,j.default=a}}),yO=De({"node_modules/@turf/centroid/dist/cjs/index.cjs"(j){"use strict";Object.defineProperty(j,"__esModule",{value:!0});var N=zb(),u=Bb();function v(S,l={}){let e=0,t=0,a=0;return u.coordEach.call(void 0,S,function(r){e+=r[0],t+=r[1],a++},!0),N.point.call(void 0,[e/a,t/a],l.properties)}var w=v;j.centroid=v,j.default=w}}),gg=De({"node_modules/d3-array/dist/d3-array.js"(j,N){(function(u,v){v(typeof j=="object"&&typeof N<"u"?j:u.d3=u.d3||{})})(j,function(u){"use strict";function v(K,V){return KV?1:K>=V?0:NaN}function w(K){return K.length===1&&(K=S(K)),{left:function(V,$,X,Z){for(X==null&&(X=0),Z==null&&(Z=V.length);X>>1;K(V[Q],$)<0?X=Q+1:Z=Q}return X},right:function(V,$,X,Z){for(X==null&&(X=0),Z==null&&(Z=V.length);X>>1;K(V[Q],$)>0?Z=Q:X=Q+1}return X}}}function S(K){return function(V,$){return v(K(V),$)}}var l=w(v),e=l.right,t=l.left;function a(K,V){V==null&&(V=r);for(var $=0,X=K.length-1,Z=K[0],Q=new Array(X<0?0:X);$K?1:V>=K?0:NaN}function s(K){return K===null?NaN:+K}function c(K,V){var $=K.length,X=0,Z=-1,Q=0,re,ce,me=0;if(V==null)for(;++Z<$;)isNaN(re=s(K[Z]))||(ce=re-Q,Q+=ce/++X,me+=ce*(re-Q));else for(;++Z<$;)isNaN(re=s(V(K[Z],Z,K)))||(ce=re-Q,Q+=ce/++X,me+=ce*(re-Q));if(X>1)return me/(X-1)}function p(K,V){var $=c(K,V);return $&&Math.sqrt($)}function f(K,V){var $=K.length,X=-1,Z,Q,re;if(V==null){for(;++X<$;)if((Z=K[X])!=null&&Z>=Z)for(Q=re=Z;++X<$;)(Z=K[X])!=null&&(Q>Z&&(Q=Z),re=Z)for(Q=re=Z;++X<$;)(Z=V(K[X],X,K))!=null&&(Q>Z&&(Q=Z),re0)return[K];if((X=V0)for(K=Math.ceil(K/ce),V=Math.floor(V/ce),re=new Array(Q=Math.ceil(V-K+1));++Z=0?(Q>=E?10:Q>=g?5:Q>=A?2:1)*Math.pow(10,Z):-Math.pow(10,-Z)/(Q>=E?10:Q>=g?5:Q>=A?2:1)}function b(K,V,$){var X=Math.abs(V-K)/Math.max(0,$),Z=Math.pow(10,Math.floor(Math.log(X)/Math.LN10)),Q=X/Z;return Q>=E?Z*=10:Q>=g?Z*=5:Q>=A&&(Z*=2),VSe;)Ce.pop(),--qe;var Ue=new Array(qe+1),xe;for(Q=0;Q<=qe;++Q)xe=Ue[Q]=[],xe.x0=Q>0?Ce[Q-1]:Ae,xe.x1=Q=1)return+$(K[X-1],X-1,K);var X,Z=(X-1)*V,Q=Math.floor(Z),re=+$(K[Q],Q,K),ce=+$(K[Q+1],Q+1,K);return re+(ce-re)*(Z-Q)}}function F(K,V,$){return K=o.call(K,s).sort(v),Math.ceil(($-V)/(2*(C(K,.75)-C(K,.25))*Math.pow(K.length,-1/3)))}function R(K,V,$){return Math.ceil(($-V)/(3.5*p(K)*Math.pow(K.length,-1/3)))}function z(K,V){var $=K.length,X=-1,Z,Q;if(V==null){for(;++X<$;)if((Z=K[X])!=null&&Z>=Z)for(Q=Z;++X<$;)(Z=K[X])!=null&&Z>Q&&(Q=Z)}else for(;++X<$;)if((Z=V(K[X],X,K))!=null&&Z>=Z)for(Q=Z;++X<$;)(Z=V(K[X],X,K))!=null&&Z>Q&&(Q=Z);return Q}function D(K,V){var $=K.length,X=$,Z=-1,Q,re=0;if(V==null)for(;++Z<$;)isNaN(Q=s(K[Z]))?--X:re+=Q;else for(;++Z<$;)isNaN(Q=s(V(K[Z],Z,K)))?--X:re+=Q;if(X)return re/X}function k(K,V){var $=K.length,X=-1,Z,Q=[];if(V==null)for(;++X<$;)isNaN(Z=s(K[X]))||Q.push(Z);else for(;++X<$;)isNaN(Z=s(V(K[X],X,K)))||Q.push(Z);return C(Q.sort(v),.5)}function B(K){for(var V=K.length,$,X=-1,Z=0,Q,re;++X=0;)for(re=K[V],$=re.length;--$>=0;)Q[--Z]=re[$];return Q}function O(K,V){var $=K.length,X=-1,Z,Q;if(V==null){for(;++X<$;)if((Z=K[X])!=null&&Z>=Z)for(Q=Z;++X<$;)(Z=K[X])!=null&&Q>Z&&(Q=Z)}else for(;++X<$;)if((Z=V(K[X],X,K))!=null&&Z>=Z)for(Q=Z;++X<$;)(Z=V(K[X],X,K))!=null&&Q>Z&&(Q=Z);return Q}function q(K,V){for(var $=V.length,X=new Array($);$--;)X[$]=K[V[$]];return X}function Y(K,V){if($=K.length){var $,X=0,Z=0,Q,re=K[Z];for(V==null&&(V=v);++X<$;)(V(Q=K[X],re)<0||V(re,re)!==0)&&(re=Q,Z=X);if(V(re,re)===0)return Z}}function ee(K,V,$){for(var X=($??K.length)-(V=V==null?0:+V),Z,Q;X;)Q=Math.random()*X--|0,Z=K[X+V],K[X+V]=K[Q+V],K[Q+V]=Z;return K}function te(K,V){var $=K.length,X=-1,Z,Q=0;if(V==null)for(;++X<$;)(Z=+K[X])&&(Q+=Z);else for(;++X<$;)(Z=+V(K[X],X,K))&&(Q+=Z);return Q}function ae(K){if(!(Q=K.length))return[];for(var V=-1,$=O(K,U),X=new Array($);++V<$;)for(var Z=-1,Q,re=X[V]=new Array(Q);++Z0?1:Tt<0?-1:0},m=Math.sqrt,h=Math.tan;function b(Tt){return Tt>1?0:Tt<-1?r:Math.acos(Tt)}function _(Tt){return Tt>1?n:Tt<-1?-n:Math.asin(Tt)}function I(Tt){return(Tt=g(Tt/2))*Tt}function C(){}function F(Tt,jt){Tt&&z.hasOwnProperty(Tt.type)&&z[Tt.type](Tt,jt)}var R={Feature:function(Tt,jt){F(Tt.geometry,jt)},FeatureCollection:function(Tt,jt){for(var yr=Tt.features,dr=-1,Wr=yr.length;++dr=0?1:-1,Wr=dr*yr,ma=o(jt),za=g(jt),Ja=U*za,nn=ae*ma+Ja*o(Wr),Tn=Ja*dr*g(Wr);O.add(y(Tn,nn)),te=Tt,ae=ma,U=za}function Z(Tt){return q.reset(),B(Tt,H),q*2}function Q(Tt){return[y(Tt[1],Tt[0]),_(Tt[2])]}function re(Tt){var jt=Tt[0],yr=Tt[1],dr=o(yr);return[dr*o(jt),dr*g(jt),g(yr)]}function ce(Tt,jt){return Tt[0]*jt[0]+Tt[1]*jt[1]+Tt[2]*jt[2]}function me(Tt,jt){return[Tt[1]*jt[2]-Tt[2]*jt[1],Tt[2]*jt[0]-Tt[0]*jt[2],Tt[0]*jt[1]-Tt[1]*jt[0]]}function ye(Tt,jt){Tt[0]+=jt[0],Tt[1]+=jt[1],Tt[2]+=jt[2]}function Ae(Tt,jt){return[Tt[0]*jt,Tt[1]*jt,Tt[2]*jt]}function Se(Tt){var jt=m(Tt[0]*Tt[0]+Tt[1]*Tt[1]+Tt[2]*Tt[2]);Tt[0]/=jt,Tt[1]/=jt,Tt[2]/=jt}var Ce,qe,Ue,xe,he,oe,le,ne,be=w(),Fe,Ve,je={point:ut,lineStart:yt,lineEnd:At,polygonStart:function(){je.point=Pt,je.lineStart=Zt,je.lineEnd=vr,be.reset(),H.polygonStart()},polygonEnd:function(){H.polygonEnd(),je.point=ut,je.lineStart=yt,je.lineEnd=At,O<0?(Ce=-(Ue=180),qe=-(xe=90)):be>t?xe=90:be<-t&&(qe=-90),Ve[0]=Ce,Ve[1]=Ue},sphere:function(){Ce=-(Ue=180),qe=-(xe=90)}};function ut(Tt,jt){Fe.push(Ve=[Ce=Tt,Ue=Tt]),jtxe&&(xe=jt)}function st(Tt,jt){var yr=re([Tt*p,jt*p]);if(ne){var dr=me(ne,yr),Wr=[dr[1],-dr[0],0],ma=me(Wr,dr);Se(ma),ma=Q(ma);var za=Tt-he,Ja=za>0?1:-1,nn=ma[0]*c*Ja,Tn,Ba=f(za)>180;Ba^(Ja*hexe&&(xe=Tn)):(nn=(nn+360)%360-180,Ba^(Ja*hexe&&(xe=jt))),Ba?TtNt(Ce,Ue)&&(Ue=Tt):Nt(Tt,Ue)>Nt(Ce,Ue)&&(Ce=Tt):Ue>=Ce?(TtUe&&(Ue=Tt)):Tt>he?Nt(Ce,Tt)>Nt(Ce,Ue)&&(Ue=Tt):Nt(Tt,Ue)>Nt(Ce,Ue)&&(Ce=Tt)}else Fe.push(Ve=[Ce=Tt,Ue=Tt]);jtxe&&(xe=jt),ne=yr,he=Tt}function yt(){je.point=st}function At(){Ve[0]=Ce,Ve[1]=Ue,je.point=ut,ne=null}function Pt(Tt,jt){if(ne){var yr=Tt-he;be.add(f(yr)>180?yr+(yr>0?360:-360):yr)}else oe=Tt,le=jt;H.point(Tt,jt),st(Tt,jt)}function Zt(){H.lineStart()}function vr(){Pt(oe,le),H.lineEnd(),f(be)>t&&(Ce=-(Ue=180)),Ve[0]=Ce,Ve[1]=Ue,ne=null}function Nt(Tt,jt){return(jt-=Tt)<0?jt+360:jt}function Kt(Tt,jt){return Tt[0]-jt[0]}function nt(Tt,jt){return Tt[0]<=Tt[1]?Tt[0]<=jt&&jt<=Tt[1]:jtNt(dr[0],dr[1])&&(dr[1]=Wr[1]),Nt(Wr[0],dr[1])>Nt(dr[0],dr[1])&&(dr[0]=Wr[0])):ma.push(dr=Wr);for(za=-1/0,yr=ma.length-1,jt=0,dr=ma[yr];jt<=yr;dr=Wr,++jt)Wr=ma[jt],(Ja=Nt(dr[1],Wr[0]))>za&&(za=Ja,Ce=Wr[0],Ue=dr[1])}return Fe=Ve=null,Ce===1/0||qe===1/0?[[NaN,NaN],[NaN,NaN]]:[[Ce,qe],[Ue,xe]]}var ze,ve,_e,Ie,Be,We,Xe,mt,ft,ht,gt,_t,Ft,St,hr,jr,ra={sphere:C,point:$r,lineStart:oa,lineEnd:Ta,polygonStart:function(){ra.lineStart=Da,ra.lineEnd=La},polygonEnd:function(){ra.lineStart=oa,ra.lineEnd=Ta}};function $r(Tt,jt){Tt*=p,jt*=p;var yr=o(jt);pa(yr*o(Tt),yr*g(Tt),g(jt))}function pa(Tt,jt,yr){++ze,_e+=(Tt-_e)/ze,Ie+=(jt-Ie)/ze,Be+=(yr-Be)/ze}function oa(){ra.point=aa}function aa(Tt,jt){Tt*=p,jt*=p;var yr=o(jt);St=yr*o(Tt),hr=yr*g(Tt),jr=g(jt),ra.point=ka,pa(St,hr,jr)}function ka(Tt,jt){Tt*=p,jt*=p;var yr=o(jt),dr=yr*o(Tt),Wr=yr*g(Tt),ma=g(jt),za=y(m((za=hr*ma-jr*Wr)*za+(za=jr*dr-St*ma)*za+(za=St*Wr-hr*dr)*za),St*dr+hr*Wr+jr*ma);ve+=za,We+=za*(St+(St=dr)),Xe+=za*(hr+(hr=Wr)),mt+=za*(jr+(jr=ma)),pa(St,hr,jr)}function Ta(){ra.point=$r}function Da(){ra.point=Ga}function La(){xa(_t,Ft),ra.point=$r}function Ga(Tt,jt){_t=Tt,Ft=jt,Tt*=p,jt*=p,ra.point=xa;var yr=o(jt);St=yr*o(Tt),hr=yr*g(Tt),jr=g(jt),pa(St,hr,jr)}function xa(Tt,jt){Tt*=p,jt*=p;var yr=o(jt),dr=yr*o(Tt),Wr=yr*g(Tt),ma=g(jt),za=hr*ma-jr*Wr,Ja=jr*dr-St*ma,nn=St*Wr-hr*dr,Tn=m(za*za+Ja*Ja+nn*nn),Ba=_(Tn),Na=Tn&&-Ba/Tn;ft+=Na*za,ht+=Na*Ja,gt+=Na*nn,ve+=Ba,We+=Ba*(St+(St=dr)),Xe+=Ba*(hr+(hr=Wr)),mt+=Ba*(jr+(jr=ma)),pa(St,hr,jr)}function Gn(Tt){ze=ve=_e=Ie=Be=We=Xe=mt=ft=ht=gt=0,B(Tt,ra);var jt=ft,yr=ht,dr=gt,Wr=jt*jt+yr*yr+dr*dr;return Wrr?Tt+Math.round(-Tt/s)*s:Tt,jt]}Yn.invert=Yn;function Zn(Tt,jt,yr){return(Tt%=s)?jt||yr?sn(Dn(Tt),oi(jt,yr)):Dn(Tt):jt||yr?oi(jt,yr):Yn}function vi(Tt){return function(jt,yr){return jt+=Tt,[jt>r?jt-s:jt<-r?jt+s:jt,yr]}}function Dn(Tt){var jt=vi(Tt);return jt.invert=vi(-Tt),jt}function oi(Tt,jt){var yr=o(Tt),dr=g(Tt),Wr=o(jt),ma=g(jt);function za(Ja,nn){var Tn=o(nn),Ba=o(Ja)*Tn,Na=g(Ja)*Tn,Xa=g(nn),Aa=Xa*yr+Ba*dr;return[y(Na*Wr-Aa*ma,Ba*yr-Xa*dr),_(Aa*Wr+Na*ma)]}return za.invert=function(Ja,nn){var Tn=o(nn),Ba=o(Ja)*Tn,Na=g(Ja)*Tn,Xa=g(nn),Aa=Xa*Wr-Na*ma;return[y(Na*Wr+Xa*ma,Ba*yr+Aa*dr),_(Aa*yr-Ba*dr)]},za}function on(Tt){Tt=Zn(Tt[0]*p,Tt[1]*p,Tt.length>2?Tt[2]*p:0);function jt(yr){return yr=Tt(yr[0]*p,yr[1]*p),yr[0]*=c,yr[1]*=c,yr}return jt.invert=function(yr){return yr=Tt.invert(yr[0]*p,yr[1]*p),yr[0]*=c,yr[1]*=c,yr},jt}function mn(Tt,jt,yr,dr,Wr,ma){if(yr){var za=o(jt),Ja=g(jt),nn=dr*yr;Wr==null?(Wr=jt+dr*s,ma=jt-nn/2):(Wr=bi(za,Wr),ma=bi(za,ma),(dr>0?Wrma)&&(Wr+=dr*s));for(var Tn,Ba=Wr;dr>0?Ba>ma:Ba1&&Tt.push(Tt.pop().concat(Tt.shift()))},result:function(){var yr=Tt;return Tt=[],jt=null,yr}}}function Va(Tt,jt){return f(Tt[0]-jt[0])=0;--Ja)Wr.point((Na=Ba[Ja])[0],Na[1]);else dr(Xa.x,Xa.p.x,-1,Wr);Xa=Xa.p}Xa=Xa.o,Ba=Xa.z,Aa=!Aa}while(!Xa.v);Wr.lineEnd()}}}function Jt(Tt){if(jt=Tt.length){for(var jt,yr=0,dr=Tt[0],Wr;++yr=0?1:-1,Oo=us*Lo,_s=Oo>r,ko=ci*Oi;if(Yt.add(y(ko*us*g(Oo),pi*ao+ko*o(Oo))),za+=_s?Lo+us*s:Lo,_s^Aa>=yr^Un>=yr){var fl=me(re(Xa),re(Ti));Se(fl);var Os=me(ma,fl);Se(Os);var cs=(_s^Lo>=0?-1:1)*_(Os[2]);(dr>cs||dr===cs&&(fl[0]||fl[1]))&&(Ja+=_s^Lo>=0?1:-1)}}return(za<-t||za0){for(nn||(Wr.polygonStart(),nn=!0),Wr.lineStart(),ao=0;ao1&&_n&2&&Oi.push(Oi.pop().concat(Oi.shift())),Ba.push(Oi.filter(Je))}}return Xa}}function Je(Tt){return Tt.length>1}function bt(Tt,jt){return((Tt=Tt.x)[0]<0?Tt[1]-n-t:n-Tt[1])-((jt=jt.x)[0]<0?jt[1]-n-t:n-jt[1])}var qt=tr(function(){return!0},Qt,Ir,[-r,-n]);function Qt(Tt){var jt=NaN,yr=NaN,dr=NaN,Wr;return{lineStart:function(){Tt.lineStart(),Wr=1},point:function(ma,za){var Ja=ma>0?r:-r,nn=f(ma-jt);f(nn-r)0?n:-n),Tt.point(dr,yr),Tt.lineEnd(),Tt.lineStart(),Tt.point(Ja,yr),Tt.point(ma,yr),Wr=0):dr!==Ja&&nn>=r&&(f(jt-dr)t?d((g(jt)*(ma=o(dr))*g(yr)-g(dr)*(Wr=o(jt))*g(Tt))/(Wr*ma*za)):(jt+dr)/2}function Ir(Tt,jt,yr,dr){var Wr;if(Tt==null)Wr=yr*n,dr.point(-r,Wr),dr.point(0,Wr),dr.point(r,Wr),dr.point(r,0),dr.point(r,-Wr),dr.point(0,-Wr),dr.point(-r,-Wr),dr.point(-r,0),dr.point(-r,Wr);else if(f(Tt[0]-jt[0])>t){var ma=Tt[0]0,Wr=f(jt)>t;function ma(Ba,Na,Xa,Aa){mn(Aa,Tt,yr,Xa,Ba,Na)}function za(Ba,Na){return o(Ba)*o(Na)>jt}function Ja(Ba){var Na,Xa,Aa,Fn,ci;return{lineStart:function(){Fn=Aa=!1,ci=1},point:function(pi,fi){var Ti=[pi,fi],Un,_n=za(pi,fi),Oi=dr?_n?0:Tn(pi,fi):_n?Tn(pi+(pi<0?r:-r),fi):0;if(!Na&&(Fn=Aa=_n)&&Ba.lineStart(),_n!==Aa&&(Un=nn(Na,Ti),(!Un||Va(Na,Un)||Va(Ti,Un))&&(Ti[2]=1)),_n!==Aa)ci=0,_n?(Ba.lineStart(),Un=nn(Ti,Na),Ba.point(Un[0],Un[1])):(Un=nn(Na,Ti),Ba.point(Un[0],Un[1],2),Ba.lineEnd()),Na=Un;else if(Wr&&Na&&dr^_n){var ao;!(Oi&Xa)&&(ao=nn(Ti,Na,!0))&&(ci=0,dr?(Ba.lineStart(),Ba.point(ao[0][0],ao[0][1]),Ba.point(ao[1][0],ao[1][1]),Ba.lineEnd()):(Ba.point(ao[1][0],ao[1][1]),Ba.lineEnd(),Ba.lineStart(),Ba.point(ao[0][0],ao[0][1],3)))}_n&&(!Na||!Va(Na,Ti))&&Ba.point(Ti[0],Ti[1]),Na=Ti,Aa=_n,Xa=Oi},lineEnd:function(){Aa&&Ba.lineEnd(),Na=null},clean:function(){return ci|(Fn&&Aa)<<1}}}function nn(Ba,Na,Xa){var Aa=re(Ba),Fn=re(Na),ci=[1,0,0],pi=me(Aa,Fn),fi=ce(pi,pi),Ti=pi[0],Un=fi-Ti*Ti;if(!Un)return!Xa&&Ba;var _n=jt*fi/Un,Oi=-jt*Ti/Un,ao=me(ci,pi),Lo=Ae(ci,_n),us=Ae(pi,Oi);ye(Lo,us);var Oo=ao,_s=ce(Lo,Oo),ko=ce(Oo,Oo),fl=_s*_s-ko*(ce(Lo,Lo)-1);if(!(fl<0)){var Os=m(fl),cs=Ae(Oo,(-_s-Os)/ko);if(ye(cs,Lo),cs=Q(cs),!Xa)return cs;var ai=Ba[0],Xo=Na[0],os=Ba[1],Do=Na[1],al;Xo0^cs[1]<(f(cs[0]-ai)r^(ai<=cs[0]&&cs[0]<=Xo)){var _l=Ae(Oo,(-_s+Os)/ko);return ye(_l,Lo),[cs,Q(_l)]}}}function Tn(Ba,Na){var Xa=dr?Tt:r-Tt,Aa=0;return Ba<-Xa?Aa|=1:Ba>Xa&&(Aa|=2),Na<-Xa?Aa|=4:Na>Xa&&(Aa|=8),Aa}return tr(za,Ja,ma,dr?[0,-Tt]:[-r,Tt-r])}function Mr(Tt,jt,yr,dr,Wr,ma){var za=Tt[0],Ja=Tt[1],nn=jt[0],Tn=jt[1],Ba=0,Na=1,Xa=nn-za,Aa=Tn-Ja,Fn;if(Fn=yr-za,!(!Xa&&Fn>0)){if(Fn/=Xa,Xa<0){if(Fn0){if(Fn>Na)return;Fn>Ba&&(Ba=Fn)}if(Fn=Wr-za,!(!Xa&&Fn<0)){if(Fn/=Xa,Xa<0){if(Fn>Na)return;Fn>Ba&&(Ba=Fn)}else if(Xa>0){if(Fn0)){if(Fn/=Aa,Aa<0){if(Fn0){if(Fn>Na)return;Fn>Ba&&(Ba=Fn)}if(Fn=ma-Ja,!(!Aa&&Fn<0)){if(Fn/=Aa,Aa<0){if(Fn>Na)return;Fn>Ba&&(Ba=Fn)}else if(Aa>0){if(Fn0&&(Tt[0]=za+Ba*Xa,Tt[1]=Ja+Ba*Aa),Na<1&&(jt[0]=za+Na*Xa,jt[1]=Ja+Na*Aa),!0}}}}}var Xr=1e9,Ra=-Xr;function wa(Tt,jt,yr,dr){function Wr(Tn,Ba){return Tt<=Tn&&Tn<=yr&&jt<=Ba&&Ba<=dr}function ma(Tn,Ba,Na,Xa){var Aa=0,Fn=0;if(Tn==null||(Aa=za(Tn,Na))!==(Fn=za(Ba,Na))||nn(Tn,Ba)<0^Na>0)do Xa.point(Aa===0||Aa===3?Tt:yr,Aa>1?dr:jt);while((Aa=(Aa+Na+4)%4)!==Fn);else Xa.point(Ba[0],Ba[1])}function za(Tn,Ba){return f(Tn[0]-Tt)0?0:3:f(Tn[0]-yr)0?2:1:f(Tn[1]-jt)0?1:0:Ba>0?3:2}function Ja(Tn,Ba){return nn(Tn.x,Ba.x)}function nn(Tn,Ba){var Na=za(Tn,1),Xa=za(Ba,1);return Na!==Xa?Na-Xa:Na===0?Ba[1]-Tn[1]:Na===1?Tn[0]-Ba[0]:Na===2?Tn[1]-Ba[1]:Ba[0]-Tn[0]}return function(Tn){var Ba=Tn,Na=$a(),Xa,Aa,Fn,ci,pi,fi,Ti,Un,_n,Oi,ao,Lo={point:us,lineStart:fl,lineEnd:Os,polygonStart:_s,polygonEnd:ko};function us(ai,Xo){Wr(ai,Xo)&&Ba.point(ai,Xo)}function Oo(){for(var ai=0,Xo=0,os=Aa.length;Xodr&&(Su-Nu)*(dr-_l)>(xl-_l)*(Tt-Nu)&&++ai:xl<=dr&&(Su-Nu)*(dr-_l)<(xl-_l)*(Tt-Nu)&&--ai;return ai}function _s(){Ba=Na,Xa=[],Aa=[],ao=!0}function ko(){var ai=Oo(),Xo=ao&&ai,os=(Xa=v.merge(Xa)).length;(Xo||os)&&(Tn.polygonStart(),Xo&&(Tn.lineStart(),ma(null,null,1,Tn),Tn.lineEnd()),os&&Qe(Xa,Ja,ai,ma,Tn),Tn.polygonEnd()),Ba=Tn,Xa=Aa=Fn=null}function fl(){Lo.point=cs,Aa&&Aa.push(Fn=[]),Oi=!0,_n=!1,Ti=Un=NaN}function Os(){Xa&&(cs(ci,pi),fi&&_n&&Na.rejoin(),Xa.push(Na.result())),Lo.point=us,_n&&Ba.lineEnd()}function cs(ai,Xo){var os=Wr(ai,Xo);if(Aa&&Fn.push([ai,Xo]),Oi)ci=ai,pi=Xo,fi=os,Oi=!1,os&&(Ba.lineStart(),Ba.point(ai,Xo));else if(os&&_n)Ba.point(ai,Xo);else{var Do=[Ti=Math.max(Ra,Math.min(Xr,Ti)),Un=Math.max(Ra,Math.min(Xr,Un))],al=[ai=Math.max(Ra,Math.min(Xr,ai)),Xo=Math.max(Ra,Math.min(Xr,Xo))];Mr(Do,al,Tt,jt,yr,dr)?(_n||(Ba.lineStart(),Ba.point(Do[0],Do[1])),Ba.point(al[0],al[1]),os||Ba.lineEnd(),ao=!1):os&&(Ba.lineStart(),Ba.point(ai,Xo),ao=!1)}Ti=ai,Un=Xo,_n=os}return Lo}}function yn(){var Tt=0,jt=0,yr=960,dr=500,Wr,ma,za;return za={stream:function(Ja){return Wr&&ma===Ja?Wr:Wr=wa(Tt,jt,yr,dr)(ma=Ja)},extent:function(Ja){return arguments.length?(Tt=+Ja[0][0],jt=+Ja[0][1],yr=+Ja[1][0],dr=+Ja[1][1],Wr=ma=null,za):[[Tt,jt],[yr,dr]]}}}var fn=w(),ri,On,ui,jn={sphere:C,point:C,lineStart:oo,lineEnd:C,polygonStart:C,polygonEnd:C};function oo(){jn.point=Mn,jn.lineEnd=Qi}function Qi(){jn.point=jn.lineEnd=C}function Mn(Tt,jt){Tt*=p,jt*=p,ri=Tt,On=g(jt),ui=o(jt),jn.point=bo}function bo(Tt,jt){Tt*=p,jt*=p;var yr=g(jt),dr=o(jt),Wr=f(Tt-ri),ma=o(Wr),za=g(Wr),Ja=dr*za,nn=ui*yr-On*dr*ma,Tn=On*yr+ui*dr*ma;fn.add(y(m(Ja*Ja+nn*nn),Tn)),ri=Tt,On=yr,ui=dr}function so(Tt){return fn.reset(),B(Tt,jn),+fn}var Hi=[null,null],yo={type:"LineString",coordinates:Hi};function Bi(Tt,jt){return Hi[0]=Tt,Hi[1]=jt,so(yo)}var fo={Feature:function(Tt,jt){return po(Tt.geometry,jt)},FeatureCollection:function(Tt,jt){for(var yr=Tt.features,dr=-1,Wr=yr.length;++dr0&&(Wr=Bi(Tt[ma],Tt[ma-1]),Wr>0&&yr<=Wr&&dr<=Wr&&(yr+dr-Wr)*(1-Math.pow((yr-dr)/Wr,2))t}).map(Xa)).concat(v.range(x(ma/Tn)*Tn,Wr,Tn).filter(function(Un){return f(Un%Na)>t}).map(Aa))}return fi.lines=function(){return Ti().map(function(Un){return{type:"LineString",coordinates:Un}})},fi.outline=function(){return{type:"Polygon",coordinates:[Fn(dr).concat(ci(za).slice(1),Fn(yr).reverse().slice(1),ci(Ja).reverse().slice(1))]}},fi.extent=function(Un){return arguments.length?fi.extentMajor(Un).extentMinor(Un):fi.extentMinor()},fi.extentMajor=function(Un){return arguments.length?(dr=+Un[0][0],yr=+Un[1][0],Ja=+Un[0][1],za=+Un[1][1],dr>yr&&(Un=dr,dr=yr,yr=Un),Ja>za&&(Un=Ja,Ja=za,za=Un),fi.precision(pi)):[[dr,Ja],[yr,za]]},fi.extentMinor=function(Un){return arguments.length?(jt=+Un[0][0],Tt=+Un[1][0],ma=+Un[0][1],Wr=+Un[1][1],jt>Tt&&(Un=jt,jt=Tt,Tt=Un),ma>Wr&&(Un=ma,ma=Wr,Wr=Un),fi.precision(pi)):[[jt,ma],[Tt,Wr]]},fi.step=function(Un){return arguments.length?fi.stepMajor(Un).stepMinor(Un):fi.stepMinor()},fi.stepMajor=function(Un){return arguments.length?(Ba=+Un[0],Na=+Un[1],fi):[Ba,Na]},fi.stepMinor=function(Un){return arguments.length?(nn=+Un[0],Tn=+Un[1],fi):[nn,Tn]},fi.precision=function(Un){return arguments.length?(pi=+Un,Xa=Wo(ma,Wr,90),Aa=Go(jt,Tt,pi),Fn=Wo(Ja,za,90),ci=Go(dr,yr,pi),fi):pi},fi.extentMajor([[-180,-90+t],[180,90-t]]).extentMinor([[-180,-80-t],[180,80+t]])}function Ro(){return ns()()}function Zi(Tt,jt){var yr=Tt[0]*p,dr=Tt[1]*p,Wr=jt[0]*p,ma=jt[1]*p,za=o(dr),Ja=g(dr),nn=o(ma),Tn=g(ma),Ba=za*o(yr),Na=za*g(yr),Xa=nn*o(Wr),Aa=nn*g(Wr),Fn=2*_(m(I(ma-dr)+za*nn*I(Wr-yr))),ci=g(Fn),pi=Fn?function(fi){var Ti=g(fi*=Fn)/ci,Un=g(Fn-fi)/ci,_n=Un*Ba+Ti*Xa,Oi=Un*Na+Ti*Aa,ao=Un*Ja+Ti*Tn;return[y(Oi,_n)*c,y(ao,m(_n*_n+Oi*Oi))*c]}:function(){return[yr*c,dr*c]};return pi.distance=Fn,pi}function ls(Tt){return Tt}var Eo=w(),mo=w(),Zs,qo,Ds,Us,is={point:C,lineStart:C,lineEnd:C,polygonStart:function(){is.lineStart=cl,is.lineEnd=Gl},polygonEnd:function(){is.lineStart=is.lineEnd=is.point=C,Eo.add(f(mo)),mo.reset()},result:function(){var Tt=Eo/2;return Eo.reset(),Tt}};function cl(){is.point=ml}function ml(Tt,jt){is.point=Qo,Zs=Ds=Tt,qo=Us=jt}function Qo(Tt,jt){mo.add(Us*Tt-Ds*jt),Ds=Tt,Us=jt}function Gl(){Qo(Zs,qo)}var ys=1/0,$o=ys,wo=-ys,go=wo,rs={point:$l,lineStart:C,lineEnd:C,polygonStart:C,polygonEnd:C,result:function(){var Tt=[[ys,$o],[wo,go]];return wo=go=-($o=ys=1/0),Tt}};function $l(Tt,jt){Ttwo&&(wo=Tt),jt<$o&&($o=jt),jt>go&&(go=jt)}var cu=0,Kl=0,Wu=0,Yu=0,rc=0,ac=0,xc=0,Ec=0,fu=0,hu,du,Jl,Fs,Yo={point:tl,lineStart:wu,lineEnd:zs,polygonStart:function(){Yo.lineStart=Zf,Yo.lineEnd=Io},polygonEnd:function(){Yo.point=tl,Yo.lineStart=wu,Yo.lineEnd=zs},result:function(){var Tt=fu?[xc/fu,Ec/fu]:ac?[Yu/ac,rc/ac]:Wu?[cu/Wu,Kl/Wu]:[NaN,NaN];return cu=Kl=Wu=Yu=rc=ac=xc=Ec=fu=0,Tt}};function tl(Tt,jt){cu+=Tt,Kl+=jt,++Wu}function wu(){Yo.point=Xu}function Xu(Tt,jt){Yo.point=kc,tl(Jl=Tt,Fs=jt)}function kc(Tt,jt){var yr=Tt-Jl,dr=jt-Fs,Wr=m(yr*yr+dr*dr);Yu+=Wr*(Jl+Tt)/2,rc+=Wr*(Fs+jt)/2,ac+=Wr,tl(Jl=Tt,Fs=jt)}function zs(){Yo.point=tl}function Zf(){Yo.point=$f}function Io(){Vo(hu,du)}function $f(Tt,jt){Yo.point=Vo,tl(hu=Jl=Tt,du=Fs=jt)}function Vo(Tt,jt){var yr=Tt-Jl,dr=jt-Fs,Wr=m(yr*yr+dr*dr);Yu+=Wr*(Jl+Tt)/2,rc+=Wr*(Fs+jt)/2,ac+=Wr,Wr=Fs*Tt-Jl*jt,xc+=Wr*(Jl+Tt),Ec+=Wr*(Fs+jt),fu+=Wr*3,tl(Jl=Tt,Fs=jt)}function qi(Tt){this._context=Tt}qi.prototype={_radius:4.5,pointRadius:function(Tt){return this._radius=Tt,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(Tt,jt){switch(this._point){case 0:{this._context.moveTo(Tt,jt),this._point=1;break}case 1:{this._context.lineTo(Tt,jt);break}default:{this._context.moveTo(Tt+this._radius,jt),this._context.arc(Tt,jt,this._radius,0,s);break}}},result:C};var Zu=w(),bc,El,mf,Au,nc,rl={point:C,lineStart:function(){rl.point=gf},lineEnd:function(){bc&&Yc(El,mf),rl.point=C},polygonStart:function(){bc=!0},polygonEnd:function(){bc=null},result:function(){var Tt=+Zu;return Zu.reset(),Tt}};function gf(Tt,jt){rl.point=Yc,El=Au=Tt,mf=nc=jt}function Yc(Tt,jt){Au-=Tt,nc-=jt,Zu.add(m(Au*Au+nc*nc)),Au=Tt,nc=jt}function ic(){this._string=[]}ic.prototype={_radius:4.5,_circle:oc(4.5),pointRadius:function(Tt){return(Tt=+Tt)!==this._radius&&(this._radius=Tt,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(Tt,jt){switch(this._point){case 0:{this._string.push("M",Tt,",",jt),this._point=1;break}case 1:{this._string.push("L",Tt,",",jt);break}default:{this._circle==null&&(this._circle=oc(this._radius)),this._string.push("M",Tt,",",jt,this._circle);break}}},result:function(){if(this._string.length){var Tt=this._string.join("");return this._string=[],Tt}else return null}};function oc(Tt){return"m0,"+Tt+"a"+Tt+","+Tt+" 0 1,1 0,"+-2*Tt+"a"+Tt+","+Tt+" 0 1,1 0,"+2*Tt+"z"}function Xc(Tt,jt){var yr=4.5,dr,Wr;function ma(za){return za&&(typeof yr=="function"&&Wr.pointRadius(+yr.apply(this,arguments)),B(za,dr(Wr))),Wr.result()}return ma.area=function(za){return B(za,dr(is)),is.result()},ma.measure=function(za){return B(za,dr(rl)),rl.result()},ma.bounds=function(za){return B(za,dr(rs)),rs.result()},ma.centroid=function(za){return B(za,dr(Yo)),Yo.result()},ma.projection=function(za){return arguments.length?(dr=za==null?(Tt=null,ls):(Tt=za).stream,ma):Tt},ma.context=function(za){return arguments.length?(Wr=za==null?(jt=null,new ic):new qi(jt=za),typeof yr!="function"&&Wr.pointRadius(yr),ma):jt},ma.pointRadius=function(za){return arguments.length?(yr=typeof za=="function"?za:(Wr.pointRadius(+za),+za),ma):yr},ma.projection(Tt).context(jt)}function Zc(Tt){return{stream:Ql(Tt)}}function Ql(Tt){return function(jt){var yr=new Cc;for(var dr in Tt)yr[dr]=Tt[dr];return yr.stream=jt,yr}}function Cc(){}Cc.prototype={constructor:Cc,point:function(Tt,jt){this.stream.point(Tt,jt)},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 eu(Tt,jt,yr){var dr=Tt.clipExtent&&Tt.clipExtent();return Tt.scale(150).translate([0,0]),dr!=null&&Tt.clipExtent(null),B(yr,Tt.stream(rs)),jt(rs.result()),dr!=null&&Tt.clipExtent(dr),Tt}function sc(Tt,jt,yr){return eu(Tt,function(dr){var Wr=jt[1][0]-jt[0][0],ma=jt[1][1]-jt[0][1],za=Math.min(Wr/(dr[1][0]-dr[0][0]),ma/(dr[1][1]-dr[0][1])),Ja=+jt[0][0]+(Wr-za*(dr[1][0]+dr[0][0]))/2,nn=+jt[0][1]+(ma-za*(dr[1][1]+dr[0][1]))/2;Tt.scale(150*za).translate([Ja,nn])},yr)}function qs(Tt,jt,yr){return sc(Tt,[[0,0],jt],yr)}function lc(Tt,jt,yr){return eu(Tt,function(dr){var Wr=+jt,ma=Wr/(dr[1][0]-dr[0][0]),za=(Wr-ma*(dr[1][0]+dr[0][0]))/2,Ja=-ma*dr[0][1];Tt.scale(150*ma).translate([za,Ja])},yr)}function Fu(Tt,jt,yr){return eu(Tt,function(dr){var Wr=+jt,ma=Wr/(dr[1][1]-dr[0][1]),za=-ma*dr[0][0],Ja=(Wr-ma*(dr[1][1]+dr[0][1]))/2;Tt.scale(150*ma).translate([za,Ja])},yr)}var Ko=16,Lc=o(30*p);function Kf(Tt,jt){return+jt?$u(Tt,jt):yf(Tt)}function yf(Tt){return Ql({point:function(jt,yr){jt=Tt(jt,yr),this.stream.point(jt[0],jt[1])}})}function $u(Tt,jt){function yr(dr,Wr,ma,za,Ja,nn,Tn,Ba,Na,Xa,Aa,Fn,ci,pi){var fi=Tn-dr,Ti=Ba-Wr,Un=fi*fi+Ti*Ti;if(Un>4*jt&&ci--){var _n=za+Xa,Oi=Ja+Aa,ao=nn+Fn,Lo=m(_n*_n+Oi*Oi+ao*ao),us=_(ao/=Lo),Oo=f(f(ao)-1)jt||f((fi*Os+Ti*cs)/Un-.5)>.3||za*Xa+Ja*Aa+nn*Fn2?ai[2]%360*p:0,Os()):[Ja*c,nn*c,Tn*c]},ko.angle=function(ai){return arguments.length?(Na=ai%360*p,Os()):Na*c},ko.reflectX=function(ai){return arguments.length?(Xa=ai?-1:1,Os()):Xa<0},ko.reflectY=function(ai){return arguments.length?(Aa=ai?-1:1,Os()):Aa<0},ko.precision=function(ai){return arguments.length?(ao=Kf(Lo,Oi=ai*ai),cs()):m(Oi)},ko.fitExtent=function(ai,Xo){return sc(ko,ai,Xo)},ko.fitSize=function(ai,Xo){return qs(ko,ai,Xo)},ko.fitWidth=function(ai,Xo){return lc(ko,ai,Xo)},ko.fitHeight=function(ai,Xo){return Fu(ko,ai,Xo)};function Os(){var ai=Gs(yr,0,0,Xa,Aa,Na).apply(null,jt(ma,za)),Xo=(Na?Gs:Jf)(yr,dr-ai[0],Wr-ai[1],Xa,Aa,Na);return Ba=Zn(Ja,nn,Tn),Lo=sn(jt,Xo),us=sn(Ba,Lo),ao=Kf(Lo,Oi),cs()}function cs(){return Oo=_s=null,ko}return function(){return jt=Tt.apply(this,arguments),ko.invert=jt.invert&&fl,Os()}}function Es(Tt){var jt=0,yr=r/3,dr=xf(Tt),Wr=dr(jt,yr);return Wr.parallels=function(ma){return arguments.length?dr(jt=ma[0]*p,yr=ma[1]*p):[jt*c,yr*c]},Wr}function zu(Tt){var jt=o(Tt);function yr(dr,Wr){return[dr*jt,g(Wr)/jt]}return yr.invert=function(dr,Wr){return[dr/jt,_(Wr*jt)]},yr}function Fl(Tt,jt){var yr=g(Tt),dr=(yr+g(jt))/2;if(f(dr)=.12&&pi<.234&&ci>=-.425&&ci<-.214?Wr:pi>=.166&&pi<.234&&ci>=-.214&&ci<-.115?za:yr).invert(Xa)},Ba.stream=function(Xa){return Tt&&jt===Xa?Tt:Tt=$c([yr.stream(jt=Xa),Wr.stream(Xa),za.stream(Xa)])},Ba.precision=function(Xa){return arguments.length?(yr.precision(Xa),Wr.precision(Xa),za.precision(Xa),Na()):yr.precision()},Ba.scale=function(Xa){return arguments.length?(yr.scale(Xa),Wr.scale(Xa*.35),za.scale(Xa),Ba.translate(yr.translate())):yr.scale()},Ba.translate=function(Xa){if(!arguments.length)return yr.translate();var Aa=yr.scale(),Fn=+Xa[0],ci=+Xa[1];return dr=yr.translate(Xa).clipExtent([[Fn-.455*Aa,ci-.238*Aa],[Fn+.455*Aa,ci+.238*Aa]]).stream(Tn),ma=Wr.translate([Fn-.307*Aa,ci+.201*Aa]).clipExtent([[Fn-.425*Aa+t,ci+.12*Aa+t],[Fn-.214*Aa-t,ci+.234*Aa-t]]).stream(Tn),Ja=za.translate([Fn-.205*Aa,ci+.212*Aa]).clipExtent([[Fn-.214*Aa+t,ci+.166*Aa+t],[Fn-.115*Aa-t,ci+.234*Aa-t]]).stream(Tn),Na()},Ba.fitExtent=function(Xa,Aa){return sc(Ba,Xa,Aa)},Ba.fitSize=function(Xa,Aa){return qs(Ba,Xa,Aa)},Ba.fitWidth=function(Xa,Aa){return lc(Ba,Xa,Aa)},Ba.fitHeight=function(Xa,Aa){return Fu(Ba,Xa,Aa)};function Na(){return Tt=jt=null,Ba}return Ba.scale(1070)}function vu(Tt){return function(jt,yr){var dr=o(jt),Wr=o(yr),ma=Tt(dr*Wr);return[ma*Wr*g(jt),ma*g(yr)]}}function Bu(Tt){return function(jt,yr){var dr=m(jt*jt+yr*yr),Wr=Tt(dr),ma=g(Wr),za=o(Wr);return[y(jt*ma,dr*za),_(dr&&yr*ma/dr)]}}var Tu=vu(function(Tt){return m(2/(1+Tt))});Tu.invert=Bu(function(Tt){return 2*_(Tt/2)});function wh(){return tu(Tu).scale(124.75).clipAngle(180-.001)}var Ac=vu(function(Tt){return(Tt=b(Tt))&&Tt/g(Tt)});Ac.invert=Bu(function(Tt){return Tt});function Qf(){return tu(Ac).scale(79.4188).clipAngle(180-.001)}function Vl(Tt,jt){return[Tt,T(h((n+jt)/2))]}Vl.invert=function(Tt,jt){return[Tt,2*d(M(jt))-n]};function uc(){return $s(Vl).scale(961/s)}function $s(Tt){var jt=tu(Tt),yr=jt.center,dr=jt.scale,Wr=jt.translate,ma=jt.clipExtent,za=null,Ja,nn,Tn;jt.scale=function(Na){return arguments.length?(dr(Na),Ba()):dr()},jt.translate=function(Na){return arguments.length?(Wr(Na),Ba()):Wr()},jt.center=function(Na){return arguments.length?(yr(Na),Ba()):yr()},jt.clipExtent=function(Na){return arguments.length?(Na==null?za=Ja=nn=Tn=null:(za=+Na[0][0],Ja=+Na[0][1],nn=+Na[1][0],Tn=+Na[1][1]),Ba()):za==null?null:[[za,Ja],[nn,Tn]]};function Ba(){var Na=r*dr(),Xa=jt(on(jt.rotate()).invert([0,0]));return ma(za==null?[[Xa[0]-Na,Xa[1]-Na],[Xa[0]+Na,Xa[1]+Na]]:Tt===Vl?[[Math.max(Xa[0]-Na,za),Ja],[Math.min(Xa[0]+Na,nn),Tn]]:[[za,Math.max(Xa[1]-Na,Ja)],[nn,Math.min(Xa[1]+Na,Tn)]])}return Ba()}function Ju(Tt){return h((n+Tt)/2)}function vh(Tt,jt){var yr=o(Tt),dr=Tt===jt?g(Tt):T(yr/o(jt))/T(Ju(jt)/Ju(Tt)),Wr=yr*E(Ju(Tt),dr)/dr;if(!dr)return Vl;function ma(za,Ja){Wr>0?Ja<-n+t&&(Ja=-n+t):Ja>n-t&&(Ja=n-t);var nn=Wr/E(Ju(Ja),dr);return[nn*g(dr*za),Wr-nn*o(dr*za)]}return ma.invert=function(za,Ja){var nn=Wr-Ja,Tn=A(dr)*m(za*za+nn*nn),Ba=y(za,f(nn))*A(nn);return nn*dr<0&&(Ba-=r*A(za)*A(nn)),[Ba/dr,2*d(E(Wr/Tn,1/dr))-n]},ma}function Kc(){return Es(vh).scale(109.5).parallels([30,30])}function hs(Tt,jt){return[Tt,jt]}hs.invert=hs;function kl(){return tu(hs).scale(152.63)}function zl(Tt,jt){var yr=o(Tt),dr=Tt===jt?g(Tt):(yr-o(jt))/(jt-Tt),Wr=yr/dr+Tt;if(f(dr)t&&--dr>0);return[Tt/(.8707+(ma=yr*yr)*(-.131979+ma*(-.013791+ma*ma*ma*(.003971-.001529*ma)))),yr]};function Dc(){return tu(Af).scale(175.295)}function yl(Tt,jt){return[o(jt)*g(Tt),g(jt)]}yl.invert=Bu(_);function Mu(){return tu(yl).scale(249.5).clipAngle(90+t)}function Tf(Tt,jt){var yr=o(jt),dr=1+o(Tt)*yr;return[yr*g(Tt)/dr,g(jt)/dr]}Tf.invert=Bu(function(Tt){return 2*d(Tt)});function th(){return tu(Tf).scale(250).clipAngle(142)}function Fc(Tt,jt){return[T(h((n+jt)/2)),-Tt]}Fc.invert=function(Tt,jt){return[-jt,2*d(M(Tt))-n]};function Ou(){var Tt=$s(Fc),jt=Tt.center,yr=Tt.rotate;return Tt.center=function(dr){return arguments.length?jt([-dr[1],dr[0]]):(dr=jt(),[dr[1],-dr[0]])},Tt.rotate=function(dr){return arguments.length?yr([dr[0],dr[1],dr.length>2?dr[2]+90:90]):(dr=yr(),[dr[0],dr[1],dr[2]-90])},yr([0,0,90]).scale(159.155)}u.geoAlbers=wc,u.geoAlbersUsa=bf,u.geoArea=Z,u.geoAzimuthalEqualArea=wh,u.geoAzimuthalEqualAreaRaw=Tu,u.geoAzimuthalEquidistant=Qf,u.geoAzimuthalEquidistantRaw=Ac,u.geoBounds=Ee,u.geoCentroid=Gn,u.geoCircle=Li,u.geoClipAntimeridian=qt,u.geoClipCircle=Cr,u.geoClipExtent=yn,u.geoClipRectangle=wa,u.geoConicConformal=Kc,u.geoConicConformalRaw=vh,u.geoConicEqualArea=Ku,u.geoConicEqualAreaRaw=Fl,u.geoConicEquidistant=Jc,u.geoConicEquidistantRaw=zl,u.geoContains=Co,u.geoDistance=Bi,u.geoEqualEarth=tf,u.geoEqualEarthRaw=ef,u.geoEquirectangular=kl,u.geoEquirectangularRaw=hs,u.geoGnomonic=eh,u.geoGnomonicRaw=wf,u.geoGraticule=ns,u.geoGraticule10=Ro,u.geoIdentity=Ic,u.geoInterpolate=Zi,u.geoLength=so,u.geoMercator=uc,u.geoMercatorRaw=Vl,u.geoNaturalEarth1=Dc,u.geoNaturalEarth1Raw=Af,u.geoOrthographic=Mu,u.geoOrthographicRaw=yl,u.geoPath=Xc,u.geoProjection=tu,u.geoProjectionMutator=xf,u.geoRotation=on,u.geoStereographic=th,u.geoStereographicRaw=Tf,u.geoStream=B,u.geoTransform=Zc,u.geoTransverseMercator=Ou,u.geoTransverseMercatorRaw=Fc,Object.defineProperty(u,"__esModule",{value:!0})})}}),_O=De({"src/lib/usa_location_names.js"(j,N){"use strict";var u={alabama:"AL",alaska:"AK",arizona:"AZ",arkansas:"AR",california:"CA",colorado:"CO",connecticut:"CT",delaware:"DE","district of columbia":"DC",florida:"FL",georgia:"GA",hawaii:"HI",idaho:"ID",illinois:"IL",indiana:"IN",iowa:"IA",kansas:"KS",kentucky:"KY",louisiana:"LA",maine:"ME",maryland:"MD",massachusetts:"MA",michigan:"MI",minnesota:"MN",mississippi:"MS",missouri:"MO",montana:"MT",nebraska:"NE",nevada:"NV","new hampshire":"NH","new jersey":"NJ","new mexico":"NM","new york":"NY","north carolina":"NC","north dakota":"ND",ohio:"OH",oklahoma:"OK",oregon:"OR",pennsylvania:"PA","rhode island":"RI","south carolina":"SC","south dakota":"SD",tennessee:"TN",texas:"TX",utah:"UT",vermont:"VT",virginia:"VA",washington:"WA","washington dc":"DC","washington d.c.":"DC","west virginia":"WV",wisconsin:"WI",wyoming:"WY"},v=new Set(Object.values(u));N.exports={usaLocationAbbreviations:v,usaLocationList:u}}}),dT={};Zo(dT,{COUNTRIES_X:()=>vT});var vT,xO=di({"src/lib/custom_country_codes.ts"(){"use strict";vT=[{iso3:"XAC",iso2:"",m49:"",name:"Aksai Chin",aliases:[]},{iso3:"XAP",iso2:"",m49:"",name:"Arunachal Pradesh",aliases:[]},{iso3:"XBT",iso2:"",m49:"",name:"Bir Tawil",aliases:[]},{iso3:"XHT",iso2:"",m49:"",name:"Halaib Triangle",aliases:[]},{iso3:"XJK",iso2:"",m49:"",name:"Jammu and Kashmir",aliases:[]}]}}),av=De({"src/lib/geo_location_utils.js"(j,N){"use strict";var u=Qn(),{COUNTRIES:v,createLookup:w}=mO(),{area:S}=gO(),{centroid:l}=yO(),{coordAll:e}=Bb(),{geoBounds:t}=Ob(),a=b1(),r=Xd(),n=Bv(),i=v1(),s=C1(),{usaLocationAbbreviations:c,usaLocationList:p}=_O(),{COUNTRIES_X:f}=(xO(),ts(dT)),{lookupAlpha3:d}=w([...v,...f]),y={"ISO-3":a,"USA-states":x,"country names":o};function o(F){let R=d(F);return R||(r.log("Unrecognized country name: "+F+"."),!1)}function x(F){F=F.trim();let R=c.has(F.toUpperCase())?F.toUpperCase():p[F.toLowerCase()];return R||(r.log("Unrecognized US location: "+F+"."),!1)}function M(F,R,z){var D;if(!R||typeof R!="string")return!1;let k=y[F](R);if(k){let B;if(F==="USA-states"){B=[];for(let O of z)((D=O?.properties)==null?void 0:D.gu)==="USA"&&B.push(O)}else B=z;for(let O of B)if(O.id===k)return O;r.log(`Location with id ${k} does not have a matching topojson feature at this resolution.`)}return!1}var T=360;function E(F){for(let R=0;R0&&F[R+1][0]<0)return R;return null}function g(F){var R=F.geometry,z=R.coordinates,D=F.id,k=[],B,O,q,Y;switch(D==="RUS"||D==="FJI"?B=function(ee){var te;if(E(ee)===null)te=ee;else for(te=new Array(ee.length),Y=0;Yte?ae[U++]=[ee[Y][0]+T,ee[Y][1]]:Y===te?(ae[U++]=ee[Y],ae[U++]=[ee[Y][0],-90]):ae[U++]=ee[Y];var H=s.tester(ae);H.pts.pop(),k.push(H)}:B=function(ee){k.push(s.tester(ee))},R.type){case"MultiPolygon":for(O=0;O0?K.properties.ct=h(K):K.properties.ct=[NaN,NaN],U.fIn=te,U.fOut=K,k.push(K)}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 D[ae]}switch(z.type){case"FeatureCollection":var Y=z.features;for(B=0;Bk&&(k=q,z=O)}else z=R;return l(z).geometry.coordinates}function b(F){var R=window.PlotlyGeoAssets||{},z=[];function D(Y){return new Promise(function(ee,te){u.json(Y,function(ae,U){if(ae){delete R[Y];var H=ae.status===404?'GeoJSON at URL "'+Y+'" does not exist.':"Unexpected error while fetching from "+Y;return te(new Error(H))}return R[Y]=U,ee(U)})})}function k(Y){return new Promise(function(ee,te){var ae=0,U=setInterval(function(){if(R[Y]&&R[Y]!=="pending")return clearInterval(U),ee(R[Y]);if(ae>100)return clearInterval(U),te("Unexpected error while fetching from "+Y);ae++},50)})}for(var B=0;Bq-Y);if(R.length<2)return null;let z=R.length,D=R[z-1]-R[0];if(D>=360)return null;let k=-1/0,B=-1;for(let q=0;qk&&(k=Y,B=q)}let O=360-D;return k<=O?null:[R[B+1],R[B]+T]}function C([F,R]){return[F,F>R?R+T:R]}N.exports={locationToFeature:M,feature2polygons:g,getTraceGeojson:A,extractTraceFeature:m,fetchTraceGeoData:b,computeBbox:_,doesCrossAntiMeridian:E,getFitboundsLonRange:I,unwrapLonRange:C,ANTIMERIDIAN_LON_SHIFT:T}}}),pT=De({"src/traces/scattergeo/style.js"(j,N){"use strict";var u=Qn(),v=Ki(),w=ii(),S=bh(),l=S.stylePoints,e=S.styleText;N.exports=function(r,n){n&&t(r,n)};function t(a,r){var n=r[0].trace,i=r[0].node3;i.style("opacity",r[0].trace.opacity),l(i,n,a),e(i,n,a),i.selectAll("path.js-line").style("fill","none").each(function(s){var c=u.select(this),p=s.trace,f=p.line||{};c.call(w.stroke,f.color).call(v.dashLine,f.dash||"",f.width||0),p.fill!=="none"&&c.call(w.fill,p.fillcolor)})}}}),mT=De({"src/traces/scattergeo/plot.js"(j,N){"use strict";var u=Qn(),v=Ar(),w=Fb().getTopojsonFeatures,S=mg(),l=av(),e=sd().findExtremes,t=Ho().BADNUM,a=ed().calcMarkerSize,r=Sl(),n=pT();function i(c,p,f){var d=p.layers.frontplot.select(".scatterlayer"),y=v.makeTraceGroups(d,f,"trace scattergeo");function o(x,M){x.lonlat[0]===t&&u.select(M).remove()}y.selectAll("*").remove(),y.each(function(x){var M=u.select(this),T=x[0].trace;if(r.hasLines(T)||T.fill!=="none"){var E=S.calcTraceToLineCoords(x),g=T.fill!=="none"?S.makePolygon(E):S.makeLine(E);M.selectAll("path.js-line").data([{geojson:g,trace:T}]).enter().append("path").classed("js-line",!0).style("stroke-miterlimit",2)}r.hasMarkers(T)&&M.selectAll("path.point").data(v.identity).enter().append("path").classed("point",!0).each(function(A){o(A,this)}),r.hasText(T)&&M.selectAll("g").data(v.identity).enter().append("g").append("text").each(function(A){o(A,this)}),n(c,x)})}function s(c,p){var f=c[0].trace,d=p[f.geo],y=d._subplot,o=f._length,x,M;if(v.isArrayOrTypedArray(f.locations)){var T=f.locationmode,E=T==="geojson-id"?l.extractTraceFeature(c):w(f,y.topojson);for(x=0;x")}}}),wO=De({"src/traces/scattergeo/event_data.js"(j,N){"use strict";N.exports=function(v,w,S,l,e){v.lon=w.lon,v.lat=w.lat,v.location=w.loc?w.loc:null;var t=l[e];return t.fIn&&t.fIn.properties&&(v.properties=t.fIn.properties),v}}}),AO=De({"src/traces/scattergeo/select.js"(j,N){"use strict";var u=Sl(),v=Ho().BADNUM;N.exports=function(S,l){var e=S.cd,t=S.xaxis,a=S.yaxis,r=[],n=e[0].trace,i,s,c,p,f,d=!u.hasMarkers(n)&&!u.hasText(n);if(d)return[];if(l===!1)for(f=0;f0?1:Le<0?-1:0},d=Math.sin,y=Math.tan,o=1e-6,x=1e-12,M=Math.PI,T=M/2,E=M/4,g=Math.SQRT1_2,A=R(2),m=R(M),h=M*2,b=180/M,_=M/180;function I(Le){return Le?Le/Math.sin(Le):1}function C(Le){return Le>1?T:Le<-1?-T:Math.asin(Le)}function F(Le){return Le>1?0:Le<-1?M:Math.acos(Le)}function R(Le){return Le>0?Math.sqrt(Le):0}function z(Le){return Le=a(2*Le),(Le-1)/(Le+1)}function D(Le){return(a(Le)-a(-Le))/2}function k(Le){return(a(Le)+a(-Le))/2}function B(Le){return n(Le+R(Le*Le+1))}function O(Le){return n(Le+R(Le*Le-1))}function q(Le){var Oe=y(Le/2),Ge=2*n(t(Le/2))/(Oe*Oe);function $e(lt,tt){var dt=t(lt),Rt=t(tt),Ot=d(tt),Xt=Rt*dt,nr=-((1-Xt?n((1+Xt)/2)/(1-Xt):-.5)+Ge/(1+Xt));return[nr*Rt*d(lt),nr*Ot]}return $e.invert=function(lt,tt){var dt=R(lt*lt+tt*tt),Rt=-Le/2,Ot=50,Xt;if(!dt)return[0,0];do{var nr=Rt/2,pr=t(nr),Lr=d(nr),Br=Lr/pr,Kr=-n(S(pr));Rt-=Xt=(2/Br*Kr-Ge*Br-dt)/(-Kr/(Lr*Lr)+1-Ge/(2*pr*pr))*(pr<0?.7:1)}while(S(Xt)>o&&--Ot>0);var ya=d(Rt);return[e(lt*ya,dt*t(Rt)),C(tt*ya/dt)]},$e}function Y(){var Le=T,Oe=v.geoProjectionMutator(q),Ge=Oe(Le);return Ge.radius=function($e){return arguments.length?Oe(Le=$e*_):Le*b},Ge.scale(179.976).clipAngle(147)}function ee(Le,Oe){var Ge=t(Oe),$e=I(F(Ge*t(Le/=2)));return[2*Ge*d(Le)*$e,d(Oe)*$e]}ee.invert=function(Le,Oe){if(!(Le*Le+4*Oe*Oe>M*M+o)){var Ge=Le,$e=Oe,lt=25;do{var tt=d(Ge),dt=d(Ge/2),Rt=t(Ge/2),Ot=d($e),Xt=t($e),nr=d(2*$e),pr=Ot*Ot,Lr=Xt*Xt,Br=dt*dt,Kr=1-Lr*Rt*Rt,ya=Kr?F(Xt*Rt)*R(Za=1/Kr):Za=0,Za,Ha=2*ya*Xt*dt-Le,un=ya*Ot-Oe,Bn=Za*(Lr*Br+ya*Xt*Rt*pr),li=Za*(.5*tt*nr-ya*2*Ot*dt),Jn=Za*.25*(nr*dt-ya*Ot*Lr*tt),Pi=Za*(pr*Rt+ya*Br*Xt),ho=li*Jn-Pi*Bn;if(!ho)break;var to=(un*li-Ha*Pi)/ho,as=(Ha*Jn-un*Bn)/ho;Ge-=to,$e-=as}while((S(to)>o||S(as)>o)&&--lt>0);return[Ge,$e]}};function te(){return v.geoProjection(ee).scale(152.63)}function ae(Le){var Oe=d(Le),Ge=t(Le),$e=Le>=0?1:-1,lt=y($e*Le),tt=(1+Oe-Ge)/2;function dt(Rt,Ot){var Xt=t(Ot),nr=t(Rt/=2);return[(1+Xt)*d(Rt),($e*Ot>-e(nr,lt)-.001?0:-$e*10)+tt+d(Ot)*Ge-(1+Xt)*Oe*nr]}return dt.invert=function(Rt,Ot){var Xt=0,nr=0,pr=50;do{var Lr=t(Xt),Br=d(Xt),Kr=t(nr),ya=d(nr),Za=1+Kr,Ha=Za*Br-Rt,un=tt+ya*Ge-Za*Oe*Lr-Ot,Bn=Za*Lr/2,li=-Br*ya,Jn=Oe*Za*Br/2,Pi=Ge*Kr+Oe*Lr*ya,ho=li*Jn-Pi*Bn,to=(un*li-Ha*Pi)/ho/2,as=(Ha*Jn-un*Bn)/ho;S(as)>2&&(as/=2),Xt-=to,nr-=as}while((S(to)>o||S(as)>o)&&--pr>0);return $e*nr>-e(t(Xt),lt)-.001?[Xt*2,nr]:null},dt}function U(){var Le=20*_,Oe=Le>=0?1:-1,Ge=y(Oe*Le),$e=v.geoProjectionMutator(ae),lt=$e(Le),tt=lt.stream;return lt.parallel=function(dt){return arguments.length?(Ge=y((Oe=(Le=dt*_)>=0?1:-1)*Le),$e(Le)):Le*b},lt.stream=function(dt){var Rt=lt.rotate(),Ot=tt(dt),Xt=(lt.rotate([0,0]),tt(dt)),nr=lt.precision();return lt.rotate(Rt),Ot.sphere=function(){Xt.polygonStart(),Xt.lineStart();for(var pr=Oe*-180;Oe*pr<180;pr+=Oe*90)Xt.point(pr,Oe*90);if(Le)for(;Oe*(pr-=3*Oe*nr)>=-180;)Xt.point(pr,Oe*-e(t(pr*_/2),Ge)*b);Xt.lineEnd(),Xt.polygonEnd()},Ot},lt.scale(218.695).center([0,28.0974])}function H(Le,Oe){var Ge=y(Oe/2),$e=R(1-Ge*Ge),lt=1+$e*t(Le/=2),tt=d(Le)*$e/lt,dt=Ge/lt,Rt=tt*tt,Ot=dt*dt;return[4/3*tt*(3+Rt-3*Ot),4/3*dt*(3+3*Rt-Ot)]}H.invert=function(Le,Oe){if(Le*=3/8,Oe*=3/8,!Le&&S(Oe)>1)return null;var Ge=Le*Le,$e=Oe*Oe,lt=1+Ge+$e,tt=R((lt-R(lt*lt-4*Oe*Oe))/2),dt=C(tt)/3,Rt=tt?O(S(Oe/tt))/3:B(S(Le))/3,Ot=t(dt),Xt=k(Rt),nr=Xt*Xt-Ot*Ot;return[f(Le)*2*e(D(Rt)*Ot,.25-nr),f(Oe)*2*e(Xt*d(dt),.25+nr)]};function K(){return v.geoProjection(H).scale(66.1603)}var V=R(8),$=n(1+A);function X(Le,Oe){var Ge=S(Oe);return Gex&&--$e>0);return[Le/(t(Ge)*(V-1/d(Ge))),f(Oe)*Ge]};function Z(){return v.geoProjection(X).scale(112.314)}function Q(Le){var Oe=2*M/Le;function Ge($e,lt){var tt=v.geoAzimuthalEquidistantRaw($e,lt);if(S($e)>T){var dt=e(tt[1],tt[0]),Rt=R(tt[0]*tt[0]+tt[1]*tt[1]),Ot=Oe*p((dt-T)/Oe)+T,Xt=e(d(dt-=Ot),2-t(dt));dt=Ot+C(M/Rt*d(Xt))-Xt,tt[0]=Rt*t(dt),tt[1]=Rt*d(dt)}return tt}return Ge.invert=function($e,lt){var tt=R($e*$e+lt*lt);if(tt>T){var dt=e(lt,$e),Rt=Oe*p((dt-T)/Oe)+T,Ot=dt>Rt?-1:1,Xt=tt*t(Rt-dt),nr=1/y(Ot*F((Xt-M)/R(M*(M-2*Xt)+tt*tt)));dt=Rt+2*l((nr+Ot*R(nr*nr-3))/3),$e=tt*t(dt),lt=tt*d(dt)}return v.geoAzimuthalEquidistantRaw.invert($e,lt)},Ge}function re(){var Le=5,Oe=v.geoProjectionMutator(Q),Ge=Oe(Le),$e=Ge.stream,lt=.01,tt=-t(lt*_),dt=d(lt*_);return Ge.lobes=function(Rt){return arguments.length?Oe(Le=+Rt):Le},Ge.stream=function(Rt){var Ot=Ge.rotate(),Xt=$e(Rt),nr=(Ge.rotate([0,0]),$e(Rt));return Ge.rotate(Ot),Xt.sphere=function(){nr.polygonStart(),nr.lineStart();for(var pr=0,Lr=360/Le,Br=2*M/Le,Kr=90-180/Le,ya=T;pr0&&S(lt)>o);return $e<0?NaN:Ge}function Se(Le,Oe,Ge){return Oe===void 0&&(Oe=40),Ge===void 0&&(Ge=x),function($e,lt,tt,dt){var Rt,Ot,Xt;tt=tt===void 0?0:+tt,dt=dt===void 0?0:+dt;for(var nr=0;nrRt){tt-=Ot/=2,dt-=Xt/=2;continue}Rt=Kr;var ya=(tt>0?-1:1)*Ge,Za=(dt>0?-1:1)*Ge,Ha=Le(tt+ya,dt),un=Le(tt,dt+Za),Bn=(Ha[0]-pr[0])/ya,li=(Ha[1]-pr[1])/ya,Jn=(un[0]-pr[0])/Za,Pi=(un[1]-pr[1])/Za,ho=Pi*Bn-li*Jn,to=(S(ho)<.5?.5:1)/ho;if(Ot=(Br*Jn-Lr*Pi)*to,Xt=(Lr*li-Br*Bn)*to,tt+=Ot,dt+=Xt,S(Ot)0&&(Rt[1]*=1+Ot/1.5*Rt[0]*Rt[0]),Rt}return $e.invert=Se($e),$e}function qe(){return v.geoProjection(Ce()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function Ue(Le,Oe){var Ge=Le*d(Oe),$e=30,lt;do Oe-=lt=(Oe+d(Oe)-Ge)/(1+t(Oe));while(S(lt)>o&&--$e>0);return Oe/2}function xe(Le,Oe,Ge){function $e(lt,tt){return[Le*lt*t(tt=Ue(Ge,tt)),Oe*d(tt)]}return $e.invert=function(lt,tt){return tt=C(tt/Oe),[lt/(Le*t(tt)),C((2*tt+d(2*tt))/Ge)]},$e}var he=xe(A/T,A,M);function oe(){return v.geoProjection(he).scale(169.529)}var le=2.00276,ne=1.11072;function be(Le,Oe){var Ge=Ue(M,Oe);return[le*Le/(1/t(Oe)+ne/t(Ge)),(Oe+A*d(Ge))/le]}be.invert=function(Le,Oe){var Ge=le*Oe,$e=Oe<0?-E:E,lt=25,tt,dt;do dt=Ge-A*d($e),$e-=tt=(d(2*$e)+2*$e-M*d(dt))/(2*t(2*$e)+2+M*t(dt)*A*t($e));while(S(tt)>o&&--lt>0);return dt=Ge-A*d($e),[Le*(1/t(dt)+ne/t($e))/le,dt]};function Fe(){return v.geoProjection(be).scale(160.857)}function Ve(Le){var Oe=0,Ge=v.geoProjectionMutator(Le),$e=Ge(Oe);return $e.parallel=function(lt){return arguments.length?Ge(Oe=lt*_):Oe*b},$e}function je(Le,Oe){return[Le*t(Oe),Oe]}je.invert=function(Le,Oe){return[Le/t(Oe),Oe]};function ut(){return v.geoProjection(je).scale(152.63)}function st(Le){if(!Le)return je;var Oe=1/y(Le);function Ge($e,lt){var tt=Oe+Le-lt,dt=tt&&$e*t(lt)/tt;return[tt*d(dt),Oe-tt*t(dt)]}return Ge.invert=function($e,lt){var tt=R($e*$e+(lt=Oe-lt)*lt),dt=Oe+Le-tt;return[tt/t(dt)*e($e,lt),dt]},Ge}function yt(){return Ve(st).scale(123.082).center([0,26.1441]).parallel(45)}function At(Le){function Oe(Ge,$e){var lt=T-$e,tt=lt&&Ge*Le*d(lt)/lt;return[lt*d(tt)/Le,T-lt*t(tt)]}return Oe.invert=function(Ge,$e){var lt=Ge*Le,tt=T-$e,dt=R(lt*lt+tt*tt),Rt=e(lt,tt);return[(dt?dt/d(dt):1)*Rt/Le,T-dt]},Oe}function Pt(){var Le=.5,Oe=v.geoProjectionMutator(At),Ge=Oe(Le);return Ge.fraction=function($e){return arguments.length?Oe(Le=+$e):Le},Ge.scale(158.837)}var Zt=xe(1,4/M,M);function vr(){return v.geoProjection(Zt).scale(152.63)}function Nt(Le,Oe,Ge,$e,lt,tt){var dt=t(tt),Rt;if(S(Le)>1||S(tt)>1)Rt=F(Ge*lt+Oe*$e*dt);else{var Ot=d(Le/2),Xt=d(tt/2);Rt=2*C(R(Ot*Ot+Oe*$e*Xt*Xt))}return S(Rt)>o?[Rt,e($e*d(tt),Oe*lt-Ge*$e*dt)]:[0,0]}function Kt(Le,Oe,Ge){return F((Le*Le+Oe*Oe-Ge*Ge)/(2*Le*Oe))}function nt(Le){return Le-2*M*r((Le+M)/(2*M))}function Ee(Le,Oe,Ge){for(var $e=[[Le[0],Le[1],d(Le[1]),t(Le[1])],[Oe[0],Oe[1],d(Oe[1]),t(Oe[1])],[Ge[0],Ge[1],d(Ge[1]),t(Ge[1])]],lt=$e[2],tt,dt=0;dt<3;++dt,lt=tt)tt=$e[dt],lt.v=Nt(tt[1]-lt[1],lt[3],lt[2],tt[3],tt[2],tt[0]-lt[0]),lt.point=[0,0];var Rt=Kt($e[0].v[0],$e[2].v[0],$e[1].v[0]),Ot=Kt($e[0].v[0],$e[1].v[0],$e[2].v[0]),Xt=M-Rt;$e[2].point[1]=0,$e[0].point[0]=-($e[1].point[0]=$e[0].v[0]/2);var nr=[$e[2].point[0]=$e[0].point[0]+$e[2].v[0]*t(Rt),2*($e[0].point[1]=$e[1].point[1]=$e[2].v[0]*d(Rt))];function pr(Lr,Br){var Kr=d(Br),ya=t(Br),Za=new Array(3),Ha;for(Ha=0;Ha<3;++Ha){var un=$e[Ha];if(Za[Ha]=Nt(Br-un[1],un[3],un[2],ya,Kr,Lr-un[0]),!Za[Ha][0])return un.point;Za[Ha][1]=nt(Za[Ha][1]-un.v[1])}var Bn=nr.slice();for(Ha=0;Ha<3;++Ha){var li=Ha==2?0:Ha+1,Jn=Kt($e[Ha].v[0],Za[Ha][0],Za[li][0]);Za[Ha][1]<0&&(Jn=-Jn),Ha?Ha==1?(Jn=Ot-Jn,Bn[0]-=Za[Ha][0]*t(Jn),Bn[1]-=Za[Ha][0]*d(Jn)):(Jn=Xt-Jn,Bn[0]+=Za[Ha][0]*t(Jn),Bn[1]+=Za[Ha][0]*d(Jn)):(Bn[0]+=Za[Ha][0]*t(Jn),Bn[1]-=Za[Ha][0]*d(Jn))}return Bn[0]/=3,Bn[1]/=3,Bn}return pr}function ze(Le){return Le[0]*=_,Le[1]*=_,Le}function ve(){return _e([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function _e(Le,Oe,Ge){var $e=v.geoCentroid({type:"MultiPoint",coordinates:[Le,Oe,Ge]}),lt=[-$e[0],-$e[1]],tt=v.geoRotation(lt),dt=Ee(ze(tt(Le)),ze(tt(Oe)),ze(tt(Ge)));dt.invert=Se(dt);var Rt=v.geoProjection(dt).rotate(lt),Ot=Rt.center;return delete Rt.rotate,Rt.center=function(Xt){return arguments.length?Ot(tt(Xt)):tt.invert(Ot())},Rt.clipAngle(90)}function Ie(Le,Oe){var Ge=R(1-d(Oe));return[2/m*Le*Ge,m*(1-Ge)]}Ie.invert=function(Le,Oe){var Ge=(Ge=Oe/m-1)*Ge;return[Ge>0?Le*R(M/Ge)/2:0,C(1-Ge)]};function Be(){return v.geoProjection(Ie).scale(95.6464).center([0,30])}function We(Le){var Oe=y(Le);function Ge($e,lt){return[$e,($e?$e/d($e):1)*(d(lt)*t($e)-Oe*t(lt))]}return Ge.invert=Oe?function($e,lt){$e&&(lt*=d($e)/$e);var tt=t($e);return[$e,2*e(R(tt*tt+Oe*Oe-lt*lt)-tt,Oe-lt)]}:function($e,lt){return[$e,C($e?lt*y($e)/$e:lt)]},Ge}function Xe(){return Ve(We).scale(249.828).clipAngle(90)}var mt=R(3);function ft(Le,Oe){return[mt*Le*(2*t(2*Oe/3)-1)/m,mt*m*d(Oe/3)]}ft.invert=function(Le,Oe){var Ge=3*C(Oe/(mt*m));return[m*Le/(mt*(2*t(2*Ge/3)-1)),Ge]};function ht(){return v.geoProjection(ft).scale(156.19)}function gt(Le){var Oe=t(Le);function Ge($e,lt){return[$e*Oe,d(lt)/Oe]}return Ge.invert=function($e,lt){return[$e/Oe,C(lt*Oe)]},Ge}function _t(){return Ve(gt).parallel(38.58).scale(195.044)}function Ft(Le){var Oe=t(Le);function Ge($e,lt){return[$e*Oe,(1+Oe)*y(lt/2)]}return Ge.invert=function($e,lt){return[$e/Oe,l(lt/(1+Oe))*2]},Ge}function St(){return Ve(Ft).scale(124.75)}function hr(Le,Oe){var Ge=R(8/(3*M));return[Ge*Le*(1-S(Oe)/M),Ge*Oe]}hr.invert=function(Le,Oe){var Ge=R(8/(3*M)),$e=Oe/Ge;return[Le/(Ge*(1-S($e)/M)),$e]};function jr(){return v.geoProjection(hr).scale(165.664)}function ra(Le,Oe){var Ge=R(4-3*d(S(Oe)));return[2/R(6*M)*Le*Ge,f(Oe)*R(2*M/3)*(2-Ge)]}ra.invert=function(Le,Oe){var Ge=2-S(Oe)/R(2*M/3);return[Le*R(6*M)/(2*Ge),f(Oe)*C((4-Ge*Ge)/3)]};function $r(){return v.geoProjection(ra).scale(165.664)}function pa(Le,Oe){var Ge=R(M*(4+M));return[2/Ge*Le*(1+R(1-4*Oe*Oe/(M*M))),4/Ge*Oe]}pa.invert=function(Le,Oe){var Ge=R(M*(4+M))/2;return[Le*Ge/(1+R(1-Oe*Oe*(4+M)/(4*M))),Oe*Ge/2]};function oa(){return v.geoProjection(pa).scale(180.739)}function aa(Le,Oe){var Ge=(2+T)*d(Oe);Oe/=2;for(var $e=0,lt=1/0;$e<10&&S(lt)>o;$e++){var tt=t(Oe);Oe-=lt=(Oe+d(Oe)*(tt+2)-Ge)/(2*tt*(1+tt))}return[2/R(M*(4+M))*Le*(1+t(Oe)),2*R(M/(4+M))*d(Oe)]}aa.invert=function(Le,Oe){var Ge=Oe*R((4+M)/M)/2,$e=C(Ge),lt=t($e);return[Le/(2/R(M*(4+M))*(1+lt)),C(($e+Ge*(lt+2))/(2+T))]};function ka(){return v.geoProjection(aa).scale(180.739)}function Ta(Le,Oe){return[Le*(1+t(Oe))/R(2+M),2*Oe/R(2+M)]}Ta.invert=function(Le,Oe){var Ge=R(2+M),$e=Oe*Ge/2;return[Ge*Le/(1+t($e)),$e]};function Da(){return v.geoProjection(Ta).scale(173.044)}function La(Le,Oe){for(var Ge=(1+T)*d(Oe),$e=0,lt=1/0;$e<10&&S(lt)>o;$e++)Oe-=lt=(Oe+d(Oe)-Ge)/(1+t(Oe));return Ge=R(2+M),[Le*(1+t(Oe))/Ge,2*Oe/Ge]}La.invert=function(Le,Oe){var Ge=1+T,$e=R(Ge/2);return[Le*2*$e/(1+t(Oe*=$e)),C((Oe+d(Oe))/Ge)]};function Ga(){return v.geoProjection(La).scale(173.044)}var xa=3+2*A;function Gn(Le,Oe){var Ge=d(Le/=2),$e=t(Le),lt=R(t(Oe)),tt=t(Oe/=2),dt=d(Oe)/(tt+A*$e*lt),Rt=R(2/(1+dt*dt)),Ot=R((A*tt+($e+Ge)*lt)/(A*tt+($e-Ge)*lt));return[xa*(Rt*(Ot-1/Ot)-2*n(Ot)),xa*(Rt*dt*(Ot+1/Ot)-2*l(dt))]}Gn.invert=function(Le,Oe){if(!(tt=H.invert(Le/1.2,Oe*1.065)))return null;var Ge=tt[0],$e=tt[1],lt=20,tt;Le/=xa,Oe/=xa;do{var dt=Ge/2,Rt=$e/2,Ot=d(dt),Xt=t(dt),nr=d(Rt),pr=t(Rt),Lr=t($e),Br=R(Lr),Kr=nr/(pr+A*Xt*Br),ya=Kr*Kr,Za=R(2/(1+ya)),Ha=A*pr+(Xt+Ot)*Br,un=A*pr+(Xt-Ot)*Br,Bn=Ha/un,li=R(Bn),Jn=li-1/li,Pi=li+1/li,ho=Za*Jn-2*n(li)-Le,to=Za*Kr*Pi-2*l(Kr)-Oe,as=nr&&g*Br*Ot*ya/nr,Fo=(A*Xt*pr+Br)/(2*(pr+A*Xt*Br)*(pr+A*Xt*Br)*Br),Ms=-.5*Kr*Za*Za*Za,Ns=Ms*as,Vs=Ms*Fo,xs=(xs=2*pr+A*Br*(Xt-Ot))*xs*li,ks=(A*Xt*pr*Br+Lr)/xs,Cl=-(A*Ot*nr)/(Br*xs),mu=Jn*Ns-2*ks/li+Za*(ks+ks/Bn),Hl=Jn*Vs-2*Cl/li+Za*(Cl+Cl/Bn),el=Kr*Pi*Ns-2*as/(1+ya)+Za*Pi*as+Za*Kr*(ks-ks/Bn),Eu=Kr*Pi*Vs-2*Fo/(1+ya)+Za*Pi*Fo+Za*Kr*(Cl-Cl/Bn),gu=Hl*el-Eu*mu;if(!gu)break;var hl=(to*Hl-ho*Eu)/gu,Ll=(ho*el-to*mu)/gu;Ge-=hl,$e=i(-T,s(T,$e-Ll))}while((S(hl)>o||S(Ll)>o)&&--lt>0);return S(S($e)-T)$e){var pr=R(nr),Lr=e(Xt,Ot),Br=Ge*p(Lr/Ge),Kr=Lr-Br,ya=Le*t(Kr),Za=(Le*d(Kr)-Kr*d(ya))/(T-ya),Ha=Va(Kr,Za),un=(M-Le)/it(Ha,ya,M);Ot=pr;var Bn=50,li;do Ot-=li=(Le+it(Ha,ya,Ot)*un-pr)/(Ha(Ot)*un);while(S(li)>o&&--Bn>0);Xt=Kr*d(Ot),Ot$e){var Ot=R(Rt),Xt=e(dt,tt),nr=Ge*p(Xt/Ge),pr=Xt-nr;tt=Ot*t(pr),dt=Ot*d(pr);for(var Lr=tt-T,Br=d(tt),Kr=dt/Br,ya=tto||S(Kr)>o)&&--ya>0);return[pr,Lr]},Ot}var Yt=Jt(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function ar(){return v.geoProjection(Yt).scale(149.995)}var cr=Jt(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function tr(){return v.geoProjection(cr).scale(153.93)}var Je=Jt(5/6*M,-.62636,-.0344,0,1.3493,-.05524,0,.045);function bt(){return v.geoProjection(Je).scale(130.945)}function qt(Le,Oe){var Ge=Le*Le,$e=Oe*Oe;return[Le*(1-.162388*$e)*(.87-952426e-9*Ge*Ge),Oe*(1+$e/12)]}qt.invert=function(Le,Oe){var Ge=Le,$e=Oe,lt=50,tt;do{var dt=$e*$e;$e-=tt=($e*(1+dt/12)-Oe)/(1+dt/4)}while(S(tt)>o&&--lt>0);lt=50,Le/=1-.162388*dt;do{var Rt=(Rt=Ge*Ge)*Rt;Ge-=tt=(Ge*(.87-952426e-9*Rt)-Le)/(.87-.00476213*Rt)}while(S(tt)>o&&--lt>0);return[Ge,$e]};function Qt(){return v.geoProjection(qt).scale(131.747)}var br=Jt(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Ir(){return v.geoProjection(br).scale(131.087)}function Cr(Le){var Oe=Le(T,0)[0]-Le(-T,0)[0];function Ge($e,lt){var tt=$e>0?-.5:.5,dt=Le($e+tt*M,lt);return dt[0]-=tt*Oe,dt}return Le.invert&&(Ge.invert=function($e,lt){var tt=$e>0?-.5:.5,dt=Le.invert($e+tt*Oe,lt),Rt=dt[0]-tt*M;return Rt<-M?Rt+=2*M:Rt>M&&(Rt-=2*M),dt[0]=Rt,dt}),Ge}function Mr(Le,Oe){var Ge=f(Le),$e=f(Oe),lt=t(Oe),tt=t(Le)*lt,dt=d(Le)*lt,Rt=d($e*Oe);Le=S(e(dt,Rt)),Oe=C(tt),S(Le-T)>o&&(Le%=T);var Ot=Xr(Le>M/4?T-Le:Le,Oe);return Le>M/4&&(Rt=Ot[0],Ot[0]=-Ot[1],Ot[1]=-Rt),Ot[0]*=Ge,Ot[1]*=-$e,Ot}Mr.invert=function(Le,Oe){S(Le)>1&&(Le=f(Le)*2-Le),S(Oe)>1&&(Oe=f(Oe)*2-Oe);var Ge=f(Le),$e=f(Oe),lt=-Ge*Le,tt=-$e*Oe,dt=tt/lt<1,Rt=Ra(dt?tt:lt,dt?lt:tt),Ot=Rt[0],Xt=Rt[1],nr=t(Xt);return dt&&(Ot=-T-Ot),[Ge*(e(d(Ot)*nr,-d(Xt))+M),$e*C(t(Ot)*nr)]};function Xr(Le,Oe){if(Oe===T)return[0,0];var Ge=d(Oe),$e=Ge*Ge,lt=$e*$e,tt=1+lt,dt=1+3*lt,Rt=1-lt,Ot=C(1/R(tt)),Xt=Rt+$e*tt*Ot,nr=(1-Ge)/Xt,pr=R(nr),Lr=nr*tt,Br=R(Lr),Kr=pr*Rt,ya,Za;if(Le===0)return[0,-(Kr+$e*Br)];var Ha=t(Oe),un=1/Ha,Bn=2*Ge*Ha,li=(-3*$e+Ot*dt)*Bn,Jn=(-Xt*Ha-(1-Ge)*li)/(Xt*Xt),Pi=.5*Jn/pr,ho=Rt*Pi-2*$e*pr*Bn,to=$e*tt*Jn+nr*dt*Bn,as=-un*Bn,Fo=-un*to,Ms=-2*un*ho,Ns=4*Le/M,Vs;if(Le>.222*M||Oe.175*M){if(ya=(Kr+$e*R(Lr*(1+lt)-Kr*Kr))/(1+lt),Le>M/4)return[ya,ya];var xs=ya,ks=.5*ya;ya=.5*(ks+xs),Za=50;do{var Cl=R(Lr-ya*ya),mu=ya*(Ms+as*Cl)+Fo*C(ya/Br)-Ns;if(!mu)break;mu<0?ks=ya:xs=ya,ya=.5*(ks+xs)}while(S(xs-ks)>o&&--Za>0)}else{ya=o,Za=25;do{var Hl=ya*ya,el=R(Lr-Hl),Eu=Ms+as*el,gu=ya*Eu+Fo*C(ya/Br)-Ns,hl=Eu+(Fo-as*Hl)/el;ya-=Vs=el?gu/hl:0}while(S(Vs)>o&&--Za>0)}return[ya,-Kr-$e*R(Lr-ya*ya)]}function Ra(Le,Oe){for(var Ge=0,$e=1,lt=.5,tt=50;;){var dt=lt*lt,Rt=R(lt),Ot=C(1/R(1+dt)),Xt=1-dt+lt*(1+dt)*Ot,nr=(1-Rt)/Xt,pr=R(nr),Lr=nr*(1+dt),Br=pr*(1-dt),Kr=Lr-Le*Le,ya=R(Kr),Za=Oe+Br+lt*ya;if(S($e-Ge)0?Ge=lt:$e=lt,lt=.5*(Ge+$e)}if(!tt)return null;var Ha=C(Rt),un=t(Ha),Bn=1/un,li=2*Rt*un,Jn=(-3*lt+Ot*(1+3*dt))*li,Pi=(-Xt*un-(1-Rt)*Jn)/(Xt*Xt),ho=.5*Pi/pr,to=(1-dt)*ho-2*lt*pr*li,as=-2*Bn*to,Fo=-Bn*li,Ms=-Bn*(lt*(1+dt)*Pi+nr*(1+3*dt)*li);return[M/4*(Le*(as+Fo*ya)+Ms*C(Le/R(Lr))),Ha]}function wa(){return v.geoProjection(Cr(Mr)).scale(239.75)}function yn(Le,Oe,Ge){var $e,lt,tt;return Le?($e=fn(Le,Ge),Oe?(lt=fn(Oe,1-Ge),tt=lt[1]*lt[1]+Ge*$e[0]*$e[0]*lt[0]*lt[0],[[$e[0]*lt[2]/tt,$e[1]*$e[2]*lt[0]*lt[1]/tt],[$e[1]*lt[1]/tt,-$e[0]*$e[2]*lt[0]*lt[2]/tt],[$e[2]*lt[1]*lt[2]/tt,-Ge*$e[0]*$e[1]*lt[0]/tt]]):[[$e[0],0],[$e[1],0],[$e[2],0]]):(lt=fn(Oe,1-Ge),[[0,lt[0]/lt[1]],[1/lt[1],0],[lt[2]/lt[1],0]])}function fn(Le,Oe){var Ge,$e,lt,tt,dt;if(Oe=1-o)return Ge=(1-Oe)/4,$e=k(Le),tt=z(Le),lt=1/$e,dt=$e*D(Le),[tt+Ge*(dt-Le)/($e*$e),lt-Ge*tt*lt*(dt-Le),lt+Ge*tt*lt*(dt+Le),2*l(a(Le))-T+Ge*(dt-Le)/$e];var Rt=[1,0,0,0,0,0,0,0,0],Ot=[R(Oe),0,0,0,0,0,0,0,0],Xt=0;for($e=R(1-Oe),dt=1;S(Ot[Xt]/Rt[Xt])>o&&Xt<8;)Ge=Rt[Xt++],Ot[Xt]=(Ge-$e)/2,Rt[Xt]=(Ge+$e)/2,$e=R(Ge*$e),dt*=2;lt=dt*Rt[Xt]*Le;do tt=Ot[Xt]*d($e=lt)/Rt[Xt],lt=(C(tt)+lt)/2;while(--Xt);return[d(lt),tt=t(lt),tt/t(lt-$e),lt]}function ri(Le,Oe,Ge){var $e=S(Le),lt=S(Oe),tt=D(lt);if($e){var dt=1/d($e),Rt=1/(y($e)*y($e)),Ot=-(Rt+Ge*(tt*tt*dt*dt)-1+Ge),Xt=(Ge-1)*Rt,nr=(-Ot+R(Ot*Ot-4*Xt))/2;return[On(l(1/R(nr)),Ge)*f(Le),On(l(R((nr/Rt-1)/Ge)),1-Ge)*f(Oe)]}return[0,On(l(tt),1-Ge)*f(Oe)]}function On(Le,Oe){if(!Oe)return Le;if(Oe===1)return n(y(Le/2+E));for(var Ge=1,$e=R(1-Oe),lt=R(Oe),tt=0;S(lt)>o;tt++){if(Le%M){var dt=l($e*y(Le)/Ge);dt<0&&(dt+=M),Le+=dt+~~(Le/M)*M}else Le+=Le;lt=(Ge+$e)/2,$e=R(Ge*$e),lt=((Ge=lt)-$e)/2}return Le/(c(2,tt)*Ge)}function ui(Le,Oe){var Ge=(A-1)/(A+1),$e=R(1-Ge*Ge),lt=On(T,$e*$e),tt=-1,dt=n(y(M/4+S(Oe)/2)),Rt=a(tt*dt)/R(Ge),Ot=jn(Rt*t(tt*Le),Rt*d(tt*Le)),Xt=ri(Ot[0],Ot[1],$e*$e);return[-Xt[1],(Oe>=0?1:-1)*(.5*lt-Xt[0])]}function jn(Le,Oe){var Ge=Le*Le,$e=Oe+1,lt=1-Ge-Oe*Oe;return[.5*((Le>=0?T:-T)-e(lt,2*Le)),-.25*n(lt*lt+4*Ge)+.5*n($e*$e+Ge)]}function oo(Le,Oe){var Ge=Oe[0]*Oe[0]+Oe[1]*Oe[1];return[(Le[0]*Oe[0]+Le[1]*Oe[1])/Ge,(Le[1]*Oe[0]-Le[0]*Oe[1])/Ge]}ui.invert=function(Le,Oe){var Ge=(A-1)/(A+1),$e=R(1-Ge*Ge),lt=On(T,$e*$e),tt=-1,dt=yn(.5*lt-Oe,-Le,$e*$e),Rt=oo(dt[0],dt[1]),Ot=e(Rt[1],Rt[0])/tt;return[Ot,2*l(a(.5/tt*n(Ge*Rt[0]*Rt[0]+Ge*Rt[1]*Rt[1])))-T]};function Qi(){return v.geoProjection(Cr(ui)).scale(151.496)}function Mn(Le){var Oe=d(Le),Ge=t(Le),$e=bo(Le);$e.invert=bo(-Le);function lt(tt,dt){var Rt=$e(tt,dt);tt=Rt[0],dt=Rt[1];var Ot=d(dt),Xt=t(dt),nr=t(tt),pr=F(Oe*Ot+Ge*Xt*nr),Lr=d(pr),Br=S(Lr)>o?pr/Lr:1;return[Br*Ge*d(tt),(S(tt)>T?Br:-Br)*(Oe*Xt-Ge*Ot*nr)]}return lt.invert=function(tt,dt){var Rt=R(tt*tt+dt*dt),Ot=-d(Rt),Xt=t(Rt),nr=Rt*Xt,pr=-dt*Ot,Lr=Rt*Oe,Br=R(nr*nr+pr*pr-Lr*Lr),Kr=e(nr*Lr+pr*Br,pr*Lr-nr*Br),ya=(Rt>T?-1:1)*e(tt*Ot,Rt*t(Kr)*Xt+dt*d(Kr)*Ot);return $e.invert(ya,Kr)},lt}function bo(Le){var Oe=d(Le),Ge=t(Le);return function($e,lt){var tt=t(lt),dt=t($e)*tt,Rt=d($e)*tt,Ot=d(lt);return[e(Rt,dt*Ge-Ot*Oe),C(Ot*Ge+dt*Oe)]}}function so(){var Le=0,Oe=v.geoProjectionMutator(Mn),Ge=Oe(Le),$e=Ge.rotate,lt=Ge.stream,tt=v.geoCircle();return Ge.parallel=function(dt){if(!arguments.length)return Le*b;var Rt=Ge.rotate();return Oe(Le=dt*_).rotate(Rt)},Ge.rotate=function(dt){return arguments.length?($e.call(Ge,[dt[0],dt[1]-Le*b]),tt.center([-dt[0],-dt[1]]),Ge):(dt=$e.call(Ge),dt[1]+=Le*b,dt)},Ge.stream=function(dt){return dt=lt(dt),dt.sphere=function(){dt.polygonStart();var Rt=.01,Ot=tt.radius(90-Rt)().coordinates[0],Xt=Ot.length-1,nr=-1,pr;for(dt.lineStart();++nr=0;)dt.point((pr=Ot[nr])[0],pr[1]);dt.lineEnd(),dt.polygonEnd()},dt},Ge.scale(79.4187).parallel(45).clipAngle(180-.001)}var Hi=3,yo=C(1-1/Hi)*b,Bi=gt(0);function fo(Le){var Oe=yo*_,Ge=Ie(M,Oe)[0]-Ie(-M,Oe)[0],$e=Bi(0,Oe)[1],lt=Ie(0,Oe)[1],tt=m-lt,dt=h/Le,Rt=4/h,Ot=$e+tt*tt*4/h;function Xt(nr,pr){var Lr,Br=S(pr);if(Br>Oe){var Kr=s(Le-1,i(0,r((nr+M)/dt)));nr+=M*(Le-1)/Le-Kr*dt,Lr=Ie(nr,Br),Lr[0]=Lr[0]*h/Ge-h*(Le-1)/(2*Le)+Kr*h/Le,Lr[1]=$e+(Lr[1]-lt)*4*tt/h,pr<0&&(Lr[1]=-Lr[1])}else Lr=Bi(nr,pr);return Lr[0]*=Rt,Lr[1]/=Ot,Lr}return Xt.invert=function(nr,pr){nr/=Rt,pr*=Ot;var Lr=S(pr);if(Lr>$e){var Br=s(Le-1,i(0,r((nr+M)/dt)));nr=(nr+M*(Le-1)/Le-Br*dt)*Ge/h;var Kr=Ie.invert(nr,.25*(Lr-$e)*h/tt+lt);return Kr[0]-=M*(Le-1)/Le-Br*dt,pr<0&&(Kr[1]=-Kr[1]),Kr}return Bi.invert(nr,pr)},Xt}function Po(Le,Oe){return[Le,Oe&1?90-o:yo]}function po(Le,Oe){return[Le,Oe&1?-90+o:-yo]}function Kn(Le){return[Le[0]*(1-o),Le[1]]}function yi(Le){var Oe=[].concat(w.range(-180,180+Le/2,Le).map(Po),w.range(180,-180-Le/2,-Le).map(po));return{type:"Polygon",coordinates:[Le===180?Oe.map(Kn):Oe]}}function Yi(){var Le=4,Oe=v.geoProjectionMutator(fo),Ge=Oe(Le),$e=Ge.stream;return Ge.lobes=function(lt){return arguments.length?Oe(Le=+lt):Le},Ge.stream=function(lt){var tt=Ge.rotate(),dt=$e(lt),Rt=(Ge.rotate([0,0]),$e(lt));return Ge.rotate(tt),dt.sphere=function(){v.geoStream(yi(180/Le),Rt)},dt},Ge.scale(239.75)}function zi(Le){var Oe=1+Le,Ge=d(1/Oe),$e=C(Ge),lt=2*R(M/(tt=M+4*$e*Oe)),tt,dt=.5*lt*(Oe+R(Le*(2+Le))),Rt=Le*Le,Ot=Oe*Oe;function Xt(nr,pr){var Lr=1-d(pr),Br,Kr;if(Lr&&Lr<2){var ya=T-pr,Za=25,Ha;do{var un=d(ya),Bn=t(ya),li=$e+e(un,Oe-Bn),Jn=1+Ot-2*Oe*Bn;ya-=Ha=(ya-Rt*$e-Oe*un+Jn*li-.5*Lr*tt)/(2*Oe*un*li)}while(S(Ha)>x&&--Za>0);Br=lt*R(Jn),Kr=nr*li/M}else Br=lt*(Le+Lr),Kr=nr*$e/M;return[Br*d(Kr),dt-Br*t(Kr)]}return Xt.invert=function(nr,pr){var Lr=nr*nr+(pr-=dt)*pr,Br=(1+Ot-Lr/(lt*lt))/(2*Oe),Kr=F(Br),ya=d(Kr),Za=$e+e(ya,Oe-Br);return[C(nr/R(Lr))*M/Za,C(1-2*(Kr-Rt*$e-Oe*ya+(1+Ot-2*Oe*Br)*Za)/tt)]},Xt}function Uo(){var Le=1,Oe=v.geoProjectionMutator(zi),Ge=Oe(Le);return Ge.ratio=function($e){return arguments.length?Oe(Le=+$e):Le},Ge.scale(167.774).center([0,18.67])}var Co=.7109889596207567,Wo=.0528035274542;function Go(Le,Oe){return Oe>-Co?(Le=he(Le,Oe),Le[1]+=Wo,Le):je(Le,Oe)}Go.invert=function(Le,Oe){return Oe>-Co?he.invert(Le,Oe-Wo):je.invert(Le,Oe)};function ns(){return v.geoProjection(Go).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function Ro(Le,Oe){return S(Oe)>Co?(Le=he(Le,Oe),Le[1]-=Oe>0?Wo:-Wo,Le):je(Le,Oe)}Ro.invert=function(Le,Oe){return S(Oe)>Co?he.invert(Le,Oe+(Oe>0?Wo:-Wo)):je.invert(Le,Oe)};function Zi(){return v.geoProjection(Ro).scale(152.63)}function ls(Le,Oe,Ge,$e){var lt=R(4*M/(2*Ge+(1+Le-Oe/2)*d(2*Ge)+(Le+Oe)/2*d(4*Ge)+Oe/2*d(6*Ge))),tt=R($e*d(Ge)*R((1+Le*t(2*Ge)+Oe*t(4*Ge))/(1+Le+Oe))),dt=Ge*Ot(1);function Rt(pr){return R(1+Le*t(2*pr)+Oe*t(4*pr))}function Ot(pr){var Lr=pr*Ge;return(2*Lr+(1+Le-Oe/2)*d(2*Lr)+(Le+Oe)/2*d(4*Lr)+Oe/2*d(6*Lr))/Ge}function Xt(pr){return Rt(pr)*d(pr)}var nr=function(pr,Lr){var Br=Ge*Ae(Ot,dt*d(Lr)/Ge,Lr/M);isNaN(Br)&&(Br=Ge*f(Lr));var Kr=lt*Rt(Br);return[Kr*tt*pr/M*t(Br),Kr/tt*d(Br)]};return nr.invert=function(pr,Lr){var Br=Ae(Xt,Lr*tt/lt);return[pr*M/(t(Br)*lt*tt*Rt(Br)),C(Ge*Ot(Br/Ge)/dt)]},Ge===0&&(lt=R($e/M),nr=function(pr,Lr){return[pr*lt,d(Lr)/lt]},nr.invert=function(pr,Lr){return[pr/lt,C(Lr*lt)]}),nr}function Eo(){var Le=1,Oe=0,Ge=45*_,$e=2,lt=v.geoProjectionMutator(ls),tt=lt(Le,Oe,Ge,$e);return tt.a=function(dt){return arguments.length?lt(Le=+dt,Oe,Ge,$e):Le},tt.b=function(dt){return arguments.length?lt(Le,Oe=+dt,Ge,$e):Oe},tt.psiMax=function(dt){return arguments.length?lt(Le,Oe,Ge=+dt*_,$e):Ge*b},tt.ratio=function(dt){return arguments.length?lt(Le,Oe,Ge,$e=+dt):$e},tt.scale(180.739)}function mo(Le,Oe,Ge,$e,lt,tt,dt,Rt,Ot,Xt,nr){if(nr.nanEncountered)return NaN;var pr,Lr,Br,Kr,ya,Za,Ha,un,Bn,li;if(pr=Ge-Oe,Lr=Le(Oe+pr*.25),Br=Le(Ge-pr*.25),isNaN(Lr)){nr.nanEncountered=!0;return}if(isNaN(Br)){nr.nanEncountered=!0;return}return Kr=pr*($e+4*Lr+lt)/12,ya=pr*(lt+4*Br+tt)/12,Za=Kr+ya,li=(Za-dt)/15,Xt>Ot?(nr.maxDepthCount++,Za+li):Math.abs(li)>1;do Ot[Za]>Br?ya=Za:Kr=Za,Za=Kr+ya>>1;while(Za>Kr);var Ha=Ot[Za+1]-Ot[Za];return Ha&&(Ha=(Br-Ot[Za+1])/Ha),(Za+1+Ha)/dt}var pr=2*nr(1)/M*tt/Ge,Lr=function(Br,Kr){var ya=nr(S(d(Kr))),Za=$e(ya)*Br;return ya/=pr,[Za,Kr>=0?ya:-ya]};return Lr.invert=function(Br,Kr){var ya;return Kr*=pr,S(Kr)<1&&(ya=f(Kr)*C(lt(S(Kr))*tt)),[Br/$e(S(Kr)),ya]},Lr}function Ds(){var Le=0,Oe=2.5,Ge=1.183136,$e=v.geoProjectionMutator(qo),lt=$e(Le,Oe,Ge);return lt.alpha=function(tt){return arguments.length?$e(Le=+tt,Oe,Ge):Le},lt.k=function(tt){return arguments.length?$e(Le,Oe=+tt,Ge):Oe},lt.gamma=function(tt){return arguments.length?$e(Le,Oe,Ge=+tt):Ge},lt.scale(152.63)}function Us(Le,Oe){return S(Le[0]-Oe[0])=0;--Ot)Ge=Le[1][Ot],$e=Ge[0][0],lt=Ge[0][1],tt=Ge[1][1],dt=Ge[2][0],Rt=Ge[2][1],Oe.push(is([[dt-o,Rt-o],[dt-o,tt+o],[$e+o,tt+o],[$e+o,lt-o]],30));return{type:"Polygon",coordinates:[w.merge(Oe)]}}function ml(Le,Oe,Ge){var $e,lt;function tt(Ot,Xt){for(var nr=Xt<0?-1:1,pr=Oe[+(Xt<0)],Lr=0,Br=pr.length-1;Lrpr[Lr][2][0];++Lr);var Kr=Le(Ot-pr[Lr][1][0],Xt);return Kr[0]+=Le(pr[Lr][1][0],nr*Xt>nr*pr[Lr][0][1]?pr[Lr][0][1]:Xt)[0],Kr}Ge?tt.invert=Ge(tt):Le.invert&&(tt.invert=function(Ot,Xt){for(var nr=lt[+(Xt<0)],pr=Oe[+(Xt<0)],Lr=0,Br=nr.length;LrKr&&(ya=Br,Br=Kr,Kr=ya),[[pr,Br],[Lr,Kr]]})}),dt):Oe.map(function(Xt){return Xt.map(function(nr){return[[nr[0][0]*b,nr[0][1]*b],[nr[1][0]*b,nr[1][1]*b],[nr[2][0]*b,nr[2][1]*b]]})})},Oe!=null&&dt.lobes(Oe),dt}var Qo=[[[[-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 Gl(){return ml(be,Qo).scale(160.857)}var ys=[[[[-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 $o(){return ml(Ro,ys).scale(152.63)}var wo=[[[[-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 go(){return ml(he,wo).scale(169.529)}var rs=[[[[-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 $l(){return ml(he,rs).scale(169.529).rotate([20,0])}var cu=[[[[-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 Kl(){return ml(Go,cu,Se).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var Wu=[[[[-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 Yu(){return ml(je,Wu).scale(152.63).rotate([-20,0])}function rc(Le,Oe){return[3/h*Le*R(M*M/3-Oe*Oe),Oe]}rc.invert=function(Le,Oe){return[h/3*Le/R(M*M/3-Oe*Oe),Oe]};function ac(){return v.geoProjection(rc).scale(158.837)}function xc(Le){function Oe(Ge,$e){if(S(S($e)-T)2)return null;Ge/=2,$e/=2;var tt=Ge*Ge,dt=$e*$e,Rt=2*$e/(1+tt+dt);return Rt=c((1+Rt)/(1-Rt),1/Le),[e(2*Ge,1-tt-dt)/Le,C((Rt-1)/(Rt+1))]},Oe}function Ec(){var Le=.5,Oe=v.geoProjectionMutator(xc),Ge=Oe(Le);return Ge.spacing=function($e){return arguments.length?Oe(Le=+$e):Le},Ge.scale(124.75)}var fu=M/A;function hu(Le,Oe){return[Le*(1+R(t(Oe)))/2,Oe/(t(Oe/2)*t(Le/6))]}hu.invert=function(Le,Oe){var Ge=S(Le),$e=S(Oe),lt=o,tt=T;$eo||S(Za)>o)&&--lt>0);return lt&&[Ge,$e]};function Fs(){return v.geoProjection(Jl).scale(139.98)}function Yo(Le,Oe){return[d(Le)/t(Oe),y(Oe)*t(Le)]}Yo.invert=function(Le,Oe){var Ge=Le*Le,$e=Oe*Oe,lt=$e+1,tt=Ge+lt,dt=Le?g*R((tt-R(tt*tt-4*Ge))/Ge):1/R(lt);return[C(Le*dt),f(Oe)*F(dt)]};function tl(){return v.geoProjection(Yo).scale(144.049).clipAngle(90-.001)}function wu(Le){var Oe=t(Le),Ge=y(E+Le/2);function $e(lt,tt){var dt=tt-Le,Rt=S(dt)=0;)nr=Le[Xt],pr=nr[0]+Rt*(Br=pr)-Ot*Lr,Lr=nr[1]+Rt*Lr+Ot*Br;return pr=Rt*(Br=pr)-Ot*Lr,Lr=Rt*Lr+Ot*Br,[pr,Lr]}return Ge.invert=function($e,lt){var tt=20,dt=$e,Rt=lt;do{for(var Ot=Oe,Xt=Le[Ot],nr=Xt[0],pr=Xt[1],Lr=0,Br=0,Kr;--Ot>=0;)Xt=Le[Ot],Lr=nr+dt*(Kr=Lr)-Rt*Br,Br=pr+dt*Br+Rt*Kr,nr=Xt[0]+dt*(Kr=nr)-Rt*pr,pr=Xt[1]+dt*pr+Rt*Kr;Lr=nr+dt*(Kr=Lr)-Rt*Br,Br=pr+dt*Br+Rt*Kr,nr=dt*(Kr=nr)-Rt*pr-$e,pr=dt*pr+Rt*Kr-lt;var ya=Lr*Lr+Br*Br,Za,Ha;dt-=Za=(nr*Lr+pr*Br)/ya,Rt-=Ha=(pr*Lr-nr*Br)/ya}while(S(Za)+S(Ha)>o*o&&--tt>0);if(tt){var un=R(dt*dt+Rt*Rt),Bn=2*l(un*.5),li=d(Bn);return[e(dt*li,un*t(Bn)),un?C(Rt*li/un):0]}},Ge}var Io=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],$f=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Vo=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],qi=[[.9245,0],[0,0],[.01943,0]],Zu=[[.721316,0],[0,0],[-.00881625,-.00617325]];function bc(){return rl(Io,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function El(){return rl($f,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function mf(){return rl(Vo,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function Au(){return rl(qi,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function nc(){return rl(Zu,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function rl(Le,Oe){var Ge=v.geoProjection(Zf(Le)).rotate(Oe).clipAngle(90),$e=v.geoRotation(Oe),lt=Ge.center;return delete Ge.rotate,Ge.center=function(tt){return arguments.length?lt($e(tt)):$e.invert(lt())},Ge}var gf=R(6),Yc=R(7);function ic(Le,Oe){var Ge=C(7*d(Oe)/(3*gf));return[gf*Le*(2*t(2*Ge/3)-1)/Yc,9*d(Ge/3)/Yc]}ic.invert=function(Le,Oe){var Ge=3*C(Oe*Yc/9);return[Le*Yc/(gf*(2*t(2*Ge/3)-1)),C(d(Ge)*3*gf/7)]};function oc(){return v.geoProjection(ic).scale(164.859)}function Xc(Le,Oe){for(var Ge=(1+g)*d(Oe),$e=Oe,lt=0,tt;lt<25&&($e-=tt=(d($e/2)+d($e)-Ge)/(.5*t($e/2)+t($e)),!(S(tt)x&&--$e>0);return tt=Ge*Ge,dt=tt*tt,Rt=tt*dt,[Le/(.84719-.13063*tt+Rt*Rt*(-.04515+.05494*tt-.02326*dt+.00331*Rt)),Ge]};function sc(){return v.geoProjection(eu).scale(175.295)}function qs(Le,Oe){return[Le*(1+t(Oe))/2,2*(Oe-y(Oe/2))]}qs.invert=function(Le,Oe){for(var Ge=Oe/2,$e=0,lt=1/0;$e<10&&S(lt)>o;++$e){var tt=t(Oe/2);Oe-=lt=(Oe-y(Oe/2)-Ge)/(1-.5/(tt*tt))}return[2*Le/(1+t(Oe)),Oe]};function lc(){return v.geoProjection(qs).scale(152.63)}var Fu=[[[[-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 Ko(){return ml(ce(1/0),Fu).rotate([20,0]).scale(152.63)}function Lc(Le,Oe){var Ge=d(Oe),$e=t(Oe),lt=f(Le);if(Le===0||S(Oe)===T)return[0,Oe];if(Oe===0)return[Le,0];if(S(Le)===T)return[Le*$e,T*Ge];var tt=M/(2*Le)-2*Le/M,dt=2*Oe/M,Rt=(1-dt*dt)/(Ge-dt),Ot=tt*tt,Xt=Rt*Rt,nr=1+Ot/Xt,pr=1+Xt/Ot,Lr=(tt*Ge/Rt-tt/2)/nr,Br=(Xt*Ge/Ot+Rt/2)/pr,Kr=Lr*Lr+$e*$e/nr,ya=Br*Br-(Xt*Ge*Ge/Ot+Rt*Ge-1)/pr;return[T*(Lr+R(Kr)*lt),T*(Br+R(ya<0?0:ya)*f(-Oe*tt)*lt)]}Lc.invert=function(Le,Oe){Le/=T,Oe/=T;var Ge=Le*Le,$e=Oe*Oe,lt=Ge+$e,tt=M*M;return[Le?(lt-1+R((1-lt)*(1-lt)+4*Ge))/(2*Le)*T:0,Ae(function(dt){return lt*(M*d(dt)-2*dt)*M+4*dt*dt*(Oe-d(dt))+2*M*dt-tt*Oe},0)]};function Kf(){return v.geoProjection(Lc).scale(127.267)}var yf=1.0148,$u=.23185,_f=-.14499,Pc=.02406,Jf=yf,Gs=5*$u,tu=7*_f,xf=9*Pc,Es=1.790857183;function zu(Le,Oe){var Ge=Oe*Oe;return[Le,Oe*(yf+Ge*Ge*($u+Ge*(_f+Pc*Ge)))]}zu.invert=function(Le,Oe){Oe>Es?Oe=Es:Oe<-Es&&(Oe=-Es);var Ge=Oe,$e;do{var lt=Ge*Ge;Ge-=$e=(Ge*(yf+lt*lt*($u+lt*(_f+Pc*lt)))-Oe)/(Jf+lt*lt*(Gs+lt*(tu+xf*lt)))}while(S($e)>o);return[Le,Ge]};function Fl(){return v.geoProjection(zu).scale(139.319)}function Ku(Le,Oe){if(S(Oe)o&&--lt>0);return dt=y($e),[(S(Oe)=0;)if($e=Oe[Rt],Ge[0]===$e[0]&&Ge[1]===$e[1]){if(tt)return[tt,Ge];tt=Ge}}}function $s(Le){for(var Oe=Le.length,Ge=[],$e=Le[Oe-1],lt=0;lt0?[-$e[0],0]:[180-$e[0],180])};var Oe=Kc.map(function(Ge){return{face:Ge,project:Le(Ge)}});return[-1,0,0,1,0,1,4,5].forEach(function(Ge,$e){var lt=Oe[Ge];lt&&(lt.children||(lt.children=[])).push(Oe[$e])}),Ac(Oe[0],function(Ge,$e){return Oe[Ge<-M/2?$e<0?6:4:Ge<0?$e<0?2:0:Ge$e^Br>$e&&Ge<(Lr-Xt)*($e-nr)/(Br-nr)+Xt&&(lt=!lt)}return lt}function wf(Le,Oe){var Ge=Oe.stream,$e;if(!Ge)throw new Error("invalid projection");switch(Le&&Le.type){case"Feature":$e=Ic;break;case"FeatureCollection":$e=eh;break;default:$e=Dc;break}return $e(Le,Ge)}function eh(Le,Oe){return{type:"FeatureCollection",features:Le.features.map(function(Ge){return Ic(Ge,Oe)})}}function Ic(Le,Oe){return{type:"Feature",id:Le.id,properties:Le.properties,geometry:Dc(Le.geometry,Oe)}}function Af(Le,Oe){return{type:"GeometryCollection",geometries:Le.geometries.map(function(Ge){return Dc(Ge,Oe)})}}function Dc(Le,Oe){if(!Le)return null;if(Le.type==="GeometryCollection")return Af(Le,Oe);var Ge;switch(Le.type){case"Point":Ge=Tf;break;case"MultiPoint":Ge=Tf;break;case"LineString":Ge=th;break;case"MultiLineString":Ge=th;break;case"Polygon":Ge=Fc;break;case"MultiPolygon":Ge=Fc;break;case"Sphere":Ge=Fc;break;default:return null}return v.geoStream(Le,Oe(Ge)),Ge.result()}var yl=[],Mu=[],Tf={point:function(Le,Oe){yl.push([Le,Oe])},result:function(){var Le=yl.length?yl.length<2?{type:"Point",coordinates:yl[0]}:{type:"MultiPoint",coordinates:yl}:null;return yl=[],Le}},th={lineStart:Qu,point:function(Le,Oe){yl.push([Le,Oe])},lineEnd:function(){yl.length&&(Mu.push(yl),yl=[])},result:function(){var Le=Mu.length?Mu.length<2?{type:"LineString",coordinates:Mu[0]}:{type:"MultiLineString",coordinates:Mu}:null;return Mu=[],Le}},Fc={polygonStart:Qu,lineStart:Qu,point:function(Le,Oe){yl.push([Le,Oe])},lineEnd:function(){var Le=yl.length;if(Le){do yl.push(yl[0].slice());while(++Le<4);Mu.push(yl),yl=[]}},polygonEnd:Qu,result:function(){if(!Mu.length)return null;var Le=[],Oe=[];return Mu.forEach(function(Ge){ef(Ge)?Le.push([Ge]):Oe.push(Ge)}),Oe.forEach(function(Ge){var $e=Ge[0];Le.some(function(lt){if(tf(lt[0],$e))return lt.push(Ge),!0})||Le.push([Ge])}),Mu=[],Le.length?Le.length>1?{type:"MultiPolygon",coordinates:Le}:{type:"Polygon",coordinates:Le[0]}:null}};function Ou(Le){var Oe=Le(T,0)[0]-Le(-T,0)[0];function Ge($e,lt){var tt=S($e)0?$e-M:$e+M,lt),Rt=(dt[0]-dt[1])*g,Ot=(dt[0]+dt[1])*g;if(tt)return[Rt,Ot];var Xt=Oe*g,nr=Rt>0^Ot>0?-1:1;return[nr*Rt-f(Ot)*Xt,nr*Ot-f(Rt)*Xt]}return Le.invert&&(Ge.invert=function($e,lt){var tt=($e+lt)*g,dt=(lt-$e)*g,Rt=S(tt)<.5*Oe&&S(dt)<.5*Oe;if(!Rt){var Ot=Oe*g,Xt=tt>0^dt>0?-1:1,nr=-Xt*$e+(dt>0?1:-1)*Ot,pr=-Xt*lt+(tt>0?1:-1)*Ot;tt=(-nr-pr)*g,dt=(nr-pr)*g}var Lr=Le.invert(tt,dt);return Rt||(Lr[0]+=tt>0?M:-M),Lr}),v.geoProjection(Ge).rotate([-90,-90,45]).clipAngle(180-.001)}function Tt(){return Ou(Mr).scale(176.423)}function jt(){return Ou(ui).scale(111.48)}function yr(Le,Oe){if(!(0<=(Oe=+Oe)&&Oe<=20))throw new Error("invalid digits");function Ge(Xt){var nr=Xt.length,pr=2,Lr=new Array(nr);for(Lr[0]=+Xt[0].toFixed(Oe),Lr[1]=+Xt[1].toFixed(Oe);pr2||Br[0]!=nr[0]||Br[1]!=nr[1])&&(pr.push(Br),nr=Br)}return pr.length===1&&Xt.length>1&&pr.push(Ge(Xt[Xt.length-1])),pr}function tt(Xt){return Xt.map(lt)}function dt(Xt){if(Xt==null)return Xt;var nr;switch(Xt.type){case"GeometryCollection":nr={type:"GeometryCollection",geometries:Xt.geometries.map(dt)};break;case"Point":nr={type:"Point",coordinates:Ge(Xt.coordinates)};break;case"MultiPoint":nr={type:Xt.type,coordinates:$e(Xt.coordinates)};break;case"LineString":nr={type:Xt.type,coordinates:lt(Xt.coordinates)};break;case"MultiLineString":case"Polygon":nr={type:Xt.type,coordinates:tt(Xt.coordinates)};break;case"MultiPolygon":nr={type:"MultiPolygon",coordinates:Xt.coordinates.map(tt)};break;default:return Xt}return Xt.bbox!=null&&(nr.bbox=Xt.bbox),nr}function Rt(Xt){var nr={type:"Feature",properties:Xt.properties,geometry:dt(Xt.geometry)};return Xt.id!=null&&(nr.id=Xt.id),Xt.bbox!=null&&(nr.bbox=Xt.bbox),nr}if(Le!=null)switch(Le.type){case"Feature":return Rt(Le);case"FeatureCollection":{var Ot={type:"FeatureCollection",features:Le.features.map(Rt)};return Le.bbox!=null&&(Ot.bbox=Le.bbox),Ot}default:return dt(Le)}return Le}function dr(Le){var Oe=d(Le);function Ge($e,lt){var tt=Oe?y($e*Oe/2)/Oe:$e/2;if(!lt)return[2*tt,-Le];var dt=2*l(tt*d(lt)),Rt=1/y(lt);return[d(dt)*Rt,lt+(1-t(dt))*Rt-Le]}return Ge.invert=function($e,lt){if(S(lt+=Le)o&&--Rt>0);var Lr=$e*(Xt=y(dt)),Br=y(S(lt)0?T:-T)*(Ot+lt*(nr-dt)/2+lt*lt*(nr-2*Ot+dt)/2)]}za.invert=function(Le,Oe){var Ge=Oe/T,$e=Ge*90,lt=s(18,S($e/5)),tt=i(0,r(lt));do{var dt=ma[tt][1],Rt=ma[tt+1][1],Ot=ma[s(19,tt+2)][1],Xt=Ot-dt,nr=Ot-2*Rt+dt,pr=2*(S(Ge)-Rt)/Xt,Lr=nr/Xt,Br=pr*(1-Lr*pr*(1-2*Lr*pr));if(Br>=0||tt===1){$e=(Oe>=0?5:-5)*(Br+lt);var Kr=50,ya;do lt=s(18,S($e)/5),tt=r(lt),Br=lt-tt,dt=ma[tt][1],Rt=ma[tt+1][1],Ot=ma[s(19,tt+2)][1],$e-=(ya=(Oe>=0?T:-T)*(Rt+Br*(Ot-dt)/2+Br*Br*(Ot-2*Rt+dt)/2)-Oe)*b;while(S(ya)>x&&--Kr>0);break}}while(--tt>=0);var Za=ma[tt][0],Ha=ma[tt+1][0],un=ma[s(19,tt+2)][0];return[Le/(Ha+Br*(un-Za)/2+Br*Br*(un-2*Ha+Za)/2),$e*_]};function Ja(){return v.geoProjection(za).scale(152.63)}function nn(Le){function Oe(Ge,$e){var lt=t($e),tt=(Le-1)/(Le-lt*t(Ge));return[tt*lt*d(Ge),tt*d($e)]}return Oe.invert=function(Ge,$e){var lt=Ge*Ge+$e*$e,tt=R(lt),dt=(Le-R(1-lt*(Le+1)/(Le-1)))/((Le-1)/tt+tt/(Le-1));return[e(Ge*dt,tt*R(1-dt*dt)),tt?C($e*dt/tt):0]},Oe}function Tn(Le,Oe){var Ge=nn(Le);if(!Oe)return Ge;var $e=t(Oe),lt=d(Oe);function tt(dt,Rt){var Ot=Ge(dt,Rt),Xt=Ot[1],nr=Xt*lt/(Le-1)+$e;return[Ot[0]*$e/nr,Xt/nr]}return tt.invert=function(dt,Rt){var Ot=(Le-1)/(Le-1-Rt*lt);return Ge.invert(Ot*dt,Ot*Rt*$e)},tt}function Ba(){var Le=2,Oe=0,Ge=v.geoProjectionMutator(Tn),$e=Ge(Le,Oe);return $e.distance=function(lt){return arguments.length?Ge(Le=+lt,Oe):Le},$e.tilt=function(lt){return arguments.length?Ge(Le,Oe=lt*_):Oe*b},$e.scale(432.147).clipAngle(F(1/Le)*b-1e-6)}var Na=1e-4,Xa=1e4,Aa=-180,Fn=Aa+Na,ci=180,pi=ci-Na,fi=-90,Ti=fi+Na,Un=90,_n=Un-Na;function Oi(Le){return Le.length>0}function ao(Le){return Math.floor(Le*Xa)/Xa}function Lo(Le){return Le===fi||Le===Un?[0,Le]:[Aa,ao(Le)]}function us(Le){var Oe=Le[0],Ge=Le[1],$e=!1;return Oe<=Fn?(Oe=Aa,$e=!0):Oe>=pi&&(Oe=ci,$e=!0),Ge<=Ti?(Ge=fi,$e=!0):Ge>=_n&&(Ge=Un,$e=!0),$e?[Oe,Ge]:Le}function Oo(Le){return Le.map(us)}function _s(Le,Oe,Ge){for(var $e=0,lt=Le.length;$e=pi||nr<=Ti||nr>=_n){tt[dt]=us(Ot);for(var pr=dt+1;prFn&&BrTi&&Kr<_n)break}if(pr===dt+1)continue;if(dt){var ya={index:-1,polygon:Oe,ring:tt.slice(0,dt+1)};ya.ring[ya.ring.length-1]=Lo(nr),Ge[Ge.length-1]=ya}else Ge.pop();if(pr>=Rt)break;Ge.push({index:-1,polygon:Oe,ring:tt=tt.slice(pr-1)}),tt[0]=Lo(tt[0][1]),dt=-1,Rt=tt.length}}}}function ko(Le){var Oe,Ge=Le.length,$e={},lt={},tt,dt,Rt,Ot,Xt;for(Oe=0;Oe0?M-Rt:Rt)*b],Xt=v.geoProjection(Le(dt)).rotate(Ot),nr=v.geoRotation(Ot),pr=Xt.center;return delete Xt.rotate,Xt.center=function(Lr){return arguments.length?pr(nr(Lr)):nr.invert(pr())},Xt.clipAngle(90)}function Do(Le){var Oe=t(Le);function Ge($e,lt){var tt=v.geoGnomonicRaw($e,lt);return tt[0]*=Oe,tt}return Ge.invert=function($e,lt){return v.geoGnomonicRaw.invert($e/Oe,lt)},Ge}function al(){return pu([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function pu(Le,Oe){return os(Do,Le,Oe)}function au(Le){if(!(Le*=2))return v.geoAzimuthalEquidistantRaw;var Oe=-Le/2,Ge=-Oe,$e=Le*Le,lt=y(Ge),tt=.5/d(Ge);function dt(Rt,Ot){var Xt=F(t(Ot)*t(Rt-Oe)),nr=F(t(Ot)*t(Rt-Ge)),pr=Ot<0?-1:1;return Xt*=Xt,nr*=nr,[(Xt-nr)/(2*Le),pr*R(4*$e*nr-($e-Xt+nr)*($e-Xt+nr))/(2*Le)]}return dt.invert=function(Rt,Ot){var Xt=Ot*Ot,nr=t(R(Xt+(Lr=Rt+Oe)*Lr)),pr=t(R(Xt+(Lr=Rt+Ge)*Lr)),Lr,Br;return[e(Br=nr-pr,Lr=(nr+pr)*lt),(Ot<0?-1:1)*F(R(Lr*Lr+Br*Br)*tt)]},dt}function Nu(){return _l([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function _l(Le,Oe){return os(au,Le,Oe)}function Su(Le,Oe){if(S(Oe)o&&--Rt>0);return[f(Le)*(R(lt*lt+4)+lt)*M/4,T*dt]};function nu(){return v.geoProjection(zc).scale(127.16)}function Me(Le,Oe,Ge,$e,lt){function tt(dt,Rt){var Ot=Ge*d($e*Rt),Xt=R(1-Ot*Ot),nr=R(2/(1+Xt*t(dt*=lt)));return[Le*Xt*nr*d(dt),Oe*Ot*nr]}return tt.invert=function(dt,Rt){var Ot=dt/Le,Xt=Rt/Oe,nr=R(Ot*Ot+Xt*Xt),pr=2*C(nr/2);return[e(dt*y(pr),Le*nr)/lt,nr&&C(Rt*d(pr)/(Oe*Ge*nr))/$e]},tt}function L(Le,Oe,Ge,$e){var lt=M/3;Le=i(Le,o),Oe=i(Oe,o),Le=s(Le,T),Oe=s(Oe,M-o),Ge=i(Ge,0),Ge=s(Ge,100-o),$e=i($e,o);var tt=Ge/100+1,dt=$e/100,Rt=F(tt*t(lt))/lt,Ot=d(Le)/d(Rt*T),Xt=Oe/M,nr=R(dt*d(Le/2)/d(Oe/2)),pr=nr/R(Xt*Ot*Rt),Lr=1/(nr*R(Xt*Ot*Rt));return Me(pr,Lr,Ot,Rt,Xt)}function J(){var Le=65*_,Oe=60*_,Ge=20,$e=200,lt=v.geoProjectionMutator(L),tt=lt(Le,Oe,Ge,$e);return tt.poleline=function(dt){return arguments.length?lt(Le=+dt*_,Oe,Ge,$e):Le*b},tt.parallels=function(dt){return arguments.length?lt(Le,Oe=+dt*_,Ge,$e):Oe*b},tt.inflation=function(dt){return arguments.length?lt(Le,Oe,Ge=+dt,$e):Ge},tt.ratio=function(dt){return arguments.length?lt(Le,Oe,Ge,$e=+dt):$e},tt.scale(163.775)}function de(){return J().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)}var pe=4*M+3*R(3),Te=2*R(2*M*R(3)/pe),Ze=xe(Te*R(3)/M,Te,pe/6);function rt(){return v.geoProjection(Ze).scale(176.84)}function vt(Le,Oe){return[Le*R(1-3*Oe*Oe/(M*M)),Oe]}vt.invert=function(Le,Oe){return[Le/R(1-3*Oe*Oe/(M*M)),Oe]};function Mt(){return v.geoProjection(vt).scale(152.63)}function Gt(Le,Oe){var Ge=t(Oe),$e=t(Le)*Ge,lt=1-$e,tt=t(Le=e(d(Le)*Ge,-d(Oe))),dt=d(Le);return Ge=R(1-$e*$e),[dt*Ge-tt*lt,-tt*Ge-dt*lt]}Gt.invert=function(Le,Oe){var Ge=(Le*Le+Oe*Oe)/-2,$e=R(-Ge*(2+Ge)),lt=Oe*Ge+Le*$e,tt=Le*Ge-Oe*$e,dt=R(tt*tt+lt*lt);return[e($e*lt,dt*(1+Ge)),dt?-C($e*tt/dt):0]};function Ht(){return v.geoProjection(Gt).rotate([0,-90,45]).scale(124.75).clipAngle(180-.001)}function fr(Le,Oe){var Ge=ee(Le,Oe);return[(Ge[0]+Le/T)/2,(Ge[1]+Oe)/2]}fr.invert=function(Le,Oe){var Ge=Le,$e=Oe,lt=25;do{var tt=t($e),dt=d($e),Rt=d(2*$e),Ot=dt*dt,Xt=tt*tt,nr=d(Ge),pr=t(Ge/2),Lr=d(Ge/2),Br=Lr*Lr,Kr=1-Xt*pr*pr,ya=Kr?F(tt*pr)*R(Za=1/Kr):Za=0,Za,Ha=.5*(2*ya*tt*Lr+Ge/T)-Le,un=.5*(ya*dt+$e)-Oe,Bn=.5*Za*(Xt*Br+ya*tt*pr*Ot)+.5/T,li=Za*(nr*Rt/4-ya*dt*Lr),Jn=.125*Za*(Rt*Lr-ya*dt*Xt*nr),Pi=.5*Za*(Ot*pr+ya*Br*tt)+.5,ho=li*Jn-Pi*Bn,to=(un*li-Ha*Pi)/ho,as=(Ha*Jn-un*Bn)/ho;Ge-=to,$e-=as}while((S(to)>o||S(as)>o)&&--lt>0);return[Ge,$e]};function wr(){return v.geoProjection(fr).scale(158.837)}u.geoNaturalEarth=v.geoNaturalEarth1,u.geoNaturalEarthRaw=v.geoNaturalEarth1Raw,u.geoAiry=Y,u.geoAiryRaw=q,u.geoAitoff=te,u.geoAitoffRaw=ee,u.geoArmadillo=U,u.geoArmadilloRaw=ae,u.geoAugust=K,u.geoAugustRaw=H,u.geoBaker=Z,u.geoBakerRaw=X,u.geoBerghaus=re,u.geoBerghausRaw=Q,u.geoBertin1953=qe,u.geoBertin1953Raw=Ce,u.geoBoggs=Fe,u.geoBoggsRaw=be,u.geoBonne=yt,u.geoBonneRaw=st,u.geoBottomley=Pt,u.geoBottomleyRaw=At,u.geoBromley=vr,u.geoBromleyRaw=Zt,u.geoChamberlin=_e,u.geoChamberlinRaw=Ee,u.geoChamberlinAfrica=ve,u.geoCollignon=Be,u.geoCollignonRaw=Ie,u.geoCraig=Xe,u.geoCraigRaw=We,u.geoCraster=ht,u.geoCrasterRaw=ft,u.geoCylindricalEqualArea=_t,u.geoCylindricalEqualAreaRaw=gt,u.geoCylindricalStereographic=St,u.geoCylindricalStereographicRaw=Ft,u.geoEckert1=jr,u.geoEckert1Raw=hr,u.geoEckert2=$r,u.geoEckert2Raw=ra,u.geoEckert3=oa,u.geoEckert3Raw=pa,u.geoEckert4=ka,u.geoEckert4Raw=aa,u.geoEckert5=Da,u.geoEckert5Raw=Ta,u.geoEckert6=Ga,u.geoEckert6Raw=La,u.geoEisenlohr=Pn,u.geoEisenlohrRaw=Gn,u.geoFahey=Zn,u.geoFaheyRaw=Yn,u.geoFoucaut=Dn,u.geoFoucautRaw=vi,u.geoFoucautSinusoidal=on,u.geoFoucautSinusoidalRaw=oi,u.geoGilbert=Li,u.geoGingery=Qe,u.geoGingeryRaw=$a,u.geoGinzburg4=ar,u.geoGinzburg4Raw=Yt,u.geoGinzburg5=tr,u.geoGinzburg5Raw=cr,u.geoGinzburg6=bt,u.geoGinzburg6Raw=Je,u.geoGinzburg8=Qt,u.geoGinzburg8Raw=qt,u.geoGinzburg9=Ir,u.geoGinzburg9Raw=br,u.geoGringorten=wa,u.geoGringortenRaw=Mr,u.geoGuyou=Qi,u.geoGuyouRaw=ui,u.geoHammer=ye,u.geoHammerRaw=ce,u.geoHammerRetroazimuthal=so,u.geoHammerRetroazimuthalRaw=Mn,u.geoHealpix=Yi,u.geoHealpixRaw=fo,u.geoHill=Uo,u.geoHillRaw=zi,u.geoHomolosine=Zi,u.geoHomolosineRaw=Ro,u.geoHufnagel=Eo,u.geoHufnagelRaw=ls,u.geoHyperelliptical=Ds,u.geoHyperellipticalRaw=qo,u.geoInterrupt=ml,u.geoInterruptedBoggs=Gl,u.geoInterruptedHomolosine=$o,u.geoInterruptedMollweide=go,u.geoInterruptedMollweideHemispheres=$l,u.geoInterruptedSinuMollweide=Kl,u.geoInterruptedSinusoidal=Yu,u.geoKavrayskiy7=ac,u.geoKavrayskiy7Raw=rc,u.geoLagrange=Ec,u.geoLagrangeRaw=xc,u.geoLarrivee=du,u.geoLarriveeRaw=hu,u.geoLaskowski=Fs,u.geoLaskowskiRaw=Jl,u.geoLittrow=tl,u.geoLittrowRaw=Yo,u.geoLoximuthal=Xu,u.geoLoximuthalRaw=wu,u.geoMiller=zs,u.geoMillerRaw=kc,u.geoModifiedStereographic=rl,u.geoModifiedStereographicRaw=Zf,u.geoModifiedStereographicAlaska=bc,u.geoModifiedStereographicGs48=El,u.geoModifiedStereographicGs50=mf,u.geoModifiedStereographicMiller=Au,u.geoModifiedStereographicLee=nc,u.geoMollweide=oe,u.geoMollweideRaw=he,u.geoMtFlatPolarParabolic=oc,u.geoMtFlatPolarParabolicRaw=ic,u.geoMtFlatPolarQuartic=Zc,u.geoMtFlatPolarQuarticRaw=Xc,u.geoMtFlatPolarSinusoidal=Cc,u.geoMtFlatPolarSinusoidalRaw=Ql,u.geoNaturalEarth2=sc,u.geoNaturalEarth2Raw=eu,u.geoNellHammer=lc,u.geoNellHammerRaw=qs,u.geoInterruptedQuarticAuthalic=Ko,u.geoNicolosi=Kf,u.geoNicolosiRaw=Lc,u.geoPatterson=Fl,u.geoPattersonRaw=zu,u.geoPolyconic=wc,u.geoPolyconicRaw=Ku,u.geoPolyhedral=Ac,u.geoPolyhedralButterfly=hs,u.geoPolyhedralCollignon=Jc,u.geoPolyhedralWaterman=Qc,u.geoProject=wf,u.geoGringortenQuincuncial=Tt,u.geoPeirceQuincuncial=jt,u.geoPierceQuincuncial=jt,u.geoQuantize=yr,u.geoQuincuncial=Ou,u.geoRectangularPolyconic=Wr,u.geoRectangularPolyconicRaw=dr,u.geoRobinson=Ja,u.geoRobinsonRaw=za,u.geoSatellite=Ba,u.geoSatelliteRaw=Tn,u.geoSinuMollweide=ns,u.geoSinuMollweideRaw=Go,u.geoSinusoidal=ut,u.geoSinusoidalRaw=je,u.geoStitch=cs,u.geoTimes=Xo,u.geoTimesRaw=ai,u.geoTwoPointAzimuthal=pu,u.geoTwoPointAzimuthalRaw=Do,u.geoTwoPointAzimuthalUsa=al,u.geoTwoPointEquidistant=_l,u.geoTwoPointEquidistantRaw=au,u.geoTwoPointEquidistantUsa=Nu,u.geoVanDerGrinten=xl,u.geoVanDerGrintenRaw=Su,u.geoVanDerGrinten2=ki,u.geoVanDerGrinten2Raw=hc,u.geoVanDerGrinten3=jf,u.geoVanDerGrinten3Raw=Xi,u.geoVanDerGrinten4=nu,u.geoVanDerGrinten4Raw=zc,u.geoWagner=J,u.geoWagner7=de,u.geoWagnerRaw=L,u.geoWagner4=rt,u.geoWagner4Raw=Ze,u.geoWagner6=Mt,u.geoWagner6Raw=vt,u.geoWiechel=Ht,u.geoWiechelRaw=Gt,u.geoWinkel3=wr,u.geoWinkel3Raw=fr,Object.defineProperty(u,"__esModule",{value:!0})})}}),MO=De({"src/plots/geo/zoom.js"(j,N){"use strict";var u=Qn(),v=Ar(),w=hi(),S=Math.PI/180,l=180/Math.PI,e={cursor:"pointer"},t={cursor:"auto"};function a(b,_){var I=b.projection,C;return _._isScoped?C=i:_._isClipped?C=c:C=s,C(b,I)}N.exports=a;function r(b,_){return u.behavior.zoom().translate(_.translate()).scaleExtent(_.scaleExtent()).scale(_.scale())}function n(b,_,I){var C=b.id,F=b.graphDiv,R=F.layout,z=R[C],D=F._fullLayout,k=D[C],B={},O={};function q(Y,ee){B[C+"."+Y]=v.nestedProperty(z,Y).get(),w.call("_storeDirectGUIEdit",R,D._preGUI,B);var te=v.nestedProperty(k,Y);te.get()!==ee&&(te.set(ee),v.nestedProperty(z,Y).set(ee),O[C+"."+Y]=ee)}I(q),q("projection.scale",_.scale()/b.fitScale),q("fitbounds",!1),F.emit("plotly_relayout",O)}function i(b,_){var I=r(b,_);function C(){u.select(this).style(e)}function F(){_.scale(u.event.scale).translate(u.event.translate),b.render(!0);var D=_.invert(b.midPt);b.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":_.scale()/b.fitScale,"geo.center.lon":D[0],"geo.center.lat":D[1]})}function R(D){var k=_.invert(b.midPt);D("center.lon",k[0]),D("center.lat",k[1])}function z(){u.select(this).style(t),n(b,_,R)}return I.on("zoomstart",C).on("zoom",F).on("zoomend",z),I}function s(b,_){var I=r(b,_),C=2,F,R,z,D,k,B,O,q,Y;function ee(V){return _.invert(V)}function te(V){var $=ee(V);if(!$)return!0;var X=_($);return Math.abs(X[0]-V[0])>C||Math.abs(X[1]-V[1])>C}function ae(){u.select(this).style(e);let{x:V,y:$,width:X,height:Z}=this.getBBox();F=u.event.sourceEvent?u.mouse(this):[V+X/2,$+Z/2],R=_.rotate(),z=_.translate(),D=R,k=ee(F)}function U(){let{x:V,y:$,width:X,height:Z}=this.getBBox();if(B=u.event.sourceEvent?u.mouse(this):[V+X/2,$+Z/2],te(F)){I.scale(_.scale()),I.translate(_.translate());return}_.scale(u.event.scale),_.translate([z[0],u.event.translate[1]]),k?ee(B)&&(q=ee(B),O=[D[0]+(q[0]-k[0]),R[1],R[2]],_.rotate(O),D=O):(F=B,k=ee(F)),Y=!0,b.render(!0);var Q=_.rotate(),re=_.invert(b.midPt);b.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":_.scale()/b.fitScale,"geo.center.lon":re[0],"geo.center.lat":re[1],"geo.projection.rotation.lon":-Q[0]})}function H(){u.select(this).style(t),Y&&n(b,_,K)}function K(V){var $=_.rotate(),X=_.invert(b.midPt);V("projection.rotation.lon",-$[0]),V("center.lon",X[0]),V("center.lat",X[1])}return I.on("zoomstart",ae).on("zoom",U).on("zoomend",H),I}function c(b,_){var I={r:_.rotate(),k:_.scale()},C=r(b,_),F=h(C,"zoomstart","zoom","zoomend"),R=0,z=C.on,D;C.on("zoomstart",function(){u.select(this).style(e);let{x:Y,y:ee,width:te,height:ae}=this.getBBox(),U=u.event.sourceEvent?u.mouse(this):[Y+te/2,ee+ae/2],H=_.rotate(),K=H,V=_.translate(),$=f(H);D=p(_,U),z.call(C,"zoom",function(){let{x:X,y:Z,width:Q,height:re}=this.getBBox(),ce=u.event.sourceEvent?u.mouse(this):[X+Q/2,Z+re/2];if(_.scale(I.k=u.event.scale),!D)U=ce,D=p(_,U);else if(p(_,ce)){_.rotate(H).translate(V);var me=p(_,ce),ye=y(D,me),Ae=E(d($,ye)),Se=I.r=o(Ae,D,K);(!isFinite(Se[0])||!isFinite(Se[1])||!isFinite(Se[2]))&&(Se=K),_.rotate(Se),K=Se}B(F.of(this,arguments))}),k(F.of(this,arguments))}).on("zoomend",function(){u.select(this).style(t),z.call(C,"zoom",null),O(F.of(this,arguments)),n(b,_,q)}).on("zoom.redraw",function(){b.render(!0);var Y=_.rotate();b.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":_.scale()/b.fitScale,"geo.projection.rotation.lon":-Y[0],"geo.projection.rotation.lat":-Y[1]})});function k(Y){R++||Y({type:"zoomstart"})}function B(Y){Y({type:"zoom"})}function O(Y){--R||Y({type:"zoomend"})}function q(Y){var ee=_.rotate();Y("projection.rotation.lon",-ee[0]),Y("projection.rotation.lat",-ee[1])}return u.rebind(C,F,"on")}function p(b,_){var I=b.invert(_);return I&&isFinite(I[0])&&isFinite(I[1])&&g(I)}function f(b){var _=.5*b[0]*S,I=.5*b[1]*S,C=.5*b[2]*S,F=Math.sin(_),R=Math.cos(_),z=Math.sin(I),D=Math.cos(I),k=Math.sin(C),B=Math.cos(C);return[R*D*B+F*z*k,F*D*B-R*z*k,R*z*B+F*D*k,R*D*k-F*z*B]}function d(b,_){var I=b[0],C=b[1],F=b[2],R=b[3],z=_[0],D=_[1],k=_[2],B=_[3];return[I*z-C*D-F*k-R*B,I*D+C*z+F*B-R*k,I*k-C*B+F*z+R*D,I*B+C*k-F*D+R*z]}function y(b,_){if(!(!b||!_)){var I=m(b,_),C=Math.sqrt(A(I,I)),F=.5*Math.acos(Math.max(-1,Math.min(1,A(b,_)))),R=Math.sin(F)/C;return C&&[Math.cos(F),I[2]*R,-I[1]*R,I[0]*R]}}function o(b,_,I){var C=T(_,2,b[0]);C=T(C,1,b[1]),C=T(C,0,b[2]-I[2]);var F=_[0],R=_[1],z=_[2],D=C[0],k=C[1],B=C[2],O=Math.atan2(R,F)*l,q=Math.sqrt(F*F+R*R),Y,ee;Math.abs(k)>q?(ee=(k>0?90:-90)-O,Y=0):(ee=Math.asin(k/q)*l-O,Y=Math.sqrt(q*q-k*k));var te=180-ee-2*O,ae=(Math.atan2(B,D)-Math.atan2(z,Y))*l,U=(Math.atan2(B,D)-Math.atan2(z,-Y))*l,H=x(I[0],I[1],ee,ae),K=x(I[0],I[1],te,U);return H<=K?[ee,ae,I[2]]:[te,U,I[2]]}function x(b,_,I,C){var F=M(I-b),R=M(C-_);return Math.sqrt(F*F+R*R)}function M(b){return(b%360+540)%360-180}function T(b,_,I){var C=I*S,F=b.slice(),R=_===0?1:0,z=_===2?1:2,D=Math.cos(C),k=Math.sin(C);return F[R]=b[R]*D-b[z]*k,F[z]=b[z]*D+b[R]*k,F}function E(b){return[Math.atan2(2*(b[0]*b[1]+b[2]*b[3]),1-2*(b[1]*b[1]+b[2]*b[2]))*l,Math.asin(Math.max(-1,Math.min(1,2*(b[0]*b[2]-b[3]*b[1]))))*l,Math.atan2(2*(b[0]*b[3]+b[1]*b[2]),1-2*(b[2]*b[2]+b[3]*b[3]))*l]}function g(b){var _=b[0]*S,I=b[1]*S,C=Math.cos(I);return[C*Math.cos(_),C*Math.sin(_),Math.sin(I)]}function A(b,_){for(var I=0,C=0,F=b.length;C0&&O._module.calcGeoJSON(B,R)}if(!z){var q=this.updateProjection(F,R);if(q)return;(!this.viewInitial||this.scope!==D.scope)&&this.saveViewInitial(D)}this.scope=D.scope,this.updateBaseLayers(R,D),this.updateDims(R,D),this.updateFx(R,D),s.generalUpdatePerTraceModule(this.graphDiv,this,F,D);var Y=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=Y.selectAll(".point"),this.dataPoints.text=Y.selectAll("text"),this.dataPaths.line=Y.selectAll(".js-line");var ee=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=ee.selectAll("path"),this._render()},b.updateProjection=function(F,R){var z,D=this.graphDiv,k=R[this.id],B=R._size,O=k.domain,q=k.projection,Y=k.lonaxis,ee=k.lataxis,te=Y._ax,ae=ee._ax,U=this.projection=_(k),H=[[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])]],K=k.center||{},V=q.rotation||{},$=Y.range||[],X=ee.range||[];if(k.fitbounds){if(te._length=H[1][0]-H[0][0],ae._length=H[1][1]-H[0][1],te.range=p(D,te),ae.range=p(D,ae),!this.hasChoropleth&&k.fitbounds==="locations"){for(var Z=[],Q=!1,re=0;re0?(te.range[1]-te.range[0]-Ce)/2*(Se[1]-Se[0])/Ce:0;te.range=[Se[0]-qe,Se[1]+qe]}}}var Ue=(te.range[0]+te.range[1])/2,xe=(ae.range[0]+ae.range[1])/2;if(k._isScoped)K={lon:Ue,lat:xe};else if(k._isClipped){K={lon:Ue,lat:xe},V={lon:Ue,lat:xe,roll:V.roll};var he=q.type,oe=M.lonaxisSpan[he]/2||180,le=M.lataxisSpan[he]/2||90;$=[Ue-oe,Ue+oe],X=[xe-le,xe+le]}else K={lon:Ue,lat:xe},V={lon:Ue,lat:V.lat,roll:V.roll}}U.center([K.lon-V.lon,K.lat-V.lat]).rotate([-V.lon,-V.lat,V.roll]).parallels(q.parallels);var ne=C($,X);U.fitExtent(H,ne);var be=this.bounds=U.getBounds(ne),Fe=this.fitScale=U.scale(),Ve=U.translate();if(U.scaleExtent=()=>{var Pt;let{minscale:Zt}=q,vr=(Pt=q.maxscale)!=null?Pt:1/0;return[Fe*Math.min(Zt,vr),Fe*Math.max(Zt,vr)]},k.fitbounds){var je=U.getBounds(C(te.range,ae.range)),ut=Math.min((be[1][0]-be[0][0])/(je[1][0]-je[0][0]),(be[1][1]-be[0][1])/(je[1][1]-je[0][1]));isFinite(ut)?U.scale(ut*Fe):t.warn("Something went wrong during"+this.id+"fitbounds computations.")}else U.scale(q.scale*Fe);var st=this.midPt=[(be[0][0]+be[1][0])/2,(be[0][1]+be[1][1])/2];if(U.translate([Ve[0]+(st[0]-Ve[0]),Ve[1]+(st[1]-Ve[1])]).clipExtent(be),k._isAlbersUsa){var yt=U([K.lon,K.lat]);if(yt){var At=U.translate();U.translate([At[0]-(yt[0]-At[0]),At[1]-(yt[1]-At[1])])}}},b.updateBaseLayers=function(F,R){var z=this,D=z.topojson,k=z.layers,B=z.basePaths;function O(U){return U==="lonaxis"||U==="lataxis"}function q(U){return!!M.lineLayers[U]}function Y(U){return!!M.fillLayers[U]}var ee=this.hasChoropleth?M.layersForChoropleth:M.layers,te=ee.filter(function(U){return q(U)||Y(U)?R["show"+U]:O(U)?R[U].showgrid:!0}),ae=z.framework.selectAll(".layer").data(te,String);ae.exit().each(function(U){delete k[U],delete B[U],u.select(this).remove()}),ae.enter().append("g").attr("class",function(U){return"layer "+U}).each(function(U){var H=k[U]=u.select(this);U==="bg"?z.bgRect=H.append("rect").style("pointer-events","all"):O(U)?B[U]=H.append("path").style("fill","none"):U==="backplot"?H.append("g").classed("choroplethlayer",!0):U==="frontplot"?H.append("g").classed("scatterlayer",!0):q(U)?B[U]=H.append("path").style("fill","none").style("stroke-miterlimit",2):Y(U)&&(B[U]=H.append("path").style("stroke","none"))}),ae.order(),ae.each(function(U){var H=B[U],K=M.layerNameToAdjective[U];U==="frame"?H.datum(M.sphereSVG):q(U)||Y(U)?H.datum(m(D,D.objects[U])):O(U)&&H.datum(I(U,R,F)).call(r.stroke,R[U].gridcolor).call(n.dashLine,R[U].griddash,R[U].gridwidth),q(U)?H.call(r.stroke,R[K+"color"]).call(n.dashLine,"",R[K+"width"]):Y(U)&&H.call(r.fill,R[K+"color"])})},b.updateDims=function(F,R){var z=this.bounds,D=(R.framewidth||0)/2,k=z[0][0]-D,B=z[0][1]-D,O=z[1][0]-k+D,q=z[1][1]-B+D;n.setRect(this.clipRect,k,B,O,q),this.bgRect.call(n.setRect,k,B,O,q).call(r.fill,R.bgcolor),this.xaxis._offset=k,this.xaxis._length=O,this.yaxis._offset=B,this.yaxis._length=q},b.updateFx=function(F,R){var z=this,D=z.graphDiv,k=z.bgRect,B=F.dragmode,O=F.clickmode;if(z.isStatic)return;function q(){var ae=z.viewInitial,U={};for(var H in ae)U[z.id+"."+H]=ae[H];e.call("_guiRelayout",D,U),D.emit("plotly_doubleclick",null)}function Y(ae){return z.projection.invert([ae[0]+z.xaxis._offset,ae[1]+z.yaxis._offset])}var ee=function(ae,U){if(U.isRect){var H=ae.range={};H[z.id]=[Y([U.xmin,U.ymin]),Y([U.xmax,U.ymax])]}else{var K=ae.lassoPoints={};K[z.id]=U.map(Y)}},te={element:z.bgRect.node(),gd:D,plotinfo:{id:z.id,xaxis:z.xaxis,yaxis:z.yaxis,fillRangeItems:ee},xaxes:[z.xaxis],yaxes:[z.yaxis],subplot:z.id,clickFn:function(ae){ae===2&&y(D)}};if(B==="pan"){k.node().onmousedown=null;let ae=x(z,R);if(k.call(ae),!u.event){let U=z.projection.scale(),[H,K]=z.projection.scaleExtent();(UK)&&ae.event(k)}k.on("dblclick.zoom",q),D._context._scrollZoom.geo||k.on("wheel.zoom",null)}else(B==="select"||B==="lasso")&&(k.on(".zoom",null),te.prepFn=function(ae,U,H){d(ae,U,H,te,B)},f.init(te));k.on("mousemove",function(){var ae=z.projection.invert(t.getPositionFromD3Event());if(!ae)return f.unhover(D,u.event);z.xaxis.p2c=function(){return ae[0]},z.yaxis.p2c=function(){return ae[1]},i.hover(D,u.event,z.id)}),k.on("mouseout",function(){D._dragging||f.unhover(D,u.event)}),k.on("click",function(){B!=="select"&&B!=="lasso"&&(O.indexOf("select")>-1&&o(u.event,D,[z.xaxis],[z.yaxis],z.id,te),O.indexOf("event")>-1&&i.click(D,u.event))})},b.makeFramework=function(){var F=this,R=F.graphDiv,z=R._fullLayout,D="clip"+z._uid+F.id;F.clipDef=z._clips.append("clipPath").attr("id",D),F.clipRect=F.clipDef.append("rect"),F.framework=u.select(F.container).append("g").attr("class","geo "+F.id).call(n.setClipUrl,D,R),F.project=function(k){var B=F.projection(k);return B?[B[0]-F.xaxis._offset,B[1]-F.yaxis._offset]:[null,null]},F.xaxis={_id:"x",c2p:function(k){return F.project(k)[0]}},F.yaxis={_id:"y",c2p:function(k){return F.project(k)[1]}},F.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},c.setConvert(F.mockAxis,z)},b.saveViewInitial=function(F){var R=F.center||{},z=F.projection,D=z.rotation||{};this.viewInitial={fitbounds:F.fitbounds,"projection.scale":z.scale};var k;F._isScoped?k={"center.lon":R.lon,"center.lat":R.lat}:F._isClipped?k={"projection.rotation.lon":D.lon,"projection.rotation.lat":D.lat,"center.lon":R.lon,"center.lat":R.lat}:k={"center.lon":R.lon,"center.lat":R.lat,"projection.rotation.lon":D.lon},t.extendFlat(this.viewInitial,k)},b.render=function(F){this._hasMarkerAngles&&F?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()},b._render=function(){var F=this.projection,R=F.getPath(),z;function D(B){var O=F(B.lonlat);return O?a(O[0],O[1]):null}function k(B){return F.isLonLatOverEdges(B.lonlat)?"none":null}for(z in this.basePaths)this.basePaths[z].attr("d",R);for(z in this.dataPaths)this.dataPaths[z].attr("d",function(B){return R(B.geojson)});for(z in this.dataPoints)this.dataPoints[z].attr("display",k).attr("transform",D)};function _(F){var R=F.projection,z=R.type,D=M.projNames[z];D="geo"+t.titleCase(D);for(var k=v[D]||l[D],B=k(),O=F._isSatellite?Math.acos(1/R.distance)*180/Math.PI:F._isClipped?M.lonaxisSpan[z]/2:null,q=["center","rotate","parallels","clipExtent"],Y=function(ae){return ae?B:[]},ee=0;eeK}else return!1},B.getPath=function(){return w().projection(B)},B.getBounds=function(ae){return B.getPath().bounds(ae)},B.precision(M.precision),F._isSatellite&&B.tilt(R.tilt).distance(R.distance),O&&B.clipAngle(O-M.clipPad),B}function I(F,R,z){var D=1e-6,k=2.5,B=R[F],O=M.scopeDefaults[R.scope],q,Y,ee;F==="lonaxis"?(q=O.lonaxisRange,Y=O.lataxisRange,ee=function(Z,Q){return[Z,Q]}):F==="lataxis"&&(q=O.lataxisRange,Y=O.lonaxisRange,ee=function(Z,Q){return[Q,Z]});var te={type:"linear",range:[q[0],q[1]-D],tick0:B.tick0,dtick:B.dtick};c.setConvert(te,z);var ae=c.calcTicks(te);!R.isScoped&&F==="lonaxis"&&ae.pop();for(var U=ae.length,H=new Array(U),K=0;Kce[me]!=null)||l.fitboundsIncompatible.has(o)?n.fitbounds=!1:Q.forEach(({dst:ce,key:me})=>ce&&(ce[me]=null))}}}}),yT=De({"src/plots/geo/index.js"(j,N){"use strict";var u=Bf().getSubplotCalcData,v=Ar().counterRegex,w=SO(),S="geo",l=v(S),e={};e[S]={valType:"subplotid",dflt:S,editType:"calc"};function t(n){for(var i=n._fullLayout,s=n.calcdata,c=i._subplots[S],p=0;p")}}}}),wT=De({"src/traces/choropleth/event_data.js"(j,N){"use strict";N.exports=function(v,w,S,l,e){v.location=w.location,v.z=w.z;var t=l[e];return t.fIn&&t.fIn.properties&&(v.properties=t.fIn.properties),v.ct=t.ct,v}}}),AT=De({"src/traces/choropleth/select.js"(j,N){"use strict";N.exports=function(v,w){var S=v.cd,l=v.xaxis,e=v.yaxis,t=[],a,r,n,i,s;if(w===!1)for(a=0;a=Math.min(O,q)&&y<=Math.max(O,q)?0:1/0}if(C=Math.min(Y,ee)&&o<=Math.max(Y,ee)?0:1/0}z=Math.sqrt(C*C+F*F),h=M[I]}}}else for(I=M.length-1;I>-1;I--)m=M[I],b=f[m],_=d[m],C=c.c2p(b)-y,F=p.c2p(_)-o,R=Math.sqrt(C*C+F*F),R100},j.isDotSymbol=function(u){return typeof u=="string"?N.DOT_RE.test(u):u>200}}}),IO=De({"src/traces/scattergl/defaults.js"(j,N){"use strict";var u=Ar(),v=hi(),w=Ub(),S=_g(),l=kd(),e=Sl(),t=kp(),a=ud(),r=Jh(),n=cd(),i=Ld(),s=fd();N.exports=function(p,f,d,y){function o(h,b){return u.coerce(p,f,S,h,b)}var x=p.marker?w.isOpenSymbol(p.marker.symbol):!1,M=e.isBubble(p),T=t(p,f,y,o);if(!T){f.visible=!1;return}a(p,f,y,o),o("xhoverformat"),o("yhoverformat");var E=T>>1,p=t[c],f=r!==void 0?r(p,a):p-a;f>=0?(s=c,i=c-1):n=c+1}return s}function v(t,a,r,n,i){for(var s=i+1;n<=i;){var c=n+i>>>1,p=t[c],f=r!==void 0?r(p,a):p-a;f>0?(s=c,i=c-1):n=c+1}return s}function w(t,a,r,n,i){for(var s=n-1;n<=i;){var c=n+i>>>1,p=t[c],f=r!==void 0?r(p,a):p-a;f<0?(s=c,n=c+1):i=c-1}return s}function S(t,a,r,n,i){for(var s=n-1;n<=i;){var c=n+i>>>1,p=t[c],f=r!==void 0?r(p,a):p-a;f<=0?(s=c,n=c+1):i=c-1}return s}function l(t,a,r,n,i){for(;n<=i;){var s=n+i>>>1,c=t[s],p=r!==void 0?r(c,a):c-a;if(p===0)return s;p<=0?n=s+1:i=s-1}return-1}function e(t,a,r,n,i,s){return typeof r=="function"?s(t,a,r,n===void 0?0:n|0,i===void 0?t.length-1:i|0):s(t,a,void 0,r===void 0?0:r|0,n===void 0?t.length-1:n|0)}N.exports={ge:function(t,a,r,n,i){return e(t,a,r,n,i,u)},gt:function(t,a,r,n,i){return e(t,a,r,n,i,v)},lt:function(t,a,r,n,i){return e(t,a,r,n,i,w)},le:function(t,a,r,n,i){return e(t,a,r,n,i,S)},eq:function(t,a,r,n,i){return e(t,a,r,n,i,l)}}}}),Dd=De({"node_modules/pick-by-alias/index.js"(j,N){"use strict";N.exports=function(S,l,e){var t={},a,r;if(typeof l=="string"&&(l=v(l)),Array.isArray(l)){var n={};for(r=0;r1&&(w=arguments),typeof w=="string"?w=w.split(/\s/).map(parseFloat):typeof w=="number"&&(w=[w]),w.length&&typeof w[0]=="number"?w.length===1?S={width:w[0],height:w[0],x:0,y:0}:w.length===2?S={width:w[0],height:w[1],x:0,y:0}:S={x:w[0],y:w[1],width:w[2]-w[0]||0,height:w[3]-w[1]||0}:w&&(w=u(w,{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"}),S={x:w.left||0,y:w.top||0},w.width==null?w.right?S.width=w.right-S.x:S.width=0:S.width=w.width,w.height==null?w.bottom?S.height=w.bottom-S.y:S.height=0:S.height=w.height),S}}}),Yp=De({"node_modules/array-bounds/index.js"(j,N){"use strict";N.exports=u;function u(v,w){if(!v||v.length==null)throw Error("Argument should be an array");w==null?w=1:w=Math.floor(w);for(var S=Array(w*2),l=0;le&&(e=v[a]),v[a]>>1,M;f.dtype||(f.dtype="array"),typeof f.dtype=="string"?M=new(r(f.dtype))(x):f.dtype&&(M=f.dtype,Array.isArray(M)&&(M.length=x));for(let C=0;Cd||k>i){for(let $=0;$re||q>ce||Y=te||Z===Q)return;let me=T[X];Q===void 0&&(Q=me.length);for(let oe=Z;oe=z&&ne<=k&&be>=D&&be<=B&&ae.push(le)}let ye=E[X],Ae=ye[Z*4+0],Se=ye[Z*4+1],Ce=ye[Z*4+2],qe=ye[Z*4+3],Ue=H(ye,Z+1),xe=$*.5,he=X+1;U(K,V,xe,he,Ae,Se||Ce||qe||Ue),U(K,V+xe,xe,he,Se,Ce||qe||Ue),U(K+xe,V,xe,he,Ce,qe||Ue),U(K+xe,V+xe,xe,he,qe,Ue)}function H(K,V){let $=null,X=0;for(;$===null;)if($=K[V*4+X],X++,X>K.length)return null;return $}return ae}function _(C,F,R,z,D){let k=[];for(let B=0;B1&&(p=1),p<-1&&(p=-1),c*Math.acos(p)},e=function(r,n,i,s,c,p,f,d,y,o,x,M){var T=Math.pow(c,2),E=Math.pow(p,2),g=Math.pow(x,2),A=Math.pow(M,2),m=T*E-T*A-E*g;m<0&&(m=0),m/=T*A+E*g,m=Math.sqrt(m)*(f===d?-1:1);var h=m*c/p*M,b=m*-p/c*x,_=o*h-y*b+(r+i)/2,I=y*h+o*b+(n+s)/2,C=(x-h)/c,F=(M-b)/p,R=(-x-h)/c,z=(-M-b)/p,D=l(1,0,C,F),k=l(C,F,R,z);return d===0&&k>0&&(k-=v),d===1&&k<0&&(k+=v),[_,I,D,k]},t=function(r){var n=r.px,i=r.py,s=r.cx,c=r.cy,p=r.rx,f=r.ry,d=r.xAxisRotation,y=d===void 0?0:d,o=r.largeArcFlag,x=o===void 0?0:o,M=r.sweepFlag,T=M===void 0?0:M,E=[];if(p===0||f===0)return[];var g=Math.sin(y*v/360),A=Math.cos(y*v/360),m=A*(n-s)/2+g*(i-c)/2,h=-g*(n-s)/2+A*(i-c)/2;if(m===0&&h===0)return[];p=Math.abs(p),f=Math.abs(f);var b=Math.pow(m,2)/Math.pow(p,2)+Math.pow(h,2)/Math.pow(f,2);b>1&&(p*=Math.sqrt(b),f*=Math.sqrt(b));var _=e(n,i,s,c,p,f,x,T,g,A,m,h),I=u(_,4),C=I[0],F=I[1],R=I[2],z=I[3],D=Math.abs(z)/(v/4);Math.abs(1-D)<1e-7&&(D=1);var k=Math.max(Math.ceil(D),1);z/=k;for(var B=0;B4?(a=o[o.length-4],r=o[o.length-3]):(a=p,r=f),t.push(o)}return t}function w(l,e,t,a){return["C",l,e,t,a,t,a]}function S(l,e,t,a,r,n){return["C",l/3+2/3*t,e/3+2/3*a,r/3+2/3*t,n/3+2/3*a,r,n]}}}),MT=De({"node_modules/is-svg-path/index.js"(j,N){"use strict";N.exports=function(v){return typeof v!="string"?!1:(v=v.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(v)&&/[\dz]$/i.test(v)&&v.length>4))}}}),qO=De({"node_modules/svg-path-bounds/index.js"(j,N){"use strict";var u=A1(),v=TT(),w=UO(),S=MT(),l=Y1();N.exports=e;function e(t){if(Array.isArray(t)&&t.length===1&&typeof t[0]=="string"&&(t=t[0]),typeof t=="string"&&(l(S(t),"String is not an SVG path."),t=u(t)),l(Array.isArray(t),"Argument should be a string or an array of path segments."),t=v(t),t=w(t),!t.length)return[0,0,0,0];for(var a=[1/0,1/0,-1/0,-1/0],r=0,n=t.length;ra[2]&&(a[2]=i[s+0]),i[s+1]>a[3]&&(a[3]=i[s+1]);return a}}}),GO=De({"node_modules/normalize-svg-path/index.js"(j,N){var u=Math.PI,v=a(120);N.exports=w;function w(r){for(var n,i=[],s=0,c=0,p=0,f=0,d=null,y=null,o=0,x=0,M=0,T=r.length;M7&&(i.push(E.splice(0,7)),E.unshift("C"));break;case"S":var A=o,m=x;(n=="C"||n=="S")&&(A+=A-s,m+=m-c),E=["C",A,m,E[1],E[2],E[3],E[4]];break;case"T":n=="Q"||n=="T"?(d=o*2-d,y=x*2-y):(d=o,y=x),E=l(o,x,d,y,E[1],E[2]);break;case"Q":d=E[1],y=E[2],E=l(o,x,E[1],E[2],E[3],E[4]);break;case"L":E=S(o,x,E[1],E[2]);break;case"H":E=S(o,x,E[1],x);break;case"V":E=S(o,x,o,E[1]);break;case"Z":E=S(o,x,p,f);break}n=g,o=E[E.length-2],x=E[E.length-1],E.length>4?(s=E[E.length-4],c=E[E.length-3]):(s=o,c=x),i.push(E)}return i}function S(r,n,i,s){return["C",r,n,i,s,i,s]}function l(r,n,i,s,c,p){return["C",r/3+2/3*i,n/3+2/3*s,c/3+2/3*i,p/3+2/3*s,c,p]}function e(r,n,i,s,c,p,f,d,y,o){if(o)_=o[0],I=o[1],h=o[2],b=o[3];else{var x=t(r,n,-c);r=x.x,n=x.y,x=t(d,y,-c),d=x.x,y=x.y;var M=(r-d)/2,T=(n-y)/2,E=M*M/(i*i)+T*T/(s*s);E>1&&(E=Math.sqrt(E),i=E*i,s=E*s);var g=i*i,A=s*s,m=(p==f?-1:1)*Math.sqrt(Math.abs((g*A-g*T*T-A*M*M)/(g*T*T+A*M*M)));m==1/0&&(m=1);var h=m*i*T/s+(r+d)/2,b=m*-s*M/i+(n+y)/2,_=Math.asin(((n-b)/s).toFixed(9)),I=Math.asin(((y-b)/s).toFixed(9));_=rI&&(_=_-u*2),!f&&I>_&&(I=I-u*2)}if(Math.abs(I-_)>v){var C=I,F=d,R=y;I=_+v*(f&&I>_?1:-1),d=h+i*Math.cos(I),y=b+s*Math.sin(I);var z=e(d,y,i,s,c,0,f,F,R,[I,C,h,b])}var D=Math.tan((I-_)/4),k=4/3*i*D,B=4/3*s*D,O=[2*r-(r+k*Math.sin(_)),2*n-(n-B*Math.cos(_)),d+k*Math.sin(I),y-B*Math.cos(I),d,y];if(o)return O;z&&(O=O.concat(z));for(var q=0;q0?t.strokeStyle="white":t.strokeStyle="black",t.lineWidth=Math.abs(d)),t.translate(c*.5,p*.5),t.scale(x,x),n()){var M=new Path2D(i);t.fill(M),d&&t.stroke(M)}else{var T=v(i);w(t,T),t.fill(),d&&t.stroke()}t.setTransform(1,0,0,1,0,0);var E=l(t,{cutoff:s.cutoff!=null?s.cutoff:.5,radius:s.radius!=null?s.radius:f*.5});return E}var r;function n(){if(r!=null)return r;var i=document.createElement("canvas").getContext("2d");if(i.canvas.width=i.canvas.height=1,!window.Path2D)return r=!1;var s=new Path2D("M0,0h1v1h-1v-1Z");i.fillStyle="black",i.fill(s);var c=i.getImageData(0,0,1,1);return r=c&&c.data&&c.data[3]===255}}}),Zp=De({"src/traces/scattergl/convert.js"(j,N){"use strict";var u=io(),v=WO(),w=ap(),S=hi(),l=Ar(),e=l.isArrayOrTypedArray,t=Ki(),a=lu(),r=rv().formatColor,n=Sl(),i=w1(),s=Ub(),c=ip(),p=Zd().DESELECTDIM,f={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},d=Ch().appendArrayPointValue;function y(z,D){var k,B={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},O=z._context.plotGlPixelRatio;if(D.visible!==!0)return B;if(n.hasText(D)&&(B.text=o(z,D),B.textSel=E(z,D,D.selected),B.textUnsel=E(z,D,D.unselected)),n.hasMarkers(D)&&(B.marker=M(z,D),B.markerSel=T(z,D,D.selected),B.markerUnsel=T(z,D,D.unselected),!D.unselected&&e(D.marker.opacity))){var q=D.marker.opacity;for(B.markerUnsel.opacity=new Array(q.length),k=0;k500?"bold":"normal":z}function M(z,D){var k=D._length,B=D.marker,O={},q,Y=e(B.symbol),ee=e(B.angle),te=e(B.color),ae=e(B.line.color),U=e(B.opacity),H=e(B.size),K=e(B.line.width),V;if(Y||(V=s.isOpenSymbol(B.symbol)),Y||te||ae||U||ee){O.symbols=new Array(k),O.angles=new Array(k),O.colors=new Array(k),O.borderColors=new Array(k);var $=B.symbol,X=B.angle,Z=r(B,B.opacity,k),Q=r(B.line,B.opacity,k);if(!e(Q[0])){var re=Q;for(Q=Array(k),q=0;qc.TOO_MANY_POINTS||n.hasMarkers(D)?"rect":"round";if(ae&&D.connectgaps){var H=q[0],K=q[1];for(Y=0;Y1?te[Y]:te[0]:te,V=e(ae)?ae.length>1?ae[Y]:ae[0]:ae,$=f[K],X=f[V],Z=U?U/.8+1:0,Q=-X*Z-X*.5;q.offset[Y]=[$*Z/H,Q/H]}}return q}N.exports={style:y,markerStyle:M,markerSelection:T,linePositions:C,errorBarPositions:F,textPosition:R}}}),ST=De({"src/traces/scattergl/scene_update.js"(j,N){"use strict";var u=Ar();N.exports=function(w,S){var l=S._scene,e={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},t={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return S._scene||(l=S._scene={},l.init=function(){u.extendFlat(l,t,e)},l.init(),l.update=function(r){var n=u.repeat(r,l.count);if(l.fill2d&&l.fill2d.update(n),l.scatter2d&&l.scatter2d.update(n),l.line2d&&l.line2d.update(n),l.error2d&&l.error2d.update(n.concat(n)),l.select2d&&l.select2d.update(n),l.glText)for(var i=0;i=p,h=A*2,b={},_,I=T.makeCalcdata(x,"x"),C=E.makeCalcdata(x,"y"),F=l(x,T,"x",I),R=l(x,E,"y",C),z=F.vals,D=R.vals;x._x=z,x._y=D,x.xperiodalignment&&(x._origX=I,x._xStarts=F.starts,x._xEnds=F.ends),x.yperiodalignment&&(x._origY=C,x._yStarts=R.starts,x._yEnds=R.ends);var k=new Array(h),B=new Array(A);for(_=0;_1&&v.extendFlat(g.line,i.linePositions(y,x,M)),g.errorX||g.errorY){var A=i.errorBarPositions(y,x,M,T,E);g.errorX&&v.extendFlat(g.errorX,A.x),g.errorY&&v.extendFlat(g.errorY,A.y)}return g.text&&(v.extendFlat(g.text,{positions:M},i.textPosition(y,x,g.text,g.marker)),v.extendFlat(g.textSel,{positions:M},i.textPosition(y,x,g.text,g.markerSel)),v.extendFlat(g.textUnsel,{positions:M},i.textPosition(y,x,g.text,g.markerUnsel))),g}}}),ET=De({"src/traces/scattergl/edit_style.js"(j,N){"use strict";var u=Ar(),v=ii(),w=Zd().DESELECTDIM;function S(l){var e=l[0],t=e.trace,a=e.t,r=a._scene,n=a.index,i=r.selectBatch[n],s=r.unselectBatch[n],c=r.textOptions[n],p=r.textSelectedOptions[n]||{},f=r.textUnselectedOptions[n]||{},d=u.extendFlat({},c),y,o;if(i.length||s.length){var x=p.color,M=f.color,T=c.color,E=u.isArrayOrTypedArray(T);for(d.color=new Array(t._length),y=0;y>>24,t=(S&16711680)>>>16,a=(S&65280)>>>8,r=S&255;return l===!1?[e,t,a,r]:[e/255,t/255,a/255,r/255]}}}),_c=De({"node_modules/object-assign/index.js"(j,N){"use strict";var u=Object.getOwnPropertySymbols,v=Object.prototype.hasOwnProperty,w=Object.prototype.propertyIsEnumerable;function S(e){if(e==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function l(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de",Object.getOwnPropertyNames(e)[0]==="5")return!1;for(var t={},a=0;a<10;a++)t["_"+String.fromCharCode(a)]=a;var r=Object.getOwnPropertyNames(t).map(function(i){return t[i]});if(r.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}}N.exports=l()?Object.assign:function(e,t){for(var a,r=S(e),n,i=1;ib.length)&&(_=b.length);for(var I=0,C=new Array(_);I<_;I++)C[I]=b[I];return C}function r(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function n(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=ap(),s=Yp(),c=ZO(),p=qb(),f=_c(),d=$O(),y=Dd(),o=CT(),x=Xp(),M=KO(),T=Gb(),E=Om(),g=A;function A(b,_){var I=this;if(!(this instanceof A))return new A(b,_);typeof b=="function"?(_||(_={}),_.regl=b):(_=b,b=null),_&&_.length&&(_.positions=_),b=_.regl;var C=b._gl,F,R=[],z={},D=[],k=[null],B=[null],O=255,q=100;this.tooManyColors=M,F=b.texture({data:new Uint8Array(O*4),width:O,height:1,type:"uint8",format:"rgba",wrapS:"clamp",wrapT:"clamp",mag:"nearest",min:"nearest"}),f(this,{regl:b,gl:C,groups:D,markerCache:B,markerTextures:k,palette:R,paletteIds:z,paletteTexture:F,maxColors:O,maxSize:q,canvas:C.canvas}),this.update(_);var Y={uniforms:{constPointSize:!!_.constPointSize,opacity:b.prop("opacity"),paletteSize:function(U,H){return[I.tooManyColors?0:O,F.height]},pixelRatio:b.context("pixelRatio"),scale:b.prop("scale"),scaleFract:b.prop("scaleFract"),translate:b.prop("translate"),translateFract:b.prop("translateFract"),markerTexture:b.prop("markerTexture"),paletteTexture:F},attributes:{x:function(U,H){return H.xAttr||{buffer:H.positionBuffer,stride:8,offset:0}},y:function(U,H){return H.yAttr||{buffer:H.positionBuffer,stride:8,offset:4}},xFract:function(U,H){return H.xAttr?{constant:[0,0]}:{buffer:H.positionFractBuffer,stride:8,offset:0}},yFract:function(U,H){return H.yAttr?{constant:[0,0]}:{buffer:H.positionFractBuffer,stride:8,offset:4}},size:function(U,H){return H.size.length?{buffer:H.sizeBuffer,stride:2,offset:0}:{constant:[Math.round(H.size*255/I.maxSize)]}},borderSize:function(U,H){return H.borderSize.length?{buffer:H.sizeBuffer,stride:2,offset:1}:{constant:[Math.round(H.borderSize*255/I.maxSize)]}},colorId:function(U,H){return H.color.length?{buffer:H.colorBuffer,stride:I.tooManyColors?8:4,offset:0}:{constant:I.tooManyColors?R.slice(H.color*4,H.color*4+4):[H.color]}},borderColorId:function(U,H){return H.borderColor.length?{buffer:H.colorBuffer,stride:I.tooManyColors?8:4,offset:I.tooManyColors?4:2}:{constant:I.tooManyColors?R.slice(H.borderColor*4,H.borderColor*4+4):[H.borderColor]}},isActive:function(U,H){return H.activation===!0?{constant:[1]}:H.activation?H.activation:{constant:[0]}}},blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},scissor:{enable:!0,box:b.prop("viewport")},viewport:b.prop("viewport"),stencil:{enable:!1},depth:{enable:!1},elements:b.prop("elements"),count:b.prop("count"),offset:b.prop("offset"),primitive:"points"},ee=f({},Y);ee.frag=d([`precision highp float; #define GLSLIFY 1 -attribute vec3 position, nextPosition; -attribute float arcLength, lineWidth; -attribute vec4 color; - -uniform vec2 screenShape; -uniform float pixelRatio; -uniform mat4 model, view, projection; - -varying vec4 fragColor; -varying vec3 worldPosition; -varying float pixelArcLength; - -vec4 project(vec3 p) { - return projection * (view * (model * vec4(p, 1.0))); -} - -void main() { - vec4 startPoint = project(position); - vec4 endPoint = project(nextPosition); - - vec2 A = startPoint.xy / startPoint.w; - vec2 B = endPoint.xy / endPoint.w; - - float clipAngle = atan( - (B.y - A.y) * screenShape.y, - (B.x - A.x) * screenShape.x - ); - - vec2 offset = 0.5 * pixelRatio * lineWidth * vec2( - sin(clipAngle), - -cos(clipAngle) - ) / screenShape; - - gl_Position = vec4(startPoint.xy + startPoint.w * offset, startPoint.zw); - - worldPosition = position; - pixelArcLength = arcLength; - fragColor = color; -} -`]),i=o([`precision highp float; -#define GLSLIFY 1 - -bool outOfRange(float a, float b, float p) { - return ((p > max(a, b)) || - (p < min(a, b))); -} - -bool outOfRange(vec2 a, vec2 b, vec2 p) { - return (outOfRange(a.x, b.x, p.x) || - outOfRange(a.y, b.y, p.y)); -} - -bool outOfRange(vec3 a, vec3 b, vec3 p) { - return (outOfRange(a.x, b.x, p.x) || - outOfRange(a.y, b.y, p.y) || - outOfRange(a.z, b.z, p.z)); -} - -bool outOfRange(vec4 a, vec4 b, vec4 p) { - return outOfRange(a.xyz, b.xyz, p.xyz); -} - -uniform vec3 clipBounds[2]; -uniform sampler2D dashTexture; -uniform float dashScale; -uniform float opacity; - -varying vec3 worldPosition; -varying float pixelArcLength; -varying vec4 fragColor; - -void main() { - if ( - outOfRange(clipBounds[0], clipBounds[1], worldPosition) || - fragColor.a * opacity == 0. - ) discard; - - float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r; - if(dashWeight < 0.5) { - discard; - } - gl_FragColor = fragColor * opacity; -} -`]),s=o([`precision highp float; -#define GLSLIFY 1 - -#define FLOAT_MAX 1.70141184e38 -#define FLOAT_MIN 1.17549435e-38 - -// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl -vec4 packFloat(float v) { - float av = abs(v); - - //Handle special cases - if(av < FLOAT_MIN) { - return vec4(0.0, 0.0, 0.0, 0.0); - } else if(v > FLOAT_MAX) { - return vec4(127.0, 128.0, 0.0, 0.0) / 255.0; - } else if(v < -FLOAT_MAX) { - return vec4(255.0, 128.0, 0.0, 0.0) / 255.0; - } - - vec4 c = vec4(0,0,0,0); - - //Compute exponent and mantissa - float e = floor(log2(av)); - float m = av * pow(2.0, -e) - 1.0; - - //Unpack mantissa - c[1] = floor(128.0 * m); - m -= c[1] / 128.0; - c[2] = floor(32768.0 * m); - m -= c[2] / 32768.0; - c[3] = floor(8388608.0 * m); - - //Unpack exponent - float ebias = e + 127.0; - c[0] = floor(ebias / 2.0); - ebias -= c[0] * 2.0; - c[1] += floor(ebias) * 128.0; - - //Unpack sign bit - c[0] += 128.0 * step(0.0, -v); - - //Scale back to range - return c / 255.0; -} - -bool outOfRange(float a, float b, float p) { - return ((p > max(a, b)) || - (p < min(a, b))); -} - -bool outOfRange(vec2 a, vec2 b, vec2 p) { - return (outOfRange(a.x, b.x, p.x) || - outOfRange(a.y, b.y, p.y)); -} - -bool outOfRange(vec3 a, vec3 b, vec3 p) { - return (outOfRange(a.x, b.x, p.x) || - outOfRange(a.y, b.y, p.y) || - outOfRange(a.z, b.z, p.z)); -} - -bool outOfRange(vec4 a, vec4 b, vec4 p) { - return outOfRange(a.xyz, b.xyz, p.xyz); -} - -uniform float pickId; -uniform vec3 clipBounds[2]; - -varying vec3 worldPosition; -varying float pixelArcLength; -varying vec4 fragColor; - -void main() { - if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard; - - gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz); -}`]),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.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?` -`+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);Rye)?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` -`: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;tle)?he.tree=p(xe,{bounds:je}):le&&le.length&&(he.tree=le),he.tree){var ut={primitive:"points",usage:"static",data:he.tree,type:"uint32"};he.elements?he.elements(ut):he.elements=z.elements(ut)}var st=T.float32(xe);ne({data:st,usage:"dynamic"});var yt=T.fract32(xe,st);return be({data:yt,usage:"dynamic"}),Fe({data:new Uint8Array(Ve),type:"uint8",usage:"stream"}),xe}},{marker:function(xe,he,oe){var le=he.activation;if(le.forEach(function(yt){return yt&&yt.destroy&&yt.destroy()}),le.length=0,!xe||typeof xe[0]=="number"){var ne=b.addMarker(xe);le[ne]=!0}else{for(var be=[],Fe=0,Ve=Math.min(xe.length,he.count);Fe=0)return F;var R;if(b instanceof Uint8Array||b instanceof Uint8ClampedArray)R=b;else{R=new Uint8Array(b.length);for(var z=0,D=b.length;zC*4&&(this.tooManyColors=!0),this.updatePalette(I),F.length===1?F[0]:F},A.prototype.updatePalette=function(b){if(!this.tooManyColors){var _=this.maxColors,I=this.paletteTexture,C=Math.ceil(b.length*.25/_);if(C>1){b=b.slice();for(var F=b.length*.25%_;F80*k){ee=ae=z[0],te=U=z[1];for(var $=k;$ae&&(ae=H),K>U&&(U=K);V=Math.max(ae-ee,U-te),V=V!==0?32767/V:0}return S(q,Y,k,ee,te,V,0),Y}function v(z,D,k,B,O){var q,Y;if(O===R(z,D,k,B)>0)for(q=D;q=D;q-=B)Y=I(q,z[q],z[q+1],Y);return Y&&T(Y,Y.next)&&(C(Y),Y=Y.next),Y}function w(z,D){if(!z)return z;D||(D=z);var k=z,B;do if(B=!1,!k.steiner&&(T(k,k.next)||M(k.prev,k,k.next)===0)){if(C(k),k=D=k.prev,k===k.next)break;B=!0}else k=k.next;while(B||k!==D);return D}function S(z,D,k,B,O,q,Y){if(z){!Y&&q&&p(z,B,O,q);for(var ee=z,te,ae;z.prev!==z.next;){if(te=z.prev,ae=z.next,q?e(z,B,O,q):l(z)){D.push(te.i/k|0),D.push(z.i/k|0),D.push(ae.i/k|0),C(z),z=ae.next,ee=ae.next;continue}if(z=ae,z===ee){Y?Y===1?(z=t(w(z),D,k),S(z,D,k,B,O,q,2)):Y===2&&a(z,D,k,B,O,q):S(w(z),D,k,B,O,q,1);break}}}}function l(z){var D=z.prev,k=z,B=z.next;if(M(D,k,B)>=0)return!1;for(var O=D.x,q=k.x,Y=B.x,ee=D.y,te=k.y,ae=B.y,U=Oq?O>Y?O:Y:q>Y?q:Y,V=ee>te?ee>ae?ee:ae:te>ae?te:ae,$=B.next;$!==D;){if($.x>=U&&$.x<=K&&$.y>=H&&$.y<=V&&o(O,ee,q,te,Y,ae,$.x,$.y)&&M($.prev,$,$.next)>=0)return!1;$=$.next}return!0}function e(z,D,k,B){var O=z.prev,q=z,Y=z.next;if(M(O,q,Y)>=0)return!1;for(var ee=O.x,te=q.x,ae=Y.x,U=O.y,H=q.y,K=Y.y,V=eete?ee>ae?ee:ae:te>ae?te:ae,Z=U>H?U>K?U:K:H>K?H:K,Q=d(V,$,D,k,B),re=d(X,Z,D,k,B),ce=z.prevZ,me=z.nextZ;ce&&ce.z>=Q&&me&&me.z<=re;){if(ce.x>=V&&ce.x<=X&&ce.y>=$&&ce.y<=Z&&ce!==O&&ce!==Y&&o(ee,U,te,H,ae,K,ce.x,ce.y)&&M(ce.prev,ce,ce.next)>=0||(ce=ce.prevZ,me.x>=V&&me.x<=X&&me.y>=$&&me.y<=Z&&me!==O&&me!==Y&&o(ee,U,te,H,ae,K,me.x,me.y)&&M(me.prev,me,me.next)>=0))return!1;me=me.nextZ}for(;ce&&ce.z>=Q;){if(ce.x>=V&&ce.x<=X&&ce.y>=$&&ce.y<=Z&&ce!==O&&ce!==Y&&o(ee,U,te,H,ae,K,ce.x,ce.y)&&M(ce.prev,ce,ce.next)>=0)return!1;ce=ce.prevZ}for(;me&&me.z<=re;){if(me.x>=V&&me.x<=X&&me.y>=$&&me.y<=Z&&me!==O&&me!==Y&&o(ee,U,te,H,ae,K,me.x,me.y)&&M(me.prev,me,me.next)>=0)return!1;me=me.nextZ}return!0}function t(z,D,k){var B=z;do{var O=B.prev,q=B.next.next;!T(O,q)&&E(O,B,B.next,q)&&h(O,q)&&h(q,O)&&(D.push(O.i/k|0),D.push(B.i/k|0),D.push(q.i/k|0),C(B),C(B.next),B=z=q),B=B.next}while(B!==z);return w(B)}function a(z,D,k,B,O,q){var Y=z;do{for(var ee=Y.next.next;ee!==Y.prev;){if(Y.i!==ee.i&&x(Y,ee)){var te=_(Y,ee);Y=w(Y,Y.next),te=w(te,te.next),S(Y,D,k,B,O,q,0),S(te,D,k,B,O,q,0);return}ee=ee.next}Y=Y.next}while(Y!==z)}function r(z,D,k,B){var O=[],q,Y,ee,te,ae;for(q=0,Y=D.length;q=k.next.y&&k.next.y!==k.y){var ee=k.x+(O-k.y)*(k.next.x-k.x)/(k.next.y-k.y);if(ee<=B&&ee>q&&(q=ee,Y=k.x=k.x&&k.x>=ae&&B!==k.x&&o(OY.x||k.x===Y.x&&c(Y,k)))&&(Y=k,H=K)),k=k.next;while(k!==te);return Y}function c(z,D){return M(z.prev,z,D.prev)<0&&M(D.next,z,z.next)<0}function p(z,D,k,B){var O=z;do O.z===0&&(O.z=d(O.x,O.y,D,k,B)),O.prevZ=O.prev,O.nextZ=O.next,O=O.next;while(O!==z);O.prevZ.nextZ=null,O.prevZ=null,f(O)}function f(z){var D,k,B,O,q,Y,ee,te,ae=1;do{for(k=z,z=null,q=null,Y=0;k;){for(Y++,B=k,ee=0,D=0;D0||te>0&&B;)ee!==0&&(te===0||!B||k.z<=B.z)?(O=k,k=k.nextZ,ee--):(O=B,B=B.nextZ,te--),q?q.nextZ=O:z=O,O.prevZ=q,q=O;k=B}q.nextZ=null,ae*=2}while(Y>1);return z}function d(z,D,k,B,O){return z=(z-k)*O|0,D=(D-B)*O|0,z=(z|z<<8)&16711935,z=(z|z<<4)&252645135,z=(z|z<<2)&858993459,z=(z|z<<1)&1431655765,D=(D|D<<8)&16711935,D=(D|D<<4)&252645135,D=(D|D<<2)&858993459,D=(D|D<<1)&1431655765,z|D<<1}function y(z){var D=z,k=z;do(D.x=(z-Y)*(q-ee)&&(z-Y)*(B-ee)>=(k-Y)*(D-ee)&&(k-Y)*(q-ee)>=(O-Y)*(B-ee)}function x(z,D){return z.next.i!==D.i&&z.prev.i!==D.i&&!m(z,D)&&(h(z,D)&&h(D,z)&&b(z,D)&&(M(z.prev,z,D.prev)||M(z,D.prev,D))||T(z,D)&&M(z.prev,z,z.next)>0&&M(D.prev,D,D.next)>0)}function M(z,D,k){return(D.y-z.y)*(k.x-D.x)-(D.x-z.x)*(k.y-D.y)}function T(z,D){return z.x===D.x&&z.y===D.y}function E(z,D,k,B){var O=A(M(z,D,k)),q=A(M(z,D,B)),Y=A(M(k,B,z)),ee=A(M(k,B,D));return!!(O!==q&&Y!==ee||O===0&&g(z,k,D)||q===0&&g(z,B,D)||Y===0&&g(k,z,B)||ee===0&&g(k,D,B))}function g(z,D,k){return D.x<=Math.max(z.x,k.x)&&D.x>=Math.min(z.x,k.x)&&D.y<=Math.max(z.y,k.y)&&D.y>=Math.min(z.y,k.y)}function A(z){return z>0?1:z<0?-1:0}function m(z,D){var k=z;do{if(k.i!==z.i&&k.next.i!==z.i&&k.i!==D.i&&k.next.i!==D.i&&E(k,k.next,z,D))return!0;k=k.next}while(k!==z);return!1}function h(z,D){return M(z.prev,z,z.next)<0?M(z,D,z.next)>=0&&M(z,z.prev,D)>=0:M(z,D,z.prev)<0||M(z,z.next,D)<0}function b(z,D){var k=z,B=!1,O=(z.x+D.x)/2,q=(z.y+D.y)/2;do k.y>q!=k.next.y>q&&k.next.y!==k.y&&O<(k.next.x-k.x)*(q-k.y)/(k.next.y-k.y)+k.x&&(B=!B),k=k.next;while(k!==z);return B}function _(z,D){var k=new F(z.i,z.x,z.y),B=new F(D.i,D.x,D.y),O=z.next,q=D.prev;return z.next=D,D.prev=z,k.next=O,O.prev=k,B.next=k,k.prev=B,q.next=B,B.prev=q,B}function I(z,D,k,B){var O=new F(z,D,k);return B?(O.next=B.next,O.prev=B,B.next.prev=O,B.next=O):(O.prev=O,O.next=O),O}function C(z){z.next.prev=z.prev,z.prev.next=z.next,z.prevZ&&(z.prevZ.nextZ=z.nextZ),z.nextZ&&(z.nextZ.prevZ=z.prevZ)}function F(z,D,k){this.i=z,this.x=D,this.y=k,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}u.deviation=function(z,D,k,B){var O=D&&D.length,q=O?D[0]*k:z.length,Y=Math.abs(R(z,0,q,k));if(O)for(var ee=0,te=D.length;ee0&&(B+=z[O-1].length,k.holes.push(B))}return k}}}),QO=De({"node_modules/array-normalize/index.js"(j,N){"use strict";var u=Yp();N.exports=v;function v(w,S,l){if(!w||w.length==null)throw Error("Argument should be an array");S==null&&(S=1),l==null&&(l=u(w,S));for(var e=0;e-1}}}),zT=De({"node_modules/es5-ext/string/#/contains/index.js"(j,N){"use strict";N.exports=hN()()?String.prototype.contains:dN()}}),iv=De({"node_modules/d/index.js"(j,N){"use strict";var u=$p(),v=DT(),w=Wb(),S=FT(),l=zT(),e=N.exports=function(t,a){var r,n,i,s,c;return arguments.length<2||typeof t!="string"?(s=a,a=t,t=null):s=arguments[2],u(t)?(r=l.call(t,"c"),n=l.call(t,"e"),i=l.call(t,"w")):(r=i=!0,n=!1),c={value:a,configurable:r,enumerable:n,writable:i},s?w(S(s),c):c};e.gs=function(t,a,r){var n,i,s,c;return typeof t!="string"?(s=r,r=a,a=t,t=null):s=arguments[3],u(a)?v(a)?u(r)?v(r)||(s=r,r=void 0):r=void 0:(s=a,a=r=void 0):a=void 0,u(t)?(n=l.call(t,"c"),i=l.call(t,"e")):(n=!0,i=!1),c={get:a,set:r,configurable:n,enumerable:i},s?w(S(s),c):c}}}),xg=De({"node_modules/es5-ext/function/is-arguments.js"(j,N){"use strict";var u=Object.prototype.toString,v=u.call(function(){return arguments}());N.exports=function(w){return u.call(w)===v}}}),bg=De({"node_modules/es5-ext/string/is-string.js"(j,N){"use strict";var u=Object.prototype.toString,v=u.call("");N.exports=function(w){return typeof w=="string"||w&&typeof w=="object"&&(w instanceof String||u.call(w)===v)||!1}}}),vN=De({"node_modules/ext/global-this/is-implemented.js"(j,N){"use strict";N.exports=function(){return typeof globalThis!="object"||!globalThis?!1:globalThis.Array===Array}}}),pN=De({"node_modules/ext/global-this/implementation.js"(j,N){var u=function(){if(typeof self=="object"&&self)return self;if(typeof window=="object"&&window)return window;throw new Error("Unable to resolve global `this`")};N.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch{return u()}try{return __global__||u()}finally{delete Object.prototype.__global__}}()}}),wg=De({"node_modules/ext/global-this/index.js"(j,N){"use strict";N.exports=vN()()?globalThis:pN()}}),mN=De({"node_modules/es6-symbol/is-implemented.js"(j,N){"use strict";var u=wg(),v={object:!0,symbol:!0};N.exports=function(){var w=u.Symbol,S;if(typeof w!="function")return!1;S=w("test symbol");try{String(S)}catch{return!1}return!(!v[typeof w.iterator]||!v[typeof w.toPrimitive]||!v[typeof w.toStringTag])}}}),gN=De({"node_modules/es6-symbol/is-symbol.js"(j,N){"use strict";N.exports=function(u){return u?typeof u=="symbol"?!0:!u.constructor||u.constructor.name!=="Symbol"?!1:u[u.constructor.toStringTag]==="Symbol":!1}}}),BT=De({"node_modules/es6-symbol/validate-symbol.js"(j,N){"use strict";var u=gN();N.exports=function(v){if(!u(v))throw new TypeError(v+" is not a symbol");return v}}}),yN=De({"node_modules/es6-symbol/lib/private/generate-name.js"(j,N){"use strict";var u=iv(),v=Object.create,w=Object.defineProperty,S=Object.prototype,l=v(null);N.exports=function(e){for(var t=0,a,r;l[e+(t||"")];)++t;return e+=t||"",l[e]=!0,a="@@"+e,w(S,a,u.gs(null,function(n){r||(r=!0,w(this,a,u(n)),r=!1)})),a}}}),_N=De({"node_modules/es6-symbol/lib/private/setup/standard-symbols.js"(j,N){"use strict";var u=iv(),v=wg().Symbol;N.exports=function(w){return Object.defineProperties(w,{hasInstance:u("",v&&v.hasInstance||w("hasInstance")),isConcatSpreadable:u("",v&&v.isConcatSpreadable||w("isConcatSpreadable")),iterator:u("",v&&v.iterator||w("iterator")),match:u("",v&&v.match||w("match")),replace:u("",v&&v.replace||w("replace")),search:u("",v&&v.search||w("search")),species:u("",v&&v.species||w("species")),split:u("",v&&v.split||w("split")),toPrimitive:u("",v&&v.toPrimitive||w("toPrimitive")),toStringTag:u("",v&&v.toStringTag||w("toStringTag")),unscopables:u("",v&&v.unscopables||w("unscopables"))})}}}),xN=De({"node_modules/es6-symbol/lib/private/setup/symbol-registry.js"(j,N){"use strict";var u=iv(),v=BT(),w=Object.create(null);N.exports=function(S){return Object.defineProperties(S,{for:u(function(l){return w[l]?w[l]:w[l]=S(String(l))}),keyFor:u(function(l){var e;v(l);for(e in w)if(w[e]===l)return e})})}}}),bN=De({"node_modules/es6-symbol/polyfill.js"(j,N){"use strict";var u=iv(),v=BT(),w=wg().Symbol,S=yN(),l=_N(),e=xN(),t=Object.create,a=Object.defineProperties,r=Object.defineProperty,n,i,s;if(typeof w=="function")try{String(w()),s=!0}catch{}else w=null;i=function(p){if(this instanceof i)throw new TypeError("Symbol is not a constructor");return n(p)},N.exports=n=function c(p){var f;if(this instanceof c)throw new TypeError("Symbol is not a constructor");return s?w(p):(f=t(i.prototype),p=p===void 0?"":String(p),a(f,{__description__:u("",p),__name__:u("",S(p))}))},l(n),e(n),a(i.prototype,{constructor:u(n),toString:u("",function(){return this.__name__})}),a(n.prototype,{toString:u(function(){return"Symbol ("+v(this).__description__+")"}),valueOf:u(function(){return v(this)})}),r(n.prototype,n.toPrimitive,u("",function(){var c=v(this);return typeof c=="symbol"?c:c.toString()})),r(n.prototype,n.toStringTag,u("c","Symbol")),r(i.prototype,n.toStringTag,u("c",n.prototype[n.toStringTag])),r(i.prototype,n.toPrimitive,u("c",n.prototype[n.toPrimitive]))}}),sp=De({"node_modules/es6-symbol/index.js"(j,N){"use strict";N.exports=mN()()?wg().Symbol:bN()}}),wN=De({"node_modules/es5-ext/array/#/clear.js"(j,N){"use strict";var u=nv();N.exports=function(){return u(this).length=0,this}}}),Nm=De({"node_modules/es5-ext/object/valid-callable.js"(j,N){"use strict";N.exports=function(u){if(typeof u!="function")throw new TypeError(u+" is not a function");return u}}}),AN=De({"node_modules/type/string/coerce.js"(j,N){"use strict";var u=$p(),v=Hb(),w=Object.prototype.toString;N.exports=function(S){if(!u(S))return null;if(v(S)){var l=S.toString;if(typeof l!="function"||l===w)return null}try{return""+S}catch{return null}}}}),TN=De({"node_modules/type/lib/safe-to-string.js"(j,N){"use strict";N.exports=function(u){try{return u.toString()}catch{try{return String(u)}catch{return null}}}}}),MN=De({"node_modules/type/lib/to-short-string.js"(j,N){"use strict";var u=TN(),v=/[\n\r\u2028\u2029]/g;N.exports=function(w){var S=u(w);return S===null?"":(S.length>100&&(S=S.slice(0,99)+"\u2026"),S=S.replace(v,function(l){switch(l){case` +`:return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}}),S)}}}),OT=De({"node_modules/type/lib/resolve-exception.js"(j,N){"use strict";var u=$p(),v=Hb(),w=AN(),S=MN(),l=function(e,t){return e.replace("%v",S(t))};N.exports=function(e,t,a){if(!v(a))throw new TypeError(l(t,e));if(!u(e)){if("default"in a)return a.default;if(a.isOptional)return null}var r=w(a.errorMessage);throw u(r)||(r=t),new TypeError(l(r,e))}}}),SN=De({"node_modules/type/value/ensure.js"(j,N){"use strict";var u=OT(),v=$p();N.exports=function(w){return v(w)?w:u(w,"Cannot use %v",arguments[1])}}}),EN=De({"node_modules/type/plain-function/ensure.js"(j,N){"use strict";var u=OT(),v=DT();N.exports=function(w){return v(w)?w:u(w,"%v is not a plain function",arguments[1])}}}),kN=De({"node_modules/es5-ext/array/from/is-implemented.js"(j,N){"use strict";N.exports=function(){var u=Array.from,v,w;return typeof u!="function"?!1:(v=["raz","dwa"],w=u(v),!!(w&&w!==v&&w[1]==="dwa"))}}}),CN=De({"node_modules/es5-ext/function/is-function.js"(j,N){"use strict";var u=Object.prototype.toString,v=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);N.exports=function(w){return typeof w=="function"&&v(u.call(w))}}}),LN=De({"node_modules/es5-ext/math/sign/is-implemented.js"(j,N){"use strict";N.exports=function(){var u=Math.sign;return typeof u!="function"?!1:u(10)===1&&u(-20)===-1}}}),PN=De({"node_modules/es5-ext/math/sign/shim.js"(j,N){"use strict";N.exports=function(u){return u=Number(u),isNaN(u)||u===0?u:u>0?1:-1}}}),RN=De({"node_modules/es5-ext/math/sign/index.js"(j,N){"use strict";N.exports=LN()()?Math.sign:PN()}}),IN=De({"node_modules/es5-ext/number/to-integer.js"(j,N){"use strict";var u=RN(),v=Math.abs,w=Math.floor;N.exports=function(S){return isNaN(S)?0:(S=Number(S),S===0||!isFinite(S)?S:u(S)*w(v(S)))}}}),DN=De({"node_modules/es5-ext/number/to-pos-integer.js"(j,N){"use strict";var u=IN(),v=Math.max;N.exports=function(w){return v(0,u(w))}}}),FN=De({"node_modules/es5-ext/array/from/shim.js"(j,N){"use strict";var u=sp().iterator,v=xg(),w=CN(),S=DN(),l=Nm(),e=nv(),t=op(),a=bg(),r=Array.isArray,n=Function.prototype.call,i={configurable:!0,enumerable:!0,writable:!0,value:null},s=Object.defineProperty;N.exports=function(c){var p=arguments[1],f=arguments[2],d,y,o,x,M,T,E,g,A,m;if(c=Object(e(c)),t(p)&&l(p),!this||this===Array||!w(this)){if(!p){if(v(c))return M=c.length,M!==1?Array.apply(null,c):(x=new Array(1),x[0]=c[0],x);if(r(c)){for(x=new Array(M=c.length),y=0;y=55296&&T<=56319&&(m+=c[++y])),m=p?n.call(p,f,m,o):m,d?(i.value=m,s(x,o,i)):x[o]=m,++o;M=o}}if(M===void 0)for(M=S(c.length),d&&(x=new d(M)),y=0;y=this.__nextIndex__)){if(++this.__nextIndex__,!this.__redo__){a(this,"__redo__",l("c",[i]));return}this.__redo__.forEach(function(s,c){s>=i&&(this.__redo__[c]=++s)},this),this.__redo__.push(i)}}),_onDelete:l(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(c,p){c>i&&(this.__redo__[p]=--c)},this)))}),_onClear:l(function(){this.__redo__&&u.call(this.__redo__),this.__nextIndex__=0})}))),a(n.prototype,t.iterator,l(function(){return this}))}}),qN=De({"node_modules/es6-iterator/array.js"(j,N){"use strict";var u=Vb(),v=zT(),w=iv(),S=sp(),l=NT(),e=Object.defineProperty,t;t=N.exports=function(a,r){if(!(this instanceof t))throw new TypeError("Constructor requires 'new'");l.call(this,a),r?v.call(r,"key+value")?r="key+value":v.call(r,"key")?r="key":r="value":r="value",e(this,"__kind__",w("",r))},u&&u(t,l),delete t.prototype.constructor,t.prototype=Object.create(l.prototype,{_resolve:w(function(a){return this.__kind__==="value"?this.__list__[a]:this.__kind__==="key+value"?[a,this.__list__[a]]:a})}),e(t.prototype,S.toStringTag,w("c","Array Iterator"))}}),GN=De({"node_modules/es6-iterator/string.js"(j,N){"use strict";var u=Vb(),v=iv(),w=sp(),S=NT(),l=Object.defineProperty,e;e=N.exports=function(t){if(!(this instanceof e))throw new TypeError("Constructor requires 'new'");t=String(t),S.call(this,t),l(this,"__length__",v("",t.length))},u&&u(e,S),delete e.prototype.constructor,e.prototype=Object.create(S.prototype,{_next:v(function(){if(this.__list__){if(this.__nextIndex__=55296&&r<=56319?a+this.__list__[this.__nextIndex__++]:a)})}),l(e.prototype,w.toStringTag,v("c","String Iterator"))}}),VN=De({"node_modules/es6-iterator/is-iterable.js"(j,N){"use strict";var u=xg(),v=op(),w=bg(),S=sp().iterator,l=Array.isArray;N.exports=function(e){return v(e)?l(e)||w(e)||u(e)?!0:typeof e[S]=="function":!1}}}),HN=De({"node_modules/es6-iterator/valid-iterable.js"(j,N){"use strict";var u=VN();N.exports=function(v){if(!u(v))throw new TypeError(v+" is not iterable");return v}}}),jT=De({"node_modules/es6-iterator/get.js"(j,N){"use strict";var u=xg(),v=bg(),w=qN(),S=GN(),l=HN(),e=sp().iterator;N.exports=function(t){return typeof l(t)[e]=="function"?t[e]():u(t)?new w(t):v(t)?new S(t):new w(t)}}}),WN=De({"node_modules/es6-iterator/for-of.js"(j,N){"use strict";var u=xg(),v=Nm(),w=bg(),S=jT(),l=Array.isArray,e=Function.prototype.call,t=Array.prototype.some;N.exports=function(a,r){var n,i=arguments[2],s,c,p,f,d,y,o;if(l(a)||u(a)?n="array":w(a)?n="string":a=S(a),v(r),c=function(){p=!0},n==="array"){t.call(a,function(x){return e.call(r,i,x,c),p});return}if(n==="string"){for(d=a.length,f=0;f=55296&&o<=56319&&(y+=a[++f])),e.call(r,i,y,c),!p);++f);return}for(s=a.next();!s.done;){if(e.call(r,i,s.value,c),p)return;s=a.next()}}}}),YN=De({"node_modules/es6-weak-map/is-native-implemented.js"(j,N){"use strict";N.exports=function(){return typeof WeakMap!="function"?!1:Object.prototype.toString.call(new WeakMap)==="[object WeakMap]"}()}}),XN=De({"node_modules/es6-weak-map/polyfill.js"(j,N){"use strict";var u=op(),v=Vb(),w=aN(),S=nv(),l=nN(),e=iv(),t=jT(),a=WN(),r=sp().toStringTag,n=YN(),i=Array.isArray,s=Object.defineProperty,c=Object.prototype.hasOwnProperty,p=Object.getPrototypeOf,f;N.exports=f=function(){var d=arguments[0],y;if(!(this instanceof f))throw new TypeError("Constructor requires 'new'");return y=n&&v&&WeakMap!==f?v(new WeakMap,p(this)):this,u(d)&&(i(d)||(d=t(d))),s(y,"__weakMapData__",e("c","$weakMap$"+l())),d&&a(d,function(o){S(o),y.set(o[0],o[1])}),y},n&&(v&&v(f,WeakMap),f.prototype=Object.create(WeakMap.prototype,{constructor:e(f)})),Object.defineProperties(f.prototype,{delete:e(function(d){return c.call(w(d),this.__weakMapData__)?(delete d[this.__weakMapData__],!0):!1}),get:e(function(d){if(c.call(w(d),this.__weakMapData__))return d[this.__weakMapData__]}),has:e(function(d){return c.call(w(d),this.__weakMapData__)}),set:e(function(d,y){return s(w(d),this.__weakMapData__,e("c",y)),this}),toString:e(function(){return"[object WeakMap]"})}),s(f.prototype,r,e("c","WeakMap"))}}),UT=De({"node_modules/es6-weak-map/index.js"(j,N){"use strict";N.exports=eN()()?WeakMap:XN()}}),ZN=De({"node_modules/array-find-index/index.js"(j,N){"use strict";N.exports=function(u,v,w){if(typeof Array.prototype.findIndex=="function")return u.findIndex(v,w);if(typeof v!="function")throw new TypeError("predicate must be a function");var S=Object(u),l=S.length;if(l===0)return-1;for(var e=0;e cutoff + .5) { - discard; - return; - } - - alpha -= smoothstep(cutoff - .5, cutoff + .5, radius); - } - } - - if (enableEndMiter == 1.) { - distToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw); - if (distToEnd < 0.) { - float radius = length(gl_FragCoord.xy - endCoord); - - if(radius > cutoff + .5) { - discard; - return; - } - - alpha -= smoothstep(cutoff - .5, cutoff + .5, radius); - } - } - } - - float t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25; - float dash = texture2D(dashTexture, vec2(t, .5)).r; - - gl_FragColor = fragColor; - gl_FragColor.a *= alpha * opacity * dash; -} -`;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:` - precision highp float; - - attribute vec2 position, positionFract; - attribute vec4 error; - attribute vec4 color; - - attribute vec2 direction, lineOffset, capOffset; - - uniform vec4 viewport; - uniform float lineWidth, capSize; - uniform vec2 scale, scaleFract, translate, translateFract; - - varying vec4 fragColor; - - void main() { - fragColor = color / 255.; - - vec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset; - - vec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw; - - vec2 position = position + dxy; - - vec2 pos = (position + translate) * scale - + (positionFract + translateFract) * scale - + (position + translate) * scaleFract - + (positionFract + translateFract) * scaleFract; - - pos += pixelOffset / viewport.zw; - - gl_Position = vec4(pos * 2. - 1., 0, 1); - } - `,frag:` - precision highp float; - - varying vec4 fragColor; - - uniform float opacity; - - void main() { - gl_FragColor = fragColor; - gl_FragColor.a *= opacity; - } - `,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:` - precision highp float; - attribute float width, charOffset, char; - attribute vec2 position; - uniform float fontSize, charStep, em, align, baseline; - uniform vec4 viewport; - uniform vec4 color; - uniform vec2 atlasSize, atlasDim, scale, translate, positionOffset; - varying vec2 charCoord, charId; - varying float charWidth; - varying vec4 fontColor; - void main () { - vec2 offset = floor(em * (vec2(align + charOffset, baseline) - + vec2(positionOffset.x, -positionOffset.y))) - / (viewport.zw * scale.xy); - - vec2 position = (position + translate) * scale; - position += offset * scale; - - charCoord = position * viewport.zw + viewport.xy; - - gl_Position = vec4(position * 2. - 1., 0, 1); - - gl_PointSize = charStep; - - charId.x = mod(char, atlasDim.x); - charId.y = floor(char / atlasDim.x); - - charWidth = width * em; - - fontColor = color / 255.; - }`,frag:` - precision highp float; - uniform float fontSize, charStep, opacity; - uniform vec2 atlasSize; - uniform vec4 viewport; - uniform sampler2D atlas; - varying vec4 fontColor; - varying vec2 charCoord, charId; - varying float charWidth; - - float lightness(vec4 color) { - return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; - } - - void main () { - vec2 uv = gl_FragCoord.xy - charCoord + charStep * .5; - float halfCharStep = floor(charStep * .5 + .5); - - // invert y and shift by 1px (FF expecially needs that) - uv.y = charStep - uv.y; - - // ignore points outside of character bounding box - float halfCharWidth = ceil(charWidth * .5); - if (floor(uv.x) > halfCharStep + halfCharWidth || - floor(uv.x) < halfCharStep - halfCharWidth) return; - - uv += charId * charStep; - uv = uv / atlasSize; - - vec4 color = fontColor; - vec4 mask = texture2D(atlas, uv); - - float maskY = lightness(mask); - // float colorY = lightness(color); - color.a *= maskY; - color.a *= opacity; - - // color.a += .1; - - // antialiasing, see yiq color space y-channel formula - // color.rgb += (1. - color.rgb) * (1. - mask.rgb); - - gl_FragColor = color; - }`}),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(` -`),x=["precision highp float;","","varying vec4 fragColor;","","void main() {"," gl_FragColor = fragColor;","}"].join(` -`),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(` -`),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(` -`),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(` -`),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(` -`),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.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; -#pragma mapbox: define lowp float base -#pragma mapbox: define lowp float height -#pragma mapbox: define lowp vec4 pattern_from -#pragma mapbox: define lowp vec4 pattern_to -#pragma mapbox: define lowp float pixel_ratio_from -#pragma mapbox: define lowp float pixel_ratio_to -void main() { -#pragma mapbox: initialize lowp float base -#pragma mapbox: initialize lowp float height -#pragma mapbox: initialize mediump vec4 pattern_from -#pragma mapbox: initialize mediump vec4 pattern_to -#pragma mapbox: initialize lowp float pixel_ratio_from -#pragma mapbox: initialize lowp float pixel_ratio_to -vec2 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; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,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; -#pragma mapbox: define lowp float base -#pragma mapbox: define lowp float height -#pragma mapbox: define lowp vec4 pattern_from -#pragma mapbox: define lowp vec4 pattern_to -#pragma mapbox: define lowp float pixel_ratio_from -#pragma mapbox: define lowp float pixel_ratio_to -void main() { -#pragma mapbox: initialize lowp float base -#pragma mapbox: initialize lowp float height -#pragma mapbox: initialize mediump vec4 pattern_from -#pragma mapbox: initialize mediump vec4 pattern_to -#pragma mapbox: initialize lowp float pixel_ratio_from -#pragma mapbox: initialize lowp float pixel_ratio_to -vec2 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 -? a_pos -: 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 -precision highp float; -#endif -uniform 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); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,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; -#define PI 3.141592653589793 -void 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; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,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; -#pragma mapbox: define highp vec4 color -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -void main() { -#pragma mapbox: initialize highp vec4 color -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -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);gl_FragColor=color*(alpha*opacity); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,Gu=` -#define scale 0.015873016 -attribute 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; -#pragma mapbox: define highp vec4 color -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -#pragma mapbox: define mediump float gapwidth -#pragma mapbox: define lowp float offset -#pragma mapbox: define mediump float width -void main() { -#pragma mapbox: initialize highp vec4 color -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize mediump float gapwidth -#pragma mapbox: initialize lowp float offset -#pragma mapbox: initialize mediump float width -float 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; -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -void main() { -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -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);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,oc=` -#define scale 0.015873016 -attribute 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; -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -#pragma mapbox: define mediump float gapwidth -#pragma mapbox: define lowp float offset -#pragma mapbox: define mediump float width -void main() { -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize mediump float gapwidth -#pragma mapbox: initialize lowp float offset -#pragma mapbox: initialize mediump float width -float 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; -#pragma mapbox: define lowp vec4 pattern_from -#pragma mapbox: define lowp vec4 pattern_to -#pragma mapbox: define lowp float pixel_ratio_from -#pragma mapbox: define lowp float pixel_ratio_to -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -void main() { -#pragma mapbox: initialize mediump vec4 pattern_from -#pragma mapbox: initialize mediump vec4 pattern_to -#pragma mapbox: initialize lowp float pixel_ratio_from -#pragma mapbox: initialize lowp float pixel_ratio_to -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -vec2 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; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,Ql=` -#define scale 0.015873016 -#define LINE_DISTANCE_SCALE 2.0 -attribute 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; -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -#pragma mapbox: define lowp float offset -#pragma mapbox: define mediump float gapwidth -#pragma mapbox: define mediump float width -#pragma mapbox: define lowp float floorwidth -#pragma mapbox: define lowp vec4 pattern_from -#pragma mapbox: define lowp vec4 pattern_to -#pragma mapbox: define lowp float pixel_ratio_from -#pragma mapbox: define lowp float pixel_ratio_to -void main() { -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize lowp float offset -#pragma mapbox: initialize mediump float gapwidth -#pragma mapbox: initialize mediump float width -#pragma mapbox: initialize lowp float floorwidth -#pragma mapbox: initialize mediump vec4 pattern_from -#pragma mapbox: initialize mediump vec4 pattern_to -#pragma mapbox: initialize lowp float pixel_ratio_from -#pragma mapbox: initialize lowp float pixel_ratio_to -float 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; -#pragma mapbox: define highp vec4 color -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -#pragma mapbox: define mediump float width -#pragma mapbox: define lowp float floorwidth -void main() { -#pragma mapbox: initialize highp vec4 color -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize mediump float width -#pragma mapbox: initialize lowp float floorwidth -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 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); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,Sc=` -#define scale 0.015873016 -#define LINE_DISTANCE_SCALE 2.0 -attribute 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; -#pragma mapbox: define highp vec4 color -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -#pragma mapbox: define mediump float gapwidth -#pragma mapbox: define lowp float offset -#pragma mapbox: define mediump float width -#pragma mapbox: define lowp float floorwidth -void main() { -#pragma mapbox: initialize highp vec4 color -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize mediump float gapwidth -#pragma mapbox: initialize lowp float offset -#pragma mapbox: initialize mediump float width -#pragma mapbox: initialize lowp float floorwidth -float 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); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,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; -#pragma mapbox: define lowp float opacity -void main() { -#pragma mapbox: initialize lowp float opacity -lowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,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; -#pragma mapbox: define lowp float opacity -void main() { -#pragma mapbox: initialize lowp float opacity -vec2 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 ? -camera_to_anchor_distance/u_camera_to_center_distance : -u_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 -uniform 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; -#pragma mapbox: define highp vec4 fill_color -#pragma mapbox: define highp vec4 halo_color -#pragma mapbox: define lowp float opacity -#pragma mapbox: define lowp float halo_width -#pragma mapbox: define lowp float halo_blur -void main() { -#pragma mapbox: initialize highp vec4 fill_color -#pragma mapbox: initialize highp vec4 halo_color -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize lowp float halo_width -#pragma mapbox: initialize lowp float halo_blur -float 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); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,$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; -#pragma mapbox: define highp vec4 fill_color -#pragma mapbox: define highp vec4 halo_color -#pragma mapbox: define lowp float opacity -#pragma mapbox: define lowp float halo_width -#pragma mapbox: define lowp float halo_blur -void main() { -#pragma mapbox: initialize highp vec4 fill_color -#pragma mapbox: initialize highp vec4 halo_color -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize lowp float halo_width -#pragma mapbox: initialize lowp float halo_blur -vec2 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 ? -camera_to_anchor_distance/u_camera_to_center_distance : -u_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 -#define SDF 1.0 -#define ICON 0.0 -uniform 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; -#pragma mapbox: define highp vec4 fill_color -#pragma mapbox: define highp vec4 halo_color -#pragma mapbox: define lowp float opacity -#pragma mapbox: define lowp float halo_width -#pragma mapbox: define lowp float halo_blur -void main() { -#pragma mapbox: initialize highp vec4 fill_color -#pragma mapbox: initialize highp vec4 halo_color -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize lowp float halo_width -#pragma mapbox: initialize lowp float halo_blur -float 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; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -return;}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); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,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; -#pragma mapbox: define highp vec4 fill_color -#pragma mapbox: define highp vec4 halo_color -#pragma mapbox: define lowp float opacity -#pragma mapbox: define lowp float halo_width -#pragma mapbox: define lowp float halo_blur + endCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw; + endCutoff += viewport.xyxy; + endCutoff += endMiterWidth.xyxy; + } + } +} +`,o=` +precision highp float; + +uniform float dashLength, pixelRatio, thickness, opacity, id, miterMode; +uniform sampler2D dashTexture; + +varying vec4 fragColor; +varying vec2 tangent; +varying vec4 startCutoff, endCutoff; +varying vec2 startCoord, endCoord; +varying float enableStartMiter, enableEndMiter; + +float distToLine(vec2 p, vec2 a, vec2 b) { + vec2 diff = b - a; + vec2 perp = normalize(vec2(-diff.y, diff.x)); + return dot(p - a, perp); +} + void main() { -#pragma mapbox: initialize highp vec4 fill_color -#pragma mapbox: initialize highp vec4 halo_color -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize lowp float halo_width -#pragma mapbox: initialize lowp float halo_blur -vec2 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 ? -camera_to_anchor_distance/u_camera_to_center_distance : -u_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"?` -#ifndef HAS_UNIFORM_u_`+pr+` -varying `+wr+" "+Nr+" "+pr+`; -#else -uniform `+wr+" "+Nr+" u_"+pr+`; -#endif -`:` -#ifdef HAS_UNIFORM_u_`+pr+` - `+wr+" "+Nr+" "+pr+" = u_"+pr+`; -#endif -`}),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"?` -#ifndef HAS_UNIFORM_u_`+pr+` -uniform lowp float u_`+pr+`_t; -attribute `+wr+" "+yt+" a_"+pr+`; -varying `+wr+" "+Nr+" "+pr+`; -#else -uniform `+wr+" "+Nr+" u_"+pr+`; -#endif -`:kt==="vec4"?` -#ifndef HAS_UNIFORM_u_`+pr+` - `+pr+" = a_"+pr+`; -#else - `+wr+" "+Nr+" "+pr+" = u_"+pr+`; -#endif -`:` -#ifndef HAS_UNIFORM_u_`+pr+` - `+pr+" = unpack_mix_"+kt+"(a_"+pr+", u_"+pr+`_t); -#else - `+wr+" "+Nr+" "+pr+" = u_"+pr+`; -#endif -`:jt==="define"?` -#ifndef HAS_UNIFORM_u_`+pr+` -uniform lowp float u_`+pr+`_t; -attribute `+wr+" "+yt+" a_"+pr+`; -#else -uniform `+wr+" "+Nr+" u_"+pr+`; -#endif -`:kt==="vec4"?` -#ifndef HAS_UNIFORM_u_`+pr+` - `+wr+" "+Nr+" "+pr+" = a_"+pr+`; -#else - `+wr+" "+Nr+" "+pr+" = u_"+pr+`; -#endif -`:` -#ifndef HAS_UNIFORM_u_`+pr+` - `+wr+" "+Nr+" "+pr+" = unpack_mix_"+kt+"(a_"+pr+", u_"+pr+`_t); -#else - `+wr+" "+Nr+" "+pr+" = u_"+pr+`; -#endif -`}),{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} + float alpha = 1., distToStart, distToEnd; + float cutoff = thickness * .5; + + //bevel miter + if (miterMode == 1.) { + if (enableStartMiter == 1.) { + distToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw); + if (distToStart < -1.) { + discard; + return; + } + alpha *= min(max(distToStart + 1., 0.), 1.); + } + + if (enableEndMiter == 1.) { + distToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw); + if (distToEnd < -1.) { + discard; + return; + } + alpha *= min(max(distToEnd + 1., 0.), 1.); + } + } + + // round miter + else if (miterMode == 2.) { + if (enableStartMiter == 1.) { + distToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw); + if (distToStart < 0.) { + float radius = length(gl_FragCoord.xy - startCoord); + + if(radius > cutoff + .5) { + discard; + return; + } + + alpha -= smoothstep(cutoff - .5, cutoff + .5, radius); + } + } + + if (enableEndMiter == 1.) { + distToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw); + if (distToEnd < 0.) { + float radius = length(gl_FragCoord.xy - endCoord); + + if(radius > cutoff + .5) { + discard; + return; + } + + alpha -= smoothstep(cutoff - .5, cutoff + .5, radius); + } + } + } + + float t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25; + float dash = texture2D(dashTexture, vec2(t, .5)).r; + + gl_FragColor = fragColor; + gl_FragColor.a *= alpha * opacity * dash; +} +`;N.exports=x;function x(M,T){if(!(this instanceof x))return new x(M,T);if(typeof M=="function"?(T||(T={}),T.regl=M):T=M,T.length&&(T.positions=T),M=T.regl,!M.hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");this.gl=M._gl,this.regl=M,this.passes=[],this.shaders=x.shaders.has(M)?x.shaders.get(M):x.shaders.set(M,x.createShaders(M)).get(M),this.update(T)}x.dashMult=2,x.maxPatternLength=256,x.precisionThreshold=3e6,x.maxPoints=1e4,x.maxLines=2048,x.shaders=new n,x.createShaders=function(M){let T=M.buffer({usage:"static",type:"float",data:[0,1,0,0,1,1,1,0]}),E={primitive:"triangle strip",instances:M.prop("count"),count:4,offset:0,uniforms:{miterMode:(h,b)=>b.join==="round"?2:1,miterLimit:M.prop("miterLimit"),scale:M.prop("scale"),scaleFract:M.prop("scaleFract"),translateFract:M.prop("translateFract"),translate:M.prop("translate"),thickness:M.prop("thickness"),dashTexture:M.prop("dashTexture"),opacity:M.prop("opacity"),pixelRatio:M.context("pixelRatio"),id:M.prop("id"),dashLength:M.prop("dashLength"),viewport:(h,b)=>[b.viewport.x,b.viewport.y,h.viewportWidth,h.viewportHeight],depth:M.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:(h,b)=>!b.overlay},stencil:{enable:!1},scissor:{enable:!0,box:M.prop("viewport")},viewport:M.prop("viewport")},g=M(w({vert:c,frag:p,attributes:{lineEnd:{buffer:T,divisor:0,stride:8,offset:0},lineTop:{buffer:T,divisor:0,stride:8,offset:4},aCoord:{buffer:M.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:M.prop("positionBuffer"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:M.prop("positionFractBuffer"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:M.prop("positionFractBuffer"),stride:8,offset:16,divisor:1},color:{buffer:M.prop("colorBuffer"),stride:4,offset:0,divisor:1}}},E)),A;try{A=M(w({cull:{enable:!0,face:"back"},vert:y,frag:o,attributes:{lineEnd:{buffer:T,divisor:0,stride:8,offset:0},lineTop:{buffer:T,divisor:0,stride:8,offset:4},aColor:{buffer:M.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:M.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:M.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:M.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:M.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:M.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},E))}catch{A=g}return{fill:M({primitive:"triangle",elements:(h,b)=>b.triangles,offset:0,vert:f,frag:d,uniforms:{scale:M.prop("scale"),color:M.prop("fill"),scaleFract:M.prop("scaleFract"),translateFract:M.prop("translateFract"),translate:M.prop("translate"),opacity:M.prop("opacity"),pixelRatio:M.context("pixelRatio"),id:M.prop("id"),viewport:(h,b)=>[b.viewport.x,b.viewport.y,h.viewportWidth,h.viewportHeight]},attributes:{position:{buffer:M.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:M.prop("positionFractBuffer"),stride:8,offset:8}},blend:E.blend,depth:{enable:!1},scissor:E.scissor,stencil:E.stencil,viewport:E.viewport}),rect:g,miter:A}},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(...M){M.length&&this.update(...M),this.draw()},x.prototype.draw=function(...M){return(M.length?M:this.passes).forEach((T,E)=>{if(T&&Array.isArray(T))return this.draw(...T);typeof T=="number"&&(T=this.passes[T]),T&&T.count>1&&T.opacity&&(this.regl._refresh(),T.fill&&T.triangles&&T.triangles.length>2&&this.shaders.fill(T),T.thickness&&(T.scale[0]*T.viewport.width>x.precisionThreshold||T.scale[1]*T.viewport.height>x.precisionThreshold?this.shaders.rect(T):T.join==="rect"||!T.join&&(T.thickness<=2||T.count>=x.maxPoints)?this.shaders.rect(T):this.shaders.miter(T)))}),this},x.prototype.update=function(M){if(!M)return;M.length!=null?typeof M[0]=="number"&&(M=[{positions:M}]):Array.isArray(M)||(M=[M]);let{regl:T,gl:E}=this;if(M.forEach((A,m)=>{let h=this.passes[m];if(A!==void 0){if(A===null){this.passes[m]=null;return}if(typeof A[0]=="number"&&(A={positions:A}),A=S(A,{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"}),h||(this.passes[m]=h={id:m,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:T.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:T.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:T.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:T.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},A=w({},x.defaults,A)),A.thickness!=null&&(h.thickness=parseFloat(A.thickness)),A.opacity!=null&&(h.opacity=parseFloat(A.opacity)),A.miterLimit!=null&&(h.miterLimit=parseFloat(A.miterLimit)),A.overlay!=null&&(h.overlay=!!A.overlay,mte-ae),q=[],Y=0,ee=h.hole!=null?h.hole[0]:null;if(ee!=null){let te=s(O,ae=>ae>=ee);O=O.slice(0,te),O.push(ee)}for(let te=0;teK-ee+(O[te]-Y)),H=e(ae,U);H=H.map(K=>K+Y+(K+Y{M.colorBuffer.destroy(),M.positionBuffer.destroy(),M.dashTexture.destroy()}),this.passes.length=0,this}}}),$N=De({"node_modules/regl-error2d/index.js"(j,N){"use strict";var u=Yp(),v=ap(),w=CT(),S=Dd(),l=_c(),e=Xp(),{float32:t,fract32:a}=Gb();N.exports=n;var r=[[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 c=i._gl,p,f,d,y,o,x,M={color:"black",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},T=[];return y=i.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array(0)}),f=i.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),d=i.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),o=i.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),x=i.buffer({usage:"static",type:"float",data:r}),m(s),p=i({vert:` + precision highp float; + + attribute vec2 position, positionFract; + attribute vec4 error; + attribute vec4 color; + + attribute vec2 direction, lineOffset, capOffset; + + uniform vec4 viewport; + uniform float lineWidth, capSize; + uniform vec2 scale, scaleFract, translate, translateFract; + + varying vec4 fragColor; + + void main() { + fragColor = color / 255.; + + vec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset; + + vec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw; + + vec2 position = position + dxy; + + vec2 pos = (position + translate) * scale + + (positionFract + translateFract) * scale + + (position + translate) * scaleFract + + (positionFract + translateFract) * scaleFract; + + pos += pixelOffset / viewport.zw; + + gl_Position = vec4(pos * 2. - 1., 0, 1); + } + `,frag:` + precision highp float; + + varying vec4 fragColor; + + uniform float opacity; + + void main() { + gl_FragColor = fragColor; + gl_FragColor.a *= opacity; + } + `,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:(b,_)=>[_.viewport.x,_.viewport.y,b.viewportWidth,b.viewportHeight]},attributes:{color:{buffer:y,offset:(b,_)=>_.offset*4,divisor:1},position:{buffer:f,offset:(b,_)=>_.offset*8,divisor:1},positionFract:{buffer:d,offset:(b,_)=>_.offset*8,divisor:1},error:{buffer:o,offset:(b,_)=>_.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:r.length}),l(E,{update:m,draw:g,destroy:h,regl:i,gl:c,canvas:c.canvas,groups:T}),E;function E(b){b?m(b):b===null&&h(),g()}function g(b){if(typeof b=="number")return A(b);b&&!Array.isArray(b)&&(b=[b]),i._refresh(),T.forEach((_,I)=>{if(_){if(b&&(b[I]?_.draw=!0:_.draw=!1),!_.draw){_.draw=!0;return}A(I)}})}function A(b){typeof b=="number"&&(b=T[b]),b!=null&&b&&b.count&&b.color&&b.opacity&&b.positions&&b.positions.length>1&&(b.scaleRatio=[b.scale[0]*b.viewport.width,b.scale[1]*b.viewport.height],p(b),b.after&&b.after(b))}function m(b){if(!b)return;b.length!=null?typeof b[0]=="number"&&(b=[{positions:b}]):Array.isArray(b)||(b=[b]);let _=0,I=0;if(E.groups=T=b.map((R,z)=>{let D=T[z];if(R)typeof R=="function"?R={after:R}:typeof R[0]=="number"&&(R={positions:R});else return D;return R=S(R,{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"}),D||(T[z]=D={id:z,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},R=l({},M,R)),w(D,R,[{lineWidth:k=>+k*.5,capSize:k=>+k*.5,opacity:parseFloat,errors:k=>(k=e(k),I+=k.length,k),positions:(k,B)=>(k=e(k,"float64"),B.count=Math.floor(k.length/2),B.bounds=u(k,2),B.offset=_,_+=B.count,k)},{color:(k,B)=>{let O=B.count;if(k||(k="transparent"),!Array.isArray(k)||typeof k[0]=="number"){let Y=k;k=Array(O);for(let ee=0;ee{let q=B.bounds;return k||(k=q),B.scale=[1/(k[2]-k[0]),1/(k[3]-k[1])],B.translate=[-k[0],-k[1]],B.scaleFract=a(B.scale),B.translateFract=a(B.translate),k},viewport:k=>{let B;return Array.isArray(k)?B={x:k[0],y:k[1],width:k[2]-k[0],height:k[3]-k[1]}:k?(B={x:k.x||k.left||0,y:k.y||k.top||0},k.right?B.width=k.right-B.x:B.width=k.w||k.width||0,k.bottom?B.height=k.bottom-B.y:B.height=k.h||k.height||0):B={x:0,y:0,width:c.drawingBufferWidth,height:c.drawingBufferHeight},B}}]),D}),_||I){let R=T.reduce((B,O,q)=>B+(O?O.count:0),0),z=new Float64Array(R*2),D=new Uint8Array(R*4),k=new Float32Array(R*4);T.forEach((B,O)=>{if(!B)return;let{positions:q,count:Y,offset:ee,color:te,errors:ae}=B;Y&&(D.set(te,ee*4),k.set(ae,ee*4),z.set(q,ee*2))});var C=t(z);f(C);var F=a(z,C);d(F),y(D),o(k)}}function h(){f.destroy(),d.destroy(),y.destroy(),o.destroy(),x.destroy()}}}}),KN=De({"node_modules/unquote/index.js"(j,N){var u=/[\'\"]/;N.exports=function(w){return w?(u.test(w.charAt(0))&&(w=w.substr(1)),u.test(w.charAt(w.length-1))&&(w=w.substr(0,w.length-1)),w):""}}}),GT=De({"node_modules/css-global-keywords/index.json"(j,N){N.exports=["inherit","initial","unset"]}}),VT=De({"node_modules/css-system-font-keywords/index.json"(j,N){N.exports=["caption","icon","menu","message-box","small-caption","status-bar"]}}),HT=De({"node_modules/css-font-weight-keywords/index.json"(j,N){N.exports=["normal","bold","bolder","lighter","100","200","300","400","500","600","700","800","900"]}}),WT=De({"node_modules/css-font-style-keywords/index.json"(j,N){N.exports=["normal","italic","oblique"]}}),YT=De({"node_modules/css-font-stretch-keywords/index.json"(j,N){N.exports=["normal","condensed","semi-condensed","extra-condensed","ultra-condensed","expanded","semi-expanded","extra-expanded","ultra-expanded"]}}),JN=De({"node_modules/parenthesis/index.js"(j,N){"use strict";function u(S,l){if(typeof S!="string")return[S];var e=[S];typeof l=="string"||Array.isArray(l)?l={brackets:l}:l||(l={});var t=l.brackets?Array.isArray(l.brackets)?l.brackets:[l.brackets]:["{}","[]","()"],a=l.escape||"___",r=!!l.flat;t.forEach(function(s){var c=new RegExp(["\\",s[0],"[^\\",s[0],"\\",s[1],"]*\\",s[1]].join("")),p=[];function f(d,y,o){var x=e.push(d.slice(s[0].length,-s[1].length))-1;return p.push(x),a+x+a}e.forEach(function(d,y){for(var o,x=0;d!=o;)if(o=d,d=d.replace(c,f),x++>1e4)throw Error("References have circular dependency. Please, check them.");e[y]=d}),p=p.reverse(),e=e.map(function(d){return p.forEach(function(y){d=d.replace(new RegExp("(\\"+a+y+"\\"+a+")","g"),s[0]+"$1"+s[1])}),d})});var n=new RegExp("\\"+a+"([0-9]+)\\"+a);function i(s,c,p){for(var f=[],d,y=0;d=n.exec(s);){if(y++>1e4)throw Error("Circular references in parenthesis");f.push(s.slice(0,d.index)),f.push(i(c[d[1]],c)),s=s.slice(d.index+d[0].length)}return f.push(s),f}return r?e:i(e[0],e)}function v(S,l){if(l&&l.flat){var e=l&&l.escape||"___",t=S[0],a;if(!t)return"";for(var r=new RegExp("\\"+e+"([0-9]+)\\"+e),n=0;t!=a;){if(n++>1e4)throw Error("Circular references in "+S);a=t,t=t.replace(r,i)}return t}return S.reduce(function s(c,p){return Array.isArray(p)&&(p=p.reduce(s,"")),c+p},"");function i(s,c){if(S[c]==null)throw Error("Reference "+c+"is undefined");return S[c]}}function w(S,l){return Array.isArray(S)?v(S,l):u(S,l)}w.parse=u,w.stringify=v,N.exports=w}}),QN=De({"node_modules/string-split-by/index.js"(j,N){"use strict";var u=JN();N.exports=function(w,S,l){if(w==null)throw Error("First argument should be a string");if(S==null)throw Error("Separator should be a string or a RegExp");l?(typeof l=="string"||Array.isArray(l))&&(l={ignore:l}):l={},l.escape==null&&(l.escape=!0),l.ignore==null?l.ignore=["[]","()","{}","<>",'""',"''","``","\u201C\u201D","\xAB\xBB"]:(typeof l.ignore=="string"&&(l.ignore=[l.ignore]),l.ignore=l.ignore.map(function(c){return c.length===1&&(c=c+c),c}));var e=u.parse(w,{flat:!0,brackets:l.ignore}),t=e[0],a=t.split(S);if(l.escape){for(var r=[],n=0;n1&&Lt===Dt&&(Lt==='"'||Lt==="'"))return['"'+t(He.substr(1,He.length-2))+'"'];var Tr=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(He);if(Tr)return a(He.substr(0,Tr.index)).concat(a(Tr[1])).concat(a(He.substr(Tr.index+Tr[0].length)));var Nr=He.split(".");if(Nr.length===1)return['"'+t(He)+'"'];for(var qr=[],Or=0;Or"u"?1:window.devicePixelRatio,Pa=!1,En={},cn=function(gr){},Wa=function(){};if(typeof Lt=="string"?Dt=document.querySelector(Lt):typeof Lt=="object"&&(x(Lt)?Dt=Lt:M(Lt)?(qr=Lt,Nr=qr.canvas):("gl"in Lt?qr=Lt.gl:"canvas"in Lt?Nr=E(Lt.canvas):"container"in Lt&&(Tr=E(Lt.container)),"attributes"in Lt&&(Or=Lt.attributes),"extensions"in Lt&&(fa=T(Lt.extensions)),"optionalExtensions"in Lt&&(Sa=T(Lt.optionalExtensions)),"onDone"in Lt&&(cn=Lt.onDone),"profile"in Lt&&(Pa=!!Lt.profile),"pixelRatio"in Lt&&(Ca=+Lt.pixelRatio),"cachedCode"in Lt&&(En=Lt.cachedCode))),Dt&&(Dt.nodeName.toLowerCase()==="canvas"?Nr=Dt:Tr=Dt),!qr){if(!Nr){var ta=y(Tr||document.body,cn,Ca);if(!ta)return null;Nr=ta.canvas,Wa=ta.onDestroy}Or.premultipliedAlpha===void 0&&(Or.premultipliedAlpha=!0),qr=o(Nr,Or)}return qr?{gl:qr,canvas:Nr,container:Tr,extensions:fa,optionalExtensions:Sa,pixelRatio:Ca,profile:Pa,cachedCode:En,onDone:cn,onDestroy:Wa}:(Wa(),cn("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}function A(He,Lt){var Dt={};function Tr(Or){var fa=Or.toLowerCase(),Sa;try{Sa=Dt[fa]=He.getExtension(fa)}catch{}return!!Sa}for(var Nr=0;Nr65535)<<4,He>>>=Lt,Dt=(He>255)<<3,He>>>=Dt,Lt|=Dt,Dt=(He>15)<<2,He>>>=Dt,Lt|=Dt,Dt=(He>3)<<1,He>>>=Dt,Lt|=Dt,Lt|He>>1}function k(){var He=m(8,function(){return[]});function Lt(qr){var Or=z(qr),fa=He[D(Or)>>2];return fa.length>0?fa.pop():new ArrayBuffer(Or)}function Dt(qr){He[D(qr.byteLength)>>2].push(qr)}function Tr(qr,Or){var fa=null;switch(qr){case h:fa=new Int8Array(Lt(Or),0,Or);break;case b:fa=new Uint8Array(Lt(Or),0,Or);break;case _:fa=new Int16Array(Lt(2*Or),0,Or);break;case I:fa=new Uint16Array(Lt(2*Or),0,Or);break;case C:fa=new Int32Array(Lt(4*Or),0,Or);break;case F:fa=new Uint32Array(Lt(4*Or),0,Or);break;case R:fa=new Float32Array(Lt(4*Or),0,Or);break;default:return null}return fa.length!==Or?fa.subarray(0,Or):fa}function Nr(qr){Dt(qr.buffer)}return{alloc:Lt,free:Dt,allocType:Tr,freeType:Nr}}var B=k();B.zero=k();var O=3408,q=3410,Y=3411,ee=3412,te=3413,ae=3414,U=3415,H=33901,K=33902,V=3379,$=3386,X=34921,Z=36347,Q=36348,re=35661,ce=35660,me=34930,ye=36349,Ae=34076,Se=34024,Ce=7936,qe=7937,Ue=7938,xe=35724,he=34047,oe=36063,le=34852,ne=3553,be=34067,Fe=34069,Ve=33984,je=6408,ut=5126,st=5121,yt=36160,At=36053,Pt=36064,Zt=16384,vr=function(He,Lt){var Dt=1;Lt.ext_texture_filter_anisotropic&&(Dt=He.getParameter(he));var Tr=1,Nr=1;Lt.webgl_draw_buffers&&(Tr=He.getParameter(le),Nr=He.getParameter(oe));var qr=!!Lt.oes_texture_float;if(qr){var Or=He.createTexture();He.bindTexture(ne,Or),He.texImage2D(ne,0,je,1,1,0,je,ut,null);var fa=He.createFramebuffer();if(He.bindFramebuffer(yt,fa),He.framebufferTexture2D(yt,Pt,ne,Or,0),He.bindTexture(ne,null),He.checkFramebufferStatus(yt)!==At)qr=!1;else{He.viewport(0,0,1,1),He.clearColor(1,0,0,1),He.clear(Zt);var Sa=B.allocType(ut,4);He.readPixels(0,0,1,1,je,ut,Sa),He.getError()?qr=!1:(He.deleteFramebuffer(fa),He.deleteTexture(Or),qr=Sa[0]===1),B.freeType(Sa)}}var Ca=typeof navigator<"u"&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),Pa=!0;if(!Ca){var En=He.createTexture(),cn=B.allocType(st,36);He.activeTexture(Ve),He.bindTexture(be,En),He.texImage2D(Fe,0,je,3,3,0,je,st,cn),B.freeType(cn),He.bindTexture(be,null),He.deleteTexture(En),Pa=!He.getError()}return{colorBits:[He.getParameter(q),He.getParameter(Y),He.getParameter(ee),He.getParameter(te)],depthBits:He.getParameter(ae),stencilBits:He.getParameter(U),subpixelBits:He.getParameter(O),extensions:Object.keys(Lt).filter(function(Wa){return!!Lt[Wa]}),maxAnisotropic:Dt,maxDrawbuffers:Tr,maxColorAttachments:Nr,pointSizeDims:He.getParameter(H),lineWidthDims:He.getParameter(K),maxViewportDims:He.getParameter($),maxCombinedTextureUnits:He.getParameter(re),maxCubeMapSize:He.getParameter(Ae),maxRenderbufferSize:He.getParameter(Se),maxTextureUnits:He.getParameter(me),maxTextureSize:He.getParameter(V),maxAttributes:He.getParameter(X),maxVertexUniforms:He.getParameter(Z),maxVertexTextureUnits:He.getParameter(ce),maxVaryingVectors:He.getParameter(Q),maxFragmentUniforms:He.getParameter(ye),glsl:He.getParameter(xe),renderer:He.getParameter(qe),vendor:He.getParameter(Ce),version:He.getParameter(Ue),readFloat:qr,npotTextureCube:Pa}},Nt=function(He){return He instanceof Uint8Array||He instanceof Uint16Array||He instanceof Uint32Array||He instanceof Int8Array||He instanceof Int16Array||He instanceof Int32Array||He instanceof Float32Array||He instanceof Float64Array||He instanceof Uint8ClampedArray};function Kt(He){return!!He&&typeof He=="object"&&Array.isArray(He.shape)&&Array.isArray(He.stride)&&typeof He.offset=="number"&&He.shape.length===He.stride.length&&(Array.isArray(He.data)||Nt(He.data))}var nt=function(He){return Object.keys(He).map(function(Lt){return He[Lt]})},Ee={shape:We,flatten:Be};function ze(He,Lt,Dt){for(var Tr=0;Tr0){var Sn;if(Array.isArray(Hr[0])){Ua=aa(Hr);for(var na=1,ea=1;ea0){if(typeof na[0]=="number"){var Ia=B.allocType(ia.dtype,na.length);Gn(Ia,na),Ua(Ia,tn),B.freeType(Ia)}else if(Array.isArray(na[0])||Nt(na[0])){ja=aa(na);var Fa=oa(na,ja,ia.dtype);Ua(Fa,tn),B.freeType(Fa)}}}else if(Kt(na)){ja=na.shape;var rn=na.stride,kn=0,Vn=0,Oa=0,ln=0;ja.length===1?(kn=ja[0],Vn=1,Oa=rn[0],ln=0):ja.length===2&&(kn=ja[0],Vn=ja[1],Oa=rn[0],ln=rn[1]);var Hn=Array.isArray(na.data)?ia.dtype:xa(na.data),Wn=B.allocType(Hn,kn*Vn);Pn(Wn,na.data,kn,Vn,Oa,ln,na.offset),Ua(Wn,tn),B.freeType(Wn)}return Ya}return ha||Ya(gr),Ya._reglType="buffer",Ya._buffer=ia,Ya.subdata=Sn,Dt.profile&&(Ya.stats=ia.stats),Ya.destroy=function(){cn(ia)},Ya}function ta(){nt(qr).forEach(function(gr){gr.buffer=He.createBuffer(),He.bindBuffer(gr.type,gr.buffer),He.bufferData(gr.type,gr.persistentData||gr.byteLength,gr.usage)})}return Dt.profile&&(Lt.getTotalBufferSize=function(){var gr=0;return Object.keys(qr).forEach(function(Hr){gr+=qr[Hr].stats.size}),gr}),{create:Wa,createStream:Sa,destroyStream:Ca,clear:function(){nt(qr).forEach(cn),fa.forEach(cn)},getBuffer:function(gr){return gr&&gr._buffer instanceof Or?gr._buffer:null},restore:ta,_initBuffer:En}}var Yn=0,Zn=0,vi=1,Dn=1,oi=4,on=4,mn={points:Yn,point:Zn,lines:vi,line:Dn,triangles:oi,triangle:on,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},bi=0,Li=1,$a=4,Va=5120,it=5121,Qe=5122,Jt=5123,Yt=5124,ar=5125,cr=34963,tr=35040,Je=35044;function bt(He,Lt,Dt,Tr){var Nr={},qr=0,Or={uint8:it,uint16:Jt};Lt.oes_element_index_uint&&(Or.uint32=ar);function fa(ta){this.id=qr++,Nr[this.id]=this,this.buffer=ta,this.primType=$a,this.vertCount=0,this.type=0}fa.prototype.bind=function(){this.buffer.bind()};var Sa=[];function Ca(ta){var gr=Sa.pop();return gr||(gr=new fa(Dt.create(null,cr,!0,!1)._buffer)),En(gr,ta,tr,-1,-1,0,0),gr}function Pa(ta){Sa.push(ta)}function En(ta,gr,Hr,ha,Ea,ia,Ya){ta.buffer.bind();var Ua;if(gr){var Sn=Ya;!Ya&&(!Nt(gr)||Kt(gr)&&!Nt(gr.data))&&(Sn=Lt.oes_element_index_uint?ar:Jt),Dt._initBuffer(ta.buffer,gr,Hr,Sn,3)}else He.bufferData(cr,ia,Hr),ta.buffer.dtype=Ua||it,ta.buffer.usage=Hr,ta.buffer.dimension=3,ta.buffer.byteLength=ia;if(Ua=Ya,!Ya){switch(ta.buffer.dtype){case it:case Va:Ua=it;break;case Jt:case Qe:Ua=Jt;break;case ar:case Yt:Ua=ar;break;default:}ta.buffer.dtype=Ua}ta.type=Ua;var na=Ea;na<0&&(na=ta.buffer.byteLength,Ua===Jt?na>>=1:Ua===ar&&(na>>=2)),ta.vertCount=na;var ea=ha;if(ha<0){ea=$a;var tn=ta.buffer.dimension;tn===1&&(ea=bi),tn===2&&(ea=Li),tn===3&&(ea=$a)}ta.primType=ea}function cn(ta){Tr.elementsCount--,delete Nr[ta.id],ta.buffer.destroy(),ta.buffer=null}function Wa(ta,gr){var Hr=Dt.create(null,cr,!0),ha=new fa(Hr._buffer);Tr.elementsCount++;function Ea(ia){if(!ia)Hr(),ha.primType=$a,ha.vertCount=0,ha.type=it;else if(typeof ia=="number")Hr(ia),ha.primType=$a,ha.vertCount=ia|0,ha.type=it;else{var Ya=null,Ua=Je,Sn=-1,na=-1,ea=0,tn=0;Array.isArray(ia)||Nt(ia)||Kt(ia)?Ya=ia:("data"in ia&&(Ya=ia.data),"usage"in ia&&(Ua=pa[ia.usage]),"primitive"in ia&&(Sn=mn[ia.primitive]),"count"in ia&&(na=ia.count|0),"type"in ia&&(tn=Or[ia.type]),"length"in ia?ea=ia.length|0:(ea=na,tn===Jt||tn===Qe?ea*=2:(tn===ar||tn===Yt)&&(ea*=4))),En(ha,Ya,Ua,Sn,na,ea,tn)}return Ea}return Ea(ta),Ea._reglType="elements",Ea._elements=ha,Ea.subdata=function(ia,Ya){return Hr.subdata(ia,Ya),Ea},Ea.destroy=function(){cn(ha)},Ea}return{create:Wa,createStream:Ca,destroyStream:Pa,getElements:function(ta){return typeof ta=="function"&&ta._elements instanceof fa?ta._elements:null},clear:function(){nt(Nr).forEach(cn)}}}var qt=new Float32Array(1),Qt=new Uint32Array(qt.buffer),br=5123;function Ir(He){for(var Lt=B.allocType(br,He.length),Dt=0;Dt>>31<<15,qr=(Tr<<1>>>24)-127,Or=Tr>>13&1023;if(qr<-24)Lt[Dt]=Nr;else if(qr<-14){var fa=-14-qr;Lt[Dt]=Nr+(Or+1024>>fa)}else qr>15?Lt[Dt]=Nr+31744:Lt[Dt]=Nr+(qr+15<<10)+Or}return Lt}function Cr(He){return Array.isArray(He)||Nt(He)}var Mr=34467,Xr=3553,Ra=34067,wa=34069,yn=6408,fn=6406,ri=6407,On=6409,ui=6410,jn=32854,oo=32855,Qi=36194,Mn=32819,bo=32820,so=33635,Hi=34042,yo=6402,Bi=34041,fo=35904,Po=35906,po=36193,Kn=33776,yi=33777,Yi=33778,zi=33779,Uo=35986,Co=35987,Wo=34798,Go=35840,ns=35841,Ro=35842,Zi=35843,ls=36196,Eo=5121,mo=5123,Zs=5125,qo=5126,Ds=10242,Us=10243,is=10497,cl=33071,ml=33648,Qo=10240,Gl=10241,ys=9728,$o=9729,wo=9984,go=9985,rs=9986,$l=9987,cu=33170,Kl=4352,Wu=4353,Yu=4354,rc=34046,ac=3317,xc=37440,Ec=37441,fu=37443,hu=37444,du=33984,Jl=[wo,rs,go,$l],Fs=[0,On,ui,ri,yn],Yo={};Yo[On]=Yo[fn]=Yo[yo]=1,Yo[Bi]=Yo[ui]=2,Yo[ri]=Yo[fo]=3,Yo[yn]=Yo[Po]=4;function tl(He){return"[object "+He+"]"}var wu=tl("HTMLCanvasElement"),Xu=tl("OffscreenCanvas"),kc=tl("CanvasRenderingContext2D"),zs=tl("ImageBitmap"),Zf=tl("HTMLImageElement"),Io=tl("HTMLVideoElement"),$f=Object.keys(Xe).concat([wu,Xu,kc,zs,Zf,Io]),Vo=[];Vo[Eo]=1,Vo[qo]=4,Vo[po]=2,Vo[mo]=2,Vo[Zs]=4;var qi=[];qi[jn]=2,qi[oo]=2,qi[Qi]=2,qi[Bi]=4,qi[Kn]=.5,qi[yi]=.5,qi[Yi]=1,qi[zi]=1,qi[Uo]=.5,qi[Co]=1,qi[Wo]=1,qi[Go]=.5,qi[ns]=.25,qi[Ro]=.5,qi[Zi]=.25,qi[ls]=.5;function Zu(He){return Array.isArray(He)&&(He.length===0||typeof He[0]=="number")}function bc(He){if(!Array.isArray(He))return!1;var Lt=He.length;return!(Lt===0||!Cr(He[0]))}function El(He){return Object.prototype.toString.call(He)}function mf(He){return El(He)===wu}function Au(He){return El(He)===Xu}function nc(He){return El(He)===kc}function rl(He){return El(He)===zs}function gf(He){return El(He)===Zf}function Yc(He){return El(He)===Io}function ic(He){if(!He)return!1;var Lt=El(He);return $f.indexOf(Lt)>=0?!0:Zu(He)||bc(He)||Kt(He)}function oc(He){return Xe[Object.prototype.toString.call(He)]|0}function Xc(He,Lt){var Dt=Lt.length;switch(He.type){case Eo:case mo:case Zs:case qo:var Tr=B.allocType(He.type,Dt);Tr.set(Lt),He.data=Tr;break;case po:He.data=Ir(Lt);break;default:}}function Zc(He,Lt){return B.allocType(He.type===po?qo:He.type,Lt)}function Ql(He,Lt){He.type===po?(He.data=Ir(Lt),B.freeType(Lt)):He.data=Lt}function Cc(He,Lt,Dt,Tr,Nr,qr){for(var Or=He.width,fa=He.height,Sa=He.channels,Ca=Or*fa*Sa,Pa=Zc(He,Ca),En=0,cn=0;cn=1;)fa+=Or*Sa*Sa,Sa/=2;return fa}else return Or*Dt*Tr}function sc(He,Lt,Dt,Tr,Nr,qr,Or){var fa={"don't care":Kl,"dont care":Kl,nice:Yu,fast:Wu},Sa={repeat:is,clamp:cl,mirror:ml},Ca={nearest:ys,linear:$o},Pa=u({mipmap:$l,"nearest mipmap nearest":wo,"linear mipmap nearest":go,"nearest mipmap linear":rs,"linear mipmap linear":$l},Ca),En={none:0,browser:hu},cn={uint8:Eo,rgba4:Mn,rgb565:so,"rgb5 a1":bo},Wa={alpha:fn,luminance:On,"luminance alpha":ui,rgb:ri,rgba:yn,rgba4:jn,"rgb5 a1":oo,rgb565:Qi},ta={};Lt.ext_srgb&&(Wa.srgb=fo,Wa.srgba=Po),Lt.oes_texture_float&&(cn.float32=cn.float=qo),Lt.oes_texture_half_float&&(cn.float16=cn["half float"]=po),Lt.webgl_depth_texture&&(u(Wa,{depth:yo,"depth stencil":Bi}),u(cn,{uint16:mo,uint32:Zs,"depth stencil":Hi})),Lt.webgl_compressed_texture_s3tc&&u(ta,{"rgb s3tc dxt1":Kn,"rgba s3tc dxt1":yi,"rgba s3tc dxt3":Yi,"rgba s3tc dxt5":zi}),Lt.webgl_compressed_texture_atc&&u(ta,{"rgb atc":Uo,"rgba atc explicit alpha":Co,"rgba atc interpolated alpha":Wo}),Lt.webgl_compressed_texture_pvrtc&&u(ta,{"rgb pvrtc 4bppv1":Go,"rgb pvrtc 2bppv1":ns,"rgba pvrtc 4bppv1":Ro,"rgba pvrtc 2bppv1":Zi}),Lt.webgl_compressed_texture_etc1&&(ta["rgb etc1"]=ls);var gr=Array.prototype.slice.call(He.getParameter(Mr));Object.keys(ta).forEach(function(Ct){var Fr=ta[Ct];gr.indexOf(Fr)>=0&&(Wa[Ct]=Fr)});var Hr=Object.keys(Wa);Dt.textureFormats=Hr;var ha=[];Object.keys(Wa).forEach(function(Ct){var Fr=Wa[Ct];ha[Fr]=Ct});var Ea=[];Object.keys(cn).forEach(function(Ct){var Fr=cn[Ct];Ea[Fr]=Ct});var ia=[];Object.keys(Ca).forEach(function(Ct){var Fr=Ca[Ct];ia[Fr]=Ct});var Ya=[];Object.keys(Pa).forEach(function(Ct){var Fr=Pa[Ct];Ya[Fr]=Ct});var Ua=[];Object.keys(Sa).forEach(function(Ct){var Fr=Sa[Ct];Ua[Fr]=Ct});var Sn=Hr.reduce(function(Ct,Fr){var zr=Wa[Fr];return zr===On||zr===fn||zr===On||zr===ui||zr===yo||zr===Bi||Lt.ext_srgb&&(zr===fo||zr===Po)?Ct[zr]=zr:zr===oo||Fr.indexOf("rgba")>=0?Ct[zr]=yn:Ct[zr]=ri,Ct},{});function na(){this.internalformat=yn,this.format=yn,this.type=Eo,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=hu,this.width=0,this.height=0,this.channels=0}function ea(Ct,Fr){Ct.internalformat=Fr.internalformat,Ct.format=Fr.format,Ct.type=Fr.type,Ct.compressed=Fr.compressed,Ct.premultiplyAlpha=Fr.premultiplyAlpha,Ct.flipY=Fr.flipY,Ct.unpackAlignment=Fr.unpackAlignment,Ct.colorSpace=Fr.colorSpace,Ct.width=Fr.width,Ct.height=Fr.height,Ct.channels=Fr.channels}function tn(Ct,Fr){if(!(typeof Fr!="object"||!Fr)){if("premultiplyAlpha"in Fr&&(Ct.premultiplyAlpha=Fr.premultiplyAlpha),"flipY"in Fr&&(Ct.flipY=Fr.flipY),"alignment"in Fr&&(Ct.unpackAlignment=Fr.alignment),"colorSpace"in Fr&&(Ct.colorSpace=En[Fr.colorSpace]),"type"in Fr){var zr=Fr.type;Ct.type=cn[zr]}var dn=Ct.width,Mi=Ct.height,xo=Ct.channels,vn=!1;"shape"in Fr?(dn=Fr.shape[0],Mi=Fr.shape[1],Fr.shape.length===3&&(xo=Fr.shape[2],vn=!0)):("radius"in Fr&&(dn=Mi=Fr.radius),"width"in Fr&&(dn=Fr.width),"height"in Fr&&(Mi=Fr.height),"channels"in Fr&&(xo=Fr.channels,vn=!0)),Ct.width=dn|0,Ct.height=Mi|0,Ct.channels=xo|0;var wt=!1;if("format"in Fr){var It=Fr.format,$t=Ct.internalformat=Wa[It];Ct.format=Sn[$t],It in cn&&("type"in Fr||(Ct.type=cn[It])),It in ta&&(Ct.compressed=!0),wt=!0}!vn&&wt?Ct.channels=Yo[Ct.format]:vn&&!wt&&Ct.channels!==Fs[Ct.format]&&(Ct.format=Ct.internalformat=Fs[Ct.channels])}}function ja(Ct){He.pixelStorei(xc,Ct.flipY),He.pixelStorei(Ec,Ct.premultiplyAlpha),He.pixelStorei(fu,Ct.colorSpace),He.pixelStorei(ac,Ct.unpackAlignment)}function Ia(){na.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function Fa(Ct,Fr){var zr=null;if(ic(Fr)?zr=Fr:Fr&&(tn(Ct,Fr),"x"in Fr&&(Ct.xOffset=Fr.x|0),"y"in Fr&&(Ct.yOffset=Fr.y|0),ic(Fr.data)&&(zr=Fr.data)),Fr.copy){var dn=Nr.viewportWidth,Mi=Nr.viewportHeight;Ct.width=Ct.width||dn-Ct.xOffset,Ct.height=Ct.height||Mi-Ct.yOffset,Ct.needsCopy=!0}else if(!zr)Ct.width=Ct.width||1,Ct.height=Ct.height||1,Ct.channels=Ct.channels||4;else if(Nt(zr))Ct.channels=Ct.channels||4,Ct.data=zr,!("type"in Fr)&&Ct.type===Eo&&(Ct.type=oc(zr));else if(Zu(zr))Ct.channels=Ct.channels||4,Xc(Ct,zr),Ct.alignment=1,Ct.needsFree=!0;else if(Kt(zr)){var xo=zr.data;!Array.isArray(xo)&&Ct.type===Eo&&(Ct.type=oc(xo));var vn=zr.shape,wt=zr.stride,It,$t,Rr,Vr,_r,mr;vn.length===3?(Rr=vn[2],mr=wt[2]):(Rr=1,mr=1),It=vn[0],$t=vn[1],Vr=wt[0],_r=wt[1],Ct.alignment=1,Ct.width=It,Ct.height=$t,Ct.channels=Rr,Ct.format=Ct.internalformat=Fs[Rr],Ct.needsFree=!0,Cc(Ct,xo,Vr,_r,mr,zr.offset)}else if(mf(zr)||Au(zr)||nc(zr))mf(zr)||Au(zr)?Ct.element=zr:Ct.element=zr.canvas,Ct.width=Ct.element.width,Ct.height=Ct.element.height,Ct.channels=4;else if(rl(zr))Ct.element=zr,Ct.width=zr.width,Ct.height=zr.height,Ct.channels=4;else if(gf(zr))Ct.element=zr,Ct.width=zr.naturalWidth,Ct.height=zr.naturalHeight,Ct.channels=4;else if(Yc(zr))Ct.element=zr,Ct.width=zr.videoWidth,Ct.height=zr.videoHeight,Ct.channels=4;else if(bc(zr)){var ir=Ct.width||zr[0].length,Wt=Ct.height||zr.length,rr=Ct.channels;Cr(zr[0][0])?rr=rr||zr[0][0].length:rr=rr||1;for(var zt=Ee.shape(zr),Sr=1,Yr=0;Yr>=Mi,zr.height>>=Mi,Fa(zr,dn[Mi]),Ct.mipmask|=1<=0&&!("faces"in Fr)&&(Ct.genMipmaps=!0)}if("mag"in Fr){var dn=Fr.mag;Ct.magFilter=Ca[dn]}var Mi=Ct.wrapS,xo=Ct.wrapT;if("wrap"in Fr){var vn=Fr.wrap;typeof vn=="string"?Mi=xo=Sa[vn]:Array.isArray(vn)&&(Mi=Sa[vn[0]],xo=Sa[vn[1]])}else{if("wrapS"in Fr){var wt=Fr.wrapS;Mi=Sa[wt]}if("wrapT"in Fr){var It=Fr.wrapT;xo=Sa[It]}}if(Ct.wrapS=Mi,Ct.wrapT=xo,"anisotropic"in Fr){var $t=Fr.anisotropic;Ct.anisotropic=Fr.anisotropic}if("mipmap"in Fr){var Rr=!1;switch(typeof Fr.mipmap){case"string":Ct.mipmapHint=fa[Fr.mipmap],Ct.genMipmaps=!0,Rr=!0;break;case"boolean":Rr=Ct.genMipmaps=Fr.mipmap;break;case"object":Ct.genMipmaps=!1,Rr=!0;break;default:}Rr&&!("min"in Fr)&&(Ct.minFilter=wo)}}function Ls(Ct,Fr){He.texParameteri(Fr,Gl,Ct.minFilter),He.texParameteri(Fr,Qo,Ct.magFilter),He.texParameteri(Fr,Ds,Ct.wrapS),He.texParameteri(Fr,Us,Ct.wrapT),Lt.ext_texture_filter_anisotropic&&He.texParameteri(Fr,rc,Ct.anisotropic),Ct.genMipmaps&&(He.hint(cu,Ct.mipmapHint),He.generateMipmap(Fr))}var Js=0,ps={},ms=Dt.maxTextureUnits,Ts=Array(ms).map(function(){return null});function si(Ct){na.call(this),this.mipmask=0,this.internalformat=yn,this.id=Js++,this.refCount=1,this.target=Ct,this.texture=He.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new _o,Or.profile&&(this.stats={size:0})}function Ps(Ct){He.activeTexture(du),He.bindTexture(Ct.target,Ct.texture)}function Mo(){var Ct=Ts[0];Ct?He.bindTexture(Ct.target,Ct.texture):He.bindTexture(Xr,null)}function il(Ct){var Fr=Ct.texture,zr=Ct.unit,dn=Ct.target;zr>=0&&(He.activeTexture(du+zr),He.bindTexture(dn,null),Ts[zr]=null),He.deleteTexture(Fr),Ct.texture=null,Ct.params=null,Ct.pixels=null,Ct.refCount=0,delete ps[Ct.id],qr.textureCount--}u(si.prototype,{bind:function(){var Ct=this;Ct.bindCount+=1;var Fr=Ct.unit;if(Fr<0){for(var zr=0;zr0)continue;dn.unit=-1}Ts[zr]=Ct,Fr=zr;break}Fr>=ms,Or.profile&&qr.maxTextureUnits>_r)-Rr,mr.height=mr.height||(zr.height>>_r)-Vr,Ps(zr),kn(mr,Xr,Rr,Vr,_r),Mo(),ln(mr),dn}function xo(vn,wt){var It=vn|0,$t=wt|0||It;if(It===zr.width&&$t===zr.height)return dn;dn.width=zr.width=It,dn.height=zr.height=$t,Ps(zr);for(var Rr=0;zr.mipmask>>Rr;++Rr){var Vr=It>>Rr,_r=$t>>Rr;if(!Vr||!_r)break;He.texImage2D(Xr,Rr,zr.format,Vr,_r,0,zr.format,zr.type,null)}return Mo(),Or.profile&&(zr.stats.size=eu(zr.internalformat,zr.type,It,$t,!1,!1)),dn}return dn(Ct,Fr),dn.subimage=Mi,dn.resize=xo,dn._reglType="texture2d",dn._texture=zr,Or.profile&&(dn.stats=zr.stats),dn.destroy=function(){zr.decRef()},dn}function wl(Ct,Fr,zr,dn,Mi,xo){var vn=new si(Ra);ps[vn.id]=vn,qr.cubeCount++;var wt=new Array(6);function It(Vr,_r,mr,ir,Wt,rr){var zt,Sr=vn.texInfo;for(_o.call(Sr),zt=0;zt<6;++zt)wt[zt]=Ei();if(typeof Vr=="number"||!Vr){var Yr=Vr|0||1;for(zt=0;zt<6;++zt)Wn(wt[zt],Yr,Yr)}else if(typeof Vr=="object")if(_r)gi(wt[0],Vr),gi(wt[1],_r),gi(wt[2],mr),gi(wt[3],ir),gi(wt[4],Wt),gi(wt[5],rr);else if(Hs(Sr,Vr),tn(vn,Vr),"faces"in Vr){var va=Vr.faces;for(zt=0;zt<6;++zt)ea(wt[zt],vn),gi(wt[zt],va[zt])}else for(zt=0;zt<6;++zt)gi(wt[zt],Vr);for(ea(vn,wt[0]),Sr.genMipmaps?vn.mipmask=(wt[0].width<<1)-1:vn.mipmask=wt[0].mipmask,vn.internalformat=wt[0].internalformat,It.width=wt[0].width,It.height=wt[0].height,Ps(vn),zt=0;zt<6;++zt)Jo(wt[zt],wa+zt);for(Ls(Sr,Ra),Mo(),Or.profile&&(vn.stats.size=eu(vn.internalformat,vn.type,It.width,It.height,Sr.genMipmaps,!0)),It.format=ha[vn.internalformat],It.type=Ea[vn.type],It.mag=ia[Sr.magFilter],It.min=Ya[Sr.minFilter],It.wrapS=Ua[Sr.wrapS],It.wrapT=Ua[Sr.wrapT],zt=0;zt<6;++zt)bl(wt[zt]);return It}function $t(Vr,_r,mr,ir,Wt){var rr=mr|0,zt=ir|0,Sr=Wt|0,Yr=Oa();return ea(Yr,vn),Yr.width=0,Yr.height=0,Fa(Yr,_r),Yr.width=Yr.width||(vn.width>>Sr)-rr,Yr.height=Yr.height||(vn.height>>Sr)-zt,Ps(vn),kn(Yr,wa+Vr,rr,zt,Sr),Mo(),ln(Yr),It}function Rr(Vr){var _r=Vr|0;if(_r!==vn.width){It.width=vn.width=_r,It.height=vn.height=_r,Ps(vn);for(var mr=0;mr<6;++mr)for(var ir=0;vn.mipmask>>ir;++ir)He.texImage2D(wa+mr,ir,vn.format,_r>>ir,_r>>ir,0,vn.format,vn.type,null);return Mo(),Or.profile&&(vn.stats.size=eu(vn.internalformat,vn.type,It.width,It.height,!1,!0)),It}}return It(Ct,Fr,zr,dn,Mi,xo),It.subimage=$t,It.resize=Rr,It._reglType="textureCube",It._texture=vn,Or.profile&&(It.stats=vn.stats),It.destroy=function(){vn.decRef()},It}function $n(){for(var Ct=0;Ct>dn,zr.height>>dn,0,zr.internalformat,zr.type,null);else for(var Mi=0;Mi<6;++Mi)He.texImage2D(wa+Mi,dn,zr.internalformat,zr.width>>dn,zr.height>>dn,0,zr.internalformat,zr.type,null);Ls(zr.texInfo,zr.target)})}function Gi(){for(var Ct=0;Ct=0?bl=!0:Sa.indexOf(_o)>=0&&(bl=!1))),("depthTexture"in si||"depthStencilTexture"in si)&&(Ts=!!(si.depthTexture||si.depthStencilTexture)),"depth"in si&&(typeof si.depth=="boolean"?Jo=si.depth:(Js=si.depth,As=!1)),"stencil"in si&&(typeof si.stencil=="boolean"?As=si.stencil:(ps=si.stencil,Jo=!1)),"depthStencil"in si&&(typeof si.depthStencil=="boolean"?Jo=As=si.depthStencil:(ms=si.depthStencil,Jo=!1,As=!1))}var Mo=null,il=null,ol=null,wl=null;if(Array.isArray(Ei))Mo=Ei.map(ta);else if(Ei)Mo=[ta(Ei)];else for(Mo=new Array(Ls),Hn=0;Hn0&&(ln.depth=Fa[0].depth,ln.stencil=Fa[0].stencil,ln.depthStencil=Fa[0].depthStencil),Fa[Oa]?Fa[Oa](ln):Fa[Oa]=ea(ln)}return u(rn,{width:Hn,height:Hn,color:_o})}function kn(Vn){var Oa,ln=Vn|0;if(ln===rn.width)return rn;var Hn=rn.color;for(Oa=0;Oa=Hn.byteLength?Wn.subdata(Hn):(Wn.destroy(),ea.buffers[Vn]=null)),ea.buffers[Vn]||(Wn=ea.buffers[Vn]=Nr.create(Oa,Kc,!1,!0)),ln.buffer=Nr.getBuffer(Wn),ln.size=ln.buffer.dimension|0,ln.normalized=!1,ln.type=ln.buffer.dtype,ln.offset=0,ln.stride=0,ln.divisor=0,ln.state=1,rn[Vn]=1}else Nr.getBuffer(Oa)?(ln.buffer=Nr.getBuffer(Oa),ln.size=ln.buffer.dimension|0,ln.normalized=!1,ln.type=ln.buffer.dtype,ln.offset=0,ln.stride=0,ln.divisor=0,ln.state=1):Nr.getBuffer(Oa.buffer)?(ln.buffer=Nr.getBuffer(Oa.buffer),ln.size=(+Oa.size||ln.buffer.dimension)|0,ln.normalized=!!Oa.normalized||!1,"type"in Oa?ln.type=jr[Oa.type]:ln.type=ln.buffer.dtype,ln.offset=(Oa.offset||0)|0,ln.stride=(Oa.stride||0)|0,ln.divisor=(Oa.divisor||0)|0,ln.state=1):"x"in Oa&&(ln.x=+Oa.x||0,ln.y=+Oa.y||0,ln.z=+Oa.z||0,ln.w=+Oa.w||0,ln.state=2)}for(var gi=0;gi1)for(var ja=0;jagr&&(gr=Hr.stats.uniformsCount)}),gr},Dt.getMaxAttributesCount=function(){var gr=0;return Pa.forEach(function(Hr){Hr.stats.attributesCount>gr&&(gr=Hr.stats.attributesCount)}),gr});function ta(){Nr={},qr={};for(var gr=0;gr16&&(Dt=Ba(Dt,He.length*8));for(var Tr=Array(16),Nr=Array(16),qr=0;qr<16;qr++)Tr[qr]=Dt[qr]^909522486,Nr[qr]=Dt[qr]^1549556828;var Or=Ba(Tr.concat(Ou(Lt)),512+Lt.length*8);return Tt(Ba(Nr.concat(Or),768))}function Mu(He){for(var Lt=eh?"0123456789ABCDEF":"0123456789abcdef",Dt="",Tr,Nr=0;Nr>>4&15)+Lt.charAt(Tr&15);return Dt}function Tf(He){for(var Lt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Dt="",Tr=He.length,Nr=0;NrHe.length*8?Dt+=Ic:Dt+=Lt.charAt(qr>>>6*(3-Or)&63);return Dt}function th(He,Lt){var Dt=Lt.length,Tr=Array(),Nr,qr,Or,fa,Sa=Array(Math.ceil(He.length/2));for(Nr=0;Nr0;){for(fa=Array(),Or=0,Nr=0;Nr0||qr>0)&&(fa[fa.length]=qr);Tr[Tr.length]=Or,Sa=fa}var Ca="";for(Nr=Tr.length-1;Nr>=0;Nr--)Ca+=Lt.charAt(Tr[Nr]);var Pa=Math.ceil(He.length*8/(Math.log(Lt.length)/Math.log(2)));for(Nr=Ca.length;Nr>>6&31,128|Tr&63):Tr<=65535?Lt+=String.fromCharCode(224|Tr>>>12&15,128|Tr>>>6&63,128|Tr&63):Tr<=2097151&&(Lt+=String.fromCharCode(240|Tr>>>18&7,128|Tr>>>12&63,128|Tr>>>6&63,128|Tr&63));return Lt}function Ou(He){for(var Lt=Array(He.length>>2),Dt=0;Dt>5]|=(He.charCodeAt(Dt/8)&255)<<24-Dt%32;return Lt}function Tt(He){for(var Lt="",Dt=0;Dt>5]>>>24-Dt%32&255);return Lt}function jt(He,Lt){return He>>>Lt|He<<32-Lt}function yr(He,Lt){return He>>>Lt}function dr(He,Lt,Dt){return He&Lt^~He&Dt}function Wr(He,Lt,Dt){return He&Lt^He&Dt^Lt&Dt}function ma(He){return jt(He,2)^jt(He,13)^jt(He,22)}function za(He){return jt(He,6)^jt(He,11)^jt(He,25)}function Ja(He){return jt(He,7)^jt(He,18)^yr(He,3)}function nn(He){return jt(He,17)^jt(He,19)^yr(He,10)}var Tn=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 Ba(He,Lt){var Dt=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),Tr=new Array(64),Nr,qr,Or,fa,Sa,Ca,Pa,En,cn,Wa,ta,gr;for(He[Lt>>5]|=128<<24-Lt%32,He[(Lt+64>>9<<4)+15]=Lt,cn=0;cn>16)+(Lt>>16)+(Dt>>16);return Tr<<16|Dt&65535}function Xa(He){return Array.prototype.slice.call(He)}function Aa(He){return Xa(He).join("")}function Fn(He){var Lt=He&&He.cache,Dt=0,Tr=[],Nr=[],qr=[];function Or(ta,gr){var Hr=gr&&gr.stable;if(!Hr){for(var ha=0;ha0&&(ta.push(Ea,"="),ta.push.apply(ta,Xa(arguments)),ta.push(";")),Ea}return u(gr,{def:ha,toString:function(){return Aa([Hr.length>0?"var "+Hr.join(",")+";":"",Aa(ta)])}})}function Sa(){var ta=fa(),gr=fa(),Hr=ta.toString,ha=gr.toString;function Ea(ia,Ya){gr(ia,Ya,"=",ta.def(ia,Ya),";")}return u(function(){ta.apply(ta,Xa(arguments))},{def:ta.def,entry:ta,exit:gr,save:Ea,set:function(ia,Ya,Ua){Ea(ia,Ya),ta(ia,Ya,"=",Ua,";")},toString:function(){return Hr()+ha()}})}function Ca(){var ta=Aa(arguments),gr=Sa(),Hr=Sa(),ha=gr.toString,Ea=Hr.toString;return u(gr,{then:function(){return gr.apply(gr,Xa(arguments)),this},else:function(){return Hr.apply(Hr,Xa(arguments)),this},toString:function(){var ia=Ea();return ia&&(ia="else{"+ia+"}"),Aa(["if(",ta,"){",ha(),"}",ia])}})}var Pa=fa(),En={};function cn(ta,gr){var Hr=[];function ha(){var Sn="a"+Hr.length;return Hr.push(Sn),Sn}gr=gr||0;for(var Ea=0;Ea":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Jr={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},sa={cw:Ne,ccw:Ke};function ga(He){return Array.isArray(He)||Nt(He)||Kt(He)}function ba(He){return He.sort(function(Lt,Dt){return Lt===pe?-1:Dt===pe?1:Lt=1,Tr>=2,Lt)}else if(Dt===Lo){var Nr=He.data;return new Zr(Nr.thisDep,Nr.contextDep,Nr.propDep,Lt)}else{if(Dt===us)return new Zr(!1,!1,!1,Lt);if(Dt===Oo){for(var qr=!1,Or=!1,fa=!1,Sa=0;Sa=1&&(Or=!0),Pa>=2&&(fa=!0)}else Ca.type===Lo&&(qr=qr||Ca.data.thisDep,Or=Or||Ca.data.contextDep,fa=fa||Ca.data.propDep)}return new Zr(qr,Or,fa,Lt)}else return new Zr(Dt===ao,Dt===Oi,Dt===_n,Lt)}}var ni=new Zr(!1,!1,!1,function(){});function xi(He,Lt,Dt,Tr,Nr,qr,Or,fa,Sa,Ca,Pa,En,cn,Wa,ta,gr){var Hr=Ca.Record,ha={add:32774,subtract:32778,"reverse subtract":32779};Dt.ext_blend_minmax&&(ha.min=et,ha.max=ot);var Ea=Dt.angle_instanced_arrays,ia=Dt.webgl_draw_buffers,Ya=Dt.oes_vertex_array_object,Ua={dirty:!0,profile:gr.profile},Sn={},na=[],ea={},tn={};function ja(wt){return wt.replace(".","_")}function Ia(wt,It,$t){var Rr=ja(wt);na.push(wt),Sn[Rr]=Ua[Rr]=!!$t,ea[Rr]=It}function Fa(wt,It,$t){var Rr=ja(wt);na.push(wt),Array.isArray($t)?(Ua[Rr]=$t.slice(),Sn[Rr]=$t.slice()):Ua[Rr]=Sn[Rr]=$t,tn[Rr]=It}function rn(wt){return!!isNaN(wt)}Ia(_s,ya),Ia(ko,Kr),Fa(fl,"blendColor",[0,0,0,0]),Fa(Os,"blendEquationSeparate",[lr,lr]),Fa(cs,"blendFuncSeparate",[or,Ut,or,Ut]),Ia(ai,Ha,!0),Fa(Xo,"depthFunc",Dr),Fa(os,"depthRange",[0,1]),Fa(Do,"depthMask",!0),Fa(al,al,[!0,!0,!0,!0]),Ia(pu,Br),Fa(au,"cullFace",we),Fa(Nu,Nu,Ke),Fa(_l,_l,1),Ia(Su,Bn),Fa(xl,"polygonOffset",[0,0]),Ia(hc,li),Ia(ki,Jn),Fa(Xi,"sampleCoverage",[1,!1]),Ia(jf,Za),Fa(zc,"stencilMask",-1),Fa(nu,"stencilFunc",[kt,0,-1]),Fa(Me,"stencilOpSeparate",[ue,xt,xt,xt]),Fa(L,"stencilOpSeparate",[we,xt,xt,xt]),Ia(J,un),Fa(de,"scissor",[0,0,He.drawingBufferWidth,He.drawingBufferHeight]),Fa(pe,pe,[0,0,He.drawingBufferWidth,He.drawingBufferHeight]);var kn={gl:He,context:cn,strings:Lt,next:Sn,current:Ua,draw:En,elements:qr,buffer:Nr,shader:Pa,attributes:Ca.state,vao:Ca,uniforms:Sa,framebuffer:fa,extensions:Dt,timer:Wa,isBufferArgs:ga},Vn={primTypes:mn,compareFuncs:Ur,blendFuncs:_a,blendEquations:ha,stencilOps:Jr,glTypes:jr,orientationType:sa};ia&&(Vn.backBuffer=[we],Vn.drawBuffer=m(Tr.maxDrawbuffers,function(wt){return wt===0?[0]:m(wt,function(It){return ca+It})}));var Oa=0;function ln(){var wt=Fn({cache:ta}),It=wt.link,$t=wt.global;wt.id=Oa++,wt.batchId="0";var Rr=It(kn),Vr=wt.shared={props:"a0"};Object.keys(kn).forEach(function(rr){Vr[rr]=$t.def(Rr,".",rr)});var _r=wt.next={},mr=wt.current={};Object.keys(tn).forEach(function(rr){Array.isArray(Ua[rr])&&(_r[rr]=$t.def(Vr.next,".",rr),mr[rr]=$t.def(Vr.current,".",rr))});var ir=wt.constants={};Object.keys(Vn).forEach(function(rr){ir[rr]=$t.def(JSON.stringify(Vn[rr]))}),wt.invoke=function(rr,zt){switch(zt.type){case Un:var Sr=["this",Vr.context,Vr.props,wt.batchId];return rr.def(It(zt.data),".call(",Sr.slice(0,Math.max(zt.data.length+1,4)),")");case _n:return rr.def(Vr.props,zt.data);case Oi:return rr.def(Vr.context,zt.data);case ao:return rr.def("this",zt.data);case Lo:return zt.data.append(wt,rr),zt.data.ref;case us:return zt.data.toString();case Oo:return zt.data.map(function(Yr){return wt.invoke(rr,Yr)})}},wt.attribCache={};var Wt={};return wt.scopeAttrib=function(rr){var zt=Lt.id(rr);if(zt in Wt)return Wt[zt];var Sr=Ca.scope[zt];Sr||(Sr=Ca.scope[zt]=new Hr);var Yr=Wt[zt]=It(Sr);return Yr},wt}function Hn(wt){var It=wt.static,$t=wt.dynamic,Rr;if(Te in It){var Vr=!!It[Te];Rr=wn(function(mr,ir){return Vr}),Rr.enable=Vr}else if(Te in $t){var _r=$t[Te];Rr=Nn(_r,function(mr,ir){return mr.invoke(ir,_r)})}return Rr}function Wn(wt,It){var $t=wt.static,Rr=wt.dynamic;if(Ze in $t){var Vr=$t[Ze];return Vr?(Vr=fa.getFramebuffer(Vr),wn(function(mr,ir){var Wt=mr.link(Vr),rr=mr.shared;ir.set(rr.framebuffer,".next",Wt);var zt=rr.context;return ir.set(zt,"."+$e,Wt+".width"),ir.set(zt,"."+lt,Wt+".height"),Wt})):wn(function(mr,ir){var Wt=mr.shared;ir.set(Wt.framebuffer,".next","null");var rr=Wt.context;return ir.set(rr,"."+$e,rr+"."+Ot),ir.set(rr,"."+lt,rr+"."+Xt),"null"})}else if(Ze in Rr){var _r=Rr[Ze];return Nn(_r,function(mr,ir){var Wt=mr.invoke(ir,_r),rr=mr.shared,zt=rr.framebuffer,Sr=ir.def(zt,".getFramebuffer(",Wt,")");ir.set(zt,".next",Sr);var Yr=rr.context;return ir.set(Yr,"."+$e,Sr+"?"+Sr+".width:"+Yr+"."+Ot),ir.set(Yr,"."+lt,Sr+"?"+Sr+".height:"+Yr+"."+Xt),Sr})}else return null}function gi(wt,It,$t){var Rr=wt.static,Vr=wt.dynamic;function _r(Wt){if(Wt in Rr){var rr=Rr[Wt],zt=!0,Sr=rr.x|0,Yr=rr.y|0,va,Rn;return"width"in rr?va=rr.width|0:zt=!1,"height"in rr?Rn=rr.height|0:zt=!1,new Zr(!zt&&It&&It.thisDep,!zt&&It&&It.contextDep,!zt&&It&&It.propDep,function(Ln,An){var xn=Ln.shared.context,Qa=va;"width"in rr||(Qa=An.def(xn,".",$e,"-",Sr));var pn=Rn;return"height"in rr||(pn=An.def(xn,".",lt,"-",Yr)),[Sr,Yr,Qa,pn]})}else if(Wt in Vr){var an=Vr[Wt],en=Nn(an,function(Ln,An){var xn=Ln.invoke(An,an),Qa=Ln.shared.context,pn=An.def(xn,".x|0"),gn=An.def(xn,".y|0"),Xn=An.def('"width" in ',xn,"?",xn,".width|0:","(",Qa,".",$e,"-",pn,")"),zo=An.def('"height" in ',xn,"?",xn,".height|0:","(",Qa,".",lt,"-",gn,")");return[pn,gn,Xn,zo]});return It&&(en.thisDep=en.thisDep||It.thisDep,en.contextDep=en.contextDep||It.contextDep,en.propDep=en.propDep||It.propDep),en}else return It?new Zr(It.thisDep,It.contextDep,It.propDep,function(Ln,An){var xn=Ln.shared.context;return[0,0,An.def(xn,".",$e),An.def(xn,".",lt)]}):null}var mr=_r(pe);if(mr){var ir=mr;mr=new Zr(mr.thisDep,mr.contextDep,mr.propDep,function(Wt,rr){var zt=ir.append(Wt,rr),Sr=Wt.shared.context;return rr.set(Sr,"."+tt,zt[2]),rr.set(Sr,"."+dt,zt[3]),zt})}return{viewport:mr,scissor_box:_r(de)}}function Jo(wt,It){var $t=wt.static,Rr=typeof $t[vt]=="string"&&typeof $t[rt]=="string";if(Rr){if(Object.keys(It.dynamic).length>0)return null;var Vr=It.static,_r=Object.keys(Vr);if(_r.length>0&&typeof Vr[_r[0]]=="number"){for(var mr=[],ir=0;ir<_r.length;++ir)mr.push([Vr[_r[ir]]|0,_r[ir]]);return mr}}return null}function As(wt,It,$t){var Rr=wt.static,Vr=wt.dynamic;function _r(zt){if(zt in Rr){var Sr=Lt.id(Rr[zt]),Yr=wn(function(){return Sr});return Yr.id=Sr,Yr}else if(zt in Vr){var va=Vr[zt];return Nn(va,function(Rn,an){var en=Rn.invoke(an,va),Ln=an.def(Rn.shared.strings,".id(",en,")");return Ln})}return null}var mr=_r(vt),ir=_r(rt),Wt=null,rr;return hn(mr)&&hn(ir)?(Wt=Pa.program(ir.id,mr.id,null,$t),rr=wn(function(zt,Sr){return zt.link(Wt)})):rr=new Zr(mr&&mr.thisDep||ir&&ir.thisDep,mr&&mr.contextDep||ir&&ir.contextDep,mr&&mr.propDep||ir&&ir.propDep,function(zt,Sr){var Yr=zt.shared.shader,va;mr?va=mr.append(zt,Sr):va=Sr.def(Yr,".",vt);var Rn;ir?Rn=ir.append(zt,Sr):Rn=Sr.def(Yr,".",rt);var an=Yr+".program("+Rn+","+va;return Sr.def(an+")")}),{frag:mr,vert:ir,progVar:rr,program:Wt}}function Ei(wt,It){var $t=wt.static,Rr=wt.dynamic,Vr={},_r=!1;function mr(){if(Le in $t){var An=$t[Le];return An!==null&&Ca.getVAO(An)===null&&(An=Ca.createVAO(An)),_r=!0,Vr.vao=An,wn(function(Qa){var pn=Ca.getVAO(An);return pn?Qa.link(pn):"null"})}else if(Le in Rr){_r=!0;var xn=Rr[Le];return Nn(xn,function(Qa,pn){var gn=Qa.invoke(pn,xn);return pn.def(Qa.shared.vao+".getVAO("+gn+")")})}return null}var ir=mr(),Wt=!1;function rr(){if(Mt in $t){var An=$t[Mt];if(Vr.elements=An,ga(An)){var xn=Vr.elements=qr.create(An,!0);An=qr.getElements(xn),Wt=!0}else An&&(An=qr.getElements(An),Wt=!0);var Qa=wn(function(gn,Xn){if(An){var zo=gn.link(An);return gn.ELEMENTS=zo,zo}return gn.ELEMENTS=null,null});return Qa.value=An,Qa}else if(Mt in Rr){Wt=!0;var pn=Rr[Mt];return Nn(pn,function(gn,Xn){var zo=gn.shared,sl=zo.isBufferArgs,ku=zo.elements,Tc=gn.invoke(Xn,pn),rf=Xn.def("null"),ou=Xn.def(sl,"(",Tc,")"),Ah=gn.cond(ou).then(rf,"=",ku,".createStream(",Tc,");").else(rf,"=",ku,".getElements(",Tc,");");return Xn.entry(Ah),Xn.exit(gn.cond(ou).then(ku,".destroyStream(",rf,");")),gn.ELEMENTS=rf,rf})}else if(_r)return new Zr(ir.thisDep,ir.contextDep,ir.propDep,function(gn,Xn){return Xn.def(gn.shared.vao+".currentVAO?"+gn.shared.elements+".getElements("+gn.shared.vao+".currentVAO.elements):null")});return null}var zt=rr();function Sr(){if(Gt in $t){var An=$t[Gt];return Vr.primitive=An,wn(function(Qa,pn){return mn[An]})}else if(Gt in Rr){var xn=Rr[Gt];return Nn(xn,function(Qa,pn){var gn=Qa.constants.primTypes,Xn=Qa.invoke(pn,xn);return pn.def(gn,"[",Xn,"]")})}else{if(Wt)return hn(zt)?zt.value?wn(function(Qa,pn){return pn.def(Qa.ELEMENTS,".primType")}):wn(function(){return Ll}):new Zr(zt.thisDep,zt.contextDep,zt.propDep,function(Qa,pn){var gn=Qa.ELEMENTS;return pn.def(gn,"?",gn,".primType:",Ll)});if(_r)return new Zr(ir.thisDep,ir.contextDep,ir.propDep,function(Qa,pn){return pn.def(Qa.shared.vao+".currentVAO?"+Qa.shared.vao+".currentVAO.primitive:"+Ll)})}return null}function Yr(An,xn){if(An in $t){var Qa=$t[An]|0;return xn?Vr.offset=Qa:Vr.instances=Qa,wn(function(gn,Xn){return xn&&(gn.OFFSET=Qa),Qa})}else if(An in Rr){var pn=Rr[An];return Nn(pn,function(gn,Xn){var zo=gn.invoke(Xn,pn);return xn&&(gn.OFFSET=zo),zo})}else if(xn){if(Wt)return wn(function(gn,Xn){return gn.OFFSET=0,0});if(_r)return new Zr(ir.thisDep,ir.contextDep,ir.propDep,function(gn,Xn){return Xn.def(gn.shared.vao+".currentVAO?"+gn.shared.vao+".currentVAO.offset:0")})}else if(_r)return new Zr(ir.thisDep,ir.contextDep,ir.propDep,function(gn,Xn){return Xn.def(gn.shared.vao+".currentVAO?"+gn.shared.vao+".currentVAO.instances:-1")});return null}var va=Yr(fr,!0);function Rn(){if(Ht in $t){var An=$t[Ht]|0;return Vr.count=An,wn(function(){return An})}else if(Ht in Rr){var xn=Rr[Ht];return Nn(xn,function(Xn,zo){var sl=Xn.invoke(zo,xn);return sl})}else if(Wt)if(hn(zt)){if(zt)return va?new Zr(va.thisDep,va.contextDep,va.propDep,function(Xn,zo){var sl=zo.def(Xn.ELEMENTS,".vertCount-",Xn.OFFSET);return sl}):wn(function(Xn,zo){return zo.def(Xn.ELEMENTS,".vertCount")});var Qa=wn(function(){return-1});return Qa}else{var pn=new Zr(zt.thisDep||va.thisDep,zt.contextDep||va.contextDep,zt.propDep||va.propDep,function(Xn,zo){var sl=Xn.ELEMENTS;return Xn.OFFSET?zo.def(sl,"?",sl,".vertCount-",Xn.OFFSET,":-1"):zo.def(sl,"?",sl,".vertCount:-1")});return pn}else if(_r){var gn=new Zr(ir.thisDep,ir.contextDep,ir.propDep,function(Xn,zo){return zo.def(Xn.shared.vao,".currentVAO?",Xn.shared.vao,".currentVAO.count:-1")});return gn}return null}var an=Sr(),en=Rn(),Ln=Yr(wr,!1);return{elements:zt,primitive:an,count:en,instances:Ln,offset:va,vao:ir,vaoActive:_r,elementsActive:Wt,static:Vr}}function bl(wt,It){var $t=wt.static,Rr=wt.dynamic,Vr={};return na.forEach(function(_r){var mr=ja(_r);function ir(Wt,rr){if(_r in $t){var zt=Wt($t[_r]);Vr[mr]=wn(function(){return zt})}else if(_r in Rr){var Sr=Rr[_r];Vr[mr]=Nn(Sr,function(Yr,va){return rr(Yr,va,Yr.invoke(va,Sr))})}}switch(_r){case pu:case ko:case _s:case jf:case ai:case J:case Su:case hc:case ki:case Do:return ir(function(Wt){return Wt},function(Wt,rr,zt){return zt});case Xo:return ir(function(Wt){return Ur[Wt]},function(Wt,rr,zt){var Sr=Wt.constants.compareFuncs;return rr.def(Sr,"[",zt,"]")});case os:return ir(function(Wt){return Wt},function(Wt,rr,zt){var Sr=rr.def("+",zt,"[0]"),Yr=rr.def("+",zt,"[1]");return[Sr,Yr]});case cs:return ir(function(Wt){var rr="srcRGB"in Wt?Wt.srcRGB:Wt.src,zt="srcAlpha"in Wt?Wt.srcAlpha:Wt.src,Sr="dstRGB"in Wt?Wt.dstRGB:Wt.dst,Yr="dstAlpha"in Wt?Wt.dstAlpha:Wt.dst;return[_a[rr],_a[Sr],_a[zt],_a[Yr]]},function(Wt,rr,zt){var Sr=Wt.constants.blendFuncs;function Yr(xn,Qa){var pn=rr.def('"',xn,Qa,'" in ',zt,"?",zt,".",xn,Qa,":",zt,".",xn);return pn}var va=Yr("src","RGB"),Rn=Yr("dst","RGB"),an=rr.def(Sr,"[",va,"]"),en=rr.def(Sr,"[",Yr("src","Alpha"),"]"),Ln=rr.def(Sr,"[",Rn,"]"),An=rr.def(Sr,"[",Yr("dst","Alpha"),"]");return[an,Ln,en,An]});case Os:return ir(function(Wt){if(typeof Wt=="string")return[ha[Wt],ha[Wt]];if(typeof Wt=="object")return[ha[Wt.rgb],ha[Wt.alpha]]},function(Wt,rr,zt){var Sr=Wt.constants.blendEquations,Yr=rr.def(),va=rr.def(),Rn=Wt.cond("typeof ",zt,'==="string"');return Rn.then(Yr,"=",va,"=",Sr,"[",zt,"];"),Rn.else(Yr,"=",Sr,"[",zt,".rgb];",va,"=",Sr,"[",zt,".alpha];"),rr(Rn),[Yr,va]});case fl:return ir(function(Wt){return m(4,function(rr){return+Wt[rr]})},function(Wt,rr,zt){return m(4,function(Sr){return rr.def("+",zt,"[",Sr,"]")})});case zc:return ir(function(Wt){return Wt|0},function(Wt,rr,zt){return rr.def(zt,"|0")});case nu:return ir(function(Wt){var rr=Wt.cmp||"keep",zt=Wt.ref||0,Sr="mask"in Wt?Wt.mask:-1;return[Ur[rr],zt,Sr]},function(Wt,rr,zt){var Sr=Wt.constants.compareFuncs,Yr=rr.def('"cmp" in ',zt,"?",Sr,"[",zt,".cmp]",":",xt),va=rr.def(zt,".ref|0"),Rn=rr.def('"mask" in ',zt,"?",zt,".mask|0:-1");return[Yr,va,Rn]});case Me:case L:return ir(function(Wt){var rr=Wt.fail||"keep",zt=Wt.zfail||"keep",Sr=Wt.zpass||"keep";return[_r===L?we:ue,Jr[rr],Jr[zt],Jr[Sr]]},function(Wt,rr,zt){var Sr=Wt.constants.stencilOps;function Yr(va){return rr.def('"',va,'" in ',zt,"?",Sr,"[",zt,".",va,"]:",xt)}return[_r===L?we:ue,Yr("fail"),Yr("zfail"),Yr("zpass")]});case xl:return ir(function(Wt){var rr=Wt.factor|0,zt=Wt.units|0;return[rr,zt]},function(Wt,rr,zt){var Sr=rr.def(zt,".factor|0"),Yr=rr.def(zt,".units|0");return[Sr,Yr]});case au:return ir(function(Wt){var rr=0;return Wt==="front"?rr=ue:Wt==="back"&&(rr=we),rr},function(Wt,rr,zt){return rr.def(zt,'==="front"?',ue,":",we)});case _l:return ir(function(Wt){return Wt},function(Wt,rr,zt){return zt});case Nu:return ir(function(Wt){return sa[Wt]},function(Wt,rr,zt){return rr.def(zt+'==="cw"?'+Ne+":"+Ke)});case al:return ir(function(Wt){return Wt.map(function(rr){return!!rr})},function(Wt,rr,zt){return m(4,function(Sr){return"!!"+zt+"["+Sr+"]"})});case Xi:return ir(function(Wt){var rr="value"in Wt?Wt.value:1,zt=!!Wt.invert;return[rr,zt]},function(Wt,rr,zt){var Sr=rr.def('"value" in ',zt,"?+",zt,".value:1"),Yr=rr.def("!!",zt,".invert");return[Sr,Yr]})}}),Vr}function _o(wt,It){var $t=wt.static,Rr=wt.dynamic,Vr={};return Object.keys($t).forEach(function(_r){var mr=$t[_r],ir;if(typeof mr=="number"||typeof mr=="boolean")ir=wn(function(){return mr});else if(typeof mr=="function"){var Wt=mr._reglType;Wt==="texture2d"||Wt==="textureCube"?ir=wn(function(rr){return rr.link(mr)}):(Wt==="framebuffer"||Wt==="framebufferCube")&&(ir=wn(function(rr){return rr.link(mr.color[0])}))}else Cr(mr)&&(ir=wn(function(rr){var zt=rr.global.def("[",m(mr.length,function(Sr){return mr[Sr]}),"]");return zt}));ir.value=mr,Vr[_r]=ir}),Object.keys(Rr).forEach(function(_r){var mr=Rr[_r];Vr[_r]=Nn(mr,function(ir,Wt){return ir.invoke(Wt,mr)})}),Vr}function Hs(wt,It){var $t=wt.static,Rr=wt.dynamic,Vr={};return Object.keys($t).forEach(function(_r){var mr=$t[_r],ir=Lt.id(_r),Wt=new Hr;if(ga(mr))Wt.state=fi,Wt.buffer=Nr.getBuffer(Nr.create(mr,pr,!1,!0)),Wt.type=0;else{var rr=Nr.getBuffer(mr);if(rr)Wt.state=fi,Wt.buffer=rr,Wt.type=0;else if("constant"in mr){var zt=mr.constant;Wt.buffer="null",Wt.state=Ti,typeof zt=="number"?Wt.x=zt:ci.forEach(function(Ln,An){An"+pn+"?"+zt+".constant["+pn+"]:0;"}).join(""),"}}else{","if(",va,"(",zt,".buffer)){",Ln,"=",Rn,".createStream(",pr,",",zt,".buffer);","}else{",Ln,"=",Rn,".getBuffer(",zt,".buffer);","}",An,'="type" in ',zt,"?",Yr.glTypes,"[",zt,".type]:",Ln,".dtype;",an.normalized,"=!!",zt,".normalized;");function xn(Qa){rr(an[Qa],"=",zt,".",Qa,"|0;")}return xn("size"),xn("offset"),xn("stride"),xn("divisor"),rr("}}"),rr.exit("if(",an.isStream,"){",Rn,".destroyStream(",Ln,");","}"),an}Vr[_r]=Nn(mr,ir)}),Vr}function Ls(wt){var It=wt.static,$t=wt.dynamic,Rr={};return Object.keys(It).forEach(function(Vr){var _r=It[Vr];Rr[Vr]=wn(function(mr,ir){return typeof _r=="number"||typeof _r=="boolean"?""+_r:mr.link(_r)})}),Object.keys($t).forEach(function(Vr){var _r=$t[Vr];Rr[Vr]=Nn(_r,function(mr,ir){return mr.invoke(ir,_r)})}),Rr}function Js(wt,It,$t,Rr,Vr){var _r=wt.static,mr=wt.dynamic,ir=Jo(wt,It),Wt=Wn(wt,Vr),rr=gi(wt,Wt,Vr),zt=Ei(wt,Vr),Sr=bl(wt,Vr),Yr=As(wt,Vr,ir);function va(xn){var Qa=rr[xn];Qa&&(Sr[xn]=Qa)}va(pe),va(ja(de));var Rn=Object.keys(Sr).length>0,an={framebuffer:Wt,draw:zt,shader:Yr,state:Sr,dirty:Rn,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(an.profile=Hn(wt,Vr),an.uniforms=_o($t,Vr),an.drawVAO=an.scopeVAO=zt.vao,!an.drawVAO&&Yr.program&&!ir&&Dt.angle_instanced_arrays&&zt.static.elements){var en=!0,Ln=Yr.program.attributes.map(function(xn){var Qa=It.static[xn];return en=en&&!!Qa,Qa});if(en&&Ln.length>0){var An=Ca.getVAO(Ca.createVAO({attributes:Ln,elements:zt.static.elements}));an.drawVAO=new Zr(null,null,null,function(xn,Qa){return xn.link(An)}),an.useVAO=!0}}return ir?an.useVAO=!0:an.attributes=Hs(It,Vr),an.context=Ls(Rr,Vr),an}function ps(wt,It,$t){var Rr=wt.shared,Vr=Rr.context,_r=wt.scope();Object.keys($t).forEach(function(mr){It.save(Vr,"."+mr);var ir=$t[mr],Wt=ir.append(wt,It);Array.isArray(Wt)?_r(Vr,".",mr,"=[",Wt.join(),"];"):_r(Vr,".",mr,"=",Wt,";")}),It(_r)}function ms(wt,It,$t,Rr){var Vr=wt.shared,_r=Vr.gl,mr=Vr.framebuffer,ir;ia&&(ir=It.def(Vr.extensions,".webgl_draw_buffers"));var Wt=wt.constants,rr=Wt.drawBuffer,zt=Wt.backBuffer,Sr;$t?Sr=$t.append(wt,It):Sr=It.def(mr,".next"),Rr||It("if(",Sr,"!==",mr,".cur){"),It("if(",Sr,"){",_r,".bindFramebuffer(",Pr,",",Sr,".framebuffer);"),ia&&It(ir,".drawBuffersWEBGL(",rr,"[",Sr,".colorAttachments.length]);"),It("}else{",_r,".bindFramebuffer(",Pr,",null);"),ia&&It(ir,".drawBuffersWEBGL(",zt,");"),It("}",mr,".cur=",Sr,";"),Rr||It("}")}function Ts(wt,It,$t){var Rr=wt.shared,Vr=Rr.gl,_r=wt.current,mr=wt.next,ir=Rr.current,Wt=Rr.next,rr=wt.cond(ir,".dirty");na.forEach(function(zt){var Sr=ja(zt);if(!(Sr in $t.state)){var Yr,va;if(Sr in mr){Yr=mr[Sr],va=_r[Sr];var Rn=m(Ua[Sr].length,function(en){return rr.def(Yr,"[",en,"]")});rr(wt.cond(Rn.map(function(en,Ln){return en+"!=="+va+"["+Ln+"]"}).join("||")).then(Vr,".",tn[Sr],"(",Rn,");",Rn.map(function(en,Ln){return va+"["+Ln+"]="+en}).join(";"),";"))}else{Yr=rr.def(Wt,".",Sr);var an=wt.cond(Yr,"!==",ir,".",Sr);rr(an),Sr in ea?an(wt.cond(Yr).then(Vr,".enable(",ea[Sr],");").else(Vr,".disable(",ea[Sr],");"),ir,".",Sr,"=",Yr,";"):an(Vr,".",tn[Sr],"(",Yr,");",ir,".",Sr,"=",Yr,";")}}}),Object.keys($t.state).length===0&&rr(ir,".dirty=false;"),It(rr)}function si(wt,It,$t,Rr){var Vr=wt.shared,_r=wt.current,mr=Vr.current,ir=Vr.gl,Wt;ba(Object.keys($t)).forEach(function(rr){var zt=$t[rr];if(!(Rr&&!Rr(zt))){var Sr=zt.append(wt,It);if(ea[rr]){var Yr=ea[rr];hn(zt)?(Wt=wt.link(Sr,{stable:!0}),It(wt.cond(Wt).then(ir,".enable(",Yr,");").else(ir,".disable(",Yr,");")),It(mr,".",rr,"=",Wt,";")):(It(wt.cond(Sr).then(ir,".enable(",Yr,");").else(ir,".disable(",Yr,");")),It(mr,".",rr,"=",Sr,";"))}else if(Cr(Sr)){var va=_r[rr];It(ir,".",tn[rr],"(",Sr,");",Sr.map(function(Rn,an){return va+"["+an+"]="+Rn}).join(";"),";")}else hn(zt)?(Wt=wt.link(Sr,{stable:!0}),It(ir,".",tn[rr],"(",Wt,");",mr,".",rr,"=",Wt,";")):It(ir,".",tn[rr],"(",Sr,");",mr,".",rr,"=",Sr,";")}})}function Ps(wt,It){Ea&&(wt.instancing=It.def(wt.shared.extensions,".angle_instanced_arrays"))}function Mo(wt,It,$t,Rr,Vr){var _r=wt.shared,mr=wt.stats,ir=_r.current,Wt=_r.timer,rr=$t.profile;function zt(){return typeof performance>"u"?"Date.now()":"performance.now()"}var Sr,Yr;function va(xn){Sr=It.def(),xn(Sr,"=",zt(),";"),typeof Vr=="string"?xn(mr,".count+=",Vr,";"):xn(mr,".count++;"),Wa&&(Rr?(Yr=It.def(),xn(Yr,"=",Wt,".getNumPendingQueries();")):xn(Wt,".beginQuery(",mr,");"))}function Rn(xn){xn(mr,".cpuTime+=",zt(),"-",Sr,";"),Wa&&(Rr?xn(Wt,".pushScopeStats(",Yr,",",Wt,".getNumPendingQueries(),",mr,");"):xn(Wt,".endQuery();"))}function an(xn){var Qa=It.def(ir,".profile");It(ir,".profile=",xn,";"),It.exit(ir,".profile=",Qa,";")}var en;if(rr){if(hn(rr)){rr.enable?(va(It),Rn(It.exit),an("true")):an("false");return}en=rr.append(wt,It),an(en)}else en=It.def(ir,".profile");var Ln=wt.block();va(Ln),It("if(",en,"){",Ln,"}");var An=wt.block();Rn(An),It.exit("if(",en,"){",An,"}")}function il(wt,It,$t,Rr,Vr){var _r=wt.shared;function mr(Wt){switch(Wt){case ho:case Ms:case ks:return 2;case to:case Ns:case Cl:return 3;case as:case Vs:case mu:return 4;default:return 1}}function ir(Wt,rr,zt){var Sr=_r.gl,Yr=It.def(Wt,".location"),va=It.def(_r.attributes,"[",Yr,"]"),Rn=zt.state,an=zt.buffer,en=[zt.x,zt.y,zt.z,zt.w],Ln=["buffer","normalized","offset","stride"];function An(){It("if(!",va,".buffer){",Sr,".enableVertexAttribArray(",Yr,");}");var Qa=zt.type,pn;if(zt.size?pn=It.def(zt.size,"||",rr):pn=rr,It("if(",va,".type!==",Qa,"||",va,".size!==",pn,"||",Ln.map(function(Xn){return va+"."+Xn+"!=="+zt[Xn]}).join("||"),"){",Sr,".bindBuffer(",pr,",",an,".buffer);",Sr,".vertexAttribPointer(",[Yr,pn,Qa,zt.normalized,zt.stride,zt.offset],");",va,".type=",Qa,";",va,".size=",pn,";",Ln.map(function(Xn){return va+"."+Xn+"="+zt[Xn]+";"}).join(""),"}"),Ea){var gn=zt.divisor;It("if(",va,".divisor!==",gn,"){",wt.instancing,".vertexAttribDivisorANGLE(",[Yr,gn],");",va,".divisor=",gn,";}")}}function xn(){It("if(",va,".buffer){",Sr,".disableVertexAttribArray(",Yr,");",va,".buffer=null;","}if(",ci.map(function(Qa,pn){return va+"."+Qa+"!=="+en[pn]}).join("||"),"){",Sr,".vertexAttrib4f(",Yr,",",en,");",ci.map(function(Qa,pn){return va+"."+Qa+"="+en[pn]+";"}).join(""),"}")}Rn===fi?An():Rn===Ti?xn():(It("if(",Rn,"===",fi,"){"),An(),It("}else{"),xn(),It("}"))}Rr.forEach(function(Wt){var rr=Wt.name,zt=$t.attributes[rr],Sr;if(zt){if(!Vr(zt))return;Sr=zt.append(wt,It)}else{if(!Vr(ni))return;var Yr=wt.scopeAttrib(rr);Sr={},Object.keys(new Hr).forEach(function(va){Sr[va]=It.def(Yr,".",va)})}ir(wt.link(Wt),mr(Wt.info.type),Sr)})}function ol(wt,It,$t,Rr,Vr,_r){for(var mr=wt.shared,ir=mr.gl,Wt,rr=0;rr1){for(var sl=[],ku=[],Tc=0;Tc>1)",an],");")}function gn(){$t(en,".drawArraysInstancedANGLE(",[Yr,va,Rn,an],");")}zt&&zt!=="null"?An?pn():($t("if(",zt,"){"),pn(),$t("}else{"),gn(),$t("}")):gn()}function Qa(){function pn(){$t(_r+".drawElements("+[Yr,Rn,Ln,va+"<<(("+Ln+"-"+pi+")>>1)"]+");")}function gn(){$t(_r+".drawArrays("+[Yr,va,Rn]+");")}zt&&zt!=="null"?An?pn():($t("if(",zt,"){"),pn(),$t("}else{"),gn(),$t("}")):gn()}Ea&&(typeof an!="number"||an>=0)?typeof an=="string"?($t("if(",an,">0){"),xn(),$t("}else if(",an,"<0){"),Qa(),$t("}")):xn():Qa()}function $n(wt,It,$t,Rr,Vr){var _r=ln(),mr=_r.proc("body",Vr);return Ea&&(_r.instancing=mr.def(_r.shared.extensions,".angle_instanced_arrays")),wt(_r,mr,$t,Rr),_r.compile().body}function Fi(wt,It,$t,Rr){Ps(wt,It),$t.useVAO?$t.drawVAO?It(wt.shared.vao,".setVAO(",$t.drawVAO.append(wt,It),");"):It(wt.shared.vao,".setVAO(",wt.shared.vao,".targetVAO);"):(It(wt.shared.vao,".setVAO(null);"),il(wt,It,$t,Rr.attributes,function(){return!0})),ol(wt,It,$t,Rr.uniforms,function(){return!0},!1),wl(wt,It,It,$t)}function Gi(wt,It){var $t=wt.proc("draw",1);Ps(wt,$t),ps(wt,$t,It.context),ms(wt,$t,It.framebuffer),Ts(wt,$t,It),si(wt,$t,It.state),Mo(wt,$t,It,!1,!0);var Rr=It.shader.progVar.append(wt,$t);if($t(wt.shared.gl,".useProgram(",Rr,".program);"),It.shader.program)Fi(wt,$t,It,It.shader.program);else{$t(wt.shared.vao,".setVAO(null);");var Vr=wt.global.def("{}"),_r=$t.def(Rr,".id"),mr=$t.def(Vr,"[",_r,"]");$t(wt.cond(mr).then(mr,".call(this,a0);").else(mr,"=",Vr,"[",_r,"]=",wt.link(function(ir){return $n(Fi,wt,It,ir,1)}),"(",Rr,");",mr,".call(this,a0);"))}Object.keys(It.state).length>0&&$t(wt.shared.current,".dirty=true;"),wt.shared.vao&&$t(wt.shared.vao,".setVAO(null);")}function Ct(wt,It,$t,Rr){wt.batchId="a1",Ps(wt,It);function Vr(){return!0}il(wt,It,$t,Rr.attributes,Vr),ol(wt,It,$t,Rr.uniforms,Vr,!1),wl(wt,It,It,$t)}function Fr(wt,It,$t,Rr){Ps(wt,It);var Vr=$t.contextDep,_r=It.def(),mr="a0",ir="a1",Wt=It.def();wt.shared.props=Wt,wt.batchId=_r;var rr=wt.scope(),zt=wt.scope();It(rr.entry,"for(",_r,"=0;",_r,"<",ir,";++",_r,"){",Wt,"=",mr,"[",_r,"];",zt,"}",rr.exit);function Sr(Ln){return Ln.contextDep&&Vr||Ln.propDep}function Yr(Ln){return!Sr(Ln)}if($t.needsContext&&ps(wt,zt,$t.context),$t.needsFramebuffer&&ms(wt,zt,$t.framebuffer),si(wt,zt,$t.state,Sr),$t.profile&&Sr($t.profile)&&Mo(wt,zt,$t,!1,!0),Rr)$t.useVAO?$t.drawVAO?Sr($t.drawVAO)?zt(wt.shared.vao,".setVAO(",$t.drawVAO.append(wt,zt),");"):rr(wt.shared.vao,".setVAO(",$t.drawVAO.append(wt,rr),");"):rr(wt.shared.vao,".setVAO(",wt.shared.vao,".targetVAO);"):(rr(wt.shared.vao,".setVAO(null);"),il(wt,rr,$t,Rr.attributes,Yr),il(wt,zt,$t,Rr.attributes,Sr)),ol(wt,rr,$t,Rr.uniforms,Yr,!1),ol(wt,zt,$t,Rr.uniforms,Sr,!0),wl(wt,rr,zt,$t);else{var va=wt.global.def("{}"),Rn=$t.shader.progVar.append(wt,zt),an=zt.def(Rn,".id"),en=zt.def(va,"[",an,"]");zt(wt.shared.gl,".useProgram(",Rn,".program);","if(!",en,"){",en,"=",va,"[",an,"]=",wt.link(function(Ln){return $n(Ct,wt,$t,Ln,2)}),"(",Rn,");}",en,".call(this,a0[",_r,"],",_r,");")}}function zr(wt,It){var $t=wt.proc("batch",2);wt.batchId="0",Ps(wt,$t);var Rr=!1,Vr=!0;Object.keys(It.context).forEach(function(va){Rr=Rr||It.context[va].propDep}),Rr||(ps(wt,$t,It.context),Vr=!1);var _r=It.framebuffer,mr=!1;_r?(_r.propDep?Rr=mr=!0:_r.contextDep&&Rr&&(mr=!0),mr||ms(wt,$t,_r)):ms(wt,$t,null),It.state.viewport&&It.state.viewport.propDep&&(Rr=!0);function ir(va){return va.contextDep&&Rr||va.propDep}Ts(wt,$t,It),si(wt,$t,It.state,function(va){return!ir(va)}),(!It.profile||!ir(It.profile))&&Mo(wt,$t,It,!1,"a1"),It.contextDep=Rr,It.needsContext=Vr,It.needsFramebuffer=mr;var Wt=It.shader.progVar;if(Wt.contextDep&&Rr||Wt.propDep)Fr(wt,$t,It,null);else{var rr=Wt.append(wt,$t);if($t(wt.shared.gl,".useProgram(",rr,".program);"),It.shader.program)Fr(wt,$t,It,It.shader.program);else{$t(wt.shared.vao,".setVAO(null);");var zt=wt.global.def("{}"),Sr=$t.def(rr,".id"),Yr=$t.def(zt,"[",Sr,"]");$t(wt.cond(Yr).then(Yr,".call(this,a0,a1);").else(Yr,"=",zt,"[",Sr,"]=",wt.link(function(va){return $n(Fr,wt,It,va,2)}),"(",rr,");",Yr,".call(this,a0,a1);"))}}Object.keys(It.state).length>0&&$t(wt.shared.current,".dirty=true;"),wt.shared.vao&&$t(wt.shared.vao,".setVAO(null);")}function dn(wt,It){var $t=wt.proc("scope",3);wt.batchId="a2";var Rr=wt.shared,Vr=Rr.current;if(ps(wt,$t,It.context),It.framebuffer&&It.framebuffer.append(wt,$t),ba(Object.keys(It.state)).forEach(function(ir){var Wt=It.state[ir],rr=Wt.append(wt,$t);Cr(rr)?rr.forEach(function(zt,Sr){rn(zt)?$t.set(wt.next[ir],"["+Sr+"]",zt):$t.set(wt.next[ir],"["+Sr+"]",wt.link(zt,{stable:!0}))}):hn(Wt)?$t.set(Rr.next,"."+ir,wt.link(rr,{stable:!0})):$t.set(Rr.next,"."+ir,rr)}),Mo(wt,$t,It,!0,!0),[Mt,fr,Ht,wr,Gt].forEach(function(ir){var Wt=It.draw[ir];if(Wt){var rr=Wt.append(wt,$t);rn(rr)?$t.set(Rr.draw,"."+ir,rr):$t.set(Rr.draw,"."+ir,wt.link(rr),{stable:!0})}}),Object.keys(It.uniforms).forEach(function(ir){var Wt=It.uniforms[ir].append(wt,$t);Array.isArray(Wt)&&(Wt="["+Wt.map(function(rr){return rn(rr)?rr:wt.link(rr,{stable:!0})})+"]"),$t.set(Rr.uniforms,"["+wt.link(Lt.id(ir),{stable:!0})+"]",Wt)}),Object.keys(It.attributes).forEach(function(ir){var Wt=It.attributes[ir].append(wt,$t),rr=wt.scopeAttrib(ir);Object.keys(new Hr).forEach(function(zt){$t.set(rr,"."+zt,Wt[zt])})}),It.scopeVAO){var _r=It.scopeVAO.append(wt,$t);rn(_r)?$t.set(Rr.vao,".targetVAO",_r):$t.set(Rr.vao,".targetVAO",wt.link(_r,{stable:!0}))}function mr(ir){var Wt=It.shader[ir];if(Wt){var rr=Wt.append(wt,$t);rn(rr)?$t.set(Rr.shader,"."+ir,rr):$t.set(Rr.shader,"."+ir,wt.link(rr,{stable:!0}))}}mr(rt),mr(vt),Object.keys(It.state).length>0&&($t(Vr,".dirty=true;"),$t.exit(Vr,".dirty=true;")),$t("a1(",wt.shared.context,",a0,",wt.batchId,");")}function Mi(wt){if(!(typeof wt!="object"||Cr(wt))){for(var It=Object.keys(wt),$t=0;$t=0;--$n){var Fi=kn[$n];Fi&&Fi(ta,null,0)}Dt.flush(),Pa&&Pa.update()}function gi(){!Hn&&kn.length>0&&(Hn=p.next(Wn))}function Jo(){Hn&&(p.cancel(Wn),Hn=null)}function As($n){$n.preventDefault(),Nr=!0,Jo(),Vn.forEach(function(Fi){Fi()})}function Ei($n){Dt.getError(),Nr=!1,qr.restore(),Sn.restore(),Ea.restore(),na.restore(),ea.restore(),tn.restore(),Ya.restore(),Pa&&Pa.restore(),ja.procs.refresh(),gi(),Oa.forEach(function(Fi){Fi()})}rn&&(rn.addEventListener(Ao,As,!1),rn.addEventListener(ss,Ei,!1));function bl(){kn.length=0,Jo(),rn&&(rn.removeEventListener(Ao,As),rn.removeEventListener(ss,Ei)),Sn.clear(),tn.clear(),ea.clear(),Ya.clear(),na.clear(),ia.clear(),Ea.clear(),Pa&&Pa.clear(),ln.forEach(function($n){$n()})}function _o($n){function Fi(_r){var mr=u({},_r);delete mr.uniforms,delete mr.attributes,delete mr.context,delete mr.vao,"stencil"in mr&&mr.stencil.op&&(mr.stencil.opBack=mr.stencil.opFront=mr.stencil.op,delete mr.stencil.op);function ir(Wt){if(Wt in mr){var rr=mr[Wt];delete mr[Wt],Object.keys(rr).forEach(function(zt){mr[Wt+"."+zt]=rr[zt]})}}return ir("blend"),ir("depth"),ir("cull"),ir("stencil"),ir("polygonOffset"),ir("scissor"),ir("sample"),"vao"in _r&&(mr.vao=_r.vao),mr}function Gi(_r,mr){var ir={},Wt={};return Object.keys(_r).forEach(function(rr){var zt=_r[rr];if(c.isDynamic(zt)){Wt[rr]=c.unbox(zt,rr);return}else if(mr&&Array.isArray(zt)){for(var Sr=0;Sr0)return wt.call(this,Rr(_r|0),_r|0)}else if(Array.isArray(_r)){if(_r.length)return wt.call(this,_r,_r.length)}else return vn.call(this,_r)}return u(Vr,{stats:Mi,destroy:function(){xo.destroy()}})}var Hs=tn.setFBO=_o({framebuffer:c.define.call(null,Cs,"framebuffer")});function Ls($n,Fi){var Gi=0;ja.procs.poll();var Ct=Fi.color;Ct&&(Dt.clearColor(+Ct[0]||0,+Ct[1]||0,+Ct[2]||0,+Ct[3]||0),Gi|=Ks),"depth"in Fi&&(Dt.clearDepth(+Fi.depth),Gi|=Ss),"stencil"in Fi&&(Dt.clearStencil(Fi.stencil|0),Gi|=ti),Dt.clear(Gi)}function Js($n){if("framebuffer"in $n)if($n.framebuffer&&$n.framebuffer_reglType==="framebufferCube")for(var Fi=0;Fi<6;++Fi)Hs(u({framebuffer:$n.framebuffer.faces[Fi]},$n),Ls);else Hs($n,Ls);else Ls(null,$n)}function ps($n){kn.push($n);function Fi(){var Gi=yu(kn,$n);function Ct(){var Fr=yu(kn,Ct);kn[Fr]=kn[kn.length-1],kn.length-=1,kn.length<=0&&Jo()}kn[Gi]=Ct}return gi(),{cancel:Fi}}function ms(){var $n=Fa.viewport,Fi=Fa.scissor_box;$n[0]=$n[1]=Fi[0]=Fi[1]=0,ta.viewportWidth=ta.framebufferWidth=ta.drawingBufferWidth=$n[2]=Fi[2]=Dt.drawingBufferWidth,ta.viewportHeight=ta.framebufferHeight=ta.drawingBufferHeight=$n[3]=Fi[3]=Dt.drawingBufferHeight}function Ts(){ta.tick+=1,ta.time=Ps(),ms(),ja.procs.poll()}function si(){na.refresh(),ms(),ja.procs.refresh(),Pa&&Pa.update()}function Ps(){return(f()-En)/1e3}si();function Mo($n,Fi){var Gi;switch($n){case"frame":return ps(Fi);case"lost":Gi=Vn;break;case"restore":Gi=Oa;break;case"destroy":Gi=ln;break;default:}return Gi.push(Fi),{cancel:function(){for(var Ct=0;Ct=0},read:Ia,destroy:bl,_gl:Dt,_refresh:si,poll:function(){Ts(),Pa&&Pa.update()},now:Ps,stats:fa,getCachedCode:il,preloadCachedCode:ol});return Lt.onDone(null,wl),wl}return dc})}}),nj=De({"node_modules/gl-util/context.js"(j,N){"use strict";var u=Dd();N.exports=function(a){if(a?typeof a=="string"&&(a={container:a}):a={},w(a)?a={container:a}:S(a)?a={container:a}:l(a)?a={gl:a}:a=u(a,{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),a.pixelRatio||(a.pixelRatio=window.pixelRatio||1),a.gl)return a.gl;if(a.canvas&&(a.container=a.canvas.parentNode),a.container){if(typeof a.container=="string"){var r=document.querySelector(a.container);if(!r)throw Error("Element "+a.container+" is not found");a.container=r}w(a.container)?(a.canvas=a.container,a.container=a.canvas.parentNode):a.canvas||(a.canvas=e(),a.container.appendChild(a.canvas),v(a))}else if(!a.canvas)if(typeof document<"u")a.container=document.body||document.documentElement,a.canvas=e(),a.container.appendChild(a.canvas),v(a);else throw Error("Not DOM environment. Use headless-gl.");return a.gl||["webgl","experimental-webgl","webgl-experimental"].some(function(n){try{a.gl=a.canvas.getContext(n,a.attrs)}catch{}return a.gl}),a.gl};function v(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*window.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*window.innerHeight);else{var a=t.container.getBoundingClientRect();t.canvas.width=t.width||a.right-a.left,t.canvas.height=t.height||a.bottom-a.top}}function w(t){return typeof t.getContext=="function"&&"width"in t&&"height"in t}function S(t){return typeof t.nodeName=="string"&&typeof t.appendChild=="function"&&typeof t.getBoundingClientRect=="function"}function l(t){return typeof t.drawArrays=="function"||typeof t.drawElements=="function"}function e(){var t=document.createElement("canvas");return t.style.position="absolute",t.style.top=0,t.style.left=0,t}}}),ij=De({"node_modules/font-atlas/index.js"(j,N){"use strict";var u=ZT(),v=[32,126];N.exports=w;function w(S){S=S||{};var l=S.shape?S.shape:S.canvas?[S.canvas.width,S.canvas.height]:[512,512],e=S.canvas||document.createElement("canvas"),t=S.font,a=typeof S.step=="number"?[S.step,S.step]:S.step||[32,32],r=S.chars||v;if(t&&typeof t!="string"&&(t=u(t)),!Array.isArray(r))r=String(r).split("");else if(r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"){for(var n=[],i=r[0],s=0;i<=r[1];i++)n[s++]=String.fromCharCode(i);r=n}l=l.slice(),e.width=l[0],e.height=l[1];var c=e.getContext("2d");c.fillStyle="#000",c.fillRect(0,0,e.width,e.height),c.font=t,c.textAlign="center",c.textBaseline="middle",c.fillStyle="#fff";for(var p=a[0]/2,f=a[1]/2,i=0;il[0]-a[0]/2&&(p=a[0]/2,f+=a[1]);return e}}}),$T=De({"node_modules/bit-twiddle/twiddle.js"(j){"use strict";"use restrict";var N=32;j.INT_BITS=N,j.INT_MAX=2147483647,j.INT_MIN=-1<0)-(w<0)},j.abs=function(w){var S=w>>N-1;return(w^S)-S},j.min=function(w,S){return S^(w^S)&-(w65535)<<4,w>>>=S,l=(w>255)<<3,w>>>=l,S|=l,l=(w>15)<<2,w>>>=l,S|=l,l=(w>3)<<1,w>>>=l,S|=l,S|w>>1},j.log10=function(w){return w>=1e9?9:w>=1e8?8:w>=1e7?7:w>=1e6?6:w>=1e5?5:w>=1e4?4:w>=1e3?3:w>=100?2:w>=10?1:0},j.popCount=function(w){return w=w-(w>>>1&1431655765),w=(w&858993459)+(w>>>2&858993459),(w+(w>>>4)&252645135)*16843009>>>24};function u(w){var S=32;return w&=-w,w&&S--,w&65535&&(S-=16),w&16711935&&(S-=8),w&252645135&&(S-=4),w&858993459&&(S-=2),w&1431655765&&(S-=1),S}j.countTrailingZeros=u,j.nextPow2=function(w){return w+=w===0,--w,w|=w>>>1,w|=w>>>2,w|=w>>>4,w|=w>>>8,w|=w>>>16,w+1},j.prevPow2=function(w){return w|=w>>>1,w|=w>>>2,w|=w>>>4,w|=w>>>8,w|=w>>>16,w-(w>>>1)},j.parity=function(w){return w^=w>>>16,w^=w>>>8,w^=w>>>4,w&=15,27030>>>w&1};var v=new Array(256);(function(w){for(var S=0;S<256;++S){var l=S,e=S,t=7;for(l>>>=1;l;l>>>=1)e<<=1,e|=l&1,--t;w[S]=e<>>8&255]<<16|v[w>>>16&255]<<8|v[w>>>24&255]},j.interleave2=function(w,S){return w&=65535,w=(w|w<<8)&16711935,w=(w|w<<4)&252645135,w=(w|w<<2)&858993459,w=(w|w<<1)&1431655765,S&=65535,S=(S|S<<8)&16711935,S=(S|S<<4)&252645135,S=(S|S<<2)&858993459,S=(S|S<<1)&1431655765,w|S<<1},j.deinterleave2=function(w,S){return w=w>>>S&1431655765,w=(w|w>>>1)&858993459,w=(w|w>>>2)&252645135,w=(w|w>>>4)&16711935,w=(w|w>>>16)&65535,w<<16>>16},j.interleave3=function(w,S,l){return w&=1023,w=(w|w<<16)&4278190335,w=(w|w<<8)&251719695,w=(w|w<<4)&3272356035,w=(w|w<<2)&1227133513,S&=1023,S=(S|S<<16)&4278190335,S=(S|S<<8)&251719695,S=(S|S<<4)&3272356035,S=(S|S<<2)&1227133513,w|=S<<1,l&=1023,l=(l|l<<16)&4278190335,l=(l|l<<8)&251719695,l=(l|l<<4)&3272356035,l=(l|l<<2)&1227133513,w|l<<2},j.deinterleave3=function(w,S){return w=w>>>S&1227133513,w=(w|w>>>2)&3272356035,w=(w|w>>>4)&251719695,w=(w|w>>>8)&4278190335,w=(w|w>>>16)&1023,w<<22>>22},j.nextCombination=function(w){var S=w|w-1;return S+1|(~S&-~S)-1>>>u(w)+1}}}),oj=De({"node_modules/dup/dup.js"(j,N){"use strict";function u(S,l,e){var t=S[e]|0;if(t<=0)return[];var a=new Array(t),r;if(e===S.length-1)for(r=0;r"u"&&(l=0),typeof S){case"number":if(S>0)return v(S|0,l);break;case"object":if(typeof S.length=="number")return u(S,l,0);break}return[]}N.exports=w}}),sj=De({"node_modules/typedarray-pool/pool.js"(j){"use strict";var N=$T(),u=oj(),v=Dp().Buffer;window.__TYPEDARRAY_POOL||(window.__TYPEDARRAY_POOL={UINT8:u([32,0]),UINT16:u([32,0]),UINT32:u([32,0]),BIGUINT64:u([32,0]),INT8:u([32,0]),INT16:u([32,0]),INT32:u([32,0]),BIGINT64:u([32,0]),FLOAT:u([32,0]),DOUBLE:u([32,0]),DATA:u([32,0]),UINT8C:u([32,0]),BUFFER:u([32,0])});var w=typeof Uint8ClampedArray<"u",S=typeof BigUint64Array<"u",l=typeof BigInt64Array<"u",e=window.__TYPEDARRAY_POOL;e.UINT8C||(e.UINT8C=u([32,0])),e.BIGUINT64||(e.BIGUINT64=u([32,0])),e.BIGINT64||(e.BIGINT64=u([32,0])),e.BUFFER||(e.BUFFER=u([32,0]));var t=e.DATA,a=e.BUFFER;j.free=function(h){if(v.isBuffer(h))a[N.log2(h.length)].push(h);else{if(Object.prototype.toString.call(h)!=="[object ArrayBuffer]"&&(h=h.buffer),!h)return;var b=h.length||h.byteLength,_=N.log2(b)|0;t[_].push(h)}};function r(m){if(m){var h=m.length||m.byteLength,b=N.log2(h);t[b].push(m)}}function n(m){r(m.buffer)}j.freeUint8=j.freeUint16=j.freeUint32=j.freeBigUint64=j.freeInt8=j.freeInt16=j.freeInt32=j.freeBigInt64=j.freeFloat32=j.freeFloat=j.freeFloat64=j.freeDouble=j.freeUint8Clamped=j.freeDataView=n,j.freeArrayBuffer=r,j.freeBuffer=function(h){a[N.log2(h.length)].push(h)},j.malloc=function(h,b){if(b===void 0||b==="arraybuffer")return i(h);switch(b){case"uint8":return s(h);case"uint16":return c(h);case"uint32":return p(h);case"int8":return f(h);case"int16":return d(h);case"int32":return y(h);case"float":case"float32":return o(h);case"double":case"float64":return x(h);case"uint8_clamped":return M(h);case"bigint64":return E(h);case"biguint64":return T(h);case"buffer":return A(h);case"data":case"dataview":return g(h);default:return null}return null};function i(h){var h=N.nextPow2(h),b=N.log2(h),_=t[b];return _.length>0?_.pop():new ArrayBuffer(h)}j.mallocArrayBuffer=i;function s(m){return new Uint8Array(i(m),0,m)}j.mallocUint8=s;function c(m){return new Uint16Array(i(2*m),0,m)}j.mallocUint16=c;function p(m){return new Uint32Array(i(4*m),0,m)}j.mallocUint32=p;function f(m){return new Int8Array(i(m),0,m)}j.mallocInt8=f;function d(m){return new Int16Array(i(2*m),0,m)}j.mallocInt16=d;function y(m){return new Int32Array(i(4*m),0,m)}j.mallocInt32=y;function o(m){return new Float32Array(i(4*m),0,m)}j.mallocFloat32=j.mallocFloat=o;function x(m){return new Float64Array(i(8*m),0,m)}j.mallocFloat64=j.mallocDouble=x;function M(m){return w?new Uint8ClampedArray(i(m),0,m):s(m)}j.mallocUint8Clamped=M;function T(m){return S?new BigUint64Array(i(8*m),0,m):null}j.mallocBigUint64=T;function E(m){return l?new BigInt64Array(i(8*m),0,m):null}j.mallocBigInt64=E;function g(m){return new DataView(i(m),0,m)}j.mallocDataView=g;function A(m){m=N.nextPow2(m);var h=N.log2(m),b=a[h];return b.length>0?b.pop():new v(m)}j.mallocBuffer=A,j.clearCache=function(){for(var h=0;h<32;++h)e.UINT8[h].length=0,e.UINT16[h].length=0,e.UINT32[h].length=0,e.INT8[h].length=0,e.INT16[h].length=0,e.INT32[h].length=0,e.FLOAT[h].length=0,e.DOUBLE[h].length=0,e.BIGUINT64[h].length=0,e.BIGINT64[h].length=0,e.UINT8C[h].length=0,t[h].length=0,a[h].length=0}}}),lj=De({"node_modules/is-plain-obj/index.js"(j,N){"use strict";var u=Object.prototype.toString;N.exports=function(v){var w;return u.call(v)==="[object Object]"&&(w=Object.getPrototypeOf(v),w===null||w===Object.getPrototypeOf({}))}}}),KT=De({"node_modules/parse-unit/index.js"(j,N){N.exports=function(v,w){w||(w=[0,""]),v=String(v);var S=parseFloat(v,10);return w[0]=S,w[1]=v.match(/[\d.\-\+]*\s*(.*)/)[1]||"",w}}}),uj=De({"node_modules/to-px/topx.js"(j,N){"use strict";var u=KT();N.exports=l;var v=96;function w(e,t){var a=u(getComputedStyle(e).getPropertyValue(t));return a[0]*l(a[1],e)}function S(e,t){var a=document.createElement("div");a.style["font-size"]="128"+e,t.appendChild(a);var r=w(a,"font-size")/128;return t.removeChild(a),r}function l(e,t){switch(t=t||document.body,e=(e||"px").trim().toLowerCase(),(t===window||t===document)&&(t=document.body),e){case"%":return t.clientHeight/100;case"ch":case"ex":return S(e,t);case"em":return w(t,"font-size");case"rem":return w(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 v;case"cm":return v/2.54;case"mm":return v/25.4;case"pt":return v/72;case"pc":return v/6}return 1}}}),cj=De({"node_modules/detect-kerning/index.js"(j,N){"use strict";N.exports=S;var u=S.canvas=document.createElement("canvas"),v=u.getContext("2d"),w=l([32,126]);S.createPairs=l,S.ascii=w;function S(e,t){Array.isArray(e)&&(e=e.join(", "));var a={},r,n=16,i=.05;t&&(t.length===2&&typeof t[0]=="number"?r=l(t):Array.isArray(t)?r=t:(t.o?r=l(t.o):t.pairs&&(r=t.pairs),t.fontSize&&(n=t.fontSize),t.threshold!=null&&(i=t.threshold))),r||(r=w),v.font=n+"px "+e;for(var s=0;sn*i){var d=(f-p)/n;a[c]=d*1e3}}return a}function l(e){for(var t=[],a=e[0];a<=e[1];a++)for(var r=String.fromCharCode(a),n=e[0];n0;a-=4)if(t[a]!==0)return Math.floor((a-3)*.25/e)}}}),hj=De({"node_modules/gl-text/dist.js"(j,N){"use strict";var u=rj(),v=Dd(),w=aj(),S=nj(),l=UT(),e=ap(),t=ij(),a=sj(),r=Om(),n=lj(),i=KT(),s=uj(),c=cj(),p=_c(),f=fj(),d=Xp(),y=$T(),o=y.nextPow2,x=new l,M=!1;document.body&&(T=document.body.appendChild(document.createElement("div")),T.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(T).fontStretch&&(M=!0),document.body.removeChild(T));var T,E=function(m){g(m)?(m={regl:m},this.gl=m.regl._gl):this.gl=S(m),this.shader=x.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=m.regl||w({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(m)?m:{})};E.prototype.createShader=function(){var m=this.regl,h=m({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:m.prop("count"),offset:m.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:m.this("sizeBuffer")},width:{offset:0,stride:8,buffer:m.this("sizeBuffer")},char:m.this("charBuffer"),position:m.this("position")},uniforms:{atlasSize:function(_,I){return[I.atlas.width,I.atlas.height]},atlasDim:function(_,I){return[I.atlas.cols,I.atlas.rows]},atlas:function(_,I){return I.atlas.texture},charStep:function(_,I){return I.atlas.step},em:function(_,I){return I.atlas.em},color:m.prop("color"),opacity:m.prop("opacity"),viewport:m.this("viewportArray"),scale:m.this("scale"),align:m.prop("align"),baseline:m.prop("baseline"),translate:m.this("translate"),positionOffset:m.prop("positionOffset")},primitive:"points",viewport:m.this("viewport"),vert:` + precision highp float; + attribute float width, charOffset, char; + attribute vec2 position; + uniform float fontSize, charStep, em, align, baseline; + uniform vec4 viewport; + uniform vec4 color; + uniform vec2 atlasSize, atlasDim, scale, translate, positionOffset; + varying vec2 charCoord, charId; + varying float charWidth; + varying vec4 fontColor; + void main () { + vec2 offset = floor(em * (vec2(align + charOffset, baseline) + + vec2(positionOffset.x, -positionOffset.y))) + / (viewport.zw * scale.xy); + + vec2 position = (position + translate) * scale; + position += offset * scale; + + charCoord = position * viewport.zw + viewport.xy; + + gl_Position = vec4(position * 2. - 1., 0, 1); + + gl_PointSize = charStep; + + charId.x = mod(char, atlasDim.x); + charId.y = floor(char / atlasDim.x); + + charWidth = width * em; + + fontColor = color / 255.; + }`,frag:` + precision highp float; + uniform float fontSize, charStep, opacity; + uniform vec2 atlasSize; + uniform vec4 viewport; + uniform sampler2D atlas; + varying vec4 fontColor; + varying vec2 charCoord, charId; + varying float charWidth; + + float lightness(vec4 color) { + return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; + } + + void main () { + vec2 uv = gl_FragCoord.xy - charCoord + charStep * .5; + float halfCharStep = floor(charStep * .5 + .5); + + // invert y and shift by 1px (FF expecially needs that) + uv.y = charStep - uv.y; + + // ignore points outside of character bounding box + float halfCharWidth = ceil(charWidth * .5); + if (floor(uv.x) > halfCharStep + halfCharWidth || + floor(uv.x) < halfCharStep - halfCharWidth) return; + + uv += charId * charStep; + uv = uv / atlasSize; + + vec4 color = fontColor; + vec4 mask = texture2D(atlas, uv); + + float maskY = lightness(mask); + // float colorY = lightness(color); + color.a *= maskY; + color.a *= opacity; + + // color.a += .1; + + // antialiasing, see yiq color space y-channel formula + // color.rgb += (1. - color.rgb) * (1. - mask.rgb); + + gl_FragColor = color; + }`}),b={};return{regl:m,draw:h,atlas:b}},E.prototype.update=function(m){var h=this;if(typeof m=="string")m={text:m};else if(!m)return;m=v(m,{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),m.opacity!=null&&(Array.isArray(m.opacity)?this.opacity=m.opacity.map(function(ne){return parseFloat(ne)}):this.opacity=parseFloat(m.opacity)),m.viewport!=null&&(this.viewport=r(m.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]),m.kerning!=null&&(this.kerning=m.kerning),m.offset!=null&&(typeof m.offset=="number"&&(m.offset=[m.offset,0]),this.positionOffset=d(m.offset)),m.direction&&(this.direction=m.direction),m.range&&(this.range=m.range,this.scale=[1/(m.range[2]-m.range[0]),1/(m.range[3]-m.range[1])],this.translate=[-m.range[0],-m.range[1]]),m.scale&&(this.scale=m.scale),m.translate&&(this.translate=m.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),!this.font.length&&!m.font&&(m.font=E.baseFontSize+"px sans-serif");var b=!1,_=!1;if(m.font&&(Array.isArray(m.font)?m.font:[m.font]).forEach(function(ne,be){if(typeof ne=="string")try{ne=u.parse(ne)}catch{ne=u.parse(E.baseFontSize+"px "+ne)}else{var Fe=ne.style,Ve=ne.weight,je=ne.stretch,ut=ne.variant;ne=u.parse(u.stringify(ne)),Fe&&(ne.style=Fe),Ve&&(ne.weight=Ve),je&&(ne.stretch=je),ut&&(ne.variant=ut)}var st=u.stringify({size:E.baseFontSize,family:ne.family,stretch:M?ne.stretch:void 0,variant:ne.variant,weight:ne.weight,style:ne.style}),yt=i(ne.size),At=Math.round(yt[0]*s(yt[1]));if(At!==h.fontSize[be]&&(_=!0,h.fontSize[be]=At),(!h.font[be]||st!=h.font[be].baseString)&&(b=!0,h.font[be]=E.fonts[st],!h.font[be])){var Pt=ne.family.join(", "),Zt=[ne.style];ne.style!=ne.variant&&Zt.push(ne.variant),ne.variant!=ne.weight&&Zt.push(ne.weight),M&&ne.weight!=ne.stretch&&Zt.push(ne.stretch),h.font[be]={baseString:st,family:Pt,weight:ne.weight,stretch:ne.stretch,style:ne.style,variant:ne.variant,width:{},kerning:{},metrics:f(Pt,{origin:"top",fontSize:E.baseFontSize,fontStyle:Zt.join(" ")})},E.fonts[st]=h.font[be]}}),(b||_)&&this.font.forEach(function(ne,be){var Fe=u.stringify({size:h.fontSize[be],family:ne.family,stretch:M?ne.stretch:void 0,variant:ne.variant,weight:ne.weight,style:ne.style});if(h.fontAtlas[be]=h.shader.atlas[Fe],!h.fontAtlas[be]){var Ve=ne.metrics;h.shader.atlas[Fe]=h.fontAtlas[be]={fontString:Fe,step:Math.ceil(h.fontSize[be]*Ve.bottom*.5)*2,em:h.fontSize[be],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:h.regl.texture()}}m.text==null&&(m.text=h.text)}),typeof m.text=="string"&&m.position&&m.position.length>2){for(var I=Array(m.position.length*.5),C=0;C2){for(var z=!m.position[0].length,D=a.mallocFloat(this.count*2),k=0,B=0;k1?h.align[be]:h.align[0]:h.align;if(typeof Fe=="number")return Fe;switch(Fe){case"right":case"end":return-ne;case"center":case"centre":case"middle":return-ne*.5}return 0})),this.baseline==null&&m.baseline==null&&(m.baseline=0),m.baseline!=null&&(this.baseline=m.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map(function(ne,be){var Fe=(h.font[be]||h.font[0]).metrics,Ve=0;return Ve+=Fe.bottom*.5,typeof ne=="number"?Ve+=ne-Fe.baseline:Ve+=-Fe[ne],Ve*=-1,Ve})),m.color!=null)if(m.color||(m.color="transparent"),typeof m.color=="string"||!isNaN(m.color))this.color=e(m.color,"uint8");else{var Ae;if(typeof m.color[0]=="number"&&m.color.length>this.counts.length){var Se=m.color.length;Ae=a.mallocUint8(Se);for(var Ce=(m.color.subarray||m.color.slice).bind(m.color),qe=0;qe4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2;if(he){var oe=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(oe);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=[]}},E.prototype.destroy=function(){},E.prototype.kerning=!0,E.prototype.position={constant:new Float32Array(2)},E.prototype.translate=null,E.prototype.scale=null,E.prototype.font=null,E.prototype.text="",E.prototype.positionOffset=[0,0],E.prototype.opacity=1,E.prototype.color=new Uint8Array([0,0,0,255]),E.prototype.alignOffset=[0,0],E.maxAtlasSize=1024,E.atlasCanvas=document.createElement("canvas"),E.atlasContext=E.atlasCanvas.getContext("2d",{alpha:!1}),E.baseFontSize=64,E.fonts={};function g(A){return typeof A=="function"&&A._gl&&A.prop&&A.texture&&A.buffer}N.exports=E}}),dj=De({"node_modules/@plotly/regl/dist/regl.unchecked.js"(j,N){(function(u,v){typeof j=="object"&&typeof N<"u"?N.exports=v():u.createREGL=v()})(j,function(){"use strict";var u=function(He,Lt){for(var Dt=Object.keys(Lt),Tr=0;Tr1&&Lt===Dt&&(Lt==='"'||Lt==="'"))return['"'+t(He.substr(1,He.length-2))+'"'];var Tr=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(He);if(Tr)return a(He.substr(0,Tr.index)).concat(a(Tr[1])).concat(a(He.substr(Tr.index+Tr[0].length)));var Nr=He.split(".");if(Nr.length===1)return['"'+t(He)+'"'];for(var qr=[],Or=0;Or"u"?1:window.devicePixelRatio,Pa=!1,En={},cn=function(gr){},Wa=function(){};if(typeof Lt=="string"?Dt=document.querySelector(Lt):typeof Lt=="object"&&(x(Lt)?Dt=Lt:M(Lt)?(qr=Lt,Nr=qr.canvas):("gl"in Lt?qr=Lt.gl:"canvas"in Lt?Nr=E(Lt.canvas):"container"in Lt&&(Tr=E(Lt.container)),"attributes"in Lt&&(Or=Lt.attributes),"extensions"in Lt&&(fa=T(Lt.extensions)),"optionalExtensions"in Lt&&(Sa=T(Lt.optionalExtensions)),"onDone"in Lt&&(cn=Lt.onDone),"profile"in Lt&&(Pa=!!Lt.profile),"pixelRatio"in Lt&&(Ca=+Lt.pixelRatio),"cachedCode"in Lt&&(En=Lt.cachedCode))),Dt&&(Dt.nodeName.toLowerCase()==="canvas"?Nr=Dt:Tr=Dt),!qr){if(!Nr){var ta=y(Tr||document.body,cn,Ca);if(!ta)return null;Nr=ta.canvas,Wa=ta.onDestroy}Or.premultipliedAlpha===void 0&&(Or.premultipliedAlpha=!0),qr=o(Nr,Or)}return qr?{gl:qr,canvas:Nr,container:Tr,extensions:fa,optionalExtensions:Sa,pixelRatio:Ca,profile:Pa,cachedCode:En,onDone:cn,onDestroy:Wa}:(Wa(),cn("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}function A(He,Lt){var Dt={};function Tr(Or){var fa=Or.toLowerCase(),Sa;try{Sa=Dt[fa]=He.getExtension(fa)}catch{}return!!Sa}for(var Nr=0;Nr65535)<<4,He>>>=Lt,Dt=(He>255)<<3,He>>>=Dt,Lt|=Dt,Dt=(He>15)<<2,He>>>=Dt,Lt|=Dt,Dt=(He>3)<<1,He>>>=Dt,Lt|=Dt,Lt|He>>1}function k(){var He=m(8,function(){return[]});function Lt(qr){var Or=z(qr),fa=He[D(Or)>>2];return fa.length>0?fa.pop():new ArrayBuffer(Or)}function Dt(qr){He[D(qr.byteLength)>>2].push(qr)}function Tr(qr,Or){var fa=null;switch(qr){case h:fa=new Int8Array(Lt(Or),0,Or);break;case b:fa=new Uint8Array(Lt(Or),0,Or);break;case _:fa=new Int16Array(Lt(2*Or),0,Or);break;case I:fa=new Uint16Array(Lt(2*Or),0,Or);break;case C:fa=new Int32Array(Lt(4*Or),0,Or);break;case F:fa=new Uint32Array(Lt(4*Or),0,Or);break;case R:fa=new Float32Array(Lt(4*Or),0,Or);break;default:return null}return fa.length!==Or?fa.subarray(0,Or):fa}function Nr(qr){Dt(qr.buffer)}return{alloc:Lt,free:Dt,allocType:Tr,freeType:Nr}}var B=k();B.zero=k();var O=3408,q=3410,Y=3411,ee=3412,te=3413,ae=3414,U=3415,H=33901,K=33902,V=3379,$=3386,X=34921,Z=36347,Q=36348,re=35661,ce=35660,me=34930,ye=36349,Ae=34076,Se=34024,Ce=7936,qe=7937,Ue=7938,xe=35724,he=34047,oe=36063,le=34852,ne=3553,be=34067,Fe=34069,Ve=33984,je=6408,ut=5126,st=5121,yt=36160,At=36053,Pt=36064,Zt=16384,vr=function(He,Lt){var Dt=1;Lt.ext_texture_filter_anisotropic&&(Dt=He.getParameter(he));var Tr=1,Nr=1;Lt.webgl_draw_buffers&&(Tr=He.getParameter(le),Nr=He.getParameter(oe));var qr=!!Lt.oes_texture_float;if(qr){var Or=He.createTexture();He.bindTexture(ne,Or),He.texImage2D(ne,0,je,1,1,0,je,ut,null);var fa=He.createFramebuffer();if(He.bindFramebuffer(yt,fa),He.framebufferTexture2D(yt,Pt,ne,Or,0),He.bindTexture(ne,null),He.checkFramebufferStatus(yt)!==At)qr=!1;else{He.viewport(0,0,1,1),He.clearColor(1,0,0,1),He.clear(Zt);var Sa=B.allocType(ut,4);He.readPixels(0,0,1,1,je,ut,Sa),He.getError()?qr=!1:(He.deleteFramebuffer(fa),He.deleteTexture(Or),qr=Sa[0]===1),B.freeType(Sa)}}var Ca=typeof navigator<"u"&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),Pa=!0;if(!Ca){var En=He.createTexture(),cn=B.allocType(st,36);He.activeTexture(Ve),He.bindTexture(be,En),He.texImage2D(Fe,0,je,3,3,0,je,st,cn),B.freeType(cn),He.bindTexture(be,null),He.deleteTexture(En),Pa=!He.getError()}return{colorBits:[He.getParameter(q),He.getParameter(Y),He.getParameter(ee),He.getParameter(te)],depthBits:He.getParameter(ae),stencilBits:He.getParameter(U),subpixelBits:He.getParameter(O),extensions:Object.keys(Lt).filter(function(Wa){return!!Lt[Wa]}),maxAnisotropic:Dt,maxDrawbuffers:Tr,maxColorAttachments:Nr,pointSizeDims:He.getParameter(H),lineWidthDims:He.getParameter(K),maxViewportDims:He.getParameter($),maxCombinedTextureUnits:He.getParameter(re),maxCubeMapSize:He.getParameter(Ae),maxRenderbufferSize:He.getParameter(Se),maxTextureUnits:He.getParameter(me),maxTextureSize:He.getParameter(V),maxAttributes:He.getParameter(X),maxVertexUniforms:He.getParameter(Z),maxVertexTextureUnits:He.getParameter(ce),maxVaryingVectors:He.getParameter(Q),maxFragmentUniforms:He.getParameter(ye),glsl:He.getParameter(xe),renderer:He.getParameter(qe),vendor:He.getParameter(Ce),version:He.getParameter(Ue),readFloat:qr,npotTextureCube:Pa}},Nt=function(He){return He instanceof Uint8Array||He instanceof Uint16Array||He instanceof Uint32Array||He instanceof Int8Array||He instanceof Int16Array||He instanceof Int32Array||He instanceof Float32Array||He instanceof Float64Array||He instanceof Uint8ClampedArray};function Kt(He){return!!He&&typeof He=="object"&&Array.isArray(He.shape)&&Array.isArray(He.stride)&&typeof He.offset=="number"&&He.shape.length===He.stride.length&&(Array.isArray(He.data)||Nt(He.data))}var nt=function(He){return Object.keys(He).map(function(Lt){return He[Lt]})},Ee={shape:We,flatten:Be};function ze(He,Lt,Dt){for(var Tr=0;Tr0){var Sn;if(Array.isArray(Hr[0])){Ua=aa(Hr);for(var na=1,ea=1;ea0){if(typeof na[0]=="number"){var Ia=B.allocType(ia.dtype,na.length);Gn(Ia,na),Ua(Ia,tn),B.freeType(Ia)}else if(Array.isArray(na[0])||Nt(na[0])){ja=aa(na);var Fa=oa(na,ja,ia.dtype);Ua(Fa,tn),B.freeType(Fa)}}}else if(Kt(na)){ja=na.shape;var rn=na.stride,kn=0,Vn=0,Oa=0,ln=0;ja.length===1?(kn=ja[0],Vn=1,Oa=rn[0],ln=0):ja.length===2&&(kn=ja[0],Vn=ja[1],Oa=rn[0],ln=rn[1]);var Hn=Array.isArray(na.data)?ia.dtype:xa(na.data),Wn=B.allocType(Hn,kn*Vn);Pn(Wn,na.data,kn,Vn,Oa,ln,na.offset),Ua(Wn,tn),B.freeType(Wn)}return Ya}return ha||Ya(gr),Ya._reglType="buffer",Ya._buffer=ia,Ya.subdata=Sn,Dt.profile&&(Ya.stats=ia.stats),Ya.destroy=function(){cn(ia)},Ya}function ta(){nt(qr).forEach(function(gr){gr.buffer=He.createBuffer(),He.bindBuffer(gr.type,gr.buffer),He.bufferData(gr.type,gr.persistentData||gr.byteLength,gr.usage)})}return Dt.profile&&(Lt.getTotalBufferSize=function(){var gr=0;return Object.keys(qr).forEach(function(Hr){gr+=qr[Hr].stats.size}),gr}),{create:Wa,createStream:Sa,destroyStream:Ca,clear:function(){nt(qr).forEach(cn),fa.forEach(cn)},getBuffer:function(gr){return gr&&gr._buffer instanceof Or?gr._buffer:null},restore:ta,_initBuffer:En}}var Yn=0,Zn=0,vi=1,Dn=1,oi=4,on=4,mn={points:Yn,point:Zn,lines:vi,line:Dn,triangles:oi,triangle:on,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},bi=0,Li=1,$a=4,Va=5120,it=5121,Qe=5122,Jt=5123,Yt=5124,ar=5125,cr=34963,tr=35040,Je=35044;function bt(He,Lt,Dt,Tr){var Nr={},qr=0,Or={uint8:it,uint16:Jt};Lt.oes_element_index_uint&&(Or.uint32=ar);function fa(ta){this.id=qr++,Nr[this.id]=this,this.buffer=ta,this.primType=$a,this.vertCount=0,this.type=0}fa.prototype.bind=function(){this.buffer.bind()};var Sa=[];function Ca(ta){var gr=Sa.pop();return gr||(gr=new fa(Dt.create(null,cr,!0,!1)._buffer)),En(gr,ta,tr,-1,-1,0,0),gr}function Pa(ta){Sa.push(ta)}function En(ta,gr,Hr,ha,Ea,ia,Ya){ta.buffer.bind();var Ua;if(gr){var Sn=Ya;!Ya&&(!Nt(gr)||Kt(gr)&&!Nt(gr.data))&&(Sn=Lt.oes_element_index_uint?ar:Jt),Dt._initBuffer(ta.buffer,gr,Hr,Sn,3)}else He.bufferData(cr,ia,Hr),ta.buffer.dtype=Ua||it,ta.buffer.usage=Hr,ta.buffer.dimension=3,ta.buffer.byteLength=ia;if(Ua=Ya,!Ya){switch(ta.buffer.dtype){case it:case Va:Ua=it;break;case Jt:case Qe:Ua=Jt;break;case ar:case Yt:Ua=ar;break;default:}ta.buffer.dtype=Ua}ta.type=Ua;var na=Ea;na<0&&(na=ta.buffer.byteLength,Ua===Jt?na>>=1:Ua===ar&&(na>>=2)),ta.vertCount=na;var ea=ha;if(ha<0){ea=$a;var tn=ta.buffer.dimension;tn===1&&(ea=bi),tn===2&&(ea=Li),tn===3&&(ea=$a)}ta.primType=ea}function cn(ta){Tr.elementsCount--,delete Nr[ta.id],ta.buffer.destroy(),ta.buffer=null}function Wa(ta,gr){var Hr=Dt.create(null,cr,!0),ha=new fa(Hr._buffer);Tr.elementsCount++;function Ea(ia){if(!ia)Hr(),ha.primType=$a,ha.vertCount=0,ha.type=it;else if(typeof ia=="number")Hr(ia),ha.primType=$a,ha.vertCount=ia|0,ha.type=it;else{var Ya=null,Ua=Je,Sn=-1,na=-1,ea=0,tn=0;Array.isArray(ia)||Nt(ia)||Kt(ia)?Ya=ia:("data"in ia&&(Ya=ia.data),"usage"in ia&&(Ua=pa[ia.usage]),"primitive"in ia&&(Sn=mn[ia.primitive]),"count"in ia&&(na=ia.count|0),"type"in ia&&(tn=Or[ia.type]),"length"in ia?ea=ia.length|0:(ea=na,tn===Jt||tn===Qe?ea*=2:(tn===ar||tn===Yt)&&(ea*=4))),En(ha,Ya,Ua,Sn,na,ea,tn)}return Ea}return Ea(ta),Ea._reglType="elements",Ea._elements=ha,Ea.subdata=function(ia,Ya){return Hr.subdata(ia,Ya),Ea},Ea.destroy=function(){cn(ha)},Ea}return{create:Wa,createStream:Ca,destroyStream:Pa,getElements:function(ta){return typeof ta=="function"&&ta._elements instanceof fa?ta._elements:null},clear:function(){nt(Nr).forEach(cn)}}}var qt=new Float32Array(1),Qt=new Uint32Array(qt.buffer),br=5123;function Ir(He){for(var Lt=B.allocType(br,He.length),Dt=0;Dt>>31<<15,qr=(Tr<<1>>>24)-127,Or=Tr>>13&1023;if(qr<-24)Lt[Dt]=Nr;else if(qr<-14){var fa=-14-qr;Lt[Dt]=Nr+(Or+1024>>fa)}else qr>15?Lt[Dt]=Nr+31744:Lt[Dt]=Nr+(qr+15<<10)+Or}return Lt}function Cr(He){return Array.isArray(He)||Nt(He)}var Mr=34467,Xr=3553,Ra=34067,wa=34069,yn=6408,fn=6406,ri=6407,On=6409,ui=6410,jn=32854,oo=32855,Qi=36194,Mn=32819,bo=32820,so=33635,Hi=34042,yo=6402,Bi=34041,fo=35904,Po=35906,po=36193,Kn=33776,yi=33777,Yi=33778,zi=33779,Uo=35986,Co=35987,Wo=34798,Go=35840,ns=35841,Ro=35842,Zi=35843,ls=36196,Eo=5121,mo=5123,Zs=5125,qo=5126,Ds=10242,Us=10243,is=10497,cl=33071,ml=33648,Qo=10240,Gl=10241,ys=9728,$o=9729,wo=9984,go=9985,rs=9986,$l=9987,cu=33170,Kl=4352,Wu=4353,Yu=4354,rc=34046,ac=3317,xc=37440,Ec=37441,fu=37443,hu=37444,du=33984,Jl=[wo,rs,go,$l],Fs=[0,On,ui,ri,yn],Yo={};Yo[On]=Yo[fn]=Yo[yo]=1,Yo[Bi]=Yo[ui]=2,Yo[ri]=Yo[fo]=3,Yo[yn]=Yo[Po]=4;function tl(He){return"[object "+He+"]"}var wu=tl("HTMLCanvasElement"),Xu=tl("OffscreenCanvas"),kc=tl("CanvasRenderingContext2D"),zs=tl("ImageBitmap"),Zf=tl("HTMLImageElement"),Io=tl("HTMLVideoElement"),$f=Object.keys(Xe).concat([wu,Xu,kc,zs,Zf,Io]),Vo=[];Vo[Eo]=1,Vo[qo]=4,Vo[po]=2,Vo[mo]=2,Vo[Zs]=4;var qi=[];qi[jn]=2,qi[oo]=2,qi[Qi]=2,qi[Bi]=4,qi[Kn]=.5,qi[yi]=.5,qi[Yi]=1,qi[zi]=1,qi[Uo]=.5,qi[Co]=1,qi[Wo]=1,qi[Go]=.5,qi[ns]=.25,qi[Ro]=.5,qi[Zi]=.25,qi[ls]=.5;function Zu(He){return Array.isArray(He)&&(He.length===0||typeof He[0]=="number")}function bc(He){if(!Array.isArray(He))return!1;var Lt=He.length;return!(Lt===0||!Cr(He[0]))}function El(He){return Object.prototype.toString.call(He)}function mf(He){return El(He)===wu}function Au(He){return El(He)===Xu}function nc(He){return El(He)===kc}function rl(He){return El(He)===zs}function gf(He){return El(He)===Zf}function Yc(He){return El(He)===Io}function ic(He){if(!He)return!1;var Lt=El(He);return $f.indexOf(Lt)>=0?!0:Zu(He)||bc(He)||Kt(He)}function oc(He){return Xe[Object.prototype.toString.call(He)]|0}function Xc(He,Lt){var Dt=Lt.length;switch(He.type){case Eo:case mo:case Zs:case qo:var Tr=B.allocType(He.type,Dt);Tr.set(Lt),He.data=Tr;break;case po:He.data=Ir(Lt);break;default:}}function Zc(He,Lt){return B.allocType(He.type===po?qo:He.type,Lt)}function Ql(He,Lt){He.type===po?(He.data=Ir(Lt),B.freeType(Lt)):He.data=Lt}function Cc(He,Lt,Dt,Tr,Nr,qr){for(var Or=He.width,fa=He.height,Sa=He.channels,Ca=Or*fa*Sa,Pa=Zc(He,Ca),En=0,cn=0;cn=1;)fa+=Or*Sa*Sa,Sa/=2;return fa}else return Or*Dt*Tr}function sc(He,Lt,Dt,Tr,Nr,qr,Or){var fa={"don't care":Kl,"dont care":Kl,nice:Yu,fast:Wu},Sa={repeat:is,clamp:cl,mirror:ml},Ca={nearest:ys,linear:$o},Pa=u({mipmap:$l,"nearest mipmap nearest":wo,"linear mipmap nearest":go,"nearest mipmap linear":rs,"linear mipmap linear":$l},Ca),En={none:0,browser:hu},cn={uint8:Eo,rgba4:Mn,rgb565:so,"rgb5 a1":bo},Wa={alpha:fn,luminance:On,"luminance alpha":ui,rgb:ri,rgba:yn,rgba4:jn,"rgb5 a1":oo,rgb565:Qi},ta={};Lt.ext_srgb&&(Wa.srgb=fo,Wa.srgba=Po),Lt.oes_texture_float&&(cn.float32=cn.float=qo),Lt.oes_texture_half_float&&(cn.float16=cn["half float"]=po),Lt.webgl_depth_texture&&(u(Wa,{depth:yo,"depth stencil":Bi}),u(cn,{uint16:mo,uint32:Zs,"depth stencil":Hi})),Lt.webgl_compressed_texture_s3tc&&u(ta,{"rgb s3tc dxt1":Kn,"rgba s3tc dxt1":yi,"rgba s3tc dxt3":Yi,"rgba s3tc dxt5":zi}),Lt.webgl_compressed_texture_atc&&u(ta,{"rgb atc":Uo,"rgba atc explicit alpha":Co,"rgba atc interpolated alpha":Wo}),Lt.webgl_compressed_texture_pvrtc&&u(ta,{"rgb pvrtc 4bppv1":Go,"rgb pvrtc 2bppv1":ns,"rgba pvrtc 4bppv1":Ro,"rgba pvrtc 2bppv1":Zi}),Lt.webgl_compressed_texture_etc1&&(ta["rgb etc1"]=ls);var gr=Array.prototype.slice.call(He.getParameter(Mr));Object.keys(ta).forEach(function(Ct){var Fr=ta[Ct];gr.indexOf(Fr)>=0&&(Wa[Ct]=Fr)});var Hr=Object.keys(Wa);Dt.textureFormats=Hr;var ha=[];Object.keys(Wa).forEach(function(Ct){var Fr=Wa[Ct];ha[Fr]=Ct});var Ea=[];Object.keys(cn).forEach(function(Ct){var Fr=cn[Ct];Ea[Fr]=Ct});var ia=[];Object.keys(Ca).forEach(function(Ct){var Fr=Ca[Ct];ia[Fr]=Ct});var Ya=[];Object.keys(Pa).forEach(function(Ct){var Fr=Pa[Ct];Ya[Fr]=Ct});var Ua=[];Object.keys(Sa).forEach(function(Ct){var Fr=Sa[Ct];Ua[Fr]=Ct});var Sn=Hr.reduce(function(Ct,Fr){var zr=Wa[Fr];return zr===On||zr===fn||zr===On||zr===ui||zr===yo||zr===Bi||Lt.ext_srgb&&(zr===fo||zr===Po)?Ct[zr]=zr:zr===oo||Fr.indexOf("rgba")>=0?Ct[zr]=yn:Ct[zr]=ri,Ct},{});function na(){this.internalformat=yn,this.format=yn,this.type=Eo,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=hu,this.width=0,this.height=0,this.channels=0}function ea(Ct,Fr){Ct.internalformat=Fr.internalformat,Ct.format=Fr.format,Ct.type=Fr.type,Ct.compressed=Fr.compressed,Ct.premultiplyAlpha=Fr.premultiplyAlpha,Ct.flipY=Fr.flipY,Ct.unpackAlignment=Fr.unpackAlignment,Ct.colorSpace=Fr.colorSpace,Ct.width=Fr.width,Ct.height=Fr.height,Ct.channels=Fr.channels}function tn(Ct,Fr){if(!(typeof Fr!="object"||!Fr)){if("premultiplyAlpha"in Fr&&(Ct.premultiplyAlpha=Fr.premultiplyAlpha),"flipY"in Fr&&(Ct.flipY=Fr.flipY),"alignment"in Fr&&(Ct.unpackAlignment=Fr.alignment),"colorSpace"in Fr&&(Ct.colorSpace=En[Fr.colorSpace]),"type"in Fr){var zr=Fr.type;Ct.type=cn[zr]}var dn=Ct.width,Mi=Ct.height,xo=Ct.channels,vn=!1;"shape"in Fr?(dn=Fr.shape[0],Mi=Fr.shape[1],Fr.shape.length===3&&(xo=Fr.shape[2],vn=!0)):("radius"in Fr&&(dn=Mi=Fr.radius),"width"in Fr&&(dn=Fr.width),"height"in Fr&&(Mi=Fr.height),"channels"in Fr&&(xo=Fr.channels,vn=!0)),Ct.width=dn|0,Ct.height=Mi|0,Ct.channels=xo|0;var wt=!1;if("format"in Fr){var It=Fr.format,$t=Ct.internalformat=Wa[It];Ct.format=Sn[$t],It in cn&&("type"in Fr||(Ct.type=cn[It])),It in ta&&(Ct.compressed=!0),wt=!0}!vn&&wt?Ct.channels=Yo[Ct.format]:vn&&!wt&&Ct.channels!==Fs[Ct.format]&&(Ct.format=Ct.internalformat=Fs[Ct.channels])}}function ja(Ct){He.pixelStorei(xc,Ct.flipY),He.pixelStorei(Ec,Ct.premultiplyAlpha),He.pixelStorei(fu,Ct.colorSpace),He.pixelStorei(ac,Ct.unpackAlignment)}function Ia(){na.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function Fa(Ct,Fr){var zr=null;if(ic(Fr)?zr=Fr:Fr&&(tn(Ct,Fr),"x"in Fr&&(Ct.xOffset=Fr.x|0),"y"in Fr&&(Ct.yOffset=Fr.y|0),ic(Fr.data)&&(zr=Fr.data)),Fr.copy){var dn=Nr.viewportWidth,Mi=Nr.viewportHeight;Ct.width=Ct.width||dn-Ct.xOffset,Ct.height=Ct.height||Mi-Ct.yOffset,Ct.needsCopy=!0}else if(!zr)Ct.width=Ct.width||1,Ct.height=Ct.height||1,Ct.channels=Ct.channels||4;else if(Nt(zr))Ct.channels=Ct.channels||4,Ct.data=zr,!("type"in Fr)&&Ct.type===Eo&&(Ct.type=oc(zr));else if(Zu(zr))Ct.channels=Ct.channels||4,Xc(Ct,zr),Ct.alignment=1,Ct.needsFree=!0;else if(Kt(zr)){var xo=zr.data;!Array.isArray(xo)&&Ct.type===Eo&&(Ct.type=oc(xo));var vn=zr.shape,wt=zr.stride,It,$t,Rr,Vr,_r,mr;vn.length===3?(Rr=vn[2],mr=wt[2]):(Rr=1,mr=1),It=vn[0],$t=vn[1],Vr=wt[0],_r=wt[1],Ct.alignment=1,Ct.width=It,Ct.height=$t,Ct.channels=Rr,Ct.format=Ct.internalformat=Fs[Rr],Ct.needsFree=!0,Cc(Ct,xo,Vr,_r,mr,zr.offset)}else if(mf(zr)||Au(zr)||nc(zr))mf(zr)||Au(zr)?Ct.element=zr:Ct.element=zr.canvas,Ct.width=Ct.element.width,Ct.height=Ct.element.height,Ct.channels=4;else if(rl(zr))Ct.element=zr,Ct.width=zr.width,Ct.height=zr.height,Ct.channels=4;else if(gf(zr))Ct.element=zr,Ct.width=zr.naturalWidth,Ct.height=zr.naturalHeight,Ct.channels=4;else if(Yc(zr))Ct.element=zr,Ct.width=zr.videoWidth,Ct.height=zr.videoHeight,Ct.channels=4;else if(bc(zr)){var ir=Ct.width||zr[0].length,Wt=Ct.height||zr.length,rr=Ct.channels;Cr(zr[0][0])?rr=rr||zr[0][0].length:rr=rr||1;for(var zt=Ee.shape(zr),Sr=1,Yr=0;Yr>=Mi,zr.height>>=Mi,Fa(zr,dn[Mi]),Ct.mipmask|=1<=0&&!("faces"in Fr)&&(Ct.genMipmaps=!0)}if("mag"in Fr){var dn=Fr.mag;Ct.magFilter=Ca[dn]}var Mi=Ct.wrapS,xo=Ct.wrapT;if("wrap"in Fr){var vn=Fr.wrap;typeof vn=="string"?Mi=xo=Sa[vn]:Array.isArray(vn)&&(Mi=Sa[vn[0]],xo=Sa[vn[1]])}else{if("wrapS"in Fr){var wt=Fr.wrapS;Mi=Sa[wt]}if("wrapT"in Fr){var It=Fr.wrapT;xo=Sa[It]}}if(Ct.wrapS=Mi,Ct.wrapT=xo,"anisotropic"in Fr){var $t=Fr.anisotropic;Ct.anisotropic=Fr.anisotropic}if("mipmap"in Fr){var Rr=!1;switch(typeof Fr.mipmap){case"string":Ct.mipmapHint=fa[Fr.mipmap],Ct.genMipmaps=!0,Rr=!0;break;case"boolean":Rr=Ct.genMipmaps=Fr.mipmap;break;case"object":Ct.genMipmaps=!1,Rr=!0;break;default:}Rr&&!("min"in Fr)&&(Ct.minFilter=wo)}}function Ls(Ct,Fr){He.texParameteri(Fr,Gl,Ct.minFilter),He.texParameteri(Fr,Qo,Ct.magFilter),He.texParameteri(Fr,Ds,Ct.wrapS),He.texParameteri(Fr,Us,Ct.wrapT),Lt.ext_texture_filter_anisotropic&&He.texParameteri(Fr,rc,Ct.anisotropic),Ct.genMipmaps&&(He.hint(cu,Ct.mipmapHint),He.generateMipmap(Fr))}var Js=0,ps={},ms=Dt.maxTextureUnits,Ts=Array(ms).map(function(){return null});function si(Ct){na.call(this),this.mipmask=0,this.internalformat=yn,this.id=Js++,this.refCount=1,this.target=Ct,this.texture=He.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new _o,Or.profile&&(this.stats={size:0})}function Ps(Ct){He.activeTexture(du),He.bindTexture(Ct.target,Ct.texture)}function Mo(){var Ct=Ts[0];Ct?He.bindTexture(Ct.target,Ct.texture):He.bindTexture(Xr,null)}function il(Ct){var Fr=Ct.texture,zr=Ct.unit,dn=Ct.target;zr>=0&&(He.activeTexture(du+zr),He.bindTexture(dn,null),Ts[zr]=null),He.deleteTexture(Fr),Ct.texture=null,Ct.params=null,Ct.pixels=null,Ct.refCount=0,delete ps[Ct.id],qr.textureCount--}u(si.prototype,{bind:function(){var Ct=this;Ct.bindCount+=1;var Fr=Ct.unit;if(Fr<0){for(var zr=0;zr0)continue;dn.unit=-1}Ts[zr]=Ct,Fr=zr;break}Fr>=ms,Or.profile&&qr.maxTextureUnits>_r)-Rr,mr.height=mr.height||(zr.height>>_r)-Vr,Ps(zr),kn(mr,Xr,Rr,Vr,_r),Mo(),ln(mr),dn}function xo(vn,wt){var It=vn|0,$t=wt|0||It;if(It===zr.width&&$t===zr.height)return dn;dn.width=zr.width=It,dn.height=zr.height=$t,Ps(zr);for(var Rr=0;zr.mipmask>>Rr;++Rr){var Vr=It>>Rr,_r=$t>>Rr;if(!Vr||!_r)break;He.texImage2D(Xr,Rr,zr.format,Vr,_r,0,zr.format,zr.type,null)}return Mo(),Or.profile&&(zr.stats.size=eu(zr.internalformat,zr.type,It,$t,!1,!1)),dn}return dn(Ct,Fr),dn.subimage=Mi,dn.resize=xo,dn._reglType="texture2d",dn._texture=zr,Or.profile&&(dn.stats=zr.stats),dn.destroy=function(){zr.decRef()},dn}function wl(Ct,Fr,zr,dn,Mi,xo){var vn=new si(Ra);ps[vn.id]=vn,qr.cubeCount++;var wt=new Array(6);function It(Vr,_r,mr,ir,Wt,rr){var zt,Sr=vn.texInfo;for(_o.call(Sr),zt=0;zt<6;++zt)wt[zt]=Ei();if(typeof Vr=="number"||!Vr){var Yr=Vr|0||1;for(zt=0;zt<6;++zt)Wn(wt[zt],Yr,Yr)}else if(typeof Vr=="object")if(_r)gi(wt[0],Vr),gi(wt[1],_r),gi(wt[2],mr),gi(wt[3],ir),gi(wt[4],Wt),gi(wt[5],rr);else if(Hs(Sr,Vr),tn(vn,Vr),"faces"in Vr){var va=Vr.faces;for(zt=0;zt<6;++zt)ea(wt[zt],vn),gi(wt[zt],va[zt])}else for(zt=0;zt<6;++zt)gi(wt[zt],Vr);for(ea(vn,wt[0]),Sr.genMipmaps?vn.mipmask=(wt[0].width<<1)-1:vn.mipmask=wt[0].mipmask,vn.internalformat=wt[0].internalformat,It.width=wt[0].width,It.height=wt[0].height,Ps(vn),zt=0;zt<6;++zt)Jo(wt[zt],wa+zt);for(Ls(Sr,Ra),Mo(),Or.profile&&(vn.stats.size=eu(vn.internalformat,vn.type,It.width,It.height,Sr.genMipmaps,!0)),It.format=ha[vn.internalformat],It.type=Ea[vn.type],It.mag=ia[Sr.magFilter],It.min=Ya[Sr.minFilter],It.wrapS=Ua[Sr.wrapS],It.wrapT=Ua[Sr.wrapT],zt=0;zt<6;++zt)bl(wt[zt]);return It}function $t(Vr,_r,mr,ir,Wt){var rr=mr|0,zt=ir|0,Sr=Wt|0,Yr=Oa();return ea(Yr,vn),Yr.width=0,Yr.height=0,Fa(Yr,_r),Yr.width=Yr.width||(vn.width>>Sr)-rr,Yr.height=Yr.height||(vn.height>>Sr)-zt,Ps(vn),kn(Yr,wa+Vr,rr,zt,Sr),Mo(),ln(Yr),It}function Rr(Vr){var _r=Vr|0;if(_r!==vn.width){It.width=vn.width=_r,It.height=vn.height=_r,Ps(vn);for(var mr=0;mr<6;++mr)for(var ir=0;vn.mipmask>>ir;++ir)He.texImage2D(wa+mr,ir,vn.format,_r>>ir,_r>>ir,0,vn.format,vn.type,null);return Mo(),Or.profile&&(vn.stats.size=eu(vn.internalformat,vn.type,It.width,It.height,!1,!0)),It}}return It(Ct,Fr,zr,dn,Mi,xo),It.subimage=$t,It.resize=Rr,It._reglType="textureCube",It._texture=vn,Or.profile&&(It.stats=vn.stats),It.destroy=function(){vn.decRef()},It}function $n(){for(var Ct=0;Ct>dn,zr.height>>dn,0,zr.internalformat,zr.type,null);else for(var Mi=0;Mi<6;++Mi)He.texImage2D(wa+Mi,dn,zr.internalformat,zr.width>>dn,zr.height>>dn,0,zr.internalformat,zr.type,null);Ls(zr.texInfo,zr.target)})}function Gi(){for(var Ct=0;Ct=0?bl=!0:Sa.indexOf(_o)>=0&&(bl=!1))),("depthTexture"in si||"depthStencilTexture"in si)&&(Ts=!!(si.depthTexture||si.depthStencilTexture)),"depth"in si&&(typeof si.depth=="boolean"?Jo=si.depth:(Js=si.depth,As=!1)),"stencil"in si&&(typeof si.stencil=="boolean"?As=si.stencil:(ps=si.stencil,Jo=!1)),"depthStencil"in si&&(typeof si.depthStencil=="boolean"?Jo=As=si.depthStencil:(ms=si.depthStencil,Jo=!1,As=!1))}var Mo=null,il=null,ol=null,wl=null;if(Array.isArray(Ei))Mo=Ei.map(ta);else if(Ei)Mo=[ta(Ei)];else for(Mo=new Array(Ls),Hn=0;Hn0&&(ln.depth=Fa[0].depth,ln.stencil=Fa[0].stencil,ln.depthStencil=Fa[0].depthStencil),Fa[Oa]?Fa[Oa](ln):Fa[Oa]=ea(ln)}return u(rn,{width:Hn,height:Hn,color:_o})}function kn(Vn){var Oa,ln=Vn|0;if(ln===rn.width)return rn;var Hn=rn.color;for(Oa=0;Oa=Hn.byteLength?Wn.subdata(Hn):(Wn.destroy(),ea.buffers[Vn]=null)),ea.buffers[Vn]||(Wn=ea.buffers[Vn]=Nr.create(Oa,Kc,!1,!0)),ln.buffer=Nr.getBuffer(Wn),ln.size=ln.buffer.dimension|0,ln.normalized=!1,ln.type=ln.buffer.dtype,ln.offset=0,ln.stride=0,ln.divisor=0,ln.state=1,rn[Vn]=1}else Nr.getBuffer(Oa)?(ln.buffer=Nr.getBuffer(Oa),ln.size=ln.buffer.dimension|0,ln.normalized=!1,ln.type=ln.buffer.dtype,ln.offset=0,ln.stride=0,ln.divisor=0,ln.state=1):Nr.getBuffer(Oa.buffer)?(ln.buffer=Nr.getBuffer(Oa.buffer),ln.size=(+Oa.size||ln.buffer.dimension)|0,ln.normalized=!!Oa.normalized||!1,"type"in Oa?ln.type=jr[Oa.type]:ln.type=ln.buffer.dtype,ln.offset=(Oa.offset||0)|0,ln.stride=(Oa.stride||0)|0,ln.divisor=(Oa.divisor||0)|0,ln.state=1):"x"in Oa&&(ln.x=+Oa.x||0,ln.y=+Oa.y||0,ln.z=+Oa.z||0,ln.w=+Oa.w||0,ln.state=2)}for(var gi=0;gi1)for(var ja=0;jagr&&(gr=Hr.stats.uniformsCount)}),gr},Dt.getMaxAttributesCount=function(){var gr=0;return Pa.forEach(function(Hr){Hr.stats.attributesCount>gr&&(gr=Hr.stats.attributesCount)}),gr});function ta(){Nr={},qr={};for(var gr=0;gr16&&(Dt=Ba(Dt,He.length*8));for(var Tr=Array(16),Nr=Array(16),qr=0;qr<16;qr++)Tr[qr]=Dt[qr]^909522486,Nr[qr]=Dt[qr]^1549556828;var Or=Ba(Tr.concat(Ou(Lt)),512+Lt.length*8);return Tt(Ba(Nr.concat(Or),768))}function Mu(He){for(var Lt=eh?"0123456789ABCDEF":"0123456789abcdef",Dt="",Tr,Nr=0;Nr>>4&15)+Lt.charAt(Tr&15);return Dt}function Tf(He){for(var Lt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Dt="",Tr=He.length,Nr=0;NrHe.length*8?Dt+=Ic:Dt+=Lt.charAt(qr>>>6*(3-Or)&63);return Dt}function th(He,Lt){var Dt=Lt.length,Tr=Array(),Nr,qr,Or,fa,Sa=Array(Math.ceil(He.length/2));for(Nr=0;Nr0;){for(fa=Array(),Or=0,Nr=0;Nr0||qr>0)&&(fa[fa.length]=qr);Tr[Tr.length]=Or,Sa=fa}var Ca="";for(Nr=Tr.length-1;Nr>=0;Nr--)Ca+=Lt.charAt(Tr[Nr]);var Pa=Math.ceil(He.length*8/(Math.log(Lt.length)/Math.log(2)));for(Nr=Ca.length;Nr>>6&31,128|Tr&63):Tr<=65535?Lt+=String.fromCharCode(224|Tr>>>12&15,128|Tr>>>6&63,128|Tr&63):Tr<=2097151&&(Lt+=String.fromCharCode(240|Tr>>>18&7,128|Tr>>>12&63,128|Tr>>>6&63,128|Tr&63));return Lt}function Ou(He){for(var Lt=Array(He.length>>2),Dt=0;Dt>5]|=(He.charCodeAt(Dt/8)&255)<<24-Dt%32;return Lt}function Tt(He){for(var Lt="",Dt=0;Dt>5]>>>24-Dt%32&255);return Lt}function jt(He,Lt){return He>>>Lt|He<<32-Lt}function yr(He,Lt){return He>>>Lt}function dr(He,Lt,Dt){return He&Lt^~He&Dt}function Wr(He,Lt,Dt){return He&Lt^He&Dt^Lt&Dt}function ma(He){return jt(He,2)^jt(He,13)^jt(He,22)}function za(He){return jt(He,6)^jt(He,11)^jt(He,25)}function Ja(He){return jt(He,7)^jt(He,18)^yr(He,3)}function nn(He){return jt(He,17)^jt(He,19)^yr(He,10)}var Tn=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 Ba(He,Lt){var Dt=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),Tr=new Array(64),Nr,qr,Or,fa,Sa,Ca,Pa,En,cn,Wa,ta,gr;for(He[Lt>>5]|=128<<24-Lt%32,He[(Lt+64>>9<<4)+15]=Lt,cn=0;cn>16)+(Lt>>16)+(Dt>>16);return Tr<<16|Dt&65535}function Xa(He){return Array.prototype.slice.call(He)}function Aa(He){return Xa(He).join("")}function Fn(He){var Lt=He&&He.cache,Dt=0,Tr=[],Nr=[],qr=[];function Or(ta,gr){var Hr=gr&&gr.stable;if(!Hr){for(var ha=0;ha0&&(ta.push(Ea,"="),ta.push.apply(ta,Xa(arguments)),ta.push(";")),Ea}return u(gr,{def:ha,toString:function(){return Aa([Hr.length>0?"var "+Hr.join(",")+";":"",Aa(ta)])}})}function Sa(){var ta=fa(),gr=fa(),Hr=ta.toString,ha=gr.toString;function Ea(ia,Ya){gr(ia,Ya,"=",ta.def(ia,Ya),";")}return u(function(){ta.apply(ta,Xa(arguments))},{def:ta.def,entry:ta,exit:gr,save:Ea,set:function(ia,Ya,Ua){Ea(ia,Ya),ta(ia,Ya,"=",Ua,";")},toString:function(){return Hr()+ha()}})}function Ca(){var ta=Aa(arguments),gr=Sa(),Hr=Sa(),ha=gr.toString,Ea=Hr.toString;return u(gr,{then:function(){return gr.apply(gr,Xa(arguments)),this},else:function(){return Hr.apply(Hr,Xa(arguments)),this},toString:function(){var ia=Ea();return ia&&(ia="else{"+ia+"}"),Aa(["if(",ta,"){",ha(),"}",ia])}})}var Pa=fa(),En={};function cn(ta,gr){var Hr=[];function ha(){var Sn="a"+Hr.length;return Hr.push(Sn),Sn}gr=gr||0;for(var Ea=0;Ea":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Jr={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},sa={cw:Ne,ccw:Ke};function ga(He){return Array.isArray(He)||Nt(He)||Kt(He)}function ba(He){return He.sort(function(Lt,Dt){return Lt===pe?-1:Dt===pe?1:Lt=1,Tr>=2,Lt)}else if(Dt===Lo){var Nr=He.data;return new Zr(Nr.thisDep,Nr.contextDep,Nr.propDep,Lt)}else{if(Dt===us)return new Zr(!1,!1,!1,Lt);if(Dt===Oo){for(var qr=!1,Or=!1,fa=!1,Sa=0;Sa=1&&(Or=!0),Pa>=2&&(fa=!0)}else Ca.type===Lo&&(qr=qr||Ca.data.thisDep,Or=Or||Ca.data.contextDep,fa=fa||Ca.data.propDep)}return new Zr(qr,Or,fa,Lt)}else return new Zr(Dt===ao,Dt===Oi,Dt===_n,Lt)}}var ni=new Zr(!1,!1,!1,function(){});function xi(He,Lt,Dt,Tr,Nr,qr,Or,fa,Sa,Ca,Pa,En,cn,Wa,ta,gr){var Hr=Ca.Record,ha={add:32774,subtract:32778,"reverse subtract":32779};Dt.ext_blend_minmax&&(ha.min=et,ha.max=ot);var Ea=Dt.angle_instanced_arrays,ia=Dt.webgl_draw_buffers,Ya=Dt.oes_vertex_array_object,Ua={dirty:!0,profile:gr.profile},Sn={},na=[],ea={},tn={};function ja(wt){return wt.replace(".","_")}function Ia(wt,It,$t){var Rr=ja(wt);na.push(wt),Sn[Rr]=Ua[Rr]=!!$t,ea[Rr]=It}function Fa(wt,It,$t){var Rr=ja(wt);na.push(wt),Array.isArray($t)?(Ua[Rr]=$t.slice(),Sn[Rr]=$t.slice()):Ua[Rr]=Sn[Rr]=$t,tn[Rr]=It}function rn(wt){return!!isNaN(wt)}Ia(_s,ya),Ia(ko,Kr),Fa(fl,"blendColor",[0,0,0,0]),Fa(Os,"blendEquationSeparate",[lr,lr]),Fa(cs,"blendFuncSeparate",[or,Ut,or,Ut]),Ia(ai,Ha,!0),Fa(Xo,"depthFunc",Dr),Fa(os,"depthRange",[0,1]),Fa(Do,"depthMask",!0),Fa(al,al,[!0,!0,!0,!0]),Ia(pu,Br),Fa(au,"cullFace",we),Fa(Nu,Nu,Ke),Fa(_l,_l,1),Ia(Su,Bn),Fa(xl,"polygonOffset",[0,0]),Ia(hc,li),Ia(ki,Jn),Fa(Xi,"sampleCoverage",[1,!1]),Ia(jf,Za),Fa(zc,"stencilMask",-1),Fa(nu,"stencilFunc",[kt,0,-1]),Fa(Me,"stencilOpSeparate",[ue,xt,xt,xt]),Fa(L,"stencilOpSeparate",[we,xt,xt,xt]),Ia(J,un),Fa(de,"scissor",[0,0,He.drawingBufferWidth,He.drawingBufferHeight]),Fa(pe,pe,[0,0,He.drawingBufferWidth,He.drawingBufferHeight]);var kn={gl:He,context:cn,strings:Lt,next:Sn,current:Ua,draw:En,elements:qr,buffer:Nr,shader:Pa,attributes:Ca.state,vao:Ca,uniforms:Sa,framebuffer:fa,extensions:Dt,timer:Wa,isBufferArgs:ga},Vn={primTypes:mn,compareFuncs:Ur,blendFuncs:_a,blendEquations:ha,stencilOps:Jr,glTypes:jr,orientationType:sa};ia&&(Vn.backBuffer=[we],Vn.drawBuffer=m(Tr.maxDrawbuffers,function(wt){return wt===0?[0]:m(wt,function(It){return ca+It})}));var Oa=0;function ln(){var wt=Fn({cache:ta}),It=wt.link,$t=wt.global;wt.id=Oa++,wt.batchId="0";var Rr=It(kn),Vr=wt.shared={props:"a0"};Object.keys(kn).forEach(function(rr){Vr[rr]=$t.def(Rr,".",rr)});var _r=wt.next={},mr=wt.current={};Object.keys(tn).forEach(function(rr){Array.isArray(Ua[rr])&&(_r[rr]=$t.def(Vr.next,".",rr),mr[rr]=$t.def(Vr.current,".",rr))});var ir=wt.constants={};Object.keys(Vn).forEach(function(rr){ir[rr]=$t.def(JSON.stringify(Vn[rr]))}),wt.invoke=function(rr,zt){switch(zt.type){case Un:var Sr=["this",Vr.context,Vr.props,wt.batchId];return rr.def(It(zt.data),".call(",Sr.slice(0,Math.max(zt.data.length+1,4)),")");case _n:return rr.def(Vr.props,zt.data);case Oi:return rr.def(Vr.context,zt.data);case ao:return rr.def("this",zt.data);case Lo:return zt.data.append(wt,rr),zt.data.ref;case us:return zt.data.toString();case Oo:return zt.data.map(function(Yr){return wt.invoke(rr,Yr)})}},wt.attribCache={};var Wt={};return wt.scopeAttrib=function(rr){var zt=Lt.id(rr);if(zt in Wt)return Wt[zt];var Sr=Ca.scope[zt];Sr||(Sr=Ca.scope[zt]=new Hr);var Yr=Wt[zt]=It(Sr);return Yr},wt}function Hn(wt){var It=wt.static,$t=wt.dynamic,Rr;if(Te in It){var Vr=!!It[Te];Rr=wn(function(mr,ir){return Vr}),Rr.enable=Vr}else if(Te in $t){var _r=$t[Te];Rr=Nn(_r,function(mr,ir){return mr.invoke(ir,_r)})}return Rr}function Wn(wt,It){var $t=wt.static,Rr=wt.dynamic;if(Ze in $t){var Vr=$t[Ze];return Vr?(Vr=fa.getFramebuffer(Vr),wn(function(mr,ir){var Wt=mr.link(Vr),rr=mr.shared;ir.set(rr.framebuffer,".next",Wt);var zt=rr.context;return ir.set(zt,"."+$e,Wt+".width"),ir.set(zt,"."+lt,Wt+".height"),Wt})):wn(function(mr,ir){var Wt=mr.shared;ir.set(Wt.framebuffer,".next","null");var rr=Wt.context;return ir.set(rr,"."+$e,rr+"."+Ot),ir.set(rr,"."+lt,rr+"."+Xt),"null"})}else if(Ze in Rr){var _r=Rr[Ze];return Nn(_r,function(mr,ir){var Wt=mr.invoke(ir,_r),rr=mr.shared,zt=rr.framebuffer,Sr=ir.def(zt,".getFramebuffer(",Wt,")");ir.set(zt,".next",Sr);var Yr=rr.context;return ir.set(Yr,"."+$e,Sr+"?"+Sr+".width:"+Yr+"."+Ot),ir.set(Yr,"."+lt,Sr+"?"+Sr+".height:"+Yr+"."+Xt),Sr})}else return null}function gi(wt,It,$t){var Rr=wt.static,Vr=wt.dynamic;function _r(Wt){if(Wt in Rr){var rr=Rr[Wt],zt=!0,Sr=rr.x|0,Yr=rr.y|0,va,Rn;return"width"in rr?va=rr.width|0:zt=!1,"height"in rr?Rn=rr.height|0:zt=!1,new Zr(!zt&&It&&It.thisDep,!zt&&It&&It.contextDep,!zt&&It&&It.propDep,function(Ln,An){var xn=Ln.shared.context,Qa=va;"width"in rr||(Qa=An.def(xn,".",$e,"-",Sr));var pn=Rn;return"height"in rr||(pn=An.def(xn,".",lt,"-",Yr)),[Sr,Yr,Qa,pn]})}else if(Wt in Vr){var an=Vr[Wt],en=Nn(an,function(Ln,An){var xn=Ln.invoke(An,an),Qa=Ln.shared.context,pn=An.def(xn,".x|0"),gn=An.def(xn,".y|0"),Xn=An.def('"width" in ',xn,"?",xn,".width|0:","(",Qa,".",$e,"-",pn,")"),zo=An.def('"height" in ',xn,"?",xn,".height|0:","(",Qa,".",lt,"-",gn,")");return[pn,gn,Xn,zo]});return It&&(en.thisDep=en.thisDep||It.thisDep,en.contextDep=en.contextDep||It.contextDep,en.propDep=en.propDep||It.propDep),en}else return It?new Zr(It.thisDep,It.contextDep,It.propDep,function(Ln,An){var xn=Ln.shared.context;return[0,0,An.def(xn,".",$e),An.def(xn,".",lt)]}):null}var mr=_r(pe);if(mr){var ir=mr;mr=new Zr(mr.thisDep,mr.contextDep,mr.propDep,function(Wt,rr){var zt=ir.append(Wt,rr),Sr=Wt.shared.context;return rr.set(Sr,"."+tt,zt[2]),rr.set(Sr,"."+dt,zt[3]),zt})}return{viewport:mr,scissor_box:_r(de)}}function Jo(wt,It){var $t=wt.static,Rr=typeof $t[vt]=="string"&&typeof $t[rt]=="string";if(Rr){if(Object.keys(It.dynamic).length>0)return null;var Vr=It.static,_r=Object.keys(Vr);if(_r.length>0&&typeof Vr[_r[0]]=="number"){for(var mr=[],ir=0;ir<_r.length;++ir)mr.push([Vr[_r[ir]]|0,_r[ir]]);return mr}}return null}function As(wt,It,$t){var Rr=wt.static,Vr=wt.dynamic;function _r(zt){if(zt in Rr){var Sr=Lt.id(Rr[zt]),Yr=wn(function(){return Sr});return Yr.id=Sr,Yr}else if(zt in Vr){var va=Vr[zt];return Nn(va,function(Rn,an){var en=Rn.invoke(an,va),Ln=an.def(Rn.shared.strings,".id(",en,")");return Ln})}return null}var mr=_r(vt),ir=_r(rt),Wt=null,rr;return hn(mr)&&hn(ir)?(Wt=Pa.program(ir.id,mr.id,null,$t),rr=wn(function(zt,Sr){return zt.link(Wt)})):rr=new Zr(mr&&mr.thisDep||ir&&ir.thisDep,mr&&mr.contextDep||ir&&ir.contextDep,mr&&mr.propDep||ir&&ir.propDep,function(zt,Sr){var Yr=zt.shared.shader,va;mr?va=mr.append(zt,Sr):va=Sr.def(Yr,".",vt);var Rn;ir?Rn=ir.append(zt,Sr):Rn=Sr.def(Yr,".",rt);var an=Yr+".program("+Rn+","+va;return Sr.def(an+")")}),{frag:mr,vert:ir,progVar:rr,program:Wt}}function Ei(wt,It){var $t=wt.static,Rr=wt.dynamic,Vr={},_r=!1;function mr(){if(Le in $t){var An=$t[Le];return An!==null&&Ca.getVAO(An)===null&&(An=Ca.createVAO(An)),_r=!0,Vr.vao=An,wn(function(Qa){var pn=Ca.getVAO(An);return pn?Qa.link(pn):"null"})}else if(Le in Rr){_r=!0;var xn=Rr[Le];return Nn(xn,function(Qa,pn){var gn=Qa.invoke(pn,xn);return pn.def(Qa.shared.vao+".getVAO("+gn+")")})}return null}var ir=mr(),Wt=!1;function rr(){if(Mt in $t){var An=$t[Mt];if(Vr.elements=An,ga(An)){var xn=Vr.elements=qr.create(An,!0);An=qr.getElements(xn),Wt=!0}else An&&(An=qr.getElements(An),Wt=!0);var Qa=wn(function(gn,Xn){if(An){var zo=gn.link(An);return gn.ELEMENTS=zo,zo}return gn.ELEMENTS=null,null});return Qa.value=An,Qa}else if(Mt in Rr){Wt=!0;var pn=Rr[Mt];return Nn(pn,function(gn,Xn){var zo=gn.shared,sl=zo.isBufferArgs,ku=zo.elements,Tc=gn.invoke(Xn,pn),rf=Xn.def("null"),ou=Xn.def(sl,"(",Tc,")"),Ah=gn.cond(ou).then(rf,"=",ku,".createStream(",Tc,");").else(rf,"=",ku,".getElements(",Tc,");");return Xn.entry(Ah),Xn.exit(gn.cond(ou).then(ku,".destroyStream(",rf,");")),gn.ELEMENTS=rf,rf})}else if(_r)return new Zr(ir.thisDep,ir.contextDep,ir.propDep,function(gn,Xn){return Xn.def(gn.shared.vao+".currentVAO?"+gn.shared.elements+".getElements("+gn.shared.vao+".currentVAO.elements):null")});return null}var zt=rr();function Sr(){if(Gt in $t){var An=$t[Gt];return Vr.primitive=An,wn(function(Qa,pn){return mn[An]})}else if(Gt in Rr){var xn=Rr[Gt];return Nn(xn,function(Qa,pn){var gn=Qa.constants.primTypes,Xn=Qa.invoke(pn,xn);return pn.def(gn,"[",Xn,"]")})}else{if(Wt)return hn(zt)?zt.value?wn(function(Qa,pn){return pn.def(Qa.ELEMENTS,".primType")}):wn(function(){return Ll}):new Zr(zt.thisDep,zt.contextDep,zt.propDep,function(Qa,pn){var gn=Qa.ELEMENTS;return pn.def(gn,"?",gn,".primType:",Ll)});if(_r)return new Zr(ir.thisDep,ir.contextDep,ir.propDep,function(Qa,pn){return pn.def(Qa.shared.vao+".currentVAO?"+Qa.shared.vao+".currentVAO.primitive:"+Ll)})}return null}function Yr(An,xn){if(An in $t){var Qa=$t[An]|0;return xn?Vr.offset=Qa:Vr.instances=Qa,wn(function(gn,Xn){return xn&&(gn.OFFSET=Qa),Qa})}else if(An in Rr){var pn=Rr[An];return Nn(pn,function(gn,Xn){var zo=gn.invoke(Xn,pn);return xn&&(gn.OFFSET=zo),zo})}else if(xn){if(Wt)return wn(function(gn,Xn){return gn.OFFSET=0,0});if(_r)return new Zr(ir.thisDep,ir.contextDep,ir.propDep,function(gn,Xn){return Xn.def(gn.shared.vao+".currentVAO?"+gn.shared.vao+".currentVAO.offset:0")})}else if(_r)return new Zr(ir.thisDep,ir.contextDep,ir.propDep,function(gn,Xn){return Xn.def(gn.shared.vao+".currentVAO?"+gn.shared.vao+".currentVAO.instances:-1")});return null}var va=Yr(fr,!0);function Rn(){if(Ht in $t){var An=$t[Ht]|0;return Vr.count=An,wn(function(){return An})}else if(Ht in Rr){var xn=Rr[Ht];return Nn(xn,function(Xn,zo){var sl=Xn.invoke(zo,xn);return sl})}else if(Wt)if(hn(zt)){if(zt)return va?new Zr(va.thisDep,va.contextDep,va.propDep,function(Xn,zo){var sl=zo.def(Xn.ELEMENTS,".vertCount-",Xn.OFFSET);return sl}):wn(function(Xn,zo){return zo.def(Xn.ELEMENTS,".vertCount")});var Qa=wn(function(){return-1});return Qa}else{var pn=new Zr(zt.thisDep||va.thisDep,zt.contextDep||va.contextDep,zt.propDep||va.propDep,function(Xn,zo){var sl=Xn.ELEMENTS;return Xn.OFFSET?zo.def(sl,"?",sl,".vertCount-",Xn.OFFSET,":-1"):zo.def(sl,"?",sl,".vertCount:-1")});return pn}else if(_r){var gn=new Zr(ir.thisDep,ir.contextDep,ir.propDep,function(Xn,zo){return zo.def(Xn.shared.vao,".currentVAO?",Xn.shared.vao,".currentVAO.count:-1")});return gn}return null}var an=Sr(),en=Rn(),Ln=Yr(wr,!1);return{elements:zt,primitive:an,count:en,instances:Ln,offset:va,vao:ir,vaoActive:_r,elementsActive:Wt,static:Vr}}function bl(wt,It){var $t=wt.static,Rr=wt.dynamic,Vr={};return na.forEach(function(_r){var mr=ja(_r);function ir(Wt,rr){if(_r in $t){var zt=Wt($t[_r]);Vr[mr]=wn(function(){return zt})}else if(_r in Rr){var Sr=Rr[_r];Vr[mr]=Nn(Sr,function(Yr,va){return rr(Yr,va,Yr.invoke(va,Sr))})}}switch(_r){case pu:case ko:case _s:case jf:case ai:case J:case Su:case hc:case ki:case Do:return ir(function(Wt){return Wt},function(Wt,rr,zt){return zt});case Xo:return ir(function(Wt){return Ur[Wt]},function(Wt,rr,zt){var Sr=Wt.constants.compareFuncs;return rr.def(Sr,"[",zt,"]")});case os:return ir(function(Wt){return Wt},function(Wt,rr,zt){var Sr=rr.def("+",zt,"[0]"),Yr=rr.def("+",zt,"[1]");return[Sr,Yr]});case cs:return ir(function(Wt){var rr="srcRGB"in Wt?Wt.srcRGB:Wt.src,zt="srcAlpha"in Wt?Wt.srcAlpha:Wt.src,Sr="dstRGB"in Wt?Wt.dstRGB:Wt.dst,Yr="dstAlpha"in Wt?Wt.dstAlpha:Wt.dst;return[_a[rr],_a[Sr],_a[zt],_a[Yr]]},function(Wt,rr,zt){var Sr=Wt.constants.blendFuncs;function Yr(xn,Qa){var pn=rr.def('"',xn,Qa,'" in ',zt,"?",zt,".",xn,Qa,":",zt,".",xn);return pn}var va=Yr("src","RGB"),Rn=Yr("dst","RGB"),an=rr.def(Sr,"[",va,"]"),en=rr.def(Sr,"[",Yr("src","Alpha"),"]"),Ln=rr.def(Sr,"[",Rn,"]"),An=rr.def(Sr,"[",Yr("dst","Alpha"),"]");return[an,Ln,en,An]});case Os:return ir(function(Wt){if(typeof Wt=="string")return[ha[Wt],ha[Wt]];if(typeof Wt=="object")return[ha[Wt.rgb],ha[Wt.alpha]]},function(Wt,rr,zt){var Sr=Wt.constants.blendEquations,Yr=rr.def(),va=rr.def(),Rn=Wt.cond("typeof ",zt,'==="string"');return Rn.then(Yr,"=",va,"=",Sr,"[",zt,"];"),Rn.else(Yr,"=",Sr,"[",zt,".rgb];",va,"=",Sr,"[",zt,".alpha];"),rr(Rn),[Yr,va]});case fl:return ir(function(Wt){return m(4,function(rr){return+Wt[rr]})},function(Wt,rr,zt){return m(4,function(Sr){return rr.def("+",zt,"[",Sr,"]")})});case zc:return ir(function(Wt){return Wt|0},function(Wt,rr,zt){return rr.def(zt,"|0")});case nu:return ir(function(Wt){var rr=Wt.cmp||"keep",zt=Wt.ref||0,Sr="mask"in Wt?Wt.mask:-1;return[Ur[rr],zt,Sr]},function(Wt,rr,zt){var Sr=Wt.constants.compareFuncs,Yr=rr.def('"cmp" in ',zt,"?",Sr,"[",zt,".cmp]",":",xt),va=rr.def(zt,".ref|0"),Rn=rr.def('"mask" in ',zt,"?",zt,".mask|0:-1");return[Yr,va,Rn]});case Me:case L:return ir(function(Wt){var rr=Wt.fail||"keep",zt=Wt.zfail||"keep",Sr=Wt.zpass||"keep";return[_r===L?we:ue,Jr[rr],Jr[zt],Jr[Sr]]},function(Wt,rr,zt){var Sr=Wt.constants.stencilOps;function Yr(va){return rr.def('"',va,'" in ',zt,"?",Sr,"[",zt,".",va,"]:",xt)}return[_r===L?we:ue,Yr("fail"),Yr("zfail"),Yr("zpass")]});case xl:return ir(function(Wt){var rr=Wt.factor|0,zt=Wt.units|0;return[rr,zt]},function(Wt,rr,zt){var Sr=rr.def(zt,".factor|0"),Yr=rr.def(zt,".units|0");return[Sr,Yr]});case au:return ir(function(Wt){var rr=0;return Wt==="front"?rr=ue:Wt==="back"&&(rr=we),rr},function(Wt,rr,zt){return rr.def(zt,'==="front"?',ue,":",we)});case _l:return ir(function(Wt){return Wt},function(Wt,rr,zt){return zt});case Nu:return ir(function(Wt){return sa[Wt]},function(Wt,rr,zt){return rr.def(zt+'==="cw"?'+Ne+":"+Ke)});case al:return ir(function(Wt){return Wt.map(function(rr){return!!rr})},function(Wt,rr,zt){return m(4,function(Sr){return"!!"+zt+"["+Sr+"]"})});case Xi:return ir(function(Wt){var rr="value"in Wt?Wt.value:1,zt=!!Wt.invert;return[rr,zt]},function(Wt,rr,zt){var Sr=rr.def('"value" in ',zt,"?+",zt,".value:1"),Yr=rr.def("!!",zt,".invert");return[Sr,Yr]})}}),Vr}function _o(wt,It){var $t=wt.static,Rr=wt.dynamic,Vr={};return Object.keys($t).forEach(function(_r){var mr=$t[_r],ir;if(typeof mr=="number"||typeof mr=="boolean")ir=wn(function(){return mr});else if(typeof mr=="function"){var Wt=mr._reglType;Wt==="texture2d"||Wt==="textureCube"?ir=wn(function(rr){return rr.link(mr)}):(Wt==="framebuffer"||Wt==="framebufferCube")&&(ir=wn(function(rr){return rr.link(mr.color[0])}))}else Cr(mr)&&(ir=wn(function(rr){var zt=rr.global.def("[",m(mr.length,function(Sr){return mr[Sr]}),"]");return zt}));ir.value=mr,Vr[_r]=ir}),Object.keys(Rr).forEach(function(_r){var mr=Rr[_r];Vr[_r]=Nn(mr,function(ir,Wt){return ir.invoke(Wt,mr)})}),Vr}function Hs(wt,It){var $t=wt.static,Rr=wt.dynamic,Vr={};return Object.keys($t).forEach(function(_r){var mr=$t[_r],ir=Lt.id(_r),Wt=new Hr;if(ga(mr))Wt.state=fi,Wt.buffer=Nr.getBuffer(Nr.create(mr,pr,!1,!0)),Wt.type=0;else{var rr=Nr.getBuffer(mr);if(rr)Wt.state=fi,Wt.buffer=rr,Wt.type=0;else if("constant"in mr){var zt=mr.constant;Wt.buffer="null",Wt.state=Ti,typeof zt=="number"?Wt.x=zt:ci.forEach(function(Ln,An){An"+pn+"?"+zt+".constant["+pn+"]:0;"}).join(""),"}}else{","if(",va,"(",zt,".buffer)){",Ln,"=",Rn,".createStream(",pr,",",zt,".buffer);","}else{",Ln,"=",Rn,".getBuffer(",zt,".buffer);","}",An,'="type" in ',zt,"?",Yr.glTypes,"[",zt,".type]:",Ln,".dtype;",an.normalized,"=!!",zt,".normalized;");function xn(Qa){rr(an[Qa],"=",zt,".",Qa,"|0;")}return xn("size"),xn("offset"),xn("stride"),xn("divisor"),rr("}}"),rr.exit("if(",an.isStream,"){",Rn,".destroyStream(",Ln,");","}"),an}Vr[_r]=Nn(mr,ir)}),Vr}function Ls(wt){var It=wt.static,$t=wt.dynamic,Rr={};return Object.keys(It).forEach(function(Vr){var _r=It[Vr];Rr[Vr]=wn(function(mr,ir){return typeof _r=="number"||typeof _r=="boolean"?""+_r:mr.link(_r)})}),Object.keys($t).forEach(function(Vr){var _r=$t[Vr];Rr[Vr]=Nn(_r,function(mr,ir){return mr.invoke(ir,_r)})}),Rr}function Js(wt,It,$t,Rr,Vr){var _r=wt.static,mr=wt.dynamic,ir=Jo(wt,It),Wt=Wn(wt,Vr),rr=gi(wt,Wt,Vr),zt=Ei(wt,Vr),Sr=bl(wt,Vr),Yr=As(wt,Vr,ir);function va(xn){var Qa=rr[xn];Qa&&(Sr[xn]=Qa)}va(pe),va(ja(de));var Rn=Object.keys(Sr).length>0,an={framebuffer:Wt,draw:zt,shader:Yr,state:Sr,dirty:Rn,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(an.profile=Hn(wt,Vr),an.uniforms=_o($t,Vr),an.drawVAO=an.scopeVAO=zt.vao,!an.drawVAO&&Yr.program&&!ir&&Dt.angle_instanced_arrays&&zt.static.elements){var en=!0,Ln=Yr.program.attributes.map(function(xn){var Qa=It.static[xn];return en=en&&!!Qa,Qa});if(en&&Ln.length>0){var An=Ca.getVAO(Ca.createVAO({attributes:Ln,elements:zt.static.elements}));an.drawVAO=new Zr(null,null,null,function(xn,Qa){return xn.link(An)}),an.useVAO=!0}}return ir?an.useVAO=!0:an.attributes=Hs(It,Vr),an.context=Ls(Rr,Vr),an}function ps(wt,It,$t){var Rr=wt.shared,Vr=Rr.context,_r=wt.scope();Object.keys($t).forEach(function(mr){It.save(Vr,"."+mr);var ir=$t[mr],Wt=ir.append(wt,It);Array.isArray(Wt)?_r(Vr,".",mr,"=[",Wt.join(),"];"):_r(Vr,".",mr,"=",Wt,";")}),It(_r)}function ms(wt,It,$t,Rr){var Vr=wt.shared,_r=Vr.gl,mr=Vr.framebuffer,ir;ia&&(ir=It.def(Vr.extensions,".webgl_draw_buffers"));var Wt=wt.constants,rr=Wt.drawBuffer,zt=Wt.backBuffer,Sr;$t?Sr=$t.append(wt,It):Sr=It.def(mr,".next"),Rr||It("if(",Sr,"!==",mr,".cur){"),It("if(",Sr,"){",_r,".bindFramebuffer(",Pr,",",Sr,".framebuffer);"),ia&&It(ir,".drawBuffersWEBGL(",rr,"[",Sr,".colorAttachments.length]);"),It("}else{",_r,".bindFramebuffer(",Pr,",null);"),ia&&It(ir,".drawBuffersWEBGL(",zt,");"),It("}",mr,".cur=",Sr,";"),Rr||It("}")}function Ts(wt,It,$t){var Rr=wt.shared,Vr=Rr.gl,_r=wt.current,mr=wt.next,ir=Rr.current,Wt=Rr.next,rr=wt.cond(ir,".dirty");na.forEach(function(zt){var Sr=ja(zt);if(!(Sr in $t.state)){var Yr,va;if(Sr in mr){Yr=mr[Sr],va=_r[Sr];var Rn=m(Ua[Sr].length,function(en){return rr.def(Yr,"[",en,"]")});rr(wt.cond(Rn.map(function(en,Ln){return en+"!=="+va+"["+Ln+"]"}).join("||")).then(Vr,".",tn[Sr],"(",Rn,");",Rn.map(function(en,Ln){return va+"["+Ln+"]="+en}).join(";"),";"))}else{Yr=rr.def(Wt,".",Sr);var an=wt.cond(Yr,"!==",ir,".",Sr);rr(an),Sr in ea?an(wt.cond(Yr).then(Vr,".enable(",ea[Sr],");").else(Vr,".disable(",ea[Sr],");"),ir,".",Sr,"=",Yr,";"):an(Vr,".",tn[Sr],"(",Yr,");",ir,".",Sr,"=",Yr,";")}}}),Object.keys($t.state).length===0&&rr(ir,".dirty=false;"),It(rr)}function si(wt,It,$t,Rr){var Vr=wt.shared,_r=wt.current,mr=Vr.current,ir=Vr.gl,Wt;ba(Object.keys($t)).forEach(function(rr){var zt=$t[rr];if(!(Rr&&!Rr(zt))){var Sr=zt.append(wt,It);if(ea[rr]){var Yr=ea[rr];hn(zt)?(Wt=wt.link(Sr,{stable:!0}),It(wt.cond(Wt).then(ir,".enable(",Yr,");").else(ir,".disable(",Yr,");")),It(mr,".",rr,"=",Wt,";")):(It(wt.cond(Sr).then(ir,".enable(",Yr,");").else(ir,".disable(",Yr,");")),It(mr,".",rr,"=",Sr,";"))}else if(Cr(Sr)){var va=_r[rr];It(ir,".",tn[rr],"(",Sr,");",Sr.map(function(Rn,an){return va+"["+an+"]="+Rn}).join(";"),";")}else hn(zt)?(Wt=wt.link(Sr,{stable:!0}),It(ir,".",tn[rr],"(",Wt,");",mr,".",rr,"=",Wt,";")):It(ir,".",tn[rr],"(",Sr,");",mr,".",rr,"=",Sr,";")}})}function Ps(wt,It){Ea&&(wt.instancing=It.def(wt.shared.extensions,".angle_instanced_arrays"))}function Mo(wt,It,$t,Rr,Vr){var _r=wt.shared,mr=wt.stats,ir=_r.current,Wt=_r.timer,rr=$t.profile;function zt(){return typeof performance>"u"?"Date.now()":"performance.now()"}var Sr,Yr;function va(xn){Sr=It.def(),xn(Sr,"=",zt(),";"),typeof Vr=="string"?xn(mr,".count+=",Vr,";"):xn(mr,".count++;"),Wa&&(Rr?(Yr=It.def(),xn(Yr,"=",Wt,".getNumPendingQueries();")):xn(Wt,".beginQuery(",mr,");"))}function Rn(xn){xn(mr,".cpuTime+=",zt(),"-",Sr,";"),Wa&&(Rr?xn(Wt,".pushScopeStats(",Yr,",",Wt,".getNumPendingQueries(),",mr,");"):xn(Wt,".endQuery();"))}function an(xn){var Qa=It.def(ir,".profile");It(ir,".profile=",xn,";"),It.exit(ir,".profile=",Qa,";")}var en;if(rr){if(hn(rr)){rr.enable?(va(It),Rn(It.exit),an("true")):an("false");return}en=rr.append(wt,It),an(en)}else en=It.def(ir,".profile");var Ln=wt.block();va(Ln),It("if(",en,"){",Ln,"}");var An=wt.block();Rn(An),It.exit("if(",en,"){",An,"}")}function il(wt,It,$t,Rr,Vr){var _r=wt.shared;function mr(Wt){switch(Wt){case ho:case Ms:case ks:return 2;case to:case Ns:case Cl:return 3;case as:case Vs:case mu:return 4;default:return 1}}function ir(Wt,rr,zt){var Sr=_r.gl,Yr=It.def(Wt,".location"),va=It.def(_r.attributes,"[",Yr,"]"),Rn=zt.state,an=zt.buffer,en=[zt.x,zt.y,zt.z,zt.w],Ln=["buffer","normalized","offset","stride"];function An(){It("if(!",va,".buffer){",Sr,".enableVertexAttribArray(",Yr,");}");var Qa=zt.type,pn;if(zt.size?pn=It.def(zt.size,"||",rr):pn=rr,It("if(",va,".type!==",Qa,"||",va,".size!==",pn,"||",Ln.map(function(Xn){return va+"."+Xn+"!=="+zt[Xn]}).join("||"),"){",Sr,".bindBuffer(",pr,",",an,".buffer);",Sr,".vertexAttribPointer(",[Yr,pn,Qa,zt.normalized,zt.stride,zt.offset],");",va,".type=",Qa,";",va,".size=",pn,";",Ln.map(function(Xn){return va+"."+Xn+"="+zt[Xn]+";"}).join(""),"}"),Ea){var gn=zt.divisor;It("if(",va,".divisor!==",gn,"){",wt.instancing,".vertexAttribDivisorANGLE(",[Yr,gn],");",va,".divisor=",gn,";}")}}function xn(){It("if(",va,".buffer){",Sr,".disableVertexAttribArray(",Yr,");",va,".buffer=null;","}if(",ci.map(function(Qa,pn){return va+"."+Qa+"!=="+en[pn]}).join("||"),"){",Sr,".vertexAttrib4f(",Yr,",",en,");",ci.map(function(Qa,pn){return va+"."+Qa+"="+en[pn]+";"}).join(""),"}")}Rn===fi?An():Rn===Ti?xn():(It("if(",Rn,"===",fi,"){"),An(),It("}else{"),xn(),It("}"))}Rr.forEach(function(Wt){var rr=Wt.name,zt=$t.attributes[rr],Sr;if(zt){if(!Vr(zt))return;Sr=zt.append(wt,It)}else{if(!Vr(ni))return;var Yr=wt.scopeAttrib(rr);Sr={},Object.keys(new Hr).forEach(function(va){Sr[va]=It.def(Yr,".",va)})}ir(wt.link(Wt),mr(Wt.info.type),Sr)})}function ol(wt,It,$t,Rr,Vr,_r){for(var mr=wt.shared,ir=mr.gl,Wt,rr=0;rr1){for(var sl=[],ku=[],Tc=0;Tc>1)",an],");")}function gn(){$t(en,".drawArraysInstancedANGLE(",[Yr,va,Rn,an],");")}zt&&zt!=="null"?An?pn():($t("if(",zt,"){"),pn(),$t("}else{"),gn(),$t("}")):gn()}function Qa(){function pn(){$t(_r+".drawElements("+[Yr,Rn,Ln,va+"<<(("+Ln+"-"+pi+")>>1)"]+");")}function gn(){$t(_r+".drawArrays("+[Yr,va,Rn]+");")}zt&&zt!=="null"?An?pn():($t("if(",zt,"){"),pn(),$t("}else{"),gn(),$t("}")):gn()}Ea&&(typeof an!="number"||an>=0)?typeof an=="string"?($t("if(",an,">0){"),xn(),$t("}else if(",an,"<0){"),Qa(),$t("}")):xn():Qa()}function $n(wt,It,$t,Rr,Vr){var _r=ln(),mr=_r.proc("body",Vr);return Ea&&(_r.instancing=mr.def(_r.shared.extensions,".angle_instanced_arrays")),wt(_r,mr,$t,Rr),_r.compile().body}function Fi(wt,It,$t,Rr){Ps(wt,It),$t.useVAO?$t.drawVAO?It(wt.shared.vao,".setVAO(",$t.drawVAO.append(wt,It),");"):It(wt.shared.vao,".setVAO(",wt.shared.vao,".targetVAO);"):(It(wt.shared.vao,".setVAO(null);"),il(wt,It,$t,Rr.attributes,function(){return!0})),ol(wt,It,$t,Rr.uniforms,function(){return!0},!1),wl(wt,It,It,$t)}function Gi(wt,It){var $t=wt.proc("draw",1);Ps(wt,$t),ps(wt,$t,It.context),ms(wt,$t,It.framebuffer),Ts(wt,$t,It),si(wt,$t,It.state),Mo(wt,$t,It,!1,!0);var Rr=It.shader.progVar.append(wt,$t);if($t(wt.shared.gl,".useProgram(",Rr,".program);"),It.shader.program)Fi(wt,$t,It,It.shader.program);else{$t(wt.shared.vao,".setVAO(null);");var Vr=wt.global.def("{}"),_r=$t.def(Rr,".id"),mr=$t.def(Vr,"[",_r,"]");$t(wt.cond(mr).then(mr,".call(this,a0);").else(mr,"=",Vr,"[",_r,"]=",wt.link(function(ir){return $n(Fi,wt,It,ir,1)}),"(",Rr,");",mr,".call(this,a0);"))}Object.keys(It.state).length>0&&$t(wt.shared.current,".dirty=true;"),wt.shared.vao&&$t(wt.shared.vao,".setVAO(null);")}function Ct(wt,It,$t,Rr){wt.batchId="a1",Ps(wt,It);function Vr(){return!0}il(wt,It,$t,Rr.attributes,Vr),ol(wt,It,$t,Rr.uniforms,Vr,!1),wl(wt,It,It,$t)}function Fr(wt,It,$t,Rr){Ps(wt,It);var Vr=$t.contextDep,_r=It.def(),mr="a0",ir="a1",Wt=It.def();wt.shared.props=Wt,wt.batchId=_r;var rr=wt.scope(),zt=wt.scope();It(rr.entry,"for(",_r,"=0;",_r,"<",ir,";++",_r,"){",Wt,"=",mr,"[",_r,"];",zt,"}",rr.exit);function Sr(Ln){return Ln.contextDep&&Vr||Ln.propDep}function Yr(Ln){return!Sr(Ln)}if($t.needsContext&&ps(wt,zt,$t.context),$t.needsFramebuffer&&ms(wt,zt,$t.framebuffer),si(wt,zt,$t.state,Sr),$t.profile&&Sr($t.profile)&&Mo(wt,zt,$t,!1,!0),Rr)$t.useVAO?$t.drawVAO?Sr($t.drawVAO)?zt(wt.shared.vao,".setVAO(",$t.drawVAO.append(wt,zt),");"):rr(wt.shared.vao,".setVAO(",$t.drawVAO.append(wt,rr),");"):rr(wt.shared.vao,".setVAO(",wt.shared.vao,".targetVAO);"):(rr(wt.shared.vao,".setVAO(null);"),il(wt,rr,$t,Rr.attributes,Yr),il(wt,zt,$t,Rr.attributes,Sr)),ol(wt,rr,$t,Rr.uniforms,Yr,!1),ol(wt,zt,$t,Rr.uniforms,Sr,!0),wl(wt,rr,zt,$t);else{var va=wt.global.def("{}"),Rn=$t.shader.progVar.append(wt,zt),an=zt.def(Rn,".id"),en=zt.def(va,"[",an,"]");zt(wt.shared.gl,".useProgram(",Rn,".program);","if(!",en,"){",en,"=",va,"[",an,"]=",wt.link(function(Ln){return $n(Ct,wt,$t,Ln,2)}),"(",Rn,");}",en,".call(this,a0[",_r,"],",_r,");")}}function zr(wt,It){var $t=wt.proc("batch",2);wt.batchId="0",Ps(wt,$t);var Rr=!1,Vr=!0;Object.keys(It.context).forEach(function(va){Rr=Rr||It.context[va].propDep}),Rr||(ps(wt,$t,It.context),Vr=!1);var _r=It.framebuffer,mr=!1;_r?(_r.propDep?Rr=mr=!0:_r.contextDep&&Rr&&(mr=!0),mr||ms(wt,$t,_r)):ms(wt,$t,null),It.state.viewport&&It.state.viewport.propDep&&(Rr=!0);function ir(va){return va.contextDep&&Rr||va.propDep}Ts(wt,$t,It),si(wt,$t,It.state,function(va){return!ir(va)}),(!It.profile||!ir(It.profile))&&Mo(wt,$t,It,!1,"a1"),It.contextDep=Rr,It.needsContext=Vr,It.needsFramebuffer=mr;var Wt=It.shader.progVar;if(Wt.contextDep&&Rr||Wt.propDep)Fr(wt,$t,It,null);else{var rr=Wt.append(wt,$t);if($t(wt.shared.gl,".useProgram(",rr,".program);"),It.shader.program)Fr(wt,$t,It,It.shader.program);else{$t(wt.shared.vao,".setVAO(null);");var zt=wt.global.def("{}"),Sr=$t.def(rr,".id"),Yr=$t.def(zt,"[",Sr,"]");$t(wt.cond(Yr).then(Yr,".call(this,a0,a1);").else(Yr,"=",zt,"[",Sr,"]=",wt.link(function(va){return $n(Fr,wt,It,va,2)}),"(",rr,");",Yr,".call(this,a0,a1);"))}}Object.keys(It.state).length>0&&$t(wt.shared.current,".dirty=true;"),wt.shared.vao&&$t(wt.shared.vao,".setVAO(null);")}function dn(wt,It){var $t=wt.proc("scope",3);wt.batchId="a2";var Rr=wt.shared,Vr=Rr.current;if(ps(wt,$t,It.context),It.framebuffer&&It.framebuffer.append(wt,$t),ba(Object.keys(It.state)).forEach(function(ir){var Wt=It.state[ir],rr=Wt.append(wt,$t);Cr(rr)?rr.forEach(function(zt,Sr){rn(zt)?$t.set(wt.next[ir],"["+Sr+"]",zt):$t.set(wt.next[ir],"["+Sr+"]",wt.link(zt,{stable:!0}))}):hn(Wt)?$t.set(Rr.next,"."+ir,wt.link(rr,{stable:!0})):$t.set(Rr.next,"."+ir,rr)}),Mo(wt,$t,It,!0,!0),[Mt,fr,Ht,wr,Gt].forEach(function(ir){var Wt=It.draw[ir];if(Wt){var rr=Wt.append(wt,$t);rn(rr)?$t.set(Rr.draw,"."+ir,rr):$t.set(Rr.draw,"."+ir,wt.link(rr),{stable:!0})}}),Object.keys(It.uniforms).forEach(function(ir){var Wt=It.uniforms[ir].append(wt,$t);Array.isArray(Wt)&&(Wt="["+Wt.map(function(rr){return rn(rr)?rr:wt.link(rr,{stable:!0})})+"]"),$t.set(Rr.uniforms,"["+wt.link(Lt.id(ir),{stable:!0})+"]",Wt)}),Object.keys(It.attributes).forEach(function(ir){var Wt=It.attributes[ir].append(wt,$t),rr=wt.scopeAttrib(ir);Object.keys(new Hr).forEach(function(zt){$t.set(rr,"."+zt,Wt[zt])})}),It.scopeVAO){var _r=It.scopeVAO.append(wt,$t);rn(_r)?$t.set(Rr.vao,".targetVAO",_r):$t.set(Rr.vao,".targetVAO",wt.link(_r,{stable:!0}))}function mr(ir){var Wt=It.shader[ir];if(Wt){var rr=Wt.append(wt,$t);rn(rr)?$t.set(Rr.shader,"."+ir,rr):$t.set(Rr.shader,"."+ir,wt.link(rr,{stable:!0}))}}mr(rt),mr(vt),Object.keys(It.state).length>0&&($t(Vr,".dirty=true;"),$t.exit(Vr,".dirty=true;")),$t("a1(",wt.shared.context,",a0,",wt.batchId,");")}function Mi(wt){if(!(typeof wt!="object"||Cr(wt))){for(var It=Object.keys(wt),$t=0;$t=0;--$n){var Fi=kn[$n];Fi&&Fi(ta,null,0)}Dt.flush(),Pa&&Pa.update()}function gi(){!Hn&&kn.length>0&&(Hn=p.next(Wn))}function Jo(){Hn&&(p.cancel(Wn),Hn=null)}function As($n){$n.preventDefault(),Nr=!0,Jo(),Vn.forEach(function(Fi){Fi()})}function Ei($n){Dt.getError(),Nr=!1,qr.restore(),Sn.restore(),Ea.restore(),na.restore(),ea.restore(),tn.restore(),Ya.restore(),Pa&&Pa.restore(),ja.procs.refresh(),gi(),Oa.forEach(function(Fi){Fi()})}rn&&(rn.addEventListener(Ao,As,!1),rn.addEventListener(ss,Ei,!1));function bl(){kn.length=0,Jo(),rn&&(rn.removeEventListener(Ao,As),rn.removeEventListener(ss,Ei)),Sn.clear(),tn.clear(),ea.clear(),Ya.clear(),na.clear(),ia.clear(),Ea.clear(),Pa&&Pa.clear(),ln.forEach(function($n){$n()})}function _o($n){function Fi(_r){var mr=u({},_r);delete mr.uniforms,delete mr.attributes,delete mr.context,delete mr.vao,"stencil"in mr&&mr.stencil.op&&(mr.stencil.opBack=mr.stencil.opFront=mr.stencil.op,delete mr.stencil.op);function ir(Wt){if(Wt in mr){var rr=mr[Wt];delete mr[Wt],Object.keys(rr).forEach(function(zt){mr[Wt+"."+zt]=rr[zt]})}}return ir("blend"),ir("depth"),ir("cull"),ir("stencil"),ir("polygonOffset"),ir("scissor"),ir("sample"),"vao"in _r&&(mr.vao=_r.vao),mr}function Gi(_r,mr){var ir={},Wt={};return Object.keys(_r).forEach(function(rr){var zt=_r[rr];if(c.isDynamic(zt)){Wt[rr]=c.unbox(zt,rr);return}else if(mr&&Array.isArray(zt)){for(var Sr=0;Sr0)return wt.call(this,Rr(_r|0),_r|0)}else if(Array.isArray(_r)){if(_r.length)return wt.call(this,_r,_r.length)}else return vn.call(this,_r)}return u(Vr,{stats:Mi,destroy:function(){xo.destroy()}})}var Hs=tn.setFBO=_o({framebuffer:c.define.call(null,Cs,"framebuffer")});function Ls($n,Fi){var Gi=0;ja.procs.poll();var Ct=Fi.color;Ct&&(Dt.clearColor(+Ct[0]||0,+Ct[1]||0,+Ct[2]||0,+Ct[3]||0),Gi|=Ks),"depth"in Fi&&(Dt.clearDepth(+Fi.depth),Gi|=Ss),"stencil"in Fi&&(Dt.clearStencil(Fi.stencil|0),Gi|=ti),Dt.clear(Gi)}function Js($n){if("framebuffer"in $n)if($n.framebuffer&&$n.framebuffer_reglType==="framebufferCube")for(var Fi=0;Fi<6;++Fi)Hs(u({framebuffer:$n.framebuffer.faces[Fi]},$n),Ls);else Hs($n,Ls);else Ls(null,$n)}function ps($n){kn.push($n);function Fi(){var Gi=yu(kn,$n);function Ct(){var Fr=yu(kn,Ct);kn[Fr]=kn[kn.length-1],kn.length-=1,kn.length<=0&&Jo()}kn[Gi]=Ct}return gi(),{cancel:Fi}}function ms(){var $n=Fa.viewport,Fi=Fa.scissor_box;$n[0]=$n[1]=Fi[0]=Fi[1]=0,ta.viewportWidth=ta.framebufferWidth=ta.drawingBufferWidth=$n[2]=Fi[2]=Dt.drawingBufferWidth,ta.viewportHeight=ta.framebufferHeight=ta.drawingBufferHeight=$n[3]=Fi[3]=Dt.drawingBufferHeight}function Ts(){ta.tick+=1,ta.time=Ps(),ms(),ja.procs.poll()}function si(){na.refresh(),ms(),ja.procs.refresh(),Pa&&Pa.update()}function Ps(){return(f()-En)/1e3}si();function Mo($n,Fi){var Gi;switch($n){case"frame":return ps(Fi);case"lost":Gi=Vn;break;case"restore":Gi=Oa;break;case"destroy":Gi=ln;break;default:}return Gi.push(Fi),{cancel:function(){for(var Ct=0;Ct=0},read:Ia,destroy:bl,_gl:Dt,_refresh:si,poll:function(){Ts(),Pa&&Pa.update()},now:Ps,stats:fa,getCachedCode:il,preloadCachedCode:ol});return Lt.onDone(null,wl),wl}return dc})}}),Yb=De({"src/lib/prepare_regl.js"(j,N){"use strict";var u=rT(),v=dj();N.exports=function(S,l,e){var t=S._fullLayout,a=!0;return t._glcanvas.each(function(r){if(r.regl){r.regl.preloadCachedCode(e);return}if(!(r.pick&&!t._has("parcoords"))){try{r.regl=v({canvas:this,attributes:{antialias:!r.pick,preserveDrawingBuffer:!0},pixelRatio:S._context.plotGlPixelRatio||window.devicePixelRatio,extensions:l||[],cachedCode:e||{}})}catch{a=!1}r.regl||(a=!1),a&&this.addEventListener("webglcontextlost",function(n){S&&S.emit&&S.emit("plotly_webglcontextlost",{event:n,layer:r.key})},!1)}}),a||u({container:t._glcontainer.node()}),a}}}),JT=De({"src/traces/scattergl/plot.js"(c,N){"use strict";var u=LT(),v=qT(),w=$N(),S=hj(),l=Ar(),e=Ed().selectMode,t=Yb(),a=Sl(),r=cw(),n=ET().styleTextSelection,i={};function s(p,f,d,y){var o=p._size,x=p.width*y,M=p.height*y,T=o.l*y,E=o.b*y,g=o.r*y,A=o.t*y,m=o.w*y,h=o.h*y;return[T+f.domain[0]*m,E+d.domain[0]*h,x-g-(1-f.domain[1])*m,M-A-(1-d.domain[1])*h]}var c=N.exports=function(f,d,y){if(y.length){var o=f._fullLayout,x=d._scene,M=d.xaxis,T=d.yaxis,E,g;if(x){var A=t(f,["ANGLE_instanced_arrays","OES_element_index_uint"],i);if(!A){x.init();return}var m=x.count,h=o._glcanvas.data()[0].regl;if(r(f,d,y),x.dirty){if((x.line2d||x.error2d)&&!(x.scatter2d||x.fill2d||x.glText)&&h.clear({color:!0,depth:!0}),x.error2d===!0&&(x.error2d=w(h)),x.line2d===!0&&(x.line2d=v(h)),x.scatter2d===!0&&(x.scatter2d=u(h)),x.fill2d===!0&&(x.fill2d=v(h)),x.glText===!0)for(x.glText=new Array(m),E=0;Ex.glText.length){var b=m-x.glText.length;for(E=0;EQ&&(isNaN(Z[re])||isNaN(Z[re+1]));)re-=2;X.positions=Z.slice(Q,re+2)}return X}),x.line2d.update(x.lineOptions)),x.error2d){var C=(x.errorXOptions||[]).concat(x.errorYOptions||[]).map(function(X){return X||{positions:[],errors:[]}});x.error2d.update(C)}x.scatter2d&&x.scatter2d.update(x.markerOptions),x.fillOrder=l.repeat(null,m),x.fill2d&&(x.fillOptions=x.fillOptions.map(function(X,Z){var Q=y[Z];if(!(!X||!Q||!Q[0]||!Q[0].trace)){var re=Q[0],ce=re.trace,me=re.t,ye=x.lineOptions[Z],Ae,Se,Ce=[];ce._ownfill&&Ce.push(Z),ce._nexttrace&&Ce.push(Z+1),Ce.length&&(x.fillOrder[Z]=Ce);var qe=[],Ue=ye&&ye.positions||me.positions,xe,he;if(ce.fill==="tozeroy"){for(xe=0;xexe&&isNaN(Ue[he+1]);)he-=2;Ue[xe+1]!==0&&(qe=[Ue[xe],0]),qe=qe.concat(Ue.slice(xe,he+2)),Ue[he+1]!==0&&(qe=qe.concat([Ue[he],0]))}else if(ce.fill==="tozerox"){for(xe=0;xexe&&isNaN(Ue[he]);)he-=2;Ue[xe]!==0&&(qe=[0,Ue[xe+1]]),qe=qe.concat(Ue.slice(xe,he+2)),Ue[he]!==0&&(qe=qe.concat([0,Ue[he+1]]))}else if(ce.fill==="toself"||ce.fill==="tonext"){for(qe=[],Ae=0,X.splitNull=!0,Se=0;Se-1;for(let[X]of y)if(X){var D=X.trace,k=X.t,B=k.index,O=D._length,q=k.x,Y=k.y;if(D.selectedpoints||R||z){if(R||(R=!0),D.selectedpoints){var ee=x.selectBatch[B]=D.selectedpoints,te={};for(g=0;gM&&d||xn,_;for(b?_=d.sizeAvg||Math.max(d.size,3):_=w(c,f),T=0;T{this.draw(),this.dirty=!0,this.planned=null})):(this.draw(),this.dirty=!0,S(()=>{this.dirty=!1})),this)},a.prototype.update=function(...s){if(!s.length)return;for(let f=0;f_||!d.lower&&b<_)continue;let I=r(d.id,b,_),C=this.passes[I]||(this.passes[I]={});if(f.data&&(f.transpose?C.positions={x:{buffer:d.buffer,offset:_,count:M,stride:x},y:{buffer:d.buffer,offset:b,count:M,stride:x}}:C.positions={x:{buffer:d.buffer,offset:_*M,count:M},y:{buffer:d.buffer,offset:b*M,count:M}},C.bounds=n(d.bounds,b,_)),f.domain||f.viewport||f.data){let F=o?n(d.padding,b,_):d.padding;if(d.domain){let[R,z,D,k]=n(d.domain,b,_);C.viewport=[g+R*T+F[0],A+z*E+F[1],g+D*T-F[2],A+k*E-F[3]]}else C.viewport=[g+_*m+m*F[0],A+b*h+h*F[1],g+(_+1)*m-m*F[2],A+(b+1)*h-h*F[3]]}f.color&&(C.color=d.color),f.size&&(C.size=d.size),f.marker&&(C.marker=d.marker),f.borderSize&&(C.borderSize=d.borderSize),f.borderColor&&(C.borderColor=d.borderColor),f.opacity&&(C.opacity=d.opacity),f.range&&(C.range=y?n(d.range,b,_):d.range||C.bounds),d.passes.push(I)}return this},a.prototype.draw=function(...s){if(!s.length)this.scatter.draw();else{let c=[];for(let p=0;p{c[y+x]=f})}this.scatter.draw(...c)}return this},a.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 r(s,c,p){let f=s.id!=null?s.id:s,d=c,y=p;return f<<16|(d&255)<<8|y&255}function n(s,c,p){let f,d,y,o,x,M,T,E,g=s[c],A=s[p];return g.length>2?(f=g[0],y=g[2],d=g[1],o=g[3]):g.length?(f=d=g[0],y=o=g[1]):(f=g.x,d=g.y,y=g.x+g.width,o=g.y+g.height),A.length>2?(x=A[0],T=A[2],M=A[1],E=A[3]):A.length?(x=M=A[0],T=E=A[1]):(x=A.x,M=A.y,T=A.x+A.width,E=A.y+A.height),[x,d,T,o]}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 c=e(s);return[c.x,c.y,c.x+c.width,c.y+c.height]}}}}),Aj=De({"src/traces/splom/plot.js"(j,N){"use strict";var u=wj(),v=Ar(),w=lu(),S=Ed().selectMode;N.exports=function(t,a,r){if(r.length)for(var n=0;n-1,z=S(d)||!!n.selectedpoints||R,D=!0;if(z){var k=n._length;if(n.selectedpoints){s.selectBatch=n.selectedpoints;var B=n.selectedpoints,O={};for(x=0;x=q[Y][0]&&O<=q[Y][1])return!0;return!1}function c(O){O.attr("x",-u.bar.captureWidth/2).attr("width",u.bar.captureWidth)}function p(O){O.attr("visibility","visible").style("visibility","visible").attr("fill","yellow").attr("opacity",0)}function f(O){if(!O.brush.filterSpecified)return"0,"+O.height;for(var q=d(O.brush.filter.getConsolidated(),O.height),Y=[0],ee,te,ae,U=q.length?q[0][0]:null,H=0;HO[1]+Y||q=.9*O[1]+.1*O[0]?"n":q<=.9*O[0]+.1*O[1]?"s":"ns"}function o(){v.select(document.body).style("cursor",null)}function x(O){O.attr("stroke-dasharray",f)}function M(O,q){var Y=v.select(O).selectAll(".highlight, .highlight-shadow"),ee=q?Y.transition().duration(u.bar.snapDuration).each("end",q):Y;x(ee)}function T(O,q){var Y=O.brush,ee=Y.filterSpecified,te=NaN,ae={},U;if(ee){var H=O.height,K=Y.filter.getConsolidated(),V=d(K,H),$=NaN,X=NaN,Z=NaN;for(U=0;U<=V.length;U++){var Q=V[U];if(Q&&Q[0]<=q&&q<=Q[1]){$=U;break}else if(X=U?U-1:NaN,Q&&Q[0]>q){Z=U;break}}if(te=$,isNaN(te)&&(isNaN(X)||isNaN(Z)?te=isNaN(X)?Z:X:te=q-V[X][1]=Ae[0]&&ye<=Ae[1]){ae.clickableOrdinalRange=Ae;break}}}return ae}function E(O,q){v.event.sourceEvent.stopPropagation();var Y=q.height-v.mouse(O)[1]-2*u.verticalPadding,ee=q.unitToPaddedPx.invert(Y),te=q.brush,ae=T(q,Y),U=ae.interval,H=te.svgBrush;if(H.wasDragged=!1,H.grabbingBar=ae.region==="ns",H.grabbingBar){var K=U.map(q.unitToPaddedPx);H.grabPoint=Y-K[0]-u.verticalPadding,H.barLength=K[1]-K[0]}H.clickableOrdinalRange=ae.clickableOrdinalRange,H.stayingIntervals=q.multiselect&&te.filterSpecified?te.filter.getConsolidated():[],U&&(H.stayingIntervals=H.stayingIntervals.filter(function(V){return V[0]!==U[0]&&V[1]!==U[1]})),H.startExtent=ae.region?U[ae.region==="s"?1:0]:ee,q.parent.inBrushDrag=!0,H.brushStartCallback()}function g(O,q){v.event.sourceEvent.stopPropagation();var Y=q.height-v.mouse(O)[1]-2*u.verticalPadding,ee=q.brush.svgBrush;ee.wasDragged=!0,ee._dragging=!0,ee.grabbingBar?ee.newExtent=[Y-ee.grabPoint,Y+ee.barLength-ee.grabPoint].map(q.unitToPaddedPx.invert):ee.newExtent=[ee.startExtent,q.unitToPaddedPx.invert(Y)].sort(l),q.brush.filterSpecified=!0,ee.extent=ee.stayingIntervals.concat([ee.newExtent]),ee.brushCallback(q),M(O.parentNode)}function A(O,q){var Y=q.brush,ee=Y.filter,te=Y.svgBrush;te._dragging||(m(O,q),g(O,q),q.brush.svgBrush.wasDragged=!1),te._dragging=!1;var ae=v.event;ae.sourceEvent.stopPropagation();var U=te.grabbingBar;if(te.grabbingBar=!1,te.grabLocation=void 0,q.parent.inBrushDrag=!1,o(),!te.wasDragged){te.wasDragged=void 0,te.clickableOrdinalRange?Y.filterSpecified&&q.multiselect?te.extent.push(te.clickableOrdinalRange):(te.extent=[te.clickableOrdinalRange],Y.filterSpecified=!0):U?(te.extent=te.stayingIntervals,te.extent.length===0&&F(Y)):F(Y),te.brushCallback(q),M(O.parentNode),te.brushEndCallback(Y.filterSpecified?ee.getConsolidated():[]);return}var H=function(){ee.set(ee.getConsolidated())};if(q.ordinal){var K=q.unitTickvals;K[K.length-1]te.newExtent[0];te.extent=te.stayingIntervals.concat(V?[te.newExtent]:[]),te.extent.length||F(Y),te.brushCallback(q),V?M(O.parentNode,H):(H(),M(O.parentNode))}else H();te.brushEndCallback(Y.filterSpecified?ee.getConsolidated():[])}function m(O,q){var Y=q.height-v.mouse(O)[1]-2*u.verticalPadding,ee=T(q,Y),te="crosshair";ee.clickableOrdinalRange?te="pointer":ee.region&&(te=ee.region+"-resize"),v.select(document.body).style("cursor",te)}function h(O){O.on("mousemove",function(q){v.event.preventDefault(),q.parent.inBrushDrag||m(this,q)}).on("mouseleave",function(q){q.parent.inBrushDrag||o()}).call(v.behavior.drag().on("dragstart",function(q){E(this,q)}).on("drag",function(q){g(this,q)}).on("dragend",function(q){A(this,q)}))}function b(O,q){return O[0]-q[0]}function _(O,q,Y){var ee=Y._context.staticPlot,te=O.selectAll(".background").data(S);te.enter().append("rect").classed("background",!0).call(c).call(p).style("pointer-events",ee?"none":"auto").attr("transform",e(0,u.verticalPadding)),te.call(h).attr("height",function(H){return H.height-u.verticalPadding});var ae=O.selectAll(".highlight-shadow").data(S);ae.enter().append("line").classed("highlight-shadow",!0).attr("x",-u.bar.width/2).attr("stroke-width",u.bar.width+u.bar.strokeWidth).attr("stroke",q).attr("opacity",u.bar.strokeOpacity).attr("stroke-linecap","butt"),ae.attr("y1",function(H){return H.height}).call(x);var U=O.selectAll(".highlight").data(S);U.enter().append("line").classed("highlight",!0).attr("x",-u.bar.width/2).attr("stroke-width",u.bar.width-u.bar.strokeWidth).attr("stroke",u.bar.fillColor).attr("opacity",u.bar.fillOpacity).attr("stroke-linecap","butt"),U.attr("y1",function(H){return H.height}).call(x)}function I(O,q,Y){var ee=O.selectAll("."+u.cn.axisBrush).data(S,w);ee.enter().append("g").classed(u.cn.axisBrush,!0),_(ee,q,Y)}function C(O){return O.svgBrush.extent.map(function(q){return q.slice()})}function F(O){O.filterSpecified=!1,O.svgBrush.extent=[[-1/0,1/0]]}function R(O){return function(Y){var ee=Y.brush,te=C(ee),ae=te.slice();ee.filter.set(ae),O()}}function z(O){for(var q=O.slice(),Y=[],ee,te=q.shift();te;){for(ee=te.slice();(te=q.shift())&&te[0]<=ee[1];)ee[1]=Math.max(ee[1],te[1]);Y.push(ee)}return Y.length===1&&Y[0][0]>Y[0][1]&&(Y=[]),Y}function D(){var O=[],q,Y;return{set:function(ee){O=ee.map(function(te){return te.slice().sort(l)}).sort(b),O.length===1&&O[0][0]===-1/0&&O[0][1]===1/0&&(O=[[0,-1]]),q=z(O),Y=O.reduce(function(te,ae){return[Math.min(te[0],ae[0]),Math.max(te[1],ae[1])]},[1/0,-1/0])},get:function(){return O.slice()},getConsolidated:function(){return q},getBounds:function(){return Y}}}function k(O,q,Y,ee,te,ae){var U=D();return U.set(Y),{filter:U,filterSpecified:q,svgBrush:{extent:[],brushStartCallback:ee,brushCallback:R(te),brushEndCallback:ae}}}function B(O,q){if(Array.isArray(O[0])?(O=O.map(function(ee){return ee.sort(l)}),q.multiselect?O=z(O.sort(b)):O=[O[0]]):O=[O.sort(l)],q.tickvals){var Y=q.tickvals.slice().sort(l);if(O=O.map(function(ee){var te=[i(0,Y,ee[0],[]),i(1,Y,ee[1],[])];if(te[1]>te[0])return te}).filter(function(ee){return ee}),!O.length)return}return O.length>1?O:O[0]}N.exports={makeBrush:k,ensureAxisBrush:I,cleanRanges:B}}}),Pj=De({"src/traces/parcoords/defaults.js"(j,N){"use strict";var u=Ar(),v=Of().hasColorscale,w=Wc(),S=ql().defaults,l=Hf(),e=Vi(),t=t6(),a=r6(),r=Ag().maxDimensionCount,n=Xb();function i(c,p,f,d,y){var o=y("line.color",f);if(v(c,"line")&&u.isArrayOrTypedArray(o)){if(o.length)return y("line.colorscale"),w(c,p,d,y,{prefix:"line.",cLetter:"c"}),o.length;p.line.color=f}return 1/0}function s(c,p,f,d){function y(E,g){return u.coerce(c,p,t.dimensions,E,g)}var o=y("values"),x=y("visible");if(o&&o.length||(x=p.visible=!1),x){y("label"),y("tickvals"),y("ticktext"),y("tickformat");var M=y("range");p._ax={_id:"y",type:"linear",showexponent:"all",exponentformat:"B",range:M},e.setConvert(p._ax,d.layout),y("multiselect");var T=y("constraintrange");T&&(p.constraintrange=a.cleanRanges(T,p))}}N.exports=function(p,f,d,y){function o(g,A){return u.coerce(p,f,t,g,A)}var x=p.dimensions;Array.isArray(x)&&x.length>r&&(u.log("parcoords traces support up to "+r+" dimensions at the moment"),x.splice(r));var M=l(p,f,{name:"dimensions",layout:y,handleItemDefaults:s}),T=i(p,f,d,y,o);S(f,y,o),(!Array.isArray(M)||!M.length)&&(f.visible=!1),n(f,M,"values",T);var E=u.extendFlat({},y.font,{size:Math.round(y.font.size/1.2)});u.coerceFont(o,"labelfont",E),u.coerceFont(o,"tickfont",E,{autoShadowDflt:!0}),u.coerceFont(o,"rangefont",E),o("labelangle"),o("labelside"),o("unselected.line.color"),o("unselected.line.opacity")}}}),Rj=De({"src/traces/parcoords/calc.js"(j,N){"use strict";var u=Ar().isArrayOrTypedArray,v=Dl(),w=Fd().wrap;N.exports=function(e,t){var a,r;return v.hasColorscale(t,"line")&&u(t.line.color)?(a=t.line.color,r=v.extractOpts(t.line).colorscale,v.calc(e,t,{vals:a,containerStr:"line",cLetter:"c"})):(a=S(t._length),r=[[0,t.line.color],[1,t.line.color]]),w({lineColor:a,cscale:r})};function S(l){for(var e=new Array(l),t=0;t>>16,(j&65280)>>>8,j&255],alpha:1};if(typeof j=="number")return{space:"rgb",values:[j>>>16,(j&65280)>>>8,j&255],alpha:1};if(j=String(j).toLowerCase(),Zb.default[j])w=Zb.default[j].slice(),l="rgb";else if(j==="transparent")S=0,l="rgb",w=[0,0,0];else if(j[0]==="#"){var e=j.slice(1),t=e.length,a=t<=4;S=1,a?(w=[parseInt(e[0]+e[0],16),parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16)],t===4&&(S=parseInt(e[3]+e[3],16)/255)):(w=[parseInt(e[0]+e[1],16),parseInt(e[2]+e[3],16),parseInt(e[4]+e[5],16)],t===8&&(S=parseInt(e[6]+e[7],16)/255)),w[0]||(w[0]=0),w[1]||(w[1]=0),w[2]||(w[2]=0),l="rgb"}else if(v=/^((?:rgba?|hs[lvb]a?|hwba?|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms|oklch|oklab|color))\s*\(([^\)]*)\)/.exec(j)){var r=v[1];l=r.replace(/a$/,"");var n=l==="cmyk"?4:l==="gray"?1:3;w=v[2].trim().split(/\s*[,\/]\s*|\s+/),l==="color"&&(l=w.shift()),w=w.map(function(i,s){if(i[i.length-1]==="%")return i=parseFloat(i)/100,s===3?i:l==="rgb"?i*255:l[0]==="h"||l[0]==="l"&&!s?i*100:l==="lab"?i*125:l==="lch"?s<2?i*150:i*360:l[0]==="o"&&!s?i:l==="oklab"?i*.4:l==="oklch"?s<2?i*.4:i*360:i;if(l[s]==="h"||s===2&&l[l.length-1]==="h"){if($b[i]!==void 0)return $b[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)}),S=w.length>n?w.pop():1}else/[0-9](?:\s|\/|,)/.test(j)&&(w=j.match(/([0-9]+)/g).map(function(i){return parseFloat(i)}),l=((u=(N=j.match(/([a-z])/ig))==null?void 0:N.join(""))==null?void 0:u.toLowerCase())||"rgb");return{space:l,values:w,alpha:S}}var Zb,a6,$b,Dj=di({"node_modules/color-parse/index.js"(){Zb=Du(QA(),1),a6=Ij,$b={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}}),Tg,n6=di({"node_modules/color-space/rgb.js"(){Tg={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}}}),Mg,Fj=di({"node_modules/color-space/hsl.js"(){n6(),Mg={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(j){var N=j[0]/360,u=j[1]/100,v=j[2]/100,w,S,l,e,t,a=0;if(u===0)return t=v*255,[t,t,t];for(S=v<.5?v*(1+u):v+u-v*u,w=2*v-S,e=[0,0,0];a<3;)l=N+1/3*-(a-1),l<0?l++:l>1&&l--,t=6*l<1?w+(S-w)*6*l:2*l<1?S:3*l<2?w+(S-w)*(2/3-l)*6:w,e[a++]=t*255;return e}},Tg.hsl=function(j){var N=j[0]/255,u=j[1]/255,v=j[2]/255,w=Math.min(N,u,v),S=Math.max(N,u,v),l=S-w,e,t,a;return S===w?e=0:N===S?e=(u-v)/l:u===S?e=2+(v-N)/l:v===S&&(e=4+(N-u)/l),e=Math.min(e*60,360),e<0&&(e+=360),a=(w+S)/2,S===w?t=0:a<=.5?t=l/(S+w):t=l/(2-S-w),[e,t*100,a*100]}}}),i6={};Zo(i6,{default:()=>zj});function zj(j){Array.isArray(j)&&j.raw&&(j=String.raw(...arguments)),j instanceof Number&&(j=+j);var N,u,v,w=a6(j);if(!w.space)return[];let S=w.space[0]==="h"?Mg.min:Tg.min,l=w.space[0]==="h"?Mg.max:Tg.max;return N=Array(3),N[0]=Math.min(Math.max(w.values[0],S[0]),l[0]),N[1]=Math.min(Math.max(w.values[1],S[1]),l[1]),N[2]=Math.min(Math.max(w.values[2],S[2]),l[2]),w.space[0]==="h"&&(N=Mg.rgb(N)),N.push(Math.min(Math.max(w.alpha,0),1)),N}var Bj=di({"node_modules/color-rgba/index.js"(){Dj(),n6(),Fj()}}),o6=De({"src/traces/parcoords/helpers.js"(j){"use strict";var N=Ar().isTypedArray;j.convertTypedArray=function(u){return N(u)?Array.prototype.slice.call(u):u},j.isOrdinal=function(u){return!!u.tickvals},j.isVisible=function(u){return u.visible||!("visible"in u)}}}),Oj=De({"src/traces/parcoords/lines.js"(j,N){"use strict";var u=["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(` +`),v=["precision highp float;","","varying vec4 fragColor;","","void main() {"," gl_FragColor = fragColor;","}"].join(` +`),w=Ag().maxDimensionCount,S=Ar(),l=1e-6,e=2048,t=new Uint8Array(4),a=new Uint8Array(4),r={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function n(A){A.read({x:0,y:0,width:1,height:1,data:t})}function i(A,m,h,b,_){var I=A._gl;I.enable(I.SCISSOR_TEST),I.scissor(m,h,b,_),A.clear({color:[0,0,0,0],depth:1})}function s(A,m,h,b,_,I){var C=I.key;function F(R){var z=Math.min(b,_-R*b);R===0&&(window.cancelAnimationFrame(h.currentRafs[C]),delete h.currentRafs[C],i(A,I.scissorX,I.scissorY,I.scissorWidth,I.viewBoxSize[1])),!h.clearOnly&&(I.count=2*z,I.offset=2*R*b,m(I),R*b+z<_&&(h.currentRafs[C]=window.requestAnimationFrame(function(){F(R+1)})),h.drawCompleted=!1)}h.drawCompleted||(n(A),h.drawCompleted=!0),F(0)}function c(A){return Math.max(l,Math.min(1-l,A))}function p(A,m){for(var h=new Array(256),b=0;b<256;b++)h[b]=A(b/255).concat(m);return h}function f(A,m){return(A>>>8*m)%256/255}function d(A,m,h){for(var b=new Array(A*(w+4)),_=0,I=0;ISe&&(Se=X[ce].dim1.canvasX,ye=ce);re===0&&i(_,0,0,z.canvasWidth,z.canvasHeight);var Ce=U(h);for(ce=0;cece._length&&(he=he.slice(0,ce._length));var oe=ce.tickvals,le;function ne(ut,st){return{val:ut,text:le[st]}}function be(ut,st){return ut.val-st.val}if(w(oe)&&oe.length){v.isTypedArray(oe)&&(oe=Array.from(oe)),le=ce.ticktext,!w(le)||!le.length?le=oe.map(S(ce.tickformat)):le.length>oe.length?le=le.slice(0,oe.length):oe.length>le.length&&(oe=oe.slice(0,le.length));for(var Fe=1;Fe=st||Zt>=yt)return;var vr=je.lineLayer.readPixel(Pt,yt-1-Zt),Nt=vr[3]!==0,Kt=Nt?vr[2]+256*(vr[1]+256*vr[0]):null,nt={x:Pt,y:Zt,clientX:ut.clientX,clientY:ut.clientY,dataIndex:je.model.key,curveNumber:Kt};Kt!==ye&&(Nt?H.hover(nt):H.unhover&&H.unhover(nt),ye=Kt)}}),me.style("opacity",function(je){return je.pick?0:1}),$.style("background","rgba(255, 255, 255, 0)");var Se=$.selectAll("."+y.cn.parcoords).data(ce,c);Se.exit().remove(),Se.enter().append("g").classed(y.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),Se.attr("transform",function(je){return a(je.model.translateX,je.model.translateY)});var Ce=Se.selectAll("."+y.cn.parcoordsControlView).data(p,c);Ce.enter().append("g").classed(y.cn.parcoordsControlView,!0),Ce.attr("transform",function(je){return a(je.model.pad.l,je.model.pad.t)});var qe=Ce.selectAll("."+y.cn.yAxis).data(function(je){return je.dimensions},c);qe.enter().append("g").classed(y.cn.yAxis,!0),Ce.each(function(je){B(qe,je,Z)}),me.each(function(je){if(je.viewModel){!je.lineLayer||H?je.lineLayer=x(this,je):je.lineLayer.update(je),(je.key||je.key===0)&&(je.viewModel[je.key]=je.lineLayer);var ut=!je.context||H;je.lineLayer.render(je.viewModel.panels,ut)}}),qe.attr("transform",function(je){return a(je.xScale(je.xIndex),0)}),qe.call(u.behavior.drag().origin(function(je){return je}).on("drag",function(je){var ut=je.parent;re.linePickActive(!1),je.x=Math.max(-y.overdrag,Math.min(je.model.width+y.overdrag,u.event.x)),je.canvasX=je.x*je.model.canvasPixelRatio,qe.sort(function(st,yt){return st.x-yt.x}).each(function(st,yt){st.xIndex=yt,st.x=je===st?st.x:st.xScale(st.xIndex),st.canvasX=st.x*st.model.canvasPixelRatio}),B(qe,ut,Z),qe.filter(function(st){return Math.abs(je.xIndex-st.xIndex)!==0}).attr("transform",function(st){return a(st.xScale(st.xIndex),0)}),u.select(this).attr("transform",a(je.x,0)),qe.each(function(st,yt,At){At===je.parent.key&&(ut.dimensions[yt]=st)}),ut.contextLayer&&ut.contextLayer.render(ut.panels,!1,!C(ut)),ut.focusLayer.render&&ut.focusLayer.render(ut.panels)}).on("dragend",function(je){var ut=je.parent;je.x=je.xScale(je.xIndex),je.canvasX=je.x*je.model.canvasPixelRatio,B(qe,ut,Z),u.select(this).attr("transform",function(st){return a(st.x,0)}),ut.contextLayer&&ut.contextLayer.render(ut.panels,!1,!C(ut)),ut.focusLayer&&ut.focusLayer.render(ut.panels),ut.pickLayer&&ut.pickLayer.render(ut.panels,!0),re.linePickActive(!0),H&&H.axesMoved&&H.axesMoved(ut.key,ut.dimensions.map(function(st){return st.crossfilterDimensionIndex}))})),qe.exit().remove();var Ue=qe.selectAll("."+y.cn.axisOverlays).data(p,c);Ue.enter().append("g").classed(y.cn.axisOverlays,!0),Ue.selectAll("."+y.cn.axis).remove();var xe=Ue.selectAll("."+y.cn.axis).data(p,c);xe.enter().append("g").classed(y.cn.axis,!0),xe.each(function(je){var ut=je.model.height/je.model.tickDistance,st=je.domainScale,yt=st.domain();u.select(this).call(u.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(ut,je.tickFormat).tickValues(je.ordinal?yt:null).tickFormat(function(At){return d.isOrdinal(je)?At:q(je.model.dimensions[je.visibleIndex],At)}).scale(st)),n.font(xe.selectAll("text"),je.model.tickFont)}),xe.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),xe.selectAll("text").style("cursor","default");var he=Ue.selectAll("."+y.cn.axisHeading).data(p,c);he.enter().append("g").classed(y.cn.axisHeading,!0);var oe=he.selectAll("."+y.cn.axisTitle).data(p,c);oe.enter().append("text").classed(y.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events",K?"none":"auto"),oe.text(function(je){return je.label}).each(function(je){var ut=u.select(this);n.font(ut,je.model.labelFont),r.convertToTspans(ut,te)}).attr("transform",function(je){var ut=k(je.model.labelAngle,je.model.labelSide),st=y.axisTitleOffset;return(ut.dir>0?"":a(0,2*st+je.model.height))+t(ut.degrees)+a(-st*ut.dx,-st*ut.dy)}).attr("text-anchor",function(je){var ut=k(je.model.labelAngle,je.model.labelSide),st=Math.abs(ut.dx),yt=Math.abs(ut.dy);return 2*st>yt?ut.dir*ut.dx<0?"start":"end":"middle"});var le=Ue.selectAll("."+y.cn.axisExtent).data(p,c);le.enter().append("g").classed(y.cn.axisExtent,!0);var ne=le.selectAll("."+y.cn.axisExtentTop).data(p,c);ne.enter().append("g").classed(y.cn.axisExtentTop,!0),ne.attr("transform",a(0,-y.axisExtentOffset));var be=ne.selectAll("."+y.cn.axisExtentTopText).data(p,c);be.enter().append("text").classed(y.cn.axisExtentTopText,!0).call(z),be.text(function(je){return Y(je,!0)}).each(function(je){n.font(u.select(this),je.model.rangeFont)});var Fe=le.selectAll("."+y.cn.axisExtentBottom).data(p,c);Fe.enter().append("g").classed(y.cn.axisExtentBottom,!0),Fe.attr("transform",function(je){return a(0,je.model.height+y.axisExtentOffset)});var Ve=Fe.selectAll("."+y.cn.axisExtentBottomText).data(p,c);Ve.enter().append("text").classed(y.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(z),Ve.text(function(je){return Y(je,!1)}).each(function(je){n.font(u.select(this),je.model.rangeFont)}),o.ensureAxisBrush(Ue,Q,te)}}}),s6=De({"src/traces/parcoords/plot.js"(t,N){"use strict";var u=Nj(),v=Yb(),w=o6().isVisible,S={};function l(a,r,n){var i=r.indexOf(n),s=a.indexOf(i);return s===-1&&(s+=r.length),s}function e(a,r){return function(i,s){return l(a,r,i)-l(a,r,s)}}var t=N.exports=function(r,n){var i=r._fullLayout,s=v(r,[],S);if(s){var c={},p={},f={},d=i._size;n.forEach(function(T,E){var g=T[0].trace,A=f[E]=g.index;c[E]=r.data[A].dimensions,p[E]=r.data[A].dimensions.slice()});var y=function(T,E,g){var A=p[T][E],m=g.map(function(F){return F.slice()}),h="dimensions["+E+"].constraintrange",b=i._tracePreGUI[r._fullData[f[T]].uid];if(b[h]===void 0){var _=A.constraintrange;b[h]=_||null}var I=r._fullData[f[T]].dimensions[E];m.length?(m.length===1&&(m=m[0]),A.constraintrange=m,I.constraintrange=m.slice(),m=[m]):(delete A.constraintrange,delete I.constraintrange,m=null);var C={};C[h]=m,r.emit("plotly_restyle",[C,[f[T]]])},o=function(T){r.emit("plotly_hover",T)},x=function(T){r.emit("plotly_unhover",T)},M=function(T,E){var g=e(E,p[T].filter(w));c[T].sort(g),p[T].filter(function(A){return!w(A)}).sort(function(A){return p[T].indexOf(A)}).forEach(function(A){c[T].splice(c[T].indexOf(A),1),c[T].splice(p[T].indexOf(A),0,A)}),r.emit("plotly_restyle",[{dimensions:[c[T]]},[f[T]]])};u(r,n,{width:d.w,height:d.h,margin:{t:d.t,r:d.r,b:d.b,l:d.l}},{filterChanged:y,hover:o,unhover:x,axesMoved:M})}};t.reglPrecompiled=S}}),jj=De({"src/traces/parcoords/base_plot.js"(j){"use strict";var N=Qn(),u=Bf().getModuleCalcData,v=s6(),w=Kh();j.name="parcoords",j.plot=function(S){var l=u(S.calcdata,"parcoords")[0];l.length&&v(S,l)},j.clean=function(S,l,e,t){var a=t._has&&t._has("parcoords"),r=l._has&&l._has("parcoords");a&&!r&&(t._paperdiv.selectAll(".parcoords").remove(),t._glimages.selectAll("*").remove())},j.toSVG=function(S){var l=S._fullLayout._glimages,e=N.select(S).selectAll(".svg-container"),t=e.filter(function(r,n){return n===e.size()-1}).selectAll(".gl-canvas-context, .gl-canvas-focus");function a(){var r=this,n=r.toDataURL("image/png"),i=l.append("svg:image");i.attr({xmlns:w.svg,"xlink:href":n,preserveAspectRatio:"none",x:0,y:0,width:r.style.width,height:r.style.height})}t.each(a),window.setTimeout(function(){N.selectAll("#filterBarPattern").attr("id","filterBarPattern")},60)}}}),Uj=De({"src/traces/parcoords/base_index.js"(j,N){"use strict";N.exports={attributes:t6(),supplyDefaults:Pj(),calc:Rj(),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:jj(),categories:["gl","regl","noOpacity","noHover"],meta:{}}}}),qj=De({"src/traces/parcoords/index.js"(j,N){"use strict";var u=Uj();u.plot=s6(),N.exports=u}}),Gj=De({"lib/parcoords.js"(j,N){"use strict";N.exports=qj()}}),l6=De({"src/traces/parcats/attributes.js"(j,N){"use strict";var u=Ji().extendFlat,v=Bs(),w=Ml(),S=ul(),{hovertemplateAttrs:l,templatefallbackAttrs:e}=Is(),t=ql().attributes,a=u({editType:"calc"},S("line",{editTypeOverride:"calc"}),{shape:{valType:"enumerated",values:["linear","hspline"],dflt:"linear",editType:"plot"},hovertemplate:l({editType:"plot",arrayOk:!1},{keys:["count","probability"]}),hovertemplatefallback:e({editType:"plot"})});N.exports={domain:t({name:"parcats",trace:!0,editType:"calc"}),hoverinfo:u({},v.hoverinfo,{flags:["count","probability"],editType:"plot",arrayOk:!1}),hoveron:{valType:"enumerated",values:["category","color","dimension"],dflt:"category",editType:"plot"},hovertemplate:l({editType:"plot",arrayOk:!1},{keys:["count","probability","category","categorycount","colorcount","bandcolorcount"]}),hovertemplatefallback:e({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:w({editType:"calc"}),tickfont:w({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:a,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}}}),Vj=De({"src/traces/parcats/defaults.js"(j,N){"use strict";var u=Ar(),v=Of().hasColorscale,w=Wc(),S=ql().defaults,l=Hf(),e=l6(),t=Xb(),a=Vf().isTypedArraySpec;function r(i,s,c,p,f){f("line.shape"),f("line.hovertemplate"),f("line.hovertemplatefallback");var d=f("line.color",p.colorway[0]);if(v(i,"line")&&u.isArrayOrTypedArray(d)){if(d.length)return f("line.colorscale"),w(i,s,p,f,{prefix:"line.",cLetter:"c"}),d.length;s.line.color=c}return 1/0}function n(i,s){function c(M,T){return u.coerce(i,s,e.dimensions,M,T)}var p=c("values"),f=c("visible");if(p&&p.length||(f=s.visible=!1),f){c("label"),c("displayindex",s._index);var d=i.categoryarray,y=u.isArrayOrTypedArray(d)&&d.length>0||a(d),o;y&&(o="array");var x=c("categoryorder",o);x==="array"?(c("categoryarray"),c("ticktext")):(delete i.categoryarray,delete i.ticktext),!y&&x==="array"&&(s.categoryorder="trace")}}N.exports=function(s,c,p,f){function d(M,T){return u.coerce(s,c,e,M,T)}var y=l(s,c,{name:"dimensions",handleItemDefaults:n}),o=r(s,c,p,f,d);S(c,f,d),(!Array.isArray(y)||!y.length)&&(c.visible=!1),t(c,y,"values",o),d("hoveron"),d("hovertemplate"),d("hovertemplatefallback"),d("arrangement"),d("bundlecolors"),d("sortpaths"),d("counts");var x=f.font;u.coerceFont(d,"labelfont",x,{overrideDflt:{size:Math.round(x.size)}}),u.coerceFont(d,"tickfont",x,{autoShadowDflt:!0,overrideDflt:{size:Math.round(x.size/1.2)}})}}}),Hj=De({"src/traces/parcats/calc.js"(j,N){"use strict";var u=Fd().wrap,v=Of().hasColorscale,w=Wf(),S=w3(),l=Ki(),e=Ar(),t=io();N.exports=function(x,M){var T=e.filterVisible(M.dimensions);if(T.length===0)return[];var E=T.map(function(U){var H;if(U.categoryorder==="trace")H=null;else if(U.categoryorder==="array")H=U.categoryarray;else{H=S(U.values);for(var K=!0,V=0;V=o.length||x[o[M]]!==void 0)return!1;x[o[M]]=!0}return!0}}}),Wj=De({"src/traces/parcats/parcats.js"(j,N){"use strict";var u=Qn(),v=(Hp(),ts(rp)).interpolateNumber,w=ex(),S=ii(),l=uu(),e=Ar(),t=e.strTranslate,a=Ki(),r=Xs();function n(V,$,X,Z){var Q=$._context.staticPlot,re=V.map(te.bind(0,$,X)),ce=Z.selectAll("g.parcatslayer").data([null]);ce.enter().append("g").attr("class","parcatslayer").style("pointer-events",Q?"none":"all");var me=ce.selectAll("g.trace.parcats").data(re,i),ye=me.enter().append("g").attr("class","trace parcats");me.attr("transform",function(ne){return t(ne.x,ne.y)}),ye.append("g").attr("class","paths");var Ae=me.select("g.paths"),Se=Ae.selectAll("path.path").data(function(ne){return ne.paths},i);Se.attr("fill",function(ne){return ne.model.color});var Ce=Se.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",function(ne){return ne.model.color}).attr("fill-opacity",0);x(Ce),Se.attr("d",function(ne){return ne.svgD}),Ce.empty()||Se.sort(c),Se.exit().remove(),Se.on("mouseover",p).on("mouseout",f).on("click",o),ye.append("g").attr("class","dimensions");var qe=me.select("g.dimensions"),Ue=qe.selectAll("g.dimension").data(function(ne){return ne.dimensions},i);Ue.enter().append("g").attr("class","dimension"),Ue.attr("transform",function(ne){return t(ne.x,0)}),Ue.exit().remove();var xe=Ue.selectAll("g.category").data(function(ne){return ne.categories},i),he=xe.enter().append("g").attr("class","category");xe.attr("transform",function(ne){return t(0,ne.y)}),he.append("rect").attr("class","catrect").attr("pointer-events","none"),xe.select("rect.catrect").attr("fill","none").attr("width",function(ne){return ne.width}).attr("height",function(ne){return ne.height}),E(he);var oe=xe.selectAll("rect.bandrect").data(function(ne){return ne.bands},i);oe.each(function(){e.raiseToTop(this)}),oe.attr("fill",function(ne){return ne.color});var le=oe.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",function(ne){return ne.color}).attr("fill-opacity",0);oe.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"}),A(le),oe.exit().remove(),he.append("text").attr("class","catlabel").attr("pointer-events","none"),xe.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){a.font(u.select(this),ne.parcatsViewModel.categorylabelfont),r.convertToTspans(u.select(this),$)}),he.append("text").attr("class","dimlabel"),xe.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,be){return be===0?ne.parcatsViewModel.model.dimensions[ne.model.dimensionInd].dimensionLabel:null}).each(function(ne){a.font(u.select(this),ne.parcatsViewModel.labelfont)}),xe.selectAll("rect.bandrect").on("mouseover",z).on("mouseout",D),xe.exit().remove(),Ue.call(u.behavior.drag().origin(function(ne){return{x:ne.x,y:0}}).on("dragstart",k).on("drag",B).on("dragend",O)),me.each(function(ne){ne.traceSelection=u.select(this),ne.pathSelection=u.select(this).selectAll("g.paths").selectAll("path.path"),ne.dimensionSelection=u.select(this).selectAll("g.dimensions").selectAll("g.dimension")}),me.exit().remove()}N.exports=function(V,$,X,Z){n(X,V,Z,$)};function i(V){return V.key}function s(V){var $=V.parcatsViewModel.dimensions.length,X=V.parcatsViewModel.dimensions[$-1].model.dimensionInd;return V.model.dimensionInd===X}function c(V,$){return V.model.rawColor>$.model.rawColor?1:V.model.rawColor<$.model.rawColor?-1:0}function p(V){if(!V.parcatsViewModel.dragDimension&&V.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1){e.raiseToTop(this),M(u.select(this));var $=d(V),X=y(V);if(V.parcatsViewModel.graphDiv.emit("plotly_hover",{points:$,event:u.event,constraints:X}),V.parcatsViewModel.hoverinfoItems.indexOf("none")===-1){var Z=u.mouse(this)[0],Q=V.parcatsViewModel.graphDiv,re=V.parcatsViewModel.trace,ce=Q._fullLayout,me=ce._paperdiv.node().getBoundingClientRect(),ye=V.parcatsViewModel.graphDiv.getBoundingClientRect(),Ae,Se,Ce;for(Ce=0;Ce"),je=u.mouse(Q)[0];l.loneHover({trace:re,x:xe-me.left+ye.left,y:he-me.top+ye.top,text:Ve,color:V.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:oe,idealAlign:jeS.mostReadable($.model.color)).attr("stroke-width",.3)}function T(V){V.select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}function E(V){V.select("rect.catrect").attr("stroke","black").attr("stroke-width",1).attr("stroke-opacity",1)}function g(V){V.attr("stroke","black").attr("stroke-width",1.5)}function A(V){V.attr("stroke","black").attr("stroke-width",.2).attr("stroke-opacity",1).attr("fill-opacity",1)}function m(V){var $=V.parcatsViewModel.pathSelection,X=V.categoryViewModel.model.dimensionInd,Z=V.categoryViewModel.model.categoryInd;return $.filter(function(Q){return Q.model.categoryInds[X]===Z&&Q.model.color===V.color})}function h(V){var $=u.select(V.parentNode).selectAll("rect.bandrect");$.each(function(X){var Z=m(X);M(Z),Z.each(function(){e.raiseToTop(this)})}),T(u.select(V.parentNode))}function b(V){var $=u.select(V).datum(),X=m($);M(X),X.each(function(){e.raiseToTop(this)}),u.select(V.parentNode).selectAll("rect.bandrect").filter(function(Z){return Z.color===$.color}).each(function(){e.raiseToTop(this),g(u.select(this))})}function _(V,$,X){var Z=u.select(V).datum(),Q=Z.categoryViewModel.model,re=Z.parcatsViewModel.graphDiv,ce=u.select(V.parentNode).selectAll("rect.bandrect"),me=[];ce.each(function(Ae){var Se=m(Ae);Se.each(function(Ce){Array.prototype.push.apply(me,d(Ce))})});var ye={};ye[Q.dimensionInd]=Q.categoryValue,re.emit($,{points:me,event:X,constraints:ye})}function I(V,$,X){var Z=u.select(V).datum(),Q=Z.categoryViewModel.model,re=Z.parcatsViewModel.graphDiv,ce=m(Z),me=[];ce.each(function(Ae){Array.prototype.push.apply(me,d(Ae))});var ye={};ye[Q.dimensionInd]=Q.categoryValue,Z.rawColor!==void 0&&(ye.color=Z.rawColor),re.emit($,{points:me,event:X,constraints:ye})}function C(V,$,X){V._fullLayout._calcInverseTransform(V);var Z=V._fullLayout._invScaleX,Q=V._fullLayout._invScaleY,re=u.select(X.parentNode).select("rect.catrect"),ce=re.node().getBoundingClientRect(),me=re.datum(),ye=me.parcatsViewModel,Ae=ye.model.dimensions[me.model.dimensionInd],Se=ye.trace,Ce=ce.top+ce.height/2,qe,Ue;ye.dimensions.length>1&&Ae.displayInd===ye.dimensions.length-1?(qe=ce.left,Ue="left"):(qe=ce.left+ce.width,Ue="right");var xe=me.model.count,he=me.model.categoryLabel,oe=xe/me.parcatsViewModel.model.count,le={countLabel:xe,categoryLabel:he,probabilityLabel:oe.toFixed(3)},ne=[];me.parcatsViewModel.hoverinfoItems.indexOf("count")!==-1&&ne.push(["Count:",le.countLabel].join(" ")),me.parcatsViewModel.hoverinfoItems.indexOf("probability")!==-1&&ne.push(["P("+le.categoryLabel+"):",le.probabilityLabel].join(" "));var be=ne.join("
");return{trace:Se,x:Z*(qe-$.left),y:Q*(Ce-$.top),text:be,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:Ue,hovertemplate:Se.hovertemplate,hovertemplateLabels:le,eventData:[{data:Se._input,fullData:Se,count:xe,category:he,probability:oe}]}}function F(V,$,X){var Z=[];return u.select(X.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each(function(){var Q=this;Z.push(C(V,$,Q))}),Z}function R(V,$,X){V._fullLayout._calcInverseTransform(V);var Z=V._fullLayout._invScaleX,Q=V._fullLayout._invScaleY,re=X.getBoundingClientRect(),ce=u.select(X).datum(),me=ce.categoryViewModel,ye=me.parcatsViewModel,Ae=ye.model.dimensions[me.model.dimensionInd],Se=ye.trace,Ce=re.y+re.height/2,qe,Ue;ye.dimensions.length>1&&Ae.displayInd===ye.dimensions.length-1?(qe=re.left,Ue="left"):(qe=re.left+re.width,Ue="right");var xe=me.model.categoryLabel,he=ce.parcatsViewModel.model.count,oe=0;ce.categoryViewModel.bands.forEach(function(At){At.color===ce.color&&(oe+=At.count)});var le=me.model.count,ne=0;ye.pathSelection.each(function(At){At.model.color===ce.color&&(ne+=At.model.count)});var be=oe/he,Fe=oe/ne,Ve=oe/le,je={countLabel:oe,categoryLabel:xe,probabilityLabel:be.toFixed(3)},ut=[];me.parcatsViewModel.hoverinfoItems.indexOf("count")!==-1&&ut.push(["Count:",je.countLabel].join(" ")),me.parcatsViewModel.hoverinfoItems.indexOf("probability")!==-1&&(ut.push("P(color \u2229 "+xe+"): "+je.probabilityLabel),ut.push("P("+xe+" | color): "+Fe.toFixed(3)),ut.push("P(color | "+xe+"): "+Ve.toFixed(3)));var st=ut.join("
"),yt=S.mostReadable(ce.color);return{trace:Se,x:Z*(qe-$.left),y:Q*(Ce-$.top),text:st,color:ce.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:yt,fontSize:10,idealAlign:Ue,hovertemplate:Se.hovertemplate,hovertemplateLabels:je,eventData:[{data:Se._input,fullData:Se,category:xe,count:he,probability:be,categorycount:le,colorcount:ne,bandcolorcount:oe}]}}function z(V){if(!V.parcatsViewModel.dragDimension&&V.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1){var $=u.mouse(this)[1];if($<-1)return;var X=V.parcatsViewModel.graphDiv,Z=X._fullLayout,Q=Z._paperdiv.node().getBoundingClientRect(),re=V.parcatsViewModel.hoveron,ce=this;if(re==="color"?(b(ce),I(ce,"plotly_hover",u.event)):(h(ce),_(ce,"plotly_hover",u.event)),V.parcatsViewModel.hoverinfoItems.indexOf("none")===-1){var me;re==="category"?me=C(X,Q,ce):re==="color"?me=R(X,Q,ce):re==="dimension"&&(me=F(X,Q,ce)),me&&l.loneHover(me,{container:Z._hoverlayer.node(),outerContainer:Z._paper.node(),gd:X})}}}function D(V){var $=V.parcatsViewModel;if(!$.dragDimension&&(x($.pathSelection),E($.dimensionSelection.selectAll("g.category")),A($.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),l.loneUnhover($.graphDiv._fullLayout._hoverlayer.node()),$.pathSelection.sort(c),$.hoverinfoItems.indexOf("skip")===-1)){var X=V.parcatsViewModel.hoveron,Z=this;X==="color"?I(Z,"plotly_unhover",u.event):_(Z,"plotly_unhover",u.event)}}function k(V){V.parcatsViewModel.arrangement!=="fixed"&&(V.dragDimensionDisplayInd=V.model.displayInd,V.initialDragDimensionDisplayInds=V.parcatsViewModel.model.dimensions.map(function($){return $.displayInd}),V.dragHasMoved=!1,V.dragCategoryDisplayInd=null,u.select(this).selectAll("g.category").select("rect.catrect").each(function($){var X=u.mouse(this)[0],Z=u.mouse(this)[1];-2<=X&&X<=$.width+2&&-2<=Z&&Z<=$.height+2&&(V.dragCategoryDisplayInd=$.model.displayInd,V.initialDragCategoryDisplayInds=V.model.categories.map(function(Q){return Q.displayInd}),$.model.dragY=$.y,e.raiseToTop(this.parentNode),u.select(this.parentNode).selectAll("rect.bandrect").each(function(Q){Q.ySe.y+Se.height/2&&(re.model.displayInd=Se.model.displayInd,Se.model.displayInd=me),V.dragCategoryDisplayInd=re.model.displayInd}if(V.dragCategoryDisplayInd===null||V.parcatsViewModel.arrangement==="freeform"){Q.model.dragX=u.event.x;var Ce=V.parcatsViewModel.dimensions[X],qe=V.parcatsViewModel.dimensions[Z];Ce!==void 0&&Q.model.dragXqe.x&&(Q.model.displayInd=qe.model.displayInd,qe.model.displayInd=V.dragDimensionDisplayInd),V.dragDimensionDisplayInd=Q.model.displayInd}H(V.parcatsViewModel),U(V.parcatsViewModel),ee(V.parcatsViewModel),Y(V.parcatsViewModel)}}function O(V){if(V.parcatsViewModel.arrangement!=="fixed"&&V.dragDimensionDisplayInd!==null){u.select(this).selectAll("text").attr("font-weight","normal");var $={},X=q(V.parcatsViewModel),Z=V.parcatsViewModel.model.dimensions.map(function(qe){return qe.displayInd}),Q=V.initialDragDimensionDisplayInds.some(function(qe,Ue){return qe!==Z[Ue]});Q&&Z.forEach(function(qe,Ue){var xe=V.parcatsViewModel.model.dimensions[Ue].containerInd;$["dimensions["+xe+"].displayindex"]=qe});var re=!1;if(V.dragCategoryDisplayInd!==null){var ce=V.model.categories.map(function(qe){return qe.displayInd});if(re=V.initialDragCategoryDisplayInds.some(function(qe,Ue){return qe!==ce[Ue]}),re){var me=V.model.categories.slice().sort(function(qe,Ue){return qe.displayInd-Ue.displayInd}),ye=me.map(function(qe){return qe.categoryValue}),Ae=me.map(function(qe){return qe.categoryLabel});$["dimensions["+V.model.containerInd+"].categoryarray"]=[ye],$["dimensions["+V.model.containerInd+"].ticktext"]=[Ae],$["dimensions["+V.model.containerInd+"].categoryorder"]="array"}}if(V.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1&&!V.dragHasMoved&&V.potentialClickBand&&(V.parcatsViewModel.hoveron==="color"?I(V.potentialClickBand,"plotly_click",u.event.sourceEvent):_(V.potentialClickBand,"plotly_click",u.event.sourceEvent)),V.model.dragX=null,V.dragCategoryDisplayInd!==null){var Se=V.parcatsViewModel.dimensions[V.dragDimensionDisplayInd].categories[V.dragCategoryDisplayInd];Se.model.dragY=null,V.dragCategoryDisplayInd=null}V.dragDimensionDisplayInd=null,V.parcatsViewModel.dragDimension=null,V.dragHasMoved=null,V.potentialClickBand=null,H(V.parcatsViewModel),U(V.parcatsViewModel);var Ce=u.transition().duration(300).ease("cubic-in-out");Ce.each(function(){ee(V.parcatsViewModel,!0),Y(V.parcatsViewModel,!0)}).each("end",function(){(Q||re)&&w.restyle(V.parcatsViewModel.graphDiv,$,[X])})}}function q(V){for(var $,X=V.graphDiv._fullData,Z=0;Z=0;ye--)Ae+="C"+ce[ye]+","+($[ye+1]+Z)+" "+re[ye]+","+($[ye]+Z)+" "+(V[ye]+X[ye])+","+($[ye]+Z),Ae+="l-"+X[ye]+",0 ";return Ae+="Z",Ae}function U(V){var $=V.dimensions,X=V.model,Z=$.map(function(vr){return vr.categories.map(function(Nt){return Nt.y})}),Q=V.model.dimensions.map(function(vr){return vr.categories.map(function(Nt){return Nt.displayInd})}),re=V.model.dimensions.map(function(vr){return vr.displayInd}),ce=V.dimensions.map(function(vr){return vr.model.dimensionInd}),me=$.map(function(vr){return vr.x}),ye=$.map(function(vr){return vr.width}),Ae=[];for(var Se in X.paths)X.paths.hasOwnProperty(Se)&&Ae.push(X.paths[Se]);function Ce(vr){var Nt=vr.categoryInds.map(function(nt,Ee){return Q[Ee][nt]}),Kt=ce.map(function(nt){return Nt[nt]});return Kt}Ae.sort(function(vr,Nt){var Kt=Ce(vr),nt=Ce(Nt);return V.sortpaths==="backward"&&(Kt.reverse(),nt.reverse()),Kt.push(vr.valueInds[0]),nt.push(Nt.valueInds[0]),V.bundlecolors&&(Kt.unshift(vr.rawColor),nt.unshift(Nt.rawColor)),Ktnt?1:0});for(var qe=new Array(Ae.length),Ue=$[0].model.count,xe=$[0].categories.map(function(vr){return vr.height}).reduce(function(vr,Nt){return vr+Nt}),he=0;he0?le=xe*(oe.count/Ue):le=0;for(var ne=new Array(Z.length),be=0;be1?ce=(V.width-2*X-Z)/(Q-1):ce=0,me=X,ye=me+ce*re;var Ae=[],Se=V.model.maxCats,Ce=$.categories.length,qe=8,Ue=$.count,xe=V.height-qe*(Se-1),he,oe,le,ne,be,Fe=(Se-Ce)*qe/2,Ve=$.categories.map(function(je){return{displayInd:je.displayInd,categoryInd:je.categoryInd}});for(Ve.sort(function(je,ut){return je.displayInd-ut.displayInd}),be=0;be0?he=oe.count/Ue*xe:he=0,le={key:oe.valueInds[0],model:oe,width:Z,height:he,y:oe.dragY!==null?oe.dragY:Fe,bands:[],parcatsViewModel:V},Fe=Fe+he+qe,Ae.push(le);return{key:$.dimensionInd,x:$.dragX!==null?$.dragX:ye,y:0,width:Z,model:$,categories:Ae,parcatsViewModel:V,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}}}),u6=De({"src/traces/parcats/plot.js"(j,N){"use strict";var u=Wj();N.exports=function(w,S,l,e){var t=w._fullLayout,a=t._paper,r=t._size;u(w,a,S,{width:r.w,height:r.h,margin:{t:r.t,r:r.r,b:r.b,l:r.l}},l,e)}}}),Yj=De({"src/traces/parcats/base_plot.js"(j){"use strict";var N=Bf().getModuleCalcData,u=u6(),v="parcats";j.name=v,j.plot=function(w,S,l,e){var t=N(w.calcdata,v);if(t.length){var a=t[0];u(w,a,l,e)}},j.clean=function(w,S,l,e){var t=e._has&&e._has("parcats"),a=S._has&&S._has("parcats");t&&!a&&e._paperdiv.selectAll(".parcats").remove()}}}),Xj=De({"src/traces/parcats/index.js"(j,N){"use strict";N.exports={attributes:l6(),supplyDefaults:Vj(),calc:Hj(),plot:u6(),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:Yj(),categories:["noOpacity"],meta:{}}}}),Zj=De({"lib/parcats.js"(j,N){"use strict";N.exports=Xj()}}),$j=De({"src/plots/map/styles/arcgis-sat-hybrid.js"(j,N){"use strict";N.exports={version:8,name:"orto",metadata:{"maputnik:renderer":"mlgljs"},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"}},{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} {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} {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} {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} @@ -3208,10 +2707,10 @@ uniform `+wr+" "+Nr+" u_"+pr+`; {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} {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} {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} -{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(` -`),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 +{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"}}}),Kj=De({"src/plots/map/styles/arcgis-sat.js"(j,N){"use strict";N.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"}}]}}}),lp=De({"src/plots/map/constants.js"(j,N){"use strict";var u=(Ap(),ts(Uv)).default,v=$j(),w=Kj(),S='\xA9 OpenStreetMap contributors',l="https://basemaps.cartocdn.com/gl/positron-gl-style/style.json",e="https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",t="https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",a="https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json",r="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:t,streets:t,outdoors:t,light:l,dark:e,satellite:w,"satellite-streets":v,"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:S,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":l,"carto-darkmatter":e,"carto-voyager":t,"carto-positron-nolabels":a,"carto-darkmatter-nolabels":r,"carto-voyager-nolabels":n},s=u(i);N.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(` +`),mapOnErrorMsg:"Map error.",fitBoundsPadding:20}}}),Sg=De({"src/plots/map/layout_attributes.js"(j,N){"use strict";var u=Ar(),v=ii().defaultLine,w=ql().attributes,S=Ml(),l=bu().textposition,e=Ul().overrideAll,t=ws().templatedArray,a=lp(),r=S({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});r.family.dflt="Open Sans Regular, Arial Unicode MS Regular";var n=N.exports=e({_arrayAttrRegexps:[u.counterRegex("map",".layers",!0)],domain:w({name:"map"}),style:{valType:"any",values:a.styleValuesMap,dflt:a.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},fitbounds:{valType:"enumerated",values:[!1,"locations"],dflt:"locations"},bounds:{west:{valType:"number"},east:{valType:"number"},south:{valType:"number"},north:{valType:"number"}},layers:t("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:v},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:v}},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:r,textposition:u.extendFlat({},l,{arrayOk:!1})}})},"plot","from-root");n.uirevision={valType:"any",editType:"none"}}}),Kb=De({"src/traces/scattermap/attributes.js"(j,N){"use strict";var{hovertemplateAttrs:u,texttemplateAttrs:v,templatefallbackAttrs:w}=Is(),S=Cd(),l=Bm(),e=bu(),t=Sg(),a=Bs(),r=ul(),n=Ji().extendFlat,i=Ul().overrideAll,s=Sg(),c=l.line,p=l.marker;N.exports=i({lon:l.lon,lat:l.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({},p.opacity,{dflt:1})},mode:n({},e.mode,{dflt:"markers"}),text:n({},e.text,{}),texttemplate:v({editType:"plot"},{keys:["lat","lon","text"]}),texttemplatefallback:w({editType:"plot"}),hovertext:n({},e.hovertext,{}),line:{color:c.color,width:c.width},connectgaps:e.connectgaps,marker:n({symbol:{valType:"string",dflt:"circle",arrayOk:!0},angle:{valType:"number",dflt:"auto",arrayOk:!0},allowoverlap:{valType:"boolean",dflt:!1},opacity:p.opacity,size:p.size,sizeref:p.sizeref,sizemin:p.sizemin,sizemode:p.sizemode},r("marker")),fill:l.fill,fillcolor:S(),textfont:t.layers.symbol.textfont,textposition:t.layers.symbol.textposition,below:{valType:"string"},selected:{marker:e.selected.marker},unselected:{marker:e.unselected.marker},hoverinfo:n({},a.hoverinfo,{flags:["lon","lat","text","name"]}),hovertemplate:u(),hovertemplatefallback:w()},"calc","nested")}}),c6=De({"src/traces/scattermap/constants.js"(j,N){"use strict";var u=["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"];N.exports={isSupportedFont:function(v){return u.indexOf(v)!==-1}}}}),Jj=De({"src/traces/scattermap/defaults.js"(j,N){"use strict";var u=Ar(),v=Sl(),w=Jh(),S=cd(),l=fd(),e=Ld(),t=Kb(),a=c6().isSupportedFont;N.exports=function(i,s,c,p){function f(b,_){return u.coerce(i,s,t,b,_)}function d(b,_){return u.coerce2(i,s,t,b,_)}var y=r(i,s,f);if(!y){s.visible=!1;return}if(f("text"),f("texttemplate"),f("texttemplatefallback"),f("hovertext"),f("hovertemplate"),f("hovertemplatefallback"),f("mode"),f("below"),v.hasMarkers(s)){w(i,s,c,p,f,{noLine:!0,noAngle:!0}),f("marker.allowoverlap"),f("marker.angle");var o=s.marker;o.symbol!=="circle"&&(u.isArrayOrTypedArray(o.size)&&(o.size=o.size[0]),u.isArrayOrTypedArray(o.color)&&(o.color=o.color[0]))}v.hasLines(s)&&(S(i,s,c,p,f,{noDash:!0}),f("connectgaps"));var x=d("cluster.maxzoom"),M=d("cluster.step"),T=d("cluster.color",s.marker&&s.marker.color||c),E=d("cluster.size"),g=d("cluster.opacity"),A=x!==!1||M!==!1||T!==!1||E!==!1||g!==!1,m=f("cluster.enabled",A);if(m||v.hasText(s)){var h=p.font.family;l(i,s,p,f,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:a(h)?h:"Open Sans Regular",weight:p.font.weight,style:p.font.style,size:p.font.size,color:p.font.color}})}f("fill"),s.fill!=="none"&&e(i,s,c,f),u.coerceSelectionMarkerOpacity(s,f)};function r(n,i,s){var c=s("lon")||[],p=s("lat")||[],f=Math.min(c.length,p.length);return i._length=f,f}}}),f6=De({"src/traces/scattermap/format_labels.js"(j,N){"use strict";var u=Vi();N.exports=function(w,S,l){var e={},t=l[S.subplot]._subplot,a=t.mockAxis,r=w.lonlat;return e.lonLabel=u.tickText(a,a.c2l(r[0]),!0).text,e.latLabel=u.tickText(a,a.c2l(r[1]),!0).text,e}}}),h6=De({"src/plots/map/convert_text_opts.js"(j,N){"use strict";var u=Ar();N.exports=function(w,S){var l=w.split(" "),e=l[0],t=l[1],a=u.isArrayOrTypedArray(S)?u.mean(S):S,r=.5+a/100,n=1.5+a/100,i=["",""],s=[0,0];switch(e){case"top":i[0]="top",s[1]=-n;break;case"bottom":i[0]="bottom",s[1]=n;break}switch(t){case"left":i[1]="right",s[0]=-r;break;case"right":i[1]="left",s[0]=r;break}var c;return i[0]&&i[1]?c=i.join("-"):i[0]?c=i[0]:i[1]?c=i[1]:c="center",{anchor:c,offset:s}}}}),Qj=De({"src/traces/scattermap/convert.js"(j,N){"use strict";var u=io(),v=Ar(),w=Ho().BADNUM,S=mg(),l=Dl(),e=Ki(),t=w1(),a=Sl(),r=c6().isSupportedFont,n=h6(),i=Ch().appendArrayPointValue,s=Xs().NEWLINES,c=Xs().BR_TAG_ALL;N.exports=function(g,A){var m=A[0].trace,h=m.visible===!0&&m._length!==0,b=m.fill!=="none",_=a.hasLines(m),I=a.hasMarkers(m),C=a.hasText(m),F=I&&m.marker.symbol==="circle",R=I&&m.marker.symbol!=="circle",z=m.cluster&&m.cluster.enabled,D=p("fill"),k=p("line"),B=p("circle"),O=p("symbol"),q={fill:D,line:k,circle:B,symbol:O};if(!h)return q;var Y;if((b||_)&&(Y=S.calcTraceToLineCoords(A)),b&&(D.geojson=S.makePolygon(Y),D.layout.visibility="visible",v.extendFlat(D.paint,{"fill-color":m.fillcolor})),_&&(k.geojson=S.makeLine(Y),k.layout.visibility="visible",v.extendFlat(k.paint,{"line-width":m.line.width,"line-color":m.line.color,"line-opacity":m.opacity})),F){var ee=f(A);B.geojson=ee.geojson,B.layout.visibility="visible",z&&(B.filter=["!",["has","point_count"]],q.cluster={type:"circle",filter:["has","point_count"],layout:{visibility:"visible"},paint:{"circle-color":M(m.cluster.color,m.cluster.step),"circle-radius":M(m.cluster.size,m.cluster.step),"circle-opacity":M(m.cluster.opacity,m.cluster.step)}},q.clusterCount={type:"symbol",filter:["has","point_count"],paint:{},layout:{"text-field":"{point_count_abbreviated}","text-font":T(m),"text-size":12}}),v.extendFlat(B.paint,{"circle-color":ee.mcc,"circle-radius":ee.mrc,"circle-opacity":ee.mo})}if(F&&z&&(B.filter=["!",["has","point_count"]]),(R||C)&&(O.geojson=d(A,g),v.extendFlat(O.layout,{visibility:"visible","icon-image":"{symbol}","text-field":"{text}"}),R&&(v.extendFlat(O.layout,{"icon-size":m.marker.size/10}),"angle"in m.marker&&m.marker.angle!=="auto"&&v.extendFlat(O.layout,{"icon-rotate":{type:"identity",property:"angle"},"icon-rotation-alignment":"map"}),O.layout["icon-allow-overlap"]=m.marker.allowoverlap,v.extendFlat(O.paint,{"icon-opacity":m.opacity*m.marker.opacity,"icon-color":m.marker.color,"icon-halo-color":m.marker.color,"icon-halo-width":2,"icon-halo-blur":1.5})),C)){var te=(m.marker||{}).size,ae=n(m.textposition,te);v.extendFlat(O.layout,{"text-size":m.textfont.size,"text-anchor":ae.anchor,"text-offset":ae.offset,"text-font":T(m)}),v.extendFlat(O.paint,{"text-color":m.textfont.color,"text-opacity":m.opacity})}return q};function p(E){return{type:E,geojson:S.makeBlank(),layout:{visibility:"none"},filter:null,paint:{}}}function f(E){var g=E[0].trace,A=g.marker,m=g.selectedpoints,h=v.isArrayOrTypedArray(A.color),b=v.isArrayOrTypedArray(A.size),_=v.isArrayOrTypedArray(A.opacity),I;function C(te){return g.opacity*te}function F(te){return te/2}var R;h&&(l.hasColorscale(g,"marker")?R=l.makeColorScaleFuncFromTrace(A):R=v.identity);var z;b&&(z=t(g));var D;_&&(D=function(te){var ae=u(te)?+v.constrain(te,0,1):0;return C(ae)});var k=[];for(I=0;I850?I+=" Black":h>750?I+=" Extra Bold":h>650?I+=" Bold":h>550?I+=" Semi Bold":h>450?I+=" Medium":h>350?I+=" Regular":h>250?I+=" Light":h>150?I+=" Extra Light":I+=" Thin"):b.slice(0,2).join(" ")==="Open Sans"?(I="Open Sans",h>750?I+=" Extrabold":h>650?I+=" Bold":h>550?I+=" Semibold":h>350?I+=" Regular":I+=" Light"):b.slice(0,3).join(" ")==="Klokantech Noto Sans"&&(I="Klokantech Noto Sans",b[3]==="CJK"&&(I+=" CJK"),I+=h>500?" Bold":" Regular")),_&&(I+=" Italic"),I==="Open Sans Regular Italic"?I="Open Sans Italic":I==="Open Sans Regular Bold"?I="Open Sans Bold":I==="Open Sans Regular Bold Italic"?I="Open Sans Bold Italic":I==="Klokantech Noto Sans Regular Italic"&&(I="Klokantech Noto Sans Italic"),r(I)||(I=A);var C=I.split(", ");return C}}}),eU=De({"src/traces/scattermap/plot.js"(j,N){"use strict";var u=Ar(),v=Qj(),w=lp().traceLayerPrefix,S={cluster:["cluster","clusterCount","circle"],nonCluster:["fill","line","circle","symbol"]};function l(t,a,r,n){this.type="scattermap",this.subplot=t,this.uid=a,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:"source-"+a+"-fill",line:"source-"+a+"-line",circle:"source-"+a+"-circle",symbol:"source-"+a+"-symbol",cluster:"source-"+a+"-circle",clusterCount:"source-"+a+"-circle"},this.layerIds={fill:w+a+"-fill",line:w+a+"-line",circle:w+a+"-circle",symbol:w+a+"-symbol",cluster:w+a+"-cluster",clusterCount:w+a+"-cluster-count"},this.below=null}var e=l.prototype;e.addSource=function(t,a,r){var n={type:"geojson",data:a.geojson};r&&r.enabled&&u.extendFlat(n,{cluster:!0,clusterMaxZoom:r.maxzoom});var i=this.subplot.map.getSource(this.sourceIds[t]);i?i.setData(a.geojson):this.subplot.map.addSource(this.sourceIds[t],n)},e.setSourceData=function(t,a){this.subplot.map.getSource(this.sourceIds[t]).setData(a.geojson)},e.addLayer=function(t,a,r){var n={type:a.type,id:this.layerIds[t],source:this.sourceIds[t],layout:a.layout,paint:a.paint};a.filter&&(n.filter=a.filter);for(var i=this.layerIds[t],s,c=this.subplot.getMapLayers(),p=0;p=0;_--){var I=b[_];i.removeLayer(d.layerIds[I])}h||i.removeSource(d.sourceIds.circle)}function x(h){for(var b=S.nonCluster,_=0;_=0;_--){var I=b[_];i.removeLayer(d.layerIds[I]),h||i.removeSource(d.sourceIds[I])}}function T(h){f?o(h):M(h)}function E(h){p?y(h):x(h)}function g(){for(var h=p?S.cluster:S.nonCluster,b=0;b=0;n--){var i=r[n];a.removeLayer(this.layerIds[i]),a.removeSource(this.sourceIds[i])}},N.exports=function(a,r){var n=r[0].trace,i=n.cluster&&n.cluster.enabled,s=n.visible!==!0,c=new l(a,n.uid,i,s),p=v(a.gd,r),f=c.below=a.belowLookup["trace-"+n.uid],d,y,o;if(i)for(c.addSource("circle",p.circle,n.cluster),d=0;d=0?Math.floor((n+180)/360):Math.ceil((n-180)/360),E=T*360,g=n-E;function A(z){var D=z.lonlat;if(D[0]===l||x&&y.indexOf(z.i+1)===-1)return 1/0;var k=v.modHalf(D[0],360),B=D[1],O=d.project([k,B]),q=O.x-p.c2p([g,B]),Y=O.y-f.c2p([k,i]),ee=Math.max(3,z.mrc||0);return Math.max(Math.sqrt(q*q+Y*Y)-ee,1-3/ee)}if(u.getClosest(s,A,r),r.index!==!1){var m=s[r.index],h=m.lonlat,b=[v.modHalf(h[0],360)+E,h[1]],_=p.c2p(b),I=f.c2p(b),C=m.mrc||1;r.x0=_-C,r.x1=_+C,r.y0=I-C,r.y1=I+C;var F={};F[c.subplot]={_subplot:d};var R=c._module.formatLabels(m,c,F);return r.lonLabel=R.lonLabel,r.latLabel=R.latLabel,r.color=w(c,m),r.extraText=a(c,m,s[0].t.labels),r.hovertemplate=c.hovertemplate,[r]}}function a(r,n,i){if(r.hovertemplate)return;var s=n.hi||r.hoverinfo,c=s.split("+"),p=c.indexOf("all")!==-1,f=c.indexOf("lon")!==-1,d=c.indexOf("lat")!==-1,y=n.lonlat,o=[];function x(M){return M+"\xB0"}return p||f&&d?o.push("("+x(y[1])+", "+x(y[0])+")"):f?o.push(i.lon+x(y[0])):d&&o.push(i.lat+x(y[1])),(p||c.indexOf("text")!==-1)&&S(n,r,o),o.join("
")}N.exports={hoverPoints:t,getExtraText:a}}}),tU=De({"src/traces/scattermap/event_data.js"(j,N){"use strict";N.exports=function(v,w){return v.lon=w.lon,v.lat=w.lat,v}}}),rU=De({"src/traces/scattermap/select.js"(j,N){"use strict";var u=Ar(),v=Sl(),w=Ho().BADNUM;N.exports=function(l,e){var t=l.cd,a=l.xaxis,r=l.yaxis,n=[],i=t[0].trace,s;if(!v.hasMarkers(i))return[];if(e===!1)for(s=0;s1)return 1;for(var W=G,se=0;se<8;se++){var ge=this.sampleCurveX(W)-G;if(Math.abs(ge)ge?Pe=W:Ye=W,W=.5*(Ye-Pe)+Pe;return W},solve:function(G,P){return this.sampleCurveY(this.solveCurveX(G,P))}};var c=t(i);let p,f;function d(){return p==null&&(p=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")&&typeof createImageBitmap=="function"),p}function y(){if(f==null&&(f=!1,d())){let P=new OffscreenCanvas(5,5).getContext("2d",{willReadFrequently:!0});if(P){for(let se=0;se<5*5;se++){let ge=4*se;P.fillStyle=`rgb(${ge},${ge+1},${ge+2})`,P.fillRect(se%5,Math.floor(se/5),1,1)}let W=P.getImageData(0,0,5,5).data;for(let se=0;se<5*5*4;se++)if(se%4!=3&&W[se]!==se){f=!0;break}}}return f||!1}function o(G,P,W,se){let ge=new c(G,P,W,se);return ke=>ge.solve(ke)}let x=o(.25,.1,.25,1);function M(G,P,W){return Math.min(W,Math.max(P,G))}function T(G,P,W){let se=W-P,ge=((G-P)%se+se)%se+P;return ge===P?W:ge}function E(G,...P){for(let W of P)for(let se in W)G[se]=W[se];return G}let g=1;function A(G,P,W){let se={};for(let ge in G)se[ge]=P.call(this,G[ge],ge,G);return se}function m(G,P,W){let se={};for(let ge in G)P.call(this,G[ge],ge,G)&&(se[ge]=G[ge]);return se}function h(G){return Array.isArray(G)?G.map(h):typeof G=="object"&&G?A(G,h):G}let b={};function _(G){b[G]||(typeof console<"u"&&console.warn(G),b[G]=!0)}function I(G,P,W){return(W.y-G.y)*(P.x-G.x)>(P.y-G.y)*(W.x-G.x)}function C(G){return typeof WorkerGlobalScope<"u"&&G!==void 0&&G instanceof WorkerGlobalScope}let F=null;function R(G){return typeof ImageBitmap<"u"&&G instanceof ImageBitmap}let z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";function D(G,P,W,se,ge){return e(this,void 0,void 0,function*(){if(typeof VideoFrame>"u")throw new Error("VideoFrame not supported");let ke=new VideoFrame(G,{timestamp:0});try{let Pe=ke?.format;if(!Pe||!Pe.startsWith("BGR")&&!Pe.startsWith("RGB"))throw new Error(`Unrecognized format ${Pe}`);let Ye=Pe.startsWith("BGR"),at=new Uint8ClampedArray(se*ge*4);if(yield ke.copyTo(at,function(pt,Et,Vt,er,sr){let xr=4*Math.max(-Et,0),Er=(Math.max(0,Vt)-Vt)*er*4+xr,Qr=4*er,la=Math.max(0,Et),Ka=Math.max(0,Vt);return{rect:{x:la,y:Ka,width:Math.min(pt.width,Et+er)-la,height:Math.min(pt.height,Vt+sr)-Ka},layout:[{offset:Er,stride:Qr}]}}(G,P,W,se,ge)),Ye)for(let pt=0;ptC(self)?self.worker&&self.worker.referrer:(window.location.protocol==="blob:"?window.parent:window).location.href,H=function(G,P){if(/:\/\//.test(G.url)&&!/^https?:|^file:/.test(G.url)){let se=ee(G.url);if(se)return se(G,P);if(C(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:G,targetMapId:te},P)}if(!(/^file:/.test(W=G.url)||/^file:/.test(U())&&!/^\w+:/.test(W))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return function(se,ge){return e(this,void 0,void 0,function*(){let ke=new Request(se.url,{method:se.method||"GET",body:se.body,credentials:se.credentials,headers:se.headers,cache:se.cache,referrer:U(),signal:ge.signal});se.type!=="json"||ke.headers.has("Accept")||ke.headers.set("Accept","application/json");let Pe=yield fetch(ke);if(!Pe.ok){let pt=yield Pe.blob();throw new ae(Pe.status,Pe.statusText,se.url,pt)}let Ye;Ye=se.type==="arrayBuffer"||se.type==="image"?Pe.arrayBuffer():se.type==="json"?Pe.json():Pe.text();let at=yield Ye;if(ge.signal.aborted)throw q();return{data:at,cacheControl:Pe.headers.get("Cache-Control"),expires:Pe.headers.get("Expires")}})}(G,P);if(C(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:G,mustQueue:!0,targetMapId:te},P)}var W;return function(se,ge){return new Promise((ke,Pe)=>{var Ye;let at=new XMLHttpRequest;at.open(se.method||"GET",se.url,!0),se.type!=="arrayBuffer"&&se.type!=="image"||(at.responseType="arraybuffer");for(let pt in se.headers)at.setRequestHeader(pt,se.headers[pt]);se.type==="json"&&(at.responseType="text",!((Ye=se.headers)===null||Ye===void 0)&&Ye.Accept||at.setRequestHeader("Accept","application/json")),at.withCredentials=se.credentials==="include",at.onerror=()=>{Pe(new Error(at.statusText))},at.onload=()=>{if(!ge.signal.aborted)if((at.status>=200&&at.status<300||at.status===0)&&at.response!==null){let pt=at.response;if(se.type==="json")try{pt=JSON.parse(at.response)}catch(Et){return void Pe(Et)}ke({data:pt,cacheControl:at.getResponseHeader("Cache-Control"),expires:at.getResponseHeader("Expires")})}else{let pt=new Blob([at.response],{type:at.getResponseHeader("Content-Type")});Pe(new ae(at.status,at.statusText,se.url,pt))}},ge.signal.addEventListener("abort",()=>{at.abort(),Pe(q())}),at.send(se.body)})}(G,P)};function K(G){if(!G||G.indexOf("://")<=0||G.indexOf("data:image/")===0||G.indexOf("blob:")===0)return!0;let P=new URL(G),W=window.location;return P.protocol===W.protocol&&P.host===W.host}function V(G,P,W){W[G]&&W[G].indexOf(P)!==-1||(W[G]=W[G]||[],W[G].push(P))}function $(G,P,W){if(W&&W[G]){let se=W[G].indexOf(P);se!==-1&&W[G].splice(se,1)}}class X{constructor(P,W={}){E(this,W),this.type=P}}class Z extends X{constructor(P,W={}){super("error",E({error:P},W))}}class Q{on(P,W){return this._listeners=this._listeners||{},V(P,W,this._listeners),this}off(P,W){return $(P,W,this._listeners),$(P,W,this._oneTimeListeners),this}once(P,W){return W?(this._oneTimeListeners=this._oneTimeListeners||{},V(P,W,this._oneTimeListeners),this):new Promise(se=>this.once(P,se))}fire(P,W){typeof P=="string"&&(P=new X(P,W||{}));let se=P.type;if(this.listens(se)){P.target=this;let ge=this._listeners&&this._listeners[se]?this._listeners[se].slice():[];for(let Ye of ge)Ye.call(this,P);let ke=this._oneTimeListeners&&this._oneTimeListeners[se]?this._oneTimeListeners[se].slice():[];for(let Ye of ke)$(se,Ye,this._oneTimeListeners),Ye.call(this,P);let Pe=this._eventedParent;Pe&&(E(P,typeof this._eventedParentData=="function"?this._eventedParentData():this._eventedParentData),Pe.fire(P))}else P instanceof Z&&console.error(P.error);return this}listens(P){return this._listeners&&this._listeners[P]&&this._listeners[P].length>0||this._oneTimeListeners&&this._oneTimeListeners[P]&&this._oneTimeListeners[P].length>0||this._eventedParent&&this._eventedParent.listens(P)}setEventedParent(P,W){return this._eventedParent=P,this._eventedParentData=W,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 me(G,P){let W={};for(let se in G)se!=="ref"&&(W[se]=G[se]);return ce.forEach(se=>{se in P&&(W[se]=P[se])}),W}function ye(G,P){if(Array.isArray(G)){if(!Array.isArray(P)||G.length!==P.length)return!1;for(let W=0;W`:G.itemType.kind==="value"?"array":`array<${P}>`}return G.kind}let ve=[Ve,je,ut,st,yt,vr,At,Ee(Pt),Nt,Kt,nt];function _e(G,P){if(P.kind==="error")return null;if(G.kind==="array"){if(P.kind==="array"&&(P.N===0&&P.itemType.kind==="value"||!_e(G.itemType,P.itemType))&&(typeof G.N!="number"||G.N===P.N))return null}else{if(G.kind===P.kind)return null;if(G.kind==="value"){for(let W of ve)if(!_e(W,P))return null}}return`Expected ${ze(G)} but found ${ze(P)} instead.`}function Ie(G,P){return P.some(W=>W.kind===G.kind)}function Be(G,P){return P.some(W=>W==="null"?G===null:W==="array"?Array.isArray(G):W==="object"?G&&!Array.isArray(G)&&typeof G=="object":W===typeof G)}function We(G,P){return G.kind==="array"&&P.kind==="array"?G.itemType.kind===P.itemType.kind&&typeof G.N=="number":G.kind===P.kind}let Xe=.96422,mt=.82521,ft=4/29,ht=6/29,gt=3*ht*ht,_t=ht*ht*ht,Ft=Math.PI/180,St=180/Math.PI;function hr(G){return(G%=360)<0&&(G+=360),G}function jr([G,P,W,se]){let ge,ke,Pe=$r((.2225045*(G=ra(G))+.7168786*(P=ra(P))+.0606169*(W=ra(W)))/1);G===P&&P===W?ge=ke=Pe:(ge=$r((.4360747*G+.3850649*P+.1430804*W)/Xe),ke=$r((.0139322*G+.0971045*P+.7141733*W)/mt));let Ye=116*Pe-16;return[Ye<0?0:Ye,500*(ge-Pe),200*(Pe-ke),se]}function ra(G){return G<=.04045?G/12.92:Math.pow((G+.055)/1.055,2.4)}function $r(G){return G>_t?Math.pow(G,1/3):G/gt+ft}function pa([G,P,W,se]){let ge=(G+16)/116,ke=isNaN(P)?ge:ge+P/500,Pe=isNaN(W)?ge:ge-W/200;return ge=1*aa(ge),ke=Xe*aa(ke),Pe=mt*aa(Pe),[oa(3.1338561*ke-1.6168667*ge-.4906146*Pe),oa(-.9787684*ke+1.9161415*ge+.033454*Pe),oa(.0719453*ke-.2289914*ge+1.4052427*Pe),se]}function oa(G){return(G=G<=.00304?12.92*G:1.055*Math.pow(G,1/2.4)-.055)<0?0:G>1?1:G}function aa(G){return G>ht?G*G*G:gt*(G-ft)}function ka(G){return parseInt(G.padEnd(2,G),16)/255}function Ta(G,P){return Da(P?G/100:G,0,1)}function Da(G,P,W){return Math.min(Math.max(P,G),W)}function La(G){return!G.some(Number.isNaN)}let Ga={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 xa{constructor(P,W,se,ge=1,ke=!0){this.r=P,this.g=W,this.b=se,this.a=ge,ke||(this.r*=ge,this.g*=ge,this.b*=ge,ge||this.overwriteGetter("rgb",[P,W,se,ge]))}static parse(P){if(P instanceof xa)return P;if(typeof P!="string")return;let W=function(se){if((se=se.toLowerCase().trim())==="transparent")return[0,0,0,0];let ge=Ga[se];if(ge){let[Pe,Ye,at]=ge;return[Pe/255,Ye/255,at/255,1]}if(se.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(se)){let Pe=se.length<6?1:2,Ye=1;return[ka(se.slice(Ye,Ye+=Pe)),ka(se.slice(Ye,Ye+=Pe)),ka(se.slice(Ye,Ye+=Pe)),ka(se.slice(Ye,Ye+Pe)||"ff")]}if(se.startsWith("rgb")){let Pe=se.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(Pe){let[Ye,at,pt,Et,Vt,er,sr,xr,Er,Qr,la,Ka]=Pe,Ma=[Et||" ",sr||" ",Qr].join("");if(Ma===" "||Ma===" /"||Ma===",,"||Ma===",,,"){let qa=[pt,er,Er].join(""),bn=qa==="%%%"?100:qa===""?255:0;if(bn){let ei=[Da(+at/bn,0,1),Da(+Vt/bn,0,1),Da(+xr/bn,0,1),la?Ta(+la,Ka):1];if(La(ei))return ei}}return}}let ke=se.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(ke){let[Pe,Ye,at,pt,Et,Vt,er,sr,xr]=ke,Er=[at||" ",Et||" ",er].join("");if(Er===" "||Er===" /"||Er===",,"||Er===",,,"){let Qr=[+Ye,Da(+pt,0,100),Da(+Vt,0,100),sr?Ta(+sr,xr):1];if(La(Qr))return function([la,Ka,Ma,qa]){function bn(ei){let Ri=(ei+la/30)%12,To=Ka*Math.min(Ma,1-Ma);return Ma-To*Math.max(-1,Math.min(Ri-3,9-Ri,1))}return la=hr(la),Ka/=100,Ma/=100,[bn(0),bn(8),bn(4),qa]}(Qr)}}}(P);return W?new xa(...W,!1):void 0}get rgb(){let{r:P,g:W,b:se,a:ge}=this,ke=ge||1/0;return this.overwriteGetter("rgb",[P/ke,W/ke,se/ke,ge])}get hcl(){return this.overwriteGetter("hcl",function(P){let[W,se,ge,ke]=jr(P),Pe=Math.sqrt(se*se+ge*ge);return[Math.round(1e4*Pe)?hr(Math.atan2(ge,se)*St):NaN,Pe,W,ke]}(this.rgb))}get lab(){return this.overwriteGetter("lab",jr(this.rgb))}overwriteGetter(P,W){return Object.defineProperty(this,P,{value:W}),W}toString(){let[P,W,se,ge]=this.rgb;return`rgba(${[P,W,se].map(ke=>Math.round(255*ke)).join(",")},${ge})`}}xa.black=new xa(0,0,0,1),xa.white=new xa(1,1,1,1),xa.transparent=new xa(0,0,0,0),xa.red=new xa(1,0,0,1);class Gn{constructor(P,W,se){this.sensitivity=P?W?"variant":"case":W?"accent":"base",this.locale=se,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(P,W){return this.collator.compare(P,W)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Pn{constructor(P,W,se,ge,ke){this.text=P,this.image=W,this.scale=se,this.fontStack=ge,this.textColor=ke}}class sn{constructor(P){this.sections=P}static fromString(P){return new sn([new Pn(P,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(P=>P.text.length!==0||P.image&&P.image.name.length!==0)}static factory(P){return P instanceof sn?P:sn.fromString(P)}toString(){return this.sections.length===0?"":this.sections.map(P=>P.text).join("")}}class Yn{constructor(P){this.values=P.slice()}static parse(P){if(P instanceof Yn)return P;if(typeof P=="number")return new Yn([P,P,P,P]);if(Array.isArray(P)&&!(P.length<1||P.length>4)){for(let W of P)if(typeof W!="number")return;switch(P.length){case 1:P=[P[0],P[0],P[0],P[0]];break;case 2:P=[P[0],P[1],P[0],P[1]];break;case 3:P=[P[0],P[1],P[2],P[1]]}return new Yn(P)}}toString(){return JSON.stringify(this.values)}}let Zn=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);class vi{constructor(P){this.values=P.slice()}static parse(P){if(P instanceof vi)return P;if(Array.isArray(P)&&!(P.length<1)&&P.length%2==0){for(let W=0;W=0&&G<=255&&typeof P=="number"&&P>=0&&P<=255&&typeof W=="number"&&W>=0&&W<=255?se===void 0||typeof se=="number"&&se>=0&&se<=1?null:`Invalid rgba value [${[G,P,W,se].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof se=="number"?[G,P,W,se]:[G,P,W]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function on(G){if(G===null||typeof G=="string"||typeof G=="boolean"||typeof G=="number"||G instanceof xa||G instanceof Gn||G instanceof sn||G instanceof Yn||G instanceof vi||G instanceof Dn)return!0;if(Array.isArray(G)){for(let P of G)if(!on(P))return!1;return!0}if(typeof G=="object"){for(let P in G)if(!on(G[P]))return!1;return!0}return!1}function mn(G){if(G===null)return Ve;if(typeof G=="string")return ut;if(typeof G=="boolean")return st;if(typeof G=="number")return je;if(G instanceof xa)return yt;if(G instanceof Gn)return Zt;if(G instanceof sn)return vr;if(G instanceof Yn)return Nt;if(G instanceof vi)return nt;if(G instanceof Dn)return Kt;if(Array.isArray(G)){let P=G.length,W;for(let se of G){let ge=mn(se);if(W){if(W===ge)continue;W=Pt;break}W=ge}return Ee(W||Pt,P)}return At}function bi(G){let P=typeof G;return G===null?"":P==="string"||P==="number"||P==="boolean"?String(G):G instanceof xa||G instanceof sn||G instanceof Yn||G instanceof vi||G instanceof Dn?G.toString():JSON.stringify(G)}class Li{constructor(P,W){this.type=P,this.value=W}static parse(P,W){if(P.length!==2)return W.error(`'literal' expression requires exactly one argument, but found ${P.length-1} instead.`);if(!on(P[1]))return W.error("invalid value");let se=P[1],ge=mn(se),ke=W.expectedType;return ge.kind!=="array"||ge.N!==0||!ke||ke.kind!=="array"||typeof ke.N=="number"&&ke.N!==0||(ge=ke),new Li(ge,se)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class $a{constructor(P){this.name="ExpressionEvaluationError",this.message=P}toJSON(){return this.message}}let Va={string:ut,number:je,boolean:st,object:At};class it{constructor(P,W){this.type=P,this.args=W}static parse(P,W){if(P.length<2)return W.error("Expected at least one argument.");let se,ge=1,ke=P[0];if(ke==="array"){let Ye,at;if(P.length>2){let pt=P[1];if(typeof pt!="string"||!(pt in Va)||pt==="object")return W.error('The item type argument of "array" must be one of string, number, boolean',1);Ye=Va[pt],ge++}else Ye=Pt;if(P.length>3){if(P[2]!==null&&(typeof P[2]!="number"||P[2]<0||P[2]!==Math.floor(P[2])))return W.error('The length argument to "array" must be a positive integer literal',2);at=P[2],ge++}se=Ee(Ye,at)}else{if(!Va[ke])throw new Error(`Types doesn't contain name = ${ke}`);se=Va[ke]}let Pe=[];for(;geP.outputDefined())}}let Qe={"to-boolean":st,"to-color":yt,"to-number":je,"to-string":ut};class Jt{constructor(P,W){this.type=P,this.args=W}static parse(P,W){if(P.length<2)return W.error("Expected at least one argument.");let se=P[0];if(!Qe[se])throw new Error(`Can't parse ${se} as it is not part of the known types`);if((se==="to-boolean"||se==="to-string")&&P.length!==2)return W.error("Expected one argument.");let ge=Qe[se],ke=[];for(let Pe=1;Pe4?`Invalid rbga value ${JSON.stringify(W)}: expected an array containing either three or four numeric values.`:oi(W[0],W[1],W[2],W[3]),!se))return new xa(W[0]/255,W[1]/255,W[2]/255,W[3])}throw new $a(se||`Could not parse color from value '${typeof W=="string"?W:JSON.stringify(W)}'`)}case"padding":{let W;for(let se of this.args){W=se.evaluate(P);let ge=Yn.parse(W);if(ge)return ge}throw new $a(`Could not parse padding from value '${typeof W=="string"?W:JSON.stringify(W)}'`)}case"variableAnchorOffsetCollection":{let W;for(let se of this.args){W=se.evaluate(P);let ge=vi.parse(W);if(ge)return ge}throw new $a(`Could not parse variableAnchorOffsetCollection from value '${typeof W=="string"?W:JSON.stringify(W)}'`)}case"number":{let W=null;for(let se of this.args){if(W=se.evaluate(P),W===null)return 0;let ge=Number(W);if(!isNaN(ge))return ge}throw new $a(`Could not convert ${JSON.stringify(W)} to number.`)}case"formatted":return sn.fromString(bi(this.args[0].evaluate(P)));case"resolvedImage":return Dn.fromString(bi(this.args[0].evaluate(P)));default:return bi(this.args[0].evaluate(P))}}eachChild(P){this.args.forEach(P)}outputDefined(){return this.args.every(P=>P.outputDefined())}}let Yt=["Unknown","Point","LineString","Polygon"];class ar{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"?Yt[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(P){let W=this._parseColorCache[P];return W||(W=this._parseColorCache[P]=xa.parse(P)),W}}class cr{constructor(P,W,se=[],ge,ke=new Fe,Pe=[]){this.registry=P,this.path=se,this.key=se.map(Ye=>`[${Ye}]`).join(""),this.scope=ke,this.errors=Pe,this.expectedType=ge,this._isConstant=W}parse(P,W,se,ge,ke={}){return W?this.concat(W,se,ge)._parse(P,ke):this._parse(P,ke)}_parse(P,W){function se(ge,ke,Pe){return Pe==="assert"?new it(ke,[ge]):Pe==="coerce"?new Jt(ke,[ge]):ge}if(P!==null&&typeof P!="string"&&typeof P!="boolean"&&typeof P!="number"||(P=["literal",P]),Array.isArray(P)){if(P.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');let ge=P[0];if(typeof ge!="string")return this.error(`Expression name must be a string, but found ${typeof ge} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;let ke=this.registry[ge];if(ke){let Pe=ke.parse(P,this);if(!Pe)return null;if(this.expectedType){let Ye=this.expectedType,at=Pe.type;if(Ye.kind!=="string"&&Ye.kind!=="number"&&Ye.kind!=="boolean"&&Ye.kind!=="object"&&Ye.kind!=="array"||at.kind!=="value")if(Ye.kind!=="color"&&Ye.kind!=="formatted"&&Ye.kind!=="resolvedImage"||at.kind!=="value"&&at.kind!=="string")if(Ye.kind!=="padding"||at.kind!=="value"&&at.kind!=="number"&&at.kind!=="array")if(Ye.kind!=="variableAnchorOffsetCollection"||at.kind!=="value"&&at.kind!=="array"){if(this.checkSubtype(Ye,at))return null}else Pe=se(Pe,Ye,W.typeAnnotation||"coerce");else Pe=se(Pe,Ye,W.typeAnnotation||"coerce");else Pe=se(Pe,Ye,W.typeAnnotation||"coerce");else Pe=se(Pe,Ye,W.typeAnnotation||"assert")}if(!(Pe instanceof Li)&&Pe.type.kind!=="resolvedImage"&&this._isConstant(Pe)){let Ye=new ar;try{Pe=new Li(Pe.type,Pe.evaluate(Ye))}catch(at){return this.error(at.message),null}}return Pe}return this.error(`Unknown expression "${ge}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(P===void 0?"'undefined' value invalid. Use null instead.":typeof P=="object"?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof P} instead.`)}concat(P,W,se){let ge=typeof P=="number"?this.path.concat(P):this.path,ke=se?this.scope.concat(se):this.scope;return new cr(this.registry,this._isConstant,ge,W||null,ke,this.errors)}error(P,...W){let se=`${this.key}${W.map(ge=>`[${ge}]`).join("")}`;this.errors.push(new be(se,P))}checkSubtype(P,W){let se=_e(P,W);return se&&this.error(se),se}}class tr{constructor(P,W){this.type=W.type,this.bindings=[].concat(P),this.result=W}evaluate(P){return this.result.evaluate(P)}eachChild(P){for(let W of this.bindings)P(W[1]);P(this.result)}static parse(P,W){if(P.length<4)return W.error(`Expected at least 3 arguments, but found ${P.length-1} instead.`);let se=[];for(let ke=1;ke=se.length)throw new $a(`Array index out of bounds: ${W} > ${se.length-1}.`);if(W!==Math.floor(W))throw new $a(`Array index must be an integer, but found ${W} instead.`);return se[W]}eachChild(P){P(this.index),P(this.input)}outputDefined(){return!1}}class qt{constructor(P,W){this.type=st,this.needle=P,this.haystack=W}static parse(P,W){if(P.length!==3)return W.error(`Expected 2 arguments, but found ${P.length-1} instead.`);let se=W.parse(P[1],1,Pt),ge=W.parse(P[2],2,Pt);return se&&ge?Ie(se.type,[st,ut,je,Ve,Pt])?new qt(se,ge):W.error(`Expected first argument to be of type boolean, string, number or null, but found ${ze(se.type)} instead`):null}evaluate(P){let W=this.needle.evaluate(P),se=this.haystack.evaluate(P);if(!se)return!1;if(!Be(W,["boolean","string","number","null"]))throw new $a(`Expected first argument to be of type boolean, string, number or null, but found ${ze(mn(W))} instead.`);if(!Be(se,["string","array"]))throw new $a(`Expected second argument to be of type array or string, but found ${ze(mn(se))} instead.`);return se.indexOf(W)>=0}eachChild(P){P(this.needle),P(this.haystack)}outputDefined(){return!0}}class Qt{constructor(P,W,se){this.type=je,this.needle=P,this.haystack=W,this.fromIndex=se}static parse(P,W){if(P.length<=2||P.length>=5)return W.error(`Expected 3 or 4 arguments, but found ${P.length-1} instead.`);let se=W.parse(P[1],1,Pt),ge=W.parse(P[2],2,Pt);if(!se||!ge)return null;if(!Ie(se.type,[st,ut,je,Ve,Pt]))return W.error(`Expected first argument to be of type boolean, string, number or null, but found ${ze(se.type)} instead`);if(P.length===4){let ke=W.parse(P[3],3,je);return ke?new Qt(se,ge,ke):null}return new Qt(se,ge)}evaluate(P){let W=this.needle.evaluate(P),se=this.haystack.evaluate(P);if(!Be(W,["boolean","string","number","null"]))throw new $a(`Expected first argument to be of type boolean, string, number or null, but found ${ze(mn(W))} instead.`);let ge;if(this.fromIndex&&(ge=this.fromIndex.evaluate(P)),Be(se,["string"])){let ke=se.indexOf(W,ge);return ke===-1?-1:[...se.slice(0,ke)].length}if(Be(se,["array"]))return se.indexOf(W,ge);throw new $a(`Expected second argument to be of type array or string, but found ${ze(mn(se))} instead.`)}eachChild(P){P(this.needle),P(this.haystack),this.fromIndex&&P(this.fromIndex)}outputDefined(){return!1}}class br{constructor(P,W,se,ge,ke,Pe){this.inputType=P,this.type=W,this.input=se,this.cases=ge,this.outputs=ke,this.otherwise=Pe}static parse(P,W){if(P.length<5)return W.error(`Expected at least 4 arguments, but found only ${P.length-1}.`);if(P.length%2!=1)return W.error("Expected an even number of arguments.");let se,ge;W.expectedType&&W.expectedType.kind!=="value"&&(ge=W.expectedType);let ke={},Pe=[];for(let pt=2;ptNumber.MAX_SAFE_INTEGER)return er.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof xr=="number"&&Math.floor(xr)!==xr)return er.error("Numeric branch labels must be integer values.");if(se){if(er.checkSubtype(se,mn(xr)))return null}else se=mn(xr);if(ke[String(xr)]!==void 0)return er.error("Branch labels must be unique.");ke[String(xr)]=Pe.length}let sr=W.parse(Vt,pt,ge);if(!sr)return null;ge=ge||sr.type,Pe.push(sr)}let Ye=W.parse(P[1],1,Pt);if(!Ye)return null;let at=W.parse(P[P.length-1],P.length-1,ge);return at?Ye.type.kind!=="value"&&W.concat(1).checkSubtype(se,Ye.type)?null:new br(se,ge,Ye,ke,Pe,at):null}evaluate(P){let W=this.input.evaluate(P);return(mn(W)===this.inputType&&this.outputs[this.cases[W]]||this.otherwise).evaluate(P)}eachChild(P){P(this.input),this.outputs.forEach(P),P(this.otherwise)}outputDefined(){return this.outputs.every(P=>P.outputDefined())&&this.otherwise.outputDefined()}}class Ir{constructor(P,W,se){this.type=P,this.branches=W,this.otherwise=se}static parse(P,W){if(P.length<4)return W.error(`Expected at least 3 arguments, but found only ${P.length-1}.`);if(P.length%2!=0)return W.error("Expected an odd number of arguments.");let se;W.expectedType&&W.expectedType.kind!=="value"&&(se=W.expectedType);let ge=[];for(let Pe=1;PeW.outputDefined())&&this.otherwise.outputDefined()}}class Cr{constructor(P,W,se,ge){this.type=P,this.input=W,this.beginIndex=se,this.endIndex=ge}static parse(P,W){if(P.length<=2||P.length>=5)return W.error(`Expected 3 or 4 arguments, but found ${P.length-1} instead.`);let se=W.parse(P[1],1,Pt),ge=W.parse(P[2],2,je);if(!se||!ge)return null;if(!Ie(se.type,[Ee(Pt),ut,Pt]))return W.error(`Expected first argument to be of type array or string, but found ${ze(se.type)} instead`);if(P.length===4){let ke=W.parse(P[3],3,je);return ke?new Cr(se.type,se,ge,ke):null}return new Cr(se.type,se,ge)}evaluate(P){let W=this.input.evaluate(P),se=this.beginIndex.evaluate(P),ge;if(this.endIndex&&(ge=this.endIndex.evaluate(P)),Be(W,["string"]))return[...W].slice(se,ge).join("");if(Be(W,["array"]))return W.slice(se,ge);throw new $a(`Expected first argument to be of type array or string, but found ${ze(mn(W))} instead.`)}eachChild(P){P(this.input),P(this.beginIndex),this.endIndex&&P(this.endIndex)}outputDefined(){return!1}}function Mr(G,P){let W=G.length-1,se,ge,ke=0,Pe=W,Ye=0;for(;ke<=Pe;)if(Ye=Math.floor((ke+Pe)/2),se=G[Ye],ge=G[Ye+1],se<=P){if(Ye===W||PP))throw new $a("Input is not a number.");Pe=Ye-1}return 0}class Xr{constructor(P,W,se){this.type=P,this.input=W,this.labels=[],this.outputs=[];for(let[ge,ke]of se)this.labels.push(ge),this.outputs.push(ke)}static parse(P,W){if(P.length-1<4)return W.error(`Expected at least 4 arguments, but found only ${P.length-1}.`);if((P.length-1)%2!=0)return W.error("Expected an even number of arguments.");let se=W.parse(P[1],1,je);if(!se)return null;let ge=[],ke=null;W.expectedType&&W.expectedType.kind!=="value"&&(ke=W.expectedType);for(let Pe=1;Pe=Ye)return W.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',pt);let Vt=W.parse(at,Et,ke);if(!Vt)return null;ke=ke||Vt.type,ge.push([Ye,Vt])}return new Xr(ke,se,ge)}evaluate(P){let W=this.labels,se=this.outputs;if(W.length===1)return se[0].evaluate(P);let ge=this.input.evaluate(P);if(ge<=W[0])return se[0].evaluate(P);let ke=W.length;return ge>=W[ke-1]?se[ke-1].evaluate(P):se[Mr(W,ge)].evaluate(P)}eachChild(P){P(this.input);for(let W of this.outputs)P(W)}outputDefined(){return this.outputs.every(P=>P.outputDefined())}}function Ra(G){return G&&G.__esModule&&Object.prototype.hasOwnProperty.call(G,"default")?G.default:G}var wa=yn;function yn(G,P,W,se){this.cx=3*G,this.bx=3*(W-G)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*P,this.by=3*(se-P)-this.cy,this.ay=1-this.cy-this.by,this.p1x=G,this.p1y=P,this.p2x=W,this.p2y=se}yn.prototype={sampleCurveX:function(G){return((this.ax*G+this.bx)*G+this.cx)*G},sampleCurveY:function(G){return((this.ay*G+this.by)*G+this.cy)*G},sampleCurveDerivativeX:function(G){return(3*this.ax*G+2*this.bx)*G+this.cx},solveCurveX:function(G,P){if(P===void 0&&(P=1e-6),G<0)return 0;if(G>1)return 1;for(var W=G,se=0;se<8;se++){var ge=this.sampleCurveX(W)-G;if(Math.abs(ge)ge?Pe=W:Ye=W,W=.5*(Ye-Pe)+Pe;return W},solve:function(G,P){return this.sampleCurveY(this.solveCurveX(G,P))}};var fn=Ra(wa);function ri(G,P,W){return G+W*(P-G)}function On(G,P,W){return G.map((se,ge)=>ri(se,P[ge],W))}let ui={number:ri,color:function(G,P,W,se="rgb"){switch(se){case"rgb":{let[ge,ke,Pe,Ye]=On(G.rgb,P.rgb,W);return new xa(ge,ke,Pe,Ye,!1)}case"hcl":{let[ge,ke,Pe,Ye]=G.hcl,[at,pt,Et,Vt]=P.hcl,er,sr;if(isNaN(ge)||isNaN(at))isNaN(ge)?isNaN(at)?er=NaN:(er=at,Pe!==1&&Pe!==0||(sr=pt)):(er=ge,Et!==1&&Et!==0||(sr=ke));else{let Ka=at-ge;at>ge&&Ka>180?Ka-=360:at180&&(Ka+=360),er=ge+W*Ka}let[xr,Er,Qr,la]=function([Ka,Ma,qa,bn]){return Ka=isNaN(Ka)?0:Ka*Ft,pa([qa,Math.cos(Ka)*Ma,Math.sin(Ka)*Ma,bn])}([er,sr??ri(ke,pt,W),ri(Pe,Et,W),ri(Ye,Vt,W)]);return new xa(xr,Er,Qr,la,!1)}case"lab":{let[ge,ke,Pe,Ye]=pa(On(G.lab,P.lab,W));return new xa(ge,ke,Pe,Ye,!1)}}},array:On,padding:function(G,P,W){return new Yn(On(G.values,P.values,W))},variableAnchorOffsetCollection:function(G,P,W){let se=G.values,ge=P.values;if(se.length!==ge.length)throw new $a(`Cannot interpolate values of different length. from: ${G.toString()}, to: ${P.toString()}`);let ke=[];for(let Pe=0;Petypeof Et!="number"||Et<0||Et>1))return W.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);ge={name:"cubic-bezier",controlPoints:pt}}}if(P.length-1<4)return W.error(`Expected at least 4 arguments, but found only ${P.length-1}.`);if((P.length-1)%2!=0)return W.error("Expected an even number of arguments.");if(ke=W.parse(ke,2,je),!ke)return null;let Ye=[],at=null;se==="interpolate-hcl"||se==="interpolate-lab"?at=yt:W.expectedType&&W.expectedType.kind!=="value"&&(at=W.expectedType);for(let pt=0;pt=Et)return W.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',er);let xr=W.parse(Vt,sr,at);if(!xr)return null;at=at||xr.type,Ye.push([Et,xr])}return We(at,je)||We(at,yt)||We(at,Nt)||We(at,nt)||We(at,Ee(je))?new jn(at,se,ge,ke,Ye):W.error(`Type ${ze(at)} is not interpolatable.`)}evaluate(P){let W=this.labels,se=this.outputs;if(W.length===1)return se[0].evaluate(P);let ge=this.input.evaluate(P);if(ge<=W[0])return se[0].evaluate(P);let ke=W.length;if(ge>=W[ke-1])return se[ke-1].evaluate(P);let Pe=Mr(W,ge),Ye=jn.interpolationFactor(this.interpolation,ge,W[Pe],W[Pe+1]),at=se[Pe].evaluate(P),pt=se[Pe+1].evaluate(P);switch(this.operator){case"interpolate":return ui[this.type.kind](at,pt,Ye);case"interpolate-hcl":return ui.color(at,pt,Ye,"hcl");case"interpolate-lab":return ui.color(at,pt,Ye,"lab")}}eachChild(P){P(this.input);for(let W of this.outputs)P(W)}outputDefined(){return this.outputs.every(P=>P.outputDefined())}}function oo(G,P,W,se){let ge=se-W,ke=G-W;return ge===0?0:P===1?ke/ge:(Math.pow(P,ke)-1)/(Math.pow(P,ge)-1)}class Qi{constructor(P,W){this.type=P,this.args=W}static parse(P,W){if(P.length<2)return W.error("Expectected at least one argument.");let se=null,ge=W.expectedType;ge&&ge.kind!=="value"&&(se=ge);let ke=[];for(let Ye of P.slice(1)){let at=W.parse(Ye,1+ke.length,se,void 0,{typeAnnotation:"omit"});if(!at)return null;se=se||at.type,ke.push(at)}if(!se)throw new Error("No output type");let Pe=ge&&ke.some(Ye=>_e(ge,Ye.type));return new Qi(Pe?Pt:se,ke)}evaluate(P){let W,se=null,ge=0;for(let ke of this.args)if(ge++,se=ke.evaluate(P),se&&se instanceof Dn&&!se.available&&(W||(W=se.name),se=null,ge===this.args.length&&(se=W)),se!==null)break;return se}eachChild(P){this.args.forEach(P)}outputDefined(){return this.args.every(P=>P.outputDefined())}}function Mn(G,P){return G==="=="||G==="!="?P.kind==="boolean"||P.kind==="string"||P.kind==="number"||P.kind==="null"||P.kind==="value":P.kind==="string"||P.kind==="number"||P.kind==="value"}function bo(G,P,W,se){return se.compare(P,W)===0}function so(G,P,W){let se=G!=="=="&&G!=="!=";return class v9{constructor(ke,Pe,Ye){this.type=st,this.lhs=ke,this.rhs=Pe,this.collator=Ye,this.hasUntypedArgument=ke.type.kind==="value"||Pe.type.kind==="value"}static parse(ke,Pe){if(ke.length!==3&&ke.length!==4)return Pe.error("Expected two or three arguments.");let Ye=ke[0],at=Pe.parse(ke[1],1,Pt);if(!at)return null;if(!Mn(Ye,at.type))return Pe.concat(1).error(`"${Ye}" comparisons are not supported for type '${ze(at.type)}'.`);let pt=Pe.parse(ke[2],2,Pt);if(!pt)return null;if(!Mn(Ye,pt.type))return Pe.concat(2).error(`"${Ye}" comparisons are not supported for type '${ze(pt.type)}'.`);if(at.type.kind!==pt.type.kind&&at.type.kind!=="value"&&pt.type.kind!=="value")return Pe.error(`Cannot compare types '${ze(at.type)}' and '${ze(pt.type)}'.`);se&&(at.type.kind==="value"&&pt.type.kind!=="value"?at=new it(pt.type,[at]):at.type.kind!=="value"&&pt.type.kind==="value"&&(pt=new it(at.type,[pt])));let Et=null;if(ke.length===4){if(at.type.kind!=="string"&&pt.type.kind!=="string"&&at.type.kind!=="value"&&pt.type.kind!=="value")return Pe.error("Cannot use collator to compare non-string types.");if(Et=Pe.parse(ke[3],3,Zt),!Et)return null}return new v9(at,pt,Et)}evaluate(ke){let Pe=this.lhs.evaluate(ke),Ye=this.rhs.evaluate(ke);if(se&&this.hasUntypedArgument){let at=mn(Pe),pt=mn(Ye);if(at.kind!==pt.kind||at.kind!=="string"&&at.kind!=="number")throw new $a(`Expected arguments for "${G}" to be (string, string) or (number, number), but found (${at.kind}, ${pt.kind}) instead.`)}if(this.collator&&!se&&this.hasUntypedArgument){let at=mn(Pe),pt=mn(Ye);if(at.kind!=="string"||pt.kind!=="string")return P(ke,Pe,Ye)}return this.collator?W(ke,Pe,Ye,this.collator.evaluate(ke)):P(ke,Pe,Ye)}eachChild(ke){ke(this.lhs),ke(this.rhs),this.collator&&ke(this.collator)}outputDefined(){return!0}}}let Hi=so("==",function(G,P,W){return P===W},bo),yo=so("!=",function(G,P,W){return P!==W},function(G,P,W,se){return!bo(0,P,W,se)}),Bi=so("<",function(G,P,W){return P",function(G,P,W){return P>W},function(G,P,W,se){return se.compare(P,W)>0}),Po=so("<=",function(G,P,W){return P<=W},function(G,P,W,se){return se.compare(P,W)<=0}),po=so(">=",function(G,P,W){return P>=W},function(G,P,W,se){return se.compare(P,W)>=0});class Kn{constructor(P,W,se){this.type=Zt,this.locale=se,this.caseSensitive=P,this.diacriticSensitive=W}static parse(P,W){if(P.length!==2)return W.error("Expected one argument.");let se=P[1];if(typeof se!="object"||Array.isArray(se))return W.error("Collator options argument must be an object.");let ge=W.parse(se["case-sensitive"]!==void 0&&se["case-sensitive"],1,st);if(!ge)return null;let ke=W.parse(se["diacritic-sensitive"]!==void 0&&se["diacritic-sensitive"],1,st);if(!ke)return null;let Pe=null;return se.locale&&(Pe=W.parse(se.locale,1,ut),!Pe)?null:new Kn(ge,ke,Pe)}evaluate(P){return new Gn(this.caseSensitive.evaluate(P),this.diacriticSensitive.evaluate(P),this.locale?this.locale.evaluate(P):null)}eachChild(P){P(this.caseSensitive),P(this.diacriticSensitive),this.locale&&P(this.locale)}outputDefined(){return!1}}class yi{constructor(P,W,se,ge,ke){this.type=ut,this.number=P,this.locale=W,this.currency=se,this.minFractionDigits=ge,this.maxFractionDigits=ke}static parse(P,W){if(P.length!==3)return W.error("Expected two arguments.");let se=W.parse(P[1],1,je);if(!se)return null;let ge=P[2];if(typeof ge!="object"||Array.isArray(ge))return W.error("NumberFormat options argument must be an object.");let ke=null;if(ge.locale&&(ke=W.parse(ge.locale,1,ut),!ke))return null;let Pe=null;if(ge.currency&&(Pe=W.parse(ge.currency,1,ut),!Pe))return null;let Ye=null;if(ge["min-fraction-digits"]&&(Ye=W.parse(ge["min-fraction-digits"],1,je),!Ye))return null;let at=null;return ge["max-fraction-digits"]&&(at=W.parse(ge["max-fraction-digits"],1,je),!at)?null:new yi(se,ke,Pe,Ye,at)}evaluate(P){return new Intl.NumberFormat(this.locale?this.locale.evaluate(P):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(P):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(P):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(P):void 0}).format(this.number.evaluate(P))}eachChild(P){P(this.number),this.locale&&P(this.locale),this.currency&&P(this.currency),this.minFractionDigits&&P(this.minFractionDigits),this.maxFractionDigits&&P(this.maxFractionDigits)}outputDefined(){return!1}}class Yi{constructor(P){this.type=vr,this.sections=P}static parse(P,W){if(P.length<2)return W.error("Expected at least one argument.");let se=P[1];if(!Array.isArray(se)&&typeof se=="object")return W.error("First argument must be an image or text section.");let ge=[],ke=!1;for(let Pe=1;Pe<=P.length-1;++Pe){let Ye=P[Pe];if(ke&&typeof Ye=="object"&&!Array.isArray(Ye)){ke=!1;let at=null;if(Ye["font-scale"]&&(at=W.parse(Ye["font-scale"],1,je),!at))return null;let pt=null;if(Ye["text-font"]&&(pt=W.parse(Ye["text-font"],1,Ee(ut)),!pt))return null;let Et=null;if(Ye["text-color"]&&(Et=W.parse(Ye["text-color"],1,yt),!Et))return null;let Vt=ge[ge.length-1];Vt.scale=at,Vt.font=pt,Vt.textColor=Et}else{let at=W.parse(P[Pe],1,Pt);if(!at)return null;let pt=at.type.kind;if(pt!=="string"&&pt!=="value"&&pt!=="null"&&pt!=="resolvedImage")return W.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");ke=!0,ge.push({content:at,scale:null,font:null,textColor:null})}}return new Yi(ge)}evaluate(P){return new sn(this.sections.map(W=>{let se=W.content.evaluate(P);return mn(se)===Kt?new Pn("",se,null,null,null):new Pn(bi(se),null,W.scale?W.scale.evaluate(P):null,W.font?W.font.evaluate(P).join(","):null,W.textColor?W.textColor.evaluate(P):null)}))}eachChild(P){for(let W of this.sections)P(W.content),W.scale&&P(W.scale),W.font&&P(W.font),W.textColor&&P(W.textColor)}outputDefined(){return!1}}class zi{constructor(P){this.type=Kt,this.input=P}static parse(P,W){if(P.length!==2)return W.error("Expected two arguments.");let se=W.parse(P[1],1,ut);return se?new zi(se):W.error("No image name provided.")}evaluate(P){let W=this.input.evaluate(P),se=Dn.fromString(W);return se&&P.availableImages&&(se.available=P.availableImages.indexOf(W)>-1),se}eachChild(P){P(this.input)}outputDefined(){return!1}}class Uo{constructor(P){this.type=je,this.input=P}static parse(P,W){if(P.length!==2)return W.error(`Expected 1 argument, but found ${P.length-1} instead.`);let se=W.parse(P[1],1);return se?se.type.kind!=="array"&&se.type.kind!=="string"&&se.type.kind!=="value"?W.error(`Expected argument of type string or array, but found ${ze(se.type)} instead.`):new Uo(se):null}evaluate(P){let W=this.input.evaluate(P);if(typeof W=="string")return[...W].length;if(Array.isArray(W))return W.length;throw new $a(`Expected value to be of type string or array, but found ${ze(mn(W))} instead.`)}eachChild(P){P(this.input)}outputDefined(){return!1}}let Co=8192;function Wo(G,P){let W=(180+G[0])/360,se=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+G[1]*Math.PI/360)))/360,ge=Math.pow(2,P.z);return[Math.round(W*ge*Co),Math.round(se*ge*Co)]}function Go(G,P){let W=Math.pow(2,P.z);return[(ge=(G[0]/Co+P.x)/W,360*ge-180),(se=(G[1]/Co+P.y)/W,360/Math.PI*Math.atan(Math.exp((180-360*se)*Math.PI/180))-90)];var se,ge}function ns(G,P){G[0]=Math.min(G[0],P[0]),G[1]=Math.min(G[1],P[1]),G[2]=Math.max(G[2],P[0]),G[3]=Math.max(G[3],P[1])}function Ro(G,P){return!(G[0]<=P[0]||G[2]>=P[2]||G[1]<=P[1]||G[3]>=P[3])}function Zi(G,P,W){let se=G[0]-P[0],ge=G[1]-P[1],ke=G[0]-W[0],Pe=G[1]-W[1];return se*Pe-ke*ge==0&&se*ke<=0&&ge*Pe<=0}function ls(G,P,W,se){return(ge=[se[0]-W[0],se[1]-W[1]])[0]*(ke=[P[0]-G[0],P[1]-G[1]])[1]-ge[1]*ke[0]!=0&&!(!Us(G,P,W,se)||!Us(W,se,G,P));var ge,ke}function Eo(G,P,W){for(let se of W)for(let ge=0;ge(ge=G)[1]!=(Pe=Ye[at+1])[1]>ge[1]&&ge[0]<(Pe[0]-ke[0])*(ge[1]-ke[1])/(Pe[1]-ke[1])+ke[0]&&(se=!se)}var ge,ke,Pe;return se}function Zs(G,P){for(let W of P)if(mo(G,W))return!0;return!1}function qo(G,P){for(let W of G)if(!mo(W,P))return!1;for(let W=0;W0&&Ye<0||Pe<0&&Ye>0}function is(G,P,W){let se=[];for(let ge=0;geW[2]){let ge=.5*se,ke=G[0]-W[0]>ge?-se:W[0]-G[0]>ge?se:0;ke===0&&(ke=G[0]-W[2]>ge?-se:W[2]-G[0]>ge?se:0),G[0]+=ke}ns(P,G)}function Qo(G,P,W,se){let ge=Math.pow(2,se.z)*Co,ke=[se.x*Co,se.y*Co],Pe=[];for(let Ye of G)for(let at of Ye){let pt=[at.x+ke[0],at.y+ke[1]];ml(pt,P,W,ge),Pe.push(pt)}return Pe}function Gl(G,P,W,se){let ge=Math.pow(2,se.z)*Co,ke=[se.x*Co,se.y*Co],Pe=[];for(let at of G){let pt=[];for(let Et of at){let Vt=[Et.x+ke[0],Et.y+ke[1]];ns(P,Vt),pt.push(Vt)}Pe.push(pt)}if(P[2]-P[0]<=ge/2){(Ye=P)[0]=Ye[1]=1/0,Ye[2]=Ye[3]=-1/0;for(let at of Pe)for(let pt of at)ml(pt,P,W,ge)}var Ye;return Pe}class ys{constructor(P,W){this.type=st,this.geojson=P,this.geometries=W}static parse(P,W){if(P.length!==2)return W.error(`'within' expression requires exactly one argument, but found ${P.length-1} instead.`);if(on(P[1])){let se=P[1];if(se.type==="FeatureCollection"){let ge=[];for(let ke of se.features){let{type:Pe,coordinates:Ye}=ke.geometry;Pe==="Polygon"&&ge.push(Ye),Pe==="MultiPolygon"&&ge.push(...Ye)}if(ge.length)return new ys(se,{type:"MultiPolygon",coordinates:ge})}else if(se.type==="Feature"){let ge=se.geometry.type;if(ge==="Polygon"||ge==="MultiPolygon")return new ys(se,se.geometry)}else if(se.type==="Polygon"||se.type==="MultiPolygon")return new ys(se,se)}return W.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(P){if(P.geometry()!=null&&P.canonicalID()!=null){if(P.geometryType()==="Point")return function(W,se){let ge=[1/0,1/0,-1/0,-1/0],ke=[1/0,1/0,-1/0,-1/0],Pe=W.canonicalID();if(se.type==="Polygon"){let Ye=is(se.coordinates,ke,Pe),at=Qo(W.geometry(),ge,ke,Pe);if(!Ro(ge,ke))return!1;for(let pt of at)if(!mo(pt,Ye))return!1}if(se.type==="MultiPolygon"){let Ye=cl(se.coordinates,ke,Pe),at=Qo(W.geometry(),ge,ke,Pe);if(!Ro(ge,ke))return!1;for(let pt of at)if(!Zs(pt,Ye))return!1}return!0}(P,this.geometries);if(P.geometryType()==="LineString")return function(W,se){let ge=[1/0,1/0,-1/0,-1/0],ke=[1/0,1/0,-1/0,-1/0],Pe=W.canonicalID();if(se.type==="Polygon"){let Ye=is(se.coordinates,ke,Pe),at=Gl(W.geometry(),ge,ke,Pe);if(!Ro(ge,ke))return!1;for(let pt of at)if(!qo(pt,Ye))return!1}if(se.type==="MultiPolygon"){let Ye=cl(se.coordinates,ke,Pe),at=Gl(W.geometry(),ge,ke,Pe);if(!Ro(ge,ke))return!1;for(let pt of at)if(!Ds(pt,Ye))return!1}return!0}(P,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let $o=class{constructor(G=[],P=(W,se)=>Wse?1:0){if(this.data=G,this.length=this.data.length,this.compare=P,this.length>0)for(let W=(this.length>>1)-1;W>=0;W--)this._down(W)}push(G){this.data.push(G),this._up(this.length++)}pop(){if(this.length===0)return;let G=this.data[0],P=this.data.pop();return--this.length>0&&(this.data[0]=P,this._down(0)),G}peek(){return this.data[0]}_up(G){let{data:P,compare:W}=this,se=P[G];for(;G>0;){let ge=G-1>>1,ke=P[ge];if(W(se,ke)>=0)break;P[G]=ke,G=ge}P[G]=se}_down(G){let{data:P,compare:W}=this,se=this.length>>1,ge=P[G];for(;G=0)break;P[G]=P[ke],G=ke}P[G]=ge}};function wo(G,P,W,se,ge){go(G,P,W,se||G.length-1,ge||$l)}function go(G,P,W,se,ge){for(;se>W;){if(se-W>600){var ke=se-W+1,Pe=P-W+1,Ye=Math.log(ke),at=.5*Math.exp(2*Ye/3),pt=.5*Math.sqrt(Ye*at*(ke-at)/ke)*(Pe-ke/2<0?-1:1);go(G,P,Math.max(W,Math.floor(P-Pe*at/ke+pt)),Math.min(se,Math.floor(P+(ke-Pe)*at/ke+pt)),ge)}var Et=G[P],Vt=W,er=se;for(rs(G,W,P),ge(G[se],Et)>0&&rs(G,W,se);Vt0;)er--}ge(G[W],Et)===0?rs(G,W,er):rs(G,++er,se),er<=P&&(W=er+1),P<=er&&(se=er-1)}}function rs(G,P,W){var se=G[P];G[P]=G[W],G[W]=se}function $l(G,P){return GP?1:0}function cu(G,P){if(G.length<=1)return[G];let W=[],se,ge;for(let ke of G){let Pe=Wu(ke);Pe!==0&&(ke.area=Math.abs(Pe),ge===void 0&&(ge=Pe<0),ge===Pe<0?(se&&W.push(se),se=[ke]):se.push(ke))}if(se&&W.push(se),P>1)for(let ke=0;ke1?(pt=P[at+1][0],Et=P[at+1][1]):sr>0&&(pt+=Vt/this.kx*sr,Et+=er/this.ky*sr)),Vt=this.wrap(W[0]-pt)*this.kx,er=(W[1]-Et)*this.ky;let xr=Vt*Vt+er*er;xr180;)P-=360;return P}}function Ec(G,P){return P[0]-G[0]}function fu(G){return G[1]-G[0]+1}function hu(G,P){return G[1]>=G[0]&&G[1]G[1])return[null,null];let W=fu(G);if(P){if(W===2)return[G,null];let ge=Math.floor(W/2);return[[G[0],G[0]+ge],[G[0]+ge,G[1]]]}if(W===1)return[G,null];let se=Math.floor(W/2)-1;return[[G[0],G[0]+se],[G[0]+se+1,G[1]]]}function Jl(G,P){if(!hu(P,G.length))return[1/0,1/0,-1/0,-1/0];let W=[1/0,1/0,-1/0,-1/0];for(let se=P[0];se<=P[1];++se)ns(W,G[se]);return W}function Fs(G){let P=[1/0,1/0,-1/0,-1/0];for(let W of G)for(let se of W)ns(P,se);return P}function Yo(G){return G[0]!==-1/0&&G[1]!==-1/0&&G[2]!==1/0&&G[3]!==1/0}function tl(G,P,W){if(!Yo(G)||!Yo(P))return NaN;let se=0,ge=0;return G[2]P[2]&&(se=G[0]-P[2]),G[1]>P[3]&&(ge=G[1]-P[3]),G[3]=se)return se;if(Ro(ge,ke)){if($f(G,P))return 0}else if($f(P,G))return 0;let Pe=1/0;for(let Ye of G)for(let at=0,pt=Ye.length,Et=pt-1;at0;){let at=Pe.pop();if(at[0]>=ke)continue;let pt=at[1],Et=P?50:100;if(fu(pt)<=Et){if(!hu(pt,G.length))return NaN;if(P){let Vt=Io(G,pt,W,se);if(isNaN(Vt)||Vt===0)return Vt;ke=Math.min(ke,Vt)}else for(let Vt=pt[0];Vt<=pt[1];++Vt){let er=Zf(G[Vt],W,se);if(ke=Math.min(ke,er),ke===0)return 0}}else{let Vt=du(pt,P);qi(Pe,ke,se,G,Ye,Vt[0]),qi(Pe,ke,se,G,Ye,Vt[1])}}return ke}function El(G,P,W,se,ge,ke=1/0){let Pe=Math.min(ke,ge.distance(G[0],W[0]));if(Pe===0)return Pe;let Ye=new $o([[0,[0,G.length-1],[0,W.length-1]]],Ec);for(;Ye.length>0;){let at=Ye.pop();if(at[0]>=Pe)continue;let pt=at[1],Et=at[2],Vt=P?50:100,er=se?50:100;if(fu(pt)<=Vt&&fu(Et)<=er){if(!hu(pt,G.length)&&hu(Et,W.length))return NaN;let sr;if(P&&se)sr=kc(G,pt,W,Et,ge),Pe=Math.min(Pe,sr);else if(P&&!se){let xr=G.slice(pt[0],pt[1]+1);for(let Er=Et[0];Er<=Et[1];++Er)if(sr=wu(W[Er],xr,ge),Pe=Math.min(Pe,sr),Pe===0)return Pe}else if(!P&&se){let xr=W.slice(Et[0],Et[1]+1);for(let Er=pt[0];Er<=pt[1];++Er)if(sr=wu(G[Er],xr,ge),Pe=Math.min(Pe,sr),Pe===0)return Pe}else sr=zs(G,pt,W,Et,ge),Pe=Math.min(Pe,sr)}else{let sr=du(pt,P),xr=du(Et,se);Zu(Ye,Pe,ge,G,W,sr[0],xr[0]),Zu(Ye,Pe,ge,G,W,sr[0],xr[1]),Zu(Ye,Pe,ge,G,W,sr[1],xr[0]),Zu(Ye,Pe,ge,G,W,sr[1],xr[1])}}return Pe}function mf(G){return G.type==="MultiPolygon"?G.coordinates.map(P=>({type:"Polygon",coordinates:P})):G.type==="MultiLineString"?G.coordinates.map(P=>({type:"LineString",coordinates:P})):G.type==="MultiPoint"?G.coordinates.map(P=>({type:"Point",coordinates:P})):[G]}class Au{constructor(P,W){this.type=je,this.geojson=P,this.geometries=W}static parse(P,W){if(P.length!==2)return W.error(`'distance' expression requires exactly one argument, but found ${P.length-1} instead.`);if(on(P[1])){let se=P[1];if(se.type==="FeatureCollection")return new Au(se,se.features.map(ge=>mf(ge.geometry)).flat());if(se.type==="Feature")return new Au(se,mf(se.geometry));if("type"in se&&"coordinates"in se)return new Au(se,mf(se))}return W.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(P){if(P.geometry()!=null&&P.canonicalID()!=null){if(P.geometryType()==="Point")return function(W,se){let ge=W.geometry(),ke=ge.flat().map(at=>Go([at.x,at.y],W.canonical));if(ge.length===0)return NaN;let Pe=new xc(ke[0][1]),Ye=1/0;for(let at of se){switch(at.type){case"Point":Ye=Math.min(Ye,El(ke,!1,[at.coordinates],!1,Pe,Ye));break;case"LineString":Ye=Math.min(Ye,El(ke,!1,at.coordinates,!0,Pe,Ye));break;case"Polygon":Ye=Math.min(Ye,bc(ke,!1,at.coordinates,Pe,Ye))}if(Ye===0)return Ye}return Ye}(P,this.geometries);if(P.geometryType()==="LineString")return function(W,se){let ge=W.geometry(),ke=ge.flat().map(at=>Go([at.x,at.y],W.canonical));if(ge.length===0)return NaN;let Pe=new xc(ke[0][1]),Ye=1/0;for(let at of se){switch(at.type){case"Point":Ye=Math.min(Ye,El(ke,!0,[at.coordinates],!1,Pe,Ye));break;case"LineString":Ye=Math.min(Ye,El(ke,!0,at.coordinates,!0,Pe,Ye));break;case"Polygon":Ye=Math.min(Ye,bc(ke,!0,at.coordinates,Pe,Ye))}if(Ye===0)return Ye}return Ye}(P,this.geometries);if(P.geometryType()==="Polygon")return function(W,se){let ge=W.geometry();if(ge.length===0||ge[0].length===0)return NaN;let ke=cu(ge,0).map(at=>at.map(pt=>pt.map(Et=>Go([Et.x,Et.y],W.canonical)))),Pe=new xc(ke[0][0][0][1]),Ye=1/0;for(let at of se)for(let pt of ke){switch(at.type){case"Point":Ye=Math.min(Ye,bc([at.coordinates],!1,pt,Pe,Ye));break;case"LineString":Ye=Math.min(Ye,bc(at.coordinates,!0,pt,Pe,Ye));break;case"Polygon":Ye=Math.min(Ye,Vo(pt,at.coordinates,Pe,Ye))}if(Ye===0)return Ye}return Ye}(P,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}let nc={"==":Hi,"!=":yo,">":fo,"<":Bi,">=":po,"<=":Po,array:it,at:bt,boolean:it,case:Ir,coalesce:Qi,collator:Kn,format:Yi,image:zi,in:qt,"index-of":Qt,interpolate:jn,"interpolate-hcl":jn,"interpolate-lab":jn,length:Uo,let:tr,literal:Li,match:br,number:it,"number-format":yi,object:it,slice:Cr,step:Xr,string:it,"to-boolean":Jt,"to-color":Jt,"to-number":Jt,"to-string":Jt,var:Je,within:ys,distance:Au};class rl{constructor(P,W,se,ge){this.name=P,this.type=W,this._evaluate=se,this.args=ge}evaluate(P){return this._evaluate(P,this.args)}eachChild(P){this.args.forEach(P)}outputDefined(){return!1}static parse(P,W){let se=P[0],ge=rl.definitions[se];if(!ge)return W.error(`Unknown expression "${se}". If you wanted a literal array, use ["literal", [...]].`,0);let ke=Array.isArray(ge)?ge[0]:ge.type,Pe=Array.isArray(ge)?[[ge[1],ge[2]]]:ge.overloads,Ye=Pe.filter(([pt])=>!Array.isArray(pt)||pt.length===P.length-1),at=null;for(let[pt,Et]of Ye){at=new cr(W.registry,Xc,W.path,null,W.scope);let Vt=[],er=!1;for(let sr=1;sr{return er=Vt,Array.isArray(er)?`(${er.map(ze).join(", ")})`:`(${ze(er.type)}...)`;var er}).join(" | "),Et=[];for(let Vt=1;Vt{W=P?W&&Xc(se):W&&se instanceof Li}),!!W&&Zc(G)&&Cc(G,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function Zc(G){if(G instanceof rl&&(G.name==="get"&&G.args.length===1||G.name==="feature-state"||G.name==="has"&&G.args.length===1||G.name==="properties"||G.name==="geometry-type"||G.name==="id"||/^filter-/.test(G.name))||G instanceof ys||G instanceof Au)return!1;let P=!0;return G.eachChild(W=>{P&&!Zc(W)&&(P=!1)}),P}function Ql(G){if(G instanceof rl&&G.name==="feature-state")return!1;let P=!0;return G.eachChild(W=>{P&&!Ql(W)&&(P=!1)}),P}function Cc(G,P){if(G instanceof rl&&P.indexOf(G.name)>=0)return!1;let W=!0;return G.eachChild(se=>{W&&!Cc(se,P)&&(W=!1)}),W}function eu(G){return{result:"success",value:G}}function sc(G){return{result:"error",value:G}}function qs(G){return G["property-type"]==="data-driven"||G["property-type"]==="cross-faded-data-driven"}function lc(G){return!!G.expression&&G.expression.parameters.indexOf("zoom")>-1}function Fu(G){return!!G.expression&&G.expression.interpolated}function Ko(G){return G instanceof Number?"number":G instanceof String?"string":G instanceof Boolean?"boolean":Array.isArray(G)?"array":G===null?"null":typeof G}function Lc(G){return typeof G=="object"&&G!==null&&!Array.isArray(G)}function Kf(G){return G}function yf(G,P){let W=P.type==="color",se=G.stops&&typeof G.stops[0][0]=="object",ge=se||!(se||G.property!==void 0),ke=G.type||(Fu(P)?"exponential":"interval");if(W||P.type==="padding"){let Et=W?xa.parse:Yn.parse;(G=ne({},G)).stops&&(G.stops=G.stops.map(Vt=>[Vt[0],Et(Vt[1])])),G.default=Et(G.default?G.default:P.default)}if(G.colorSpace&&(Pe=G.colorSpace)!=="rgb"&&Pe!=="hcl"&&Pe!=="lab")throw new Error(`Unknown color space: "${G.colorSpace}"`);var Pe;let Ye,at,pt;if(ke==="exponential")Ye=Jf;else if(ke==="interval")Ye=Pc;else if(ke==="categorical"){Ye=_f,at=Object.create(null);for(let Et of G.stops)at[Et[0]]=Et[1];pt=typeof G.stops[0][0]}else{if(ke!=="identity")throw new Error(`Unknown function type "${ke}"`);Ye=Gs}if(se){let Et={},Vt=[];for(let xr=0;xrxr[0]),evaluate:({zoom:xr},Er)=>Jf({stops:er,base:G.base},P,xr).evaluate(xr,Er)}}if(ge){let Et=ke==="exponential"?{name:"exponential",base:G.base!==void 0?G.base:1}:null;return{kind:"camera",interpolationType:Et,interpolationFactor:jn.interpolationFactor.bind(void 0,Et),zoomStops:G.stops.map(Vt=>Vt[0]),evaluate:({zoom:Vt})=>Ye(G,P,Vt,at,pt)}}return{kind:"source",evaluate(Et,Vt){let er=Vt&&Vt.properties?Vt.properties[G.property]:void 0;return er===void 0?$u(G.default,P.default):Ye(G,P,er,at,pt)}}}function $u(G,P,W){return G!==void 0?G:P!==void 0?P:W!==void 0?W:void 0}function _f(G,P,W,se,ge){return $u(typeof W===ge?se[W]:void 0,G.default,P.default)}function Pc(G,P,W){if(Ko(W)!=="number")return $u(G.default,P.default);let se=G.stops.length;if(se===1||W<=G.stops[0][0])return G.stops[0][1];if(W>=G.stops[se-1][0])return G.stops[se-1][1];let ge=Mr(G.stops.map(ke=>ke[0]),W);return G.stops[ge][1]}function Jf(G,P,W){let se=G.base!==void 0?G.base:1;if(Ko(W)!=="number")return $u(G.default,P.default);let ge=G.stops.length;if(ge===1||W<=G.stops[0][0])return G.stops[0][1];if(W>=G.stops[ge-1][0])return G.stops[ge-1][1];let ke=Mr(G.stops.map(Et=>Et[0]),W),Pe=function(Et,Vt,er,sr){let xr=sr-er,Er=Et-er;return xr===0?0:Vt===1?Er/xr:(Math.pow(Vt,Er)-1)/(Math.pow(Vt,xr)-1)}(W,se,G.stops[ke][0],G.stops[ke+1][0]),Ye=G.stops[ke][1],at=G.stops[ke+1][1],pt=ui[P.type]||Kf;return typeof Ye.evaluate=="function"?{evaluate(...Et){let Vt=Ye.evaluate.apply(void 0,Et),er=at.evaluate.apply(void 0,Et);if(Vt!==void 0&&er!==void 0)return pt(Vt,er,Pe,G.colorSpace)}}:pt(Ye,at,Pe,G.colorSpace)}function Gs(G,P,W){switch(P.type){case"color":W=xa.parse(W);break;case"formatted":W=sn.fromString(W.toString());break;case"resolvedImage":W=Dn.fromString(W.toString());break;case"padding":W=Yn.parse(W);break;default:Ko(W)===P.type||P.type==="enum"&&P.values[W]||(W=void 0)}return $u(W,G.default,P.default)}rl.register(nc,{error:[{kind:"error"},[ut],(G,[P])=>{throw new $a(P.evaluate(G))}],typeof:[ut,[Pt],(G,[P])=>ze(mn(P.evaluate(G)))],"to-rgba":[Ee(je,4),[yt],(G,[P])=>{let[W,se,ge,ke]=P.evaluate(G).rgb;return[255*W,255*se,255*ge,ke]}],rgb:[yt,[je,je,je],gf],rgba:[yt,[je,je,je,je],gf],has:{type:st,overloads:[[[ut],(G,[P])=>Yc(P.evaluate(G),G.properties())],[[ut,At],(G,[P,W])=>Yc(P.evaluate(G),W.evaluate(G))]]},get:{type:Pt,overloads:[[[ut],(G,[P])=>ic(P.evaluate(G),G.properties())],[[ut,At],(G,[P,W])=>ic(P.evaluate(G),W.evaluate(G))]]},"feature-state":[Pt,[ut],(G,[P])=>ic(P.evaluate(G),G.featureState||{})],properties:[At,[],G=>G.properties()],"geometry-type":[ut,[],G=>G.geometryType()],id:[Pt,[],G=>G.id()],zoom:[je,[],G=>G.globals.zoom],"heatmap-density":[je,[],G=>G.globals.heatmapDensity||0],"line-progress":[je,[],G=>G.globals.lineProgress||0],accumulated:[Pt,[],G=>G.globals.accumulated===void 0?null:G.globals.accumulated],"+":[je,oc(je),(G,P)=>{let W=0;for(let se of P)W+=se.evaluate(G);return W}],"*":[je,oc(je),(G,P)=>{let W=1;for(let se of P)W*=se.evaluate(G);return W}],"-":{type:je,overloads:[[[je,je],(G,[P,W])=>P.evaluate(G)-W.evaluate(G)],[[je],(G,[P])=>-P.evaluate(G)]]},"/":[je,[je,je],(G,[P,W])=>P.evaluate(G)/W.evaluate(G)],"%":[je,[je,je],(G,[P,W])=>P.evaluate(G)%W.evaluate(G)],ln2:[je,[],()=>Math.LN2],pi:[je,[],()=>Math.PI],e:[je,[],()=>Math.E],"^":[je,[je,je],(G,[P,W])=>Math.pow(P.evaluate(G),W.evaluate(G))],sqrt:[je,[je],(G,[P])=>Math.sqrt(P.evaluate(G))],log10:[je,[je],(G,[P])=>Math.log(P.evaluate(G))/Math.LN10],ln:[je,[je],(G,[P])=>Math.log(P.evaluate(G))],log2:[je,[je],(G,[P])=>Math.log(P.evaluate(G))/Math.LN2],sin:[je,[je],(G,[P])=>Math.sin(P.evaluate(G))],cos:[je,[je],(G,[P])=>Math.cos(P.evaluate(G))],tan:[je,[je],(G,[P])=>Math.tan(P.evaluate(G))],asin:[je,[je],(G,[P])=>Math.asin(P.evaluate(G))],acos:[je,[je],(G,[P])=>Math.acos(P.evaluate(G))],atan:[je,[je],(G,[P])=>Math.atan(P.evaluate(G))],min:[je,oc(je),(G,P)=>Math.min(...P.map(W=>W.evaluate(G)))],max:[je,oc(je),(G,P)=>Math.max(...P.map(W=>W.evaluate(G)))],abs:[je,[je],(G,[P])=>Math.abs(P.evaluate(G))],round:[je,[je],(G,[P])=>{let W=P.evaluate(G);return W<0?-Math.round(-W):Math.round(W)}],floor:[je,[je],(G,[P])=>Math.floor(P.evaluate(G))],ceil:[je,[je],(G,[P])=>Math.ceil(P.evaluate(G))],"filter-==":[st,[ut,Pt],(G,[P,W])=>G.properties()[P.value]===W.value],"filter-id-==":[st,[Pt],(G,[P])=>G.id()===P.value],"filter-type-==":[st,[ut],(G,[P])=>G.geometryType()===P.value],"filter-<":[st,[ut,Pt],(G,[P,W])=>{let se=G.properties()[P.value],ge=W.value;return typeof se==typeof ge&&se{let W=G.id(),se=P.value;return typeof W==typeof se&&W":[st,[ut,Pt],(G,[P,W])=>{let se=G.properties()[P.value],ge=W.value;return typeof se==typeof ge&&se>ge}],"filter-id->":[st,[Pt],(G,[P])=>{let W=G.id(),se=P.value;return typeof W==typeof se&&W>se}],"filter-<=":[st,[ut,Pt],(G,[P,W])=>{let se=G.properties()[P.value],ge=W.value;return typeof se==typeof ge&&se<=ge}],"filter-id-<=":[st,[Pt],(G,[P])=>{let W=G.id(),se=P.value;return typeof W==typeof se&&W<=se}],"filter->=":[st,[ut,Pt],(G,[P,W])=>{let se=G.properties()[P.value],ge=W.value;return typeof se==typeof ge&&se>=ge}],"filter-id->=":[st,[Pt],(G,[P])=>{let W=G.id(),se=P.value;return typeof W==typeof se&&W>=se}],"filter-has":[st,[Pt],(G,[P])=>P.value in G.properties()],"filter-has-id":[st,[],G=>G.id()!==null&&G.id()!==void 0],"filter-type-in":[st,[Ee(ut)],(G,[P])=>P.value.indexOf(G.geometryType())>=0],"filter-id-in":[st,[Ee(Pt)],(G,[P])=>P.value.indexOf(G.id())>=0],"filter-in-small":[st,[ut,Ee(Pt)],(G,[P,W])=>W.value.indexOf(G.properties()[P.value])>=0],"filter-in-large":[st,[ut,Ee(Pt)],(G,[P,W])=>function(se,ge,ke,Pe){for(;ke<=Pe;){let Ye=ke+Pe>>1;if(ge[Ye]===se)return!0;ge[Ye]>se?Pe=Ye-1:ke=Ye+1}return!1}(G.properties()[P.value],W.value,0,W.value.length-1)],all:{type:st,overloads:[[[st,st],(G,[P,W])=>P.evaluate(G)&&W.evaluate(G)],[oc(st),(G,P)=>{for(let W of P)if(!W.evaluate(G))return!1;return!0}]]},any:{type:st,overloads:[[[st,st],(G,[P,W])=>P.evaluate(G)||W.evaluate(G)],[oc(st),(G,P)=>{for(let W of P)if(W.evaluate(G))return!0;return!1}]]},"!":[st,[st],(G,[P])=>!P.evaluate(G)],"is-supported-script":[st,[ut],(G,[P])=>{let W=G.globals&&G.globals.isSupportedScript;return!W||W(P.evaluate(G))}],upcase:[ut,[ut],(G,[P])=>P.evaluate(G).toUpperCase()],downcase:[ut,[ut],(G,[P])=>P.evaluate(G).toLowerCase()],concat:[ut,oc(Pt),(G,P)=>P.map(W=>bi(W.evaluate(G))).join("")],"resolved-locale":[ut,[Zt],(G,[P])=>P.evaluate(G).resolvedLocale()]});class tu{constructor(P,W){var se;this.expression=P,this._warningHistory={},this._evaluator=new ar,this._defaultValue=W?(se=W).type==="color"&&Lc(se.default)?new xa(0,0,0,0):se.type==="color"?xa.parse(se.default)||null:se.type==="padding"?Yn.parse(se.default)||null:se.type==="variableAnchorOffsetCollection"?vi.parse(se.default)||null:se.default===void 0?null:se.default:null,this._enumValues=W&&W.type==="enum"?W.values:null}evaluateWithoutErrorHandling(P,W,se,ge,ke,Pe){return this._evaluator.globals=P,this._evaluator.feature=W,this._evaluator.featureState=se,this._evaluator.canonical=ge,this._evaluator.availableImages=ke||null,this._evaluator.formattedSection=Pe,this.expression.evaluate(this._evaluator)}evaluate(P,W,se,ge,ke,Pe){this._evaluator.globals=P,this._evaluator.feature=W||null,this._evaluator.featureState=se||null,this._evaluator.canonical=ge,this._evaluator.availableImages=ke||null,this._evaluator.formattedSection=Pe||null;try{let Ye=this.expression.evaluate(this._evaluator);if(Ye==null||typeof Ye=="number"&&Ye!=Ye)return this._defaultValue;if(this._enumValues&&!(Ye in this._enumValues))throw new $a(`Expected value to be one of ${Object.keys(this._enumValues).map(at=>JSON.stringify(at)).join(", ")}, but found ${JSON.stringify(Ye)} instead.`);return Ye}catch(Ye){return this._warningHistory[Ye.message]||(this._warningHistory[Ye.message]=!0,typeof console<"u"&&console.warn(Ye.message)),this._defaultValue}}}function xf(G){return Array.isArray(G)&&G.length>0&&typeof G[0]=="string"&&G[0]in nc}function Es(G,P){let W=new cr(nc,Xc,[],P?function(ge){let ke={color:yt,string:ut,number:je,enum:ut,boolean:st,formatted:vr,padding:Nt,resolvedImage:Kt,variableAnchorOffsetCollection:nt};return ge.type==="array"?Ee(ke[ge.value]||Pt,ge.length):ke[ge.type]}(P):void 0),se=W.parse(G,void 0,void 0,void 0,P&&P.type==="string"?{typeAnnotation:"coerce"}:void 0);return se?eu(new tu(se,P)):sc(W.errors)}class zu{constructor(P,W){this.kind=P,this._styleExpression=W,this.isStateDependent=P!=="constant"&&!Ql(W.expression)}evaluateWithoutErrorHandling(P,W,se,ge,ke,Pe){return this._styleExpression.evaluateWithoutErrorHandling(P,W,se,ge,ke,Pe)}evaluate(P,W,se,ge,ke,Pe){return this._styleExpression.evaluate(P,W,se,ge,ke,Pe)}}class Fl{constructor(P,W,se,ge){this.kind=P,this.zoomStops=se,this._styleExpression=W,this.isStateDependent=P!=="camera"&&!Ql(W.expression),this.interpolationType=ge}evaluateWithoutErrorHandling(P,W,se,ge,ke,Pe){return this._styleExpression.evaluateWithoutErrorHandling(P,W,se,ge,ke,Pe)}evaluate(P,W,se,ge,ke,Pe){return this._styleExpression.evaluate(P,W,se,ge,ke,Pe)}interpolationFactor(P,W,se){return this.interpolationType?jn.interpolationFactor(this.interpolationType,P,W,se):0}}function Ku(G,P){let W=Es(G,P);if(W.result==="error")return W;let se=W.value.expression,ge=Zc(se);if(!ge&&!qs(P))return sc([new be("","data expressions not supported")]);let ke=Cc(se,["zoom"]);if(!ke&&!lc(P))return sc([new be("","zoom expressions not supported")]);let Pe=$c(se);return Pe||ke?Pe instanceof be?sc([Pe]):Pe instanceof jn&&!Fu(P)?sc([new be("",'"interpolate" expressions cannot be used with this property')]):eu(Pe?new Fl(ge?"camera":"composite",W.value,Pe.labels,Pe instanceof jn?Pe.interpolation:void 0):new zu(ge?"constant":"source",W.value)):sc([new be("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class wc{constructor(P,W){this._parameters=P,this._specification=W,ne(this,yf(this._parameters,this._specification))}static deserialize(P){return new wc(P._parameters,P._specification)}static serialize(P){return{_parameters:P._parameters,_specification:P._specification}}}function $c(G){let P=null;if(G instanceof tr)P=$c(G.result);else if(G instanceof Qi){for(let W of G.args)if(P=$c(W),P)break}else(G instanceof Xr||G instanceof jn)&&G.input instanceof rl&&G.input.name==="zoom"&&(P=G);return P instanceof be||G.eachChild(W=>{let se=$c(W);se instanceof be?P=se:!P&&se?P=new be("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):P&&se&&P!==se&&(P=new be("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),P}function bf(G){if(G===!0||G===!1)return!0;if(!Array.isArray(G)||G.length===0)return!1;switch(G[0]){case"has":return G.length>=2&&G[1]!=="$id"&&G[1]!=="$type";case"in":return G.length>=3&&(typeof G[1]!="string"||Array.isArray(G[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return G.length!==3||Array.isArray(G[1])||Array.isArray(G[2]);case"any":case"all":for(let P of G.slice(1))if(!bf(P)&&typeof P!="boolean")return!1;return!0;default:return!0}}let vu={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function Bu(G){if(G==null)return{filter:()=>!0,needGeometry:!1};bf(G)||(G=Ac(G));let P=Es(G,vu);if(P.result==="error")throw new Error(P.value.map(W=>`${W.key}: ${W.message}`).join(", "));return{filter:(W,se,ge)=>P.value.evaluate(W,se,{},ge),needGeometry:wh(G)}}function Tu(G,P){return GP?1:0}function wh(G){if(!Array.isArray(G))return!1;if(G[0]==="within"||G[0]==="distance")return!0;for(let P=1;P"||P==="<="||P===">="?Qf(G[1],G[2],P):P==="any"?(W=G.slice(1),["any"].concat(W.map(Ac))):P==="all"?["all"].concat(G.slice(1).map(Ac)):P==="none"?["all"].concat(G.slice(1).map(Ac).map($s)):P==="in"?Vl(G[1],G.slice(2)):P==="!in"?$s(Vl(G[1],G.slice(2))):P==="has"?uc(G[1]):P!=="!has"||$s(uc(G[1]));var W}function Qf(G,P,W){switch(G){case"$type":return[`filter-type-${W}`,P];case"$id":return[`filter-id-${W}`,P];default:return[`filter-${W}`,G,P]}}function Vl(G,P){if(P.length===0)return!1;switch(G){case"$type":return["filter-type-in",["literal",P]];case"$id":return["filter-id-in",["literal",P]];default:return P.length>200&&!P.some(W=>typeof W!=typeof P[0])?["filter-in-large",G,["literal",P.sort(Tu)]]:["filter-in-small",G,["literal",P]]}}function uc(G){switch(G){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",G]}}function $s(G){return["!",G]}function Ju(G){let P=typeof G;if(P==="number"||P==="boolean"||P==="string"||G==null)return JSON.stringify(G);if(Array.isArray(G)){let ge="[";for(let ke of G)ge+=`${Ju(ke)},`;return`${ge}]`}let W=Object.keys(G).sort(),se="{";for(let ge=0;gese.maximum?[new le(P,W,`${W} is greater than the maximum value ${se.maximum}`)]:[]}function cc(G){let P=G.valueSpec,W=hs(G.value.type),se,ge,ke,Pe={},Ye=W!=="categorical"&&G.value.property===void 0,at=!Ye,pt=Ko(G.value.stops)==="array"&&Ko(G.value.stops[0])==="array"&&Ko(G.value.stops[0][0])==="object",Et=zl({key:G.key,value:G.value,valueSpec:G.styleSpec.function,validateSpec:G.validateSpec,style:G.style,styleSpec:G.styleSpec,objectElementValidators:{stops:function(sr){if(W==="identity")return[new le(sr.key,sr.value,'identity function may not have a "stops" property')];let xr=[],Er=sr.value;return xr=xr.concat(Jc({key:sr.key,value:Er,valueSpec:sr.valueSpec,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec,arrayElementValidator:Vt})),Ko(Er)==="array"&&Er.length===0&&xr.push(new le(sr.key,Er,"array must have at least one stop")),xr},default:function(sr){return sr.validateSpec({key:sr.key,value:sr.value,valueSpec:P,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec})}}});return W==="identity"&&Ye&&Et.push(new le(G.key,G.value,'missing required property "property"')),W==="identity"||G.value.stops||Et.push(new le(G.key,G.value,'missing required property "stops"')),W==="exponential"&&G.valueSpec.expression&&!Fu(G.valueSpec)&&Et.push(new le(G.key,G.value,"exponential functions not supported")),G.styleSpec.$version>=8&&(at&&!qs(G.valueSpec)?Et.push(new le(G.key,G.value,"property functions not supported")):Ye&&!lc(G.valueSpec)&&Et.push(new le(G.key,G.value,"zoom functions not supported"))),W!=="categorical"&&!pt||G.value.property!==void 0||Et.push(new le(G.key,G.value,'"property" property is required')),Et;function Vt(sr){let xr=[],Er=sr.value,Qr=sr.key;if(Ko(Er)!=="array")return[new le(Qr,Er,`array expected, ${Ko(Er)} found`)];if(Er.length!==2)return[new le(Qr,Er,`array length 2 expected, length ${Er.length} found`)];if(pt){if(Ko(Er[0])!=="object")return[new le(Qr,Er,`object expected, ${Ko(Er[0])} found`)];if(Er[0].zoom===void 0)return[new le(Qr,Er,"object stop key must have zoom")];if(Er[0].value===void 0)return[new le(Qr,Er,"object stop key must have value")];if(ke&&ke>hs(Er[0].zoom))return[new le(Qr,Er[0].zoom,"stop zoom values must appear in ascending order")];hs(Er[0].zoom)!==ke&&(ke=hs(Er[0].zoom),ge=void 0,Pe={}),xr=xr.concat(zl({key:`${Qr}[0]`,value:Er[0],valueSpec:{zoom:{}},validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec,objectElementValidators:{zoom:Qc,value:er}}))}else xr=xr.concat(er({key:`${Qr}[0]`,value:Er[0],valueSpec:{},validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec},Er));return xf(kl(Er[1]))?xr.concat([new le(`${Qr}[1]`,Er[1],"expressions are not allowed in function stops.")]):xr.concat(sr.validateSpec({key:`${Qr}[1]`,value:Er[1],valueSpec:P,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec}))}function er(sr,xr){let Er=Ko(sr.value),Qr=hs(sr.value),la=sr.value!==null?sr.value:xr;if(se){if(Er!==se)return[new le(sr.key,la,`${Er} stop domain type must match previous stop domain type ${se}`)]}else se=Er;if(Er!=="number"&&Er!=="string"&&Er!=="boolean")return[new le(sr.key,la,"stop domain value must be a number, string, or boolean")];if(Er!=="number"&&W!=="categorical"){let Ka=`number expected, ${Er} found`;return qs(P)&&W===void 0&&(Ka+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new le(sr.key,la,Ka)]}return W!=="categorical"||Er!=="number"||isFinite(Qr)&&Math.floor(Qr)===Qr?W!=="categorical"&&Er==="number"&&ge!==void 0&&Qrnew le(`${G.key}${se.key}`,G.value,se.message));let W=P.value.expression||P.value._styleExpression.expression;if(G.expressionContext==="property"&&G.propertyKey==="text-font"&&!W.outputDefined())return[new le(G.key,G.value,`Invalid data expression for "${G.propertyKey}". Output values must be contained as literals within the expression.`)];if(G.expressionContext==="property"&&G.propertyType==="layout"&&!Ql(W))return[new le(G.key,G.value,'"feature-state" data expressions are not supported with layout properties.')];if(G.expressionContext==="filter"&&!Ql(W))return[new le(G.key,G.value,'"feature-state" data expressions are not supported with filters.')];if(G.expressionContext&&G.expressionContext.indexOf("cluster")===0){if(!Cc(W,["zoom","feature-state"]))return[new le(G.key,G.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if(G.expressionContext==="cluster-initial"&&!Zc(W))return[new le(G.key,G.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function ru(G){let P=G.key,W=G.value,se=G.valueSpec,ge=[];return Array.isArray(se.values)?se.values.indexOf(hs(W))===-1&&ge.push(new le(P,W,`expected one of [${se.values.join(", ")}], ${JSON.stringify(W)} found`)):Object.keys(se.values).indexOf(hs(W))===-1&&ge.push(new le(P,W,`expected one of [${Object.keys(se.values).join(", ")}], ${JSON.stringify(W)} found`)),ge}function Rc(G){return bf(kl(G.value))?fc(ne({},G,{expressionContext:"filter",valueSpec:{value:"boolean"}})):Qu(G)}function Qu(G){let P=G.value,W=G.key;if(Ko(P)!=="array")return[new le(W,P,`array expected, ${Ko(P)} found`)];let se=G.styleSpec,ge,ke=[];if(P.length<1)return[new le(W,P,"filter array must have at least 1 element")];switch(ke=ke.concat(ru({key:`${W}[0]`,value:P[0],valueSpec:se.filter_operator,style:G.style,styleSpec:G.styleSpec})),hs(P[0])){case"<":case"<=":case">":case">=":P.length>=2&&hs(P[1])==="$type"&&ke.push(new le(W,P,`"$type" cannot be use with operator "${P[0]}"`));case"==":case"!=":P.length!==3&&ke.push(new le(W,P,`filter array for operator "${P[0]}" must have 3 elements`));case"in":case"!in":P.length>=2&&(ge=Ko(P[1]),ge!=="string"&&ke.push(new le(`${W}[1]`,P[1],`string expected, ${ge} found`)));for(let Pe=2;Pe{pt in W&&P.push(new le(se,W[pt],`"${pt}" is prohibited for ref layers`))}),ge.layers.forEach(pt=>{hs(pt.id)===Ye&&(at=pt)}),at?at.ref?P.push(new le(se,W.ref,"ref cannot reference another ref layer")):Pe=hs(at.type):P.push(new le(se,W.ref,`ref layer "${Ye}" not found`))}else if(Pe!=="background")if(W.source){let at=ge.sources&&ge.sources[W.source],pt=at&&hs(at.type);at?pt==="vector"&&Pe==="raster"?P.push(new le(se,W.source,`layer "${W.id}" requires a raster source`)):pt!=="raster-dem"&&Pe==="hillshade"?P.push(new le(se,W.source,`layer "${W.id}" requires a raster-dem source`)):pt==="raster"&&Pe!=="raster"?P.push(new le(se,W.source,`layer "${W.id}" requires a vector source`)):pt!=="vector"||W["source-layer"]?pt==="raster-dem"&&Pe!=="hillshade"?P.push(new le(se,W.source,"raster-dem source can only be used with layer type 'hillshade'.")):Pe!=="line"||!W.paint||!W.paint["line-gradient"]||pt==="geojson"&&at.lineMetrics||P.push(new le(se,W,`layer "${W.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):P.push(new le(se,W,`layer "${W.id}" must specify a "source-layer"`)):P.push(new le(se,W.source,`source "${W.source}" not found`))}else P.push(new le(se,W,'missing required property "source"'));return P=P.concat(zl({key:se,value:W,valueSpec:ke.layer,style:G.style,styleSpec:G.styleSpec,validateSpec:G.validateSpec,objectElementValidators:{"*":()=>[],type:()=>G.validateSpec({key:`${se}.type`,value:W.type,valueSpec:ke.layer.type,style:G.style,styleSpec:G.styleSpec,validateSpec:G.validateSpec,object:W,objectKey:"type"}),filter:Rc,layout:at=>zl({layer:W,key:at.key,value:at.value,style:at.style,styleSpec:at.styleSpec,validateSpec:at.validateSpec,objectElementValidators:{"*":pt=>wf(ne({layerType:Pe},pt))}}),paint:at=>zl({layer:W,key:at.key,value:at.value,style:at.style,styleSpec:at.styleSpec,validateSpec:at.validateSpec,objectElementValidators:{"*":pt=>tf(ne({layerType:Pe},pt))}})}})),P}function Ic(G){let P=G.value,W=G.key,se=Ko(P);return se!=="string"?[new le(W,P,`string expected, ${se} found`)]:[]}let Af={promoteId:function({key:G,value:P}){if(Ko(P)==="string")return Ic({key:G,value:P});{let W=[];for(let se in P)W.push(...Ic({key:`${G}.${se}`,value:P[se]}));return W}}};function Dc(G){let P=G.value,W=G.key,se=G.styleSpec,ge=G.style,ke=G.validateSpec;if(!P.type)return[new le(W,P,'"type" is required')];let Pe=hs(P.type),Ye;switch(Pe){case"vector":case"raster":return Ye=zl({key:W,value:P,valueSpec:se[`source_${Pe.replace("-","_")}`],style:G.style,styleSpec:se,objectElementValidators:Af,validateSpec:ke}),Ye;case"raster-dem":return Ye=function(at){var pt;let Et=(pt=at.sourceName)!==null&&pt!==void 0?pt:"",Vt=at.value,er=at.styleSpec,sr=er.source_raster_dem,xr=at.style,Er=[],Qr=Ko(Vt);if(Vt===void 0)return Er;if(Qr!=="object")return Er.push(new le("source_raster_dem",Vt,`object expected, ${Qr} found`)),Er;let la=hs(Vt.encoding)==="custom",Ka=["redFactor","greenFactor","blueFactor","baseShift"],Ma=at.value.encoding?`"${at.value.encoding}"`:"Default";for(let qa in Vt)!la&&Ka.includes(qa)?Er.push(new le(qa,Vt[qa],`In "${Et}": "${qa}" is only valid when "encoding" is set to "custom". ${Ma} encoding found`)):sr[qa]?Er=Er.concat(at.validateSpec({key:qa,value:Vt[qa],valueSpec:sr[qa],validateSpec:at.validateSpec,style:xr,styleSpec:er})):Er.push(new le(qa,Vt[qa],`unknown property "${qa}"`));return Er}({sourceName:W,value:P,style:G.style,styleSpec:se,validateSpec:ke}),Ye;case"geojson":if(Ye=zl({key:W,value:P,valueSpec:se.source_geojson,style:ge,styleSpec:se,validateSpec:ke,objectElementValidators:Af}),P.cluster)for(let at in P.clusterProperties){let[pt,Et]=P.clusterProperties[at],Vt=typeof pt=="string"?[pt,["accumulated"],["get",at]]:pt;Ye.push(...fc({key:`${W}.${at}.map`,value:Et,validateSpec:ke,expressionContext:"cluster-map"})),Ye.push(...fc({key:`${W}.${at}.reduce`,value:Vt,validateSpec:ke,expressionContext:"cluster-reduce"}))}return Ye;case"video":return zl({key:W,value:P,valueSpec:se.source_video,style:ge,validateSpec:ke,styleSpec:se});case"image":return zl({key:W,value:P,valueSpec:se.source_image,style:ge,validateSpec:ke,styleSpec:se});case"canvas":return[new le(W,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return ru({key:`${W}.type`,value:P.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:ge,validateSpec:ke,styleSpec:se})}}function yl(G){let P=G.value,W=G.styleSpec,se=W.light,ge=G.style,ke=[],Pe=Ko(P);if(P===void 0)return ke;if(Pe!=="object")return ke=ke.concat([new le("light",P,`object expected, ${Pe} found`)]),ke;for(let Ye in P){let at=Ye.match(/^(.*)-transition$/);ke=ke.concat(at&&se[at[1]]&&se[at[1]].transition?G.validateSpec({key:Ye,value:P[Ye],valueSpec:W.transition,validateSpec:G.validateSpec,style:ge,styleSpec:W}):se[Ye]?G.validateSpec({key:Ye,value:P[Ye],valueSpec:se[Ye],validateSpec:G.validateSpec,style:ge,styleSpec:W}):[new le(Ye,P[Ye],`unknown property "${Ye}"`)])}return ke}function Mu(G){let P=G.value,W=G.styleSpec,se=W.sky,ge=G.style,ke=Ko(P);if(P===void 0)return[];if(ke!=="object")return[new le("sky",P,`object expected, ${ke} found`)];let Pe=[];for(let Ye in P)Pe=Pe.concat(se[Ye]?G.validateSpec({key:Ye,value:P[Ye],valueSpec:se[Ye],style:ge,styleSpec:W}):[new le(Ye,P[Ye],`unknown property "${Ye}"`)]);return Pe}function Tf(G){let P=G.value,W=G.styleSpec,se=W.terrain,ge=G.style,ke=[],Pe=Ko(P);if(P===void 0)return ke;if(Pe!=="object")return ke=ke.concat([new le("terrain",P,`object expected, ${Pe} found`)]),ke;for(let Ye in P)ke=ke.concat(se[Ye]?G.validateSpec({key:Ye,value:P[Ye],valueSpec:se[Ye],validateSpec:G.validateSpec,style:ge,styleSpec:W}):[new le(Ye,P[Ye],`unknown property "${Ye}"`)]);return ke}function th(G){let P=[],W=G.value,se=G.key;if(Array.isArray(W)){let ge=[],ke=[];for(let Pe in W)W[Pe].id&&ge.includes(W[Pe].id)&&P.push(new le(se,W,`all the sprites' ids must be unique, but ${W[Pe].id} is duplicated`)),ge.push(W[Pe].id),W[Pe].url&&ke.includes(W[Pe].url)&&P.push(new le(se,W,`all the sprites' URLs must be unique, but ${W[Pe].url} is duplicated`)),ke.push(W[Pe].url),P=P.concat(zl({key:`${se}[${Pe}]`,value:W[Pe],valueSpec:{id:{type:"string",required:!0},url:{type:"string",required:!0}},validateSpec:G.validateSpec}));return P}return Ic({key:se,value:W})}let Fc={"*":()=>[],array:Jc,boolean:function(G){let P=G.value,W=G.key,se=Ko(P);return se!=="boolean"?[new le(W,P,`boolean expected, ${se} found`)]:[]},number:Qc,color:function(G){let P=G.key,W=G.value,se=Ko(W);return se!=="string"?[new le(P,W,`color expected, ${se} found`)]:xa.parse(String(W))?[]:[new le(P,W,`color expected, "${W}" found`)]},constants:Kc,enum:ru,filter:Rc,function:cc,layer:eh,object:zl,source:Dc,light:yl,sky:Mu,terrain:Tf,projection:function(G){let P=G.value,W=G.styleSpec,se=W.projection,ge=G.style,ke=Ko(P);if(P===void 0)return[];if(ke!=="object")return[new le("projection",P,`object expected, ${ke} found`)];let Pe=[];for(let Ye in P)Pe=Pe.concat(se[Ye]?G.validateSpec({key:Ye,value:P[Ye],valueSpec:se[Ye],style:ge,styleSpec:W}):[new le(Ye,P[Ye],`unknown property "${Ye}"`)]);return Pe},string:Ic,formatted:function(G){return Ic(G).length===0?[]:fc(G)},resolvedImage:function(G){return Ic(G).length===0?[]:fc(G)},padding:function(G){let P=G.key,W=G.value;if(Ko(W)==="array"){if(W.length<1||W.length>4)return[new le(P,W,`padding requires 1 to 4 values; ${W.length} values found`)];let se={type:"number"},ge=[];for(let ke=0;ke[]}})),G.constants&&(W=W.concat(Kc({key:"constants",value:G.constants,style:G,styleSpec:P,validateSpec:Ou}))),dr(W)}function yr(G){return function(P){return G(co(Si({},P),{validateSpec:Ou}))}}function dr(G){return[].concat(G).sort((P,W)=>P.line-W.line)}function Wr(G){return function(...P){return dr(G.apply(this,P))}}jt.source=Wr(yr(Dc)),jt.sprite=Wr(yr(th)),jt.glyphs=Wr(yr(Tt)),jt.light=Wr(yr(yl)),jt.sky=Wr(yr(Mu)),jt.terrain=Wr(yr(Tf)),jt.layer=Wr(yr(eh)),jt.filter=Wr(yr(Rc)),jt.paintProperty=Wr(yr(tf)),jt.layoutProperty=Wr(yr(wf));let ma=jt,za=ma.light,Ja=ma.sky,nn=ma.paintProperty,Tn=ma.layoutProperty;function Ba(G,P){let W=!1;if(P&&P.length)for(let se of P)G.fire(new Z(new Error(se.message))),W=!0;return W}class Na{constructor(P,W,se){let ge=this.cells=[];if(P instanceof ArrayBuffer){this.arrayBuffer=P;let Pe=new Int32Array(this.arrayBuffer);P=Pe[0],this.d=(W=Pe[1])+2*(se=Pe[2]);for(let at=0;at=Vt[xr+0]&&ge>=Vt[xr+1])?(Ye[sr]=!0,Pe.push(Et[sr])):Ye[sr]=!1}}}}_forEachCell(P,W,se,ge,ke,Pe,Ye,at){let pt=this._convertToCellCoord(P),Et=this._convertToCellCoord(W),Vt=this._convertToCellCoord(se),er=this._convertToCellCoord(ge);for(let sr=pt;sr<=Vt;sr++)for(let xr=Et;xr<=er;xr++){let Er=this.d*xr+sr;if((!at||at(this._convertFromCellCoord(sr),this._convertFromCellCoord(xr),this._convertFromCellCoord(sr+1),this._convertFromCellCoord(xr+1)))&&ke.call(this,P,W,se,ge,Er,Pe,Ye,at))return}}_convertFromCellCoord(P){return(P-this.padding)/this.scale}_convertToCellCoord(P){return Math.max(0,Math.min(this.d-1,Math.floor(P*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let P=this.cells,W=3+this.cells.length+1+1,se=0;for(let Pe=0;Pe=0)continue;let Pe=G[ke];ge[ke]=Xa[W].shallow.indexOf(ke)>=0?Pe:fi(Pe,P)}G instanceof Error&&(ge.message=G.message)}if(ge.$name)throw new Error("$name property is reserved for worker serialization logic.");return W!=="Object"&&(ge.$name=W),ge}function Ti(G){if(pi(G))return G;if(Array.isArray(G))return G.map(Ti);if(typeof G!="object")throw new Error("can't deserialize object of type "+typeof G);let P=ci(G)||"Object";if(!Xa[P])throw new Error(`can't deserialize unregistered class ${P}`);let{klass:W}=Xa[P];if(!W)throw new Error(`can't deserialize unregistered class ${P}`);if(W.deserialize)return W.deserialize(G);let se=Object.create(W.prototype);for(let ge of Object.keys(G)){if(ge==="$name")continue;let ke=G[ge];se[ge]=Xa[P].shallow.indexOf(ge)>=0?ke:Ti(ke)}return se}class Un{constructor(){this.first=!0}update(P,W){let se=Math.floor(P);return this.first?(this.first=!1,this.lastIntegerZoom=se,this.lastIntegerZoomTime=0,this.lastZoom=P,this.lastFloorZoom=se,!0):(this.lastFloorZoom>se?(this.lastIntegerZoom=se+1,this.lastIntegerZoomTime=W):this.lastFloorZoomG>=128&&G<=255,"Hangul Jamo":G=>G>=4352&&G<=4607,Khmer:G=>G>=6016&&G<=6143,"General Punctuation":G=>G>=8192&&G<=8303,"Letterlike Symbols":G=>G>=8448&&G<=8527,"Number Forms":G=>G>=8528&&G<=8591,"Miscellaneous Technical":G=>G>=8960&&G<=9215,"Control Pictures":G=>G>=9216&&G<=9279,"Optical Character Recognition":G=>G>=9280&&G<=9311,"Enclosed Alphanumerics":G=>G>=9312&&G<=9471,"Geometric Shapes":G=>G>=9632&&G<=9727,"Miscellaneous Symbols":G=>G>=9728&&G<=9983,"Miscellaneous Symbols and Arrows":G=>G>=11008&&G<=11263,"Ideographic Description Characters":G=>G>=12272&&G<=12287,"CJK Symbols and Punctuation":G=>G>=12288&&G<=12351,Katakana:G=>G>=12448&&G<=12543,Kanbun:G=>G>=12688&&G<=12703,"CJK Strokes":G=>G>=12736&&G<=12783,"Enclosed CJK Letters and Months":G=>G>=12800&&G<=13055,"CJK Compatibility":G=>G>=13056&&G<=13311,"Yijing Hexagram Symbols":G=>G>=19904&&G<=19967,"Private Use Area":G=>G>=57344&&G<=63743,"Vertical Forms":G=>G>=65040&&G<=65055,"CJK Compatibility Forms":G=>G>=65072&&G<=65103,"Small Form Variants":G=>G>=65104&&G<=65135,"Halfwidth and Fullwidth Forms":G=>G>=65280&&G<=65519};function Oi(G){for(let P of G)if(ko(P.charCodeAt(0)))return!0;return!1}function ao(G){for(let P of G)if(!Oo(P.charCodeAt(0)))return!1;return!0}function Lo(G){let P=G.map(W=>{try{return new RegExp(`\\p{sc=${W}}`,"u").source}catch{return null}}).filter(W=>W);return new RegExp(P.join("|"),"u")}let us=Lo(["Arab","Dupl","Mong","Ougr","Syrc"]);function Oo(G){return!us.test(String.fromCodePoint(G))}let _s=Lo(["Bopo","Hani","Hira","Kana","Kits","Nshu","Tang","Yiii"]);function ko(G){return!(G!==746&&G!==747&&(G<4352||!(_n["CJK Compatibility Forms"](G)&&!(G>=65097&&G<=65103)||_n["CJK Compatibility"](G)||_n["CJK Strokes"](G)||!(!_n["CJK Symbols and Punctuation"](G)||G>=12296&&G<=12305||G>=12308&&G<=12319||G===12336)||_n["Enclosed CJK Letters and Months"](G)||_n["Ideographic Description Characters"](G)||_n.Kanbun(G)||_n.Katakana(G)&&G!==12540||!(!_n["Halfwidth and Fullwidth Forms"](G)||G===65288||G===65289||G===65293||G>=65306&&G<=65310||G===65339||G===65341||G===65343||G>=65371&&G<=65503||G===65507||G>=65512&&G<=65519)||!(!_n["Small Form Variants"](G)||G>=65112&&G<=65118||G>=65123&&G<=65126)||_n["Vertical Forms"](G)||_n["Yijing Hexagram Symbols"](G)||new RegExp("\\p{sc=Cans}","u").test(String.fromCodePoint(G))||new RegExp("\\p{sc=Hang}","u").test(String.fromCodePoint(G))||_s.test(String.fromCodePoint(G)))))}function fl(G){return!(ko(G)||function(P){return!!(_n["Latin-1 Supplement"](P)&&(P===167||P===169||P===174||P===177||P===188||P===189||P===190||P===215||P===247)||_n["General Punctuation"](P)&&(P===8214||P===8224||P===8225||P===8240||P===8241||P===8251||P===8252||P===8258||P===8263||P===8264||P===8265||P===8273)||_n["Letterlike Symbols"](P)||_n["Number Forms"](P)||_n["Miscellaneous Technical"](P)&&(P>=8960&&P<=8967||P>=8972&&P<=8991||P>=8996&&P<=9e3||P===9003||P>=9085&&P<=9114||P>=9150&&P<=9165||P===9167||P>=9169&&P<=9179||P>=9186&&P<=9215)||_n["Control Pictures"](P)&&P!==9251||_n["Optical Character Recognition"](P)||_n["Enclosed Alphanumerics"](P)||_n["Geometric Shapes"](P)||_n["Miscellaneous Symbols"](P)&&!(P>=9754&&P<=9759)||_n["Miscellaneous Symbols and Arrows"](P)&&(P>=11026&&P<=11055||P>=11088&&P<=11097||P>=11192&&P<=11243)||_n["CJK Symbols and Punctuation"](P)||_n.Katakana(P)||_n["Private Use Area"](P)||_n["CJK Compatibility Forms"](P)||_n["Small Form Variants"](P)||_n["Halfwidth and Fullwidth Forms"](P)||P===8734||P===8756||P===8757||P>=9984&&P<=10087||P>=10102&&P<=10131||P===65532||P===65533)}(G))}let Os=Lo(["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 cs(G){return Os.test(String.fromCodePoint(G))}function ai(G,P){return!(!P&&cs(G)||G>=2304&&G<=3583||G>=3840&&G<=4255||_n.Khmer(G))}function Xo(G){for(let P of G)if(cs(P.charCodeAt(0)))return!0;return!1}let os=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus="unavailable",this.pluginURL=null}setState(G){this.pluginStatus=G.pluginStatus,this.pluginURL=G.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(G){this.applyArabicShaping=G.applyArabicShaping,this.processBidirectionalText=G.processBidirectionalText,this.processStyledBidirectionalText=G.processStyledBidirectionalText}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class Do{constructor(P,W){this.zoom=P,W?(this.now=W.now,this.fadeDuration=W.fadeDuration,this.zoomHistory=W.zoomHistory,this.transition=W.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Un,this.transition={})}isSupportedScript(P){return function(W,se){for(let ge of W)if(!ai(ge.charCodeAt(0),se))return!1;return!0}(P,os.getRTLTextPluginStatus()==="loaded")}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let P=this.zoom,W=P-Math.floor(P),se=this.crossFadingFactor();return P>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:W+(1-W)*se}:{fromScale:.5,toScale:1,t:1-(1-se)*W}}}class al{constructor(P,W){this.property=P,this.value=W,this.expression=function(se,ge){if(Lc(se))return new wc(se,ge);if(xf(se)){let ke=Ku(se,ge);if(ke.result==="error")throw new Error(ke.value.map(Pe=>`${Pe.key}: ${Pe.message}`).join(", "));return ke.value}{let ke=se;return ge.type==="color"&&typeof se=="string"?ke=xa.parse(se):ge.type!=="padding"||typeof se!="number"&&!Array.isArray(se)?ge.type==="variableAnchorOffsetCollection"&&Array.isArray(se)&&(ke=vi.parse(se)):ke=Yn.parse(se),{kind:"constant",evaluate:()=>ke}}}(W===void 0?P.specification.default:W,P.specification)}isDataDriven(){return this.expression.kind==="source"||this.expression.kind==="composite"}possiblyEvaluate(P,W,se){return this.property.possiblyEvaluate(this,P,W,se)}}class pu{constructor(P){this.property=P,this.value=new al(P,void 0)}transitioned(P,W){return new Nu(this.property,this.value,W,E({},P.transition,this.transition),P.now)}untransitioned(){return new Nu(this.property,this.value,null,{},0)}}class au{constructor(P){this._properties=P,this._values=Object.create(P.defaultTransitionablePropertyValues)}getValue(P){return h(this._values[P].value.value)}setValue(P,W){Object.prototype.hasOwnProperty.call(this._values,P)||(this._values[P]=new pu(this._values[P].property)),this._values[P].value=new al(this._values[P].property,W===null?void 0:h(W))}getTransition(P){return h(this._values[P].transition)}setTransition(P,W){Object.prototype.hasOwnProperty.call(this._values,P)||(this._values[P]=new pu(this._values[P].property)),this._values[P].transition=h(W)||void 0}serialize(){let P={};for(let W of Object.keys(this._values)){let se=this.getValue(W);se!==void 0&&(P[W]=se);let ge=this.getTransition(W);ge!==void 0&&(P[`${W}-transition`]=ge)}return P}transitioned(P,W){let se=new _l(this._properties);for(let ge of Object.keys(this._values))se._values[ge]=this._values[ge].transitioned(P,W._values[ge]);return se}untransitioned(){let P=new _l(this._properties);for(let W of Object.keys(this._values))P._values[W]=this._values[W].untransitioned();return P}}class Nu{constructor(P,W,se,ge,ke){this.property=P,this.value=W,this.begin=ke+ge.delay||0,this.end=this.begin+ge.duration||0,P.specification.transition&&(ge.delay||ge.duration)&&(this.prior=se)}possiblyEvaluate(P,W,se){let ge=P.now||0,ke=this.value.possiblyEvaluate(P,W,se),Pe=this.prior;if(Pe){if(ge>this.end)return this.prior=null,ke;if(this.value.isDataDriven())return this.prior=null,ke;if(ge=1)return 1;let pt=at*at,Et=pt*at;return 4*(at<.5?Et:3*(at-pt)+Et-.75)}(Ye))}}return ke}}class _l{constructor(P){this._properties=P,this._values=Object.create(P.defaultTransitioningPropertyValues)}possiblyEvaluate(P,W,se){let ge=new hc(this._properties);for(let ke of Object.keys(this._values))ge._values[ke]=this._values[ke].possiblyEvaluate(P,W,se);return ge}hasTransition(){for(let P of Object.keys(this._values))if(this._values[P].prior)return!0;return!1}}class Su{constructor(P){this._properties=P,this._values=Object.create(P.defaultPropertyValues)}hasValue(P){return this._values[P].value!==void 0}getValue(P){return h(this._values[P].value)}setValue(P,W){this._values[P]=new al(this._values[P].property,W===null?void 0:h(W))}serialize(){let P={};for(let W of Object.keys(this._values)){let se=this.getValue(W);se!==void 0&&(P[W]=se)}return P}possiblyEvaluate(P,W,se){let ge=new hc(this._properties);for(let ke of Object.keys(this._values))ge._values[ke]=this._values[ke].possiblyEvaluate(P,W,se);return ge}}class xl{constructor(P,W,se){this.property=P,this.value=W,this.parameters=se}isConstant(){return this.value.kind==="constant"}constantOr(P){return this.value.kind==="constant"?this.value.value:P}evaluate(P,W,se,ge){return this.property.evaluate(this.value,this.parameters,P,W,se,ge)}}class hc{constructor(P){this._properties=P,this._values=Object.create(P.defaultPossiblyEvaluatedValues)}get(P){return this._values[P]}}class ki{constructor(P){this.specification=P}possiblyEvaluate(P,W){if(P.isDataDriven())throw new Error("Value should not be data driven");return P.expression.evaluate(W)}interpolate(P,W,se){let ge=ui[this.specification.type];return ge?ge(P,W,se):P}}class Xi{constructor(P,W){this.specification=P,this.overrides=W}possiblyEvaluate(P,W,se,ge){return new xl(this,P.expression.kind==="constant"||P.expression.kind==="camera"?{kind:"constant",value:P.expression.evaluate(W,null,{},se,ge)}:P.expression,W)}interpolate(P,W,se){if(P.value.kind!=="constant"||W.value.kind!=="constant")return P;if(P.value.value===void 0||W.value.value===void 0)return new xl(this,{kind:"constant",value:void 0},P.parameters);let ge=ui[this.specification.type];if(ge){let ke=ge(P.value.value,W.value.value,se);return new xl(this,{kind:"constant",value:ke},P.parameters)}return P}evaluate(P,W,se,ge,ke,Pe){return P.kind==="constant"?P.value:P.evaluate(W,se,ge,ke,Pe)}}class jf extends Xi{possiblyEvaluate(P,W,se,ge){if(P.value===void 0)return new xl(this,{kind:"constant",value:void 0},W);if(P.expression.kind==="constant"){let ke=P.expression.evaluate(W,null,{},se,ge),Pe=P.property.specification.type==="resolvedImage"&&typeof ke!="string"?ke.name:ke,Ye=this._calculate(Pe,Pe,Pe,W);return new xl(this,{kind:"constant",value:Ye},W)}if(P.expression.kind==="camera"){let ke=this._calculate(P.expression.evaluate({zoom:W.zoom-1}),P.expression.evaluate({zoom:W.zoom}),P.expression.evaluate({zoom:W.zoom+1}),W);return new xl(this,{kind:"constant",value:ke},W)}return new xl(this,P.expression,W)}evaluate(P,W,se,ge,ke,Pe){if(P.kind==="source"){let Ye=P.evaluate(W,se,ge,ke,Pe);return this._calculate(Ye,Ye,Ye,W)}return P.kind==="composite"?this._calculate(P.evaluate({zoom:Math.floor(W.zoom)-1},se,ge),P.evaluate({zoom:Math.floor(W.zoom)},se,ge),P.evaluate({zoom:Math.floor(W.zoom)+1},se,ge),W):P.value}_calculate(P,W,se,ge){return ge.zoom>ge.zoomHistory.lastIntegerZoom?{from:P,to:W}:{from:se,to:W}}interpolate(P){return P}}class zc{constructor(P){this.specification=P}possiblyEvaluate(P,W,se,ge){if(P.value!==void 0){if(P.expression.kind==="constant"){let ke=P.expression.evaluate(W,null,{},se,ge);return this._calculate(ke,ke,ke,W)}return this._calculate(P.expression.evaluate(new Do(Math.floor(W.zoom-1),W)),P.expression.evaluate(new Do(Math.floor(W.zoom),W)),P.expression.evaluate(new Do(Math.floor(W.zoom+1),W)),W)}}_calculate(P,W,se,ge){return ge.zoom>ge.zoomHistory.lastIntegerZoom?{from:P,to:W}:{from:se,to:W}}interpolate(P){return P}}class nu{constructor(P){this.specification=P}possiblyEvaluate(P,W,se,ge){return!!P.expression.evaluate(W,null,{},se,ge)}interpolate(){return!1}}class Me{constructor(P){this.properties=P,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let W in P){let se=P[W];se.specification.overridable&&this.overridableProperties.push(W);let ge=this.defaultPropertyValues[W]=new al(se,void 0),ke=this.defaultTransitionablePropertyValues[W]=new pu(se);this.defaultTransitioningPropertyValues[W]=ke.untransitioned(),this.defaultPossiblyEvaluatedValues[W]=ge.possiblyEvaluate({})}}}Aa("DataDrivenProperty",Xi),Aa("DataConstantProperty",ki),Aa("CrossFadedDataDrivenProperty",jf),Aa("CrossFadedProperty",zc),Aa("ColorRampProperty",nu);let L="-transition";class J extends Q{constructor(P,W){if(super(),this.id=P.id,this.type=P.type,this._featureFilter={filter:()=>!0,needGeometry:!1},P.type!=="custom"&&(this.metadata=P.metadata,this.minzoom=P.minzoom,this.maxzoom=P.maxzoom,P.type!=="background"&&(this.source=P.source,this.sourceLayer=P["source-layer"],this.filter=P.filter),W.layout&&(this._unevaluatedLayout=new Su(W.layout)),W.paint)){this._transitionablePaint=new au(W.paint);for(let se in P.paint)this.setPaintProperty(se,P.paint[se],{validate:!1});for(let se in P.layout)this.setLayoutProperty(se,P.layout[se],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new hc(W.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(P){return P==="visibility"?this.visibility:this._unevaluatedLayout.getValue(P)}setLayoutProperty(P,W,se={}){W!=null&&this._validate(Tn,`layers.${this.id}.layout.${P}`,P,W,se)||(P!=="visibility"?this._unevaluatedLayout.setValue(P,W):this.visibility=W)}getPaintProperty(P){return P.endsWith(L)?this._transitionablePaint.getTransition(P.slice(0,-11)):this._transitionablePaint.getValue(P)}setPaintProperty(P,W,se={}){if(W!=null&&this._validate(nn,`layers.${this.id}.paint.${P}`,P,W,se))return!1;if(P.endsWith(L))return this._transitionablePaint.setTransition(P.slice(0,-11),W||void 0),!1;{let ge=this._transitionablePaint._values[P],ke=ge.property.specification["property-type"]==="cross-faded-data-driven",Pe=ge.value.isDataDriven(),Ye=ge.value;this._transitionablePaint.setValue(P,W),this._handleSpecialPaintPropertyUpdate(P);let at=this._transitionablePaint._values[P].value;return at.isDataDriven()||Pe||ke||this._handleOverridablePaintPropertyUpdate(P,Ye,at)}}_handleSpecialPaintPropertyUpdate(P){}_handleOverridablePaintPropertyUpdate(P,W,se){return!1}isHidden(P){return!!(this.minzoom&&P=this.maxzoom)||this.visibility==="none"}updateTransitions(P){this._transitioningPaint=this._transitionablePaint.transitioned(P,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(P,W){P.getCrossfadeParameters&&(this._crossfadeParameters=P.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(P,void 0,W)),this.paint=this._transitioningPaint.possiblyEvaluate(P,void 0,W)}serialize(){let P={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&&(P.layout=P.layout||{},P.layout.visibility=this.visibility),m(P,(W,se)=>!(W===void 0||se==="layout"&&!Object.keys(W).length||se==="paint"&&!Object.keys(W).length))}_validate(P,W,se,ge,ke={}){return(!ke||ke.validate!==!1)&&Ba(this,P.call(ma,{key:W,layerType:this.type,objectKey:se,value:ge,styleSpec:re,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let P in this.paint._values){let W=this.paint.get(P);if(W instanceof xl&&qs(W.property.specification)&&(W.value.kind==="source"||W.value.kind==="composite")&&W.value.isStateDependent)return!0}return!1}}let de={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class pe{constructor(P,W){this._structArray=P,this._pos1=W*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class Te{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(P,W){return P._trim(),W&&(P.isTransferred=!0,W.push(P.arrayBuffer)),{length:P.length,arrayBuffer:P.arrayBuffer}}static deserialize(P){let W=Object.create(this.prototype);return W.arrayBuffer=P.arrayBuffer,W.length=P.length,W.capacity=P.arrayBuffer.byteLength/W.bytesPerElement,W._refreshViews(),W}_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(P){this.reserve(P),this.length=P}reserve(P){if(P>this.capacity){this.capacity=Math.max(P,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let W=this.uint8;this._refreshViews(),W&&this.uint8.set(W)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}}function Ze(G,P=1){let W=0,se=0;return{members:G.map(ge=>{let ke=de[ge.type].BYTES_PER_ELEMENT,Pe=W=rt(W,Math.max(P,ke)),Ye=ge.components||1;return se=Math.max(se,ke),W+=ke*Ye,{name:ge.name,type:ge.type,components:Ye,offset:Pe}}),size:rt(W,Math.max(se,P)),alignment:P}}function rt(G,P){return Math.ceil(G/P)*P}class vt extends Te{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(P,W){let se=this.length;return this.resize(se+1),this.emplace(se,P,W)}emplace(P,W,se){let ge=2*P;return this.int16[ge+0]=W,this.int16[ge+1]=se,P}}vt.prototype.bytesPerElement=4,Aa("StructArrayLayout2i4",vt);class Mt extends Te{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(P,W,se){let ge=this.length;return this.resize(ge+1),this.emplace(ge,P,W,se)}emplace(P,W,se,ge){let ke=3*P;return this.int16[ke+0]=W,this.int16[ke+1]=se,this.int16[ke+2]=ge,P}}Mt.prototype.bytesPerElement=6,Aa("StructArrayLayout3i6",Mt);class Gt extends Te{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(P,W,se,ge){let ke=this.length;return this.resize(ke+1),this.emplace(ke,P,W,se,ge)}emplace(P,W,se,ge,ke){let Pe=4*P;return this.int16[Pe+0]=W,this.int16[Pe+1]=se,this.int16[Pe+2]=ge,this.int16[Pe+3]=ke,P}}Gt.prototype.bytesPerElement=8,Aa("StructArrayLayout4i8",Gt);class Ht extends Te{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(P,W,se,ge,ke,Pe){let Ye=this.length;return this.resize(Ye+1),this.emplace(Ye,P,W,se,ge,ke,Pe)}emplace(P,W,se,ge,ke,Pe,Ye){let at=6*P;return this.int16[at+0]=W,this.int16[at+1]=se,this.int16[at+2]=ge,this.int16[at+3]=ke,this.int16[at+4]=Pe,this.int16[at+5]=Ye,P}}Ht.prototype.bytesPerElement=12,Aa("StructArrayLayout2i4i12",Ht);class fr extends Te{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(P,W,se,ge,ke,Pe){let Ye=this.length;return this.resize(Ye+1),this.emplace(Ye,P,W,se,ge,ke,Pe)}emplace(P,W,se,ge,ke,Pe,Ye){let at=4*P,pt=8*P;return this.int16[at+0]=W,this.int16[at+1]=se,this.uint8[pt+4]=ge,this.uint8[pt+5]=ke,this.uint8[pt+6]=Pe,this.uint8[pt+7]=Ye,P}}fr.prototype.bytesPerElement=8,Aa("StructArrayLayout2i4ub8",fr);class wr extends Te{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(P,W){let se=this.length;return this.resize(se+1),this.emplace(se,P,W)}emplace(P,W,se){let ge=2*P;return this.float32[ge+0]=W,this.float32[ge+1]=se,P}}wr.prototype.bytesPerElement=8,Aa("StructArrayLayout2f8",wr);class Le extends Te{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(P,W,se,ge,ke,Pe,Ye,at,pt,Et){let Vt=this.length;return this.resize(Vt+1),this.emplace(Vt,P,W,se,ge,ke,Pe,Ye,at,pt,Et)}emplace(P,W,se,ge,ke,Pe,Ye,at,pt,Et,Vt){let er=10*P;return this.uint16[er+0]=W,this.uint16[er+1]=se,this.uint16[er+2]=ge,this.uint16[er+3]=ke,this.uint16[er+4]=Pe,this.uint16[er+5]=Ye,this.uint16[er+6]=at,this.uint16[er+7]=pt,this.uint16[er+8]=Et,this.uint16[er+9]=Vt,P}}Le.prototype.bytesPerElement=20,Aa("StructArrayLayout10ui20",Le);class Oe extends Te{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(P,W,se,ge,ke,Pe,Ye,at,pt,Et,Vt,er){let sr=this.length;return this.resize(sr+1),this.emplace(sr,P,W,se,ge,ke,Pe,Ye,at,pt,Et,Vt,er)}emplace(P,W,se,ge,ke,Pe,Ye,at,pt,Et,Vt,er,sr){let xr=12*P;return this.int16[xr+0]=W,this.int16[xr+1]=se,this.int16[xr+2]=ge,this.int16[xr+3]=ke,this.uint16[xr+4]=Pe,this.uint16[xr+5]=Ye,this.uint16[xr+6]=at,this.uint16[xr+7]=pt,this.int16[xr+8]=Et,this.int16[xr+9]=Vt,this.int16[xr+10]=er,this.int16[xr+11]=sr,P}}Oe.prototype.bytesPerElement=24,Aa("StructArrayLayout4i4ui4i24",Oe);class Ge extends Te{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(P,W,se){let ge=this.length;return this.resize(ge+1),this.emplace(ge,P,W,se)}emplace(P,W,se,ge){let ke=3*P;return this.float32[ke+0]=W,this.float32[ke+1]=se,this.float32[ke+2]=ge,P}}Ge.prototype.bytesPerElement=12,Aa("StructArrayLayout3f12",Ge);class $e extends Te{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(P){let W=this.length;return this.resize(W+1),this.emplace(W,P)}emplace(P,W){return this.uint32[1*P+0]=W,P}}$e.prototype.bytesPerElement=4,Aa("StructArrayLayout1ul4",$e);class lt extends Te{_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(P,W,se,ge,ke,Pe,Ye,at,pt){let Et=this.length;return this.resize(Et+1),this.emplace(Et,P,W,se,ge,ke,Pe,Ye,at,pt)}emplace(P,W,se,ge,ke,Pe,Ye,at,pt,Et){let Vt=10*P,er=5*P;return this.int16[Vt+0]=W,this.int16[Vt+1]=se,this.int16[Vt+2]=ge,this.int16[Vt+3]=ke,this.int16[Vt+4]=Pe,this.int16[Vt+5]=Ye,this.uint32[er+3]=at,this.uint16[Vt+8]=pt,this.uint16[Vt+9]=Et,P}}lt.prototype.bytesPerElement=20,Aa("StructArrayLayout6i1ul2ui20",lt);class tt extends Te{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(P,W,se,ge,ke,Pe){let Ye=this.length;return this.resize(Ye+1),this.emplace(Ye,P,W,se,ge,ke,Pe)}emplace(P,W,se,ge,ke,Pe,Ye){let at=6*P;return this.int16[at+0]=W,this.int16[at+1]=se,this.int16[at+2]=ge,this.int16[at+3]=ke,this.int16[at+4]=Pe,this.int16[at+5]=Ye,P}}tt.prototype.bytesPerElement=12,Aa("StructArrayLayout2i2i2i12",tt);class dt extends Te{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(P,W,se,ge,ke){let Pe=this.length;return this.resize(Pe+1),this.emplace(Pe,P,W,se,ge,ke)}emplace(P,W,se,ge,ke,Pe){let Ye=4*P,at=8*P;return this.float32[Ye+0]=W,this.float32[Ye+1]=se,this.float32[Ye+2]=ge,this.int16[at+6]=ke,this.int16[at+7]=Pe,P}}dt.prototype.bytesPerElement=16,Aa("StructArrayLayout2f1f2i16",dt);class Rt extends Te{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(P,W,se,ge,ke,Pe){let Ye=this.length;return this.resize(Ye+1),this.emplace(Ye,P,W,se,ge,ke,Pe)}emplace(P,W,se,ge,ke,Pe,Ye){let at=16*P,pt=4*P,Et=8*P;return this.uint8[at+0]=W,this.uint8[at+1]=se,this.float32[pt+1]=ge,this.float32[pt+2]=ke,this.int16[Et+6]=Pe,this.int16[Et+7]=Ye,P}}Rt.prototype.bytesPerElement=16,Aa("StructArrayLayout2ub2f2i16",Rt);class Ot extends Te{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(P,W,se){let ge=this.length;return this.resize(ge+1),this.emplace(ge,P,W,se)}emplace(P,W,se,ge){let ke=3*P;return this.uint16[ke+0]=W,this.uint16[ke+1]=se,this.uint16[ke+2]=ge,P}}Ot.prototype.bytesPerElement=6,Aa("StructArrayLayout3ui6",Ot);class Xt extends Te{_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(P,W,se,ge,ke,Pe,Ye,at,pt,Et,Vt,er,sr,xr,Er,Qr,la){let Ka=this.length;return this.resize(Ka+1),this.emplace(Ka,P,W,se,ge,ke,Pe,Ye,at,pt,Et,Vt,er,sr,xr,Er,Qr,la)}emplace(P,W,se,ge,ke,Pe,Ye,at,pt,Et,Vt,er,sr,xr,Er,Qr,la,Ka){let Ma=24*P,qa=12*P,bn=48*P;return this.int16[Ma+0]=W,this.int16[Ma+1]=se,this.uint16[Ma+2]=ge,this.uint16[Ma+3]=ke,this.uint32[qa+2]=Pe,this.uint32[qa+3]=Ye,this.uint32[qa+4]=at,this.uint16[Ma+10]=pt,this.uint16[Ma+11]=Et,this.uint16[Ma+12]=Vt,this.float32[qa+7]=er,this.float32[qa+8]=sr,this.uint8[bn+36]=xr,this.uint8[bn+37]=Er,this.uint8[bn+38]=Qr,this.uint32[qa+10]=la,this.int16[Ma+22]=Ka,P}}Xt.prototype.bytesPerElement=48,Aa("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",Xt);class nr extends Te{_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(P,W,se,ge,ke,Pe,Ye,at,pt,Et,Vt,er,sr,xr,Er,Qr,la,Ka,Ma,qa,bn,ei,Ri,To,Ci,wi,no,Wi){let Ni=this.length;return this.resize(Ni+1),this.emplace(Ni,P,W,se,ge,ke,Pe,Ye,at,pt,Et,Vt,er,sr,xr,Er,Qr,la,Ka,Ma,qa,bn,ei,Ri,To,Ci,wi,no,Wi)}emplace(P,W,se,ge,ke,Pe,Ye,at,pt,Et,Vt,er,sr,xr,Er,Qr,la,Ka,Ma,qa,bn,ei,Ri,To,Ci,wi,no,Wi,Ni){let In=32*P,uo=16*P;return this.int16[In+0]=W,this.int16[In+1]=se,this.int16[In+2]=ge,this.int16[In+3]=ke,this.int16[In+4]=Pe,this.int16[In+5]=Ye,this.int16[In+6]=at,this.int16[In+7]=pt,this.uint16[In+8]=Et,this.uint16[In+9]=Vt,this.uint16[In+10]=er,this.uint16[In+11]=sr,this.uint16[In+12]=xr,this.uint16[In+13]=Er,this.uint16[In+14]=Qr,this.uint16[In+15]=la,this.uint16[In+16]=Ka,this.uint16[In+17]=Ma,this.uint16[In+18]=qa,this.uint16[In+19]=bn,this.uint16[In+20]=ei,this.uint16[In+21]=Ri,this.uint16[In+22]=To,this.uint32[uo+12]=Ci,this.float32[uo+13]=wi,this.float32[uo+14]=no,this.uint16[In+30]=Wi,this.uint16[In+31]=Ni,P}}nr.prototype.bytesPerElement=64,Aa("StructArrayLayout8i15ui1ul2f2ui64",nr);class pr extends Te{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(P){let W=this.length;return this.resize(W+1),this.emplace(W,P)}emplace(P,W){return this.float32[1*P+0]=W,P}}pr.prototype.bytesPerElement=4,Aa("StructArrayLayout1f4",pr);class Lr extends Te{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(P,W,se){let ge=this.length;return this.resize(ge+1),this.emplace(ge,P,W,se)}emplace(P,W,se,ge){let ke=3*P;return this.uint16[6*P+0]=W,this.float32[ke+1]=se,this.float32[ke+2]=ge,P}}Lr.prototype.bytesPerElement=12,Aa("StructArrayLayout1ui2f12",Lr);class Br extends Te{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(P,W,se){let ge=this.length;return this.resize(ge+1),this.emplace(ge,P,W,se)}emplace(P,W,se,ge){let ke=4*P;return this.uint32[2*P+0]=W,this.uint16[ke+2]=se,this.uint16[ke+3]=ge,P}}Br.prototype.bytesPerElement=8,Aa("StructArrayLayout1ul2ui8",Br);class Kr extends Te{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(P,W){let se=this.length;return this.resize(se+1),this.emplace(se,P,W)}emplace(P,W,se){let ge=2*P;return this.uint16[ge+0]=W,this.uint16[ge+1]=se,P}}Kr.prototype.bytesPerElement=4,Aa("StructArrayLayout2ui4",Kr);class ya extends Te{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(P){let W=this.length;return this.resize(W+1),this.emplace(W,P)}emplace(P,W){return this.uint16[1*P+0]=W,P}}ya.prototype.bytesPerElement=2,Aa("StructArrayLayout1ui2",ya);class Za extends Te{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(P,W,se,ge){let ke=this.length;return this.resize(ke+1),this.emplace(ke,P,W,se,ge)}emplace(P,W,se,ge,ke){let Pe=4*P;return this.float32[Pe+0]=W,this.float32[Pe+1]=se,this.float32[Pe+2]=ge,this.float32[Pe+3]=ke,P}}Za.prototype.bytesPerElement=16,Aa("StructArrayLayout4f16",Za);class Ha extends pe{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)}}Ha.prototype.size=20;class un extends lt{get(P){return new Ha(this,P)}}Aa("CollisionBoxArray",un);class Bn extends pe{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(P){this._structArray.uint8[this._pos1+37]=P}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(P){this._structArray.uint8[this._pos1+38]=P}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(P){this._structArray.uint32[this._pos4+10]=P}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Bn.prototype.size=48;class li extends Xt{get(P){return new Bn(this,P)}}Aa("PlacedSymbolArray",li);class Jn extends pe{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(P){this._structArray.uint32[this._pos4+12]=P}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]}}Jn.prototype.size=64;class Pi extends nr{get(P){return new Jn(this,P)}}Aa("SymbolInstanceArray",Pi);class ho extends pr{getoffsetX(P){return this.float32[1*P+0]}}Aa("GlyphOffsetArray",ho);class to extends Mt{getx(P){return this.int16[3*P+0]}gety(P){return this.int16[3*P+1]}gettileUnitDistanceFromAnchor(P){return this.int16[3*P+2]}}Aa("SymbolLineVertexArray",to);class as extends pe{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]}}as.prototype.size=12;class Fo extends Lr{get(P){return new as(this,P)}}Aa("TextAnchorOffsetArray",Fo);class Ms extends pe{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]}}Ms.prototype.size=8;class Ns extends Br{get(P){return new Ms(this,P)}}Aa("FeatureIndexArray",Ns);class Vs extends vt{}class xs extends vt{}class ks extends vt{}class Cl extends Ht{}class mu extends fr{}class Hl extends wr{}class el extends Le{}class Eu extends Oe{}class gu extends Ge{}class hl extends $e{}class Ll extends tt{}class ue extends Rt{}class we extends Ot{}class Ne extends Kr{}let Ke=Ze([{name:"a_pos",components:2,type:"Int16"}],4),{members:et}=Ke;class ot{constructor(P=[]){this.segments=P}prepareSegment(P,W,se,ge){let ke=this.segments[this.segments.length-1];return P>ot.MAX_VERTEX_ARRAY_LENGTH&&_(`Max vertices per segment is ${ot.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${P}`),(!ke||ke.vertexLength+P>ot.MAX_VERTEX_ARRAY_LENGTH||ke.sortKey!==ge)&&(ke={vertexOffset:W.length,primitiveOffset:se.length,vertexLength:0,primitiveLength:0},ge!==void 0&&(ke.sortKey=ge),this.segments.push(ke)),ke}get(){return this.segments}destroy(){for(let P of this.segments)for(let W in P.vaos)P.vaos[W].destroy()}static simpleSegment(P,W,se,ge){return new ot([{vertexOffset:P,primitiveOffset:W,vertexLength:se,primitiveLength:ge,vaos:{},sortKey:0}])}}function kt(G,P){return 256*(G=M(Math.floor(G),0,255))+M(Math.floor(P),0,255)}ot.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Aa("SegmentVector",ot);let xt=Ze([{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 Ut={exports:{}},or={exports:{}};or.exports=function(G,P){var W,se,ge,ke,Pe,Ye,at,pt;for(se=G.length-(W=3&G.length),ge=P,Pe=3432918353,Ye=461845907,pt=0;pt>>16)*Pe&65535)<<16)&4294967295)<<15|at>>>17))*Ye+(((at>>>16)*Ye&65535)<<16)&4294967295)<<13|ge>>>19))+((5*(ge>>>16)&65535)<<16)&4294967295))+((58964+(ke>>>16)&65535)<<16);switch(at=0,W){case 3:at^=(255&G.charCodeAt(pt+2))<<16;case 2:at^=(255&G.charCodeAt(pt+1))<<8;case 1:ge^=at=(65535&(at=(at=(65535&(at^=255&G.charCodeAt(pt)))*Pe+(((at>>>16)*Pe&65535)<<16)&4294967295)<<15|at>>>17))*Ye+(((at>>>16)*Ye&65535)<<16)&4294967295}return ge^=G.length,ge=2246822507*(65535&(ge^=ge>>>16))+((2246822507*(ge>>>16)&65535)<<16)&4294967295,ge=3266489909*(65535&(ge^=ge>>>13))+((3266489909*(ge>>>16)&65535)<<16)&4294967295,(ge^=ge>>>16)>>>0};var lr=or.exports,Dr={exports:{}};Dr.exports=function(G,P){for(var W,se=G.length,ge=P^se,ke=0;se>=4;)W=1540483477*(65535&(W=255&G.charCodeAt(ke)|(255&G.charCodeAt(++ke))<<8|(255&G.charCodeAt(++ke))<<16|(255&G.charCodeAt(++ke))<<24))+((1540483477*(W>>>16)&65535)<<16),ge=1540483477*(65535&ge)+((1540483477*(ge>>>16)&65535)<<16)^(W=1540483477*(65535&(W^=W>>>24))+((1540483477*(W>>>16)&65535)<<16)),se-=4,++ke;switch(se){case 3:ge^=(255&G.charCodeAt(ke+2))<<16;case 2:ge^=(255&G.charCodeAt(ke+1))<<8;case 1:ge=1540483477*(65535&(ge^=255&G.charCodeAt(ke)))+((1540483477*(ge>>>16)&65535)<<16)}return ge=1540483477*(65535&(ge^=ge>>>13))+((1540483477*(ge>>>16)&65535)<<16),(ge^=ge>>>15)>>>0};var Pr=lr,ca=Dr.exports;Ut.exports=Pr,Ut.exports.murmur3=Pr,Ut.exports.murmur2=ca;var _a=t(Ut.exports);class Ur{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(P,W,se,ge){this.ids.push(Jr(P)),this.positions.push(W,se,ge)}getPositions(P){if(!this.indexed)throw new Error("Trying to get index, but feature positions are not indexed");let W=Jr(P),se=0,ge=this.ids.length-1;for(;se>1;this.ids[Pe]>=W?ge=Pe:se=Pe+1}let ke=[];for(;this.ids[se]===W;)ke.push({index:this.positions[3*se],start:this.positions[3*se+1],end:this.positions[3*se+2]}),se++;return ke}static serialize(P,W){let se=new Float64Array(P.ids),ge=new Uint32Array(P.positions);return sa(se,ge,0,se.length-1),W&&W.push(se.buffer,ge.buffer),{ids:se,positions:ge}}static deserialize(P){let W=new Ur;return W.ids=P.ids,W.positions=P.positions,W.indexed=!0,W}}function Jr(G){let P=+G;return!isNaN(P)&&P<=Number.MAX_SAFE_INTEGER?P:_a(String(G))}function sa(G,P,W,se){for(;W>1],ke=W-1,Pe=se+1;for(;;){do ke++;while(G[ke]ge);if(ke>=Pe)break;ga(G,ke,Pe),ga(P,3*ke,3*Pe),ga(P,3*ke+1,3*Pe+1),ga(P,3*ke+2,3*Pe+2)}Pe-W`u_${ge}`),this.type=se}setUniform(P,W,se){P.set(se.constantOr(this.value))}getBinding(P,W,se){return this.type==="color"?new wn(P,W):new Zr(P,W)}}class _i{constructor(P,W){this.uniformNames=W.map(se=>`u_${se}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(P,W){this.pixelRatioFrom=W.pixelRatio,this.pixelRatioTo=P.pixelRatio,this.patternFrom=W.tlbr,this.patternTo=P.tlbr}setUniform(P,W,se,ge){let ke=ge==="u_pattern_to"?this.patternTo:ge==="u_pattern_from"?this.patternFrom:ge==="u_pixel_ratio_to"?this.pixelRatioTo:ge==="u_pixel_ratio_from"?this.pixelRatioFrom:null;ke&&P.set(ke)}getBinding(P,W,se){return se.substr(0,9)==="u_pattern"?new hn(P,W):new Zr(P,W)}}class lo{constructor(P,W,se,ge){this.expression=P,this.type=se,this.maxValue=0,this.paintVertexAttributes=W.map(ke=>({name:`a_${ke}`,type:"Float32",components:se==="color"?2:1,offset:0})),this.paintVertexArray=new ge}populatePaintArray(P,W,se,ge,ke){let Pe=this.paintVertexArray.length,Ye=this.expression.evaluate(new Do(0),W,{},ge,[],ke);this.paintVertexArray.resize(P),this._setPaintValue(Pe,P,Ye)}updatePaintArray(P,W,se,ge){let ke=this.expression.evaluate({zoom:0},se,ge);this._setPaintValue(P,W,ke)}_setPaintValue(P,W,se){if(this.type==="color"){let ge=ni(se);for(let ke=P;ke`u_${Ye}_t`),this.type=se,this.useIntegerZoom=ge,this.zoom=ke,this.maxValue=0,this.paintVertexAttributes=W.map(Ye=>({name:`a_${Ye}`,type:"Float32",components:se==="color"?4:2,offset:0})),this.paintVertexArray=new Pe}populatePaintArray(P,W,se,ge,ke){let Pe=this.expression.evaluate(new Do(this.zoom),W,{},ge,[],ke),Ye=this.expression.evaluate(new Do(this.zoom+1),W,{},ge,[],ke),at=this.paintVertexArray.length;this.paintVertexArray.resize(P),this._setPaintValue(at,P,Pe,Ye)}updatePaintArray(P,W,se,ge){let ke=this.expression.evaluate({zoom:this.zoom},se,ge),Pe=this.expression.evaluate({zoom:this.zoom+1},se,ge);this._setPaintValue(P,W,ke,Pe)}_setPaintValue(P,W,se,ge){if(this.type==="color"){let ke=ni(se),Pe=ni(ge);for(let Ye=P;Ye`#define HAS_UNIFORM_${ge}`))}return P}getBinderAttributes(){let P=[];for(let W in this.binders){let se=this.binders[W];if(se instanceof lo||se instanceof mi)for(let ge=0;ge!0){this.programConfigurations={};for(let ge of P)this.programConfigurations[ge.id]=new ds(ge,W,se);this.needsUpload=!1,this._featureMap=new Ur,this._bufferOffset=0}populatePaintArrays(P,W,se,ge,ke,Pe){for(let Ye in this.programConfigurations)this.programConfigurations[Ye].populatePaintArrays(P,W,ge,ke,Pe);W.id!==void 0&&this._featureMap.add(W.id,se,this._bufferOffset,P),this._bufferOffset=P,this.needsUpload=!0}updatePaintArrays(P,W,se,ge){for(let ke of se)this.needsUpload=this.programConfigurations[ke.id].updatePaintArrays(P,this._featureMap,W,ke,ge)||this.needsUpload}get(P){return this.programConfigurations[P]}upload(P){if(this.needsUpload){for(let W in this.programConfigurations)this.programConfigurations[W].upload(P);this.needsUpload=!1}}destroy(){for(let P in this.programConfigurations)this.programConfigurations[P].destroy()}}function Ss(G,P){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"]}[G]||[G.replace(`${P}-`,"").replace(/-/g,"_")]}function ti(G,P,W){let se={color:{source:wr,composite:Za},number:{source:pr,composite:wr}},ge=function(ke){return{"line-pattern":{source:el,composite:el},"fill-pattern":{source:el,composite:el},"fill-extrusion-pattern":{source:el,composite:el}}[ke]}(G);return ge&&ge[W]||se[P][W]}Aa("ConstantBinder",xi),Aa("CrossFadedConstantBinder",_i),Aa("SourceExpressionBinder",lo),Aa("CrossFadedCompositeBinder",$i),Aa("CompositeExpressionBinder",mi),Aa("ProgramConfiguration",ds,{omit:["_buffers"]}),Aa("ProgramConfigurationSet",Ks);let Di=8192,Ao=Math.pow(2,14)-1,ss=-Ao-1;function Cs(G){let P=Di/G.extent,W=G.loadGeometry();for(let se=0;sePe.x+1||atPe.y+1)&&_("Geometry exceeds allowed extent, reduce your vector tile buffer size")}}return W}function nl(G,P){return{type:G.type,id:G.id,properties:G.properties,geometry:P?Cs(G):[]}}function iu(G,P,W,se,ge){G.emplaceBack(2*P+(se+1)/2,2*W+(ge+1)/2)}class yu{constructor(P){this.zoom=P.zoom,this.overscaling=P.overscaling,this.layers=P.layers,this.layerIds=this.layers.map(W=>W.id),this.index=P.index,this.hasPattern=!1,this.layoutVertexArray=new xs,this.indexArray=new we,this.segments=new ot,this.programConfigurations=new Ks(P.layers,P.zoom),this.stateDependentLayerIds=this.layers.filter(W=>W.isStateDependent()).map(W=>W.id)}populate(P,W,se){let ge=this.layers[0],ke=[],Pe=null,Ye=!1;ge.type==="circle"&&(Pe=ge.layout.get("circle-sort-key"),Ye=!Pe.isConstant());for(let{feature:at,id:pt,index:Et,sourceLayerIndex:Vt}of P){let er=this.layers[0]._featureFilter.needGeometry,sr=nl(at,er);if(!this.layers[0]._featureFilter.filter(new Do(this.zoom),sr,se))continue;let xr=Ye?Pe.evaluate(sr,{},se):void 0,Er={id:pt,properties:at.properties,type:at.type,sourceLayerIndex:Vt,index:Et,geometry:er?sr.geometry:Cs(at),patterns:{},sortKey:xr};ke.push(Er)}Ye&&ke.sort((at,pt)=>at.sortKey-pt.sortKey);for(let at of ke){let{geometry:pt,index:Et,sourceLayerIndex:Vt}=at,er=P[Et].feature;this.addFeature(at,pt,Et,se),W.featureIndex.insert(er,pt,Et,Vt,this.index)}}update(P,W,se){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(P,W,this.stateDependentLayers,se)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(P){this.uploaded||(this.layoutVertexBuffer=P.createVertexBuffer(this.layoutVertexArray,et),this.indexBuffer=P.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(P),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(P,W,se,ge){for(let ke of W)for(let Pe of ke){let Ye=Pe.x,at=Pe.y;if(Ye<0||Ye>=Di||at<0||at>=Di)continue;let pt=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,P.sortKey),Et=pt.vertexLength;iu(this.layoutVertexArray,Ye,at,-1,-1),iu(this.layoutVertexArray,Ye,at,1,-1),iu(this.layoutVertexArray,Ye,at,1,1),iu(this.layoutVertexArray,Ye,at,-1,1),this.indexArray.emplaceBack(Et,Et+1,Et+2),this.indexArray.emplaceBack(Et,Et+3,Et+2),pt.vertexLength+=4,pt.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,P,se,{},ge)}}function dc(G,P){for(let W=0;W1){if(Tr(G,P))return!0;for(let se=0;se1?W:W.sub(P)._mult(ge)._add(P))}function fa(G,P){let W,se,ge,ke=!1;for(let Pe=0;PeP.y!=ge.y>P.y&&P.x<(ge.x-se.x)*(P.y-se.y)/(ge.y-se.y)+se.x&&(ke=!ke)}return ke}function Sa(G,P){let W=!1;for(let se=0,ge=G.length-1;seP.y!=Pe.y>P.y&&P.x<(Pe.x-ke.x)*(P.y-ke.y)/(Pe.y-ke.y)+ke.x&&(W=!W)}return W}function Ca(G,P,W){let se=W[0],ge=W[2];if(G.xge.x&&P.x>ge.x||G.yge.y&&P.y>ge.y)return!1;let ke=I(G,P,W[0]);return ke!==I(G,P,W[1])||ke!==I(G,P,W[2])||ke!==I(G,P,W[3])}function Pa(G,P,W){let se=P.paint.get(G).value;return se.kind==="constant"?se.value:W.programConfigurations.get(P.id).getMaxValue(G)}function En(G){return Math.sqrt(G[0]*G[0]+G[1]*G[1])}function cn(G,P,W,se,ge){if(!P[0]&&!P[1])return G;let ke=n.convert(P)._mult(ge);W==="viewport"&&ke._rotate(-se);let Pe=[];for(let Ye=0;Yeea(Qr,Er))}(pt,at),sr=Vt?Et*Ye:Et;for(let xr of ge)for(let Er of xr){let Qr=Vt?Er:ea(Er,at),la=sr,Ka=Sn([],[Er.x,Er.y,0,1],at);if(this.paint.get("circle-pitch-scale")==="viewport"&&this.paint.get("circle-pitch-alignment")==="map"?la*=Ka[3]/Pe.cameraToCenterDistance:this.paint.get("circle-pitch-scale")==="map"&&this.paint.get("circle-pitch-alignment")==="viewport"&&(la*=Pe.cameraToCenterDistance/Ka[3]),He(er,Qr,la))return!0}return!1}}function ea(G,P){let W=Sn([],[G.x,G.y,0,1],P);return new n(W[0]/W[3],W[1]/W[3])}class tn extends yu{}let ja;Aa("HeatmapBucket",tn,{omit:["layers"]});var Ia={get paint(){return ja=ja||new Me({"heatmap-radius":new Xi(re.paint_heatmap["heatmap-radius"]),"heatmap-weight":new Xi(re.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new ki(re.paint_heatmap["heatmap-intensity"]),"heatmap-color":new nu(re.paint_heatmap["heatmap-color"]),"heatmap-opacity":new ki(re.paint_heatmap["heatmap-opacity"])})}};function Fa(G,{width:P,height:W},se,ge){if(ge){if(ge instanceof Uint8ClampedArray)ge=new Uint8Array(ge.buffer);else if(ge.length!==P*W*se)throw new RangeError(`mismatched image size. expected: ${ge.length} but got: ${P*W*se}`)}else ge=new Uint8Array(P*W*se);return G.width=P,G.height=W,G.data=ge,G}function rn(G,{width:P,height:W},se){if(P===G.width&&W===G.height)return;let ge=Fa({},{width:P,height:W},se);kn(G,ge,{x:0,y:0},{x:0,y:0},{width:Math.min(G.width,P),height:Math.min(G.height,W)},se),G.width=P,G.height=W,G.data=ge.data}function kn(G,P,W,se,ge,ke){if(ge.width===0||ge.height===0)return P;if(ge.width>G.width||ge.height>G.height||W.x>G.width-ge.width||W.y>G.height-ge.height)throw new RangeError("out of range source coordinates for image copy");if(ge.width>P.width||ge.height>P.height||se.x>P.width-ge.width||se.y>P.height-ge.height)throw new RangeError("out of range destination coordinates for image copy");let Pe=G.data,Ye=P.data;if(Pe===Ye)throw new Error("srcData equals dstData, so image is already copied");for(let at=0;at{P[G.evaluationKey]=at;let pt=G.expression.evaluate(P);ge.data[Pe+Ye+0]=Math.floor(255*pt.r/pt.a),ge.data[Pe+Ye+1]=Math.floor(255*pt.g/pt.a),ge.data[Pe+Ye+2]=Math.floor(255*pt.b/pt.a),ge.data[Pe+Ye+3]=Math.floor(255*pt.a)};if(G.clips)for(let Pe=0,Ye=0;Pe80*W){Ye=1/0,at=1/0;let Et=-1/0,Vt=-1/0;for(let er=W;erEt&&(Et=sr),xr>Vt&&(Vt=xr)}pt=Math.max(Et-Ye,Vt-at),pt=pt!==0?32767/pt:0}return Js(ke,Pe,W,Ye,at,pt,0),Pe}function Hs(G,P,W,se,ge){let ke;if(ge===function(Pe,Ye,at,pt){let Et=0;for(let Vt=Ye,er=at-pt;Vt0)for(let Pe=P;Pe=P;Pe-=se)ke=vn(Pe/se|0,G[Pe],G[Pe+1],ke);return ke&&Ct(ke,ke.next)&&(wt(ke),ke=ke.next),ke}function Ls(G,P){if(!G)return G;P||(P=G);let W,se=G;do if(W=!1,se.steiner||!Ct(se,se.next)&&Gi(se.prev,se,se.next)!==0)se=se.next;else{if(wt(se),se=P=se.prev,se===se.next)break;W=!0}while(W||se!==P);return P}function Js(G,P,W,se,ge,ke,Pe){if(!G)return;!Pe&&ke&&function(at,pt,Et,Vt){let er=at;do er.z===0&&(er.z=ol(er.x,er.y,pt,Et,Vt)),er.prevZ=er.prev,er.nextZ=er.next,er=er.next;while(er!==at);er.prevZ.nextZ=null,er.prevZ=null,function(sr){let xr,Er=1;do{let Qr,la=sr;sr=null;let Ka=null;for(xr=0;la;){xr++;let Ma=la,qa=0;for(let ei=0;ei0||bn>0&&Ma;)qa!==0&&(bn===0||!Ma||la.z<=Ma.z)?(Qr=la,la=la.nextZ,qa--):(Qr=Ma,Ma=Ma.nextZ,bn--),Ka?Ka.nextZ=Qr:sr=Qr,Qr.prevZ=Ka,Ka=Qr;la=Ma}Ka.nextZ=null,Er*=2}while(xr>1)}(er)}(G,se,ge,ke);let Ye=G;for(;G.prev!==G.next;){let at=G.prev,pt=G.next;if(ke?ms(G,se,ge,ke):ps(G))P.push(at.i,G.i,pt.i),wt(G),G=pt.next,Ye=pt.next;else if((G=pt)===Ye){Pe?Pe===1?Js(G=Ts(Ls(G),P),P,W,se,ge,ke,2):Pe===2&&si(G,P,W,se,ge,ke):Js(Ls(G),P,W,se,ge,ke,1);break}}}function ps(G){let P=G.prev,W=G,se=G.next;if(Gi(P,W,se)>=0)return!1;let ge=P.x,ke=W.x,Pe=se.x,Ye=P.y,at=W.y,pt=se.y,Et=geke?ge>Pe?ge:Pe:ke>Pe?ke:Pe,sr=Ye>at?Ye>pt?Ye:pt:at>pt?at:pt,xr=se.next;for(;xr!==P;){if(xr.x>=Et&&xr.x<=er&&xr.y>=Vt&&xr.y<=sr&&$n(ge,Ye,ke,at,Pe,pt,xr.x,xr.y)&&Gi(xr.prev,xr,xr.next)>=0)return!1;xr=xr.next}return!0}function ms(G,P,W,se){let ge=G.prev,ke=G,Pe=G.next;if(Gi(ge,ke,Pe)>=0)return!1;let Ye=ge.x,at=ke.x,pt=Pe.x,Et=ge.y,Vt=ke.y,er=Pe.y,sr=Yeat?Ye>pt?Ye:pt:at>pt?at:pt,Qr=Et>Vt?Et>er?Et:er:Vt>er?Vt:er,la=ol(sr,xr,P,W,se),Ka=ol(Er,Qr,P,W,se),Ma=G.prevZ,qa=G.nextZ;for(;Ma&&Ma.z>=la&&qa&&qa.z<=Ka;){if(Ma.x>=sr&&Ma.x<=Er&&Ma.y>=xr&&Ma.y<=Qr&&Ma!==ge&&Ma!==Pe&&$n(Ye,Et,at,Vt,pt,er,Ma.x,Ma.y)&&Gi(Ma.prev,Ma,Ma.next)>=0||(Ma=Ma.prevZ,qa.x>=sr&&qa.x<=Er&&qa.y>=xr&&qa.y<=Qr&&qa!==ge&&qa!==Pe&&$n(Ye,Et,at,Vt,pt,er,qa.x,qa.y)&&Gi(qa.prev,qa,qa.next)>=0))return!1;qa=qa.nextZ}for(;Ma&&Ma.z>=la;){if(Ma.x>=sr&&Ma.x<=Er&&Ma.y>=xr&&Ma.y<=Qr&&Ma!==ge&&Ma!==Pe&&$n(Ye,Et,at,Vt,pt,er,Ma.x,Ma.y)&&Gi(Ma.prev,Ma,Ma.next)>=0)return!1;Ma=Ma.prevZ}for(;qa&&qa.z<=Ka;){if(qa.x>=sr&&qa.x<=Er&&qa.y>=xr&&qa.y<=Qr&&qa!==ge&&qa!==Pe&&$n(Ye,Et,at,Vt,pt,er,qa.x,qa.y)&&Gi(qa.prev,qa,qa.next)>=0)return!1;qa=qa.nextZ}return!0}function Ts(G,P){let W=G;do{let se=W.prev,ge=W.next.next;!Ct(se,ge)&&Fr(se,W,W.next,ge)&&Mi(se,ge)&&Mi(ge,se)&&(P.push(se.i,W.i,ge.i),wt(W),wt(W.next),W=G=ge),W=W.next}while(W!==G);return Ls(W)}function si(G,P,W,se,ge,ke){let Pe=G;do{let Ye=Pe.next.next;for(;Ye!==Pe.prev;){if(Pe.i!==Ye.i&&Fi(Pe,Ye)){let at=xo(Pe,Ye);return Pe=Ls(Pe,Pe.next),at=Ls(at,at.next),Js(Pe,P,W,se,ge,ke,0),void Js(at,P,W,se,ge,ke,0)}Ye=Ye.next}Pe=Pe.next}while(Pe!==G)}function Ps(G,P){return G.x-P.x}function Mo(G,P){let W=function(ge,ke){let Pe=ke,Ye=ge.x,at=ge.y,pt,Et=-1/0;do{if(at<=Pe.y&&at>=Pe.next.y&&Pe.next.y!==Pe.y){let Er=Pe.x+(at-Pe.y)*(Pe.next.x-Pe.x)/(Pe.next.y-Pe.y);if(Er<=Ye&&Er>Et&&(Et=Er,pt=Pe.x=Pe.x&&Pe.x>=er&&Ye!==Pe.x&&$n(atpt.x||Pe.x===pt.x&&il(pt,Pe)))&&(pt=Pe,xr=Er)}Pe=Pe.next}while(Pe!==Vt);return pt}(G,P);if(!W)return P;let se=xo(W,G);return Ls(se,se.next),Ls(W,W.next)}function il(G,P){return Gi(G.prev,G,P.prev)<0&&Gi(P.next,G,G.next)<0}function ol(G,P,W,se,ge){return(G=1431655765&((G=858993459&((G=252645135&((G=16711935&((G=(G-W)*ge|0)|G<<8))|G<<4))|G<<2))|G<<1))|(P=1431655765&((P=858993459&((P=252645135&((P=16711935&((P=(P-se)*ge|0)|P<<8))|P<<4))|P<<2))|P<<1))<<1}function wl(G){let P=G,W=G;do(P.x=(G-Pe)*(ke-Ye)&&(G-Pe)*(se-Ye)>=(W-Pe)*(P-Ye)&&(W-Pe)*(ke-Ye)>=(ge-Pe)*(se-Ye)}function Fi(G,P){return G.next.i!==P.i&&G.prev.i!==P.i&&!function(W,se){let ge=W;do{if(ge.i!==W.i&&ge.next.i!==W.i&&ge.i!==se.i&&ge.next.i!==se.i&&Fr(ge,ge.next,W,se))return!0;ge=ge.next}while(ge!==W);return!1}(G,P)&&(Mi(G,P)&&Mi(P,G)&&function(W,se){let ge=W,ke=!1,Pe=(W.x+se.x)/2,Ye=(W.y+se.y)/2;do ge.y>Ye!=ge.next.y>Ye&&ge.next.y!==ge.y&&Pe<(ge.next.x-ge.x)*(Ye-ge.y)/(ge.next.y-ge.y)+ge.x&&(ke=!ke),ge=ge.next;while(ge!==W);return ke}(G,P)&&(Gi(G.prev,G,P.prev)||Gi(G,P.prev,P))||Ct(G,P)&&Gi(G.prev,G,G.next)>0&&Gi(P.prev,P,P.next)>0)}function Gi(G,P,W){return(P.y-G.y)*(W.x-P.x)-(P.x-G.x)*(W.y-P.y)}function Ct(G,P){return G.x===P.x&&G.y===P.y}function Fr(G,P,W,se){let ge=dn(Gi(G,P,W)),ke=dn(Gi(G,P,se)),Pe=dn(Gi(W,se,G)),Ye=dn(Gi(W,se,P));return ge!==ke&&Pe!==Ye||!(ge!==0||!zr(G,W,P))||!(ke!==0||!zr(G,se,P))||!(Pe!==0||!zr(W,G,se))||!(Ye!==0||!zr(W,P,se))}function zr(G,P,W){return P.x<=Math.max(G.x,W.x)&&P.x>=Math.min(G.x,W.x)&&P.y<=Math.max(G.y,W.y)&&P.y>=Math.min(G.y,W.y)}function dn(G){return G>0?1:G<0?-1:0}function Mi(G,P){return Gi(G.prev,G,G.next)<0?Gi(G,P,G.next)>=0&&Gi(G,G.prev,P)>=0:Gi(G,P,G.prev)<0||Gi(G,G.next,P)<0}function xo(G,P){let W=It(G.i,G.x,G.y),se=It(P.i,P.x,P.y),ge=G.next,ke=P.prev;return G.next=P,P.prev=G,W.next=ge,ge.prev=W,se.next=W,W.prev=se,ke.next=se,se.prev=ke,se}function vn(G,P,W,se){let ge=It(G,P,W);return se?(ge.next=se.next,ge.prev=se,se.next.prev=ge,se.next=ge):(ge.prev=ge,ge.next=ge),ge}function wt(G){G.next.prev=G.prev,G.prev.next=G.next,G.prevZ&&(G.prevZ.nextZ=G.nextZ),G.nextZ&&(G.nextZ.prevZ=G.prevZ)}function It(G,P,W){return{i:G,x:P,y:W,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function $t(G,P,W){let se=W.patternDependencies,ge=!1;for(let ke of P){let Pe=ke.paint.get(`${G}-pattern`);Pe.isConstant()||(ge=!0);let Ye=Pe.constantOr(null);Ye&&(ge=!0,se[Ye.to]=!0,se[Ye.from]=!0)}return ge}function Rr(G,P,W,se,ge){let ke=ge.patternDependencies;for(let Pe of P){let Ye=Pe.paint.get(`${G}-pattern`).value;if(Ye.kind!=="constant"){let at=Ye.evaluate({zoom:se-1},W,{},ge.availableImages),pt=Ye.evaluate({zoom:se},W,{},ge.availableImages),Et=Ye.evaluate({zoom:se+1},W,{},ge.availableImages);at=at&&at.name?at.name:at,pt=pt&&pt.name?pt.name:pt,Et=Et&&Et.name?Et.name:Et,ke[at]=!0,ke[pt]=!0,ke[Et]=!0,W.patterns[Pe.id]={min:at,mid:pt,max:Et}}}return W}class Vr{constructor(P){this.zoom=P.zoom,this.overscaling=P.overscaling,this.layers=P.layers,this.layerIds=this.layers.map(W=>W.id),this.index=P.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ks,this.indexArray=new we,this.indexArray2=new Ne,this.programConfigurations=new Ks(P.layers,P.zoom),this.segments=new ot,this.segments2=new ot,this.stateDependentLayerIds=this.layers.filter(W=>W.isStateDependent()).map(W=>W.id)}populate(P,W,se){this.hasPattern=$t("fill",this.layers,W);let ge=this.layers[0].layout.get("fill-sort-key"),ke=!ge.isConstant(),Pe=[];for(let{feature:Ye,id:at,index:pt,sourceLayerIndex:Et}of P){let Vt=this.layers[0]._featureFilter.needGeometry,er=nl(Ye,Vt);if(!this.layers[0]._featureFilter.filter(new Do(this.zoom),er,se))continue;let sr=ke?ge.evaluate(er,{},se,W.availableImages):void 0,xr={id:at,properties:Ye.properties,type:Ye.type,sourceLayerIndex:Et,index:pt,geometry:Vt?er.geometry:Cs(Ye),patterns:{},sortKey:sr};Pe.push(xr)}ke&&Pe.sort((Ye,at)=>Ye.sortKey-at.sortKey);for(let Ye of Pe){let{geometry:at,index:pt,sourceLayerIndex:Et}=Ye;if(this.hasPattern){let Vt=Rr("fill",this.layers,Ye,this.zoom,W);this.patternFeatures.push(Vt)}else this.addFeature(Ye,at,pt,se,{});W.featureIndex.insert(P[pt].feature,at,pt,Et,this.index)}}update(P,W,se){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(P,W,this.stateDependentLayers,se)}addFeatures(P,W,se){for(let ge of this.patternFeatures)this.addFeature(ge,ge.geometry,ge.index,W,se)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(P){this.uploaded||(this.layoutVertexBuffer=P.createVertexBuffer(this.layoutVertexArray,bl),this.indexBuffer=P.createIndexBuffer(this.indexArray),this.indexBuffer2=P.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(P),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(P,W,se,ge,ke){for(let Pe of cu(W,500)){let Ye=0;for(let sr of Pe)Ye+=sr.length;let at=this.segments.prepareSegment(Ye,this.layoutVertexArray,this.indexArray),pt=at.vertexLength,Et=[],Vt=[];for(let sr of Pe){if(sr.length===0)continue;sr!==Pe[0]&&Vt.push(Et.length/2);let xr=this.segments2.prepareSegment(sr.length,this.layoutVertexArray,this.indexArray2),Er=xr.vertexLength;this.layoutVertexArray.emplaceBack(sr[0].x,sr[0].y),this.indexArray2.emplaceBack(Er+sr.length-1,Er),Et.push(sr[0].x),Et.push(sr[0].y);for(let Qr=1;Qr>3}if(ge--,se===1||se===2)ke+=G.readSVarint(),Pe+=G.readSVarint(),se===1&&(P&&Ye.push(P),P=[]),P.push(new va(ke,Pe));else{if(se!==7)throw new Error("unknown command "+se);P&&P.push(P[0].clone())}}return P&&Ye.push(P),Ye},an.prototype.bbox=function(){var G=this._pbf;G.pos=this._geometry;for(var P=G.readVarint()+G.pos,W=1,se=0,ge=0,ke=0,Pe=1/0,Ye=-1/0,at=1/0,pt=-1/0;G.pos>3}if(se--,W===1||W===2)(ge+=G.readSVarint())Ye&&(Ye=ge),(ke+=G.readSVarint())pt&&(pt=ke);else if(W!==7)throw new Error("unknown command "+W)}return[Pe,at,Ye,pt]},an.prototype.toGeoJSON=function(G,P,W){var se,ge,ke=this.extent*Math.pow(2,W),Pe=this.extent*G,Ye=this.extent*P,at=this.loadGeometry(),pt=an.types[this.type];function Et(sr){for(var xr=0;xr>3;ge=Pe===1?se.readString():Pe===2?se.readFloat():Pe===3?se.readDouble():Pe===4?se.readVarint64():Pe===5?se.readVarint():Pe===6?se.readSVarint():Pe===7?se.readBoolean():null}return ge}(W))}Qa.prototype.feature=function(G){if(G<0||G>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[G];var P=this._pbf.readVarint()+this._pbf.pos;return new An(this._pbf,P,this.extent,this._keys,this._values)};var gn=xn;function Xn(G,P,W){if(G===3){var se=new gn(W,W.readVarint()+W.pos);se.length&&(P[se.name]=se)}}Yr.VectorTile=function(G,P){this.layers=G.readFields(Xn,{},P)},Yr.VectorTileFeature=Rn,Yr.VectorTileLayer=xn;let zo=Yr.VectorTileFeature.types,sl=Math.pow(2,13);function ku(G,P,W,se,ge,ke,Pe,Ye){G.emplaceBack(P,W,2*Math.floor(se*sl)+Pe,ge*sl*2,ke*sl*2,Math.round(Ye))}class Tc{constructor(P){this.zoom=P.zoom,this.overscaling=P.overscaling,this.layers=P.layers,this.layerIds=this.layers.map(W=>W.id),this.index=P.index,this.hasPattern=!1,this.layoutVertexArray=new Cl,this.centroidVertexArray=new Vs,this.indexArray=new we,this.programConfigurations=new Ks(P.layers,P.zoom),this.segments=new ot,this.stateDependentLayerIds=this.layers.filter(W=>W.isStateDependent()).map(W=>W.id)}populate(P,W,se){this.features=[],this.hasPattern=$t("fill-extrusion",this.layers,W);for(let{feature:ge,id:ke,index:Pe,sourceLayerIndex:Ye}of P){let at=this.layers[0]._featureFilter.needGeometry,pt=nl(ge,at);if(!this.layers[0]._featureFilter.filter(new Do(this.zoom),pt,se))continue;let Et={id:ke,sourceLayerIndex:Ye,index:Pe,geometry:at?pt.geometry:Cs(ge),properties:ge.properties,type:ge.type,patterns:{}};this.hasPattern?this.features.push(Rr("fill-extrusion",this.layers,Et,this.zoom,W)):this.addFeature(Et,Et.geometry,Pe,se,{}),W.featureIndex.insert(ge,Et.geometry,Pe,Ye,this.index,!0)}}addFeatures(P,W,se){for(let ge of this.features){let{geometry:ke}=ge;this.addFeature(ge,ke,ge.index,W,se)}}update(P,W,se){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(P,W,this.stateDependentLayers,se)}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(P){this.uploaded||(this.layoutVertexBuffer=P.createVertexBuffer(this.layoutVertexArray,Sr),this.centroidVertexBuffer=P.createVertexBuffer(this.centroidVertexArray,zt.members,!0),this.indexBuffer=P.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(P),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(P,W,se,ge,ke){for(let Pe of cu(W,500)){let Ye={x:0,y:0,vertexCount:0},at=0;for(let xr of Pe)at+=xr.length;let pt=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(let xr of Pe){if(xr.length===0||ou(xr))continue;let Er=0;for(let Qr=0;Qr=1){let Ka=xr[Qr-1];if(!rf(la,Ka)){pt.vertexLength+4>ot.MAX_VERTEX_ARRAY_LENGTH&&(pt=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let Ma=la.sub(Ka)._perp()._unit(),qa=Ka.dist(la);Er+qa>32768&&(Er=0),ku(this.layoutVertexArray,la.x,la.y,Ma.x,Ma.y,0,0,Er),ku(this.layoutVertexArray,la.x,la.y,Ma.x,Ma.y,0,1,Er),Ye.x+=2*la.x,Ye.y+=2*la.y,Ye.vertexCount+=2,Er+=qa,ku(this.layoutVertexArray,Ka.x,Ka.y,Ma.x,Ma.y,0,0,Er),ku(this.layoutVertexArray,Ka.x,Ka.y,Ma.x,Ma.y,0,1,Er),Ye.x+=2*Ka.x,Ye.y+=2*Ka.y,Ye.vertexCount+=2;let bn=pt.vertexLength;this.indexArray.emplaceBack(bn,bn+2,bn+1),this.indexArray.emplaceBack(bn+1,bn+2,bn+3),pt.vertexLength+=4,pt.primitiveLength+=2}}}}if(pt.vertexLength+at>ot.MAX_VERTEX_ARRAY_LENGTH&&(pt=this.segments.prepareSegment(at,this.layoutVertexArray,this.indexArray)),zo[P.type]!=="Polygon")continue;let Et=[],Vt=[],er=pt.vertexLength;for(let xr of Pe)if(xr.length!==0){xr!==Pe[0]&&Vt.push(Et.length/2);for(let Er=0;ErDi)||G.y===P.y&&(G.y<0||G.y>Di)}function ou(G){return G.every(P=>P.x<0)||G.every(P=>P.x>Di)||G.every(P=>P.y<0)||G.every(P=>P.y>Di)}let Ah;Aa("FillExtrusionBucket",Tc,{omit:["layers","features"]});var VG={get paint(){return Ah=Ah||new Me({"fill-extrusion-opacity":new ki(re["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new Xi(re["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new ki(re["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new ki(re["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new jf(re["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new Xi(re["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new Xi(re["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new ki(re["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})}};class HG extends J{constructor(P){super(P,VG)}createBucket(P){return new Tc(P)}queryRadius(){return En(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature(P,W,se,ge,ke,Pe,Ye,at){let pt=cn(P,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),Pe.angle,Ye),Et=this.paint.get("fill-extrusion-height").evaluate(W,se),Vt=this.paint.get("fill-extrusion-base").evaluate(W,se),er=function(xr,Er,Qr,la){let Ka=[];for(let Ma of xr){let qa=[Ma.x,Ma.y,0,1];Sn(qa,qa,Er),Ka.push(new n(qa[0]/qa[3],qa[1]/qa[3]))}return Ka}(pt,at),sr=function(xr,Er,Qr,la){let Ka=[],Ma=[],qa=la[8]*Er,bn=la[9]*Er,ei=la[10]*Er,Ri=la[11]*Er,To=la[8]*Qr,Ci=la[9]*Qr,wi=la[10]*Qr,no=la[11]*Qr;for(let Wi of xr){let Ni=[],In=[];for(let uo of Wi){let ro=uo.x,No=uo.y,Pl=la[0]*ro+la[4]*No+la[12],Tl=la[1]*ro+la[5]*No+la[13],Bc=la[2]*ro+la[6]*No+la[14],Oh=la[3]*ro+la[7]*No+la[15],Sf=Bc+ei,Oc=Oh+Ri,rh=Pl+To,ah=Tl+Ci,nh=Bc+wi,ju=Oh+no,Nc=new n((Pl+qa)/Oc,(Tl+bn)/Oc);Nc.z=Sf/Oc,Ni.push(Nc);let Uf=new n(rh/ju,ah/ju);Uf.z=nh/ju,In.push(Uf)}Ka.push(Ni),Ma.push(In)}return[Ka,Ma]}(ge,Vt,Et,at);return function(xr,Er,Qr){let la=1/0;Lt(Qr,Er)&&(la=K6(Qr,Er[0]));for(let Ka=0;KaW.id),this.index=P.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(W=>{this.gradients[W.id]={}}),this.layoutVertexArray=new mu,this.layoutVertexArray2=new Hl,this.indexArray=new we,this.programConfigurations=new Ks(P.layers,P.zoom),this.segments=new ot,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(W=>W.isStateDependent()).map(W=>W.id)}populate(P,W,se){this.hasPattern=$t("line",this.layers,W);let ge=this.layers[0].layout.get("line-sort-key"),ke=!ge.isConstant(),Pe=[];for(let{feature:Ye,id:at,index:pt,sourceLayerIndex:Et}of P){let Vt=this.layers[0]._featureFilter.needGeometry,er=nl(Ye,Vt);if(!this.layers[0]._featureFilter.filter(new Do(this.zoom),er,se))continue;let sr=ke?ge.evaluate(er,{},se):void 0,xr={id:at,properties:Ye.properties,type:Ye.type,sourceLayerIndex:Et,index:pt,geometry:Vt?er.geometry:Cs(Ye),patterns:{},sortKey:sr};Pe.push(xr)}ke&&Pe.sort((Ye,at)=>Ye.sortKey-at.sortKey);for(let Ye of Pe){let{geometry:at,index:pt,sourceLayerIndex:Et}=Ye;if(this.hasPattern){let Vt=Rr("line",this.layers,Ye,this.zoom,W);this.patternFeatures.push(Vt)}else this.addFeature(Ye,at,pt,se,{});W.featureIndex.insert(P[pt].feature,at,pt,Et,this.index)}}update(P,W,se){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(P,W,this.stateDependentLayers,se)}addFeatures(P,W,se){for(let ge of this.patternFeatures)this.addFeature(ge,ge.geometry,ge.index,W,se)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(P){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=P.createVertexBuffer(this.layoutVertexArray2,ZG)),this.layoutVertexBuffer=P.createVertexBuffer(this.layoutVertexArray,YG),this.indexBuffer=P.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(P),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(P){if(P.properties&&Object.prototype.hasOwnProperty.call(P.properties,"mapbox_clip_start")&&Object.prototype.hasOwnProperty.call(P.properties,"mapbox_clip_end"))return{start:+P.properties.mapbox_clip_start,end:+P.properties.mapbox_clip_end}}addFeature(P,W,se,ge,ke){let Pe=this.layers[0].layout,Ye=Pe.get("line-join").evaluate(P,{}),at=Pe.get("line-cap"),pt=Pe.get("line-miter-limit"),Et=Pe.get("line-round-limit");this.lineClips=this.lineFeatureClips(P);for(let Vt of W)this.addLine(Vt,P,Ye,at,pt,Et);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,P,se,ke,ge)}addLine(P,W,se,ge,ke,Pe){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let la=0;la=2&&P[at-1].equals(P[at-2]);)at--;let pt=0;for(;pt0;if(Ri&&la>pt){let no=er.dist(sr);if(no>2*Et){let Wi=er.sub(er.sub(sr)._mult(Et/no)._round());this.updateDistance(sr,Wi),this.addCurrentVertex(Wi,Er,0,0,Vt),sr=Wi}}let Ci=sr&&xr,wi=Ci?se:Ye?"butt":ge;if(Ci&&wi==="round"&&(bnke&&(wi="bevel"),wi==="bevel"&&(bn>2&&(wi="flipbevel"),bn100)Ka=Qr.mult(-1);else{let no=bn*Er.add(Qr).mag()/Er.sub(Qr).mag();Ka._perp()._mult(no*(To?-1:1))}this.addCurrentVertex(er,Ka,0,0,Vt),this.addCurrentVertex(er,Ka.mult(-1),0,0,Vt)}else if(wi==="bevel"||wi==="fakeround"){let no=-Math.sqrt(bn*bn-1),Wi=To?no:0,Ni=To?0:no;if(sr&&this.addCurrentVertex(er,Er,Wi,Ni,Vt),wi==="fakeround"){let In=Math.round(180*ei/Math.PI/20);for(let uo=1;uo2*Et){let Wi=er.add(xr.sub(er)._mult(Et/no)._round());this.updateDistance(er,Wi),this.addCurrentVertex(Wi,Qr,0,0,Vt),er=Wi}}}}addCurrentVertex(P,W,se,ge,ke,Pe=!1){let Ye=W.y*ge-W.x,at=-W.y-W.x*ge;this.addHalfVertex(P,W.x+W.y*se,W.y-W.x*se,Pe,!1,se,ke),this.addHalfVertex(P,Ye,at,Pe,!0,-ge,ke),this.distance>J6/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(P,W,se,ge,ke,Pe))}addHalfVertex({x:P,y:W},se,ge,ke,Pe,Ye,at){let pt=.5*(this.lineClips?this.scaledDistance*(J6-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((P<<1)+(ke?1:0),(W<<1)+(Pe?1:0),Math.round(63*se)+128,Math.round(63*ge)+128,1+(Ye===0?0:Ye<0?-1:1)|(63&pt)<<2,pt>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let Et=at.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,Et),at.primitiveLength++),Pe?this.e2=Et:this.e1=Et}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(P,W){this.distance+=P.dist(W),this.updateScaledDistance()}}let Q6,eM;Aa("LineBucket",c2,{omit:["layers","patternFeatures"]});var tM={get paint(){return eM=eM||new Me({"line-opacity":new Xi(re.paint_line["line-opacity"]),"line-color":new Xi(re.paint_line["line-color"]),"line-translate":new ki(re.paint_line["line-translate"]),"line-translate-anchor":new ki(re.paint_line["line-translate-anchor"]),"line-width":new Xi(re.paint_line["line-width"]),"line-gap-width":new Xi(re.paint_line["line-gap-width"]),"line-offset":new Xi(re.paint_line["line-offset"]),"line-blur":new Xi(re.paint_line["line-blur"]),"line-dasharray":new zc(re.paint_line["line-dasharray"]),"line-pattern":new jf(re.paint_line["line-pattern"]),"line-gradient":new nu(re.paint_line["line-gradient"])})},get layout(){return Q6=Q6||new Me({"line-cap":new ki(re.layout_line["line-cap"]),"line-join":new Xi(re.layout_line["line-join"]),"line-miter-limit":new ki(re.layout_line["line-miter-limit"]),"line-round-limit":new ki(re.layout_line["line-round-limit"]),"line-sort-key":new Xi(re.layout_line["line-sort-key"])})}};class JG extends Xi{possiblyEvaluate(P,W){return W=new Do(Math.floor(W.zoom),{now:W.now,fadeDuration:W.fadeDuration,zoomHistory:W.zoomHistory,transition:W.transition}),super.possiblyEvaluate(P,W)}evaluate(P,W,se,ge){return W=E({},W,{zoom:Math.floor(W.zoom)}),super.evaluate(P,W,se,ge)}}let kg;class QG extends J{constructor(P){super(P,tM),this.gradientVersion=0,kg||(kg=new JG(tM.paint.properties["line-width"].specification),kg.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(P){if(P==="line-gradient"){let W=this.gradientExpression();this.stepInterpolant=!!function(se){return se._styleExpression!==void 0}(W)&&W._styleExpression.expression instanceof Xr,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values["line-gradient"].value.expression}recalculate(P,W){super.recalculate(P,W),this.paint._values["line-floorwidth"]=kg.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,P)}createBucket(P){return new c2(P)}queryRadius(P){let W=P,se=rM(Pa("line-width",this,W),Pa("line-gap-width",this,W)),ge=Pa("line-offset",this,W);return se/2+Math.abs(ge)+En(this.paint.get("line-translate"))}queryIntersectsFeature(P,W,se,ge,ke,Pe,Ye){let at=cn(P,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),Pe.angle,Ye),pt=Ye/2*rM(this.paint.get("line-width").evaluate(W,se),this.paint.get("line-gap-width").evaluate(W,se)),Et=this.paint.get("line-offset").evaluate(W,se);return Et&&(ge=function(Vt,er){let sr=[];for(let xr=0;xr=3){for(let Qr=0;Qr0?P+2*G:G}let eV=Ze([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),tV=Ze([{name:"a_projected_pos",components:3,type:"Float32"}],4);Ze([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);let rV=Ze([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"},{name:"a_box_real",components:2,type:"Int16"}]);Ze([{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 aM=Ze([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),aV=Ze([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function nV(G,P,W){return G.sections.forEach(se=>{se.text=function(ge,ke,Pe){let Ye=ke.layout.get("text-transform").evaluate(Pe,{});return Ye==="uppercase"?ge=ge.toLocaleUpperCase():Ye==="lowercase"&&(ge=ge.toLocaleLowerCase()),os.applyArabicShaping&&(ge=os.applyArabicShaping(ge)),ge}(se.text,P,W)}),G}Ze([{name:"triangle",components:3,type:"Uint16"}]),Ze([{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"}]),Ze([{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"}]),Ze([{type:"Float32",name:"offsetX"}]),Ze([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]),Ze([{type:"Uint16",name:"textAnchor"},{type:"Float32",components:2,name:"textOffset"}]);let Um={"!":"\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 Mc=24,nM=Al,iM=function(G,P,W,se,ge){var ke,Pe,Ye=8*ge-se-1,at=(1<>1,Et=-7,Vt=W?ge-1:0,er=W?-1:1,sr=G[P+Vt];for(Vt+=er,ke=sr&(1<<-Et)-1,sr>>=-Et,Et+=Ye;Et>0;ke=256*ke+G[P+Vt],Vt+=er,Et-=8);for(Pe=ke&(1<<-Et)-1,ke>>=-Et,Et+=se;Et>0;Pe=256*Pe+G[P+Vt],Vt+=er,Et-=8);if(ke===0)ke=1-pt;else{if(ke===at)return Pe?NaN:1/0*(sr?-1:1);Pe+=Math.pow(2,se),ke-=pt}return(sr?-1:1)*Pe*Math.pow(2,ke-se)},oM=function(G,P,W,se,ge,ke){var Pe,Ye,at,pt=8*ke-ge-1,Et=(1<>1,er=ge===23?Math.pow(2,-24)-Math.pow(2,-77):0,sr=se?0:ke-1,xr=se?1:-1,Er=P<0||P===0&&1/P<0?1:0;for(P=Math.abs(P),isNaN(P)||P===1/0?(Ye=isNaN(P)?1:0,Pe=Et):(Pe=Math.floor(Math.log(P)/Math.LN2),P*(at=Math.pow(2,-Pe))<1&&(Pe--,at*=2),(P+=Pe+Vt>=1?er/at:er*Math.pow(2,1-Vt))*at>=2&&(Pe++,at/=2),Pe+Vt>=Et?(Ye=0,Pe=Et):Pe+Vt>=1?(Ye=(P*at-1)*Math.pow(2,ge),Pe+=Vt):(Ye=P*Math.pow(2,Vt-1)*Math.pow(2,ge),Pe=0));ge>=8;G[W+sr]=255&Ye,sr+=xr,Ye/=256,ge-=8);for(Pe=Pe<0;G[W+sr]=255&Pe,sr+=xr,Pe/=256,pt-=8);G[W+sr-xr]|=128*Er};function Al(G){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(G)?G:new Uint8Array(G||0),this.pos=0,this.type=0,this.length=this.buf.length}Al.Varint=0,Al.Fixed64=1,Al.Bytes=2,Al.Fixed32=5;var f2=4294967296,sM=1/f2,lM=typeof TextDecoder>"u"?null:new TextDecoder("utf-8");function zd(G){return G.type===Al.Bytes?G.readVarint()+G.pos:G.pos+1}function Kp(G,P,W){return W?4294967296*P+(G>>>0):4294967296*(P>>>0)+(G>>>0)}function uM(G,P,W){var se=P<=16383?1:P<=2097151?2:P<=268435455?3:Math.floor(Math.log(P)/(7*Math.LN2));W.realloc(se);for(var ge=W.pos-1;ge>=G;ge--)W.buf[ge+se]=W.buf[ge]}function iV(G,P){for(var W=0;W>>8,G[W+2]=P>>>16,G[W+3]=P>>>24}function cM(G,P){return(G[P]|G[P+1]<<8|G[P+2]<<16)+(G[P+3]<<24)}Al.prototype={destroy:function(){this.buf=null},readFields:function(G,P,W){for(W=W||this.length;this.pos>3,ke=this.pos;this.type=7&se,G(ge,P,this),this.pos===ke&&this.skip(se)}return P},readMessage:function(G,P){return this.readFields(G,P,this.readVarint()+this.pos)},readFixed32:function(){var G=Cg(this.buf,this.pos);return this.pos+=4,G},readSFixed32:function(){var G=cM(this.buf,this.pos);return this.pos+=4,G},readFixed64:function(){var G=Cg(this.buf,this.pos)+Cg(this.buf,this.pos+4)*f2;return this.pos+=8,G},readSFixed64:function(){var G=Cg(this.buf,this.pos)+cM(this.buf,this.pos+4)*f2;return this.pos+=8,G},readFloat:function(){var G=iM(this.buf,this.pos,!0,23,4);return this.pos+=4,G},readDouble:function(){var G=iM(this.buf,this.pos,!0,52,8);return this.pos+=8,G},readVarint:function(G){var P,W,se=this.buf;return P=127&(W=se[this.pos++]),W<128?P:(P|=(127&(W=se[this.pos++]))<<7,W<128?P:(P|=(127&(W=se[this.pos++]))<<14,W<128?P:(P|=(127&(W=se[this.pos++]))<<21,W<128?P:function(ge,ke,Pe){var Ye,at,pt=Pe.buf;if(Ye=(112&(at=pt[Pe.pos++]))>>4,at<128||(Ye|=(127&(at=pt[Pe.pos++]))<<3,at<128)||(Ye|=(127&(at=pt[Pe.pos++]))<<10,at<128)||(Ye|=(127&(at=pt[Pe.pos++]))<<17,at<128)||(Ye|=(127&(at=pt[Pe.pos++]))<<24,at<128)||(Ye|=(1&(at=pt[Pe.pos++]))<<31,at<128))return Kp(ge,Ye,ke);throw new Error("Expected varint not more than 10 bytes")}(P|=(15&(W=se[this.pos]))<<28,G,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var G=this.readVarint();return G%2==1?(G+1)/-2:G/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var G=this.readVarint()+this.pos,P=this.pos;return this.pos=G,G-P>=12&&lM?function(W,se,ge){return lM.decode(W.subarray(se,ge))}(this.buf,P,G):function(W,se,ge){for(var ke="",Pe=se;Pe239?4:Et>223?3:Et>191?2:1;if(Pe+er>ge)break;er===1?Et<128&&(Vt=Et):er===2?(192&(Ye=W[Pe+1]))==128&&(Vt=(31&Et)<<6|63&Ye)<=127&&(Vt=null):er===3?(at=W[Pe+2],(192&(Ye=W[Pe+1]))==128&&(192&at)==128&&((Vt=(15&Et)<<12|(63&Ye)<<6|63&at)<=2047||Vt>=55296&&Vt<=57343)&&(Vt=null)):er===4&&(at=W[Pe+2],pt=W[Pe+3],(192&(Ye=W[Pe+1]))==128&&(192&at)==128&&(192&pt)==128&&((Vt=(15&Et)<<18|(63&Ye)<<12|(63&at)<<6|63&pt)<=65535||Vt>=1114112)&&(Vt=null)),Vt===null?(Vt=65533,er=1):Vt>65535&&(Vt-=65536,ke+=String.fromCharCode(Vt>>>10&1023|55296),Vt=56320|1023&Vt),ke+=String.fromCharCode(Vt),Pe+=er}return ke}(this.buf,P,G)},readBytes:function(){var G=this.readVarint()+this.pos,P=this.buf.subarray(this.pos,G);return this.pos=G,P},readPackedVarint:function(G,P){if(this.type!==Al.Bytes)return G.push(this.readVarint(P));var W=zd(this);for(G=G||[];this.pos127;);else if(P===Al.Bytes)this.pos=this.readVarint()+this.pos;else if(P===Al.Fixed32)this.pos+=4;else{if(P!==Al.Fixed64)throw new Error("Unimplemented type: "+P);this.pos+=8}},writeTag:function(G,P){this.writeVarint(G<<3|P)},realloc:function(G){for(var P=this.length||16;P268435455||G<0?function(P,W){var se,ge;if(P>=0?(se=P%4294967296|0,ge=P/4294967296|0):(ge=~(-P/4294967296),4294967295^(se=~(-P%4294967296))?se=se+1|0:(se=0,ge=ge+1|0)),P>=18446744073709552e3||P<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");W.realloc(10),function(ke,Pe,Ye){Ye.buf[Ye.pos++]=127&ke|128,ke>>>=7,Ye.buf[Ye.pos++]=127&ke|128,ke>>>=7,Ye.buf[Ye.pos++]=127&ke|128,ke>>>=7,Ye.buf[Ye.pos++]=127&ke|128,Ye.buf[Ye.pos]=127&(ke>>>=7)}(se,0,W),function(ke,Pe){var Ye=(7&ke)<<4;Pe.buf[Pe.pos++]|=Ye|((ke>>>=3)?128:0),ke&&(Pe.buf[Pe.pos++]=127&ke|((ke>>>=7)?128:0),ke&&(Pe.buf[Pe.pos++]=127&ke|((ke>>>=7)?128:0),ke&&(Pe.buf[Pe.pos++]=127&ke|((ke>>>=7)?128:0),ke&&(Pe.buf[Pe.pos++]=127&ke|((ke>>>=7)?128:0),ke&&(Pe.buf[Pe.pos++]=127&ke)))))}(ge,W)}(G,this):(this.realloc(4),this.buf[this.pos++]=127&G|(G>127?128:0),G<=127||(this.buf[this.pos++]=127&(G>>>=7)|(G>127?128:0),G<=127||(this.buf[this.pos++]=127&(G>>>=7)|(G>127?128:0),G<=127||(this.buf[this.pos++]=G>>>7&127))))},writeSVarint:function(G){this.writeVarint(G<0?2*-G-1:2*G)},writeBoolean:function(G){this.writeVarint(!!G)},writeString:function(G){G=String(G),this.realloc(4*G.length),this.pos++;var P=this.pos;this.pos=function(se,ge,ke){for(var Pe,Ye,at=0;at55295&&Pe<57344){if(!Ye){Pe>56319||at+1===ge.length?(se[ke++]=239,se[ke++]=191,se[ke++]=189):Ye=Pe;continue}if(Pe<56320){se[ke++]=239,se[ke++]=191,se[ke++]=189,Ye=Pe;continue}Pe=Ye-55296<<10|Pe-56320|65536,Ye=null}else Ye&&(se[ke++]=239,se[ke++]=191,se[ke++]=189,Ye=null);Pe<128?se[ke++]=Pe:(Pe<2048?se[ke++]=Pe>>6|192:(Pe<65536?se[ke++]=Pe>>12|224:(se[ke++]=Pe>>18|240,se[ke++]=Pe>>12&63|128),se[ke++]=Pe>>6&63|128),se[ke++]=63&Pe|128)}return ke}(this.buf,G,this.pos);var W=this.pos-P;W>=128&&uM(P,W,this),this.pos=P-1,this.writeVarint(W),this.pos+=W},writeFloat:function(G){this.realloc(4),oM(this.buf,G,this.pos,!0,23,4),this.pos+=4},writeDouble:function(G){this.realloc(8),oM(this.buf,G,this.pos,!0,52,8),this.pos+=8},writeBytes:function(G){var P=G.length;this.writeVarint(P),this.realloc(P);for(var W=0;W=128&&uM(W,se,this),this.pos=W-1,this.writeVarint(se),this.pos+=se},writeMessage:function(G,P,W){this.writeTag(G,Al.Bytes),this.writeRawMessage(P,W)},writePackedVarint:function(G,P){P.length&&this.writeMessage(G,iV,P)},writePackedSVarint:function(G,P){P.length&&this.writeMessage(G,oV,P)},writePackedBoolean:function(G,P){P.length&&this.writeMessage(G,uV,P)},writePackedFloat:function(G,P){P.length&&this.writeMessage(G,sV,P)},writePackedDouble:function(G,P){P.length&&this.writeMessage(G,lV,P)},writePackedFixed32:function(G,P){P.length&&this.writeMessage(G,cV,P)},writePackedSFixed32:function(G,P){P.length&&this.writeMessage(G,fV,P)},writePackedFixed64:function(G,P){P.length&&this.writeMessage(G,hV,P)},writePackedSFixed64:function(G,P){P.length&&this.writeMessage(G,dV,P)},writeBytesField:function(G,P){this.writeTag(G,Al.Bytes),this.writeBytes(P)},writeFixed32Field:function(G,P){this.writeTag(G,Al.Fixed32),this.writeFixed32(P)},writeSFixed32Field:function(G,P){this.writeTag(G,Al.Fixed32),this.writeSFixed32(P)},writeFixed64Field:function(G,P){this.writeTag(G,Al.Fixed64),this.writeFixed64(P)},writeSFixed64Field:function(G,P){this.writeTag(G,Al.Fixed64),this.writeSFixed64(P)},writeVarintField:function(G,P){this.writeTag(G,Al.Varint),this.writeVarint(P)},writeSVarintField:function(G,P){this.writeTag(G,Al.Varint),this.writeSVarint(P)},writeStringField:function(G,P){this.writeTag(G,Al.Bytes),this.writeString(P)},writeFloatField:function(G,P){this.writeTag(G,Al.Fixed32),this.writeFloat(P)},writeDoubleField:function(G,P){this.writeTag(G,Al.Fixed64),this.writeDouble(P)},writeBooleanField:function(G,P){this.writeVarintField(G,!!P)}};var h2=t(nM);let d2=3;function vV(G,P,W){G===1&&W.readMessage(pV,P)}function pV(G,P,W){if(G===3){let{id:se,bitmap:ge,width:ke,height:Pe,left:Ye,top:at,advance:pt}=W.readMessage(mV,{});P.push({id:se,bitmap:new Vn({width:ke+2*d2,height:Pe+2*d2},ge),metrics:{width:ke,height:Pe,left:Ye,top:at,advance:pt}})}}function mV(G,P,W){G===1?P.id=W.readVarint():G===2?P.bitmap=W.readBytes():G===3?P.width=W.readVarint():G===4?P.height=W.readVarint():G===5?P.left=W.readSVarint():G===6?P.top=W.readSVarint():G===7&&(P.advance=W.readVarint())}let fM=d2;function hM(G){let P=0,W=0;for(let Pe of G)P+=Pe.w*Pe.h,W=Math.max(W,Pe.w);G.sort((Pe,Ye)=>Ye.h-Pe.h);let se=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(P/.95)),W),h:1/0}],ge=0,ke=0;for(let Pe of G)for(let Ye=se.length-1;Ye>=0;Ye--){let at=se[Ye];if(!(Pe.w>at.w||Pe.h>at.h)){if(Pe.x=at.x,Pe.y=at.y,ke=Math.max(ke,Pe.y+Pe.h),ge=Math.max(ge,Pe.x+Pe.w),Pe.w===at.w&&Pe.h===at.h){let pt=se.pop();Ye=0&&se>=P&&Pg[this.text.charCodeAt(se)];se--)W--;this.text=this.text.substring(P,W),this.sectionIndex=this.sectionIndex.slice(P,W)}substring(P,W){let se=new Qp;return se.text=this.text.substring(P,W),se.sectionIndex=this.sectionIndex.slice(P,W),se.sections=this.sections,se}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((P,W)=>Math.max(P,this.sections[W].scale),0)}addTextSection(P,W){this.text+=P.text,this.sections.push(Gm.forText(P.scale,P.fontStack||W));let se=this.sections.length-1;for(let ge=0;ge=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Lg(G,P,W,se,ge,ke,Pe,Ye,at,pt,Et,Vt,er,sr,xr){let Er=Qp.fromFeature(G,ge),Qr;Vt===l.ah.vertical&&Er.verticalizePunctuation();let{processBidirectionalText:la,processStyledBidirectionalText:Ka}=os;if(la&&Er.sections.length===1){Qr=[];let bn=la(Er.toString(),p2(Er,pt,ke,P,se,sr));for(let ei of bn){let Ri=new Qp;Ri.text=ei,Ri.sections=Er.sections;for(let To=0;To0&&Bd>kf&&(kf=Bd)}else{let Rh=Ri[Ws.fontStack],af=Rh&&Rh[Wl];if(af&&af.rect)a0=af.rect,Cu=af.metrics;else{let Bd=ei[Ws.fontStack],Zm=Bd&&Bd[Wl];if(!Zm)continue;Cu=Zm.metrics}Th=(Nc-Ws.scale)*Mc}Nh?(bn.verticalizable=!0,ih.push({glyph:Wl,imageName:md,x:No,y:Pl+Th,vertical:Nh,scale:Ws.scale,fontStack:Ws.fontStack,sectionIndex:Bl,metrics:Cu,rect:a0}),No+=gd*Ws.scale+In):(ih.push({glyph:Wl,imageName:md,x:No,y:Pl+Th,vertical:Nh,scale:Ws.scale,fontStack:Ws.fontStack,sectionIndex:Bl,metrics:Cu,rect:a0}),No+=Cu.advance*Ws.scale+In)}ih.length!==0&&(Tl=Math.max(No-In,Tl),xV(ih,0,ih.length-1,Oh,kf)),No=0;let Ph=wi*Nc+kf;Ef.lineOffset=Math.max(kf,Uf),Pl+=Ph,Bc=Math.max(Ph,Bc),++Sf}var Oc;let rh=Pl-qm,{horizontalAlign:ah,verticalAlign:nh}=m2(no);(function(ju,Nc,Uf,Ef,ih,kf,Ph,mh,Ws){let Bl=(Nc-Uf)*ih,Wl=0;Wl=kf!==Ph?-mh*Ef-qm:(-Ef*Ws+.5)*Ph;for(let Th of ju)for(let Cu of Th.positionedGlyphs)Cu.x+=Bl,Cu.y+=Wl})(bn.positionedLines,Oh,ah,nh,Tl,Bc,wi,rh,Ci.length),bn.top+=-nh*rh,bn.bottom=bn.top+rh,bn.left+=-ah*Tl,bn.right=bn.left+Tl}(qa,P,W,se,Qr,Pe,Ye,at,Vt,pt,er,xr),!function(bn){for(let ei of bn)if(ei.positionedGlyphs.length!==0)return!1;return!0}(Ma)&&qa}let Pg={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},gV={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},yV={40:!0};function vM(G,P,W,se,ge,ke){if(P.imageName){let Pe=se[P.imageName];return Pe?Pe.displaySize[0]*P.scale*Mc/ke+ge:0}{let Pe=W[P.fontStack],Ye=Pe&&Pe[G];return Ye?Ye.metrics.advance*P.scale+ge:0}}function pM(G,P,W,se){let ge=Math.pow(G-P,2);return se?G=0,pt=0;for(let Vt=0;Vtpt){let Et=Math.ceil(ke/pt);ge*=Et/Pe,Pe=Et}return{x1:se,y1:ge,x2:se+ke,y2:ge+Pe}}function _M(G,P,W,se,ge,ke){let Pe=G.image,Ye;if(Pe.content){let Qr=Pe.content,la=Pe.pixelRatio||1;Ye=[Qr[0]/la,Qr[1]/la,Pe.displaySize[0]-Qr[2]/la,Pe.displaySize[1]-Qr[3]/la]}let at=P.left*ke,pt=P.right*ke,Et,Vt,er,sr;W==="width"||W==="both"?(sr=ge[0]+at-se[3],Vt=ge[0]+pt+se[1]):(sr=ge[0]+(at+pt-Pe.displaySize[0])/2,Vt=sr+Pe.displaySize[0]);let xr=P.top*ke,Er=P.bottom*ke;return W==="height"||W==="both"?(Et=ge[1]+xr-se[0],er=ge[1]+Er+se[2]):(Et=ge[1]+(xr+Er-Pe.displaySize[1])/2,er=Et+Pe.displaySize[1]),{image:Pe,top:Et,right:Vt,bottom:er,left:sr,collisionPadding:Ye}}let Vm=255,pd=128,sv=Vm*pd;function xM(G,P){let{expression:W}=P;if(W.kind==="constant")return{kind:"constant",layoutSize:W.evaluate(new Do(G+1))};if(W.kind==="source")return{kind:"source"};{let{zoomStops:se,interpolationType:ge}=W,ke=0;for(;kePe.id),this.index=P.index,this.pixelRatio=P.pixelRatio,this.sourceLayerIndex=P.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=Ea([]),this.placementViewportMatrix=Ea([]);let W=this.layers[0]._unevaluatedLayout._values;this.textSizeData=xM(this.zoom,W["text-size"]),this.iconSizeData=xM(this.zoom,W["icon-size"]);let se=this.layers[0].layout,ge=se.get("symbol-sort-key"),ke=se.get("symbol-z-order");this.canOverlap=g2(se,"text-overlap","text-allow-overlap")!=="never"||g2(se,"icon-overlap","icon-allow-overlap")!=="never"||se.get("text-ignore-placement")||se.get("icon-ignore-placement"),this.sortFeaturesByKey=ke!=="viewport-y"&&!ge.isConstant(),this.sortFeaturesByY=(ke==="viewport-y"||ke==="auto"&&!this.sortFeaturesByKey)&&this.canOverlap,se.get("symbol-placement")==="point"&&(this.writingModes=se.get("text-writing-mode").map(Pe=>l.ah[Pe])),this.stateDependentLayerIds=this.layers.filter(Pe=>Pe.isStateDependent()).map(Pe=>Pe.id),this.sourceID=P.sourceID}createArrays(){this.text=new _2(new Ks(this.layers,this.zoom,P=>/^text/.test(P))),this.icon=new _2(new Ks(this.layers,this.zoom,P=>/^icon/.test(P))),this.glyphOffsetArray=new ho,this.lineVertexArray=new to,this.symbolInstances=new Pi,this.textAnchorOffsets=new Fo}calculateGlyphDependencies(P,W,se,ge,ke){for(let Pe=0;Pe0)&&(Pe.value.kind!=="constant"||Pe.value.value.length>0),Et=at.value.kind!=="constant"||!!at.value.value||Object.keys(at.parameters).length>0,Vt=ke.get("symbol-sort-key");if(this.features=[],!pt&&!Et)return;let er=W.iconDependencies,sr=W.glyphDependencies,xr=W.availableImages,Er=new Do(this.zoom);for(let{feature:Qr,id:la,index:Ka,sourceLayerIndex:Ma}of P){let qa=ge._featureFilter.needGeometry,bn=nl(Qr,qa);if(!ge._featureFilter.filter(Er,bn,se))continue;let ei,Ri;if(qa||(bn.geometry=Cs(Qr)),pt){let Ci=ge.getValueAndResolveTokens("text-field",bn,se,xr),wi=sn.factory(Ci),no=this.hasRTLText=this.hasRTLText||TV(wi);(!no||os.getRTLTextPluginStatus()==="unavailable"||no&&os.isParsed())&&(ei=nV(wi,ge,bn))}if(Et){let Ci=ge.getValueAndResolveTokens("icon-image",bn,se,xr);Ri=Ci instanceof Dn?Ci:Dn.fromString(Ci)}if(!ei&&!Ri)continue;let To=this.sortFeaturesByKey?Vt.evaluate(bn,{},se):void 0;if(this.features.push({id:la,text:ei,icon:Ri,index:Ka,sourceLayerIndex:Ma,geometry:bn.geometry,properties:Qr.properties,type:wV[Qr.type],sortKey:To}),Ri&&(er[Ri.name]=!0),ei){let Ci=Pe.evaluate(bn,{},se).join(","),wi=ke.get("text-rotation-alignment")!=="viewport"&&ke.get("symbol-placement")!=="point";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(l.ah.vertical)>=0;for(let no of ei.sections)if(no.image)er[no.image.name]=!0;else{let Wi=Oi(ei.toString()),Ni=no.fontStack||Ci,In=sr[Ni]=sr[Ni]||{};this.calculateGlyphDependencies(no.text,In,wi,this.allowVerticalPlacement,Wi)}}}ke.get("symbol-placement")==="line"&&(this.features=function(Qr){let la={},Ka={},Ma=[],qa=0;function bn(Ci){Ma.push(Qr[Ci]),qa++}function ei(Ci,wi,no){let Wi=Ka[Ci];return delete Ka[Ci],Ka[wi]=Wi,Ma[Wi].geometry[0].pop(),Ma[Wi].geometry[0]=Ma[Wi].geometry[0].concat(no[0]),Wi}function Ri(Ci,wi,no){let Wi=la[wi];return delete la[wi],la[Ci]=Wi,Ma[Wi].geometry[0].shift(),Ma[Wi].geometry[0]=no[0].concat(Ma[Wi].geometry[0]),Wi}function To(Ci,wi,no){let Wi=no?wi[0][wi[0].length-1]:wi[0][0];return`${Ci}:${Wi.x}:${Wi.y}`}for(let Ci=0;CiCi.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort((Qr,la)=>Qr.sortKey-la.sortKey)}update(P,W,se){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(P,W,this.layers,se),this.icon.programConfigurations.updatePaintArrays(P,W,this.layers,se))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(P){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(P),this.iconCollisionBox.upload(P)),this.text.upload(P,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(P,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(P,W){let se=this.lineVertexArray.length;if(P.segment!==void 0){let ge=P.dist(W[P.segment+1]),ke=P.dist(W[P.segment]),Pe={};for(let Ye=P.segment+1;Ye=0;Ye--)Pe[Ye]={x:W[Ye].x,y:W[Ye].y,tileUnitDistanceFromAnchor:ke},Ye>0&&(ke+=W[Ye-1].dist(W[Ye]));for(let Ye=0;Ye0}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(P,W){let se=P.placedSymbolArray.get(W),ge=se.vertexStartIndex+4*se.numGlyphs;for(let ke=se.vertexStartIndex;kege[Ye]-ge[at]||ke[at]-ke[Ye]),Pe}addToSortKeyRanges(P,W){let se=this.sortKeyRanges[this.sortKeyRanges.length-1];se&&se.sortKey===W?se.symbolInstanceEnd=P+1:this.sortKeyRanges.push({sortKey:W,symbolInstanceStart:P,symbolInstanceEnd:P+1})}sortFeatures(P){if(this.sortFeaturesByY&&this.sortedAngle!==P&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(P),this.sortedAngle=P,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let W of this.symbolInstanceIndexes){let se=this.symbolInstances.get(W);this.featureSortOrder.push(se.featureIndex),[se.rightJustifiedTextSymbolIndex,se.centerJustifiedTextSymbolIndex,se.leftJustifiedTextSymbolIndex].forEach((ge,ke,Pe)=>{ge>=0&&Pe.indexOf(ge)===ke&&this.addIndicesForPlacedSymbol(this.text,ge)}),se.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,se.verticalPlacedTextSymbolIndex),se.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,se.placedIconSymbolIndex),se.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,se.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let bM,wM;Aa("SymbolBucket",e0,{omit:["layers","collisionBoxArray","features","compareText"]}),e0.MAX_GLYPHS=65535,e0.addDynamicAttributes=y2;var b2={get paint(){return wM=wM||new Me({"icon-opacity":new Xi(re.paint_symbol["icon-opacity"]),"icon-color":new Xi(re.paint_symbol["icon-color"]),"icon-halo-color":new Xi(re.paint_symbol["icon-halo-color"]),"icon-halo-width":new Xi(re.paint_symbol["icon-halo-width"]),"icon-halo-blur":new Xi(re.paint_symbol["icon-halo-blur"]),"icon-translate":new ki(re.paint_symbol["icon-translate"]),"icon-translate-anchor":new ki(re.paint_symbol["icon-translate-anchor"]),"text-opacity":new Xi(re.paint_symbol["text-opacity"]),"text-color":new Xi(re.paint_symbol["text-color"],{runtimeType:yt,getOverride:G=>G.textColor,hasOverride:G=>!!G.textColor}),"text-halo-color":new Xi(re.paint_symbol["text-halo-color"]),"text-halo-width":new Xi(re.paint_symbol["text-halo-width"]),"text-halo-blur":new Xi(re.paint_symbol["text-halo-blur"]),"text-translate":new ki(re.paint_symbol["text-translate"]),"text-translate-anchor":new ki(re.paint_symbol["text-translate-anchor"])})},get layout(){return bM=bM||new Me({"symbol-placement":new ki(re.layout_symbol["symbol-placement"]),"symbol-spacing":new ki(re.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new ki(re.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new Xi(re.layout_symbol["symbol-sort-key"]),"symbol-z-order":new ki(re.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new ki(re.layout_symbol["icon-allow-overlap"]),"icon-overlap":new ki(re.layout_symbol["icon-overlap"]),"icon-ignore-placement":new ki(re.layout_symbol["icon-ignore-placement"]),"icon-optional":new ki(re.layout_symbol["icon-optional"]),"icon-rotation-alignment":new ki(re.layout_symbol["icon-rotation-alignment"]),"icon-size":new Xi(re.layout_symbol["icon-size"]),"icon-text-fit":new ki(re.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new ki(re.layout_symbol["icon-text-fit-padding"]),"icon-image":new Xi(re.layout_symbol["icon-image"]),"icon-rotate":new Xi(re.layout_symbol["icon-rotate"]),"icon-padding":new Xi(re.layout_symbol["icon-padding"]),"icon-keep-upright":new ki(re.layout_symbol["icon-keep-upright"]),"icon-offset":new Xi(re.layout_symbol["icon-offset"]),"icon-anchor":new Xi(re.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new ki(re.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new ki(re.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new ki(re.layout_symbol["text-rotation-alignment"]),"text-field":new Xi(re.layout_symbol["text-field"]),"text-font":new Xi(re.layout_symbol["text-font"]),"text-size":new Xi(re.layout_symbol["text-size"]),"text-max-width":new Xi(re.layout_symbol["text-max-width"]),"text-line-height":new ki(re.layout_symbol["text-line-height"]),"text-letter-spacing":new Xi(re.layout_symbol["text-letter-spacing"]),"text-justify":new Xi(re.layout_symbol["text-justify"]),"text-radial-offset":new Xi(re.layout_symbol["text-radial-offset"]),"text-variable-anchor":new ki(re.layout_symbol["text-variable-anchor"]),"text-variable-anchor-offset":new Xi(re.layout_symbol["text-variable-anchor-offset"]),"text-anchor":new Xi(re.layout_symbol["text-anchor"]),"text-max-angle":new ki(re.layout_symbol["text-max-angle"]),"text-writing-mode":new ki(re.layout_symbol["text-writing-mode"]),"text-rotate":new Xi(re.layout_symbol["text-rotate"]),"text-padding":new ki(re.layout_symbol["text-padding"]),"text-keep-upright":new ki(re.layout_symbol["text-keep-upright"]),"text-transform":new Xi(re.layout_symbol["text-transform"]),"text-offset":new Xi(re.layout_symbol["text-offset"]),"text-allow-overlap":new ki(re.layout_symbol["text-allow-overlap"]),"text-overlap":new ki(re.layout_symbol["text-overlap"]),"text-ignore-placement":new ki(re.layout_symbol["text-ignore-placement"]),"text-optional":new ki(re.layout_symbol["text-optional"])})}};class AM{constructor(P){if(P.property.overrides===void 0)throw new Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=P.property.overrides?P.property.overrides.runtimeType:Ve,this.defaultValue=P}evaluate(P){if(P.formattedSection){let W=this.defaultValue.property.overrides;if(W&&W.hasOverride(P.formattedSection))return W.getOverride(P.formattedSection)}return P.feature&&P.featureState?this.defaultValue.evaluate(P.feature,P.featureState):this.defaultValue.property.specification.default}eachChild(P){this.defaultValue.isConstant()||P(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Aa("FormatSectionOverride",AM,{omit:["defaultValue"]});class Ig extends J{constructor(P){super(P,b2)}recalculate(P,W){if(super.recalculate(P,W),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 se=this.layout.get("text-writing-mode");if(se){let ge=[];for(let ke of se)ge.indexOf(ke)<0&&ge.push(ke);this.layout._values["text-writing-mode"]=ge}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(P,W,se,ge){let ke=this.layout.get(P).evaluate(W,{},se,ge),Pe=this._unevaluatedLayout._values[P];return Pe.isDataDriven()||xf(Pe.value)||!ke?ke:function(Ye,at){return at.replace(/{([^{}]+)}/g,(pt,Et)=>Ye&&Et in Ye?String(Ye[Et]):"")}(W.properties,ke)}createBucket(P){return new e0(P)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(let P of b2.paint.overridableProperties){if(!Ig.hasPaintOverride(this.layout,P))continue;let W=this.paint.get(P),se=new AM(W),ge=new tu(se,W.property.specification),ke=null;ke=W.value.kind==="constant"||W.value.kind==="source"?new zu("source",ge):new Fl("composite",ge,W.value.zoomStops),this.paint._values[P]=new xl(W.property,ke,W.parameters)}}_handleOverridablePaintPropertyUpdate(P,W,se){return!(!this.layout||W.isDataDriven()||se.isDataDriven())&&Ig.hasPaintOverride(this.layout,P)}static hasPaintOverride(P,W){let se=P.get("text-field"),ge=b2.paint.properties[W],ke=!1,Pe=Ye=>{for(let at of Ye)if(ge.overrides&&ge.overrides.hasOverride(at))return void(ke=!0)};if(se.value.kind==="constant"&&se.value.value instanceof sn)Pe(se.value.value.sections);else if(se.value.kind==="source"){let Ye=pt=>{ke||(pt instanceof Li&&mn(pt.value)===vr?Pe(pt.value.sections):pt instanceof Yi?Pe(pt.sections):pt.eachChild(Ye))},at=se.value;at._styleExpression&&Ye(at._styleExpression.expression)}return ke}}let TM;var MV={get paint(){return TM=TM||new Me({"background-color":new ki(re.paint_background["background-color"]),"background-pattern":new zc(re.paint_background["background-pattern"]),"background-opacity":new ki(re.paint_background["background-opacity"])})}};class SV extends J{constructor(P){super(P,MV)}}let MM;var EV={get paint(){return MM=MM||new Me({"raster-opacity":new ki(re.paint_raster["raster-opacity"]),"raster-hue-rotate":new ki(re.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new ki(re.paint_raster["raster-brightness-min"]),"raster-brightness-max":new ki(re.paint_raster["raster-brightness-max"]),"raster-saturation":new ki(re.paint_raster["raster-saturation"]),"raster-contrast":new ki(re.paint_raster["raster-contrast"]),"raster-resampling":new ki(re.paint_raster["raster-resampling"]),"raster-fade-duration":new ki(re.paint_raster["raster-fade-duration"])})}};class kV extends J{constructor(P){super(P,EV)}}class CV extends J{constructor(P){super(P,{}),this.onAdd=W=>{this.implementation.onAdd&&this.implementation.onAdd(W,W.painter.context.gl)},this.onRemove=W=>{this.implementation.onRemove&&this.implementation.onRemove(W,W.painter.context.gl)},this.implementation=P}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 LV{constructor(P){this._methodToThrottle=P,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 w2=63710088e-1;class lv{constructor(P,W){if(isNaN(P)||isNaN(W))throw new Error(`Invalid LngLat object: (${P}, ${W})`);if(this.lng=+P,this.lat=+W,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new lv(T(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(P){let W=Math.PI/180,se=this.lat*W,ge=P.lat*W,ke=Math.sin(se)*Math.sin(ge)+Math.cos(se)*Math.cos(ge)*Math.cos((P.lng-this.lng)*W);return w2*Math.acos(Math.min(ke,1))}static convert(P){if(P instanceof lv)return P;if(Array.isArray(P)&&(P.length===2||P.length===3))return new lv(Number(P[0]),Number(P[1]));if(!Array.isArray(P)&&typeof P=="object"&&P!==null)return new lv(Number("lng"in P?P.lng:P.lon),Number(P.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 SM=2*Math.PI*w2;function EM(G){return SM*Math.cos(G*Math.PI/180)}function kM(G){return(180+G)/360}function CM(G){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+G*Math.PI/360)))/360}function LM(G,P){return G/EM(P)}function A2(G){return 360/Math.PI*Math.atan(Math.exp((180-360*G)*Math.PI/180))-90}class Hm{constructor(P,W,se=0){this.x=+P,this.y=+W,this.z=+se}static fromLngLat(P,W=0){let se=lv.convert(P);return new Hm(kM(se.lng),CM(se.lat),LM(W,se.lat))}toLngLat(){return new lv(360*this.x-180,A2(this.y))}toAltitude(){return this.z*EM(A2(this.y))}meterInMercatorCoordinateUnits(){return 1/SM*(P=A2(this.y),1/Math.cos(P*Math.PI/180));var P}}function PM(G,P,W){var se=2*Math.PI*6378137/256/Math.pow(2,W);return[G*se-2*Math.PI*6378137/2,P*se-2*Math.PI*6378137/2]}class T2{constructor(P,W,se){if(!function(ge,ke,Pe){return!(ge<0||ge>25||Pe<0||Pe>=Math.pow(2,ge)||ke<0||ke>=Math.pow(2,ge))}(P,W,se))throw new Error(`x=${W}, y=${se}, z=${P} outside of bounds. 0<=x<${Math.pow(2,P)}, 0<=y<${Math.pow(2,P)} 0<=z<=25 `);this.z=P,this.x=W,this.y=se,this.key=Wm(0,P,P,W,se)}equals(P){return this.z===P.z&&this.x===P.x&&this.y===P.y}url(P,W,se){let ge=(Pe=this.y,Ye=this.z,at=PM(256*(ke=this.x),256*(Pe=Math.pow(2,Ye)-Pe-1),Ye),pt=PM(256*(ke+1),256*(Pe+1),Ye),at[0]+","+at[1]+","+pt[0]+","+pt[1]);var ke,Pe,Ye,at,pt;let Et=function(Vt,er,sr){let xr,Er="";for(let Qr=Vt;Qr>0;Qr--)xr=1<1?"@2x":"").replace(/{quadkey}/g,Et).replace(/{bbox-epsg-3857}/g,ge)}isChildOf(P){let W=this.z-P.z;return W>0&&P.x===this.x>>W&&P.y===this.y>>W}getTilePoint(P){let W=Math.pow(2,this.z);return new n((P.x*W-this.x)*Di,(P.y*W-this.y)*Di)}toString(){return`${this.z}/${this.x}/${this.y}`}}class RM{constructor(P,W){this.wrap=P,this.canonical=W,this.key=Wm(P,W.z,W.z,W.x,W.y)}}class Lh{constructor(P,W,se,ge,ke){if(P= z; overscaledZ = ${P}; z = ${se}`);this.overscaledZ=P,this.wrap=W,this.canonical=new T2(se,+ge,+ke),this.key=Wm(W,P,se,ge,ke)}clone(){return new Lh(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(P){return this.overscaledZ===P.overscaledZ&&this.wrap===P.wrap&&this.canonical.equals(P.canonical)}scaledTo(P){if(P>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${P}; overscaledZ = ${this.overscaledZ}`);let W=this.canonical.z-P;return P>this.canonical.z?new Lh(P,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Lh(P,this.wrap,P,this.canonical.x>>W,this.canonical.y>>W)}calculateScaledKey(P,W){if(P>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${P}; overscaledZ = ${this.overscaledZ}`);let se=this.canonical.z-P;return P>this.canonical.z?Wm(this.wrap*+W,P,this.canonical.z,this.canonical.x,this.canonical.y):Wm(this.wrap*+W,P,P,this.canonical.x>>se,this.canonical.y>>se)}isChildOf(P){if(P.wrap!==this.wrap)return!1;let W=this.canonical.z-P.canonical.z;return P.overscaledZ===0||P.overscaledZ>W&&P.canonical.y===this.canonical.y>>W}children(P){if(this.overscaledZ>=P)return[new Lh(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let W=this.canonical.z+1,se=2*this.canonical.x,ge=2*this.canonical.y;return[new Lh(W,this.wrap,W,se,ge),new Lh(W,this.wrap,W,se+1,ge),new Lh(W,this.wrap,W,se,ge+1),new Lh(W,this.wrap,W,se+1,ge+1)]}isLessThan(P){return this.wrapP.wrap)&&(this.overscaledZP.overscaledZ)&&(this.canonical.xP.canonical.x)&&this.canonical.ythis.max&&(this.max=Vt),Vt=this.dim+1||W<-1||W>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(W+1)*this.stride+(P+1)}unpack(P,W,se){return P*this.redFactor+W*this.greenFactor+se*this.blueFactor-this.baseShift}getPixels(){return new Oa({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(P,W,se){if(this.dim!==P.dim)throw new Error("dem dimension mismatch");let ge=W*this.dim,ke=W*this.dim+this.dim,Pe=se*this.dim,Ye=se*this.dim+this.dim;switch(W){case-1:ge=ke-1;break;case 1:ke=ge+1}switch(se){case-1:Pe=Ye-1;break;case 1:Ye=Pe+1}let at=-W*this.dim,pt=-se*this.dim;for(let Et=Pe;Et=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${P} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[P]}}class FM{constructor(P,W,se,ge,ke){this.type="Feature",this._vectorTileFeature=P,P._z=W,P._x=se,P._y=ge,this.properties=P.properties,this.id=ke}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(P){this._geometry=P}toJSON(){let P={geometry:this.geometry};for(let W in this)W!=="_geometry"&&W!=="_vectorTileFeature"&&(P[W]=this[W]);return P}}class zM{constructor(P,W){this.tileID=P,this.x=P.canonical.x,this.y=P.canonical.y,this.z=P.canonical.z,this.grid=new Na(Di,16,0),this.grid3D=new Na(Di,16,0),this.featureIndexArray=new Ns,this.promoteId=W}insert(P,W,se,ge,ke,Pe){let Ye=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(se,ge,ke);let at=Pe?this.grid3D:this.grid;for(let pt=0;pt=0&&Vt[3]>=0&&at.insert(Ye,Vt[0],Vt[1],Vt[2],Vt[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new Yr.VectorTile(new h2(this.rawTileData)).layers,this.sourceLayerCoder=new DM(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers}query(P,W,se,ge){this.loadVTLayers();let ke=P.params||{},Pe=Di/P.tileSize/P.scale,Ye=Bu(ke.filter),at=P.queryGeometry,pt=P.queryPadding*Pe,Et=OM(at),Vt=this.grid.query(Et.minX-pt,Et.minY-pt,Et.maxX+pt,Et.maxY+pt),er=OM(P.cameraQueryGeometry),sr=this.grid3D.query(er.minX-pt,er.minY-pt,er.maxX+pt,er.maxY+pt,(Qr,la,Ka,Ma)=>function(qa,bn,ei,Ri,To){for(let wi of qa)if(bn<=wi.x&&ei<=wi.y&&Ri>=wi.x&&To>=wi.y)return!0;let Ci=[new n(bn,ei),new n(bn,To),new n(Ri,To),new n(Ri,ei)];if(qa.length>2){for(let wi of Ci)if(Sa(qa,wi))return!0}for(let wi=0;wi(Ma||(Ma=Cs(qa)),bn.queryIntersectsFeature(at,qa,ei,Ma,this.z,P.transform,Pe,P.pixelPosMatrix)))}return xr}loadMatchingFeature(P,W,se,ge,ke,Pe,Ye,at,pt,Et,Vt){let er=this.bucketLayerIDs[W];if(Pe&&!function(Qr,la){for(let Ka=0;Ka=0)return!0;return!1}(Pe,er))return;let sr=this.sourceLayerCoder.decode(se),xr=this.vtLayers[sr].feature(ge);if(ke.needGeometry){let Qr=nl(xr,!0);if(!ke.filter(new Do(this.tileID.overscaledZ),Qr,this.tileID.canonical))return}else if(!ke.filter(new Do(this.tileID.overscaledZ),xr))return;let Er=this.getId(xr,sr);for(let Qr=0;Qr{let Ye=P instanceof hc?P.get(Pe):null;return Ye&&Ye.evaluate?Ye.evaluate(W,se,ge):Ye})}function OM(G){let P=1/0,W=1/0,se=-1/0,ge=-1/0;for(let ke of G)P=Math.min(P,ke.x),W=Math.min(W,ke.y),se=Math.max(se,ke.x),ge=Math.max(ge,ke.y);return{minX:P,minY:W,maxX:se,maxY:ge}}function PV(G,P){return P-G}function NM(G,P,W,se,ge){let ke=[];for(let Pe=0;Pe=se&&Vt.x>=se||(Et.x>=se?Et=new n(se,Et.y+(se-Et.x)/(Vt.x-Et.x)*(Vt.y-Et.y))._round():Vt.x>=se&&(Vt=new n(se,Et.y+(se-Et.x)/(Vt.x-Et.x)*(Vt.y-Et.y))._round()),Et.y>=ge&&Vt.y>=ge||(Et.y>=ge?Et=new n(Et.x+(ge-Et.y)/(Vt.y-Et.y)*(Vt.x-Et.x),ge)._round():Vt.y>=ge&&(Vt=new n(Et.x+(ge-Et.y)/(Vt.y-Et.y)*(Vt.x-Et.x),ge)._round()),at&&Et.equals(at[at.length-1])||(at=[Et],ke.push(at)),at.push(Vt)))))}}return ke}Aa("FeatureIndex",zM,{omit:["rawTileData","sourceLayerCoder"]});class uv extends n{constructor(P,W,se,ge){super(P,W),this.angle=se,ge!==void 0&&(this.segment=ge)}clone(){return new uv(this.x,this.y,this.angle,this.segment)}}function jM(G,P,W,se,ge){if(P.segment===void 0||W===0)return!0;let ke=P,Pe=P.segment+1,Ye=0;for(;Ye>-W/2;){if(Pe--,Pe<0)return!1;Ye-=G[Pe].dist(ke),ke=G[Pe]}Ye+=G[Pe].dist(G[Pe+1]),Pe++;let at=[],pt=0;for(;Yese;)pt-=at.shift().angleDelta;if(pt>ge)return!1;Pe++,Ye+=Et.dist(Vt)}return!0}function UM(G){let P=0;for(let W=0;Wpt){let xr=(pt-at)/sr,Er=ui.number(Vt.x,er.x,xr),Qr=ui.number(Vt.y,er.y,xr),la=new uv(Er,Qr,er.angleTo(Vt),Et);return la._round(),!Pe||jM(G,la,Ye,Pe,P)?la:void 0}at+=sr}}function IV(G,P,W,se,ge,ke,Pe,Ye,at){let pt=qM(se,ke,Pe),Et=GM(se,ge),Vt=Et*Pe,er=G[0].x===0||G[0].x===at||G[0].y===0||G[0].y===at;return P-Vt

=0&&qa=0&&bn=0&&er+pt<=Et){let ei=new uv(qa,bn,Ka,xr);ei._round(),se&&!jM(G,ei,ke,se,ge)||sr.push(ei)}}Vt+=la}return Ye||sr.length||Pe||(sr=VM(G,Vt/2,W,se,ge,ke,Pe,!0,at)),sr}Aa("Anchor",uv);let t0=ph;function HM(G,P,W,se){let ge=[],ke=G.image,Pe=ke.pixelRatio,Ye=ke.paddedRect.w-2*t0,at=ke.paddedRect.h-2*t0,pt={x1:G.left,y1:G.top,x2:G.right,y2:G.bottom},Et=ke.stretchX||[[0,Ye]],Vt=ke.stretchY||[[0,at]],er=(In,uo)=>In+uo[1]-uo[0],sr=Et.reduce(er,0),xr=Vt.reduce(er,0),Er=Ye-sr,Qr=at-xr,la=0,Ka=sr,Ma=0,qa=xr,bn=0,ei=Er,Ri=0,To=Qr;if(ke.content&&se){let In=ke.content,uo=In[2]-In[0],ro=In[3]-In[1];(ke.textFitWidth||ke.textFitHeight)&&(pt=yM(G)),la=Dg(Et,0,In[0]),Ma=Dg(Vt,0,In[1]),Ka=Dg(Et,In[0],In[2]),qa=Dg(Vt,In[1],In[3]),bn=In[0]-la,Ri=In[1]-Ma,ei=uo-Ka,To=ro-qa}let Ci=pt.x1,wi=pt.y1,no=pt.x2-Ci,Wi=pt.y2-wi,Ni=(In,uo,ro,No)=>{let Pl=Fg(In.stretch-la,Ka,no,Ci),Tl=zg(In.fixed-bn,ei,In.stretch,sr),Bc=Fg(uo.stretch-Ma,qa,Wi,wi),Oh=zg(uo.fixed-Ri,To,uo.stretch,xr),Sf=Fg(ro.stretch-la,Ka,no,Ci),Oc=zg(ro.fixed-bn,ei,ro.stretch,sr),rh=Fg(No.stretch-Ma,qa,Wi,wi),ah=zg(No.fixed-Ri,To,No.stretch,xr),nh=new n(Pl,Bc),ju=new n(Sf,Bc),Nc=new n(Sf,rh),Uf=new n(Pl,rh),Ef=new n(Tl/Pe,Oh/Pe),ih=new n(Oc/Pe,ah/Pe),kf=P*Math.PI/180;if(kf){let Ws=Math.sin(kf),Bl=Math.cos(kf),Wl=[Bl,-Ws,Ws,Bl];nh._matMult(Wl),ju._matMult(Wl),Uf._matMult(Wl),Nc._matMult(Wl)}let Ph=In.stretch+In.fixed,mh=uo.stretch+uo.fixed;return{tl:nh,tr:ju,bl:Uf,br:Nc,tex:{x:ke.paddedRect.x+t0+Ph,y:ke.paddedRect.y+t0+mh,w:ro.stretch+ro.fixed-Ph,h:No.stretch+No.fixed-mh},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:Ef,pixelOffsetBR:ih,minFontScaleX:ei/Pe/no,minFontScaleY:To/Pe/Wi,isSDF:W}};if(se&&(ke.stretchX||ke.stretchY)){let In=WM(Et,Er,sr),uo=WM(Vt,Qr,xr);for(let ro=0;ro0&&(Er=Math.max(10,Er),this.circleDiameter=Er)}else{let er=!((Vt=Pe.image)===null||Vt===void 0)&&Vt.content&&(Pe.image.textFitWidth||Pe.image.textFitHeight)?yM(Pe):{x1:Pe.left,y1:Pe.top,x2:Pe.right,y2:Pe.bottom};er.y1=er.y1*Ye-at[0],er.y2=er.y2*Ye+at[2],er.x1=er.x1*Ye-at[3],er.x2=er.x2*Ye+at[1];let sr=Pe.collisionPadding;if(sr&&(er.x1-=sr[0]*Ye,er.y1-=sr[1]*Ye,er.x2+=sr[2]*Ye,er.y2+=sr[3]*Ye),Et){let xr=new n(er.x1,er.y1),Er=new n(er.x2,er.y1),Qr=new n(er.x1,er.y2),la=new n(er.x2,er.y2),Ka=Et*Math.PI/180;xr._rotate(Ka),Er._rotate(Ka),Qr._rotate(Ka),la._rotate(Ka),er.x1=Math.min(xr.x,Er.x,Qr.x,la.x),er.x2=Math.max(xr.x,Er.x,Qr.x,la.x),er.y1=Math.min(xr.y,Er.y,Qr.y,la.y),er.y2=Math.max(xr.y,Er.y,Qr.y,la.y)}P.emplaceBack(W.x,W.y,er.x1,er.y1,er.x2,er.y2,se,ge,ke)}this.boxEndIndex=P.length}}class DV{constructor(P=[],W=(se,ge)=>sege?1:0){if(this.data=P,this.length=this.data.length,this.compare=W,this.length>0)for(let se=(this.length>>1)-1;se>=0;se--)this._down(se)}push(P){this.data.push(P),this._up(this.length++)}pop(){if(this.length===0)return;let P=this.data[0],W=this.data.pop();return--this.length>0&&(this.data[0]=W,this._down(0)),P}peek(){return this.data[0]}_up(P){let{data:W,compare:se}=this,ge=W[P];for(;P>0;){let ke=P-1>>1,Pe=W[ke];if(se(ge,Pe)>=0)break;W[P]=Pe,P=ke}W[P]=ge}_down(P){let{data:W,compare:se}=this,ge=this.length>>1,ke=W[P];for(;P=0)break;W[P]=W[Pe],P=Pe}W[P]=ke}}function FV(G,P=1,W=!1){let se=1/0,ge=1/0,ke=-1/0,Pe=-1/0,Ye=G[0];for(let sr=0;srke)&&(ke=xr.x),(!sr||xr.y>Pe)&&(Pe=xr.y)}let at=Math.min(ke-se,Pe-ge),pt=at/2,Et=new DV([],zV);if(at===0)return new n(se,ge);for(let sr=se;srVt.d||!Vt.d)&&(Vt=sr,W&&console.log("found best %d after %d probes",Math.round(1e4*sr.d)/1e4,er)),sr.max-Vt.d<=P||(pt=sr.h/2,Et.push(new r0(sr.p.x-pt,sr.p.y-pt,pt,G)),Et.push(new r0(sr.p.x+pt,sr.p.y-pt,pt,G)),Et.push(new r0(sr.p.x-pt,sr.p.y+pt,pt,G)),Et.push(new r0(sr.p.x+pt,sr.p.y+pt,pt,G)),er+=4)}return W&&(console.log(`num probes: ${er}`),console.log(`best distance: ${Vt.d}`)),Vt.p}function zV(G,P){return P.max-G.max}function r0(G,P,W,se){this.p=new n(G,P),this.h=W,this.d=function(ge,ke){let Pe=!1,Ye=1/0;for(let at=0;atge.y!=xr.y>ge.y&&ge.x<(xr.x-sr.x)*(ge.y-sr.y)/(xr.y-sr.y)+sr.x&&(Pe=!Pe),Ye=Math.min(Ye,Or(ge,sr,xr))}}return(Pe?1:-1)*Math.sqrt(Ye)}(this.p,se),this.max=this.d+this.h*Math.SQRT2}var Mf;l.aq=void 0,(Mf=l.aq||(l.aq={}))[Mf.center=1]="center",Mf[Mf.left=2]="left",Mf[Mf.right=3]="right",Mf[Mf.top=4]="top",Mf[Mf.bottom=5]="bottom",Mf[Mf["top-left"]=6]="top-left",Mf[Mf["top-right"]=7]="top-right",Mf[Mf["bottom-left"]=8]="bottom-left",Mf[Mf["bottom-right"]=9]="bottom-right";let cv=7,M2=Number.POSITIVE_INFINITY;function YM(G,P){return P[1]!==M2?function(W,se,ge){let ke=0,Pe=0;switch(se=Math.abs(se),ge=Math.abs(ge),W){case"top-right":case"top-left":case"top":Pe=ge-cv;break;case"bottom-right":case"bottom-left":case"bottom":Pe=-ge+cv}switch(W){case"top-right":case"bottom-right":case"right":ke=-se;break;case"top-left":case"bottom-left":case"left":ke=se}return[ke,Pe]}(G,P[0],P[1]):function(W,se){let ge=0,ke=0;se<0&&(se=0);let Pe=se/Math.SQRT2;switch(W){case"top-right":case"top-left":ke=Pe-cv;break;case"bottom-right":case"bottom-left":ke=-Pe+cv;break;case"bottom":ke=-se+cv;break;case"top":ke=se-cv}switch(W){case"top-right":case"bottom-right":ge=-Pe;break;case"top-left":case"bottom-left":ge=Pe;break;case"left":ge=se;break;case"right":ge=-se}return[ge,ke]}(G,P[0])}function XM(G,P,W){var se;let ge=G.layout,ke=(se=ge.get("text-variable-anchor-offset"))===null||se===void 0?void 0:se.evaluate(P,{},W);if(ke){let Ye=ke.values,at=[];for(let pt=0;pter*Mc);Et.startsWith("top")?Vt[1]-=cv:Et.startsWith("bottom")&&(Vt[1]+=cv),at[pt+1]=Vt}return new vi(at)}let Pe=ge.get("text-variable-anchor");if(Pe){let Ye;Ye=G._unevaluatedLayout.getValue("text-radial-offset")!==void 0?[ge.get("text-radial-offset").evaluate(P,{},W)*Mc,M2]:ge.get("text-offset").evaluate(P,{},W).map(pt=>pt*Mc);let at=[];for(let pt of Pe)at.push(pt,YM(pt,Ye));return new vi(at)}return null}function S2(G){switch(G){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function BV(G,P,W,se,ge,ke,Pe,Ye,at,pt,Et){let Vt=ke.textMaxSize.evaluate(P,{});Vt===void 0&&(Vt=Pe);let er=G.layers[0].layout,sr=er.get("icon-offset").evaluate(P,{},Et),xr=$M(W.horizontal),Er=Pe/24,Qr=G.tilePixelRatio*Er,la=G.tilePixelRatio*Vt/24,Ka=G.tilePixelRatio*Ye,Ma=G.tilePixelRatio*er.get("symbol-spacing"),qa=er.get("text-padding")*G.tilePixelRatio,bn=function(In,uo,ro,No=1){let Pl=In.get("icon-padding").evaluate(uo,{},ro),Tl=Pl&&Pl.values;return[Tl[0]*No,Tl[1]*No,Tl[2]*No,Tl[3]*No]}(er,P,Et,G.tilePixelRatio),ei=er.get("text-max-angle")/180*Math.PI,Ri=er.get("text-rotation-alignment")!=="viewport"&&er.get("symbol-placement")!=="point",To=er.get("icon-rotation-alignment")==="map"&&er.get("symbol-placement")!=="point",Ci=er.get("symbol-placement"),wi=Ma/2,no=er.get("icon-text-fit"),Wi;se&&no!=="none"&&(G.allowVerticalPlacement&&W.vertical&&(Wi=_M(se,W.vertical,no,er.get("icon-text-fit-padding"),sr,Er)),xr&&(se=_M(se,xr,no,er.get("icon-text-fit-padding"),sr,Er)));let Ni=(In,uo)=>{uo.x<0||uo.x>=Di||uo.y<0||uo.y>=Di||function(ro,No,Pl,Tl,Bc,Oh,Sf,Oc,rh,ah,nh,ju,Nc,Uf,Ef,ih,kf,Ph,mh,Ws,Bl,Wl,Th,Cu,a0){let md=ro.addToLineVertexArray(No,Pl),gd,Nh,Rh,af,Bd=0,Zm=0,eS=0,tS=0,D2=-1,F2=-1,Od={},rS=_a("");if(ro.allowVerticalPlacement&&Tl.vertical){let qf=Oc.layout.get("text-rotate").evaluate(Bl,{},Cu)+90;Rh=new Bg(rh,No,ah,nh,ju,Tl.vertical,Nc,Uf,Ef,qf),Sf&&(af=new Bg(rh,No,ah,nh,ju,Sf,kf,Ph,Ef,qf))}if(Bc){let qf=Oc.layout.get("icon-rotate").evaluate(Bl,{}),Ih=Oc.layout.get("icon-text-fit")!=="none",up=HM(Bc,qf,Th,Ih),id=Sf?HM(Sf,qf,Th,Ih):void 0;Nh=new Bg(rh,No,ah,nh,ju,Bc,kf,Ph,!1,qf),Bd=4*up.length;let cp=ro.iconSizeData,yd=null;cp.kind==="source"?(yd=[pd*Oc.layout.get("icon-size").evaluate(Bl,{})],yd[0]>sv&&_(`${ro.layerIds[0]}: Value for "icon-size" is >= ${Vm}. Reduce your "icon-size".`)):cp.kind==="composite"&&(yd=[pd*Wl.compositeIconSizes[0].evaluate(Bl,{},Cu),pd*Wl.compositeIconSizes[1].evaluate(Bl,{},Cu)],(yd[0]>sv||yd[1]>sv)&&_(`${ro.layerIds[0]}: Value for "icon-size" is >= ${Vm}. Reduce your "icon-size".`)),ro.addSymbols(ro.icon,up,yd,Ws,mh,Bl,l.ah.none,No,md.lineStartIndex,md.lineLength,-1,Cu),D2=ro.icon.placedSymbolArray.length-1,id&&(Zm=4*id.length,ro.addSymbols(ro.icon,id,yd,Ws,mh,Bl,l.ah.vertical,No,md.lineStartIndex,md.lineLength,-1,Cu),F2=ro.icon.placedSymbolArray.length-1)}let aS=Object.keys(Tl.horizontal);for(let qf of aS){let Ih=Tl.horizontal[qf];if(!gd){rS=_a(Ih.text);let id=Oc.layout.get("text-rotate").evaluate(Bl,{},Cu);gd=new Bg(rh,No,ah,nh,ju,Ih,Nc,Uf,Ef,id)}let up=Ih.positionedLines.length===1;if(eS+=ZM(ro,No,Ih,Oh,Oc,Ef,Bl,ih,md,Tl.vertical?l.ah.horizontal:l.ah.horizontalOnly,up?aS:[qf],Od,D2,Wl,Cu),up)break}Tl.vertical&&(tS+=ZM(ro,No,Tl.vertical,Oh,Oc,Ef,Bl,ih,md,l.ah.vertical,["vertical"],Od,F2,Wl,Cu));let jV=gd?gd.boxStartIndex:ro.collisionBoxArray.length,UV=gd?gd.boxEndIndex:ro.collisionBoxArray.length,qV=Rh?Rh.boxStartIndex:ro.collisionBoxArray.length,GV=Rh?Rh.boxEndIndex:ro.collisionBoxArray.length,VV=Nh?Nh.boxStartIndex:ro.collisionBoxArray.length,HV=Nh?Nh.boxEndIndex:ro.collisionBoxArray.length,WV=af?af.boxStartIndex:ro.collisionBoxArray.length,YV=af?af.boxEndIndex:ro.collisionBoxArray.length,nd=-1,Ng=(qf,Ih)=>qf&&qf.circleDiameter?Math.max(qf.circleDiameter,Ih):Ih;nd=Ng(gd,nd),nd=Ng(Rh,nd),nd=Ng(Nh,nd),nd=Ng(af,nd);let nS=nd>-1?1:0;nS&&(nd*=a0/Mc),ro.glyphOffsetArray.length>=e0.MAX_GLYPHS&&_("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),Bl.sortKey!==void 0&&ro.addToSortKeyRanges(ro.symbolInstances.length,Bl.sortKey);let XV=XM(Oc,Bl,Cu),[ZV,$V]=function(qf,Ih){let up=qf.length,id=Ih?.values;if(id?.length>0)for(let cp=0;cp=0?Od.right:-1,Od.center>=0?Od.center:-1,Od.left>=0?Od.left:-1,Od.vertical||-1,D2,F2,rS,jV,UV,qV,GV,VV,HV,WV,YV,ah,eS,tS,Bd,Zm,nS,0,Nc,nd,ZV,$V)}(G,uo,In,W,se,ge,Wi,G.layers[0],G.collisionBoxArray,P.index,P.sourceLayerIndex,G.index,Qr,[qa,qa,qa,qa],Ri,at,Ka,bn,To,sr,P,ke,pt,Et,Pe)};if(Ci==="line")for(let In of NM(P.geometry,0,0,Di,Di)){let uo=IV(In,Ma,ei,W.vertical||xr,se,24,la,G.overscaling,Di);for(let ro of uo)xr&&OV(G,xr.text,wi,ro)||Ni(In,ro)}else if(Ci==="line-center"){for(let In of P.geometry)if(In.length>1){let uo=RV(In,ei,W.vertical||xr,se,24,la);uo&&Ni(In,uo)}}else if(P.type==="Polygon")for(let In of cu(P.geometry,0)){let uo=FV(In,16);Ni(In[0],new uv(uo.x,uo.y,0))}else if(P.type==="LineString")for(let In of P.geometry)Ni(In,new uv(In[0].x,In[0].y,0));else if(P.type==="Point")for(let In of P.geometry)for(let uo of In)Ni([uo],new uv(uo.x,uo.y,0))}function ZM(G,P,W,se,ge,ke,Pe,Ye,at,pt,Et,Vt,er,sr,xr){let Er=function(Ka,Ma,qa,bn,ei,Ri,To,Ci){let wi=bn.layout.get("text-rotate").evaluate(Ri,{})*Math.PI/180,no=[];for(let Wi of Ma.positionedLines)for(let Ni of Wi.positionedGlyphs){if(!Ni.rect)continue;let In=Ni.rect||{},uo=fM+1,ro=!0,No=1,Pl=0,Tl=(ei||Ci)&&Ni.vertical,Bc=Ni.metrics.advance*Ni.scale/2;if(Ci&&Ma.verticalizable&&(Pl=Wi.lineOffset/2-(Ni.imageName?-(Mc-Ni.metrics.width*Ni.scale)/2:(Ni.scale-1)*Mc)),Ni.imageName){let Ws=To[Ni.imageName];ro=Ws.sdf,No=Ws.pixelRatio,uo=ph/No}let Oh=ei?[Ni.x+Bc,Ni.y]:[0,0],Sf=ei?[0,0]:[Ni.x+Bc+qa[0],Ni.y+qa[1]-Pl],Oc=[0,0];Tl&&(Oc=Sf,Sf=[0,0]);let rh=Ni.metrics.isDoubleResolution?2:1,ah=(Ni.metrics.left-uo)*Ni.scale-Bc+Sf[0],nh=(-Ni.metrics.top-uo)*Ni.scale+Sf[1],ju=ah+In.w/rh*Ni.scale/No,Nc=nh+In.h/rh*Ni.scale/No,Uf=new n(ah,nh),Ef=new n(ju,nh),ih=new n(ah,Nc),kf=new n(ju,Nc);if(Tl){let Ws=new n(-Bc,Bc-qm),Bl=-Math.PI/2,Wl=Mc/2-Bc,Th=new n(5-qm-Wl,-(Ni.imageName?Wl:0)),Cu=new n(...Oc);Uf._rotateAround(Bl,Ws)._add(Th)._add(Cu),Ef._rotateAround(Bl,Ws)._add(Th)._add(Cu),ih._rotateAround(Bl,Ws)._add(Th)._add(Cu),kf._rotateAround(Bl,Ws)._add(Th)._add(Cu)}if(wi){let Ws=Math.sin(wi),Bl=Math.cos(wi),Wl=[Bl,-Ws,Ws,Bl];Uf._matMult(Wl),Ef._matMult(Wl),ih._matMult(Wl),kf._matMult(Wl)}let Ph=new n(0,0),mh=new n(0,0);no.push({tl:Uf,tr:Ef,bl:ih,br:kf,tex:In,writingMode:Ma.writingMode,glyphOffset:Oh,sectionIndex:Ni.sectionIndex,isSDF:ro,pixelOffsetTL:Ph,pixelOffsetBR:mh,minFontScaleX:0,minFontScaleY:0})}return no}(0,W,Ye,ge,ke,Pe,se,G.allowVerticalPlacement),Qr=G.textSizeData,la=null;Qr.kind==="source"?(la=[pd*ge.layout.get("text-size").evaluate(Pe,{})],la[0]>sv&&_(`${G.layerIds[0]}: Value for "text-size" is >= ${Vm}. Reduce your "text-size".`)):Qr.kind==="composite"&&(la=[pd*sr.compositeTextSizes[0].evaluate(Pe,{},xr),pd*sr.compositeTextSizes[1].evaluate(Pe,{},xr)],(la[0]>sv||la[1]>sv)&&_(`${G.layerIds[0]}: Value for "text-size" is >= ${Vm}. Reduce your "text-size".`)),G.addSymbols(G.text,Er,la,Ye,ke,Pe,pt,P,at.lineStartIndex,at.lineLength,er,xr);for(let Ka of Et)Vt[Ka]=G.text.placedSymbolArray.length-1;return 4*Er.length}function $M(G){for(let P in G)return G[P];return null}function OV(G,P,W,se){let ge=G.compareText;if(P in ge){let ke=ge[P];for(let Pe=ke.length-1;Pe>=0;Pe--)if(se.dist(ke[Pe])>4;if(ge!==1)throw new Error(`Got v${ge} data when expected v1.`);let ke=KM[15&se];if(!ke)throw new Error("Unrecognized array type.");let[Pe]=new Uint16Array(P,2,1),[Ye]=new Uint32Array(P,4,1);return new E2(Ye,Pe,ke,P)}constructor(P,W=64,se=Float64Array,ge){if(isNaN(P)||P<0)throw new Error(`Unpexpected numItems value: ${P}.`);this.numItems=+P,this.nodeSize=Math.min(Math.max(+W,2),65535),this.ArrayType=se,this.IndexArrayType=P<65536?Uint16Array:Uint32Array;let ke=KM.indexOf(this.ArrayType),Pe=2*P*this.ArrayType.BYTES_PER_ELEMENT,Ye=P*this.IndexArrayType.BYTES_PER_ELEMENT,at=(8-Ye%8)%8;if(ke<0)throw new Error(`Unexpected typed array class: ${se}.`);ge&&ge instanceof ArrayBuffer?(this.data=ge,this.ids=new this.IndexArrayType(this.data,8,P),this.coords=new this.ArrayType(this.data,8+Ye+at,2*P),this._pos=2*P,this._finished=!0):(this.data=new ArrayBuffer(8+Pe+Ye+at),this.ids=new this.IndexArrayType(this.data,8,P),this.coords=new this.ArrayType(this.data,8+Ye+at,2*P),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+ke]),new Uint16Array(this.data,2,1)[0]=W,new Uint32Array(this.data,4,1)[0]=P)}add(P,W){let se=this._pos>>1;return this.ids[se]=se,this.coords[this._pos++]=P,this.coords[this._pos++]=W,se}finish(){let P=this._pos>>1;if(P!==this.numItems)throw new Error(`Added ${P} items when expected ${this.numItems}.`);return k2(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(P,W,se,ge){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:ke,coords:Pe,nodeSize:Ye}=this,at=[0,ke.length-1,0],pt=[];for(;at.length;){let Et=at.pop()||0,Vt=at.pop()||0,er=at.pop()||0;if(Vt-er<=Ye){for(let Qr=er;Qr<=Vt;Qr++){let la=Pe[2*Qr],Ka=Pe[2*Qr+1];la>=P&&la<=se&&Ka>=W&&Ka<=ge&&pt.push(ke[Qr])}continue}let sr=er+Vt>>1,xr=Pe[2*sr],Er=Pe[2*sr+1];xr>=P&&xr<=se&&Er>=W&&Er<=ge&&pt.push(ke[sr]),(Et===0?P<=xr:W<=Er)&&(at.push(er),at.push(sr-1),at.push(1-Et)),(Et===0?se>=xr:ge>=Er)&&(at.push(sr+1),at.push(Vt),at.push(1-Et))}return pt}within(P,W,se){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:ge,coords:ke,nodeSize:Pe}=this,Ye=[0,ge.length-1,0],at=[],pt=se*se;for(;Ye.length;){let Et=Ye.pop()||0,Vt=Ye.pop()||0,er=Ye.pop()||0;if(Vt-er<=Pe){for(let Qr=er;Qr<=Vt;Qr++)QM(ke[2*Qr],ke[2*Qr+1],P,W)<=pt&&at.push(ge[Qr]);continue}let sr=er+Vt>>1,xr=ke[2*sr],Er=ke[2*sr+1];QM(xr,Er,P,W)<=pt&&at.push(ge[sr]),(Et===0?P-se<=xr:W-se<=Er)&&(Ye.push(er),Ye.push(sr-1),Ye.push(1-Et)),(Et===0?P+se>=xr:W+se>=Er)&&(Ye.push(sr+1),Ye.push(Vt),Ye.push(1-Et))}return at}}function k2(G,P,W,se,ge,ke){if(ge-se<=W)return;let Pe=se+ge>>1;JM(G,P,Pe,se,ge,ke),k2(G,P,W,se,Pe-1,1-ke),k2(G,P,W,Pe+1,ge,1-ke)}function JM(G,P,W,se,ge,ke){for(;ge>se;){if(ge-se>600){let pt=ge-se+1,Et=W-se+1,Vt=Math.log(pt),er=.5*Math.exp(2*Vt/3),sr=.5*Math.sqrt(Vt*er*(pt-er)/pt)*(Et-pt/2<0?-1:1);JM(G,P,W,Math.max(se,Math.floor(W-Et*er/pt+sr)),Math.min(ge,Math.floor(W+(pt-Et)*er/pt+sr)),ke)}let Pe=P[2*W+ke],Ye=se,at=ge;for(Ym(G,P,se,W),P[2*ge+ke]>Pe&&Ym(G,P,se,ge);YePe;)at--}P[2*se+ke]===Pe?Ym(G,P,se,at):(at++,Ym(G,P,at,ge)),at<=W&&(se=at+1),W<=at&&(ge=at-1)}}function Ym(G,P,W,se){C2(G,W,se),C2(P,2*W,2*se),C2(P,2*W+1,2*se+1)}function C2(G,P,W){let se=G[P];G[P]=G[W],G[W]=se}function QM(G,P,W,se){let ge=G-W,ke=P-se;return ge*ge+ke*ke}var L2;l.bg=void 0,(L2=l.bg||(l.bg={})).create="create",L2.load="load",L2.fullLoad="fullLoad";let Og=null,Xm=[],P2=1e3/60,R2="loadTime",I2="fullLoadTime",NV={mark(G){performance.mark(G)},frame(G){let P=G;Og!=null&&Xm.push(P-Og),Og=P},clearMetrics(){Og=null,Xm=[],performance.clearMeasures(R2),performance.clearMeasures(I2);for(let G in l.bg)performance.clearMarks(l.bg[G])},getPerformanceMetrics(){performance.measure(R2,l.bg.create,l.bg.load),performance.measure(I2,l.bg.create,l.bg.fullLoad);let G=performance.getEntriesByName(R2)[0].duration,P=performance.getEntriesByName(I2)[0].duration,W=Xm.length,se=1/(Xm.reduce((ke,Pe)=>ke+Pe,0)/W/1e3),ge=Xm.filter(ke=>ke>P2).reduce((ke,Pe)=>ke+(Pe-P2)/P2,0);return{loadTime:G,fullLoadTime:P,fps:se,percentDroppedFrames:ge/(W+ge)*100,totalFrames:W}}};l.$=class extends Gt{},l.A=ha,l.B=Ja,l.C=function(G){if(F==null){let P=G.navigator?G.navigator.userAgent:null;F=!!G.safari||!(!P||!(/\b(iPad|iPhone|iPod)\b/.test(P)||P.match("Safari")&&!P.match("Chrome")))}return F},l.D=ki,l.E=Q,l.F=class{constructor(G,P){this.target=G,this.mapId=P,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new LV(()=>this.process()),this.subscription=function(W,se,ge,ke){return W.addEventListener(se,ge,!1),{unsubscribe:()=>{W.removeEventListener(se,ge,!1)}}}(this.target,"message",W=>this.receive(W)),this.globalScope=C(self)?G:window}registerMessageHandler(G,P){this.messageHandlers[G]=P}sendAsync(G,P){return new Promise((W,se)=>{let ge=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[ge]={resolve:W,reject:se},P&&P.signal.addEventListener("abort",()=>{delete this.resolveRejects[ge];let Ye={id:ge,type:"",origin:location.origin,targetMapId:G.targetMapId,sourceMapId:this.mapId};this.target.postMessage(Ye)},{once:!0});let ke=[],Pe=Object.assign(Object.assign({},G),{id:ge,sourceMapId:this.mapId,origin:location.origin,data:fi(G.data,ke)});this.target.postMessage(Pe,{transfer:ke})})}receive(G){let P=G.data,W=P.id;if(!(P.origin!=="file://"&&location.origin!=="file://"&&P.origin!=="resource://android"&&location.origin!=="resource://android"&&P.origin!==location.origin||P.targetMapId&&this.mapId!==P.targetMapId)){if(P.type===""){delete this.tasks[W];let se=this.abortControllers[W];return delete this.abortControllers[W],void(se&&se.abort())}if(C(self)||P.mustQueue)return this.tasks[W]=P,this.taskQueue.push(W),void this.invoker.trigger();this.processTask(W,P)}}process(){if(this.taskQueue.length===0)return;let G=this.taskQueue.shift(),P=this.tasks[G];delete this.tasks[G],this.taskQueue.length>0&&this.invoker.trigger(),P&&this.processTask(G,P)}processTask(G,P){return e(this,void 0,void 0,function*(){if(P.type===""){let ge=this.resolveRejects[G];return delete this.resolveRejects[G],ge?void(P.error?ge.reject(Ti(P.error)):ge.resolve(Ti(P.data))):void 0}if(!this.messageHandlers[P.type])return void this.completeTask(G,new Error(`Could not find a registered handler for ${P.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(", ")}`));let W=Ti(P.data),se=new AbortController;this.abortControllers[G]=se;try{let ge=yield this.messageHandlers[P.type](P.sourceMapId,W,se);this.completeTask(G,null,ge)}catch(ge){this.completeTask(G,ge)}})}completeTask(G,P,W){let se=[];delete this.abortControllers[G];let ge={id:G,type:"",sourceMapId:this.mapId,origin:location.origin,error:P?fi(P):null,data:fi(W,se)};this.target.postMessage(ge,{transfer:se})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},l.G=te,l.H=function(){var G=new ha(16);return ha!=Float32Array&&(G[1]=0,G[2]=0,G[3]=0,G[4]=0,G[6]=0,G[7]=0,G[8]=0,G[9]=0,G[11]=0,G[12]=0,G[13]=0,G[14]=0),G[0]=1,G[5]=1,G[10]=1,G[15]=1,G},l.I=v2,l.J=function(G,P,W){var se,ge,ke,Pe,Ye,at,pt,Et,Vt,er,sr,xr,Er=W[0],Qr=W[1],la=W[2];return P===G?(G[12]=P[0]*Er+P[4]*Qr+P[8]*la+P[12],G[13]=P[1]*Er+P[5]*Qr+P[9]*la+P[13],G[14]=P[2]*Er+P[6]*Qr+P[10]*la+P[14],G[15]=P[3]*Er+P[7]*Qr+P[11]*la+P[15]):(ge=P[1],ke=P[2],Pe=P[3],Ye=P[4],at=P[5],pt=P[6],Et=P[7],Vt=P[8],er=P[9],sr=P[10],xr=P[11],G[0]=se=P[0],G[1]=ge,G[2]=ke,G[3]=Pe,G[4]=Ye,G[5]=at,G[6]=pt,G[7]=Et,G[8]=Vt,G[9]=er,G[10]=sr,G[11]=xr,G[12]=se*Er+Ye*Qr+Vt*la+P[12],G[13]=ge*Er+at*Qr+er*la+P[13],G[14]=ke*Er+pt*Qr+sr*la+P[14],G[15]=Pe*Er+Et*Qr+xr*la+P[15]),G},l.K=function(G,P,W){var se=W[0],ge=W[1],ke=W[2];return G[0]=P[0]*se,G[1]=P[1]*se,G[2]=P[2]*se,G[3]=P[3]*se,G[4]=P[4]*ge,G[5]=P[5]*ge,G[6]=P[6]*ge,G[7]=P[7]*ge,G[8]=P[8]*ke,G[9]=P[9]*ke,G[10]=P[10]*ke,G[11]=P[11]*ke,G[12]=P[12],G[13]=P[13],G[14]=P[14],G[15]=P[15],G},l.L=ia,l.M=function(G,P){let W={};for(let se=0;se{let P=window.document.createElement("video");return P.muted=!0,new Promise(W=>{P.onloadstart=()=>{W(P)};for(let se of G){let ge=window.document.createElement("source");K(se)||(P.crossOrigin="Anonymous"),ge.src=se,P.appendChild(ge)}})},l.a4=function(){return g++},l.a5=un,l.a6=e0,l.a7=Bu,l.a8=nl,l.a9=FM,l.aA=function(G){if(G.type==="custom")return new CV(G);switch(G.type){case"background":return new SV(G);case"circle":return new na(G);case"fill":return new Wt(G);case"fill-extrusion":return new HG(G);case"heatmap":return new Wn(G);case"hillshade":return new As(G);case"line":return new QG(G);case"raster":return new kV(G);case"symbol":return new Ig(G)}},l.aB=h,l.aC=function(G,P){if(!G)return[{command:"setStyle",args:[P]}];let W=[];try{if(!ye(G.version,P.version))return[{command:"setStyle",args:[P]}];ye(G.center,P.center)||W.push({command:"setCenter",args:[P.center]}),ye(G.zoom,P.zoom)||W.push({command:"setZoom",args:[P.zoom]}),ye(G.bearing,P.bearing)||W.push({command:"setBearing",args:[P.bearing]}),ye(G.pitch,P.pitch)||W.push({command:"setPitch",args:[P.pitch]}),ye(G.sprite,P.sprite)||W.push({command:"setSprite",args:[P.sprite]}),ye(G.glyphs,P.glyphs)||W.push({command:"setGlyphs",args:[P.glyphs]}),ye(G.transition,P.transition)||W.push({command:"setTransition",args:[P.transition]}),ye(G.light,P.light)||W.push({command:"setLight",args:[P.light]}),ye(G.terrain,P.terrain)||W.push({command:"setTerrain",args:[P.terrain]}),ye(G.sky,P.sky)||W.push({command:"setSky",args:[P.sky]}),ye(G.projection,P.projection)||W.push({command:"setProjection",args:[P.projection]});let se={},ge=[];(function(Pe,Ye,at,pt){let Et;for(Et in Ye=Ye||{},Pe=Pe||{})Object.prototype.hasOwnProperty.call(Pe,Et)&&(Object.prototype.hasOwnProperty.call(Ye,Et)||Ce(Et,at,pt));for(Et in Ye)Object.prototype.hasOwnProperty.call(Ye,Et)&&(Object.prototype.hasOwnProperty.call(Pe,Et)?ye(Pe[Et],Ye[Et])||(Pe[Et].type==="geojson"&&Ye[Et].type==="geojson"&&Ue(Pe,Ye,Et)?Ae(at,{command:"setGeoJSONSourceData",args:[Et,Ye[Et].data]}):qe(Et,Ye,at,pt)):Se(Et,Ye,at))})(G.sources,P.sources,ge,se);let ke=[];G.layers&&G.layers.forEach(Pe=>{"source"in Pe&&se[Pe.source]?W.push({command:"removeLayer",args:[Pe.id]}):ke.push(Pe)}),W=W.concat(ge),function(Pe,Ye,at){Ye=Ye||[];let pt=(Pe=Pe||[]).map(he),Et=Ye.map(he),Vt=Pe.reduce(oe,{}),er=Ye.reduce(oe,{}),sr=pt.slice(),xr=Object.create(null),Er,Qr,la,Ka,Ma;for(let qa=0,bn=0;qa@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(W,se,ge,ke)=>{let Pe=ge||ke;return P[se]=!Pe||Pe.toLowerCase(),""}),P["max-age"]){let W=parseInt(P["max-age"],10);isNaN(W)?delete P["max-age"]:P["max-age"]=W}return P},l.ab=function(G,P){let W=[];for(let se in G)se in P||W.push(se);return W},l.ac=M,l.ad=function(G,P,W){var se=Math.sin(W),ge=Math.cos(W),ke=P[0],Pe=P[1],Ye=P[2],at=P[3],pt=P[4],Et=P[5],Vt=P[6],er=P[7];return P!==G&&(G[8]=P[8],G[9]=P[9],G[10]=P[10],G[11]=P[11],G[12]=P[12],G[13]=P[13],G[14]=P[14],G[15]=P[15]),G[0]=ke*ge+pt*se,G[1]=Pe*ge+Et*se,G[2]=Ye*ge+Vt*se,G[3]=at*ge+er*se,G[4]=pt*ge-ke*se,G[5]=Et*ge-Pe*se,G[6]=Vt*ge-Ye*se,G[7]=er*ge-at*se,G},l.ae=function(G){var P=new ha(16);return P[0]=G[0],P[1]=G[1],P[2]=G[2],P[3]=G[3],P[4]=G[4],P[5]=G[5],P[6]=G[6],P[7]=G[7],P[8]=G[8],P[9]=G[9],P[10]=G[10],P[11]=G[11],P[12]=G[12],P[13]=G[13],P[14]=G[14],P[15]=G[15],P},l.af=Sn,l.ag=function(G,P){let W=0,se=0;if(G.kind==="constant")se=G.layoutSize;else if(G.kind!=="source"){let{interpolationType:ge,minZoom:ke,maxZoom:Pe}=G,Ye=ge?M(jn.interpolationFactor(ge,P,ke,Pe),0,1):0;G.kind==="camera"?se=ui.number(G.minSize,G.maxSize,Ye):W=Ye}return{uSizeT:W,uSize:se}},l.ai=function(G,{uSize:P,uSizeT:W},{lowerSize:se,upperSize:ge}){return G.kind==="source"?se/pd:G.kind==="composite"?ui.number(se/pd,ge/pd,W):P},l.aj=y2,l.ak=function(G,P,W,se){let ge=P.y-G.y,ke=P.x-G.x,Pe=se.y-W.y,Ye=se.x-W.x,at=Pe*ke-Ye*ge;if(at===0)return null;let pt=(Ye*(G.y-W.y)-Pe*(G.x-W.x))/at;return new n(G.x+pt*ke,G.y+pt*ge)},l.al=NM,l.am=dc,l.an=Ea,l.ao=function(G){let P=1/0,W=1/0,se=-1/0,ge=-1/0;for(let ke of G)P=Math.min(P,ke.x),W=Math.min(W,ke.y),se=Math.max(se,ke.x),ge=Math.max(ge,ke.y);return[P,W,se,ge]},l.ap=Mc,l.ar=g2,l.as=function(G,P){var W=P[0],se=P[1],ge=P[2],ke=P[3],Pe=P[4],Ye=P[5],at=P[6],pt=P[7],Et=P[8],Vt=P[9],er=P[10],sr=P[11],xr=P[12],Er=P[13],Qr=P[14],la=P[15],Ka=W*Ye-se*Pe,Ma=W*at-ge*Pe,qa=W*pt-ke*Pe,bn=se*at-ge*Ye,ei=se*pt-ke*Ye,Ri=ge*pt-ke*at,To=Et*Er-Vt*xr,Ci=Et*Qr-er*xr,wi=Et*la-sr*xr,no=Vt*Qr-er*Er,Wi=Vt*la-sr*Er,Ni=er*la-sr*Qr,In=Ka*Ni-Ma*Wi+qa*no+bn*wi-ei*Ci+Ri*To;return In?(G[0]=(Ye*Ni-at*Wi+pt*no)*(In=1/In),G[1]=(ge*Wi-se*Ni-ke*no)*In,G[2]=(Er*Ri-Qr*ei+la*bn)*In,G[3]=(er*ei-Vt*Ri-sr*bn)*In,G[4]=(at*wi-Pe*Ni-pt*Ci)*In,G[5]=(W*Ni-ge*wi+ke*Ci)*In,G[6]=(Qr*qa-xr*Ri-la*Ma)*In,G[7]=(Et*Ri-er*qa+sr*Ma)*In,G[8]=(Pe*Wi-Ye*wi+pt*To)*In,G[9]=(se*wi-W*Wi-ke*To)*In,G[10]=(xr*ei-Er*qa+la*Ka)*In,G[11]=(Vt*qa-Et*ei-sr*Ka)*In,G[12]=(Ye*Ci-Pe*no-at*To)*In,G[13]=(W*no-se*Ci+ge*To)*In,G[14]=(Er*Ma-xr*bn-Qr*Ka)*In,G[15]=(Et*bn-Vt*Ma+er*Ka)*In,G):null},l.at=S2,l.au=m2,l.av=E2,l.aw=function(){let G={},P=re.$version;for(let W in re.$root){let se=re.$root[W];if(se.required){let ge=null;ge=W==="version"?P:se.type==="array"?[]:{},ge!=null&&(G[W]=ge)}}return G},l.ax=Un,l.ay=U,l.az=function(G){G=G.slice();let P=Object.create(null);for(let W=0;W25||se<0||se>=1||W<0||W>=1)},l.bc=function(G,P){return G[0]=P[0],G[1]=0,G[2]=0,G[3]=0,G[4]=0,G[5]=P[1],G[6]=0,G[7]=0,G[8]=0,G[9]=0,G[10]=P[2],G[11]=0,G[12]=0,G[13]=0,G[14]=0,G[15]=1,G},l.bd=class extends Mt{},l.be=w2,l.bf=NV,l.bh=ae,l.bi=function(G,P){Y.REGISTERED_PROTOCOLS[G]=P},l.bj=function(G){delete Y.REGISTERED_PROTOCOLS[G]},l.bk=function(G,P){let W={};for(let ge=0;geNi*Mc)}let Ci=Pe?"center":W.get("text-justify").evaluate(pt,{},G.canonical),wi=W.get("symbol-placement")==="point"?W.get("text-max-width").evaluate(pt,{},G.canonical)*Mc:1/0,no=()=>{G.bucket.allowVerticalPlacement&&Oi(qa)&&(xr.vertical=Lg(Er,G.glyphMap,G.glyphPositions,G.imagePositions,Et,wi,ke,Ri,"left",ei,la,l.ah.vertical,!0,er,Vt))};if(!Pe&&To){let Wi=new Set;if(Ci==="auto")for(let In=0;Ine(void 0,void 0,void 0,function*(){if(G.byteLength===0)return createImageBitmap(new ImageData(1,1));let P=new Blob([new Uint8Array(G)],{type:"image/png"});try{return createImageBitmap(P)}catch(W){throw new Error(`Could not load image because of ${W.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}}),l.e=E,l.f=G=>new Promise((P,W)=>{let se=new Image;se.onload=()=>{P(se),URL.revokeObjectURL(se.src),se.onload=null,window.requestAnimationFrame(()=>{se.src=z})},se.onerror=()=>W(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 ge=new Blob([new Uint8Array(G)],{type:"image/png"});se.src=G.byteLength?URL.createObjectURL(ge):z}),l.g=ee,l.h=(G,P)=>H(E(G,{type:"json"}),P),l.i=C,l.j=Z,l.k=X,l.l=(G,P)=>H(E(G,{type:"arrayBuffer"}),P),l.m=H,l.n=function(G){return new h2(G).readFields(vV,[])},l.o=Vn,l.p=hM,l.q=Me,l.r=za,l.s=K,l.t=Ba,l.u=ma,l.v=re,l.w=_,l.x=function([G,P,W]){return P+=90,P*=Math.PI/180,W*=Math.PI/180,{x:G*Math.cos(P)*Math.sin(W),y:G*Math.sin(P)*Math.sin(W),z:G*Math.cos(W)}},l.y=ui,l.z=Do}),w("worker",["./shared"],function(l){"use strict";class e{constructor(Ee){this.keyCache={},Ee&&this.replace(Ee)}replace(Ee){this._layerConfigs={},this._layers={},this.update(Ee,[])}update(Ee,ze){for(let _e of Ee){this._layerConfigs[_e.id]=_e;let Ie=this._layers[_e.id]=l.aA(_e);Ie._featureFilter=l.a7(Ie.filter),this.keyCache[_e.id]&&delete this.keyCache[_e.id]}for(let _e of ze)delete this.keyCache[_e],delete this._layerConfigs[_e],delete this._layers[_e];this.familiesBySource={};let ve=l.bk(Object.values(this._layerConfigs),this.keyCache);for(let _e of ve){let Ie=_e.map(ht=>this._layers[ht.id]),Be=Ie[0];if(Be.visibility==="none")continue;let We=Be.source||"",Xe=this.familiesBySource[We];Xe||(Xe=this.familiesBySource[We]={});let mt=Be.sourceLayer||"_geojsonTileLayer",ft=Xe[mt];ft||(ft=Xe[mt]=[]),ft.push(Ie)}}}class t{constructor(Ee){let ze={},ve=[];for(let We in Ee){let Xe=Ee[We],mt=ze[We]={};for(let ft in Xe){let ht=Xe[+ft];if(!ht||ht.bitmap.width===0||ht.bitmap.height===0)continue;let gt={x:0,y:0,w:ht.bitmap.width+2,h:ht.bitmap.height+2};ve.push(gt),mt[ft]={rect:gt,metrics:ht.metrics}}}let{w:_e,h:Ie}=l.p(ve),Be=new l.o({width:_e||1,height:Ie||1});for(let We in Ee){let Xe=Ee[We];for(let mt in Xe){let ft=Xe[+mt];if(!ft||ft.bitmap.width===0||ft.bitmap.height===0)continue;let ht=ze[We][mt].rect;l.o.copy(ft.bitmap,Be,{x:0,y:0},{x:ht.x+1,y:ht.y+1},ft.bitmap)}}this.image=Be,this.positions=ze}}l.bl("GlyphAtlas",t);class a{constructor(Ee){this.tileID=new l.S(Ee.tileID.overscaledZ,Ee.tileID.wrap,Ee.tileID.canonical.z,Ee.tileID.canonical.x,Ee.tileID.canonical.y),this.uid=Ee.uid,this.zoom=Ee.zoom,this.pixelRatio=Ee.pixelRatio,this.tileSize=Ee.tileSize,this.source=Ee.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=Ee.showCollisionBoxes,this.collectResourceTiming=!!Ee.collectResourceTiming,this.returnDependencies=!!Ee.returnDependencies,this.promoteId=Ee.promoteId,this.inFlightDependencies=[]}parse(Ee,ze,ve,_e){return l._(this,void 0,void 0,function*(){this.status="parsing",this.data=Ee,this.collisionBoxArray=new l.a5;let Ie=new l.bm(Object.keys(Ee.layers).sort()),Be=new l.bn(this.tileID,this.promoteId);Be.bucketLayerIDs=[];let We={},Xe={featureIndex:Be,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:ve},mt=ze.familiesBySource[this.source];for(let oa in mt){let aa=Ee.layers[oa];if(!aa)continue;aa.version===1&&l.w(`Vector tile source "${this.source}" layer "${oa}" does not use vector tile spec v2 and therefore may have some rendering errors.`);let ka=Ie.encode(oa),Ta=[];for(let Da=0;Da=La.maxzoom||La.visibility!=="none"&&(r(Da,this.zoom,ve),(We[La.id]=La.createBucket({index:Be.bucketLayerIDs.length,layers:Da,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:ka,sourceID:this.source})).populate(Ta,Xe,this.tileID.canonical),Be.bucketLayerIDs.push(Da.map(Ga=>Ga.id)))}}let ft=l.aF(Xe.glyphDependencies,oa=>Object.keys(oa).map(Number));this.inFlightDependencies.forEach(oa=>oa?.abort()),this.inFlightDependencies=[];let ht=Promise.resolve({});if(Object.keys(ft).length){let oa=new AbortController;this.inFlightDependencies.push(oa),ht=_e.sendAsync({type:"GG",data:{stacks:ft,source:this.source,tileID:this.tileID,type:"glyphs"}},oa)}let gt=Object.keys(Xe.iconDependencies),_t=Promise.resolve({});if(gt.length){let oa=new AbortController;this.inFlightDependencies.push(oa),_t=_e.sendAsync({type:"GI",data:{icons:gt,source:this.source,tileID:this.tileID,type:"icons"}},oa)}let Ft=Object.keys(Xe.patternDependencies),St=Promise.resolve({});if(Ft.length){let oa=new AbortController;this.inFlightDependencies.push(oa),St=_e.sendAsync({type:"GI",data:{icons:Ft,source:this.source,tileID:this.tileID,type:"patterns"}},oa)}let[hr,jr,ra]=yield Promise.all([ht,_t,St]),$r=new t(hr),pa=new l.bo(jr,ra);for(let oa in We){let aa=We[oa];aa instanceof l.a6?(r(aa.layers,this.zoom,ve),l.bp({bucket:aa,glyphMap:hr,glyphPositions:$r.positions,imageMap:jr,imagePositions:pa.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):aa.hasPattern&&(aa instanceof l.bq||aa instanceof l.br||aa instanceof l.bs)&&(r(aa.layers,this.zoom,ve),aa.addFeatures(Xe,this.tileID.canonical,pa.patternPositions))}return this.status="done",{buckets:Object.values(We).filter(oa=>!oa.isEmpty()),featureIndex:Be,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:$r.image,imageAtlas:pa,glyphMap:this.returnDependencies?hr:null,iconMap:this.returnDependencies?jr:null,glyphPositions:this.returnDependencies?$r.positions:null}})}}function r(nt,Ee,ze){let ve=new l.z(Ee);for(let _e of nt)_e.recalculate(ve,ze)}class n{constructor(Ee,ze,ve){this.actor=Ee,this.layerIndex=ze,this.availableImages=ve,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(Ee,ze){return l._(this,void 0,void 0,function*(){let ve=yield l.l(Ee.request,ze);try{return{vectorTile:new l.bt.VectorTile(new l.bu(ve.data)),rawData:ve.data,cacheControl:ve.cacheControl,expires:ve.expires}}catch(_e){let Ie=new Uint8Array(ve.data),Be=`Unable to parse the tile at ${Ee.request.url}, `;throw Be+=Ie[0]===31&&Ie[1]===139?"please make sure the data is not gzipped and that you have configured the relevant header in the server":`got error: ${_e.message}`,new Error(Be)}})}loadTile(Ee){return l._(this,void 0,void 0,function*(){let ze=Ee.uid,ve=!!(Ee&&Ee.request&&Ee.request.collectResourceTiming)&&new l.bv(Ee.request),_e=new a(Ee);this.loading[ze]=_e;let Ie=new AbortController;_e.abort=Ie;try{let Be=yield this.loadVectorTile(Ee,Ie);if(delete this.loading[ze],!Be)return null;let We=Be.rawData,Xe={};Be.expires&&(Xe.expires=Be.expires),Be.cacheControl&&(Xe.cacheControl=Be.cacheControl);let mt={};if(ve){let ht=ve.finish();ht&&(mt.resourceTiming=JSON.parse(JSON.stringify(ht)))}_e.vectorTile=Be.vectorTile;let ft=_e.parse(Be.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[ze]=_e,this.fetching[ze]={rawTileData:We,cacheControl:Xe,resourceTiming:mt};try{let ht=yield ft;return l.e({rawTileData:We.slice(0)},ht,Xe,mt)}finally{delete this.fetching[ze]}}catch(Be){throw delete this.loading[ze],_e.status="done",this.loaded[ze]=_e,Be}})}reloadTile(Ee){return l._(this,void 0,void 0,function*(){let ze=Ee.uid;if(!this.loaded||!this.loaded[ze])throw new Error("Should not be trying to reload a tile that was never loaded or has been removed");let ve=this.loaded[ze];if(ve.showCollisionBoxes=Ee.showCollisionBoxes,ve.status==="parsing"){let _e=yield ve.parse(ve.vectorTile,this.layerIndex,this.availableImages,this.actor),Ie;if(this.fetching[ze]){let{rawTileData:Be,cacheControl:We,resourceTiming:Xe}=this.fetching[ze];delete this.fetching[ze],Ie=l.e({rawTileData:Be.slice(0)},_e,We,Xe)}else Ie=_e;return Ie}if(ve.status==="done"&&ve.vectorTile)return ve.parse(ve.vectorTile,this.layerIndex,this.availableImages,this.actor)})}abortTile(Ee){return l._(this,void 0,void 0,function*(){let ze=this.loading,ve=Ee.uid;ze&&ze[ve]&&ze[ve].abort&&(ze[ve].abort.abort(),delete ze[ve])})}removeTile(Ee){return l._(this,void 0,void 0,function*(){this.loaded&&this.loaded[Ee.uid]&&delete this.loaded[Ee.uid]})}}class i{constructor(){this.loaded={}}loadTile(Ee){return l._(this,void 0,void 0,function*(){let{uid:ze,encoding:ve,rawImageData:_e,redFactor:Ie,greenFactor:Be,blueFactor:We,baseShift:Xe}=Ee,mt=_e.width+2,ft=_e.height+2,ht=l.b(_e)?new l.R({width:mt,height:ft},yield l.bw(_e,-1,-1,mt,ft)):_e,gt=new l.bx(ze,ht,ve,Ie,Be,We,Xe);return this.loaded=this.loaded||{},this.loaded[ze]=gt,gt})}removeTile(Ee){let ze=this.loaded,ve=Ee.uid;ze&&ze[ve]&&delete ze[ve]}}function s(nt,Ee){if(nt.length!==0){c(nt[0],Ee);for(var ze=1;ze=Math.abs(We)?ze-Xe+We:We-Xe+ze,ze=Xe}ze+ve>=0!=!!Ee&&nt.reverse()}var p=l.by(function nt(Ee,ze){var ve,_e=Ee&&Ee.type;if(_e==="FeatureCollection")for(ve=0;ve>31}function C(nt,Ee){for(var ze=nt.loadGeometry(),ve=nt.type,_e=0,Ie=0,Be=ze.length,We=0;Went},D=Math.fround||(k=new Float32Array(1),nt=>(k[0]=+nt,k[0]));var k;let B=3,O=5,q=6;class Y{constructor(Ee){this.options=Object.assign(Object.create(z),Ee),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(Ee){let{log:ze,minZoom:ve,maxZoom:_e}=this.options;ze&&console.time("total time");let Ie=`prepare ${Ee.length} points`;ze&&console.time(Ie),this.points=Ee;let Be=[];for(let Xe=0;Xe=ve;Xe--){let mt=+Date.now();We=this.trees[Xe]=this._createTree(this._cluster(We,Xe)),ze&&console.log("z%d: %d clusters in %dms",Xe,We.numItems,+Date.now()-mt)}return ze&&console.timeEnd("total time"),this}getClusters(Ee,ze){let ve=((Ee[0]+180)%360+360)%360-180,_e=Math.max(-90,Math.min(90,Ee[1])),Ie=Ee[2]===180?180:((Ee[2]+180)%360+360)%360-180,Be=Math.max(-90,Math.min(90,Ee[3]));if(Ee[2]-Ee[0]>=360)ve=-180,Ie=180;else if(ve>Ie){let ht=this.getClusters([ve,_e,180,Be],ze),gt=this.getClusters([-180,_e,Ie,Be],ze);return ht.concat(gt)}let We=this.trees[this._limitZoom(ze)],Xe=We.range(ae(ve),U(Be),ae(Ie),U(_e)),mt=We.data,ft=[];for(let ht of Xe){let gt=this.stride*ht;ft.push(mt[gt+O]>1?ee(mt,gt,this.clusterProps):this.points[mt[gt+B]])}return ft}getChildren(Ee){let ze=this._getOriginId(Ee),ve=this._getOriginZoom(Ee),_e="No cluster with the specified id.",Ie=this.trees[ve];if(!Ie)throw new Error(_e);let Be=Ie.data;if(ze*this.stride>=Be.length)throw new Error(_e);let We=this.options.radius/(this.options.extent*Math.pow(2,ve-1)),Xe=Ie.within(Be[ze*this.stride],Be[ze*this.stride+1],We),mt=[];for(let ft of Xe){let ht=ft*this.stride;Be[ht+4]===Ee&&mt.push(Be[ht+O]>1?ee(Be,ht,this.clusterProps):this.points[Be[ht+B]])}if(mt.length===0)throw new Error(_e);return mt}getLeaves(Ee,ze,ve){let _e=[];return this._appendLeaves(_e,Ee,ze=ze||10,ve=ve||0,0),_e}getTile(Ee,ze,ve){let _e=this.trees[this._limitZoom(Ee)],Ie=Math.pow(2,Ee),{extent:Be,radius:We}=this.options,Xe=We/Be,mt=(ve-Xe)/Ie,ft=(ve+1+Xe)/Ie,ht={features:[]};return this._addTileFeatures(_e.range((ze-Xe)/Ie,mt,(ze+1+Xe)/Ie,ft),_e.data,ze,ve,Ie,ht),ze===0&&this._addTileFeatures(_e.range(1-Xe/Ie,mt,1,ft),_e.data,Ie,ve,Ie,ht),ze===Ie-1&&this._addTileFeatures(_e.range(0,mt,Xe/Ie,ft),_e.data,-1,ve,Ie,ht),ht.features.length?ht:null}getClusterExpansionZoom(Ee){let ze=this._getOriginZoom(Ee)-1;for(;ze<=this.options.maxZoom;){let ve=this.getChildren(Ee);if(ze++,ve.length!==1)break;Ee=ve[0].properties.cluster_id}return ze}_appendLeaves(Ee,ze,ve,_e,Ie){let Be=this.getChildren(ze);for(let We of Be){let Xe=We.properties;if(Xe&&Xe.cluster?Ie+Xe.point_count<=_e?Ie+=Xe.point_count:Ie=this._appendLeaves(Ee,Xe.cluster_id,ve,_e,Ie):Ie<_e?Ie++:Ee.push(We),Ee.length===ve)break}return Ie}_createTree(Ee){let ze=new l.av(Ee.length/this.stride|0,this.options.nodeSize,Float32Array);for(let ve=0;ve1,ft,ht,gt;if(mt)ft=te(ze,Xe,this.clusterProps),ht=ze[Xe],gt=ze[Xe+1];else{let St=this.points[ze[Xe+B]];ft=St.properties;let[hr,jr]=St.geometry.coordinates;ht=ae(hr),gt=U(jr)}let _t={type:1,geometry:[[Math.round(this.options.extent*(ht*Ie-ve)),Math.round(this.options.extent*(gt*Ie-_e))]],tags:ft},Ft;Ft=mt||this.options.generateId?ze[Xe+B]:this.points[ze[Xe+B]].id,Ft!==void 0&&(_t.id=Ft),Be.features.push(_t)}}_limitZoom(Ee){return Math.max(this.options.minZoom,Math.min(Math.floor(+Ee),this.options.maxZoom+1))}_cluster(Ee,ze){let{radius:ve,extent:_e,reduce:Ie,minPoints:Be}=this.options,We=ve/(_e*Math.pow(2,ze)),Xe=Ee.data,mt=[],ft=this.stride;for(let ht=0;htze&&(hr+=Xe[ra+O])}if(hr>St&&hr>=Be){let jr,ra=gt*St,$r=_t*St,pa=-1,oa=((ht/ft|0)<<5)+(ze+1)+this.points.length;for(let aa of Ft){let ka=aa*ft;if(Xe[ka+2]<=ze)continue;Xe[ka+2]=ze;let Ta=Xe[ka+O];ra+=Xe[ka]*Ta,$r+=Xe[ka+1]*Ta,Xe[ka+4]=oa,Ie&&(jr||(jr=this._map(Xe,ht,!0),pa=this.clusterProps.length,this.clusterProps.push(jr)),Ie(jr,this._map(Xe,ka)))}Xe[ht+4]=oa,mt.push(ra/hr,$r/hr,1/0,oa,-1,hr),Ie&&mt.push(pa)}else{for(let jr=0;jr1)for(let jr of Ft){let ra=jr*ft;if(!(Xe[ra+2]<=ze)){Xe[ra+2]=ze;for(let $r=0;$r>5}_getOriginZoom(Ee){return(Ee-this.points.length)%32}_map(Ee,ze,ve){if(Ee[ze+O]>1){let Be=this.clusterProps[Ee[ze+q]];return ve?Object.assign({},Be):Be}let _e=this.points[Ee[ze+B]].properties,Ie=this.options.map(_e);return ve&&Ie===_e?Object.assign({},Ie):Ie}}function ee(nt,Ee,ze){return{type:"Feature",id:nt[Ee+B],properties:te(nt,Ee,ze),geometry:{type:"Point",coordinates:[(ve=nt[Ee],360*(ve-.5)),H(nt[Ee+1])]}};var ve}function te(nt,Ee,ze){let ve=nt[Ee+O],_e=ve>=1e4?`${Math.round(ve/1e3)}k`:ve>=1e3?Math.round(ve/100)/10+"k":ve,Ie=nt[Ee+q],Be=Ie===-1?{}:Object.assign({},ze[Ie]);return Object.assign(Be,{cluster:!0,cluster_id:nt[Ee+B],point_count:ve,point_count_abbreviated:_e})}function ae(nt){return nt/360+.5}function U(nt){let Ee=Math.sin(nt*Math.PI/180),ze=.5-.25*Math.log((1+Ee)/(1-Ee))/Math.PI;return ze<0?0:ze>1?1:ze}function H(nt){let Ee=(180-360*nt)*Math.PI/180;return 360*Math.atan(Math.exp(Ee))/Math.PI-90}function K(nt,Ee,ze,ve){let _e=ve,Ie=Ee+(ze-Ee>>1),Be,We=ze-Ee,Xe=nt[Ee],mt=nt[Ee+1],ft=nt[ze],ht=nt[ze+1];for(let gt=Ee+3;gt_e)Be=gt,_e=_t;else if(_t===_e){let Ft=Math.abs(gt-Ie);Ftve&&(Be-Ee>3&&K(nt,Ee,Be,ve),nt[Be+2]=_e,ze-Be>3&&K(nt,Be,ze,ve))}function V(nt,Ee,ze,ve,_e,Ie){let Be=_e-ze,We=Ie-ve;if(Be!==0||We!==0){let Xe=((nt-ze)*Be+(Ee-ve)*We)/(Be*Be+We*We);Xe>1?(ze=_e,ve=Ie):Xe>0&&(ze+=Be*Xe,ve+=We*Xe)}return Be=nt-ze,We=Ee-ve,Be*Be+We*We}function $(nt,Ee,ze,ve){let _e={id:nt??null,type:Ee,geometry:ze,tags:ve,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(Ee==="Point"||Ee==="MultiPoint"||Ee==="LineString")X(_e,ze);else if(Ee==="Polygon")X(_e,ze[0]);else if(Ee==="MultiLineString")for(let Ie of ze)X(_e,Ie);else if(Ee==="MultiPolygon")for(let Ie of ze)X(_e,Ie[0]);return _e}function X(nt,Ee){for(let ze=0;ze0&&(Be+=ve?(_e*ft-mt*Ie)/2:Math.sqrt(Math.pow(mt-_e,2)+Math.pow(ft-Ie,2))),_e=mt,Ie=ft}let We=Ee.length-3;Ee[2]=1,K(Ee,0,We,ze),Ee[We+2]=1,Ee.size=Math.abs(Be),Ee.start=0,Ee.end=Ee.size}function ce(nt,Ee,ze,ve){for(let _e=0;_e1?1:ze}function Ae(nt,Ee,ze,ve,_e,Ie,Be,We){if(ve/=Ee,Ie>=(ze/=Ee)&&Be=ve)return null;let Xe=[];for(let mt of nt){let ft=mt.geometry,ht=mt.type,gt=_e===0?mt.minX:mt.minY,_t=_e===0?mt.maxX:mt.maxY;if(gt>=ze&&_t=ve)continue;let Ft=[];if(ht==="Point"||ht==="MultiPoint")Se(ft,Ft,ze,ve,_e);else if(ht==="LineString")Ce(ft,Ft,ze,ve,_e,!1,We.lineMetrics);else if(ht==="MultiLineString")Ue(ft,Ft,ze,ve,_e,!1);else if(ht==="Polygon")Ue(ft,Ft,ze,ve,_e,!0);else if(ht==="MultiPolygon")for(let St of ft){let hr=[];Ue(St,hr,ze,ve,_e,!0),hr.length&&Ft.push(hr)}if(Ft.length){if(We.lineMetrics&&ht==="LineString"){for(let St of Ft)Xe.push($(mt.id,ht,St,mt.tags));continue}ht!=="LineString"&&ht!=="MultiLineString"||(Ft.length===1?(ht="LineString",Ft=Ft[0]):ht="MultiLineString"),ht!=="Point"&&ht!=="MultiPoint"||(ht=Ft.length===3?"Point":"MultiPoint"),Xe.push($(mt.id,ht,Ft,mt.tags))}}return Xe.length?Xe:null}function Se(nt,Ee,ze,ve,_e){for(let Ie=0;Ie=ze&&Be<=ve&&xe(Ee,nt[Ie],nt[Ie+1],nt[Ie+2])}}function Ce(nt,Ee,ze,ve,_e,Ie,Be){let We=qe(nt),Xe=_e===0?he:oe,mt,ft,ht=nt.start;for(let hr=0;hrze&&(ft=Xe(We,jr,ra,pa,oa,ze),Be&&(We.start=ht+mt*ft)):aa>ve?ka=ze&&(ft=Xe(We,jr,ra,pa,oa,ze),Ta=!0),ka>ve&&aa<=ve&&(ft=Xe(We,jr,ra,pa,oa,ve),Ta=!0),!Ie&&Ta&&(Be&&(We.end=ht+mt*ft),Ee.push(We),We=qe(nt)),Be&&(ht+=mt)}let gt=nt.length-3,_t=nt[gt],Ft=nt[gt+1],St=_e===0?_t:Ft;St>=ze&&St<=ve&&xe(We,_t,Ft,nt[gt+2]),gt=We.length-3,Ie&>>=3&&(We[gt]!==We[0]||We[gt+1]!==We[1])&&xe(We,We[0],We[1],We[2]),We.length&&Ee.push(We)}function qe(nt){let Ee=[];return Ee.size=nt.size,Ee.start=nt.start,Ee.end=nt.end,Ee}function Ue(nt,Ee,ze,ve,_e,Ie){for(let Be of nt)Ce(Be,Ee,ze,ve,_e,Ie,!1)}function xe(nt,Ee,ze,ve){nt.push(Ee,ze,ve)}function he(nt,Ee,ze,ve,_e,Ie){let Be=(Ie-Ee)/(ve-Ee);return xe(nt,Ie,ze+(_e-ze)*Be,1),Be}function oe(nt,Ee,ze,ve,_e,Ie){let Be=(Ie-ze)/(_e-ze);return xe(nt,Ee+(ve-Ee)*Be,Ie,1),Be}function le(nt,Ee){let ze=[];for(let ve=0;ve0&&Ee.size<(_e?Be:ve))return void(ze.numPoints+=Ee.length/3);let We=[];for(let Xe=0;XeBe)&&(ze.numSimplified++,We.push(Ee[Xe],Ee[Xe+1])),ze.numPoints++;_e&&function(Xe,mt){let ft=0;for(let ht=0,gt=Xe.length,_t=gt-2;ht0===mt)for(let ht=0,gt=Xe.length;ht24)throw new Error("maxZoom should be in the 0-24 range");if(ze.promoteId&&ze.generateId)throw new Error("promoteId and generateId cannot be used together.");let _e=function(Ie,Be){let We=[];if(Ie.type==="FeatureCollection")for(let Xe=0;Xe1&&console.time("creation"),_t=this.tiles[gt]=Ve(Ee,ze,ve,_e,mt),this.tileCoords.push({z:ze,x:ve,y:_e}),ft)){ft>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",ze,ve,_e,_t.numFeatures,_t.numPoints,_t.numSimplified),console.timeEnd("creation"));let Ta=`z${ze}`;this.stats[Ta]=(this.stats[Ta]||0)+1,this.total++}if(_t.source=Ee,Ie==null){if(ze===mt.indexMaxZoom||_t.numPoints<=mt.indexMaxPoints)continue}else{if(ze===mt.maxZoom||ze===Ie)continue;if(Ie!=null){let Ta=Ie-ze;if(ve!==Be>>Ta||_e!==We>>Ta)continue}}if(_t.source=null,Ee.length===0)continue;ft>1&&console.time("clipping");let Ft=.5*mt.buffer/mt.extent,St=.5-Ft,hr=.5+Ft,jr=1+Ft,ra=null,$r=null,pa=null,oa=null,aa=Ae(Ee,ht,ve-Ft,ve+hr,0,_t.minX,_t.maxX,mt),ka=Ae(Ee,ht,ve+St,ve+jr,0,_t.minX,_t.maxX,mt);Ee=null,aa&&(ra=Ae(aa,ht,_e-Ft,_e+hr,1,_t.minY,_t.maxY,mt),$r=Ae(aa,ht,_e+St,_e+jr,1,_t.minY,_t.maxY,mt),aa=null),ka&&(pa=Ae(ka,ht,_e-Ft,_e+hr,1,_t.minY,_t.maxY,mt),oa=Ae(ka,ht,_e+St,_e+jr,1,_t.minY,_t.maxY,mt),ka=null),ft>1&&console.timeEnd("clipping"),Xe.push(ra||[],ze+1,2*ve,2*_e),Xe.push($r||[],ze+1,2*ve,2*_e+1),Xe.push(pa||[],ze+1,2*ve+1,2*_e),Xe.push(oa||[],ze+1,2*ve+1,2*_e+1)}}getTile(Ee,ze,ve){Ee=+Ee,ze=+ze,ve=+ve;let _e=this.options,{extent:Ie,debug:Be}=_e;if(Ee<0||Ee>24)return null;let We=1<1&&console.log("drilling down to z%d-%d-%d",Ee,ze,ve);let mt,ft=Ee,ht=ze,gt=ve;for(;!mt&&ft>0;)ft--,ht>>=1,gt>>=1,mt=this.tiles[At(ft,ht,gt)];return mt&&mt.source?(Be>1&&(console.log("found parent tile z%d-%d-%d",ft,ht,gt),console.time("drilling down")),this.splitTile(mt.source,ft,ht,gt,Ee,ze,ve),Be>1&&console.timeEnd("drilling down"),this.tiles[Xe]?be(this.tiles[Xe],Ie):null):null}}function At(nt,Ee,ze){return 32*((1<{ht.properties=_t;let Ft={};for(let St of gt)Ft[St]=Xe[St].evaluate(ft,ht);return Ft},Be.reduce=(_t,Ft)=>{ht.properties=Ft;for(let St of gt)ft.accumulated=_t[St],_t[St]=mt[St].evaluate(ft,ht)},Be}(Ee)).load((yield this._pendingData).features):(_e=yield this._pendingData,new yt(_e,Ee.geojsonVtOptions)),this.loaded={};let Ie={};if(ve){let Be=ve.finish();Be&&(Ie.resourceTiming={},Ie.resourceTiming[Ee.source]=JSON.parse(JSON.stringify(Be)))}return Ie}catch(Ie){if(delete this._pendingRequest,l.bB(Ie))return{abandoned:!0};throw Ie}var _e})}getData(){return l._(this,void 0,void 0,function*(){return this._pendingData})}reloadTile(Ee){let ze=this.loaded;return ze&&ze[Ee.uid]?super.reloadTile(Ee):this.loadTile(Ee)}loadAndProcessGeoJSON(Ee,ze){return l._(this,void 0,void 0,function*(){let ve=yield this.loadGeoJSON(Ee,ze);if(delete this._pendingRequest,typeof ve!="object")throw new Error(`Input data given to '${Ee.source}' is not a valid GeoJSON object.`);if(p(ve,!0),Ee.filter){let _e=l.bC(Ee.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if(_e.result==="error")throw new Error(_e.value.map(Be=>`${Be.key}: ${Be.message}`).join(", "));ve={type:"FeatureCollection",features:ve.features.filter(Be=>_e.value.evaluate({zoom:0},Be))}}return ve})}loadGeoJSON(Ee,ze){return l._(this,void 0,void 0,function*(){let{promoteId:ve}=Ee;if(Ee.request){let _e=yield l.h(Ee.request,ze);return this._dataUpdateable=Zt(_e.data,ve)?vr(_e.data,ve):void 0,_e.data}if(typeof Ee.data=="string")try{let _e=JSON.parse(Ee.data);return this._dataUpdateable=Zt(_e,ve)?vr(_e,ve):void 0,_e}catch{throw new Error(`Input data given to '${Ee.source}' is not a valid GeoJSON object.`)}if(!Ee.dataDiff)throw new Error(`Input data given to '${Ee.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${Ee.source}`);return function(_e,Ie,Be){var We,Xe,mt,ft;if(Ie.removeAll&&_e.clear(),Ie.remove)for(let ht of Ie.remove)_e.delete(ht);if(Ie.add)for(let ht of Ie.add){let gt=Pt(ht,Be);gt!=null&&_e.set(gt,ht)}if(Ie.update)for(let ht of Ie.update){let gt=_e.get(ht.id);if(gt==null)continue;let _t=!ht.removeAllProperties&&(((We=ht.removeProperties)===null||We===void 0?void 0:We.length)>0||((Xe=ht.addOrUpdateProperties)===null||Xe===void 0?void 0:Xe.length)>0);if((ht.newGeometry||ht.removeAllProperties||_t)&&(gt=Object.assign({},gt),_e.set(ht.id,gt),_t&&(gt.properties=Object.assign({},gt.properties))),ht.newGeometry&&(gt.geometry=ht.newGeometry),ht.removeAllProperties)gt.properties={};else if(((mt=ht.removeProperties)===null||mt===void 0?void 0:mt.length)>0)for(let Ft of ht.removeProperties)Object.prototype.hasOwnProperty.call(gt.properties,Ft)&&delete gt.properties[Ft];if(((ft=ht.addOrUpdateProperties)===null||ft===void 0?void 0:ft.length)>0)for(let{key:Ft,value:St}of ht.addOrUpdateProperties)gt.properties[Ft]=St}}(this._dataUpdateable,Ee.dataDiff,ve),{type:"FeatureCollection",features:Array.from(this._dataUpdateable.values())}})}removeSource(Ee){return l._(this,void 0,void 0,function*(){this._pendingRequest&&this._pendingRequest.abort()})}getClusterExpansionZoom(Ee){return this._geoJSONIndex.getClusterExpansionZoom(Ee.clusterId)}getClusterChildren(Ee){return this._geoJSONIndex.getChildren(Ee.clusterId)}getClusterLeaves(Ee){return this._geoJSONIndex.getLeaves(Ee.clusterId,Ee.limit,Ee.offset)}}class Kt{constructor(Ee){this.self=Ee,this.actor=new l.F(Ee),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(ze,ve)=>{if(this.externalWorkerSourceTypes[ze])throw new Error(`Worker source with name "${ze}" already registered.`);this.externalWorkerSourceTypes[ze]=ve},this.self.addProtocol=l.bi,this.self.removeProtocol=l.bj,this.self.registerRTLTextPlugin=ze=>{if(l.bD.isParsed())throw new Error("RTL text plugin already registered.");l.bD.setMethods(ze)},this.actor.registerMessageHandler("LDT",(ze,ve)=>this._getDEMWorkerSource(ze,ve.source).loadTile(ve)),this.actor.registerMessageHandler("RDT",(ze,ve)=>l._(this,void 0,void 0,function*(){this._getDEMWorkerSource(ze,ve.source).removeTile(ve)})),this.actor.registerMessageHandler("GCEZ",(ze,ve)=>l._(this,void 0,void 0,function*(){return this._getWorkerSource(ze,ve.type,ve.source).getClusterExpansionZoom(ve)})),this.actor.registerMessageHandler("GCC",(ze,ve)=>l._(this,void 0,void 0,function*(){return this._getWorkerSource(ze,ve.type,ve.source).getClusterChildren(ve)})),this.actor.registerMessageHandler("GCL",(ze,ve)=>l._(this,void 0,void 0,function*(){return this._getWorkerSource(ze,ve.type,ve.source).getClusterLeaves(ve)})),this.actor.registerMessageHandler("LD",(ze,ve)=>this._getWorkerSource(ze,ve.type,ve.source).loadData(ve)),this.actor.registerMessageHandler("GD",(ze,ve)=>this._getWorkerSource(ze,ve.type,ve.source).getData()),this.actor.registerMessageHandler("LT",(ze,ve)=>this._getWorkerSource(ze,ve.type,ve.source).loadTile(ve)),this.actor.registerMessageHandler("RT",(ze,ve)=>this._getWorkerSource(ze,ve.type,ve.source).reloadTile(ve)),this.actor.registerMessageHandler("AT",(ze,ve)=>this._getWorkerSource(ze,ve.type,ve.source).abortTile(ve)),this.actor.registerMessageHandler("RMT",(ze,ve)=>this._getWorkerSource(ze,ve.type,ve.source).removeTile(ve)),this.actor.registerMessageHandler("RS",(ze,ve)=>l._(this,void 0,void 0,function*(){if(!this.workerSources[ze]||!this.workerSources[ze][ve.type]||!this.workerSources[ze][ve.type][ve.source])return;let _e=this.workerSources[ze][ve.type][ve.source];delete this.workerSources[ze][ve.type][ve.source],_e.removeSource!==void 0&&_e.removeSource(ve)})),this.actor.registerMessageHandler("RM",ze=>l._(this,void 0,void 0,function*(){delete this.layerIndexes[ze],delete this.availableImages[ze],delete this.workerSources[ze],delete this.demWorkerSources[ze]})),this.actor.registerMessageHandler("SR",(ze,ve)=>l._(this,void 0,void 0,function*(){this.referrer=ve})),this.actor.registerMessageHandler("SRPS",(ze,ve)=>this._syncRTLPluginState(ze,ve)),this.actor.registerMessageHandler("IS",(ze,ve)=>l._(this,void 0,void 0,function*(){this.self.importScripts(ve)})),this.actor.registerMessageHandler("SI",(ze,ve)=>this._setImages(ze,ve)),this.actor.registerMessageHandler("UL",(ze,ve)=>l._(this,void 0,void 0,function*(){this._getLayerIndex(ze).update(ve.layers,ve.removedIds)})),this.actor.registerMessageHandler("SL",(ze,ve)=>l._(this,void 0,void 0,function*(){this._getLayerIndex(ze).replace(ve)}))}_setImages(Ee,ze){return l._(this,void 0,void 0,function*(){this.availableImages[Ee]=ze;for(let ve in this.workerSources[Ee]){let _e=this.workerSources[Ee][ve];for(let Ie in _e)_e[Ie].availableImages=ze}})}_syncRTLPluginState(Ee,ze){return l._(this,void 0,void 0,function*(){if(l.bD.isParsed())return l.bD.getState();if(ze.pluginStatus!=="loading")return l.bD.setState(ze),ze;let ve=ze.pluginURL;if(this.self.importScripts(ve),l.bD.isParsed()){let _e={pluginStatus:"loaded",pluginURL:ve};return l.bD.setState(_e),_e}throw l.bD.setState({pluginStatus:"error",pluginURL:""}),new Error(`RTL Text Plugin failed to import scripts from ${ve}`)})}_getAvailableImages(Ee){let ze=this.availableImages[Ee];return ze||(ze=[]),ze}_getLayerIndex(Ee){let ze=this.layerIndexes[Ee];return ze||(ze=this.layerIndexes[Ee]=new e),ze}_getWorkerSource(Ee,ze,ve){if(this.workerSources[Ee]||(this.workerSources[Ee]={}),this.workerSources[Ee][ze]||(this.workerSources[Ee][ze]={}),!this.workerSources[Ee][ze][ve]){let _e={sendAsync:(Ie,Be)=>(Ie.targetMapId=Ee,this.actor.sendAsync(Ie,Be))};switch(ze){case"vector":this.workerSources[Ee][ze][ve]=new n(_e,this._getLayerIndex(Ee),this._getAvailableImages(Ee));break;case"geojson":this.workerSources[Ee][ze][ve]=new Nt(_e,this._getLayerIndex(Ee),this._getAvailableImages(Ee));break;default:this.workerSources[Ee][ze][ve]=new this.externalWorkerSourceTypes[ze](_e,this._getLayerIndex(Ee),this._getAvailableImages(Ee))}}return this.workerSources[Ee][ze][ve]}_getDEMWorkerSource(Ee,ze){return this.demWorkerSources[Ee]||(this.demWorkerSources[Ee]={}),this.demWorkerSources[Ee][ze]||(this.demWorkerSources[Ee][ze]=new i),this.demWorkerSources[Ee][ze]}}return l.i(self)&&(self.worker=new Kt(self)),Kt}),w("index",["exports","./shared"],function(l,e){"use strict";var t="4.7.1";let a,r,n={now:typeof performance<"u"&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:Me=>new Promise((L,J)=>{let de=requestAnimationFrame(L);Me.signal.addEventListener("abort",()=>{cancelAnimationFrame(de),J(e.c())})}),getImageData(Me,L=0){return this.getImageCanvasContext(Me).getImageData(-L,-L,Me.width+2*L,Me.height+2*L)},getImageCanvasContext(Me){let L=window.document.createElement("canvas"),J=L.getContext("2d",{willReadFrequently:!0});if(!J)throw new Error("failed to create canvas 2d context");return L.width=Me.width,L.height=Me.height,J.drawImage(Me,0,0,Me.width,Me.height),J},resolveURL:Me=>(a||(a=document.createElement("a")),a.href=Me,a.href),hardwareConcurrency:typeof navigator<"u"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(r==null&&(r=matchMedia("(prefers-reduced-motion: reduce)")),r.matches)}};class i{static testProp(L){if(!i.docStyle)return L[0];for(let J=0;J{window.removeEventListener("click",i.suppressClickInternal,!0)},0)}static getScale(L){let J=L.getBoundingClientRect();return{x:J.width/L.offsetWidth||1,y:J.height/L.offsetHeight||1,boundingClientRect:J}}static getPoint(L,J,de){let pe=J.boundingClientRect;return new e.P((de.clientX-pe.left)/J.x-L.clientLeft,(de.clientY-pe.top)/J.y-L.clientTop)}static mousePos(L,J){let de=i.getScale(L);return i.getPoint(L,de,J)}static touchPos(L,J){let de=[],pe=i.getScale(L);for(let Te=0;Te{c&&y(c),c=null,d=!0},p.onerror=()=>{f=!0,c=null},p.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="),function(Me){let L,J,de,pe;Me.resetRequestQueue=()=>{L=[],J=0,de=0,pe={}},Me.addThrottleControl=vt=>{let Mt=de++;return pe[Mt]=vt,Mt},Me.removeThrottleControl=vt=>{delete pe[vt],Ze()},Me.getImage=(vt,Mt,Gt=!0)=>new Promise((Ht,fr)=>{s.supported&&(vt.headers||(vt.headers={}),vt.headers.accept="image/webp,*/*"),e.e(vt,{type:"image"}),L.push({abortController:Mt,requestParameters:vt,supportImageRefresh:Gt,state:"queued",onError:wr=>{fr(wr)},onSuccess:wr=>{Ht(wr)}}),Ze()});let Te=vt=>e._(this,void 0,void 0,function*(){vt.state="running";let{requestParameters:Mt,supportImageRefresh:Gt,onError:Ht,onSuccess:fr,abortController:wr}=vt,Le=Gt===!1&&!e.i(self)&&!e.g(Mt.url)&&(!Mt.headers||Object.keys(Mt.headers).reduce(($e,lt)=>$e&<==="accept",!0));J++;let Oe=Le?rt(Mt,wr):e.m(Mt,wr);try{let $e=yield Oe;delete vt.abortController,vt.state="completed",$e.data instanceof HTMLImageElement||e.b($e.data)?fr($e):$e.data&&fr({data:yield(Ge=$e.data,typeof createImageBitmap=="function"?e.d(Ge):e.f(Ge)),cacheControl:$e.cacheControl,expires:$e.expires})}catch($e){delete vt.abortController,Ht($e)}finally{J--,Ze()}var Ge}),Ze=()=>{let vt=(()=>{for(let Mt of Object.keys(pe))if(pe[Mt]())return!0;return!1})()?e.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:e.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let Mt=J;Mt0;Mt++){let Gt=L.shift();Gt.abortController.signal.aborted?Mt--:Te(Gt)}},rt=(vt,Mt)=>new Promise((Gt,Ht)=>{let fr=new Image,wr=vt.url,Le=vt.credentials;Le&&Le==="include"?fr.crossOrigin="use-credentials":(Le&&Le==="same-origin"||!e.s(wr))&&(fr.crossOrigin="anonymous"),Mt.signal.addEventListener("abort",()=>{fr.src="",Ht(e.c())}),fr.fetchPriority="high",fr.onload=()=>{fr.onerror=fr.onload=null,Gt({data:fr})},fr.onerror=()=>{fr.onerror=fr.onload=null,Mt.signal.aborted||Ht(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."))},fr.src=wr})}(o||(o={})),o.resetRequestQueue();class x{constructor(L){this._transformRequestFn=L}transformRequest(L,J){return this._transformRequestFn&&this._transformRequestFn(L,J)||{url:L}}setTransformRequest(L){this._transformRequestFn=L}}function M(Me){var L=new e.A(3);return L[0]=Me[0],L[1]=Me[1],L[2]=Me[2],L}var T,E=function(Me,L,J){return Me[0]=L[0]-J[0],Me[1]=L[1]-J[1],Me[2]=L[2]-J[2],Me};T=new e.A(3),e.A!=Float32Array&&(T[0]=0,T[1]=0,T[2]=0);var g=function(Me){var L=Me[0],J=Me[1];return L*L+J*J};function A(Me){let L=[];if(typeof Me=="string")L.push({id:"default",url:Me});else if(Me&&Me.length>0){let J=[];for(let{id:de,url:pe}of Me){let Te=`${de}${pe}`;J.indexOf(Te)===-1&&(J.push(Te),L.push({id:de,url:pe}))}}return L}function m(Me,L,J){let de=Me.split("?");return de[0]+=`${L}${J}`,de.join("?")}(function(){var Me=new e.A(2);e.A!=Float32Array&&(Me[0]=0,Me[1]=0)})();class h{constructor(L,J,de,pe){this.context=L,this.format=de,this.texture=L.gl.createTexture(),this.update(J,pe)}update(L,J,de){let{width:pe,height:Te}=L,Ze=!(this.size&&this.size[0]===pe&&this.size[1]===Te||de),{context:rt}=this,{gl:vt}=rt;if(this.useMipmap=!!(J&&J.useMipmap),vt.bindTexture(vt.TEXTURE_2D,this.texture),rt.pixelStoreUnpackFlipY.set(!1),rt.pixelStoreUnpack.set(1),rt.pixelStoreUnpackPremultiplyAlpha.set(this.format===vt.RGBA&&(!J||J.premultiply!==!1)),Ze)this.size=[pe,Te],L instanceof HTMLImageElement||L instanceof HTMLCanvasElement||L instanceof HTMLVideoElement||L instanceof ImageData||e.b(L)?vt.texImage2D(vt.TEXTURE_2D,0,this.format,this.format,vt.UNSIGNED_BYTE,L):vt.texImage2D(vt.TEXTURE_2D,0,this.format,pe,Te,0,this.format,vt.UNSIGNED_BYTE,L.data);else{let{x:Mt,y:Gt}=de||{x:0,y:0};L instanceof HTMLImageElement||L instanceof HTMLCanvasElement||L instanceof HTMLVideoElement||L instanceof ImageData||e.b(L)?vt.texSubImage2D(vt.TEXTURE_2D,0,Mt,Gt,vt.RGBA,vt.UNSIGNED_BYTE,L):vt.texSubImage2D(vt.TEXTURE_2D,0,Mt,Gt,pe,Te,vt.RGBA,vt.UNSIGNED_BYTE,L.data)}this.useMipmap&&this.isSizePowerOfTwo()&&vt.generateMipmap(vt.TEXTURE_2D)}bind(L,J,de){let{context:pe}=this,{gl:Te}=pe;Te.bindTexture(Te.TEXTURE_2D,this.texture),de!==Te.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(de=Te.LINEAR),L!==this.filter&&(Te.texParameteri(Te.TEXTURE_2D,Te.TEXTURE_MAG_FILTER,L),Te.texParameteri(Te.TEXTURE_2D,Te.TEXTURE_MIN_FILTER,de||L),this.filter=L),J!==this.wrap&&(Te.texParameteri(Te.TEXTURE_2D,Te.TEXTURE_WRAP_S,J),Te.texParameteri(Te.TEXTURE_2D,Te.TEXTURE_WRAP_T,J),this.wrap=J)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:L}=this.context;L.deleteTexture(this.texture),this.texture=null}}function b(Me){let{userImage:L}=Me;return!!(L&&L.render&&L.render())&&(Me.data.replace(new Uint8Array(L.data.buffer)),!0)}class _ extends e.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new e.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(L){if(this.loaded!==L&&(this.loaded=L,L)){for(let{ids:J,promiseResolve:de}of this.requestors)de(this._getImagesForIds(J));this.requestors=[]}}getImage(L){let J=this.images[L];if(J&&!J.data&&J.spriteData){let de=J.spriteData;J.data=new e.R({width:de.width,height:de.height},de.context.getImageData(de.x,de.y,de.width,de.height).data),J.spriteData=null}return J}addImage(L,J){if(this.images[L])throw new Error(`Image id ${L} already exist, use updateImage instead`);this._validate(L,J)&&(this.images[L]=J)}_validate(L,J){let de=!0,pe=J.data||J.spriteData;return this._validateStretch(J.stretchX,pe&&pe.width)||(this.fire(new e.j(new Error(`Image "${L}" has invalid "stretchX" value`))),de=!1),this._validateStretch(J.stretchY,pe&&pe.height)||(this.fire(new e.j(new Error(`Image "${L}" has invalid "stretchY" value`))),de=!1),this._validateContent(J.content,J)||(this.fire(new e.j(new Error(`Image "${L}" has invalid "content" value`))),de=!1),de}_validateStretch(L,J){if(!L)return!0;let de=0;for(let pe of L){if(pe[0]{let pe=!0;if(!this.isLoaded())for(let Te of L)this.images[Te]||(pe=!1);this.isLoaded()||pe?J(this._getImagesForIds(L)):this.requestors.push({ids:L,promiseResolve:J})})}_getImagesForIds(L){let J={};for(let de of L){let pe=this.getImage(de);pe||(this.fire(new e.k("styleimagemissing",{id:de})),pe=this.getImage(de)),pe?J[de]={data:pe.data.clone(),pixelRatio:pe.pixelRatio,sdf:pe.sdf,version:pe.version,stretchX:pe.stretchX,stretchY:pe.stretchY,content:pe.content,textFitWidth:pe.textFitWidth,textFitHeight:pe.textFitHeight,hasRenderCallback:!!(pe.userImage&&pe.userImage.render)}:e.w(`Image "${de}" 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 J}getPixelSize(){let{width:L,height:J}=this.atlasImage;return{width:L,height:J}}getPattern(L){let J=this.patterns[L],de=this.getImage(L);if(!de)return null;if(J&&J.position.version===de.version)return J.position;if(J)J.position.version=de.version;else{let pe={w:de.data.width+2,h:de.data.height+2,x:0,y:0},Te=new e.I(pe,de);this.patterns[L]={bin:pe,position:Te}}return this._updatePatternAtlas(),this.patterns[L].position}bind(L){let J=L.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new h(L,this.atlasImage,J.RGBA),this.atlasTexture.bind(J.LINEAR,J.CLAMP_TO_EDGE)}_updatePatternAtlas(){let L=[];for(let Te in this.patterns)L.push(this.patterns[Te].bin);let{w:J,h:de}=e.p(L),pe=this.atlasImage;pe.resize({width:J||1,height:de||1});for(let Te in this.patterns){let{bin:Ze}=this.patterns[Te],rt=Ze.x+1,vt=Ze.y+1,Mt=this.getImage(Te).data,Gt=Mt.width,Ht=Mt.height;e.R.copy(Mt,pe,{x:0,y:0},{x:rt,y:vt},{width:Gt,height:Ht}),e.R.copy(Mt,pe,{x:0,y:Ht-1},{x:rt,y:vt-1},{width:Gt,height:1}),e.R.copy(Mt,pe,{x:0,y:0},{x:rt,y:vt+Ht},{width:Gt,height:1}),e.R.copy(Mt,pe,{x:Gt-1,y:0},{x:rt-1,y:vt},{width:1,height:Ht}),e.R.copy(Mt,pe,{x:0,y:0},{x:rt+Gt,y:vt},{width:1,height:Ht})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(L){for(let J of L){if(this.callbackDispatchedThisFrame[J])continue;this.callbackDispatchedThisFrame[J]=!0;let de=this.getImage(J);de||e.w(`Image with ID: "${J}" was not found`),b(de)&&this.updateImage(J,de)}}}let I=1e20;function C(Me,L,J,de,pe,Te,Ze,rt,vt){for(let Mt=L;Mt-1);vt++,Te[vt]=rt,Ze[vt]=Mt,Ze[vt+1]=I}for(let rt=0,vt=0;rt65535)throw new Error("glyphs > 65535 not supported");if(de.ranges[Te])return{stack:L,id:J,glyph:pe};if(!this.url)throw new Error("glyphsUrl is not set");if(!de.requests[Te]){let rt=R.loadGlyphRange(L,Te,this.url,this.requestManager);de.requests[Te]=rt}let Ze=yield de.requests[Te];for(let rt in Ze)this._doesCharSupportLocalGlyph(+rt)||(de.glyphs[+rt]=Ze[+rt]);return de.ranges[Te]=!0,{stack:L,id:J,glyph:Ze[J]||null}})}_doesCharSupportLocalGlyph(L){return!!this.localIdeographFontFamily&&new RegExp("\\p{Ideo}|\\p{sc=Hang}|\\p{sc=Hira}|\\p{sc=Kana}","u").test(String.fromCodePoint(L))}_tinySDF(L,J,de){let pe=this.localIdeographFontFamily;if(!pe||!this._doesCharSupportLocalGlyph(de))return;let Te=L.tinySDF;if(!Te){let rt="400";/bold/i.test(J)?rt="900":/medium/i.test(J)?rt="500":/light/i.test(J)&&(rt="200"),Te=L.tinySDF=new R.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:pe,fontWeight:rt})}let Ze=Te.draw(String.fromCharCode(de));return{id:de,bitmap:new e.o({width:Ze.width||60,height:Ze.height||60},Ze.data),metrics:{width:Ze.glyphWidth/2||24,height:Ze.glyphHeight/2||24,left:Ze.glyphLeft/2+.5||0,top:Ze.glyphTop/2-27.5||-8,advance:Ze.glyphAdvance/2||24,isDoubleResolution:!0}}}}R.loadGlyphRange=function(Me,L,J,de){return e._(this,void 0,void 0,function*(){let pe=256*L,Te=pe+255,Ze=de.transformRequest(J.replace("{fontstack}",Me).replace("{range}",`${pe}-${Te}`),"Glyphs"),rt=yield e.l(Ze,new AbortController);if(!rt||!rt.data)throw new Error(`Could not load glyph range. range: ${L}, ${pe}-${Te}`);let vt={};for(let Mt of e.n(rt.data))vt[Mt.id]=Mt;return vt})},R.TinySDF=class{constructor({fontSize:Me=24,buffer:L=3,radius:J=8,cutoff:de=.25,fontFamily:pe="sans-serif",fontWeight:Te="normal",fontStyle:Ze="normal"}={}){this.buffer=L,this.cutoff=de,this.radius=J;let rt=this.size=Me+4*L,vt=this._createCanvas(rt),Mt=this.ctx=vt.getContext("2d",{willReadFrequently:!0});Mt.font=`${Ze} ${Te} ${Me}px ${pe}`,Mt.textBaseline="alphabetic",Mt.textAlign="left",Mt.fillStyle="black",this.gridOuter=new Float64Array(rt*rt),this.gridInner=new Float64Array(rt*rt),this.f=new Float64Array(rt),this.z=new Float64Array(rt+1),this.v=new Uint16Array(rt)}_createCanvas(Me){let L=document.createElement("canvas");return L.width=L.height=Me,L}draw(Me){let{width:L,actualBoundingBoxAscent:J,actualBoundingBoxDescent:de,actualBoundingBoxLeft:pe,actualBoundingBoxRight:Te}=this.ctx.measureText(Me),Ze=Math.ceil(J),rt=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(Te-pe))),vt=Math.min(this.size-this.buffer,Ze+Math.ceil(de)),Mt=rt+2*this.buffer,Gt=vt+2*this.buffer,Ht=Math.max(Mt*Gt,0),fr=new Uint8ClampedArray(Ht),wr={data:fr,width:Mt,height:Gt,glyphWidth:rt,glyphHeight:vt,glyphTop:Ze,glyphLeft:0,glyphAdvance:L};if(rt===0||vt===0)return wr;let{ctx:Le,buffer:Oe,gridInner:Ge,gridOuter:$e}=this;Le.clearRect(Oe,Oe,rt,vt),Le.fillText(Me,Oe,Oe+Ze);let lt=Le.getImageData(Oe,Oe,rt,vt);$e.fill(I,0,Ht),Ge.fill(0,0,Ht);for(let tt=0;tt0?Xt*Xt:0,Ge[Ot]=Xt<0?Xt*Xt:0}}C($e,0,0,Mt,Gt,Mt,this.f,this.v,this.z),C(Ge,Oe,Oe,rt,vt,Mt,this.f,this.v,this.z);for(let tt=0;tt1&&(vt=L[++rt]);let Gt=Math.abs(Mt-vt.left),Ht=Math.abs(Mt-vt.right),fr=Math.min(Gt,Ht),wr,Le=Te/de*(pe+1);if(vt.isDash){let Oe=pe-Math.abs(Le);wr=Math.sqrt(fr*fr+Oe*Oe)}else wr=pe-Math.sqrt(fr*fr+Le*Le);this.data[Ze+Mt]=Math.max(0,Math.min(255,wr+128))}}}addRegularDash(L){for(let rt=L.length-1;rt>=0;--rt){let vt=L[rt],Mt=L[rt+1];vt.zeroLength?L.splice(rt,1):Mt&&Mt.isDash===vt.isDash&&(Mt.left=vt.left,L.splice(rt,1))}let J=L[0],de=L[L.length-1];J.isDash===de.isDash&&(J.left=de.left-this.width,de.right=J.right+this.width);let pe=this.width*this.nextRow,Te=0,Ze=L[Te];for(let rt=0;rt1&&(Ze=L[++Te]);let vt=Math.abs(rt-Ze.left),Mt=Math.abs(rt-Ze.right),Gt=Math.min(vt,Mt);this.data[pe+rt]=Math.max(0,Math.min(255,(Ze.isDash?Gt:-Gt)+128))}}addDash(L,J){let de=J?7:0,pe=2*de+1;if(this.nextRow+pe>this.height)return e.w("LineAtlas out of space"),null;let Te=0;for(let rt=0;rt{J.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[Y]}numActive(){return Object.keys(this.active).length}}let te=Math.floor(n.hardwareConcurrency/2),ae,U;function H(){return ae||(ae=new ee),ae}ee.workerCount=e.C(globalThis)?Math.max(Math.min(te,3),1):1;class K{constructor(L,J){this.workerPool=L,this.actors=[],this.currentActor=0,this.id=J;let de=this.workerPool.acquire(J);for(let pe=0;pe{J.remove()}),this.actors=[],L&&this.workerPool.release(this.id)}registerMessageHandler(L,J){for(let de of this.actors)de.registerMessageHandler(L,J)}}function V(){return U||(U=new K(H(),e.G),U.registerMessageHandler("GR",(Me,L,J)=>e.m(L,J))),U}function $(Me,L){let J=e.H();return e.J(J,J,[1,1,0]),e.K(J,J,[.5*Me.width,.5*Me.height,1]),e.L(J,J,Me.calculatePosMatrix(L.toUnwrapped()))}function X(Me,L,J,de,pe,Te){let Ze=function(Ht,fr,wr){if(Ht)for(let Le of Ht){let Oe=fr[Le];if(Oe&&Oe.source===wr&&Oe.type==="fill-extrusion")return!0}else for(let Le in fr){let Oe=fr[Le];if(Oe.source===wr&&Oe.type==="fill-extrusion")return!0}return!1}(pe&&pe.layers,L,Me.id),rt=Te.maxPitchScaleFactor(),vt=Me.tilesIn(de,rt,Ze);vt.sort(Z);let Mt=[];for(let Ht of vt)Mt.push({wrappedTileID:Ht.tileID.wrapped().key,queryResults:Ht.tile.queryRenderedFeatures(L,J,Me._state,Ht.queryGeometry,Ht.cameraQueryGeometry,Ht.scale,pe,Te,rt,$(Me.transform,Ht.tileID))});let Gt=function(Ht){let fr={},wr={};for(let Le of Ht){let Oe=Le.queryResults,Ge=Le.wrappedTileID,$e=wr[Ge]=wr[Ge]||{};for(let lt in Oe){let tt=Oe[lt],dt=$e[lt]=$e[lt]||{},Rt=fr[lt]=fr[lt]||[];for(let Ot of tt)dt[Ot.featureIndex]||(dt[Ot.featureIndex]=!0,Rt.push(Ot))}}return fr}(Mt);for(let Ht in Gt)Gt[Ht].forEach(fr=>{let wr=fr.feature,Le=Me.getFeatureState(wr.layer["source-layer"],wr.id);wr.source=wr.layer.source,wr.layer["source-layer"]&&(wr.sourceLayer=wr.layer["source-layer"]),wr.state=Le});return Gt}function Z(Me,L){let J=Me.tileID,de=L.tileID;return J.overscaledZ-de.overscaledZ||J.canonical.y-de.canonical.y||J.wrap-de.wrap||J.canonical.x-de.canonical.x}function Q(Me,L,J){return e._(this,void 0,void 0,function*(){let de=Me;if(Me.url?de=(yield e.h(L.transformRequest(Me.url,"Source"),J)).data:yield n.frameAsync(J),!de)return null;let pe=e.M(e.e(de,Me),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);return"vector_layers"in de&&de.vector_layers&&(pe.vectorLayerIds=de.vector_layers.map(Te=>Te.id)),pe})}class re{constructor(L,J){L&&(J?this.setSouthWest(L).setNorthEast(J):Array.isArray(L)&&(L.length===4?this.setSouthWest([L[0],L[1]]).setNorthEast([L[2],L[3]]):this.setSouthWest(L[0]).setNorthEast(L[1])))}setNorthEast(L){return this._ne=L instanceof e.N?new e.N(L.lng,L.lat):e.N.convert(L),this}setSouthWest(L){return this._sw=L instanceof e.N?new e.N(L.lng,L.lat):e.N.convert(L),this}extend(L){let J=this._sw,de=this._ne,pe,Te;if(L instanceof e.N)pe=L,Te=L;else{if(!(L instanceof re))return Array.isArray(L)?L.length===4||L.every(Array.isArray)?this.extend(re.convert(L)):this.extend(e.N.convert(L)):L&&("lng"in L||"lon"in L)&&"lat"in L?this.extend(e.N.convert(L)):this;if(pe=L._sw,Te=L._ne,!pe||!Te)return this}return J||de?(J.lng=Math.min(pe.lng,J.lng),J.lat=Math.min(pe.lat,J.lat),de.lng=Math.max(Te.lng,de.lng),de.lat=Math.max(Te.lat,de.lat)):(this._sw=new e.N(pe.lng,pe.lat),this._ne=new e.N(Te.lng,Te.lat)),this}getCenter(){return new e.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 e.N(this.getWest(),this.getNorth())}getSouthEast(){return new e.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(L){let{lng:J,lat:de}=e.N.convert(L),pe=this._sw.lng<=J&&J<=this._ne.lng;return this._sw.lng>this._ne.lng&&(pe=this._sw.lng>=J&&J>=this._ne.lng),this._sw.lat<=de&&de<=this._ne.lat&&pe}static convert(L){return L instanceof re?L:L&&new re(L)}static fromLngLat(L,J=0){let de=360*J/40075017,pe=de/Math.cos(Math.PI/180*L.lat);return new re(new e.N(L.lng-pe,L.lat-de),new e.N(L.lng+pe,L.lat+de))}adjustAntiMeridian(){let L=new e.N(this._sw.lng,this._sw.lat),J=new e.N(this._ne.lng,this._ne.lat);return new re(L,L.lng>J.lng?new e.N(J.lng+360,J.lat):J)}}class ce{constructor(L,J,de){this.bounds=re.convert(this.validateBounds(L)),this.minzoom=J||0,this.maxzoom=de||24}validateBounds(L){return Array.isArray(L)&&L.length===4?[Math.max(-180,L[0]),Math.max(-90,L[1]),Math.min(180,L[2]),Math.min(90,L[3])]:[-180,-90,180,90]}contains(L){let J=Math.pow(2,L.z),de=Math.floor(e.O(this.bounds.getWest())*J),pe=Math.floor(e.Q(this.bounds.getNorth())*J),Te=Math.ceil(e.O(this.bounds.getEast())*J),Ze=Math.ceil(e.Q(this.bounds.getSouth())*J);return L.x>=de&&L.x=pe&&L.y{this._options.tiles=L}),this}setUrl(L){return this.setSourceProperty(()=>{this.url=L,this._options.url=L}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return e.e({},this._options)}loadTile(L){return e._(this,void 0,void 0,function*(){let J=L.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),de={request:this.map._requestManager.transformRequest(J,"Tile"),uid:L.uid,tileID:L.tileID,zoom:L.tileID.overscaledZ,tileSize:this.tileSize*L.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};de.request.collectResourceTiming=this._collectResourceTiming;let pe="RT";if(L.actor&&L.state!=="expired"){if(L.state==="loading")return new Promise((Te,Ze)=>{L.reloadPromise={resolve:Te,reject:Ze}})}else L.actor=this.dispatcher.getActor(),pe="LT";L.abortController=new AbortController;try{let Te=yield L.actor.sendAsync({type:pe,data:de},L.abortController);if(delete L.abortController,L.aborted)return;this._afterTileLoadWorkerResponse(L,Te)}catch(Te){if(delete L.abortController,L.aborted)return;if(Te&&Te.status!==404)throw Te;this._afterTileLoadWorkerResponse(L,null)}})}_afterTileLoadWorkerResponse(L,J){if(J&&J.resourceTiming&&(L.resourceTiming=J.resourceTiming),J&&this.map._refreshExpiredTiles&&L.setExpiryData(J),L.loadVectorData(J,this.map.painter),L.reloadPromise){let de=L.reloadPromise;L.reloadPromise=null,this.loadTile(L).then(de.resolve).catch(de.reject)}}abortTile(L){return e._(this,void 0,void 0,function*(){L.abortController&&(L.abortController.abort(),delete L.abortController),L.actor&&(yield L.actor.sendAsync({type:"AT",data:{uid:L.uid,type:this.type,source:this.id}}))})}unloadTile(L){return e._(this,void 0,void 0,function*(){L.unloadVectorData(),L.actor&&(yield L.actor.sendAsync({type:"RMT",data:{uid:L.uid,type:this.type,source:this.id}}))})}hasTransition(){return!1}}class ye extends e.E{constructor(L,J,de,pe){super(),this.id=L,this.dispatcher=de,this.setEventedParent(pe),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=e.e({type:"raster"},J),e.e(this,e.M(J,["url","scheme","tileSize"]))}load(){return e._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new e.k("dataloading",{dataType:"source"})),this._tileJSONRequest=new AbortController;try{let L=yield Q(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,L&&(e.e(this,L),L.bounds&&(this.tileBounds=new ce(L.bounds,this.minzoom,this.maxzoom)),this.fire(new e.k("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new e.k("data",{dataType:"source",sourceDataType:"content"})))}catch(L){this._tileJSONRequest=null,this.fire(new e.j(L))}})}loaded(){return this._loaded}onAdd(L){this.map=L,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(L){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),L(),this.load()}setTiles(L){return this.setSourceProperty(()=>{this._options.tiles=L}),this}setUrl(L){return this.setSourceProperty(()=>{this.url=L,this._options.url=L}),this}serialize(){return e.e({},this._options)}hasTile(L){return!this.tileBounds||this.tileBounds.contains(L.canonical)}loadTile(L){return e._(this,void 0,void 0,function*(){let J=L.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);L.abortController=new AbortController;try{let de=yield o.getImage(this.map._requestManager.transformRequest(J,"Tile"),L.abortController,this.map._refreshExpiredTiles);if(delete L.abortController,L.aborted)return void(L.state="unloaded");if(de&&de.data){this.map._refreshExpiredTiles&&de.cacheControl&&de.expires&&L.setExpiryData({cacheControl:de.cacheControl,expires:de.expires});let pe=this.map.painter.context,Te=pe.gl,Ze=de.data;L.texture=this.map.painter.getTileTexture(Ze.width),L.texture?L.texture.update(Ze,{useMipmap:!0}):(L.texture=new h(pe,Ze,Te.RGBA,{useMipmap:!0}),L.texture.bind(Te.LINEAR,Te.CLAMP_TO_EDGE,Te.LINEAR_MIPMAP_NEAREST)),L.state="loaded"}}catch(de){if(delete L.abortController,L.aborted)L.state="unloaded";else if(de)throw L.state="errored",de}})}abortTile(L){return e._(this,void 0,void 0,function*(){L.abortController&&(L.abortController.abort(),delete L.abortController)})}unloadTile(L){return e._(this,void 0,void 0,function*(){L.texture&&this.map.painter.saveTileTexture(L.texture)})}hasTransition(){return!1}}class Ae extends ye{constructor(L,J,de,pe){super(L,J,de,pe),this.type="raster-dem",this.maxzoom=22,this._options=e.e({type:"raster-dem"},J),this.encoding=J.encoding||"mapbox",this.redFactor=J.redFactor,this.greenFactor=J.greenFactor,this.blueFactor=J.blueFactor,this.baseShift=J.baseShift}loadTile(L){return e._(this,void 0,void 0,function*(){let J=L.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),de=this.map._requestManager.transformRequest(J,"Tile");L.neighboringTiles=this._getNeighboringTiles(L.tileID),L.abortController=new AbortController;try{let pe=yield o.getImage(de,L.abortController,this.map._refreshExpiredTiles);if(delete L.abortController,L.aborted)return void(L.state="unloaded");if(pe&&pe.data){let Te=pe.data;this.map._refreshExpiredTiles&&pe.cacheControl&&pe.expires&&L.setExpiryData({cacheControl:pe.cacheControl,expires:pe.expires});let Ze=e.b(Te)&&e.U()?Te:yield this.readImageNow(Te),rt={type:this.type,uid:L.uid,source:this.id,rawImageData:Ze,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!L.actor||L.state==="expired"){L.actor=this.dispatcher.getActor();let vt=yield L.actor.sendAsync({type:"LDT",data:rt});L.dem=vt,L.needsHillshadePrepare=!0,L.needsTerrainPrepare=!0,L.state="loaded"}}}catch(pe){if(delete L.abortController,L.aborted)L.state="unloaded";else if(pe)throw L.state="errored",pe}})}readImageNow(L){return e._(this,void 0,void 0,function*(){if(typeof VideoFrame<"u"&&e.V()){let J=L.width+2,de=L.height+2;try{return new e.R({width:J,height:de},yield e.W(L,-1,-1,J,de))}catch{}}return n.getImageData(L,1)})}_getNeighboringTiles(L){let J=L.canonical,de=Math.pow(2,J.z),pe=(J.x-1+de)%de,Te=J.x===0?L.wrap-1:L.wrap,Ze=(J.x+1+de)%de,rt=J.x+1===de?L.wrap+1:L.wrap,vt={};return vt[new e.S(L.overscaledZ,Te,J.z,pe,J.y).key]={backfilled:!1},vt[new e.S(L.overscaledZ,rt,J.z,Ze,J.y).key]={backfilled:!1},J.y>0&&(vt[new e.S(L.overscaledZ,Te,J.z,pe,J.y-1).key]={backfilled:!1},vt[new e.S(L.overscaledZ,L.wrap,J.z,J.x,J.y-1).key]={backfilled:!1},vt[new e.S(L.overscaledZ,rt,J.z,Ze,J.y-1).key]={backfilled:!1}),J.y+10&&e.e(Te,{resourceTiming:pe}),this.fire(new e.k("data",Object.assign(Object.assign({},Te),{sourceDataType:"metadata"}))),this.fire(new e.k("data",Object.assign(Object.assign({},Te),{sourceDataType:"content"})))}catch(de){if(this._pendingLoads--,this._removed)return void this.fire(new e.k("dataabort",{dataType:"source"}));this.fire(new e.j(de))}})}loaded(){return this._pendingLoads===0}loadTile(L){return e._(this,void 0,void 0,function*(){let J=L.actor?"RT":"LT";L.actor=this.actor;let de={type:this.type,uid:L.uid,tileID:L.tileID,zoom:L.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};L.abortController=new AbortController;let pe=yield this.actor.sendAsync({type:J,data:de},L.abortController);delete L.abortController,L.unloadVectorData(),L.aborted||L.loadVectorData(pe,this.map.painter,J==="RT")})}abortTile(L){return e._(this,void 0,void 0,function*(){L.abortController&&(L.abortController.abort(),delete L.abortController),L.aborted=!0})}unloadTile(L){return e._(this,void 0,void 0,function*(){L.unloadVectorData(),yield this.actor.sendAsync({type:"RMT",data:{uid:L.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 e.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var Ce=e.Y([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class qe extends e.E{constructor(L,J,de,pe){super(),this.id=L,this.dispatcher=de,this.coordinates=J.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(pe),this.options=J}load(L){return e._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new e.k("dataloading",{dataType:"source"})),this.url=this.options.url,this._request=new AbortController;try{let J=yield o.getImage(this.map._requestManager.transformRequest(this.url,"Image"),this._request);this._request=null,this._loaded=!0,J&&J.data&&(this.image=J.data,L&&(this.coordinates=L),this._finishLoading())}catch(J){this._request=null,this._loaded=!0,this.fire(new e.j(J))}})}loaded(){return this._loaded}updateImage(L){return L.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=L.url,this.load(L.coordinates).finally(()=>{this.texture=null}),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new e.k("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(L){this.map=L,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(L){this.coordinates=L;let J=L.map(e.Z.fromLngLat);this.tileID=function(pe){let Te=1/0,Ze=1/0,rt=-1/0,vt=-1/0;for(let fr of pe)Te=Math.min(Te,fr.x),Ze=Math.min(Ze,fr.y),rt=Math.max(rt,fr.x),vt=Math.max(vt,fr.y);let Mt=Math.max(rt-Te,vt-Ze),Gt=Math.max(0,Math.floor(-Math.log(Mt)/Math.LN2)),Ht=Math.pow(2,Gt);return new e.a1(Gt,Math.floor((Te+rt)/2*Ht),Math.floor((Ze+vt)/2*Ht))}(J),this.minzoom=this.maxzoom=this.tileID.z;let de=J.map(pe=>this.tileID.getTilePoint(pe)._round());return this._boundsArray=new e.$,this._boundsArray.emplaceBack(de[0].x,de[0].y,0,0),this._boundsArray.emplaceBack(de[1].x,de[1].y,e.X,0),this._boundsArray.emplaceBack(de[3].x,de[3].y,0,e.X),this._boundsArray.emplaceBack(de[2].x,de[2].y,e.X,e.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new e.k("data",{dataType:"source",sourceDataType:"content"})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;let L=this.map.painter.context,J=L.gl;this.boundsBuffer||(this.boundsBuffer=L.createVertexBuffer(this._boundsArray,Ce.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new h(L,this.image,J.RGBA),this.texture.bind(J.LINEAR,J.CLAMP_TO_EDGE));let de=!1;for(let pe in this.tiles){let Te=this.tiles[pe];Te.state!=="loaded"&&(Te.state="loaded",Te.texture=this.texture,de=!0)}de&&this.fire(new e.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}loadTile(L){return e._(this,void 0,void 0,function*(){this.tileID&&this.tileID.equals(L.tileID.canonical)?(this.tiles[String(L.tileID.wrap)]=L,L.buckets={}):L.state="errored"})}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class Ue extends qe{constructor(L,J,de,pe){super(L,J,de,pe),this.roundZoom=!0,this.type="video",this.options=J}load(){return e._(this,void 0,void 0,function*(){this._loaded=!1;let L=this.options;this.urls=[];for(let J of L.urls)this.urls.push(this.map._requestManager.transformRequest(J,"Source").url);try{let J=yield e.a3(this.urls);if(this._loaded=!0,!J)return;this.video=J,this.video.loop=!0,this.video.addEventListener("playing",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading()}catch(J){this.fire(new e.j(J))}})}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(L){if(this.video){let J=this.video.seekable;LJ.end(0)?this.fire(new e.j(new e.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${J.start(0)} and ${J.end(0)}-second mark.`))):this.video.currentTime=L}}getVideo(){return this.video}onAdd(L){this.map||(this.map=L,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;let L=this.map.painter.context,J=L.gl;this.boundsBuffer||(this.boundsBuffer=L.createVertexBuffer(this._boundsArray,Ce.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(J.LINEAR,J.CLAMP_TO_EDGE),J.texSubImage2D(J.TEXTURE_2D,0,0,0,J.RGBA,J.UNSIGNED_BYTE,this.video)):(this.texture=new h(L,this.video,J.RGBA),this.texture.bind(J.LINEAR,J.CLAMP_TO_EDGE));let de=!1;for(let pe in this.tiles){let Te=this.tiles[pe];Te.state!=="loaded"&&(Te.state="loaded",Te.texture=this.texture,de=!0)}de&&this.fire(new e.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 xe extends qe{constructor(L,J,de,pe){super(L,J,de,pe),J.coordinates?Array.isArray(J.coordinates)&&J.coordinates.length===4&&!J.coordinates.some(Te=>!Array.isArray(Te)||Te.length!==2||Te.some(Ze=>typeof Ze!="number"))||this.fire(new e.j(new e.a2(`sources.${L}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new e.j(new e.a2(`sources.${L}`,null,'missing required property "coordinates"'))),J.animate&&typeof J.animate!="boolean"&&this.fire(new e.j(new e.a2(`sources.${L}`,null,'optional "animate" property must be a boolean value'))),J.canvas?typeof J.canvas=="string"||J.canvas instanceof HTMLCanvasElement||this.fire(new e.j(new e.a2(`sources.${L}`,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new e.j(new e.a2(`sources.${L}`,null,'missing required property "canvas"'))),this.options=J,this.animate=J.animate===void 0||J.animate}load(){return e._(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 e.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(L){this.map=L,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let L=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,L=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,L=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let J=this.map.painter.context,de=J.gl;this.boundsBuffer||(this.boundsBuffer=J.createVertexBuffer(this._boundsArray,Ce.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),this.texture?(L||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new h(J,this.canvas,de.RGBA,{premultiply:!0});let pe=!1;for(let Te in this.tiles){let Ze=this.tiles[Te];Ze.state!=="loaded"&&(Ze.state="loaded",Ze.texture=this.texture,pe=!0)}pe&&this.fire(new e.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"canvas",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let L of[this.canvas.width,this.canvas.height])if(isNaN(L)||L<=0)return!0;return!1}}let he={},oe=Me=>{switch(Me){case"geojson":return Se;case"image":return qe;case"raster":return ye;case"raster-dem":return Ae;case"vector":return me;case"video":return Ue;case"canvas":return xe}return he[Me]},le="RTLPluginLoaded";class ne extends e.E{constructor(){super(...arguments),this.status="unavailable",this.url=null,this.dispatcher=V()}_syncState(L){return this.status=L,this.dispatcher.broadcast("SRPS",{pluginStatus:L,pluginURL:this.url}).catch(J=>{throw this.status="error",J})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status="unavailable",this.url=null}setRTLTextPlugin(L){return e._(this,arguments,void 0,function*(J,de=!1){if(this.url)throw new Error("setRTLTextPlugin cannot be called multiple times.");if(this.url=n.resolveURL(J),!this.url)throw new Error(`requested url ${J} is invalid`);if(this.status==="unavailable"){if(!de)return this._requestImport();this.status="deferred",this._syncState(this.status)}else if(this.status==="requested")return this._requestImport()})}_requestImport(){return e._(this,void 0,void 0,function*(){yield this._syncState("loading"),this.status="loaded",this.fire(new e.k(le))})}lazyLoad(){this.status==="unavailable"?this.status="requested":this.status==="deferred"&&this._requestImport()}}let be=null;function Fe(){return be||(be=new ne),be}class Ve{constructor(L,J){this.timeAdded=0,this.fadeEndTime=0,this.tileID=L,this.uid=e.a4(),this.uses=0,this.tileSize=J,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state="loading"}registerFadeDuration(L){let J=L+this.timeAdded;JTe.getLayer(Mt)).filter(Boolean);if(vt.length!==0){rt.layers=vt,rt.stateDependentLayerIds&&(rt.stateDependentLayers=rt.stateDependentLayerIds.map(Mt=>vt.filter(Gt=>Gt.id===Mt)[0]));for(let Mt of vt)Ze[Mt.id]=rt}}return Ze}(L.buckets,J.style),this.hasSymbolBuckets=!1;for(let pe in this.buckets){let Te=this.buckets[pe];if(Te instanceof e.a6){if(this.hasSymbolBuckets=!0,!de)break;Te.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let pe in this.buckets){let Te=this.buckets[pe];if(Te instanceof e.a6&&Te.hasRTLText){this.hasRTLText=!0,Fe().lazyLoad();break}}this.queryPadding=0;for(let pe in this.buckets){let Te=this.buckets[pe];this.queryPadding=Math.max(this.queryPadding,J.style.getLayer(pe).queryRadius(Te))}L.imageAtlas&&(this.imageAtlas=L.imageAtlas),L.glyphAtlasImage&&(this.glyphAtlasImage=L.glyphAtlasImage)}else this.collisionBoxArray=new e.a5}unloadVectorData(){for(let L in this.buckets)this.buckets[L].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state="unloaded"}getBucket(L){return this.buckets[L.id]}upload(L){for(let de in this.buckets){let pe=this.buckets[de];pe.uploadPending()&&pe.upload(L)}let J=L.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new h(L,this.imageAtlas.image,J.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new h(L,this.glyphAtlasImage,J.ALPHA),this.glyphAtlasImage=null)}prepare(L){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(L,this.imageAtlasTexture)}queryRenderedFeatures(L,J,de,pe,Te,Ze,rt,vt,Mt,Gt){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:pe,cameraQueryGeometry:Te,scale:Ze,tileSize:this.tileSize,pixelPosMatrix:Gt,transform:vt,params:rt,queryPadding:this.queryPadding*Mt},L,J,de):{}}querySourceFeatures(L,J){let de=this.latestFeatureIndex;if(!de||!de.rawTileData)return;let pe=de.loadVTLayers(),Te=J&&J.sourceLayer?J.sourceLayer:"",Ze=pe._geojsonTileLayer||pe[Te];if(!Ze)return;let rt=e.a7(J&&J.filter),{z:vt,x:Mt,y:Gt}=this.tileID.canonical,Ht={z:vt,x:Mt,y:Gt};for(let fr=0;frde)pe=!1;else if(J)if(this.expirationTime{this.remove(L,Te)},de)),this.data[pe].push(Te),this.order.push(pe),this.order.length>this.max){let Ze=this._getAndRemoveByKey(this.order[0]);Ze&&this.onRemove(Ze)}return this}has(L){return L.wrapped().key in this.data}getAndRemove(L){return this.has(L)?this._getAndRemoveByKey(L.wrapped().key):null}_getAndRemoveByKey(L){let J=this.data[L].shift();return J.timeout&&clearTimeout(J.timeout),this.data[L].length===0&&delete this.data[L],this.order.splice(this.order.indexOf(L),1),J.value}getByKey(L){let J=this.data[L];return J?J[0].value:null}get(L){return this.has(L)?this.data[L.wrapped().key][0].value:null}remove(L,J){if(!this.has(L))return this;let de=L.wrapped().key,pe=J===void 0?0:this.data[de].indexOf(J),Te=this.data[de][pe];return this.data[de].splice(pe,1),Te.timeout&&clearTimeout(Te.timeout),this.data[de].length===0&&delete this.data[de],this.onRemove(Te.value),this.order.splice(this.order.indexOf(de),1),this}setMaxSize(L){for(this.max=L;this.order.length>this.max;){let J=this._getAndRemoveByKey(this.order[0]);J&&this.onRemove(J)}return this}filter(L){let J=[];for(let de in this.data)for(let pe of this.data[de])L(pe.value)||J.push(pe);for(let de of J)this.remove(de.value.tileID,de)}}class ut{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(L,J,de){let pe=String(J);if(this.stateChanges[L]=this.stateChanges[L]||{},this.stateChanges[L][pe]=this.stateChanges[L][pe]||{},e.e(this.stateChanges[L][pe],de),this.deletedStates[L]===null){this.deletedStates[L]={};for(let Te in this.state[L])Te!==pe&&(this.deletedStates[L][Te]=null)}else if(this.deletedStates[L]&&this.deletedStates[L][pe]===null){this.deletedStates[L][pe]={};for(let Te in this.state[L][pe])de[Te]||(this.deletedStates[L][pe][Te]=null)}else for(let Te in de)this.deletedStates[L]&&this.deletedStates[L][pe]&&this.deletedStates[L][pe][Te]===null&&delete this.deletedStates[L][pe][Te]}removeFeatureState(L,J,de){if(this.deletedStates[L]===null)return;let pe=String(J);if(this.deletedStates[L]=this.deletedStates[L]||{},de&&J!==void 0)this.deletedStates[L][pe]!==null&&(this.deletedStates[L][pe]=this.deletedStates[L][pe]||{},this.deletedStates[L][pe][de]=null);else if(J!==void 0)if(this.stateChanges[L]&&this.stateChanges[L][pe])for(de in this.deletedStates[L][pe]={},this.stateChanges[L][pe])this.deletedStates[L][pe][de]=null;else this.deletedStates[L][pe]=null;else this.deletedStates[L]=null}getState(L,J){let de=String(J),pe=e.e({},(this.state[L]||{})[de],(this.stateChanges[L]||{})[de]);if(this.deletedStates[L]===null)return{};if(this.deletedStates[L]){let Te=this.deletedStates[L][J];if(Te===null)return{};for(let Ze in Te)delete pe[Ze]}return pe}initializeTileState(L,J){L.setFeatureState(this.state,J)}coalesceChanges(L,J){let de={};for(let pe in this.stateChanges){this.state[pe]=this.state[pe]||{};let Te={};for(let Ze in this.stateChanges[pe])this.state[pe][Ze]||(this.state[pe][Ze]={}),e.e(this.state[pe][Ze],this.stateChanges[pe][Ze]),Te[Ze]=this.state[pe][Ze];de[pe]=Te}for(let pe in this.deletedStates){this.state[pe]=this.state[pe]||{};let Te={};if(this.deletedStates[pe]===null)for(let Ze in this.state[pe])Te[Ze]={},this.state[pe][Ze]={};else for(let Ze in this.deletedStates[pe]){if(this.deletedStates[pe][Ze]===null)this.state[pe][Ze]={};else for(let rt of Object.keys(this.deletedStates[pe][Ze]))delete this.state[pe][Ze][rt];Te[Ze]=this.state[pe][Ze]}de[pe]=de[pe]||{},e.e(de[pe],Te)}if(this.stateChanges={},this.deletedStates={},Object.keys(de).length!==0)for(let pe in L)L[pe].setFeatureState(de,J)}}class st extends e.E{constructor(L,J,de){super(),this.id=L,this.dispatcher=de,this.on("data",pe=>this._dataHandler(pe)),this.on("dataloading",()=>{this._sourceErrored=!1}),this.on("error",()=>{this._sourceErrored=this._source.loaded()}),this._source=((pe,Te,Ze,rt)=>{let vt=new(oe(Te.type))(pe,Te,Ze,rt);if(vt.id!==pe)throw new Error(`Expected Source id to be ${pe} instead of ${vt.id}`);return vt})(L,J,de,this),this._tiles={},this._cache=new je(0,pe=>this._unloadTile(pe)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new ut,this._didEmitContent=!1,this._updated=!1}onAdd(L){this.map=L,this._maxTileCacheSize=L?L._maxTileCacheSize:null,this._maxTileCacheZoomLevels=L?L._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(L)}onRemove(L){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(L)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(let L in this._tiles){let J=this._tiles[L];if(J.state!=="loaded"&&J.state!=="errored")return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let L=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,L&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(L,J,de){return e._(this,void 0,void 0,function*(){try{yield this._source.loadTile(L),this._tileLoaded(L,J,de)}catch(pe){L.state="errored",pe.status!==404?this._source.fire(new e.j(pe,{tile:L})):this.update(this.transform,this.terrain)}})}_unloadTile(L){this._source.unloadTile&&this._source.unloadTile(L)}_abortTile(L){this._source.abortTile&&this._source.abortTile(L),this._source.fire(new e.k("dataabort",{tile:L,coord:L.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(L){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(let J in this._tiles){let de=this._tiles[J];de.upload(L),de.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map(L=>L.tileID).sort(yt).map(L=>L.key)}getRenderableIds(L){let J=[];for(let de in this._tiles)this._isIdRenderable(de,L)&&J.push(this._tiles[de]);return L?J.sort((de,pe)=>{let Te=de.tileID,Ze=pe.tileID,rt=new e.P(Te.canonical.x,Te.canonical.y)._rotate(this.transform.angle),vt=new e.P(Ze.canonical.x,Ze.canonical.y)._rotate(this.transform.angle);return Te.overscaledZ-Ze.overscaledZ||vt.y-rt.y||vt.x-rt.x}).map(de=>de.tileID.key):J.map(de=>de.tileID).sort(yt).map(de=>de.key)}hasRenderableParent(L){let J=this.findLoadedParent(L,0);return!!J&&this._isIdRenderable(J.tileID.key)}_isIdRenderable(L,J){return this._tiles[L]&&this._tiles[L].hasData()&&!this._coveredTiles[L]&&(J||!this._tiles[L].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(let L in this._tiles)this._tiles[L].state!=="errored"&&this._reloadTile(L,"reloading")}}_reloadTile(L,J){return e._(this,void 0,void 0,function*(){let de=this._tiles[L];de&&(de.state!=="loading"&&(de.state=J),yield this._loadTile(de,L,J))})}_tileLoaded(L,J,de){L.timeAdded=n.now(),de==="expired"&&(L.refreshedUponExpiration=!0),this._setTileReloadTimer(J,L),this.getSource().type==="raster-dem"&&L.dem&&this._backfillDEM(L),this._state.initializeTileState(L,this.map?this.map.painter:null),L.aborted||this._source.fire(new e.k("data",{dataType:"source",tile:L,coord:L.tileID}))}_backfillDEM(L){let J=this.getRenderableIds();for(let pe=0;pe1||(Math.abs(Ze)>1&&(Math.abs(Ze+vt)===1?Ze+=vt:Math.abs(Ze-vt)===1&&(Ze-=vt)),Te.dem&&pe.dem&&(pe.dem.backfillBorder(Te.dem,Ze,rt),pe.neighboringTiles&&pe.neighboringTiles[Mt]&&(pe.neighboringTiles[Mt].backfilled=!0)))}}getTile(L){return this.getTileByID(L.key)}getTileByID(L){return this._tiles[L]}_retainLoadedChildren(L,J,de,pe){for(let Te in this._tiles){let Ze=this._tiles[Te];if(pe[Te]||!Ze.hasData()||Ze.tileID.overscaledZ<=J||Ze.tileID.overscaledZ>de)continue;let rt=Ze.tileID;for(;Ze&&Ze.tileID.overscaledZ>J+1;){let Mt=Ze.tileID.scaledTo(Ze.tileID.overscaledZ-1);Ze=this._tiles[Mt.key],Ze&&Ze.hasData()&&(rt=Mt)}let vt=rt;for(;vt.overscaledZ>J;)if(vt=vt.scaledTo(vt.overscaledZ-1),L[vt.key]){pe[rt.key]=rt;break}}}findLoadedParent(L,J){if(L.key in this._loadedParentTiles){let de=this._loadedParentTiles[L.key];return de&&de.tileID.overscaledZ>=J?de:null}for(let de=L.overscaledZ-1;de>=J;de--){let pe=L.scaledTo(de),Te=this._getLoadedTile(pe);if(Te)return Te}}findLoadedSibling(L){return this._getLoadedTile(L)}_getLoadedTile(L){let J=this._tiles[L.key];return J&&J.hasData()?J:this._cache.getByKey(L.wrapped().key)}updateCacheSize(L){let J=Math.ceil(L.width/this._source.tileSize)+1,de=Math.ceil(L.height/this._source.tileSize)+1,pe=Math.floor(J*de*(this._maxTileCacheZoomLevels===null?e.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),Te=typeof this._maxTileCacheSize=="number"?Math.min(this._maxTileCacheSize,pe):pe;this._cache.setMaxSize(Te)}handleWrapJump(L){let J=Math.round((L-(this._prevLng===void 0?L:this._prevLng))/360);if(this._prevLng=L,J){let de={};for(let pe in this._tiles){let Te=this._tiles[pe];Te.tileID=Te.tileID.unwrapTo(Te.tileID.wrap+J),de[Te.tileID.key]=Te}this._tiles=de;for(let pe in this._timers)clearTimeout(this._timers[pe]),delete this._timers[pe];for(let pe in this._tiles)this._setTileReloadTimer(pe,this._tiles[pe])}}_updateCoveredAndRetainedTiles(L,J,de,pe,Te,Ze){let rt={},vt={},Mt=Object.keys(L),Gt=n.now();for(let Ht of Mt){let fr=L[Ht],wr=this._tiles[Ht];if(!wr||wr.fadeEndTime!==0&&wr.fadeEndTime<=Gt)continue;let Le=this.findLoadedParent(fr,J),Oe=this.findLoadedSibling(fr),Ge=Le||Oe||null;Ge&&(this._addTile(Ge.tileID),rt[Ge.tileID.key]=Ge.tileID),vt[Ht]=fr}this._retainLoadedChildren(vt,pe,de,L);for(let Ht in rt)L[Ht]||(this._coveredTiles[Ht]=!0,L[Ht]=rt[Ht]);if(Ze){let Ht={},fr={};for(let wr of Te)this._tiles[wr.key].hasData()?Ht[wr.key]=wr:fr[wr.key]=wr;for(let wr in fr){let Le=fr[wr].children(this._source.maxzoom);this._tiles[Le[0].key]&&this._tiles[Le[1].key]&&this._tiles[Le[2].key]&&this._tiles[Le[3].key]&&(Ht[Le[0].key]=L[Le[0].key]=Le[0],Ht[Le[1].key]=L[Le[1].key]=Le[1],Ht[Le[2].key]=L[Le[2].key]=Le[2],Ht[Le[3].key]=L[Le[3].key]=Le[3],delete fr[wr])}for(let wr in fr){let Le=fr[wr],Oe=this.findLoadedParent(Le,this._source.minzoom),Ge=this.findLoadedSibling(Le),$e=Oe||Ge||null;if($e){Ht[$e.tileID.key]=L[$e.tileID.key]=$e.tileID;for(let lt in Ht)Ht[lt].isChildOf($e.tileID)&&delete Ht[lt]}}for(let wr in this._tiles)Ht[wr]||(this._coveredTiles[wr]=!0)}}update(L,J){if(!this._sourceLoaded||this._paused)return;let de;this.transform=L,this.terrain=J,this.updateCacheSize(L),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?de=L.getVisibleUnwrappedCoordinates(this._source.tileID).map(Gt=>new e.S(Gt.canonical.z,Gt.wrap,Gt.canonical.z,Gt.canonical.x,Gt.canonical.y)):(de=L.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:J}),this._source.hasTile&&(de=de.filter(Gt=>this._source.hasTile(Gt)))):de=[];let pe=L.coveringZoomLevel(this._source),Te=Math.max(pe-st.maxOverzooming,this._source.minzoom),Ze=Math.max(pe+st.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let Gt={};for(let Ht of de)if(Ht.canonical.z>this._source.minzoom){let fr=Ht.scaledTo(Ht.canonical.z-1);Gt[fr.key]=fr;let wr=Ht.scaledTo(Math.max(this._source.minzoom,Math.min(Ht.canonical.z,5)));Gt[wr.key]=wr}de=de.concat(Object.values(Gt))}let rt=de.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,rt&&this.fire(new e.k("data",{sourceDataType:"idle",dataType:"source",sourceId:this.id}));let vt=this._updateRetainedTiles(de,pe);At(this._source.type)&&this._updateCoveredAndRetainedTiles(vt,Te,Ze,pe,de,J);for(let Gt in vt)this._tiles[Gt].clearFadeHold();let Mt=e.ab(this._tiles,vt);for(let Gt of Mt){let Ht=this._tiles[Gt];Ht.hasSymbolBuckets&&!Ht.holdingForFade()?Ht.setHoldDuration(this.map._fadeDuration):Ht.hasSymbolBuckets&&!Ht.symbolFadeFinished()||this._removeTile(Gt)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(let L in this._tiles)this._tiles[L].holdingForFade()&&this._removeTile(L)}_updateRetainedTiles(L,J){var de;let pe={},Te={},Ze=Math.max(J-st.maxOverzooming,this._source.minzoom),rt=Math.max(J+st.maxUnderzooming,this._source.minzoom),vt={};for(let Mt of L){let Gt=this._addTile(Mt);pe[Mt.key]=Mt,Gt.hasData()||Jthis._source.maxzoom){let fr=Mt.children(this._source.maxzoom)[0],wr=this.getTile(fr);if(wr&&wr.hasData()){pe[fr.key]=fr;continue}}else{let fr=Mt.children(this._source.maxzoom);if(pe[fr[0].key]&&pe[fr[1].key]&&pe[fr[2].key]&&pe[fr[3].key])continue}let Ht=Gt.wasRequested();for(let fr=Mt.overscaledZ-1;fr>=Ze;--fr){let wr=Mt.scaledTo(fr);if(Te[wr.key])break;if(Te[wr.key]=!0,Gt=this.getTile(wr),!Gt&&Ht&&(Gt=this._addTile(wr)),Gt){let Le=Gt.hasData();if((Le||!(!((de=this.map)===null||de===void 0)&&de.cancelPendingTileRequestsWhileZooming)||Ht)&&(pe[wr.key]=wr),Ht=Gt.wasRequested(),Le)break}}}return pe}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(let L in this._tiles){let J=[],de,pe=this._tiles[L].tileID;for(;pe.overscaledZ>0;){if(pe.key in this._loadedParentTiles){de=this._loadedParentTiles[pe.key];break}J.push(pe.key);let Te=pe.scaledTo(pe.overscaledZ-1);if(de=this._getLoadedTile(Te),de)break;pe=Te}for(let Te of J)this._loadedParentTiles[Te]=de}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(let L in this._tiles){let J=this._tiles[L].tileID,de=this._getLoadedTile(J);this._loadedSiblingTiles[J.key]=de}}_addTile(L){let J=this._tiles[L.key];if(J)return J;J=this._cache.getAndRemove(L),J&&(this._setTileReloadTimer(L.key,J),J.tileID=L,this._state.initializeTileState(J,this.map?this.map.painter:null),this._cacheTimers[L.key]&&(clearTimeout(this._cacheTimers[L.key]),delete this._cacheTimers[L.key],this._setTileReloadTimer(L.key,J)));let de=J;return J||(J=new Ve(L,this._source.tileSize*L.overscaleFactor()),this._loadTile(J,L.key,J.state)),J.uses++,this._tiles[L.key]=J,de||this._source.fire(new e.k("dataloading",{tile:J,coord:J.tileID,dataType:"source"})),J}_setTileReloadTimer(L,J){L in this._timers&&(clearTimeout(this._timers[L]),delete this._timers[L]);let de=J.getExpiryTimeout();de&&(this._timers[L]=setTimeout(()=>{this._reloadTile(L,"expired"),delete this._timers[L]},de))}_removeTile(L){let J=this._tiles[L];J&&(J.uses--,delete this._tiles[L],this._timers[L]&&(clearTimeout(this._timers[L]),delete this._timers[L]),J.uses>0||(J.hasData()&&J.state!=="reloading"?this._cache.add(J.tileID,J,J.getExpiryTimeout()):(J.aborted=!0,this._abortTile(J),this._unloadTile(J))))}_dataHandler(L){let J=L.sourceDataType;L.dataType==="source"&&J==="metadata"&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&L.dataType==="source"&&J==="content"&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let L in this._tiles)this._removeTile(L);this._cache.reset()}tilesIn(L,J,de){let pe=[],Te=this.transform;if(!Te)return pe;let Ze=de?Te.getCameraQueryGeometry(L):L,rt=L.map(Le=>Te.pointCoordinate(Le,this.terrain)),vt=Ze.map(Le=>Te.pointCoordinate(Le,this.terrain)),Mt=this.getIds(),Gt=1/0,Ht=1/0,fr=-1/0,wr=-1/0;for(let Le of vt)Gt=Math.min(Gt,Le.x),Ht=Math.min(Ht,Le.y),fr=Math.max(fr,Le.x),wr=Math.max(wr,Le.y);for(let Le=0;Le=0&&tt[1].y+lt>=0){let dt=rt.map(Ot=>Ge.getTilePoint(Ot)),Rt=vt.map(Ot=>Ge.getTilePoint(Ot));pe.push({tile:Oe,tileID:Ge,queryGeometry:dt,cameraQueryGeometry:Rt,scale:$e})}}return pe}getVisibleCoordinates(L){let J=this.getRenderableIds(L).map(de=>this._tiles[de].tileID);for(let de of J)de.posMatrix=this.transform.calculatePosMatrix(de.toUnwrapped());return J}hasTransition(){if(this._source.hasTransition())return!0;if(At(this._source.type)){let L=n.now();for(let J in this._tiles)if(this._tiles[J].fadeEndTime>=L)return!0}return!1}setFeatureState(L,J,de){this._state.updateState(L=L||"_geojsonTileLayer",J,de)}removeFeatureState(L,J,de){this._state.removeFeatureState(L=L||"_geojsonTileLayer",J,de)}getFeatureState(L,J){return this._state.getState(L=L||"_geojsonTileLayer",J)}setDependencies(L,J,de){let pe=this._tiles[L];pe&&pe.setDependencies(J,de)}reloadTilesForDependencies(L,J){for(let de in this._tiles)this._tiles[de].hasDependency(L,J)&&this._reloadTile(de,"reloading");this._cache.filter(de=>!de.hasDependency(L,J))}}function yt(Me,L){let J=Math.abs(2*Me.wrap)-+(Me.wrap<0),de=Math.abs(2*L.wrap)-+(L.wrap<0);return Me.overscaledZ-L.overscaledZ||de-J||L.canonical.y-Me.canonical.y||L.canonical.x-Me.canonical.x}function At(Me){return Me==="raster"||Me==="image"||Me==="video"}st.maxOverzooming=10,st.maxUnderzooming=3;class Pt{constructor(L,J){this.reset(L,J)}reset(L,J){this.points=L||[],this._distances=[0];for(let de=1;de0?(pe-Ze)/rt:0;return this.points[Te].mult(1-vt).add(this.points[J].mult(vt))}}function Zt(Me,L){let J=!0;return Me==="always"||Me!=="never"&&L!=="never"||(J=!1),J}class vr{constructor(L,J,de){let pe=this.boxCells=[],Te=this.circleCells=[];this.xCellCount=Math.ceil(L/de),this.yCellCount=Math.ceil(J/de);for(let Ze=0;Zethis.width||pe<0||J>this.height)return[];let vt=[];if(L<=0&&J<=0&&this.width<=de&&this.height<=pe){if(Te)return[{key:null,x1:L,y1:J,x2:de,y2:pe}];for(let Mt=0;Mt0}hitTestCircle(L,J,de,pe,Te){let Ze=L-de,rt=L+de,vt=J-de,Mt=J+de;if(rt<0||Ze>this.width||Mt<0||vt>this.height)return!1;let Gt=[];return this._forEachCell(Ze,vt,rt,Mt,this._queryCellCircle,Gt,{hitTest:!0,overlapMode:pe,circle:{x:L,y:J,radius:de},seenUids:{box:{},circle:{}}},Te),Gt.length>0}_queryCell(L,J,de,pe,Te,Ze,rt,vt){let{seenUids:Mt,hitTest:Gt,overlapMode:Ht}=rt,fr=this.boxCells[Te];if(fr!==null){let Le=this.bboxes;for(let Oe of fr)if(!Mt.box[Oe]){Mt.box[Oe]=!0;let Ge=4*Oe,$e=this.boxKeys[Oe];if(L<=Le[Ge+2]&&J<=Le[Ge+3]&&de>=Le[Ge+0]&&pe>=Le[Ge+1]&&(!vt||vt($e))&&(!Gt||!Zt(Ht,$e.overlapMode))&&(Ze.push({key:$e,x1:Le[Ge],y1:Le[Ge+1],x2:Le[Ge+2],y2:Le[Ge+3]}),Gt))return!0}}let wr=this.circleCells[Te];if(wr!==null){let Le=this.circles;for(let Oe of wr)if(!Mt.circle[Oe]){Mt.circle[Oe]=!0;let Ge=3*Oe,$e=this.circleKeys[Oe];if(this._circleAndRectCollide(Le[Ge],Le[Ge+1],Le[Ge+2],L,J,de,pe)&&(!vt||vt($e))&&(!Gt||!Zt(Ht,$e.overlapMode))){let lt=Le[Ge],tt=Le[Ge+1],dt=Le[Ge+2];if(Ze.push({key:$e,x1:lt-dt,y1:tt-dt,x2:lt+dt,y2:tt+dt}),Gt)return!0}}}return!1}_queryCellCircle(L,J,de,pe,Te,Ze,rt,vt){let{circle:Mt,seenUids:Gt,overlapMode:Ht}=rt,fr=this.boxCells[Te];if(fr!==null){let Le=this.bboxes;for(let Oe of fr)if(!Gt.box[Oe]){Gt.box[Oe]=!0;let Ge=4*Oe,$e=this.boxKeys[Oe];if(this._circleAndRectCollide(Mt.x,Mt.y,Mt.radius,Le[Ge+0],Le[Ge+1],Le[Ge+2],Le[Ge+3])&&(!vt||vt($e))&&!Zt(Ht,$e.overlapMode))return Ze.push(!0),!0}}let wr=this.circleCells[Te];if(wr!==null){let Le=this.circles;for(let Oe of wr)if(!Gt.circle[Oe]){Gt.circle[Oe]=!0;let Ge=3*Oe,$e=this.circleKeys[Oe];if(this._circlesCollide(Le[Ge],Le[Ge+1],Le[Ge+2],Mt.x,Mt.y,Mt.radius)&&(!vt||vt($e))&&!Zt(Ht,$e.overlapMode))return Ze.push(!0),!0}}}_forEachCell(L,J,de,pe,Te,Ze,rt,vt){let Mt=this._convertToXCellCoord(L),Gt=this._convertToYCellCoord(J),Ht=this._convertToXCellCoord(de),fr=this._convertToYCellCoord(pe);for(let wr=Mt;wr<=Ht;wr++)for(let Le=Gt;Le<=fr;Le++)if(Te.call(this,L,J,de,pe,this.xCellCount*Le+wr,Ze,rt,vt))return}_convertToXCellCoord(L){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(L*this.xScale)))}_convertToYCellCoord(L){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(L*this.yScale)))}_circlesCollide(L,J,de,pe,Te,Ze){let rt=pe-L,vt=Te-J,Mt=de+Ze;return Mt*Mt>rt*rt+vt*vt}_circleAndRectCollide(L,J,de,pe,Te,Ze,rt){let vt=(Ze-pe)/2,Mt=Math.abs(L-(pe+vt));if(Mt>vt+de)return!1;let Gt=(rt-Te)/2,Ht=Math.abs(J-(Te+Gt));if(Ht>Gt+de)return!1;if(Mt<=vt||Ht<=Gt)return!0;let fr=Mt-vt,wr=Ht-Gt;return fr*fr+wr*wr<=de*de}}function Nt(Me,L,J,de,pe){let Te=e.H();return L?(e.K(Te,Te,[1/pe,1/pe,1]),J||e.ad(Te,Te,de.angle)):e.L(Te,de.labelPlaneMatrix,Me),Te}function Kt(Me,L,J,de,pe){if(L){let Te=e.ae(Me);return e.K(Te,Te,[pe,pe,1]),J||e.ad(Te,Te,-de.angle),Te}return de.glCoordMatrix}function nt(Me,L,J,de){let pe;de?(pe=[Me,L,de(Me,L),1],e.af(pe,pe,J)):(pe=[Me,L,0,1],St(pe,pe,J));let Te=pe[3];return{point:new e.P(pe[0]/Te,pe[1]/Te),signedDistanceFromCamera:Te,isOccluded:!1}}function Ee(Me,L){return .5+Me/L*.5}function ze(Me,L){return Me.x>=-L[0]&&Me.x<=L[0]&&Me.y>=-L[1]&&Me.y<=L[1]}function ve(Me,L,J,de,pe,Te,Ze,rt,vt,Mt,Gt,Ht,fr,wr,Le){let Oe=de?Me.textSizeData:Me.iconSizeData,Ge=e.ag(Oe,J.transform.zoom),$e=[256/J.width*2+1,256/J.height*2+1],lt=de?Me.text.dynamicLayoutVertexArray:Me.icon.dynamicLayoutVertexArray;lt.clear();let tt=Me.lineVertexArray,dt=de?Me.text.placedSymbolArray:Me.icon.placedSymbolArray,Rt=J.transform.width/J.transform.height,Ot=!1;for(let Xt=0;XtMath.abs(J.x-L.x)*de?{useVertical:!0}:(Me===e.ah.vertical?L.yJ.x)?{needsFlipping:!0}:null}function Be(Me,L,J,de,pe,Te,Ze,rt,vt,Mt,Gt){let Ht=J/24,fr=L.lineOffsetX*Ht,wr=L.lineOffsetY*Ht,Le;if(L.numGlyphs>1){let Oe=L.glyphStartIndex+L.numGlyphs,Ge=L.lineStartIndex,$e=L.lineStartIndex+L.lineLength,lt=_e(Ht,rt,fr,wr,de,L,Gt,Me);if(!lt)return{notEnoughRoom:!0};let tt=nt(lt.first.point.x,lt.first.point.y,Ze,Me.getElevation).point,dt=nt(lt.last.point.x,lt.last.point.y,Ze,Me.getElevation).point;if(pe&&!de){let Rt=Ie(L.writingMode,tt,dt,Mt);if(Rt)return Rt}Le=[lt.first];for(let Rt=L.glyphStartIndex+1;Rt0?tt.point:function(Ot,Xt,nr,pr,Lr,Br){return We(Ot,Xt,nr,1,Lr,Br)}(Me.tileAnchorPoint,lt,Ge,0,Te,Me),Rt=Ie(L.writingMode,Ge,dt,Mt);if(Rt)return Rt}let Oe=gt(Ht*rt.getoffsetX(L.glyphStartIndex),fr,wr,de,L.segment,L.lineStartIndex,L.lineStartIndex+L.lineLength,Me,Gt);if(!Oe||Me.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};Le=[Oe]}for(let Oe of Le)e.aj(vt,Oe.point,Oe.angle);return{}}function We(Me,L,J,de,pe,Te){let Ze=Me.add(Me.sub(L)._unit()),rt=pe!==void 0?nt(Ze.x,Ze.y,pe,Te.getElevation).point:mt(Ze.x,Ze.y,Te).point,vt=J.sub(rt);return J.add(vt._mult(de/vt.mag()))}function Xe(Me,L,J){let de=L.projectionCache;if(de.projections[Me])return de.projections[Me];let pe=new e.P(L.lineVertexArray.getx(Me),L.lineVertexArray.gety(Me)),Te=mt(pe.x,pe.y,L);if(Te.signedDistanceFromCamera>0)return de.projections[Me]=Te.point,de.anyProjectionOccluded=de.anyProjectionOccluded||Te.isOccluded,Te.point;let Ze=Me-J.direction;return function(rt,vt,Mt,Gt,Ht){return We(rt,vt,Mt,Gt,void 0,Ht)}(J.distanceFromAnchor===0?L.tileAnchorPoint:new e.P(L.lineVertexArray.getx(Ze),L.lineVertexArray.gety(Ze)),pe,J.previousVertex,J.absOffsetX-J.distanceFromAnchor+1,L)}function mt(Me,L,J){let de=Me+J.translation[0],pe=L+J.translation[1],Te;return!J.pitchWithMap&&J.projection.useSpecialProjectionForSymbols?(Te=J.projection.projectTileCoordinates(de,pe,J.unwrappedTileID,J.getElevation),Te.point.x=(.5*Te.point.x+.5)*J.width,Te.point.y=(.5*-Te.point.y+.5)*J.height):(Te=nt(de,pe,J.labelPlaneMatrix,J.getElevation),Te.isOccluded=!1),Te}function ft(Me,L,J){return Me._unit()._perp()._mult(L*J)}function ht(Me,L,J,de,pe,Te,Ze,rt,vt){if(rt.projectionCache.offsets[Me])return rt.projectionCache.offsets[Me];let Mt=J.add(L);if(Me+vt.direction=pe)return rt.projectionCache.offsets[Me]=Mt,Mt;let Gt=Xe(Me+vt.direction,rt,vt),Ht=ft(Gt.sub(J),Ze,vt.direction),fr=J.add(Ht),wr=Gt.add(Ht);return rt.projectionCache.offsets[Me]=e.ak(Te,Mt,fr,wr)||Mt,rt.projectionCache.offsets[Me]}function gt(Me,L,J,de,pe,Te,Ze,rt,vt){let Mt=de?Me-L:Me+L,Gt=Mt>0?1:-1,Ht=0;de&&(Gt*=-1,Ht=Math.PI),Gt<0&&(Ht+=Math.PI);let fr,wr=Gt>0?Te+pe:Te+pe+1;rt.projectionCache.cachedAnchorPoint?fr=rt.projectionCache.cachedAnchorPoint:(fr=mt(rt.tileAnchorPoint.x,rt.tileAnchorPoint.y,rt).point,rt.projectionCache.cachedAnchorPoint=fr);let Le,Oe,Ge=fr,$e=fr,lt=0,tt=0,dt=Math.abs(Mt),Rt=[],Ot;for(;lt+tt<=dt;){if(wr+=Gt,wr=Ze)return null;lt+=tt,$e=Ge,Oe=Le;let pr={absOffsetX:dt,direction:Gt,distanceFromAnchor:lt,previousVertex:$e};if(Ge=Xe(wr,rt,pr),J===0)Rt.push($e),Ot=Ge.sub($e);else{let Lr,Br=Ge.sub($e);Lr=Br.mag()===0?ft(Xe(wr+Gt,rt,pr).sub(Ge),J,Gt):ft(Br,J,Gt),Oe||(Oe=$e.add(Lr)),Le=ht(wr,Lr,Ge,Te,Ze,Oe,J,rt,pr),Rt.push(Oe),Ot=Le.sub(Oe)}tt=Ot.mag()}let Xt=Ot._mult((dt-lt)/tt)._add(Oe||$e),nr=Ht+Math.atan2(Ge.y-$e.y,Ge.x-$e.x);return Rt.push(Xt),{point:Xt,angle:vt?nr:0,path:Rt}}let _t=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Ft(Me,L){for(let J=0;J=1;Jn--)un.push(Za.path[Jn]);for(let Jn=1;JnPi.signedDistanceFromCamera<=0)?[]:Jn.map(Pi=>Pi.point)}let li=[];if(un.length>0){let Jn=un[0].clone(),Pi=un[0].clone();for(let ho=1;ho=Br.x&&Pi.x<=Kr.x&&Jn.y>=Br.y&&Pi.y<=Kr.y?[un]:Pi.xKr.x||Pi.yKr.y?[]:e.al([un],Br.x,Br.y,Kr.x,Kr.y)}for(let Jn of li){ya.reset(Jn,.25*Lr);let Pi=0;Pi=ya.length<=.5*Lr?1:Math.ceil(ya.paddedLength/Bn)+1;for(let ho=0;hont(pe.x,pe.y,de,J.getElevation))}queryRenderedSymbols(L){if(L.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};let J=[],de=1/0,pe=1/0,Te=-1/0,Ze=-1/0;for(let Gt of L){let Ht=new e.P(Gt.x+hr,Gt.y+hr);de=Math.min(de,Ht.x),pe=Math.min(pe,Ht.y),Te=Math.max(Te,Ht.x),Ze=Math.max(Ze,Ht.y),J.push(Ht)}let rt=this.grid.query(de,pe,Te,Ze).concat(this.ignoredGrid.query(de,pe,Te,Ze)),vt={},Mt={};for(let Gt of rt){let Ht=Gt.key;if(vt[Ht.bucketInstanceId]===void 0&&(vt[Ht.bucketInstanceId]={}),vt[Ht.bucketInstanceId][Ht.featureIndex])continue;let fr=[new e.P(Gt.x1,Gt.y1),new e.P(Gt.x2,Gt.y1),new e.P(Gt.x2,Gt.y2),new e.P(Gt.x1,Gt.y2)];e.am(J,fr)&&(vt[Ht.bucketInstanceId][Ht.featureIndex]=!0,Mt[Ht.bucketInstanceId]===void 0&&(Mt[Ht.bucketInstanceId]=[]),Mt[Ht.bucketInstanceId].push(Ht.featureIndex))}return Mt}insertCollisionBox(L,J,de,pe,Te,Ze){(de?this.ignoredGrid:this.grid).insert({bucketInstanceId:pe,featureIndex:Te,collisionGroupID:Ze,overlapMode:J},L[0],L[1],L[2],L[3])}insertCollisionCircles(L,J,de,pe,Te,Ze){let rt=de?this.ignoredGrid:this.grid,vt={bucketInstanceId:pe,featureIndex:Te,collisionGroupID:Ze,overlapMode:J};for(let Mt=0;Mt=this.screenRightBoundary||pethis.screenBottomBoundary}isInsideGrid(L,J,de,pe){return de>=0&&L=0&&Jthis.projectAndGetPerspectiveRatio(de,Lr.x,Lr.y,pe,Mt));nr=pr.some(Lr=>!Lr.isOccluded),Xt=pr.map(Lr=>Lr.point)}else nr=!0;return{box:e.ao(Xt),allPointsOccluded:!nr}}}function ra(Me,L,J){return L*(e.X/(Me.tileSize*Math.pow(2,J-Me.tileID.overscaledZ)))}class $r{constructor(L,J,de,pe){this.opacity=L?Math.max(0,Math.min(1,L.opacity+(L.placed?J:-J))):pe&&de?1:0,this.placed=de}isHidden(){return this.opacity===0&&!this.placed}}class pa{constructor(L,J,de,pe,Te){this.text=new $r(L?L.text:null,J,de,Te),this.icon=new $r(L?L.icon:null,J,pe,Te)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class oa{constructor(L,J,de){this.text=L,this.icon=J,this.skipFade=de}}class aa{constructor(){this.invProjMatrix=e.H(),this.viewportMatrix=e.H(),this.circles=[]}}class ka{constructor(L,J,de,pe,Te){this.bucketInstanceId=L,this.featureIndex=J,this.sourceLayerIndex=de,this.bucketIndex=pe,this.tileID=Te}}class Ta{constructor(L){this.crossSourceCollisions=L,this.maxGroupID=0,this.collisionGroups={}}get(L){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[L]){let J=++this.maxGroupID;this.collisionGroups[L]={ID:J,predicate:de=>de.collisionGroupID===J}}return this.collisionGroups[L]}}function Da(Me,L,J,de,pe){let{horizontalAlign:Te,verticalAlign:Ze}=e.au(Me);return new e.P(-(Te-.5)*L+de[0]*pe,-(Ze-.5)*J+de[1]*pe)}class La{constructor(L,J,de,pe,Te,Ze){this.transform=L.clone(),this.terrain=de,this.collisionIndex=new jr(this.transform,J),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=pe,this.retainedQueryData={},this.collisionGroups=new Ta(Te),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=Ze,Ze&&(Ze.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(L){let J=this.terrain;return J?(de,pe)=>J.getElevation(L,de,pe):null}getBucketParts(L,J,de,pe){let Te=de.getBucket(J),Ze=de.latestFeatureIndex;if(!Te||!Ze||J.id!==Te.layerIds[0])return;let rt=de.collisionBoxArray,vt=Te.layers[0].layout,Mt=Te.layers[0].paint,Gt=Math.pow(2,this.transform.zoom-de.tileID.overscaledZ),Ht=de.tileSize/e.X,fr=de.tileID.toUnwrapped(),wr=this.transform.calculatePosMatrix(fr),Le=vt.get("text-pitch-alignment")==="map",Oe=vt.get("text-rotation-alignment")==="map",Ge=ra(de,1,this.transform.zoom),$e=this.collisionIndex.mapProjection.translatePosition(this.transform,de,Mt.get("text-translate"),Mt.get("text-translate-anchor")),lt=this.collisionIndex.mapProjection.translatePosition(this.transform,de,Mt.get("icon-translate"),Mt.get("icon-translate-anchor")),tt=Nt(wr,Le,Oe,this.transform,Ge),dt=null;if(Le){let Ot=Kt(wr,Le,Oe,this.transform,Ge);dt=e.L([],this.transform.labelPlaneMatrix,Ot)}this.retainedQueryData[Te.bucketInstanceId]=new ka(Te.bucketInstanceId,Ze,Te.sourceLayerIndex,Te.index,de.tileID);let Rt={bucket:Te,layout:vt,translationText:$e,translationIcon:lt,posMatrix:wr,unwrappedTileID:fr,textLabelPlaneMatrix:tt,labelToScreenMatrix:dt,scale:Gt,textPixelRatio:Ht,holdingForFade:de.holdingForFade(),collisionBoxArray:rt,partiallyEvaluatedTextSize:e.ag(Te.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(Te.sourceID)};if(pe)for(let Ot of Te.sortKeyRanges){let{sortKey:Xt,symbolInstanceStart:nr,symbolInstanceEnd:pr}=Ot;L.push({sortKey:Xt,symbolInstanceStart:nr,symbolInstanceEnd:pr,parameters:Rt})}else L.push({symbolInstanceStart:0,symbolInstanceEnd:Te.symbolInstances.length,parameters:Rt})}attemptAnchorPlacement(L,J,de,pe,Te,Ze,rt,vt,Mt,Gt,Ht,fr,wr,Le,Oe,Ge,$e,lt,tt){let dt=e.aq[L.textAnchor],Rt=[L.textOffset0,L.textOffset1],Ot=Da(dt,de,pe,Rt,Te),Xt=this.collisionIndex.placeCollisionBox(J,fr,vt,Mt,Gt,rt,Ze,Ge,Ht.predicate,tt,Ot);if((!lt||this.collisionIndex.placeCollisionBox(lt,fr,vt,Mt,Gt,rt,Ze,$e,Ht.predicate,tt,Ot).placeable)&&Xt.placeable){let nr;if(this.prevPlacement&&this.prevPlacement.variableOffsets[wr.crossTileID]&&this.prevPlacement.placements[wr.crossTileID]&&this.prevPlacement.placements[wr.crossTileID].text&&(nr=this.prevPlacement.variableOffsets[wr.crossTileID].anchor),wr.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[wr.crossTileID]={textOffset:Rt,width:de,height:pe,anchor:dt,textBoxScale:Te,prevAnchor:nr},this.markUsedJustification(Le,dt,wr,Oe),Le.allowVerticalPlacement&&(this.markUsedOrientation(Le,Oe,wr),this.placedOrientations[wr.crossTileID]=Oe),{shift:Ot,placedGlyphBoxes:Xt}}}placeLayerBucketPart(L,J,de){let{bucket:pe,layout:Te,translationText:Ze,translationIcon:rt,posMatrix:vt,unwrappedTileID:Mt,textLabelPlaneMatrix:Gt,labelToScreenMatrix:Ht,textPixelRatio:fr,holdingForFade:wr,collisionBoxArray:Le,partiallyEvaluatedTextSize:Oe,collisionGroup:Ge}=L.parameters,$e=Te.get("text-optional"),lt=Te.get("icon-optional"),tt=e.ar(Te,"text-overlap","text-allow-overlap"),dt=tt==="always",Rt=e.ar(Te,"icon-overlap","icon-allow-overlap"),Ot=Rt==="always",Xt=Te.get("text-rotation-alignment")==="map",nr=Te.get("text-pitch-alignment")==="map",pr=Te.get("icon-text-fit")!=="none",Lr=Te.get("symbol-z-order")==="viewport-y",Br=dt&&(Ot||!pe.hasIconData()||lt),Kr=Ot&&(dt||!pe.hasTextData()||$e);!pe.collisionArrays&&Le&&pe.deserializeCollisionBoxes(Le);let ya=this._getTerrainElevationFunc(this.retainedQueryData[pe.bucketInstanceId].tileID),Za=(Ha,un,Bn)=>{var li,Jn;if(J[Ha.crossTileID])return;if(wr)return void(this.placements[Ha.crossTileID]=new oa(!1,!1,!1));let Pi=!1,ho=!1,to=!0,as=null,Fo={box:null,placeable:!1,offscreen:null},Ms={box:null,placeable:!1,offscreen:null},Ns=null,Vs=null,xs=null,ks=0,Cl=0,mu=0;un.textFeatureIndex?ks=un.textFeatureIndex:Ha.useRuntimeCollisionCircles&&(ks=Ha.featureIndex),un.verticalTextFeatureIndex&&(Cl=un.verticalTextFeatureIndex);let Hl=un.textBox;if(Hl){let hl=Ne=>{let Ke=e.ah.horizontal;if(pe.allowVerticalPlacement&&!Ne&&this.prevPlacement){let et=this.prevPlacement.placedOrientations[Ha.crossTileID];et&&(this.placedOrientations[Ha.crossTileID]=et,Ke=et,this.markUsedOrientation(pe,Ke,Ha))}return Ke},Ll=(Ne,Ke)=>{if(pe.allowVerticalPlacement&&Ha.numVerticalGlyphVertices>0&&un.verticalTextBox){for(let et of pe.writingModes)if(et===e.ah.vertical?(Fo=Ke(),Ms=Fo):Fo=Ne(),Fo&&Fo.placeable)break}else Fo=Ne()},ue=Ha.textAnchorOffsetStartIndex,we=Ha.textAnchorOffsetEndIndex;if(we===ue){let Ne=(Ke,et)=>{let ot=this.collisionIndex.placeCollisionBox(Ke,tt,fr,vt,Mt,nr,Xt,Ze,Ge.predicate,ya);return ot&&ot.placeable&&(this.markUsedOrientation(pe,et,Ha),this.placedOrientations[Ha.crossTileID]=et),ot};Ll(()=>Ne(Hl,e.ah.horizontal),()=>{let Ke=un.verticalTextBox;return pe.allowVerticalPlacement&&Ha.numVerticalGlyphVertices>0&&Ke?Ne(Ke,e.ah.vertical):{box:null,offscreen:null}}),hl(Fo&&Fo.placeable)}else{let Ne=e.aq[(Jn=(li=this.prevPlacement)===null||li===void 0?void 0:li.variableOffsets[Ha.crossTileID])===null||Jn===void 0?void 0:Jn.anchor],Ke=(ot,kt,xt)=>{let Ut=ot.x2-ot.x1,or=ot.y2-ot.y1,lr=Ha.textBoxScale,Dr=pr&&Rt==="never"?kt:null,Pr=null,ca=tt==="never"?1:2,_a="never";Ne&&ca++;for(let Ur=0;UrKe(Hl,un.iconBox,e.ah.horizontal),()=>{let ot=un.verticalTextBox;return pe.allowVerticalPlacement&&(!Fo||!Fo.placeable)&&Ha.numVerticalGlyphVertices>0&&ot?Ke(ot,un.verticalIconBox,e.ah.vertical):{box:null,occluded:!0,offscreen:null}}),Fo&&(Pi=Fo.placeable,to=Fo.offscreen);let et=hl(Fo&&Fo.placeable);if(!Pi&&this.prevPlacement){let ot=this.prevPlacement.variableOffsets[Ha.crossTileID];ot&&(this.variableOffsets[Ha.crossTileID]=ot,this.markUsedJustification(pe,ot.anchor,Ha,et))}}}if(Ns=Fo,Pi=Ns&&Ns.placeable,to=Ns&&Ns.offscreen,Ha.useRuntimeCollisionCircles){let hl=pe.text.placedSymbolArray.get(Ha.centerJustifiedTextSymbolIndex),Ll=e.ai(pe.textSizeData,Oe,hl),ue=Te.get("text-padding");Vs=this.collisionIndex.placeCollisionCircles(tt,hl,pe.lineVertexArray,pe.glyphOffsetArray,Ll,vt,Mt,Gt,Ht,de,nr,Ge.predicate,Ha.collisionCircleDiameter,ue,Ze,ya),Vs.circles.length&&Vs.collisionDetected&&!de&&e.w("Collisions detected, but collision boxes are not shown"),Pi=dt||Vs.circles.length>0&&!Vs.collisionDetected,to=to&&Vs.offscreen}if(un.iconFeatureIndex&&(mu=un.iconFeatureIndex),un.iconBox){let hl=Ll=>this.collisionIndex.placeCollisionBox(Ll,Rt,fr,vt,Mt,nr,Xt,rt,Ge.predicate,ya,pr&&as?as:void 0);Ms&&Ms.placeable&&un.verticalIconBox?(xs=hl(un.verticalIconBox),ho=xs.placeable):(xs=hl(un.iconBox),ho=xs.placeable),to=to&&xs.offscreen}let el=$e||Ha.numHorizontalGlyphVertices===0&&Ha.numVerticalGlyphVertices===0,Eu=lt||Ha.numIconVertices===0;el||Eu?Eu?el||(ho=ho&&Pi):Pi=ho&&Pi:ho=Pi=ho&Πlet gu=ho&&xs.placeable;if(Pi&&Ns.placeable&&this.collisionIndex.insertCollisionBox(Ns.box,tt,Te.get("text-ignore-placement"),pe.bucketInstanceId,Ms&&Ms.placeable&&Cl?Cl:ks,Ge.ID),gu&&this.collisionIndex.insertCollisionBox(xs.box,Rt,Te.get("icon-ignore-placement"),pe.bucketInstanceId,mu,Ge.ID),Vs&&Pi&&this.collisionIndex.insertCollisionCircles(Vs.circles,tt,Te.get("text-ignore-placement"),pe.bucketInstanceId,ks,Ge.ID),de&&this.storeCollisionData(pe.bucketInstanceId,Bn,un,Ns,xs,Vs),Ha.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");if(pe.bucketInstanceId===0)throw new Error("bucket.bucketInstanceId can't be 0");this.placements[Ha.crossTileID]=new oa(Pi||Br,ho||Kr,to||pe.justReloaded),J[Ha.crossTileID]=!0};if(Lr){if(L.symbolInstanceStart!==0)throw new Error("bucket.bucketInstanceId should be 0");let Ha=pe.getSortedSymbolIndexes(this.transform.angle);for(let un=Ha.length-1;un>=0;--un){let Bn=Ha[un];Za(pe.symbolInstances.get(Bn),pe.collisionArrays[Bn],Bn)}}else for(let Ha=L.symbolInstanceStart;Ha=0&&(L.text.placedSymbolArray.get(rt).crossTileID=Te>=0&&rt!==Te?0:de.crossTileID)}markUsedOrientation(L,J,de){let pe=J===e.ah.horizontal||J===e.ah.horizontalOnly?J:0,Te=J===e.ah.vertical?J:0,Ze=[de.leftJustifiedTextSymbolIndex,de.centerJustifiedTextSymbolIndex,de.rightJustifiedTextSymbolIndex];for(let rt of Ze)L.text.placedSymbolArray.get(rt).placedOrientation=pe;de.verticalPlacedTextSymbolIndex&&(L.text.placedSymbolArray.get(de.verticalPlacedTextSymbolIndex).placedOrientation=Te)}commit(L){this.commitTime=L,this.zoomAtLastRecencyCheck=this.transform.zoom;let J=this.prevPlacement,de=!1;this.prevZoomAdjustment=J?J.zoomAdjustment(this.transform.zoom):0;let pe=J?J.symbolFadeChange(L):1,Te=J?J.opacities:{},Ze=J?J.variableOffsets:{},rt=J?J.placedOrientations:{};for(let vt in this.placements){let Mt=this.placements[vt],Gt=Te[vt];Gt?(this.opacities[vt]=new pa(Gt,pe,Mt.text,Mt.icon),de=de||Mt.text!==Gt.text.placed||Mt.icon!==Gt.icon.placed):(this.opacities[vt]=new pa(null,pe,Mt.text,Mt.icon,Mt.skipFade),de=de||Mt.text||Mt.icon)}for(let vt in Te){let Mt=Te[vt];if(!this.opacities[vt]){let Gt=new pa(Mt,pe,!1,!1);Gt.isHidden()||(this.opacities[vt]=Gt,de=de||Mt.text.placed||Mt.icon.placed)}}for(let vt in Ze)this.variableOffsets[vt]||!this.opacities[vt]||this.opacities[vt].isHidden()||(this.variableOffsets[vt]=Ze[vt]);for(let vt in rt)this.placedOrientations[vt]||!this.opacities[vt]||this.opacities[vt].isHidden()||(this.placedOrientations[vt]=rt[vt]);if(J&&J.lastPlacementChangeTime===void 0)throw new Error("Last placement time for previous placement is not defined");de?this.lastPlacementChangeTime=L:typeof this.lastPlacementChangeTime!="number"&&(this.lastPlacementChangeTime=J?J.lastPlacementChangeTime:L)}updateLayerOpacities(L,J){let de={};for(let pe of J){let Te=pe.getBucket(L);Te&&pe.latestFeatureIndex&&L.id===Te.layerIds[0]&&this.updateBucketOpacities(Te,pe.tileID,de,pe.collisionBoxArray)}}updateBucketOpacities(L,J,de,pe){L.hasTextData()&&(L.text.opacityVertexArray.clear(),L.text.hasVisibleVertices=!1),L.hasIconData()&&(L.icon.opacityVertexArray.clear(),L.icon.hasVisibleVertices=!1),L.hasIconCollisionBoxData()&&L.iconCollisionBox.collisionVertexArray.clear(),L.hasTextCollisionBoxData()&&L.textCollisionBox.collisionVertexArray.clear();let Te=L.layers[0],Ze=Te.layout,rt=new pa(null,0,!1,!1,!0),vt=Ze.get("text-allow-overlap"),Mt=Ze.get("icon-allow-overlap"),Gt=Te._unevaluatedLayout.hasValue("text-variable-anchor")||Te._unevaluatedLayout.hasValue("text-variable-anchor-offset"),Ht=Ze.get("text-rotation-alignment")==="map",fr=Ze.get("text-pitch-alignment")==="map",wr=Ze.get("icon-text-fit")!=="none",Le=new pa(null,0,vt&&(Mt||!L.hasIconData()||Ze.get("icon-optional")),Mt&&(vt||!L.hasTextData()||Ze.get("text-optional")),!0);!L.collisionArrays&&pe&&(L.hasIconCollisionBoxData()||L.hasTextCollisionBoxData())&&L.deserializeCollisionBoxes(pe);let Oe=($e,lt,tt)=>{for(let dt=0;dt0,nr=this.placedOrientations[lt.crossTileID],pr=nr===e.ah.vertical,Lr=nr===e.ah.horizontal||nr===e.ah.horizontalOnly;if(tt>0||dt>0){let Kr=Dn(Ot.text);Oe(L.text,tt,pr?oi:Kr),Oe(L.text,dt,Lr?oi:Kr);let ya=Ot.text.isHidden();[lt.rightJustifiedTextSymbolIndex,lt.centerJustifiedTextSymbolIndex,lt.leftJustifiedTextSymbolIndex].forEach(un=>{un>=0&&(L.text.placedSymbolArray.get(un).hidden=ya||pr?1:0)}),lt.verticalPlacedTextSymbolIndex>=0&&(L.text.placedSymbolArray.get(lt.verticalPlacedTextSymbolIndex).hidden=ya||Lr?1:0);let Za=this.variableOffsets[lt.crossTileID];Za&&this.markUsedJustification(L,Za.anchor,lt,nr);let Ha=this.placedOrientations[lt.crossTileID];Ha&&(this.markUsedJustification(L,"left",lt,Ha),this.markUsedOrientation(L,Ha,lt))}if(Xt){let Kr=Dn(Ot.icon),ya=!(wr&<.verticalPlacedIconSymbolIndex&&pr);lt.placedIconSymbolIndex>=0&&(Oe(L.icon,lt.numIconVertices,ya?Kr:oi),L.icon.placedSymbolArray.get(lt.placedIconSymbolIndex).hidden=Ot.icon.isHidden()),lt.verticalPlacedIconSymbolIndex>=0&&(Oe(L.icon,lt.numVerticalIconVertices,ya?oi:Kr),L.icon.placedSymbolArray.get(lt.verticalPlacedIconSymbolIndex).hidden=Ot.icon.isHidden())}let Br=Ge&&Ge.has($e)?Ge.get($e):{text:null,icon:null};if(L.hasIconCollisionBoxData()||L.hasTextCollisionBoxData()){let Kr=L.collisionArrays[$e];if(Kr){let ya=new e.P(0,0);if(Kr.textBox||Kr.verticalTextBox){let Za=!0;if(Gt){let Ha=this.variableOffsets[Rt];Ha?(ya=Da(Ha.anchor,Ha.width,Ha.height,Ha.textOffset,Ha.textBoxScale),Ht&&ya._rotate(fr?this.transform.angle:-this.transform.angle)):Za=!1}if(Kr.textBox||Kr.verticalTextBox){let Ha;Kr.textBox&&(Ha=pr),Kr.verticalTextBox&&(Ha=Lr),Ga(L.textCollisionBox.collisionVertexArray,Ot.text.placed,!Za||Ha,Br.text,ya.x,ya.y)}}if(Kr.iconBox||Kr.verticalIconBox){let Za=!!(!Lr&&Kr.verticalIconBox),Ha;Kr.iconBox&&(Ha=Za),Kr.verticalIconBox&&(Ha=!Za),Ga(L.iconCollisionBox.collisionVertexArray,Ot.icon.placed,Ha,Br.icon,wr?ya.x:0,wr?ya.y:0)}}}}if(L.sortFeatures(this.transform.angle),this.retainedQueryData[L.bucketInstanceId]&&(this.retainedQueryData[L.bucketInstanceId].featureSortOrder=L.featureSortOrder),L.hasTextData()&&L.text.opacityVertexBuffer&&L.text.opacityVertexBuffer.updateData(L.text.opacityVertexArray),L.hasIconData()&&L.icon.opacityVertexBuffer&&L.icon.opacityVertexBuffer.updateData(L.icon.opacityVertexArray),L.hasIconCollisionBoxData()&&L.iconCollisionBox.collisionVertexBuffer&&L.iconCollisionBox.collisionVertexBuffer.updateData(L.iconCollisionBox.collisionVertexArray),L.hasTextCollisionBoxData()&&L.textCollisionBox.collisionVertexBuffer&&L.textCollisionBox.collisionVertexBuffer.updateData(L.textCollisionBox.collisionVertexArray),L.text.opacityVertexArray.length!==L.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${L.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${L.text.layoutVertexArray.length}) / 4`);if(L.icon.opacityVertexArray.length!==L.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${L.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${L.icon.layoutVertexArray.length}) / 4`);if(L.bucketInstanceId in this.collisionCircleArrays){let $e=this.collisionCircleArrays[L.bucketInstanceId];L.placementInvProjMatrix=$e.invProjMatrix,L.placementViewportMatrix=$e.viewportMatrix,L.collisionCircleArray=$e.circles,delete this.collisionCircleArrays[L.bucketInstanceId]}}symbolFadeChange(L){return this.fadeDuration===0?1:(L-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(L){return Math.max(0,(this.transform.zoom-L)/1.5)}hasTransitions(L){return this.stale||L-this.lastPlacementChangeTimeL}setStale(){this.stale=!0}}function Ga(Me,L,J,de,pe,Te){de&&de.length!==0||(de=[0,0,0,0]);let Ze=de[0]-hr,rt=de[1]-hr,vt=de[2]-hr,Mt=de[3]-hr;Me.emplaceBack(L?1:0,J?1:0,pe||0,Te||0,Ze,rt),Me.emplaceBack(L?1:0,J?1:0,pe||0,Te||0,vt,rt),Me.emplaceBack(L?1:0,J?1:0,pe||0,Te||0,vt,Mt),Me.emplaceBack(L?1:0,J?1:0,pe||0,Te||0,Ze,Mt)}let xa=Math.pow(2,25),Gn=Math.pow(2,24),Pn=Math.pow(2,17),sn=Math.pow(2,16),Yn=Math.pow(2,9),Zn=Math.pow(2,8),vi=Math.pow(2,1);function Dn(Me){if(Me.opacity===0&&!Me.placed)return 0;if(Me.opacity===1&&Me.placed)return 4294967295;let L=Me.placed?1:0,J=Math.floor(127*Me.opacity);return J*xa+L*Gn+J*Pn+L*sn+J*Yn+L*Zn+J*vi+L}let oi=0;function on(){return{isOccluded:(Me,L,J)=>!1,getPitchedTextCorrection:(Me,L,J)=>1,get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(Me,L,J,de){throw new Error("Not implemented.")},translatePosition:(Me,L,J,de)=>function(pe,Te,Ze,rt,vt=!1){if(!Ze[0]&&!Ze[1])return[0,0];let Mt=vt?rt==="map"?pe.angle:0:rt==="viewport"?-pe.angle:0;if(Mt){let Gt=Math.sin(Mt),Ht=Math.cos(Mt);Ze=[Ze[0]*Ht-Ze[1]*Gt,Ze[0]*Gt+Ze[1]*Ht]}return[vt?Ze[0]:ra(Te,Ze[0],pe.zoom),vt?Ze[1]:ra(Te,Ze[1],pe.zoom)]}(Me,L,J,de),getCircleRadiusCorrection:Me=>1}}class mn{constructor(L){this._sortAcrossTiles=L.layout.get("symbol-z-order")!=="viewport-y"&&!L.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(L,J,de,pe,Te){let Ze=this._bucketParts;for(;this._currentTileIndexrt.sortKey-vt.sortKey));this._currentPartIndex!this._forceFullPlacement&&n.now()-pe>2;for(;this._currentPlacementIndex>=0;){let Ze=J[L[this._currentPlacementIndex]],rt=this.placement.collisionIndex.transform.zoom;if(Ze.type==="symbol"&&(!Ze.minzoom||Ze.minzoom<=rt)&&(!Ze.maxzoom||Ze.maxzoom>rt)){if(this._inProgressLayer||(this._inProgressLayer=new mn(Ze)),this._inProgressLayer.continuePlacement(de[Ze.source],this.placement,this._showCollisionBoxes,Ze,Te))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(L){return this.placement.commit(L),this.placement}}let Li=512/e.X/2;class $a{constructor(L,J,de){this.tileID=L,this.bucketInstanceId=de,this._symbolsByKey={};let pe=new Map;for(let Te=0;Te({x:Math.floor(vt.anchorX*Li),y:Math.floor(vt.anchorY*Li)})),crossTileIDs:Ze.map(vt=>vt.crossTileID)};if(rt.positions.length>128){let vt=new e.av(rt.positions.length,16,Uint16Array);for(let{x:Mt,y:Gt}of rt.positions)vt.add(Mt,Gt);vt.finish(),delete rt.positions,rt.index=vt}this._symbolsByKey[Te]=rt}}getScaledCoordinates(L,J){let{x:de,y:pe,z:Te}=this.tileID.canonical,{x:Ze,y:rt,z:vt}=J.canonical,Mt=Li/Math.pow(2,vt-Te),Gt=(rt*e.X+L.anchorY)*Mt,Ht=pe*e.X*Li;return{x:Math.floor((Ze*e.X+L.anchorX)*Mt-de*e.X*Li),y:Math.floor(Gt-Ht)}}findMatches(L,J,de){let pe=this.tileID.canonical.zL)}}class Va{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class it{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(L){let J=Math.round((L-this.lng)/360);if(J!==0)for(let de in this.indexes){let pe=this.indexes[de],Te={};for(let Ze in pe){let rt=pe[Ze];rt.tileID=rt.tileID.unwrapTo(rt.tileID.wrap+J),Te[rt.tileID.key]=rt}this.indexes[de]=Te}this.lng=L}addBucket(L,J,de){if(this.indexes[L.overscaledZ]&&this.indexes[L.overscaledZ][L.key]){if(this.indexes[L.overscaledZ][L.key].bucketInstanceId===J.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(L.overscaledZ,this.indexes[L.overscaledZ][L.key])}for(let Te=0;TeL.overscaledZ)for(let rt in Ze){let vt=Ze[rt];vt.tileID.isChildOf(L)&&vt.findMatches(J.symbolInstances,L,pe)}else{let rt=Ze[L.scaledTo(Number(Te)).key];rt&&rt.findMatches(J.symbolInstances,L,pe)}}for(let Te=0;Te{J[de]=!0});for(let de in this.layerIndexes)J[de]||delete this.layerIndexes[de]}}let Jt=(Me,L)=>e.t(Me,L&&L.filter(J=>J.identifier!=="source.canvas")),Yt=e.aw();class ar extends e.E{constructor(L,J={}){super(),this._rtlPluginLoaded=()=>{for(let de in this.sourceCaches){let pe=this.sourceCaches[de].getSource().type;pe!=="vector"&&pe!=="geojson"||this.sourceCaches[de].reload()}},this.map=L,this.dispatcher=new K(H(),L._getMapId()),this.dispatcher.registerMessageHandler("GG",(de,pe)=>this.getGlyphs(de,pe)),this.dispatcher.registerMessageHandler("GI",(de,pe)=>this.getImages(de,pe)),this.imageManager=new _,this.imageManager.setEventedParent(this),this.glyphManager=new R(L._requestManager,J.localIdeographFontFamily),this.lineAtlas=new q(256,512),this.crossTileSymbolIndex=new Qe,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new e.ax,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast("SR",e.ay()),Fe().on(le,this._rtlPluginLoaded),this.on("data",de=>{if(de.dataType!=="source"||de.sourceDataType!=="metadata")return;let pe=this.sourceCaches[de.sourceId];if(!pe)return;let Te=pe.getSource();if(Te&&Te.vectorLayerIds)for(let Ze in this._layers){let rt=this._layers[Ze];rt.source===Te.id&&this._validateLayer(rt)}})}loadURL(L,J={},de){this.fire(new e.k("dataloading",{dataType:"style"})),J.validate=typeof J.validate!="boolean"||J.validate;let pe=this.map._requestManager.transformRequest(L,"Style");this._loadStyleRequest=new AbortController;let Te=this._loadStyleRequest;e.h(pe,this._loadStyleRequest).then(Ze=>{this._loadStyleRequest=null,this._load(Ze.data,J,de)}).catch(Ze=>{this._loadStyleRequest=null,Ze&&!Te.signal.aborted&&this.fire(new e.j(Ze))})}loadJSON(L,J={},de){this.fire(new e.k("dataloading",{dataType:"style"})),this._frameRequest=new AbortController,n.frameAsync(this._frameRequest).then(()=>{this._frameRequest=null,J.validate=J.validate!==!1,this._load(L,J,de)}).catch(()=>{})}loadEmpty(){this.fire(new e.k("dataloading",{dataType:"style"})),this._load(Yt,{validate:!1})}_load(L,J,de){var pe;let Te=J.transformStyle?J.transformStyle(de,L):L;if(!J.validate||!Jt(this,e.u(Te))){this._loaded=!0,this.stylesheet=Te;for(let Ze in Te.sources)this.addSource(Ze,Te.sources[Ze],{validate:!1});Te.sprite?this._loadSprite(Te.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(Te.glyphs),this._createLayers(),this.light=new k(this.stylesheet.light),this.sky=new O(this.stylesheet.sky),this.map.setTerrain((pe=this.stylesheet.terrain)!==null&&pe!==void 0?pe:null),this.fire(new e.k("data",{dataType:"style"})),this.fire(new e.k("style.load"))}}_createLayers(){let L=e.az(this.stylesheet.layers);this.dispatcher.broadcast("SL",L),this._order=L.map(J=>J.id),this._layers={},this._serializedLayers=null;for(let J of L){let de=e.aA(J);de.setEventedParent(this,{layer:{id:J.id}}),this._layers[J.id]=de}}_loadSprite(L,J=!1,de=void 0){let pe;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(Te,Ze,rt,vt){return e._(this,void 0,void 0,function*(){let Mt=A(Te),Gt=rt>1?"@2x":"",Ht={},fr={};for(let{id:wr,url:Le}of Mt){let Oe=Ze.transformRequest(m(Le,Gt,".json"),"SpriteJSON");Ht[wr]=e.h(Oe,vt);let Ge=Ze.transformRequest(m(Le,Gt,".png"),"SpriteImage");fr[wr]=o.getImage(Ge,vt)}return yield Promise.all([...Object.values(Ht),...Object.values(fr)]),function(wr,Le){return e._(this,void 0,void 0,function*(){let Oe={};for(let Ge in wr){Oe[Ge]={};let $e=n.getImageCanvasContext((yield Le[Ge]).data),lt=(yield wr[Ge]).data;for(let tt in lt){let{width:dt,height:Rt,x:Ot,y:Xt,sdf:nr,pixelRatio:pr,stretchX:Lr,stretchY:Br,content:Kr,textFitWidth:ya,textFitHeight:Za}=lt[tt];Oe[Ge][tt]={data:null,pixelRatio:pr,sdf:nr,stretchX:Lr,stretchY:Br,content:Kr,textFitWidth:ya,textFitHeight:Za,spriteData:{width:dt,height:Rt,x:Ot,y:Xt,context:$e}}}}return Oe})}(Ht,fr)})}(L,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then(Te=>{if(this._spriteRequest=null,Te)for(let Ze in Te){this._spritesImagesIds[Ze]=[];let rt=this._spritesImagesIds[Ze]?this._spritesImagesIds[Ze].filter(vt=>!(vt in Te)):[];for(let vt of rt)this.imageManager.removeImage(vt),this._changedImages[vt]=!0;for(let vt in Te[Ze]){let Mt=Ze==="default"?vt:`${Ze}:${vt}`;this._spritesImagesIds[Ze].push(Mt),Mt in this.imageManager.images?this.imageManager.updateImage(Mt,Te[Ze][vt],!1):this.imageManager.addImage(Mt,Te[Ze][vt]),J&&(this._changedImages[Mt]=!0)}}}).catch(Te=>{this._spriteRequest=null,pe=Te,this.fire(new e.j(pe))}).finally(()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),J&&(this._changed=!0),this.dispatcher.broadcast("SI",this._availableImages),this.fire(new e.k("data",{dataType:"style"})),de&&de(pe)})}_unloadSprite(){for(let L of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(L),this._changedImages[L]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new e.k("data",{dataType:"style"}))}_validateLayer(L){let J=this.sourceCaches[L.source];if(!J)return;let de=L.sourceLayer;if(!de)return;let pe=J.getSource();(pe.type==="geojson"||pe.vectorLayerIds&&pe.vectorLayerIds.indexOf(de)===-1)&&this.fire(new e.j(new Error(`Source layer "${de}" does not exist on source "${pe.id}" as specified by style layer "${L.id}".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let L in this.sourceCaches)if(!this.sourceCaches[L].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(L,J=!1){let de=this._serializedAllLayers();if(!L||L.length===0)return Object.values(J?e.aB(de):de);let pe=[];for(let Te of L)if(de[Te]){let Ze=J?e.aB(de[Te]):de[Te];pe.push(Ze)}return pe}_serializedAllLayers(){let L=this._serializedLayers;if(L)return L;L=this._serializedLayers={};let J=Object.keys(this._layers);for(let de of J){let pe=this._layers[de];pe.type!=="custom"&&(L[de]=pe.serialize())}return L}hasTransitions(){if(this.light&&this.light.hasTransition()||this.sky&&this.sky.hasTransition())return!0;for(let L in this.sourceCaches)if(this.sourceCaches[L].hasTransition())return!0;for(let L in this._layers)if(this._layers[L].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading.")}update(L){if(!this._loaded)return;let J=this._changed;if(J){let pe=Object.keys(this._updatedLayers),Te=Object.keys(this._removedLayers);(pe.length||Te.length)&&this._updateWorkerLayers(pe,Te);for(let Ze in this._updatedSources){let rt=this._updatedSources[Ze];if(rt==="reload")this._reloadSource(Ze);else{if(rt!=="clear")throw new Error(`Invalid action ${rt}`);this._clearSource(Ze)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let Ze in this._updatedPaintProps)this._layers[Ze].updateTransitions(L);this.light.updateTransitions(L),this.sky.updateTransitions(L),this._resetUpdates()}let de={};for(let pe in this.sourceCaches){let Te=this.sourceCaches[pe];de[pe]=Te.used,Te.used=!1}for(let pe of this._order){let Te=this._layers[pe];Te.recalculate(L,this._availableImages),!Te.isHidden(L.zoom)&&Te.source&&(this.sourceCaches[Te.source].used=!0)}for(let pe in de){let Te=this.sourceCaches[pe];!!de[pe]!=!!Te.used&&Te.fire(new e.k("data",{sourceDataType:"visibility",dataType:"source",sourceId:pe}))}this.light.recalculate(L),this.sky.recalculate(L),this.z=L.zoom,J&&this.fire(new e.k("data",{dataType:"style"}))}_updateTilesForChangedImages(){let L=Object.keys(this._changedImages);if(L.length){for(let J in this.sourceCaches)this.sourceCaches[J].reloadTilesForDependencies(["icons","patterns"],L);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let L in this.sourceCaches)this.sourceCaches[L].reloadTilesForDependencies(["glyphs"],[""]);this._glyphsDidChange=!1}}_updateWorkerLayers(L,J){this.dispatcher.broadcast("UL",{layers:this._serializeByIds(L,!1),removedIds:J})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(L,J={}){var de;this._checkLoaded();let pe=this.serialize();if(L=J.transformStyle?J.transformStyle(pe,L):L,((de=J.validate)===null||de===void 0||de)&&Jt(this,e.u(L)))return!1;(L=e.aB(L)).layers=e.az(L.layers);let Te=e.aC(pe,L),Ze=this._getOperationsToPerform(Te);if(Ze.unimplemented.length>0)throw new Error(`Unimplemented: ${Ze.unimplemented.join(", ")}.`);if(Ze.operations.length===0)return!1;for(let rt of Ze.operations)rt();return this.stylesheet=L,this._serializedLayers=null,!0}_getOperationsToPerform(L){let J=[],de=[];for(let pe of L)switch(pe.command){case"setCenter":case"setZoom":case"setBearing":case"setPitch":continue;case"addLayer":J.push(()=>this.addLayer.apply(this,pe.args));break;case"removeLayer":J.push(()=>this.removeLayer.apply(this,pe.args));break;case"setPaintProperty":J.push(()=>this.setPaintProperty.apply(this,pe.args));break;case"setLayoutProperty":J.push(()=>this.setLayoutProperty.apply(this,pe.args));break;case"setFilter":J.push(()=>this.setFilter.apply(this,pe.args));break;case"addSource":J.push(()=>this.addSource.apply(this,pe.args));break;case"removeSource":J.push(()=>this.removeSource.apply(this,pe.args));break;case"setLayerZoomRange":J.push(()=>this.setLayerZoomRange.apply(this,pe.args));break;case"setLight":J.push(()=>this.setLight.apply(this,pe.args));break;case"setGeoJSONSourceData":J.push(()=>this.setGeoJSONSourceData.apply(this,pe.args));break;case"setGlyphs":J.push(()=>this.setGlyphs.apply(this,pe.args));break;case"setSprite":J.push(()=>this.setSprite.apply(this,pe.args));break;case"setSky":J.push(()=>this.setSky.apply(this,pe.args));break;case"setTerrain":J.push(()=>this.map.setTerrain.apply(this,pe.args));break;case"setTransition":J.push(()=>{});break;default:de.push(pe.command)}return{operations:J,unimplemented:de}}addImage(L,J){if(this.getImage(L))return this.fire(new e.j(new Error(`An image named "${L}" already exists.`)));this.imageManager.addImage(L,J),this._afterImageUpdated(L)}updateImage(L,J){this.imageManager.updateImage(L,J)}getImage(L){return this.imageManager.getImage(L)}removeImage(L){if(!this.getImage(L))return this.fire(new e.j(new Error(`An image named "${L}" does not exist.`)));this.imageManager.removeImage(L),this._afterImageUpdated(L)}_afterImageUpdated(L){this._availableImages=this.imageManager.listImages(),this._changedImages[L]=!0,this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new e.k("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(L,J,de={}){if(this._checkLoaded(),this.sourceCaches[L]!==void 0)throw new Error(`Source "${L}" already exists.`);if(!J.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(J).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(J.type)>=0&&this._validate(e.u.source,`sources.${L}`,J,null,de))return;this.map&&this.map._collectResourceTiming&&(J.collectResourceTiming=!0);let pe=this.sourceCaches[L]=new st(L,J,this.dispatcher);pe.style=this,pe.setEventedParent(this,()=>({isSourceLoaded:pe.loaded(),source:pe.serialize(),sourceId:L})),pe.onAdd(this.map),this._changed=!0}removeSource(L){if(this._checkLoaded(),this.sourceCaches[L]===void 0)throw new Error("There is no source with this ID");for(let de in this._layers)if(this._layers[de].source===L)return this.fire(new e.j(new Error(`Source "${L}" cannot be removed while layer "${de}" is using it.`)));let J=this.sourceCaches[L];delete this.sourceCaches[L],delete this._updatedSources[L],J.fire(new e.k("data",{sourceDataType:"metadata",dataType:"source",sourceId:L})),J.setEventedParent(null),J.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(L,J){if(this._checkLoaded(),this.sourceCaches[L]===void 0)throw new Error(`There is no source with this ID=${L}`);let de=this.sourceCaches[L].getSource();if(de.type!=="geojson")throw new Error(`geojsonSource.type is ${de.type}, which is !== 'geojson`);de.setData(J),this._changed=!0}getSource(L){return this.sourceCaches[L]&&this.sourceCaches[L].getSource()}addLayer(L,J,de={}){this._checkLoaded();let pe=L.id;if(this.getLayer(pe))return void this.fire(new e.j(new Error(`Layer "${pe}" already exists on this map.`)));let Te;if(L.type==="custom"){if(Jt(this,e.aD(L)))return;Te=e.aA(L)}else{if("source"in L&&typeof L.source=="object"&&(this.addSource(pe,L.source),L=e.aB(L),L=e.e(L,{source:pe})),this._validate(e.u.layer,`layers.${pe}`,L,{arrayIndex:-1},de))return;Te=e.aA(L),this._validateLayer(Te),Te.setEventedParent(this,{layer:{id:pe}})}let Ze=J?this._order.indexOf(J):this._order.length;if(J&&Ze===-1)this.fire(new e.j(new Error(`Cannot add layer "${pe}" before non-existing layer "${J}".`)));else{if(this._order.splice(Ze,0,pe),this._layerOrderChanged=!0,this._layers[pe]=Te,this._removedLayers[pe]&&Te.source&&Te.type!=="custom"){let rt=this._removedLayers[pe];delete this._removedLayers[pe],rt.type!==Te.type?this._updatedSources[Te.source]="clear":(this._updatedSources[Te.source]="reload",this.sourceCaches[Te.source].pause())}this._updateLayer(Te),Te.onAdd&&Te.onAdd(this.map)}}moveLayer(L,J){if(this._checkLoaded(),this._changed=!0,!this._layers[L])return void this.fire(new e.j(new Error(`The layer '${L}' does not exist in the map's style and cannot be moved.`)));if(L===J)return;let de=this._order.indexOf(L);this._order.splice(de,1);let pe=J?this._order.indexOf(J):this._order.length;J&&pe===-1?this.fire(new e.j(new Error(`Cannot move layer "${L}" before non-existing layer "${J}".`))):(this._order.splice(pe,0,L),this._layerOrderChanged=!0)}removeLayer(L){this._checkLoaded();let J=this._layers[L];if(!J)return void this.fire(new e.j(new Error(`Cannot remove non-existing layer "${L}".`)));J.setEventedParent(null);let de=this._order.indexOf(L);this._order.splice(de,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[L]=J,delete this._layers[L],this._serializedLayers&&delete this._serializedLayers[L],delete this._updatedLayers[L],delete this._updatedPaintProps[L],J.onRemove&&J.onRemove(this.map)}getLayer(L){return this._layers[L]}getLayersOrder(){return[...this._order]}hasLayer(L){return L in this._layers}setLayerZoomRange(L,J,de){this._checkLoaded();let pe=this.getLayer(L);pe?pe.minzoom===J&&pe.maxzoom===de||(J!=null&&(pe.minzoom=J),de!=null&&(pe.maxzoom=de),this._updateLayer(pe)):this.fire(new e.j(new Error(`Cannot set the zoom range of non-existing layer "${L}".`)))}setFilter(L,J,de={}){this._checkLoaded();let pe=this.getLayer(L);if(pe){if(!e.aE(pe.filter,J))return J==null?(pe.filter=void 0,void this._updateLayer(pe)):void(this._validate(e.u.filter,`layers.${pe.id}.filter`,J,null,de)||(pe.filter=e.aB(J),this._updateLayer(pe)))}else this.fire(new e.j(new Error(`Cannot filter non-existing layer "${L}".`)))}getFilter(L){return e.aB(this.getLayer(L).filter)}setLayoutProperty(L,J,de,pe={}){this._checkLoaded();let Te=this.getLayer(L);Te?e.aE(Te.getLayoutProperty(J),de)||(Te.setLayoutProperty(J,de,pe),this._updateLayer(Te)):this.fire(new e.j(new Error(`Cannot style non-existing layer "${L}".`)))}getLayoutProperty(L,J){let de=this.getLayer(L);if(de)return de.getLayoutProperty(J);this.fire(new e.j(new Error(`Cannot get style of non-existing layer "${L}".`)))}setPaintProperty(L,J,de,pe={}){this._checkLoaded();let Te=this.getLayer(L);Te?e.aE(Te.getPaintProperty(J),de)||(Te.setPaintProperty(J,de,pe)&&this._updateLayer(Te),this._changed=!0,this._updatedPaintProps[L]=!0,this._serializedLayers=null):this.fire(new e.j(new Error(`Cannot style non-existing layer "${L}".`)))}getPaintProperty(L,J){return this.getLayer(L).getPaintProperty(J)}setFeatureState(L,J){this._checkLoaded();let de=L.source,pe=L.sourceLayer,Te=this.sourceCaches[de];if(Te===void 0)return void this.fire(new e.j(new Error(`The source '${de}' does not exist in the map's style.`)));let Ze=Te.getSource().type;Ze==="geojson"&&pe?this.fire(new e.j(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):Ze!=="vector"||pe?(L.id===void 0&&this.fire(new e.j(new Error("The feature id parameter must be provided."))),Te.setFeatureState(pe,L.id,J)):this.fire(new e.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(L,J){this._checkLoaded();let de=L.source,pe=this.sourceCaches[de];if(pe===void 0)return void this.fire(new e.j(new Error(`The source '${de}' does not exist in the map's style.`)));let Te=pe.getSource().type,Ze=Te==="vector"?L.sourceLayer:void 0;Te!=="vector"||Ze?J&&typeof L.id!="string"&&typeof L.id!="number"?this.fire(new e.j(new Error("A feature id is required to remove its specific state property."))):pe.removeFeatureState(Ze,L.id,J):this.fire(new e.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(L){this._checkLoaded();let J=L.source,de=L.sourceLayer,pe=this.sourceCaches[J];if(pe!==void 0)return pe.getSource().type!=="vector"||de?(L.id===void 0&&this.fire(new e.j(new Error("The feature id parameter must be provided."))),pe.getFeatureState(de,L.id)):void this.fire(new e.j(new Error("The sourceLayer parameter must be provided for vector source types.")));this.fire(new e.j(new Error(`The source '${J}' does not exist in the map's style.`)))}getTransition(){return e.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;let L=e.aF(this.sourceCaches,Te=>Te.serialize()),J=this._serializeByIds(this._order,!0),de=this.map.getTerrain()||void 0,pe=this.stylesheet;return e.aG({version:pe.version,name:pe.name,metadata:pe.metadata,light:pe.light,sky:pe.sky,center:pe.center,zoom:pe.zoom,bearing:pe.bearing,pitch:pe.pitch,sprite:pe.sprite,glyphs:pe.glyphs,transition:pe.transition,sources:L,layers:J,terrain:de},Te=>Te!==void 0)}_updateLayer(L){this._updatedLayers[L.id]=!0,L.source&&!this._updatedSources[L.source]&&this.sourceCaches[L.source].getSource().type!=="raster"&&(this._updatedSources[L.source]="reload",this.sourceCaches[L.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(L){let J=Ze=>this._layers[Ze].type==="fill-extrusion",de={},pe=[];for(let Ze=this._order.length-1;Ze>=0;Ze--){let rt=this._order[Ze];if(J(rt)){de[rt]=Ze;for(let vt of L){let Mt=vt[rt];if(Mt)for(let Gt of Mt)pe.push(Gt)}}}pe.sort((Ze,rt)=>rt.intersectionZ-Ze.intersectionZ);let Te=[];for(let Ze=this._order.length-1;Ze>=0;Ze--){let rt=this._order[Ze];if(J(rt))for(let vt=pe.length-1;vt>=0;vt--){let Mt=pe[vt].feature;if(de[Mt.layer.id]{let nr=$e.featureSortOrder;if(nr){let pr=nr.indexOf(Ot.featureIndex);return nr.indexOf(Xt.featureIndex)-pr}return Xt.featureIndex-Ot.featureIndex});for(let Ot of Rt)dt.push(Ot)}}for(let $e in Le)Le[$e].forEach(lt=>{let tt=lt.feature,dt=Mt[rt[$e].source].getFeatureState(tt.layer["source-layer"],tt.id);tt.source=tt.layer.source,tt.layer["source-layer"]&&(tt.sourceLayer=tt.layer["source-layer"]),tt.state=dt});return Le}(this._layers,Ze,this.sourceCaches,L,J,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(Te)}querySourceFeatures(L,J){J&&J.filter&&this._validate(e.u.filter,"querySourceFeatures.filter",J.filter,null,J);let de=this.sourceCaches[L];return de?function(pe,Te){let Ze=pe.getRenderableIds().map(Mt=>pe.getTileByID(Mt)),rt=[],vt={};for(let Mt=0;Mtfr.getTileByID(wr)).sort((wr,Le)=>Le.tileID.overscaledZ-wr.tileID.overscaledZ||(wr.tileID.isLessThan(Le.tileID)?-1:1))}let Ht=this.crossTileSymbolIndex.addLayer(Gt,vt[Gt.source],L.center.lng);Ze=Ze||Ht}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((Te=Te||this._layerOrderChanged||de===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(n.now(),L.zoom))&&(this.pauseablePlacement=new bi(L,this.map.terrain,this._order,Te,J,de,pe,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,vt),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(n.now()),rt=!0),Ze&&this.pauseablePlacement.placement.setStale()),rt||Ze)for(let Mt of this._order){let Gt=this._layers[Mt];Gt.type==="symbol"&&this.placement.updateLayerOpacities(Gt,vt[Gt.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(n.now())}_releaseSymbolFadeTiles(){for(let L in this.sourceCaches)this.sourceCaches[L].releaseSymbolFadeTiles()}getImages(L,J){return e._(this,void 0,void 0,function*(){let de=yield this.imageManager.getImages(J.icons);this._updateTilesForChangedImages();let pe=this.sourceCaches[J.source];return pe&&pe.setDependencies(J.tileID.key,J.type,J.icons),de})}getGlyphs(L,J){return e._(this,void 0,void 0,function*(){let de=yield this.glyphManager.getGlyphs(J.stacks),pe=this.sourceCaches[J.source];return pe&&pe.setDependencies(J.tileID.key,J.type,[""]),de})}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(L,J={}){this._checkLoaded(),L&&this._validate(e.u.glyphs,"glyphs",L,null,J)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=L,this.glyphManager.entries={},this.glyphManager.setURL(L))}addSprite(L,J,de={},pe){this._checkLoaded();let Te=[{id:L,url:J}],Ze=[...A(this.stylesheet.sprite),...Te];this._validate(e.u.sprite,"sprite",Ze,null,de)||(this.stylesheet.sprite=Ze,this._loadSprite(Te,!0,pe))}removeSprite(L){this._checkLoaded();let J=A(this.stylesheet.sprite);if(J.find(de=>de.id===L)){if(this._spritesImagesIds[L])for(let de of this._spritesImagesIds[L])this.imageManager.removeImage(de),this._changedImages[de]=!0;J.splice(J.findIndex(de=>de.id===L),1),this.stylesheet.sprite=J.length>0?J:void 0,delete this._spritesImagesIds[L],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new e.k("data",{dataType:"style"}))}else this.fire(new e.j(new Error(`Sprite "${L}" doesn't exists on this map.`)))}getSprite(){return A(this.stylesheet.sprite)}setSprite(L,J={},de){this._checkLoaded(),L&&this._validate(e.u.sprite,"sprite",L,null,J)||(this.stylesheet.sprite=L,L?this._loadSprite(L,!0,de):(this._unloadSprite(),de&&de(null)))}}var cr=e.Y([{name:"a_pos",type:"Int16",components:2}]);let tr={prelude:Je(`#ifdef GL_ES precision mediump float; #else #if !defined(lowp) @@ -3266,15 +2765,15 @@ vec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=frac #else return 0.0; #endif -}`),background:xt(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity; +}`),background:Je(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity; #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(1.0); #endif -}`,"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; +}`,"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),backgroundPattern:Je(`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; #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(1.0); #endif -}`,"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; +}`,"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:Je(`varying vec3 v_data;varying float v_visibility; #pragma mapbox: define highp vec4 color #pragma mapbox: define mediump float radius #pragma mapbox: define lowp float blur @@ -3310,7 +2809,7 @@ void main(void) { #pragma mapbox: initialize highp vec4 stroke_color #pragma mapbox: initialize mediump float stroke_width #pragma mapbox: initialize lowp float stroke_opacity -vec2 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; +vec2 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:Je("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:Je(`uniform highp float u_intensity;varying vec2 v_extrude; #pragma mapbox: define highp float weight #define GAUSS_COEF 0.3989422804014327 void main() { @@ -3327,11 +2826,11 @@ const highp float ZERO=1.0/255.0/16.0; void main(void) { #pragma mapbox: initialize highp float weight #pragma mapbox: initialize mediump float radius -vec2 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; +vec2 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:Je(`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; #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(0.0); #endif -}`,"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 +}`,"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:Je("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:Je("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:Je("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:Je(`#pragma mapbox: define highp vec4 color #pragma mapbox: define lowp float opacity void main() { #pragma mapbox: initialize highp vec4 color @@ -3346,7 +2845,7 @@ gl_FragColor=vec4(1.0); void main() { #pragma mapbox: initialize highp vec4 color #pragma mapbox: initialize lowp float opacity -gl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:xt(`varying vec2 v_pos; +gl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:Je(`varying vec2 v_pos; #pragma mapbox: define highp vec4 outline_color #pragma mapbox: define lowp float opacity void main() { @@ -3362,7 +2861,7 @@ gl_FragColor=vec4(1.0); void main() { #pragma mapbox: initialize highp vec4 outline_color #pragma mapbox: initialize lowp float opacity -gl_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; +gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillOutlinePattern:Je(`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; #pragma mapbox: define lowp float opacity #pragma mapbox: define lowp vec4 pattern_from #pragma mapbox: define lowp vec4 pattern_to @@ -3386,7 +2885,7 @@ void main() { #pragma mapbox: initialize mediump vec4 pattern_to #pragma mapbox: initialize lowp float pixel_ratio_from #pragma mapbox: initialize lowp float pixel_ratio_to -vec2 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 +vec2 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:Je(`#ifdef GL_ES precision highp float; #endif uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b; @@ -3413,7 +2912,7 @@ void main() { #pragma mapbox: initialize mediump vec4 pattern_to #pragma mapbox: initialize lowp float pixel_ratio_from #pragma mapbox: initialize lowp float pixel_ratio_to -vec2 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; +vec2 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:Je(`varying vec4 v_color;void main() {gl_FragColor=v_color; #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(1.0); #endif @@ -3435,7 +2934,7 @@ float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_off #else float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0; #endif -base=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; +base=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:Je(`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; #pragma mapbox: define lowp float base #pragma mapbox: define lowp float height #pragma mapbox: define lowp vec4 pattern_from @@ -3479,20 +2978,20 @@ float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0; #endif base=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 ? a_pos -: 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 +: 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:Je(`#ifdef GL_ES precision highp float; #endif uniform 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); #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(1.0); #endif -}`,"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; +}`,"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:Je(`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; #define PI 3.141592653589793 void 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; #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(1.0); #endif -}`,"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; +}`,"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:Je(`uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale; #pragma mapbox: define highp vec4 color #pragma mapbox: define lowp float blur #pragma mapbox: define lowp float opacity @@ -3526,7 +3025,7 @@ v_gamma_scale=1.0; #else 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; #endif -v_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; +v_width2=vec2(outset,inset);}`),lineGradient:Je(`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; #pragma mapbox: define lowp float blur #pragma mapbox: define lowp float opacity void main() { @@ -3556,7 +3055,7 @@ v_gamma_scale=1.0; #else 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; #endif -v_width2=vec2(outset,inset);}`),linePattern:xt(`#ifdef GL_ES +v_width2=vec2(outset,inset);}`),linePattern:Je(`#ifdef GL_ES precision highp float; #endif 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; @@ -3608,7 +3107,7 @@ v_gamma_scale=1.0; #else 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; #endif -v_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; +v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:Je(`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; #pragma mapbox: define highp vec4 color #pragma mapbox: define lowp float blur #pragma mapbox: define lowp float opacity @@ -3649,11 +3148,11 @@ v_gamma_scale=1.0; #else 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; #endif -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);}`),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); +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);}`),raster:Je(`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); #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(1.0); #endif -}`,"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; +}`,"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:Je(`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity; #pragma mapbox: define lowp float opacity void main() { #pragma mapbox: initialize lowp float opacity @@ -3667,7 +3166,7 @@ void main() { #pragma mapbox: initialize lowp float opacity vec2 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 ? camera_to_anchor_distance/u_camera_to_center_distance : -u_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 +u_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:Je(`#define SDF_PX 8.0 uniform 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; #pragma mapbox: define highp vec4 fill_color #pragma mapbox: define highp vec4 halo_color @@ -3698,7 +3197,7 @@ void main() { #pragma mapbox: initialize lowp float halo_blur vec2 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 ? camera_to_anchor_distance/u_camera_to_center_distance : -u_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 +u_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:Je(`#define SDF_PX 8.0 #define SDF 1.0 #define ICON 0.0 uniform 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; @@ -3735,105 +3234,105 @@ void main() { #pragma mapbox: initialize lowp float halo_blur vec2 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 ? camera_to_anchor_distance/u_camera_to_center_distance : -u_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"?` -#ifndef HAS_UNIFORM_u_${Kr} -varying ${Tr} ${Ar} ${Kr}; +u_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:Je("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:Je("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:Je("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:Je("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 Je(Me,L){let J=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,de=L.match(/attribute ([\w]+) ([\w]+)/g),pe=Me.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),Te=L.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),Ze=Te?Te.concat(pe):pe,rt={};return{fragmentSource:Me=Me.replace(J,(vt,Mt,Gt,Ht,fr)=>(rt[fr]=!0,Mt==="define"?` +#ifndef HAS_UNIFORM_u_${fr} +varying ${Gt} ${Ht} ${fr}; #else -uniform ${Tr} ${Ar} u_${Kr}; +uniform ${Gt} ${Ht} u_${fr}; #endif `:` -#ifdef HAS_UNIFORM_u_${Kr} - ${Tr} ${Ar} ${Kr} = u_${Kr}; -#endif -`)),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"?` -#ifndef HAS_UNIFORM_u_${Kr} -uniform lowp float u_${Kr}_t; -attribute ${Tr} ${na} a_${Kr}; -varying ${Tr} ${Ar} ${Kr}; +#ifdef HAS_UNIFORM_u_${fr} + ${Gt} ${Ht} ${fr} = u_${fr}; +#endif +`)),vertexSource:L=L.replace(J,(vt,Mt,Gt,Ht,fr)=>{let wr=Ht==="float"?"vec2":"vec4",Le=fr.match(/color/)?"color":wr;return rt[fr]?Mt==="define"?` +#ifndef HAS_UNIFORM_u_${fr} +uniform lowp float u_${fr}_t; +attribute ${Gt} ${wr} a_${fr}; +varying ${Gt} ${Ht} ${fr}; #else -uniform ${Tr} ${Ar} u_${Kr}; +uniform ${Gt} ${Ht} u_${fr}; #endif -`:He==="vec4"?` -#ifndef HAS_UNIFORM_u_${Kr} - ${Kr} = a_${Kr}; +`:Le==="vec4"?` +#ifndef HAS_UNIFORM_u_${fr} + ${fr} = a_${fr}; #else - ${Tr} ${Ar} ${Kr} = u_${Kr}; + ${Gt} ${Ht} ${fr} = u_${fr}; #endif `:` -#ifndef HAS_UNIFORM_u_${Kr} - ${Kr} = unpack_mix_${He}(a_${Kr}, u_${Kr}_t); +#ifndef HAS_UNIFORM_u_${fr} + ${fr} = unpack_mix_${Le}(a_${fr}, u_${fr}_t); #else - ${Tr} ${Ar} ${Kr} = u_${Kr}; + ${Gt} ${Ht} ${fr} = u_${fr}; #endif -`:$t==="define"?` -#ifndef HAS_UNIFORM_u_${Kr} -uniform lowp float u_${Kr}_t; -attribute ${Tr} ${na} a_${Kr}; +`:Mt==="define"?` +#ifndef HAS_UNIFORM_u_${fr} +uniform lowp float u_${fr}_t; +attribute ${Gt} ${wr} a_${fr}; #else -uniform ${Tr} ${Ar} u_${Kr}; +uniform ${Gt} ${Ht} u_${fr}; #endif -`:He==="vec4"?` -#ifndef HAS_UNIFORM_u_${Kr} - ${Tr} ${Ar} ${Kr} = a_${Kr}; +`:Le==="vec4"?` +#ifndef HAS_UNIFORM_u_${fr} + ${Gt} ${Ht} ${fr} = a_${fr}; #else - ${Tr} ${Ar} ${Kr} = u_${Kr}; + ${Gt} ${Ht} ${fr} = u_${fr}; #endif `:` -#ifndef HAS_UNIFORM_u_${Kr} - ${Tr} ${Ar} ${Kr} = unpack_mix_${He}(a_${Kr}, u_${Kr}_t); +#ifndef HAS_UNIFORM_u_${fr} + ${Gt} ${Ht} ${fr} = unpack_mix_${Le}(a_${fr}, u_${fr}_t); #else - ${Tr} ${Ar} ${Kr} = u_${Kr}; -#endif -`}),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,`{ -/* [wrapped with `+ge+`] */ -`)}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," ")+` -`:"";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+=`' + -__e(`+Kl+`) + -'`),zf&&(oi=!0,Fn+=`'; -`+zf+`; -__p += '`),nu&&(Fn+=`' + -((__t = (`+nu+`)) == null ? '' : __t) + -'`),Cn=fp+Xe.length,Xe}),Fn+=`'; -`;var Qs=aD.call(ge,"variable")&&ge.variable;if(!Qs)Fn=`with (obj) { -`+Fn+` -} -`;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")+`) { -`+(Qs?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(ei?", __e = _.escape":"")+(oi?`, __j = Array.prototype.join; + ${Gt} ${Ht} ${fr} = u_${fr}; +#endif +`}),staticAttributes:de,staticUniforms:Ze}}class bt{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(L,J,de,pe,Te,Ze,rt,vt,Mt){this.context=L;let Gt=this.boundPaintVertexBuffers.length!==pe.length;for(let Ht=0;!Gt&&Ht({u_matrix:Me,u_texture:0,u_ele_delta:L,u_fog_matrix:J,u_fog_color:de?de.properties.get("fog-color"):e.aM.white,u_fog_ground_blend:de?de.properties.get("fog-ground-blend"):1,u_fog_ground_blend_opacity:de?de.calculateFogBlendOpacity(pe):0,u_horizon_color:de?de.properties.get("horizon-color"):e.aM.white,u_horizon_fog_blend:de?de.properties.get("horizon-fog-blend"):1});function Qt(Me){let L=[];for(let J=0;J({u_depth:new e.aH(Ot,Xt.u_depth),u_terrain:new e.aH(Ot,Xt.u_terrain),u_terrain_dim:new e.aI(Ot,Xt.u_terrain_dim),u_terrain_matrix:new e.aJ(Ot,Xt.u_terrain_matrix),u_terrain_unpack:new e.aK(Ot,Xt.u_terrain_unpack),u_terrain_exaggeration:new e.aI(Ot,Xt.u_terrain_exaggeration)}))(L,Rt),this.binderUniforms=de?de.getUniforms(L,Rt):[]}draw(L,J,de,pe,Te,Ze,rt,vt,Mt,Gt,Ht,fr,wr,Le,Oe,Ge,$e,lt){let tt=L.gl;if(this.failedToCreate)return;if(L.program.set(this.program),L.setDepthMode(de),L.setStencilMode(pe),L.setColorMode(Te),L.setCullFace(Ze),vt){L.activeTexture.set(tt.TEXTURE2),tt.bindTexture(tt.TEXTURE_2D,vt.depthTexture),L.activeTexture.set(tt.TEXTURE3),tt.bindTexture(tt.TEXTURE_2D,vt.texture);for(let Rt in this.terrainUniforms)this.terrainUniforms[Rt].set(vt[Rt])}for(let Rt in this.fixedUniforms)this.fixedUniforms[Rt].set(rt[Rt]);Oe&&Oe.setUniforms(L,this.binderUniforms,wr,{zoom:Le});let dt=0;switch(J){case tt.LINES:dt=2;break;case tt.TRIANGLES:dt=3;break;case tt.LINE_STRIP:dt=1}for(let Rt of fr.get()){let Ot=Rt.vaos||(Rt.vaos={});(Ot[Mt]||(Ot[Mt]=new bt)).bind(L,this,Gt,Oe?Oe.getPaintVertexBuffers():[],Ht,Rt.vertexOffset,Ge,$e,lt),tt.drawElements(J,Rt.primitiveLength*dt,tt.UNSIGNED_SHORT,Rt.primitiveOffset*dt*2)}}}function Ir(Me,L,J){let de=1/ra(J,1,L.transform.tileZoom),pe=Math.pow(2,J.tileID.overscaledZ),Te=J.tileSize*Math.pow(2,L.transform.tileZoom)/pe,Ze=Te*(J.tileID.canonical.x+J.tileID.wrap*pe),rt=Te*J.tileID.canonical.y;return{u_image:0,u_texsize:J.imageAtlasTexture.size,u_scale:[de,Me.fromScale,Me.toScale],u_fade:Me.t,u_pixel_coord_upper:[Ze>>16,rt>>16],u_pixel_coord_lower:[65535&Ze,65535&rt]}}let Cr=(Me,L,J,de)=>{let pe=L.style.light,Te=pe.properties.get("position"),Ze=[Te.x,Te.y,Te.z],rt=function(){var Mt=new e.A(9);return e.A!=Float32Array&&(Mt[1]=0,Mt[2]=0,Mt[3]=0,Mt[5]=0,Mt[6]=0,Mt[7]=0),Mt[0]=1,Mt[4]=1,Mt[8]=1,Mt}();pe.properties.get("anchor")==="viewport"&&function(Mt,Gt){var Ht=Math.sin(Gt),fr=Math.cos(Gt);Mt[0]=fr,Mt[1]=Ht,Mt[2]=0,Mt[3]=-Ht,Mt[4]=fr,Mt[5]=0,Mt[6]=0,Mt[7]=0,Mt[8]=1}(rt,-L.transform.angle),function(Mt,Gt,Ht){var fr=Gt[0],wr=Gt[1],Le=Gt[2];Mt[0]=fr*Ht[0]+wr*Ht[3]+Le*Ht[6],Mt[1]=fr*Ht[1]+wr*Ht[4]+Le*Ht[7],Mt[2]=fr*Ht[2]+wr*Ht[5]+Le*Ht[8]}(Ze,Ze,rt);let vt=pe.properties.get("color");return{u_matrix:Me,u_lightpos:Ze,u_lightintensity:pe.properties.get("intensity"),u_lightcolor:[vt.r,vt.g,vt.b],u_vertical_gradient:+J,u_opacity:de}},Mr=(Me,L,J,de,pe,Te,Ze)=>e.e(Cr(Me,L,J,de),Ir(Te,L,Ze),{u_height_factor:-Math.pow(2,pe.overscaledZ)/Ze.tileSize/8}),Xr=Me=>({u_matrix:Me}),Ra=(Me,L,J,de)=>e.e(Xr(Me),Ir(J,L,de)),wa=(Me,L)=>({u_matrix:Me,u_world:L}),yn=(Me,L,J,de,pe)=>e.e(Ra(Me,L,J,de),{u_world:pe}),fn=(Me,L,J,de)=>{let pe=Me.transform,Te,Ze;if(de.paint.get("circle-pitch-alignment")==="map"){let rt=ra(J,1,pe.zoom);Te=!0,Ze=[rt,rt]}else Te=!1,Ze=pe.pixelsToGLUnits;return{u_camera_to_center_distance:pe.cameraToCenterDistance,u_scale_with_map:+(de.paint.get("circle-pitch-scale")==="map"),u_matrix:Me.translatePosMatrix(L.posMatrix,J,de.paint.get("circle-translate"),de.paint.get("circle-translate-anchor")),u_pitch_with_map:+Te,u_device_pixel_ratio:Me.pixelRatio,u_extrude_scale:Ze}},ri=(Me,L,J)=>({u_matrix:Me,u_inv_matrix:L,u_camera_to_center_distance:J.cameraToCenterDistance,u_viewport_size:[J.width,J.height]}),On=(Me,L,J=1)=>({u_matrix:Me,u_color:L,u_overlay:0,u_overlay_scale:J}),ui=Me=>({u_matrix:Me}),jn=(Me,L,J,de)=>({u_matrix:Me,u_extrude_scale:ra(L,1,J),u_intensity:de}),oo=(Me,L,J,de)=>{let pe=e.H();e.aP(pe,0,Me.width,Me.height,0,0,1);let Te=Me.context.gl;return{u_matrix:pe,u_world:[Te.drawingBufferWidth,Te.drawingBufferHeight],u_image:J,u_color_ramp:de,u_opacity:L.paint.get("heatmap-opacity")}};function Qi(Me,L){let J=Math.pow(2,L.canonical.z),de=L.canonical.y;return[new e.Z(0,de/J).toLngLat().lat,new e.Z(0,(de+1)/J).toLngLat().lat]}let Mn=(Me,L,J,de)=>{let pe=Me.transform;return{u_matrix:Bi(Me,L,J,de),u_ratio:1/ra(L,1,pe.zoom),u_device_pixel_ratio:Me.pixelRatio,u_units_to_pixels:[1/pe.pixelsToGLUnits[0],1/pe.pixelsToGLUnits[1]]}},bo=(Me,L,J,de,pe)=>e.e(Mn(Me,L,J,pe),{u_image:0,u_image_height:de}),so=(Me,L,J,de,pe)=>{let Te=Me.transform,Ze=yo(L,Te);return{u_matrix:Bi(Me,L,J,pe),u_texsize:L.imageAtlasTexture.size,u_ratio:1/ra(L,1,Te.zoom),u_device_pixel_ratio:Me.pixelRatio,u_image:0,u_scale:[Ze,de.fromScale,de.toScale],u_fade:de.t,u_units_to_pixels:[1/Te.pixelsToGLUnits[0],1/Te.pixelsToGLUnits[1]]}},Hi=(Me,L,J,de,pe,Te)=>{let Ze=Me.lineAtlas,rt=yo(L,Me.transform),vt=J.layout.get("line-cap")==="round",Mt=Ze.getDash(de.from,vt),Gt=Ze.getDash(de.to,vt),Ht=Mt.width*pe.fromScale,fr=Gt.width*pe.toScale;return e.e(Mn(Me,L,J,Te),{u_patternscale_a:[rt/Ht,-Mt.height/2],u_patternscale_b:[rt/fr,-Gt.height/2],u_sdfgamma:Ze.width/(256*Math.min(Ht,fr)*Me.pixelRatio)/2,u_image:0,u_tex_y_a:Mt.y,u_tex_y_b:Gt.y,u_mix:pe.t})};function yo(Me,L){return 1/ra(Me,1,L.tileZoom)}function Bi(Me,L,J,de){return Me.translatePosMatrix(de?de.posMatrix:L.tileID.posMatrix,L,J.paint.get("line-translate"),J.paint.get("line-translate-anchor"))}let fo=(Me,L,J,de,pe)=>{return{u_matrix:Me,u_tl_parent:L,u_scale_parent:J,u_buffer_scale:1,u_fade_t:de.mix,u_opacity:de.opacity*pe.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:pe.paint.get("raster-brightness-min"),u_brightness_high:pe.paint.get("raster-brightness-max"),u_saturation_factor:(Ze=pe.paint.get("raster-saturation"),Ze>0?1-1/(1.001-Ze):-Ze),u_contrast_factor:(Te=pe.paint.get("raster-contrast"),Te>0?1/(1-Te):1+Te),u_spin_weights:Po(pe.paint.get("raster-hue-rotate"))};var Te,Ze};function Po(Me){Me*=Math.PI/180;let L=Math.sin(Me),J=Math.cos(Me);return[(2*J+1)/3,(-Math.sqrt(3)*L-J+1)/3,(Math.sqrt(3)*L-J+1)/3]}let po=(Me,L,J,de,pe,Te,Ze,rt,vt,Mt,Gt,Ht,fr,wr)=>{let Le=Ze.transform;return{u_is_size_zoom_constant:+(Me==="constant"||Me==="source"),u_is_size_feature_constant:+(Me==="constant"||Me==="camera"),u_size_t:L?L.uSizeT:0,u_size:L?L.uSize:0,u_camera_to_center_distance:Le.cameraToCenterDistance,u_pitch:Le.pitch/360*2*Math.PI,u_rotate_symbol:+J,u_aspect_ratio:Le.width/Le.height,u_fade_change:Ze.options.fadeDuration?Ze.symbolFadeChange:1,u_matrix:rt,u_label_plane_matrix:vt,u_coord_matrix:Mt,u_is_text:+Ht,u_pitch_with_map:+de,u_is_along_line:pe,u_is_variable_anchor:Te,u_texsize:fr,u_texture:0,u_translation:Gt,u_pitched_scale:wr}},Kn=(Me,L,J,de,pe,Te,Ze,rt,vt,Mt,Gt,Ht,fr,wr,Le)=>{let Oe=Ze.transform;return e.e(po(Me,L,J,de,pe,Te,Ze,rt,vt,Mt,Gt,Ht,fr,Le),{u_gamma_scale:de?Math.cos(Oe._pitch)*Oe.cameraToCenterDistance:1,u_device_pixel_ratio:Ze.pixelRatio,u_is_halo:+wr})},yi=(Me,L,J,de,pe,Te,Ze,rt,vt,Mt,Gt,Ht,fr,wr)=>e.e(Kn(Me,L,J,de,pe,Te,Ze,rt,vt,Mt,Gt,!0,Ht,!0,wr),{u_texsize_icon:fr,u_texture_icon:1}),Yi=(Me,L,J)=>({u_matrix:Me,u_opacity:L,u_color:J}),zi=(Me,L,J,de,pe,Te)=>e.e(function(Ze,rt,vt,Mt){let Gt=vt.imageManager.getPattern(Ze.from.toString()),Ht=vt.imageManager.getPattern(Ze.to.toString()),{width:fr,height:wr}=vt.imageManager.getPixelSize(),Le=Math.pow(2,Mt.tileID.overscaledZ),Oe=Mt.tileSize*Math.pow(2,vt.transform.tileZoom)/Le,Ge=Oe*(Mt.tileID.canonical.x+Mt.tileID.wrap*Le),$e=Oe*Mt.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:Gt.tl,u_pattern_br_a:Gt.br,u_pattern_tl_b:Ht.tl,u_pattern_br_b:Ht.br,u_texsize:[fr,wr],u_mix:rt.t,u_pattern_size_a:Gt.displaySize,u_pattern_size_b:Ht.displaySize,u_scale_a:rt.fromScale,u_scale_b:rt.toScale,u_tile_units_to_pixels:1/ra(Mt,1,vt.transform.tileZoom),u_pixel_coord_upper:[Ge>>16,$e>>16],u_pixel_coord_lower:[65535&Ge,65535&$e]}}(de,Te,J,pe),{u_matrix:Me,u_opacity:L}),Uo={fillExtrusion:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_lightpos:new e.aN(Me,L.u_lightpos),u_lightintensity:new e.aI(Me,L.u_lightintensity),u_lightcolor:new e.aN(Me,L.u_lightcolor),u_vertical_gradient:new e.aI(Me,L.u_vertical_gradient),u_opacity:new e.aI(Me,L.u_opacity)}),fillExtrusionPattern:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_lightpos:new e.aN(Me,L.u_lightpos),u_lightintensity:new e.aI(Me,L.u_lightintensity),u_lightcolor:new e.aN(Me,L.u_lightcolor),u_vertical_gradient:new e.aI(Me,L.u_vertical_gradient),u_height_factor:new e.aI(Me,L.u_height_factor),u_image:new e.aH(Me,L.u_image),u_texsize:new e.aO(Me,L.u_texsize),u_pixel_coord_upper:new e.aO(Me,L.u_pixel_coord_upper),u_pixel_coord_lower:new e.aO(Me,L.u_pixel_coord_lower),u_scale:new e.aN(Me,L.u_scale),u_fade:new e.aI(Me,L.u_fade),u_opacity:new e.aI(Me,L.u_opacity)}),fill:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix)}),fillPattern:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_image:new e.aH(Me,L.u_image),u_texsize:new e.aO(Me,L.u_texsize),u_pixel_coord_upper:new e.aO(Me,L.u_pixel_coord_upper),u_pixel_coord_lower:new e.aO(Me,L.u_pixel_coord_lower),u_scale:new e.aN(Me,L.u_scale),u_fade:new e.aI(Me,L.u_fade)}),fillOutline:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_world:new e.aO(Me,L.u_world)}),fillOutlinePattern:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_world:new e.aO(Me,L.u_world),u_image:new e.aH(Me,L.u_image),u_texsize:new e.aO(Me,L.u_texsize),u_pixel_coord_upper:new e.aO(Me,L.u_pixel_coord_upper),u_pixel_coord_lower:new e.aO(Me,L.u_pixel_coord_lower),u_scale:new e.aN(Me,L.u_scale),u_fade:new e.aI(Me,L.u_fade)}),circle:(Me,L)=>({u_camera_to_center_distance:new e.aI(Me,L.u_camera_to_center_distance),u_scale_with_map:new e.aH(Me,L.u_scale_with_map),u_pitch_with_map:new e.aH(Me,L.u_pitch_with_map),u_extrude_scale:new e.aO(Me,L.u_extrude_scale),u_device_pixel_ratio:new e.aI(Me,L.u_device_pixel_ratio),u_matrix:new e.aJ(Me,L.u_matrix)}),collisionBox:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_pixel_extrude_scale:new e.aO(Me,L.u_pixel_extrude_scale)}),collisionCircle:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_inv_matrix:new e.aJ(Me,L.u_inv_matrix),u_camera_to_center_distance:new e.aI(Me,L.u_camera_to_center_distance),u_viewport_size:new e.aO(Me,L.u_viewport_size)}),debug:(Me,L)=>({u_color:new e.aL(Me,L.u_color),u_matrix:new e.aJ(Me,L.u_matrix),u_overlay:new e.aH(Me,L.u_overlay),u_overlay_scale:new e.aI(Me,L.u_overlay_scale)}),clippingMask:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix)}),heatmap:(Me,L)=>({u_extrude_scale:new e.aI(Me,L.u_extrude_scale),u_intensity:new e.aI(Me,L.u_intensity),u_matrix:new e.aJ(Me,L.u_matrix)}),heatmapTexture:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_world:new e.aO(Me,L.u_world),u_image:new e.aH(Me,L.u_image),u_color_ramp:new e.aH(Me,L.u_color_ramp),u_opacity:new e.aI(Me,L.u_opacity)}),hillshade:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_image:new e.aH(Me,L.u_image),u_latrange:new e.aO(Me,L.u_latrange),u_light:new e.aO(Me,L.u_light),u_shadow:new e.aL(Me,L.u_shadow),u_highlight:new e.aL(Me,L.u_highlight),u_accent:new e.aL(Me,L.u_accent)}),hillshadePrepare:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_image:new e.aH(Me,L.u_image),u_dimension:new e.aO(Me,L.u_dimension),u_zoom:new e.aI(Me,L.u_zoom),u_unpack:new e.aK(Me,L.u_unpack)}),line:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_ratio:new e.aI(Me,L.u_ratio),u_device_pixel_ratio:new e.aI(Me,L.u_device_pixel_ratio),u_units_to_pixels:new e.aO(Me,L.u_units_to_pixels)}),lineGradient:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_ratio:new e.aI(Me,L.u_ratio),u_device_pixel_ratio:new e.aI(Me,L.u_device_pixel_ratio),u_units_to_pixels:new e.aO(Me,L.u_units_to_pixels),u_image:new e.aH(Me,L.u_image),u_image_height:new e.aI(Me,L.u_image_height)}),linePattern:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_texsize:new e.aO(Me,L.u_texsize),u_ratio:new e.aI(Me,L.u_ratio),u_device_pixel_ratio:new e.aI(Me,L.u_device_pixel_ratio),u_image:new e.aH(Me,L.u_image),u_units_to_pixels:new e.aO(Me,L.u_units_to_pixels),u_scale:new e.aN(Me,L.u_scale),u_fade:new e.aI(Me,L.u_fade)}),lineSDF:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_ratio:new e.aI(Me,L.u_ratio),u_device_pixel_ratio:new e.aI(Me,L.u_device_pixel_ratio),u_units_to_pixels:new e.aO(Me,L.u_units_to_pixels),u_patternscale_a:new e.aO(Me,L.u_patternscale_a),u_patternscale_b:new e.aO(Me,L.u_patternscale_b),u_sdfgamma:new e.aI(Me,L.u_sdfgamma),u_image:new e.aH(Me,L.u_image),u_tex_y_a:new e.aI(Me,L.u_tex_y_a),u_tex_y_b:new e.aI(Me,L.u_tex_y_b),u_mix:new e.aI(Me,L.u_mix)}),raster:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_tl_parent:new e.aO(Me,L.u_tl_parent),u_scale_parent:new e.aI(Me,L.u_scale_parent),u_buffer_scale:new e.aI(Me,L.u_buffer_scale),u_fade_t:new e.aI(Me,L.u_fade_t),u_opacity:new e.aI(Me,L.u_opacity),u_image0:new e.aH(Me,L.u_image0),u_image1:new e.aH(Me,L.u_image1),u_brightness_low:new e.aI(Me,L.u_brightness_low),u_brightness_high:new e.aI(Me,L.u_brightness_high),u_saturation_factor:new e.aI(Me,L.u_saturation_factor),u_contrast_factor:new e.aI(Me,L.u_contrast_factor),u_spin_weights:new e.aN(Me,L.u_spin_weights)}),symbolIcon:(Me,L)=>({u_is_size_zoom_constant:new e.aH(Me,L.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aH(Me,L.u_is_size_feature_constant),u_size_t:new e.aI(Me,L.u_size_t),u_size:new e.aI(Me,L.u_size),u_camera_to_center_distance:new e.aI(Me,L.u_camera_to_center_distance),u_pitch:new e.aI(Me,L.u_pitch),u_rotate_symbol:new e.aH(Me,L.u_rotate_symbol),u_aspect_ratio:new e.aI(Me,L.u_aspect_ratio),u_fade_change:new e.aI(Me,L.u_fade_change),u_matrix:new e.aJ(Me,L.u_matrix),u_label_plane_matrix:new e.aJ(Me,L.u_label_plane_matrix),u_coord_matrix:new e.aJ(Me,L.u_coord_matrix),u_is_text:new e.aH(Me,L.u_is_text),u_pitch_with_map:new e.aH(Me,L.u_pitch_with_map),u_is_along_line:new e.aH(Me,L.u_is_along_line),u_is_variable_anchor:new e.aH(Me,L.u_is_variable_anchor),u_texsize:new e.aO(Me,L.u_texsize),u_texture:new e.aH(Me,L.u_texture),u_translation:new e.aO(Me,L.u_translation),u_pitched_scale:new e.aI(Me,L.u_pitched_scale)}),symbolSDF:(Me,L)=>({u_is_size_zoom_constant:new e.aH(Me,L.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aH(Me,L.u_is_size_feature_constant),u_size_t:new e.aI(Me,L.u_size_t),u_size:new e.aI(Me,L.u_size),u_camera_to_center_distance:new e.aI(Me,L.u_camera_to_center_distance),u_pitch:new e.aI(Me,L.u_pitch),u_rotate_symbol:new e.aH(Me,L.u_rotate_symbol),u_aspect_ratio:new e.aI(Me,L.u_aspect_ratio),u_fade_change:new e.aI(Me,L.u_fade_change),u_matrix:new e.aJ(Me,L.u_matrix),u_label_plane_matrix:new e.aJ(Me,L.u_label_plane_matrix),u_coord_matrix:new e.aJ(Me,L.u_coord_matrix),u_is_text:new e.aH(Me,L.u_is_text),u_pitch_with_map:new e.aH(Me,L.u_pitch_with_map),u_is_along_line:new e.aH(Me,L.u_is_along_line),u_is_variable_anchor:new e.aH(Me,L.u_is_variable_anchor),u_texsize:new e.aO(Me,L.u_texsize),u_texture:new e.aH(Me,L.u_texture),u_gamma_scale:new e.aI(Me,L.u_gamma_scale),u_device_pixel_ratio:new e.aI(Me,L.u_device_pixel_ratio),u_is_halo:new e.aH(Me,L.u_is_halo),u_translation:new e.aO(Me,L.u_translation),u_pitched_scale:new e.aI(Me,L.u_pitched_scale)}),symbolTextAndIcon:(Me,L)=>({u_is_size_zoom_constant:new e.aH(Me,L.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aH(Me,L.u_is_size_feature_constant),u_size_t:new e.aI(Me,L.u_size_t),u_size:new e.aI(Me,L.u_size),u_camera_to_center_distance:new e.aI(Me,L.u_camera_to_center_distance),u_pitch:new e.aI(Me,L.u_pitch),u_rotate_symbol:new e.aH(Me,L.u_rotate_symbol),u_aspect_ratio:new e.aI(Me,L.u_aspect_ratio),u_fade_change:new e.aI(Me,L.u_fade_change),u_matrix:new e.aJ(Me,L.u_matrix),u_label_plane_matrix:new e.aJ(Me,L.u_label_plane_matrix),u_coord_matrix:new e.aJ(Me,L.u_coord_matrix),u_is_text:new e.aH(Me,L.u_is_text),u_pitch_with_map:new e.aH(Me,L.u_pitch_with_map),u_is_along_line:new e.aH(Me,L.u_is_along_line),u_is_variable_anchor:new e.aH(Me,L.u_is_variable_anchor),u_texsize:new e.aO(Me,L.u_texsize),u_texsize_icon:new e.aO(Me,L.u_texsize_icon),u_texture:new e.aH(Me,L.u_texture),u_texture_icon:new e.aH(Me,L.u_texture_icon),u_gamma_scale:new e.aI(Me,L.u_gamma_scale),u_device_pixel_ratio:new e.aI(Me,L.u_device_pixel_ratio),u_is_halo:new e.aH(Me,L.u_is_halo),u_translation:new e.aO(Me,L.u_translation),u_pitched_scale:new e.aI(Me,L.u_pitched_scale)}),background:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_opacity:new e.aI(Me,L.u_opacity),u_color:new e.aL(Me,L.u_color)}),backgroundPattern:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_opacity:new e.aI(Me,L.u_opacity),u_image:new e.aH(Me,L.u_image),u_pattern_tl_a:new e.aO(Me,L.u_pattern_tl_a),u_pattern_br_a:new e.aO(Me,L.u_pattern_br_a),u_pattern_tl_b:new e.aO(Me,L.u_pattern_tl_b),u_pattern_br_b:new e.aO(Me,L.u_pattern_br_b),u_texsize:new e.aO(Me,L.u_texsize),u_mix:new e.aI(Me,L.u_mix),u_pattern_size_a:new e.aO(Me,L.u_pattern_size_a),u_pattern_size_b:new e.aO(Me,L.u_pattern_size_b),u_scale_a:new e.aI(Me,L.u_scale_a),u_scale_b:new e.aI(Me,L.u_scale_b),u_pixel_coord_upper:new e.aO(Me,L.u_pixel_coord_upper),u_pixel_coord_lower:new e.aO(Me,L.u_pixel_coord_lower),u_tile_units_to_pixels:new e.aI(Me,L.u_tile_units_to_pixels)}),terrain:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_texture:new e.aH(Me,L.u_texture),u_ele_delta:new e.aI(Me,L.u_ele_delta),u_fog_matrix:new e.aJ(Me,L.u_fog_matrix),u_fog_color:new e.aL(Me,L.u_fog_color),u_fog_ground_blend:new e.aI(Me,L.u_fog_ground_blend),u_fog_ground_blend_opacity:new e.aI(Me,L.u_fog_ground_blend_opacity),u_horizon_color:new e.aL(Me,L.u_horizon_color),u_horizon_fog_blend:new e.aI(Me,L.u_horizon_fog_blend)}),terrainDepth:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_ele_delta:new e.aI(Me,L.u_ele_delta)}),terrainCoords:(Me,L)=>({u_matrix:new e.aJ(Me,L.u_matrix),u_texture:new e.aH(Me,L.u_texture),u_terrain_coords_id:new e.aI(Me,L.u_terrain_coords_id),u_ele_delta:new e.aI(Me,L.u_ele_delta)}),sky:(Me,L)=>({u_sky_color:new e.aL(Me,L.u_sky_color),u_horizon_color:new e.aL(Me,L.u_horizon_color),u_horizon:new e.aI(Me,L.u_horizon),u_sky_horizon_blend:new e.aI(Me,L.u_sky_horizon_blend)})};class Co{constructor(L,J,de){this.context=L;let pe=L.gl;this.buffer=pe.createBuffer(),this.dynamicDraw=!!de,this.context.unbindVAO(),L.bindElementBuffer.set(this.buffer),pe.bufferData(pe.ELEMENT_ARRAY_BUFFER,J.arrayBuffer,this.dynamicDraw?pe.DYNAMIC_DRAW:pe.STATIC_DRAW),this.dynamicDraw||delete J.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(L){let J=this.context.gl;if(!this.dynamicDraw)throw new Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),J.bufferSubData(J.ELEMENT_ARRAY_BUFFER,0,L.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let Wo={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class Go{constructor(L,J,de,pe){this.length=J.length,this.attributes=de,this.itemSize=J.bytesPerElement,this.dynamicDraw=pe,this.context=L;let Te=L.gl;this.buffer=Te.createBuffer(),L.bindVertexBuffer.set(this.buffer),Te.bufferData(Te.ARRAY_BUFFER,J.arrayBuffer,this.dynamicDraw?Te.DYNAMIC_DRAW:Te.STATIC_DRAW),this.dynamicDraw||delete J.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(L){if(L.length!==this.length)throw new Error(`Length of new data is ${L.length}, which doesn't match current length of ${this.length}`);let J=this.context.gl;this.bind(),J.bufferSubData(J.ARRAY_BUFFER,0,L.arrayBuffer)}enableAttributes(L,J){for(let de=0;de0){let Ot=e.H();e.aQ(Ot,tt.placementInvProjMatrix,Me.transform.glCoordMatrix),e.aQ(Ot,Ot,tt.placementViewportMatrix),vt.push({circleArray:Rt,circleOffset:Gt,transform:lt.posMatrix,invTransform:Ot,coord:lt}),Mt+=Rt.length/4,Gt=Mt}dt&&rt.draw(Te,Ze.LINES,Io.disabled,Vo.disabled,Me.colorModeForRenderPass(),qi.disabled,{u_matrix:lt.posMatrix,u_pixel_extrude_scale:[1/(Ht=Me.transform).width,1/Ht.height]},Me.style.map.terrain&&Me.style.map.terrain.getTerrainData(lt),J.id,dt.layoutVertexBuffer,dt.indexBuffer,dt.segments,null,Me.transform.zoom,null,null,dt.collisionVertexBuffer)}var Ht;if(!pe||!vt.length)return;let fr=Me.useProgram("collisionCircle"),wr=new e.aR;wr.resize(4*Mt),wr._trim();let Le=0;for(let $e of vt)for(let lt=0;lt<$e.circleArray.length/4;lt++){let tt=4*lt,dt=$e.circleArray[tt+0],Rt=$e.circleArray[tt+1],Ot=$e.circleArray[tt+2],Xt=$e.circleArray[tt+3];wr.emplace(Le++,dt,Rt,Ot,Xt,0),wr.emplace(Le++,dt,Rt,Ot,Xt,1),wr.emplace(Le++,dt,Rt,Ot,Xt,2),wr.emplace(Le++,dt,Rt,Ot,Xt,3)}(!Zu||Zu.length<2*Mt)&&(Zu=function($e){let lt=2*$e,tt=new e.aT;tt.resize(lt),tt._trim();for(let dt=0;dt=0&&($e[tt.associatedIconIndex]={shiftedAnchor:Bn,angle:li})}else Ft(tt.numGlyphs,Oe)}if(Mt){Ge.clear();let lt=Me.icon.placedSymbolArray;for(let tt=0;ttMe.style.map.terrain.getElevation(Br,xt,Ut):null,kt=J.layout.get("text-rotation-alignment")==="map";ve(ya,Br.posMatrix,Me,pe,Cl,Hl,$e,Mt,kt,Oe,Br.toUnwrapped(),Le.width,Le.height,el,ot)}let hl=Br.posMatrix,Ll=pe&&nr||gu,ue=lt||Ll?El:Cl,we=mu,Ne=un&&J.paint.get(pe?"text-halo-width":"icon-halo-width").constantOr(1)!==0,Ke;Ke=un?ya.iconsInText?yi(Bn.kind,Pi,tt,$e,lt,Ll,Me,hl,ue,we,el,to,Ns,Lr):Kn(Bn.kind,Pi,tt,$e,lt,Ll,Me,hl,ue,we,el,pe,to,!0,Lr):po(Bn.kind,Pi,tt,$e,lt,Ll,Me,hl,ue,we,el,pe,to,Lr);let et={program:Jn,buffers:Za,uniformValues:Ke,atlasTexture:as,atlasTextureIcon:Vs,atlasInterpolation:Fo,atlasInterpolationIcon:Ms,isSDF:un,hasHalo:Ne};if(Rt&&ya.canOverlap){Ot=!0;let ot=Za.segments.get();for(let kt of ot)pr.push({segments:new e.a0([kt]),sortKey:kt.sortKey,state:et,terrainData:ho})}else pr.push({segments:Za.segments,sortKey:0,state:et,terrainData:ho})}Ot&&pr.sort((Br,Kr)=>Br.sortKey-Kr.sortKey);for(let Br of pr){let Kr=Br.state;if(fr.activeTexture.set(wr.TEXTURE0),Kr.atlasTexture.bind(Kr.atlasInterpolation,wr.CLAMP_TO_EDGE),Kr.atlasTextureIcon&&(fr.activeTexture.set(wr.TEXTURE1),Kr.atlasTextureIcon&&Kr.atlasTextureIcon.bind(Kr.atlasInterpolationIcon,wr.CLAMP_TO_EDGE)),Kr.isSDF){let ya=Kr.uniformValues;Kr.hasHalo&&(ya.u_is_halo=1,Yc(Kr.buffers,Br.segments,J,Me,Kr.program,Xt,Gt,Ht,ya,Br.terrainData)),ya.u_is_halo=0}Yc(Kr.buffers,Br.segments,J,Me,Kr.program,Xt,Gt,Ht,Kr.uniformValues,Br.terrainData)}}function Yc(Me,L,J,de,pe,Te,Ze,rt,vt,Mt){let Gt=de.context;pe.draw(Gt,Gt.gl.TRIANGLES,Te,Ze,rt,qi.disabled,vt,Mt,J.id,Me.layoutVertexBuffer,Me.indexBuffer,L,J.paint,de.transform.zoom,Me.programConfigurations.get(J.id),Me.dynamicLayoutVertexBuffer,Me.opacityVertexBuffer)}function ic(Me,L,J,de){let pe=Me.context,Te=pe.gl,Ze=Vo.disabled,rt=new zs([Te.ONE,Te.ONE],e.aM.transparent,[!0,!0,!0,!0]),vt=L.getBucket(J);if(!vt)return;let Mt=de.key,Gt=J.heatmapFbos.get(Mt);Gt||(Gt=Xc(pe,L.tileSize,L.tileSize),J.heatmapFbos.set(Mt,Gt)),pe.bindFramebuffer.set(Gt.framebuffer),pe.viewport.set([0,0,L.tileSize,L.tileSize]),pe.clear({color:e.aM.transparent});let Ht=vt.programConfigurations.get(J.id),fr=Me.useProgram("heatmap",Ht),wr=Me.style.map.terrain.getTerrainData(de);fr.draw(pe,Te.TRIANGLES,Io.disabled,Ze,rt,qi.disabled,jn(de.posMatrix,L,Me.transform.zoom,J.paint.get("heatmap-intensity")),wr,J.id,vt.layoutVertexBuffer,vt.indexBuffer,vt.segments,J.paint,Me.transform.zoom,Ht)}function oc(Me,L,J){let de=Me.context,pe=de.gl;de.setColorMode(Me.colorModeForRenderPass());let Te=Zc(de,L),Ze=J.key,rt=L.heatmapFbos.get(Ze);rt&&(de.activeTexture.set(pe.TEXTURE0),pe.bindTexture(pe.TEXTURE_2D,rt.colorAttachment.get()),de.activeTexture.set(pe.TEXTURE1),Te.bind(pe.LINEAR,pe.CLAMP_TO_EDGE),Me.useProgram("heatmapTexture").draw(de,pe.TRIANGLES,Io.disabled,Vo.disabled,Me.colorModeForRenderPass(),qi.disabled,oo(Me,L,0,1),null,L.id,Me.rasterBoundsBuffer,Me.quadTriangleIndexBuffer,Me.rasterBoundsSegments,L.paint,Me.transform.zoom),rt.destroy(),L.heatmapFbos.delete(Ze))}function Xc(Me,L,J){var de,pe;let Te=Me.gl,Ze=Te.createTexture();Te.bindTexture(Te.TEXTURE_2D,Ze),Te.texParameteri(Te.TEXTURE_2D,Te.TEXTURE_WRAP_S,Te.CLAMP_TO_EDGE),Te.texParameteri(Te.TEXTURE_2D,Te.TEXTURE_WRAP_T,Te.CLAMP_TO_EDGE),Te.texParameteri(Te.TEXTURE_2D,Te.TEXTURE_MIN_FILTER,Te.LINEAR),Te.texParameteri(Te.TEXTURE_2D,Te.TEXTURE_MAG_FILTER,Te.LINEAR);let rt=(de=Me.HALF_FLOAT)!==null&&de!==void 0?de:Te.UNSIGNED_BYTE,vt=(pe=Me.RGBA16F)!==null&&pe!==void 0?pe:Te.RGBA;Te.texImage2D(Te.TEXTURE_2D,0,vt,L,J,0,Te.RGBA,rt,null);let Mt=Me.createFramebuffer(L,J,!1,!1);return Mt.colorAttachment.set(Ze),Mt}function Zc(Me,L){return L.colorRampTexture||(L.colorRampTexture=new h(Me,L.colorRamp,Me.gl.RGBA)),L.colorRampTexture}function Ql(Me,L,J,de,pe){if(!J||!de||!de.imageAtlas)return;let Te=de.imageAtlas.patternPositions,Ze=Te[J.to.toString()],rt=Te[J.from.toString()];if(!Ze&&rt&&(Ze=rt),!rt&&Ze&&(rt=Ze),!Ze||!rt){let vt=pe.getPaintProperty(L);Ze=Te[vt],rt=Te[vt]}Ze&&rt&&Me.setConstantPatternPositions(Ze,rt)}function Cc(Me,L,J,de,pe,Te,Ze){let rt=Me.context.gl,vt="fill-pattern",Mt=J.paint.get(vt),Gt=Mt&&Mt.constantOr(1),Ht=J.getCrossfadeParameters(),fr,wr,Le,Oe,Ge;Ze?(wr=Gt&&!J.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",fr=rt.LINES):(wr=Gt?"fillPattern":"fill",fr=rt.TRIANGLES);let $e=Mt.constantOr(null);for(let lt of de){let tt=L.getTile(lt);if(Gt&&!tt.patternsLoaded())continue;let dt=tt.getBucket(J);if(!dt)continue;let Rt=dt.programConfigurations.get(J.id),Ot=Me.useProgram(wr,Rt),Xt=Me.style.map.terrain&&Me.style.map.terrain.getTerrainData(lt);Gt&&(Me.context.activeTexture.set(rt.TEXTURE0),tt.imageAtlasTexture.bind(rt.LINEAR,rt.CLAMP_TO_EDGE),Rt.updatePaintBuffers(Ht)),Ql(Rt,vt,$e,tt,J);let nr=Xt?lt:null,pr=Me.translatePosMatrix(nr?nr.posMatrix:lt.posMatrix,tt,J.paint.get("fill-translate"),J.paint.get("fill-translate-anchor"));if(Ze){Oe=dt.indexBuffer2,Ge=dt.segments2;let Lr=[rt.drawingBufferWidth,rt.drawingBufferHeight];Le=wr==="fillOutlinePattern"&&Gt?yn(pr,Me,Ht,tt,Lr):wa(pr,Lr)}else Oe=dt.indexBuffer,Ge=dt.segments,Le=Gt?Ra(pr,Me,Ht,tt):Xr(pr);Ot.draw(Me.context,fr,pe,Me.stencilModeForClipping(lt),Te,qi.disabled,Le,Xt,J.id,dt.layoutVertexBuffer,Oe,Ge,J.paint,Me.transform.zoom,Rt)}}function eu(Me,L,J,de,pe,Te,Ze){let rt=Me.context,vt=rt.gl,Mt="fill-extrusion-pattern",Gt=J.paint.get(Mt),Ht=Gt.constantOr(1),fr=J.getCrossfadeParameters(),wr=J.paint.get("fill-extrusion-opacity"),Le=Gt.constantOr(null);for(let Oe of de){let Ge=L.getTile(Oe),$e=Ge.getBucket(J);if(!$e)continue;let lt=Me.style.map.terrain&&Me.style.map.terrain.getTerrainData(Oe),tt=$e.programConfigurations.get(J.id),dt=Me.useProgram(Ht?"fillExtrusionPattern":"fillExtrusion",tt);Ht&&(Me.context.activeTexture.set(vt.TEXTURE0),Ge.imageAtlasTexture.bind(vt.LINEAR,vt.CLAMP_TO_EDGE),tt.updatePaintBuffers(fr)),Ql(tt,Mt,Le,Ge,J);let Rt=Me.translatePosMatrix(Oe.posMatrix,Ge,J.paint.get("fill-extrusion-translate"),J.paint.get("fill-extrusion-translate-anchor")),Ot=J.paint.get("fill-extrusion-vertical-gradient"),Xt=Ht?Mr(Rt,Me,Ot,wr,Oe,fr,Ge):Cr(Rt,Me,Ot,wr);dt.draw(rt,rt.gl.TRIANGLES,pe,Te,Ze,qi.backCCW,Xt,lt,J.id,$e.layoutVertexBuffer,$e.indexBuffer,$e.segments,J.paint,Me.transform.zoom,tt,Me.style.map.terrain&&$e.centroidVertexBuffer)}}function sc(Me,L,J,de,pe,Te,Ze){let rt=Me.context,vt=rt.gl,Mt=J.fbo;if(!Mt)return;let Gt=Me.useProgram("hillshade"),Ht=Me.style.map.terrain&&Me.style.map.terrain.getTerrainData(L);rt.activeTexture.set(vt.TEXTURE0),vt.bindTexture(vt.TEXTURE_2D,Mt.colorAttachment.get()),Gt.draw(rt,vt.TRIANGLES,pe,Te,Ze,qi.disabled,((fr,wr,Le,Oe)=>{let Ge=Le.paint.get("hillshade-shadow-color"),$e=Le.paint.get("hillshade-highlight-color"),lt=Le.paint.get("hillshade-accent-color"),tt=Le.paint.get("hillshade-illumination-direction")*(Math.PI/180);Le.paint.get("hillshade-illumination-anchor")==="viewport"&&(tt-=fr.transform.angle);let dt=!fr.options.moving;return{u_matrix:Oe?Oe.posMatrix:fr.transform.calculatePosMatrix(wr.tileID.toUnwrapped(),dt),u_image:0,u_latrange:Qi(0,wr.tileID),u_light:[Le.paint.get("hillshade-exaggeration"),tt],u_shadow:Ge,u_highlight:$e,u_accent:lt}})(Me,J,de,Ht?L:null),Ht,de.id,Me.rasterBoundsBuffer,Me.quadTriangleIndexBuffer,Me.rasterBoundsSegments)}function qs(Me,L,J,de,pe,Te){let Ze=Me.context,rt=Ze.gl,vt=L.dem;if(vt&&vt.data){let Mt=vt.dim,Gt=vt.stride,Ht=vt.getPixels();if(Ze.activeTexture.set(rt.TEXTURE1),Ze.pixelStoreUnpackPremultiplyAlpha.set(!1),L.demTexture=L.demTexture||Me.getTileTexture(Gt),L.demTexture){let wr=L.demTexture;wr.update(Ht,{premultiply:!1}),wr.bind(rt.NEAREST,rt.CLAMP_TO_EDGE)}else L.demTexture=new h(Ze,Ht,rt.RGBA,{premultiply:!1}),L.demTexture.bind(rt.NEAREST,rt.CLAMP_TO_EDGE);Ze.activeTexture.set(rt.TEXTURE0);let fr=L.fbo;if(!fr){let wr=new h(Ze,{width:Mt,height:Mt,data:null},rt.RGBA);wr.bind(rt.LINEAR,rt.CLAMP_TO_EDGE),fr=L.fbo=Ze.createFramebuffer(Mt,Mt,!0,!1),fr.colorAttachment.set(wr.texture)}Ze.bindFramebuffer.set(fr.framebuffer),Ze.viewport.set([0,0,Mt,Mt]),Me.useProgram("hillshadePrepare").draw(Ze,rt.TRIANGLES,de,pe,Te,qi.disabled,((wr,Le)=>{let Oe=Le.stride,Ge=e.H();return e.aP(Ge,0,e.X,-e.X,0,0,1),e.J(Ge,Ge,[0,-e.X,0]),{u_matrix:Ge,u_image:1,u_dimension:[Oe,Oe],u_zoom:wr.overscaledZ,u_unpack:Le.getUnpackVector()}})(L.tileID,vt),null,J.id,Me.rasterBoundsBuffer,Me.quadTriangleIndexBuffer,Me.rasterBoundsSegments),L.needsHillshadePrepare=!1}}function lc(Me,L,J,de,pe,Te){let Ze=de.paint.get("raster-fade-duration");if(!Te&&Ze>0){let rt=n.now(),vt=(rt-Me.timeAdded)/Ze,Mt=L?(rt-L.timeAdded)/Ze:-1,Gt=J.getSource(),Ht=pe.coveringZoomLevel({tileSize:Gt.tileSize,roundZoom:Gt.roundZoom}),fr=!L||Math.abs(L.tileID.overscaledZ-Ht)>Math.abs(Me.tileID.overscaledZ-Ht),wr=fr&&Me.refreshedUponExpiration?1:e.ac(fr?vt:1-Mt,0,1);return Me.refreshedUponExpiration&&vt>=1&&(Me.refreshedUponExpiration=!1),L?{opacity:1,mix:1-wr}:{opacity:wr,mix:0}}return{opacity:1,mix:0}}let Fu=new e.aM(1,0,0,1),Ko=new e.aM(0,1,0,1),Lc=new e.aM(0,0,1,1),Kf=new e.aM(1,0,1,1),yf=new e.aM(0,1,1,1);function $u(Me,L,J,de){Pc(Me,0,L+J/2,Me.transform.width,J,de)}function _f(Me,L,J,de){Pc(Me,L-J/2,0,J,Me.transform.height,de)}function Pc(Me,L,J,de,pe,Te){let Ze=Me.context,rt=Ze.gl;rt.enable(rt.SCISSOR_TEST),rt.scissor(L*Me.pixelRatio,J*Me.pixelRatio,de*Me.pixelRatio,pe*Me.pixelRatio),Ze.clear({color:Te}),rt.disable(rt.SCISSOR_TEST)}function Jf(Me,L,J){let de=Me.context,pe=de.gl,Te=J.posMatrix,Ze=Me.useProgram("debug"),rt=Io.disabled,vt=Vo.disabled,Mt=Me.colorModeForRenderPass(),Gt="$debug",Ht=Me.style.map.terrain&&Me.style.map.terrain.getTerrainData(J);de.activeTexture.set(pe.TEXTURE0);let fr=L.getTileByID(J.key).latestRawTileData,wr=Math.floor((fr&&fr.byteLength||0)/1024),Le=L.getTile(J).tileSize,Oe=512/Math.min(Le,512)*(J.overscaledZ/Me.transform.zoom)*.5,Ge=J.canonical.toString();J.overscaledZ!==J.canonical.z&&(Ge+=` => ${J.overscaledZ}`),function($e,lt){$e.initDebugOverlayCanvas();let tt=$e.debugOverlayCanvas,dt=$e.context.gl,Rt=$e.debugOverlayCanvas.getContext("2d");Rt.clearRect(0,0,tt.width,tt.height),Rt.shadowColor="white",Rt.shadowBlur=2,Rt.lineWidth=1.5,Rt.strokeStyle="white",Rt.textBaseline="top",Rt.font="bold 36px Open Sans, sans-serif",Rt.fillText(lt,5,5),Rt.strokeText(lt,5,5),$e.debugOverlayTexture.update(tt),$e.debugOverlayTexture.bind(dt.LINEAR,dt.CLAMP_TO_EDGE)}(Me,`${Ge} ${wr}kB`),Ze.draw(de,pe.TRIANGLES,rt,vt,zs.alphaBlended,qi.disabled,On(Te,e.aM.transparent,Oe),null,Gt,Me.debugBuffer,Me.quadTriangleIndexBuffer,Me.debugSegments),Ze.draw(de,pe.LINE_STRIP,rt,vt,Mt,qi.disabled,On(Te,e.aM.red),Ht,Gt,Me.debugBuffer,Me.tileBorderIndexBuffer,Me.debugSegments)}function Gs(Me,L,J){let de=Me.context,pe=de.gl,Te=Me.colorModeForRenderPass(),Ze=new Io(pe.LEQUAL,Io.ReadWrite,Me.depthRangeFor3D),rt=Me.useProgram("terrain"),vt=L.getTerrainMesh();de.bindFramebuffer.set(null),de.viewport.set([0,0,Me.width,Me.height]);for(let Mt of J){let Gt=Me.renderToTexture.getTexture(Mt),Ht=L.getTerrainData(Mt.tileID);de.activeTexture.set(pe.TEXTURE0),pe.bindTexture(pe.TEXTURE_2D,Gt.texture);let fr=Me.transform.calculatePosMatrix(Mt.tileID.toUnwrapped()),wr=L.getMeshFrameDelta(Me.transform.zoom),Le=Me.transform.calculateFogMatrix(Mt.tileID.toUnwrapped()),Oe=qt(fr,wr,Le,Me.style.sky,Me.transform.pitch);rt.draw(de,pe.TRIANGLES,Ze,Vo.disabled,Te,qi.backCCW,Oe,Ht,"terrain",vt.vertexBuffer,vt.indexBuffer,vt.segments)}}class tu{constructor(L,J,de){this.vertexBuffer=L,this.indexBuffer=J,this.segments=de}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class xf{constructor(L,J){this.context=new Zf(L),this.transform=J,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:e.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=st.maxUnderzooming+st.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Qe}resize(L,J,de){if(this.width=Math.floor(L*de),this.height=Math.floor(J*de),this.pixelRatio=de,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let pe of this.style._order)this.style._layers[pe].resize()}setup(){let L=this.context,J=new e.aX;J.emplaceBack(0,0),J.emplaceBack(e.X,0),J.emplaceBack(0,e.X),J.emplaceBack(e.X,e.X),this.tileExtentBuffer=L.createVertexBuffer(J,cr.members),this.tileExtentSegments=e.a0.simpleSegment(0,0,4,2);let de=new e.aX;de.emplaceBack(0,0),de.emplaceBack(e.X,0),de.emplaceBack(0,e.X),de.emplaceBack(e.X,e.X),this.debugBuffer=L.createVertexBuffer(de,cr.members),this.debugSegments=e.a0.simpleSegment(0,0,4,5);let pe=new e.$;pe.emplaceBack(0,0,0,0),pe.emplaceBack(e.X,0,e.X,0),pe.emplaceBack(0,e.X,0,e.X),pe.emplaceBack(e.X,e.X,e.X,e.X),this.rasterBoundsBuffer=L.createVertexBuffer(pe,Ce.members),this.rasterBoundsSegments=e.a0.simpleSegment(0,0,4,2);let Te=new e.aX;Te.emplaceBack(0,0),Te.emplaceBack(1,0),Te.emplaceBack(0,1),Te.emplaceBack(1,1),this.viewportBuffer=L.createVertexBuffer(Te,cr.members),this.viewportSegments=e.a0.simpleSegment(0,0,4,2);let Ze=new e.aZ;Ze.emplaceBack(0),Ze.emplaceBack(1),Ze.emplaceBack(3),Ze.emplaceBack(2),Ze.emplaceBack(0),this.tileBorderIndexBuffer=L.createIndexBuffer(Ze);let rt=new e.aY;rt.emplaceBack(0,1,2),rt.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=L.createIndexBuffer(rt);let vt=this.context.gl;this.stencilClearMode=new Vo({func:vt.ALWAYS,mask:0},0,255,vt.ZERO,vt.ZERO,vt.ZERO)}clearStencil(){let L=this.context,J=L.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let de=e.H();e.aP(de,0,this.width,this.height,0,0,1),e.K(de,de,[J.drawingBufferWidth,J.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(L,J.TRIANGLES,Io.disabled,this.stencilClearMode,zs.disabled,qi.disabled,ui(de),null,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(L,J){if(this.currentStencilSource===L.source||!L.isTileClipped()||!J||!J.length)return;this.currentStencilSource=L.source;let de=this.context,pe=de.gl;this.nextStencilID+J.length>256&&this.clearStencil(),de.setColorMode(zs.disabled),de.setDepthMode(Io.disabled);let Te=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(let Ze of J){let rt=this._tileClippingMaskIDs[Ze.key]=this.nextStencilID++,vt=this.style.map.terrain&&this.style.map.terrain.getTerrainData(Ze);Te.draw(de,pe.TRIANGLES,Io.disabled,new Vo({func:pe.ALWAYS,mask:0},rt,255,pe.KEEP,pe.KEEP,pe.REPLACE),zs.disabled,qi.disabled,ui(Ze.posMatrix),vt,"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let L=this.nextStencilID++,J=this.context.gl;return new Vo({func:J.NOTEQUAL,mask:255},L,255,J.KEEP,J.KEEP,J.REPLACE)}stencilModeForClipping(L){let J=this.context.gl;return new Vo({func:J.EQUAL,mask:255},this._tileClippingMaskIDs[L.key],0,J.KEEP,J.KEEP,J.REPLACE)}stencilConfigForOverlap(L){let J=this.context.gl,de=L.sort((Ze,rt)=>rt.overscaledZ-Ze.overscaledZ),pe=de[de.length-1].overscaledZ,Te=de[0].overscaledZ-pe+1;if(Te>1){this.currentStencilSource=void 0,this.nextStencilID+Te>256&&this.clearStencil();let Ze={};for(let rt=0;rt({u_sky_color:$e.properties.get("sky-color"),u_horizon_color:$e.properties.get("horizon-color"),u_horizon:(lt.height/2+lt.getHorizon())*tt,u_sky_horizon_blend:$e.properties.get("sky-horizon-blend")*lt.height/2*tt}))(Mt,vt.style.map.transform,vt.pixelRatio),wr=new Io(Ht.LEQUAL,Io.ReadWrite,[0,1]),Le=Vo.disabled,Oe=vt.colorModeForRenderPass(),Ge=vt.useProgram("sky");if(!Mt.mesh){let $e=new e.aX;$e.emplaceBack(-1,-1),$e.emplaceBack(1,-1),$e.emplaceBack(1,1),$e.emplaceBack(-1,1);let lt=new e.aY;lt.emplaceBack(0,1,2),lt.emplaceBack(0,2,3),Mt.mesh=new tu(Gt.createVertexBuffer($e,cr.members),Gt.createIndexBuffer(lt),e.a0.simpleSegment(0,0,$e.length,lt.length))}Ge.draw(Gt,Ht.TRIANGLES,wr,Le,Oe,qi.disabled,fr,void 0,"sky",Mt.mesh.vertexBuffer,Mt.mesh.indexBuffer,Mt.mesh.segments)}(this,this.style.sky),this._showOverdrawInspector=J.showOverdrawInspector,this.depthRangeFor3D=[0,1-(L._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass="opaque",this.currentLayer=de.length-1;this.currentLayer>=0;this.currentLayer--){let vt=this.style._layers[de[this.currentLayer]],Mt=pe[vt.source],Gt=Te[vt.source];this._renderTileClippingMasks(vt,Gt),this.renderLayer(this,Mt,vt,Gt)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayerGe.source&&!Ge.isHidden(Gt)?[Mt.sourceCaches[Ge.source]]:[]),wr=fr.filter(Ge=>Ge.getSource().type==="vector"),Le=fr.filter(Ge=>Ge.getSource().type!=="vector"),Oe=Ge=>{(!Ht||Ht.getSource().maxzoomOe(Ge)),Ht||Le.forEach(Ge=>Oe(Ge)),Ht}(this.style,this.transform.zoom);vt&&function(Mt,Gt,Ht){for(let fr=0;fr0),pe&&(e.b0(J,de),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(Te,Ze){let rt=Te.context,vt=rt.gl,Mt=zs.unblended,Gt=new Io(vt.LEQUAL,Io.ReadWrite,[0,1]),Ht=Ze.getTerrainMesh(),fr=Ze.sourceCache.getRenderableTiles(),wr=Te.useProgram("terrainDepth");rt.bindFramebuffer.set(Ze.getFramebuffer("depth").framebuffer),rt.viewport.set([0,0,Te.width/devicePixelRatio,Te.height/devicePixelRatio]),rt.clear({color:e.aM.transparent,depth:1});for(let Le of fr){let Oe=Ze.getTerrainData(Le.tileID),Ge={u_matrix:Te.transform.calculatePosMatrix(Le.tileID.toUnwrapped()),u_ele_delta:Ze.getMeshFrameDelta(Te.transform.zoom)};wr.draw(rt,vt.TRIANGLES,Gt,Vo.disabled,Mt,qi.backCCW,Ge,Oe,"terrain",Ht.vertexBuffer,Ht.indexBuffer,Ht.segments)}rt.bindFramebuffer.set(null),rt.viewport.set([0,0,Te.width,Te.height])}(this,this.style.map.terrain),function(Te,Ze){let rt=Te.context,vt=rt.gl,Mt=zs.unblended,Gt=new Io(vt.LEQUAL,Io.ReadWrite,[0,1]),Ht=Ze.getTerrainMesh(),fr=Ze.getCoordsTexture(),wr=Ze.sourceCache.getRenderableTiles(),Le=Te.useProgram("terrainCoords");rt.bindFramebuffer.set(Ze.getFramebuffer("coords").framebuffer),rt.viewport.set([0,0,Te.width/devicePixelRatio,Te.height/devicePixelRatio]),rt.clear({color:e.aM.transparent,depth:1}),Ze.coordsIndex=[];for(let Oe of wr){let Ge=Ze.getTerrainData(Oe.tileID);rt.activeTexture.set(vt.TEXTURE0),vt.bindTexture(vt.TEXTURE_2D,fr.texture);let $e={u_matrix:Te.transform.calculatePosMatrix(Oe.tileID.toUnwrapped()),u_terrain_coords_id:(255-Ze.coordsIndex.length)/255,u_texture:0,u_ele_delta:Ze.getMeshFrameDelta(Te.transform.zoom)};Le.draw(rt,vt.TRIANGLES,Gt,Vo.disabled,Mt,qi.backCCW,$e,Ge,"terrain",Ht.vertexBuffer,Ht.indexBuffer,Ht.segments),Ze.coordsIndex.push(Oe.tileID.key)}rt.bindFramebuffer.set(null),rt.viewport.set([0,0,Te.width,Te.height])}(this,this.style.map.terrain))}renderLayer(L,J,de,pe){if(!de.isHidden(this.transform.zoom)&&(de.type==="background"||de.type==="custom"||(pe||[]).length))switch(this.id=de.id,de.type){case"symbol":(function(Te,Ze,rt,vt,Mt){if(Te.renderPass!=="translucent")return;let Gt=Vo.disabled,Ht=Te.colorModeForRenderPass();(rt._unevaluatedLayout.hasValue("text-variable-anchor")||rt._unevaluatedLayout.hasValue("text-variable-anchor-offset"))&&function(fr,wr,Le,Oe,Ge,$e,lt,tt,dt){let Rt=wr.transform,Ot=on(),Xt=Ge==="map",nr=$e==="map";for(let pr of fr){let Lr=Oe.getTile(pr),Br=Lr.getBucket(Le);if(!Br||!Br.text||!Br.text.segments.get().length)continue;let Kr=e.ag(Br.textSizeData,Rt.zoom),ya=ra(Lr,1,wr.transform.zoom),Za=Nt(pr.posMatrix,nr,Xt,wr.transform,ya),Ha=Le.layout.get("icon-text-fit")!=="none"&&Br.hasIconData();if(Kr){let un=Math.pow(2,Rt.zoom-Lr.tileID.overscaledZ),Bn=wr.style.map.terrain?(Jn,Pi)=>wr.style.map.terrain.getElevation(pr,Jn,Pi):null,li=Ot.translatePosition(Rt,Lr,lt,tt);nc(Br,Xt,nr,dt,Rt,Za,pr.posMatrix,un,Kr,Ha,Ot,li,pr.toUnwrapped(),Bn)}}}(vt,Te,rt,Ze,rt.layout.get("text-rotation-alignment"),rt.layout.get("text-pitch-alignment"),rt.paint.get("text-translate"),rt.paint.get("text-translate-anchor"),Mt),rt.paint.get("icon-opacity").constantOr(1)!==0&&gf(Te,Ze,rt,vt,!1,rt.paint.get("icon-translate"),rt.paint.get("icon-translate-anchor"),rt.layout.get("icon-rotation-alignment"),rt.layout.get("icon-pitch-alignment"),rt.layout.get("icon-keep-upright"),Gt,Ht),rt.paint.get("text-opacity").constantOr(1)!==0&&gf(Te,Ze,rt,vt,!0,rt.paint.get("text-translate"),rt.paint.get("text-translate-anchor"),rt.layout.get("text-rotation-alignment"),rt.layout.get("text-pitch-alignment"),rt.layout.get("text-keep-upright"),Gt,Ht),Ze.map.showCollisionBoxes&&(bc(Te,Ze,rt,vt,!0),bc(Te,Ze,rt,vt,!1))})(L,J,de,pe,this.style.placement.variableOffsets);break;case"circle":(function(Te,Ze,rt,vt){if(Te.renderPass!=="translucent")return;let Mt=rt.paint.get("circle-opacity"),Gt=rt.paint.get("circle-stroke-width"),Ht=rt.paint.get("circle-stroke-opacity"),fr=!rt.layout.get("circle-sort-key").isConstant();if(Mt.constantOr(1)===0&&(Gt.constantOr(1)===0||Ht.constantOr(1)===0))return;let wr=Te.context,Le=wr.gl,Oe=Te.depthModeForSublayer(0,Io.ReadOnly),Ge=Vo.disabled,$e=Te.colorModeForRenderPass(),lt=[];for(let tt=0;tttt.sortKey-dt.sortKey);for(let tt of lt){let{programConfiguration:dt,program:Rt,layoutVertexBuffer:Ot,indexBuffer:Xt,uniformValues:nr,terrainData:pr}=tt.state;Rt.draw(wr,Le.TRIANGLES,Oe,Ge,$e,qi.disabled,nr,pr,rt.id,Ot,Xt,tt.segments,rt.paint,Te.transform.zoom,dt)}})(L,J,de,pe);break;case"heatmap":(function(Te,Ze,rt,vt){if(rt.paint.get("heatmap-opacity")===0)return;let Mt=Te.context;if(Te.style.map.terrain){for(let Gt of vt){let Ht=Ze.getTile(Gt);Ze.hasRenderableParent(Gt)||(Te.renderPass==="offscreen"?ic(Te,Ht,rt,Gt):Te.renderPass==="translucent"&&oc(Te,rt,Gt))}Mt.viewport.set([0,0,Te.width,Te.height])}else Te.renderPass==="offscreen"?function(Gt,Ht,fr,wr){let Le=Gt.context,Oe=Le.gl,Ge=Vo.disabled,$e=new zs([Oe.ONE,Oe.ONE],e.aM.transparent,[!0,!0,!0,!0]);(function(lt,tt,dt){let Rt=lt.gl;lt.activeTexture.set(Rt.TEXTURE1),lt.viewport.set([0,0,tt.width/4,tt.height/4]);let Ot=dt.heatmapFbos.get(e.aU);Ot?(Rt.bindTexture(Rt.TEXTURE_2D,Ot.colorAttachment.get()),lt.bindFramebuffer.set(Ot.framebuffer)):(Ot=Xc(lt,tt.width/4,tt.height/4),dt.heatmapFbos.set(e.aU,Ot))})(Le,Gt,fr),Le.clear({color:e.aM.transparent});for(let lt=0;lt20&&Gt.texParameterf(Gt.TEXTURE_2D,Mt.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,Mt.extTextureFilterAnisotropicMax);let Br=Te.style.map.terrain&&Te.style.map.terrain.getTerrainData(lt),Kr=Br?lt:null,ya=Kr?Kr.posMatrix:Te.transform.calculatePosMatrix(lt.toUnwrapped(),$e),Za=fo(ya,pr||[0,0],nr||1,Xt,rt);Ht instanceof qe?fr.draw(Mt,Gt.TRIANGLES,tt,Vo.disabled,wr,qi.disabled,Za,Br,rt.id,Ht.boundsBuffer,Te.quadTriangleIndexBuffer,Ht.boundsSegments):fr.draw(Mt,Gt.TRIANGLES,tt,Le[lt.overscaledZ],wr,qi.disabled,Za,Br,rt.id,Te.rasterBoundsBuffer,Te.quadTriangleIndexBuffer,Te.rasterBoundsSegments)}})(L,J,de,pe);break;case"background":(function(Te,Ze,rt,vt){let Mt=rt.paint.get("background-color"),Gt=rt.paint.get("background-opacity");if(Gt===0)return;let Ht=Te.context,fr=Ht.gl,wr=Te.transform,Le=wr.tileSize,Oe=rt.paint.get("background-pattern");if(Te.isPatternMissing(Oe))return;let Ge=!Oe&&Mt.a===1&&Gt===1&&Te.opaquePassEnabledForLayer()?"opaque":"translucent";if(Te.renderPass!==Ge)return;let $e=Vo.disabled,lt=Te.depthModeForSublayer(0,Ge==="opaque"?Io.ReadWrite:Io.ReadOnly),tt=Te.colorModeForRenderPass(),dt=Te.useProgram(Oe?"backgroundPattern":"background"),Rt=vt||wr.coveringTiles({tileSize:Le,terrain:Te.style.map.terrain});Oe&&(Ht.activeTexture.set(fr.TEXTURE0),Te.imageManager.bind(Te.context));let Ot=rt.getCrossfadeParameters();for(let Xt of Rt){let nr=vt?Xt.posMatrix:Te.transform.calculatePosMatrix(Xt.toUnwrapped()),pr=Oe?zi(nr,Gt,Te,Oe,{tileID:Xt,tileSize:Le},Ot):Yi(nr,Gt,Mt),Lr=Te.style.map.terrain&&Te.style.map.terrain.getTerrainData(Xt);dt.draw(Ht,fr.TRIANGLES,lt,$e,tt,qi.disabled,pr,Lr,rt.id,Te.tileExtentBuffer,Te.quadTriangleIndexBuffer,Te.tileExtentSegments)}})(L,0,de,pe);break;case"custom":(function(Te,Ze,rt){let vt=Te.context,Mt=rt.implementation;if(Te.renderPass==="offscreen"){let Gt=Mt.prerender;Gt&&(Te.setCustomLayerDefaults(),vt.setColorMode(Te.colorModeForRenderPass()),Gt.call(Mt,vt.gl,Te.transform.customLayerMatrix()),vt.setDirty(),Te.setBaseState())}else if(Te.renderPass==="translucent"){Te.setCustomLayerDefaults(),vt.setColorMode(Te.colorModeForRenderPass()),vt.setStencilMode(Vo.disabled);let Gt=Mt.renderingMode==="3d"?new Io(Te.context.gl.LEQUAL,Io.ReadWrite,Te.depthRangeFor3D):Te.depthModeForSublayer(0,Io.ReadOnly);vt.setDepthMode(Gt),Mt.render(vt.gl,Te.transform.customLayerMatrix(),{farZ:Te.transform.farZ,nearZ:Te.transform.nearZ,fov:Te.transform._fov,modelViewProjectionMatrix:Te.transform.modelViewProjectionMatrix,projectionMatrix:Te.transform.projectionMatrix}),vt.setDirty(),Te.setBaseState(),vt.bindFramebuffer.set(null)}})(L,0,de)}}translatePosMatrix(L,J,de,pe,Te){if(!de[0]&&!de[1])return L;let Ze=Te?pe==="map"?this.transform.angle:0:pe==="viewport"?-this.transform.angle:0;if(Ze){let Mt=Math.sin(Ze),Gt=Math.cos(Ze);de=[de[0]*Gt-de[1]*Mt,de[0]*Mt+de[1]*Gt]}let rt=[Te?de[0]:ra(J,de[0],this.transform.zoom),Te?de[1]:ra(J,de[1],this.transform.zoom),0],vt=new Float32Array(16);return e.J(vt,L,rt),vt}saveTileTexture(L){let J=this._tileTextures[L.size[0]];J?J.push(L):this._tileTextures[L.size[0]]=[L]}getTileTexture(L){let J=this._tileTextures[L];return J&&J.length>0?J.pop():null}isPatternMissing(L){if(!L)return!1;if(!L.from||!L.to)return!0;let J=this.imageManager.getPattern(L.from.toString()),de=this.imageManager.getPattern(L.to.toString());return!J||!de}useProgram(L,J){this.cache=this.cache||{};let de=L+(J?J.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"")+(this.style.map.terrain?"/terrain":"");return this.cache[de]||(this.cache[de]=new br(this.context,tr[L],J,Uo[L],this._showOverdrawInspector,this.style.map.terrain)),this.cache[de]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){let L=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(L.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new h(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:L,drawingBufferHeight:J}=this.context.gl;return this.width!==L||this.height!==J}}class Es{constructor(L,J){this.points=L,this.planes=J}static fromInvProjectionMatrix(L,J,de){let pe=Math.pow(2,de),Te=[[-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(rt=>{let vt=1/(rt=e.af([],rt,L))[3]/J*pe;return e.b1(rt,rt,[vt,vt,1/rt[3],vt])}),Ze=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(rt=>{let vt=function(fr,wr){var Le=wr[0],Oe=wr[1],Ge=wr[2],$e=Le*Le+Oe*Oe+Ge*Ge;return $e>0&&($e=1/Math.sqrt($e)),fr[0]=wr[0]*$e,fr[1]=wr[1]*$e,fr[2]=wr[2]*$e,fr}([],function(fr,wr,Le){var Oe=wr[0],Ge=wr[1],$e=wr[2],lt=Le[0],tt=Le[1],dt=Le[2];return fr[0]=Ge*dt-$e*tt,fr[1]=$e*lt-Oe*dt,fr[2]=Oe*tt-Ge*lt,fr}([],E([],Te[rt[0]],Te[rt[1]]),E([],Te[rt[2]],Te[rt[1]]))),Mt=-((Gt=vt)[0]*(Ht=Te[rt[1]])[0]+Gt[1]*Ht[1]+Gt[2]*Ht[2]);var Gt,Ht;return vt.concat(Mt)});return new Es(Te,Ze)}}class zu{constructor(L,J){this.min=L,this.max=J,this.center=function(de,pe,Te){return de[0]=.5*pe[0],de[1]=.5*pe[1],de[2]=.5*pe[2],de}([],function(de,pe,Te){return de[0]=pe[0]+Te[0],de[1]=pe[1]+Te[1],de[2]=pe[2]+Te[2],de}([],this.min,this.max))}quadrant(L){let J=[L%2==0,L<2],de=M(this.min),pe=M(this.max);for(let Te=0;Te=0&&Ze++;if(Ze===0)return 0;Ze!==J.length&&(de=!1)}if(de)return 2;for(let pe=0;pe<3;pe++){let Te=Number.MAX_VALUE,Ze=-Number.MAX_VALUE;for(let rt=0;rtthis.max[pe]-this.min[pe])return 0}return 1}}class Fl{constructor(L=0,J=0,de=0,pe=0){if(isNaN(L)||L<0||isNaN(J)||J<0||isNaN(de)||de<0||isNaN(pe)||pe<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=L,this.bottom=J,this.left=de,this.right=pe}interpolate(L,J,de){return J.top!=null&&L.top!=null&&(this.top=e.y.number(L.top,J.top,de)),J.bottom!=null&&L.bottom!=null&&(this.bottom=e.y.number(L.bottom,J.bottom,de)),J.left!=null&&L.left!=null&&(this.left=e.y.number(L.left,J.left,de)),J.right!=null&&L.right!=null&&(this.right=e.y.number(L.right,J.right,de)),this}getCenter(L,J){let de=e.ac((this.left+L-this.right)/2,0,L),pe=e.ac((this.top+J-this.bottom)/2,0,J);return new e.P(de,pe)}equals(L){return this.top===L.top&&this.bottom===L.bottom&&this.left===L.left&&this.right===L.right}clone(){return new Fl(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}let Ku=85.051129;class wc{constructor(L,J,de,pe,Te){this.tileSize=512,this._renderWorldCopies=Te===void 0||!!Te,this._minZoom=L||0,this._maxZoom=J||22,this._minPitch=de??0,this._maxPitch=pe??60,this.setMaxBounds(),this.width=0,this.height=0,this._center=new e.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Fl,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){let L=new wc(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return L.apply(this),L}apply(L){this.tileSize=L.tileSize,this.latRange=L.latRange,this.lngRange=L.lngRange,this.width=L.width,this.height=L.height,this._center=L._center,this._elevation=L._elevation,this.minElevationForCurrentTile=L.minElevationForCurrentTile,this.zoom=L.zoom,this.angle=L.angle,this._fov=L._fov,this._pitch=L._pitch,this._unmodified=L._unmodified,this._edgeInsets=L._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(L){this._minZoom!==L&&(this._minZoom=L,this.zoom=Math.max(this.zoom,L))}get maxZoom(){return this._maxZoom}set maxZoom(L){this._maxZoom!==L&&(this._maxZoom=L,this.zoom=Math.min(this.zoom,L))}get minPitch(){return this._minPitch}set minPitch(L){this._minPitch!==L&&(this._minPitch=L,this.pitch=Math.max(this.pitch,L))}get maxPitch(){return this._maxPitch}set maxPitch(L){this._maxPitch!==L&&(this._maxPitch=L,this.pitch=Math.min(this.pitch,L))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(L){L===void 0?L=!0:L===null&&(L=!1),this._renderWorldCopies=L}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new e.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(L){let J=-e.b3(L,-180,180)*Math.PI/180;this.angle!==J&&(this._unmodified=!1,this.angle=J,this._calcMatrices(),this.rotationMatrix=function(){var de=new e.A(4);return e.A!=Float32Array&&(de[1]=0,de[2]=0),de[0]=1,de[3]=1,de}(),function(de,pe,Te){var Ze=pe[0],rt=pe[1],vt=pe[2],Mt=pe[3],Gt=Math.sin(Te),Ht=Math.cos(Te);de[0]=Ze*Ht+vt*Gt,de[1]=rt*Ht+Mt*Gt,de[2]=Ze*-Gt+vt*Ht,de[3]=rt*-Gt+Mt*Ht}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(L){let J=e.ac(L,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==J&&(this._unmodified=!1,this._pitch=J,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(L){L=Math.max(.01,Math.min(60,L)),this._fov!==L&&(this._unmodified=!1,this._fov=L/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(L){let J=Math.min(Math.max(L,this.minZoom),this.maxZoom);this._zoom!==J&&(this._unmodified=!1,this._zoom=J,this.tileZoom=Math.max(0,Math.floor(J)),this.scale=this.zoomScale(J),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(L){L.lat===this._center.lat&&L.lng===this._center.lng||(this._unmodified=!1,this._center=L,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(L){L!==this._elevation&&(this._elevation=L,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(L){this._edgeInsets.equals(L)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,L,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(L){return this._edgeInsets.equals(L)}interpolatePadding(L,J,de){this._unmodified=!1,this._edgeInsets.interpolate(L,J,de),this._constrain(),this._calcMatrices()}coveringZoomLevel(L){let J=(L.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/L.tileSize));return Math.max(0,J)}getVisibleUnwrappedCoordinates(L){let J=[new e.b4(0,L)];if(this._renderWorldCopies){let de=this.pointCoordinate(new e.P(0,0)),pe=this.pointCoordinate(new e.P(this.width,0)),Te=this.pointCoordinate(new e.P(this.width,this.height)),Ze=this.pointCoordinate(new e.P(0,this.height)),rt=Math.floor(Math.min(de.x,pe.x,Te.x,Ze.x)),vt=Math.floor(Math.max(de.x,pe.x,Te.x,Ze.x)),Mt=1;for(let Gt=rt-Mt;Gt<=vt+Mt;Gt++)Gt!==0&&J.push(new e.b4(Gt,L))}return J}coveringTiles(L){var J,de;let pe=this.coveringZoomLevel(L),Te=pe;if(L.minzoom!==void 0&&peL.maxzoom&&(pe=L.maxzoom);let Ze=this.pointCoordinate(this.getCameraPoint()),rt=e.Z.fromLngLat(this.center),vt=Math.pow(2,pe),Mt=[vt*Ze.x,vt*Ze.y,0],Gt=[vt*rt.x,vt*rt.y,0],Ht=Es.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,pe),fr=L.minzoom||0;!L.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(fr=pe);let wr=L.terrain?2/Math.min(this.tileSize,L.tileSize)*this.tileSize:3,Le=tt=>({aabb:new zu([tt*vt,0,0],[(tt+1)*vt,vt,0]),zoom:0,x:0,y:0,wrap:tt,fullyVisible:!1}),Oe=[],Ge=[],$e=pe,lt=L.reparseOverscaled?Te:pe;if(this._renderWorldCopies)for(let tt=1;tt<=3;tt++)Oe.push(Le(-tt)),Oe.push(Le(tt));for(Oe.push(Le(0));Oe.length>0;){let tt=Oe.pop(),dt=tt.x,Rt=tt.y,Ot=tt.fullyVisible;if(!Ot){let Br=tt.aabb.intersects(Ht);if(Br===0)continue;Ot=Br===2}let Xt=L.terrain?Mt:Gt,nr=tt.aabb.distanceX(Xt),pr=tt.aabb.distanceY(Xt),Lr=Math.max(Math.abs(nr),Math.abs(pr));if(tt.zoom===$e||Lr>wr+(1<<$e-tt.zoom)-2&&tt.zoom>=fr){let Br=$e-tt.zoom,Kr=Mt[0]-.5-(dt<>1),Za=tt.zoom+1,Ha=tt.aabb.quadrant(Br);if(L.terrain){let un=new e.S(Za,tt.wrap,Za,Kr,ya),Bn=L.terrain.getMinMaxElevation(un),li=(J=Bn.minElevation)!==null&&J!==void 0?J:this.elevation,Jn=(de=Bn.maxElevation)!==null&&de!==void 0?de:this.elevation;Ha=new zu([Ha.min[0],Ha.min[1],li],[Ha.max[0],Ha.max[1],Jn])}Oe.push({aabb:Ha,zoom:Za,x:Kr,y:ya,wrap:tt.wrap,fullyVisible:Ot})}}return Ge.sort((tt,dt)=>tt.distanceSq-dt.distanceSq).map(tt=>tt.tileID)}resize(L,J){this.width=L,this.height=J,this.pixelsToGLUnits=[2/L,-2/J],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(L){return Math.pow(2,L)}scaleZoom(L){return Math.log(L)/Math.LN2}project(L){let J=e.ac(L.lat,-85.051129,Ku);return new e.P(e.O(L.lng)*this.worldSize,e.Q(J)*this.worldSize)}unproject(L){return new e.Z(L.x/this.worldSize,L.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(L){let J=this.elevation,de=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,pe=this.pointLocation(this.centerPoint,L),Te=L.getElevationForLngLatZoom(pe,this.tileZoom);if(!(this.elevation-Te))return;let Ze=de+J-Te,rt=Math.cos(this._pitch)*this.cameraToCenterDistance/Ze/e.b5(1,pe.lat),vt=this.scaleZoom(rt/this.tileSize);this._elevation=Te,this._center=pe,this.zoom=vt}setLocationAtPoint(L,J){let de=this.pointCoordinate(J),pe=this.pointCoordinate(this.centerPoint),Te=this.locationCoordinate(L),Ze=new e.Z(Te.x-(de.x-pe.x),Te.y-(de.y-pe.y));this.center=this.coordinateLocation(Ze),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(L,J){return J?this.coordinatePoint(this.locationCoordinate(L),J.getElevationForLngLatZoom(L,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(L))}pointLocation(L,J){return this.coordinateLocation(this.pointCoordinate(L,J))}locationCoordinate(L){return e.Z.fromLngLat(L)}coordinateLocation(L){return L&&L.toLngLat()}pointCoordinate(L,J){if(J){let fr=J.pointCoordinate(L);if(fr!=null)return fr}let de=[L.x,L.y,0,1],pe=[L.x,L.y,1,1];e.af(de,de,this.pixelMatrixInverse),e.af(pe,pe,this.pixelMatrixInverse);let Te=de[3],Ze=pe[3],rt=de[1]/Te,vt=pe[1]/Ze,Mt=de[2]/Te,Gt=pe[2]/Ze,Ht=Mt===Gt?0:(0-Mt)/(Gt-Mt);return new e.Z(e.y.number(de[0]/Te,pe[0]/Ze,Ht)/this.worldSize,e.y.number(rt,vt,Ht)/this.worldSize)}coordinatePoint(L,J=0,de=this.pixelMatrix){let pe=[L.x*this.worldSize,L.y*this.worldSize,J,1];return e.af(pe,pe,de),new e.P(pe[0]/pe[3],pe[1]/pe[3])}getBounds(){let L=Math.max(0,this.height/2-this.getHorizon());return new re().extend(this.pointLocation(new e.P(0,L))).extend(this.pointLocation(new e.P(this.width,L))).extend(this.pointLocation(new e.P(this.width,this.height))).extend(this.pointLocation(new e.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(L){L?(this.lngRange=[L.getWest(),L.getEast()],this.latRange=[L.getSouth(),L.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,Ku])}calculateTileMatrix(L){let J=L.canonical,de=this.worldSize/this.zoomScale(J.z),pe=J.x+Math.pow(2,J.z)*L.wrap,Te=e.an(new Float64Array(16));return e.J(Te,Te,[pe*de,J.y*de,0]),e.K(Te,Te,[de/e.X,de/e.X,1]),Te}calculatePosMatrix(L,J=!1){let de=L.key,pe=J?this._alignedPosMatrixCache:this._posMatrixCache;if(pe[de])return pe[de];let Te=this.calculateTileMatrix(L);return e.L(Te,J?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,Te),pe[de]=new Float32Array(Te),pe[de]}calculateFogMatrix(L){let J=L.key,de=this._fogMatrixCache;if(de[J])return de[J];let pe=this.calculateTileMatrix(L);return e.L(pe,this.fogMatrix,pe),de[J]=new Float32Array(pe),de[J]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(L,J){J=e.ac(+J,this.minZoom,this.maxZoom);let de={center:new e.N(L.lng,L.lat),zoom:J},pe=this.lngRange;if(!this._renderWorldCopies&&pe===null){let tt=179.9999999999;pe=[-tt,tt]}let Te=this.tileSize*this.zoomScale(de.zoom),Ze=0,rt=Te,vt=0,Mt=Te,Gt=0,Ht=0,{x:fr,y:wr}=this.size;if(this.latRange){let tt=this.latRange;Ze=e.Q(tt[1])*Te,rt=e.Q(tt[0])*Te,rt-Zert&&($e=rt-tt)}if(pe){let tt=(vt+Mt)/2,dt=Le;this._renderWorldCopies&&(dt=e.b3(Le,tt-Te/2,tt+Te/2));let Rt=fr/2;dt-RtMt&&(Ge=Mt-Rt)}if(Ge!==void 0||$e!==void 0){let tt=new e.P(Ge??Le,$e??Oe);de.center=this.unproject.call({worldSize:Te},tt).wrap()}return de}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let L=this._unmodified,{center:J,zoom:de}=this.getConstrained(this.center,this.zoom);this.center=J,this.zoom=de,this._unmodified=L,this._constraining=!1}_calcMatrices(){if(!this.height)return;let L=this.centerOffset,J=this.point.x,de=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=e.b5(1,this.center.lat)*this.worldSize;let pe=e.an(new Float64Array(16));e.K(pe,pe,[this.width/2,-this.height/2,1]),e.J(pe,pe,[1,-1,0]),this.labelPlaneMatrix=pe,pe=e.an(new Float64Array(16)),e.K(pe,pe,[1,-1,1]),e.J(pe,pe,[-1,-1,0]),e.K(pe,pe,[2/this.width,2/this.height,1]),this.glCoordMatrix=pe;let Te=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),Ze=Math.min(this.elevation,this.minElevationForCurrentTile),rt=Te-Ze*this._pixelPerMeter/Math.cos(this._pitch),vt=Ze<0?rt:Te,Mt=Math.PI/2+this._pitch,Gt=this._fov*(.5+L.y/this.height),Ht=Math.sin(Gt)*vt/Math.sin(e.ac(Math.PI-Mt-Gt,.01,Math.PI-.01)),fr=this.getHorizon(),wr=2*Math.atan(fr/this.cameraToCenterDistance)*(.5+L.y/(2*fr)),Le=Math.sin(wr)*vt/Math.sin(e.ac(Math.PI-Mt-wr,.01,Math.PI-.01)),Oe=Math.min(Ht,Le);this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*Oe+vt),this.nearZ=this.height/50,pe=new Float64Array(16),e.b6(pe,this._fov,this.width/this.height,this.nearZ,this.farZ),pe[8]=2*-L.x/this.width,pe[9]=2*L.y/this.height,this.projectionMatrix=e.ae(pe),e.K(pe,pe,[1,-1,1]),e.J(pe,pe,[0,0,-this.cameraToCenterDistance]),e.b7(pe,pe,this._pitch),e.ad(pe,pe,this.angle),e.J(pe,pe,[-J,-de,0]),this.mercatorMatrix=e.K([],pe,[this.worldSize,this.worldSize,this.worldSize]),e.K(pe,pe,[1,1,this._pixelPerMeter]),this.pixelMatrix=e.L(new Float64Array(16),this.labelPlaneMatrix,pe),e.J(pe,pe,[0,0,-this.elevation]),this.modelViewProjectionMatrix=pe,this.invModelViewProjectionMatrix=e.as([],pe),this.fogMatrix=new Float64Array(16),e.b6(this.fogMatrix,this._fov,this.width/this.height,Te,this.farZ),this.fogMatrix[8]=2*-L.x/this.width,this.fogMatrix[9]=2*L.y/this.height,e.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),e.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),e.b7(this.fogMatrix,this.fogMatrix,this._pitch),e.ad(this.fogMatrix,this.fogMatrix,this.angle),e.J(this.fogMatrix,this.fogMatrix,[-J,-de,0]),e.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),e.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=e.L(new Float64Array(16),this.labelPlaneMatrix,pe);let Ge=this.width%2/2,$e=this.height%2/2,lt=Math.cos(this.angle),tt=Math.sin(this.angle),dt=J-Math.round(J)+lt*Ge+tt*$e,Rt=de-Math.round(de)+lt*$e+tt*Ge,Ot=new Float64Array(pe);if(e.J(Ot,Ot,[dt>.5?dt-1:dt,Rt>.5?Rt-1:Rt,0]),this.alignedModelViewProjectionMatrix=Ot,pe=e.as(new Float64Array(16),this.pixelMatrix),!pe)throw new Error("failed to invert matrix");this.pixelMatrixInverse=pe,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let L=this.pointCoordinate(new e.P(0,0)),J=[L.x*this.worldSize,L.y*this.worldSize,0,1];return e.af(J,J,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let L=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new e.P(0,L))}getCameraQueryGeometry(L){let J=this.getCameraPoint();if(L.length===1)return[L[0],J];{let de=J.x,pe=J.y,Te=J.x,Ze=J.y;for(let rt of L)de=Math.min(de,rt.x),pe=Math.min(pe,rt.y),Te=Math.max(Te,rt.x),Ze=Math.max(Ze,rt.y);return[new e.P(de,pe),new e.P(Te,pe),new e.P(Te,Ze),new e.P(de,Ze),new e.P(de,pe)]}}lngLatToCameraDepth(L,J){let de=this.locationCoordinate(L),pe=[de.x*this.worldSize,de.y*this.worldSize,J,1];return e.af(pe,pe,this.modelViewProjectionMatrix),pe[2]/pe[3]}}function $c(Me,L){let J,de=!1,pe=null,Te=null,Ze=()=>{pe=null,de&&(Me.apply(Te,J),pe=setTimeout(Ze,L),de=!1)};return(...rt)=>(de=!0,Te=this,J=rt,pe||Ze(),pe)}class bf{constructor(L){this._getCurrentHash=()=>{let J=window.location.hash.replace("#","");if(this._hashName){let de;return J.split("&").map(pe=>pe.split("=")).forEach(pe=>{pe[0]===this._hashName&&(de=pe)}),(de&&de[1]||"").split("/")}return J.split("/")},this._onHashChange=()=>{let J=this._getCurrentHash();if(J.length>=3&&!J.some(de=>isNaN(de))){let de=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(J[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+J[2],+J[1]],zoom:+J[0],bearing:de,pitch:+(J[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let J=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,J)},this._removeHash=()=>{let J=this._getCurrentHash();if(J.length===0)return;let de=J.join("/"),pe=de;pe.split("&").length>0&&(pe=pe.split("&")[0]),this._hashName&&(pe=`${this._hashName}=${de}`);let Te=window.location.hash.replace(pe,"");Te.startsWith("#&")?Te=Te.slice(0,1)+Te.slice(2):Te==="#"&&(Te="");let Ze=window.location.href.replace(/(#.+)?$/,Te);Ze=Ze.replace("&&","&"),window.history.replaceState(window.history.state,null,Ze)},this._updateHash=$c(this._updateHashUnthrottled,300),this._hashName=L&&encodeURIComponent(L)}addTo(L){return this._map=L,addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this}remove(){return removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),this._removeHash(),delete this._map,this}getHashString(L){let J=this._map.getCenter(),de=Math.round(100*this._map.getZoom())/100,pe=Math.ceil((de*Math.LN2+Math.log(512/360/.5))/Math.LN10),Te=Math.pow(10,pe),Ze=Math.round(J.lng*Te)/Te,rt=Math.round(J.lat*Te)/Te,vt=this._map.getBearing(),Mt=this._map.getPitch(),Gt="";if(Gt+=L?`/${Ze}/${rt}/${de}`:`${de}/${rt}/${Ze}`,(vt||Mt)&&(Gt+="/"+Math.round(10*vt)/10),Mt&&(Gt+=`/${Math.round(Mt)}`),this._hashName){let Ht=this._hashName,fr=!1,wr=window.location.hash.slice(1).split("&").map(Le=>{let Oe=Le.split("=")[0];return Oe===Ht?(fr=!0,`${Oe}=${Gt}`):Le}).filter(Le=>Le);return fr||wr.push(`${Ht}=${Gt}`),`#${wr.join("&")}`}return`#${Gt}`}}let vu={linearity:.3,easing:e.b8(0,0,.3,1)},Bu=e.e({deceleration:2500,maxSpeed:1400},vu),Tu=e.e({deceleration:20,maxSpeed:1400},vu),wh=e.e({deceleration:1e3,maxSpeed:360},vu),Ac=e.e({deceleration:1e3,maxSpeed:90},vu);class Qf{constructor(L){this._map=L,this.clear()}clear(){this._inertiaBuffer=[]}record(L){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:n.now(),settings:L})}_drainInertiaBuffer(){let L=this._inertiaBuffer,J=n.now();for(;L.length>0&&J-L[0].time>160;)L.shift()}_onMoveEnd(L){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let J={zoom:0,bearing:0,pitch:0,pan:new e.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:Te}of this._inertiaBuffer)J.zoom+=Te.zoomDelta||0,J.bearing+=Te.bearingDelta||0,J.pitch+=Te.pitchDelta||0,Te.panDelta&&J.pan._add(Te.panDelta),Te.around&&(J.around=Te.around),Te.pinchAround&&(J.pinchAround=Te.pinchAround);let de=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,pe={};if(J.pan.mag()){let Te=uc(J.pan.mag(),de,e.e({},Bu,L||{}));pe.offset=J.pan.mult(Te.amount/J.pan.mag()),pe.center=this._map.transform.center,Vl(pe,Te)}if(J.zoom){let Te=uc(J.zoom,de,Tu);pe.zoom=this._map.transform.zoom+Te.amount,Vl(pe,Te)}if(J.bearing){let Te=uc(J.bearing,de,wh);pe.bearing=this._map.transform.bearing+e.ac(Te.amount,-179,179),Vl(pe,Te)}if(J.pitch){let Te=uc(J.pitch,de,Ac);pe.pitch=this._map.transform.pitch+Te.amount,Vl(pe,Te)}if(pe.zoom||pe.bearing){let Te=J.pinchAround===void 0?J.around:J.pinchAround;pe.around=Te?this._map.unproject(Te):this._map.getCenter()}return this.clear(),e.e(pe,{noMoveStart:!0})}}function Vl(Me,L){(!Me.duration||Me.durationJ.unproject(vt)),rt=Te.reduce((vt,Mt,Gt,Ht)=>vt.add(Mt.div(Ht.length)),new e.P(0,0));super(L,{points:Te,point:rt,lngLats:Ze,lngLat:J.unproject(rt),originalEvent:de}),this._defaultPrevented=!1}}class vh extends e.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(L,J,de){super(L,{originalEvent:de}),this._defaultPrevented=!1}}class Kc{constructor(L,J){this._map=L,this._clickTolerance=J.clickTolerance}reset(){delete this._mousedownPos}wheel(L){return this._firePreventable(new vh(L.type,this._map,L))}mousedown(L,J){return this._mousedownPos=J,this._firePreventable(new $s(L.type,this._map,L))}mouseup(L){this._map.fire(new $s(L.type,this._map,L))}click(L,J){this._mousedownPos&&this._mousedownPos.dist(J)>=this._clickTolerance||this._map.fire(new $s(L.type,this._map,L))}dblclick(L){return this._firePreventable(new $s(L.type,this._map,L))}mouseover(L){this._map.fire(new $s(L.type,this._map,L))}mouseout(L){this._map.fire(new $s(L.type,this._map,L))}touchstart(L){return this._firePreventable(new Ju(L.type,this._map,L))}touchmove(L){this._map.fire(new Ju(L.type,this._map,L))}touchend(L){this._map.fire(new Ju(L.type,this._map,L))}touchcancel(L){this._map.fire(new Ju(L.type,this._map,L))}_firePreventable(L){if(this._map.fire(L),L.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class hs{constructor(L){this._map=L}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(L){this._map.fire(new $s(L.type,this._map,L))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new $s("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(L){this._delayContextMenu?this._contextMenuEvent=L:this._ignoreContextMenu||this._map.fire(new $s(L.type,this._map,L)),this._map.listens("contextmenu")&&L.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class kl{constructor(L){this._map=L}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(L){return this.transform.pointLocation(e.P.convert(L),this._map.terrain)}}class zl{constructor(L,J){this._map=L,this._tr=new kl(L),this._el=L.getCanvasContainer(),this._container=L.getContainer(),this._clickTolerance=J.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(L,J){this.isEnabled()&&L.shiftKey&&L.button===0&&(i.disableDrag(),this._startPos=this._lastPos=J,this._active=!0)}mousemoveWindow(L,J){if(!this._active)return;let de=J;if(this._lastPos.equals(de)||!this._box&&de.dist(this._startPos)Te.fitScreenCoordinates(de,pe,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",L)}keydown(L){this._active&&L.keyCode===27&&(this.reset(),this._fireEvent("boxzoomcancel",L))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(i.remove(this._box),this._box=null),i.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(L,J){return this._map.fire(new e.k(L,{originalEvent:J}))}}function Jc(Me,L){if(Me.length!==L.length)throw new Error(`The number of touches and points are not equal - touches ${Me.length}, points ${L.length}`);let J={};for(let de=0;dethis.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=L.timeStamp),de.length===this.numTouches&&(this.centroid=function(pe){let Te=new e.P(0,0);for(let Ze of pe)Te._add(Ze);return Te.div(pe.length)}(J),this.touches=Jc(de,J)))}touchmove(L,J,de){if(this.aborted||!this.centroid)return;let pe=Jc(de,J);for(let Te in this.touches){let Ze=pe[Te];(!Ze||Ze.dist(this.touches[Te])>30)&&(this.aborted=!0)}}touchend(L,J,de){if((!this.centroid||L.timeStamp-this.startTime>500)&&(this.aborted=!0),de.length===0){let pe=!this.aborted&&this.centroid;if(this.reset(),pe)return pe}}}class cc{constructor(L){this.singleTap=new Qc(L),this.numTaps=L.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(L,J,de){this.singleTap.touchstart(L,J,de)}touchmove(L,J,de){this.singleTap.touchmove(L,J,de)}touchend(L,J,de){let pe=this.singleTap.touchend(L,J,de);if(pe){let Te=L.timeStamp-this.lastTime<500,Ze=!this.lastTap||this.lastTap.dist(pe)<30;if(Te&&Ze||this.reset(),this.count++,this.lastTime=L.timeStamp,this.lastTap=pe,this.count===this.numTaps)return this.reset(),pe}}}class fc{constructor(L){this._tr=new kl(L),this._zoomIn=new cc({numTouches:1,numTaps:2}),this._zoomOut=new cc({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(L,J,de){this._zoomIn.touchstart(L,J,de),this._zoomOut.touchstart(L,J,de)}touchmove(L,J,de){this._zoomIn.touchmove(L,J,de),this._zoomOut.touchmove(L,J,de)}touchend(L,J,de){let pe=this._zoomIn.touchend(L,J,de),Te=this._zoomOut.touchend(L,J,de),Ze=this._tr;return pe?(this._active=!0,L.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:rt=>rt.easeTo({duration:300,zoom:Ze.zoom+1,around:Ze.unproject(pe)},{originalEvent:L})}):Te?(this._active=!0,L.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:rt=>rt.easeTo({duration:300,zoom:Ze.zoom-1,around:Ze.unproject(Te)},{originalEvent:L})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class ru{constructor(L){this._enabled=!!L.enable,this._moveStateManager=L.moveStateManager,this._clickTolerance=L.clickTolerance||1,this._moveFunction=L.move,this._activateOnStart=!!L.activateOnStart,L.assignEvents(this),this.reset()}reset(L){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(L)}_move(...L){let J=this._moveFunction(...L);if(J.bearingDelta||J.pitchDelta||J.around||J.panDelta)return this._active=!0,J}dragStart(L,J){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(L)&&(this._moveStateManager.startMove(L),this._lastPoint=J.length?J[0]:J,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(L,J){if(!this.isEnabled())return;let de=this._lastPoint;if(!de)return;if(L.preventDefault(),!this._moveStateManager.isValidMoveEvent(L))return void this.reset(L);let pe=J.length?J[0]:J;return!this._moved&&pe.dist(de){Me.mousedown=Me.dragStart,Me.mousemoveWindow=Me.dragMove,Me.mouseup=Me.dragEnd,Me.contextmenu=L=>{L.preventDefault()}},wf=({enable:Me,clickTolerance:L,bearingDegreesPerPixelMoved:J=.8})=>{let de=new Qu({checkCorrectEvent:pe=>i.mouseButton(pe)===0&&pe.ctrlKey||i.mouseButton(pe)===2});return new ru({clickTolerance:L,move:(pe,Te)=>({bearingDelta:(Te.x-pe.x)*J}),moveStateManager:de,enable:Me,assignEvents:tf})},eh=({enable:Me,clickTolerance:L,pitchDegreesPerPixelMoved:J=-.5})=>{let de=new Qu({checkCorrectEvent:pe=>i.mouseButton(pe)===0&&pe.ctrlKey||i.mouseButton(pe)===2});return new ru({clickTolerance:L,move:(pe,Te)=>({pitchDelta:(Te.y-pe.y)*J}),moveStateManager:de,enable:Me,assignEvents:tf})};class Ic{constructor(L,J){this._clickTolerance=L.clickTolerance||1,this._map=J,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new e.P(0,0)}_shouldBePrevented(L){return L<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(L,J,de){return this._calculateTransform(L,J,de)}touchmove(L,J,de){if(this._active){if(!this._shouldBePrevented(de.length))return L.preventDefault(),this._calculateTransform(L,J,de);this._map.cooperativeGestures.notifyGestureBlocked("touch_pan",L)}}touchend(L,J,de){this._calculateTransform(L,J,de),this._active&&this._shouldBePrevented(de.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(L,J,de){de.length>0&&(this._active=!0);let pe=Jc(de,J),Te=new e.P(0,0),Ze=new e.P(0,0),rt=0;for(let Mt in pe){let Gt=pe[Mt],Ht=this._touches[Mt];Ht&&(Te._add(Gt),Ze._add(Gt.sub(Ht)),rt++,pe[Mt]=Gt)}if(this._touches=pe,this._shouldBePrevented(rt)||!Ze.mag())return;let vt=Ze.div(rt);return this._sum._add(vt),this._sum.mag()Math.abs(Me.x)}class Ou extends Af{constructor(L){super(),this._currentTouchCount=0,this._map=L}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(L,J,de){super.touchstart(L,J,de),this._currentTouchCount=de.length}_start(L){this._lastPoints=L,Fc(L[0].sub(L[1]))&&(this._valid=!1)}_move(L,J,de){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let pe=L[0].sub(this._lastPoints[0]),Te=L[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(pe,Te,de.timeStamp),this._valid?(this._lastPoints=L,this._active=!0,{pitchDelta:(pe.y+Te.y)/2*-.5}):void 0}gestureBeginsVertically(L,J,de){if(this._valid!==void 0)return this._valid;let pe=L.mag()>=2,Te=J.mag()>=2;if(!pe&&!Te)return;if(!pe||!Te)return this._firstMove===void 0&&(this._firstMove=de),de-this._firstMove<100&&void 0;let Ze=L.y>0==J.y>0;return Fc(L)&&Fc(J)&&Ze}}let Tt={panStep:100,bearingStep:15,pitchStep:10};class jt{constructor(L){this._tr=new kl(L);let J=Tt;this._panStep=J.panStep,this._bearingStep=J.bearingStep,this._pitchStep=J.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(L){if(L.altKey||L.ctrlKey||L.metaKey)return;let J=0,de=0,pe=0,Te=0,Ze=0;switch(L.keyCode){case 61:case 107:case 171:case 187:J=1;break;case 189:case 109:case 173:J=-1;break;case 37:L.shiftKey?de=-1:(L.preventDefault(),Te=-1);break;case 39:L.shiftKey?de=1:(L.preventDefault(),Te=1);break;case 38:L.shiftKey?pe=1:(L.preventDefault(),Ze=-1);break;case 40:L.shiftKey?pe=-1:(L.preventDefault(),Ze=1);break;default:return}return this._rotationDisabled&&(de=0,pe=0),{cameraAnimation:rt=>{let vt=this._tr;rt.easeTo({duration:300,easeId:"keyboardHandler",easing:yr,zoom:J?Math.round(vt.zoom)+J*(L.shiftKey?2:1):vt.zoom,bearing:vt.bearing+de*this._bearingStep,pitch:vt.pitch+pe*this._pitchStep,offset:[-Te*this._panStep,-Ze*this._panStep],center:vt.center},{originalEvent:L})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function yr(Me){return Me*(2-Me)}let dr=4.000244140625;class Wr{constructor(L,J){this._onTimeout=de=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(de)},this._map=L,this._tr=new kl(L),this._triggerRenderFrame=J,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(L){this._defaultZoomRate=L}setWheelZoomRate(L){this._wheelZoomRate=L}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(L){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!L&&L.around==="center")}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(L){return!!this._map.cooperativeGestures.isEnabled()&&!(L.ctrlKey||this._map.cooperativeGestures.isBypassed(L))}wheel(L){if(!this.isEnabled())return;if(this._shouldBePrevented(L))return void this._map.cooperativeGestures.notifyGestureBlocked("wheel_zoom",L);let J=L.deltaMode===WheelEvent.DOM_DELTA_LINE?40*L.deltaY:L.deltaY,de=n.now(),pe=de-(this._lastWheelEventTime||0);this._lastWheelEventTime=de,J!==0&&J%dr==0?this._type="wheel":J!==0&&Math.abs(J)<4?this._type="trackpad":pe>400?(this._type=null,this._lastValue=J,this._timeout=setTimeout(this._onTimeout,40,L)):this._type||(this._type=Math.abs(pe*J)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,J+=this._lastValue)),L.shiftKey&&J&&(J/=4),this._type&&(this._lastWheelEvent=L,this._delta-=J,this._active||this._start(L)),L.preventDefault()}_start(L){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);let J=i.mousePos(this._map.getCanvas(),L),de=this._tr;this._around=J.y>de.transform.height/2-de.transform.getHorizon()?e.N.convert(this._aroundCenter?de.center:de.unproject(J)):e.N.convert(de.center),this._aroundPoint=de.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let L=this._tr.transform;if(this._delta!==0){let vt=this._type==="wheel"&&Math.abs(this._delta)>dr?this._wheelZoomRate:this._defaultZoomRate,Mt=2/(1+Math.exp(-Math.abs(this._delta*vt)));this._delta<0&&Mt!==0&&(Mt=1/Mt);let Gt=typeof this._targetZoom=="number"?L.zoomScale(this._targetZoom):L.scale;this._targetZoom=Math.min(L.maxZoom,Math.max(L.minZoom,L.scaleZoom(Gt*Mt))),this._type==="wheel"&&(this._startZoom=L.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let J=typeof this._targetZoom=="number"?this._targetZoom:L.zoom,de=this._startZoom,pe=this._easing,Te,Ze=!1,rt=n.now()-this._lastWheelEventTime;if(this._type==="wheel"&&de&&pe&&rt){let vt=Math.min(rt/200,1),Mt=pe(vt);Te=e.y.number(de,J,Mt),vt<1?this._frameId||(this._frameId=!0):Ze=!0}else Te=J,Ze=!0;return this._active=!0,Ze&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!Ze,zoomDelta:Te-L.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(L){let J=e.b9;if(this._prevEase){let de=this._prevEase,pe=(n.now()-de.start)/de.duration,Te=de.easing(pe+.01)-de.easing(pe),Ze=.27/Math.sqrt(Te*Te+1e-4)*.01,rt=Math.sqrt(.0729-Ze*Ze);J=e.b8(Ze,rt,.25,1)}return this._prevEase={start:n.now(),duration:L,easing:J},J}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class ma{constructor(L,J){this._clickZoom=L,this._tapZoom=J}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 za{constructor(L){this._tr=new kl(L),this.reset()}reset(){this._active=!1}dblclick(L,J){return L.preventDefault(),{cameraAnimation:de=>{de.easeTo({duration:300,zoom:this._tr.zoom+(L.shiftKey?-1:1),around:this._tr.unproject(J)},{originalEvent:L})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Ja{constructor(){this._tap=new cc({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(L,J,de){if(!this._swipePoint)if(this._tapTime){let pe=J[0],Te=L.timeStamp-this._tapTime<500,Ze=this._tapPoint.dist(pe)<30;Te&&Ze?de.length>0&&(this._swipePoint=pe,this._swipeTouch=de[0].identifier):this.reset()}else this._tap.touchstart(L,J,de)}touchmove(L,J,de){if(this._tapTime){if(this._swipePoint){if(de[0].identifier!==this._swipeTouch)return;let pe=J[0],Te=pe.y-this._swipePoint.y;return this._swipePoint=pe,L.preventDefault(),this._active=!0,{zoomDelta:Te/128}}}else this._tap.touchmove(L,J,de)}touchend(L,J,de){if(this._tapTime)this._swipePoint&&de.length===0&&this.reset();else{let pe=this._tap.touchend(L,J,de);pe&&(this._tapTime=L.timeStamp,this._tapPoint=pe)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class nn{constructor(L,J,de){this._el=L,this._mousePan=J,this._touchPan=de}enable(L){this._inertiaOptions=L||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("maplibregl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("maplibregl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class Tn{constructor(L,J,de){this._pitchWithRotate=L.pitchWithRotate,this._mouseRotate=J,this._mousePitch=de}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 Ba{constructor(L,J,de,pe){this._el=L,this._touchZoom=J,this._touchRotate=de,this._tapDragZoom=pe,this._rotationDisabled=!1,this._enabled=!0}enable(L){this._touchZoom.enable(L),this._rotationDisabled||this._touchRotate.enable(L),this._tapDragZoom.enable(),this._el.classList.add("maplibregl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("maplibregl-touch-zoom-rotate")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}class Na{constructor(L,J){this._bypassKey=navigator.userAgent.indexOf("Mac")!==-1?"metaKey":"ctrlKey",this._map=L,this._options=J,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let L=this._map.getCanvasContainer();L.classList.add("maplibregl-cooperative-gestures"),this._container=i.create("div","maplibregl-cooperative-gesture-screen",L);let J=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");this._bypassKey==="metaKey"&&(J=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));let de=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),pe=document.createElement("div");pe.className="maplibregl-desktop-message",pe.textContent=J,this._container.appendChild(pe);let Te=document.createElement("div");Te.className="maplibregl-mobile-message",Te.textContent=de,this._container.appendChild(Te),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(L){return L[this._bypassKey]}notifyGestureBlocked(L,J){this._enabled&&(this._map.fire(new e.k("cooperativegestureprevented",{gestureType:L,originalEvent:J})),this._container.classList.add("maplibregl-show"),setTimeout(()=>{this._container.classList.remove("maplibregl-show")},100))}}let Xa=Me=>Me.zoom||Me.drag||Me.pitch||Me.rotate;class Aa extends e.k{}function Fn(Me){return Me.panDelta&&Me.panDelta.mag()||Me.zoomDelta||Me.bearingDelta||Me.pitchDelta}class ci{constructor(L,J){this.handleWindowEvent=pe=>{this.handleEvent(pe,`${pe.type}Window`)},this.handleEvent=(pe,Te)=>{if(pe.type==="blur")return void this.stop(!0);this._updatingCamera=!0;let Ze=pe.type==="renderFrame"?void 0:pe,rt={needsRenderFrame:!1},vt={},Mt={},Gt=pe.touches,Ht=Gt?this._getMapTouches(Gt):void 0,fr=Ht?i.touchPos(this._map.getCanvas(),Ht):i.mousePos(this._map.getCanvas(),pe);for(let{handlerName:Oe,handler:Ge,allowed:$e}of this._handlers){if(!Ge.isEnabled())continue;let lt;this._blockedByActive(Mt,$e,Oe)?Ge.reset():Ge[Te||pe.type]&&(lt=Ge[Te||pe.type](pe,fr,Ht),this.mergeHandlerResult(rt,vt,lt,Oe,Ze),lt&<.needsRenderFrame&&this._triggerRenderFrame()),(lt||Ge.isActive())&&(Mt[Oe]=Ge)}let wr={};for(let Oe in this._previousActiveHandlers)Mt[Oe]||(wr[Oe]=Ze);this._previousActiveHandlers=Mt,(Object.keys(wr).length||Fn(rt))&&(this._changes.push([rt,vt,wr]),this._triggerRenderFrame()),(Object.keys(Mt).length||Fn(rt))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:Le}=rt;Le&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],Le(this._map))},this._map=L,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Qf(L),this._bearingSnap=J.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(J);let de=this._el;this._listeners=[[de,"touchstart",{passive:!0}],[de,"touchmove",{passive:!1}],[de,"touchend",void 0],[de,"touchcancel",void 0],[de,"mousedown",void 0],[de,"mousemove",void 0],[de,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[de,"mouseover",void 0],[de,"mouseout",void 0],[de,"dblclick",void 0],[de,"click",void 0],[de,"keydown",{capture:!1}],[de,"keyup",void 0],[de,"wheel",{passive:!1}],[de,"contextmenu",void 0],[window,"blur",void 0]];for(let[pe,Te,Ze]of this._listeners)i.addEventListener(pe,Te,pe===document?this.handleWindowEvent:this.handleEvent,Ze)}destroy(){for(let[L,J,de]of this._listeners)i.removeEventListener(L,J,L===document?this.handleWindowEvent:this.handleEvent,de)}_addDefaultHandlers(L){let J=this._map,de=J.getCanvasContainer();this._add("mapEvent",new Kc(J,L));let pe=J.boxZoom=new zl(J,L);this._add("boxZoom",pe),L.interactive&&L.boxZoom&&pe.enable();let Te=J.cooperativeGestures=new Na(J,L.cooperativeGestures);this._add("cooperativeGestures",Te),L.cooperativeGestures&&Te.enable();let Ze=new fc(J),rt=new za(J);J.doubleClickZoom=new ma(rt,Ze),this._add("tapZoom",Ze),this._add("clickZoom",rt),L.interactive&&L.doubleClickZoom&&J.doubleClickZoom.enable();let vt=new Ja;this._add("tapDragZoom",vt);let Mt=J.touchPitch=new Ou(J);this._add("touchPitch",Mt),L.interactive&&L.touchPitch&&J.touchPitch.enable(L.touchPitch);let Gt=wf(L),Ht=eh(L);J.dragRotate=new Tn(L,Gt,Ht),this._add("mouseRotate",Gt,["mousePitch"]),this._add("mousePitch",Ht,["mouseRotate"]),L.interactive&&L.dragRotate&&J.dragRotate.enable();let fr=(({enable:lt,clickTolerance:tt})=>{let dt=new Qu({checkCorrectEvent:Rt=>i.mouseButton(Rt)===0&&!Rt.ctrlKey});return new ru({clickTolerance:tt,move:(Rt,Ot)=>({around:Ot,panDelta:Ot.sub(Rt)}),activateOnStart:!0,moveStateManager:dt,enable:lt,assignEvents:tf})})(L),wr=new Ic(L,J);J.dragPan=new nn(de,fr,wr),this._add("mousePan",fr),this._add("touchPan",wr,["touchZoom","touchRotate"]),L.interactive&&L.dragPan&&J.dragPan.enable(L.dragPan);let Le=new th,Oe=new Mu;J.touchZoomRotate=new Ba(de,Oe,Le,vt),this._add("touchRotate",Le,["touchPan","touchZoom"]),this._add("touchZoom",Oe,["touchPan","touchRotate"]),L.interactive&&L.touchZoomRotate&&J.touchZoomRotate.enable(L.touchZoomRotate);let Ge=J.scrollZoom=new Wr(J,()=>this._triggerRenderFrame());this._add("scrollZoom",Ge,["mousePan"]),L.interactive&&L.scrollZoom&&J.scrollZoom.enable(L.scrollZoom);let $e=J.keyboard=new jt(J);this._add("keyboard",$e),L.interactive&&L.keyboard&&J.keyboard.enable(),this._add("blockableMapEvent",new hs(J))}_add(L,J,de){this._handlers.push({handlerName:L,handler:J,allowed:de}),this._handlersById[L]=J}stop(L){if(!this._updatingCamera){for(let{handler:J}of this._handlers)J.reset();this._inertia.clear(),this._fireEvents({},{},L),this._changes=[]}}isActive(){for(let{handler:L}of this._handlers)if(L.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Xa(this._eventsInProgress)||this.isZooming()}_blockedByActive(L,J,de){for(let pe in L)if(pe!==de&&(!J||J.indexOf(pe)<0))return!0;return!1}_getMapTouches(L){let J=[];for(let de of L)this._el.contains(de.target)&&J.push(de);return J}mergeHandlerResult(L,J,de,pe,Te){if(!de)return;e.e(L,de);let Ze={handlerName:pe,originalEvent:de.originalEvent||Te};de.zoomDelta!==void 0&&(J.zoom=Ze),de.panDelta!==void 0&&(J.drag=Ze),de.pitchDelta!==void 0&&(J.pitch=Ze),de.bearingDelta!==void 0&&(J.rotate=Ze)}_applyChanges(){let L={},J={},de={};for(let[pe,Te,Ze]of this._changes)pe.panDelta&&(L.panDelta=(L.panDelta||new e.P(0,0))._add(pe.panDelta)),pe.zoomDelta&&(L.zoomDelta=(L.zoomDelta||0)+pe.zoomDelta),pe.bearingDelta&&(L.bearingDelta=(L.bearingDelta||0)+pe.bearingDelta),pe.pitchDelta&&(L.pitchDelta=(L.pitchDelta||0)+pe.pitchDelta),pe.around!==void 0&&(L.around=pe.around),pe.pinchAround!==void 0&&(L.pinchAround=pe.pinchAround),pe.noInertia&&(L.noInertia=pe.noInertia),e.e(J,Te),e.e(de,Ze);this._updateMapTransform(L,J,de),this._changes=[]}_updateMapTransform(L,J,de){let pe=this._map,Te=pe._getTransformForUpdate(),Ze=pe.terrain;if(!(Fn(L)||Ze&&this._terrainMovement))return this._fireEvents(J,de,!0);let{panDelta:rt,zoomDelta:vt,bearingDelta:Mt,pitchDelta:Gt,around:Ht,pinchAround:fr}=L;fr!==void 0&&(Ht=fr),pe._stop(!0),Ht=Ht||pe.transform.centerPoint;let wr=Te.pointLocation(rt?Ht.sub(rt):Ht);Mt&&(Te.bearing+=Mt),Gt&&(Te.pitch+=Gt),vt&&(Te.zoom+=vt),Ze?this._terrainMovement||!J.drag&&!J.zoom?J.drag&&this._terrainMovement?Te.center=Te.pointLocation(Te.centerPoint.sub(rt)):Te.setLocationAtPoint(wr,Ht):(this._terrainMovement=!0,this._map._elevationFreeze=!0,Te.setLocationAtPoint(wr,Ht)):Te.setLocationAtPoint(wr,Ht),pe._applyUpdatedTransform(Te),this._map._update(),L.noInertia||this._inertia.record(L),this._fireEvents(J,de,!0)}_fireEvents(L,J,de){let pe=Xa(this._eventsInProgress),Te=Xa(L),Ze={};for(let Ht in L){let{originalEvent:fr}=L[Ht];this._eventsInProgress[Ht]||(Ze[`${Ht}start`]=fr),this._eventsInProgress[Ht]=L[Ht]}!pe&&Te&&this._fireEvent("movestart",Te.originalEvent);for(let Ht in Ze)this._fireEvent(Ht,Ze[Ht]);Te&&this._fireEvent("move",Te.originalEvent);for(let Ht in L){let{originalEvent:fr}=L[Ht];this._fireEvent(Ht,fr)}let rt={},vt;for(let Ht in this._eventsInProgress){let{handlerName:fr,originalEvent:wr}=this._eventsInProgress[Ht];this._handlersById[fr].isActive()||(delete this._eventsInProgress[Ht],vt=J[fr]||wr,rt[`${Ht}end`]=vt)}for(let Ht in rt)this._fireEvent(Ht,rt[Ht]);let Mt=Xa(this._eventsInProgress),Gt=(pe||Te)&&!Mt;if(Gt&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;let Ht=this._map._getTransformForUpdate();Ht.recalculateZoom(this._map.terrain),this._map._applyUpdatedTransform(Ht)}if(de&&Gt){this._updatingCamera=!0;let Ht=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),fr=wr=>wr!==0&&-this._bearingSnap{delete this._frameId,this.handleEvent(new Aa("renderFrame",{timeStamp:L})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class pi extends e.E{constructor(L,J){super(),this._renderFrameCallback=()=>{let de=Math.min((n.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(de)),de<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=L,this._bearingSnap=J.bearingSnap,this.on("moveend",()=>{delete this._requestedCameraState})}getCenter(){return new e.N(this.transform.center.lng,this.transform.center.lat)}setCenter(L,J){return this.jumpTo({center:L},J)}panBy(L,J,de){return L=e.P.convert(L).mult(-1),this.panTo(this.transform.center,e.e({offset:L},J),de)}panTo(L,J,de){return this.easeTo(e.e({center:L},J),de)}getZoom(){return this.transform.zoom}setZoom(L,J){return this.jumpTo({zoom:L},J),this}zoomTo(L,J,de){return this.easeTo(e.e({zoom:L},J),de)}zoomIn(L,J){return this.zoomTo(this.getZoom()+1,L,J),this}zoomOut(L,J){return this.zoomTo(this.getZoom()-1,L,J),this}getBearing(){return this.transform.bearing}setBearing(L,J){return this.jumpTo({bearing:L},J),this}getPadding(){return this.transform.padding}setPadding(L,J){return this.jumpTo({padding:L},J),this}rotateTo(L,J,de){return this.easeTo(e.e({bearing:L},J),de)}resetNorth(L,J){return this.rotateTo(0,e.e({duration:1e3},L),J),this}resetNorthPitch(L,J){return this.easeTo(e.e({bearing:0,pitch:0,duration:1e3},L),J),this}snapToNorth(L,J){return Math.abs(this.getBearing()){if(this._zooming&&(pe.zoom=e.y.number(Te,Ge,Xt)),this._rotating&&(pe.bearing=e.y.number(Ze,Mt,Xt)),this._pitching&&(pe.pitch=e.y.number(rt,Gt,Xt)),this._padding&&(pe.interpolatePadding(vt,Ht,Xt),wr=pe.centerPoint.add(fr)),this.terrain&&!L.freezeElevation&&this._updateElevation(Xt),dt)pe.setLocationAtPoint(dt,Rt);else{let nr=pe.zoomScale(pe.zoom-Te),pr=Ge>Te?Math.min(2,tt):Math.max(.5,tt),Lr=Math.pow(pr,1-Xt),Br=pe.unproject($e.add(lt.mult(Xt*Lr)).mult(nr));pe.setLocationAtPoint(pe.renderWorldCopies?Br.wrap():Br,wr)}this._applyUpdatedTransform(pe),this._fireMoveEvents(J)},Xt=>{this.terrain&&L.freezeElevation&&this._finalizeElevation(),this._afterEase(J,Xt)},L),this}_prepareEase(L,J,de={}){this._moving=!0,J||de.moving||this.fire(new e.k("movestart",L)),this._zooming&&!de.zooming&&this.fire(new e.k("zoomstart",L)),this._rotating&&!de.rotating&&this.fire(new e.k("rotatestart",L)),this._pitching&&!de.pitching&&this.fire(new e.k("pitchstart",L))}_prepareElevation(L){this._elevationCenter=L,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(L,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(L){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let J=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(L<1&&J!==this._elevationTarget){let de=this._elevationTarget-this._elevationStart;this._elevationStart+=L*(de-(J-(de*L+this._elevationStart))/(1-L)),this._elevationTarget=J}this.transform.elevation=e.y.number(this._elevationStart,this._elevationTarget,L)}_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(L){let J=L.getCameraPosition(),de=this.terrain.getElevationForLngLatZoom(J.lngLat,L.zoom);if(J.altitudethis._elevateCameraIfInsideTerrain(pe)),this.transformCameraUpdate&&J.push(pe=>this.transformCameraUpdate(pe)),!J.length)return;let de=L.clone();for(let pe of J){let Te=de.clone(),{center:Ze,zoom:rt,pitch:vt,bearing:Mt,elevation:Gt}=pe(Te);Ze&&(Te.center=Ze),rt!==void 0&&(Te.zoom=rt),vt!==void 0&&(Te.pitch=vt),Mt!==void 0&&(Te.bearing=Mt),Gt!==void 0&&(Te.elevation=Gt),de.apply(Te)}this.transform.apply(de)}_fireMoveEvents(L){this.fire(new e.k("move",L)),this._zooming&&this.fire(new e.k("zoom",L)),this._rotating&&this.fire(new e.k("rotate",L)),this._pitching&&this.fire(new e.k("pitch",L))}_afterEase(L,J){if(this._easeId&&J&&this._easeId===J)return;delete this._easeId;let de=this._zooming,pe=this._rotating,Te=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,de&&this.fire(new e.k("zoomend",L)),pe&&this.fire(new e.k("rotateend",L)),Te&&this.fire(new e.k("pitchend",L)),this.fire(new e.k("moveend",L))}flyTo(L,J){var de;if(!L.essential&&n.prefersReducedMotion){let un=e.M(L,["center","zoom","bearing","pitch","around"]);return this.jumpTo(un,J)}this.stop(),L=e.e({offset:[0,0],speed:1.2,curve:1.42,easing:e.b9},L);let pe=this._getTransformForUpdate(),Te=pe.zoom,Ze=pe.bearing,rt=pe.pitch,vt=pe.padding,Mt="bearing"in L?this._normalizeBearing(L.bearing,Ze):Ze,Gt="pitch"in L?+L.pitch:rt,Ht="padding"in L?L.padding:pe.padding,fr=e.P.convert(L.offset),wr=pe.centerPoint.add(fr),Le=pe.pointLocation(wr),{center:Oe,zoom:Ge}=pe.getConstrained(e.N.convert(L.center||Le),(de=L.zoom)!==null&&de!==void 0?de:Te);this._normalizeCenter(Oe,pe);let $e=pe.zoomScale(Ge-Te),lt=pe.project(Le),tt=pe.project(Oe).sub(lt),dt=L.curve,Rt=Math.max(pe.width,pe.height),Ot=Rt/$e,Xt=tt.mag();if("minZoom"in L){let un=e.ac(Math.min(L.minZoom,Te,Ge),pe.minZoom,pe.maxZoom),Bn=Rt/pe.zoomScale(un-Te);dt=Math.sqrt(Bn/Xt*2)}let nr=dt*dt;function pr(un){let Bn=(Ot*Ot-Rt*Rt+(un?-1:1)*nr*nr*Xt*Xt)/(2*(un?Ot:Rt)*nr*Xt);return Math.log(Math.sqrt(Bn*Bn+1)-Bn)}function Lr(un){return(Math.exp(un)-Math.exp(-un))/2}function Br(un){return(Math.exp(un)+Math.exp(-un))/2}let Kr=pr(!1),ya=function(un){return Br(Kr)/Br(Kr+dt*un)},Za=function(un){return Rt*((Br(Kr)*(Lr(Bn=Kr+dt*un)/Br(Bn))-Lr(Kr))/nr)/Xt;var Bn},Ha=(pr(!0)-Kr)/dt;if(Math.abs(Xt)<1e-6||!isFinite(Ha)){if(Math.abs(Rt-Ot)<1e-6)return this.easeTo(L,J);let un=Ot0,ya=Bn=>Math.exp(un*dt*Bn)}return L.duration="duration"in L?+L.duration:1e3*Ha/("screenSpeed"in L?+L.screenSpeed/dt:+L.speed),L.maxDuration&&L.duration>L.maxDuration&&(L.duration=0),this._zooming=!0,this._rotating=Ze!==Mt,this._pitching=Gt!==rt,this._padding=!pe.isPaddingEqual(Ht),this._prepareEase(J,!1),this.terrain&&this._prepareElevation(Oe),this._ease(un=>{let Bn=un*Ha,li=1/ya(Bn);pe.zoom=un===1?Ge:Te+pe.scaleZoom(li),this._rotating&&(pe.bearing=e.y.number(Ze,Mt,un)),this._pitching&&(pe.pitch=e.y.number(rt,Gt,un)),this._padding&&(pe.interpolatePadding(vt,Ht,un),wr=pe.centerPoint.add(fr)),this.terrain&&!L.freezeElevation&&this._updateElevation(un);let Jn=un===1?Oe:pe.unproject(lt.add(tt.mult(Za(Bn))).mult(li));pe.setLocationAtPoint(pe.renderWorldCopies?Jn.wrap():Jn,wr),this._applyUpdatedTransform(pe),this._fireMoveEvents(J)},()=>{this.terrain&&L.freezeElevation&&this._finalizeElevation(),this._afterEase(J)},L),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(L,J){var de;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let pe=this._onEaseEnd;delete this._onEaseEnd,pe.call(this,J)}return L||(de=this.handlers)===null||de===void 0||de.stop(!1),this}_ease(L,J,de){de.animate===!1||de.duration===0?(L(1),J()):(this._easeStart=n.now(),this._easeOptions=de,this._onEaseFrame=L,this._onEaseEnd=J,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(L,J){L=e.b3(L,-180,180);let de=Math.abs(L-J);return Math.abs(L-360-J)180?-360:de<-180?360:0}queryTerrainElevation(L){return this.terrain?this.terrain.getElevationForLngLatZoom(e.N.convert(L),this.transform.tileZoom)-this.transform.elevation:null}}let fi={compact:!0,customAttribution:'
MapLibre'};class Ti{constructor(L=fi){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=J=>{!J||J.sourceDataType!=="metadata"&&J.sourceDataType!=="visibility"&&J.dataType!=="style"&&J.type!=="terrain"||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?this._container.setAttribute("open",""):this._container.classList.contains("maplibregl-compact")||this._container.classList.contains("maplibregl-attrib-empty")||(this._container.setAttribute("open",""),this._container.classList.add("maplibregl-compact","maplibregl-compact-show")):(this._container.setAttribute("open",""),this._container.classList.contains("maplibregl-compact")&&this._container.classList.remove("maplibregl-compact","maplibregl-compact-show"))},this._updateCompactMinimize=()=>{this._container.classList.contains("maplibregl-compact")&&this._container.classList.contains("maplibregl-compact-show")&&this._container.classList.remove("maplibregl-compact-show")},this.options=L}getDefaultPosition(){return"bottom-right"}onAdd(L){return this._map=L,this._compact=this.options.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(L,J){let de=this._map._getUIString(`AttributionControl.${J}`);L.title=de,L.setAttribute("aria-label",de)}_updateAttributions(){if(!this._map.style)return;let L=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?L=L.concat(this.options.customAttribution.map(pe=>typeof pe!="string"?"":pe)):typeof this.options.customAttribution=="string"&&L.push(this.options.customAttribution)),this._map.style.stylesheet){let pe=this._map.style.stylesheet;this.styleOwner=pe.owner,this.styleId=pe.id}let J=this._map.style.sourceCaches;for(let pe in J){let Te=J[pe];if(Te.used||Te.usedForTerrain){let Ze=Te.getSource();Ze.attribution&&L.indexOf(Ze.attribution)<0&&L.push(Ze.attribution)}}L=L.filter(pe=>String(pe).trim()),L.sort((pe,Te)=>pe.length-Te.length),L=L.filter((pe,Te)=>{for(let Ze=Te+1;Ze=0)return!1;return!0});let de=L.join(" | ");de!==this._attribHTML&&(this._attribHTML=de,L.length?(this._innerContainer.innerHTML=de,this._container.classList.remove("maplibregl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty"),this._updateCompact(),this._editLink=null)}}class Un{constructor(L={}){this._updateCompact=()=>{let J=this._container.children;if(J.length){let de=J[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&de.classList.add("maplibregl-compact"):de.classList.remove("maplibregl-compact")}},this.options=L}getDefaultPosition(){return"bottom-left"}onAdd(L){this._map=L,this._compact=this.options&&this.options.compact,this._container=i.create("div","maplibregl-ctrl");let J=i.create("a","maplibregl-ctrl-logo");return J.target="_blank",J.rel="noopener nofollow",J.href="https://maplibre.org/",J.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),J.setAttribute("rel","noopener nofollow"),this._container.appendChild(J),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 _n{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(L){let J=++this._id;return this._queue.push({callback:L,id:J,cancelled:!1}),J}remove(L){let J=this._currentlyRunning,de=J?this._queue.concat(J):this._queue;for(let pe of de)if(pe.id===L)return void(pe.cancelled=!0)}run(L=0){if(this._currentlyRunning)throw new Error("Attempting to run(), but is already running.");let J=this._currentlyRunning=this._queue;this._queue=[];for(let de of J)if(!de.cancelled&&(de.callback(L),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var Oi=e.Y([{name:"a_pos3d",type:"Int16",components:3}]);class ao extends e.E{constructor(L){super(),this.sourceCache=L,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,L.usedForTerrain=!0,L.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(L,J){this.sourceCache.update(L,J),this._renderableTilesKeys=[];let de={};for(let pe of L.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:J}))de[pe.key]=!0,this._renderableTilesKeys.push(pe.key),this._tiles[pe.key]||(pe.posMatrix=new Float64Array(16),e.aP(pe.posMatrix,0,e.X,0,e.X,0,1),this._tiles[pe.key]=new Ve(pe,this.tileSize));for(let pe in this._tiles)de[pe]||delete this._tiles[pe]}freeRtt(L){for(let J in this._tiles){let de=this._tiles[J];(!L||de.tileID.equals(L)||de.tileID.isChildOf(L)||L.isChildOf(de.tileID))&&(de.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(L=>this.getTileByID(L))}getTileByID(L){return this._tiles[L]}getTerrainCoords(L){let J={};for(let de of this._renderableTilesKeys){let pe=this._tiles[de].tileID;if(pe.canonical.equals(L.canonical)){let Te=L.clone();Te.posMatrix=new Float64Array(16),e.aP(Te.posMatrix,0,e.X,0,e.X,0,1),J[de]=Te}else if(pe.canonical.isChildOf(L.canonical)){let Te=L.clone();Te.posMatrix=new Float64Array(16);let Ze=pe.canonical.z-L.canonical.z,rt=pe.canonical.x-(pe.canonical.x>>Ze<>Ze<>Ze;e.aP(Te.posMatrix,0,Mt,0,Mt,0,1),e.J(Te.posMatrix,Te.posMatrix,[-rt*Mt,-vt*Mt,0]),J[de]=Te}else if(L.canonical.isChildOf(pe.canonical)){let Te=L.clone();Te.posMatrix=new Float64Array(16);let Ze=L.canonical.z-pe.canonical.z,rt=L.canonical.x-(L.canonical.x>>Ze<>Ze<>Ze;e.aP(Te.posMatrix,0,e.X,0,e.X,0,1),e.J(Te.posMatrix,Te.posMatrix,[rt*Mt,vt*Mt,0]),e.K(Te.posMatrix,Te.posMatrix,[1/2**Ze,1/2**Ze,0]),J[de]=Te}}return J}getSourceTile(L,J){let de=this.sourceCache._source,pe=L.overscaledZ-this.deltaZoom;if(pe>de.maxzoom&&(pe=de.maxzoom),pe=de.minzoom&&(!Te||!Te.dem);)Te=this.sourceCache.getTileByID(L.scaledTo(pe--).key);return Te}tilesAfterTime(L=Date.now()){return Object.values(this._tiles).filter(J=>J.timeAdded>=L)}}class Lo{constructor(L,J,de){this.painter=L,this.sourceCache=new ao(J),this.options=de,this.exaggeration=typeof de.exaggeration=="number"?de.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(L,J,de,pe=e.X){var Te;if(!(J>=0&&J=0&&deL.canonical.z&&(L.canonical.z>=pe?Te=L.canonical.z-pe:e.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));let Ze=L.canonical.x-(L.canonical.x>>Te<>Te<>8<<4|Te>>8,J[Ze+3]=0;let de=new e.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(J.buffer)),pe=new h(L,de,L.gl.RGBA,{premultiply:!1});return pe.bind(L.gl.NEAREST,L.gl.CLAMP_TO_EDGE),this._coordsTexture=pe,pe}pointCoordinate(L){this.painter.maybeDrawDepthAndCoords(!0);let J=new Uint8Array(4),de=this.painter.context,pe=de.gl,Te=Math.round(L.x*this.painter.pixelRatio/devicePixelRatio),Ze=Math.round(L.y*this.painter.pixelRatio/devicePixelRatio),rt=Math.round(this.painter.height/devicePixelRatio);de.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),pe.readPixels(Te,rt-Ze-1,1,1,pe.RGBA,pe.UNSIGNED_BYTE,J),de.bindFramebuffer.set(null);let vt=J[0]+(J[2]>>4<<8),Mt=J[1]+((15&J[2])<<8),Gt=this.coordsIndex[255-J[3]],Ht=Gt&&this.sourceCache.getTileByID(Gt);if(!Ht)return null;let fr=this._coordsTextureSize,wr=(1<L.id!==J),this._recentlyUsed.push(L.id)}stampObject(L){L.stamp=++this._stamp}getOrCreateFreeObject(){for(let J of this._recentlyUsed)if(!this._objects[J].inUse)return this._objects[J];if(this._objects.length>=this._size)throw new Error("No free RenderPool available, call freeAllObjects() required!");let L=this._createObject(this._objects.length);return this._objects.push(L),L}freeObject(L){L.inUse=!1}freeAllObjects(){for(let L of this._objects)this.freeObject(L)}isFull(){return!(this._objects.length!L.inUse)===!1}}let Oo={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class _s{constructor(L,J){this.painter=L,this.terrain=J,this.pool=new us(L.context,30,J.sourceCache.tileSize*J.qualityFactor)}destruct(){this.pool.destruct()}getTexture(L){return this.pool.getObjectForId(L.rtt[this._stacks.length-1].id).texture}prepareForRender(L,J){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=L._order.filter(de=>!L._layers[de].isHidden(J)),this._coordsDescendingInv={};for(let de in L.sourceCaches){this._coordsDescendingInv[de]={};let pe=L.sourceCaches[de].getVisibleCoordinates();for(let Te of pe){let Ze=this.terrain.sourceCache.getTerrainCoords(Te);for(let rt in Ze)this._coordsDescendingInv[de][rt]||(this._coordsDescendingInv[de][rt]=[]),this._coordsDescendingInv[de][rt].push(Ze[rt])}}this._coordsDescendingInvStr={};for(let de of L._order){let pe=L._layers[de],Te=pe.source;if(Oo[pe.type]&&!this._coordsDescendingInvStr[Te]){this._coordsDescendingInvStr[Te]={};for(let Ze in this._coordsDescendingInv[Te])this._coordsDescendingInvStr[Te][Ze]=this._coordsDescendingInv[Te][Ze].map(rt=>rt.key).sort().join()}}for(let de of this._renderableTiles)for(let pe in this._coordsDescendingInvStr){let Te=this._coordsDescendingInvStr[pe][de.tileID.key];Te&&Te!==de.rttCoords[pe]&&(de.rtt=[])}}renderLayer(L){if(L.isHidden(this.painter.transform.zoom))return!1;let J=L.type,de=this.painter,pe=this._renderableLayerIds[this._renderableLayerIds.length-1]===L.id;if(Oo[J]&&(this._prevType&&Oo[this._prevType]||this._stacks.push([]),this._prevType=J,this._stacks[this._stacks.length-1].push(L.id),!pe))return!0;if(Oo[this._prevType]||Oo[J]&&pe){this._prevType=J;let Te=this._stacks.length-1,Ze=this._stacks[Te]||[];for(let rt of this._renderableTiles){if(this.pool.isFull()&&(Gs(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(rt),rt.rtt[Te]){let Mt=this.pool.getObjectForId(rt.rtt[Te].id);if(Mt.stamp===rt.rtt[Te].stamp){this.pool.useObject(Mt);continue}}let vt=this.pool.getOrCreateFreeObject();this.pool.useObject(vt),this.pool.stampObject(vt),rt.rtt[Te]={id:vt.id,stamp:vt.stamp},de.context.bindFramebuffer.set(vt.fbo.framebuffer),de.context.clear({color:e.aM.transparent,stencil:0}),de.currentStencilSource=void 0;for(let Mt=0;Mt{Me.touchstart=Me.dragStart,Me.touchmoveWindow=Me.dragMove,Me.touchend=Me.dragEnd},ai={showCompass:!0,showZoom:!0,visualizePitch:!1};class Xo{constructor(L,J,de=!1){this.mousedown=Ze=>{this.startMouse(e.e({},Ze,{ctrlKey:!0,preventDefault:()=>Ze.preventDefault()}),i.mousePos(this.element,Ze)),i.addEventListener(window,"mousemove",this.mousemove),i.addEventListener(window,"mouseup",this.mouseup)},this.mousemove=Ze=>{this.moveMouse(Ze,i.mousePos(this.element,Ze))},this.mouseup=Ze=>{this.mouseRotate.dragEnd(Ze),this.mousePitch&&this.mousePitch.dragEnd(Ze),this.offTemp()},this.touchstart=Ze=>{Ze.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=i.touchPos(this.element,Ze.targetTouches)[0],this.startTouch(Ze,this._startPos),i.addEventListener(window,"touchmove",this.touchmove,{passive:!1}),i.addEventListener(window,"touchend",this.touchend))},this.touchmove=Ze=>{Ze.targetTouches.length!==1?this.reset():(this._lastPos=i.touchPos(this.element,Ze.targetTouches)[0],this.moveTouch(Ze,this._lastPos))},this.touchend=Ze=>{Ze.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 pe=L.dragRotate._mouseRotate.getClickTolerance(),Te=L.dragRotate._mousePitch.getClickTolerance();this.element=J,this.mouseRotate=wf({clickTolerance:pe,enable:!0}),this.touchRotate=(({enable:Ze,clickTolerance:rt,bearingDegreesPerPixelMoved:vt=.8})=>{let Mt=new ef;return new ru({clickTolerance:rt,move:(Gt,Ht)=>({bearingDelta:(Ht.x-Gt.x)*vt}),moveStateManager:Mt,enable:Ze,assignEvents:cs})})({clickTolerance:pe,enable:!0}),this.map=L,de&&(this.mousePitch=eh({clickTolerance:Te,enable:!0}),this.touchPitch=(({enable:Ze,clickTolerance:rt,pitchDegreesPerPixelMoved:vt=-.5})=>{let Mt=new ef;return new ru({clickTolerance:rt,move:(Gt,Ht)=>({pitchDelta:(Ht.y-Gt.y)*vt}),moveStateManager:Mt,enable:Ze,assignEvents:cs})})({clickTolerance:Te,enable:!0})),i.addEventListener(J,"mousedown",this.mousedown),i.addEventListener(J,"touchstart",this.touchstart,{passive:!1}),i.addEventListener(J,"touchcancel",this.reset)}startMouse(L,J){this.mouseRotate.dragStart(L,J),this.mousePitch&&this.mousePitch.dragStart(L,J),i.disableDrag()}startTouch(L,J){this.touchRotate.dragStart(L,J),this.touchPitch&&this.touchPitch.dragStart(L,J),i.disableDrag()}moveMouse(L,J){let de=this.map,{bearingDelta:pe}=this.mouseRotate.dragMove(L,J)||{};if(pe&&de.setBearing(de.getBearing()+pe),this.mousePitch){let{pitchDelta:Te}=this.mousePitch.dragMove(L,J)||{};Te&&de.setPitch(de.getPitch()+Te)}}moveTouch(L,J){let de=this.map,{bearingDelta:pe}=this.touchRotate.dragMove(L,J)||{};if(pe&&de.setBearing(de.getBearing()+pe),this.touchPitch){let{pitchDelta:Te}=this.touchPitch.dragMove(L,J)||{};Te&&de.setPitch(de.getPitch()+Te)}}off(){let L=this.element;i.removeEventListener(L,"mousedown",this.mousedown),i.removeEventListener(L,"touchstart",this.touchstart,{passive:!1}),i.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),i.removeEventListener(window,"touchend",this.touchend),i.removeEventListener(L,"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 os;function Do(Me,L,J){let de=new e.N(Me.lng,Me.lat);if(Me=new e.N(Me.lng,Me.lat),L){let pe=new e.N(Me.lng-360,Me.lat),Te=new e.N(Me.lng+360,Me.lat),Ze=J.locationPoint(Me).distSqr(L);J.locationPoint(pe).distSqr(L)180;){let pe=J.locationPoint(Me);if(pe.x>=0&&pe.y>=0&&pe.x<=J.width&&pe.y<=J.height)break;Me.lng>J.center.lng?Me.lng-=360:Me.lng+=360}return Me.lng!==de.lng&&J.locationPoint(Me).y>J.height/2-J.getHorizon()?Me:de}let al={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 pu(Me,L,J){let de=Me.classList;for(let pe in al)de.remove(`maplibregl-${J}-anchor-${pe}`);de.add(`maplibregl-${J}-anchor-${L}`)}class au extends e.E{constructor(L){if(super(),this._onKeyPress=J=>{let de=J.code,pe=J.charCode||J.keyCode;de!=="Space"&&de!=="Enter"&&pe!==32&&pe!==13||this.togglePopup()},this._onMapClick=J=>{let de=J.originalEvent.target,pe=this._element;this._popup&&(de===pe||pe.contains(de))&&this.togglePopup()},this._update=J=>{var de;if(!this._map)return;let pe=this._map.loaded()&&!this._map.isMoving();(J?.type==="terrain"||J?.type==="render"&&!pe)&&this._map.once("render",this._update),this._lngLat=this._map.transform.renderWorldCopies?Do(this._lngLat,this._flatPos,this._map.transform):(de=this._lngLat)===null||de===void 0?void 0:de.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 Te="";this._rotationAlignment==="viewport"||this._rotationAlignment==="auto"?Te=`rotateZ(${this._rotation}deg)`:this._rotationAlignment==="map"&&(Te=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let Ze="";this._pitchAlignment==="viewport"||this._pitchAlignment==="auto"?Ze="rotateX(0deg)":this._pitchAlignment==="map"&&(Ze=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||J&&J.type!=="moveend"||(this._pos=this._pos.round()),i.setTransform(this._element,`${al[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${Ze} ${Te}`),n.frameAsync(new AbortController).then(()=>{this._updateOpacity(J&&J.type==="moveend")}).catch(()=>{})},this._onMove=J=>{if(!this._isDragging){let de=this._clickTolerance||this._map._clickTolerance;this._isDragging=J.point.dist(this._pointerdownPos)>=de}this._isDragging&&(this._pos=J.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.k("dragstart"))),this.fire(new e.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 e.k("dragend")),this._state="inactive"},this._addDragHandler=J=>{this._element.contains(J.originalEvent.target)&&(J.preventDefault(),this._positionDelta=J.point.sub(this._pos).add(this._offset),this._pointerdownPos=J.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},this._anchor=L&&L.anchor||"center",this._color=L&&L.color||"#3FB1CE",this._scale=L&&L.scale||1,this._draggable=L&&L.draggable||!1,this._clickTolerance=L&&L.clickTolerance||0,this._subpixelPositioning=L&&L.subpixelPositioning||!1,this._isDragging=!1,this._state="inactive",this._rotation=L&&L.rotation||0,this._rotationAlignment=L&&L.rotationAlignment||"auto",this._pitchAlignment=L&&L.pitchAlignment&&L.pitchAlignment!=="auto"?L.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(L?.opacity,L?.opacityWhenCovered),L&&L.element)this._element=L.element,this._offset=e.P.convert(L&&L.offset||[0,0]);else{this._defaultMarker=!0,this._element=i.create("div");let J=i.createNS("http://www.w3.org/2000/svg","svg"),de=41,pe=27;J.setAttributeNS(null,"display","block"),J.setAttributeNS(null,"height",`${de}px`),J.setAttributeNS(null,"width",`${pe}px`),J.setAttributeNS(null,"viewBox",`0 0 ${pe} ${de}`);let Te=i.createNS("http://www.w3.org/2000/svg","g");Te.setAttributeNS(null,"stroke","none"),Te.setAttributeNS(null,"stroke-width","1"),Te.setAttributeNS(null,"fill","none"),Te.setAttributeNS(null,"fill-rule","evenodd");let Ze=i.createNS("http://www.w3.org/2000/svg","g");Ze.setAttributeNS(null,"fill-rule","nonzero");let rt=i.createNS("http://www.w3.org/2000/svg","g");rt.setAttributeNS(null,"transform","translate(3.0, 29.0)"),rt.setAttributeNS(null,"fill","#000000");let vt=[{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 $e of vt){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",$e.rx),lt.setAttributeNS(null,"ry",$e.ry),rt.appendChild(lt)}let Mt=i.createNS("http://www.w3.org/2000/svg","g");Mt.setAttributeNS(null,"fill",this._color);let Gt=i.createNS("http://www.w3.org/2000/svg","path");Gt.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"),Mt.appendChild(Gt);let Ht=i.createNS("http://www.w3.org/2000/svg","g");Ht.setAttributeNS(null,"opacity","0.25"),Ht.setAttributeNS(null,"fill","#000000");let fr=i.createNS("http://www.w3.org/2000/svg","path");fr.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"),Ht.appendChild(fr);let wr=i.createNS("http://www.w3.org/2000/svg","g");wr.setAttributeNS(null,"transform","translate(6.0, 7.0)"),wr.setAttributeNS(null,"fill","#FFFFFF");let Le=i.createNS("http://www.w3.org/2000/svg","g");Le.setAttributeNS(null,"transform","translate(8.0, 8.0)");let Oe=i.createNS("http://www.w3.org/2000/svg","circle");Oe.setAttributeNS(null,"fill","#000000"),Oe.setAttributeNS(null,"opacity","0.25"),Oe.setAttributeNS(null,"cx","5.5"),Oe.setAttributeNS(null,"cy","5.5"),Oe.setAttributeNS(null,"r","5.4999962");let Ge=i.createNS("http://www.w3.org/2000/svg","circle");Ge.setAttributeNS(null,"fill","#FFFFFF"),Ge.setAttributeNS(null,"cx","5.5"),Ge.setAttributeNS(null,"cy","5.5"),Ge.setAttributeNS(null,"r","5.4999962"),Le.appendChild(Oe),Le.appendChild(Ge),Ze.appendChild(rt),Ze.appendChild(Mt),Ze.appendChild(Ht),Ze.appendChild(wr),Ze.appendChild(Le),J.appendChild(Ze),J.setAttributeNS(null,"height",de*this._scale+"px"),J.setAttributeNS(null,"width",pe*this._scale+"px"),this._element.appendChild(J),this._offset=e.P.convert(L&&L.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",J=>{J.preventDefault()}),this._element.addEventListener("mousedown",J=>{J.preventDefault()}),pu(this._element,this._anchor,"marker"),L&&L.className)for(let J of L.className.split(" "))this._element.classList.add(J);this._popup=null}addTo(L){return this.remove(),this._map=L,this._element.setAttribute("aria-label",L._getUIString("Marker.Title")),L.getCanvasContainer().appendChild(this._element),L.on("move",this._update),L.on("moveend",this._update),L.on("terrain",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map.off("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(L){return this._lngLat=e.N.convert(L),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(L){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),L){if(!("offset"in L.options)){let pe=Math.abs(13.5)/Math.SQRT2;L.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[pe,-1*(38.1-13.5+pe)],"bottom-right":[-pe,-1*(38.1-13.5+pe)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=L,this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}setSubpixelPositioning(L){return this._subpixelPositioning=L,this}getPopup(){return this._popup}togglePopup(){let L=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:L?(L.isOpen()?L.remove():(L.setLngLat(this._lngLat),L.addTo(this._map)),this):this}_updateOpacity(L=!1){var J,de;if(!(!((J=this._map)===null||J===void 0)&&J.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(L)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}let pe=this._map,Te=pe.terrain.depthAtPoint(this._pos),Ze=pe.terrain.getElevationForLngLatZoom(this._lngLat,pe.transform.tileZoom);if(pe.transform.lngLatToCameraDepth(this._lngLat,Ze)-Te<.006)return void(this._element.style.opacity=this._opacity);let rt=-this._offset.y/pe.transform._pixelPerMeter,vt=Math.sin(pe.getPitch()*Math.PI/180)*rt,Mt=pe.terrain.depthAtPoint(new e.P(this._pos.x,this._pos.y-this._offset.y)),Gt=pe.transform.lngLatToCameraDepth(this._lngLat,Ze+vt)-Mt>.006;!((de=this._popup)===null||de===void 0)&&de.isOpen()&&Gt&&this._popup.remove(),this._element.style.opacity=Gt?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(L){return this._offset=e.P.convert(L),this._update(),this}addClassName(L){this._element.classList.add(L)}removeClassName(L){this._element.classList.remove(L)}toggleClassName(L){return this._element.classList.toggle(L)}setDraggable(L){return this._draggable=!!L,this._map&&(L?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(L){return this._rotation=L||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(L){return this._rotationAlignment=L||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(L){return this._pitchAlignment=L&&L!=="auto"?L:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(L,J){return L===void 0&&J===void 0&&(this._opacity="1",this._opacityWhenCovered="0.2"),L!==void 0&&(this._opacity=L),J!==void 0&&(this._opacityWhenCovered=J),this._map&&this._updateOpacity(!0),this}}let Nu={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},_l=0,Su=!1,xl={maxWidth:100,unit:"metric"};function hc(Me,L,J){let de=J&&J.maxWidth||100,pe=Me._container.clientHeight/2,Te=Me.unproject([0,pe]),Ze=Me.unproject([de,pe]),rt=Te.distanceTo(Ze);if(J&&J.unit==="imperial"){let vt=3.2808*rt;vt>5280?ki(L,de,vt/5280,Me._getUIString("ScaleControl.Miles")):ki(L,de,vt,Me._getUIString("ScaleControl.Feet"))}else J&&J.unit==="nautical"?ki(L,de,rt/1852,Me._getUIString("ScaleControl.NauticalMiles")):rt>=1e3?ki(L,de,rt/1e3,Me._getUIString("ScaleControl.Kilometers")):ki(L,de,rt,Me._getUIString("ScaleControl.Meters"))}function ki(Me,L,J,de){let pe=function(Te){let Ze=Math.pow(10,`${Math.floor(Te)}`.length-1),rt=Te/Ze;return rt=rt>=10?10:rt>=5?5:rt>=3?3:rt>=2?2:rt>=1?1:function(vt){let Mt=Math.pow(10,Math.ceil(-Math.log(vt)/Math.LN10));return Math.round(vt*Mt)/Mt}(rt),Ze*rt}(J);Me.style.width=L*(pe/J)+"px",Me.innerHTML=`${pe} ${de}`}let Xi={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",subpixelPositioning:!1},jf=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function zc(Me){if(Me){if(typeof Me=="number"){let L=Math.round(Math.abs(Me)/Math.SQRT2);return{center:new e.P(0,0),top:new e.P(0,Me),"top-left":new e.P(L,L),"top-right":new e.P(-L,L),bottom:new e.P(0,-Me),"bottom-left":new e.P(L,-L),"bottom-right":new e.P(-L,-L),left:new e.P(Me,0),right:new e.P(-Me,0)}}if(Me instanceof e.P||Array.isArray(Me)){let L=e.P.convert(Me);return{center:L,top:L,"top-left":L,"top-right":L,bottom:L,"bottom-left":L,"bottom-right":L,left:L,right:L}}return{center:e.P.convert(Me.center||[0,0]),top:e.P.convert(Me.top||[0,0]),"top-left":e.P.convert(Me["top-left"]||[0,0]),"top-right":e.P.convert(Me["top-right"]||[0,0]),bottom:e.P.convert(Me.bottom||[0,0]),"bottom-left":e.P.convert(Me["bottom-left"]||[0,0]),"bottom-right":e.P.convert(Me["bottom-right"]||[0,0]),left:e.P.convert(Me.left||[0,0]),right:e.P.convert(Me.right||[0,0])}}return zc(new e.P(0,0))}let nu=t;l.AJAXError=e.bh,l.Evented=e.E,l.LngLat=e.N,l.MercatorCoordinate=e.Z,l.Point=e.P,l.addProtocol=e.bi,l.config=e.a,l.removeProtocol=e.bj,l.AttributionControl=Ti,l.BoxZoomHandler=zl,l.CanvasSource=xe,l.CooperativeGesturesHandler=Na,l.DoubleClickZoomHandler=ma,l.DragPanHandler=nn,l.DragRotateHandler=Tn,l.EdgeInsets=Fl,l.FullscreenControl=class extends e.E{constructor(Me={}){super(),this._onFullscreenChange=()=>{var L;let J=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;!((L=J?.shadowRoot)===null||L===void 0)&&L.fullscreenElement;)J=J.shadowRoot.fullscreenElement;J===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,Me&&Me.container&&(Me.container instanceof HTMLElement?this._container=Me.container:e.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(Me){return this._map=Me,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 Me=this._fullscreenButton=i.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);i.create("span","maplibregl-ctrl-icon",Me).setAttribute("aria-hidden","true"),Me.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let Me=this._getTitle();this._fullscreenButton.setAttribute("aria-label",Me),this._fullscreenButton.title=Me}_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 e.k("fullscreenstart")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new e.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()}},l.GeoJSONSource=Se,l.GeolocateControl=class extends e.E{constructor(Me){super(),this._onSuccess=L=>{if(this._map){if(this._isOutOfMapMaxBounds(L))return this._setErrorState(),this.fire(new e.k("outofmaxbounds",L)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=L,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&this._watchState!=="OFF"&&this._updateMarker(L),this.options.trackUserLocation&&this._watchState!=="ACTIVE_LOCK"||this._updateCamera(L),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new e.k("geolocate",L)),this._finish()}},this._updateCamera=L=>{let J=new e.N(L.coords.longitude,L.coords.latitude),de=L.coords.accuracy,pe=this._map.getBearing(),Te=e.e({bearing:pe},this.options.fitBoundsOptions),Ze=re.fromLngLat(J,de);this._map.fitBounds(Ze,Te,{geolocateSource:!0})},this._updateMarker=L=>{if(L){let J=new e.N(L.coords.longitude,L.coords.latitude);this._accuracyCircleMarker.setLngLat(J).addTo(this._map),this._userLocationDotMarker.setLngLat(J).addTo(this._map),this._accuracy=L.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=L=>{if(this._map){if(this.options.trackUserLocation)if(L.code===1){this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;let J=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=J,this._geolocateButton.setAttribute("aria-label",J),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(L.code===3&&Su)return;this._setErrorState()}this._watchState!=="OFF"&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new e.k("error",L)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener("contextmenu",L=>L.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=L=>{if(this._map){if(L===!1){e.w("Geolocation support is not available so the GeolocateControl will be disabled.");let J=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=J,this._geolocateButton.setAttribute("aria-label",J)}else{let J=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.disabled=!1,this._geolocateButton.title=J,this._geolocateButton.setAttribute("aria-label",J)}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 au({element:this._dotElement}),this._circleElement=i.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new au({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",J=>{J.geolocateSource||this._watchState!=="ACTIVE_LOCK"||J.originalEvent&&J.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 e.k("trackuserlocationend")),this.fire(new e.k("userlocationlostfocus")))})}},this.options=e.e({},Nu,Me)}onAdd(Me){return this._map=Me,this._container=i.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),function(){return e._(this,arguments,void 0,function*(L=!1){if(os!==void 0&&!L)return os;if(window.navigator.permissions===void 0)return os=!!window.navigator.geolocation,os;try{os=(yield window.navigator.permissions.query({name:"geolocation"})).state!=="denied"}catch{os=!!window.navigator.geolocation}return os})}().then(L=>this._finishSetupUI(L)),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,_l=0,Su=!1}_isOutOfMapMaxBounds(Me){let L=this._map.getMaxBounds(),J=Me.coords;return L&&(J.longitudeL.getEast()||J.latitudeL.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"ACTIVE_ERROR":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){let Me=this._map.getBounds(),L=Me.getSouthEast(),J=Me.getNorthEast(),de=L.distanceTo(J),pe=Math.ceil(this._accuracy/(de/this._map._container.clientHeight)*2);this._circleElement.style.width=`${pe}px`,this._circleElement.style.height=`${pe}px`}trigger(){if(!this._setup)return e.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 e.k("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":_l--,Su=!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 e.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 e.k("trackuserlocationstart")),this.fire(new e.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 Me;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),_l++,_l>1?(Me={maximumAge:6e5,timeout:0},Su=!0):(Me=this.options.positionOptions,Su=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,Me)}}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)}},l.Hash=bf,l.ImageSource=qe,l.KeyboardHandler=jt,l.LngLatBounds=re,l.LogoControl=Un,l.Map=class extends pi{constructor(Me){e.bf.mark(e.bg.create);let L=Object.assign(Object.assign({},Os),Me);if(L.minZoom!=null&&L.maxZoom!=null&&L.minZoom>L.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(L.minPitch!=null&&L.maxPitch!=null&&L.minPitch>L.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(L.minPitch!=null&&L.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(L.maxPitch!=null&&L.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(super(new wc(L.minZoom,L.maxZoom,L.minPitch,L.maxPitch,L.renderWorldCopies),{bearingSnap:L.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new _n,this._controls=[],this._mapId=e.a4(),this._contextLost=J=>{J.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new e.k("webglcontextlost",{originalEvent:J}))},this._contextRestored=J=>{this._setupPainter(),this.resize(),this._update(),this.fire(new e.k("webglcontextrestored",{originalEvent:J}))},this._onMapScroll=J=>{if(J.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=L.interactive,this._maxTileCacheSize=L.maxTileCacheSize,this._maxTileCacheZoomLevels=L.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=L.failIfMajorPerformanceCaveat===!0,this._preserveDrawingBuffer=L.preserveDrawingBuffer===!0,this._antialias=L.antialias===!0,this._trackResize=L.trackResize===!0,this._bearingSnap=L.bearingSnap,this._refreshExpiredTiles=L.refreshExpiredTiles===!0,this._fadeDuration=L.fadeDuration,this._crossSourceCollisions=L.crossSourceCollisions===!0,this._collectResourceTiming=L.collectResourceTiming===!0,this._locale=Object.assign(Object.assign({},ko),L.locale),this._clickTolerance=L.clickTolerance,this._overridePixelRatio=L.pixelRatio,this._maxCanvasSize=L.maxCanvasSize,this.transformCameraUpdate=L.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=L.cancelPendingTileRequestsWhileZooming===!0,this._imageQueueHandle=o.addThrottleControl(()=>this.isMoving()),this._requestManager=new x(L.transformRequest),typeof L.container=="string"){if(this._container=document.getElementById(L.container),!this._container)throw new Error(`Container '${L.container}' not found.`)}else{if(!(L.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=L.container}if(L.maxBounds&&this.setMaxBounds(L.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 J=!1,de=$c(pe=>{this._trackResize&&!this._removed&&(this.resize(pe),this.redraw())},50);this._resizeObserver=new ResizeObserver(pe=>{J?de(pe):J=!0}),this._resizeObserver.observe(this._container)}this.handlers=new ci(this,L),this._hash=L.hash&&new bf(typeof L.hash=="string"&&L.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:L.center,zoom:L.zoom,bearing:L.bearing,pitch:L.pitch}),L.bounds&&(this.resize(),this.fitBounds(L.bounds,e.e({},L.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=L.localIdeographFontFamily,this._validateStyle=L.validateStyle,L.style&&this.setStyle(L.style,{localIdeographFontFamily:L.localIdeographFontFamily}),L.attributionControl&&this.addControl(new Ti(typeof L.attributionControl=="boolean"?void 0:L.attributionControl)),L.maplibreLogo&&this.addControl(new Un,L.logoPosition),this.on("style.load",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on("data",J=>{this._update(J.dataType==="style"),this.fire(new e.k(`${J.dataType}data`,J))}),this.on("dataloading",J=>{this.fire(new e.k(`${J.dataType}dataloading`,J))}),this.on("dataabort",J=>{this.fire(new e.k("sourcedataabort",J))})}_getMapId(){return this._mapId}addControl(Me,L){if(L===void 0&&(L=Me.getDefaultPosition?Me.getDefaultPosition():"top-right"),!Me||!Me.onAdd)return this.fire(new e.j(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));let J=Me.onAdd(this);this._controls.push(Me);let de=this._controlPositions[L];return L.indexOf("bottom")!==-1?de.insertBefore(J,de.firstChild):de.appendChild(J),this}removeControl(Me){if(!Me||!Me.onRemove)return this.fire(new e.j(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));let L=this._controls.indexOf(Me);return L>-1&&this._controls.splice(L,1),Me.onRemove(this),this}hasControl(Me){return this._controls.indexOf(Me)>-1}calculateCameraOptionsFromTo(Me,L,J,de){return de==null&&this.terrain&&(de=this.terrain.getElevationForLngLatZoom(J,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(Me,L,J,de)}resize(Me){var L;let J=this._containerDimensions(),de=J[0],pe=J[1],Te=this._getClampedPixelRatio(de,pe);if(this._resizeCanvas(de,pe,Te),this.painter.resize(de,pe,Te),this.painter.overLimit()){let rt=this.painter.context.gl;this._maxCanvasSize=[rt.drawingBufferWidth,rt.drawingBufferHeight];let vt=this._getClampedPixelRatio(de,pe);this._resizeCanvas(de,pe,vt),this.painter.resize(de,pe,vt)}this.transform.resize(de,pe),(L=this._requestedCameraState)===null||L===void 0||L.resize(de,pe);let Ze=!this._moving;return Ze&&(this.stop(),this.fire(new e.k("movestart",Me)).fire(new e.k("move",Me))),this.fire(new e.k("resize",Me)),Ze&&this.fire(new e.k("moveend",Me)),this}_getClampedPixelRatio(Me,L){let{0:J,1:de}=this._maxCanvasSize,pe=this.getPixelRatio(),Te=Me*pe,Ze=L*pe;return Math.min(Te>J?J/Te:1,Ze>de?de/Ze:1)*pe}getPixelRatio(){var Me;return(Me=this._overridePixelRatio)!==null&&Me!==void 0?Me:devicePixelRatio}setPixelRatio(Me){this._overridePixelRatio=Me,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(Me){return this.transform.setMaxBounds(re.convert(Me)),this._update()}setMinZoom(Me){if((Me=Me??-2)>=-2&&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")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(Me){if((Me=Me??0)<0)throw new Error("minPitch must be greater than or equal to 0");if(Me>=0&&Me<=this.transform.maxPitch)return this.transform.minPitch=Me,this._update(),this.getPitch()85)throw new Error("maxPitch must be less than or equal to 85");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")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(Me){return this.transform.renderWorldCopies=Me,this._update()}project(Me){return this.transform.locationPoint(e.N.convert(Me),this.style&&this.terrain)}unproject(Me){return this.transform.pointLocation(e.P.convert(Me),this.terrain)}isMoving(){var Me;return this._moving||((Me=this.handlers)===null||Me===void 0?void 0:Me.isMoving())}isZooming(){var Me;return this._zooming||((Me=this.handlers)===null||Me===void 0?void 0:Me.isZooming())}isRotating(){var Me;return this._rotating||((Me=this.handlers)===null||Me===void 0?void 0:Me.isRotating())}_createDelegatedListener(Me,L,J){if(Me==="mouseenter"||Me==="mouseover"){let de=!1;return{layers:L,listener:J,delegates:{mousemove:Te=>{let Ze=L.filter(vt=>this.getLayer(vt)),rt=Ze.length!==0?this.queryRenderedFeatures(Te.point,{layers:Ze}):[];rt.length?de||(de=!0,J.call(this,new $s(Me,this,Te.originalEvent,{features:rt}))):de=!1},mouseout:()=>{de=!1}}}}if(Me==="mouseleave"||Me==="mouseout"){let de=!1;return{layers:L,listener:J,delegates:{mousemove:Ze=>{let rt=L.filter(vt=>this.getLayer(vt));(rt.length!==0?this.queryRenderedFeatures(Ze.point,{layers:rt}):[]).length?de=!0:de&&(de=!1,J.call(this,new $s(Me,this,Ze.originalEvent)))},mouseout:Ze=>{de&&(de=!1,J.call(this,new $s(Me,this,Ze.originalEvent)))}}}}{let de=pe=>{let Te=L.filter(rt=>this.getLayer(rt)),Ze=Te.length!==0?this.queryRenderedFeatures(pe.point,{layers:Te}):[];Ze.length&&(pe.features=Ze,J.call(this,pe),delete pe.features)};return{layers:L,listener:J,delegates:{[Me]:de}}}}_saveDelegatedListener(Me,L){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[Me]=this._delegatedListeners[Me]||[],this._delegatedListeners[Me].push(L)}_removeDelegatedListener(Me,L,J){if(!this._delegatedListeners||!this._delegatedListeners[Me])return;let de=this._delegatedListeners[Me];for(let pe=0;peL.includes(Ze))){for(let Ze in Te.delegates)this.off(Ze,Te.delegates[Ze]);return void de.splice(pe,1)}}}on(Me,L,J){if(J===void 0)return super.on(Me,L);let de=this._createDelegatedListener(Me,typeof L=="string"?[L]:L,J);this._saveDelegatedListener(Me,de);for(let pe in de.delegates)this.on(pe,de.delegates[pe]);return this}once(Me,L,J){if(J===void 0)return super.once(Me,L);let de=typeof L=="string"?[L]:L,pe=this._createDelegatedListener(Me,de,J);for(let Te in pe.delegates){let Ze=pe.delegates[Te];pe.delegates[Te]=(...rt)=>{this._removeDelegatedListener(Me,de,J),Ze(...rt)}}this._saveDelegatedListener(Me,pe);for(let Te in pe.delegates)this.once(Te,pe.delegates[Te]);return this}off(Me,L,J){return J===void 0?super.off(Me,L):(this._removeDelegatedListener(Me,typeof L=="string"?[L]:L,J),this)}queryRenderedFeatures(Me,L){if(!this.style)return[];let J,de=Me instanceof e.P||Array.isArray(Me),pe=de?Me:[[0,0],[this.transform.width,this.transform.height]];if(L=L||(de?{}:Me)||{},pe instanceof e.P||typeof pe[0]=="number")J=[e.P.convert(pe)];else{let Te=e.P.convert(pe[0]),Ze=e.P.convert(pe[1]);J=[Te,new e.P(Ze.x,Te.y),Ze,new e.P(Te.x,Ze.y),Te]}return this.style.queryRenderedFeatures(J,L,this.transform)}querySourceFeatures(Me,L){return this.style.querySourceFeatures(Me,L)}setStyle(Me,L){return(L=e.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},L)).diff!==!1&&L.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&Me?(this._diffStyle(Me,L),this):(this._localIdeographFontFamily=L.localIdeographFontFamily,this._updateStyle(Me,L))}setTransformRequest(Me){return this._requestManager.setTransformRequest(Me),this}_getUIString(Me){let L=this._locale[Me];if(L==null)throw new Error(`Missing UI string '${Me}'`);return L}_updateStyle(Me,L){if(L.transformStyle&&this.style&&!this.style._loaded)return void this.style.once("style.load",()=>this._updateStyle(Me,L));let J=this.style&&L.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!Me)),Me?(this.style=new ar(this,L||{}),this.style.setEventedParent(this,{style:this.style}),typeof Me=="string"?this.style.loadURL(Me,L,J):this.style.loadJSON(Me,L,J),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new ar(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(Me,L){if(typeof Me=="string"){let J=this._requestManager.transformRequest(Me,"Style");e.h(J,new AbortController).then(de=>{this._updateDiff(de.data,L)}).catch(de=>{de&&this.fire(new e.j(de))})}else typeof Me=="object"&&this._updateDiff(Me,L)}_updateDiff(Me,L){try{this.style.setState(Me,L)&&this._update(!0)}catch(J){e.w(`Unable to perform style diff: ${J.message||J.error||J}. Rebuilding the style from scratch.`),this._updateStyle(Me,L)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():e.w("There is no style added to the map.")}addSource(Me,L){return this._lazyInitEmptyStyle(),this.style.addSource(Me,L),this._update(!0)}isSourceLoaded(Me){let L=this.style&&this.style.sourceCaches[Me];if(L!==void 0)return L.loaded();this.fire(new e.j(new Error(`There is no source with ID '${Me}'`)))}setTerrain(Me){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),Me){let L=this.style.sourceCaches[Me.source];if(!L)throw new Error(`cannot load terrain, because there exists no source with ID: ${Me.source}`);this.terrain===null&&L.reload();for(let J in this.style._layers){let de=this.style._layers[J];de.type==="hillshade"&&de.source===Me.source&&e.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 Lo(this.painter,L,Me),this.painter.renderToTexture=new _s(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=J=>{J.dataType==="style"?this.terrain.sourceCache.freeRtt():J.dataType==="source"&&J.tile&&(J.sourceId!==Me.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(J.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 e.k("terrain",{terrain:Me})),this}getTerrain(){var Me,L;return(L=(Me=this.terrain)===null||Me===void 0?void 0:Me.options)!==null&&L!==void 0?L:null}areTilesLoaded(){let Me=this.style&&this.style.sourceCaches;for(let L in Me){let J=Me[L]._tiles;for(let de in J){let pe=J[de];if(pe.state!=="loaded"&&pe.state!=="errored")return!1}}return!0}removeSource(Me){return this.style.removeSource(Me),this._update(!0)}getSource(Me){return this.style.getSource(Me)}addImage(Me,L,J={}){let{pixelRatio:de=1,sdf:pe=!1,stretchX:Te,stretchY:Ze,content:rt,textFitWidth:vt,textFitHeight:Mt}=J;if(this._lazyInitEmptyStyle(),!(L instanceof HTMLImageElement||e.b(L))){if(L.width===void 0||L.height===void 0)return this.fire(new e.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:Gt,height:Ht,data:fr}=L,wr=L;return this.style.addImage(Me,{data:new e.R({width:Gt,height:Ht},new Uint8Array(fr)),pixelRatio:de,stretchX:Te,stretchY:Ze,content:rt,textFitWidth:vt,textFitHeight:Mt,sdf:pe,version:0,userImage:wr}),wr.onAdd&&wr.onAdd(this,Me),this}}{let{width:Gt,height:Ht,data:fr}=n.getImageData(L);this.style.addImage(Me,{data:new e.R({width:Gt,height:Ht},fr),pixelRatio:de,stretchX:Te,stretchY:Ze,content:rt,textFitWidth:vt,textFitHeight:Mt,sdf:pe,version:0})}}updateImage(Me,L){let J=this.style.getImage(Me);if(!J)return this.fire(new e.j(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));let de=L instanceof HTMLImageElement||e.b(L)?n.getImageData(L):L,{width:pe,height:Te,data:Ze}=de;if(pe===void 0||Te===void 0)return this.fire(new e.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(pe!==J.data.width||Te!==J.data.height)return this.fire(new e.j(new Error("The width and height of the updated image must be that same as the previous version of the image")));let rt=!(L instanceof HTMLImageElement||e.b(L));return J.data.replace(Ze,rt),this.style.updateImage(Me,J),this}getImage(Me){return this.style.getImage(Me)}hasImage(Me){return Me?!!this.style.getImage(Me):(this.fire(new e.j(new Error("Missing required image id"))),!1)}removeImage(Me){this.style.removeImage(Me)}loadImage(Me){return o.getImage(this._requestManager.transformRequest(Me,"Image"),new AbortController)}listImages(){return this.style.listImages()}addLayer(Me,L){return this._lazyInitEmptyStyle(),this.style.addLayer(Me,L),this._update(!0)}moveLayer(Me,L){return this.style.moveLayer(Me,L),this._update(!0)}removeLayer(Me){return this.style.removeLayer(Me),this._update(!0)}getLayer(Me){return this.style.getLayer(Me)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(Me,L,J){return this.style.setLayerZoomRange(Me,L,J),this._update(!0)}setFilter(Me,L,J={}){return this.style.setFilter(Me,L,J),this._update(!0)}getFilter(Me){return this.style.getFilter(Me)}setPaintProperty(Me,L,J,de={}){return this.style.setPaintProperty(Me,L,J,de),this._update(!0)}getPaintProperty(Me,L){return this.style.getPaintProperty(Me,L)}setLayoutProperty(Me,L,J,de={}){return this.style.setLayoutProperty(Me,L,J,de),this._update(!0)}getLayoutProperty(Me,L){return this.style.getLayoutProperty(Me,L)}setGlyphs(Me,L={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(Me,L),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(Me,L,J={}){return this._lazyInitEmptyStyle(),this.style.addSprite(Me,L,J,de=>{de||this._update(!0)}),this}removeSprite(Me){return this._lazyInitEmptyStyle(),this.style.removeSprite(Me),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(Me,L={}){return this._lazyInitEmptyStyle(),this.style.setSprite(Me,L,J=>{J||this._update(!0)}),this}setLight(Me,L={}){return this._lazyInitEmptyStyle(),this.style.setLight(Me,L),this._update(!0)}getLight(){return this.style.getLight()}setSky(Me){return this._lazyInitEmptyStyle(),this.style.setSky(Me),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(Me,L){return this.style.setFeatureState(Me,L),this._update()}removeFeatureState(Me,L){return this.style.removeFeatureState(Me,L),this._update()}getFeatureState(Me){return this.style.getFeatureState(Me)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let Me=0,L=0;return this._container&&(Me=this._container.clientWidth||400,L=this._container.clientHeight||300),[Me,L]}_setupContainer(){let Me=this._container;Me.classList.add("maplibregl-map");let L=this._canvasContainer=i.create("div","maplibregl-canvas-container",Me);this._interactive&&L.classList.add("maplibregl-interactive"),this._canvas=i.create("canvas","maplibregl-canvas",L),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 J=this._containerDimensions(),de=this._getClampedPixelRatio(J[0],J[1]);this._resizeCanvas(J[0],J[1],de);let pe=this._controlContainer=i.create("div","maplibregl-control-container",Me),Te=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(Ze=>{Te[Ze]=i.create("div",`maplibregl-ctrl-${Ze} `,pe)}),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(Me,L,J){this._canvas.width=Math.floor(J*Me),this._canvas.height=Math.floor(J*L),this._canvas.style.width=`${Me}px`,this._canvas.style.height=`${L}px`}_setupPainter(){let Me={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},L=null;this._canvas.addEventListener("webglcontextcreationerror",de=>{L={requestedAttributes:Me},de&&(L.statusMessage=de.statusMessage,L.type=de.type)},{once:!0});let J=this._canvas.getContext("webgl2",Me)||this._canvas.getContext("webgl",Me);if(!J){let de="Failed to initialize WebGL";throw L?(L.message=de,new Error(JSON.stringify(L))):new Error(de)}this.painter=new xf(J,this.transform),s.testSupport(J)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(Me){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||Me,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(Me){return this._update(),this._renderTaskQueue.add(Me)}_cancelRenderFrame(Me){this._renderTaskQueue.remove(Me)}_render(Me){let L=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(Me),this._removed)return;let J=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let pe=this.transform.zoom,Te=n.now();this.style.zoomHistory.update(pe,Te);let Ze=new e.z(pe,{now:Te,fadeDuration:L,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),rt=Ze.crossFadingFactor();rt===1&&rt===this._crossFadingFactor||(J=!0,this._crossFadingFactor=rt),this.style.update(Ze)}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,L,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:L,showPadding:this.showPadding}),this.fire(new e.k("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,e.bf.mark(e.bg.load),this.fire(new e.k("load"))),this.style&&(this.style.hasTransitions()||J)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let de=this._sourcesDirty||this._styleDirty||this._placementDirty;return de||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new e.k("idle")),!this._loaded||this._fullyLoaded||de||(this._fullyLoaded=!0,e.bf.mark(e.bg.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var Me;this._hash&&this._hash.remove();for(let J of this._controls)J.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),o.removeThrottleControl(this._imageQueueHandle),(Me=this._resizeObserver)===null||Me===void 0||Me.disconnect();let L=this.painter.context.gl.getExtension("WEBGL_lose_context");L?.loseContext&&L.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"),e.bf.clearMetrics(),this._removed=!0,this.fire(new e.k("remove"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,n.frameAsync(this._frameRequest).then(Me=>{e.bf.frame(Me),this._frameRequest=null,this._render(Me)}).catch(()=>{}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(Me){this._showTileBoundaries!==Me&&(this._showTileBoundaries=Me,this._update())}get showPadding(){return!!this._showPadding}set showPadding(Me){this._showPadding!==Me&&(this._showPadding=Me,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(Me){this._showCollisionBoxes!==Me&&(this._showCollisionBoxes=Me,Me?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(Me){this._showOverdrawInspector!==Me&&(this._showOverdrawInspector=Me,this._update())}get repaint(){return!!this._repaint}set repaint(Me){this._repaint!==Me&&(this._repaint=Me,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(Me){this._vertices=Me,this._update()}get version(){return fl}getCameraTargetElevation(){return this.transform.elevation}},l.MapMouseEvent=$s,l.MapTouchEvent=Ju,l.MapWheelEvent=vh,l.Marker=au,l.NavigationControl=class{constructor(Me){this._updateZoomButtons=()=>{let L=this._map.getZoom(),J=L===this._map.getMaxZoom(),de=L===this._map.getMinZoom();this._zoomInButton.disabled=J,this._zoomOutButton.disabled=de,this._zoomInButton.setAttribute("aria-disabled",J.toString()),this._zoomOutButton.setAttribute("aria-disabled",de.toString())},this._rotateCompassArrow=()=>{let L=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=L},this._setButtonTitle=(L,J)=>{let de=this._map._getUIString(`NavigationControl.${J}`);L.title=de,L.setAttribute("aria-label",de)},this.options=e.e({},ai,Me),this._container=i.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",L=>L.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",L=>this._map.zoomIn({},{originalEvent:L})),i.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",L=>this._map.zoomOut({},{originalEvent:L})),i.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",L=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:L}):this._map.resetNorth({},{originalEvent:L})}),this._compassIcon=i.create("span","maplibregl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}onAdd(Me){return this._map=Me,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 Xo(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(Me,L){let J=i.create("button",Me,this._container);return J.type="button",J.addEventListener("click",L),J}},l.Popup=class extends e.E{constructor(Me){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 e.k("close"))),this),this._onMouseUp=L=>{this._update(L.point)},this._onMouseMove=L=>{this._update(L.point)},this._onDrag=L=>{this._update(L.point)},this._update=L=>{var J;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 rt of this.options.className.split(" "))this._container.classList.add(rt);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?Do(this._lngLat,this._flatPos,this._map.transform):(J=this._lngLat)===null||J===void 0?void 0:J.wrap(),this._trackPointer&&!L)return;let de=this._flatPos=this._pos=this._trackPointer&&L?L:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&L?L:this._map.transform.locationPoint(this._lngLat));let pe=this.options.anchor,Te=zc(this.options.offset);if(!pe){let rt=this._container.offsetWidth,vt=this._container.offsetHeight,Mt;Mt=de.y+Te.bottom.ythis._map.transform.height-vt?["bottom"]:[],de.xthis._map.transform.width-rt/2&&Mt.push("right"),pe=Mt.length===0?"bottom":Mt.join("-")}let Ze=de.add(Te[pe]);this.options.subpixelPositioning||(Ze=Ze.round()),i.setTransform(this._container,`${al[pe]} translate(${Ze.x}px,${Ze.y}px)`),pu(this._container,pe,"popup")},this._onClose=()=>{this.remove()},this.options=e.e(Object.create(Xi),Me)}addTo(Me){return this._map&&this.remove(),this._map=Me,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 e.k("open")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(Me){return this._lngLat=e.N.convert(Me),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(Me){return this.setDOMContent(document.createTextNode(Me))}setHTML(Me){let L=document.createDocumentFragment(),J=document.createElement("body"),de;for(J.innerHTML=Me;de=J.firstChild,de;)L.appendChild(de);return this.setDOMContent(L)}getMaxWidth(){var Me;return(Me=this._container)===null||Me===void 0?void 0:Me.style.maxWidth}setMaxWidth(Me){return this.options.maxWidth=Me,this._update(),this}setDOMContent(Me){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(Me),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(Me){return this._container&&this._container.classList.add(Me),this}removeClassName(Me){return this._container&&this._container.classList.remove(Me),this}setOffset(Me){return this.options.offset=Me,this._update(),this}toggleClassName(Me){if(this._container)return this._container.classList.toggle(Me)}setSubpixelPositioning(Me){this.options.subpixelPositioning=Me}_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 Me=this._container.querySelector(jf);Me&&Me.focus()}},l.RasterDEMTileSource=Ae,l.RasterTileSource=ye,l.ScaleControl=class{constructor(Me){this._onMove=()=>{hc(this._map,this._container,this.options)},this.setUnit=L=>{this.options.unit=L,hc(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},xl),Me)}getDefaultPosition(){return"bottom-left"}onAdd(Me){return this._map=Me,this._container=i.create("div","maplibregl-ctrl maplibregl-ctrl-scale",Me.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}},l.ScrollZoomHandler=Wr,l.Style=ar,l.TerrainControl=class{constructor(Me){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=Me}onAdd(Me){return this._map=Me,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}},l.TwoFingersTouchPitchHandler=Ou,l.TwoFingersTouchRotateHandler=th,l.TwoFingersTouchZoomHandler=Mu,l.TwoFingersTouchZoomRotateHandler=Ba,l.VectorTileSource=me,l.VideoSource=Ue,l.addSourceType=(Me,L)=>e._(void 0,void 0,void 0,function*(){if(oe(Me))throw new Error(`A source type called "${Me}" already exists.`);((J,de)=>{he[J]=de})(Me,L)}),l.clearPrewarmedResources=function(){let Me=ae;Me&&(Me.isPreloaded()&&Me.numActive()===1?(Me.release(Y),ae=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()"))},l.getMaxParallelImageRequests=function(){return e.a.MAX_PARALLEL_IMAGE_REQUESTS},l.getRTLTextPluginStatus=function(){return Fe().getRTLTextPluginStatus()},l.getVersion=function(){return nu},l.getWorkerCount=function(){return ee.workerCount},l.getWorkerUrl=function(){return e.a.WORKER_URL},l.importScriptInWorkers=function(Me){return V().broadcast("IS",Me)},l.prewarm=function(){H().acquire(Y)},l.setMaxParallelImageRequests=function(Me){e.a.MAX_PARALLEL_IMAGE_REQUESTS=Me},l.setRTLTextPlugin=function(Me,L){return Fe().setRTLTextPlugin(Me,L)},l.setWorkerCount=function(Me){ee.workerCount=Me},l.setWorkerUrl=function(Me){e.a.WORKER_URL=Me}});var S=u;return S})}}),nU=De({"src/plots/map/layers.js"(j,N){"use strict";var u=Ar(),v=Xs().sanitizeHTML,w=h6(),S=lp();function l(n,i){this.subplot=n,this.uid=n.uid+"-"+i,this.index=i,this.idSource="source-"+this.uid,this.idLayer=S.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var e=l.prototype;e.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=t(i)},e.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))},e.needsNewSource=function(n){return this.sourceType!==n.sourcetype||JSON.stringify(this.source)!==JSON.stringify(n.source)||this.layerType!==n.type},e.needsNewLayer=function(n){return this.layerType!==n.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},e.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]},e.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)},e.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,!!t(n)){var s=r(n);i.addSource(this.idSource,s)}},e.findFollowingMapLayerId=function(n){if(n==="traces")for(var i=this.subplot.getMapLayers(),s=0;s0){for(var s=0;s0}function a(n){var i={},s={};switch(n.type){case"circle":u.extendFlat(s,{"circle-radius":n.circle.radius,"circle-color":n.color,"circle-opacity":n.opacity});break;case"line":u.extendFlat(s,{"line-width":n.line.width,"line-color":n.color,"line-opacity":n.opacity,"line-dasharray":n.line.dash});break;case"fill":u.extendFlat(s,{"fill-color":n.color,"fill-outline-color":n.fill.outlinecolor,"fill-opacity":n.opacity});break;case"symbol":var c=n.symbol,p=w(c.textposition,c.iconsize);u.extendFlat(i,{"icon-image":c.icon,"icon-size":c.iconsize/10,"text-field":c.text,"text-size":c.textfont.size,"text-anchor":p.anchor,"text-offset":p.offset,"symbol-placement":c.placement}),u.extendFlat(s,{"icon-color":n.color,"text-color":c.textfont.color,"text-opacity":n.opacity});break;case"raster":u.extendFlat(s,{"raster-fade-duration":0,"raster-opacity":n.opacity});break}return{layout:i,paint:s}}function r(n){var i=n.sourcetype,s=n.source,c={type:i},p;return i==="geojson"?p="data":i==="vector"?p=typeof s=="string"?"url":"tiles":i==="raster"?(p="tiles",c.tileSize=256):i==="image"&&(p="url",c.coordinates=n.coordinates),c[p]=s,n.sourceattribution&&(c.attribution=v(n.sourceattribution)),c}N.exports=function(i,s,c){var p=new l(i,s);return p.update(c),p}}}),iU=De({"src/plots/map/map.js"(j,N){"use strict";var u=aU(),v=Ar(),w=av(),S=hi(),l=Vi(),e=dh(),t=uu(),a=Ed(),r=a.drawMode,n=a.selectMode,i=Sc().prepSelect,s=Sc().clearOutline,c=Sc().clearSelectionsCache,p=Sc().selectOnClick,f=lp(),d=nU();function y(A,m){this.id=m,this.gd=A;var h=A._fullLayout,b=A._context;this.container=h._glcontainer.node(),this.isStatic=b.staticPlot,this.uid=h._uid+"-"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(h),this.map=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var o=y.prototype;o.plot=function(A,m,h){var b=this,_;b.map?_=new Promise(function(I,C){b.updateMap(A,m,I,C)}):_=new Promise(function(I,C){b.createMap(A,m,I,C)}),h.push(_)},o.createMap=function(A,m,h,b){var _=this,I=m[_.id],C=_.styleObj=E(I.style),F=I.bounds,R=F?[[F.west,F.south],[F.east,F.north]]:null;let z={container:_.div,style:C.style,center:g(I.center),zoom:I.zoom,bearing:I.bearing,pitch:I.pitch,maxBounds:R,interactive:!_.isStatic,preserveDrawingBuffer:_.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1},D=I._fitBounds;D&&(z.bounds=[[D.west,D.south],[D.east,D.north]],z.fitBoundsOptions={padding:f.fitBoundsPadding});let k=_.map=new u.Map(z).addControl(new u.AttributionControl({compact:!0}));var B={};k.on("styleimagemissing",function(q){var Y=q.id;if(!B[Y]&&/^[a-zA-Z0-9-]+$/.test(Y)){B[Y]=!0;var ee=new Image(15,15);ee.onload=function(){k.addImage(Y,ee,{sdf:!0})},ee.crossOrigin="Anonymous",ee.src="https://cdn.jsdelivr.net/npm/@mapbox/maki@8.2.0/icons/"+Y+".svg"}}),k.setTransformRequest(function(q){return q=q.replace("https://fonts.openmaptiles.org/Open Sans Extrabold","https://fonts.openmaptiles.org/Open Sans Extra Bold"),q=q.replace("https://tiles.basemaps.cartocdn.com/fonts/Open Sans Extrabold","https://fonts.openmaptiles.org/Open Sans Extra Bold"),q=q.replace("https://fonts.openmaptiles.org/Open Sans Regular,Arial Unicode MS Regular","https://fonts.openmaptiles.org/Klokantech Noto Sans Regular"),{url:q}}),k._canvas.style.left="0px",k._canvas.style.top="0px",_.rejectOnError(b),_.isStatic||_.initFx(A,m);var O=[];O.push(new Promise(function(q){k.once("load",q)})),O=O.concat(w.fetchTraceGeoData(A)),Promise.all(O).then(function(){D&&x(_,I),M(_,I),_.fillBelowLookup(A,m),_.updateData(A),_.updateLayout(m),_.resolveOnRender(h)}).catch(b)},o.updateMap=function(A,m,h,b){var _=this,I=_.map,C=m[this.id];_.rejectOnError(b);var F=[],R=E(C.style);JSON.stringify(_.styleObj)!==JSON.stringify(R)&&(_.styleObj=R,I.setStyle(R.style),_.traceHash={},F.push(new Promise(function(z){I.once("styledata",z)}))),F=F.concat(w.fetchTraceGeoData(A)),Promise.all(F).then(function(){_.fillBelowLookup(A,m),_.updateData(A);let z=C._fitBounds;z&&(I.fitBounds([[z.west,z.south],[z.east,z.north]],{padding:f.fitBoundsPadding,animate:!1}),x(_,C),M(_,C)),_.updateLayout(m),_.resolveOnRender(h)}).catch(b)};function x(A,m){let{center:h,zoom:b}=A.getView();m._input.center=m.center=h,m._input.zoom=m.zoom=b,m._input._fitView={center:Si({},h),zoom:b}}function M(A,m){let h=A.getView();A.viewInitial={center:v.extendFlat({},h.center),bearing:m.bearing,pitch:m.pitch,zoom:h.zoom}}o.fillBelowLookup=function(A,m){var h=m[this.id],b=h.layers,_,I,C=this.belowLookup={},F=!1;for(_=0;_1)for(_=0;_-1&&p(R.originalEvent,b,[h.xaxis],[h.yaxis],h.id,F),z.indexOf("event")>-1&&t.click(b,R.originalEvent)}}},o.updateFx=function(A){var m=this,h=m.map,b=m.gd;if(m.isStatic)return;function _(R){var z=m.map.unproject(R);return[z.lng,z.lat]}var I=A.dragmode,C;C=function(R,z){if(z.isRect){var D=R.range={};D[m.id]=[_([z.xmin,z.ymin]),_([z.xmax,z.ymax])]}else{var k=R.lassoPoints={};k[m.id]=z.map(_)}};var F=m.dragOptions;m.dragOptions=v.extendDeep(F||{},{dragmode:A.dragmode,element:m.div,gd:b,plotinfo:{id:m.id,domain:A[m.id].domain,xaxis:m.xaxis,yaxis:m.yaxis,fillRangeItems:C},xaxes:[m.xaxis],yaxes:[m.yaxis],subplot:m.id}),h.off("click",m.onClickInPanHandler),n(I)||r(I)?(h.dragPan.disable(),h.on("zoomstart",m.clearOutline),m.dragOptions.prepFn=function(R,z,D){i(R,z,D,m.dragOptions,I)},e.init(m.dragOptions)):(h.dragPan.enable(),h.off("zoomstart",m.clearOutline),m.div.onmousedown=null,m.div.ontouchstart=null,m.div.removeEventListener("touchstart",m.div._ontouchstart),m.onClickInPanHandler=m.onClickInPanFn(m.dragOptions),h.on("click",m.onClickInPanHandler))},o.updateFramework=function(A){var m=A[this.id].domain,h=A._size,b=this.div.style;b.width=h.w*(m.x[1]-m.x[0])+"px",b.height=h.h*(m.y[1]-m.y[0])+"px",b.left=h.l+m.x[0]*h.w+"px",b.top=h.t+(1-m.y[1])*h.h+"px",this.xaxis._offset=h.l+m.x[0]*h.w,this.xaxis._length=h.w*(m.x[1]-m.x[0]),this.yaxis._offset=h.t+(1-m.y[1])*h.h,this.yaxis._length=h.h*(m.y[1]-m.y[0])},o.updateLayers=function(A){var m=A[this.id],h=m.layers,b=this.layerList,_;if(h.length!==b.length){for(_=0;_oU});function oU(j,N){let u=[];for(let t of j){if(t.subplot!==N||t.visible!==!0)continue;if(t.type==="choroplethmap")return null;let{lat:a,lon:r}=t;if(!r||!a)continue;let n=Math.min(r.length,a.length);for(let i=0;im/2){var h=T.split("|").join("
");g.text(h).attr("data-unformatted",h).call(t.convertToTspans,n),A=e.bBox(g.node())}g.attr("transform",u(-3,-A.height+8)),E.insert("rect",".static-attribution").attr({x:-A.width-6,y:-A.height-3,width:A.width+6,height:A.height+3,fill:"rgba(255, 255, 255, 0.75)"});var b=1;A.width+6>m&&(b=m/(A.width+6));var _=[c.l+c.w*d.x[1],c.t+c.h*(1-d.y[0])];E.attr("transform",u(_[0],_[1])+v(b))}},j.updateFx=function(n){for(var i=n._fullLayout,s=i._subplots[r],c=0;c=0;a--)e.removeLayer(t[a][1])},l.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)},N.exports=function(t,a){var r=a[0].trace,n=new S(t,r.uid),i=n.sourceId,s=u(a),c=n.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(i,{type:"geojson",data:s.geojson}),n._addLayers(s,c),a[0].trace._glTrace=n,n}}}),dU=De({"src/traces/choroplethmap/index.js"(j,N){"use strict";N.exports={attributes:p6(),supplyDefaults:fU(),colorbar:wm(),calc:_T(),plot:hU(),hoverPoints:bT(),eventData:wT(),selectPoints:AT(),styleOnSelect:function(u,v){if(v){var w=v[0].trace;w._glTrace.updateOnSelect(v)}},getBelow:function(u,v){for(var w=v.getMapLayers(),S=w.length-2;S>=0;S--){var l=w[S].id;if(typeof l=="string"&&l.indexOf("water")===0){for(var e=S+1;e0?+d[p]:0),c.push({type:"Feature",geometry:{type:"Point",coordinates:M},properties:T})}}var g=S.extractOpts(r),A=g.reversescale?S.flipScale(g.colorscale):g.colorscale,m=A[0][1],h=w.opacity(m)<1?m:w.addOpacity(m,0),b=["interpolate",["linear"],["heatmap-density"],0,h];for(p=1;p=0;t--)l.removeLayer(e[t][1])},S.dispose=function(){var l=this.subplot.map;this._removeLayers(),l.removeSource(this.sourceId)},N.exports=function(e,t){var a=t[0].trace,r=new w(e,a.uid),n=r.sourceId,i=u(t),s=r.below=e.belowLookup["trace-"+a.uid];return e.map.addSource(n,{type:"geojson",data:i.geojson}),r._addLayers(i,s),r}}}),_U=De({"src/traces/densitymap/hover.js"(j,N){"use strict";var u=Vi(),v=Jb().hoverPoints,w=Jb().getExtraText;N.exports=function(l,e,t){var a=v(l,e,t);if(a){var r=a[0],n=r.cd,i=n[0].trace,s=n[r.index];if(delete r.color,"z"in s){var c=r.subplot.mockAxis;r.z=s.z,r.zLabel=u.tickText(c,c.c2l(s.z),"hover").text}return r.extraText=w(i,s,n[0].t.labels),[r]}}}}),xU=De({"src/traces/densitymap/event_data.js"(j,N){"use strict";N.exports=function(v,w){return v.lon=w.lon,v.lat=w.lat,v.z=w.z,v}}}),bU=De({"src/traces/densitymap/index.js"(j,N){"use strict";N.exports={attributes:g6(),supplyDefaults:pU(),colorbar:wm(),formatLabels:f6(),calc:mU(),plot:yU(),hoverPoints:_U(),eventData:xU(),getBelow:function(u,v){for(var w=v.getMapLayers(),S=0;Sx[I%x.length];o("color",y.label.map((I,C)=>w.addOpacity(M(C),.8))),o("customdata");var T=n.link||{},E=e.newContainer(i,"link");function g(I,C){return u.coerce(T,E,v.link,I,C)}g("label"),g("arrowlen"),g("source"),g("target"),g("value"),g("line.color"),g("line.width"),g("hoverinfo",n.hoverinfo),l(T,E,g,f),g("hovertemplate"),g("sort");var A=w.color(c.paper_bgcolor).luminosity()<.333,m=A?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)",h=g("color",m);function b(I){if(!w.isValid(I))return I;let C=w.color(I),F=C.alpha();return F<=.8?C.alpha(F+.2).rgb().string():A?w.brighten(C,10):w.adjustLightness(C,-10).rgb().string()}g("hovercolor",Array.isArray(h)?h.map(b):b(h)),g("customdata"),t(T,E,{name:"colorscales",handleItemDefaults:a}),S(i,c,p),p("orientation"),p("valueformat"),p("valuesuffix");let _=y.x.length&&y.y.length?"freeform":void 0;p("arrangement",_),u.coerceFont(p,"textfont",c.font,{autoShadowDflt:!0}),i._length=null};function a(r,n){function i(s,c){return u.coerce(r,n,v.link.colorscales,s,c)}i("label"),i("cmin"),i("cmax"),i("colorscale")}}}),_6=De({"node_modules/strongly-connected-components/scc.js"(j,N){"use strict";N.exports=u;function u(v){for(var w=v.length,S=new Array(w),l=new Array(w),e=new Array(w),t=new Array(w),a=new Array(w),r=new Array(w),n=0;n0;){o=M[M.length-1];var T=v[o];if(t[o]=0&&r[o].push(a[g])}t[o]=E}else{if(l[o]===S[o]){for(var A=[],m=[],h=0,E=x.length-1;E>=0;--E){var b=x[E];if(e[b]=!1,A.push(b),m.push(r[b]),h+=r[b].length,a[b]=s.length,b===o){x.length=E;break}}s.push(A);for(var _=new Array(h),E=0;Eg&&(g=i.source[x]),i.target[x]>g&&(g=i.target[x]);var A=g+1;r.node._count=A;var m,h=r.node.groups,b={};for(x=0;x0&&l(z,A)&&l(D,A)&&!(b.hasOwnProperty(z)&&b.hasOwnProperty(D)&&b[z]===b[D])){b.hasOwnProperty(D)&&(D=b[D]),b.hasOwnProperty(z)&&(z=b[z]),z=+z,D=+D,d[z]=d[D]=!0;var k="";i.label&&i.label[x]&&(k=i.label[x]);var B=null;k&&y.hasOwnProperty(k)&&(B=y[k]),s.push({pointNumber:x,label:k,color:c?i.color[x]:i.color,hovercolor:p?i.hovercolor[x]:i.hovercolor,customdata:f?i.customdata[x]:i.customdata,concentrationscale:B,source:z,target:D,value:+R}),F.source.push(z),F.target.push(D)}}var O=A+h.length,q=S(n.color),Y=S(n.customdata),ee=[];for(x=0;xA-1,childrenNodes:[],pointNumber:x,label:te,color:q?n.color[x]:n.color,customdata:Y?n.customdata[x]:n.customdata})}var ae=!1;return a(O,F.source,F.target)&&(ae=!0),{circular:ae,links:s,nodes:ee,groups:h,groupLookup:b}}function a(r,n,i){for(var s=v.init2dArray(r,0),c=0;c1})}N.exports=function(n,i){var s=t(i);return w({circular:s.circular,_nodes:s.nodes,_links:s.links,_groups:s.groups,_groupLookup:s.groupLookup})}}}),MU=De({"node_modules/d3-quadtree/dist/d3-quadtree.js"(j,N){(function(u,v){typeof j=="object"&&typeof N<"u"?v(j):(u=u||self,v(u.d3=u.d3||{}))})(j,function(u){"use strict";function v(A){var m=+this._x.call(null,A),h=+this._y.call(null,A);return w(this.cover(m,h),m,h,A)}function w(A,m,h,b){if(isNaN(m)||isNaN(h))return A;var _,I=A._root,C={data:b},F=A._x0,R=A._y0,z=A._x1,D=A._y1,k,B,O,q,Y,ee,te,ae;if(!I)return A._root=C,A;for(;I.length;)if((Y=m>=(k=(F+z)/2))?F=k:z=k,(ee=h>=(B=(R+D)/2))?R=B:D=B,_=I,!(I=I[te=ee<<1|Y]))return _[te]=C,A;if(O=+A._x.call(null,I.data),q=+A._y.call(null,I.data),m===O&&h===q)return C.next=I,_?_[te]=C:A._root=C,A;do _=_?_[te]=new Array(4):A._root=new Array(4),(Y=m>=(k=(F+z)/2))?F=k:z=k,(ee=h>=(B=(R+D)/2))?R=B:D=B;while((te=ee<<1|Y)===(ae=(q>=B)<<1|O>=k));return _[ae]=I,_[te]=C,A}function S(A){var m,h,b=A.length,_,I,C=new Array(b),F=new Array(b),R=1/0,z=1/0,D=-1/0,k=-1/0;for(h=0;hD&&(D=_),Ik&&(k=I));if(R>D||z>k)return this;for(this.cover(R,z).cover(D,k),h=0;hA||A>=_||b>m||m>=I;)switch(z=(mD||(F=q.y0)>k||(R=q.x1)<_||(z=q.y1)=te)<<1|A>=ee)&&(q=B[B.length-1],B[B.length-1]=B[B.length-1-Y],B[B.length-1-Y]=q)}else{var ae=A-+this._x.call(null,O.data),U=m-+this._y.call(null,O.data),H=ae*ae+U*U;if(H=(B=(C+R)/2))?C=B:R=B,(Y=k>=(O=(F+z)/2))?F=O:z=O,m=h,!(h=h[ee=Y<<1|q]))return this;if(!h.length)break;(m[ee+1&3]||m[ee+2&3]||m[ee+3&3])&&(b=m,te=ee)}for(;h.data!==A;)if(_=h,!(h=h.next))return this;return(I=h.next)&&delete h.next,_?(I?_.next=I:delete _.next,this):m?(I?m[ee]=I:delete m[ee],(h=m[0]||m[1]||m[2]||m[3])&&h===(m[3]||m[2]||m[1]||m[0])&&!h.length&&(b?b[te]=h:this._root=h),this):(this._root=I,this)}function i(A){for(var m=0,h=A.length;m=d.length)return o!=null&&g.sort(o),x!=null?x(g):g;for(var b=-1,_=g.length,I=d[A++],C,F,R=S(),z,D=m();++b<_;)(z=R.get(C=I(F=g[b])+""))?z.push(F):R.set(C,[F]);return R.each(function(k,B){h(D,B,T(k,A,m,h))}),D}function E(g,A){if(++A>d.length)return g;var m,h=y[A-1];return x!=null&&A>=d.length?m=g.entries():(m=[],g.each(function(b,_){m.push({key:_,values:E(b,A)})})),h!=null?m.sort(function(b,_){return h(b.key,_.key)}):m}return M={object:function(g){return T(g,0,e,t)},map:function(g){return T(g,0,a,r)},entries:function(g){return E(T(g,0,a,r),0)},key:function(g){return d.push(g),M},sortKeys:function(g){return y[d.length-1]=g,M},sortValues:function(g){return o=g,M},rollup:function(g){return x=g,M}}}function e(){return{}}function t(d,y,o){d[y]=o}function a(){return S()}function r(d,y,o){d.set(y,o)}function n(){}var i=S.prototype;n.prototype=s.prototype={constructor:n,has:i.has,add:function(d){return d+="",this[v+d]=d,this},remove:i.remove,clear:i.clear,values:i.keys,size:i.size,empty:i.empty,each:i.each};function s(d,y){var o=new n;if(d instanceof n)d.each(function(T){o.add(T)});else if(d){var x=-1,M=d.length;if(y==null)for(;++x=0&&(i=n.slice(s+1),n=n.slice(0,s)),n&&!r.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:i}})}S.prototype=w.prototype={constructor:S,on:function(a,r){var n=this._,i=l(a+"",n),s,c=-1,p=i.length;if(arguments.length<2){for(;++c0)for(var n=new Array(s),i=0,s,c;i=0&&A._call.call(null,m),A=A._next;--v}function o(){r=(a=i.now())+n,v=w=0;try{y()}finally{v=0,M(),r=0}}function x(){var A=i.now(),m=A-a;m>l&&(n-=m,a=A)}function M(){for(var A,m=e,h,b=1/0;m;)m._call?(b>m._time&&(b=m._time),A=m,m=m._next):(h=m._next,m._next=null,m=A?A._next=h:e=h);t=A,T(b)}function T(A){if(!v){w&&(w=clearTimeout(w));var m=A-r;m>24?(A<1/0&&(w=setTimeout(o,A-i.now()-n)),S&&(S=clearInterval(S))):(S||(a=i.now(),S=setInterval(x,l)),v=1,s(o))}}function E(A,m,h){var b=new f;return m=m==null?0:+m,b.restart(function(_){b.stop(),A(_+m)},m,h),b}function g(A,m,h){var b=new f,_=m;return m==null?(b.restart(A,m,h),b):(m=+m,h=h==null?c():+h,b.restart(function I(C){C+=_,b.restart(I,_+=m,h),A(C)},m,h),b)}u.interval=g,u.now=c,u.timeout=E,u.timer=d,u.timerFlush=y,Object.defineProperty(u,"__esModule",{value:!0})})}}),kU=De({"node_modules/d3-force/dist/d3-force.js"(j,N){(function(u,v){typeof j=="object"&&typeof N<"u"?v(j,MU(),x6(),SU(),EU()):v(u.d3=u.d3||{},u.d3,u.d3,u.d3,u.d3)})(j,function(u,v,w,S,l){"use strict";function e(A,m){var h;A==null&&(A=0),m==null&&(m=0);function b(){var _,I=h.length,C,F=0,R=0;for(_=0;_k.index){var Q=B-$.x-$.vx,re=O-$.y-$.vy,ce=Q*Q+re*re;ceB+Z||KO+Z||VR.r&&(R.r=R[z].r)}function F(){if(m){var R,z=m.length,D;for(h=new Array(z),R=0;R1?(Y==null?F.remove(q):F.set(q,O(Y)),m):F.get(q)},find:function(q,Y,ee){var te=0,ae=A.length,U,H,K,V,$;for(ee==null?ee=1/0:ee*=ee,te=0;te1?(z.on(q,Y),m):z.on(q)}}}function M(){var A,m,h,b=t(-30),_,I=1,C=1/0,F=.81;function R(B){var O,q=A.length,Y=v.quadtree(A,f,d).visitAfter(D);for(h=B,O=0;O=C)return;(B.data!==m||B.next)&&(ee===0&&(ee=a(),U+=ee*ee),te===0&&(te=a(),U+=te*te),US)if(!(Math.abs(o*f-d*y)>S)||!s)this._+="L"+(this._x1=a)+","+(this._y1=r);else{var M=n-c,T=i-p,E=f*f+d*d,g=M*M+T*T,A=Math.sqrt(E),m=Math.sqrt(x),h=s*Math.tan((v-Math.acos((E+x-g)/(2*A*m)))/2),b=h/m,_=h/A;Math.abs(b-1)>S&&(this._+="L"+(a+b*y)+","+(r+b*o)),this._+="A"+s+","+s+",0,0,"+ +(o*M>y*T)+","+(this._x1=a+_*f)+","+(this._y1=r+_*d)}},arc:function(a,r,n,i,s,c){a=+a,r=+r,n=+n,c=!!c;var p=n*Math.cos(i),f=n*Math.sin(i),d=a+p,y=r+f,o=1^c,x=c?i-s:s-i;if(n<0)throw new Error("negative radius: "+n);this._x1===null?this._+="M"+d+","+y:(Math.abs(this._x1-d)>S||Math.abs(this._y1-y)>S)&&(this._+="L"+d+","+y),n&&(x<0&&(x=x%w+w),x>l?this._+="A"+n+","+n+",0,1,"+o+","+(a-p)+","+(r-f)+"A"+n+","+n+",0,1,"+o+","+(this._x1=d)+","+(this._y1=y):x>S&&(this._+="A"+n+","+n+",0,"+ +(x>=v)+","+o+","+(this._x1=a+n*Math.cos(s))+","+(this._y1=r+n*Math.sin(s))))},rect:function(a,r,n,i){this._+="M"+(this._x0=this._x1=+a)+","+(this._y0=this._y1=+r)+"h"+ +n+"v"+ +i+"h"+-n+"Z"},toString:function(){return this._}},u.path=t,Object.defineProperty(u,"__esModule",{value:!0})})}}),b6=De({"node_modules/d3-shape/dist/d3-shape.js"(j,N){(function(u,v){typeof j=="object"&&typeof N<"u"?v(j,CU()):(u=u||self,v(u.d3=u.d3||{},u.d3))})(j,function(u,v){"use strict";function w(Je){return function(){return Je}}var S=Math.abs,l=Math.atan2,e=Math.cos,t=Math.max,a=Math.min,r=Math.sin,n=Math.sqrt,i=1e-12,s=Math.PI,c=s/2,p=2*s;function f(Je){return Je>1?0:Je<-1?s:Math.acos(Je)}function d(Je){return Je>=1?c:Je<=-1?-c:Math.asin(Je)}function y(Je){return Je.innerRadius}function o(Je){return Je.outerRadius}function x(Je){return Je.startAngle}function M(Je){return Je.endAngle}function T(Je){return Je&&Je.padAngle}function E(Je,bt,qt,Qt,br,Ir,Cr,Mr){var Xr=qt-Je,Ra=Qt-bt,wa=Cr-br,yn=Mr-Ir,fn=yn*Xr-wa*Ra;if(!(fn*fnYi*Yi+zi*zi&&(Bi=Po,fo=po),{cx:Bi,cy:fo,x01:-wa,y01:-yn,x11:Bi*(br/so-1),y11:fo*(br/so-1)}}function A(){var Je=y,bt=o,qt=w(0),Qt=null,br=x,Ir=M,Cr=T,Mr=null;function Xr(){var Ra,wa,yn=+Je.apply(this,arguments),fn=+bt.apply(this,arguments),ri=br.apply(this,arguments)-c,On=Ir.apply(this,arguments)-c,ui=S(On-ri),jn=On>ri;if(Mr||(Mr=Ra=v.path()),fni))Mr.moveTo(0,0);else if(ui>p-i)Mr.moveTo(fn*e(ri),fn*r(ri)),Mr.arc(0,0,fn,ri,On,!jn),yn>i&&(Mr.moveTo(yn*e(On),yn*r(On)),Mr.arc(0,0,yn,On,ri,jn));else{var oo=ri,Qi=On,Mn=ri,bo=On,so=ui,Hi=ui,yo=Cr.apply(this,arguments)/2,Bi=yo>i&&(Qt?+Qt.apply(this,arguments):n(yn*yn+fn*fn)),fo=a(S(fn-yn)/2,+qt.apply(this,arguments)),Po=fo,po=fo,Kn,yi;if(Bi>i){var Yi=d(Bi/yn*r(yo)),zi=d(Bi/fn*r(yo));(so-=Yi*2)>i?(Yi*=jn?1:-1,Mn+=Yi,bo-=Yi):(so=0,Mn=bo=(ri+On)/2),(Hi-=zi*2)>i?(zi*=jn?1:-1,oo+=zi,Qi-=zi):(Hi=0,oo=Qi=(ri+On)/2)}var Uo=fn*e(oo),Co=fn*r(oo),Wo=yn*e(bo),Go=yn*r(bo);if(fo>i){var ns=fn*e(Qi),Ro=fn*r(Qi),Zi=yn*e(Mn),ls=yn*r(Mn),Eo;if(uii?po>i?(Kn=g(Zi,ls,Uo,Co,fn,po,jn),yi=g(ns,Ro,Wo,Go,fn,po,jn),Mr.moveTo(Kn.cx+Kn.x01,Kn.cy+Kn.y01),poi)||!(so>i)?Mr.lineTo(Wo,Go):Po>i?(Kn=g(Wo,Go,ns,Ro,yn,-Po,jn),yi=g(Uo,Co,Zi,ls,yn,-Po,jn),Mr.lineTo(Kn.cx+Kn.x01,Kn.cy+Kn.y01),Po=fn;--ri)Mr.point(Qi[ri],Mn[ri]);Mr.lineEnd(),Mr.areaEnd()}jn&&(Qi[yn]=+Je(ui,yn,wa),Mn[yn]=+qt(ui,yn,wa),Mr.point(bt?+bt(ui,yn,wa):Qi[yn],Qt?+Qt(ui,yn,wa):Mn[yn]))}if(oo)return Mr=null,oo+""||null}function Ra(){return I().defined(br).curve(Cr).context(Ir)}return Xr.x=function(wa){return arguments.length?(Je=typeof wa=="function"?wa:w(+wa),bt=null,Xr):Je},Xr.x0=function(wa){return arguments.length?(Je=typeof wa=="function"?wa:w(+wa),Xr):Je},Xr.x1=function(wa){return arguments.length?(bt=wa==null?null:typeof wa=="function"?wa:w(+wa),Xr):bt},Xr.y=function(wa){return arguments.length?(qt=typeof wa=="function"?wa:w(+wa),Qt=null,Xr):qt},Xr.y0=function(wa){return arguments.length?(qt=typeof wa=="function"?wa:w(+wa),Xr):qt},Xr.y1=function(wa){return arguments.length?(Qt=wa==null?null:typeof wa=="function"?wa:w(+wa),Xr):Qt},Xr.lineX0=Xr.lineY0=function(){return Ra().x(Je).y(qt)},Xr.lineY1=function(){return Ra().x(Je).y(Qt)},Xr.lineX1=function(){return Ra().x(bt).y(qt)},Xr.defined=function(wa){return arguments.length?(br=typeof wa=="function"?wa:w(!!wa),Xr):br},Xr.curve=function(wa){return arguments.length?(Cr=wa,Ir!=null&&(Mr=Cr(Ir)),Xr):Cr},Xr.context=function(wa){return arguments.length?(wa==null?Ir=Mr=null:Mr=Cr(Ir=wa),Xr):Ir},Xr}function F(Je,bt){return btJe?1:bt>=Je?0:NaN}function R(Je){return Je}function z(){var Je=R,bt=F,qt=null,Qt=w(0),br=w(p),Ir=w(0);function Cr(Mr){var Xr,Ra=Mr.length,wa,yn,fn=0,ri=new Array(Ra),On=new Array(Ra),ui=+Qt.apply(this,arguments),jn=Math.min(p,Math.max(-p,br.apply(this,arguments)-ui)),oo,Qi=Math.min(Math.abs(jn)/Ra,Ir.apply(this,arguments)),Mn=Qi*(jn<0?-1:1),bo;for(Xr=0;Xr0&&(fn+=bo);for(bt!=null?ri.sort(function(so,Hi){return bt(On[so],On[Hi])}):qt!=null&&ri.sort(function(so,Hi){return qt(Mr[so],Mr[Hi])}),Xr=0,yn=fn?(jn-Ra*Mn)/fn:0;Xr0?bo*yn:0)+Mn,On[wa]={data:Mr[wa],index:Xr,value:bo,startAngle:ui,endAngle:oo,padAngle:Qi};return On}return Cr.value=function(Mr){return arguments.length?(Je=typeof Mr=="function"?Mr:w(+Mr),Cr):Je},Cr.sortValues=function(Mr){return arguments.length?(bt=Mr,qt=null,Cr):bt},Cr.sort=function(Mr){return arguments.length?(qt=Mr,bt=null,Cr):qt},Cr.startAngle=function(Mr){return arguments.length?(Qt=typeof Mr=="function"?Mr:w(+Mr),Cr):Qt},Cr.endAngle=function(Mr){return arguments.length?(br=typeof Mr=="function"?Mr:w(+Mr),Cr):br},Cr.padAngle=function(Mr){return arguments.length?(Ir=typeof Mr=="function"?Mr:w(+Mr),Cr):Ir},Cr}var D=B(h);function k(Je){this._curve=Je}k.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(Je,bt){this._curve.point(bt*Math.sin(Je),bt*-Math.cos(Je))}};function B(Je){function bt(qt){return new k(Je(qt))}return bt._curve=Je,bt}function O(Je){var bt=Je.curve;return Je.angle=Je.x,delete Je.x,Je.radius=Je.y,delete Je.y,Je.curve=function(qt){return arguments.length?bt(B(qt)):bt()._curve},Je}function q(){return O(I().curve(D))}function Y(){var Je=C().curve(D),bt=Je.curve,qt=Je.lineX0,Qt=Je.lineX1,br=Je.lineY0,Ir=Je.lineY1;return Je.angle=Je.x,delete Je.x,Je.startAngle=Je.x0,delete Je.x0,Je.endAngle=Je.x1,delete Je.x1,Je.radius=Je.y,delete Je.y,Je.innerRadius=Je.y0,delete Je.y0,Je.outerRadius=Je.y1,delete Je.y1,Je.lineStartAngle=function(){return O(qt())},delete Je.lineX0,Je.lineEndAngle=function(){return O(Qt())},delete Je.lineX1,Je.lineInnerRadius=function(){return O(br())},delete Je.lineY0,Je.lineOuterRadius=function(){return O(Ir())},delete Je.lineY1,Je.curve=function(Cr){return arguments.length?bt(B(Cr)):bt()._curve},Je}function ee(Je,bt){return[(bt=+bt)*Math.cos(Je-=Math.PI/2),bt*Math.sin(Je)]}var te=Array.prototype.slice;function ae(Je){return Je.source}function U(Je){return Je.target}function H(Je){var bt=ae,qt=U,Qt=b,br=_,Ir=null;function Cr(){var Mr,Xr=te.call(arguments),Ra=bt.apply(this,Xr),wa=qt.apply(this,Xr);if(Ir||(Ir=Mr=v.path()),Je(Ir,+Qt.apply(this,(Xr[0]=Ra,Xr)),+br.apply(this,Xr),+Qt.apply(this,(Xr[0]=wa,Xr)),+br.apply(this,Xr)),Mr)return Ir=null,Mr+""||null}return Cr.source=function(Mr){return arguments.length?(bt=Mr,Cr):bt},Cr.target=function(Mr){return arguments.length?(qt=Mr,Cr):qt},Cr.x=function(Mr){return arguments.length?(Qt=typeof Mr=="function"?Mr:w(+Mr),Cr):Qt},Cr.y=function(Mr){return arguments.length?(br=typeof Mr=="function"?Mr:w(+Mr),Cr):br},Cr.context=function(Mr){return arguments.length?(Ir=Mr??null,Cr):Ir},Cr}function K(Je,bt,qt,Qt,br){Je.moveTo(bt,qt),Je.bezierCurveTo(bt=(bt+Qt)/2,qt,bt,br,Qt,br)}function V(Je,bt,qt,Qt,br){Je.moveTo(bt,qt),Je.bezierCurveTo(bt,qt=(qt+br)/2,Qt,qt,Qt,br)}function $(Je,bt,qt,Qt,br){var Ir=ee(bt,qt),Cr=ee(bt,qt=(qt+br)/2),Mr=ee(Qt,qt),Xr=ee(Qt,br);Je.moveTo(Ir[0],Ir[1]),Je.bezierCurveTo(Cr[0],Cr[1],Mr[0],Mr[1],Xr[0],Xr[1])}function X(){return H(K)}function Z(){return H(V)}function Q(){var Je=H($);return Je.angle=Je.x,delete Je.x,Je.radius=Je.y,delete Je.y,Je}var re={draw:function(Je,bt){var qt=Math.sqrt(bt/s);Je.moveTo(qt,0),Je.arc(0,0,qt,0,p)}},ce={draw:function(Je,bt){var qt=Math.sqrt(bt/5)/2;Je.moveTo(-3*qt,-qt),Je.lineTo(-qt,-qt),Je.lineTo(-qt,-3*qt),Je.lineTo(qt,-3*qt),Je.lineTo(qt,-qt),Je.lineTo(3*qt,-qt),Je.lineTo(3*qt,qt),Je.lineTo(qt,qt),Je.lineTo(qt,3*qt),Je.lineTo(-qt,3*qt),Je.lineTo(-qt,qt),Je.lineTo(-3*qt,qt),Je.closePath()}},me=Math.sqrt(1/3),ye=me*2,Ae={draw:function(Je,bt){var qt=Math.sqrt(bt/ye),Qt=qt*me;Je.moveTo(0,-qt),Je.lineTo(Qt,0),Je.lineTo(0,qt),Je.lineTo(-Qt,0),Je.closePath()}},Se=.8908130915292852,Ce=Math.sin(s/10)/Math.sin(7*s/10),qe=Math.sin(p/10)*Ce,Ue=-Math.cos(p/10)*Ce,xe={draw:function(Je,bt){var qt=Math.sqrt(bt*Se),Qt=qe*qt,br=Ue*qt;Je.moveTo(0,-qt),Je.lineTo(Qt,br);for(var Ir=1;Ir<5;++Ir){var Cr=p*Ir/5,Mr=Math.cos(Cr),Xr=Math.sin(Cr);Je.lineTo(Xr*qt,-Mr*qt),Je.lineTo(Mr*Qt-Xr*br,Xr*Qt+Mr*br)}Je.closePath()}},he={draw:function(Je,bt){var qt=Math.sqrt(bt),Qt=-qt/2;Je.rect(Qt,Qt,qt,qt)}},oe=Math.sqrt(3),le={draw:function(Je,bt){var qt=-Math.sqrt(bt/(oe*3));Je.moveTo(0,qt*2),Je.lineTo(-oe*qt,-qt),Je.lineTo(oe*qt,-qt),Je.closePath()}},ne=-.5,be=Math.sqrt(3)/2,Fe=1/Math.sqrt(12),Ve=(Fe/2+1)*3,je={draw:function(Je,bt){var qt=Math.sqrt(bt/Ve),Qt=qt/2,br=qt*Fe,Ir=Qt,Cr=qt*Fe+qt,Mr=-Ir,Xr=Cr;Je.moveTo(Qt,br),Je.lineTo(Ir,Cr),Je.lineTo(Mr,Xr),Je.lineTo(ne*Qt-be*br,be*Qt+ne*br),Je.lineTo(ne*Ir-be*Cr,be*Ir+ne*Cr),Je.lineTo(ne*Mr-be*Xr,be*Mr+ne*Xr),Je.lineTo(ne*Qt+be*br,ne*br-be*Qt),Je.lineTo(ne*Ir+be*Cr,ne*Cr-be*Ir),Je.lineTo(ne*Mr+be*Xr,ne*Xr-be*Mr),Je.closePath()}},ut=[re,ce,Ae,he,xe,le,je];function st(){var Je=w(re),bt=w(64),qt=null;function Qt(){var br;if(qt||(qt=br=v.path()),Je.apply(this,arguments).draw(qt,+bt.apply(this,arguments)),br)return qt=null,br+""||null}return Qt.type=function(br){return arguments.length?(Je=typeof br=="function"?br:w(br),Qt):Je},Qt.size=function(br){return arguments.length?(bt=typeof br=="function"?br:w(+br),Qt):bt},Qt.context=function(br){return arguments.length?(qt=br??null,Qt):qt},Qt}function yt(){}function At(Je,bt,qt){Je._context.bezierCurveTo((2*Je._x0+Je._x1)/3,(2*Je._y0+Je._y1)/3,(Je._x0+2*Je._x1)/3,(Je._y0+2*Je._y1)/3,(Je._x0+4*Je._x1+bt)/6,(Je._y0+4*Je._y1+qt)/6)}function Pt(Je){this._context=Je}Pt.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:At(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(Je,bt){switch(Je=+Je,bt=+bt,this._point){case 0:this._point=1,this._line?this._context.lineTo(Je,bt):this._context.moveTo(Je,bt);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:At(this,Je,bt);break}this._x0=this._x1,this._x1=Je,this._y0=this._y1,this._y1=bt}};function Zt(Je){return new Pt(Je)}function vr(Je){this._context=Je}vr.prototype={areaStart:yt,areaEnd:yt,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(Je,bt){switch(Je=+Je,bt=+bt,this._point){case 0:this._point=1,this._x2=Je,this._y2=bt;break;case 1:this._point=2,this._x3=Je,this._y3=bt;break;case 2:this._point=3,this._x4=Je,this._y4=bt,this._context.moveTo((this._x0+4*this._x1+Je)/6,(this._y0+4*this._y1+bt)/6);break;default:At(this,Je,bt);break}this._x0=this._x1,this._x1=Je,this._y0=this._y1,this._y1=bt}};function Nt(Je){return new vr(Je)}function Kt(Je){this._context=Je}Kt.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(Je,bt){switch(Je=+Je,bt=+bt,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var qt=(this._x0+4*this._x1+Je)/6,Qt=(this._y0+4*this._y1+bt)/6;this._line?this._context.lineTo(qt,Qt):this._context.moveTo(qt,Qt);break;case 3:this._point=4;default:At(this,Je,bt);break}this._x0=this._x1,this._x1=Je,this._y0=this._y1,this._y1=bt}};function nt(Je){return new Kt(Je)}function Ee(Je,bt){this._basis=new Pt(Je),this._beta=bt}Ee.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var Je=this._x,bt=this._y,qt=Je.length-1;if(qt>0)for(var Qt=Je[0],br=bt[0],Ir=Je[qt]-Qt,Cr=bt[qt]-br,Mr=-1,Xr;++Mr<=qt;)Xr=Mr/qt,this._basis.point(this._beta*Je[Mr]+(1-this._beta)*(Qt+Xr*Ir),this._beta*bt[Mr]+(1-this._beta)*(br+Xr*Cr));this._x=this._y=null,this._basis.lineEnd()},point:function(Je,bt){this._x.push(+Je),this._y.push(+bt)}};var ze=function Je(bt){function qt(Qt){return bt===1?new Pt(Qt):new Ee(Qt,bt)}return qt.beta=function(Qt){return Je(+Qt)},qt}(.85);function ve(Je,bt,qt){Je._context.bezierCurveTo(Je._x1+Je._k*(Je._x2-Je._x0),Je._y1+Je._k*(Je._y2-Je._y0),Je._x2+Je._k*(Je._x1-bt),Je._y2+Je._k*(Je._y1-qt),Je._x2,Je._y2)}function _e(Je,bt){this._context=Je,this._k=(1-bt)/6}_e.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:ve(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(Je,bt){switch(Je=+Je,bt=+bt,this._point){case 0:this._point=1,this._line?this._context.lineTo(Je,bt):this._context.moveTo(Je,bt);break;case 1:this._point=2,this._x1=Je,this._y1=bt;break;case 2:this._point=3;default:ve(this,Je,bt);break}this._x0=this._x1,this._x1=this._x2,this._x2=Je,this._y0=this._y1,this._y1=this._y2,this._y2=bt}};var Ie=function Je(bt){function qt(Qt){return new _e(Qt,bt)}return qt.tension=function(Qt){return Je(+Qt)},qt}(0);function Be(Je,bt){this._context=Je,this._k=(1-bt)/6}Be.prototype={areaStart:yt,areaEnd:yt,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(Je,bt){switch(Je=+Je,bt=+bt,this._point){case 0:this._point=1,this._x3=Je,this._y3=bt;break;case 1:this._point=2,this._context.moveTo(this._x4=Je,this._y4=bt);break;case 2:this._point=3,this._x5=Je,this._y5=bt;break;default:ve(this,Je,bt);break}this._x0=this._x1,this._x1=this._x2,this._x2=Je,this._y0=this._y1,this._y1=this._y2,this._y2=bt}};var We=function Je(bt){function qt(Qt){return new Be(Qt,bt)}return qt.tension=function(Qt){return Je(+Qt)},qt}(0);function Xe(Je,bt){this._context=Je,this._k=(1-bt)/6}Xe.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(Je,bt){switch(Je=+Je,bt=+bt,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:ve(this,Je,bt);break}this._x0=this._x1,this._x1=this._x2,this._x2=Je,this._y0=this._y1,this._y1=this._y2,this._y2=bt}};var mt=function Je(bt){function qt(Qt){return new Xe(Qt,bt)}return qt.tension=function(Qt){return Je(+Qt)},qt}(0);function ft(Je,bt,qt){var Qt=Je._x1,br=Je._y1,Ir=Je._x2,Cr=Je._y2;if(Je._l01_a>i){var Mr=2*Je._l01_2a+3*Je._l01_a*Je._l12_a+Je._l12_2a,Xr=3*Je._l01_a*(Je._l01_a+Je._l12_a);Qt=(Qt*Mr-Je._x0*Je._l12_2a+Je._x2*Je._l01_2a)/Xr,br=(br*Mr-Je._y0*Je._l12_2a+Je._y2*Je._l01_2a)/Xr}if(Je._l23_a>i){var Ra=2*Je._l23_2a+3*Je._l23_a*Je._l12_a+Je._l12_2a,wa=3*Je._l23_a*(Je._l23_a+Je._l12_a);Ir=(Ir*Ra+Je._x1*Je._l23_2a-bt*Je._l12_2a)/wa,Cr=(Cr*Ra+Je._y1*Je._l23_2a-qt*Je._l12_2a)/wa}Je._context.bezierCurveTo(Qt,br,Ir,Cr,Je._x2,Je._y2)}function ht(Je,bt){this._context=Je,this._alpha=bt}ht.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(Je,bt){if(Je=+Je,bt=+bt,this._point){var qt=this._x2-Je,Qt=this._y2-bt;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(qt*qt+Qt*Qt,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(Je,bt):this._context.moveTo(Je,bt);break;case 1:this._point=2;break;case 2:this._point=3;default:ft(this,Je,bt);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=Je,this._y0=this._y1,this._y1=this._y2,this._y2=bt}};var gt=function Je(bt){function qt(Qt){return bt?new ht(Qt,bt):new _e(Qt,0)}return qt.alpha=function(Qt){return Je(+Qt)},qt}(.5);function _t(Je,bt){this._context=Je,this._alpha=bt}_t.prototype={areaStart:yt,areaEnd:yt,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(Je,bt){if(Je=+Je,bt=+bt,this._point){var qt=this._x2-Je,Qt=this._y2-bt;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(qt*qt+Qt*Qt,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=Je,this._y3=bt;break;case 1:this._point=2,this._context.moveTo(this._x4=Je,this._y4=bt);break;case 2:this._point=3,this._x5=Je,this._y5=bt;break;default:ft(this,Je,bt);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=Je,this._y0=this._y1,this._y1=this._y2,this._y2=bt}};var Ft=function Je(bt){function qt(Qt){return bt?new _t(Qt,bt):new Be(Qt,0)}return qt.alpha=function(Qt){return Je(+Qt)},qt}(.5);function St(Je,bt){this._context=Je,this._alpha=bt}St.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(Je,bt){if(Je=+Je,bt=+bt,this._point){var qt=this._x2-Je,Qt=this._y2-bt;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(qt*qt+Qt*Qt,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:ft(this,Je,bt);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=Je,this._y0=this._y1,this._y1=this._y2,this._y2=bt}};var hr=function Je(bt){function qt(Qt){return bt?new St(Qt,bt):new Xe(Qt,0)}return qt.alpha=function(Qt){return Je(+Qt)},qt}(.5);function jr(Je){this._context=Je}jr.prototype={areaStart:yt,areaEnd:yt,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(Je,bt){Je=+Je,bt=+bt,this._point?this._context.lineTo(Je,bt):(this._point=1,this._context.moveTo(Je,bt))}};function ra(Je){return new jr(Je)}function $r(Je){return Je<0?-1:1}function pa(Je,bt,qt){var Qt=Je._x1-Je._x0,br=bt-Je._x1,Ir=(Je._y1-Je._y0)/(Qt||br<0&&-0),Cr=(qt-Je._y1)/(br||Qt<0&&-0),Mr=(Ir*br+Cr*Qt)/(Qt+br);return($r(Ir)+$r(Cr))*Math.min(Math.abs(Ir),Math.abs(Cr),.5*Math.abs(Mr))||0}function oa(Je,bt){var qt=Je._x1-Je._x0;return qt?(3*(Je._y1-Je._y0)/qt-bt)/2:bt}function aa(Je,bt,qt){var Qt=Je._x0,br=Je._y0,Ir=Je._x1,Cr=Je._y1,Mr=(Ir-Qt)/3;Je._context.bezierCurveTo(Qt+Mr,br+Mr*bt,Ir-Mr,Cr-Mr*qt,Ir,Cr)}function ka(Je){this._context=Je}ka.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:aa(this,this._t0,oa(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(Je,bt){var qt=NaN;if(Je=+Je,bt=+bt,!(Je===this._x1&&bt===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(Je,bt):this._context.moveTo(Je,bt);break;case 1:this._point=2;break;case 2:this._point=3,aa(this,oa(this,qt=pa(this,Je,bt)),qt);break;default:aa(this,this._t0,qt=pa(this,Je,bt));break}this._x0=this._x1,this._x1=Je,this._y0=this._y1,this._y1=bt,this._t0=qt}}};function Ta(Je){this._context=new Da(Je)}(Ta.prototype=Object.create(ka.prototype)).point=function(Je,bt){ka.prototype.point.call(this,bt,Je)};function Da(Je){this._context=Je}Da.prototype={moveTo:function(Je,bt){this._context.moveTo(bt,Je)},closePath:function(){this._context.closePath()},lineTo:function(Je,bt){this._context.lineTo(bt,Je)},bezierCurveTo:function(Je,bt,qt,Qt,br,Ir){this._context.bezierCurveTo(bt,Je,Qt,qt,Ir,br)}};function La(Je){return new ka(Je)}function Ga(Je){return new Ta(Je)}function xa(Je){this._context=Je}xa.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var Je=this._x,bt=this._y,qt=Je.length;if(qt)if(this._line?this._context.lineTo(Je[0],bt[0]):this._context.moveTo(Je[0],bt[0]),qt===2)this._context.lineTo(Je[1],bt[1]);else for(var Qt=Gn(Je),br=Gn(bt),Ir=0,Cr=1;Cr=0;--bt)br[bt]=(Cr[bt]-br[bt+1])/Ir[bt];for(Ir[qt-1]=(Je[qt]+br[qt-1])/2,bt=0;bt=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(Je,bt){switch(Je=+Je,bt=+bt,this._point){case 0:this._point=1,this._line?this._context.lineTo(Je,bt):this._context.moveTo(Je,bt);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,bt),this._context.lineTo(Je,bt);else{var qt=this._x*(1-this._t)+Je*this._t;this._context.lineTo(qt,this._y),this._context.lineTo(qt,bt)}break}}this._x=Je,this._y=bt}};function Yn(Je){return new sn(Je,.5)}function Zn(Je){return new sn(Je,0)}function vi(Je){return new sn(Je,1)}function Dn(Je,bt){if((Cr=Je.length)>1)for(var qt=1,Qt,br,Ir=Je[bt[0]],Cr,Mr=Ir.length;qt=0;)qt[bt]=bt;return qt}function on(Je,bt){return Je[bt]}function mn(){var Je=w([]),bt=oi,qt=Dn,Qt=on;function br(Ir){var Cr=Je.apply(this,arguments),Mr,Xr=Ir.length,Ra=Cr.length,wa=new Array(Ra),yn;for(Mr=0;Mr0){for(var qt,Qt,br=0,Ir=Je[0].length,Cr;br0)for(var qt,Qt=0,br,Ir,Cr,Mr,Xr,Ra=Je[bt[0]].length;Qt0?(br[0]=Cr,br[1]=Cr+=Ir):Ir<0?(br[1]=Mr,br[0]=Mr+=Ir):(br[0]=0,br[1]=Ir)}function $a(Je,bt){if((br=Je.length)>0){for(var qt=0,Qt=Je[bt[0]],br,Ir=Qt.length;qt0)||!((Ir=(br=Je[bt[0]]).length)>0))){for(var qt=0,Qt=1,br,Ir,Cr;QtIr&&(Ir=br,qt=bt);return qt}function Jt(Je){var bt=Je.map(Yt);return oi(Je).sort(function(qt,Qt){return bt[qt]-bt[Qt]})}function Yt(Je){for(var bt=0,qt=-1,Qt=Je.length,br;++qt[C(qe,Ue,Ae),qe]));for(let[qe,Ue]of Se.entries()){Ue.index=qe;let{source:xe,target:he}=Ue;typeof xe!="object"&&(xe=Ue.source=y(Ce,xe)),typeof he!="object"&&(he=Ue.target=y(Ce,he)),xe.sourceLinks.push(Ue),he.targetLinks.push(Ue)}if(z!=null)for(let{sourceLinks:qe,targetLinks:Ue}of Ae)qe.sort(z),Ue.sort(z)}function ee({nodes:Ae}){for(let Se of Ae)Se.value=Se.fixedValue===void 0?Math.max(v.sum(Se.sourceLinks,c),v.sum(Se.targetLinks,c)):Se.fixedValue}function te({nodes:Ae}){let Se=Ae.length,Ce=new Set(Ae),qe=new Set,Ue=0;for(;Ce.size;){for(let xe of Ce){xe.depth=Ue;for(let{target:he}of xe.sourceLinks)qe.add(he)}if(++Ue>Se)throw new Error("circular link");Ce=qe,qe=new Set}}function ae({nodes:Ae}){let Se=Ae.length,Ce=new Set(Ae),qe=new Set,Ue=0;for(;Ce.size;){for(let xe of Ce){xe.height=Ue;for(let{source:he}of xe.targetLinks)qe.add(he)}if(++Ue>Se)throw new Error("circular link");Ce=qe,qe=new Set}}function U({nodes:Ae}){let Se=v.max(Ae,Ue=>Ue.depth)+1,Ce=(m-g-b)/(Se-1),qe=new Array(Se);for(let Ue of Ae){let xe=Math.max(0,Math.min(Se-1,Math.floor(F.call(null,Ue,Se))));Ue.layer=xe,Ue.x0=g+xe*Ce,Ue.x1=Ue.x0+b,qe[xe]?qe[xe].push(Ue):qe[xe]=[Ue]}if(R)for(let Ue of qe)Ue.sort(R);return qe}function H(Ae){let Se=v.min(Ae,Ce=>(h-A-(Ce.length-1)*I)/v.sum(Ce,c));for(let Ce of Ae){let qe=A;for(let Ue of Ce){Ue.y0=qe,Ue.y1=qe+Ue.value*Se,qe=Ue.y1+I;for(let xe of Ue.sourceLinks)xe.width=xe.value*Se}qe=(h-qe+I)/(Ce.length+1);for(let Ue=0;UeCe.length)-1)),H(Se);for(let Ce=0;Ce0))continue;let ne=(oe/le-he.y0)*Se;he.y0+=ne,he.y1+=ne,re(he)}R===void 0&&xe.sort(s),X(xe,Ce)}}function $(Ae,Se,Ce){for(let qe=Ae.length,Ue=qe-2;Ue>=0;--Ue){let xe=Ae[Ue];for(let he of xe){let oe=0,le=0;for(let{target:be,value:Fe}of he.sourceLinks){let Ve=Fe*(be.layer-he.layer);oe+=ye(he,be)*Ve,le+=Ve}if(!(le>0))continue;let ne=(oe/le-he.y0)*Se;he.y0+=ne,he.y1+=ne,re(he)}R===void 0&&xe.sort(s),X(xe,Ce)}}function X(Ae,Se){let Ce=Ae.length>>1,qe=Ae[Ce];Q(Ae,qe.y0-I,Ce-1,Se),Z(Ae,qe.y1+I,Ce+1,Se),Q(Ae,h,Ae.length-1,Se),Z(Ae,A,0,Se)}function Z(Ae,Se,Ce,qe){for(;Ce1e-6&&(Ue.y0+=xe,Ue.y1+=xe),Se=Ue.y1+I}}function Q(Ae,Se,Ce,qe){for(;Ce>=0;--Ce){let Ue=Ae[Ce],xe=(Ue.y1-Se)*qe;xe>1e-6&&(Ue.y0-=xe,Ue.y1-=xe),Se=Ue.y0-I}}function re({sourceLinks:Ae,targetLinks:Se}){if(z===void 0){for(let{source:{sourceLinks:Ce}}of Se)Ce.sort(i);for(let{target:{targetLinks:Ce}}of Ae)Ce.sort(n)}}function ce(Ae){if(z===void 0)for(let{sourceLinks:Se,targetLinks:Ce}of Ae)Se.sort(i),Ce.sort(n)}function me(Ae,Se){let Ce=Ae.y0-(Ae.sourceLinks.length-1)*I/2;for(let{target:qe,width:Ue}of Ae.sourceLinks){if(qe===Se)break;Ce+=Ue+I}for(let{source:qe,width:Ue}of Se.targetLinks){if(qe===Ae)break;Ce-=Ue}return Ce}function ye(Ae,Se){let Ce=Se.y0-(Se.targetLinks.length-1)*I/2;for(let{source:qe,width:Ue}of Se.targetLinks){if(qe===Ae)break;Ce+=Ue+I}for(let{target:qe,width:Ue}of Ae.sourceLinks){if(qe===Se)break;Ce-=Ue}return Ce}return q}function M(g){return[g.source.x1,g.y0]}function T(g){return[g.target.x0,g.y1]}function E(){return w.linkHorizontal().source(M).target(T)}u.sankey=x,u.sankeyCenter=a,u.sankeyJustify=t,u.sankeyLeft=l,u.sankeyLinkHorizontal=E,u.sankeyRight=e,Object.defineProperty(u,"__esModule",{value:!0})})}}),PU=De({"node_modules/elementary-circuits-directed-graph/johnson.js"(j,N){var u=_6();N.exports=function(w,S){var l=[],e=[],t=[],a={},r=[],n;function i(T){t[T]=!1,a.hasOwnProperty(T)&&Object.keys(a[T]).forEach(function(E){delete a[T][E],t[E]&&i(E)})}function s(T){var E=!1;e.push(T),t[T]=!0;var g,A;for(g=0;g=T})}function f(T){p(T);for(var E=w,g=u(E),A=g.components.filter(function(F){return F.length>1}),m=1/0,h,b=0;b"u"?"undefined":s(_e))!=="object"&&(_e=ze.source=g(Ee,_e)),(typeof Ie>"u"?"undefined":s(Ie))!=="object"&&(Ie=ze.target=g(Ee,Ie)),_e.sourceLinks.push(ze),Ie.targetLinks.push(ze)}),nt}function At(nt){nt.nodes.forEach(function(Ee){Ee.partOfCycle=!1,Ee.value=Math.max(v.sum(Ee.sourceLinks,d),v.sum(Ee.targetLinks,d)),Ee.sourceLinks.forEach(function(ze){ze.circular&&(Ee.partOfCycle=!0,Ee.circularLinkType=ze.circularLinkType)}),Ee.targetLinks.forEach(function(ze){ze.circular&&(Ee.partOfCycle=!0,Ee.circularLinkType=ze.circularLinkType)})})}function Pt(nt){var Ee=0,ze=0,ve=0,_e=0,Ie=v.max(nt.nodes,function(Be){return Be.column});return nt.links.forEach(function(Be){Be.circular&&(Be.circularLinkType=="top"?Ee=Ee+Be.width:ze=ze+Be.width,Be.target.column==0&&(_e=_e+Be.width),Be.source.column==Ie&&(ve=ve+Be.width))}),Ee=Ee>0?Ee+m+h:Ee,ze=ze>0?ze+m+h:ze,ve=ve>0?ve+m+h:ve,_e=_e>0?_e+m+h:_e,{top:Ee,bottom:ze,left:_e,right:ve}}function Zt(nt,Ee){var ze=v.max(nt.nodes,function(mt){return mt.column}),ve=qe-Se,_e=Ue-Ce,Ie=ve+Ee.right+Ee.left,Be=_e+Ee.top+Ee.bottom,We=ve/Ie,Xe=_e/Be;return Se=Se*We+Ee.left,qe=Ee.right==0?qe:qe*We,Ce=Ce*Xe+Ee.top,Ue=Ue*Xe,nt.nodes.forEach(function(mt){mt.x0=Se+mt.column*((qe-Se-xe)/ze),mt.x1=mt.x0+xe}),Xe}function vr(nt){var Ee,ze,ve;for(Ee=nt.nodes,ze=[],ve=0;Ee.length;++ve,Ee=ze,ze=[])Ee.forEach(function(_e){_e.depth=ve,_e.sourceLinks.forEach(function(Ie){ze.indexOf(Ie.target)<0&&!Ie.circular&&ze.push(Ie.target)})});for(Ee=nt.nodes,ze=[],ve=0;Ee.length;++ve,Ee=ze,ze=[])Ee.forEach(function(_e){_e.height=ve,_e.targetLinks.forEach(function(Ie){ze.indexOf(Ie.source)<0&&!Ie.circular&&ze.push(Ie.source)})});nt.nodes.forEach(function(_e){_e.column=Math.floor(le.call(null,_e,ve))})}function Nt(nt,Ee,ze){var ve=w.nest().key(function(mt){return mt.column}).sortKeys(v.ascending).entries(nt.nodes).map(function(mt){return mt.values});Be(ze),Xe();for(var _e=1,Ie=Ee;Ie>0;--Ie)We(_e*=.99,ze),Xe();function Be(mt){if(je){var ft=1/0;ve.forEach(function(Ft){var St=Ue*je/(Ft.length+1);ft=St0))if(Ft==0&&_t==1)hr=St.y1-St.y0,St.y0=Ue/2-hr/2,St.y1=Ue/2+hr/2;else if(Ft==ht-1&&_t==1)hr=St.y1-St.y0,St.y0=Ue/2-hr/2,St.y1=Ue/2+hr/2;else{var jr=0,ra=v.mean(St.sourceLinks,x),$r=v.mean(St.targetLinks,o);ra&&$r?jr=(ra+$r)/2:jr=ra||$r;var pa=(jr-y(St))*mt;St.y0+=pa,St.y1+=pa}})})}function Xe(){ve.forEach(function(mt){var ft,ht,gt=Ce,_t=mt.length,Ft;for(mt.sort(f),Ft=0;Ft<_t;++Ft)ft=mt[Ft],ht=gt-ft.y0,ht>0&&(ft.y0+=ht,ft.y1+=ht),gt=ft.y1+he;if(ht=gt-he-Ue,ht>0)for(gt=ft.y0-=ht,ft.y1-=ht,Ft=_t-2;Ft>=0;--Ft)ft=mt[Ft],ht=ft.y1+he-gt,ht>0&&(ft.y0-=ht,ft.y1-=ht),gt=ft.y0})}}function Kt(nt){nt.nodes.forEach(function(Ee){Ee.sourceLinks.sort(p),Ee.targetLinks.sort(c)}),nt.nodes.forEach(function(Ee){var ze=Ee.y0,ve=ze,_e=Ee.y1,Ie=_e;Ee.sourceLinks.forEach(function(Be){Be.circular?(Be.y0=_e-Be.width/2,_e=_e-Be.width):(Be.y0=ze+Be.width/2,ze+=Be.width)}),Ee.targetLinks.forEach(function(Be){Be.circular?(Be.y1=Ie-Be.width/2,Ie=Ie-Be.width):(Be.y1=ve+Be.width/2,ve+=Be.width)})})}return st}function I(Se,Ce,qe){var Ue=0;if(qe===null){for(var xe=[],he=0;heCe.source.column)}function z(Se,Ce){var qe=0;Se.sourceLinks.forEach(function(xe){qe=xe.circular&&!ye(xe,Ce)?qe+1:qe});var Ue=0;return Se.targetLinks.forEach(function(xe){Ue=xe.circular&&!ye(xe,Ce)?Ue+1:Ue}),qe+Ue}function D(Se){var Ce=Se.source.sourceLinks,qe=0;Ce.forEach(function(he){qe=he.circular?qe+1:qe});var Ue=Se.target.targetLinks,xe=0;return Ue.forEach(function(he){xe=he.circular?xe+1:xe}),!(qe>1||xe>1)}function k(Se,Ce,qe){return Se.sort(q),Se.forEach(function(Ue,xe){var he=0;if(ye(Ue,qe)&&D(Ue))Ue.circularPathData.verticalBuffer=he+Ue.width/2;else{var oe=0;for(oe;oehe?le:he}Ue.circularPathData.verticalBuffer=he+Ue.width/2}}),Se}function B(Se,Ce,qe,Ue){var xe=5,he=v.min(Se.links,function(ne){return ne.source.y0});Se.links.forEach(function(ne){ne.circular&&(ne.circularPathData={})});var oe=Se.links.filter(function(ne){return ne.circularLinkType=="top"});k(oe,Ce,Ue);var le=Se.links.filter(function(ne){return ne.circularLinkType=="bottom"});k(le,Ce,Ue),Se.links.forEach(function(ne){if(ne.circular){if(ne.circularPathData.arcRadius=ne.width+h,ne.circularPathData.leftNodeBuffer=xe,ne.circularPathData.rightNodeBuffer=xe,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,ye(ne,Ue)&&D(ne))ne.circularPathData.leftSmallArcRadius=h+ne.width/2,ne.circularPathData.leftLargeArcRadius=h+ne.width/2,ne.circularPathData.rightSmallArcRadius=h+ne.width/2,ne.circularPathData.rightLargeArcRadius=h+ne.width/2,ne.circularLinkType=="bottom"?(ne.circularPathData.verticalFullExtent=ne.source.y1+m+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-m-ne.circularPathData.verticalBuffer,ne.circularPathData.verticalLeftInnerExtent=ne.circularPathData.verticalFullExtent+ne.circularPathData.leftLargeArcRadius,ne.circularPathData.verticalRightInnerExtent=ne.circularPathData.verticalFullExtent+ne.circularPathData.rightLargeArcRadius);else{var be=ne.source.column,Fe=ne.circularLinkType,Ve=Se.links.filter(function(st){return st.source.column==be&&st.circularLinkType==Fe});ne.circularLinkType=="bottom"?Ve.sort(ee):Ve.sort(Y);var je=0;Ve.forEach(function(st,yt){st.circularLinkID==ne.circularLinkID&&(ne.circularPathData.leftSmallArcRadius=h+ne.width/2+je,ne.circularPathData.leftLargeArcRadius=h+ne.width/2+yt*Ce+je),je=je+st.width}),be=ne.target.column,Ve=Se.links.filter(function(st){return st.target.column==be&&st.circularLinkType==Fe}),ne.circularLinkType=="bottom"?Ve.sort(ae):Ve.sort(te),je=0,Ve.forEach(function(st,yt){st.circularLinkID==ne.circularLinkID&&(ne.circularPathData.rightSmallArcRadius=h+ne.width/2+je,ne.circularPathData.rightLargeArcRadius=h+ne.width/2+yt*Ce+je),je=je+st.width}),ne.circularLinkType=="bottom"?(ne.circularPathData.verticalFullExtent=Math.max(qe,ne.source.y1,ne.target.y1)+m+ne.circularPathData.verticalBuffer,ne.circularPathData.verticalLeftInnerExtent=ne.circularPathData.verticalFullExtent-ne.circularPathData.leftLargeArcRadius,ne.circularPathData.verticalRightInnerExtent=ne.circularPathData.verticalFullExtent-ne.circularPathData.rightLargeArcRadius):(ne.circularPathData.verticalFullExtent=he-m-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=O(ne);else{var ut=S.linkHorizontal().source(function(st){var yt=st.source.x0+(st.source.x1-st.source.x0),At=st.y0;return[yt,At]}).target(function(st){var yt=st.target.x0,At=st.y1;return[yt,At]});ne.path=ut(ne)}})}function O(Se){var Ce="";return Se.circularLinkType=="top"?Ce="M"+Se.circularPathData.sourceX+" "+Se.circularPathData.sourceY+" L"+Se.circularPathData.leftInnerExtent+" "+Se.circularPathData.sourceY+" A"+Se.circularPathData.leftLargeArcRadius+" "+Se.circularPathData.leftSmallArcRadius+" 0 0 0 "+Se.circularPathData.leftFullExtent+" "+(Se.circularPathData.sourceY-Se.circularPathData.leftSmallArcRadius)+" L"+Se.circularPathData.leftFullExtent+" "+Se.circularPathData.verticalLeftInnerExtent+" A"+Se.circularPathData.leftLargeArcRadius+" "+Se.circularPathData.leftLargeArcRadius+" 0 0 0 "+Se.circularPathData.leftInnerExtent+" "+Se.circularPathData.verticalFullExtent+" L"+Se.circularPathData.rightInnerExtent+" "+Se.circularPathData.verticalFullExtent+" A"+Se.circularPathData.rightLargeArcRadius+" "+Se.circularPathData.rightLargeArcRadius+" 0 0 0 "+Se.circularPathData.rightFullExtent+" "+Se.circularPathData.verticalRightInnerExtent+" L"+Se.circularPathData.rightFullExtent+" "+(Se.circularPathData.targetY-Se.circularPathData.rightSmallArcRadius)+" A"+Se.circularPathData.rightLargeArcRadius+" "+Se.circularPathData.rightSmallArcRadius+" 0 0 0 "+Se.circularPathData.rightInnerExtent+" "+Se.circularPathData.targetY+" L"+Se.circularPathData.targetX+" "+Se.circularPathData.targetY:Ce="M"+Se.circularPathData.sourceX+" "+Se.circularPathData.sourceY+" L"+Se.circularPathData.leftInnerExtent+" "+Se.circularPathData.sourceY+" A"+Se.circularPathData.leftLargeArcRadius+" "+Se.circularPathData.leftSmallArcRadius+" 0 0 1 "+Se.circularPathData.leftFullExtent+" "+(Se.circularPathData.sourceY+Se.circularPathData.leftSmallArcRadius)+" L"+Se.circularPathData.leftFullExtent+" "+Se.circularPathData.verticalLeftInnerExtent+" A"+Se.circularPathData.leftLargeArcRadius+" "+Se.circularPathData.leftLargeArcRadius+" 0 0 1 "+Se.circularPathData.leftInnerExtent+" "+Se.circularPathData.verticalFullExtent+" L"+Se.circularPathData.rightInnerExtent+" "+Se.circularPathData.verticalFullExtent+" A"+Se.circularPathData.rightLargeArcRadius+" "+Se.circularPathData.rightLargeArcRadius+" 0 0 1 "+Se.circularPathData.rightFullExtent+" "+Se.circularPathData.verticalRightInnerExtent+" L"+Se.circularPathData.rightFullExtent+" "+(Se.circularPathData.targetY+Se.circularPathData.rightSmallArcRadius)+" A"+Se.circularPathData.rightLargeArcRadius+" "+Se.circularPathData.rightSmallArcRadius+" 0 0 1 "+Se.circularPathData.rightInnerExtent+" "+Se.circularPathData.targetY+" L"+Se.circularPathData.targetX+" "+Se.circularPathData.targetY,Ce}function q(Se,Ce){return U(Se)==U(Ce)?Se.circularLinkType=="bottom"?ee(Se,Ce):Y(Se,Ce):U(Ce)-U(Se)}function Y(Se,Ce){return Se.y0-Ce.y0}function ee(Se,Ce){return Ce.y0-Se.y0}function te(Se,Ce){return Se.y1-Ce.y1}function ae(Se,Ce){return Ce.y1-Se.y1}function U(Se){return Se.target.column-Se.source.column}function H(Se){return Se.target.x0-Se.source.x1}function K(Se,Ce){var qe=F(Se),Ue=H(Ce)/Math.tan(qe),xe=me(Se)=="up"?Se.y1+Ue:Se.y1-Ue;return xe}function V(Se,Ce){var qe=F(Se),Ue=H(Ce)/Math.tan(qe),xe=me(Se)=="up"?Se.y1-Ue:Se.y1+Ue;return xe}function $(Se,Ce,qe,Ue){Se.links.forEach(function(xe){if(!xe.circular&&xe.target.column-xe.source.column>1){var he=xe.source.column+1,oe=xe.target.column-1,le=1,ne=oe-he+1;for(le=1;he<=oe;he++,le++)Se.nodes.forEach(function(be){if(be.column==he){var Fe=le/(ne+1),Ve=Math.pow(1-Fe,3),je=3*Fe*Math.pow(1-Fe,2),ut=3*Math.pow(Fe,2)*(1-Fe),st=Math.pow(Fe,3),yt=Ve*xe.y0+je*xe.y0+ut*xe.y1+st*xe.y1,At=yt-xe.width/2,Pt=yt+xe.width/2,Zt;At>be.y0&&Atbe.y0&&Ptbe.y1&&Z(vr,Zt,Ce,qe)})):Atbe.y1&&(Zt=Pt-be.y0+10,be=Z(be,Zt,Ce,qe),Se.nodes.forEach(function(vr){A(vr,Ue)==A(be,Ue)||vr.column!=be.column||vr.y0be.y1&&Z(vr,Zt,Ce,qe)}))}})}})}function X(Se,Ce){return Se.y0>Ce.y0&&Se.y0Ce.y0&&Se.y1Ce.y1}function Z(Se,Ce,qe,Ue){return Se.y0+Ce>=qe&&Se.y1+Ce<=Ue&&(Se.y0=Se.y0+Ce,Se.y1=Se.y1+Ce,Se.targetLinks.forEach(function(xe){xe.y1=xe.y1+Ce}),Se.sourceLinks.forEach(function(xe){xe.y0=xe.y0+Ce})),Se}function Q(Se,Ce,qe,Ue){Se.nodes.forEach(function(xe){Ue&&xe.y+(xe.y1-xe.y0)>Ce&&(xe.y=xe.y-(xe.y+(xe.y1-xe.y0)-Ce));var he=Se.links.filter(function(ne){return A(ne.source,qe)==A(xe,qe)}),oe=he.length;oe>1&&he.sort(function(ne,be){if(!ne.circular&&!be.circular){if(ne.target.column==be.target.column)return ne.y1-be.y1;if(ce(ne,be)){if(ne.target.column>be.target.column){var Fe=V(be,ne);return ne.y1-Fe}if(be.target.column>ne.target.column){var Ve=V(ne,be);return Ve-be.y1}}else return ne.y1-be.y1}if(ne.circular&&!be.circular)return ne.circularLinkType=="top"?-1:1;if(be.circular&&!ne.circular)return be.circularLinkType=="top"?1:-1;if(ne.circular&&be.circular)return ne.circularLinkType===be.circularLinkType&&ne.circularLinkType=="top"?ne.target.column===be.target.column?ne.target.y1-be.target.y1:be.target.column-ne.target.column:ne.circularLinkType===be.circularLinkType&&ne.circularLinkType=="bottom"?ne.target.column===be.target.column?be.target.y1-ne.target.y1:ne.target.column-be.target.column:ne.circularLinkType=="top"?-1:1});var le=xe.y0;he.forEach(function(ne){ne.y0=le+ne.width/2,le=le+ne.width}),he.forEach(function(ne,be){if(ne.circularLinkType=="bottom"){var Fe=be+1,Ve=0;for(Fe;Fe1&&xe.sort(function(le,ne){if(!le.circular&&!ne.circular){if(le.source.column==ne.source.column)return le.y0-ne.y0;if(ce(le,ne)){if(ne.source.column0?"up":"down"}function ye(Se,Ce){return A(Se.source,Ce)==A(Se.target,Ce)}function Ae(Se,Ce,qe){var Ue=Se.nodes,xe=Se.links,he=!1,oe=!1;if(xe.forEach(function(je){je.circularLinkType=="top"?he=!0:je.circularLinkType=="bottom"&&(oe=!0)}),he==!1||oe==!1){var le=v.min(Ue,function(je){return je.y0}),ne=v.max(Ue,function(je){return je.y1}),be=ne-le,Fe=qe-Ce,Ve=Fe/be;Ue.forEach(function(je){var ut=(je.y1-je.y0)*Ve;je.y0=(je.y0-le)*Ve,je.y1=je.y0+ut}),xe.forEach(function(je){je.y0=(je.y0-le)*Ve,je.y1=(je.y1-le)*Ve,je.width=je.width*Ve})}}u.sankeyCircular=_,u.sankeyCenter=n,u.sankeyLeft=t,u.sankeyRight=a,u.sankeyJustify=r,Object.defineProperty(u,"__esModule",{value:!0})})}}),w6=De({"src/traces/sankey/constants.js"(j,N){"use strict";N.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"}}}}),IU=De({"src/traces/sankey/render.js"(j,N){"use strict";var u=kU(),v=(Hp(),ts(rp)).interpolateNumber,w=Qn(),S=LU(),l=RU(),e=w6(),t=ii(),a=Ki(),r=Ar(),n=r.strTranslate,i=r.strRotate,s=Fd(),c=s.keyFun,p=s.repeat,f=s.unwrap,d=Xs(),y=hi(),o=yc(),x=o.CAP_SHIFT,M=o.LINE_SPACING,T=3;function E(H,K,V){var $=f(K),X=$.trace,Z=X.domain,Q=X.orientation==="h",re=X.node.pad,ce=X.node.thickness,me={justify:S.sankeyJustify,left:S.sankeyLeft,right:S.sankeyRight,center:S.sankeyCenter}[X.node.align],ye=H.width*(Z.x[1]-Z.x[0]),Ae=H.height*(Z.y[1]-Z.y[0]),Se=$._nodes,Ce=$._links,qe=$.circular,Ue;qe?Ue=l.sankeyCircular().circularLinkGap(0):Ue=S.sankey(),Ue.iterations(e.sankeyIterations).size(Q?[ye,Ae]:[Ae,ye]).nodeWidth(ce).nodePadding(re).nodeId(function(vr){return vr.pointNumber}).nodeAlign(me).nodes(Se).links(Ce);function xe(vr){X[vr].sort==="input"&&(qe?r.warn(`Circular Sankey diagrams do not support the "input" ${vr}.sort mode; falling back to the default sort.`):Ue[`${vr}Sort`](null))}xe("link"),xe("node");var he=Ue();Ue.nodePadding()=Ee||(nt=Ee-Kt.y0,nt>1e-6&&(Kt.y0+=nt,Kt.y1+=nt)),Ee=Kt.y1+re})}function yt(vr){var Nt=vr.map(function(Ie,Be){return{x0:Ie.x0,index:Be}}).sort(function(Ie,Be){return Ie.x0-Be.x0}),Kt=[],nt=-1,Ee,ze=-1/0,ve;for(oe=0;oeze+ce&&(nt+=1,Ee=_e.x0),ze=_e.x0,Kt[nt]||(Kt[nt]=[]),Kt[nt].push(_e),ve=Ee-_e.x0,_e.x0+=ve,_e.x1+=ve}return Kt}if(X.node.x.length&&X.node.y.length){for(oe=0;oe0?" L "+X.targetX+" "+X.targetY:"")+"Z"):(V="M "+(X.targetX-K)+" "+(X.targetY-$)+" L "+(X.rightInnerExtent-K)+" "+(X.targetY-$)+" A "+(X.rightLargeArcRadius+$)+" "+(X.rightSmallArcRadius+$)+" 0 0 0 "+(X.rightFullExtent-$-K)+" "+(X.targetY+X.rightSmallArcRadius)+" L "+(X.rightFullExtent-$-K)+" "+X.verticalRightInnerExtent,Z&&Q?V+=" A "+(X.rightLargeArcRadius+$)+" "+(X.rightLargeArcRadius+$)+" 0 0 0 "+(X.rightInnerExtent-$-K)+" "+(X.verticalFullExtent+$)+" L "+(X.rightFullExtent+$-K-(X.rightLargeArcRadius-$))+" "+(X.verticalFullExtent+$)+" A "+(X.rightLargeArcRadius+$)+" "+(X.rightLargeArcRadius+$)+" 0 0 0 "+(X.leftFullExtent+$)+" "+X.verticalLeftInnerExtent:Z?V+=" A "+(X.rightLargeArcRadius-$)+" "+(X.rightSmallArcRadius-$)+" 0 0 1 "+(X.rightFullExtent-K-$-(X.rightLargeArcRadius-$))+" "+(X.verticalFullExtent-$)+" L "+(X.leftFullExtent+$+(X.rightLargeArcRadius-$))+" "+(X.verticalFullExtent-$)+" A "+(X.rightLargeArcRadius-$)+" "+(X.rightSmallArcRadius-$)+" 0 0 1 "+(X.leftFullExtent+$)+" "+X.verticalLeftInnerExtent:V+=" A "+(X.rightLargeArcRadius+$)+" "+(X.rightLargeArcRadius+$)+" 0 0 0 "+(X.rightInnerExtent-K)+" "+(X.verticalFullExtent+$)+" L "+X.leftInnerExtent+" "+(X.verticalFullExtent+$)+" A "+(X.leftLargeArcRadius+$)+" "+(X.leftLargeArcRadius+$)+" 0 0 0 "+(X.leftFullExtent+$)+" "+X.verticalLeftInnerExtent,V+=" L "+(X.leftFullExtent+$)+" "+(X.sourceY+X.leftSmallArcRadius)+" A "+(X.leftLargeArcRadius+$)+" "+(X.leftSmallArcRadius+$)+" 0 0 0 "+X.leftInnerExtent+" "+(X.sourceY-$)+" L "+X.sourceX+" "+(X.sourceY-$)+" L "+X.sourceX+" "+(X.sourceY+$)+" L "+X.leftInnerExtent+" "+(X.sourceY+$)+" A "+(X.leftLargeArcRadius-$)+" "+(X.leftSmallArcRadius-$)+" 0 0 1 "+(X.leftFullExtent-$)+" "+(X.sourceY+X.leftSmallArcRadius)+" L "+(X.leftFullExtent-$)+" "+X.verticalLeftInnerExtent,Z&&Q?V+=" A "+(X.rightLargeArcRadius-$)+" "+(X.rightSmallArcRadius-$)+" 0 0 1 "+(X.leftFullExtent-$-(X.rightLargeArcRadius-$))+" "+(X.verticalFullExtent-$)+" L "+(X.rightFullExtent+$-K+(X.rightLargeArcRadius-$))+" "+(X.verticalFullExtent-$)+" A "+(X.rightLargeArcRadius-$)+" "+(X.rightSmallArcRadius-$)+" 0 0 1 "+(X.rightFullExtent+$-K)+" "+X.verticalRightInnerExtent:Z?V+=" A "+(X.rightLargeArcRadius+$)+" "+(X.rightLargeArcRadius+$)+" 0 0 0 "+(X.leftFullExtent+$)+" "+(X.verticalFullExtent+$)+" L "+(X.rightFullExtent-K-$)+" "+(X.verticalFullExtent+$)+" A "+(X.rightLargeArcRadius+$)+" "+(X.rightLargeArcRadius+$)+" 0 0 0 "+(X.rightFullExtent+$-K)+" "+X.verticalRightInnerExtent:V+=" A "+(X.leftLargeArcRadius-$)+" "+(X.leftLargeArcRadius-$)+" 0 0 1 "+X.leftInnerExtent+" "+(X.verticalFullExtent-$)+" L "+(X.rightInnerExtent-K)+" "+(X.verticalFullExtent-$)+" A "+(X.rightLargeArcRadius-$)+" "+(X.rightLargeArcRadius-$)+" 0 0 1 "+(X.rightFullExtent+$-K)+" "+X.verticalRightInnerExtent,V+=" L "+(X.rightFullExtent+$-K)+" "+(X.targetY+X.rightSmallArcRadius)+" A "+(X.rightLargeArcRadius-$)+" "+(X.rightSmallArcRadius-$)+" 0 0 1 "+(X.rightInnerExtent-K)+" "+(X.targetY+$)+" L "+(X.targetX-K)+" "+(X.targetY+$)+(K>0?" L "+X.targetX+" "+X.targetY:"")+"Z"),V}function m(){var H=.5;function K(V){var $=V.linkArrowLength;if(V.link.circular)return A(V.link,$);var X=Math.abs((V.link.target.x0-V.link.source.x1)/2);$>X&&($=X);var Z=V.link.source.x1,Q=V.link.target.x0-$,re=v(Z,Q),ce=re(H),me=re(1-H),ye=V.link.y0-V.link.width/2,Ae=V.link.y0+V.link.width/2,Se=V.link.y1-V.link.width/2,Ce=V.link.y1+V.link.width/2,qe="M"+Z+","+ye,Ue="C"+ce+","+ye+" "+me+","+Se+" "+Q+","+Se,xe="C"+me+","+Ce+" "+ce+","+Ae+" "+Z+","+Ae,he=$>0?"L"+(Q+$)+","+(Se+V.link.width/2):"";return he+="L"+Q+","+Ce,qe+Ue+he+xe+"Z"}return K}function h(H,K){var V=e.nodePadAcross,$=H.nodePad/2;K.dx=K.x1-K.x0,K.dy=K.y1-K.y0;var X=K.dx,Z=Math.max(.5,K.dy),Q="node_"+K.pointNumber;return K.group&&(Q=r.randstr()),K.trace=H.trace,K.curveNumber=H.trace.index,{index:K.pointNumber,key:Q,partOfGroup:K.partOfGroup||!1,group:K.group,traceId:H.key,trace:H.trace,node:K,nodePad:H.nodePad,nodeLineColor:H.nodeLineColor,nodeLineWidth:H.nodeLineWidth,textFont:H.textFont,size:H.horizontal?H.height:H.width,visibleWidth:Math.ceil(X),visibleHeight:Z,zoneX:-V,zoneY:-$,zoneWidth:X+2*V,zoneHeight:Z+2*$,labelY:H.horizontal?K.dy/2+1:K.dx/2+1,left:K.originalLayer===1,sizeAcross:H.width,forceLayouts:H.forceLayouts,horizontal:H.horizontal,darkBackground:t.color(K.color).isDark(),rgb:t.rgb(K.color),alpha:t.color(K.color).alpha(),valueFormat:H.valueFormat,valueSuffix:H.valueSuffix,sankey:H.sankey,graph:H.graph,arrangement:H.arrangement,uniqueNodeLabelPathId:[H.guid,H.key,Q].join("_"),interactionState:H.interactionState,figure:H}}function b(H){H.attr("transform",function(K){return n(K.node.x0.toFixed(3),K.node.y0.toFixed(3))})}function _(H){H.call(b)}function I(H,K){H.call(_),K.attr("d",m())}function C(H){H.attr("width",function(K){return K.node.x1-K.node.x0}).attr("height",function(K){return K.visibleHeight})}function F(H){return H.link.width>1||H.linkLineWidth>0}function R(H){var K=n(H.translateX,H.translateY);return K+(H.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function z(H,K,V){H.on(".basic",null).on("mouseover.basic",function($){!$.interactionState.dragInProgress&&!$.partOfGroup&&(V.hover(this,$,K),$.interactionState.hovered=[this,$])}).on("mousemove.basic",function($){!$.interactionState.dragInProgress&&!$.partOfGroup&&(V.follow(this,$),$.interactionState.hovered=[this,$])}).on("mouseout.basic",function($){!$.interactionState.dragInProgress&&!$.partOfGroup&&(V.unhover(this,$,K),$.interactionState.hovered=!1)}).on("click.basic",function($){$.interactionState.hovered&&(V.unhover(this,$,K),$.interactionState.hovered=!1),!$.interactionState.dragInProgress&&!$.partOfGroup&&V.select(this,$,K)})}function D(H,K,V,$){var X=w.behavior.drag().origin(function(Z){return{x:Z.node.x0+Z.visibleWidth/2,y:Z.node.y0+Z.visibleHeight/2}}).on("dragstart",function(Z){if(Z.arrangement!=="fixed"&&(r.ensureSingle($._fullLayout._infolayer,"g","dragcover",function(re){$._fullLayout._dragCover=re}),r.raiseToTop(this),Z.interactionState.dragInProgress=Z.node,ee(Z.node),Z.interactionState.hovered&&(V.nodeEvents.unhover.apply(0,Z.interactionState.hovered),Z.interactionState.hovered=!1),Z.arrangement==="snap")){var Q=Z.traceId+"|"+Z.key;Z.forceLayouts[Q]?Z.forceLayouts[Q].alpha(1):k(H,Q,Z,$),B(H,K,Z,Q,$)}}).on("drag",function(Z){if(Z.arrangement!=="fixed"){var Q=w.event.x,re=w.event.y;Z.arrangement==="snap"?(Z.node.x0=Q-Z.visibleWidth/2,Z.node.x1=Q+Z.visibleWidth/2,Z.node.y0=re-Z.visibleHeight/2,Z.node.y1=re+Z.visibleHeight/2):(Z.arrangement==="freeform"&&(Z.node.x0=Q-Z.visibleWidth/2,Z.node.x1=Q+Z.visibleWidth/2),re=Math.max(0,Math.min(Z.size-Z.visibleHeight/2,re)),Z.node.y0=re-Z.visibleHeight/2,Z.node.y1=re+Z.visibleHeight/2),ee(Z.node),Z.arrangement!=="snap"&&(Z.sankey.update(Z.graph),I(H.filter(te(Z)),K))}}).on("dragend",function(Z){if(Z.arrangement!=="fixed"){Z.interactionState.dragInProgress=!1;for(var Q=0;Q0)window.requestAnimationFrame(Z);else{var ce=V.node.originalX;V.node.x0=ce-V.visibleWidth/2,V.node.x1=ce+V.visibleWidth/2,q(V,X)}})}function O(H,K,V,$){return function(){for(var Z=0,Q=0;Q0&&$.forceLayouts[K].alpha(0)}}function q(H,K){for(var V=[],$=[],X=0;XF(xe)?t.rgb(xe.linkLineColor):xe.rgb).style("stroke-opacity",xe=>F(xe)?t.opacity(xe.linkLineColor):xe.alpha).style("fill",xe=>xe.rgb).style("fill-opacity",xe=>xe.alpha).style("stroke-width",xe=>F(xe)?xe.linkLineWidth:1).attr("d",m()),Ae.style("opacity",function(){return H._context.staticPlot||Q||re?1:0}).transition().ease(e.ease).duration(e.duration).style("opacity",1),Ae.exit().transition().ease(e.ease).duration(e.duration).style("opacity",0).remove();var Se=me.selectAll("."+e.cn.sankeyNodeSet).data(p,c);Se.enter().append("g").classed(e.cn.sankeyNodeSet,!0),Se.style("cursor",function(xe){switch(xe.arrangement){case"fixed":return"default";case"perpendicular":return"ns-resize";default:return"move"}});var Ce=Se.selectAll("."+e.cn.sankeyNode).data(function(xe){var he=xe.graph.nodes;return Y(he),he.map(h.bind(null,xe))},c);Ce.enter().append("g").classed(e.cn.sankeyNode,!0).call(b).style("opacity",function(xe){return(H._context.staticPlot||Q)&&!xe.partOfGroup?1:0}),Ce.call(z,me,X.nodeEvents).call(D,Ae,X,H),Ce.transition().ease(e.ease).duration(e.duration).call(b).style("opacity",function(xe){return xe.partOfGroup?0:1}),Ce.exit().transition().ease(e.ease).duration(e.duration).style("opacity",0).remove();var qe=Ce.selectAll("."+e.cn.nodeRect).data(p);qe.enter().append("rect").classed(e.cn.nodeRect,!0).call(C),qe.style("stroke-width",function(xe){return xe.nodeLineWidth}).style("stroke",function(xe){return t.rgb(xe.nodeLineColor)}).style("stroke-opacity",function(xe){return t.opacity(xe.nodeLineColor)}).style("fill",xe=>xe.rgb).style("fill-opacity",xe=>xe.alpha),qe.transition().ease(e.ease).duration(e.duration).call(C);var Ue=Ce.selectAll("."+e.cn.nodeLabel).data(p);Ue.enter().append("text").classed(e.cn.nodeLabel,!0).style("cursor","default"),Ue.attr("data-notex",1).text(function(xe){return xe.node.label}).each(function(xe){var he=w.select(this);a.font(he,xe.textFont),d.convertToTspans(he,H)}).attr("text-anchor",function(xe){return xe.horizontal&&xe.left?"end":"start"}).attr("transform",function(xe){var he=w.select(this),oe=d.lineCount(he),le=xe.textFont.size*((oe-1)*M-x),ne=xe.nodeLineWidth/2+T,be=((xe.horizontal?xe.visibleHeight:xe.visibleWidth)-le)/2;xe.horizontal&&(xe.left?ne=-ne:ne+=xe.visibleWidth);var Fe=xe.horizontal?"":"scale(-1,1)"+i(90);return n(xe.horizontal?ne:be,xe.horizontal?be:ne)+Fe}),Ue.transition().ease(e.ease).duration(e.duration)}}}),A6=De({"src/traces/sankey/plot.js"(j,N){"use strict";var u=Qn(),v=Ar(),w=v.numberFormat,S=IU(),l=uu(),e=ii(),t=w6().cn,a=v._;function r(M){return M!==""}function n(M,T){return M.filter(function(E){return E.key===T.traceId})}function i(M,T){u.select(M).select("path").style("fill-opacity",T),u.select(M).select("rect").style("fill-opacity",T)}function s(M){u.select(M).select("text.name").style("fill","black")}function c(M){return function(T){return M.node.sourceLinks.indexOf(T.link)!==-1||M.node.targetLinks.indexOf(T.link)!==-1}}function p(M){return function(T){return T.node.sourceLinks.indexOf(M.link)!==-1||T.node.targetLinks.indexOf(M.link)!==-1}}function f(M,T,E){T&&E&&n(E,T).selectAll("."+t.sankeyLink).filter(c(T)).call(y.bind(0,T,E,!1))}function d(M,T,E){T&&E&&n(E,T).selectAll("."+t.sankeyLink).filter(c(T)).call(o.bind(0,T,E,!1))}function y(M,T,E,g){g.style("fill",function(A){if(!A.link.concentrationscale)return A.hoverRgb}).style("fill-opacity",function(A){if(!A.link.concentrationscale)return A.hoverAlpha}),g.each(function(A){var m=A.link.label;m!==""&&n(T,M).selectAll("."+t.sankeyLink).filter(function(h){return h.link.label===m}).style("fill",function(h){if(!h.link.concentrationscale)return h.hoverRgb}).style("fill-opacity",function(h){if(!h.link.concentrationscale)return h.hoverAlpha})}),E&&n(T,M).selectAll("."+t.sankeyNode).filter(p(M)).call(f)}function o(M,T,E,g){g.style("fill",function(A){return A.rgb}).style("fill-opacity",function(A){return A.alpha}),g.each(function(A){var m=A.link.label;m!==""&&n(T,M).selectAll("."+t.sankeyLink).filter(function(h){return h.link.label===m}).style("fill",h=>h.rgb).style("fill-opacity",h=>h.alpha)}),E&&n(T,M).selectAll(t.sankeyNode).filter(p(M)).call(d)}function x(M,T){var E=M.hoverlabel||{},g=v.nestedProperty(E,T).get();return Array.isArray(g)?!1:g}N.exports=function(T,E){for(var g=T._fullLayout,A=g._paper,m=g._size,h=0;h"),color:x(U,"bgcolor")||e.addOpacity(X.color,1),borderColor:x(U,"bordercolor"),fontFamily:x(U,"font.family"),fontSize:x(U,"font.size"),fontColor:x(U,"font.color"),fontWeight:x(U,"font.weight"),fontStyle:x(U,"font.style"),fontVariant:x(U,"font.variant"),fontTextcase:x(U,"font.textcase"),fontLineposition:x(U,"font.lineposition"),fontShadow:x(U,"font.shadow"),nameLength:x(U,"namelength"),textAlign:x(U,"align"),idealAlign:u.event.x"),color:x(U,"bgcolor")||ae.rgb,borderColor:x(U,"bordercolor"),fontFamily:x(U,"font.family"),fontSize:x(U,"font.size"),fontColor:x(U,"font.color"),fontWeight:x(U,"font.weight"),fontStyle:x(U,"font.style"),fontVariant:x(U,"font.variant"),fontTextcase:x(U,"font.textcase"),fontLineposition:x(U,"font.lineposition"),fontShadow:x(U,"font.shadow"),nameLength:x(U,"namelength"),textAlign:x(U,"align"),idealAlign:"left",hovertemplate:U.hovertemplate,hovertemplateLabels:Q,eventData:[ae.node]},{container:g._hoverlayer.node(),outerContainer:g._paper.node(),gd:T});i(me,.85),s(me)}}},ee=function(te,ae,U){T._fullLayout.hovermode!==!1&&(u.select(te).call(d,ae,U),ae.node.trace.node.hoverinfo!=="skip"&&(ae.node.fullData=ae.node.trace,T.emit("plotly_unhover",{event:u.event,points:[ae.node]})),l.loneUnhover(g._hoverlayer.node()))};S(T,A,E,{width:m.w,height:m.h,margin:{t:m.t,r:m.r,b:m.b,l:m.l}},{linkEvents:{hover:I,follow:k,unhover:B,select:_},nodeEvents:{hover:q,follow:Y,unhover:ee,select:O}})}}}),DU=De({"src/traces/sankey/base_plot.js"(j){"use strict";var N=Ul().overrideAll,u=Bf().getModuleCalcData,v=A6(),w=Ov(),S=ld(),l=dh(),e=Sc().prepSelect,t=Ar(),a=hi(),r="sankey";j.name=r,j.baseLayoutAttrOverrides=N({hoverlabel:w.hoverlabel},"plot","nested"),j.plot=function(i){var s=u(i.calcdata,r)[0];v(i,s),j.updateFx(i)},j.clean=function(i,s,c,p){var f=p._has&&p._has(r),d=s._has&&s._has(r);f&&!d&&(p._paperdiv.selectAll(".sankey").remove(),p._paperdiv.selectAll(".bgsankey").remove())},j.updateFx=function(i){for(var s=0;s0}N.exports=function(R,z,D,k){var B=R._fullLayout,O;M(D)&&k&&(O=k()),S.makeTraceGroups(B._indicatorlayer,z,"trace").each(function(q){var Y=q[0],ee=Y.trace,te=u.select(this),ae=ee._hasGauge,U=ee._isAngular,H=ee._isBullet,K=ee.domain,V={w:B._size.w*(K.x[1]-K.x[0]),h:B._size.h*(K.y[1]-K.y[0]),l:B._size.l+B._size.w*K.x[0],r:B._size.r+B._size.w*(1-K.x[1]),t:B._size.t+B._size.h*(1-K.y[1]),b:B._size.b+B._size.h*K.y[0]},$=V.l+V.w/2,X=V.t+V.h/2,Z=Math.min(V.w/2,V.h),Q=n.innerRadius*Z,re,ce,me,ye=ee.align||"center";if(ce=X,!ae)re=V.l+o[ye]*V.w,me=function(ne){return b(ne,V.w,V.h)};else if(U&&(re=$,ce=X+Z/2,me=function(ne){return _(ne,.9*Q)}),H){var Ae=n.bulletPadding,Se=1-n.bulletNumberDomainSize+Ae;re=V.l+(Se+(1-Se)*o[ye])*V.w,me=function(ne){return b(ne,(n.bulletNumberDomainSize-Ae)*V.w,V.h)}}g(R,te,q,{numbersX:re,numbersY:ce,numbersScaler:me,transitionOpts:D,onComplete:O});var Ce,qe;ae&&(Ce={range:ee.gauge.axis.range,color:ee.gauge.bgcolor,line:{color:ee.gauge.bordercolor,width:0},thickness:1},qe={range:ee.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:ee.gauge.bordercolor,width:ee.gauge.borderwidth},thickness:1});var Ue=te.selectAll("g.angular").data(U?q:[]);Ue.exit().remove();var xe=te.selectAll("g.angularaxis").data(U?q:[]);xe.exit().remove(),U&&E(R,te,q,{radius:Z,innerRadius:Q,gauge:Ue,layer:xe,size:V,gaugeBg:Ce,gaugeOutline:qe,transitionOpts:D,onComplete:O});var he=te.selectAll("g.bullet").data(H?q:[]);he.exit().remove();var oe=te.selectAll("g.bulletaxis").data(H?q:[]);oe.exit().remove(),H&&T(R,te,q,{gauge:he,layer:oe,size:V,gaugeBg:Ce,gaugeOutline:qe,transitionOpts:D,onComplete:O});var le=te.selectAll("text.title").data(q);le.exit().remove(),le.enter().append("text").classed("title",!0),le.attr("text-anchor",function(){return H?y.right:y[ee.title.align]}).text(ee.title.text).call(r.font,ee.title.font).call(i.convertToTspans,R),le.attr("transform",function(){var ne=V.l+V.w*o[ee.title.align],be,Fe=n.titlePadding,Ve=r.bBox(le.node());if(ae){if(U)if(ee.gauge.axis.visible){var je=r.bBox(xe.node());be=je.top-Fe-Ve.bottom}else be=V.t+V.h/2-Z/2-Ve.bottom-Fe;H&&(be=ce-(Ve.top+Ve.bottom)/2,ne=V.l-n.bulletPadding*V.w)}else be=ee._numbersTop-Fe-Ve.bottom;return e(ne,be)})})};function T(F,R,z,D){var k=z[0].trace,B=D.gauge,O=D.layer,q=D.gaugeBg,Y=D.gaugeOutline,ee=D.size,te=k.domain,ae=D.transitionOpts,U=D.onComplete,H,K,V,$,X;B.enter().append("g").classed("bullet",!0),B.attr("transform",e(ee.l,ee.t)),O.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),O.selectAll("g.xbulletaxistick,path,text").remove();var Z=ee.h,Q=k.gauge.bar.thickness*Z,re=te.x[0],ce=te.x[0]+(te.x[1]-te.x[0])*(k._hasNumber||k._hasDelta?1-n.bulletNumberDomainSize:1);H=h(F,k.gauge.axis),H._id="xbulletaxis",H.domain=[re,ce],H.setScale(),K=s.calcTicks(H),V=s.makeTransTickFn(H),$=s.getTickSigns(H)[2],X=ee.t+ee.h,H.visible&&(s.drawTicks(F,H,{vals:H.ticks==="inside"?s.clipEnds(H,K):K,layer:O,path:s.makeTickPath(H,X,$),transFn:V}),s.drawLabels(F,H,{vals:K,layer:O,transFn:V,labelFns:s.makeLabelFns(H,X)}));function me(xe){xe.attr("width",function(he){return Math.max(0,H.c2p(he.range[1])-H.c2p(he.range[0]))}).attr("x",function(he){return H.c2p(he.range[0])}).attr("y",function(he){return .5*(1-he.thickness)*Z}).attr("height",function(he){return he.thickness*Z})}var ye=[q].concat(k.gauge.steps),Ae=B.selectAll("g.bg-bullet").data(ye);Ae.enter().append("g").classed("bg-bullet",!0).append("rect"),Ae.select("rect").call(me).call(A),Ae.exit().remove();var Se=B.selectAll("g.value-bullet").data([k.gauge.bar]);Se.enter().append("g").classed("value-bullet",!0).append("rect"),Se.select("rect").attr("height",Q).attr("y",(Z-Q)/2).call(A),M(ae)?Se.select("rect").transition().duration(ae.duration).ease(ae.easing).each("end",function(){U&&U()}).each("interrupt",function(){U&&U()}).attr("width",Math.max(0,H.c2p(Math.min(k.gauge.axis.range[1],z[0].y)))):Se.select("rect").attr("width",typeof z[0].y=="number"?Math.max(0,H.c2p(Math.min(k.gauge.axis.range[1],z[0].y))):0),Se.exit().remove();var Ce=z.filter(function(){return k.gauge.threshold.value||k.gauge.threshold.value===0}),qe=B.selectAll("g.threshold-bullet").data(Ce);qe.enter().append("g").classed("threshold-bullet",!0).append("line"),qe.select("line").attr("x1",H.c2p(k.gauge.threshold.value)).attr("x2",H.c2p(k.gauge.threshold.value)).attr("y1",(1-k.gauge.threshold.thickness)/2*Z).attr("y2",(1-(1-k.gauge.threshold.thickness)/2)*Z).call(d.stroke,k.gauge.threshold.line.color).style("stroke-width",k.gauge.threshold.line.width),qe.exit().remove();var Ue=B.selectAll("g.gauge-outline").data([Y]);Ue.enter().append("g").classed("gauge-outline",!0).append("rect"),Ue.select("rect").call(me).call(A),Ue.exit().remove()}function E(F,R,z,D){var k=z[0].trace,B=D.size,O=D.radius,q=D.innerRadius,Y=D.gaugeBg,ee=D.gaugeOutline,te=[B.l+B.w/2,B.t+B.h/2+O/2],ae=D.gauge,U=D.layer,H=D.transitionOpts,K=D.onComplete,V=Math.PI/2;function $(ut){var st=k.gauge.axis.range[0],yt=k.gauge.axis.range[1],At=(ut-st)/(yt-st)*Math.PI-V;return At<-V?-V:At>V?V:At}function X(ut){return u.svg.arc().innerRadius((q+O)/2-ut/2*(O-q)).outerRadius((q+O)/2+ut/2*(O-q)).startAngle(-V)}function Z(ut){ut.attr("d",function(st){return X(st.thickness).startAngle($(st.range[0])).endAngle($(st.range[1]))()})}var Q,re,ce,me;ae.enter().append("g").classed("angular",!0),ae.attr("transform",e(te[0],te[1])),U.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),U.selectAll("g.xangularaxistick,path,text").remove(),Q=h(F,k.gauge.axis),Q.type="linear",Q.range=k.gauge.axis.range,Q._id="xangularaxis",Q.ticklabeloverflow="allow",Q.setScale();var ye=function(ut){return(Q.range[0]-ut.x)/(Q.range[1]-Q.range[0])*Math.PI+Math.PI},Ae={},Se=s.makeLabelFns(Q,0),Ce=Se.labelStandoff;Ae.xFn=function(ut){var st=ye(ut);return Math.cos(st)*Ce},Ae.yFn=function(ut){var st=ye(ut),yt=Math.sin(st)>0?.2:1;return-Math.sin(st)*(Ce+ut.fontSize*yt)+Math.abs(Math.cos(st))*(ut.fontSize*a)},Ae.anchorFn=function(ut){var st=ye(ut),yt=Math.cos(st);return Math.abs(yt)<.1?"middle":yt>0?"start":"end"},Ae.heightFn=function(ut,st,yt){var At=ye(ut);return-.5*(1+Math.sin(At))*yt};var qe=function(ut){return e(te[0]+O*Math.cos(ut),te[1]-O*Math.sin(ut))};ce=function(ut){return qe(ye(ut))};var Ue=function(ut){var st=ye(ut);return qe(st)+"rotate("+-t(st)+")"};if(re=s.calcTicks(Q),me=s.getTickSigns(Q)[2],Q.visible){me=Q.ticks==="inside"?-1:1;var xe=(Q.linewidth||1)/2;s.drawTicks(F,Q,{vals:re,layer:U,path:"M"+me*xe+",0h"+me*Q.ticklen,transFn:Ue}),s.drawLabels(F,Q,{vals:re,layer:U,transFn:ce,labelFns:Ae})}var he=[Y].concat(k.gauge.steps),oe=ae.selectAll("g.bg-arc").data(he);oe.enter().append("g").classed("bg-arc",!0).append("path"),oe.select("path").call(Z).call(A),oe.exit().remove();var le=X(k.gauge.bar.thickness),ne=ae.selectAll("g.value-arc").data([k.gauge.bar]);ne.enter().append("g").classed("value-arc",!0).append("path");var be=ne.select("path");M(H)?(be.transition().duration(H.duration).ease(H.easing).each("end",function(){K&&K()}).each("interrupt",function(){K&&K()}).attrTween("d",m(le,$(z[0].lastY),$(z[0].y))),k._lastValue=z[0].y):be.attr("d",typeof z[0].y=="number"?le.endAngle($(z[0].y)):"M0,0Z"),be.call(A),ne.exit().remove(),he=[];var Fe=k.gauge.threshold.value;(Fe||Fe===0)&&he.push({range:[Fe,Fe],color:k.gauge.threshold.color,line:{color:k.gauge.threshold.line.color,width:k.gauge.threshold.line.width},thickness:k.gauge.threshold.thickness});var Ve=ae.selectAll("g.threshold-arc").data(he);Ve.enter().append("g").classed("threshold-arc",!0).append("path"),Ve.select("path").call(Z).call(A),Ve.exit().remove();var je=ae.selectAll("g.gauge-outline").data([ee]);je.enter().append("g").classed("gauge-outline",!0).append("path"),je.select("path").call(Z).call(A),je.exit().remove()}function g(F,R,z,D){var k=z[0].trace,B=D.numbersX,O=D.numbersY,q=k.align||"center",Y=y[q],ee=D.transitionOpts,te=D.onComplete,ae=S.ensureSingle(R,"g","numbers"),U,H,K,V=[];k._hasNumber&&V.push("number"),k._hasDelta&&(V.push("delta"),k.delta.position==="left"&&V.reverse());var $=ae.selectAll("text").data(V);$.enter().append("text"),$.attr("text-anchor",function(){return Y}).attr("class",function(qe){return qe}).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),$.exit().remove();function X(qe,Ue,xe,he){if(qe.match("s")&&xe>=0!=he>=0&&!Ue(xe).slice(-1).match(x)&&!Ue(he).slice(-1).match(x)){var oe=qe.slice().replace("s","f").replace(/\d+/,function(ne){return parseInt(ne)-1}),le=h(F,{tickformat:oe});return function(ne){return Math.abs(ne)<1?s.tickText(le,ne).text:Ue(ne)}}else return Ue}function Z(){var qe=h(F,{tickformat:k.number.valueformat},k._range);qe.setScale(),s.prepTicks(qe);var Ue=function(ne){return s.tickText(qe,ne).text},xe=k.number.suffix,he=k.number.prefix,oe=ae.select("text.number");function le(){var ne=typeof z[0].y=="number"?he+Ue(z[0].y)+xe:"-";oe.text(ne).call(r.font,k.number.font).call(i.convertToTspans,F)}return M(ee)?oe.transition().duration(ee.duration).ease(ee.easing).each("end",function(){le(),te&&te()}).each("interrupt",function(){le(),te&&te()}).attrTween("text",function(){var ne=u.select(this),be=w(z[0].lastY,z[0].y);k._lastValue=z[0].y;var Fe=X(k.number.valueformat,Ue,z[0].lastY,z[0].y);return function(Ve){ne.text(he+Fe(be(Ve))+xe)}}):le(),U=I(he+Ue(z[0].y)+xe,k.number.font,Y,F),oe}function Q(){var qe=h(F,{tickformat:k.delta.valueformat},k._range);qe.setScale(),s.prepTicks(qe);var Ue=function(Ve){return s.tickText(qe,Ve).text},xe=k.delta.suffix,he=k.delta.prefix,oe=function(Ve){var je=k.delta.relative?Ve.relativeDelta:Ve.delta;return je},le=function(Ve,je){return Ve===0||typeof Ve!="number"||isNaN(Ve)?"-":(Ve>0?k.delta.increasing.symbol:k.delta.decreasing.symbol)+he+je(Ve)+xe},ne=function(Ve){return Ve.delta>=0?k.delta.increasing.color:k.delta.decreasing.color};k._deltaLastValue===void 0&&(k._deltaLastValue=oe(z[0]));var be=ae.select("text.delta");be.call(r.font,k.delta.font).call(d.fill,ne({delta:k._deltaLastValue}));function Fe(){be.text(le(oe(z[0]),Ue)).call(d.fill,ne(z[0])).call(i.convertToTspans,F)}return M(ee)?be.transition().duration(ee.duration).ease(ee.easing).tween("text",function(){var Ve=u.select(this),je=oe(z[0]),ut=k._deltaLastValue,st=X(k.delta.valueformat,Ue,ut,je),yt=w(ut,je);return k._deltaLastValue=je,function(At){Ve.text(le(yt(At),st)),Ve.call(d.fill,ne({delta:yt(At)}))}}).each("end",function(){Fe(),te&&te()}).each("interrupt",function(){Fe(),te&&te()}):Fe(),H=I(le(oe(z[0]),Ue),k.delta.font,Y,F),be}var re=k.mode+k.align,ce;if(k._hasDelta&&(ce=Q(),re+=k.delta.position+k.delta.font.size+k.delta.font.family+k.delta.valueformat,re+=k.delta.increasing.symbol+k.delta.decreasing.symbol,K=H),k._hasNumber&&(Z(),re+=k.number.font.size+k.number.font.family+k.number.valueformat+k.number.suffix+k.number.prefix,K=U),k._hasDelta&&k._hasNumber){var me=[(U.left+U.right)/2,(U.top+U.bottom)/2],ye=[(H.left+H.right)/2,(H.top+H.bottom)/2],Ae,Se,Ce=.75*k.delta.font.size;k.delta.position==="left"&&(Ae=C(k,"deltaPos",0,-1*(U.width*o[k.align]+H.width*(1-o[k.align])+Ce),re,Math.min),Se=me[1]-ye[1],K={width:U.width+H.width+Ce,height:Math.max(U.height,H.height),left:H.left+Ae,right:U.right,top:Math.min(U.top,H.top+Se),bottom:Math.max(U.bottom,H.bottom+Se)}),k.delta.position==="right"&&(Ae=C(k,"deltaPos",0,U.width*(1-o[k.align])+H.width*o[k.align]+Ce,re,Math.max),Se=me[1]-ye[1],K={width:U.width+H.width+Ce,height:Math.max(U.height,H.height),left:U.left,right:H.right+Ae,top:Math.min(U.top,H.top+Se),bottom:Math.max(U.bottom,H.bottom+Se)}),k.delta.position==="bottom"&&(Ae=null,Se=H.height,K={width:Math.max(U.width,H.width),height:U.height+H.height,left:Math.min(U.left,H.left),right:Math.max(U.right,H.right),top:U.bottom-U.height,bottom:U.bottom+H.height}),k.delta.position==="top"&&(Ae=null,Se=U.top,K={width:Math.max(U.width,H.width),height:U.height+H.height,left:Math.min(U.left,H.left),right:Math.max(U.right,H.right),top:U.bottom-U.height-H.height,bottom:U.bottom}),ce.attr({dx:Ae,dy:Se})}(k._hasNumber||k._hasDelta)&&ae.attr("transform",function(){var qe=D.numbersScaler(K);re+=qe[2];var Ue=C(k,"numbersScale",1,qe[0],re,Math.min),xe;k._scaleNumbers||(Ue=1),k._isAngular?xe=O-Ue*K.bottom:xe=O-Ue*(K.top+K.bottom)/2,k._numbersTop=Ue*K.top+xe;var he=K[q];q==="center"&&(he=(K.left+K.right)/2);var oe=B-Ue*he;return oe=C(k,"numbersTranslate",0,oe,re,Math.max),e(oe,xe)+l(Ue)})}function A(F){F.each(function(R){d.stroke(u.select(this),R.line.color)}).each(function(R){d.fill(u.select(this),R.color)}).style("stroke-width",function(R){return R.line.width})}function m(F,R,z){return function(){var D=v(R,z);return function(k){return F.endAngle(D(k))()}}}function h(F,R,z){var D=F._fullLayout,k=S.extendFlat({type:"linear",ticks:"outside",range:z,showline:!0},R),B={type:"linear",_id:"x"+R._id},O={letter:"x",font:D.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function q(Y,ee){return S.coerce(k,B,f,Y,ee)}return c(k,B,q,O,D),p(k,B,q,O),B}function b(F,R,z){var D=Math.min(R/F.width,z/F.height);return[D,F,R+"x"+z]}function _(F,R){var z=Math.sqrt(F.width/2*(F.width/2)+F.height*F.height),D=R/z;return[D,F,R]}function I(F,R,z,D){var k=document.createElementNS("http://www.w3.org/2000/svg","text"),B=u.select(k);return B.text(F).attr("x",0).attr("y",0).attr("text-anchor",z).attr("data-unformatted",F).call(i.convertToTspans,D).call(r.font,R),r.bBox(B.node())}function C(F,R,z,D,k,B){var O="_cache"+R;F[O]&&F[O].key===k||(F[O]={key:k,value:z});var q=S.aggNums(B,null,[F[O].value,D],2);return F[O].value=q,q}}}),qU=De({"src/traces/indicator/index.js"(j,N){"use strict";N.exports={moduleType:"trace",name:"indicator",basePlotModule:OU(),categories:["svg","noOpacity","noHover"],animatable:!0,attributes:T6(),supplyDefaults:NU().supplyDefaults,calc:jU().calc,plot:UU(),meta:{}}}}),GU=De({"lib/indicator.js"(j,N){"use strict";N.exports=qU()}}),S6=De({"src/traces/table/attributes.js"(j,N){"use strict";var u=Xv(),v=Ji().extendFlat,w=Ul().overrideAll,S=Ml(),l=ql().attributes,e=Zl().descriptionOnlyNumbers,t=N.exports=w({domain:l({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:e("cell value")},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:28},align:v({},u.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:v({},S({arrayOk:!0}))},cells:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[],description:e("cell value")},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:20},align:v({},u.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:v({},S({arrayOk:!0}))}},"calc","from-root")}}),VU=De({"src/traces/table/defaults.js"(j,N){"use strict";var u=Ar(),v=S6(),w=ql().defaults;function S(l,e){for(var t=l.columnorder||[],a=l.header.values.length,r=t.slice(0,a),n=r.slice().sort(function(c,p){return c-p}),i=r.map(function(c){return n.indexOf(c)}),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"}}}}),WU=De({"src/traces/table/data_preparation_helper.js"(j,N){"use strict";var u=E6(),v=Ji().extendFlat,w=io(),S=Vf().isTypedArray,l=Vf().isArrayOrTypedArray;N.exports=function(f,d){var y=a(d.cells.values),o=function(Y){return Y.slice(d.header.values.length,Y.length)},x=a(d.header.values);x.length&&!x[0].length&&(x[0]=[""],x=a(x));var M=x.concat(o(y).map(function(){return r((x[0]||[""]).length)})),T=d.domain,E=Math.floor(f._fullLayout._size.w*(T.x[1]-T.x[0])),g=Math.floor(f._fullLayout._size.h*(T.y[1]-T.y[0])),A=d.header.values.length?M[0].map(function(){return d.header.height}):[u.emptyHeaderHeight],m=y.length?y[0].map(function(){return d.cells.height}):[],h=A.reduce(t,0),b=g-h,_=b+u.uplift,I=s(m,_),C=s(A,h),F=i(C,[]),R=i(I,F),z={},D=d.columnorder;l(D)&&(D=Array.from(D)),D=D.concat(o(y.map(function(Y,ee){return ee})));var k=M.map(function(Y,ee){var te=l(d.columnwidth)?d.columnwidth[Math.min(ee,d.columnwidth.length-1)]:d.columnwidth;return w(te)?Number(te):1}),B=k.reduce(t,0);k=k.map(function(Y){return Y/B*E});var O=Math.max(e(d.header.line.width),e(d.cells.line.width)),q={key:d.uid+f._context.staticPlot,translateX:T.x[0]*f._fullLayout._size.w,translateY:f._fullLayout._size.h*(1-T.y[1]),size:f._fullLayout._size,width:E,maxLineWidth:O,height:g,columnOrder:D,groupHeight:g,rowBlocks:R,headerRowBlocks:F,scrollY:0,cells:v({},d.cells,{values:y}),headerCells:v({},d.header,{values:M}),gdColumns:M.map(function(Y){return Y[0]}),gdColumnsOriginalOrder:M.map(function(Y){return Y[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:M.map(function(Y,ee){var te=z[Y];z[Y]=(te||0)+1;var ae=Y+"__"+z[Y];return{key:ae,label:Y,specIndex:ee,xIndex:D[ee],xScale:n,x:void 0,calcdata:void 0,columnWidth:k[ee]}})};return q.columns.forEach(function(Y){Y.calcdata=q,Y.x=n(Y)}),q};function e(p){if(l(p)){for(var f=0,d=0;d=f||g===p.length-1)&&(d[o]=M,M.key=E++,M.firstRowIndex=T,M.lastRowIndex=g,M=c(),o+=x,T=g+1,x=0);return d}function c(){return{firstRowIndex:null,lastRowIndex:null,rows:[]}}}}),YU=De({"src/traces/table/data_split_helpers.js"(j){"use strict";var N=Ji().extendFlat;j.splitToPanels=function(v){var w=[0,0],S=N({},v,{key:"header",type:"header",page:0,prevPages:w,currentRepaint:[null,null],dragHandle:!0,values:v.calcdata.headerCells.values[v.specIndex],rowBlocks:v.calcdata.headerRowBlocks,calcdata:N({},v.calcdata,{cells:v.calcdata.headerCells})}),l=N({},v,{key:"cells1",type:"cells",page:0,prevPages:w,currentRepaint:[null,null],dragHandle:!1,values:v.calcdata.cells.values[v.specIndex],rowBlocks:v.calcdata.rowBlocks}),e=N({},v,{key:"cells2",type:"cells",page:1,prevPages:w,currentRepaint:[null,null],dragHandle:!1,values:v.calcdata.cells.values[v.specIndex],rowBlocks:v.calcdata.rowBlocks});return[l,e,S]},j.splitToCells=function(v){var w=u(v);return(v.values||[]).slice(w[0],w[1]).map(function(S,l){var e=typeof S=="string"&&S.match(/[<$&> ]/)?"_keybuster_"+Math.random():"";return{keyWithinBlock:l+e,key:w[0]+l,column:v,calcdata:v.calcdata,page:v.page,rowBlocks:v.rowBlocks,value:S}})};function u(v){var w=v.rowBlocks[v.page],S=w?w.rows[0].rowIndex:0,l=w?S+w.rows.length:0;return[S,l]}}}),k6=De({"src/traces/table/plot.js"(j,N){"use strict";var u=E6(),v=Qn(),w=Ar(),S=w.numberFormat,l=Fd(),e=Ki(),t=Xs(),a=Ar().raiseToTop,r=Ar().strTranslate,n=Ar().cancelTransition,i=WU(),s=YU(),c=ii();N.exports=function(re,ce){var me=!re._context.staticPlot,ye=re._fullLayout._paper.selectAll("."+u.cn.table).data(ce.map(function(je){var ut=l.unwrap(je),st=ut.trace;return i(re,st)}),l.keyFun);ye.exit().remove(),ye.enter().append("g").classed(u.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"),ye.attr("width",function(je){return je.width+je.size.l+je.size.r}).attr("height",function(je){return je.height+je.size.t+je.size.b}).attr("transform",function(je){return r(je.translateX,je.translateY)});var Ae=ye.selectAll("."+u.cn.tableControlView).data(l.repeat,l.keyFun),Se=Ae.enter().append("g").classed(u.cn.tableControlView,!0).style("box-sizing","content-box");if(me){var Ce="onwheel"in document?"wheel":"mousewheel";Se.on("mousemove",function(je){Ae.filter(function(ut){return je===ut}).call(o,re)}).on(Ce,function(je){if(!je.scrollbarState.wheeling){je.scrollbarState.wheeling=!0;var ut=je.scrollY+v.event.deltaY,st=Y(re,Ae,null,ut)(je);st||(v.event.stopPropagation(),v.event.preventDefault()),je.scrollbarState.wheeling=!1}}).call(o,re,!0)}Ae.attr("transform",function(je){return r(je.size.l,je.size.t)});var qe=Ae.selectAll("."+u.cn.scrollBackground).data(l.repeat,l.keyFun);qe.enter().append("rect").classed(u.cn.scrollBackground,!0).attr("fill","none"),qe.attr("width",function(je){return je.width}).attr("height",function(je){return je.height}),Ae.each(function(je){e.setClipUrl(v.select(this),f(re,je),re)});var Ue=Ae.selectAll("."+u.cn.yColumn).data(function(je){return je.columns},l.keyFun);Ue.enter().append("g").classed(u.cn.yColumn,!0),Ue.exit().remove(),Ue.attr("transform",function(je){return r(je.x,0)}),me&&Ue.call(v.behavior.drag().origin(function(je){var ut=v.select(this);return z(ut,je,-u.uplift),a(this),je.calcdata.columnDragInProgress=!0,o(Ae.filter(function(st){return je.calcdata.key===st.key}),re),je}).on("drag",function(je){var ut=v.select(this),st=function(Pt){return(je===Pt?v.event.x:Pt.x)+Pt.columnWidth/2};je.x=Math.max(-u.overdrag,Math.min(je.calcdata.width+u.overdrag-je.columnWidth,v.event.x));var yt=y(Ue).filter(function(Pt){return Pt.calcdata.key===je.calcdata.key}),At=yt.sort(function(Pt,Zt){return st(Pt)-st(Zt)});At.forEach(function(Pt,Zt){Pt.xIndex=Zt,Pt.x=je===Pt?Pt.x:Pt.xScale(Pt)}),Ue.filter(function(Pt){return je!==Pt}).transition().ease(u.transitionEase).duration(u.transitionDuration).attr("transform",function(Pt){return r(Pt.x,0)}),ut.call(n).attr("transform",r(je.x,-u.uplift))}).on("dragend",function(je){var ut=v.select(this),st=je.calcdata;je.x=je.xScale(je),je.calcdata.columnDragInProgress=!1,z(ut,je,0),F(re,st,st.columns.map(function(yt){return yt.xIndex}))})),Ue.each(function(je){e.setClipUrl(v.select(this),d(re,je),re)});var xe=Ue.selectAll("."+u.cn.columnBlock).data(s.splitToPanels,l.keyFun);xe.enter().append("g").classed(u.cn.columnBlock,!0).attr("id",function(je){return je.key}),xe.style("cursor",function(je){return je.dragHandle?"ew-resize":je.calcdata.scrollbarState.barWiggleRoom?"ns-resize":"default"});var he=xe.filter(k),oe=xe.filter(D);me&&oe.call(v.behavior.drag().origin(function(je){return v.event.stopPropagation(),je}).on("drag",Y(re,Ae,-1)).on("dragend",function(){})),x(re,Ae,he,xe),x(re,Ae,oe,xe);var le=Ae.selectAll("."+u.cn.scrollAreaClip).data(l.repeat,l.keyFun);le.enter().append("clipPath").classed(u.cn.scrollAreaClip,!0).attr("id",function(je){return f(re,je)});var ne=le.selectAll("."+u.cn.scrollAreaClipRect).data(l.repeat,l.keyFun);ne.enter().append("rect").classed(u.cn.scrollAreaClipRect,!0).attr("x",-u.overdrag).attr("y",-u.uplift).attr("fill","none"),ne.attr("width",function(je){return je.width+2*u.overdrag}).attr("height",function(je){return je.height+u.uplift});var be=Ue.selectAll("."+u.cn.columnBoundary).data(l.repeat,l.keyFun);be.enter().append("g").classed(u.cn.columnBoundary,!0);var Fe=Ue.selectAll("."+u.cn.columnBoundaryClippath).data(l.repeat,l.keyFun);Fe.enter().append("clipPath").classed(u.cn.columnBoundaryClippath,!0),Fe.attr("id",function(je){return d(re,je)});var Ve=Fe.selectAll("."+u.cn.columnBoundaryRect).data(l.repeat,l.keyFun);Ve.enter().append("rect").classed(u.cn.columnBoundaryRect,!0).attr("fill","none"),Ve.attr("width",function(je){return je.columnWidth+2*p(je)}).attr("height",function(je){return je.calcdata.height+2*p(je)+u.uplift}).attr("x",function(je){return-p(je)}).attr("y",function(je){return-p(je)}),q(null,oe,Ae)};function p(Q){return Math.ceil(Q.calcdata.maxLineWidth/2)}function f(Q,re){return"clip"+Q._fullLayout._uid+"_scrollAreaBottomClip_"+re.key}function d(Q,re){return"clip"+Q._fullLayout._uid+"_columnBoundaryClippath_"+re.calcdata.key+"_"+re.specIndex}function y(Q){return[].concat.apply([],Q.map(function(re){return re})).map(function(re){return re.__data__})}function o(Q,re,ce){function me(Ue){var xe=Ue.rowBlocks;return K(xe,xe.length-1)+(xe.length?V(xe[xe.length-1],1/0):1)}var ye=Q.selectAll("."+u.cn.scrollbarKit).data(l.repeat,l.keyFun);ye.enter().append("g").classed(u.cn.scrollbarKit,!0).style("shape-rendering","geometricPrecision"),ye.each(function(Ue){var xe=Ue.scrollbarState;xe.totalHeight=me(Ue),xe.scrollableAreaHeight=Ue.groupHeight-B(Ue),xe.currentlyVisibleHeight=Math.min(xe.totalHeight,xe.scrollableAreaHeight),xe.ratio=xe.currentlyVisibleHeight/xe.totalHeight,xe.barLength=Math.max(xe.ratio*xe.currentlyVisibleHeight,u.goldenRatio*u.scrollbarWidth),xe.barWiggleRoom=xe.currentlyVisibleHeight-xe.barLength,xe.wiggleRoom=Math.max(0,xe.totalHeight-xe.scrollableAreaHeight),xe.topY=xe.barWiggleRoom===0?0:Ue.scrollY/xe.wiggleRoom*xe.barWiggleRoom,xe.bottomY=xe.topY+xe.barLength,xe.dragMultiplier=xe.wiggleRoom/xe.barWiggleRoom}).attr("transform",function(Ue){var xe=Ue.width+u.scrollbarWidth/2+u.scrollbarOffset;return r(xe,B(Ue))});var Ae=ye.selectAll("."+u.cn.scrollbar).data(l.repeat,l.keyFun);Ae.enter().append("g").classed(u.cn.scrollbar,!0);var Se=Ae.selectAll("."+u.cn.scrollbarSlider).data(l.repeat,l.keyFun);Se.enter().append("g").classed(u.cn.scrollbarSlider,!0),Se.attr("transform",function(Ue){return r(0,Ue.scrollbarState.topY||0)});var Ce=Se.selectAll("."+u.cn.scrollbarGlyph).data(l.repeat,l.keyFun);Ce.enter().append("line").classed(u.cn.scrollbarGlyph,!0).attr("stroke","black").attr("stroke-width",u.scrollbarWidth).attr("stroke-linecap","round").attr("y1",u.scrollbarWidth/2),Ce.attr("y2",function(Ue){return Ue.scrollbarState.barLength-u.scrollbarWidth/2}).attr("stroke-opacity",function(Ue){return Ue.columnDragInProgress||!Ue.scrollbarState.barWiggleRoom||ce?0:.4}),Ce.transition().delay(0).duration(0),Ce.transition().delay(u.scrollbarHideDelay).duration(u.scrollbarHideDuration).attr("stroke-opacity",0);var qe=Ae.selectAll("."+u.cn.scrollbarCaptureZone).data(l.repeat,l.keyFun);qe.enter().append("line").classed(u.cn.scrollbarCaptureZone,!0).attr("stroke","white").attr("stroke-opacity",.01).attr("stroke-width",u.scrollbarCaptureWidth).attr("stroke-linecap","butt").attr("y1",0).on("mousedown",function(Ue){var xe=v.event.y,he=this.getBoundingClientRect(),oe=Ue.scrollbarState,le=xe-he.top,ne=v.scale.linear().domain([0,oe.scrollableAreaHeight]).range([0,oe.totalHeight]).clamp(!0);oe.topY<=le&&le<=oe.bottomY||Y(re,Q,null,ne(le-oe.barLength/2))(Ue)}).call(v.behavior.drag().origin(function(Ue){return v.event.stopPropagation(),Ue.scrollbarState.scrollbarScrollInProgress=!0,Ue}).on("drag",Y(re,Q)).on("dragend",function(){})),qe.attr("y2",function(Ue){return Ue.scrollbarState.scrollableAreaHeight}),re._context.staticPlot&&(Ce.remove(),qe.remove())}function x(Q,re,ce,me){var ye=M(ce),Ae=T(ye);m(Ae);var Se=E(Ae);b(Se);var Ce=A(Ae),qe=g(Ce);h(qe),_(qe,re,me,Q),H(Ae)}function M(Q){var re=Q.selectAll("."+u.cn.columnCells).data(l.repeat,l.keyFun);return re.enter().append("g").classed(u.cn.columnCells,!0),re.exit().remove(),re}function T(Q){var re=Q.selectAll("."+u.cn.columnCell).data(s.splitToCells,function(ce){return ce.keyWithinBlock});return re.enter().append("g").classed(u.cn.columnCell,!0),re.exit().remove(),re}function E(Q){var re=Q.selectAll("."+u.cn.cellRect).data(l.repeat,function(ce){return ce.keyWithinBlock});return re.enter().append("rect").classed(u.cn.cellRect,!0),re}function g(Q){var re=Q.selectAll("."+u.cn.cellText).data(l.repeat,function(ce){return ce.keyWithinBlock});return re.enter().append("text").classed(u.cn.cellText,!0).style("cursor",function(){return"auto"}).on("mousedown",function(){v.event.stopPropagation()}),re}function A(Q){var re=Q.selectAll("."+u.cn.cellTextHolder).data(l.repeat,function(ce){return ce.keyWithinBlock});return re.enter().append("g").classed(u.cn.cellTextHolder,!0).style("shape-rendering","geometricPrecision"),re}function m(Q){Q.each(function(re,ce){var me=re.calcdata.cells.font,ye=re.column.specIndex,Ae={size:R(me.size,ye,ce),color:R(me.color,ye,ce),family:R(me.family,ye,ce),weight:R(me.weight,ye,ce),style:R(me.style,ye,ce),variant:R(me.variant,ye,ce),textcase:R(me.textcase,ye,ce),lineposition:R(me.lineposition,ye,ce),shadow:R(me.shadow,ye,ce)};re.rowNumber=re.key,re.align=R(re.calcdata.cells.align,ye,ce),re.cellBorderWidth=R(re.calcdata.cells.line.width,ye,ce),re.font=Ae})}function h(Q){Q.each(function(re){e.font(v.select(this),re.font)})}function b(Q){Q.attr("width",function(re){return re.column.columnWidth}).attr("stroke-width",function(re){return re.cellBorderWidth}).each(function(re){var ce=v.select(this);c.stroke(ce,R(re.calcdata.cells.line.color,re.column.specIndex,re.rowNumber)),c.fill(ce,R(re.calcdata.cells.fill.color,re.column.specIndex,re.rowNumber))})}function _(Q,re,ce,me){Q.text(function(ye){var Ae=ye.column.specIndex,Se=ye.rowNumber,Ce=ye.value,qe=typeof Ce=="string",Ue=qe&&Ce.match(/
/i),xe=!qe||Ue;ye.mayHaveMarkup=qe&&Ce.match(/[<&>]/);var he=I(Ce);ye.latex=he;var oe=he?"":R(ye.calcdata.cells.prefix,Ae,Se)||"",le=he?"":R(ye.calcdata.cells.suffix,Ae,Se)||"",ne=he?null:R(ye.calcdata.cells.format,Ae,Se)||null,be=oe+(ne?S(ne)(ye.value):ye.value)+le,Fe;ye.wrappingNeeded=!ye.wrapped&&!xe&&!he&&(Fe=C(be)),ye.cellHeightMayIncrease=Ue||he||ye.mayHaveMarkup||(Fe===void 0?C(be):Fe),ye.needsConvertToTspans=ye.mayHaveMarkup||ye.wrappingNeeded||ye.latex;var Ve;if(ye.wrappingNeeded){var je=u.wrapSplitCharacter===" "?be.replace(/ye&&me.push(Ae),ye+=qe}return me}function q(Q,re,ce){var me=y(re)[0];if(me!==void 0){var ye=me.rowBlocks,Ae=me.calcdata,Se=K(ye,ye.length),Ce=me.calcdata.groupHeight-B(me),qe=Ae.scrollY=Math.max(0,Math.min(Se-Ce,Ae.scrollY)),Ue=O(ye,qe,Ce);Ue.length===1&&(Ue[0]===ye.length-1?Ue.unshift(Ue[0]-1):Ue.push(Ue[0]+1)),Ue[0]%2&&Ue.reverse(),re.each(function(xe,he){xe.page=Ue[he],xe.scrollY=qe}),re.attr("transform",function(xe){var he=K(xe.rowBlocks,xe.page)-xe.scrollY;return r(0,he)}),Q&&(ee(Q,ce,re,Ue,me.prevPages,me,0),ee(Q,ce,re,Ue,me.prevPages,me,1),o(ce,Q))}}function Y(Q,re,ce,me){return function(Ae){var Se=Ae.calcdata?Ae.calcdata:Ae,Ce=re.filter(function(he){return Se.key===he.key}),qe=ce||Se.scrollbarState.dragMultiplier,Ue=Se.scrollY;Se.scrollY=me===void 0?Se.scrollY+qe*v.event.dy:me;var xe=Ce.selectAll("."+u.cn.yColumn).selectAll("."+u.cn.columnBlock).filter(D);return q(Q,xe,Ce),Se.scrollY===Ue}}function ee(Q,re,ce,me,ye,Ae,Se){var Ce=me[Se]!==ye[Se];Ce&&(clearTimeout(Ae.currentRepaint[Se]),Ae.currentRepaint[Se]=setTimeout(function(){var qe=ce.filter(function(Ue,xe){return xe===Se&&me[xe]!==ye[xe]});x(Q,re,qe,ce),ye[Se]=me[Se]}))}function te(Q,re,ce,me){return function(){var Ae=v.select(re.parentNode);Ae.each(function(Se){var Ce=Se.fragments;Ae.selectAll("tspan.line").each(function(be,Fe){Ce[Fe].width=this.getComputedTextLength()});var qe=Ce[Ce.length-1].width,Ue=Ce.slice(0,-1),xe=[],he,oe,le=0,ne=Se.column.columnWidth-2*u.cellPad;for(Se.value="";Ue.length;)he=Ue.shift(),oe=he.width+qe,le+oe>ne&&(Se.value+=xe.join(u.wrapSpacer)+u.lineBreaker,xe=[],le=0),xe.push(he.text),le+=oe;le&&(Se.value+=xe.join(u.wrapSpacer)),Se.wrapped=!0}),Ae.selectAll("tspan.line").remove(),_(Ae.select("."+u.cn.cellText),ce,Q,me),v.select(re.parentNode.parentNode).call(H)}}function ae(Q,re,ce,me,ye){return function(){if(!ye.settledY){var Se=v.select(re.parentNode),Ce=X(ye),qe=ye.key-Ce.firstRowIndex,Ue=Ce.rows[qe].rowHeight,xe=ye.cellHeightMayIncrease?re.parentNode.getBoundingClientRect().height+2*u.cellPad:Ue,he=Math.max(xe,Ue),oe=he-Ce.rows[qe].rowHeight;oe&&(Ce.rows[qe].rowHeight=he,Q.selectAll("."+u.cn.columnCell).call(H),q(null,Q.filter(D),0),o(ce,me,!0)),Se.attr("transform",function(){var le=this,ne=le.parentNode,be=ne.getBoundingClientRect(),Fe=v.select(le.parentNode).select("."+u.cn.cellRect).node().getBoundingClientRect(),Ve=le.transform.baseVal.consolidate(),je=Fe.top-be.top+(Ve?Ve.matrix.f:u.cellPad);return r(U(ye,v.select(le.parentNode).select("."+u.cn.cellTextHolder).node().getBoundingClientRect().width),je)}),ye.settledY=!0}}}function U(Q,re){switch(Q.align){case"left":return u.cellPad;case"right":return Q.column.columnWidth-(re||0)-u.cellPad;case"center":return(Q.column.columnWidth-(re||0))/2;default:return u.cellPad}}function H(Q){Q.attr("transform",function(re){var ce=re.rowBlocks[0].auxiliaryBlocks.reduce(function(Se,Ce){return Se+V(Ce,1/0)},0),me=X(re),ye=V(me,re.key),Ae=ye+ce;return r(0,Ae)}).selectAll("."+u.cn.cellRect).attr("height",function(re){return Z(X(re),re.key).rowHeight})}function K(Q,re){for(var ce=0,me=re-1;me>=0;me--)ce+=$(Q[me]);return ce}function V(Q,re){for(var ce=0,me=0;meS.length&&(w=w.slice(0,S.length)):w=[],e=0;e90&&(f-=180,n=-n),{angle:f,flip:n,p:v.c2p(l,w,S),offsetMultplier:i}}}}),aq=De({"src/traces/carpet/plot.js"(j,N){"use strict";var u=Qn(),v=Ki(),w=C6(),S=L6(),l=rq(),e=Xs(),t=Ar(),a=t.strRotate,r=t.strTranslate,n=yc();N.exports=function(x,M,T,E){var g=x._context.staticPlot,A=M.xaxis,m=M.yaxis,h=x._fullLayout,b=h._clips;t.makeTraceGroups(E,T,"trace").each(function(_){var I=u.select(this),C=_[0],F=C.trace,R=F.aaxis,z=F.baxis,D=t.ensureSingle(I,"g","minorlayer"),k=t.ensureSingle(I,"g","majorlayer"),B=t.ensureSingle(I,"g","boundarylayer"),O=t.ensureSingle(I,"g","labellayer");I.style("opacity",F.opacity),s(A,m,k,R,"a",R._gridlines,!0,g),s(A,m,k,z,"b",z._gridlines,!0,g),s(A,m,D,R,"a",R._minorgridlines,!0,g),s(A,m,D,z,"b",z._minorgridlines,!0,g),s(A,m,B,R,"a-boundary",R._boundarylines,g),s(A,m,B,z,"b-boundary",z._boundarylines,g);var q=c(x,A,m,F,C,O,R._labels,"a-label"),Y=c(x,A,m,F,C,O,z._labels,"b-label");p(x,O,F,C,A,m,q,Y),i(F,C,b,A,m)})};function i(o,x,M,T,E){var g,A,m,h,b=M.select("#"+o._clipPathId);b.size()||(b=M.append("clipPath").classed("carpetclip",!0));var _=t.ensureSingle(b,"path","carpetboundary"),I=x.clipsegments,C=[];for(h=0;h0?"start":"end","data-notex":1}).call(v.font,I.font).text(I.text).call(e.convertToTspans,o),k=v.bBox(this);D.attr("transform",r(F.p[0],F.p[1])+a(F.angle)+r(I.axis.labelpadding*z,k.height*.3)),b=Math.max(b,k.width+I.axis.labelpadding)}),h.exit().remove(),_.maxExtent=b,_}function p(o,x,M,T,E,g,A,m){var h,b,_,I,C=t.aggNums(Math.min,null,M.a),F=t.aggNums(Math.max,null,M.a),R=t.aggNums(Math.min,null,M.b),z=t.aggNums(Math.max,null,M.b);h=.5*(C+F),b=R,_=M.ab2xy(h,b,!0),I=M.dxyda_rough(h,b),A.angle===void 0&&t.extendFlat(A,l(M,E,g,_,M.dxydb_rough(h,b))),y(o,x,M,T,_,I,M.aaxis,E,g,A,"a-title"),h=C,b=.5*(R+z),_=M.ab2xy(h,b,!0),I=M.dxydb_rough(h,b),m.angle===void 0&&t.extendFlat(m,l(M,E,g,_,M.dxyda_rough(h,b))),y(o,x,M,T,_,I,M.baxis,E,g,m,"b-title")}var f=n.LINE_SPACING,d=(1-n.MID_SHIFT)/f+1;function y(o,x,M,T,E,g,A,m,h,b,_){var I=[];A.title.text&&I.push(A.title.text);var C=x.selectAll("text."+_).data(I),F=b.maxExtent;C.enter().append("text").classed(_,!0),C.each(function(){var R=l(M,m,h,E,g);["start","both"].indexOf(A.showticklabels)===-1&&(F=0);var z=A.title.font.size;F+=z+A.title.offset;var D=b.angle+(b.flip<0?180:0),k=(D-R.angle+450)%360,B=k>90&&k<270,O=u.select(this);O.text(A.title.text).call(e.convertToTspans,o),B&&(F=(-e.lineCount(O)+d)*f*z-F),O.attr("transform",r(R.p[0],R.p[1])+a(R.angle)+r(0,F)).attr("text-anchor","middle").call(v.font,A.title.font)}),C.exit().remove()}}}),nq=De({"src/traces/carpet/cheater_basis.js"(j,N){"use strict";var u=Ar().isArrayOrTypedArray;N.exports=function(v,w,S){var l,e,t,a,r,n,i=[],s=u(v)?v.length:v,c=u(w)?w.length:w,p=u(v)?v:null,f=u(w)?w:null;p&&(t=(p.length-1)/(p[p.length-1]-p[0])/(s-1)),f&&(a=(f.length-1)/(f[f.length-1]-f[0])/(c-1));var d,y=1/0,o=-1/0;for(e=0;e=10)return null;for(var l=1/0,e=-1/0,t=w.length,a=0;a0&&(V=S.dxydi([],q-1,ee,0,te),Q.push(ae[0]+V[0]/3),re.push(ae[1]+V[1]/3),$=S.dxydi([],q-1,ee,1,te),Q.push(K[0]-$[0]/3),re.push(K[1]-$[1]/3)),Q.push(K[0]),re.push(K[1]),ae=K;else for(q=S.a2i(O),U=Math.floor(Math.max(0,Math.min(R-2,q))),H=q-U,ce.length=R,ce.crossLength=z,ce.xy=function(me){return S.evalxy([],q,me)},ce.dxy=function(me,ye){return S.dxydj([],U,me,H,ye)},Y=0;Y0&&(X=S.dxydj([],U,Y-1,H,0),Q.push(ae[0]+X[0]/3),re.push(ae[1]+X[1]/3),Z=S.dxydj([],U,Y-1,H,1),Q.push(K[0]-Z[0]/3),re.push(K[1]-Z[1]/3)),Q.push(K[0]),re.push(K[1]),ae=K;return ce.axisLetter=l,ce.axis=E,ce.crossAxis=b,ce.value=O,ce.constvar=e,ce.index=p,ce.x=Q,ce.y=re,ce.smoothing=b.smoothing,ce}function B(O){var q,Y,ee,te,ae,U=[],H=[],K={};if(K.length=T.length,K.crossLength=h.length,l==="b")for(ee=Math.max(0,Math.min(z-2,O)),ae=Math.min(1,Math.max(0,O-ee)),K.xy=function(V){return S.evalxy([],V,O)},K.dxy=function(V,$){return S.dxydi([],V,ee,$,ae)},q=0;qT.length-1)&&g.push(v(B(a),{color:E.gridcolor,width:E.gridwidth,dash:E.griddash}));for(p=s;pT.length-1)&&!(y<0||y>T.length-1))for(o=T[r],x=T[y],t=0;tT[T.length-1])&&A.push(v(k(d),{color:E.minorgridcolor,width:E.minorgridwidth,dash:E.minorgriddash})));E.startline&&m.push(v(B(0),{color:E.startlinecolor,width:E.startlinewidth})),E.endline&&m.push(v(B(T.length-1),{color:E.endlinecolor,width:E.endlinewidth}))}else{for(n=5e-15,i=[Math.floor((T[T.length-1]-E.tick0)/E.dtick*(1+n)),Math.ceil((T[0]-E.tick0)/E.dtick/(1+n))].sort(function(O,q){return O-q}),s=i[0],c=i[1],p=s;p<=c;p++)f=E.tick0+E.dtick*p,g.push(v(k(f),{color:E.gridcolor,width:E.gridwidth,dash:E.griddash}));for(p=s-1;pT[T.length-1])&&A.push(v(k(d),{color:E.minorgridcolor,width:E.minorgridwidth,dash:E.minorgriddash}));E.startline&&m.push(v(k(T[0]),{color:E.startlinecolor,width:E.startlinewidth})),E.endline&&m.push(v(k(T[T.length-1]),{color:E.endlinecolor,width:E.endlinewidth}))}}}}),sq=De({"src/traces/carpet/calc_labels.js"(j,N){"use strict";var u=Vi(),v=Ji().extendFlat;N.exports=function(S,l){var e,t,a,r,n,i=l._labels=[],s=l._gridlines;for(e=0;e=0;e--)t[s-e]=v[c][e],a[s-e]=w[c][e];for(r.push({x:t,y:a,bicubic:n}),e=c,t=[],a=[];e>=0;e--)t[c-e]=v[e][0],a[c-e]=w[e][0];return r.push({x:t,y:a,bicubic:i}),r}}}),uq=De({"src/traces/carpet/smooth_fill_2d_array.js"(j,N){"use strict";var u=Ar();N.exports=function(w,S,l){var e,t,a,r=[],n=[],i=w[0].length,s=w.length;function c(Y,ee){var te=0,ae,U=0;return Y>0&&(ae=w[ee][Y-1])!==void 0&&(U++,te+=ae),Y0&&(ae=w[ee-1][Y])!==void 0&&(U++,te+=ae),ee0&&t0&&eh);return u.log("Smoother converged to",b,"after",I,"iterations"),w}}}),cq=De({"src/traces/carpet/constants.js"(j,N){"use strict";N.exports={RELATIVE_CULL_TOLERANCE:1e-6}}}),fq=De({"src/traces/carpet/catmull_rom.js"(j,N){"use strict";var u=.5;N.exports=function(w,S,l,e){var t=w[0]-S[0],a=w[1]-S[1],r=l[0]-S[0],n=l[1]-S[1],i=Math.pow(t*t+a*a,u/2),s=Math.pow(r*r+n*n,u/2),c=(s*s*t-i*i*r)*e,p=(s*s*a-i*i*n)*e,f=s*(i+s)*3,d=i*(i+s)*3;return[[S[0]+(f&&c/f),S[1]+(f&&p/f)],[S[0]-(d&&c/d),S[1]-(d&&p/d)]]}}}),hq=De({"src/traces/carpet/compute_control_points.js"(j,N){"use strict";var u=fq(),v=Ar().ensureArray;function w(S,l,e){var t=-.5*e[0]+1.5*l[0],a=-.5*e[1]+1.5*l[1];return[(2*t+S[0])/3,(2*a+S[1])/3]}N.exports=function(l,e,t,a,r,n){var i,s,c,p,f,d,y,o,x,M,T=t[0].length,E=t.length,g=r?3*T-2:T,A=n?3*E-2:E;for(l=v(l,A),e=v(e,A),c=0;cf&&gy&&Ad||Ao},a.setScale=function(){var g=a._x,A=a._y,m=w(a._xctrl,a._yctrl,g,A,c.smoothing,p.smoothing);a._xctrl=m[0],a._yctrl=m[1],a.evalxy=S([a._xctrl,a._yctrl],i,s,c.smoothing,p.smoothing),a.dxydi=l([a._xctrl,a._yctrl],c.smoothing,p.smoothing),a.dxydj=e([a._xctrl,a._yctrl],c.smoothing,p.smoothing)},a.i2a=function(g){var A=Math.max(0,Math.floor(g[0]),i-2),m=g[0]-A;return(1-m)*r[A]+m*r[A+1]},a.j2b=function(g){var A=Math.max(0,Math.floor(g[1]),i-2),m=g[1]-A;return(1-m)*n[A]+m*n[A+1]},a.ij2ab=function(g){return[a.i2a(g[0]),a.j2b(g[1])]},a.a2i=function(g){var A=Math.max(0,Math.min(v(g,r),i-2)),m=r[A],h=r[A+1];return Math.max(0,Math.min(i-1,A+(g-m)/(h-m)))},a.b2j=function(g){var A=Math.max(0,Math.min(v(g,n),s-2)),m=n[A],h=n[A+1];return Math.max(0,Math.min(s-1,A+(g-m)/(h-m)))},a.ab2ij=function(g){return[a.a2i(g[0]),a.b2j(g[1])]},a.i2c=function(g,A){return a.evalxy([],g,A)},a.ab2xy=function(g,A,m){if(!m&&(gr[i-1]|An[s-1]))return[!1,!1];var h=a.a2i(g),b=a.b2j(A),_=a.evalxy([],h,b);if(m){var I=0,C=0,F=[],R,z,D,k;gr[i-1]?(R=i-2,z=1,I=(g-r[i-1])/(r[i-1]-r[i-2])):(R=Math.max(0,Math.min(i-2,Math.floor(h))),z=h-R),An[s-1]?(D=s-2,k=1,C=(A-n[s-1])/(n[s-1]-n[s-2])):(D=Math.max(0,Math.min(s-2,Math.floor(b))),k=b-D),I&&(a.dxydi(F,R,D,z,k),_[0]+=F[0]*I,_[1]+=F[1]*I),C&&(a.dxydj(F,R,D,z,k),_[0]+=F[0]*C,_[1]+=F[1]*C)}return _},a.c2p=function(g,A,m){return[A.c2p(g[0]),m.c2p(g[1])]},a.p2x=function(g,A,m){return[A.p2c(g[0]),m.p2c(g[1])]},a.dadi=function(g){var A=Math.max(0,Math.min(r.length-2,g));return r[A+1]-r[A]},a.dbdj=function(g){var A=Math.max(0,Math.min(n.length-2,g));return n[A+1]-n[A]},a.dxyda=function(g,A,m,h){var b=a.dxydi(null,g,A,m,h),_=a.dadi(g,m);return[b[0]/_,b[1]/_]},a.dxydb=function(g,A,m,h){var b=a.dxydj(null,g,A,m,h),_=a.dbdj(A,h);return[b[0]/_,b[1]/_]},a.dxyda_rough=function(g,A,m){var h=x*(m||.1),b=a.ab2xy(g+h,A,!0),_=a.ab2xy(g-h,A,!0);return[(b[0]-_[0])*.5/h,(b[1]-_[1])*.5/h]},a.dxydb_rough=function(g,A,m){var h=M*(m||.1),b=a.ab2xy(g,A+h,!0),_=a.ab2xy(g,A-h,!0);return[(b[0]-_[0])*.5/h,(b[1]-_[1])*.5/h]},a.dpdx=function(g){return g._m},a.dpdy=function(g){return g._m}}}}),gq=De({"src/traces/carpet/calc.js"(j,N){"use strict";var u=Vi(),v=Ar().isArray1D,w=nq(),S=iq(),l=oq(),e=sq(),t=lq(),a=bx(),r=uq(),n=xx(),i=mq();N.exports=function(c,p){var f=u.getFromId(c,p.xaxis),d=u.getFromId(c,p.yaxis),y=p.aaxis,o=p.baxis,x=p.x,M=p.y,T=[];x&&v(x)&&T.push("x"),M&&v(M)&&T.push("y"),T.length&&n(p,y,o,"a","b",T);var E=p._a=p._a||p.a,g=p._b=p._b||p.b;x=p._x||p.x,M=p._y||p.y;var A={};if(p._cheater){var m=y.cheatertype==="index"?E.length:E,h=o.cheatertype==="index"?g.length:g;x=w(m,h,p.cheaterslope)}p._x=x=a(x),p._y=M=a(M),r(x,E,g),r(M,E,g),i(p),p.setScale();var b=S(x),_=S(M),I=.5*(b[1]-b[0]),C=.5*(b[1]+b[0]),F=.5*(_[1]-_[0]),R=.5*(_[1]+_[0]),z=1.3;return b=[C-I*z,C+I*z],_=[R-F*z,R+F*z],p._extremes[f._id]=u.findExtremes(f,b,{padded:!0}),p._extremes[d._id]=u.findExtremes(d,_,{padded:!0}),l(p,"a","b"),l(p,"b","a"),e(p,y),e(p,o),A.clipsegments=t(p._xctrl,p._yctrl,y,o),A.x=x,A.y=M,A.a=E,A.b=g,[A]}}}),yq=De({"src/traces/carpet/index.js"(j,N){"use strict";N.exports={attributes:e2(),supplyDefaults:tq(),plot:aq(),calc:gq(),animatable:!0,isContainer:!0,moduleType:"trace",name:"carpet",basePlotModule:Hu(),categories:["cartesian","svg","carpet","carpetAxis","notLegendIsolatable","noMultiCategory","noHover","noSortingByValue"],meta:{}}}}),_q=De({"lib/carpet.js"(j,N){"use strict";N.exports=yq()}}),P6=De({"src/traces/scattercarpet/attributes.js"(j,N){"use strict";var u=Cd(),v=bu(),w=Bs(),{hovertemplateAttrs:S,texttemplateAttrs:l,templatefallbackAttrs:e}=Is(),t=ul(),a=Ji().extendFlat,r=v.marker,n=v.line,i=r.line;N.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:a({},v.mode,{dflt:"markers"}),text:a({},v.text,{}),texttemplate:l({editType:"plot"},{keys:["a","b","text"]}),texttemplatefallback:e({editType:"plot"}),hovertext:a({},v.hovertext,{}),line:{color:n.color,width:n.width,dash:n.dash,backoff:n.backoff,shape:a({},n.shape,{values:["linear","spline"]}),smoothing:n.smoothing,editType:"calc"},connectgaps:v.connectgaps,fill:a({},v.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:u(),marker:a({symbol:r.symbol,opacity:r.opacity,maxdisplayed:r.maxdisplayed,angle:r.angle,angleref:r.angleref,standoff:r.standoff,size:r.size,sizeref:r.sizeref,sizemin:r.sizemin,sizemode:r.sizemode,line:a({width:i.width,dash:i.dash,editType:"calc"},t("marker.line")),gradient:r.gradient,editType:"calc"},t("marker")),textfont:v.textfont,textposition:v.textposition,selected:v.selected,unselected:v.unselected,hoverinfo:a({},w.hoverinfo,{flags:["a","b","text","name"]}),hoveron:v.hoveron,hovertemplate:S(),hovertemplatefallback:e(),zorder:v.zorder}}}),xq=De({"src/traces/scattercarpet/defaults.js"(j,N){"use strict";var u=Ar(),v=kd(),w=Sl(),S=Jh(),l=cd(),e=pm(),t=fd(),a=Ld(),r=P6();N.exports=function(i,s,c,p){function f(E,g){return u.coerce(i,s,r,E,g)}f("carpet"),s.xaxis="x",s.yaxis="y";var d=f("a"),y=f("b"),o=Math.min(d.length,y.length);if(!o){s.visible=!1;return}s._length=o,f("text"),f("texttemplate"),f("texttemplatefallback"),f("hovertext");var x=o0?A=E.labelprefix.replace(/ = $/,""):A=E._hovertitle,o.push(A+": "+g.toFixed(3)+E.labelsuffix)}if(!f.hovertemplate){var M=p.hi||f.hoverinfo,T=M.split("+");T.indexOf("all")!==-1&&(T=["a","b","text"]),T.indexOf("a")!==-1&&x(d.aaxis,p.a),T.indexOf("b")!==-1&&x(d.baxis,p.b),o.push("y: "+r.yLabel),T.indexOf("text")!==-1&&v(p,f,o),r.extraText=o.join("
")}return a}}}),Mq=De({"src/traces/scattercarpet/event_data.js"(j,N){"use strict";N.exports=function(v,w,S,l,e){var t=l[e];return v.a=t.a,v.b=t.b,v.y=t.y,v}}}),Sq=De({"src/traces/scattercarpet/index.js"(j,N){"use strict";N.exports={attributes:P6(),supplyDefaults:xq(),colorbar:Nf(),formatLabels:bq(),calc:wq(),plot:Aq(),style:bh().style,styleOnSelect:bh().styleOnSelect,hoverPoints:Tq(),selectPoints:Pp(),eventData:Mq(),moduleType:"trace",name:"scattercarpet",basePlotModule:Hu(),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}}}),Eq=De({"lib/scattercarpet.js"(j,N){"use strict";N.exports=Sq()}}),R6=De({"src/traces/contourcarpet/attributes.js"(j,N){"use strict";var u=bm(),v=j1(),w=ul(),S=Ji().extendFlat,l=v.contours;N.exports=S({carpet:{valType:"string",editType:"calc"},z:u.z,a:u.x,a0:u.x0,da:u.dx,b:u.y,b0:u.y0,db:u.dy,text:u.text,hovertext:u.hovertext,transpose:u.transpose,atype:u.xtype,btype:u.ytype,fillcolor:v.fillcolor,autocontour:v.autocontour,ncontours:v.ncontours,contours:{type:l.type,start:l.start,end:l.end,size:l.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:l.showlines,showlabels:l.showlabels,labelfont:l.labelfont,labelformat:l.labelformat,operation:l.operation,value:l.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:v.line.color,width:v.line.width,dash:v.line.dash,smoothing:v.line.smoothing,editType:"plot"},zorder:v.zorder},w("",{cLetter:"z",autoColorDflt:!1}))}}),I6=De({"src/traces/contourcarpet/defaults.js"(j,N){"use strict";var u=Ar(),v=_x(),w=R6(),S=$w(),l=Ix(),e=Dx();N.exports=function(a,r,n,i){function s(d,y){return u.coerce(a,r,w,d,y)}function c(d){return u.coerce2(a,r,w,d)}if(s("carpet"),a.a&&a.b){var p=v(a,r,s,i,"a","b");if(!p){r.visible=!1;return}s("text");var f=s("contours.type")==="constraint";f?S(a,r,s,i,n,{hasHover:!1}):(l(a,r,s,c),e(a,r,s,i,{hasHover:!1}))}else r._defaultColor=n,r._length=null;s("zorder")}}}),kq=De({"src/traces/contourcarpet/calc.js"(j,N){"use strict";var u=Wf(),v=Ar(),w=xx(),S=bx(),l=wx(),e=Ax(),t=Dw(),a=I6(),r=t2(),n=Uw();N.exports=function(c,p){var f=p._carpetTrace=r(c,p);if(!(!f||!f.visible||f.visible==="legendonly")){if(!p.a||!p.b){var d=c.data[f.index],y=c.data[p.index];y.a||(y.a=d.a),y.b||(y.b=d.b),a(y,p,p._defaultColor,c._fullLayout)}var o=i(c,p);return n(p,p._z),o}};function i(s,c){var p=c._carpetTrace,f=p.aaxis,d=p.baxis,y,o,x,M,T,E,g;f._minDtick=0,d._minDtick=0,v.isArray1D(c.z)&&w(c,f,d,"a","b",["z"]),y=c._a=c._a||c.a,M=c._b=c._b||c.b,y=y?f.makeCalcdata(c,"_a"):[],M=M?d.makeCalcdata(c,"_b"):[],o=c.a0||0,x=c.da||1,T=c.b0||0,E=c.db||1,g=c._z=S(c._z||c.z,c.transpose),c._emptypoints=e(g),l(g,c._emptypoints);var A=v.maxRowLength(g),m=c.xtype==="scaled"?"":y,h=t(c,m,o,x,A,f),b=c.ytype==="scaled"?"":M,_=t(c,b,T,E,g.length,d),I={a:h,b:_,z:g};return c.contours.type==="levels"&&c.contours.coloring!=="none"&&u(s,c,{vals:g,containerStr:"",cLetter:"z"}),[I]}}}),Cq=De({"src/traces/carpet/axis_aligned_line.js"(j,N){"use strict";var u=Ar().isArrayOrTypedArray;N.exports=function(v,w,S,l){var e,t,a,r,n,i,s,c,p,f,d,y,o,x=u(S)?"a":"b",M=x==="a"?v.aaxis:v.baxis,T=M.smoothing,E=x==="a"?v.a2i:v.b2j,g=x==="a"?S:l,A=x==="a"?l:S,m=x==="a"?w.a.length:w.b.length,h=x==="a"?w.b.length:w.a.length,b=Math.floor(x==="a"?v.b2j(A):v.a2i(A)),_=x==="a"?function(ee){return v.evalxy([],ee,b)}:function(ee){return v.evalxy([],b,ee)};T&&(a=Math.max(0,Math.min(h-2,b)),r=b-a,t=x==="a"?function(ee,te){return v.dxydi([],ee,a,te,r)}:function(ee,te){return v.dxydj([],a,ee,r,te)});var I=E(g[0]),C=E(g[1]),F=I0?Math.floor:Math.ceil,D=F>0?Math.ceil:Math.floor,k=F>0?Math.min:Math.max,B=F>0?Math.max:Math.min,O=z(I+R),q=D(C-R);s=_(I);var Y=[[s]];for(e=O;e*F=0;ce--)Z=B.clipsegments[ce],Q=v([],Z.x,I.c2p),re=v([],Z.y,C.c2p),Q.reverse(),re.reverse(),me.push(w(Q,re,Z.bicubic));var ye="M"+me.join("L")+"Z";T(R,B.clipsegments,I,C,te,U),E(D,R,I,C,X,K,H,k,B,U,ye),d(R,ee,m,z,Y,h,k),S.setClipUrl(R,k._clipPathId,m)})};function f(A,m){var h,b,_,I,C,F,R,z,D;for(h=0;hee&&(b.max=ee),b.len=b.max-b.min}function o(A,m,h){var b=A.getPointAtLength(m),_=A.getPointAtLength(h),I=_.x-b.x,C=_.y-b.y,F=Math.sqrt(I*I+C*C);return[I/F,C/F]}function x(A){var m=Math.sqrt(A[0]*A[0]+A[1]*A[1]);return[A[0]/m,A[1]/m]}function M(A,m){var h=Math.abs(A[0]*m[0]+A[1]*m[1]),b=Math.sqrt(1-h*h);return b/h}function T(A,m,h,b,_,I){var C,F,R,z,D=l.ensureSingle(A,"g","contourbg"),k=D.selectAll("path").data(I==="fill"&&!_?[0]:[]);k.enter().append("path"),k.exit().remove();var B=[];for(z=0;z=0&&(O=Q,Y=ee):Math.abs(B[1]-O[1])=0&&(O=Q,Y=ee):l.log("endpt to newendpt is not vert. or horz.",B,O,Q)}if(Y>=0)break;z+=X(B,O),B=O}if(Y===m.edgepaths.length){l.log("unclosed perimeter path");break}R=Y,k=D.indexOf(R)===-1,k&&(R=D[0],z+=X(B,O)+"Z",B=null)}for(R=0;Rg):E=F>_,g=F;var R=f(_,I,C,F);R.pos=b,R.yc=(_+F)/2,R.i=h,R.dir=E?"increasing":"decreasing",R.x=R.pos,R.y=[C,I],A&&(R.orig_p=s[h]),M&&(R.tx=i.text[h]),T&&(R.htx=i.hovertext[h]),m.push(R)}else m.push({pos:b,empty:!0})}return i._extremes[p._id]=w.findExtremes(p,u.concat(o,y),{padded:!0}),m.length&&(m[0].t={labels:{open:v(n,"open:")+" ",high:v(n,"high:")+" ",low:v(n,"low:")+" ",close:v(n,"close:")+" "}}),m}function r(n,i,s){var c=s._minDiff;if(!c){var p=n._fullData,f=[];c=1/0;var d;for(d=0;d"+x.labels[b]+u.hoverLabelText(y,_,o.yhoverformat)):(C=v.extendFlat({},T),C.y0=C.y1=I,C.yLabelVal=_,C.yLabel=x.labels[b]+u.hoverLabelText(y,_,o.yhoverformat),C.name="",M.push(C),m[_]=C)}return M}function i(s,c,p,f){var d=s.cd,y=s.ya,o=d[0].trace,x=d[0].t,M=r(s,c,p,f);if(!M)return[];var T=M.index,E=d[T],g=M.index=E.i,A=E.dir;function m(R){return x.labels[R]+u.hoverLabelText(y,o[R][g],o.yhoverformat)}var h=E.hi||o.hoverinfo||"",b=h.split("+"),_=h==="all",I=_||b.indexOf("y")!==-1,C=_||b.indexOf("text")!==-1,F=I?[m("open"),m("high"),m("low"),m("close")+" "+t[A]]:[];return C&&l(E,o,F),M.extraText=F.join("
"),M.y0=M.y1=y.c2p(E.yc,!0),[M]}N.exports={hoverPoints:a,hoverSplit:n,hoverOnPoints:i}}}),B6=De({"src/traces/ohlc/select.js"(j,N){"use strict";N.exports=function(v,w){var S=v.cd,l=v.xaxis,e=v.yaxis,t=[],a,r=S[0].t.bPos||0;if(w===!1)for(a=0;ac?function(o){return o<=0}:function(o){return o>=0};r.c2g=function(o){var x=r.c2l(o)-s;return(y(x)?x:0)+d},r.g2c=function(o){return r.l2c(o+s-d)},r.g2p=function(o){return o*f},r.c2p=function(o){return r.g2p(r.c2g(o))}}}function e(r,n){return n==="degrees"?w(r):r}function t(r,n){return n==="degrees"?S(r):r}function a(r,n){var i=r.type;if(i==="linear"){var s=r.d2c,c=r.c2d;r.d2c=function(p,f){return e(s(p),f)},r.c2d=function(p,f){return c(t(p,f))}}r.makeCalcdata=function(p,f){var d=p[f],y=p._length,o,x,M=function(m){return r.d2c(m,p.thetaunit)};if(d)for(o=new Array(y),x=0;x0?m:1/0},E=w(M,T),g=u.mod(E+1,M.length);return[M[E],M[g]]}function f(x){return Math.abs(x)>1e-10?x:0}function d(x,M,T){M=M||0,T=T||0;for(var E=x.length,g=new Array(E),A=0;A0?1:0}function v(t){var a=t[0],r=t[1];if(!isFinite(a)||!isFinite(r))return[1,0];var n=(a+1)*(a+1)+r*r;return[(a*a+r*r-1)/n,2*r/n]}function w(t,a){var r=a[0],n=a[1];return[r*t.radius+t.cx,-n*t.radius+t.cy]}function S(t,a){return a*t.radius}function l(t,a,r,n){var i=w(t,v([r,a])),s=i[0],c=i[1],p=w(t,v([n,a])),f=p[0],d=p[1];if(a===0)return["M"+s+","+c,"L"+f+","+d].join(" ");var y=S(t,1/Math.abs(a));return["M"+s+","+c,"A"+y+","+y+" 0 0,"+(a<0?1:0)+" "+f+","+d].join(" ")}function e(t,a,r,n){var i=S(t,1/(a+1)),s=w(t,v([a,r])),c=s[0],p=s[1],f=w(t,v([a,n])),d=f[0],y=f[1];if(u(r)!==u(n)){var o=w(t,v([a,0])),x=o[0],M=o[1];return["M"+c+","+p,"A"+i+","+i+" 0 0,"+(0Ce?(qe=Q,Ue=Q*Ce,oe=(re-Ue)/K.h/2,xe=[X[0],X[1]],he=[Z[0]+oe,Z[1]-oe]):(qe=re/Ce,Ue=re,oe=(Q-qe)/K.w/2,xe=[X[0]+oe,X[1]-oe],he=[Z[0],Z[1]]),U.xLength2=qe,U.yLength2=Ue,U.xDomain2=xe,U.yDomain2=he;var le=U.xOffset2=K.l+K.w*xe[0],ne=U.yOffset2=K.t+K.h*(1-he[1]),be=U.radius=qe/ye,Fe=U.innerRadius=U.getHole(ae)*be,Ve=U.cx=le-be*me[0],je=U.cy=ne+be*me[3],ut=U.cxx=Ve-le,st=U.cyy=je-ne,yt=V.side,At;yt==="counterclockwise"?(At=yt,yt="top"):yt==="clockwise"&&(At=yt,yt="bottom"),U.radialAxis=U.mockAxis(te,ae,V,{_id:"x",side:yt,_trueSide:At,domain:[Fe/K.w,be/K.w]}),U.angularAxis=U.mockAxis(te,ae,$,{side:"right",domain:[0,Math.PI],autorange:!1}),U.doAutoRange(te,ae),U.updateAngularAxis(te,ae),U.updateRadialAxis(te,ae),U.updateRadialAxisTitle(te,ae),U.xaxis=U.mockCartesianAxis(te,ae,{_id:"x",domain:xe}),U.yaxis=U.mockCartesianAxis(te,ae,{_id:"y",domain:he});var Pt=U.pathSubplot();U.clipPaths.forTraces.select("path").attr("d",Pt).attr("transform",l(ut,st)),H.frontplot.attr("transform",l(le,ne)).call(t.setClipUrl,U._hasClipOnAxisFalse?null:U.clipIds.forTraces,U.gd),H.bg.attr("d",Pt).attr("transform",l(Ve,je)).call(e.fill,ae.bgcolor)},B.mockAxis=function(te,ae,U,H){var K=w.extendFlat({},U,H);return i(K,ae,te),K},B.mockCartesianAxis=function(te,ae,U){var H=this,K=H.isSmith,V=U._id,$=w.extendFlat({type:"linear"},U);n($,te);var X={x:[0,2],y:[1,3]};return $.setRange=function(){var Z=H.sectorBBox,Q=X[V],re=H.radialAxis._rl,ce=(re[1]-re[0])/(1-H.getHole(ae));$.range=[Z[Q[0]]*ce,Z[Q[1]]*ce]},$.isPtWithinRange=V==="x"&&!K?function(Z){return H.isPtInside(Z)}:function(){return!0},$.setRange(),$.setScale(),$},B.doAutoRange=function(te,ae){var U=this,H=U.gd,K=U.radialAxis,V=U.getRadial(ae);s(H,K);var $=K.range;if(V.range=$.slice(),V._input.range=$.slice(),K._rl=[K.r2l($[0],null,"gregorian"),K.r2l($[1],null,"gregorian")],K.minallowed!==void 0){var X=K.r2l(K.minallowed);K._rl[0]>K._rl[1]?K._rl[1]=Math.max(K._rl[1],X):K._rl[0]=Math.max(K._rl[0],X)}if(K.maxallowed!==void 0){var Z=K.r2l(K.maxallowed);K._rl[0]90&&re<=270&&(ce.tickangle=180);var Ae=ye?function(be){var Fe=C(U,b([be.x,0]));return l(Fe[0]-X,Fe[1]-Z)}:function(be){return l(ce.l2p(be.x)+$,0)},Se=ye?function(be){return I(U,be.x,-1/0,1/0)}:function(be){return U.pathArc(ce.r2p(be.x)+$)},Ce=O(Q);if(U.radialTickLayout!==Ce&&(K["radial-axis"].selectAll(".xtick").remove(),U.radialTickLayout=Ce),me){ce.setScale();var qe=0,Ue=ye?(ce.tickvals||[]).filter(function(be){return be>=0}).map(function(be){return r.tickText(ce,be,!0,!1)}):r.calcTicks(ce),xe=ye?Ue:r.clipEnds(ce,Ue),he=r.getTickSigns(ce)[2];ye&&((ce.ticks==="top"&&ce.side==="bottom"||ce.ticks==="bottom"&&ce.side==="top")&&(he=-he),ce.ticks==="top"&&ce.side==="top"&&(qe=-ce.ticklen),ce.ticks==="bottom"&&ce.side==="bottom"&&(qe=ce.ticklen)),r.drawTicks(H,ce,{vals:Ue,layer:K["radial-axis"],path:r.makeTickPath(ce,0,he),transFn:Ae,crisp:!1}),r.drawGrid(H,ce,{vals:xe,layer:K["radial-grid"],path:Se,transFn:w.noop,crisp:!1}),r.drawLabels(H,ce,{vals:Ue,layer:K["radial-axis"],transFn:Ae,labelFns:r.makeLabelFns(ce,qe)})}var oe=U.radialAxisAngle=U.vangles?D(Y(z(Q.angle),U.vangles)):Q.angle,le=l(X,Z),ne=le+S(-oe);ee(K["radial-axis"],me&&(Q.showticklabels||Q.ticks),{transform:ne}),ee(K["radial-grid"],me&&Q.showgrid,{transform:ye?"":le}),ee(K["radial-line"].select("line"),me&&Q.showline,{x1:ye?-V:$,y1:0,x2:V,y2:0,transform:ne}).attr("stroke-width",Q.linewidth).call(e.stroke,Q.linecolor)},B.updateRadialAxisTitle=function(te,ae,U){if(!this.isSmith){var H=this,K=H.gd,V=H.radius,$=H.cx,X=H.cy,Z=H.getRadial(ae),Q=H.id+"title",re=0;if(Z.title){var ce=t.bBox(H.layers["radial-axis"].node()).height,me=Z.title.font.size,ye=Z.side;re=ye==="top"?me:ye==="counterclockwise"?-(ce+me*.4):ce+me*.8}var Ae=U!==void 0?U:H.radialAxisAngle,Se=z(Ae),Ce=Math.cos(Se),qe=Math.sin(Se),Ue=$+V/2*Ce+re*qe,xe=X-V/2*qe+re*Ce;H.layers["radial-axis-title"]=d.draw(K,Q,{propContainer:Z,propName:H.id+".radialaxis.title.text",placeholder:F(K,"Click to enter radial axis title"),attributes:{x:Ue,y:xe,"text-anchor":"middle"},transform:{rotate:-Ae}})}},B.updateAngularAxis=function(te,ae){var U=this,H=U.gd,K=U.layers,V=U.radius,$=U.innerRadius,X=U.cx,Z=U.cy,Q=U.getAngular(ae),re=U.angularAxis,ce=U.isSmith;ce||(U.fillViewInitialKey("angularaxis.rotation",Q.rotation),re.setGeometry(),re.setScale());var me=ce?function(Fe){var Ve=C(U,b([0,Fe.x]));return Math.atan2(Ve[0]-X,Ve[1]-Z)-Math.PI/2}:function(Fe){return re.t2g(Fe.x)};re.type==="linear"&&re.thetaunit==="radians"&&(re.tick0=D(re.tick0),re.dtick=D(re.dtick));var ye=function(Fe){return l(X+V*Math.cos(Fe),Z-V*Math.sin(Fe))},Ae=ce?function(Fe){var Ve=C(U,b([0,Fe.x]));return l(Ve[0],Ve[1])}:function(Fe){return ye(me(Fe))},Se=ce?function(Fe){var Ve=C(U,b([0,Fe.x])),je=Math.atan2(Ve[0]-X,Ve[1]-Z)-Math.PI/2;return l(Ve[0],Ve[1])+S(-D(je))}:function(Fe){var Ve=me(Fe);return ye(Ve)+S(-D(Ve))},Ce=ce?function(Fe){return _(U,Fe.x,0,1/0)}:function(Fe){var Ve=me(Fe),je=Math.cos(Ve),ut=Math.sin(Ve);return"M"+[X+$*je,Z-$*ut]+"L"+[X+V*je,Z-V*ut]},qe=r.makeLabelFns(re,0),Ue=qe.labelStandoff,xe={};xe.xFn=function(Fe){var Ve=me(Fe);return Math.cos(Ve)*Ue},xe.yFn=function(Fe){var Ve=me(Fe),je=Math.sin(Ve)>0?.2:1;return-Math.sin(Ve)*(Ue+Fe.fontSize*je)+Math.abs(Math.cos(Ve))*(Fe.fontSize*g)},xe.anchorFn=function(Fe){var Ve=me(Fe),je=Math.cos(Ve);return Math.abs(je)<.1?"middle":je>0?"start":"end"},xe.heightFn=function(Fe,Ve,je){var ut=me(Fe);return-.5*(1+Math.sin(ut))*je};var he=O(Q);U.angularTickLayout!==he&&(K["angular-axis"].selectAll("."+re._id+"tick").remove(),U.angularTickLayout=he);var oe=ce?[1/0].concat(re.tickvals||[]).map(function(Fe){return r.tickText(re,Fe,!0,!1)}):r.calcTicks(re);ce&&(oe[0].text="\u221E",oe[0].fontSize*=1.75);var le;if(ae.gridshape==="linear"?(le=oe.map(me),w.angleDelta(le[0],le[1])<0&&(le=le.slice().reverse())):le=null,U.vangles=le,re.type==="category"&&(oe=oe.filter(function(Fe){return w.isAngleInsideSector(me(Fe),U.sectorInRad)})),re.visible){var ne=re.ticks==="inside"?-1:1,be=(re.linewidth||1)/2;r.drawTicks(H,re,{vals:oe,layer:K["angular-axis"],path:"M"+ne*be+",0h"+ne*re.ticklen,transFn:Se,crisp:!1}),r.drawGrid(H,re,{vals:oe,layer:K["angular-grid"],path:Ce,transFn:w.noop,crisp:!1}),r.drawLabels(H,re,{vals:oe,layer:K["angular-axis"],repositionOnUpdate:!0,transFn:Ae,labelFns:xe})}ee(K["angular-line"].select("path"),Q.showline,{d:U.pathSubplot(),transform:l(X,Z)}).attr("stroke-width",Q.linewidth).call(e.stroke,Q.linecolor)},B.updateFx=function(te,ae){if(!this.gd._context.staticPlot){var U=!this.isSmith;U&&(this.updateAngularDrag(te),this.updateRadialDrag(te,ae,0),this.updateRadialDrag(te,ae,1)),this.updateHoverAndMainDrag(te)}},B.updateHoverAndMainDrag=function(te){var ae=this,U=ae.isSmith,H=ae.gd,K=ae.layers,V=te._zoomlayer,$=A.MINZOOM,X=A.OFFEDGE,Z=ae.radius,Q=ae.innerRadius,re=ae.cx,ce=ae.cy,me=ae.cxx,ye=ae.cyy,Ae=ae.sectorInRad,Se=ae.vangles,Ce=ae.radialAxis,qe=m.clampTiny,Ue=m.findXYatLength,xe=m.findEnclosingVertexAngles,he=A.cornerHalfWidth,oe=A.cornerLen/2,le,ne,be=c.makeDragger(K,"path","maindrag",te.dragmode===!1?"none":"crosshair");u.select(be).attr("d",ae.pathSubplot()).attr("transform",l(re,ce)),be.onmousemove=function(_t){f.hover(H,_t,ae.id),H._fullLayout._lasthover=be,H._fullLayout._hoversubplot=ae.id},be.onmouseout=function(_t){H._dragging||p.unhover(H,_t)};var Fe={element:be,gd:H,subplot:ae.id,plotinfo:{id:ae.id,xaxis:ae.xaxis,yaxis:ae.yaxis},xaxes:[ae.xaxis],yaxes:[ae.yaxis]},Ve,je,ut,st,yt,At,Pt,Zt,vr;function Nt(_t,Ft){return Math.sqrt(_t*_t+Ft*Ft)}function Kt(_t,Ft){return Nt(_t-me,Ft-ye)}function nt(_t,Ft){return Math.atan2(ye-Ft,_t-me)}function Ee(_t,Ft){return[_t*Math.cos(Ft),_t*Math.sin(-Ft)]}function ze(_t,Ft){if(_t===0)return ae.pathSector(2*he);var St=oe/_t,hr=Ft-St,jr=Ft+St,ra=Math.max(0,Math.min(_t,Z)),$r=ra-he,pa=ra+he;return"M"+Ee($r,hr)+"A"+[$r,$r]+" 0,0,0 "+Ee($r,jr)+"L"+Ee(pa,jr)+"A"+[pa,pa]+" 0,0,1 "+Ee(pa,hr)+"Z"}function ve(_t,Ft,St){if(_t===0)return ae.pathSector(2*he);var hr=Ee(_t,Ft),jr=Ee(_t,St),ra=qe((hr[0]+jr[0])/2),$r=qe((hr[1]+jr[1])/2),pa,oa;if(ra&&$r){var aa=$r/ra,ka=-1/aa,Ta=Ue(he,aa,ra,$r);pa=Ue(oe,ka,Ta[0][0],Ta[0][1]),oa=Ue(oe,ka,Ta[1][0],Ta[1][1])}else{var Da,La;$r?(Da=oe,La=he):(Da=he,La=oe),pa=[[ra-Da,$r-La],[ra+Da,$r-La]],oa=[[ra-Da,$r+La],[ra+Da,$r+La]]}return"M"+pa.join("L")+"L"+oa.reverse().join("L")+"Z"}function _e(){ut=null,st=null,yt=ae.pathSubplot(),At=!1;var _t=H._fullLayout[ae.id];Pt=e.color(_t.bgcolor).luminosity(),Zt=c.makeZoombox(V,Pt,re,ce,yt),Zt.attr("fill-rule","evenodd"),vr=c.makeCorners(V,re,ce),x(H)}function Ie(_t,Ft){return Ft=Math.max(Math.min(Ft,Z),Q),_t$?(_t-1&&_t===1&&o(Ft,H,[ae.xaxis],[ae.yaxis],ae.id,Fe),St.indexOf("event")>-1&&f.click(H,Ft,ae.id)}Fe.prepFn=function(_t,Ft,St){var hr=H._fullLayout.dragmode,jr=be.getBoundingClientRect();H._fullLayout._calcInverseTransform(H);var ra=H._fullLayout._invTransform;le=H._fullLayout._invScaleX,ne=H._fullLayout._invScaleY;var $r=w.apply3DTransform(ra)(Ft-jr.left,St-jr.top);if(Ve=$r[0],je=$r[1],Se){var pa=m.findPolygonOffset(Z,Ae[0],Ae[1],Se);Ve+=me+pa[0],je+=ye+pa[1]}switch(hr){case"zoom":Fe.clickFn=gt,U||(Se?Fe.moveFn=mt:Fe.moveFn=We,Fe.doneFn=ft,_e(_t,Ft,St));break;case"select":case"lasso":y(_t,Ft,St,Fe,hr);break}},p.init(Fe)},B.updateRadialDrag=function(te,ae,U){var H=this,K=H.gd,V=H.layers,$=H.radius,X=H.innerRadius,Z=H.cx,Q=H.cy,re=H.radialAxis,ce=A.radialDragBoxSize,me=ce/2;if(!re.visible)return;var ye=z(H.radialAxisAngle),Ae=re._rl,Se=Ae[0],Ce=Ae[1],qe=Ae[U],Ue=.75*(Ae[1]-Ae[0])/(1-H.getHole(ae))/$,xe,he,oe;U?(xe=Z+($+me)*Math.cos(ye),he=Q-($+me)*Math.sin(ye),oe="radialdrag"):(xe=Z+(X-me)*Math.cos(ye),he=Q-(X-me)*Math.sin(ye),oe="radialdrag-inner");var le=c.makeRectDragger(V,oe,"crosshair",-me,-me,ce,ce),ne={element:le,gd:K};te.dragmode===!1&&(ne.dragmode=!1),ee(u.select(le),re.visible&&X<$,{transform:l(xe,he)});var be,Fe,Ve;function je(Pt,Zt){if(be)be(Pt,Zt);else{var vr=[Pt,-Zt],Nt=[Math.cos(ye),Math.sin(ye)],Kt=Math.abs(w.dot(vr,Nt)/Math.sqrt(w.dot(vr,vr)));isNaN(Kt)||(be=Kt<.5?yt:At)}var nt={};ut(nt),K.emit("plotly_relayouting",nt)}function ut(Pt){Fe!==null?Pt[H.id+".radialaxis.angle"]=Fe:Ve!==null&&(Pt[H.id+".radialaxis.range["+U+"]"]=Ve)}function st(){Fe!==null?v.call("_guiRelayout",K,H.id+".radialaxis.angle",Fe):Ve!==null&&v.call("_guiRelayout",K,H.id+".radialaxis.range["+U+"]",Ve)}function yt(Pt,Zt){if(U!==0){var vr=xe+Pt,Nt=he+Zt;Fe=Math.atan2(Q-Nt,vr-Z),H.vangles&&(Fe=Y(Fe,H.vangles)),Fe=D(Fe);var Kt=l(Z,Q)+S(-Fe);V["radial-axis"].attr("transform",Kt),V["radial-line"].select("line").attr("transform",Kt);var nt=H.gd._fullLayout,Ee=nt[H.id];H.updateRadialAxisTitle(nt,Ee,Fe)}}function At(Pt,Zt){var vr=w.dot([Pt,-Zt],[Math.cos(ye),Math.sin(ye)]);if(Ve=qe-Ue*vr,Ue>0!=(U?Ve>Se:Ve=90||K>90&&V>=450?ye=1:X<=0&&Q<=0?ye=0:ye=Math.max(X,Q),K<=180&&V>=180||K>180&&V>=540?re=-1:$>=0&&Z>=0?re=0:re=Math.min($,Z),K<=270&&V>=270||K>270&&V>=630?ce=-1:X>=0&&Q>=0?ce=0:ce=Math.min(X,Q),V>=360?me=1:$<=0&&Z<=0?me=0:me=Math.max($,Z),[re,ce,me,ye]}function Y(te,ae){var U=function(K){return w.angleDist(te,K)},H=w.findIndexOfMin(ae,U);return ae[H]}function ee(te,ae,U){return ae?(te.attr("display",null),te.attr(U)):te&&te.attr("display","none"),te}}}),q6=De({"src/plots/polar/layout_attributes.js"(j,N){"use strict";var u=mc(),v=hf(),w=ql().attributes,S=Ar().extendFlat,l=Ul().overrideAll,e=l({color:v.color,showline:S({},v.showline,{dflt:!0}),linecolor:v.linecolor,linewidth:v.linewidth,showgrid:S({},v.showgrid,{dflt:!0}),gridcolor:v.gridcolor,gridwidth:v.gridwidth,griddash:v.griddash},"plot","from-root"),t=l({tickmode:v.minor.tickmode,nticks:v.nticks,tick0:v.tick0,dtick:v.dtick,tickvals:v.tickvals,ticktext:v.ticktext,ticks:v.ticks,ticklen:v.ticklen,tickwidth:v.tickwidth,tickcolor:v.tickcolor,ticklabelstep:v.ticklabelstep,showticklabels:v.showticklabels,labelalias:v.labelalias,minorloglabels:v.minorloglabels,showtickprefix:v.showtickprefix,tickprefix:v.tickprefix,showticksuffix:v.showticksuffix,ticksuffix:v.ticksuffix,showexponent:v.showexponent,exponentformat:v.exponentformat,minexponent:v.minexponent,separatethousands:v.separatethousands,tickfont:v.tickfont,tickangle:v.tickangle,tickformat:v.tickformat,tickformatstops:v.tickformatstops,layer:v.layer},"plot","from-root"),a={visible:S({},v.visible,{dflt:!0}),type:S({},v.type,{values:["-","linear","log","date","category"]}),autotypenumbers:v.autotypenumbers,autorangeoptions:{minallowed:v.autorangeoptions.minallowed,maxallowed:v.autorangeoptions.maxallowed,clipmin:v.autorangeoptions.clipmin,clipmax:v.autorangeoptions.clipmax,include:v.autorangeoptions.include,editType:"plot"},autorange:S({},v.autorange,{editType:"plot"}),rangemode:{valType:"enumerated",values:["tozero","nonnegative","normal"],dflt:"tozero",editType:"calc"},minallowed:S({},v.minallowed,{editType:"plot"}),maxallowed:S({},v.maxallowed,{editType:"plot"}),range:S({},v.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],editType:"plot"}),categoryorder:v.categoryorder,categoryarray:v.categoryarray,angle:{valType:"angle",editType:"plot"},autotickangles:v.autotickangles,side:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"clockwise",editType:"plot"},title:{text:S({},v.title.text,{editType:"plot",dflt:""}),font:S({},v.title.font,{editType:"plot"}),editType:"plot"},hoverformat:v.hoverformat,uirevision:{valType:"any",editType:"none"},editType:"calc"};S(a,e,t);var r={visible:S({},v.visible,{dflt:!0}),type:{valType:"enumerated",values:["-","linear","category"],dflt:"-",editType:"calc",_noTemplating:!0},autotypenumbers:v.autotypenumbers,categoryorder:v.categoryorder,categoryarray:v.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:v.hoverformat,uirevision:{valType:"any",editType:"none"},editType:"calc"};S(r,e,t),N.exports={domain:w({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:u.background},radialaxis:a,angularaxis:r,gridshape:{valType:"enumerated",values:["circular","linear"],dflt:"circular",editType:"plot"},uirevision:{valType:"any",editType:"none"},editType:"calc"}}}),qq=De({"src/plots/polar/layout_defaults.js"(j,N){"use strict";var u=Ar(),v=ii(),w=ws(),S=Ip(),l=Bf().getSubplotData,e=Mp(),t=hm(),a=Gv(),r=Vv(),n=nx(),i=R1(),s=z3(),c=dm(),p=q6(),f=N6(),d=a2(),y=d.axisNames;function o(M,T,E,g){var A=E("bgcolor");g.bgColor=v.combine(A,g.paper_bgcolor);var m=E("sector");E("hole");var h=l(g.fullData,d.name,g.id),b=g.layoutOut,_;function I(me,ye){return E(_+"."+me,ye)}for(var C=0;C")}}N.exports={hoverPoints:v,makeHoverPointText:w}}}),Hq=De({"src/traces/scatterpolar/index.js"(j,N){"use strict";N.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:i2(),categories:["polar","symbols","showLegend","scatter-like"],attributes:Eg(),supplyDefaults:o2().supplyDefaults,colorbar:Nf(),formatLabels:s2(),calc:Gq(),plot:Vq(),style:bh().style,styleOnSelect:bh().styleOnSelect,hoverPoints:l2().hoverPoints,selectPoints:Pp(),meta:{}}}}),Wq=De({"lib/scatterpolar.js"(j,N){"use strict";N.exports=Hq()}}),G6=De({"src/traces/scatterpolargl/attributes.js"(j,N){"use strict";var u=Eg(),{cliponaxis:v,hoveron:w}=u,S=jo(u,["cliponaxis","hoveron"]),{connectgaps:l,line:{color:e,dash:t,width:a},fill:r,fillcolor:n,marker:i,textfont:s,textposition:c}=_g();N.exports=co(Si({},S),{connectgaps:l,fill:r,fillcolor:n,line:{color:e,dash:t,editType:"calc",width:a},marker:i,textfont:s,textposition:c})}}),Yq=De({"src/traces/scatterpolargl/defaults.js"(j,N){"use strict";var u=Ar(),v=Sl(),w=o2().handleRThetaDefaults,S=Jh(),l=cd(),e=fd(),t=Ld(),a=kd().PTS_LINESONLY,r=G6();N.exports=function(i,s,c,p){function f(y,o){return u.coerce(i,s,r,y,o)}var d=w(i,s,p,f);if(!d){s.visible=!1;return}f("thetaunit"),f("mode",d=t&&(g.marker.cluster=x.tree),g.marker&&(g.markerSel.positions=g.markerUnsel.positions=g.marker.positions=b),g.line&&b.length>1&&e.extendFlat(g.line,l.linePositions(n,o,b)),g.text&&(e.extendFlat(g.text,{positions:b},l.textPosition(n,o,g.text,g.marker)),e.extendFlat(g.textSel,{positions:b},l.textPosition(n,o,g.text,g.markerSel)),e.extendFlat(g.textUnsel,{positions:b},l.textPosition(n,o,g.text,g.markerUnsel))),g.fill&&!f.fill2d&&(f.fill2d=!0),g.marker&&!f.scatter2d&&(f.scatter2d=!0),g.line&&!f.line2d&&(f.line2d=!0),g.text&&!f.glText&&(f.glText=!0),f.lineOptions.push(g.line),f.fillOptions.push(g.fill),f.markerOptions.push(g.marker),f.markerSelectedOptions.push(g.markerSel),f.markerUnselectedOptions.push(g.markerUnsel),f.textOptions.push(g.text),f.textSelectedOptions.push(g.textSel),f.textUnselectedOptions.push(g.textUnsel),f.selectBatch.push([]),f.unselectBatch.push([]),x.x=_,x.y=I,x.rawx=_,x.rawy=I,x.r=T,x.theta=E,x.positions=b,x._scene=f,x.index=f.count,f.count++}}),w(n,i,s)}},N.exports.reglPrecompiled=a}}),Qq=De({"src/traces/scatterpolargl/index.js"(j,N){"use strict";var u=Kq();u.plot=Jq(),N.exports=u}}),eG=De({"lib/scatterpolargl.js"(j,N){"use strict";N.exports=Qq()}}),V6=De({"src/traces/barpolar/attributes.js"(j,N){"use strict";var{hovertemplateAttrs:u,templatefallbackAttrs:v}=Is(),w=Ji().extendFlat,S=Eg(),l=Rd();N.exports={r:S.r,theta:S.theta,r0:S.r0,dr:S.dr,theta0:S.theta0,dtheta:S.dtheta,thetaunit:S.thetaunit,base:w({},l.base,{}),offset:w({},l.offset,{}),width:w({},l.width,{}),text:w({},l.text,{}),hovertext:w({},l.hovertext,{}),marker:e(),hoverinfo:S.hoverinfo,hovertemplate:u(),hovertemplatefallback:v(),selected:l.selected,unselected:l.unselected};function e(){var t=w({},l.marker);return delete t.cornerradius,t}}}),H6=De({"src/traces/barpolar/layout_attributes.js"(j,N){"use strict";N.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}}}),tG=De({"src/traces/barpolar/defaults.js"(j,N){"use strict";var u=Ar(),v=o2().handleRThetaDefaults,w=dx(),S=V6();N.exports=function(e,t,a,r){function n(s,c){return u.coerce(e,t,S,s,c)}var i=v(e,t,r,n);if(!i){t.visible=!1;return}n("thetaunit"),n("base"),n("offset"),n("width"),n("text"),n("hovertext"),n("hovertemplate"),n("hovertemplatefallback"),w(e,t,n,a,r),u.coerceSelectionMarkerOpacity(t,n)}}}),rG=De({"src/traces/barpolar/layout_defaults.js"(j,N){"use strict";var u=Ar(),v=H6();N.exports=function(w,S,l){var e={},t;function a(i,s){return u.coerce(w[t]||{},S[t],v,i,s)}for(var r=0;r0?(p=s,f=c):(p=c,f=s);var d=l.findEnclosingVertexAngles(p,t.vangles)[0],y=l.findEnclosingVertexAngles(f,t.vangles)[1],o=[d,(p+f)/2,y];return l.pathPolygonAnnulus(n,i,p,f,o,a,r)}:function(n,i,s,c){return w.pathAnnulus(n,i,s,c,a,r)}}}}),nG=De({"src/traces/barpolar/hover.js"(j,N){"use strict";var u=uu(),v=Ar(),w=_m().getTraceColor,S=v.fillText,l=l2().makeHoverPointText,e=n2().isPtInsidePolygon;N.exports=function(a,r,n){var i=a.cd,s=i[0].trace,c=a.subplot,p=c.radialAxis,f=c.angularAxis,d=c.vangles,y=d?e:v.isPtInsideSector,o=a.maxHoverDistance,x=f._period||2*Math.PI,M=Math.abs(p.g2p(Math.sqrt(r*r+n*n))),T=Math.atan2(n,r);p.range[0]>p.range[1]&&(T+=Math.PI);var E=function(h){return y(M,T,[h.rp0,h.rp1],[h.thetag0,h.thetag1],d)?o+Math.min(1,Math.abs(h.thetag1-h.thetag0)/x)-1+(h.rp1-M)/(h.rp1-h.rp0)-1:1/0};if(u.getClosest(i,E,a),a.index!==!1){var g=a.index,A=i[g];a.x0=a.x1=A.ct[0],a.y0=a.y1=A.ct[1];var m=v.extendFlat({},A,{r:A.s,theta:A.p});return S(A,s,a),l(m,s,c,a),a.hovertemplate=s.hovertemplate,a.color=w(s,A),a.xLabelVal=a.yLabelVal=void 0,A.s<0&&(a.idealAlign="left"),[a]}}}}),iG=De({"src/traces/barpolar/index.js"(j,N){"use strict";N.exports={moduleType:"trace",name:"barpolar",basePlotModule:i2(),categories:["polar","bar","showLegend"],attributes:V6(),layoutAttributes:H6(),supplyDefaults:tG(),supplyLayoutDefaults:rG(),calc:W6().calc,crossTraceCalc:W6().crossTraceCalc,plot:aG(),colorbar:Nf(),formatLabels:s2(),style:td().style,styleOnSelect:td().styleOnSelect,hoverPoints:nG(),selectPoints:xm(),meta:{}}}}),oG=De({"lib/barpolar.js"(j,N){"use strict";N.exports=iG()}}),Y6=De({"src/plots/smith/constants.js"(j,N){"use strict";N.exports={attr:"subplot",name:"smith",axisNames:["realaxis","imaginaryaxis"],axisName2dataArray:{imaginaryaxis:"imag",realaxis:"real"}}}}),X6=De({"src/plots/smith/layout_attributes.js"(j,N){"use strict";var u=mc(),v=hf(),w=ql().attributes,S=Ar().extendFlat,l=Ul().overrideAll,e=l({color:v.color,showline:S({},v.showline,{dflt:!0}),linecolor:v.linecolor,linewidth:v.linewidth,showgrid:S({},v.showgrid,{dflt:!0}),gridcolor:v.gridcolor,gridwidth:v.gridwidth,griddash:v.griddash},"plot","from-root"),t=l({ticklen:v.ticklen,tickwidth:S({},v.tickwidth,{dflt:2}),tickcolor:v.tickcolor,showticklabels:v.showticklabels,labelalias:v.labelalias,showtickprefix:v.showtickprefix,tickprefix:v.tickprefix,showticksuffix:v.showticksuffix,ticksuffix:v.ticksuffix,tickfont:v.tickfont,tickformat:v.tickformat,hoverformat:v.hoverformat,layer:v.layer},"plot","from-root"),a=S({visible:S({},v.visible,{dflt:!0}),tickvals:{dflt:[.2,.5,1,2,5],valType:"data_array",editType:"plot"},tickangle:S({},v.tickangle,{dflt:90}),ticks:{valType:"enumerated",values:["top","bottom",""],editType:"ticks"},side:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},editType:"calc"},e,t),r=S({visible:S({},v.visible,{dflt:!0}),tickvals:{valType:"data_array",editType:"plot"},ticks:v.ticks,editType:"calc"},e,t);N.exports={domain:w({name:"smith",editType:"plot"}),bgcolor:{valType:"color",editType:"plot",dflt:u.background},realaxis:a,imaginaryaxis:r,editType:"calc"}}}),sG=De({"src/plots/smith/layout_defaults.js"(j,N){"use strict";var u=Ar(),v=ii(),w=ws(),S=Ip(),l=Bf().getSubplotData,e=Vv(),t=Gv(),a=R1(),r=Sd(),n=X6(),i=Y6(),s=i.axisNames,c=f(function(d){return u.isTypedArray(d)&&(d=Array.from(d)),d.slice().reverse().map(function(y){return-y}).concat([0]).concat(d)},String);function p(d,y,o,x){var M=o("bgcolor");x.bgColor=v.combine(M,x.paper_bgcolor);var T=l(x.fullData,i.name,x.id),E=x.layoutOut,g;function A(O,q){return o(g+"."+O,q)}for(var m=0;m")}}N.exports={hoverPoints:v,makeHoverPointText:w}}}),vG=De({"src/traces/scattersmith/index.js"(j,N){"use strict";N.exports={moduleType:"trace",name:"scattersmith",basePlotModule:lG(),categories:["smith","symbols","showLegend","scatter-like"],attributes:Z6(),supplyDefaults:uG(),colorbar:Nf(),formatLabels:cG(),calc:fG(),plot:hG(),style:bh().style,styleOnSelect:bh().styleOnSelect,hoverPoints:dG().hoverPoints,selectPoints:Pp(),meta:{}}}}),pG=De({"lib/scattersmith.js"(j,N){"use strict";N.exports=vG()}}),$6=De({"src/traces/quiver/attributes.js"(j,N){"use strict";var u=Bs(),v=Is().hovertemplateAttrs,w=Zl().axisHoverFormat,S=Ji().extendFlat,l=ul(),e=Hc().dash,t=Xv(),a=bu(),r={x:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},x0:a.x0,dx:a.dx,y:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},y0:a.y0,dy:a.dy,u:{valType:"data_array",editType:"calc",anim:!0},v:{valType:"data_array",editType:"calc",anim:!0},anglemode:{valType:"enumerated",values:["paper","data"],dflt:"axis",editType:"calc"},sizemode:{valType:"enumerated",values:["scaled","raw"],editType:"calc",dflt:"scaled"},sizeref:{valType:"number",min:0,editType:"calc",dflt:1},anchor:{valType:"enumerated",values:["tip","tail","center"],dflt:"tail",editType:"calc"},xhoverformat:w("x"),yhoverformat:w("y"),uhoverformat:w("u","noDate"),vhoverformat:w("v","noDate"),hoverinfo:S({},u.hoverinfo,{flags:["x","y","u","v","text","name"],dflt:"all"}),hovertemplate:v({},{keys:["x","y","u","v","text","name"]}),text:a.text,textposition:a.textposition,textfont:a.textfont,marker:S({arrowsize:S({},t.arrowsize,{editType:"calc"}),line:{width:{valType:"number",min:0,dflt:2,editType:"style"},dash:e,editType:"style"},editType:"calc"},l("marker",{showScaleDflt:!0,editTypeOverride:"calc"})),selected:{marker:{color:{valType:"color",editType:"style"},line:{width:{valType:"number",min:0,editType:"style"},editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},unselected:{marker:{color:{valType:"color",editType:"style"},line:{width:{valType:"number",min:0,editType:"style"},editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"}};N.exports=r}}),mG=De({"src/traces/quiver/defaults.js"(j,N){"use strict";var u=Ar(),v=$6(),w=kp(),S=Of().hasColorscale,l=Wc();N.exports=function(t,a,r,n){function i(M,T){return u.coerce(t,a,v,M,T)}var s=w(t,a,n,i);if(!s){a.visible=!1;return}var c=i("u"),p=i("v");if(!u.isArrayOrTypedArray(c)||c.length===0){a.u=new Array(s);for(var f=0;fC&&(C=s[q]),c[q]R&&(R=c[q]),aeD&&(D=ae),UB&&(B=U);var H=Math.sqrt(ae*ae+U*U);if(H>y&&(y=H),Hx&&(x=K))}}else Y.x=S,Y.y=S}if(r._maxNorm=y,m==="scaled"||A==="paper"){let ye=(C-I)*(R-F)/p;ye===0?r._scaleFactor=1/r._maxNorm:r._scaleFactor=Math.sqrt(ye)/r._maxNorm}else r._scaleFactor=1;r._scaleFactor*=r.sizeref;let V=new Array(p),$=new Array(p),X=new Array(p),Z=new Array(p);for(var Q,re,q=0;qp.i&&isFinite(f[p.i]))d=f[p.i];else{var y=i.u&&i.u[p.i]||0,o=i.v&&i.v[p.i]||0;d=Math.sqrt(y*y+o*o)}return c(d)})}function t(n){var i=u.select(n).selectAll("g.trace.quiver");i.each(function(s){r(n,s,u.select(this))})}function a(n,i,s){r(n,i,s)}function r(n,i,s){var c=i[0].trace,p=c.marker||{},f=p.line||{},d=v.isArrayOrTypedArray(p.color)?void 0:p.color,y=c._hasColorscale;if(s)if(c.selectedpoints){var o=(c.selected||{}).marker||{},x=(c.unselected||{}).marker||{},M=o.line||{},T=x.line||{};s.selectAll("path.js-line").each(function(g){var A=u.select(this),m=!g.selected,h=m?x.color:o.color,b=m?T.width!==void 0?T.width:f.width:M.width!==void 0?M.width:f.width;h?(w.lineGroupStyle(A,b,h,f.dash),A.style("stroke-opacity",1)):(w.lineGroupStyle(A,b,d,f.dash),y&&e(A,c),A.style("stroke-opacity",m?l:1))}),w.selectedTextStyle(s.selectAll("text"),c)}else{var E=s.selectAll("path.js-line");E.call(w.lineGroupStyle,f.width,d,f.dash),y&&e(E,c),E.style("stroke-opacity",1),w.textPointStyle(s.selectAll("text"),c,n)}}N.exports={style:t,styleOnSelect:a,colorscaleStroke:e}}}),_G=De({"src/traces/quiver/plot.js"(j,N){"use strict";var u=Qn(),v=Ar(),w=Ki(),S=u2().colorscaleStroke,l=Math.PI/12,e=5.8,t=1.5,a=.7;N.exports=function(i,s,c,p,f,d){var y,o,x=!f,M=!!f&&f.duration>0;if(y=p.selectAll("g.trace").data(c,function(E){return E[0].trace.uid}),y.enter().append("g").attr("class",function(E){return"trace quiver trace"+E[0].trace.uid}).style("stroke-miterlimit",2),y.order(),M){d&&(o=d());var T=u.transition().duration(f.duration).ease(f.easing).each("end",function(){o&&o()}).each("interrupt",function(){o&&o()});T.each(function(){p.selectAll("g.trace").each(function(E,g){r(i,g,s,E,c,this,f)})})}else y.each(function(E,g){r(i,g,s,E,c,this,f)});x&&y.exit().remove()};function r(n,i,s,c,p,f,d){var y=c[0].trace,o=s.xaxis,x=s.yaxis;c[0][s.isRangePlot?"nodeRangePlot3":"node3"]=u.select(f);var M=u.select(f).selectAll("g.lines").data([c]);M.enter().append("g").classed("lines",!0),w.setClipUrl(M,s.layerClipId,n);var T=M.selectAll("path.js-line").data(c);T.enter().append("path").classed("js-line",!0).style("vector-effect","non-scaling-stroke"),T.exit().remove();let E=y._maxNorm||0,g=y.anglemode,A=y.sizemode,m=y.sizeref,h=y.anchor,b=g==="paper"?y._scaleFactor*Math.sqrt(Math.abs(o._m*x._m)):y._scaleFactor,_=y.marker.arrowsize;T.each(function(k){let B=u.select(this);if(k.x===void 0||k.y===void 0){B.attr("d",null);return}let O=(g==="paper"?k._u*Math.sign(o._m):u.round(o._m*k._u))*b,q=(g==="paper"?k._v*Math.sign(x._m):u.round(x._m*k._v))*b,Y=(y._input.marker||{}).arrowsize!==void 0;var ee,te,ae,U;h==="tip"?(ee=o.c2p(k.x)-O,ae=x.c2p(k.y)-q,te=o.c2p(k.x),U=x.c2p(k.y)):h==="center"?(ee=o.c2p(k.x)-O/2,ae=x.c2p(k.y)-q/2,te=o.c2p(k.x)+O/2,U=x.c2p(k.y)+q/2):(ee=o.c2p(k.x),ae=x.c2p(k.y),te=o.c2p(k.x)+O,U=x.c2p(k.y)+q),k._px0=ee,k._py0=ae,k._px1=te,k._py1=U;var H=y.marker.line.width;Y||(H=Math.max(H,t));let K=Math.sqrt((te-ee)*(te-ee)+(U-ae)*(U-ae)),V=a*K,$=Math.min(e*_*H,V),X=Math.atan2(U-ae,te-ee),Z=te-$*Math.cos(X-l),Q=U-$*Math.sin(X-l),re=te-$*Math.cos(X+l),ce=U-$*Math.sin(X+l),me="M"+ee+","+ae+"L"+te+","+U+"L"+Z+","+Q+"L"+te+","+U+"L"+re+","+ce;B.attr("d",me)});var I=y.marker||{},C=I.line||{},F=v.isArrayOrTypedArray(I.color)?void 0:I.color;w.lineGroupStyle(T,C.width,F,C.dash),y._hasColorscale&&S(T,y);var R=u.select(f).selectAll("g.text").data([c]);R.enter().append("g").classed("text",!0),w.setClipUrl(R,s.layerClipId,n);var z=R.selectAll("g.textpoint").data(c);if(z.enter().append("g").classed("textpoint",!0).append("text"),z.exit().remove(),z.each(function(k){var B=u.select(this),O=w.translatePoint(k,B.select("text"),o,x);O||B.remove()}),z.selectAll("text").call(w.textPointStyle,y,n).each(function(k){var B=o.c2p(k.x),O=x.c2p(k.y);u.select(this).selectAll("tspan.line").each(function(){u.select(this).attr({x:B,y:O})})}),d&&d.duration>0){var D=u.transition().duration(d.duration).ease(d.easing);T.transition(D).style("opacity",1)}}}}),xG=De({"src/traces/quiver/hover.js"(j,N){"use strict";var u=Ar(),v=uu(),w=gm();function S(l,e,t,a,r,n){let i=r-t,s=n-a,c=i*i+s*s;if(!c)return Math.sqrt((l-t)*(l-t)+(e-a)*(e-a));var p=((l-t)*i+(e-a)*s)/c;p=Math.max(0,Math.min(1,p));let f=t+p*i,d=a+p*s;return Math.sqrt((l-f)*(l-f)+(e-d)*(e-d))}N.exports=function(e,t,a,r){var n=e.cd,i=n[0].trace,s=e.xa,c=e.ya,p=s.c2p(t),f=c.c2p(a),d=function(A){return A._px0===void 0?1/0:S(p,f,A._px0,A._py0,A._px1,A._py1)};if(v.getClosest(n,d,e),e.index!==!1){var y=n[e.index],o=s.c2p(y.x,!0),x=c.c2p(y.y,!0),M=Math.sqrt((p-o)*(p-o)+(f-x)*(f-x));e.index=y.i;var T=i.u?i.u[y.i]:0,E=i.v?i.v[y.i]:0,g="u: "+T+", v: "+E;return u.extendFlat(e,{color:w(i,y),x0:o-3,x1:o+3,xLabelVal:y.x,y0:x-3,y1:x+3,yLabelVal:y.y,uLabelVal:T,vLabelVal:E,extraText:g,spikeDistance:M,hovertemplate:i.hovertemplate}),u.fillText(y,i,e),[e]}}}}),bG=De({"src/traces/quiver/format_labels.js"(j,N){"use strict";var u=Vi(),v=Ar();N.exports=function(S,l,e){var t={},a={_fullLayout:e},r=u.getFromTrace(a,l,"x"),n=u.getFromTrace(a,l,"y"),i=S.x,s=S.y;t.xLabel=u.tickText(r,r.c2l(i),!0).text,t.yLabel=u.tickText(n,n.c2l(s),!0).text;var c=l.u?l.u[S.i]:0,p=l.v?l.v[S.i]:0,f=l.uhoverformat,d=l.vhoverformat;return t.uLabel=f?v.numberFormat(f)(c):String(c),t.vLabel=d?v.numberFormat(d)(p):String(p),t}}}),wG=De({"src/traces/quiver/event_data.js"(j,N){"use strict";N.exports=function(v,w,S,l,e){return v.x=w.x,v.y=w.y,v.u=S.u?S.u[e]:void 0,v.v=S.v?S.v[e]:void 0,v}}}),AG=De({"src/traces/quiver/index.js"(j,N){"use strict";N.exports={moduleType:"trace",name:"quiver",basePlotModule:Hu(),categories:["cartesian","svg","showLegend","scatter-like","zoomScale"],attributes:$6(),supplyDefaults:mG(),calc:gG(),crossTraceCalc:yG(),plot:_G(),style:u2().style,styleOnSelect:u2().styleOnSelect,hoverPoints:xG(),formatLabels:bG(),eventData:wG(),selectPoints:Pp(),colorbar:Nf(),animatable:!0,meta:{}}}}),TG=De({"lib/quiver.js"(j,N){"use strict";N.exports=AG()}}),Xf=De({"node_modules/world-calendars/dist/main.js"(j,N){var u=_c();function v(){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={}}u(v.prototype,{instance:function(a,r){a=(a||"gregorian").toLowerCase(),r=r||"";var n=this._localCals[a+"-"+r];if(!n&&this.calendars[a]&&(n=new this.calendars[a](r),this._localCals[a+"-"+r]=n),!n)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,a);return n},newDate:function(a,r,n,i,s){return i=(a!=null&&a.year?a.calendar():typeof i=="string"?this.instance(i,s):i)||this.instance(),i.newDate(a,r,n)},substituteDigits:function(a){return function(r){return(r+"").replace(/[0-9]/g,function(n){return a[n]})}},substituteChineseDigits:function(a,r){return function(n){for(var i="",s=0;n>0;){var c=n%10;i=(c===0?"":a[c]+r[s])+i,s++,n=Math.floor(n/10)}return i.indexOf(a[1]+r[1])===0&&(i=i.substr(1)),i||a[0]}}});function w(a,r,n,i){if(this._calendar=a,this._year=r,this._month=n,this._day=i,this._calendar._validateLevel===0&&!this._calendar.isValid(this._year,this._month,this._day))throw(t.local.invalidDate||t.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function S(a,r){return a=""+a,"000000".substring(0,r-a.length)+a}u(w.prototype,{newDate:function(a,r,n){return this._calendar.newDate(a??this,r,n)},year:function(a){return arguments.length===0?this._year:this.set(a,"y")},month:function(a){return arguments.length===0?this._month:this.set(a,"m")},day:function(a){return arguments.length===0?this._day:this.set(a,"d")},date:function(a,r,n){if(!this._calendar.isValid(a,r,n))throw(t.local.invalidDate||t.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=a,this._month=r,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(a,r){return this._calendar.add(this,a,r)},set:function(a,r){return this._calendar.set(this,a,r)},compareTo:function(a){if(this._calendar.name!==a._calendar.name)throw(t.local.differentCalendars||t.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,a._calendar.local.name);var r=this._year!==a._year?this._year-a._year:this._month!==a._month?this.monthOfYear()-a.monthOfYear():this._day-a._day;return r===0?0:r<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(a){return this._calendar.fromJD(a)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(a){return this._calendar.fromJSDate(a)},toString:function(){return(this.year()<0?"-":"")+S(Math.abs(this.year()),4)+"-"+S(this.month(),2)+"-"+S(this.day(),2)}});function l(){this.shortYearCutoff="+10"}u(l.prototype,{_validateLevel:0,newDate:function(a,r,n){return a==null?this.today():(a.year&&(this._validate(a,r,n,t.local.invalidDate||t.regionalOptions[""].invalidDate),n=a.day(),r=a.month(),a=a.year()),new w(this,a,r,n))},today:function(){return this.fromJSDate(new Date)},epoch:function(a){var r=this._validate(a,this.minMonth,this.minDay,t.local.invalidYear||t.regionalOptions[""].invalidYear);return r.year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(a){var r=this._validate(a,this.minMonth,this.minDay,t.local.invalidYear||t.regionalOptions[""].invalidYear);return(r.year()<0?"-":"")+S(Math.abs(r.year()),4)},monthsInYear:function(a){return this._validate(a,this.minMonth,this.minDay,t.local.invalidYear||t.regionalOptions[""].invalidYear),12},monthOfYear:function(a,r){var n=this._validate(a,r,this.minDay,t.local.invalidMonth||t.regionalOptions[""].invalidMonth);return(n.month()+this.monthsInYear(n)-this.firstMonth)%this.monthsInYear(n)+this.minMonth},fromMonthOfYear:function(a,r){var n=(r+this.firstMonth-2*this.minMonth)%this.monthsInYear(a)+this.minMonth;return this._validate(a,n,this.minDay,t.local.invalidMonth||t.regionalOptions[""].invalidMonth),n},daysInYear:function(a){var r=this._validate(a,this.minMonth,this.minDay,t.local.invalidYear||t.regionalOptions[""].invalidYear);return this.leapYear(r)?366:365},dayOfYear:function(a,r,n){var i=this._validate(a,r,n,t.local.invalidDate||t.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(a,r,n){var i=this._validate(a,r,n,t.local.invalidDate||t.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(i))+2)%this.daysInWeek()},extraInfo:function(a,r,n){return this._validate(a,r,n,t.local.invalidDate||t.regionalOptions[""].invalidDate),{}},add:function(a,r,n){return this._validate(a,this.minMonth,this.minDay,t.local.invalidDate||t.regionalOptions[""].invalidDate),this._correctAdd(a,this._add(a,r,n),r,n)},_add:function(a,r,n){if(this._validateLevel++,n==="d"||n==="w"){var i=a.toJD()+r*(n==="w"?this.daysInWeek():1),s=a.calendar().fromJD(i);return this._validateLevel--,[s.year(),s.month(),s.day()]}try{var c=a.year()+(n==="y"?r:0),p=a.monthOfYear()+(n==="m"?r:0),s=a.day(),f=function(o){for(;px-1+o.minMonth;)c++,p-=x,x=o.monthsInYear(c)};n==="y"?(a.month()!==this.fromMonthOfYear(c,p)&&(p=this.newDate(c,a.month(),this.minDay).monthOfYear()),p=Math.min(p,this.monthsInYear(c)),s=Math.min(s,this.daysInMonth(c,this.fromMonthOfYear(c,p)))):n==="m"&&(f(this),s=Math.min(s,this.daysInMonth(c,this.fromMonthOfYear(c,p))));var d=[c,this.fromMonthOfYear(c,p),s];return this._validateLevel--,d}catch(y){throw this._validateLevel--,y}},_correctAdd:function(a,r,n,i){if(!this.hasYearZero&&(i==="y"||i==="m")&&(r[0]===0||a.year()>0!=r[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],c=n<0?-1:1;r=this._add(a,n*s[0]+c*s[1],s[2])}return a.date(r[0],r[1],r[2])},set:function(a,r,n){this._validate(a,this.minMonth,this.minDay,t.local.invalidDate||t.regionalOptions[""].invalidDate);var i=n==="y"?r:a.year(),s=n==="m"?r:a.month(),c=n==="d"?r:a.day();return(n==="y"||n==="m")&&(c=Math.min(c,this.daysInMonth(i,s))),a.date(i,s,c)},isValid:function(a,r,n){this._validateLevel++;var i=this.hasYearZero||a!==0;if(i){var s=this.newDate(a,r,this.minDay);i=r>=this.minMonth&&r-this.minMonth=this.minDay&&n-this.minDay13.5?13:1),y=s-(d>2.5?4716:4715);return y<=0&&y--,this.newDate(y,d,f)},toJSDate:function(a,r,n){var i=this._validate(a,r,n,t.local.invalidDate||t.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(a){return this.newDate(a.getFullYear(),a.getMonth()+1,a.getDate())}});var t=N.exports=new v;t.cdate=w,t.baseCalendar=l,t.calendars.gregorian=e}}),MG=De({"node_modules/world-calendars/dist/plus.js"(){var j=_c(),N=Xf();j(N.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"}),N.local=N.regionalOptions[""],j(N.cdate.prototype,{formatDate:function(u,v){return typeof u!="string"&&(v=u,u=""),this._calendar.formatDate(u||"",this,v)}}),j(N.baseCalendar.prototype,{UNIX_EPOCH:N.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:24*60*60,TICKS_EPOCH:N.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(u,v,w){if(typeof u!="string"&&(w=v,v=u,u=""),!v)return"";if(v.calendar()!==this)throw N.local.invalidFormat||N.regionalOptions[""].invalidFormat;u=u||this.local.dateFormat,w=w||{};for(var S=w.dayNamesShort||this.local.dayNamesShort,l=w.dayNames||this.local.dayNames,e=w.monthNumbers||this.local.monthNumbers,t=w.monthNamesShort||this.local.monthNamesShort,a=w.monthNames||this.local.monthNames,r=w.calculateWeek||this.local.calculateWeek,n=function(T,E){for(var g=1;M+g1},i=function(T,E,g,A){var m=""+E;if(n(T,A))for(;m.length1},x=function(I,C){var F=o(I,C),R=[2,3,F?4:2,F?4:2,10,11,20]["oyYJ@!".indexOf(I)+1],z=new RegExp("^-?\\d{1,"+R+"}"),D=v.substring(m).match(z);if(!D)throw(N.local.missingNumberAt||N.regionalOptions[""].missingNumberAt).replace(/\{0\}/,m);return m+=D[0].length,parseInt(D[0],10)},M=this,T=function(){if(typeof a=="function"){o("m");var I=a.call(M,v.substring(m));return m+=I.length,I}return x("m")},E=function(I,C,F,R){for(var z=o(I,R)?F:C,D=0;D-1){c=1,p=f;for(var _=this.daysInMonth(s,c);p>_;_=this.daysInMonth(s,c))c++,p-=_}return i>-1?this.fromJD(i):this.newDate(s,c,p)},determineDate:function(u,v,w,S,l){w&&typeof w!="object"&&(l=S,S=w,w=null),typeof S!="string"&&(l=S,S="");var e=this,t=function(a){try{return e.parseDate(S,a,l)}catch{}a=a.toLowerCase();for(var r=(a.match(/^c/)&&w?w.newDate():null)||e.today(),n=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,i=n.exec(a);i;)r.add(parseInt(i[1],10),i[2]||"d"),i=n.exec(a);return r};return v=v?v.newDate():null,u=u==null?v:typeof u=="string"?t(u):typeof u=="number"?isNaN(u)||u===1/0||u===-1/0?v:e.today().add(u,"d"):e.newDate(u),u}})}}),SG=De({"node_modules/world-calendars/dist/calendars/chinese.js"(){var j=Xf(),N=_c(),u=j.instance();function v(i){this.local=this.regionalOptions[i||""]||this.regionalOptions[""]}v.prototype=new j.baseCalendar,N(v.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 c=i.match(S);return c?c[0]:""}var p=this._validateYear(i),f=i.month(),d=""+this.toChineseMonth(p,f);return s&&d.length<2&&(d="0"+d),this.isIntercalaryMonth(p,f)&&(d+="i"),d},monthNames:function(i){if(typeof i=="string"){var s=i.match(l);return s?s[0]:""}var c=this._validateYear(i),p=i.month(),f=this.toChineseMonth(c,p),d=["\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"][f-1];return this.isIntercalaryMonth(c,p)&&(d="\u95F0"+d),d},monthNamesShort:function(i){if(typeof i=="string"){var s=i.match(e);return s?s[0]:""}var c=this._validateYear(i),p=i.month(),f=this.toChineseMonth(c,p),d=["\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D","\u4E03","\u516B","\u4E5D","\u5341","\u5341\u4E00","\u5341\u4E8C"][f-1];return this.isIntercalaryMonth(c,p)&&(d="\u95F0"+d),d},parseMonth:function(i,s){i=this._validateYear(i);var c=parseInt(s),p;if(isNaN(c))s[0]==="\u95F0"&&(p=!0,s=s.substring(1)),s[s.length-1]==="\u6708"&&(s=s.substring(0,s.length-1)),c=1+["\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D","\u4E03","\u516B","\u4E5D","\u5341","\u5341\u4E00","\u5341\u4E8C"].indexOf(s);else{var f=s[s.length-1];p=f==="i"||f==="I"}var d=this.toMonthIndex(i,c,p);return d},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,c){var p=this.intercalaryMonth(i),f=c&&s!==p;if(f||s<1||s>12)throw j.local.invalidMonth.replace(/\{0\}/,this.local.name);var d;return p?!c&&s<=p?d=s-1:d=s:d=s-1,d},toChineseMonth:function(i,s){i.year&&(i=i.year(),s=i.month());var c=this.intercalaryMonth(i),p=c?12:11;if(s<0||s>p)throw j.local.invalidMonth.replace(/\{0\}/,this.local.name);var f;return c?s>13;return c},isIntercalaryMonth:function(i,s){i.year&&(i=i.year(),s=i.month());var c=this.intercalaryMonth(i);return!!c&&c===s},leapYear:function(i){return this.intercalaryMonth(i)!==0},weekOfYear:function(i,s,c){var p=this._validateYear(i,j.local.invalidyear),f=a[p-a[0]],d=f>>9&4095,y=f>>5&15,o=f&31,x;x=u.newDate(d,y,o),x.add(4-(x.dayOfWeek()||7),"d");var M=this.toJD(i,s,c)-x.toJD();return 1+Math.floor(M/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 c=t[i-t[0]],p=c>>13,f=p?12:11;if(s>f)throw j.local.invalidMonth.replace(/\{0\}/,this.local.name);var d=c&1<<12-s?30:29;return d},weekDay:function(i,s,c){return(this.dayOfWeek(i,s,c)||7)<6},toJD:function(i,s,c){var p=this._validate(i,d,c,j.local.invalidDate);i=this._validateYear(p.year()),s=p.month(),c=p.day();var f=this.isIntercalaryMonth(i,s),d=this.toChineseMonth(i,s),y=n(i,d,c,f);return u.toJD(y.year,y.month,y.day)},fromJD:function(i){var s=u.fromJD(i),c=r(s.year(),s.month(),s.day()),p=this.toMonthIndex(c.year,c.month,c.isIntercalary);return this.newDate(c.year,p,c.day)},fromString:function(i){var s=i.match(w),c=this._validateYear(+s[1]),p=+s[2],f=!!s[3],d=this.toMonthIndex(c,p,f),y=+s[4];return this.newDate(c,d,y)},add:function(i,s,c){var p=i.year(),f=i.month(),d=this.isIntercalaryMonth(p,f),y=this.toChineseMonth(p,f),o=Object.getPrototypeOf(v.prototype).add.call(this,i,s,c);if(c==="y"){var x=o.year(),M=o.month(),T=this.isIntercalaryMonth(x,y),E=d&&T?this.toMonthIndex(x,y,!0):this.toMonthIndex(x,y,!1);E!==M&&o.month(E)}return o}});var w=/^\s*(-?\d\d\d\d|\d\d)[-/](\d?\d)([iI]?)[-/](\d?\d)/m,S=/^\d?\d[iI]?/m,l=/^闰?十?[一二三四五六七八九]?月/m,e=/^闰?十?[一二三四五六七八九]?/m;j.calendars.chinese=v;var t=[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],a=[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 r(i,s,c,p){var f,d;if(typeof i=="object")f=i,d=s||{};else{var y=typeof i=="number"&&i>=1888&&i<=2111;if(!y)throw new Error("Solar year outside range 1888-2111");var o=typeof s=="number"&&s>=1&&s<=12;if(!o)throw new Error("Solar month outside range 1 - 12");var x=typeof c=="number"&&c>=1&&c<=31;if(!x)throw new Error("Solar day outside range 1 - 31");f={year:i,month:s,day:c},d=p||{}}var M=a[f.year-a[0]],T=f.year<<9|f.month<<5|f.day;d.year=T>=M?f.year:f.year-1,M=a[d.year-a[0]];var E=M>>9&4095,g=M>>5&15,A=M&31,m,h=new Date(E,g-1,A),b=new Date(f.year,f.month-1,f.day);m=Math.round((b-h)/(24*3600*1e3));var _=t[d.year-t[0]],I;for(I=0;I<13;I++){var C=_&1<<12-I?30:29;if(m>13;return!F||I=1888&&i<=2111;if(!o)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 M=typeof c=="number"&&c>=1&&c<=30;if(!M)throw new Error("Lunar day outside range 1 - 30");var T;typeof p=="object"?(T=!1,d=p):(T=!!p,d=f||{}),y={year:i,month:s,day:c,isIntercalary:T}}var E;E=y.day-1;var g=t[y.year-t[0]],A=g>>13,m;A&&(y.month>A||y.isIntercalary)?m=y.month:m=y.month-1;for(var h=0;h>9&4095,C=_>>5&15,F=_&31,R=new Date(I,C-1,F+E);return d.year=R.getFullYear(),d.month=1+R.getMonth(),d.day=R.getDate(),d}}}),EG=De({"node_modules/world-calendars/dist/calendars/coptic.js"(){var j=Xf(),N=_c();function u(v){this.local=this.regionalOptions[v||""]||this.regionalOptions[""]}u.prototype=new j.baseCalendar,N(u.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(S){var w=this._validate(S,this.minMonth,this.minDay,j.local.invalidYear),S=w.year()+(w.year()<0?1:0);return S%4===3||S%4===-1},monthsInYear:function(v){return this._validate(v,this.minMonth,this.minDay,j.local.invalidYear||j.regionalOptions[""].invalidYear),13},weekOfYear:function(v,w,S){var l=this.newDate(v,w,S);return l.add(-l.dayOfWeek(),"d"),Math.floor((l.dayOfYear()-1)/7)+1},daysInMonth:function(v,w){var S=this._validate(v,w,this.minDay,j.local.invalidMonth);return this.daysPerMonth[S.month()-1]+(S.month()===13&&this.leapYear(S.year())?1:0)},weekDay:function(v,w,S){return(this.dayOfWeek(v,w,S)||7)<6},toJD:function(v,w,S){var l=this._validate(v,w,S,j.local.invalidDate);return v=l.year(),v<0&&v++,l.day()+(l.month()-1)*30+(v-1)*365+Math.floor(v/4)+this.jdEpoch-1},fromJD:function(v){var w=Math.floor(v)+.5-this.jdEpoch,S=Math.floor((w-Math.floor((w+366)/1461))/365)+1;S<=0&&S--,w=Math.floor(v)+.5-this.newDate(S,1,1).toJD();var l=Math.floor(w/30)+1,e=w-(l-1)*30+1;return this.newDate(S,l,e)}}),j.calendars.coptic=u}}),kG=De({"node_modules/world-calendars/dist/calendars/discworld.js"(){var j=Xf(),N=_c();function u(w){this.local=this.regionalOptions[w||""]||this.regionalOptions[""]}u.prototype=new j.baseCalendar,N(u.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(w){return this._validate(w,this.minMonth,this.minDay,j.local.invalidYear),!1},monthsInYear:function(w){return this._validate(w,this.minMonth,this.minDay,j.local.invalidYear),13},daysInYear:function(w){return this._validate(w,this.minMonth,this.minDay,j.local.invalidYear),400},weekOfYear:function(w,S,l){var e=this.newDate(w,S,l);return e.add(-e.dayOfWeek(),"d"),Math.floor((e.dayOfYear()-1)/8)+1},daysInMonth:function(w,S){var l=this._validate(w,S,this.minDay,j.local.invalidMonth);return this.daysPerMonth[l.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(w,S,l){var e=this._validate(w,S,l,j.local.invalidDate);return(e.day()+1)%8},weekDay:function(w,S,l){var e=this.dayOfWeek(w,S,l);return e>=2&&e<=6},extraInfo:function(w,S,l){var e=this._validate(w,S,l,j.local.invalidDate);return{century:v[Math.floor((e.year()-1)/100)+1]||""}},toJD:function(w,S,l){var e=this._validate(w,S,l,j.local.invalidDate);return w=e.year()+(e.year()<0?1:0),S=e.month(),l=e.day(),l+(S>1?16:0)+(S>2?(S-2)*32:0)+(w-1)*400+this.jdEpoch-1},fromJD:function(w){w=Math.floor(w+.5)-Math.floor(this.jdEpoch)-1;var S=Math.floor(w/400)+1;w-=(S-1)*400,w+=w>15?16:0;var l=Math.floor(w/32)+1,e=w-(l-1)*32+1;return this.newDate(S<=0?S-1:S,l,e)}});var v={20:"Fruitbat",21:"Anchovy"};j.calendars.discworld=u}}),CG=De({"node_modules/world-calendars/dist/calendars/ethiopian.js"(){var j=Xf(),N=_c();function u(v){this.local=this.regionalOptions[v||""]||this.regionalOptions[""]}u.prototype=new j.baseCalendar,N(u.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(S){var w=this._validate(S,this.minMonth,this.minDay,j.local.invalidYear),S=w.year()+(w.year()<0?1:0);return S%4===3||S%4===-1},monthsInYear:function(v){return this._validate(v,this.minMonth,this.minDay,j.local.invalidYear||j.regionalOptions[""].invalidYear),13},weekOfYear:function(v,w,S){var l=this.newDate(v,w,S);return l.add(-l.dayOfWeek(),"d"),Math.floor((l.dayOfYear()-1)/7)+1},daysInMonth:function(v,w){var S=this._validate(v,w,this.minDay,j.local.invalidMonth);return this.daysPerMonth[S.month()-1]+(S.month()===13&&this.leapYear(S.year())?1:0)},weekDay:function(v,w,S){return(this.dayOfWeek(v,w,S)||7)<6},toJD:function(v,w,S){var l=this._validate(v,w,S,j.local.invalidDate);return v=l.year(),v<0&&v++,l.day()+(l.month()-1)*30+(v-1)*365+Math.floor(v/4)+this.jdEpoch-1},fromJD:function(v){var w=Math.floor(v)+.5-this.jdEpoch,S=Math.floor((w-Math.floor((w+366)/1461))/365)+1;S<=0&&S--,w=Math.floor(v)+.5-this.newDate(S,1,1).toJD();var l=Math.floor(w/30)+1,e=w-(l-1)*30+1;return this.newDate(S,l,e)}}),j.calendars.ethiopian=u}}),LG=De({"node_modules/world-calendars/dist/calendars/hebrew.js"(){var j=Xf(),N=_c();function u(w){this.local=this.regionalOptions[w||""]||this.regionalOptions[""]}u.prototype=new j.baseCalendar,N(u.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(w){var S=this._validate(w,this.minMonth,this.minDay,j.local.invalidYear);return this._leapYear(S.year())},_leapYear:function(w){return w=w<0?w+1:w,v(w*7+1,19)<7},monthsInYear:function(w){return this._validate(w,this.minMonth,this.minDay,j.local.invalidYear),this._leapYear(w.year?w.year():w)?13:12},weekOfYear:function(w,S,l){var e=this.newDate(w,S,l);return e.add(-e.dayOfWeek(),"d"),Math.floor((e.dayOfYear()-1)/7)+1},daysInYear:function(w){var S=this._validate(w,this.minMonth,this.minDay,j.local.invalidYear);return w=S.year(),this.toJD(w===-1?1:w+1,7,1)-this.toJD(w,7,1)},daysInMonth:function(w,S){return w.year&&(S=w.month(),w=w.year()),this._validate(w,S,this.minDay,j.local.invalidMonth),S===12&&this.leapYear(w)||S===8&&v(this.daysInYear(w),10)===5?30:S===9&&v(this.daysInYear(w),10)===3?29:this.daysPerMonth[S-1]},weekDay:function(w,S,l){return this.dayOfWeek(w,S,l)!==6},extraInfo:function(w,S,l){var e=this._validate(w,S,l,j.local.invalidDate);return{yearType:(this.leapYear(e)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(e)%10-3]}},toJD:function(w,S,l){var e=this._validate(w,S,l,j.local.invalidDate);w=e.year(),S=e.month(),l=e.day();var t=w<=0?w+1:w,a=this.jdEpoch+this._delay1(t)+this._delay2(t)+l+1;if(S<7){for(var r=7;r<=this.monthsInYear(w);r++)a+=this.daysInMonth(w,r);for(var r=1;r=this.toJD(S===-1?1:S+1,7,1);)S++;for(var l=wthis.toJD(S,l,this.daysInMonth(S,l));)l++;var e=w-this.toJD(S,l,1)+1;return this.newDate(S,l,e)}});function v(w,S){return w-S*Math.floor(w/S)}j.calendars.hebrew=u}}),PG=De({"node_modules/world-calendars/dist/calendars/islamic.js"(){var j=Xf(),N=_c();function u(v){this.local=this.regionalOptions[v||""]||this.regionalOptions[""]}u.prototype=new j.baseCalendar,N(u.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(v){var w=this._validate(v,this.minMonth,this.minDay,j.local.invalidYear);return(w.year()*11+14)%30<11},weekOfYear:function(v,w,S){var l=this.newDate(v,w,S);return l.add(-l.dayOfWeek(),"d"),Math.floor((l.dayOfYear()-1)/7)+1},daysInYear:function(v){return this.leapYear(v)?355:354},daysInMonth:function(v,w){var S=this._validate(v,w,this.minDay,j.local.invalidMonth);return this.daysPerMonth[S.month()-1]+(S.month()===12&&this.leapYear(S.year())?1:0)},weekDay:function(v,w,S){return this.dayOfWeek(v,w,S)!==5},toJD:function(v,w,S){var l=this._validate(v,w,S,j.local.invalidDate);return v=l.year(),w=l.month(),S=l.day(),v=v<=0?v+1:v,S+Math.ceil(29.5*(w-1))+(v-1)*354+Math.floor((3+11*v)/30)+this.jdEpoch-1},fromJD:function(v){v=Math.floor(v)+.5;var w=Math.floor((30*(v-this.jdEpoch)+10646)/10631);w=w<=0?w-1:w;var S=Math.min(12,Math.ceil((v-29-this.toJD(w,1,1))/29.5)+1),l=v-this.toJD(w,S,1)+1;return this.newDate(w,S,l)}}),j.calendars.islamic=u}}),RG=De({"node_modules/world-calendars/dist/calendars/julian.js"(){var j=Xf(),N=_c();function u(v){this.local=this.regionalOptions[v||""]||this.regionalOptions[""]}u.prototype=new j.baseCalendar,N(u.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(S){var w=this._validate(S,this.minMonth,this.minDay,j.local.invalidYear),S=w.year()<0?w.year()+1:w.year();return S%4===0},weekOfYear:function(v,w,S){var l=this.newDate(v,w,S);return l.add(4-(l.dayOfWeek()||7),"d"),Math.floor((l.dayOfYear()-1)/7)+1},daysInMonth:function(v,w){var S=this._validate(v,w,this.minDay,j.local.invalidMonth);return this.daysPerMonth[S.month()-1]+(S.month()===2&&this.leapYear(S.year())?1:0)},weekDay:function(v,w,S){return(this.dayOfWeek(v,w,S)||7)<6},toJD:function(v,w,S){var l=this._validate(v,w,S,j.local.invalidDate);return v=l.year(),w=l.month(),S=l.day(),v<0&&v++,w<=2&&(v--,w+=12),Math.floor(365.25*(v+4716))+Math.floor(30.6001*(w+1))+S-1524.5},fromJD:function(v){var w=Math.floor(v+.5),S=w+1524,l=Math.floor((S-122.1)/365.25),e=Math.floor(365.25*l),t=Math.floor((S-e)/30.6001),a=t-Math.floor(t<14?1:13),r=l-Math.floor(a>2?4716:4715),n=S-e-Math.floor(30.6001*t);return r<=0&&r--,this.newDate(r,a,n)}}),j.calendars.julian=u}}),IG=De({"node_modules/world-calendars/dist/calendars/mayan.js"(){var j=Xf(),N=_c();function u(S){this.local=this.regionalOptions[S||""]||this.regionalOptions[""]}u.prototype=new j.baseCalendar,N(u.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(S){return this._validate(S,this.minMonth,this.minDay,j.local.invalidYear),!1},formatYear:function(S){var l=this._validate(S,this.minMonth,this.minDay,j.local.invalidYear);S=l.year();var e=Math.floor(S/400);S=S%400,S+=S<0?400:0;var t=Math.floor(S/20);return e+"."+t+"."+S%20},forYear:function(S){if(S=S.split("."),S.length<3)throw"Invalid Mayan year";for(var l=0,e=0;e19||e>0&&t<0)throw"Invalid Mayan year";l=l*20+t}return l},monthsInYear:function(S){return this._validate(S,this.minMonth,this.minDay,j.local.invalidYear),18},weekOfYear:function(S,l,e){return this._validate(S,l,e,j.local.invalidDate),0},daysInYear:function(S){return this._validate(S,this.minMonth,this.minDay,j.local.invalidYear),360},daysInMonth:function(S,l){return this._validate(S,l,this.minDay,j.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(S,l,e){var t=this._validate(S,l,e,j.local.invalidDate);return t.day()},weekDay:function(S,l,e){return this._validate(S,l,e,j.local.invalidDate),!0},extraInfo:function(S,l,e){var t=this._validate(S,l,e,j.local.invalidDate),a=t.toJD(),r=this._toHaab(a),n=this._toTzolkin(a);return{haabMonthName:this.local.haabMonths[r[0]-1],haabMonth:r[0],haabDay:r[1],tzolkinDayName:this.local.tzolkinMonths[n[0]-1],tzolkinDay:n[0],tzolkinTrecena:n[1]}},_toHaab:function(S){S-=this.jdEpoch;var l=v(S+8+17*20,365);return[Math.floor(l/20)+1,v(l,20)]},_toTzolkin:function(S){return S-=this.jdEpoch,[w(S+20,20),w(S+4,13)]},toJD:function(S,l,e){var t=this._validate(S,l,e,j.local.invalidDate);return t.day()+t.month()*20+t.year()*360+this.jdEpoch},fromJD:function(S){S=Math.floor(S)+.5-this.jdEpoch;var l=Math.floor(S/360);S=S%360,S+=S<0?360:0;var e=Math.floor(S/20),t=S%20;return this.newDate(l,e,t)}});function v(S,l){return S-l*Math.floor(S/l)}function w(S,l){return v(S-1,l)+1}j.calendars.mayan=u}}),DG=De({"node_modules/world-calendars/dist/calendars/nanakshahi.js"(){var j=Xf(),N=_c();function u(w){this.local=this.regionalOptions[w||""]||this.regionalOptions[""]}u.prototype=new j.baseCalendar;var v=j.instance("gregorian");N(u.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(w){var S=this._validate(w,this.minMonth,this.minDay,j.local.invalidYear||j.regionalOptions[""].invalidYear);return v.leapYear(S.year()+(S.year()<1?1:0)+1469)},weekOfYear:function(w,S,l){var e=this.newDate(w,S,l);return e.add(1-(e.dayOfWeek()||7),"d"),Math.floor((e.dayOfYear()-1)/7)+1},daysInMonth:function(w,S){var l=this._validate(w,S,this.minDay,j.local.invalidMonth);return this.daysPerMonth[l.month()-1]+(l.month()===12&&this.leapYear(l.year())?1:0)},weekDay:function(w,S,l){return(this.dayOfWeek(w,S,l)||7)<6},toJD:function(t,S,l){var e=this._validate(t,S,l,j.local.invalidMonth),t=e.year();t<0&&t++;for(var a=e.day(),r=1;r=this.toJD(S+1,1,1);)S++;for(var l=w-Math.floor(this.toJD(S,1,1)+.5)+1,e=1;l>this.daysInMonth(S,e);)l-=this.daysInMonth(S,e),e++;return this.newDate(S,e,l)}}),j.calendars.nanakshahi=u}}),FG=De({"node_modules/world-calendars/dist/calendars/nepali.js"(){var j=Xf(),N=_c();function u(v){this.local=this.regionalOptions[v||""]||this.regionalOptions[""]}u.prototype=new j.baseCalendar,N(u.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(v){return this.daysInYear(v)!==this.daysPerYear},weekOfYear:function(v,w,S){var l=this.newDate(v,w,S);return l.add(-l.dayOfWeek(),"d"),Math.floor((l.dayOfYear()-1)/7)+1},daysInYear:function(v){var w=this._validate(v,this.minMonth,this.minDay,j.local.invalidYear);if(v=w.year(),typeof this.NEPALI_CALENDAR_DATA[v]>"u")return this.daysPerYear;for(var S=0,l=this.minMonth;l<=12;l++)S+=this.NEPALI_CALENDAR_DATA[v][l];return S},daysInMonth:function(v,w){return v.year&&(w=v.month(),v=v.year()),this._validate(v,w,this.minDay,j.local.invalidMonth),typeof this.NEPALI_CALENDAR_DATA[v]>"u"?this.daysPerMonth[w-1]:this.NEPALI_CALENDAR_DATA[v][w]},weekDay:function(v,w,S){return this.dayOfWeek(v,w,S)!==6},toJD:function(v,w,S){var l=this._validate(v,w,S,j.local.invalidDate);v=l.year(),w=l.month(),S=l.day();var e=j.instance(),t=0,a=w,r=v;this._createMissingCalendarData(v);var n=v-(a>9||a===9&&S>=this.NEPALI_CALENDAR_DATA[r][0]?56:57);for(w!==9&&(t=S,a--);a!==9;)a<=0&&(a=12,r--),t+=this.NEPALI_CALENDAR_DATA[r][a],a--;return w===9?(t+=S-this.NEPALI_CALENDAR_DATA[r][0],t<0&&(t+=e.daysInYear(n))):t+=this.NEPALI_CALENDAR_DATA[r][9]-this.NEPALI_CALENDAR_DATA[r][0],e.newDate(n,1,1).add(t,"d").toJD()},fromJD:function(v){var w=j.instance(),S=w.fromJD(v),l=S.year(),e=S.dayOfYear(),t=l+56;this._createMissingCalendarData(t);for(var a=9,r=this.NEPALI_CALENDAR_DATA[t][0],n=this.NEPALI_CALENDAR_DATA[t][a]-r+1;e>n;)a++,a>12&&(a=1,t++),n+=this.NEPALI_CALENDAR_DATA[t][a];var i=this.NEPALI_CALENDAR_DATA[t][a]-(n-e);return this.newDate(t,a,i)},_createMissingCalendarData:function(v){var w=this.daysPerMonth.slice(0);w.unshift(17);for(var S=v-1;S"u"&&(this.NEPALI_CALENDAR_DATA[S]=w)},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]}}),j.calendars.nepali=u}}),zG=De({"node_modules/world-calendars/dist/calendars/persian.js"(){var j=Xf(),N=_c();function u(w){this.local=this.regionalOptions[w||""]||this.regionalOptions[""]}function v(w){var S=w-475;w<0&&S++;var l=.242197,e=l*S,t=l*(S+1),a=e-Math.floor(e),r=t-Math.floor(t);return a>r}u.prototype=new j.baseCalendar,N(u.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(w){var S=this._validate(w,this.minMonth,this.minDay,j.local.invalidYear);return v(S.year())},weekOfYear:function(w,S,l){var e=this.newDate(w,S,l);return e.add(-((e.dayOfWeek()+1)%7),"d"),Math.floor((e.dayOfYear()-1)/7)+1},daysInMonth:function(w,S){var l=this._validate(w,S,this.minDay,j.local.invalidMonth);return this.daysPerMonth[l.month()-1]+(l.month()===12&&this.leapYear(l.year())?1:0)},weekDay:function(w,S,l){return this.dayOfWeek(w,S,l)!==5},toJD:function(w,S,l){var e=this._validate(w,S,l,j.local.invalidDate);w=e.year(),S=e.month(),l=e.day();var t=0;if(w>0)for(var a=1;a0?w-1:w)*365+t+this.jdEpoch-1},fromJD:function(w){w=Math.floor(w)+.5;var S=475+(w-this.toJD(475,1,1))/365.242197,l=Math.floor(S);l<=0&&l--,w>this.toJD(l,12,v(l)?30:29)&&(l++,l===0&&l++);var e=w-this.toJD(l,1,1)+1,t=e<=186?Math.ceil(e/31):Math.ceil((e-6)/30),a=w-this.toJD(l,t,1)+1;return this.newDate(l,t,a)}}),j.calendars.persian=u,j.calendars.jalali=u}}),BG=De({"node_modules/world-calendars/dist/calendars/taiwan.js"(){var j=Xf(),N=_c(),u=j.instance();function v(w){this.local=this.regionalOptions[w||""]||this.regionalOptions[""]}v.prototype=new j.baseCalendar,N(v.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(l){var S=this._validate(l,this.minMonth,this.minDay,j.local.invalidYear),l=this._t2gYear(S.year());return u.leapYear(l)},weekOfYear:function(t,S,l){var e=this._validate(t,this.minMonth,this.minDay,j.local.invalidYear),t=this._t2gYear(e.year());return u.weekOfYear(t,e.month(),e.day())},daysInMonth:function(w,S){var l=this._validate(w,S,this.minDay,j.local.invalidMonth);return this.daysPerMonth[l.month()-1]+(l.month()===2&&this.leapYear(l.year())?1:0)},weekDay:function(w,S,l){return(this.dayOfWeek(w,S,l)||7)<6},toJD:function(t,S,l){var e=this._validate(t,S,l,j.local.invalidDate),t=this._t2gYear(e.year());return u.toJD(t,e.month(),e.day())},fromJD:function(w){var S=u.fromJD(w),l=this._g2tYear(S.year());return this.newDate(l,S.month(),S.day())},_t2gYear:function(w){return w+this.yearsOffset+(w>=-this.yearsOffset&&w<=-1?1:0)},_g2tYear:function(w){return w-this.yearsOffset-(w>=1&&w<=this.yearsOffset?1:0)}}),j.calendars.taiwan=v}}),OG=De({"node_modules/world-calendars/dist/calendars/thai.js"(){var j=Xf(),N=_c(),u=j.instance();function v(w){this.local=this.regionalOptions[w||""]||this.regionalOptions[""]}v.prototype=new j.baseCalendar,N(v.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(l){var S=this._validate(l,this.minMonth,this.minDay,j.local.invalidYear),l=this._t2gYear(S.year());return u.leapYear(l)},weekOfYear:function(t,S,l){var e=this._validate(t,this.minMonth,this.minDay,j.local.invalidYear),t=this._t2gYear(e.year());return u.weekOfYear(t,e.month(),e.day())},daysInMonth:function(w,S){var l=this._validate(w,S,this.minDay,j.local.invalidMonth);return this.daysPerMonth[l.month()-1]+(l.month()===2&&this.leapYear(l.year())?1:0)},weekDay:function(w,S,l){return(this.dayOfWeek(w,S,l)||7)<6},toJD:function(t,S,l){var e=this._validate(t,S,l,j.local.invalidDate),t=this._t2gYear(e.year());return u.toJD(t,e.month(),e.day())},fromJD:function(w){var S=u.fromJD(w),l=this._g2tYear(S.year());return this.newDate(l,S.month(),S.day())},_t2gYear:function(w){return w-this.yearsOffset-(w>=1&&w<=this.yearsOffset?1:0)},_g2tYear:function(w){return w+this.yearsOffset+(w>=-this.yearsOffset&&w<=-1?1:0)}}),j.calendars.thai=v}}),NG=De({"node_modules/world-calendars/dist/calendars/ummalqura.js"(){var j=Xf(),N=_c();function u(w){this.local=this.regionalOptions[w||""]||this.regionalOptions[""]}u.prototype=new j.baseCalendar,N(u.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(w){var S=this._validate(w,this.minMonth,this.minDay,j.local.invalidYear);return this.daysInYear(S.year())===355},weekOfYear:function(w,S,l){var e=this.newDate(w,S,l);return e.add(-e.dayOfWeek(),"d"),Math.floor((e.dayOfYear()-1)/7)+1},daysInYear:function(w){for(var S=0,l=1;l<=12;l++)S+=this.daysInMonth(w,l);return S},daysInMonth:function(w,S){for(var l=this._validate(w,S,this.minDay,j.local.invalidMonth),e=l.toJD()-24e5+.5,t=0,a=0;ae)return v[t]-v[t-1];t++}return 30},weekDay:function(w,S,l){return this.dayOfWeek(w,S,l)!==5},toJD:function(w,S,l){var e=this._validate(w,S,l,j.local.invalidDate),t=12*(e.year()-1)+e.month()-15292,a=e.day()+v[t-1]-1;return a+24e5-.5},fromJD:function(w){for(var S=w-24e5+.5,l=0,e=0;eS);e++)l++;var t=l+15292,a=Math.floor((t-1)/12),r=a+1,n=t-12*a,i=S-v[l-1]+1;return this.newDate(r,n,i)},isValid:function(w,S,l){var e=j.baseCalendar.prototype.isValid.apply(this,arguments);return e&&(w=w.year!=null?w.year:w,e=w>=1276&&w<=1500),e},_validate:function(w,S,l,e){var t=j.baseCalendar.prototype._validate.apply(this,arguments);if(t.year<1276||t.year>1500)throw e.replace(/\{0\}/,this.local.name);return t}}),j.calendars.ummalqura=u;var v=[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]}}),jG=De({"src/components/calendars/calendars.js"(j,N){"use strict";N.exports=Xf(),MG(),SG(),EG(),kG(),CG(),LG(),PG(),RG(),IG(),DG(),FG(),zG(),BG(),OG(),NG()}}),UG=De({"src/components/calendars/index.js"(j,N){"use strict";var u=jG(),v=Ar(),w=Ho(),S=w.EPOCHJD,l=w.ONEDAY,e={valType:"enumerated",values:v.sortObjectKeys(u.calendars),editType:"calc",dflt:"gregorian"},t=function(g,A,m,h){var b={};return b[m]=e,v.coerce(g,A,b,m,h)},a=function(g,A,m,h){for(var b=0;b0){if(++fe>=zW)return arguments[0]}else fe=0;return ie.apply(void 0,arguments)}}var Kg=NW;var jW=Kg(Vg),Jg=jW;var UW=/\{\n\/\* \[wrapped with (.+)\] \*/,qW=/,? & /;function GW(ie){var fe=ie.match(UW);return fe?fe[1].split(qW):[]}var AS=GW;var VW=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;function HW(ie,fe){var Re=fe.length;if(!Re)return ie;var ct=Re-1;return fe[ct]=(Re>1?"& ":"")+fe[ct],fe=fe.join(Re>2?", ":" "),ie.replace(VW,`{ +/* [wrapped with `+fe+`] */ +`)}var TS=HW;function WW(ie){return function(){return ie}}var u0=WW;var YW=function(){try{var ie=Sh(Object,"defineProperty");return ie({},"",{}),ie}catch{}}(),c0=YW;var XW=c0?function(ie,fe){return c0(ie,"toString",{configurable:!0,enumerable:!1,value:u0(fe),writable:!0})}:Nl,MS=XW;var ZW=Kg(MS),f0=ZW;function $W(ie,fe){for(var Re=-1,ct=ie==null?0:ie.length;++Re-1}var pv=tY;var rY=1,aY=2,nY=8,iY=16,oY=32,sY=64,lY=128,uY=256,cY=512,fY=[["ary",lY],["bind",rY],["bindKey",aY],["curry",nY],["curryRight",iY],["flip",cY],["partial",oY],["partialRight",sY],["rearg",uY]];function hY(ie,fe){return nf(fY,function(Re){var ct="_."+Re[0];fe&Re[1]&&!pv(ie,ct)&&ie.push(ct)}),ie.sort()}var ES=hY;function dY(ie,fe,Re){var ct=fe+"";return f0(ie,TS(ct,ES(AS(ct),Re)))}var ey=dY;var vY=1,pY=2,mY=4,gY=8,kS=32,CS=64;function yY(ie,fe,Re,ct,Bt,ur,Gr,ua,da,zn){var Cn=fe&gY,qn=Cn?Gr:void 0,Si=Cn?void 0:Gr,co=Cn?ur:void 0,jo=Cn?void 0:ur;fe|=Cn?kS:CS,fe&=~(Cn?CS:kS),fe&mY||(fe&=~(vY|pY));var di=[ie,fe,Bt,co,qn,jo,Si,ua,da,zn],De=Re.apply(void 0,di);return Km(ie)&&Jg(De,di),De.placeholder=ct,ey(De,ie,fe)}var ty=yY;function _Y(ie){var fe=ie;return fe.placeholder}var qh=_Y;var xY=9007199254740991,bY=/^(?:0|[1-9]\d*)$/;function wY(ie,fe){var Re=typeof ie;return fe=fe??xY,!!fe&&(Re=="number"||Re!="symbol"&&bY.test(ie))&&ie>-1&&ie%1==0&&ie1&&Rs.reverse(),Cn&&da-1&&ie%1==0&&ie<=JY}var mv=QY;function eX(ie){return ie!=null&&mv(ie.length)&&!Cf(ie)}var Yl=eX;function tX(ie,fe,Re){if(!vs(Re))return!1;var ct=typeof fe;return(ct=="number"?Yl(Re)&&Lf(fe,Re.length):ct=="string"&&fe in Re)?pc(Re[fe],ie):!1}var jl=tX;function rX(ie){return Ui(function(fe,Re){var ct=-1,Bt=Re.length,ur=Bt>1?Re[Bt-1]:void 0,Gr=Bt>2?Re[2]:void 0;for(ur=ie.length>3&&typeof ur=="function"?(Bt--,ur):void 0,Gr&&jl(Re[0],Re[1],Gr)&&(ur=Bt<3?void 0:ur,Bt=1),fe=Object(fe);++ct-1}var uE=PZ;function RZ(ie,fe){var Re=this.__data__,ct=yv(Re,ie);return ct<0?(++this.size,Re.push([ie,fe])):Re[ct][1]=fe,this}var cE=RZ;function y0(ie){var fe=-1,Re=ie==null?0:ie.length;for(this.clear();++fe0&&Re(ua)?fe>1?xE(ua,fe-1,Re,ct,Bt):lh(Bt,ua):ct||(Bt[Bt.length]=ua)}return Bt}var dl=xE;function r$(ie){var fe=ie==null?0:ie.length;return fe?dl(ie,1):[]}var ly=r$;function a$(ie){return f0(ay(ie,void 0,ly),ie+"")}var Df=a$;var n$=Df(b0),bE=n$;var i$=iy(Object.getPrototypeOf,Object),wv=i$;var o$="[object Object]",s$=Function.prototype,l$=Object.prototype,wE=s$.toString,u$=l$.hasOwnProperty,c$=wE.call(Object);function f$(ie){if(!gs(ie)||Ol(ie)!=o$)return!1;var fe=wv(ie);if(fe===null)return!0;var Re=u$.call(fe,"constructor")&&fe.constructor;return typeof Re=="function"&&Re instanceof Re&&wE.call(Re)==c$}var bd=f$;var h$="[object DOMException]",d$="[object Error]";function v$(ie){if(!gs(ie))return!1;var fe=Ol(ie);return fe==d$||fe==h$||typeof ie.message=="string"&&typeof ie.name=="string"&&!bd(ie)}var w0=v$;var p$=Ui(function(ie,fe){try{return Lu(ie,void 0,fe)}catch(Re){return w0(Re)?Re:new Error(Re)}}),uy=p$;var m$="Expected a function";function g$(ie,fe){var Re;if(typeof fe!="function")throw new TypeError(m$);return ie=ji(ie),function(){return--ie>0&&(Re=fe.apply(this,arguments)),ie<=1&&(fe=void 0),Re}}var cy=g$;var y$=1,_$=32,H2=Ui(function(ie,fe,Re){var ct=y$;if(Re.length){var Bt=gh(Re,qh(H2));ct|=_$}return Pf(ie,ct,fe,Re,Bt)});H2.placeholder={};var fy=H2;var x$=Df(function(ie,fe){return nf(fe,function(Re){Re=qc(Re),Rf(ie,Re,fy(ie[Re],ie))}),ie}),AE=x$;var b$=1,w$=2,A$=32,W2=Ui(function(ie,fe,Re){var ct=b$|w$;if(Re.length){var Bt=gh(Re,qh(W2));ct|=A$}return Pf(fe,ct,ie,Re,Bt)});W2.placeholder={};var TE=W2;function T$(ie,fe,Re){var ct=-1,Bt=ie.length;fe<0&&(fe=-fe>Bt?0:Bt+fe),Re=Re>Bt?Bt:Re,Re<0&&(Re+=Bt),Bt=fe>Re?0:Re-fe>>>0,fe>>>=0;for(var ur=Array(Bt);++ct=ct?ie:ec(ie,fe,Re)}var uh=M$;var S$="\\ud800-\\udfff",E$="\\u0300-\\u036f",k$="\\ufe20-\\ufe2f",C$="\\u20d0-\\u20ff",L$=E$+k$+C$,P$="\\ufe0e\\ufe0f",R$="\\u200d",I$=RegExp("["+R$+S$+L$+P$+"]");function D$(ie){return I$.test(ie)}var Hh=D$;function F$(ie){return ie.split("")}var ME=F$;var SE="\\ud800-\\udfff",z$="\\u0300-\\u036f",B$="\\ufe20-\\ufe2f",O$="\\u20d0-\\u20ff",N$=z$+B$+O$,j$="\\ufe0e\\ufe0f",U$="["+SE+"]",Y2="["+N$+"]",X2="\\ud83c[\\udffb-\\udfff]",q$="(?:"+Y2+"|"+X2+")",EE="[^"+SE+"]",kE="(?:\\ud83c[\\udde6-\\uddff]){2}",CE="[\\ud800-\\udbff][\\udc00-\\udfff]",G$="\\u200d",LE=q$+"?",PE="["+j$+"]?",V$="(?:"+G$+"(?:"+[EE,kE,CE].join("|")+")"+PE+LE+")*",H$=PE+LE+V$,W$="(?:"+[EE+Y2+"?",Y2,kE,CE,U$].join("|")+")",Y$=RegExp(X2+"(?="+X2+")|"+W$+H$,"g");function X$(ie){return ie.match(Y$)||[]}var RE=X$;function Z$(ie){return Hh(ie)?RE(ie):ME(ie)}var of=Z$;function $$(ie){return function(fe){fe=So(fe);var Re=Hh(fe)?of(fe):void 0,ct=Re?Re[0]:fe.charAt(0),Bt=Re?uh(Re,1).join(""):fe.slice(1);return ct[ie]()+Bt}}var hy=$$;var K$=hy("toUpperCase"),A0=K$;function J$(ie){return A0(So(ie).toLowerCase())}var dy=J$;function Q$(ie,fe,Re,ct){var Bt=-1,ur=ie==null?0:ie.length;for(ct&&ur&&(Re=ie[++Bt]);++Bt=fe?ie:fe)),ie}var kh=JK;function QK(ie,fe,Re){return Re===void 0&&(Re=fe,fe=void 0),Re!==void 0&&(Re=jc(Re),Re=Re===Re?Re:0),fe!==void 0&&(fe=jc(fe),fe=fe===fe?fe:0),kh(jc(ie),fe,Re)}var nk=QK;function eJ(){this.__data__=new _v,this.size=0}var ik=eJ;function tJ(ie){var fe=this.__data__,Re=fe.delete(ie);return this.size=fe.size,Re}var ok=tJ;function rJ(ie){return this.__data__.get(ie)}var sk=rJ;function aJ(ie){return this.__data__.has(ie)}var lk=aJ;var nJ=200;function iJ(ie,fe){var Re=this.__data__;if(Re instanceof _v){var ct=Re.__data__;if(!xv||ct.lengthua))return!1;var zn=ur.get(ie),Cn=ur.get(fe);if(zn&&Cn)return zn==fe&&Cn==ie;var qn=-1,Si=!0,co=Re&iee?new Tv:void 0;for(ur.set(ie,fe),ur.set(fe,ie);++qn=fe||Qn<0||qn&&Fh>=ur}function Zo(){var Vu=U0();if(De(Vu))return Rs(Vu);ua=setTimeout(Zo,di(Vu))}function Rs(Vu){return ua=void 0,Si&&ct?co(Vu):(ct=Bt=void 0,Gr)}function Du(){ua!==void 0&&clearTimeout(ua),zn=0,ct=da=Bt=ua=void 0}function ts(){return ua===void 0?Gr:Rs(U0())}function cf(){var Vu=U0(),Qn=De(Vu);if(ct=arguments,Bt=this,da=Vu,Qn){if(ua===void 0)return jo(da);if(qn)return clearTimeout(ua),ua=setTimeout(Zo,fe),co(da)}return ua===void 0&&(ua=setTimeout(Zo,fe)),Gr}return cf.cancel=Du,cf.flush=ts,cf}var jy=yte;function _te(ie,fe){return ie==null||ie!==ie?fe:ie}var h4=_te;var d4=Object.prototype,xte=d4.hasOwnProperty,bte=Ui(function(ie,fe){ie=Object(ie);var Re=-1,ct=fe.length,Bt=ct>2?fe[2]:void 0;for(Bt&&jl(fe[0],fe[1],Bt)&&(ct=1);++Re=Dte&&(ur=qd,Gr=!1,fe=new Tv(fe));e:for(;++Bt=0&&ie.slice(Re,Bt)==fe}var P4=Qte;function ere(ie,fe){return fs(fe,function(Re){return[Re,ie[Re]]})}var R4=ere;function tre(ie){var fe=-1,Re=Array(ie.size);return ie.forEach(function(ct){Re[++fe]=[ct,ct]}),Re}var I4=tre;var rre="[object Map]",are="[object Set]";function nre(ie){return function(fe){var Re=sf(fe);return Re==rre?F0(fe):Re==are?I4(fe):R4(fe,ie(fe))}}var Wy=nre;var ire=Wy(js),o1=ire;var ore=Wy(Xl),s1=ore;var sre={"&":"&","<":"<",">":">",'"':""","'":"'"},lre=M0(sre),D4=lre;var F4=/[&<>"']/g,ure=RegExp(F4.source);function cre(ie){return ie=So(ie),ie&&ure.test(ie)?ie.replace(F4,D4):ie}var Yy=cre;var z4=/[\\^$.*+?()[\]{}|]/g,fre=RegExp(z4.source);function hre(ie){return ie=So(ie),ie&&fre.test(ie)?ie.replace(z4,"\\$&"):ie}var B4=hre;function dre(ie,fe){for(var Re=-1,ct=ie==null?0:ie.length;++ReBt?0:Bt+Re),ct=ct===void 0||ct>Bt?Bt:ji(ct),ct<0&&(ct+=Bt),ct=Re>ct?0:Zy(ct);Re-1?Bt[ur?fe[Gr]:Gr]:void 0}}var Ky=wre;var Are=Math.max;function Tre(ie,fe,Re){var ct=ie==null?0:ie.length;if(!ct)return-1;var Bt=Re==null?0:ji(Re);return Bt<0&&(Bt=Are(ct+Bt,0)),vv(ie,Ai(fe,3),Bt)}var Jy=Tre;var Mre=Ky(Jy),G4=Mre;function Sre(ie,fe,Re){var ct;return Re(ie,function(Bt,ur,Gr){if(fe(Bt,ur,Gr))return ct=ur,!1}),ct}var Qy=Sre;function Ere(ie,fe){return Qy(ie,Ai(fe,3),zf)}var V4=Ere;var kre=Math.max,Cre=Math.min;function Lre(ie,fe,Re){var ct=ie==null?0:ie.length;if(!ct)return-1;var Bt=ct-1;return Re!==void 0&&(Bt=ji(Re),Bt=Re<0?kre(ct+Bt,0):Cre(Bt,ct-1)),vv(ie,Ai(fe,3),Bt,!0)}var e_=Lre;var Pre=Ky(e_),H4=Pre;function Rre(ie,fe){return Qy(ie,Ai(fe,3),V0)}var W4=Rre;function Ire(ie){return ie&&ie.length?ie[0]:void 0}var l1=Ire;function Dre(ie,fe){var Re=-1,ct=Yl(ie)?Array(ie.length):[];return fh(ie,function(Bt,ur,Gr){ct[++Re]=fe(Bt,ur,Gr)}),ct}var t_=Dre;function Fre(ie,fe){var Re=Ii(ie)?fs:t_;return Re(ie,Ai(fe,3))}var Cv=Fre;function zre(ie,fe){return dl(Cv(ie,fe),1)}var Y4=zre;var Bre=1/0;function Ore(ie,fe){return dl(Cv(ie,fe),Bre)}var X4=Ore;function Nre(ie,fe,Re){return Re=Re===void 0?1:ji(Re),dl(Cv(ie,fe),Re)}var Z4=Nre;var jre=1/0;function Ure(ie){var fe=ie==null?0:ie.length;return fe?dl(ie,jre):[]}var $4=Ure;function qre(ie,fe){var Re=ie==null?0:ie.length;return Re?(fe=fe===void 0?1:ji(fe),dl(ie,fe)):[]}var K4=qre;var Gre=512;function Vre(ie){return Pf(ie,Gre)}var J4=Vre;var Hre=E0("floor"),Q4=Hre;var Wre="Expected a function",Yre=8,Xre=32,Zre=128,$re=256;function Kre(ie){return Df(function(fe){var Re=fe.length,ct=Re,Bt=oh.prototype.thru;for(ie&&fe.reverse();ct--;){var ur=fe[ct];if(typeof ur!="function")throw new TypeError(Wre);if(Bt&&!Gr&&l0(ur)=="wrapper")var Gr=new oh([],!0)}for(ct=Gr?ct:Re;++ctfe}var H0=fae;function hae(ie){return function(fe,Re){return typeof fe=="string"&&typeof Re=="string"||(fe=jc(fe),Re=jc(Re)),ie(fe,Re)}}var Pv=hae;var dae=Pv(H0),cC=dae;var vae=Pv(function(ie,fe){return ie>=fe}),fC=vae;var pae=Object.prototype,mae=pae.hasOwnProperty;function gae(ie,fe){return ie!=null&&mae.call(ie,fe)}var hC=gae;function yae(ie,fe){return ie!=null&&Dy(ie,fe,hC)}var dC=yae;var _ae=Math.max,xae=Math.min;function bae(ie,fe,Re){return ie>=xae(fe,Re)&&ie<_ae(fe,Re)}var vC=bae;function wae(ie,fe,Re){return fe=Mh(fe),Re===void 0?(Re=fe,fe=0):Re=Mh(Re),ie=jc(ie),vC(ie,fe,Re)}var pC=wae;var Aae="[object String]";function Tae(ie){return typeof ie=="string"||!Ii(ie)&&gs(ie)&&Ol(ie)==Aae}var Rv=Tae;function Mae(ie,fe){return fs(fe,function(Re){return ie[Re]})}var W0=Mae;function Sae(ie){return ie==null?[]:W0(ie,js(ie))}var Yh=Sae;var Eae=Math.max;function kae(ie,fe,Re,ct){ie=Yl(ie)?ie:Yh(ie),Re=Re&&!ct?ji(Re):0;var Bt=ie.length;return Re<0&&(Re=Eae(Bt+Re,0)),Rv(ie)?Re<=Bt&&ie.indexOf(fe,Re)>-1:!!Bt&&Uh(ie,fe,Re)>-1}var mC=kae;var Cae=Math.max;function Lae(ie,fe,Re){var ct=ie==null?0:ie.length;if(!ct)return-1;var Bt=Re==null?0:ji(Re);return Bt<0&&(Bt=Cae(ct+Bt,0)),Uh(ie,fe,Bt)}var gC=Lae;function Pae(ie){var fe=ie==null?0:ie.length;return fe?ec(ie,0,-1):[]}var yC=Pae;var Rae=Math.min;function Iae(ie,fe,Re){for(var ct=Re?G0:pv,Bt=ie[0].length,ur=ie.length,Gr=ur,ua=Array(ur),da=1/0,zn=[];Gr--;){var Cn=ie[Gr];Gr&&fe&&(Cn=fs(Cn,Ru(fe))),da=Rae(Cn.length,da),ua[Gr]=!Re&&(fe||Bt>=120&&Cn.length>=120)?new Tv(Gr&&Cn):void 0}Cn=ie[0];var qn=-1,Si=ua[0];e:for(;++qn=-ZC&&ie<=ZC}var $C=kne;function Cne(ie){return ie===void 0}var KC=Cne;var Lne="[object WeakMap]";function Pne(ie){return gs(ie)&&sf(ie)==Lne}var JC=Pne;var Rne="[object WeakSet]";function Ine(ie){return gs(ie)&&Ol(ie)==Rne}var QC=Ine;var Dne=1;function Fne(ie){return Ai(typeof ie=="function"?ie:Ff(ie,Dne))}var e8=Fne;var zne=Array.prototype,Bne=zne.join;function One(ie,fe){return ie==null?"":Bne.call(ie,fe)}var t8=One;var Nne=Wh(function(ie,fe,Re){return ie+(Re?"-":"")+fe.toLowerCase()}),r8=Nne;var jne=Ev(function(ie,fe,Re){Rf(ie,Re,fe)}),a8=jne;function Une(ie,fe,Re){for(var ct=Re+1;ct--;)if(ie[ct]===fe)return ct;return ct}var n8=Une;var qne=Math.max,Gne=Math.min;function Vne(ie,fe,Re){var ct=ie==null?0:ie.length;if(!ct)return-1;var Bt=ct;return Re!==void 0&&(Bt=ji(Re),Bt=Bt<0?qne(ct+Bt,0):Gne(Bt,ct-1)),fe===fe?n8(ie,fe,Bt):vv(ie,Qg,Bt,!0)}var i8=Vne;var Hne=Wh(function(ie,fe,Re){return ie+(Re?" ":"")+fe.toLowerCase()}),o8=Hne;var Wne=hy("toLowerCase"),s8=Wne;function Yne(ie,fe){return ie=this.__values__.length,fe=ie?void 0:this.__values__[this.__index__++];return{done:ie,value:fe}}var M8=Aie;function Tie(ie,fe){var Re=ie.length;if(Re)return fe+=fe<0?Re:0,Lf(fe,Re)?ie[fe]:void 0}var c_=Tie;function Mie(ie,fe){return ie&&ie.length?c_(ie,ji(fe)):void 0}var S8=Mie;function Sie(ie){return ie=ji(ie),Ui(function(fe){return c_(fe,ie)})}var E8=Sie;function Eie(ie,fe){return fe=sh(fe,ie),ie=n_(ie,fe),ie==null||delete ie[qc(Iu(fe))]}var J0=Eie;function kie(ie){return bd(ie)?void 0:ie}var k8=kie;var Cie=1,Lie=2,Pie=4,Rie=Df(function(ie,fe){var Re={};if(ie==null)return Re;var ct=!1;fe=fs(fe,function(ur){return ur=sh(ur,ie),ct||(ct=ur.length>1),ur}),Uc(ie,P0(ie),Re),ct&&(Re=Ff(Re,Cie|Lie|Pie,k8));for(var Bt=fe.length;Bt--;)J0(Re,fe[Bt]);return Re}),C8=Rie;function Iie(ie,fe,Re,ct){if(!vs(ie))return ie;fe=sh(fe,ie);for(var Bt=-1,ur=fe.length,Gr=ur-1,ua=ie;ua!=null&&++Btfe||ur&&Gr&&da&&!ua&&!zn||ct&&Gr&&da||!Re&&da||!Bt)return 1;if(!ct&&!ur&&!zn&&ie=ua)return da;var zn=Re[ct];return da*(zn=="desc"?-1:1)}}return ie.index-fe.index}var I8=jie;function Uie(ie,fe,Re){fe.length?fe=fs(fe,function(ur){return Ii(ur)?function(Gr){return Eh(Gr,ur.length===1?ur[0]:ur)}:ur}):fe=[Nl];var ct=-1;fe=fs(fe,Ru(Ai));var Bt=t_(ie,function(ur,Gr,ua){var da=fs(fe,function(zn){return zn(ur)});return{criteria:da,index:++ct,value:ur}});return R8(Bt,function(ur,Gr){return I8(ur,Gr,Re)})}var v_=Uie;function qie(ie,fe,Re,ct){return ie==null?[]:(Ii(fe)||(fe=fe==null?[]:[fe]),Re=ct?void 0:Re,Ii(Re)||(Re=Re==null?[]:[Re]),v_(ie,fe,Re))}var D8=qie;function Gie(ie){return Df(function(fe){return fe=fs(fe,Ru(Ai)),Ui(function(Re){var ct=this;return ie(fe,function(Bt){return Lu(Bt,ct,Re)})})})}var Q0=Gie;var Vie=Q0(fs),F8=Vie;var Hie=Ui,z8=Hie;var Wie=Math.min,Yie=z8(function(ie,fe){fe=fe.length==1&&Ii(fe[0])?fs(fe[0],Ru(Ai)):fs(dl(fe,1),Ru(Ai));var Re=fe.length;return Ui(function(ct){for(var Bt=-1,ur=Wie(ct.length,Re);++Bt$ie)return Re;do fe%2&&(Re+=ie),fe=Kie(fe/2),fe&&(ie+=ie);while(fe);return Re}var u1=Jie;var Qie=N0("length"),j8=Qie;var q8="\\ud800-\\udfff",eoe="\\u0300-\\u036f",toe="\\ufe20-\\ufe2f",roe="\\u20d0-\\u20ff",aoe=eoe+toe+roe,noe="\\ufe0e\\ufe0f",ioe="["+q8+"]",Q2="["+aoe+"]",e3="\\ud83c[\\udffb-\\udfff]",ooe="(?:"+Q2+"|"+e3+")",G8="[^"+q8+"]",V8="(?:\\ud83c[\\udde6-\\uddff]){2}",H8="[\\ud800-\\udbff][\\udc00-\\udfff]",soe="\\u200d",W8=ooe+"?",Y8="["+noe+"]?",loe="(?:"+soe+"(?:"+[G8,V8,H8].join("|")+")"+Y8+W8+")*",uoe=Y8+W8+loe,coe="(?:"+[G8+Q2+"?",Q2,V8,H8,ioe].join("|")+")",U8=RegExp(e3+"(?="+e3+")|"+coe+uoe,"g");function foe(ie){for(var fe=U8.lastIndex=0;U8.test(ie);)++fe;return fe}var X8=foe;function hoe(ie){return Hh(ie)?X8(ie):j8(ie)}var Xh=hoe;var doe=Math.ceil;function voe(ie,fe){fe=fe===void 0?" ":vc(fe);var Re=fe.length;if(Re<2)return Re?u1(fe,ie):fe;var ct=u1(fe,doe(ie/Xh(fe)));return Hh(fe)?uh(of(ct),0,ie).join(""):ct.slice(0,ie)}var vp=voe;var poe=Math.ceil,moe=Math.floor;function goe(ie,fe,Re){ie=So(ie),fe=ji(fe);var ct=fe?Xh(ie):0;if(!fe||ct>=fe)return ie;var Bt=(fe-ct)/2;return vp(moe(Bt),Re)+ie+vp(poe(Bt),Re)}var Z8=goe;function yoe(ie,fe,Re){ie=So(ie),fe=ji(fe);var ct=fe?Xh(ie):0;return fe&&ct-1;)ua!==ie&&o7.call(ua,da,1),o7.call(ie,da,1);return ie}var em=Roe;function Ioe(ie,fe){return ie&&ie.length&&fe&&fe.length?em(ie,fe):ie}var m_=Ioe;var Doe=Ui(m_),s7=Doe;function Foe(ie,fe,Re){return ie&&ie.length&&fe&&fe.length?em(ie,fe,Ai(Re,2)):ie}var l7=Foe;function zoe(ie,fe,Re){return ie&&ie.length&&fe&&fe.length?em(ie,fe,void 0,Re):ie}var u7=zoe;var Boe=Array.prototype,Ooe=Boe.splice;function Noe(ie,fe){for(var Re=ie?fe.length:0,ct=Re-1;Re--;){var Bt=fe[Re];if(Re==ct||Bt!==ur){var ur=Bt;Lf(Bt)?Ooe.call(ie,Bt,1):J0(ie,Bt)}}return ie}var g_=Noe;var joe=Df(function(ie,fe){var Re=ie==null?0:ie.length,ct=b0(ie,fe);return g_(ie,fs(fe,function(Bt){return Lf(Bt,Re)?+Bt:Bt}).sort(d_)),ct}),c7=joe;var Uoe=Math.floor,qoe=Math.random;function Goe(ie,fe){return ie+Uoe(qoe()*(fe-ie+1))}var tm=Goe;var Voe=parseFloat,Hoe=Math.min,Woe=Math.random;function Yoe(ie,fe,Re){if(Re&&typeof Re!="boolean"&&jl(ie,fe,Re)&&(fe=Re=void 0),Re===void 0&&(typeof fe=="boolean"?(Re=fe,fe=void 0):typeof ie=="boolean"&&(Re=ie,ie=void 0)),ie===void 0&&fe===void 0?(ie=0,fe=1):(ie=Mh(ie),fe===void 0?(fe=ie,ie=0):fe=Mh(fe)),ie>fe){var ct=ie;ie=fe,fe=ct}if(Re||ie%1||fe%1){var Bt=Woe();return Hoe(ie+Bt*(fe-ie+Voe("1e-"+((Bt+"").length-1))),fe)}return tm(ie,fe)}var f7=Yoe;var Xoe=Math.ceil,Zoe=Math.max;function $oe(ie,fe,Re,ct){for(var Bt=-1,ur=Zoe(Xoe((fe-ie)/(Re||1)),0),Gr=Array(ur);ur--;)Gr[ct?ur:++Bt]=ie,ie+=Re;return Gr}var h7=$oe;function Koe(ie){return function(fe,Re,ct){return ct&&typeof ct!="number"&&jl(fe,Re,ct)&&(Re=ct=void 0),fe=Mh(fe),Re===void 0?(Re=fe,fe=0):Re=Mh(Re),ct=ct===void 0?fe1&&jl(ie,fe[0],fe[1])?fe=[]:Re>2&&jl(fe[0],fe[1],fe[2])&&(fe=[fe[0]]),v_(ie,dl(fe,1),[])}),U7=zse;var Bse=4294967295,Ose=Bse-1,Nse=Math.floor,jse=Math.min;function Use(ie,fe,Re,ct){var Bt=0,ur=ie==null?0:ie.length;if(ur===0)return 0;fe=Re(fe);for(var Gr=fe!==fe,ua=fe===null,da=qu(fe),zn=fe===void 0;Bt>>1;function Vse(ie,fe,Re){var ct=0,Bt=ie==null?ct:ie.length;if(typeof fe=="number"&&fe===fe&&Bt<=Gse){for(;ct>>1,Gr=ie[ur];Gr!==null&&!qu(Gr)&&(Re?Gr<=fe:Gr>>0,Re?(ie=So(ie),ie&&(typeof fe=="string"||fe!=null&&!Z0(fe))&&(fe=vc(fe),!fe&&Hh(ie))?uh(of(ie),0,Re):ie.split(fe,Re)):[]}var $7=tle;var rle="Expected a function",ale=Math.max;function nle(ie,fe){if(typeof ie!="function")throw new TypeError(rle);return fe=fe==null?0:ale(ji(fe),0),Ui(function(Re){var ct=Re[fe],Bt=uh(Re,0,fe);return ct&&lh(Bt,ct),Lu(ie,this,Bt)})}var K7=nle;var ile=Wh(function(ie,fe,Re){return ie+(Re?" ":"")+A0(fe)}),J7=ile;function ole(ie,fe,Re){return ie=So(ie),Re=Re==null?0:kh(ji(Re),0,ie.length),fe=vc(fe),ie.slice(Re,Re+fe.length)==fe}var Q7=ole;function sle(){return{}}var eL=sle;function lle(){return""}var tL=lle;function ule(){return!0}var rL=ule;var cle=fv(function(ie,fe){return ie-fe},0),aL=cle;function fle(ie){return ie&&ie.length?K0(ie,Nl):0}var nL=fle;function hle(ie,fe){return ie&&ie.length?K0(ie,Ai(fe,2)):0}var iL=hle;function dle(ie){var fe=ie==null?0:ie.length;return fe?ec(ie,1,fe):[]}var oL=dle;function vle(ie,fe,Re){return ie&&ie.length?(fe=Re||fe===void 0?1:ji(fe),ec(ie,0,fe<0?0:fe)):[]}var sL=vle;function ple(ie,fe,Re){var ct=ie==null?0:ie.length;return ct?(fe=Re||fe===void 0?1:ji(fe),fe=ct-fe,ec(ie,fe<0?0:fe,ct)):[]}var lL=ple;function mle(ie,fe){return ie&&ie.length?kv(ie,Ai(fe,3),!1,!0):[]}var uL=mle;function gle(ie,fe){return ie&&ie.length?kv(ie,Ai(fe,3)):[]}var cL=gle;function yle(ie,fe){return fe(ie),ie}var fL=yle;var hL=Object.prototype,_le=hL.hasOwnProperty;function xle(ie,fe,Re,ct){return ie===void 0||pc(ie,hL[Re])&&!_le.call(ct,Re)?fe:ie}var a3=xle;var ble={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"};function wle(ie){return"\\"+ble[ie]}var dL=wle;var Ale=/<%=([\s\S]+?)%>/g,w_=Ale;var Tle=/<%-([\s\S]+?)%>/g,vL=Tle;var Mle=/<%([\s\S]+?)%>/g,pL=Mle;var Sle={escape:vL,evaluate:pL,interpolate:w_,variable:"",imports:{_:{escape:Yy}}},f1=Sle;var Ele="Invalid `variable` option passed into `_.template`",kle=/\b__p \+= '';/g,Cle=/\b(__p \+=) '' \+/g,Lle=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Ple=/[()=,{}\[\]\/\s]/,Rle=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,A_=/($^)/,Ile=/['\n\r\u2028\u2029\\]/g,Dle=Object.prototype,mL=Dle.hasOwnProperty;function Fle(ie,fe,Re){var ct=f1.imports._.templateSettings||f1;Re&&jl(ie,fe,Re)&&(fe=void 0),ie=So(ie),fe=gv({},fe,ct,a3);var Bt=gv({},fe.imports,ct.imports,a3),ur=js(Bt),Gr=W0(Bt,ur),ua,da,zn=0,Cn=fe.interpolate||A_,qn="__p += '",Si=RegExp((fe.escape||A_).source+"|"+Cn.source+"|"+(Cn===w_?Rle:A_).source+"|"+(fe.evaluate||A_).source+"|$","g"),co=mL.call(fe,"sourceURL")?"//# sourceURL="+(fe.sourceURL+"").replace(/\s/g," ")+` +`:"";ie.replace(Si,function(De,Zo,Rs,Du,ts,cf){return Rs||(Rs=Du),qn+=ie.slice(zn,cf).replace(Ile,dL),Zo&&(ua=!0,qn+=`' + +__e(`+Zo+`) + +'`),ts&&(da=!0,qn+=`'; +`+ts+`; +__p += '`),Rs&&(qn+=`' + +((__t = (`+Rs+`)) == null ? '' : __t) + +'`),zn=cf+De.length,De}),qn+=`'; +`;var jo=mL.call(fe,"variable")&&fe.variable;if(!jo)qn=`with (obj) { +`+qn+` +} +`;else if(Ple.test(jo))throw new Error(Ele);qn=(da?qn.replace(kle,""):qn).replace(Cle,"$1").replace(Lle,"$1;"),qn="function("+(jo||"obj")+`) { +`+(jo?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(ua?", __e = _.escape":"")+(da?`, __j = Array.prototype.join; function print() { __p += __j.call(arguments, '') } `:`; -`)+Fn+`return __p -}`;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}; +`)+qn+`return __p +}`;var di=uy(function(){return Function(ur,co+"return "+qn).apply(void 0,Gr)});if(di.source=qn,w0(di))throw di;return di}var gL=Fle;var zle="Expected a function";function Ble(ie,fe,Re){var ct=!0,Bt=!0;if(typeof ie!="function")throw new TypeError(zle);return vs(Re)&&(ct="leading"in Re?!!Re.leading:ct,Bt="trailing"in Re?!!Re.trailing:Bt),jy(ie,fe,{leading:ct,maxWait:fe,trailing:Bt})}var yL=Ble;function Ole(ie,fe){return fe(ie)}var Vd=Ole;var Nle=9007199254740991,n3=4294967295,jle=Math.min;function Ule(ie,fe){if(ie=ji(ie),ie<1||ie>Nle)return[];var Re=n3,ct=jle(ie,n3);fe=Gc(fe),ie-=n3;for(var Bt=d0(ct,fe);++Re-1;);return Re}var M_=$le;function Kle(ie,fe){for(var Re=-1,ct=ie.length;++Re-1;);return Re}var S_=Kle;function Jle(ie,fe,Re){if(ie=So(ie),ie&&(Re||fe===void 0))return qg(ie);if(!ie||!(fe=vc(fe)))return ie;var ct=of(ie),Bt=of(fe),ur=S_(ct,Bt),Gr=M_(ct,Bt)+1;return uh(ct,ur,Gr).join("")}var EL=Jle;function Qle(ie,fe,Re){if(ie=So(ie),ie&&(Re||fe===void 0))return ie.slice(0,Ug(ie)+1);if(!ie||!(fe=vc(fe)))return ie;var ct=of(ie),Bt=M_(ct,of(fe))+1;return uh(ct,0,Bt).join("")}var kL=Qle;var eue=/^\s+/;function tue(ie,fe,Re){if(ie=So(ie),ie&&(Re||fe===void 0))return ie.replace(eue,"");if(!ie||!(fe=vc(fe)))return ie;var ct=of(ie),Bt=S_(ct,of(fe));return uh(ct,Bt).join("")}var CL=tue;var rue=30,aue="...",nue=/\w*$/;function iue(ie,fe){var Re=rue,ct=aue;if(vs(fe)){var Bt="separator"in fe?fe.separator:Bt;Re="length"in fe?ji(fe.length):Re,ct="omission"in fe?vc(fe.omission):ct}ie=So(ie);var ur=ie.length;if(Hh(ie)){var Gr=of(ie);ur=Gr.length}if(Re>=ur)return ie;var ua=Re-Xh(ct);if(ua<1)return ct;var da=Gr?uh(Gr,0,ua).join(""):ie.slice(0,ua);if(Bt===void 0)return da+ct;if(Gr&&(ua+=da.length-ua),Z0(Bt)){if(ie.slice(ua).search(Bt)){var zn,Cn=da;for(Bt.global||(Bt=RegExp(Bt.source,So(nue.exec(Bt))+"g")),Bt.lastIndex=0;zn=Bt.exec(Cn);)var qn=zn.index;da=da.slice(0,qn===void 0?ua:qn)}}else if(ie.indexOf(vc(Bt),ua)!=ua){var Si=da.lastIndexOf(Bt);Si>-1&&(da=da.slice(0,Si))}return da+ct}var LL=iue;function oue(ie){return ry(ie,1)}var PL=oue;var sue={"&":"&","<":"<",">":">",""":'"',"'":"'"},lue=M0(sue),RL=lue;var IL=/&(?:amp|lt|gt|quot|#39);/g,uue=RegExp(IL.source);function cue(ie){return ie=So(ie),ie&&uue.test(ie)?ie.replace(IL,RL):ie}var DL=cue;var fue=1/0,hue=Av&&1/Mv(new Av([,-0]))[1]==fue?function(ie){return new Av(ie)}:o0,FL=hue;var due=200;function vue(ie,fe,Re){var ct=-1,Bt=pv,ur=ie.length,Gr=!0,ua=[],da=ua;if(Re)Gr=!1,Bt=G0;else if(ur>=due){var zn=fe?null:FL(ie);if(zn)return Mv(zn);Gr=!1,Bt=qd,da=new Tv}else da=fe?[]:ua;e:for(;++ct1||this.__actions__.length||!(ct instanceof bs)||!Lf(Re)?this.thru(Bt):(ct=ct.slice(Re,+Re+(fe?1:0)),ct.__actions__.push({func:Vd,args:[Bt],thisArg:void 0}),new oh(ct,this.__chain__).thru(function(ur){return fe&&!ur.length&&ur.push(void 0),ur}))}),$L=Due;function Fue(){return my(this)}var KL=Fue;function zue(){var ie=this.__wrapped__;if(ie instanceof bs){var fe=ie;return this.__actions__.length&&(fe=new bs(this)),fe=fe.reverse(),fe.__actions__.push({func:Vd,args:[c1],thisArg:void 0}),new oh(fe,this.__chain__)}return this.thru(c1)}var JL=zue;function Bue(ie,fe,Re){var ct=ie.length;if(ct<2)return ct?_h(ie[0]):[];for(var Bt=-1,ur=Array(ct);++Bt1?ie[fe-1]:void 0;return Re=typeof Re=="function"?(ie.pop(),Re):void 0,E_(ie,Re)}),i9=Hue;var vo={chunk:ak,compact:qk,concat:Gk,difference:w4,differenceBy:A4,differenceWith:T4,drop:S4,dropRight:E4,dropRightWhile:k4,dropWhile:C4,fill:U4,findIndex:Jy,findLastIndex:e_,first:l1,flatten:ly,flattenDeep:$4,flattenDepth:K4,fromPairs:oC,head:l1,indexOf:gC,initial:yC,intersection:_C,intersectionBy:xC,intersectionWith:bC,join:t8,last:Iu,lastIndexOf:i8,nth:S8,pull:s7,pullAll:m_,pullAllBy:l7,pullAllWith:u7,pullAt:c7,remove:x7,reverse:c1,slice:B7,sortedIndex:q7,sortedIndexBy:G7,sortedIndexOf:V7,sortedLastIndex:H7,sortedLastIndexBy:W7,sortedLastIndexOf:Y7,sortedUniq:X7,sortedUniqBy:Z7,tail:oL,take:sL,takeRight:lL,takeRightWhile:uL,takeWhile:cL,union:zL,unionBy:BL,unionWith:OL,uniq:NL,uniqBy:jL,uniqWith:UL,unzip:am,unzipWith:E_,without:XL,xor:QL,xorBy:e9,xorWith:t9,zip:r9,zipObject:a9,zipObjectDeep:n9,zipWith:i9};var Rl={countBy:l4,each:n1,eachRight:i1,every:N4,filter:q4,find:G4,findLast:H4,flatMap:Y4,flatMapDeep:X4,flatMapDepth:Z4,forEach:n1,forEachRight:i1,groupBy:uC,includes:mC,invokeMap:EC,keyBy:a8,map:Cv,orderBy:D8,partition:e7,reduce:m7,reduceRight:y7,reject:_7,sample:E7,sampleSize:L7,shuffle:F7,size:z7,some:j7,sortBy:U7};var i3={now:U0};var Gu={after:mS,ary:ry,before:cy,bind:fy,bindKey:TE,curry:c4,curryRight:f4,debounce:jy,defer:x4,delay:b4,flip:J4,memoize:oy,negate:Gd,once:P8,overArgs:B8,partial:p_,partialRight:Q8,rearg:p7,rest:A7,spread:K7,throttle:yL,unary:PL,wrap:ZL};var Bo={castArray:tk,clone:Bk,cloneDeep:Ok,cloneDeepWith:Nk,cloneWith:jk,conformsTo:i4,eq:pc,gt:cC,gte:fC,isArguments:Dh,isArray:Ii,isArrayBuffer:LC,isArrayLike:Yl,isArrayLikeObject:Qs,isBoolean:PC,isBuffer:yh,isDate:DC,isElement:FC,isEmpty:zC,isEqual:BC,isEqualWith:OC,isError:w0,isFinite:NC,isFunction:Cf,isInteger:i_,isLength:mv,isMap:My,isMatch:jC,isMatchWith:UC,isNaN:qC,isNative:VC,isNil:HC,isNull:WC,isNumber:o_,isObject:vs,isObjectLike:gs,isPlainObject:bd,isRegExp:Z0,isSafeInteger:$C,isSet:Sy,isString:Rv,isSymbol:qu,isTypedArray:Vh,isUndefined:KC,isWeakMap:JC,isWeakSet:QC,lt:l8,lte:u8,toArray:u_,toFinite:Mh,toInteger:ji,toLength:Zy,toNumber:jc,toPlainObject:Uy,toSafeInteger:TL,toString:So};var Gf={add:dS,ceil:rk,divide:M4,floor:Q4,max:v8,maxBy:p8,mean:m8,meanBy:g8,min:b8,minBy:w8,multiply:A8,round:M7,subtract:aL,sum:nL,sumBy:iL};var h1={clamp:nk,inRange:pC,random:f7};var es={assign:KS,assignIn:e1,assignInWith:gv,assignWith:eE,at:bE,create:u4,defaults:v4,defaultsDeep:_4,entries:o1,entriesIn:s1,extend:e1,extendWith:gv,findKey:V4,findLastKey:W4,forIn:rC,forInRight:aC,forOwn:nC,forOwnRight:iC,functions:sC,functionsIn:lC,get:x0,has:dC,hasIn:O0,invert:AC,invertBy:MC,invoke:SC,keys:js,keysIn:Xl,mapKeys:c8,mapValues:f8,merge:y8,mergeWith:qy,omit:C8,omitBy:L8,pick:r7,pickBy:h_,result:T7,set:P7,setWith:R7,toPairs:o1,toPairsIn:s1,transform:SL,unset:GL,update:VL,updateWith:HL,values:Yh,valuesIn:YL};var Zh={at:$L,chain:my,commit:Uk,lodash:kr,next:M8,plant:a7,reverse:JL,tap:fL,thru:Vd,toIterator:xL,toJSON:zv,value:zv,valueOf:zv,wrapperChain:KL};var ll={camelCase:ek,capitalize:dy,deburr:vy,endsWith:P4,escape:Yy,escapeRegExp:B4,kebabCase:r8,lowerCase:o8,lowerFirst:s8,pad:Z8,padEnd:$8,padStart:K8,parseInt:J8,repeat:b7,replace:w7,snakeCase:O7,split:$7,startCase:J7,startsWith:Q7,template:gL,templateSettings:f1,toLower:bL,toUpper:ML,trim:EL,trimEnd:kL,trimStart:CL,truncate:LL,unescape:DL,upperCase:WL,upperFirst:A0,words:py};var vl={attempt:uy,bindAll:AE,cond:r4,conforms:n4,constant:u0,defaultTo:h4,flow:eC,flowRight:tC,identity:Nl,iteratee:e8,matches:h8,matchesProperty:d8,method:_8,methodOf:x8,mixin:l_,noop:o0,nthArg:E8,over:F8,overEvery:O8,overSome:N8,property:zy,propertyOf:n7,range:d7,rangeRight:v7,stubArray:C0,stubFalse:v0,stubObject:eL,stubString:tL,stubTrue:rL,times:_L,toPath:wL,uniqueId:qL};function Wue(){var ie=new bs(this.__wrapped__);return ie.__actions__=_u(this.__actions__),ie.__dir__=this.__dir__,ie.__filtered__=this.__filtered__,ie.__iteratees__=_u(this.__iteratees__),ie.__takeCount__=this.__takeCount__,ie.__views__=_u(this.__views__),ie}var o9=Wue;function Yue(){if(this.__filtered__){var ie=new bs(this);ie.__dir__=-1,ie.__filtered__=!0}else ie=this.clone(),ie.__dir__*=-1;return ie}var s9=Yue;var Xue=Math.max,Zue=Math.min;function $ue(ie,fe,Re){for(var ct=-1,Bt=Re.length;++ct0||fe<0)?new bs(Re):(ie<0?Re=Re.takeRight(-ie):ie&&(Re=Re.drop(ie)),fe!==void 0&&(fe=ji(fe),Re=fe<0?Re.dropRight(-fe):Re.take(fe-ie)),Re)};bs.prototype.takeRightWhile=function(ie){return this.reverse().takeWhile(ie).reverse()};bs.prototype.toArray=function(){return this.take(h9)};zf(bs.prototype,function(ie,fe){var Re=/^(?:filter|find|map|reject)|While$/.test(fe),ct=/^(?:head|last)$/.test(fe),Bt=kr[ct?"take"+(fe=="last"?"Right":""):fe],ur=ct||/^find/.test(fe);Bt&&(kr.prototype[fe]=function(){var Gr=this.__wrapped__,ua=ct?[1]:arguments,da=Gr instanceof bs,zn=ua[0],Cn=da||Ii(Gr),qn=function(Zo){var Rs=Bt.apply(kr,lh([Zo],ua));return ct&&Si?Rs[0]:Rs};Cn&&Re&&typeof zn=="function"&&zn.length!=1&&(da=Cn=!1);var Si=this.__chain__,co=!!this.__actions__.length,jo=ur&&!Si,di=da&&!co;if(!ur&&Cn){Gr=di?Gr:new bs(this);var De=ie.apply(Gr,ua);return De.__actions__.push({func:Vd,args:[qn],thisArg:void 0}),new oh(De,Si)}return jo&&di?ie.apply(this,ua):(De=this.thru(qn),jo?ct?De.value()[0]:De.value():De)})});nf(["pop","push","shift","sort","splice","unshift"],function(ie){var fe=ice[ie],Re=/^(?:push|sort|unshift)$/.test(ie)?"tap":"thru",ct=/^(?:pop|shift)$/.test(ie);kr.prototype[ie]=function(){var Bt=arguments;if(ct&&!this.__chain__){var ur=this.value();return fe.apply(Ii(ur)?ur:[],Bt)}return this[Re](function(Gr){return fe.apply(Ii(Gr)?Gr:[],Bt)})}});zf(bs.prototype,function(ie,fe){var Re=kr[fe];if(Re){var ct=Re.name+"";d9.call(dv,ct)||(dv[ct]=[]),dv[ct].push({name:fe,func:Re})}});dv[h0(void 0,rce).name]=[{name:"wrapper",func:void 0}];bs.prototype.clone=o9;bs.prototype.reverse=s9;bs.prototype.value=u9;kr.prototype.at=Zh.at;kr.prototype.chain=Zh.wrapperChain;kr.prototype.commit=Zh.commit;kr.prototype.next=Zh.next;kr.prototype.plant=Zh.plant;kr.prototype.reverse=Zh.reverse;kr.prototype.toJSON=kr.prototype.valueOf=kr.prototype.value=Zh.value;kr.prototype.first=kr.prototype.head;c9&&(kr.prototype[c9]=Zh.toIterator);var su=kr;var $h=nH(m9());window.PlotlyConfig={MathJaxConfig:"local"};var s3=class{constructor(fe,Re){this.model=fe,this.serializers=Re}get(fe){let Re=this.serializers[fe],ct=this.model.get(fe);return Re?.deserialize?Re.deserialize(ct):ct}set(fe,Re){let ct=this.serializers[fe];ct?.serialize&&(Re=ct.serialize(Re)),this.model.set(fe,Re)}on(fe,Re){this.model.on(fe,Re)}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(fe){if(fe==null){var Re=this.model.get("_widget_data").length;fe=su.range(Re)}return Array.isArray(fe)||(fe=[fe]),fe}do_data(){}do_layout(){}do_addTraces(){var fe=this.model.get("_py2js_addTraces");if(fe!==null){var Re=this.model.get("_widget_data"),ct=fe.trace_data;su.forEach(ct,function(Bt){Re.push(Bt)})}}do_deleteTraces(){var fe=this.model.get("_py2js_deleteTraces");if(fe!==null){var Re=fe.delete_inds,ct=this.model.get("_widget_data");Re.slice().reverse().forEach(function(Bt){ct.splice(Bt,1)})}}do_moveTraces(){var fe=this.model.get("_py2js_moveTraces");if(fe!==null){var Re=this.model.get("_widget_data"),ct=fe.current_trace_inds,Bt=fe.new_trace_inds;hce(Re,ct,Bt)}}do_restyle(){var fe=this.model.get("_py2js_restyle");if(fe!==null){var Re=fe.restyle_data,ct=this._normalize_trace_indexes(fe.restyle_traces);y9(this.model.get("_widget_data"),Re,ct)}}do_relayout(){var fe=this.model.get("_py2js_relayout");fe!==null&&P_(this.model.get("_widget_layout"),fe.relayout_data)}do_update(){var fe=this.model.get("_py2js_update");if(fe!==null){var Re=fe.style_data,ct=fe.layout_data,Bt=this._normalize_trace_indexes(fe.style_traces);y9(this.model.get("_widget_data"),Re,Bt),P_(this.model.get("_widget_layout"),ct)}}do_animate(){var fe=this.model.get("_py2js_animate");if(fe!==null){for(var Re=fe.style_data,ct=fe.layout_data,Bt=this._normalize_trace_indexes(fe.style_traces),ur=0;urthis.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 Re=this.model.get("_last_layout_edit_id"),ct=this.model.get("_last_trace_edit_id");this.viewID=x9();var Bt=su.cloneDeep(this.model.get("_widget_data")),ur=su.cloneDeep(this.model.get("_widget_layout"));ur.height||(ur.height=360);var Gr=this.model.get("_config");Gr.editSelection=!1,$h.default.newPlot(fe.el,Bt,ur,Gr).then(function(){fe._sendTraceDeltas(ct),fe._sendLayoutDelta(Re),fe.el.on("plotly_restyle",function(da){fe.handle_plotly_restyle(da)}),fe.el.on("plotly_relayout",function(da){fe.handle_plotly_relayout(da)}),fe.el.on("plotly_update",function(da){fe.handle_plotly_update(da)}),fe.el.on("plotly_click",function(da){fe.handle_plotly_click(da)}),fe.el.on("plotly_hover",function(da){fe.handle_plotly_hover(da)}),fe.el.on("plotly_unhover",function(da){fe.handle_plotly_unhover(da)}),fe.el.on("plotly_selected",function(da){fe.handle_plotly_selected(da)}),fe.el.on("plotly_deselect",function(da){fe.handle_plotly_deselect(da)}),fe.el.on("plotly_doubleclick",function(da){fe.handle_plotly_doubleclick(da)});var ua=new CustomEvent("plotlywidget-after-render",{detail:{element:fe.el,viewID:fe.viewID}});document.dispatchEvent(ua)})}_processLuminoMessage(fe,Re){Re.apply(this,arguments);var ct=this;switch(fe.type){case"before-attach":var Bt={showgrid:!1,showline:!1,tickvals:[]};$h.default.newPlot(ct.el,[],{xaxis:Bt,yaxis:Bt}),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 fe=this,Re=fe.model.get("_widget_layout");(su.isNil(Re)||su.isNil(Re.width))&&$h.default.Plots.resize(fe.el).then(function(){var ct=fe.model.get("_last_layout_edit_id");fe._sendLayoutDelta(ct)})}remove(){$h.default.purge(this.el),window.removeEventListener("resize",this.resizeEventListener)}getFullData(){return su.mergeWith({},this.el._fullData,this.el.data,g9)}getFullLayout(){return su.mergeWith({},this.el._fullLayout,this.el.layout,g9)}buildPointsObject(fe){var Re;if(fe.hasOwnProperty("points")){var ct=fe.points,Bt=ct.length,ur=!0;for(let Cn=0;Cn=0;Bt--)ct.splice(0,0,ie[fe[Bt]]),ie.splice(fe[Bt],1);var ur=su(Re).zip(ct).sortBy(0).unzip().value();Re=ur[0],ct=ur[1];for(var Gr=0;Gr0&&typeof ur[0]=="object"){Re[ct]=new Array(ur.length);for(var Gr=0;Gr0&&(Re[ct]=ua)}else typeof ur=="object"&&!Array.isArray(ur)?Re[ct]=d1(ur,{}):ur!==void 0&&typeof ur!="function"&&(Re[ct]=ur)}}return Re}function x9(ie,fe,Re,ct){if(Re||(Re=16),fe===void 0&&(fe=24),fe<=0)return"0";var Bt=Math.log(Math.pow(2,fe))/Math.log(Re),ur="",Gr,ua,da;for(Gr=2;Bt===1/0;Gr*=2)Bt=Math.log(Math.pow(2,fe/Gr))/Math.log(Re)*Gr;var zn=Bt-Math.floor(Bt);for(Gr=0;Gr=Math.pow(2,fe)?ct>10?(console.warn("randstr failed uniqueness"),ur):x9(ie,fe,Re,(ct||0)+1):ur}var bGe=()=>{let ie;return{initialize(fe){ie=new s3(fe.model,lce),ie.initialize()},render({el:fe}){let Re=new l3(ie,fe);return Re.perform_render(),()=>Re.remove()}}};export{s3 as FigureModel,l3 as FigureView,bGe as default}; /*! Bundled license information: plotly.js/dist/plotly.js: - (*! - * pad-left - * - * Copyright (c) 2014-2015, Jon Schlinkert. - * Licensed under the MIT license. - *) - (*! - * repeat-string - * - * Copyright (c) 2014-2015, Jon Schlinkert. - * Licensed under the MIT License. - *) - (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) (*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh * @license MIT *) + (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) (*! * Determine if an object is a Buffer * * @author Feross Aboukhadijeh * @license MIT *) + (*! + * pad-left + * + * Copyright (c) 2014-2015, Jon Schlinkert. + * Licensed under the MIT license. + *) + (*! + * repeat-string + * + * Copyright (c) 2014-2015, Jon Schlinkert. + * Licensed under the MIT License. + *) (*! Bundled license information: native-promise-only/lib/npo.src.js: From 52bbe597e1ba7ae07ad16bde022274c09c9d3535 Mon Sep 17 00:00:00 2001 From: Emily KL <4672118+emilykl@users.noreply.github.com> Date: Thu, 16 Jul 2026 10:35:50 -0400 Subject: [PATCH 03/10] remove all references to mapbox subplots and trace types in manually-edited files --- plotly/_subplots.py | 5 +- plotly/basedatatypes.py | 2 +- plotly/express/__init__.py | 10 -- plotly/express/_chart_types.py | 187 --------------------------- plotly/express/_core.py | 53 +------- plotly/express/_doc.py | 7 - plotly/figure_factory/_hexbin_map.py | 10 +- plotly/io/_orca.py | 58 +-------- plotly/subplots.py | 1 - 9 files changed, 13 insertions(+), 320 deletions(-) diff --git a/plotly/_subplots.py b/plotly/_subplots.py index 50e8ccfb9aa..7983a994a05 100644 --- a/plotly/_subplots.py +++ b/plotly/_subplots.py @@ -8,7 +8,7 @@ # little differently. import collections -_single_subplot_types = {"scene", "geo", "polar", "ternary", "map", "mapbox"} +_single_subplot_types = {"scene", "geo", "polar", "ternary", "map"} _subplot_types = set.union(_single_subplot_types, {"xy", "domain"}) # For most subplot types, a trace is associated with a particular subplot @@ -20,7 +20,7 @@ # the trace property is just named `subplot`. For example setting # the `scatterpolar.subplot` property to `polar3` associates the scatterpolar # trace with the third polar subplot in the figure -_subplot_prop_named_subplot = {"polar", "ternary", "map", "mapbox"} +_subplot_prop_named_subplot = {"polar", "ternary", "map"} # Named tuple to hold an xaxis/yaxis pair that represent a single subplot @@ -152,7 +152,6 @@ def make_subplots( - 'polar': Polar subplot for scatterpolar, barpolar, etc. - 'ternary': Ternary subplot for scatterternary - 'map': Map subplot for scattermap, choroplethmap and densitymap - - 'mapbox': Mapbox subplot for scattermapbox, choroplethmapbox and densitymapbox - 'domain': Subplot type for traces that are individually positioned. pie, parcoords, parcats, etc. - trace type: A trace type which will be used to determine diff --git a/plotly/basedatatypes.py b/plotly/basedatatypes.py index ec4038b7fa4..3db99465618 100644 --- a/plotly/basedatatypes.py +++ b/plotly/basedatatypes.py @@ -2427,7 +2427,7 @@ def get_subplot(self, row, col, secondary_y=False): * plotly.graph_objs.layout.Scene: if subplot type is 'scene' * plotly.graph_objs.layout.Polar: if subplot type is 'polar' * plotly.graph_objs.layout.Ternary: if subplot type is 'ternary' - * plotly.graph_objs.layout.Mapbox: if subplot type is 'ternary' + * plotly.graph_objs.layout.Map: if subplot type is 'map' * SubplotDomain namedtuple with `x` and `y` fields: if subplot type is 'domain'. - x: length 2 list of the subplot start and stop width diff --git a/plotly/express/__init__.py b/plotly/express/__init__.py index 62a9bca08a2..9fc66c91ae4 100644 --- a/plotly/express/__init__.py +++ b/plotly/express/__init__.py @@ -31,14 +31,12 @@ scatter_polar, scatter_ternary, scatter_map, - scatter_mapbox, scatter_geo, line, line_3d, line_polar, line_ternary, line_map, - line_mapbox, line_geo, area, bar, @@ -62,14 +60,11 @@ funnel, funnel_area, choropleth_map, - choropleth_mapbox, density_map, - density_mapbox, ) from ._core import ( # noqa: F401 - set_mapbox_access_token, defaults, get_trendline_results, NO_COLOR, @@ -85,19 +80,16 @@ "scatter_polar", "scatter_ternary", "scatter_map", - "scatter_mapbox", "scatter_geo", "scatter_matrix", "density_contour", "density_heatmap", "density_map", - "density_mapbox", "line", "line_3d", "line_polar", "line_ternary", "line_map", - "line_mapbox", "line_geo", "parallel_coordinates", "parallel_categories", @@ -112,7 +104,6 @@ "ecdf", "choropleth", "choropleth_map", - "choropleth_mapbox", "pie", "sunburst", "treemap", @@ -123,7 +114,6 @@ "data", "colors", "trendline_functions", - "set_mapbox_access_token", "get_trendline_results", "IdentityMap", "Constant", diff --git a/plotly/express/_chart_types.py b/plotly/express/_chart_types.py index 2b4b10184e8..bf3bf84dda8 100644 --- a/plotly/express/_chart_types.py +++ b/plotly/express/_chart_types.py @@ -1406,193 +1406,6 @@ def line_map( line_map.__doc__ = make_docstring(line_map) -def scatter_mapbox( - data_frame=None, - lat=None, - lon=None, - color=None, - text=None, - hover_name=None, - hover_data=None, - custom_data=None, - size=None, - animation_frame=None, - animation_group=None, - category_orders=None, - labels=None, - color_discrete_sequence=None, - color_discrete_map=None, - color_continuous_scale=None, - range_color=None, - color_continuous_midpoint=None, - opacity=None, - size_max=None, - zoom=8, - center=None, - mapbox_style=None, - title=None, - subtitle=None, - template=None, - width=None, - height=None, -) -> go.Figure: - """ - *scatter_mapbox* is deprecated! Use *scatter_map* instead. - Learn more at: https://plotly.com/python/mapbox-to-maplibre/ - In a Mapbox scatter plot, each row of `data_frame` is represented by a - symbol mark on a Mapbox map. - """ - warn( - "*scatter_mapbox* is deprecated!" - + " Use *scatter_map* instead." - + " Learn more at: https://plotly.com/python/mapbox-to-maplibre/", - stacklevel=2, - category=DeprecationWarning, - ) - return make_figure(args=locals(), constructor=go.Scattermapbox) - - -scatter_mapbox.__doc__ = make_docstring(scatter_mapbox) - - -def choropleth_mapbox( - data_frame=None, - geojson=None, - featureidkey=None, - locations=None, - color=None, - hover_name=None, - hover_data=None, - custom_data=None, - animation_frame=None, - animation_group=None, - category_orders=None, - labels=None, - color_discrete_sequence=None, - color_discrete_map=None, - color_continuous_scale=None, - range_color=None, - color_continuous_midpoint=None, - opacity=None, - zoom=8, - center=None, - mapbox_style=None, - title=None, - subtitle=None, - template=None, - width=None, - height=None, -) -> go.Figure: - """ - *choropleth_mapbox* is deprecated! Use *choropleth_map* instead. - Learn more at: https://plotly.com/python/mapbox-to-maplibre/ - In a Mapbox choropleth map, each row of `data_frame` is represented by a - colored region on a Mapbox map. - """ - warn( - "*choropleth_mapbox* is deprecated!" - + " Use *choropleth_map* instead." - + " Learn more at: https://plotly.com/python/mapbox-to-maplibre/", - stacklevel=2, - category=DeprecationWarning, - ) - return make_figure(args=locals(), constructor=go.Choroplethmapbox) - - -choropleth_mapbox.__doc__ = make_docstring(choropleth_mapbox) - - -def density_mapbox( - data_frame=None, - lat=None, - lon=None, - z=None, - hover_name=None, - hover_data=None, - custom_data=None, - animation_frame=None, - animation_group=None, - category_orders=None, - labels=None, - color_continuous_scale=None, - range_color=None, - color_continuous_midpoint=None, - opacity=None, - zoom=8, - center=None, - mapbox_style=None, - radius=None, - title=None, - subtitle=None, - template=None, - width=None, - height=None, -) -> go.Figure: - """ - *density_mapbox* is deprecated! Use *density_map* instead. - Learn more at: https://plotly.com/python/mapbox-to-maplibre/ - In a Mapbox density map, each row of `data_frame` contributes to the intensity of - the color of the region around the corresponding point on the map - """ - warn( - "*density_mapbox* is deprecated!" - + " Use *density_map* instead." - + " Learn more at: https://plotly.com/python/mapbox-to-maplibre/", - stacklevel=2, - category=DeprecationWarning, - ) - return make_figure( - args=locals(), constructor=go.Densitymapbox, trace_patch=dict(radius=radius) - ) - - -density_mapbox.__doc__ = make_docstring(density_mapbox) - - -def line_mapbox( - data_frame=None, - lat=None, - lon=None, - color=None, - text=None, - hover_name=None, - hover_data=None, - custom_data=None, - line_group=None, - animation_frame=None, - animation_group=None, - category_orders=None, - labels=None, - color_discrete_sequence=None, - color_discrete_map=None, - zoom=8, - center=None, - mapbox_style=None, - title=None, - subtitle=None, - template=None, - width=None, - height=None, -) -> go.Figure: - """ - *line_mapbox* is deprecated! Use *line_map* instead. - Learn more at: https://plotly.com/python/mapbox-to-maplibre/ - In a Mapbox line plot, each row of `data_frame` is represented as - a vertex of a polyline mark on a Mapbox map. - """ - warn( - "*line_mapbox* is deprecated!" - + " Use *line_map* instead." - + " Learn more at: https://plotly.com/python/mapbox-to-maplibre/", - stacklevel=2, - category=DeprecationWarning, - ) - return make_figure(args=locals(), constructor=go.Scattermapbox) - - -line_mapbox.__doc__ = make_docstring(line_mapbox) - - def scatter_matrix( data_frame=None, dimensions=None, diff --git a/plotly/express/_core.py b/plotly/express/_core.py index ca3cf6dc5ea..75d21012ffe 100644 --- a/plotly/express/_core.py +++ b/plotly/express/_core.py @@ -95,20 +95,6 @@ def reset(self): del PxDefaults -MAPBOX_TOKEN = None - - -def set_mapbox_access_token(token): - """ - Arguments: - token: A Mapbox token to be used in `plotly.express.scatter_mapbox` and \ - `plotly.express.line_mapbox` figures. See \ - https://docs.mapbox.com/help/how-mapbox-works/access-tokens/ for more details - """ - global MAPBOX_TOKEN - MAPBOX_TOKEN = token - - def get_trendline_results(fig): """ Extracts fit statistics for trendlines (when applied to figures generated with @@ -503,7 +489,6 @@ def make_trace_kwargs(args, trace_spec, trace_data, mapping_labels, sizeref): if trace_spec.constructor in [ go.Choropleth, go.Choroplethmap, - go.Choroplethmapbox, ]: trace_patch["z"] = trace_data.get_column(attr_value) trace_patch["coloraxis"] = "coloraxis1" @@ -621,9 +606,6 @@ def configure_axes(args, constructor, fig, orders): go.Scattermap: configure_map, go.Choroplethmap: configure_map, go.Densitymap: configure_map, - go.Scattermapbox: configure_mapbox, - go.Choroplethmapbox: configure_mapbox, - go.Densitymapbox: configure_mapbox, go.Scattergeo: configure_geo, go.Choropleth: configure_geo, } @@ -810,21 +792,6 @@ def configure_3d_axes(args, fig, orders): fig.update_scenes(patch) -def configure_mapbox(args, fig, orders): - center = args["center"] - if not center and "lat" in args and "lon" in args: - center = dict( - lat=args["data_frame"][args["lat"]].mean(), - lon=args["data_frame"][args["lon"]].mean(), - ) - fig.update_mapboxes( - accesstoken=MAPBOX_TOKEN, - center=center, - zoom=args["zoom"], - style=args["mapbox_style"], - ) - - def configure_map(args, fig, orders): center = args["center"] if not center and "lat" in args and "lon" in args: @@ -2334,7 +2301,7 @@ def infer_config(args, constructor, trace_patch, layout_patch): else: trace_patch["texttemplate"] = "%{" + letter + ":" + args["text_auto"] + "}" - if constructor in [go.Histogram2d, go.Densitymap, go.Densitymapbox]: + if constructor in [go.Histogram2d, go.Densitymap]: show_colorbar = True trace_patch["coloraxis"] = "coloraxis1" @@ -2344,7 +2311,6 @@ def infer_config(args, constructor, trace_patch, layout_patch): trace_patch["marker"] = dict(opacity=0.5) elif constructor in [ go.Densitymap, - go.Densitymapbox, go.Pie, go.Funnel, go.Funnelarea, @@ -2365,9 +2331,7 @@ def infer_config(args, constructor, trace_patch, layout_patch): if len(modes) == 0: modes.add("lines") trace_patch["mode"] = "+".join(sorted(modes)) - elif constructor != go.Splom and ( - "symbol" in args or constructor in [go.Scattermap, go.Scattermapbox] - ): + elif constructor != go.Splom and ("symbol" in args or constructor == go.Scattermap): trace_patch["mode"] = "markers" + ("+text" if args["text"] else "") if "line_shape" in args: @@ -2589,9 +2553,7 @@ def make_figure(args, constructor, trace_patch=None, layout_patch=None): go.Parcoords, go.Choropleth, go.Choroplethmap, - go.Choroplethmapbox, go.Densitymap, - go.Densitymapbox, go.Histogram2d, go.Sunburst, go.Treemap, @@ -2639,8 +2601,7 @@ def make_figure(args, constructor, trace_patch=None, layout_patch=None): ): trace.update(marker=dict(color=m.val_map[val])) elif ( - trace_spec.constructor - in [go.Choropleth, go.Choroplethmap, go.Choroplethmapbox] + trace_spec.constructor in [go.Choropleth, go.Choroplethmap] and m.variable == "color" ): trace.update( @@ -2725,11 +2686,7 @@ def make_figure(args, constructor, trace_patch=None, layout_patch=None): ) if show_colorbar: - colorvar = ( - "z" - if constructor in [go.Histogram2d, go.Densitymap, go.Densitymapbox] - else "color" - ) + colorvar = "z" if constructor in [go.Histogram2d, go.Densitymap] else "color" range_color = args["range_color"] or [None, None] colorscale_validator = ColorscaleValidator("colorscale", "make_figure") @@ -2879,7 +2836,7 @@ def init_figure(args, subplot_type, frame_list, nrows, ncols, col_labels, row_la horizontal_spacing = args.get("facet_col_spacing") or 0.02 else: # Other subplot types: - # 'scene', 'geo', 'polar', 'ternary', 'mapbox', 'domain', None + # 'scene', 'geo', 'polar', 'ternary', 'map', 'domain', None # # We can customize subplot spacing per type once we enable faceting # for all plot types diff --git a/plotly/express/_doc.py b/plotly/express/_doc.py index 59faac4c0b3..3df6a191590 100644 --- a/plotly/express/_doc.py +++ b/plotly/express/_doc.py @@ -537,13 +537,6 @@ "Identifier of base map style.", "Allowed values are `'basic'`, `'carto-darkmatter'`, `'carto-darkmatter-nolabels'`, `'carto-positron'`, `'carto-positron-nolabels'`, `'carto-voyager'`, `'carto-voyager-nolabels'`, `'dark'`, `'light'`, `'open-street-map'`, `'outdoors'`, `'satellite'`, `'satellite-streets'`, `'streets'`, `'white-bg'`.", ], - mapbox_style=[ - "str (default `'basic'`, needs Mapbox API token)", - "Identifier of base map style, some of which require a Mapbox or Stadia Maps API token to be set using `plotly.express.set_mapbox_access_token()`.", - "Allowed values which do not require a token are `'open-street-map'`, `'white-bg'`, `'carto-positron'`, `'carto-darkmatter'`.", - "Allowed values which require a Mapbox API token are `'basic'`, `'streets'`, `'outdoors'`, `'light'`, `'dark'`, `'satellite'`, `'satellite-streets'`.", - "Allowed values which require a Stadia Maps API token are `'stamen-terrain'`, `'stamen-toner'`, `'stamen-watercolor'`.", - ], points=[ "str or boolean (default `'outliers'`)", "One of `'outliers'`, `'suspectedoutliers'`, `'all'`, or `False`.", diff --git a/plotly/figure_factory/_hexbin_map.py b/plotly/figure_factory/_hexbin_map.py index 580bd3d59d2..e3eefe5138a 100644 --- a/plotly/figure_factory/_hexbin_map.py +++ b/plotly/figure_factory/_hexbin_map.py @@ -7,7 +7,7 @@ def _project_latlon_to_wgs84(lat, lon): """ - Projects lat and lon to WGS84, used to get regular hexagons on a mapbox map + Projects lat and lon to WGS84, used to get regular hexagons on a map """ x = lon * np.pi / 180 y = np.arctanh(np.sin(lat * np.pi / 180)) @@ -16,7 +16,7 @@ def _project_latlon_to_wgs84(lat, lon): def _project_wgs84_to_latlon(x, y): """ - Projects WGS84 to lat and lon, used to get regular hexagons on a mapbox map + Projects WGS84 to lat and lon, used to get regular hexagons on a map """ lon = x * 180 / np.pi lat = (2 * np.arctan(np.exp(y)) - np.pi / 2) * 180 / np.pi @@ -25,13 +25,11 @@ def _project_wgs84_to_latlon(x, y): def _getBoundsZoomLevel(lon_min, lon_max, lat_min, lat_max, mapDim): """ - Get the mapbox zoom level given bounds and a figure dimension + Get the map zoom level given bounds and a figure dimension Source: https://stackoverflow.com/questions/6048975/google-maps-v3-how-to-calculate-the-zoom-level-for-a-given-bounds """ - scale = ( - 2 # adjustment to reflect MapBox base tiles are 512x512 vs. Google's 256x256 - ) + scale = 2 # adjustment to reflect map base tiles are 512x512 vs. Google's 256x256 WORLD_DIM = {"height": 256 * scale, "width": 256 * scale} ZOOM_MAX = 18 diff --git a/plotly/io/_orca.py b/plotly/io/_orca.py index 2984210edce..6b1d8f67c00 100644 --- a/plotly/io/_orca.py +++ b/plotly/io/_orca.py @@ -306,8 +306,7 @@ def server_url(self): The server URL to use for an external orca server, or None if orca should be managed locally - Overrides executable, port, timeout, mathjax, topojson, - and mapbox_access_token + Overrides executable, port, timeout, mathjax, and topojson Returns ------- @@ -336,7 +335,6 @@ def server_url(self, val): self.timeout = None self.mathjax = None self.topojson = None - self.mapbox_access_token = None self._props["server_url"] = val @property @@ -623,34 +621,6 @@ def mathjax(self, val): # Server must restart before setting is active shutdown_server() - @property - def mapbox_access_token(self): - """ - Mapbox access token required to render mapbox traces. - - Returns - ------- - str - """ - return self._props.get("mapbox_access_token", None) - - @mapbox_access_token.setter - def mapbox_access_token(self, val): - if val is None: - self._props.pop("mapbox_access_token", None) - else: - if not isinstance(val, str): - raise ValueError( - """ -The mapbox_access_token property must be a string, \ -but received value of type {typ}. - Received value: {val}""".format(typ=type(val), val=val) - ) - self._props["mapbox_access_token"] = val - - # Server must restart before setting is active - shutdown_server() - @property def use_xvfb(self): dflt = "auto" @@ -719,7 +689,6 @@ def __repr__(self): default_format: {default_format} mathjax: {mathjax} topojson: {topojson} - mapbox_access_token: {mapbox_access_token} use_xvfb: {use_xvfb} constants @@ -738,7 +707,6 @@ def __repr__(self): default_format=self.default_format, mathjax=self.mathjax, topojson=self.topojson, - mapbox_access_token=self.mapbox_access_token, plotlyjs=self.plotlyjs, config_file=self.config_file, use_xvfb=self.use_xvfb, @@ -1299,11 +1267,6 @@ def ensure_server(): if config.mathjax: cmd_list.extend(["--mathjax", config.mathjax]) - if config.mapbox_access_token: - cmd_list.extend( - ["--mapbox-access-token", config.mapbox_access_token] - ) - # Create subprocess that launches the orca server on the # specified port. DEVNULL = open(os.devnull, "wb") @@ -1513,25 +1476,6 @@ def to_image(fig, format=None, width=None, height=None, scale=None, validate=Tru err_message += """ Try setting the `validate` argument to True to check for errors in the figure specification""" - elif response.status_code == 525: - any_mapbox = any( - [ - trace.get("type", None) == "scattermapbox" - for trace in fig_dict.get("data", []) - ] - ) - if any_mapbox and config.mapbox_access_token is None: - err_message += """ -Exporting scattermapbox traces requires a mapbox access token. -Create a token in your mapbox account and then set it using: - ->>> plotly.io.orca.config.mapbox_access_token = 'pk.abc...' - -If you would like this token to be applied automatically in -future sessions, then save your orca configuration as follows: - ->>> plotly.io.orca.config.save() -""" elif response.status_code == 530 and format == "eps": err_message += """ Exporting to EPS format requires the poppler library. You can install diff --git a/plotly/subplots.py b/plotly/subplots.py index e41839039e8..55fac2437ad 100644 --- a/plotly/subplots.py +++ b/plotly/subplots.py @@ -115,7 +115,6 @@ def make_subplots( - 'polar': Polar subplot for scatterpolar, barpolar, etc. - 'ternary': Ternary subplot for scatterternary - 'map': Map subplot for scattermap - - 'mapbox': Mapbox subplot for scattermapbox - 'domain': Subplot type for traces that are individually positioned. pie, parcoords, parcats, etc. - trace type: A trace type which will be used to determine From 72286dbc70480707e090fc8c3bd8f9c51e0af965 Mon Sep 17 00:00:00 2001 From: Emily KL <4672118+emilykl@users.noreply.github.com> Date: Wed, 22 Jul 2026 16:22:21 -0400 Subject: [PATCH 04/10] remove mapbox references from templates --- plotly/package_data/templates/ggplot2.json | 2 +- plotly/package_data/templates/plotly.json | 2 +- plotly/package_data/templates/plotly_dark.json | 2 +- plotly/package_data/templates/plotly_white.json | 2 +- plotly/package_data/templates/seaborn.json | 2 +- plotly/package_data/templates/simple_white.json | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/plotly/package_data/templates/ggplot2.json b/plotly/package_data/templates/ggplot2.json index 4f11cdb72b2..4739f9b59fe 100644 --- a/plotly/package_data/templates/ggplot2.json +++ b/plotly/package_data/templates/ggplot2.json @@ -1 +1 @@ -{"layout":{"autotypenumbers":"strict","colorway":["#F8766D","#A3A500","#00BF7D","#00B0F6","#E76BF3"],"font":{"color":"rgb(51,51,51)"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"rgb(237,237,237)","polar":{"bgcolor":"rgb(237,237,237)","angularaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside"},"radialaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside"}},"ternary":{"bgcolor":"rgb(237,237,237)","aaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside"},"baxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside"},"caxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside"}},"coloraxis":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}},"colorscale":{"sequential":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]],"sequentialminus":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]]},"xaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside","title":{"standoff":15},"zerolinecolor":"white","automargin":true},"yaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside","title":{"standoff":15},"zerolinecolor":"white","automargin":true},"scene":{"xaxis":{"backgroundcolor":"rgb(237,237,237)","gridcolor":"white","linecolor":"white","showbackground":true,"showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"rgb(237,237,237)","gridcolor":"white","linecolor":"white","showbackground":true,"showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"rgb(237,237,237)","gridcolor":"white","linecolor":"white","showbackground":true,"showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"fillcolor":"black","line":{"width":0},"opacity":0.3},"annotationdefaults":{"arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"rgb(237,237,237)","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"}},"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"},"colorscale":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"},"colorscale":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"},"colorscale":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"},"colorscale":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"},"colorscale":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"bar":[{"error_x":{"color":"rgb(51,51,51)"},"error_y":{"color":"rgb(51,51,51)"},"marker":{"line":{"color":"rgb(237,237,237)","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}},"marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"carpet":[{"aaxis":{"endlinecolor":"rgb(51,51,51)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(51,51,51)"},"baxis":{"endlinecolor":"rgb(51,51,51)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(51,51,51)"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"rgb(237,237,237)"},"line":{"color":"white"}},"header":{"fill":{"color":"rgb(217,217,217)"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"rgb(237,237,237)","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]}} \ No newline at end of file +{"layout":{"autotypenumbers":"strict","colorway":["#F8766D","#A3A500","#00BF7D","#00B0F6","#E76BF3"],"font":{"color":"rgb(51,51,51)"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"rgb(237,237,237)","polar":{"bgcolor":"rgb(237,237,237)","angularaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside"},"radialaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside"}},"ternary":{"bgcolor":"rgb(237,237,237)","aaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside"},"baxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside"},"caxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside"}},"coloraxis":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}},"colorscale":{"sequential":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]],"sequentialminus":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]]},"xaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside","title":{"standoff":15},"zerolinecolor":"white","automargin":true},"yaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside","title":{"standoff":15},"zerolinecolor":"white","automargin":true},"scene":{"xaxis":{"backgroundcolor":"rgb(237,237,237)","gridcolor":"white","linecolor":"white","showbackground":true,"showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"rgb(237,237,237)","gridcolor":"white","linecolor":"white","showbackground":true,"showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"rgb(237,237,237)","gridcolor":"white","linecolor":"white","showbackground":true,"showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"fillcolor":"black","line":{"width":0},"opacity":0.3},"annotationdefaults":{"arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"rgb(237,237,237)","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"}},"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"},"colorscale":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"},"colorscale":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"},"colorscale":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"},"colorscale":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"},"colorscale":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"bar":[{"error_x":{"color":"rgb(51,51,51)"},"error_y":{"color":"rgb(51,51,51)"},"marker":{"line":{"color":"rgb(237,237,237)","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}},"marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"carpet":[{"aaxis":{"endlinecolor":"rgb(51,51,51)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(51,51,51)"},"baxis":{"endlinecolor":"rgb(51,51,51)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(51,51,51)"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"rgb(237,237,237)"},"line":{"color":"white"}},"header":{"fill":{"color":"rgb(217,217,217)"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"rgb(237,237,237)","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]}} \ No newline at end of file diff --git a/plotly/package_data/templates/plotly.json b/plotly/package_data/templates/plotly.json index b880be2d9e2..2dd3aa035da 100644 --- a/plotly/package_data/templates/plotly.json +++ b/plotly/package_data/templates/plotly.json @@ -1 +1 @@ -{"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"#E5ECF6","polar":{"bgcolor":"#E5ECF6","angularaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"ternary":{"bgcolor":"#E5ECF6","aaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"#E5ECF6","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}},"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]}} \ No newline at end of file +{"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"#E5ECF6","polar":{"bgcolor":"#E5ECF6","angularaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"ternary":{"bgcolor":"#E5ECF6","aaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"#E5ECF6","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05}},"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]}} \ No newline at end of file diff --git a/plotly/package_data/templates/plotly_dark.json b/plotly/package_data/templates/plotly_dark.json index 3b450321986..314c866fdea 100644 --- a/plotly/package_data/templates/plotly_dark.json +++ b/plotly/package_data/templates/plotly_dark.json @@ -1 +1 @@ -{"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#f2f5fa"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"rgb(17,17,17)","plot_bgcolor":"rgb(17,17,17)","polar":{"bgcolor":"rgb(17,17,17)","angularaxis":{"gridcolor":"#506784","linecolor":"#506784","ticks":""},"radialaxis":{"gridcolor":"#506784","linecolor":"#506784","ticks":""}},"ternary":{"bgcolor":"rgb(17,17,17)","aaxis":{"gridcolor":"#506784","linecolor":"#506784","ticks":""},"baxis":{"gridcolor":"#506784","linecolor":"#506784","ticks":""},"caxis":{"gridcolor":"#506784","linecolor":"#506784","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"#283442","linecolor":"#506784","ticks":"","title":{"standoff":15},"zerolinecolor":"#283442","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"#283442","linecolor":"#506784","ticks":"","title":{"standoff":15},"zerolinecolor":"#283442","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"rgb(17,17,17)","gridcolor":"#506784","linecolor":"#506784","showbackground":true,"ticks":"","zerolinecolor":"#C8D4E3","gridwidth":2},"yaxis":{"backgroundcolor":"rgb(17,17,17)","gridcolor":"#506784","linecolor":"#506784","showbackground":true,"ticks":"","zerolinecolor":"#C8D4E3","gridwidth":2},"zaxis":{"backgroundcolor":"rgb(17,17,17)","gridcolor":"#506784","linecolor":"#506784","showbackground":true,"ticks":"","zerolinecolor":"#C8D4E3","gridwidth":2}},"shapedefaults":{"line":{"color":"#f2f5fa"}},"annotationdefaults":{"arrowcolor":"#f2f5fa","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"rgb(17,17,17)","landcolor":"rgb(17,17,17)","subunitcolor":"#506784","showland":true,"showlakes":true,"lakecolor":"rgb(17,17,17)"},"title":{"x":0.05},"updatemenudefaults":{"bgcolor":"#506784","borderwidth":0},"sliderdefaults":{"bgcolor":"#C8D4E3","borderwidth":1,"bordercolor":"rgb(17,17,17)","tickwidth":0},"mapbox":{"style":"dark"}},"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"marker":{"line":{"color":"#283442"}},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#f2f5fa"},"error_y":{"color":"#f2f5fa"},"marker":{"line":{"color":"rgb(17,17,17)","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"marker":{"line":{"color":"#283442"}},"type":"scattergl"}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#A2B1C6","gridcolor":"#506784","linecolor":"#506784","minorgridcolor":"#506784","startlinecolor":"#A2B1C6"},"baxis":{"endlinecolor":"#A2B1C6","gridcolor":"#506784","linecolor":"#506784","minorgridcolor":"#506784","startlinecolor":"#A2B1C6"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#506784"},"line":{"color":"rgb(17,17,17)"}},"header":{"fill":{"color":"#2a3f5f"},"line":{"color":"rgb(17,17,17)"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"rgb(17,17,17)","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]}} \ No newline at end of file +{"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#f2f5fa"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"rgb(17,17,17)","plot_bgcolor":"rgb(17,17,17)","polar":{"bgcolor":"rgb(17,17,17)","angularaxis":{"gridcolor":"#506784","linecolor":"#506784","ticks":""},"radialaxis":{"gridcolor":"#506784","linecolor":"#506784","ticks":""}},"ternary":{"bgcolor":"rgb(17,17,17)","aaxis":{"gridcolor":"#506784","linecolor":"#506784","ticks":""},"baxis":{"gridcolor":"#506784","linecolor":"#506784","ticks":""},"caxis":{"gridcolor":"#506784","linecolor":"#506784","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"#283442","linecolor":"#506784","ticks":"","title":{"standoff":15},"zerolinecolor":"#283442","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"#283442","linecolor":"#506784","ticks":"","title":{"standoff":15},"zerolinecolor":"#283442","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"rgb(17,17,17)","gridcolor":"#506784","linecolor":"#506784","showbackground":true,"ticks":"","zerolinecolor":"#C8D4E3","gridwidth":2},"yaxis":{"backgroundcolor":"rgb(17,17,17)","gridcolor":"#506784","linecolor":"#506784","showbackground":true,"ticks":"","zerolinecolor":"#C8D4E3","gridwidth":2},"zaxis":{"backgroundcolor":"rgb(17,17,17)","gridcolor":"#506784","linecolor":"#506784","showbackground":true,"ticks":"","zerolinecolor":"#C8D4E3","gridwidth":2}},"shapedefaults":{"line":{"color":"#f2f5fa"}},"annotationdefaults":{"arrowcolor":"#f2f5fa","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"rgb(17,17,17)","landcolor":"rgb(17,17,17)","subunitcolor":"#506784","showland":true,"showlakes":true,"lakecolor":"rgb(17,17,17)"},"title":{"x":0.05},"updatemenudefaults":{"bgcolor":"#506784","borderwidth":0},"sliderdefaults":{"bgcolor":"#C8D4E3","borderwidth":1,"bordercolor":"rgb(17,17,17)","tickwidth":0}},"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"marker":{"line":{"color":"#283442"}},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#f2f5fa"},"error_y":{"color":"#f2f5fa"},"marker":{"line":{"color":"rgb(17,17,17)","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"marker":{"line":{"color":"#283442"}},"type":"scattergl"}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#A2B1C6","gridcolor":"#506784","linecolor":"#506784","minorgridcolor":"#506784","startlinecolor":"#A2B1C6"},"baxis":{"endlinecolor":"#A2B1C6","gridcolor":"#506784","linecolor":"#506784","minorgridcolor":"#506784","startlinecolor":"#A2B1C6"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#506784"},"line":{"color":"rgb(17,17,17)"}},"header":{"fill":{"color":"#2a3f5f"},"line":{"color":"rgb(17,17,17)"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"rgb(17,17,17)","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]}} \ No newline at end of file diff --git a/plotly/package_data/templates/plotly_white.json b/plotly/package_data/templates/plotly_white.json index b489c38897c..501620a8377 100644 --- a/plotly/package_data/templates/plotly_white.json +++ b/plotly/package_data/templates/plotly_white.json @@ -1 +1 @@ -{"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"white","polar":{"bgcolor":"white","angularaxis":{"gridcolor":"#EBF0F8","linecolor":"#EBF0F8","ticks":""},"radialaxis":{"gridcolor":"#EBF0F8","linecolor":"#EBF0F8","ticks":""}},"ternary":{"bgcolor":"white","aaxis":{"gridcolor":"#DFE8F3","linecolor":"#A2B1C6","ticks":""},"baxis":{"gridcolor":"#DFE8F3","linecolor":"#A2B1C6","ticks":""},"caxis":{"gridcolor":"#DFE8F3","linecolor":"#A2B1C6","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"#EBF0F8","linecolor":"#EBF0F8","ticks":"","title":{"standoff":15},"zerolinecolor":"#EBF0F8","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"#EBF0F8","linecolor":"#EBF0F8","ticks":"","title":{"standoff":15},"zerolinecolor":"#EBF0F8","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"white","gridcolor":"#DFE8F3","linecolor":"#EBF0F8","showbackground":true,"ticks":"","zerolinecolor":"#EBF0F8","gridwidth":2},"yaxis":{"backgroundcolor":"white","gridcolor":"#DFE8F3","linecolor":"#EBF0F8","showbackground":true,"ticks":"","zerolinecolor":"#EBF0F8","gridwidth":2},"zaxis":{"backgroundcolor":"white","gridcolor":"#DFE8F3","linecolor":"#EBF0F8","showbackground":true,"ticks":"","zerolinecolor":"#EBF0F8","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"white","subunitcolor":"#C8D4E3","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}},"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"white","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"#C8D4E3","linecolor":"#C8D4E3","minorgridcolor":"#C8D4E3","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"#C8D4E3","linecolor":"#C8D4E3","minorgridcolor":"#C8D4E3","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"white","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]}} \ No newline at end of file +{"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"white","polar":{"bgcolor":"white","angularaxis":{"gridcolor":"#EBF0F8","linecolor":"#EBF0F8","ticks":""},"radialaxis":{"gridcolor":"#EBF0F8","linecolor":"#EBF0F8","ticks":""}},"ternary":{"bgcolor":"white","aaxis":{"gridcolor":"#DFE8F3","linecolor":"#A2B1C6","ticks":""},"baxis":{"gridcolor":"#DFE8F3","linecolor":"#A2B1C6","ticks":""},"caxis":{"gridcolor":"#DFE8F3","linecolor":"#A2B1C6","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"#EBF0F8","linecolor":"#EBF0F8","ticks":"","title":{"standoff":15},"zerolinecolor":"#EBF0F8","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"#EBF0F8","linecolor":"#EBF0F8","ticks":"","title":{"standoff":15},"zerolinecolor":"#EBF0F8","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"white","gridcolor":"#DFE8F3","linecolor":"#EBF0F8","showbackground":true,"ticks":"","zerolinecolor":"#EBF0F8","gridwidth":2},"yaxis":{"backgroundcolor":"white","gridcolor":"#DFE8F3","linecolor":"#EBF0F8","showbackground":true,"ticks":"","zerolinecolor":"#EBF0F8","gridwidth":2},"zaxis":{"backgroundcolor":"white","gridcolor":"#DFE8F3","linecolor":"#EBF0F8","showbackground":true,"ticks":"","zerolinecolor":"#EBF0F8","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"white","subunitcolor":"#C8D4E3","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05}},"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"white","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"#C8D4E3","linecolor":"#C8D4E3","minorgridcolor":"#C8D4E3","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"#C8D4E3","linecolor":"#C8D4E3","minorgridcolor":"#C8D4E3","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"white","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]}} \ No newline at end of file diff --git a/plotly/package_data/templates/seaborn.json b/plotly/package_data/templates/seaborn.json index 3ec06118fc5..860a43857bc 100644 --- a/plotly/package_data/templates/seaborn.json +++ b/plotly/package_data/templates/seaborn.json @@ -1 +1 @@ -{"layout":{"autotypenumbers":"strict","colorway":["rgb(76,114,176)","rgb(221,132,82)","rgb(85,168,104)","rgb(196,78,82)","rgb(129,114,179)","rgb(147,120,96)","rgb(218,139,195)","rgb(140,140,140)","rgb(204,185,116)","rgb(100,181,205)"],"font":{"color":"rgb(36,36,36)"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"rgb(234,234,242)","polar":{"bgcolor":"rgb(234,234,242)","angularaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":""}},"ternary":{"bgcolor":"rgb(234,234,242)","aaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}},"colorscale":{"sequential":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]],"sequentialminus":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]]},"xaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true},"yaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true},"scene":{"xaxis":{"backgroundcolor":"rgb(234,234,242)","gridcolor":"white","linecolor":"white","showbackground":true,"showgrid":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"rgb(234,234,242)","gridcolor":"white","linecolor":"white","showbackground":true,"showgrid":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"rgb(234,234,242)","gridcolor":"white","linecolor":"white","showbackground":true,"showgrid":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"fillcolor":"rgb(67,103,167)","line":{"width":0},"opacity":0.5},"annotationdefaults":{"arrowcolor":"rgb(67,103,167)"},"geo":{"bgcolor":"white","landcolor":"rgb(234,234,242)","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"}},"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2},"colorscale":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2},"colorscale":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2},"colorscale":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2},"colorscale":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2},"colorscale":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"bar":[{"error_x":{"color":"rgb(36,36,36)"},"error_y":{"color":"rgb(36,36,36)"},"marker":{"line":{"color":"rgb(234,234,242)","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}},"marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"carpet":[{"aaxis":{"endlinecolor":"rgb(36,36,36)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(36,36,36)"},"baxis":{"endlinecolor":"rgb(36,36,36)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(36,36,36)"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"rgb(231,231,240)"},"line":{"color":"white"}},"header":{"fill":{"color":"rgb(183,183,191)"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"rgb(234,234,242)","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]}} \ No newline at end of file +{"layout":{"autotypenumbers":"strict","colorway":["rgb(76,114,176)","rgb(221,132,82)","rgb(85,168,104)","rgb(196,78,82)","rgb(129,114,179)","rgb(147,120,96)","rgb(218,139,195)","rgb(140,140,140)","rgb(204,185,116)","rgb(100,181,205)"],"font":{"color":"rgb(36,36,36)"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"rgb(234,234,242)","polar":{"bgcolor":"rgb(234,234,242)","angularaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":""}},"ternary":{"bgcolor":"rgb(234,234,242)","aaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}},"colorscale":{"sequential":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]],"sequentialminus":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]]},"xaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true},"yaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true},"scene":{"xaxis":{"backgroundcolor":"rgb(234,234,242)","gridcolor":"white","linecolor":"white","showbackground":true,"showgrid":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"rgb(234,234,242)","gridcolor":"white","linecolor":"white","showbackground":true,"showgrid":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"rgb(234,234,242)","gridcolor":"white","linecolor":"white","showbackground":true,"showgrid":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"fillcolor":"rgb(67,103,167)","line":{"width":0},"opacity":0.5},"annotationdefaults":{"arrowcolor":"rgb(67,103,167)"},"geo":{"bgcolor":"white","landcolor":"rgb(234,234,242)","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"}},"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2},"colorscale":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2},"colorscale":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2},"colorscale":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2},"colorscale":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2},"colorscale":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"bar":[{"error_x":{"color":"rgb(36,36,36)"},"error_y":{"color":"rgb(36,36,36)"},"marker":{"line":{"color":"rgb(234,234,242)","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}},"marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"carpet":[{"aaxis":{"endlinecolor":"rgb(36,36,36)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(36,36,36)"},"baxis":{"endlinecolor":"rgb(36,36,36)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(36,36,36)"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"rgb(231,231,240)"},"line":{"color":"white"}},"header":{"fill":{"color":"rgb(183,183,191)"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"rgb(234,234,242)","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]}} \ No newline at end of file diff --git a/plotly/package_data/templates/simple_white.json b/plotly/package_data/templates/simple_white.json index c9a656ad364..a6441f84d28 100644 --- a/plotly/package_data/templates/simple_white.json +++ b/plotly/package_data/templates/simple_white.json @@ -1 +1 @@ -{"layout":{"autotypenumbers":"strict","colorway":["#1F77B4","#FF7F0E","#2CA02C","#D62728","#9467BD","#8C564B","#E377C2","#7F7F7F","#BCBD22","#17BECF"],"font":{"color":"rgb(36,36,36)"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"white","polar":{"bgcolor":"white","angularaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"},"radialaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"}},"ternary":{"bgcolor":"white","aaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"},"baxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"},"caxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"}},"coloraxis":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"colorscale":{"sequential":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]],"sequentialminus":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]],"diverging":[[0.0,"rgb(103,0,31)"],[0.1,"rgb(178,24,43)"],[0.2,"rgb(214,96,77)"],[0.3,"rgb(244,165,130)"],[0.4,"rgb(253,219,199)"],[0.5,"rgb(247,247,247)"],[0.6,"rgb(209,229,240)"],[0.7,"rgb(146,197,222)"],[0.8,"rgb(67,147,195)"],[0.9,"rgb(33,102,172)"],[1.0,"rgb(5,48,97)"]]},"xaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside","title":{"standoff":15},"zerolinecolor":"rgb(36,36,36)","automargin":true,"zeroline":false},"yaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside","title":{"standoff":15},"zerolinecolor":"rgb(36,36,36)","automargin":true,"zeroline":false},"scene":{"xaxis":{"backgroundcolor":"white","gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showbackground":true,"showgrid":false,"showline":true,"ticks":"outside","zerolinecolor":"rgb(36,36,36)","gridwidth":2,"zeroline":false},"yaxis":{"backgroundcolor":"white","gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showbackground":true,"showgrid":false,"showline":true,"ticks":"outside","zerolinecolor":"rgb(36,36,36)","gridwidth":2,"zeroline":false},"zaxis":{"backgroundcolor":"white","gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showbackground":true,"showgrid":false,"showline":true,"ticks":"outside","zerolinecolor":"rgb(36,36,36)","gridwidth":2,"zeroline":false}},"shapedefaults":{"fillcolor":"black","line":{"width":0},"opacity":0.3},"annotationdefaults":{"arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"white","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}},"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"bar":[{"error_x":{"color":"rgb(36,36,36)"},"error_y":{"color":"rgb(36,36,36)"},"marker":{"line":{"color":"white","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"histogram":[{"marker":{"line":{"color":"white","width":0.6}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"carpet":[{"aaxis":{"endlinecolor":"rgb(36,36,36)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(36,36,36)"},"baxis":{"endlinecolor":"rgb(36,36,36)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(36,36,36)"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"rgb(237,237,237)"},"line":{"color":"white"}},"header":{"fill":{"color":"rgb(217,217,217)"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"white","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]}} \ No newline at end of file +{"layout":{"autotypenumbers":"strict","colorway":["#1F77B4","#FF7F0E","#2CA02C","#D62728","#9467BD","#8C564B","#E377C2","#7F7F7F","#BCBD22","#17BECF"],"font":{"color":"rgb(36,36,36)"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"white","polar":{"bgcolor":"white","angularaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"},"radialaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"}},"ternary":{"bgcolor":"white","aaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"},"baxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"},"caxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"}},"coloraxis":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"colorscale":{"sequential":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]],"sequentialminus":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]],"diverging":[[0.0,"rgb(103,0,31)"],[0.1,"rgb(178,24,43)"],[0.2,"rgb(214,96,77)"],[0.3,"rgb(244,165,130)"],[0.4,"rgb(253,219,199)"],[0.5,"rgb(247,247,247)"],[0.6,"rgb(209,229,240)"],[0.7,"rgb(146,197,222)"],[0.8,"rgb(67,147,195)"],[0.9,"rgb(33,102,172)"],[1.0,"rgb(5,48,97)"]]},"xaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside","title":{"standoff":15},"zerolinecolor":"rgb(36,36,36)","automargin":true,"zeroline":false},"yaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside","title":{"standoff":15},"zerolinecolor":"rgb(36,36,36)","automargin":true,"zeroline":false},"scene":{"xaxis":{"backgroundcolor":"white","gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showbackground":true,"showgrid":false,"showline":true,"ticks":"outside","zerolinecolor":"rgb(36,36,36)","gridwidth":2,"zeroline":false},"yaxis":{"backgroundcolor":"white","gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showbackground":true,"showgrid":false,"showline":true,"ticks":"outside","zerolinecolor":"rgb(36,36,36)","gridwidth":2,"zeroline":false},"zaxis":{"backgroundcolor":"white","gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showbackground":true,"showgrid":false,"showline":true,"ticks":"outside","zerolinecolor":"rgb(36,36,36)","gridwidth":2,"zeroline":false}},"shapedefaults":{"fillcolor":"black","line":{"width":0},"opacity":0.3},"annotationdefaults":{"arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"white","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05}},"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"bar":[{"error_x":{"color":"rgb(36,36,36)"},"error_y":{"color":"rgb(36,36,36)"},"marker":{"line":{"color":"white","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"histogram":[{"marker":{"line":{"color":"white","width":0.6}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"carpet":[{"aaxis":{"endlinecolor":"rgb(36,36,36)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(36,36,36)"},"baxis":{"endlinecolor":"rgb(36,36,36)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(36,36,36)"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"rgb(237,237,237)"},"line":{"color":"white"}},"header":{"fill":{"color":"rgb(217,217,217)"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"white","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]}} \ No newline at end of file From 960ffa914a5707aec0c0b9ddf8b2fd8863416c16 Mon Sep 17 00:00:00 2001 From: Emily KL <4672118+emilykl@users.noreply.github.com> Date: Wed, 22 Jul 2026 17:48:58 -0400 Subject: [PATCH 05/10] update tests to remove mapbox references (change to map where relevant) --- tests/percy/compare-pandas.py | 3 --- .../test_core/test_graph_objs/test_frames.py | 2 -- .../test_graph_objs/test_graph_objs.py | 12 ----------- .../test_graph_objs/test_layout_subplots.py | 20 +++++++++---------- .../test_update_subplots.py | 12 +++++------ .../test_figure_factory.py | 2 +- .../test_graph_objs/test_skipped_b64_keys.py | 6 +++--- tests/test_optional/test_px/test_px.py | 18 ----------------- .../validators/test_fig_deepcopy.py | 6 ------ 9 files changed, 20 insertions(+), 61 deletions(-) diff --git a/tests/percy/compare-pandas.py b/tests/percy/compare-pandas.py index 44a2d3c7971..58d96b13401 100644 --- a/tests/percy/compare-pandas.py +++ b/tests/percy/compare-pandas.py @@ -16,14 +16,11 @@ def get_fig(html): for filename in os.listdir("pandas2"): if filename not in [ - "density_mapbox.html", "density_map.html", "scatter_hover.html", - "scatter_mapbox.html", "scatter_map.html", "line.html", "choropleth.html", - "line_mapbox.html", "line_map.html", "scatter_log.html", ]: diff --git a/tests/test_core/test_graph_objs/test_frames.py b/tests/test_core/test_graph_objs/test_frames.py index 69a03f9b801..03ed2405e71 100644 --- a/tests/test_core/test_graph_objs/test_frames.py +++ b/tests/test_core/test_graph_objs/test_frames.py @@ -82,7 +82,6 @@ def test_deeply_nested_data_attributes(self): self.assertEqual( set(matches), { - "colorsrc", "autocolorscale", "cmin", "colorscale", @@ -90,7 +89,6 @@ def test_deeply_nested_data_attributes(self): "reversescale", "width", "cauto", - "widthsrc", "cmax", "coloraxis", }, diff --git a/tests/test_core/test_graph_objs/test_graph_objs.py b/tests/test_core/test_graph_objs/test_graph_objs.py index 5b0e3dbbdf7..230fcafae90 100644 --- a/tests/test_core/test_graph_objs/test_graph_objs.py +++ b/tests/test_core/test_graph_objs/test_graph_objs.py @@ -1,7 +1,6 @@ from unittest import TestCase import warnings -import pytest import plotly.graph_objs as go @@ -158,17 +157,6 @@ def test_pop_invalid_prop_with_default(self): class TestDeprecationWarnings(TestCase): - def test_warn_on_deprecated_mapbox_traces(self): - # This test will fail if any of the following traces - # fails to emit a DeprecationWarning - for trace_constructor in [ - go.Scattermapbox, - go.Densitymapbox, - go.Choroplethmapbox, - ]: - with pytest.warns(DeprecationWarning): - _ = go.Figure([trace_constructor()]) - def test_no_warn_on_non_deprecated_traces(self): # This test will fail if any of the following traces emits a DeprecationWarning for trace_constructor in [ diff --git a/tests/test_core/test_graph_objs/test_layout_subplots.py b/tests/test_core/test_graph_objs/test_layout_subplots.py index 868f3e04075..e43245d8385 100644 --- a/tests/test_core/test_graph_objs/test_layout_subplots.py +++ b/tests/test_core/test_graph_objs/test_layout_subplots.py @@ -21,7 +21,7 @@ def test_initial_access_subplots(self): self.assertEqual(self.layout.yaxis, go.layout.YAxis()) self.assertEqual(self.layout["geo"], go.layout.Geo()) self.assertEqual(self.layout.scene, go.layout.Scene()) - self.assertEqual(self.layout.mapbox, go.layout.Mapbox()) + self.assertEqual(self.layout.map, go.layout.Map()) self.assertEqual(self.layout.polar, go.layout.Polar()) # Subplot ids of 1 should be mapped to the same object as the base @@ -30,7 +30,7 @@ def test_initial_access_subplots(self): self.assertIs(self.layout.yaxis, self.layout.yaxis1) self.assertIs(self.layout.geo, self.layout.geo1) self.assertIs(self.layout.scene, self.layout.scene1) - self.assertIs(self.layout.mapbox, self.layout.mapbox1) + self.assertIs(self.layout.map, self.layout.map1) self.assertIs(self.layout.polar, self.layout.polar1) def test_initial_access_subplot2_1(self): @@ -145,8 +145,8 @@ def test_subplot_objs_have_proper_type(self): self.layout.scene6 = {} self.assertIsInstance(self.layout.scene6, go.layout.Scene) - self.layout.mapbox7 = {} - self.assertIsInstance(self.layout.mapbox7, go.layout.Mapbox) + self.layout.map7 = {} + self.assertIsInstance(self.layout.map7, go.layout.Map) self.layout.polar8 = {} self.assertIsInstance(self.layout.polar8, go.layout.Polar) @@ -162,7 +162,7 @@ def test_subplot_props_in_constructor(self): geo4=go.layout.Geo(bgcolor="blue"), ternary5=go.layout.Ternary(sum=120), scene6=go.layout.Scene(dragmode="zoom"), - mapbox7=go.layout.Mapbox(zoom=2), + map7=go.layout.Map(zoom=2), polar8=go.layout.Polar(sector=[0, 90]), ) @@ -171,7 +171,7 @@ def test_subplot_props_in_constructor(self): self.assertEqual(layout.geo4.bgcolor, "blue") self.assertEqual(layout.ternary5.sum, 120) self.assertEqual(layout.scene6.dragmode, "zoom") - self.assertEqual(layout.mapbox7.zoom, 2) + self.assertEqual(layout.map7.zoom, 2) self.assertEqual(layout.polar8.sector, (0, 90)) def test_create_subplot_with_update(self): @@ -182,7 +182,7 @@ def test_create_subplot_with_update(self): geo4=go.layout.Geo(bgcolor="blue"), ternary5=go.layout.Ternary(sum=120), scene6=go.layout.Scene(dragmode="zoom"), - mapbox7=go.layout.Mapbox(zoom=2), + map7=go.layout.Map(zoom=2), polar8=go.layout.Polar(sector=[0, 90]), ) @@ -192,7 +192,7 @@ def test_create_subplot_with_update(self): self.assertEqual(self.layout.geo4.bgcolor, "blue") self.assertEqual(self.layout.ternary5.sum, 120) self.assertEqual(self.layout.scene6.dragmode, "zoom") - self.assertEqual(self.layout.mapbox7.zoom, 2) + self.assertEqual(self.layout.map7.zoom, 2) self.assertEqual(self.layout.polar8.sector, (0, 90)) def test_create_subplot_with_update_dict(self): @@ -204,7 +204,7 @@ def test_create_subplot_with_update_dict(self): "geo4": {"bgcolor": "blue"}, "ternary5": {"sum": 120}, "scene6": {"dragmode": "zoom"}, - "mapbox7": {"zoom": 2}, + "map7": {"zoom": 2}, "polar8": {"sector": [0, 90]}, } ) @@ -215,7 +215,7 @@ def test_create_subplot_with_update_dict(self): self.assertEqual(self.layout.geo4.bgcolor, "blue") self.assertEqual(self.layout.ternary5.sum, 120) self.assertEqual(self.layout.scene6.dragmode, "zoom") - self.assertEqual(self.layout.mapbox7.zoom, 2) + self.assertEqual(self.layout.map7.zoom, 2) self.assertEqual(self.layout.polar8.sector, (0, 90)) def test_bug_1462(self): diff --git a/tests/test_core/test_update_objects/test_update_subplots.py b/tests/test_core/test_update_objects/test_update_subplots.py index 159b995ca40..8cce0c62d1f 100644 --- a/tests/test_core/test_update_objects/test_update_subplots.py +++ b/tests/test_core/test_update_objects/test_update_subplots.py @@ -109,11 +109,11 @@ def test_select_by_type(self): self.assert_select_subplots("ternary", "ternaries", [1], test_no_grid=True) - # No 'geo' or 'mapbox' subplots initialized, but the first subplot + # No 'geo' or 'map' subplots initialized, but the first subplot # object is always present self.assert_select_subplots("geo", "geos", [1], test_no_grid=True) - self.assert_select_subplots("mapbox", "mapboxes", [1], test_no_grid=True) + self.assert_select_subplots("map", "maps", [1], test_no_grid=True) def test_select_by_type_and_grid(self): self.assert_select_subplots("xaxis", "xaxes", [1, 2], row=1) @@ -261,7 +261,7 @@ def test_select_by_type_and_selector(self): "ternary", "ternaries", [1], selector=-1, test_no_grid=True ) - # No 'geo' or 'mapbox' subplots initialized, but the first subplot + # No 'geo' or 'map' subplots initialized, but the first subplot # object is always present self.assert_select_subplots( "geo", "geos", [], selector={"bgcolor": "blue"}, test_no_grid=True @@ -272,7 +272,7 @@ def test_select_by_type_and_selector(self): ) self.assert_select_subplots( - "mapbox", "mapboxes", [], selector={"pitch": 45}, test_no_grid=True + "map", "maps", [], selector={"pitch": 45}, test_no_grid=True ) def test_select_by_type_and_grid_and_selector(self): @@ -421,14 +421,14 @@ def test_update_by_type(self): test_no_grid=True, ) - # No 'geo' or 'mapbox' subplots initialized, but the first subplot + # No 'geo' or 'map' subplots initialized, but the first subplot # object is always present self.assert_update_subplots( "geo", "geos", [1], {"bgcolor": "purple"}, test_no_grid=True ) self.assert_update_subplots( - "mapbox", "mapboxes", [1], {"pitch": 99}, test_no_grid=True + "map", "maps", [1], {"pitch": 99}, test_no_grid=True ) def test_update_by_type_and_grid(self): diff --git a/tests/test_optional/test_figure_factory/test_figure_factory.py b/tests/test_optional/test_figure_factory/test_figure_factory.py index e3a41b7b18f..c4dac583204 100644 --- a/tests/test_optional/test_figure_factory/test_figure_factory.py +++ b/tests/test_optional/test_figure_factory/test_figure_factory.py @@ -1121,7 +1121,7 @@ def test_optional_arguments(self): assert len(fig.data) == ncontours + 2 + arg_set["showscale"] -class TestHexbinMapbox(NumpyTestUtilsMixin, TestCaseNoTemplate): +class TestHexbinMap(NumpyTestUtilsMixin, TestCaseNoTemplate): def compare_list_values(self, list1, list2, decimal=7): assert len(list1) == len(list2), "Lists are not of the same length." for i in range(len(list1)): diff --git a/tests/test_optional/test_graph_objs/test_skipped_b64_keys.py b/tests/test_optional/test_graph_objs/test_skipped_b64_keys.py index 3e36cff177b..dc9372f8891 100644 --- a/tests/test_optional/test_graph_objs/test_skipped_b64_keys.py +++ b/tests/test_optional/test_graph_objs/test_skipped_b64_keys.py @@ -41,7 +41,7 @@ def test_np_geojson(self): def test_np_layers(self): layout = { - "mapbox": { + "map": { "layers": [ { "sourcetype": "geojson", @@ -70,9 +70,9 @@ def test_np_layers(self): fig = go.Figure(data=data, layout=layout) - assert (fig.layout["mapbox"]["layers"][0]["line"]["dash"] == (2.5, 1)).all() + assert (fig.layout["map"]["layers"][0]["line"]["dash"] == (2.5, 1)).all() - assert json.loads(fig.to_json())["layout"]["mapbox"]["layers"][0]["source"][ + assert json.loads(fig.to_json())["layout"]["map"]["layers"][0]["source"][ "features" ][0]["geometry"]["coordinates"] == [[0.25, 52], [0.75, 50]] diff --git a/tests/test_optional/test_px/test_px.py b/tests/test_optional/test_px/test_px.py index a74c4680540..d4773de66f8 100644 --- a/tests/test_optional/test_px/test_px.py +++ b/tests/test_optional/test_px/test_px.py @@ -447,24 +447,6 @@ def test_load_px_data(return_type): assert len(df) > 0 -def test_warn_on_deprecated_mapbox_px_constructors(): - # This test will fail if any of the following px constructors - # fails to emit a DeprecationWarning - for fig_constructor in [ - px.line_mapbox, - px.scatter_mapbox, - px.density_mapbox, - px.choropleth_mapbox, - ]: - # Look for warnings with the string "_mapbox" in them - # to make sure the warning is coming from px rather than go - with pytest.warns(DeprecationWarning, match="_mapbox"): - if fig_constructor == px.choropleth_mapbox: - fig_constructor(locations=["CA", "TX", "NY"]) - else: - fig_constructor(lat=[10, 20, 30], lon=[10, 20, 30]) - - def test_no_warn_on_non_deprecated_px_constructors(): # This test will fail if any of the following px constructors # emits a DeprecationWarning diff --git a/tests/test_plotly_utils/validators/test_fig_deepcopy.py b/tests/test_plotly_utils/validators/test_fig_deepcopy.py index 2ad869310c2..1a5d8e46ddc 100644 --- a/tests/test_plotly_utils/validators/test_fig_deepcopy.py +++ b/tests/test_plotly_utils/validators/test_fig_deepcopy.py @@ -12,9 +12,6 @@ @pytest.mark.parametrize("return_type", ["pandas", "polars", "pyarrow"]) -@pytest.mark.filterwarnings( - r"ignore:\*scattermapbox\* is deprecated! Use \*scattermap\* instead" -) def test_deepcopy_dataframe(return_type): gapminder = px.data.gapminder(return_type=return_type) fig = px.line(gapminder, x="year", y="gdpPercap", color="country") @@ -23,9 +20,6 @@ def test_deepcopy_dataframe(return_type): assert fig_copied.to_dict() == fig.to_dict() -@pytest.mark.filterwarnings( - r"ignore:\*scattermapbox\* is deprecated! Use \*scattermap\* instead" -) def test_deepcopy_array(): gapminder = px.data.gapminder() x = gapminder["year"].to_numpy() From c1c22c15a73c4f51d1fbdb108b6c4a3765f62abd Mon Sep 17 00:00:00 2001 From: Emily KL <4672118+emilykl@users.noreply.github.com> Date: Thu, 23 Jul 2026 11:38:03 -0400 Subject: [PATCH 06/10] remove mapbox references from docs and doc build workflow --- .github/workflows/build-doc.yml | 3 - .gitignore | 1 - doc/Makefile | 7 - doc/README.md | 13 -- doc/apidoc/plotly.express.rst | 5 - doc/apidoc/plotly.graph_objects.rst | 3 - doc/python/configuration-options.md | 4 +- doc/python/density-heatmaps.md | 51 +----- doc/python/figure-factories.md | 4 +- doc/python/filled-area-tile-maps.md | 31 +--- .../{hexbin-mapbox.md => hexbin-map.md} | 6 +- doc/python/lines-on-tile-maps.md | 44 +----- doc/python/map-configuration.md | 2 +- doc/python/migrate-to-maplibre.md | 2 +- doc/python/orca-management.md | 1 - doc/python/performance.md | 2 +- doc/python/shapes.md | 2 +- doc/python/static-image-export.md | 1 - .../static-image-generation-migration.md | 2 - doc/python/subplots.md | 2 +- doc/python/tile-county-choropleth.md | 37 +---- doc/python/tile-map-layers.md | 146 +++--------------- doc/python/tile-scatter-maps.md | 57 +------ doc/python/wide-form.md | 2 +- .../python/tesla-supercharging-stations.md | 13 +- 25 files changed, 44 insertions(+), 397 deletions(-) rename doc/python/{hexbin-mapbox.md => hexbin-map.md} (97%) diff --git a/.github/workflows/build-doc.yml b/.github/workflows/build-doc.yml index 072525166ba..094ee1f4531 100644 --- a/.github/workflows/build-doc.yml +++ b/.github/workflows/build-doc.yml @@ -38,12 +38,9 @@ jobs: - name: Build HTML docs - env: - MAPBOX_TOKEN: ${{ secrets.MAPBOX_TOKEN }} run: | cd doc source .venv/bin/activate - echo "${MAPBOX_TOKEN}" > python/.mapbox_token make -kj8 || make -kj8 curl https://raw.githubusercontent.com/plotly/graphing-library-docs/master/front-matter-ci.py > front-matter-ci.py curl https://raw.githubusercontent.com/plotly/graphing-library-docs/master/check-or-enforce-order.py > check-or-enforce-order.py diff --git a/.gitignore b/.gitignore index 5bb4e110325..d266d02cd33 100644 --- a/.gitignore +++ b/.gitignore @@ -55,7 +55,6 @@ tests/test_core/test_offline/plotly.min.js temp-plot.html .vscode doc/python/.ipynb_checkpoints -doc/python/.mapbox_token doc/.ipynb_checkpoints tags doc/check-or-enforce-order.py diff --git a/doc/Makefile b/doc/Makefile index 9c4d0edab13..a0745490c39 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -21,13 +21,6 @@ all: $(HTML_FILES) $(V3_REDIR_FILES) $(NEXT_REDIR_FILES) .PRECIOUS: $(IPYNB_FILES) -$(IPYNB_DIR)/.mapbox_token: $(MD_DIR)/.mapbox_token - @mkdir -p $(IPYNB_DIR) - @echo "[symlink] .mapbox_token" - @cd $(IPYNB_DIR) && ln -s ../../$< - -$(IPYNB_FILES): $(IPYNB_DIR)/.mapbox_token - $(IPYNB_DIR)/%.ipynb: $(MD_DIR)/%.md @mkdir -p $(IPYNB_DIR) @echo "[jupytext] $<" diff --git a/doc/README.md b/doc/README.md index 4ccfaf4f658..b37168dd541 100644 --- a/doc/README.md +++ b/doc/README.md @@ -32,17 +32,6 @@ uv pip uninstall plotly # remove the PyPI version installed by requirement uv pip install -e .. # install from your local checkout ``` -### Mapbox token - -Several geographic examples require a free Mapbox public token. Without it, -those specific pages will fail to build. - -1. Create an account at https://account.mapbox.com/auth/signup -2. Navigate to https://account.mapbox.com/ and copy your "Default public token" -3. Save it to the file `doc/python/.mapbox_token` - -The Makefile symlinks this token into the build directory automatically. - ## Tutorials (`python` directory) Each tutorial is a markdown (`.md`) file, which can be opened in Jupyter @@ -391,8 +380,6 @@ Check `build/failures/` for the full error output. Common causes: - **Timeout** — the default is 600 seconds (10 minutes). If your example legitimately needs more time, discuss in an issue before increasing the timeout. -- **Missing Mapbox token** — geographic examples will fail if - `doc/python/.mapbox_token` does not exist. ### `make` fails immediately diff --git a/doc/apidoc/plotly.express.rst b/doc/apidoc/plotly.express.rst index c2512ee82d5..9a82acf4501 100644 --- a/doc/apidoc/plotly.express.rst +++ b/doc/apidoc/plotly.express.rst @@ -19,14 +19,12 @@ plotly's high-level API for rapid figure generation. :: scatter_polar scatter_ternary scatter_map - scatter_mapbox scatter_geo line line_3d line_polar line_ternary line_map - line_mapbox line_geo area bar @@ -48,13 +46,10 @@ plotly's high-level API for rapid figure generation. :: parallel_categories choropleth choropleth_map - choropleth_mapbox density_contour density_heatmap density_map - density_mapbox imshow - set_mapbox_access_token get_trendline_results diff --git a/doc/apidoc/plotly.graph_objects.rst b/doc/apidoc/plotly.graph_objects.rst index 46f246295a6..56442c843cc 100644 --- a/doc/apidoc/plotly.graph_objects.rst +++ b/doc/apidoc/plotly.graph_objects.rst @@ -101,9 +101,6 @@ Map Traces Scattermap Choroplethmap Densitymap - Scattermapbox - Choroplethmapbox - Densitymapbox Specialized Traces ----------- diff --git a/doc/python/configuration-options.md b/doc/python/configuration-options.md index b2ad530d1a5..537e247911f 100644 --- a/doc/python/configuration-options.md +++ b/doc/python/configuration-options.md @@ -212,7 +212,7 @@ To delete buttons from the modebar, pass an array of strings containing the name - **3D**: `zoom3d`, `pan3d`, `orbitRotation`, `tableRotation`, `handleDrag3d`, `resetCameraDefault3d`, `resetCameraLastSave3d`, `hoverClosest3d` - **Cartesian**: `hoverClosestCartesian`, `hoverCompareCartesian` - **Geo**: `zoomInGeo`, `zoomOutGeo`, `resetGeo`, `hoverClosestGeo` - - **Other**: `hoverClosestGl2d`, `hoverClosestPie`, `toggleHover`, `resetViews`, `toImage`, `sendDataToCloud`, `toggleSpikelines`, `resetViewMapbox` + - **Other**: `hoverClosestGl2d`, `hoverClosestPie`, `toggleHover`, `resetViews`, `toImage`, `sendDataToCloud`, `toggleSpikelines`, `resetViewMap` ```python import plotly.graph_objects as go @@ -305,7 +305,7 @@ fig.show() ### Double-Click Delay Sets the maximum delay between two consecutive clicks to be interpreted as a double-click in milliseconds. This is the time interval between first mousedown and second mouseup. The default timing is 300 ms (less than half a second). -This setting propagates to all on-subplot double clicks (except for `geo` and `mapbox`). +This setting propagates to all on-subplot double clicks (except for `geo` and `map`). ```python import plotly.graph_objects as go diff --git a/doc/python/density-heatmaps.md b/doc/python/density-heatmaps.md index e694c699437..7e1a316173b 100644 --- a/doc/python/density-heatmaps.md +++ b/doc/python/density-heatmaps.md @@ -31,7 +31,7 @@ jupyter: page_type: u-guide permalink: python/density-heatmaps/ redirect_from: python/mapbox-density-heatmaps/ - thumbnail: thumbnail/mapbox-density.png + thumbnail: thumbnail/map-density.png --- ### Density map with `plotly.express` @@ -67,55 +67,8 @@ fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0}) fig.show() ``` - -### Mapbox Maps - -> Mapbox traces are deprecated and may be removed in a future version of Plotly.py. - -The earlier examples using `px.density_map` and `go.Densitymap` use [Maplibre](https://maplibre.org/maplibre-gl-js/docs/) for rendering. These traces were introduced in Plotly.py 5.24. These trace types are now the recommended way to make tile-based density heatmaps. There are also traces that use [Mapbox](https://docs.mapbox.com): `density_mapbox` and `go.Densitymapbox`. - -To use these trace types, in some cases you _may_ need a Mapbox account and a public [Mapbox Access Token](https://www.mapbox.com/studio). See our [Mapbox Map Layers](/python/mapbox-layers/) documentation for more information. - -Here's one of the earlier examples rewritten to use `px.density_mapbox`. - -```python -import pandas as pd -df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/earthquakes-23k.csv') - -import plotly.express as px -fig = px.density_mapbox(df, lat='Latitude', lon='Longitude', z='Magnitude', radius=10, - center=dict(lat=0, lon=180), zoom=0, - mapbox_style="open-street-map") -fig.show() -``` - - - - -#### Stamen Terrain base map with Mapbox (Stadia Maps token needed): density heatmap with `plotly.express` - -Some base maps require a token. To use "stamen" base maps, you'll need a [Stadia Maps](https://www.stadiamaps.com) token, which you can provide to the `mapbox_accesstoken` parameter on `fig.update_layout`. Here, we have the token saved in a file called `.mapbox_token`, load it in to the variable `token`, and then pass it to `mapbox_accesstoken`. - -```python -import plotly.express as px -import pandas as pd - -token = open(".mapbox_token").read() # you will need your own token - -df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/earthquakes-23k.csv') - -fig = px.density_mapbox(df, lat='Latitude', lon='Longitude', z='Magnitude', radius=10, - center=dict(lat=0, lon=180), zoom=0, - map_style="stamen-terrain") -fig.update_layout(mapbox_accesstoken=token) -fig.show() -``` - - - #### Reference -See [function reference for `px.(density_map)`](https://plotly.com/python-api-reference/generated/plotly.express.density_mapbox) or https://plotly.com/python/reference/densitymap/ for available attribute options. +See [function reference for `px.(density_map)`](https://plotly.com/python-api-reference/generated/plotly.express.density_map) or https://plotly.com/python/reference/densitymap/ for available attribute options. -For Mapbox-based maps, see [function reference for `px.(density_mapbox)`](https://plotly.com/python-api-reference/generated/plotly.express.density_mapbox) or https://plotly.com/python/reference/densitymapbox/. diff --git a/doc/python/figure-factories.md b/doc/python/figure-factories.md index 6c39f43acc7..b03086b632f 100644 --- a/doc/python/figure-factories.md +++ b/doc/python/figure-factories.md @@ -40,7 +40,7 @@ The `plotly.figure_factory` module contains dedicated functions for creating ver The following plot types can be created with Figure Factory: * [Dendrograms](/python/dendrogram/) - * [Hexagonal Binning Tile Map](/python/hexbin-mapbox/) + * [Hexagonal Binning Tile Map](/python/hexbin-map/) * [Quiver Plots](/python/quiver-plots/) * [Streamline Plots](/python/streamline-plots/) * [Tables](/python/figure-factory-table/) @@ -57,7 +57,7 @@ The following legacy Figure Factory functions have been replaced by Plotly Expre * `create_distplot`: use [Plotly Express](/python/plotly-express/) functions like [`px.histogram`](/python/histograms/) * `create_facet_grid`: use [Plotly Express](/python/plotly-express/) functions with the [`facet_row` and `facet_col` arguments](/python/facet-plots/) * `create_gantt`: use [`px.timeline`](/python/gantt/) - * `create_hexbin_mapbox`: use [`create_hexbin_map`](/python/hexbin-mapbox/) + * `create_hexbin_mapbox`: use [`create_hexbin_map`](/python/hexbin-map/) * `create_ohlc`: use [`go.Ohlc`](/python/ohlc-charts/) * `create_scatterplotmatrix`: use [`go.Splom`](/python/splom/) * `create_violin`: use [`go.Violin`](/python/violin/) diff --git a/doc/python/filled-area-tile-maps.md b/doc/python/filled-area-tile-maps.md index 8e0af02484b..68b2a7ef8cd 100644 --- a/doc/python/filled-area-tile-maps.md +++ b/doc/python/filled-area-tile-maps.md @@ -134,36 +134,7 @@ fig.update_layout( fig.show() ``` - -### Mapbox Maps - -> Mapbox traces are deprecated and may be removed in a future version of Plotly.py. - -The earlier examples using `go.Scattermap` use [Maplibre](https://maplibre.org/maplibre-gl-js/docs/) for rendering. This trace was introduced in Plotly.py 5.24 and is now the recommended way to draw filled areas on tile-based maps. There is also a trace that uses [Mapbox](https://docs.mapbox.com), called `go.Scattermapbox`. - -To use the `Scattermapbox` trace type, in some cases you _may_ need a Mapbox account and a public [Mapbox Access Token](https://www.mapbox.com/studio). See our [Mapbox Map Layers](/python/mapbox-layers/) documentation for more information. - -Here's one of the earlier examples rewritten to use `Scattermapbox`. - -```python -import plotly.graph_objects as go - -fig = go.Figure(go.Scattermapbox( - fill = "toself", - lon = [-74, -70, -70, -74], lat = [47, 47, 45, 45], - marker = { 'size': 10, 'color': "orange" })) - -fig.update_layout( - mapbox = { - 'style': "open-street-map", - 'center': {'lon': -73, 'lat': 46 }, - 'zoom': 5}, - showlegend = False) - -fig.show() -``` - #### Reference -See https://plotly.com/python/reference/scattermap/ for available attribute options, or for `go.Scattermapbox`, see https://plotly.com/python/reference/scattermapbox/. +See https://plotly.com/python/reference/scattermap/ for available attribute options. diff --git a/doc/python/hexbin-mapbox.md b/doc/python/hexbin-map.md similarity index 97% rename from doc/python/hexbin-mapbox.md rename to doc/python/hexbin-map.md index 3744e8377bd..373bab142fb 100644 --- a/doc/python/hexbin-mapbox.md +++ b/doc/python/hexbin-map.md @@ -26,11 +26,11 @@ jupyter: display_as: maps language: python layout: base - name: Hexbin Mapbox + name: Hexbin Map order: 13 page_type: u-guide - permalink: python/hexbin-mapbox/ - thumbnail: thumbnail/hexbin_mapbox.jpg + permalink: python/hexbin-map/ + thumbnail: thumbnail/hexbin_map.jpg --- #### Simple Count Hexbin diff --git a/doc/python/lines-on-tile-maps.md b/doc/python/lines-on-tile-maps.md index 47e1c57d1e5..df1a3e7676b 100644 --- a/doc/python/lines-on-tile-maps.md +++ b/doc/python/lines-on-tile-maps.md @@ -31,7 +31,7 @@ jupyter: page_type: example_index permalink: python/lines-on-tile-maps/ redirect_from: python/lines-on-mapbox/ - thumbnail: thumbnail/line_mapbox.jpg + thumbnail: thumbnail/line_map.jpg --- ### Lines on tile maps using Plotly Express @@ -99,7 +99,7 @@ fig.show() ### Lines on maps using `Scattermap` traces This example uses `go.Scattermap` and sets -the [mode](https://plotly.com/python/reference/scattermapbox/#scattermap-mode) attribute to a combination of markers and line. +the [mode](https://plotly.com/python/reference/scattermap/#scattermap-mode) attribute to a combination of markers and line. ```python import plotly.graph_objects as go @@ -127,48 +127,8 @@ fig.update_layout( fig.show() ``` -### Mapbox Maps - -> Mapbox traces are deprecated and may be removed in a future version of Plotly.py. - -The earlier examples using `px.line_map` and `go.Scattermap` use [Maplibre](https://maplibre.org/maplibre-gl-js/docs/) for rendering. These traces were introduced in Plotly.py 5.24 and are now the recommended way to draw lines on tile-based maps. There are also traces that use [Mapbox](https://docs.mapbox.com): `px.line_mapbox` and `go.Scattermapbox` - -To plot on Mapbox maps with Plotly you _may_ need a Mapbox account and a public [Mapbox Access Token](https://www.mapbox.com/studio). See our [Mapbox Map Layers](/python/mapbox-layers/) documentation for more information. - -To draw a line on your map, you either can use [`px.line_mapbox`](https://plotly.com/python-api-reference/generated/plotly.express.line_mapbox.html) in Plotly Express, or [`Scattermapbox`](https://plotly.com/python/reference/scattermapbox/) traces. Below we show you how to draw a line on Mapbox using Plotly Express. - -Here's an example of using `Scattermapbox`. - -```python -import plotly.graph_objects as go - -fig = go.Figure(go.Scattermapbox( - mode = "markers+lines", - lon = [10, 20, 30], - lat = [10, 20,30], - marker = {'size': 10})) - -fig.add_trace(go.Scattermapbox( - mode = "markers+lines", - lon = [-50, -60,40], - lat = [30, 10, -20], - marker = {'size': 10})) - -fig.update_layout( - margin ={'l':0,'t':0,'b':0,'r':0}, - mapbox = { - 'center': {'lon': 10, 'lat': 10}, - 'style': "open-street-map", - 'center': {'lon': -20, 'lat': -20}, - 'zoom': 1}) - -fig.show() -``` #### Reference See [function reference for `px.line_map`](https://plotly.com/python-api-reference/generated/plotly.express.line_map) or https://plotly.com/python/reference/scattermap/ for more information about the attributes available. - -For Mapbox-based tile maps, see [function reference for `px.line_mapbox`](https://plotly.com/python-api-reference/generated/plotly.express.line_mapbox) or -https://plotly.com/python/reference/scattermapbox/. diff --git a/doc/python/map-configuration.md b/doc/python/map-configuration.md index 59831eaaffc..353ea3d4aca 100644 --- a/doc/python/map-configuration.md +++ b/doc/python/map-configuration.md @@ -39,7 +39,7 @@ Plotly supports two different kinds of maps: - **[Tile-based maps](https://en.wikipedia.org/wiki/Tiled_web_map)** -If your figure is created with a `px.scatter_map`, `px.scatter_mapbox`, `px.line_map`, `px.line_mapbox`, `px.choropleth_map`, `px.choropleth_mapbox`, `px.density_map`, or `px.density_mapbox` function or otherwise contains one or more traces of type `go.Scattermap`, `go.Scattermapbox`, `go.Choroplethmap`, `go.Choroplethmapbox`, `go.Densitymap`, or `go.Densitymapbox`, the `layout.map` object in your figure contains configuration information for the map itself. +If your figure is created with a `px.scatter_map`, `px.line_map`, `px.choropleth_map`, or `px.density_map` function or otherwise contains one or more traces of type `go.Scattermap`, `go.Choroplethmap`, or `go.Densitymap`, the `layout.map` object in your figure contains configuration information for the map itself. - **Outline-based maps** diff --git a/doc/python/migrate-to-maplibre.md b/doc/python/migrate-to-maplibre.md index 4466165e500..ca06bc7f911 100644 --- a/doc/python/migrate-to-maplibre.md +++ b/doc/python/migrate-to-maplibre.md @@ -31,7 +31,7 @@ jupyter: page_type: u-guide permalink: python/mapbox-to-maplibre/ redirect_from: python/maplibre-migration/ - thumbnail: thumbnail/mapbox-layers.png + thumbnail: thumbnail/map-layers.png --- ## Migrating from Mapbox traces to MapLibre traces diff --git a/doc/python/orca-management.md b/doc/python/orca-management.md index d1ca867df59..9ff522a23dc 100644 --- a/doc/python/orca-management.md +++ b/doc/python/orca-management.md @@ -258,7 +258,6 @@ In addition to the `executable` property, the `plotly.io.orca.config` object can - **`default_format`**: The default image format used on export. One of `"png"`, `"jpeg"`, `"webp"`, `"svg"`, `"pdf"`, or `"eps"`. - **`mathjax`**: Location of the MathJax bundle needed to render LaTeX characters. Defaults to a CDN location. If fully offline export is required, set this to a local MathJax bundle. - **`topojson`**: Location of the topojson files needed to render choropleth traces. Defaults to a CDN location. If fully offline export is required, set this to a local directory containing the [Plotly.js topojson files](https://github.com/plotly/plotly.js/tree/master/dist/topojson). - - **`mapbox_access_token`**: Mapbox access token required to render `scattermapbox` traces. - **`use_xvfb`**: Whether to call orca using [Xvfb](https://www.x.org/releases/X11R7.6/doc/man/man1/Xvfb.1.xhtml) on Linux. Xvfb is needed for orca to work in a Linux environment if an X11 display server is not available. By default, plotly.py will automatically use Xvfb if it is installed, and no active X11 display server is detected. This can be set to `True` to force the use of Xvfb, or it can be set to `False` to disable the use of Xvfb. diff --git a/doc/python/performance.md b/doc/python/performance.md index 933fc251d42..0d413935bb7 100644 --- a/doc/python/performance.md +++ b/doc/python/performance.md @@ -133,7 +133,7 @@ Each `plotly` trace type is rendered with either SVG or WebGL. The following tra * Accelerated versions of SVG trace types: `scattergl`, `scatterpolargl`, * High-performance multidimensional trace types: `splom`, or `parcoords` * 3D trace types `scatter3d`, `surface`, `mesh3d`, `cone`, `streamtube`, `isosurface`, `volume` -* Mapbox Gl JS-powered trace types: `scattermap`, `choroplethmap`, `densitymap` +* MapLibre GL JS-powered trace types: `scattermap`, `choroplethmap`, `densitymap` ### WebGL Limitations and Tradeoffs diff --git a/doc/python/shapes.md b/doc/python/shapes.md index ac993d42838..25ec7f65a9e 100644 --- a/doc/python/shapes.md +++ b/doc/python/shapes.md @@ -51,7 +51,7 @@ The differences between these two approaches are that: ### Shape-drawing with Scatter traces -There are two ways to draw filled shapes: scatter traces and [layout.shapes](https://plotly.com/python/reference/layout/shapes/#layout-shapes-items-shape-type) which is mostly useful for the 2d subplots, and defines the shape type to be drawn, and can be rectangle, circle, line, or path (a custom SVG path). You also can use [scatterpolar](https://plotly.com/python/polar-chart/#categorical-polar-chart), scattergeo, [scattermapbox](https://plotly.com/python/filled-area-on-mapbox/#filled-scattermapbox-trace) to draw filled shapes on any kind of subplots. To set an area to be filled with a solid color, you need to define [Scatter.fill="toself"](https://plotly.com/python/reference/scatter/#scatter-fill) that connects the endpoints of the trace into a closed shape. If `mode=line` (default value), then you need to repeat the initial point of a shape at the end of the sequence to have a closed shape. +There are two ways to draw filled shapes: scatter traces and [layout.shapes](https://plotly.com/python/reference/layout/shapes/#layout-shapes-items-shape-type) which is mostly useful for the 2d subplots, and defines the shape type to be drawn, and can be rectangle, circle, line, or path (a custom SVG path). You also can use [scatterpolar](https://plotly.com/python/polar-chart/#categorical-polar-chart), scattergeo, [scattermap](https://plotly.com/python/filled-area-tile-maps/#filled-scattermap-trace) to draw filled shapes on any kind of subplots. To set an area to be filled with a solid color, you need to define [Scatter.fill="toself"](https://plotly.com/python/reference/scatter/#scatter-fill) that connects the endpoints of the trace into a closed shape. If `mode=line` (default value), then you need to repeat the initial point of a shape at the end of the sequence to have a closed shape. ```python import plotly.graph_objects as go diff --git a/doc/python/static-image-export.md b/doc/python/static-image-export.md index e9b7b317841..7aacd12cdd8 100644 --- a/doc/python/static-image-export.md +++ b/doc/python/static-image-export.md @@ -279,7 +279,6 @@ The following settings are available. `headers`: *New in 6.8.* A dict of HTTP headers Kaleido sends when fetching external resources during image export (for example, when fetching OpenStreetMap tiles for tile maps). Defaults to `{"X-Requested-With": "plotly.py"}`, which is required to comply with the [OpenStreetMap tile usage policy](https://operations.osmfoundation.org/policies/tiles/). Requires Kaleido v1.3.0 or later. -`mapbox_access_token`: The default Mapbox access token (Kaleido v0 only). Mapbox traces are deprecated. See the [MapLibre Migration](https://plotly.com/python/mapbox-to-maplibre/) page for more details. ### Set Defaults diff --git a/doc/python/static-image-generation-migration.md b/doc/python/static-image-generation-migration.md index f6476a9cb93..63b5872ba49 100644 --- a/doc/python/static-image-generation-migration.md +++ b/doc/python/static-image-generation-migration.md @@ -73,8 +73,6 @@ pio.defaults.default_format = "jpeg" # pio.kaleido.scope.default_format = "jpeg" ~~~ -The `mapbox_access_token` config setting is not available on `plotly.io.defaults` because Mapbox maps are deprecated and will be removed in a future version of Plotly.py. See [MapLibre Migration](https://plotly.com/python/mapbox-to-maplibre/) for more details. - If you are migrating from Orca, the following config settings do not apply to Kaleido: `server_url`, `port`, `timeout`, and `use_xvfb`, but other settings, such as `default_format`, can be accessed via `plotly.io.defaults`. ## Multiple Image Export diff --git a/doc/python/subplots.md b/doc/python/subplots.md index 4bcbc59993e..dd05d3baf93 100644 --- a/doc/python/subplots.md +++ b/doc/python/subplots.md @@ -431,7 +431,7 @@ Here are the possible values for the `type` option: - `"scene"`: 3D Cartesian subplot for scatter3d, cone, etc. - `"polar"`: Polar subplot for scatterpolar, barpolar, etc. - `"ternary"`: Ternary subplot for scatterternary. - - `"mapbox"`: Mapbox subplot for scattermapbox. + - `"map"`: Map subplot for scattermap. - `"domain"`: Subplot type for traces that are individually positioned. pie, parcoords, parcats, etc. - trace type: A trace type name (e.g. `"bar"`, `"scattergeo"`, `"carpet"`, `"mesh"`, etc.) which will be used to determine the appropriate subplot type for that trace. diff --git a/doc/python/tile-county-choropleth.md b/doc/python/tile-county-choropleth.md index c39923bf4f7..6917943e820 100644 --- a/doc/python/tile-county-choropleth.md +++ b/doc/python/tile-county-choropleth.md @@ -31,7 +31,7 @@ jupyter: page_type: example_index permalink: python/tile-county-choropleth/ redirect_from: python/mapbox-county-choropleth/ - thumbnail: thumbnail/mapbox-choropleth.png + thumbnail: thumbnail/map-choropleth.png --- A [Choropleth Map](https://en.wikipedia.org/wiki/Choropleth_map) is a map composed of colored polygons. It is used to represent spatial variations of a quantity. This page documents how to build **tile-map** choropleth maps, but you can also build [**outline** choropleth maps](/python/choropleth-maps). @@ -113,7 +113,7 @@ Get started with [the official Dash docs](https://dash.plotly.com/installation) ```python hide_code=true from IPython.display import IFrame snippet_url = 'https://python-docs-dash-snippets.herokuapp.com/python-docs-dash-snippets/' -IFrame(snippet_url + 'mapbox-county-choropleth', width='100%', height=1200) +IFrame(snippet_url + 'map-county-choropleth', width='100%', height=1200) ```

Sign up for Dash Club → Free cheat sheets plus updates from Chris Parmer and Adam Schroeder delivered to your inbox every two months. Includes tips and tricks, community apps, and deep dives into the Dash architecture. @@ -218,40 +218,7 @@ fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0}) fig.show() ``` -### Mapbox Maps - -> Mapbox traces are deprecated and may be removed in a future version of Plotly.py. - -The earlier examples using `px.choropleth_map` and `go.Choroplethmap` use [Maplibre](https://maplibre.org/maplibre-gl-js/docs/) for rendering. These traces were introduced in Plotly.py 5.24 and are now the recommended way to create tile-based choropleth maps. There are also choropleth traces that use [Mapbox](https://docs.mapbox.com): `px.choropleth_mapbox` and `go.Choroplethmapbox` - -To plot on Mapbox maps with Plotly you _may_ need a Mapbox account and a public [Mapbox Access Token](https://www.mapbox.com/studio). See our [Mapbox Map Layers](/python/mapbox-layers/) documentation for more information. - -Here's an example of using the Mapbox Light base map, which requires a free token. - -```python -token = open(".mapbox_token").read() # you will need your own token - -from urllib.request import urlopen -import json -with urlopen('https://raw.githubusercontent.com/plotly/datasets/master/geojson-counties-fips.json') as response: - counties = json.load(response) - -import pandas as pd -df = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/fips-unemp-16.csv", - dtype={"fips": str}) - -import plotly.graph_objects as go - -fig = go.Figure(go.Choroplethmapbox(geojson=counties, locations=df.fips, z=df.unemp, - colorscale="Viridis", zmin=0, zmax=12, marker_line_width=0)) -fig.update_layout(mapbox_style="light", mapbox_accesstoken=token, - mapbox_zoom=3, mapbox_center = {"lat": 37.0902, "lon": -95.7129}) -fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0}) -fig.show() -``` #### Reference See [function reference for `px.choropleth_map`](https://plotly.com/python-api-reference/generated/plotly.express.choropleth_map) or https://plotly.com/python/reference/choroplethmap/ for more information about the attributes available. - -For (deprecated) Mapbox-based tile maps, see [function reference for `px.choropleth_mapbox`](https://plotly.com/python-api-reference/generated/plotly.express.choropleth_mapbox) or https://plotly.com/python/reference/choroplethmapbox/. diff --git a/doc/python/tile-map-layers.md b/doc/python/tile-map-layers.md index d7c7beb7d7d..eb09c3c637c 100644 --- a/doc/python/tile-map-layers.md +++ b/doc/python/tile-map-layers.md @@ -31,7 +31,7 @@ jupyter: page_type: u-guide permalink: python/tile-map-layers/ redirect_from: python/mapbox-layers/ - thumbnail: thumbnail/mapbox-layers.png + thumbnail: thumbnail/map-layers.png --- @@ -42,7 +42,7 @@ Plotly supports two different kinds of maps: - **[Tile-based maps](https://en.wikipedia.org/wiki/Tiled_web_map)** -If your figure is created with a `px.scatter_map`, `px.scatter_mapbox`, `px.line_map`, `px.line_mapbox`, `px.choropleth_map`, `px.choropleth_mapbox`, `px.density_map`, or `px.density_mapbox` function or otherwise contains one or more traces of type `go.Scattermap`, `go.Scattermapbox`, `go.Choroplethmap`, `go.Choroplethmapbox`, `go.Densitymap`, or `go.Densitymapbox`, the `layout.map` or `layout.mapbox` object in your figure contains configuration information for the map itself. +If your figure is created with a `px.scatter_map`, `px.line_map`, `px.choropleth_map`, or `px.density_map` function or otherwise contains one or more traces of type `go.Scattermap`, `go.Choroplethmap`, or `go.Densitymap`, the `layout.map` object in your figure contains configuration information for the map itself. - **Outline-based maps** @@ -52,11 +52,10 @@ Geo maps are outline-based maps. If your figure is created with a `px.scatter_ge ## Tile Map Renderers -Tile-based traces in Plotly use Maplibre or Mapbox. +Tile-based traces in Plotly use Maplibre. Maplibre-based traces (new in 5.24) are ones generated in Plotly Express using `px.scatter_map`, `px.line_map`, `px.choropleth_map`, `px.density_map`, or Graph Objects using `go.Scattermap`, `go.Choroplethmap`, or `go.Densitymap`. -Mapbox-based traces are suffixed with `mapbox`, for example `go.Scattermapbox`. These are deprecated as of version 5.24 and we recommend using the Maplibre-based traces. ### Maplibre @@ -66,37 +65,36 @@ Maplibre-based tile maps have three different types of layers: - `layout.map.style` defines the lowest layers of the map, also known as the "base map". - The various traces in `data` are by default rendered above the base map (although this can be controlled via the `below` attribute). -- `layout.map.layers` is an array that defines more layers that are by default rendered above the traces in `data` (although this can also be controlled via the `below` attribute. +- `layout.map.layers` is an array that defines more layers that are by default rendered above the traces in `data` (although this can also be controlled via the `below` attribute). #### Base Maps in `layout.map.style`. The accepted values for `layout.map.style` are one of: -- "basic" -- "carto-darkmatter" -- "carto-darkmatter-nolabels" -- "carto-positron" -- "carto-positron-nolabels" -- "carto-voyager" -- "carto-voyager-nolabels" -- "dark" -- "light" -- "open-street-map" -- "outdoors" -- "satellite" -- "satellite-streets" -- "streets" -- "white-bg" - an empty white canvas which results in no external HTTP requests + +The accepted values for `layout.map.style` are one of: + +- `"white-bg"`, which yields an empty white canvas which results in no external HTTP requests +- `'carto-voyager'` (and `"basic"`, `"streets"`, `"outdoors"`, and `"light"`) which yields the [CARTO](https://github.com/cartodb/basemap-styles) Voyager basemap vector tiles +- `"carto-voyager-nolabels"` which yields the same tiles as the above but without text labels +- `"carto-positron"` (and `"light"`) which yields the [CARTO](https://github.com/cartodb/basemap-styles) Positron basemap vector tiles +- `"carto-positron-nolabels"` which yields the same tiles as the above but without text labels +- `"carto-darkmatter"` (and `"dark"`) which yields the [CARTO](https://github.com/cartodb/basemap-styles) Darkmatter basemap vector tiles +- `"carto-darkmatter-nolabels"` which yields the same tiles as the above but without text labels +- `"open-street-map"` which yields _raster_ tiles from [OpenStreetMap](https://wiki.openstreetmap.org/wiki/About_OpenStreetMap). +- `"satellite"` and `"satellite-streets"` which yield [custom-styled](https://github.com/plotly/plotly.js/blob/master/src/plots/map/styles/) maps using raster tiles from [ESRI / ArcGIS](http://www.esri.com) - A custom style URL. For example: https://tiles.stadiamaps.com/styles/stamen_watercolor.json?api_key=YOUR-API-KEY - A Map Style object as defined at https://maplibre.org/maplibre-style-spec/ +Note: Style values beginning with `"stamen-"` are no longer supported following the [transition to Maplibre](python/mapbox-to-maplibre/). The large number of aliases for `'carto-voyager'` are included for backwards-compatibility with previously-supported style values. + #### OpenStreetMap tiles -Here is a simple map rendered with OpenStreetMaps tiles. +Here is a simple map rendered with OpenStreetMap tiles. ```python @@ -219,110 +217,6 @@ fig.show() ``` - -### Mapbox - -> Mapbox traces are deprecated and may be removed in a future version of Plotly.py. - -#### How Layers Work in Mapbox Tile Maps - -Mapbox tile maps are composed of various layers, of three different types: - -1. `layout.mapbox.style` defines the lowest layers, also known as your "base map" -2. The various traces in `data` are by default rendered above the base map (although this can be controlled via the `below` attribute). -3. `layout.mapbox.layers` is an array that defines more layers that are by default rendered above the traces in `data` (although this can also be controlled via the `below` attribute). - -#### Mapbox Access Tokens and When You Need Them - -The word "mapbox" in the trace names and `layout.mapbox` refers to the Mapbox GL JS open-source library, which is integrated into Plotly.py. - -If your basemap in `layout.mapbox.style` uses data from the Mapbox _service_, then you will need to register for a free account at https://mapbox.com/ and obtain a Mapbox Access token. This token should be provided in `layout.mapbox.access_token` (or, if using Plotly Express, via the `px.set_mapbox_access_token()` configuration function). - -If you basemap in `layout.mapbox.style` uses maps from the [Stadia Maps service](https://www.stadiamaps.com) (see below for details), you'll need to register for a Stadia Maps account and token. - - -#### Base Maps in `layout.mapbox.style` - -The accepted values for `layout.mapbox.style` are one of: - -- `"white-bg"` yields an empty white canvas which results in no external HTTP requests -- `"open-street-map"`, `"carto-positron"`, and `"carto-darkmatter"` yield maps composed of _raster_ tiles from various public tile servers which do not require signups or access tokens. -- `"basic"`, `"streets"`, `"outdoors"`, `"light"`, `"dark"`, `"satellite"`, or `"satellite-streets"` yield maps composed of _vector_ tiles from the Mapbox service, and _do_ require a Mapbox Access Token or an on-premise Mapbox installation. -- `"stamen-terrain"`, `"stamen-toner"` or `"stamen-watercolor"` yield maps composed of _raster_ tiles from the [Stadia Maps service](https://www.stadiamaps.com), and require a Stadia Maps account and token. -- A Mapbox service style URL, which requires a Mapbox Access Token or an on-premise Mapbox installation. -- A Mapbox Style object as defined at https://docs.mapbox.com/mapbox-gl-js/style-spec/ - -#### OpenStreetMap tiles: no token needed - -Here is a simple map rendered with OpenStreetMaps tiles, without needing a Mapbox Access Token: - - -```python -import pandas as pd -us_cities = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/us-cities-top-1k.csv") - -import plotly.express as px - -fig = px.scatter_mapbox(us_cities, lat="lat", lon="lon", hover_name="City", hover_data=["State", "Population"], - color_discrete_sequence=["fuchsia"], zoom=3, height=300) -fig.update_layout(mapbox_style="open-street-map") -fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0}) -fig.show() -``` - -#### Using `layout.mapbox.layers` to Specify a Base Map - -If you have access to your own private tile servers, or wish to use a tile server not included in the list above, the recommended approach is to set `layout.mapbox.style` to `"white-bg"` and to use `layout.mapbox.layers` with `below` to specify a custom base map. - -> If you omit the `below` attribute when using this approach, your data will likely be hidden by fully-opaque raster tiles! - -#### Base Tiles from the USGS: no token needed - -Here is an example of a map which uses a public USGS imagery map, specified in `layout.mapbox.layers`, and which is rendered _below_ the `data` layer. - - -```python -import pandas as pd -us_cities = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/us-cities-top-1k.csv") - -import plotly.express as px - -fig = px.scatter_mapbox(us_cities, lat="lat", lon="lon", hover_name="City", hover_data=["State", "Population"], - color_discrete_sequence=["fuchsia"], zoom=3, height=300) -fig.update_layout( - mapbox_style="white-bg", - mapbox_layers=[ - { - "below": 'traces', - "sourcetype": "raster", - "sourceattribution": "United States Geological Survey", - "source": [ - "https://basemap.nationalmap.gov/arcgis/rest/services/USGSImageryOnly/MapServer/tile/{z}/{y}/{x}" - ] - } - ]) -fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0}) -fig.show() -``` - -#### Dark tiles from Mapbox service: free token needed - -Here is a map rendered with the `"dark"` style from the Mapbox service, which requires an Access Token: - -```python -token = open(".mapbox_token").read() # you will need your own token - -import pandas as pd -us_cities = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/us-cities-top-1k.csv") - -import plotly.express as px - -fig = px.scatter_mapbox(us_cities, lat="lat", lon="lon", hover_name="City", hover_data=["State", "Population"], - color_discrete_sequence=["fuchsia"], zoom=3, height=300) -fig.update_layout(mapbox_style="dark", mapbox_accesstoken=token) -fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0}) -fig.show() -``` ## Setting Map Bounds @@ -356,4 +250,4 @@ fig.show() #### Reference -See https://plotly.com/python/reference/layout/map/ for more information and options on Maplibre-based tile maps and https://plotly.com/python/reference/layout/mapbox/ for Mapbox-based tile maps. +See https://plotly.com/python/reference/layout/map/ for more information and options on Maplibre-based tile maps. \ No newline at end of file diff --git a/doc/python/tile-scatter-maps.md b/doc/python/tile-scatter-maps.md index 0dd6ae10565..57ea04114c7 100644 --- a/doc/python/tile-scatter-maps.md +++ b/doc/python/tile-scatter-maps.md @@ -31,7 +31,7 @@ jupyter: page_type: u-guide permalink: python/tile-scatter-maps/ redirect_from: python/scattermapbox/ - thumbnail: thumbnail/scatter-mapbox.jpg + thumbnail: thumbnail/scatter-map.jpg --- ### Basic example with Plotly Express @@ -320,62 +320,7 @@ fig.update_layout( fig.show() ``` -## Mapbox Maps - -> Mapbox traces are deprecated and may be removed in a future version of Plotly.py. - -The earlier examples using `px.scatter_map` and `go.Scattermap` use [Maplibre](https://maplibre.org/maplibre-gl-js/docs/) for rendering. These traces were introduced in Plotly.py 5.24 and are now the recommended way to create scatter plots on tile-based maps. There are also traces that use [Mapbox](https://docs.mapbox.com): `px.scatter_mapbox` and `go.Scattermapbox` - -To plot on Mapbox maps with Plotly you _may_ need a Mapbox account and a public [Mapbox Access Token](https://www.mapbox.com/studio). See our [Mapbox Map Layers](/python/mapbox-layers/) documentation for more information. - -Here's the first example rewritten to use `px.scatter_mapbox`. - -```python -import plotly.express as px -px.set_mapbox_access_token(open(".mapbox_token").read()) -df = px.data.carshare() -fig = px.scatter_mapbox(df, lat="centroid_lat", lon="centroid_lon", color="peak_hour", size="car_hours", - color_continuous_scale=px.colors.cyclical.IceFire, size_max=15, zoom=10) -fig.show() - -``` - -And here's an example using Graph Objects: - -```python -import plotly.graph_objects as go - -mapbox_access_token = open(".mapbox_token").read() - -fig = go.Figure(go.Scattermapbox( - lat=['45.5017'], - lon=['-73.5673'], - mode='markers', - marker=go.scattermapbox.Marker( - size=14 - ), - text=['Montreal'], - )) - -fig.update_layout( - hovermode='closest', - mapbox=dict( - accesstoken=mapbox_access_token, - bearing=0, - center=go.layout.mapbox.Center( - lat=45, - lon=-73 - ), - pitch=0, - zoom=5 - ) -) - -fig.show() -``` #### Reference See [function reference for `px.scatter_map`](https://plotly.com/python-api-reference/generated/plotly.express.scatter_map) or https://plotly.com/python/reference/scattermap/ for more information about the attributes available. - -For Mapbox-based tile maps, see [function reference for `px.scatter_mapbox`](https://plotly.com/python-api-reference/generated/plotly.express.scatter_mapbox) or https://plotly.com/python/reference/scattermapbox/. diff --git a/doc/python/wide-form.md b/doc/python/wide-form.md index 88d9c08865a..0f49aed0282 100644 --- a/doc/python/wide-form.md +++ b/doc/python/wide-form.md @@ -38,7 +38,7 @@ jupyter: Plotly Express provides functions to visualize a variety of types of data. Most functions such as `px.bar` or `px.scatter` expect to operate on column-oriented data of the type you might store in a `DataFrame` (in either "long" or "wide" format, see below). These functions use Pandas internally to process the data, but also accept other types of DataFrames as arguments. See the [Plotly Express arguments page](/python/px-arguments/) for more details. -[`px.imshow` operates on matrix-like data](/python/imshow/) you might store in a `numpy` or `xarray` array and functions like [`px.choropleth` and `px.choropleth_mapbox` can operate on geographic data](/python/maps/) of the kind you might store in a GeoPandas `GeoDataFrame`. This page details how to provide a specific form of column-oriented data to 2D-Cartesian Plotly Express functions, but you can also check out our [detailed column-input-format documentation](/python/px-arguments/). +[`px.imshow` operates on matrix-like data](/python/imshow/) you might store in a `numpy` or `xarray` array and functions like [`px.choropleth` can operate on geographic data](/python/maps/) of the kind you might store in a GeoPandas `GeoDataFrame`. This page details how to provide a specific form of column-oriented data to 2D-Cartesian Plotly Express functions, but you can also check out our [detailed column-input-format documentation](/python/px-arguments/). ### Plotly Express works with Long-, Wide-, and Mixed-Form Data diff --git a/doc/unconverted/python/tesla-supercharging-stations.md b/doc/unconverted/python/tesla-supercharging-stations.md index 0d669bc255d..2acc02643f8 100644 --- a/doc/unconverted/python/tesla-supercharging-stations.md +++ b/doc/unconverted/python/tesla-supercharging-stations.md @@ -38,10 +38,6 @@ import plotly plotly.__version__ ``` -#### Mapbox Access Token - -To plot on Mapbox maps with Plotly you'll need a Mapbox account and a [Public Mapbox Access Token](https://www.mapbox.com/studio) which you can add to your [Plotly settings](https://plot.ly/settings/mapbox). If you're using a Chart Studio Enterprise server, please see additional instructions here: https://help.plot.ly/mapbox-atlas/. - #### Google Maps API In order to use the `Google Maps - Directions API`, you need to create an account with Google and get your API key [here](https://developers.google.com/maps/documentation/directions/). @@ -149,10 +145,8 @@ def plot_route_between_tesla_stations(address_start, address_end, zoom=3, endpt_ steps.append(end) # add ending coordinate to trip - mapbox_access_token = "ADD_YOUR_TOKEN_HERE" - data = Data([ - Scattermapbox( + Scattermap( lat=[item_x[0] for item_x in steps], lon=[item_y[1] for item_y in steps], mode='markers+lines', @@ -164,8 +158,7 @@ def plot_route_between_tesla_stations(address_start, address_end, zoom=3, endpt_ layout = Layout( autosize=True, hovermode='closest', - mapbox=dict( - accesstoken=mapbox_access_token, + map=dict( bearing=0, style='streets', center=dict( @@ -192,7 +185,7 @@ py.iplot(fig, filename='tesla-driving-directions-between-superchargers') ``` #### Reference -See http://moderndata.plot.ly/visualize-tesla-supercharging-stations-with-mysql-and-plotly/ to visualize Tesla supercharging stations with MYSQL and https://plot.ly/python/scattermapbox/ for more information on how to plot scatterplots on maps. +See http://moderndata.plot.ly/visualize-tesla-supercharging-stations-with-mysql-and-plotly/ to visualize Tesla supercharging stations with MYSQL and https://plot.ly/python/scattermap/ for more information on how to plot scatterplots on maps. ```python from IPython.display import display, HTML From 3e9401c1999c9932d7dae12e188b5ff88aea72ca Mon Sep 17 00:00:00 2001 From: Emily KL <4672118+emilykl@users.noreply.github.com> Date: Thu, 23 Jul 2026 11:40:06 -0400 Subject: [PATCH 07/10] remove mapbox references from codegen and rerun codegen --- codegen/datatypes.py | 42 +++------------------------ plotly/graph_objs/layout/_template.py | 8 +---- templategen/definitions.py | 16 +++++----- templategen/utils/__init__.py | 1 - 4 files changed, 13 insertions(+), 54 deletions(-) diff --git a/codegen/datatypes.py b/codegen/datatypes.py index af7ec1a2a5c..8e977efda07 100644 --- a/codegen/datatypes.py +++ b/codegen/datatypes.py @@ -5,11 +5,6 @@ from codegen.utils import CAVEAT, write_source_py -deprecated_mapbox_traces = [ - "scattermapbox", - "choroplethmapbox", - "densitymapbox", -] locationmode_traces = [ "choropleth", "scattergeo", @@ -102,11 +97,7 @@ def build_datatype_py(node): ) buffer.write("import copy as _copy\n") - if ( - node.name_property in deprecated_mapbox_traces - or node.name_property in locationmode_traces - or node.name_property == "template" - ): + if node.name_property in locationmode_traces or node.name_property == "template": buffer.write("import warnings\n") # Write class definition @@ -375,22 +366,10 @@ def __init__(self""" buffer.write("\n\n") for subtype_node in subtype_nodes: name_prop = subtype_node.name_property - if datatype_class == "Template" and name_prop == "data": - buffer.write( - f""" - # Template.data contains a 'scattermapbox' key, which causes a - # go.Scattermapbox trace object to be created during validation. - # In order to prevent false deprecation warnings from surfacing, - # we suppress deprecation warnings for this line only. - with warnings.catch_warnings(): - warnings.filterwarnings("ignore", category=DeprecationWarning) - self._set_property("{name_prop}", arg, {name_prop})""" - ) - else: - buffer.write( - f""" + buffer.write( + f""" self._set_property("{name_prop}", arg, {name_prop})""" - ) + ) # Literals if literal_nodes: @@ -411,19 +390,6 @@ def __init__(self""" """ ) - if node.name_property in deprecated_mapbox_traces: - buffer.write( - f""" - warnings.warn( - "*{node.name_property}* is deprecated!" - + " Use *{node.name_property.replace("mapbox", "map")}* instead." - + " Learn more at: https://plotly.com/python/mapbox-to-maplibre/", - stacklevel=2, - category=DeprecationWarning, - ) -""" - ) - # Return source string return buffer.getvalue() diff --git a/plotly/graph_objs/layout/_template.py b/plotly/graph_objs/layout/_template.py index 90eb3f6602b..1482195b5b6 100644 --- a/plotly/graph_objs/layout/_template.py +++ b/plotly/graph_objs/layout/_template.py @@ -121,13 +121,7 @@ def __init__(self, arg=None, data=None, layout=None, **kwargs): self._skip_invalid = kwargs.pop("skip_invalid", False) self._validate = kwargs.pop("_validate", True) - # Template.data contains a 'scattermapbox' key, which causes a - # go.Scattermapbox trace object to be created during validation. - # In order to prevent false deprecation warnings from surfacing, - # we suppress deprecation warnings for this line only. - with warnings.catch_warnings(): - warnings.filterwarnings("ignore", category=DeprecationWarning) - self._set_property("data", arg, data) + self._set_property("data", arg, data) self._set_property("layout", arg, layout) self._process_kwargs(**dict(arg, **kwargs)) self._skip_invalid = False diff --git a/templategen/definitions.py b/templategen/definitions.py index fa32f7966d0..f1773365d47 100644 --- a/templategen/definitions.py +++ b/templategen/definitions.py @@ -139,8 +139,8 @@ def simple_white(): opts = {"marker": {"line": {"width": 0.6, "color": "white"}}} template.data.histogram = [opts] - # Mapbox light style - template.layout.mapbox.style = "light" + # Light map style + template.layout.map.style = "light" # Automargin for pie chart template.data.pie = [{"automargin": True}] @@ -407,8 +407,8 @@ def plotly(): template.layout.xaxis.zerolinewidth = 2 template.layout.yaxis.zerolinewidth = 2 - # Mapbox light style - template.layout.mapbox.style = "light" + # Light map style + template.layout.map.style = "light" # Automargin for pie chart template.data.pie = [{"automargin": True}] @@ -487,8 +487,8 @@ def plotly_white(): template.layout.xaxis.zerolinewidth = 2 template.layout.yaxis.zerolinewidth = 2 - # Mapbox light style - template.layout.mapbox.style = "light" + # Light map style + template.layout.map.style = "light" # Automargin for pie chart template.data.pie = [{"automargin": True}] @@ -575,8 +575,8 @@ def plotly_dark(): template.layout.xaxis.zerolinewidth = 2 template.layout.yaxis.zerolinewidth = 2 - # Mapbox light style - template.layout.mapbox.style = "dark" + # Light map style + template.layout.map.style = "dark" # Set marker outline color opts = {"marker": {"line": {"color": plotly_clrs["Rhino Darker"]}}} diff --git a/templategen/utils/__init__.py b/templategen/utils/__init__.py index cddc1492d00..d78221e28b0 100644 --- a/templategen/utils/__init__.py +++ b/templategen/utils/__init__.py @@ -20,7 +20,6 @@ ("scatter3d", "line"), ("scatter3d", "marker"), ("scattermap", "marker"), - ("scattermapbox", "marker"), ("scatterternary", "marker"), ("scattercarpet", "marker"), ("scatter", "marker", "line"), From e15aaabbca7e7b0f52c021d1c69af660f32f79c3 Mon Sep 17 00:00:00 2001 From: Emily KL <4672118+emilykl@users.noreply.github.com> Date: Thu, 23 Jul 2026 11:40:30 -0400 Subject: [PATCH 08/10] delete removed config keys from offline.py --- plotly/offline/offline.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/plotly/offline/offline.py b/plotly/offline/offline.py index f9093e7b11b..5004a8a62e2 100644 --- a/plotly/offline/offline.py +++ b/plotly/offline/offline.py @@ -122,13 +122,8 @@ def _get_jconfig(config=None): "showAxisRangeEntryBoxes", "showTips", "displayNotifier", - "showLink", - "linkText", - "sendData", - "showSources", "displayModeBar", "showSendToCloud", - "showEditInChartStudio", "modeBarButtonsToRemove", "modeBarButtonsToAdd", "modeBarButtons", @@ -138,7 +133,6 @@ def _get_jconfig(config=None): "plotGlPixelRatio", "setBackground", "topojsonURL", - "mapboxAccessToken", "logging", "notifyOnLogging", "queueLength", From d3c2587a3e98fabe300ba0ff70468e2ff9f7e87d Mon Sep 17 00:00:00 2001 From: Emily KL <4672118+emilykl@users.noreply.github.com> Date: Thu, 23 Jul 2026 11:41:00 -0400 Subject: [PATCH 09/10] mapbox -> map in figure factory README --- plotly/figure_factory/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plotly/figure_factory/README.md b/plotly/figure_factory/README.md index ec1824b5458..30a3cb7439c 100644 --- a/plotly/figure_factory/README.md +++ b/plotly/figure_factory/README.md @@ -167,7 +167,7 @@ Go check out your newly pushed branch at https://github.com/plotly/plotly.py. If | Name | Documentation | In GitHub | | ----------------- | ----------------------------------------- | ------------- | | Dendrogram | https://plot.ly/python/dendrogram/ |https://github.com/plotly/plotly.py/blob/master/plotly/figure_factory/_dendrogram.py| -| Hexbin Map | https://plot.ly/python/hexbin-mapbox/ |https://github.com/plotly/plotly.py/blob/master/plotly/figure_factory/_hexbin_map.py| +| Hexbin Map | https://plot.ly/python/hexbin-map/ |https://github.com/plotly/plotly.py/blob/master/plotly/figure_factory/_hexbin_map.py| | Quiver | https://plot.ly/python/quiver-plots/ |https://github.com/plotly/plotly.py/blob/master/plotly/figure_factory/_quiver.py| | Streamline | https://plot.ly/python/streamline-plots/ |https://github.com/plotly/plotly.py/blob/master/plotly/figure_factory/_streamline.py| | Table | https://plot.ly/python/table/ |https://github.com/plotly/plotly.py/blob/master/plotly/figure_factory/_table.py| From cb5625297221e2e061928c7d11acdfd5a859269e Mon Sep 17 00:00:00 2001 From: Emily KL <4672118+emilykl@users.noreply.github.com> Date: Thu, 23 Jul 2026 13:28:38 -0400 Subject: [PATCH 10/10] remove SrcValidator --- RELEASE.md | 2 +- _plotly_utils/basevalidators.py | 27 --------------------------- codegen/utils.py | 2 -- 3 files changed, 1 insertion(+), 30 deletions(-) diff --git a/RELEASE.md b/RELEASE.md index 276a2e51d51..6e2de6dc6c0 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -143,7 +143,7 @@ to features in the release. If plotly.js adds new traces or trace/layout attributes that aren't listed in `orderings.json`, `get_plotschema.py` prints a warning like `missing key in attributes: ` and appends the missing entry to the end of its section. To resolve: - Add each missing attribute to the appropriate section of `/_data/orderings.json` in the position you want it to appear in the reference docs. - - When in doubt about trace-attribute placement, match plotly.js's native order: open the regenerated `_data/plotschema.json` and find where plotly.js itself places the attribute (e.g. inspect a representative trace's `attributes` keys in order). Following the native order keeps related attributes grouped (for example, `texttemplate` → `texttemplatefallback` → `texttemplatesrc`). + - When in doubt about trace-attribute placement, match plotly.js's native order: open the regenerated `_data/plotschema.json` and find where plotly.js itself places the attribute (e.g. inspect a representative trace's `attributes` keys in order). Following the native order keeps related attributes grouped (for example, `texttemplate` → `texttemplatefallback`). - For new top-level layout attributes, group them with semantically related entries rather than appending to the end (for example, a new click-behavior attribute like `clickanywhere` belongs next to `clickmode`). - Re-run `python get_plotschema.py ` after editing `orderings.json` and confirm the warnings are gone. 3. Rebuild the Algolia `schema` index with `ALGOLIA_API_KEY= make update_ref_search` diff --git a/_plotly_utils/basevalidators.py b/_plotly_utils/basevalidators.py index d79c5adff5a..d1a4f02ad92 100644 --- a/_plotly_utils/basevalidators.py +++ b/_plotly_utils/basevalidators.py @@ -667,33 +667,6 @@ def validate_coerce(self, v): return v -class SrcValidator(BaseValidator): - def __init__(self, plotly_name, parent_name, **kwargs): - super(SrcValidator, self).__init__( - plotly_name=plotly_name, parent_name=parent_name, **kwargs - ) - - self.chart_studio = get_module("chart_studio") - - def description(self): - return """\ - The '{plotly_name}' property must be specified as a string or - as a plotly.grid_objs.Column object""".format(plotly_name=self.plotly_name) - - def validate_coerce(self, v): - if is_none_or_typed_array_spec(v): - pass - elif isinstance(v, str): - pass - elif self.chart_studio and isinstance(v, self.chart_studio.grid_objs.Column): - # Convert to id string - v = v.id - else: - self.raise_invalid_val(v) - - return v - - class NumberValidator(BaseValidator): """ "number": { diff --git a/codegen/utils.py b/codegen/utils.py index 3d660328e51..e62c5533795 100644 --- a/codegen/utils.py +++ b/codegen/utils.py @@ -411,8 +411,6 @@ def name_base_validator(self) -> str: """ if self.path_str in CUSTOM_VALIDATOR_DATATYPES: validator_base = CUSTOM_VALIDATOR_DATATYPES[self.path_str] - elif self.plotly_name.endswith("src") and self.datatype == "string": - validator_base = "_plotly_utils.basevalidators.SrcValidator" elif self.plotly_name.endswith("dash") and self.datatype == "string": validator_base = "_plotly_utils.basevalidators.DashValidator" elif self.plotly_name == "title" and self.datatype == "compound":